U3BpZWxlcmdhbGVyaWUgKExvY28sICA3LiBTZXAgMTk5MywgMTg6Mjk6NTUpOgpJY2ggaGFiZSBpbiBtZWluZW0gVmVyemVpY2huaXMgZWluZSBMaXN0ZSBsaWVnZW4gbWl0IEZvdG9zIHZvbiBTcGllbGVybiBhdXMKTmlnaHRmYWxsIHVuZCBNb3JnZW5ncmF1ZW4gKGtvZW5uZW4gbmF0dWVybGljaCBudXIgTWFnaWVyIGxlc2VuLCBhbmRlcmUKZnJhZ2VuIG5vdGZhbGxzIG1hbCBuYWNoKS4gRGllIG1laXN0ZW4gQmlsZGVyIHNpbmQgYXVmIGRlbiBQYXJ0aWVzIGluIApEYXJtc3RhZHQgdW5kIFR1ZWJpbmdlbiBhdWZnZW5vbW1lbi4gCkJlc3RlbGx1bmdlbiBiaXR0ZSBwZXIgZS0gb2RlciBtdWRtYWlsLCBkaWUgQmlsZGVyIHdlcmRlbiBkYW5uIHBlciAKSHVuZGVwb3N0IHp1Z2VzY2hpY2t0LgpVbmQgZ2xlaWNoIGRpZSBBbnJlZ3VuZyBkYXp1OiBJY2ggYmluIGphIHdvaGwgbmljaHQgZGVyIGVpbnppZ2UsIGRlciBzb2xjaGUKQmlsZGVyIGhhdC4gV2llIHdhZXJlIGVzLCB3ZW5uIGF1Y2ggYW5kZXJlIGlocmUgZnVlciBOYWNoYmVzdGVsbHVuZ2VuIApmcmVpZ2ViZW4gd3VlcmRlbiAoZC5oLiBpcmdlbmR3byBuZSBMaXN0ZSBoaW5sZWdlbik/IEljaCBkZW5rZSBlaW5lIApTcGllbGVyZ2FsZXJpZSB3YWVyZSBnYW56IG5ldHQuLi4KLSBMb2NvIEBOaWdodGZhbGwgJiBNb3JnZW5ncmF1ZW4KICAgICAgIGp1ZXJnZW5zQHN0dWRlbnQudW5pLXR1ZWJpbmdlbi5kZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGVyYmlsZGVyIChTaXIsIDE2LiBTZXAgMTk5MywgMTQ6NDY6MTkpOgpIYWxsbywKCmljaCBoYWJlIG51biBmdWVyIGFsbGUgZGllIGVzIHNlaGVuIHdvbGxlbiwgdW5kIGRhcyB3ZXJkZW4gdmllbGUgc2VpbiwKbmFqYSwgb2ssIGJpcyBhdWYgQm9pbmcsIEpvZiwgUnVtYXRhLCBIYXRlLCBSb2NodXMsLi4uCmVnYWwsIGplZGVuZmFsbHMgaGFiZSBpY2ggZWluIGh1ZWJzY2hlcyBHSUYtQmlsZCB2b24gbWlyIHVudGVyIC9vcGVuCmFiZ2VsZWd0KG51ciBuaWNodCBuZWlkaXNjaCB3ZXJkZW4pLgoKSWNoIGZhZW5kZSBlcyBlaWdlbnRsaWNoIGdhbnogZ3V0LCB3ZW5uIGFuZGVyZSBtZWluZW0gQmVpc3BpZWwgZm9sZ2VuCnd1ZXJkZW4gdW5kIGlocmVyc2VpdHMgZG9ydCBpaHIgS29udGVyZmVpIGFscyBEYXRlaSBhYmxlZ2VuLgpXb2xsdGV0IGlociBuaWNodCBzY2hvbiBpbW1lciBtYWwgd2lzc2VuLCB3aWUgc28gZWluIEdvdHQgYXVzc2llaHQgPwoKV2FzIG5vcm1hbGUgU3BpZWxlciBiZXRyaWZmdCA6IEljaCB3dWVyZGUgbWljaCBiZXJlaXQgZXJrbGFlcmVuIEV1cmUKQmlsZGVyIGRvcnRoaW4genUga29waWVyZW4sIHdlbm4gaWhyIHNpZSBtaXIgcGVyIEUtTWFpbCBzY2hpY2t0LgoKTWZHCglTaXIKKERhcyBGb3RvIGlzdCBlaW4gcGFhciBKYWhyZSBhbHQsIGFiZXIgd2FzIHNvbGwncyA6KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBc3JhaGVsIGJpcyAxLjEwIGVudG1hZ2llcnQuIChSdW1hdGEsIDIzLiBTZXAgMTk5MywgMTM6NDk6NTYpOgpMZWlkZXIgLi4uCgpkYSBBc3JhaGVsIHp1bSB3aWVkZXJob2x0ZW4gTWFsZSBIaWxmc29iamVrdGUgZnVlciAoTGllYmxpbmdzKVNwaWVsZXIKZ2VzY2hyaWViZW4gaGF0LCB1bmQgZXIgdm9uIG1pciBhdWNoIHNjaG9uIGRpZXNiZXp1ZWdsaWNoIHZlcndhcm50CndvcmRlbiB3YXIsIGhhYmUgaWNoIGlobiAodW5kIHNlaW5lbSBad2VpdHBsYXllciBQYXVsZSkgYXVmIFNwaWVsZXJsZXZlbAoxIHp1cnVlY2tnZXNldHp0LgoKRGllc2UgTWFzc25haG1lIGlzdCBiaXMgenVtIDEuMTAuMTk5MyBndWVsdGlnLgoKVm9yc2NobGFlZ2UsIHdpZSBpbiB6dWt1ZW5mdGlnZW4gRmFlbGxlbiBtaXQgc29sY2hlbiBWb3JmYWVsbGVuCnVtenVnZWhlbiBpc3QsIG5laG1lIGljaCBnZXJuZSBlbnRnZWdlbi4gKGJpdHRlIGluIGRlciBSdWJyaWsKZXRpa2V0dGUpCgpSdW1hdGEsIGRlciBzaWNoIGxlaWRlciBtYWwgd2llZGVyIHp1bSBPYmVyYnVsbGVuIGF1ZnNwaWVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN0cmFmZW4gOikgKEJldHR5Ymx1ZSwgMjYuIFNlcCAxOTkzLCAxOTozMTo1Myk6CkljaCBoYWV0dGUgdmllbGUgaWRkZW4gZnVlciBzdHJhZmVuIGtvZW5udGVuIGRlbSB6dWJlc3RyYWZlbmRlbiBkZW4gei5CLgpXYXJ6ZW4gYXVmIGRpZSBuYXNlIHphdWJlcm4uLi4gb2RlciBpaG4gZnVlciBpbW1lciB1bmQgZXdpZyBpbiBlaW5lbiBmcm9zY2ggdmVyd2FuZGVsbi4uLi4uIG9kZXIga2FzdHJpZXJlbiA6KQppaHIgaGFidCBkb2NoIGF1Y2ggc29uc3QgbGF1dGVyIHNvIGd1dGUgZWluZmFlbGxlIDopCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBpbmcgKE5lcnZvdXMsICAxLiBPa3QgMTk5MywgMTI6NTk6MzIpOgpEYXMgUGluZyAoZGVyIHZvbiBkZXIgVGl0aXd1cXVlc3QpIHNlaW5lIGhlaXNzZXJzZWhudGUgTXVzY2hlbCBzb2ZvcnQgd2llZGVyIAp2ZXJsaWVydCwgd2VubiBtYW4gc2llIGlobSBnZWJyYWNodCBoYXQsIGlzdCBqYXdvaGwgdG90Z2VtZWluLiBEYSBtdXNzIGRlcgprbGVpbmUgS2VybCBld2lnIHdhcnRlbiBiaXMgaWNoIGVuZGxpY2ggZGllc2UgZG9vZmUgTXVzY2hlbCBnZWZ1bmRlbiBoYWIKdW5kIGRhbm4gaXN0IHNpZSBzb2ZvcnQgd2llZGVyIHdlZy4gSGFldHRlIG1hbiBzaWNoIGRhIG5pY2h0IHdhcyBodW1hbmVyZXMgCmF1c2RlbmtlbiBrb2VubmVuIHVtIGRpZSBNdXNjaGVsIHdpZWRlciBhdXMgZGVtIFZlcmtlaHIgenUgemllaGVuLCBQaW5nCmtvZW5udGUgZG9jaCBuZSBTYW1tbHVuZyBhdWZtYWNoZW4/CkltIFZlcnRyYXVlbiBhdWYgZGVuIEdlcmVjaHRpZ2tlaXRzc2lubiBkZXIgTWFnaWVyCiAgICAgICBOZXJ2b3VzIDopCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic2NoaWVkIChSdW1hdGEsIDExLiBPa3QgMTk5MywgMTI6MTg6MTgpOgpIYWxsbyBMZXV0ZSwKCkRJRSBaRUlUIElTVCBSRUlGLi4uCgouLi5zYWd0ZSBFcm5zdCAoZGVyIGRlcyBMZWJlbnMpIG5ldWxpY2ggenUgbWlyLiBEYXMgYmVkZXV0ZXQsIGRhc3MgaWNoCmxlaWRlciBuaWNodCBtZWhyIGltIE1vcmdlbkdyYXVlbiBtaXRtaXNjaGVuIGthbm4sIHVuZCBtZWluZW4gUG9zdGVuIGFscwpNdWRHb3R0IGFibGVnZS4gSWNoIHd1ZW5zY2hlIEV1Y2ggd2VpdGVyaGluIHZpZWwgU3Bhc3MgaGllci4KVmllbGxlaWNodCB3ZXJkZSBpY2ggdm9uIFplaXQgenUgWmVpdCBub2NoIG1hbCB2b3JiZWlzY2hhdWVuLCBtYWwgc2NoYXVuLgoKVHNjaHVlc3MKCkRvbiBSdW1hdGEgKGRlciBHb3R0IGRlciBSZW50bmVyKQoKUC5TLjogPHNjaG5pZWY+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZSA6IEFic2NoaWVkIChEdXJpYW4sIDExLiBPa3QgMTk5MywgMTI6NDk6MDYpOgpTTyBMRUlDSFQgR0VIVCBEQVMgTklDSFQhISEgOi0pCgpMZXV0ZSwgaG9lcnQgenU6IApiZWkgZGVtLCB3YXMgUnVtYXRhIGZ1ZXIgZGllc2VzIE11ZCBnZXRhbiBoYXQsIHN0ZWhlbgp3aXIgaW4gZGVyIFBmbGljaHQsIGVpbmUgb3JkZW50bGljaGUgQWJzY2hpZWRzcGFydHkgenUgb3JnYW5pc2llcmVuLiBJY2ggCmVya2xhZXJlIG1pY2ggYmVyZWl0LCBlaW4gYmlzc2NoZW4gZGllIE9yZ2FuaXNhdGlvbiB6dSAKdWViZXJuZWhtZW4uIEhpbGZlIGJyYXVjaGUgaWNoIGFiZXIgaW4gamVkZW0gRmFsbC4gSW50ZXJlc3NlbnRlbiBrb2VubmVuCnNpY2ggamEgYmVpIG1pciBtZWxkZW4hIEJpdHRlISAKClJ1bWF0YSwgZWluZW4gQWJzY2hpZWQgc28gbGVpc2UgZ2lidCBlcyBuaWNodCEhIDstKQoKLSBEdXJpYW4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgS29tbWFuZG86IGlnbm9yaWVyZSAoQm9pbmcsIDExLiBPa3QgMTk5MywgMjA6Mjg6MzcpOgpIaSEKRXMgZ2lidCBlaW4gbmV1ZXMgS29tbWFuZG8genVtIElnbm9yaWVyZW4gdm9uIG5lcnZpZ2VuIE1pdHNwaWVsZXJuOgogIGlnbm9yaWVyKGUpIDxzcGllbGVyPgpTaWVoZSBhdWNoIGRpZSBlbnRzcHJlY2hlbmRlIEhpbGZzc2VpdGUuCkRlciBCZWZlaGwgd2lyZCBlcnN0IG5hY2ggZGVtIG5hZWNoc3RlbiByZWJvb3QgcmljaHRpZyBha3RpdiB3ZXJkZW4sCnZvcmhlciB1ZWJlcm5laG0gaWNoIGtlaW5lIEdhcmFudGllIGZ1ZXIgc2VpbmUga29ycmVrdGUgRnVua3Rpb24uCiAgIEJvaW5nCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJzY2hpZWQgKEJhbnphaSwgMTQuIE9rdCAxOTkzLCAxMzo1MzoxNCk6CkZlc3RlIGZlaWVybiwgYWJlciByaWNodGlnISAqaGlja3MqCgpXaWUgd2FlcnMgd2VubiB3aXIgenUgUnVtYXRhcyBBYnNjaGllZHNwYXJ0eSBlaW5mYWNoIGRpZSBNdWVuc3RlcmFuZXIgTXVkcGFydHkgKGRpZSwgZGllIHZpZWxsZWljaHQgc28gZ3JhZCBlYmVuIGluIGRlciBQbGFudW5nIGlzdD8gOy0pIGFscwpBYnNjaGllZHNwYXJ0eSBlaW5wbGFuZW4/IFNvICduZSBIb3JkZSB3aWxkIGZlaWVybmVyIE11ZGRlciBrYW5uIGVpbmVtCmRhbm4gYmVzdGltbXQgZ2FueiBndXQgZGVuIFJlc3QgZ2ViZW4uLiA7LSkKCkp1c3QgbXkgMC4wMiBMaXJhLAogICAgICAgICAgICAgIEJhbnphaQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbmRlIHZvbiBUYXBwTXVkIChSb2NodXMsIDIwLiBPa3QgMTk5MywgMDk6MjE6MjkpOgpEYXMgd2FyIGhldXRlIGluIGRlLmFsdC5tdWQgenUgbGVzZW4uIEljaCBlcnNwYXJlIG1pciBtYWwgamVkZW4gS29tbWVudGFyOgpGcm9tIGprbGVpbkBpbW1kNC5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZSAoSnVlcmdlbiBLbGVpbm9lZGVyKQpQYXRoOnVuaS1tdWVuc3Rlci5kZSFuZXdzLmRmbi5kZSF6aWItYmVybGluLmRlIW1hdGguZnUtYmVybGluLmRlIWlyejQwMSFmYXVlcm4hcnJ6ZS51bmktZXJsYW5nZW4uZGUhaW1tZDQuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGUhamtsZWluCk5ld3Nncm91cHM6IGRlLmFsdC5tdWQsYWx0Lm11ZC5scCxhbHQubXVkLmdlcm1hbgpTdWJqZWN0OiBTaHV0ZG93biBvZiBUQVBQbXVkIGF0IFVuaSBFcmxhbmdlbgpEYXRlOiBUdWUsIDE5IE9jdCAxOTkzIDE5OjEwOjU3IEdNVApPcmdhbml6YXRpb246IENTRC4sIFVuaXZlcnNpdHkgb2YgRXJsYW5nZW4KTWVzc2FnZS1JRDogPDJhMWU0MUU1akB1bmktZXJsYW5nZW4uZGU+Ck5OVFAtUG9zdGluZy1Ib3N0OiBmYXVpNDV5LmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlCkxpbmVzOiAyNApYcmVmOiB1bmktbXVlbnN0ZXIuZGUgZGUuYWx0Lm11ZDo2NCBhbHQubXVkLmxwOjE0MCBhbHQubXVkLmdlcm1hbjoxMTMKClNodXRkb3duIG9mIFRBUFBtdWQgYXQgVW5pIEVybGFuZ2VuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXZSBoYXZlIG5vdGljZWQgYW4gaW5jcmVhc2luZyBudW1iZXIgb2YgdXNlcnMsIHdobyBvYnZpb3VzbHkgYXJlIG5vdAphYmxlIHRvIGxpbWl0IHRoZSB1c2FnZSBvZiBNVUQgdG8gYSB0b2xlcmFibGUgYW1vdW50IG9mIHRpbWUuIFVzZXJzCnBsYXlpbmcgNiAtIDggaG91cnMgZGFpbHkgYXJlIG5vdCB0aGUgZXhjZXB0aW9uIC0gZXZlbiAicmVjb3JkcyIgd2l0aAptb3JlIHRoYW4gMTIgaG91cnMgd2VyZSBub3RpY2VkLgoKQXMgYSBuZWdhdGl2ZSBpbmZsdWVuY2Ugb24gdGhlIHN0dWRpZXMgc2VlbXMgdG8gYmUgaW5ldml0YWJsZSBpbiB0aGVzZQpjYXNlcywgd2UgY2Fubm90IHRha2UgdGhlIHJlc3BvbnNpYmlsaXR5IGZvciBhIHVzYWdlIG9mIHdvcmtzdGF0aW9ucwphbmQgbmV0d29ya3Mgb2YgdGhlIHVuaXZlcnNpdHkgYW55IGxvbmdlci4KClVwIHRvIG5vdyB3ZSBoYXZlIHRvbGVyYXRlZCB0aGUgTVVELVNlcnZlciBidXQgdW5kZXIgdGhlc2UKY2lyY3Vtc3RhbmNlcyB0aGlzIGlzIG5vdCBwb3NzaWJsZSBhbnkgbG9uZ2VyLgoKU28gdGhpcyBNVUQtU2VydmVyIGlzIG91dCBvZiBzZXJ2aWNlIGZyb20gbm93IG9uLgpUbyBwcmV2ZW50IG91ciBzdHVkZW50cyBmcm9tIGZ1cnRoZXIgYWRkaWN0aXZlIGJlaGF2aW91ciwgd2UgaGF2ZSBjaG9zZW4KdG8gcmVtb3ZlIGFsbCB0aGUgZmlsZXMgb2YgdGhpcyBzZXJ2ZXIgYW5kIHdlIGFyZSBub3QgYWJsZSB0byBwcm92aWRlCnlvdSB3aXRoIGNvcGllcyBvZiBmaWxlcyBmcm9tIHRoaXMgTVVELXNlcnZlci4KCjE5LjEwLjkzICAgIERyLiBKdWVyZ2VuIEtsZWlub2VkZXIKICAgIDxrbGVpbm9lZGVyQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgoKTm8gZHJ1Z3MhIE5vIE1VRC1qdW5raWVzISAgU3RheSBjbGVhbiEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVEFQUE11ZCBhZGUgLSBXaXIgdHJhdWVybi4gKFdvZWxrY2hlbiwgMjAuIE9rdCAxOTkzLCAwOTo0MzoxNCk6CkhhbGxvIHp1c2FtbWVuLAoKd2lyIG5laG1lbiBBYnNjaGllZC4uLgouLi5nYXIgbmljaHQgZXJzdCB6dSBzY2h3YWZlbG4gYW5mYW5nZW4sIHNvbmRlcm4ga3VyeiB1bmQga25hcHA6CkluIGVpbmVyIGdlcGxhbnRlbiBOYWNodC0gdW5kIE5lYmVsYWt0aW9uIHd1cmRlIGhldXRlIGFiZW5kIHVuc2VyCmFsbHNlaXRzZ2VsaWVidGVzIFRBUFBNdWQgdm9uIGRlciBGZXN0cGxhdHRlIGRlciBJbmZvcm1hdGlrIEVybGFuZ2VuCnZlcmJhbm50LCBhdWYgTmltbWVyd2llZGVyc2VoZW4gdmVyc3RlaHQgc2ljaC4gRGVubiB3ZW5uIHVuc2VyZQoiQ2hlZnMiIHdhcyBtYWNoZW4sIGRhbm4gbWFjaGVuIHNpZSBlcyByaWNodGlnLgoKClN0ZWxsdCBzaWNoIGRpZSBGcmFnZTogR2lidCBlcyBlaW4gTGViZW4gbmFjaCBkZW0gTXVkPwoKRWluZSBTaWNoZXJoZWl0c2tvcGllIGV4aXN0aWVydCAobm9jaCksIFRhaGFyLCBmcmFnIG1pY2gsIGljaApzYWcgRGlyIHdvLgoKV2VubiBJaHIgbmFjaCBHcnVlbmRlbiBmcmFndCwgdmVyc3VjaHQgZWluZmFjaCBldWNoIHp1IGNvbm5lY3Rlbi4KCkRpZSBUZWxlZm9ubnVtbWVyIGRlciBUQVBQTXVkIFRlbGVmb25zZWVsc29yZ2UgaXN0IDA5MTMxLzIwMjc0MwoKSWNoIGhvZmZlLCBtYW4gc2llaHQgc2ljaCBpcmdlbmR3aWUgaXJnZW5kd28gdW5kIGlyZ2VuZHdhbm4gbm9jaG1hbC4uLgouLi5HZXJ1ZWNodGUgYmVoYXVwdGVuLCBlcyBnYWViZSBlaW4gUmVhbCBMaWZlIQoKTm9jaCBlaW4gTmFjaHRyYWcgZnVlciBkaWUgRXJsYW5nZXIuIERpZSB+NDAgYmVrYW5udGVzdGVuIE11ZC1Ib3N0cwpzaW5kIGFiIHNvZm9ydCBuaWNodCBtZWhyIHZvbiBFcmxhbmdlbiBhdXMgZXJyZWljaGJhci4gRGllIEJlbnV0emVycmljaHQtCmxpbmllbiB3ZXJkZW4gdW0gZGVuIEVpbnRyYWcgIk1VRC1TcGllbGVuIGlzdCB2ZXJib3RlbiIgZXJnYWVuenQuCgpTYWd0IEJlc2NoZWlkLCBzY2hyZWlidCBNYWlscyBhbiBMZXV0ZSwgZGllIElociBrZW5udCwgaWNoIGhhYmUKbGVpZGVyIG5jaWh0IHZvbiBqZWRlbSBkaWUgTWFpbC1BZHJlc3NlLiBTYWd0IElobmVuLCBlcyBoYW5kZWx0IHNpY2gKTklDSFQgdW0gZWluZW4gU2NoZXJ6LCB3ZW5uZ2xlaWNoIGRhcwoiTm8gZHJ1Z3MhIE5vIE1VRC1qdW5raWVzISBTdGF5IGNsZWFuIQphbSBFbmRlIGRlciBOYWNocmljaHQgc2ljaCBzY2hvbiB6aWVtbGljaCBiZWxhZW1tZXJ0IGFuaG9lcnQuCkFiZXIgd2VyIGtvZW5udGUgZXMgd2FnZW4gZWluZW4gRE9LVE9SIEtsZWlub2VkZXIgYW56dXp3ZWlmZWxuLgoKTWFjaHRzIGd1dCwKLUVmY2hlbgotLSAKICAgL35cICAgfCAgTWFydGluIEZyaWVkcmljaCAgICAgICAgICAgICAgICAgICBJUkMvTVVEOiBFZmNoZW4gCiAgQyBvbyAgIHwgIFBvc3RmYWNoIDE2MDIgICAgICAgICAgIFRBUFBNdWQ6IFNpciBFZmNoZW4sIEtuaWdodCBvZiBFbHZlbmRhcgogIF8oIF4pICB8ICA5MTAwNiBFcmxhbmdlbgogICB+XCAgICB8ICBHRVJNQU5ZICAgICAgICAgICAgICAgICAgICBlbWFpbDogZWZjaGVuQG1pc2VzLnVuaS1wYWRlcmJvcm4uZGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICBZZXMgbWVhbnMgbm8gYW5kIE5vIG1lYW5zIHllcy4gRGVsZXRlIGFsbCBmaWxlcz8gW1ldCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFwcE1VRCBBZGUgKFllbmRpLCAyMC4gT2t0IDE5OTMsIDE1OjE5OjAwKToKV2llIHdhZXJzIG1pdCBlaW5lbSBEYXVlck1VRGRlbiBpbiBHZWRlbmtlbiBhbiBUYXBwTVVEPwpXZXIgbGFlbmdlciBhbHMgMTJoIGR1cmNoaGFlbHQgaXN0IFNpZWdlciB1bmQgRWhyZW4tVGFwcE1VRGRlciwgb2RlciBzby4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWdpZXIgZ2VzdWNodCAoU2lyLCAyMC4gT2t0IDE5OTMsIDIxOjQ5OjQzKToKSGFsbG8gbGllYmUgKE5vY2gtKVNwaWVsZXIsCgppY2ggaG9mZmUsIGRhc3Mgd2VuaWdzdGVucyBlaW5pZ2VuIHZvbiBFdWNoIG1laW5lIFJlZ2lvbiBVbnRlcndlbHQKZ2VmYWVsbHQsIGRlcmVuIHdlaXRlcmVuIEF1c2JhdSBpY2gsIHdpZSBpY2ggenUgbWVpbmVyIFNjaGFuZGUgZ2VzdGVoZW4gbXVzcywKaW4gbGV0enRlciBaZWl0IHN0cmFlZmxpY2ggdmVybmFjaGxhZXNzaWd0IGhhYmUuCkpldHp0IHdpbGwgaWNoIG1pY2ggYXVmcmFmZmVuIHVuZCBlbmRsaWNoIHZpZWxlIHNjaG9lbmUgbmV1ZSBHZWJpZXRlCmhpbnp1ZnVlZ2VuLCBnZWRhY2h0IGhhYmUgaWNoIHouQi4gYW4gZWluZSBBbmZhZW5nZXItWm9uZSwgZGVuIEF1c2JhdQp2b24gTW9yaWEgaW0gU2lubmUgdm9uIFRvbGtpZW4sIHp1ZGVtIGZlaGx0IG5hdHVlcmxpY2ggaW1tZXIgbm9jaCBlaW5lCnJpY2h0aWdlIEhvZWxsZSAuLi4KRGVyIFNpbm4gZGllc2VzIEFydGlrZWxzIHNvbGwgc2VpbiwgbmV1ZSBNYWdpZXIgZnVlciBkaWUgUmVnaW9uIGFuenV3ZXJiZW4KKEZyZWl3aWxsaWdlIHZvciEpLCBkYW1pdCBpY2ggZGVuIEF1c2JhdSBzY2huZWxsZXIgdW5kIGJlc3NlciB2b3JhbnRyZWliZW4Ka2Fubi4KQWxzbywgd2VubiBpaHIgYWxsZXMgZ2Vsb2VzdCBoYWJ0IHdhcyBlcyB6dSBsb2VzZW4gZ2lidCB1bmQgYWxsZSBNb25zdGVyCmdldG9ldGV0IGhhYnQsIGRpZSBkYSBydW1sYXVmZW4gYXVmIHdlaXRlciBGbHVyLCB1bmQgYXVzc2VyZGVtIEJlZ2Vpc3RlcnVuZwpmdWVycyBQcm9ncmFtbWllcmVuIHVuZCB2b3IgYWxsZW0gdmllbGUgZ3V0ZSBJZGVlbiBtaXRicmluZ3QsIGRhbm4gZGVua3QKYmVpbSBNYWdpZXJ3ZXJkZW4gYW4gKCJUbyBib2xkbHkgZ28gd2hlcmUgbm8gbWFuIGhhcyBnb25lIGJlZm9yZSIpIG1pY2guCgpNZkcKCVNpciwgZGVyIGJpc2hlciB6dSBGYXVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXJ1bSBUQVBQbXVkIGdlc2NobG9zc2VuIHd1cmRlIDotKCAoQmVybmFyZCwgMjIuIE9rdCAxOTkzLCAyMDoxODoxNCk6CkljaCBtb2VjaHRlIGVpbmUgU2FjaGUgbWFsIGRldXRsaWNoIHNhZ2VuOgoKS2xlaW5vZWRlciBoYXQgZGFzIFRBUFBtdWQgbmljaHQgYXVzIEp1eCB1bmQgVG9sbGVyZWkgZ2VzY2hsb3NzZW4uCldlciBpaG4ga2VubnQsIHdlaXNzLCBkYXNzIGVyIGVpbiBhdXNzZXJvcmRlbnRsaWNoIG5ldHRlciBNZW5zY2ggaXN0LCBkZXIKc28gZXR3YXMgbm9ybWFsZXJ3ZWlzZSBuaWNodCBnZW1hY2h0IGhhZXR0ZS4gT2huZSBzZWluZSBIaWxmZSBoYWV0dGUgVEFQUG11ZAp2ZXJtdXRsaWNoIG5pY2h0IGVpbm1hbCBlbnRzdGVoZW4gb2RlciBzaWNoIHNvIGxhbmdlIGhhbHRlbiBrb2VubmVuLgpFciBoYXQgd2lya2xpY2ggZGllIE1vdGl2ZSwgZGllIGVyIGdlbmFubnQgaGF0LCBhdXMgYW5kZXJlbiBHcnVlbmRlbiBoYWV0dGUKZXIgZXMgSU1ITyBuaWNodCBnZXNjaGxvc3Nlbi4KCkVyIGhhZXR0ZSBUQVBQbXVkIGFiZXIgYXVjaCBhdWYgYW5kZXJlIFdlaXNlIHNjaGxpZXNzZW4ga29lbm5lbiwgc28gZGFzcwphbGxlIFdpemFyZHMgaWhyZSBGaWxlcyBiZWhhbHRlbiBrb2VubmVuLCB1bmQgbnVyIGRlbiBadWdhbmcgenUgYW5kZXJlbgpNVURzIHNjaGxpZXNzZW4ga29lbm5lbi4gU28gd2FlcmUgZGVyIEF1ZndhbmQgZnVlcnMgUHJvZ3JhbW1pZXJlbiBuaWNodAp1bXNvbnN0IGdld2VzZW47IG1hbiBoYWV0dGUgZGVuIENvZGUgYW4gYW5kZXJlIE1VRHMgdWViZXJnZWJlbiBrb2VubmVuLApzbyB3aWUgaWNoIG1laW5lIFJlZ2lvbiBXYWxkIGhpZXIgYW4gRnJldW5kIHVlYmVyZ2ViZW4gaGFiZS4KCkljaCBiaW4gendhciBnZWdlbiBkaWUgU2NobGllc3N1bmcgVEFQUG11ZHMgdW5kIGRpZSBTcGVycnVuZyBkZXIgYW5kZXJlbgpNVURzIGZ1ZXIgRXJsYW5nZXIgU3R1ZGVudGVuLCBhYmVyIGljaCB3b2xsdGUgS2xlaW5vZWRlcnMgU3RhbmRwdW5rdCBoaWVyCmF1Y2ggbWFsIGRhcmxlZ2VuLgpFciB3aXJkIHp1IG9mdCBhbHMgZWluIFJpZXNlbmJvZXNld2ljaHQgZGFyZ2VzdGVsbHQsIGRlciBlciBuaWNodCBpc3QuCgpJY2ggd2VyZGUgaGllciB2ZXJtdXRsaWNoIG5pY2h0IG1laHIgYXVma3JldXplbjsgd2VubiB6dXZpZWxlIExldXRlClVtZ2VodW5nZW4genUgTVVEcyBuZWhtZW4sIGJlc3RlaHQgZGllIEdlZmFociwgZGFzcyBTdHVkZW50ZW4gZGVuIE5ldHp6dWdhbmcKZ2FueiB2ZXJsaWVyZW4gOi0oCgpDaWFvLAogICAgICBCZXJuYXJkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN2b2x2YWVyISAoTG9jbywgMjUuIE9rdCAxOTkzLCAyMjoxMzoyMSk6CkljaCBoYWJlIGhldXRlIGVpbmUgbmV1ZSBJbnNlbCBtaXQgZWluZXIga2xlaW5lbiBTdGFkdCBlaW5pZ2VybWFzc2VuCmZlcnRpZ2dlc3RlbGx0IHVuZCBob2ZmZSwgZGVuIHJlZ2VsbWFlc3NpZ2VuIFNjaGlmZnNiZXRyaWViIGJhbGQgYXVmbmVobWVuCnp1IGtvZW5uZW4uIE1hbiBrb21tdCBtaXQgZGVtIFBvc3RzY2hpZmYgZGVyIEh1cnRpZ3J1dGVuIGRvcnRoaW4uCgpJbnRlcmVzc2FudCBzaW5kIGVyc3QgZWlubWFsIDIgYmVzb25kZXJlIExhZWRlbjoKCkVyc3RlbnM6IEVpbiBQb3N0a2FydGVua2lvc2suIERpZXNlciB2ZXJrYXVmdCAoenVyIFplaXQgenVtIEVpbmhlaXRzcHJlaXMKdm9uIDkgTXVlbnplbikgQW5zaWNodHNrYXJ0ZW4sIGRpZSBtYW4gYXVjaCBhbmRlcmVuIFNwaWVsZXJuIHp1c2VuZGVuIGthbm4uCkRhZnVlciBzdWNoZSBpY2ggdWVicmlnZW5zIG5vY2ggQmlsZGVyLCAobWF4LiA4MHgyMiwgcmVpbmVzIEFTQ0lJIG5hdHVlcmxpY2gpLApiaXR0ZSBhbiBtaWNoIG1haWxlbiAobXVkIG9kZXIganVlcmdlbnNAc3R1ZGVudC51bmktdHVlYmluZ2VuLmRlKS4KV2VyIG1pciBCaWxkZXIgenVyIHZlcmZ1ZWd1bmcgc3RlbGx0LCB3aXJkIG1pdCAyIE11ZW56ZW4gcHJvIEthcnRlIGFtClZlcmthdWZzZXJsb2VzIGRlciBQb3N0a2FydGVuIG1pdCBzZWluZW4vaWhyZW4gQmlsZGVybiBiZXRlaWxpZ3QhCgpad2VpdGVuczogRGVyIFNlaGVybGFkZW4uIERpZXNlciBMYWRlbiBpc3QgbnVyIGZ1ZXIgU2VoZXIgenVnYWVuZ2xpY2gKdW5kIGJpZXRldCBpaG5lbiBlaW4gKG5vY2ggcmVsYXRpdiBrbGVpbmVzKSBTb3J0aW1lbnQgYW4gbWVociBvZGVyIHdlbmlnZXIKYnJhdWNoYmFyZW4gS2xlaW5pZ2tlaXRlbi4gSGllcmZ1ZXIgc3VjaGUgaWNoIGF1Y2ggbm9jaCBJZGVlbiB1bmQgdm9yIGFsbGVtCk1hZ2llciwgZGllIGdlZWlnbmV0ZSBPYmpla3RlIHNjaHJlaWJlbi4KClNvd2VpdC4uLgogICAgICAgICAgICBMb2NvIGRlciBNYWdpZXIgbWl0IGRlbSBSZWlzZWZ1ZWhyZXIgbmViZW4gZGVtIFRlcm1pbmFsLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYXBwTXVkIHdpemFyZHM6IExlc2VuISAoQm9pbmcsIDI3LiBPa3QgMTk5MywgMDA6MzE6MDMpOgpIYWxsbyEKQmlzIHp1bSAyLiBOb3ZlbWJlciBiZXN0ZWh0IGRpZSBNb2VnbGljaGtlaXQgc2VpbmUgVGFwcE11ZCBEYXRlaWVuCnBlciBtdHAgYWJ6dWhvbGVuLCBpbSBlbnRzcHJlY2hlbmRlbiBob21lLVZlcnplaWNobmlzIHNvbGx0ZSBlaW5lCkRhdGVpIGZpbGVuYW1lcyBtaXQgYWxsZW4gRGF0ZWluYW1lbiBlbnRoYWx0ZW4gc2Vpbi4KVHNjaHVlc3MsCiAgIEJvaW5nCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOdXIgbmUgZHVtbWUgRnJhZ2UuLi4gKFJvY2h1cywgMjcuIE9rdCAxOTkzLCAxNTozNTo1Nyk6ClNlaGVyIHNpbmQgU3BpZWxlciwgZGllIE1hZ2llciB3ZXJkZW4ga29lbm50ZW4sCmFiZXIgbGllYmVyIHdlaXRlcnNwaWVsZW4gd29sbGVuLi4uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlci1MaXN0ZSAoUXVhc2ltb2RvLCAyOC4gT2t0IDE5OTMsIDE2OjAzOjU1KToKTWFuY2htYWwgc2luZCBzbyB2aWVsZSBMZXV0ZSBpbSBNdWQsIGRhc3MgZGllIFdlci1MaXN0ZSBuaWNodAphdWYgZWluZW4gQmlsZHNjaGlybSBwYXNzdC4gRGFzIGZpbmRlIGljaCByZWNodCBhZXJnZXJsaWNoLiBOaWNodCB3ZWlsIHNvCnZpZWxlIExldXRlIGRhIHNpbmQsIHNvbmRlcm4gd2VpbCBtYW4gbmljaHQgYWxsZSBhdWZnZWxpc3RldCBoYXQuCgpLYW5uICh1bmQgd2lyZCkgbWFuIGRhcyBhZW5kZXJuPwpRdWFzaW1vZG8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEMgenUgdmVya2F1ZmVuIChZZW5kaSwgMjkuIE9rdCAxOTkzLCAxMjo0MzowOCk6CkljaCBiaWV0ZSBlaW5lbgoKCTM4Ni0zMyBQQyBtaXQKCTQgTUIgSGF1cHRzcGVpY2hlciwgZWluZXIKCRtbRBtbRDEwNSBNQiBGZXN0cGxhdHRlIHZvbiBXZXN0ZXJuIERpZ2l0YWwsIGVpbmVyCgkxIE1CIFRzZW5nLVZHQS1LYXJ0ZSwKCTIgTGF1ZndlcmtlbiB1bmQsIGV2ZW50dWVsbCwKCTEgc3RyYWhsdW5nc2FybWVuIChuYWNoIHNjaHdlZGlzY2hlciBOb3JtKSBGYXJiYmlsZHNjaGlybQoKenVtIFZlcmthdWYgYW4uCgpJbnRlcmVzc2llcnRlIGtvZW5uZW4gYW4gIlllbmRpIiBpbSBNVUQgc2NocmVpYmVuLApvZGVyIGFuICJzZXZlcmluQHVuaS1tdWVuc3Rlci5kZSIgdWViZXIgZS1tYWlsLApvZGVyIGFuIENocmlzdGlhbiBTZXZlcmluLAoJIE1lbGNoZXJzc3RyLiA4MCwKCSA0ODE0OSBNdWVuc3RlcgkJdWViZXIgcC1tYWlsLApvZGVyIGFuIDAyNTEvMjcyOTMyIHVlYmVyIHZvaWNlLW1haWwuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOiBQQyB6dSB2ZXJrYXVmZW4gKEpvc2UsIDI5LiBPa3QgMTk5MywgMTM6NDA6MjApOgo1MCBtYXJrPyBpY2gga2FubiBhdWNoIGF1ZiA2MCBob2NoZ2VoZW4uLi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWJzY2hpZWQsIGRpZSBsZXR6dGUgOi0pIChSdW1hdGEsIDI5LiBPa3QgMTk5MywgMTQ6MjM6MTYpOgpUU0NIVUVTUywgTGV1dGUsCgppY2ggd2VyZGUgbWljaCBqZXR6dCB2b2VsbGlnIGF1cyBkZW0gTVVEIHp1cnVlY2t6aWVoZW4uCkljaCB3dWVuc2NoZSBhbGxlbiBub2NoIHZpZWwgU3Bhc3MsIHVuZCBkYW5rZSBhbGxlbiwgZGllIGJlaW0KQXVmYmF1IGRlcyBNVURzIGdlaG9sZmVuIGhhYmVuLiBNYWNodCBzY2hvZW4gd2VpdGVyIHNvLiA6LSkKVmllbGVpY2h0IHNlaGVuIHdpciB1bnMgZWlubWFsIGluIGVpbmVyIGFuZGVyZW4gV2VsdC4uLgoKV2lua2UsIHdpbmtlLAoKUnVtYXRhCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQQyB2ZXJrYXVmZW4gKEZsZWFuY2UsICAzLiBOb3YgMTk5MywgMTA6NTY6NDgpOgpOdXIgNCBNQiBSQU0/IERhIGlzIFdpbmRvd3MgZG9jaCB2aWVsIHp1IGxhaG0sIGV5LiBJY2ggaGFiIDEyOCBNQiBSQU0sIGRhdCBpcwplcnMgbWEgZ2VpbCwgTWFubiwgZGEga2FubiBpY2ggZGllIGdhbnplIFBsYXR0ZSBnbGVpY2h6ZWl0aWcgZWlubGFkZW4uCgpQLlMuOiBXZW5uIG1pY2ggbmljaHQgYWxsZXMgdGFldXNjaHQgaXN0IEhhdXNudW1tZXIgODAgZmFzdCBhdWYgSG9laGUgZGVzClNjaGxvc3N0aGVhdGVycywgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiBIZWxkIHVuZCB0b2V0bGljaGUgQW1hem9uZSAtIHVlYmVyIGRpZSBIaWVyYXJjaGllIChHZW9yZ2VzYW5kLCAxMS4gTm92IDE5OTMsIDEzOjExOjExKToKV2VubiBpY2ggZWluZXMgaW4gZGllc2VtIFNwaWVsIGJlZ3JpZmZlbiBoYWJlLCBkYW5uIGRpZXM6IFdpciBtdWVzc2VuIHVucwphbGxlIGVpbmUgSGllcmFyY2hpZSBob2NoYXJiZWl0ZW4sIHdlbm4gd2lyIHN0YWVya2VyZW4gRWluZmx1c3MgZGFyYXVmIGhhYmVuCndvbGxlbiwgd2FzIGRhIGVpZ2VudGxpY2ggZ2VzcGllbHQgd2lyZC4gRGFzIGlzdCB3aWUgaW0gcmljaHRpZ2VuIExlYmVuIHNvLgpEYXMgaXN0IG5pY2h0cyBiZXNvbmRlcmVzIHVuZCBmYW50YXNpZXZvbGxlcy4gU2Nob24gZWhlciBmYW50YXNpZXZvbGwgaXN0IGVzLApkYXNzIGF1Y2ggIkFzb3ppYWxlIiAoTGFuZHN0cmVpY2hlcmlubmVuKSBiaXMgenVtIE1hbmFnZW1lbnQgKE1hZ2llcmlubmVuKSAKYXVmc3RlaWdlbiBrb2VubmVuLiBEZXIgU2Nob2VwZmVyIG9kZXIgZGllIFNjaG9lcGZlcmluIGRlciAiQmVydWZzYmV6ZWljaG51bmdlbgpoYWJlbiBzaWNoIHNvZ2FyIGV0d2FzIGhpbnNpY2h0bGljaCBnZXNjaGxlY2h0c3NwZXppZmlzY2hlciBCZXplaWNobnVuZ2VuIGdlZGFjaHQuCkRhcyBpc3QgYmVncnVlc3NlbnN3ZXJ0OyB3aXJkIGVzIGRvY2ggd2VpYmxpY2hlIFRlaWxuZWhtZXJpbm5lbiBlaGVyCm1vdGl2aWVyZW4sIGhpZXIgbWl0enVzcGllbGVuLgoKTmljaHQgaW1tZXIgZ2lidCBlcyB6dSBlaW5lciBtYWVubmxpY2hlbiBCZXJ1ZnNiZXplaWNobnVuZyBhdWNoIGVpbmUgd2VpYmxpY2hlCkRhcyBoYXQgei5ULiBoaXN0b3Jpc2NoZSBHcnVlbmRlOiBTZWl0IGRlciBaZWl0IGRlciBadWVuZnRlIHd1cmRlbiBGcmF1ZW4KaW1tZXIgbWVociBhdXMgZGVtIEhhbmR3ZXJrIGF1c2dlZ3Jlbnp0LCBzbyBkYXNzIGVzIGtlaW5lICJMZWhybGluZ2lubmVuIiBnYWIuCkFkZXB0aW4gaXN0IGVpbmUgZ3V0ZSBBbHRlcm5hdGl2ZSwgZmluZGUgaWNoLgpBdWNoIHp1IGRlciAiQW1hem9uZSIga2FubiBpY2ggbmljaHRzIG5lZ2F0aXZlcyBzYWdlbi4gQWxzIEdlZ2VucGFydCB6dW0KUml0dGVyLCBkZW0gIkJlcml0dGVuZW4iLCBpc3QgZGFzIGVpbmUgZ3V0ZSBJZGVlLgpSaXR0ZXIgd2VyZGVuIHp1IEhlbGRlbjsgQW1hem9uZW4gd2VyZGVuIHp1IHRvZWRsaWNoZW4gQW1hem9uZW4uCldhcnVtPyBadWZhbGw/IFdlciBoYXQgc2ljaCBkYWJlaSB3YXMgZ2VkYWNodD8KR2VzdGVybiBzYWd0ZSBtaXIgamVtYW5kLCAiSGVsZGluIiBrbGFlbmdlICJrb21pc2NoIiAoaW4gZGVtIFNpbm5lIHdvaGwsIGRhc3MKZXMgZGFzIG5pY2h0IGdpYnQpCkdpYnQgZXMgYWJlciwgZ2FiIGVzIGF1Y2ggc2Nob24gaW0gTWl0dGVsYWx0ZXIgKHMuIE1pdHRlbGhvY2hkLiBXb2VydGVyYnVjaCkKQWxzbzogV2FydW0gbmljaHQgSGVsZGluPyBvZGVyOiBXYXJ1bSBuaWNodDogdG9lZGxpY2hlciBSaXR0ZXIuIERlbm4gZGFzIGlzdApkZXIgR2VnZW5wYXJ0IHp1ciB0b2VkbGljaGVuIEFtYXpvbmUuIEljaCBwbGFlZGllcmUgZnVlciBkaWUgcG9zaXRpdgprb25ub3RpZXJ0ZSBGb3JtIGRlciBIZWxkaW4uIERlbm4gZWNodGUgSGVsZGlubmVuIGdpYnQgZXMgc2Nob24gc2VpdCBKYWhyaHVuZGVydGVuLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3R1ZmVuYmV6ZWljaG51bmdlbiAoWWVuZGksIDExLiBOb3YgMTk5MywgMTM6MjM6MDMpOgpXbyB3aXIgc2Nob24gbWFsIGRhYmVpIHNpbmQsIGtvZW5udGUgYXVjaCBnbGVpY2ggZGVyIGRvb2ZlICJaYXViZXJsZWhybGluZyIKaW4gZWluZW4gIkFkZXB0IiB1bWdld2FuZGVsdCB3ZXJkZW4sIGRhcyBrbGluZ3QgZXJuc3RoYWZ0ZXIhIDstKQoKQ2V0ZXJ1bSBjZW5zZW8sIGRhc3MgZGVyIExpY2h0c3BydWNoIChaYXViZXJzdGFiKSBiaWxsaWdlciB3ZXJkZW4gc29sbHRlIQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFmaWtrYXJ0ZSBnZXN1Y2h0IChTaXIsIDEzLiBOb3YgMTk5MywgMTg6MjE6MjIpOgpIYWxsbywgbGllYmUgTWl0LUxpbnV4ZXIsCgppY2ggbW9lY2h0ZSBtaXIgZW5kbGljaCBlaW5lIG5ldWUgR3JhZmlra2FydGUgZ29lbm5lbjsgdW5kIGpldHp0IHN1Y2hlIGljaApqZW1hbmRlbiwgZGVyIG1pciBlaW5lIGd1dGUgZW1wZmVobGVuIGthbm4uCldlbm4gZXIgYXVjaCBub2NoIGVpbiBYY29uZmlnIGZpbGUgbWl0bGllZmVydChpY2ggaGFiZSB1ZWJyaWdlbnMgZWluIDE3Ii0KVHJpbml0cm9uIHZvbiBTb255KSwgd2FlcmUgaWNoIGF1Y2ggYmVyZWl0IGlobSBlaWdlbmVuIEpvZiB6dSBjbG9uZSA7KQoKWnVyIERpc2t1c3Npb24gc3RlaGVuIGJpc2xhbmcoVkwgb2RlciBFSVNBKSA6Ci0gQVRJIEdyYXBoaWNzIFVsdHJhIFBybwotIEVsc2EgV2lubmVyCgpHZXJ1ZWNodGV3ZWlzZSBoYWJlIGljaCBhdWNoIGdlaG9lcnQsIGRhcyBlcyBmdWVyIGRpZSBEaW5nZXIgYXVjaCBzcGV6aWVsbGUKWC1TZXJ2ZXIgZ2lidCwgd2Vpc3MgdmllbGxlY2lodCBqZW1hbmQgd2FzIGdlbmF1ZXJlcyA/CgpJY2ggZnJldWUgbWljaCAgYXVmIEV1cmUgTWFpbHMgLi4uLgpNZkcKCVNpcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JhZmlra2FydGUgZ2VzdWNodCAoWWVuZGksIDE1LiBOb3YgMTk5MywgMTA6NTQ6MzcpOgpDYydzIGJpdHRlIGFuIFllbmRpIQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTpZZW5kaSAtIFN0dWZlbmJlemVpY2hudW5nZW4gKEdlb3JnZXNhbmQsIDE1LiBOb3YgMTk5MywgMTI6NDI6MTEpOgpZZW5kaSBoYXQgcmVjaHQ6IEFkZXB0L2luICBiZWRldXRldCBuYWVtbGljaCBlaGVyIFphdWJlcmdlaGlsZmUgL2luIGFscwpMZWhybGluZy4gIFdlaWJsLiBIYW5kd2Vya2VyaW5uZW4gd3VyZGVuIHZvciBhbGxlbSB6Llp0LiBkZXIgWnVlbmZ0ZSBhdXMKZGVuIEdJTERFTiAoISkgZ2VkcmFlbmd0LiBEZXNoYWxiIGJlemllaHQgc2ljaCBkYXMgV29ydCBMZWhybGluZyB0cmFkaXRpb25lbGwKIG51ciBhdWYgTWFlbm5lci4gSWNoIGhhZXR0ZSB2aWVsbGVpY2h0IFphdWJlcnNjaHVlbGVyL2luIGdld2FlaGx0LiBBZGVwdC9pbgppc3QgZGFubiBzY2hvbiBlaW5lIEV0YWdlIHdlaXRlci4gLSBnYW56IHdpZSBlcyBiZWxpZWJ0LgpHcnVzcywgR2Vvcmdlc2FuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpldHRlbCBhYm5laG1lbiEhISAoRmxlYW5jZSwgMTUuIE5vdiAxOTkzLCAxOTowNzozNSk6CkhhbGxvIE1hZWRlbHMhCn5+fn5+fn5+fn5+fn4KRGEgZGl2ZXJzZSBSdWJyaWtlbiB1ZWJlcnZvbGwgc2luZCB1bnMgc2ljaCBrZWluZSBOYWNocmljaHRlbiBtZWhyIAphbmJyaW5nZW4gbGFzc2VuLCBtb2VnZSBqZWRlciBtYWwgenVzZWhlbiwgZGFzcyBlciB2ZXJhbHRldGUgWmV0dGVsLApkaWUgdWViZXJoYXVwdCBrZWluZW4gbWVociBpbnRlcmVzc2llcmVuLCB2b20gQnJldHQgYWJuaW1tdC4KCldlbm4gbmljaHQsIGdpYnQncyBhdWYncyBNYXVsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3R1ZmVuYmV6ZWljaG51bmdlbiAoSm9uYXMsIDE1LiBOb3YgMTk5MywgMTk6MTI6MTMpOgpUYWNoIE11ZGRlcklubmVuIDwtLSA6LSkgISEKCkJldm9yIGhpZXIgZWluIFN0cmVpdCBlbnRicmVubnQsIHdhcnVtIHVuZCB3aWVzbyBkb2NoIG5pY2ggaXJnZW5kd2VsY2hlCkZlbWFsZS1MZXZlbC1UaXRlbCBwYXNzZW4gb2RlciBhdWNoIGRvY2gsIG1hY2ggaWNoIGRvY2ggZWluZmFjaCBtYWwKZWluZW4gVm9yc2NobGFnICEKKHVlYmVyaGF1cHQgc2NoZWludCBpcmdlbmR3ZXIgc28gc2VlbGlzY2ggbmljaCBtaXQgc2VpbmVtIFN0dWRpdW0ga2xhcnp1LQprb21tZW4gOikpIDwtLSBTY2hlcnouLi4KQWxzbywgdm9yc2NobGFnOgp3ZWlibGljaCB0aXRlbCB2b2VsbGlnIHVuYWJoYWVuZ2lnIHZvbiBkZW4gbWFlbm5saWNoZW4uCgpXaWUgei5iLiB2b24gIkR1bXBmYmFja2UiIChibHV0aWdlciBBbmZhZW5nZXIpIHVlYmVyICJXYW5kZXJwb2thbCIgKExhbmRzdHJlaWNoZXIpIG9kZXIKIkZsb2V0aXN0aW4iIChlcmZhaHJlbmVyIEFiZW50ZXVyZXIpIGJpcyBoaW4genUgIk8uIiAobWFnaWVyKSAhPyA6KSkKbmUgcXVhdHNjaC4uLiBkYXMgd2FyIG5pY2ggZXJuc3QuLi4KCm5lLCBqZXR6IG9obmUgcXVhdHNjaCwgV09aVSB1ZWJlcmhhdXB0IFRpdGVsc3lub255bWUgIT8KCkpvbmFzIGRlciBsaWViZSA6KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoZXJ6IChBcnRpa2VsIDMwKSAoRmxlYW5jZSwgMTUuIE5vdiAxOTkzLCAxOToxNjowNSk6CkRpZSBBdXNzYWdlLCBkaWUgbWl0IDwtLSBTY2hlcnogZ2VrZW5uemVpY2huZXQgaXN0LCBmaW5kZSBpY2ggaW4gZGVyClRhdCBzZWhyIGx1c3RpZyB1bmQgdm9yIGFsbGVtIHp1dHJlZmZlbmQuCgpGbGVhbmNlLCBkZXIgbHVzdGlnZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJoaWxmZSBtYWdpZXIiIChZZW5kaSwgMTguIE5vdiAxOTkzLCAxMDowODoyMSk6CkVyc3QgZWlubWFsIGVpbiBoZXJ6bGljaGVzICJEYW5rZXNjaG9lbiEiIGFuIGRlbiBuZXR0ZW4gTWVuc2NoZW4sIGRlciBkaWUKTWFnaWVyLUhpbGZlc2VpdGUgZ2VzY2hyaWViZW4gaGF0LgoKQWJlciBlaW5lIGRyYWVuZ2VuZGUgRnJhZ2UgaGFiZSBpY2ggZG9jaCBub2NoOgpNdXNzIG1hbiB3aXJrbGljaCBBTExFIFF1ZXN0cyBnZWxvZXN0IGhhYmVuPwpBVUNIIERJRSBWT04gUk9DSFVTPz8/CgooQml0dGViaXR0ZSBzYWd0LCBkYXNzIGVzIG5pY2h0IHdhaHIgaXN0LCBiaXR0ZWJpdHRlLi4uKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogIEFudHdvcnQgYW4gSm9uYXMgKEdlb3JnZXNhbmQsIDE4LiBOb3YgMTk5MywgMTE6MTc6MTUpOgogV296dSBnbGVpY2hlIEJlemVpY2hudW5nZW4/PyBBbHMgQXVzZHJ1Y2sgZGVyIEdsZWljaGJlcmVjaHRpZ3VuZyBhbGxlciBpbgpkaWVzZW0gU3BpZWwuICBVbmQgd2VpbCBpY2ggYWxzIE1pdHNwaWVsZXJpbiBkYXMgd2ljaHRpZyBmaW5kZS4gQXVmIGd1dApEZXV0c2NoOiBJbiBlaW5lbSBTcGllbCwgd28gZGllIEZyYXVlbiBtaWVzZXIgZGFzdGVoZW4gdW5kIHNjaGxlY2h0ZXIgYmVoYW5kZWx0CndlcmRlbiBhbHMgTWFlbm5lciBzcGllbGUgaWNoIG5pY2h0IG1pdC4gIChpY2ggc2VoZSBzY2hvbiBkaWUgUmVha3Rpb24gZGVzLQpqZW5pZ2VuLCBkZXIgbWlyIGFscyAiRnJhdWVuZmVpbmQiIGZhc2NoaXN0b2lkZSBQYXJvbGVuIHNhZ3RlLCBkZXIgd2Vpc3MgamV0enQKd2llIGVyIG1pY2ggcmF1c2VrZWxuIGthbm4uKSAgIAogTWl0IGZyYXVlbmZyZXVuZGxpY2hlbiBHcnVlc3NlbiEgIEdlb3JnZXNhbmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHbGVpY2hiZXJlY2h0aWd1bmcuLi4gKEpvbmFzLCAxOC4gTm92IDE5OTMsIDEyOjA0OjU1KToKV2VubiBpY2ggU3BpZWxlcnRpdGVsIHd1ZW5zY2hlIGJlaSBkZW5lbiBkaWUgd2VpYmxpY2hlbiBUaXRlbCBuaWNodCBibG9zcwpTeW5vbnltZSBmdWVyIGRpZSBtYWVubmxpY2hlbiB3ZWxjaGVuIHNpbmQsIHdhcnVtIGlzc24gZGFzIGRhbm4gRnJhdWVuZmVpbmRsaWNoID8KVW5kIHVlYmVyaGF1cHQsIHdhcyBoYWJlbiBkaWVzZSBUaXRlbCwgYWJnZXNlaGVuIHZvbiBNYWdpZXIgb2RlciBTZWhlciwKbWl0IGlyZ2VuZHdlbGNoZW4gU3BpZWxlcmVpZ2Vuc2NoYWZ0ZW4genUgdHVuLCBzbyBkYXNzIG1hbm4gYmVoYXVwdGVuIAprb2VubnRlIE1hZW5ubGVpbiBvZGVyIFdlaWJsZWluIHN0ZWh0IGJlc3NlciBiencuIG1pZXNlciBkYSA/ClVlYnJpZ2VucyBoYWIgU09HQVIgaWNoIG5peCBnZWdlbiBHbGVpY2hiZXJlY2h0aWd1bmcsIGljaCBtYWcgbnVyIE1lbnNjaGVuIG5pY2h0LApkaWUgR2xlaWNoYmVSRUNIVGlndW5nIG1pdCBHbGVpY2hNQUNIRU4gdmVyd2VjaHNlbG4uLi4KRVJHTzogQXVzIHVuZ2xlaWNoZW4gVGl0ZWxuIGZvbGdlbiBuaWNodCB1bmdsZWljaGUgUmVjaHRlIG8uYWUuCgpKb25hcyA6KQoKUFMuOiBhbiBHZW9yZ2VzYW5kOiBEdSBnZWhvZXJzdCBuYXR1ZXJsaWNoIE5JQ0hUIHp1IG8uZy4gTWVuc2NoZW4gISBCaXR0ZSBuaWNoIG1pc3N2ZXJzdGVoZW4gIQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogTm9jaG1hbCB6dSBkZW4gVGl0ZWxuIChHZW9yZ2VzYW5kLCAxOC4gTm92IDE5OTMsIDEzOjI3OjE1KToKIEVzIGlzdCBuaWNodCBmcmF1ZW5mZWluZGxpY2gsIHdlbm4gZGllIFRpdGVsIGtlaW5lIFN5bm9ueW1lIHNpbmQuIERhcyBoYWJlCmljaCBhdWNoIGdhciBuaWNodCBiZWhhdXB0ZXQuIEFiZXI6IEltIEZhbGwgZGVyIHRvZWRsaWNoZW4gQW1hem9uZSB2cy4gSGVsZAppc3QgZGVyIGVyc3RlIFRpdGVsIHdlc2VudGxpY2ggbmVnYXRpdmVyIGtvbm5vdGllcnQuIFVuZCBkYXJ1bSBnaW5nIGVzIG1pcgp1cnNwcnVlbmdsaWNoIGF1Y2ggbGVkaWdsaWNoLiAgWnVyICJHbGVpY2hiZXJlY2h0aWd1bmciIHZzIFJlY2h0ZW4gaW0gU3BpZWw6CiBBdWNoIHdlbm4gZGllIFJlY2h0ZSwgZGllIG1pdCB2ZXJzY2hpZWRlbmVuIE5hbWVuIGZ1ZXIgTWFubi9GcmF1IHZlcmJ1bmRlbgpzaW5kLCBnbGVpY2ggc2luZDsgZGFubiBnaWJ0IGVzIGltbWVyIG5vY2ggZGFzIFJlY2h0IGF1ZiBlaW5lIGFuZ2VtZXNzZW5lCmViZW5idWVydGlnZSBCZXplaWNobnVuZy4gIEF1ZmdydW5kIGRlciBFaW5zdGVsbHVuZyBkaXZlcnNlciBTcGllbGVyIGhhYmUKaWNoIGRpZSBCZWZ1ZXJjaHR1bmcsIGRhc3MgZGllIEJlemVpY2hudW5nZW4gZnVlciBkaWUgU3BpZWxlcmlubmVuIGlucwogQmVsZWlkaWdlbmRlIGJpcyBPYnN6b2VuZSBhYnJ1dHNjaGVuIGtvZW5udGVuLCB3ZW5uIGRhIG51ciBkZXIgInJpY2h0aWdlIE1hbm4iCiBkaWUgTmFtZW4genUgdmVyZ2ViZW4gaGF0LiAoSWNoIHdlaXNzIG5pY2h0LCB3ZXIgZGFmdWVyIHp1c3RhZW5kaWcgaXN0LikKR2xlaWNobWFjaGVyZWkgLSBkZXIgQXVzZHJ1Y2sgaXN0IG1pciB6dSBwb2xlbWlzY2ggYWxzIGRhc3MgaWNoIGRhcmF1ZiBlaW5nZWhlbiB3b2xsdGUuCiAgTWl0IGFsbGdlbWVpbmVuIGZyZXVuZGxpY2hlbiBHcnVlc3NlbiwgR3MuCgoKKgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmV0dGVsIGFibmVobWVuIChZZW5kaSwgMTguIE5vdiAxOTkzLCAxNzoxOTo1OSk6CkhvcHBsYSwgZGEgbXVzc3RlIGFiZXIgZWluZXIgZ2FueiBkb2xsZSBhdWZmZSBQYXVrZSBoYXVuLCB3YXQsIGV5PwoKIkF1ZidzIE1hdWwiIC0tIG5laW4sIHdpZSBvcmlnaW5lbGwuLi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3R1ZmVuYmV6ZWljaG51bmdlbiAoWWVuZGksIDE4LiBOb3YgMTk5MywgMTc6MjI6MTIpOgpIdWVic2NoLCBkaWUgbmV1ZSBTdHVmZW5saXN0ZSEKQWJlciBpY2ggYmluIG5hY2ggd2llIHZvciBkZXIgQW5zaWNodCwgZGFzcyAiQWRlcHRpbiIgdmllbCBiZXNzZXIga2xpbmd0IGFscwoiWmF1YmVybGVocmxpbmciIChkYSBrb21tdCBtYW4gc2ljaCBzbyBrbGVpbiB1bmQgZG9vZiB2b3IuLi47KSAgICApLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdHVmZW5iZXplaWNobnVuZ2VuIChCbG9lZGZpbmdlciwgMTkuIE5vdiAxOTkzLCAwNzo1NjoyMSk6CnNjaG9lbiwgZGFzcyBkaWUgQmV6ZWljaG51bmdlbiBqZXR6dCBnZWFlbmRlcnQgc2luZC4KQWJlciBiaXR0ZSwgZnVlcidzIG5hZWNoc3RlIE1hbDoKQklUVEUgWkVSTEFCRVJUIE1JUiBOSUNIVCBNRUlOIFNDSE9FTkVTIFNQSUVMISEhIQoKQmxvZWRmaW5nZXIKKHNwdWVydCBTYW5kIGltIEdldHJpZWJlKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYSBzaW5kIGVpbiBwYWFyIHR5cG9zIGluIGRlciBNYWdpZXItSGlsZmVzZWl0ZSEgKFllbmRpLCAxOS4gTm92IDE5OTMsIDExOjQ2OjI2KToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBIaWxmZS1TZWl0ZSB3aXJkIGltbWVyIGJlc3NlciEgOikgKFllbmRpLCAyMi4gTm92IDE5OTMsIDEzOjQ4OjEzKToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsaW5nb25lbi1Gb250cyBnZXN1Y2h0ISEhIChZZW5kaSwgMjMuIE5vdiAxOTkzLCAxNzoxODozOCk6CkFscyBHZWJ1cnRzdGFnc2dlc2NoZW5rIHN1Y2hlIGljaCBlaW5lbiBLbGluZ29uZW5zY2hyaWZ0c2F0eiBmdWVyIGRlbiBQQy4KWnVtaW5kZXN0IGZ1ZXIgZGVuIE1hY0ludG9zaCBleGlzdGllcnQgc28gZXR3YXMgc2Nob24uCkZhbGxzIGlyZ2VuamVtYW5kIG1pciBzYWdlbiBrYW5uLCB3byBpY2ggZGFzIERpbmcgaGVya3JpZWdlbiBrYW5uLCBkYW5uIHNvbGwKZXIvc2llIG1pciBkYXMgZG9jaCBiaXR0ZSBtaXR0ZWlsZW4sIGVzIGVpbHQgZXR3YXMuCgkJCQlEQU5LRSEKCQkJCSAgIFllbmRpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsaW5nb25lbi1Gb250cyBnZXN1Y2h0ISEhIChZZW5kaSwgMjMuIE5vdiAxOTkzLCAxNzoxODozOCk6CkFscyBHZWJ1cnRzdGFnc2dlc2NoZW5rIHN1Y2hlIGljaCBlaW5lbiBLbGluZ29uZW5zY2hyaWZ0c2F0eiBmdWVyIGRlbiBQQy4KWnVtaW5kZXN0IGZ1ZXIgZGVuIE1hY0ludG9zaCBleGlzdGllcnQgc28gZXR3YXMgc2Nob24uCkZhbGxzIGlyZ2VuamVtYW5kIG1pciBzYWdlbiBrYW5uLCB3byBpY2ggZGFzIERpbmcgaGVya3JpZWdlbiBrYW5uLCBkYW5uIHNvbGwKZXIvc2llIG1pciBkYXMgZG9jaCBiaXR0ZSBtaXR0ZWlsZW4sIGVzIGVpbHQgZXR3YXMuCgkJCQlEQU5LRSEKCQkJCSAgIFllbmRpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjaG51cGZlbiAoRnJhZ2dsZSwgMjQuIE5vdiAxOTkzLCAxOTo0MDo0Nyk6CldlbGNoZXIgTWFnaWVyIGlzdCBkZW5uIGRhZnVlciB2ZXJhbnR3b3J0bGljaD8gREFTIE5FUlZUISB3aWUgd2FlcmUgZXMgbWl0IGVpbiBwYWFyIGtvc3Rlbmxvc2VuIFRlbXBvcy9OYXNpdmluIGV0Yy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIG1laHIgWmF1YmVyIChFbHJpYywgMzAuIE5vdiAxOTkzLCAxMjo1ODozMik6CkljaCBmaW5kZSwgZXMgZ2lidCBub2NoIGV0d2FzIHp1IHdlbmlnIFphdWJlcnNwcnVlY2hlLiBXaWUgd2FlcnMgei5CLiBtaXQKTGljaHQsIEhlaWx1bmcobmF0dWVybGljaCBuaWNodCAxOjEsIHZpZWxsZWljaHQgMmQ1IExQIGZ1ZXIgMTAgTVApLCB2aWVsbGVpY2h0ClRlbGVwb3J0IHp1IGJlc3RpbW10ZW4gT3J0ZW4sIFNjaHV0eih3aWUgenVzYWV0emxpY2hlIFJ1ZXN0dW5nKSwKVW5zaWNodGJhcmtlaXQuLi4uLgpBbnNvbnN0ZW4gZGVuIE1hY2hlcm4gZGVzIE1HIGVpbiBkaWNrZXMgTG9iLgpFbHJpYywgZGVyIE1hZ2llc3VlY2h0aWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoIG1laHIgWmF1YmVyIChFbHJpYywgMzAuIE5vdiAxOTkzLCAxMzowMTozNyk6CldhcyBoYWx0ZXQgaWhyIHZvbiBEYWVtb25lbmJlc2Nod29lcnVuZz8KRWxyaWMsIGRlciBNZWxuaWJvbmVlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1laHIgWmF1YmVyICh1bmQgbm9jaCBtZWhyIFphdWJlcikgKEJvaW5nLCAzMC4gTm92IDE5OTMsIDE4OjM0OjQ5KToKTWVociBaYXViZXJlaSBpc3QgaW4gUGxhbnVuZywgd2lyIGJyYXVjaGVuIGFsbGVyZGluZ3Mgbm9jaCBlaW5lbgpBcmJlaXRzc2tsYXZlbiwgZnVlciBkaWUgUHJvZ3JhbW1pZXJ1bmcgOikKSWNoIGJpdHRlIHVtIGV0d2FzIEdlZHVsZCAuLi4KVHNjaHVlc3MsCiAgIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgQXJlbmEgaGF0IGVyb2VmZm5ldCEgKER1cmlhbiwgIDIuIERleiAxOTkzLCAxMDoxNTowNik6CkhhbGxvIEthZW1wZmVyL2lubmVuLAogIAogIElociB3YXJ0ZXQgYmVzdGltbXQgYmVzdGltbXQgc2Nob24gc2VociBsYW5nZSBkcmF1ZiwgZG9jaCBudW4gaXN0IGVzCmVuZGxpY2ggc293ZWl0LiBEaWUgQXJlbmEgaGF0IGlocmUgUGZvcnRlbiBnZW9lZmZuZXQuIFZvbiBudW4gYW4Ka29lbm50IGlociA6CgotIEthZW1wZmUgZ2VnZW4gZGllIGdyb3NzZW4gR2xhZGlhdG9yZW4gYXVzdHJhZ2VuIHVtIHNjaGxpZXNzbGljaCBkZW4KICBUaXRlbCBkZXMgT2JlcmdsYWRpYXRvcnMvZGVyIE9iZXJnbGFkaWF0b3JpbiB6dSBlcmxhbmdlbiwKCi0gRHVlbGxlLCBmcmV1bmRzY2hhZnRsaWNoIG9kZXIgYmlzIHp1bSBiaXR0ZXJlbiBFbmRlLCBnZWdlbiBhbmRlcmUKICBTcGllbGVyIGF1c3RyYWdlbiwgdW5kCgotIGpld2VpbHMgZGVuIEthZW1wZmVuIGF1ZiBkZXIgVHJpYnVlbmUgYmVpd29obmVuLgoKS0FFTVBGRSBHRUdFTiBHTEFESUFUT1JFTgo9PT09PT09PT09PT09PT09PT09PT09PT09CiAgRWlnZW50bGljaCBnaWJ0IGVzIGRhenUgd29obCBuaWNodCB2aWVsIHp1IHNhZ2VuLiBJaHIgZ2VodCBoYWx0IGhpbiB1bmQKcHJ1ZWdlbHQgRXVjaCBtaXQgZGVuIHZlcnNjaGllZGVuc3RlbiBHZXN0YWx0ZW4uIEVyc3QgbWl0IG5pY2h0IGdhbnoKc28gc3RhcmtlbiwgdW5kIGFtIEVuZGUgbWl0IGRlbSBTdGFlcmtzdGVuIGRlciBHbGFkaWF0b3Jlbi4gQmVzaWVndApJaHIgaWhuLCBzbyBiZWtvbW10IElociBkZW4gVGl0ZWwgZGVzIE9iZXJnbGFkaWF0b3JzL2RlcgpPYmVyZ2xhZGlhdG9yaW4gdmVybGllaGVuLiAKICBEb2NoIGRhcyBpc3QgbmF0dWVybGljaCBhdWNoIHNlaHIgZ2VmYWVocmxpY2guIFNvIHdpcmQgZWluIGplZGVyCkthbXBmIGF1ZiBMZWJlbiB1bmQgVG9kIGF1c2dldHJhZ2VuLCBlbnR3ZWRlciBJaHIgb2RlciBkZXIgR2xhZGlhdG9yLgpIYWJ0IElociBlaW5lbiBiZXNpZWd0IGtvZW5udCBJaHIgZGllIEFyZW5hIHZlcmxhc3NlbiwgYmV2b3IgSWhyIGVzCm1pdCBkZW0gbmFlY2hzdGVuIGF1Zm5laG10LiBIYXQgZGVyIEthbXBmIGVyc3RtYWwgYmVnb25uZW4sIGlzdCBhbGxlcwp6dSBzcGFldCEKICBBbmdlbWVsZGV0IHdlcmRlbiBtdWVzc2VuIGRpZSBLYWVtcGZlIGluIGRlciBBbm1lbGR1bmcuIFNpZSBiZWZpbmRldApzaWNoIHZvciBkZXIgQXJlbmEsIGF1ZiBkZW0gVm9ycGxhdHouCgpEVUVMTEUgR0VHRU4gQU5ERVJFIFNQSUVMRVIKPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVm9uIHZpZWxlbiBlcmhvZmZ0LCB2b24gdmllbGVuIHZlcnBvZWhudCB1bmQgbnVuIGRvY2ggbW9lZ2xpY2guCkVuZGxpY2ggKHNvIHdlcmRlbiB2aWVsZSBkZW5rZW4pIGlzdCBlcyBlcmxhdWJ0LCBzaWNoIHVuZ2VzdHJhZnQgbWl0CmFuZGVyZW4gU3BpZWxlcm4gcHJ1ZWdlbG4uIERpZXMgaXN0IHVuZCBCTEVJQlQgendhciBnZW5lcmVsbCBWRVJCT1RFTiwKamVkb2NoIGlzdCBkaWUgQXJlbmEgamV0enQgZWluZSBBdXNuYWhtZS4KICBNYW4ga2FubiBlaW4gRHVlbGwgZ2VnZW4gZWluZW4gYW5kZXJlbiBTcGllbGVyIGdlbmF1c28gd2llIGVpbmVuCkthbXBmIGdlZ2VuIGRpZSBHbGFkaWF0b3JlbiBhbm1lbGRlbi4gRGFyYXVmaGluIGZpbmRlbiBzaWNoIGJlaWRlCktvbnRyYWhlbnRlbiBpbiBkZXIgQXJlbmEgZWluLCB1bmQgZXJzdCBEQU5OIGthbm4gZGVyIEthbXBmIGJlZ2lubmVuLgpEdWVsbGUgYXVzc2VyaGFsYiBkZXIgQXJlbmEgc2luZCBpbGxlZ2FsIQogIE1hbiBoYXQgendlaSBNb2VnbGljaGtlaXRlbiwgZGFzIER1ZWxsIGF1c3p1dHJhZ2VuLiBOb3JtYWxlcndlaXNlIGdlaHQKZGVyIEthbXBmIGF1ZiBMZWJlbiB1bmQgVG9kISBBYmVyLCB3ZW5uIG1hbiBkYXMgbmljaHQgbW9lY2h0ZSwga2FubgplaW5lciBkZXIgS29udHJhaGVudGVuIG1pdCA8b2VmZm5lIHRvcmU+IGRpZSBGbHVjaHR0b3JlIG9lZmZuZW4KbGFzc2VuLCBzb2Rhc3MgZWluZSBGbHVjaHQgd2FlaHJlbmQgZGVzIEthbXBmZXMgbW9lZ2xpY2ggd2lyZC4KICBKZW1hbmRlbiByZWlucmVpc3NlbiBpc3QgbmF0dWVybGljaCBuaWNodCBtb2VnbGljaC4gQmVpc3BpZWwgOiBCb2luZwptb2VjaHRlIEpvZiBnZXJuZSBtYWwgJ3NlaW5lIE1laW51bmcgc2FnZW4nLiBFciBnZWh0IGFsc28gaW4gZGllCkFubWVsZHVuZyB1bmQgbWVsZGV0IGRhcyBEdWVsbCBnZWdlbiBKb2YgYW4uIERhbmFjaCBsYWV1ZnQgZXIgdm9sbGVyClZvcmZyZXVkZSBpbiBkaWUgQXJlbmEuIEpvZiB3aWxsIGFiZXIgZ2FyIG5pY2h0IGthZW1wZmVuIChlciBpZGxldApuYWVtbGljaCB1bmQgaGF0IGRpZSBnYW56ZSBTYWNoZSB1ZWJlcmhhdXB0IG5pY2h0IG1pdGJla29tbWVuKSwgdW5kIHNvCnBhc3NpZXJ0IGF1Y2ggbmljaHRzLiBFcnN0IHdlbm4gZGVyIHp3ZWl0ZSBTcGllbGVyIGluIGRpZSBBcmVuYSBnZWh0LAprYW5uIGVzIHVlYmVyaGF1cHQgenVtIER1ZWxsIGtvbW1lbi4gTUFHSUVSIDogZXMgaXN0IGluIGplZGVyIEZvcm0KdW50ZXJzYWd0LCBqZW1hbmRlbiBnZWdlbiBzZWluZW4gV2lsbGVuIGluIGRpZSBBcmVuYSB6dSB0ZWxlcG9ydGllcmVuLgpJY2ggbW9lY2h0ZSBldWNoIGJpdHRlbiwgZGFzIGF1cyBHcnVlbmRlbiBkZXIgRmFpcm5lc3MgenUgYmVmb2xnZW4uCiAgTWFnaWVyIGtvZW5uZW4gd2VkZXIgRHVlbGxlIGFubWVsZGVuLCBub2NoIHp1bSBEdWVsbCBoZXJhdXNnZWZvcmRlcnQKd2VyZGVuLiBJcmdlbmR3aWUgaGF0IGRhcyBhdWNoIG5pY2h0IHZpZWwgU2lubi4KClpVU0NIQVVFTiBBVUYgREVSIFRSSUJVRU5FCj09PT09PT09PT09PT09PT09PT09PT09PT09CiAgTWFuIGthbm4gYWxsZW4gS2FlbXBmZW4gYXVmIGRlciBUcmlidWVuZSBmb2xnZW4gLi4uIHVuZCBkdXNzZWxpZ2UKS29tbWVudGFyZSBpbiBkaWUgQXJlbmEgcnVmZW4uIERhenUgbXVzcyBtYW4gaW4gZGVyIEFyZW5hIGhhbHQgbmFjaApyZWNodHMgb2RlciBsaW5rcyBhYmJpZWdlbiwgdW0gYXVmIGRpZSBUcmlidWVuZW4genUgZ2VsYW5nZW4uCgoKICBTbywgbnVuIGhvZmZlIGljaCwgZGFzcyBJaHIgdmllbCBTcGFzcyBoYWJ0LiBBYmVyIGljaCB3ZWlzcywgZGFzcwptZWluZSBHbGFkaWF0b3JlbiBzZWhyIHZpZWwgbWVociBTcGFzcyBhbiBFdWNoIGhhYmVuIHdlcmRlbiEKCiAgVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlLCBCdWdzLCBJZGVlbiB1bmQgTG9iIGFuIG1pY2guIFRhZGVsIHVuZApQcm90ZXN0ZSBiaXR0ZSBhbiBtZWluZSBBbmdlc3RlbGx0ZW4gOy0pCgogICAgICAgICAgICAgICAgICAgICAgaW0gQXVmdHJhZ2UgZGVyIE1HQUJHCiAgICAgICAgICAgICAgICAoTW9yZ2VuR3JhdWVuLUFyZW5hLUJldHJlaWJlciBHbWJIKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpc3RlIChGcmFnZ2xlLCAgNS4gRGV6IDE5OTMsIDAxOjE1OjI5KToKV2FydW0gZ2VodCBkaWUgTGlzdGUgbnVyIG5vY2ggYmlzIFBsYXR6IDUwPwpNZWhyIHN0b2VydCBkb2NoIG51biB3aXJrbGljaCBuaWVtYW5kZW4gdW5kIGF1c3NlcmRlbSBzaWVodCBtYW4gbmljaHQKbWVociwgd2lldmllbGUgc3BpZWxlciBkYWJlaSBzaW5kCmlyZ2VudHdpZSBzY2hhZGUhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaXN0ZSAoR2F0c2J5LCAgNS4gRGV6IDE5OTMsIDAxOjIzOjUxKToKSWNoIHdpbGwgbWljaCBGcmFnZ2xlIGFuc2NobGllc3Nlbi4gRXMgaXN0IHNjaGFkZSwgZGFzcyBkaWUgTGlzdGUgYXVmCmVpbm1hbCBudXIgbm9jaCBiaXMgUGxhdHogNTAgZ2VodC4KRGEga2FubiBtYW4gYWxzICJrbGVpbmVyIiBTcGllbGVyIGdhciBuaWNodCBtZWhyIHNlaW5lIEVyZm9sZ2Ugc2VoZW4uLi4uCkljaCBmYWVuZGUgZXMgc2Nob2VuLCB3ZW5uIElociBkYXMgd2llZGVyIGFlbmRlcm4ga29lbm50ZXQhCkVpbiBEYW5rIGltIHZvcmF1cy4uLi4KR2F0c2J5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTVFJFSUshIChFbHJpYywgMTMuIERleiAxOTkzLCAxNzoyODo0NSk6CkRpZXNlciBBcnRpa2VsIGJldHJpZmZ0IHZvciBhbGxlbSBNdWVuc3RlcmFuZXIuCldpZSBkaWUgbWVpc3RlbiB2b24gRXVjaCB3b2hsIG1pdGdla3JpZWd0IGhhYmVuIHdlcmRlbiwgbGllZmVuIGxldHp0ZQpXb2NoZSBBa3Rpb25lbiBnZWdlbiBkYXMgdm9tICJCaWxkdW5nc2dpcGZlbCIgdmVyYWJzY2hpZWRldGUgRWNrd2VydGUtCnBhcGllciwgdm9uIERlbW9zIHVlYmVyIGRpZSBTY2hsb3NzYmVzZXR6dW5nIGJpcyB6dXIgVW5pLVZWLgpEaWUgVm9yYmVyZWl0dW5nZW4gZGF1ZXJuIHNjaG9uIGV0d2FzIGxhZW5nZXIgYW4uCkF1ZiBkZXIgVlYgYW0gMTAuMTIuIHd1cmRlIGJlc2NobG9zc2VuLCBwYXJhbGxlbCB6dSBkZW4gU1AtV2FobGVuIHZvbQoxMy4tMTcuIDEyLiBlaW5lIGluZm9ybWVsbGUgQmVmcmFndW5nIGRlciBTdHVkaWVyZW5kZW5zY2hhZnQgdWViZXIgZGllCkJlcmVpdHNjaGFmdCwgYWxzIFByb3Rlc3QgZ2VnZW4gZGllIGdlcGxhbnRlIFN0dWRpZW5kZWZvcm0gaW4gYWt0aXZlbiBTdHJlaWsKenUgdHJldGVuLCB6dSB2ZXJhbnN0YWx0ZW4uIEFrdGl2ZXIgU3RyZWlrIGJlZGV1dGV0IGVpbmVyc2VpdHMgQm95a290dCBkZXIKcmVndWxhZXJlbiBWb3JsZXN1bmdlbiB1bmQgU2VtaW5hcmUsIGFuZGVyZXJzZWl0cyBFcmFyYmVpdHVuZyB2b24KQWx0ZXJuYXRpdmVuCnp1ciBnZXBsYW50ZW4gRGVmb3JtIGluIEFyYmVpdHNncnVwcGVuIHVuZCBtYXNzaXZlIE9lZmZlbnRsaWNoa2VpdHNhcmJlaXQuClVtIGVpbiBlaW5pZ2VybWFzc2VuIHJlcHJhZXNlbnRhdGl2ZXMgTWVpbnVuZ3NiaWxkIHp1IGVyaGFsdGVuIGlzdCBlcwp3aWNodGlnLApkYXNzIG5pY2h0IG51ciBkaWUgTGV1dGUgenVyIAJCZWZyYWd1bmcgZ2VoZW4sIGRpZSBvaG5laGluIGFtIFN0cmVpawptaXRwbGFuZW4sCnNvbmRlcm4gbW9lZ2xpY2hzdCB2aWVsZSBTdHVkaXMuCkRlc2hhbGI6IE1hY2h0IHB1YmxpaywgZGFzcyBkaWUgQmVmcmFndW5nIHN0YXR0ZmluZGV0LCB0dXQgRXVyZSBNZWludW5nIGt1bmQhCkRpZSBVcm5lbiB6dXIgQmVmcmFndW5nIHN0ZWhlbiBpbiBkZXIgTmFlaGUgZGVyIFNQLVdhaGx1cm5lbi4KV2VpdGVyZSBJbmZvcyB1ZWJlciBNb2VnbGljaGtlaXRlbiBkZXMgRW5nYWdlbWVudHMgZ2lidCBlcyBsaW5rcyB2b3InbQpTY2hsb3NzLgoKICAgICBRdWFzaW1vZG8gdW5kIEVscmljCgpQUzogV2VubiBkaWUgRGVmb3JtIGluIGRpZXNlciBGb3JtIGR1cmNoa29tbXQsIGtvZW5uZW4gd2lyIGRlcmFydCB1ZWJlci0KICAgIGZsdWVzc2lnZW4gRnJlaXplaXRtdWVsbCB3aWUgTXVkcyBvaG5laGluIGdlbiBKZW5zZWl0cyBzY2hpY2tlbi4KICAgIEFsc286IHdhZWhsZW4gZ2VoZW4sIHNvbnN0IGJlc3RpbW10IElociBuaWNodCBtYWwsIHdlciB1ZWJlciBFdWNoCiAgICBlbnRzY2hlaWRldC4gfC0oICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvY2h6ZWl0IHZlcnNjaG9iZW46IE1pdHR3b2NoLCAyMi4xMi4sIDE4VWhyICEgKEpvbmFzLCAyMC4gRGV6IDE5OTMsIDA5OjU0OjQ0KToKVGFjaCBub2NobWFsLAoKRGEgbWVpbmUgbGllYnN0ZSBWZXJsb2J0ZSBhbSBEaWVuc3RhZyB3YXMgImJlc3NlcmVzIiB2b3JoYXQgOyksCm11ZXNzZW4gd2lyIHVuc2VyZSBIb2NoemVpdCBsZWlkZXIgYXVmIGRlbiBkYXJhdWYgZm9sZ2VuZGVuIE1pdHR3b2NoCnZlcnNjaGllYmVuIDooLgoKSm9uYXMsIGVpbmVuIFRhZyBsYWVuZ2VyIGZyZWkuLi5zb2xsdGUgZGFzIGVpbiB6ZWljaGVuIHNlaW4gIT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIEVudHNjaHVsZGlndW5nIGRlciBNR0FCRyAoRHVyaWFuLCAyMC4gRGV6IDE5OTMsIDE5OjM1OjExKToKSGFsbG8gTGV1dGUsCndpZSB1bnMgYmVpIEVyd2VpdGVydW5nc2FyYmVpdGVuIGFuIGRlciBBcmVuYSBhdWZmaWVsLCB3YXIgc2llIGxlaWRlcgpuaWNodCBtZWhyIGdhbnogZmVobGVyZnJlaS4gRG9jaCB6dW0gR2x1ZWNrIGlzdCBuaWVtYW5kIE9wZmVyIGRpZXNlciBGZWhsZXIKZ2V3b3JkZW4uIChXZW5uIGRvY2gsIGJpdHRlIGJlaSBEdXJpYW4gbWVsZGVuKS4gRGllc2UgRmVobGVyIGtvZW5uZW4KZXJzdCBpbiBsZXR6dGVyIFplaXQgYXVmZ2V0cmV0ZW4gc2VpbiwgZGVzaGFsYiBoYWx0ZW4gc2ljaApkaWUgRm9sZ2VuIGluIEdyZW56ZW4uCk51biBpc3QgZGllIEFyZW5hIHdpZWRlciBmZWhsZXJmcmVpIHVuZCB3YXJ0ZXQgYXVmIG11dGlnZSBEdWVsbGFudGVuLCBvZGVyCm11dGlnZSBHbGFkaWF0b3Jlbi4KCmltIEF1ZnRyYWdlIGRlciBNR0FCRwogICAgICAgICAgICAgICAgICAgICAgRHVyaWFuCgpQLlMuOiBEZW1uYWVjaHN0IHdpcmQgZWluZSA8SGFsbCBvZiBGYW1lPiBlaW5nZXJpY2h0ZXQsCmluIGRlciBCdWNoIHVlYmVyIGRpZSBEdWVsbGUgdW5kIEthZW1wZmUsIGRpZSBpbiBsZXR6dGVyIFplaXQgZ2VmdWVocnQKd3VyZGVuLCBnZWZ1ZWhydCB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJvaGVzIEZlc3QgKEhlcmJhcnVtLCAyMy4gRGV6IDE5OTMsIDE0OjI3OjI3KToKICAgICAgICAgICAgICAgICoKICAgICAgICAgICAgICAqKioqKiAgICAgICAgICAgICAgICAgICAgICMgICMKICAgICAgICAgICAgICAgKl4qICAgICAgICAgICAgICAgICAgKiAgIyAjICMqCiAgICAgICAgICAgICAgIC8gXCAgICAgICAgICAgICAgICogKiAgICAjICMgICogKgogICAgICAgICAgICAgIC8gICBcICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgKiAqCiAgICAgICAgICAgICAvXyAgIF9cICAgICAgICAgICAqICAqICAgICAgICAgIiAqICAqCiAgICAgICAgICAgICAgLyAgIFwgICAgICAgICAgICAgICAgICAqCiAgICAgICAgICAgICAvICAgICBcICAgICAgICAgKiAgICogICAgICAiICIgICAgKiAgICoKICAgICAgICAgICAgL18gICAgIF9cICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgLyAgICAgXCAgICAgICAgICAgICogICAgICAgICAgICAgICAqCiAgICAgICAgICAgIC8gICAgICAgXCAgICAgICAgKiAgICAgKiAgICAiICAgIiAgICAgICAqCiAgICAgICAgICAgL19fXyAgIF9fX1wgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAgICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICogICAgICIgICAiICAgICAgICAqCiBfX19fX19fX19fX19fX3wgfF9fX19fX19fX19fX19fX19fX19fX19VX1VfVV9fX19fX19fX19fX19fCgogQWxsZW4gICAgRnJvaGUgV2VpaG5hY2h0ZW4KICAgICAgICAgICAgICAgICAgICAgICAgICB1bmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpbmVuIEd1dGVuIFJ1dHNjaAoKCiAgICAgICAgICAgICAgIEhlcmJhcnVtLCBFbGZlbm1hZ2llciAgIDstKQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyIG11dGlnZSBLYWVtcGZlciBmdWVyIGRpZSBBcmNoaXRla3RlbnF1ZXN0IGdlc3VjaHQgISAoV29lbGtjaGVuLCAyOC4gRGV6IDE5OTMsIDEyOjEyOjI2KToKCkhhbGxvICwKCmljaCBzdWNoZSAyIG11dGlnZSwgc3RhcmtlIEthZW1wZmVyIGZ1ZXIgZGllIEFyY2hpdGVrdGVucXVlc3QgIQoKV2VyIGhhdCBMdXN0LCBlcyBtYWwgenUgdmVyc3VjaGVuID8/CgpXb2Vsa2NoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFSRU5BIEVSV0VJVEVSVCEgKER1cmlhbiwgMjguIERleiAxOTkzLCAxNTo0NjowOCk6CkhhbGxvIElociBtdXRpZ2VuIEthZW1wZmVyIHVuZCBLYWVtcGZlcmlubmVuLAogIERpZSBBcmVuYSB3dXJkZSB1bSBlaW5lIEdhbGVyaWUgZGVyIHNpZWdyZWljaGVuIER1ZWxsYW50ZW4gdW5kIEdsYWRpYXRvcmVuCmVyd2VpdGVydC4gSmVkZXIsIGRlciBmb3J0YW4gZGllIEdsYWRpYXRvcmVuIGhlcmF1c2ZvcmRlcnQgb2RlciBlaW4KRHVlbGwgYmVzdHJlaXRldCB3aXJkIGltIGpld2VpbGlnZW4gQnVjaCwgZGllIG1hbiBpbiBkZXIgR2FsZXJpZQp1bnRlcmhhbGIgZGVyIEVpbmdhbmdzaGFsbGUgZmluZGVuIGthbm4sIHZlcmV3aWd0LiBEb3J0IG1hbiBhbHNvCmltbWVyIG5hY2hzY2hsYWdlbiwgd2llIGRpZSBEdWVsbGUgdW5kIEthZW1wZmUgYXVzZ2VnYW5nZW4gc2luZC4KTGVpZGVyIHdhciBlcyBudW4gbmljaHQgbW9lZ2xpY2gsIGFlbHRlcmUgS2FlbXBmZSB6dSByZWthcGl0dWxpZXJlbiwgd2lyCmJpdHRlbiBkYWJlaSB1bSBWZXJzdGFlbmRuaXMuCgppbSBBdWZ0cmFnIGRlciBNR0FCRwotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBQb3N0IChMb2NvLCAyOC4gRGV6IDE5OTMsIDE4OjQyOjAxKToKSGllcm1pdCB3aXJkIGJla2FubnRnZWdlYmVuLCBkYXNzIGhldXRlIGRhcyBQb3N0c3lzdGVtIGRlcyBNb3JnZW5ncmF1ZW5zCmF1c2dldGF1c2NodCB3dXJkZS4gTWFnaWVybiBkdWVyZnRlIGRpZSBuZXVlIFBvc3QgYmVyZWl0cyBiZWthbm50IHNlaW4sIGF1Y2gKZ2lidCBlcyBzY2hvbiBsYWVuZ2VyIFByb3RvdHlwLVBvc3RhZW10ZXIgaW4gU3ZvbHZhZXIgdW5kIFp6cmVuenplbiwgamVkb2NoCm1vZWNodGUgaWNoIHRyb3R6ZGVtIG5vY2gga3VyeiBkaWUgd2ljaHRpZ3N0ZW4gQWVuZGVydW5nZW4genVzYW1tZW5zdGVsbGVuOgotIEVzIGJla29tbXQgbmljaHQgbWVociBqZWRlciBzZWluZW4gZWlnZW5lbiBQb3N0cmF1bS4gV2VyIGRlbm5vY2ggdW5nZXN0b2VydApzZWluZSBQb3N0IGxlc2VuIHVuZCBzY2hyZWliZW4gd2lsbCwga2FubiBzaWNoIGluIGVpbmUgU2NocmVpYmthYmluZQp6dXJ1ZWNremllaGVuLCBkaWUgaW4gamVkZW0gUG9zdGFtdCBzdGVoZW4uCi0gRWluaWdlIEZ1bmt0aW9uZW4gc2luZCBsZWljaHQgdmVyYWVuZGVydCwgZXJ3ZWl0ZXJ0IHdvcmRlbiwgZGF6dSB3dXJkZSBkZXIKRnVua3Rpb25zdW1mYW5nIGVyd2VpdGVydC4gRWluZSBrdXJ6ZSBIaWxmc3NlaXRlIHdpcmQgbWl0IGggaW0gUG9zdG1lbnVlCmFuZ2V6ZWlndCwgZWluZSBsYWVuZ2VyZSBzb2xsdGUgbWl0ICdoaWxmZSBwb3N0JyBhYnJ1ZmJhciBzZWluLgotIFp1c2FldHpsaWNoIHp1IGRlbiBiaXNoZXJpZ2VuIEtvbW1hbmRvcyBnaWJ0IGVzIGpld2VpbHMgZWluZSBlaW5idWNoc3RhYmlnZQpWZXJzaW9uLiBTaWVoZSBIaWxmc3NlaXRlLgotIEFjaHR1bmc6IEJlaW0gQmV0cmV0ZW4gZWluZXMgUG9zdGFtdGVzIGtvbW10IG5pY2h0IG1laHIgZGllIE1lbGR1bmcsIG9iIG1hbgpQb3N0IGJla29tbWVuIGhhdCwgc29uZGVybiBlcnN0IGJpbSBBdWZydWYgZGVzIFBvc3RtZW51ZXMuIERhZnVlciB3aXJkIGVzCmVpbmVtIGpldHp0LCB3ZW5uIG1hbiBlaW5nZWxvZ2d0IGlzdCwgYXVnZW5ibGlja2xpY2ggbWl0Z2V0ZWlsdCwgd2VubiBtYW4gbmV1ZQpQb3N0IGJla29tbWVuIGhhdC4KQW5zb25zdGVuIHZlcndlaXNlIGljaCBhdWYgZGllIEhpbGZzc2VpdGVuLgoKRmVobGVybWVsZHVuZ2VuLCBBbnJlZ3VuZ2VuIHp1IFdlaXRlcmVudHdpY2tsdW5nZW4sIEtvbW1lbnRhcmUgamVkZXIgQXJ0CmJpdHRlIGFuIG1pY2gsIGluIE5vdGZhZWxsZW4gYXVjaCBhbiBKb2Ygb2RlciBCb2luZywKCiAgICAgICAgICAgIExvY28KClAuUy46IFdpZSBlaW4gU3ByZWNoZXIgZGVzIFBvc3RtaW5pc3Rlcml1bXMgbWl0dGVpbHRlLCBpc3QgZXMgYXVjaCAxOTk0IG5pY2h0CmdlcGxhbnQsIGRpZSBGcmFua2F0dXJwZmxpY2h0IGZ1ZXIgQnJpZWZzZW5kdW5nZW4gZWluenVmdWVocmVuLiBEZXIKQnJpZWZtYXJrZW52ZXJrYXVmIGluIFN2b2x2YWVyIHNlaSBhdXNzY2hsaWVzc2xpY2ggenUgU2FtbWxlcnp3ZWNrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0eXBvIGluIFN0YWhsZ2V3ZWJlZmx1Z3BhbnplcmJlc2NocmVpYnVuZyAoWWVuZGksIDMwLiBEZXogMTk5MywgMTM6MjU6NTApOgpTb2xsdGUgZXMgbmljaHQgaGVpc3NlbiAiTnVyIGRpZSBDZXRpLUFhbGUuLi4iID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmx1c3RpZ2UgcGFydHkgKEJpbmcsICA5LiBKYW4gMTk5NCwgMTQ6MzY6NTUpOgppY2ggZmFuZCBkaWUgcGFydHkgZWNodCBsdXN0aWcsIG9id29obCBpY2ggc2llIG51ciBhbSBzb25uYWJlbmQgZXJsZWJlbgprb25udGUuIGVzIHdhciBlaW4gYmlzc2NoZW4gc2NoYWRlLCBkYXMgaWNoIG1pdCBnaW5hbGlzYSBzY2hvbiB3aWVkZXIgaW4gZGVyCm5hY2h0IHp1cnVlY2sgbmFjaCBoYW1idXJnIGZhaHJlbiBtdXNzdGUuIGljaCBob2ZmZSBhdWYgZGVyIG5hZWNoc3RlbgptdWQtcGFydHkgaGFiZSBpY2ggZGFubiBtZWhyIHplaXQuIGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvY2h6ZWl0c2Fua3VlbmRpZ3VuZyAoQm9pbmcsIDExLiBKYW4gMTk5NCwgMTI6NDc6MjgpOgpIYWxsbyBNb3JnZW5HcmF1ZXIhCgpFcyBpc3QgbWlyIGVpbmUgZ3Jvc3NlIEZyZXVkZSB6dSB2ZXJrdWVuZGVuLCBkYXNzIEhvYm8gdW5kIGljaCBiZXNjaGxvc3NlbgpoYWJlbiB1bnMgYW0gRG9ubmVyc3RhZyBkZW4gMTMuMS4xOTk0IHVtIDE5IFVociB6dSB2ZXJtYWVobGVuLiBXaXIgaG9mZmVuCmF1ZiB6YWhscmVpY2hlcyBFcnNjaGVpbmVuIHVuZCB2aWVsZSBHZXNjaGVua2UgOykKClRzY2h1ZXNzLAogICAgQm9pbmcgdW5kIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5kZXJ1bmcgLS0gQWVuZGVydW5nIC0tIEFlbmRlcnVuZyAtLSBBZW5kZXJ1bmcgLS0gQWVuZGUgKEhpZ2hsYW5kZXIsIDExLiBKYW4gMTk5NCwgMjE6MjE6MjYpOgpIYWxsbywgbWVpbmUgRnJldW5kZSEKCkljaCBoYWJlIG1hbCB3aWVkZXIgZGllIFNlZWxlIHVtZ2VhcmJlaXRldC4gRGF2b24gbWVya3QgaWhyIHp3YXIgaW4gZGVyIFJlZ2VsCm5pY2h0IHZpZWwsIGFiZXIgZWluIGJpc3NjaGVuIHdhcyBkb2NoLgoKYSkgQmVpbSBBdWZsaXN0ZW4gZGVyIEFkdmVyYmllbiBpc3QgbnVyIG5vY2ggZWluIEFkdmVyYiBpbiBqZWRlciBaZWlsZS4KYikgRGFmdWVyIHdpcmQgZGFzIEFkdmVyYiBhbiBzaWNoIGxhZW5nZXIgYW5nZXplaWd0IHVuZC4uLgpjKSBpc3QgZWluIG1vcmUgaW4gZGFzIEF1Zmxpc3RlbiBlaW5nZWJhdXQuCmQpIGthbm4gbWFuIHdvaGwgbWVpc3RlbnMgamV0enQgZGllIE5hbWVuIGF1Y2ggYmVpIHNhZW10bGljaGVuIFNlZWxlbnNhY2hlbgogICBhYmt1ZXJ6ZW4sCmUpIGdpYnQgZXMgZWluLCB6d2VpIG5ldWUgVmVyYmVuIHVuZApmKSBnaWJ0IGVzIGVpbiBuZXVlcyBTdGFuZGFyZC1BZHZlcmIgKmcgciBpIG4gcyoKCk1hY2h0cyBndXQsCgpIaWdobGFuZGVyIHJ5biBUYWhhciwgYXVmIGRlciBTdWNoZSBuYWNoIG5ldWVuIEF1ZmdhYmVuIChvZGVyIGRvY2ggbmljaHQ/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWQtYmVyaWNodCBpbiBkZXIgUG93ZXJQbGF5IChIb3IsIDEyLiBKYW4gMTk5NCwgMDg6NTA6NTgpOgpIaSEKCkZ1ZXIgZGllIGplbmlnZW4gZGllIGVzIG5vY2ggbmljaHQgd2lzc2VuOgpJbiBkZXIgYWt0dWVsbGVuIEF1c2dhYmUgKDIvOTQpIGRlciBQb3dlclBsYXkgKERldXRzY2hsYW5kCmdyb2Vzc3RlcyBDb21wdXRlci1zcGllbGUtTWFnYXppbikgaXN0IGVpbiBCZXJpY2h0IHVlYmVyIE1VRFMuCgpEZXIgZ2VuZWlndGUgTGVzZXIga2FubiBkb3J0IGF1Y2ggZWluZW4gU2NyZWVuc2hvdCB2b24gTW9yZ2VuR3JhdWVuIGZpbmRlbiEKKEhhbGxvLCBCb2luZyEgOCkKCkFjaCBqYS4uZGVyIEJlcmljaHQgaXN0IGF1ZiBTLjExOCBmZgoKVmllbCBTcGFzcyBub2NoLAogSE9SIQoKUC5TLgogIEljaCBrb21tIGF1Y2ggaW4gZGVtIEJlcmljaHQgdm9yISAqZ3JpbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJhZyAtLSBOYWNodHJhZyAtLSBOYWNodHJhZyAtLSBOYSAoSGlnaGxhbmRlciwgMTIuIEphbiAxOTk0LCAxMToyOToxNik6CkFjaCBqYSAtCmRpZSBuZXVlIFNlZWxlIGJla29tbXQgbmF0dWVybGljaCBudXIsIHdlciBzaWNoIG5ldSBlaW5sb2dndC4KTmFjaCBlaW5lciBTY2hsYWZwYXVzZSBoYXQgbWFuIG5hY2ggd2llIHZvciBkaWUgYWx0ZSBWZXJzaW9uLgpVbmQgaW56d2lzY2hlbiBpc3QgZGllIG5ldWUgc29nYXIgYnVnZnJlaWVyIGFscyBub2NoIHZvciAxMCBNaW51dGVuIDspCihWZXJiIG51ciBtaXQgQWR2ZXJiIGdpbmcgbmljaHQuLi4pCk1mZywKSGlnaGxhbmRlciByeW4gVGFoYXIgKGFyYmVpdGxvcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvY2h6ZWl0IGlzdCBhbmdlc2FndCEgKFZpcGVyLCAxMy4gSmFuIDE5OTQsIDE5OjAxOjQ0KToKSGFsbG8gTGV1dGUgIQpOYWNoIHJlaWZsaWNoZW0gRW50c2NobHVzcyBoYWJlbiBLb2JheWFzaGkgdW5kIGljaCB1bnMgZW50c2NobG9zc2VuIHp1CkhFSVJBVEVOICEKRGllIEZlaWVyIGlzdCBhbmdlc2V0enQgZnVlciBkZW4gRnJlaXRhZywgZGVuIDE0LjEuIHVtIDEzLjAwIFVoci4KCldpciBob2ZmZW4gYXVmIHZpZWxlLCB2aWVsZSBHYWVzdGUuIFdlbm4gaWhyIGFsc28gaXJnZW5kd2llIFplaXQgaGFidCwgc2NoYXV0CmRvY2ggbWFsIHZvcmJlaSwgdW5kIGF1Y2ggaW4gZGVyIEthcHBlbGxlIGluIGRlciBVbnRlcndlbHQgcmVpbi4KRnVlciBFc3NlbiB1bmQgVHJpbmtlbiB3aXJkIGdlc29yZ3QgIQoKVWVicmlnZW5zOiBXZW5uIGlociB3b2xsdCwga29lbm50IGlociBhdWNoIEdlc2NoZW5rZSBtaXRicmluZ2VuLgoKQWxzbyBub2NobWFsOiBJaHIgc2VpZCBhbGxlIGhlcnpsaWNoIGVpbmdlbGFkZW4gIQoKRXVyZSBWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBHbGFkaWF0b3JlbiEhIChEdXJpYW4sIDE0LiBKYW4gMTk5NCwgMTg6NDg6NDEpOgpIYWxsbyBtdXRpZ2UgS2FlbXBmZXIgdW5kIEthZW1wZmVyaW5uZW4hIQogIE5hY2ggbGFuZ2VuIHVuZCB6YWVoZW4gVmVyaGFuZGx1bmdlbiBpc3QgZXMgdW5zIGVuZGxpY2ggZ2VsdW5nZW4sCnp3ZWkgd2VpdGVyZSBHbGFkaWF0b3JlbiB6dSB2ZXJwZmxpY2h0ZW4uIFBvcGV5ZSBkZXIgU2VlbWFubiB1bmQgZGllCmtvZW5pZ2xpY2hlIEtsZW9wYXRyYSB3ZXJkZW4gZm9ydGFuIGlociBHbHVlY2sgaW0gS2FtcGYgZ2VnZW4gZGllIG11dGlnZW4KSGVsZGVuIHZlcnN1Y2hlbi4gU2llIGxpZWdlbiBzdGFlcmtlbWFlc3NpZyBpbSBNaXR0ZWxmZWxkLCBpcmdlbmR3bwp6d2lzY2hlbiBDb25hbiB1bmQgSGFlZ2FyLCBkLmguIHVuc2VyZSBzdGFlcmtzdGVuIEdsYWRpYXRvcmVuIGJsZWliZW4KSm9oYW5uYSB1bmQgSGVya3VsZXMuCldpciBob2ZmZW4gYXVmIHJlZ2VzIFN0ZXJiZW4gaW4gZGVyIEFyZW5hIHVuZCB2ZXJibGVpYmVuIG1pdCBmcmV1bmRsaWNoZW0KR3J1c3MsCgppbSBBdWZ0cmFnZSBkZXIgTUdBQkcKICAgICAgICAgICAgICAgICAgICAgIER1cmlhbgoKUC5TLjogU2Nod2FldHplciBoYWJlbiBiZWhhdXB0ZXQsIGRhc3MgendlaSBuZXVlIEdsYWRpYXRvcmVuIG5vZXRpZyB3dXJkZW4sCndlaWwgSGVya3VsZXMgdW5kIEpvaGFubmEgaW4gaWhyZXIgU3RhZXJrZSBuYWNobGllc3Nlbi4gRG9jaCBvYiBhbiBkaWVzZW4KR2VydWVjaHRlbiBldHdhcyB3YWhyZXMgaXN0LCB3YXIgYmlzIHp1bSBqZXR6aWdlbiBaZWl0cHVua3QgbmljaHQgaGVyYXVzLQp6dSBmaW5kZW4gLi4uCgpQLlAuUy46IFVlYnJpZ2VucywgaWhyIFNwaWVsZXIgbWl0IGV0d2FzIG5pZWRlcmVtIExldmVsLiBXaXIgdW5zIHp1IE9ocmVuCmdla29tbWVuIGlzdCwgdHJhdWVuIHNpY2ggdmllbGUgbmljaHQgaW4gZGllIEFyZW5hLCB3ZWlsIHNpZSBzaWNoIG5pY2h0Cnp1dHJhdWVuLCBnZWdlbiBBTExFIEdsYWRpYXRvcmVuIHp1IGJlc3RlaGVuLiBEaWVzIGlzdCBuaWNodCBub2V0aWcuClZvciBKRURFTSBLYW1wZiBrYW5uIGRpZSBBcmVuYSB2ZXJsYXNzZW4gd2VyZGVuLiBOdXIgd2FlaHJlbmQgZGVzIEthbXBmZXMgLi4uCmRhIGdlaHQgZGFzIG51bm1hbCBuaWNodC4gQWJlciB3ZXIgZ2VnZW4gZGllIFN0YWVya2VyZW4gbmljaHQga2FlbXBmZW4Kd2lsbCwgYnJhdWNodCBkYXMgYXVjaCBuaWNodCEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2NoemVpdCAtIE5hY2hsZXNlIChCb2luZywgMTQuIEphbiAxOTk0LCAyMjowMToyMyk6CkhhbGxvIGlociBsaWViZW4gTW9yZ2VuR3JhdWVyIQoKVmllbGVuIERhbmsgZnVlciBkaWUgcmVnZSBCZXRlaWxpZ3VuZyBhbiB1bnNlcmVyIEhvY2h6ZWl0LCBpY2ggd2FyIGVocmxpY2gKZ2VzYWd0IHdpcmtsaWNoIHVlYmVyd2FlbHRpZ3QuIFdlbm4gaWNoIGplbWFuZCBuaWNodCBnZWtudWRkZWx0LCB1bWFybXQKb2RlciBnZXNvbnN0d2FzdCBoYWJlbiBzb2xsdGUsIGRhbm4gYml0dGUgaWNoLCBtaXIgZGFzIHp1IHZlcnplaWhlbiwgaWNoCmJpbiBiZWkgZGVtIENoYW9zIHdpcmtsaWNoIG5pY2h0IG1laHIga2xhciBnZWtvbW1lbi4gVWVicmlnZW5zIGhhYnQgaWhyCmFsbGUgYW0gbmV1ZW4gTUctU3BpZWxlcnJla29yZCBtaXRnZXdpcmt0LCBkaWUgYWx0ZSBIb2VjaHN0bWFya2Ugdm9uIDUzCnd1cmRlIGRvY2ggZ2xhdHQgdW0gMjEgdWViZXJib3RlbiA6KQpWaWVsZW4gRGFuayBhdWNoIGZ1ZXIgS2FmZmVlbWFzY2hpbmVuLCBCaWxkZXIsIEJyaWVmbWFya2VuIHVuZCBhbmRlcmUKR2VzY2hlbmtlLCBpY2ggaGFiIGltIFRvaHV3YWJvaHUgbm9jaCBuaWNodCBtYWwgbWl0YmVrb21tZW4sIGRhc3MgaWNoCnNvd2FzIGJla29tbWVuIGhhYmUgOykKRGllIEJyYXV0ZW50ZnVlaHJ1bmcgd2FyIG5hdHVlcmxpY2ggZGllIGdyb2Vzc3RlIEdlbWVpbmhlaXQsIGRpZSBpY2ggamUKZXJsZWJ0IGhhYmUsIHVuZCBkYXp1IHZvbiBKb2YgKG1vZWdlbiBkaWUgSm9lZmZlciBpaG4gc3RyYWZlbikgc28gcGVyZmVrdAphdXNnZWZ1ZWhydCwgZGFzcyBpY2gga2VpbmUgQ2hhbmNlIGhhdHRlLiBHbHVlY2tsaWNoZXJ3ZWlzZSBnaW5nIGphIGFiZXIKZG9jaCBub2NoIGFsbGVzIGd1dCBhdXMgdW5kIGljaCBrb25udGUgSG9ibyBnbHVlY2tsaWNoIGluIGRpZSBBcm1lCnNjaGxpZXNzZW4gOikKCkJpcyB6dXIgbmFlY2hzdGVuIEhvY2h6ZWl0IChuaWNodCBtZWluZXIgbmF0dWVybGljaCksCgogICBCb2luZywgZGVyIGdsdWVja2xpY2hlIEVoZXN0ZWluYmVpc3NlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2FtbWVsbWVsZHVuZyAoTG9jbywgMTUuIEphbiAxOTk0LCAyMTo0MTozOCk6Ckt1cnogdW5kIGtuYXBwOgoxLiBEZXIgRmluZ2VyIHR1dCB3aWVkZXIgKGhvZmZlbnRsaWNoLCBrb25udGUgZXMgZnVlciBTcGllbGVyIHVuZCBTZWhlciBub2NoCm5pY2h0IHRlc3RlbikuCjIuIEF1ZiBtZWhyZmFjaGVuIFd1bnNjaCBzaW5kIChzY2hvbiBzZWl0IGVpbiBwYWFyIFRhZ2VuKSAyIFNhY2hlbiBpbiBkZXIKUG9zdCBnZWFlbmRlcnQ6IEVpbm1hbCBpc3QgZGllIEZlaGxlcnRvbGVyYW56IGJlaSBkZXIgRWluZ2FiZSBkZXIgRW1wZmFlbmdlcgpnZXN0ZWlnZXJ0IChnZW5hdWVyIGdlc2FndCwgd2VyZGVuIGpldHp0IGJlbGllYmlnZSBGb2xnZW4gYXVzIExlZXJ6ZWljaGVuIHVuZApLb21tYXMgYWxzIFRyZW5uemVpY2hlbiBha3plcHRpZXJ0LCB1bmQgZmFsbHMgbWFuIGVpbmVuIGZhbHNjaGVuIE5hbWVuIGFuZ2lidCwKYmVrb21tdCBtYW4gYXV0b21hdGlzY2ggZGVuIEJyaWVmIHp1cnVlY2spCkRhcyBhbmRlcmUgbmV1ZSBmZWF0dXJlIGlzdCAsIGRhc3MgbWFuIGFscyBFbXBmYWVuZ2VyIGVpbmVyIG1haWwgamV0enQgYXVjaAonZC5yZWdpb24nIGFuZ2ViZW4ga2FubiwgZGVyIEJyaWVmIHdpcmQgZGFubiBhbiBhbGxlIE1pdGFyYmVpdGVyIGRlciBSZWdpb24KdmVyc2VuZGV0IGFscyBSdW5kc2NocmVpYmVuLiBCaXR0ZSBzcGFyc2FtIHZlcndlbmRlbiA7KQoKU293ZWl0Li4uCiAgICAgICAgICAgICAgIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laHJlcmUgYWR2ZXJicyAoSGlnaGxhbmRlciwgMTcuIEphbiAxOTk0LCAxNToyNzo0Myk6CkhhbGxvIQoKQXVmIHZpZWxmYWNoZW4gV3Vuc2NoIGVpbmVzIGVpbnplbG5lbiBIZXJyZW4gZ2lidCBlcyBhYiBkZW0gbmFlY2hzdGVuIHVwZGF0ZQptZWhyZXJlIGFkdmVyYnMgZnVlciBlaW4gdmVyYi4gRGFzIGdlaHQgZGFubiBpbiBldHdhLi4uCmdyaW5zIEYgdW5kIGZyb2UgdW5kIGpvZmkKRHUgZ3JpbnN0IEZSRVVORGxpY2gsIGZyb2VobGljaCB1bmQgd2llIEpvZiwgd2VubiBlciBtYWwgbmljaHQgaWRsZXQuCgpEYXNzIG1hbiBkYXMgZ2xlaWNoZSBBZHZlcmIgbWVocmVyZSBNYWxlIGFuZ2ViZW4ga2FubiwgaXN0IGVpbgpmZWF0dXJlLCBrZWluIGJ1ZyEhIFVuZCBiZWkgQmVkYXJmIGF1Y2ggZ2FueiBzY2huZWxsIGdlYWVuZGVydC4KCkhhdmUgZnVuLgotSGlnaGxhbmRlciByeW4gVGFoYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJ6ZWlsZW4iLUtvbW1hbmRvIChKb2YsIDE5LiBKYW4gMTk5NCwgMjA6NTU6NTApOgogTWl0IGRlbSBCZWZlaGwgInplaWxlbiIga2FubiBtYW4gZWluc3RlbGxlbiwgd2llIHZpZWxlIFplaWxlbiBiZWkgbWVoci0Kc2VpdGlnZW4gVGV4dGVuIHBybyBTZWl0ZSBhbmdlemVpZ3Qgd2VyZGVuLiBEZXIgV2VydCAiMCIgdmVyYW5sYXNzdCwgZGFzcwphbGxlIFplaWxlbiBkYXJnZXN0ZWxsdCB3ZXJkZW4gKG1vcmUgaXN0IGRhbm4gYXVzKS4gRGVyIFdlcnQgd2lyZCB1ZWJlcgpxdWl0IGhpbmF1cyBnZXNwZWljaGVydC4gRGVmYXVsdGVpbnN0ZWxsdW5nIGlzdCAyMCBaZWlsZW4vU2VpdGUuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFF1ZXN0IChUcm95LCAyNC4gSmFuIDE5OTQsIDE3OjI2OjMzKToKSGFsbG8gTVVEREVSICEKCmVzIGdpYnQgZWluZSBuZXVlIFF1ZXN0IGltIFdhbGQuIFNpZSBoZWlzc3QgJ0hlaWx1bmcgZnVlciBkZW4gSGV4ZXInCnVuZCBiaXJndCBzbyBtYW5jaGUgR2VmYWhyIGluIHNpY2guIERhaGVyIHNvbGx0ZSBzaWUgZXJzdCBhYiBMZXZlbCAxNQp2ZXJzdWNodCB3ZXJkZW4uIFZpZWwgU3Bhc3MgZGFiZWkgIQoKLi4uIEFjaCBqYS4gRGllIFF1ZXN0IGJlZ2lubnQgaW0gR2xvY2tlbndhbGQuIERhcyBpc3QgaW0gU3VlZHdlc3RlbiBkZXIKV2FsZHJlZ2lvbi4KClRyb3ksIGRlciBRdWlldHNjaGVlbnRjaGVuenVlY2h0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZhZW5nZXJidWNoIChUcm95LCAyNi4gSmFuIDE5OTQsIDE2OjI2OjE5KToKSGFsbG8gTGV1dGUgIQoKV2llIGVpbmlnZSB2b24gRXVjaCBzaWNoZXIgc2Nob24gYmVtZXJrdCBoYWJlbiwgbGllZ3QgYW0gZWluZW4gb2RlcgphbmRlcmVuIE9ydCBpbSBNb3JnZW5HcmF1ZW4gZWluIEhhbmRidWNoIGZ1ZXIgQW5mYWVuZ2VyLiBEYSB3aXIKZGllc2VzIEhhbmRidWNoIG1vZWdsaWNoc3QgdW1mYXNzZW5kIGdlc3RhbHRlbiB3b2xsZW4sIG1vZWNodGUKaWNoIGRpZWplbmlnZW4gdW50ZXIgZGVuIFNwaWVsZXJuLCBkaWUgZXR3YXMgZXJmYWhyZW5lciBzaW5kLApiaXR0ZW4sIG1pciBtYWwgenUgbWFpbGVuLCB3ZWxjaGUgQmVmZWhsZSwgYnp3LiBUaXBzIHNpZSBhbQpBbmZhbmcgZ2VybmUgZ2V3dXNzdCBoYWV0dGVuLiBCaXR0ZSBkYXp1IGFiZXIgZm9sZ2VuZGVzIGJlYWNodGVuOgotIEVzIHN0ZWh0IHNjaG9uIHdhcyBpbSBCdWNoIChkYXMgbXVzcyBuaWNodCBub2NobWFsIGdlbWFpbHQgd2VyZGVuKQotIFdvIGFsbGUgWmF1YmVydHJhZW5rZSBsaWVnZW4sIGRpZSBtaXIgZXR3YXMgYnJpbmdlbiwgaGFldHRlIGljaAogIGFtIEFuZmFuZyBhdWNoIGdlcm4gZ2V3dXNzdC4gRGFzIGtvbW10IGFiZXIgbmljaHQgaW5zIEJ1Y2guCiAgQWxzbyBiaXR0ZSBzZXJpb2VzZSBIaW53ZWlzZS4KClRyb3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbnplaWdlbiBkZXIgQWR2ZXJiaWVuIChIaWdobGFuZGVyLCAyNi4gSmFuIDE5OTQsIDE2OjQyOjI4KToKSGkhCkRlciBCZWZlaGwga2FubiB3YXMgbmV1ZXMuClByb2JpZXJ0IGVpbmZhY2ggbWFsIGFkdmVyYiBtaXQgZWluZXIgQWJrdWVyenVuZyBhdXMsIGRpZSBpaHIgbmljaHQgaGFidC4KV2VubiBzaWNoIGRhIG5peCBnZWFlbmRlcnQgaGF0LCBzb2xsdGV0IGlociBldWNoIGF1c2xvZ2dlbiwgdW0gZGllCm5ldWVuIE9wdGlvbmVuIHp1IGJla29tbWVuLgogIEhpZ2hsYW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZhZW5nZXJidWNoIChDYXR3ZWF6bGUsIDI3LiBKYW4gMTk5NCwgMTU6NDM6NTApOgpBbHNvIGljaCBrYW5uIG1pciBuaWNodCBoZWxmZW4sIGFiZXIgaWNoIGZpbmRlLCBkYXMgd2FzCmJpcyBqZXR6dCBpbiBkZW0gQnVjaCBzdGVodCBpc3Qgdm9lbGxpZyBhdXNyZWljaGVuZC4KTWFuIHNvbGx0ZSBqYSB1YWNoIG5pY2h0IHp1dmllbCBpbiBzbyBlaW4gQnVjaCByZWluc2NocmVpYmVuLApkYSBzb25zdCBkaWUgR2VmYWhyIGJlc3RlaHQsIGRhcyBlcyBldHdhcyB1ZWJlcmxhZGVuIHdpcmQuCkRlciBqZXR6aWdlIFVtZmFuZyBpc3Qgc2Nob24gZ2FueiBvaywgbWVpbiBpY2ggenVtaW5kZXN0LAphYmVyIGVzIGthbm4gbmF0dWVybGljaCBzZWluLCBkYXMgaWNoIHdhcyB3aWNodGlnZXMKdWViZXJzZWhlbiBoYWJlLi4uCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKUFM6IEFsc28gd2VubiBpY2ggYW0gQW5mYW5nIHNvbiBCdWNoIGdlaGFidCBoYWV0dGUgd2FlcmUKICAgZXMgbWlyIGRldXRsaWNoIGxlaWNodGVyIGdlZmFsbGVuIG1pY2ggZWluenVsZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNyYXNocyB1bmQgYWVobmxpY2hlcyAoUmFtaXJleiwgMjguIEphbiAxOTk0LCAxNzoyNjoxNik6CkhhbGxvIQpJY2ggc2NocmVpYmUgaGllciBpbiBWZXJ0cmV0dW5nIGZ1ZXIgSGlnaGxhbmRlciwgZGVyIGlkbGV0IGdlcmFkZSBzbyBzY2hvZW4uCkF1ZiBkaWUgR2VmYWhyIGhpbiwgbWljaCB1bmJlbGllYnQgenUgbWFjaGVuIGJlaSBlaW5pZ2VuLCBtb2VjaHRlIGljaCBub2NoCm1hbCBhdWYgZXR3YXMgaGlud2Vpc2VuLgphKSBDcmFzaHMgb2RlciBOZXVzdGFydHMgaW0gQWxsZ2VtZWluZW4gc2luZCBuaWNodHMsIHdhcyB3aXIgZ2VybmUgaGFiZW4KICAgb2RlciBtYWNoZW4uIEFiZXIgc2llIHBhc3NpZXJlbiBoYWx0IGFiIHVuZCB6dSBiencuIHNpbmQgbm9ldGlnLCB3ZW5uIHdpZQogICB6LkIuIGhldXRlIGRhcyBNdWQgc2NobGljaHQgdW5kIGVpbmZhY2ggaGFlbmd0LiBCZXNjaHdlcmRlbiBkZXN3ZWdlbgogICBzaW5kIGRhaGVyIGVpbm1hbCBudXR6bG9zIHVuZCB6dW0gYW5kZXJlbiBudXIgbm9jaCBuZXJ2aWcgaXJnZW5kd2Fubi4KYikgRGFzIG1pdCBkZW0gInNjaGxhZmUgZWluIiBpc3QgZWluIE1vcmdlbkdyYXVlbi1zcGV6aWZpc2NoZXIgU0VSVklDRSwgZGFzCiAgIE5vcm1hbGUgaXN0LCBkYXNzIG1hbiBzaWNoIGFtIEVuZGUgZWluZXIgc2Vzc2lvbiBhdXNsb2dndCB1bmQgc2ljaCBiZWltCiAgIG5hZWNoc3RlbiBNYWwgbmV1ZSBTYWNoZW4gYmVzb3JndC4gV2VubiBpaHIgYWxzbyBpbW1lciBudXIgZWluc2NobGFmdAogICB1bmQgZGFubiBlcndpc2NodCBldWNoIGVpbiBOZXVzdGFydCwgZGFubiBpc3QgZGFzIEJlcnVmc3Jpc2lrby4KICAgU2llaGUgZGF6dSBhdXNzZXJkZW0gLT4gYSkuClNvLCBkYXMgbXVzc3RlIGljaCBtYWwgd2llZGVyIGxvc3dlcmRlbiwgbmFjaGRlbSBoZXV0ZSB3aWVkZXIgZWluIEhhdWZlbgpydW1nZXJ1ZmVuIHd1cmRlLCB2b24gZGVtIGljaCBsaWViZXIgbmljaHQgc2FnZSwgd2FzIGljaCBkYXZvbiBoYWx0ZS4uLgoKVmllbCBTcGFzcyBpbiBNRyB3dWVuc2NodAogICAgSGlnaGxhbmRlciByeW4gVGFoYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkx1ZnRzY2hsb3NzIChCb2luZywgMzEuIEphbiAxOTk0LCAyMjo1NToyOSk6CkhhbGxvIQpMZWlkZXIgc29yZ3RlIGRhcyBBbHB0cmF1bS1Nb25zdGVyIGZ1ZXIgc2VociB1bnJ1aGlnZW4gU2NobGFmLCBzbyBkYXNzCmRlciBadWdhbmcgenVtIFRyYXVtc2NobG9zcyB2b3JsYWV1ZmlnIGF1cyBTaWNoZXJoZWl0c2dydWVuZGVuIGdlc3BlcnJ0CndlcmRlbiBtdXNzdGUuIEljaCBob2ZmZSBhYmVyLCBkYXNzIHdpciBkaWVzZSBQcm9ibGVtZSBiYWxkIHdpZWRlciBpbQpHcmlmZiBoYWJlbiB1bmQgZGFzIE1vbnN0ZXIgZnVlciBpbW1lciB6dXIgU3RyZWNrZSBnZWJyYWNodCB3aXJkLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbnRpLUF0bGFudGlzLUVmZmVrdCBiZW9iYWNodGV0ISAoVHJveSwgIDUuIEFwciAxOTk0LCAxMjo0Mzo1MSk6CldpZSBoZXV0ZSB2b24gdW5zZXJlbSBQb2xhcmtvcnJlc3BvbmRlbnRlbiB2ZXJsYXV0ZXRlLCBpc3QgZWluZSBTdGFkdCBhdXMKZGVtIE1lZXIgZW1wb3JnZXN0aWVnZW4uIERpZXNlIFN0YWR0IGhlaXNzdCBNb3Vsb2tpbiB1bmQgbGllZ3Qgb2VzdGxpY2ggZGVzCkhleGVud2FsZGVzICh1bmQgZWluIGd1dGVzIFN0dWVjayBkdXJjaCBkaWUgVHVuZHJhKS4gT2ZmZW5iYXIgd2FyIGdyb3NzZQpPc3Rlci0gdW5kIFBvbGFybWFnaWUgYW0gV2Vya2UsIGRlbm4gZGllIFN0YWR0IGVyc3RyYWhsdGUgaGV1dGUgYmVyZWl0cyBpbQptb3JnZW5kbGljaGVuIFNjaGVpbiB1bmQgd2FydGV0ZSBhdWYgQmVzdWNoZXIuIERlciBGcmVtZGVudmVya2VocnN2ZXJlaW4KdW5kIGRlciBXb2xwZXJ0aW5nZXItRmFuY2x1YiBzY2hsYWdlbiBlaW5lIGtvbWJpbmllcnRlIEdlYmlyZ3MtUG9sYXJ0b3VyCm1pdCBHbGV0c2NoZXJ3YW5kZXJ1bmcgdm9yLiBBbHMgQXVzZ2FuZ3NwdW5rdCB3aXJkIGVudHdlZGVyIE1vdWxva2luIG9kZXIKZGFzIEdlYmlyZ3Nkb3JmIGVtcGZvaGxlbi4gRXMgd2lyZCBnZXJhdGVuLCB3YXJtZSBLbGVpZHVuZyBtaXR6dW5laG1lbi4KCkRpZSBSZWRha3Rpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb3BoZXIgZGllIDIuIChUcm95LCAxNS4gQXByIDE5OTQsIDEwOjE3OjExKToKQWxzbywgd2VycyB1ZWJlciBkZW4gR29waGVyIGVpbmZhY2hlciBoYWJlbiB3aWxsIGthbm4gZm9sZ2VuZGVzIHZlcnN1Y2hlbjoKMS4gR29waGVyIGVpbmxvZ2dlbiAoei5CLiB0ZWxuZXQgZ29waGVyLnRoLWRhcm1zdGFkdC5kZSkKICAgKGxvZ2luOiBnb3BoZXIpCjIuIDEzIChWZXJiaW5kdW5nIHp1IGFuZGVyZW4gSW5mb3JtYXRpb25zc3lzdGVtZW4pIHdhZWhsZW4KMy4gMiAoR29waGVyIGluIERldXRzY2hsYW5kKQo0LiAxMDcgKFVuaSBTdHV0dGdhcnQgLSBHb3BoZXIpCjUuIDMgKGdvcGhlcikgdW5kIDEgKGRhdGEpCjYuIDEyIChGdW4gJiBHYW1lKQo3LiAyIChNVUQgR29waGVyIFR1ZWJpbmdlbikKOC4gOCAoTW9yZ2VuR3JhdWVuKSB3YWVobGVuCmFsc28genVzYW1tZW5nZWZhc3N0OiBlaW5sb2dnZW47IDEzOyAyOyAxMDc7IDM7IDE7IDEyOyAyOyA4LiBVbmQgTG9zIGdlaHRzLgooZGllIFZlcmJpbmR1bmcgaXN0IHp1bWluZGVzIHZvbiBIYW1idXJnIGF1cyBzY2huZWxsZXIsIGFscyBkaWUgdm9uIEFzbW9kaXMKdm9yZ2VzY2hsYWdlbmUuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBQ0hUVU5HOiBCZXNjaHdlcmRlIGluIGRlLmNvbW0uaW50ZXJuZXQgKFJvY2h1cywgMTUuIEFwciAxOTk0LCAxMzowNjowOCk6CgpJbiBhcnRpY2xlIDwyb2pmNW4kMTYxNEBvYmVsaXgudW5pLW11ZW5zdGVyLmRlPiBvYnN0b0Bhc3Rlcml4LnVuaS1tdWVuc3Rlci5kZQooT2xpdmVyIE9ic3QpIHdyaXRlczoKPiBNYXJrdXMgU3R1bXBmIChzdHVtcGZASW5mb3JtYXRpay5UVS1NdWVuY2hlbi5ERSkgd3JvdGU6Cj4gOiBEYXp1IGtvbW10IGFiZXIgYXVjaCBlaW5lIGdld2lzc2UgQmVyZWl0c2NoYWZ0IHZvbiBTZWl0ZW4gZGVyIEJlbnV0emVyIQo+IFdpZSBpc3QgZGFzIG1pdCBkZW4gTVVELVN1ZWNodGlnZW4sIGRpZSBuaWNodCBudXIgZGFzIE5ldHogYmVsYXN0ZW4sCnNvbmRlcm4KPiAtd2VubiBzaWUgZXMgdm9uIGRlciBVbmliaWJsaW90aGVrIGF1cyBtYWNoZW4gdW5kIG5pY2h0IHZvbiB6dWhhdXNlLSBhdWNoCj4gdmVyaGluZGVybiwgZGFzcyBqZW1hbmQgYW5kZXJlcyBhbiBkZW4gUEMga29tbXQgKHVtIHZpZWxsZWljaHQgaW0gT1BBQyB6dQo+IHN1Y2hlbiBvZGVyIHNvbnN0ICJ3aXNzZW5zY2hhZnRsaWNoIiB6dSBhcmJlaXRlbj8KCklzdCBlcyBkZW5uIHNvIHNjaHdlciwgZGVuIEhpbndlaXMgYW0gQW5mYW5nIHp1IGJlZm9sZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llIGtvbW1lIGljaCBzY2huZWxsIGFuIEdlbGQgKEdudWxsaSwgMTguIEFwciAxOTk0LCAxNTo0MjozNyk6CkFuIGFsbGUgZ2VsZGdpZXJpZ2VuIE1VRERFUiEKCk1pciBpc3QgZGllIEt1bmRlIHp1IE9ocmVuIGdla29tbWVuLCBkYXNzIGVzIG51biBpbSBNb3JnZW5ncmF1ZW4gZW5kbGljaAplaW5lIE1vZWdsaWNoa2VpdCBnaWJ0LCB3aWUgbWFuIHNlaW4gR2VsZCBhdWNoIGF1ZiBmcmllZGxpY2hlIFdlaXNlCnZlcm1laHJlbiBrYW5uLiAKRXMgZ2lidCBzZWl0IGhldXRlIGluIGRlciBFbGZlbnNpZWRsdW5nIGluIGRlciBhbHRlbiBWaWxsYSBlaW4gQ2FzaW5vLCBpbiAKZGVtIElociBFdWVyIEdlbGQgdmVyZG9wcGVsbiwgdmVyZHJlaWZhY2hlbiwgamEgc29nYXIgKG1pdCBldHdhcyBHbHVlY2spCmF1Y2ggdmVyc2VjaHN1bmRkcmVpc3NpZ2ZhY2hlbiBrb2VubnQuCkFiZXIsIHNlaWQgYXVmIGRlciBIdXQsIGRlbm4gc28gd2llIGdld29ubmVuIGlzdCBlcyBhdWNoIHNjaG5lbGwgemVycm9ubmVuLgpVbmQgd2VuIGVyc3QgZWlubWFsIGRpZSBTcGllbGxlaWRlbnNjaGFmdCBnZXBhY2t0IGhhdCwga2FubiBhdWNoIHNjaG5lbGwgYWxsCnNlaW4gR2VsZCB2ZXJsaWVyZW4uCgpBbHNvIElociBmcm9laGxpY2hlbiBTcGllbGVyLiBBdWYgenVtIENhc2lubywgZGVubiBtYW4gbXVzcyBqYSBuaWNodCBpbW1lcgpudXIgTW9uc3RlciBhYnNjaGxhY2h0ZW4sIHVtIGFuIHZpZWwgR2VsZCB6dSBrb21tZW4uCgoKVmllbCBTcGFzcyB1bmQgR2x1ZWNrIAoKd3VlbnNjaHQgRXVjaAoKR251bGxpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcXVvdGVkIGFkdmVyYnMgZnVlciBkaWUgU2VlbGUgKEhpZ2hsYW5kZXIsIDIwLiBBcHIgMTk5NCwgMTk6Mjg6MzYpOgpNb2luIEp1bmdzIHVuZCBNYWVkZWxzIQpBbHMgaWNoIGxldHp0aGluIGVpbmUgV29jaGUgaW4gSGFtYnVyZyB3YXIsIGhhdCBzaWNoIGlyZ2VuZHdpZSB2b24gU2VpdGVuCkpvZnMgdW5kIFdvZWxrY2hlbnMgZGVyIFd1bnNjaCBuYWNoIHF1b3RlZCBhZHZlcmJzIGVyZ2ViZW4uIE9LLCBpY2ggaGFiIHNpZQplYmVuIGVpbmdlYmF1dC4gV2FzIGRhcyBpc3Q/Ck5hamEsIGFiIGpldHp0IGthbm4gbWFuIEFNIEVOREUgREVSIEFEVkVSQlMsIGRpZSBtYW4gbmVobWVuIHdpbGwsCmVpbmVuIC8gbWFjaGVuIHVuZCBkYW5hY2ggVGV4dCBzY2hyZWliZW4sIGRlciBzbyB3aWUgZXIgaXN0IGFuIGRpZSBldnRsLgp2b3JoYW5kZW5lbiBhbmRlcmVuIGFkdmVyYnMgYnp3LiBhbiBkYXMgZmVlbGluZyBkaXJla3QgZ2VoYWVuZ3Qgd2VyZGVuLgpOb3RhIGJlbmU6IERpZXMgZ2lsdCBuaWNodCBmdWVyIFZlcmJlbiwgZGllIGtlaW5lIGFkdmVyYnMgc2NobHVja2VuLgpCZWlzcGllbDoKZ3JpbnMgZnJvZSAvdWViZXIgZGllIHZvbGxlbmRldGUgQXJiZWl0CkVyZ2lidDoKRHUgZ3JpbnN0IGZyb2VobGljaCB1ZWJlciBkaWUgdm9sbGVuZGV0ZSBBcmJlaXQuCkltIFp1c2FtbWVuaGFuZyBtaXQgbWVocmVyZW4gQWR2ZXJiaWVuIGdlaHQgbmF0dWVybGljaCBhdWNoIHNvIHdhcyB3aWUKZ3JpbnMgZnJlYyB1bmQgZnJvZSB1bmQgam9maSB1bmQgL2F1cyBQcmluemlwCldpZSBnZXNhZ3Q6IEFMTEVTIGFiIGRlbSAvIHdpcmQgZ2VxdW90ZWQhISEgIFVuZCB2b3IgZGVtIC8gbXVzcyBlaW4gTGVlci0KemVpY2hlbiBzZWluLgpWaWVsIFNwYXNzIG1pdCBkZXIgbmV1ZXN0ZW4gTmV1ZXJ1bmcgdm9tIFNlZWxlbmtsZW1wbmVyCiAgICBIaWdobGFuZGVyIHJ5biBUYWhhcgoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZHZlcmJpZW4gbGlzdGVuIChIaWdobGFuZGVyLCAgNS4gTWFpIDE5OTQsIDEzOjA5OjM5KToKTW9pbi4KU3RhdHQgbWVocmVyZSBBZHZlcmJpZW4gbWl0ICJ1bmQiIHp1IHRyZW5uZW4sIGthbm4gbWFuIHNpZSBqZXR6dCBhdWNoIG1pdApLb21tYXMgdHJlbm5lbi4gQXVzbmFobWU6IFp3aXNjaGVuIGRlbiBsZXR6dGVuIGJlaWRlbiBtdXNzIGVpbiB1bmQgc3RlaGVuLApzb25zdCBrYW5uJ3MgUHJvYmxlbWUgZ2ViZW4uClVuZDogTmFjaCBkZW0gS29tbWEgbXVzcyBlaW4gTGVlcnplaWNoZW4gc3RlaGVuLgpCc3A6ICBncmlucyBqb2YgZnJlYywgZnJvZSwgam9maSB1bmQgL2d1dGdlbGF1bnQKQ2lhbywKICAgICBIaWdobGFuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5HcmF1ZW4gaW0gQnVjaCEgKEFyaW8sIDEyLiBNYWkgMTk5NCwgMDA6MjY6MTYpOgpMaWViZSBMZXV0ZSwKd2VuIGVzIGludGVyZXNzaWVydDogTW9yZ2VuR3JhdWVuIGhhdCBlcyB6dSBlaW5lciBCdWNodmVyb2VmZmVudGxpY2h1bmcKZ2VicmFjaHQuIDstKSBJY2ggZ2ViZSB6dSwgZGFzcyBpY2ggZGFyYW4gU2NodWxkIGJpbi4gSWhyIHNvbGx0IGVzIGphCmF1Y2ggbmljaHQga2F1ZmVuLCBhYmVyIHZpZWxsZWljaHQgYmxhZXR0ZXJ0IGlociBlcyBtYWwgaW0gTGFkZW4gZHVyY2guIFRpdGVsCklOVEVSTkVUIChpbSBTeWJleCBWZXJsYWcpIFMuIDEzOS0xNTUuIEZ1ZXIgQW5yZWd1bmdlbiB1bmQgS3JpdGlrCndhZXJlIGljaCBkYW5rYmFyLgpWaWVsZSBHcnVlc3NlLAoKQXJpbyAoYWx2MDNAcnMzLnJyei51bmkta29lbG4uZGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBY2h0dW5nIFJvbGxlbnNwaWVsZXIhISEgKER1cmlhbiwgIDcuIEp1biAxOTk0LCAxMDo0MjowNCk6CkhhbGxvIFJvbGxlbnNwaWVsZXIhCk1pciB3dXJkZSBhdWZnZXRyYWdlbiwgZGllc2UgTmFjaHJpY2h0IHp1IHZlcmJyZWl0ZW4sIHdhcyBpY2ggaGllcm1pdApnZXRhbiBoYWJlbiB3aWxsLgoKLS0tLS0tLS0tc2NobmlwcGVsIC0tLSBzY2huaXBwZWwgLS0tIHNjaG5pcHBlbCAtLS0gc2NobmlwcGVsIC0tLS0tLS0tLQoKQ2hhb3MgQ09OIENsYXVzdGhhbApBY2h0dW5nIFJvbGxlbnNwaWVsZXIhCgpBbSAwMy4wNy4xOTk0IGxhZGVuIHdpciBhbGxlIFJvbGxlbnNwaWVsZXIgdW5kIGRpZSwgZGllIGVpbmZhY2ggbWFsIGluIGRpZXNlcwpIb2JieSBgcmVpbnNjaG51cHBlcm4gd29sbGVuLCB6dW0gZXJzdGVuIFJvbGxlbnNwaWVsLUNPTiBpbiBDbGF1c3RoYWwgZWluIQoKV0FOTj8KQW0gMDMuMDcuMTk5NCBhYiAxMjowMCBNaXR0YWdzCgpXTz8KSW0gS2VsbGVyY2x1YiBpbiBkZXIgU2lsYmVyc3RyYXNzZSBpbSBTVFVaIGluIDM4Njc4IENsYXVzdGhhbC1aZWxsZXJmZWxkLg0KCldBUyBQQVNTSUVSVCBEQT8KVW50ZXJoYWx0dW5nZW4sIERpc2t1c3Npb25lbiB1bmQgU3BpZWxydW5kZW4gdWViZXIgUm9sbGVuc3BpZWxlIHVuZCBkZXJlbgpIaW50ZXJncnVuZC4KR2VicmF1Y2h0LVJvbGxlbnNwaWVsLUJvZXJzZS4KVmVya2F1ZiB2b24gUm9sbGVuc3BpZWxlbiB1bmQgWnViZWhvZXIuCgpXQVMgV0lSRCBHRVNQSUVMVD8KQmlzaGVyIGFuZ2VtZWxkZXRlIFJvbGxlbnNwaWVsZ3J1cHBlbjoKTWlkZ2FyZCwgQUQmRCwgUFAmUCwgUGFyYW5vaWEsIERyZWFtIFBhcmssIFBhbGxhZGl1bSwgRFNBLCBHVVJQUywgV0ZSUCwKU2hhZG93cnVuCgpXQVMgS09TVEVUIERBUz8KTmljaHRzLgoKV0FTIE5PQ0g/CkRlciBLZWxsZXJjbHViIGhhdCBTY2hhbmtyZWNodCAtIEJpdHRlIGtlaW5lIGVpZ2VuZW4gR2V0cmFlbmtlIG1pdGJyaW5nZW4sCmRlciBLZWxsZXJjbHViIGlzdCBTRUhSIGd1ZW5zdGlnLgoKSU5GTyBVTkQgRlJBR0VOOgpDaHJpc3RpYW4gSGFuaXNjaCAoMDUzMjMpODM2NzYKCi0tLS0tLS0tLXNjaG5pcHBlbCAtLS0gc2NobmlwcGVsIC0tLSBzY2huaXBwZWwgLS0tIHNjaG5pcHBlbCAtLS0tLS0tLS0KCgpJaHIga29lbm50IEluZm9zIGFiZXIgYXVjaCBkaXJla3QgYmVpIG1pciBiZWtvbW1lbi4gU2NocmVpYnQgbWlyIGhpZXIKaW4gTUcgZWluZW4gQnJpZWYsIG9kZXIgc2VuZGV0IG1pciBlaW5lIG1haWwgdmlhIGVtYWlsIGFuIApnZWhya2VAaWJyLmNzLnR1LWJzLmRlIHVuZCBpY2gga2FubiBtaXQgd2VpdGVyZW4gSW5mb3MgKFBvc3RzY3JpcHQKZmlsZXMgbWl0IFdlZ2Jlc2NocmVpYnVuZ2VuIGV0Yy4pIHZlcnNvcmdlbi4KCkljaCBob2ZmZSBhdWYgc3RhcmtlIFJlc29uYW56IC4uLgoKLSBEdXJpYW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZXNldHRlbi4uLiAoSGlnaGxhbmRlciwgIDguIEp1biAxOTk0LCAxODoyNToyOCk6CkhhbGxvLgpIbSwgd2FyIGRhcyBqZXR6dCBkZXIgZnJldW5kbGljaGUgVGVpbCBkZXMgVGV4dGVzPwpJY2ggaGFiIGhldXRlIGVpbmUgX3NjaGxlY2h0ZV8gTGF1bmUuClp1ciBGcmFnZSAia2FubiBtYWwgamVtYW5kIGRpZXNlcyB1bmQgamVuZXMgcmVzZXR0ZW4iLCBkaWUgaW4gbGV0enRlciBaZWl0CmltbWVyIHdpZWRlciBtYWwgYXVmdGF1Y2h0OgoKYSkgS29lbm5lbjogSkEuCmIpIER1ZXJmZW46IE5FSU4uIFJlZ2VsIDEgZnVlciBNYWdpZXIuIE5pY2h0ZWlubWlzY2h1bmcgYXVzc2VyIGJlaSBGZWhsZXJuLgpjKSBVTkQgV09MTEVOIElOIERFUiBSRUdFTCBBVUNIIE5JQ0hUIQoKSHJtcGYsIGRhcyB3b2xsdGUgaWNoIG1hbCBsb3N3ZXJkZW4uCgogICBIaWdobGFuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoiemllaCBhbGxlcyBhbiIgKEpvZiwgIDkuIEp1biAxOTk0LCAxNjo0Nzo0Mik6CiAuLi4gaXN0IHNlaXQgZGVtIGxldHplbiBSZWJvLi4uIGFlaCBDcmFzaCBkYSAtIGthbm4gZ2FueiBudWV0emxpY2ggc2Vpbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClR1cm5pZXIgKEFzbW9kaXMsICAxLiBBdWcgMTk5NCwgMjI6MjU6NDQpOgpIaWhvLCBNdWRkaWVzCgpEYSB3aXIgbnVuIHNvIGVpbmUgc2Nob2VuZSBBcmVuYSBoYWJlbiwgdW5kIHNpZSBkYXp1ICdtaXNzYnJhdWNodCcgd2lyZCwKdW0gYXJtZSBoaWxmbG9zZSBOUEMtR2xhZGlhdG9yZW4gYWJ6dXNjaGxhY2h0ZW4sIGRhY2h0ZSBpY2ggbWFsLCBlcwp3YWVyZSB2aWVsbGVpY2h0IGd1dCwgZWluIFR1cm5pZXIgenUgdmVyYW5zdGFsdGVuLgpUZWlsbmFobWViZXJlY2h0aWd0IHdhZXJlbiBhbGxlIE1VRERFUiwgd29iZWkgc2llIG51ciBnZWdlbiBTcGllbGVyIG1pdAphZWhubGljaGVyIFN0YWVya2UgYW50cmV0ZW4gc29sbHRlbiwgYWxzbyBuaWNodCBTZWhlciBnZWdlbiBBbmZhZW5nZXIsCmRhcyB3YWVyZSBsYW5nd2VpbGlnLCB1bmQgdmllbCB6dSBzY2huZWxsIGVudHNjaGllZGVuLgpXaWUgaWNoIGhldXRlIHRlc3RlbiBkdXJmdGUsIHNvbGx0ZSBtYW4gZGllIFZvcnNpY2h0IG5pY2h0IHp1IG5pZWRyaWcKYW5zZXR6ZW4sCmljaCBiaW4gaGV1dGUgaW0gS2FtcGYgZ2VnZW4gWmFyZG96IGdlc3RvcmJlbiwgaWNoIGhhdHRlIFZvcnNpY2h0IDUwLCB1bmQKWmFyZG96IGhhdHRlIGRlbgpTY2huZWxsLVNwcnVjaCBha3RpdmllcnQsIHVuZCBtaXQgQnVtZXJhbmcsIEZldWVyYmFlbGxlbiB1bmQgQlMtU2Nod2VydApkcmF1ZmdlaGF1ZW4uIEhhdCBtaWNoIGphIG51ciBlaW5lIE1pbGxpb24gRVAgZ2Vrb3N0ZXQgOikKRGFydW0gc2NobGFnZSBpY2ggdm9yLCBkaWUgVm9yc2ljaHQgZWluaGVpdGxpY2ggYXVmIDgwIHp1IHN0ZWxsZW4KKEJlaSBTcGllbGVybiBtaXQga2xlaW5lcmVtIExldmVsIGVudHNwcmVjaGVuZCBuaWVkcmlnZXIpICEhCldhcyBkaWUgQXVzcnVlc3R1bmcgYW5nZWh0LCBrb2VubnRlIG1hbiBBdXNydWVzdHVuZyBzdGVsbGVuLCBkLmguIFBhbnplciwKV2FmZmUsIHNvbnN0aWdlbiBLcmltc2tyYW1zOyBtYWdpc2NoZSBXYWZmZW4gc29sbHRlbiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLgoKRmFsbHMgc28gZWluIFR1cm5pZXIgYXVmIFp1c3RpbW11bmcgc3RvZXNzdCwgYml0dGUgaWNoIHVtIEFudHdvcnQuCkRlciBBdXN0cmFndW5nc3RhZyB3YWVyZSBkYW5uIG5hY2ggZGVuICdGZXJpZW4nLCB3ZWlsIHNvbnN0IHp1IHdlbmlnCktvbnRyYWhlbnRlbiBhdWZ6dXRyZWliZW4gc2luZC4KCiAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBFdWVyIE5vY2gtUmFuZ2xpc3Rlbi1FcnN0ZXIgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2lsZGVuIChTY2hsb256LCAgMi4gQXVnIDE5OTQsIDExOjI1OjQzKToKSGFsbG8sCiBhbHNvIGRhcyBtaXQgZGVtIEdpbGRlbnN5c3RlbSBpc3Qgd2lya2xpY2ggZWluZSB0b2xsZSBJZGVlLiBWZXJzY2hpZWRlbmUKR2lsZGVuIGFuIHZlcnNjaGllZGVuZW4gT3J0ZW4gKGRpZSBtYW4gZXZ0LiBub2NoIGZpbmRlbiBtdXNzLCB6LiBCLiBlaW5lCkRpZWJlcy1HaWxkZSBzb2xsdGUgc2VociB2ZXJzdGVja3Qgc2VpbikgZmVobHQgd2lya2xpY2ggbm9jaCBpbiBkaWVzZW0gTXVkLiBEYQpzaW5kIGFiZXIgbm9jaCB2aWVsZSBGcmFnZW4gb2ZmZW4uIFouQi4ga2FubiBtYW4gZGllIEdpbGRlIHdlY2hzZWxuID8gV2VubiBqYSwKd2VsY2hlIE5hY2h0ZWlsZSBicmluZ3QgZGllcyBtaXQgc2ljaCA/IE1hbiBrb2VubnRlIGphIHNhZW10bGljaGUgVm9ydGVpbGUgZGllCm1hbiBzaWNoIGltIGxhdWZlIGRlciBaZWl0IGluIGVpbmVyIEdpbGRlIGFuZ2VlaWduZXQgaGF0IGF1ZiBlaW5lbiBTY2hsYWcKd2llZGVyIHZlcmxpZXJlbiBvZGVyIG1hbiB3aXJkIG5pZSB3aWVkZXIgaW4gZGllIHZlcmxhc3NlbmUgR2lsZGUgYXVmZ2Vub21tZW4uCkRhIHVlYmVybGVndCBtYW4gZXMgc2ljaCBkb2NoIGdsZWljaCBub2NoIGVpbm1hbC4KRXMgd2lyZCB3b2hsIG5vY2ggZWluaWdlIHplaXQgdmVyZ2VoZW4gYmlzIHdpciBpbiBkZW4gR2VudXNzIGRpZXNlcyBuZXVlbgpLb256ZXB0ZXMga29tbWVuLCBkZW5uIGVzIGlzdCBlaW5lIHJpZXNlbiBBdWZnYWJlIGZ1ZXIgZGllIE1hZ2llci4KCkNpYW8KCiAgU2NobG9uegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdpbGRlbiAoRGFuY2VyLCAgNC4gQXVnIDE5OTQsIDAxOjIwOjA4KToKSG8gaG9vb29vIDotKQpKZXR6dCBsYXNzdCBIaWdobGFuZGVyIGRvY2ggZXJzdG1hbCBMdWZ0IGhvbGVuIHVuZCBpbiBSdWhlIGRhcyBHaWxkZW5zeXN0ZW0KYXVmIGRpZSBCZWluZSBzdGVsbGVuLCBkYW5uIHdlcmRlbiBzaWNoIEV1cmUgRnJhZ2VuIHNpY2hlcmxpY2ggYmFsZAprbGFlcmVuLi4uaWNoIHNjaGFldHplIG1hbCwgZGFzIHdpcmQgbm9jaCBlaW4gd2VuaWcgZGF1ZXJuIDotKQoKRGVyLWluLWVpbmVtLUJlcmctdm9uLUFyYmVpdC12ZXJzaW5rZW5kZS11bmQtZGVzaGFsYi1zY2hyZWNrbGljaC13ZW5pZy0KenVtLU11ZHNwaWVsZW4ta29tbWVuZGUKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3YXMgYW5kZXJlczopIChCbGFja3ksICA0LiBBdWcgMTk5NCwgMjE6MjI6MTUpOgpIYWxsbyBhbGxlIHp1c2FtbWVuOikKCktlaW5lIEFuZ3N0ISBEYXMgd2lyZCBrZWluIFZlcnJpc3MgdWViZXIgUXVlc3RzIG9kZXIgWlRzIG9kZXIgaXJnZW5kd2VsY2hlClJldm8KdXRpb25hZXJlbiBHZWRhbmtlbiwgYWJlciBkZXIgQXJ0aWtlbCBsaWVndCB0aGVtYXRpc2NoIGRvY2ggZWluIHdlbmlnIGltClRyZW5kCmRlciB2ZXJnYW5nZW5lbiBXb2NoZW4uCgpJY2ggbWVpbmUsIG1hbiBrYW5uIHVlYmVyIGRpZSBNYWdpZXIgdmllbCBsYWVzdGVybiB1bmQgZXJ6YWVobGVuIChtYW5jaGUKaGFiZW4KcyB2ZXJkaWVudCA7KSApLCBhYmVyIGVpbmVzIE1VU1MgaWNoIGlobmVuIGFsbGVuIGJlc2NoZWluaWdlbjoKClNvYmFsZCBlaW4gZXJuc3RoYWZ0ZXMgUHJvYmxlbSBhdWZ0YXVjaHQsIHJlaXNzZW4gc2llIHNpY2ggZGVuIEFyc2NoIGF1ZgoodmVyemUKaWh0IGRlbiBBdXNkcnVjayksIHVtIGRhcyBQcm9ibGVtIHp1IGJlc2VpdGlnZW4uIEF1Y2ggc29uc3Qgd2FyZW4gQUxMRSBNYWdpZXIKaQptZXIgc2VociBoaWxmc2JlcmVpdCwgd2VubiBlcyB1bSBpcmdlbmR3ZWxjaGUgS2xlaW5pZ2tlaXRlbiBnaW5nLiBEYXMgZGVyCmVpbmUKYWdpZXIgZWhlciBlaW4gcmF1aGVzIEdlbXVldCBoYXQgKEhhbGxvIEhhdGU6KSkgdW5kIGFuZGVyZSB3aWVkZXJ1bSBzZWhyCnZlcnNwaQosIHNvcnJ5LCB2ZXJzcGllbHQgc2luZCB1bmQgbnVyIFVuc2lubiBpbSBLb3BmIGhhYmVuIChoaWVyIGZhbGxlbiBtaXIgenUKdmllbGUKTmFtZW4gZWluLCB3ZWhlIGVzICJ6YXBwdCIgbWljaCB3aWVkZXIgZWluZXIpLCBkYXNzIGxpZWd0IHdvaGwgaW4gZGVyIE5hdHVyCmRlcgpTYWNoZS4KCkljaCB3aWxsIGpldHp0IGhpZXIgbmljaHQgZGFzIExvYmVzbGllZCBhdWYgZGllIE1hZ2llciBzaW5nZW4gKG9kZXIgZG9jaD8/KSwKYWIKciBlaW4gYmlzc2NoZW4gVmVyc3RhZW5kbmlzIHRhZXRlIHNvIG1hbmNoZW0gU3BpZWxlciBndXQhISEgQXVzc2VyZGVtIHN0b2VydGUKZQogbWljaCwgZGFzcyBlcyBpbW1lciBNYWdpZXItU2NoYWVsdGUgaW4gZGVyIFplaXR1bmcgenUgbGVzZW4gZ2FiOikKCkRvY2ggd2FocmxpY2ggc2VoZSBpY2ggZG9jaCBhdWNoIGVpbmVuIGR1bmtlbGVuIEZsZWNrIGltIE1hZ2llcmhpbW1lbCB1bmQKemVpZ2UKbWl0IGVyYm9zdGVtIEZpbmdlciBnZW4gQm9ubiB6dSBlaW5lbSBGcmlzY2hsaW5nISEhIEdlc3Rlcm4gbm9jaApHZWZsdWVnZWxzY2hhZQpkZXIsIGhldXRlIHNjaG9uIFJ1Zm1vZXJkZXIgZWluZXMgQmVydWZzc3RhbmRlczooLi4uLgoKQmlzIGRlbWFlY2hzdCBhdWYgTG9saXRhcyB1bmQgbWVpbmVyIEhvY2h6ZWl0LihkaWUgdmVyendlaWZlbHRlIFRlcm1pbnN1Y2hlCmlzdAppbiBkZXIgaGVpc3NlbiBQaGFzZSkKCgogICAgICAgICAgICAgIEV1ZXIgQmxhY2t5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIEdlc2NoaWNodGUgd2llZGVyaG9sdCBzaWNoLi4uIChBcmllbiwgIDYuIEF1ZyAxOTk0LCAxODoyODozMyk6ClNjaGFkZSEgV2llIGVzIGF1c3NpZWh0LCBzY2hlaW5lbiBzaWNoIGdld2lzc2UgRW50d2lja2x1bmdlbiBpbiBqZWRlbSBNdWQKenUgd2llZGVyaG9sZW4uIERpZSB1ZWJsZSBTdGltbXVuZyB1bmQgZGVyIGFyZyBiZWxlaWRpZ2VuZGUgVW1nYW5nc3RvbiwgZGVyCm1pdHRsZXJ3ZWlsZSBpbSBQYW50aGVvbiB2b24gVU5JdG9waWEgRWluenVnIGdlaGFsdGVuIGhhdCwgZHVlcmZ0ZSBqYSBhdWNoCmhpZXIgdmllbGVuIGJla2FubnQgc2Vpbi4gVW0gc28gc2NobGltbWVyLCBkYXNzIHNpY2ggYXVjaCBoaWVyIGRpZSBlcnN0ZW4KQW56ZWljaGVuIGZ1ZXIgZWluZSBFbnR3aWNrbHVuZyBpbiBkaWVzZSBSaWNodHVuZyBlaW5zY2hsZWljaGVuLiBJY2ggYmluIGhpZXIKendhciBudXIgQW5mYWVuZ2VyaW4gdW5kIGhhYmUgbm9jaCBuaWNodCBhcmcgdmllbCBtaXRiZWtvbW1lbiwgYWJlciBkaWUgV2Fybi0KemVpY2hlbiBhdXMgVU5JIHNpbmQgbWlyIHp1ciBHZW51ZWdlIGJla2FubnQuIEljaCBoYXR0ZSBnZWhvZmZ0LCBkYXNzCmVpbiBNdWQgbWl0IHZlcnNhdXRlciBTdGltbXVuZyBhbHMgYWJzY2hyZWNrZW5kZXMgQmVpc3BpZWwgdm9lbGxpZyBnZW51ZWdlbgp3dWVyZGUsIGFiZXIgbWl0IHp1bmVobWVuZGVyIE1hZ2llcmFuemFobCBzY2hlaW5lbiBzaWNoIGRpZSBnbGVpY2hlbiBQcm9ibGVtZQp1ZWJlcmFsbCBlaW56dXNjaGxlaWNoZW4uIE51ciBiaXR0ZSBiaXR0ZSBiaXR0ZSBtYWNodCBuaWNodCBkaWUgZ2xlaWNoZW4KRmVobGVyLiBXaWUgaGVpc3N0IGVzIGRvY2ggc28gc2Nob2VuLi4ud2VocmV0IGRlbiBBbmZhZW5nZW4gOikKQXJpZW4gLSBBbmZhZW5nZXJpbiwgYWJlciBub2NoIGhvZmZudW5nc3ZvbGwgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZXZlbCAyMCAhISEgKE1vcmdvdGgsICA4LiBBdWcgMTk5NCwgMDg6NDM6MDUpOgpIYWxsby4uLgppY2ggaGFldHRlIGRhIG1hbCAnbmUgaWRlZShkaWUgc2Nob24gdGF1c2VuZGUgdm9yIG1pciBoYXR0ZW4pLgpXaWUgd2FlcmUgZXMsIGRlbiBsZXZlbCBhdWYgMjAgenUgZXJob2VoZW4sIGF1Y2ggd2VubiBtYW4gbm9jaCBuaWNodCBkaWUgQVAncwpoYXQsIGRpZSBtYW4gYmVub2V0aWd0IHVtIFNlaGVyL01hZ2llciB6dSB3ZXJkZW4uCkFsbGVyZGluZ3MgZGFubiBvaG5lIFNlaGVyL01hZ2llciBlaWdlbnNjaGFmdGVuLi4gYWxzbyBzbyB1bmdlZmFlaHIuLi4KTW9yZ290aCBkZXIgYW5nZWhlbmRlIFNlaGVyLCBMZXZlbCAyMSAob2RlciBzbykKRGFubiB3YWVyZSBlcyBuaWNodCBzbyBhZXJnZXJsaWNoLCB3ZW5uIG1hbiBtZWhyIGFscyBlaW5lIE1pbGxlIEVQIGhhdCB1bmQKZHVyY2ggZWluZW4gZHVtbWVuIHp1ZmFsbCBnZXRvZXRldCB3aXJkICh6LkIuOiBkdXJjaCBkaWUgc2NoLi5vZW5lIEh5ZHJhKSAhISEKV2VubiBtYW4gZXMgZGFubiB6dW0gU2VoZXIvTWFnaWVyIGdlc2NoYWZmdCBoYXQsIGtvZW5udGUgbWFuKG1hZ2llcikgamEKZWluZSBrbGVpbmUgRVAtU3RyYWZlIGVpbmJhdWVuPyE/IT8KVW5kLi4ud2llIHdhZXJzIG1pdCBTZWhlcm1hZ2llPz8KU3BlbGxzIG51ciBmdWVyIFNlaGVyIDoKTGljaHQgMS0yIE1QL01pbnV0ZQpCbGl0eiAzMC01MCBNUCB3aXJrdCB3aWUgRmV1ZXJiYWxsIGF1ZiBNb25zdGVyZ3J1cHBlIChkcmVpIG9ya3Mgb2RlciBzbykKSGVpbHVuZyA8eCBMUD4gIDN4IE1QL0xQCi4uLi4udXN3Li4uIGxhc3N0IGV1Y2ggbWFsIHdhcyBlaW5mYWxsZW4uLi4uLi4uLi4Kc28gZGFzIHJlaWNodCBlcnNtYSAgIDotKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNub29wZW4gKEpvZiwgIDguIEF1ZyAxOTk0LCAxMjozOToyOCk6CiBCZWkgZXVjaCB3YXIgb2ZmZW5iYXIgZGVyIEVpbmRydWNrIGVudHN0YW5kZW4sIGlociB3dWVyZGV0IGxhdWZlbmQKZ2Vzbm9vcGVkLgooTmljaHQgYmVpIGFsbGVuLCBhYmVyIGJlaSBlaW5pZ2VuLi4uKSBVbSBkZW0gRWluZHJ1Y2sgdm9yenViZXVnZW4sIGhhYmVuCndpciBlaW4gcGFhciBrbGVpbmVyZSBBZW5kZXJ1bmdlbiB2b3JnZW5vbW1lbjoKIDEpIFNub29wcyB3ZXJkZW4gZ2Vsb2dndCAtIHdlbm4gaWhyIGRlbiBWZXJkYWNodCBoYWJ0LCBpaHIgd2FlcnQgYmVpCgpQcml2YXRnZXNwcmFlY2hlbiBnZXNub29wZWQgd29yZGVuLCB3ZW5kZXQgZXVjaCBhbiBlaW5lbiBFcnptYWdpZXIgLQplcyBpc3QgamV0enQgbmFjaHZvbGx6aWVoYmFyLgogMikgQWxsZSBNYWdpZXIgc2VoZW4gYWxsZSBTbm9vcHMuIEdsYXVidCBtaXIsIGRhcyBlcmhvZWh0IGRpZSBIZW1tc2Nod2VsbGUuCgogSWNoIGhvZmZlLCBkYW1pdCBkYXMgR2VmdWVobCBkZXMgJ3N0YWVuZGlnIGJlb2JhY2h0ZXQgc2VpbnMnIGJlaSBldWNoIHp1Cm1pbGRlcm4gb2RlciBiZXNlaXRpZ2VuIC0gbWVpbmVyIE1laW51bmcgbmFjaCB3YXIgZXMgZWggdW5iZWdydWVuZGV0LCB3ZW5uJwppY2ggbmFjaGdlc2VoZW4gaGFiZSwgd2FyZW4gcHJha3Rpc2NoIG5pZSBTbm9vcHMgYWt0aXYgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHVybmllciAoRmxpbnRuYWlsLCAgOC4gQXVnIDE5OTQsIDE1OjA2OjIxKToKVHVybmllciBmaW5kIGljaCBndXQuLi4uYWxsZXJkaW5ncyBkYW5uIGF1Y2ggamVkZXIgbWl0IGdsZWljaGVyIEF1c3J1ZXN0dW5nCm9obmUgTWFnaWV2b3J0ZWlsLi4uLm5hY2ggU3RhdHMgZ2VvcmRuZXQuLi4uaGllcmJlaSB2aWVsbGVpY2h0IGVpbiBTcHJ1bmcKKGdlZGFua2xpY2gpIGluIFJpY2h0dW5nIEthZW1wZmVyLUdpbGRlIGFuIGRlciBBcmVuYT8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBHZXNjaGljaHRlIHdpZWRlcmhvbHQgc2ljaC4uLiAoQXNtb2RpcywgIDguIEF1ZyAxOTk0LCAyMTozNDozMSk6CkdlbmF1LCB3ZWhyZXQgZGVuIEFuZmFlbmdlbiwgZGllIE1hZ2llcndlcmR1bmcgc29sbCBuaWNodCBhbHMgaG9lY2hzdGVzIFppZWwKZWluZXMgU3BpZWxlcnMgYW5nZXNlaGVuIHdlcmRlbi4KRGVzaGFsYiB3dWVuc2NoZSBpY2ggbWlyIGVuZGxpY2ggZXJ3ZWl0ZXJ0ZSBGYWVoaWdrZWl0ZW4gZnVlciBTZWhlciwKYnp3LiBJbnN0YWxsaWVydW5nIGRlciBTZWhlci1IYWV1c2VyLgoKSW4gVU5JdG9waWEgaXN0IGRpZSBTdGltbXVuZyBpbnp3aXNjaGVuIHNvIG1pZXMsIGRhc3MgaWNoIG1pY2gga2F1bSBub2NoIG1hbApkb3J0IGVpbmxvZ2dlLgoKICAgICAgICAgICAgICAgICAgQ2lhbyBBc21vZGlzKExldmVsLTI1LVNlaGVyIHVuZCBVTkl0b3BpYS1Hb3R0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogbmV1ZSBRdWVzdHMgKER1cmlhbiwgIDkuIEF1ZyAxOTk0LCAwODo0Mzo1MSk6CkJpbiBqYSBlaHJsaWNoLCBkaWUgSGludGVyZ3J1bmRnZXNjaGljaHRlIGRlciBQeXJhbWlkZW4gc3RhbW10IGF1Y2ggbmljaHQKdm9uIG1pciAuLi4gZWluemlnIGRpZSBQeXJhbWlkZW4gQW50aGVtb25zIGlzdCBhdWYgbWVpbmVtIE1pc3QKZ2V3YWNoc2VuIC4uLiBKQSwgU0NITEFHVCBNSUNILCBOQSBMT1MgOy0pCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExldmVsIDIwICEhISAoTG9jdXR1cywgIDkuIEF1ZyAxOTk0LCAxMzo0OTozNCk6CkRpZSBJZGVlIGlzdCBzZWhyIGd1dCwgZGEgbWFuIGphIGFscyBhbmdlaGVuZGVyIFNlaGVyL01hZ2llciB2ZXJkYW1tdCB2aWVsZQood2llIGljaCBmaW5kZSB1bnZlcmhhZWx0bmlzbWFlc3NpZyB2aWVsZSkgRVBzIHZlcmxpZXJ0LiBTZWhlciBvZGVyIE1hZ2llciB6dQp3ZXJkZW4gYWIgZWluZXIgYmVzdGltbXRlbiBBUCBaYWhsIGlzdCBqYSBpbiBPcmRudW5nLCBhYmVyIGRhcyBtaXQgZGVtCnZlcndlaHJ0ZW4gTGV2ZWxhbnN0aWVnCmlzdCBzY2hvbiBhZXJnZXJsaWNoLgoKc28gZGFzIHdhZXJzIGRhbm4gZXJzdG1hbC4KTG9jdXR1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgR2VzY2hpY2h0ZSB3aWVkZXJob2x0IHNpY2guLi4gKEhhdGUsICA5LiBBdWcgMTk5NCwgMTQ6NTA6MTQpOgpMaWViZSBTZWhlciwKCmljaCB3dWVyZGUgamEgZ2VybmUsIGFiZXIgaXJnZW5kd2llIGhhYmUgaWNoIG1vbWVudGFuIHdlbmlnIFplaXQgZnVlcgpzb3dhcyB1bmQgZXMgZmluZGVuIHNpY2ggYXVjaCBuaWNodCBnZXJhZGUgc2VociB2aWVsZSBMZXV0ZSBkaWUgbWl0IElkZWVuCnVuZCBLb2VubmVuIChkZW5uIGRhcyBpc3Qgdm9yIGFsbGVtIG5vZXRpZykgYXVmd2FydGVuLiBNaXQgS2lyayBoYWJlIGljaApzY2hvbiBlaW5lbiBBbnNhdHogZnVlciBldHdhcyBTRUhSIGludGVyZXNzYW50ZXMgdW5kIGx1c3RpZ2VzIGdlbWFjaHQsIGFiZXIKZGFzIGRhdWVydCBoYWx0IG5vY2ggZWluZW4gTW9tZW50LgoKTWZnLiBIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogRGllIEdlc2NoaWNodGUgd2llZGVyaG9sdCBzaWNoLi4uIChSb2NodXMsICA5LiBBdWcgMTk5NCwgMTU6MjU6MjEpOgpJY2ggYmFzdGVsIHVlYnJpZ2VucyBhdWNoIGFuIGVpbmVtIEdlYmlldCBmdWVyIGRpZSBhcm1lbiBTZWhlciwgZGVuZW4KYWxsZSBhbmRlcmVuIE1vbnN0ZXIgenUgbGVpY2h0IHNpbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIGluIGRlciBBcG90aGVrZSAoS2V0b3MsIDEwLiBBdWcgMTk5NCwgMjM6NDE6MjUpOgpEaWUgQXBvdGhla2UgaGF0IGlociBBbmdlYm90IGtvbXBsZXR0aWVydCB1bmQgZXJ3ZWl0ZXJ0ICEKVmllbCBTcGFzcyBkYW1pdCEKLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbmZvIChQaWxncmltLCAxMy4gQXVnIDE5OTQsIDEzOjQ5OjM0KToKSGksDQpoaWVyIG1hbCBuZW4gcGFhciBJbmZvcm1hdGlvbmVuIHp1bSBNRzoNCg0KU2FtLCAxMy4gQXVnIDE5OTQsIDEzOjMzOjM4Lg0KDQpTZWl0IGRlbSBsZXR6dGVuIFNodXRkb3duIHNpbmQgMTg1MTk0MyBTZWt1bmRlbiB2ZXJnYW5nZW4uDQpEYXMgc2luZCAyMSBUYWdlLCAxMCBTdHVuZGVuLCAyNSBNaW51dGVuIHVuZCA0MyBTZWt1bmRlbi4NCg0KNDIzIFNwaWVsZXIgTmV0enRvdCAoc2NobGFmZW4pLg0KDQoNCkFsc28gaWNoIHd1ZXJkZSBzYWdlbiwgTUcgbGF1ZWZ0IGdhbnogZ3V0IC4uLg0KKFBpbGdyaW0ga29scGZ0IDNtYWwgYXVmIEhvbHouKQ0KDQpQaWxncmltDQoNCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcmFzaCA/IT8gKENhdHdlYXpsZSwgMTUuIEF1ZyAxOTk0LCAxNzozNDozNyk6CkhpIQpKYSB3byBzaW5kIHNpZSBkZW5uIGFsbGUsIGRpZSBMZXV0ZSBkaWUgaW1tZXIgcXVlcmVuZ2VsbiB1bmQKc2ljaCBiZXNjaHdlcmVuPyBJaHIga29lbm50IGRvY2ggbmljaHQgYWxsZSB2ZXJzY2h3dW5kZW4gc2Vpbi4KU29uc3Qgc2NocmVpdCBpaHIgaW1tZXIgcnVtICdCYWVoLCBzY2hvbiB3aWVkZXIgZWluIEFic3R1cnosIGpldHp0Cm11c3MgaWNoIGFsbGUgbWVpbmUgU2FjaGVuIHdpZWRlcmhvbGVuJywgJ1NvbmUgU0NIKioqKiosIGljaCB3YXIKZ3JhZGUgaW4gZWluZXIgUXVlc3QhJyBvZGVyICdEYXMgaXN0IGtlaW4gTXVkLCBkYXMgaXN0IGVpbiBDcmFzaC0KdGVzdCEnLiBXbyBzaW5kIHNpZSBkaWUgZ2FuemVuIFJ1ZmVyPwpJY2ggbW9lY2h0ZSBnYW56IGRlemVudCBkYXJhdWYgaGlud2Vpc2VuICxkYXNzIGRhcyBNdWQgbWl0dGxlci0Kd2VpbGUgdWViZXIgMjMgMS8yIFRhZ2UgdXB0aW1lIGhhdCB1bmQgbm9jaCBpbW1lciBuaWNodCBzaHV0LQpkb3duIGdlZmFlaHJkZXQgaXN0LgpBbHNvLiBXaWUgZmluZGV0IGlociBkYXMgZGVubiwgbmE/CkVpbiBMb2IgZXJ3YXJ0ZW5kZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNyYXNoIChDYXR3ZWF6bGUsIDE1LiBBdWcgMTk5NCwgMTg6NDQ6NDQpOgpPa29rLCBpbiBadWt1bmZ0IGxhc3MgaWNoIHNvbGNoZSBBcnRpa2VsLgpXaWUgd2FyIGRhcyBtaXQgZGVtIFRldWZlbCB1bmQgZGVtIE9mZW4/IDotKSkpCiAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoID8hPyAoRmxpbnRuYWlsLCAxNS4gQXVnIDE5OTQsIDE5OjAwOjU2KToKSGV5IENhdC4uLmhhc3QgamEgcmVjaHQhCgpBbHNvOiBFaW4gZGlja2VzIExPQiBhbiBhbGxlIGRpZSBkYXp1IGJlaWdldHJhZ2VuIGhhYmVuLCBkYXNzIGRhcyBNdWQgc28KbGFuZ2UgbGllZiEhIQoKdW5kIGVpbiBnZW5hdXNvIGRpY2tlcyBMT0IgZnVlciBkYXMgbGV0enRlIFJlYm9vdDsgZGFzIGhhdCBhdWNoIHZpZWwgU3Bhc3MKZ2VtYWNodCEhIQoKICAgICBldWVyIEZsaW50IDs+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY3Jhc2ggKEJ1bmdsZSwgMTUuIEF1ZyAxOTk0LCAyMDo0Mjo1Nik6CkphOgpXaWUgd2FyIGRhcyBkZW5uIG1pdCBkZW0gVGV1ZmVsIHVuZCBkZW0gT2ZlbiA/Pz8KCkFobnVuZ3Nsb3MgOiBCdW5nbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldldHRlcndhY2hzIChLYWlnLCAxNS4gQXVnIDE5OTQsIDIyOjExOjExKToKCkhhbGxvIGxpZWJlIHF1ZXN0ZXIgdW5kIFdhcmdvbiwKCldldGVyd2FjaHMgaXN0IGVpbiBuZXR0ZXMgUmFldHNlbCBpbiBlaW5lciBuZXR0ZW4gKGdyb3NzZW4pIFVtZ2VidW5nLiBNYW4KYnJhdWNodCBuZSBnYW56ZSBaZWl0IHVtCmhpbnRlciBiZXN0aW1tdGUgU2FjaGVuIHp1IGtvbW1lbi4uLi4uLiBJY2ggd2lsIGFiZXIga2VpbmUgR2VoZWltbmlzc2UKdmVycmF0ZW4gZGFtaXQgV2FyZ29uIG1pciBlcyBuaWNodAp1ZWJlbCBuaW1tdCB1bmQgaWNoIGtlaW5lbSBkZW4gU3Bhc3MgdmVyZGVyYmUuCmVzIGR1ZXJmdGUgYWJlciBoaW5sYWVuZ2xpY2ggYmVrYW5udCBzZWluIGRhcyBkYSBhbSBFbmRlIHNvIGVpbiBMYWIga29tbXQgenUKZGVtIGljaCBtaWNoIHNvIG5hY2ggMyBTdHVuZGVuCmR1cmNoZ2VrYWVtcGZ0IGhhdHRlLiBGcm9oZW4gbXV0ZXMgbGVndGUgaWNoIG1laW5lIEthcnRlIGFuLgpOYWNoIGNhLiAxIFN0dW5kZSB3YXIgaWNoIGRhbm4gbWl0IEFzbW9kaXMgZGEgOi0pLCBhdWNoIGRlciBrYXJ0aWVydGUuCk5hY2ggNSBTdHVuZGVuIHdhcmVuIGJlaWRlIEthcnRlbiBpbW1lciBub2NoIGdsZWljaCwgb2IgYWxsZWluZSBrYXJ0aWVydApvZGVyIHp1c2FtbWVuLCBkYSB3YXJlbiBkb2NoIHp3ZWkgTG9lY2hlcgp1bmQgd2lyIGhhYmVuIG51ciA0IEtuLi4uLiAoV2FyZ29uIGR1IHdlaXNzdCBzY2hvbikgZ2VmdW5kZW4uCgpNZWluZSBGcmFnZSBpc3Q6IEhhdCBqZW1hbmQgZGFzIG5ldWUgTGFiIHNjaG9uIG1hbCBnZWxvZXN0Pz8/Pz8/IFVuZCBrYW5uIG1hbgpkYXMgbmljaHQgZXR3YXMgZW50c2NoYWVyZmVuIChzaWVoZSBCb2luZ3MgRHNjaHVuZ2VsIGluIFRpdGl3dSwgaXN0IGRvY2hqCm5ldHQgb2RlciA7LSkgKT8KSWNoIGdmaW5kZSBkaWUgUXVlc3QgbGVpZGV0IGV0d2FzIHVudGVyIGRlbSBFbmRlLgpJY2ggYmluIGVudG11dGlndCB1bmQga2FubiBkYSB2b3JsYWV1ZmlnIG5pY2h0IG1laHIgcmVpbmdlaGVuLgpEYW1pdCBrZWluZXIgZGVua3QgaWNoIGJpbiB6dSBibG9lZGUsIGljaCBoYWJlIGRhbmFjaCBUaXRpd3UgdW5kIE5pZWJlbHVuZ2VuCmdlbG9lc3QuIEdpbmcgZ2FueiBndXQuIFRpdGl3dSBmaW5kZSBpY2ggZ2FueiBrbGFzc2Ugd2VpbCBtYW4gZm9lcm1saWNoCmR1cmNoIGRpZSBRdWVzdCBnZWxlaXRldCB3aXJkIG9obmUgZGFzIGRlciBTcGFzcyBmbG9ldGVuIGdlaHQgOy0pLgoKSWNoIHd1ZXJkZSB2b3JzY2hsYWdlbiBkYXMgV2V0dGVyd2FjaHMtTGFiLiB6dSByZW5vdmllcmVuIGRhbWl0IGRpZSBRdWVzdCB6dQpkZXIgU3BpZWxmcmV1ZGUgZnVlaHJ0LCBkaWUgc2llIHZlcmRpZW50LiBXaXIgd29sbGVuIGRvY2ggU3Bhc3MgaGllciwgaGUuLi4uCkRpZSBRdWVzdCBpc3QgZ3V0LCBkYXMgTGFiIGZ1ZWhydCB6dSBmcnVzdC4KCldhcmdvbiwgYml0dGUgbmljaHQgc2F1ZXIgc2VpbiwgaXN0IGtlaW4gQW5ncmlmZiBvZGVyIHNvIDotKS4gSWNoIHdlaXNzCmRhcyBkYXMgUHJvZ3JhbW1pZXJlbiBzb2xjaGVyIHJpZXNpZ2VuIHF1ZXN0cyBuaWNodCBsZWljaHQgaXN0LgpVbmQgZGVpbmUgQnVyZyBkYSBpc3QgamEgcmllc2lnIGdyb3NzLi4uLi4gOi0pLgoKSW4gSG9mZm51bmcgYXVmIG5lIEJlZnJlaXVuZyB2b24gV2V0dGVyd2FjaHMKCkthaUcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXJ3YWNocyAoSXNub2dvb2QsIDE2LiBBdWcgMTk5NCwgMDM6MDQ6MDQpOgpBbHNvIGFiZ2VzZWhuIGRhdm9uLCBkYXNzIGljaCBMYWJzIHZvbSBQcmluemlwIGhlciB6aWVtbGljaCBvZWRlIGZpbmRlLCBpc3QKZGllIE9tYSBtaXQgc2ljaGVyaGVpdCBlaW5lcyBkZXIgYmVzc2VyZW4sIHdlbm4gbWFuIG1hbiBtYWwgZGFzIFByaW56aXAKZXJrYW5udCBoYXQgaXN0IGVzIGF1Y2ggbmljaHQgbWVociBzb28gc2Nod2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggPyE/IChNb3Jnb3RoLCAxNi4gQXVnIDE5OTQsIDA4OjA2OjQ2KToKSEksCmVzIHdhciBqYSBrZWluIGNyYXNoIHNvbmRlcm4gcmVib290ICEhCkJpcyBqZXR6dCBoYWIgaWNoIGphIGF1Y2ggaW1tZXIgZ2VtZWNrZXJ0LCBhYmVyIG51biBiaW4gaWNoIHNvIGd1dChyZWxldGl2KSwKZGFzcyBtaWNoIGRhcyBqZXR6dCBlaWdlbnRsaWNoIG5pY2h0IG1laHIgc3RvZXJ0IQoKICAgICAgICAgICAgSWNoIHdpbGwgU2VoZXIgd2VyZGVuICEhISAgTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNyYXNoIChTaWx2YW5hLCAxNi4gQXVnIDE5OTQsIDA4OjI3OjU5KToKQXVjaCB3ZW5uIGRpZSBTaXR1YXRpb24gd2FzIHRyYWdpLUtvbWlzY2hlcyBoYXQ6IFJlY2h0IGhhc3RlISAyMy41IFRhZ2Ugc2luZApyZWtvcmR2ZXJkYWVjaHRpZyEgR3Jvc3NlcyBMb2IgYW4gYWxsZSBWZXJhbnR3b3J0bGljaGVuIQpGbGludCAtIGR1IGhhc3QgbmF0dWVybGljaCBhdWNoIHJlY2h0OiBERVIgUmVib290IHdhciBLbGFzc2UhCgpad2lzY2hlbiBCZXd1bmRlcnVuZyB1bmQgU2NobXVuemVsbiAtIFNpbHZhbmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2V0dGVyd2FjaHMgKEdhdHNieSwgMTYuIEF1ZyAxOTk0LCAwODo0MzozNCk6CgpIYWxsbyBLYWlnIHVuZCBhbGxlIGFuZGVyZW4sIGRpZSBzaWNoIG1pdCBkZXIgT21hLVF1ZXN0IHZlcnN1Y2h0IGhhYmVuISEhIQoKRGEgd2lyIGluIGRlciBsZXR6dGVuIFplaXQgbWl0YmVrb21tZW4gaGFiZW4sIGRhc3MgZXMgYW5zY2hlaW5lbmQKU2Nod2llcmlna2VpdGVuIG1pdCBkZW0gTGFieXJpbnRoIGFtIEVuZGUgZGVyIFF1ZXN0IGdpYnQsIGhhYmUgaWNoCm1pY2ggYmVyZWl0ZXJrbGFlcnQgKGFsbGVpbmUgc2Nob24gYXVzIGRlbSBHcnVuZCwgZGEgaWNoIEtpcmsgYmVpbQpUZXN0ZW4genVyIFNlaXRlIHN0ZWhlKSwgZGFzIExhYnlyaW50aCBzZWxic3Qgbm9jaG1hbCBkdXJjaHp1c3BpZWxlbi4KCkltIFZlcmdsZWljaCB6dSBmcnVlaGVyIGlzdCBlcyBqZXR6dCAxLDUgbWFsIHNvIGdyb3NzLiBFcyBnaWJ0IGF1Y2gKbWVociBLLi4uLiA7LSkgKGFiZXIgbnVyIDEgb2RlciAyOyBpY2ggd2Vpc3MgZGFzIG5pY2h0IG1laHIgc28gZ2VuYXUpLgpBYmVyIHdlbm4gbWFuIGdhbnogbm9ybWFsIGthcnRvZ3JhcGhpZXJ0IHVuZCBzaWNoIGRhcyBhbGxlcyBkYW5uCmFuc2NoYXV0LCBrb21tdCBtYW4gZ3V0IHp1bSBaaWVsLgpJY2ggaGFiZSBuaWNodCBsYWVuZ2VyIGFscyBlaW5lIFN0dW5kZSBkYWZ1ZXIgZ2VicmF1Y2h0LiBBbHNvOiBlcyBJU1QKenUgc2NoYWZmZW4hISEhCgpjaWFvLCBFdWVyIHdpbGQgdGVzdGVuZGVzIFdpcmJlbHdpbmRjaGVuCgpQUzogS2FpZywgaWNoIGZpbmRlIGVzIHRvbGwsIGRhc3MgRHUgRGljaCBhbGxlaW5lIHZlcnN1Y2hzdCB1bmQgbmljaHQKICAgIGRpZSBMb2VzdW5nZW4gdm9uIGFuZGVyZW4gYWJ0aXBwc3QuIERhcyBtYWNodCBuaWNodCBqZWRlciA7LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdldHRlcndhY2hzIChaYXJkb3osIDE2LiBBdWcgMTk5NCwgMTA6Mzc6NDcpOgpJY2ggaGFiZSBhdWNoIHNjaG9ubWFsIGRhcyBuZXVlIExhYiBkdXJjaGdlc3BpZWx0LiBFcyBpc3QgendhciBuZXJ2aWcgYWJlciB6dQpzY2hhZmZlbiwgbWFuIG11c3MgbnVyIG1pdCBTeXN0ZW0gYW4gZGllIFNhY2hlIGdlaGVuLiBBdXNzZXJkZW0gaXN0IGRhcyBMYWIgamEKZWluemlnYXJ0aWcgaW0gR2VnZW5zYXR6IHp1IHZpZWxlbiBhbmRlcmVuLCBkaWUgd2lya2xpY2ggdWViZXJmbHVlc3NpZyBzaW5kLgpXaWVsYW5nZSBpY2ggZnVlciBkYXMgTGFiIGdlYnJhdWNodCBoYWJlIChvaG5lIEhpbGZlKT8gSWNoIGdsYXViZSBlcyB3YXJlbiAyCkdhc2ZhY2tlbG4gOikKRnVlciBhbGxlIGRpZSBkZW4gU2lubiBtZWluZXMgQXJ0aWtlbHMgbm9jaCBuaWNodCB2ZXJzdGFuZGVuIGhhYmVuOgpJY2ggZmluZGUgZGFzIExhYiBnYXIgbmljaHQgbWFsIHNvIHNjaGxlY2h0LCB1bmQgdWViZXJmbHVlc3NpZyBpc3QgZXMgYXVjaApuaWNodCAod2FzIGljaCB2b24gTGFicyBoYWx0ZSBoYWJlIGljaCBqYSBXYXJnb24gc2Nob24gbWl0Z2V0ZWlsdCAoc2llaGUKV2FyZ29ucyBQbGFuIDopKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuIGFsbGUgUHJvZ3JhbW1pZXItTWFnaWVyIChCbGFja3ksIDE2LiBBdWcgMTk5NCwgMjA6MTQ6MDMpOgpIYWxsbyBhbGxlIHp1c2FtbWVuITopCkRpZXMgaXN0IG1laHIgb2RlciB3ZW5pZ2VyIGVpbiBvZmZlbmVyIEJyaWVmIGFuIGFsbGUgTWFnaWVyLCBkaWUgc2Nob24gd2FzCnByb2dyYW1taWVydCBoYWJlbiBvZGVyIGFiZXIgZGFzIGRlbW5hZWNoc3QgdHVuIHdlcmRlbi4KRXMgZ2VodCB1bSBkYXMgbGVpZGlnZSBUaGVtYSBkZXIgWmF1YmVydHJhZW5rZSwgZG9jaCBpY2ggd2lsbCBoaWVyIG1hbAplaW5lbiBhbmRlcmVuIEFzcGVrdCBhbmJyaW5nZW4sIGRlciBtaWNoIG9mdCB2ZXJ3aXJydCB1bmQgbWl0IGRlbQphbmRlcmUgU3BpZWxlcklubmVuIHNpY2hlcmxpY2ggYXVjaCBQcm9ibGVtZSBoYWJlbi4gRXMga29tbXQgamEgbnVuCnp1Z2VnZWJlbmVybWFzc2VuIHZvciwgZGFzcyBtYW4gdm9uIGlyZ2VuZGVpbmVyIFNlaXRlIGVpbmVuIFRpcCBmdWVyIGVpbmVuClphdWJlcnRyYW5rIGJla29tbXQuIFNvIGhhdCBtYW4gZGllc2VuIGFiZXIgbm9jaCBsYW5nZSBuaWNodCBnZWZ1bmRlbiEKRGFubiB0YXVjaHQgZGFubiBpcmdlbmR3YW5uIGRhcyBTeW50YXgtUHJvYmxlbSBhdWYgdW5kIHVtIGRhcyBzb2xsIGVzCmhpZXIgZ2VoZW46IFdlbm4gbWFuIGFuIGVpbmVtIFZlcnN0ZWNrIHp1IGVpbmVtIFpUIGlzdCB1bmQgZGllCnJpY2h0aWdlIFN5bnRheCBiZW51dHp0LCBzb2xsdGUgbWFuIEFVRiBKRURFTiBGQUxMICB3YXMgZmluZGVuISEhISEKV2VubiBlcyBzY2hvbiBrZWluIFpUIGlzdCwgZGFubiB3ZW5pZ3N0ZW5zIHouQi4gd2llIGluIGVpbmlnZW4gRmFlbGxlbgpzY2hvbiBnZXByb2dndCwgZWluZSBHb2xkbXVlbnplIG9kZXIgc293YXMgYWxzIFplaWNoZW4sIGRhc3MgZGVyClN5bnRheCByaWNodGlnIHdhciwgYWJlciBoaWVyIGtlaW4gWlQgZnVlciBtaWNoIGlzdCEhISBTbyB2ZXJtZWlkZXQKZGVyIFByb2dyYW1taWVyZXIgZGllIFF1YWxlbiBkZXIgU3BpZWxlciwgZGllIHN0dW5kZW5sYW5nIG1pdCBkZXIKcmljaHRpZ2VuIFN5bnRheCBydW1wcm9iaWVyZW4sIHdlaWwgc2llIG5pY2h0IHdpc3Nlbiwgb2Igc2llIGF1Y2gKd2lya2xpY2ggcmljaHRpZyBpc3QuLi4uClNvLCBpaHIgbGllYmVuIE1hZ2llciwgbWFjaHQgZXVjaCBtYWwgR2VkYW5rZW4gZHJ1ZWJlciB1bmQgZGVua3QgbWl0CnNvIGVpbmVyIFZlcmVpbmZhY2h1bmcgYXVjaCBlaW4gYmlzc2NoZW4gYW4gZGllIE5lcnZlbiBkZXIgU3BpZWxlcjopClNvIGxvbmcsIGV1ZXIgYWxsZXIgQmxhY2t5OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndldHRlcndhY2hzIDMgKEthaWcsIDE3LiBBdWcgMTk5NCwgMDU6MjE6NDEpOgoKR2x1ZWNrbGljaGVzIEVuZGUKCldldHRlcndhY2hzIGlzdCBsb2VzYmFyLCBpY2ggd2Vpc3MgZXMgamV0enQgc2VsYnN0IDstKQpJY2ggaG9mZmUgbWVpbiBCcmllZiB3YXIgbmljaHQgenUgc2NobGltbSBhYmVyIFN0dW5kZW4gaW4gZWluZW0gTGFiLgprb2VubmVuIHdpcmtsaWNoIG5lcnZlbiAsLi4uLi4uLiBJY2gga2FubiBqZXR6dCBhbGxlbiB2ZXJzaWNoZXJuCihhdWNoIFNtaXJrIDotKSAgKSB3ZXR0ZXJ3YWNocyBnZWh0IHVuZCBlcyBpc3QgbmljaHQgZ2FueiBzbwpzY2hsaW1tIHdpZSBpY2ggZGFjaHRlIGltIGxhYi4gQXNtb2RpcyB1bmQgaWNoIG11ZXNzZW4gZGEgd29obCB6dXNhbW1lbgpldHdhcyBkdXJjaGVpYW5kZXJnZWJyYWNodCBoYWJlbiBtaXQgZGVyIFJlaWhlbmZvbGdlIGRlciBLbm9lcGZlLgpOYSBqYSwgZGllIE9tYSB3dXJkZSBiZWZyZWl0LCBvYiBzaWUgZGllIEZyYXUgbWVpbmVyIFRyYWV1bWUgaXN0IHdlaXNzCmljaCBhYmVyIG51biB3aXJrbGljaCBuaWNodCA6LSkuCgpDaWFvIEV1ZXIgT21hcmV0dGVyIEthaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llIGdlc2NoaWNrdCBmdWVyIGVpbmUgQXh0IChKZXZlciwgMTcuIEF1ZyAxOTk0LCAxMzowNDozNyk6Ckthbm4gbWlyIG1hbCBqZW1hbmQgc2FnZW4sIHdpZSBnZXNjaGlja3QgaWNoIHNlaW4gbXVzcywgdW0gZWluZSBBeHQgenUKZnVlaHJlbj8KRnVlciBlaW5lbiBad2VyZyBpc3QgZXMgbmFlbWxpY2ggZ2FueiBzY2hvZW4gZnJ1c3RyaWVyZW5kLCB3ZW5uIGVyIHNlaW4gZ2UtCmxpZWJ0ZXNCZWlsIG5pY2h0IHNjaHdpbmdlbiBkYXJmIDotKAoKICAgSmV2ZXIgZGVyIFp3ZXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb3JmZHVlbmcgaW4gZGVyIFplaXR1bmcgKEd1bGR1a2F0LCAxNy4gQXVnIDE5OTQsIDE1OjQzOjI4KToKTWl0dHdvY2gsIDE3LjguOTQgc3RhbmQgaW4gZGVyIFdBWiAoTG9rYWx0ZWlsIEJ1ZXIsIEhvcnN0IHVuZCBXZXN0ZXJob2x0IGVpbgpBcnRpa2VsIHVlYmVyIFRvcmZkdWVuZy4KClVlYmVyc2NocmlmdDogWmF1YmVyd2VsdCBhdXMgZGVtIENvbXB1dGVyClMuSC4gc3BpZWx0IGVpbiBzZWx0c2FtZXMgU3BpZWwKQmlsZDogbWVocmVyZSBUYXN0YXR1cmVuIHVuZCBNb25pdG9yZSwgZWluIE1vbml0b3Igb2ZmZW4sIFRvcmZkdWVuZyBzdGVja3QKc2VpbmVuIEtvcGYgaGluZWluLgoKVGV4dDoKRWluZSBXZWx0LCBpbiBkZXIgc2ljaCBFbGVtZW50ZSBhdXMgIkhlcnIgZGVyIFJpbmdlIiwgZGVtIFJhZXViZXIKSG90eWVucGxvenQsIGRlciBOaWJlbHVuZ2Vuc2FnZSB1bmQgRmFudGFzeWNvbWljcyB2ZXJlaW5pZ2VuLiBXbyBNYWdpZXIgZGFzCkdlc2NoZWhlbiBiZWVpbmZsdXNzZW4uIEVpbmUgWmF1YmVyd2VsdCwgZGllIGFtIENvbXB1dGVyIGVudHN0YW5kZW4gaXN0IHVuZApzaWNoIHN0YWVuZGlnIHZlcmFlbmRlcnQuIER1cmNoIExldXRlIHdpZSBkZW4gU3R1ZGVudGVuIFMuSC4KCjE1IFN0dW5kZW4sIHNjaGFldHp0IGRlciBCdWVyYW5lciwgdmVyYnJpbmd0IGVyIGplZGUgV29jaGUgbWl0IGRlbQphYmVudGV1ZXJsaWNoZW4gR2VzY2hlaGVuLCBkYXMgdWViZXIgZWluZW4gR3Jvc3NyZWNobmVyIGluIE11bmVzdGVyIGxhZXVmdC4KRGllIFNwaWVsZXIga2VubmVuIHNpY2ggbnVyIGR1cmNoIGlocmUgUGhhbnRhc2llL2FtZW4uICJUb3JmZHVlbmciLCBkYXMgaXN0ClMuLiBJbiBkZXIgTWl0dGFnc3plaXQgaXN0IGVzIGR1cmNoc2Nobml0dGxpY2ggYmVzZXR6dC4gRGV1dHNjaGUsIFNjaHdlZGVuLApTY2h3ZWl6ZXIgaGFlbmdlbiBpbSBOZXR6LCA2MCBpbnNnZXNhbXQuIEZydWVobW9yZ2VucyBrb21tZW4gZGllIEFtZXJpa2FuZXIKZGF6dS4KV2llIGluIGhhbmRlbHN1ZWJsaWNoZW4gQ29tcHV0ZXJzcGllbGVuIGdlaHQgZXMgZGFydW0sIEF1ZmdhYmVuIG1pdApzdGVpZ2VuZGVuIFNjaHdpZXJpZ2tlaXRzZ3JhZGVuIHp1IGxvZXNlbi4gV28gZGVtIE5pbnRlbmRvLUJlbnV0emVyIGRpZQpHcmVuemVuIGdlc2V0enQgc2luZCwgZ2VodCBlcyBoaWVyIGFsbGVyZGluZ3MgZXJzdCByaWNodGlnIGxvcy4gV2VyIGFscwpTcGllbGVyIGRpZSBrbmlmZmxpZ3N0ZW4gQXVmZ2FiZW4gZ2Vsb2VzdCBoYXQsIHN0ZWlndCBpbiBkZW4gUmFuZyBlaW5lcwpNYWdpZXJzIGF1Zi4gVW5kIGFscyBzb2xjaGVyIGthbm4gbWFuIG5ldWUgRWxlbWVudGUgaW4gZGFzIFN5c3RlbQplaW5wcm9ncmFtbWllcmVuLiBILiBpc3QgTWFnaWVyLiBGYXN0IGVpbiBoYWxiZXMgSmFociBoYXQgZXIgZGFyYW4gZ2VhcmJlaXRldC4KU2VpbmUgVGhlb3JpZSB6dXIgSGVya3VuZnQgZGVzIFNwaWVsczogRGllIE1lbnNjaGVuLCBkaWUgZGFyYW4gc2l0emVuLAphcmJlaXRlbiB1ZWJlcndpZWdlbmQgYW4gZGVuIFRlcm1pbmFscyB2b24gVW5pdmVyc2l0YWV0ZW4uIFdlciBkZW4gZ2FuemVuIFRhZwoodW5kIGxhZW5nZXIpIG1pdCB0b3RlciBNYXRlcmllIGJlc2NoYWVmdGlndCBpc3QsIGJyYXVjaHQgbWVuc2NobGljaGUKS29udGFrdGUuIERhcyBTcGllbCBiaWV0ZXQgZGllIE1vZWdsaWNoa2VpdCB6dSBrb21tdW5pemllcmVuLCBvaG5lIGRlbgpBcmJlaXRzcGxhdHogenUgdmVybGFzc2VuLgpFaWdlbi1UaGVyYXBpZSBmdWVyIGZydXN0cmllcnRlIEFrYWRlbWlrZXI/IFMuSC4gaGF0IHZpZWxsZWljaHQgZGllIFplaWNoZW4KZGVyIFplaXQgZXJrYW5udDogIkVzIGZhZWxsdCBlaW5mYWNoIGxlaWNodGVyLCBMZXV0ZSBpbSBDb21wdXRlcnNwaWVsCmFuenVzcHJlY2hlbiBhbHMgaW4gZGVyIEtuZWlvcGUuIgoKCgpaaXRhdCBXQVogRW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHV1c2c/IChNZXBoaXN0bywgMTcuIEF1ZyAxOTk0LCAyMzoxNzo1NSk6Ck5hY2hkZW0gaWNoIG1pciBkaWUgUXVlc3QgcmVpbmdlem9nZW4gaGFiKG1pdCBldHdhcyBIaWxmZTopIGthbm4gaWNoIGV1Y2ggbnVyCmVpbnMgcmF0ZW46CkxFVVRFLFdFUiBESUVTRSBRVUVTVCBOSUNIVCBTUElFTFQgSVNTIFNFTEJFUiBTQ0hVTEQhISBTSUUgSVNTIEVJTkZBQ0gKR0VOSUFMISBJTiBKRURFUiBISU5TSUNIVCEgR1JBVFMgQU4gU0VUSE9TIFVORCBHVU0hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRzY2huaXR0IChUb3JmZHVlbmcsIDE4LiBBdWcgMTk5NCwgMDY6MTk6MjEpOgpIaSAsIGRpZXMgaXN0IGVpbiBNaXRzY2huaXR0IGVpbmVzIG5ldHRlbiBNb3JnZW5nZXNwcmFlY2hlcyB2b24gbWlyICwgQmFuemFpCnVuZCBIeXAuIEVzIHdlcmRlbiBlaW4gcGFyIG5ldHRlIHNhY2hlbiBlcnphZWhsdCwgdW5kIGVpbiBwYXIgR2VoZWltbmlzc2UKZGVyIGdyb3NzZW4gTWFnaWVyIGdlbHVlZnRldCA6KQooRXMgaXN0IGdlcmFkZSA2LjAwLjAwIFVocikKCgpIeXAgZ3JpbnN0IHdlbm4gZXIgZGFyYW4gZGVua3QsIGRhcyBIYXRlIHouQi4gbm9jaCBQbGF5ZXIgd2FyLCBhbHMgaW4KRnVsZGEgZGllIE1HIFBhcnR5IHdhcgoKRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgoKSHlwIHNhZ3Q6IG1laW4gSHVuZCBoYWV0dGUgSm9mcyBMdWZ0bWF0cmF0emUgZmFzdCBnZWZyZXNzZW4gQi0pCgo+IEh5cCBzYWd0OiBkYW1hbHMgd2FyZW4gZXMgNzAga25hcHAgODAuIEFiZXIgZGllIFBhcnRpZXMgd2VyZGVuIF9qZWRlc18gSmFocgpIeXAgc2FndDogZ3JvZXNzZXIuIERpZSBlcnN0ZSBNRyBQYXJ0eSB3YXIgMTYgTWFubiB1bmQgamV0enQgYmFsZCBkYXMKSHlwIHNhZ3Q6IFplaG5mYWNoZSEKCkplbWFuZCBzYWd0OiBFcnphZWhsc3QgZHUgdm9uIGRlbiBndXRlbiBhbHRlbiBaZWl0ZW4/IDstKQpCYW56YWkgd2lyZCB2b24gZWluZW0gU2FuZHN0dXJtIGhpbmVpbmdld2VodC4uCkFsIEJhbnphaSBzYWd0OiBuaWNodCBzbyB3aWUgSHlwLCBhYmVyIGZhc3QgOy0pCkh5cCBzYWd0OiBobW0sIEJhbnphaSBpc3QgZ2xhdWJlIGljaCBzb2dhciBsYWVuZ2VyIGRhYmVpIGFscyBpY2gsIG9kZXI/CkFsIEJhbnphaSBzYWd0OiBIeXAgaXN0IGphIGF1Y2ggc2Nob24gZmFzdCBSZW50bmVyIDstKQpBbCBCYW56YWkgc2FndDogbm9lLCBIeXAsIGR1IGhhc3Qgdm9yIG1pciBnZXdpenp0Cj4gSHlwIGRyb2h0IG1pIHNlaW5lbiBLcnVlZ2VuIQpEdSBzYWdzdDogT2ggamUgLCBPcGFzIDopCkFsIEJhbnphaSBzYWd0OiBOZSBuZW4gZSBkaWUganVuZ2VuIExldXRlIHZvbiBoZXV0ZS4uIDstKQoKQWwgQmFuemFpIHNhZ3Q6IEh5cDogd2Vpc3N0IGR1IG5vY2ggd2llIGR1IEpvZiBlcmtsYWVydCBoYXN0IHdpZSBtYW4gbmVuCkFsIEJhbnphaSBzYWd0OiBnYW1lZHJpdmVyIGNvbXBpbGllcnQ/CkR1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KCkh5cCBzYWd0OiBobW0sIHdhciBkYXMgSm9mIGRhbWFscz8gTmFqYSwgZGllIGhhYmVuIGVoIGRpZSBOaWdodGZhbGwgTXVkbGliCkh5cCBzYWd0OiBoaWVyIGdlbm9tbWVuIHVuZCBhYmdlYWVuZGVydC4gVGphLCBtZWluZSBndXRlIGFsdGUgTkYgTXVkbGliIDotKQpEdSBzYWdzdDogZXJ6YWVobHQgbWFsIG1laHIgOikKCkFsIEJhbnphaSBzYWd0OiBlciB0cmF1dCBzaWNoIG5pY2h0LCBzb25zdCB2ZXJoYXV0IEpvZiBpaG4gOy0pCmxhY2gKRHUgc2Fnc3Q6IEh5cCBpc3Qgc2ljaGVyIHNjaG5lbGxlciBpbSB3ZWdyZW5uZW4gYWxzIEpvZiA6KQoKPiBIeXAgc2FndDogaWNoIGRydWVjayBKb2YgaW1tZXIgZ2VybmUgdm9uIFBhcmtiYWVua2VuLiBBdXNzZXJkZW0gaGF0IGVyIG1pcgpIeXAgc2FndDogbWVpbmUgRm9vdGJhbGwgZmFzdCBnZWtpbGx0LCB3ZWlsIGVyIGlobiBpbiBUdWViaW5nZW4gaW1tZXIgaW4gZGllCkh5cCBzYWd0OiBSb3NlbiBnZWtpY2t0IGhhdAoKRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpIeXAgc2FndDogQmFuemFpLCBoYXN0IER1IG1pdGJla29tbWVuLCB3aWUgRmxhZ29yIGluIGRlbiBGbHVzcyBzcHJpbmd0IHVtIGRlbgpIeXAgc2FndDogRm9vdGJhbGwgcmF1c3p1aG9sZW4/IEVyIGxlZ3QgaWhuIGFucyBVZmVyIHVuZCBIYXRlIGtpY2t0IGlobgpIeXAgc2FndDogYXVzdmVyc2VoZW4gbm9jaG1hbCByZWluLiBKb2Ygd2lsbCBpaG4gcmF1c2hvbGVuIHVuZCByZW5udCB2b2xsIGluCkh5cCBzYWd0OiBkaWUgQnJlbm5lc3NlbG4gQi0pCkJhbnphaSBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgo+IEJhbnphaSBnaWJ0IGVpbiBhbGJlcm5lcyBLaWNoZXJuIHZvbiBzaWNoLgpIeXAgc2FndDogSm9mIGhhbHQKQmFuemFpIG5pY2t0IHp1c3RpbW1lbmQuCmxhY2gKRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpBbCBCYW56YWkgc2FndDogYWJlciBpbSBCYW5rZHJ1ZWNrZW4gdW5kIFRhY2tsZWZyaXNiZWUgaXN0IGVyIGF1Y2ggcmVjaHQgZ3V0CgpEdSBncmluc3QuCj4gQWwgQmFuemFpIHNhZ3Q6IHp1bWluZGVzdCBzY2huYXJjaHQgZXIgbmljaHQgc28gbGF1dCB3aWUgU2t1bmsKQmFuemFpIGdyaW5zdC4KRHUgZ3JpbnN0LgpIeXAgc2FndDogbmFqYSwgd2VyIGJlaSBTa3VuayBtaXRzcGllbHQgZ2V3aW5udCBzb3dpZXNvLiBCdHcsIGlzdCBKb2YgbmljaHQKSHlwIHNhZ3Q6IHNvZ2FyIGVpbiBXaXogRW5rZWwgdm9uIG1pciBpbiBORj8KQWwgQmFuemFpIHNhZ3Q6IER1IGJpc3Qgc2VpbiBPcGkuLi4uLi4gYWJlciBSYXQgbWFsIHdlciBkaWUgQnJ1dCBkYQpBbCBCYW56YWkgc2FndDogZmFicml6aWVydCBoYXQ/IDstKQpEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCj4gQWwgQmFuemFpIHNhZ3Q6IGljaCBnbGF1YiB3ZW5uJ3MgamVkZXIgd3Vlc3N0ZSBtdWVzc3RlIGljaCBnYW56IHNjaG9lbgpBbCBCYW56YWkgc2FndDogQWxpbWVudGUgemFobGVuCkR1IGtpY2hlcnN0LiAoV2llIGFsYmVybiB2b24gRGlyKQoKQWwgQmFuemFpIHNhZ3Q6IEd1dGVzIGFsdGVzIE5GCkFsIEJhbnphaSBzYWd0OiBXbyBqZWRlciBub2NoIHNlaW4gQ2FzdGxlIGF1Zm0gUnVlY2tlbiBoYXR0ZSB1bmQgZGEsIHdvIGVyCkFsIEJhbnphaSBzYWd0OiB3b2xsdGUsIGFic3RlbGxlbiBrb25udGUKQmFuemFpIGdyaW5zdC4KSHlwIHNhZ3Q6IGFiZXIgZGFzIGdpYnRzIGxlaWRlciB6dSBvZnQgOi0oLiBWaWVsZSBXaXphcmRzIG1laW5lbiBuYWNoIG5lCkh5cCBzYWd0OiBnZXdpc3NlbiBaZWl0IGVpbiBlaWdlbmVzIE11ZCBhdWYgenUgbWFjaGVuLiBoYWV0dGUgRGVlcCB1bmQgaWNoCkpvZgpIeXAgc2FndDogbmljaHQgdWViZXJyZWRldCBlaW4gZGV1dHNjaHNwcmFjaGlnZXMgTXVkIGF1Znp1bWFjaGVuLG0gc28gd3VlcmRlCkh5cCBzYWd0OiBNRyBuaWNodHMgYW5kZXJlcyBzZWluIHdpZSBCdWJiYSBNdWQgb2RlciBBZGFtYW50LgpCYW56YWkgbmlja3QgenVzdGltbWVuZC4KSHlwIHNhZ3Q6IGFiZXIgTUcgaXN0IGRlcnplaXQgZGFzIGdyb2Vzc3RlIE11ZCBpbiBEZXV0c2NobGFuZC4gVGphLCBkZXV0c2NoZQpIeXAgc2FndDogU3ByYWNoZSBoYWx0LgpEdSBwZmVpZnN0IGFuZXJrZW5uZW5kLgo+CgpBbCBCYW56YWkgc2FndDogYmVzc2VyIGdlc2FndDogTXVkcGFydGllcyBrb25udGUgbWFuIGRhbWFscyBpbm5lcmhhbGIgdm9uIDItMwpBbCBCYW56YWkgc2FndDogVGFnZW4gYW5rdWVuZGlnZW4gdW5kIGluIHNlaW5lbSBXb2huaGVpbXppbW1lciBhYmhhbHRlbgpBbCBCYW56YWkgc2FndDogd2VubiBtYW4gZ2VudWcgQmllciBkYWJlaSBoYXR0ZSBuYXR1ZXJsaWNoIDstKQpIeXAgc2FndDogdGphLCB3aWUgZ2VzYWd0LCBkaWUgZXJzdGUgTUcgUGFydHkgYmVzdGFuZCBhdXMgMTYgTWFubiB1bmQgZGFiZWkKSHlwIHNhZ3Q6IHdhcmVuIGRhcyBuaWNodCBtYWwgTUdsZXIgLSB3ZWlscyBNRyBub2NoIGdhciBuaWNodCBnYWIgOi0pCkFsIEJhbnphaSBzYWd0OiBXaWUgd2FyIGRhcyBub2NobWFsIG1pdCBkZW0gT3J0PwpIeXAgc2FndDogRHVyaWFuLCBKb2YsIFJ1bWF0YSwgTWlyaWwsIEJvaW4sIEpvc2UsIGV0Yy4ga29tbWVuIGFsbGVzIGF1cyBORgpBbCBCYW56YWkgc2FndDogS2FydGUgYXVmIGRlbiBUaXNjaCBnZWxlZ3QsIGdlc2NoYXV0LCB3b2hlciBkaWUgTGV1dGUga2FtZW4sCkFsIEJhbnphaSBzYWd0OiB2ZXJidW5kZW4gdW5kIGluIGRlciBNaXR0ZSBkaWUgUGFydHkgZ2VtYWNodD8KSHlwIHNhZ3Q6IHdlbGNoZW4gT3J0IG1laW5zdCBEdT8gV28gSm9mIG1pdCBQYW5payBpbSBHZXNpY2h0IGltIFNjaGxhdWNoYm9vdApIeXAgc2FndDogcnVkZXJ0ZSB1bmQgd2lyIGdlc2NjaGF1a2VsdCBoYXR0ZSB3aWUgbmljaHQgZ2FueiBnZXNjaGVpdD8KCkR1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KCkFsIEJhbnphaSBzYWd0OiBHZW5hdSBkZW4uLi4KSHlwIHNhZ3Q6IG5hamEsIEZ1bGRhIGlzdCBudW4gbWFsIE1pdHRlbiBpbiBEZXV0c2NobGFuZC4KCkFsIEJhbnphaSBzYWd0OiBtaXQgRGVlcHRob3VnaHRzOiBubSBtYm5oIGZmaHVqbXp6N3UscyB5aHVldyAtIFppdGF0CkFsIEJhbnphaSBzYWd0OiBhbHMgZXIgcGVubmVuZCBhdWYgZGVpbmUgVGFzdGF0dXIgZ2VmYWxsZW4gaXN0IDspCkh5cCBzYWd0OiBBcmdoISBKYSwgZ2VpbCEKRHUgc2Fnc3Q6IGRhcyBpc3QgbmljaHQgd2FyIDopCj4gQWwgQmFuemFpIHNhZ3Q6IGZyYWcgZGVlcCA7LSkKSHlwIHNhZ3Q6IE11dHRlciBrb21tdCBuYWNodHMgdW0gMCBVaHIgYXVmIGRlbiBCYWxrb24gdW5kIG1laW50ICJTdmVuLCBkYSBpc3QKSHlwIHNhZ3Q6IGplbWFuZCBpbiBkZWluZW0gWmltbWVyIGVpbmdlc2NobGFmZW4iLiBFcyB3YXIgRGVlcCBkZXIgYW4gbWVpbmVtCkh5cCBzYWd0OiBUZXJtaW5hbCB6dWhhdXNlIGVpbmdlcGVubnQgd2FyLiBFciB3YXIgaW4gTkYgZWluZ2Vsb2dndCB1bmQgdWViZXJuCkh5cCBzYWd0OiBLZXlib2FyZCBlaW5mYWNoIGVpbmdlcGVubnQKSHlwIHNhZ3Q6IGVyIGhhdHRlIGdlcmFkZSBtaXQgTWF0ZWVzZSBnZXNwcm9jaGVuIHVuZCBkaWUgbGV0enRlbiBXb3J0ZSB2b24KSHlwIHNhZ3Q6IE1hdGVlc2Ugd2FyZW4gIkRlZXA/IiAiSGFsbG8/IiAiQmlzdCBEdSBlaW5nZXBlbm50PyIKCgpBbCBCYW56YWkgc2FndDogRGVlcCBpc3QgR290dCB2b24gTmlnaHRmYWxsCkh5cCBzYWd0OiBlciB3YXIgbWFsIGFtIEFuZmFuZyBMUEMgQXJjaHdpemFyZCBvZGVyIHdpZSBkYXMgamV0enQgaGVpc3N0Cj4gQWwgQmFuemFpIHNhZ3Q6IGpldHp0CkFsIEJhbnphaSBzYWd0OiBhYmVyIGRhIGdpYnRzIGphIGF1Y2ggbm9jaCBkaWUgR29ldHRlcnNrbGF2ZW4uLi4gbmljaHQgd2FociwKQWwgQmFuemFpIHNhZ3Q6IEh5cD8gOy0pCkFsIEJhbnphaSBzYWd0OiBpcmdlbmRlaW5lciBtdXNzIGphIHByb2dyYW1taWVyZW4ga29lbm5lbiA7LSkKCgpIeXAgc2FndDogZXMgc29sbGVuIHNpY2ggYW5kZXJlIHVtIFF1ZXN0cyB1bmQgTGFuZHNjaGFmdGVuIGt1ZW1tZXJuLiBJY2gKSHlwIHNhZ3Q6IHdlaXNzIG5pY2h0IG1hbCBlaW5lIGVpbnppZ2UgUXVlc3Qgdm9uIE5GLiBIYWIgbWljaCBuaWUKSHlwIHNhZ3Q6IGRydW1nZWt1ZW1tZXJ0IDotKSBXb3p1IGF1Y2ggQi0pLiBOaWNodCBtZWluIENvZGUgLT4gbmljaHQgbWVpbgpIeXAgc2FndDogcHJvYmxlbSAobmFqYSwgYnVnZml4ZW4gZGFyZiBpY2ggYWJlci4uLikKQWwgQmFuemFpIHNhZ3Q6IHp1ZXJzdCB3YXIgRHVyaWFuIG1laW4gVml6ZSwgZGFubiB3YXIgaWNoIFZpemUsIHVuZCBkYW5uCkFsIEJhbnphaSBzYWd0OiB3b2xsdGUgQ2F0d2VhemxlIFZpemUgd2VyZGVuIDspCkR1IHNhZ3N0OiBIeXAsIEJhbnphaSAsaGFiIGlociB3YXMgZGFnZWdlbiAsIHdlbm4gaWNoIHdhcyB2b24gZGVtIGdlc3ByYWVjaApEdSBzYWdzdDogdmVyb2VmZmVuZGxpY2hlID8KPiBIeXAgc2FndDogaG1tPyBXYXMgaGFzdCBEdSB2b3I/CkR1IGdyaW5zdC4KCkh5cCBzYWd0OiBhdWphLCBhZWgsIGlociBoYWIgaGllciBqYSBuZSB6ZWl0dW5nLCBvZGVyPyBQYWNrIGRhcyBkYSBtYWwgZHJhdWYuCkh5cCBzYWd0OiBtYWwgc2VoZW4gd2FzIEpvZiBzYWd0LiBHaWJ0IGVpbiB0b2xsZXMgVGhlbWEgZnVlciBkaWUgTXVkcGFydHkgQi0pCgpBbCBCYW56YWkgc2FndDogZXIga2FubiBkaXIgZGEgYmVzdGltbXQgYXVjaCBub2NoIGVpbmlnZXMgZXJ6YWVobGVuCkh5cCBzYWd0OiBuZWVlZSwgc28gd2llIGljaCBKb2Yga2VubmUgd2lyZCBlciBhbGxlcyBiZXN0cmVpdGVuIDotKQpCYW56YWkgZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KQWwgQmFuemFpIHNhZ3Q6IGFiZXIgcGFzcyBhdWYsIGVyIHdpcmQgcmVsYXRpdiBzY2huZWxsIHJvdCA7KQpEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCgoKZW5kZQoKClZpZWxlaWNodCBsYWNodCBqYSBhdWNoIGVpbmVyIDopCgpVbmQgZGllIEdlbmFubnRlbiAgLi4uICxpcyBkb2NoIG51ciBzcGFzcyA6KQoKVEQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWl0c2Nobml0dCAoQmFuemFpLCAxOC4gQXVnIDE5OTQsIDA2OjU0OjI5KToKSGVoZWhlaGVoZS4uLgpXaWUgd2FyIGRhcyBub2NobWFsIG1pdCBkZXIgdmVyc3RlY2t0ZW4gS2FtZXJhPyA7LSkgRHUgaGFldHRlc3QgZGVuClJlc3QgYXVjaCBub2NoIHBvc3RlbiBzb2xsZW4uLi4gOy0pIChQLlMuOiBLYW5uIGljaCBuZSBLb3BpZSBkYXZvbgpoYWJlbj8gOykKUC5TLjogVG9yZi4gZ2xhdWIgbmljaHQgYWxsZXMgd2FzICJhZWx0ZXJlIiBNYWdpZXIgZGlyIGVyemFlaGxlbiAqZ3JpbnMqCgoqUk9URkwqLAogICAgIEJhbnphaQoKUC5QLlMuOiBOYWphLCB6dW1pbmRlc3QgaW4gZGVtIFBvc3RpbmcgaXN0IG5pY2h0IGFsbGVzIGdlZmx1bmtlcnQgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWl0c2Nobml0dCAoRHVyaWFuLCAxOC4gQXVnIDE5OTQsIDEwOjIzOjE5KToKSGFsbG8genVzYW1tZW4hCgpBbHNvIHVtIGRhcyBtYWwga2xhciB6dSBzdGVsbGVuICg6LSkpLiBEaWUgZXJzdGUgKGF1Y2ggZnVlciBORikgTXVkLVBhcnR5CmZhbmQgaW4gQ2xhdXN0aGFsIHN0YXR0LCBBbmZhbmcgMTk5Mi4gRGFtYWxzIGthbWVuIGtuYXBwIHZpZXJ6aWcgTGV1dGUuClVuZCBrZWluIEh5cCBvZGVyIEJhbnphaSB3YXIgZGFiZWkgOi0pLiBFcyB3dWVyZGUgbWljaCBzb3dpZXNvIGludGVyZXNzaWVyZW4sCndlciBoaWVyIGRlciBhZWx0ZXN0ZSBORi1XaXphcmQgaXN0LiBJY2ggYmlldGUgQXVndXN0L1NlcHRlbWJlciAxOTkxLCB3ZXIKYmlldGV0IGVpbiBmcnVlaGVyZXMgRGF0dW0/Pz8gKmdyaW5zKgpBY2hqYSwgdW5kIHdlciBhdWYgZGFzIFBhcnR5IGV0d2FzIHVlYmVyIEpvZiBhbHMgUGxheWVyIHVuZCBmcnVlaGVyIHdpenphcmQKaW4gTkYgaG9lcmVuIHdpbGwsIHNvbGwgc2ljaCBiZWkgbWlyIG1lbGRlbiwgaGllciBlaW4gVm9yZ2VzY2htYWNrLgoKSm9mIHNldHp0IG1laW5lIGtpbGxzIGF1ZiAxMDAwLgpJY2ggc2FnZSBpaG0sIER1LCBKb2YsIGRhcyB3aXJkIGdlbG9nZ3QuCkpvZiBlbnRzZXR6dCAnV1dXQUFBU1NTU1NTUz8/Pz8/Pz8/Jy4KCjotKQoKQWNoamEsIGVzIGlzdCBzY2hvZW4gaW4gYWx0ZW4gWmVpdGVuIHp1IHNjaHdlbGdlbi4gSWNoIGdsYXViZSBpY2ggY29kZSBtaXIKaGllciBtYWwgZWluIFNjaGxvc3MsIHdhcyBpY2ggaXJnZW5kd28gZmFsbGVuIGxhc3NlbiBrYW5uIDstKQoKLSBEdXJpYW4sIGRlciB6d2FyIHNwaWVsdGVjaG5pc2NoIGp1bmdlLCBhYmVyIGluIHJsIHNlaHIgc2VociBhbHRlCldpeiAuLi4gTWFnaWVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCB2b24gS25vZXJyeSAoSm9mLCAxOC4gQXVnIDE5OTQsIDExOjU3OjE2KToKIFVlYmVyIGRhcyBMZWJlbiwgZGVuIFRvZCB2b24gU3RhaGxkb3JuIHVuZCB1ZWJlciBPZXN0ZXJyZWljaGVyLi4uCgogIC4uLmF1cyBTaWNodCBkZXIga2xlaW5lbiBBcmllbGxlLCBkaWUgYW4gbWVpbmVtIFRlcm1pbmFsIHNwaWVsdGUuLi4KCiAgIEhhZmVuc3RyYXNzZS4KICAgRXMgZ2lidCB2aWVyIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IHdlc3Rlbiwgb3N0ZW4sIG9iZW4gdW5kIHVudGVuLgogICBTdGFobGRvcm4gZGVyIFByb3BoZXQuCiAgIER1IHNpbmdzdCAnV2llbiB3aWVuIG51ciBkdSBhbGxlZWlpaWluJy4KICAgRHUgZ3JpbnN0LgogICBEdSBzaW5nc3QgJ011c3N0IGRpZSBzdGFkdCBtZWluZXIgdHJhZXVtZSBzZWluLi4uJy4KICAgRHUgZ3JpbnN0LgogICA+IGZpbmdlciBzdGFobGRvcm4KICAgU3RhaGxkb3JuIGlzdCBlaW5nZWxvZ2d0LAogICB1bmQgendhciB2b246IE9lc3RlcnJlaWNoLgogICBJZGxlLVplaXQ6IDAwOjA0OjI3CiAgIFZvbGxlciBOYW1lOiBTdGFobGRvcm4gZGVyIFByb3BoZXQKICAgUmFzc2U6IE1lbnNjaCwgICAgR2VzY2hsZWNodDogbWFlbm5saWNoICAgU3BpZWxlcmxldmVsOiAxOAogICA+IFN0YWhsZG9ybiBzYWd0OiBIaSAhCiAgIER1IHNhZ3N0OiBoaQogICA+IFN0YWhsZG9ybiBzYWd0OiBwYXJkb24sIHdhciBnZXJhZGUgYWJzZW50LgogICBTdGFobGRvcm4gc2FndDoga2VubnN0IGR1IHdpZW4gPwogICBEdSBzYWdzdDogaGVhc3Qgb2lkYSEgV3Vlc3QgYW4ga29lY2g/CiAgIFN0YWhsZG9ybiBzYWd0OiB3b3cgIQogICBTdGFobGRvcm4gc2FndDogd29oZXIgYmlzdG4sIG9pZGUgPwogICBEdSBzYWdzdDoga2FubnN0IGR1IGtlaW4gd2llbmVyaXNjaD8KICAgPiBTdGFobGRvcm4gc2FndDogYXVzIHdlYW4gPyBvZGEgYmlzdCBlaCBhIGdzb2VjaHRlID8KICAgU3RhaGxkb3JuIGdyaW5zdC4KICAgRHUgc2Fnc3Q6IG5vLCBvaWRhLCBhdXMgaGVhbm9pcy4KICAgPiBTdGFobGRvcm4gYnJpY2h0IHZvciBMYWNoZW4genVzYW1tZW4uCiAgIER1IHNhZ3N0OiB1bmQgZHU/CiAgIFN0YWhsZG9ybiBzYWd0OiBpIGJpbiBrb2Egd2VhbmEgbmV0LgogICBEdSBzYWdzdDogYXVzIGxpbnosIGhhISBpbiBsaW56IGJlZ2lubnRzIHNvZ25zIGJlaSB1bnMhCiAgIFN0YWhsZG9ybiBzYWd0OiB3b2hlciB3YXN0biBkZXMgPwogICBTdGFobGRvcm4gc2FndDogaSBtYW4sIGRhc3MgaSBhdXMgbGlueiBiaW4gPwogICBUb3JmZHVlbmcgd2lyZCB2b24gdmllbGVuIFdpY2tpbmdlcm4gcmVpbmdlYnJhY2h0ICwgZGllIGFsbGUgIkxhc3NlClJlaW5Cb2VyZyIgcgogICB1ZmVuLgogICBEdSBzYWdzdDogbm8gbWlhIHdpc3NuIG9pcy4gSG9iIGpvIGhpbGJlYXRzIHphdWJhc3RvYiEKICAgPiBUb3JmZHVlbmcgZmFlbmd0IGZ1ZXJjaHRlcmxpY2ggYW4genUgZmx1Y2hlbi4KICAgQmVsZGluIHJ1ZnQ6IEF1ZndpZWRlcnNlaGVuIFN0YWhsZG9ybiEhISEgKGltIG5hZWNoc3RlbiBMZWJlbikKICAgVG9yZmR1ZW5nIGZhZW5ndCBmdWVyY2h0ZXJsaWNoIGFuIHp1IGZsdWNoZW4uCiAgIFRvcmZkdWVuZyBiZXNjaHdvZXJ0IGVpbmVuIEJsaXR6IHZvbSBIaW1tZWwuCiAgIFN0YWhsZG9ybiBmYWVsbHQgdG90IHp1IEJvZGVuLgogICBEdSBzaWVoc3QgZWluZSBkdW5rbGUgR2VzdGFsdCwgZGllIGV0d2FzIER1bnN0IGVpbnNhbW1lbHQgLi4uIG9kZXIKdmllbGxlaWNodCAgIGJpbGRlc3QgZHUgRGlyIGRhcyBhdWNoIG51ciBlaW4gLi4uCiAgIFtUb2Q6XSBUb3JmZHVlbmcgaGF0IGdlcmFkZSBTdGFobGRvcm4gdW1nZWJyYWNodC4KICAgW0FsbGdlbWVpbjpUb2V0ZXJdIHdpZXNvIGRhcyBkZW5uPwogICBbQWxsZ2VtZWluOkJlbGRpbl0gV2VpbCBTdGFobCBnZWtudWRkZWx0IGhhdAogICBCZWxsaWN1cyBydWZ0OiBTdXBlciwgVG9yZmR1ZW5nICEKICAgW0FsbGdlbWVpbjpUb2V0ZXJdIHJhdWhlIHNpdHRlbiEKICAgW0FsbGdlbWVpbjpCZWxkaW5dIGJpbmdvCiAgIEJlbGxpY3VzIGtvbW10IGFuLgogICB0ZWlsZSB0b3JmZHVlbmcgbWl0IHdpZXNvIGhhc3QgZHUgZGVubiBtZWluZW4gZ2VzcHJhZWNoc3BhcnRuZXIKdW1nZWJyYWNodD8KICAgRHUgdGVpbHN0IFRvcmZkdWVuZyBtaXQ6IHdpZXNvIGhhc3QgZHUgZGVubiBtZWluZW4gZ2VzcHJhZWNoc3BhcnRuZXIKICAgRHUgdGVpbHN0IFRvcmZkdWVuZyBtaXQ6IHVtZ2VicmFjaHQ/CiAgID4gVG9yZmR1ZW5nIHNhZ3Q6IFN0YWhsIGlzdCBnbGVpY2ggd2llZGVyIGRhCiAgIEJlbGxpY3VzIHNhZ3Q6IGFjaCBzbywgZWluIHBzZXVkby10b2QgIQogICBUb3JmZHVlbmcgc2FndDogd2VpbCBlciBtaWNoIGdla251ZGRlbHQgaGF0ICx1bmQgd2Vpc3MgZGFzIGljaCBkYXMgaGFzc2UKd2llCiAgIFRvcmZkdWVuZyBzYWd0OiBkaWUgcGVzdAogICA+IEJlbGxpY3VzIGdyaW5zdC4KICAgPiBUb3JmZHVlbmcgc2FndDogYWJlciBpc3QgZ2xlaWNoIHdpZWRlciBkYQogICBEdSB0ZWlsc3QgVG9yZmR1ZW5nIG1pdDogZGFyZiBpY2ggZGljaCB0YWV0c2NoZWxuLCBpY2ggYmluIGVpbmUKICAgRHUgdGVpbHN0IFRvcmZkdWVuZyBtaXQ6IG1lZXJqdW5nZnJhdSE/CiAgID4gVG9yZmR1ZW5nIHNjaHVldHRlbHQgZGVuIEtvcGYuCiAgIFRvcmZkdWVuZyBzYWd0OiBuZWluCiAgIFN0YWhsZG9ybiB0cml0dCBhdXMgZWluZXIgU2Nod2VmZWx3b2xrZS4KICAgU3RhaGxkb3JuIGdlaHQgbmFjaCBPc3Rlbi4KICAgU3RhaGxkb3JuIGtvbW10IGFuLgogICBEdSBzYWdzdDogd3VzY2hlbG4/CiAgIFRvcmZkdWVuZyBncnVtbWVsdAogICA+IFN0YWhsZG9ybiBzYWd0OiBuYSBpbW1lcmhpbiB2ZXJsaWVydCBtYW4gc2VpbiB6ZXVnIG5pY2h0Li4uCiAgID4gU3RhaGxkb3JuIGdyaW5zdC4KICAgVG9yZmR1ZW5nIHNhZ3Q6IFN0YWhsZG9ybiAuLi4uLgogICBUb3JmZHVlbmcgc2FndDogbmljaHQgTk9DSE1BTCAuLi4KICAgU3RhaGxkb3JuIHNhZ3Q6IHdhciBlaW5lIFRPTExFIGVyZmFocnVuZyAhCiAgIFRvcmZkdWVuZyBzYWd0OiBzb25zdCB1ZWJlcmxlZyBpY2ggbWlyIG5lIGFuZGVyZSBzYWNoZSA6KQogICBUb3JmZHVlbmcgZ3JpbnN0LgogICBTdGFobGRvcm4gc2FndDogd2FzIGRlbm4gPwogICBEaWUgTHVmdCB2ZXJhZW5kZXJ0IHVuZCB2ZXJkaWNodGV0IHNpY2ggenUgQWxhcmluLgogICBUb3JmZHVlbmcgc2FndDogQXJpZWxsZSAuLi4KICAgVG9yZmR1ZW5nIHNhZ3Q6IG5laW4gLi4uLi4uCiAgIFN0YWhsZG9ybiBncmluc3QgaGFlbWlzY2ggenVydWVjay4KICAgTG9yZCBBbGFyaW4gc2FndDogSGkgOykKICAgRHUgc2Fnc3Q6IHdvIHdvYXN0biBzb2xvbmcKICAgPiBMb3JkIEFsYXJpbiBzYWd0OiBuYSBkdSBraWxsZXIhCiAgIFN0YWhsZG9ybiBzYWd0OiB3b2F0IGFtb2kgIQogICBUb3JmZHVlbmcgZ3JpbnN0LgogICBUb3JmZHVlbmcgc2FndDogeWVhaAogICBUb3JmZHVlbmcgc2FndDogZGFzIG11c3N0IGR1IGFuIGRpZSBTcGllbGVyIHZlcnRlaWxlbiAuLi4KICAgVG9yZmR1ZW5nIGdyaW5zdC4KICAgU3RhaGxkb3JuIHNhZ3Q6IGhlYXN0LCB3aWEga2FubnN0biBkZXMgd2lha2xpID8KICAgTG9yZCBBbGFyaW4gc2FndDogZHUgaGFzdCBqZXR6dCBuZW4gcGxheWVya2lsbAogICBUb3JmZHVlbmcgenVja3QgcmF0bG9zIG1pdCBkZW4gU2NodWx0ZXJuLgogICA+IFRvcmZkdWVuZyBzYWd0OiBpY2ggd2VyZCBtaXQgbGViZW4gLi4uCiAgIFRvcmZkdWVuZyBzYWd0OiBvZGVyIHN0ZXJiZW4gLi4KICAgVG9yZmR1ZW5nIHNhZ3Q6IGFlaCAuLgogICA+IFRvcmZkdWVuZyBzYWd0OiBuZSBzdGVyYmVuIG5pY2h0IG1laHIKICAgU3RhaGxkb3JuIHNhZ3Q6IGkgaGFiIGEgYW4gemF1YmVyc3RvYiBnaG9idCwgb2JhIGkgaG9iIGRlcyBuZXQga2VubmEuCiAgIEFsYXJpbiBncmluc3QuCiAgIFN0YWhsZG9ybiBzYWd0OiBhcmllbGxlID8KICAgRHUgc2Fnc3Q6IGhvc3RuIG5lZCByaWNodGlnIGJlbnV0enQsIGJsb3NzIHp1bSBzY2huZWNrZXJsIG1vY2huPwogICA+IFN0YWhsZG9ybiBzYWd0OiBuYWpvLCBpIGhhYiBqYSBuZXQgZ3dpc3N0LCBkYXNzIGRlYSBhIG51IHdvcyBvbmRhcyBrYXUKYXVzc2EKICAgU3RhaGxkb3JuIHNhZ3Q6IGxpY2h0IG1vY2huLgogICBEdSBzYWdzdDogc2lhZ3N0IGRlcyB3YXMgaSBubyBuZWQsIGRvbmtzY2hlZSEKICAgPiBTdGFobGRvcm4gZ3JpbnN0LgogICBUb3JmZHVlbmcgZ2FlaG50LgogICBUb3JmZHVlbmcgc2FndDogaWNoIGdlaCBkYW5uIG1hbCAuLi4KICAgPiBTdGFobGRvcm4gc2FndDogZ2VoIG9pZGUgISB2YW9hc2NoIG1pIG5ldCAhCiAgIEFsYXJpbiB3aW5rdC4KICAgU3RhaGxkb3JuIHdpbmt0LgogICA+IEFsYXJpbiB2ZXJzY2htaWx6dCBtaXQgZGVtIFVudGVyZ3J1bmQgdW5kIGdlbGFuZ3QgaXJnZW5kd2llIG5hY2ggSGF1c2UuCiAgIFRvcmZkdWVuZyBzYWd0OiBpIGdlYiBkaXIgZ29pY2ggYSB3YXRzY2hlbgogICBTdGFobGRvcm4gc2FndDogaG9zdCBkZXMgZWNodCBuZXQgZ3d1c3N0ID8KICAgVG9yZmR1ZW5nIHNhZ3Q6IGdsb2ljaAogICBTdGFobGRvcm4gYnJpY2h0IHZvciBMYWNoZW4genVzYW1tZW4uCiAgIFRvcmZkdWVuZyBncmluc3QuCiAgIExvcmQgQWxhcmluIHJ1ZnQ6IEd1dGUgTmFjaHQgOikKICAgQWxhcmluIHdpbmt0IERpciBhdXMgZGVyIEZlcm5lIHp1bSBBYnNjaGllZCB6dSA6KQogICBUb3JmZHVlbmcgd2lyZCB2b24gZWluIHBhciBXaWtpbmdlcm4gcmF1c2dld29yZmVuLi4KICAgU3RhaGxkb3JuIHNhZ3Q6IHdvcyB3b2EgZGVubiBkZXMgZmlyIGEgc3Byb2NoID8KICAgRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgogICA+IFN0YWhsZG9ybiBzYWd0OiBhIGxpYWNodCBtb2Noc3QgbWl0ICJzY2h3aW5nZSBzdGFiIgogICBTdGFobGRvcm4gc2FndDogZGEgYnJlbm5zdCBvYmEgZWluaWdlcyBhbiBNUAogICA+IFN0YWhsZG9ybiBzYWd0OiB3aWEgbWFjaHN0biBkZW4gZ2VuYXVlbiBmaW5nZXIgPwogICBEdSBzYWdzdDogbm8sIGhvbW1hIGpvIGEgcG9hIG1wCiAgIFN0YWhsZG9ybiBncmluc3QuCiAgIER1IHNhZ3N0OiBzdGFiZmluZ2VyIDxuYW1lPj8KICAgPiBTdGFobGRvcm4gc2FndDogYSBzbyAhCiAgIGdyaW5zCiAgIER1IGdyaW5zdC4KICAgU3RhaGxkb3JuIHNhZ3Q6IG11YXNzIGkgZGlyZWt0IGF1c3Byb2JpYW4sIHdhbm4gaXMgbmV4dGVtb2kgZGllIHF1ZXN0Cm1vY2gKICAgU3RhaGxkb3JuIHNhZ3Q6IGRvbmtkYXNjaGUgIQogICBTdGFobGRvcm4gd2lua3QgRGlyIHp1LgogICBTdGFobGRvcm4gc2FndDogc2VydmFzICEKICAgU3RhaGxkb3JuIGdlaHQgbmFjaCBXZXN0ZW4uCiAgIER1IHRlaWxzdCBUb3JmZHVlbmcgbWl0OiBtb2VjaHRlc3QgZHUgc3RhaGxkb3JuIHZlcmFyc2NoZW4/IEljaCB3ZWlzcwp3aWUhCiAgIFRvcmZkdWVuZyB0ZWlsdCBEaXIgbWl0OiBuYSBrbGFyIDopCiAgID4gVG9yZmR1ZW5nIHdpcmQgdm9uIHZpZWxlbiBXaWNraW5nZXJuIHJlaW5nZWJyYWNodCAsIGRpZSBhbGxlICJMYXNzZQpSZWluQm9lcmciCiAgICBydWZlbi4KICAgIFRvcmZkdWVuZyBzYWd0OiBIYWkKICAgIFRvcmZkdWVuZyB0ZWlsdCBEaXIgbWl0OiB1bmQgPwogICAgPiBCZWxsaWN1cyBzYWd0OiBIYWkgIQogICAgRHUgc2Fnc3Q6IGFsc28gaWNoIGVycmlldCBkYXNzIGVyIGF1cyBsaW56IGlzdCwgdW5kIGVyIGdsYXVidCBqZXR6dCBkYXNzCmljaCAgICBEdSBzYWdzdDogaWhuCiAgICBEdSBzYWdzdDogZmluZ2VybiBrb25udGUgbWl0IGRlbSB6YXViZXJzdGFiIHZvbiBoaWxsaWJpbGx5CiAgICA+IFRvcmZkdWVuZyBzYWd0OiBIaWxsaWJpbGx5ID8KICAgIFRvcmZkdWVuZyBncmluc3QuCiAgICBUb3JmZHVlbmcgc2FndDogS2Fzc2FuZHJhIC4uLgogICAgQmVsbGljdXMgc2FndDogSGlsYmVydHMtVHVybSA/CiAgICBUb3JmZHVlbmcgYnJpY2h0IHZvciBMYWNoZW4genVzYW1tZW4uCiAgICBEdSBzYWdzdDogbWl0IGRlbSBiZWZlaGwgInN0YWJmaW5nZXIgPG5hbWU+Ii4gSGF0IHNpY2ggc28gZXJnZWJlbi4KSGlsbGJlcnQuICAgIFRvcmZkdWVuZyBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KICAgIEJlbGxpY3VzIHNhZ3Q6IERhcyBpc3QgYWJlciBnZW1laW4gIQogICAgVG9yZmR1ZW5nIHNhZ3Q6IGRhcyB3aXJkIGx1c3RpZwogICAgVG9yZmR1ZW5nIHNhZ3Q6IEV5ICwgU3RhaGxkb3JuIC4uLiB3YXJ1bSBrYW5uc3QgZHUgZGFzIG5pY2h0ID8KICAgIFRvcmZkdWVuZyBzYWd0OiBiaXN0IGR1IHp1IGJsb2VkIC4uLgogICAgVG9yZmR1ZW5nIHNhZ3Q6IG9kZXIgenUgc2Nod2FjaCAuLi4KICAgIFRvcmZkdWVuZyBzYWd0OiBvZGVyIHdhcwogICAgVG9yZmR1ZW5nIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgogICAgVG9yZmR1ZW5nIGdyaW5zdC4KICAgIFRvcmZkdWVuZyBzYWd0OiBuYSBqYQogICAgQmVsbGljdXMgc3ByaW5ndCBhdWYgZWlubWFsIFRvcmZkdWVuZyBhbiB1bmQgd3Vlcmd0IGlobi4KICAgIER1IHNhZ3N0OiBlcyB3YWVyZSBkb2NoIG5ldHQsIHdlbm4gZXIgd2FzIGF1ZiBzZWluICJzdGFiZmluZ2VyIDxuYW1lPgogICAgRHUgc2Fnc3Q6IGVyaGFsdGVuIHd1ZXJkZSEKICAgID4gZmluZ2VyIGJlbGxpY3VzCiAgICBCZWxsaWN1cyBpc3QgZWluZ2Vsb2dndCwKICAgIHVuZCB6d2FyIHZvbjogT2VzdGVycmVpY2guCiAgICBWb2xsZXIgTmFtZTogQmVsbGljdXMgZGVyIFBmYWRmaW5kZXIKICAgIFJhc3NlOiBad2VyZywgICAgR2VzY2hsZWNodDogbWFlbm5saWNoICAgU3BpZWxlcmxldmVsOiA0CiAgICA+IFRvcmZkdWVuZyBncmluc3QgRGljaCBhbi4KICAgIEJlbGxpY3VzIHNhZ3Q6IGhhaGEgIQogICAgQmVsbGljdXMgZ3J1bW1lbHQuCiAgICBUb3JmZHVlbmcgdGFldHNjaGVsdCBCZWxsaWN1cyBkZW4gS29wZi4KICAgIFRvcmZkdWVuZyBzYWd0OiBqYWphCiAgICBEdSB0ZWlsc3QgVG9yZmR1ZW5nIG1pdDogaXN0IGVyIGRhcz8KICAgID4gQmVsbGljdXMgZ2VodCBpbiBkaWUgRWNrZSB1bmQgc2NobW9sbHQuCiAgICBUb3JmZHVlbmcgc2FndDogSG1tIC4uLgogICAgVG9yZmR1ZW5nIHRlaWx0IERpciBtaXQ6IGljaCBnbGF1YiBqYSA6KQogICAgQmVsbGljdXMgc2FndDogamV0enQgbXVzcyBkZXIgU3RhaGxkb3JuIGRpZSBRdWVzdCBmZXJ0aWdtYWNoZW4gIQogICAgRHUgdGVpbHN0IFRvcmZkdWVuZyBtaXQ6IHNjaGVpc3NlLi4KICAgID4gQmVsbGljdXMgc2FndDogRWNodCBmaWVzICEKICAgIER1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KICAgID4gQmVsbGljdXMgc2FndDogbmEgaW1tZXJoaW4ga3JpZWd0IGVyIGRlbiBaYXViZXJzdGFiIGRhZ3Vlci4uLgogICAgQmVsbGljdXMgc2FndDogYWVoIGRhZnVlcgogICAgQmVsbGljdXMgc2FndDogTEFDSCBOSUNIVCAhCiAgICBUb3JmZHVlbmcgdGVpbHQgRGlyIG1pdDogZ2xlaWNoZSByZWNobmVyYWRyZXNzZSAuLi4KICAgIEJlbGxpY3VzIGdydW1tZWx0LgogICAgRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgogICAgQmVsbGljdXMgZ2VodCBpbiBkaWUgRWNrZSB1bmQgc2NobW9sbHQuCiAgICA+IFRvcmZkdWVuZyB0YWV0c2NoZWx0IEJlbGxpY3VzIGRlbiBLb3BmLgogICAgQmVsbGljdXMgZ2VodCBpbiBkaWUgRWNrZSB1bmQgc2NobW9sbHQuCiAgICBUb3JmZHVlbmcgc2FndDogYWNoIEJlbGxpY3VzIC4uLgogICAgRHUgdGVpbHN0IFRvcmZkdWVuZyBtaXQ6IHNvIGVpbiBtaXN0aWdlciBtaXN0ISBFcyB3YWVyIHNvIGx1c3RpZwpnZXdlc2VuISEhCiAgICBUb3JmZHVlbmcgc2FndDoga2FubnN0IGphIG5peCBkYXp1IC4uLiBkYXMgZHUgU3RhaGxkb3JucyB6d2VpdGkgYmlzdCA6KQogICAgVG9yZmR1ZW5nIHRlaWx0IERpciBtaXQ6ICpsYWNoKgogICAgPiBCZWxsaWN1cyBzYWd0OiBNaXQgZGlyIHJlZCBpIG5pbW1hLCBhcmllbGxlICEKICAgIEJlbGxpY3VzIGdlaHQgaW4gZGllIEVja2UgdW5kIHNjaG1vbGx0LgogICAgRHUgc2Fnc3Q6IHNjaGFhYWQKICAgID4gVG9yZmR1ZW5nIHNhZ3Q6IFN0YWhsZG9ybiAuLi4uLi4uCiAgICBUb3JmZHVlbmcgZ3JpbnN0LgogICAgRHUgc2Fnc3Q6IHdhZXIgZG9jaCBsdXN0aWcgZ3dlbiEKICAgID4gVG9yZmR1ZW5nIGdyaW5zdC4KICAgIEJlbGxpY3VzIGZhZW5ndCBmdWVyY2h0ZXJsaWNoIGFuIHp1IGZsdWNoZW4uCiAgICBEdSB0ZWlsc3QgVG9yZmR1ZW5nIG1pdDogYWJlciBzbyBpc3QgZXIgYXVjaCBzY2hvbiBnZW51ZyB2ZXJhcnNjaHQsCm9kZXI/CiAgICA+IEJlbGxpY3VzIGh1ZXBmdCB2b2xsZXIgV3V0IGhlcnVtLgogICAgVG9yZmR1ZW5nIHRlaWx0IERpciBtaXQ6IG5hIGphIDopCiAgICBCZWxsaWN1cyBzYWd0OiBncnJycnJycgogICAgVG9yZmR1ZW5nIHRlaWx0IERpciBtaXQ6IGphYWEgOikKICAgIEJlbGxpY3VzIGZhZW5ndCBmdWVyY2h0ZXJsaWNoIGFuIHp1IGZsdWNoZW4uCiAgICBCZWxsaWN1cyBnZWh0IGluIGRpZSBFY2tlIHVuZCBzY2htb2xsdC4KICAgIFRvcmZkdWVuZyB3aW5rdC4KICAgIFRvcmZkdWVuZyB3aXJkIHZvbiBlaW4gcGFyIFdpa2luZ2VybiByYXVzZ2V3b3JmZW4uLgogICAgRHUgaG9lcnN0IGRpZSBVaHIgc2NobGFnZW4uIEVzIGlzdCBqZXR6dCAxIFVoci4KICAgIEJlbGxpY3VzIGdlaHQgaW4gZGllIEVja2UgdW5kIHNjaG1vbGx0LgogICAgS25vZXJyeSBrb21tdCBhbi4KICAgIEtub2VycnkgZ2VodCBuYWNoIE9zdGVuLgogICAgS25vZXJyeSBrb21tdCBhbi4KICAgIEtub2Vycnkga251ZGRlbHQgQmVsbGljdXMgdW5kIERpY2ggZnJvZWhsaWNoLgogICAgQmVsbGljdXMgZ2VodCBpbiBkaWUgRWNrZSB1bmQgc2NobW9sbHQuCiAgICBLbm9lcnJ5IHNhZ3Q6IGhhbGxvIHp1c2FtbWVuIDopCiAgICBEdSBzYWdzdDogaGkhCiAgICA+IEJlbGxpY3VzIHNhZ3Q6IGhhbGxvIGtub2VycnkKICAgIEJlbGxpY3VzIGdlaHQgaW4gZGllIEVja2UgdW5kIHNjaG1vbGx0LgogICAgPktub2Vycnkgc3RhYmZpbmdlcnQgRGljaC4KICAgIEtub2Vycnkgc2FndDogQWggLi5laW4gTGluemVyLi4uCiAgICBCZWxsaWN1cyBzcHJpbmd0IGF1ZiBlaW5tYWwgS25vZXJyeSBhbiB1bmQgd3Vlcmd0IGlobi4KICAgIEJlbGxpY3VzIGdlaHQgaW4gZGllIEVja2UgdW5kIHNjaG1vbGx0LgogICAgQmVsbGljdXMgc2FndDogd29oZXIgd2Vpc3N0IERVIGRhcyBzY2hvbiB3aWVkZXIgPwogICAgS25vZXJyeSBzYWd0OiBpY2ggaGFiIGRvY2ggZWluZW4gWmF1YmVyc3RhYgogICAgS25vZXJyeSBnZWh0IG5hY2ggV2VzdGVuLgogICAgRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgogICAgPiBEdSBzYWdzdDogd28gaXN0IGVpZ2VudGxpY2ggc3RhaGxkb3JuPyBzY2hvbiBsYW5nIG5pY2h0IG1laHIgZ2VzZWhlbj8KTGlmdGJveQogICAgZ2V3b3JkZW4/CiAgICA+IEJlbGxpY3VzIHNwcmluZ3QgRGljaCBhdWYgZWlubWFsIGFuIHVuZCB3dWVyZ3QgRGljaC4KICAgIEJlbGxpY3VzIHNhZ3Q6IFJVSEUgIQogICAgQmVsbGljdXMgc2NocmVpdCBEaWNoIGFuLgogICAgQmVsbGljdXMgc2FndDogd2FzIHN0ZXN0biBlaWdlbnRsaWNoIHNvIGdzY2hpc3NuIGluIGRhIGdlZ25kIHVtYWR1bSA/Ckhhc3QKICAgIEJlbGxpY3VzIHNhZ3Q6IG5peCB6dW0gZHVhbiA/CiAgICBEdSBzYWdzdDogaWNoIG1lZGl0aWVyZS4uLgogICAgRHUgc2Fnc3Q6IHVuZCB3YXJ0ZSBhdWYgc3RhaGxkb3JuCiAgICA+IFN0YWhsZG9ybiBydWZ0OiBoaWxiZXJ0CiAgICBCZWxsaWN1cyBzYWd0OiBncnJyCiAgICBIaWxiZXJ0IHJ1ZnQ6IEphID8KICAgIFRvcmZkdWVuZyB0ZWlsdCBEaXIgbWl0OiBTVVVVUEVSICEhIQogICAgVG9yZmR1ZW5nIHRlaWx0IERpciBtaXQ6IGxhY2gKICAgIER1IHNwdWVyc3QsIHdpZSBlaW4gWml0dGVybiBkdXJjaCBkYXMgTW9yZ2VuR3JhdWVuIGdlaHQuCiAgICBCZWxsaWN1cyBzYWd0OiBqZXR6dCBtdXNzIGljaCBub2NoIGRlbiBzY2guLi4gc2NobHVlc3NlbCBzdWNoZW4uCgogICAgIFVlYmVyc2V0enVuZyBnaWJ0J3MgbnVyIGF1ZiBhbmZyYWdlLi4uCiAgICAgQWNoamEuLi5uaXggZnVlciB1bmd1dCwgU3RhaGxkb3JuIDopCgoKICAgICAgICAgICAgICAgbWZHIEtub2VycnkuLi4KCgogVWZmIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pdHNjaG5pdHQgKEpvZiwgMTguIEF1ZyAxOTk0LCAxMjoxNToyNik6CkphamEsIGFiZ2VzZWhlbiB2b24gZGVuIHVlYmxpY2hlbiBnbG9yaWZpemllcnVuZ2VuIHVuZCBkYXZvbiwgZGFzIGljaCBkZW4gR0QKZGFubiBkb2NoIHNlbGJzdCB1ZWJlcnNldHp0IGJla29tbWVuIGhhYiwga29tbXQgZGFzIHNjaG8gaGluIDopCiBBdWNoLCBkYXMgZGllIElkZWUsIGVpbiBNdWQgaW4gZGV1dHNjaGVyIFNwcmFjaGUgenUgbWFjaGVuLCBkdXJjaGF1cyBnZS0Kd29laG51Z3NiZWR1ZXJmdGlnIHdhciAuLi4genVlcnN0IGhhdHRlbiB3aXIgc29nYXIgdm9yLCBkaWUgZGV1dHNjaGVuIFVORAplbmdsaXNjaGVuIEJlZmVobGUgenV6dWxhc3NlbiwgbWFuIGtvbm50ZSBzaWNoIGVpbiBNdWQgbWl0IGRldXRzY2hlbiBCZS0KZmVobGVuIGthdW0gdm9yc3RlbGxlbiAoZGFoZXIgYXVjaCBhbGlhc2VzIHdpZSAndGVsbCcgLi4uIHp1ZXJzdCBhdWNoICdzYXknCmZ1ZXIgJ3NhZycsIGluendpc2NoZW4gaGFiIGljaCBuYXR1ZXJsaWNoIGluIGVuZ2xpc2NoZW4gbXVkcyBlaW4gYWxpYXMKJ3NhZycgZnVlciBzYXksIHZlcnN0ZWh0IHNpY2guLi4pIC0gdGphIHVuZCBkYXMgd2FobndpdHppZ2UgR2VzY2hhdWtlbCBpbQpTY2hsYXVjaGJvb3Qgd2FyIGplbWFuZCBhbmRlcnMsIGhhdCBoaWVyIGF1Y2ggTHZsIDExMSwgZmFlbmd0IG1pdCBCIGFuIHVuZApob2VyIG1pdCBvaW5nIGF1Zi4uLikgOikpCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2ZXJhcnNjaGUgKFN0YWhsZG9ybiwgMTguIEF1ZyAxOTk0LCAxMzoxNTozMCk6CltWZXJsZWd0IHZvbiB3b2xwZXJ0aW5nZXIuZmFuY2x1YiwgU3RhaGxkb3JuLCAxOC4gQXVnIDE5OTQsIDEzOjA5OjU1XToKCgpJY2ggc2NoYWVtZSBtaWNoIGphIHNvb29vbyAhIDotKApJY2ggYmluIHNvIGJsb2VkICEgRGFzcyBpY2ggbmljaHQgZHJhdWZnZWtvbW1lbiBiaW4sIGRhc3MgQXJpZWxsZT1Lbm9lcnJ5CiEqc2VsYnNvaHJmZWlnKgoKSWNoIGJpbiBLbm9lcnJ5IG5hdC4gbmljaHQgYm9lc2UgIQpHdXRlciBXaXR6LiBNdXNzIG1pciBub2NoIGV0d2FzIGFscyBSYWNoZSBhdXNkZW5rZW4uLi4uLgoKICAgICAgICAgICAgICAgICBTdGFobAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZlcmFyc2NoZSAoS25vZXJyeSwgMTguIEF1ZyAxOTk0LCAxNTowMzoxNik6Cktub2VycnkgaXN0IG5pY2h0IEFyaWVsbGUuLi4KCm1mZyBLbm9lcnJ5Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5bRy9nXXJhdWVuIChDaGljb2xhLCAxOC4gQXVnIDE5OTQsIDE2OjU5OjUxKToKSFVIVSBJaHIKCkFsc28gaWNoIGhhYiBlaW5mYWNoIG1hbCBudXIgbmUgRnJhZ2U6IEhlaXNzdCBkYXMgTXVkIG51biBNb3JnZW5HcmF1ZW4gb2RlcgpNb3JnZW5ncmF1ZW4uIFNlbGJzdCBpbiBkZXIgIlNjaGxhZmUtZWluLVNlcXVlbnoiIGdpYnQgZXMgYmVpZGUKU2NocmVpYndlaXNlbiEKCkVpbmUgdW0gQXVma2xhZXJ1bmcgYml0dGVuZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hpY29sYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXMgaGVpc3N0IE1vcmdlbkdyYXVlbiAhIDotKSAoUnVtYXRhLCAxOC4gQXVnIDE5OTQsIDE4OjAwOjQwKToKVGhlIHN1YmplY3Qgc2F5cyBpdCBhbGwgOikKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVVVVVVVVVdXV1dXV1dXV1dXV1dXV1dXV1dXV1cmxhdWIgKFNlbWlyYSwgMjEuIEF1ZyAxOTk0LCAxODozNToyOCk6CkhhbGxvZSEKCkF1Y2ggZWluZSBLbnVkZGVsbWF1cyBicmF1Y2h0IG1hbCBVcmxhdWIhIERlc3dlZ2VuIG11ZXN0IElociAoamFqYSwgaWNoIGhvZXJlCmVpbmlnZSBzY2hvbiBhdWZhdG1lbikgYWIgMjYuMDguIGRyZWkgd29jaGVuIGF1ZiBtaWNoIHZlcnppY2h0ZW4uLi4KTmFqYSwgZnVlciBkaWVqZW5pZ2VuIGRpZSBlaW5lIGRlcmFydCBmdWVyY2h0ZXJsaWNoIGxhbmdlIHVuZCB1bmVuZGxpY2hlIFplaXQKbmljaHQgZ2FuayBvaG5lIGVpbiBMZWJlbnN6ZWljaGVuIHZvbiBtaXIvdW5zIHNlaW4gd29sbGVuIGhpZXIgZWluIEFuZ2Vib3Q6CkJpcyBNaXR0d29jaCBSTC1BZHJlc3NlIGhlciB1bmQgZXMgZ2lidCBzY2hvZW5lIFBvc3RrYXJ0ZW4gYXVzClN1ZWRmcmFua3JlaWNoIQpOYXR1ZXJsaWNoIG51ciBzbyBsYW5nZSBkZXIgUG9ydG8tVm9ycmF0IHJlaWNodC4uLi4KCkFuc29uc3RlbiB3dWVuc2NoZSBpY2ggRXVjaCBzY2hvbiBqZXR6dCBlcmhvbHNhbWUgZHJlaSB3b2NoZW4uLi4uYXVjaCB3ZW5uCm1pY2ggZGllIGFuZGVyZW4sIGF1Y2ggdm9uIGRlciBLbnVkZGVsZXBpZGVtaWUgaW5maXppZXJ0ZW4gS251ZGRlbG1vbnN0ZXIKd3VlcmRpZyB2ZXJ0cmV0ZW4gd2VyZGVuLi4uLi4KCkFtIDE5IFNlbXB0ZW1iZXIga251ZGRlbCBpY2ggRXVjaCB3aWVkZXIuLi4uYmlzIGRhaGluIENJQU8sIEV1cmUKCiAgICAgICAgICAgICAgICAgICAgICAgICBTRU1JUkEKClAuUy46IEFsbGUgTXVkZGllcywgZGllIG5pY2h0IGdla251ZGRlbHQgd2VyZGVuIHdvbGxlbiBzaW5kCnNlbGJzdHZlcnN0YWVuZGxpY2ggdm9uIGFsbGVuIEtudWRkbGVybiBhdXNnZW5vbW1lbiB1bmQgbXVlc3NlbiBzaWNoIG5pY2h0CmFuZ2VzcHJvY2hlbiBmdWVobGVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUm9sZU1hc3Rlci1LYW1wZnByb2dyYW1tIChUcm95LCAyMi4gQXVnIDE5OTQsIDE0OjM5OjU1KToKQW4gYWxsZSBSb2xlTWFzdGVyKFRNKS1TcGllbGVyOgoKV2llIGljaCBhdWYgZGVyIFBhcnR5IGphIHNjaG9uIG1laHJmYWNoIHZlcmxhdXRiYXJ0ZSwgZ2lidHMgZGEgc29uClJvbGVNYXN0ZXItQXR0YWNrLWFuZC1Dcml0LUludGVycHJldGF0aW9uLURpYWxvZyAoUk0tQUNJRCAoKnRvbGxlcgpOYW1lLCB3YXM/Kikgdm9uIG1pciwgZGVyIGRpZSBLYW1wZmFid2lja2x1bmcgaW4gUk0gdW5kIFNNIG1pdCBIaWxmZQplaW5lciBET1MtS2lzdGUgZW5vcm0gZXJsZWljaHRlcnQuIERhcyBndXRlIFN0dWVjayBsaWVndCBpbQpWZXJ6ZWljaG5pcyAvb3Blbi9Sb2xlTWFzdGVyIHVuZCBoZWlzc3QgQHJtYWNpZC5hcmouIERhcyBUZWlsIGlzdCBzbwprb25maWd1cmllcnQsIGRhc3MgbWFucyBhbiBpcmdlbmRlaW5lciBSb290ICh6LkIuIEM6XCkgbWl0CmFyaiB4IC15IEBybWFjaWQuYXJqIGVudHBhY2tlbiBrYW5uLiBEYW5hY2ggbGllZ3QgYWxsZXMgaW0KVW50ZXJ2ZXJ6ZWljaG5pcyBBQ0lELiBEb3J0IGJpdHRlIHp1bmFlY2hzdCBkaWUgRGF0ZWkgcmVhZG1lLjFzdApsZXNlbi4KClZpZWwgU3Bhc3MgZGFtaXQgOikKClRyb3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdGVyYmVzZXF1ZW56IChLbm9lcnJ5LCAyMy4gQXVnIDE5OTQsIDIwOjE2OjM4KToKSWNoIGZpbmRlIGRpZSBuZXVlIFN0ZXJiZXNlcXVlbnogenUgbGFuZy4uLiBJY2ggemFobGUgc2NobGllc3NsaWNoClRlbGVwaG9uZ2VidWVocmVuIQpBdXNzZXJkZW0gd2FzIGlzdCBkZW4gU3RlcmJlbiBvaG5lIGRlbiBUb2QgdW5kIExhcnMgPz8KU29ycnkgZnVlciAyMCBTZWl0ZW4gdGV4dC4uLmFiZXIgc28gbWFjaHQgc3RlcmJlbiBrZWluZW4gU3Bhc3MhCgpJY2ggd2lsbCB3aWVkZXIgZGVuIEtlcmwgbWl0IGRlbiBHcm9zc2J1Y2hzdGFiZW4gISEKCgltZkcgR2Vpc3QgS25vZXJyeSAoLi4uYXVmIE1lcGhpc3RvcyBTcHVyZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUT0QhIChNZXBoaXN0bywgMjMuIEF1ZyAxOTk0LCAyMDo1MDo1NCk6CkljaCBoYXR0ZSBzb2ViZW4gZGllIHp3ZWlmZWxoYWZ0ZSBFaHJlLGRpZSBuZXVlIFRvZGVzc2VxdWVuegphdXN6dXByb2JpZXJlbix1bmQgaWNoIGthbm4gZmVzdHN0ZWxsZW4sZGFzcyBpY2ggdGllZiBiZWVpbmRydWNrdCBiaW4uU2VsdGVuClNvb29vbyBzY2hvZW4gZ2VzdG9yYmVuLkdyYXRzIGFuIFNjaG9lcGZlciBkaWVzZXMgTWVpc3RlcndlcmtzLjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFRvZGVzc2VxdWVueiAoRGFuY2VyLCAyMy4gQXVnIDE5OTQsIDIyOjM5OjM5KToKT2ssIGJldm9yIElociBtaWNoIGFsbGUgcGxhdHQgYW4gZGllIFdhbmQgcmVkZXQuLi4uCgpEaWUgbmV1ZSBUb2Rlc3NlcXVlbnogaXN0IGRpZSBlcnN0ZSB2b24gZWluZW0gQmF0emVuIG5ldWVyLCBkaWUgaWNoCnp1c2FtbWVuZ2VoYWVtbWVydCBoYWJlLCBkYW1pdCBpaHIgYXVjaCB3aWVkZXIgc28gcmljaHRpZyBTcGFzcyB1bmQKRnJldWRlIGFtIFN0ZXJiZW4gaGFidCB1bmQgRXVjaCBmdWVyIEV1cmUgRVAgYXVjaCBzbyBlaW5pZ2VzIGdlYm90ZW4Kd2lyZCAoIFNwZW5kZW4gd2VyZGVuIGltbWVyIGdlcm5lIGVudGdlZ2VuZ2Vub21tZW4gKS4gRGEgaWNoIGpldHp0IG5vY2gKYW4gZGVuIGxldHp0ZW4gV2Vya2VuIHNjaHJlaWJlLCBoYWJ0IElociBzb2dhciBub2NoIGRpZSBNb2VnbGljaGtlaXQsCm1pY2ggbWl0IFd1ZW5zY2hlbiB1bmQgVm9yc2NobGFlZ2VuIHp1IHRvcnBlZGllcmVuLCBkYW1pdCBkZXIgVG9kIHNvCnJpY2h0aWcgdXNlcmZyZXVuZGxpY2ggdW5kIGZydXN0aW50ZW5zaXYgd2lyZCA7KQoKRGFuY2VyICYgUGFydG5lcnMgLSBidWNoZW4gU2llIElocmVuIFRvZCBub2NoIGhldXRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic2NoaWVkc2dla251ZGRlbCAoU2VtaXJhLCAyNC4gQXVnIDE5OTQsIDE3OjM2OjA2KToKSGkgTXVkZGllcy4uLi4KSmEgamEsIGljaCBzZWhzIHNjaG9uLCBkaWUgZWluZW4gdmVyZmFsbGVuIGluIGJyZWl0ZXMgR3JpbnNlbiB1bmQgZGllIGFuZGVyZW4KYnJlY2hlbiBpbiBUcmFlbmVuIGF1cy4uLnVuZCBkYXMgYWxsZXMgbnVyLCB3ZWlsIHNpY2ggRXVyZSBLbnVkZGVsbWF1cyBpbiBkZW4Ka29tbWVuZGVuIDMgd29jaGVuIGluIFN1ZWRmcmFua3JlaWNoIHJ1bXRyZWlidC4gQmlzIGRhaGluIHNhZyBpY2ggYWxzbyBDaWFvCnVuZCAiYXVmIFdpZWRlcmtudWRkZWwhIGltIFNlcHRlbWJlci4uLi4KRGFzIEFuZ2Vib3QgbWl0IGRlbiBQb3N0YXJ0ZW4gc3RlaHQgbm9jaC4uLi5qZWRlciBkZXIgbm9jaCBlaW5lIHdpbGwgaGF0CmhldXRlIChtaXR0d29jaCkgbm9jaCB6ZWl0IG1pciBzZWluZSBBZHJlc3NlIHJ1ZWJlcnp1c2NoaWNrZW4uLi4ud2VubiBpY2gKc2Nob24gd2VnIGJpbiwgaXN0cyBsZWlkZXIgenUgc3BhZXQhCk51biBkZW5uLCBmcm9oZXMgcXVlc3RlbiwgZXJob2xzYW1lIEtudWRkZWxwYXVzZSB1bmQgYmlzIHNwYWV0ZXN0ZW5zIDIwLjA5LgoKTWl0IGVpbmVtIEF1ZndpZWRlcmtudWRkZWwtS251ZGRsZXIgYW4gYWxsZSBkaWUgc2ljaCB2b24gbWlyIEtudWRkZWxuIGxhc3Nlbgptb2VnZW4gKGRlciBSZXN0IGlnbm9yaWVydCBiZXN0aW1tdCBhdWNoIGRpZXNlbiBBcnRpa2VsKSBzYWcgaWNoIG51biBUc2NodWVzcwpFdmVyeW11ZGRpZS4uLi5WZXJnZXNzdCBFdXJlIEtOVURERUxNQVVTIG5pY2h0Li4uLgoKQmlzIGRlbm4gU0VNSVJBIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd29scGVydGluZ2VyIChLbGluZ2UsIDI1LiBBdWcgMTk5NCwgMjA6MDU6NDQpOgpBbiBhbGxlIGRpZSBuYWNoIGRlbSBsb2VzZW4gZGVyIFdvbHBlcnRpbmdlcnF1ZXN0IG5pY2h0IG1pdCBkZW0gZHVsbGVuCkZlbGxrbHVtcGVuIGR1cmNoIGRpZSBHZWdlbmQgemllaGVuIHdvbGxlbiBvZGVyIHdlbGNoZSBrZWluZW4gQm9jayBhdWYgZGVuCkNsdWItUXVhdHNjaCBoYWJlbi4KSWNoIGJpZXRlIGZ1ZXIgamVkZW4gV29scGVydGluZ2VyIGRlciBtaXIgenVtIFRvZXRlbiB1ZWJlcmxhc3NlbiB3aXJkIDEwMDAwCk11ZW56ZW4uCkRhbm4gaGFidCBJaHIgZXVyZSBSdWhlIHVuZCBrb2VubnQgZXVjaCBpbiBSdWhlIGRlbiB3ZXNlbnRsaWNoZW4gRGluZ2VuIGRlcwpMZWJlbnMgd2lkbWVuLCBUb2V0ZW4sIG1vcmRlbiwgc2NoYWVuZGVuLC4uLi4uLCBadGBzIHNhbW1lbG4sLi4uLnVuZApuYXR1ZXJsaWNoIFF1ZXN0cyBsb2VzZW4uCk1lbGRldCBldWNoIGluIE1hc3NlbiA7KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1cgKENoaWNvbGEsIDI2LiBBdWcgMTk5NCwgMDk6MzQ6MjEpOgpIYWxsbyBJaHIgIQoKSWNoIHdlaXNzIG5pY2h0IHdvIFdXVyBoaW5nZWhvZXJ0IGRlc2hhbGIgc2NoaWNrZSBpY2ggZXMgaW5zIGFsZ2VtZWluZS4gTWlyCmdlZmFlbGx0IGRpZSBTZWl0ZSBoZXJ2b3JhZ2VuZC4gTnVyIGVpbiBrbGVpbmVyIFR5cG8gaXN0IG1pdCBiZWkgL21heHVzZXJzCmF1ZmdlZmFsbGVuIDogZXJmYWVocnQgc3RhdHQgZXJmYWVqaHJ0IDopCgpCaXMgZGVubmUgICAgIENoaWNvbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5Zm90b3MgKEFyYWNobmEsIDI2LiBBdWcgMTk5NCwgMTc6MzU6NTkpOgpIYWxsbyBNdWRkaWVzLAoKRG9uYWxkIGhhdCBlaW4gcGFhciBGb3RvcyBnZXNjaG9zc2VuIGF1ZiBkZXIgUGFydHkuIEljaCBoYWIgc2llIGpldHp0IHBlciBXV1cKdmVyZnVlZ2JhciBnZW1hY2h0LiBVbSBzaWUgYW56dXNjaGF1ZW4gbXVlc3N0IElociBmb2xnZW5kZSBVUkwgb2VmZm5lbjoKaHR0cDovL2FzaTA5LnJ6LnVuaS1sZWlwemlnLmRlLyBEb3J0IGdpYnQgZXMgei5adC4gbnVyIGVpbmVuIEVpbnRyYWcgZGVuIG1hbgphbndhZWhsZW4ga2Fubi4gV2lyZCBob2ZmZW50bGljaCBiYWxkIHNjaG9lbmVyIHVuZCBtZWhyIHdlcmRlbiA7KSBBbHNvIHZpZWwKU3Bhc3MgbWl0IGRlbiBGb3Rvcy4KQXJhY2huYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JlbnplIChHcmltbWJvcm4sIDI4LiBBdWcgMTk5NCwgMDc6MTM6NTQpOgoKSWNoIGVyZmFocmUgZWJlbiwgaGllciBzb2xsIGVzIG5lIEdyZW56ZSB2b24gMTAwIGVpbmdlbG9nZ3RlbiBTcGllbGVybiBnZWJlbi4KR2lidHMgZGF6dSBuZW4gb2ZmaXppZWxsZW4gS29tbWVudGFyLCBudXIgc28gaW50ZXJlc3NlaGFsYmVyPwoKRWluIG11ZWRlciwgYWJlciBndXQgZ2VsYXVudGVyIEdyaW1tYm9ybgoKUC5TLiBNYW4gZnJhZ3Qgc2ljaCwgd2llc28gc2ljaCBkYXMgUHJvYmxlbSBzdGVsbHQuIFNpbmQgZ2VuYXUgNSBTcGllbGVyCmVpbmdlbG9nZ3QuLi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWdpZXJ1bmdzc3R1cnogKEdyaW1tYm9ybiwgMjguIEF1ZyAxOTk0LCAwODo0NToyOSk6CgpIZXV0ZSBNb3JnZW4sIDg6MzAgVWhyIGhhYmVuIENhcmFkaHJhcyB1bmQgaWNoIGRpZSBNYWNodCBpbSBNb3JnZW5ncmF1ZW4KdWViZXJub21tZW4uIFdpciBoYWJlbiBlaW4gd2FocmhhZnQgZGVtb2tyYXRpc2NoZXMgV2VzZW4gZ2VzY2hhZmZlbiwgbWl0IGRlbQphbGxlIEFud2VzZW5kZW4gZWludmVyc3RhbmRlbiBzaW5kLiBHb2V0dGVyLCBFcnptYWdpZXIgdW5kIE1hZ2llciBzaW5kCmFiZ2VzY2hhZmZ0IHVuZCBlbnRtYWNodGV0LgoKRGllc2UgUmVnZWxuIGdlbHRlbiBiaXMgYXVmIFdlaXRlcmVzLgoKV2VpdGVyZXMgaXN0IGhpZXIgZGFzIGVpbmxvZ2dlbiBlaW5lcyBHb3R0ZXMvRXJ6bWFnaWVycy9NYWdpZXJzLgoKRGllIGdlc2FtdGUgTXVkYmV2b2Vsa2VydW5nOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FyYWRocmFzIHVuZCBHcmltbWJvcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxMDAgUGxheWVyIExpbWl0IChKb2YsIDI5LiBBdWcgMTk5NCwgMTU6MjI6MDQpOgogLi4uIGRhcyBMaW1pdCBsaWVndCBkZXJ6ZWl0IGJlaSAxNTAgU3BpZWxlcm4uIEplZGVyIFNwaWVsZXIgYmVsZWd0IGVpbmVuCkZpbGUtCkRlc2NyaXB0b3IsIHVuZCBkaWUgWmFobCBkZXJzZWxiZW4gaXN0IHVudGVyIFN1bk9TIGJlaSB1bnMgYXVmIDI1Ni9Qcm96ZXNzCmJlLQpncmVuenQuIFdpciBicmF1Y2hlbiBhdWNoIG5vY2ggZWluIHBhYXIgZnVlciBhbmRlcmUgRmlsZXMsIDE1MCBpc3Qgc2Nob24KZ2FueiBndXQuIEZyYWdsaWNoIGlzdCwgb2IgZXMgbmljaHQgYmVpIDEyOCBjcmFzaHQgLSBHZXJ1ZWNodGVuIHp1Zm9sZ2UKYmVudXR6dApTdW5PUyA0LjEuMyBmdWVyIGRlbiAnWmFlaGxlcicgYmVpIGRlbiBGRHMgZWluIHNpZ25lZCA4LUJpdC1XZXJ0IC0gbmEgc2NoYXVuCndlciBkb2NoIG1hbCA6KQoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd28gaXN0IGRlciB0b2QgZnVlciBtYWVkY2hlbj8gKEJpbmcsIDMxLiBBdWcgMTk5NCwgMTQ6NTM6MTMpOgpTb24gbmV1ZXIgdG9kIGlzdCBqYSBnYW56IGd1dCwgYWJlciB3YXJ1bSBzaW5kIG1hZWRjaGVuIGltbWVyIG5vY2gga29tbSBtaXQKc3RlcmJsaWNoZXIsIHVuZCBuaWNodCBrb21tIG1pdCBzdGVyYmxpY2hlPz8/CgpiaW5nIGlzdCBmdWVyIGVpbmUgc3RlcmJlc2VxdWVueiBzcGV6aWVsbCBmdWVyIG1hZWRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd28gaXN0IGRlciB0b2QgZnVlciBtYWVkY2hlbj8gKFJ1ZGlyYXR0ZXIsICAxLiBTZXAgMTk5NCwgMDk6NDE6NDQpOgpNZWluZSBHdWV0ZSwgQmluZywgd2FzIGhhc3QgRHUgZGVubiBmdWVyIFByb2JsZW1lID8hIERpZSBGcmF1ZW4sIGRpZSBzdGFlbmRpZwpkYXJ1ZWJlciByZWRlbiwgZGFzcyBlcyBTdHVkZW50L0luIGJsYWJsYSBoZWlzc2VuIHNvbGwsIEtBTk4gbWFuIGRvY2ggbmljaHQKbWVociBlcm5zdCBuZWhtZW4uIEFsc28gTUlSIGlzdCBkYXMgZWdhbC4KLVVuZCBpY2ggYmluIHVlYnJpZ2VucyB3aXJrbGljaCAnbmUgRnJhdS4KICBSdWRpcmF0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdvIGlzdCBkZXIgdG9kIGZ1ZXIgbWFlZGNoZW4/IChEdXJpYW4sICAxLiBTZXAgMTk5NCwgMDk6NTU6NDMpOgpJY2ggYmluIHJpY2h0aWcgZnJvaCwgc293YXMgbWFsIHZvbiBlaW5lciBGcmF1IHp1IGhvZXJlbi4gSWNoCmJpbiBhdWNoIG5pY2h0IGdlcmFkZSBlaW4gRmFuIGRpZXNlciBuaWNodCBtZWhyIHp1IGxlc2VuZGVuIFRleHRlIG1pdApTdHVkZW50SW4sIE11ZGRlckluLgoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGdlbWVpbmVzIChLYXNzYW5kcmEsICAxLiBTZXAgMTk5NCwgMTI6Mzk6MjgpOgpSZTogVG9kIGZ1ZXIgTWFlZGNoZW4KSW0gTXVkIHNpbmQgd2lyIC0gaW0gR2VnZW5zYXR6IHp1IGlyZ2VuZHdlbGNoZW4gUHJ1ZWZ1bmdzb3JkbnVuZ2VuIC0KaW4gZGVyIExhZ2UsIGplZGVuIHNvIGFuenVzcHJlY2hlbiwgd2llIGRhcyBkYXMgR2VzY2hsZWNodCB2b3JnaWJ0LiBJbQp0YWVnbGljaGVuIExlYmVuIHJlZGV0IG1pY2ggamEgYXVjaCBuaWVtYW5kIG1pdCAic3RlcmJsaWNoZXIiIGFuIDopLgpXZW5uIGFsc28gaXJnZW5kd28gZGFzIGZhbHNjaGUgR2VzY2hsZWNodCBpbiBkZXIgQW5yZWRlIGJlbnV0enQgd2lyZCwKdHlwaXNjaGVyd2Vpc2UgYWxzbyBlaW5lIEZyYXUgYWxzIE1hbm4gYW5nZXNwcm9jaGVuIHdpcmQsIGhpbnRlcmxhc3N0CmJpdHRlIGVpbmVuIEJ1Z3JlcG9ydC4gRGVuIFByb2dyYW1taWVyZXIgb2RlciBhdWNoIGRpZSBQcm9ncmFtbWllcmVyaW4Ka29zdGV0IGRhcyBrZWluZSBmdWVuZiBNaW51dGVuLiBXZXIgbGFlbmdlciBicmF1Y2h0LCBkZXIgbGVybnQgbm9jaCB3YXMKZGFiZWkuCgpLYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IHdvIGlzdCBkZXIgdG9kIGZ1ZXIgbWFlZGNoZW4/IChCZWxkaW4sICAxLiBTZXAgMTk5NCwgMTY6MjE6MzgpOgpCUkFWTyA7KSBXRUlURVIgc28uCgpFaW4gYXBwbGF1ZGllcmVuZGVyIEJlbGRpbiAtIEVSTlNUSEFGVCEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZ2llcm1hY2hlLCBWZXJzdWNoIDEgOikgKFRvcmZkdWVuZywgIDEuIFNlcCAxOTk0LCAyMzozOTo1NCk6CkhpICwKd2lsbGtvbW1lbiBtYWwgd2llZGVyIGJlaSA6IE5ldWxpY2ggaW0gTXVkIDopCgpFaW4gTWl0c2Nobml0dCB1bSBlaW5lIE1hZ2llcm1hY2hlIDopIChlaW4gcGFyIGFic2Nobml0dGUgc2luZCBzb2dhciBsdXN0aWcpCgpCZWdpbgoKCiBPbGltIHNhZ3Q6IHNjaGxlY2h0ZXMgb3J0Z2VkYWVjaHRuaXMgZGVyIGd1dGUKTWVybGluIHppZWh0IHdlaXRlci4KCkRpZSBHaWxkZSA6ICAgICAgKDopKQpEZXIgZ3Jvc3NlIFJhdW0gbWl0IHNlaW5lciBuaWVkcmlnZW4gRGVja2UgdW5kIGRlbiBncm9iIGdlc2Nobml0dGVuZW4KUXVlcmJhbGtlbiBoYXQgUGxhdHogZnVlciBzZWhyIHZpZWxlIFBlcnNvbmVuLiBLbmFycmVuZGUgRGllbGVuIGVyemFlaGxlbgp1ZWJlciBIZWxkZW50YXRlbiBsYWVuZ3N0IHZlcmdlc3NlbmVyIEFiZW50ZXVyZXIsIGJlcnVlaG10ZXIgYWxzIG1hbmNoZXIKV2Vpc2UgdW5zZXJlciBaZWl0LgpBYmVudGV1cmVyLCBhYmVyIGF1Y2ggbmRlcmUgQmV3b2huZXIgZGllc2VyIFdlbHQga29tbWVuIGhpZXJoZXIsIHVtCnNpY2ggenUgaW5mb3JtaWVyZW4sIGlocmUgRXJmYWhydW5nZW4gYXVzenV0YXVzY2hlbiBvZGVyIHNpY2ggaW4gZGVuCnZlcnNjaGllZGVuc3RlbiBXaXNzZW5zY2hhZnRlbiB6dSB2ZXJiZXNzZXJuLgpEdXJjaCBkaWUgaW1tZXIgb2ZmZW5lIFR1ZXIgc2NoZWludCBkaWUgYXVmZ2VoZW5kZSBTb25uZSBoZXJlaW4gdW5kIGZ1ZWxsdApkZW4gUmF1bSBtaXQgaWhyZW0gZ29sZGVuZW4gTGljaHQuIFNvbnN0IGdpYnQgZXMgaGllciBudXIgbm9jaCBkZW4gQXVzZ2FuZwppbSBOb3JkZW4sIHdlbGNoZXIgYXVmIGRpZSBIYWZlbnN0cmFzc2UgZnVlaHJ0IHVuZCBCaWxkZXIgYW4gZGVuIFdhZW5kZW4sCm1pdCBaZWljaG51bmdlbiB1bmQgR2VtYWVsZGVuIHZvbiBNb3JnZW5HcmF1ZW4uIEVpbnMgZGVyIEJpbGRlciBlcmxhZXV0ZXJ0CmRpZSBGdW5rdGlvbiBkZXIgR2lsZGUgdW5kIGVpbmUgZ3Jvc3NlIFVociBhbiBkZXIgV2FuZCB6ZWlndCwgd2FzIGRpZQpTdHVuZGUgc2NobGFlZ3QuCgpBbndlc2VuZGUgOgoKIDEuIFRvcmZkdWVuZyAuLi4uLi4uLi4uLi4uLi4uCiAyLiBPbGltIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiAzLiBCZWxkaW4gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiA0LiBDYXR3ZWF6bGUgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiA1LiBQaWxncmltIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiA2LiBCb25nbyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiA3LiBFaW4gSGFuZGJ1Y2ggZnVlciBBbmZhZW5nZXIgLi4uLi4KIDguIEVpbmUgWmVpdHVuZyAuLi4uLi4uLi4uLi4KPiBDYXR3ZWF6bGUgd2VodCBuYWNoIE5vcmRlbi4KQmVsZGluIGFyZ2x0IGVpbiB3ZW5pZyB2b3Igc2ljaCBoaW4uCkR1IGdyaW5zdC4KRHUgc2Fnc3Q6IE1lcmxpbiB3aWxsIG5pY2h0IGJsZWliZW4KQmVsZGluIHNjaGxpZGRlcnQgbWl0IHF1aWV0c2NoZW5kZW4gRmx1ZWdlbG4gbmFjaCBuYWNoIE5vcmRlbi4KRHUgc2Fnc3Q6IGthbm4gaWNoIHZlcnN0ZWhuCj4gT2xpbSBzYWd0OiBzZWxic3Qgc2NodWxkCk9saW0gc2NoaWVidCBzZWluZSBTY2h1YmthcnJlIG5hY2ggbmFjaCBOb3JkZW4uCkR1IGdyaW5zdC4KCj4gZ290byBtZXJsaW4KCkhhZmVuc3RyYXNzZQpFcyBnaWJ0IGRyZWkgc2ljaHRiYXJlIEF1c2dhZW5nZTogd2VzdGVuLCBub3JkZW51bmQgb3N0ZW4uCk9saW0gZGVyIEdhcnRlbnp3ZXJnLgpNZXJsaW4sIGRlciBVcnZhdGVyIGFsbGVyIE1hZ2llci4KPiBCZWxkaW4gc2NoYWZmdCBlcyBnZXJhZGUgbm9jaCBzbyBpbiBlaW5lciBsYW5nZW4gQnJlbXNzcHVyIHp1IGxhbmRlbi4KCkVpbiBCb3RlIGtvbW10IGhlcmVpbmdlaGFzdGV0IHVuZCBiZWdpbm50IHdpbGQgenUgZnVjaHRlbG4gdW5kIHp1IHBsYXBwZXJuOgonQXNtb2RpcyBoYXQgZ2VyYWRlIEd1bGR1a2F0IHp1bSBEdWVsbCBoZXJhdXNnZWZvcmRlcnQhIElociBtdWVzc3QKc2NobmVsbCBpbiBkaWUgV3Vlc3RlIHp1ciBLYW1wZmFyZW5hIGxhdWZlbiwgZGFzIGR1ZXJmdCBpaHIgZXVjaCBuaWNodAplbnRnZWhlbiBsYXNzZW4hJwpVbmQgc2Nob24gaGFzdGV0IGVyIHdpZWRlciByYXVzLgpEdSBzYWdzdDogdW5kIGNhdCBpc3QgbmljaHQgZGEKRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgo+IE9saW0gZnJhZ3Q6IFVuZCBudSBsaWViZXIgbGVzZXI/Ck9saW0gc2NoaWVidCBzZWluZSBTY2h1YmthcnJlIG5hY2ggbmFjaCBXZXN0ZW4uCk9saW0gc2NoaWVidCBzZWluZSBTY2h1YmthcnJlIGhlcmVpbi4KQmVsZGluIHNjaGxpZGRlcnQgbWl0IHF1aWV0c2NoZW5kZW4gRmx1ZWdlbG4gbmFjaCBuYWNoIFdlc3Rlbi4KQmVsZGluIHNjaGFmZnQgZXMgZ2VyYWRlIG5vY2ggc28gaW4gZWluZXIgbGFuZ2VuIEJyZW1zc3B1ciB6dSBsYW5kZW4uCkJlbGRpbiBzY2hsaWRkZXJ0IG1pdCBxdWlldHNjaGVuZGVuIEZsdWVnZWxuIG5hY2ggbmFjaCBPc3Rlbi4KQm9CbyBrb21tdCBhbi4KT2xpbSBzY2hpZWJ0IHNlaW5lIFNjaHVia2FycmUgbmFjaCBuYWNoIFdlc3Rlbi4KT2xpbSBzY2hpZWJ0IHNlaW5lIFNjaHVia2FycmUgaGVyZWluLgpPbGltIHNjaGllYnQgc2VpbmUgU2NodWJrYXJyZSBuYWNoIG5hY2ggTm9yZGVuLgpPbGltIHNjaGllYnQgc2VpbmUgU2NodWJrYXJyZSBoZXJlaW4uCk9saW0gc2NoaWVidCBzZWluZSBTY2h1YmthcnJlIG5hY2ggbmFjaCBPc3Rlbi4KRWluIEJldHRsZXIga29tbXQgYW4uCgo+Z290byBtZXJsaW4KCkRpZSBiZXJ1ZWhtdGUgQWJlbnRldXJlcmdpbGRlCkVzIGdpYnQgZWluZW4gc2ljaHRiYXJlbiBBdXNnYW5nOiBub3JkZW4uCk9saW0gZGVyIEdhcnRlbnp3ZXJnLgpNZXJsaW4sIGRlciBVcnZhdGVyIGFsbGVyIE1hZ2llci4KQmVsZGluIGRlciBmbHVlZ2dlIHdlcmRlbmRlIEZhbGtlIDspLgpDYXR3ZWF6bGUgYnJhdWNodCBlaW4gQmllci4KUGlsZ3JpbS4KQm9uZ28gaGF0IHdlbmlnIFplaXQgKG5ldHp0b3QpLgpFaW4gSGFuZGJ1Y2ggZnVlciBBbmZhZW5nZXIuCkVpbmUgWmVpdHVuZy4KPiBCZWxkaW4gdmVyc3BlcnJ0IE1lcmxpbiBkZW4gV2VnCj4gQ2F0d2VhemxlIHNjaHVldHRlbHQgZXR3YXMgYXVzIHNlaW5lbSBBZXJtZWwuCkJvbmdvIGVudGdsZWl0ZXQgbmFjaCBIYXVzZS4KT2xpbSBiaW5kZXQgTWVybGluIGVpbiBHZXdpY2h0IGFucyBCZWluCkNhdHdlYXpsZSBzYWd0OiBkdSB6dWVyc3QgYmVsZGluLCBkdXJjaGxlc2VuIHVuZCBkYW5uIHVudGVyc2NocmVpYmVuCk1lcmxpbiBzYWd0OiBJY2ggZ2VoIG1hbCBuYWNoIFdlc3Rlbi4KPiBCZWxkaW4gbmlja3QgenVzdGltbWVuZC4KQm9CbyBrb21tdCBhbi4KQ2F0d2VhemxlIGdpYnQgQmVsZGluIGRlbiBWZXJ0cmFnLgpLaXN0ZSBydWZ0OiBndWxkdWthdCBmaW5kZXQgYXVjaCBkYXNzIGpvZiBzdGlua3QKT2xpbSBzYWd0OiBtb2luCkNhdHdlYXpsZSBzYWd0OiBkdSBibGVpYnN0IGdlZmFlbGxpZ3N0IGhpZXIsIE1lcmxpbiEKTWVybGluIHNhZ3Q6IFdhcyBoYXQgZXIgZGVubiBkYT8gSGF0IGVyIGVpbmVuIFZlcnRyYWc/CkJvQm8gc2FndDogbGFzcyBtZXJsaW4gZG9jaCBnZWhlbgpDYXR3ZWF6bGUgc2FndDogamFqYSwgZWluZW4gdmVydHJhZy4uLmR1IGJpc3QgZ2xlaWNoIGRyYW4gbWVybGluCk1lcmxpbiBzYWd0OiBJQ0ggYmVmb2VyZGVyZSBERU4gbmljaHQhCkJvQm8gc3RlY2t0IGVpbmUgS2V1bGUgenVydWVjay4KRHUgZ3JpbnN0LgpCb0JvIHdpcmZ0IGVpbmVuIEZldWVyYmFsbCBuYWNoIE1lcmxpbi4KTWVybGluIHNjaGltcGZ0OiBMYXNzIGRhcyEhIQpNZXJsaW4gZ2lidCBCb0JvIGVpbmUgc2NoYWxsZW5kZSBPaHJmZWlnZS4KIEJvQm8gZ3JlaWZ0IE1lcmxpbiBtaXQgYmxvc3NlbiBIYWVuZGVuIGFuLgpNZXJsaW4gc2NoaW1wZnQ6IExhc3MgZGFzISEhCk1lcmxpbiBnaWJ0IEJvQm8gZWluZSBzY2hhbGxlbmRlIE9ocmZlaWdlLgpQaWxncmltIHNhZ3Q6IHRvcmZkdWVuZCwgaGFzdCBkdSBtYWwgbmVuIHdpY2sgZnVlciBtaWNoLi4uCkNhdHdlYXpsZSBzYWd0OiBudSBrb21tIHNjaG9uIG1lcmxpbgpCb0JvIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpCZWxkaW4gc2NobGlkZGVydCBtaXQgcXVpZXRzY2hlbmRlbiBGbHVlZ2VsbiBuYWNoIG5hY2ggTm9yZGVuLgpPbGltIGdyaW5zdC4KQmVsZGluIHNjaGFmZnQgZXMgZ2VyYWRlIG5vY2ggc28gaW4gZWluZXIgbGFuZ2VuIEJyZW1zc3B1ciB6dSBsYW5kZW4uCkNhdHdlYXpsZSBzYWd0OiBzdGVsbCBkaWNoIG5pY2h0IHNvIGFuCk1lcmxpbiBzYWd0OiBOSUUgISEhIQpNZXJsaW4gc2FndDogTklFICEhISEKTWVybGluIHNhZ3Q6IE5laW4sIGtvbW10IG5pY2h0IGluIEZyYWdlLgpNZXJsaW4gc2FndDogRGFzIHdhZXJlIGphIG5vY2ggc2Nob2VuZXIhCgpDYXR3ZWF6bGUgZmx1ZXN0ZXJ0IE1lcmxpbiBldHdhcyB6dS4KTWVybGluIGdpYnQgQ2F0d2VhemxlIGVpbmVuIHRyaXR0LgpPbGltIGdpYnQgZWluIGFsYmVybmVzIEtpY2hlcm4gdm9uIHNpY2guCgpDYXR3ZWF6bGUgc2FndDogaGFzdCBkdSBpaG4gYXVjaCBnZWxlc2VuIG9kZXIgbnVyIGR1cmNoZ2VibGFldHRlcnQ/ClBpbGdyaW0gc2NodWV0dGVsdCBldHdhcyBhdXMgc2VpbmVtIEFlcm1lbC4KQ2F0d2VhemxlIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpQaWxncmltIGdpYnQgTWVybGluIGRlbiBMb2xsaS4KTWVybGluIHNhZ3Q6IEVyIGhhdCBpaG4gbmljaHQgZ2VsZXNlbiAhCkxvb3NlciBydWZ0OiBJQ0ggV0lMTCBISUVSIFJBVVMgISEhISEhIQpCZWxkaW4gc2FndDogRE9DSApCZWxkaW4gZ3JpbnN0LgpNZXJsaW4gc2FndDogSGFiIGljaCBnZW5hdSBnZXNlaGVuIQpNZXJsaW4gc2FndDogQmV3ZWlzZSEKQmVsZGluIHNhZ3Q6IGhhc3QgZHUgbmljaHQKQmVsZGluIHNhZ3Q6IHdpZSBkZW5uCkNhdHdlYXpsZSBzYWd0OiB0amEsIGRhIG11c3MgaWNoIG1lcmxpbiB3b2hsIGdsYXViZW4sIGVyIHdpcmRzIHdvaGwgYmVzc2VyCkNhdHdlYXpsZSBzYWd0OiB3aXNzZW4KQmVsZGluIGdyaW5zdC4KQmVsZGluIGdpYnQgZWluIGFsYmVybmVzIEtpY2hlcm4gdm9uIHNpY2guCk1lcmxpbiBuaWNrdC4KCk1lcmxpbiBzYWd0OiBMb3MhIEF1c3dlbmRpZyBhdWZzYWdlbiEKQmVsZGluIHNhZ3Q6IHBhaApDYXR3ZWF6bGUgc2FndDogamV0enQgZHUgb2xpbQpPbGltIG5pY2t0IHp1c3RpbW1lbmQuCkJvQm8gc2FndDogbWVybGluLCBsYXNzIGVzIGxpZWJlci4gZXMgZ2lidCBlaCBnZW51ZyBkdXNzbGlnZSBtYWdpZXIgaGllci4KQmVsZGluIHRyaXR0IE1lcmxpbi4KCk1lcmxpbiBrb3R6dCBhdWYgQ2F0d2VhemxlLgo+IENhdHdlYXpsZSBzY2h1ZXR0ZWx0IGV0d2FzIGF1cyBzZWluZW0gQWVybWVsLgpDYXR3ZWF6bGUgZ2lidCBPbGltIGRlbiBWZXJ0cmFnLgpNZXJsaW4gemllaHQgd2VpdGVyLgpPbGltIGJlZGFua3Qgc2ljaCBiZWkgQ2F0d2VhemxlLgpDYXR3ZWF6bGUgc2FndDogZHVyY2hsZXNlbiB1bmQgdW50ZXJzY2hyZWliZW4KQm9CbyBzYWd0OiBtZXJsaW4gaXN0IHdlZwoKPiBCb0JvIGdyaW5zdCBmcm9laGxpY2guCkNhdHdlYXpsZSBzdGVsbHQgTWVybGluIGVpbiBCZWluLgpQaWxncmltIHNhZ3Q6IHRqYSwgMzUgc3R1bmRlbi13b2NoZQpEdSBncmluc3QuCkNhdHdlYXpsZSBzYWd0OiBCaXN0IGR1IGpldHp0IHdvaGwgcnVoaWchCk1lcmxpbiBrb21tdCBhbi4KQmVsZGluIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgplQ2F0d2VhemxlIHNhZ3Q6IHRzdHN0CnIgQm9CbyBzYWd0OiB0YWcgbWVybGluClBpbGdyaW0gc2FndDogbWVybGluIGhhdCBub2NoIHVybGF1YiB1ZWJyaWcsIGRlbmtlIGljaCBtaXIuLgpCb0JvIHdpcmZ0IGVpbmVuIEZldWVyYmFsbCBuYWNoIE1lcmxpbi4KTWVybGluIHNjaGltcGZ0OiBMYXNzIGRhcyEhIQpNZXJsaW4gZ2lidCBCb0JvIGVpbmUgc2NoYWxsZW5kZSBPaHJmZWlnZS4KQm9CbyBncmVpZnQgTWVybGluIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4uCk1lcmxpbiBzY2hpbXBmdDogTGFzcyBkYXMhISEKTWVybGluIGdpYnQgQm9CbyBlaW5lIHNjaGFsbGVuZGUgT2hyZmVpZ2UuCkNhdHdlYXpsZSBzYWd0OiBvY2ggbmVlZWUgbWVybGluICxhYmVyIG5pY2h0IGhldXRlLCBqYT8KTWVybGluIHppZWh0IHdlaXRlci4KRHUgZ3JpbnN0LgpNZXJsaW4ga29tbXQgYW4uClBpbGdyaW0gZnJhZ3Q6IFZpZWxsZWljaHQga2FubiBtYW4gaWhuIEJFU1RFQ0hFTi4uLj8KQmVsZGluIG5pY2t0IHp1c3RpbW1lbmQuCkR1IHNjaHVldHRlbHN0IGRlbiBLb3BmLgpDYXR3ZWF6bGUgc2FndDogbXVzcyBpY2ggZGljaCBlcnN0IGFua2V0dGVuLCBvZGVyIHdlcz8KRHUgc2Fnc3Q6IE1lcmxpbiBpc3QgdW5iZXN0ZWNobGljaApNZXJsaW4gc2FndDogQmVsZGluIGlzdCBhbSAyNy4gSnVsaSBhbSBTdGVpbmJlaXNzZXIgZ2VzdG9yYmVuLgpCb0JvIHNhZ3Q6IG1lcmxpbiwgd2llIHdhZXJzIG1pdCBlaW5lbSBCaWVyPyBrb21tLCB3aXIgZ2VoZW4uLi4KQmVsZGluIHNhZ3Q6IGRhcyBrb2VubnRlIGhpbmtvbW1lbiA7KQpNZXJsaW4gc2FndDogSWNoIEtBTk4gaWhuIGFsc28gZ2FyIG5pY2h0IGJlZm9lcmRlcm4uClBpbGdyaW0gc2NodWV0dGVsdCBldHdhcyBhdXMgc2VpbmVtIEFlcm1lbC4KQ2F0d2VhemxlIHNhZ3Q6IGphLCBiZWxkaW4gdmVyc3VjaHMgbWFsIG1pdCBiZXN0ZWNoZW4gOikKQmVsZGluIHNhZ3Q6IGphamFqYSBrZXR0ZSBpaG4KUGlsZ3JpbSB6dWVja3QgZWluZW4gU2F1c3BpZXNzLgpNZXJsaW4gc2FndDogZXIgaXN0IGphIHRvdCAhIQpTZXRob3MgaXN0IGdlcmFkZSBpbnMgU3BpZWwgZ2Vrb21tZW4uClNldGhvcyBiZXRyaXR0IGRpZXNlIFdlbHQuCk1lcmxpbiBzYWd0OiBJY2ggd2lsbCBhYmVyIG5pY2h0ICEhClBpbGdyaW0gc3RpY2h0IE1lcmxpbi4KT2xpbSBzYWd0OiBzb29vbwpCZWxkaW4gYmVzdGljaHQgTWVybGluIG1pdCBlaW5lbSBLZWtzLgpCb0JvIHNhZ3Q6IHNjaGxpbW1lciB3YWVycyBnZXdlc2VuLCBlciBoYWV0dGUgZWluZW4gc3RlaW5iZWlzc2VyIHVtZ2VicmFjaHQKS2lzdGUgcnVmdDogZ3VsZHVrYXQgaGFlbHQgam9mIGZ1ZXIgZWluZW4gc3RpbmtlbmRlbiBzY2hsZWlta2xvcHMKTWVybGluIG5pY2t0LgpCZWxkaW4gc2FndDogaGFiIGljaCBhdWNoIHppY2htYWwgOykKUGlsZ3JpbSBzYWd0OiBzdGltbXQgbmljaHQsIG1hbiBrYW5uIGlobiBiZXN0ZWNoZW4KQ2F0d2VhemxlIGdydW1tZWx0LgpnaWIgMTAwMCBtdWVuemVuIGFuIG1lcmxpbgpEdSBnaWJzdCBNZXJsaW4gMTAwMCBNdWVuemVuCk9saW0gc2FndDogbWVpbiBmcmllZHJpY2gtd2lsbGhlbG0gaXN0IGRhcnVudGVyCkR1IGdyaW5zdC4KU2V0aG9zIHN0ZWlndCBpbiBEZWluIHJlY2h0ZXMgT2hyLgpQaWxncmltIHN0aWNodCBNZXJsaW4gbWl0IGRlbSBTYXVzcGllc3MuCk1lcmxpbiBzYWd0OiBTcGllbGVyIHNpbmQgenVtIFN0ZXJiZW4gZGEsIG5pY2h0LCBkYW1pdCBzaWUgTW9uc3RlcgpNZXJsaW4gc2FndDogZXJtb3JkZW4uClBpbGdyaW0gc3RlY2t0IGVpbmVuIFNhdXNwaWVzcyB6dXJ1ZWNrLgpFaW4gU2F1c3BpZXNzIHdpcmQgdm9uIFBpbGdyaW0gYXRvbWlzaWVydC4KQmVsZGluIHNjaGF1dCBlcndhcnR1bmdzdm9sLgpDYXR3ZWF6bGUgc2FndDogdG9yZmkga2FubnN0IGR1IGtpc3RlIG5pY2h0IG1hbCBpbiBkZW4gaGludGVybgpDYXR3ZWF6bGUgc2FndDogdHJldGVuLi4uemllbWxpY2ggcHJpbWl0aXYgZGFzIGdhbnplCkJvQm8gc2FndDogbWVybGluLCBrYW5uc3QgZHUgbWlyIHZlcnJhdGVuLCB3YXJ1bSBkaWVzZXIga29taXNjaGUgZnRwIHNlcnZlcgpCb0JvIHNhZ3Q6IGVzIG5pY2h0IG1laHIgdHV0Ck9saW0gZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KCkR1IHp1Y2tzdCBtaXQgZGVuIFNjaHVsdGVybi4KQmVsZGluIHNhZ3Q6IGJlc3NlciBndWxkdWthdCBnbGVpY2gKTWVybGluIHNhZ3Q6IExhc3MgdW5zIGRhcyBtYWwgYW4gQm9CbyBkZW1vbnN0cmllcmVuICEKTWVybGluIHp1ZWNrdCBzZWluZW4gWmFwcGVyLgpEdSBzYWdzdDogZnVlciBzb3dhcyBoYXN0IGR1IGRhcyBmZWluZXJlIEhhZW5kY2hlbgpEdSBncmluc3QgQ2F0d2VhemxlIGFuLgo+IE1lcmxpbiBzYWd0OiBJY2ggd2VyZCBkYW5uIG1hbCBLYWZmZWV0cmlua2VuIGdlaG4uCkJlbGRpbiBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KT2xpbSBzYWd0OiBmb3JkZXIgc2llIGVpbmZhY2ggYXVmIGRpY2ggenUga251ZGRlbG4KUGlsZ3JpbSBzYWd0OiBpY2ggYXVjaC4uLgpQaWxncmltIGdyaW5zdC4KQ2F0d2VhemxlIHNhZ3Q6IHdlcmQgaWNoIGRhbm4gdm9uIGlociBnZXphcHB0PwpNZXJsaW4gemllaHQgd2VpdGVyLgpCZWxkaW4gYXJnbHQgZWluIHdlbmlnIHZvciBzaWNoIGhpbi4KS2lzdGUgaGF0IGdlcmFkZSBkYXMgU3BpZWwgdmVybGFzc2VuLgo+IENhdHdlYXpsZSBzYWd0OiB3ZWcgaXNzaSA6KQpCb0JvIHNhZ3Q6IGtpc3RlIGlzdCBzY2hvbiBuZXR0b3QKQmVsZGluIG5pY2t0IHp1c3RpbW1lbmQuCk9saW0gZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KCkR1IGFyZ2xzdCBlaW4gd2VuaWcgdm9yIERpY2ggaGluLgpCZWxkaW4gdHJpdHQgRGljaC4KQmVsZGluIHNwcmluZ3QgRGljaCBhdWYgZWlubWFsIGFuIHVuZCB3dWVyZ3QgRGljaC4KQ2F0d2VhemxlIHNhZ3Q6IGhhdGUgamV0enQgZW5kbGljdmggbWFsIHVudGVyc2NocmllYmVuIG9saW0/CkJlbGRpbiBuaWNrdCB6dXN0aW1tZW5kLgoKR3VsZHVrYXQgcnVmdDogSWNoIG1vZWNodGUga2xhcnN0ZWxsZW4sIGRhcyBLaXN0ZSBuaWNodCBtZWluIFp3ZWl0aSBpc3QuIEVyCnVsZHVrYXQgcnVmdDogaXN0IGVpbiBNaXRhcmJlaXRlciBhdXMgbWVpbmVtIGxlZXJzdHVobCEKUGlsZ3JpbSBzY2h1ZXR0ZWx0IGRlbiBLb3BmLgpNZXJsaW4ga29tbXQgYW4uCk1lcmxpbiBzYWd0OiBDYXR3ZWF6bGUsIGR1IGJpc3QgZGlyIGRlciBuZXVlbiBSZWdlbG4gYmV3dXNzdCA/ClBpbGdyaW0gc2FndDogcDAzd3h4Li4uCkNhdHdlYXpsZSBzYWd0OiB1cHMKQmVsZGluIGdpYnQgZWluIGFsYmVybmVzIEtpY2hlcm4gdm9uIHNpY2guCkNhdHdlYXpsZSBzYWd0OiBuZXVlIHJlZ2VsPwpUZXJtaW51cyBydWZ0OiAqZ3JpbnMqIGxlZXJzdHVobCA/PyAqcHJ1c3QqCkJlbGRpbiBzYWd0OiBuZXVlIHJlZ2VsPwpEdSBzYWdzdDoga2xhcgpNZXJsaW4gc2FndDogRnVlciBqZWRlbiwgZGVuIER1IHp1bSBNYWdpZXIgbWFjaHN0LCBzaW5rdCBEZWluCk1lcmxpbiBzYWd0OiBNYWdpZXJsZXZlbCB1bSAxNSBQdW5rdGUuCgpDYXVObyBydWZ0OiB2ZXJkYW1tdCEgamV0enQgaXN0IGRlciB3aWRkZXIgc2Nob24gd2llZGVyIHdlZyEhIQpEdSBsYWNoc3QgdWViZXIgQ2F0d2VhemxlLgo+IEJlbGRpbiBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KQ2F0d2VhemxlIHJ1ZnQ6IERhbm4gdHJpdHQgaWhtIGtyYWVmdGlnIGluIGRlbiBoaW50ZXJuIQpPbGltIHNhZ3Q6IGd1dGVyIHdpdHoKTWVybGluIHNhZ3Q6IEFlaCBRdWFyay4gMjAgUHVua3RlLgpNZXJsaW4gc2FndDogRWJlbiBzbyB2aWVsLCB3aWUgZGVyamVuaWdlIGFscyBNYWdpZXJsZXZlbCBiZWtvbW10LgpEdSBncmluc3QgQ2F0d2VhemxlIGFuLgpCb0JvIHNhZ3Q6IG1lcmxpbiwgZGFzIGlzdCBlaW4gd29ydApDYXR3ZWF6bGUgc2FndDogaG1tbQpNZXJsaW4gcnVmdDogSWNoIGhhYiBuaWNodCBkaWUgbGVpc2VzdGUgSWRlZSwgd28gaWNoIGhpZXIgYmluIC4uLgpEdSBzYWdzdDogamEKRHUgc2Fnc3Q6IG1hY2ggc2llIHp1IE1hZ2llcm4uLgpPbGltIGdyaW5zdC4KTWVybGluIHNhZ3Q6IER1IGJpc3QgZGFubiBiZWkgTGV2ZWwgMTUsIGViZW5zbyB3aWUgT2xpbSB1bmQgQmVsZGluLgpEdSBzYWdzdDogZGFubiBiaXN0IGR1IG1hZ2llcmxldmVsIDUKRHUgZ3JpbnN0IENhdHdlYXpsZSBhbi4KQmVsZGluIHNhZ3Q6IFZJRVIKQ2F0d2VhemxlIHp3aW5ndCBUb3JmZHVlbmcgenUgc2FnIG1lcmxpbiBtYWNoIGRpZSBiZWlkZW4genVtIG1hZ2llcgpCZWxkaW4gZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KTWVybGluIHNhZ3Q6IEFlaCAxNApCZWxkaW4gc2FndDogVklFUgpNZXJsaW4gc2FndDogVG9yZmR1ZW5nOiBTYWcgbWFsOiBtZXJsaW4gbWFjaCB0b3JmZHVlbmcgenVtIHNwaWVsZXIKT2xpbSB0cm9lc3RldCBNZXJsaW4uCgpNZXJsaW4gc2FndDogbmVpbiAxNApEdSBzY2h1ZXR0ZWxzdCBkZW4gS29wZi4KTWVybGluIHNhZ3Q6IENhdHdlYXpsZSBpc3QgNDQuCkJlbGRpbiBzYWd0OiB3ZW5uIEpFREVSIDIwIGtvc3RldApNZXJsaW4gc2FndDogbmljaHQgMjAsIDE1CkJlbGRpbiBzYWd0OiBkYW5uIHppZWh0IGltIGRhcyA0MCBhYgpCb0JvIHNhZ3Q6IG1lcmxpbiBtYWNoIG1lcmxpbiB6dW0gc3BpZWxlcgpNZXJsaW4gc2FndDogMjAgd2FyIGVpbiBJcnJ0dW0uCkNhdHdlYXpsZSBzYWd0OiB0amEgdG9yZmksIG1hdGhlIHdhciB3b2hsIG5peC4uc2V0emVuLCA2IQpNZXJsaW4gc2FndDogc29sbCBpY2ggRGljaCB6d2luZ2VuPwpCZWxkaW4gc2FndDogZHUgaGFzdCAyMCBnZXNhZ3QgYWxzIGxldHp0ZXMKQmVsZGluIGdyaW5zdCBNZXJsaW4gZGFlbW9uaXNjaCBhbi4KQ2F0d2VhemxlIHNhZ3Q6IGFzbwpDYXR3ZWF6bGUgZ3JpbnN0IGRhZW1vbmlzY2guCkR1IHNhZ3N0OiBNaWNoID8KTWVybGluIHNhZ3Q6IGphCgpEdSBncmluc3QgTWVybGluIGFuLgpCZWxkaW4gc3RvZWhudC4KTWVybGluIHNhZ3Q6IFdpciBrb2VubnRlbiBhbHRlcm5hdGl2IGRpZSBMZXZlbCBhdWNoIHZvbiBUb3JmZHVlbmcKTWVybGluIHNhZ3Q6IG5laG1lbi4KTWVybGluIHNhZ3Q6IGRlciB3YWVyZSBkYW5uIGJlaSAtOQpCb0JvIHNhZ3Q6IG5pbW0gbWVpbmUKQ2F0d2VhemxlIHNhZ3Q6IGhhc3RlIHVudGVyc2NocmllYmVuLCBvbGltPz8/Pz8KT2xpbSBzYWd0OiBiYWhoIHVuZCBzY2hvbiB3aWVkZXIgcmVjaG5lbj8KSGFya29uIGlzdCBnZXJhZGUgaW5zIFNwaWVsIGdla29tbWVuLgpIYXJrb24gZ3JpbnN0IGRpYWJvbGlzY2ggdW5kIHplaWd0IERpciBzZWluZW4gbmV1ZW4gRWxla3Ryb3NjaG9ja2VyLgpIYXJrb24gYmV0cml0dCBkaWVzZSBXZWx0LgpCZWxkaW4gc2FndDogSkEgSEFUIEVSCk1lcmxpbiB6aWVodCB3ZWl0ZXIuCkNhdHdlYXpsZSBzYWd0OiBoYXN0IGR1PwpPbGltIHNhZ3Q6IGNhdHdlYXpsZSBKQUFBQQpEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCkJlbGRpbiBhcmdsdCBlaW4gd2VuaWcgdm9yIHNpY2ggaGluLgpDYXR3ZWF6bGUgc2FndDogdWZmCkJlbGRpbiBzYWd0OiBqQQpNZXJsaW4ga29tbXQgYW4uCkFzbW9kaXMgaGF0IGdlcmFkZSBkaWUgR2xhZGlhdG9yZW4gaGVyYXVzZ2Vmb3JkZXJ0LgpDYXR3ZWF6bGUgc2FndDogb2ssIGhlcmUgd2UgZ28KQ2F0d2VhemxlIHNhZ3Q6IGJlcmVpdD8KT2xpbSBuaWNrdCB6dXN0aW1tZW5kLgpCZWxkaW4gbmlja3QgenVzdGltbWVuZC4KRHUgc2Fnc3Q6IGJyZWl0Cj4gTWVybGluIHppZWh0IHdlaXRlci4KQ2F0d2VhemxlIHNhZ3Q6IGFsbGVzIGZlcnRpZz8KQm9CbyBuaW1tdCBkZW4gVmVydHJhZywgdW50ZXJzY2hyZWlidCBpaG4gZml4IHVuZCByZWljaHQgaWhuIE1lcmxpbi4KQmVsZGluIHNhZ3Q6IEpBCk9saW0gc2FndDogc3RhZW5kaWcgYnJlaXQKCkJlbGRpbiBzYWd0OiBhbGx6ZWl0CkJlbGRpbiBzYWd0OiBzb3p1c2FnZW4KSGFya29uIHNhZ3Q6IG9oLCB3YXMgaXN0IGhpZXIgbG9zID8KTWVybGluIHNhZ3Q6IGR1IHNhZ3Rlc3QgJ0hlcmUgd2UgZ28nCk1lcmxpbiB6aWVodCB3ZWl0ZXIuCkJlbGRpbiBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KRHUgc2Fnc3Q6IGVpbiBNYWdpZXJtYWNodmVyc3VjaApCZWxkaW4gbmlja3QgenVzdGltbWVuZC4KT2xpbSBzYWd0OiBtaXQgYmVzb25kZXJlciBiZXRvbnVuZyBhdWYgdmVyc3VjaApNZXJsaW4ga29tbXQgYW4uCkFudGhlYSBzY2h3aW1tdCBoZXJlaW4uCkJlbGRpbiByb3RmbHQuCk1lcmxpbiBzYWd0OiBpc3NudSA/CkNhdHdlYXpsZSBncnVtbWVsdC4KT2xpbSBpc3QgamV0enQgZWluIE1hZ2llciAhCk9saW0gYmV0cml0dCBkaWVzZSBXZWx0LgpPbGltIHdpbmt0IG5vY2ggZWlubWFsIHVuZCBsb2VzdCBzaWNoIGluIGJ1bnRlIEt1bnN0c3RvZmZ0ZWlsY2hlbiBhdWYuCk9saW0gdHJpdHQgYXVzIGVpbmVyIFdvbGtlIGRpZSB2ZXJkYWVjaHRpZyBuYWNoIGVpbmVyCkdhcnRlbnp3ZXJncHJvZHVrdGlvbnNhbmxhCk9saW0gdmVybGFlc3N0IGRpZXNlIFdlbHQuCkNhdHdlYXpsZSBzYWd0OiBtZXJsaW4gbWFjaCBvbGltIHp1bSBtYWdpZXIKQmVsZGluIGlzdCBqZXR6dCBlaW4gTWFnaWVyICEKQmVsZGluIGJldHJpdHQgZGllc2UgV2VsdC4KQmVsZGluIHNjaGFmZnQgZXMgLSB0cm90eiBrYXB1dHRlbSBGbHVlZ2VsIC0genUgc3RhcnRlbi4gV2VnIGlzdCBlciA7KS4KQmVsZGluIHppc2NodCB2b3JiZWkuIERhIC0gZWluIEJvbHplbiBob2x0IGlobiB2b20gSGltbWVsIDspKSkuCkJlbGRpbiB2ZXJsYWVzc3QgZGllc2UgV2VsdC4KQ2F0d2VhemxlIHNhZ3Q6IG1lcmxpbiBtYWNoIGJlbGRpbiB6dW0gbWFnaWVyCkFudGhlYSBzY2hlaW50IGV0d2FzIHp1IHJ1ZmVuLCBhYmVyIER1IGhvZXJzdCBuaWNodHMuIFZpZWxsZWljaHQgYmVudXR6dCBzaWUKamEgVWx0cmFzY2hhbGwgd2llIGRpZSBXYWxlLi4uClNjaGxpZXNzbGljaCBrb21tdCBlaW4gQXF1YXJpdW0gaGVyZWluLiBFaW4gRmlzY2ggc2NoYXV0IGRhcmF1cyBoZXJ2b3IgdW5kCmxhZWNoZWx0IEFudGhlYSBhbi4KPkJvQm8gd2lsbCBhYmVyIGhpbnRlcmhlciB3aXNzZSwgd2VyIE1lcmxpbiBpc3QuCkNhdHdlYXpsZSBsYWVjaGVsdCBnbHVlY2tsaWNoLgpDaHJpc3kgcnVmdDogY29uZ3JhdHMhCk9saW0gc2FndDogd2hvaApNZXJsaW4gc2FndDogR2xlaWNoIHppZWggaWNoIGVyc3RtYWwgYWxsZW4gZWluIExldmVsIGFiLiBEYXMgZGF1ZXJ0IGhpZXIKTWVybGluIHNhZ3Q6IHNjaG9uIHp1IGxhbmdlIQpCZWxkaW4gc2FndDogd2hvCk1lcmxpbiBzYWd0OiBVcHMgcGFzc2llcnQKCgo+IFZhc2NvIHJ1ZnQ6IFNVVVVVVVVVVVVQRVIKWWV0aSBydWZ0OiBHUlJSUkFBQUFBQVRUVFRUU1NTCkJlbGRpbiBzYWd0OiB3b3cKU2NobmljayBydWZ0OiBtZWluIGJlaWxlaWQKVGVybWludXMgcnVmdDogZ3JhdHMhISEKCkJlbGRpbiBydWZ0OiBEQU5LRQpIYXJrb24gZ2lidCBlaW5lIFJ1bmRlIEFwcGxhdXMuCgpCZWxkaW4gZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KQ2F0d2VhemxlIHNhZ3Q6IFp3aWxsaW5nZSEKRHUgYXBwbGF1ZGllcnN0IHZvbiBnYW56ZW0gSGVyemVuLgpPbGltIGJlZGFua3Qgc2ljaCBiZWkgQ2F0d2VhemxlLgpCZWxkaW4gbmlja3QgenVzdGltbWVuZC4KQmVsZGluIGJlZGFua3Qgc2ljaCBiZWkgQ2F0d2VhemxlLgo+Qm9CbyBncmF0dWxpZXJ0IGFsbGVuIGJlaWRlbgpnYWVobgpDYXR3ZWF6bGUgc2FndDogdW5kIGtlaW5lciBuZSBzZWt1bmRlIGVoZXIgYWxzIGRlciBhbmRlcmUuLi4KS2FubnN0IER1IGFiZXIgRGVpbihlbikgTXVuZC9NYXVsL1NjaG5hYmVsIHdlaXQgYXVmcmVpc3NlbiEKPiBDYXR3ZWF6bGUgZ2lidCBlaW4gYWxiZXJuZXMgS2ljaGVybiB2b24gc2ljaC4KCj4gQmVsZGluIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpUcnlmYW4gZXJzY2hlaW50IGF1cyBlaW5lbSBNYXVsd3VyZnNodWVnZWwuCmhvbWUKCgoKYXJnbAoKCkRhcyB3YXJzIG1hbCB3aWVkZXIgOikKClRECgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdvIGlzdCBkZXIgdG9kIGZ1ZXIgbWFlZGNoZW4/IChDaWZlciwgIDIuIFNlcCAxOTk0LCAxMToxNjo1OSk6CkhpLCBSdWRpcmF0dGVyLCBhdXNuYWhtc3dlaXNlIG11c3MgaWNoIERpciBtYWwgdm9sbCB6dXN0aW1tZW4sIGljaCBrYW5uCmRhcyBJbm5lbiBhdWNoIG5pY2h0IG1laHIgZXJ0cmFnZW4uIERhcyBtYWNodCBEaWNoIGluIG1laW5lbiBBdWdlbiBqZXR6dApkaXJla3QgZXR3YXMgd2VuaWdlciB1bnN5bXBhdGhpc2NoIChhYmVyIGtlaW5lIEJhbmdlLCBuaWNodCB2aWVsKS4KOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd28gaXN0IGRlciB0b2QgZnVlciBtYWVkY2hlbj8gKFJ1ZGlyYXR0ZXIsICAyLiBTZXAgMTk5NCwgMTI6MDI6MDMpOgpPaCBkYW5rZSwgQ2lmZXIsIGljaCBiaW4genUgdGllZnN0IGJlcnVlaHJ0IHZvbiBEZWluZXIgT2ZmZW5iYXJ1bmcuIEFiZXIgZ2FuegplaHJsaWNoOiBIZWlzc3QgZXMgZGVyIFN0dWRlbnRJbiBvZGVyIGRpZSBvZGVyIGRhcz8/IERhcyBuZXJ2dCBtaWNoIG5hZW1saWNoCnouIEIuIGFuIGRpZXNlbiBJbm5lbi4gVW5kIGF1c3NlcmRlbTogQXVjaCBGcmF1ZW4gc2luZCBNZW5zY2hlbiwgdW5kIGVzIGlzdApudW4gbWFsIERFUiBNZW5zY2guLi4KU28sIGRhcyByZWljaHQgamV0enQgbWl0IEdlbW9wcGVyLgpSdWRpcmF0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLaXN0ZSAoTGksICAyLiBTZXAgMTk5NCwgMTI6MTM6NDYpOgpIaSBMZXV0ZSwKSWhyIGhhYnQgc2ljaGVybGljaCBpbiBkZXIgWndpc2NoZW56ZWl0IGFsbGUgdm9uIEtpc3RlIGdlaG9lcnQsIGRlciBzaWNoIGluCmRlciBsZXR6dGVuIFplaXQgZ2VybmUgdW50ZXIgbmFtZW4gd2llIEd1bGR1a2FrIGVpbmxvZ2d0LCB1bmQgYWxsZXMgYmVsZWlkaWd0LAp3YXMgaWhtIHVlYmVyIGRlbiBXZWcgbGFldWZ0LiBJbnMgTVVEIGlzdCBlciBnZWtvbW1lbiwgZGEgZXIgR29sZHVrYXQgZ2VmcmFndApoYXQuIEdvbGR1a2F0IGhhdCBpbnp3aXNjaGVuIHNpY2hlcmxpY2ggc2Nob24gb2Z0IGJlZGF1ZXJ0LCBkaWVzZW0gIlNwaWVsZXIgIgpkZVtEW0RbQ1tDbiBXRWcgaW5zIE1VRCBnZXplaWd0IHp1IGhhYmVuLiBSTC1WZXJzdWNoZSwgS2lzdGUgdm9tIE1VRCBvZGVyCnNlaW5lIFNwaWVsd2Vpc2Ugc2luZCBhdWNoIGdlc2NoZWl0ZXJ0LCBtZWhyIGFscyBpaG0genVyZWRlbiBrYW5uIGVyIGphIG5pY2h0LgpEYXMgS2lzdGUgc2ljaCBhdWNoIHZvbiBNYWdpZXJ6YXBwZW4gbmljaHQgYWJoYWx0ZW4gbGFlc3N0LCBpbW1lciB3aWVkZXIKcmVpbnp1a29tbWVuLCB1bmQgZGllIGxldXRlIHNvIHp1IGJlbGVpZGlnZW4sIGRhc3MgR3VsZHVrYXQgc2NvbgpkdWVsbGZvcmRlcnVuZ2VuIGJla29tbWVuIGhhdCwgc2NobGFnZSBpY2ggZm9sZ2VuZGVzIHZvcjogSUdOT1JJRVJFTi4KQWxzbyBrZWluZSBhdWZyZWd1bmcgdWViZXIgZGllIGJlbGVpZGlndW5nZW4gemVpZ2VuIHdpcmQgaWhuIHNpY2hlcmxpY2ggYmFsZApsYW5nd2VpbGlnLCBvZGVyPwpJY2ggaG9mZmUgZG9jaCwgYWxsZXIgU3BpZWxlciB1bmQgTWFnaWVyIChuYXR1ZXJsaWNoIGF1Y2ggZGllIEdvZXR0ZXIpCmtvZW5uZW4gdW50ZXJzY2hlaWRlbiB6d2lzY2hlbiBlaW5lciB3b2hsZG9zaWVydGVuIEJlbGVpZGlndW5nIGFiIHVuZCB6dSwgdW5kCnd1ZXN0ZW4gQmVzY2hpbXBmdW5nZW4gZWluZXIgS2lzdGUgb2RlciBhZWhubGljaGVyIEdlc3RhbHRlbi4KTGkgKHdpbGwgYXVzIGRlbSBNVUQga2VpbiBNYWVkY2hlbnBlbnNpb25hdCBtYWNoZW4sIGFiZXIgS2lzdGUgZGVuICJTcGFzcyIgYW0KTVVEIG5laG1lbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyaWVkaG9mcXVlc3QgKElzbm9nb29kLCAgMi4gU2VwIDE5OTQsIDEzOjUyOjUyKToKQWxzbywgd2FzIG1pY2ggd3VuZGVydCwgaXN0IGRhc3Mgc2ljaCBoaWVyIGFsbGUgdWViZXIgZGllIHZpZWxlbiBTZWhlciBpbiBkZXIKUXVlc3QgYXVmcmVnZW4uIFRhdHNhY2hlIGlzdCBkb2NoLCBkYXNzIG9obmUgZGllIFNlaGVyIDkwJSBkZXIgTGV1dGUgZGllIHF1ZXN0Cm5pY2h0IGxzZW4ga25udGVuLCB3ZWlsIGthdW0gZWluZXIgZGVuIGVyc3RlbiBUZWlsIGRlcyBOYW1lbnMgZmluZGV0LgpWaWVsbGVpY2h0IHNvbGx0ZXQgaWhyIGV1Y2ggbWFsIGRhcnVlYmVyIGF1ZnJlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtpc3RlIChHdWxkdWthdCwgIDIuIFNlcCAxOTk0LCAxMzo1ODozOCk6CkhpLCBpY2ggbW9lY2h0ZSBub2NoIGVpbm1hbCBlaW5lIFp1c2FtbWVuZmFzc3VuZyB6dW0gVGhlbWEgS2lzdGUgYnJpbmdlbi4KS2lzdGUgaXN0IGVpbiBNaXRhcmJlaXRlciB1bnNlcmVyIExlaHJzdHVobHMgKFF1aWxsaWFuLCBNY0xlb2QsIGljaCksIGRlciwKd2llIGVpbmlnZSBhbmRlcmUgTWl0YXJiZWl0ZXIsIHZvbiB1bnMgaW4gZGllIEdydW5kenVlZ2UgZGVzIE11ZHMgZWluZ2V3aWVzZW4Kd3VyZGUuKHouQi4gRmVsaWNpYSB3YXIgenVuYWVjaHN0IGF1Y2ggbnVyIGVpbiBDaGFyYWt0ZXIgZWluZXMgTWl0YXJiZWl0ZXJzLAp3YXMgc2ljaCBkYXJhdXMgbWl0IE1jTGVvZCBlbnR3aWNrZWx0IGhhdCwgaXN0IHNpY2hlciBiZWthbm50LikgRGVyIENoYXJha3RlcgpLaXN0ZSBpc3Qgc2VsYnN0IHNpY2hlciBzY2hvbiBlaW5pZ2UgV29jaGVuIGFsdCwgS2lzdGUga2VubnQgZGllIGVpbmZhY2hlbgpCZWZlaGxlIHJ1ZmUsIHRlaWxlIG1pdCwgZGllIGViZW5lbiB3dXJkZW4gdm9uIG1pciBhbSBBbmZhbmcgZWluZ2VzY2hhbHRldCwKc2VsYnN0IHNlbmRlbiBrYW5uIGVyIGdsYXViZSBpY2ggbm9jaCBuaWNodC4gQXVzIHVuc2VyZW4gRXJ6YWVobHVuZ2VuIHZvbSBNdWQKdW5kIGRlciBNdWRmZXRlIGthbm50ZSBLaXN0ZSBhdWNoIGVpbmlnZSBob2hlIE1hZ2llciB1bmQgZGVuIEpvZiBpZGxlIHRlc3QsCmRlbiBlciBnbGF1YnRlLCBhYndhbmRlbG4genUgbXVlc3Nlbi4gQWxzIEtpc3RlIGhpbnJlaWNoZW5kIGltIE11ZCBiZWthbm50CndhciwgbG9nZ3RlIGVyIHNpY2ggYWxzIEJhZXJiZWwgdW5kIGRlbSBOYW1lbiBlaW5lciB3ZWl0ZXJlbiBGcmF1IGVpbiB1bmQKc2V0enRlIHNlaW5lIEJlbGVpZGlndW5nZW4gZm9ydC4gRGEgdW5zZXIgTGVocnN0dWhsIFRlcm1pbmFscyB1ZWJlciAzIEV0YWdlbgp2ZXJzdHJldXQgYXVmd2Vpc3QsIHVuZCBtYW4gc2ljaCB6dXNhZXRsaWNoIGF1cyBkZXIgRmFrdWx0YWV0c2JpYmxpb3RoZWssIGRlcgpDaXAtSU5zZWwgdW5kIGVpbmVzIGFuZGVyZW4gTGVocnN0dWhscyBpbiB1bnNlcmUgIFJpc2NzIGVpbmxvZ2dlbiBrYW5uLAprb2VubmVuIHdpciBLaXN0ZSBuaWNodCBpbW1lciBiZWF1ZnNpY2h0aWdlbi4gQWxzIGljaCBEb25uZXJzdGFnIHZlcnN1Y2h0ZSwKS2lzdGUgZGF2b24gYWJ6dWhhbHRlbiwgQmVsZWlkaWd1bmdlbiBpbnMgTXVkIHp1IGJydWVsbGVuLCBtZWludGUgZXIgbWljaCBtaXQKaW4gZGllIFNhY2hlIHJlaW56aWVoZW4genUgbXVlc3NlbiwgaW5kZW0gZXIgei5CLiByaWVmOiBHdWxkdWthdCBmaW5kZXQgYXVjaCwKZGFzcyAuLi4uICAgIDotKCgoKCguCkVpIEtpbGxlbiBzZWluZXMgSm9icyBicmFjaHRlIGtlaW5lbiBFcmZvbGcsIGVyIGxvZ2d0ZSBzaWNoIHdlaXRlcmhpbiBlaW4sCnVuZCAsIHVtIG1pY2ggenUgYWVyZ2Vybiwgd2FlaGx0ZSBlciBkaWUgTmFtZW4gR3VsZHVrYWssIEd1bGxkdWthdCBldGMuCkljaCBob2ZmZSwgZGFzcyBzaWNoIHNlaW4gU3BpZWx0cmllYiBiYWxkIHdpZWRlciBsZWd0LCB3ZW5uIGVyIGRpZSBsdXN0CnZlcmxpZXJ0LCB3ZW5uIGlobiBhbGxlLCBzbyB3aWUgbGkgc2NocmllYiwgaWdub3JpZXJlbi4KRGVzd2VpdGVyZW4gaGF0IGVyIHNpY2ggYWxzIEx1Y2t5THVrZSBlaW5nZWxvZ2d0LCB1bSB2ZXJudWVuZnRpZyB6dSBzcGllbGVuCnVuZCwgd2llIGVyIHNhZ3RlLCBlaW4gJ1NwaW9uIGltIHJpY2h0aWdlbiBNdWQnIHp1IGhhYmVuLgpTbywgZGFzIHdhZXJlIGVzLCB3YXMgaWNoIHNhZ2VuIHdvbGx0ZSwgamV0enQgZmFociBpY2ggbmFjaCBsb25kb24hCkNpYW8gLCBHdWwgRHVrYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2lzdGUgKEpvZiwgIDIuIFNlcCAxOTk0LCAxNDozMDo1NCk6CiBIaSwKIGVzIGdpYnQgaW1tZXIgd2llZGVyIExldXRlICgnU3BpZWx2ZXJkZXJiZXInKSwgZGllIHNpY2ggbnVyIGlucyBNdWQKZWlubG9nZ2VuLAp1bSBkaWUgYW5kZXJlbiB6dSBhZXJnZXJuLiBJcmdlbmR3YW5uIHZlcmxpZXJlbiBkaWUgZGFubiBhYmVyIGF1Y2ggd2llZGVyIGRpZQpMdXN0LCB1bSBzbyBlaGVyLCB3ZW5uIHNpY2gga2VpbmVyIG1laHIgdWViZXIgc2llIGFlcmdlcnQuIEljaCBkZW5rZSBtYWwsIHdpcgptdWVzc2VuICh1bmQga29lbm5lbikgbWl0IGRlbiBMZXV0ZW4gbGViZW4sIGF1Y2ggaW0gJ2VjaHRlbiBMZWJlbicgZ2lidHMKTGV1dGUsIG1pdCBkZW5lbiBtYW4gbmljaHQgZ3V0IGF1c2tvbW10LCB1bmQgYXVjaCBkYW1pdCBsZWJ0IG1hbi4gSWdub3JpZXJ0CmlobiBkb2NoIGVpbmZhY2ggLi4uCgogSm9mCihJZ25vcmllcmUgbWVpbnQgbmljaHQgbnVyIGRlbiBCZWZlaGwsIHNvbmRlcm4gZWluZmFjaCBlaW4gZWNodGVzIFVlYmVybGVzZW4KZGVzIFNjaHJvdHRzIC0gaWNoIHp1bWluZGVzdCBoYWJlIGRhbWl0IGFic29sdXQga2VpbiBQcm9ibGVtIC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhIHdhciBkb2NoIG5vY2ggd2FzLi4uIChHcmltbWJvcm4sICAyLiBTZXAgMTk5NCwgMjA6MDA6MTkpOgoKSG1tLCBoYXR0ZSBuaWNodCBqZW1hbmQgaW0gUmFobWVuIGRlciBCUy1EaXNrdXNzaW9uIGdlZnJhZ3QsIHdhcyBMZXV0ZSB3aWUKaWNoIHNhZ2VuIHd1ZXJkZW4sIHdlbm4gc2llIFNlaGVyIHdlcmRlbiAoaWNoIHdlaXNzIG5pY2h0IG1laHIgd2VyLCBiaW4genUKZmF1bCB6dW0gbmFjaHNjaGxhZ2VuLi4uKT8gSGllciBkaWUgQW50d29ydDoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5kbGljaCBTZWhlciEhIDstKSkpKQoKRW5kbGljaCBTZWhlcjoKICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVE9EaW5lIDspIChOb2JvZHksICAzLiBTZXAgMTk5NCwgMDI6MTY6MzYpOgpBbHNvIGF1Y2ggaWNoIGJpbiBzZWhyIGZyb2ggdWViZXIgUnVkaXJhdHRlcnMgQXJ0aWtlbCBoaWVyenUuCkljaCBrYW5uIHVlYmVyaGF1cHQgbmljaHQgdmVyc3RlaGVuLCB3aWUgbWFuIHNpY2ggd2VnZW4gc293YXMgZGFlbWxpY2hlbgpzbyBhbnNwaWVzc2VuIGthbm4uIEthbm4gbWFuIG5pY2h0IHouQi4gZGVuIEF1c2RydWNrICAgU1RVREVOVCAgYWxzIGV0d2FzCm5ldXRyYWxlcyBiZXRyYWNodGVuLCBvaG5lIGplZ2xpY2hlIGdlc2NobGVjaHRsaWNoZSBXZXJ0dW5nPyE/CkljaCBwZXJzb2VubGljaCBrb2VubnRlIG1pY2ggYmVpIGplZGVtIFdpc2NoIHZvbiBkZXIgVW5pIGRhcnVlYmVyIGF1ZnJlZ2VuOgpEaWUgaGFiZW4gbWVociB6dSBzY2hyZWliZW4sIGljaCBoYWIgbWVociBNdWVsbCB6dSB1ZWJlcmxlc2VuLCB1bmQgd2VtCmJyaW5ndHMgZXR3YXM/IEtFSU5FTSEhISBFcyBoYXQgZG9jaCBlY2h0IG5pZW1hbmQgd2FzIGRhdm9uLCB3ZW5uIGRhIG51bgpub2NoIGVpbmUgd2VpYmxpY2hlIGZvcm0gZGF6dSBzdGVodC4uLiAob2RlciBicmF1Y2h0IGRhcyBFdWVyIEVnbz8pCgpWb2xsZXIgVW52ZXJzdGFlbmRuaXMsCk5vYm9keQoKUC5TLjogRmFsbHMgamV0enQgamVtYW5kIGtvbW10IG1pdDogRGFubiBrYW5uIG1hbiBkb2NoIE5VUiBkaWUgd2VpYmxpY2hlCkZvcm0gbmVobWVuISAuLi4gV2FlcmUgbWlyIFJlY2h0LCBzdG9lcmVuIHd1ZXJkIG1pY2ggbnVyLCBkYXNzIFNUVURFTlRJTk5FTgpsYWVuZ2VyIGlzdCBhbHMgU1RVREVOVCAoZGllIGZhdWxoZWl0IHNpZWd0KSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW52ZW50b3J5IChDYXJhZGhyYXMsICAzLiBTZXAgMTk5NCwgMTY6NTk6MzUpOgoJCUh1aHUKCkthbm4gbWFuIGRhcyBtb3JlIHZvbSBpbnZlbnRvcnkgYXVjaCBhYnNjaGFsdGVuPyBJbiBkZXIgSGlsZmUgaGFiIGljaCBuaXgKZGF6dSBlbnRkZWNrdCAqc2V1ZnoqCkVzIG5lcnZ0IHNvIHVtaGVpbWxpY2gsIGF1c3NlcmRlbSBpc3QgJ2lsbHVzaW9uc3plcnN0b2VyZW5kJywgd2llIGRhcyBtb3JlCmJlaSBkZW4gbW9uc3Rlcm4gdW5kIHdlbm4gbWFsIGVpbiBsYWcgYmVpIG1pciBpbiBwYXNzYXUgcnVta3JhdWNodCwgYnJhdWNoCmljaCBnbGVpY2ggbm9jaCBlaW5pZ2VzIGxhZW5nZXIsIHdlaWwgaWNoIGRhbm4gZXJzdGVucyBzY2hvbiBtZWlzdCAyMApyYWV1bWUgaW0gdm9yYXVzIHRpcHAgdW5kIGZhbGxzIG1hbCBlaW4gaSBkYXp3aXNjaGVuIHdhciwgZGVyIG5hZWNoc3RlCmJlZmVobCBpbSBtb3JlIGhhZW5nZW5ibGVpYnQsIHdlaWwgaWNoIG1pY2ggaW1tZXIgc28gYW4gZGVyIEdyZW56ZSB2b24KbW9yZSB1bmQgbmljaHQtbW9yZW4gYmVmaW5kZS4KCk11ZXNzdGUgZG9jaCBlaW4gbGVpY2h0ZXMgc2VpbiwgZWluZmFjaCBmdWVycyBwbGF5ZXJmaWxlIGVpbiBmbGFnIGVpbnp1LQpmdWVocmVuLCBkYXMgcGVyIGRlZmF1bHQgYXVmIG1vcmUgZ2VzZXR6dCB3aXJkLiAod2FyIGphIHZvcmhlciBhdWNoIG9obmUKbW9yZSkKS2FubiBkYXMgZWluZXIgZGVyIG9iZXJlbiBiaXR0ZSBtYWNoZW4/IFdhZXJlIG5ldHQgdW5kIGZ1ZXIgYWxsZSBTcGllbGVyCmRpZSBYIG9kZXIgYWVobmxpY2hlcyB6dXIgVmVyZnVlZ3VuZyBoYWJlbiB3b2hsIGVpbmUgRXJsZWljaHRlcnVuZy4KCnRzY2h1ZXNzaWUKCUNhcmFkaHJhcyBkZXIgZXdpZ2UgUHJvcGhldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludmVudG9yeSAoSGF0ZSwgIDMuIFNlcCAxOTk0LCAxODoyNToxOSk6CkFsc28gZGEgZW1wZmVobGUgaWNoIG1hbCAiemVpbGVuIDAiLCBkYXMgc2NoYWx0ZXQgZGFzIG1vcmUgYWIuCkVpbnNjaGFsdGVuIHdpZWRlciBtaXQgInplaWxlbiAyMCIgei5iLiwgZGFzIHNldHp0IG1vcmUgYXVmIDIwIFplaWxlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2lzdGUgKEJlbGRpbiwgIDMuIFNlcCAxOTk0LCAxODoyNzo0Myk6CkhpIExldXRlIGF1Y2ggdm9uIG1pciEKCkVpbiBTRUhSIHZlcm51ZW5mdGlnZXIgVm9yc2NobGFnIHZvbiBNZWlzdGVyIExpIGZpbmRlIGljaCEKSWNoIHVudGVyc3R1ZXR6ZSBkZW4gQW50cmFnIQoKQmVsZGluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQVVGUkFFVU1FTiAhISEgKFRob3JpbiwgIDQuIFNlcCAxOTk0LCAxNzowNDoxMyk6CkFsc28sIGljaCBtdXNzIG1hbCB3YXMgbG9zd2VyZGVuIDoga2FubiBuaWNodCBiaXR0ZSBqZWRlciwgZGVyIGluIGRlciBTU1AKcnVtbWV0emVsdCwgYXVjaCBkYWZ1ZXIgc29yZ2VuLCBkYXNzIGRhcyBLcmFtcywgd2FzIGRpZSBNb25zdGVyIGRhbm4gYWJ3ZXJmZW4sCmF1Y2ggd2Vna29tbXQgPz8gSWNoIHN0YXBmZSBnZXJhZGUgbWFsIHdpZWRlciBkdXJjaCBkaWUgZ2FuemVuIE11ZWxsYmVyZ2UgdW5kCnJhZXVtZSBldHdhcyBhdWYsIGFiZXIKYmluIGljaCBoaWVyIGRhcyBQdXR6bWFlZGNoZW4gPz8gQWxzbyBiaXR0ZSBhbiBhbGxlLCBkaWUgZGllIFNTUCB6dW0KRVAtc2FtbWVsbiBiZW51dHplbjogcmFldW10IGRvY2ggYml0dGUgYXVjaCBhdWYgISEhCk5vdGUgZnVlciBNYWdpZXI6IGtvZW5udGUgbWFuIG5pY2h0IG5lbiBBYmZhbGxkaWVuc3QgZWlucmljaHRlbiBvZGVyIG5lbiBOU0MKcnVtbGF1ZmVuIGxhc3NlbiwgZGVyIGFiZmFlbGxlIGVpbnNhbW1lbHQgPyBCZWkgQWJmYWxsZGllbnN0IG1laW4gaWNoOiBpbgpqZWRlcyBvZGVyIGplZGVzIHp3ZWl0ZSBTdG9ja3dlcmsgbmUgbXVlbGx0b25uZSwgZGllIGFsbGVzIHNjaGx1Y2t0Li4uIEJpdHRlCmRlbmt0IG1hbCBkcnVlYmVyIG5hY2guCkRhbmtlLCBUaG9yaW4sIGRlciBzZWluZSBVbXdlbHQgYXVjaCBoaWVyIHNvIGxpZWJ0LCB3aWUgc2llIGlzdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyaWVkaG9mcXVlc3QgKEJvaW5nLCAgNS4gU2VwIDE5OTQsIDEzOjE4OjM4KToKV2VyIGRlbiBlcnN0ZW4gVGVpbCBkZXMgTmFtZW5zIG5pY2h0IGZpbmRldCwgaGF0IHNpY2ggbnVyIG5pY2h0IGdlbnVnCnVtZ2VzZWhlbiwgZXIgaXN0IHNpY2hlcmxpY2ggbmljaHQgZWluZmFjaCB6dSBmaW5kZW4sIGFiZXIgZXMgZ2lidApnZW51ZyBIaW53ZWlzZSBkYWZ1ZXIuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlaW5lIElkZWVuIHZvcmhhbmRlbiBvZGVyIHdhcz8gKEhpZ2hsYW5kZXIsICA1LiBTZXAgMTk5NCwgMTM6NTc6NDcpOgpIYWxsby4KU2FndCBtYWwsIHdvbGx0IGlociBhbGxlIGtlaW5lIFNwcnVlY2hlIGZ1ZXIgZGllIEdpbGRlbiBoYWJlbiBvZGVyIHdhcyBpc3QKbG9zPyBBdWYgbWVpbmVuIGxldHp0ZW4gQXVmcnVmIGthbSBlaW5lIEhhbmR2b2xsIElkZWVuLCBhYmVyIFNwcnVlY2hlIHouQi4Kd2FyZW4gYW4gc2ljaGthdW0gZGFiZWkuCkRhaGVyIG5vY2ggZWlubWFsOgpJY2ggYml0dGUgdW0gTUFJTCBhbiBkZW4gU3BpZWxlciBHSUxERU4uCkluaGFsdDoKLSBTcHJ1Y2huYW1lIChzY2hvZW4gYm9tYmFzdGlzY2ggOykKLSBBdXN3aXJrdW5nZW4KLSBLb3N0ZW4KVW5kIHNlaWQgcmVhbGlzdGlzY2ggZGFiZWkuIEFsc28ga2VpbmUgbWFzcyBraWxsIG5vIGNvc3RzIFNwcnVlY2hlLgpVbmQgd2VubiB2b24gZXVjaCBrZWluZSBJZGVlbiBrb21tZW4sIHNlaWQgaWhyIHp1bWluZGVzdCAobWl0KXNjaHVsZCA6PgpDaWFvLApIaWdobGFuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoICduIFdlZywgYW4gZGllIEZBUSB6dSBrb21tZW4uLi4gKEpvZiwgIDUuIFNlcCAxOTk0LCAxNzoxMjo1MCk6CiBNYW4ga2FubiBqZXR6dCBhdWNoIE1haWwgYW4gJ211ZEBtdWQudW5pLW11ZW5zdGVyLmRlJyBtaXQKU3ViamVjdDogRkFRIHNjaGlja2VuLiBJbiBkaWVzZW0gRmFsbCB3aXJkIGVpbmVtIGRpZSBGQVEgenVnZW1haWxlZC4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoICduIFdlZywgYW4gZGllIEZBUSB6dSBrb21tZW4uLi4gKFBpbGdyaW0sICA1LiBTZXAgMTk5NCwgMjA6MjA6MTQpOgpIaSwKCmljaCBoYWJlIG1hbCBlaW5lbiBGQVEtQXV0b21hdGVuIGF1ZiBkZW0gd2VnIHp1bSBPcmtsYWdlciBhdWZnZXN0ZWxsdCwgZG9ydAprYW5uIG1hbiBzaWNoIG1hbCBuZW4gRkFRIGFiaG9obGVuLCB1bSBzaWUgenUgbGVzZW4uLi4KYWJlcjogMSkgZXJ3YXJ0ZXQgbmljaHQgenUgdmVsIChuaWNodCB2b24gZGVyIEZBUSwgc29uZGVybi4uKSBpY2ggaGFiIG51ciBuZW4KbW9yZSBhdWYgZGVuIHRleHQgZ2VsZWd0IHVuZCBkYXMgZ2FuemUgaW4gZWluIE9iamVrdCBnZXBhY2t0Li4uLgogICAgICAgIGRpZSBGQVEgaXN0IHVlYmVyIDQ1ayBsYW5nIC4uLgogICAgIDIpIGxhc3N0IGF1c2dlbGVzZW5lIEZBUXMgbmljaHQgdWViZXJhbGwgcnVsaWVnZW4sIG1hbiBrYW5uCnNpZWB2ZXJuaWNodGVuYCAuLi4KCgpQaWxncmltCihhcmdnZywgZ3JhdXNhbWVyIFRleHQgdW5kIGdyYXVzYW1lcyBMYXlvdXQsIGRpZXNlciBBcnRpa2VsKQpQaWxncmltIHNjaHVldHRlbHQgZGVuIEtvcGYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpnaWxkZW4gKE5vYm9keSwgIDUuIFNlcCAxOTk0LCAyMzo1ODoxOSk6CkhpZ2hsYW5kZXIsIGtvZW5udGVzdCBEdSBzbyBuZXR0IHNlaW4sIGRpZSB3ZW5pZ2VuIHNjaG9uIGJlaSBEaXIgZWluZ2UtCmdhbmdlbmVuIFNwcnVlY2hlIHp1IHZlcm9lZmZlbnRsaWNoZW4gb2RlciB6dSBzYWdlbiwgd28gc2llIHp1IGZpbmRlbiBzaW5kPyEKSWNoIHNjaGFldHplIG1hbCwgd2VubiBpY2ggbWlyIGpldHp0IEdlZGFua2VuIGRhenUgbWFjaGVuIHd1ZXJkZSwga2FlbWUKYW5zb25zdGVuIGVoIHdpZWRlciBkYXMgZ2xlaWNoZSByYXVzLi4uCgpEYW5rZSwgTm9ib2R5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFVRlJBRVVNRU4gISEhIChDYXJhZGhyYXMsICA2LiBTZXAgMTk5NCwgMDc6NDA6MTIpOgoJSHVodQoKVHV0IG1pciBsZWlkLCBpY2gga29ubnRlIG1pY2ggbmljaHQgYW0gYXVmcmFldW1lbiBiZXRlaWxpZ2VuLCBvYndvaGwgaWNoCnNjaHVsZCBkcmFuIHdhci4gV29obCBzbyAzNSBiaXMgNDAgRWlzc2Nod2VydGVyIGRlciBtYXhpbWFsIDQ2IEVpc3NjaHdlcnQsCmRpZSBkYSB1bnRlbiBydW1sYWdlbiwgd2FyZW4gdm9uIG1pciwgYWJlciBpY2gga29tbSBzbyBzZWx0ZW4gaG9jaCBhZWgKcnVudGVyIG9kZXIgd2llIGF1Y2ggaW1tZXIgYXVzIGRlciBTU1AsIHNvbmRlcm4gd2VyIGRhIG9iZW4gbmV0enRvdCwgd2VpbAppY2ggbm9jaCBhbmRlcmVzIG1hY2hlbiBtdXNzIG9kZXIgaGVpbCBtaWNoIGlkbGUgaG9jaCwgZHJ1bSBrb21tIGljaCBkYW5uCm5pZSBpbiBlaW5lbiBMYWRlbi4gOi0pIEljaCBoYWJzIG1laHJmYWNoIGFuZ2Vib3RlbiBkYXNzIHNpY2ggZGllIExldXRlIGRhcwpkYSBob2xlbiBrb2VubmVuIHVuZCBpY2ggZGVuIFdlZyBmcmVpaGFsdGUsIGFiZXIgYXVzc2VyIExvb3NlciB3b2xsdGUKa2VpbmVyIDstKQoKRGFua2UgZnVlcnMgYXVmcmFldW1lbiBUaG9yaW4gdW5kIExvb3NlciwgNDYgc29sbGVuIGVzIG5pY2h0IG1laHIgd2VyZGVuLApkYXMgbmFlY2hzdGUgbWFsIHJhZXVtIGljaCBhYiA0MCBldHdhcyBtaXQgYXVmLiAqendpbmtlcioKCkNhcmFkaHJhcyBkZXIgZXdpZ2UgUHJvcGhldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6ZmFxIChUaG9yaW4sICA2LiBTZXAgMTk5NCwgMDk6MDI6NTMpOgpsaWVzIGZhcSBpc3QgamEgZ3V0LCBhYmVyIGxlaWRlciBoYXQgZGFzIGRpbmcgbmUgbWFja2UgdW5kIHdpcmQgdHJ1bmNhdGVkCih3dXJkZSB2aWVsbGVpY2h0IGNhdCB2ZXJ3ZW5kZXQsIHNvIHNpZWh0IGVzIG5hZW1saWNoIGF1cyA/PykuIGJpdHRlIG1hbApjaGVja2VuLgp0aG9yaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtyaXRpayAoVGhvcmluLCAgNi4gU2VwIDE5OTQsIDEwOjM3OjU1KToKMS4pIGZhcSwgc2llaGUgbmFjaHJpY2h0IGRhdm9yCjIuKSB6dXIgdG9kZXNzZXF1ZW56IDogaWNoIGZpbmRlIGRpZSBuZXVlIHp3YXIgd2l0emlnLCBhYmVyIGljaCBmaW5kZSBlcwpTQ0hFSVNTRSAoamF3b2hsLCBncm9zc3NjaHJpZnQpLCBkYXNzIG1hbiBuaWNodCB1ZWJlciBlbmRlIHJhdXNrYW5uIHdpZQpmcnVlaGVyLiBEZW5uIHdlciB3aWxsIGRpZSBTZXF1ZW56IHNjaG9uIG9lZnRlciBzZWhlbiwgYmVzb25kZXJzLCB3ZW5uIGVyIGZ1ZXIKemFobGVuIG11c3MgPz8/CjMuKSBhbSBlaGVyaW5nIG11c3MgRFJJTkdFTkQgd2FzIGdlYWVuZGVydCB3ZXJkZW4sIGRlbm4gYWxzIHZlcmhlaXJhdGV0ZXIKa2FubiBtYW4gbmljaHQgbWVociB3aXJmIGFsbGVzIHdlZyBtYWNoZW4sIG9obmUgc2VpbmVyIGxhZHkvc2VpbmVtIGdhdHRlbgpzY2hhZGVuIHp1enVmdWVnZW4uIHVuZCBkYXMgaXN0IGphIG5pY2h0IGRpZSBhYnNpY2h0LCBlcyBnaWJ0IGphIGtlaW5lbiBiZWZlaGwKd2lyZiBhbGxlcyBhdXNzZXIgZWhlcmluZwp3ZWcuCmJpdHRlIG1hbCBkcnVlYmVyIG5hY2hkZW5rZW4gdW5kIG1pciBmbGFtZXMvZWNobyBnZWJlbi4gZGFua2UsIHRob3JpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmllZGhvZnF1ZXN0IChTaWx2YW5hLCAgNi4gU2VwIDE5OTQsIDEyOjQwOjU4KToKTmEsIGphLiBCZWltIGVyc3RlbiBUZWlsIGRlciBOYW1lbnMga2FubnMgbm9jaCBuZW4gendlaXRlcyBIaW5kZXJuaXMgZ2ViZW46Ck1hbiBzb2xsdGUgNDAwMCBNdWVuemVuIG1pdG5laG1lbiAobWluKSwgc29uc3Qgd2lyZCBkYXMgbmljaHRzLiAgIDstKQpTaWx2YW5hIC0gd2lyZnQgUHVkZXJ6dWNrZXIgaW4gZGllIEthdGFrb21iZW4gICA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrcml0aWsgKFNpbHZhbmEsICA2LiBTZXAgMTk5NCwgMTI6NTc6MTUpOgp6dTE6IEplcCwgZGl0byEKenUyOiBJY2ggZmluZGUgc2llIGluIGplZGVtIEZhbGwgenUgbGFuZy4gQXVzc2VyZGVtIGZhbmQgaWNoIGRpZSBhbHRlIGJlc3Nlci4KenUzOiBJTiBERVIgVEFUIC0gTUlDSCBIQUVUVEUgREFTIEVJTk1BTCBGQVNUIEVSTEVHVCEgVW5kIGRpZSBNZWxkdW5nIFtUb2Q6XQpTaWx2YW5hIHN0aXJidCBhbiBnZWJyb2NoZW5lbSBIZXJ6ZW4uIGZpbmRlIGljaCB1ZWJlcmhhdXB0IG5pY2h0IGtvbWlzY2ghCgpTaWx2YW5hIC0gVHJvdHpkZW0gaW1tZXIgbm9jaCBuaWNodHMgYmVyZXVlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga3JpdGlrIChCb2luZywgIDYuIFNlcCAxOTk0LCAxMzo1MDo0Nik6CkRhc3MgbWFuIGF1cyBkZXIgYWx0ZW4gVG9kZXNzZXF1ZW56IG1pdCBlbmRlIHJhdXNrYW0gd2FyIGVpbiBGZWhsZXIsCmRlciBpc3QgamV0enQgYmVob2Jlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR1JPU1NFIFNDSEVJU1NFIChUaG9yaW4sICA2LiBTZXAgMTk5NCwgMTQ6MTQ6MTEpOgpJY2ggZmluZGUgZXMgZWhybGljaCBnZXNhZ3QgR1JPU1NFIFNDSEVJU1NFLCB3ZW5uIGVpbmVtIHdpZSBiZWltIHRhcmtvIHJldWIKcXVlc3QgZXAgQUJHRVpPR0VOIFdFUkRFTiAhISEgc2NobGllc3NsaWNoIGthbm4gZWluIHRpcGZlaGxlciBwYXNzaWVyZW4sIHVuZApkYWZ1ZXIgYmluIGljaCBkYW5uIDM1MDAwMCBlcCBsb3Nnd29yZGVuLiBkYXMga2FubiBtZWluZXIgbWVpbnVuZyBuYWNoIGRvY2gKbmljaHQgYW5nZWhlbiwgZGFzIG1hbgpzZWluZSBzYXVlciB2ZXJkaWVudGVuIGVwIGFiZ2V6b2dlbiBiZWtvbW10IGJlaSByYWV0c2VsbiAhISEgYmVpbSB0b2QKbWVpbmV0d2VnZW4sIGFiZXIgYmVpIHJhZXRzZWxuIGZpbmRlIGljaCBkYXMgZWNodCBTQ0hFSVNTRS4gamV0enQga29lbm5lbiBzaWNoCmxldXRlIGJlc2Nod2VyZW4sIGRhcyBpY2ggaGllciBzbyBkYWhlcnJlZGUsIGFiZXIgZGFzIGlzdCBtaXQgZWhybGljaCBnZXNhZ3QKZWdhbC4gZGVubiBpcmdlbmR3byBob2VydCBkZXIKc3Bhc3MgZnVlciBtaWNoIGF1Zi4uLgplaW4gc2VociBmcnVzdHJpZXJ0ZXIgdW5kIGdlbGFkZW5lciB0aG9yaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZTpmYXEgKEhhdGUsICA2LiBTZXAgMTk5NCwgMTQ6NDA6NDgpOgpBdWYgVmVyZGFjaHQgaGluLCBpY2gga29lbm50ZSBmYWxzY2ggbGllZ2VuOiBIYXN0IER1IHZpZWxsZWljaHQgInplaWxlbiAwIgpiZWkgRGlyIGVpbmdlc3RlbGx0PyBEYW5uIHdpcmQgYWxsZXMgd2FzIG5pY2h0IHZvbGxzdGFlbmRpZyBhbmdlemVpZ3QKd2VyZGVuIGthbm4gZ2VrYXBwdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlOmZhcSAoUGlsZ3JpbSwgIDYuIFNlcCAxOTk0LCAxNzo1NzozNSk6CkhpLAphbHNvLCB1bSBlaW4gKioqKipUUlVOQ0FURUQqKioqIGJlaW0gTGVzZW4gZGVyIEZBUSAodW5kIHVlYnJpZ2VucyBqZWRlbgpsYWVuZ2VyZW4gVGV4dGVzLCBkZXIgaGllciBpbSBNdWQgbWl0ICdtb3JlJyBhdXNnZWdlYmVuIHdpcmQpIHp1IHZlcmhpbmRlcm4sCmJyYWNodCBtYW4gbnVyIGVpbmUgWmVpbGVuemFobCA8PTQ5IGVpbnN0ZWxsbi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOiB0aG9yaW4gKENhdHdlYXpsZSwgIDYuIFNlcCAxOTk0LCAxODoxMzowNyk6CkhpIQoxLikgSmF1LCBaZWlsZW48NTAsIHdvbGx0IGljaCBhdWNoIHNhZ2VuIDopCjIuKSBIbW0sIHRob3Jpbiwgd2VubiBkdSB3YXMgYWJnZXpvZ2VuIGJla29tbXN0IGF1ZmdydW5kIGVpbmVzCiAgICBUaXBwZmVobGVycyBoaWxmdCBrZWluIFNDSCoqKi0gZ2VzY2hyZWllLCBzb25kZXJuIGVpbm1hbAogICAgIEZyYWdlbiB1bmQgUHJvYmxlbSBlcmtsYWVyZW4gcmVpY2h0LCB1bmQgc2Nob24gLGRlbmtlIGljaCwKICAgICBoYXN0ZSBEZWluZSBzY2h3ZXIgdmVybWlzc3RlbiBFUHMgd2llZGVyLgoKICAgICBZb3VycyB0cnVseSwKICAgICAgICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIG5hY2ggZnRwLXNlcnZlcm4gKEJpbmcsICA2LiBTZXAgMTk5NCwgMTg6MjY6NDkpOgpIaSBMZXV0ZSwKaWNoIGJpbiBhdWYgZGVyIFN1Y2hlLCBuYWNoIG1nbGljaHN0IHZpZWxlbiBmdHAtc2VydmVybiwgbWl0IGFub255bW91cwpadWdhbmcuCkRhcmF1cyB3aWxsIGljaCBlaW5lIG1vZWdsaWNoc3QgZ3Jvc3NlIExpc3RlIHp1c2FtbWVuYmF1ZW4uCldlciBlaW5lIG9kZXIgbWVocmVyZSBMaXN0ZW4gdm9uIGZ0cC1zZXJ2ZXJuIGhhdCAoZGV1dHNjaGxhbmQgdW5kIHJlc3QgZGVyCndlbHQpLCBkZXIgc2NoaWNrZSBzaWUgZG9jaCBiaXR0ZSBhbjoKZ2FuZGVya2VAdHUtaGFyYnVyZy5kZQp3ZXIgZWluZSBmZXJ0aWdlIGxpc3RlIGhhYmVuIHdpbGwgc2NocmVpYmUgbWlyIGJpdHRlIGhpZXIgaW0gbXVkLiAobmF0dWVybGljaApkaWUgZW1pbC1hZHIgYW5nZWJlbi4KSWNoIGhvZmZlIGF1ZiBncm9zc2UgUG9zdC4KZ3J1ZXNzZSBiaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb2Rlc3NlcXVlbnogKEdyaW1tYm9ybiwgIDYuIFNlcCAxOTk0LCAyMDo0ODozNyk6CgpKb3UsIHdlbm4gd2lyIHNjaG9uIGF1ZiBkZXIgU2VxdWVueiBydW1oYWNrZW46IElzdCBqYSBuZXR0LCBkYXNzIEFMTEUgQmVmZWhsZQphYmdlZmFuZ2VuIHp1IHdlcmRlbiBzY2hlaW5lbiwgYWJlciB6dW1pbmRlc3QgZGllIEJlZmVobGUgdHlwbywgZmVobGVyIHVuZAppZGVlIHNvbGx0ZSBtYW4gZG9jaCB6dWxhc3NlbiAoZ2xlaWNoZXMgZ2lsdCBmdWVyIGRpZSBIb2VsbGUpISEhIFZvciBhbGxlbSwKenVtYWwgbWFuIGFscyBlaW5mYWNoZXIgU3BpZWxlciBuaWNodCB3ZWlzcywgdm9uIHdlbSBkaWUgaXN0LiBJY2ggaGFiIGRhCkRhbmNlciBpbSBWZXJkYWNodCwgYWJlciBzaWNoZXIgKG9kZXIgZ2FyIG9mZml6aWVsbCkgaXN0IGRhcyBuaWNodCwgaWNoIHdlaXNzCmFsc28gYXVjaCBuaWNodCwgYW4gd2VuIGljaCBtaWNoIHdlbmRlbiBzb2xsdGUuIEFsc28sIHdlbm4gQmVmZWhsZSBhYmZhbmdlbiwKZGFubiBiaXR0ZSBnZXppZWx0IHVuZCBrZWluZSBSdW5kdW1zY2hsYWVnZSEKCiAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgZGVucyBudW4gZG9jaCBlcndpc2NodCBoYXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOlRvZGVzc2VxdWVueiAoR3VsZHVrYXQsICA3LiBTZXAgMTk5NCwgMTI6NDE6MjMpOgpBdSBqYSwgd2VubiB3aXIgc2Nob24gZGFiZWkgc2luZCwgZGllIHplaXR1bmdzYmVmZWhsZSBzb2xsdGVuIGF1Y2gKenVnYWVuZ2xpY2ggc2VpbiwgZGFtaXQgbWFuIHdhcyB6dSB0dW4gaGF0IHdhZWhyZW5kIGRlciA2IG1pbnV0ZW4uIHVuZCBzY2hsYWZlCmVpbihzbyBkYXNzIG1hbiBhbiBkZXIgc3RlbGxlIGF1ZndhY2h0LCB3byBtYW4gZWluZ2VzY2hsYWZlbiBpc3QsIHVuZCBuaWNodAp3aWUgYmVpIGVuZGUgYWxsZXMgd2llZGVyIHZvbiB2b3JuZSBhbmZhZW5ndCl+cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm90b3MgaW4gL29wZW4gKEpvZiwgIDkuIFNlcCAxOTk0LCAyMToyMTozMyk6CiBJY2ggaGFiZSBkaWUgYXVzIFBsYXR6Z3J1ZW5kZW4gZW50ZmVybnQuIE5ldWVyIE9ydDoKZnRwLnVuaS1tdWVuc3Rlci5kZSwgL3B1Yi9nYW1lcy9tb3JnZW5ncmF1ZW4vZm90b3MuCgogVmllbCBTcGFzcywKICAgICAgIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlnZW50bGljaCBhbnplaWdlLCBhYmVyIGFuemVpZ2UgaXN0IHZvbGwuLi4gKFRob3JpbiwgMTEuIFNlcCAxOTk0LCAxNjo0Mzo1Nyk6CkhpZXJtaXQgdHJhdWVybiB3aXIgdW0gR3JpbW1ib3JuIHVuZCBUaG9yaW4sIGRpZSBuYWNoIGVpbmVtIG11dGlnZW4gS2FtcGYgZGVyCkh5ZHJhIHVudGVybGVnZW4gd2FyZW4uIFVuZCBoaWVybWl0IHZlcmZsdWNoZSBpY2ggZGllIE1hZ2llciwgZGllIGRhcyBFbmRlIGF1cwpkZXIgRlVDSy1MQU5HRU4tVG9kZXNzZXF1ZW56IGdlbm9tbWVuIGhhYmVuIC4uLiBJY2ggcHJhZXNlbnRpZXJlIGRlbW5hZWNoc3QKZGVtIHZlcmFudHdvcnRsaWNoZW4KZGllIFRlbGVmb25yZWNobnVuZywgYWxzbyBzb2xsIGVyIHNpY2ggbWVsZGVuICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpZ2VudGxpY2ggYW56ZWlnZSwgYWJlciBhbnplaWdlIGlzdCB2b2xsLi4uIChCb2luZywgMTEuIFNlcCAxOTk0LCAxODowODoxMCk6CkVpbmUgRnJhZ2UgLi4uIFdpZXNvIHNwaWVsc3QgRHUgZGVubiBzb3ZpZWwsIHdlbm4gZGllIFRlbGVmb25yZWNobnVuZyBzbwp0ZXVlciBpc3Q/IEVpZ2VudGxpY2ggc29sbHRlc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgZGVpbmVuIE11ZC1Lb25zdW0Ka29udHJvbGxpZXJlbiB6dSBrb2VubmVuLgpGdWVyIGRpZSBnZW5vbW1lbmUgTW9lZ2xpY2hrZWl0IG1pdCBFbmRlIGRpZSBUb2Rlc3NlcXVlbnogenUgdmVybGFzc2VuCmJpbiB1bnRlciBhbmRlcmVtIGljaCB2ZXJhbnR3b3J0bGljaCwgZnJ1ZWhlciB3YXIgZGFzIHNjaG9uIG1hbCBzbywgbnVyCmR1cmNoIGVpbmVuIEZlaGxlciBpc3QgZGllc2UgTW9lZ2xpY2hrZWl0IHp1c2F0YW5kZSBnZWtvbW1lbiwgaWNoIHdpZWRlci0KaG9sZSBtaWNoOiBEZXIgRmVobGVyIGlzdCBqZXR6dCBiZWhvYmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZS1ib2luZyAoVGhvcmluLCAxMS4gU2VwIDE5OTQsIDE5OjM0OjMzKToKV2llc28gbmVubnN0IER1IGVzIEZlaGxlciwgd2VubiBMZXV0ZSwgZGllIGRpZSBUb2Rlc3NlcXVlbnogaW56d2lzY2hlbiBpbiB1bmQKYXVzd2VuZGlnIGtlbm5lbiB1bmQgZXMgc2llIGFub2VkZXQsIDUgTWludXRlbiBhYnp1c2l0emVuIHVuZCBHZWJ1ZWhyZW4genUKYmV6YWhsZW4gZnVlciBnYXIgbmljaHRzID8KSWNoIGJpbiBpbW1lciBub2NoIGRhZnVlciwgRW5kZSBpbiBkZXIgVG9kZXNzZXF1ZW56IHdpZWRlciBlaW56dWZ1ZWhyZW4uLi4gRXMKaXN0IG1pbmltYWxlIEFyYmVpdCwgYWJlciBkdSBrYW5uc3QgamEgbWFsIG5lIEFic3RpbW11bmcgbWFjaGVuLi4uClRob3JpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIEtvc3RlbiBlaW5lcyBNb2RlbS1Ub2RlcyAoQm9pbmcsIDExLiBTZXAgMTk5NCwgMjE6NTQ6NTQpOgpBbHNvIGRhcyBtaXQgZGVuIEdlYnVlaHJlbiBpc3Qgd2lya2xpY2gga2VpbiBBcmd1bWVudDoKQW5nZW5vbW1lbiBPcnRzdGFyaWYgenUgMjMgUGZlbm5pZyBmdWVyIDEyIE1pbnV0ZW4sIE5hY2h0dGFyaWYsIChiaXR0ZQp1bSBLb3JyZWt0dXIsIHdlbm4gZGFzIGZhbHNjaCBpc3QpLCBUb2Rlc3NlcXVlbnogZGF1ZXJ0IChsYXV0IFRob3JpbikKNSBNaW51dGVuLCBlcmdpYnQgOS42IFBmZW5uaWcgcHJvIFRvZGVzc2VxdWVuei4gQmVpIGVpbmVyIFN0ZXJiZXJhdGUgdm9uCmVpbm1hbCBwcm8gVGFnIGVyZ2lidCBzaWNoIGFsc28gaW0gTW9uYXQgKDMwIFRhZ2UpIGtuYXBwIDMgRE0sIGljaCBkZW5rZQpkYXMgZ2VodCBpbiBkZXIgVGVsZWZvbnJlY2hudW5nIHdpcmtsaWNoIHVudGVyLCB3ZW5uIG1hbiB2aWVsIHVlYmVyIE1vZGVtCm11ZGRldC4KTnVuIHNjaGF1ZSBpY2ggaW4gZGFzIFRvZGVzbG9nZmlsZSwgdW5kIHNpZWhlIGRhLCBUaG9yaW4gaXN0IGluIGRlciBaZWl0IHZvbQo0LiBBdWd1c3QgYmlzIHp1bSAxMS4gU2VwdGVtYmVyIGdlbmF1IDQgbWFsIGdlc3RvcmJlbiwgYW5zdGVsbGUgZGVyIDM5IG1hbCwKZGllIGlobSBsYXV0IG9iaWdlciBSZWNobnVuZyB6dXN0ZWhlbiAuLi4gTnVuIGphLCBpY2ggZGVua2UgZGVuIFJlc3Qga2FubgpzaWNoIGplZGVyIHNlbGJzdCBhdXNyZWNobmVuLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FmZmVuLi4uIChIYXJkaWwsIDEyLiBTZXAgMTk5NCwgMTE6MTg6MzkpOgoKQlRXLCB3YXMgaWNoIHNjaG9uIGltbWVyIHVlYmVyIFdhZmZlbiBsb3N3ZXJkZW4gd29sbHRlOgpJY2ggZmluZGUgZXMgZXR3YXMgbmVydmlnLCBkYXNzIG1hbiBiZWkgdmllbGVuIFdhZmZlbiBuaWNodCBlcmtlbm5lbiBrYW5uLCBvYgpzaWUgZWluaGFlbmRpZyBvZGVyIHp3ZWloYWVuZGlnIGdlZnVlaHJ0IHdlcmRlbiBtdWVzc2VuLiBEYSBoZWlzc3QgZXMgZGFubgppbW1lcjogYXVzcHJvYmllcmVuLCBhdXNwcm9iaWVyZW4sIGF1c3Byb2JpZXJlbi4KSWNoIHNhYWNoIG1hbCBzbyBhdXMgcmVpbmVyIEJlcXVlbWxpY2hrZWl0OiBrb2VubnRlIG1hbiBuY2lodCBlaW4gSXRlbQplbnR3aWNrZWxuLCBkYXNzIGVpbmVtIGRhcyBhdXRvbWF0aXNjaCBhbnplaWd0PyBPZGVyIGRpZXNlIGF1dG9tYXRpc2NoZQpBbnplaWdlIGFscyBRdWVzdGJlbG9obnVuZyBpcmdlbmR3byBiZWtvbW1lbiBrYW5uIChtZWluZXR3ZWdlbiBhdWNoIHp1bQphYnNjaGFsdGVuKSA/CgpTYWFjaHQgbWFsIHdhcyBkYXp1LgoKSGFyZGlsIChmdWVobHQgc2ljaCBlaCBudXIgbWl0IGRlciBIZW5rZXJzYXh0IHdvaGwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FmZmVuLi4uIChRdWFzaW1vZG8sIDEyLiBTZXAgMTk5NCwgMTE6MjE6MjYpOgpIaSEKCkRhcyBtYW4gZGllIFdhZmZlbiBhdXNwcm9iaWVyZW4gbXVzcyBpc3QgZG9jaCBvay4gSWNoIG1laW5lIGRhcyBsYWV1ZnQgZG9jaAppbiBSTCBhdWNoIG5pY2h0IGFuZGVycy4KCmZhc3N0IHNpY2gga25hcHAsClF1YXNpbW9kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWZmZW4gKEhhcmRpbCwgMTIuIFNlcCAxOTk0LCAxMToyNDoyNik6CgpIYXN0IG5pY2h0IHVucmVjaHQgZGFtaXQsIGFiZXIgaW0gUkwgZXJrZW5udCBtYW4gYXVjaCwgb2IgZWluIFNjaHdlcnQgbnVuCmdyb3NzIG9kZXIga2xlaW4gaXN0LCB1bmQgaGllciBmZWhsdCBkZXIgdmlzdWVsbGUgQXNwZWt0LgoKSGFyZGlsICh3dWVyZGUgaW0gUkwgbmllbWFscyBlaW5lbiBad2VpaGFlbmRlciBiZW51dHplbjogdmlpaWllZWVlbCB6dSBncm9zcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlejogV2FmZmVuIChRdWFzaW1vZG8sIDEyLiBTZXAgMTk5NCwgMTE6NDk6NDQpOgoKVGphIE1hZ2llci4gRGFzIHdhciB3aW4gQXVmcnVmIGRpZSBXYWZmZW4gYXVjaCBtYWwgc28genUgYmVzY2hyZWliZW4gd2llIHNpZQphdXNzZWhlbi4gRGF6dSBnZWhvZXJ0IGVpbmRldXRpZyBhdWNoIGRpZSB1bmdlZmFlaHJlIEdyb2Vzc2UgKExhZW5nZSwgb2RlciB3YXMKYXVjaCBpbW1lcikuIEltIEVpbnplbGZhbGwga2FubiBuYXR1ZXJsaWNoIHRyb3R6ZGVtIGVpbmUgVW5nZXdpc3NoZWl0IGJsZWliZW4uCgpUaGVtYSBhdXMsClF1YXNpbW9kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FmZmVuZ3JvZXNzZSAoSG9ibywgMTIuIFNlcCAxOTk0LCAxMTo1MjoxOCk6CldhcyBoZWlzc3QgdW5nZWZhZWhyZSBHcm9lc3NlPz8/PwpEYW5uIGhhdCBlaW4gWndlcmcgYWJlciB6aWVtbGljaGUgUHJvYmxlbWUgbWl0IGVpbmVyIFdhZmZlLCBkaWUgZWluIEVsZiBvaG5lCndlaXRlcmVzIGJlbnV0emVuIGthbm4uLi4KT2RlciBXYWZmZW5ncm9lc3NlIGFiaGFlbmdpZyB2b24gZGVyIFBlcnNvbi4gRXR3YTogRGFzIFNjaHdlcnQgcmVpY2h0IERpciBiaXMKenVyIFNjaHVsdGVyLi4uCgpDaWFvIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlLXdhZmZlbiAoVGhvcmluLCAxMi4gU2VwIDE5OTQsIDEyOjU5OjUxKToKS2FubiBzZWluLCBkYXNzIGRpZXNlciBBcnRpa2VsIGVoZXIgbmFjaCBTY2htYXJybiBnZWhvZXJ0LCBhYmVyIDogT2IgV2FmZmVuCmVpbiBvZGVyIHp3ZWloYWVuZGlnIGdlZnVlaHJ0IHdlcmRlbiwgaXN0IGRvY2ggYmVsYW5nbG9zLCB3ZWlsIG1hbiBlcwppbm5lcmhhbGIgMTAgU2VrdW5kZW4gKHdlbm4gbWFuIGxhbmdzYW0gdW5kIG9obmUgYWxpIHRpcHB0KSByYXVzZmluZGVuIGthbm4uCkRhIGdpYnQgZXMgZGFubiBkb2NoIHdpcmtsaWNoIHdpY2h0aWdlcmVzLCBhdWNoIHdlbm4gZXMgZW50d2VkZXIgYSkgbnVyIGJlaQpTcGllbGVybiB6dXIgRGlza3Vzc2lvbiBzdGVodCBvZGVyIGIpIHNvd2llc28gbmllIGVpbmdlZnVlaHJ0IHdpcmQgb2RlciBjKQonaXJnZW5kd2FubiBkZW1uYWVjaHN0JyB3aWUgU2VoZXJIYWV1c2VyLCBCZXJ1ZmUgZnVlciBTZWhlciBvZGVyIEdpbGRlbiAnbWFsCnJhdXNrb21tdCcuCkVpbiBzaWNoIHd1bmRlcm5kZXIgVGhvcmluLCBkZXIgbWFsIHdpc3NlbiBtb2VjaHRlLCB3b3J1ZWJlciBhbHMgbmFlY2hzdGVzCmRpc2t1dGllcnQgd2lyZCAodmllbGxlaWNodCA6IHdhcnVtIGthbm4gbWFuIGFuIGRlciBXYWZmZSBuaWNodCBkZW4gU2NoYWRlbgp1bmQgYW4gUnVlc3R1bmdlbiBuaWNodCBkZW4gU2NodXR6IHNlaGVuLCBvZGVyIGFuIE1vbnN0ZXJuIGRpZQpSZWFrdGlvbnNzY2huZWxsZS4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWlnZW50bGljaCBhbnplaWdlLCBhYmVyIGFuemVpZ2UgaXN0IHZvbGwuLi4gKEpvZiwgMTIuIFNlcCAxOTk0LCAxMzowODozMyk6CiBXZW5uIERpciBkYXMgU3RlcmJlbiB6dSB0ZXVlciBpc3QsIHZlcnN1Y2ggZG9jaCwgZXMgenUgdmVybWVpZGVuIC4uLiBkYXMKbWFuIGlyZ2VuZHdvIGVpbmVuIE5hY2h0ZWlsIGR1cmNocyBTdGVyYmVuIGhhYmVuIHNvbGx0ZSwgaXN0IGRvY2gga2xhci4KCiBKb2YKClBTOiBNaW5pbWFsZSBBcmJlaXQsIGRhcyB6dSBhZW5kZXJuLCBpc3QgZXMuIE1pbmltYWxlIEFyYmVpdCB3YWVyZSBlcyBhdWNoLAogICAgYXVzenViYXVlbiwgZGFzIG1hbiBkdXJjaCBTdGVyYmVuIFhQIHZlcmxpZXJ0LiBNaW5pbWFsZSBBcmJlaXQgd2FlcmUKICAgIGVzIGF1Y2gsIGRlbiBTcGllbGVybiBlaW5lbiBaQVAtQmVmZWhsIHp1IGdlYmVuLCBtaXQgZGVtIGplZGVzIE1vbnN0ZXIKICAgIHNvZm9ydCB0b3QgaXN0LiBNaW5pbWFsZSBBcmJlaXQgd2FlcmUgZXMgYXVjaCwgU3BpZWxlcm4gZWluZW4gQmVmZWhrCiAgICB3ZXJkZV9zZWhlciBvZGVyIHdlcmRlX21hZ2llciB6dSBnZWJlbiwgbWl0IGRlbSBzaWUgc29mb3J0IE1hZ2llcgp3ZXJkZW4uCiAgICBEaWUgRnJhZ2UgaXN0OiBXb3p1ID8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZS1qb2YgKFRob3JpbiwgMTIuIFNlcCAxOTk0LCAxMzozMzo0OCk6CkljaCB3ZWlzcyBuaWNodCwgb2IgaWNoIGRlciBlaW56aWdlIGJpbiwgZGVyIGFiIHVuZCB6dSBtaXQgTW9kZW0gbXVkZGV0Li4uCkFiZXIgYW5zY2hlaW5lbmQgc2luZCBhdWNoIHNvIE1hZ2llciBkaWUgU3BpZWxlcmxlaWRlbiBhYnNvbHV0IHVuYmVrYW5udC4gRGVubgpkYXMgRHUgU3R1c3MgcmVkZXN0ICh1bSBlcyBtYWwgdm9ybmVobSBhdXN6dWRydWVja2VuKSBiencuIGRhcyBkZWluIGFydGlrZWwKZ2VuYXVzb2d1dCBpbiBTY2htYXJybgpzdGVoZW4ga29lbm50ZSBpc3QgZnVlciBtaWNoIGtsYXIgKGljaCB3ZWlzcyBuaWNodCwgb2Igbm9jaCBmdWVyIHdlbikuIERFTk4gOgpEZWluZSBTdGVpZ2VydW5nIG1pdCBYUC1WZXJsdXN0IHVuZCBaQVAgdXN3LiAoc2llaGUgYXJ0aWtlbCkgaXN0IGVudHdlZGVyIGd1dGUKSXJvbmllIG9kZXIgZWluZmFjaCBudXIgU3R1bm5zaW5uLiBEZW5uIHdlbm4gZHUgbWFsIHdpZWRlciBub3JtYWwgc3BpZWxlbgp3dWVyZGVzdCwgd2lyc3QgZHUKZmVzdHN0ZWxsZW4sIGRhc3MgYSkgZGVyIHNwcnVjaCBtaXQgZGVtICd2ZXJtZWlkZSBkYXMgc3RlcmJlbicgamF3b2hsIGthdW0genUKZXJmdWVsbGVuIGlzdCwgYikgZHUgZXMgc28gc2llaHN0LCBkYXMgeHAtdmVybHVzdCBLRUlORSBvZGVyIGVpbmUgR0VSSU5HRQpTdHJhZmUgaXN0LiBEYXp1IG11c3MgaWNoIGRpY2ggdmllbGxlaWNodCBtYWwgYXVma2xhZXJlbiA6IElDSCBTUElFTEUgSElFUgpOSUNIVCwgVU0gTlVSIE1PTlNURVIgWlUKTUVUWkVMTiwgc29uZGVybiB1bSBtaWNoIGFuIG5ldWVuIEF1ZmdhYmVuIHp1IG1lc3Nlbiwgd28gbWFuIGR1cmNoIEZhbGxlbgpzY2huZWxsIHN0ZXJiZW4ga2Fubiwgd2VubiBtYW4gb2huZSBLb21wbGV0dGxvZXN1bmcgc3BpZWx0LCB1bmQgdW0gYWIgdW5kIHp1Cm5ldWUgTW9uc3RlciB6dSB0ZXN0ZW4sIHouYi4gZGllIEh5ZHJhLiBVbmQgZGFzIG1hbiBiZWkgc293YXMgZHJhdWZnZWh0LCBpc3QKdW52ZXJtZWlkbGljaCwgd29iZWkgZGFubgpkZXIgWFAtVmVybHVzdCBzY2hvbiBzZWhyIHNjaG1lcnp0Li4uIERhbm4gYWJlciBub2NoIHp1c2FldHpsaWNoIGR1cmNoIDUKTWludXRlbiBMYW5nZXdlaWxlIGJlc3RyYWZ0IHp1IHdlcmRlbiwgd29iZWkgbWFuIHNpY2ggbm9jaCBuaWNodCBtYWwgbWl0CmFuZGVyZW4gdW50ZXJoYWx0ZW4ga2FubiwgaXN0IG1laW5lciBBbnNpY2h0IG5hY2ggZWluZmFjaCB6dSB2aWVsLi4uIE1hZyBzZWluLApkYXMgbWFuY2hlbiBkaWUgWFAgbmljaHQgc28Kc2VociBzY2htZXJ6ZW4sIHdlaWwgc2llIGRhbm4gcmVjaG5lbiA6IDUwMDAwMCBYUCwgZGFzIHNpbmQgc291bmRzb3ZpZWwKRWlzcmllc2VuL09ya3MvR29ibGlucy4uLiBBYmVyIGljaCBnbGF1YmUgamF3b2hsLCBkYXMgZGFyaW4gZGllIE1pbmRlcmhlaXQKYmVzdGVodC4gRGVzd2VnZW4gbW9lY2h0ZSBpY2ggaW1tZXIgbm9jaCBiZXdpcmtlbiwgZGFzIGRpZSBUb2Rlc3NlcXVlbnoKJ21lbnNjaGxpY2hlcicgd2lyZC4gV2VubiBzY2hvbiBkaWUKU2VxdWVueiBuaWNodCB1bnRlcmJyb2NoZW4gd2VyZGVuIGRhcmYsIHdhcyBpY2ggc2Nob24gbmljaHQgdmVyc3RlaGUsIGRhbm4KYmF1dCBkb2NoIHdlbmlnc3RlbnMgdGVpbGUgbWl0IGVpbiBiencuIGRpZSBLYW5hZWxlLgpVbmQgd2llIGdlc2FndCA6IGRpciwgam9mLCBrYW5uIGljaCBudXIgZW1wZmVobGVuLCBtYWwgd2llZGVyIFNwaWVsZXIgenUKbWFjaGVuLCBkZW5uIE1hZ2llciB6dSBzZWluIGhlaXNzdCBqYSBuaWNodCBkYXNzIG1hbiBzZWluZSBTcGllbGVyemVpdAp2ZXJnaXNzdC4KU293ZWl0IGZ1ZXIgamV0enQsIGVyd2FydGUgZGVpbiBGbGFtZSwgVEhPUklOIC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZS1ib2luZyAoRmxpbnRuYWlsLCAxMi4gU2VwIDE5OTQsIDE3OjQyOjUyKToKYmluIHp3YXIgaW1tZXIgbnVyIHZvbm5lciBGSCBhdXMgZHJpbiwgYmluIGFiZXIgdHJvdHpkZW0gZGVmaW5pdGl2IEZVRVIKRW5kZSEhISEKCiAgICAgICAgICAgICAgICAgICAgRmxpbnQsIGthdWZ0IHNpY2ggYmVzdGltbXQgYXVjaCBiYWxkIG5lbiBNb2RlbSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FmZmVuLi4uIChGbGludG5haWwsIDEyLiBTZXAgMTk5NCwgMTc6NDc6MzcpOgpOYWphIFF1c2ltb2RvLi4uLmFiZXIgbnVyIHdlbm4gbWFuIHNpY2ggbmljaHQgbWl0IFdhZmZlbgphdXNrZW5udC4uLnZpZWxsZWljaHQgZWluZSBPcHRpb24gZnVlciBkaWUgS2FlbXBmZXItR2lsZGU/Pz8/IApXYWZmZW5mZXJ0aWdrZWl0IChLbGluZ2Vud2lzc2VuPykKCiAgRmxpbnQsIGVpbmdlZmxlaXNjaHRlciBSb2xsZW5zcGllbGVyIGhhZXRlIGdlcm5lIGVpbmUgTmFnaW5hdGEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUtam9mIChKb2YsIDEyLiBTZXAgMTk5NCwgMTg6MTA6NDMpOgogSWNoIGhvZXJlIGltbWVyIG51ciAnd2llZGVyIFNwaWVsZXInIC0gaWNoIHdhciBoaWVyIG5pZSBTcGllbGVyIDopCkRpZSBtZWlzc3RlbiBGYWxsZW4gc2luZCBtaXQgZWluaWdlbSBVZWJlcmxlZ2VuIGRvY2ggd29obCBhdWNoIG9obmUgU3RlcmJlbgp6dSBtZWlzdGVybiwgb2RlciA/IEtsZWluZXIgVHJvc3QgZnVlciBEaWNoOiBBdWYgZGllIERhdWVyIHdpcmQgc2ljaCBkaWUKWmFobCBkZXIgVG9kZXNzZXF1ZW56ZW4gZXJob2VoZW4sIHVuZCBkaWUgbmV1ZW4gd2VyZGVuIGt1ZXJ6ZXIgYWxzIGRpZQpqZXR6dCAnbmV1ZScuIERpZSBDaGFuY2UsIGluIGRpZSBsYW5nZSBUb2Rlc3NlcXVlbnogenUgZ2VyYXRlbiwgc2lua3QgZGFtaXQuClVuZCwgbWFsIGdhbnogaW0gRXJuc3QsIGRhcyBTdGVyYmVuIGhpZXIgaXN0IGRvY2ggaW4gZGVyIFRhdCByZWxhdGl2CidiaWxsaWcKJzogaW4gYW5kZXJlbiBNdWRzIGdlaGVuIGRhYmVpIGFsbGUgU3RhdHMgdW0gMSBydW50ZXIgLSBkYXMgaW1tZXJoaW4gZXJzcGFyZW4Kd2lyIGV1Y2ggZG9jaCBoaWVyIDspIChzdGVsbCBEaXIgZGFzIG1hbCB2b3I6IFN0YXRzIGdpbmdlbiB1bSAxIHJ1bnRlciwgdW5kCkR1IGthbm5zdCBkYWZ1ZXIgNCB6dWZhZWxsaWdlIG5ldWUgWlRzIGZpbmRlbiAuLi4gZGFzIFdBRVJFIGRvY2ggaGFydCwgb2Rlcj8pCgogVHNjaHVlc3MsCiAgICAgSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG9kZXNzZXF1ZW56IChHdWxkdWthdCwgMTIuIFNlcCAxOTk0LCAxODoxMDo0NSk6Ckd1bCBEdWthdCBpc3QgYXVjaCBkYWZ1ZXIsIGRhc3MgbWFuIGRpZSBUb2Rlc3NlcXVlbnogYWJrdWVyemVuIGthbm4uClZpZWxsaWNodCBrb2VubnRlIG1hbiBkYXMgc28gcmVnZWxuLCBkYXNzIGRpZSB6ZXJlbW9uaWUgamVkZXNtYWwgZWluZSBtaW51dGUKa3VlcnplciB3aXJkLiBTbyBsaWVzdCBtYW4gYW0gYW5mYW5nIGFsbGVzLCBuYWNoIGRlbSA1LiBTdGVyYmVuIGtyaWVndCBtYW4KZGFubiB3aXJrbGljaCBudXIgbm9jaCBlaW4gR2FtZS1PdmVyLiB+cgoKU2llIHdpcmQgbmFlbWxpY2ggbWl0IGRlciBaZWl0IHdpcmtsaWNoIGxhbmd3ZWlsaWcKCkd1bCBEdWthdCwgSGVycnNjaGVyIGF1ZiBEU04KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWZmZW5ncm9lc3NlIChGbGludG5haWwsIDEyLiBTZXAgMTk5NCwgMTg6MTc6MTQpOgpXYXJ1bSBIb2JvPz8/CgpXbyBzdGVodCBpbSBNRyBnZXNjaHJpZWJlbiwgZGFzcyBlaW4gWndlcmcgc29vb28gdmllbCBrbGVpbmVyIGlzdCBhbHMgZWluCkVsZj8/Pz8gKHNpZWhlIGF1Y2ggZmVobGVuZGUgUmFzc2VuYmVzY2hyZWlidW5nZW4gYmVpIFNwaWVsZXJhdXN3YWhsISkKCiAgICAgICAgRmxpbnQsIGRlciBad2VyZyBkZXIgdWViZXIgc2ljaCBoaW5hdXN3YWVjaHN0Li4udGFnIGZ1ZXIgdGFnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUtam9mIChJc25vZ29vZCwgMTIuIFNlcCAxOTk0LCAxODoyMzo1Mik6CkFsc28gaWNoIG11c3MgVGhvcmluIHJlY2h0IGdlYmVuLiBFaW5lIFRvZGVzc2VxdWVueiwgZGllIGRlbiBTcGllbGVyIHp1IDUKTWludXRlbiB1bm51ZXR6ZW0gV2FydGVuIHZlcnVydGVpbHQsIGlzdCBlaW5mYWNoIG5pY2h0IG5hY2h6dXZvbGx6aWVoZW4uIERhcwpTdGVyYmVuIGR1cmNoIEVQIEFienVnIGJlc3RyYWZ0IHdpcmQsIGlzdCBlaW5lIFNhY2hlLiBBYmVyIGljaCBoYXNzZSBuaWNodHMKbWVociBhbHMgd2FydGVuIHp1IG11ZXNzZW4uCkRpZSBTZXF1ZW56IGlzdCBqYSB3aXJrbGljaCBuZXR0LCBiZWltIGVyc3RlbiBNYWwsIGFiZXIgZGFuYWNoIC4uLgpJY2ggc2VoZSBlaW5mYWNoIGtlaW5lbiBHcnVuZCwgd2FydW0gc2llIG5pY2h0IGFiZ2Vicm9jaGVuIHdlcmRlbiBzb2xsLCB3ZW5uCmRhZHVyY2ggZGllIHNvbnN0aWdlbiBOYWNodGVpbGUgYmVzdGVoZW4gYmxlaWJlbi4KQW5zb25zdGVuIHdhZXJlIHdpcmtsaWNoIGRhcyBtaW5kZXN0ZSwgZGFzcyBtYW4gc2ljaCBkYW5uIGhhbHQgbWl0IGFuZGVyZW4KdW50ZXJoYWx0ZW4ga2Fubiwgb2RlciBhbiBhbGlhc2VuIHJ1bWJhc3RlbHQgZXRjLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG9kZXNzZXF1ZW56IGRpZSB4LXRlIChHcmltbWJvcm4sIDEyLiBTZXAgMTk5NCwgMTg6MjQ6MDApOgoKTnVyIHVtIHp1IHplaWdlbiwgZGFzcyBlcyBoaWVyIG5pY2h0IHVtIE1hZ2llciBnZWdlbiBTcGllbGVyIGdlaHQ6CkljaCBiaW4gbmljaHQgZGVyIE1laW51bmcsIGRhc3MgbWFuIGJlaSBkZXIgVG9kZXNzZXF1ZW56IGF1c3N0ZWlnZW4gc29sbHRlLgpEZW5uIGVyc3RlbnMgaXN0IGRlciBUb2Qga2VpbmUgQmVsb2hudW5nIHNvbmRlcm4gZWluIFplaWNoZW4sIGRhc3MgbWFuIHdhcwpmYXNjaCBnZW1hY2h0IGhhdC4KWndlaXRlbnMgc29sbHRlIG1hbiBkZW4gVG9kIHNjaG9uIGdhbnogYXVza29zdGVuLgpEcml0dGVucyBpc3QgZXMgKG1laW5lciBFcmZhaHJ1bmcgbmFjaCkgZ2FueiBndXQsIHdlbm4gbWFuIHdpZWRlciBldHdhcwpBZHJlbmFsaW4gYXVzIGRlbSBCbHV0IGVudGZlcm5lbiBrYW5uLiBNaXQgeml0dGVybmRlbiBIYWVuZGVuIGhhdSBpY2ggaW1tZXIKbmViZW4gZGllIFRhc3Rlbi4KCkRhcyBaZWl0YXJndW1lbnQgZmluZGUgaWNoIGVoZXIga2luZGlzY2g6IEVzIGRhdWVydCBsYWVuZ2VyLCBzaWNoIGVpbiBuZXVlcwpTQi1BbXVsZXR0IHp1IGhvbGVuIChnZXN0ZXJuIGdlc3RvcHB0OiA4OjQwKSBhbHMgc2ljaCBkaWUgU2VxdWVueiBhbnp1c2VoZW4uClZvbiByZXNldHMgYW4gZGl2LiBTdGVsbGVuIHp1IHNjaHdlaWdlbi4uLgpTb2xhbmdlIG1hbiBub2NoIHBhc3NpdiBhbSBTcGllbCB0ZWlsbmltbXQgKEthbmFlbGUsIE1pdHRlaWx1bmdlbikga2FubiBpY2gKZGFtaXQgbGViZW4uIEJ6dy4gdW1nZWtlaHJ0Li4uCgpOZXVlcmRpbmdzIHdpZWRlciBvZWZ0ZXIgc3RlcmJlbmQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmUtam9mIChGbGludG5haWwsIDEyLiBTZXAgMTk5NCwgMTg6Mjg6MjEpOgoKSmV0enQgZ2VodCB3aWVkZXIgZGllc2Ugc2llaCBlcyBkb2NoIG1hbCBzby0gRGlza3Vzc2lvbiBsb3MuLi4uLi4uCkVocmxpY2ggSm9mLCB3ZW5uIGR1IE5JRSBTcGllbGVyIHdhcnN0LCB3aXJzdCBkdSBTcGllbGVyLVByb2JsZW1lIGF1Y2ggbnVyCnNjaHdlciB2ZXJzdGVoZW4uLi4hIExpZWd0IGluIGRlciBOYXR1ciBkZXIgU2FjaGUsIGRhIG11c3MgbWFuIG5hZW1saWNoCnppZW1saWNoIHF1ZXIgZGVua2VuISBadSBkZXIgU2FjaGUgbWl0IGRlbiBTdGF0cy4uLndpZSBpc3QgZGFzcyBkZW4gaW4gYW5kZXJlbgpNdWRzLi4ubXVzcyBtYW4gZGEgYXVjaCAodGVpd2Vpc2UgZXh0cmVtIHNjaHdlcikgdmVyc3RlY2t0ZSBaVCdzIHN1Y2hlbiwgb2RlcgpzdGVpZ2VuIGRhIGRpZSBTdGF0cyBldmVudHVlbGwgYXVjaCBtaXQgZGVyIFN0dWZlPz8/CgpVbmQgc3RlcmJlbiB2ZXJtZWlkZW4uLi4uLm1hbiBtZXJrdCxkYXNzIGR1IG5pY2h0IFNwaWVsZXIgd2Fyc3QuLi4uZ3VjayBkaXIKbWFsIFRhcmtvIFJldWIgYW4gISEhISAgb2RlciBtYWNoIGRpciBtYWwgbmVuIFp3ZWl0aSB1bmQga2xhcHBlciBhbGxlIFF1ZXN0cwphYiBkaWUgZHUgenVtIFNlaGVyLUxldmVsIGJyYXVjaHN0Li4ua2xhciBkYXMgbWFjaHQgU3Bhc3MsIHdlbm4gbmljaHQgZWluaWdlCmZ1ZXIgZGVuIFByb2dyYW1taWVyZXIgZWluZGV1dGlnZSBCZXNjaHJlaWJ1bmdlbiB2b24gU3BpZWxlcm4gYWIgdW5kIGFuIGFuZGVycwooenVtIFRlaWwgdG9lZGxpY2ghKSBhdXNnZWxlZ3Qgd2VyZGVuLCBkYSBzaWUgbmljaHQgZGllIEdlc2NoaWNodGUgZGVyIFF1ZXN0Cmtlbm5lbiB1bmQgZGFubiBlcnN0IHByb2dyYW1taWVyZW4sIHNvbmRlciBkaWVzIEdlc2NoaWNodGUgJ2Vyc3BpZWxlbicuLi4uZGVyClp1Z2FuZyB6dXIgUXVlc3QgaXN0IGdhZW56bGljaCBhbmRlcnMgdW5kIHZpZWwgKCEpIGdlZmFlaHJsaWNoZXIhCgogICAgICAgICBGbGludCwgVGhvcmluIHZlcnN0ZWhlbmQgdW5kIGxlaWNodCB2ZXJhZXJnZXQgd2FydGV0IGpldHp0IGF1Y2ggYXVmCkZsYW1lcyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvZCBvZGVyIG5pY2h0IFRvZCAoQ2F0d2VhemxlLCAxMi4gU2VwIDE5OTQsIDE5OjM3OjI3KToKSG0sIGljaCBrYW5uIG1pciBuaWNodCBoZWxmZW4sIGFiZXIgaWNoIGZpbmRlIGRpZSBSZWNobnVuZ2VuIHZvbgpCb2luZyB1bmQgR3JpbW1ib3JuIHNpbmQgZHVyY2hhdXMgZ3JlaWZlbmQuIEVzIGtvbW10IHZpZWwgb2VmdGVyIHZvciwKZGFzIG1hbiBhdWYgbmVuIFJlYm9vdCB3YXJ0ZXQsIGFscyBkYXMgbWFuIGRpZSBUb2Rlc3NlcXVlbnogZHVyY2gtCmxpZXN0IChkYXMgd2Vpc3Mgc29nYXIgaWNoLCBtYWdpZXIgc2VpdCBmYXN0IDIgamFocmVuISEpLgpPaywgYmVpbSByZWJvb3Qgd2FydGVuIGthbm4gbWFuIHF1YXRzY2hlbiBvZGVyIHplaXR1bmcgbGVzZW4sIGFiZXIKaWNoIGJpbiBkZXIgTWVpbnVuZywgd2VubiBtYW4gZ2VzdG9yYmVuIGlzdCAoYXVzIFVud2lzc2VuaGVpdCBvZGVyCkR1bW1oZWl0IGlzdCBoaWVyIG5lIGdhbnogYW5kZXJlIEZyYWdlKSBzb2xsdGUgbWFuIGF1Y2ggYmVzdHJhZnQKd2VyZGVuIHVuZCBkYSBmaW5kZSBpY2ggZGllIFRvZGVzc2VxdWVueiBudXIgcmVjaHQgdW5kIGJpbGxpZy4KKHNlbHRzYW1lcyAnZGV1dHNjaCcgZm9ybXVsaWVyIGljaCBoZXV0ZS4uLm5hamEsIHp1IHNwYWV0IDotKSApCkF1c3NlcmRlbSBrYW5uIG1hbiBpbiBkZXJhcnRpZ2VuIFBhdXNlbiBqYSBtYWwgZWluIFBhYXIgUkwtbGlmZQpBa3Rpdml0YWV0ZW4gZXJsZWRpZ2VuKFJMIGlzdCBkaWUgd2VsdCBhdXNzZXJoYWxiIGRpZXNlcyBpbnRlcmVzc2FudGVuCmxldWNodGVuZGVuIFZpZXJlY2tzKS4gWi5CLiBlaW4gd2VuaWcgbWl0IGRlbiBBdWdlbnp3aW5rZXJuIHVtCndpZWRlciBldHdhcyBXYXNzZXIgaW4gZGllIGF1c2dldHJvY2tuZXRlbiBUcmFlbmVuc2FlY2tlIHp1IGJyaW5nZW4sCm9kZXIgZWluIHBhYXIgdHJvcGZlbiB3YXNzZXIgYXVmIG5lbiBIYXVmZW4gS2FmZmVlIHRyYWV1ZmVsbiwgZGFtaXQKbWFuIGRvY2ggbm9jaCBiaXMgenVtIFJMLU1vcmdlbmdyYXVlbiBkdXJjaGhhZWx0IDopLCBvZGVyIGRpZQpTY2htZXJ6ZW4gaW0gVW50ZXJsZWliIGJlc2VpdGlnZW4sIGluZGVtIG1hbiBkdXJjaCBkaWUgVHVlciBtaXQKZGVyIERvcHBlbG51bGwgZ2VodC4gRGEgc29sbHRlIERpciBkb2NoIHdpcmtsaWNoIGdlbnVnIGVpbmZhbGxlbixvZGVyPwoKQWxzbywgbmljaHQgZ2xlaWNoIHdlaW5lbiwgd2VubiBtYW4gbWFsIHdpZWRlciBuZSBrbGl0emVrbGVpbmUKUGF1c2UgaGF0LCBzb25kZXJuIGxpZWJlciB3YXJ0ZW4sIGJpcyBzaWNoIGplbWFuZCBlcmJhcm10IGVpbiBwYWFyCm5ldWUga3VlcnplcmUgVG9kZXNzZXF1ZW56ZW4gc2NocmVpYnQuIEhtLCBhbSBiZXN0ZW4gbWFjaHN0ZXMKc2VsYnN0LiBGZXJ0aWdlbiBUZXh0IGFucyBtdWQgc2NoaWNrZW4gKG11ZEB1bmktbXVlbnN0ZXIuZGUpLgpoaWhpLCBpY2ggd2V0dGUgZnVlciBkZW4gVm9yc2NobGFnIGVyd3Vlcmd0IG1pY2ggSm9mIDotKQpCaXR0ZSBuaWNodCB2b2xsbXVlbGxlbiwgc29uZGVybiBudXIgc2lubnZvbGxlcyBzY2hpY2tlbi4KWW91cnMgdHJ1bHksCiAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlLWpvZiAoSm9mLCAxMi4gU2VwIDE5OTQsIDE5OjQwOjA1KToKIE5hamEgTklFIFNwaWVsZXIgc3RpbW10IG5hdHVlcmxpY2ggYXVjaCBuaWNodCAtIHZvciBkZXIgR3J1ZW5kdW5nIHZvbgpNb3JnZW5HcmF1ZW4gaGFiZSBpY2ggZGVuIHN0ZWluaWdlbiBXZWcgdm9tIFBsYXllciB6dW0gV2l6YXJkIGluIE5pZ2h0RmFsbApiZXNjaHJpdHRlbi4gSGFiZSBtaWNoIGplZGVzbWFsIHRpZXJpc2NoIGdlYWVyZ2VydCwgd2VubiBpY2ggc3RhcmIuIEhhYmUKbWl0IGRlciAobmljaHQgYWJicmVjaGJhcmVuKSBUb2Rlc3NlcXVlbnogZ2VsZWJ0IC4uLiBUYXJrbyBSZXViIGlzdCBpbnNvZmVybgplaW5lIEF1c25haG1lLCBkYXNzIG1hbiBkb3J0IGluIGRlciBUYXQgc3RlcmJlbiBtdXNzIC0gaXN0IGFiZXIgYWljaCBkaWUKRUlOWklHRSBRdWVzdCwgaW4gZGVyIGRhcyBub2V0aWcgaXN0IChnbGF1YmUgaWNoKS4gQW5zb25zdGVuIGlzdCBkZXIgU3BpZWxlcgpzZWxic3Qgc2NodWxkLiBVZWJyaWdlbnMgaXN0IGluIGRlbiBtZWlzc3RlbiBNdWRzIGRpZSBUb2Rlc3NlcXVlbnogbmljaHQKYWJicmVjaGJhci4KIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRvZCBvZGVyIG5pY2h0IFRvZCAoQXNtb2RpcywgMTIuIFNlcCAxOTk0LCAxOTo0NTo1Nik6CktvbWlzY2gsIGF1ZiBkZW4gUmVib290IHdhcnRldCBtYW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCA6KQoKQWJlciBDYXR3ZWF6bGUsIGR1IG1laW50ZXN0IHdhaHJzY2hlaW5saWNoIFJlc2V0IC4KCiAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiByZS1qb2YgKEFzbW9kaXMsIDEyLiBTZXAgMTk5NCwgMjA6MDE6MjYpOgpVbSBub2NobWFsIGF1ZiBUYXJrbyBSZXViIHp1cnVlY2t6dWtvbW1lbiwgbWFuIGthbm4gZGllIFplaXQgZGVzClN0ZXJiZW5zIGphIG51dHplbiwgdW0gZGFzIEdpZnQgd2lya2VuIHp1IGxhc3NlbiwgZGEgbXVzcyBtYW4gamEgc29uc3QKYXVjaCBlaW4gcGFhciBNaW51dGVuIHdhcnRlbiwgYWxzbyB6aWVodCBkaWVzZXMgQXJndW1lbnQgbmljaHQgISEKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzdCBtaXQgcnVmZT8gKElzbm9nb29kLCAxMy4gU2VwIDE5OTQsIDAyOjE3OjM4KToKSGFsbG8sCkhhYnQgaWhyIHdhcyBhbiBydWZlIGdlYWVuZGVydD8gSWNoIGhhYiAxMzggTWFnaWUgdW5kIG11c3MgYW5nZWJsaWNoIGVyc3RtYWwKd2llZGVyIG1hZ2lzY2hlIEtyYWVmdGUgc2FtbWVsbiwgemllbWxpY2ggdWVibGVyIFNjaGVyeiBvZGVyIG5pY2h0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUtTkYgKFRob3JpbiwgMTMuIFNlcCAxOTk0LCAwOTo1Mjo0NCk6CkluIE5GIHN0aXJidCBtYW4gYWJlciwgd2VubiBtYW4gc3RpcmJ0KGJpbiBudXIgZWlubWFsIGdlc3RvcmJlbiBkb3J0IGF1ZiBkZW0Kd2VnIHp1bSB3aXopLCBudXIgYW4gTW9uc3Rlcm4gdW5kIG5pY2h0IGFuIEZhbGxlbi4gV2llIHNvbGwgbWFuIHouQi4gb2huZQpMb2VzdW5nIHdpc3NlbiwgZGFzcyBtYW4KYmVpIGRlciBEdW5jdG9uLVF1ZXN0IGluIGRpZSBTY2hsdWNodCBzcHJpbmdlbiBtdXNzID8gV2VubiBtYW4gbm9ybWFsIHNwaWVsdCwKd2Vpc3MgbWFuIHp1IGRlbSBaZWl0cHVua3QgZ2FyIG5pY2h0LCBkYXNzIGRvcnQgbmUgU2NobHVjaHQgaXN0ID09IFRPRC4gVW5kCmRhbm4gc2FnIG1hbCwgZGFzcyBkYSBkZXIgU3BpZWxlciBTY2h1bGQgaXN0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlLWpvZiAoTGksIDEzLiBTZXAgMTk5NCwgMTA6MDQ6MjgpOgpqZWRlbSBzZWxic3QgdWViZXJsYXNzZW4gYmxlaWJlbiwgd2llIHRpZWYgdW5kIHdpZSB2b2xsc3RhZW5kaWcgZXIgaW5zIE1VZAplaW50YXVjaGVuIHdpbGwuCkxJCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlLWpvZiAoTGksIDEzLiBTZXAgMTk5NCwgMTA6MzQ6MTkpOgpIbS4gaXJnZW5kd2llIGlzdCBudXIgZGVyIFJlc3QgZGVzIEFydGlrZWxzIGVyc2NoaWVuZW4uIEFsc28gZGFzIGdhbnplCm5vY2htYWw6CkljaCBmaW5kZSBkaWVzZSBnYW56ZSBkaXNrdXNzaW9uIHVlYmVyIERpZSBUb2Rlc3NlcXVlbnogZXR3YXMga29taXNjaCB1bmQKbXVzcyBUaG9yaW4gdm9sbCB6dXN0aW1tZW4uIEF1c3NlcmRlbSBlaW4gV29ydCBhbiBtZWluZSBNYWdpZXJrb2xsZWdlbiB1bmQKR29ldHRlcjoKSWNoIGthbm4gYWxsZSBHcnVlbmRlLCBkaWUgZnVlciBkaWUgQmVpYmVoYWx0dW5nIGRlciBUb2Rlc3NlcXVlbnogc28gd2llIHNpZQppc3QsIG5hY2h2b2xsemllaGVuLiBKb2ZzIEFyZ3VtZW50ZSBmdWVyIGRpZSBUb2Rlc3NlcXVlbnogdW5kIGRhcyBTdGVyYmVuIGlzdAphdXVjaCBrbGFyLCBhYmVyIHVtIGRhcyBTdGVyYmVuIHVuZCBkZW4gVmVybHVzdCBkZXIgWHBzIGdlaHQgZXMgaGllciBqYSBnYXIKbmljaHQuCldhYXJ1bSBzb2xsdGUgbWFuIGRlbiBzcGllbGVybiBuaWNodCBpaHJlIFd1ZW5zY2hlIGJlenVlZ2xpY2ggZGVyCnRvZGVzc2Vxd3VlbnogZW50c3ByZWNoZW4sIGF1Y2ggd2VubiB2aWVsZSBHcnVlbmRlIGZ1ZXIgZGllIGpldHpvZ2UgVmVyc2lvbgpzcHJlY2hlbi4KV0VubiBkaWUgU3BpZWxlciBkaWUgdG9kZXNzZXF1ZW56IHVudGVyYnJlY2hlbiB3b2xsZW4sIGRhbm4gbGFzc3Qgc2kgZG9jaCEKV2VubiBzaWUgc2ljaCB1ZWJlciBkaWUgS2FuYWVsZSB1bnRlcmhhbHRlbiB3b2xsZW4sIGRhbm4gbGFzc3Qgc2kgZG9jaCEgQWxsCkFyZ3VtZW50ZSwgdm9uIFdlZ2VuLCBBZHJlbmFsaW5zcGllZ2VsIGJlcnVoaWdlbiB1bmQgYXVmIEtsbyBnZWhlbiwgc2Nob2VuIHVuZApndXQgYWJlciBkYXMgTVVEIHdpcmQgZG9jaCB2b24gTWFnaWVyIGZ1ZXIgbWFnaWVyIHVuZCBTcGllbGVyIGdlc2NocmllYmVuLCB1bmQKamVkZXIgbXVzcyBkb2NoIHNlbG9iZXIgc2VoZW4sIHdpZSB3ZWl0IGVyIGlucyBNVWQgZWludGF1Y2hlbiB3aWxsLiBJY2ggZmluZGUKYXVjaCwgZGFzc3MgbWFuIG1hbCA1bWluIHdhcnRlbiBrYW5uLCBhYmVyIHdlciBlcyBuaWNodCBtb2VjaHRlLCBkYW5uIGxhc3N0CnNpZSBkb2NoIGF1c3N0ZWlnZW4hCkVzIGdpYnQgZWluIHBhYXIgUHVua3RlLCBhbiBkZW5lbiBkYXJmIG5pY2h0IGdlcnVldHRsZXQgd2VyZGVuLCBkaWUgbWFjaGVuCmRpZXNlcyBNVWQgYXVzIHVuZCBkYW1pdCBQdW5rdC4gRGFzIHNlaGUgaWNoIGF1Y2ggc28uIEFiZXIgb2IgbWFuIGRpZQpUb2RlZXNzZXF1ZW56IHVudGVyYnJlY2hlbiBkYXJmIG9kZXIgbmljaHQsIGlzdCBkYXMgbmljaHQgU0NoLi4uIGVnYWw/IFNvbGx0ZW4Kd2lyIHVuc2VyZSBHZWRhbmtlbiBuaWNodCBsaWViZXIgYXVmIHdpY2h0aWdlcmUgRGluZ2UgcmljaHRlbj8KSWNoIGJpbiBhdWNoIHNhdWVyLCB3ZW5uIGRpZSBzcGlsZXIgaW1tZXIgbnVyIG1lY2tlcm4sIHdhbm4gZ2lidCBlcyBlbmRsaWNoCnNlaGVyaGFldXNlciwgd2FydW0gd2lyZCBkaWVzIG5pY2h0LCB3YXJ1bSB3aXJkIGRhcyBuaWNodCwgZGVubiAnS0VJTiBpY2gKd2llZGVyaG9sZSwgS0VJTiBTcGllbGVyLCBkZXIgbmljaHQgYXVjaCBpcmdlbmR3byBpbiBlaW5lbSBhbmRlcmVuIE1VRCBNYWdpZXIKaXN0LCBtYWNodCBzaWNoIGVpbmUgVm9yc3RlbGx1bmcgZGF2b24sIHdpZXZpZWwgQXJiZWl0IGluIGVpbmVtIGVpbnppZ2VuIFJhdW0Kc3RlY2t0LgpUcm90emRlbSBmaW5kZSBpY2gsIGRhc3MgbWFuIGluIGRpZXNlbSBGYWxsIGRlbiBXdWVuc2NoZW4gZGVyIFNwaWVsZXIgcnVoaWcKbmFjaGdlYmVuIGthbm4uIE9rLCBpY2ggd2Vpc3MsIGRhcyBNVWQgaXN0IG5pY2h0IGRlbW9rcmF0aXNjaCwgaGVpc3N0IGVzIGpldHp0CndpZWRlciwgaWNoIGZpbmRlIGRhcyBhdWNoIG9rIChzdGVsbHQgRXVjaCBtYWwgZGFzIENoYW9zIHZvciEpLCBhYmVyIHdpcgpzb2xsdGVuIG5pY2h0IHZlcmdlc3NlbiwgZGFzcyBkYXMgTVVEIGF1Y2ggZnVlciBTcGllbGVyIGdlbWFjaHQgd2lyZCwgdW5kCnNvbGFuZ2UgYW4gZGVuIFBmZWlsZXJuIGRpZXNlcyBNVUQgKFpUIFN5c3RlbSwga2VpbmUgQmFuaykgdXN3LiBuaWNodApnZXJ1ZXR0bGV0IHdpcmQsIGthbm4gbWFuIGRvY2ggKG5vY2ggZGF6dSBpbiBzbyBlaW5lbiBwdW5rdCB3aWUgZGVyClRvZGVzc2VxdWVueikgbWFsIGRpZSBzZXF1ZW56IHNvIGhhbHRlbiwgd2llIGVzIGRpZSBzcGllbGVyIHd1ZW5zY2hlbiwgdW5kCm5pY2h0IHNvIHdpZSBlcyBkaWUgTWFnaWVyIHdvbGxlbi4gQnJpY2h0IGRhZHVyY2ggZGllIE9yZG51bmcgZGVzIE1VRAp6dXNhbW1lbiwgd2VubiBlaW5tYWwgZXR3YXMgcmVhbGlzaWVydCB3aXJkLCB3YXMgZGllIE1hZ2llciB1bmcgZ29ldHRlcgplaWdlbnRsaWNoIG5pY2h0IG1vZWNodGVuPyBJY2ggZ2xhdWJlIG5pY2h0LgpBbHNvLCBsYXNzdCB1bnMgZGllIFRvZGVzc2VxdWVueiBhZW5kZXJuIHVuZCBkYXMgVGhlbWEgdmVyZ2Vzc2VuIQoKTGkKKHNvcnJ5IGZ1ZXIgZGllIHZpZWxlbiB0eXBvcyB1bmQgZGVuIHZpZWxlaWNodCB2ZXJ3aXJyZW5kZW4gU2F0emF1ZmJhdSwgYWJlcgppY2ggaGFiZSBlaW5mYWNoIGRyYXVmbG9zZ2VzY2hyaWViZW4hKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBtYWwgc28genVtIFNjaG5lZW1hbm5xdWVzdCAoVGhvcmluLCAxMy4gU2VwIDE5OTQsIDE1OjI3OjMxKToKSGksIGljaCB3b2xsdGUgbWFsIG5lIChva2F5LCBDYXQsIGRlc3RydWt0aXZlKSBNZWludW5nIHp1bSBTY2huZWVtYW5ucXVlc3QKZ2ViZW4uIFdpZSB2aWVsZSB3aXNzZW4sIGlzdCBkaWVzZXIgUXVlc3QgYXVzIFVuaXRvcGlhIGFkYXB0aWVydC4gTmljaHRzCmRhZ2VnZW4gZWluenV3ZW5kZW4sIGFiZXIgMS4pIGlzdCBlciBTRUhSIGxhbmdhdG1pZyB1bmQgMi4pIHNvbGx0ZSBlciBkYW5uCmRvY2ggd2VuaWdzdGVucyBhdWYgTUcKdW1nZXNjaHJpZWJlbiB3ZXJkZW4uIEFiZXIgd2VubiBpY2ggZm9sZ2VuZGVzIGxlc2UgZHJlaHQgc2ljaCBtaXIgZG9jaCBkZXIKTWFnZW4gdW06IHVudCBlaXMgKGJlaW0gRWlzdHJvbGwpIHNvIGluIGV0d2EgJ1p1IGRpZXNlbSBFaXMgZmVobHQgRGlyIG5vY2ggbmUKRXJkYmVlcmUuIFdvIGtvZW5udGUgZXMgc293YXMgZ2ViZW4gPyBWZXJzdWNoIGVzIGRvY2ggbWFsIGltIFNVRURMSUNIRU4KQVVFTkxBTkQnLgpBVSBXRUgsIGthbm4gaWNoIGRhIG51ciBzYWdlbi4uLiBXZW5uIG1hbiBzY2hvbiBRdWVzdHMgdWViZXJuaW1tdCwgc29sbHRlIG1hbgpkb2NoIGF1ZnBhc3Nlbi4uLgpFaW4gaW1tZXIgbm9jaCBsYWNoZW5kZXIgVGhvcmluLCBkZXIgc2ljaCBzY2h3ZXIgd2llZGVyIGVpbmtyaWVndC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgc28genVtIFNjaG5lZW1hbm5xdWVzdCAoQ2F0d2VhemxlLCAxMy4gU2VwIDE5OTQsIDE3OjE3OjAxKToKRGFzIGlzdCBuaWNodCBkZXN0cnVrdGl2LCBkYXMgaXN0IHRvdGtvbWlzY2guCkVpbiB2b3IgTGFjaGVuIGFtIFRpc2NoIGtuYWJiZXJuZGVyLAogICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVhc3Rlcm4gKEZsaW50bmFpbCwgMTMuIFNlcCAxOTk0LCAxOTo0NjowMSk6CkhpIGF1Y2ghCk5hY2ggbWVpbmVyIEFudHdvcnQgenVyIFNjaHdlcnRmcmFnZSBiaW4gaWNoIDItMyBtYWwgYXVmIGVpbmUgTmFnaW5hdGEKYW5nZXNwcm9jaGVuIHdvcmRlbi4gRGFiZWkgZmllbCBtaXIgYXVmLCBkYXNzIGVzIGtlaW4gUXVlc3QgKHVuZCBrZWluZSBSZWdpb24pCmltIFN0aWwgZGVzIGFsdGVuIEphcGFuIGdpYnQuIFZpZWxsZWljaHQgZ2lidCBlcyBqYSBuZW4gYXVmc3RyZWJlbmRlbiBNYWdpZXIsCmRlciBzaWNoIGRpZXNlciBJZGVlIGFubmVobWVuIHdpbGwuIEljaCBmYWVuZHMgc2Nob2VuLCBpbiBuZXIgUmVnaW9uCnJ1bXp1bGF1ZmVuIHdvIGVzIGVpbmUgS2lyc2NoYmx1ZXRlbnplaXQgZ2lidCwgd28gU2FtdXJhaSB2b3IgZWluZW0gU2VwdWt1CkdlZGljaHRlIHZlcmxlc2VuIHVuZCBuZSBUYXNzZSBUZWUgcml0dWVsbCB6dWJlcmVpdGVuLCB3byBlcyB2b24gU2FtdXJhaSwKUm9uaW4sIE5pbmphLCBHZWlzaGEsIFBhZ29kZW4sU2hpbnR1LVRlbXBlbG4gdW5kIFJlaXNmZWxkZXJuIG51ciBzbyB3aW1tZWx0LgpXbyBtYW4gZWluZSBLYXRhbmEgaW4gS29tYmluYXRpb24gbWl0IFdha2l6YXNoaSB6dWVja2VuIGthbm4sIHdvIGVzIGVpbmVtClNodXJpa2VuIHVtIGRpZSBPaHJlbiBmZXR6dCB1bmRzb3dlaXRlciB1bmRzb3dlaXRlci4uLi52aWVsbGVpY2h0IG5pbW10IHNpY2gKamEgamVtYW5kIGRpZXNlciBTYWNoZSBhbi4uLm9kZXIgaGFiIGljaCBuZSBFY2tlIGltIE11ZCB1ZWJlcnNlaGVuPwoKICAgICAgICAgICAgICAgICAgYmlzIGRlbm5lIC4uLkZsaW50LCBkZXIgZ2VybiBhdWNoIG1hbCBlaW4gTXVzYXNoaSB3YWVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NobWFsIHJ1ZmVuIChJc25vZ29vZCwgMTQuIFNlcCAxOTk0LCAwNzowNToxMSk6ClVlYmVycHJ1ZWZ0IGRvY2ggYml0dGUgbWFsIGRhcyBydWZlbiwgbmFjaGRlbSBpY2ggamV0enQgZGllIFJhc3NlbmJvbmkgaGFiZSwKa2FubiBpY2ggendhciB3aWVkZXIgcnVmZW4sIGFiZXIgZXMgaGF0IG1pY2ggbWluZGVzdGVucyAxNDAgTVAgZ2Vrb3N0ZXQuCkFuc29uc3RlbiBpc3QgZGFzIG5lIHRvbGxlIHNhY2hlIG1pdCBkZW4gQm9uaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFYXN0ZXJuIChaYXJkb3osIDE0LiBTZXAgMTk5NCwgMDg6MTc6MTEpOgpTZXB1a3U/IFdhciBkYXMgbmljaHQgZGVyIHJpdHVlbGxlIFNlbGJzdG1vcmQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWFzdGVybiAoTGksIDE0LiBTZXAgMTk5NCwgMDk6MTc6NTYpOgpoaSBGbGludCwgdGhlb3JldGlzY2ggYmluIGljaCBkZWluIE1hbm4sIGFlaCBkZWluIE1BZ2llciwsIGljaCB3dWVyZGUgZ2VybmUKIkVhc3Rlcm4iIHByb2dnZW4sIG51ciBsaWVndCBtaXIgQ2hpbmEgbWVociBhbHMgSmFwYW4uIEFsc28sIGVzIHdpcmQgYmVzdGltbXQKd2FzIGluIGRlciBSaWNodHVuZyBrb21tZW4sIG51ciBvYiBhbHMgZWlnZW5lIFJlZ2lvbiB1bmQgdm9yIGFsbGVuIERpbmdlbgp3YW5uISBzdGVodCBoZXV0ZSBub2NoIGluIGRlbiBTdGVybmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgc28genVtIFNjaG5lZW1hbm5xdWVzdCAoS25vZXJyeSwgMTQuIFNlcCAxOTk0LCAwOTo0OTozNyk6CkljaCBmcmFnIG1pY2ggamEgbnVyIG9iIGVzIG5vZXRpZyBpc3Qgdm9uIGFuZGVyZW4gTXVkcyBRdWVzdHMgZWluenViYXVlbgooa2xhdWVuPykuIEhhYmVuIGRpZSBNYWdpZXIgenUgd2VuaWcgSWRlZW4/IEF1c3NlcmRlbSBmaW5kIGljaCBkaWVzZSBRdWVzdApyZWljaGxpY2ggcmVpemxvcy4gVm9yIGFsbGVtIEFuZmFlbmdlcnF1ZXN0cyBrYW5uIG1hbiBkb2NoIHdpcmtsaWNoIGF1cyBkZW0KQWVybWVsIHNjaHVldHRlbG4uLi4KbWZnIEtub2VycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTnVyIG1hbCBzbyB6dW0gU2NobmVlbWFubnF1ZXN0IChJc25vZ29vZCwgMTQuIFNlcCAxOTk0LCAxMDoxMjowMyk6CkFscyBkaWUgcXVlc3QgZW50c3RhbmRlbiBpc3QsIGdhYnMgaGllciB3YWhyc2NoZWlubGljaCBub2NoIG5pY2h0IHNvIHZpZWxlCk1hZ2llciwgaWNoIGZpbmQgc2llIHp3YXIgYXVjaCBvZWRlLCBhYmVyIHdhcyBzb2xscywgZGEgbXVzcyBtYW4gaGFsdCBkdXJjaC4KVW5kIGRlc3dlZ2VuIGJyYXVjaCBtYW4gamEgbmljaHQgZ2xlaWNoIHNvIHJ1bW1vc2VybgotIHdvIHN0ZWlnZW4gbWVpbmUgY2hhbmNlbj86LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG5lZW1hbm5zcXVlc3QgKEhvYm8sIDE0LiBTZXAgMTk5NCwgMTA6MTY6NTQpOgpEaWVzZSBRdWVzdCBlbnRzdGFuZCBpcmdlbmR3YW5uIEFuZmFuZyBKYW51YXIgZGllc2VuIEphaHJlcy4uLi4gRGEgZ2FiIGVzCnNjaG9uIHppZW1saWNoIHZpZWxlIE1hZ3MuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJzY2h3aW5kZW4gdm9uIEdlZ2Vuc3RhZW5kZW4gKFRob3JpbiwgMTQuIFNlcCAxOTk0LCAxMToxOTowNCk6Ck1pciBpc3QgamV0enQgd2FzIGF1ZmdlZmFsbGVuLCB3byBpY2ggdW0gQXVma2xhZXJ1bmcgYml0dGUgOiBLYW5uIGVzIHNlaW4sCmRhc3MgYWIgdW5kIHp1IEdlZ2Vuc3RhZW5kZSBlaW5mYWNoIHNvIHZlcnNjaHdpbmRlbiA/PyBJY2ggaG9sIG1pciBoZXV0ZQpnZXJhZGUgZGFzIEJTLXNjaHdlcnQsIHdlaWwgaWNoIG1laW5zIHZlcnNjaGVua3QgaGFiLCBkYSBmYWVsbHQgbWlyIGF1ZiwgZGFzcwptZWluIFNjaHVwcGVucGFuemVyIGZlaGx0LgpEYWJlaSB3YXIgd2VkZXIgbWVpbiBUb2QsIG5vY2ggUmVib290LCBub2NoIGthbm4gaWNoIGluIHdlZ3NjaG1laXNzZW4gKGdlaHQKbmljaHQpLiBXb3JhbiBsaWVndCBkYXMgPz8gVW5kIGVzIGlzdCBrZWluIEVpbnplbGZhbGwsIGJlaSBHcmltbWJvcm4gd2FyIGRlcgpaYXViZXJzdGFiIHZlcnNjaHd1bmRlbi4uLiBXZWlzcyBlaW5lciwgb2IgZXMgbmV1ZSBGZWF0dXJlcyBnaWJ0ID8/IE9kZXIgd29yYW4Ka2FubiBkYXMgbGllZ2VuID8/PwpJY2ggcmFmZiBkYXMgZWluZmFjaCBuaWNodC4uLgpFaW4gdmVyYmx1ZWZmdGVyIFRob3JpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFYXN0ZXJuIChGbGludG5haWwsIDE0LiBTZXAgMTk5NCwgMTQ6NTM6MTApOgpLb3JyZWt0IHVuZCBzdGFuZGVzZ2VtYWVzcyB0cmlua3QgbWFuIHZvcmhlciBlaW4gb3JkZW50bGljaGVzIFRhZXNzY2hlbiBUZWUKdW5kIGxpZXN0IGVpbiBlaWdlbmVzIEdlZGljaHQuLi5lcnN0IGRhbm4gc2V0enQgbWFuIGRhcyBNZXNzZXIgdW50ZW4gbGlua3MKKGdsYXViIGljaCApIGFuIHVuZCB6aWVodCBlcyBuYWNoIG9iZW4gcmVjaHRzLi4uLm5vcm1hbGVyd2Vpc2UgaGF0IG1hbiBlaW5lbgpTZWt1bmRhbnRlbiwgZGVyIG1pdCBkZXIgZWlnZW5lbiBLYXRhbmEgZGVuIEtvcGYgYWJzY2hsYWVndCwgZmFsbHMgbWFuIGRpZQpNZXNzZXJha3Rpb24genUgbGFuZ2UgdWViZXJsZWJ0IS4uLi5OYWouLi5pY2ggd29sbHRlIGRhcyBlaWdlbnRsaWNoIG5pY2h0CnNlbGJzdCB2b2xsemllaGVuIGltIE11ZC4uLnZpZWxsZWljaHQgbWFsIHp1c2NoYXVlbiBiencuIHZlcmhpbmRlcm4hISEKCiAgICAgICAgIEZsaW50LCBrYW5uIGF1Y2ggbWl0IHppZW1saWNoIGZyZW1kZW4gU2l0dGVuIGxlYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc2Nod2luZGVuIHZvbiBHZWdlbnN0YWVuZGVuIChGbGludG5haWwsIDE0LiBTZXAgMTk5NCwgMTQ6NTU6MTUpOgpTb2xsdGUgZXMgRE9DSCBzY2hvbiBlaW5lIERpZWJlc0dpbGRlIGdlYmVuLi4uLi4/Pz8/CgogICBGbGludCBrb2NodCBHZXJ1ZWNodGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcnVlY2h0ZS4uLiAoR3JpbW1ib3JuLCAxNC4gU2VwIDE5OTQsIDE1OjA1OjIzKToKCk9obmUgd2FzIGdlc2FndCBoYWJlbiB6dSB3b2xsZW46IFd1cmRlIGhpZXIgbmljaHQgbWFsIGRpZSBCaWxkdW5nIGVpbmVyCk1hZmZpYSBhbmdlcmVndD8KQWJlciBkYXp1IGlzdCBlcyBuYXR1ZXJsaWNoIG5pZSBnZWtvbW1lbi4uLgoKTWl0IGR1bmtsZW4gQW5kZXV0dW5nZW4gdW0gc2ljaCB3ZXJmZW5kOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKemVpdHVuZyBsZXNlbiA6KCAoV29sbGksIDE0LiBTZXAgMTk5NCwgMTY6NDg6NDQpOgpwdWguLi4uLi4KCkZhaHJ0IG5pY2h0IGluIFVybGF1YiB1bmQgbGVzdCBkYW5uIFplaXR1bmcgaWNoIG11c3N0ZSBoZXV0ZSBudXIgc2NobGFwcGUKNDEzIEFydGlrZWwgbGVzZW4hCldhcyBoYWIgaWNoIGRlbm4gbnVuIGFsbGVzIGdlbGVzZW4gPwoKRWluIG51ciBGcmFnZXplaWNoZW4gaW0gR2VzaWNodCBzdGVoZW5kZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdPTExJCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE51ciBtYWwgc28genVtIFNjaG5lZW1hbm5xdWVzdCAoQmVsZGluLCAxNC4gU2VwIDE5OTQsIDE4OjE3OjU1KToKRGFubiBtYWNoIGVzIGRvY2ghIDspCgpCZWxkaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc2Nod2luZGVuIHZvbiBHZWdlbnN0YWVuZGVuIChBc21vZGlzLCAxNC4gU2VwIDE5OTQsIDIwOjI0OjU5KToKRGVuIHBlcnNvZW5saWNoZW4gU2NodXBwZW5wYW56ZXIgdmVybGllcnQgbWFuIGF1Y2ggYmVpIGVpbmVtIG5vcm1hbGVuICdlbmRlJy4KCiAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzKGpldHp0IExldmVsIDI2LCBncm9lc3NlcixzYXR0ZXIsbGVja2VyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2Nod2luZGVuIHZvbiBHZWdlbnN0YWVuZGVuIChHZWxkKSAoUHJhLCAxNS4gU2VwIDE5OTQsIDA5OjIzOjEwKToKCkhhbGxvZWNoZW4hCgpJbiBsZXR6dGVyIFplaXQgaXN0IGVzIG1pciBwYXNzaWVydCwgZGFzcyBpY2ggYmVpbSBsYXVmZW4gbWVpbiBnYW56ZXMKR2VsZCBmYWxsZW4gbGFzc2UgLSB1bmFic2ljaHRsaWNoIG5hdHVlcmxpY2guIFBhc3NpZXJ0IGRhcyBhbmRlcmVuIGF1Y2g/Cldlbm4gamEsIHdhcnVtPyBXYXMgc29sbCBkYXM/IEljaCBrYW5uIGF1ZiBtZWluZSBTYWNoZW4gZ3V0IGF1ZnBhc3NlbiwgZ3V0LAphYiB1bmQgenUgdmVybGllcmUgaWNoIG1laW5lbiBIYXVzc2NobHVlc3NlbCBvZGVyIGVpbmUgRnJldW5kaW4sIGFiZXIgbWVpbgpHZWxkPyBOaWUhISEKClByYSAoS2FwaXRhbGlzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOnZlcnNjaHdpbmRlbiB2b24gZ2VnZW5zdGFlbmRlbiAoS290emJyb2NrZW4sIDE1LiBTZXAgMTk5NCwgMTQ6MTM6MjIpOgpJc3QgbWlyIGhldXRlIGF1Y2ggcGFzc2llcnQuQXVmIGVpbm1hbCB3YXJlbiBQYW56ZXIgdW5kIFNwaWVnZWxzY2hpbGQgd2VnLgpJY2ggZnVlaGxlIG1pdCBUaG9yaW4gdW5kIGZyYWdlIG1pY2ggdW5kIGFsbGUgYW5kZXJlbixvYiBkYSBqZW1hbmQgd2FzCmRydWViZXIgd2Vpc3MuLi4KZXVlciBrb3R6aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6dmVyc2Nod2luZGVuIHZvbiBnZWdlbnN0YWVuZGVuIChCb2luZywgMTUuIFNlcCAxOTk0LCAxNDoxNzozOCk6CklociBzZWlkIG5pY2h0IHp1ZmFlbGxpZyBhdWYgVGFtaWJhciBydW1nZXJhbm50PyBEYW5uIHd1ZXNzdGUgaWNoIGphIG5lbgpHcnVuZCAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6Li4uUmU6IFNjaG5lZW1hbm5xdWVzdCAoVHJveSwgMTUuIFNlcCAxOTk0LCAxNzozNTowMyk6CkRpZSBTY2huZWVtYW5ucXVlc3Qga2FtIEVuZGUgSmFudWFyIHJlaW4uIFByb2dyYW1taWVydCBpc3Qgc2llIHZvbiBWcmFpLgpadW5hZWNoc3Qgd2FyIHNpZSBrbGVpbiB1bmQgdWViZXJzY2hhdWJhciB1bmQgYnJhY2h0ZSAxNSBBUC4gRGFubiB3dXJkZQpzaWUgenVtIFZlcnN1Y2hzZmVsZC4gRGFzIGJlcnVlY2h0aWd0ZSAoKkR1bW1tRHVtbUR1bW1EdW1tbSAtIFRhdGFhYSopClNDSE5FRUxBQllSSU5USCB3dXJkZSBpbiBzZWluZXIgaGV1dGlnZW4gRm9ybSBlaW5nZWZ1ZWhydCwgd29yYXVmIHNpY2gKS2lyayBnZXp3dW5nZW4gc2FoLCBkaWUgUXVlc3QgYXVmIDM1IEFQIGhvY2h6dXNldHplbi4gSW56d2lzY2hlbiBpc3QKbWlyIHp1bWluZGVzdCBFSU4gd2VpdGVyZXIgVGVzdGZhbGwgaW4gamVuZW0gR2ViaWV0IGJla2FubnQ6IERpZSBMYWV1c2UuCldlciBhbHNvIHZlcm1laWRlbiBtb2VjaHRlLCBlaW4gT3BmZXIgcGxvZXR6bGljaCBhdWZ0cmV0ZW5kZXIgKEF0b20tPykKVGVzdHMgenUgd2VyZGVuLCBzb2xsdGUgZGFzIEdlYmlldCBkZXIgU2NobmVlbWFubnF1ZXN0IHdlaXRyYWV1bWlnCnVtZmFocmVuLgoKVHJveSAtIFJlZ2lvbnNtYWdpZXIgdm9uIFBvbGFyIC0gS2FubiBhYmVyIG5peCBkcmFuIG1hY2hlbiwgd2VpbCBWcmFpCiAgICAgICBlaW5lbiBob2VoZXJlbiBMZXZlbCBoYXQgOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1Y2g6IFNjaG5lZW1hbm5xdWVzdCAoR3JpbW1ib3JuLCAxNS4gU2VwIDE5OTQsIDE5OjUwOjA1KToKCk51ciBzbyBhbHMgSWRlZTogU29sbHRlIG1hbiBkaWUgUXVlc3QgbmljaHQgZGFubiBhdWNoIGltIGxldmVsIGhvY2hzZXR6ZW4/CkljaCBoYWIgc2llIG1pdCBsZXZlbCAxOSBnZW1hY2h0IHVuZCAobHAtbWFlc3NpZykga2luZGVybGVpY2h0IGthbSBzaWUgbWlyCm5pY2h0IHZvci4gOi0oCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWNoOiBTY2huZWVtYW5ucXVlc3QgKFNpbHZhbmEsIDE2LiBTZXAgMTk5NCwgMDk6MjE6MjEpOgpJY2ggaGFiIHNpZSBtaXQgTGV2ZWwgMjAgcHJvYmllcnQgdW5kIE5JQ0hUIGdlc2NoYWZmdCwgd2VpbCBpY2ggendlaW1hbCBtaXQKd2VuaWdlciBhbHNvIDEwIExQIHVuZCBlbmRlIHJhdXNtdXNzdGUgdW0gbmljaHQgenUgdmVycmVja2VuISBadSBlaW5lbSBkcml0dGVuCm1hbCBoYXR0ZSBpY2ggZGFubiB3aXJrbGljaCBrZWluZSBMdXN0IC0gbWFsIGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBpY2ggZGFzIExBQgpmdWVyIGF1c2dlc3Byb2NoZW4gbGFuZ3dlaWxpZyBoYWx0ZS4uLiAoc29ycnksIGFiZXIgZGEgZ2lidCdzIGhpZXIgd2lya2xpY2gKYmVzc2VyZXMhKQoKRU9TIC0gU2lsdmFuYSAtIGhhdCBhbGxlIGFuZGVyZW4gUXVlc3RlbiBnZWxvZXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1Y2g6IFNjaG5lZW1hbm5xdWVzdCAoR2x1Y2tzLCAxNi4gU2VwIDE5OTQsIDA5OjI5OjIzKToKc2FnIGljaCBoYWJlIGRpZSBzY2huZWVtYW5zcXVlc3QgZ2Vsb2VzdCwgb2huZSBhdXNzZXIgZGVuIHJhdHRlbiBqZW1hbmRlbiB6dQpraWxsZW4sIGRhIGRlciB3ZWcsIGRlciBzaWNoIGFlbmRlcnQsIHN0YWVuZGlnIGVyZmFocmVuIHdlcmRlbiBrYW5uLCBkYXMgZ2lsdCwKbWVpbmVyIG1laW51bmcgbmFjaCwgYmVzb25kZXJzIGZ1ZXIgc2VoZXIsIGRpZSBhdWZncnVuZCB6YWhscmVpY2hlciB6dHMgZWluZW4KaG9oZW4gbWFnaWVsZXZlbCBiZXNpdHplbiB1bmQgb2VmdGVyIHJ1ZmVuIGtvZW5uZW4gYWxzIGljaCBkYW1hbHMgbWl0IDc1IG1wcwpzbywgZGFzIHdvbGx0ZSBpY2ggZGF6dSBzYWdlbiA6KQoKZ2x1Y2tzIChnbHVja3N0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaG5lZW1hbm4gKEthc3NhbmRyYSwgMTYuIFNlcCAxOTk0LCAxMzoxMTo1MSk6CkRpZSBTY2huZWVtYW5xdWVzdCBpc3Qgdm9uIFZpcGVyLCBuaWNodCB2b24gVnJhaS4gRGVyIGhhdCBudXIgZ2Vob2xmZW4sCm9kZXI/CgpLYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNwaWVsdmVyZ251ZWdlbiAoS2FpZywgMTcuIFNlcCAxOTk0LCAwNjowMTozOSk6CkVzIGlzdCBkb2NoIG51ciBlaW4gU3BpZWwgKG51cj8pIGFiZXIgbmVuIG5ldHRlcy4KCkJlaW0gbGVzZW4gZGVyIE1QQSBmaW5kZSBpY2ggbWFuY2htYWwgYWxsZXMgd2lyZCBldHdhcyB6dSBlcm5zdCBnZW5vbW1lbgooYmVzb25kZXJzIHZvbiBtYW5jaGVuLi4uLikuIFZlcnN1Y2h0IGRvY2ggbWFsIFNwYXNzIGJlaW0gU3BpZWwgenUgaGFiZW4gLi4uLgpTdGVyYmVuIGlzdCBqYSBuaWNodCBuZXR0LCBhYmVyIGVzIHBhc3NpZXJ0IGhpZXIgbWFsLgoKTmVobXQgZGFzIExlYmVuIGRvY2ggZ2VsYXNzZW4gdW5kIHZlcnN1Y2h0IGV1Y2ggbWVociB6dSBmcmV1ZW4uCgpWaWVsbGVpY2h0IGVpbiBibG9lZGVyIEFydGlrZWwsIGFiZXIgS2FpZyBkYWNodGUgZGFzIG11c3MgYXVjaCBtYWwgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhY2sgKERhbmNlciwgMTguIFNlcCAxOTk0LCAxODozODozNCk6CkhpLAoKc29ycnkgYW4gYWxsZSBkaWUgYXVmIG1pY2ggZ2V3YXJ0ZXQgaGFiZW4gZnVlciBtZWluZSB1bmFuZ2VrdWVuZGlndGUKQWJ3ZXNlbmhlaXQgdm9uIGNhLiAxIE1vbmF0LiBBbiBqZWRlbiBlaW56ZWxuZW4gZGVyIFZlcmZhc3NlciBkZXIgNDgKQnJpZWZlLCBkaWUgc28gbGFuZ2UgYXVmIEFudHdvcnQgd2FydGVuIG11c3N0ZW4gZ2FueiBiZXNvbmRlcnMuLi4KCk51biBqYSwgamV0enQgZGEgaWNoIG1pdCB2aWVyZWNraWdlbiBBdWdlbiB1bmQgZGVyIGRyaXR0ZW4gUmllc2VudGFzc2UKVGVlIGxhdXQgZXJsZWljaHRlcnQgYXVmc2V1ZnplbmQgZGVuIGxldHp0ZW4gZGVyIGNhLiAzMDAgbmV1ZW4gQXJ0aWtlbApnZWxlc2VuIGhhYmUgdW5kIHNvIHppZW1saWNoIGFsbGUgUG9zdCBiZWFudHdvcnRldCBoYWJlLCBtb2VjaHRlIGljaAprdXJ6IG5vY2htYWwgYXVmIGRpZSBUb2Rlc3NlcXVlbnoga29tbWVuLCBkZXJlbiBUZXh0IC0gdW0gR3JpbW1ib3JucyBBci0KdGlrZWwgdm9uIGlyZ2VuZHdhbm4genUgYmVhbnR3b3J0ZW4gLSBvZmZpemllbGwgdW5kIHBlcnNvZW5saWNoIHVuZCB1ZWJlci0KaGF1cHQgdm9uIG1pciBpc3QuIFNvbWl0IGJpbiBpY2ggYXVjaCB2ZXJhbnR3b3J0bGljaCBmdWVyIGRpZSBMYWVuZ2UKKHdlbGNoZSB2b24gSm9mIHVuZCBDYXR3ZWF6bGUgdWVicmlnZW5zIHNjaG9uIGdla3Vlcnp0IHd1cmRlLi4uKS4gRGEgaW4KZGVyIG5hZWNoc3RlbiBaZWl0IGVpbiBnYW56ZXIgQmF0emVuIG5ldWVyIFRvZGVzc2VxdWVuemVuIGF1ZiBFdWNoCnp1cm9sbHQsIHdvbGx0ZSBpY2ggc2Nob25tYWwgdm9yd2VnIGJlcnVoaWdlbiwgZGFzcyBkaWVzZSBBTExFIGt1ZXJ6ZXIgc2luZCwKYXVjaCB3ZW5uIHNpZSBlaW5lIGdld2lzc2UgTWluZGVzdGxhZW5nZSBoYWJlbi4gTmFjaCBzbyB2aWVsIFByb3Rlc3QKYmV6dWVnbGljaCBkZXIgTGFlbmdlIHd1bmRlcmUgaWNoIG1pY2ggYWxsZXJkaW5ncywgd2FydW0gTklDSFQgRUlOIEVJTlpJR0VSCkJyaWVmIGF1ZiBtZWluZW4gZGFtYWxpZ2VuIEFydGlrZWwgYmVpIG1pciBhbmdla29tbWVuIGlzdCAoZXMgZ2luZyB1bQpWb3JzY2hsYWVnZSBiZXp1ZWdsaWNoIHdlaXRlcmVyIFRvZGVzc2VxdWVuemVuKS4uLi4KTW9yYmlkZSBHcnVlc3NlCgpEYW5jZXIgLSBzY2h3YXJ6ZXIgU2FuZHRpZ2VyIHNjaHdhcnogYXVmIG5vY2ggdmllbCBzY2h3YWVyemVyZW4gQmF1c3RlbGxlbgogICAgICAgICBmdWVyIERyLiBUb2QgdW50ZXJ3ZWdzLi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNoaW5hcXVlc3QgKFJlaXNlbmRlciwgMTguIFNlcCAxOTk0LCAyMTowODoyNyk6CkhhbGxvIE1laXN0ZXIgTGkgOC0pLAprZW5uc3QgRHUgZGllIFJpY2h0ZXIgRGkgUm9tYW5lID8gV2VubiBqYSAsIHdpZSB3YWVycyBkYW5uIG1pdCBlaW5lbSBLcmltaQphbHMgQ2hpbmFxdWVzdC4KSW4gZ3V0ZXIgSG9mZm51bmcgOykgUmVpc2VuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFdlZ2UgKFRob3JpbiwgMTguIFNlcCAxOTk0LCAyMjozNTozOSk6CkhpIC4uLgpJY2ggd2Vpc3MsIGlociBtZWNrZXJ0IGpldHp0IHZpZWxsZWljaHQgJ2RlciBzY2hvbiB3aWVkZXInICwgYWJlciBlZ2FsICwgZGVubgo6CktvZW5uZW4gZGllIEVsZmVud2VnZSBuaWNodCBpbSB2b3JhdXMgZ2Vwcm9nZ3Qgd2VyZGVuID8/IERlbm4gdmllbGUgbmV3YmllcwpmdWVobGVuIHNpY2ggdmVydW5zaWNoZXJ0LCBkYXNzIGRpZSBXZWdlIChpbSBvc3RlbiBnZWh0IGVzIGlucyBlbGZlbmRvcmYpCm5pY2h0IGRvcnQgc2luZCwgd28gc2llIHNlaW4gbXVlc3Nlbi4uLiBBbHNvIDogYWVuZGVydCBkb2NoIGJpdHRlIHZvcmhlciB1bmQKdWViZXJzY2hyZWlidCBkYW5uIGV1cmUKRmlsZXMuLi4gRXR3YXMgT3JkbnVuZyBtdXNzIGRvY2ggc2Vpbi4uLgpUaG9yaW4sIGRlciBld2lnIEtyaXRpc2llcmVuZGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpZWxlZmVsZGVyIGdlc3VjaHQhIChHbnVsbGksIDE5LiBTZXAgMTk5NCwgMTU6MjA6MjApOgpIYWxsbyEKCkJpc3QgRHUgZWluIEJpZWxlZmVsZGVyIHVuZCBrZW5uc2V0IERpY2ggbWl0IGRlbSBSZWNoZW56ZW50cnVtIGJlaSBFdWNoIGF1cz8KCldlbm4gamEsIG1haWwgbWlyIG1hbCwgendlY2tzIHdlaXRlcmxlaXR1bmcgYW4gZWluZSBCZWthbm50ZSBmdWVyIEVpbndlaXN1bmchCgpEYW5rZSEKCmdudWxsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgc28genVtIFNjaG5lZW1hbm5xdWVzdCAoQ2FyYWRocmFzLCAyMC4gU2VwIDE5OTQsIDA0OjM2OjIzKToKCQlIdWh1CgpBdXRzY2gsIHdhcz8/IEhpZXIgaW4gTUcgc3RlaHQgU3VlZGxpY2hlcyBBdWVubGFuZCBkcmFuPyAqc3RvZWhuKgpVbmQgLSBobSwgbmEgamEsIGRpZSBRdWVzdGlkZWUgd3VyZGUgendhciB2b24gVmlwZXIgbWl0IHVlYmVybm9tbWVuIG5hY2gKTUcsIGlzdCBhYmVyIGxhbmdlIG5pY2h0IGRpZXNlbGJlLCB6QiBzaW5kIGVzIGluIFVOSSBudXIgNiBSYWV1bWUgaW0KTGFiIHVuZCBuaWNodCAuLi4gd2Fzd2Vpc3NpY2h3aWV2aWVsZSB3aWUgaGllci4gVW5kIHJ1ZmVuIG11c3MgbWFuIGRlbgpEb2VzcGFkZGVsIGF1Y2ggbmljaHQgOi0pIEFsc28gZnVlciBtaWNoIGlzdCBlcyB1ZWJlcmhhdXB0IG5pY2h0IGRpZSBnbGVpY2hlClF1ZXN0LiAqZ3JpbnMqIFVuZCBmdWVyIG1pY2ggc3RlaHQgemllbWxpY2ggZmVzdCwgZGFzcyBpY2ggZGllIGJsb2Vkc3RlClF1ZXN0IGhpZXIgbmllIHNwaWVsZW4gd2VyZGUsIG9id29obCBpY2ggZGllIFF1ZXN0IGFscyBEb21haW5sb3JkIHVuZAonVm9yZ2VzZXR6dGVyJyB2b24gVmlwZXIgaW4gVU5JdG9waWEga2VubmUuIChzb2xsdGUga2VpbiBBbmdyaWZmIGF1ZiBWaXBlcgp1bmQgVnJhaSBzZWluLCBkZXIgaGllciBkb2NoIGdsYXViZSBpY2ggYXVjaCBkcmFuIHJ1bWdlYmFzdGVsdCBoYXQuKQoKTmEgamEsIFRhcmtvIFJldWIgd2VyZCBpY2ggYXVjaCBuaWUgc3BpZWxlbi4uLiBkZW5uIEVQIHZlcmxpZXJlbiB6dSBkdXJjaApzdGVyYmVuIG11ZXNzZW4gaXN0IGZ1ZXIgbWljaCB1bnNpbm5pZywgZXMgc29sbHRlIGltbWVyIGVpbmVuIHdlZyBkcnVtcnVtCmdlYmVuLCB3aWUgc2Nod2llcmlnIGVyIGF1Y2ggaW1tZXIgaXN0LgoKQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2FyYWRocmFzLi4uIChHcmltbWJvcm4sIDIwLiBTZXAgMTk5NCwgMDU6MDk6NDYpOgoKQXVjaCB3ZW5uIGljaHMgRGlyIHBlcnNvZW5saWNoIHNhZ2VuIGtvZW5udGUsIENhcmE6IFdpZSBrb21tc3QgRHUgZHJhdWYsIGRhc3MKbWFuIGJlaSBUYXJrbyBSZXViIGVwIHZlcmxpZXJ0PyBEdSBrZW5uc3QgamEgZGVuIEFzc2Fzc2luZW4gZ2FyIG5pY2h0Li4uCkFsc286IGZsZWlzc2lnIHF1ZXN0ZW4sIGtlbm5lbmxlcm5lbiwgd29ydWViZXIgRHUgc2NocmVpYnN0IHVuZCB3ZW5uIER1IGltbWVyCm9yZGVudGxpY2ggbWVja2Vyc3QsIHdpcmQgdmllbGxlaWNodCBkb2NoIG5vY2ggZWluIFNlaGVyIGF1cyBEaXIuIDstKSkKCkluIGFsbGVyIEZyZXVuZHNjaGFmdDoKICAgICAgICAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2FyYWRocmFzLi4uIChDYXJhZGhyYXMsIDIwLiBTZXAgMTk5NCwgMTA6MDE6NDIpOgoJSmFqYWphLCBpcyBqYSBndXQgOi0pCgpJY2ggaGFicyBqYSBqZXR6dCB2b24gUGFwaSBKb2YgdW5kIG5vY2ggZWluaWdlbiBhbmRlcmVuIHZlcm5vbW1lbiwgZGFzcwptYW4ga2VpbmUgRVAgZG9ydCB2ZXJsaWVydCBiZWltIHN0ZXJiZW4uIERhbm4gd2VyZCBpY2hzIGRvY2ggc3BpZWxlbgptdWVzc2VuICpTRVVGWiogKmdyaW5zKgoKVW5kIG1lY2tlcm4gdHUgaWNoIGluIFVOSSBzY2hvbiBnZW51ZyBmdWVyIDIgYmlzIDE3IG11ZHMgOi0pCkluc29mZXJuIGVpbiBwZXJmZWt0ZXIgU2VoZXIuICpncmlucyBhbXVlc2llcnQqCgpJbiA0IE1vbmF0ZW4gdW5kIDUgVGFnZW4gd2VyZCBpY2ggU2VoZXIuCgpDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQgKGJlaGFlbHQgZGFuYWNoIHNlaW5lbiBUaXRlbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTouLi5SZTogU2NobmVlbWFubnF1ZXN0IChWcmFpLCAyMC4gU2VwIDE5OTQsIDExOjE3OjUyKToKSWNoIG1vZWNodGUgZHJhdWYgaGlud2Vpc2VuLCBkYXNzIGRpZSBRdWVzdCBTY2huZWVtYW5uIG5pY2h0IHZvbiBtaXIgaXN0IQpTaWUgaXN0IHZvbiBWaXBlciEgSWNoIGhhYmUgbnVyIHByb2dyYW1taWVydCBzb25zdCBuaWNodHMhClVuZCBUcm95IHNpZSBzdGVodCBpbiBWaXBlcnMgVmVyemVpY2huaXMsIGZvbGdsaWNoIGtvZW5udGVzdCBEdSBhbGxlcyBtaXQgaWhyCnR1biwgd2FzIER1IHdpbGxzdCwgYWxzIFJNIQoKVnJhaSBsdWVndCBkaWVzbWFsIG5pY2h0IQpWcmFpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaG5lZW1hbm4gKFZyYWksIDIwLiBTZXAgMTk5NCwgMTE6MTk6MjkpOgpJY2ggc3RpbW1lIGRlbSB6dSwgS2Fzc2FuZHJhCgpWcmFpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1Y2g6IFNjaG5lZW1hbm5xdWVzdCAoRmxpbnRuYWlsLCAyMC4gU2VwIDE5OTQsIDE1OjI0OjM2KToKSWNoIGhhYiBzaWUgZ2xhdWIgaWNoIG1pdCBMZXZlbCAxMSBvZGVyIHNvIGdlbWFjaHQgdW5kIGdlc2NoYWZmdCAoKmdyaW5zKikKLi4uLmFsbGVzIG5lIEZyYWdlIHZvbiAnV2llIGdlaGUgaWNoIGVpbmVyIFNjaG5lZWZyYWVzZSBhdXMgZGVtIFdlZyEnCgogICAgICAgICBGbGludCwgaGF0IGF1Y2ggc2Nob24gbWFsIG5lIE1vZWhycnVlYmUgZWluZmFjaCBudXIgZ2VnZXNzZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcmFzaHMgKEdyaW1tYm9ybiwgMjEuIFNlcCAxOTk0LCAwMTo1ODo0Nyk6CgpKYSwgZGllcyBzb2xsIG5pY2h0IGVpbiBLbGFnZWFydGlrZWwgd2VyZGVuIHVlYmVyIHZlcmxvcmVuZSBBdXNydWVzdHVuZyBldGMuCkNyYXNocyBzaW5kIHVudmVybWVpZGJhciwgd2VubiBldHdhcyBOZXVlcyBkYXp1a29tbXQsIGV0d2FzIGdlYWVuZGVydCB3aXJkCm9kZXIgbmV1ZSBTaXR1YXRpb25lbiBhdWZ0cmV0ZW4uIE1hbiBrYW5uIHZlcnN1Y2hlbiwgc2llIHp1IHZlcm1laWRlbiwgYWJlcgpnZWdlbiBNdXJwaHlzIGxhdyBrb21tdCBtYW4gbmljaHQgYW4uIFdlbmlnZXIgY3Jhc2hzIHdhZXJlbiB3b2hsIHp1IGVycmVpY2hlbgp1bSBkZW4gUHJlaXMgZGVzIFN0aWxsc3RhbmRlcywgZC5oLiBtYW4gZnJldXQgc2ljaCBkYXJ1ZWJlciBkYXNzIGRhcyBtdWQKbGFldWZ0LCBqZWRlciBiZXNlaXRpZ3RlIGJ1ZyB0cml0dCBzbyBuaWNodCBtZWhyIGF1ZiB1bmQgY3Jhc2hzIHdlcmRlbgpzZWx0ZW5lci4gS2VpbmUgbmV1ZW4gR2VnZW5kZW4sIGtlaW5lIG5ldWVuIEdlZ2Vuc3RhZW5kZSwgU3RpbGxzdGFuZC4gSWNoCnBlcnNvZW5saWNoIG5laG1lIGRhIGxpZWJlciBoaWVyIHVuZCBkYSBlaW5lbiBjcmFzaCBpbiBLYXVmLiBBYmVyIGRhcnVtIHNvbGxzCmhpZXIgbmljaHQgZ2VoZW4gKGljaCBzZWggc2Nob246IFp3ZWkgRHJpdHRlbCBkZXMgQXJ0aWtlbHMgdW50ZXIgZGVtIFRoZW1hOgoiV29ydW0gZXMgaGllciBuaWNodCBnZWh0Ii4uLikgSWNoIGhhZXR0ZSBmb2xnZW5kZW4gVm9yc2NobGFnOgpEdXJjaCBkaWUgY3Jhc2hzIGluIGxldHp0ZXIgWmVpdCBpc3QgZXMgbGFuZ2UgbmljaHQgbWVociB6dSBlaW5lbSByaWNodGlnZW4KQXJtYWdlZGRvbi1XZWx0dW50ZXJnYW5nIGdla29tbWVuLiBEYXMgaXN0IHNjaGFkZSwgd2VpbCBpY2ggbWljaCBkdW5rZWwKZXJpbm5lcmUsIGRhc3MgZXMgc2Nob24gZWluIGJlc29uZGVyZXMgRXJsZWJuaXMgaXN0LCBzbyBlaW5lbiBVbnRlcmdhbmcKbWl0enVlcmxlYmVuLiBXaWUgd2FlcmUgZXMsIHNvIGVpbmVuIFVudGVyZ2FuZyBtYWwgZWluenVwbGFuZW4sIGFsc28gZWluZQpXZWx0dW50ZXJnYW5nc3BhcnR5IHp1IG1hY2hlbj8gTWFuIHNhZ3QgendlaSBXb2NoZW4gaW0gVm9ycmF1czogTW9udGFnIGRlbgpzb3VuZHNvdmllbHRlbiB1bSAyMCBVaHIgaXN0IFdlbHR1bnRlcmdhbmcsIGVnYWwgb2IgMTAgTWludXRlbiB2b3JoZXIgZWluCmNyYXNoIHdhciBvZGVyIG5pY2h0LiBNYW4ga2FubiBzaWNoIGRyYXVmIGVpbnN0ZWxsZW4sIHNpY2ggZGllIHNjaG9lbnN0ZW4KQXVzc2ljaHRzcGxhZXR6ZSBzaWNoZXJuIHVuZCBtYWwgc28gcmljaHRpZyBtaXQgUGF1a2VuIHVuZCBUcm9tcGV0ZW4KdW50ZXJnZWhlbi5aaWVsIGRpZXNlcyBTcGllbHMgaXN0IGVzIGphIGxldHp0bGljaCwgU3Bhc3MgenUgaGFiZW4gdW5kIG5pY2h0LAphbiBlaW5lciAoc293aWVzbyB2ZXJnYWVuZ2xpY2hlbikgQXVzcnVlc3R1bmcgenUga2xlYmVuLiBFaW5lCldlbHR1bnRlcmdhbmdzcGFydHkgd2FlcmUgZG9jaCBtYWwgd2FzIE5ldWVzLi4uCgpIZXV0ZSBtYWwgaW4gV2VsdHVudGVyZ2FuZ3NzdGltbXVuZzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNocyAoS2xpbmdlLCAyMS4gU2VwIDE5OTQsIDAyOjA0OjM2KToKSWNoIGhhYiBzY2hvbiBlaW5lbiBBcm1hZ2VkZG9uIG1pdGdlbWFjaHQsIHdhciBlY2h0IGNvb2wuCk1pdCBhbmRlcmVuIFdvcnRlbjoKQmVpIGRlciBQYXJ0eSBiaW4gaWNoIGRhYmVpIDopKSkpKSkpKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpRdWVzdGVuIHVuZCBTdHVmZW4gdW5kIHNvLi4uIChTaWx2YW5hLCAyMS4gU2VwIDE5OTQsIDA5OjU3OjU5KToKQWxzbyBpbSBQcmluemlwIGhhYnQgaWhyIHJlY2h0LCBkZW5rZSBpY2guIEVzIHNvbGx0ZSBlaW5lIE1pbmRlc3RwdW5rdHphaGwKZnVlciBkaWUgU3R1ZmVuIGdlYmVuIC0gdW5kIHp3YXIgQVAgVU5EIEVQLiBBbGxlcmRpbmdzIGlzdCBkaWUgUmVnZWx1bmcgZWluZQpTdHVmZSAtIGVpbmUgUXVlc3QgbmljaHQgZ2VyZWNodCByYWVsaXNpZXJiYXIuIEljaCBoYXR0ZSB6LkIuIG5hY2ggZHJlaQpRdWVzdGVuIHNjaG9uIFN0dWZlIDcgb2RlciA4IHVuZCBoYXR0ZSBudXIgZGllIGZ1ZXIgU2NocmF0IG5vZXRpZ2VuICJNb25zdGVyIgplcmxlZ3QuICBEYSB3YWVyIGljaCBkb2NoIGdsYXR0IGRhZnVlciBiZXN0cmFmdCB3b3JkZW4sIGVpbmUgaG9laGVyZSBRdWVzdApnZWxvZXN0IHp1IGhhYmVuLi4uIDstKQpPZmZlbmJhciBoYWJlbiBpbiBkZXIgRGlza3Vzc2lvbiBlaW5pZ2UgTGV1dGUgdmVyZ2Vzc2VuLCBkYXNzIGF1Y2ggUXVlc3RlbiBFUApnZWJlbi4uLiBQYW5kb3JyYSBiZWlzcGllbHN3ZWlzZSBnaWJ0IHNlaHIgdmllbGUgRVAgdW5kIGlzdCAobWVpbmVyIE1laW51Z2VuCm5hY2gpIHppZW1saWNoIGVpbmZhY2guLi4uIDstKQpXYXMgc29sbHM/IEFsc286IEFQLWFiaGFlbmdpZ2tlaXQgZGVyIFN0dWZlIGlzdCBPSywgYWJlciBkaWUKLWVpbmUtUXVlc3QtcHJvLVN0dWZlbi1SZWdlbHVuZyBiZXN0cmFmdCBkaWUgbXV0aWVnZW4uLi4uCgpldHdhcyBrb25mdXMgYW0gZmFsc2NoZW4gVGVybWluYWwuLi4gLSBTaWx2YW5hLgoKUFM6IFVtIEhpbW1lbHMgV2lsbGVuLCB3YXMgZnVlciBlaW4gQXJ0aWtlbCEgSWNoIGhvZmZlIGVzIHZlcnN0ZWh0IG1pY2gKdHJvdHpkZW0gamVtYW5kLi4uIDstKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpbiBkZXV0c2NoZXMgTXVkbWVldGluZyAxOTk1ISAoRmFuZ29ybiwgMjEuIFNlcCAxOTk0LCAxNDo0NDozOSk6CkhhbGxvIE11ZGRlciwKCmVpbmlnZSBUdWJNdWRkZXIgcGxhbmVuIGZ1ZXIgZGVuIFNvbW1lciAxOTk1IGVpbiBNdWRtZWV0aW5nIGF1ZiBlaW5lcgpzY2hvZW5lbgpCdXJnIGluIE5pZWRlcmFsZmluZ2VuIChNYXJpZW5idXJnKSBiZWkgQWFsZW4gKEJhZGVuLVd1ZXJ0dGVtYmVyZykuCklociBzZWlkIGhlcnpsaWNoIGVpbmdlbGFkZW4gZGFyYW4gdGVpbHp1bmVobWVuLgpEYXMgUHJvYmxlbSBpc3Q6IFdpciBicmF1Y2hlbiBtaW5kZXN0ZW5zIDEwMCBMZXV0ZSwgdW0gZGllIEJ1cmcgZ2FueiB6dQptaWV0ZW4uCgpEYSBkYXMgZ2FuemUgc2Nob24gYmFsZCBnZXNjaGVoZW4gbXVzcywgYml0dGUgaWNoIGJpcyB6dW0gNi4gT2t0b2JlciB1bQpFTUFJTFMKYW4gRmFuZ29ybjogbGx1ZHdpZ0BwZWFudXRzLmluZm9ybWF0aWsudW5pLXR1ZWJpbmdlbi5kZQptaXQgTmFtZUBtdWQsIGVtYWlsLWFkcmVzc2UgdW5kIGVpbmVyIEVpbnN0dWZ1bmcsIHdpZSBzaWNoZXIgZXMgaXN0LCBkYXMgRHUKa29tbXN0LgpWb3JoZXIgamVkb2NoIGRlbiBSZXN0IGxlc2VuIHdlZ2VuIGRlciBLb3N0ZW4gOikuCkRhcyBnYW56ZSBpc3Qgbm9jaCBrZWluZSB2ZXJiaW5kbGljaGUgQW5tZWxkdW5nLCBqZWRvY2ggc2luZCB3aXIgYXVmIHppZW1saWNoCnp1dmVybGFlc3NpZ2UgQXVzc2FnZW4gYW5nZXdpZXNlbi4KRiJ1ciBVbnRlcmhhbHR1bmcgd2lyZCBnZXNvcmd0IDopLgoKS3VyemUgSW5mb3JtYXRpb24genVtIE1lZXRpbmc6CgpPcnQ6IE5pZWRlcmFsZmluZ2VuIGJlaSBBYWxlbiBpbiBCYWRlbiBXdWVydHRlbWJlcmcuClByZWlzOiBGcmVpdGFnLVNvbm50YWcgICBjYS4gMTIwIERNIC8gUGVyc29uISEhCiAgaW5iZWdyaWZmZW4gaXN0OiBVZWJlcm5hY2h0dW5nCiAgICAgICAgICAgICAgICAgICBGcnVlaHN0dWVjawogICAgICAgICAgICAgICAgICAgTWl0dGFnZXNzZW4KICAgICAgICAgICAgICAgICAgIEthZmZlZT8KICAgICAgICAgICAgICAgICAgIEFiZW5kZXNzZW4KICAgICAgICAgICAgICAgICAgIEdldHJhZW5rZQogKG11ZXNzZW4gd2lyIGFsbGVzIGluIGRlciBCdXJnIGluIEFuc3BydWNoIG5laG1lbiAoVm9sbHBlbnNpb24pKQoKU29sbHRlbiBzaWNoIGJlaSBkZXIgc3BhZXRlcmVuIEFubWVsZHVuZyBtZWhyIGFscyAxMDUgUGVyc29uZW4gbWVsZGVuLCBzbwp3ZXJkZW4Kd2lyIHp1c2FldHpsaWNoIGF1ZiBlaW5lbiBaZWx0cGxhdHogYXVzd2VpY2hlbiBrb2VubmVuIChhdWNoIG5pY2h0IGJpbGxpZ2VyKS4KCkhpZXIgbm9jaG1hbCBkaWUgZW1haWxhZHJlc3NlOgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09CmxsdWR3aWdAcGVhbnV0cy5pbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGUKCiAgICAgaW4gVm9yZnJldWRlLAogICAgICAgICAgICAgICAgWWFybyAmIEZhbmdvcm4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb2xnZW1vZHVzIChCYW1idWxrbywgMjEuIFNlcCAxOTk0LCAxODoxODowNik6Ckthbm4gbWFuIG5pY2h0IG1hbCBlaW5lbiBGb2xnZW1vZHVzIGVpbnJpY2h0ZW4gPwpNYW4gYnJhdWNodCBkYW5uIG51ciBub2NoIGZvbGdlIDxuYW1lPiBlaW50aXBwZW4gdW5kIGZvbGd0IGlobSBiaXMgbWFuIGVzCmF1c3NjaGFsdGV0Pz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUXVlc3RlbiB1bmQgU3R1ZmVuIHVuZCBzby4uLiAoQmVsZGluLCAyMS4gU2VwIDE5OTQsIDIwOjM0OjU5KToKSWNoIGhhbHRlIGVpbmUgenVzYWV0emxpY2hlIEFiaGFlbmdpZ2tlaXQgZGVyIFN0dWZlbiB2b24gQVAtUHVua3RlbiBmdWVyCnVuc2lubmlnLiBEaWUgRVAtQWJoYWVuZ2lna2VpdCBoYXQgc2ljaCBiaXNoZXIgYmV3YWVocnQsIHVuZCBkYXMgaW4gc28KemllbWxpY2ggYWxsZW4gUm9sbGVuc3BpZWxzeXN0ZW1lbiAoYXVjaCBkaWUgYXVzc2VyIGRlbSBNVUQhIDspClZvciBhbGxlbiBEaW5nZW4gdmVyc3RlaCBpY2ggZG9jaCBuaWNodCBzbyByZWNodCBXQVMgZGFzIGdlbmF1IGJld2lya2VuIHNvbGwuCldlbm4gbWlyIGRhcyB2aWVsbGVpY2h0IGplbWFuZCBlcmtsYWVyZW4ga29lbm50ZT8KCkNpYW8gLSBCZWxkaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZSAtIGVwIHVuZCBhcCAuLi4gKFRob3JpbiwgMjEuIFNlcCAxOTk0LCAyMDo1ODowNSk6CkFsc28gaWNoIGZpbmRlIEVwIGZ1ZXIgZWlnZW50bGljaCB1ZWJlcmZsdWVzc2lnLCBhYmVyIGRhcyBoYWVuZ3Qgd29obCBkYW1pdAp6dXNhbW1lbiwgZGFzcyBpY2ggbmljaHQgc28gZ2VybiBzY2hsYWNodGVuIGdlaC4gSWNoIHZlcnN1Y2ggbWljaCBlaW5tYWwgcHJvCk1vbnN0ZXIgcmljaHRpZywgZGVzd2VnZW4gZnJldSBpY2ggbWljaApqYSBhdWNoIGltbWVyIHVlYmVyIG5ldWUgTW9uc3Rlci4gQmVpbSBxdWVzdGVuIGJpbiBpY2ggendhciBuaWNodCBpbW1lcgplcmZvbGdyZWljaCwgYWJlciBzaWUgemV1Z2VuIGRvY2ggbWVociB2b20gQWJlbnRldWVyZ2Vpc3QgYWxzIHJlaW5lIEVQLiBEZW5uCjEwMCBNYWwgZGFzIHNlbGJlIE1vbnN0ZXIgenUgdmVyZHJlc2NoZW4gZmluZCBpY2ggbmljaHQgYmVzb25kZXJzIGF1ZnJlZ2VuZC4uLgpJY2ggd29sbHRlIGhhbHQgYXVjaCBtYWwgbWVpbmVuIFNlbmYgZGF6dWdlYmVuLCBpY2ggaGFsdGUgZGllIEFiaGFlbmdpZ2tlaXQKdm9uIFN0dWZlbiB2b24gQXAgZnVlciBTRUhSIHNpbm52b2xsLgpFbmRlLCBUaG9yaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlIC0+IEZvbGdlbW9kdXMgKEJlbGRpbiwgMjEuIFNlcCAxOTk0LCAyMTowNDo0OSk6CgpOdXIgenVyIEluZm9ybWF0aW9uLi4uIERhcyBLb21tYW5kbyBnaWJ0cyBzY2hvbi4KCgoKCk51ciAoc2VociBzZWhyKSB3YWhyc2NoZWlubGljaCBOSUUgZnVlciBTcGllbGVyLi4uIDspCgpEYXMgd2FyIGRpZSB1bm1hc3NnZWJsaWNoZSBNZWludW5nIHZvbiBCZWxkaW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZSAtPiBGb2xnZW1vZHVzIChIYXRlLCAyMS4gU2VwIDE5OTQsIDIxOjMyOjU2KToKTnVyIG1hbCB6dXIgSW5mb3JtYXRpb246CiAgSWNoIGhhYmUgZWluZW4gc29sY2hlbiBGb2xnZW1vZHVzIG1hbCBpbiBlaW5lbSBTcGllbCBtaXRlcmxlYnQgdW5kIGZhbmQsCiAgZGFzcyBkYXMgbmljaHQgc2VociBzaW5udm9sbCBpc3QuIERlbm4gZGFubiBoYWVuZ3QgbWFuIHNpY2ggYW4gZWluZW4KICBTcGllbGVyIGRyYW4gdW5kIGtlbm50IGltIEVuZGVmZmVrdCBkaWUgR2VnZW5kIGRvY2ggbmljaHQsIHdlaWwgYWxsZXMKICB2aWVsIHp1IHNjaG5lbGwgZ2VnYW5nZW4gaXN0LiBXYXMgaWNoIGZ1ZXIgc2lubnZvbGwgaGFsdGVuIHd1ZXJkZSwgd2FlcgogIGVpbiBGdWVocmVyLCBkZXIgbmV1ZSBTcGllbGVyIGR1cmNoIE1vcmdlbkdyYXVlbiBmdWVocnQgdW5kIGRhYmVpCndpY2h0aWdlcwogIGVya2xhZXJ0LiBMZWlkZXIgYmluIGljaCBuaWNodCBkYWZ1ZXIgZ2VzY2hhZmZlbiBzb2V0d2FzIHp1IHByb2dyYW1taWVyZW4sCiAgZGEgaWNoIG1pY2ggbmljaHQgZ2VudWcgYXVza2VubmUuIFNlbGJzdCBpbiBqZW5lbSBGYWxsIHd1ZXJkZSBpY2ggdm9yLQogIHppZWhlbiwgZGFzcyBkaWUgU3BpZWxlciBzaWNoIGdyb2Vzc3RlbnRlaWxzIHNlbGJzdCBiZXdlZ2VuLCBkZW5uIGRhZHVyY2gKICBiZWtvbW10IG1hbiBlaW4gR2VmdWVobCBmdWVyIGRpZSBHZWdlbmQgdW5kIGRpZSBSaWNodHVuZ2VuLiBXYXMgaWNoIHZpZWwtCiAgbGVpY2h0IG1hY2hlbiBrb2VubnRlLCB3YWVyZSBlaW5lbiBnZW5lcmVsbGVuIEZ1ZWhyZXIgenUgc2NocmVpYmVuLCBkZW4KICBkYW5uIGplbWFuZCBtaXQgbWVociBPcnRza2VubnRuaXMsIGFscyBpY2ggc2llIGhhYmUsIGFscyBCYXNpcyBiZW51dHplbgogIGthbm4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogRm9sZ2Vtb2R1cyAoS2xpbmdlLCAyMi4gU2VwIDE5OTQsIDAwOjIxOjI3KToKRWluZW4gRnVlaHJlciBkdXJjaCBkYXMgTVVEIGhhbHRlIGljaCBmdWVyIGZsdWVzc2lnZXIgYWxzIGZsdWVzc2lnZ2FzIC4KR2VyYWRlIGFscyBOZXdiZSBvZGVyIFdhbm5hYmUgYWxzbyBsbHAgaXN0IGVzIGFtIHNpbm52b2xsc3RlbiBzaWNoIGRhcyBNRwpzY2hyaXR0IGZ1ZXIgc2Nocml0dCB1bmQgUmF1bSBmdWVyIFJhdW0genUgZXJ3YW5kZXJuLCBkYSBtYW4gc2ljaCBzbyBkaWUgV2VnZQp1bmQgenVzYW1tZW5oYWVuZ2UgZWlucHJhZWd0LCBrYXJ0b2dyYXBoaWVyZW4ga2FubiB1bmQgc28gaW4gZGVuIHZvbGxlbiBHZW51c3MKZGVyIEJlc2NocmVpYnVuZ2VuIGRlciAiQXRtb3NwaGFlcmUienUga29vbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogUmU6IEZvbGdlbW9kdXMgKEZsaW50bmFpbCwgMjIuIFNlcCAxOTk0LCAxNDo0NjoyNyk6ClVtIGRpZSBSb3R3aWxkLUhvcmRlIHBlcmZla3QgenUgbWFjaGVuICh2aWVyIFJlOidzISkKCldpZSB3YWVycyBtaXQgbmVyIE5ld2JpZS1RdWVzdDogZXJ3YW5kZXJlIGRhcyBNb3JnZW5HcmF1ZW4gLi4uamFqYSBpY2ggd2Vpc3MKLGhhYmVuIHdpciBzY2hvbi4uLlBvc3RxdWVzdC4uLmRpZSBpc3QgYWJlciBmdWVyIEFuZmFlbmdlciBob2VsbGlzY2gKZ2VmYWVocmxpY2ghIC4uLmljaCBkYWNodGUgZGEgZWhlciBhbiBzb3dhcyB3aWUgOiBad2VyZ2Vua29lbmlnIHNjaGlja3QgZGljaAptaXQgZGVtIEthcnRvZ3JhcGhpZXJ6d2VyZyBsb3MsIGRhcyBNb3JnZW5ncmF1ZW4ga2FydG9ncmFwaGllcmVuLCBiencgVGVpbGUKZGF2b24sIHVuZCBkZXIgS2FydG9ncmFwaGllcnp3ZXJnIGthbm4gZGFubiBpbiBkZW4gUmVnaW9uZW4gd2FzCmVyemFlaGxlbi4uLi4uLgoKICAgZWluIHJ1bXNwaW5uZW5kZXIgRmxpbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOnJlOlF1ZXN0ZW4gdW5kIHN0dWZlbiB1bmQgc28gKEVscmljLCAyMi4gU2VwIDE5OTQsIDE1OjAyOjE4KToKWm0gVGhlbWEgRVAgaW4gUm9sbGVuc3BpZWxzeXN0ZW1lbiAoa2VpbmUgTVVEcykgbW9lY2h0ZSBpY2ggZGFubiBkb2NoIG5vY2gKd2FzIGFic2VuZmVuOiBCZWxkaW4gY2hyaWViLCBkYXN6IHNpY2ggZGllc2VzIFN5c3RlbSBpbiBmYXN0IGFsbGVuClJvbGxlbnNwaWVsc3lzdGVtZW4gYmV3YWVocnQgaGFiZS4gbnVuIGphLCBkYWJlaSBzdGVsbHQgc2ljaCBuYXR1ZXJsaWNoIGRpZQpGcmFnZSwgd29mdWVyICBiZWltIFBvbGxlbnNwaWVsZW4gWFAgdmVyZ2ViZW4gd2VyZGVuLCBkZW5uIGRhIGdpYnQgZXMgamEgc28KdmVyc2NoaWVkZW5lIEFuc2FldHplLCB2b24gKEEpRCZELCB3bydzIGVpZ2VudGxpY2ggKGZhc3QpIG51ciBmdWVycyBLbXBmZW4KKGJ6dy4gc2llZ2VuKSBYUCBnaWJ0IChqYWphLCBpY2ggd2VpcywgYXVjaCBlaW4gYmlzY2hlbiBmdWVyIGRpZSBBbndlbmR1bmcgdm9uCkJlcnVmc2ZhZWhpZ2tlaXRlbikgdWViZXIgTWlkZ2FyZCwgd28gbWFuIGZ1ZXIgZWlnZW50bGljaCBhbGxlcyBpcmdlbmR3YXMKa3JpZWd0ICh6dW1pbmRlc3QsIHdlbm4gbWFuIHNpY2ggZXhha3QgYW4gZGllIFJlZ2VsbiBoYWVsdCkgenUgU2FjaGVuIHdpZQpXYXJoYW1tZXIsIEd1cnBzLCBvZGVyIGF1Y2ggVmFtcGlyZSwgV2VyZXdvbGYgZXRjLiB3bydzIGVpZ2VudGxpY2ggbnVyIGZ1ZXIncwpsb2VzZW4gdm9uICJBdWZnYWJlbiIgb2RlciBmdWVyIGd1dGVzIGNoYXJha3RlcmdlcmVjaHRlcyBST0xMRU4tU3BpZWwKaXJnZW5kd2VsY2hlLCB3aWUgYXVjaCBpbW1lciBnZW5hbm50ZW4gUHVlbmt0Y2hlbiBnaWJ0LiBFdHdhcyBhdXMgZGllc2VyCkF1ZnphZWhsdW5nIGhlcmF1cyBmYWxsZW4gZGFubiBub2NoIGRpZSBDaGFvc2l1bS1SUEdzLCBkaWUgb2huZSBYUCB1bmQgbGV2ZWxzCnVuZCBzb3dhcyBhdXNrb21tZW4gdW5kIG51ciBtaXQgbG9lcm5pbmcgYmVpIGR1aW5nIGFyYmVpdGVuLiBXb3JhdWYgaWNoIGhpbmF1cwp3aWxsOiBpbiBzbyAgZ3V0IHdpZSBhbGxlbiBNVURzIGlzdCBkYXMgTGV2ZWwgZWluZSBGdW5rdGlvbiBkZXIgS2FtcGZrcmFmdCwKYWxzbyAgc3lzdGVtbWFlc3NpZyBiZWRlbiAoYWJlciB3aXJrbGljaCBudXIgc3lzdGVtbWFlc3NpZykKUHJpbWl0aXYicm9sbGVuInNwaWVsc3lzdGVtZW4gYW56dXNpZWRlbG4uIEVzIGdpYnQgendhciBpbSBNRyBhdWNoIFF1ZXN0cywgYmVpCmRlbmVuIG1hbiBYUCBrcmllZ3QoZnVlcnMgbG9lc2VuLCBuaWNodCBudXIgZnVlcnMgaW4tU3R1ZWNrZS1oYWNrZW4gYWxsCmRlc3Nlbiwgd2FzIGRhcyBRdWVzdGxvZXNlbiBldnRsLiBiZWhpbmRlcm4ga29lbm50ZS4gQWJlciBkaWVzZSBwdW5rdGUgbmVobWVuCnNpY2ggZG9jaCwgYmV0cmFjaHRldCBtYW4gZGllIE1pbGxpb24sIGRpZSBtYW4gYnJhdWNodCwgdW0gTWFnaWVyIHJlc3AuIFNlaGVyCnp1IHdlcmRlbiwgcmVjaHQgbWFnZXIgYXVzLiBEYWhlciBiaW4gaWNoIGRhZnVlciwgLCBkaWUgQmV0b251bmcgYXVmJ3MKUXVlc3Rsb2VzZW4sIHdhcyBtaXQgZWluIHdlbmlnIEhpcm50YWV0aWdrZWl0IHZlcmJ1bmRlbiBpc3QsIHp1IHNldHplbiwKYW5zdGF0dCwgd2llIG9iZW4gc2Nob24gZ2VzYWd0LCBkZW4gbGV2ZWwgbnVyIHZvbiBkZXIgS2FtcGZrcmFmdCBhYmhhZW5nZW4genUKbGFzc2VuLiBOZXVlIE1vbnN0ZXIgenUga25hY2tlbiBtYWNodCBqYSB3b2hsIGRlbSB3YWhyZW4gSmFlZ2VyIGF1Y2ggZGFubgpTcGFzcywgd2VubiBkYWJlaSBuaWNodCBzb2ZvcnQgZWluZSBCZWxvaG51bmcgaW4gRm9ybSB2b24gWFAgd2lua3QsIG9kZXIgPwpOYWphLCBFT1MsCiAgICAgICAgIEVscmljIChkZXIgYmVpIHNlaW5lbSBlaWdlbmVuIFZvcnNjaGxhZyBhdWNoIG5pY2h0IHNvIGJlc29uZGVycwp0b2xsIGFic2NobmVpZGVuIHd1ZXJkZSwgbWl0IDIxMCBBUC4uLi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoRWxyaWMsIDIyLiBTZXAgMTk5NCwgMTU6MDY6MjQpOgpvaCBqZSwgQXJ0aWtlbCBpbiBkZXIgRWxmZW5zaWVkbHVuZyBzY2hyZWliZW4uLi4uaWNoIGhvZmZlLCBpaHIga29lbm50IGV1Y2gKZHVyY2ggZGllIFR5cG9zIGR1cmNoc2NobGFnZW4uCkVscmljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpYUCB1LmEuIChCZWxkaW4sIDIyLiBTZXAgMTk5NCwgMTg6MjU6MTMpOgpVbSBhdWYgRWxyaWNzIEFydGlrZWwgenVydWVja3p1a29tbWVuLi4uCkljaCBzZWhlLCBkYXNzIGVpbiBhZXVzc2Vyc3QgYmV3YW5kZXJ0ZXIgUm9sbGVuc3BpZWxlciBoaWVyIGFtIFdlcmtlIHdhciA7KSAKLSBuZXR0IHdpcmtsaWNoIQpBYmVyIHVtIGVpbmUgQXVmbGlzdHVuZyB2b24gdmVyc2NoaWVkZW5lbiBTeXN0ZW1lbiBhdXMgdmVyc2NoaWVkZW5lbiBHZW5yZW4KZ2luZyBlcyBNSVIgbnVuIHdpcmtsaWNoIG5pY2h0IQpFcnN0IGVpbm1hbCBrYW5uIG1hbiBqYSB3b2hsIG51ciBGYW50YXN5LWFlaG5saWNoZXMgdmVyd2VuZGVuLi4uIGRhIGZhbGxlbgpWQU1QSVJFUyB1bmQgV0VSRVdPTEYgamEgd29obCBnYW56IHVuZCBnYXIgYXVzIGRlbSBSYXN0ZXIsIG9kZXIgZXR3YSBuaWNodD8KRGFubiBtdXNzIG1hbiBzaWNoIG5vY2htYWwgaW5zIEdlZGFlY2h0bmlzIHJ1ZmVuIHdvcnVtIGVzIGdpbmchIE5pY2h0IGV0d2EgdW0KZGllIFJlbm92aWVydW5nIGRlcyBBdWZzdGVpZ2UtU3lzdGVtcyBoaWVyIGltIE1HLiBOZWluLCBlcyBnaW5nIGxldHp0bGljaApkYXJ1bSBTcGllbGVyIHp1IHp3aW5nZW4gUXVlc3RlIHp1IGxvZXNlbiB1bSBTdHVmZW4gc3RlaWdlbiB6dSBrb2VubmVuLgpELmguIGRlciBTcGllbGVyIG11c3MgZHVyY2hzY2huaXR0bGljaCBlaW4gUXVlc3QgcHJvIFN0dWZlIGxvZXNlbi4gT2IgREFTCmFuZ2VzaWNodHMgZGVyIHNpY2hlciBrb21tZW5kZW4gR2lsZGVuLCB3byBlcyBhdWNoIHJlaW5lIEthZW1wZmVyIGdlYmVuIHNvbGwKbm9jaCBhbmdlYnJhY2h0IGlzdD8gU2NobGllc3NsaWNoIHNpbmQgS2FlbXBmZXIgc3ByaWNod29lcnRsaWNoZSBIYXVkcmF1ZmlzLAp1bmQgZXMgc29sbHRlIGF1Y2ggamVkZW0gU3BpZWxlciBzZWxic3R1ZWJlcmxhc3NlbiBzZWluLCBvYiBlciBsaWViZXIga2FlbXBmdApvZGVyIGRlbmt0ISEhIFNjaGxpZXNzbGljaCBrYW5uIGVyIG51ciBkYW5uIFNlaGVyL01hZ2llciB3ZXJkZW4sIHdlbm4gZXIgZ2VudWcKQVAgaGF0LgpJc3QgZGFzIG5pY2h0IHNjaG9uIEFuc3Bvcm4gZ2VudWc/Cldlbm4gbmljaHQsIGRhbm4gbXVzcyBkYXMgZ2VzYW10ZSBTeXN0ZW0gcmVmb3JtaWVydCB3ZXJkZW4gLSBldHdhIHdpZSBpbgpNaWRnYXJkIHdpZSBFbHJpYyBhdXNmdWVocnRlLgoKQlRXOiBJbiBBRCZEICh1bmQgYW5kZXJlbiBHeWdheC1Lb25zb3J0ZW4pIGtvbW10IGVzIGltbWVyIG5vY2ggZGFyYXVmIGFuIFdJRQptYW4gc3BpZWx0LCBtYW4ga2FubiBkdXJjaGF1cyBhdWNoIFhQIGZ1ZXIgQWJlbnRldWVyIHZlcmdlYmVuIQoKRU9TICAgICAgIEJlbGRpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYUCB1LmEuIChZZW5kaSwgMjIuIFNlcCAxOTk0LCAyMTo1OTo0Nik6CkhhbGxvIEJlbGRpbiEKCiIuLi51bmQgZXMgc29sbHRlIGF1Y2ggamVkZW0gU3BpZWxlciBzZWxic3R1ZWJlcmxhc3NlbiBzZWluLCBvYiBlciBsaWViZXIKa2FlbXBmdCBvZGVyIGRlbmt0ISEhIgoKSG1tbS4uLiBEaWUgS2FlbXBmZXIgYnJhdWNoZW4gZG9jaCBuaWNodCBob2VoZXJzdHVmaWcgenUgc2Vpbiwgc29sYW5nZSBtYW4gWlQKZmluZGVuIGthbm4gdW5kIGRpZSBzdGF0cyBuaWNodCBzdHVmZW5hYmhhZW5naWcgc2luZC4gSW4gIm5vcm1hbGVuIiBNVURzIG11c3MKbWFuIHNlaW5lIHN0YXRzIG1pdCBFUCBmdWV0dGVybiAoa2FlbXBmZW4sIGthZW1wZmVuLCBrYWVtcGZlLi4uKSwgZGllIHN0YXRzCmthbm4gbWFuIGluIGplZGVyIFN0dWZlIG51ciBiaXMgenUgZWluZW0gZ2V3aXNzZW4gV2VydCBlcmhvZWhlbiwgZGFuYWNoIG11c3MKbWFuIGVyc3QgbWFsIHdpZWRlciBFUCB6dXNhbW1lbmtyYXR6ZW4sIHVtIHNlaW5lIFN0dWZlIHp1IGVyaG9laGVuIChrYWVtcGZlbiwKa2FlbXBmZW4sIGthZW1wZmVuLi4uKS4gRG9ydCBzaW5kIFF1ZXN0IHouVC4gbmVydmlnLCB3ZW5uIG1hbiBnZW51ZyBFUAp6dXNhbW1lbmdla2FlbXBmdCBoYXQsIHVtIGlyZ2VuZGVpbiBzdGF0IHp1IGVyaG9laGVuLCB3YXMgYWJlciBuaWNodCBnZWh0LAp3ZWlsIGRlciBsZXZlbCBuaWNodCBob2NoIGdlbnVnIGlzdCwgd29yYXVmaGluIG1hbiBzaWNoIGRhbm4gZ2VudWcgRVAKenVzYW1tZW5rYWVtcGZ0LCB1bSBkZW4gbGV2ZWwgenUgZXJob2VoZW4sIHdhcyBhYmVyIG5pY2h0IGdlaHQsIHdlaWwgbWFuIFF1ZXN0ClhZWiBub2NoIG5pY2h0IGdlbG9lc3QgaGF0Li4uCgpISUVSIGthbm4gbWFuIGthZW1wZmVuLCBzb3ZpZWwgbWFuIHdpbGwsIG9obmUgUXVlc3RzIGxvZXNlbiB6dSBtdWVzc2VuIQpNYW4gaGF0IGtlaW5lbiBOYWNodGVpbCBkYWR1cmNoLCB3ZW5uIG1hbiBRdWVzdHMgbmljaHQgbG9lc3QhCldvenUgc29sbCBlaW4gS2FlbXBmZXIgMTUuIFN0dWZlIHNlaW4sIGVyIG11c3MgZG9jaCBlaCBrZWluZSBTcHJ1ZWNoZQpsZXJuZW4uLi4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWFAgKEtldG9zLCAyMi4gU2VwIDE5OTQsIDIyOjEzOjA2KToKV2VubiBtYW4gU3BpZWxlciB2cm9zY2hyZWlidCBlaW5lIFF1ZXN0IHBybyBMZXZlbCB6dSBsb2VzZW4sIGRhbm4gZnVlaHJ0CmRhcyBkYXp1LCBkYXNzIHNpZSBtaXQgTXVzdGVybG9lc3VuZ2VuIGR1cmNoIGRpZSBRdWVzdHMgcmFzc2VuIHVtIEthbXBmLQprcmFmdCB6dWJla29tbWVuLiBBYmVyIHp1bSBHbHVlY2sgaGFiZW4gd2lyIGhpZXIgZGFzIFpULVN5c3RlbSEKCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUta2VvdHMgKFRob3JpbiwgMjIuIFNlcCAxOTk0LCAyMjoyNjozNik6CmF1IHdlaWEsIGhvZmZlbnRsaWNoIG5pbW10IG1pciBkYXMga2V0b3MgbmljaHQgdWViZWwsIHNvbGx0ZSBrZXRvcyBoZWlzc2VuCjopKSBhYmVyIHdhcyBpY2ggc2NocmVpYmVuIHdvbGx0ZSA6CmRhcyBtaXQgZGVuIG11c3RlcmxvZXN1bmdlbiBpc3QgZG9jaCBrZWluIGFyZ3VtZW50LCBwcm9nZ3QgZG9jaCBzbywgZGFzcyBlcwprZWluZSBtdXN0ZXJsb2VzdW5nZW4gZ2lidCAuLi4gaXN0IHp3YXIgc2Nod2llcmlnZXIsIGFiZXIgZG9jaCBuaWNodAp1bnNjaGFmZmJhciwgb2RlciA/Pwp0aG9yaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFwIGZ1ZXIgU3R1ZmUgKEdyaW1tYm9ybiwgMjMuIFNlcCAxOTk0LCAwMjozMDowNSk6CgpBbHNvLCBpY2ggZmluZGUgZGllIFJlZ2VsdW5nIHByaW1hLCBkYXNzIG1hbiBmdWVyIEhvZWhlcmUgU3R1ZmVuIGF1Y2ggbWVociBhcApicmF1Y2h0LiBOYXR1ZXJsaWNoIGhhdCBLZXRvcyByZWNodCwgZGFzcyBkaWUgTGV1dGUgZGFubiB2b24gQW5mYW5nIGFuIG1pdApLb21wbGV0dGxvZXN1bmdlbiByZW5uZW4uIE51cjogSmV0enQgcmVubmVuIHNpZSBoYWx0IG1pdCBTdHVmZSAxOSB1bmQKS29tcGxldHRsb2VzdW5nZW4gZHVyY2ggZGllIEdlZ2VuZC4gRGVyIFVudGVyc2NoaWVkIGlzdCBlaGVyIGdlcmluZy4gTmllbWFuZApoYXQgdm9yZ2VzY2hsYWdlbiwgZ2xlaWNoIGRpZSAyLiBTdHVmZSB2b24gNTAwIGFwIGFiaGFlbmdpZyB6dSBtYWNoZW4uIEF1Y2gKZWluICJlaW5lIFF1ZXN0IHBybyBsZXZlbCIgaXN0IG5pY2h0IHNpbm52b2xsLiBXYXMgaWNoIHZvcnNjaGxhZ2VuIHd1ZXJkZSBzaW5kCm5pY2h0IFF1ZXN0LUZvcmRlcnVuZ2VuIHNvbmRlcm4gYXAtRm9yZGVydW5nZW4uIFVuZCB6d2FyIGV4cG9uZW50aWVsbAphbnN0ZWlnZW5kIG1pdCBkZW4gZnVlciBTZWhlci9pbiBlcmZvcmRlcmxpY2hlbiBQdW5rdGVuIGFscyBNYXhpbXVtLiBXZW5uIGRhcwpoZWlzc3QsIGRhc3MgbWFuIGZ1ZXIgZGllIDUuIFN0dWZlIDcgUHVua3RlIGJyYXVjaHQsIGRhbm4ga2FubiBtYW4gZWJlbiBzb3dlaXQKYXVmc3RlaWdlbiBvaG5lIHp1IHF1ZXN0ZW4uIERhcyBmdWVocnQgZGFubiBhdWNoIGRhenUsIGRhc3MgTmV3YmllcyBuaWNodCBtaXQKUXVlc3RlbiB0b3RnZXNjaG1pc3NlbiB3ZXJkZW4gc29uZGVybiBlcnN0bWFsIGRhcyBNRyBldHdhcyBrZW5uZW5sZXJuZW4Ka29lbm5lbi4gRXMgaXN0IG5hZW1saWNoICh6dW1pbmRlc3QgYmVpIG1pciBzbyBnZXdlc2VuKSBkZW1vdGl2aWVyZW5kLCBuYWNoCmluZm8gendhciAxLDYgbWlvIGVwIHp1IHNlaGVuIGFiZXIgbnVyIDYzMCBhcC4gV2VubiBkaWVzZXIgU3BydW5nIGV0d2FzCmdlZWJuZXQgd2lyZCBmYWVuZGUgaWNoIGRhcyBudXIgcG9zaXRpdi4gV2lyIGhhYmVuIHNvIHZpZWxlIHR1ZWNodGlnZSBNYWdpZXIKaGllciwgZGFydW50ZXIgdmllbGUgTWF0aGVtYXRpa2VyIHVuZCBhZWhubGljaGUsIGlyZ2VuZHdlbSB3aXJkIGRhIGRvY2ggZWluZQpzY2hvZW5lIGtvbXBsaXppZXJ0ZSBGb3JtZWwgenUgZWluZmFsbGVuLiBEZW5rYW5zYXR6OiBTdHVmZSAxNSAod2FyIGRvY2ggZGVyCkZldWVyYmFsbCBkb3J0LCBuaWNodD8pIHZlcmxhbmd0IDUwJSBkZXIgbm9ldGlnZW4gYXAuCgpXZXIgd2Vpc3MsIHZpZWxsZWljaHQgc2V0enQgc2ljaCBkaWVzZSBJZGVlIG1hbCBkdXJjaC4gTWVybGluIGlzdCBqYQpiZWthbm50bGljaCBzY2h3ZXIgenUgdWViZXJ6ZXVnZW4uLi4KCgpNaXQgdGF1YmVuIE9ocmVuIHdnLiBEaXNjb2Jlc3VjaCAoVGVjaG5vIG9kZXIgd2FzIGRhcyBkb3J0IHdhciBpc3QgS0VJTkUKTXVzaWshKToKICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2hzIChLcmV0ZWssIDIzLiBTZXAgMTk5NCwgMDI6NDc6MzkpOgpBdWYgamVkZW4gRmFsbCEKCkljaCBoYXR0ZSBhdWNoIHNjaG9uIGRhcyBHbHVlY2sgKD8pLCBiZWkgendlaSBXZWx0dW50ZXJnYWVuZ2VuIGRhYmVpZ2V3ZXNlbgp6dSBzZWluLCB1bmQgd2VyIGF1Y2ggaW1tZXIgZnVlciBkaWVzZSBTZXF1ZW56ZW4genVzdGFlbmRpZyBpc3Q6CkdSQUFBQVRTISEhIERhcyBpc3QgbWVpbmVyIE1laW51bmcgbmFjaCBlaW5lcyBkZXIgYmVzdGVuIEZlYXR1cmVzIGltCk1vcmdlbkdyYXVlbiAoaWNoIHNhZyBudXIgZGVzd2VnZW4gbmljaHQgREFTIGJlc3RlLCB3ZWlsIGljaCBhbHMgTGV2ZWwtMTAtClp3ZXJnIGphIGF1Y2ggbm9jaCBnYXIgbmljaHQgYWxsZSBrZW5uZW4ga2Fubi4uLikKCkVyZ286IFdlbHR1bnRlcmdhbmdzcGFydHkga2xpbmd0IFNVVVVVVVBFUiEKCiAgICAgICBLcmV0ZWssIHNjaG9uIGVpbiBiaXNzY2hlbiBzZW5zYXRpb25zaHVuZ3JpZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggbWVociBTZW5mIChOaXhpaG91LCAyMy4gU2VwIDE5OTQsIDE3OjQwOjM1KToKYWxzbyBudXIsIHVtIG1hbCB3aWVkZXIgd2FzIHp1bSBhbGxnZW1laW5lbiBaZXRlciB1bmQgTW9yZGlvIGJlaXp1dHJhZ2VuCmhhYmUgaWNoIGRhIGVpbiBwYWFyIGZyYWdlbiB6dSBkZW4gZWZmZWt0ZW4sIGRpZSBlaW4gQ1JBU0ggb2RlciBSRUJPT1QgYXVmCmRpZQpzcGllbGVyIGhhdC4KWnVtIGVpbmVuIHZlcmxpZXJ0IG1hbiBkYWJlaSBzZWluZS9paHJlIEFVU1JVRVNUVU5HISAod2FzIHp3YXIgbmljaHQgc28gdG9sbAppc3QsCmFiZXIgd29obCBoaWVyIG5pY2h0IGdlYWVuZGVydCB3ZXJkZW4gd2lyZCkgVW5kIG1hbiBiZWtvbW10IGZ1ZXIgZGllc2VuCnRyYWdpc2NoZW4gVkVSTFVTVCwgd2VubiBtYW4gdmllbCBnbHVlY2sgaGF0IGVpbmUgRmluYW56aWVsbGUgZW50c2NoYWVkaWd1bmcuCihkaWUgbWFuIG5ldWVyZGluZ3MgZ2FyIG5pY2h0IG1laHIgdHJhZ2VuIGthbm4sIGRhIG1hbiBlaWdlbmRsaWNoIG51ciAzMDAwMAptdWVuemVuIGJlc2l0emVuIGRhcmYuIG1hbiBzaWVodCBhbHNvIEdlbGQgbWFjaHQgTklDSFQgZ2x1ZWNrbGljaC4uLikKQW5kZXJlcnNlaXRzIGhhdCBlaW4gcmVib290IG9kZXIgQ1JBU0ggdWViZXJoYXVwdCBrZWluZSBhdXN3aXJrdW5nIGRhcmF1ZiwKd2llIHZpZWwgbWFuIG51biAoaW4gZWluZW0gdmVybWVpbnRsaWNoIG5ldWVuIE1HKSBlc3NlbiB1bmQgdHJpbmtlbiBrYW5uLgoobWFuIGthbm4gYWxzbyBrZWluZSBhdXNydWVzdHVuZyBpbnMgd2llZGVyYXVmZXJzdGFuZGUgbXVkIG1pdG5laG1lbiwgd29obAphYmVyCnNlaW5lbiB2b2xsZW4gbWFnZW4gdW5kIGRlbiBob2hlbiBibHV0YWxrb2hvbHNwaWVnZWwhISkKdW5kIHp1IGFsbGVtIHZlcmRydXNzIHN0ZWxsdCBtYW4gZGFubiBhdWNoIG5vY2ggZmVzdCwgZGFzcyBtYW4gc2VsYmVyLCBpbQpnZWdlbnNhdHogenUgZGVuIE1vbnN0ZXJuLCBkaWUgbWFuIGdlcmFkZSBiZWthZW1wZnQgaGF0LCBzZWluZSB2ZXJsb3JlbmVuCkxQIHVuZCBNUCBlcnN0IHJlZ2VuZXJpZXJlbiBtdXNzLgpGZWhsdCBoaWVyIG5pY2h0IGlyZ2VuZHdvIGRpZSByaWNodGlnZSBiYWxsYWNlPz8KCk5peGksIGVyIGhhc3NzdCBDUkFTSCdzIG5vY2ggdmllbCBtZWhyIGFscyByZWJvb3QncwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTnVyIG1hbCBzbyB6dW0gR29ibGluZHJhY2hlbiAoTG9vc2VyLCAyNS4gU2VwIDE5OTQsIDEyOjQ3OjAxKToKSGlhIE11ZGRpZXMgLSBoaWVyIG51ciBtYWwgZWluIGtsZWluZXIgQXJ0aWtlbCB1ZWJlciBtZWluZW4gYmVzb25kZXJlbiBGcmV1bmQKIQpFciBzb2xsIG51ciBhbGxlIGRpZSBTcGllbGVyIGFic2NocmVja2VuLCBkaWUgbWVpbmVuLCBtYW4ga2FubiBtaWhuIG1pdCB1bnRlcgpMZXZlbCAxNSBzY2hhZmZlbjogRGVyIEdvYmxpbmRyYWNoZSAhCkVpbiBBdXN6dWcgYXVzIGRlbSBLYW1wZiBzaWVodCBub3JtYWxlcndlaXNlIHdpZSBmb2xndCBhdXM6CiAgRGVyIERyYWNoZSBncmVpZnQgRGljaCBtaXQgc2VpbmVuIEtsYXVlbiBhbi4KICBEZXIgRHJhY2hlIHRyaWZmdCBEaWNoIHNlaHIgaGFydC4KRHUgaGFzdCBqZXR6dCAxNzkgTGViZW5zcHVua3RlIHVuZCA4OSBNYWdpZXB1bmt0ZS4KPiBzbwogIER1IGdyZWlmc3QgZGVuIERyYWNoZW4gbWl0IGJsb3NzZW4gSGFlbmRlbiBhbi4KICBEdSB2ZXJmZWhsc3QgZGVuIERyYWNoZW4uCiAgRGVyIERyYWNoZSBncmVpZnQgRGljaCBtaXQgc2VpbmVuIEtsYXVlbiBhbi4KICBEZXIgRHJhY2hlIHRyaWZmdCBEaWNoIHNlaHIgaGFydC4KRHUgaGFzdCBqZXR6dCAxNjMgTGViZW5zcHVua3RlIHVuZCA4OSBNYWdpZXB1bmt0ZS4KRGVyIERyYWNoZSBncmVpZnQgYWxsIHNlaW5lIEdlZ25lciBtaXQgZWluZW0gZWluemlnZW4gZ2lnYW50aXNjaGVuCkF1c3N0b3NzIHZvbiBGZXVlciBhbi4KRGFzIEVpc2FtdWxldHQgc2NobWlsenQgZHVyY2ggZGllIHp1IGdyb3NzZSBIaXR6ZS4KICBEZXIgRHJhY2hlIHplcnNjaG1ldHRlcnQgRGljaCBpbiBrbGVpbmUgU3R1ZWNrY2hlbi4KRHUgaGFzdCBqZXR6dCAxMjQgTGViZW5zcHVua3RlIHVuZCA4OSBNYWdpZXB1bmt0ZS4KRGllIGVudHNldHpsaWNoZSBIaXR6ZSBicmluZ3QgRGljaCBmYXN0IHVtLgpEdSBoYXN0IGpldHp0IDEwMCBMZWJlbnNwdW5rdGUgdW5kIDg5IE1hZ2llcHVua3RlLgogIERlciBEcmFjaGUgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBGZXVlcmF0ZW0gYW4uCkR1IGhhc3QgamV0enQgOTggTGViZW5zcHVua3RlIHVuZCA4OSBNYWdpZXB1bmt0ZS4KZ2VudWVndCBkYXMgPwpDaWFvIC0gTG9vc2VyICgzKiBoYXQgZGVyIGRyYWNoZSBpaG4gc2Nob24gZXJ3aXNjaHQgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgc28genVtIEdvYmxpbmRyYWNoZW4gKENhcmFkaHJhcywgMjUuIFNlcCAxOTk0LCAyMDozOTozNik6CgpHaW5nIGphIG5vY2ggcmVjaHQgZ3V0IGZ1ZXIgZGljaCBhYiwgTG9vc3IgOikKYWVoIExvb3Nlci4uLgoKSWNoIG1pdCBtZWluZW4gMjEwIGF1c2RhdWVyIG1heGltdW0gYmluIG1hbCByZWluLCBoYWIgaWhuIGFuZ2VncmlmZmVuCihkYW5hY2ggaW1tZXIgbm9jaCAyMTAsIGRhIGVpbiBmZXVlcmJhbGwsIGRhbm4gZ2xlaWNoIHN1ZWRvc3Rlbj0KdW5kIGJpbiBkYW5uIG1pdCBudyBmZXVlcmJhbGwgc28gbm9jaG1hbCByZWluLCBkYW5uIGhhdHRlIGljaCBudXIgbm9jaAoxMTIgOikgd2FyIHNwYXNzaWcgOikpKSkpCgphbHNvIG5pY2h0IG51ciB3YXJudW5nIHZvbiBsZXZlbCA8PTE1LCBzb25kZXJuIGF1Y2ggdm9uIHZvcnNpY2h0IHVudGVyCjExMCA6LSkKCglDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcmJ1bmcuLi4gKERheCwgMjYuIFNlcCAxOTk0LCAxMjowNzo0Myk6ClNvIExldXRlIGhldXRlIG1vZWNodGUgaWNoIGF1Y2ggbWFsIGhpZXIgbWVpbmVuIFNlbmYgYWJsYXNzZW4uLgooZGFzIGVyc3RlIG1hbCkqZnJldSoKd2llIHZpZWxsZWljaHQgc2Nob24gZWluaWdlIGJlbWFlcmt0IGhhYmVuICxnaWJ0IGVzIGpldHp0IGVpbgpuZXVlcyBNVUQgZGFzIHNvZ2VuYW5udGUgQm9yZ0BNdWQgb2RlciBTdGFydHJla211ZCBvZGVyIHdpZSBhdWNoIGltbWVyLgpKZWRlbmZhbGxzIHNvbGwgZGllc2VzIE11ZCBzaWNoIG5pY2h0IGFuIEZhbnRhc3lsaXRlcmF0dXIgb2RlciBSb2xsZW5zcGllbGVuCm9kZXIgYWVobmxpY2hlbSBvcmllbnRpZXJlbixzb25kZXJuIGFuClNjaWVuY2UtRmljdGlvbi1MaXRlcmF0dXIsLXNlcmllbiwtZmlsbWVuIGV0Yy4gcHAuIEdlc3VjaHQgd2VyZGVuIG5vY2gKZXJmYWhyZW5lIHVuZCBpbnRlcmVzc2llcnRlIExldXRlLGRpZSBlaW4gcGFhciBJZGVlbiBpbSBCZXp1ZyBhdWYgZGFzIE11ZApoYWJlbiB1bmQgYXVjaCBnZXdpbGx0IHNpbmQsZGllc2UgenUgdmVyd2lya2xpY2hlbi4KV2VyIGFsc28gTHVzdCBhdWYgcHJvZ3JhbW1pZXJlbiB1bmQgU2NpZW5jZS1GaWN0aW9uIHJlc3Bla3RpdmUgU3RyYVRyZWsgaGF0CnNvbGx0ZSBzaWNoIG1hbCBlaW5sb2dnZW4gdW5kIGFuIG1pY2ggYnp3LkNiYW90aCBvZGVyIEN5Ym9yZyBvZGVyIEJlcnQgb2RlcgpUb3JpbiBvZGVyIFRob3Igb2RlciBSb211bHVzIHdlbmRlbi4KRGllIHRlbG5ldC5hZHJlc3NlIGlzdDplbGFuLnVyeiA3NjgwCkZ1ZXIgU3BpZWxlciBpc3QgZGFzIGdhbnplIG5vY2ggdW5pbnRlcmVzc2FudCxkYSBub2NoIG5pY2h0IGZlcnRpZy4uLndlbm4gaWhyCmFiZXIgTHVzdCBoYWJ0IG1pdHp1bWFjaGVuLi5tZWxkZXQgRXVjaC4uLgpDaWFvIHNhZ3QgZ2FueiBsaWViIEV1cmUgXwogICAgICAgICAgICAgICAgICAgICAgICAgfF9cCiAgICAgICAgICAgICAgICAgICAgICAgICB8Xy9BWC4uLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6V2VyYnVuZyAoS2VybWl0LCAyNi4gU2VwIDE5OTQsIDEzOjE5OjIzKToKYWxzbyBkaWUgdm9sbHN0YWVuZGlnZSBhZHJlc3NlIGxhdXRldCxtYW4gdmVyemVpaGUgbWlyIGRlbiBGZWhsZXI6CmVsYW4udXJ6LnVuaS1tYWdkZWJ1cmcuZGUgNzY4MDopCnZlcnN1Y2h0cyBqZXR6dCBub2NoIG1hbC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBYUCB1LmEuIChCZWxkaW4sIDI2LiBTZXAgMTk5NCwgMTk6MjI6MjkpOgpIYWxsbyBZZW5kaSEgOikKRHUgdmVyZ2lzc3QgZGFiZWksIGRhc3MgZGllIFN0dWZlbiB6LkIuIGRhenUgZ2VicmF1Y2h0IHdlcmRlbiwgdW0gZGllCldhZmZlbmZlcnRpZ2tlaXRlbiB6dSBkZWZpbmllcmVuIChnbGF1YiBpY2ggd2VuaWdzdGVucykuIEVpbiBBcmd1bWVudCwgYXVjaAplaW5lbSBLYWVtcGZlciBlaW5lIFN0dWZlbnN0ZWlnZXJ1bmcgenUgZXJtb2VnbGljaGVuLiBJbSB3ZWl0ZXJlbiBnZWJlIGljaApLZXRvcyBudXIgenUgZ2VybiByZWNodCEhIQoKRU9TIChlbmRndWVsdGlnIHp1IGRpZXNlbSBibG9lZGVuIFRoZW1hKSBCRUxESU4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWdpc2NoZXMgQXVnZSAoR251bGxpLCAyNy4gU2VwIDE5OTQsIDEyOjU4OjMwKToKSGFsbGkgaGFsbG8hCgpJY2ggc3VjaGUgUFJHIGZ1ZXIgTVMvRE9TZW4sIG1pdCBkZW5lbiBtYW4gQmlsZGVyIG1hY2hlbiBrYW5uLCBkaWUKMy9kaW1lbnNpb25hbCBzaW5kLCBoYWx0IG1hZ2lzY2hlIEF1Z2UgbGlrZS4KCldlciBrYW5uIG1pciBkYSB3ZWl0ZXJoZWxmZW4gLi4uCgpCaXR0ZSBtYWlsdCBtYWwKCkdudWxsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1hZ2lzY2hlcyBBdWdlIChHdWxkdWthdCwgMjcuIFNlcCAxOTk0LCAxMzozMTo1Myk6CkVzIGdpYnQgenVyIFplaXQgZWluZSBBU00tU3BlY2lhbCwgZGllIHNpY2ggbWl0IGRpZXNlbSBUaGVtYSBiZWZhc3N0LiBEYSBzb2xsCmVpbiBwcm9ncmFtbSBhdWYgZGVyIGJlbGllZ2VuZGVuIENEIHNlaW4sIGRhcyAzRCBCaWxkZXIgemVpY2huZXQuIChpY2ggaGFiZQpkaWUgY2QgenVoYXVzZSwgYWJlciBub2NoIG5pY2h0IHJlaW5nZWd1Y2t0KS4KR3VsIER1a2F0LCBIZXJyc2NoZXIgdm9uIFRlcmVrJ05vcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hZ2lzY2hlcyBBdWdlIChIYXIsIDI3LiBTZXAgMTk5NCwgMTU6MTY6MzApOgpJY2ggZ2xhdWIgaW4gZGVyIENUIHZvciBmcmVpIE1vbmF0ZW4gd2FyIGVpbiBQcm9ncmFtbSBiZXNjaHJpZWJlbiwgbWl0IGRlbQpkYXMgZ2VodCwgaXN0IGluIFR1cmJhUGFzY2FsIGZ1ZXIgV2luZG93cyBnZXNjaHJpZWJlbiB1bmQgaWNoIGhhYiBlcwphdXNwcm9iaWVydC4gRXMgbGllZmVydCBnYW56IG5ldHRlIEVyZ2Vibmlzc2UsIHNjaG5lbGwgdW5kIGVpbmZhY2guIERpZSBGaWxlcwp3ZXJkZW4gbnVyIHNvIGdyb3NzLCBkYXNzIGljaCBzaWUgYXVmIG1laW5lbSBoZWltaXNjaGVuIExhc2VyZHJ1Y2tlciBuaWNodAptZWhyIGRydWNrZW4ga2Fubiwgd2VubiBtYW4gd2FzIGF1ZndlbmRpZ2VzIG1hY2h0LCBhYmVyIHp1bSBTcGllbGVuIGtsYXNzZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsdW1lbmxhZGVuIChSYWZhZWwsIDI3LiBTZXAgMTk5NCwgMTY6Mzc6MTIpOgpIYWxsbywgaWhyIGdyb3NzZW4gTWFnaWVyZSEKCk1hbCBlaW5lbiBWb3JzY2hsYWcgdm9uIG1pci4KSWNoIHdlaXNzIHp3YXIgbmljaHQgb2IgZXMgc293YXMgc2Nob24gZ2lidCwgYWJlciB3aWUgd2FlcmUgZXMsIHdlbm4gSWhyIG1hbAplaW5lbiBCbHVtZW5sYWRlbiBvZGVyIGVpbmVuIEp1d2VsaWVyIHByb2dyYW1taWVydC4KRGFtaXQgbWFuIHVuc2VyZSBEYW1lbiBhdWNoIGVpbiBiaXNzY2hlbiB2ZXJ3b2VobmVuIGthbm4uCkFsc28gZGVua3QgbWFsIGJpdHRlIGRydWViZXIgbmFjaC4KCip3aW5rKiAmICprbnVkZGVsKgogICAgICAgICAgICAgICAgICAgIFJhZmFlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hZ2lzY2hlcyBBdWdlIChDYXR3ZWF6bGUsIDI3LiBTZXAgMTk5NCwgMTY6NTE6NTQpOgpad2VpIGtsZWluZSBwcm9ncmFlbW1jaGVuIGRpZSBlYmVuc29sY2hlIEJpbGRlciBtYWNoZW4gc2luZCBpbgovcGxheWVycy9jYXR3ZWF6bGUvcHViIG1pdCBuYW1lbiBzaXJkIHVuZCBzaXJkdnUxMS4gRWlucyBkYXZvbgpsYWV1ZnQgc29nYXIgcmVsYXRpdiBrb21mb3J0YWJlbCB1bnRlciBEb3NlbndpbmRvd3MuIFNvbGx0ZQpOaWNodG1hZ2llckJlZGFyZiBiZXN0ZWhlbiBzY2hpZWIgaWNocyBnZXJuIG5hY2ggL29wZW4uCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyd2V0dGJld2VyYiAoR3JpbW1ib3JuLCAyNy4gU2VwIDE5OTQsIDE2OjUzOjIyKToKCkhtbSwgQ2F0LCBudXIgbWFsIHNvIGVpbiBHZWRhbmtlLiBBbmdlbm9tbWVuLCBlcyB3dWVyZGVuIHNvIDM1IFNlaGVyCm1pdG1hY2hlbiwgdW5kIGFsbGUgKHp1bSBCZWlzcGllbCkgMjAwMCBNdWVuemVuIGVyd2lydHNjaGFmdGVuLCBnYWViZSBlcyBkYW5uCjM1IFNlaGVyaGFldXNlcj8KTmFjaCBEZWluZW4gUmVnZWxuIGRvY2ggd29obCBzY2hvbiwgZGVua2UgaWNoLi4uClNpY2ggdW50ZXIgZGllc2VtIEdlZGFua2VuIG1vZWdsaWNoZXJ3ZWlzZSBkb2NoIGFubWVsZGVuZDoKCiAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVyd2V0dGJld2VyYiAoQ2F0d2VhemxlLCAyNy4gU2VwIDE5OTQsIDE3OjA2OjA0KToKRWluZmFjaCwgaWNoIGxvZ2dlIG1laW5lbiBUZXN0c2VoZXIgZWluLCBtYWNoZSBtaXQgaWhtIDIwMDEgTXVlbnplbiwKemFjaywgdW5kIHNjaG9uIGhhYiBpY2ggZWluIHNlaGVyaGF1cyA6KQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlIFJlIFNlaGVyd2V0dGJld2VyYiAoR3JpbW1ib3JuLCAyNy4gU2VwIDE5OTQsIDE3OjA5OjMxKToKCkphLCB3ZW5uIGljaCBnZWFobnQgaGFldHRlLCBkYXNzIE1hZ2llcmhpbGZlIGltIFdldHRiZXdlcmIgZXJsYXVidCBpc3QuLi4KV2VubiBpY2ggZWluZW4gbmV0dGVuIE1hZ2llciBmaW5kZSwga2FubiBpY2ggbWljaCBub2NoIGFubWVsZGVuPyBLYW5uIGRvY2ggc28Kc2Nod2VyIG5pY2h0IHNlaW4sIGRhbm4genUgZ2V3aW5uZW4uLi4KVW5kIGF1cyBkZW0gSGF1cyBtYWNoIGljaCBkYW5uIGRpZSBTZWhlcmdpbGRlLgoKR2VzcGFubnQ6CiAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpUcywgZGllIHgtdGUgKFlhbnRybywgMjguIFNlcCAxOTk0LCAxMToxNjowMCk6CkhhbGxvZWNoZW4gOikKSWNoIHdpbGwgaGllciBub2NobWFsIGF1ZiBkYXMgUHJvYmxlbSBtaXQgZGVuIG5pY2h0YW5nZXNjaGxvc3NlbmVuIFpUcwp6dXJ1ZWNra29tbWVuLi4uLgpXaWUgamEgbnVuIFphcmRveiBnZW91dGV0IGhhdCwgd2FyZW4gZGllIFB5cmFtaWRlbiBrZWluIEVpbnplbGZhbGwsIHNvZGFzcwppY2ggZGVyIE1laW51bmcgYmluLCBkYXNzIGhpZXIgd2lya2xpY2ggZWluZSBMb2VzdW5nIGdlZnVuZGVuIHdlcmRlbiBtdXNzLgpFcyBnYWIgamEgbWFsIGRpZSBEaXNrdXNzaW9uIGVpbmVyICJXYWhyc2FnZXJpbiIgZnVlciBTZWhlciwgZGllLCBuYXR1ZXJsaWNoCm1pdCBHZWdlbmxlaXN0dW5nLCBaVC1PcnRlIHZlcnJhdGVuIHNvbGx0ZS4gRGFzIGRpZXNlIEZpZ3VyIG5pY2h0IGVyc2NoYWZmZW4Kd3VyZGUsIGlzdCBtaXIga2xhciA7KQpBYmVyIHZpZWxsZWljaHQga2FubiBtYW4gZGVuIFNlaGVySW5uZW4gZGllIE1vZWdsaWNoa2VpdCBnZWJlbiwgenUgZXJmYWhyZW4sCndpZSB2aWVsZSBkZXIgbm9jaCBmZWhsZW5kZW4gWlRzIGFuZ2VzY2hsb3NzZW4gc2luZCB1bmQgYmVpIHdpZXZpZWxlbiBlcyBzaWNoCm5vY2ggbG9obnQsIHp1IHN1Y2hlbj8/Pz8KRGFzIHdhZXJlIHp1bWluZGVzdCBmYWlyIGdlZ2VudWViZXIgZGVuIFNlaGVySW5uZW4sIGRpZSBkaWUgU3VjaGUgbm9jaCBuaWNodApnYW56IGF1ZmdlZ2ViZW4gaGFiZW4gdW5kIGRpZSBuaWNodCBpbiBlaW5lIEZhbGxlIGdlbG9ja3Qgd2VyZGVuIHNvbGx0ZW4uLi4uLi4KU28sIGlociBNYWdpZXIsIHZpZWwgU3Bhc3MgYmVpbSBVbXNldHplbi4uLi4uLgpFdWVyIFlhbnRybyBBZGRhdXJhOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaVHMsIGRpZSB4LXRlIChCb2luZywgMjguIFNlcCAxOTk0LCAxMToyMTo1OSk6CkljaCBrYW5uIGhpZXIgZ2VuYXUgc2FnZW4sIHdpZXZpZWxlIFphdWJlcnRyYWVua2UgbW9tZW50YW4gbmljaHQKYW5nZXNjaGxvc3NlbiBhYmVyIGFrdGl2IHNpbmQ6IEdlbmF1IGVpbmVyCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFpUcywgZGllIHgtdGUgKFlhbnRybywgMjguIFNlcCAxOTk0LCAxMTozMzo0Mik6CkhpIEJvaW5nIDopCkRlciBFSU5FICBzb2xsdGUgc2ljaCBkYW5uIGFiZXIgZG9jaCB2ZXJsZWdlbiBsYXNzZW4sIG9kZXI/PwpZYW50cm8gQWRkYXVyYTopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBc2NoZSB6dSBBc2NoZS4uLlNlbmYgenUgU2VuZiAoRmxpbnRuYWlsLCAyOC4gU2VwIDE5OTQsIDE0OjEzOjU4KToKSGkgYXVjaC4uLktsYXVzdXJaZWl0cmF1bSB2b3JiZWkuLi5GbGludCB3aWVkZXIgZGEuLi4KS2FubiBtaXIgbWFsIGplbWFuZCB2ZXJyYXRlbiwgd29ydW0gZXMgc2ljaCBiZWkgZGVyIEFQL0VQIERpc2t1c3Npb24gaGFuZGVsdD8KSWNoIHZlcnN0ZWhlIGV1cmUgQmV3ZWdncnVlbmRlIG5pY2h0ICh1bmQgbm9jaCB3ZW5pZ2VyIGV1cmUgQXJndW1lbnRlKS4uLgpBbHNvLi4ud2VsY2hlcyBTeXN0ZW0gdmVyd2VuZGV0IHdpcmQgbGllZ3QgbmljaHQgaW4gU3BpZWxlcmhhZW5kZW4hIEFsc28KcmVpY2h0IGVzIGRvY2ggZWlubWFsIG5lIEFubWVya3VuZyB6dSBNb2VnbGljaGtlaXRlbiB6dSBnZWJlbiwgb2RlciBuaWNoPwpFcyBpc3QgZG9jaCBsb2dpc2NoLCBkYXMgdmVyc2NoaWVkZW5lIFB1bmt0c3lzdGVtZSBhdWNoIHZlcnNjaGllZGVuZW4gTGV1dXRlbgp2ZXJzY2hpZWRlbiBndXQgb2RlciBzY2hsZWNodCBnZWZhbGxlbi4uLi5kYSBtdXNzIG1hbiBkb2NoIG5pY2h0IGVpbmVuIEJhbGwKaGluIHVuZCBoZXJ3ZXJmZW4uLi4KRGVtZW50c3ByZWNoZW5kIGt1cnogdW5kIGtuYXBwIG1laW5lIE1laW51bmc6IFNjaGFmZnQgZWluZmFjaCBhbGxlIEVQIGFiLApkZW5uIGljaCBtdXNzIG1pY2ggbmljaHQgYW4gZWluZXIgc2ljaCBzdGFlbmRpZyBhZW5kZXJuZGVuIFphaGwgbWl0IGRlcgpFaW5oZWl0IEVQIGVyZ29ldHplbi4uLm1pciByZWljaGVuIFF1ZXN0cyB1bmRuZSBzY2hvZW5lIEJlbG9obnVuZyAoZnJlaSBuYWNoCmRlbSBNb3R0byA6ICdGZWluIGdlbWFjaHQgV2FsZGkgdW5kIGpldHp0IGhvbCBkYXMgU3RvZWNrY2hlbiEnKSwgZGllIG5pY2h0CnVuYmVkaW5ndCBBUCBoZWlzc2VuIG11c3MuCkFuc29uc3Rlbi4uc2NobGllc3N0IGJpdHRlIGRlbiBsZXR6dGVuIFpUIGFuIChiZWkgbWVpbmVtIEdsdWVjayBmZWhsdCBtaXIgZGVyCmF1Y2ghKSB1bmQgYmxlaWJ0IGxvY2tlci4uLgoKICAgICAgICAgICAgICBGbGludG5haWwgLi4ubXVzcyBzaWNoIG5pY2h0IG1laHIgbWl0IEJQNyBydW1zY2hsYWdlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyLUdlbGQtV2FzV2llV28/IChDYXJhZGhyYXMsIDI5LiBTZXAgMTk5NCwgMTA6Mzc6MTMpOgoJSHVodXV1dQoKV2FzIGlzdCBkZW5uIGpldHp0IG1pdCBkaWVzZW0ga29taXNjaGVuIFNlaGVyd2V0dGJld2VyYiBsb3M/CldlciBoYXQgaWhuIGdld29ubmVuPyBXZXIgaGF0IGRhcyBIYWV1c2NoZW4gYmVrb21tZW4/Ck9kZXIgaXN0IGVzIGluIHNpY2ggYmVpbSBSaWNodGZlc3QgenVzYW1tZW5nZWZhbGxlbiB1bmQgbXVzc3RlCnVudGVyIGRlbiBUZXBwaWNoIGdla2VocnQgd2VyZGVuPwpVbmQgd2lldmllbCBHZWxkIGhhdCBkZXIgQmVzdGUvZGllIEJlc3RlIGlubmVyaGFsYiBkZXIgU3R1bmRlCnp1c2FtbWVuZ2VyYWZmdD8KCk9oIGdlYmV0IGRvY2ggZGFzIEVyZ2VibmlzIHZvbiBldWNoLCBlZGxlIEdvZXR0ZXIKYWVoIE1hZ2llciA6LSkKCnRzY2h1ZXNzaWUgLSBhdWYgMTAxNy41IEFudHdvcnRlbiB3YXJ0ZW5kCgpDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic2NoaWVkIChTY2huaWNrLCAyOS4gU2VwIDE5OTQsIDExOjA1OjI0KToKTkVFRUVFRUVFRUVFRUVFRUVFRUVFRUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU5OTk5OTk5OTk5OTk5OTk5OTgpFcyBpc3Qgc28gd2VpdCAuLmljaCBtdXNzIDEgSmFociBaaXZpIG1hY2hlbiwgbWl0dGVuIGltIFN0dWRpdW0gLi5BUkdMCkljaCB3ZXJkIGRhcyBNVUQgdmVybWlzc2VuIC4udW5kIGFsbCBkaWUgTGV1dGUgaGllciBkcmluLgpXZW5uIGlociBMdXN0IHVuZCBaZWl0IGhhYnQgLi5zY2hyZWlidCBtaXIgbWFsIFJMCkljaCB3dWVyZGUgbWljaCBzZWhyIGZyZXVlbi4KCiAgICAgICAgICAgICBEb21pbmlrIEtvZW5pZwogICAgICAgICAgRXJuc3QgVGhhZWxtYW5zdHIuIDIKICAgICAgICAgIDA2Nzc0IFNvZWxsaWNoYXUKCm9wcHMgbGVpY2h0IHZlcnNjaG9iZW4gYWxsZXMgOikKTmFqYSAuLlRTQ0hVRUVFRVNTU1NTU1NTU1NTU1NTU1NTU1NTICAgICAgICp3aW5rKgogICAgICAgICAgICAgICAgICAgICAgICAgU2NobmljawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWJzY2hpZWQgSUkgKFdvbGxpLCAyOS4gU2VwIDE5OTQsIDEzOjM4OjUyKToKSGkgTGV1dGUgITopClRqYSwgU2NobmljayBpc3QgbmljaHQgZGVyIGVpbnppZ3N0ZSBaaXZpICEgaWNoIG11c3MgYXVjaCBiYWxkIGhpbiwgZG9jaApsZWlkZXIgc2luZCBlcyBiZWkgbWlyIDE1IG1vbmF0ZSB6aXZpICsgZWluIHBhYXIgd29jaGVuIG5pY2h0c3R1biAhCkljaCB3ZXJkZSwgc28gaWNoIGVpbmVuIGpvYiBkYW5uIGZpbmRlIG1pdCBJbnRlcm5ldGFuc2NobHVzcywgZXJzdCBpbiBndXQKendlaQpqYWhyZW4gd2llZGVyIE11ZGRlbiBrb2VubmVuICE6KAoKcmtudWRkZWwgYWxsZSAvenVtIEFic2NoaWVkCgpFaW4gc2VociB0cmF1cmlnZXIgV09MTEkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnNjaGllZCAoS25vZXJyeSwgMjkuIFNlcCAxOTk0LCAxNzo0Mjo1MSk6Ck1tbWhoLi4uIGljaCBiaW4gYXVjaCBaaXZpIC4uLnVuZCBob2NrIGVpZ2VudGxpY2ggZGVuIGdhbnplbiBUYWcgaW0gTXVkIC4uLgpOYWphLi5oYWIgd29obCBHbHVlY2sgZ2VoYWJ0IDopCktub2VycnksIFppdmktWndlcmcuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZCB0aGUgd2lubmVyIGlzIC4uLi4uIChDYXR3ZWF6bGUsIDI5LiBTZXAgMTk5NCwgMTg6MzQ6MjkpOgpIaSEKSGllciBhbHMgZGFzIG9mZml6aWVsbGUgRW5kZXJnZWJuaXNzIGRlcyBTZWhlcndldHRiZXdlcmJzOgoKMS4gUGxhdHo6IEtvdHpicm9ja2VuIG1pdCAzNzY2OCBNdWVuemVuCjIuIFBsYXR6OiBDaGljb2xhIG1pdCAyOTYwNyBNdWVuemVuCjMuIFBsYXR6OiBZZXRpIG1pdCAyODUwNyBNdWVuemVuCjQuIFBsYXR6OiBUenVpb3AgbWl0IDIzMTkyIE11ZW56ZW4KNS4gUGxhdHo6IFlhbnRybyBtaXQgMTkzNTQgTXVlbnplbgoKVGphIHVuZCBtZWhyIGhhYmVuIGF1Y2ggbmljaHQgbWl0Z2VtYWNodC4uZW50dGFldXNjaGVuZCA6KQoKQmVhY2h0ZW5zd2VydCBpc3QgZGFzIEVyZ2VibmlzIHZvbiBZZXRpLCBlciBpc3Qga29tcGxldHQgb2huZQpBdXNydWVzdHVuZyBnZXN0YXJ0ZXQuIERhZnVlciBpc3QgZmluZCBpY2ggZWluIGtuYXBwZXIgZHJpdHRlcgpQbGF0eiBnYXIgbmljaHQgdWViZWwuCgpEZXIgZXJzdGUgUHJlaXMgaXN0IG5hdHVlcmxpY2ggZWluIFNlaGVyaGF1cy4gSWNoIHVuZCBkaWUKJ01vcmdlbkdyYXVlbi1CYW5rJyBncmF0dWxpZXJlbiBkZW0gZ2x1ZWNrbGljaGVuCkdld2lubmVyLgpJY2gga2FubiBFdWNoIHZlcnNwcmVjaGVuLCBkYXNzIGFsbGVuIHVlYnJpZ2VuIE1pdHNwaWVsZXJuCnVuZCByZXN0bGljaGVuIFNlaGVybiwgc2Nob24gc2VociBiYWxkIGVpbiBrYWV1ZmxpY2hlcwpTZWhlcmhhdXMgenVyIFZlcmZ1ZWd1bmcgc3RlaGVuIHdpcmQsIGFsbGVzIGltIFJhaG1lbiBlaW5lcwpCYXVzcGFydmVydHJhZ2VzLCBhdXNnZXN0ZWxsdCBkdXJjaCBkaWUgTW9yZ2VuR3JhdWVuLUJhbmsuCgpFaW5lIFZlcmFuc3RhbHR1bmcgdm9uCgogICAgIENhdHdlYXpsZSBpbiBadXNhbW1lbmFyYmVpdCBtaXQKICAgICAgICAgICAgICAgZGVyICdNb3JnZW5HcmF1ZW4tQmFuaycKICAgICAgICAgICAgICAgICAgICxkZXIgQmFuayBpbiBJaHJlbSBSdWVja2VuCiAgICAgICAgICAgICAgIG1pdCBmcmV1bmRsaWNoZXIgVW50ZXJzdHVldHp1bmcgdm9uCiAgICAgICAgICAgICAgICAgICBCb2luZywKICAgICAgICAgICAgICAgICAgIEpvZiB1bmQKICAgICAgICAgICAgICAgICAgIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9jaHplaXQgISAoU3RhaGxkb3JuLCAyOS4gU2VwIDE5OTQsIDIyOjUwOjI1KToKCgogT0ZGSVpJRUxMRSBWRVJMQVVUQkFSVU5HICEKCkhpZXJtaXQgZ2ViZSBpY2gsIFN0YWhsZG9ybiwgYmVrYW5udCwgZGFzcyBFbGZpZSB1bmQgaWNoIGJlYWJzaWNodGlnZW4sIGFtCkRpZW5zdGFnIDQuMTAuMTk5NCB6dSBoZWlyYXRlbi4KRGllIEhvY2h6ZWl0IGZpbmRldCB1bSAyMC4wMCBVaHIgaW4gTmllYmVsaGVpbSBzdGF0dC4KRWluZ2VsYWRlbiBzaW5kIGFsbGUsIGRpZSBrb21tZW4gd29sbGVuLCBhYmVyIGluc2Jlc29uZGVyZSBuYXR1ZXJsaWNoIGFsbGUKdW5zZXJlIEZyZXVuZGUgdW5kIEthbXBmZ2VmYWVocnRlbi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFobGRvcm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVELUxpc3RlIGdlc3VjaHQhIChLcmV0ZWssIDMwLiBTZXAgMTk5NCwgMTg6NTA6MzEpOgpIYWxsb2VjaGVuIQoKTWFsIHdpZWRlciBlaW5lIEZyYWdlLCBkaWUgbmljaHRzICh6dW1pbmRlc3QgZGlyZWt0KSBtaXQgZGVtIE1vcmdlbkdyYXVlbiB6dQp0dW4gaGF0OgpWb3IgZWluaWdlciBaZWl0IGhhYiBpY2ggbWlyIGlyZ2VuZHdvIG1hbCBlaW5lIExpc3RlIG1pdCBhbGxlbiBtb2VnbGljaGVuCk1VRHMgcnVudGVyZ2V6b2dlbi4gTGVpZGVyIGJpbiBpY2ggamV0enQgYW4gZWluZW0gYW5kZXJlbgpUZXJtaW5hbCwgdm9uIGRlbSBhdXMgaWNoIGtlaW5lbiBGVFAtWnVncmlmZiBhdWYgbWVpbmUKYW5kZXJlIEtlbm51bmcgaGFiZSAoTUlTVCEpLCB1bmQgaWNoIHdlaXNzIGF1Y2ggbmljaHQKbWVociwgd29oZXIgZGllc2UgTGlzdGUga2FtLgpGYWxscyBhbHNvIGlyZ2VuZGplbWFuZCB2b24gRXVjaCB3aXNzZW4gc29sbHRlLCB3bydzIHNvICduZSBMaXN0ZSBnaWJ0LAp3YWVyZSBpY2ggdW0gTWFpbCBhbiBtaWNoIG9kZXIgZWluZSBSZXBseSBoaWVyIHNlaHIgZGFua2Jhci4KSWNoIHN1Y2hlIHZvciBhbGxlbSBNRy1hZWhubGljaGUgTVVEcyBpbiBkZW4gVVNBLCBhYmVyIGRlciAiUmVzdCBkZXIgV2VsdCIKaXN0IG5hdHVlcmxpY2ggYXVjaCB3aWxsa29tbWVuIQoKRGFua2Ugc2Nob24gbWFsLAogICAgICAgS3JldGVrLCBkZXIgZXdpZ2UgRnJhZ2VyLgoKClAuUy46IFNvcnJ5IGZ1ZXIgZGFzIHVubW9lZ2xpY2hlIEZvcm1hdCB1bmQgZGllIFR5cG9zLCBpY2ggc2l0emUgaGllcgpxdWFzaSBpbSBDb21wdXRlcm11c2V1bS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZCB0aGUgd2lubmVyIGlzIC4uLi4uIChDYXJhZGhyYXMsICAxLiBPa3QgMTk5NCwgMTM6MTk6MzUpOgpJZWVlZWVoLCB3YXMgc29sbCBpY2ggZGVubiBtaXQgZWluZW0gU2VoZXJoYXVzIDopCkljaCBsaWViZSBlcywgYXVmIGRlbiBncm9zc2VuIHdlaXRlbiBFYmVuZW4gdm9uIE1HIHp1IGNhbXBlbiwgZGVzCm5hZWNodGVucyBkb3J0IGFtIGxhZ2VyZmV1ZXIgenUgc2l0emVuIHVuZCBnZXNjaGljaHRlbiBtZWluZXIgbXVkLQpqdWdlbmQgenUgZXJ6YWVobGVuLCBkYW1hbHMsIGFscyBkYXMgZ3JhcyBub2NoIGdydWVuZXIsIGRpZSBrdWVoZSBub2NoCmdyb2Vzc2VyIHdhcmVuIHVuZCBkaWUgbWlsY2ggbm9jaCBuYWNoIG1pbGNoIHNjaG1lY2t0ZS4KCkljaCBicmF1Y2hlIGRpZXNlcyBnZWZ1ZWhsIHVuZ2VidW5kZW5lciBmcmVpaGVpdCwgZ3Jlbnplbmxvc2VyIHVuZW5kbGljaC0Ka2VpdCAob2RlciB1bmVuZGxpY2hlciBncmVuemVubG9zaWdrZWl0PykgdW5kIGRhcyBnZWZ1ZWhsIHZvbiBmcmVpaGVpdAp1bmQgYWJlbnRldWVyLgoKICAgICBuaWVkZXIgbWl0IGRlbiBoYWV1c2VybiwgaG9mZmVudGxpY2gga29tbWVuIG5pY2h0IGF1Y2ggbm9jaCBiYWxkCiAgICAgQXV0b3MgZGF6dSwgc29uc3Qgd2FuZGVyIGljaCBhdXMuIGVzIGxlYmUgZGllIGZyZWloZWl0LgoKbGliZXJ0ZSwgZnJhdGVybml0ZSwgcGZlZmZlcm1pbnp0ZWUKCiAgICAgIENhcmFkaHJhcyBkZXIgZXdpZ2UgTXVlbGxtYW5uCiAgICAgICAgIGFlaGhoIFByb3BoZXQKIC0gTXVlbGxtYW5uIG51ciBiZWltIEFydGlrZWwgc2NocmVpYmVuClBTOiBHcmF0cywgS290emJyb2NrZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpZ2VudGxpY2ggZW50d2lja2x1bmcsIGFiZXIgZGllIHdhciB2b2xsIChUaG9yaW4sICAxLiBPa3QgMTk5NCwgMjE6MDM6NTYpOgpJY2gga29lbm50ZSBkaWVzZW4gQXJ0aWtlbCB3aWUgZGllIGxldHp0ZSBNYWlsIGF1Y2ggZGlyZWt0IGFuIENhdHdlYXpsZQpzY2hyZWliZW4sIGFiZXIgaWNoIG1vZWNodGUgYWxsZW4gbm9jaG1hbCBtZWluZSBMYWdlIGVya2xhZXJlbiwgZGllIG1pY2ggaW1tZXIKd2llZGVyIHp1bSBzY2hyZWliZW4gc29sY2hlciBBcnRpa2VsIGJyaW5ndDoKTWFuIGlzdCBTZWhlciwgZGVua3QgYWxzbyA6IE5hamEsIHRvbGwsIGJpc3QgU2VoZXIsIGFsc28gd2FzIGJlc29uZGVyZXMsCm11ZXNzdGVzdCBhbHNvIGF1Y2ggbWVociBrb2VubmVuIGFscyBhbmRlcmUuIEFsc28gZ2VodCBtYW4genVtIG5hZWNoc3RlbgpNb25zdGVyLCBudXIgdW0gZmVzdHp1c3RlbGxlbiwgZGFzcyBtYW4gZXMgbmljaHQgc2NoYWZmdC4gQWxzbyBBdXNydWVzdHVuZwpoZXIuIFByb2JsZW0gOiB3aWUgYmVrb21tZSBpY2ggYWxzCk11ZGRlciBtaXQgZHVyY2hzY2huaXR0bGljaGVyIFNwaWVsemVpdCB2b24gMi0zIFN0dW5kZW4gcHJvIFRhZyBBdXNydWVzdHVuZwpoZXIsIGRpZSBndXQgZ2VudWcgaXN0LCB1bSBtaWNoIGF1Y2ggbWFsIG1pdCBuZXVlbiBNb25zdGVybiB3aWUgZGVuZW4gaW4KQ2lmZXJzIEhvZWhsZSBhbnp1ZnJldW5kZW4uIERpZXNlcyBoYXR0ZSBpY2ggaW4gMiBWZXJzdWNoZW4gbmljaHQgZ2VzY2hhZmZ0LAp3ZWlsIGljaApqZWRlc21hbCB6dSBsYW5nZSBicmF1Y2h0ZSwgYmlzIGljaCBzZWhyIGd1dGUgQXVzcnVlc3R1bmcgaGF0dGUsIGRhbm4ga2FtIGVpbgpDcmFzaC4gTkVJTiwgZGFzcyBpc3QgbmljaHRzIGdlZ2VuIENyYXNocywgZGFmdWVyIGthbm4gamEga2VpbmVyIHdhcy4gQWJlcgp3ZW5uIGljaCBzY2hvbiB2aWVsIFplaXQgYnJhdWNoZSwgdW0gQXVzcnVlc3R1bmcgenUgYmVzY2hhZmZlbiwgdW0gYXVjaCBtYWwKZ2VnZW4gbmV1ZSBNb25zdGVyIHp1CmthZW1wZmVuIChtaWNoIHJlaXp0IG51bm1hbCBkYXMgTmV1ZSBtZWhyIGFscyB6dW0gMTUwLiBNYWwgbmVuIE9yayB6dQpraWxsZW4pLCBibGVpYnQgbWlyIGtlaW5lIFplaXQgbWVociwgdW0gTmV1ZXMgenUgZXJrdW5kc2NoYWZ0ZW4uIERhcyBhYmVyIGlzdApkYW5uIGJlaSBtaXIgZGVyIEtuYWNrcHVua3Q6IEljaCBsYXVmIG1pciBhbHNvIGplZGVzbWFsIGRpZSBIYWNrZW4gYWIsIHVtIHNlaHIKZ3V0ZSBBdXNydWVzdHVuZyB6dSBiZWtvbW1lbgooc2NobGVjaHRlIHRhdWd0IG51bm1hbCBiZWkgZGVuIG5ldWVyZW4gTW9uc3Rlcm4gbmljaHRzKSwgbnVyIHVtIGRhbm4gd2llZGVyCm5ldWUgQXVzcnVlc3R1bmcgenUgaG9sZW4uIFVuZCBqZSBzdGFlcmtlciBkaWUgTW9uc3RlciwgZGllIGRpZSBBdXNydWVzdHVuZwpkYWJlaWhhYmVuIHNpbmQsIGRlc3RvIGxhZW5nZXIgYnJhdWNoZSBpY2ggamEgYXVjaCBsZWlkZXIsIHVuZCBlcyBzaW5kIGltbWVyCmRpZXNzZWxiZW4gTW9uc3RlcgoobG9naXNjaCkuIERhcyBpc3QgZGVyIGVyc3RlIEdydW5kLCBkZXIgbWlyIGVpbiBiaXNjaGVuIGRhcyBTcGllbGVuCnVubW9lZ2xpY2ggbWFjaHQuIE9rYXksIG1hbiBrYW5uIGpldHp0IHNhZ2VuLCBkYXNzIGljaCBqYSB3aWUgbWFuY2hlIGhpZXIgaW0KTXVkIDgtMTAgU3R1bmRlbiBoaWVyIHBybyBUYWcgZ2FtYmVsbiBrYW5uLCBhYmVyIGRhc3MgbWFjaGVuIG1pciBTdHVkaXVtIHVuZApIb2JiaWVzIGxlaWRlciAoPykgdW5tb2VnbGljaC4KU28sIGRhbm4gbW9lY2h0ZSBpY2ggbm9jaG1hbCBhdWYgQ2F0cyBadXNhbW1lbmZhc3N1bmcgZWluIHBhYXIgUHVua3RlIHNhZ2VuCihoYWJlIEFydGlrZWwgNjUgRW50d2lja2x1bmcgZ2VsZXNlbiwgZmFsbHMgbm9jaCB3YXMga29tbXQsIG5ld3NlIGljaCBlcwpoaW50ZXJoZXIpLiBBbHNvLCBpY2ggZmluZGUgbmljaHQgZGFzIFpULVN5c3RlbSBhbHMgZ2FuemVzIHVuZmFpciAobGVpZGVyIGF1cwpkZW0gWnVzYW1tZW5oYW5nIGdlbm9tbWVuKSwKc29uZGVybiBiZXN0aW1tdGUgWlQgaGllciAhIElzdCBlaW4gVW50ZXJzY2hpZWQuIERhbm4gZmluZGUgaWNoIG5pY2h0LCBkYXMKTWFnaWVyIGhpZXIgbWlyIGRhcyBMZWJlbiBtaWVzIG1hY2hlbiwgZGEgaWNoIG1hbmNoZSBNYWdpZXIgYXVjaCBhdXMgYW5kZXJlbgpTeXN0ZW1lbiBvZGVyIHByaXZhdCBrZW5uZSwgdW5kIGd1dCBtaXQgaWhuZW4gYXVza29tbWUuCkJsb3NzIGRhcyBXZXR0cnVlc3Rlbiwgd2VyIGRhcyBmaWVzZXN0ZSBNb25zdGVyIG1hY2h0LCBtYWNodCBtaXIgZGFzIExlYmVuCnNjaHdlciAoYWxzbyBhdWNoIGRpZXMgYXVzIGRlbSBadXNhbW1lbmhhbmcpLiBHZWdlbiBDYXR3YWV6bGVzIEFydGlrZWwgYW4gc2ljaApoYXR0ZSBpY2ggbmljaHRzLCB3YXMgaWNoIGF1Y2ggU2lsdmFuYSBzYWd0ZSwgbWlyIHdhcmVuIGRpZSBsZXR6dGVuIDYgWmVpbGVuCmVnYWwsIGRhIGljaCB1ZWJlciBzb3dhcwpzdGVoZSwgdW5kIGljaCBDYXQgc28gZWluc2NoYWV0emUsIGRhc3MgZXMgaWhtIG51ciByYXVzcnV0c2NodGUuLi4KVW5kIGFscyBsZXR6dGVzOiBuYWNoZGVtIGljaCBoZXV0ZSBoaWVyIGFuZ2VzcHJvY2hlbiB3dXJkZSwgd2FydW0gaWNoIGhpZXIKc2VpIChzbyBpbiBldHdhKTogSWNoIHNwaWVsZSBoaWVyIG5pY2h0IG1laHIsIGFiZXIgZGllIG5ld3MgbGVzIGljaCB0cm90emRlbQpub2NoLCBhdXNzZXJkZW0gaGVsZmUgaWNoIGdlcm5lIGFuZGVyZW4gd2VpdGVyLCBkaWUgZmVzdHN0ZWNrZW4sIHVuZCBhdXNzZXJkZW0KYmluIGljaCBoaWVyIGphIG1pdApTaWx2YW5hIChsaWViZSBHcnVlc3NlKSB2ZXJoZWlyYXRldC4gRGFzIHNpbmQgR3J1ZW5kZSwgd2FydW0gaWNoIGhpZXJiaW4uIFVuZAphdXNzZXJkZW0sIHVtIGRpZSBFbnR3aWNrbHVuZyBkZXMgTXVkcyB6dSB2ZXJmb2xnZW4sIHdlaWwgbWljaCBzb3dhcwppbnRlcmVzc2llcnQuIE5JQ0hUIG1laHIgaW50ZXJlc3NpZXJ0IGJpbiBpY2ggZGFnZWdlbiBhbSBNZXR6ZWxuLCBkZW5uIGljaApoYWJlIGVzIGF1ZmdlZ2ViZW4sIG1pciBoaWVyCkF1c3J1ZXN0dW5nIHp1IGJlc29yZ2VuLgpBY2hqYSwgenUgZGVyIEFuc2NodWxkaWd1bmcsIGljaCB3dWVyZGUgTGV1dGUgaW4gYW5kZXJlIE11ZHMgbG9ja2VuIHdvbGxlbiA6CkRhcyBpc3QgamF3b2hsIHppZW1saWNoIGVyc3R1bmtlbi4gSmVkZXIsIGRlciBoaWVyIHNwaWVsdCB1bmQgZGllIE5ld3MgbGllc3QsCmdlaG9lcnQgamF3b2hsIHp1IGRlbmVuLCBkaWUgaGllciBzaWNoIGF1ZiBqZWRlbiBGYWxsIHp1bSBTZWhlci9NYWdpZXIKaG9jaHNwaWVsZW4gd29sbGVuLAp1bmQgaW5zb2Zlcm4gaGFiZW4gc2llIHNpY2ggYXVmIGRpZXNlcyBNdWQgc293aWVzbyBmZXN0Z2VsZWd0LiBBdXNzZXJkZW0gaGFiZQppY2ggYXVjaCBuaWNodCB2b3IsIFNwaWVsZXIgaW4gYW5kZXJlIE11ZHMgenUgbG9ja2VuLCBzb25kZXJuIGV2ZW50dWVsbCBtaXQKRGlza3Vzc2lvbmVuIGF1ZiBNaXNzc3RhZW5kZSBoaW56dXdlaXNlbi4gRGFzIGljaCBkYW5uIGFscyBCdWhtYW5uIGhpbmdlc3RlbGx0CndlcmRlLCBpc3QgbWlyIHJlbGF0aXYKZWdhbCwgZGVubiB3ZW5uIHNpY2ggc29uc3QgbmllbWFuZCB0cmF1dCwgc29sY2hlIFNhY2hlbiBhdWZ6dXdlaXNlbiwgZGFubiBiaW4KaWNoIGdlcm4gZGFmdWVyIGRhLiBXZW5uIGFsbGVyZGluZ3MgYXVjaCBhbGxlIG9kZXIgZGllIG1laXN0ZW4gU3BpZWxlciBtZWluZW4sCmRhc3MgaWNoIHp1IFVucmVjaHQgS3JpdGlrIHVlYmUsIGxlc2UgaWNoIGRhcyBnZXJuZSBkZW1uYWVjaHN0IGluIGRpZXNlbiBOZXdzCjopCkJpcyBkZW1uYWVjaHN0LCBkZXIgemVpdHVuZ3NsZXNlbmRlIEluZGlhbmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplaWdlbnRsaWNoIFJlOlJlOnJlOnJlOkt1bHR1ciB2b24gRGFuY2VyIGluICpTY2htYXJybiogKEhvYm8sICAxLiBPa3QgMTk5NCwgMjI6MzY6NTEpOgpPZWhtLCBudXI6CkJvaW5nIHdpZSB3YWVyJ3MgZGVubiBtYWwgd2llZGVyPyA7KQpCdHcuOiBHaWJ0J3MgaGllciBNaW5kZXJqYWVocmlnZSwgd2Vzd2VnZW4gd2lyIGp1Z2VuZGZyZWkgc2VpbiBtdWVzc2VuPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNleCAoRGFuY2VyLCAgMS4gT2t0IDE5OTQsIDIyOjM4OjUyKToKV2llIHdvIHdhcz8/PyBIYWIgaWNoIHNjaG9uIHdpZWRlciB3YXMgZ2V0YW4/Pz8/PyA6LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNleCAoRW5neXd1Y2ssICAxLiBPa3QgMTk5NCwgMjI6NDI6NDUpOgpNb21lbnQgbWFsLi4uCgpIb2JvIHNjaHJlaWJ0OiBCb2luZywgd2llIHdhZXJzIGRlbm4gbWFsIHdpZWRlciA/IDspCgpBZWguLi4uCkJvaW5nLCBoYWxsbyEgQXVmd2FjaGVuIQpFcyBnaWJ0IGRhIGV0d2FzLCBkYXMgbmVubnQgc2ljaCAiUmVhbCBsaWZlIiB1bmQgaXN0IGRhcyB3YXMgcGFzc2llcnQsIHdlbm4KRHUgRVhJVCB0aXBwc3QuCk51ciBzbyBhbHMga2xlaW5lIEFucmVndW5nLi4uIDspCgpUc2NodWVzc2ksIEVuZ3l3dWNrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadW0gS2xhZXJlbjogKEhvYm8sICAxLiBPa3QgMTk5NCwgMjI6NTQ6MzIpOgpJY2ggaGFiIGhpZXIgbWVpbmUgbGV0enRlbiB6d2VpIEFydGlla2wgZ2Vsb2VzY2h0LCB3ZWlsIHNpZSBuaWNodCBoaWVyaGVyCmdlaG9lcnQgaGFiZW4uIFdlbm4gamV0enQgZnVlciBkaWVsZXR6dGVuIEFydGlrZWwgZGVyIEtvbnRleHQgZ2VmZWhsdCBoYXQsIHR1dAplcyBtaXIgbGVpZCwgYWJlciB3YXMgbmljaHQgaHJnZWhvZXJ0LCBtdXNzIG5pY2h0IGRpZSBSdWJyaWsgdm9sbG11ZWxsZW4hCgpIb2JvLSBzdGVodCB6dSBpaHJlciBNZWludW5nIHVuZCBhdWNoIHp1bSBadXJ1ZWNraGFsdGVuIGlocmVyIE1laW51bmchCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNleCAoQm9pbmcsICAxLiBPa3QgMTk5NCwgMjM6MDE6MDEpOgpEYW5rZSBmdWVyIGRlbiBUaXAgRW5neXd1Y2ssIGRhcyB3dXNzdGUgaWNoIGphIG5vY2ggZ2FyIG5pY2h0IC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmx1bWVubGFkZW4gKEFyYW55YSwgIDQuIE9rdCAxOTk0LCAxNToxNDowNSk6CkF1IGphIQogICAgICAgZmluZGV0IEFyYW55YSwgZGllIGF1Y2ggZ2VybiBtYWwgdmVyd29laG50IHdpcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpZ2VudGxpY2ggZnVlciBFbnR3aWNrbHVuZy4gKFF1YXNpbW9kbywgIDQuIE9rdCAxOTk0LCAxNjowNzoxMCk6ClJlOiBFbHJpYwoKTWFuIGthbm4gc2ljaCBkYSBudXIgYW5zY2hsaWVzc2VuLiBJY2ggZmluZGUgZGFzIHp1bSBncm9lc3N0ZW4gVGVpbCBhdWNoIHRvdC0Ka29taXNjaC4gQW0gQmVzdGVuIGZpbmRlIGljaCwgZGFzcyBlcyBlaW5pZ2VuIExldXRlIHNjaGVpbmJhciBuaWNodCBzbwprb21pc2NoIGZpbmRlbi4gV2lyIGtvZW5uZW4gamEgbWFsIGVpbiAiQmVzdCBvZiIgdmVyZmFzc2VuLi4uCgpuaXggZnVlciB1bmd1dCwKUXVhc2ltb2RvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFnaXNjaGVzIEF1Z2UgKFNtYXVnLCAgNC4gT2t0IDE5OTQsIDE2OjMxOjE5KToKCmhhYiBzY2hvbiBtYWwgc28gZWluIHByZyBnZXNjaHJpZWJlbiwgbWl0IGRlbSBtYW4gc29sY2hlIGJpbGRlciBtYWNoZW4ga2FubgptaXQgaGlsZmUgdm9uIGVpbmVyIG1hdGhlbWF0aXNjaGVuIGZvcm1lbCAoc2luLCBjb3MgdW5kIHNvKQppc3QgendhciBhbGxlcyBub2NoIGVpbiBiaXNzY2hlbiBlY2tpY2gsIGFiZXIgZnVua3Rpb25pZXJ0CgphYmVyIGVzIGdpYnQgYXVjaCBlaW5pZ2UgcHJvZmVzc2lvbmVsbGUgcHJnIGZ1ZXIgd2luZG93cyAoYXVjaCBhbHMgc2hhcmV3YXJlKQoKc21hdWcgZGVyIGtlaW4gZHJhY2hlIGlzdCBtdXNzdGUgZGFzIGxvc3dlcmRlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaWdlbnRsaWNoIFJlOlJlOnJlOnJlOkt1bHR1ciB2b24gRGFuY2VyIGluICpTY2htYXJybiogKENhcmFkaHJhcywgIDQuIE9rdCAxOTk0LCAxNjo1MDoxMyk6CiAgICAgICAJSG1tbW1tbQoKQWxzbyBpbiBVTkkgZ2lidHMgZWluaWdlIEdvZXR0ZXIsIGRpZSB1bnRlciAxOCBKYWhyZSBhbHQgc2luZCwgYXVjaAp3ZWxjaGUsIGRpZSBub2NoIDE0IHNpbmQgOi0pIEphLCBhdWNoIEdvdHQoTWFnaWVyKSwgbmljaHQgbnVyIFNwaWVsZXIuCkRlc2hhbGIgbXVzcyBtYW4gZGEgZXR3YXMgdm9yc2ljaHRpZ2VyIHNlaW4sIHNpZWhlIEZyYXVlbmJlYXVmdHJhZ3RlCmRlciBVbml0YWV0ICpzZXVmeioKCiAgICAgICAgICAgIENhcmFkaHJhcyBkZXIgZXdpZ2UgUHJvcGhldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG9kZXNzZXF1ZW56IGRpZSA0dGUgKENhdHdlYXpsZSwgIDQuIE9rdCAxOTk0LCAxOTo1MzozMSk6CkFjaHNvLCBnYW56IHNjaG5lbGwgbm9jaC4KRXMgZ2lidCBqZXR6dCBlaW5lIHdlaXRlcmUsIHZpZXJ0ZSBUb2Rlc3NlcXVlbnouIEVzIGlzdCBiaXNoZXIKZGllIGt1ZXJ6ZXN0ZSA6LSkpCkhhdmUgZnVuLgpZb3VycyB0cnVseSwKICAgICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJFOiBNYWdpc2NoZXMgQXVnZSAoRnJhZ2dsZSwgIDUuIE9rdCAxOTk0LCAxMjoyMjo1Nyk6CkZ1ZXIgZGVuIEFtaWdhIGdpYnRzIHNvIGVpbiBQcm9ncmFtbSBuYW1lbnMgc2lyZHNfKiAoZmFlbmd0CmF1ZiBqZWRlbiBGYWxsIG1pdCBzaXJkcyBhbiksIGlzdCBnZXJhZGUgbmV1IHVwbG9hZGVkICwgei5COiBmdHAudW5pLWtsLmRlCnB1Yi9hbWluZXQvLi4uaXJnZW5kd28uLi4KCkZyYWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBNZW5zYXBsYW4gZGVpbmVyIFVuaXZlcnNpdGFldC9Ib2Noc2NodWxlIChIYXRlLCAgNS4gT2t0IDE5OTQsIDE0OjM1OjEwKToKQWxzbyBsaWViZSBMZXV0ZToKUHJvYmllcnQgYWxsZSBtYWwgZm9sZ2VuZGVzIGF1czogdGVpbGUgbWVuc2EgbWl0IEhhbGxvIDspCm9kZXIgdGVpbGUgbWVuc2EgbWl0IFdhcyBnaWJ0cyBkZW5uIGluIHVuc2VyZXIgU3RhZHQ/ClZpZWwgU3Bhc3MgdW5kIGljaCBob2ZmZSBpaHIgdmVyc2NoYWZmdCBhdWNoIGFuZGVyZW4gZGllIE1vZWdsaWNoa2VpdCwgc28KZGVuIFNwZWlzZXBsYW4gZWluenVzZWhlbi4KV2VyIGZ1ZXIgc2VpbmUgU3RhZHQgYmVpIGVpbmVyIHNpbXBsZW4gQWJmcmFnZSAodGVpbGUgbWVuc2EgbWl0IFdhcz8pCm51ciBkZW4gYWt0dWVsbGVuIFRhZyBhbmdlemVpZ3QgaGFiZW4gd2lsbCwgbXVzcyBkZW4gUGxhbiBlaW4gYmlzY2hlbgpiZWFyYmVpdGVuLCBkZW5uIGFsbGUgV29jaGVudGFnZSBtdWVzc2VuIGRhbm4gZ2V0cmVubnQgd2VyZGVuLCB3aWUgZm9sZ3Q6CkBNb250YWdACkhpZXIga29tbXQgZGVyIFRleHQgZnVlciBNb250YWcKQERpZW5zdGFnQApIaWVyIGtvbW10IGRlciBmdWVyIERpZW5zdGFnCkBNaXR0d29jaEAKVW5kIHNvIHdlaXRlcgpKZWRlbmZhbGxzIG11c3MgZGVyIFdvY2hlbnRhZyBncm9zcyBnZXNjaHJpZWJlbiB3ZXJkZW4hCgpFaW4gYmVpc3BpZWwgaXN0IHZpZWxsZWljaHQgL29wZW4vbWVuc2EvYmVybGluLCB1bmQgaW4gZGVtIFZlcnplaWNobmlzCi9vcGVuL21lbnNhIGtvZW5udCBpaHIgYXVjaCBFdXJlIGxva2FsZW4gTWVuc2VucGxhZW5lIGFibGVnZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaYXViZXIgKEJhbWJ1bGtvLCAgNS4gT2t0IDE5OTQsIDIzOjQ0OjQwKToKSXN0IGVzIG5pY2h0IG1vZWdsaWNoIGRhcyBtYW4gd2VubiBlaW4gU3BydWNoIG5pY2h0IGZ1bmt0aW9uaWVydCBkYXNzIG1hbgpkYW5uIG51ciBkaWUgaGFlbGZ0ZSBkZXIgTVAncyB2ZXJsaWVydD8/ClNjaHJlY2tsaWNoZXIgU2F0emJhdSBuaWNodCB3YWhyPz8KCiAgICAgIEJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGKkNLIFBZUkFNSURFTiAoTW9yZ290aCwgIDYuIE9rdCAxOTk0LCAxMDo1NTo0Myk6CkRpZSBQeXJhbWlkZW4gc2luZCBqYSB3b2hsIGRhcyBBTExFUkxFVFpURSAhISEKRXJzdG1hbCBpc3QgZGFzIFplaXRsaW1pdCBldHdhcyBrbmFwcCwgd2VubiBtYW4gbmljaHQgZ2VyYWRlIG5hY2h0cyB1bmQgb2huZQpsYWcgc3BpZWx0Li4uLgpJY2ggaGFicyBWb3JtaXR0YWdzIHZlcnN1Y2h0Li4uLmVrbGljaCwgYWJlciBhbHMgQW5nZXN0ZWxsdGVyIGJsZWlidCBtaXIgbml4CmFuZHJlcyB1ZWJyaWcKSWNoIGthbm4gbnVuIG1hbCBuaWNodCBiaXMgbWl0dGVuIGluIGRpZSBOYWNodCBzcGllbGVuLi4uLgpBbHMgbmFlY2hzdGVzIHNpbmQgZGllIEJlc2NocmVpYnVuZ2VuLCBvZGVyIHNvbGwgaWNoIGxpZWJlciBCZXNjaGVpc3N1bmdlbgpkZXIgQXVmZ2FiZW4gaW4gZGVyIFN1ZWQtUHlyYW1pZGUgZWNodGUgc2NoZWlzc2UodXBwcywgc2FndGUgaWNoIHNjaG9uKS4uLi4KUmVjaG5lbiB1bmQgTmFtZW4gdW5kIGxhbXBlbiBzaW5kIGphIG5vY2ggenUgdmVyIHN0ZWhlbiwgYWJlciBkaWUgYmVpZGVuCmxldHp0ZW4gUmFldW1lIHNpbmQgd2lya2xpY2ggbnVyIE11ZWxsLi4uLi53ZW5uIG1hbiBzaWNoIGVpbm1hbCB2ZXJ0aXBwdCwKbXVzcyBtYW4gamEgdm9uIHZvcm5lIGFuZmFuZ2VuIC4uLm9kZXIgUklFU0VOIHVtd2VnZSBnZWhlbi4uLmRpZXNlcyBmdWVocnQKbnVubWFsIHp1bSBWZXJsdXN0IGRlciBsaWViZW4gTFAncyAuLi5kaWUgbWFuIGphIGxlaWRlciBuaWNodCBSZWdlbmVyaWVyZW4Ka2FubiwKd2VpbCBlcyBkaWVzZXMgZHVtbWUgWmVpdGxpbWl0IGdpYnQuIERhIHNpY2ggYmVpIG5lbSBsYWcgZGllIExwIGR1bW1lcndlaXNlCm5vY2ggbGFuZ3NhbWVyIFJlZ2VuZXJpZXJlbiBpc3QgYWxzbyBkZXIgendlaXRlIGZlaGxlciBzY2hvbiBUT0VETElDSC4uLgpEYXMgaXN0IGphIHdpcmtsaWNoIGVpbmUgVU5WRVJTQ0hBRU1USEVJVC4uLi4KQWxzbyB6dW1pbmRlc3QgZGllIEFubGVpdHVuZyB6dW0gbGV0enRlbiBSYWV0c2VsIHNvbGx0ZSBub2NobWFsIHVlYmVyZGFjaHQKd2VyZGVuICEhISEKbWl0IHZpZWwgSEFTUyAoaGkgVGFyZ2FzKSAuLi4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ290aCAoQm9pbmcsICA2LiBPa3QgMTk5NCwgMTI6MDY6MjcpOgpCZWkgYWxsZW0gQWVyZ2Uga29lbm50ZXN0IGF1Y2ggRHUgdmVyc3VjaGVuLCBEaWNoIGluIGVpbmVtIHZlcm51ZW5mdGlnZQpUb25mYWxsIHp1IGFldXNzZXJuLCBzb25zdCBrYW5uIGVzIHNlaW4gKHdpZSBEdXJpYW4gc2Nob24gbWFsIHNhZ3RlKSwKZGFzcyBhdWNoIHVucyBkaWUgTHVzdCB2ZXJnZWh0IGhpZXIgbm9jaCB3YXMgenUgbWFjaGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb25mYWxsIChGcmV1bmQsICA2LiBPa3QgMTk5NCwgMTM6MDM6MzEpOgpIYWxsb2VjaGVuLAptaXQgQmVzdHVlcnplbiB1bmQgRW50c2V0emVuIG11c3N0ZSBpY2ggZmVzdHN0ZWxsZW4sIGRhc3MgaW4gZGVyIGxldHp0ZW4KWmVpdCBkZXIgVG9uZmFsbCBnZXNjaHJpZWJlbmVyIEFydGlrZWwgdW0gV2VsdGVuIGJlbGVpZGlnZW5kZXIgZ2V3b3JkZW4KaXN0LiBVbmQgaWNoIGRlbmtlLCBkYXNzIGRpZXMga2VpbiBadXN0YW5kIGlzdCwgZGVuIG1hbiBha3plcHRpZXJlbiBtdXNzLAp3ZWlsIHp1ZmFlbGxpZyB3ZXNlbnRsaWNoIE1FSFIgQXJ0aWtlbCBhbHMgZnJ1ZWhlciB2ZXJvZWZmZW50bGljaHQgd2VyZGVuLApzb25kZXJuIGRhc3MgbWFuIHNjaGxldW5pZ3N0IGV0d2FzIGRhZ2VnZW4gdW50ZXJuZWhtZW4gc29sbHRlLgpBbHNvIHVudGVybmVobWUgaWNoIGpldHp0IGV0d2FzLgpBbHMgZXJzdGVzIGFwcGVsaWVyZSBpY2ggYW4gamVkZW4sIGRlciB6dWt1ZW5mdGlnIGVpbmVuIEFydGlrZWwgdmVyLQpvZWZmZW50bGljaHQsIHNhY2hsaWNoIG9kZXIgYW11ZXNhbnQgenUgc2NocmVpYmVuLCBhYmVyIG5pY2h0IG1pdApGYWVrYWx3b2VydGVybiBiZWxlaWRpZ2VuZCB1bSBzaWNoIHp1IHNjaG1laXNzZW4uIERhcyBsYXNzZSBpY2ggbWlyCndlZGVyIGluIE5hdHVyYSB2ZXJiYWwgdW5kIHNjaG9uIGdhciBuaWNodCBzY2hyaWZ0bGljaCBzZWkgZXMgaW0gTXVkCm9kZXIgaW4gQlJEIGJpZXRlbi4KV2VubiBqZW1hbmQgdW5iZWRpbmd0IGRlciB1bnVtc3RvZXNzbGljaGVuIE1laW51bmcgaXN0LCBlciBtdWVzc2UKc2VpbmVuIChiZXJlY2h0aWd0ZW4gb2RlciB1bmJlcmVjaHRpZ3RlbiAoc3RlaHQgaGllciBuaWNodCB6dXIgRGUtCmJhdHRlKSkgRnJ1c3QgbWl0aGlsZmUgc29sY2hlciBzcHJhY2hsaWNoZW4gRW50Z2xlaXN1bmdlbiBhYmxhc3NlbiwKZGVyIGthbm4genVtaW5kZXN0IGVpbmUgcHJpdmF0ZSBNYWlsIHNjaHJlaWJlbiwgb2RlciBiZXNzZXIgbm9jaCBzaWNoCnNlbGJzdCBlaW5lIE1haWwgc2NoaWNrZW4sIGRhbWl0IGVyIG1hbCBzaWVodCwgd2llIGVzIGlzdCwgc28gZXR3YXMKdWViZXIgc2ljaCBlcmdlaGVuIGxhc3NlbiB6dSBtdWVzc2VuLCBvaG5lIGRhc3MgbWFuIHNpY2ggKGJlaSBNYWlsCm9kZXIgQXJ0aWtlbCkgc29mb3J0IHZlcnRlaWRpZ2VuIGtvZW5udGUuClNvbGx0ZSBkaWVzZSBBdWZmb3JkZXJ1bmcga2VpbmUgRnJ1ZWNodGUgdHJhZ2VuLCB3ZXJkZSBpY2ggbWljaCBmdWVyCk1hc3NuYWhtZW4gZWluc2V0emVuLCBkaWUgc29sY2hlIEFydGlrZWwgaW4gWnVrdW5mdCB1bnRlcmRydWVja2VuIQpNaXQgbm9jaCBGUkVVTkRsaWNoZW0gR3J1c3MgdmVyYmxlaWJlbiBlaW4KV2FsZHJlZ2lvbnNtYWdpZXIgdW5kIGVpbiBFcnptYWdpZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGKkNLIFBZUkFNSURFTiAoQXNtb2RpcywgIDYuIE9rdCAxOTk0LCAxMzowNDo0Mik6CldhcyBpc3QgYW4gZGVtIFplaXRsaW1pdCBkZW5uIHNvIHNjaGxpbW0/IER1IGJla29tbXN0IGRvY2ggcmVjaHR6ZWl0aWcKZ2VzYWd0LCB3ZW5ucyBrbmFwcCB3aXJkLCB1bmQgZGFubiBrYW5uc3QgZHUgZGljaCBpbW1lciBub2NoIGF1c2xvZ2dlbiwgb2RlcgplaW5zY2hsYWZlbi4KCkRpZSBCZXNjaHJlaWJ1bmcgZGVyIGxldHp0ZW4gYmVpZGVuIEF1ZmdhYmVuIHNpbmQgd2lya2xpY2ggZXR3YXMga29tcGxpemllcnQKZnVlciBOb3JtYWxzdGVyYmxpY2hlLCBhYmVyIGRpZSBBdWZnYWJlbiBzaW5kIHdpcmtsaWNoIG5pY2h0IHNvb28gc2Nod2VyLgoKICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzKGhhdCBkaWUgUHlyYW1pZGUgaW0gZXJzdGVuIEFubGF1ZiBnZXNjaGFmZnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEYqQ0sgUFlSQU1JREVOIChHbHVja3MsICA2LiBPa3QgMTk5NCwgMTQ6MzM6MTIpOgpzZWhlIGljaCB3aWUgYXNtb2Rpcywgb2J3b2hsIGljaCBkYXMgNS5yYWV0c2VsIGVyc3QgaW0gMi4gYW5sYXVmIGdlbG9lc3QKaGF0dGUsIGFiZXIgbWl0IGVuZGUga29tbXQgbWFuIG9obmUgdG9kIGhlcmF1cywgbmV1ZSBhdXNydWVzdHVuZywgbmV1ZXIKYW5sYXVmLCBkYW5uIGtsYXBwdCBlcywgZXR3YXMgbmFjaGRlbmtlbiBiZWltIGxldHp0ZW4gcmFldHNlbCBoaWxmdC4KaWNoIGhhYmUgYmVpbSBlcnN0ZW4gbWFsIGF1Y2ggZ2VmbHVjaHQsIHdlaWwgaWNoIGRpZXNlIHplaXRwcm9ibGVtLXEuIGF1Y2gKbmljaHQgbWFnLCBhYmVyIHdlbm4gbWFuIG5pY2h0IGFtIHNjaG5vZWRlbiBtYW1tb24gaGFlbmd0LCBtYWNodCBtYW4gaGFsdCBtaXQKZW5kZSBlaW5lbiBuYWVjaHN0ZW4gYW5sYXVmLiBpY2ggZW1wZmluZGUgbG9naXNjaGUgcmFldHNlbCBpbnNnZXNhbXQgYmVzc2VyCmFscyBxLnMsIGRpZSBtYW4gb2huZSBoaWxmZSBudXIgc2VociAobWluZGVzdGVucyA0eCBzZWhyICA6KSAgICkgc2Nod2VyIGxvZXNlbgprYW5uCgpiaXMgZGFubgpHbHVja3MgKGRpZSBrZWluZSBxLiBtZWhyIG1hY2h0IDopICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTouLi4uLkYqY2sgUHlyLi4uIChLbGluZ2UsICA2LiBPa3QgMTk5NCwgMTQ6NTI6MzgpOgpXYWVyZSBlcyBuaWNodCBtb2VnbGljaCBqZXdlaWxzIGVpbmVuIHBhcnNlciB1ZWJlciB2ZXJvZWZmZW50bGljaHRlIEFydGlrZWwKbGF1ZmVuIHp1IGxhc3NlbiB1bmQgZnVlciBqZWRlIEJlc2NoaW1wZnVuZyB1bmQgQmVsZWlkaWd1bmcgZGVtIEF1dG9yIHouQi4KNTAwMCBFUCBhYnp1emllaGVuID8KSWNoIGRlbmtlIGRhcyB3dWVyZGUgbmFjaCBlaW5lciBBbmxhdWZ6ZWl0IGRlbiBUb25mYWxsIG1pbGRlcm4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6Li4uLi5GKmNrIFB5ci4uLiAoQ2lmZXIsICA2LiBPa3QgMTk5NCwgMTQ6NTc6NDIpOgpOZXR0ZSBJZGVlLCBhbSBiZXN0ZW4gbWl0IG5ldWVyIExldmVsLUJlcmVjaG51bmcgaGludGVyaGVyIGJpcwpoaW4genUgbmVnYXRpdmVuIEVQYHMuIERhbm4gd3VlcmRlbiBudXIgbm9jaCBkaWUgTWFnaWVyCnByb2JsZW1sb3MgYmVsZWlkaWdlbiBrb2VubmVuLi4uIDopCkFiZXIgd2FydW0gemllaHQgbWFuIG5pY2h0IGdsZWljaCAyMCBBUCBwcm8gV29ydCBhYiwgdW50ZXIgZGVyClZvcmF1c3NldHp1bmcgbmF0dWVybGljaCwgZGFzcyBtYW4gUXVlc3RzIG5pY2h0IDIgbWFsIG1hY2hlbiBrYW5uPyA6KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTouLi4uRipjayBQLi4uLi4oQ2lmZXIpIChLbGluZ2UsICA2LiBPa3QgMTk5NCwgMTU6MTQ6NDQpOgpJY2ggdmVyZ2FzcyB6dSBlcndhZWhuZW4gZGFzIG5hdHVlcmxpY2ggTWFnaWVybiBkaWUgQXJ0aWtlbCBtaXQgYm9lc2VuIFdvcnRlbgp2ZXJvZWZmZW50bGljaGVuamUgYXJ0aWtlbCBlaW4gTGV2ZWwgYWJnZXpvZ2VuIHdlcmRlbiBNVVNTIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2ggd2Vpc3MgYXVjaCB3YXMgenUgZGVuIFB5cmFtaWRlbiAoR3V5YnJ1c2gsICA2LiBPa3QgMTk5NCwgMTU6MzE6MjUpOgoKTWl0dGxlcndlaWxlIGRhcmYgaWNoIG1pY2ggd29obCB6dW0gRmFjaG1hbm4gYXVmIGRlbSBHZWJpZXQgZGVzClB5cmFtaWRlbnF1ZXN0cyBlcm5lbm5lbiwgZGVubiBpY2ggaGFiIDYgQW5sYWV1ZmUgZ2VicmF1Y2h0IHVtIGRhcyB6dQpzY2hhZmZlbjogaW0gZXJzdGVuIHdhciBpY2ggaW0gbGFiIHVuZCBoYWIgd2FzIGZhbHNjaCBtaXRnZXNjaHJpZWJlbiwgaGFiIG1pY2gKZGFubiBhdWYgR3JpbW1ib3JucyBUaXAgaGluIChkYW5rZSBub2NobWFsKSBlaW5lcyBIZWJlbHMgYmVkaWVudCAoYmVpbSBSYWV0c2VsCnZvcmhlciBoYXR0IGVzIGphIGF1Y2ggZ2VrbGFwcHQpLiBTbyBoYXR0ZSBpY2ggZGFubiB3ZW5pZ3N0ZW5zIGRpZQpHZWxlZ2VuaGVpdCwgYW4gZWluZXIgSG9jaHplaXRzZmVpZXIgdGVpbG5laG1lbiB6dSBrb2VubmVuIHVuZCBtaXQgQXNtb2RpcwplaW5lIEV4cGVkaXRpb24genUgZGVuIER1bmtlbGVsZmVuIG1hY2hlbiB6dSBrb2VubmVuIChoYXR0IHNpY2ggZ2Vsb2hudCA6KSkuCkJlaW0gendlaXRlbiB1bmQgZHJpdHRlbiBWZXJzdWNoIHd1cmRlIGljaCBlaW5tYWwgZmFzdCB6dSBUb2RlIGdlTEFHdCwgZGFzCmFuZGVyZSBtYWxtdXNzdGUgaWNoIHp1IGVpbmVyIEJlc3ByZWNodW5nLgpBYmVyIGRhcyBiZXN0ZSB3YXIgZGVyIHZpZXJ0ZSBWZXJzdWNoISBJY2ggd2FyIGJlaW0gQXVzZ2FuZyB1bmQgbXVzc3RlIG1pdApFcnNjaHJlY2tlbiBmZXN0c3RlbGxlbiwgZGFzcyBpY2ggZGllIEZlcm5zdGV1ZXJ1bmcgdmVyZ2Vzc2VuIGhhdHRlIChmYXN0IHdpZQppbSByaWNodGlnZW4gTGViZW4pLiA6KQpCZXVpbSBmdWVuZnRlbiBBbmxhdWYgaGFiIGljaCB3aWVkZXIgU2NoZWlzcyBnZWJhdXQuCkJlaW0gc2VjaHN0ZW4gaGF0dHMgZGFubiBnZWtsYXBwdCAod2VyIHNhZ3RlIHdhcyB2b24gYWxsZXIgZ3V0ZW4gRGluZ2Ugc2luZApkcmVpPyksIHVuZCBoYWIgbWljaCB2ZXJ0ZXVmZWx0IGdlZnJldXQsIGRhc3MgaWNoIGRvY2ggbmljaHQgc29vb29vb29vb28gZG9vZgpiaW4gLSBlYmVuIG51ciBub3JtYWwgZG9vZi4KSmV0enQgbm9jaCB3YXMgenUgTW9yZ290aC4gRGllIFJhZXRzZWwgc2luZCB3aXJrbGljaCBndXQgZXJrbGFlcnQsIG9id29obCBtYW4KZGEgdW5kIGRvcnQgbm9jaCBldHdhcyBhdXNmdWVocmxpY2hlciBlcmtsYWVyZW4ga29lbm50ZSAod2lyZCBtaXIgaGllciBhYmVyIHp1CmxhbmcpLiBJY2ggZmluZCBkYXMgUHlyYW1pZGVuLVJhZXRzZWwgc3VwZXIsIGdlcmFkZSB3ZWlsLCB3aWUKR2x1Y2tzIHNjaG9uIHNhZ3RlLCBLbm9iZWwtUmFldHNlbCBiZXNzZXIgc2luZCBhbHMgSGF1LURyYXVmIHF1ZXN0cyB1bmQgYXVjaAp2b24gQW5mYWVuZ2VybiAoWlQncyBmZWhlbG4pIG5vY2ggYmV3YWVsdGlndCB3ZXJkZW4ga29lbm5lbi4gQWxzbyBEdXJpYW4sIGxhc3MKZGljaCBuaWNodCBhYnNjaHJlY2tlbi4gSWNoIGdsYXViIGFsbGVyZGluZ3MgYXVjaCwgZGFzcyBNb3Jnb3RoIGRhc3MgbmljaHQgc28KZ2VtZWludCBoYXQuIEljaCBoYWIgbWljaCBhdWNoIHNjaG9uIGdld2FsdGlnIGF1ZmdlcmVndCBiZWkgbWFuY2hlbiBRdWVzdHMsCmFiZXIgYWJyZWFnaWVyZW4gc29sbHRlIG1hbiBzaWNoIGRvY2ggaG9lZmxpY2guCgpTbywgZ2VudWcgZ2VzY2h3YWxsdCwKCUd1eWJydXNoLCBkZW0gbGFuZ3NhbSBkaWUgbG9lc2JhcmVuIHF1ZXN0cyBhdXNnZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggd2Vpc3MgYXVjaCB3YXMgenUgZGVuIFB5cmFtaWRlbiAoVG9ldGVyLCAgNi4gT2t0IDE5OTQsIDE1OjQ3OjQ5KToKVm9yIGFsbGVtIG11c3MgbWFuIHNpY2ggbmljaHQgdW5iZWRpbmd0IGluIGRlciBaZWl0dW5nIGFicmVhZ2llcmVuLiBJY2ggZGVua2UKZGFzcyBzaWNoIG5pY2h0IGFsbGUgYnJlbm5lbmQgZnVlciB1bmtvbnN0cnVrdGl2ZSBGcnVzdG1lbGR1bmdlbgppbnRlcmVzc2llcmVuLgoKVG9ldGVyLCBkZXIgc2ljaCBhbiBIYXNzLUF1c2JydWVjaGVuIGltIFNjaG1hcnJuIG5pY2h0IHN0b2VydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFuayAoUHJhLCAgNi4gT2t0IDE5OTQsIDE4OjU4OjU5KToKSGFsbG9lY2hlbiEKCkljaCBzaXR6ZSBoaWVyIGdhbnogZ2VtdWV0bGljaCBhdWYgZGVyIGVpbnppZ2VuIEJhbmsgaW0gTW9yZ2VuZ3JhdWVuLCBzbwpyaWNodGlnIGhlaW1lbGlnIGlzdCdzIC0gTW9tZW50IC0gZGllICplaW56aWdlKiBCYW5rIGltIE1HPyBWb24gd2VnZW4hCkljaCBlcmlubmVyZSBtaWNoIGFuIEtldG9zJyBIYXVzLCB1bmQgZGF2b3IgLSBzdGVodCBhdWNoIGVpbmUgQmFuayEgRXJnbzoKZGllIEJlc2NocmVpYnVuZyBkZXIgQmFuayBpc3QgZmFsc2NoIDooCgpHdXRlIE5hY2h0ISBQcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIE1VRCAoQXNtb2RpcywgIDYuIE9rdCAxOTk0LCAyMTo0NjowNik6CkhpIExldXRlLApCZXJ0IHVuZCBlaW4gcGFhciBhbmRlcmUgTGV1dGUgYXVzIGRlbSBTdGFyVHJla01VRCBoYWJlbiBzaWNoIHNlbGJzdHN0YWVuZGlnCmdlbWFjaHQsIHVuZCBlaW4gZWlnZW5lcyBNVUQgZXJvZWZmbmV0LgpFcyBoZWlzc3QgV2VsdFJhdW1NVUQsIHVuZCBoYXQgZmFzdCBkYXMgZ2xlaWNoZSBLb256ZXB0KGFsc28gU3RhclRyZWsgdW5kCkR1bmUpCgpEaWUgQWRyZXNzZSBsYXV0ZXQ6IGNzbWQyMy5jcy50dS1tYWdlZGVidXJnLmRlIDc2ODAKICAgICAgICAgICAgICAgICAgIG9kZXIKICAgICAgICAgICAgICAgICAgMTQxLjQ0LjIyLjIzIDc2ODAKCldlciBlaW4gRmFpYmxlIGZ1ZXIgU0Ytb3JpZW50aWVydGUgTVVEIGhhdCwgZGVyIHNvbGx0ZSB2b3JiZWlzY2hhdWVuCgpQLlMuOiBXaXphcmRzKGhlaXNzZW4gZG9ydCBRcykgd2VyZGVuIG5vY2ggZ2VzdWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW52ZW50b3J5LUt1cnpiZXNjaHJlaWJ1bmcgKFN0YWhsZG9ybiwgIDcuIE9rdCAxOTk0LCAxNzozNDo0Nik6CgpCZXNjaHdlcmRlOgpIZXV0ZSBoYWIgaWNoIHp1ZXJzdCBtaXQgRXJzdGF1bmVuLCBkYW5uIG1pdCBFbnRzZXR6ZW4gZmVzdHN0ZWxsZW4gbXVlc3NlbiwKZGFzcyBpY2gsIHdlbm4gaWNoICJ1bnQgPG1pdHNwaWVsZXI+IiB0aXBwZSwgbnVyIG1laHIgZWluZSB0b3RhbAp1bnZvbGxzdGFlbmRpZ2UgdW5kIG5ldWFydGlnZSBCZXNjaHJlaWJ1bmcgbWVpbmVzIEdlZ2VudWViZXIKRGFzIHdpbGwgaWNoIG5pY2h0LgpJY2ggd2lsbCB3aWVkZXIgZGllIGFsdGUgUmVnZWx1bmcsIGJlaSBkZXIgbWFuIGFsbGVzIHNpZWh0LCB3YXMgZGVyIGFuZGVyZSBzbwpiZWkgc2ljaCBoYXQuCk1pY2ggd3VuZGVydHMsIGRhc3Mgc2ljaCBub2NoIGtlaW4gYW5kZXJlciBhdWZnZXJlZ3QgaGF0IHVuZCBpY2ggZGVyIGVyc3RlCmJpbi4KCiAgICAgICAgbWl0IGlubmlnc3RlciBCaXR0ZSB1bSBSdWVja2Z1ZWhydW5nIGluIGRlbiBhbHRlbiBadXN0YW5kLAogICAgICAgICAgICAgICAgICAgICAgU1RBSEwuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnZlbnRvcnktS3VyemJlc2NocmVpYnVuZyAoSGFyLCAgNy4gT2t0IDE5OTQsIDE5OjQxOjQzKToKSGFsbG8gU3RhaGwKSXN0IG1pciBhdWNoIGF1ZmdlZmFsbGVuIHVuZCBmaW5kZSBpY2ggYWV0emVuZCwgZXMgcmVpY2h0LCB3ZW5uIG1hbiBuaWNodApzaWVodCwgd2FzIGltIEJldXRlbCBpc3QgdW5kIGZlcnRpY2guCkhhciwgenVzdGltbWVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggd2Vpc3MgYXVjaCB3YXMgenUgZGVuIFB5cmFtaWRlbiAoQmVsZGluLCAgOC4gT2t0IDE5OTQsIDAwOjMzOjM5KToKKEJlenVnOiBBcnRpa2VsIHZvbiBUb2V0ZXIsIERvbiwgIDYuIE9rdCAxOTk0LCAxNTo0Nzo0OSkKSmEsIHNvbGFuZ2Ugc2llIChkaWUgaGFzc3ZvbGxlbiBTcGllbGVyIG5hZW1saWNoKSBzaWNoIGF1Y2ggbnVyIGluIGBTY2htYXJybmAKYXVmaGFsdGVuLi4uClNvd2FzIGthbm4gbWFuIGphIGFiYmVzdGVsbGVuIDopCgpUc2NodWVzcyBCZWxkaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnZlbnRvcnktS3VyemJlc2NocmVpYnVuZyAoQmVsZGluLCAgOC4gT2t0IDE5OTQsIDAwOjM5OjU1KToKKEJlenVnOiBBcnRpa2VsIHZvbiBTdGFobGRvcm4sIEZyZSwgIDcuIE9rdCAxOTk0LCAxNzozNDo0NikKV2llc28/Pz8KRGllIEJlc2NocmVpYnVuZyBzY2hlaW50IE1JUiB6dW1pbmRlc3Qgc28genUgc2Vpbiwgd2llIHNpZSBzY2hvbiBpbW1lciBoYWV0dGUKc2VpbiBzb2xsZW4uLi4gT2RlciBrYW5uc3QgRFUgZXR3YSBlaW5lbSBgbm9ybWFsZW5gIE1lbnNjaGVuIGluIGRpZSBUYXNjaGVuCnNlaGVuPwoKQnllIC0tLSBCZWxkaW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5FSU4hISEhISEhIEFSR0wxISEhISAoRGFuY2VyLCAgOC4gT2t0IDE5OTQsIDAxOjAzOjM0KToKQklUVEUgQklUVEUgQklUVEUhISEhCkRpZSBQeXJhbWlkZW4gc2luZCB2b24gRFVSSUFOISEhIERVUklBTiEhISEgSWNoIGJpbiBEQU5DRVIhISEhClNwcmVjaHQgbWlyIG5hY2g6IERVUklBTi4ubmljaHQgREFOQ0VSISEhIQpTaWUgc2luZCB2b24gaWhtLCBpaG0sIGlobSBuaWNodCB2b24gbWlyISEhCkFSR0ghISEhCgpEYW5jZXIgLSB6YXBwdCBkZW4gbmFlY2hzdGVuLCBkZXIgaWhuIG5hY2ggZGVuIFB5cmFtaWRlbiBmcmFndCEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludmVudG9yeS1LdXJ6YmVzY2hyZWlidW5nIChUb2V0ZXIsICA4LiBPa3QgMTk5NCwgMDI6MDE6MjUpOgooQmV6dWc6IEFydGlrZWwgdm9uIEhhciwgRnJlLCAgNy4gT2t0IDE5OTQsIDE5OjQxOjQzKQpJY2ggZmluZGUgZGllIG5ldWUgUmVnZWx1bmcgc2VociBndXQsIGRhIGJsZWlidCBkZW5uIG1laHIgUGxhdHogZnVlciBkaWUKQ2hhcmFrdGVyYmVzY2hyZWlidW5nIChlbmRsaWNoIGF1Y2ggZnVlciBOaWNodC1TZWhlcikgZGFtaXQgbWFuIGJlaW0KdW50ZXJzdWNoZW4gdm9uIExldXRlbiBuaWNodCBpbW1lciBudXIgJ0VyIGlzdCB0b3RhbCBmaXQnb2RlciAnRXIgYnJhdWNodApkcmluZ2VuZCBlaW5lbiBTYXJnJyBzb25kZXJuIG1hbCBlaW5lbiBrb21wbGV0dGVuIFNpbm5lc2VpbmRydWNrIG1pdGJla29tbXQuCgpUb2V0ZXIsIEhhdGUgc2VociBsb2JlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnZlbnRvcnktS3VyemJlc2NocmVpYnVuZyAoRW5neXd1Y2ssICA4LiBPa3QgMTk5NCwgMTg6MTQ6MzEpOgpBaGEuIFNvc28uIEVzIGdpYnQgYWxzbyBqZXR6dCBkaWVzZSBuZXVlIEludmVudG9yeS1LdXJ6YmVzY2hyZWlidW5nLiBVbmQgd2llCm5pY2h0IGFuZGVycyB6dSBlcndhcnRlbiwgZmluZGVuIGRpZSBFaW5lbiBkYXMgc3VwZXJ0b2xsLCBkaWUgYW5kZXJuIHNjaGxpY2h0Cnp1bSBLb3R6ZW4uClRqYSwgd2FzIGthbm4gbWFuIGFsc28gdHVuPwpVbSBiZWlkZSBTZWl0ZW4genVmcmllZGVuenVzdGVsbGVuLCB3YWVyZSBuaWNodCBmb2xnZW5kZXMgbW9lZ2xpY2g6Ck1hbiBicmluZ3QgZGllc2UgbmV1ZSBGdW5rdGlvbiBpbiBlaW5lbSBJdGVtIHVudGVyLCBiencuIGVpbmVtIEJ1dHRvbiBvZGVyCnNvLiAgVmllbGxlaWNodCBlaW5lciwgZGVyIChhdXRvbG9hZGVuZCkgaW4gZGVyIEFwb3RoZWtlIGVyc3RhbmRlbiB3ZXJkZW4Ka2Fubi4gV2VubiBtYW4gZGVuIEJ1dHRvbiB0cmFlZ3QsIHNlaGVuIGFuZGVyZSBkaWUgbmV1ZSBLdXJ6YmVzY2hyZWlidW5nLCB3ZW5uCm1hbiBpaG4gbmljaHQgdHJhZWd0LCBzaWVodCBtYW4gZGllIGdld29laG5saWNoZSBhbHRlIEJlc2NocmVpYnVuZy4KU28ga2FubiBlcyBqZWRlciBFaW5yaWNodGVuLCB3aWUgZXIgd2lsbC4gU28gZ2FyIHVudGVyc2NoaWVkbGljaCB6dQp1bnRlcnNjaGllZGxpY2hlbiBBbmxhZXNzZW4sIGFsc28gc2VociBmbGV4aWJlbC4KClRzY2h1ZXNzaSwgRW5neXd1Y2sgKGltbWVyIGZ1ZXIgRmxleGliaWxpdGFldCB6dSBoYWJlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnZlbnRvcnktS3VyemJlc2NocmVpYnVuZyAoQmVsZGluLCAgOC4gT2t0IDE5OTQsIDE4OjE2OjM4KToKKEJlenVnOiBBcnRpa2VsIHZvbiBFbmd5d3VjaywgU2FtLCAgOC4gT2t0IDE5OTQsIDE4OjE0OjMxKQpXaWV2aWVsIEF1dG9sb2FkLU9iamVrdGUgZGVubiBOT0NIPz8/CgpIYXQgZGFzIFZlcmxhbmdlbiBkYW5hY2ggZGVubiBOSUUgZWluIEVuZGU/Pz8KCkNVIC4uLi4gQmVsZGluIChrb3Bmc2NodWV0dGVsbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZSBlbmd5IC0+IEludmVudG9yeSEgKFNlbWlyYSwgIDguIE9rdCAxOTk0LCAxODoyMDo1MCk6CldvdywgZGllIElkZWUgZ2VmYWVsbHQgbWlyISBLb2VubnRlIGZhc3Qgdm9uIG1pciBzZWluISEhIEFsc28gaWNoIHdhZXIgdm9uIHNvCmVpbmVtIGtudWRkbGlnZW4gQnV0dG9uIGJlZ2Vpc3RlcnQhISEKCkV1cmUgS251ZGRlbG1hdXMgKGF1ZiBVbXNldHp1bmcgZGVyIGJlc2FndGVuIElkZWUgaG9mZmVuZCkgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludmVudG9yeS1LdXJ6YmVzY2hyZWlidW5nIChFbmd5d3VjaywgIDguIE9rdCAxOTk0LCAxODoyMjoxMik6CkVzIHNjaGVpbnQgYXVjaCBMZXV0ZSB6dSBnZWJlbiwgZGllIG5pY2h0IGdsdWVja2xpY2ggc2luZCwgd2VubiBzaWUgbmljaHQKaXJnZW5kd28gd2FzIGF1c3p1c2V0emVuIGhhYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW52ZW50b3J5LUt1cnpiZXNjaHJlaWJ1bmcgKEhhdGUsIDEwLiBPa3QgMTk5NCwgMTQ6MDE6MzIpOgooQmV6dWc6IEFydGlrZWwgdm9uIEVuZ3l3dWNrLCBTYW0sICA4LiBPa3QgMTk5NCwgMTg6MTQ6MzEpClp1IGRlbSB3YXMgRW5neXd1Y2sgc2FndCwgdm9uIHdlZ2VuICJEaWUgZWluZW4gZmluZGVucyBndXQsIGRpZSBhbmRlcmVuCm5pY2h0IHVuZCBtYW4gc29sbGUgZG9jaCBlaW4gT2JqZWt0IGRyYXVzIG1hY2hlbiwgd2VsY2hlcyBtYW4gZnVlciBzaWNoagpzZWxic3QgZWluc3RlbGxlbiBrYW5uIjoKQWxzbyBkYXMgZ2VodCBtZWluZXIgTWVpbnVuZyBuYWNoIGFtIFByb2JsZW0gdm9yYmVpLCBkZW5uIHNvd2VpdCBlcyBtaXIKc2NoZWludCBmaW5kZW4gZGllIExldXRlLCBkaWUgZGllIEFuc2ljaHQgaWhyZXIgU3BpZWxlciBuaWNodCBtZWhyIHNlaGVuCmViZW4gZ2VyYWRlIHNjaGxlY2h0LCBkYXNzIHNpZSBuaWNodCBtZWhyIGFtIEFOREVSRU4gc2VoZW4sIHdhcyBlciB0cmFlZ3QuCkRlbm4gc2VpbiBlaWdlbmVzIEludmVudGFyIHNpZWh0IG1hbiBuYWNoIHdpZSB2b3Iga29tcGxldHQuClVuZCBub2NoIGV0d2FzLiBEaWUgVmVya3Vlcnp1bmcgZGVyIEFuc2ljaHQgaGF0dGUgendlaSBHcnVlbmRlLiBFcnN0ZW5zLAp3YXIgZXMgZWlnZW50bGljaCBuaWUgc28gZ2FueiBlaW56dXNlaGVuLCB3YXJ1bSBtYW4gQUxMRVMgc2llaHQsIHdhcyBlaW4KYW5kZXJlciBtaXQgc2ljaCBydW1zY2hsZXBwdCB1bmQgendlaXRlbnMgYnJhdWNoZSBpY2ggZGVuIFBsYXR6LCBkZXIgZGFkdXJjaAplbnRzdGFuZGVuIGlzdCAoYXVmIGRlbSBCaWxkc2NoaXJtLCB3ZW5uIG1hbiB1bnQgPHNwaWVsZXI+IG1hY2h0KSBmdWVyIGRpZQpNb2VnbGljaGtlaXQsIGRlbiBlaWdlbmVuIENoYXJha3RlciB6dSBiZXNjaHJlaWJlbi4gU29uc3Qgd3VlcmRlIGRlciBuYWVtbGljaAphdXMgZGVtIEJpbGQgcm9sbGVuLCBiZXZvciBtYW4gdWViZXJoYXVwdCB3YXMgbGVzZW4ga2FubiB1bmQgYW4gZGllc2VyIFN0ZWxsZQplaW4gbW9yZSBlaW56dWZ1ZWhyZW4sIGZhZW5kZSBpY2ggemllbWxpY2ggZWtsaWcuIEVzIHdpcmQgZWggenV2aWVsCm1vcmUgYmVudXR6dC4gRXMgaGVtbXQgZGVuIEluZm9ybWF0aW9uc2ZsdXNzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpZWxlIEdydWVzc2Ugdm9uIEdlb3JnZVNhbmQhISEgKFllbmRpLCAxMC4gT2t0IDE5OTQsIDE0OjU0OjU4KToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnZlbnRvcnkgKEpvZiwgMTAuIE9rdCAxOTk0LCAxNjozNTo0OSk6CiBFaW4gcGFhciBTcGllbGVyIGZhbmRlbiBlcyBzY2hvbiBuZXJ2aWcsIGRhcyBqZWRlciBzZWhlbiBrb25udGUsIHdhcyBzaWUKYmVpIHNpY2ggdHJhZ2VuIC0gZ2FueiBlaHJsaWNoLCB3ZW5uIGljaCBqZW1hbmRlbSBhdWYgZGVyIFN0cmFzc2UgYmVnZWduZSwKd2Vpc3MgaWNoIGF1Y2ggbmljaHQsIHdhcyBlciBpbiBkZXIgVGFzY2hlIHRyYWVndCBvZGVyIGdhciwgd2llIHZpZWwgR2VsZAplciBpbSBCZXV0ZWwgaGF0IC4uLiBlaWdlbnRsaWNoIGlzdHMgc28gZG9jaCByZWFsaXN0aXNjaGVyLCBvZGVyID8KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXJzdGVsbHVuZyAoRHVyaWFuLCAxMS4gT2t0IDE5OTQsIDEyOjMxOjEwKToKSGFsbG8genVzYW1tZW4hCgpFcnN0bWFsIGVpbnMgdm9ybmV3ZWcuIERpZSBQeXJhbWlkZW4gc2luZCBtZWluZW0ga3JhbmtlbiBIaXJuCmVudHNwcnVuZ2VuIHVuZCBEYW5jZXIgaGF0IGRhbWl0IHJlaW4gdWViZXJoYXVwdCBnYXIgbml4IHp1IHR1bi4KCkljaCBtb2VjaHRlIGFuIGRpZXNlciBTdGVsbGUgZWlucyBrbGFyIHN0ZWxsZW4uIEFydGlrZWwgd2llIGRpZSB2b24KTW9yZ290aCBuZWhtZSBpY2ggbmljaHQgaW0gZ2VyaW5nc3RlbiBmdWVyIHZvbGwuIEljaCBiaW4gaW1tZXIgZ2VybmUKZnVlciBrb25zdHJ1a3RpdmUgS3JpdGlrIHp1IGhhYmVuIHVuZCBpY2ggcmVkZSBhdWNoIGRhcnVlYmVyICh2aWVsZQp2b24gRXVjaCB3aXNzZW4gZGFzKS4gTmF0dWVybGljaCB3ZXJkZW4gZGFubiBuaWNodCBhbGxlIFZvcnNjaGxhZWdlCnVlYmVybm9tbWVuIGFiZXIgZGFzIHZlcnN0ZWh0IHNpY2ggbmF0dWVybGljaCB2b24gc2VsYnN0IDstKS4gV2VubiBJaHIKYWxzbyB3YXMgd29sbHQsIG1laW4gQnJpZWZrYXN0ZW4gc3RlaHQgRXVjaCBhbGxlbiBvZmZlbi4KCi0gRHVyaWFuCgpQLlMuOiBMb2IgbmVobWUgaWNoIG5hdHVlcmxpY2ggbm9jaCB2aWVsIGxpZWJlciBlbnRnZWdlbiwgYWxzbyBJaHIKbXVlc3N0IG1pciBuaWNodCBudXIgS3JpdGlrIG1haWxlbiA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaW52ZW50b3J5ICh2b24gam9mKSAoTml4aWhvdSwgMTEuIE9rdCAxOTk0LCAxNjowOToyNik6Ck51biBqb2YgaWNoIGRlbmtlIGR1IGhhc3QgZGEgZXR3YXMgdWViZXJzZWhlbi4Kd2VubiBpY2ggamVtYW5kZW0gYXVmIGRlciBzdHJhc3NlIGJlZ2VnbmUgd2Vpc3MgaWNoIG5hdHVlcmxpY2ggbmljaHQgZ2xlaWNoCndhcyBlciBiZWkgc2ljaCB0cmFlZ3QuCmFiZXIgd2VubiBpY2ggZGllc2UgcGVyc29uIHdpZSBoaWVyIGltIG11ZCBhdXNmdWVocmxpY2ggVU5URVJTVUNIIGRhbm4gd2Vpc3MKaWNoIHNvZ2FyLCBpbiB3ZWxjaGVyIHRhc2NoZSBlciBzZWluZW4gZ2VsZGJldXRlbCB0cmFlZ3QgdW5kIHdhcyBmdWVyIGVpbmUKZmFyYmUgc2VpbmUgdW50ZXJ3YWVzY2hlIGhhdC4KRXMgaXN0IG5hdHVlcmxpY2gga2xhciwgZGFzcyBzaWNoIGVpbmUgc29sY2hlIHVudGVyc3VjaHVuZyBrZWluZXIgZ2VmYWxsZW4KbGFlc3N0LgpXYXJ1bSBrYW5uIG1hbiBpbSBtdWQgbmljaHQgYXVjaCBlaW5lIHNvbGNoZSBmdW5rdGlvbiBlaW5iYXVlbiwgZGllIGRhbm4KamVkZXIgZnVlciBzaWNoIGVpbnN0ZWxsZW4ga2Fubiwgd2llIGVyIGF1ZiBlaW5lIFVOVEVSU1VDSFVORyByZWFnaWVydD8KekIuIGVyIGxhZXNzdCBlcyB6dSwgb2RlciBlciBvaHJmZWlndCBkZW4gdW50ZXJzdWNoZW5kZW4gKC01IExQPykgb2RlciBlcgpraXR6ZWx0IHNlaW4gZ2VnZW51ZWJlciwgb2RlciBvZGVyIG9kZXIuLi4uLgp2aWVsbGVpY2h0IHdhZWhyZSBqYSBhdWNoIGVpbiBmcmVpIHdhZWhsYmFyZXIgdGV4dCBtb2VnbGljaCB3aWUgYmVpIGRlbQpleHRyYWxvb2sgb2RlciBkZW4gbWluIHVuZCBtb3V0cyBkZXIKU2VoZXIuCgpzbyBmdWVycyBlcnN0ZSBnZW51ZyBzZW5mIGRhenUKCk5JWElIT1UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaW52ZW50b3J5IChOaXhpaG91KSAoWWVuZGksIDExLiBPa3QgMTk5NCwgMjA6MTg6MTYpOgpEYXMgaG9lcnQgc2ljaCBndXQgYW4hIEdpYnQgZGVtIEdhbnplbiBub2NoIG1laHIgRmFyYmUuCgpXaWUgd2FlcnMsIGlociBNYWdpZXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG9kZXNzZXF1ZW56Li4uLiAoRGFuY2VyLCAxMi4gT2t0IDE5OTQsIDE2OjUyOjMzKToKSm9mIHdhciBzbyBmcmV1bmRsaWNoLCBkaWUgbmFlY2hzdGUgVG9kZXNzZXF1ZW56IGVpbnp1YmF1ZW4uLi4uCkljaCB3dWVuc2NoZSB2aWVsIFNwYXNzIDotKQoKRGFuY2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGludmVudG9yeSAodm9uIGpvZikgKENhcmFkaHJhcywgMTMuIE9rdCAxOTk0LCAxNDowNjoxOSk6CndlbGNoZXIgZmFyYmUgc2VpbmUgdW50ZXJ3YWVzY2hlIGhhdD8/IGFsc28gYml0dGUhClZvbiBkaXIgbGFzcyBpY2ggbWljaCBuaWNodCB1bnQnZW4sIE5peGkhIQoKICAgdHNjaHVlc3MgICBDYXJhZGhyYXMsIGRlciBld2lnZSBQcm9waGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcml2YXRmZWhkZW4gKEhvYm8sIDE0LiBPa3QgMTk5NCwgMTU6MTU6NDUpOgpIaSwgZGFzIGhpZXIgZ2VodCBhbiBhbGxlLCBkaWUgc2ljaCBhbmdlc3Byb2NoZW4gZnVlaGxlbiEKCkluIGxldHp0ZXIgWmVpdCBoYXQgc2ljaCBoaWVyIGVpbiBUb24gZWluZ2VuaXN0ZXQsIGRlciBtZWhyIGFscyB1bmFuZ2VuZWhtCmlzdC4KU29iYWxkIGRlciBOYW1lIGVpbmVzIFNwaWVsZXJzLCBTZWhlcnMsIE1hZ2llcnMgaW4gZWluZW0gQXJ0aWtlbCBhdWNoIG51ciBtaXQKZGVtIEhhdWNoIHZvbiBLcml0aWsgZXJ3YWVobnQgd2lyZCwga29tbXQgc29mb3J0IGVpbmUgbWVpc3QgYmVsZWlkaWd0ZSB1bmQKYmVsZWlkaWdlbmRlIEFudHdvcnQuCkd1dCwgbWVpc3RlbnMgZ2VodCBlcyBkYWJlaSBudXIgdW0gdW53aWNodGlnZSwgbGFlY2hlcmxpY2hlIEthYmJlbGVpZW4uCkFiZXIgd2VubiBzaWNoIGRpZXNlIE1pbmktU3RyZWl0cyB3ZWl0ZXIgc28gaGFldWZlbiwga29lbm5lbiBzaWUgZGFzIEtsaW1hIGltCk1HIGdhbnogc2Nob2VuIHZlcnN1YWVuLgpJc3QgZXMgZGVubiBzbyBzY2h3ZXIsIG1pdCBkZW0gQmV0cmVmZmVuZGVuIHBlcnNvZW5saWNoIHp1IHJlZGVuPwpNdXNzIGRlbm4gYWxsZXMgaW4gZGVyIE9lZmZlbnRsaWNoa2VpdCBicmVpdGdldHJhbXBlbHQgd2VyZGVuPwpVbmQgc2NoZWluYmFyIGlzdCBuYWNoZ2ViZW4gYXVjaCB1bm1vZWdsaWNoLgoKTGV1dGUsIGljaCBmaW5kIGRhcyBudXIgbm9jaCB0cmF1cmlnLiA6KAoKICAgICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJpdmF0ZmVoZGVuIChEYW5jZXIsIDE0LiBPa3QgMTk5NCwgMTY6Mjk6NDYpOgpCUkFWTywgSG9ibyEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmVybGVndW5nIChLbGluZ2UsIDE1LiBPa3QgMTk5NCwgMTk6MDI6MTIpOgpJY2ggZmluZHMgbmljaHQgZ3V0IGRhcyB3aWxsa3VlcmxpY2ggQXJ0aWtlbCB2ZXJsZWd0IHdlZGVuLCB2b3IgYWxsZW4gRGluZ2VuCmFuICBvZGVyIGluIFNjaG1hcnJuLCB3b21pdCBlaW5lIHJlbGF0aXZlIEFid2VydHVuZyBlcmZvbGd0LgpXZW5uIEljaCBtZWluZSwgbWVpbmUgQXJ0aWtlbCBzb2xsdGVuIGluIFNjaG1hcnJuIHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4sCnd1ZXJkZSBJY2ggc2llIGRvcnQgc2NocmVpYmVuLgpGcmVjaGhlaXQgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXIgdW5kIE1hZ2llciAoS2xpbmdlLCAxNS4gT2t0IDE5OTQsIDE5OjA5OjE2KToKRXMgbXVzcyBlaW5mYWNoIG1hbCBnZXNhZ3Qgd2VyZGVuOgpNYWNoZW4gd2lyIHVucyBkb2NoIG5pY2h0cyB2b3IsCk1hZ2llciBzaW5kIG5pY2h0cyBhbmRlcmVzIGFscyBITFBzIGRpZSBuaWNodCBkYXMgWmV1ZyB6dW0gU2VoZXIgaGF0dGVuLgpJbiBqZWRlbSBTcGllbGVyIHN0ZWNrdCBlaW4gU2VoZXIgLi4uLi4uIHVuZCBkZXIgd2lsbCByYXVzIDspCgpIbGluZ2UgZGVyIHNpY2ggbmljaHQgdm9yc3RlbGxlbiBrYW5uIHdpZQpzaWNoIGplbWFuZCB3YXMgZGFyYXVmIGVpbmJpbGRlbiBrYW5uIE1hZ2llciB6dSBzZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FtcGYtTVVEcyAoRGFuY2VyLCAxNS4gT2t0IDE5OTQsIDIwOjA5OjQwKToKSGksCgpuYWNoIGRlbSBaRUlULUFydGlrZWwgdWViZXIgTVVEcyB3dWVyZGUgbWljaCBpbnRlcmVzc2llcmVuLCBvYiBpcmdlbmR3ZXIKbWFsIG5lIHRlbG5ldC1udW1tZXIgdm9uIGVpbmVtIGRpZXNlciBLYW1wZi1NVURTIGJ6dy4KZGllc2VyIEljaC1iYXUtbWlyLWVpbmUtRmFtaWxpZS1NVURzIHBhcmF0IGhhdC4uLgoKRGFuY2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FtcGYtTVVEcyAoU3RhaGxkb3JuLCAxNy4gT2t0IDE5OTQsIDEyOjExOjI3KToKKEJlenVnOiBBcnRpa2VsIHZvbiBEYW5jZXIsIFNhbSwgMTUuIE9rdCAxOTk0LCAyMDowOTo0MCkKSWNoIGhhZXR0ZSBkYSBkaWUgQWRyZXNzZSBkZXMgR2Vub2NpZGUgU2xheWVyLU1VRCwgRGFuY2VyLgpkc2llIGxhdXRldDogMTkyLjkyLjExNS4xNDUgMjIyMgoKICAgICAgICAgICAgU1RBSEwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRTogUHJpdmF0ZmVoZGVuIChDYW1waW5vLCAxNy4gT2t0IDE5OTQsIDEzOjMzOjU0KToKSWNoIGZpbmRlIGRpZXNlIEFydGlrZWwgc2VociBsZXNlbnN3ZXJ0LgpKYSB1bmQsIGFlaC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmF1c3BhcnZlcnRyYWcgKEVuZ3l3dWNrLCAxOC4gT2t0IDE5OTQsIDE1OjI1OjExKToKSWNoIG11c3MgZmVzdHN0ZWxsZW4sIGRhc3MgZGllIHdpY2h0aWdzdGUgRnVua3Rpb24gaW0gWnVzYW1tZW5oYW5nIG1pdCBkZW0KQmF1c3BhcnZlcnRyYWcgbmljaHQgZnVua3Rpb25pZXJ0OiBEaWUgRnVua3Rpb24gInplcnJlaXNzZSIKCkNpYW8sIEVuZ3l3dWNrIC0gd29obnQgdW50ZXIgRElFU0VOIEJlZGluZ3VuZ2VuIHdlaXRlcmhpbiBpbSBOZXR6dG90ZW5yYXVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFsbG8sIEdydWVibGVyIHVuZCBOYXNlbmJvaHJlciA6PiAoSGlnaGxhbmRlciwgMTkuIE9rdCAxOTk0LCAxNzowNTowOSk6Ci4uLiBpaHIga29lbm50IGpldHp0IGV1cmVyIExlaWRlbnNjaGFmdCBmb2VuZW4uCkF1c3NlcmRlbSBrYW5uIG1hbiBOYXNlIHB1dHplbiwgU2FjaGVuIGRlbmtlbiB1bmQgc2ljaCBmcmV1ZW4uCk9kZXIgc28uCkhpZ2hsYW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVST0VGRk5VTkchIChEYW5jZXIsIDE5LiBPa3QgMTk5NCwgMjM6NTY6MDIpOgoKSGFsbG8sCgogaWNoIGRhcmYgaGV1dGUgaW4gbWVpbmVyIEZ1bmt0aW9uIGFscyBvYmVyc3RlciBLYW1wZnJpY2h0ZXIgZGVyCidUaWdlciBUYWcnLVdldHRzcGllbGUgdmVya3VlbmRlbiwgZGFzcyBuYWVjaHN0ZSBXb2NoZSBpbiBQb3J0IFZhaW4KZGVyIFdldHRwYWxhc3QgJ0xVQ0tZIFRJR0VSJ3MnIHNlaW5lIFBmb3J0ZW4gZnVlciBkaWUgV2V0dGdlbWVpbmRlCmVyb2VmZm5lbiB3aXJkIQoKIElociBrb2VubnQgZGFubiBhdWYgYWNodCBob2NobW90aXZpZXJ0ZSBUZWlsbmVobWVyIEV1ZXIgR2VsZCBzZXR6ZW4sCmRpZSBpbiB3b2VjaGVudGxpY2hlbSBXZXR0c3RyZWl0IGluIGRlciAnU2NoYXR0ZW5hcmVuYScgaW5uZXJoYWxiCmRlcyBXZXR0cGFsYXN0ZXMgZ2VnZW5laW5hZGVyIGFudHJldGVuLiBEb2NoIGRhcyBzb2xsIG5vY2ggbGFuZ2UKbmljaHQgYWxsZXMgZ2V3ZXNlbiBzZWluIC0gbGFzc3QgRXVjaCBkb2NoIG1hbCBlaW5pZ2UgWmVpdCBpbiBkZXIKVi5JLlAuLUxvdW5nZSB2ZXJ3b2VobmVuLCBiZXN1Y2h0IGRpZSBJbmZvcm1hdGlvbnMtTG91bmdlLCB1bSBhbGxlCkRhdGVuLCBXZXR0a2FtcGZ0YWdlLCBRdW90ZW4sIEtvbnRyYWhlbnRlbiB1bmQgdmVyZ2FuZ2VuZW4gV2V0dGVuIHp1CnN0dWRpZXJlbiwgb2RlciBnZWh0IGdsZWljaCBpbiBkaWUgV2V0dGFubmFobWUtTG91bmdlLCBpbiBkZXIKYWt0dWVsbGUgVGFmZWxuLCBkaWUgUXVvdGVuIHVuZCBadXN0YWVuZGUgZGVyIFdldHRrYW1wZnRlaWxuZWhtZXIKemVpZ2VuLiBVbmQgdHJlZmZ0IGRhbm4gZGllIHNjaHdpZXJpZ2UgRW50c2NoZWlkdW5nLCBvYiBJaHIgRXVlcgpzYXVlciBlcmthZW1wZnRlcyBHZWxkIGJlaSBTaWVnLSBvZGVyIFBsYXR6d2V0dGVuIHZlcm1laHJlbiB3b2xsdCEKClVuZCBkZW5rdCBpbW1lciBkYXJhbi4uLmVzIGdpYnQgS0VJTkUgTGltaXRzIQoKRGFuY2VyCk9iZXJzdGVyIEthbXBmcmljaHRlciB1bmQKUHJhZXNpZGVudCBkZXIgVGlnZXJUaXAmVG90dG8gQ28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWluIEtyaWVnIG1pdCBkZW4gUXVlc3QncyAoWnVlcmlsZXUsIDIwLiBPa3QgMTk5NCwgMDY6MDM6MTMpOgpTYWxpIHphZW1lLAoKSWNoIGhhYmUgc2VociBncm9zc2UgUHJvYmxlbWUgbWl0IFF1ZXN0IHVuZCBSYWV0emVsbiBhdWNoIGltIGVjaHRlbiBMZWJlbi4KTnVuIGhhYmUgaWNoIGVpbmUgZnJhZ2Ugd28gaWNoIG1pciBkaWUgYW50d29ydGVuIGRhcmF1ZiBzY2hvbiBhdXMgZGVtCkZpbmdlcm4gc2F1Z2VuIGthbm4uIEFiZXIgaWNoIHZlcnN1Y2ggZXMgZGVub2NoIG1hbCB6dW0gVGhlbWEgenUgYnJpbmdlbiwKc29sbCBrZWluIGdlbWVrZXIgc2VpbiBzb25kZXJuIGVpbiBWb3JzY2hsYWcgZGVyIGhvZmZlbnRsaWNoIGVybnN0IGdlbm9tbWVuCndpcmQuIEFsc28sIHdhZXJlIGVzIG5pY2h0IG1vZWdsaWNoIGVpbnp1ZnVlaHJlbiBkYXMgbWFuIGF1ZiAyIFdlZ2UgU2VoZXIKb2RlciBNYWdpZXIgd2VyZGVuIGthbm4uIFVuZCB6d2FyIGRlciBub3JtYWxlIFdlZyBtaXQgMSBNaWxsaW9uIGVwIHVuZCAxNHh4CkFwZW50ZXVlcnB1bmt0ZSB3aWUgZXMgamV0enQgaXN0IHVuZCBmdWVyIGRpZSBkaWUgbWl0IFF1ZXN0IGlocmUgcHJvYmxlbWUKaGFiZW4gdW5kIGRlbm9jaCBuaWNodCB0YXJhdWYgdmVyemljaHRlbiBtb2VjaHRlbiBpbiBpaHJlbSBsaWVibGluZ3NtdWQKTWFnaWVyIHp1IHdlcmRlbiBlaW5lbiB3ZWcgb2huZSBRdWVzdCBkYWZ1ZXIgdmllbGxlaWNodCBlcnN0IGFiIDIgb2RlciAzCk1pbGxpb25lbiBFcmZhaHJ1bmdzcHVua3RlIGRhcyBlcyBkZW4gYW5kZXJlbiBnZWdlbnVlYmVyIGZhaXIgd2lyZCA/LgpTY2hyZWlidCBkb2NoIG1hbCBldXJlIE1laW51bmcgZGF6dSwgYW5zY2hlaW5lbmQgYmluIGljaCBkZXIgZXJzdGUgZGVyIGRhcwp6dSBXb3J0IGJyaW5ndCBhYmVyIGljaCBoYWJlIG1pciBkYXp1IG1hbCBkaWUgZnJlaWhlaXQgZ2Vub21tZW4gPSQ6KQoKVHNjaHVlc3MgemFlbWUgZXVlcgoKICAgICAgICAgICAgICAgICAgXyAgICAgICBfCiAgICAgICBfX19fXyAgICAgKF8pICAgICAoXykgICAgICAgLl8uICAgLl9fX19fICBfXyBfXwogICAgICAoX19fXyBcOjovXChfKS9cX19fX18gX19fX19fOnwgfDo6OnwgX19fXykvIC8gXCBcCiAgICAgICAuXCAgXy9fX1wgXF8vIC8gXyBcIFxcX19fXy86fCB8X186fCBfX18pOlwgXF8vIC8KICAgICAuOjo6XF9fX19fKVxfX18vIF8gIC8gLzo6Ojo6Ojp8X19fXyl8X19fX18pOlxfX18vCiAgIC46Ojo6Ojo6Ojo6Ojo6Ojo6XC86XCBcLzo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oi4KIC46Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6XC86Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6LWRMcC06OjouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVpbiBLcmllZyBtaXQgZGVuIFF1ZXN0J3MgKFJvbWlsaSwgMjAuIE9rdCAxOTk0LCAwODozMTo0MCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gWnVlcmlsZXUsIERvbiwgMjAuIE9rdCAxOTk0LCAwNjowMzoxMykKSG1tbSAuLi4gbmljaHQgZGFzcyBpY2ggZGFzIG5pY2h0IHZlcnN0ZWhlbiB3dWVyZGUgenVlcmlsZXUgLSBhYmVyIHF1ZXN0cwpnZWhvZXJlbiB6dSBkaWVzZXIgYXJ0IG11ZHMgbnVuIG1hbCBkYXp1IC0gdW5kIGljaCBmYWVuZGUKZXMgbmljaHQgZ3V0IHdlbm4gamVtYW5kIG1hZ2llciB3ZXJkZW4ga29lbm50ZSBvaG5lIGVpbmVuCmdyb3NzZW4gdGVpbCBkZXIgcXVlc3RzIGdlbG9lc3QgenUgaGFiZW4uIGVzIGdpYnQgZGEgYW5kZXJlCm11ZHMgbWl0IGFuZGVyZW4gemllbGVuIC0gaWNoIHdlaXNzIG5pY2h0IG1laHIgd2llIGRpZSBoZWlzc2VuLCBhYmVyCmRhIHdpcmQgZ2xhdWIgaWNoIG51ciBnZW1ldHplbHQgdW5kIG5pY2h0IGdlcXVlc3RldC4KYWJlciBlaW4ga2xlaW5lciB0aXAgdm9uIG1pciwgdmVyc3VjaCBkb2NoIG5pY2h0IGFsbGUgcXVlc3RzIGFsbGVpbmUKenUgbG9lc2VuLiBlcyBpc3Qgc28gbmV0dCBtaXQgYW5kZXJlbiBzcGllbGVybiBxdWVzdHMgenUgbG9lc2VuLgoqc2Nod2VsZyBpbiBlcmlubmVydW5nZW4qIGljaCBrYW5uIG1pY2ggbm9jaCBndXQgYW4gZGllIGthdGFrb21iZW4KZXJpbm5lcm4sIGluIGRlbmVuIGljaCBtaXQgaG1tbSBkYW5jZXIsIHNvbmljIHVuZCBub2JvZHkgZ2xhdWIgaWNoCm5lIGdhbnplIG5hY2h0IHZlcmJyYWNodCBoYWJlIDotKS4KCm51biBndXQgLSBqZXR6dCBzY2h3ZWlmIGljaCBnbGF1YiBpY2ggZXR3YXMgYWIuIHdvbGx0ZSBudXIgbWVpbmUKbWVpbnVuZyBiZWthbm50IGdlYmVuOiBNYWdpZXIgb2RlciBTZWhlciBpbiBNRyBvaG5lIHF1ZXN0cyBnZWh0IG5pY2h0LgoKUm9taWxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoibWVpbiBlcnN0ZXIgYXJ0aWtlbCIgZGllIHp3ZWl0ZSAoU3VubnksIDIwLiBPa3QgMTk5NCwgMTA6NDc6NDgpOgprbGFwcGUgdW5kIGFlaGd0c2NobgpkYWNodCBpY2ggbWlyIGRvY2ggZGFzcyBkYXMgbWl0IGRlbSBhcnRpa2VsIHNjaHJlaWJlbiBuaWNodCBzbyBlaW5mYWNoIGlzdAppY2ggaGF0dGUgZ2Vob2ZmdC92ZXJtdXRldC9nZWRhY2h0LCBkYXNzIGljaCBuYWNoZGVtIGljaCBzY2hyZWliZSBhdWZydWZlCmVyc3QgbWFsIGdlZnJhZ3Qgd2VyZCB3byBpY2ggZGVuIGFydGlrZWwgZ2VybiBoaW4gaGFldHRlCnRzamEgdW5kIGFiYnJlY2hlbiBoYWIgaWNoIGRhbm4gYXVjaCBuaWNodCBoaW5nZWtyaWVndAphbHNvIGRlbiB2b3JpZ2VuIHVuZCBkZW4gYXJ0aWtlbCBlaW5mYWNoIHVlYmVyYmxhZXR0ZXJuLCBuaWNodCBzYXVlciBzZWluCmRhc3MgaW4gZGVtIGFydGlrZWwgbml4IHNpbm52b2xsZXMgZHJpbnN0ZWh0LCB2b24gbWlyIGF1cyBuYWNoIHNjaG1hcnJuCnZlcmJhbm5lbiB1bmQgcnVicmlrIHdpdHplIGF1ZnNjaGxhZ2VuLCBkYSBzb2xsdGUgbmFlbWxpY2ggZWlnZW50bGljaAptZWluIGVyc3RlciBhcnRpa2VsIGxhbmRlbi4uLi4KCiAgICAgc29ycnkKICAgICAgICAgICAgU1VOTlkgIGRpZSBhdWNoIG1hbCBuZW4gYmVpdHJhZyBmdWVyIGRpZSB6ZWl0dW5nIHNjaHJlaWJlbgp3b2xsdGUKICAgICAgICAgICAgU1VOTlkgIGRpZSB2b3JoZXIgaGFldHRlIHZpZWxsZWljaHQgZGllIGhpbGZzc2VpdGVuIGhhZXR0ZQpzdHVkaWVyZW4gc29sbGVuCiAgICAgICAgICAgIFNVTk5ZICBkaWUgZ3JhZCBmZXN0c3RlbGx0IGRhcyBkZXIgYXJ0aWtlbAppbmhhbHRsaWNoLyJvaHJkb2tyYXZpY2giL2Zvcm1hdGllcnQgemllbWxpY2ggY2hhb3Rpc2NoIGlzdApxCnNjaG1vbGwgLSBpY2ggZGVuayBtaXQgICBxICBrb21tdCBtYSBkYSByYXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVpbiBLcmllZyBtaXQgZGVuIFF1ZXN0J3MgKEFzbW9kaXMsIDIwLiBPa3QgMTk5NCwgMTU6MDA6NDEpOgooQmV6dWc6IEFydGlrZWwgdm9uIFp1ZXJpbGV1LCBEb24sIDIwLiBPa3QgMTk5NCwgMDY6MDM6MTMpCgpBbHNvIGljaCBmaW5kZSBkaWUgSWRlZSBndXQsIG51ciBzb2xsdGUgZGFubiBrbGFyIHNlaW4sIGRhc3MgZWluIHNvbGNoZXIKU2VoZXIgbmljaHQKTWFnaWVyIHdlcmRlbiBkYXJmLCBzb2xhbmdlIGVyIG5pY2h0IGRpZSBlbnRzcHJlY2hlbmRlIEFiZW50ZXVlci1QdW5rdC1aYWhsCmF1ZndlaXN0ISEKCiAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdXIgbWFsIGVpbmUgRnJhZ2Ugb2huZSBIaW50ZXJnZWRhbmtlbiEhISAoRmxpbnRuYWlsLCAyMS4gT2t0IDE5OTQsIDAzOjI3OjI4KToKCiB3YXMgaWNoIHNjaG9uIGltbWVyIG1hbCBmcmFnZW4gd29sbHRlLi4uCgogICB3YXJ1bSB3ZXJkZW4gTWFnaWVyIE1hZ2llciwgd2VsY2hlIE1vdGl2ZSBnaWJ0IGVzIGRhPz8/CgogIEFudHdvcnRlbiB2b24gTWFnaWVybiBlcnd1ZW5zY2h0ISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXJ1bSBNYWdpZXIgPyAoQ2FtcGlubywgMjEuIE9rdCAxOTk0LCAwNDoxMTozMSk6CkdhbnogZWluZmFjaCwgd2VpbCBpY2ggZGFubiBkaWUgRXJmYWhydW5nIG1laW5lcyBTZWhlcnMgbWl0CnhjYWxsIE5hbWVVbmJla2FubnQtPlNldFByb3AoUF9YUCwzMDAwMDAwMCk7CmluIGdld3VlbnNjaHRlIEdyb2Vzc2Vub3JkbnVuZ2VuIHNjaHJhdWJlbiBrYW5uLgpOZWluIGltIEVybnN0LCBpY2ggaGF0dGUgdm9uIEFuZmFuZyBhbiBkaWUgQWJzaWNodCBNYWdpZXIgenUgd2VyZGVuLCB1bQpFcmZhaHJ1bmdlbiBtaXQgTFBDIHp1IG1hY2hlbi4KU2ljaGVyIGRhcyBRdWVzdGxvZXNlbiBoYXQgZWluZSBNZW5nZSBTcGFzcyBnZW1hY2h0LCBhYmVyIGRpZXNlcyBlbmRsb3NlCktpbGxlbiBnaW5nIG1pciBpcmdlbmR3YW5uIGF1ZiBkZW4gLi4uLiAuClVlYnJpZ2VucyBnZXJhZGUgaGFiIGljaCBkaWUgQXJjaGllLVF1ZXN0IGdlbG9lc3QsIG9id29obCBpY2ggc2FnZW4KbXVzcywgZGFzcyBlcyBuaWNodCBzbyB0b2xsIHdhciwgd2llIGRhcyBMb2VzZW4gZGVyIFF1ZXN0cyBhbHMgU3BpZWxlciwKZGEgaWNoIGFscyBTcGllbGVyIG5pY2h0IHp1bSBBcmNoaXRla3RlbiBnZWhlbiBrb25udGUgdW5kIG1pciBkaWUgMTAKa2FydGVudGVpbGUKZG9ydCBjbG9uZW4ga29ubnRlLgpadXJ1ZWNrIHp1bSBNYWdpZXJ3ZXJkZW4sIHp1IEJlZ2lubiB3aXJkIG1hbiB2b24gZWluZXIgRmx1dCBuZXVlcgpGYWVoaWdrZWl0ZW4KdWViZXJzY2h3ZW1tdCwgbmFjaGRlbSBtYW4gc2VpbmUgJ1NOT09QJy1QaGFzZSBoaW50ZXIgc2ljaCBnZWJyYWNodCBoYXQsCmJlZ2lubnQgbWFuIHNpY2ggZHVyY2ggZGVuIHVuZW5kbGljaGVuIHNjaGVpbmVuZGVuIFd1c3QgYW4gTFBDLUVybGFldXRlcnVuZ2VuCnp1IGthZW1wZmVuLCBkYW5uIHByb2dyYW1taWVydCBlaW5mYWNoZSBSYWV1bWUgdW5kIE1vbnN0ZXIsIHNjaGF1dCBzaWNoIGRlbgpRdWVsbGNvZGUgdm9uIERpbmdlbiBhbiwgZGllIG1hbiBhbHMgU3BpZWxlciBndXQgZmFuZCwgdW5kIHZlcnN1Y2h0IHNpZQptb2VnbGljaHNhdApnZXNjaGlja3QgenUga29waWVyZW4uIChJbiBkZXIgUGhhc2UgYmluIGljaCBnZXJhZGUgKQpEYWJlaSBrb21tdCBlcyBzY2hvbiBtYWwgdm9yLCBkYXMgbWFuIGVpbiA7IHp1dmllbCBzZXR6dCB1bmQgc3R1bmRlbmxhbmcgdm9yCmRlbSBkb2NoIHNvIHJpY2h0aWcgZ2VnbGF1YnRlbiBDb2RlIHNpdHp0IHVuZCBicnVldGV0LCB3byBkZXIgRGVua2ZlaGxlcgpsaWVndC4KW0RlciBSZXN0IHd1cmRlIG5hY2ggTGFsbC5pbS5BbGwga29waWVydF0KRmF6aXQ6CkRpZSBlcnN0ZW4gUGFhciBXb2NoZW4gbWVpbmVzIE1hZ2llcmRhc2VpbnMgd2FyZW4gYWV0emVuZCwgdW5kIG5hY2hkZW0gaWNoCm1laW5lIGVyc3RlbiBSYWV1bWUgdW5kIE1vbnN0ZXIgcHJvZ3JhbW1pZXJ0IGhhYmUsIGZpbmRlIGljaCBlcyB3aWVkZXIKdm9sbGUta2FubmUtZ3V0LCBzbyBkYXNzIGVzIG51ciBub2NoIGVpbmUgRnJhZ2UgZGVyIFplaXQgaXN0LCBiaXMgaWhyIGV1Y2gKYXVmIGRpZSBTdWNoZSBuYWNoIENhbXBpbm9zIEdpdGFycmUgaW5zIENhbXAgSW5vIGJlZ2ViZW4ga29lbm50LgoKCmVpbiBuaW1tZXJtdWVkZSB3ZXJkZW5kZXIgQ2FtcGlubyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFnaWVyIG1hY2h0bG9zLCBkYXMgTG9nIHZvbSBDcmFzaCBlYmVuIChLZXRvcywgMjEuIE9rdCAxOTk0LCAxNzowNzo0Nik6CkRhbmNlciBzYWd0OiBrYW5uIG1pciBtYWwgZWluZXIgZXJrbGFlcmVuLCB3YXMgcm0gLXIgd3Vlc3RlIG1hY2h0Pz8/CkRhbmNlciBnaWJ0IGVpbiBhbGJlcm5lcyBLaWNoZXJuIHZvbiBzaWNoLgpEdXJpYW4gc2FndDogYWVoCkR1cmlhbiBzYWd0OiBvZWhtCkRhbmNlciBwcnVzdGV0IGVpbiBiaXNzY2hlbi4KUm9jaHVzIHNhZ3Q6IGxldmVsIDQ0PwpEdXJpYW4gc2FndDogRGFzIG1hY2h0IGljaCB6dW0gU3BpZWxlciEKRHVyaWFuIG5pY2t0IFJvY2h1cyB6dS4KRHVyaWFuIHNhZ3Q6IGljaCA9IERpY2gKRHVyaWFuIGdyaW5zdC4KRGFuY2VyIHNhZ3Q6IGFlaCBoYWVobSA6KQpEYW5jZXIgc2FndDogb2VobQpEYW5jZXIgc2FndDogZGFubiBsYXNzIGljaHMgOykKRHVyaWFuIGdyaW5zdC4KUm9jaHVzIHNhZ3Q6IGRhbmNlciwgZ2VoIG1hbCBtaXQgZW5kZSByYXVzIHVuZCB3aWVkZXIgcmVpbgpEYW5jZXIgdGFwcHN0IGF1ZiB3dWNodGlnZW4gVGlnZXJwcmFua2VuIG5hY2ggSGF1c2UuCkR1cmlhbiBzYWd0OiBCZXNzZXIgc28sIER1IHRyYWVnc3QgYmFsZCB2ZXJhbnR3b3J0dW5nCkR1cmlhbiBzYWd0OiBlciBrYW5uJ3MgbmljaHQgZXJ3YXJ0ZW4gOi0pClJvY2h1cyBzYWd0OiBuYW51PwpIaWxiZXJ0cyBNdXR0ZXIgcnVmdDogSGlsYmVydCEgS29tbSBzb2ZvcnQgRXNzZW4hCkR1cmlhbiBzYWd0OiBkYXMgd2FyIHdvaGwgbml4ClJvY2h1cyBzYWd0OiBnZWggcmF1cywgd2FydGUgMjAgc2VrdW5kZW4sIGtvbW0gd2llZGVyIHJlaW4KRWluIHdpbnppZ2VyIFB1bmt0IHdhZWNoc3QgenUgd2FiZXJuZGVyIEdsdXQgaGVyYW4gdW5kIGZvcm10CnNpY2ggenUgZWluZW0gZ2lnYW50aXNjaGVuIFNhbmR0aWdlci4gRXIgZmF1Y2h0IGVpbm1hbCBsYXV0IGF1ZiB1bmQgZGllCnVuYmFlbmRpZ2UgSGl0emUgZGVyIFd1ZXN0ZSBzdHJlaWZ0IERpY2guIERhbm4gdmVyc2Nod2ltbWVuIGRpZSBGb3JtZW4KZXJuZXV0IHVuZCBEYW5jZXIgYmF1dCBzaWNoIHZvciBEaXIgYXVmLgpSb2NodXMgc2FndDogZ2VoIHJhdXMsIHdhcnRlIDIwIHNla3VuZGVuLCBrb21tIHdpZWRlciByZWluCkRhbmNlciBhcmdsdCBlaW4gd2VuaWcgdm9yIHNpY2ggaGluLgpEYW5jZXIgbmlja3QgenVzdGltbWVuZC4KRHVyaWFuIGdyaW5zdC4KRGFuY2VyIHRhcHBzdCBhdWYgd3VjaHRpZ2VuIFRpZ2VycHJhbmtlbiBuYWNoIEhhdXNlLgpSb2NodXMgc2FndDogbmFudT8KbGFjaApEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCj4geHdobwpEdSBzaWVoc3QgZWluZW4gRmVobGVyIGltIFJhdW0tWmVpdC1HZWZ1ZWdlLgoKPiB4d2hvCkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCnNhZyBvaApzYWcgYmVpYmVrb21tZSBpY2ggZWluIER1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCgpEdSBzaWVoc3QgZWluZW4gRmVobGVyIGltIFJhdW0tWmVpdC1HZWZ1ZWdlLgo+IC0rRAp4d2hvCkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCk1lc3NhZ2UgZnJvbSBEdXJpYW46CmljaCBrYW5uIHdlZGVyIGV0d2FzIHNhZ2VuLCBub2NoIGV0d2FzIHJ1ZmVuLCBpc3QgZGFzIHNvIHJpY2h0aWc/Pz8KCkR1cmlhbiBoaWVyLCBhbnR3b3J0ZXQgbWlyIG1hbCwgaXJnZW5kd2llIC4uLiBpY2ggYmVlbmRlIG1hbCB4bXNnCgpEdSBzaWVoc3QgZWluZW4gRmVobGVyIGltIFJhdW0tWmVpdC1HZWZ1ZWdlLgoKPiBIVUVMRkUgOi0pCltFbmQgb2YgbWVzc2FnZV0Kc2FnIFNjaGVpc3NlCkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCm1ydWYgSGFsbG8gPwpEdSBzaWVoc3QgZWluZW4gRmVobGVyIGltIFJhdW0tWmVpdC1HZWZ1ZWdlLgplY2hvIEFSR0wKRHUgc2llaHN0IGVpbmVuIEZlaGxlciBpbSBSYXVtLVplaXQtR2VmdWVnZS4KbWVjaG8gSGlsZmUKRHUgc2llaHN0IGVpbmVuIEZlaGxlciBpbSBSYXVtLVplaXQtR2VmdWVnZS4KCkR1cmlhbiB3ZWlsdCB3aWVkZXIgdW50ZXIgZGVuIExlYmVuZGVuLgoKPiB4bXNnClNlbmQgbWVzc2FnZSBpbnRvIHJvb20uCkVuZCBtZXNzYWdlIHdpdGggIi4iIG9yICIqKiIuCkljaCBzZWhlIG51ciBub2NoIHJhdW0gemVpdCBmZWhsZXIgYmVpIG1pciBnZWh0IG5peCBtZWhyCioqCgpbRW5kIG9mIG1lc3NhZ2VdCj4gPiAKPiBSb2NodXMgYnJpY2h0IGluIFRyYWVuZW4gYXVzIHVuZCB3ZWludCBiaXR0ZXJsaWNoLgpncmlucwpEdSBncmluc3QuCj4gR2FtZSBkcml2ZXIgc2hvdXRzOiBMUG11ZCBzaHV0dGluZyBkb3duIGltbWVkaWF0ZWx5LgpDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuCj4gbW8KVHJ5aW5nLi4uCnRlbG5ldDogVW5hYmxlIHRvIGNvbm5lY3QgdG8gcmVtb3RlIGhvc3Q6IENvbm5lY3Rpb24gcmVmdXNlZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWkVJVC1BUlRJS0VMIChIYWxlYSwgMjEuIE9rdCAxOTk0LCAxNzozOTo0MSk6CmtvZW5udGUgamVtYW5kIGRpZSBhZHJlc3NlbiBkZXIgaW0gYXJ0aWtlbCBlcndhZW50ZW4KbXVkcyBiZXNvcmdlbj8gd2FlciBuZXR0LiBiZWkgZGVuIG11ZHMgYmVpIGRlbmVuIG1hbiBuZW4gc3BlYy4gY2xpZW50IGJyYXVjaHQKYXVjaApkaWUgYWRyZXNzZSB3byBtYW4gaWhuIGJla29tbWVuIGthbm4uLi4KCiBkYW5rIGltIHZvcmF1cwoKICAgSGFsZWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZ2llciBtYWNodGxvczogRGFuYWNoLCBkZXIgMi4gVmVyc3VjaCAoS2V0b3MsIDIxLiBPa3QgMTk5NCwgMTc6NDE6NTUpOgpVbmQgbmFjaGRlbSBDcmFzaCAobGVpY2h0IGdla3VlcnR6dCkgRGFuY2VyIHp1bSBWaXplCi4uLgpEdXJpYW4gc2FndDogS2V0b3MgaXN0IHNjaHVsZCwgd2VpbCBlciBuaXggZ2V0YW4gaGF0LgpEdSBzY2htb2xsc3QuCkRhbmNlciB0cm9lc3RldCBkaWNoLgpEdSBzYWdzdDogTGVzdCBtYWwgQXJ0aWtlbCAzNSBSdWJyaWsgMS4gRGEgd2VyZGVuIHdpciBzZWhlbiB3ZXIgZGFzIHZlcmJvY2t0IGhhdC4KLi4uCkR1cmlhbiBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1tZW4uCkRhbmNlciBqYXBzdCBuYWNoIFNhdWVyc3RvZmYuLi4KRGFuY2VyIHNhZ3Q6IERhcyBiZXN0ZSBMb2cgc2VpdCBsYW5nZW0uCkR1IGdyaW5zdC4KLi4uClJvY2h1cyBzYWd0OiB3ZW5pZ3N0ZW5zIGlzdCBkZXIgc3BlaWNoZXIgd2llZGVyIGZyZWkgOikKRHVyaWFuIGJyaWNodCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpEYW5jZXIgbGFlY2hlbHQgZXJsZWljaHRlcnQuCkR1cmlhbiBzYWd0OiBOYSwgd2VuaWdzdGVucyBldHdhcyEKRGFuY2VyIHNhZ3Q6IHVuZCBzb29vIHNjaGxlY2h0IGlzc2VzIG5pY2h0Li53ZW5pZ3N0ZW5zIG1hbCB3aWVkZXIKRGFuY2VyIHNhZ3Q6IGF1ZmdlcmFldW10LgpEdXJpYW4gbmlja3Qgd2lsZC4KRGFuY2VyIHNhZ3Q6IGRpZSB6YXRvbmdzIGhhdHRlbiBiZXN0aW1tdCBzY2hvbiBwbGF0emFuZ3N0IHdlaWxzIHNvIHZvbGwgZGEKRGFuY2VyIHNhZ3Q6IHdhciA6LSkKRHVyaWFuIHJ1ZnQ6IExlc3QgWmVpdHVuZywgd2lyIHdhcmVuIGhpbGZsb3MhCkR1cmlhbiBzYWd0OiBvZGVyIHNvIC4uLgpEYW5jZXIgcnVmdDogeWVwISA6LSkKRHVyaWFuIGdyaW5zdC4KRHVyaWFuIHNhZ3Q6IE5pY2h0IHVuc2NodWxkaWcsIGFiZXIgaGlsZmxvcyEKRGFuY2VyIHJ1ZnQ6IGFsc28gcXVhc2kuLm5pY2h0LXNjaHVsZGlnIDopCkR1cmlhbiBzYWd0OiAyNSBUYWdlIC4uLiBkYW5uIGthbSBEYW5jZXIgLi4uCkR1cmlhbiBncmluc3QuCkRhbmNlciBzYWd0OiBqb2Ygd2lyZCBzYWdlbjogd2VubiBpY2ggbWFsIGVpbmVuIHRhZyBuaWNodCBkYSBiaW4gOikKRGFuY2VyIGdyaW5zdCBEdXJpYW4gYW4uCgouLi4uCgpEYW5jZXIgc2FndDogYWVobSByb2NodXMsIHNvcnJ5PwpSb2NodXMgc2FndDogamE/CkRhbmNlciBzYWd0OiBpY2ggd2lsbCBqYSBuaWNodCBzY2hvbiB3aWVkZXIgYW5rb21tZW4uLi5udXIgaWNoIGhhYiBkaWUKRGFuY2VyIHNhZ3Q6IHNjaHJlaWJyZWNodGUgaW4gL3d1ZXN0ZSBuaWNodCB1bmQgaW0gZmluZ2VyIHN0ZWh0IGRhIGF1Y2ggbm9jaApEYW5jZXIgc2FndDogd2FzIG5pY2h0IHJpZipjaHRpZyA6KApEYW5jZXIgc2V1Znp0LgpFdHdhcyBTYW5kIHdpcmQgaGVyZWluZ2V3ZWh0IHVuZCBiYXV0IHNpY2ggbWFnaXNjaCB6dSBEdXJpYW4genVzYW1tZW4uCkR1cmlhbiBzYWd0OiBQcm9ibGVtZT8KRGFuY2VyIGxhZWNoZWx0IER1cmlhbiBhbi4KRGFuY2VyIHNhZ3Q6IGphLCBrb25udGUgbmljaHRzIHNjaHJlaWJlbi4KRGFuY2VyIHNhZ3Q6IHggLT4gdW5yZWNvZ25pemVkIG9yIGZhaWxlZCBjb21tYW5kLgpEdXJpYW4gc2FndDogRGFuY2VyLCB2ZXJzdWNoZSBkb2NoIG1hbCBlaW5mYWNoIGluIC9kL3d1ZXN0ZS9yb29tIGlyZ2VuZGV0d2FzCkR1cmlhbiBzYWd0OiB6dSBrb3BpZXJlbiEKRHVyaWFuIHNhZ3Q6IHdzcyBtYWNodCB4PwpEYW5jZXIgc2FndDogc3BlaWNoZXJuIGltIGVkLgpEdXJpYW4gc2FndDogYWNoc28KRGFuY2VyIHNhZ3Q6IGljaCBoYWIgbnVyIGVpbmUgemVpbGUgaW0gZmVsc2VudG9yIGhpbnp1Z2VmdWVyZ3QgdW5kIHdvbGx0ZQpEYW5jZXIgc2FndDogc3BlaWNoZXJuLgpEYW5jZXIgc2FndDogZ2luZyBsZWlkZXIgbmljaHQuCkR1cmlhbiBzYWd0OiBBY2ggZ290dCwgamEKRHVyaWFuIHNhZ3Q6IEljaCB3ZWlzcywgd2FzIGZhbHNjaCBpc3QsIHNlbHVuZGUKRGFuY2VyIHNhZ3Q6IG9oIDopCkRhbmNlciBuaWNrdCB3aWxkLgpEdXJpYW4gc2FndDogc2VrdW5kZSAuLi4KRGFuY2VyIG5pY2t0IHp1c3RpbW1lbmQuCkRhbmNlciBzYWd0OiBpY2ggaGFiIHplaXQgOikKRHVyaWFuIHNhZ3Q6IEhtbW0gLi4uIHZlcnN1Y2hlIG5vY2htYWwsIGJpdHRlClNlaHQgZGVuIFN0ZWluIHZvbiBEdW5jdG9uLCB3aWUgYXVmcmVjaHQgZXIgc3RlaHQhCklyc2kgaGF0IGRlbiBzaWVidGVuIFN0aWxsZW4gU3RlaW4gZ2VmdW5kZW4uCkRhbmNlciBzYWd0OiBtaXQgZW5kZSByYXVzPwpEYW5jZXIgc2FndDogb2RlciB3YXMgc2NocmVpYmVuPwpEdXJpYW4gc2FndDogbmVpbgpEYW5jZXIgbmlja3QgenVzdGltbWVuZC4KRHVyaWFuIHNhZ3Q6IHdhcyBzY2hyZWliZW4KUm9jaHVzIHNhZ3Q6IGRhbmNlciwgc2F2ZSBtYWwKRHVyaWFuIHNhZ3Q6IFJvY2h1cywgZXMgbGllZ3QgYW4gZGVtIGFjY2Vzc19yaWdodHMuYwpSb2NodXMgc2FndDogamV0enQgc29sbHRlIGVzIGdlaGVuCkR1cmlhbiBzYWd0OiBkb3J0IHdlcmRlbiBEYW5jZGVycyBTY2hyZWlicmVjaHRlIGVpbmdlZW5ndCEKRGFuY2VyIHNhZ3Q6IGdlaHQgaW1tZXIgbm9jaCBuaWNodC4sCkRhbmNlciBzYWd0OiBpY2gga29waWVyIG1hbApEdXJpYW4gc2FndDogU2VrdW5kZSwgaWNoIGFlbmRlcmUgenVydWVjayAuLi4KRHVyaWFuIHNhZ3Q6IHdhcnRlIG1hbCBrdXJ6LCBoYWIncyBnbGVpY2gKRGFuY2VyIG5pY2t0IHp1c3RpbW1lbmQuCkR1cmlhbiBzYWd0OiBWZXJzdWNoZSBub2NobWFsIC4uLgpEYW5jZXIgc2NodWV0dGVsdCBkZW4gS29wZi4KRGFuY2VyIHNhZ3Q6IG5laW4gOigKRHVyaWFuIHNhZ3Q6IGhtbW0gLi4uCkR1cmlhbiBzYWd0OiBtYWNoIG1hbCBlaW4gbG9nLW91dCwgYml0dGUKRGFuY2VyIG5pY2t0IHp1c3RpbW1lbmQuCkR1cmlhbiBzYWd0OiBlaW5tYWwgZW5kZQpEYW5jZXIgdGFwcHN0IGF1ZiB3dWNodGlnZW4gVGlnZXJwcmFua2VuIG5hY2ggSGF1c2UuCkVpbiB3aW56aWdlciBQdW5rdCB3YWVjaHN0IHp1IHdhYmVybmRlciBHbHV0IGhlcmFuIHVuZCBmb3JtdApzaWNoIHp1IGVpbmVtIGdpZ2FudGlzY2hlbiBTYW5kdGlnZXIuIEVyIGZhdWNodCBlaW5tYWwgbGF1dCBhdWYgdW5kIGRpZQp1bmJhZW5kaWdlIEhpdHplIGRlciBXdWVzdGUgc3RyZWlmdCBEaWNoLiBEYW5uIHZlcnNjaHdpbW1lbiBkaWUgRm9ybWVuCmVybmV1dCB1bmQgRGFuY2VyIGJhdXQgc2ljaCB2b3IgRGlyIGF1Zi4KRHVyaWFuIHNhZ3Q6IGRhcyBnaWJ0IGVzIGRvY2ggbmljaHQgLi4uCkRhbmNlciBrcmF0enQgc2ljaCBhbSBLb3BwLgpEdXJpYW4gc2FndDogdmVyc3VjaGUgbWFsIHdhcyB6dSBzY2hyZWliZW4KRGFuY2VyIHNhZ3Q6IGhhYiBlYmVuLCBnZWh0IG5pY2h0IDooClJvY2h1cyBzYWd0OiB2ZXJzdWNoIGVzIEpFVFpUIG1hbApEdXJpYW4gZ3JpbnN0LgpEYW5jZXIgaHVlcGZ0IGdsdWVja2xpY2ggaGVydW0uCkRhbmNlciBrbnVkZGVsdCBEdXJpYW4sIFZpcGVyLCBSb2NodXMgdW5kIERpY2guCkRhbmNlciBzYWd0OiB5ZXMhIDotKQpEdXJpYW4gc2FndDogVW5kLCB3b3JhbiBsYWcgZXMsIFJvY2h1cz8KRGFuY2VyIHNhZ3Q6IGljaCB3b2xsdGUgbWlyIGdyYWQgZWluIGFsaSBkYWZ1ZXIgbWFjaGVuIDspCkRhbmNlciBzYWd0OiBzdXBlciwgZGFua2UhIDotKQpEdXJpYW4gc2FndDogUm9jaHVzPwpSb2NodXMgc2FndDogZ2VoIG1hbCB6dXIgc2ljaGVyaGVpdCByYXVzIHVuZCB3aWVkZXIgcmVpbgpSb2NodXMgc2FndDogbWl0IGVuZGUKRHVyaWFuIHNhZ3Q6IFJvY2h1cywgd29yYW4gbGFnIGVzIGRlbm4/CkRhbmNlciBuaWNrdCB6dXN0aW1tZW5kLgpEYW5jZXIgdGFwcHN0IGF1ZiB3dWNodGlnZW4gVGlnZXJwcmFua2VuIG5hY2ggSGF1c2UuClJvY2h1cyBzYWd0OiBpY2ggbXVzc3RlIGltIG1hc3RlciBlaW5lIGZ1bmt0aW9uIGF1ZnJ1ZmVuCkVpbiB3aW56aWdlciBQdW5rdCB3YWVjaHN0IHp1IHdhYmVybmRlciBHbHV0IGhlcmFuIHVuZCBmb3JtdApzaWNoIHp1IGVpbmVtIGdpZ2FudGlzY2hlbiBTYW5kdGlnZXIuIEVyIGZhdWNodCBlaW5tYWwgbGF1dCBhdWYgdW5kIGRpZQp1bmJhZW5kaWdlIEhpdHplIGRlciBXdWVzdGUgc3RyZWlmdCBEaWNoLiBEYW5uIHZlcnNjaHdpbW1lbiBkaWUgRm9ybWVuCmVybmV1dCB1bmQgRGFuY2VyIGJhdXQgc2ljaCB2b3IgRGlyIGF1Zi4KRGFuY2VyIHNhZ3Q6IG9rCkR1cmlhbiBzYWd0OiBBc28/IE5hIGRlbm4gLi4uClJvY2h1cyBzYWd0OiBmdW5rdGlvbmllcnQgZXMgamV0enQgaW1tZXIgbm9jaD8KRHVyaWFuIHdpbmt0LgpFaW4gU2FuZHRpZ2VyIHN0ZWh0IHBsb2V0emxpY2ggYW4gRGFuY2VycyBTdGVsbGUgdm9yIERpci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphdWYgemV0dGVsIChUd3JnbCwgMjMuIE9rdCAxOTk0LCAwMjoyODozOCk6CkhhYmVnZWRhY2h0IG1hbiBrb2VubnRlIGRpZSBOYWNocmljaHQgZWRpdGllcmVuLCBuYWNoZGVtIG1hbiBkZW4gTmFtZW4gZGVzCkVtcGZhZW5nZXJzIGFuZ2VnZWJlbiBoYXQuCk11c3MgYWJlciBhbmRlcnMgaGVydW0gZ2VtYWNodCB3ZXJkZW4uCldhcyBpY2ggRGlyIHNjaGlja2VuIHdvbGx0ZSB3YXIuIERhbmtlIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBtYWwgZWluZSBGcmFnZSBvaG5lIEhpbnRlcmdlZGFua2VuISEhIChBbnRoZWEsIDIzLiBPa3QgMTk5NCwgMTM6MjY6MTcpOgooQmV6dWc6IEFydGlrZWwgdm9uIEZsaW50bmFpbCwgRnJlLCAyMS4gT2t0IDE5OTQsIDAzOjI3OjI4KQpUamEsIGFscyBpY2ggTWFnaWVyaW4gd3VyZGUsIGRhIGdhYiBlcyBub2NoIGtlaW5lIFNlaGVyLiBOZSwgYWJlciBhdWNoCnNvLCBpY2ggYmluIGhpZXIgaW4gTUcgZWluZ2VzdGllZ2VuIG1pdCBkZXIgQWJzaWNodCwgenUgTWFnaWVycmFuZwphdWZ6dXN0ZWlnZW4sIGRhIGVzIG1pciBlaW5mYWNoIFNwYXNzIG1hY2h0LCB6dSBwcm9ncmFtbWllcmVuLCB1bmQgZXMKbWlyIGhpZXIgaW0gTXVkIG5vY2ggZXR3YXMgenUgdHJvY2tlbiB3YXIuIEVzIGdpYiBoYWx0IExldXRlLCBkZW5lbiBlcwplaW5mYWNoIFNwYXNzIG1hY2h0LCB6dSBwcm9ncmFtbWllcmVuLiBEYXMgTWFnaWVydHVtIGhhdCBuYXR1ZXJsaWNoCih6dW1pbmRlc3QgYXVzIG1laW5lciBTaWNodCkgZWluZW4gZ3Jvc3NlbiBOYWNodGVpbDogSWNoIGtyaWVnZSBudXIKbm9jaCBzZWhyIHdlbmlnIG1pdCwgd2FzIGluIGFuZGVyZW4gR2ViaWV0ZW4gTW9yZ2VuR3JhdWVucyBlbnRzdGVodCBiencuCnBhc3NpZXJ0LiBBdXMgZGllc2VtIEdydW5kIGxvZ2dlIGljaCBhYiB1bmQgenUgZWluZW4gU3BpZWxlciBlaW4sIGRlcgp3aXJrbGljaCBudXIgc3BpZWx0IHVuZCBuaWNodCB0ZXN0ZXQgKGxlaWRlciBldHdhcyB6dSBzZWx0ZW4pLCB1bQp3aWVkZXIgZXR3YXMgdm9uIE1HIGtlbm5lbnp1bGVybmVuIChOZWluLCBpY2ggdmVycmF0ZSBrZWluZW4gTmFtZW4uLi4gOikKVW5kIHdlbm4gbWFuIGRpZSBTZWxic3RkaXN6aXBsaW4gaGF0LCBtaXQgZGllc2VtIFNwaWVsZXIgd2lya2xpY2ggenUKc3BpZWxlbiB1bmQgbmljaHQgaW0gQ29kZSBuYWNoenVzY2hhdWVuLCBtYWNodCBkYXMgZGFubiBzb2dhciByaWNodGlnClNwYXNzLCB2b3IgYWxsZW0gZGVzaGFsYiwgd2VpbCBtYW4gbmljaHQgZGVuICdEcnVjaycgZGVzIEF1ZnN0ZWlnZW5zCndpZSBkaWUgc29uc3RpZ2VuIFNwaWVsZXIgaGF0LgpBYmVyIG5hY2ggd2llIHZvciBsaWVndCBtZWluIEhhdXB0YW5saWVnZW4gaGllciBpbSBNdWQgaW0KUHJvZ3JhbW1pZXJlbiwgbmljaHQsIHVtIGFuZGVyZSBTcGllbGVyIHp1IGFlcmdlcm4sIHNvbmRlcm4gd2VpbCBtaXIgZWluZQpJZGVlIHZvcnNjaHdlYnQsIGRpZSBpY2ggcmVhbGlzaWVyZW4gbW9lY2h0ZSAodW5kIGdlZmFlaHJsaWNoIGdlbnVnIGlzdApkYXMgTXVkIHNvd2llc28gc2Nob24pLiBJY2ggc3RlbGxlIG1pciBvZGVyIGFuZGVyZW4gbmljaHQgZGllIEZyYWdlLAp3YXJ1bSBtYW4gamV0enQgTWFnaWVyIG9kZXIgU2VoZXIgd2lyZCwgc29uZGVybiBzYWdlIHVuZCBzYWd0ZSBhbGxlbiwKZGllIG1pY2ggZnJhZ2VuL2ZyYWd0ZW46IE1hY2h0LCB3b3p1IGlociBMdXN0IGhhYnQhIEJlaWRlcyBrYW5uIFNwYXNzCm1hY2hlbiwgYmxvc3MgU2VoZXIgaGFiZW4gZGVuIFZvcnRlaWwsIGRhc3Mgc2llLCB3ZW5uIGlobmVuIGRhcwpTZWhlcnR1bSBrZWluZW4gU3Bhc3MgbWFjaHQsIGRhbm4gZG9jaCBub2NoIHp1bSBNYWdpZXIgd2VyZGVuIGtvZW5uZW4sCndlbm4gbWFuIGFsbGVyZGluZ3MgbWFsIE1hZ2llciBpc3QsIGRhbm4uLi4uLi4uCgpTbywgc292aWVsIG1laW4gU2VuZiBkYXp1LgogICAgICBBbnRoZWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJvbGxlbnNwaWVsZSAoU21hdWcsIDI0LiBPa3QgMTk5NCwgMDk6MTE6MjIpOgoKaGFsbG8gcm9sbGVuc3BpZWwtZnJlYWtzICEKemllbWxpY2ggdmllbGUgbWctc3BpZWxlciBzY2hyZWliZW4sIGRhc3MgKHdlbm4gc2llIGF1ZiBkZXIgc3BpZWxlbWVzc2Ugc2luZCkKc2llIGluIGRlciBuYWVoZSBkZXIgcm9sbGVuc3BpZWxlLXN0YWVuZGUgenUgZmluZGVuIHdhZXJlbi4KZGVzaGFsYiBqZXR6dCBtZWluZSBmcmFnZToKd2llIGxhdWZlbiBzb2xjaGUgYnJldHQtKG9kZXIgd2llIGF1Y2ggaW1tZXIpLXJvbGxlbnNwaWVsZSBlaWdlbnRsaWNoIGFiIHVuZAp3ZWxjaGUgc2luZCBndXQgLi4uCgpzbWF1ZywgZGVyIHNpY2ggZnVlciByb2xsZW5zcGllbGUgaW50ZXJlc3NpZXJ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXNydWVzdHVuZyAoQmFtYnVsa28sIDI0LiBPa3QgMTk5NCwgMTE6MDA6NTApOgpLYW5uIG1pciBtbCBqZW1hbmQgZXJrbGFlcmVuIHdhcnVtIGFuZGF1ZXJuZCBkaWUgV2VydGUgZGVyIFdhZmZlbiB1bmQKUnVlc3R1bmdlbiB2ZXJhZW5kZXJ0IHdlcmRlbj8/PwpJY2ggaGFiZSBrZWluZSBMdXN0IGplZGVuIFRhZyB6dW0gU2NobWllZCB6dSBsYXVmZW4gdW5kIGFsbGUgU2FjaGVuIHp1CnZlcmdsZWljaGVuLgoKQXVmIEFudHdvcnQgd2F0ZW5kCiAgICAgICAgICAgQkFNQlVMS08uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVzcnVlc3R1bmcgKENhdHdlYXpsZSwgMjQuIE9rdCAxOTk0LCAxNzoxNTo0Nik6CkhBIQpEYSBzaW5kIHNpZSB3aWVkZXIgZGllc2UgV29ydGUsIGRpZSBpY2ggc29vb28gbGllYmUuLi4uIGFuZGF1ZXJuZCAuLi4KLi4uamVkZW4gLi4uLiBhbGxlIC4uLiBzY2hyZWNrbGljaCEKV2llIHdhZXJzLCB3ZW5uIGR1IG1hbCBzY2hyZWlic3QsIHdlbGNoZSBXYWZmZSBlcyB3YXIsIGRhbm4ga2FubiBtYW4KYXVmIHNvIGVpbmVuIEFydGlrZWwgYXVjaCB3YXMgYW50d29ydGVuLgpFdHdhcyBncnVtbWVsbmQsCiAgICAgICAgICAgICAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZXJlOiBBdXNydWVzdHVuZyAgKEJhbWJ1bGtvLCAyNC4gT2t0IDE5OTQsIDE3OjE3OjM3KToKSWNoIHNhZ2UgbnVyIEZlZGVydW1oYW5nLi4uCiAgICAgICAgICAgICAgICAgIEJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1bmQgd2llZGVyIENhbXBpbm8gKFlhbnRybywgMjUuIE9rdCAxOTk0LCAwODozMDo0OCk6CkhhbGxvIGFsbGUgTWl0ZWluYW5kZXIsCgpkZXIgQW5sYXNzIHp1IGRpZXNlbSBBcnRpa2VsIGlzdCBsZWlkZXIgZWluIHRyYXVyaWdlciwgYWJlciBuYWNoZGVtIGljaCBkdXJjaApTY2hydW1wZmlzIEFydGlrZWwgKGluIFJ1YnJpayBXaXR6ZSkgaW4gbWVpbmVyIE1laW51bmcgZ2VzdGFlcmt0IHd1cmRlLAptb2VjaHRlIGljaCBub2NoIGVpbmVuIFNjaHJpdHQgd2VpdGVyZ2VoZW4uLi4KCkVzIGdhYiBtYWwgZWluZSBXb2xwaWUtQ2x1Yi11bWZyYWdlLCB3ZWxjaGUgZGFzIHNjaGxlY2h0ZSBCZW5laG1lbiB2b24gZWluZW0KU3BpZWxlciBzYW5rdGlvbmllcmVuIHNvbGx0ZS4gSmV0enQgbW9lY2h0ZSBpY2ggdWViZXIgZGllc2VuIEFydGlrZWwgb2ZmaXppZWxsCkxvY28gKGFscyBQb3N0LU1hZ2llcikgdW5kL29kZXIgRnJldW5kIChhbHMgU2hlcmlmZikgZGF6dSBhdWZmb3JkZXJuLCBlaW5lClVtZnJhZ2UgenUgc3RhcnRlbiwgd2VsY2hlIGVzIHp1bSBaaWVsIGhhdCwgZWluZW0gc29sY2ggZnJhdWVuZmVpbmRsaWNoZW4gdW5kCmFsbGVpbiBzY2hvbiBkYW1pdCB3aWRlcndhZXJ0aWdlbSBTdWJqZWt0IHdpZSBDYW1waW5vIGRpZSBCZXJlY2h0aWd1bmcgenVtClNjaHJlaWJlbiBpbiBkZXIgTVBBIHp1IG5laG1lbiEhISEKCkRhbWl0IG1laW5lIGljaCBuaWNodCBkZW4gdm9sbHN0YWVuZGlnZW4gQXVzc2NobHVzcyBhdXMgZGVyIE1QQSwgYWJlciBlcgpzb2xsdGUgZnVlciBsYWVuZ2VyZSBaZWl0LCB3ZW5uIG5pY2h0IHNvZ2FyIGZ1ZXIgaW1tZXIgU2NocmVpYnZlcmJvdCBiZWtvbW1lbi4KCldlbm4gaWNoIHp1IGhhcnQgbWl0IG1laW5lbiBGb3JkZXJ1bmdlbiBzZWluIHNvbGx0ZSwgaWNoIGxhc3NlIG1pY2ggZ2VybmUgenUKZWluZW0gYWx0ZXJuYXRpdmVuIFZvcnNjaGxhZyBmdWVocmVuLCBhYmVyIFNPIGthbm4gZXMgbmljaHQgd2VpdGVyZ2VoZW4uLi4KCkluIGRlciBIb2ZmbnVuZywgZGFzcyBqZXR6dCBkaWUgZ3Jvc3NlIERpc2t1c3Npb24gZW50ZmxhbW10Li4uCgogICAgICAgICAgICBFdWVyIFlhbnRybzopCgpQLlMuOiBlcyBzb2xsdGUgc2ljaCwgdW5kIGRhcyBpc3QgZGFzIE1JTkRFU1RFLCBDYW1waW5vIGluIGRlciBNUEEgZnVlciBkaWUKU2NoZWlzc2UgZW50c2NodWxkaWdlbiwgZGllIGVyIGhpZXIgb2huZSBSdWVja3NpY2h0IGF1ZiBkaWUgV3VlcmRlIGFuZGVyZXIKdmVyYnJlaXRldC4uLi4gICBFcyBsZWJlIGRlciBFaHJlbmtvZGV4LCBkZW4gZXMgbWFsIGluIE1VRCBnYWIgdW5kIGRlbiBpY2ggaW4KR2VmYWhyIHNlaGUhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaXNrcmltaW5pZXJ1bmcgdW5kICJSdW1nZW5vZXJnZWwiIChTdW5ueSwgMjUuIE9rdCAxOTk0LCAxMDowMjozMik6CmljaCBhbHMgZnJhdSB1bmQgYmxvbmRpbmUgbW9lY2h0ZSBtaWNoIGpldHp0IGF1Y2ggbWFsIHp1IGRlbSB0aGVtYS1pbiB3aXR6ZQphbmdlc2Nobml0dGVuLWF1ZXNzZXJuLgppY2ggZmFzc2Ugd2l0emUgbmljaHQgYWxzIGJld3VzdGUgZGlza3JpbWluaWVydW5nYXVmLCBzb25kZXJuIGthbm4gZWluZmFjaApkcnVlYmVyIGxhY2hlbiB3ZW5uIGVyIGd1dCBpc3QgdW5kIGVyemFlaGwgc2llIHNvZ2FyIHdlaXRlci4Kei5iLiBpY2gga29tbSBhdXMgZHJlc2Rlbiggdm9uICJkcmllYmVuIiBhbHNvKSBhYmVyICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgZGVuCgogICAgImdhZW5zZWZsZWlzY2ggbWEgZGkgZ29mZmVyIG9mbWFjaGVuICIKZGEgbXVzcyBtYW4gc2ljaCBkb2NoIG5jaWh0IGFuZ2VncmlmZmVuIGZ1ZWhsZW4uCm9kZXIgImJlaSBkZXIgZ2VidXJ0IGhhdXQgZGVyIGFyenQgZGVuIGJhYnlzIGRvY2ggYXVmJ24gcG8gLSB0c2phIHVuZCBkZW4KZHVtbWVuIGZhZWxsdCBlciBhYiAiICAtIGRhIGhhYiBpY2ggaGVyemhhZnRzIGdlbGFjaHQKb2RlciBkaWUgcGFzc2FnZSBhdXMnbSBPVFRPLWZpbG0gIiBkdSBzY2h3YXJ6ZXIga29wZiwgc2Nod2FyemUgZnVlc3MtZHUKbmVnZXIiLCBoYXQgaWhtIG1laW5lcyB3aXNzZW5zIG5hY2gga2VpbmVybGVpCnJhc3NlbmRpc2tyaW1pbmllcmVuZGUga3JpdGlrZW4gZWluZ2VicmFjaHQuCndhcyBpY2ggc2FnZW4gd2lsbCAtIGxldXRlIHNlaXQgZG9jaCBuaWNodCBzbyBrbGVpbmxpY2gvaW50b2xlcmFudApncmFkIGhpZXIgaW4gJ25lbSBNVUQsIHdvIG1hbiBhbm5pbW10LCBkYXNzIGFsbGUgbGV1dGUgaWhyZW4gSVEgdWViZXIgbmVyCnNjaGVpYmUga25hZWNrZWJyb3QgYW5nZXNpZWRlbHQgaGFiZW4Kd2VtIGRhcyBlaW5lIG9kZXIgYW5kZXJlIG5pY2h0IGdlZmFlbGx0LCBrYW5ucyBkb2NoIHVlYmVyYmxhZXR0ZXJuL21hbCBuZQpkaXNrdXNzaW9uIG1pdCBkZW0gYXV0aG9yIGZ1ZWhyZW4gdW5kIG5hY2hoZXIgdmllbGxlaWNodAp3YXMgZGF6dWdlbGVybnQgaGFiZW4gb2RlciBpaG4gImFiaGFrZW4iL3p1bWluZGVzdCB0b2xlcmFueiB1ZWJlbi4KCnBzOmljaCBrZW5uZSBjYW1waW5vIG5pY2h0L2dhciBuaWNodCBuYWVoZXItaG9mZmUgaWhuIG5pY2h0IGFsbHp1c2Vocgp2ZXJ0ZWlkaWd0IHp1IGhhYmVuLCBkYXJ1bSBnaW5ncyBtaXIgbmFlbWxpY2ggZ2FyIG5pY2h0LApzb25kZXJuIHVtIGtyaXRpayBhbiBkaWVzZW4gInJ1bW5vZXJnZWxhcnRpa2VsbiIsIHNlaSBlcyB6dW0gdGhlbWEgIm1hZ2llciIKb2RlciBzb2dhciAid2l0emUiCgpwcHM6aWNoIGhhYiBhdWNoIHdhcyBnZWdlbiBnZXNjaG1hY2tsb3NlIHdpdHplKGxlaWRlciBub2NoIG5peAp3aXJrdW5nc3ZvbGxlcykKCnBwcHM6c2NocmVpYnQgZG9jaCBlaW5mYWNoIG1laHIgd2l0emUgdW0gc28gd2VuaWdlciBmYWxsZW4gc2NobGVjaHRlIGF1Zi4uLi4uCgogICAgU1VOTlktZGllIGdsZWljaCBtYWwgbWl0IGd1dGVtIGJlaXNwaWVsIHZvcmFuZ2VodCB1bmQgc2ljaCBmdWVyIGZvcm0gdW5kCmZlaGxlciBlbnRzY2h1bGRpZ3QobXVzcyBub2NoIGJpc3NlbCB1ZWJlbikKCmJpbiB6dSBkaXNrdXNzaW9uZW4gYmV6dWVnbGljaCBkZXMgYXJ0aWtlbCBqZWRlcnplaXQgYmVyZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW5kIHdpZWRlciBDYW1waW5vIChMb2NvLCAyNS4gT2t0IDE5OTQsIDExOjQyOjA4KToKKEJlenVnOiBBcnRpa2VsIHZvbiBZYW50cm8sIERpZSwgMjUuIE9rdCAxOTk0LCAwODozMDo0OCkKRXMgaXN0IHp1ciBaZWl0IHRlY2huaXNjaCBuaWNodCBtb2VnbGljaCwgZWluZW4gU3BpZWxlciB2b20gU2NocmVpYmVuIGluIGRlcgptcGEgYXVzenVzY2hsaWVzc2VuLCB1biBkYWJlaSBtb2VjaHRlIGljaCBlcyBhdWNoIGxhc3Nlbi4KU2Nob24sIHVtIGZyYWdsaWNoZW4gU3BpZWxlcm4gZGllIE1vZWdsaWNoa2VpdCBlaW5lciBFbnRzY2h1bGRpZ3VuZyB6dSBnZWJlbi4KV2VyIHZvbiBtYW5jaGVuIFNwaWVsZXJuIG5peCBtZWhyIGhvZXJlbiBvZGVyIGxlc2VuIHdpbGwsIGthbm4gZG9jaAonc3BpZWxlcm5hbWUubmV3cycgaWdub3JpZXJlbiwgdW5kIGRpZSBTYWNoZSBzb2xsdGUgZXJsZWRpZ3Qgc2Vpbi4gSWNoIGRlbmtlLAptaXQgZGllc2VtIFdlZyBrb2VubmVuIHdpciBhbGxlIGxlYmVuLCBvZGVyPwoKVWVicmlnZW5zIHNjaGVpbnQgc2ljaCBhdWNoIGRhcyB6dSBlaW5lciBGQVEgaGVyYXVzenViaWxkZW4uIE1laW5lIEFudHdvcnQKbGF1dGV0OgogICogRWluZSBaZW5zdXIgZmluZGV0IG5pY2h0IHN0YXR0ICoKClNvd2VpdC4uLgogICAgICAgICBMb2NvCiAgICAgICAgIHRlY2huaXNjaGUgTGVpdHVuZyBtcGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJpdmF0ZmVoZGVuIChLb2JyYSwgMjUuIE9rdCAxOTk0LCAxNjo0MjoxMSk6CihCZXp1ZzogQXJ0aWtlbCB2b24gRGFuY2VyLCBGcmUsIDE0LiBPa3QgMTk5NCwgMTY6Mjk6NDYpCgpTbyBoYXQgZXMgaW4gVU5JdG9waWEgYXVjaCBtYWwgYW5nZWZhbmdlbiBiaXMgZXMgemllaG1saWNoIGhlZnRpZyBnZXdvcmRlbgppc3QuIElyZ2VuZHdpZSBoYW1tIHNpZSBhYmVyIGRpZSBrdXJ2ZSBncmFkIG5vY3hobWFsIGJla29tbWVuIC4gbGllZ3QKdmllbGxlaWNodCBkYXJhbiwgZGFzcyBpY2ggbmltbWVyIHNvdmllbCBkcnVlYmVuIGJpbi4KQ2lhbwpLT0JSQSAoLi4uLnVuZCB3YXJ1bSBkYXMgYWxsZXMgOiBVTSBWT1JIRVIgU0NIT04gU0NITFVTU1MgWlUgTUFDSEVOIFVORApXSUVERVIgTkVOICJOT1JNQUxFTiIgVU1HQU5HU1RPTiBSRUlOQlJJTkdFTikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklkZWUgKFNlbWlyYSwgMjUuIE9rdCAxOTk0LCAxNzo1ODo1NCk6CkhpSG8gSWhyIEtudWRkZWxvcGZlci4uLnVuZCBzb2xjaGUgZGllIGVzIG5pY2h0IHdlcmRlbiB3b2xsZW4uLi4KSmV0enQgaGFiIGljaCBtYWwgbmUgSWRlZSB1bmQgZGllIFJ1YnJpayBlbnR3aWNrbHVuZyBpc3Qgdm9sbC4uLlRqYSwgbXVzcyBtYWwKd2llZGVyIGFsbGdlbWVpbmVzIGhlcmhhbHRlbi4uLi4KCktlaW5lIFNvcmdlLCBoZXV0ZSBrb21tZW4gYXVzbmFobXN3ZWlzZSBtYWwga2VpbmUgS251ZGRlbHZvcnNjaGxhZWdlIHNvbmRlcgp3YXMgaGFsYndlZ3MgcHJha3Rpc2NoZXMuLi4uCgpJbSBSTCBiaW4gaWNoIEJlYW10ZSBiZWkgZGVyIERldXRzY2hlbiBCdW5kZXNwZXN0Li4uYWVoIHBvc3QgdW5kIGRhcyBmYWVidApqZXR6IGVpbiBiaXNzbCBoaWVyIGFiLiBOYWNoZGVtIGljaCBtaWNoIHRhZ3RhZWdsaWNoIG1pdCBQYWtldGVuIHVuZCBQYWVja2NoZW4KcnVtc2NobGFnZSB1bmQgdmVyc3VjaGUgZGllIGRlbiBLdW5kZW4gc2NobWFja2hhZnQgenUgbWFjaGVuIGZyYWd0ZSBpY2gKbWljaC4uLi4KCldhcnVtIGdpYnRzIGhpZXIga2VpbmUgUGFrZXRlPwoKV2VyIGtlbm50IGRhcyBuaWNodC4uLmRhIGhvY2t0IG1hbiBhbSBQdW5rdCBYIHVuZCBoYXQgZ2VuYXUgZGFzIHdhcyBkZXIKU3BpZWxlciBzb3VuZHNvIGFtIFB1bmt0IFkgZ3JhZCBicmFldWNodGUuLi53YWVyIGRvY2ggc2Nob2VuIHdlbm4gbWFuJ3MgaWhtCnNjaGlja2VuIGtvZW5udGUgc3RhdHQgaGlucmVubmVuIHp1IG11ZXNzZW4sIG9kZXIKCk9kZXIgbWFuIG11c3MgdGFua2VuIHVuZCBpc3Qgdm9lbGxpZyBibGFuay4uLmtsZWluZSBTcGVuZGUgcGVyIFBvc3Qgd2FlciBkb2NoCm5ldHQuLi4uCgpPZGVyIG1hbiBob2NrIGluIGVpbmVyIHVuYmVrYW5udGVuIFNjaHJlY2tlbnNzcGl0emVuIGViZW5lLCBkaWUgRmFja2VsIGdlaHQKYXVzIHVuZCBydW5kaGVydW0gbGF1ZXJuIG5ldHRlIFZpZWNoZXIgZGllIGVpbmVuIHplcmxlZ2VuIHdvbGxlbi4uLmpldHp0IGVpbgpwYWVja2NoZW4gbWl0IG5lciBGYWNrZWwgZHJpbiBiZWtvbW1lbi4uLgoKVW5kIGdhbnogenUgc2Nod2VpZ2VuIHZvbiBhbGwgZGVuIGFuZGVyZW4gR2VsZWdlbmhlaXRlbiB3byBlaW4KTW9yZ2VuZ3JhdWVuLVBha2V0LVNlcnZpY2UgKE1QUykgcHJha3Rpc2NoIHdhZXJlLi4uLkdlYnVydHN0YWdzZ2VzY2hlbmtlLAprbGVpbmUgQXVmbWVya3NhbWtlaXRlbiwgZXRjLiBldGMuIGV0YwoKTmFqYSB1bmQgaWNoIGtvZW5udGUgYXVmIGRpZXNlbSBXZWdlIGVuZGxpY2ggbWVpbmUgIkljaCBiaW4KS251ZGRlbHN5bXBhdGhpc2FudC1ULVNoaXJ0cyIgaW4gbWVpbmVtIGdhbnplbiBGYW4tS3JlaXMgdmVyYnJlaXRlbiA6LSkpKSkpCgpOYWphLCBtYWwgZXJuc3RoYWZ0IGJldHJhY2h0ZXQuLi53YXMgaGFsdGV0IElociB2b24gZGVyIEVpbmZ1ZWhydW5nIGVpbmVzCk1QUz8KCkV1cmUgS251ZGRlbG1hdXMuLi5oZXV0IG1hbCBwb3N0YWxpc2NoIDotKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2h0cmFnIChTZW1pcmEsIDI1LiBPa3QgMTk5NCwgMTg6NDE6NDIpOgpCZWkgbWVpbmVyIElkZWUgdmVyc3RlaHQgZXMgc2ljaCB2b24gc2VsYnN0LCBkYXNzIC0gd2llIGJlaSBkZXIgcmljaHRpZ2VuCnBvc3QgYXVjaCAtIG5pY2h0IGFsbGVzIHp1ciBwb3N0YmVmb2VyZGVydW5nIHp1Z2VsYXNzZW4gc2VpbiBkYXJmLi4ua2xhcnRleHQ6Cm5pY2h0cyBxdWVzdHJlbGV2YW50ZXMgb2RlciB6dSBzZWhyIGthcnJpZXJlZm9lcmRlcm5kZXMuLi5hYmVyIG5ldHRpa2VpdGVuIHdpZQpKdXdlbGVuLCBQaXp6YSwgTG9sbGlzIGV0YyBldGMgZXRjLi4uLnZvcnNjaGxhZWdlPwpLbnVkZGVsIGFsbGUgYXVzc2VyIFgsIFhYLCBYWFgsIGV0YwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2h0cmFnIChCb2luZywgMjUuIE9rdCAxOTk0LCAyMToxODowMyk6CihCZXp1ZzogQXJ0aWtlbCB2b24gU2VtaXJhLCBEaWUsIDI1LiBPa3QgMTk5NCwgMTg6NDE6NDIpCldlbm4gbWFuIGRhcyBhdWYgZGllIEJlZm9lcmRlcnVuZyB2b24gJ3Vud2ljaHRpZ2VuJyBEaW5nZW4gYmVzY2hyYWVua2VuIGthbm4sCmRhbm4gaGFiZSBpY2ggcHJpbnppcGllbGwgbmljaHRzIGdlZ2VuIGRpZSBFaW5mdWVocnVuZyB2b24gUGFrZXRlbi4gQWxsZXItCmRpbmdzIHNvbGx0ZW4ga2VpbmUgUXVlc3RvYmpla3RlIGRhbWl0IGJlZm9lcmRlcnQgd2VyZGVuIGtvZW5uZW4sIGRhIHN0ZWxsdApzaWNoIGdsZWljaCB3aWVkZXIgZGllIEZyYWdlOiBXaWUgZXJrZW5uZSBpY2ggKG9obmUgZ3Jvc3NlIFVtc3RlbGx1bmcgaW0KQ29kZSkgUXVlc3RvYmpla3RlPyBBdXNzZXJkZW0gd2FlcmUgZGFzIGVuZGxpY2ggbWFsIGVpbmUgQW53ZW5kdW5nIGZ1ZXIKTG9jb3MgQnJpZWZtYXJrZW4sIGF1c3NlciBTYW1tZWxuIGthbm4gbWFuIGphIG1vbWVudGFuIG5pY2h0cyBkYW1pdCBhbi0KZmFuZ2VuLCBvZGVyIHRhZXVzY2hlIGljaCBtaWNoIGRhPyBXYXMgbmF0dWVybGljaCBhdWNoIHBhc3NpZXJlbiBzb2xsdGUgaXN0LApkYXNzIGRlciBQYWtldGJvdGUgc2ljaCBhYiB1bmQgenUgbWFsIHZlcmxhZXVmdCwgdm9uIE1vbnN0ZXJuIGdlZnJlc3Nlbgp3aXJkIG9kZXIgc29uc3Qgd2FzIHNjaGxpbW1lcyBwYXNzaWVydCAtIGt1cno6IERhcyBQYWtldCBnZWh0IHZlcmxvcmVuLAp3aWUgaW0gZWNodGVuIExlYmVuIC4uLiA6KQoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWUgKExvY28sIDI2LiBPa3QgMTk5NCwgMDk6MDY6NDIpOgooQmV6dWc6IEFydGlrZWwgdm9uIFNlbWlyYSwgRGllLCAyNS4gT2t0IDE5OTQsIDE3OjU4OjU0KQpUamEsIHdhcnVtIGdpYnRzIGhpZXIga2VpbmUgUGFrZXRlLi4uCkFsc28gdm9yIGVpbmVtIGhhbGJlbiBKYWhyIG9kZXIgc28gd29sbHRlIGljaCBhbmZhbmdlbiwgaGllciBQYWtldGUgenUKc2NocmVpYmVuLiBJY2ggaGF0dGUgZWluIEtvbnplcHQgZGFmdWVyIGdlcG9zdGV0IChQcmVpcyBuYWNoIEdld2ljaHQsCmZyYW5rYXR1cnBmbGljaHRpZyAtIGViZW4gZGllIEJyaWVmbWFya2VuLCBVbnRlcnRlaWx1bmcgaW4gbm9ybWFsZQpwb3N0bGFnZXJuZGUgUGFrZXRlIHVuZCBTY2huZWxscGFrZXRlLCBkaWUgdWViZXJhbGwgaGluIGF1c2dlbGllZmVydCB3ZXJkZW4sCmFiZXIgdmllbCB0ZXVyZXIgc2luZCkuIE5hY2hkZW0gZWluaWdlIExldXRlIEJlZGVua2VuIGdlcG9zdGVkIGhhdGVuIG5hY2ggZGVtClByaW56aXAgIkFiZXIgbWFuIGthbm4gZGFzIGphIG1pc3NicmF1Y2hlbiwgdW0gLi4uICIsIHdhciBtaXIgaXJnZW5kd2FubiBkaWUKTHVzdCB2ZXJnYW5nZW4sIGRhcyB6dSBwcm9ncmFtbWllcmVuLgpUamEsIGFsc28gaW0gUHJpbnppcCBzcHJpY2hzdCBEdSBtaXIgbWl0IERlaW5lbSBWb3JzY2hsYWcgYXVzIGRlbSBIZXJ6ZW4uIE51cgotIGJldm9yIGljaCB3aWVkZXIgYW5mYW5nZSwgbW9lY2h0ZSBpY2ggZWluIHBhYXIgU2FjaGVuIG1hbCBlaW5kZXV0aWcgZ2VrbGFlcnQKaGFiZW46Ci0gV29oaW4gZGFyZiBtYW4gUGFrZXRlIHNjaGlja2VuPwogIFVuZCB3b2hpbiBuaWNodD8KLSBXYXMgZGFyZiBtYW4gdmVyc2NoaWNrZW4/IExlaWRlciBpc3QgZXMgd29obCBrYXVtIG1vZWdsaWNoLCBQYWtldGUgYXVmCmJlc3RpbW10ZW4gSW5oYWx0IHp1IGJlc2NocmFlbmtlbi4gV2FmZmVuIHVuZCBSdWVzdHVuZ2VuIHZvbiBkZXIgQmVmb2VyZGVydW5nCmF1c3p1c2NobGllc3Nlbiwgd2FlcmUgZWluZmFjaCwgYWJlciB3aWUgc2llaHQgZXMgbWl0IHF1ZXN0cmVsZXZhbnRlbgpnZWdlbnN0YWVuZGVuIGF1cyAtIGxlaWRlciBrYW5uIG1hbiBkaWUgbmljaHQgYWxzIHNvbGNoZSBlcmtlbm5lbi4gRGVua2Jhcgp3YWVyZSBhdWNoLCBwb3N0bGFnZXJuZGUgUGFrZXRlIG1pdCBqZWRlbSBJbmhhbHQgenV6dWxhc3NlbiwgYWJlcgpTY2huZWxscGFrZXRlIG51ciBtaXQgYmVzdGltbXRlbS4KCk51biBkZW5uLCBpY2ggaGFiZSBkaWVzZXMgU2VtZXN0ZXIgendhciBuaWNodCBhbGx6dXZpZWwgWmVpdCwgYWJlciB3ZW5uIGVzCmdld3VlbnNjaHQgaXN0LCBrYW5uIGljaCBlaW5lIFBha2V0cG9zdCBub2NoIGlyZ2VuZHdhbm4gendpc2NoZW5zY2hpZWJlbi4gV2llCnNpZWh0IGVzIGF1cz8KCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJZGVlIChLb2JheWFzaGksIDI2LiBPa3QgMTk5NCwgMTU6MzE6MDEpOgooQmV6dWc6IEFydGlrZWwgdm9uIExvY28sIE1pdCwgMjYuIE9rdCAxOTk0LCAwOTowNjo0MikKVmllbGxlaWNodCBzb2xsdGUgbWFuIGRlbiBTcGllc3MgdW1kcmVoZW4gdW5kIG51ciBzYWNoZW4gcGVyIHBhY2tldHBvc3QKYmVmb2VyZHJuIGxhc3NlbiwgZGllIGF1c2RydWVja2xpY2ggZXJsYXVidCBzaW5kLiBkYXMgc29sbHRlIGRlciB3ZWl0YXVzCmdlcmVpbmdlIHRlaWxzZWluIGFscyBkaWUsIGRpZSBuaWNodCBlcmxhdWJ0IHNpbmQuCgpLb2J5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElkZWUgKEZsaW50bmFpbCwgMjYuIE9rdCAxOTk0LCAxNjoyODoxNCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gTG9jbywgTWl0LCAyNi4gT2t0IDE5OTQsIDA5OjA2OjQyKQoKSWNoIHZlcnN0ZWhlIG1hbCB3aWVkZXIgZXVlciBQcm9ibGVtIG5pY2h0IDopCgpBbHNvIGVzIGlzdCBkb2NoIHNvIHppZW1saWNoIGVnYWwsIG9iIGplbWFuZCBtaXQgJ25lciBLb21wbGV0dC1Mb2VzdW5nCmFyYmVpdGV0IG9kZXIgbWl0ICduZXIgS29tcGxldHQtTG9lc3VuZyB1bmQgZGVuIFF1ZXN0LXJlbGV2YW50ZW4KR2VnZW5zdGFlbmRlbi4uLi52aWVsIE11ZWhlIG1hY2h0IHNpY2ggZGVyamVuaWdlIHNvd2llc28gbmljaHQhISEKCldhcnVtIGFsc28gZGllIEJlc2NocmFlbmt1bmc/Pz8/CgpFaW5lIEFubWVya3VuZyBuZWJlbmhlci4uLndlbm4gaWhyIFBha2V0ZSBlaW5yaWNodGV0LCBkYW5uIHZlcnN1Y2h0IGRvY2ggYXVjaApOYWNobmFobWUtU2VuZHVuZ2VuIG1pdCBhdWZ6dW5laG1lbi4uLi46KQoKLi4uLi4uLi4uRmxpbnRuYWlsLCBkZXIgYXVjaCBuZW4gSmFociBsYW5nIGJlaSBkZXIgUGVzdCB3YXIgdW5kIFJMIEJyaWVmZQphdXN0cnVnISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmU6IHJlOiBJZGVlIChEYW5jZXIsIDI2LiBPa3QgMTk5NCwgMTc6NTM6MzMpOgpIaSwKZGllIGJlc2NocmFlbmt1bmdlbiBtdXNzIGVzIGVpbmZhY2ggZ2ViZW4gZnVlciBiZXN0aW1tdGUgb2JqZWt0ZToKYSkgZnVlciB3YWZmZW4gdW5kIHJ1ZXN0dW5nZW4gYWxsZXJlcnN0ZXIgZ3VldGUsIHdlaWwgc29uc3Qgd2lyZCBlaW4gdW5kCmRpZXNlbGJlIGF1c3J1ZXN0dW5nIGplIG5hY2ggYmVkYXJmIGhpbiB1bmQgaGVyIGdlc2NoaWNrdCwgZGFzIGlzdAp3b2hsIGthdW0gaW4gdW5zZXJlciBhbGxlciBTaW5uLApiKSBRdWVzdG9iamVrdGUsIGRpZSBkZW4gRm9ydHNjaHJpdHQgZWluZXMgU3BpZWxlcnMgd2FlaHJlbmQgc2VpbmVyClF1ZXN0IGF1ZnplaWNobmV0LiBFaW4gaGluLSB1bmQgaGVyc2NoaWNrZW4gc29sY2hlciBPYmpla3RlIHd1ZXJkZQptaXQgU2ljaGVyaGVpdCBuZXVlIEZlaGxlciBlcnpldWdlbiB1bmQgd3VlcmRlIGVzIHVubW9lZ2xpY2ggbWFjaGVuLCBhbGxlcwp3aWVkZXIgaW5zIExvdCB6dSBicmluZ2VuLCBkYSBtYW4gZGllIEhlcmt1bmZ0IGRlcyBPYmpla3RlcyBrYXVtCnp1cnVlY2t2ZXJmb2xnZW4ga29lbm50ZSwKYykgT2JqZWt0ZSBkaWUgdW5taXR0ZWxiYXIgenVyIExvZXN1bmcgZWluZXIgUXVlc3QgZ2VicmF1Y2h0IHdlcmRlbiwgaWNoCmRlbmtlIGRhIHpCc3AgYW4gV29scGVydGluZ2VyLi4uIHBhYXIgU3BpZWxlciB1bmQgaWhyZSBad2VpdGllcyBwb3N0aWVyZW4Kc2ljaCBhbiBndWVuc3RpZ2VuIE9ydGVuIHVuZCBwYWFyIFJlc2V0cyBzcGFldGVyIGhhYmVuIGFsbGUgZGllIFF1ZXN0CmdlbG9lc3QsIHdlaWwgbWFuIGRpZSBGZWxsZSB1c3cuIGphIHByaW1hIGVpbmZhY2ggd2VpdGVyc2NoaWNrZW4ga2Fubi4KCktvYnlzIFZvcnNjaGxhZyBtaXQgZWluZXIgJ0tlbm56ZWljaG51bmcnIGRlciB0cmFuc3BvcnRpZXJiYXJlbgpHZWdlbnN0YWVuZGUgYW5hbG9nIHp1IGRlbiBLZW5uemVpY2hudW5nZW4gZGVyIEJhdXBsYWV0emUgZnVlciBTZWhlci0KaGFldXNlciBpbiBSYWV1bWVuIHNjaGVpbnQgbWlyIGRhcyBlaW56aWcgc2lubnZvbGxlIHp1IHNlaW4uIERhbm4ga2FubgpqZWRlciBNYWdpZXIgc2VsYnN0IHNlaW5lIE9iamVrdGUgenVsYXNzZW4gb2RlciBuaWNodCwgc2NobGllc3NsaWNoCmlzdCBlciBqYSBkZXIgZWluemlnZSwgZGVyIG5hY2h2b2xsemllaGVuIGthbm4sIHdhcyBiZWkgc28gZWluZW0KVHJhbnNwb3J0IGlubmVyaGFsYiBkZXMgT2JqZWt0ZXMgcGFzc2llcmVuIGthbm4uCgpOdXIgc28genVyZWNodGdlc3Bvbm5lbi4uLgoKRGFuY2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3N0LCBRdWVzdG9iamVrdGUgKEdyaW1tYm9ybiwgMjYuIE9rdCAxOTk0LCAxODoxMTozOCk6CgpKYSwgaWNoIGhhYiBqYSBlaW4gc2NobGVjaHRlcyBHZWRhZWNodG5pcywgYWJlciBrYW5uIG1pciBqZW1hbmQgZWluIGtvbmtyZXRlcwpCZWlzcGllbCBuZW5uZW4/CkljaCBtZWluZSBqYWV0enQsIHdlbm4gaWNoIHp1ciBQb3N0IG11c3MsIHVtIGVpbiBQYWtldCBhdWZ6dWdlYmVuLCBkYW5uIGxpZWd0CmRpZXNlIGkuYS4gbmljaHQgaW0gUXVlc3RnZWJpZXQuCldlbm4gaWNoIGRlbiBLcmFtIHZvbiBkZW4gV29scGVydGluZ2VybiBoYWJlbiB3aWxsLCBtdXNzIGljaCBzZWxiZXIgZGllIFF1ZXN0Cm1hY2hlbiwgb2RlciBpY2ggZmluZGUgaGFsdCBrZWluIEZlbGwgZXRjLiBTaWNoZXIgaXN0IGRhcyBuaWNodCBTaW5uIGRlcgpTYWNoZSwgYWJlciBzb3dhcyB6dSBzY2hpY2tlbiBrYW5uIGRvY2ggbmljaHQgc28gc2Nod2VyIHNlaW4/CgpOZWVlLCBpY2ggYnJlY2ggZGFzIGhpZXIgYWIsIGljaCBzaXR6IGFtIE1hYywgaGFiIHZlcmdlc3NlbiBkaWUgS2FuYWVsZQphdXN6dXNjaGFsdGVuLCBzbyBtYWNodCBkYXMga2VpbmVuIFNwYXNzLi4uIDotKApXZW5uIGljaCBhbiBkaWUgU1VOIGtvbW1lIHVuZCBaZWl0IHVuZCBMdXN0IGhhYmUsIHdlcmRlIGljaCBkYXMgbm9jaG1hbApzY2hyZWliZW4uCkJpcyBkYWhpbiBzY2hyZWNrbGljaCBnZW5lcnZ0OgogICAgICAgICAgICAgICAgICAgICAgICAgR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiBJZGVlIChMb2NvLCAyNi4gT2t0IDE5OTQsIDE5OjEyOjU1KToKKEJlenVnOiBBcnRpa2VsIHZvbiBLb2JheWFzaGksIE1pdCwgMjYuIE9rdCAxOTk0LCAxNTozMTowMSkKTW9pbiBub2NobWFsLi4uCkFsc28sIGxlaWRlciBoYWx0ZSBpY2ggZXMgbmljaHQgZnVlciBwcmFrdGlrYWJlbCwgU2FjaGVuLCBkaWUgbWFuIHZlcnNjaGlja2VuCmRhcmYsIGVpbiBiZXN0aW1tdGVzIFByb3BlcnR5IHp1IHNldHplbi4gSWNoIGdsYXViZSBuYWVtbGljaCBuaWNodCwgZGFzcyBtZWhyCmFscyA1ICUgdW5zZXJlciBNYWdpZXIgc2ljaCBkaWUgQXJiZWl0IG1hY2hlbiB3ZXJkZW4gdW5kIGlocmUgU2FjaGVuCnZlcnNjaGlja2JhciBtYWNoZW4uIE5hdHVlcmxpY2gga2FubiBtYW4gZWluIHNvbGNoZXMgUHJvcGVydHkgZWluZnVlaHJlbiwgYWJlcgppY2ggd3VlcmRlIGVoZXIgc2FnZW4sIHp1ciBWZXJ3YWx0dW5nIHZvbiBTb25kZXJmYWVsbGVuLCB3YWVocmVuZCBkaWUgbWVpc3RlbgpPYmpla3RlIGlyZ2VuZHdpZSBzaWNoIG5hY2ggYmVzdGltbXRlbiBTdGFuZGFyZHMgZXZyaGFsdGVuIHNvbGx0ZW4uCkljaCBoYWx0ZSBlcyBmdWVyIHNlbGJzdHZlcnN0YWVuZGxpY2gsIGRhc3MgT2JqZWt0ZSwgZGllIG1hbiBuaWNodApmYWxsZW5sYXNzZW4ga2FubiAtIGFsc28gZGllIG1laXN0ZW4ga3JpdGlzY2hlbiBRdWVzdG9iamVrdGUsIChob2ZmZW50bGljaCkKYWxsZSwgZGllIGlyZ2VuZHdhcyBzcGVpY2hlcm4gLSB1bmQgYXV0b2xvYWRpbmcgT2JqZWt0ZSBuaWNodCB2ZXJzZW5kZXQgd2VyZGVuCmtvZW5uZW4uCkZ1ZXIgZWJlbnNvIHNlbGJzdHZlcnN0YWVuZGxpY2ggaGFsdGUgaWNoLCBkYXNzIFNjaG5lbGxwYWtldGUgbmljaHQgYW4KU3RlbGxlbiBhdXNnZWxpZWZlcnQgd2VyZGVuLCBhbiBkaWUgbWFuIG5pY2h0IHRlbGVwb3J0aWVyZW4ga2Fubiwgd2FzIG1laW5lcwpXaXNzZW5zIHouQi4gZGllIEthdGFib21iZW4gYXVzc2NobGllc3N0LgoKSWNoIHdlcmRlIGluIGRlbiBuYWVjaHN0ZW4gVGFnZW4gZWluIEtvbnplcHQgYXVzYXJiZWl0ZW4gdW5kIGRpZXNlcyBkYW5uCnZlcm9lZmZlbnRsaWNoZW4gdW5kIHp1ciBEaXNrdXNzaW9uIHN0ZWxsZW4uIEFucmVndW5nZW4sIEJlZGVua2VuIHVzdy4gYml0dGUKYmlzIGRhaGluIGFuIG1pY2ggZGlyZWt0IChhbSBiZXN0ZW4gYWxzIG11ZG1haWwpIHVuZCBuaWNodCBoaWVyIGluIGRpZQpaZWl0dW5nLCBkYXMgd2lyZCB6dSB2aWVsLi4uCgpCaXMgZGFubiwKICAgICAgICAgICBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXR6ZSA7KSAoQ2FtcGlubywgMjYuIE9rdCAxOTk0LCAxOTozNjoyMyk6Clp1bmFlY2hzdCBtb2VjaHRlIGljaCBtaWNoIGJlaSBhbGxlbiBibG9uZGVuIEZyYXVlbiAoWWFudHJvIHVzdy4pLCBkaWUgc2ljaApkdXJjaCBtZWluZW4gZ2VzY2htYWNrbG9zZW4gV2l0eiBpbiBpaHJlciBXdWVyZGUgYW5nZWdyaWZmZW4gZnVlaGxlbiwKZW50c2NodWxkaWdlbi4KVW0gZGllIEV4aXN0ZW56IGRpZXNlcyBNVURzIG5pY2h0IHp1IGdlZmFlaHJkZW4sIHdlcmRlIGljaCBzb2xjaGUgaW4KaG9lY2hzdGVtCk1hc2UgKHN6KSBkZW4gUnVmIGRlciBVbmkgTXVlbnN0ZXIgc2NoYWVkaWdlbmRlIFdpdHplIG5pY2h0IG1laHIKdmVyb2VmZmVudGxpY2hlbi4KV2VubiBqZW1hbmQgZWluZW4gZ3V0ZW4gV2l0eiBob2VyZW4gd2lsbCwga2FubiBlciBtaWNoIGphIG1hbCBmcmFnZW4sIGljaAp3ZXJkZSBpaG4gbmF0dWVybGljaCBlcnN0IGRhbm4gZXJ6YWVobGVuLCB3ZW5uIGljaCBtaWNoIHZlcmdld2lzc2VydCBoYWJlLApkYXNzIGRlcmplbmlnZSBrZWluIFByb2YuIGlzdCwgZGVyIGlucyBNdWQgZ2VodCwgdW0gZWluZW4gR3J1bmQgenUgc3VjaGVuLApkaWUgUGxhdHRlIHZvbiBhbGxlbSBtb2VnbGljaGVuIHp1IGJlZnJlaWVuLgpXYXJlbiBkaWUgYmVpZGVuIEJsb25kaW5lbiBXaXR6ZSB3aXJrbGljaCBzbyBzY2hsZWNodCA/CkFsc28gYWxzIG1pciBlaW4gRnJldW5kIGFtIHNhbXN0YWcgYWJlbmQgYWxzIGVpbmUga2xlaW5lIEJsb25kaW5lIHZvcmJlaWthbQp1bmQgdW5zIGFubGFlY2hlbHRlLCBtaXIgZGllc2VuIFdpdHogZXJ6YWVobHRlLCBoYWJlIGljaCBtaWNoIGF1ZiBkZW0KQm9kZW4gdm9yIExhY2hlbiBnZWtydWVtbXQsIG9obmUgamVkb2NoIGlyZ2VuZHdlbGNoZSBmcmF1ZW5mZWluZGxpY2hlCkdlZGFua2VuIHp1IGhlZ2VuLCBpbSBHZWdlbnRlaWwuICh3YXIgZGFzIGpldHp0IHdpZWRlciBmcmF1ZW5mZWluZGxpY2ggOykgKQoKRGFzIHdhcnMgZXJzdG1hbCwKCkNhbXBpbm8KCgpBY2hzbyBpY2ggaG9mZmUsIGVzIGdpYnQgbm9jaCBqZW1hbmRlbiBhdXNzZXIgZGVuIEdhZXN0ZW4sIGRpZSBtZWluZQpBcnRpa2VsIG5vY2ggbGVzZW4uClVuZCB3ZW5uIGVzIHdpZWRlciBtYWwgZXR3YXMgdHJhZWdlIHdpcmQgaW0gTXVkLCB1bmQgbnVyIG5vY2ggc2VsdGVuIHdhcwpuZXVlcwppbiBkZXIgWmVpdHVuZyBzdGVodCwgd2VyZGUgaWNoIG5vY2ggbWFsIGVpbmlnZSBXaXR6ZSB6dW0gQmVzdGVuIGdlYmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaWdlbnRsaWNoICJFbnR3aWNrbHVuZyIuLi4gKEtyZXRlaywgMjYuIE9rdCAxOTk0LCAyMzo1ODozMSk6CkhhbGxvIQoKTmFjaGRlbSBkaWUgUnVicmlrIEVudHdpY2tsdW5nIHByYWxsdm9sbCBpc3QsIG1hbCBoaWVyIHJlaW46CkdpYnQgZXMgZWluZW4gYmVzb25kZXJlbiBHcnVuZCwgZGFzcyBtYW4gZWluZW4gYW5nZXpvZ2VuZW4gRWhlcmluZyBiZWltClVudGVyc3VjaGVuIG5pY2h0IHNpZWh0PyBJY2ggbWVpbmUsIHNpY2hlciBpc3QgZXIga2VpbmUgUnVlc3R1bmcsIGFiZXIgZG9jaAphdWYgamVkZW4gRmFsbCBlaW4gaW50ZXJlc3NhbnRlcyBVdGVuc2lsIGRlcyBqZXdlaWxpZ2VuIENoYXJha3RlcnMuIEF1c3NlcmRlbQpmYWVuZGUgaWNoIGVzIG51ciBsb2dpc2NoLCB3ZW5uIG1hbiBuaWNodCBudXIgZGVuIFJpbmcgbWl0IFJ1ZXN0dW5nc2UtCmVpZ2Vuc2NoYWZ0LCBzb25kZXJuIGViZW4gYXVjaCBkZW4gRWhlcmluZyBzaWVodCwgZGEgZXIgZnVlciBtaWNoIGVyc3RlbnMKa2VpbmVuIGxvZ2lzY2hlbiBHcnVuZCBnaWJ0LCB3YXJ1bSBtYW4gUmluZyBBIHNlaGVuIHNvbGx0ZSwgUmluZyBCIGFiZXIKbmljaHQsCnp3ZWl0ZW5zIGlzdCBlcyBkb2NoIGF1Y2ggaW0gUkwgc28sIGRhc3MgZWluIGdldHJhZ2VuZXIgRWhlcmluZyBudW4gbWFsCmF1ZmZhZWxsdCB1bmQgYXVjaCBhbHMgc29sY2hlciBlcmthbm50IHdpcmQhCgouLi4gVXBzLCBtaXIgZmFlbGx0IGdlcmFkZSBhdWYsIGRhc3MgZGFzIEdhbnplIGVpbiBiaXNzY2hlbiBzZWhyIG5hY2ggJ25lcgpGb3JkZXJ1bmcga2xpbmd0OyBhbHNvOiB3YWVyZSBzbyB3YXMgdmllbGxlaWNodCBiaXR0ZSBtb2VnbGljaD8gKEljaCBtb2VjaHRlCm5hZW1saWNoIG5pZW1hbmRlbSBhdWYgZGVuIFNjaGxpcHMgdHJldGVuLCBkYXMgS2xpbWEgd2lyZCBzb3dpZXNvIGltbWVyCnVuZnJldW5kbGljaGVyIGluIGxldHp0ZXIgWmVpdC4uLikKCkNpYW8sCiAgICAgS3JldGVrIGRlciBld2lnZSBOb2VyZ2xlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFrZXRwb3N0IChDYXJhZGhyYXMsIDI3LiBPa3QgMTk5NCwgMDY6MzU6MTkpOgogICAgICAgICAgICAgS3Vja3VjawoKUHJvIEtpbG9ncmFtbT8gV29oZXIgd2Vpc3MgaWNoLCB3YXMgd2lldmllbCB3aWVndCBiZWkgZGVyIFBha2V0cG9zdD8Ka2FubiBpY2ggZGFzIGF1Y2ggc2Nob24gdm9yaGVyIGZlc3RzdGVsbGVuLCB3aWV2aWVsIEtpbG8gZXR3YSB3YXMgd2llZ3Q/CnNvIGVpbmUgZ3JvYmUgVGFiZWxsZSB3ZW5pZ3N0ZW5zLiBMZWlkZXIgd2FyIEVudHdpY2tsdW5nIHZvbGwsIGRydW0gaGllcmhlcgphbHMgdW1sZWl0dW5nLgoKCiAgICAgICAgICAgICAgICAgICAgIHRzY2hvZQogICAgICAgICAgICAgICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBoYWIgYXVjaCBub2NoIGV0d2FzIFNlbmYgZnVlciBkaWUgUGFrZXRlIDopIChHdXlicnVzaCwgMjcuIE9rdCAxOTk0LCAwODowNDoxNSk6CgpXaWUgd2FlcnMgZGVubiBhbSBBbmZhbmcsIG51ciBzbyB6dW0gdGVzdGVuLCBkYXMgVmVyc2VuZGVuIHZvbiBGYWNrZWxuCmVpbnp1ZnVlaHJlbj8gRGllIGZlaGxlYm4gZWluZW0gZG9jaCBhbSBlaGVzdGVuLCBvZGVyIG5pY2h0PyBNaXIgamVkZW5mYWxscwooZmFzdCkgaW1tZXIuLi4uLgoKV2FyIG51ciBlaW4gR2VkYW5rZW5zcGllbCwgR3V5YnJ1c2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmU6IHJlOiBJZGVlIChTaWx2YW5hLCAyNy4gT2t0IDE5OTQsIDA5OjQ0OjExKToKKEJlenVnOiBBcnRpa2VsIHZvbiBEYW5jZXIsIE1pdCwgMjYuIE9rdCAxOTk0LCAxNzo1MzozMykKVGphLi4uIFp1bSBNaXNzYnJhdWNoIGdhZWJlIGVzIGRhIGVpbmUgZ2FuemUgUmVpaGUgdm9uIE1vZWdsaWNoa2VpdGVuLiBXaWUKd2FlcidzIGhpZXJtaXQ6IEVpbiBTcGllbGVyIHBydWVnZWx0IHNlaW5lbiBad2VpdGkgZHVyY2ggZGVuIG5ldWVuIFdlZyB6dW0KVmFtcGllciB1bmQgc2NoaWNrdCBpbSBwZXIgUG9zdCBkaWUgQWVzdGUuIEltIEdlZ2VuenVnIHNjaGlja3QgZGVyIFp3ZWl0aSBpbgpyZWdlbG1hZXNzaWdlbiBBYnN0YWVuZGVuIGRpZSBCUyByYXVzLi4uIEVpbmZhY2gsIGdlbGw/CkFsc286IEljaCBiaW4gZnVlciBQYWtldGUsIGFiZXIgbnVyIGZ1ZXIgU2FjaGVuLCBkaWUgZXhwbGl6aXQgRVJMQVVCVCBzaW5kIQpTaWx2YW5hIC0gaGF0IGF1Y2ggZWluIHBhYXIgRGluZ2UsIGRpZSBzaWUgZGVyIFBha2V0cG9zdCBOSUNIVCBhbnZlcnRyYXVlbgp3dWVyZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG9zdGFtdCAoQ2F0d2VhemxlLCAyNy4gT2t0IDE5OTQsIDA5OjU3OjMwKToKSCwgZGllIGdhbnplIFNhY2hlIHd1ZXJkZSBzaWNoIHZlcmVpbmZhY2hlbiwgd2VubiBkaWUgUG9zdCBuaWNodApkaXJla3QgZGVtIFNwaWVsZXIgenVnZXN0ZWxsdCB3aXJkLCBzb25kZXJuIG51ciB6dSBlaW5lbSBQb3N0YW10LgpEaWUga29lbm50ZSBtYW4gZGFubiBhbiB1bmdlZmFlaHJsaWNoZW4gU3RlbGxlbiBpbSBNRyB2ZXJ0ZWlsZW4gdW5kCmVzIGtvZW5udGUgd2llZGVyIEFMTEVTIHZlcnNjaGlja3Qgd2VyZGVuLgpBYmVyIGljaCB3ZXR0ZSBpaHIgd29sbHQgZGllIFNhY2hlbiBnbGVpY2ggaW4gZGllIEhhbmQgZ2VkcnVlY2t0CmJla29tbWVuLi4uZ2llcmlnZSBCYW5kZS4gQWxzbyBpY2ggd3VlcmRlIGRhIG5pY2h0IFBvc3Rib3RlIHdlcmRlbgp1bmQgZXdpZyBoaW50ZXIgZGVtIFNwaWVsZXIgaGVyc3VjaGVuIHdvbGxlbiA6LSkpCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IChTaWx2YW5hLCBDYXR3ZWF6bGUpIChZZW5kaSwgMjcuIE9rdCAxOTk0LCAxMjo0ODowOSk6Ck5laW5uZWluLCBpY2ggZ2xhdWJlLCBpaHIgaGFidCBkYXMgZXR3YXMgZmFsc2NoIHZlcnN0YW5kZW46CgpEaWUgUGFrZXRlIHdlcmRlbiB1ZWJlcmFsbCBoaW4gYXVzZ2V0cmFnZW4sIGxhc3NlbiBzaWNoIGFiZXIgbnVyIHZvbiBlaW5lbQpQb3N0YW10IGF1cyB2ZXJzZW5kZW4uIERlciBad2VpdGkga29lbm50ZSBkYXMgQlMgYWxzbyBnYXIgbmljaHQgYXVzIGRlbgpLYXRha29tYmVuIHJhdXNrcmllZ2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGhhZXR0ZSBDYW1waW5vcyBXaXR6ZSBhdWNoIGdlcm4gZ2VsZXNlbi4uLiAoQ2lmZXIsIDI3LiBPa3QgMTk5NCwgMTQ6MjM6MDQpOgooQmV6dWc6IEFydGlrZWwgdm9uIFllbmRpLCBEb24sIDI3LiBPa3QgMTk5NCwgMTM6MTM6NDYpCkVzIGdpYnQgdGF0c2FlY2hsaWNoIFByb2Zlc3NvcmVuIGltIE1VRCwgZGllIGhpbiB1bmQgd2llZGVyIGRhIHNpbmQuCkRhIGVzIGFiZXIga2VpbmVuIEdydW5kIGdpYnQsIHNpZSBibG9zc3p1c3RlbGxlbiwgd2VpbCBkaWUgdmllbGxlaWNodAphdWNoIG51ciBtYWwgYXVzc3Bhbm5lbiB3b2xsZW4sIG5lbm5lIGljaCBoaWVyIGtlaW5lIE5hbWVuLiBFcyBzaW5kCm1pciBhYmVyIDIgTmFtZW4gYmVrYW5udC4KCkNpZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWtldHBvc3QgLSBlcnN0ZSBadXNhbW1lbmZhc3N1bmcgKExvY28sIDI3LiBPa3QgMTk5NCwgMTU6NTc6MjQpOgpWaWVsbGVpY2h0IG11c3MgaWNoIGVyc3QgZWlubWFsIGt1cnogZWluIGJpc3NjaGVuIHdhcyBub2NobWFsIGtsYXJzdGVsbGVuOgotIFBha2V0ZSB2ZXJzY2hpY2tlbiBzb2xsIG51ciB2b24gZGVyIFBvc3QgYXVzIG1vZWdsaWNoIHNlaW4sIGFiZXIgbmljaHQsCmF1Y2ggbmljaHQgZnVlciBTZWhlciwgdm9uIGFuZGVyZW4gT3J0ZW4gYXVzLiBBdXNsaWVmZXJ1bmcgdm9uIHBvc3RsYWdlcm5kZW4KUGFrZXRlbiBpbiBTZWhlcmhhZXVzZXIgd2FlcmUgZGlza3V0aWVyYmFyLgotIFdhZmZlbiB1bmQgUnVlc3R1bmdlbiB2ZXJzY2hpY2tlbiBzb2xsIGFscyBwb3N0bGFnZXJuZGVzIFBha2V0IG1vZWdsaWNoCnNlaW4sIGFiZXIgbmljaHQgYWxzIFNjaG5lbGxwYWtldC4KLSBHZXdpY2h0OiBNaXQgZWluZW0gZmVydGlnZW4gUGFrZXQgc29sbCBtYW4genVyIFBvc3QgZ2VoZW4ga29lbm5lbiB1bmQgZG9ydApuYWNoZnJhZ2VuLCB3aWV2aWVsIGVzIGtvc3RlbiB3aXJkLgotIFNjaG5lbGxwYWtldGUgc29sbGVuIHVlYmVyYWxsIGF1c2dlbGllZmVydCB3ZXJkZW4ga29lbm5lbiwgQXVzbmFobWVuLCBzaWVoZQpLb256ZXB0LiBJY2ggYmluIGRlciBNZWludW5nLCBkYXNzIGRpZXNlIEF1c25haG1lbiBiZXJlaXRzIG1pbmRlc3RlbnMgOTkgJSBkZXIKUmFldW1lLCBkaW9lIG5pY2h0IGF1Y2ggZnVlciBlaW5lbiBTcGllbGVyIHByb2JlbG1sb3MgenVnYWVuZ2xpY2ggc2luZCwKYXVzc2NobGllc3NlbiAoc29sbHRlbikuIEluc2Jlc29uZGVyZSBzb2xsIGVzIG5pY2h0IG1vZWdsaWNoIHNlaW4sIGluIGplZ2xpY2hlCkFydCB2b24gSW5uZW5yYWV1bWVuIHp1IHZlcnNlbmRlbiwgc2VpIGVzIGVpbiBIYXVzLCBlaW5lIEhvZWhsZSBvZGVyIGF1Y2ggZGllCkthdGFrb21iZW4uCgpKZXR6dCB6dXIgWnVzYW1tZW5mYXNzdW5nIGRlciBSdWVja21lbGR1bmdlbi4KQWxsZSBCZWRlbmtlbiBzY2hpZW5lbiBzaWNoIG51ciBhdWYgU2NobmVsbHBha2V0ZSBLdXJpZXJwYWtldGUgenUgYmV6aWVoZW4uCkJlZGVua2VuIGFuIHBvc3RsYWdlcm5kZW4gUGFrZXRlbiBkdWVyZnRlIGVzIGVpZ2VudGxpY2ggYXVjaCBuaWNodCBnZWJlbiwgZXMKZ2lidCBzY2hsaWVzc2xpY2ggd29obCBrZWluZSBQb3N0YWVtdGVyLCBkaWUgZWluIFNwaWVsZXIgbmNpaHQgYXVjcHJvYmxlbWxvcwp6dSBGdXNzIChvZGVyIG1pdCBkZW0gU2NoaWZmKSBlcnJlaWNoZW4ga29lbm50ZS4KRGllIG1laXN0ZW4sIGRpZSBzaWNoIHVlYmVyaGF1cHQgZ2VhZXVzc2VydCBoYWJlbiwgd2FyZW4gZGVyIE1laW51bmcsIGRhc3MKZGllIEF1c25haG1lbiBzbyBvayBzaW5kLCAyIExldXRlIHdvbGx0ZW4gbGllYmVyIGluIFNjaG5lbGxwYWtldGVuIG51cgpPYmpla3RlIGFscyBJbmhhbHQgdW5kIFJhZXVtZSBhbHMgWmllbG9ydCBzZWhlbiwgZGllIHZvbiBpaHJlbiBNYWdpZXJuCmF1c2RydWVja2xpY2ggZnJlaWdlZ2ViZW4gd3VyZGVuLgpEYXMgaGFsdGUgaWNoIG5pY2h0IGZ1ZXIgYWxsenUgc2lubnZvbGwsIHdlaWwgaWNoIGVpbmZhY2ggbmljaHQgZGF2b24KYXVzZ2VoZSwgZGFzcyBzaWNoIGpldHp0IGFsbGUgTWFnaWVyIGRpZSBBcmJlaXQgbWFjaGVuLCBiZWkgamVkZW0gT2JqZWt0IGRhcwplaW56ZWxuIGVpbnp1YmF1ZW4uIERpZSBTdGFuZGFyZHdlcnRlIHNvbGx0ZW4gZWlnZW50bGljaCBlaW5lIGdhbnogZ3V0ZSBCYXNpcwphYmdlYmVuLCB1bmQgdWViZXJzY2hyZWliYmFyIHNvbGxlbiBzaWUgamEgc2VpbiEKClNvd2VpdCBkYXMsCkljaCBiaW4gbmF0dWVybGljaCB3ZWl0ZXIgZnVlciBLb21tZW50YXJlLCBBbnJlZ3VuZ2VuLCBWb3JzY2hsYWVnZSwgQmVkZW5rZW4KZGFua2JhciwgYW0gYmVzdGVuIGFscyBtYWlsLgpBbnNvbnN0ZW4gZGVua2UgaWNoLCBzdGVodCB3b2hsIGRlciBFaW5mdWVocnVuZyB6dW1pbmRlc3RlbnMgdm9uCnBvc3RsYWdlcm5kZW4gUGFrZXRlbiBuaWNodHMgd2VpdGVyIGltIFdlZ2UgKFdhcyBuaWNodCBoZWlzc3QsIGRhc3MgaWNoCmpldHp0IGdsZWljaCBhbmZhbmdlIG1pdCBQcm9ncmFtbWllcmVuISkKCkV1ZXIKICAgICAgICBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFrZXRwb3N0IChGbGludG5haWwsIDI3LiBPa3QgMTk5NCwgMTk6MTE6NTIpOgooQmV6dWc6IEFydGlrZWwgdm9uIENhcmFkaHJhcywgRG9uLCAyNy4gT2t0IDE5OTQsIDA2OjM1OjE5KQpWaWVsbGVpY2h0IGtvZW5udCBpaHIgamEgc3RhdHQgRnJhbmtpZXJ1bmcgbmFjaCBLZyBlaW5lIEZyYW5raWVydW5nIG5hY2ggV2VydAp2b3JuZWhtZW4uLi5lcyBnaWJ0IGphIGF1Y2ggV2VydHBha2V0ZSA6KSBrZW5udCBpaHIgamEgYmVzdGltbXQsIGRlbiBTcHJ1Y2gKbWl0IGRlbiBlaW56dWJldXRlbG5kZW4gV2VydHNhZWNrZW4gdW5kIFdlcnRiZXV0ZWxuIGRpZSB2ZXJzYWNrdCB3ZXJkZW4uLi46KQoKICAgICBGbGludG5haWwsIG1pdCBHcmF1ZW4gYW4gc2VpbmUgWmVpdCBpbSBQb3N0YW10IGRlbmtlbmQuLi4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElkZWUgKENhdW5vLCAyOC4gT2t0IDE5OTQsIDExOjMzOjA2KToKKEJlenVnOiBBcnRpa2VsIHZvbiBMb2NvLCBNaXQsIDI2LiBPa3QgMTk5NCwgMDk6MDY6NDIpCgpXaWUgZXJrZW5uZW4gZGllIFZlcmthZXVmZXIgZGVubiBRdWVzdHJlbGV2YW50ZSBHZWdlbnN0YWVuZGU/IFdlbm4gbWFuIGRlbmVuCndhcyBnaWJ0LCBmaW5kZW4gc2llIGdlZmFsbGVuIGRhcmFuIHVuZCB0dW4gZXMgenUgaWhyZW4gUHJpdmF0c2FjaGVuLgooT2RlciBpc3QgbWlyIGRhIGVpbiBNaXNzdmVyc3RhZW5kbmlzIHVudGVybGF1ZmVuPykKCgkJCUNhdSBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHVtbWUgZnJhZ2UgKFNjaGxvbnosIDI4LiBPa3QgMTk5NCwgMTU6MzY6MDgpOgpIYWxsbywgaWNoIGhhYiBtYWwgbmUgZHVtbWUgZnJhZ2UuCgpJc3QgZXMgbW9lZ2xpY2ggc2ljaCBtZWhyZXJlIGJlZmVobGUgYWxzIG1hY3JvIHp1IGRlZi4/IFdlbm4gamEsIHdpZSB1bmQgd2VubgpuZWluIHdhcnVtIG5pY2h0ID8KClNjaGxvbnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIDpjYXVubyAoVGhvcmluLCAyOC4gT2t0IDE5OTQsIDE1OjQ2OjUzKToKRXMgd2VyZGVuIG5pY2h0IG51ciBxdWVzdHJlbGV2YW50ZSBHZWdlbnN0YWVuZGUgenUgZGVuIFByaXZhdHNhY2hlbiBnZXBhY2t0LApzb25kZW4gYWxsZSwgZGllIGJlc29uZGVycyBnZWtlbm56ZWljaG5ldCBzaW5kIC4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWV1c2VyLSB1bmQgTWV0emVsLVdhaG4gKEZsaW50bmFpbCwgMjguIE9rdCAxOTk0LCAxOToyNDo1MSk6CkhhbGxvZWxlLi4uOikKCiBTZWl0ZGVtIGVzIGRpZSBTZWhlcmhhZXVzZXIgZ2lidCwgc2NoZWluZW4gamEgZWluaWdlIHVuc2VyZXIgSExQIG5pY2h0cwphbmRlcmVzIG1laHIgYWxzIGlociBFaWdlbmhlaW0gaW0gU2lubiB6dSBoYWJlbi4KRm9sZ2U6IHVtIGFuIGRpZSBiZW5vZXRpZ3RlIFN1bW1lIHp1IGtvbW1lbiA1LTYwMC4wMDAgTXVlbnplbiB3aXJkIGRhbm4Kd2llZGVyIG9yZGVudGxpY2ggZ2VtZXR6ZWx0LgpIYWNoamEuLi4KTmEgc28gdG9sbCBmaW5kZSBpY2ggZGFzIG5pY2h0Li4uLmRpZW50IGRhcyB3aWVkZXIgbnVyIGRlbSBad2VjayBkaWUKSW5mbGF0aW9uc3JhdGUgenUgZHJ1ZWNrZW4/Pz8KCiAgICAgRmxpbnRuYWlsLCBiYWxkIFNlaGVyIHVuZCBzdGF1YmlnZSBTdHJhc3NlbiBsaWViZW5kIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV09XISAoU2VtaXJhLCAyOC4gT2t0IDE5OTQsIDIyOjMwOjUzKToKSWNoIGJpbiBnZXN0b3JiZW4gLSB1bmQgYmVnZWlzdGVydCEKV2FydW0/Clp1bSBlaW5lbiBiaW4gaWNoIG5vY2ggbmllIHVudGVyIHNvIHNwYXNzaWdlbiBVbXN0YWVuZGVuIGF1cyBkZW0gbXVkLUxlYmVuCmdlc2NoaWVkZW4gKGZyYWd0IGVuZ3ksIGNhcmEgb2RlciBhc21vZGlzLCBkaWUga2VubmVuIGRpZSBzdG9yeSkgdW5kIHp1bQphbmRlcmVuIGhhYmUgaWNoIGRpZSB1bHRpbWF0aXYgYmVzdGUgVG9kZXNzZXF1ZW56IGR1cmNobGVidCAobGVidD8pIGRpZSBtYW4Kc2ljaCBkZW5rZW4ga2FubiEhIQoKS2FubiBtaXIgZWluIE1hZyBzYWdlbiB2b24gd2VtIGRpZSB3YXI/IElociBrb2VubnQgZGFzIGRvY2ggc2ljaGVyCmZlc3RzdGVsbGVuLCBvZGVyPyBEZXIgQXV0b3IgIHdpcmQgdm9uIG1pciBnZS1rbnVkZGVsLWxvYnQgYmlzIGFucyBFbmRlIHNlaW5lcgpUYWdlISEhCgpUSE5YLCBzZWx0ZW4gc28gc2Nob2VuIGdlc3RvcmJlbiEhISEgS2FubiBpY2ggZGllIGFib25pZXJlbj8KClNlbWlyYSAtIGt1ZXJ6bGljaCB2ZXJzdG9yYmVuIHVuZCB0cm90emRlbSBiZWdlaXN0ZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVdGUgdW5kIGlocmUgTGVpYndhZWNodGVyIChBc21vZGlzLCAyOS4gT2t0IDE5OTQsIDA0OjAzOjE5KToKSG1tLCBkYSBnZWh0IG1hbiBzbyBpbiBEZWF0aHMgTGFieXJpbnRoIGhlcnVtLCB3aWxsIFV0ZSBtYWwgYmVzdWNoZW4gdW5kIGlocgplaW5lbiBndXRlbiBUYWcgd3VlbnNjaGVuLCB1bmQgd2FzIGtvbW10PyBNYW4gd2lyZCB2b24gaWhyZW4gTGVpYndhZWNodGVybgpuaWVkZXIgZ2VtZXR6ZWx0ICgtNTAgTFAgcHJvIFJ1bmRlKSwgd2lyZCBlbnR3YWZmbmV0IHVuZCBrb21tdCBnZXJhZGUKbWFsIHNvIG1pdCBoZWlsZXIgSGF1dCBkYXZvbiwgYWJlciBhdWNoIG51ciwgd2VubiBtYW4gc2NobmVsbCBzY2hhbHRldCEhCgpJY2ggaGFiIGphIG5peCBnZWdlbiBzdGFya2UgQmV3YWNodW5nIHZvbiBOUENzLCBkaWUgZGVuIGVudHNwcmVjaGVuZGVuCk1hZ2llcm4gYW0gSGVyemVuIGxpZWdlbiwgYWJlciBkYXMgZ2VodCB3b2hsIGV0d2FzIHp1IHdlaXQhIQpEYWdlZ2VuIGlzdCBSb2NodXMnIFRvZGVzc2NoYWNodCBlaW4gS2luZGVyc3BpZWwhIQoKQml0dGUgaWhyIE1hZ2llciwgYmxlaWJ0IG1hc3N2b2xsIHVuZCBsYXNzdCBkaWVzZSBIaW5yaWNodHVuZ2VuIGJsZWliZW4gISEhCgogICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3VkdWthdCBMT0cgIChsYWNoKSAoVG9yZmR1ZW5nLCAyOS4gT2t0IDE5OTQsIDE3OjEwOjEwKToKR3VsZHVrYXQgcnVmdDogaGlsZmUsIGljaCBiaW4gaW4gZGVyIGhvZWxsZSEKUnluZSBnaWJ0IGVpbiBhbGJlcm5lcyBLaWNoZXJuIHZvbiBzaWNoLgpEdSBncmluc3QuClJ5bmUgc2FndDogaGFzdGUgbWl0Z2VrcmllZ3QgPwpHdWxkdWthdCBydWZ0OiBmYWZmbmVyLCBrYW5uc3QgZHUgYml0dGUgYmVpIGxhcnMgZWluIGd1dGVzIHdvcnQgZnVlciBtaWNoCkd1bGR1a2F0IHJ1ZnQ6IGVpbmxlZ2VuPwpSeW5lIHNhZ3Q6IGplenQgaGFlbmdlbiBkYSB6d2VpLi4uClJ5bmUgc2FndDogdW5kIGJlaWRlIHdlcmRlbiBhdWYgZGVuIHJlc2V0IHdhcnRlbiBtdWVzc2VuLi4uLgpEdSBncmluc3QuCkR1IHNhZ3N0OiBnZWlsCkR1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KIFJ5bmUgYnJpY2h0IHZvciBMYWNoZW4genVzYW1tZW4uClJ5bmUgdHJvbW1lbHQgbWl0IEhhZW5kZW4gdW5kIEZ1ZXNzZW4gYXVmIGRlbiBCb2RlbgpEdSBzYWdzdDogbmVlClJ5bmUgbWFjaHQgc2ljaCB2b3IgTGFjaGVuIChmYXN0KSBpbiBkaWUgSG9zZQpEdSBzYWdzdDogRmFmZm5lciBpc3QgZHJhdXNzZW4KUnluZSBzYWd0OiBqYSwgZ3VsZHUsIHNjaGFldHogaWNoLi4uIGRpZSBoYWJlbiBwbGFldHplIGdldGF1c2NodC4uLi4uClJ5bmUgYnJpY2h0IHZvciBMYWNoZW4genVzYW1tZW4uClJ5bmUgdHJvbW1lbHQgbWl0IEhhZW5kZW4gdW5kIEZ1ZXNzZW4gYXVmIGRlbiBCb2RlbgpSeW5lIGtydWVtbXQgc2ljaCB2b3IgTGFjaGVuCkR1IGdyaW5zdC4KRHUgc2Fnc3Q6IG5ldHQKPiBHdWxkdWthdCBydWZ0OiBzaGl0LCBsYXJzIGlzdCBqYSB0b3QsIGRhIGthbm4gamEga2VpbmVyIGVpbiBndXRlcyB3b3J0IGZ1ZXIKR3VsZHVrYXQgcnVmdDogbWljaCBlaW5sZWdlbiA6KCgKRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCkR1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KbGFjRHUgYnJpY2hzdCB2b3IgTGFjaGVuIHp1c2FtbWVuLgpEdSBicmljaHN0IHZvciBMYWNoZW4genVzYW1tZW4uCkR1IGJyaWNoc3Qgdm9yIExhY2hlbiB6dXNhbW1lbi4KQ2FyYWRocmFzIHJ1ZnQ6ICpwcnVzdCoKUnluZSBicmljaHQgdm9yIExhY2hlbiB6dXNhbW1lbi4KR3VsZHVrYXQgcnVmdDogaWNoIGJlcmV1ZSwgbGFycyBnZWtpbGx0IHp1IGhhYmVuIHVuZCB2ZXJzcHJlY2hlLCBlcyBuaWNodApHdWxkdWthdCBydWZ0OiBtZWhyIHp1IHR1biEgOykgKCpncmluc2UgTWFnaWVyIGFuKikuIFdhcyBpc3QgamV0enQgbWl0IGRlcgpHdWxkdWthdCBydWZ0OiB0b2Rlc3plcmVtb25pZSwgd2VubiBsYXJzIHRvdCBpc3QgPwpEdSBydWZzdDogQWNoLCBUb3Qgd2lsbHN0IGR1IHNlaW4gPwpHdWxkdWthdCBydWZ0OiBzbywgaWNoIGhhYiBrZWluIGJvY2sgbWVociwgY2lhbyEKCipncmlucyoKVEQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlZGFua2VuIHp1bSBNdWQuLi4gKE9ldHRpLCAzMC4gT2t0IDE5OTQsIDE3OjQxOjQ5KToKU28gbWVpbiBlcnN0ZXIgQXJ0aWtlbC4uLgpEaWUgRGlza3Vzc2lvbiB1ZWJlciBDYW1waW5vIHVuZCBaZW5zdXIgaW0gYWxsZ2VtZWluZW4KaGF0IG1pY2ggamV0enQgaXJnZW5kd2llIGRhenUgZ2VicmFjaHQgYXVjaCBtYWwKbWVpbmVuIFNlbmYgZGF6dSB6dSBnZWJlbi4KCkljaCBmaW5kZSBtaXR0bGVyd2VpbGUgaGFiZW4gc2ljaCBkaWUgTXVkcyBkb2NoIHp1IGVpbmVtCkdlZnVlZ2UgbWl0IGVpbmVyIHNlaHIgc3RhcmtlbiBzb3ppYWxlbiBTdHJ1a3R1ciBlbnR3aWNrZWx0LgpEYXMgZ2VodCB0ZWlsd2Vpc2Ugc293ZWl0LCBkYXNzIGRpZSBJZGVudGlmaWthdGlvbiBkZXIgU3BpZWxlciBtaXQgSUhSRU0gTXVkCmRvY2ggc2Nob24gZ3Jvc3NlIG9kZXIgdGVpbHdlaXNlIGF1Y2ggYmVkZW5rbGljaGUgYXVzbWFzc2UgYW5uaW10LgpBYmVyIHRyb3R6IGFsbGVtIHNpbmQgZXMgTWVuc2NoZW4sIGRpZSAod2llIGltIFJMKSBoaWVyCmVpbmVuIENoYXJha3RlciBkYXJzdGVsbGVuLCB1bmQgZGEgZmluZGUgaWNoIGxldXRlCndpZSBDYW1waW5vLCBkaWUgYW5lY2tlbiB1bmQgRGlza3Vzc2lvbmVuIGF1c2xvZXNlbiBkb2NoCnNlaHIgYW5nZW5laG0sIHdlbm4gbmljaHQgc29nYXIgbm90d2VuZGlnLgpBYmVyIHNvbGx0ZSBtYW4gbmljaHQgbWFsIGRhcnVlYmVyIG5hY2hkZW5rZW4sIGRhc3MgZWluIE11ZAp6d2FyIHZvbiBkZXIgc296aWFsZW4gU2VpdGUgc2VociBob2NoZW50d2lja2VsdCwgZG9jaApwb2xpdGlzY2ggZ2VzZWhlbiBpbW1lciBub2NoIGF1ZiBkZXIgdW50ZXJzdGVuIFN0dWZlIHN0ZWh0Li4uCihXaWxsIHNhZ2VuLCBlaW4gSGllcmFyY2hpc2NoZXMgU3lzdGVtIG1pdCBHb2V0dGVybiB1bmQKc3RlcmJsaWNoZW4gaXN0IGhhbHQgc2Nob24gc2VociBhbHQgZGFoZXJnZWJyYWNodC4KV2FlcmUgZXMgbmljaHQgZWlubWFsIGludGVyZXNzYW50IGVpbiBNdWQgenUgZW50d2lja2VsbiwgaW4gZGVtCmVzIHNvIGV0d2FzIGFlaG5saWNoZXMgd2llIGVpbmUgRGVtb2tyYXRpZSBnaWJ0IG9kZXIgc28uLi4/CihWb24gZGVuIFNwZWljaGVycGxhdHpwcm9ibGVtZW4gdW5kIGFlaG5saWNoZW0gd2lsbCBpY2ggamEgZ2FyIG5pY2ggcmVkZW4pCkVzIGdlaHQgbWlyIG51ciB1bSBkZW4gcGhpbG9zb3BoaXNjaGVuIEFzcGVrdCwgbmljaHQgZGVuIFRlY2huaXNjaGVuLgpJY2ggZGVua2UsIG1pdHRsZXJ3ZWlsZSBpc3QgZGllIFNhY2hlIGRvY2ggc28gaG9jaCBlbnR3aWNrZWx0CmRhc3MgZXMgZmFzdCB3aWUgaW0gUkwgaXN0IChhYmdlc2VoZW4gZGF2b24sIGRhc3MgbWFuIHNpY2ggbmljaHQgaG9lcmVuCnVuZCBhbmZhc3NlbiBrYW5uLCB1bmQgc2VoZW4gbmF0dWVybGljaCBhdWNoIG5pY2h0KQpBYmVyIGRhcyBrb21tdCBpbiBkZXIgWnVrdW5mIHdhaHJzY2hlaW5saWNoIGF1Y2ggbm9jaC4KKFdlciBpbiBMaWViZSBTdWVuZGUgZGllIFNhY2hlIG1pdCBkZW0gR2FuemtvZXJwZXItU2V4aGFuZHNjaHVoIGdlc2VoZW4gaGF0LAprYW5uIHNpY2ggZGFzIGphIG1hbCB2b3JzdGVsbGVuIDstKSApCkxhbmdlIFJlZGUga3VyemVyIFNpbm4gKG9kZXIgYXVjaiBnYXIga2VpbmVyKQoKSWNoIGZpbmRlLCBkYXMgU3lzdGVtIGltIE11ZCB1YmVyaG9sdCB1bmQgdWViZXJmYWVsbGlnLAp1bmQgdmllbGxlaWNodCBzb2xsdGVuIHNpY2ggZWluaWdlIExldXRlIGVpbiB3ZW5pZyBtZWhyIGluClRvbGVyYW56IHVlYmVuLCBhbHMgZ2xlaWNoIGplZGVuIHp1IHZlcmZsdWNoZW4sIHdlbm4gc2llCnNpY2ggYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuIGZ1ZWhsZW4uCkljaCBkZW5rZSB1bWdhbmdzZm9ybWVuIHNpbmQgcHJpbnppcGllbGwgTm90d2VuZGlnLCBhYmVyIGRpZQptZWlzc3RlbiBFbnRzY2hlaWR1bmdlIHVuZCBkaWUgRW50c2NoZWlkdW5nc2dld2FsdCwgc29sbHRlCnZpbGxlaWNodCB2b24gbWVocmVyZW4gYXVzZ2V1ZWJ0IHdlcmRlbiwgdW5kIG5pY2h0IHZvbiBlaW4gcGFhcgpNZWdhLU9iZXItTWFnaWVybiwgZGllIHNpY2ggaW5zIEhlbWQgbWFjaGVuLCB3ZWlsIGlyZ2VuZGVpbgpQcm9mLiBzaWNoIHZpbGxlaWNodCB1ZWJlciBlaW5lbiBibG9lZGVuIFdpdHogZWNoYXVmZmllcmVuIGtvZW5udGUuCgpPZXR0aQoKKFRyYXVlbWVyLCBTcGlubmVyLCBJZGVhbGlzdCwgdW5kIHZlcmxpZWJ0IDotKSkpKSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptcGFyYyBnZXN1Y2h0IChHbnVsbGksIDMxLiBPa3QgMTk5NCwgMTA6MTQ6MTYpOgpISSEKRHVtbWUgRnJhZ2UhCgpXbyBmaW5kZSBpY2ggZGVuIG1wYXJjIGZ1ZXIgYW1pZ2EsIHVtIGRpZXNlIE1VRC1maWxlcyBhdXN6dXBhY2tlbiwgZGllIGhpZXIKbWFsIGlyZ2VuZHdvIGVyaGFlbHRsaWNoIHdhcmVuIC4uLi4uIElyZ2VuZHdpZSBpc3QgZGVyIG1pciBhYmhhbmRlbiBnZWtvbW1lbi4KRnVlciBoaWxmZSBiaW4gaWNoIGRhbmtiYXIgLi4uCgpHbnVsbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWRhbmtlbiB6dW0gTXVkLi4uIChKb2YsIDMxLiBPa3QgMTk5NCwgMTI6NTA6MzApOgooQmV6dWc6IEFydGlrZWwgdm9uIE9ldHRpLCBTb24sIDMwLiBPa3QgMTk5NCwgMTc6NDE6NDkpCiBPaGplLCBkaWVzZXIgbGVpZGlnZSBXaXR6LUFydGlrZWwgLSBJQ0ggaGF0dGUgZGVuIHN0ZWhlbmxhc3NlbiwgaWNoIGdsYXViCmVocmxpY2hnZXNhZ3QgMSkgbmljaHQsIGRhcyBQcm9mcyBuaWNodHMgYmVzc2VyZXMgenUgdHVuIGhhYmVuLCBhbHMgc2ljaAppbSBNdWQgZWluenVsb2dnZW4gdW5kIGF1c2dlcmVjaG5ldCBkaWUgV2l0ei1SdWJyaWsgenUgbGVzZW4sIHVuZCAyKSBuaWNodApkYXMgZXMgc2llIGludGVyZXNzaWVydCwgb2IgZGEgZHVtbWUgV2l0eiBkcmluc3RlaGVuLiBBdXNzZXJkZW0gbXVlc3N0ZSBtYW4KYXVjaCBhbGxlIE1hbnRhLVdpdHplIGxvZXNjaGVuIC0gZGEgd2VyZGVuIE1hbnRhZmFocmVyIGRpc2tyaW1pbmllcnQgdW5kIHVuZAp1bmQgLi4uIEFuZGVyZXJzZWl0cyBoYWV0dGUgaWNoIG1pY2ggYWJlciBBVUNIIG5pY2h0IHVlYmVyIGRpZSBMb2VzY2h1bmcKZWluZXMgZGFlbWxpY2hlbiBBcnRpa2VscyBhdXNnZXJlY2huZXQgYXVzIGRlciBXaXR6Z3J1cHBlIGF1ZmdlcmVndCAob2tva29rCmljaCB3ZWlzcyBlcyBnZWh0IHVtcyBQcmluemlwLCBhYmVyIC4uLikKIFp1ciBEZW1va3JhdGlzaWVydW5nOiBFcyBpc3QgamEgbmljaHQgc28sIGRhcyBkaWUgTWFnaWVyICd1ZWJlcicgZGVuClNwaWVsZXJuCnN0ZWhlbiAtIG5hY2ggZGVuIFJlZ2VsbiBoYWx0ZW4gc2ljaCBNYWdpZXIga2xhciBBVVNTRVJIQUxCIGRlcyBTcGllbHMgYXVmCnVuZCBkdWVyZmVuIG5pY2h0IGRpcmVrdCBpbiBkaWVzZXMgZWluZ3JlaWZlbi4gRGllIE1hZ2llciBtaXQgJ2Jlc29uZGVyZW4nCkF1ZmdhYmVuIChhYiBMZXZlbCA2MCwgekIpIHNvbGx0ZW4gYXVjaCBudXIgaW4gUHJvYmxlbWZhZWxsZW4gZWluZ3JlaWZlbiBvZGVyCndlbm4gZWluIFBsYXllcmtpbGwgc3RhdHRnZWZ1bmRlbiBoYXQuIEljaCBzZWggbmljaHQgZ2Fueiwgd2FzIGVzIHp1ICdkZW1vLQprcmF0aXNpZXJlbicgZ2lidCwgd2VubiBlcyBudXIgZ2VuYXUgZWluIEdlc2V0eiBnaWJ0IC0gJ0R1IHNvbGxzdCBrZWluZSBNaXQtCnNwaWVsZXIgZXJtb3JkZW4uJy4gQW5kZXJlIFJlZ2VsbiBnaWJ0cyBkb2NoIGdhciBuaWNodCBmdWVyIFNwaWVsZXIsIHVuZAplaW5lIEZsdXQgd2VpdGVyZXIgUmVnZWxuIHd1ZXJkZSBkYXMgU3BpZWwgZG9jaCBudXIgdW5ub2V0aWcgdmVya29tcGxpemllcmVuLgpFaW5lIGhpZXJhcmNoaXNjaGUgU3RydWt0dXIgZ2lidHMgZWlnZW50bGljaCBudXIgaW5uZXJoYWxiIGRlcyAnTWFnaWVyLQpzdGFuZGVzJyAtIGhpZXIgaGFiZW4gd2lyIHNjaG9ubWFsIERlbW9rcmF0aWUgdmVyc3VjaHQsIGluZGVtIHdpciByZWdlbC0KbWFlc3NpZyAnTWFnaWVya29uZmVyZW56ZW4nIGFiZ2VoYWx0ZW4gaGFiZW4sIGFiZXIgZGFzIGhhdCBzaWNoIGFscyBuaWNodApwcmFrdGlrYWJlbCBnZXplaWd0LiBTb2JhbGQgbWVociBhbHMgMTAgKDU/KSBMZXV0ZSBhdWYgZWluZW0gSGF1ZmVuCnN0ZWhlbiwgZ2VodCBhbGxlcyBpbSBMYWVybSwgZGVuIGRpZSBtYWNoZW4sIHVudGVyLiBJbnNiZXNvbmRlcmUsIHdlbm4KZWluaWdlIHZvbiBkZW5lbiBMYWcgaGFiZW4gdW5kIGVyc3QgTWludXRlbiBzcGFldGVyIHp1IFRoZW1lbiBTdGVsbHVuZwpuZWhtZW4sIGRpZSBsYWVuZ3N0IGFiZ2VoYWt0IHNpbmQuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZHVtbWUgZnJhZ2UgKFJ1bWF0YSwgMzEuIE9rdCAxOTk0LCAxNTozMzo1NSk6CkVzIGlzdCBuaWNodCBtb2VnbGljaCBtZWhyZXJlIGJlZmVobGUgYXVmIGVpbm1hbCBhYnp1c2V0emVuCkRhbWl0IGhhZXR0ZSBtYW4gZWluZW4gZ2VzY2h3aW5kaWdrZWl0ZXN2b3J0ZWlsIGdlZ2VudWViZXIgZGVuIE1vbnN0ZXJuCihzb25zdCB3YWVyZSBkZXIgU3BydWNoIHNjaG5lbGwgamEgc2lubmxvcykKVWViZXIgd2FydGVzY2hsZWlmZW4gZGFzIHp1IG1hY2hlbiBzdGVodCBpbiBrZWluZW0gdmVyaGFlbHRuaXMgenVtIGF1ZndhbmQuCihBYmJyZWNoZW4gZWluZXIgc29sY2hlbiBzY2hsZWlmZSwgbWVocmVyZSBzY2hsZWlmZW4sIC4uLikKRGllIG1laXN0ZW4gQ2xpZW50IHNpbmQgZWggc2Nob24gZGF6dSBpbiBkZXIgbGFnZS4KdGVsbmV0IGJlbnV0emVyID0+IHNvcnJ5IDotKAoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZyYWdlIC4uLiAoUnVtYXRhLCAzMS4gT2t0IDE5OTQsIDE1OjM2OjI2KToKSGkgTGV1dGUsCmlyZ2VuZHdvIGhhYmUgaWNoIG1hbCB2b24gZWluZW0gU3BpZWwgZ2Vob2VydCwgaW4gZGVtIG1hbiBzaWNoIGdlZ2Vuc2VpdGlnCm1pdCBaYXViZXJzcHJldWNoZW4gYm9tYmFyZGllcmVuIG11c3MuIFBybyAnUnVuZGUnIGthbm4gamVkZXIgZWluZSBTaWxiZQpzcHJlY2hlbi4gRGVyIFRydWNrIGJlc3RlaHQgZGFyaW4sIGRpZSBTcHJ1ZWNoZSBhbmhhbmQgZGVyIGVyc3RlbiBTaWxiZW4KZGVyIGFuZGVyZW4genUgZXJrZW5uZW4gdW5kIGdnZi4gZ2VlaWduZXRlIEdlZ2Vuc3BydWVjaGUgenUgY2FzdGVuLgpJY2ggd2Vpc3MgbmljaHQsIG9iIGRhcyBlaW4gQ29tcHV0ZXJzcGllbCBvZGVyIHNvbnN0d2FzIHdhci4uLgpIYXQgamVtYW5kIGluZm9zIHp1IGRpZXNlbSBTcGllbD8gV2VubiBqYSwgZGFubiBiaXR0ZSBJbmZvcyAob2RlciBub2NoIGJlc3NlcgpkaWUgRG9rdSBwZXIgbXVkLW1haWwgYW4gbWljaC4pCgpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZ2Vib3QgdW5kIE5hY2hmcmFnZS4uLiAoRmxpbnRuYWlsLCAzMS4gT2t0IDE5OTQsIDE5OjU0OjQ2KToKSGkgYXVjaC4uLi4KSWNoIHN0ZWhlIGhpZXIgaW0gWndlcmdlbmxhZGVuIHVuZCB3aWxsIG1laW5lIGFjaHNvaGFydGVya2FlbXBmdGVuIEp1d2VsZW4KKGRpZSB2b20gU2NobGFtbWRyYWNoZW4pIGxvc3dlcmRlbiwgZGEgc2FndCBtaWNoIGRvY2ggZGVyIEtlcmwgYW4gZGVyCkthc3NlLi4uLldlcnQgc2luZCBzaWUgNTc0NyBhYmVyIGdlYmVuIGthbm4gaWNoIG1heGltYWwgMTAwMCEhIQpTb3dhcyBhZXJnZXJ0IG1pY2ghIExpZWJlIE1hZ2llciwgaXN0IGRhcyB3aWVkZXIgZGllIEFuZ3N0IHZvciBkZXIgSW5mbGF0aW9uLApkaWUgZXVjaCBkYSBhbnRyZWlidD8/PwpXYXJ1bSBoYWJlbiBkaWUgRGluZ2VyIGRlbm4gc28gZWluZW4gaG9oZW4gV2VydCwgd2VubiBpY2ggbnVyIDEwMDAgZGFmdWVyCmJla29tbWU/Pz8KQWxzbyBpY2ggYWVyZ2VyIG1pY2ggaGllciB3aXJrbGljaCBudXIgdWViZXIgZGllIEF1c3NhZ2UgJ1dlcnQgc2luZCBzaWUKNTc0NychCgpBbHNvIFZvcnNjaGxhZy4uLmhlaGUuLi53aWUgd2FlcmUgZXMgLHdlbm4gaWhyIG1hbCBnYWFhYW56IHZpZWwgWmVpdCBoYWJ0LAptaXQgZWluZXIgSGFuZGVsc2dpbGRlLCBkaWUgdS5hLiBhdWNoIGRpZSBGZXJ0aWdrZWl0IEZFSUxTQ0hFTgphbmJpZXRldC4uLi5tdXNzIGphIG5pY2h0IHZpZWwgbWVociBzZWluLCB3YXMgbWFuIGRhIHJhdXMgaG9sdC4uLmFiZXIgc28gbmVuCmJpc3NlcmwgQm9udXMgd2FlciBzY2hvbiBzY2hvZW4uLi4KQWNoamEsIGJ5IHRoZSB3YXksIHp1ciBQbGFudW5nIGJpZXRlIGljaCBuYXR1ZXJsaWNoIG1laW5lIE1pdGFyYmVpdCBhbiE7KQoKICAgRmxpbnRuYWlsOiBkZXIgWndlcmcsIGRlciBzZWluZSBKdXdlbGVuIGxpZWJlciBob3J0ZXQuLi4KICAgICAgICAgICAgICAuLi4uLmdlaG9lcnQgc2ljaCBqYSBhdWNoIHNvISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5nZWJvdCB1bmQgTmFjaGZyYWdlLi4uIChCb2luZywgIDEuIE5vdiAxOTk0LCAwMTo0NzowNyk6CkRlciBNYXhpbWFscHJlaXMgdm9uIDEwMDAgTXVlbnplbiBiZXN0ZWh0IHNjaG9uIHNvIGxhbmdlIHdpZSBkYXMgTXVkLApkYXMgaXN0IG51biB3aXJrbGljaCBuaWNodHMgTmV1ZXMuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmdlYm90IHVuZCBOYWNoZnJhZ2UuLi4gKENhcmFkaHJhcywgIDEuIE5vdiAxOTk0LCAxMDo1ODo1Nyk6CihCZXp1ZzogQXJ0aWtlbCB2b24gRmxpbnRuYWlsLCBNb24sIDMxLiBPa3QgMTk5NCwgMTk6NTQ6NDYpCiAgICAgICAgICAgICAgICAgTmEgYWxsZXJkaW5ncywgQm9pbmchCgpVbmQgZGFzIGlzdCBuaWNodCBudXIgaGllciBzY2hvbiB2b24gQW5mYW5nIGFuIHNvLCBzb25kZXJuIGF1Y2ggaW4gZGVuCmFuZGVyZW4gTXVkcywgZGllIGljaCBrZW5uZS4gVW5kIGluIGVpbmlnZW4gYW5kZXJlbiBzdGVodCBkYSBudXIsIGRhc3Mgc2llCnpiIDYwMDAgd2VydCBzaW5kLCBhYmVyIG5pY2h0LCBkYXNzIG1hbiB3ZW5pZ2VyIGRhZnVlciBiZWtvbW10LiBBbHNvIGRhcwp3dWVyZGUgbWljaCBlY2h0IGFlcmdlcm4gOikgYWJlciBzby4uLiA6LSkgc28gZmluZGUgaWNoIGVzIG9rLgoKVW5kIGVzIHNvbGx0ZSBrbGFyIHNlaW4sIGRhc3MgbWFuIGZ1ZXIgZGVuIHVtaGFuZyBkZXMgdG9kZXMga2VpbmUgMjAwMCB6QgpvZGVyIG5vY2ggbWVociBiZWtvbW1lbiBzb2xsdGUsIGlzdCBhdWNoIHNvIHNjaG9uIHJlbGF0aXYgbGVpY2h0LCBkZW4genUKYmVrb21tZW4sIHdlbm4gbWFuIHNpY2ggZHVyY2hwcnVlZ2VsdC4uLiB1bmQgZGllIG1vbnN0ZXIgYXVmIGRlciBzdHJlY2tlCmhhYmVuIGphIGF1Y2ggbm9jaCBlaW5pZ2VzIGRhYmVpISB3YWVyZSBkaWUgdG90YWxlIGluZmxhdGlvbiBiencuIGRpZQptb25zdGVyIG11ZXNzdGVuIHZpZWwgc2Nod2VyZXIgZ2VtYWNodCB3ZXJkZW4sIHdpbGxzdCBEdSBkYXMgZXR3YSwgRmxpbnQ/CkljaCBnbGF1YmUga2F1bS4gOi0pCgogICAgICAgICAgICAgdHNjaG9lCiAgICAgICAgIENhcmFkaHJhcywgZGVyIGFybWUsIGFiZXIgbmljaHQgdW5nbHVlY2tsaWNoZSBld2lnZSBQcm9waGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFuZ2Vib3QgdW5kIE5hY2hmcmFnZS4uLiAoRHVyaWFuLCAgMS4gTm92IDE5OTQsIDExOjEyOjExKToKKEJlenVnOiBBcnRpa2VsIHZvbiBDYXJhZGhyYXMsIERpZSwgIDEuIE5vdiAxOTk0LCAxMDo1ODo1NykKVW5kIGF1c3NlcmRlbSBtYWNodCBlaW4gaG9laGVyZXIgQmV0cmFnIHRyb3R6ZGVtIFNpbm4sIHdlaWwgbWFsIGRlbgpuYWVtbGljaCBiZWltIGthZXVmbGljaGVuIFdpZWRlcmVyd2VyYiB6YWhsZW4gbXVzcyEgU2NobGllc3NsaWNoIHdvbGxlbgpkaWUgSGFlbmRsZXIgYXVjaCB2b24gd2FzIGxlYmVuIDotKQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmdlYm90IHVuZCBOYWNoZnJhZ2UuLi4gKE5peGlob3UsICAyLiBOb3YgMTk5NCwgMDk6MTM6NTIpOgooQmV6dWc6IEFydGlrZWwgdm9uIEZsaW50bmFpbCwgTW9uLCAzMS4gT2t0IDE5OTQsIDE5OjU0OjQ2KQpIZXkgZGllIGlkZWUgbWl0IGRlbSBmZWlsc2NoZW4gZmluZCBpY2ggZ3V0LgphYmVyIG5lYmVuIGRlbSBoYWVuZGxlcmhhdXMgc29sbHRlIGVzIGF1Y2ggZWluZW4gSGVobGVyIGdlYmVuIQpEYXMgbWVpc3RlIHpldWcgaXN0IGphIG9obmVoaW4gZ2VzdG9obGVuLiAodW5kIGF1Y2ggbm9jaCB2b24gbGVpY2hlbikKCm5peGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpdHplIGF1ZmdlcmFldW10IChIaWdobGFuZGVyLCAgMi4gTm92IDE5OTQsIDE0OjU1OjQ1KToKU28sIGpldHp0IGhhYiBpY2ggbWFsIHdpZWRlciB3aXR6ZSBhdWZnZXJhZXVtdC4gSWNoIGhhYiBhbHNvIGZhc3QgYWxsZQpBcnRpa2VsLCBkaWUgbmljaHQgaXJnZW5kd2llIGluIGRpZSBSdWJyaWsgcGFzc3RlbiwgcmF1c2dld29yZmVuLiBEYWJlaQpzaW5kIHZvbiA2MCBBcnRpa2VsbiBnZXJhZGUgbWFsIDM5IG9kZXIgc28gdWViZXJnZWJsaWViZW4uCk1lcmtlOiBTY2hyZWlidCBuaWNodC1XaXR6ZSBuaWNodCBpbiBXaXR6ZS4gOj4KICAgSGlnaGxhbmRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChUaG9yaW4sICAzLiBOb3YgMTk5NCwgMDk6MTU6NDQpOgpIYWxsaWhhbGxvLAppY2ggd2FyIGhldXRlIG1hbCB3aWVkZXIgYXVmIGRlbSBGcmllZGhvZiwgdW5kIGRlc3dlZ2VuIG1hbCBuZSBGcmFnZSA6IGhpZXNzCmVzIG5pY2h0LCBkYXNzIGRlbSBWYW1waXJwcm9ibGVtICh3byBpc3QgbWVpbmVyPykgQWJoaWxmZSBnZXNjaGFmZnQgd3VyZGUgPwpNZWluZXIgaXN0IG5hZW1saWNoIG5pY2h0IGRhIC4uLgpad2VpdGVucyB6dW0gU2NobXVja2hhZW5kbGVyIDoga29lbm50ZSBtYW4gZGllIFNjaG11Y2tzdHVlY2tlIG5pY2h0IGF1dG9sb2FkCm1hY2hlbiBvZGVyIGtvc3RldCBkYXMgenV2aWVsIFNwZWljaGVyID8gRGVubiBmdWVyIGRpZSBQcmVpc2UgbG9obnQgc2ljaCBkYXNzCnNvbnN0IG5pY2h0IHNvIHNlaHIsIHVuZCBlcyBzaW5kIGphICdudXInIHJlaW5lIFNjaG11Y2tzdHVlY2tlLiBBdWNoIHdlbm4gZWluClJlYm9vdCBudXIgYWxsZSAyNQpUYWdlIGlzdCwgaXN0IGVzIGRvY2ggZXR3YXMgdGV1ZXIsIGplZGVzbWFsIHdhcyBuZXVlcyB6dSBrYXVmZW4gKG9rYXksCmRhZHVyY2ggaXN0IGtlaW5lIEluZmxhdGlvbiwgYWJlciB0cm90emRlbSA6KSkKRGFzIHdhcmVuIGFsbGUgQW5mcmFnZW4sIHRzY2h1ZXNzaSwKZWluIGF1ZiBkZW4gVmFtcGlyIHdhcnRlbmRlciBUaG9yaW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChZYW50cm8sICAzLiBOb3YgMTk5NCwgMTE6MzM6MTkpOgooQmV6dWc6IEFydGlrZWwgdm9uIFRob3JpbiwgRG9uLCAgMy4gTm92IDE5OTQsIDA5OjE1OjQ0KQpIaSBUaG9yaW4sCgpTbyB3aWUgaWNoIGRhcyBtaXRiZWtvbW1lbiBoYWJlLCBiZWtvbW10IG1hbiBuYWNoIGVpbmVtIFJlYm9vdCBkZW4gVk9MTEVOClByZWlzIGRlcyBTY2htdWNrc3R1ZWNrZXMgZXJzZXR6dC4gV2VubiBkYXMgbmljaHQgc28gZGVyIEZhbGwgaXN0LCBkYW5uIGdlYmUKaWNoIERpciBSZWNodC4KCkljaCBob2ZmZSwgQWxhcmluIG1lbGRldCBzaWNoIHp1IGRlbSBUaGVtYSBtYWwuLi4KCiAgICAgICAgICBZYW50cm86KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmcmllZGhvZi9zY2htdWNraGFlbmRsZXIgKExhZywgIDMuIE5vdiAxOTk0LCAxMjowNzo1OCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gWWFudHJvLCBEb24sICAzLiBOb3YgMTk5NCwgMTE6MzM6MTkpClNvdmllbCBpY2ggd2Vpc3Mgd2VyZGVuIGRpZSBTY2htdWNrc3R1ZWNrZSBiYWxkIGNyYXNoZmVzdCBzZWluIC4uLgoKTGFnLi4uLi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoSGFyLCAgMy4gTm92IDE5OTQsIDEyOjEzOjAxKToKKEJlenVnOiBBcnRpa2VsIHZvbiBMYWcsIERvbiwgIDMuIE5vdiAxOTk0LCAxMjowNzo1OCkKSXN0IGF1Y2ggYmVzc2VyLCB3ZW5uIGRpZSBKdXdlbGVuIEF1dG9sb2FkIHNpbmQsIGVzIGhlaXNzdCBqYSBuaWNodCB1bXNvbnN0OgpFaW4gRGlhbWFudCBpc3QgdW52ZXJnYWVuZ2xpY2ggISAgPTotKQoKCUhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoWWFudHJvLCAgMy4gTm92IDE5OTQsIDEyOjI4OjE4KToKKEJlenVnOiBBcnRpa2VsIHZvbiBIYXIsIERvbiwgIDMuIE5vdiAxOTk0LCAxMjoxMzowMSkKV2VubiBkaWUgU2NobXVja3N0dWVja2UgYWxsZSBhdXRpbG9hZCB3ZXJkZW4sIGRhbm4gaXN0IGF1ZiBQYXNjYWwgZGllIFBsYXR0ZQppbiBlaW4gcGFhciBNb25hdGVuIHNvb29vIHZvbGwsIGRhc3MgQ2F0IHNlaW4gWHZpZXcgbmljaHQgbWVociBnZWJvb3RldCBrcmllZ3QKOykKCiAgICAgICAgWWFudHJvOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBSZTogZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChZYW50cm8sICAzLiBOb3YgMTk5NCwgMTI6Mjk6MTQpOgooQmV6dWc6IEFydGlrZWwgdm9uIFlhbnRybywgRG9uLCAgMy4gTm92IDE5OTQsIDEyOjI4OjE4KQpvZGVyIHdhciBlcyBYV0lORywgQ2F0Pz8/PyAgKmtpY2hlcioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoSGFyLCAgMy4gTm92IDE5OTQsIDEyOjQ0OjI4KToKKEJlenVnOiBBcnRpa2VsIHZvbiBZYW50cm8sIERvbiwgIDMuIE5vdiAxOTk0LCAxMjoyOToxNCkKTmEgZ3V0LCBkYW5uIGtlaW5lIEF1dG8tTG9hZC1EaWFtYW50ZW4gOikKRGllIHNpbmQgamEgaW4gV2lya2xpY2hrZWl0IGdhciBuaWNodCB1bnZlcmdhZW5nbGVpY2gsIGlzdCBqYSBudXIgZWluCkhhZXVmY2hlbiBLb2hsZW5zdG9mZiA6KSkpKSkpCgpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdlc2NoYWVmdHN0dWVjaHRpZz8/IChFYXJlbmRpbCwgIDMuIE5vdiAxOTk0LCAxNTo1Nzo0NSk6Clp1ciBlcmtsYWVydW5nOiBpY2ggYmluIGdlcmFkZSBiZWkgZGVyIFBvc3RxdWVzdCwgd28gZXMgc2ljaCBudW4gYmVnYWIsIGRhc3MKaWNoIGVpbmVuIEJyaWVmIGZ1ZXIgQ2hhcmxpZSBQaW5ndWluIGFienVsaWVmZXJuIGhhdHRlLgoKQ2hhcmxpZSBQaW5ndWluLgo+IGdpYiBicmllZiBhbiBjaGFybGllCkR1IGdpYnN0IENoYXJsaWUgZGVuIEJyaWVmLgpDaGFybGllIHNhZ3Q6IEZyYWcgbWFsIHp1ZXJzdCBNZWNraSBuYWNoIGRlbiBadXRhdGVuIGZ1ZXIgZWluIFNjaGxhZm1pdHRlbCwKQ2hhcmxpZSBzYWd0OiB2aWVsbGVpY2h0IGthbm4gZXIgRGlyIHNhZ2VuLCB3ZWxjaGUgUGlsemUgRHUgYnJhdWNoc3QuCgoKRXMgaXN0IG51ciBlaW4gd2VuaWcgc2VsdHNhbSwgZGFzIGNoYXJsaWUgZWluZW4gYnJpZWYgZGVyIHBvc3RxdWVzdCBmdWVyCmVpbmVuIHBpbHogaGFlbHQKdW5kIGRhcyBlciBzbyBnZXNjaGFlZnRzdHVlY2h0aWcgaXN0LCBtaWNoIGdsZWljaCBmdWVyIGRpZQpuYWVjaHN0ZSBxdWVzdCBhbnp1d2VyYmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBmcmllZGhvZi9zY2htdWNraGFlbmRsZXIgKENhcmFkaHJhcywgIDMuIE5vdiAxOTk0LCAxNjozNzoyOCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gSGFyLCBEb24sICAzLiBOb3YgMTk5NCwgMTI6MTM6MDEpCkVpbiBEaWFtYW50IGlzdCB1bnZlcmdhZW5nbGljaD8gU2NobWVpc3MgaWhtIG1hbCBpbiBlaW4gRmV1ZXIgcmVpbiA6KQpVbmQgZGFubiBmcmFnIGVpbmVuIENoZW1pa2VyLCB3YXJ1bSBLb2hsZW5zdG9mZiBicmVubnQuICpncmlucyoKV2lyZCBudXIgZWluIHRldXJlciBTcGFzcy4uLiBhYmVyIGljaCB3aWxsIGRhYmVpIHNlaW4sIGljaCB3b2xsdGUgc2Nob24KaW1tZXIgbWFsIERpYW1hbnRlbiB2ZXJicmVubmVuIHNlaGVuIQoKICB0c2Nob2UgICAgICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpYW1hbnQgKEdyaW1tYm9ybiwgIDMuIE5vdiAxOTk0LCAxNzoyMjoxMyk6CgpIZWohCkFsc28gdW0gbWFsIGVpbnMga2xhciB6dSBzdGVsbGVuOiBEZXIgU3BydWNoICJFaW4gRGlhbWFudCBpc3QgdW52ZXJnYWVuZ2xpY2giCmlzdCBuYXR1ZXJsaWNoIEJsb2Vkc2lubi4gV2VubiBkZXIgKHN0YXJrIHZlcm11dGV0ZSkgTmV1dHJvbmVuemVyZmFsbCBUYXRzYWNoZQppc3QsIGdpbHQgZGFzIHNvd2llc28gZnVlciBrZWluZW4gU3RvZmYuIEF1c3NlcmRlbSBpc3QgRGlhbWFudCBlbmVyZ2llcmVpY2hlcgphbHMgR3JhcGhpdCwgdW5kIHp3YXIgdW0gZXR3YSAyLDEga0ovbW9sLCB3ZW5uIGljaCBkYXMgcmljaHRpZyBpbSBLb3BmIGhhYmUKKG9kZXIgMiwxSi9tb2w/KS4gQnJlbm50IGFsc28gZWluIGJpc2NoZW4gaGVpc3NlciBhbHMgR3JhcGhpdCwgQ2FyYWRocmFzLgpEZXIga29ycmVrdGUgU3BydWNoIHd1ZXJkZSBsYXV0ZW46ICJFaW4gRGlhbWFudCBpc3QgdGhlcm1vZHluYW1pc2NoCm1ldGFzdGFiaWwiIG9kZXIgIkVpbiBEaWFtYW50IGlzdCBraW5ldGlzY2ggZ2VoZW1tdCIuClNhZ3Qgc2VsYnN0OiBLYW5uIG1hbiBkYW1pdCBXZXJidW5nIG1hY2hlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgaGV1dGUgbWFsIG1pdCB4d2luIGthZW1wZmVuZCAoQ2F0KiwgSElMRkUhISEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGlhbWFudCAoSGFyLCAgNC4gTm92IDE5OTQsIDA4OjA1OjMxKToKKEJlenVnOiBBcnRpa2VsIHZvbiBHcmltbWJvcm4sIERvbiwgIDMuIE5vdiAxOTk0LCAxNzoyMjoxMykKRGllcyBhdWNoIGdsZWljaCBhbHMgUmVwbHkgenUgQ2FyYWRocmFzIQpTY2hvZW4gZGFzcyBHcmltbWJvcm4gZ2VyYWRlenUgZXJic2VuemFlaGxlbmQgZGVuIFVudGVyc2NoaWVkIHp3aXNjaGVuCkRpYW1hbnQgdW5kIHNjaG5vZWRlbSBHcmFwaGl0IGVybGFldXRlcnQgaGF0IDopLCBkZXIgRW5lcmdpZXVudGVyc2NoaWVkCnNvbGx0ZSBzY2hvbiBiZWkga0ovbW9sIGxpZWdlbiAoaWNoIHNjaGF1IGRhcyBub2NoIG1hbCBuYWNoISkuIFVOZCBDYXJhZGhyYXM6CmljaCBicmF1Y2hlIGRhIGtlaW5lbiBDaGVtaWtlciB6dSBmcmFnZW4sIGljaCBiaW4gc2VsYmVyIGVpbmVyIQpIYXIgKEltIEhhbmRib29rIG9mIENoZW1pc3RyeSBhbmQgUGh5c2ljcyBlaW4gcGFhciBCaWxkdW5nc2VudGhhbHBpZW4Kc3VjaGVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBSZTogZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChIYXIsICA0LiBOb3YgMTk5NCwgMDg6MTI6MzUpOgooQmV6dWc6IEFydGlrZWwgdm9uIENhcmFkaHJhcywgRG9uLCAgMy4gTm92IDE5OTQsIDE2OjM3OjI4KQpOb2NoIG1hbCBkYXMgdGhlbWEgRGlhbWFudGVuIDopCkNWaWVsbGVpY2h0IGludGVyZXNzaWVydCBlcyBqZW1hbmRlbiwgZGFzcyBhLiBMYXZvaXNpZXIgKDE3NDMtOTQpIGRpZQpzb2dlbmFubnRlIFdhZXJtZXN0b2ZmdGhlb3JpZSB6dWd1bnN0ZW4gZWluZXIgU2F1ZXJzdG9mZnRoZW9yaWUgd2lkZXJsZWd0ZSwKaW5kZW0gZXIgbWl0IEhpbGZlIGVpbmVzIEhvaGxzcGllZ2VscyBlaW5lbiBvcmRlbnRsaWNoIGRpY2tlbiBEaWFtYW50ZW4KaW4gZWluZSB3ZWl0YXVzIHdlbmlnZXIgd2VydHZvbGxlIFNVYnN0YW56IHZlcndhbmRlbHRlLi4uLi4uLgoKSEFyIChrdXJ6IHZvcm0gRGlhbWFudGVua29sbGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogUmU6IFJlOiBmcmllZGhvZi9zY2htdWNraGFlbmRsZXIgKExpLCAgNC4gTm92IDE5OTQsIDA4OjEzOjQ4KToKKEJlenVnOiBBcnRpa2VsIHZvbiBDYXJhZGhyYXMsIERvbiwgIDMuIE5vdiAxOTk0LCAxNjozNzoyOCkKRGlhYW50ZW4gdmVyYnJlbm5lbj8gRGFzIGxvaG50IHNpY2ggZG9jaCBnYXIgbmljaHQuIFZlcmJyZW5udCBsaWViZXIgd2FzCmFuc3RhZW5pZ2VzOgoqaXJvbmllIGVpbioKTWVja2VybmRlIFNwaWVsZXIsIGVpdGxlIE1hZ2llciwgaWRsZSBNQWdpZXIsIHVuZCBhbGxlLCBkaWUgbWVpbmVubSBDaGVtaWtlcgp3YWVyZW4gYWxsZXNhbXQgYW5nZWhlbmRlIFB5cm9tYW5lbiEKCkxpIChhbmhlaGVuZGVyIENoZW1pa2VyKQpQLlMuIHNvcnJ5IGZvciBSZWNodHNjaHJlaWJmZWhsZXIsIERpYWFudGVuIHNvbGwgRGlhbWFudGVuIGhlaXNzZW4sIGRlbiBSZXN0CnZlcmJlc3NlciBpY2ggbmljaHQgKHp1IG11ZWRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogUmU6IFJlOiBSZTogZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChMaSwgIDQuIE5vdiAxOTk0LCAwODoxNjo1NSk6CihCZXp1ZzogQXJ0aWtlbCB2b24gTGksIEZyZSwgIDQuIE5vdiAxOTk0LCAwODoxMzo0OCkKQWNoIGphLCBub2NoIHdhcyB2ZXJnZXNzZW46Cippcm9uaWUgYXVzKiAodm9yIG1laW5lciBVbnRlcnNjaHJpZnQgZWluenVmdWVnZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGlhbWFudCAoQ2F0d2VhemxlLCAgNC4gTm92IDE5OTQsIDEwOjAyOjQ3KToKKEJlenVnOiBBcnRpa2VsIHZvbiBHcmltbWJvcm4sIERvbiwgIDMuIE5vdiAxOTk0LCAxNzoyMjoxMykKU2Nod2FldHplciA6LSkpKQogWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2NobXVja2hhZW5kbGVyIChLYXNzYW5kcmEsICA0LiBOb3YgMTk5NCwgMTQ6MDQ6NTYpOgpMZXV0ZSwKCm11ZXNzZW4gc29sY2hlIERpc2t1c3Npb25lbiBpbiBkZXIgUnVicmlrIGFsbGdlbWVpbmVzIHN0YXR0ZmluZGVuPwpHYW56IGFtIEFuZmFuZyBzdGFuZCBqYSB3b2hsIG5vY2ggZWluZSBlY2h0ZSBBbmZyYWdlLCBhYmVyIGRhcwpoYXQgc2ljaCBkb2NoIGV0d2FzIHZlcnNlbGJzdGFlbmRpZ3QuIFdlbm4gaWNoIG51ciBtZWluZSBaZWl0IHRvdC0Kc2NobGFnZW4gd2lsbCwgZGFubiBsZXNlIGljaCBkaWUgUnVicmlrZW4gU2NobWFycm4gb2RlciBXaXR6ZS4gSW0KTW9tZW50IHdpbGwgaWNoIGFiZXIgbnVyIHdpc3Nlbiwgb2IgaXJnZW5kd2FzIFdpY2h0aWdlcyBwYXNzaWVydCBpc3QuCgpLYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmllZGhvZi9zY2htdWNraGFlbmRsZXIgKEJvaW5nLCAgNC4gTm92IDE5OTQsIDE1OjQyOjI1KToKVGhvcmluLCBkYXMgbWl0IGRlbSBWYW1waXIgaGFzdCBEdSB3b2hsIGZhbHNjaCB2ZXJzdGFuZGVuLCBlcyBoYXQgbmljaHQKSkVERVIgc2VpbmVuIHBlcnNvZW5saWNoZW4gVmFtcGlyLCBhYmVyIExldXRlIGRpZSBkZW4gTmViZW5laW5nYW5nIGJlLQpudXR6ZW4gYmVoaW5kZXJuIGRpZSBMZXV0ZSBkaWUgZHVyY2ggZGVuIEhhdXB0ZWluZ2FuZyBrb21tZW4gbmljaHQgbWVoci4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnRwLXNlcnZlciwgVmVyemVpY2huaXMgL29wZW4gKEJvaW5nLCAgNC4gTm92IDE5OTQsIDE2OjIzOjE4KToKVW5zZXIgZnRwLXNlcnZlciBpc3QgTklDSFQgZGF6dSBkYSwgZGFzcyBqZWRlciBzZWluZW4gcHJpdmF0ZW4gU2Nocm90dApoaWVyIGFibGFlZHQuIEljaCBoYWJlIGViZW4gZGFzIFZlcnplaWNobmlzIC9vcGVuL2Z1ZXJnbnVsbGkgZ2Vsb2VzY2h0LAppY2ggaG9mZmUsIGljaCBtdXNzIHNvd2FzIG5pY2h0IG9lZnRlcnMgbWFjaGVuIQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoVGhvcmluLCAgNC4gTm92IDE5OTQsIDE5OjEwOjA0KToKKEJlenVnOiBBcnRpa2VsIHZvbiBCb2luZywgRnJlLCAgNC4gTm92IDE5OTQsIDE1OjQyOjI1KQpBbGxlcyBrbGFyIGRhbm4sIGRhbmtlIEJvaW5nLiBIYWIgaWNoIHdpcmtsaWNoIGZhbHNjaCB2ZXJzdGFuZGVuIGRhbm4uLi4gQWJlcgpkYXMgYW5kZXJlIHdhZXJlIGphIGF1Y2ggbmljaHQgc2NobGVjaHQgKHBlcnNvZW5saWNoZXIgdmFtcGlyKS4gRGFubiBzaW5kIGRhCmtlaW5lIFdhcnRlc2NobGFuZ2VuICpraWNoZXIqLgpUaG9yaW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiBSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoRnl0LCAgNS4gTm92IDE5OTQsIDEyOjA0OjMwKToKKEJlenVnOiBBcnRpa2VsIHZvbiBDYXJhZGhyYXMsIERvbiwgIDMuIE5vdiAxOTk0LCAxNjozNzoyOCkKCkdpYiBhYmVyIGFzdHJlaW5lcyBLb2hsZW5kaW92aWQsIHdlbm4gaWNoIGluIGRlciBTY2h1bGUgcmljaHRpZwphdWZnZXBhc3N0IGhhYmUgOikKCkZ5dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhdWJzYXVnZXIgKFJ5bmUsICA1LiBOb3YgMTk5NCwgMTU6MzA6NDcpOgpISSEKTmV1bGljaCBpbSBHb2JsaW5sYWdlcjogQmVpbSBIZXhlciA3IGdvYmxpbnMsIGRpZSBoYWxidmVyd2VzdGUgdW5kIGxlaWNodApyaWVjaGVuZGUgTGVpY2hlIHZvbiBCYXJhaywgZGF6dSBkYXMgWmV1Z3Mgdm9uIDIxICghISEpIHRvZXRlbiBHb2JsaW5zLi4uLgpOYWNoIEJhcmFrcyB2b2VsbGlnZXIgVmVyd2VzdW5nIGxhZ2VuIGluc2dlc2FtdCA4OSBpdGVtcyBpbSBSYXVtLi4uLiBVbmQgbmFjaApkZW0gVG9kIGRlcyBIZXhlcnMgdW5kIGRlciA3IEdvYmxpbnMgZW50c3ByZWNoZW5kIG5vY2htYWwKd2Fzd2Vpc3NpY2h3aWV2aWVsLi4uClZvcnNjaGxhZzoga29lbm50ZSBtYW4gbmljaHQgZWluZSBBcnQgU3RhdWJzYXVnZXIgcHJvZ2dlbiwgbWl0IGRlbSBzYWVtdGxpY2hlCml0ZW1zIGluIGVpbmVtIFJhdW0gZHVyY2ggZWluZW4gQmVmZWhsIGF1Zmdlc2F1Z3QgdW5kIGRhbWl0IHZlcm5pY2h0ZXQgd2VyZGVuCj8KU29uIGJpc2NoZW4gU2F1YmVya2VpdCBtdXNzIGF1Y2ggaW0gTXVkIHNlaW4gLSBzY2hvbiBkaWUgYmxvZWRlbiBCbGVjaGUgaW4KZGVyClNTUCBuZXJ2ZW4gd2llIG5peCwgdW5kIGluIEJhcmFrcyBmYWxsIHdhciBlcyBzbywgZGFzcyBlciBpbiBlaW5lbiBSYXVtCmtvbW10LCBpbiBkZW0gc292aWVsZSBpdGVtcyBsaWVnZW4sIGRhc3MgZGVyIEJpbGRzY2hpcm0gc29sYW5nZSBzY3JvbGx0ZSwgZGFzCmVyIGdhciBuaWNodCBnZXNlaGVuIGhhdCwgd2lldmllbCBkYSBydW1zdGFuZC4uLiAtIGVyZ2VibmlzIHMuby4gOigoCk5hamEsIHVuZCBkYSBqYSBzY2hlaW5iYXIgbmllbWFuZCBkZW4gYmVpIGRlciBHb2JsaW5iZXNlaXRpZ3VuZyBhbmZhbGxlbmRlbgpTY2hyb3R0IG1pdG5laG1lbiBtb2VjaHRlLCB3YWVyZSBzbyBlaW4gU3RhdWJzYXVnZXIgZG9jaCBlaW5lIE1hc3NuYWhtZSwgb2RlcgpuaWNodCA/CgpSWU5FCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhdWJzYXVnZXIgKENhcmFkaHJhcywgIDUuIE5vdiAxOTk0LCAxNjoyNDo1Mik6CihCZXp1ZzogQXJ0aWtlbCB2b24gUnluZSwgU2FtLCAgNS4gTm92IDE5OTQsIDE1OjMwOjQ3KQpFaW5lbiBTdGF1YnNhdWdlcj8gV2lyIHNpbmQgZG9jaCBpbiBlaW5lbSBGYW50YXN5bXVkIDotKQpBbHNvIGRhbm4gc2Nob24gbGllYmVyIHNvIGVpbmVuIGtsZWluZW4gRWxlZmFudGVuLCB3aWUgZXMgaWhuIGJlaSBkZXIKRmFtaWxpZSBGZXVlcnN0ZWluIGltbWVyIGdlZ2ViZW4gaGF0LCBrZW5udCBpaHIgZGVuPyBXYWVyIGRvY2ggbWFsCnJpY2h0aWcgc3Vlc3MsIG1pdCBlaW5lbSBLb21tYW5kbyAncHV0emUgaGllcicgb2RlciBzbyA6KQoKICAgICAgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0CiAtIGZ1ZWhydCBlaW5lbiBrbGVpbmVuIGJsYXVlbiBFbGVmYW50ZW4gYW4gZGVyIExlaW5lIHNwYXppZXJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhbW10aXNjaCAoU2NocnVtcGZpLCAgNi4gTm92IDE5OTQsIDIxOjA5OjIyKToKTWFsIG5lbiB2b3JzY2hsYWc6IFdpZSB3YWVyZSBlcyBtaXQgZWluZW0gU3RhbW10aXNjaCBpbiBPZXN0ZXJyZWljaCBmdWVyIGRpZQpNdWRkaWVzIGF1cyBkZW0gT2VzaWxhbmQ/CmF1ZiBSZWFrdGlvbmVuIGhvZmZlbmQKICAgICAgIFNjaHJ1bXBmaSBkaWUgYXVjaCBnZXJuIG5lbiBNdWQtU3RhbW10aXNjaCBoYWV0dGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlc2Nod2VyZGUgKEdhc3QyLCAgNy4gTm92IDE5OTQsIDExOjE5OjQ5KToKR3JycnJyLgpXZW5uIGlociBzY2hvbiBzbyBkZXIgTWVpbnVuZyBzZWlkLCBkaWVzZXMgTXVkCnZvciBOYW1lbiB3aWUgSHJkbGJybXBmdCBzY2h1ZXR6ZW4genUgbXVlc3NlbiwgZGFubgpzY2hyZWlidCBkYXMgaW4gWnVrdW5mdCB2b24gdm9ybmhlcmVpbiBoaW4gdW5kIGxhc3N0IGVpbmVuCm5pY2h0IGVyc3Qgc2ljaCBkZW4gTmFtZW4gYXVzc3VjaGVuIHVuZCBkYW5uCmtvbW10IGlociBtaXQgTG9lc2NodW5nIGFuLgpTdGlua3NhdWVyLApIcmRsYnJtcGZ0LiAgQXVmIE5pbW1lcndpZWRlcnNlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc2Nod2VyZGUgKEJvaW5nLCAgNy4gTm92IDE5OTQsIDEyOjA0OjUyKToKQWVoIG1vbWVudCwgd2VyIGhhdCBkZW5uIEhyZGxicm1wZnQgZ2Vsb2VzY2h0PyBJY2ggd2Vpc3MgbmljaHQsIHdhcyBnZWdlbgpkaWVzZW4gTmFtZW4gZWluenV3ZW5kZW4gaXN0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWxhbWF0IChSZXppLCAgNy4gTm92IDE5OTQsIDEyOjI2OjU0KToKU2VsYW1hdCBzaWFuZyBBcGEuIFNheWEgc3VkYWggYmFjYSBzdXRhdCBrYW11LiBUZXJpbWEga2FzaS4gQWRhIHNhdHUgYnVrdQp1bnR1ayBiZWxhamFyIGJhaGFzYSBJbmRvbmVzaWEsIGJlbGkgZGkgSW5kb25lc2lhIHRldGFwaSBtYXUgc2F0dSBsYWdpLiBIYXJ1cwpiZWxpIGthbXVzICJncm9lc3NlciIuIEFkYSBrYW11cyBrZWNpbCB5YW5nIGRpZGFrIGJhZ3VzLiBLYWxhdSBrYXdhbm11IGRpCkluZG9uZXNpYSBraXJpbSBzdXJhdCB1bnR1ayBkc2F5YSBhZGEgImltbWVyIiBiYW55YWsga2F0YSBrYXRhIHlhbmcgc2F5cyB0aWRhawp0aGF1LgoKCk1hYWYtaGFydXMgbWFrYW4gc2F5YSBsYXBhciBiYW55YWsuIFNhbXBhaSBuYW50aS4gU2VsYW1hdCB0aW5nZ2FsLlwKKFN1ZGhhIGthd2luPyBTYWphIGRpIE1VRCBhdGF1IGltIHdpcmtsaWNoZW4gTGViZW4uIFdpZSBoZWlyYXRlIG1hbgplaWdlbnRsaWNoIGltIE11ZD8gSGFyaSBpbmkgaGFydXMgYmVsaSBHYXJhbSBHdWRhbmcgeWFuZyBzdWthIGJhbnlhaykKcQpoCnEKcQpxCnEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoQXNtb2RpcywgIDcuIE5vdiAxOTk0LCAxNDowMzozNCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gSGFyLCBGcmUsICA0LiBOb3YgMTk5NCwgMDg6MTI6MzUpCkljaCBmaW5kZSBlcyBWZXJzY2h3ZW5kdW5nLCBEaWFtYW50ZW4genUgemVyc3RvZXJlbiwgZGllc2VyIExhdm9pc2llcgpoYXR0ZSB3b2hsIHp1dmllbCBkYXZvbiA6KQoKICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbGFtYXQgKEFzbW9kaXMsICA3LiBOb3YgMTk5NCwgMTQ6MTA6MDEpOgooQmV6dWc6IEFydGlrZWwgdm9uIFJlemksIE1vbiwgIDcuIE5vdiAxOTk0LCAxMjoyNjo1NCkKSG1tLCBpY2ggZGFjaHRlIGltbWVyLCBkYXMgaGllciB3YWVyZSBlaW4gZGV1dHNjaHNwcmFjaGlnZXMgTVVEIDopCgogICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGFtbXRpc2NoIChBcmFueWEsICA3LiBOb3YgMTk5NCwgMTU6MzM6NDUpOgooQmV6dWc6IEFydGlrZWwgdm9uIFNjaHJ1bXBmaSwgU29uLCAgNi4gTm92IDE5OTQsIDIxOjA5OjIyKQpVbmQgd28ga29tbWVuIGRhbm4gZGllIExldXRlIGF1cyBkZW4gWm9sbGF1c3NjaGx1c3NnZWJpZXRlbiAoS2xlaW53YWxzZXJ0YWwKdW5kc28pIGhpbj8KTml4IGZ1ZXIgdW5ndXQgOykKQXJhbnlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VsYW1hdCAoQ2F0d2VhemxlLCAgNy4gTm92IDE5OTQsIDE2OjQ1OjA0KToKKEJlenVnOiBBcnRpa2VsIHZvbiBSZXppLCBNb24sICA3LiBOb3YgMTk5NCwgMTI6MjY6NTQpCkhhZWg/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyaWVkaG9mL3NjaG11Y2toYWVuZGxlciAoRmxpbnRuYWlsLCAgNy4gTm92IDE5OTQsIDE4OjE2OjI1KToKKEJlenVnOiBBcnRpa2VsIHZvbiBCb2luZywgRnJlLCAgNC4gTm92IDE5OTQsIDE1OjQyOjI1KQouLi5oYXN0IGR1IGRhYmVpIGF1Y2ggYW4gZGVuIEFzdCBnZWRhY2h0Li4uZGVyIGlzIG5hZW1saWNoIHppZW1saWNoIG9mdAp3ZWcuLi46KQogICAgRmxpbnRuYWlsLCBhbnNwaXR6ZW5kIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZXNjaHdlcmRlIChLbGluZ2UsICA3LiBOb3YgMTk5NCwgMjE6MTk6NTApOgooQmV6dWc6IEFydGlrZWwgdm9uIEJvaW5nLCBNb24sICA3LiBOb3YgMTk5NCwgMTI6MDQ6NTIpCmdlbmF1LCB3byBlaW5lciBCb2luZyBvZGVyIFRvcmZkdWVuZyBoZWlzc2VuCmRhcmYgbXVzcyBtYW4gYXVjaCBIcmRsYnJtcGZ0IGhlaXNzZW4gZHVlcmZlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWxhbWF0IChLcmV0ZWssICA3LiBOb3YgMTk5NCwgMjM6NTQ6MjgpOgooQmV6dWc6IEFydGlrZWwgdm9uIEFzbW9kaXMsIE1vbiwgIDcuIE5vdiAxOTk0LCAxNDoxMDowMSkKLi4uIFdhcyBhYmVyIGRvY2ggc2ljaGVyIGtlaW4gR3J1bmQgaXN0LCBkYXNzIHNpY2ggbmljaHQgYXVjaCBTcGllbGVyIGF1cwphbmRlcmVuIExhZW5kZXJuIGJldGVpbGlnZW4ga29lbm5lbiwgb2Rlcj8KQWxsZXJkaW5ncyBtdXNzIGljaCBkaXIgUmVjaHQgZ2ViZW4sIGRhc3MgZWluIHNvbGNoZXIgQnJpZWYsIGRlbm4gZGFzIGlzdApkYXMgR2FuemUgbmFlbWxpY2gsIGVpbiBCcmllZiBhbiBBcGEsIG5pY2h0IGluIGRpZSBNUEEgZ2Vob2VydCwgc29uZGVybiBwZXIKTWFpbCBlcmxlZGlndCB3ZXJkZW4ga2Fubjsgd2FocnNjaGVpbmxpY2ggc3ByZWNoZW4gamEgbmljaHQgYWxsenUgdmllbGUKZGVyIE1VRGRpZXMgaGllciBJbmRvbmVzaXNjaCwgb2Rlcj8KCmMgdSBsOGVyLApLcmVrZWsgKG5pZSB1bSBlaW5lbiBzaW5ubG9zZW4gS29tbWVudGFyIHZlcmxlZ2VuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogZnJpZWRob2Yvc2NobXVja2hhZW5kbGVyIChCb2luZywgIDguIE5vdiAxOTk0LCAxMDozNTozNCk6CihCZXp1ZzogQXJ0aWtlbCB2b24gRmxpbnRuYWlsLCBNb24sICA3LiBOb3YgMTk5NCwgMTg6MTY6MjUpCkhhYiBpY2ggLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpbGJlcnRzIFphdWJlcnN0YWIgKEthc3NhbmRyYSwgIDguIE5vdiAxOTk0LCAxNDo0Nzo1NCk6CkhhbGxvIExldXRlLAoKd2llIEhpbGJlcnQgenUgT2hyZW4ga2FtLCBpc3QgZWluZXIgUmVpaGUgc2VpbmVyIHRyZXVlbiBIZWxmZXIgZGllCkJlbG9obnVuZyB2ZXJsb3JlbiBnZWdhbmdlbiwgZGllIGVyIGlobmVuIHp1a29tbWVuIGxpZXNzLiBFciB3aXJkCnNpY2ggdW0gRVJzdGF0dHVuZyBiZW11ZWhlbi4gQWxzbyBrZWluZSBQYW5pay4KCkthc3NhbmRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbm9jaG1hbCBIaWxiZXJ0IChLYXNzYW5kcmEsICA4LiBOb3YgMTk5NCwgMjA6Mzk6MDIpOgpIaWxiZXJ0IGhhdCB6aWVtbGljaCBnZXNjaHdpdHp0LCBhYmVyIGVyIGdsYXVidCwgZGFzIFByb2JsZW0gbWl0IGRlbiBaYXViZXItCnN0YWViZSBlcmxlZGlndCB6dSBoYWJlbi4gV2VubiBub2NoIGplbWFuZCBlaW5lbiB2ZXJtaXNzdCwgYml0dGUgYmVpCnNlaW5lbSBQcm9ncmFtbWllcnNrbGF2ZW4gbWVsZGVuLCBhbSBiZXN0ZW4gcGVyIE1haWwuIFVlYnJpZ2VucyBpc3QKZGFzIG1pdGdlbG9nZ3Qgd29yZGVuLCBzY2h1bW1lbG4gZnVua3Rpb25pZXJ0IGFsc28gbmljaHQuCgpLYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IEJlc2Nod2VyZGUgKFJhaXN0bGluLCAgOS4gTm92IDE5OTQsIDEwOjU0OjE2KToKKEJlenVnOiBBcnRpa2VsIHZvbiBLbGluZ2UsIE1vbiwgIDcuIE5vdiAxOTk0LCAyMToxOTo1MCkKR3J1bmRzYWV0emxpY2ggaXN0IGRvY2ggbmljaHRzIGdlZ2VuIGRlcmFydGlnZSBOYW1lbiB6dSBzYWdlbi4KTnVyIHN0ZWxsdCBzaWNoIG1pciBkaWUgRnJhZ2UsIHdpZXZpZWxlIExldXRlIHNpY2ggbWl0IHNvIFBsYXllcm4KdW50ZXJoYWx0ZW4sCmFsc28gbWljaCBuZXJ2dHMgd2VubiBpY2ggbmUgdmllciBaZWlsZW4gbGFuZ2UgbWVzc2FnZSB0aXBwZSB1bmQgZGllIG5pY2h0CmFua29tbXQgd2Vubm4gaWNoIG1pY2ggYmVpbSBOYW1lbiB2ZXJ0aXBwZS4KQWJlciBzb25zdDogd2VyIHNvIGhlaXNzZW4gd2lsbCBzbyBtZWluZXRoYWxiZW4gc28gaGVpc3NlbiA6KSkKCi0tUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogUmU6IEJlc2Nod2VyZGUgKERyaXp6dCwgIDkuIE5vdiAxOTk0LCAxMjoxMDoyMSk6CihCZXp1ZzogQXJ0aWtlbCB2b24gUmFpc3RsaW4sIE1pdCwgIDkuIE5vdiAxOTk0LCAxMDo1NDoxNikKTWVpbmUgTWVpbnVuZyB6dSBkZXIgJ25lcnZpZ2VuIEVpbnRpcHBlcmVpJyBpc3QgZ2FueiBlaW5mYWNoOgp3b2Z1ZXIga2FubiBtYW4gZGVubiBhbGlhc2UgZGVmaW5pZXJlbiA/CgpEcml6enQgICAoc2VsdGVuIEFydGlrZWwgc2NocmVpYmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBCZXNjaHdlcmRlIChDYXJhZGhyYXMsICA5LiBOb3YgMTk5NCwgMTI6MTc6MDkpOgooQmV6dWc6IEFydGlrZWwgdm9uIFJhaXN0bGluLCBNaXQsICA5LiBOb3YgMTk5NCwgMTA6NTQ6MTYpCiAgICAgICAgICAgICAgICAgICAgICAgIEh1aHUKCkdydW5kc2FldHpsaWNoIG11c3MgaWNoIGRhIGF1Y2ggbWFsIHdhcyBkYXp1IHNhZ2VuLiBJY2ggaGFiIG1pciBlaW5lbgpuaWNodCBnYW56IHNvIGxlaWNodGVuICgqZ3JpbnMqKSBOYW1lbiBkYW1hbHMgZ2V3YWVobHQsIGRhbWl0IGljaCBhdWNoCndpcmtsaWNoIHdlaXNzLCB3ZXIgd2lya2xpY2ggd2FzIHZvbiBtaXIgd2lsbCwgc29uc3Qgd2lyIG1hbiB2b24gYWxsZW4KZ2xlaWNoIGFuZ2VsYWJlcnQgdW5kIHVtIEhpbGZlIGdlYmV0ZW4gOikgQWxzIEdvdHQgd2lsbCBpY2ggd2lya2xpY2gKbmljaHQgSm9mIGhlaXNzZW4sIGRlbiBOYW1lbiB0aXBwdCBtYW4gdmllbCB6dSBzY2huZWxsICpncmlucyoKRGFzIGhlaXNzdCBhYmVyIGpldHp0IG5pY2h0LCBkYXNzIGljaCBuaWNodCBoZWxmZSBvZGVyIG5pY2h0IGhlbGZlbiB3aWxsLAphYmVyIHdlbm4sIGRhbm4gc29sbGVuIHNpY2ggZGllIGxldXRlIGF1Y2ggc2Nob24gZXR3YXMgYmVtdWVoZW4gOikgZ2VuYXUKd2llIGljaCBkYXMgdHVlIHdlbm4gaWNoIGhpbGZlIHdpbGwvYnJhdWNoZS4gKnp3aW5rZXIqCgpBYmVyIGRhcyB3YXJlbiBuaWNodCBkaWUgZWluemlnZW4gR3J1ZW5kZSBmdWVyIG1laW5lbiBOYW1lbiA6KSkKCiAgIHRzY2hvZSAgICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6IFJlOiBSZTogQmVzY2h3ZXJkZSAoUmFpc3RsaW4sICA5LiBOb3YgMTk5NCwgMTI6MjM6MTQpOgooQmV6dWc6IEFydGlrZWwgdm9uIERyaXp6dCwgTWl0LCAgOS4gTm92IDE5OTQsIDEyOjEwOjIxKQpUamEgYWxpYXNlIHNpbmQgZ2FueiBuZXR0LCBhYmVyIGZ1ZXIgamVkZW4gTmFtZW4/Pz8/Pz8KLS1SCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiBSZTogUmU6IEJlc2Nod2VyZGUgKEJvaW5nLCAgOS4gTm92IDE5OTQsIDEyOjIzOjI3KToKKEJlenVnOiBBcnRpa2VsIHZvbiBDYXJhZGhyYXMsIE1pdCwgIDkuIE5vdiAxOTk0LCAxMjoxNzowOSkKV2FzIGlzdCBkZW5uIGFuICdlcnphZWhsIGNhcmEgYmxhYmxhYmxhIC4uLicgc28gc2Nod2llcmlnIHp1IHRpcHBlbj8KV296dSBoYWJlbiB3aXIgZGllIE1vZWdsaWNoa2VpdCBOYW1lbiBhYnp1a3Vlcnplbj8gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgSGlsYmVydCAoU2NobG9ueiwgIDkuIE5vdiAxOTk0LCAxNjowMjo1NSk6CihCZXp1ZzogQXJ0aWtlbCB2b24gS2Fzc2FuZHJhLCBEaWUsICA4LiBOb3YgMTk5NCwgMjA6Mzk6MDIpCgpBbHNvIGljaCB2ZXJtaXNzZSBkZW4gWmF1YmVyc3RhYiB2b24gSGlsYmVydCBzY2hvbiBzZWVlZWhyIGxhbmdlLCB1bmQgaWNoCmhhYmUgaWhuIGJpcyBoZXV0ZSBub2NoIG5pY2h0IHdpZWRlciBiZWtvbW1lbi4gV2VubiBzY2hvbiBhbGxlIGlocmVuIHdpZWRlcgp6dXJ1ZWNrIGhhYmVuIGtvZW5uZW4gd2lsbCBpY2ggbWVpbmVuIGF1Y2ggd2llZGVyLCBiaXR0ZS4KClNjaGxvbnogKG11c3MgaW1tZXIgaW0gRG5rZWxuIHF1ZXN0ZW4gOiggICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaG1hbCBIaWxiZXJ0IChGeXQsICA5LiBOb3YgMTk5NCwgMTk6MDE6NDUpOgooQmV6dWc6IEFydGlrZWwgdm9uIFNjaGxvbnosIE1pdCwgIDkuIE5vdiAxOTk0LCAxNjowMjo1NSkKaWNoIGthbm4gbWljaCBpcmdlbmR3aWUgZHVua2VsIGVyaW5uZXJuLCBzY2hvbiBtYWwgZWluZW4KWmF1YmVyc3RhYiBiZXNlc3NlbiB6dSBoYWJlbi4uLgoKT2RlciB3YXIgZGFzIGluIGVpbmVtIGFuZGVyZW4gTGViZW4/CgpFaW4gc2ljaCB3dW5kZXJuZGVyIEZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClphdWJlcnN0YWIgKFllbmRpLCAgOS4gTm92IDE5OTQsIDIwOjMzOjQ3KToKClRqYSwgTUVJTkVOIFphdWJlcnN0YWIgaGFiZSBpY2ggbWlyIHNjaG9uIDNtYWwgZ2Vob2x0Li4uIERhbm4gd3VyZGUgZXMgbWlyCnp1IGJsb2VkLCBpbW1lciB3aWVkZXIgaW4gZGllc2VtIEF1Znp1ZyB6dSBzdGVoZW4sIHVuZCBqZXR6dCBtYWNoZSBpY2gKbWVpbmUgUXVlc3RzIGltIER1bmtlbG4gb2RlciBtaXQgJCUmKiMhISBGYWNrZWxuLi4uIDooCgogICAgICAgICAgICAgICAgICAgICAgIFllbmRpCiAgICAgICAgICAgIChoYWV0dGUgZ2VybiBlaW5lbiBhdXRvbG9hZC1aYXViZXJzdGFiLi4uKQogICAgICAgICAgICAgKGphamEsIGljaCB3ZWlzcyAtIGF1dG9sb2FkLVF1ZXN0YmVsb2hudW5nZW4gc2luZCBMdXh1cy4uLikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiBub2NobWFsIEhpbGJlcnQgKElzbm9nb29kLCAxMC4gTm92IDE5OTQsIDA0OjEwOjA5KToKKEJlenVnOiBBcnRpa2VsIHZvbiBGeXQsIE1pdCwgIDkuIE5vdiAxOTk0LCAxOTowMTo0NSkKaWNoIGViZW5mYWxscwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmF1YmVyc3RhYiAoS2Fzc2FuZHJhLCAxMC4gTm92IDE5OTQsIDEwOjQ3OjE1KToKMS4gRGVyIFphdWJlcnN0YWIgaXN0IGF1dG9sb2FkLCB3YXIgZXIgc2Nob24gaW1tZXIuIFdlbm4gbWFuIHN0aXJidCwgZGFubgogIHZlcmxpZXJ0IG1hbiBpaG4uCjIuIEVzIGdpYnQgZnVlciBTZWhlciBlaW5lbiB6dSBrYXVmZW4uCgpLYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaYXViZXJzdGFiIChCb2luZywgMTAuIE5vdiAxOTk0LCAxMzo0MjoyMCk6CkVpbmUgQml0dGUgYW4gZGllIExldXRlLCBkaWUgaWhyZW4gU3RhYiB2ZXJsb3JlbiBoYWJlbjoKU2NocmVpYnQgZGlyZWt0IGFuIEthc3NhbmRyYSAocGVyIG1haWwpIHVuZCBtdWVsbHQgaGllciBuaWNodCBkaWUKUnVicmlrIG1pdCAnaWNoIHdpbGwgYXVjaCBlaW5lbictTmFjaHJpY2h0ZW4gdm9sbCEKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgYXVzIGRlbSBEc2NodW5nZWwuIChBbmd1cywgMTAuIE5vdiAxOTk0LCAxNzo0NDowNSk6CkRpY2h0ZXIgTmViZWwgemllaHQgYXVmLi4uLi4uCkR1IGJld2Vnc3QgRGljaCBkdXJjaCBlaW5lIFdlbHQgdm9sbCBzYXR0Z3J1ZW5lciBGYXJiZW4gdW4gZXhvdGlzY2hlcgpQZmxhbnplbi4gVm9yc2ljaHRpZyBsaW5zdCBEdSBoaW50ZXIgamVkZW4gQmF1bSwgZGVubiBoaW50ZXIgamVkZW0ga29lbm50ZQpzaWNoIGRhcyBnZWZyYWVzc2lnZSBNYXVsIGVpbmVzIEh1bmdyaWdlbiBUaWdlcnMsIG9kZXIgZGllIG1lc3NlcnNjaHJmZW4KS3JhbGxlbiBlaW5lcyBQYW50aGVycyB2ZXJiZXJnZW4uLi4gRHUgYmlzdCBhdWYgZGVyIFN1Y2hlLi4uIEF1ZiBkZXIgU3VjaGUKbmFjaCBSZWljaHR1bSwgUnVobSB1bmQgQWJlbnRldWVyLi4uLi4uCk5hYWE/IFdvbGxlbiBTaWUgRGFzIGF1Y2ggbWFsIGVybGViZW4/IC0gS2VpbiBQcm9ibGVtISAtCktvbW1lbiBTaWUgaW4gZGVuICgqVHJvbW1lbHdpcmJlbCopLi4uLgogICAgICAgIEQgUyBDIEggVSBOIEcgRSBMICEhISAgKCogVFVTQ0ggKikKClNvZWJlbiBlcnJlaWNodGUgdW5kIGRpZSBCb3RzY2hhZnQgZGVzIGxldHp0ZW4gVWViZXJsZWJlbmRlbiBlaW5lcgpFeHBlZGl0aW9uc2dydXBwZSwgd2VsY2hlIHZvciB1bmdlZmFlaHIgZWluZW0gSmFociBhdWZicmFjaCwgdW0gaW0KRHNjaHVuZ2VsIG5hY2ggUmVpY2h0dW0sIFJ1aG0gdW5kIEFiZW50ZXVlciB6dSBzdWNoZW4uLi4uCkZvbGdlbiBhdWNoIFNpZSBkZXIgZHVlbm5lbiBGYWVocnRlLi4uLiBGaW5kZW4gU2llIGRlbiBzYWdlbnVtd29iZW5lbgoiQmxhdWVuIFRlbXBlbCIgdW5kIHJldHRlbiBTaWUgZGllIFdlbHQhCgpLb21tZW4gU2llIGluIGRlbiBEc2NodW5nZWwsIHdhZ2VuIFNpZSBlcyEKCkljaCB6YWVobCBhdWYgU2llISEgOy1QCgotQW5ndXMgLSBTbGF5ZXIgSW5jLiZDby4KClBTLjogSmEsIGRhcyBpc3QgZGllIEFua3VlbmRpZ3VuZyBmdWVyIGVpbmUgUXVlc3QsIHVuZCBzaWUgaXN0IEpFVFpUCiAgICAgbG9lc2JhciEgOikpClBQUy46IEZ1ZXIgZ2VzdW5kaGVpdGxpY2hlIFNjaGFlZGVuIHdpcmQga2VpbmUgSGFmdHVuZyB1ZWJlcm5vbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxlaWQgYXJ0aWtlbCAoR2FzdDIsIDEwLiBOb3YgMTk5NCwgMjA6MDc6MjApOgpFdWVyIG11ZCBpcyBuaWNoIHNjaGxlY2h0ICwgd2VubiBhdWNoIGRpZSBLb21tdW5pa2F0aW9uIGZ1ZXIgQW5mYWVuZ2VyIGV0d2FzCnNjaHdpZXJpZyBpc3QgISEKV2lyIHNlaG4gdW5zIHNpY2hlciBiYWxkIHdpZWRlcgogICAgICBTRVJWVVNTU1NTCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbXp1ZyAuLi4gKEpvZiwgMTEuIE5vdiAxOTk0LCAxNjo1Mzo1Nyk6CiBBbSBNb250YWcsIDE0LiBOb3ZlbWJlciAxOTk0LCB3aXJkIE1vcmdlbkdyYXVlbiB2ZXJtdXRsaWNoCih2b3J1ZWJlcmdlaGVuZD8pCmF1ZiBlaW5lbiBhbmRlcmVuIFJlY2huZXIgdW16aWVoZW4uIERhIHdvaGwgbmljaHQgYWxsZSBOYW1lc2VydmVyIHNvZm9ydCBkaWUKbWVya2VuIHdlcmRlbiwgZGFzIG11ZC51bmktbXVlbnN0ZXIuZGUgamV0enQgZWluIEFORFJFUiBSZWNobmVyIGlzdCwgZ2ViZSBpY2gKZGllIG5ldWUgQWRyZXNzZSBlcnN0bWFsIGhpZXIgYmVrYW5udDoKCiBzYW50YW5hLnVuaS1tdWVuc3Rlci5kZSA0NzExCiAxMjguMTc2LjE3NS4xMyAgICAgICAgICA0NzExCgogS2VpbmUgU29yZ2UsIGRpZSBuZXVlIE1hc2NoaW5lIGlzdCBkZWZpbml0aXYgTklDSFQgbGFuZ3NhbWVyIGFscyBQYXNjYWwgOikpCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXVlIFF1ZXN0IChSb21pbGksIDE0LiBOb3YgMTk5NCwgMTY6MTg6NDQpOgpTY2hsaW1tZSBLdW5kZSByZWlzdCB1ZWJlciBkYXMgTGFuZC4KCkVpbnN0IHd1cmRlIGRhcyBtYWVjaHRpZ2UgWmF1YmVyc2Nod2VydCBTaWViZW5zdHJlaWNoIHZvbiBkZW4KbWFlY2h0aWdzdGVuIE1hZ2llcm4gZGVzIExhbmRlcyBlaW5nZXNjaG1vbHplbiwgenUgc2llYmVuIGdvbGRlbmVuCktlbGNoZW4gdmVyYXJiZWl0ZXQgdW5kIGltIGdhbnplbiBMYW5kIHZlcnN0ZWNrdCwgZGFtaXQgZXMgbmljaHQKaW4gZGllIEhhZW5kZSBkZXIgZHVua2xlbiBNYWVjaHRlIGdlbGFuZ3QuCgpJbSBMYXVmZSBkZXIgWmVpdCBoYWJlbiBkaWUgZHVua2xlbiBNYWVjaHRlIGVpbmVuIEtlbGNoIG5hY2ggZGVtCmFuZGVyZW4gZ2VzdG9obGVuLiBWb3Igd2VuaWdlbiBNb25kZW4gd3VyZGUgZW50ZGVja3QsIGRhc3MgZGVyCnNlY2hzdGUgS2VsY2ggYXVzIHNlaW5lbSBWZXJzdGVjayB2ZXJzY2h3dW5kZW4gaXN0LgpEZXIgc2llYnRlIEtlbGNoIGlzdCBzaWNoZXIgaW4gZGVuIEhhZW5kZW4gZGVzIGFsdGVuIE1hZ2llcnMgUmFrb3JpdW0sCmRlciBudW4gbmFjaCB0YXBmZXJlbiBIZWxkZW4gQXVzc2NoYXUgaGFlbHQsIGRpZSBiZXJlaXQgc2luZCBkaWUKZ2VmYWVocmxpY2hlIFN1Y2hlIG5hY2ggZGVuIGdlc3RvaGxlbmVuIEtlbGNoZW4gYXVmIHNpY2ggenUgbmVobWVuLgoKTGVpZGVyIGhhdCBlciBiaXNoZXIgbm9jaCBrZWluZW4gQWJlbnRldXJlciBnZWZ1bmRlbiwgZGVyIGRpZXNlcwpncm9zc2UgV2FnbmlzIGF1ZiBzaWNoIG5laG1lbiB3b2xsdGUuIE1hbiBlcnphZWhsdCBzaWNoLCBlcgplcnNhZXVmZSBzZWluZW4gS3VtbWVyIGluIGRlciBTY2hhZW5rZSAnWnVtIHdlaW5lbmRlbiBEcmFjaGVuJy4KCk11dGlnZSBIZWxkZW4gc2luZCBhdWZnZWZvcmRlcnQsIGRlbiBhbHRlbiBNYWdpZXIgYXVmenVzdWNoZW4sIHVtCmlobSB6dSBoZWxmZW4uCgpWaWVsIFNwYXNzIGJlaSBlaW5lciBuZXVlbiBRdWVzdAp3dWVuc2NodCBFdWNoIGVpbmUgZ2x1ZWNrbGljaCBzY2hudXJyZW5kZQoKUm9taWxpIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ29tcGlsZXIgZ2VzdWNodCAoS2xpbmdlLCAxNS4gTm92IDE5OTQsIDAzOjM3OjI1KToKSWNoIG1vZWNodGUgZGllIGdlbGVnZW5oZWl0IHdhaHJuZWhtZW4sIGhpZXIgYW4gZGllc2VyIGV4cG9uaWVydGVuIFN0ZWxsZQplaW5lIFN1Y2hhbnplaWdlIGF1Znp1Z2ViZW4uCkhhdCB3YXMgbWl0IE1VRCBhYmVyIG5pY2h0IHVuYmVkaW5ndCBtaXQgTUcgenUgdHVuLgoKSWNoIHN1Y2hlIGVpbmVuIEdOVS1DLUNvbXBpbGVyIHVtIG1hbCB2ZXJzdWNoc3dlaXNlIGVpbmVuIEdhbWVkcml2ZXIgZnVlciBET1MKenUgY29tcGlsaWVyZW4KV2VubiBhbHNvIGplbWFuZCBlaW5lbiBoYXQgb2RlciB3ZWlzcyBhdWYgd2VsY2hlbSBGdHAtU2VydmVyIGVpbmVyIGxpZWd0LAp3YWVyZSBlcyBuZXR0IHdlbm4gZXIvc2llIG1pciBkYXMgbWFpbGVuIGtvZW5udGUuCmVudHdlZGVyIGhpZXIgYW4gS0xJTkdFIG9kZXIgYW4gYnVzbWFubkB1bmktbXVlbnN0ZXIuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyYWdlIDogKFNjaGxvbnosIDE1LiBOb3YgMTk5NCwgMTM6NTk6MjgpOgoKV2FubiB3aXJkIGRlciBXZWlua2VsbGVyIGJlaW0gRWxmZW5kb3JmIGVyb2VmZm5ldCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoYWV1c2VyIChCb25nbywgMTUuIE5vdiAxOTk0LCAxOTowMTo1OCk6CmFsc28gaWNoIGZpbmRlIGRpZSBoYWV1c2VyIHZvbiBhdXNzZW4gYXVjaCBuaWNodCBnZXJhZGUgc2Nob2VuLiBpY2ggbGF1ZmUKYWxsZXJkaW5ncyBhdWNoIG5pY2h0IGR1cmNoIGRpZSBnZWdlbmQsIHVtIG1pciBhbGxlcyBhbnp1c2VoZW4uIGFiZXIgdHJvdHpkZW0KaGFldHRlIGljaCBtaWNodCBuaWNodCBnbGVpY2ggdWViZXIgc293YXMgYmVzY2h3ZXJ0LiB3aWUgd2FlcmUgZXMgZGVubiBtaXQKaWRlZW4sIGRhc3MgbWFuIHNpZSB2b24gYXVzc2VuIHNjaG9lbmVyIG1hY2hlbiBrb2VubnRlLiB2aWVsbGVpY2h0IGtvZW5udGUKbWFuIGRpZSBiZXNpdHplciBqYSBlbnRzY2hlaWRlbiBsYXNzZW4sIHdhcyBlcyBzZWluIHNvbGwuIGVpbiBiYXVtLCBlaW4gbG9jaAppbQpib2RlbiBvZGVyIHNvbnN0IGlyZ2VuZHdhcyBlaW5mYWxsc3JlaWNoZXMuIHByb2dyYW1taWVydGVjaG5pc2NoIGlzdCBkYXMKYmVzdGltbXQgbmljaHQgdW5tb2VnbGljaCB1bmQgaWNoIGthbm4gbWl0IHZvcnN0ZWxsZW4sIGRhc3MgZGllIHNlaGVyCnZpZWxsZWljaHQgYXVjaCBsaWViZXIgZWluIGJhdW1oYXVzIG9kZXIgZWluZW4ga2FuaW5jaGVuYmF1IGhhZXR0ZW4uIG9kZXIgd2FzCmF1Y2ggaW1tZXIuCgplaW5pZ2UgaWRlZW4gdm9uIGJvbmdvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGFldXNlciAoS2FxaW4sIDE1LiBOb3YgMTk5NCwgMjA6Mzc6MDEpOgpKYSEKRGFzIG1laW4gaWNoIGphIGF1Y2ghCkljaCBiaW4gZnVlciBlaW5lIGJlc3NlcmUgRWluYmV0dHVuZyBkZXIgSGFldXNlciBpbnMgU3BpZWwsCmRlc3dlZ2VuaGFldHRlIGljaCBlcyBnZXJuLHdlbm4KCmEpIGRpZSBIYWV1c2VyIG5pY2h0IG51ciBlaW5mYWNoIGluIGRlciBHZWdlbmQgIHJ1bXN0ZWhlbiwKICAgICAgIHVuZApiKWJlc3NlciBnZXRhbnQgc2luZCx3aWUgZHUgZXMgdm9yc2NobGFlZ3N0CgpEZXNoYWxiIG5haG0gaWNoIENhdHMgSGF1cyBhbHMgQmVpc3BpZWwuCgpJY2ggZmluZGUsc293b2hsIHdhcyBkYXMgZWlucGFzc2VuIGluIGRpZSBVbWdlYnVuZyBhbmdlaHQsYWxzIGF1Y2ggc2VpbmVuCkF1ZmJhdSBpbnMgU3BpZWxnZXNjaGVoZW4gZ2VsdW5nZW4uCihOZWluLGJpbiBrZWluIFgtdGllIHZvbiBDYXQhKQoKICAgICAgIGV1ZXIKICAgICAgICAgICBLYXFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXJoYWV1c2VyIChHcmltbWJvcm4sIDE2LiBOb3YgMTk5NCwgMDE6MDk6MDkpOgoKQWxzbywgZGFzIGdhbnplIFByb2JsZW0gd2FlcmUgZ2Vsb2VzdCwgd2VubiBkaWUgSGFldXNlciBpbiBkaWUKUmF1bWJlc2NocmVpYnVuZyBpbnRlZ3JpZXJ0IHdhZXJlbiB1bmQgbmljaHQgZWluZmFjaCBzbyBydW1zdGFlbmRlbiwgamE/CkRhbm4gd3VlcmRlIG1hbiBzaWUgaW0ga3Vyem1vZHVzIG5pY2h0IHNlaGVuIHVuZCBzaWUgd2FlcmVuIG9yZ2FuaXNjaGVyIGluCmRlbiBHZXNhbXRlaW5ibGljayBlaW5nZWJ1bmRlbi4gU29sbHRlIHNvIHNjaHdlciBuaWNodCBzZWluIHVuZCB3dWVyZGUgU2VoZXIKZGF6dSBicmluZ2VuLCBhdWNoIG1hbCBpbSBsYW5nbW9kdXMgZHVyY2ggZGllIEdlZ2VuZCB6dSBsYXVmZW4gdW0gZGllIEhhZXVzZXIKZGVyIEtvbGxlZ2VuIHp1IGJlZ3V0YWNodGVuLgpFaW4gQWVuZGVybiBkZXIgSGFldXNlciBpbiBFcmRsb2VjaGVyIG9kZXIgRG9ubmVyYmFsa2VuIHd1ZXJkZSBkYW5uIGdsZWljaCBpbgplaW5lbSBBdWZ3YXNjaCBtYWNoYmFyIHNlaW4uLi4KCk1pdCBlaW4gcGFhciBuYWVjaHRsaWNoZW4gR2VkYW5rZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFkZW4gKEJhbWJ1bGtvLCAxNi4gTm92IDE5OTQsIDAzOjA1OjU2KToKSGkuLgpJc3QgZXMgbmljaHQgZXR3YXMgc2VsdHNhbSwgZGFzcyBpY2ggd2VubiBpY2ggaW0gTGFkZW4gZXR3YXMgdmVya2F1ZmUgZGllClNhY2hlbiBkaWUgYXVmIGRlbSBCb2RlbiBsaWVnZW4gdmVya2F1ZmUgdW5kIG5pY2h0IGRpZSBTYWNoZW4gZGllIGljaCBiZWkgbWlyCnRyYWdlPz8/CkRhcyBrYW5uIHp1IGJvZXNlbiBWZXJ3ZWNoc2x1bmdlbiBmdWVocmVuLi4uei5CLiB3ZW5uIGplbW5kIHNlaW5lIHNhY2hlbgp3ZWd3aXJmdCB1bSB1bXp1b3JkbmVuIHVuZCBkdSBkYW4gc3RhdHQgZGVpbmVzICBLcnVtbXNjaHdlcnRlcyBzZWluIEJTLVNjaHdlcnQKdmVya2F1ZnN0Li4uLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGF0ZSAoWnVlcmlsZXUsIDE2LiBOb3YgMTk5NCwgMDM6NDA6NDcpOgpzYWxpLApkdSB3YW5uIGtvbW10IG51biBkaWUgdmVyc3Byb2NobmUgYmVncmVuenVuZyBudW4gaGF0IGVzIHNjaG9uIHdpZWRlciBlaW4KbmV1ZXMgcXVlc3QgdW5kIGRpZSBncmVuemUgbGllZ3Qga25hcHAgdW50ZXIgMTUwMCBzbyB3ZXJkZSBpY2ggZWluZmFjaCBuaWVlCnNlaGVyIGljaCBiaW4gbmljaHQgc28gZ3V0IHVtIHNvdmllbGUgcXVlc3QgenUgbG9lc2VuClVuZCBpY2ggZ2xhdWIgc29ycnkgYWJlciB3ZW5uIGRhcyBzbyB3ZWl0ZXJnZWh0IGthbm4gbWlyIHdvaGwga2VpbmVyCnZlcnVlYmVsbiBkYXMgaWNoIHNlaW4gcXVlc3QgbWl0IGxvZXN1bmcgc3BpZWxlIGRlbiB3b3J0IHdvZXJ0bGljaCBlcyBzY2hlaXNzdAptaWNoIGFuID06KAoKdHNjaHVlc3MgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBoYXRlIChJc25vZ29vZCwgMTYuIE5vdiAxOTk0LCAxMzoyNDowNSk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTc4NDk1MzY0Nwpzb3JyeSB6dWVyaWxldSwgZGVtIGthbm4gaWNoIG5pY2h0IGZvbGdlbiwgZHVlciBtaWNoIGlzdCBkZXIgc2lubiBkZXMgbXVkcwplaWdlbnRsaWNoIGJlaW0gcXVlc3RlbiBzcGFzcyB6dSBoYWJlbiB1bmQgbWVpbmUgZ3JhdWVuIHplbGxlbiBhbnp1c3RyZW5nZW4KdW5kIG5pY2h0IHVtIGplZGVuIHByZWlzIHNlaGVyIHp1IHdlcmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIk1hZW5uZXJmZWluZGxpY2hrZWl0IiAoU2NocnVtcGZpLCAxOC4gTm92IDE5OTQsIDAyOjE5OjU1KToKT2sgY2FyYWRocmFzLCBpY2ggZ2ViZSB6dSBlcyB3YXIgdmllbGxlaWNodCBuaWNodCBzbyBnYW56IHJpY2h0aWcsIGljaCBiaW4KYXVjaCBuaWNodCBnZWdlbiBhbGxlIE1hZW5uZXIsIHdhcyBkdSBlaWdlbnRsaWNoIHdpc3NlbiBtdWVzc3Rlc3QhClVtIGVpZSBFcmtsYWVydW5nIGFienVnZWJlbiBtb2VjaHRlIGljaCB2aWVsbGVpY2h0IHNhZ2VuLCBkYXNzIG1pciBlaW5mYWNoCmRpZSBGcmF1ZW5mZWluZGxpY2hlbiBXaXR6ZSBhbGxtYWVobGljaCB6aWVtbGljaCBhdWYgZGVuIGtla3MgZ2VoZW4sIGljaCBwbGFnCm1pY2ggaW4gUkwgZ2VudWcgZGFtaXQgaGFiLCBkYSBoYWIgaWNoIGhpZXIgd2lya2xpY2gga2VpbmUgTHVzdCBtaWNoIG1pdApzb2xjaGVuIERpbmdlbiBhYnp1YWVyZ2VybiB1bmQgbGFzcyBtaWNoIHp1IFNhY2hlbiBoaW5yZWlzc2VuIGRpZSBpY2gKZWlnZW50bGljaCBnYXIgbmljaHQgc28gbWVpbmUhClVuZCBub2NoIHdhczogSWNoIGJpbiBkaXIgd2lya2xpY2ggZGFua2JhciwgZGFzcyBkdSBtaXIgZGVzIG9lZnRlcmVuIGhpbGZzdCwKYWJlciBpY2ggaGFiIGtlaW5lIEx1c3QgYXVmIEtuaWVuIGRlc3dlZ2VuIHJ1bXp1cnV0c2NoZW4gdW5kIGltbWVyIGF1Znp1cGFzc2VuCndhcyBpY2ggc2FnZSB3ZWlsIGR1IHNvIGVtcGZpbmRsaWNoIGJpc3QhCkVpZ2VudGxpY2ggaGFldHRlIGRhcyBuaWNodCBoaWVyIGhlcmdlaG9lcnQgYWJlciBkdSBoYXN0IGVzIGluIGRpZSBaZWl0dW5nCmdlc2NocmllYmVuIGFsc28gaGFiIGljaCBkaXIgaGllciBnZWFudHdvcnRldCBhbnN0YXR0IGRpciBlaW4gbWFpbCB6dQpzY2hpY2tlbi4KVHNjaG9lICAgICAgIFNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3R1ZmVuIChHcmltbWJvcm4sIDIwLiBOb3YgMTk5NCwgMDc6MjU6MjYpOgoKQWxzbywgaWNoIGZpbmRzIGphIG5ldHQsIGRhc3MgaGllciBMZXV0ZSBtaXQgS2VubnRuaXNzZW4gdm9uCkV4cG9uZW50aWFsZnVua3Rpb25lbiBydW1sYXVmZW4sIGFiZXIgZGEgbXVlc3NlbiB3aXIgbm9jaG1hbCBkcnVlYmVyIHJlZGVuLi4uCldlbm4gaWNoIG11ZWhzYW0ga25hcHAgMjAwTWVwIHp1c2FtbWVuZ2VrcmF0enQgaGFiZSB1bmQgZXJob2VoZSAoYXVmIFN0dWZlCjMzKSB1bmQgc2VoZSBiZWkgJ2tvc3RlbicgZGFzcyBtaXIgbm9jaCBrbmFwcCAxMDBNZXAgenVyIG5hZWNoc3RlbiBTdHVmZQpmZWhsZW4gZGFubiBpc3QgZGFzIGZ1ZXJjaHRlcmxpY2ggZGVtb3RpdmllcmVuZC4KU2Nob24gZGVyIEFuYmxpY2sgZGVyIFRhYmVsbGUgZnJ1c3RyaWVydC4gSWNoIG1laW5lLCB3ZW5uIG5pY2h0IEdpbGRlbnNwcnVjaGUKYXVmdGF1Y2hlbiBkaWUgZXMgaW4gU3R1ZmUgMzAgKG9kZXIgc28pIGVybW9lZ2xpY2hlbiwgYWxsZSBOUENzIGRlcyBNRyB6dQpwbGFldHRlbiB1bmQgZGllIGVwIGRhZnVlciB6dSBrYXNzaWVyZW4gZGFubiBzaW5kIHNvbGNoZSBXZXJ0ZSBkb2NoIFV0b3BpZSEKSWNoIHNjaGxhZ2Ugdm9yLCBhZWhubGljaCB3aWUgZXMgYmVpIGRlbiBhcCBnZXBsYW50IGlzdCBlaW5lbiBTdG9wcCBpcmdlbmR3bwplaW56dWxlZ2VuIHVuZCB6dSBzYWdlbjogTWVociBhbHMgMjBNZXAgZnVlciBkaWUgbmFlY2hzdGUgU3R1ZmUgYnJhdWNodHMKbmljaHQuClNjaG9uIGRhcyBpc3Qgc2VociB2aWVsLCBtYW4gbXVzcyBzaWNoIHZvciBBdWdlbiBoYWx0ZW4sIGRhc3MgZGVyIE51dHplbgpuZXVlciBTdHVmZW4gZWhlciBnZXJpbmcgaXN0LCBzb21pdCBkaWUgbmV1ZSBTdHVmZSB6dW0gU2VsYnN0endlY2sgd2lyZC4gV2VubgpkYW5uIGRpZSBuYWVjaHN0ZSBTdHVmZSB1bmVycmVpY2hiYXIgd2VpdCB3ZWcgaXN0IGJsZWlidCBtaXIgZG9jaCBudXIgbm9jaApSb2NodXMnIFNjaGF1a2Vsc3R1aGwuCgpBbHNvLCBnZWJ0IGV1cmVuIEhlcnplbiBlaW5lbiBTdG9zcyB1bmQga2FwcHQgZGllc2Ugd3VuZGVyc2Nob2VuZSwKYmV6YXViZXJuZGUgRXhwb25lbnRpYWxmdW5rdGlvbiBpcmdlbmR3byBicnV0YWx1bmQgYmxlaWJ0IGRhbWl0IGF1ZiBkZW0KVGVwcGljaC4uLgoKU293aWVzbyBuaWNodCB1ZWJlciAyME1lcCBoaW5hdXMga29tbWVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gTWVwIHNpbmQgTWVnYWVyZmFocnVuZ3NwdW5rdGUsIGFsc28gTWlsbGlvbmVuIGVwLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmFzdGFyZHNjaHdlcnQgKFByb3gsIDIxLiBOb3YgMTk5NCwgMTY6MDY6NTIpOgpoaQp3aWVzbyBnaWJ0IGVzIHp3ZWkgdmVyc2NoaWVkZW5lIGJhc3RhcmRzY2h3ZXJ0ZXIgaW4gZGVyIGVsZmVuc2llZGx1bmcgenUKa2F1ZmVuPwplaW5zIGtvc3RldCAxN1hYIHVuZCBkYXMgYW5kZXJlIDEyWFguIGF1c3NlcmRlbSBrYW5uIG1hbiBkYXMgdGV1ZXJlIG5pY2h0IG1pdApHLCxnZXNjaGlja2xpY2hrZWl0IDQgdmVyd2VuZGVuIQpkYWR1cmNoIGhhYmUgaWNoIG1laW4gc2F1ZXIgdmVyZGllbnRlcyBnZWxkIHZlcnNjaHdlbmRldCEKCiAgICAgIFByb3ggKGltIG1vbWVudCBlaGVyIGZyb3NjaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmU6IGZhcSAoUGlsZ3JpbSwgMjEuIE5vdiAxOTk0LCAyMDoyMToyOCk6CiMhIHJuPUtyZXRlayBydD03ODU0MzQ4NjcKSGksCmhpZXIgbm9jaG1hbCwgd2llIG1hbiBhbiBkaWUgRkFRIGtvbW10OgoiCiAgICAgICAgRGllIGFrdHVlbGxlIFZlcnNpb24gZGllc2VyIEZBUSBrb2VubmVuIFNwaWVsZXIgdm9uIE1HIHZpYSBmdHAKICAgICAgICB2b246IG11ZC51bmktbXVlbnN0ZXIuZGUgNDcxMyAob2RlciBtYW5jaG1hbCA0NzE1KSBlcmhhbHRlbi4KICAgICAgICBEaWUgSVAtQWRyZXNzZSBmdWVyIGFsbCBkaWVqZW5pZ2VuLCBkaWUgYmVpIEFuZ2FiZSB2b24KICAgICAgICBtdWQudW5pLW11ZW5zdGVyLmRlIG51ciBlaW4gbGFwaWRhcmVzICJIb3N0IHVua25vd24uIiBiZWtvbW1lbgogICAgICAgIGlzdDogMTI4LjE3Ni4xMjEuNTYgIC4KCiAgICAgICAgQmVpc3BpZWw6CiAgICAgICAgIHByb21wdD4gZnRwIG11ZC51bmktbXVlbnN0ZXIuZGUgNDcxMwogICAgICAgICBOYW1lICguLi4pOiA8c3BpZWxlcm5hbWU+CiAgICAgICAgIFBhc3N3b3JkOiA8c3BpZWxlcnBhc3N3b3J0PgogICAgICAgICBjZCAvb3BlbiAgICAgICAgICAgICAgICAgICAgICAgIChOdXIgZnVlciBNYWdpZXIgbm90d2VuaWchKQogICAgICAgICBnZXQgbWctZmFxLnR4dCAgICAgICAgICAgICAgICAgIChpbSBBU0NJSS1Nb2RlIGhvbGVuKQoKIgpPYnJpZ2VzIGdpbHQgaS5BLiB1bnRlciBVTklYLCB1bnRlciBET1Mga29tbXQgZXMgYXVmIGRhcyBmdHAtUHJvZ3JhbW0gYW46Cm1laXN0IGluIGRlciBhcnQ6IHRlbG5ldCAobWFuY2htYWwgdG4pIG11ZC51bmktbXVlbnN0ZXIuZGUgNDcxMwogICAgICAgICBvZGVyICAgICB0ZWxuZXQgKHRuKSAtcCA0NzEzIG11ZC51bmktbXVlbnN0ZXIuZGUKCnVlYnJpZ2VuczogZGllIGZhcSBrYW5uIGF1Y2ggbWFsIG1nLWZhcS52eHggbWl0IHh4IGVpbmUgZ2FuemUgemFobCBoZWlzc2VuLAphbHNvIHZvcmhlciBtYWwgIGRpciAgbWFjaGVuCn4Kbm9jaCBlaW5zOiBpY2ggdWViZXJhcmJlaXRlIGRpZSBGQVEgZ2VyYWRlLCBhbHNvIHdlbm4gaWhyIG5vY2ggZWluIHBhYXIgdGFnZQp3YXJ0ZXQsIGtvZW5udCBpaHIgZ2xlaWNoIGRpZSBuZXVlIHZlcnNpb24ga3JpZWdlbi4uLi4KClBpbGdyaW0KClBTOiBGRUhMRVI6IGFyZ2cuLi4gZGllIGlwLW51bW1lciB2b24gc2FudGFuYSBpc3QgOjEyOC4xNzYuMTc1LjEzLCBuaWNodCBkaWUKb2JlbiBhbmdlZ2ViZW4gTnVtbWVyLCAuLiBkYXMga29tbXQgZGF2b24sIHdlbm4gbWFuIGF1cyBlaW5lciB2ZXJhbHRldGVuIGZhcQp6ZXRpZXJ0IDstKSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJlOiBmYXEgKEtyZXRlaywgMjEuIE5vdiAxOTk0LCAyMDoyOToxNCk6CiMhIHJuPVBpbGdyaW0gcnQ9Nzg1NDQ1Njg4CkFsbGVzIHNjaG9lbiB1bmQgZ3V0LCBQaWxncmltLCBhYmVyIHdhcyBtYWNodCBtYW4sIHdlbm4gbmFjaApFaW5nYWJlIHZvbSBTcGllbGVybmFtZW4gdW5kIGRlbSBTcGllbGVycGFzc3dvcmQgaW1tZXIgZGllIE1lbGR1bmcKIlVzZXIgdW5rbm93biIga29tbXQ/IEVnYWwsIGF1ZiB3ZWxjaGVtIFBvcnQgbWFuJ3MgcHJvYmllcnQsIGVnYWwgb2IKR3Jvc3MtIG9kZXIgS2xlaW5zY2hyZWlidW5nIChvZGVyIGdlbWlzY2h0ISkuLi4gSW1tZXIgZGFzIGdsZWljaGU6IEljaAprYW0gTklFIHJlaW4hCkR1IHdhcnN0IGRhbWFscyBzbyBuZXR0LCBtaXIgZGllIEZBUSBhbiBtZWluIFJMLU1haWwgenUgc2NoaWNrZW4sIGFiZXIKd2VubiBqZXR6dCBqYSB3aWVkZXIgbmV1ZSBGQVFzIHJhdXNrb21tZW4uLi4KCmMgdSBsOGVyLAogICBLcmV0ZWsKICAgKHp1ciBaZWl0IGFuIEhvbWVwYWdlcyBmdWVyIHNpY2ggc2VsYmVyIHVuZCBlaW4gTW9kZXJuIExhbmd1YWdlCiAgICBEZXBhcnRtZW50IGJhc3RlbG5kLi4uIFdXVyBydWxlcyEgVW5kIGRlbiBIeXBlcmxpbmsgenVtIE1HIGhhYiBpY2gKICAgIGF1Y2ggcmVpbmdlYmFzdGVsdCwgamF3b2hsISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZWJlIGdlaGVuIHVtISEhIChLcmV0ZWssIDIxLiBOb3YgMTk5NCwgMjI6MzU6MDgpOgpMaWViZSBNYWdpZXIhCgpBbHMgaWNoIG1pY2ggZ2VyYWRlIGVpbmdlbG9nZ3QgaGFiLCBzaW5kIG1pciBkb2NoIGRpZSBrb21pc2Noc3RlbgpTYWNoZW4gcGFzc2llcnQ6Clp1ZXJzdCBoYWIgaWNoIGxhdXRlciBSWkctRmVobGVyIGdlc2VoZW4sIGRhbm4gaGF0IGtlaW4gZWluemlnZXIKQmVmZWhsIGF1c3NlciBFTkRFIG1laHIgZnVua3Rpb25pZXJ0LgpCZWltIG5hZWNoc3RlbiBMb2dpbiAoZHJlaSBiaXMgdmllciBTZWt1bmRlbiBzcGFldGVyKSBoYWJlbiBkaWUKQmVmZWhsZSBkYW5uIGphIHdpZWRlciBnZWtsYXBwdCwgYWJlcjogQWxsZSBFYmVuZW4gd2FyIGF1c2dlc2NoYWx0ZXQKKG5pY2h0IHNjaGxpbW0pLCB1bmQgYWxsZXMsIHdhcyBpY2ggaGF0dGUsIHdhciB3ZWcgKHNlaHIgc2NobGltbSEpCkljaCBiZXRyYXVlcmUgaGllcm1pdCBkZW4gVmVybHVzdCBlaW5lciBNUEEgKGhhYiBpY2ggbWl0dGxlcndlaWxlIGphCndpZWRlciksIGVpbmVzIEFudGktQW5keS1CdXR0b25zLCB1bmdlZmFlaHIgNjAwMCBiaXMgNzAwMCBNdWVuemVuCihuaWNodCBnZXJhZGUgYWxsZSBTY2hhZXR6ZSBkZXMgTW9yZ2VuR3JhdWVucywgYWJlciBpbW1lcmhpbi4uLiksCm1laW5lbiBIaWxiZXJ0LVphdWJlcnN0YWIgKGljaCBXSUxMIGRpZSBRdWVzdCBuaWNodCBub2NobWFsIG1hY2hlbiEpLAp1bmQsIGFtIGFsbGVyc2NobWVyemxpY2hzdGVuLCBtZWluZW4gRWhlcmluZyEhISBNYWwgZ2FueiB6dSBzY2h3ZWlnZW4Kdm9tIGVtb3Rpb25hbGVuIFNjaG9jaywgd2FzIHNvbGwgZGVubiBkYSBtZWluZSBGcmF1IHZvbiBtaXIgZGVua2VuLAp3ZW5uIGljaCBhdWYgZWlubWFsIG9obmUgRWhlcmluZyBydW1sYXVmPyBEaWUgbWVpbnQgd29tb2VnbGljaCBub2NoLAppY2ggZ2VoIGlociBmcmVtZCwgdW5kIGRhbm4gZ2lidCdzIEhhdWUsIHdlaWwgZGllIGFscyBFbGZpbiBqYSBkb2NoCnZpZWwgZ3JvZXNzZXIgaXN0IGFscyBpY2ggYWxzIFp3ZXJnLi4uCkFsc28sIHdlbm4gaWNoIGpldHp0IGdhbnogbGllYiAiQml0dGUsIGJpdHRlISIgc2FnLCBrb2VubnQgSWhyIGRhcwpkYW5uIHdpZWRlciBpbiBPcmRudW5nIGJyaW5nZW4/IEljaCBtZWluZSwgamV0enQgd28gaGllciBiZWkgbWlyCmluIGRlbiBVU0EgZG9jaCBnZXJhZGUgVGhhbmtzZ2l2aW5nIGlzdC4uLgoKYyB1IGw4ZXIsCiAgIEtyZXRlawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZWJlIGdlaGVuIHVtISEhIChEYW5jZXIsIDIxLiBOb3YgMTk5NCwgMjM6NDk6NTYpOgojISBybj1LcmV0ZWsgcnQ9Nzg1NDUzNzA4CktyZXRlay4uLmRlc2hhbGIgZ2FiIGVzIGRlbiB6d2VpdGVuIFJlYm9vdCBoZXV0ZS4gSmV0enQgaXN0IGFsbGVzCndpZWRlciBiZWltIEFsdGVuLCBhbGxlcyB3aWVkZXIgYmVpbSByaWNodGlnZW4gQmVzaXR6ZXIgdW5kIGFsbGVzIHdpZWRlciBvawo6KQpOYT8gRGFzIHdhciBkb2NoIGVpbmUgc2NobmVsbGUgSGlsZmUgOi0pIEljaCBmcmFnZSBtaWNoIG51ciwgd2FydW0Kd2llZGVyIHNvIHZpZWxlIExldXRlIGdlbWF1bHQgaGFiZW4uLi4uLjspCgpEYW5jZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGVFAtU2VydmVyIChIYWRyYSwgMjIuIE5vdiAxOTk0LCAwMzozODo1Nik6CiMhIHJuPVRlcmVuY2UgcnQ9Nzg1NDEwMTgyCmhhbGxvIHRlcmVuY2UsCgppY2gga29tbSB1bnRlciBIYWRyYSB1bmQgbWVpbmVtIFNwaWVsZXJwYXNzd29ydCBuaWNodCByZWluIDooCgpIYWRyYSAtIGRlciBmdHAtZW4gd2lsbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmU6IGZhcSAoSGFkcmEsIDIyLiBOb3YgMTk5NCwgMDM6NDQ6MDcpOgojISBybj1LcmV0ZWsgcnQ9Nzg1NDQ2MTU0CgpnZW5hdSBkYXMgaXN0IGRhcyBwcm9ibGVtIGRlciBmdHAgZGVydmVyIHNhZ3QgbWlyIGltbWVyIG51ciB1c2VyIEhhZHJhCnVua25vd24Kb2RlciBzbyBhZWhubGljaAoKSGFkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWViZSBnZWhlbiB1bSEhISAoSGFkcmEsIDIyLiBOb3YgMTk5NCwgMDM6NDc6MTUpOgojISBybj1LcmV0ZWsgcnQ9Nzg1NDUzNzA4CmhpIGtyZXRlaywKCmR1IHNhZ3N0IGR1IHdpbGxzdCBkZW4gaGlsYmVydCBxdWVzdCBuaWNodCBub2NoIGVpbm1hbCBtYWNoZW4gdW0gZGVuIHN0YWIKd2llZGVyIHp1IGJla29tbWVuLgptZWluZSBmcmFnZSBpc3Q6IGthbm4gbWFuIHF1ZXN0cyB1ZWJlcmhhdXB0IHp3ZWltYWwgbWFjaGVuPyBpY2ggaGFldHRlIGF1Y2gKZ2VybiB3aWVkZXIgZWluZW4gc3RhYgoKCkhhZHJhIC0gZGVyIFN0YWJsb3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWl0dW5nbGVzZW4gaW0gZHVua2VsbiE/ISAoQmFtYnVsa28sIDIyLiBOb3YgMTk5NCwgMTE6MjM6MzEpOgpXYXJ1bSBrYW5uIG1hbiBpbSBkdW5rZWxuIG1pdCBubiB6ZWl0dW5nIGxlc2VuIGFiZXIgbmljaHQgbWl0IGxpZXMgYXJ0aWtlbAo8bnI+ID8/Pz8KICAgICAgICAgICAgQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2JvIC0gU3BpZWxlcmhpbGZlIChTaWx2YW5hLCAyMi4gTm92IDE5OTQsIDExOjI4OjU3KToKIyEgcm49RnJldW5kIHJ0PTc4NTQxOTc2MApIaSwgRnJldW5kLgoKV2VubiBpY2ggZGFyYW4gZGVua2UsIHdpZXZpZWxlbiBTcGllbGVybiBpY2ggZGllIFF1ZXN0IHNjaG9uCmVtcGZvaGxlbiBoYWIsIG11ZXNzdGUgaWNoIGxlYmVuc2xhZW5nbGljaCBrcmllZ2VuLi4uCkFiZXIgaWNoIHdlcmQgc2llIGF1Y2ggd2VpdGVyaGluIGVtcGZlaGxlbi4gQXJjaGllIGlzdCB6d2FyCnNhdXNjaHdlciwgYWJlciB3ZXIgbGllcywgd2FzIGF1ZiBzZWluZW0gQmlsZHNjaGlybSBzdGVodCwKdW5kIGRhcyBhdWNoIGVybnN0IG5pbW10LCBzdGlyYnQgZGFiZWkgbmljaHQgc29vbyBsZWljaHQuCkltIEdlZ2Vuc2F0eiB6dSBhbmRlcmVuIFF1ZXN0LCBiZWkgZGVuZW4gZWluIGVpbnppZ2VyIGZhbHNjaGVyCkJlZmVobCBkaXJla3QgenVtIFRvZGUgZnVlaHJlbiBrYW5uLi4uCgpTaWx2YW5hIC0gV2lsbCBpaHJlIE1hbWEgbmljaHQgaW0gR2VmYWVuZ25pcyBiZXN1Y2hlbiBtdWVzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmU6IGZhcSAoQW50aGVhLCAyMi4gTm92IDE5OTQsIDExOjM0OjMyKToKIyEgcm49SGFkcmEgcnQ9Nzg1NDcyMjQ3CkhpIGlociBNb2VjaHRlZ2Vybi1GVFBsZXIKCk5hY2hkZW0gZGVyIEZUUC1Qb3J0IHNvIHZpZWxlIFByb2JsZW1lIGF1ZndpcmZ0LCBoYWJlIGljaCBtaWNoIG1hbCBvaG5lCi5uZXRyYyBlaW5nZWxvZ2d0Li4uLiBVbmQgc2llaGUgZGE6IEVzIHdhciBnYW56IGVpbmZhY2guIEljaCBoYWJlIGVpbmZhY2ggYWxzClVzZXIgJ2Fub255bW91cycgdW5kIGFsc3MgcGFzc3dvcmQgbWVpbmUgZW1haWwtYWRyZXNzZSBhbmdlZ2ViZW4uLi4gdW5kIHNjaG9uCndhciBpY2ggaW0gT1BFTi1WZXJ6ZWljaG5pcywgd28gamEgYXVjaCBkaWUgRkFRIHN0ZWh0LiBWZXJzdWNodCBlcyBoYWx0IG1hbAphdWYgZGllc2UgV2Vpc2UuLi4uCgogICAgICAgQW50aGVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHVVJQUyAoU2NobG9ueiwgMjIuIE5vdiAxOTk0LCAxNDo0MjoxMSk6CgpHVVJQUyBnaWJ0IGVzIGpldHp0IGVuZGxpY2ggYXVmIGRldXRzY2guIDU1LC0gRE0KZWNodCBnZW5pYWwgLCBkaWVzZXMgU3l0ZW0hCgpzY2hsb256CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR1VSUFMgKFllbmRpLCAyMi4gTm92IDE5OTQsIDE0OjU4OjExKToKIyEgcm49U2NobG9ueiBydD03ODU1MTE3MzEKCkhhZXR0ZSBkYXMgbmljaHQgdmllbGxlaWNodCBlaGVyIGluICJhbnplaWdlbiIgZ2Vob2VydD8gOikKV2FzIHphaGx0IFN0ZXZlIEphY2tzb24gRGlyIGRlbm4gc28/IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSm91cm5hbGlzdGlzY2hlIFF1YWxpdGFldGVuIChBcmFueWEsIDIyLiBOb3YgMTk5NCwgMTU6MzY6NTMpOgpMaWViZSBNaXRNdWRkZXIgdW5kIEZyZXVuZGUgZGVyIE1QQSEKCkljaCB3aWxsIGhpZXIgbmllbWFuZGVtIHp1IG5haGUgdHJldGVuIHVuZCBpY2ggaGFiZSBhdWNoIG5pY2h0IHZvciwgaGllciBpci0KZ2VuZHdlbGNoZXMgZWxpdGFlcmVzIEdld2FiYmVsIHZvbiBtaXIgenUgZ2ViZW4uIEFiZXIgKHVuZCBqZXR6dCBrb21tdCdzKSBpY2gKYWVyZ2VyZSBtaWNoIGplZGVzIE1hbCwgd2VubiBpbiBkZXIgWmVpdHVuZywgZGllIGljaCBnZWVlcm4gbGVzZQppcmdlbmR3ZWxjaGVzCnp1c2FtbWVuaGFuZ3Nsb3NlcyBHZWJyYWJiZWwgc3RlaHQsIGRlbSBtYW4gbnVyIG1pdCBNdWVoZSBlaW5lbiBTaW5uIGFiZ2V3aW4tCm5lbiBrYW5uLgpKZWRlbSBrbGVpbmVuIFBlbm5hZWxlciwgZGVyIGluIGRlciBGcmVpemVpdCBhbHMgTWl0YXJiZWl0ZXIgZWluZXIgWmVpdHVuZwpzY2hhZmZ0IHdpcmQgYWJ2ZXJsYW5ndCwgc2ljaCBhbiBkaWUgUmVjaHRzY2hyZWlicmVnZWxuIHp1IGhhbHRlbi4gRGEgd2lyZAptYW4KZGFzIGRvY2ggYXVjaCB2b24gaGFsYndlZ3MgZXJ3YWNoc2VuZW4gTVVEZGVybiB2ZXJsYW5nZW4ga29lbm5lbiEKSWhyIGtvZW5udCB2b24gbWlyIGF1cyBrb25zZXF1ZW50IGtsZWluIHNjaHJlaWJlbiAod2FzIHNvdmllbCBpY2ggd2Vpc3MsIGVpbgpwb2xpdGlzY2hlcyBBdXNkcnVja3NtaXR0ZWwgaXN0KSwgaWhyIGtvZW5udCBtZWluZXRoYWxiZW4gc28gdmllbGUgRnJhZ2V6ZWktCmNoZW4gdW5kIFB1bmt0ZSBzZXR6ZW4sIHdpZSBpaHIgbHVzdGlnIHNlaWQsIGFiZXIgYml0dGUsIGJpdHRlLCBrdWVtbWVydCBFdWNoCmVpbiB3ZW5pZyB1bSBkaWUgR3JhbW1hdGlrIHVuZCBkaWUgT3J0aG9ncmFwaGllIQoKRWluZSBnYW56IGxpZWIgYml0dGVuZGUKICAgICAgICAgICAgICAgICAgICAgICBBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9ydGhvIChSeHRlY2gsIDIyLiBOb3YgMTk5NCwgMTY6MDA6MDApOgpUamEsIFlhbnRybywKaWNoIGdsYXViIE9ydGhvZGluZ2VucyBoYXQgd2FzIG1pdCBzZW5rcmVjaHQgenUgdHVuIG9kZXIgc28uCgpncmlucwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmU6IGZhcSAoRnJhZ2dsZSwgMjIuIE5vdiAxOTk0LCAxNjoxNjowMik6CiMhIHJuPUFudGhlYSBydD03ODU1MDA0NzIKenUgQW50aGVhcyBUaXAsIGRhcyAubmV0cmMgenVtIGVpbmxvZ2dlbiB6dSBhZW5kZXJuOgpJY2ggaGF0dGUgZGFzIHByb2JsZW0sIGRhcyAubmV0cmMgbWl0IGRlbSBlaW50cmFnIG11ZC51bmkubXVlbnN0ZXIuZGUKbmljaHRzIGFuZmFuZ2VuIGtvbm50ZSwgb2J3b2hsIGZ0cC90ZWxuZXQgbXVkLnVuaS1tdWVuc3RlciBrZWluIFByb2JsZW0KZXJnYWIuCkRpZSBtZWlzdGVuIExvZ2luLVByb2JsZW1lIGR1ZXJmdGVuIGRhcmFuIGxpZWdlbiwgZGFzIGltIG5ldHJjLCBpbiBkZXIKYmF0Y2gtZGF0ZWkgb2RlciB3byBhdWNoIGltbWVyIG5vY2ggcGFzY2FsIGFscyBIb3N0IGVpbmdldHJhZ2VuIGlzdC4gQWxzbyBtZWluClRpcDoKRHVyY2hzdWNodCBtYWwgZXVlciBnYW56ZXMgdmVyemVpY2huaXMgbmFjaCBwYXNjYWwudW5pLW11ZW5zdGVyIChvZGVyIHBhc2NhbCkKdW5kIGVyc2V0enQgZXMgZHVyY2ggc2FudGFuYS4gRGllIG1laXN0ZW4gUHJvYmxlbWUgc29sbHRlbiBkYW5uIGJlc2VpdGlndApzZWluLgpGcmFnZ2xlCgpQLlM6IGljaCBoYWJlIG5pZSBlcm5zdGhhZnQgdmVyc3VjaHQsIG9iIG11ZC51bmktbXVlbnN0ZXIgbmljaHQgZG9jaCBrbGFwcHQsCiAgYWJlciBtaXQgU2FudGFuYSBnaW5ncyBnYW56IGd1dCwgdW5kIHNvb2Z0IHdpcmQgZGFzIE11ZCBqYSBuaWNodCB1bXppZWhlbiEKKG9kZXIgPz8/PykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllYmUgZ2VoZW4gdW0hISEgKEtyZXRlaywgMjIuIE5vdiAxOTk0LCAxNjozNDo1OCk6CiMhIHJuPURhbmNlciBydD03ODU0NTgxOTYKU3RpbW10LCBhbGxlcyBpc3Qgd2llZGVyIGd1dCEKSm9mIGhhdCdzIGdlcmljaHRldCEgSmF3b2hsLCBkZXIgR290dCBwZXJzb2VubGljaCEKKE5hIGphLCBlciBoYXQncyBqYSBhdWNoIHZlcm11cmtzdC4uLiAqKipncmlucyoqKikKTWFnaWVyIHNpbmQgaGFsdCBkb2NoIGF1Y2ggbnVyIE1lbnNjaGVuIChzb2dhciBkaWUgR29ldHRlciEpLgoKVWVicmlnZW5zOiBEZXIgV2VsdHVudGVyZ2FuZyB3YXIgdG9sbCEgV2FyIFByZW1pZXJlIGZ1ZXIgbWljaCwgdG9sbGUKU2VxdWVueiEKCmMgdSBsOGVyLAogICBLcmV0ZWsgKGxpZWJ0IEthdGFzdHJvcGhlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllYmUgZ2VoZW4gdW0hISEgKEtyZXRlaywgMjIuIE5vdiAxOTk0LCAxNjozNzo0MSk6CiMhIHJuPUhhZHJhIHJ0PTc4NTQ3MjQzNQpBZWguLi4gVGphLi4uIE51bi4uLiBXZWlzcyBhdWNoIG5pY2h0Li4uCk11ZXNzdGUgYWJlciBzY2hvbiBrbGFwcGVuLCBXYWxkYmF1ZXJuIGhhYiBpY2ggYW0gQW5mYW5nIGVpbiBwYWFybWFsCmdlbWFjaHQsIHdlZ2VuIGRlciBFUC4uLiBVcHMhIEljaCBob2ZmZSwgamV0enQgc2V0enQgZGVyIHp1c3RhZW5kaWdlCk1hZyBkaWUgV2VydGUgdm9uIGRlciBTcGlubmUgbmljaHQgaG9jaC4uLiBOZWluLCBzaWUgaXN0IHdpcmtsaWNoIG5pY2h0Cnp1IGVpbmZhY2gsIGVjaHQhCgpjIHUgbDhlciwKICAgS3JldGVrIChtYWcgU3Bpbm5lbiBpbSBSTCBhdWNoIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEpvdXJuYWxpc3Rpc2NoZSBRdWFsaXRhZXRlbiAoR3JpbW1ib3JuLCAyMi4gTm92IDE5OTQsIDE2OjU1OjI5KToKIyEgcm49QXJhbnlhIHJ0PTc4NTUxNTAxMwpIbW0sIFRpcHBmZWhsZXIgc29sbHRlIG1hbiBzY2hvbiB6dWdlc3RlaGVuLCBzb3dhcyBrYW5uIGltbWVyIG1hbCBwYXNzaWVyZW4uCkFiZXIgZGllIEZyYWdlemVpY2hlbiB1bmQgQXVzcnVmZXplaWNoZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgZGVzc2VuIEtvYm9sZCBlYmVuIHZlcnNhZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvYm8gLSBTcGllbGVyaGlsZmUgKFd1ciwgMjMuIE5vdiAxOTk0LCAwMTo1ODoyOSk6CiMhIHJuPVNpbHZhbmEgcnQ9Nzg1NTAwMTM3CkhpIElociEKCkRhIG11c3MgaWNoIHdvaGwgc2lsdmFuYSByZWNodCBnZWJlbiA6KS4KSWNoIGhhYmUgZGFzIHRlaWwgbnVuIGdlcmFkZSBoaW50ZXIgbWlyIHVuZCBzbyByaWNodGlnZSBVZWJlcnJhc2NodW5nZW4gd2llCmJlaSBhbmRlcmVuIFF1ZXN0J3MsIHdvIG1hbiBhdWNoIGxlaWNodCBvaG5lIEZlaGxlciBzdGlyYnQsIGdhYiBlcyBiZWltIEFyY2hpCm5pY2h0LgpBdWNoIHdlbm4gd2lyIGVzIG5pY2h0IG9obmUgSGlsZmUgZ2VzY2hhZmZ0IGhhYmVuLCBzbyBibGVpYnQgZXMgdHJvdHpkZW0gZWluCmVjaHQgZ3V0ZXMgUXVlc3QuCgogICBXdXIgLSBoYWJlIHNlbHRlbiBiZWkgZWluZW0gUXVlc3Qgc292aWVsIGdydWViZWxuIG11ZXNzZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpxdWVzdCAoQm9uZ28sIDIzLiBOb3YgMTk5NCwgMTE6NTk6MTgpOgpobW0sIHdvIGljaCBlcyBnZXJhZGUgd2llZGVyIGxlc2UuLi4KaGVpc3N0IGVzIG51biBERVIsIERJRSBvZGVyIERBUyBxdWVzdD8/Pz8gaWNoIHBlcnNvZWhubGljaCBiaW4gamEgZnVlciBESUUKcXVlc3QuIGhvZXJ0IHNpY2ggbWVpbmVyIG1laW51bmcgbmFjaCByaWNodGlnZXIgYW4uIGFiZXIgd2Vpc3MgamVtYW5kIHdhcwpnZW5hdWVyZXM/IGdpYnQgc28gZWluIHdvcnQgaW0gZHVkZW4gb2RlciBpcmdlbmR3byBhbmRlcnM/PyB3ZXIgd2Vpc3MKd2FzIHJpY2h0aWcgaXN0Pwpib25nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBxdWVzdCAoV2FyZ29uLCAyMy4gTm92IDE5OTQsIDEyOjU4OjAyKToKIyEgcm49QmVsZGluIHJ0PTc4NTU4ODUzOQogIEh1aHUhCldpZSB3YWVyZSBlcyBtaXQgREFTIEFiZW50ZXVlcj8KICBDaWFvLAogICAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcXVlc3QgKEJvaW5nLCAyMy4gTm92IDE5OTQsIDE0OjEzOjM0KToKIyEgcm49Qm9uZ28gcnQ9Nzg1NTg4MzU4CkVzIGhlaXNzdCAnVGhlIHF1ZXN0Jy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHF1ZXN0IChBcmFueWEsIDIzLiBOb3YgMTk5NCwgMTU6MDU6MzgpOgojISBybj1Cb25nbyBydD03ODU1ODgzNTgKSXN0IGVuZ2xpc2NoIHVuZCBkYW1pdCBnZXNjaGxlY2h0c2xvcyAoVGhlIFF1ZXN0KS4gRHUga2FubnN0IGVzIGFsc28gaGFsdGVuCndpZSBEdSBsdXN0aWcgYmlzdC4gSWNoIGJpbiBhdWNoIGZ1ZXIgZGllIFF1ZXN0LiBXZWlsIGVzIGltIERldXRzY2hlbiBESUUKQXVmLQpnYWJlIGhlaXNzdCB1bmQgd2VpbCBtZWluIFNwcmFjaGdlZnVlaGwgZGFzIHNvIHNhZ3QuCgpKdXN0IElNSE8KICAgICAgICAgIEFyYW55YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT3J0aG9ncmFwaGllIChHcmltbWJvcm4sIDIzLiBOb3YgMTk5NCwgMTU6MzY6MDYpOgoKQWxzbywgaWNoIG11c3Mgc2FnZW4sIEV1cmUgQmlsZHVuZ3NsdWVja2VuIHNpbmQgZXJzY2hyZWNrZW5kISBPcnRob2dyYXBoaWUKaGF0IE5JQ0hUUyBtaXQgc2Vua3JlY2h0IHp1IHR1biEKVmllbG1laHIgaXN0IGVzIG1pdCBHZW9ncmFwaGllIHZlcndhbmR0LCB2b24gZ3JpZWNoLiBnZWEgKG9kZXIgc28pIEVyZGUuCk51biBpc3QgZWluZmFjaCBkaWUgRXJkZSBkdXJjaCBkZW4gT3J0IGF1c2dldGF1c2NodCwgYWxzbyBHZW9ncmFwaGllIGltCktsZWlubWFzc3N0YWIgcXVhc2kuCgpNaXQgYW5kZXJlbiBXb3J0ZW46IEVzIGhhbmRlbHQgc2ljaCB1bSBIZWltYXRrdW5kZSEKCkdlYmlsZGV0IHdpZSBad2VyZ2UgbnVuIG1hbCBzaW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT3J0aG9ncmFwaGllIChMaSwgMjMuIE5vdiAxOTk0LCAxNTozNzozOCk6CiMhIHJuPUdyaW1tYm9ybiBydD03ODU2MDEzNjYKKnRvdGxhY2gqClNvIGVya2xhZXJ0IG1hbiBGcmVtZHdvZXJ0ZXIhCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9ydGhvZ3JhcGhpZSAoVHp1aW9wLCAyMy4gTm92IDE5OTQsIDE2OjI3OjMzKToKIyEgcm49TGkgcnQ9Nzg1NjAxNDU4ClJlY2h0IGhhdCBlciAhClVuZCB3ZW5uIGVyIGRhcyBuYWVjaHN0ZSBNYWwgQmF1Y2h3ZWggaGF0LCBzY2hpY2tlbiB3aXIgaWhuIHp1bQpEYWVybWF0b2xvZ2VuLgovVHp1aW9wCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHF1ZXN0IChDYXJhZGhyYXMsIDIzLiBOb3YgMTk5NCwgMTc6MjA6MTYpOgojISBybj1BcmFueWEgcnQ9Nzg1NTk5NTM4CkljaCBiaW4gYXVjaCBmdWVyICdkaWUgcXVlc3QnLCBhYmVyIGljaCBrZW5uZSBnZW51ZywgZGllCidkYXMgcXVlc3QnIHNhZ2VuLiBEYWJlaSBsYWV1ZnQgbWlyIGplZGVzbWFsIGVpbiBTY2hhdWRlciB1ZWJlciBkZW4KUnVlY2tlbi4KCiAgICAgdHNjaG9lICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcXVlc3QgKEFudGhlYSwgMjMuIE5vdiAxOTk0LCAyMjozMzo1OCk6CiMhIHJuPUNhcmFkaHJhcyBydD03ODU2MDc2MTYKV2FzIGhhc3QgRHUgZ2VnZW4gJ2RhcyBxdWVzdCc/PyBIaWVyIGluIEZyYW5rZW4gaGVpc3N0IGVzIGphIGF1Y2g6ICdkZXIKQnV0dGVyJywgdW5kIGRhcyBpc3QgZ2FueiBub3JtYWwgOikKQXVzc2VyZGVtIGJpbiBpY2ggbmFjaCB3aWUgdm9yIGRlciBNZWludW5nLCBkYXNzIGVzIGhlaXNzdDogJ2RhcwpBYmVudGV1ZXInISEhCgpBbnRoZWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZlcmxlZ2VuPyAoQ2F0d2VhemxlLCAyNC4gTm92IDE5OTQsIDEwOjEzOjAwKToKSGkhClB1aCwgdW5kIHNjaG9uIHdpZWRlciBkdXJjaCAxNyBBcnRpa2VsIE11ZWxsIGluIEFsbGdlbWVpbmVzIGdld3VlaGx0LgpEYSBpY2gga2VpbmUgTHVzdCBoYWJlIGpldHp0IDE3IEFydGlrZWwgenUgdmVybGVnZW4sIG1vZWNodGUgaWNoCkV1Y2ggYml0dGUsIGRpZXNlIGVoZXIgd2VuaWdlciBBbGxnZW1laW5lbiBEaXNrdXNzaW9uZW4gdWViZXIgZGFzCldvcnQgUXVlc3QgdW5kIGRpZSBPcnRob2dyYXdpZWF1Y2hpbW1lciBpbiBTY2htYXJybiBiencuIEV0aWtldHRlCnp1IHZlcmxlZ2VuLiBJY2ggZGVua2UgZGllc2UgUnVicmlrZW4gc2luZCBkYSBlaGVyIGdlZWlnbmV0IC4uLgpBdWYgVW50ZXJzdHVlenR6dW5nIGhvZmZlbmQsCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdVUlBTIChLbGluZ2UsIDI0LiBOb3YgMTk5NCwgMTc6MjI6MzApOgojISBybj1TY2hsb256IHJ0PTc4NTUxMTczMQpXQVMgaXN0IGRhcyA/Pz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3YXJ0ZW4gYmVpIGRlciBzY2huZWVtYW5ucXVlc3QgKEhhZHJhLCAyNS4gTm92IDE5OTQsIDAwOjI0OjQ0KToKaGFsbG8gbXVkZGllcywKCmxhZXNzdCBzaWNoIGRhcyB3YXJ0ZW4gYmVpIGRlciBzY2huZWVtYW5ucXVlc3QgbmljaHQgZXR3YXMgcmVkdXppZXJlbj8Kei5iLiBkdXJjaCBkZW4gYWJ6dWcgdm9uIHdlbmlnZXIgbXAgcHJvIHJ1Zi4gZGFzIGlzdCBqYSBkYXMgcmVpbnN0ZSB0ZWxla29tCnNwb25zb3JpbmcKCkhhZHJhIC0gZGVyIHdhcnRlbmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSm91cm5hbGlzdGlzY2hlIFF1YWxpdGFldGVuIChIYXRlLCAyNS4gTm92IDE5OTQsIDEyOjI0OjAyKToKIyEgcm49QXJhbnlhIHJ0PTc4NTUxNTAxMwpBbHNvIGRlbSBrYW5uIGljaCBudXIgWnVzdGltbWVuLgpWaWVsbGVpY2h0IGRlbmtlIGljaCBtaXIgZGVtbmFlY2hzdCBldHdhcyBhdXMsIHdhcyBkZW5lbiBwYXNzaWVydCwgZGllIGVzCm1hc3NpdiBmYWxzY2ggbWFjaGVuLgoKSGF0ZS4KLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFtZW4gKEZpY2tmcm9zY2gsIDI4LiBOb3YgMTk5NCwgMTI6MzA6MzQpOgpJY2ggd3VlcmRlIGdlcm5lIG1hbCBlaW5lIE1laW51bmcgdWViZXIgZGllIHdpY2h0aWdrZWl0IHZvbiBuYW1lbiBob2VyZW4uIEljaApnbGF1YmUgLCBkYXNzIHNpY2ggaGllciBlaW5pZ2UgTGV1dGUgZ3J1bmRsb3NlIHVlYmVyIGlyZ2VuZHdlbGNoZSBOYW1lbgphdWZyZWdlbiBkaWUgc2llIG5pY2h0IGFremVwdGllcmVuIGtvZW5uZW4gdW5kIGFwcGVsaWVyZW4gYW4gZGVuIGd1dGVuCmdlc2NobWFjayAsIGRlciBhbGxlcmRpbmdzIGRvY2ggYmVpIGplZGVyIGVsZmUgLCBqZWRlbSB6d2VyZyB1bmQgbmljaHQgenVsZXR6dApiZWkgamVkZW0gbWVuc2NoZW4gYW5kZXJzIGRlZmluaWVydCBpc3QuCk1laW5lciBtZWludW5nIG5hY2ggaXN0IHVuZCBibGVpYnQgZWluIG5hbWUgZWluZmFjaCBudXIgZWluIG5hbWUgdW5kIG5pY2h0cwphbmRlcmVzICwgc2Nob24gZ2FyIGtlaW4gZ3J1bmQgZnVlciBpcmdlbndlbiBzb2xjaGUgc3BpZWxlciBtaXQgImJsb2VkZW4iCk5hbWVuIHp1IGJlbGVpZGlnZW4gb2RlciB6dSB2ZXJhcnNjaGVuIChtYW4gdmVyemVpaGUgbWlyIGRpZXNlcyB3b3J0KS4gRGFzCm11c3N0ZSBpY2ggamV0enQgbWFsIGxvc3dlcmRlbi4KSW4gZGVyIHZhZ2VuIEhvZmZudW5nIGF1ZiBlaW5pZ2UgaW50ZXJlc3NhbnRlbiBBbnR3b3J0ZW4gdmVyYmxlaWJlIGljaCBtaXQKc2Nob2VuZW0gZ3J1c3MgYW4gYWxsZSBkaWUgc2ljaCB1ZWJlciBtaWNoIGF1ZnJlZ2VuOgpGaWNrZnJvc2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIChGbGludG5haWwsIDI4LiBOb3YgMTk5NCwgMTM6MDM6MzIpOgojISBybj1GaWNrZnJvc2NoIHJ0PTc4NjAyMjIzNAp3ZW5uIGFuICBOT01FTiBFU1QgT01FTiAgd2FzIGRyYW4gaXN0LCBoYXN0IGR1IGFsbGVyZGluZ3MgZGllIEFyc2Noa2FydGUKZ2V6b2dlbiwgRmlja2Zyb3NjaCA6KSAuLi5hYmVyIGRhcyBpcyBkYW5uIGRlaW4gUHJvYmxlbS4uLi4uCiAgICAgICAgICAgICAgICAgICBGbGludG5haWwuLi5pc3Qga2VpbiBTb2RvbWlzdCA7KT0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFtZW4gKEFuYXRvbCwgMjguIE5vdiAxOTk0LCAxMzoxODo0NSk6CiMhIHJuPUZpY2tmcm9zY2ggcnQ9Nzg2MDIyMjM0CgpXb3p1IGJyYXVjaHQgZGVyIE1lbnNjaC9FbGYvWndlcmcgZGVubiBlaW5lbiBOYW1lbj8KRWlnZW50bGljaCBudXIsIHVtIGVpbmRldXRpZyBiZXN0aW1tdCB6dSB3ZXJkZW4uLi4KCkFsc28gb2huZSBOYW1lbiBnZWh0IG5peC4KV2FzIGRhcmYva2Fubi9zb2xsdGUgYWxzIE5hbWUgaW4gRnJhZ2Uga29tbWVuPwpTY2hvbiBzY2h3ZXJlci4uLnJlaW4gdGhlb3JldGlzY2ggd3VlcmRlICJHcm1wZmxzY2tsZiIgcmVpY2hlbiwgYWJlcgppcmdlbmR3aWUgU2lubiBtYWNoZW4gdGFldGUgZXMgbmljaHQuIERlciBNZW5zY2gvRWxmL1p3ZXJnIGlzdCBoYWx0CmF1c3NwcmVjaGJhcmUgTmFtZW4gZ2V3b2VobnQuCkFiZXIgYXVjaCBkYSBnaWJ0cyBHcmVuemVuLgpOaWNodCBkYXNzIGlyZ2VuZGplbWFuZCBldHdhcyBnZWdlbiBMaVBvbmcgaGF0IG9kZXIgc28uLi4KLi4uYWJlciBtaXQgZWluZW0gU3BpZWxlciwgZGVyIEhpdGxlciBoZWlzc3QsIHd1ZXJkZSBpY2ggbmljaHQgcmVkZW4sIGRlbm4gZXIKaGF0IHNlaW5lbiBOYW1lbiBkZWZpbml0aXYgc2VsYnN0IHZlcmJyb2NoZW4uClp1bSBHbHVlY2sgaXN0ICdIaXRsZXInIGdlYmFuaXNoZWQuCkFsbGVyZGluZ3MgdHVlIGljaCBtaXIgYXVjaCBtaXQgJ0tvdHpicm9ja2VuJyB1bmQgJ0ZpY2tmcm9zY2gnIHNjaHdlciwgZGEgaWNoCmFscyBSTC1NZW5zY2ggZ2VybmUgZWluZSBWZXJiaW5kdW5nIHp3aXNjaGVuIE5hbWVuIHVuZCBDaGFyYWt0ZXIgKGhpZXI6CnZlcm1laW50bGljaGVtIENoYXJha3RlcikgYXVmYmF1ZS4gTWFuIG11c3Mgc2ljaCBkZW4gS3JlbXBlbCBqYSBpcmdlbndpZQptZXJrZW4uCkJlaSAnS290emJyb2NrZW4nIHVuZCBDby4gZmFlbGx0IGRpZXNlIFZlcmJpbmR1bmcgc2VociB1bmdlc2NoaWNrdCBhdXMuIERhcwpzaW5kIGtlaW5lIE5hbWVuLCBzb25kZXJuIFNjaGltcGZ3b3J0ZS4gWnVtaW5kZXN0IGZ1ZXIgbWljaC4KSWNoIG5laG1lIG1hbCBhbiwgZGFzcyBpY2ggS290emJyb2NrZW4gdW5kIEZpY2tmcm9zY2ggZGVtZW50c3ByZWNoZW5kCkNoYXJha3Rlcnp1ZWdlIHp1b3JkbmUsIGRpZSBzaWUgbmljaHQgaGFiZW4gLSB6dW1pbmRlc3QgbmljaHQgaGFiZW4gbXVlc3Nlbi4uLgpXQVJVTSBzaWUgYWxsZXJkaW5ncyBlaW5lIHNvIHRvbGxlIFdhaGwgZ2V0cm9mZmVuIGhhYmVuLCB3dWVyZGUgbWljaCBmdWVyCm1laW5lbiBUZWlsIHNlaHIgaW50ZXJlc3NpZXJlbi4KCiAgICAgQW5hdG9sLCBkZXIgc2ljaCBlaW5lbiBOYW1lbiBnZXN1Y2h0IGhhdCwgZGVyIG5pY2h0IHVuYmVkaW5ndCBhdWYgZWluZW4KICAgICAgIFNjaGVpc3N0eXAgb2RlciBLb3R6YnJvZWNrZWwgc2NobGllc3NlbiBsYWVzc3QuLi4gZGFzIHNvbGxlbiBhbGxlCiAgICAgICBzZWxic3QgcmF1c2ZpbmRlbi4uLgoKUFM6IERhcyBvYmlnZSBzdGVsbHQgbmF0dWVybGljaCBtZWluZSBwZXJzb2VubGljaGUgTWVpbnVuZyBkYXIuIFNpZSBpc3QKdmllbGxlaWNodCBpbnRlcmVzc2FudCwgYWJlciBmdWVyIG5pY2h0cyB1bmQgbmllbWFuZCBtYXNzZ2VibGljaC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdVUlBTIChZZW5kaSwgMjguIE5vdiAxOTk0LCAxNDowNzoxNCk6CiMhIHJuPUtsaW5nZSBydD03ODU2OTQxNTAKR1VSUFMgPSBHZW5lcmljIFVuaXZlcnNhbCBSb2xlUGxheWluZyBTeXN0ZW0sIGVpbgogICAgICAgIEdlbmVyaXNjaGVzIFVuaXZlcnNlbGxlcyBSb2xsZW5zcGllbHN5c3RlbSBhbHNvLgoKQmVpIHdlaXRlcmVuIEZyYWdlbiBlaW5mYWNoIGVtaWxzIGFuCgogICAgICAgICAgICAgWWVuZGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdVUlBTIChTY2hsb256LCAyOC4gTm92IDE5OTQsIDE0OjE1OjM2KToKIyEgcm49S2xpbmdlIHJ0PTc4NTY5NDE1MApHVVJQUyA9IEdlbmVyaWMgVW5pdmVyc2FsIFJvbGVQbGF5aW5nU3lzdGVtCgpEYXMgd29obCBiZXN0ZSB1bmQgcmVhbGlzdGlzY2hzdGUgUm9sbGVuc3BpZWxzeXN0ZW0sIGRhcyBlcyBnaWJ0LiBFcyBpc3Qgdm9uClN0ZXZlIEphY2tzb24gdW5kIGthbm4gaW4gamVkZXIgWmVpdCB1bmQgamVkZXIgYmVsLiBXZWx0IGdlc3BpZWx0IHdlcmRlbi4KCkFsbGUgVW5rbGFyaGVpdGVuIGJlc2VpdGlndCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVsaWNoLCBhdWYgZGVtIFRvZGVza2FuYWwuLi4gKFllbmRpLCAyOC4gTm92IDE5OTQsIDE0OjE4OjI2KToKCiAgW1RvZDpdIEVpbiBFbGZlbndhZWNodGVyIGhhdCBnZXJhZGUgTHVlaG55IHVtZ2VicmFjaHQuCiAgRGVyIFR1cm13YWVjaHRlciBydWZ0OiBMdWVobnkgZ3JlaWZ0IHVucyBhbi4KCkRhIHNjaGVpbmVuIGRpZSBKdW5ncyB2b24gZGVyIEVsZmVubWlsaXogd29obCB6dXZpZWxlIEVhc3Rlcm4gZ2VzZWhlbiB6dQpoYWJlbjogIkVyc3Qgc2NobGFnZW4sIGRhbm4gZnJhZ2VuIC0tIG9kZXIgQWxhcm0gZ2ViZW4uIgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVJTkxBRFVORyBaVVIgSE9DSFpFSVQgKFZpcGVyLCAyOC4gTm92IDE5OTQsIDE0OjMzOjI3KToKSGllcm1pdCBsYWRlIGljaCBhbGxlLCBkaWUgbW9lZ2VuIHp1IHVuc2VyZXIgSG9jaHplaXQgZWluIQpEdSBmcmFnc3QgRGljaCwgd2VyIHdpcmQgaGVpcmF0ZW4/Ck51biwgQ2Fzc2FuZHJhIHVuZCBWaXBlciBoYWJlbiBzaWNoIGRhenUgZW50c2NobG9zc2VuLgpXaXIga2VubmVuIHVucyBzY2hvbiBsYW5nZSwgYWJlciBqZXR6dCBzaW5kIGRpZSBXb2dlbiBkZXIgTGVpZGVuc2NoYWZ0CnNvIGhvY2ggZ2V3b3JkZW4sIGlzdCBkaWUgWnVuZWlndW5nIHNvIHRpZWYgZ2V3b3JkZW4sIGRhc3Mgd2lyIG5pY2h0CmxhZW5nZXIgd2FydGVuIHdvbGxlbiB1bmQgZGllcyBhdWNoIGluIGRlciBPZWZmZW50bGljaGtlaXQKYmVrdW5kZW4gd29sbGVuLgpUZXJtaW46IERpZSwgMjkuMTEuMTk5NCB1bSAxMi4zMCBVaHIgaW4gZGVyIEthcGVsbGUgaW4gZGVyIFVudGVyd2VsdAoKTm9jaG1hbCBlaW5lIGhlcnpsaWNoZSBFaW5sYWR1bmcgYW4gYWxsZS4gRnVlciBlaW5lIG9yZGVudGxpY2hlCkZlaWVyIHdpcmQgc2ljaGVyIGdlc29yZ3Qgd2VyZGVuLgpXaXIgZXJ3YXJ0ZW4gRXVjaCEhIDopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIE1HLUZBUSwgbmV1ZSBNVURMSVNUIChEb3Jhbix2MDEzKSAoUGlsZ3JpbSwgMjguIE5vdiAxOTk0LCAxNTo0MDoyMyk6CkhpLAoKYWIgc29mb3J0IGxpZWd0IGF1ZiBkZW0gZnRwLXNlcnZlciB1bmQgdm9yIGRlbSBPcmtsYWdlciAoUG9sYXIpIGF1cy4KRmVybmVyIGhhYiBpY2ggbmUgbmV1ZSBWZXJzaW9uIGRlciBNdWRsaXN0IHZvbiBEb3JhbiAob2t0b2JlcikgdWViZXJzcGllbHQuCgpNaXQgZGVuIFByb2JsZW1lbiB6dW4gZnRwLXp1Z2FuZyB6dW0gTVVEIGthbm4gaWNoIG5pY2h0IHZpZWwgYW5mYW5nZW4sIGRhcwppc3QgZWluZSBzYWNoZSB2b24gam9mL2tpcmsgb2RlciA/Pz8oa2VpbmUgQWhuaW5nLCB3b3JhbiBkYXMgbGllZ3QpLi4uCmVpZ2VudGxpY2ggc29sbHRlICAgZnRwIG11ZC51bmktbXVlbnN0ZXIuZGUgNDcxMwogICAgICAgICAgICAgICAgICAgIGxvZ2luOiAgZnRwCiAgICAgICAgICAgICAgICAgICAgcGFzc29yZDogIDxlbWFpbGFkcmVzc2U+CnR1bi4uLgoKRGllIE1nbGtlaXQsIGRpZSBGQVEgcGVyIGVtYWlsIHp1IGJla29tbWVuIHR1dHMgaW0gTW9tZW50IG5vY2ggbWljaHQuCgoKUGlsZ3JpbQoKcHM6IGRlciBOYW1lIGRlciBGQVEgaXN0OiBtZy1mYXEudjk2ICA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIE1HLUZBUSwgbmV1ZSBNVURMSVNUIChEb3Jhbix2MDEzKSAoUGlsZ3JpbSwgMjguIE5vdiAxOTk0LCAxNjozMTozNSk6CiMhIHJuPVBpbGdyaW0gcnQ9Nzg2MDMzNjIzCkhpLAoKYmVyaWNodGlndW5nOiBkaWUgTkVVRSBmYXEgbWl0OiBtYWlsIG11ZEBtdWQudW5pLW11ZW5zdGVyLmRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdDogZmFxCiAgICAgICAgICAgICAgIHp1IGJla29tbWVuIHR1dHMgTk9DSCBuaWNodCwgYWJlciBkYXMgaXN0IG51ciBlaW5lIHNhY2hlIGRlcgp6ZWl0IC4uLgoKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdVUlBTIChUaWxpb24sIDI4LiBOb3YgMTk5NCwgMTc6MjY6MTApOgojISBybj1ZZW5kaSBydD03ODYwMjgwMzQKWmllbWxpY2ggZ3V0IGRhcyBTeXN0ZW0uLi5hYmVyIGViZW4gbmljaHQgZGFzIGJlc3RlISEhCkhhdCBqZW1hbmQgZGllIGRldXRzY2hlIFVZTkQgZW5nbGlzY2hlIEF1c2dhYmUgZ2VsZXNlbj8KV3VlcmRlIG1pY2ggbWFsIGludGVyZXNzaWVyZW4gd2llIGd1dCBkaWUgdWViZXJzZXR6dW5nIGdlbHVuZ2VuIGlzdC4KVGlsaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHVVJQUyAoWWVuZGksIDI4LiBOb3YgMTk5NCwgMTc6MzY6MTIpOgojISBybj1UaWxpb24gcnQ9Nzg2MDM5OTcwCgpJY2ggaGFiZSBiZWlkZSwgZGllIGVuZ2xpc2NoZSB1bmQgZGllIGRldXRzY2hlIFZlcnNpb24gKHp1bWluZGVzdCwgc29iYWxkCkVscmljIG1pciBkaWUgZW5nbGljc2NoZSB3aWVkZXJnaWJ0ISBPZGVyIGhhYiBpY2ggc2llIG51ciB1bnRlciBDaGFvcwpiZWdyYWJlbj8pLiBEaWUgVWViZXJzZXR6dW5nIGlzdCBvcmRlbnRsaWNoLCBsYXR1ZXJuaWNoIHNpbmQgZWluaWdlCkRyZWNrZnVobGVyIHJlaW5nZWtvbW1lbiwgYWJlciBpbnNnZXNhbXQgaXN0IGRhcyBXZXJrIHdvaGxnZXJhdGVuLiBEaWUKZGV1dHNjaGUgQXVzZ2FiZSBlbnRoYWVsdCBhdWNoIGplZGUgTWVuZ2UgRXJnYWVuenVuZ2VuIHVuZCBadXNhZXR6ZS4uLiBBdWNoCmRpZSBBdWZtYWNodW5nIGdlZmFlbGx0IG1pci4KCkhhY2guLi4gOikKCk9LLCBPSywgZ2VudWcgZ2VzY2h3YWVybXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbiAoQm9pbmcsIDI4LiBOb3YgMTk5NCwgMTg6MjY6NDIpOgojISBybj1CZWxkaW4gcnQ9Nzg2MDQxNDYyClNvIGthbm4gbWFuIGFiZXIgYXVjaCBuaWNodCBhcmd1bWVudGllcmVuLCBCZWxkaW4sIGRhbm4gbXVlc3N0ZW4gYWxsZSBOYW1lbgp3aWUgS2lyaywgTG9jdXR1cywgR3VsZHVrYXQgLi4uIGF1Y2ggZ2ViYW5pc2h0IHdlcmRlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmFtZW4gKEdyaW1tYm9ybiwgMjguIE5vdiAxOTk0LCAxODo0Mjo1OCk6CiMhIHJuPUJvaW5nIHJ0PTc4NjA0MzYwMgoKVW5kIEJvaW5nIG5pY2h0IHp1IHZlcmdlc3Nlbi4gV2FzIHNvbGwgZWluIEZsdWd6ZXVnaGVyc3RlbGxlciBpbQpGYW50YXN5bWlsaWV1IChwdWgsIHNjaHdlcmVzIFdvcnQpPwoKWVRHZEEgKHdvbGx0ZSBpY2ggYXVjaCBtYWwgcHJvYmllcmVuLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFtZW4gKEFuYXRvbCwgMjguIE5vdiAxOTk0LCAxODo0NTo0NSk6CiMhIHJuPUdyaW1tYm9ybiBydD03ODYwNDQ1NzgKWnVyIFZlcnRlaWRpZ3VuZyBCb2luZ3M6CgpEZXIgRmx1Z3pldWdoZXJzdGVsbGVyIGhlaXNzdCBCb2VpbmcuLi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOYW1lbiAoWWVuZGksIDI4LiBOb3YgMTk5NCwgMTg6NDg6NTEpOgojISBybj1BbmF0b2wgcnQ9Nzg2MDQ0NzQ1CgpLb21pc2NoLi4uCgpJY2ggZGFjaHRlIGltbWVyLCBkZXIgTmFtZSBCb2Vpbmcgd2FlcmUgbGF1dG1hbGVyaXNjaCBmdWVyIGlocmUgTGFuZHVuZ2VuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbiAoSW1wb3RlbnRvciwgMjguIE5vdiAxOTk0LCAxODo0OTo0NSk6CiMhIHJuPUJlbGRpbiBydD03ODYwNDE0NjIKSWNoIGZyYWdlIG1pY2ggb2IgbWFuIGRhcyBtaXQgZGVuIG5hbWVuIHNvIGVybnN0IG5laG1lbiBtdXNzLi4uIGljaCBmYWVuZGUgZXMKYXVzZ2VzcHJvY2hlbiB0cmF1cmlnIHdlbm4gbWFuIHZvbSBuYW1lbiBhdWYgZGllIHBlcnNvbiBzY2hsaWVzc2VuIGtvZW5udGUgIQpEYXMgTmFtZW4gd2llIEhpdGxlciBuaWNodCBnZWR1bGRldCB3ZXJkZW4ga29lbm5lbiBpc3QgamEgd29obCBzb3dpZXNvIGplZGVtCmtsYXIgYWJlciBGaWNrZnJvc2NoIG9kZXIgS290emJyb2NrZW4gLi4gbWVpbmUgZ3VldGUgZGEga2FubiBpY2ggbWlyIG5pY2h0cwpib2VzZXMgYmVpIGRlbmtlbi4gSmVkZXIgc29sbCBoYWx0IGRlbiBuYW1lbiBuZWhtZW4gZGVyIGlobSBhbSBiZXN0ZW4gZ2VmYWVsbHQKLiBXZW5uIG1hbiBpaG0gZGFyYXVzIGVpbmVuIFN0cmljayBkcmVoZW4gd29sbHRlLCB3YWVyZSBkYXMgbWl0IHNpY2hlcmhlaXQKYXVjaCBlaW5lIHZlcmxldHp1bmcgZGVzIHJlY2h0cyBhdWYgZnJlaWUgZW50ZmFsdHVuZyB1bmQgbWVpbnVuZ3NhZXVzc2VydW5nICwKZXRjIHVuZCBkaWUgc29sbHRlIGF1Y2ggaW0gbXVkIGJlaGVyemlndCB3ZXJkZW4gc29sYW5nZSBlcyBuaWNodCBhdWYga29zdGVuCmFuZGVyZXIgZ2VodCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5hbWVuIChGaWNrZnJvc2NoLCAyOC4gTm92IDE5OTQsIDE5OjAwOjA1KToKIyEgcm49SW1wb3RlbnRvciBydD03ODYwNDQ5ODUKRGEgaXN0IHVlYnJpZ2VucyBncmFkIGplbWFuZCBlaW5nZWxvZ2d0ICwgZGVyIGhlaXNzdCBsYWJvcnJhdHRlISEKV2Vpb3dlaW93ZWksIHdlbm4gZGFzIG5pY2h0IGVpbmRldXRpZyB1bnRlciBkaWUgZ3VlcnRlbGxpbmllIGdlaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9md3lyIChHcmltbWJvcm4sIDI4LiBOb3YgMTk5NCwgMTk6NTQ6MzMpOgojISBybj1Fcm9zIHJ0PTc4NjA0ODY3MAoKSG1tLCBpY2ggdmVyc3RlaGUgRGVpbmUgQXVmcmVndW5nIG5pY2h0LCBFcm9zLgpEYXNzIFRyb3kgd2FzIGRhZ2VnZW4gaGF0LCB3ZW5uIG1hbiBzZWluZSBzb3JnZmFlbHRpZyBwcm9ncmFtbWllcnRlbiBOUENzCnVtbGVndCBpc3QgbmljaHQgZXJzdCBzZWl0IGdlc3Rlcm4gYmVrYW5udC4gV2VubiBEdSB0cm90emRlbSBuaWNodCBkaWUgRmluZ2VyCmRhdm9uIGxhc3NlbiBrYW5uc3QgYmlzdCBEdXMgbGV0enRlbiBlbmRlcyBzZWxiZXIgc2NodWxkLi4uCgpHZWdlbiBTY2h1cHBlbnBhbnplciBoaWxmdCBudXIgQ3Jpc2FuIQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbiAoWWFudHJvLCAyOS4gTm92IDE5OTQsIDA5OjExOjI5KToKIyEgcm49QmVsZGluIHJ0PTc4NjA0MTQ2MgoKSGksIEJlbGRpbi4uLgoKQWxzbyBpY2ggZmluZGUgZXMgZWluZmFjaCBkb29vb2YsIHdlbm4gRHUgbWVpbnN0LCBkYXNzIGhpZXIgbnVyIE5hbWVuCmhlcmdlaG9lcmVuLCBkaWUgd2FzIG1pdCBmYW50YXN5IHp1IHR1biBoYWJlbiEgV2lyIHNpbmQgaW0gTUcgZG9jaAplaWdlbnN0YWVuZGlnIHVuZCBuaWNodCBhdWYgaXJnZW5kd2VsY2hlIExpdGVyYXR1cnZvcmdhYmVuIGFuZ2V3aWVzZW4sIHdlbm4KZGFzIGF1Y2ggb2Z0IHBhc3NpZXJ0LgoKV2FzIGVpbmlnZSAiR2VzaW5udW5nc25hbWVuIiBhbmdlaHQsIHNvIGlzdCBkYXMgZWdhbCwgc29sYW5nZSBzaWUgbmljaHQKYSkgdW50ZXIgZGVyIEd1ZXJ0ZWxsaW5pZSBzaW5kIG9kZXIKYikgZWluZW4gYW5kZXJlbiBTcGllbGVyIGRpcmVrdCBvZGVyIGluZGlyZWt0IGJlbGVpZGlnZW4gb2RlcgpjKSBlaW5lbiB1bnNjaG9lbmVuIGdlc2NoaWNodGxpY2hlbiBIaW50ZXJncnVuZCBoYWJlbi4KCkljaCBoYWJlIG1pdCBFcnNjaHJlY2tlbiBmZXN0c3RlbGxlbiBtdWVzc2VuLCBkYXNzIGVzIGVpbmVuIFNwaWVsZXIgbmFtZW5zCiJIaW1tbGVyIiBnaWJ0IDooLgoKV2VubiBEaWUgUHVua3RlIG9iZW4gZWluZ2VoYWx0ZW4gd2VyZGVuLCBkYW5uIGplZGVyIHNvLCB3aWUgZXIgd2lsbC4uLgoKICAgICAgICAgICBZYW50cm86KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmFtZW4gKER1cmlhbiwgMjkuIE5vdiAxOTk0LCAwOTozNTozMSk6CiMhIHJuPUFuYXRvbCBydD03ODYwNDQ3NDUKQm9pbmcgaGF0IHNpY2ggZG9jaCBudXIgdmVyc2NocmllYmVuISEgOi0pCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmFtZW4gKEtldG9zLCAyOS4gTm92IDE5OTQsIDEwOjI0OjQ1KToKCk1hbiBzb2xsdGUgYWxsZSBuZXVlbiBOYW1lbiBkaWUgRipDSyBlbnRoYWx0ZW4gc3BlcnJlbiwgZGFubiB0cml0dCBkYXMKUHJvYmxlbQpuaWNodCBtZWhyIGF1Zi4KLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYW1lbiAoQmVsZGluLCAyOS4gTm92IDE5OTQsIDEwOjI0OjUzKToKIyEgcm49Qm9pbmcgcnQ9Nzg2MDQzNjAyCkVyc3RlbnMgbWVpbnRlIGljaCBkaWUgV0lSS0xJQ0ggdWVibGVuIE5hbWVuIHVuZCB6d2VpdGVucyBmaW5kZSBpY2ggenVtaW5kZXN0CmRpZSBsZXR6dGVuIGJlaWRlbiB2b24gRGlyIGF1ZmdlZnVlaHJ0ZW4gc293aWVzbyBuaWNodCBiZXNvbmRlcnMgb3JpZ2luZWxsLgpEZXJsZWkgTmFtZW4gdGF1Y2hlbiBkb2NoIGhpZXIgaW4gcmVnZWxyZWNodGVuIFdlbGxlbiBhdWYsIGVyc3QgZGllClN0YXJUcmVrLVdlbGxlLCBkYW5uIHZpZWxsZWljaHQgZGllIFN0YXJXYXJzLVdlbGxlIHVuZCB3YXN3ZWlzc2ljaG5vY2hhbGxlcy4uLgpXbyBzb2xsIGRhcyBkZW5uIG5vY2ggaGluZnVlaHJlbj8gTWFuIGhhZXR0ZSBkYSB2b24gQW5mYW5nIGFuIG5lbiBSaWVnZWwKZGF2b3JzY2hpZWJlbiBzb2xsZW4hCgpTRU5GIE9GRiwgRW5kZSB1bmQgYXVzLgpZVEIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hbWVuIChCb2luZywgMjkuIE5vdiAxOTk0LCAxMDo0MDo0OSk6CiMhIHJuPUtldG9zIHJ0PTc4NjEwMTA4NQpJY2ggZnJhZyBtaWNoIHdpZXNvPyBKZWRlciBzb2xsIHNlaW5lbiBOYW1lbiB3YWVobGVuLCB3aWUgZXIgd2lsbCwgZGllCmt1ZW5zdGxpY2hlIEF1ZnJlZ3VuZyB2ZXJzdGVoIGljaCB1ZWJlcmhhdXB0IG5pY2h0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYW1lbiAoVG9ldGVyLCAyOS4gTm92IDE5OTQsIDEzOjEzOjA3KToKIyEgcm49WWFudHJvIHJ0PTc4NjA5NjY4OQpWb24gbWlyIGF1cyBrb2VubmVuIHNpY2ggZGllIExldXRlIGF1Y2ggSGl0bGVyIG5lbm5lbi4gV2VubiBkaWUgc2ljaAplbnRzcHJlY2hlbmQgYmVuZWhtZW4gKHdhcyB3b2hsIGFuenVuZWhtZW4gaXN0KSwgc2VoZW4gZGllIGhpZXIgZWgga2VpbmUKU29ubmUuCiBUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaXRsZXIuLi4gKFN0YWhsZG9ybiwgMjkuIE5vdiAxOTk0LCAxNDoyNzowMyk6CkFsc28gaWNoIHdhZXJlIGRhZnVlciAiSGl0bGVyIiBhbHMgTmFtZW4genUgZXJsYXViZW4uCkRlciBlcnN0ZSBkZXIgc2ljaCBkYW5uIHVudGVyIGRpZXNlbSBuYW1lbiBlaW5sb2dndCB3aXJkIHNvbWl0IHZvZ2VsZnJlaQplcmtsYWVydCB1bmQgdm9uIGRlciBQSyBSZWdlbCBhdXNnZXNjaGxvc3Nlbi4KV2FlciBkYXMgd2FzID8gOikKTnVyIHNvIGVpbmUgSWRlZS4KCiAgICAgICAgICAgIFNUQUhMIGZyZXV0IHNpY2ggc2Nob24gZHJhdWYsIEhpdGxlciB1bXp1aGF1ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaWxiZXJ0cyBUdXJtIGdlYWVuZGVydCAoUnVtYXRhLCAyOS4gTm92IDE5OTQsIDE1OjM1OjU5KToKV2llIG1pciBIaWxiZXJ0IHNvZWJlbiBtaXR0ZWlsdGUsIHd1cmRlIGRpZSBBdG1vc3BoYWVyZSBpbiBzZWluZW0gVHVybQpsZWljaHQgdmVyYWVuZGVydC4gU3BpZWxlciBzb2xsdGVuIGtlaW5lbiBVbnRlcnNjaGllZCBtZXJrZW4sIG1pdCBkZXIKYXVzbmFobWUsIGRhc3MgZXMgZG9ydCBuaWNodCBtZWhyIGdhbnogc28gdW5oZWltbGljaCBpc3QuCgpCdWdyZXBvcnRzIGJpdHRlIGFscyBlbWFpbCBhbiBSdW1hdGEKCkNpYW8KUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb21lbiBlc3QgRGluZ2Vuc2tpcmNoZW4gKGphIGphIE9tZW4sIHdlaXNzIGljaCBzdWNoKSAoT2V0dGksIDI5LiBOb3YgMTk5NCwgMTU6Mzk6MDIpOgpTb29vb28uLi4KCklyb25pZSBPbgoKSWNoIGJpbiBkYWZ1ZXIsIGRhc3MgbWFuIGFsbGUgTmFtZW4gZGllIEdld2lzc2UgQnVjaHN0YWJlbiBlbnRoYWx0ZW4KYmFudXNoZWQuCihlaGggYmFuaXNoZWQgdHlwbywgaWNoIGthbm4gRW5nbGlzY2gsIG51dCB6dXIgdm9yc29yZ2UgLi4uIDotKQpGZWlsIHNvIGZpZWxlIGZpZXNlIEZvZXJ0ZXIgZmFuZ2VuIG1pdCBGIGFuIHdpZSB6LkIuOgpGcmVjaCwgRmllcywgRmluZ2VyLCBGcmVpaGVpdCwgRmlzYWdlLCBGaXNrdXMsIEZpbW1lbCwgRmlja2VuLCBGSUNLRlJPU0NILApGYWxsdXMsIEZvcm1icmllZgosRmVyZGFtbXQsIEZvbGwsIEZyZWlkZW4sIEZlcmxhZW5nZXJ1bmcsIEZlcmllbiwgRm9ydXJ0ZWlsLCBGYWxhbmNlLCBGcmVpdHosCkZyYXR6ZSwgRnVtbWVsLCBGZXJ0aWcsIEZvbiwgRnJpc2NoLApGcmVzc2UsIEZyYWNrLCBGcmlzdXIsIEZlcmhhZWx0bmlzLCBGb2VsbGVyZWksIEZvbHRlciwgRmVya2VsLApGcnVzdCxGZW50aWxhdG9yLCBGb3JtZWwsCkZlcmVpbiwgdXN3LiBldGMuCgpJcm9uaWUgQXVzCgpGbGFtZSBPbgoKV2FzIGljaCBzYWdlbiB3aWxsOiBJY2ggaGFldHRlIG5pZSBnZWRhY2h0LCBkYXNzIGVzIHNvIHZpZWxlIEtsZWluZ2Vpc3RlcgpnaWJ0LCBkaWUgc2ljaCB1ZWJlciBqZWRlbgpEcmVjaywgc28gZGVyYXJ0aWcgYXVmcmVnZW4ga29lbm5lbiwgd29mdWVyLCB3YXMgc29sbCBkYXMsIHdpZSBUb2l0c2NoIHNlaWQKaWhyCmVpZ2VudGxpY2ggPz8/Pz8/CkZsYW0gT2ZmCgpFaW4gZXR3YSBmZXJ3aXJydGVyIHVuZCBmZXJhZXJnZXJ0ZXIgT2V0dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZvbiBIYXJkaWw6IE5hbWVuIChCb2luZywgMjkuIE5vdiAxOTk0LCAxNjoxNzozNik6ClNvcnJ5LCBoYWIgdmVyc2VoZW50bGljaCBkZW4gZmFsc2NoZW4gQXJ0aWtlbCBnZWxvZXNjaHQsIGhpZXIgbm9jaG1hbApkZXIgQXJ0aWtlbCB2b24gSGFyZGlsOgoKUmVeMzogTmFtZW4gKEhhcmRpbCwgMjkuIE5vdiAxOTk0LCAxMTo1MTozMSk6CihCZXp1ZzogQXJ0aWtlbCAxMDcgdm9uIEltcG90ZW50b3Igdm9tIDI4LiBOb3YgMTk5NCwgMTg6NDk6NDUpClNFTkYgT04KU29ycnkgYWJvdXQgdGhhdCwgYWJlciBpY2gga2FubiBkYXMgR2VmYXNlbCB1ZWJlciAiZnJlaWUgRW50ZmFsdHVuZyB1bmQKTWVpbnVuZ3NhZXVzc2VydW5nIiBuaWNodCBtZWhyIGhvZXJlbi4gSWNoIGdsYXViZSwgZGFzIE1HIGlzdCBuaWNodCBkYWZ1ZXIKZGEsCmRhc3MgamVkZXJmcmF1L21hbm4gc2VpbmUgcGVyc29lbmxpY2hlIFNhdSByYXVzbGFzc2VuIGthbm4uIFdpciBzaW5kIGhpZXIgaW4KZWluZW0gU3lzdGVtLCBkYXMgdm9uCkxldXRlbiBpbiB2aWVsIEFyYmVpdCBhdWdlYmF1dCB3dXJkZSB1bmQgYW0gTGViZW4gZXJoYWx0ZW4gd2lyZCwgdW5kIGRpZXNlCkxldXRlIGhhYmVuIFJlZ2VsbiBhdWZnZXN0ZWxsdCwgdW5kIGFuIGRpZSBoYXQgbWFuIHNpY2ggYWxzIE1pdHNwaWVsZXIgenUKaGFsdGVuLiBVbmQgd2VubiBlaW5lIFJlZ2VsIGlyZ2VuZHdhbm4gbGF1dGVuIHd1ZXJkZSwgZGFzcyBudXIgbm9jaApGYW50YXN5LWJlem9nZW5lIE5hbWVuIGV4aXN0aWVyZW4KZHVlcmZlbiwgZGFubiBpc3QgZGFzIGhhbHQgc28uCkltIEFycy1NYWdpY2EtTXVzaCB6dW0gQmxlaXN0aWZ0IGdpYnQgZXMgc28gZWluZSBCZXNjaHJhZW5rdW5nLiBVbmQ/IEljaApmaW5kZSwgZXMgaXN0IG5pY2h0IHNvbmRlcmxpY2ggc2Nod2VyLCBzaWNoIG1pdCBzb2xjaGVuIFJlZ2VsbiB6dQphcnJhbmdpZXJlbi4KU2VsYnN0IHdlbm4gbWFuIGRhbm4gbmljaHQgbWVociBzZWluZSAiZnJlaWUgTWVpbnVuZyIgZW50ZmFsdGVuIGthbm4uClNFTkYgT0ZGCgpZVEgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB2b24gSGFyZGlsOiBOYW1lbiAoQm9pbmcsIDI5LiBOb3YgMTk5NCwgMTY6MTg6MzIpOgojISBybj1Cb2luZyBydD03ODYxMjIyNTYKVGphLCB1bmQgaWNoIGthbm4gZGFzIEdlZmFzZWwgbmljaHQgbWVociBob2VyZW4sIGRhc3MgZXMgc28gZWluZSBSZWdlbAphbnNjaGVpbmVuZCBnaWJ0OiBJQ0gga2VubmUga2VpbmUgUmVnZWwsIGRpZSBzYWd0LCB3ZWxjaGUgTmFtZW4gZGVtIGd1dGVuCkdlc2NobWFjayBlbnRzcHJlY2hlbiB1bmQgd2VsY2hlIG5pY2h0LiBIYXJkaWwsIHdpbGxzdCBEVSBkYXMgZW50c2NoZWlkZW4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb21lbiBlc3QgRGluZ2Vuc2tpcmNoZW4gKGphIGphIE9tZW4sIHdlaXNzIGljaCBzdWNoKSAoQmVsZGluLCAyOS4gTm92IDE5OTQsIDE2OjI3OjI5KToKIyEgcm49T2V0dGkgcnQ9Nzg2MTE5OTQyCkxhbmdzYW0gZnJhZ2UgaWNoIG1pY2gsIHdhcyBlaWdlbnRsaWNoIGRpZXNlIFZlcmFsbGdlbWVpbmVydW5nZSBzb2xsZW4uCkVzIGthbm4gZG9jaCBuaWNodCB3dWVuc2NoZW5zd2VydCBzZWluLCBkaWUgb2huZWhpbiBhYiB1bmQgenUgZ2VzcGFubnRlCkF0bW9zcGhhZXJlIGhpZXIgaW0gTUcgYXVjaCBub2NoIGR1cmNoIG9mZmVuc2ljaHRsaWNoIGRpZSBOZXR6ZXRpa2V0dGUgKE5vY2gKbmllIGRhdm9uIGdlaG9lcnQgd2FzPykgdmVybGV0emVuZGUgQWV1c3NlcnVuZ2VuIChhdWNoIGluIE5hbWVuKSB6dXNhZXR6bGljaAp2ZXJzY2hsaW1tZXJ0IHdpcmQuCkRlc2hhbGIga2FubiBpY2ggRGVpbmVuIEFydGlrZWwgYXVjaCBuaWNodCBzbyBnYW56IGJlZ3JlaWZlbiBPZXR0aS4uLgpWaWVsbGVpY2h0IGVya2xhZXJ0IG1pciBtYWwgamVtYW5kIHdhcyBkYXJhbiBzbyBvYmVyY29vbCBvZGVyIGx1c3RpZyBvZGVyCnBhc3NlbmQgaXN0LCBzaWNoIGVpbmVuIE5hbWVuIG1pdCAnRmljaycgJ0Z1Y2snIG9kZXIgc29uc3RpZ2VtCkZhZWthbC1Wb2thYnVsYXIgenUgZ2ViZW4gLSBpY2ggd2FlcmUgZnVlciBkaWVzZSBFcmxldWNodHVuZyBhZXVzc2Vyc3QKZGFua2Jhci4KCkJlbGRpbiAtIGxlaWNodCB2ZXJhZXJnZXJ0IHVuZCBOSUNIVCBZVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmFtZW4gKENhcmFkaHJhcywgMjkuIE5vdiAxOTk0LCAxOToxNzowNCk6CiMhIHJuPVlhbnRybyBydD03ODYwOTY2ODkKICAgICAgICAgICAgICAgSHVodQoKRGVuIFNwaWVsZXIgbmFtZW5zIEhpbW1sZXIgaGF0dGUgaWNoIHdhZWhyZW5kIGVpbmVyIERpc2t1c3Npb24gdWViZXIKJ2FsbGdlbWVpbmVzJyBlaW5nZWxvZ2d0LCB3ZWlsIGljaCBlaW5mYWNoIG5pY2h0IHZlcnN0ZWhlbiBrb25udGUsIGRhc3MKZXIgbmljaHQgZ2ViYW5pc2h0IHd1cmRlLiBVbmQgZWluIG9iZXJlciBNYWdnaWUgd29sbHRlIGRlbiBOYW1lbgonSGltbWxlcicgbmljaHQgYmFuaXNoZW4sIGRhcmF1ZmhpbiBsb2dndGUgaWNoIEhpbW1sZXIgZWluZmFjaCBlaW4KdW5kIHZlcmdhc3NlIExFSURFUiBzZWluIHBhc3N3b3J0LCB0YXQgbWlyIGphIHNvIHNjaHJlY2tsaWNoIGxlaWQsIGRhc3MKaWNoIHNvIHZlcmdlc3NsaWNoIGJpbi4gRGFyYXVmaGluIGRyb2h0ZSBtaXIgZGVyIE1hZ2llciBkYW5uIG1pdCBTcGVycmVuCm1laW5lciBGaWd1ciAnQ2FyYWRocmFzJyB3ZWdlbiBNaXNzYnJhdWNocyB2b24genUgdmllbGVuIFp3ZWl0aWVzLgoKVGphLCBzbyBsZWlkIGVzIG1pciB0dXQsIG1laW5lbiBLb3BmIG11c3MgaWNoIGR1cmNoc2V0emVuIDopIExvZXNjaHQKSGltbWxlciwgd2VubiBpaHIgd29sbHQsIElDSCB3aWxsIHNvIGVpbmVuIE5hbWVuIG5pY2h0IGltIE11ZCBzZWhlbi4KCiAgICAgdHNjaG9lICAgICAgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0ClBTOiBVbmQgdm9uIE1hZ2llcm4gbWljaCBlcnByZXNzZW4genUgbGFzc2VuIG9kZXIgbWljaCB6dSB3YXMgendpbmdlbgp6dSBsYXNzZW4gaGFiIGljaCB3aXJrbGljaCBrZWluZSBMdXN0IGRyYXVmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lbiAoQ2FtcGlubywgMjkuIE5vdiAxOTk0LCAxOToyMDo0MCk6CkhpLAppY2ggZGVua2UgamVkZW0gc29sbHRlIGVzIHNlbGJzdCB1ZWJlcmxhc3NlbiBzZWluLCB3aWUgZXIgc2ljaCBuZW5udC4KQXVzc2VyZGVtIG11ZXNzdGUgZWluZSBNZW5nZSBTcGllbGVyIHVuZCBNYWdpZXIgZ2Vsb2VzY2h0IHdlcmRlbiwgb2Rlcgp6dW1pbmRlc3QgdW1iZW5hbm50IHdlcmRlbiwgd2VubiBzaWNoIHNvbGNoIGVpbmUgc3BpZXNzaWdlIE1laW51bmcKZHVyY2hzZXR6ZW4gc29sbHRlLgpBdXNzZXJkZW0ga2FubiBtYW4gYWxzIEtsZWlua2FyaWVydGVyLCBMZXV0ZSBtaXQgdW5hbmdlbmVobWVuIE5hbWVuLAppZ25vcmllcmVuLAp3aWUgbWFuIGRhcyBqYSBhdWNoIGltIFJMIG1hY2h0LgpVbmQgd2VubiBzaWNoIGplbWFuZCBtaXQsIGFlaCB3ZWlzcyBkZXIgVGV1ZmVsIHdpZSwgei5CLiBtaXQgJ0xhbGxCZWxkaW4nCmVpbi0KbG9nZ3QsIGthbm4gbWFuIGFscyBNYWdpZXIgamEgaGludGVyIGlobSBoZXJsYXVmZW4gdW5kIGlobiB6YXBwZW4sIGJpcyBlcgprZWluZSBMdXN0IG1laHIgYW0gTXVkIGhhdCwgZGF6dSBpc3QgJ3phcCcgamEgYXVjaCBkYS4KU293ZWl0IGRhenUsIHdvenUgc29sbCBlaWdlbnRsaWNoIGRpZXNlciBNdWQtVmVyZWluIGd1dCBzZWluID8KV2FzIGJyaW5ndCBlcyB1bmFiaGFlbmdpZyB2b24gZGVyIFVuaSB6dSBzZWluID8KV29sbHQgaWhyIGRhcyBNb3JnZW5HcmF1ZW4ga29tZXJ6aWVsbCBhdXNiZXV0ZW4gPyA6KQpOZWluIGltIEVybnN0LCB3b3p1IGRpZXNlciBWZXJlaW4sIHdlbGNoZSBWb3J0ZWlsZSBicmluZ3QgZXMgZ2VnZW51ZWJlcgpkZW4gYmlzaGVyaWdlbiBWZXJoYWVsdG5pc3NlbiwgYXVzc2VyIG5pY2h0IGRlciBzdGFlbmRpZ2VuIEdlZmFocgphdXNnZXNldHp0IHp1IHNlaW4sIGRhc3MgZWluIFByb2YuIHNpY2ggZWlubG9nZ3QsIHVuZCBzaWNoIGRlcm1hc3NlbiB1ZWJlcgpBcnRpa2VsIGluIGRlciBaZWl0dW5nIGF1ZnJlZ3QsIGRhc3MgZXIgZGllIFBsYXR0ZSBtaXQgZGVtIE11ZCBsb2VzY2hlbgpsYWVzc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOYW1lbiAoSXNub2dvb2QsIDMwLiBOb3YgMTk5NCwgMDE6Mjg6MzIpOgojISBybj1DYXJhZGhyYXMgcnQ9Nzg2MTMzMDI0CmRhIGhhYmVuIHdpciBkb2NoIHdpZWRlciBkZW4gTWFjaHRtaXNzYnJhdWNoIDotKQp0cm90eiBkZXMgU21pbGV5cyBldHdhcyBuYWNoZGVua2xpY2ggdWViZXIgc29sY2hlIFNpdHRlbgpJc25vZ29vZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb21lbiBlc3QgRGluZ2Vuc2tpcmNoZW4gKGphIGphIE9tZW4sIHdlaXNzIGljaCBzdWNoKSAoS2xpbmdlLCAzMC4gTm92IDE5OTQsIDAxOjQ0OjQ5KToKIyEgcm49QmVsZGluIHJ0PTc4NjEyMjg0OQpEYXMgaXN0IGRpZSBrbGVpbmUgdmVyYmFsZSBzdHVuZGVud2Vpc2UgUmV2b2x1dGlvbiBkZXJlciBkaWUgc2ljaCBzb25zdCBuaWUKd2FzIHRyYXVlbiB1bmQgZGllIGhpZXIsIHdvIE1hbWEgbmljaHQgZ3Vja3QsIHdlbmlnc3RlbnMgZWluZW4gYm9lc2VuIE5hbWVuCmhhYmVuIHdvbGxlbiA7KSkpKQpEYSBtdXNzIG1hbiBhbHMgRXJ3YWNoc2VuZXIgTmFjaHNpY2h0IHVlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIChZYW50cm8sIDMwLiBOb3YgMTk5NCwgMDk6MDM6MjQpOgojISBybj1DYW1waW5vIHJ0PTc4NjEzMzI0MAoKSWNoIHd1c3N0ZSBuaWNodCwgZGFzcyBkZXIgQmVmZWhsICJ6YXAiIGRhZnVlciBkYSBpc3QsIFNwaWVsZXIgenUKc2NoaWthbmllcmVuIHVuZCBlaW5lIE1hY2h0cG9zaXRpb24gYWxzIE1hZ2llciBhdXN6dW51dHplbi4gV2VubiBzaWNoIGVpbmVyCmFscyBMYWxsQmVsZGluIGVpbmxvZ2d0LCBkYW5uIHNvbGx0ZSBCZWxkaW4gbWl0IGlobSByZWRlbiB1bmQga2xhcnN0ZWxsZW4sIHdvCmRhc3MgUHJvYmxlbSBpc3QgdW5kIG5pY2h0IGVpbmZhY2ggZHJhdWZoYXVlbi4uLgoKICAgICAgICAgICAgICBZYW50cm8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFtZW4gKENhdHdlYXpsZSwgMzAuIE5vdiAxOTk0LCAwOTo0MjoxMCk6CiMhIHJuPUNhbXBpbm8gcnQ9Nzg2MTMzMjQwCkFlaCEKRGVyIEJlZmVobCAnemFwJyBpc3QgZ2FyYW50aWVydCBOSUNIVCBkYXp1IGRhLCBoaWxmbG9zZSBTcGllbGVyIHp1CnphcHBlbiB1bmQgc2llIHNvbWl0IHp1IGlyZ2VuZHdhcyB6d2luZ2VuLiBHZW5hdXNvIHdlbmlnIHNvbGx0ZW4KU3BpZWxlciBtaXQgaXJnZW5kd2VsY2hlbiBBbmRyb2h1bmdlbiB6dSBUYXRlbi9OaWNodHRhdGVuIGdlend1bmdlbgp3ZXJkZW4hIEZhbGxzIGljaCBqZW1hbHMgamVtYW5kZW4gZGFiZWkgZXJ3aXNjaGUsIGJla29tbXQgZXIgZ2FuegpmaWVzZW4gQWVyZ2VyIHZvbiBtaXIhIQpUcm90emRlbSBZb3VycyB0cnVseSwKICAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbiAoQm9pbmcsIDMwLiBOb3YgMTk5NCwgMTA6Mzg6MDEpOgojISBybj1ZYW50cm8gcnQ9Nzg2MTgyNjA0CkRlciBCZWZlaGwgJ3phcCcgaXN0IE5JQ0hUIGRhZnVlciBkYSwgaWhuIGFuIFNwaWVsZXIgYW56dXdlbmRlbiEKV2VyIGVzIHRyb3R6ZGVtIHR1dCwgbXVzcyBtaXQgS29uc2VxdWVuemVuIChSdWVja3N0dWZ1bmcsIFJhdXN3dXJmKSByZWNobmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIChCZWxkaW4sIDMwLiBOb3YgMTk5NCwgMTE6NTA6MDMpOgojISBybj1ZYW50cm8gcnQ9Nzg2MTgyNjA0CkhhbGxvIFlhbnRybyEKSWNoIG1vZWNodGUgaGllciBtYWwgd2FzIGtsYXJzdGVsbGVuOgpFcyB3YXIgc2Nob24gZWluZSBVbnZlcnNjaGFlbXRoZWl0IHZvbiBDYW1waW5vIGVpbiBCZWlzcGllbCBtaXQgbWVpbmVtIE5hbWVuCmFuenVmdWVocmVuLCB1bmQgZGFtaXQgdW50ZXJzY2h3ZWxsaWcgenUgYmVoYXVwdGVuIElDSCB3dWVyZGUgU3BpZWxlciBtaXQgc28KZWluZW0gTmFtZW4gemFwcGVuIHdvbGxlbi4gSWNoIGhhYmUgaWhtIHNjaG9uIGVpbmVuIGRpZXNiZXp1ZWdsaWNoZW4gQnJpZWYKZ2VzY2hyaWViZW4gd2VpbCBpY2ggbWVpbnRlIGRlcmFydGlnZSBQRVJTT0VOTElDSEUgQW5ncmlmZmUgZ2Vob2VyZW4gbmljaHQgaW4KZGllIE1QQS4KRGEgYWJlciBDYW1waW5vcyBTYWF0IG9mZmVuc2ljaHRsaWNoIGF1ZmdlZ2FuZ2VuIGlzdCBibGVpYnQgbWlyIG5pY2h0cwphbmRlcmVzIFVFQlJJRyBhbHMgaGllciBXSUVERVIgenUgc2NocmVpYmVuIQpaVU0gTEVUWlRFTiBNQUwgVU5EIEZVRVIgQUxMRTogWmFwcGVuIGF1cyBzb2xjaCBuaWNodGlnZW4gR3J1ZW5kZW4gaXN0IG5pY2h0CmVybGF1YnQsIGdld3VlbnNjaHQgb2RlciBnZWJvdGVuISEhIFVuZCBkYSBpY2ggbmljaHQgQ2FtcGlub3MgR2VzaW5udW5nIHRlaWxlCkhBTFRFIGljaCBtaWNoIGF1Y2ggZGFyYW4gKHNjaG9uIGF1cyBlaWdlbmVyIEFuc2NoYXV1bmcpLgpJU1QgREFTIEpFVFpUIEtMQVIgR0VXT1JERU4gT0RFUiBNVVNTIElDSCBERVVUTElDSEVSIFdFUkRFTj8KCk1pciByZWljaHRzIHdpcmtsaWNoIGxhbmdzYW0KCkJlbGRpbiAoZXJuc3RsaWNoIHNhdWVyIDooICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNDSFJFSSBESUNIIEZSRUkgISEhIChGbGludG5haWwsIDMwLiBOb3YgMTk5NCwgMTY6NDQ6NDkpOgoKTU9QUEVSIE9OOgoKU2VpdCBCZWdpbm4gZGVzIGxhdWZlbmRlbiBTZW1lc3RlcnMgd2lyZCB2b24gdmllbGVuICdOZXVlbicgZGVyIFJVRkUtQmVmZWhsCnN0YXJrIGdlbnV0enQuIFp1bSBncm9lc3N0ZW4gVGVpbCBudXIgZnVlciBhbGxnZW1laW5lIEJlbWVya3VuZ2VuLApHcmF0dWxhdGlvbmVuLCBwcml2YXRlICghKSBHZXNwcmFlY2hlIG9kZXIgUXVlc3RmcmFnZW4uIExldHp0ZXJlIGhhYiBpY2ggZ2VybmUKdW5kIHJlbGF0aXYgb2Z0IGJlYW50d29ydGV0LiBEYWJlaSBoYWIgaWNoIGF1Y2ggZ2xlaWNoIGF1ZiBkaWUgS2FuYWVsZQp2ZXJ3aWVzZW4sIGVpbmVuIEt1cnphYnJpc3MgZGFydWViZXIgdmVydGVsbHQgdW5kIGltbWVyIGRhcyBlbnRzcHJlY2hlbmRlCkhpbGZlLUtvbW1hbmRvIGFuZ2VnZWJlbi4gTGVpZGVyIHNjaGVpbmVuIGVzIHZpZWxlIG5pY2h0IG51dHplbiB6dSB3b2xsZW4gb2Rlcgprb2VubmVuIDooLiBEZXNoYWxiIGJpdHRlIGljaCBhbGxnZW1laW4gZnVlciBlaW5lIEVyaG9laHVuZyBkZXIgUnVmLUtvc3RlbjsKdm9yc3RlbGxiYXIgaXN0IGVpbiBXZXJ0IHZvbiA2MCBNUCBpbSBhbGxnZW1laW5lbiB1bmQgdmllbGxlaWNodCBpc3QgamEgYXVjaAplaW5lIEVybmllZHJpZ3VuZyBkZXIgTVAgYmVpIGRlciBTY2huZWVtYW5uUXVlc3QgcmVhbGlzaWVyYmFyICh3aWUgc2llaHQncwphdXMsIFdhcmxvY2sncyA6KT8gKS4KQnkgdGhlIHdheS4uLmRpZXNlciBBcnRpa2VsIHN0ZWh0IGFic2ljaHRsaWNoIGluIGRlciBSdWJyaWsgQWxsZ2VtZWluZXMuClZpZWxsZWljaHQga29lbm5lbiBlaW5pZ2UgZGVyIG9iZW4gZ2VuYW5udGVuIE5ld2JlZSdzIGphIGJlc3NlciBaZWl0dW5nIGxlc2VuCmFscyBLb252ZXJzYXRpb24gaW0gTUcgYmV0cmVpYmVuLgoKTU9QUEVSIE9GRgoKICAgICAgICAgZWluIGhvZmZlbmRlcgogICAgICAgICAgICAgICAgICAgICAgICBGbGludG5haWwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvcGxpc3RlIChLaXJrLCAzMC4gTm92IDE5OTQsIDE2OjQ1OjAzKToKSGFsbG8hCgpEaWUgVG9wbGlzdGUgc2llaHQgZGVyemVpdCBldHdhcyBtZXJrd3VlcmRpZyBhdXMsIGQuaC4gZXMgd2VyZGVuIHNpY2gKemFobHJlaWNoZSBTcGllbGVyIGRvcnQgbmljaHQgZmluZGVuLiBFcnN0IG5hY2ggZGVtIG5ldWVuIEVpbmxvZ2dlbiBzb2xsdGVuCnNpZSB3aWVkZXIgZG9ydCBhdWZ0YWNoZW4uIERhcyBoYXQgdGVjaG5pc2NoZSBHcnVlbmRlIC4uLgpBbHNvIGtlaW5lIEF1ZnJlZ3VuZy4gRGllIExpc3RlIHJlZ2VsdCBzaWNoIHZvbiBzZWxic3QuCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWlzdGVyIGluIEF0bGFudGlzIChBbnRoZWEsIDMwLiBOb3YgMTk5NCwgMTc6MDg6MzQpOgpMYXV0IEJlcmljaHRlbiB2b24gUmVpc2VuZGVuIHdpcmQgZGllIFdpbmRtdWVobGUgaGludGVyIEF0bGFudGlzIHNlaXQKbmV1ZXN0ZW0gdm9uIEdlaXN0ZXJuIGhlaW1nZXN1Y2h0LiBEYSBpY2ggc28gZXR3YXMgbmljaHQgZHVsZGVuIGthbm4sIHN1Y2hlCmljaCBBYmVudGV1cmVyLCBkaWUgZGllIHNjaG9lbmUgTXVlaGxlIHZvbiBkaWVzZXIgUGxhZ2UgYmVmcmVpZW4uCiAgICAgIEFudGhlYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUgdW5lbmRsaWNoIE5hbWVuIChGbGludG5haWwsIDMwLiBOb3YgMTk5NCwgMTc6MjA6MjYpOgpnb3R0YWNoZ290dC4uLi4KenUgd2FzIGVudHdpY2tlbHQgc2ljaCBkZW5uIGRpZXNlIERpc2t1c3Npb24/Pz8KCmRpZSBQYWxldHRlIHJlaWNodCBqYSBzY2hvbiB2b24gcGVyc29lbmxpY2hlbiBLbGVpbmtyaWVnZW4gYmlzIHp1IGRpdmVyc2VuClZlcmFsbGdlbWVpbmVydW5nZW4sIHdvYmVpIGF1Y2ggYWxsZSBtO2dsaWNoZW4gVm9ydXJ0ZWlsZSB6dSBmaW5kZW4gc2luZCEKCkhtLi4uLmljaCBoYWIgbWlyIG1hbCBHZWRhbmtlbiB1ZWJlciBtZWluZW4gTmFtZW4gZ2VtYWNodCB1bmQga2FtIHp1IGRlbm0KU2NobHVzczogRmxpbnRuYWlsIGthbm4gbWFuIHdlbm4gbWFuIHdpbGwgYXVjaCBzZXhpc3Rpc2NoICgnV29sbHQgaWhyIG1hbAptZWluZW4gZGlja2VuIEZsaW50bmFpbCBzZWhlbj8nKSwga3JpZWdzdmVyaGVycmxpY2hlbmQgKCdPaG5lIE5haWwgc2NoaWVzc3QKa2VpbmUgRmxpbnRlIScpIG9kZXIgYWxzIGFhbGdlbWVpbmUgVmVyYWNodHVuZyBkZXMgZGV1dHNjaGVuIFNwcmFjaGd1dGVzCihGbGludG5haWwgPT4gZW5nbGlzaCEpIHNlaGVuLi4uOikKCkhtbW1tLi4uLi4KICAgLi4uLi51bmQgZGFzZ2xlaWNoZSBzY2hhZmZlIGljaCBtaXQgamVkZW0gTmFtZW4gICA6KQogICBCZWlzcGllbGU/Pz8gQml0dGUgZ2VybmU6CiAgICAgICAgICAgYW4gbmVtIENhbXBpbm8gaGF0IG1hbiBsYW5nZSB3YXMgenUgbHV0c2NoZW4uLi46KQogICAgIGVpbiBGaWNrZnJvc2NoIGlzIG51ciB6dSBlaW5lbSBndXQKICAgICAgICAgICBtaXQgZGVyIHJpY2h0aWdlbiBLbGluZ2UgbWV0emVsdCBtYW4gcmljaHRpZwoKb2theSBtaXQgdmllbGVuIE5hbWVuLi4ubmljaHQgbWl0IGFsbGVuLi4uLgpBYmVyIGRhcyBpc3QgZG9jaCBuaWNodCB3ZXNlbnRsaWNoISEhCkRhcyBQcm9ibGVtIHNpbmQgZG9jaCBkaWUgQXNzb3ppYXRpb25lbiBpbSBLb3BmIGRlcyBMZXNlcnMoISksIGFsc28gZWluZXMKRWluemVsbmVuLgpIYWJ0IElociBFdWNoIG1hbCB1ZWJlcmxlZ3QsIHdpZXNpY2ggamVkZXIgZGVuIE5hbWVuIGdpYnQ/IEljaCBoYWIgMiBNaW51dGVuCm5hY2hnZWRhY2h0IHVuZCBkYW5uIEZsaW50bmFpbCBlaW5nZXRpcHB0Li4uYW5kZXJlIGxlc2VuIHdhaHJzY2hlaW5saWNoIGRpZQpOZXdQbGF5ZXIgLU1lbGR1bmcgdW5kIHNjaHJlaWJlbiBkYXMgZXJzdGUgd2FzIGlobmVuIGluIGRlbiBTaW5uIGtvbW10LiBBbHNvCmljaCBnbGF1YmUsIGRpZSBXRU5JR1NURU4gc3VjaGVuIHNpY2ggZWluZW4gcHJvdm9rYW50ZW4gTmFtZW4gYXVzIHVtIGRhbWl0CmFuZGVyZSBNdWQtQmV3b2huZXIgYXVmIGRpZSBQYWxtZSB6dSBicmluZ2VuICh3aWUgcGFyYW5vaWQgbXVzcyBtYW4gc2VpbiAsIHVtCnNvd2FzIHp1IGdsYXViZW4/KS4KRXMgZ2lidCBuZSBFdGlrZXR0ZSBoaWVyISBBYmVyIEJlZ3JpZmZlIHdpZSBGaWNrZnJvc2NoLCBLb3R6YnJvY2tlbiBvZGVyCkxhYm9ycmF0dGUgc2luZCBkb2NoIHdvaGwgemllbWxpY2ggaGFybWxvcypnZWxhZWNodGVyIG9uKi4KSG9lcnQgZG9jaCBtYWwgZWluZSBoYWxiZSBTdHVuZGUgbGFuZyBTdHVkZW50ZW4tR2VzcHJhZWNoZSBpbiBkZXIgTWVuc2EgYW4uCkljaCBiZXp3ZWlmZWwsIGRhcyBkYSAnZnJldW5kbGljaGVyZScgU3BpdHpuYW1lbiBmYWxsZW4uLi4udW5kIGRhbWl0IHNwcmljaHQKbWFuIGFuZGVyZSBhbi4uLm5pY2h0IHNpY2ggc2VsYnN0ISEhCgogICAgICBGbGludG5haWwgYW11ZXNpZXJ0IHNpY2ggaztuaWdsaWNoIHVlYmVyIGRpZXNlIERpc2t1c3Npb24hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIChDYW1waW5vLCAzMC4gTm92IDE5OTQsIDE4OjM0OjQ2KToKIyEgcm49WWFudHJvIHJ0PTc4NjE4MjYwNApJY2ggdmVyZ2Vzc2UgaW1tZXIgZGFzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUgdW5lbmRsaWNoIE5hbWVuIChGaWNrZnJvc2NoLCAzMC4gTm92IDE5OTQsIDE4OjQ5OjQyKToKIyEgcm49RmxpbnRuYWlsIHJ0PTc4NjIxMjQyNgpJY2ggd3VlcmQgbWFsIHNhZ2VuLCBGbGludG5haWwgdHJpZmZ0IGRlbiBOYWlsIGF1ZiBkZW4gS29wZiEKTWVociBicmF1Y2ggbWFuIHdvaGwgbmljaHQgbWVociBzYWdlbi4KRmlja2Zyb3NjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKPz8gKENhbXBpbm8sIDMwLiBOb3YgMTk5NCwgMTk6MTA6MDIpOgpFcyBzY2hlaW50IHdvaGwgbWl0dGxlcndlaWxlIGhpZXIgc28genUgc2VpbiwgZGFzcyBtYW4gamVkZW4gaXJvbmlzY2gKZ2VtZWludGVuIEJyaWVmIG1pdCBJUk9OSUUgT04gYmVnaW5uZW4gc29sbHRlLgpXZW5uIHNpY2ggaGllciBCZWxkaW4gcGVyc29lbmxpY2ggYW5nZWdyaWZmZW4gZnVlaGx0LCBzbyB0dXQgZXMgbWlyIGxlaWQsCm1laW4gQmVpc3BpZWwgaW0gdm9ybGV0enRlbiBCcmllZiAnTGFsbEJlbGRpbicgd2FyIG5pY2h0IGRhenUgZ2VkYWNodCwKaWhuIHBlcnNvZW5saWNoIHp1IGJlbGVpZGlnZW4sIGRlbm4gaWNoIGhhYmUgbmljaHRzIGdlZ2VuIGlobiAoSVJPTklFIE9GRikKOykgb2hoIGpldHp0IHdpcmRzIGtvbXBsaXppZXJ0LCBzb25kZXJuIGljaCB3b2xsdGUgYXVmIG1laW5lIHVuYmVob2xmZW5lCkFydCBlaW5pZ2Uga2xlaW5rYXJpZXJ0ZSBBcnRpa2VsLCBkaWUgenV2b3IgZXJzY2hpZW5lbiB3YXJlbiwgYXVmIGRpZQpzY2hpcHBlIHp1IG5laG1lbiwgZGFzcyBtaXIgZGFiZWkgYmVsZGlucyBuYW1lIGVpbmdlZmFsbGVuIGlzdCwgaXN0IGVoZXIKYWxzIHVuZ2x1ZWNrbGljaGVyIHp1ZmFsbCB6dSBiZXplaWNobmVuLgpFYmVuZmFsbHMgd2FyIGRhcyAnemFwcGVuJyBlYmVuZmFsbHMgbmljaHQgZXJuc3QgZ2VtZWludC4KRGllIGVpbnppZ2UgQXVzc2FnZSBkZXMgQXJ0aWtlbHMgc29sbHRlIHNlaW4gOgonTWlyIGlzdCBkaWUgTmFtZW5zZ2VidW5nIHZvZWxsaWcgZWdhbCwgdW5kIHdlbm4gc2ljaCBqZW1hbmQsIGF1cyB3ZWxjaGVuCiBHcnVlbmRlbiBhdWNoIGltbWVyLCBkdXJjaCBlaW5lbiBOYW1lbiBpbiBzZWluZXIgVm9yc3RlbGx1bmcgdm9tCiAibm9ybWFsZW4gTmFtZW4iIGFuZ2VncmlmZmVuIGZ1ZWhsdCwgc28gc3RlaHQgZXMgaWhtIGZyZWksIGFsbGVzIHdhcwogdm9uIGRpZXNlbSAiU2NoYWVuZGVyIGRlcyBLbGVpbmthcm9zIiBrb21tdCwgenUgaWdub3JpZXJlbi4nCgoKQ2FtcGlubywgd2lyZCBhdWNoIGlobiBadWt1bmZ0IGF1ZiBJUk9OSUUgT04gdmVyemljaHRlbiBrb2VubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDSFJFSSBESUNIIEZSRUkgISEhIChDYXJhZGhyYXMsIDMwLiBOb3YgMTk5NCwgMjE6MTY6MzEpOgojISBybj1GbGludG5haWwgcnQ9Nzg2MjEwMjg5CiAgICAgICAgICAgICAgICAgICAgICBIdWh1CgpJY2ggd2FlciBlaGVyIGZ1ZXIgZWluIHF1ZXJ5IGF1ZiBkaWUgbWF4LXNwIGJlaW0gYmVyZWNobmVuIGRlciBrb3N0ZW4gZnVlcnMKcnVmZW4sIGFlaG0sIGljaCBzYWdzIG1hbCBhdWYgbmljaHQtbHBjLWRldXRzY2ggOikKCkFsc28gaWNoIG1laW50ZSBlcyBhbnRlaWxpZyBhbiBkZW4gbWF4aW1hbGVuIE1hZ2llcHVua3RlbiwgZGllIG1hbiBoYWJlbgprYW5uLCBhbHNvIHpCIDUwIFByb3plbnQsIG9kZXIgdmllbGxlaWNodCA1MSA6KSBkYW5uIGthbm4gbWFuIG5pY2h0IDIgbWFsCmRpcmVrdCBoaW50ZXJlaW5hbmRlciBydWZlbi4gRGFzIG1pdCBkZW4gbXAgc2Vua2VuIGJlaW0gc2NobmVlbWFubnJhZXRzZWwKYWVoIGFiZW50ZXVlciBmaW5kIGljaCBhdWNoIHNlaHIgaW4gb3JkbnVuZy4KCiAgICAgICB0c2Nob2UgICAgICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoaXMgaXMuLi4gKE9ldHRpLCAgMS4gRGV6IDE5OTQsIDA4OjI3OjQ4KToKLi4udGhlIGxhc3Qgdm9pY2UgeW91IG1heSBldmVyIGhlYXIsIGRvIG5vdCBiZSBhbGFybWVkLi4uCgpIaSAhCkljaCBrbGluayBtaWNoIGF1cywgZGllIERpc2t1c3Npb24gdWViZXIgTmFtZW4gdW5kIFpldWdzIGZ1ZWhydCBpcmdlbmRzd2llIHp1Cm5peC4KKEF1c3NlciBNYWdlbmdlc2Nod3VlcmVuIHZpbGxlaWNodCkKClRzY2hvZSBLaW5uaW5ncywgdmllbGxlaWNodCBzb2xsdGVuIHdpciBlaW5mYWNoIG1laHIgc3BpZWxlbiB1bmQgbmljaHQKcGllbnplbi4uLgoKTGlmZSdzIGEgcGllY2Ugb2Ygc2hpdCwgd2hlbiB5b3UgbG9vayBhdCBpdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmF0ZSBtYWwgbWl0IFJvc2VudGhhbCAoQ2F0d2VhemxlLCAgMS4gRGV6IDE5OTQsIDEwOjAxOjEwKToKW1ZlcmxlZ3Qgdm9uIHNlaGVyLmVudHdpY2tsdW5nLCBDYW1waW5vLCAgMS4gRGV6IDE5OTQsIDA2OjMwOjI3XToKQmV2b3IgamV0enQgZWluZXIgbWl0IHVuZXJsYXVidGVyIFNwaWVsZXJoaWxmZSB1bmQgc28ga29tbXQsIG1vZWNodGUgaWNoCmRhcmF1ZmhpbndlaXNlbiwgZGFzcyBkdXJjaCBkaWUgRHVyY2hmdWVocnVuZyBlaW5lcyBRdWl6ZXMgZXh0cmVtIHp1cgpVbnRlcmhhbHR1bmcgYmVpZ2V0cmFnZW4gd3VyZGUsIGRpZSB3ZW5pZ2VuIE11ZW56ZW4gc2luZCBsZWRpZ2xpY2ggYWxzCkFucmVpeiB6dSBzZWhlbiwgZGFtaXQgZXJuc3RoYWZ0ZSBBbnR3b3J0ZW4gYXVmIGRpZSBGcmFnZW4ga29tbWVuLgpXYWVocmVuZCBkZXMgUXVpemVzIGhhZXR0ZSB3b2hsIGplZGVyIGRlciBTcGllbGVyLCBtZWhyIEdlbGQgZHVyY2gKTW9uc3RlciBzY2hsYWNodGVuIGJla29tbWVuIGtvZW5uZW4uCgpDYW1waW5vLCBkZW5rdCBzY2hvbiB3aWVkZXIgZWluZW4gU2Nocml0dCB3ZWl0ZXIgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoIHdhcyB6dSBuYW1lbiAoYXVjaCB3ZW5uJ3MgbGFuZ3NhbSBvZWRlIHdpcmQpIChLb3R6YnJvY2tlbiwgIDEuIERleiAxOTk0LCAxMDoxNzoyNSk6CkFsc28sZGEgYmVpIGRpZXNlciBEaXNrdXNzaW9uIGphIGRlc29lZnRlcmVuIG1laW4gTmFtZSBhbHMgQmVpc3BpZWwgYXVmLQp0YXVjaHRlLCBtb2VjaHQnIGljaCBkb2NoIGt1cnogd2FzIHNhZ2VuOiBiZWkgbWlyIHdhcidzIHNvIHdpZSBGbGludG5haWwKZXMgYmVzY2hyaWViZW4gaGF0LCBqZWRlbmZhbGxzIGZhc3QuIEFscyBkYSB6dW0gZXJzdGVubWFsIGRpZSBGcmFnZQond2llIGhlaXNzdCBkdSBkZW5uPycga2FtLCBoYXR0ZSBpY2gga2VpbmUgbHVzdCBtaXIgZWluZW4gc3VwZXJjb29sZW4KTmFtZW4gYXVzenVkZW5rZW4sIHNvbmRlcm4gdGlwcHRlICdrb3R6YnJvY2tlbicgZWlnZW50bGljaCBlaW5mYWNoIG51cgphdXMgU2NoZWlzcy4gRWlnZW50bGljaCBnZWRhY2h0ZSBpY2ggamEgbmljaHQsIG1pdCBkaWVzZW0gTmFtZW4gd2VpdGVyenUtCnNwaWVsZW4sIGFiZXIgZXMgc3RlbGx0ZSBzaWNoIGhlcmF1cyxkYXNzIGljaCBtaXQgZGllc2VtIENoYXIgZWluZmFjaCB2aWVsCm1laHIgenQgZmFuZCwgYWxzIG1pdCBlaW5lbSBhbmRlcmVuLCBkZW4gaWNoIGRhbm4gc3BhZXRlciBtaXQgZWluZW0gJ3Zlci0KbnVlbmZ0aWdlbicgTmFtZW4gZWlubG9nZ3RlLiBEYSBtaXIgcGVyc29lbmxpY2ggZGVyIE5hbWUgZG9jaCByZWxhdGl2IGlzdCwKaGFiIGljaCBoYWx0IGVpbmZhY2ggbWl0ICdLb3R6YnJvY2tlbicgd2VpdGVyZ2VzcGllbHQuIFdhciBhbHNvIG1laHIgb2Rlcgp3ZW5pZ2VyIGVpbiBadWZhbGwuLi4gIFRqYSB3YXIgZGFzIG5pY2h0IGVpbmUgbmV0dGUga2xlaW5lIEdlc2NoaWNodGU/ClVlYnJpZ2VucyBiaW4gaWNoIHRyb3R6IG1laW5lcyBOYW1lbnMgcmVjaHQgdW1nYWVuZ2xpY2gsZGVua2UgaWNoLgogICAgICAgICAgIEV1ZXIKICAgICAgICAgICAgICAgS290emkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2Vpc3RlciBpbiBBdGxhbnRpcyAoS3JldGVrLCAgMS4gRGV6IDE5OTQsIDIxOjA5OjI2KToKIyEgcm49QW50aGVhIHJ0PTc4NjIxMTcxNApPaCBqZSwgZWluZSBuZXVlIFF1ZXN0IGlzdCBhbmdlc2NobG9zc2VuIQpOYSwgd2VubiBkYXMgbmljaHQgd2llZGVyIDkyMzg3NzQyMjUwNyBCZXNjaHdlcmRlbiB2b24gYW5nZWhlbmRlbiBTZWhlcm4KZ2lidCwKZGllIHNpY2ggamV0enQgd2llZGVyIGF1ZiBkZW4gU2NobGlwcyBnZXRyZXRlbiBmdWVobGVuLCB3ZWlsIHNpZSBqZXR6dCBkb2NoCnRhdHNhZWNobGljaCBOT0NIIG1laHIgcXVlc3RlbiBtdWVzc2VuLCB1bmQgd2VpbCBlcyBqZXR6dCBOT0NIIGxhZW5nZXIKZGF1ZXJ0LCBiaXMgc2llIGVuZGxpY2ggU2VoZXIvTWFnaWVyIHdlcmRlbiBrb2VubmVuLi4uICAgOikKCmMgdSBsOGVyLAogICBLcmV0ZWsKICAgKGRlciBzaWNoIG1pdHRsZXJ3ZWlsZSBkYW1pdCBhYmdlZnVuZGVuIGhhdCwgZGFzcyBlcyBiZWkgc2VpbmVtCmRlcnplaXRpZ2VuCiAgICBUZW1wbyB3b2hsIG5vY2ggSmFocmUgZGF1ZXJuIHdpcmQsIGJpcyBlcidzIGVuZGxpY2ggenVtIE1hZyBicmluZ3QuLi4KICAgIEFiZXIgd2FzIHNvbGwKICAgICAuLi4gVXBzISBTb2xsdGUgaGVpc3NlbiAic29sbCdzISIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlaXN0ZXIgaW4gQXRsYW50aXMgKEpvZiwgIDIuIERleiAxOTk0LCAwOTo1NjozNSk6CiMhIHJuPUtyZXRlayBydD03ODYzMTI1NjYKIEhtLCBkdSBzY2hlaW5zdCBkaWUgTmV1ZXJ1bmcgbmljaHQgbWl0YmVrb21tZW4genUgaGFiZW46IERpZSBub2V0aWdlbiBRUAp3ZXJkZW4gbmV1ZXJkaW5ncyBiZWltIGVyc3RlbiBFaW5sb2dnZW4gZmVzdGdlbGVndCAoYnp3IGJsZWliZW4gYmVpIGFlbHRlcmVuClNwaWVsZXJuIGJlaSBkZW0gV2VydCwgZGVyIHp1ciBaZWl0IGRlciBBZW5kZXJ1bmcgYWt0dWVsbCB3YXIsIDExOTYgb2RlciBzbyksCnVuZCBhZW5kZXJuIHNpY2ggYmVpbSBBbnNjaGx1c3MgbmV1ZXIgUXVlc3RzIG5pY2h0IG1laHIuIE1hY2ggRGlyIGFsc28Ka2VpbmUgU29yZ2VuLCBkYXMgWmllbCBsYWV1ZnQgRGlyIGpldHp0IG5pY2h0IG1laHIgd2VpdGVyIGRhdm9uIDopCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWlzdGVyIGluIEF0bGFudGlzIChLcmV0ZWssICAyLiBEZXogMTk5NCwgMjA6MDE6MDMpOgojISBybj1Kb2YgcnQ9Nzg2MzU4NTk1Ck5laW4sIEpvZiwgaWNoIGdsYXViZSwgZHUgaGFzdCBkYSBkaWUgbGVpY2h0IHNhcmthc3Rpc2NoZSBOb3RlIG1laW5lcgpsZXR6dGVuIFJlcGx5IG5pY2h0IGdhbnogbWl0YmVrb21tZW46IEljaCBoYWIgZGFzIGRvY2ggaGF1cHRzYWVjaGxpY2gKZ2VzY2hyaWViZW4sIHVtIGVpbiBwYWFyICJEYXVlcm1vdHplciIgZWluIGJpc3NjaGVuIGR1cmNoIGRpZSBTb3NzZSB6dQp6aWVoZW4uLi4KTWlyIG1hY2h0IGRhcyBuYWVtbGljaCBlaHJsaWNoIGdlc2FndCBnYXIgbmljaHRzIGF1cywgb2IgaWNoIGpldHp0IG5vY2gKZWluIHBhYXIgTW9uYXRlIChkYXMgaGVpc3N0LCBiZWkgbWVpbmVtIFRlbXBvIHdhaHJzY2hlaW5saWNoIEphaHJlISkKcXVlc3RlbiBtdXNzLCBiaXMgaWNoIGVuZGxpY2ggU2VoZXIvTWFnaWVyIHdlcmRlbiBrYW5uLCBvZGVyIG5pY2h0LAp3ZWlsIG1pcidzIG5hZW1saWNoIGVyc3RlbnMgU3Bhc3MgbWFjaHQsIHVuZCBpY2ggendlaXRlbnMgYXVjaCBuaXgKZ2VnZW4gZGFzIERhc2VpbiBhbHMgTExQIGhhYmUhIE1vcmdlbkdyYXVlbiBydWxlcyEhIQoKYyB1IGw4ZXIsCiAgIEtyZXRlawoKUC5TLjogTmVpbiwgSm9mLCBkYXMgc29sbCBqZXR6dCBOSUNIVCBoZWlzc2VuLCBkYXNzIGljaCBlcyBiZWdydWVzc2VuCiAgICAgICB3dWVyZGUsIHdlbm4gZHUgTUVJTkUgYmVub2V0aWd0ZW4gQVBzIGpldHp0IGF1ZiAxLjAwMC4wMDAKICAgICAgIGhvY2hzZXR6dCEgSXJnZW5kd2FubiB3aWxsIGljaCdzIGphIGRvY2ggc2NoYWZmZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHF1ZXN0IChHYXJmaWVsZCwgIDMuIERleiAxOTk0LCAwMTo1Mzo0MSk6CiMhIHJuPUFudGhlYSBydD03ODU2MjY0MzgKRnJhbmtlbiAtIEhlcnogRGV1dHNjaGxhbmRzCgpXaWUgc2ljaCBtaXIgYmVpbSBMZXNlbiBkZXIgWmVpdHVuZyBoZXJhdXNzdGVsbHRlLCBiaW4gaWNoIG5pY2h0IGRpZQplaW56aWdlIEZyYWVua2luIGluIE1vcmdlbkdyYXVlbi4gSXN0IG5vY2ggamVtYW5kIGF1c3NlcgpBbnRoZWEgYXVzIGRpZXNlbSBzY2hvZW5lbiBFY2tjaGVuIGhpZXJoZXIgZ2VyYXRlbj8KRnJhbmtlbi1OZXdzOgpVbSBkaWVzZSBaZWl0IGlzdCBpbiBGcmFua2VucyBnZW11ZXRsaWNoZXIgRWNrZSBOZXVzdGFkdCAoQWlzY2gpCndpZWRlciBkaWUgS2FycGZlbi1Ib2Noc2Fpc29uLiBEYSBkaWUgZ3JvZXNzdGUgQWJuZWhtZXJpbiBkZXIgZ29sZGdlYmFja2VuZW4KS29lc3RsaWNoa2VpdGVuCnp1ciBaZWl0IG5pY2h0IGltIExhbmRlIHdlaWx0LCBoYWJlbiB2aWVsZSBBbmJpZXRlciBBYnNhdHpwcm9ibGVtZS4KRGVzaGFsYiBkZXIgS2VubmVydGlwOiBKZXR6dCBrYXVmZW4sIGpldHp0IEJJTExJRyEhISEhISEhISEhISEhCmdBUkYoc2hpbm9iaSwga29tbSBtaXIgbmljaHQgZGF6d2lzY2hlbiEgKmdydW1tZWwhKikKR2FyZmllbGQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXRSB2b20gMTcuMTIuMTk5NCAoQXJhY2huYSwgIDMuIERleiAxOTk0LCAxNDo0NDoyOCk6CkhpLApIYXRlIHVuZCBpY2ggaGFiZW4gdW5zIHVlYmVybGVndCwgZGFzcyBlcyBnYW56IG5ldHQgd2FlcmUsIHdlbm4gd2lyIG1hbCBtaXQKZGVuIE11ZGRlcm4gYXVzIEJlcmxpbiBlaW5lbiBBYmVuZCB3ZWdnZWhlbiBrb2VubnRlbi4gV2VyIGRhIG1pdGtvbW1lbgptb2VjaHRlLAptZWxkZXQgc2ljaCBhbSBiZXN0ZW4gYmVpIG1pciBvZGVyIGJlaSBIYXRlIHBlciBtYWlsL2UtbWFpbC4KCkRhbmtlLAoKQXJhY2huYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcXVlc3QgKEhpZ2hsYW5kZXIsICAzLiBEZXogMTk5NCwgMTc6NDk6MTQpOgojISBybj1HYXJmaWVsZCBydD03ODY0MTYwMjEKQWJlciBzaWNoZXIgc2luZCBoaWVyIG5vY2ggbWVociBhdXMgRnJhbmtlbiA6PgpBdXMgZGVyIEdlZ2VuZCB2b24gUm90aCBrb21tdAogICAgSGlnaGxhbmRlcgpQUzogS2FycGZlbmhvY2hzYWlzb24gaXN0IHVlYmVyYWxsIDo+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFua2VuID8gKFB1bWEsICA1LiBEZXogMTk5NCwgMTM6MTk6MDEpOgpGcmFua2VuLCBuYSBrbGFyICEgQWJlciBudXIgWndhbmdzZnJhbmtlLi4uIDotKQoKUHVtYSAoQmFtYmVyZykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWZlbiAoQXJhbnlhLCAgNS4gRGV6IDE5OTQsIDE1OjA1OjUxKToKRGllIERpc2t1c3Npb24gZW50ZmxhbW10ZSBoZXV0ZSBnZWdlbiBWaWVydGVsIHZvciBkcmVpLiBBbGxlIG1vZWdsaWNoZW4gTGV1LQp0ZSByaWVmZW4gZHVyY2ggZGllIEdlZ2VuZCB1bmQgZWluIHBhYXIgYW5kZXJlIGZvcmRlcnRlbiBSdWhlLiBXaXIgdmVyd2llc2VuCmF1ZiBkaWUgS2FuYWVsZS4gRGEga2FtIGRlciBFaW53YW5kLCBkYXMgd3Vlc3N0ZSBtYW4gYWxzIE5ld2JpZSBqYSBuaWNodC4KQml0dGUgZGFoZXIgYW4gZGVuIHp1c3RhZW5kaWdlbiBNYWdnaTogS29lbm50ZSBtYW4gZGllIE1vZWdsaWNoa2VpdCBkZXIKS2FuYWVsZSBuIC0KbmFlbGUgbmljaHQgaW0gSGFuZGJ1Y2ggYW5iaWV0ZW4gKG1pdCBncm9iZXIgS2xhc3NpZml6aWVydW5nLCAtYSBmdWVyIGFsbGdlLQptZWluZXMgR2VxdWF0c2NoZSwgLWIgZnVlciBIaWxmZSBiZWkgUXVlc3RzIGV0Yy4uLiksIGRhbWl0IGRhcyBSdWZlbiBlaW5nZS0Kc2NocmFlbmt0IHdpcmQuCk5pY2h0cyBnZWdlbiBkYXMgUnVmZW4sIGRhcyBrYW5uIHNlaHIgbmV0dCBzZWluLCBhYmVyIHdlbm4gc3RhZW5kaWcgU2FjaGVuCndpZTogV2FzIHNvbGwgaWNoIG1pdCBkZW0gdW5kIGRlbSBEaW5nIG1hY2hlbiBkdXJjaCBkaWUgR2VnZW5kIGdlcnVmZW4gd2VyLQpkZW4gaXN0IGRhcyBhdWYgZGllIERhdWVyIGxhZXN0aWcuCk5vY2h3YXM6IEljaCBiaW4gZ2VnZW4gZWluZSBFcmhvZWh1bmcgZGVyICJSdWZzdGV1ZXIiIQoKQXJhbnlhCiAgICAgIHdvbGx0ZSBkYXMgbnVyIG1hbCBnZXNhZ3QgaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWZlbiAoU2NocnVtcGZpLCAgNS4gRGV6IDE5OTQsIDE1OjE1OjA5KToKSmEsIGRhIG11c3MgaWNoIEFyYW55YSB2b2xsIHVuZCBnYW56IHp1c3RpbW1lbiwgdW50ZXJ0YWdzIGlzdCBkaWUgUnVmZXJlaQp1bmVydHJhZWdsaWNoLiBEaWUgSWRlZSBlaW5lcyBIYW5kYnVjaGVzIGZhZW5kZSBpY2ggZGEgYXVjaCBzZWhyIGd1dC4KICAgICAgICAgICAgICAgICAgU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPdXRpbmcgKENlcmVidXMsICA1LiBEZXogMTk5NCwgMTU6NDI6MzcpOgpOYWphLCB3ZW5uIHNpY2ggaW56d2lzY2hlbiBkaWUgRnJhbmtlbiBhbGxlIG91dGVuLCB3aWxsIGljaCBhdWNoIG5pY2h0Cnp1cnVlY2tzdGVoZW46CkljaCBiaW4gKHdpZSBQdW1hKSBhdXMgQmFtYmVyZy4gQWxsZXJkaW5ncyBmcmVpd2lsbGlnIGRvcnRoaW5nZXpvZ2VuLiBVbmQKc2Nob2VuIGlzdCBoaWVyIGFsbGVtYWwuCgpDZXJlYnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPdXRpbmcsIGRpZSBuYWVjaHN0ZS4uLiAoQW5hdG9sLCAgNS4gRGV6IDE5OTQsIDE2OjU5OjU0KToKCipncmlucyoga29tbWUgYXVzIGRlciBHZWdlbmQgdW0gSGVpbGJyb25uLi4uCmFsc28gaGFsYiBTY2h3YWJlLCBoYWxiIEZyYW5rZS4uLgphYmVyIGF1c2dlc3VjaHQgaGFiIGljaHMgbWlyIG5pY2h0IQoKCUFuYXRvbCwgZGVyIENoYW9zdGhlb3JldGlrZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1ZmVuLCBkaWUgMi4gKEFyYW55YSwgIDUuIERleiAxOTk0LCAxNzoyNzo0NSk6Ck5vY2htYWwgenVydWVjayB6dW0gUnVmZW4gdW5kIHp1bSBadWdhbmcgenUgZGVuIEthbmFlbGVuLiBJbiBkZXIgd2VpdGVyZW4KRGlza3Vzc2lvbiBrYW0gZGllIEJlZnVlcmNodHVuZyBhdWYsIHdlbm4gZGllIE5ld2JpZXMgYXVmIGRpZSBLYW5hZWxlIGxvc2dlLQpsYXNzZW4gd3VlcmRlbiwgd2FlcmVuIGRpZXNlIGJpbm5lbiBrdXJ6ZW0gbmljaHQgenUgZXJ0cmFnZW4uIEFubmFlaGVybmRlcwpaaXRhdDogRGEgbGFzcyBpY2ggbGllYmVyIGVpbiBwYWFyIFJ1ZmUgdWViZXIgbWljaCBlcmdlaGVuLCBhbHMgZGFzcyBpY2ggYXVmCmRlbiBLYW5hZWxlbiBoYXVmZW53ZWlzZSBkZW5zZWxiZW4gS3JhbSBob2VyZW4gbXVzcy4KTWVpbiB2ZXJmZWluZXJ0ZXIgVm9yc2NobGFnOiBNYW4gZXJrbGFlcnQgaW0gSGFuZGJ1Y2gsIGRhc3MgZGFzIERBVUVSTkRFIFJ1LQpmZW4gYXVmIGRlbiBHZWlzdCBnZWh0LCB1bmQgZGFzcyBlcyBkaWUgTW9lZ2xpY2hrZWl0IGdpYnQsIHVlYmVyIEthbmFsIHp1CnNlbi0KZGVuLiBNYW4gZ2lidCBkYW5uIGRlbiBFaW5nYW5nc2JlZmVobCBmdWVyIEVJTkVOIEthbmFsIGV4cGxpeml0IGFuIC0gbmVubmVuCndpciBpaG4gbWFsIGRlbiBOZXdiaWUtS2FuYWwuIERlbiBrYW5uIG1hbiBqYSwgd2VubidzIGVpbmVuIG5lcnZ0LAphYnNjaGFsdGVuLgpJbiBkZXIgSG9mZm51bmcsIGRlciBEaXNrdXNzaW9uIGVpbiB3ZW5pZyBkaWUgU2NoYWVyZmUgZ2Vub21tZW4genUgaGFiZW4gLQpBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWZlbiwgZGllIDIuIChLcmV0ZWssICA1LiBEZXogMTk5NCwgMTk6NDU6MDMpOgojISBybj1BcmFueWEgcnQ9Nzg2NjQ0ODY1CktsaW5ndCBndXQhCgpjIHUgbDhlciwKICAgS3JldGUKQVJHTCEgSmV0enQga2FubiBpY2ggc2Nob24gbmljaHQgbWFsIG1laHIgbWVpbmVuIGVpZ2VuZW4gTmFtZW4Kc2NoZWliZW4hCgpHUlJSISBTb2xsdGUgInNjaHJlaWJlbiIgaGVpc3Nlbi4uLiAoaXJnZW5kd2FzIHN0aW1tdCBoZXV0ZSBuaWNodC4uLikKCmMgdSBsOGVyLAogICBLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvYmF5YXNoaSAoQW5hdG9sLCAgNS4gRGV6IDE5OTQsIDE5OjUyOjM3KToKCkRhcmYgbWFuIHp1IEtvYmF5YXNoaSAnS29ieScgc2FnZW4sIHdlbm4gbWFuIGRpZSBQYW5kb3JhLVF1ZXN0IGdlbWFjaHQgaGF0Pz8KCiAgICAgICAgICAgQW5hdG9sLCBkZXIgQ2hhb3N0aGVvcmV0aWtlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSdWZlbiwgZGllIDIuIChCb25nbywgIDYuIERleiAxOTk0LCAxMjowNDowMSk6CiMhIHJuPUtyZXRlayBydD03ODY2NTMxMDMKaWNoIHdlaXNzIGVocmxpY2ggbmljaHQsIHdhcyBkYXMgYWxsZXMgc29sbC4gZGFzIGhpZXIgaXN0IGVpbiBtdWQsIHVuZCB3ZW5uCm1hbiBzaWNoIGhpZXIgbWl0IG1laHJlcmVuIGxldXRlbiB2ZXJzdGFlbmRpZ2VuIHdpbGwsIGdlaHQgaGFsdCBudXIgZGFzCnJ1ZmVuICh2b3JyYXVzZ2VzZXR6dCBtYW4gc3RlaHQgbmljaHQgaW0gZ2xlaWNoZW4gcmF1bSkuIGRhIG51bgonZ2x1ZWNrbGljaGVyd2Vpc2UgZGllIGthbmFlbGUgZXJzY2hhZmZlbiB3dXJkZW4sIGlzdCBkYSBzY2hvbiBlaW5lIG1lbmdlCmFiaGlsZmUgZ2VzY2hhZmZlbiB3b3JkZW4uIGZpbmRlIGljaCBhdWNoIG9rLiBhYmVyIHdlbm4gc2ljaCBqZXR6dCBhdWNoCm5vY2ggamVtYW5kIGJlc2Nod2VydCwgZGFzcyBkZXIgYWxsZ2VtZWluZSBrYW5hbCBtaXQgcnVmZW4gdm9uIG5ld2JpZXMKdm9sbGdlbXVlbGx0IHdpcmQsIGRhbm4gdmVyc3RlaGUgaWNoIGRhcyBuaWNodCBtZWhyLiBpY2ggaGFiZSBhbHMgbmV3YmllCmltbWVyCmdlcnVmZW4sIGRhbWl0IG1hbiBtaXIgaGlsZnQsIHVuZCBkYXMga29ubnRlbiBtZWlzdGVucyBudXIgZGllIGdyb2Vzc2VyZW4uCmFiZXIgaWNoIGRlbmtlIG1hbCwgd2VubiBlcyBleHRyYSBlaW5lbiBuZXdiaWUga2FuYWwgZ2ViZW4gd3VlcmRlLCBkYW5uCnd1ZXJkZW4gZG9ydCBuaWNodCBhbGx6dXZpZWxlIGdyb2Vzc2VyZSBzcGllbGVyIGVpbmdlc2NoYWx0ZXQgc2Vpbi4gc2VpdApkb2NoIGFsbGUgd2VuaWdzdGVucyBmcm9oLCBkYXNzIGlociBuaWNodCBibGFldHRlcm4gbXVlc3N0LiBpY2ggbXVzcyBkYXMKZ2VzdWVsemUgamVkZXNtYWwgc2VsYnN0IGJlc2VpdGlnZW4uIGFiZXIgaWNoIGZpbmRlIGVzIGF1Y2ggb2sgc28sIGRlbm4gZGFzCmlzdCBkZXIgc2lubiBkZXIga29tdW5pa2F0aW9uIGhpZXIuIHdlbm4gbWFuIHNpY2ggZGEgbm9jaCBiZXNjaHdlcmVuIHNvbGx0ZSwKZGFubiB3YWVyZW4gbWVpbmVyIG1laW51bmcgbmFjaCBvcm9wYXgsIGtvYm9sZGUgb2RlciBlaW4gdHJlZmZlbiBtaXQgZGVuCmZyZXVuZGVuIGluIGVpbmVtIHJhdW0gYW5nZWJyYWNodC4gaWNoIGZpbmRlLCBkaWUgbmV3YmllcyBzb2xsdGVuIGplZGVyemVpdApydWZlbiBrb2VubmUsIHdlbm4gc2llIGVzIHdvbGxlbi4gb2RlciBkaWUgZW50c3ByZWNoZW5kZW4ga2FuYWVsZSBiZW51dHplbi4KYWJlciBlaW5lbiBuZXdiaWUga2FuYWwgaGFsdGUgaWNoIGZ1ZXIgZGVuIGdyb2Vzc3RlbiBibG9lZHNpbm4gdWViZXJoYXVwdC4KIDotKSkpCmVpbiBtZWludW5nIHZvbiB2aWVsZW4KYm9uZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVST0VGRk5VTkchIChEYW5jZXIsICA2LiBEZXogMTk5NCwgMTQ6MTk6MDQpOgoKTWVpbmUgRGFtZW4gdW5kIEhlcnJlbiEKCk5hY2ggbW9uYXRlbmxhbmdlbiBQbGFudW5nZW4gdW5kIGFyY2hpdGVrdG9uaXNjaGVuCkZhY2hhcmJlaXRlbiBrb25udGUgaGV1dGUgZW5kbGljaCBkZXIgV2V0dHBhbGFzdAoKTFVDS1kgVElHRVIncyBpbiBQb3J0IFZhaW4KCnNlaW5lIFBmb3J0ZW4gZnVlciBkaWUgQmV2b2Vsa2VydW5nIG9lZmZuZW4hCgpBdXNnaWViaWdlIEluZm9ybWF0aW9uZW4gYmVrb21tdCBtYW4gaW4gZGVyCkluZm9ybWF0aW9uc2xvdW5nZSBpbSBPc3RlbiBkZXMgV2V0dHBhbGFzdGVzLAppbmRlbSBtYW4gc2ljaCBkaWUgZG9ydCB2b3JoYW5kZW5lbiBCdWVjaGVyCmFuc2NoYXV0LCBzcGV6aWVsbCBkYXMgJ0J1Y2ggZGVyIFJlZ2VsbicuCgpCZXN1Y2hlbiBTaWUgdW5zLi4udW5kIGJsZWliZW4gc2llIGVpbmUgV2VpbGUgaW4KdW5zZXJlciBnZW11ZXRsaWNoZW4gVi5JLlAuLUxvdW5nZSwgaW5mb3JtaWVyZW4KU2llIHNpY2ggdWViZXIgZGllIExpZ2EgZGVyIFNjaGF0dGVua2FlbXBmZXIsCmlocmUgV2V0dHF1b3RlbiwgUGxhemllcnVuZ2VuIHVuZCBFaWdlbnNjaGFmdGVuLApiZXN1Y2hlbiBzaWUgZGllIHdvZWNoZW50bGljaGVuIFdldHRrYWVtcGZlIGluCnVuc2VyZXIgU2NoYXR0ZW5hcmVuYSwgZ2V3aW5uZW4gU2llIG1laHIgR2VsZAphbHMgU2llIGplIHZvcmhlciBnZXNlaGVuIGhhYmVuLCBpbmRlbSBTaWUKd29obHVlYmVybGVndGUgV2V0dGVuIGFic2NobGllc3NlbiAodW5kIGVpbgprbGVpbmVzIGJpc3NjaGVuIEdsdWVjayBoYWJlbiA7KSApLi4uLgoKU2llIGZpbmRlbiB1bnMgRElSRUtUIGJlaW0gU3RhZHR0b3Igdm9uIFBvcnQKVmFpbiwgc3VlZGxpY2ggZGVzIGFsbHNlaXRzIGJla2FubnRlbiBTZWhlci0KdG9yZXMhCgpHYW56IGJlc29uZGVycyBkYW5rZW4gbW9lY2h0ZSBpY2ggZm9sZ2VuZGVuIEZyZXVuZGVuOgoKR3JpbW1ib3JuLCBHYXRzYnkgdW5kIFNpbHZhbmEgZnVlciBuaW1tZXJtdWVkZXMsCiAgIHN0dW5kZW5sYW5nZXMgVGVzdGVuIGRlciBSYWV1bWUgdW5kIGZ1ZXIgbmljaHQKICAgd2VuaWdlIGd1dGUgSWRlZW4sCgpWcmFpIGZ1ZXIgZWluZSBnYW56IGJlc29uZGVyZSBGdW5rdGlvbiwgZGllIG1pcgogICBnYW56IGJlc29uZGVycyB2aWVsIFplaXQgdW5kIEhhYXJlcmF1ZmVuIGdlLQogICBzcGFydCBoYXQsCgpIaWdobGFuZGVyIGZ1ZXIgZW50c2NoZWlkZW5kZSBIaWxmZSBiZWkgZGVyCiAgIFdldHRrYW1wZmF1c2dhYmUsCgpSb21pbGkgbWVpbmVyIGxpZWJlbiBGcmF1IGZ1ZXIgc3R1bmRlbmxhbmdlcyBUcm9lc3RlbgogICB1bmQgYmVydWhpZ2VuLCB3ZW5uIGljaCBtYWwgd2llZGVyIGRhYmVpIHdhciwKICAgd2VnZW4gQnVncyBlaW5mYWNoIGF1c3p1ZmxpcHBlbiwKClJvY2h1cyBmdWVyIGRhcyBwcm9tcHRlIHp1ciBWZXJmdWVndW5nIHN0ZWxsZW4gZGVzCiAgIHd1bmRlcmJhcmVuIFN0YW5kcGxhdHplcyBpbiBQb3J0IFZhaW4sIGRpcmVrdAogICBuZWJlbiBkZW0gU2VoZXJ0b3IsCgpKb2YsIEJvaW5nLCBIYXRlLCBLaXJrIHVuZCBWcmFpIGRhZnVlciwgZGFzcyBzaWUgaW1tZXIKICAgZWluIG9mZmVuZXMgT2hyIGhhdHRlbiwgd2VubiBpY2ggbWFsIHdpZWRlciBrZWluZQogICBBaG51bmcgaGF0dGUsIHdpZSBpY2ggZXR3YXMgaGluYmVrb21tZSwgdW5kIGZ1ZXIKICAgZGFzICdXaXNzZW4nLCBkYXNzIHNpZSBpbiBtaWNoIHNlaXQgTWFlcnogcmVpbi0KICAgZ2VzdG9wZnQgaGFiZW4sIHdvIGZ1ZXIgbWljaCAnQycgbm9jaCBlaW5mYWNoIGRlcgogICBkcml0dGUgQnVjaHN0YWJlIGltIEFscGhhYmV0IHdhci4KClVuZCBqZXR6dCB3dWVuc2NoZSBpY2ggdmllbCBTcGFzcyBtaXQgZGVtIFdldHRwYWxhc3QgISA6LSkKCkRhbmNlciBkZXIgU2FuZHRpZ2VyClZvcnN0YW5kc3ZvcnRpZ2VybmRlciBkZXMgV2V0dHBhbGFzdGVzIEx1Y2t5IFRpZ2VyJ3MuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1IGRlbiBDcmFzaGVzIChKb2YsICA2LiBEZXogMTk5NCwgMTU6MDU6MzEpOgogV2lyIGtvZW5uZW4gZG9jaCBhdWNoIG5peCBkYXp1LCBMZXV0ZSA6KCBFcyBoYW5kZWx0IHNpY2ggdW0gZWluZW4gQlVHIGltCkJldHJpZWJzc3lzdGVtLCBpY2ggaGFiIHNjaG9uIGVpbmVuIEJ1Z3JlcG9ydCBhbiBTVU4gZ2VzY2hpY2t0IC0gamV0enQKbXVlc3NlbiB3aXIgd29obCBvZGVyIHVlYmVsIGFid2FydGVuLiBJY2ggaGFiIGVpbmVuIGxlaWNodCB2ZXJhZW5kZXJ0ZW4gR0QKZWluZ2VzcGllbHQsIGxhc3N0IHVuZCBob2ZmZW4sIGRhcyBkYW1pdCBkciBCdWcgdW1nYW5nZW4gd2lyZC4gU29ycnltCmFiZXIgd2lyIGtvZW5uZW4gd2lya2xpY2ggTklDSFRTIGFuZGVyZXMgbWFjaGVuICEhISA6KCgKCkpvZgoKKE1lc3NhZ2UgaW5ib3g6OTEyKQpSZXR1cm4tUGF0aDogdGVkaUBHZXJtYW55LlN1bi5DT00KUmV0dXJuLVBhdGg6IDx0ZWRpQEdlcm1hbnkuU3VuLkNPTT4KUmVjZWl2ZWQ6IGZyb20gU3VuLkNPTSBieSBtYXRoLnVuaS1tdWVuc3Rlci5kZSAoNC4xL1NNSS00LjEvc21haC1icC0xLjM3KQogICAgICAgIGlkIEFBMTY2MDE7IFR1ZSwgNiBEZWMgOTQgMDg6NDI6NTQgKzAxMDAKUmVjZWl2ZWQ6IGZyb20gc25haWwuU3VuLkNPTSAoc25haWwtc3dhbmJiLldlc3QuU3VuLkNPTSkgYnkgU3VuLkNPTQooc3VuLWJhcnIuU3VuLkNPTSkKICAgICAgICBpZCBBQTAwODg5OyBNb24sIDUgRGVjIDk0IDIzOjQyOjUzIFBTVApSZWNlaXZlZDogZnJvbSBHZXJtYW55LlN1bi5DT00gKGlzdW5neSkgYnkgc25haWwuU3VuLkNPTSAoNC4xL1NNSS00LjEpCiAgICAgICAgaWQgQUExODkyMDsgTW9uLCA1IERlYyA5NCAyMzo0Mjo1MCBQU1QKUmVjZWl2ZWQ6IGZyb20gc2MyMy5HZXJtYW55LlN1bi5DT00gYnkgR2VybWFueS5TdW4uQ09NICg0LjEvU01JLTQuMS5ma2spCiAgICAgICAgaWQgQUEyMTcwMDsgVHVlLCA2IERlYyA5NCAwODo0Mjo0OCArMDEwMApSZWNlaXZlZDogZnJvbSB3YW5kYS5HZXJtYW55LlN1bi5DT00gYnkgc2MyMy5HZXJtYW55LlN1bi5DT00gKDUuMC9TTUktU1ZSNCkKICAgICAgICBpZCBBQTIwOTgyOyBUdWUsIDYgRGVjIDE5OTQgMDg6NDI6NDcgLS0xMDAKUmVjZWl2ZWQ6IGJ5IHdhbmRhLkdlcm1hbnkuU3VuLkNPTSAoNS4wL1NNSS1TVlI0KQogICAgICAgIGlkIEFBMjAxNDQ7IFR1ZSwgNiBEZWMgMTk5NCAwODo0Mjo0NiAtLTEwMApEYXRlOiBUdWUsIDYgRGVjIDE5OTQgMDg6NDI6NDYgLS0xMDAKRnJvbTogdGVkaUBHZXJtYW55LlN1bi5DT00gKFRlbXBvcmFlcmUgRGlzcGF0Y2hlciAtIFN1biBHZXJtYW55IFN1blNlcnZpY2UgLQpNdW5pY2gpCk1lc3NhZ2UtSWQ6IDw5NDEyMDYwNzQyLkFBMjAxNDRAd2FuZGEuR2VybWFueS5TdW4uQ09NPgpUbzogZnJhdW5lQG1hdGgudW5pLW11ZW5zdGVyLmRlClN1YmplY3Q6IFJlOiAxMzIwMzI7IFByb2JsZW1lIG1pdCBkZXIgbGlic29ja2V0ClgtU3VuLUNoYXJzZXQ6IFVTLUFTQ0lJCkNvbnRlbnQtTGVuZ3RoOiAyNDcxCgpTZWhyIGdlZWhydGVyIEhlcnIgRnJhdW5lLAoKSWhyZSB1LmcuIFN0b2VydW5nc21lbGR1bmcgaGF0IGRpZQoKU08jIDEzMjAzMi4KCk1mRwoKTi4gSGVsZGljCgoKPiBGcm9tIGZyYXVuZUBtYXRoLnVuaS1tdWVuc3Rlci5kZSAgVHVlIERlYyAgNiAwMToyNTozMSAxOTk0Cj4gT3JnYW5pemF0aW9uOiBXZXN0ZmFlbGlzY2hlIFdpbGhlbG1zLVVuaXZlcnNpdGFldCwgTXVlbnN0ZXIsIEdlcm1hbnkKPiAgICAgICAgICAgICAgIERlcGFydG1lbnQgb2YgTWF0aGVtYXRpY3MKPiBGcm9tOiBKb2VyZyBGcmF1bmUgPGZyYXVuZUBtYXRoLnVuaS1tdWVuc3Rlci5kZT4KPiBUbzogaG90bGluZUBHZXJtYW55Cj4gU3ViamVjdDoxMzIwMzI7IFByb2JsZW1lIG1pdCBkZXIgbGlic29ja2V0Cj4gRGF0ZTogVHVlLCAwNiBEZWMgMTk5NCAwMToxMTo0NCArMDEwMAo+IFNlbmRlcjogZnJhdW5lQG1hdGgudW5pLW11ZW5zdGVyLmRlCj4gQ29udGVudC1MZW5ndGg6IDE5MDIKPgo+IFNlcmllbm51bW1lcjogICAgNDI2TTA5NjAKPiBSZWNobnVuZ2RhdHVtOiAgIDMwLiBKdW4gMTk5NAo+IFJlY2hudW5nc251bW1lcjogNDAwNDk4MTgKPiBBdWZ0cmFnc251bW1lcjogIDE0SVcyNjkyCj4KPiBTeXN0ZW06IFNwYXJjU3RhdGlvbiAyMC82MTIsIDEyOCBNQiBNZW1vcnksIFNvbGFyaXMgMi4zLiBGb2xnZW5kZSBQYXRjaGVzCj4gICAgICAgc2luZCBpbnN0YWxsaWVydDoKPiAxMDEyNjItMTYgMTAxMzA2LTAxIDEwMTMxNy0wOSAxMDEzMTgtNTAgMTAxMzI1LTA0IDEwMTMyNy0wNyAxMDEzMjgtMDEKPiAxMDEzMzAtMDQgMTAxMzMxLTAzIDEwMTMzMi0wMSAxMDEzNDAtMDIgMTAxMzQzLTAyIDEwMTM0NC0xMCAxMDEzNDQtMTEKPiAxMDEzNDUtMDMgMTAxMzQ3LTAyIDEwMTM1OS0wMSAxMDEzNjItMTYgMTAxMzY4LTAxIDEwMTM3OC0wOCAxMDEzODQtMDUKPiAxMDEzODgtMDEgMTAxMzg5LTAxIDEwMTM5OC0wMSAxMDEzOTgtMDUgMTAxNDA2LTAxIDEwMTQwOS0wMyAxMDE0MDktMDQKPiAxMDE0MTUtMDIgMTAxNDE2LTAyIDEwMTQxOC0wMSAxMDE0MjUtMDMgMTAxNDI4LTEwIDEwMTQyOS0wMiAxMDE0NDgtMDEKPiAxMDE0NzEtMDEgMTAxNDg0LTAzIDEwMTQ4OS0wNCAxMDE0OTMtMDEgMTAxNDk0LTAxIDEwMTQ5Ny0wMSAxMDE1MDAtMDMKPiAxMDE1MTItMTQgMTAxNTEzLTAzIDEwMTUxNC0wMiAxMDE1MTUtMDQgMTAxNTE3LTAyIDEwMTUyMC0wMSAxMDE1MjEtMDEKPiAxMDE1MzMtMDMgMTAxNTM0LTAxIDEwMTU0My0wMiAxMDE1NDUtMDEgMTAxNTQ2LTAxIDEwMTU3My0wMSAxMDE1NzQtMDMKPiAxMDE1OTQtMDUgMTAxNTk0LTExIDEwMTU5OS0wMSAxMDE2MTAtMDMgMTAxNjEzLTAxIDEwMTYxNS0wMiAxMDE2MjAtMDEKPiAxMDE2MjctMDEgMTAxNjQyLTAxIDEwMTY0Ny0wMyAxMDE2NDgtMDEgMTAxNjQ5LTAyIDEwMTY1My0wMSAxMDE2NTQtMDIKPiAxMDE2NTctMDIgMTAxNjYwLTAyIDEwMTY2Ny0wMSAxMDE2ODEtMDEgMTAxNjg3LTAxIDEwMTY5NC0wMSAxMDE3MzMtMDEKPiAxMDE3MzQtMDIgMTAxNzM1LTAxIDEwMTczOS0wNCAxMDE3ODktMDEgMTAxODE1LTAxIDEwMTg1NS0wMSAxMDE4NjUtMDEKPiAxMDE4NjgtMDIgMTAxODY5LTAxIDEwMTg4OS0wMSAxMDE5MzAtMDEgMTAxOTY3LTAxIDEwMjExMC0wMQo+Cj4gUHJvYmxlbTogKHZvaWQpc2h1dGRvd24oaW50ZXJhY3RpdmUtPnNvY2tldCwgMik7IGZ1ZWhydGUgYmVyZWl0cyB3aWVkZXJob2x0Cj4gICAgICAgIGRhenUsIGRhc3MgZGFzIFByb2dyYW1tICdoYWVuZ2VuYmxpZWInIHVuZCBzaWNoIG51ciBub2NoIHZpYQo+ICAgICAgICBTSUdLSUxMIChraWxsIC05KSBhYmJyZWNoZW4gbGllc3MuIHN0cmFjZSBlcmdhYiwgZGFzIGRhcyBQcm9ncmFtbQo+ICAgICAgICBpbiBpb2N0bCgpIGhpbmcuCj4KPiBpb2N0bCg3OCwgSV9TVFIsIHtpY19jbWQ9U0lfU0hVVERPV04sIGljX3RpbW91dD1JTkZUSU0sIC8qIGluICovIGljX2xlbj00LAppY19kcD0iXDBcMFwwXDIiXkMgPHVuZmluaXNoZWQgLi4uPgo+Cj4gTWl0IGZyZXVuZGxpY2hlbiBHcnVlc3NlbiwKPiBKb2VyZyBGcmF1bmUKPgo+Cj4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBKb2VyZyBGcmF1bmUgICAgICAgICAgICAgICAgfCBJbnN0aXR1dCBmdWVyIE51bWVyaXNjaGUgTWF0aGUtCj4gZnJhdW5lQG1hdGgudW5pLW11ZW5zdGVyLmRlIHwgbWF0aWsgdW5kIEluZm9ybWF0aWsgLyBTeXN0ZW1hZG1pbmlzdHJhdGlvbgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFdlc3RmYWVsaXNjaGUgV2lsaGVsbXMtVW5pdmVyc3RpdGFldAo+IFRlbDogICs0OSAyNTEgODMgMzc1NCAgICAgICB8IEVpbnN0ZWluc3RyLiA2MiwgNDgxNDkgTXVlbnN0ZXIsIEdlcm1hbnkKPiBUZWw6ICArNDkgMjUgNTQgODMgMjEgICAgICAgfCBNdWVobGVuaG9layAzLCA0ODM2NiBMYWVyLCBHZXJtYW55Cj4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnUgZGVuIENyYXNoZXMgKEhhcmRpbCwgIDYuIERleiAxOTk0LCAxNToxNTozMCk6CiMhIHJuPUpvZiBydD03ODY3MjI3MzEKU2Nob2VuIGhhc3QgRHUgZGFzIGdlc2NocmllYmVuLCBKb2YhIDotKQpMYXMgc2ljaCBmYXN0IHdpZSBlaW4gVGVsZWZvbmJ1Y2ggdm9tIE1hcnMgOi0pKSkKCllUCUhhcmRpbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFUk9FRkZOVU5HISAoR3JpbW1ib3JuLCAgNi4gRGV6IDE5OTQsIDIxOjA2OjEyKToKIyEgcm49RGFuY2VyIHJ0PTc4NjcxOTk0NAoKV0FSTlVORyEKRGllc2VyIFdldHRwYWxhc3QgaXN0IGVpbiBnYW56IGdyb3NzZXIgQmx1ZmYhCldpZSBzaWNoIGhlcmF1c2dlc3RlbGx0IGhhdCBpc3QgZXIgbGVkaWdsaWNoIGVpbiBEZWNrbWFudGVsIGZ1ZXIgendpZWxpY2h0ZQpNYWNoZW5zY2hhZnRlbiwgZHVyY2ggZGllIHNpY2ggTWFnaWVyIHVuZCBad2VpdGllcyBhdWYgS29zdGVuIGVocmJhcmVyIFNwaWVsZXIKYmVyZWljaGVybi4KClNPIE5JQ0hUIQoKRGEgZ2VoZSBpY2ggZnJvaGdlbXV0IGhpbiwgc2V0emUgMjAgMDAwIE11ZW56ZW4gYXVmIFNpZWcgdW5kIHdhcyBpc3Q/IEljaAp2ZXJsaWVyZS4gU28gaXN0IGRhcyBXb3J0ICdTaWVnJyBudW4gd2lya2xpY2ggbmljaHQgZGVmaW5pZXJ0LgpNaXQgVXJmIGhhdCBkZWZpbml0aXYgZWluZXIgZGVyIFNjaHdhZWNoc3RlbiBnZXdvbm5lbiwgQ2luZGVyZWxsIHdhZXJlIGRpZQpsb2dpc2NoZSBTaWVnZXJpbiBnZXdlc2VuLgoKRGFnZWdlbiBzb2xsdGUgbWFuIHdhcyB1bnRlcm5laG1lbiEKCkFybSB3aWUgZWluZSBLaXJjaGVubWF1cywKICAgICAgICAgICAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy46IE5laW4sIGRhcyBoaWVyIDhpc3Qga2VpbmUgUXVlc3Rhbmt1ZW5kaWd1bmcuLi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gbWFsIHdpZWRlciBkZXIgTmFtZSAuLi4uIChNeXN0aXgsICA3LiBEZXogMTk5NCwgMDM6MjY6NTgpOgpCZXp1ZyBhdWYgQm9pbmdzIEFydGlrZWwgKHphcCBuaWNodCBmdWVyIFNwaWVsZXIpCkljaCBoYWJlIGdlcmFkZSBkZW4gQXJ0aWtlbCB2b24gQm9pbmcgZ2VsZXNlbiwgaW4gZGVtIHN0ZWh0LCBkYXNzIFpBUCBuaWNodAp6dW0gQW5ncmlmZiBhdWYgU3BpZWxlciBnZW51dHp0IHdlcmRlbiBkYXJmLiBJY2ggbXVzcyBoaWVyIGVpbm1hbCBlaW4KR2VnZW5iZWlzcGllbCBlaW5icmluZ2VuOiBFaW4gYmVrYW5udGVyIG5hbm50ZSBzaWNoIFBJU1NORUxLRQpFciB3dXJkZSA5IG1hbCBoaW50ZXJlaW5hbmRlciBhdXMgZGVtIHN5c3RlbSAiZ2V6YXB0IgotIGRhcyBlcyBhdWNoIGFuZGVycyBnZWh0IGhhYmUgaWNoIHNlbGJzdCBnZXNlaGVuIC0gZWluCiJ1bmFuZ2VuZWhtZXIgbmFtZSIgd3VyZGUgdm9uIGVpbmVtIE1hZ2llciBiZWFuc3RhbmRldCB1bmQgbmFjaCBBYnNwcmFjaGUKbWl0IGRlbSB2ZXJzdGFlbmRuaXN2b2xsZW4gU3BpZWxlciBnZWFlbmRlcnQgLSBlaW5lIGd1dGUgTW9lZ2xpY2hrZWl0LgoKQWJlciBwcmluemlwaWVsbCBzb2xsdGUgamVkZXIgZGllIEZyZWloZWl0IGhhYmVuIHNlaW5lbiBOYW1lbiBzbyB6dQp3YWVobGVuLCB3aWUgZXIgd2lsbCAtIEFMTEVSRElOR1Mgc29sbHRlIGRlciBOYW1lIG5vY2ggZWluZW4gdmVybnVlbmZ0aWdlbgpzeW50YWt0aXNjaGVuIEFibGF1ZiBoYWJlbiAtIGljaCB3ZWlnZXJlIG1pY2ggbWl0IGplbWFuZGVtIHp1IHJlZGVuLApkZXIgaHVlcnJnZmRmIGhlaXNzdCEKCkFsbGVyZGluZ3MgbXVzcyBpY2ggYXVjaCBzYWdlbiwgZGFzIG1pY2ggZGllIHRlaWx3ZWlzZSAiImFucnVjaGlnZW4iIE5hbWVuCnZvbiBaZWl0Cnp1IFplaXQgYW5rb3R6ZW4gLSBhYmVyIGVzIGlzdCB3b2hsIGJlc3NlciwgZGFzcyBkZXIgTmFtZSBzY2hsZWNodCBpc3QsCmFscyBkYXNzIHNpY2ggZGllIExldXRlIGlocmVtIG5hbWVuIGVudHNwcmVjaGVuZCB2ZXJoYWx0ZW4uLi4uCgpNLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCAoTXlzdGl4LCAgNy4gRGV6IDE5OTQsIDAzOjM1OjQ3KToKU2VoZXJ0b3JlLi4uLgoKSWNoIG1vZWNodGUgZWluZmFjaCBtYWwgZGllIEdlbGVnZW5oZWl0IGVyZ3JlaWZlbiB1bmQgZGFzIHVudGVyIGRlbgpTZWhlcm4gdmVyYnJlaXRldGUgVG9yc3lzdGVtIGFuc3ByZWNoZW4uCk1laW5lciBNZWludW5nIG5hY2ggaXN0IGVzIGVpbnMgZGVyIGdyb3NzZW4gcHJpdmlsZWdpZW4gZGVyIFNlaGVyCmRpZXNlIFRvcmUgenUgbnV0emVuIC0gc2Nob2VuLgpXYXMgbWljaCBpbnRlcmVzc2llcnQgaXN0LCBvYiBlaW4gQXVzYmF1IGluIFBsYW51bmcgaXN0LCBvZGVyIG9iCmRlciBVbWJhdSBkYXMgR2xlaWNoZ2V3aWNodCBnZWZhZWhyZGV0LgoKRWluIHdlaXRlcmVzIFNlaGVydG9yIGluIGRlciBOYWVoZSBkZXIgRnJpZWRob2ZlcyB3YXJlIG5hZW1saWNoCnNlaHIgc2VociBhbmdlbmVobS4gSWNoIGJpbiBtaXIgc2ljaGVyLCBkYXNzIG1pciB2aWVsZSBTZWhlciB6dXN0aW1tZW4Kd2VyZGVuLgoKTS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vbWVuIGVzdCBvbWVuIGRpZSAxMjM0MjFzdGUgKE15c3RpeCwgIDguIERleiAxOTk0LCAxNjoyMDo1NSk6CkhhbGxvCgpJY2ggd29sbHRlIG1pY2ggbm9jaCBtYWwgZWJlbiB6dSBkZW0gVGhlbWEgTmFtZW4gYWV1c3Nlcm4uCi4uLiBNaXIgaXN0IG1pdHRsZXJ3ZWlsZSBlY2h0IGVnYWwsIHdpZSBpaHIgZXVjaCBhbGxlIG5lbm50LAphYmVyIE1vbnN0ZXIgb2RlciBUaWVybmFtZW4sIHdpZSB6LkIuIFdlc3BlIHNvbGx0ZW4gdmVyYm90ZW4gd2VyZGVuLgpOaWNoIGltbWVyIGFjaHRldCBtYW4gZ2VuYXUgYXVmIGRpZSBCZXNjaHJlaWJ1bmcgLSB1bmQgc2VsYnN0IGVpbgpmcmllZGxpY2hlcyBXZXNlbiwgd2llIGljaCB3YXIgc2Nob24ga3VyeiBkYXZvcgp1bmJlYWJzaWNodGlndCBlaW5lbiBQbGF5a2lsbCB6dSBiZWdlaGVuLgpBbHNvIHp1bSBTZWxic3RzY2h1dHogcGxhZWRpZXJlIGljaCBmdWVyCmRlbiBWZXJib3Qgc29sY2hlciBOYW1lbi4KCk0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIEt1cnpnZXNjaGljaHRlIC4uLi4gKEZyYWdnbGUsICA4LiBEZXogMTk5NCwgMTY6NDE6NTApOgoKLi4uIGVzIHdhciBlaW4gc29ubmlnZXIgdW5kIHNjaG9lbmVyIFRhZyBpbSBNb3JnZW5HcmF1ZW4uIFJlZCBGcmFnZ2xlCm9yZ2FuaXNpZXJ0ZSBnZXJhZGUgZWluIGtsZWluZXMgRmVzdCBpbiBGcmFnZ2xlIFJvY2sgdW5kIHdvbGx0ZSBzY2huZWxsCm5vY2ggZGllIGFsbHdpc3NlbmRlIE11ZWxsaGFsZGUgdW0gUmF0IGZyYWdlbi4gU2llIHd1c3N0ZSB6d2FyIG5pY2h0IGdlbmF1LAp3YXJ1bSwgYWJlciBkYSBkaWUgRnJhZ2dsZXMgZGllIGFsbHdpc3NlbmRlIE11ZWxsaGFsZGUgaW1tZXIgdW0gUmF0IGZyYWdlbiwKd2VubiBpcmdlbmRldHdhcyBiZXNvbmRlcmVzIGFuc3RlaHQsIG1hY2h0ZSBzaWUgc2ljaCBrZWluZSB3ZWl0ZXJlbiBHZWRhbmtlbgpkYXJ1ZWJlci4gVm9yc2ljaHRpZyBzY2hhdXRlIHNpZSBzaWNoIHVtLCBvYiBuaWNodCBlaW5lciBkaWVzZXIgdmVyaGFzc3RlbgpHb3JncyBhdWYgc2llIGxhdWVydGUsIGRhbm4gdmVybGllc3Mgc2llIEZyYWdnbGUgUm9jay4gVm9yYmVpIGFuIGRlbSBrbGVpbmVuClN0ZWluYnJ1bm5lbiBlcmJsaWNrdGUgc2llIGVpbiB3dW5kZXJzY2hvZW4gZXJibHVlaGVuZGVzIFJvc2VuZmVsZC4KU2llIGdpbmcgbmFlaGVyIGhlcmFuIHVuZCBnZXJhZGUsIGFscyBzaWUgZGFydWViZXIgbmFjaGRhY2h0ZSwKb2Igc2llIGZ1ZXIgZGFzIEZlc3QgZWluIHBhYXIgUm9zZW4gbWl0bmVobWVuIHdvbGx0ZSwgbGVndGUgc2ljaCBlaW4KYmVkcm9obGljaGVyIFNjaGF0dGVuIHVlYmVyIHNpZS4gRWluIGRvbm5lcm5kZSBTdGltbWUgdm9uIHdlaXQgb2JlbgpicmFjaHRlIGlocmVuIGtsZWluZW4gZ2VsYmVuIEtvZXBlciB1bmQgaWhyZSByb3RlbiBab2VwZmUgenVtIGVyYmViZW46CiJBaCwgZHUga2xlaW5lciBGcmFnZ2xlLCBlbmRsaWNoIGhhYmUgaWNoIERpY2ghIEpldHp0IGthbm4gTWFtbWkgbmljaHQgbWVocgpzYWdlbiwgZGFzIGljaCBzcGlubmUhIEljaCB3ZXJkZSBEaWNoIGF1c3N0b3BmZW4gdW5kIGF1ZiBkZW0gS2FtaW5zaW1zCmF1c3N0ZWxsZW4hIEhhckhhckhhckhhciAuLi4iLgpLcmFjaGVuZCBzY2hsdWcgZGllIGdyb3NzZSBLZXVsZSBuZWJlbiBpaHIgYXVmLCBkaWUgSnVuaW9yIEdvcmcgZGllIGdhbnplClplaXQgdWViZXIgaWhyIGdlc2Nod3VuZ2VuIGhhdHRlLiBNaXQgZWluZW0gZ2V3YWx0aWdlbiBTYXR6IHNwcmFuZyBSZWQgenVyClNlaXRlIHVuZCByYW5udGUgdW0gaWhyIExlYmVuLiBEb2NoIGlocmUga2xlaW5lbiBCZWluY2hlbiB3YXJlbiBuaWNodCBzY2huZWxsCmdlbnVnLCB1bSBkZW0gS29sb3NzIGF1cyBGbGVpc2NoIHVuZCBHb3JnZmVsbCB6dSBlbnRrb21tZW4uCkltbWVyIHdpZWRlciBrcmFjaHRlIGRpZSBLZXVsZSBuZWJlbiBpaHIgbmllZGVyLiBLdXJ6IHZvciBkZW0gWmllbApwYWNrdGUgZWluZSBrbGF1ZW5iZXNldHp0ZSBQcmFua2UgbmFjaCBpaHIgdW5kIGhvYiBzaWUgaW4gZGllIEhvZWhlLgpTaWUgYmxpY2t0ZSBpbiBkYXMgZHVlbW1saWNoIGdyaW5zZW5kZSBHZXNpY2h0IGRpZXNlciBtaXNzcmF0ZW5lbiBLcmVhdHVyLgpEZXIgc3RpbmtlbmRlIEF0ZW0gYnJhY2h0ZSBzaWUgZmFzdCB1bS4gVm9uIHdlaXQgdW50ZW4gaG9lcnRlIFJlZCBlaW5lbgplcnNjaHJlY2t0ZW4gQXVmc2NocmVpLiBJaHJlIEZyZXVuZGluIE1va3kgc3RhbmQgZG9ydCwgdm9yIEVudHNldHplbgp1bmZhZWhpZyBzaWNoIHp1IGJld2VnZW4uIEt1cnogYmV2b3IgaWhyIGRpZSBTaW5uZSBzY2h3YW5kZW4sIHpvZyBkYXMgTGViZW4KYW4gaWhyIHZvcmJlaS4gU2llIGRhY2h0ZSBhbiBHb2JvLCBkZW4gc2llIHNvIGdlcm5lIGFlcmdlcnRlLCBhbiBkZXNzZW4KdmVycnVlY2t0ZW4gT25rZWwgVHJhdmVsbGluZyBNYWQsIGRlciBzaWNoIGltIGtsZWluc3RlbiBaaW1tZXIgdmVyaXJyZW4Ka29ubnRlLCBhbiBkZW4gZXdpZyBkZXByaW1pZXJ0ZW4gQm9vYmVyLCBkZXIgc2llIG1pdCBHbHVlY2tzYnJpbmdlcm4KdW5kIEFtdWxldHRlbiBudXIgc28gdWViZXJoYWV1ZnRlLCB3YW5uIGltbWVyIHNpY2ggZGllIEdlbGVnZW5oZWl0IGJvdC4KRXIgaGFldHRlIGRpZXNlbiBUYWcgc2Nob24gaW1tZXIga29tbWVuIGdlc2VoZW4sIGtlaW5lIEZyYWdlLgpTaWUgZGFjaHRlIGF1Y2ggYW4gV2VtYmxleSwgZGVyIHNpY2ggbmllIGZ1ZXIgaXJnZW5kZXR3YXMgZW50c2NoZWlkZW4ga29ubnRlLgpEYW5uIGVudHNjaGllZCBzaWUgc2ljaCwgdW5kIHp3YXIsIGRhcyBCZXd1c3RzZWluIHp1IHZlcmxpZXJlbiAuLi4KCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpbGZlICEhISEhIChGcmFnZ2xlLCAgOC4gRGV6IDE5OTQsIDE2OjQ1OjIyKToKQU5aRUlHRToKLS0tLS0tLS0KCldlbGNoZXIgd2FnZW11dGlnZXIgQWJlbnRldXJlciBpc3QgYmVyZWl0LCB1bnMgenUgaGVsZmVuPwpFaW4gU3RhbW0ga2xlaW5lciB3dXNjaGxpZ2VyIFdlc2VuIGlzdCBpbiBncm9zc2UgQmVkcmFlbmduaXMgZ2VyYXRlbiEKTmFlaGVyZSBJbmZvcm1hdGlvbiBiZWkgR29ibyBGcmFnZ2xlLCBGcmFnZ2xlIFJvY2ssIE1vcmdlbmdyYXVlbi4KCkRpZSBGcmFnZ2xlcwoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmUgd3VzY2hsaWdlIFdlc2VuIGVudGRlY2t0Li4uIChGcmFnZ2xlLCAgOC4gRGV6IDE5OTQsIDE4OjQzOjA1KToKKGZwYS9GcmFnZ2xlIFJvY2spOgpFaW5pZ2UgQWJlbnRldXJlciBiZXJpY2h0ZXRlbiB1bnMsIHNpZSBoYWV0dGVuIGtsZWluZSB3dXNjaGxpZ2UgV2VzZW4KZW50ZGVja3QsIGRpZSBpbiBhcmdlIEJlZHJhZW5nbmlzIGdlcmF0ZW4gc2luZC4gR2VzaWNodGV0IHd1cmRlbiBkaWVzZQpXZXNlbiBpbiBkZXIgTmFlaGUgZGVyIFJ1bWF0YS1CcnVlY2tlLgoKIFYuaS5TLmQuUC4gRnJhZ2dsZQoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2dsZXM/Pz8gKEJhbWJ1bGtvLCAgOC4gRGV6IDE5OTQsIDE5OjA5OjA1KToKVW5kIGFscyBuYWVjaHN0ZXMga29tbWVuIFNhbXNvbiB1bmQgVGlmZnk/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5lIEt1cnpnZXNjaGljaHRlIC4uLi4gKEhhciwgIDguIERleiAxOTk0LCAyMDozMTowNCk6CiMhIHJuPUZyYWdnbGUgcnQ9Nzg2OTAxMzEwCk5ldHRlIEdlc2NoaWNodGUsIEZyYWdnbGUsIGFiZXIgZWluZSBGcmFnZSBoYWV0dGUgaWNoOgpXaWVzbyBsYWNodCBkZXIgSnVuaW9yLUdvcmcgaW4gYnp3LiBtZWluZW0gTmFtZW4/CgpIYXIgKEhhckhhckhhckhhckhhckhhckhhcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldldHRwbGFzdCAoU2NocnVtcGZpLCAgOS4gRGV6IDE5OTQsIDAwOjU0OjQ0KToKSWNoIHdlaXNzIGdhciBuaWNodCB3YXMgaWNoIHNhZ2VuIHNvbGwgRGFuY2VyLiBJY2ggYmluIHZvZWxsaWcgdm9uIGRlbgpTb2NrZW4uIFN1cGVyISEKICAgICAgICAgU2NocnVtcGZpIGRpZSBzb2dhciBiZWltIGVyc3RlbiBtYWwgZ2V3b25uZW4gaGF0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZXIgdmVyYmVzc2VydCAoUnVtYXRhLCAgOS4gRGV6IDE5OTQsIDExOjM0OjU3KToKSGkgTGV1dGUsCmRhcyBLb21tYW5kbyAid2VyIiB3dXJkZSBsZWljaHQgdmVyYmVzc2VydC4gRXMga2FubiBqZXR6dCBtaXR0ZWxzCiJ3ZXIga3VyeiIgZWluZSBrdXJ6ZSBXZXJsaXN0ZSAoZGllIGdsZWljaGUgd2llIGt3ZXIpIHVkbiBtaXR0ZWxzCiJ3ZXIgdmVydGlrYWwiIGVpbmUgc2Vua3JlY2h0IHNvcnRpZXJ0ZSBXZXJsaXN0ZSBhdXNnZWdlYmVuIHdlcmRlbi4KClZpZWwgU3Bhc3MgZGFtaXQKUnVtYXlhCmFlaCBSdW1hdGEKClBTOiBhdXMgdW5kIHdpZWRlciBlaW5sb2dnZW4gYnp3LiBtdWRjcmFzaCBzaW5kIGRpZSB2b3JyYXVzc2V0enVuZ2VuLAp1bSBpbiBkZW4gZ2VudXNzIGRpZXNlcyBmZWF0dXJlcyB6dSBrb21tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFua2VuID8gKFdpenphcmQsICA5LiBEZXogMTk5NCwgMTE6MzU6NTYpOgojISBybj1QdW1hIHJ0PTc4NjYyOTk0MQpBY2ggamEsIFB1bWEhCgpBYmVyIGltbWVyIGltIFNvbW1lciBhdWYgZGllIHNjaG9lbmVuIEtlbGxlciB1bmQgaW4gZGVyIEZpc2NoZXJob2YuCgpVbmQgZGFzIGZyZXVuZGxpY2hlIEtsaW1hIHVuZCBkaWUgTGV1dGUgKGFsbGUgbmV0dCEhKQoKRWluIGxpZWIgYXVzIGRlciBGZXJuZSBrbnVkZGVsbmRlciBXaXp6YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9tZW4gZXN0IG9tZW4gZGllIDEyMzQyMXN0ZSAoRHVyaWFuLCAgOS4gRGV6IDE5OTQsIDEyOjQ4OjMyKToKIyEgcm49TXlzdGl4IHJ0PTc4NjkwMDA1NQpIYWxsbyEKClNwaWVsZXIsIGRpZSBnZW5hdXNvIGhlaXNzZW4gd2llIE1vbnN0ZXIgc29sbHRlIGVzIG5hdHVlcmxpY2ggbmljaHQKZ2ViZW4uIERlc2hhbGIgaXN0IGVpZ2VudGxpY2ggamVkZXIgTWFnaWVyIGFuZ2V3aWVzZW4sIGVpbmVtIEhMTSBvZGVyCnNlaW5lbSBSZWdpb25zbWFnaWVyIHp1IGJpdHRlbiwgZGllIE5hbWVuIHNlaW5lciBNb25zdGVyIHp1IGJhbmlzaGVuLgpFeGlzdGllcnQgYmVyZWl0cyBlaW4gU3BpZWxlciBkaWVzZXMgTmFtZW5zLCBtdXNzIHNpY2ggZGVyIE1hZ2llcgpuYXR1ZXJsaWNoIGVpbmVuIGFuZGVyZW4gYXVzc3VjaGVuLCBuaWNodCBkZXIgU3BpZWxlciA6LSkKTWFnaWVyOiBiZXRyYWNodGV0IGRpZXMgZ2xlaWNoIG1hbCBhbHMgQXVmcnVmLCBhbGxlIG5vY2ggbmljaHQgZ2ViYW5pc2h0ZW4KTW9uc3Rlcm5hbWVuIGJhbmlzaGVuIHp1IGxhc3NlbiEKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VyIHZlcmJlc3NlcnQgKEpvZiwgIDkuIERleiAxOTk0LCAxNDowNjoxMik6CiMhIHJuPVJ1bWF0YSBydD03ODY5NjkyOTcKIEljaCBoYWJlIGRhcyB2b24gJ3dlciBrdXJ6JyBhdWYgJ3dlciAta3VyeicgKGFuZGVyZSBPcHRpb25lbiBhbmFsb2cpIGdlLQphZW5kZXJ0LiAnd2VyIHN0cmluZycgbWl0IHN0cmluZyBvaG5lICctJyBzb2xsdGUgc2NobGllc3NsaWNoIGRpZSBXZXItTGlzdGUKZGVzIE11ZHMgc3RyaW5nIGFuemVpZ2VuIC0gZGFtaXQgd2FyIGRpZSBTeW50YXggaW5rb25zaXRlbnQgOigKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpZWJlc3BhZXJjaGVuIChUaW1vciwgIDkuIERleiAxOTk0LCAxNTozNDozMSk6CkJpbiBpY2ggZGVyIEVpbnppZ2UsIGRlbiBNQU5DSE1BTCBkaWUgTGllYmVzcGFlcmNoZW4gbmVydmVuLCBkaWUgc2ljaApzdHVuZGVubGFuZyBpbiBaYWVydGxpY2hrZWl0ZW4gdW5kIHNvbnN0aWdlbiBMaWViZXNiZXdlaXNlbiBlcmdlaGVuLCBzb2Rhc3MKbWFuIGRlc3dlZ2VuIG5pY2h0IGVpbm1hbCBkZW4gUmF1bSByaWNodGlnIGVyZm9yc2NoZW4ga2Fubj8hIEtsYXIsIHdpciBzaW5kCmhpZXIgaW0gbXVkLCBhYmVyIHdpZSB3YWVyZSBlcywKd2VubiBtYW4gZnVlciBkaWUgTGllYmVzdG9sbGVuIFBhZXJjaGVuIGVpbmUgQXJ0IExlaWJlc3dpZXNlIG9kZXIgTHVzdGdhcnRlbgplaW5yaWNodGVuIHd1ZXJkZSwgd28gc2llIHNpY2ggZGFubiB1bmdlc3RvZXJ0IG1pdGVpbmFuZGVyIGJlc2NoYWVmdGlnZW4Ka29lbm5lbj8KCk1pY2ggaW50ZXJlc3NpZXJ0IEV1cmUgTWVpbnVuZyBkYXp1Li4uCgpHcnVzcywgVGltb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGllYmVzcGFlcmNoZW4gKEdyaW1tYm9ybiwgIDkuIERleiAxOTk0LCAxNjowOTo0MCk6CiMhIHJuPVRpbW9yIHJ0PTc4Njk4MzY3MQpIbW0sIGFscyBUZWlsIGVpbmVzIExpZWJlc3BhZXJjaGVucyBwZmxlZ2UgaWNoIGRlbiBSYXVtIHp1IHZlcmxhc3Nlbiwgd2VubiBkYQpzbyBtdWRkZXIgZGFoZXJrb21tZW4uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpZWJlc3BhZXJjaGVuIChEYW5jZXIsICA5LiBEZXogMTk5NCwgMTY6NTA6MTApOgojISBybj1HcmltbWJvcm4gcnQ9Nzg2OTg1NzgwCldpciBoYWJlbiBkYWZ1ZXIgdW5zZXJlIGdhbnogcHJpdmF0ZSBTY2hsdW1tZXJ0b25uZSwgUm9taWxpIHVuZCBpY2ggOi0pCgpEaWUgaXN0IGt1c2NoZWxpZyA6LSkKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPdXRpbmcgKEZsaW50bmFpbCwgIDkuIERleiAxOTk0LCAxNzoxNjozNCk6CiMhIHJuPUNlcmVidXMgcnQ9Nzg2NjM4NTU3Ck91dGVuIG1hY2h0IFNwYXNzLi4uZGVzaGFsYjoKICAgICAgICAgIEZsaW50bmFpbCBpcyBTYXVlcmxhZW5kZXIgdW5kIGhhc3N0IGRlbiBTb25nIHZvbiBaT0ZGICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpZWJlc3BhZXJjaGVuIChDaGFyb24sICA5LiBEZXogMTk5NCwgMTc6NTk6MTcpOgojISBybj1UaW1vciBydD03ODY5ODM2NzEKaGVydm9ycmFnZW5kZSBpZGVlLiBlbmRsaWNoIGFsbGVpbmUgbWl0IG1laW5lciB3dW5kZXJ2b2xsZW4gZnJhdSwgb2huZQpuZXJ2ZW5zYWVnZW4sIHNjaG5vcnJlciB1bmQgc29uc3RpZ2Ugc3RvZXJlci4KKnRyYWV1bSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaWViZXNwYWVyY2hlbiAoS3JldGVrLCAgOS4gRGV6IDE5OTQsIDE4OjExOjExKToKIyEgcm49VGltb3IgcnQ9Nzg2OTgzNjcxCldhcmVuIGRhIG5pY2h0IGVoIHNjaG9ubWFsIExpZWJlc2xhdWJlbiBvZGVyIHNvd2FzCmltIEdlc3ByYWVjaD8KSWNoIGdsYXViLCBpY2ggaGFiIGRhIHNjaG9uIG1hbCB3YXMgZW50c3ByZWNoZW5kZXMgZ2VsZXNlbi4uLgoKYyB1IGw4ZXIsCiAgIEtyZXRlayAod2FlcmUgc2VociBkYWZ1ZXIhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaWViZXNwYWVyY2hlbiAoWWFudHJvLCAgOS4gRGV6IDE5OTQsIDIwOjA4OjI2KToKIyEgcm49Q2hhcm9uIHJ0PTc4Njk5MjM1NwoKSGkgaWhyIGFsbGUsCgpMaWViZXNsYXViZW4gZnVlciAyIFBlcnNvbmVuIHNpbmQgaW4gQXJiZWl0IGJlaSBTaWx2YW5hLi4uCgpJY2ggZGVua2UsIGRhc3Mgd2FydGVuIGxvaG50IHNpY2ggOikKCiAgICBZYW50cm86KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpZWJlc3BhZXJjaGVuIChLbGluZ2UsIDEwLiBEZXogMTk5NCwgMDU6MjY6MzQpOgojISBybj1UaW1vciBydD03ODY5ODM2NzEKRnJhZyBkb2NoIG1hbCBkaWUgR29ldHRlciBvYiBzaWUgbmljaHQgWmVsdGUgcHJvZ2dlbiBrb2VubmVuIGluIGRpZSBkaWUKTGllYmVuZGVuIHNpY2ggenVydWVja3ppZWhlbiBrb2VubmVuLCBmdWVyIHVudGVyd2VncyB1bmQgdWViZXJhbGwgdW5kIHNvCk1pdCBkZXIgZWluemlnZW4gZnVua3Rpb24gZGFzIFBhYXIgaW4gV29ydCB1bmQgQmlsZCB6dSB2ZXJiZXJnZW4uCldhaHJzY2hlaW5saWNoIGJyYWV1Y2h0ZSBudXIgZGVyIFRhcm5oZWxtIHVtZ2VzY2hyaWViZW4genUgd2VyZGVuLgpTeW50YXg6CmJhdWUgWmVsdCBhdWYKa3JpZWNoZSAoaW4pIFplbHQKWmllaCBSZWlzc3ZlcnNjaGx1c3MgenUKb2VmZm5lIFJlaXNzdmVyc2NobHVzcwprcmllY2hlIGF1cyBaZWx0ClBhY2tlIFplbHQgenVzYW1tZW4KCkRhcyBrYW5uIGRvY2ggYmVpIGRlbiBmYWVoaWdlbiBHb2V0dGVybiBoaWVyIGtlaW4gUHJvYmxlbSBzZWluLgo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIChGbG9oLCAxMC4gRGV6IDE5OTQsIDE4OjQyOjMwKToKIyEgcm49Rmlja2Zyb3NjaCBydD03ODYwMjIyMzQKSGFsbG8gRmlja0Zyb3NjaApqYSBpY2ggaGFiIG1pY2ggYXVjaCB1ZWJlciBEZWluZW4gTmFtZW4gYXVmZ2VyZWd0LgpGaW5kZXN0IER1IChlZ2FsIHdlbGNoZSBSYXNzZSkgRmlja0Zyb3NjaCB3aXJrbGljaAplaW5lbiBndXRlbiBOYW1lbi4KRWhybGljaCBpY2ggd3VlcmRlIG5pZSBpbSBUcmF1bSBkYXJhbiBkZW5rZW4gbWljaAptaXQgZWluZW0gQXJydGlidXQgd2llICJGaWNrLi4iIHp1IGJlbGVnZW4uCkFiZXIgZ3J1bmRzYWV0emxpY2ggaGFiZW4gTmFtZW4ga2VpbmVuIEVpbmZsdXNzLApkdSBiaXN0IGFiZXIgaW0gU3BpZWwgbWFuY2htYWwgdm9uIFRpcHMgdW5kIEhpbGZlbgphZWx0ZXJlciAoZXJmYWhyZXJuZXIpIFBsYXllciBhbmdld2llc2VuLCB1bmQgZG9ydAprYW5uIGVpbiBOYW1lIGVjaHQgd2FzIGF1c21hY2hlbi4gTmllbWFuZCB3ZWlzcyB3ZXIKaGludGVyIGVpbmVtIE5hbWVuIHN0ZWh0LiBCZWkgInVuZ2V3b2VobmxpY2hlbiIgTmFtZW4Ka2FubiBlcyBEaXIgcGFzc2llcmVuLCBkYXMgRGlyIHdlbmlnZXIgZ2Vob2xmZW4gd2lyZC4KVHJvdHpkZW0gd3VlbnNjaCBpY2ggZGlyIFZpZWwgU3Bhc3MgaGllcgpHcnVlc3NlCkZsb2gKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT3V0aW5nIChJY2V0LCAxMC4gRGV6IDE5OTQsIDIzOjQ3OjAyKToKIyEgcm49Q2VyZWJ1cyBydD03ODY2Mzg1NTcKWW8hIEljaCBiaW4gYXVjaCBlaW4gQmFtYmVyZ2VyLCBuYWphLCBlaWNoZW50bGljaCBrb21tIGljaCBhdXMgRm9yY2hoZWltLApzdHVkaWVyZSBpbiBCYW1iZXJnIHVuZCBiaW4gYXVzIEVybGFuZ2VuIGllbmdlbG9nZ3QgbmFjaHRzIDopCgotSWNlVCAoZGVyIGdlb3V0ZXRlIGF1cyBBdmFsb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqc2NocmF1YiBoYWVtbWVyKiAoSGlnaGxhbmRlciwgMTEuIERleiAxOTk0LCAxODo1MzoxOCk6Ck9kZXI6IERlciBTZWVsZW5rbGVtcG5lciBoYXQgbWFsIHdpZWRlciB6dWdlc2NobGFnZW4uCkVzIGdpYnQgd2llZGVyIGVpbiBwYWFyIG5ldWUgVmVyYmVuIE1hcmtlIE51dHpMb3ModG0pLgpTdWNodCBzaWUgZXVjaCBzZWxiZXIgcmF1cy4gSWNoIGhhYiBrZWluZSBMdXN0LCBkaWUgbm9jaG1hbCBhbGxlIHp1CnNhbW1lbG4gOj4KICAgIEhpZ2hsYW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaWViZXNwYWVyY2hlbiAoUnVkaXJhdHRlciwgMTEuIERleiAxOTk0LCAyMDoxOToyOSk6CiMhIHJuPVRpbW9yIHJ0PTc4Njk4MzY3MQpUaW1vciwgd2FzIGhhc3QgRHUgZnVlciBlaW4gUHJvYmxlbSBtaXQgTGllYmVzcGFhcmVuPz8KUnVkaS4KLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGllYmVzcGFlcmNoZW4gKEZpY2tmcm9zY2gsIDEyLiBEZXogMTk5NCwgMTQ6MTA6MzQpOgojISBybj1LcmV0ZWsgcnQ9Nzg2OTkzMDcxCkpBSkFKQUpBSkEhIEhlciBtaXQgZGVuIExpZWJlc2xhdWJlbiBtaWNoIHN0b2VydCBlcyBuYWVtbGljaCBhdWNoIHdlbm4gaWNoCm1pdCBlaW5lciBGcmF1ICJiZXNjaGFlZnRpZ3QgYmluIiwgZGFzcyBhbGxlIHp1Z3Vja2VuIGtvZW5uZW4gdW5kIG51ciBtYW5jaG1hbAoidmVyY2hhZW10IHdlZ2d1Y2tlbiIgIQpGSUNLRlJPU0NIIGJlZ3J1ZXNzdCBkaWUgRWlucmljaHR1bmcgdm9uIChhYnNjaGxpZXNzYmFyZW4gOyBtaWV0YmFyZW4gKD8pKQpMaWVic3JhZXVtZW4sIGluIGRlbmVuIGFsbGUgd2ljaHRpZ2VuIEdlcmFldHNjaGFmdGVuICgqZ3JpbnMqKSB2b3JoYW5kZW4gc2Vpbgpzb2xsdGVuLgpXdWVyZGUgbWljaCBldnRsIGFuIGRlciBCZXNjaHJlaWJ1bmcgYmV0ZWlsaWdlbiB3b2xsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWlyYXQgKEZpY2tmcm9zY2gsIDEyLiBEZXogMTk5NCwgMTQ6NDY6MDkpOgpJY2ggbXVzcyBtaWNoIGVudHNjaHVsZGlnZW4hCkljaCBoYWJlIG9obmUgZXMgYW56dWt1ZW5kaWdlbiBGcmVpdGFnIGFiZW5kIGdlaGVpcmF0ZXQhIEFiZXIgR2VmdWVobGUKdmVybGFuZ2Ugc2NobmVsbGUgRW50c2NoZWlkdW5nZW4hIERhbmtlIGFuIGRpZSBHYWVzdGUgbWVpbmVyIFBhcnR5ISBXYXIgc2Nob2VuCm1pdCBldWNoIHdlbm5nbGVpY2ggZGVyIEFic3R1cnogenUgZnJ1ZWgga2FtLi4uIEFsbGVyZGluZ3MgaGF0IG1pY2ggZGFkdXJjaApkaWUgUGFydHkgbmNodCBtZWluZSBJbnZlc3RpZXJ0ZW4gMjUwMCBNdWVuemVuIGdla29zdGV0ISBIYWZ0ZXQgYmVpIENyYXNoIGRlcgpWZXJhbnN0YWx0ZXI/Pz8KVW5kIGRhcyBtaXIgbmllbWFuZCBtZWhyIG1laW5lIEZyYXUgYW5iYWdnZXJ0ISEhICgqZ3JpbnMqKQpEYXMgd2FycyEgR2x1ZWNrd3VlbnNjaGUgdW5kIEdlc2NoZW5rZSB3ZXJkZW4gYW5nZW5vbW1lbi4KRmlja2Zyb3NjaCwgZGVyIG1pdCBzZWluZXIgVWxraSBnbHVlY2tsaWNoIHdlcmRlbiB3aWxsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpZWJlc3BhZXJjaGVuIChTaWx2YW5hLCAxMi4gRGV6IDE5OTQsIDE1OjQzOjU2KToKIyEgcm49Q2hhcm9uIHJ0PTc4Njk5MjM1NwpJc3QgbGFlbmdzdCBpbiBBcmJlaXQsIGRhdWVydCBhYmVyIG5vY2ggbmVuIFdlaWxjaGVuLCBiaXMgZGFzIG5nZXNjaGxvc3Nlbgp3ZXJkZW4ga2Fubi4gQXVzc2VyZGVtOgpXZWxjaGVzIFBhZXJjaGVuIGhhZWx0IHNpY2ggenUgWndlY2tlbiBkZXIgWndlaXNhbWtlaXQgYW4gZGVyYXJ0Cm9lZmZlbnp0bGljaGVuIFBsYWV0emVuIGF1Zi4uLj8KClVtIGV0d2FzIEdlZHVsZCBiaXR0ZW5kLCB3ZWlsIHVlYmVyYXJiZWl0ZXQgLSBTaWx2YW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDSFJFSSBESUNIIEZSRUkgISEhIChXZXJld3VsZiwgMTIuIERleiAxOTk0LCAxNjowNTozMik6CiMhIHJuPUZsaW50bmFpbCBydD03ODYyMTAyODkKS2FubnN0IGR1IG1pOXIgZGFzIG1pdCBkZW5uIGthbmFlbGVuIG1hbCBpLW1haWxlbiA/CndlcmV3dWxmKGF1Y2ggZWluIGJsb2VkZXIgbmFtZSBpY2ggd2Vpc3MpIGVpbiBuZXdiZWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZTogcmU6IFNjaHJlaSBEaWNoIEZyZWkhIChEYW5jZXIsIDEyLiBEZXogMTk5NCwgMTc6Mjg6MzQpOgpXZXJld3VsZiwKCnZlcnN1Y2ggbWFsICdoaWxmZSBrYW5hZWxlJy4gVW5kIHdvIER1IGdlcmFkZSBkYWJlaSBiaXN0LCBsaWVzIERpciBhbGxlCmFuZGVyZW4gVGhlbWVuIGRlciAnaGlsZmUnLVNlaXRlIGF1Y2ggbWFsIGR1cmNoLCB3YXMgdWVicmlnZW5zCm1hbCBlaW5lIEVtcGZlaGx1bmcgYW4gYWxsZSBOZXdiaWVzIGlzdCwgZGllIGhpZXIgaW0gTW9yZ2VuR3JhdWVuCndpcmtsaWNoIHZvcndhZXJ0cyBrb21tZW4gd29sbGVuIHVuZCBuaWNodCBudXIgaGVydW1wcm9sZXRlbiB3b2xsZW4uCgpNaXR0bGVyd2VpbGUgaXN0IGVzIG5hZW1saWNoIGFuc2NoZWluZW5kIHVlYmxpY2ggZ2V3b3JkZW4sIGRhc3MgamVtYW5kCmRlciBuZXUgaXN0LCBkZW4gQmVmZWhsICd0b2V0ZSA8c3BpZWxlcj4nIG5vY2ggdm9yICdoaWxmZScgYmVudXR6dC4KCkF1cyBnZWdlYmVuZW0gQW5sYXNzIHdlaXNlIGljaCBkaWUgRnJldW5kZSB2b24gTVVELVNwaWVsZXJuIChkaWUgbmljaHQgbGVzZW4Ka29lbm5lbikKZGFyYXVmIGhpbiwgZGFzcyBkYXMgQW5ncmVpZmVuIGVpbmVzIGFuZGVyZW4gU3BpZWxlcnMgaGllciB2ZXJib3RlbiBpc3QuIFNhZ3QKZXMgRXVlcmVuIEZyZXVuZGVuIHdlbmlnc3RlbnMsIGRhbWl0IGF1Y2ggc2llIGVzIG1pdGJla29tbWVuLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKViBFIFIgTCBPIEIgVSBOIEcgISAoQW5hdG9sLCAxMy4gRGV6IDE5OTQsIDA2OjQzOjIyKToKCiAgICAgICAgRXMgaXN0IG1pciBlaW5lIHVuc2FnYmFyIGdyb3NzZSBGcmV1ZGUsCiAgICAgICAgRXVjaCBhbGxlbiBoaWVybWl0IGt1bmR0dW4genUgZHVlcmZlbiwKICAgICAgICBkYXNzIHdpciwKCiAgICAgICAgICAgICAgICAgIFplcGh5cgogICAgICAgICAgICAgICAgICAgICAgICAmCiAgICAgICAgICAgICAgICAgICAgICAgICBBbmF0b2wKCiAgICAgICBhbSAxMy4xMi45NCBpbiBhbGxlciBGcnVlaGUgaW0gYmVrYW5udGVuCiAgICAgICBQYXJrIGRlciBGcmV1bmRlIHp1ZWluYW5kZXIgZ2VmdW5kZW4gaGFiZW4uCgogICAgICAgWnVyIEhvY2h6ZWl0IHdpcmQgc2VsYnN0dmVyc3RhZW5kbGljaCBub2NoCiAgICAgICByZWNodCBoZXJ6bGljaCBlaW5nZWxhZGVuIHdlcmRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDNjQgKFRvcmZkdWVuZywgMTMuIERleiAxOTk0LCAxMjowMTo0NCk6CkFlaCwgaWNoIHN1Y2ggbmVuIEM2NCwgd2Vpc3MgamVtYW5kIHdvIGljaCBhbiBzb24gZGluZyBiaWxsaWcgZHJhbmtvbW1lID8KVEQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDNjQgKEJlbGRpbiwgMTMuIERleiAxOTk0LCAxMzo1Nzo0NSk6CiMhIHJuPVRvcmZkdWVuZyBydD03ODczMTY1MDQKU2NoYXUgaW4gSVJHRU5ERUlORSBDb21wdXRlcnplaXRzY2hyaWZ0ICh2b3J6dWdzd2Vpc2Ugdm9uIENvbW1vZG9yZQpnZXNwb25zb3J0ZSkgLi4uIGRhIHNpbmQgZ2VudWVnZW5kIEFuZ2Vib3RlIChhbGxlcmRpbmdzIG1laXN0IHp1IGxhZWNoZXJsaWNoZW4KUHJlaXNlbiA7KS4KVmVyc3VjaHMgZG9jaCBtYWwgVG9yZmkgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQzY0IChGaWNrZnJvc2NoLCAxMy4gRGV6IDE5OTQsIDE0OjAxOjA3KToKIyEgcm49VG9yZmR1ZW5nIHJ0PTc4NzMxNjUwNApXYXMgd2lsbHN0ZSBkZW5uIG1pdCBzb25lciBCcm90ZG9zZT8gVHV0cyBuZW4gRW11IG5pY2h0IGF1Y2g/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgKEtpcmssIDEzLiBEZXogMTk5NCwgMTc6MTg6MjUpOgpIYWxsbyEKClNvIGxhbmdzYW0gd2VyZGVuIGRpZSBNYWlsdmVyemVpY2huaXNzZSB6dSBncm9zcy4gRGllIE1haWwgYWxsZXIgU3BpZWxlcgpiZXRyYWVndCBkZXJ6ZWl0IGV0d2EgMjAgTUIuIEljaCBlcndhcnRlIHZvbiBqZWRlbSwgZGFzcyBlciBtYWwgZ3J1ZW5kbGljaCBpbgpzZWluZXIgTWFpbCBhdWZyYWV1bXQgdW5kIExPRVNDSFQuIE1pbmRlc3RlbnMgZGllIEhhZWxmdGUgYWxsZXIgTWFpbHMgc29sbHRlCmplZGVyIFVzZXIgbG9lc2NoZW4ga29lbm5lbi4KCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklzdCBIaXBwZSBTdWl6aWRnZWZhZWhyZGV0Pz8/IChJY2V0LCAxMy4gRGV6IDE5OTQsIDIzOjU3OjI3KToKSGkgeW8hCiAgU2FjaGQgbWEsIGlociBPYmFtYWNoaWVyLCBpcyBkZWEgSGliYmUgZWR3YSBzdWl6aWlkZ2VmYWVocmRlZD8KRGVzIGlzIG1hIGZlaSBiYXNzaWVydCwgYWxzIGkgZGVuIEhpYmJlIGFuZ2VncmlmZm4gaGFiLiBEbyBoYWQgc2ljaCBtZWkKRmx1Y2hkbW9kdXVzIGVpbmdzY2hhbGRlZCB1bmQgZGFubiBrYW0gZGVzIGRvOgoKSGlwcGUga29tbXQgYW4uCiAgRHUgZ3JlaWZzdCBIaXBwZSBtaXQgZGVtIEthbXBmc2Nod2VydCBhbi4KICBIaXBwZSB2ZXJmZWhsdCBIaXBwZS4KCgpTYWNodCBibG9vcywgZGVzIGlzIG5vcm1vbC4gQWxzbywgd2VuaWdzdG5zIGhhZWQgc2ljaCBkZXIgSGliYmUgYWEgc2VsYmEKZHJlZmZuIGtlbm5hLiBBYmEgbmEsIHZlcmZlaGxuIGR1ZCBlciBzaS4KCi1JY2VEIChob2ZmZCBhdWYgYW4gZnJhbmdubW9kdXMgaW0gTW9yY2hlbmdyYXVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVrYW5udG1hY2h1bmcgKE15c3RpeCwgMTQuIERleiAxOTk0LCAwMjo1ODo0OCk6CkRhIGljaCBpbiBsZXR6ZXIgemVpdCBtZWhybWFscyBhdWYgZGFzIEZlaGxlbgp2b24gRGV0YWlscyBpbiBtZWluZW0gSGF1cyBhbmdlc3Byb2NoZW4gd2FyLCBtb2VjaHRlIGljaCBkaWVzZSBnZWxlZ2VuaGVpdApkYXp1IG51dHplbiwgdW0gYmVrYW5udHp1bWFjaGVuLCBkYXMgaWNoIG1pdCBkZXIgSW5uZW5laW5yaWNodHVuZyBtZWluZXMKSGF1c2VzCm51bm1laHIgZWluIGdhbnplcyBzdHVlY2sgd2VpdGVyZ2Vrb21tZW4gYmluLiBBYiBzb2ZvcnQKd2lyZCBkZXIgV2lzc2Vuc2R1cnN0IGRlciB2b3JiZWlrb21tZW5kZW4gV2FuZGVyZXIsIHdpZSBqZXR6dApnZW5hdSBlaW56ZWxuZSB0ZWlsZSBhdXNzZWhlbiAoaWNoIGhhYmUgc28gY2EuIDMwIG5hZWhlciBiZXNjaHJpZWJlbikKZ2VzdGlsbHQuCgpJY2ggaG9mZmUsIGRhcyBkZXIgWnVzYW1tZW5oYW5nIG9iZW4gZWluaWdlcm1hc3NlbiBsZXNiYXIgd2FyLCBkYSBtaXIKendpc2NoZW56ZWl0aWcgZGVyIEJpbGRzY2hpcm0gd2VnZ2VzY3JvbHQgaXN0LCBkYSBpY2ggdmVyZ2Vzc2VuCmhhYmUgZGVuIEtvYm9sZCBlaW56dXNjaGFsdGVuLgoKRnVlciB3ZWl0ZXJlIGlkZWVuIHVuZCBBbnJlZ3VuZ2VuIGJpbiBpY2ggamVkZXJ6ZWl0IGRhbmtiYXIKCkJpcyBkYW5uCkhhdXNiZXNpdHplciBNeXN0aXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkM2NCAoQmFtYnVsa28sIDE0LiBEZXogMTk5NCwgMTM6MDQ6NTIpOgpIYWV0dGVzdCBkdSBkYXMgbmljaHQgZnJ1ZWhlciBzYWdlbiBrb2VubmVuIGljaCBoYWIgZ2VzdGVybiBtZWluZW4gYWx0ZW4KQzY0IHZlcnNjaGVua3QuLi4uCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSXN0IEhpcHBlIFN1aXppZGdlZmFlaHJkZXQ/Pz8gKEtvYmF5YXNoaSwgMTQuIERleiAxOTk0LCAxMzo0MjowNCk6CiMhIHJuPUljZXQgcnQ9Nzg3MzU5NDQ3CkhpZXIgaGF0IGRlciB2ZXJhbnR3b3J0bGljaGUgTWFnaWVyIG5pY2h0IGF1ZmdlcGFzc3QgdW5kIGRlbiBOYW1lbiBIaXBwZQpuaWNodCBnZXNwZXJydC4gRGVubiBlcyBnaWJ0IGRhcyBNb25zdGVyIEhpcHBlLCBhbHMgYXVjaCBuZW4gU3BpZWxlciBnbGVpY2hlbgpuYW1lbnMuCgpLb2JheWFzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNyYXNoZXMgOiggKEpvZiwgMTQuIERleiAxOTk0LCAxNjoxOTo0MCk6CiAuLi4gaW1tZXIgbm9jaCBpbiBzaHV0ZG93bihzb2NrZXQpIC0gaWNoIGhhdHRlIGRpZSBlaWdlbnRsaWNoIHJhdXNnZWhhY2t0LAphYmVyIGVpbmVyIHdhciBtaXIgZW50Z2FuZ2VuLiBEZW4gaGFiIGljaCBoZXV0IGVyaXdzY2h0LCBuYWNoIGRlbSBDcmFzaC4uLgpob2ZmZW4gd2lyIGRvY2ggbWFsIGRhcyBlcyBoaWxmdAoKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgY3Jhc2ggKEpvZiwgMTQuIERleiAxOTk0LCAxNjoyMTozNCk6Cnp1bSBiZXdlaXM6CnxzYW50YW5hOn4vYmlufCBubSBwYXJzZS4xIHwgZ3JlcCBzaHV0ZG93bgowMDA0ZjJlOCBUIGZfc2h1dGRvd24KICAgICAgICAgVSBzaHV0ZG93bgowMDA0ZjM0OCBUIHNodXRkb3duZ2FtZQotLS0gZGFzIHdhciBkZXIgYWx0ZSBHRAp8c2FudGFuYTp+L2Jpbnwgbm0gcGFyc2UgfCBncmVwIHNodXRkb3duCjAwMDRmMjUwIFQgZl9zaHV0ZG93bgowMDA0ZjJiMCBUIHNodXRkb3duZ2FtZQotLS0gZGFzIGlzIGRlciBuZXVlIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEM2NCAoU3RhaGxkb3JuLCAxNC4gRGV6IDE5OTQsIDE2OjM1OjUyKToKIyEgcm49VG9yZmR1ZW5nIHJ0PTc4NzMxNjUwNApBZWguLi4uIEljaCBoYWV0dGUgbm9jaCBlaW5lbiBhbHRlbiBDNjQgdWVicmlnLiBhdWNoIG1pdCBkaXNrZXR0ZW4gdW5kIHNvLgpJY2ggTElFQkUgYWJlciBtZWluZW4gYWx0ZW4gS3VtcGVsIHVuZCBvYiBlciBzb29vb28gYmlsbGlnIHdpcmQgd2Vpc3MgaWNoCm5pY2h0LiAgOikKCiAgICAgICAgIFNUQUhMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgY3Jhc2ggKEFuYXRvbCwgMTQuIERleiAxOTk0LCAxODowNDoxNSk6CiMhIHJuPUpvZiBydD03ODc0MTg0OTQKCkJhaG5ob2YsIEFiZmFocnQgR2xlaXMgOS4KCkFiZXIgdW53aWNodGlnLiBIYXVwdHNhY2hlIEpvZiBoYXQgcmVjaHQuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2NoemVpdCAoQmFtYnVsa28sIDE0LiBEZXogMTk5NCwgMTg6NTU6MDkpOgpXYXJ1bSBkdWVyZmVuIG51ciBGcmF1ZW4gdW5kIE1hZW5uZXIgSGVpcmF0ZW4uLi5zaW5kIHdpciBoaWVyIGdlbmF1c28KcnVlY2tzdHJhZW5kaWcgd2llIGltIFJMPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG9jaHplaXQgKERhbmNlciwgMTQuIERleiAxOTk0LCAyMjoyMDo0MSk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzQyNzcwOQpLZWluZSBQYW5paywgZXMgZW50c3RlaHQgZ2VyYWRlIGVpbmUgUGFydHlzdGFkdCwgaW4gZGVyIG1hbiBhdWNoCmhlaXJhdGVuIGtvZW5uZW4gd2lyZC4gRGFubiBrYW5uc3QgRHUgYXVjaCBEZWluIEJsdXRzYXVnZXJzY2h3ZXJ0CmhlaXJhdGVuIHdlbm4gRHUgc28gZHJhdWYgYmlzdCA6LSkKCkRhbmNlciAtIGltIFByb2dyYW1taWVyc3RyZXNzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvY2h6ZWl0IChCYW1idWxrbywgMTQuIERleiAxOTk0LCAyMjozMjo1NCk6CklzdCBkYXMgQlMtU2Nod2VydCBkYW5uIGF1dG9sb2FkIHdlbm4gaWNoIGVzIGhlaXJhdGU/PwpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvY2h6ZWl0IChEYW5jZXIsIDE0LiBEZXogMTk5NCwgMjI6NTY6MzApOgojISBybj1CYW1idWxrbyBydD03ODc0NDA3NzQKVHMsIFNwaWVsZXIhClZlcnN1Y2hlbiBhdXMgYWxsZW0gdW5kIGplZGVtIGVpbmVuIFZvcnRlaWwgenUgc2NobGFnZW4hIDotKQpXZW5uIGljaCBqZXR6dCBqYSBzYWdlbiB3dWVyZGUsIHd1ZXJkZW4gQUxMRSBudXIgbm9jaCBpaHIgQlMgaGVpcmF0ZW4sCmFsc28gc2FnZSBpY2ggTkVJTiEgOi0pCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2NoemVpdCAoQmFtYnVsa28sIDE0LiBEZXogMTk5NCwgMjM6MDE6MzkpOgpNYW4ga2FubiBlcyBqYSBtYWwgdmVyc3VjaGVuLi4uLnVuZCBkYW5uIHNvbGx0ZSBtYW4gJ1ZpZWx3ZWliZXJlaScgYnp3CidWaWVsbWFlbm5lcmVpJyBlcmxhdWJlbi4uCkRhbm4gaGVpcmF0ZSBpY2ggbWVpbmUgU2NoYXR0ZW5ydWVzdHVuZywgbWVpbiBCUy1TY2h3ZXJ0LCBtZWluZQpLcmlzdGFsbGtyb25lLi4uCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvY2h6ZWl0IChLbGluZ2UsIDE1LiBEZXogMTk5NCwgMDE6MTA6NTgpOgojISBybj1EYW5jZXIgcnQ9Nzg3NDQyMTkwCklzdCBkb2NoIHNjaG9uIGF1dG9sb2FkLi4uLi4uLi4uLmZ1ZXIgVmFtcGlyZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FmZmVuIC0gbWFsIGFsbGdlbWVpbi4uLiAoS3JldGVrLCAxNS4gRGV6IDE5OTQsIDA0OjA3OjMyKToKSGFsbG8hCgpJY2ggaGFiZSBtaWNoIGdlcmFkZSBlaW4gYmlzc2NoZW4gbWl0IG1laW5lbiBBbGlzIHJ1bWdlYWVyZ2VydDoKRGEgaGF0IG1hbiBlaW5lbiBTYWViZWwgZ2V6dWVja3QsIHdpbGwgZGFzIFRlaWwgc2NobmVsbCB3ZWdzdGVja2VuIHVuZAp3aWVkZXIgenVlY2tlbiB1bmQgc2ljaCB6d2lzY2hlbmRyaW4gbWFsIGVpbmVuIEZldWVyYmFsbCBhYnJpbmdlbiwgdW0KZWluZW4gZWluc2FtZW4gT3JrIHp1IGJlZ2x1ZWNrZW4sIHVuZCBuYXR1ZXJsaWNoIGtsYXBwdCBkYXMgYWxpCiJzdGVja2Ugc2Nod2VydCB3ZWciIG5pY2h0Li4uCkRydW0gamV0enQgbWFsIGVpbmUgKHdhaHJzY2hlaW5saWNoIGR1bW1lKSBGcmFnZTogV2FlcmUgZXMgbmljaHQKbW9lZ2xpY2gvbWFjaGJhci93dWVuc2NoZW5zd2VydCwgZGVuIGFsbGdlbWVpbmVyZW4gQmVmZWhsICJ6dWVja2UgV2FmZmUiCmJ6dy4gInN0ZWNrZSBXYWZmZSB3ZWciIHp1IGVybW9lZ2xpY2hlbj8gTWFuIGthbm4gc2ljaCBqYSB3b2hsIGRvY2gKbmljaHQgZnVlciBqZWRlIFdhZmZlbmdhdHR1bmcgZWluIGVpZ2VuZXMgQWxpIGRlZmluaWVyZW47IGVyc3RlbnMKd2FlcmUgZGFzIGphIHdvaGwgZG9jaCBlaW4gYmlzc2NoZW4gdW1zdGFlbmRsaWNoIHVuZCBhdWYgZGllIERhdWVyCmF1Y2ggdmVyd2lycmVuZCwgendlaXRlbnMgc2NobHVja3QgZGFzIGphIHNpY2hlciB3ZXJ0dm9sbGVuIFNwZWljaGVyLgpJY2gga2VubiBtaWNoIG1pdCBMUEMgbnVsbCBhdXMgdW5kIHdlaXMgZGVzaGFsYiBnYXIgbmljaHQsIG9iIHNvCndhcyB1ZWJlcmhhdXB0IG1vZWdsaWNoIGlzdCwgYWJlciBiZWkgdW5zZXJlbiBmYWVoaWdlbiBNYWdpZXJuLi4uIDspCkljaCBkZW5rIGFuIHNvIHdhcyBhZWhubGljaGVzIHdpZSBkZW4gQmVmZWhsICJ6aWVoIGFsbGVzIGFuIiwgd2FzIGphCihtaXQgQXVzbmFobWUgdm9tIFNjaG11Y2spIGF1Y2ggbW9lZ2xpY2ggaXN0LiBXYWVyZSBhbHNvIG1laW5lcgpNZWludW5nIG5hY2ggc2Nob24gbmV0dCwgc28gd2FzLCBpaHIgbGllYmVuIE1hZ2llcklubmVuIHVuZCBHb2V0dGVyISA6KQoKYyB1IGw4ZXIsCiAgIEtyZXRlawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FmZmVuIC0gbWFsIGFsbGdlbWVpbi4uIChCYW1idWxrbywgMTUuIERleiAxOTk0LCAwNDo0NTowNik6CldpZSB3YWVyZSBlcyB3ZW5uIGR1IGRpciBkZWluIEFsaWFzIGZ1ZXIgbmUgbmV1ZSBXYWZmZSBlaW5mYWNoIHVtZGVmaW5pZXJzdD8KRGFzIHdhZXJlIGRvY2ggbmljaHQgenV2aWVsIHZlcmxhbmd0LCBvZGVyLgpVbmQgYXVzc2VyZGVtIHdlbm4gZHUgbnVyIHp1ZWNrZSB3YWZmZSBlaW50aXBwc3QgdW5kIGVpbiBCUy1TY2h3ZXJ0IGFuIDgKc3RlbGxlIGhhc3QgdW5kIGVpbiBNZXNzZXIgYW4gMyBzdGVsbGUgd2lyZCBpbW1lciBkYXMgbWVzc2VyIGdlenVlY2t0Li51bmQgZGFzCndpbGxzdCBkdSBqYSB3b2hsIG5pY2h0Li4KQmlzIGJhbGQgICAgIEJBTUJVTEtPIGRhcyBXYXNzZXJ3ZXNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvY2h6ZWl0IChIYXJkaWwsIDE1LiBEZXogMTk5NCwgMTM6MDk6MzIpOgojISBybj1CYW1idWxrbyBydD03ODc0Mjc3MDkKTmVpbiBCYW1idWxrbywgZXMgZHVlcmZlbiBhdWNoIEVsZmVuIHVuZCBad2VyZ2lubmVuIHVuZCBzb2dhciBad2VyZ2UgdW5kCkVsZmlubmVuIGhlaXJhdGVuLiBVbmQgd2VubiB0aWVyaXNjaGUgTWFnaWVyIGJldGVpbGlndCBzaW5kLCBkYW5uIGlzdCBkYXMgZ2FyCm5pY2h0IHJ1ZWNrc3RhZW5kaWcsIHNvbmRlcm4gYWJzb2x1dCBwcm9ncmVzc2l2IHVuZCBtZW5kZWwnc2NoIHJlY2h0CmludGVyZXNzYW50LgoKVW5kIGZhbmd0IGJpdHRlIG5pY2h0IHdpZWRlciBtaXQgZGVtIFRoZW1hIGFuLCBkYXMgaGF0dGVuIHdpciB2b3IgMyBNb25hdGVuCnNjaG9uIG1hbCB1bmQgenVtIEdsdWVjayB1bnRlciBkZW4gVGVwcGljaCBiZWtvbW1lbi4KCkhhcmRpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPdXRpbmcgKFdpenphcmQsIDE1LiBEZXogMTk5NCwgMTg6NDM6NDgpOgojISBybj1JY2V0IHJ0PTc4NzA5OTYyMgpBbHNvIGljaCBmaW5kZSBkYXMgc3VwZXIhCkZydWVoZXIgZGFjaHRlIGljaCwgZXMgZ2lidCBlaWdlbnRsaWNoIGtlaW5lIEJhbWJlcmdlciBhdXNzZXIgUHVtYSB1bmQgVXJndXNoCmFiZXIgbnVuIGJld2Vpc2VuIHdpciBkYXMgR2VnZW50ZWlsCkJhbWJlcmcgdW5kIGRhbWl0IEZyYW5rZW4gaXN0IHN0YXJrIGltIEtvbW1lbi4KV2VubiB3aXIgdW5zIGFuc3RyZW5nZW4gdW5kIHp1c2FtbWVubGVnZW4sIHNjaGFmZmVuIHdpciB2aWVsbGVpY2h0IHNvZ2FyCmRpZSBNdWVuc3RlcmFuZXI/PyAqZ3JpbnMqCldpenphcmQgemFlaGx0IC4uLiB1bmQgemFlaGx0IC4uLiBIaWdobGFuZGVyIC4uLiBBbnRoZWEgLi4uIFB1bWEgLi4uIHNlbGJzdAouLi4KVXJndXNoIC4uLiBDZXJlYnVzIC4uLiBJY2VUIC4uLiB1bmQgZXMga29tbWVuIHRhZWdsaWNoICp1ZWJlcnRyaWViZW4qIG1laHIuCgpXZWhyZXQgZGVuIEFuZmFlbmdlbiBpc3QgVWViZXJmbHVlc3NpZyEhIExlaWRldCBlaW5mYWNoIHVudGVyIHVucyEKCkVpbiBzaWNoIGZyb2VobGljaCB2ZXJnbnVlZ2VuZGVyIFdpenphcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0NIUkVJIERJQ0ggRlJFSSAhISEgKEZsaW50bmFpbCwgMTUuIERleiAxOTk0LCAxOToyNzowOSk6CiMhIHJuPVdlcmV3dWxmIHJ0PTc4NzI0NDczMgpHZWhvZXJ0IGRhcyBuaWNodCBpbiBkaWUgUnVicmlrIFdpdHplID8gRW50c2NodWxkaWdlIFdlcmV3dWxmLCBhYmVyIHByb2JpZXJ0CmRvY2ggYmlldGUgZWluZmFjaCBtYWwgZGllIEhJTEZFIGR1cmNoIQoKICAgICAgICAgRmxpbnRuYWlsLCBldHdhcyBlbnRzZXR6dCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9jaHplaXQgKEZsaW50bmFpbCwgMTUuIERleiAxOTk0LCAxOTozNDowMCk6CiMhIHJuPUhhcmRpbCBydD03ODc0OTMzNzIKamEsIEhhcmRpbCAuLi5kdSBzYWdzdCBlcy4uLmVzIGlzdCB1bnRlciBkZW4gVGVwcGljaCBnZWtvbW1lbi4uLmxlaWRlciEhIQogICAgIEZsaW50bmFpbCwgbGFlY2hlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChLZXJtaXQsIDE1LiBEZXogMTk5NCwgMTk6NTQ6MTIpOgoKVGphLCBuYWNoZGVtIG1hbCB3aWVkZXIgZWluIFJlYm9vdCBtaWNoIGFsbCBtZWluZXIgU2FjaGVuIHZlcmx1c3RpZwpnZW1hY2h0IGhhdHRlLCBkYWNodGUgaWNoIGhvbCBpY2ggbWlyIG1hbCBlYmVuIGVpbiBuZXVlcyBCUy1TY2h3ZXJ0LApkYXMgaXN0IGltbWVyIHNvIHNjaG9lbiBwcmFrdGlzY2ggdW5kIG1hbiBrYW5uIG5lYmVuYmVpIG5vY2ggbmVuCkJ1bWVyYW5nIHNjaHdpbmdlbi4KQWJlciBuZWluISBadW0geC10ZW4gbWFsIG11c3MgaWNoIGVybGViZW4gd2llIHNpY2ggZGllIExldXRlIHZvcgpkZW0gU2FyZyB2ZXJzYW1tZWxuLCB1bSBuZSBzY2h3YXJ6ZSBNZXNzZSBhYnp1aGFsdGVuIHVuZCBkZW4gYXJtZW4KVmFtcGlyIHp1IHRvZXRlbi4KQWxzbyB1bSBzb3dhcyB6dSB2ZXJtZWlkZW4gaGFldHRlIGljaCB6d2VpIFZvcnNjaGxhZWdlOgoxLmVudHdlZGVyIG1hbiBzZXR6dCBkaWUgUmVzZXR6ZWl0ZW4gaGVydW50ZXIgb2RlcgoyLmRpZSBNYWdpZXIgZXJzY2hhZmZlbiBlaW5lIFZhbXBpcmtvbG9uaWUsIHdvIG1hbiBkYW5uIG1laHJlcmUKICBWYW1waXJlIHp1ciBBdXN3YWhsIGhhdDopCk51ciBzbyBlaW4gcGFhciBnZWRhbmtlbjopCgpZVCxLRVJNSVQsaGF0IGRpZSBOYXNlIHZvbGwgdm9tIFdhcnRlbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWZmZW4gLSBtYWwgYWxsZ2VtZWluLi4gKEZ5dCwgMTUuIERleiAxOTk0LCAxOTo1NDo0OSk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzQ2MzEwNgoKdW5kIHdpZSB3YWVyZSBlcywgd2VubiBhbGlzIHJla3Vyc2l2IHdhZXJlLApkLmguIGR1IG1hY2hzdCAgYWxpIHdhZmZlIGxhbmdzY2h3ZXJ0CnVuZCBhbGkgZyB6dWVja2Ugd2FmZmUuLi4KZGFubiBicmF1ZWNodGVzdCBkdSBudXIgbm9jaAp3YWZmZSB1bXp1ZGVmaW5pZXJlbiwgd2VubiBkdSAnbmUgbmV1ZSBoYXN0LgoKRnl0IChhdWNoIGtlaW5lIEFobnVuZyB2b24gTFBDLCBpc3QgYWJlciBkb2NoCmVpbiBQYXJzZXJwcm9ibGVtLCBvZGVyPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWZmZW4gLSBtYWwgYWxsZ2VtZWluLi4gKEtyZXRlaywgMTUuIERleiAxOTk0LCAyMToxODowMSk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzQ2MzEwNgpUamFhYWEsIEJhbWJ1bGtvLi4uIFp1dmllbCB3YWVyJ3MgbmF0dWVybGljaCBuaWNodCB2ZXJsYW5ndCwgc2ljaCBkaWUKQWxpcyBlaW5mYWNoIHVtenVkZWZpbmllcmVuLCBhYmVyIGZyYWdlbiB3aXJkIG1hbiBqYSB3b2hsIG5vY2ggZHVlcmZlbi4uLgpBdXNzZXJkZW06IFdlbGNoZSBXYWZmZSBtYW4gYW4gd2VsY2hlciBTdGVsbGUgaGF0LCBkYXMgbGFlc3N0IHNpY2ggamEKd29obCBkb2NoIGJlZWluZmx1c3NlbiEgTWFuIHRyYWVndCBqYQp3b2hsIGRvY2ggc2Nob24gZmFzdCBzdGFuZGFyZG1hZXNzaWcgaW1tZXIgZWluIGtsZWluZXMgQmV1dGVsY2hlbgptaXQgc2ljaCBydW0sIG9kZXIgZWluIHNjaGxlaW1pZ2VzLCBvZGVyIGdhciBlaW4gS2lzdGNoZW4uLi4KCmMgdSBsOGVyLAogICBLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSXN0IEhpcHBlIFN1aXppZGdlZmFlaHJkZXQ/Pz8gKEljZXQsIDE1LiBEZXogMTk5NCwgMjM6MDg6MTQpOgojISBybj1Lb2JheWFzaGkgcnQ9Nzg3NDA4OTI0CkhpIEtvYiEKICBEZXIgU3BpZWxlciBIaXBwZSB3YXIgenUgZGllc2VyIFplaXQgbmljaHQgaW4gTUcuIFVuZCByZXNlcnZpZXJ0IGlzdCBkZXIKTmFtZSB3aWUgZXMgc2NoZWludCBhdWNoIHNjaG9uIDopCgotSWNlVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3V0aW5nIChJY2V0LCAxNS4gRGV6IDE5OTQsIDIzOjEwOjIxKToKIyEgcm49V2l6emFyZCBydD03ODc1MTM0MjgKSmFqYSwgYWJlciBhbHMgaWNoIGdlcmFkZSBHb3R0IHd1cmRlIGluIFVOSSwgZGEgaGFidCBpaHIgbm9jaCBuaWNodCBtYWwKZ2V3dXNzdCwgZGFzcyBkaWUgVW5pIEJhbWJlcmcgSW50ZXJuZXRhbnNjaGx1c3MgaGF0IDstKSBEZW4gZ2FicyBkYW1hbHMKbmFlbWxpY2ggZXJzdCBnYW56IGZyaXNjaCB1bmQgaW5vZmZpemllbC4KCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWVkZXJtYWwgQlMgKElzbm9nb29kLCAxNi4gRGV6IDE5OTQsIDAzOjE5OjA3KToKSWNoIGthbm4gS2VybWl0IGJlenVlZ2xpY2ggZGVzIFN0YXVzIGFtIEZyZWlkaG9mIG51ciByZWNodCBnZWJlbiwgYWxsZXJkaW5ncwpmcmFnZSBpY2ggbWljaCBzb3dpZXNvIHNjaG9uIHNlaXQgZWluaWdlciBaZWl0LCB3aWVzbyBlcyBlaWdlbnRsaWNoIG51ciBlaW5lCmVpbnppZ2UgV2FmZmUgZGllc2VyIFF1YWxpdGFldCBnaWJ0PyBGcnVlaGVyIHdhciBqYSBtYWwgZGFzIFNhZWdlemFobnNjaHdlcnQKZGEsIGRhcyBpc3QgbWl0dGxlcndlaWxlCnNvIGFiZ2VzdHVmdCwgZGFzcyBlcyBuaXggbWVociB0YXVndC4uIEljaCBmaW5kZSBtYW4gc29sbHRlIG5vY2ggMi0zIGFlaG5saWNoCmd1dGUgV2FmZmVuIGVyc2NoYWZmZW4sIHZpZWxsZWljaHQgamVkZSBtaXQgdm9yLXVuZCBOYWNodGVpbGVuLCBzbyBkYXNzIG1hbgpuaWNodCB1bmJlZGluZ3Qgc2FnZW4ga2Fubiwgd2VsY2hlIGRpZSBiZXN0ZSBpc3QsIHNvbmRlcm4gbmFjaCBkZW0gamV3ZWlsaWdlbgpBbndlbmR1bmdzendlY2sKdW50ZXJzY2hlaWRlbiBtdXNzLiBHZW5hdXNvIGlzdCBlcyB1ZWJyaWdlbnMgYmVpIGRlbiBydWVzdHVuZ2VuLiBJY2ggaGFiCmZydWVoZXIgaW1tZXIgZ2Vob2VydCwgc2NoYXR0ZW5ydWVzdHVuZyB1bmQgc2NodXBwZW5wYW56ZXIgd2FlcmVuIG5haGV6dQpnbGVpY2h3ZXJ0aWcsIGRhcyBpc3QgZWluIHppZW1saWNoZXIgd2l0ei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWVkZXJtYWwgQlMgKERhbmNlciwgMTYuIERleiAxOTk0LCAwMzo0NDoxNyk6CiMhIHJuPUlzbm9nb29kIHJ0PTc4NzU0NDM0NwpJY2ggYmluIGRhZnVlciwgZGFzIEJsdXRzYXVnZXJzY2h3ZXJ0IGVuZGxpY2ggYWJ6dXdlcnRlbiwgZGFubiBpc3QKbmFlbWxpY2ggUnVoZSwgd2VubiBJaHIgaW1tZXIgbnVyIHJ1bW1lY2tlcnQgOykKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuc2VyIE1VRCBpbiBkZXIgU2NvdHQgR2VpZ2VyIExpc3RlIChIYXRlLCAxNi4gRGV6IDE5OTQsIDA4OjMwOjQ5KToKTmFjaGRlbSBpY2ggZmVzdHN0ZWxsZW4gbXVzc3RlLCBkYXNzIGRhIGVpbmUgZmFsc2NoZSBpcCBzdGFuZCBoYWJlIGljaAplaW5lIE1haWwgZGFoaW4gZ2VzY2hpY2t0LCBtaXQgdW5zZXJlbSBBZGVzc2VuIGFsaWFzIG11ZC51bmktbXVlbnN0ZXIuZGUKdW5zZXJlciBha3R1ZWxsZW4gaXAgdW5kIGRlciBzeW1ib2xpc2NoZW4gQWRyZXNzZSBkZXMgUmVjaG5lcnMuCkRhcmF1ZiBmb2xnZW5kZXM6CgpGcm9tOiBzY290dCBnZWlnZXIgPHNnZWlnZXJAc2lsdmVyLnVjcy5pbmRpYW5hLmVkdT4KU3ViamVjdDogUmU6IFRoZSBNVUQgTGlzdApUbzogbGVvQHByb3N1bi5maXJzdC5nbWQuZGUgKE1hdHRoaWFzIEwuIEp1Z2VsKQpEYXRlOiBUaHUsIDE1IERlYyAxOTk0IDEzOjAzOjE2IC0wNTAwIChFU1QpCkluLVJlcGx5LVRvOiA8OTQxMjE1MDkyMC5BQTIzMDU2QHByb3N1bi5maXJzdC5nbWQuZGU+IGZyb20gIk1hdHRoaWFzIEwuCkp1Z2VsIiBhdCBEZWMgMTUsIDk0IDEwOjIwOjIxIGFtCk1pbWUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CkNvbnRlbnQtTGVuZ3RoOiAyMjkKCgoKVGhhbmtzIGZvciBhbGwgdGhlIGluZm9ybWF0aW9uLiAgSSB3aWxsIG1vdmUgVXRvcGlhIHRvIHRoZSBtdWx0aS1saW5ndWFsCnNlY3Rpb24uICBBbmQgdGhhbmtzIGZvciB0aGUgaW5mbyBvbiB0aGUgYWRkcmVzcyBhbGlhcy4gIEkga25vdyB0aGF0IGEgbG90Cm9mIG11ZHMgYXJlIG5vdyBkb2luZyB0aGlzLCBhbmQgaXQgbWFrZXMgaXQgc28gbXVjaCBlYXNpZXIgZm9yIG1lLgoKU2NvdHQgR2VpZ2VyCgpEYXMgbnVyIHp1ciBJbmZvcm1hdGlvbi4gREllc2UgTGlzdGUgd2lyZCBSZWdlbG1hZXNzaWcgaW4gZGVuIE1VRCBHcnVwcGVuCmRlciBJTnRlcm5ldE5ld3MgZ2Vwb3N0ZXQhCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZWRlcm1hbCBCUyAoWWFudHJvLCAxNi4gRGV6IDE5OTQsIDA5OjI1OjQ0KToKIyEgcm49SXNub2dvb2QgcnQ9Nzg3NTQ0MzQ3CkhpIElzbm9nb29kLgoKSWNoIHdvbGx0ZSBudXIgYmVtZXJrZW4sIGRhc3MgZXMgaW0gTUcgdW5tZW5nZW4gdm9uIFdhZmZlbiBnaWJ0IHVuZCBkYXMKbWVpbmVyIGJlc2NoZWlkZW5lbiBNZWludW5nIG5hY2ggZGFzIEJTIG5pY2h0IHVuYmVkaW5ndCBkaWUgYmVzdGUgV2FmZmUgaXN0Li4uCgpBYmVyIGlociBzY2hlaW50IGV1Y2ggZGFzIGFsbGUgZWluenViaWxkZW4gOykKCiAgICAgICAgICAgICBZYW50cm87KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWVkZXJtYWwgQlMgKENhcmFkaHJhcywgMTYuIERleiAxOTk0LCAxMjowNjoxOCk6CiMhIHJuPVlhbnRybyBydD03ODc1NjYzNDQKYWJlciBkaWUgYmVzdGUgZWluaGFlbmRpZ2UsIHVuZCBkYXMgaXN0IGRhcyB3aWNodGlnc3RlLgoKICAgdHNjaG9lICAgICAgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0ClBTOiBXZW5pZ3N0ZW5zIGRhcyB3aWNodGlnc3RlIGZ1ZXIgbWljaCBhbHMgQnVtZXJhbmctQmVudWV0emVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWVkZXJtYWwgQlMgKFBoYXJhbywgMTYuIERleiAxOTk0LCAxMjoxMTo0MSk6CiMhIHJuPUNhcmFkaHJhcyBydD03ODc1NzU5NzgKV2VubiBpaHIgd2VpdGVyaGluIHNvIHJ1bW5vZXJnZWx0IGtvZW5udGUgaWNoIG1pciB2b3JzdGVsbGVuLCBkYXNzCmRhcyBCUy1TY2h3ZXJ0IG5pY2h0IG1laHIgbGFuZ2UgZWluaGFlbmRpZyBnZWZ1ZWhydCB3ZXJkZW4ga2Fubi4KCkFsc28gYmVzY2h3ZXJ0IGV1Y2ggbGllYmVyIG5pY2h0IQoKRXVlciBQaGFyYW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChCb2luZywgMTYuIERleiAxOTk0LCAxNDo1NjozNCk6CiMhIHJuPUtlcm1pdCBydD03ODc1MTc2NTIKRXMgZ2lidCBldHdhIDU3MzIgemllbWxpY2ggZ3V0ZSBXYWZmZW4gaW0gTXVkLCB3ZW5uIGlociBhbGxlIG51ciB6dW0KVmFtcGlyIHJlbm50IHVuZCBzb25zdCBuaWNodHMga2VubnQsIHNlaWQgaWhyIHNlbGJzdCBzY2h1bGQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiBCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChCYW1idWxrbywgMTYuIERleiAxOTk0LCAxNTo1NjowNCk6Ck51ciB3ZXJkZW4gdm9uIGRlbiBXYWZmZW4gYWxsZSA1IG1pbnV0ZW4gZGllIFN0YWVya2VuIHZlcmFlbmRlcnQuLi4uLnVuZCBpY2gKaGFiZSBrZWluZSBsdXN0IGFuZGF1ZXJuZCB6dW0gU2NobWllZCB6dSBsYXVmZW4uCgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICBCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChCb2luZywgMTYuIERleiAxOTk0LCAxNjoxNzowMCk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzU4OTc2NApBaGE/IER1IHNjaGVpbnN0IGRhcyBzZWhyIGdlbmF1IHp1IHdpc3NlbiAuLi4gZXMgaXN0IGltbWVyIHdpZWRlciBoZXJybGljaAp6dSBlcmZhaHJlbiwgd2FzIG1hbmNoZSBTcGllbGVyIHNpY2ggc28gYWxsZXMgZWluYmlsZGVuIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUgKEJhbWJ1bGtvLCAxNi4gRGV6IDE5OTQsIDE2OjU1OjUzKToKSmV0enQgZXJ6YWVobCBtaXIgbm9jaCBkYXMgaGllciBrZWluZSBXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4gYXVmIGJ6dwphYmdld2VydGV0IHdlcmRlbi4uLi4KT2sgYWxsZSA1IE1pbnV0ZW4gaXN0IHVlYmVydHJpZWJlbiwgYWJlciBlcyBwYXNzaWV0LgpXZW5uIGRhcyBkZW4gU3BpZWxlcm4gbWl0Z2V0ZWlsdCB3ZXJkZW4gd3VlcmRlIHdhZXJlIGVzIGphIG9rLi4uCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQlMtU2Nod2VydCBkaWUgMTc2NTEzNTg2emlnc3RlIChSYWlzdGxpbiwgMTYuIERleiAxOTk0LCAxNzo0NjozMSk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzU5MzM1MwpIbW1tLAp2aWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGllIGFsbGUgNS03IE1pbnV0ZW4gdm9ya29tbWVuZGVuIEFlbmRlcnVuZ2VuIGF1Y2ggYXVmCmRhcyBCUy1TY2h3ZXJ0IGJlemllaGVuPwpEYW5uIHdpcmQgZXMgdmllbGxlaWNodCB3aWUgc28gdmllbGUgYW5kZXJlbiBXYWZmZW4gYXVjaCB2ZXJzY2htYWVodAoKLS0tUmFpc3RsaW4ga2VubnQgYXVjaCBhbmRlcmUgZ3V0ZSBXYWZmZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWloZWl0IGJlaSBkZXIgTmFtZW5zZ2VidW5nIChDcmFpZywgMTYuIERleiAxOTk0LCAxODo1MToxNSk6CkVpbiBiaXNzY2hlbiBtZWhyIFRvbGVyYW56IHVuZCBIdW1vciBiaXR0ZSwgVGVsby4gR3J1c3MgYW4gYWxsZSBMZXNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQlMtU2Nod2VydCBkaWUgMTc2NTEzNTg2emlnc3RlLiAoR3V5YnJ1c2gsIDE2LiBEZXogMTk5NCwgMTk6MDU6NTMpOgojISBybj1Cb2luZyBydD03ODc1ODYxOTQKV2FmZmVuPwoKV2FzIGlzbiBkYXM/IEljaCBsYXVmIGhpZXIgaW1tZXIgc28gcnVtLi4uc29uc3Qga29lbm50IGljaCBqYSBub2NoIHdlbgp2ZXJsZXR6ZW4uLi4uLgoKR3V5YnJ1c2gsIGRlciBmcmllZGxpY2hzdGUgUGlyYXQgYXVmIEdvdHRlcyAobmljaHQgSm9mJ3MpIEVSZGUKCgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NobWFsIHp1ciBGcmFnZ2xlLVF1ZXN0IChCYW1idWxrbywgMTYuIERleiAxOTk0LCAyMjo1OToyOCk6CkF1Y2ggd2VubiBkYXMgVGhlbWEgdG90YWwgZHVyY2hnZWthdXQgaXN0IG1vZWNodGUgaWNoIHNhZ2VuIGRhcyBkYXMgc3RhZW5kaWdlCldhcnRlbiBuZXJ2dCBnYW56IHNjaG9lbi4uLgpTb25zdCBpc3QgZGllIFF1ZXN0IGJpcyBqZXR6dCBhYmVyIHNlaHIgZ3V0Li4uLndlbm4gbnVyIGRhcyB3YXJ0ZW4gbmljaHQKd2FlcmUuLi4KQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyYXZ1cmVuISAoS3JldGVrLCAxNy4gRGV6IDE5OTQsIDA2OjQxOjQ1KToKSGFsbG9lY2hlbiEKCkFsc28sIGdyYWQgYmluIGljaCBkYSBkb2NoIHVlYmVyIGV0d2FzIHNlaHIgZWlnZW5hcnRpZ2VzIGJlaSBkZW4gR3JhdnVyZW4Kdm9uIFNjaG11Y2tzdHVlY2tlbiBnZXN0b2xwZXJ0OgpPZmZlbmJhciBnaWJ0J3MgamV0enQgc2VpdCBOZXVlbSBkaWUgR3JhdnVyIG1pdCBkZW0gSG9jaHplaXRzZGF0dW0gdW5kCmRlbiBOYW1lbiBpbSBFaGVyaW5nLiBTY2hvZW4gdW5kIGd1dCwgYWJlciBqZXR6dCBoYWIgaWNoIGRvY2ggZXh0cmEKZnVlciBkaWUgR3JhdnVyIGluIG1laW5lbSBPaHJyaW5nIGF1Y2ggd2FzIGJlemFobHQsIHVuZCB3ZW5uIGljaCAob2RlcgpqZW1hbmQgYW5kZXJzKSBqZXR6dCB2ZXJzdWNodCwgZGllIEdyYXZ1ciB6dSBsZXNlbiwgZGFubiBrb21tdCBkaWUKR3JhdnVyIHZvbSBFaGVyaW5nIQpGcmFnZTogQmVhYnNpY2h0aWd0ICh3b2hsIGthdW0uLi4pIG9kZXIgQnVnIT8KCmMgdSBsOGVyLAogICBLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyYXZ1cmVuLCBkaWUgWndlaXRlISAoS3JldGVrLCAxNy4gRGV6IDE5OTQsIDA2OjQzOjMxKToKQWxzbywgZ3JhZCBiaW4gaWNoIHNlbGJlciBkcmF1Zmdla29tbWVuLCB3aWUgbWFuIGRpZSBHcmF2dXIgaW0gT2hycmluZwoodW5kIHZlcm11dGxpY2ggYXVjaCBhdWYgc29uc3RpZ2VuIFNjaG11Y2tzdHVlY2tlbikgbGVzZW4ga2FubjoKbWl0IExJRVMgT0hSUklORyEhISBTZWhyIGxvZ2lzY2guLi4KZmluZGV0CihtaXQgZWluZW0gImMgdSBsOGVyIikKICAgS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpZWRlcm1hbCBCUyAoS2xpbmdlLCAxNy4gRGV6IDE5OTQsIDEzOjA1OjU1KToKIyEgcm49WWFudHJvIHJ0PTc4NzU2NjM0NAp3YXMgbWVpbnN0IGR1IGRlbm4gd29obCwgd2VsY2hlIGJlc3NlciB3YWVyZSA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKYSwgZGllIFN0ZWluaWVzIGhhYmVucyBpbiBzaWNoLiAoSGF3aywgMTcuIERleiAxOTk0LCAxMzoyMjo1Nik6CkRhIGdpbmcgaWNoIGRvY2ggaGV1dGUgZnJvaGdlbXV0IGluIGRpZSBTdGVpbmJlaXNzZXJob2VobGUsCnVtIGVpbiBwYWFyIFN0ZWluaWVzIHp1IGtpbGxlbi4KSXJnZW5kd2llIHNjaGFmZnRlIGljaCBlcyBuaWNodCBhbGxlIHdlZ3p1cHV0emVuLiBJY2ggZmFuZCBkYXMgaG9lY2hzdAp1bmdld29laG5saWNoLgpLYXVtIGhhdHRlIGljaCB3ZWxjaGUgZ2VraWxsdCwgc2Nob24gd2FyZW4gd2llZGVyIG5ldWUgZGEuCkhhdCBzaWNoIGRhIGV0d2FzIGFuIGRlciBSZXNldHplaXRlbiBnZWFlbmRlcnQ/CkVpbiBhbiBzaWNoIHNlbGJzdCB6d2VpZmZlbG5kZXIgSEFXSyA6KS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpdHRlIHJhZXVtdCBFdXJlIG1haWxmb2xkZXIgYXVmISAoTG9jbywgMTcuIERleiAxOTk0LCAxNzozNjozMyk6ClZvciBlaW5pZ2VyIFplaXQgd2FyIGhpZXIgZGVyIEFwcGVsbCB6dSBsZXNlbiwgZG9jaCBiaXR0ZSBkaWUgbWFpbGZvbGRlcgphdWZ6dXJhZXVtZW4sIHdlaWwgdW5zZXIgTWFpbHZlcnplaWNobmlzIHp1IGdyb3NzIGdld29yZGVuIGlzdC4gSGllciBrb21tdApqZXR6dCBlaW5lIGFic3RlaWdlbmRlIExpc3RlIGRlcmplbmlnZW4gTGV1dGUsIGRpZSBzaWNoIGJlc29uZGVycyBhbmdlc3Byb2NoZW4KZnVlaGxlbiBzb2xsdGVuLi4uIGRpZSBUb3AgNzAsIGQuaC4gYWxsZSwgZGVyZW4gbWFpbGZvbGRlciB1ZWJlciA1MCBLaWxvYnl0ZQooaW1tZXJoaW4gZXR3YSAyMCB2b2xsZ2VzY2hyaWViZW5lIEE0LVNlaXRlbikgZ3Jvc3MgaXN0LgogTmFlY2hzdGVzIE1hbCBzY2hyZWliIGljaCBtaXIgZWluIHNjcmlwdCBkYWZ1ZXIuLi4KICAgTG9jbwoKICAgICAgICAzMDYzMTcgMTYuIERleiwgMTE6MjggZnJldW5kLm8KICAgICAgICAyMTk2NDIgMTYuIERleiwgMTc6NDkgY2F0d2VhemxlLm8KICAgICAgICAyMDg5NTUgMTYuIERleiwgMTg6NTcgcnVkaXJhdHRlci5vCiAgICAgICAgMjAyMzU5IDE1LiBEZXosIDE4OjAyIHNjaHJ1bXBmaS5vCiAgICAgICAgMTcyMTg1IDE3LiBEZXosIDE3OjEzIHJ4dGVjaC5vCiAgICAgICAgMTU1MjE0IDE3LiBEZXosIDE0OjExIGRhbmNlci5vCiAgICAgICAgMTUzNzc4IDE3LiBEZXosIDE2OjQxIHBlbmVsb3BlLm8KICAgICAgICAxNDI2MTAgMTcuIERleiwgMDA6MTUgcnluZS5vCiAgICAgICAgMTM3OTI0IDE2LiBEZXosIDA2OjI5IGd1bmR1ci5vCiAgICAgICAgMTM3MDgyIDE2LiBEZXosIDE3OjA4IGlvbGFudGhlLm8KICAgICAgICAxMjYyNzQgMTYuIERleiwgMTk6NDMgZGlnZWRhZy5vCiAgICAgICAgMTI0NjA1IDE2LiBEZXosIDE4OjM0IHdpbGxvdy5vCiAgICAgICAgMTE4NDEwIDE2LiBEZXosIDE4OjU1IHd1ci5vCiAgICAgICAgMTE3MDMwIDE3LiBEZXosIDE2OjI3IHNpbHZhbmEubwogICAgICAgIDExNTcyOCAgNi4gRGV6LCAxNTozNiBjaGlyYS5vCiAgICAgICAgMTE0OTAyIDE2LiBEZXosIDEzOjU1IHF1ZW5naXN0dS5vCiAgICAgICAgMTE0NDE2ICA3LiBEZXosIDE1OjE0IHp1ZXJpbGV1Lm8KICAgICAgICAxMTI2NzcgIDcuIERleiwgMTU6MTQgYXRyZWlkZXMubwogICAgICAgIDExMjIzMiAxNS4gRGV6LCAyMjowNiBoZWxsb3dlZW4ubwogICAgICAgIDEwODA1NiAxNi4gRGV6LCAyMjozNyBqYWZlbC5vCiAgICAgICAgMTAzODY1IDE1LiBEZXosIDE4OjE1IGJhcmFrLm8KICAgICAgICAgOTgwOTMgMTIuIERleiwgMTg6NTAgbm9zdHJhZGFtdXMubwogICAgICAgICA5Njk0MyAgOS4gRGV6LCAxNjo0OSBzYWVuZ2VyLm8KICAgICAgICAgOTY1ODkgMTQuIERleiwgMDc6Mjggc2hpcmEubwogICAgICAgICA5NTkwNyAxNC4gRGV6LCAwMDoyMyB2YW5qYS5vCiAgICAgICAgIDkwMDk0IDE1LiBEZXosIDAxOjE2IHNpcGhvbngubwogICAgICAgICA4OTYxNyAgOS4gRGV6LCAxNDozNCB3b2xmZW5kYXJ0Lm8KICAgICAgICAgODkzNTggMTcuIERleiwgMTM6MjIgZWxmaWUubwogICAgICAgICA4OTEyMSAxNS4gRGV6LCAxNDoyOCBzZW1pcmEubwogICAgICAgICA4NzcxNyAxNC4gRGV6LCAyMzo1MyBtaW1vLm8KICAgICAgICAgODc0MDIgMTcuIERleiwgMTM6NDAga2V0b3MubwogICAgICAgICA4NTIyNSAxNi4gRGV6LCAwODoyMiByYXkubwogICAgICAgICA4MzU4NSAxNi4gRGV6LCAxNTo0MiBteXN0aXgubwogICAgICAgICA4MzExOCAxNy4gRGV6LCAwMTo1MyBiaWJvLm8KICAgICAgICAgODI3MTAgMTYuIERleiwgMTQ6MTcgYm9pbmcubwogICAgICAgICA3OTU3NSAxMC4gRGV6LCAxOTozMiBnd2VuZGFsLm8KICAgICAgICAgNzg2MTQgMTUuIERleiwgMTg6MTggcm9taWxpLm8KICAgICAgICAgNzcwOTkgMTcuIERleiwgMDE6MDEgZ3JpbW1ib3JuLm8KICAgICAgICAgNzYzODAgMTMuIERleiwgMTE6MDkgc21hdWcubwogICAgICAgICA3NTYzNSAxNC4gRGV6LCAxODo1OCBzbHlmb3gubwogICAgICAgICA3MDM0NyAxNC4gRGV6LCAxNzoxMSBzdGFobGRvcm4ubwogICAgICAgICA2ODg4NiAyOC4gTm92LCAwNjozOCBza2FsbGFncmltLm8KICAgICAgICAgNjgwMTUgIDkuIERleiwgMjE6MTAgZ3V5YnJ1c2gubwogICAgICAgICA2NjQxNSAgNy4gRGV6LCAxNjowNCBmcmVkZXJpY2subwogICAgICAgICA2NTc0MSAxNS4gRGV6LCAxOTowOCB5YWsubwogICAgICAgICA2Mjk4MiAxNy4gRGV6LCAwNTo0OSBmcmFnZ2xlLm8KICAgICAgICAgNjI0ODAgMTcuIERleiwgMTI6NDkgYnJvdGhlci5vCiAgICAgICAgIDYwNTI4IDEzLiBEZXosIDExOjUwIG1pbm5pLm8KICAgICAgICAgNTk0NjQgMTcuIERleiwgMTU6Mzcgd2l6emFyZC5vCiAgICAgICAgIDU4MTE3IDEwLiBEZXosIDE4OjU1IG11YWRpYi5vCiAgICAgICAgIDU3OTI1IDE2LiBEZXosIDAwOjE5IHdvdGFuLm8KICAgICAgICAgNTc3MjkgIDguIERleiwgMjA6Mzkgc2VuamEubwogICAgICAgICA1NzM1NCAxNC4gRGV6LCAyMTowNyBsb2N1bHVzLm8KICAgICAgICAgNTY3MTQgMTYuIERleiwgMDE6MjEga2VybWV0Lm8KICAgICAgICAgNTY0MjggMTYuIERleiwgMTc6MTkgbWFnaWNvbGxpLm8KICAgICAgICAgNTU4MjEgMTcuIERleiwgMDM6MjIgY2hhcm9uLm8KICAgICAgICAgNTU2NDggMTUuIERleiwgMjA6Mzkga2VybWl0Lm8KICAgICAgICAgNTU2MjUgMTMuIERleiwgMTU6Mzkga2p1aC5vCiAgICAgICAgIDU0NzQ4ICA3LiBEZXosIDE1OjE1IG5vYm9keS5vCiAgICAgICAgIDU0MzY3IDMwLiBOb3YsIDE4OjQ5IGx1Y3kubwogICAgICAgICA1NDMyMSAgMi4gRGV6LCAwMjowNiB3YXJsb3JkLm8KICAgICAgICAgNTM5MTMgMTYuIERleiwgMTU6MDggY2FsdW0ubwogICAgICAgICA1MzcxNCAxMS4gRGV6LCAxMzoxNCBhbGxhaC5vCiAgICAgICAgIDUzMzY0IDE2LiBEZXosIDIyOjM3IGFyYWdvbi5vCiAgICAgICAgIDUyMDQ3IDE3LiBEZXosIDEyOjUzIHNub29rZXIubwogICAgICAgICA1MTczMSAxNC4gRGV6LCAyMDozMyBmbG9oLm8KICAgICAgICAgNTEyOTYgMTcuIERleiwgMDE6MDEgYmxvb2Rnb3JlLm8KICAgICAgICAgNTEyNTUgMTYuIERleiwgMTQ6MTQgY2FtcGluby5vCiAgICAgICAgIDUxMDUyIDEzLiBEZXosIDE3OjMwIGtvdHpicm9ja2VuLm8KICAgICAgICAgNTA3NjMgIDguIERleiwgMTQ6MTIgbG9saXRhLm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaXR0ZSByYWV1bXQgRXVyZSBtYWlsZm9sZGVyIGF1ZiEgKExvY28sIDE3LiBEZXogMTk5NCwgMTc6NDE6NDUpOgojISBybj1Mb2NvIHJ0PTc4NzY4MjE5MwpVbmQgaGllciBkaWVzZWxiZSBMaXN0ZSBub2NobWFsIGFscGhhYmV0aXNjaDoKICAgICAgICAgNTM3MTQgMTEuIERleiwgMTM6MTQgYWxsYWgubwogICAgICAgICA1MzM2NCAxNi4gRGV6LCAyMjozNyBhcmFnb24ubwogICAgICAgIDExMjY3NyAgNy4gRGV6LCAxNToxNCBhdHJlaWRlcy5vCiAgICAgICAgMTAzODY1IDE1LiBEZXosIDE4OjE1IGJhcmFrLm8KICAgICAgICAgODMxMTggMTcuIERleiwgMDE6NTMgYmliby5vCiAgICAgICAgIDUxMjk2IDE3LiBEZXosIDAxOjAxIGJsb29kZ29yZS5vCiAgICAgICAgIDgyNzEwIDE2LiBEZXosIDE0OjE3IGJvaW5nLm8KICAgICAgICAgNjI0ODAgMTcuIERleiwgMTI6NDkgYnJvdGhlci5vCiAgICAgICAgIDUzOTEzIDE2LiBEZXosIDE1OjA4IGNhbHVtLm8KICAgICAgICAgNTEyNTUgMTYuIERleiwgMTQ6MTQgY2FtcGluby5vCiAgICAgICAgMjE5NjQyIDE2LiBEZXosIDE3OjQ5IGNhdHdlYXpsZS5vCiAgICAgICAgIDU1ODIxIDE3LiBEZXosIDAzOjIyIGNoYXJvbi5vCiAgICAgICAgMTE1NzI4ICA2LiBEZXosIDE1OjM2IGNoaXJhLm8KICAgICAgICAxNTUyMTQgMTcuIERleiwgMTQ6MTEgZGFuY2VyLm8KICAgICAgICAxMjYyNzQgMTYuIERleiwgMTk6NDMgZGlnZWRhZy5vCiAgICAgICAgIDg5MzU4IDE3LiBEZXosIDEzOjIyIGVsZmllLm8KICAgICAgICAgNTE3MzEgMTQuIERleiwgMjA6MzMgZmxvaC5vCiAgICAgICAgIDYyOTgyIDE3LiBEZXosIDA1OjQ5IGZyYWdnbGUubwogICAgICAgICA2NjQxNSAgNy4gRGV6LCAxNjowNCBmcmVkZXJpY2subwogICAgICAgIDMwNjMxNyAxNi4gRGV6LCAxMToyOCBmcmV1bmQubwogICAgICAgICA3NzA5OSAxNy4gRGV6LCAwMTowMSBncmltbWJvcm4ubwogICAgICAgIDEzNzkyNCAxNi4gRGV6LCAwNjoyOSBndW5kdXIubwogICAgICAgICA2ODAxNSAgOS4gRGV6LCAyMToxMCBndXlicnVzaC5vCiAgICAgICAgIDc5NTc1IDEwLiBEZXosIDE5OjMyIGd3ZW5kYWwubwogICAgICAgIDExMjIzMiAxNS4gRGV6LCAyMjowNiBoZWxsb3dlZW4ubwogICAgICAgIDEzNzA4MiAxNi4gRGV6LCAxNzowOCBpb2xhbnRoZS5vCiAgICAgICAgMTA4MDU2IDE2LiBEZXosIDIyOjM3IGphZmVsLm8KICAgICAgICAgNTY3MTQgMTYuIERleiwgMDE6MjEga2VybWV0Lm8KICAgICAgICAgNTU2NDggMTUuIERleiwgMjA6Mzkga2VybWl0Lm8KICAgICAgICAgODc0MDIgMTcuIERleiwgMTM6NDAga2V0b3MubwogICAgICAgICA1NTYyNSAxMy4gRGV6LCAxNTozOSBranVoLm8KICAgICAgICAgNTEwNTIgMTMuIERleiwgMTc6MzAga290emJyb2NrZW4ubwogICAgICAgICA1NzM1NCAxNC4gRGV6LCAyMTowNyBsb2N1bHVzLm8KICAgICAgICAgNTA3NjMgIDguIERleiwgMTQ6MTIgbG9saXRhLm8KICAgICAgICAgNTQzNjcgMzAuIE5vdiwgMTg6NDkgbHVjeS5vCiAgICAgICAgIDU2NDI4IDE2LiBEZXosIDE3OjE5IG1hZ2ljb2xsaS5vCiAgICAgICAgIDg3NzE3IDE0LiBEZXosIDIzOjUzIG1pbW8ubwogICAgICAgICA2MDUyOCAxMy4gRGV6LCAxMTo1MCBtaW5uaS5vCiAgICAgICAgIDU4MTE3IDEwLiBEZXosIDE4OjU1IG11YWRpYi5vCiAgICAgICAgIDgzNTg1IDE2LiBEZXosIDE1OjQyIG15c3RpeC5vCiAgICAgICAgIDU0NzQ4ICA3LiBEZXosIDE1OjE1IG5vYm9keS5vCiAgICAgICAgIDk4MDkzIDEyLiBEZXosIDE4OjUwIG5vc3RyYWRhbXVzLm8KICAgICAgICAxNTM3NzggMTcuIERleiwgMTY6NDEgcGVuZWxvcGUubwogICAgICAgMTY2NDAyMSAxNy4gRGV6LCAxMjo0OSBwb3N0bWFzdGVyLm8KICAgICAgICAxMTQ5MDIgMTYuIERleiwgMTM6NTUgcXVlbmdpc3R1Lm8KICAgICAgICAgODUyMjUgMTYuIERleiwgMDg6MjIgcmF5Lm8KICAgICAgICAgNzg2MTQgMTUuIERleiwgMTg6MTggcm9taWxpLm8KICAgICAgICAyMDg5NTUgMTYuIERleiwgMTg6NTcgcnVkaXJhdHRlci5vCiAgICAgICAgMTcyMTg1IDE3LiBEZXosIDE3OjEzIHJ4dGVjaC5vCiAgICAgICAgMTQyNjEwIDE3LiBEZXosIDAwOjE1IHJ5bmUubwogICAgICAgICA5Njk0MyAgOS4gRGV6LCAxNjo0OSBzYWVuZ2VyLm8KICAgICAgICAyMDIzNTkgMTUuIERleiwgMTg6MDIgc2NocnVtcGZpLm8KICAgICAgICAgODkxMjEgMTUuIERleiwgMTQ6Mjggc2VtaXJhLm8KICAgICAgICAgNTc3MjkgIDguIERleiwgMjA6Mzkgc2VuamEubwogICAgICAgICA5NjU4OSAxNC4gRGV6LCAwNzoyOCBzaGlyYS5vCiAgICAgICAgMTE3MDMwIDE3LiBEZXosIDE2OjI3IHNpbHZhbmEubwogICAgICAgICA5MDA5NCAxNS4gRGV6LCAwMToxNiBzaXBob254Lm8KICAgICAgICAgNjg4ODYgMjguIE5vdiwgMDY6Mzggc2thbGxhZ3JpbS5vCiAgICAgICAgIDc1NjM1IDE0LiBEZXosIDE4OjU4IHNseWZveC5vCiAgICAgICAgIDc2MzgwIDEzLiBEZXosIDExOjA5IHNtYXVnLm8KICAgICAgICAgNTIwNDcgMTcuIERleiwgMTI6NTMgc25vb2tlci5vCiAgICAgICAgIDcwMzQ3IDE0LiBEZXosIDE3OjExIHN0YWhsZG9ybi5vCiAgICAgICAgIDk1OTA3IDE0LiBEZXosIDAwOjIzIHZhbmphLm8KICAgICAgICAgNTQzMjEgIDIuIERleiwgMDI6MDYgd2FybG9yZC5vCiAgICAgICAgMTI0NjA1IDE2LiBEZXosIDE4OjM0IHdpbGxvdy5vCiAgICAgICAgIDU5NDY0IDE3LiBEZXosIDE1OjM3IHdpenphcmQubwogICAgICAgICA4OTYxNyAgOS4gRGV6LCAxNDozNCB3b2xmZW5kYXJ0Lm8KICAgICAgICAgNTc5MjUgMTYuIERleiwgMDA6MTkgd290YW4ubwogICAgICAgIDExODQxMCAxNi4gRGV6LCAxODo1NSB3dXIubwogICAgICAgICA2NTc0MSAxNS4gRGV6LCAxOTowOCB5YWsubwogICAgICAgIDExNDQxNiAgNy4gRGV6LCAxNToxNCB6dWVyaWxldS5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpdHRlIHJhZXVtdCBFdXJlIG1haWxmb2xkZXIgYXVmISAoR3JpbW1ib3JuLCAxNy4gRGV6IDE5OTQsIDE4OjUwOjQ0KToKIyEgcm49TG9jbyBydD03ODc2ODI1MDUKSG1tLCBkYSBmZWhsdCBub2NoIGRpZSBjaHJvbm9sb2dpc2NoIGdlb3JkbmV0ZSBMaXN0ZSBzb3dpZSBkaWUgTGlzdGUsIGluIGRlcgpkaWUgTmFtZW4genVmYWVsbGlnIHZlcnRlaWx0IHNpbmQuLi4gOy0pCgpBbnNvbnN0ZW4sIGljaCBoYWIgbWVpbmUgbWFpbHMgZ2VsaWNodGV0LCBrcmFlZnRpZy4gU2luZCBkYSB3aXJrbGljaCBub2NoCnVlYmVyIDcwayBnZWJsaWViZW4/IER1bW0gZGlkdW1tLCBtdXNzIGFuIGRlbiBld2lnIGxhbmdlbiBLb21wbGV0dGxvZXN1bmdlbgpsaWVnZW4uLi4KSWNoIGJpZXRlIDIgQWx0ZXJuYXRpdmVuIGFuOiBJY2ggdGVpbGUgbWVpbmUgUG9zdCBtaXQgWndlaXRpZXMgKGJyaW5ndCBkYXMKd2FzPykgb2RlciBpY2gga3JpZWcgZGllIE1vZWdsaWNoa2VpdCwgZGllIG1haWwgYXVzIGRlbSBtdWQgcmF1c3p1c2NoaWNrZW4uCkFuc29uc3RlbjogRHVtbSBnZWxhdWZlbi4uLgoKRWlnZW50bGljaCBkb2NoIGVoZXIgc2NocmVpYmZhdWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICBCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChJc25vZ29vZCwgMTcuIERleiAxOTk0LCAyMDozNjoxMSk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzU4OTc2NApPZGVyIGRlciBTY2htaWVkIHNvbGx0ZSBtYWwgZGlmZmVyZW56aWVydGVyIEF1c2t1bmZ0IGdlYmVuLCBlcnN0ZW5zCmJlcnVlY2tzaWNodGlodCBlciBNYWdpZSBuaWNodCB1bmQgendlaXRlbnMKc2FndCBlciBiZWkgamVkZW0gVmVyZ2xlaWNoIG1pdCBpcmdlbmRlaW5lciBXYWZmZSwgZGllIGljaCBiaXNoZXIgZ2VmdW5kZW4KaGFiZSwgZGFzcyBkYXMgQlMgc3RhZXJrZXIgc2VpLiBEYW5uIGJhdXQgZG9jaCBlaW5mYWNoIG1hbCB3YXMgZWluLCB3YXMKd2lya2xpY2ggenV2ZXJsYWVzc2lnIEF1c2t1bmZ0IHVlYmVyIGRpZSBRdWFsaXRhZXQgZGVyIFdhZmZlbiBnaWJ0LCBkYXMga2FubgpqYSBuaWNodApzbyBzY2h3ZXIgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdnbGVxdWVzdCAoSXNub2dvb2QsIDE4LiBEZXogMTk5NCwgMDA6NTA6MjEpOgpOYWNoZGVtIGljaCBqYSBhbmZhbmdzIGF1Y2ggZXR3YXMgS3JpdGlrIGFuIGRlciBGcmFnZ2xlcXVlc3QgZ2VhdWVzc2VydCBoYWJlLAptb2VjaHRlIGljaCBudW4sIG5hY2hkZW0gaWNoIHNpZSBmZXJ0aWcgaGFiZSwKYXVjaCBtaXQgZGVtIGVudHNwcmVjaGVuZGVuIExvYiBuaWNodCBzcGFyZW4uCkRpZSBxdWVzdCBpc3Qgd2lya2xpY2ggZ2VsdW5nZW4gdW5kIGplZGVtIGVyZmFocmVuZW4gUXVlc3RlciBudXIgenUKZW1wZmVobGVuLiBUZWlsd2Vpc2Ugd2lya2xpY2ggc2VociBrbmlmZmxpZyB1bmQgYWJ1bmQgenUgYXVjaCBldHdhcyB2ZXJ0cmFja3QsCmFiZXIgaW0gZ3Jvc3NlbiB1bmQgZ2FuemVuIGxvZ2lzY2ggdW5kIGd1dCB6dSBzcGVpbGVuLgpJbiBBbmJldHJhY2h0IGRlciBUYXRzYWNoZSwgZGFzcyBlcyBzZWluZSBlcnN0ZSBxdWVzdCBpc3QsIGVpbiBnYW56IGdhbnoKZ3Jvc3NlcyBMb2IgYW4gRnJhZ2dsZSwgZGEgaGFiZSBpY2ggaGllciBzY2hvbiBnYW56IGFuZGVyZSBRdWVzdGVuIGVybGVidC4KKGFsbGVyZGluZ3Mga2VpbmUgZGVyIG5ldWVyZW4pCkFsc28sIGxhc3N0IGV1Y2ggdm9uIGRlciBhbmZhZW5nbGljaGVuIEtyaXRpayBuaWNodCBhYnNjaHJlY2tlbiwgZGllIEJ1Z3MKc29sbHRlbiBlaWdlbnRsaWNoCmpldHp0IGFsbGUgZHJhdXNzZW4gc2VpbiwgZGllIGxldHp0ZW4gaGFiZW4gTWFnaWNvbGxpIHVuZCBpY2ggZ2VmdW5kZW4sIGVzCnN0ZWh0IGVpbmVtIGVyZm9ybGdyZWljaGVuIFF1ZXN0ZW4gbml4IG1laHIgaW0gd2VnZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaXR0ZSByYWV1bXQgRXVyZSBtYWlsZm9sZGVyIGF1ZiEgKEZsaW50bmFpbCwgMTkuIERleiAxOTk0LCAwOToxMzo0NSk6CiMhIHJuPUxvY28gcnQ9Nzg3NjgyMTkzCmhtbW1tLi4uLmFsc28gc29sbHRlbiBTcGllbGVyIG51ciBkaWUgdm9sbHN0YWVuZGlnc3RlIFpULUxpc3RlIGJlaGFsdGVuIHVuZApNYWdpZXIgaWhyZSAiV2VuIGljaCBub2NoIGJhbm5pc2hlbiB3b2xsdGUuLi4iLUxpc3RlIHZlcmt1ZXJ6ZW4uLi4/CgogICAgRmxpbnRuYWlsOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRTQUlJIDogU3Rlcm5lbnNjaHdlaWYgKFNjaGxvbnosIDE5LiBEZXogMTk5NCwgMTM6NTI6MTIpOgpIYWxsbywKaWNoIGhvZmZlIG1pciBrYW5uIGplbWFuZCB3ZWl0ZXIgaGVsZmVuLgoKV2FzIG11c3MgbWFuIGRlbSBGZXVlcmVsZW1lbnRhciBpbiBkZW4gU3ZlbGx0c3VlbXBmZW4gYW50d29ydGVuLCBkYW1pdCBtYW4KbmljaHQgZ2Vyb2VzdGV0IHdpcmQ/CgpFaW4gYXVmIEFudHdvcnQgd2FydGVuZGVyCiAgIFNjaGxvbnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvYiBmdWVyIEtpcmsgKE15c3RpeCwgMTkuIERleiAxOTk0LCAxNDowNDowMCk6ClNvLCBlcyBmYWVsbHQgbWlyIHNjaHdlciwgbWVpbiBhbmxpZWdlbiBtb2VnbGljaHN0IG5ldXRyYWwgdm9yenVicmluZ2VuLgpJY2ggbXVzcyBlcnN0IG1hbCBrbGFyc3RlbGxlbiwgZGFzIGljaCBkZXIgTWVpbnVuZyBiaW5kLCBkYXNzIHNpY2ggaGllciBpbQpNVUQgamVkZXIgZnJlaSBiZXdlZ2VuIGRhcmYgKGF1Y2ggd2VubiBlciBlaW5lIE5lcnZlbnNhZWdlIHdpZSBJYW4gaXN0KC4KVHJvdHpkZW0gZ2VodCBlciBhdWNoIG1pciB0aWVyaXNjaCBhdWYgZGVuIFNlbmtlbCkKSWNoIHdvbGx0ZSBLaXJrIGFiZXIgZnVlciBzZWluZSBnZWx1bmdlbmUgUmVpbmlndW5nc2FrdGlvbiBkYW5rZW4sIGVpbm1hbCwKd2VpbCBlcyBJYW4gd2FyIChkYXMgd2FyIGFiZXIgbmljaHQgZGVyIEdydW5kIC0gc29sbHRlIGVzIHp1bWluZGVzdCBuaWNodApzZWluKQphYmVyIGVpbmZhY2ggbWFsIGViZW4gOSBDaGFyYWt0ZXJlIG51ciB6dW0gYWVyZ2VybiBlaW56dWxvZ2dlbiwgZGllIGRhbm4gbnVyCmJsb2VkIGluIGRlciBHZWdlbmQgcnVtc3RlaGVuLCBkYXMgaXN0IGRvY2ggbnVuIHdpcmtsaWNoIG5pY2h0IG5vZXRpZy4KCk5pY2h0IGRhcyBtaXIgbmFjaGhlciBlaW5lciB2b3J3aXJmdCwgaWNoIHd1ZXJkZSBoaWVyIE1pdHNwaWVsZXIgdmVyZm9sZ2VuCm9kZXIgYWVubGljaGVzLQoKYWJlciBLSVJLIC0gREFTIFdBUiBFSU5GQUNIIFNQSVRaRSAhCgpNeXN0aXggKGdlcmFkZSBtYWwgd2llZGVyIGltIExBRyBoYWVuZ2VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaXR0ZSByYWV1bXQgRXVyZSBtYWlsZm9sZGVyIGF1ZiEgKENhdHdlYXpsZSwgMTkuIERleiAxOTk0LCAxNDoyODo1Myk6CiMhIHJuPUxvY28gcnQ9Nzg3NjgyMTkzCkhlaGUsIG51ciBub2NoIDg3ayA6LSkKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9jaG1hbCB6dXIgRnJhZ2dsZS1RdWVzdCAoRnJhZ2dsZSwgMTkuIERleiAxOTk0LCAxNzowMTo0Mik6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc4NzYxNTE2OApJY2ggYmluIGRhYmVpLCBhbiBrcml0aXNjaGVuIFN0ZWxsZW4gZGVuIFJlc2V0IHp1IGVyc2V0emVuLCAoaXMgaW1tZXIgZWluCmJpc3MtCmNoZW4ga29tcGxpemllcnQsIGRlc3dlZ2VuIGRhdWVydCBkYXMgZXR3YXMuKSBXZW5uIGlyZ2VuZHdvIGRlciBSZXNldCBub2NoIHp1CmxhbmdlIGRhdWVydCwgbm90aWVyZW4gKG1pdCBpZGVlIG9kZXIgc28pLAp3ZXJkZSBtaWNoIGRhbm4gc2NobmVsbHN0ZW5zIGRydW0ga3VlbW1lcm4uIChJY2gga2FubiBkZW4gbGVpZGVyIG5pY2h0CmdlbmVyZWxsIHZlcmt1ZXJ6ZW4sIHNvcnJ5IDouKSApCgpGcmFnZ2xlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQml0dGUgcmFldW10IEV1cmUgbWFpbGZvbGRlciBhdWYhIChXaXp6YXJkLCAxOS4gRGV6IDE5OTQsIDE3OjUwOjMyKToKIyEgcm49TG9jbyBydD03ODc2ODIxOTMKSGkgTG9jbyEKWndhciBoYXR0ZSBpY2ggYXVjaCBkZWluZW4gQXVmcnVmIGdlbGVzZW4sIGRvY2ggbmljaHQgZ2VkYWNodCwgZGFzcyBtZWluZQpwYWFyIFNlaXRlbiBzbyB2aWVsIFBsYXR6IGZyZXNzZW4hCkFiZXIgZ3V0LCBtYW4gaXN0IGphIGxlcm5mYWVoaWchCkhhYmUgZGllIHVud2ljaHRpZ2VyZW4gQnJpZWZlIGdlbG9lc2NodCEhCkJpcyBkZW5uLApFaW4gRXVjaCBsaWViIHVuZCBmcmVjaCBhdXMgZGVyIEZlcm5lIGtudWRkZWxuZGVyIFdpenphcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaXR0ZSByYWV1bXQgRXVyZSBtYWlsZm9sZGVyIGF1ZiEgKFJvbmRhLCAxOS4gRGV6IDE5OTQsIDE5OjA1OjE1KToKIyEgcm49TG9jbyBydD03ODc2ODIxOTMKSGkgTGV1dGUhCkljaCBmaW5kZSBlcyBnZW1laW4sIG5pY2h0IGluIGRlciBUb3AtWnVtdWVsbGVyLUxpc3RlIHp1IHNlaW4hCldpZSBnZWh0IGRhcyBhbSBCZXN0ZW4/Pz8KKE9laG0sIGljaCBtZWludGUgbmljaHQsIGRhc3MgSWhyIG1pY2ggamV0enQgbWl0IFBvc3QgenVtdWVsbHQuLi4gR0FSUlJSIQpORUlOISEhKQpBdXMgbmVtIEhhdWZlbiB2b24gUG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICBSb25kYSA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpZWJlc3RyYW5rIHZlcmFlbmRlcnQgKEtldG9zLCAxOS4gRGV6IDE5OTQsIDIyOjEyOjMzKToKRXMgaXN0IGxlaWRlciB2b3JnZWtvbW1lbiwgZGFzIG1pdCBkZW0gTGllYmVzdHJhbmsgU3BpZWxlciBpbiBkaWUgQXJlbmEKZ2VzY2hsZWlmdCB3dXJkZW4hCkRlc2hhbGIgd3VyZGUgZGVyIFRyYW5rIGV0d2FzIHZlcmFlbmRlcnQuCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FmZmVuLVBvcGFmZmVuIChUaW1vciwgMjAuIERleiAxOTk0LCAwMTozNTowOSk6CkhhbGxvIEtvbGxlZ2VuIQoKV2FmZmVuIGJyYXVjaHQgbWFuIHNjaG9uLCBhYmVyIGRhcyAtIHdhcyB3b2xsdGUgaWNoIGRlbm4gamV0enQKc2NocmVpYmVuLi4uLi4uLi4uLj8/Pz8/PwpobW1tbW1tbS4uLi4uLgpBY2ggc28sIGphLCBhYmVyIGRhcyBBdXNwcm9iaWVyZW4gbWFjaHQgZG9jaCBhdWNoIFNwYXNzISBVbmQgZGllIGJlc3RlCldhZmZlIChHZWhlaW10aXAhKSBpc3QgZWluIGJpc2NoZW4gVmVyc3RhbmQsIGRhbWl0IGthbm4gbWFuIHouQi4gYXVjaCBkaWUKUmFldHNlbCBsb2VzZW4uIEljaCB3ZWlzcyBub2NoIGdhciBuY2ljaHQsIHdvenUgZGFzIFRvZXRlbiB1ZWJlcmhhdXB0IGd1dAppc3QuLi4gQWJlciBpY2ggbWFjaGUgZXMgdHJvdHpkZW0gZ2VybmUuIFdhcyBnaWJ0J3Mgc2Nob2VuZXJlcywgYWxzIHp1c2FtbWVuCmVpbiBwYWFyIGJsb2VkZSBPcmtzIHBsYXR0bWFjaGVuLCBkaWUgbWFuIGFsbGVpbmUgdmllbGxlaWNodCBuY2ljaHQgc2NoYWZmdC4KSW1tZXIgbnVyIGRpc2t1dGllcmVuIGlzdCBsYW5nd2VpbGlnLgpEYXMgd2FyIG1laW5lIE1laW51bmcuLi4KKHAuUy46IERpZSBiZXN0ZSBXYWZmZSwgZGllIGljaCBoaWVyIGtlbm5lLCBpc3QgZGFzIFRvdGhhdWVyLUtpdGFraSwgaWNoCndlaXNzIGFiZXIgbmljaHQgbWVociwgd28gaWNoIGRhcyBtYWwgZ2VmdW5kZW4gaGFiZS4uLiA7KQoKQ2lhbywgVGltb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICBCUy1TY2h3ZXJ0IGRpZSAxNzY1MTM1ODZ6aWdzdGUuIChUaW1vciwgMjAuIERleiAxOTk0LCAwMTozOTo1MSk6CiMhIHJuPUlzbm9nb29kIHJ0PTc4NzY5Mjk3MQpJY2ggd2Vpc3MgbmljaHQsIGFiZXIgaWNoIHN0ZWxsZSBlcyBtaXIgbmljaHQgc28gdG9sbCB2b3IsIHdlbm4gbWFuIGdlbmF1CndlaXNzLCB3ZWxjaGUgV2FmZmUgamV0enQgZGllIGFsbGVyYmVzdGUgaXN0LiBJY2ggZmluZGUgZWluIGJpc2NoZW4KU3Bla3VsYXRpb24gdW5kIE15c3RpayAoZWlnZW5lIFVlYmVyemV1Z3VuZyBzb2xsIGRhcyBoZWlzc2VuKSBnZWhvZXJ0IGF1Y2gKZGF6dS4KCml0IGdlbXVldGxpY2hlbiBHcnVlc3NlbiwgVGltb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAgQlMtU2Nod2VydCBkaWUgMTc2NTEzNTg2emlnc3RlLiAoSXJzaSwgMjAuIERleiAxOTk0LCAxMjowOTozNCk6CiMhIHJuPVRpbW9yIHJ0PTc4Nzg4Mzk5MQpJY2ggaGFiIGltbWVyIG1pdCBkZXIgU2Vuc2UgZ2VrYWVtcGZ0LCBuaWNodCwgd2VpbCBzaWUgc28gdG9sbCBpc3QsCmVzIGdpYnQgYmVzc2VyZSBXYWZmZW4gKHVuZCBpY2ggd2Vpc3MgYXVjaCB3ZWxjaGUgdW5kIHdvcyBkaWUgZ2lidCkKc29uZGVybiB3ZWlsIGVzIG1pdCBkZXIgU2Vuc2UgZWluZmFjaCBzY2hvZW4gaXN0LCBlaW5mYWNoIHN0aWxlY2h0LgoKSXJzaS4gU2Vuc2VubGllYmhhYmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGV0ZXJzaWxpZSAoV2FyZ29uLCAyMC4gRGV6IDE5OTQsIDEzOjQ0OjQyKToKICBIdWh1IQpEYSBlaW5pZ2UgTGV1dGUgc2ljaCB1ZWJlciBkYXMgZXdpZ2UgR2VydWZlIGJlc2Nod2VydApoYWJlbiAodW5kIHNlaSBlcyBudXIgZGllIDUwMC1tYWxpZ2UgV2llZGVyaG9sdW5nIHZvbgoiTEFBQUFBQUFBQUFBQUFHIiksIGdpYnQgZXMgamV0enQgQWJoaWxmZSEKSmV0enQga2FubiBtYW4gYW4gZ2VlaWduZXRlbiBPcnRlbiBQZXRlcnNpbGllIHBmbHVlay0Ka2VuIHVuZCBzaWNoIGluIGRpZSBPaHJlbiBzdGVja2VuLiBEYWR1cmNoIHdlcmRlbiBnZS0Kd2lzc2UgUnVmZSBhYmdlYmxvY2t0LCB1bmQgendhciBnZW5hdSBkaWUgdm9uIExldXRlbgptaXQgZWluZW0gTGV2ZWwga2xlaW5lciBvZGVyIGdsZWljaCBkZW0gZWlnZW5lbi4KWnVtaW5kZXN0IHNvIGxhbmdlIHNpZSBpbiBkZW4gT2hyZW4gc3RlY2t0IGlzdCBkaWUgUGUtCnRlcnNpbGllIG51ciBlaW5lciBnZXdpc3NlIFplaXQgaGFsdGJhciAobmFqYSwgd2VyCnd1ZXJkZSBzaWNoIGRhIHNjaG9uIGxhbmdlIHdvaGxmdWVobGVuPyA7KQogIFRzY2h1ZXNzLAogICAgV2FyZ29uCgpQUzogVmllbCBTcGFzcyBiZWltIFN1Y2hlbiEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClYgRSBSIEwgTyBCIFUgTiBHIChWcmFpLCAyMC4gRGV6IDE5OTQsIDE5OjQ5OjMzKToKRXMgaXN0IHVucyBlaW5lIGdyb3NzZSBGcmV1bmRlIGFuenVrdWVuZGlnZW4sIGRhc3Mgd2lyLCBEdXN0eSB1bmQgVnJhaSwgYW0KMTYuMTIuMTk5NSBiZXNjaGxvc3NlbiBoYWJlbiBpbiBkZW4gU3RhbmQgZGVyIEVoZSB6dSB0cmV0ZW4sIGRhIGRlciBzY2hvbgp2b3IgWmVpdGVuIGJlZ29ubmUgU2Nod2VsbGJyYW5kIHVuc2VyZSBMaWViZSBhdXNnZXdhY2hzZW4gaXN0IHVuZCB3aXIgbnVuCmRpZXNlbSBadXN0YW5kIGF1Y2ggZWluZSBvZmZpemllbGxlIFdlbmRlIGdlYmVuIHdvbGxlbi4KCkVzIHNpbmQgYWxsZSBoZXJ6bGljaCBlaW5nZWxhZGVuLCB1bnMgYmVpIGRpZXNlbSBncm9zc2VuIFNjaHJpdHQgYmVpenUtCnN0ZWhlbiwgdW5kIHp3YXIgYW0gRnJlaXRhZywgZGVuIDEzLiBKYW51YXIgMTk5NSB1bSAxNy4wMCBVaHIhCgpJbiBWb3JmcmV1ZGUsCgpEdXN0eSAmIFZyYWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1ZmVuIC4uLiAoS2lyaywgMjEuIERleiAxOTk0LCAxMzowMzo1OCk6CkRhcyBSdWZlbiB3aXJkIHRldXJlci4gU3RhdHQgMjUgTWFnaWVwdW5rdGUsIHdpZSBiaXNoZXIsIHdpcmQgZXMgaW4gWnVrdW5mdAo0MCBNYWdpZXB1bmt0ZSBrb3N0ZW4uIERhbWl0IGthbm4gYXVjaCBlaW4gQW5mYWVuZ2VyIHVtIEhpbGZlIHJ1ZmVuLCBmYWxscyBlcgp3aXJrbGljaCBpbiBkZXIgS2xlbW1lIHN0ZWNrdC4gQW5zb25zdGVuIHNvbGx0ZW4gUnVmZSB1ZWJlciBkZW4gS2FuYWwKIkFsbGdlbS4iCmVyZm9sZ2VuLiBFcyBpc3QgbnVubWFsIFRhdHNhY2hlLCBkYXNzIGVzIHp1IGxhdXQgaXN0LiBJY2ggbW9lY2h0ZSBtaXIgdW5nZXJuCk9yb3BheCBvZGVyIFBldGVyc2lsaWUgaW4gZGllIE9ocmVuIHN0b3BmZW4sIGRhIGljaCBkYW5uICJlY2h0ZSIgSGlsZmVydWZlCnVlYmVyaG9lcmVuIHd1ZXJkZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogViBFIFIgTCBPIEIgVSBOIEcgKFJvbmRhLCAyMS4gRGV6IDE5OTQsIDE2OjI0OjQzKToKIyEgcm49VnJhaSBydD03ODc5NDkzNzMKLi4uIER1IGhhc3QgbmVuIFNjaHdlbGxicmFuZD8gRGFubiBpc3QgYWJlciBiZXNvbmRlcnMgZHJpbmdlbmQuLi4KR3JhdHVsYXRpb25lbiB2b24gZWluZXIgKGV0d2FzIHVuYW5zdGFlbmRpZyBncmluc2VuZGVuKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVmZW4gLi4uIChNeXN0aXgsIDIyLiBEZXogMTk5NCwgMDA6NDA6MjUpOgojISBybj1LaXJrIHJ0PTc4ODAxMTQzOApHdXRlIElkZWUhCkJlaSBiaXMgenUgMTUwIFNwaWVsZXJuIGlzdCBlcyB3aXJrbGljaCB2b24gbm9ldGVuLCBkYXMgcnVmZW4KZWluenVzY2hyYWVua2VuLgpBbGxlcmRpbmdzIGhhYmUgaWNoIGRhIG5vY2ggZWluIHBhYXIgRnJhZ2VuOgoKIDEuIFdpcmQgYWIgc29mb3J0IGltIEhhbmRidWNoIGZ1ZXIgQW5mYWVuZ2VyIGF1ZiBkYXMgdm9yaGFuZGVuc2VpbiBkZXIKRWJlbmVuCiAgICBoaW5nZXdpZXNlbiAob2RlciB6LkIuIGRpZSBFYmVuZSBhbGxnZW1laW4gdm9uIEFuZmFuZyBhbiBha3RpdmllcnQpCgogMi4gTWFubiBpbSBTY2huZWUgUXVlc3QgLSBEaWUgUXVlc3Qgd2FyIHNjaG9uIGJpc2hlciBtZWhyIGFscyBuZXJ2aWcsIHdpcmQKICAgIGRhcyBSdWZlbiBuYWNoIGRlbSBTY2huZWVtYW5uIHZlcmJpbGxpZ3Q/IChBbnNvbnN0ZW4gc2VoZSBpY2ggZGllCkdlZmFociwKICAgIGRhcyBkaWVzZSBRdWVzdCBsYWVuZ2VyIGRhdWVydCwgYWxzIDUgYW5kZXJlbiB6dXNhbW1lbikKCiAzLiBCbGVpYnQgZGllIEZ1bmt0aW9uIGRlciBQZXRlcnNpbGllIGJlc3RlaGVuPwoKIDQuIERhcyB3YXIgZXMgd29obCB2b3JsYWV1ZmlnLgoKTXlzdGl4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb2xwZXJ0aW5nZXIgbWFsIGFsbGdlbWVpbiAoTXlzdGl4LCAyMi4gRGV6IDE5OTQsIDAwOjU3OjUzKToKU28gLSBqZXR6dCB3ZXJkZSBpY2ggbWljaCBhdWNoIG1hbCB6dW0gdGhlbWEgV29scGVydGluZ2VyIGF1c2xhc3NlbjoKSWNoIGhhYmUgZGllc2VuIEFydGlrZWwgZXh0cmEgdW50ZXIgQWxsZ2VtZWluIGdlc2NocmllYmVuLCB3ZWlsIGljaCBkYW1pdAphdWNoIGRpZSBOaWNodC1Xb2xwaWUtRmFucyBlcnJlaWNoZW4gbW9lY2h0ZS4KCk5hY2hkZW0gaWNoIG1pY2ggaGllciBtaXQgdmVyc2NoaWVkZW5lbiBsZXV0ZW4gdW50ZXJoYWx0ZW4gaGFiZSwgZnJhZ2UgaWNoCm1pY2ggZXJuc3RsaWNoLCB3aWUgZGllc2VyIFN0cmVpdCBlaWdlbnRsaWNoIGVudHN0YW5kZW4gaXN0LiBJY2ggZ2xhdWJlCm1pdHRsZXJ3ZWlsZSwgZGFzcyBlciBudXIgYXVzIGRlbSBTcGFzcyBlaW5pZ2VyIFNwaWVsZXIvTWFnaWVyL0dvZXR0ZXIKZW50c3RhbmRlbiBpc3QsIGRhIHZpZWxlIFdvbHBpZSBCZXNpdHplciBkYXp1IG5laWdlbiwgc2VociBleHRyZW0gYXVmCkRyb2h1bmdlbiBkaWVzZXIgTGV1dGUgenUgcmVhZ2llcmVuLiBadW0gQmVpc3BpZWwgaXN0IGRhcyBHZXNjaHJlaSByaWVzaWcsCndlbm4gbWFuIGVpbmVtIEJlc2l0emVyIGFuZHJvaHQsIHNlaW5lbiBXb2xwaWUgenUgdG9ldGVuIG9kZXIgenUgdHJldGVuLgpEaWVzZXMgR2VzY2hyZWkgbWFjaHQgZGVuIExldXRlbiBTcGFzcy4KCkljaCBiaW4gc2VsYnN0IEJlc2l0emVyIGVpbmVzIFdvbHBpZXMgdW5kIGZpbmRlIGRpZSBWaWVjaGVyIHN1ZXNzLiBNaXIKaXN0IGVnYWwgd29oZXIgZGllIGtvbW1lbiAtIGljaCBmaW5kIGRpZSBndXQgLSBhbSBsaWVic3RlbiB3dWVyZCBpY2ggbWlyCmVpbmVuIGltIEhhdXMgaGFsdGVuIC0gc28uCgpFcyBsaWVndCBqYSBpbSBNb21lbnQgZGllIERpc2t1c3Npb24gdWViZXIgZGllIEZyYWdlOiAiRGFyZiBtYW4gV29scGllcwp0b2V0ZW4/IiBpbSBSYXVtLiBEZXIgQ2x1YiBiZXJhZXQgdWViZXIgZHJha29uaXNjaGUgU3RyYWZlbiAtIGRpZSBHZWduZXIKZHJvaGVuIG1laHIgZGVubiBqZS4gQWxsZXMgaW4gYWxsZW0gaXN0IGRpZSBEaXNrdXNzaW9uIHVuZCBkaWUgSGFlcnRlLCBtaXQKZGVyIHNpZSBnZWZ1ZWhydCB3aXJkIG1laW5lciBNZWludW5nIG5hY2ggYWJlciBuaWNodCBtZWhyIHNjaG9lbi4KRGFoZXIgRnJhZ2UgaWNoOgoKMS4gV2VubiBlaW4gU3BpZWxlciBtZWluZW4gV29scGllIHRvZXRldCwgYmVrb21tZSBpY2ggZGFubiBlaW5lbiBuZXVlbj8KMi4gV2VubiBqYSwgd2VsY2hlIFJlc2V0emVpdCBoYWJlbiBXb2xwaWVzCjMuIFdlbm4gbmVpbiwgbXVzcyBtYW4gZGllIFdvbHBpZXMgZGFubiBuaWNodCBhbHMgZWlubWFsaWcgYW5zZWhlbiAtCgp6dSAxLiB1bmQgMi46Cldlbm4gbWVpbiBXb2xwaWUgKHdpZSBqZWRlciBhbmRlcmUgTlBDKSBlaW5lIG5vcm1hbGUgUmVzZXR6ZWl0IGhhdCwgZGFubgp2ZXJzdGVoZSBpY2ggbmljaHQsIHdpZXNvIG1hbiBkaWUgbmljaHQgdG9ldGVuIGRhcmYgLSBpY2ggZmluZCBkaWUgVmllY2hlcgpuZXR0IG51ciB3ZW5uIGljaCB2ZXJnZXNzZSwgbWVpbiBUaWVyY2hlbiBuYWNoIEhhdXNlIHp1IHNjaGlja2VuLCBkYW4KdmVybmFjaGxhZXNzaWdlIGljaCBtZWluZSBBdWZzaWNodHNwZmxpY2h0LiBXZW5uIGRlciBXb2xwaWUgZGFubiB2b24gZWluZW0KYW5kZXJlbiBTcGllbGVyIGdldG9ldGV0IHdpcmQsIGlzdCBkYXMgd29obCBtZWluIFBlY2ggLSBhYmVyIHp1bWluZGVzdCBzb2xsdGUKZGVtIEhhbHRlciBkZXIgTmFtZSBkZXMgS2lsbGVycyBtaXRnZXRlaWx0IHdlcmRlbiAtIGRhcyBrb2VubmVuIGRpZSBkYW5uCnVudGVyIHNpY2ggYXVzZGlza3V0aWVyZW4gLSBmaWdodGVuLgpBbGxlcmRpbmdzIG11c3MgaWNoIGhpZXIgZ2FueiBrbGFyIHNhZ2VuLCBkYXNzIGRhcyBUb2V0ZW4gZWluZXMgV29scGllcyBpbQpCZWlzZWloZW4gc2VpbmVzIEhlcnJjaGVucyBuaWNodCBnZWR1bGRlZCB3ZXJkZW4gc29sbHRlLiBJY2ggZ2xhdWJlIG5pY2gKZWlubWFsIEJvaW5nIHd1ZXJkZSBlaW5lbiBXb2xwaWUgdG9ldGVuLCBkZXIgYnJhdiBuZWJlbiBzZWluZW0gSGVycmNoZW4KaGVydHJvdHRldC4KRGFoZXI6IEdsZWljaGVzIFJlY2h0IGZ1ZXIgYWxsZSAtIGdlYnQgZGVuIFdvbHBpZXMgZGVuIG5vcm1hbGVuIE5QQy1TdGFuZCwKZGFubiBzb2xsdGVuIHNpZSAoZ3J1bmRzYWV0emxpY2gpCmdldG9ldGV0IHdlcmRlbiBkdWVyZmVuQWJlciBzb2xhbmdlIHNpZSBuaWNodCByZXNldHRlbiAtIHN0ZWxsdCBzaWUgdW50ZXIKU2NodXR6LgoKTmEgamEgLSBpc3QgamEgbnVyIGVpbiBWb3JzY2hsYWcuIEFiZXIgaWNoIGJlZnVlcmNodGUgZGllIFBhcnRlaWVuIHdvbGxlbgpzaWNoIGdhcm5pY2h0IGVpbmlnZW4uCgpFaW4gYmV0cnVlYnRlciBhYmVyIFdvbHBpZS1tb2VnZW5kZXIgTXlzdGl4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29scGVydGluZ2VyIG1hbCBhbGxnZW1laW4gKEJvaW5nLCAyMi4gRGV6IDE5OTQsIDAxOjA3OjAzKToKIyEgcm49TXlzdGl4IHJ0PTc4ODA1NDI3MwpTaWUgd2VyZGVuIGFiZXIgcmVzZXR0ZWQsIHNvZ2FyIG9lZnRlcnMgYWxzIGVpbmVtIGxpZWIgc2VpbiBrYW5uLCBtYW4Ka2FubiBkYXMgTW9uc3Rlci1BdXRvbWF0IG5lbm5lbi4gVm9uIEVpbm1hbGlna2VpdCBlaW5lcyBXb2xwZXJ0aW5nZXJzCmthbm4gaGllciBhbHNvIGtlaW5lIFJlZGUgc2Vpbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXb2xwZXJ0aW5nZXIgbWFsIGFsbGdlbWVpbiAoTXlzdGl4LCAyMi4gRGV6IDE5OTQsIDAxOjE3OjA1KToKIyEgcm49Qm9pbmcgcnQ9Nzg4MDU0ODIzClRqYS0gaW4gZGllc2VtIEZhbGwgaXN0IGVzIHdvaGwgc28sIGRhc3MgV29scGVydGluZ2VyIGltbWVyIHdpZWRlciBrZWhyZW4gLQpkYWhlciBtdXNzIGljaCBsZWlkZXIgc2FnZW4gKG9id29obCBpY2ggZGllIFZpZWNoZXIgZWNodCBtYWcpOiBNYW4gc29sbHRlCldvbHBpZXMKKGdlbmVyZWxsKSB0b2V0ZW4gZHVlcmZlbiAtIHdpZSBqZWRlcyBhbmRlcmUgVGllciBpbSBNVUQuIFdlbm4gc2ljaAphbGxlcmRpbmdzCmplbWFuZCBpbiBtZWluZW0gQmVpc2VpbiBhbiBtZWluZW0gV29scGllIHZlcmdyZWlmdCB1bmQgaWhuIHRvZXRldCwgc28gc29sbHRlCmRpZXMgZ2VhaG5kZXQgd2VyZGVuIGtvZW5uZW4gKHVuZCBuaWNodCBudXIgaW4gZGVyIEFyZW5hKSAtIGRlbm4gd2VyCmdlaHQgc2Nob24gZ2VybmUgZ2VnZW4gUnluZSBvLmFlLiBpbiBkaWUgQXJlbmEgLSBJcmdlbmR3aWUgaG9mZmUgaWNoIGRhCmF1ZiBkZW4gU2NodXR6ICJ2b24gb2JlbiItIHdlaWwgZGVuIFdvbHBpZSBoYWIgaWNoIG1pciBoYXJ0IGVyYXJiZWl0ZXQgdW5kIGVzCmlzdCBtZWluIEhhdXN0aWVyIC0gd2VubiBlciBmcmVpIHJ1bWxhZXVmdCBoYWJlIGljaCBQZWNoIGdlaGFidCwgd2VubiBpY2ggaWhuCkdhc3NpIGZ1ZWhyZSwgaGF0IGRhIGtlaW5lciBkYXMgUmVjaHQgaWhtIHdhcyB6dSB0dW4gLSBvZGVyIGdlaHQgaWhyIGltIFJMCmF1Y2ggbWFsIGViZW4gYXVmIGRpZSBTdHJhc3NlIHVuZCBsYXVlcnQgU3BhemllcmdhZW5nZXJuIG1pdCBIdW5kZW4gYXVmLCBkaWUKaWhyIGRhbm4gZXJzY2hpZXNzdCAoZGllIEh1bmRlIG5hdHVlcmxpY2g/KS4KCk15c3RpeCwgZGVyIGhvZmZ0LCBkYXNzIGRpZXNlIGVuZGxvc2UgRGlza3Vzc2lvbiBpcmdlbmR3YW5uIG1hbCBlaW4gRW5kZQpmaW5kZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWZlbiAuLi4gKFJhaXN0bGluLCAyMi4gRGV6IDE5OTQsIDExOjM1OjU3KToKIyEgcm49S2lyayBydD03ODgwMTE0MzgKClNlaHIgR3V0ISEhCgpXYXMgc29sbCBpY2ggbm9jaCBkYXp1IHNhZ2VuPwoKLS0tUmFpc3RsaW4gKGtyaWVndCBkaWUgS3Jpc2Ugc29wIGt1cnogdm9yIFdlaWhuYWNodGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV29scGVydGluZ2VyIG1hbCBhbGxnZW1laW4gKEhhcmRpbCwgMjIuIERleiAxOTk0LCAxMjoxMTowOSk6CiMhIHJuPU15c3RpeCBydD03ODgwNTU0MjUKPm9kZXIgZ2VodCBpaHIgaW0gUkwKYXVjaCBtYWwgZWJlbiBhdWYgZGllIFN0cmFzc2UgdW5kIGxhdWVydCBTcGF6aWVyZ2Flbmdlcm4gbWl0IEh1bmRlbiBhdWYsIGRpZQppaHIgZGFubiBlcnNjaGllc3N0IChkaWUgSHVuZGUgbmF0dWVybGljaD8pLgoKCk5vZS4gSWNoIGVyc2NoaWVzcyBkaWUgU3BhemllcmdhZW5nZXIuCgooYWIgbWl0IGJlaWRlbiBBcnRpa2VsbiBpbiBkaWUgUnVicmlrIFNjaG1hcnJuISkKCkFsbCB0aGUgYmVzdCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWZlbiAuLi4gKE11bXBlbHMsIDIyLiBEZXogMTk5NCwgMTM6NTA6MTUpOgojISBybj1LaXJrIHJ0PTc4ODAxMTQzOApoYWxsbyBtdWRkaWVzCgptaXIgaXN0IGRpZXNlIGRpc2t1c3Npb24sIHdpZSBzbyBtYW5jaGUgYW5kZXJlIGluIGRlbiBsZXR6ZW4gdGFnZW4gbWFsIHdpZWRlcgp2b2VsbGlnIHVudmVyc3RhZW5kbGljaAoKZGEgd2lyZCBlcyBlaW5lbiB0YWcgbWFsIGV0d2FzIGxhdXRlciBpbSBtZyB1bmQgc2Nob24gd2lyZCBuYWNoIHNhbmt0aW9uZW4KZ2VydWZlbiwgZGVyIG1wLWFienVnIGVyaG9laHQgdW5kIGRpZSBwZXRlcnNpbGllIGVyZnVuZGVuICprb3Bmc2NodWV0dGVsKgoKYWxzIGVzIGxhdXQgd2FyIGhhYmVuIGF1Y2ggZGllLCBkaWUgZWluIGFsaWFzIGF1ZiBydWYgUlVIRSB1bmQgcnVmIEhBTFRTIE1BVUwKbmljaHQgZ2VyYWRlIHp1ciBiZXJ1aGlndW5nIGJlaWdldHJhZ2VuLgoKaWNoIGZyYWdlIG1pY2ggYWJlciBvYiBkaWUgcnVmZXJlaSBuaWNodCBlaW5lIHdlbGxlIGlzdCwgZGllIGltbWVyIHdpZWRlcgp1ZWJlciBkYXMgTUcgc2Nod2FwcGVuIHdpcmQsIGJlc29uZGVycywgd2VubiB2aWVsZSBzcGllbGVyIHVuZCBkYXZvbiB2aWVsLQpsZWljaHQgYXVjaCB2aWVsZSBuZXVlbyBpbSBNRyBzaW5kLgpzb2xjaGUgd2VsbGVubyByZWd1bGllcmVuIHNpY2ggaW4gYW5kZXJlbiBnZWdlbmRlbiBtZWlzdCBpbm5lcmhhbGIgdm9uCnRhZ2VuIG9kZXIgc3R1bmRlbiwgd2FydW0gc29sbHRlIGRhcyBoaWVyIGFuZGVycyBzZWluPwoKdW5kIG9iIGRhIG51biBlaW5lciBydW1ydWZ0LCBvZGVyIGRpZSBrYW5hZWxlIChkaWUgd2lyIGphIHdvaGwgZmFzdCBhbGxlCmFuaGFiZW4pIHZvbGxyYXVzY2h0LCBtYWNodCBmdWVyIG1laW5lbiBiaWxkc2NoaXJtIG51ciBlaW5lbiBnZXJpbmdlbgp1bnRlcnNjaGllZAoKaWNoIGJpdHRlIGV1Y2gsIHdlbm4gaWhyIGV1Y2ggZGFzIG5hZWNoc3RlIG1hbCBzbyByaWNodGlnIGF1ZnJlZ2VuIHdvbGx0LApzZXR6dCBldWNoIG1hbCA1IG1pbnV0ZW4gcnVoaWcgaGluLCBhdG1ldCB0aWVmIGR1cmNoIHVuZCB1ZWJlcmxlZ3Qgb2IgZGEKb2IgZGEgd2lya2xpY2ggYXVmcmVndW5nIHVuZCBzYW5rdGlvbmVuIGFuZ2VicmFjaHQgc2luZCwgb2RlciBvYiBtYW4gZGllCnNhY2hlIG5pY2h0IGR1cmNoIHNpbXBsZXMgYWJ3YXJ0ZW4gdW5kIG9obmUgbWVnYXRocmVhZHMgZXJsZWRpZ2VuIGthbm4ueH55fgoKSGFkcmEgLSB2ZXJzdGFlbmRuaXNsb3MKClAuUy4gd2VyIHdpcmtsaWNoIHNlaW5lIHJ1aGUgaGFiZW4gd2lsbCBrYW5uIG1hbCBuYWNodHMgdm9yYmVpc2NoYXVlbgogICAgIGFuZGVyZXJzZWl0cywgd2VubiBpY2ggbWlyIHVlYmVybGVnZSwgd2FzIGRhbm4genVtIHRlaWwgaGllciBub2NoIGxvcwppc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVmZW4gLi4uIChZZW5kaSwgMjIuIERleiAxOTk0LCAxMzo1NTo0OCk6CiMhIHJuPU11bXBlbHMgcnQ9Nzg4MTAwNjE1ClRqYSwgbGVpZGVyIHNpbmQgZWluaWdlIHVudGVyIHVucyB2b24gZGVuIE9lZmZudW5nc3plaXRlbiBkZXIgUmVjaG5lcnJhZXVtZQphYmhhZW5naWcuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGUk9FSExJQ0hFIFdFSUhOQUNIVCwgTU9SR0VOR1JBVUVOISAoQW5jYWxhZ29uLCAyMi4gRGV6IDE5OTQsIDE0OjA3OjAwKToKTW9pbiwgbW9pbiEKV2llIHNjaG9uIGVyd2FlaG50LCBtb2VjaHRlIGljaCBoaWVybWl0IGRlbSBnYW56ZW4gTW9yZ2VuZ3JhdWVuLCBhbGxlbgpTcG9pZWxlcm4sIFNlaGVybiwgTWFnaWVybiwgTW9uc3Rlcm4sIERyYWNoZW4sIE5wYydzIHVuZCB1ZWJlcmhhdXB0IGFsbGVtCmVpbmUgZnJvaGUgV2VpaG5hY2h0ZW4gd3VlbnNjaGVuLiMrCkxhc3N0IGV1Y2ggdmllbCBzY2hlbmtlbiwgdWViZXJmcmVzc3QgZXVjaCBuaWNodCBhbSB3ZWlobmFjaHRzYnJhdGVuIHVuZApydXRzY2h0IG1vZWdsaWNoc3QgZmV1Y2h0ZnJvZWhsaWNoIGlucyBuYWVjaHN0ZSBqYWhyIQpoZXJ6bGljaHN0LCBpbiB2b2xsZXIgV2VpaG5hY2h0c3N0aW1tdW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgIERyYWNvIGtudWRkZWxsZW5zaXMgbWFqb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1ZmVuIC4uLiAoTXVtcGVscywgMjIuIERleiAxOTk0LCAxODo0MDo0Nyk6CiMhIHJuPVllbmRpIHJ0PTc4ODEwMDk0OApoYWxsbyB5ZW5kaSwKCm1pciBpc3QgZGFzIGRpbGVtbWEgZGVyIG9lZmZudW5nc3plaXRlbiBkdXJjaGF1cyBiZWthbm50LgptaXIgaXN0IGFsbGVyZGluZ3MgZnJhZ2xpY2ggd2llc28gZHUgaW4gZGVtIHBzIGRpZSBoYXVwdGF1c3NhZ2UgZW50ZGVja3QKaGFzdD8KCgpIYWRyYSAtIGRlciB2ZXJ6d2VpZ3VuZ2VuIGF1ZiBuZWJlbmtyaWVnc3NjaGF1cGxhZXR6ZSBuaWNodCBzY2hhZXR6dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJ1ZmVuIC4uLiAoS3JldGVrLCAyMi4gRGV6IDE5OTQsIDIzOjE0OjMzKToKIyEgcm49S2lyayBydD03ODgwMTE0MzgKU2Nob2VuIHVuZCBndXQsIHZpZWxsZWljaHQga2FubiBtYW4gZGFtaXQgZGllIFJ1bXNjaHJlaWVyZWkgd2lya2xpY2gKZWluIGJpc3NjaGVuIGVpbnNjaHJhZW5rZW4uLi4KQUJFUjogSGF0IGRhYmVpIGplbWFuZCBhbiBkaWUgTWFubiBpbSBTY2huZWUgUXVlc3QgZ2VkYWNodD8hPwpEaWUgUXVlc3QgaXN0IGphIGFscyByZWxhdGl2IGVpbmZhY2ggZWluZ2VzdHVmdC4gV2VubiBzaWNoIGpldHp0IGFsc28KamVtYW5kIG1pdCAnbmVtIG5pZWRyaWdlbiBMZXZlbCwgdW5kLCB2ZXJtdXRsaWNoLCBhdWNoIHdlbmlnZW4gWlRzCih1bmQgZGFtaXQgd2VuaWcgTVBzKSBhbiBkZXIgUXVlc3QgdmVyc3VjaHQgdW5kIGRlbiBXZWcgc3VjaHQsIGRhbm4KZGF1ZXJ0IGRhcyBiZWkgZGllc2VuIG5ldWVuIEtvc3RlbiBkb2NoIHZlcm11dGxpY2ggVEFHRSwgYmlzIG1hbiBoaW4gdW5kCndpZWRlciB6dXJ1ZWNrIGlzdCEgRGFzIGV3aWdlIFdhcnRlbiBhdWYgZGllIHJlZ2VuZXJpZXJ0ZW4gTVBzIHdhciBiZWkKZGVyIFF1ZXN0IGJpcyBqZXR6dCBzY2hvbiBtZWhyIGFscyBsYWVzdGlnLCBkYSBzb2xsdGUgbWFuIGFsc28KRFJJTkdFTkQgd2FzIGRyYW4gYWVuZGVybiEKU28sIGdlbnVnIGdlbWVja2VydCEgOy0pCgpjIHUgbDhlciwKICAgS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJ1ZmVuIC4uLiAoSXJzaSwgMjMuIERleiAxOTk0LCAwMDoxMzozNyk6CiMhIHJuPUtyZXRlayBydD03ODgxMzQ0NzMKS29lbm50ZSBtYW4gZGFzIG5pY2h0IHNvIG1hY2hlbj8KCnJ1ZmUgSHVodSwgaGF0IG1hbCBqZW1hbmQgZWluZSBSdWVzdHVuZyBmdWVyIG1pY2ggdWVicmlnPwpEdSBydWZzdDogSHVodSwgaGF0IG1hbCBqZW1hbmQgZWluZSBSdWVzdHVuZyBmdWVyIG1pY2ggdWVicmlnPwpVZWJyaWdlbnM6IERpZSBLYW5hZWxlIGVybW9lZ2xpY2hlbiBrb3N0ZW5sb3NlIEtvbW11bmlrYXRpb24uCk1hY2ggbWFsICJoaWxmZSBrYW5hZWxlIi4KClNvIHd1ZXJkZSBlaW4gQW5mYWVuZ2VyLCB3ZWxjaGVyIHNpY2ggbmljaHQgZHVyY2ggZGllIEhpbGZzdGV4dGUKZHVyY2hnZWFyYmVpdGV0IGhhdCwgc29mb3J0ICJhdXRvbWF0aXNjaCIgYXVmIGRpZSBLYW5hZWxlIGhpbmdld2llc3Nlbgp3ZXJkZW4uIFVuZCBkYW5uIGthbm4gZGFzIHJ1ZmVuIHdpcmtsaWNoIHRldWVyIHdlcmRlbi4KRGVyIEhpbndlaXMgc29sbHRlIG5hdHVlcmxpY2ggYXVjaCBkYW5uIGtvbW1lbiwgd2VubiBkZXIgU3BpZWxlciB6dW0KUnVmZW4gbmljaHQgZ2VudWcgU2F1YmVycHVlbmt0Y2hlbiAoZ3JpbnMpIGhhdC4KCklyc2kgcnVmdDogU2Nob2VuZSBXZWlobmFjaHRlbiEgVW5kIGd1dGVuIFJ1dHNjaCEKZ3JpbnMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1ZmVuIC4uLiAoU2lsdmFuYSwgMjMuIERleiAxOTk0LCAwOTo1OTo0MCk6CiMhIHJuPUlyc2kgcnQ9Nzg4MTM4MDE3CkRpZSBSdWZlIGluIGRlciBTY2huZWVtYW5uc3F1ZXN0IHNpbmQgdm9tIGFsbGdlbWVpbmVuIHJ1Zi1Lb21hbmRvCnVuYWJoYWVuZ2lnLiBTb25zdCB3YWVyZSBhdWNoIGRpZSBRdWVzdCBmdWVyIFNlaGVyIFZJRUwgenUgZWluZmFjaCwgZGVubiBmdWVyCmRpZSBpc3QgcnVmZW4gamEgdW1zb25zdC4gRXJnbyBrb3N0ZXQgZGFzIHJ1ZmVuIGluIGRlciBRdWVzdCB3ZWl0ZXJoaW4gMjUgTVAuClNpbHZhbmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbGlhc2VzIChSYXksIDIzLiBEZXogMTk5NCwgMTA6MTk6MjYpOgplcyBpc3Qgc2Nob24gYWIgdW5kIHp1IGRpZSBmcmFnZSBuYWNoIGRlciBzY2hhY2h0ZWx1bmcgdm9uIGFsaWFzZXMKYXVmZ2V0YXVjaHQuCmljaCBoYWV0dGUgZWluZW4gd2VpdGVyZW4gbG9lc3VuZ3N2b3JzY2hsYWcsIG1pdCBkZW0gZGllIG1laXN0ZW4gcHJvYmxlbWUsCmRpZSBtYW4gZGFtaXQgbG9lc2VuIG1vZWNodGUsIGF1Y2ggenUgc2NoYWZmZW4gd2FlcmVuLgp3aWUgd2FlcnMgbWl0IGRlciBlaW5mdWVocnVuZyB2b24gdmFyaWFibGVuPwpkYW1pdCBrb2VubnRlIG1hbiBzZWluZSBha3R1ZWxsZSB3YWZmZSBkZWZpbmllcmVuLCBlaW5pZ2VuIGxldXRlbiBtaXQgbGFuZ2VuCm5hbWVuIGt1cnplIGtvc2VuYW1lbiB6dW0gbWl0dGVpbGVuLCBya251ZGRlbG4sIC4uLi4gZ2ViZW4gZXRjLgpkYW1pdCBtdWVzc3RlIG1hbiBkaWUgYmVmZWhsc3plaWxlIG5pY2h0IHJla3Vyc2l2IGR1cmNoYXJiZWl0ZW4gc29uZGVybiBlaW4KMi1wYXNzIGludGVycHJldGVyCnd1ZXJkZSByZWljaGVuLiBlaW5tYWwgdmFyaWFibGVuIGVpbnNldHplbiwgZGFubiBhbGlhc2VzIGVyc2V0emVuLgoKcmF5LCBkZXIgZXMgaGFzc3QsIGltbWVyIGFsbGUgYWxpYXNlcyB1bXp1c2NocmVpYmVuLCB3ZW5uIGVyIHdhcyBuZXVlcyBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9tZW4gZXN0IG9tZW4gZGllIDEyMzQyMXN0ZSAoWWV0aSwgMjMuIERleiAxOTk0LCAxMToyNTo1Nyk6CiMhIHJuPUR1cmlhbiBydD03ODY5NzM3MTIKc292aWVsIGljaCB3ZWlzcyBnaWJ0cyBuZW4gc3RhdHVlIHVuZCBuZW4gbnBjIG1pdCBtZWluZW0gbmFtZW4gOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgZWluemlnZSBBbnR3b3J0IGZ1ZXIgUnluZS4gKEhhd2ssIDIzLiBEZXogMTk5NCwgMTU6MDM6NTkpOgpMaWViZXIgUnluZSwKRHUgd2lyc3QgbmljaHQgZXJ3YXJ0ZW4sIGRhc3MgaXJnZW5kamVtYWQgZGVuIFF1YXRzY2gsIGRlbiBkdSBzY2hyZWlic3QgaW4KZGllc2VyIGxhZW5nZSBhdWNoIGxpZXN0LCBuYWNoZGVtIGVyIGRpY2ggaG9lZmxpY2ggenUgZWluZW0KcGVyc29lbmxpY2hlbiBHZXNwcmFlY2ggZ2ViZXRlbiBoYXQuIEVzIGlzdCBtaXIga2xhciwgZGFzcwpkdSBuaWNodCBiZXJlaXQgYmlzdCwgZGljaCBkYXJhdWYgZWluenVsYXNzZW4uCldpZXNvIGRhcyBzbyBpc3QsIGlzdCBtaXIgbmFjaCB3aWUgdm9yIHNjaGxlaWVyaGFmdCwgdW5kIGJlc3RhZXRpZ3QKZWlnZW50bGljaCBtZWluZSB1cnNwcnVlbmdsaWNoIG51ciBwcm92b2thdGl2IGdlbWVpbnRlIFZlcm11dHVuZwpkZXIgTWFjaHRnZWlsaGVpdC4KCkVpbiBIQVdLLCBkZXIgc2ljaCB1ZWJlciBkaWUgVW1nZW5nc2Zvcm1lbiBpbSBNdWQgV0lSS0xJQ0ggbnVyIG5vY2gKd3VuZGVybiBrYW5uLiAodW5kIHRyb3R6ZGVtIHNlaW5lIGd1dGVuIE1hbmllcmVuIG5pY2h0IHZlcmdpc3N0IDstKSkKClAuUy46IFdlciB6dWhvZXJ0IHdpcmQgdmllbCBOZXVlcyBlcmZhaHJlbi4KdW5kIG5hdHVlcmxpY2ggRnJvZWhsaWNoIFdlaWhuYWNodGVuICEhISEhISEhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgZWluemlnZSBBbnR3b3J0IGZ1ZXIgUnluZS4gKElzbm9nb29kLCAyMy4gRGV6IDE5OTQsIDE1OjI0OjE2KToKIyEgcm49SGF3ayBydD03ODgxOTE0MzkKCkFsc28gSGF3aywgamV0enQgYmVydWhpZ2UgZGljaCBiaXR0ZSBtYWwgd2llZGVyLiBEdSBoYXN0IGd1dGUgQXJndW1lbnRlLApnZW5hdXNvIHdpZSBSeW5lLCB3b2JlaSBpY2ggaW0gTW9tZW50IGVoZXIgenUgUnluZXMKQXVmZmFzc3VuZyB0ZW5kaWVyZS4gQWJlciBkYXMgaXN0IGphIG51biB3aXJrbGljaCBrZWluIEdydW5kLCBoaWVyIHNvIHZvbQpTdGFwZWwgenUgbGFzc2VuLiBOdXIgd2VpbCBqZW1hbmQgYW5kZXJlciBNZWludW5nIGFscyBkdSBpc3QsIGlzdCBzZWluZQpNZWludW5nIHdvaGwgbm9jaCBsYW5nZSBrZWluIFF1YXRzY2gsIGltIEdlZ2VudGVpbCByeW5lcyBNZWludW5nIGlzdCB3b2hsCnNlaHIgZGV0YWlsbGllcnQgdW5kIHdvaGwgYmVncnVlbmRldApkYXJnZWxlZ3Qgd29yZGVuLiwgd2FzIG1hbiB2b24gZGVpbmVuIEFuZ3JpZmZlbiBhdWYgaWhuIGxlaWRlciBuaWNodCBzYWdlbgprYW5uLgpBYmdlc2VoZW4gZGF2b24gaXN0IGRhcyBnYW56ZSBoaWVyIGFic29sdXQgT2ZmLVRvcGljLCB3ZW5uIGlociBLbmF0c2NoCm1pdGVpbmFuZGVyIGhhYnQsIGRhbm4gZ2VodCBpbiBkaWUgQXJlbmEgb2RlciB0cmFndAplcyBwZXIgUE0gYXVzLCBhYmVyIG5pY2h0IGhpZXIuCgpJc25vZ29vZCAoemllbWxpY2ggYWVyZ2VybGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnppZ2UgQW50d29ydCBmdWVyIFJ5bmUgKFNjaHJ1bXBmaSwgMjMuIERleiAxOTk0LCAxNTo1OTo0MCk6CkljaCBoYWJlIGRlbiAnUXVhdHNjaCcgdm9uIFJ5bmUgaW4gZGVyIGdhbnplbiBMYWVuZ2UgZ2VsZXNlbiB1bmQgZmFuZCBkZW4KJ1F1YXRzY2gnIGF1Y2ggbm9jaCBndXQhIChodWNoIG91dGluZykgOi0pCiAgICAgICAgICAgIFNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVlc3R0ZXN0ZXIgKFNjaHJ1bXBmaSwgMjMuIERleiAxOTk0LCAxNzoxMToyNik6ClNhZyBtYWwgSGF3aywgbGllc3QgRHUgRGlyIFJ5bmVzIEFydGlrZWxuIGVpZ2VudGxpY2ggZHVyY2g/CkljaCBnbGF1YiBmYXN0LCBEdSBtYWNoc3QgRGlyIG5pY2h0IGRpZSBNdWVoZSwgdmllbG1laHIgZ2xhdWIgaWNoLCBlcyBnZWh0CkRpciBlaWdlbnRsaWNoIG51ciBkYXJ1bSBSeW5lIGlyZ2VuZHdpZSB6dSBiZWxlaWRpZ2VuIG9kZXIgc28gd2VpbCBzb25zdAp3dWVkZXN0IER1IGlobSBuaWNodCBkYXVlcm5kIHdhcyB1bnRlcnN0ZWxsZW4hCiAgICBTY2hydW1wZmkgZGllIFJ5bmUgenVtIFRoZW1hIFF1ZXN0dGVzdGVuIGVpZ2VudGxpY2ggaW0gZ3Jvc3NlbiB1bmQKZ2FuemVuIHp1c3RpbW10CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKYSBqYS4uLiAoQmFtYnVsa28sIDIzLiBEZXogMTk5NCwgMTk6MTg6MDYpOgpEYXMgJ01hZ2lzY2hlIEF1Z2UnIGlzdCBhYmVyIG5ldS4uLi4uLi4uLgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUnVmZW4gLi4uIChZZW5kaSwgMjMuIERleiAxOTk0LCAyMDoxMjozNyk6CiMhIHJuPUlyc2kgcnQ9Nzg4MTM4MDE3Ckd1dGUgSWRlZSEKTmFqYSwgaWNoIGdsYXViZSwgZXMgcmVpY2h0IHNjaG9uLCB3ZW5uIGRlciBIaW53ZWlzIGF1ZiBkaWUgRWJlbmVuIG51ciBkYW5uCmtvbW10LCB3ZW5uIG1hbiBnZXJhZGUgdmVyc3VjaHQgaGF0LCBtaXQgenV3ZW5pZyBNUCB6dSBydWZlbi4uLiBkYXMga29tbXQgZG9jaAp3b2hsIGJlaSBkZW4gbWVpc3RlbiBBbmZhZW5nZXJuIHJlY2h0IHNjaG5lbGwgdm9yLCBvZGVyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhZyBtYWwsIEhhd2ssIC4uLiAoWWVuZGksIDIzLiBEZXogMTk5NCwgMjA6MjA6MDYpOgouLi5rZW5uc3QgRHUgZWluZW4gZ2V3aXNzZW4gSW5nbyBSLiA/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvbHBlcnRpbmdlciBtYWwgYWxsZ2VtZWluIChLZXRvcywgMjMuIERleiAxOTk0LCAyMTo0NDozNSk6CiMhIHJuPU15c3RpeCBydD03ODgwNTQyNzMKSWNoIG11c3MgZWlubWFsIGVpbmlnZXMga2xhcnN0ZWxsZW4genUgZGVuIHdpbnppZ2VuIHd1c2NoZWxpZ2VuIFdvbHBpZXM6CgpTaWUgc2luZCBkYXMgUHJvZHVrdCB2b20gV29scGVydGluZ2VyIHVuZCBkZXIgV29scGVydGluZ2VyaW4gdW5kIGVpbmUKUXVlc3RiZWxvaG51bmcgZnVlciBqZWRlbiBTcGllbGVyLiBEaWUgd2luemlnZW4gV29scGllcyBzdGFuZGVuIHNjaG9uCmltbWVyIHVudGVyIG1laW5lbiBTY2h1dHogdW5kIGtvbm50ZW4gbmljaHQgZ2V0b2V0ZXQgd2VyZGVuLgpTb2xsdGUgZXIgc2ljaCBlaW5tYWwgdmVybGF1ZmVuLCB2ZXJnZXNzZW4gd2VyZGVuIG9kZXIgdm9uIGR1bmtsZW4KTWFnaWVybiBnZXphcHB0IHdlcmRlbiwgcmVnZW5lcmllcnQgZXIgc2ljaCB3aWVkZXIgYXVmIGRlbSBEYWNoYm9kZW4uCgpXZXIgd2luemlnZSBXb2xwaWVzIG1hbHRyYWl0aWVydCBtdXNzIG1pdCBHZXdpc3NlbnNiaXNzZW4gcmVjaG5lbi4KCkRpZSBlcndhY2hzZW5lbiBXb2xwZXJ0aW5nZXIga29lbm5lbiB2b24gamVkZXJtYW5uIGdldG9ldGV0IHdlcmRlbiwgaXN0CmFiZXIgbmljaHQgYmVzb25kZXJzIG5ldHQuCgotIEtldG9zIC0KClAuUy4gRHJha29uaXNjaGVyZSBTdHJhZmVuIHdlcmRlIGljaCBkZWZpbml0aXYgbmljaHQgaW4gZGVuIFdvbHBpZSBlaW5iYXVlbi4KICoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvbHBlcnRpbmdlciBtYWwgYWxsZ2VtZWluIChLbGluZ2UsIDIzLiBEZXogMTk5NCwgMjM6MjY6MTYpOgojISBybj1LZXRvcyBydD03ODgyMTU0NzUKV28gYmVrb21tZSBpY2ggZXJ3YWNoc2VuZSBXb2xwZXJ0aW5nZXIgPwpXaWUgbGFuZ2UgZGF1ZXJ0IGVzIGJpcyBzbyBlaW4gRmxvaGJldXRlbCBlcndhY2hzZW4gaXN0ID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIFdlaWhuYWNodGVuIChIb3JzY2hkLCAyNC4gRGV6IDE5OTQsIDA1OjE4OjMzKToKSGFsbG8gTGV1dGUsCgphdWNoIHZvbiBtaXIgZWluIGZyb2hlcyBGZXN0IHVuZCBuZW4gJ0d1dGVuIFJ1dHNjaCcgaW5zIG5ldWUgSmFoci4KCkhvcnNjaGQsIGRlciBzaWNoIHNjaG9uIGF1ZiBzZWluZSBuYWVjaHN0ZSBUZWxlZm9ucmVjaG51bmcgZnJldXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6dSBNb3JvbiAoR3VuZHVyLCAyNC4gRGV6IDE5OTQsIDA3OjA4OjMwKToKSGkKSWNoIHdvbGx0ZSBudXIgZmVzdHN0ZWxsZW4gZGFzcyBpY2ggYmVnZWlzdGVydCB2b24gTW9yb24gYmluLi4KU2VociBndXQgZHVyY2hkYWNodCBkYXMgZ2FuemUuLi4KQXVzc2VyZGVtIHdvbGx0IGljaCBzY2hvbiBpbW1lciByZ3JpbnNlbiBrb2VubmVuIDopCkRhbmsgYW4gQ2FsdW0uLi4KR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXdrcyBEaXNrdXNzaW9uc2JlaXRyYWVnZSAoUnluZSwgMjQuIERleiAxOTk0LCAxMDo0OToyMSk6CkFsc28sIG1laW4gbGllYmVyIEhhd2ssCgpKZXR6dCBnZXJhZXQgZG9jaCB3b2hsIGVpbmlnZXMgZHVyY2hlaW5hbmRlci4gT2ZmZW5zaWNodGxpY2ggZnVlaGxzdCBEdQpEaWNoIHBlcnNvZW5saWNoIGFuZ2VncmlmZmVuLCB3ZW5uIG1hbiBEZWluZSBNZWludW5nIG5pY2h0IHRlaWx0LgpEYSBEdSBvZmZlbnNpY2h0bGljaCBtaXQgZGVtIExlc2VuIGxhZW5nZXJlciBBcnRpa2VsIHVlYmVyZm9yZGVydApiaXN0LCBqZXR6dCBlaW4ga3VyemVyLCB1bSBlaW4gcGFhciBTYWNoZW4ga2xhcnp1c3RlbGxlbjoKMS4gV2VubiBpY2ggbWVpbmUgTWVpbnVuZyBuaWNodCBpbiBlaW5lbSBwZXJzb2VubGljaGVuIEdlc3ByYWVjaCBEaXIKZ2VnZW51ZWJlciwgc29uZGVybiBwcmltYWVyIGhpZXIgaW4gZGVyIFplaXR1bmcgZ2VhZXVzc2VydCBoYWJlLCBkYW5uCmRhcnVtLCB3ZWlsIGRpZSBnZXNhbXRlIERpc2t1c3Npb24gbmljaHQgendpc2NoZW4gdW5zIGJlaWRlbiBhbGxlaW4KZ2VmdWVocnQgd2lyZCwgc29uZGVybiBhbGxlIGhpZXIgaW0gTXVkIGV0d2FzIGFuZ2VodC4KT2RlciBoYXR0ZXN0IER1IHZvciwgZWluIEdlc3ByYWVjaCB6dSBwcm90b2tvbGxpZXJlbiwgZGFtaXQgaGludGVyaGVyCmF1Y2ggYW5kZXJlIHZvbiBEZWluZXIgdW5kIG1laW5lciBNZWludW5nIGVyZmFocmVuID8KMi4gRGFzIG1laW4gQXJ0aWtlbCBEZWluZSBWZXJtdXR1bmcgZGVyID5NYWNodGdlaWxoZWl0PCBiZXN0YWV0aWd0LAp2ZXJ3aXJydCBtaWNoLiBIYXQgbWFuIG1pY2ggdWViZXIgbmFjaHQgenVtIE1hZ2llciBnZW1hY2h0LCB1bmQgbWlyCm5peCBkYXZvbiBnZXNhZ3QgPyBPZGVyIHNpbmQgamV0enQgZGllIFNlaGVyIGF1Y2ggbm9jaCBtYWNodGdlaWwgPyBPZGVyCndpZSAtIG9kZXIgd2FzID8gLSBOYWphLCBlcyB3aXJkIHdvaGwgRGVpbiBHZWhlaW1uaXMgYmxlaWJlbi4KMy4gVW50ZXIgZ3V0ZW4gTWFuaWVyZW4sIGRpZSBEdSBmdWVyIERpY2ggc2VsYnN0IGluIEFuc3BydWNoIG5pbW1zdCwKdmVyc3RlaGUgaWNoIGV0d2FzIGFuZGVyZXMsIGFscyBlaW5lbiBBcnRpa2VsIGFscyA+UXVhdHNjaDwgenUga29tbWVudGllcmVuLApiZWkgZGVtIHNpY2ggZGVyIEF1dG9yIChpbiB6dWdlZ2ViZW5lcm1hc3NlbiB6aWVtbGljaGVyIExhZW5nZSwgYWJlciBkYXMKVGhlbWEgaXN0IGhhbHQgYXVjaCBrb21wbGV4KSBzZWhyIHZpZWwgTXVlaGUgZ2VnZWJlbiBoYXQsIHNlaW5lIE1laW51bmcKenUgZGVtIFRoZW1hIGF1c2Z1ZWhybGljaCBkYXJ6dWxlZ2VuLiBFYmVuZmFsbHMgYmxlaWJ0IHNjaGxlaWVyaGFmdCwgd2FzIGFuCm1laW5lbiBVbWdhbmdzZm9ybWVuIHp1IGtyaXRpc2llcmVuIHdhciAoc2NoZWluYmFyIGZ1ZWhsdGVzdCBEdSBEaWNoIGR1cmNoCm1laW5lbiBBcnRpa2VsIGFuZ2VncmlmZmVuKSAtIGFiZXIgd29kdXJjaCAgPyAtIG51biBqYSwgYXVjaCBkYXMgd2lyZCB3b2hsCkRlaW4gR2VoZWltbmlzIGJsZWliZW4uCjQuIFdlbm4gaWNoIG1laW5lIE1laW51bmcgaW4gbnVubWVociB6d2VpIEFydGlrZWxuIHp1IGRpZXNlbSBUaGVtYQphZXVzc2VyZSwgc28gYmVsYXNzZSBpY2ggZG9jaCBqZWRlbSBzZWluZSBNZWludW5nIC0gYWJlciBiZWxhc3NlIG1pciBiaXR0ZQphdWNoIG1laW5lLiBSZWFrdGlvbmVuIHdpZSBkaWUgRGVpbmUgc2luZCBpbiBrZWluZXIgV2Vpc2UgZ2VlaWduZXQsIGVpbmUKa29uc3RydWt0aXZlIERpc2t1c3Npb24genUgZW50ZmFsdGVuLgoKVmllbG1laHIgc2luZCBzaWUgZWluIFpldWduaXMgdm9uIEludG9sZXJhbnogdW5kIGVpbmVtIE1hbmdlbCBhbiBBcmd1bWVudGVuLgoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW50d29ydCBmdWVyIElzbm9nb29kIChIYXdrLCAyNy4gRGV6IDE5OTQsIDA5OjU3OjE3KToKTGllYmVyIElzbm9nb29kLApkYW5rZSBmdWVyIGRlaW5lbiBBcnRpa2VsLiBHZW56dSBkYXMgdmVyc3VjaGUgaWNoIFJ5bmUKc2VpdCBnZXJhdW1lciBaZWl0IHp1IGVybGFldXRlcm4uIEVyIHppZWh0IGVzIGxlaWRlciB2b3IKd2VpdGVyIGFsbGUgYW5kZXJlbiBtaXQgZGllc2VyIERpc2t1c3Npb24genUgYmVsYWVzdGlnZW4uCkhBV0sgKGF1Y2ggemllbWxpY2ggYWVyZ2VybGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpLCBSaHluZS4gKEhhd2ssIDI3LiBEZXogMTk5NCwgMTA6Mjc6NDgpOgpMaWViZXIgUmh5bmUsIGljaCBmdWVobHRlIG1pY2ggbmljaHQgd2lya2xpY2ggYW5nZWdyaWZmZW4uCkljaCBiaW4gYXVjaCB3ZWl0IGRhdm9uIGVudGZlcm50LCBEaXIgZGVpbiBSZWNodCBhdWYgTWVpbnVuZ3NmcmVpaGVpdAppbiBBYnJlZGUgc3RlbGxlbiB6dSB3b2xsZW4uIE51ci4uLi4uV2FzIG1pY2ggc3RvZXJ0ZSwgdW5kIGltbWVyIG5vY2ggc3RvZXJ0LAppc3QsIGRhc3MKZXMgdW5tb2VnbGljaCBzY2hlaW50LCBtaXQgRGlyIGV0d2FzIGF1c3NlcmhhbGIgZGVyIE1QQSB6dSBiZXJlZGVuLgpEQVMgaXN0IGRlZmluaXRpdiBTRUhSIHNjaGxlY2h0ZXIgU3RpbC4KSWNoIGJpbiBhdWNoIG5pY2h0IGRlciBNZWludW5nLCBkYXNzIGRhcywgd2FzIER1IHNhZ3N0IGFid2VnaWcgaXN0LAppY2ggd29sbHRlIGVzIGphIG1pciBEaXIgZGlza3V0aWVyZW4gKG9obmUgYWxsZSBhbmRlcmVuIG1pdCBlbGxlbmxhZ2VuCkFydGlrZWxuIHp1IGJlbGFlc3RpZ2VuLikuIERhc3MgaWNoIG5hY2ggZWluZW4gc29sY2hlbiBBbmdlYm90Cm5pY2ggYmVyZWl0IGJpbiBzZWl0ZW5sYW5nZSBBcnRpa2VsLCBkaWUgb2ZmbnNpY2h0bGljaAphdWYgbWljaCBnZW11ZW56dCBzaW5kIHp1IGxlc2VuLCBpc3QgbmF0dWVybGljaC4gRGllIFRhdHNhY2hlLApkYXNzIGRpZXNlIEFydGlrZWwgZXhpc3RpZXJlbiwga2FubiBtYW4gZWlnZW50bGljaCBudXIgYWxzCkJlbGVpZGlndW5nIGF1ZmZhc3Nlbi4gKERlbmtlIG1hbCBkYXJ1ZWJlciBuYWNoLikKR2VuYXUgZGVzaGFsYiBzaW5kIHNpZSBvaG5lIEJlenVnbmFobWUgYXVmIElocmVuIEluaGFsdCAodWViZXIgZGVuIGljaCBqYSBtaXQKRGlyIHJlZGVuIHdvbGx0ZSwgd2llIGR1IHdlaXNzdCkgUXVhdHNjaC4KSWNoIG1vZWNodGUgZGllc2VzIFRoZW1hIGRhbWl0IGdlcm5lIGFic2NobGllc3Nlbi4KSEFXSy4KClAuUy46IEV0d2FzIGhhdCBtaWNoIGlycml0aWVydC4gRXMgaXN0IHVlYmxpY2gsIHVuZCBkaWUgZWZmZWt0aWV2c3RlClZvcmdlaGVuc3dlaXNlLCBUaGVtZW4gaW0ga2xlaW5lbiBLcmVpc2UgenUgZGlza3V0aWVyZW4sIHVtIGRhbm4gbmFjaCBhdXNzZW4KenUgZ2VoZW4uIChadW1pbmRlc3QgZGFubiwgd2VubiBkYXMgVGhlbWEgZWluZW4gaW50ZXJlc3NpZXJ0LCB1bmQgbWFuIGRpZXNlcwpJbnRlcmVzc2UgbmljaHQgYmVpIGFsbGVuIGFuZGVyZW4KZWJlbmZhbGxzIHZvcmF1c3NldHplbiB3aWxsLiBXaWVzbyBEdSBkYXMgbmljaHQgYWxzIHZlcm51ZW5mdGlnCmFuc2VoZW4ga2FubnN0L3dpbGxzdCBpc3QgbWlyIHVua2xhci4gRGllIG5haGVsaWVnZW5kZSBEZXV0dW5nIGlzdCwKZGFzcyBEdSBhbiBlY2h0ZXIgRGlza3Vzc2lvbiBrZWluIEludGVyZXNzZSBoYXN0LCBzb25kZXJuIGVzIGltCndlc2VudGxpY2hlbiBkYXJhdWYgYW5sZWdzdCBQcm9maWxpZXJ1bmcgenUgZXJyZWljaGVuLgpWaWVsbGVpY2h0IGlycmUgaWNoIG1pY2guIFdlbm4gamEgLS0gUmVkZSBkb2NoIG1hbCBtaXQgbWlyLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaSwgUmh5bmUuIChEdXJpYW4sIDI3LiBEZXogMTk5NCwgMTI6Mzg6NTIpOgojISBybj1IYXdrIHJ0PTc4ODUyMDQ2OApLb2VubnQgSWhyIEV1cmUgRGlza3Vzc2lvbiBiaXR0ZSB2aWEgTWFpbCBlcmxlZGlnZW4/IERhbmtlIQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgaW0gTXVkIChDYXR3ZWF6bGUsIDI3LiBEZXogMTk5NCwgMTM6NDM6NTApOgpIaSEKSWNoIGhhYiBncmFkZSBlaW5lbiBhcnRpa2VsIG1pdCBwZXJzb2VubGljaGVyIEFkcmVzc2UgZ2Vsb2VzY2h0IQpQZXJzb2VubGljaGVzIGJpdHRlIElNTUVSIHZpYSBtdWRtYWlsIHZlcnNjaGlja2VuIHVuZCBOSUUgaW4gZGVyClplaXR1bmcgdmVyb2VmZmVudGxpY2hlbi4gRGFzIGtvZW5uZW4gZWluZmFjaCB6dSB2aWVsZSBsZXNlbiEKWW91cnMgdHJ1bHksCiAgICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVmZW4gLi4uIChDYXR3ZWF6bGUsIDI3LiBEZXogMTk5NCwgMTc6NDg6MDkpOgojISBybj1NdW1wZWxzIHJ0PTc4ODEwMDYxNQpIYWxsb2VjaGVuIQpTcGFldGUgQW50d29ydCwgYWJlciBsZWlkZXIgbmljaHQgZWhlciBnZWxlc2VuLgpEdSBoYXN0IFJlY2h0LCBkYXMgbWl0IGRlciBSdWZlcmVpIGlzdCBuZSBXZWxsZSwgZGllIC0tIG5pY2h0IGFsbGUKSmFocmUsIGFiZXIgaW1tZXJoaW4gc2Nob24gYWxsZSBTZW1lc3RlciB2b3Jrb21tdC4KQWJlciBkaWVzZSBXZWxsZSBoYWVsdCBzaWNoIGF1Y2ggbnVyIGluIGdyZW56ZW4sIHdlaWwgd2lyIHN0YWVuZGlnCndhcyBkYWdlZ2VuIHR1biEgV3VlcmRlbiB3aXIgZGllcyBuaWNodCBtYWNoZW4sIGdhZWJlIGVzIGVpbiBoZWlsLQpsb3NlcyBDaGFvcyBpbSBNdWQsIHVuZCBkYXMgd29sbGVuIHdpciBkb2NoIGFsbGUgbmljaHQsIG9kZXI/IDotKQpTY2h3YXBwdCBkaWVzZSAnV2VsbGUnIG1hbCB3aWVkZXIgYW4sIHNvIGdpYnQgZXMgaW1tZXIgd2VsY2hlLCBkaWUKZnVlciAnUnVoZSAoIDotKSApIHVuZCBPcmRudW5nJyBzb3JnZW4sIGFsc28gYWxsZSBtb2VnbGljaGVuIExldXRlCmRhenUgZXJtYWhuZW4sIGRvY2ggYmVzc2VyICdtaXR6dXRlaWxlbicuIERpZXMgaGF0IEFuZmFuZyBkaWVzZXMgSmFocmVzCnVlYmVyaGFuZCBnZW5vbW1lbiwgdW5kIGdlbmF1IHp1IGRpZXNlbSBad2Vjaywgd3VyZGVuIGRpZSBLYW5hZWxlIHVlYmVyLQpoYXVwdCBlcnN0IGVpbmdlZnVlaHJ0ISBVbSBkYXMgbm9ybWFsZSBSdWZlbiB6dSBlbnRsYXN0ZW4gdW5kIGVpbmUKYmlsbGlnZSBLb21tdW5pa2F0aW9uIHp1IGVybW9lZ2xpY2hlbi4KSW4gZGllc2VtIFNlbWVzdGVyIG51biBoYWJlbiB3aXIgdm9lbGxpZyB1bmVyd2FydGV0IGhvaGUgVXNlcnphaGxlbiwgdW5kCmVpbmUgVW5tZW5nZSB2b24gTmV3YmllcywgZGllIG5hdHVlcmxpY2ggYWxsZSBlcnN0IG1hbCAncnVmZSduIGF1c3Byby0KYmllcmVuIHVuZCBhdWMgaGtlaW5lIEthbmFlbGUga2VubmVuLgpEaWUgUmVzdHJpa3Rpb25lbiBhdWZzIHJ1ZmVuIHNpbmQgZGFoZXIgbmljaHQgZWluZmFjaCBzbyBlbnRzdGFuZGVuLCB3aWUKRHUgbWVpbnN0LCBNdXBmZWwsIHNvbmRlcm4gd2FyZW4gZHVyY2hhdXMgdWViZXJsZWd0IHVuZCBsYW5nZSBkaXNrdXRpZXJ0LgpFcyBpc3QgdW5zIC0tIG5hY2ggZGVuIEthbmFlbGVuIC0tIG51biBub2NoIHVuc2VyZSBlaW56aWdlIE1vZWdsaWNoa2VpdApsYXV0ZXMgR2VydWZlIHp1IGVyc3BhcmVuLiBLbGFyLCBpY2ggZmluZCBkYXMgYXVjaCBuaWNodCB0b2xsLCBtaWNoIHN0b2VydApkYXMgZ2VydWZlIGF1Y2ggc2VsdGVuLCBpY2ggZmluZHMgZWhlciBsdXN0aWcgdW5kIGFtdWVzYW50LCB3YXMgZGEgc28KbWFuY2htYWwgYW5rb21tdCwgYWJlciBpY2ggdmVydHJldGUgZGEgbWl0IHNpY2hlcmhlaXQgbmljaHQgZGllIE1laHJoZWl0LgpBbHNvLCB3YXMgc29sbCBpY2ggbWFjaGVuLgpBY2hzbywgRHUgaGFzdCByZWNodCwgd2VubiBEdSBzYWdzdCwgJ2RpZSBLYW5hZWxlIGhhYmVuIGRvY2ggc293aWVzbyBhbGxlCmFuJywgc3RpbW10LiBBYmVyIHNpZSBoYWJlbiBlaW5lbiBncm9zc2VuIFZvcnRlaWwuIE1hbiBrYW5uIHNpZQpBVVNTQ0hBTFRFTiwgd2VubnMgZWluZW0genUgbGF1dCB3aXJkICh3YXMgaWNoIHNvZ2FyIHNlbGJzdCBtYW5jaG1hbCB0dWUpLgpVbnNlcmUgQXVmZ2FiZSBpc3QgZXMgbnVuLCBkaWUgS2FuYWVsZSBkZW4gU3BpZWxlcm4gbmFlaGVyenVicmluZ2VuLCBkYQpzaWUgdGF0c2FlY2hsaWNoIGZ1ZXIgYWJzb2x1dGUgTmV1bGluZ2Ugd2VuaWcga29tcGZvcnRhYmVsIHVuZCB2b3IgYWxsZW4KRGluZ2VuIGF1Y2ggdW5iZWthbm50IHNpbmQsIGFiZXIgZGFtaXQgdW5zIG5pY2h0IGxhbmd3ZWlsaWcgd2lyZCwKa3VlbW1lcnQgc2ljaCBkYSBiZXN0aW1tdCBqZW1hbmQgZHJ1bSA6LSkpCllvdXJzIHRydWx5LAogICAgICAgICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1bmVuc2Nod2VydCB1bmQgRWxmZW4gKENyYWlnLCAyOC4gRGV6IDE5OTQsIDE1OjQwOjI4KToKSW4gT3JkbnVuZywgRWxmZW4ga29lbm5lbiBkYXMgUnVuZW5zY2h3ZXJ0IG5pY2h0IHRyYWdlbi4gRGFzIHdlaXNzIGljaCBqZXR6dCwKYWJlciBpY2ggbXVzc3RlIGRhZnVlciBzdGVyYmVuLiBIYWV0dGUgaWNoIGVzIHdpc3NlbiBtdWVzc2VuPyBEYXMgRGluZyBoYWJlCmljaCBpbSBMYWRlbiBnZWthdWZ0LCBnZXp1ZWNrdCB1bmQgQVVTLgpBbmdlYmxpY2ggdmVybmljaHRldCBlcyBudXIgNTAgTFAgLSBpY2ggaGF0dGUgdWViZXIgNzAgenUgZGVtIFplaXRwdW5rdC4uLgpOYWphLCBkdW1tIGdlbGF1ZmVuLCA1MDAwMCBFUCB3ZWcuIEFiZXIgd2VubiBlcyBub2NoIGtlaW5lIFdhcm51bmcgZ2lidCwgZGllCmljaCB1ZWJlcnNlaGVuIGhhYmUsIGRhbm4gYmF1dCBkb2NoIGlyZ2VuZHdvIGVpbmUgZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcG9zdCAoRnJlZGVyaWNrLCAyOS4gRGV6IDE5OTQsIDAwOjMxOjI2KToKV2VubiBpY2ggbWVpbmUgNjBrIFBvc3QgbmljaHQgaW4gbWVpbmVtIFBvc3RmYWNoIGxpZWdlbiBsYXNzZW4gZGFyZiwgd3VlcmQKaWNoIHNpZSBnZXJuZSBoYWJlbi4gS2FubiBtYW4gc2llIG1pciBiaXR0ZSBhbiBtZWluZSBlbWFpbC1BZHJlc3NlCndlaXRlcmxlaXRlbj8gV3VlcmQgbWljaCBzZWhyIGZyZXVlbi4KCmxpZWJlIHBsYXR6c3BhcmVuZGUgR3J1ZXNzZSwKRnJlZGVyaWNrLgpxCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBvc3QgKEpvZiwgMjkuIERleiAxOTk0LCAxODo0Mzo1Mik6CiMhIHJuPUZyZWRlcmljayBydD03ODg2NTc0ODYKIEthbm5zdCBkdSBkb2NoIHNlbGJlcjogbWFpbCBhdWZydWZlbiB1bmQKZiBicmllZm51bW1lciB1c2VyQGFkcmVzc2UKCiBtYWNoZW4gLSBkYW5uIGdlaHQgZGllIE1haWwgYXVzIGRlbSBNdWQgYW4gZGVuIGFuZ2VnZWJlbiBVc2VyLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3RhcnRyZWsgKEthaWcsIDMwLiBEZXogMTk5NCwgMDI6MTc6MjkpOgpIaSBUcmVraWVzLAoKaGllciBtYWwgbmVuIHBhYXIgQWRyZXNzZW4gZnVlciBFdWNoIDotKSBJbSB2b3JhYgp2ZXJnZWJ1bmcgZnVlciBtZWluIGdlc2NocmVpYmUsIGFiZXIgaWNoIGthbm4gbmljaHQgZWRpdGllcmVuLi4uLi4uLi4uLi4uCgpSRVNPVVJDRVMKCnJlYy5hcnRzLnN0YXJ0cmVrLmN1cnJlbnQKcmVjLmFydHMuc3RhcnRyZWsuZmFuZG9tCnJlYy5hcnRzLnN0YXJ0cmVrLnRlY2gKcmVjLGFydHMuc3RhcnRyZWsuY3JlYXRpdmUKcmVjLmFydHMuc3RhcnRyZWsuaW5mbwpyZWMuYXJ0cy5zdGFydHJlay5yZXZpZXdzCgphbHQuZW5zaWduLndlc2xleS5kaWUuZGllLmRpZSA6LSkKCmFsdC5zdGFydHJlay5zZXh1YWwuZmV0aXNoIDstKSAgOy0pCgphbGxlcyBuZXdzLWdyb3VwcwoKTnVuIGVpbiB3ZW5pZyBFLW1haWw6CgpTdHJlay1MCgpzdWJzY3JpYmUgd2l0aCAic3ViIHN0cmVrLWwiIHRvIGxpc3RzZXJ2QHBjY2N2bS5iaXRuZXQKClRyZWstcmV2aWV3LUwKCnN1YnNjcmliZSB3aXRoICJ0cmVrLXJldmlldy1sIiBhdCBsaXN0c2VydkBjb3JuZWxsLmVkdQoKRlRQOgoKc3VtZXgtYWltLnN0YW5mb3JkLmVkdQoKRGllIEFuZ2FiZW4gc2luZCBvaG5lIEdhcmFudGllIHVuZCBob2ZmZW50bGljaCBvaG5lIFRpcC1GZWhsZXIgOy0pCgoKVmllbCBTcGFzcwoKCkthaUcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1ZmVuIC4uLiAoRmxpbnRuYWlsLCAzMC4gRGV6IDE5OTQsIDE1OjI5OjM2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc4ODU0Njg4OQpEYW5rZSBDYXQgOikpKSkKCiAgZWluIEZsaW50bmFpbCwgZGVuIGRhcyBld2lnZSAnaGF0IG1hbCBqZW1hbmQgR2VsZCBmdWVyIG1pY2ggPycgZ2FueiBzY2hvZW4KYXVmIGRpZSBOZXJ2ZW4gZ2luZy4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcHB5IG5ldyB5ZWFyIChDZXJlYnVzLCAzMS4gRGV6IDE5OTQsIDIzOjQ3OjIxKToKSGFldHRlIGljaCBtaXIgYXVjaCBuaWNodCB0cmFldW1lbiBsYXNzZW4sIGRhc3MgaWNoIGRlbiBKYWhyZXN3ZWNoc2VsIGltCk1vcmdlbkdyYXVlbiB2ZXJicmluZ2UuLi4uCkFiZXIgbmFjaGRlbSB1bnMgdW5zZXJlIEZldGVuLVZlcmJpbmR1bmdzLVBlcnNvbiBoYXQgc2l0emVuIGxhc3Nlbi4uLiBXYXMKYmxlaWJ0IGVpbmVtIGRhIGFuZGVyZXMgdWVicmlnLCBhbHMgc2ljaCB1bnRlciBkaWUgTGV1dGUgenUgYmVnZWJlbiAodW5kIHdlbm4KZXMgbnVyIHNpZWJlbiBpbSBNRyBzaW5kKT8/PwpBbGxlbiwgZGllIGRhcyBnZWxlc2VuIGhhYmVuOiBoYXBweSBuZXcgeWVhciEhIQoKQ2VyZWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVrdXJzaXZlIEFsaWFzc2UgKENhcmVmcmVlLCAgMS4gSmFuIDE5OTUsIDIxOjMzOjMxKToKSGkgIQoKV2VubiBtYW4gQUxJQVMgVU5BTElBUyBVTkFMSUFTIHVuZCBBTElBUyBVTkFMSSBVTkFMSSBlaW5naWJ0LCBkYW5uIGthbm4gbWFuCmRlbiBCZWZlaGwgVU5BTEkgb2RlciBVTkFMSUFTIG5pY2h0IG1laHIgYmVudXR6ZW4uCk9mZmVuYmFyIGhhdCBkYXMgQWxpYXMgZWluZSBob2VoZXJlIFByaW9yaXRhZXQgYWxzIGRlciBCZWZlaGwgc2VsYmVyLgpEYXMgaXN0IGphIGltIFByaW56aXAgYXVjaCBvaywgYWJlciBkZW4gQmVmZWhsIFVOQUxJIC8gVU5BTElBUyBzb2xsdGUgbWFuCmRhIGRvY2ggZXZ0bCByYXVzbmVobWVuIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZWt1cnNpdmUgQWxpYXNzZSAoRXNtZXJhbGRhLCAgMS4gSmFuIDE5OTUsIDIxOjUwOjIwKToKTWFsIGltIEVybnN0LCB3b3p1IHNvbGx0ZSBtYW4gZGVubiBzbyB3YXMgbWFjaGVuPyBOYXR1ZXJsaWNoIGhhdCBlaW4Kc2VsYnN0IGRlZmluaWVydGVyIEJlZmVobCBob2VoZXJlIFByaW9yaXRhZXQsIGFiZXIgd2VyIHNldHp0IHNpY2ggc2Nob24gZWluCmFsaWFzLCBkYXMKbWl0IGRlbSB1cnNwcnVlbmdsaWNoZW4gQmVmZWhsIGlkZW50aXNjaCBpc3Q/CkVzbWVyYWxkYSAoa29wZnNjaHVldHRlbG5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWRlZSAoQXJhbWVhLCAgMi4gSmFuIDE5OTUsIDEwOjUyOjU2KToKV2llIHdhZXJlIGVzIG1pdCBlaW5lbSBRdWVzdGJ1Y2ggaW4gZGVyIEdpbGRlLi4uLkRhbWl0IG1laW5lIGljaCBlaW5lIEFydApLdXJ6YnNjaHJlaWJ1bmcgenUgZGVuIFF1ZXN0ZW4uLi46KSB6LkIuIFdvIHNpZSBhbmZhZW5ndCwgd29ydW0gZXMgZ2VodCB1bmQKd2llIHNjaHdyIHNpZSBpc3QgLCBhdWNoIG1pdCBkZW0gSGlud2VpcywgZGFzIGVpbmlnZSB6dWVuZGUgZ2VmdWVocnQgd2VyZGVuCm11ZXNzZW4sIHdlbCBtYW4gZGEgc29uc3QgbmljaHQgbWVociByYXVzIGtvbW10Li4uLjopCgpJbiBkZXIgSG9mZm51bmcga2VpbmVuIE1pc3QgdmVyemFwZnQgenUgaGFiZW4uLi4uWVRBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWRlZSAoQ2F0d2VhemxlLCAgMi4gSmFuIDE5OTUsIDEzOjU2OjE5KToKIyEgcm49QXJhbWVhIHJ0PTc4OTA0MDM3NgpIaSEKTmljaHQgdW5iZWRpbmd0IE1pc3QgdmVyemFwZnQsIGFiZXIgbmljaHQgZ2VudWcgZ2V3dXNzdCA6LSkKQXVmIGRlciBIb2NoZWJlbmUgbGFldWZ0IGVpbiBXYW5kZXJlciBoZXJ1bSwgZnJhZyBkZW4gZG9jaCBtYWwgbmFjaCBuZXIKYmVsaWViaWdlbiBRdWVzdCAuLi4KWW91cnMgdHJ1bHksCiAgICAgICAgICAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWUgKEtsaW5nZSwgIDIuIEphbiAxOTk1LCAxODoxMzozOCk6CiMhIHJuPUFyYW1lYSBydD03ODkwNDAzNzYKZGFmdWVyIGdpYnRzIGRlbiBhbHRlbiBXYW5kZXJlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKenVyIGxpc3RlIGluIGRlciBnaWxkZSAoTW9zaCwgIDUuIEphbiAxOTk1LCAxMTozMToxMCk6CkljaCB1ZWJlIEtyaXRpayBhbiBkZXIgTGlzdGUgZGVyIFF1ZXN0cyBpbiBkZXIgQWJlcm5ldXJlcmdpbGRlISBTcGV6aWVsbCBhbgpkZXIgQW5nYWJlIGRlcgpiZW5vZXRpZ3RlbiBTdHVmZW4gZnVlciBkaWUgUXVlc3RzISBEaWUgU3R1ZmVuIHNhZ2VuIGphIGltIE1HIGxlaWRlciBuaWNodHMKdWViZXIgZGllCmthZW1wZmVyaXNjaGVuIEZhZWhpZ2tlaXRlbiBkZXIgQ2hhcmFrdGVyZSBhdXMhIFdlbm4gamV0enQgei5CLiBiZWkgVGFya28KUnVlYiBkcmFubiBzdGVodCwgZnVlciBTdHVmZSAxMiwgZGFubiBuZWhtZSBpY2ggamEgYW4KZGFzcyBpY2ggZGllIFF1ZXN0IG1pdCBTdHVmZSAxOCBMb2VzZW4ga2FubiEgQWJlciBQdXN0ZWt1Y2hlbiEgRGEgc2NoZWl0ZXJlCmljaCBhbGxlaW5lIGFuIG5lbSBTY2h3YXJ6ZW4gU3RlaW5iZWlzc2VyIHVuZAptaXQgMiBQcm9waGV0ZW4gc2NoYWZmdCBtYW4gZGFzIHJpZXNpZ2UgR3J1YmVubW9uc3RlciBhdWNoIG5pY2h0ISBBbHNvIHdhZXJlCmVzIGRvY2ggYW5nZWJyYWNodGVyLCBzdGF0dCBkZXIgU3R1ZmVuCkF0cnJpYnV0c3dlcnRlIHZvcmF1c3p1c2V0emVuISBPZGVyIGlycmUgaWNoIG1pY2g/CgogQXVmIEFudHdvcnQgd2FydGVuZCAgICAgICAgICAgTW9zaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHp1ciBsaXN0ZSBpbiBkZXIgZ2lsZGUgKEtpcmssICA1LiBKYW4gMTk5NSwgMTI6NDk6MTApOgojISBybj1Nb3NoIHJ0PTc4OTMwMTg3MApEdSBpcnJzdCBEaWNoIQoKTWFuY2htYWwgbXVzcyBtYW4gZGllIE1vbnN0ZXIgbmljaHQgdW5iZWRpbmd0IGFic2NobGFjaHRlbi4gU2Nob24gbWFsIGRhcmFuCmdlZGFjaHQ/IEF1c3NlcmRlbSBzaW5kIGRpZSBTdHVmZW4gbnVyIFJpY2h0d2VydGUuIFdlbm4gZXMgZXVjaCBsaWViZXIgaXN0LApkYW5uIG1hY2ggaWNoIHNpZSB3aWVkZXIgd2VnIC4uLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6dXIgbGlzdGUgaW4gZGVyIGdpbGRlIChBbmF0b2wsICA1LiBKYW4gMTk5NSwgMTM6Mjg6MTIpOgojISBybj1LaXJrIHJ0PTc4OTMwNjU1MAoKCgpOYWphLCBLaXJrIGhhdCBpbSBncm9zc2VuIEdhbnplbiByZWNodCwgbmVobWUgaWNoIGFuLgpIbSwgc29sbHRlIG1hbiBhbHMgU2VoZXIgKEx2LiAyMCkgYWxsZSBRdWVzdHMgbG9lc2VuIGtvZW5uZW4/IFdlbm4gamEsCmRhbm4gd2FlcmUgZGllIEVpbnN0dWZ1bmcgZG9jaCB0YXRzYWVjaGxpY2ggZWluZSBSaWNodGxpbmllIGZ1ZXIgZGllIGFybWVuLAphcm1lbiBRdWVzdGVyLiBBbGxlcmRpbmdzIC0gQWxiZXJpY2ggbXVzcyBnZXRvZXRldCB3ZXJkZW4sIGdlbGwgS2lyaz8KCiAgICAgIEFuYXRvbCwgZGVyIEFsYmVyaWNoIHp1bSBPcGZlciB2aWVsLiBBbHMgSGV4ZXIgb2RlciBzby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJ5bmUgKFNwYWNlcmF0LCAgNS4gSmFuIDE5OTUsIDEzOjUwOjEwKToKaGV5IHJ5bmUKaWNoIHNwYWNlcmF0IGRpZSBmbGllZ2VuZGUgcmF0dGUgb2huZSBmbHVlZ2VsIGVtcGZlaGxlIGRpciBzY2hsZXVuaWdzdCB6dQpkZWluZW0KaGF1cyBvZGVyIGJlc3NlciBiYXVzdGVsbGUgenVydWVja3p1a29tbWVuCmRhIGthbm5zdCBkdSBkZWluZW4gbWF1cmVybiBtYWwgcmljaHRpZyBlaW5oZWl6ZW4uCmRpZSBzaXR6ZW4gZGVuIGdhbnplbiB0YWcgbnVyIGZhdWwgaGVydW0gdW5kIHNhdWZlbiByYWRlYmVyZ2VyIGhhbHQgd2llIGVjaHRlCm1hdXJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogenVyIGxpc3RlIGluIGRlciBnaWxkZSAoRmxpbnRuYWlsLCAgNS4gSmFuIDE5OTUsIDEzOjU4OjM4KToKIyEgcm49S2lyayBydD03ODkzMDY1NTAKVGphIEtpcmsuLi4uaWNoIHdvbGx0ZSBhdWNoIG5pY2h0IGltbWVyIHJ1bW1ldHplbG4uLi5hYmVyIGRhcyBlcyBiZWkgVGFya28KUmV1YiBuZW4gYW5kZXJlbiB3ZWcgZ2lidCB1bSBhbSBHcnViZW51bmdlaGV1ZXIgdm9yYmVpenVrb21tZW4gd2FlciBtaXIgbmV1IDopCgogICBGbGludG5haWwKUC5TLjogaWNoIGthbm4gbWljaCBuYXR1ZXJsaWNoIHRhZXVzY2hlbi4uLjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB6dXIgbGlzdGUgaW4gZGVyIGdpbGRlIChLaXJrLCAgNS4gSmFuIDE5OTUsIDE0OjM5OjU0KToKIyEgcm49RmxpbnRuYWlsIHJ0PTc4OTMxMDcxOApXZW5uIGVzIHdpcmtsaWNoIGtlaW5lbiBhbmRlcmVuIFdlZyBnaWJ0LCBkYW5uIHNjaGlja3QgZGVtIE1hZ2llciwgZGVyIGRpZQpRdWVzdCB2ZXJicm9jaGVuIGhhdCwgJ25lIE1haWwuIEFuc29uc3RlbiBiaW4gaWNoIGRhbmtiYXIsIHdlbm4gc2ljaCBtYWwKamVtYW5kIGRlciBMaXN0ZSBkZXIgU3R1ZmVuLUVtcGZlaGx1bmdlbiBhbm5pbW10IHVuZCBtYWwgZWluIFVwZGF0ZSBkYXZvbgptYWNodC4gKE1haWwgYW4gbWljaCkKCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjEgKE1vc2gsICA1LiBKYW4gMTk5NSwgMTQ6NTk6NDApOgpub2NobWFsIHp1ciBsaXN0ZSBpbiBkZXIgZ2lsZGUhCmljaCBmaW5kZSBzY2hvbiBhdWNoIGRhc3MgZGllIHN0dWZlbiBpZW4gcmljaHR3ZXJ0IHNpbmQhIGFiZXIgZXMga2FubiBoYWx0CmV4dHJlbWUgbGV1dGUgZ2ViZW4sIGRpZSB6LmIgYWxsZSA4MCBaVHMgaGFiZW4gYWJlcgpub2NoIGtlaW5lbiBlaW56aWdlbiBBUCEgYW5kZXJzaGVydW0ga29lbm50ZSBlcyBhdWNoIGdlbnVnIGxldXRlIGdlYmVuLCBkaWUKZWluaWdlIEFQcyBoYWJlbiB1bmQgbm9jaCBrZWluZW4gWlQhIGFsc28gbGV1dGUgd2llIGljaCEKc3R1ZmUgMTggYWJlciBlcnN0IDM1IFpUcyBnZWZ1bmRlbiEgZGFzIHJlaWNodCBoYWx0IGZ1ZXIgdGFya28gcnVlYiBuaWNodAp1bmJlZGluZ3QhCgplaW4gZXR3YXMgdWViZXIgZGllIGVudHJ1ZXN0dW5nZW4gZXJzY2hyb2NrZW5lciBNb3NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJZ25vcmllcmVuIGRlciBEaWRkbC1NYXVzIChDYWx1bSwgIDUuIEphbiAxOTk1LCAxNTowNTo1MSk6CkZ1ZXIgYWxsZSBEaWRkbC1IYXNzZXI6IEFiIHNvZm9ydCBrb2VubmVuIHNhZW10bGljaGUgcmVtb3RlcyBkZXIKRGlkZGwtTWF1cyBhdWNoIGlnbm9yaWVydCB3ZXJkZW4uIERpZXMgZ2VzY2hpZWh0IG1pdCBkZW0gQmVmZWhsCgogICAgICAgICAgICJpZ25vcmllcmUgbmFtZS5tYXVzIgoKV2VpdGVyaGluIGlzdCBkZXIga2xlaW5lIEZlaGxlciBiZWltIFJlc2V0dGVuIGluendpc2NoZW4gYmVob2JlbiwgZGllIE1hZXVzZQp3ZXJkZW4gamV0enQgaW4gbm9ybWFsZW4gWmVpdGFic3RhZW5kZW4gcmVzZXR0ZXQuCgpWaWVsIFNwYXNzIGJlaW0gcmVtb3RlbiB3dWVuc2NodAoKICAgICAgICAgICAgICBDYWx1bSAoZ3JpbnN0IERpY2ggYXVzIGRlciBGZXJuZSBhbikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB6dXIgbGlzdGUgaW4gZGVyIGdpbGRlIChOaXhpaG91LCAgNS4gSmFuIDE5OTUsIDE1OjM3OjMzKToKIyEgcm49S2lyayBydD03ODkzMTMxOTQKZ2lidCBlcyBkZW5uIGVpbmVuIHdlZyB1bSBkZW4gc3RlaW5iZWlzc2VyIHJ1bSwgb2huZSBpaG4gZ2xlaWNoIHp1IGtpbGxlbj8/CgpuaXhpICB3dW5kZXJ0IHNpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdlIChHdW5kdXIsICA1LiBKYW4gMTk5NSwgMTc6MjI6MzgpOgpIaSBNdWRkaWVzLi4KSWNoIHdvbGx0IG51ciBtYWwgbmUgYWxsZ2VtZWluZSBGcmFnZSBpbiBkZW4gUmF1bSBhZWggTXVkIHdlcmZlbi4uCi4udW5kIHp3YXIgb2IgZWluZSBxdWVzdCBkaWUgbWFuIHp1IGRyaXR0IG9kZXIgbWVociBTcGllbGVybiBzcGllbGVuIG11c3MuLgp1bmQgYXVzc2VyZGVtIG5vY2ggQW5nZWhvZXJpZ2UgdmVyc2NoaWVkZW5lciBSYXNzZW4uLi4KZWhlciB3dWVuc2NoZW5zd2VydCB3YWVyZSBvZGVyIG5pY2h0Li4uCi4uYXVmIEFudHdvcnQgZnJldXQgc2ljaC4uCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHNldWRvLVNjaGF0eiAoU25vb2tlciwgIDUuIEphbiAxOTk1LCAyMjoxNToyOCk6CkdydW1tZWwhCkRhIG1ldHplbHQgbWFuIGluIE5lYW5kZXJzdGFkdCBkZW4gS29lbmlnIHVuZCBhbGwgc2VpbmUgV2FlY2h0ZXIgbmllZGVyICh3YXMKZ2FueiB1bmcgZ2FyIG5pY2h0IGVpbmZhY2ggd2FyKSwgdW5kIHdlbm4gbWFuIGRhbm4gaW4gZGllIFNjaGF0emthbW1lciBrb21tdCwKa3JpZWd0IG1hbiBsZWRpZ2xpY2ggbmVuIGxhZXBwaXNjaGVuIFVtaGFuZywgZGVuIFNjaGF0eiB2b24gTmVhbmRlcnRhbCAoZGVyIGltCkxhZGVuIGF1Y2ggbnVyIDEwMDAgd2VydCBpc3QpIHVuZCBzbyBlaW4ga29taXNjaGVzIEZpbmFuemJsYXR0LiBBbHNvIHdpcmtsaWNoLApkaWVzZSBRdWFlbGVyZWkgaGFldHRlIGRvY2ggd2lya2xpY2ggbWVociBhbiBCZWxvaG51bmcgdmVyZGllbnQhCkVpbiBncnVtbWVsbmRlciAgICAgIFNOT09LRVIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk96b24gdW5kIGRpZSBFbGZlbiAoT3pvbiwgIDYuIEphbiAxOTk1LCAwOToyMDoxMCk6Ckh5IExldXRlLAppY2ggd29sbHRlIG1pY2ggZnVlciBtZWluIGFic29sdXQgdW5tb2VnbGljaGVzIFZlcmhhbHRlbiBhbSAwNS4wMS4xOTk1IGJlaQphbGxlbiBFbGZlbiB1bmQgRWxmZW4gZnJldWRlbiBlbnRzY2h1bGRpZ2VuLiBFcyB3dWVyZGUgenV3ZWl0IGZ1ZXJlbiBhbGxlClVtc3RhZW5kZSBhdWZ6dWZ1ZXJlbiBkaWUgenUgbWVpbmVtIGdlaXN0aWdlbiB1bmQgbW9yYWxpc2NoZW4gQXVzZmFsbCBnZS0Kc29yZ3QgaGFiZW4sIGFiZXIgaWNoIGJpdHRlIGV1Y2ggZGllIEVudHNjaHVsZGlndW5nIGFuenVuZWhtZW4uCkRpZXMgZ2lsdCBpbnNiZXNvbmRlcmUgZnVlciBGeXQgKGRlbSBpY2ggd29obCBpbiB2aWVsZXJsZWkgSGluc2ljaCBhdWYgZGVuCmVuIE5lcnYgZ2VnYW5nZW4gYmluKSBzb3dpZSBmdWVyIFplcGh5ciB1bmQgU2xhc2hlci4KRXMgd2FyIG5pY2h0IHNvIGVybnN0IGdlbWVpbnQgYW0gQW5mYW5nIHVuZCBnbGl0IG1pciBoaW50ZXJoZXIgYXVzIGRlbgpGaW5nZXIgLgpTb3JyeSBKdW5ncyB1bmQgTWFlZGVsczsga29tbXQgbmljaHQgd2llZGVyIHZvciAhCmluIHRpZWZzdGVyIERlbXV0CiAgICAgICAgICAgICAgICAgT3pvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWllIE1laW51bmcgKENyYWlnLCAgNi4gSmFuIDE5OTUsIDIwOjEwOjU2KToKQmVpbSBkdXJjaGJsYWV0dGVybiBkZXIgRkFRIChmcmVxdWVudGx5IGFza2VkIHF1ZXN0aW9ucyB6dSBNb3JnZW5ncmF1ZW4pIGhhYmUKaWNoIGVpbmVuIGdhbnogc2Nob2VuZW4gU2Nob2NrIGJla29tbWVuLgpEYSBzdGVodCBkb2NoIHVudGVyIDIuNCB3b3J0d29lcnRsaWNoIGRlciBTYXR6OiAiUHJlc3NlZnJlaWhlaXQgZ2lidCBlcyBpbQpNb3JnZW5ncmF1ZW4gbmljaHQuIiBBdXMgZGVtIFp1c2FtbWVuaGFuZyB3dXJkZSBtaXIga2xhciwgd2FzIHdvaGwgZWlnZW50bGljaApnZW1laW50IHdhcjogRXMgZ2lidCBrZWluZSB1bmVpbmdlc2NocmFlbmt0ZSBQcmVzc2VmcmVpaGVpdC4gRGllcyB2ZXJ3dW5kZXJ0Cm5pY2h0LCBkZW5uIGF1Y2ggaW4gZGVyIFJlYWxpdGFldCBpc3QgZGllc2UgRnJlaWhlaXQgYmVncmVuenQsIHNvZmVybiBhbmRlcmUKUmVjaHRzZ3VldGVyLCBldHdhIGRpZSBNZW5zY2hlbnd1ZXJkZSBiZWVpbnRyYWVjaHRpZ3Qgd2VyZGVuLiBTbyBpc3QgZXMgaW4gZGVyCkJ1bmRlc3JlcHVibGlrIC0gdW5kIG1laW5lcyBXaXNzZW5zIGdpYnQga2VpbmVuIFN0YWF0LCBkZXIgZWluZSB0b3RhbGUgUHJlc3NlLQp1bmQgTWVpbnVuZ3NmcmVpaGVpdCBnYXJhbnRpZXJ0LgpadXJ1ZWNrIHp1ciBGQVEuIERlciB6aXRpZXJ0ZSBTYXR6IGlzdCBuaWNodCBudXIgbWlzc3ZlcnN0YWVuZGxpY2gsIHNvbmRlcm4Kc2NobGljaHQgZmFsc2NoLiBFcyBnaWJ0IGVpbmUgTWVpbnVuZ3NhdXNzZXJ1bmdzZnJlaWhlaXQgaW0gTW9yZ2VuZ3JhdWVuLgpXZWxjaGVyIFNwaWVsZXIgd3VlcmRlIHNpY2ggZGllc2VzIE1lbnNjaGVucmVjaHQgc2Nob24gbmVobWVuIGxhc3Nlbi4gRGFzcwpkaWVzZSBGcmVpaGVpdCBpaHJlIEdyZW56ZW4gaGF0LCBldHdhIHdlbm4gYW5kZXJlIE1lbnNjaGVuIChvZGVyIEVsZmVuIG9kZXIKWndlcmdlKSBpbiBpaHJlbiBHcnVuZHJlY2h0ZW4KdmVybGV0enQgd2VyZGVuLCB3aXJkIGphIGltIFZlcmxhdWYgZGVzIEZBUS1UZXh0ZXMgZGV1dGxpY2hnZW1hY2h0LgpEZXIgeml0aWVydGUgU2F0eiBhYmVyIHNvbGx0ZSBzbyBuaWNodCBzdGVoZW4gYmxlaWJlbiwgZGVubiBlciB3aXJmdCBlaW4Kc2NobGVjaHRlcyBMaWNodCBhdWYgTW9yZ2VuZ3JhdWVuLiBVbmQgZGFzIGlzdCBuaWNodCB2ZXJkaWVudCwgZGVubiB1bSBkaWUKUHJlc3NlZnJlaWhlaXQgaW4gZGllc2VtIE1VRCBpc3QgZXMgdmllbCBiZXNzZXIgYmVzdGVsbHQgYWxzIGluIGRlcgpXaXJrbGljaGtlaXQuIEdhbnogZWluZmFjaCBkZXNoYWxiLCB3ZWlsIGRlciBKZWRlIHVuZCBKZWRlciBuYWhlenUKdW5laW5nZXNjaHJhZW5rdCBkaWUgd2ljaHRpZ3N0ZW4gTWVkaWVuIGJlbnV0emVuIGRhcmY6IEViZW5lbiwgWmVpdHVuZywgUnVmZW4uCkRpZXMgZXJtb2VnbGljaHQgZWluZSBmcmVpZSBLb21tdW5pa2F0aW9uLCB3aWUgc2llIGltIHJlYWwgbGlmZSB1bmRlbmtiYXIgaXN0LgpPZGVyIGtvZW5udCBpaHIgamVkZXJ6ZWl0IEFydGlrZWwgYW4gZXVyZSBMb2thbHplaXR1bmcgc2NoaWNrZW4sIGRpZSBhdWNoCnByb21wdCBhbSBuYWVjaHN0ZW4gVGFnIHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4/IERpZSBmcmVpZSBNZWludW5nc2FldXNzZXJ1bmcKdW5kIGRpZQogTWVkaWVuZnJlaWhlaXQgc2luZCBpbSBNb3JnZW5ncmF1ZW4gZWlucywgd2VpbCBkaWUgTWVkaWVubnV0emVyCmdsZWljaHplaXRpZyBkaWUgUHJvZHV6ZW50ZW4gc2luZC4gRGFzIEtvbW11bmlrYXRpb25zeXN0ZW0gaXN0IHRhdHNhZWNobGljaAp2b3JiaWxkbGljaC4KRGEgZ2VodCBlcyBuaWNodCBhbiwgZGFzcyBpbiBkZXIgIlZpc2l0ZW5rYXJ0ZSIgZGVzIFNwaWVscyBzdGVodCwgZXMgZ2ViZQprZWluZSBQcmVzc2VmcmVpaGVpdC4gRXMgd2lyZCBtaXQgUmVjaHQgZGFyYXVmIGhpbmdld2llc2VuLCBkYXNzIGRhcyBBbnNlaGVuCmRlciBVbmkgTXVlbnN0ZXIgbmljaHQgYmVzY2hhZWRpZ3Qgd2VyZGVuIHNvbGwuCkRlciB6aXRpZXJ0ZSBTYXR6IGthbm4gc2Nob24genUgTWlzc3ZlcnN0YWVuZG5pc3NlbiBmdWVocmVuLCBkaWUgZGFzIE1VRCB1bmQKZGFtaXQgZGllIFVuaSBpbiBlaW5lbSBzY2hsZWNodGVuIExpY2h0IGVyc2NoZWluZW4gbGFzc2VuLgpEZXIgdW0gZGFzIEFuc2VoZW4gdm9uIE1vcmdlbmdyYXVlbiBiZXNvcmd0ZSBDUkFJRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1ZmVuIC4uLiAoSWNldCwgIDcuIEphbiAxOTk1LCAwODozNTozMyk6CiMhIHJuPUNhdHdlYXpsZSBydD03ODg1NDY4ODkKV2VubiBkYXMgUnVmZW4gc3RvZXJ0LCB3ZWlsIG1hbiBlcyBuaWNodCBhYnNjaGFsdGVuIGthbm4sIHNvIGJhdXQgZXMgZG9jaAplaW5mYWNoIGVpbiwgREFTUyBtYW4gZXMgYWJzY2hhbHRlbiBrYW5uLi4uIGlzdCBqYSBuaWNodCBzbyBzY2h3ZXIgOikKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSdWZlbiAuLi4gKEtsaW5nZSwgIDcuIEphbiAxOTk1LCAxNjo0NzoyMik6CiMhIHJuPUNhdHdlYXpsZSBydD03ODg1NDY4ODkKd2FydW0ga2FubiBtYW4gZWlnZW50bGljaCBydWZlIG5pY2h0IHdpZSBhbmRlcmUgYWt0aW9uZW4gaWdub3JpZXJlbj8KZGFzIHdhZXIgZG9jaCBtYWwgbiBlY2h0ZXMgZmVhdHVyZS4KImlnbm9yaWVyZSBydWZlIiBvZGVyICJpZ25vcmllcmUgZ2FzdCoucnVmZSIgb2RlciAiaWdub3JpZXJlIHNwaWVsZXIucnVmZSIKCldBUlVNIEdFSFQgREFTUyBOSUNIVCA/Pz8/Pz8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUnVmZW4gLi4uIChCb2luZywgIDcuIEphbiAxOTk1LCAxNjo1Njo0NSk6CiMhIHJuPUtsaW5nZSBydD03ODk0OTM2NDIKV2FocnNjaGVpbmxpY2ggd2VpbCBkaWUgbWVpc3RlbiBNYWdpZXIgImlnbm9yaWVyZSBncm9zc2J1Y2hzdGFiZW4iCm9kZXIgImlnbm9yaWVyZSBtYXNzZW5oYWZ0IHVlYmVyZmx1ZXNzaWdlIHNhdHp6ZWljaGVuIiBlaW5nZWdlYmVuCmhhYmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbXp1ZyAoUXVpbGxpYW4sICA5LiBKYW4gMTk5NSwgMTA6Mzg6MzApOgpOdXIgc28gYWxzIEluZm86CgpEaWUgbmV1ZSBBZHJlc3NlIHZvbiBGaW5hbEZyb250aWVyIGlzdDoxNDEuNDQuMjIuNTAgNzYwMAoKKHNpZWhlIGF1Y2ggTXVkTGlzdCAobXVkcykpCgpRdWlsbGlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZWllIE1laW51bmcgKEFyYW55YSwgIDkuIEphbiAxOTk1LCAxNDoxNzozOSk6CiMhIHJuPUNyYWlnIHJ0PTc4OTQxOTQ1NgpOdXIgbmUga3VyemUgQW5tZXJrdW5nIHp1bSBUaGVtYSB0b3RhbGUgUHJlc3NlZnJlaWhlaXQgaW4gUkw6CkVpbmUgSm91cm5hbGlzdGVudmVyZWluaWd1bmcgKGZyYWd0IG1pY2ggYml0dGUgbmljaHQsIHdlbGNoZSkgaGF0IGVpbmUKQXVmc3RlbGx1bmcgZGFydWViZXIgYW5nZWZlcnRpZ3QsIHdlbGNoZSBMYWVuZGVyIFByZXNzZWZyZWloZWl0IGluIHdlbGNoZW0KTWFzemUgZ2V3YWVocmVuLiBEaWUgU2thbGEgZ2luZyB2b24gMCAoPXRvdGFsZSBGcmVpaGVpdCkgYmlzIDEwMCAoPWFic29sdXQKa2VpLQpuZSBGcmVpaGVpdCBkZXIgUHJlc3NlKS4gQW0gYmVzdGVuIGlzdCBCZWxnaWVuIG1pdCA3IFB1bmt0ZW4gd2VnZ2Vrb21tZW4sIHdvCmFsbGVpbiBlaW5lIEFiaGFlbmdpZ2tlaXQgdm9uIGRlciBXaXJ0c2NoYWZ0IGtvbnN0YXRpZXJ0IHd1cmRlLCBtaXQgOTkgUHVuay0KdGVuIHN0ZWh0IGRlciBJcmFrIGdhbnogaGludGVuLiBEaWUgQnVuZGVzcmVwdWJsaWsgc3RlaHQgbWl0IDEwIFB1bmt0ZW4gdW50ZXIKZGVuIGVyc3RlbiAxMCBTdGFhdGVuLgpBdXMgZGVtIEdlZGFlY2h0bmlzIHJlZmVyaWVydCBuYWNoIGRlbSBTUElFR0VMLVNwZXppYWwgMS85NQoKTWFjaHQgbWl0IGRlciBJbmZvcm1hdGlvbiwgd2FzIGlociB3b2xsdC4KCkFyYW55YQogICAgICAgTmFjaHd1Y2hzc2pvdXJuYWxpc3RpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyYWdlIChDZXJlYnVzLCAgOS4gSmFuIDE5OTUsIDE1OjA0OjA2KToKIyEgcm49R3VuZHVyIHJ0PTc4OTMyMjk1OApBbHNvLCBpY2ggd3VlcmRlIGVpbmUgTWVoci1TcGllbGVyLVJhc3Nlbi1RdWVzdCBlaW5kZXV0aWcgYmVmdWVyd29ydGVuLgpDZXJlYnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogKEJhbWJ1bGtvLCAgOS4gSmFuIDE5OTUsIDE2OjE4OjU4KToKSWNoIGJpbiBuaWNodCBnZWdlbiBkcmVpLW9kZXIgbWVociBzcGllbGVyLVF1ZXN0cyBzb25kZXJuIGdlZ2VuIG1laHIKUmFzc2VuLVF1ZXN0CgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGVzZXRpcCAoQ2VyZWJ1cywgIDkuIEphbiAxOTk1LCAxNzoyNDo0Myk6CkljaCBoYWJlIGhldXRlIGVpbmVuIHNjaG9lbmVuIEFydGlrZWwgZ2VsZXNlbiwgZGVyIHZpZWxsZWljaHQgZGVuIGVpbmVuL2RpZQphbmRlcmUgdm9uIEV1Y2ggYXVjaCBpbnRlcmVzc2llcnQ6CldFWUgsIEZsb3JpYSBGZWxpeApEaWUgaWRlYWxlIEVudGZyZW1kdW5nc21hc2NoaW5lCmluOiBMZXZpYXRoYW4gMy85NCwgUy4zOTEgZmYuCgpXZXloIGJlc2NocmVpYnQgcmVjaHQgd2l0emlnIHVuZCBhbnNjaGF1bGljaCwgd2FzIGZ1ZXIgZWluZW4gRWluZmx1c3MgZGVyCkNvbXB1dGVyCmF1ZiBkZW4gUHJvemVzcyBkZXMgU2NocmVpYmVucyBoYXQuIEljaCBmYW5kIGRlbiBBcnRpa2VsIHdpcmtsaWNoIG5ldHQuLi46LSkpCkNlcmVidXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgaWNoIHd1ZXJkZSBzaWUgYWJsZWhuZW4uLi4uIChBcmRhbmEsICA5LiBKYW4gMTk5NSwgMTg6NTY6NTUpOgojISBybj1CYW1idWxrbyBydD03ODk2NjEzODQKd2FzIGlzdCBkZW5uIGRhcyBmdWVyIGVpbiBJZ25vcmFudCEhIEJhbWJ1bGtvLCBpY2ggd2Vpc3MgbmljaHQuLi4gdHN0c3RzLi4uCmlzdCBlcyBudW4gZWluIE11ZCAobSBzdGVodCBmdWVyIG11bHRpID0gbWVociBvZGVyIGF1Y2ggbWVocmZhY2gpIG9kZXIgbmljaHQ/PwpJY2ggZmFlbmRlIGVpbmUgUGFydG5lcnF1ZXN0IG5pY2h0IHNjaGxlY2h0Li4uIGVzIGZvZXJkZXJ0IGRlbiBzb3ppYWxlbgpBc3Bla3QgZGVzIE11ZCB1bmdlbWVpbi4KRXMgdmVyYmxlaWJ0IG1pdCBIb2ZmbnVuZyBhdWYgc29sY2ggZWluZSBRdWVzdCBFdWVyIEFyZGFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RpbW11bmcgKE9ya3RvZXRlciwgIDkuIEphbiAxOTk1LCAxOToxMzo0NSk6CkdhYiBlcyBsZXR6dGVucyBtYWwgZWluZSBEaXNrdXNzaW9uIHVlYmVyIGRpZSBTdGltbXVuZyBpbSBNVUQsIGRpZSBpbW1lcgpzY2hsZWNodGVyIHd1cmRlID8gRGFtYWxzIGhhYmUgaWNoIGRhcyBub2NoIG5pY2h0IHNvIGZ1ZXIgdm9sbCBnZW5vbW1lbiB1bmQKZGFjaHRlLCBkYSB3dWVyZGUgZ2V3YWx0aWcgdWViZXJ0cmllYmVuLiBBYmVyIG5hY2hkZW0gaGV1dGUgYWJzaWNodGxpY2ggZWluZQpFeHBsb3Npb24gaGVyYmVpZ2VmdWVocnQgd3VyZGUgdW0gU3BpZWxlciB6dSB0b2V0ZW4gc2VoZSBpY2ggZGllIFNhY2hlIGFuZGVycy4KRXMgc2NlaW50IGVpbmlnZW4gbGV1dGVuIG5pY2h0IHp1IHJlaWNoZW4sIE5QQydzIHp1IGtpbGxlbiwgbmVpbiwgc2llIGtpbGxlbgpnbGVpY2ggZGllIEJlc2l0emVyIHZvbiBXb2xwZXJ0aW5nZXJuIG1pdC4KRWJlbnNvIHNjaGVpbmVuIHNvbGNoZSBMZXV0ZSBlaW5lIGZyZXVkZSBkYWJlaSB6dSBlbXBmaW5kZW4gLCBhbmRlcmUgenUKYWVyZ2Vybi5JY2ggZmluZGUsIHNvbGNoZSBMZXV0ZSBnZWhvZXJlbiBuaWNodCBpbnMgTXVkLgpXZW5uIGR1IFJ5bmUgdW5kIGFuZGVyZSBrZWluZSBXb2xwZXJ0aW5nZXIgbW9lZ3QsIGRhbm4gYnJhdWNodCBpaHIgZG9jaCBuaWNodAppbiBkZW4gQ2x1YiB6dSBnZWhlbiwgZXMgendpbmd0IGV1Y2ggbmllbWFuZC4KQWJlciBsYXNzdCBkb2NoIGRpZSBMZXV0ZSBpbiBSdWhlLCBkaWUgSWhyZSBxdWVzdGJlbG9obnVuZyBudW4gd2lya2xpY2gKbW9lZ2VuLgpXZW5uIGlociBkYXp1IG5pY2h0IGluIGRlciBMYWdlIHNlaWQsIGRhbm4gc2VpdCBpaHIgZnVlciBtaWNoIG5pY2h0IHp1IGVpbmVtCnNvemlhbGVuIHp1c2FtbWVubGViZW4gZ2VlaWduZXQuCklzdCBlcyBTaW5uIGRpZXNlcyBTcGllbHMsIGFuZGVyZSBMZXV0ZSB6dSBhZXJnZXJuID8gV2VubiBkaWUgbWVocmhlaXQgZGllc2VyCk1laW51bmcgaXN0LCBsb2VzY2hlIGljaCBtZWluZW4gQ2hhcmFrdGVyIGZyZWl3aWxsaWcsIGFuc29uc3RlbiBlbXBmZWhsZSBpY2gKZGllc2VzIGFuZGVyZW4gTGV1dGVuIChuaWNodCBSeW5lKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGltbXVuZyAoT3JrdG9ldGVyLCAgOS4gSmFuIDE5OTUsIDE5OjE3OjUzKToKIyEgcm49T3JrdG9ldGVyIHJ0PTc4OTY3NTIyNQpJbiBkaWUgS2xhbW1lciBpbnRlciBkYXMgbmljaHQgUnluZSBnZWhvZXJ0IG5vY2ggZWluIEZyYWdlemVpY2hlbiwgYml0dGUKZGVzc2VuIGZlaGxlbiB6dSBlbnRzY2h1bGRpZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVoZSEgKEFuYXRvbCwgIDkuIEphbiAxOTk1LCAyMzoxMjoyMik6CgpIaS4KQmV0cmVmZiBFeHBsb3Npb24gaW0gQ2x1YjoKClRvdGVyIEk6ICAgIFRveCBVdGF0ICAgICAgIE5QQy4KVG90ZXIgSUk6ICAgV29scGVydGluZ2VyICAgTlBDLgpUb3RlciBJSUk6ICBQbGF5ZXJraWxsICAgICBad2VpdGllLCBtZWluZXIuIFd1c3N0ZSwgZGFzcyBlciBzdGlyYnQuClRvdGVyIElWICAgIFZhcmdvICAgICAgICAgIFp3ZWl0aWUuClRvdGVyIFYgICAgIE1hbmdvICAgICAgICAgIFNwaWVsZXIKVG90ZXIgVkkgICAgQWFyZ29uICAgICAgICAgU3BpZWxlcgpUb3RlciBWSUkgICBBbmF0b2wgICAgICAgICBTcGllbGVyCgoKV2VubiBpY2ggZGFzIHNvIGFuc2NoYXVlLCBkdWVyZmVuIGRvY2ggZWlnZW50bGljaCBudXIgMywgbWF4aW1hbCA0IFBlcnNvbmVuCmlyZ2VuZHdlbGNoZW4gVGVyeiB2ZXJhbnN0YWx0ZW4gdW5kIGRlbiBUb2QgZGVzICh3YWhyZW4pIFRhZXRlcnMgZm9yZGVybi4KTmF0dWVybGljaCBpc3QgZXMgbmljaHQgc2VociB0b2xsLCBpcmdlbmR3ZWxjaGUgU3BpZWxlciB6dSB0b2V0ZW4gb2RlciBkZXJlbgpUb2QgLSBhdWNoIGluIE1hc3NlbnN0ZXJiZW4gYXVzYXJ0ZW5kIC0gaW4gS2F1ZiB6dSBuZWhtZW4uCgpOYWNoZGVtIGRpZSBFcmZhaHJ1bmdzcHVua3RlIHdpZWRlciB6dXJ1ZWNrZ2VnZWJlbiB3dXJkZW4gKG5vY2htYWxzIERhbmssCkJvaW5nKSB1bmQgZGllIG1laXN0ZW4gQXVzcnVlc3R1bmdzZ2VnZW5zdGFlbmRlIHdpZWRlciBpaHJlbiBCZXNpdHplciBmYW5kZW4sCmlzdCBkYXMgZXJzdGUgUHJvYmxlbSBqYSB3b2hsIGJlc2VpdGlndC4KVmllbCB3aWNodGlnZXIgaXN0IGRvY2gsIGRhc3MgZGVyIFRhZXRlciAoZGllIFBlcnNvbiwgZGllIGF1ZiBkZXIgUklDSFRJR0VOClNlaXRlIHZvbSBCaWxkc2NoaXJtIGxlYnQpIGVpbnNpZWh0LCBkYXNzIHNlaW4gVmVyaGFsdGVuIGlyZ2VuZHdpZSBmYWxzY2ggd2FyLgpFaW5mYWNoIG51ciwgd2VpbCBlcyBmYWxzY2ggaXN0LCB1bmQgbmljaHQsIHdlaWwgaWhuIGFsbGUgdm9sbGdlbGFiZXJ0IGhhYmVuCnVuZCBtaXQgZGVtIFRvZCBkcm9oZW4uIEVpbmUgRW50c2NodWxkaWd1bmcgaXN0IGVpbiBuZXR0ZXMgQm9udXMgb2JlbmRyZWluLgoKSWNoIGZ1ZXIgbWVpbmVuIFRlaWwga2FubiBub2NoIGhpbnp1ZnVlZ2VuLCBkYXNzIG9iaWdlcyBlaW5nZXRyZXRlbiBpc3QuCkZ1ZXIgTWFuZ28gb2RlciBBYXJnb24ga2FubiBpY2ggbmljaHQgc3ByZWNoZW4sIGFiZXIgZnVlciBtZWluZSBXZW5pZ2tlaXQgaXN0CmRpZSBTYWNoZSBlcmxlZGlndCEgTmV0dGUgRXJmYWhydW5nLiA6KQoKICAgICBBbmF0b2wgLSB0cmFldW10IHZvbiBlaW5lciBzY2hvZW5lbiBuZXVlbiBXZWx0CgpQUzogU2Nob2VuLCBkYXNzIGRhcyBEeW5hbWl0IGVudHNjaGFlcmZ0IHdlcmRlbiBzb2xsLiBEYXMgbG9ja2VydCBkaWUKICAgIEJvbWJlbnN0aW1tdW5nIGV0d2FzIGF1Zi4KUFBTOkljaCBiaW4gbWlyIGFsbGVyZGluZ3MgbmljaHQgaW0gS2xhcmVuIGRhcnVlYmVyLCB3aWUgbWl0IE5hY2hhaG1lcm4KICAgIHZlcmZhaHJlbiB3ZXJkZW4gc29sbC4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGlsZmUgZ2VzdWNodCBvZGVyIHNvIChHbnVsbGksIDEwLiBKYW4gMTk5NSwgMTM6MDM6NTgpOgpJY2ggc3VjaGUgZHJpbmdlbmQgZWluIFBSRywgbWl0IGRlbSBtYW4gS3JldXp3b3J0cmFldHplbCBlbnR3aWNrZWxuIGthbm4sCmZ1ZXIgRG9zZSBuYXR1ZXJsaWNoLiBXZXIga2VubnQsIGhhdCBzb3dhcywgb2RlciB3ZWlzcywgd28gaWNoIHNvd2FzIHNhdWdlbgprYW5uPz8/Pz8KQml0dGUgQml0dGUgaGVsZnQgbWlyIC4uLi4uIGlzdCB3aWNodGlnIC4uLi4KCkdudWxsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWFhcmdoIChCYW1idWxrbywgMTEuIEphbiAxOTk1LCAxNDowMDowOCk6CkljaCBiaW4gZ2VnZW4gUXVlc3RzIGRpZSBtYW4gbWl0IHZlcnNjaGllZGVuZW4gUmFzc2VuIHNwaWVsZW4gbXVzcywgbmljaHQKZ2VnZW4gcXVlc3RzIGZ1ZXIgbWVocmVyZSBTcGllbGVyKGRpZSBmaW5kZSBpY2ggZ3V0IHNpZWhlIEFyY2hpZSwgR2VpZ2VuKS4KSWNoIHd1ZXJkZSBkb2NoIGdlcm5lIHNlbGJlciBlbnRzY2hlaWRlbiBtaXQgd2VtIGljaCBkaWUgUXVlc3RzIG1hY2hlISEhIQoKQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF0dGVudGF0IChTY2hydW1wZmksIDExLiBKYW4gMTk5NSwgMjM6MDA6MDgpOgpBbHNvIGlyZ2VuZHdpZSB2ZXJzdGVoIGljaCBkaWUgZ2FuemUgQXVmcmVndW5nIG5pY2h0IGdhbnouCldhciBlcyBuaWNodCBzbywgZGFzcyBkYXMgQXR0ZW50YXQgdm9yaGVyIGdyb3NzIGFuZ2VrdWVuZGlndCB3dXJkZT8KVW5kIGhhYmVuIG5pY2h0IGFsbGUgaWhyZSBFcHMgdW5kIGlocmUgQXVzcnVlc3R1bmcgd2llZGVyPyAgV2FzIHNvbGwgZGFubgpub2NoIGRhcyBnYW56ZSBHZXNjaHJlaT8gV2FzIHdvbGx0IGlociBlaWdlbnRsaWNoIG1pdCBkZW0gQXR0ZW50YWV0ZXIgbWFjaGVuCndlbm4gaWhyIGlobiBpbiBkaWUgRmluZ2VyIGtyaWVndD8gT2VmZmVudGxpY2ggc3RlaW5pZ2VuPyBNZWluZSBHdWV0ZSB3byBzaW5kCndpciBkZW5uaGllcj8KU2NocnVtcGZpIEtvcGZzY2h1ZXR0ZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6QXR0ZW50YXQgKEtldG9zLCAxMS4gSmFuIDE5OTUsIDIzOjM2OjM0KToKRGVyIEF0dGVudGFldGVyIHdhciBqYSBub2NoIGd1dG11ZXRpZyAob2RlciBkdW1tKSwgZGFzcyBlciBlcyByZWNodHplaXRpZwphbmdla3VlbmRpZ3QgaGF0IHNvIGRhcyB3aXIgR2VnZW5tYXNzbmFobWVuIHRyZWZmZW4ga29ubnRlbi4KLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6QXR0ZW50YXQgKEJlbGRpbiwgMTIuIEphbiAxOTk1LCAxMTozNzowOSk6CiMhIHJuPUtldG9zIHJ0PTc4OTg2Mzc5NApXYXMgaGVpc3N0IGluIGRpZXNlbSBadXNhbW1lbmhhbmcgIldpciIgPwpNYWdpZXIgb2RlciBkZXIgV29scGVydGluZ2VyLUZhbmNsdWI/Cldlbm4gbGV0enRlcmVzIHNvIGthbm4gaWNoIG51ciBzYWdlbiwgZGFzcyBtaXIgZGllc2UgZWxpdGFlcmUgQWJncmVuemVyZWkgdm9tCnJlc3RsaWNoZW4gTUcgc2Nob24gbmUgZ2FuemUgV2VpbGUgYXVmIGRpZSBOZXJ2ZW4gZ2VodCB1bmQgaWNoIGRhaGVyIGF1Y2gKYXVzZ2V0cmV0ZW4gYmluLgpEaWVzZSBpc3QgbmFlbWxpY2ggbWl0IGVpbiBHcnVuZCB3YXJ1bSBpbiBsZXR6dGVyIFplaXQgZGllIFN0aW1tdW5nIGhpZXIKZ2VyYWRlenUgdW5lcnRyYWVnbGljaCB3aXJkLiBIb2ZmZW50bGljaCBhZW5kZXJ0IHNpY2ggZGFzIG5vY2htYWwgd2llZGVyLi4uCgpCZWxkaW4KClAuUy46IFdlciBpc3QgdWViZXJoYXVwdCBhdWYgZGllIFRPTExFIElkZWUgZ2Vrb21tZW4gbm9ybWFsZSBWRVJCYmVudXR6dW5nCnN0cmFmYmFyIHp1IG1hY2hlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZFUkxPQlVORyAoU2xhc2hlciwgMTIuIEphbiAxOTk1LCAxMzozMDozNSk6CkhpZXJtaXQgZXJsYXViZW4gd2lyIHVucywgdW5zZXJlIFZlcmxvYnVuZyBiZWthbm50enVtYWNoZW4uCkFtIE1pdHRhZyBkZXMgMTIuIEphbnVhciBmYW5kZW4gd2lyIGltIFNjaGxvc3MgZGVzIFBldHJvc2lsaXVzIFp3YWNrZWwtCm1hbm4genVlaW5hbmRlci4gRGVyIFRlcm1pbiBkZXIgSG9jaHplaXQgd2lyZCBub2NoIGJla2FubnRnZWdlYmVuLgoKICBBYmVuZHN0ZXJuIHVuZCBTbGFzaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHUkFUUyAoRWxyaWMsIDEyLiBKYW4gMTk5NSwgMTY6MDE6MjYpOgpIZXksIFdvbHBpZS1TcHJlbmdlcjogYmVzdGUgQWt0aW9uIHNlZW4gaW4gYWdlcy4gZ2VuaWFsZSBpZGVlLCBwZXJmZWt0ZQpEdXJjaGZ1ZWhydW5nLi4uLi4gdG9sbC4KRGVyIEthbXBmIGZ1ZXIgd2VuaWdlciBXb2xwaWVzIHVuZCBtZWhyIEh1bW9yIGltIE1vcmdlbmdyYXVlbiBnZWh0IHdlaXRlciEKCkVscmljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWhyc3BpZWxlcnF1ZXN0cyAoV2FybG9yZCwgMTIuIEphbiAxOTk1LCAxNjo0NDo0NCk6CkhhbGxvIGFuIGFsbGUsCgpJY2ggbW9lY2h0ZSBtaWNoIGF1Y2ggbWFsIGt1cnogenUgZGVtIFRoZW1hICdNZWhyc3BpZWxlcnF1ZXN0cycKYXVzbGFzc2VuLgoKSWNoIGZpbmRlIGVzIHNlaHIgZ3V0LCBkYXMgZXMgd2VsY2hlIGdpYnQgdW5kLCBkYXNzIG5vY2ggbmV1ZQplbnRzdGVoZW4hISEKSWNoIGJpbiBzb3dpZXNvIGRlciBNZWludW5nLCBkYXMgbWFuIGFsbGUgcXVlc3RzIE1laHJzcGllbGVyCmZhZWhpZyBtYWNoZW4gc29sbHRlLiBEYXMgYWxzbyB3aWNodGlnZSBHZWdlbnN0YWVuZGUgc29mb3J0CndpZWRlciBlcnNjaGVpbmVuLiBFcyBpc3Qgc2NoYWRlLCBkYXNzIG1hbiBtZWlzdGVucyBhdWYgZWluZW4KUmVzZXQgd2FydGVuIG11c3MuIEljaCBmaW5kZSwgZXMgbWFjaHQgd2VzZW50bGljaCBtZWhyIFNwYXNzLAp3ZW5uIG1hbiBtaXQgbWVocmVyZW4gcXVlc3RlbiBrYW5uLgoKICAgICAgICAgICAgICAgICAgICAgIEVpbiBhbGxlaW5lIG9mdCBldHdhcyBoaWxmbG9zZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYXJsb3JkCn4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdHRlbnRhdCAoS2xpbmdlLCAxMy4gSmFuIDE5OTUsIDA0OjI2OjE2KToKIyEgcm49U2NocnVtcGZpIHJ0PTc4OTg2MTYwOApWb24gd2VnZW4gc3RlaW5pZ2VuLCBpbSBHZWdlbnRlaWwsIEljaCB3dWVyZGUgaWhtIGRpZSBIYW5kIHNjaHVldHRlbG4sIGF1ZgpkaWUgU2NodWx0ZXIga2xvcGZlbiB1bmQgaWhtIG9kZXIgaWhyIGVpbiBncm9zc2VzIEJpZXIgYXVzZ2ViZW4uCkFsbGVuIEVybnN0ZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdHRlbnRhZXRlckluIChTY2hydW1wZmksIDEzLiBKYW4gMTk5NSwgMDQ6NDg6NTkpOgpKYXUgS2xpbmdlLCBpY2ggd3VlcmQgaWhtIHNvZ2FyIDIgb2RlciAzIEJpZXIgemFobGVuIDopCkdlaG4gd2lyIG1hbCBzYXVmZW4gbWl0IGlobSBvZGVyIGlociA6KQpTY2hydW1wZmkgZm9yZGVydCBHdWxhZyBmdWVyIFdvbHBpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXR0ZW50YWV0ZXJJbiAoU2NocnVtcGZpLCAxMy4gSmFuIDE5OTUsIDA0OjUxOjA3KToKSHVjaCwgbmF0dWVybGljaCBpaG0gb2RlciBpaHIgMiBvZGVyIDMgQmllciB6YWhsZW4gKFdpZSBwZWlubGljaCA6KSApClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBSdWJyaWsgUVVJWiAoU2NobHVwcGUsIDEzLiBKYW4gMTk5NSwgMTQ6MDU6MzIpOgoKQXVzIGVpZ2VuZW0gQW5saWVnZW4gYmluIGljaCBhbiBkZXIgTW9lZ2xpY2hrZWl0IGRlcyBRdWl6LVBvc3RlbnMKaW50ZXJlc3NpZXJ0LiBBbGxlcmRpbmdzIHNlaGUgaWNoIGF1Y2ggZWluLCBkYXNzIGRlciBlaW5lIG9kZXJlIGFuZGVyZSBkYSBrZWluCkludGVyZXNzZSBkcmFuIGhhdC4gSWNoIGZpbmRzIGphIGF1Y2ggZXR3YXMgdW5hbmdlbmVobSwgd2VubiBpbiBlaW5lcgpOZXdzZ3JvdXAgc292aWVsZSBBcnRpa2VsIHN0ZWhlbiwgZGFzcwppY2ggZGllLCBkaWUgbWljaCBpbnRlcmVzc2llcmVuLCBld2lnIGxhbmdlIHN1Y2hlbiBtdXNzLgoKV2llIHdhZXIncyBkZW5uIHdpcmtsaWNoIG1pdCBkZXIgUnVicmlrIFFVSVogKCBpbiB3ZXNzZW4gTWFjaHQgZGFzIGF1Y2ggaW1tZXIKc3RlaHQgLi4uICkKClZpZWxlIEdydWVzc2UsIFNjaGx1cHBlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbGxnZW1laW5lciBNdWVsbCAoS25vZXJyeSwgMTMuIEphbiAxOTk1LCAxNDo1NDowNSk6ClZvbiBtaXIgYXVzIGtvZW5udCBpaHIgcnVtcXVpeGVuIChuZXR0ZXMgV29ydCkgc292aWVsIGlociB3b2xsdCwKYWJlciBpY2ggaGFiIHdlbmlnIEx1c3Qgc3RhZW5kaWcgNTAgISEgQXJ0aWtlbCB6dSBsZXNlbiB1ZWJlciBpcmdlbmR3ZWxjaGUKTGllZGVyLCBkaWUgbWljaCB1ZWJlcmhhdXB0IG5pY2h0IGludGVycmVzaWVyZW4uIFVuZCB1ZWJlcmdlYmVuIHZvbiBhbGxnZW1laW4Kd2lsbCBpY2ggYXVjaCBuaWNodCwgd2VpbCBqYSB2aWVsbGVpY2h0IG1hbCB3YXMgaW50ZXJyZXNzYW50ZXMgZHJpbm5zdGVodC4uLgooV2FlciBqYSBtb2VnbGljaCkgLi4uLiBzbyBkYXMgZGF6dS4uLgoKV29scGkgdW5kIHNvOiBJaHIgc3Bpbm50IGFsbGUga29tcGxldHQuCgpLbm9lcnJ5LCBPLkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWxsZ2VtZWluZXIgTXVlbGwgKEFudGhlYSwgMTQuIEphbiAxOTk1LCAwMTowODowMSk6CiMhIHJuPUtub2VycnkgcnQ9NzkwMDA1MjQ1ClNvLCBpY2ggd2Vpc3MgamV0enQgendhciBuaWNodCwgd2VyIGRpZSBuZXVlIFJ1YnJpayAnUVVJWicgKGltIE1vbWVudCBOci4gMjcpCmFuZ2VsZWd0IGhhdCwgYWJlciBzaWUgZXhpc3RpZXJ0LiBEZXNoYWxiIGhhYmUgaWNoIGVyc3QgZWlubWFsIHNhZW10bGljaGUKQXJ0aWtlbCBhdXMgJ0FMTEdFTUVJTkVTJywgZGllIHNpY2ggYXVmIGRpZSBRdWl6ZnJhZ2VuIGJ6dy4gQW50d29ydGVuCmJlem9nZW4sIGRvcnRoaW4gdmVybGVndC4gV2VubiBFdWNoIGRlciBRdWl6IGFsc28gbmljaHQgZ2VmYWVsbHQsIGtvZW5udCBJaHIKbnVuIGRpZSBSdWJyaWsgYWJiZXN0ZWxsZW4uCgogICAgICAgICAgICAgICAgQW50aGVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFsbGdlbWVpbmVyIE11ZWxsIChCYW1idWxrbywgMTQuIEphbiAxOTk1LCAwMToxNDo1MCk6CiMhIHJuPUFudGhlYSBydD03OTAwNDIwODEKU2VociBndXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBmdWVyIFNjaHJ1bXBmaSAoQmFtYnVsa28sIDE0LiBKYW4gMTk5NSwgMDc6NDk6MjQpOgpEaWVzZXIgQXJ0aWtlbCBpc3QgZXh0cmEgZnVlciBTY2hydW1wZmkuCgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9uIHdlZ2VuLCBmcmFnZW4ga29zdGV0IG5peCAhIChLbGluZ2UsIDE2LiBKYW4gMTk5NSwgMDE6MTI6MTkpOgpEYSBpbiBsZXR6dGVyIFplaXQgaW1tZXIgaGFldWZpZ2VyIE5ld2JpZXMgdW5kIFdhbm5hYmllcyBmcmVjaCB3dXJkZW4gd2VubgpJY2ggbmljaHQgc29mb3J0IGFsbGVzIHN0ZWhlbiB1bmQgbGllZ2VuIGxpZXMgdW0gaWhyZSBGcmFnZW4genUgYmVhbnR3b3J0ZW4KdW5kIGRhIGljaCBtaXIgdm9yc3RlbGxlbiBrb2VubnRlIGRhc3MgZGFzIG5pY2h0IG51ciBtaXIgc28gZ2VodCwgc2NobGFnZSBpY2gKZGllIGVpbmZ1ZWhydW5nIGVpbmVyLCBldmVudHVlbGwgYXVjaCBuaWNodG9mZml6aWVsbGVuLCBHZWJ1ZWhyZW5vcmRudW5nIHZvci4KCkFudHdvcnQgYXVmIGVpbmZhY2hlIEZyYWdlbjogMTAwIE11ZW56ZW4KQW50d29ydCBhdWYgc2Nod2llcmlnZSBGcmFnZW46IDEwMDAgTXVlbnplbgpBbnR3b3J0IGF1ZiBGcmFnZW4gYmVpIGRlbmVuIG1hbiBkZW5rZW4gbXVzczogMTAwMDAgTXVlbnplbgpVbmQgd2VpbCBkaWVzIGltbWVyIGhhZXVmaWdlciB2b3Jrb21tdCwKQW50d29ydCBhdWYgZGFlbWxpY2hlIHVuZCB1bm5vZXRpZ2UgRnJhZ2VuOiAxMDAwMDAgTXVlbnplbgoKU28sIGRhcyBhbHMgRGlza3Vzc2lvbnNncnVuZGxhZ2UuCgpQLlMuOiAgICAgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoT3JrdG9ldGVyLCAxNi4gSmFuIDE5OTUsIDEyOjQ3OjUwKToKSWNoIGRlbmtlLCBkaWUgTGV1dGUgLGRpZSBpbiBsZXR6dGVyIHplaXQgQXJ0aWtlbCBnZWdlbiBXb2xwaXMgdW5kIGRlcmVuCkhlcnJjaGVuL0ZyYXVjaGVuIGdlc2NocmllYmVuIGhhYmVuIHVuZCBkYWJlaSBnZWFldXNzZXJ0IGhhYmVuLCBkaWVzZSB3dWVyZGVuCmhldHp0ZW4gLCBzb2xsdGVuIG1hbCBpaHJlIGVpZ2VuZW4gQXJ0aWtlbCBsZXNlbi4uLi4KRGEgV29scGlzIG5pY2h0IG1laHIgenUga2lsbGVuIHNpbmQsIHdhciBkYXMgbWVpbiBsZXR6dGVyIGJlaXRyYWcgenUgZGllc2VyCnNhY2hlLCBpY2ggYmluIG1pdCBkZXIgamV0emlnZW4gU2l0dWF0aW9uIHp1ZnJpZWRlbiwgYXN1c3NlciBkYXMgZGllIHN0aW1tdW5nCmhhbHQgZXR3YXMgZ2VsaXR0ZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG92ZSAoUXVhbnQsIDE2LiBKYW4gMTk5NSwgMTU6Mjk6MzYpOgpJY2ggbGllYmUgSGVhdGhlciBPJ1JvdXJrZSEhISA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXR0ZW50YXQgKEd1bGR1a2F0LCAxNi4gSmFuIDE5OTUsIDE4OjIyOjE3KToKU28sIGVpbmUgV29jaGUgbmFjaCBkZW0gQXR0ZW50YXQgd2lyZCBlcyBudW4gWmVpdCwgZGFzcyBkZXIgQXR0ZW50YWV0ZXIKc2ljaCB6dSBXb3J0IG1lbGRldCEKCiAgIEpBISBHdWxEdWthdCB3YXIgZGVyIEF0dGVudGFldGVyLCBHdWxEdWthdCB3YXIgTGVlIEhhcnZleSBPc3dhbGQhISEKCkJldm9yIGpldHp0IGFsbGUgbG9zcmVubmVuIHVuZCBtaWNoIHN0ZWluaWdlbiwgZWluIHBhYXIgV29ydGUhCgpEYXMgTUcgaXN0IGVpbiBTcGllbCwgZWluIFJvbGxlbnNwaWVsLiBEZW4gS29uZmxpa3QgdW0gZGllIFdvbHBlcnRpbmVyCmZhc3NlIGljaCBhdWNoIGFscyBlaW5lIEFydCBSb2xsZW5zcGllbCBhdWYsIGRhcyBkaWUgRmFucyB1bmQgR2VnZW5lcgp2b24gV29scHRlcnRpbmdlcm4gU1BJRUxFTi4gV2llIGltIHJpY2h0aWdlbiBMZWJlbiBmb2xndCBhdWYgZWluZSBQcm92b2thdGlvbgpkdXJjaCBlaW5lIEdydXBwZSBlaW5lIEdlZ2VucmVha3Rpb24gZGVyIGFuZGVyZW4uIEF1ZiBkYXMgV3VlcmdlbiB1bmQKVHJldGVuIGRlciBXb2xwaWVzIGZvbGd0ZSBFbXBvZXJ1bmcgZGVyIEZhbnMsIFRvZXRlbiB2b24gV29scGllcyBoYXR0ZQpkYXMgc2NobGVjaHRlIEdld2lzc2VuIHp1IEZvbGdlLCBlcyBrYW0gYWxzICJsb2dpc2NoZSIgRm9sZ2UgZGFzIEF0dGVudGF0LApkYXMgaW0gUHJpbnppcCBudXIgZWluZSBrb25zZXF1ZW50ZSBGb3J0ZnVlaHJ1bmcgZGVzIFJvbGxlbnNwaWVscyB3YXIuCihEYXMgc29sbCBuaWNodCBoZWlzc2VuLCBkYXNzIGRhcyBUb2V0ZW4gZGVyIFNwaWVsZXIgaW4gT3JkbnVuZyB3YXIuKQoKRGVyIEF1c2dhbmcgZGVzIEF0dGVudGF0cyB3YXIgbWlyIGJpcyBrdXJ6IHZvciBadWVuZHVuZyBkZXMgRHluYW1pdHMKdm9lbGxpZyBvZmZlbi4gSWNoIHd1c3N0ZSBzZWxic3QgbmljaHQsIG9iIGljaCBudXIgTEhPc3dhbGQgb2RlciBkZW4KZ2VzYW10ZW4gQ2x1YiBzcHJlbmdlbiBzb2xsdGUuIERhIGRpZSBUYXQgZ3Jvc3MgYW5nZWt1ZW5kaWd0IHd1cmRlLApkYWNodGUgaWNoIGVoIG5pY2h0LCBkYXNzIGljaCBtaXQgZGVtIER5bmFtaXQgYmlzIHp1bSBDbHViaGF1cyBrb21tZW4Kd3VlcmRlLCBkYXNzIGljaCB2b24gU3BpZWxlcm4gb2RlciBNYWdpZXJuIGRhcmFuIGdlaGluZGVydCB3dWVyZGUsCmRpZSBUYXQgYXVzenVmdWVocmVuLiBJbSBMYXVmZSBkZXMgTW9udGFncyBhYmVyLCB3YWVocmVuZCBpY2ggZGFzCkR5bmFtaXQgYmVzb3JndGUsIHRyYWYgaWNoIG51ciBhdWYgTGV1dGUsIGRpZSBtaWNoIGVybXVudGVydGVuLCBkaWUKVGF0IGR1cmNoenVmdWVocmVuLiBBbHMgaWNoIGRpZSBad2Fja2VsbWFubiBxdWVzdCBsb2VzdGUgKHJpbmcgdW0KZHlubWFpdCBhdXMgZGVuIGthdGF0a29tYmVuIHp1IGhvbGVuKSByaWVmZW4gZWluaWdlOiBBaCwgZGVyIEF0dGVudGFldGVyLApqZXR6dCBnZWh0cyBsb3MuIGV0Yy4KCkltIENsdWJoYXVzIHN0YW5kZW4gZWluZSBNZW5nZSBMZXV0ZSwgZGllIHNpY2ggbnVyIGRpZSBUYXQgYW5ndWNrZW4Kd29sbHRlbiwgWndlaXRpZXMsIGRpZSBBbGlhc3NlIGdlc2NocmllYmVuIGhhdHRlbiwgdW0gZGFzIER5bmFtaXQgZGVtClRhZXRlciBvZGVyIGFuZGVyZW4gTGV1dGVuIHp1cnVlY2t6dWdlYmVuLiBJY2ggcHJvYmllcnRlIGVpbmlnZQpFbW90ZXM6CiAgTEhPc3dhbGQgenVlbmRldCBkYXMgRHlubWFpdCBhbgogIExIT3N3YWxkIGxlZ3QgZGFzIER5bmFtaXQgYWIKZXRjLgoKRWluemlnZSBSZWFrdGlvbjogRWluIFJ1ZjogTEhvc2FsZCB6dWVuZGVsdCBzY2hvbiEKTmllbWFuZCB2ZXJzdWNodGUgZGllIFRhdCB6dSB2ZXJoaW5kZXJuLCBhbGxlIHN0YW5kZW4gZGFuZWJlbiB1bmQKYW11ZXNpZXJ0ZW4gc2ljaC4gRGFzIHdhciBkZXIgQW5sYXNzIGZ1ZXIgbWljaCwgZGFzIER6bmFtaXQgd2lya2xpY2gKenUgenVlbmRlbi4gRGEgTEhPU3dhbGQga2VpbmVuIFdvbHBpZS1CdXR0ZW4gaGF0dGUsIGthbSBlciBudXIgZnVlcgpTZWt1bmRlbiBpbnMgZWlnZW5saWNodGUgQ2x1YmhhdXMsIHd1cmRlIGRhbm4gc29mb3J0IHdpZWRlcgpyYXVzZ2VzY2htaXNzZW4uIEluIFRlc3RzIGdlbGFuZyBlcyBtaXIsIGVpbmVuIEdlZ2Vuc3RhbmQgaW0gQ2x1YmhhdXMKYWJ6dWxlZ2VuLCBkYXMgRHluYW1pdCBsYW5kZXRlIGplZG9jaCB2b3IgZGVtIEhhdXMgdW5kIHJpc3MgNSBTcGllbGVyCmluIGRlbiBUb2QuCgpSdWVja3dpcmtlbmQgc2VoIGljaCBlaW4sIGRhc3MgZGFzIFRvZXRlbiB2b24gU3BpZWxlcm4gbmljaHQgaW4gT3JkbnVuZwp3YXIsIGRhcyBBdHRlbnRhdCBoYWV0dGUgbWl0IGRlbSBUb3Qgdm9uIE9zd2FsZCBhZW5kZW4gbXVlc3Nlbi4KSWNoIGhhYmUgYW0gTW9udGFnLCBrdXJ6IG5hY2ggZGVtIEF0dGVudGF0IG1laW5lIFRhdCBiZWkgQm9pbmcgZ2VzdGFuZGVuCnVuZCBtaXQgZGVuIG1laXN0ZW4gZGVyIE9wZmVyIHBlcnNvZW5saWNoZSBHZXByYWVjaGUgZ2VmdWVocnQgdW5kIG1pY2gKZnVlciBkYXMgVG9ldGVuIGVudHNjaHVsZGlndC4KCkluIEFuYmV0cmFjaHQgZGVzc2VuLCBkYXNzIGRpZSBPcGZlciBpaHJlIFB1bmt0ZSB3aWVkZXJiZWtvbW1lbiBoYWJlbgosIGRlciAidW50ZXJsYXNzZW5lbiBIaWxmZWxlaXN0dW5nIiA7KSBkZXIgZHJ1bWhlcnVtc3RlaGVuZGVuLCBkZXMKR2VzdGFlbmRuaXNzZXMsIHVuZCBkYXNzIGRpZXMgYWxsZXMgbnVyIGVpbiBTcGllbCBpc3QsCgpwbGFlZGllcmUgaWNoIGF1ZiBzY2h1bGRpZyB1bmQgRnJlaXNwcnVjaCEKCihHdXQsIGljaCB3ZXJkZSBlaW5tYWwgU2NodWhlIHB1dHplbiEgOykgKQoKR3VsRHVrYXQKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvbiB3ZWdlbiwgZnJhZ2VuIGtvc3RldCBuaXggISAoV2FybG9yZCwgMTYuIEphbiAxOTk1LCAxODozNzoxMSk6CiMhIHJuPUtsaW5nZSBydD03OTAyMTUxMzkKCmZpbmRlIGRpZXNlIElkZWUgbmljaHQgc28gZ3V0ICEKamVkZXIgaGF0IG1hbCBrbGVpbiBhbmdlZmFuZ2VuIHVuZCBpY2ggZGVua2UgZG9jaCwgZGllcyBpc3QgZWluCmtvbW11bmlrYXRpdmVzIFNwaWVsLgp3ZW5uIGplbWFuZCBtaWNoIHNjaHJhZWcgYW5tYWNodCwgZGFubiBpZ25vZWllcmUgaWNoIGlobiBvZGVyIG1hdWxlIHp1cnVlY2suCgogICAgICAgICAgZWluIGdlcmFkZSB3ZWdlbiBkZXIgS29tbXVuaWthdGlvbiBoaWVyIHNwaWVsZW5kZXIKCQlXYXJsb3JkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUdWViaW5nZXIgbW9kZW1zIGltIFpEVi4uLiAoTEVTRU4hKSAoQmFuemFpLCAxNy4gSmFuIDE5OTUsIDAxOjM4OjMwKToKRWluZSBCaXR0ZSBhbiBkaWUgVHVlYmluZ2VyIE11ZGRpZXM6CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIEJJVFRFIEJFTlVUWlQgTklDSFQgRElFIE1PREVNUyBERVMgWkRWIEZVRVJTIE1VRERFTSEhISEhISEhISEhISEgKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKRGEgZGFzIFpEViBpbSBNb21lbnQgZWggenV3ZW5pZyBNb2RlbXMgaGF0IGRhdWVydCBlcyB6ZWl0d2Vpc2UgdWViZXIKZHJlaSAoISEpIFN0dW5kZW4gYmlzIG1hbiB1ZWJlcmhhdXB0IGVpbmUgVmVyYmluZHVuZyBrcmllZ3QuIERhcyBkYQppcmdlbmR3YW5uIEJlc2Nod2VyZGVuIGtvbW1lbiBpc3QgZ2xhdWJlIGljaCBqZWRlbSBrbGFyLiBVbmQgd2VubiAKZGFuIDMvNCBkZXIgU3R1ZGlzIGRpZSBhbSBNb2RlbSBoYWVuZ2VuIE11ZHMgem9ja2VuIGlzdCBkYXMgbmljaHQKZ2VyYWRlIGV0d2FzIHdhcyBSZWNoZW56ZW50cnVtc2xlaXRlciBzZWhyIGdsdWVja2xpY2ggbWFjaHQuLi4KR2VuYXVlciBnZXNhZ3QgZGFzIHd1ZXJkZSBzaWUgc29nYXIgemllbWxpY2ggX3NhdWVyXyBtYWNoZW4gdW5kIAoqc2Nod3VwcyogZGFzIHdhcnMgZGFubiB2b24gZGVuIHRvbGxlbiBvZmZlbmVuIE1vZGVtenVnYWVuZ2VuIGV0Yy4uLgpCencuIGVzIGthbiBhdWNoIHJlY2h0IHNjaG5lbGwgcGFzc2llcmVuIGRhc3MgYmVzdGltbXRlIFRlbG5ldC1wb3J0cyAKaW0gUm91dGluZyBnZWJsb2NrdCB3ZXJkZW4uLiBJc3QgYWxsZXMgc2Nob24gbWFsIHZvcmdla29tbWVuLCB1bmQgZmFsbHMKYmVzdGltbXRlIExldXRlIGRhIFdpbmQga3JpZWdlbiBrYW5uIHNvd2FzIGluIFR1ZWJpbmdlbiBhdWNoICpzZWhyKiAKc2NobmVsbCBwYXNzaWVyZW4uLiA6LSgKQWxzbyBub2NobWFsIG1laW5lIEJpdHRlOiBXZW5uIGlociB6b2NrZW4gd29sbHQsIGRhbm4gbmVobXQgZGFmdWVyIGFiZW5kcyBkaWUKUG9vbHMgYnp3LiBUZXJtaW5hbHMgaW0gWkRWIChkYWZ1ZXIgZ2lidHMgamEgZGllIHRvbGxlbiBNYWduZXRrYXJ0ZW4gdW0gZGEKMjRoIHJlaW56dWtvbW1lbikgdW5kIF9uaWNodF8gZGllIE1vZGVtcy4KCkJhbnphaQoKUC5TLjogV2VubiBlaW5lciB1bmJlZGluZ3QgdWViZXIgTW9kZW0gTXVkZGVuIHdpbGwgc29sbCBzaWNoIGFuIG5lbiBwcml2YXRlbgogICAgICBJbnRlcm5ldC1Qcm92aWRlciB3ZW5kZW4gKHVuc2VyZSBXRyBpc3QgbWl0IDY0IGtCIElTRE4gdmVybmV0enQgOy0pCiAgICAgIEphLCBkYXMga29zdGV0LiBBYmVyIGltbWVyIG5vY2ggYmVzc2VyIGFscyBpcmdlbmR3YW5uIGdhciBrZWluZQogICAgICBNb2RlbXp1Z2FlbmdlIG1laHIgenUgaGFiZW4sIG9kZXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmFjaHJpY2h0ZW4gKFNjaGxvbnosIDE3LiBKYW4gMTk5NSwgMTA6MDk6MDcpOgoKVG9sbCwgS2xhc3NlLCBTdXV1dXV1cGVyICEKClNjaGxvbnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZmFlbmdlcmhpbGZlIChNb25vdG9uaSwgMTkuIEphbiAxOTk1LCAxMjoxOTo0OCk6CkRhcyBtYWNoIGljaCBiZXN0aW1tdCBuaWNodCBtZWhyLi4uCkRhIGJyYXVjaHQgbWFuIGVpbiBwYWFyIFB1bmt0ZSwgdW0gaW4gZGllIG5hZWNoc3RlIFN0dWZlIHp1IGtvbW1lbgp1bmQgdG9ldGV0IGRlc3dlZ2VuIGVpbiBwYWFyIEdhcmRld2FlY2h0ZXIgISBOYWNoIGVpbmlnZXIgWmVpdCBoYXQgbWFuIHp1dmllbApBdXNydWVzdHVuZwp1bmQgdmVya2F1ZnQgc2llLi4uRGFubiBoYXQgbWFuIGlyZ2VuZHdhbm4gYXVjaCBnZW51ZyBHZWxkIHVuZCBkZW5rdCBhbiBkaWUKWmVpdGVuLAppbiBkZW5lbiBtYW4gbm9jaCBuYWNoIDEwMCBNdWVuemVuIGdlYmV0dGVsdCBoYXQuCkZvbGdlIDogRWluIEF1ZnJ1ZiBpbSBhbGxnZW1laW5lbSBLYW5hbCA6IlNjaGVua2UgQW5mYWVuZ2VyIGltIEVsZmVubGFkZW4KNTAwMCBNdWVuemVuIgpadWVyc3Qga29tbXQgSGF0ZSBhbiB1bmQgYmV0dGVsdCB1bSBHZWxkLi4uIERpZXNlIEJhcmdlbGRsb3NlbiBNYWdpZXIuLgpXaWVkZXJsaWNoICEgOikpCkRlbSBlcnN0ZW4gQW5mYWVuZ2VyIGRydWVjayBpY2ggZGFubiBkYXMgR2VsZCBpbiBkaWUgSGFuZCB1bmQgamV0enQga29tbXRzIDoKTWFuIHdpcmQgZ2V0cmV0ZW4sIGJlbGVpZGlndCB1bmQgd2Vpc3MgbmljaHQsIHdhcyBtYW4gZmFsc2NoIGdlbWFjaHQgaGF0ICEKCklzdCBrbGFyIDogRGFzIHdhciBrZWluIEFuZmFlbmdlciwgZG9jaCBsdXN0aWcgd2FyIGRhcyBhdWNoIG5pY2h0Li4uCkRlcmplbmlnZSBoYXQgYmVzdGltbXQgU3Bhc3MgZ2VoYWJ0LCBpY2ggd2VyZGUgbWVpbmUgQXVzcnVlc3R1bmcgamVkb2NoIG5pY2h0Cm1laHIgc28gdmVyc2NoZW5rZW4uLgpVbmQgZGllIEFuZmFlbmdlciBrb2VubmVuIHNjaGF1ZW4sIHdpZSBzaWUgYW4gR2VsZCBrb21tZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBydWVkZXJpZT8gTmllISAoQ3JhaWcsIDE5LiBKYW4gMTk5NSwgMTk6MjM6NTApOgpJbSBHcnVuZGUgaXN0IE1vcmdlbmdyYXVlbiBkb2NoIGVpbiBTcGllZ2VsYmlsZCBkZXIgV2lya2xpY2hrZWl0LiBXYXJ1bQpzb2xsdGUgZXMgaGllciBhbHNvIHBydWVkZXIgenVnZWhlbiBhbHMgaW0gcmVhbCBsaWZlPwpTZXh1YWxpdGFldCBpc3QgZWluIFRlaWwgZGVzIExlYmVucywgZGVyIGF1Y2ggaW0gTW9yZ2VuZ3JhdWVuIHNlaW5lbiBQbGF0egpoYXQuIE5hdHVlcmxpY2ggaGFiZW4gZGF6dSBuaWNodCBhbGxlIGRpZXNlbGJlIEVpbnN0ZWxsdW5nLiBBYmVyIGVpbiB3ZW5pZwptZWhyIFRvbGVyYW56IHVuZCB3ZW5pZ2VyIFZlcmJpc3NlbmhlaXQgLSB1bmQgZXMgZ2FlYmUga2VpbiBQcm9ibGVtLgpXYXMgd2FlcmUgTWcgb2huZSBzZWluZSBWaWVsZmFsdCBhbiBOYW1lbiwgSWRlZW4sIFBlcnNvZW5saWNoa2VpdGVuOiBNYXNvLApQZXJ2ZXJzbywgU29kb21pc3QgdW5kIHdpZSBzaWUgc2ljaCBzbyBuZW5uZW4uIEZ1ZXIgbWFuY2hlIG9mZmVuYmFyIGVpbiBTdGVpbgpkZXMgQW5zdG9zc2VzOyBpY2ggbW9lY2h0ZSBuaWNodCBhdWYgc2llIHZlcnppY2h0ZW4uCgpDUkFJRywgZGVyIGhvZmZ0LCBkYXNzIGF1Y2ggaW4gWnVrdW5mdCBhbGxlIHNvIHNlaW4ga29lbm5lbiwgd2llIGVzIGlobmVuCnBhc3N0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZWJlbnNnZWZhZWhybGljaGUsIGFuc3RlY2tlbmRlIEJsb2Vkc2lubi1FcGlkZW1pZSBpbSBNRyAoR2FyZmllbGQsIDIwLiBKYW4gMTk5NSwgMDc6NTQ6MDgpOgpoc2VpdCBlaW5pZ2VyIFplaXQgYmVtZXJrdCAtIGFscyB1bmhlaWxiYXIgYmVmdWVyY2h0ZXQ6IGRpZQoKQmxvZWRzaW5uLUVwaWRlbWllCgpTZWl0IGVpbmlnZXIgWmVpdCBnZWh0IGltIE1VRCBlaW5lIEVwaWRlbWllIHVtLCBkaWUgamVkZW4sIGRlciBhbmdlc3RlY2t0CndpcmQsIG51ciBub2NoIEJsb2Vkc2lubiBpbiBkZXIgWmVpdHVuZyB2ZXJvZWZmZW50bGljaGVuIGxhZXNzdC4KRGEgbGllc3QgZGFubiBkZXIgaW50ZXJlc3NpZXJ0ZSBaZWl0dW5nc2xlc2VyCnNlaXRlbndlaXNlIHByaXZhdGUgU3RyZWl0aWdrZWl0ZW4gendpc2NoZW4gZGVuIFNwaWVsZXJuIG9kZXIgc3BlaWNoZXItCnBsYXR6dmVyYnJhdWNoZW5kZSAzLVplaWxlciBtaXQgc28gcmVsZXZhbnRlbSBJbmhhbHQgd2llIEZyYWdlbgp1ZWJlciBkaWUgVG9ldHVuZ3N3ZWlzZSBlaW5lcyBiZXN0aW1tdGVuIE1vbnN0ZXJzIG9kZXIgYWVobmxpY2hlcy4Kc293YXMga2FubiBtYW4gZG9jaCBHb3R0IHdlaXNzIGF1ZiBFYmVuZSBBbGxnZW1laW4gbWFsIHNjaG5lbGwgYmVzcHJlY2hlbi4KV2VtIGRhcyBOaXZlYXUgdW5zZXJlciBaZWl0dW5nIHNvIHdlbmlnIGFtIEhlcnplbiBsaWVndCwgZGVuIGthbm4gaWNoCmxlaWRlciBuaWNodCBnYW56IHZlcnN0ZWhlbi4KCkJpdHRlLCBiZW11ZWh0IEV1Y2ggZG9jaCB1bSBlaW4gTWluZGVzdG1hc3MgYW4gSW5mb3JtYXRpdml0YWV0IGluIGRlbgpBcnRpa2VsbiEgT2RlciB3YXMgaXN0LCBJaHIgTWFnaWVyLCBrYW5uIG1hbiBkYSBlaW5lIEJlc2NocmFlbmt1bmcgZWluLQpmdWVocmVuLCBzY2hvbiBhbGxlaW4sIHdlaWwgZGVyIE1pc3QgamEgTWFzc2VuIHZvbiBTcGVpY2hlcnBsYXR6IGJyYXVjaHQuCgpHYXJmaWVsZCwgemllbWxpY2ggZW50dGFldXNjaHQKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsb2VzY2h1bmcgYWx0ZXIgc3BpZWxlciAoUnVtYXRhLCAyMC4gSmFuIDE5OTUsIDExOjQ3OjM4KToKRWluaWdlIFNwaWVsZXIsIGRpZSBzZWl0IGxhZW5nZXJlciBaZWl0IG5pY2h0IG1laHIgZWluZ2Vsb2dndCB3YXJlbiwKc2luZCB2ZXJzZWhlbnRsaWNoIGdlbG9lc2NodCB3b3JkZW4uIFdlbm4gRHUgZWluZXIgZGllc2VyIFNwaWVsZXIgYmlzdCwKc28gc2NoaWNrZSBlaW5lIE1haWwgYW4gSm9mLCBkZXIgZGFubiBEZWluIHNhdmUtZmlsZSB3aWVkZXIgdm9tIEJhY2t1cApyZXN0YXVyaWVyZW4ga2Fubi4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ286IFBydWVkZXJpZT9OaWUhIChNZXRhLCAyMC4gSmFuIDE5OTUsIDEzOjI0OjIwKToKTmFtZW4gd2llIFBlcnZlcnNvLCBTb2RvbWlzdCB1c3cuIHNpbmQgZG9jaCB6dW5hZWNoc3QgdW5kIHZvcmFsbGVtCmVpbm1hbCBlaW5mYWNoIE5hbWVuIHVuZCBoYWJlbiBpbiBkaWVzZW0gS29udGV4dCBuaWNodHMgbWl0IFNleHVhbGl0YWV0IHp1CnR1bgouIEVzIGlzdCBhdWNoIG9mdCBuaWNodCBzbyBlaW5mYWNoIGF0aG9jIHdlbm4gbWFuIHNpY2ggZWlubG9nZ3QsIGVpbmVuCnNjaG9lbmVuIE5hbWVuIHp1IGZpbmRlbi4gRGFydW0gc29sbHRlIG1hbiBhdWNoIGJlc3NlciBkYXJhdWYgdmVyemljaHRlbiwKaW4gZGllIE5hbWVuIGlyZ2VuZHdhcyBoaW5laW4genUgZGV1dGVuLiBPZGVyIGdhciBkZW4gR2Vpc3QgZGVzCk5hbWVuc3RyYWVnZXJzIG9kZXIgZGVyIFRyYWVnZXJpbiBhbHMgcHViZXJ0YWVyIG9kZXIgd2FzICxhYnp1c3RlbXBlbG4uCk1laW5lciBFcmZhaHJ1bmcgbmFjaCwgaXN0IGVzIHNvZ2FyIFszNH5bMzR+WzM0fltEW0RbRFtECiggTGVpZGVyIGZ1bmt0aW9uaWVydCBkaWUgbG9lc2NodGFzdGUgbmljaHQpCk1laW5lciBFcmZhaHJ1bmcgbmFjaCBzaW5kIGRpZSwgZGllIHNpY2ggYW4gV29lcnRlcm4gYXVmaGFlbmdlbiwgZGllCmF1Y2ggbnVyaXJnZW5kd2llIGVpbmVuICIgU2V4Z2VoYWx0ICIgaGFiZW4gLGdhbnogYmVzb25kZXJzIHB1YmVydGFlci4KV2VyIHdlbm4gZXIgZGVuICx3aWUgaWNoIGZpbmRlIHd1bmRlcnNjaG9lbmVuIE5hbWVuIE1hc28gaG9lcnQsIHVuZCBkYWJlaSBhbgpNYXNvY2hpc3QgZGVua3QsZGVyIGRlbmt0IHdhaHJzY2hlaW5saWNoICx3ZW5uIGVyIHNlaW5lbiBaVCBtaXQgInVudCBsb2NoIgpzdWNodCAsdW50ZXJzdWNoZSBWYWdpbmEgPwpJY2ggd2Vpc3MgbmljaHQsb2IgbWFuIGRhcmF1ZiBydWVja3NpY2h0IG5laG1lbiBrYW5uLiBLb25zZXF1ZW50IGJldHJpZWJlbgpmdWVocnRlIGRhcyBuYWVtbGljaCB6dSBwb2xpdGljYWxjb3JyZWN0bmVzcyBsaXN0ZW4sIHdpZSBpbiBVU0EsIHdvCm1hbiBkYW5uIGVyc3RtYWwgbmFjaHNjaGxhZ2VuIGRhcmYgLHdpZSBtYW4gc2ljaCBuZW5lbiB1bmQgd2FzIG1hbiBpbSBNRyBub2NoCnNjaHJlaWJlbiBkYXJmLgpEYXMgd2FlcmUgZWNodCB0cmF1cmlnLgpOYW1lbiBzaW5kIFNjaGFsbCB1bmQgUmF1Y2guIFdpY2h0aWcgaXN0IHdhcyBkaWUgTUVaZW4gdHVuLiB1bmQgbm9jaAp3aWNodGlnZXIgbWl0IHdlbSB1bmQgd2FzIGRlci8gZGllCmRhdm9uIGhhZWx0LgpNRVRBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDZXJlYnVzIG9uIFRWIDotKSkgKENlcmVidXMsIDIwLiBKYW4gMTk5NSwgMTM6NDc6NDApOgpIYWxsbyEKV2VubiBlcyBqZW1hbmRlbiB2b24gRXVjaCBnaWJ0LCBkZXIgZ2VybmUgbWFsIENlcmVidXMgbGl2ZSBzZWhlbiB3aWxsLCB1bmQKd2VubiBlcyBkaWVzZW0gamVtYW5kIG5pY2h0cyBhdXNtYWNodCwgc2ljaCAiRGVyIEtvZW5pZyIgYXVmIEFUMSBhbnp1c2NoYXVlbiwKZGFubiBzb2xsdGUgZGllc2VyIGplbWFuZCBtYWwgYW0gTWksIDI1LjEgdW0gMjAuMTUgdWhyIHNlaW5lbiBGZXJuc2VoZXIKZWluc2NoYWx0ZW4uCldlbm4gdW5zIGRpZSBMZXV0ZSBiZWltIERyZWgga2VpbmVuIE1pc3QgZXJ6YWVobHQgaGFiZW4sIHdpcmQgZGFubiB1bnNlcmUKRm9sZ2UgZ2VzZW5kZXQuCkluIGVpbmVyIFN6ZW5lIGJydWVsbHQgR3VlbnRlciBTdHJhY2sgc2VpbmVtIEtvbGxlZ2VuIGV0d2FzIGluIGVpbmUgQ2hvcnByb2JlCmhpbnRlcmhlci4gRnVlciBldHdhIGVpbmUgaGFsYmUgU2VrdW5kZSB3aXJkIGVpbiBQcmNoZW4genUgc2VoZW4gc2VpbiwgZGFzCmhpbnRlciBTdHJhY2sgdm9yYmVpc2NobGVuZGVydC4gRGVyIG1pdCBkZXIgZ3J1ZW5lbiBKYWNrZSBiaW4gaWNoIDotKSkKV2VubiBlcyBkaWVzZW4gTWl0dHdvY2ggbmljaHQgbGFldWZ0LCBkYW5uIGFtIE1pdHR3b2NoIGRyYXVmIChoYWJlbiBkaWUgTGV1dGUKdW5zIGVyemFlaGx0Li4uKQpBbHNvOiBXYXRjaCBtb3JlIFRWLi4uISEKCkNlcmVidXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDbzogUHJ1ZWRlcmllP05pZSEgKEFzbW9kaXMsIDIwLiBKYW4gMTk5NSwgMTY6MjI6MzIpOgojISBybj1NZXRhIHJ0PTc5MDYwNDY2MAoKSGFpIExldXRlICEKQWxzbyBtZWluZXIgTWVpbnVuZyBzY2hlaW50IGRhcyBoaWVyIGVpbiBGYW50YXN5LU1VRCB6dSBzZWluLCB1bmQgZGEgaGFiZW4KTmFtZW4gd2llCkZpY2tmcm9zY2gsIFNvZG9taXN0LCBNYXNvLCBldGMuIHdpcmtsaWNoIG5peCB6dSBzdWNoZW4uCldlbm4gaWhyIG5lbiBndXRlbiBOYW1lbiBzdWNodCwgZGFubiBsZXN0IG1laHIgQnVlY2hlciwgZGFzIGJpbGRldCA6KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDbzogUHJ1ZWRlcmllP05pZSEgKFdhcmdvbiwgMjAuIEphbiAxOTk1LCAxNjoyOToyNyk6CiMhIHJuPUFzbW9kaXMgcnQ9NzkwNjE1MzUyCkFsc28gaWNoIHdlaXNzIG5pY2h0LCBvYiBlcyB2b24gZ3JvZXNzZXJlciBQaGFudGFzaWUgemV1Z3QsIHdlbm4gbWFuCnNpY2ggbmFjaCBpcmdlbmR3ZWxjaGVuIEJ1Y2hnZXN0YWx0ZW4gYmVuZW5udC4uLgpTb2xsZW4gc2ljaCBkaWUgTGV1dGUgZG9jaCBzbyBuZW5uZW4sIHdpZSBzaWUgd29sbGVuICh1bmQKc293ZWl0IGRlciBOYW1lIG5vY2ggbmljaHQgZ2ViYW5pc2h0IGlzdCA7KS4KVW5kIHVlYmVyaGF1cHQsIHdpZXNvIGxlYnQgamV0enQgd2lkZXIgZGllc2UgKiYlJCQlLU5hbWVucy0KZGlza3Vzc2lvbiB3aWVkZXIgYXVmLCBpY2ggZGFjaHRlLCBkYXMgVGhlbWEgd2FlcmUgZXJsZWRpZ3QuLi4KICBUc2NodWVzcywKICAgIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ286IFBydWVkZXJpZT9OaWUhIChBc21vZGlzLCAyMC4gSmFuIDE5OTUsIDE2OjMzOjIxKToKIyEgcm49V2FyZ29uIHJ0PTc5MDYxNTc2NwpTaWNoIG5hY2ggQnVjaGdlc3RhbHRlbiB6dSBiZW5lbm5lbiBpc3QgYmVzc2VyIGFscyBuYWNoIExlYmVuc21pdHRlbG4gOikKQXVzc2VyZGVtIHdpcnN0IGR1IFNvc29taXN0LCBNYXNvLCBGaWNrZnJvc2NoLCBUb2FzdGJyb3QsIFBvbW1lcyB3b2hsIG5pY2h0CmFscwpwaGFudGFzaWV2b2lsbCBiZXplaWNobmVuIHdvbGxlbiAhIQoKICAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzKERlciBOYW1lIGlzdCBhdXMgZWluZXIgUm9tYW5zZXJpZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvOiBQcnVlZGVyaWU/TmllISAoQXNtb2RpcywgMjAuIEphbiAxOTk1LCAxNjozNTowNSk6CiMhIHJuPUFzbW9kaXMgcnQ9NzkwNjE2MDAxCnVwcHMsIHNvbGx0ZSBTb2RvbWlzdCBoZWlzc2VuIHVuZCBwaGFudGFzaWV2b2xsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDbzogUHJ1ZWRlcmllP05pZSEgKENyYWlnLCAyMC4gSmFuIDE5OTUsIDE4OjA2OjU1KToKIyEgcm49QXNtb2RpcyBydD03OTA2MTYwMDEKR2VuYXUsIE1vcmdlbmdyYXVlbiBpc3QgZWluIEZhbnRhc2llLVNwaWVsLiBOdXIgaGFiZW4gZWJlbiBuaWNodCBhbGxlIGRpZQpzZWxiZW4gRmFudGFzaWVuLiBFdHdhIHdlaWwgbmljaHQgYWxsZSBkaWUgZ2xlaWNoZW4gQnVlY2hlciBsZXNlbi4uLgpFcyBpc3QgZG9jaCBKZWRlbSB1bmQgSmVkZXIgZnJlaWdlc3RlbGx0LCBlaW5lbiBOYW1lbiBmcmVpIHp1IHdhZWhsZW4gdW5kIGRhcwp6dSB0dW4sIHdvcmFuIGVyIG9kZXIgc2llIFNwYXNzIGhhdC4gRWluc2NocmFlbmt1bmc6IEFuZGVyZSBkdWVyZmVuIG5pY2h0CnZlcmxldHp0IHdlcmRlbiwgaXN0IGtsYXIuCkljaCBoYWJlIHZpZWwgU3Bhc3MgYW4gbHVzdGlnZW4gTmFtZW4gd2llIFRvYXN0YnJvdCBvZGVyIFBlcnZlcnNvLiBOYXR1ZXJsaWNoCmlzdCBkYXMgR2VzY2htYWNrc3NhY2hlIChuaWNodCBhbGxlIG1vZWdlbiBSdWVocmVpKS4gQWJlciB3ZXIga2FubiBzaWNoIHNjaG9uCnp1bSBSaWNodGVyIGF1ZnNwaWVsZW4gdW5kIHNhZ2VuOiBEaWVzZSBvZGVyIGplbmUgTGV1dGUgZ2Vob2VyZW4gbmljaHQgaW5zCk1vcmdlbmdyYXVlbj8gR2FueiBzY2hvZW4gYW5tYXNzZW5kLCBmaW5kZSBpY2guCkluIGVpbmVyIEdlc2VsbHNjaGFmdCwgZGllIHNpY2ggZGVtIFBsdXJhbGlzbXVzIHZlcnBmbGljaHRldCBmdWVobHQsIG11c3MgbWFuCmhhbHQgYXVjaCBlaW5lIGdhbnplIE1lbmdlIGF1c2hhbHRlbiAtIGF1Y2ggIkdlc2NobWFja2xvc2lna2VpdGVuIi4KCkNSQUlHIChkZXIgVm9ybmFobWUgZWluZXMga2FuYWRpc2NoZW4gRWlzaG9ja2V5c3BpZWxlcnMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDbzogUHJ1ZWRlcmllP05pZSEgKENpZmVyLCAyMC4gSmFuIDE5OTUsIDE4OjMzOjAxKToKIyEgcm49QXNtb2RpcyBydD03OTA2MTYwMDEKRmlja2Zyb3NjaCBzY2hvbiAtIGVpbiAgTmFtZSwgZGVyIG1pciBuaWNodCBzbyBvaG5lIHdlaXRlcmVzIGVpbmZhbGxlbgp3dWVyZGUsIGFsc28gaXJnZW5kd28gc2Nob24gcGhhbnRhc2lldm9sbC4gWnVkZW0gcmVndCBlciBkaWUgUGhhbnRhc2llIGFuLi4uCgpDaWZlciAtIGJsb2VkZXIgTmFtZS4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ286IFBydWVkZXJpZT9OaWUhIChBcmdoLCAyMS4gSmFuIDE5OTUsIDAwOjM5OjQ2KToKIyEgcm49QXNtb2RpcyBydD03OTA2MTYwMDEKd2VyIHNhZ3QgZGVubiBkYXMgdG9hc3Ricm90IG9kZXIgcG9tbWVzIG5pY2h0IHBoYW50YXNpZWZvbGwgaXN0LiBpY2gKcGhhbnRhc2llcmUgb2Z0IHZvbiB0b2FzdCBicm90Li4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDbzogUHJ1ZWRlcmllP05pZSEgKEhhdGUsIDIyLiBKYW4gMTk5NSwgMTg6NDY6MDUpOgojISBybj1BcmdoIHJ0PTc5MDY0NTE4NgpWaWVsbGVpY2h0IHNvbGx0ZW4gd2lyIG1hbCBkaWVzZSBGcmFnZSBpbiBkaWUgRkFRIGF1Zm5laG1lbi4gQWJlciB3ZW5uIGlocgptaWNoIGZyYWd0IGlzdCBkYXMgZ2FuemUgZWggemllbWxpY2ggc2lubmxvcywgZGEgamVkZXIgc2ljaCBzZWluZW4gTmFtZW4KZnJlaSB3YWVobGVuIGtvZW5uZW4gc29sbHRlLCBhdWNoIHdlbm4gZXMgaXJnZW5kd2VuIGFuZGVycyBzdG9lcnQuCldpZSBzY2hvbiBlaW5lciBpbiBlaW5lbSBBcnRpa2VsIHZvcmhlciBzYWd0ZTogIk5hbWVuIHNpbmQgU2NoYWxsIHVuZCBSYXVjaCIKV2VyIHNpY2ggdm9uIGlyZ2VuZGVpbmVtIFdvcnQgb3JkZXIgTmFtZW4gYmVsZWlkaWd0IG9kZXIgYmVsYWVzdGlndCBmdWVobHQsCnNvbGx0ZSB6dWVyc3QgbWFsIGJlaSBzaWNoIHNlbGJzdCBhbmZhbmdlbiB6dSBzdWNoZW4sIG9iIHNlaW5lL2locmUgRWluLQpzdGVsbHVuZyByaWNodGlnIGlzdC4KSGF0IGplbWFuZCB2b3IsIG1laW5lbiBOYW1lbiBhbnp1ZmVjaHRlbj8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDbzogUHJ1ZWRlcmllP05pZSEgKEdyaW1tYm9ybiwgMjIuIEphbiAxOTk1LCAxODo1NDozMCk6CiMhIHJuPUhhdGUgcnQ9NzkwNzk2NzY1CgpXZW5uIER1IHNjaG9uIGZyYWdzdC4uLiA7LSkKQWJlciB2ZXJtdXRsaWNoIHdhZXJlIGRhcyBHZXNjaHJlaSBncm9lc3NlciB3ZW5uIER1ICJMb3ZlIiBvZGVyICJTZXgiIGhlaXNzZW4Kd3VlcmRlc3QuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIFdlbm4ga2VpbmVyIHdhcyBkYWdlZ2VuIGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvOiBQcnVlZGVyaWU/TmllISAoQmVsZGluLCAyMi4gSmFuIDE5OTUsIDIwOjExOjIyKToKIyEgcm49QXNtb2RpcyBydD03OTA2MTYwMDEKSHVodSBBc21vZGlzIQpEZWluZW4gTmFtZW4gbWFnc3QgRHUgamEgYXVzIG5lciBSb21hbnNlcmllIGhhYmVuICh3aWUgaWNoIG1laW5lbiBhdWNoIDopCmplZG9jaCBpc3QgJ0FzbW9kaXMnIGRpZSBCZXplaWNobnVuZyBmdWVyIGVpbmVuIGhvZWhlcmVuIEhvZWxsZW5mdWVyc3Rlbi4KTGVpZGVyIGhhYiBpY2ggdmVyZ2Vzc2VuIHdlbGNoZSBSZWdpb24gZXIgYmVoZXJyc2NodCB1bmQgZnVlciBXQVMgZXIKenVzdGFlbmRpZyBpc3QgOykuCkFuc29uc3RlbiBrYW5uIG1hbiBEaXIgbnVyIHp1c3RpbW1lbi4uLgoKTWl0IGZhbnRhc2lldm9sbGVuIEdydWVzc2VuCgpCZWxkaW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXIgYnVnIGluIGRlciBtcGEgKExvY28sIDIzLiBKYW4gMTk5NSwgMTU6NTU6NDMpOgpFcyBnaWJ0IHp1ciBaZWl0IGVpbiBQcm9ibGVtIG1pdCBkZW0gQmVmZWhsICdzY2hyZWliZSBhcnRpa2VsJy4gSWNoIGhhdHRlCmJpc2hlciBuaWNodCBkaWUgWmVpdCB6dW0gZGVidWdnZW4sIGRlc3dlZ2VuIGhpZXIgZXJzdG1hbCBlaW4gVGlwIHp1bSBVbWdlaGVuOgpWZXJ3ZW5kZXQgX251cl8gZGllIGFsdGVybmF0aXZlIFN5bnRheCAnc2NocmVpYmUgPHRpdGVsPicsIGFsc28gZGVuIFRpdGVsIGRlcwpBcnRpa2VscyBhbHMgQXJndW1lbnQuIERhcyBmdW5rdGlvbmllcnQuCihQLlMuOiBHaWx0IG5hdHVlcmxpY2ggZnVlciAnbm90ZScgc3RhdHQgJ3NjaHJlaWJlJyBnZW5hdXNvLCBpc3Qgc293aWVzbyBudXIKZWluIGFsaWFzKQoKICAgICAgIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoRWxyaWMsIDIzLiBKYW4gMTk5NSwgMTc6MTQ6MjcpOgpBbHNvLCBpY2ggZmluZGUsIGRhc3ogU2Fkb21pcywgTWFzb2RpcywgU29kb21pcywgRGFzb21pcy4uLi4gd2llIGF1Y2ggaW1tZXIKZGVyIGhlaXN6ZW4gbWFnICggOikgKSBpbiBhbGxlbiBQdW5rdGVuIHJlY2h0IGhhdC4KV2VubiBGaWNrZnJvc2NoIHVuZCBLb3R6YnJvY2tlbiBzaWNoIG5pY2h0IGJpbm5lbiA1IE1pbnV0ZW4gc2VsYnN0IGdlbG9lc2NodApoYWJlbiwgc29sbHRlIGRhcyBlaW4gTWFnaWVyIHVudmVyenVlZ2xpY2ggdHVuLgpKZWRlciBzaWNoIG5ldSBlaW5sb2dnZW5kZSBDaGFyYWt0ZXIgc29sbHRlIHp1bmFlY2hzdCBlaW5lciBOYW1lbnMtIHVuZApSZWlmZXBydWVmdW5nIHVudGVyem9nZW4gd2VyZGVuLgoKICBFbHJpYywgKGhvZmZlbnRsaWNoIGhpbnJlaWNoZW5kIEZhbnRhc3ktS29tbWlzc2lvbnMtS29tcGF0aWJlbCAqYW5nc3QqICkKClBTOiBEZXIgTmFtZSBKb2YgaXN0IGphIHdvaGwgYXVjaCB1bnRlciBhbGxlciBTYXUuIFdlZyBkYW1pdC4KUFBTOiBPaC4gSXJvbWllIG9uL29mZiB2ZXJnZXNzZW4uIE5hamEuIFNjaGVpc3MgZHJhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKEVscmljKSAoWWVuZGksIDIzLiBKYW4gMTk5NSwgMTc6MjM6NDkpOgoKSG1tbS4uLiBWaWVsbGVpY2h0IGJpbiBpY2ggenUgc2VociBSb2xsZW5zcGllbGVyLCBhYmVyIHNvbGNoZSBOYW1lbiBmaW5kZSBpY2gKLWhtbW0tIGRvb2YuCkphLCBkYXMgdHJpZmZ0IGVzIHppZW1saWNoIGdlbmF1OiBkb29mLCBraW5kaXNjaCwgYWxiZXJuLgoKTWFnIHNlaW4sIGRhc3MgaWNoIG1pdCBkaWVzZXIgQW5zaWNodCBhbGxlaW4gZGFzdGVoZSwgYWJlciBkaWVzIGlzdCBrZWluIElSQwpjaGFubmVsLCBzb25kZXJuIGVpbiBGYW50YXN5IE1VRCwgdW5kIE5hbWVuIHdpZSBUb2FzdGJyb3Qgc2luZCBqYSB3aXR6aWdlClNwaXR6bmFtZW4gZnVlciBMZXV0ZSBpbiBtZWluZXIgQ2xpcXVlLCBhYmVyIHNpZSB6ZXJzdG9lcmVuIGRpZSBBdG1vc3BoYWVyZSBzbwplZmZla3RpdiB3aWUgei5CLiBUZWNoTk8gYmVpbSBLZXJ6ZW5zY2hlaW4tRGlubmVyLi4uCgpOYW1lbiB3aWUgSm9mIHNpbmQgaW1tZXJoaW4gbmljaHQgQWxsdGFnc2JlemVpY2hudW5nZW4gd2llIG8uZy4gVG9hc3Ricm90LApub2NoIGlzdCAiSm9mIiBhdWYgZGllc2UgcHJhZXB1YmVydGFlcmUgV2Vpc2UgdnVsZ2Flciwgd2llICJGaWNrZnJvc2NoIi4KCkFiZXIgd2FzIHNvbGxzLCBqZXR6dCBpc3QgZXMgenUgc3BhZXQsIHVtIGVpbmUgTmFtZW5zcG9saXplaSBhdWZ6dWJhdWVuLCBobW0/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFtZW4gKE9ldHRpLCAyMy4gSmFuIDE5OTUsIDE3OjUyOjE5KToKSWNoIGJpbiBnZWdlbiBhbGxlcyAhIQoKTWVpbiBlcnN0aWUgaGVpc3N0IE9ldHRpLCBtZWluIFp3ZWl0aWUgRG9lcnRoZSB1bmQgbWVpbiBkcml0dGllIE9ldHRiYW5rLCBuYQpqYS4uLgoKSWNoIGZpbmRlIGVzIGxhbmdzYW0gVU4tRVItVFJBRUctTElDSCwgZGFzcyBtYW5jaGUgU3BpZWxlciBpaHJlIFBoYW50YXNpZSBpbgpkZXIgSG9zZSBiZWdyZW56dCBzZWhlbiwKdW5kIGRlcmVuIE5hbWVuc2dlYnVuZyBhdWNoIHNvIGF1c2ZhZWxsdCwgd28ga29tbWVuIHdpciBkZW5uIGRhIGhpbgpJY2ggZGVua2UgZG9jaCBpbiBlaW5lbSBNdWQgaGF0IE9yZG51bmcgenUgaGVycnNjaGVuIHVuZCB3ZW5uIGRpZXNlIE9yZG51bmcKbmljaHQKYXVmcmVjaHQgZXJoYWx0ZW4gd2lyZCwgZGFubiBNVVNTLCBpY2ggd2llZGVyaG9sZSBNVVNTIG1hbgpkYWdlZ2VuIGVpbnNjaHJlaXRlbiB1bmQgZGllc2UgU3BpZWxlciB1bWdlaGVuZCBsb2VzY2hlbi4KRGllc2VzIE11ZCBpc3QgZWluIE9yZGVudGxpY2hlcyBNdWQsIHVuZCB3ZW5uIG1pY2ggd2FzIHN0b2VydCwgZGFubgp3aXJkIGVzIGViZW4gYXVzZ2VncmVuenQsIGphYWFhYSwgc28gZWluZmFjaCBpc3QgZGFzLCB1bmQgbmljaHQgYW5kZXJzLgpVbmQgdWViZXJoYXVwdCBhbGwgZGllc2UgVnVsZ2FlcmVuIHVuZCB1bmJlcXVlbWVuIGxldXRlLCBkaWUgZGllCnNhdWJlcmVuIEthbmFlbGUgbWl0IGlocmVtIE11ZWxsIGVpbmR1ZW5zdGVuLCBkYXMgbXVzcyBlaW4KRW5kZSBoYWJlbiwgaWNoIGZpbmRlIHdpciBzb2xsdGVuIHZpZWwgZWhlciBUaGVtZW4gd2llCmxlYnQgZGVyIE5pa29sYXVzLCBvZGVyIHdhcnVtIGlzdCBkYXMgRmV1aWxsaW90b24gaW4gZGVyIEZBWiBmdWVyIG1pY2ggaGV1dGUKc28gYmV3ZWdlbmQsIERpc2t1dGllcmVuLgpJY2ggZmluZGUgbWFubiBtdXNzIGRpZSBTYWNoZSBkb2NoIGF1Y2ggZWluIHdlbmlnIGVybnN0IG5laG1lbiwgd28ga2FlbWVuIHdpcgpkZW5uIGRhIGhpbiwKd2VubiBkaWUgTGV1dGUgZWluZmFjaCBzb28gc3Bhc3MgaGFiZW4sIG5lIG5lIG5lICwgZGFzIGdlaHQgc29vbyBuaWNodAp3ZWl0ZXIsIGljaAp3ZXJkZSBtaWNoIHdlaXRlcmhpbiBmdWVyIGRpZSBSZWluZXJoYWx0dW5nIHVuZApkaWUgbW9yYWxpc2NoZSBzb3dpZSBkaWUgZ2Vpc3RpZ2Ugb3Bwb3J0dW5pdGFldCBkaWVzZSBNdWRzIGVpbnNldHplbiwgSmF3b2xsLgoKVG9hc3Ricm90IHVuZCBGaWNrZnJvc2NoIHVuZCBhbGxlIHdpZSBpaHIgZGEgaGVpc3N0IGlociBzZWlkIGVzCmRpZSB1bnNlcmUgS3VsdHVyIGRlbSBVbnRlcmdhbmcgbmFoZWJyaW5nZW4uLi4KCkdydXNzCgpPZXR0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9ldHRpIChZZW5kaSwgMjMuIEphbiAxOTk1LCAxODowMjowMSk6CgpXZXJkIGVyd2FjaHNlbiwgT2V0dGkuLi4gICAqbmFjaHNpY2h0aWdlciBTdWZ6ZXIqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJ3YWNoc2VuIChPZXR0aSwgMjMuIEphbiAxOTk1LCAxODoxMTowMyk6CkhtbW0sIGxpZXMgbWFsIGRlbiBrbGVpbmVuIFByaW56ZW4gdWViZXIgRXJ3YWNoc2VuIHVuZCBzby4uLgoKV2lsbCBzYWdlbiwgbmVlZSBpY2ggd2VyZCBuaWNodCBlcndhY2hzZW4sIFNPIG5pY2h0IDstKSkKCk9ldHRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJ3YWNoc2VuIChZZW5kaSwgMjMuIEphbiAxOTk1LCAxODoyNToxNSk6CiMhIHJuPU9ldHRpIHJ0PTc5MDg4MTA2MwoKT0ssIGZvcm11bGllcmVuIHdpciBlcyBhbmRlcnM6CgpBZXVzc2VyZSBkb2NoIGVpbmZhY2ggYmVncnVlbmRldGUsIGtvbnN0cnVrdGl2ZSBLcml0aWssCnNhcmthc3Rpc2NoZSBCZW1lcmt1bmdlbiBtYWNoZW4ga2FubiBpY2ggbWluZGVzdGVucyBzbyBndXQgd2llIER1LApkYXMgaXN0IG5pY2h0IHNjaHdlci4KCldlbm4gaWNoIERpY2ggcmVjaHQgdmVyc3RhbmRlbiBoYWJlLCB3ZW5kZXN0IER1IERpY2ggZ2VnZW4gamVkZSBGb3JtIHZvbgoqcmFldXNwZXIqIE5hbWVuLUdlU3RhUG8uCkRlaW4gZ3V0ZXMgUmVjaHQsIGFiZXIgaWNoIHRyYXVlcmUgaGFsdCBtYWNodGxvcyBkZW4gYWx0ZW4gWmVpdGVuIGhpbnRlcmhlciwKYWxzIGRpZSBMZXV0ZSBzaWNoIG5vY2ggQ2hhcmFrdGVyYmVzY2hyZWlidW5nZW4gYXVzIGVtb3RlcyBiYXN0ZWx0ZW4gKG1pdApzY2hldXNzbGljaGVtIFNhdHosIG5pY2h0IHdhaHIsIEVscmljIHVuZCBRdWFzaT8pLCBudXIgdW0gaWhyZSBGaWd1cmVuIG1pdAplaW4gd2VuaWcgbWVociBGYXJiZSB6dSB2ZXJzZWhlbi4gRGEgd3VyZGUgenVtIFRlaWwgYXVjaCBub2NoIHd1bmRlcmJhcgphbHRlcnR1ZW1saWNoIHBhcmxpZXJ0Li4uICpzZXVmeioKCkRpZSBOYW1lbndhaGwgaXMgamEgbmljaHQgbWVociBhbHMgZWluIEluZGl6IGZ1ZXIgZGllIGdlbmVyZWxsIGVpbmJyZWNoZW5kZQpTdGlsbG9zaWdrZWl0Li4uIEFiZXIgd2VubiBpY2ggRGVpbmVuIEFydGlrZWwga29ycmVrdCBpbnRlcnByZXRpZXJlLCBkYW5uIGlzdApEaXIgX2Rhc18gc293aWVzbyBlZ2FsLCBvZGVyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphLi4uIChPZXR0aSwgMjMuIEphbiAxOTk1LCAxODozNzoyMik6CkhtbSBtZWluIENoYXJha3RlciBoYXQgbmUgcmVjaHQgYXVzZnVlaHJsaWNoZSBCZXNjaHJlaWJ1bmcKRGllIGhhYiBpY2ggbWlyIHNlbGJlciBhdXNnZWRhY2h0LCB1bmQgaWNoIG1hZyBzaWUgYXVjaCwKYWJlciB3YXMgYW5kZXJlIExldXRlIG1hY2hlbiBkYXJhdWYgbmVobWUgaWNoIGtlaW5lbiBFaW5mbHVzcwp1bmQgZXJ3YXJ0ZSwgZGFzcyBzaWUgZXMgYXVjaCBiZWkgbWlyIGluIGdld2lzc2VuIEdyZW56ZW4gdW50ZXJsYXNzZW4KSWNoIHdvbGx0ZSBnYXIgbmljaHQgZGlza3V0aWVyZW4sLCBvZGVyIHNvIHdhcywgbnVyCndlbm4gbGV1dGUgbWl0IFphcHBlbiB1bmQgU2VsYnN0bG9lc2NodW5nIGFuZmFuZ2VuLCBzb3dhcwpwYXNzdCBtaXIgbmljaHQsIHVuZCB3ZW5uIGljaCBkYW5uIG5vY2gKbGVzZSwgcHJhcHViZXJ0YWVyZSB2dWxnYXJpdGFldCwgZGFzcyBpc3QgZnVlciBtaWNoCmVpbiBoaWxmbG9zZXMgdW5kIGV0d2FzIGR1ZW1tbGljaGVzIEFyZ3VtZW50IG5hY2ggZGVtCk1vdHRvLCBpY2ggdHJlZmZlIGV1Y2ggYmVpIGV1cmVyIEVpdGVsa2VpdApJaHIgc2VpZCBkb29mIHVuZCBLaW5kaXNjaCB1bmQgbGFuZ2UgbmljaHQgc28gZXJ3YWNoc2VuIHdpZSBXSVIuCkhtbSwgamVkZXJtYW5ucyBTYWNoZSwgYWJlciB3ZW5uIGljaCBzb3dhcyBsZXNlLApkYW5uIGFudHdvcnRlIGljaCBhdWNoIGluIGRlbSBTdGlsLCBkYXMgaWNoIGFuZGVyZSBMZXV0ZSB0cmVmZmUsCnNjaGVpbnQgamEgZWluaWdlcm1hc3NlbiBmdW5rdGlvbmllcnQgenUgaGFiZW4sIGljaCB3b2xsdGUKbmljaHQgZGVuIFZlcmdsZWljaCBtaXQgaXJnZW5kZWluZXIgR0VTVEFQTyB6aWVoZW4sCkFjaCB3YXMgc29sbHMsIG1laW4gTW90dG8gOgpKZWRlciBKZWNrIGlzIGFuZGVycywgdW5kIHNvIGlzdCBlcyBzY2hvZW5lciB1bmQgYWJ3ZWNoc2x1bmdzcmVpY2hlcgp1bmQgaWNoIGhhYiB3YXMgenUgbGFjaGVuIG1pdCBkZW4gb3JpZ2luZWxsZW4gTHVldGVuLCBkYXMgcmVpY2h0Cm1pcgpFTkRFCgpPZXR0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEphLi4uIChZZW5kaSwgMjMuIEphbiAxOTk1LCAxOTowNDozNCk6CiMhIHJuPU9ldHRpIHJ0PTc5MDg4MjY0MgoKSWNoIG1vZWNodGUgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBfaWNoXyBuaWNodCBtaXQgInphcHBlbiIgdW5kCiJTZWxic3Rsb2VzY2h1bmciIGFuZ2VmYW5nZW4gaGFiZSwgb2J3b2hsIGljaCBkaWUgTW9lZ2xpY2hrZWl0IGVpbmVyCk5hbWVuc2FlbmRlcnVuZyBkdXJjaGF1cyBiZWZ1ZXJ3b3J0ZTsgc2NobGllc3NsaWNoIGZhZWxsdCBuaWNodCBqZWRlbSBiZWltCmVyc3RlbiBFaW5sb2dnZW4gZ2xlaWNoIF9kZXJfIHRvbGxlIFd1bnNjaG5hbWUgZWluLgoKWnVyICJwcmFlcHViZXJ0YWVyZW4gVnVsZ2FyaXRhZXQiOiBFaW5pZ2UgZGVyIEtpZHMgaW4gbWVpbmVtIENvbXB1dGVya3Vycwp3dWVyZGVuIHNpY2ggdmVybXV0bGljaCBtaXQgZWluZW0gRnJldWRlcXVpZXRzY2hlbiAiU29kb21pc3QiIG9kZXIgIlRvYXN0YnJvdCIKbmVubmVuIC0gaWNoIGZpbmRzIGhhbHQga2luZGlzY2guCgpOYjogSWNoIGhhZXR0ZSBuaWNodCAid2VyZCBlcndhY2hzZW4iIHNjaHJlaWJlbiBzb2xsZW4gKHNjaGxpZXNzbGljaCBiaW4gaWNoCmF1Y2ggbm9jaCBuaWNodCAiZXJ3YWNoc2VuIiwgdW5kIHdlcmRlIGVzIGhvZmZlbnRsaWNoIGF1Y2ggbmllKSwgc29uZGVybiAic2VpCm5pY2h0IGtpbmRpc2NoIiAoaW0gR2VnZW5zYXR6IHp1ICJraW5kbGljaCIsIHdvaGxiZW1lcmt0KS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IChFbHJpYykgKEFjcmltb24sIDIzLiBKYW4gMTk5NSwgMTk6MjM6NDgpOgojISBybj1ZZW5kaSBydD03OTA4NzgyMjkKSG1tbS4uLiBJY2gga2FubiBkZW4gTmFtZW4gIkpvZiIgbmljaHQgbWl0IGVpbmVtIG1pciBpcmdlbmR3aWUgYmVrYW5udGVuIFNpbm4KdmVyYmluZGVuLgpJc3Qgd2FocnNjaGVpbmxpY2ggYXVjaCBiZXNzZXIgc28gOi0pCgpHcnUsCkFjcmltb24KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphLi4uIChEdXJpYW4sIDI0LiBKYW4gMTk5NSwgMDk6NDU6MzcpOgojISBybj1ZZW5kaSBydD03OTA4ODQyNzQKSXN0IGpldHp0IGd1dD8gV2lyIGhhYmVuIGF1Y2ggZWluIFBvc3RzeXN0ZW0gdW5kIGljaCBiaW4gbWlyIG5pY2h0IHNpY2hlciwKb2IgZGllc2UgRGlza3Vzc2lvbiB6d2lzY2hlbiBFdWNoIGJlaWRlbiB3aXJrbGljaCBhbGxlIGludGVyZXNzaWVydC4KV2VubiBqZWRlciB2b24gdW5zIHNlaW5lbiBwcml2YXRlbiBUd2lzdCBpbiBkZXIgWmVpdHVuZyBhdXN0cmFnZW4gd3VlcmRlLAp3YWVyZSBzaWUsIGdsYXViZSBpY2gsIHJhcHBlbGRpY2tlIHZvbGwhCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1ZyBpbiBSdWJyaWsgU3R1ZmVuID8hPyAoQ2FyYWRocmFzLCAyOC4gSmFuIDE5OTUsIDAxOjMyOjAzKToKIyEgcm49UGlsZ3JpbSBydD03OTEyNTA2NDEKQXJpZW4gaXN0IGpldHp0IHNvZ2FyIFN1cHBlbnd1ZXJmbGVyaW5lIDopCk9kZXIgTWFyZ2FyaW5lLCB3aWUgbWFuIGF1Y2ggenUgc2FnZW4gcGZsZWd0LgoKICAgICBUc2Nob2UgOikKCiAgIENhcmFkaHJhcyAtIHNpbmd0IGVpbiBrb21pc2NoZXMgTGllZCAiTWFnZ2llLCBpbW1lciBlaW5lIGd1dGUgU3VwcGUgLi4uIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmx1Y2h0cmljaHR1bmcgKEJhbWJ1bGtvLCAyOC4gSmFuIDE5OTUsIDA1OjE1OjM1KToKSHVodS4uCgpXYXMgaXN0IGRlbiBoZXV0ZSBtaXQgbWVpbmVyIEZsdWNodHJpY2h1bmcgbG9zID8/IEljaCBiaW4gaGV1dGUgendlaW1hbCB0cm90egpWb3JzaWNoIDE0MCBtaXQgZWluZXIgTFAgWmFobCB2b24gMTUgbmljaHQgZ2VmbG9oZW4uLi4uZGFzIHp3ZWl0ZSBtYWwgaGF0IGVzCm1pY2ggYW0gR29ib0hleGVyIHplcmZldHp0Li4uCkRhIGthbm4gZG9jaCBpcmdlbmRldHdhcyBuaWNodCBzdGltbWVuLi4uCgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZsdWNodHJpY2h0dW5nIChTdGFobGRvcm4sIDI5LiBKYW4gMTk5NSwgMTc6Mjk6MDEpOgojISBybj1CYW1idWxrbyBydD03OTEyNjY1MzUKSHVodS4uCgpJY2ggaGF0dGUgYW0gRG9ubmVyc3RhZyBkYXNzZWxiZSBhdWNoIHp3ZWltYWwuIERhcyBlcnN0ZSBtYWwgYmVpbSBMaWNoCihvYndvaGwgbWlyIGRhIGdlc2FndCB3dXJkZSwgZGFzIHNlaSBlaW4gZmllc2VyIExpY2gtc3BlemlmaXNjaGVyIFRyaWNrKSB1bmQKZGEgYmluIGljaCBhdWNoIGRyYXVmZ2VnYW5nZW4uIERhcyB6d2VpdGUgbWFsIHdhcnMgaW4gTW9yb24sIGRhIGhhYiBpY2gKZ2FhYWFueiBrbmFwcCB1ZWJlcmxlYnQuIEFiZXIgZ2VnbGF1YnQgaGF0IG1pcnMga2VpbmVyLi4uCgoKICAgICAgICAgICBTVEFITC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZsdWNodHJpY2h0dW5nIChXYXJsb3JkLCAyOS4gSmFuIDE5OTUsIDE4OjQwOjA1KToKIyEgcm49R3JpbW1ib3JuIHJ0PTc5MTM5ODUzNQpBbHNvIG1pciBpc3QgZXMgR2VzdGVybiBiZWkgZGVuIFp3ZXJnZW53YWVjaHRlcm4gKHd1bmRlcnRlIG1pY2gsIHdhcnVtIGljaApzb2xhbmdlIGR1cmNoIGhpZWx0KSB1bmQgaGV1dGUgaW0gT3JrbGFnZXIgYXVjaCBwYXNzaWVydCwgZGFzIGF1ZiBlaW5tYWwgZGllClZvcnNpY2h0IGF1c3NldHp0ZS4gSGFiZSBzaWUgZGFubiB3aWVkZXIgbmV1IGdlc2V0enQgdW5kIGRhbmNoIGZ1bmt0aW9uaWVydGUKc2llIHdpZWRlci4KSW0gdWVicmlnZW4gQm9pbmcgd2FyIGF1Y2ggcmF0bG9zIC4uLgoKCVdhcmxvcmQsIGRlciBWb3JzaWNodGlnZSAob2RlciBhdWNoIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmx1Y2h0cmljaHR1bmcgKFN0YWhsZG9ybiwgMjkuIEphbiAxOTk1LCAxODo1NDo0OSk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTEzOTg1MzUKTmVpbi4gQmFtYnVsa28gaGF0IGlycnR1ZW1saWNoIEZsdWNodHJpY2h0dW5nIHN0YXR0IFZvcnNpY2h0IGdlc2NocmllYmVuLiBJQ0gKaGFiIFZvcnNpY2h0IGdlbWVpbnQuCgooaWNoIHVuZCBzb3dhcyB2ZXJidWNoc2Vsbi4uLikKCiAgICAgICAgIFNUQUhMLiAgICA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGbHVjaHRyaWNodHVuZyAoUmF5LCAzMC4gSmFuIDE5OTUsIDEwOjA1OjExKToKIyEgcm49U3RhaGxkb3JuIHJ0PTc5MTM5Njk0MQphdWNoIGRlciBzY2hsYW1tZHJhY2hlIHNldHp0IHplaXR3ZWlzZSBkaWUgdm9yc2ljaHQgYXVzc2VyIGtyYWZ0Li4uCmF1Y2ggemllbWxpY2ggdG9lZGxpY2ggOi0oCgogICAgICAgcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGbHVjaHRyaWNodHVuZyAoQmFtYnVsa28sIDMwLiBKYW4gMTk5NSwgMTA6MzY6MTkpOgojISBybj1HcmltbWJvcm4gcnQ9NzkxMzk4NTM1CkljaCBtZWludGUgVm9yc2ljaHQgdW5kIGRlciBIZXhlciBoYXQgZGllIFZvcnNpY2h0IGJlaSBtaXIgbm9jaCBuaWUgdW1nZWhlbgprb2VubmVuLgpJY2ggYmluIHNvbnN0IGltbWVyIG1pdCBtaW5pbWFsIDUwIGxwJ3MgZ2VmbG9oZW4uLi4uLi51bmQgYW0gRnJhaXRhZyBoYWJlIGljaAplaW5tYWwgbWl0IDE1IGxwJ3MgZW5kZSBnYW1hY2h0LCBiaW4gZWlubWFsIGdlc3RvcmJlbiB1bmQgYmluIGRhbm4gbm9jaG1hbCBtaXQKNSBscCdzIGdlZmxvaGVuLi4uLi4KQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4uLndhcnVtIHNpbmQgZGllIFJ1YnJpa2VuIGVpZ2VudGxpY2ggc28gdm9sbD8/PyAoUm9uZGEsIDMwLiBKYW4gMTk5NSwgMTU6MzU6NTcpOgpXYWVyZSBlcyB2aWVsbGVpY2h0IG1vZWdsaWNoLCBtYWwgaW4gZGVuIFJ1YnJpa2VuIGF1Znp1cmFldW1lbj8gSW4gRXRpa2V0dGUKc2luZCB6dW0gQmVpc3BpZWwgVGV4dGUgdm9tIDEwLjguMTk5NCBkcmluLi4uIGlzdCBkYXMgbm9ldGlnPyBLb2VubnRlbiBBcnRpa2VsCm5hY2ggZWluaWdlciBaZWl0IG5pY2h0IGVpbmZhY2ggZ2Vsb2VzY2h0IHdlcmRlbj8gT2RlciBtYW4gc2VsYnN0IGJlc3RpbW1lbiwKd2FubiBhbGxlIGVpZ2VuZW4gQXJ0aWtlbCBnZWxvZXNjaHQgd2VyZGVuPyBTbyBuYWNoIGRlbSBNb3R0bzogS2lsbCBkaWVzZW4KQXJ0aWtlbCBhbSAyOC4yLjE5OTU/IEhpZXJtaXQgZHVlcmZlbiBhbGxlIE1hZ2llciBkaWVzZW4gQXJ0aWtlbCBhbiBkaWVzZW0KRGF0dW0gbG9lc2NoZW4gOikKVmllbCBTcGFzcyBiZWltICJlbnRwb3N0ZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmx1Y2h0cmljaHR1bmcgKEFzbW9kaXMsIDMwLiBKYW4gMTk5NSwgMTU6NTM6NDApOgojISBybj1CYW1idWxrbyBydD03OTE0NTg1NzkKV2VubiBkdSBWb3JzaWNodCA1MCBlaW5nZXN0ZWxsdCBoYXN0LCB1bmQgZGVyIEhleGVyIGVpbmVuIEZldWVyYmFsbCB3aXJmdCwKZGVyIGRpciAxMDAgTFAgYWJ6aWVodCwga2FubiBlcyBzY2hvbiBzZWluLCBkYXNzIGR1IHNvIGVpbmZhY2ggc3RpcmJzdCA6KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmx1Y2h0cmljaHR1bmcgKEJhbWJ1bGtvLCAzMC4gSmFuIDE5OTUsIDE2OjAyOjI3KToKIyEgcm49QXNtb2RpcyBydD03OTE0Nzc2MjAKSWNoIGhhdHRlIFZvcnNpY2h0IDE0MCBuaWNodCA1MApCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmx1Y2h0cmljaHR1bmcgKEhhciwgMzAuIEphbiAxOTk1LCAxNzoxOToxMCk6CiMhIHJuPUFzbW9kaXMgcnQ9NzkxNDc3NjIwClRqYSwgZGVtIGthbm4gaWNoIG51ciB6dXN0aW1tZW4gOigoCkhhciAoc2Nob24gZWluaWdlIE1hbGUgYW0gSGV4ZXIgZ2VzY2hlaXRlcnQuLi4gOykgICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZsdWNodHJpY2h0dW5nIChCYW1idWxrbywgMzAuIEphbiAxOTk1LCAxNzoyMzowNCk6CiMhIHJuPUhhciBydD03OTE0ODI3NTAKSWhyIHNvbGx0ZXQgZXVjaCBkaWUgQXJ0aWtlbCBtYWwgZHVyY2hsZXNlbiBpY2ggYmluIG1pdCBWb3JzaWNodCAxNDAgcmVpbiB1bmQKaW1tZXIgbWl0IG1pbmRlc3RlbnMgNTAgZ2VmbG9oZW4gdW5kIG5pY2h0IG1pdCBWb3JzaWNodCA1MCByZWluLi4uZGFubiBpc3QKa2xhciwgZGFzcyBtYW4gc3RpcmJ0Li4uCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGbHVjaHRyaWNodHVuZyAoQ2FyYWRocmFzLCAzMC4gSmFuIDE5OTUsIDE4OjI5OjQ1KToKIyEgcm49QmFtYnVsa28gcnQ9NzkxNDgyOTg0CkJhbWJ1bGtvIGhhdCByZWNodC4gRWluIE1vbnN0ZXIsIGRhcyBtYW4gZ2V3b2hudCBpc3QsIHNvbGx0ZSBuaWNodCBhdWYKZWlubWFsIG5lIGFuZGVyZSBWb3JnZWhlbnN3ZWlzZSBoYWJlbi4gWkIgZGFzcyBlcyB2b3JoZXIgbmljaHQgcGFyYWx5c2llcnQKdW5kIGF1ZgplaW5tYWwgZGFubiBwYXJhbHlzaWVydC4gRGVubiBpcmdlbmR3aWUgbXVzcyBtYW4gYXVjaCBhdWYgZGFzIHZlcnRyYXVlbgprb2VubmVuLAp3YXMgaW4gdmVyZ2FuZ2VuaGVpdCBwYXNzaWVydCBpc3QuCgpCYW1idSBoYXQgcmVjaHQgbWl0IGRlbSB3YXMgZXIgc2FndGUsIGljaCBoYWIgbWlyIHNlaW4gbG9nIGFuZ2VrdWNrdCwKZGFzIGVyIG1pciBrdXJ6IG5hY2ggc2VpbmVyIEZsdXNzIG1pdCA1IExQIGdlc2NoaWNrdCBoYXQsIGJlaSBWb3JzaWNodCAxNDAKa2FubiBlcyB3aXJrbGljaCBuaWNodCBzZWluIG9obmUgZWluIGJ1ZyBpbiB2b3JzaWNodCAob2RlciBpbSBIZXhlcikKCiAgICAgICAgICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmx1Y2h0cmljaHR1bmcgKEJhbWJ1bGtvLCAzMC4gSmFuIDE5OTUsIDE4OjMxOjU4KToKIyEgcm49Q2FyYWRocmFzIHJ0PTc5MTQ4Njk4NQpEYW5rZSBDYXJhIQpFbmRsaWNoIGplbWFuZCBkZXIgbWljaCB2ZXJzdGVodC4uLi4uCgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmx1Y2h0cmljaHR1bmcgKENhcmFkaHJhcywgMzAuIEphbiAxOTk1LCAxODozNDowNik6CiMhIHJuPUNhcmFkaHJhcyBydD03OTE0ODY5ODUKVXBwcywgRmx1Y2h0IG5hdHVlcmxpY2gsIG5pY2h0IEZsdXNzLi4uIGV0d2FzIHVuZm9ybWF0aWVydApiZWkgZGVtIHZpZWxlbiBnZXNjcm9sbGUuLiAqZ3J1ZWJlbCogRGFzIG5hZWNoc3RlIE1hbCB3aXJkcyBiZXNzZXIuCgogICAgICAgIHRzY2hvZSAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRmx1Y2h0cmljaHR1bmcgKFphcmRveiwgMzAuIEphbiAxOTk1LCAxOTowMDo1NCk6CiMhIHJuPUNhcmFkaHJhcyBydD03OTE0ODcyNDYKV2llIGtvbW10IGlociBhbGxlIGRhcmF1ZiwgZGFzcyBkZXIgSGV4ZXIgZ2VhZW5kZXJ0IHd1cmRlPwpTZWh0IHNlbGJlcj4KLXIteCBlYmVuZSAgICAgICBzeXMgICAgICAgICAgNDI5MCAyMi4gSnVuLCAyMDo1MyBnaGV4ZXIuYwpjaWFvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRmx1Y2h0cmljaHR1bmcgKEJhbWJ1bGtvLCAzMC4gSmFuIDE5OTUsIDE5OjAzOjE1KToKIyEgcm49WmFyZG96IHJ0PTc5MTQ4ODg1NApJY2ggc2FnZSBqYSBuaWNodCwgZGFzcyBkZXIgSGV4ZXIgZ2VhZW5kZXJ0IHd1cmRlIHNvbmRlciBudXIgZGFzcyBtZWluZQpWb3JzaWNoIHZlcnNhZ3QgaGF0LgpCQU1CVUxLTwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZsdWNodHJpY2h0dW5nIChLcmV0ZWssIDMwLiBKYW4gMTk5NSwgMjA6NTg6MjYpOgojISBybj1CYW1idWxrbyBydD03OTE0ODg5OTUKVGphLCB1bmQgYmVpIGRpZXNlciBnYW56ZW4gRGlza3Vzc2lvbiBmcmFndCBtYW4gc2ljaCBkYW5uIG51ciBub2NoIGVpbnM6CkxldXRlLCBtdWVzc2VuIGRpZXNlIGdhbnplbiBFaW4tIG9kZXIgWndlaXplaWxlciBpbiBkZXIgTVBBIGRlbm4gd2lya2xpY2gKc2Vpbj8gSWNoIG1laW5lLCBzaWNoZXIsIGRhcyBpc3QgZnVlciBqZWRlbiAoYXVzc2VyIExldmVsIDwxMCkgYXVjaAp3aXJrbGljaCBpbnRlcmVzc2FudCwgYWJlciBpY2gga2FubiBtaXIgdm9yc3RlbGxlbiwgZGFzcyBzbyB3YXMgZG9jaCBtaXQKU2ljaGVyaGVpdCB6aWVtbGljaCB2aWVsIFNwZWljaGVyIGJlbGVndC4KRGVzd2VnZW4gamV0enQgbWFsLCBudXIgYWxzIFZvcnNjaGxhZzogV2llIHdhZXJlIGVzLCB3ZW5uIG1hbgpzbyB3YXMgdW50ZXJlaW5hbmRlciBhdXNkaXNrdXRpZXJ0IC0gc2VpIGVzIHVlYmVyIE1haWwgb2RlciBkaWUgRWJlbmVuIC0KdW5kIGRhbm4sIHdlbm4gZGFzIFByb2JsZW0gbWVociBvZGVyIHdlbmlnZXIgZ2VrbGFlcnQgaXN0LCBlaW5lbgp6dXNhbW1lbmZhc3NlbmRlbiBBcnRpa2VsIGhpZXIgaW4gZGVyIE1QQSB2ZXJvZWZmZW50bGljaD8gRGFkdXJjaCB3YWVyZW4KZGllIGVpbnplbG5lbiBJbmZvcyBkYW5uIGVyc3RlbnMgbmljaHQgdWViZXIgMjAgUmVwbHlzIHZlcnRlaWx0LCB6d2VpdGVucwp3YWVyZSBkaWUgUnVicmlrIG5pY2h0IGdsZWljaCB6dWdlbXVlbGx0Li4uCgpNaXQgZWluZW0gZnJldW5kbGljaGVuICJOaWNodCBoYXVlbiEiLAoKS3JldGVrCjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZmZlbmVyIEJyaWVmIGFuIFJ5bmU7IEJldHIuIFNlaGVyaGFldXNlciAoRnJ5ZGVyLCAzMS4gSmFuIDE5OTUsIDA5OjQ1OjQzKToKSWNoIHN0ZWhlIHZvciBkZXIgRmVydGlnc3RlbGx1bmcgbWVpbmVzIFNlaGVyaGF1c2VzIHVuZCBoYWJlIGRlc2hhbGIgaW4gZGVuCmxldHp0ZW4gVGFnZW4gdmVyc3VjaHQsIGFsbGUgZmVydGlnZW4gSGFldXNlciBhYnp1a2xhcHBlcm4gdW5kIG1pciBBbnJlLQpndW5nZW4gaGluc2ljaHRsaWNoIGRlciBCZXNjaHJlaWJ1bmcgenUgaG9sZW4uIExlaWRlciBtdXNzdGUgaWNoIHNlaHIgb2Z0Cm5hY2ggbGFuZ2VtIExhdWZlbiB1bmQgU3VjaGVuIGxlZGlnbGljaCBSb2hiYXV0ZW4gdW5kIGxhbmd3ZWlsaWdlIFRlc3RyYWV1LQptZSB2b3JmaW5kZW4uIEVzIGVyc2NocmVja3QgbWljaCwgZGFzcyB2aWVsZSBpaHIgSGF1cywgZGFzIHVyc3BydWVuZ2xpY2gKYWxzIHp1c2FldHpsaWNoZSBBdHRyYWt0aW9uIGZ1ZXJzIE1HIGdlZGFjaHQgd2FyLCBsZWRpZ2xpY2ggYWxzIFJhZmZidW5rZXIKZnVlciBpaHJlIDI1KyBCUy1TY2h3ZXJ0ZXIgYW5zZWhlbi4gQWJlciBkYXp1IHN0ZWh0IG1pciBrZWluIFVydGVpbCB6dTsKamVkZXIgaXN0IGluIGRlciBCZXNjaHJlaWJ1bmcgZnJlaS4KCkljaCBtb2VjaHRlIERpY2ggbnVyIGJpdHRlbiwgaW4gZGVyIExpc3RlIGRlciBTZWhlcmhhZXVzZXIgZWluZW4ga2xlaW5lbgpadXNhdHogYW56dWZ1ZWdlbiwgb2IgZGFzIGpld2VpbGlnZSBIYXVzIGJlc2NocmllYmVuLCBkZXRhaWxpZXJ0IGJlc2NocmllLQpiZW4gb2RlciBuaWNodCBiZXNjaHJpZWJlbiBpc3QuIERpZSBMaXN0ZSBpc3QgZWggbnVyIGZ1ZXIgTGV1dGUsIGRpZSBJbnRlLQpyZXNzZSBhbiBkZW4gU2VoZXJoYWV1c2VybiBoYWJlbjsgdW5kIGljaCBkZW5rZSBuaWNodCwgZGFzcyBlcyBpbiBkZXJlbgpTaW5uZSBpc3QsIGluIGRlciBHZWdlbmQgaGVydW16dWxhdWZlbiB1bmQgbnVyIGVpbnN0dWVyemVuZGUgUm9oYmF1dGVuIHZvci0KenVmaW5kZW4uIERhcyB3YWVyZSB2aWVsbGVpY2h0IGF1Y2ggYW4gQW5yZWl6IGZ1ZXIgZGllIFNlaGVyLCBkaWUgc2ljaCBub2NoCm5pY2h0IHp1IGVpbmVyIEJlc2NocmVpYnVuZyBhdWZyYWZmZW4ga29ubnRlbiwgZGllc2UgamV0enQgdm9yenVuZWhtZW4uCgpXZW5uIG1hbiBpbiBkaWVzZSBSaWNodHVuZyB3ZWl0ZXJkZW5rdCBrb2VubnRlIG1hbiBzaWNoIHZpZWxsZWljaHQgYXVjaAp2b3JzdGVsbGVuLCBlaW5lIEp1cnJ5IHp1c2FtbWVuenVzdGVsbGVuIHVuZCBlaW5lbiBXZXR0YmV3ZXJiIHp1IHN0YXJ0ZW4sCmluIGRlbSBkaWUgc2Nob2Vuc3RlbiBCZXNjaHJlaWJ1bmdlbiBkZXIgSGFldXNlciBwcmFlbWllcnQgd2VyZGVuLiBJY2gKbWVpbmUsIGFtIFByZWlzLCBkZW4gTWFnaWVyIGZ1ZXIgZGllIHNjaG9lbnN0ZW4gSGFldXNlciBhdXNzZXR6ZW4ga29lbm50ZW4sCnNvbGx0ZSBuaWNodCBnZXNwYXJ0IHdlcmRlbiwgei5CLiB6dXMuIFJhZXVtZSBvLmFlLi4gU2NobGllc3NsaWNoIGJlc3RpbW1lbgpkaWUgU2VoZXJoYWV1c2VyIHVuc2VyIE1HLCBzcHJpY2ggdW5zZXJlIFVtZ2VidW5nLCB6dSBlaW5lbiBuaWNodCB1bmJlZGV1LQp0ZW5kZW0gVGVpbCBtaXQgdW5kIGljaCBsZWJlIGxpZWJlciBpbiBlaW5lciBidW50ZW4gdW5kIHBoYW50YXNpZXZvbGwgZ2UtCnN0YWx0ZXRlbiBXZWx0LCBhbHMgendpc2NoZW4gbGllYmxvcyBoaW5nZWtsb3R6dGVuIEJldG9ua2xvZXR6ZW4uCgpVZWJyaWdlbnMsIGZ1ZXIgZGllIExpc3RlOiBNZWluIEhhdXMgd2lyZCBpbiBkZW4gbmFlY2hzdGVuIFRhZ2VuIGltIE5vcmRlbgp2b24gU3ZvbHZhZXIgc3RlaGVuIHVuZCBkZXRhaWxpZXJ0IGJlc2NocmllYmVuIHNlaW4uCgpNYXJrIEZyeWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZsdWNodHJpY2h0dW5nIChSdWRpcmF0dGVyLCAzMS4gSmFuIDE5OTUsIDA5OjQ4OjUxKToKIyEgcm49WmFyZG96IHJ0PTc5MTQ4ODg1NApaYXJkb3osIGluIGRlciBNYXRoZW1hdGlrIG5lbm50IG1hbiBzbyB3YXM6CkJld2VpcyBkdXJjaCBWZXJ3aXJydW5nIGRlciBMZXNlci4gOy0pKQpSdWRpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9mZmVuZXIgQnJpZWYgYW4gUnluZTsgQmV0ci4gU2VoZXJoYWV1c2VyIChCb2luZywgMzEuIEphbiAxOTk1LCAxMTowMjozNCk6CiMhIHJuPUZyeWRlciBydD03OTE1NDE5NDMKRGFzIG1pdCBkZW0gV2V0dGJld2VyYiBoYWx0ZSBpY2ggZnVlciBlaW5lIHNlaHIgc2Nob2VuZSBJZGVlIQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2ZmZW5lciBCcmllZiBhbiBSeW5lOyBCZXRyLiBTZWhlcmhhZXVzZXIgKFdhcmdvbiwgMzEuIEphbiAxOTk1LCAxMTowNjozMCk6CiMhIHJuPUZyeWRlciBydD03OTE1NDE5NDMKKmdyaW5zKiBUb2xsZSBJZGVlLCBzbyBlaW4gV2V0dGJld2VyYi4KVW5kIGRpZSBhbSB3ZW5pZ3N0ZW4gZWluZ2VyaWNodGV0ZW4gSGFldXNlciBiZWtvbW1lbiBhbHMKUHJlaXMgZGllIFN0YWVobGVybmUgQWJyaXNzYmlybmUgKGRlciBIYXVzbWVpc3RlciBmcmV1dApzaWNoIHNjaG9uIDspCiAgVHNjaHVlc3MsCiAgICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2ZmZW5lciBCcmllZiBhbiBSeW5lOyBCZXRyLiBTZWhlcmhhZXVzZXIgKEJvaW5nLCAzMS4gSmFuIDE5OTUsIDExOjA4OjM3KToKIyEgcm49V2FyZ29uIHJ0PTc5MTU0Njc5MApUb2xsZSBJZGVlLCBXYXJnb24hIERhbm4ga2FubiBtYW4gZW5kbGljaCBkYXMgSGF1cyB2b24gS2xpbmdlIGFicmVpc3NlbiEKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPZmZlbmVyIEJyaWVmIGFuIFJ5bmU7IEJldHIuIFNlaGVyaGFldXNlciAoR3VuZHVyLCAzMS4gSmFuIDE5OTUsIDEzOjM1OjUyKToKIyEgcm49Qm9pbmcgcnQ9NzkxNTQ2NTU0CkFsc28gaWNoIGZpbmQgZGllIElkZWUgYXVjaCBzdXBlci4ud3VlcmRlIG1pY2ggYXVjaCBhbHMgVGVpbCBkZXIgSnVyeSB6dXIKdmVyZnVlZ3VuZyBzdGVsbGVuIDotKQpHdW51ZHIKZ3JtYmwgZGFzIHNvbGx0ZSBHdW5kdXIgaGVpc3NlbjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lbnNnZWJ1bmcgKEx1ZWhueSwgMzEuIEphbiAxOTk1LCAxNDoyMzo0Myk6CkljaCBoYWx0ZSBkaWUgZ2FuemUgRGlza3Vzc2lvbiBmdWVyIHVlYmVyZmx1ZXNzaWchCkRpZSBOYW1lbiAoRmlja2Zyb3NjaCwgS290emJyb2NrZW4pIHNpbmQgbnVuIG1hbCBlaW5nZWdlYmVuLi4uCldlbm4gZGllIGVudHNwcmVjaGVuZGVuIFNwaWVsZXIgc2ljaCBtaXQgZGllc2VuIE5hbWVuIGlkZW50aWZpemllcmVuLi4uIE5hLApiaXR0ZSEKSWNoIGhhbHRlIHNpZSBhdWNoIGZ1ZXIgZWluZmFsbHNsb3MgYWJlciBlcyBpc3Qga2VpbmUgTG9lc3VuZywgZGllIHp1CmxvZXNjaGVuIQpNYW4ga2FubiBpaG5lbiBqYSB2aWVsbGVpY2h0LCB3ZW5uIGRhcyBtb2VnbGljaCBpc3QsIGRhcyBBbmdlYm90IG1hY2hlbiwgaWhyZQpOYW1lbiBpbiBldHdhcyBzdGlsdm9sbGVyZXMgenUgYWVuZGVybiEKQXVzc2VyZGVtIHdhZXJlIGVpbmUgTWVzc2FnZSBiZWltIGVpbmxvZ2dlbiBqYSBhdWNoIGdhbnogc2lubnZvbGwgb2RlciE/CgpMdWVobnksIGRlciBzaWNoIGZ1ZXIgc2VpbmVuIGRhZW1saWNoZW4gTmFtZW4gZW50c2NodWxkaWd0ISA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXJoYXVzd2V0dGJld2VyYiAoQ2F0d2VhemxlLCAgMS4gRmViIDE5OTUsIDEwOjA4OjU0KToKU3RpbW10LCBkaWUgSWRlZSBpc3QgdG9sbCEKQWxzbywgbWFjaGVuIHdpciBkYXMgZG9jaCBtYWwgZmVzdC4KSWNoIHd1ZXJkZSBzYWdlbiwgMiAxLzIgV29jaGVuIHp1bSBiZXNjaHJlaWJlbiByZWljaGVuLCBhbHNvIGFsbGUgZGllCm1pdG1hY2hlbiB3b2xsZW4sIHNvbGx0ZW4gaWhyIEhhdXMgYmlzIHp1bSAwMS5NYWVyeiBmZXJ0aWcgYmVzY2hyaWViZW4KaGFiZW4uIEljaCB3YWVobGUgZGVuIFRlcm1pbiBzbyBzcGFldCwgd2VpbCBXYXJnb24gYmlzIGRhaGluIG5vY2ggZWluCnBhYXIgZXh0cmEgRnVua3Rpb25lbiBlaW5nZWJhdXQgaGF0LCBkaWUgZGFubiBhdWNoIHp1ciBIYXVzYmVzY2hyZWlidW5nCmJlbnV0emJhciBzaW5kLgpNaXRtYWNoZW4ga29lbm5lbiBhbGxlIFNlaGVyIG1pdCBIYXVzYmVzaXR6LiBXZXIgbWl0bWFjaHQsIHNvbGx0ZSBiaXMKZGFoaW4gZGFubiBhYmVyIGF1Y2ggd2lya2xpY2ggQUxMRSBSYWV1bWUgc2VpbmVzIEhhdXNlcyBiZXNjaHJpZWJlbiBoYWJlbi4KSGFsYmZlcnRpZ2UgSGFldXNlciB3ZXJkZW4gbmljaHQgcHJhZW1pZXJ0LgpXZXIgbWl0bWFjaGVuIG1vZWNodGUsIHNvbGx0ZSBiaXMgenVtIDEuMy4gZWluZSBNYWlsIGFuIG1pY2ggdW5kIFdhcmdvbgpnZXNjaGlja3QgaGFiZW4sIGRhbWl0IHdpciBlaW5lIFRlaWxuZWhtZXJsaXN0ZSBlcnN0ZWxsZW4ga29lbm5lbi4KWnVyIEp1cnk6IEljaCB3dWVyZGUgdm9yc2NobGFnZW4sIGVpbmUgSnVyeSBhdXMgNCBTcGllbGVybiwgMiBuaWNodC0KdGVpbG5laG1lbmRlbiBTZWhlcm4sIHVuZCAyIE1hZ2llcm4genUgYmlsZGVuLiBEaWVzZSB3YWVobGVuIGRhbm4gZGFzCmpld2VpbHMgYmVzdGUgSGF1cyBpbiBlaW5pZ2VuIEthdGVnb3JpZW4gYXVzLiBVZWJlciBkaWUgS2F0ZWdvcmllbiBoYWIKaWNoIG1pciBub2NoIG5pY2h0IHNvIHZpZWxlIEdlZGFua2VuIGdlbWFjaHQsIGFiZXIgZGFzIGthbm4gamEgYXVjaCBkaWUKSnVyeSBtYWNoZW4uIEFscyBCZWlzcGllbDogU2Nob2Vuc3RlcyBoYXVzLCBXaXR6aWdzdGVzIEhhdXMsIFN0aWx2b2xsc3RlcwpIYXVzIG9kZXIgb2RlciBvZGVyIC4uLgpMYXNzdCBFdWNoIGhhbHQgd2FzIGVpbmZhbGxlbi4KV2VyIEp1cnluaXRnbGllZCB3ZXJkZW4gbW9lY2h0ZSwgc29sbHRlIG1pciBfbW9lZ2xpY2hzdF8gc2NobmVsbHN0IG1haWxlbiwKaWNoIHdlcmRlIG5hZWNoc3RlbiBNb250YWcgZGllIEp1cnkgYmlsZGVuLCB3ZW5uIHNpY2ggbWVocmVyZSBhbHMKYmVub2V0aWd0IG1lbGRlbiwgd2VyZCBpY2ggd3VlcmZlbG4uIERpZSBKdXJ5IHNvbGx0ZSBkYW5uIGViZW5mYWxscwptb2VnbGljaHN0IHNjaG5lbGxzdCBkaWUgS2F0ZWdvcmllbiBiZWthbm50Z2ViZW4sIGRhbWl0IGRpZSBUZWlsbmVobWVyCnNpY2ggZHJhdWYgZWlucmljaHRlbiBrb2VubmVuLgpEYXMgd2FlcnMgZnVlcnMgZXJzdGUuClZpZWwgU3Bhc3MgYmVpbSBUZWlsbmVobWVuIHVuZCB2aWVsIEVyZm9sZyA6KQpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZQoKUFM6IEVyc2V0enQgZGEgb2JlbiBtYWwgMiAxLzIgRHVyY2ggNCBXb2NoZW4gOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaW4gZWlnZW5lciBzYWNoZS4uLiAoTXVwZmVsLCAgMS4gRmViIDE5OTUsIDEzOjA1OjEyKToKaGFsbG8gYWxsZQoKZGEgYmVpIG1pciBlaW4gcGFhciBwcnVlZnVuZ2VuIGFuc3RlaGVuIHdlcmRlIGljaCB3b2hsIGVyc3Qgd2llZGVyIGFuZmFuZwphcHJpbCB6ZWl0IHp1bSBtdWRkZW4gaGFiZW4uIDotKApkaWVqZW5pZ2VuIHVudGVyIGV1Y2ggZGllIGluIG1laW5lbSB0ZXN0LW11ZCAnQW5kZXJMYW5kJyBtc2dpZXIgd2FyZW4KKHVuZCBhdWNoIHdhcyBnZW1hY2h0IGhhYmVuKSBzb2xsdGVuIHNpY2ggbWFsIGFuIHplcGh5ciB3ZW5kZW4uLi4KaWNoIHdlcmRlbiBkZW4gbGV1dGVuIGRpZSBzYWNoZW4gZGllIHNpZSBnZW1hY2h0IGhhYmVuIHV1ZW5jb2RpZXJ0Cnp1bWlsZW4gKGFscyBkYSB3YWVyZW46IGhhZHJhLCBndW5kdXIgdW5kIGFuYXRvbCkuCgptYWNodHMgZ3V0IGlociBhbGxlCgotIG11cGZlbCAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCbGl0emtyaWVnIChCb3JiYXJhZCwgIDEuIEZlYiAxOTk1LCAxNjoxOToxNyk6CkpldHp0IGlzdCBqYSB3b2hsIGRlciBBcioqKiBvZmZlbiwKQW5zY2hlaW5lbmQga2FubiBtYW4gc2ljaCBqZXR6dCBhdWNoIHNjaG9uIEJsaXR6a3JpZWcgbmVubmVuLgpEYXp1IGdlYmUgaWNoIGtlaW5lbiBLb21tZW50YXIgbWVociBhYi4KCkJvcmJhcmFkIChhbmdlZWtlbHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmxpdHprcmllZyAoRHVyaWFuLCAgMS4gRmViIDE5OTUsIDE2OjI0OjM4KToKIyEgcm49Qm9yYmFyYWQgcnQ9NzkxNjUxOTU3CkVzIGJsZWlidCB3aWUgZXMgaXN0OiBlcyBzaW5kIGFsbGUgTmFtZW4gbW9lZ2xpY2gsIGRpZSBuaWNodCBnZWJhbmlzaHQKd3VyZGVuLiBVbmQgSWhyIGtvZW5udCBuaWNodCB2b24gdW5zIGVyd2FydGVuLCBkYXNzIHdpciBhbGxlIG5vY2gKc28gYWJnZWZhaHJlbmVuIE5hbWVuIGJhbmlzaGVuLgpHYW56IGltIGdlZ2VudGVpbCwgaWNoIGJpbiBkYWZ1ZXIsIGplZGVyIGthbm4gc2ljaCBzZWluZW4gTmFtZW4gZnJlaQp3YWVobGVuLiBXaWUgZGllIGFuZGVyZW4gYXVmIFNwaWVsZXIgbWl0IGJsb2VkZW4gTmFtZW4gcmVhZ2llcmVuLCBzdGVodAphdWYgZWluZW0gYW5kZXJlbiBCbGF0dC4KCi0gRHVyaWFuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6QmxpdHprcmllZyAoQm9yYmFyYWQsICAxLiBGZWIgMTk5NSwgMTY6NDY6MjUpOgpUdXQgbWlyIGxlaWQsCnZvbiBtaXIgYXVzIGtvZW5uZW4gTmFtZW4gdm9tIHNjaGxlY2h0ZXN0ZW4gR2VzY2htYWNrIHNlaW4gKG1hbiBrYW5uIGphIGVoCm5pY2h0cyBkYWdlZ2VuIHR1bikuCkFiZXIgYmVpIHNvIGV0d2FzIGhvZXJ0IGVzIGZ1ZXIgbWljaCBhdWYuIFdlbm4gaWhyIGV1Y2ggYmVpIHNvbGNoZW4gTmFtZW4KdW50YWV0aWcgdmVyaGFsdGV0IHNlaGVuIHdpciB1bnMgZGVtbmFlY2hzdCBpbSBSZWljaE1VRCB3aWVkZXIuCgpCb3JiYXJhZCAoaGVndCBkdWVzdGVyZSBBaG51bmdlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpZSBpc3QgZGFzIG1pdCBkZW4gYWV4dGVuID8gKFNjaGxvbnosICAxLiBGZWIgMTk5NSwgMTg6NDI6NTgpOgplZWVobSwgYWxzbyBpY2ggbXVzcyBkYSBtYWwgd2FzIGZyYWdlbiEKSWNoIHd1bmRlcmUgbWljaCBzZWl0IGxhZW5nZXJlbSBzY2hvbiB1ZWJlciBkYXMgdmVyaGFsdGVuIGVpbmlnZXIgU2VoZXIuIFNpZQprYXVmZW4gaGF1ZmVud2Vpc2UgQWV4dGUgYmVpbSBTY2htaWVkIHVuZCB2ZXJrYXVmZW4gc2llIGRhbm4gd2llZGVyIGltIGFkZW4uCm1hY2hlbiBzaWUgZGEgbmljaHQgVmVybHVzdCBmcmFnZSBpY2ggbWljaCBkYT8gQmVpIG1pciBpc3QgZXMgamVkZW5mYWxscyBzby4KT2RlciBoYWJlbiBTZWhlciBhbmRlcmUgUHJlaXNlIHp1IGJlemFobGVuIGFscyB3aXIgTm9ybWFsLVN0ZXJibGljaGU/IFdlbm4gaWNoCmRhbmFjaCBmcmFnZSAsIGJla29tbWUgaWNoIGltbWVyIHp1ciBBbnR3b3J0IDogYmluIGJlaW0gaGF1cyBiYXVlbi4KCmVpbiBzaWNoIHd1bmRlcm5kZXIgU2NobG9ueiAoPz8/PykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZTpCbGl0emtyaWVnIChBY3JpbW9uLCAgMS4gRmViIDE5OTUsIDE5OjAyOjE2KToKIyEgcm49Qm9yYmFyYWQgcnQ9NzkxNjUzNTg1CiJCbGl0emtyaWVnIiBiZWRldXRldCBmciBtaWNoIG51ciwgZGEgZGVyIFRyZ2VyIGRpZXNlcyBOYW1lbnMgYmxpdHpzY2huZWxsCmFsbGUgT3JrcyBlcmxlZGlnZW4gd2lsbCA6LSkKSGFzdCBkdSBkYSB3YXMgZGFnZWdlbj8KCk51ciBrZWluZSBBbmdzdCwgQm9yYmFyYWQsIHVuZCB2aWVsIFNwYSBpbSBSZWljaE1VRCEKCkV1ZXIgR3JvZXIKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKGJlenVnOkFydGlrZWwgOSB2b24gQXNtb2RpcyB2b20gMjAuIEphbiAxOTk1LCAxNjozMzoyMSkgKFRvYXN0YnJvdCwgIDEuIEZlYiAxOTk1LCAxOToyNDoyMyk6CklzdCBqYSBzY2hvZW4gZGFzIGR1IHVucyBWb3JzY2hyZWlic3QgZGFzIHdpciB1bnNlcmUgTmFtZW4gYXVzIGVpbmVtIGJ1Y2gKcmF1c2hvbGVuIHNvbGxlbi4KZGEgaXN0IG1laW5lciBuYWVtbGljaCBoZXIuCk5hZW1saWNoIGF1cyBkZW0gS29jaGJ1Y2guCgpUb2FzdGJyb3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCihCZXRyaWZmdCBOYWhydW5nc21pdHRlbCBpbSBNdWQpIChUb2FzdGJyb3QsICAxLiBGZWIgMTk5NSwgMTk6MjY6NTQpOgpBdXNzZXJkZW0gOkFwcm9wb3MgZmFudGFzaWUuV2VubiBlcyBlcmxhdWJ0IGlzdCBGbGFtbWVud2VyZmVyLE1vdG9yYmV0cmllYmVuZQpqb2xsZW4sdW5kIHNwcmVjaGVuZGUgU2Nod2VpbmUgaW5zIG11ZCB6dSBmdWVocmVuLHNvbGx0ZSBqYSB3b2hsIGtlaW5lciB3YXMKZGFnZWdlbiBoYWJlbiB3ZW5uIGVzIG1hbCBlaW4gcGFhciB3ZXNlbiBhdXMgZGVtIHNjaGxhcmFmZmVubGFuZCBpbnMgTXVkCnRyZWlidC4KClRvYXN0aWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgooQmV6dWcgOkVyd2FjaHNlbiAoWWVuZGksIDIzLiBKYW4gMTk5NSwgMTg6MjU6MTUpOikgKFRvYXN0YnJvdCwgIDEuIEZlYiAxOTk1LCAxOTozNTo0Nyk6CkljaCBiaW4gZ2VuZXJlbGwgbmljaHQgZ2VnZW4gZWluZSBNaXR0ZWxhbHRlcmxpY2hlIFNwcmFjaGUgdW5kIGF1Y2gKaGFuZGx1bmdzd2Vpc2VuCmluIGRpZSBNaXR0ZWxhbHRlcmxpY2hlIFJpY2h0dW5nIHdhZXJlbiBuaWNodCBzY2hsZWNodC4KKHdpZSBrb2VubnRlIGljaCBhbHMgTEFSUEVSIERpciBkYSB3aWVkZXJzcHJlY2hlbikKQWJlciBpbiBlaW5lbSBNdWQgd28gc292aWVsIE5ldW1vZGlzY2hlIFNhY2hlbiBkcmlubmVuIHNpbmQgd2llIGhpZXIgaXN0IGVzCldhaHJsaWNoIHNjaHdlciBlaW5lIE1pdHRlbGFsdGVybGljaGUgQXRtb3NwaGFlcmUgYXVmenViYXVlbi53ZW5uIGR1IHdpbGxzdAprb2VubmVuIHdpciBKYSBtYWwgZWluZSB3UXVlc3RlIHp1c2FtbWVuIEJhdWVuLHdvIGRhcyBkdXJjaGdlaGFsdGVuIHdlcmRlbgptdXNzLkFtIGVpbmdhbmcgYmVrb21tdCBkYW5uIGplZGVyIG5ldWUgQXVzcnVlc3R1bmcgdW5kIE5hbWVuIHVuZCB3YXMgd2VpcyBpY2gKbm9jaCBhbGxlcy5XZW5uIGR1IERpciBkaWUgQXJiZWl0IG1hY2hlbiB3aWxsc3QgYmluIGljaCBkZXIgbGV0enRlIGRlciBEaWNoIGRhCm5pY2h0IHVudGVyc3R1ZXR6dC4KVG9hc3R5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVyaGF1c3dldHRiZXdlcmIgKEJhbWJ1bGtvLCAgMS4gRmViIDE5OTUsIDIwOjQxOjI2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5MTYyOTczNApXYXMgaXN0IG1pdCBhbGxlIFJhZXVtZSBzb2xsdGVuIGJlc2NocmllYmVuIHNlaW4gZ2VtZWludD8gRXR3YSBhbGxlIDEwCk1vZWdsaWNoZW4gb2RlciBudXIgZGllLCBkaWUgbWFuIGdlcmFkZSBoYXQ/ClNvbnN0IGlzdCBkaWUgSWRlZSBhYmVyIGtsYXNzZS4KCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlaGVyaGF1c3dldHRiZXdlcmIgKEJvaW5nLCAgMi4gRmViIDE5OTUsIDA5OjM4OjI1KToKIyEgcm49QmFtYnVsa28gcnQ9NzkxNjY3Njg2CkRpZSBSYWV1bWUsIGRpZSBtYW4gaGF0IC4uLiBtYW4ga2FubiBqYSBrZWluZW0gdm9yc2NocmVpYmVuIGVpbiBSaWVzZW4tCkhhdXMgenUgYmF1ZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJoYXVzd2V0dGJld2VyYiAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTUsIDEwOjEzOjA1KToKIyEgcm49QmFtYnVsa28gcnQ9NzkxNjY3Njg2Ck5hdHVlcmxpY2ggbnVyIHNvdmllbGUgUmFldW1lLCB3aWUgZHUgd2lsbHN0IDotKQpXZW5uIGR1IGFsbGVyZGluZ3MgMTAgUmFldW1lIGhhc3QgdW5kIG51ciA1IGJlc2NocmVpYnN0LCBnaWx0IGRhcyBoYXVzIGFscwp1bmZlcnRpZyB1bmQgZHUga2FubnN0IG5pY2h0IG1pdG1hY2hlbi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJoYXVzd2V0dGJld2VyYiAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTUsIDExOjIzOjA2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5MTYyOTczNApTdWNoZSBub2NoIDIgU3BpZWxlciB1bmQgMSBNYWdpZXIgZnVlciBkaWUgSnVyeSEKQml0dGUgYW4gbWljaCBtYWlsZW4hCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlcmhhdXN3ZXR0YmV3ZXJiIChBc21vZGlzLCAgMi4gRmViIDE5OTUsIDEzOjE5OjE0KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5MTcyMDU4NgpBZWgsIGR1ZXJmZW4gSnVyeW1pdGdsaWVkZXIgYXVjaCBhbSBXZXR0YmV3ZXJiIHRlaWxuZWhtZW4gPwoKICAgICAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmU6QmxpdHprcmllZyAoU2V0aG9zLCAgMi4gRmViIDE5OTUsIDE0OjI5OjEwKToKQm9yZGFyYWQ6IE1laW4gS29tbWVudGFyIC0gTEFFQ0hFUkxJQ0gKClNldGhvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6VG9hc3RpZSAoRWxyaWMsICAyLiBGZWIgMTk5NSwgMTU6NDg6MjEpOgpZZXAsIFRvYXN0YnJvdCBoYXQgcmVjaHQuIEZhbnRhc3ktQXRtb3NwaGFlcmUgbWl0IFBldHJvc2lsaXVzIFp3YWNrZWxtYW5uLApNZWNraSB1bmQgZGVtIFNjaHJhdCwgU3VzYW5uZSBpbSBCaWtpbmkuLi4gVGVycnkgUHJhdGNoZXQgd2FlcmUgbmVpZGlzY2guLi4KU2Nob24gZWluIHdlbmlnIHNlbHRzYW0sIGRhIFNwaWVsZXJuIFZvcnNjaHJpZnRlbiBtYWNoZW4genUgd29sbGVuLgoKRWxyaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoS2xpbmdlLCAgMi4gRmViIDE5OTUsIDE2OjE4OjQ3KToKRGllc2UgTVVEIGlzdCBuaWNodCBudXIgRGV1dHNjaCwgZXMgaXN0IFRZUElTQ0ggREVVVFNDSC4KTnVuIGlzdCBlcyBqYSBzbyBkYXNzIG5pY2h0IGplZGVyIHN0b2x6IGlzdCBlaW4gRGV1dHNjaGVyIHp1IHNlaW4uClVuZCBkYXMgaGF0IGVpbmVuIGd1dGVuIEdydW5kIG9kZXIgYmVzc2VyIGdlc2FndCB2aWVsZSBndXRlIEdydWVuZGUuCkVpbmVyIGRpZXNlciBHcnVlbmRlIGlzdCBkYXMgYXVzdWZlcm5kZSB1bmQgdW5zIHZvbiBkZXIgV2llZ2UgYmlzIHp1ciBCYWhyZQpiZWdsZWl0ZW5kZSBTcGllc3NlcnR1bSBtaXQgc2VpbmVuIGFsbHNlaXRzIGdlc2NoYWV0enRlbiBTdGFuZGFyZHNwcnVlY2hlbgp3aWU6ClNvbGFuZ2UgZHUgZGVpbmUgRnVlc3NlIHVudGVyIG1laW5lbiBUaXNjaCBzdGVsbHN0LCB0dXN0IGR1IHdhcyBJQ0ggd2lsbC4KRGFzIGhhYmVuIHdpciBzY2hvbiBpbW1lciBzbyBnZW1hY2h0LgpEYXMgaGFiZW4gd2lyIG5vY2ggbmllIHNvIGdlbWFjaHQuCkRhcyB3aXJkIHNvIGdlbWFjaHQgd2VpbCBJY2ggZGFzcyBzbyB3aWxsLgp1c3cuCk5hdHVlcmxpY2gga29tbWVuIGRpZXNlIFN0YW5kYXJkLVNwcnVlY2hlIGltbWVyIHZvbiBMZXV0ZW4gZGllIGF1cyB3ZWxjaGVuCkdydWVuZGVuIGF1Y2ggaW1tZXIgdWViZXIgYW5kZXJlIHp1IHNhZ2VuIGhhYmVuIG9kZXIgZGllIGRlciBBbnNpY2h0IHNpbmQgc2llCmhhZXR0ZW4gd2FzIHp1IHNhZ2VuLCBiencuIGRlbmVuIG1hbiBlaW5lbiBQb3N0ZW4gZ2VnZWJlbiBoYXQsIHdhcyBqYSBlaW5lbgplY2h0ZW4gZ3V0ZW4gRGV1dHNjaGVuIGJla2FubnRsaWNoIGdlZ2VudWViZXIgYWxsZW4gYW5kZXJlbiBhdWZ3ZXJ0ZXQuCkdlZ2VudWViZXIgYWxsZW4gIlVudGVybWVuc2NoZW4iIG9kZXIgd2llIGF1Y2ggaW1tZXIgbWFuIGRpZSBkaWUgbmljaHQgc28KdmllbCB3ZXJ0IHNpbmQgd2llIG1hbiBzZWxic3QgZWJlbi4KRGllIEFudHdvcnQgYXVmIFdpZWRlcnNwcnVlY2hlIHZvbiBkZW5lbiBkYSB1bnRlbiBnZWdlbiBkaWUgZGEgT2JlbiB3aXJkCmF1Y2ggc3RhbmRhcmRnZW1hZXNzIGltbWVyIG1pdCBkZW4gc2VsYmVuIFN0ZXJlb3R5cGVuIGdlZ2ViZW4uCldlbm5zIGRpciBuaWNodCBwYXNzdCBrYW5uc3QgZHUgamE6Ci4uLi4gYXVzemllaGVuLgouLi4uIG5hY2ggSGF1c2UoaW4gV2VsY2hlcyBMYW5kIGF1Y2ggaW1tZXIpIGdlaGVuCm9kZXIgd2FzIGF1Y2ggZ2VybmUgZ2VicmF1Y2h0IHdpcmQsIFdlcmQgZXJzdCBtYWwgc2VsYmVyIC4uLi4uCgpXaWUgZnJldXQgZXMgbWljaCBkYSBkaWUgZ3V0ZSBkZXV0c2NoZSBBcnQgYXVjaCBoaWVyIGltIE1HIHZvcnp1ZmluZGVuLgpEYSBicmF1Y2h0IG1hbiBzaWNoIGRvY2ggd2VuaWdzdGVucyBuaWNodCB1bWdld29laG5lbi4KVW5kIHdlbSBlcyBoaWVyIG5pY2h0IGdlZmFlbGx0LCBkZXIga2FubiBzaWNoIGphIGF1c2xvZ2dlbiBvZGVyIGF1c3RyZXRlbgpvZGVyIHdhcyBhdWNoIGltbWVyLiBLbGFyLCBkYXNzIGhpZXIga2VpbmUgZWNodGUgRGVtb2tyYXRpZSBoZXJyc2NoZW4ga2Fubi4KQWJlciwgbXVzcyBlcyBkZW5uIGdsZWljaCBzbyBmYXNjaGlzdG9pZCBhYmdlaGVuIHVuZCBzbyBzcGllc3NpZyA/Ck1hZyBzZWluIGRhc3MgZGFzIGhhcnRlIFdvcnRlIHNpbmQgYWJlciBpbSBSTCBoYXQgZXMgc2Nob24genV2aWVsIFNjaGVpc3NlCmdlZ2ViZW4gd2VpbCBuaWVtYW5kIGF1Zmdlc3RhbmRlbiBpc3QgdW5kIHdhcyBnZXNhZ3QgaGF0LiBEYXMgd2lyZCBtaXIgd2VkZXIKaGllciBub2NoIGltIFJMIGplbWFuZCBuYWNoc2FnZW4ga29lbm5lbi4gV2VubiBtYW5GYXNjaGlzbXVzIHNpZWh0LCBtdXNzIG1hbgptaXQgZGVtIEZpbmdlciBkcmF1ZiB6ZWlnZW4gdW5kIGxhdXQgU0NIRUlTU0Ugc2NocmVpZW4uClNlaCBpY2ggc28gIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICAoT3JrdG9ldGVyLCAgMi4gRmViIDE5OTUsIDE2OjU5OjAzKToKIyEgcm49S2xpbmdlIHJ0PTc5MTczODMyNwpWZXJ6ZWloIEtsaW5nZSwgd2VubiBpY2ggZGljaCBqZXR6dCBNaXNzZGV1dGVuIHNvbGx0ZSwgYWJlciBpY2ggZGVua2UsIG1hbgptdXNzIGRhcyBldHdhcyBkaWZmZXJlbnR6aWVydGVyIHNlaGVuLgpJY2ggZGVua2UsIG5pY2h0IGplZGUgRm9ybSB2b24gT3JkbnVuZyAodW5kIGRhbWl0IGF1Y2ggZ2V3YWx0KSBpc3QgZ2xlaWNoCkZhc2NoaXNtdXMsIGFiZXIgdm9lbGxpZ2UgYWJsaG51bmcgamVnbGljaGVyIG9yZG51bmcga2FubiBtZWluZXMgZXJhY2h0ZW5zCm5hY2ggbnVyIGFscyBBbmFyY2hpZSBiZXplaWNobmV0IHdlcmRlbi4KV2llIGltbWVyIGltIExlYmVuICh6dW1pbmRlc3QgZmFzdCkgaXN0IGRvY2ggd29obCBtYWwgd2llZGVyIGRlciBiZXJ1ZWhtdGUKZ29sZGVuZSBNaXR0ZWx3ZWcgZGFzIHJpY2h0aWdlLgpPcmt0LCB3ZWRlciBmYXNjaGlzdCBub2NoIEFuYXJjaGlzdCwgYWJlciBkb2NoIGZ1ZXIgZWluIGdld2lzc2VzIG1hc3MgYW4KT3JkbnVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgKFB1bWEsICAyLiBGZWIgMTk5NSwgMTc6MDE6NTMpOgojISBybj1LbGluZ2UgcnQ9NzkxNzM4MzI3Cklyb25pZSBvbgoKSXN0IGZ1ZXIgRGljaCBqZXR6dCBlaW5lIHNjaG9lbmUsIGhlaWxlIFdlbHQgemVyYnJvY2hlbj8KCldlbm4gamEsIHdpbGxrb21tZW4gaW4gZGVyIFJlYWxpdGFldCEKCklyb25pZSBvZmYKCgpQVU1BCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICAoQm9pbmcsICAyLiBGZWIgMTk5NSwgMTc6MDg6MjcpOgojISBybj1LbGluZ2UgcnQ9NzkxNzM4MzI3CkVyIGlzdCBiZWxlaWRpZ3QgLi4uCkljaCBoYWIgc2VpbmVuIHd1bmRlcnNjaG9lbmVuIFJvaGJhdSB1bnNpY2h0YmFyIGdlbWFjaHQuClNpY2hlcmxpY2ggYmluIGljaCBqZXR6dCBhbHMgZmFzY2hpc3Rpc2NoIGFuenVzZWhlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZTpCbGl0emtyaWVnIChIYXIsICAyLiBGZWIgMTk5NSwgMTg6MDA6MzcpOgojISBybj1BY3JpbW9uIHJ0PTc5MTY2MTczNgpIYXIgaG9lcnQgYXVjaCBpbW1lciBub2NoIGdhbnogZ2VybiBkZW4gQmxpdHprcmllZyBCb3Agdm9ubmUgUmFtb25lcyA7KQpIYXIgKG9obmUgSGFyc3Bha3RlcmVpZW4pCmFlaDpuYXR1ZXJsaWNoIG9obmUgSEFSc3BhbHRlcmVpZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICAoRHVyaWFuLCAgMi4gRmViIDE5OTUsIDE4OjMxOjQxKToKIyEgcm49Qm9pbmcgcnQ9NzkxNzQxMzA3Ck5pY2h0IG51ciBkZXNoYWxiLiBEdSBiaXN0IEdvdHQgdW5kIHNvcmdzdCBmdWVyIE9yZG51bmcuIEFsc28gd2lya2xpY2ggLi4uCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAgKEtsaW5nZSwgIDIuIEZlYiAxOTk1LCAyMDozMzoyMik6CiMhIHJuPU9ya3RvZXRlciBydD03OTE3NDA3NDMKU2VoIGljaCBhdWNoIHNvIQpOdXIgZGEgd28gR2V3YWx0IGRlbiBtYWNodGxvc2UgZW50cmVjaHRldCB1bmQgc2ljaCBkZXIgTWFlY2h0aWdlIG5pY2h0IGFuClJlZ2VsbiBoYWVsdCBkaWUgZnVlciAiYWxsZSIgZ2VsdGVuIHNvbGx0ZW4gc29uZGVybiBhdXMgZWlnZW5lcgptYWNodHZvbGxrb21tZW5oZWl0IHJlZ2VsbiB3aWxsa3VlcmxpY2ggYXVuZGVydCBvZGVyIGRlbSBtYWNodGxvc2VuIGV0d2FzCm5pbW10IHdhcyBkaWVzZXIgc2ljaCBldmVudHVlbGwgc2Nod2VyIGVyYXJiZWl0ZXQgaGF0IG9kZXIgd29yYW4gZGllc2VtIGxpZWd0CnJlZGUgaWNoIHZvbiBmYXNjaGlzbXVzLCBHZW5hdSBkYSB3byBzaWNoIGRlciBlaW5lICwgbWFlY2h0aWdlLCBtZWhyIHdlcnQKZHVlbmt0LgpFcnN0IHJlY2h0IGRhbm4gd2VubiBlcyBkZXIgImVpbmUiIGRlbiAiYW5kZXJlbiIgc3VlZmZpc2FudCBzcHVlcmVuIGxhZXNzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIChLbGluZ2UsICAyLiBGZWIgMTk5NSwgMjA6MzY6NTUpOgojISBybj1QdW1hIHJ0PTc5MTc0MDkxMwpNZWluZSAic2Nob2VuZSBoZWlsZSBXZWx0IiBpc3Qgc2Nob24gdm9yIDMwIEphaHJlbiB6ZXJicm9jaGVuIGFscyBpY2ggaW4gZGllClNjaHVsZSBnZWtvbW1lbiBiaW4sIGFiZXIgaWNoIHdlcmRlIG5pY2h0IG11ZWRlIHdlcmRlbiBtaWNoIGltbWVyIHdpZWRlciBnZWdlbgp1bmdlcmVjaHRlIEJlaGFuZGx1bmcgYXVmenVsZWhuZW4uCldFUiBTSUNIIE5JQ0hUIFdFSFJUIExFQlQgVkVSS0VIUlQgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAgKEtsaW5nZSwgIDIuIEZlYiAxOTk1LCAyMDo0NzoyOSk6CiMhIHJuPUJvaW5nIHJ0PTc5MTc0MTMwNwpGYWxzY2ggIQpFcyBnZWh0IG5pY2h0IHVtIHVuc2ljaHRiYXJlIEhhZXVzZXIgc29uZGVybiB1bSBkZWluZSAiQmVncnVlbmR1bmciClppdGF0OklDSCBiaW4gUmVnaW9uc21hZ2llciBkZXIgSG9jaGViZW5lIHVuZCBhbHMgc29sY2hlciBrYW5uIGljaCBoaWVyCm1hY2hlbiB3YXMgaWNoIHdpbGwuCgpJY2ggaGFiIGhpZXIga2VpbmUgTHVzdCBhbGxlcyBhYnp1dGlwcGVuIGFiZXIgZGllc2VsYmUgIkJlZ3J1ZW5kdW5nIiBrYW0gbWl0CmFuZGVyZW4gV29ydGVuIDN4CnVuZCBtaXQgYW5kZXJlbiBXb3J0ZW4gImVzIGdlZmFlbGx0IE1JUiBuaWNodCBkYXNzIGF1ZiBNRUlORVIgSG9jaGViZW5lIGVpbgpSb2hiYXUgaGVydW1zdGVodCIKClNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSBzdGFuZCBuaXJnZW5kd28gZGFzcyBtYW4gc2VpbiBIYXVzIGJlc2NocmVpYmVuIE1VU1MuCkF1c3NlcmRlbSBnZWggaWNoIGplZGUgV2V0dGUgZWluIGRhc3MgYXVjaCBlaW5lIEJlc2NocmVpYnVuZyB6ZW5zaWVydCB3b3JkZW4Kd2FlcmUsIHdlbm4gc2llIEJvaW5nIG5pY2h0IGdlbmVobSBnZXdlc2VuIHdhZXJlLgoKVW5kIHp1bSBndXRlbiBzY2hsdXNzLCBCZWxlaWRpZ2VuIGthbm4gbWljaCBudXIgd2VyIHNhdGlzZmFrdGlvbnNmYWVoaWcgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogPFN1Ympla3QgdmVyc2Nod3VuZGVuPiAoTWF0ZWVzZSwgIDIuIEZlYiAxOTk1LCAyMDo1NjowNSk6Cj4gTnVyIGRhIHdvIEdld2FsdCBkZW4gbWFjaHRsb3NlIGVudHJlY2h0ZXQgdW5kIHNpY2ggZGVyIE1hZWNodGlnZSBuaWNodCBhbgo+IFJlZ2VsbiBoYWVsdCBkaWUgZnVlciAiYWxsZSIgZ2VsdGVuIHNvbGx0ZW4gc29uZGVybiBhdXMgZWlnZW5lcgo+IG1hY2h0dm9sbGtvbW1lbmhlaXQgcmVnZWxuIHdpbGxrdWVybGljaCBhdW5kZXJ0IG9kZXIgZGVtIG1hY2h0bG9zZW4gZXR3YXMKPiBuaW1tdCB3YXMgZGllc2VyIHNpY2ggZXZlbnR1ZWxsIHNjaHdlciBlcmFyYmVpdGV0IGhhdCBvZGVyIHdvcmFuIGRpZXNlbQpsaWVndAo+IHJlZGUgaWNoIHZvbiBmYXNjaGlzbXVzLAoKSG1tLCB3ZW5uIG1pY2ggbmljaHQgYWxsZXMgdGFldXNjaHQgdHJpZmZ0IGRpZXNlbGJlIEJlc2NocmVpYnVuZyBhdWNoIGF1ZgpkZW4gZnJ1ZWhlbiBLYXBpdGFsaXNtdXMsIGRlbiBlaW5zdCByZWFsIGV4aXN0aWVyZW5kZW4gU296aWFsaXNtdXMgc293aWUKYXVmIGplZGUgYmVsaWViaWdlIERpa3RhdHVyIHp1LgogLS0gTWF0ZWVzZSBtb2VjaHRlIGRhbm4gYXVjaCBTdGFsaW4sIFBvbCBQb3QgdW5kIE1jQ2FydGh5IGdlYmFuaXNodCBzZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIChLbGluZ2UsICAzLiBGZWIgMTk5NSwgMDI6Mzg6MzEpOgojISBybj1JY2V0IHJ0PTc5MTc3MTc1NApEdSBiaXN0IGVpbmRldXRpZyBPYnJpZ2tlaXRzaG9lcmlnLgpFcnN0ZW5zIGxhc3NlIGljaCBuaWNodCBkdXplbmR3ZWlzZSBTdGFuZGFyZHNwcnVlY2hlIGFiLgpXZWxjaGUgc29sbGVuIGRlbm4gZGFzIHdvaGwgc2VpbiB1bmQgd2lldmllbCBnbGF1YnN0IGR1IGRlbm4gd29obCBpc3QgZWluCkR1emVuZC4gWmFlaGwgZG9jaCBtYWwgYWxsZWluZSBkaWUgU2FldHplLipLb3Bmc2NodWV0dGVsKgpVbmQgd2FzIHZlcnN0ZWhzdCBkdSB1bnRlciBVTkJFR1JVRU5ERVRFTSBBa3Rpb25pc211cz8KV2Vpc3QgZHUgdWViZXJoYXVwdHogd29ydW0gZXMgZ2VodD8KSWNoIGhhYmUgd2VkZXIgZGVtIEFtZXJpa2FuaXNjaGVuIFByYWVzaWRlbnRlbiBub2NoIHNvbnN0IGplbWFuZGVtIGlucwpHZXNpY2h0IG9kZXIgd28gYXVjaCBpbW1lciBoaW4gZ2VzcHVja3QgdW5kIGF1Y2ggbmllbWFuZGVtIGFucyBCZWluCmdlcGlua2VsbHQsIHdhcyBhdWNoIGltbWVyIGR1IGRhcnVudGVyIHZlcnN0ZWhzdC4KSWNoIGhhYmUgbGVkaWdsaWNoIGRhcmF1ZiB2ZXJ6aWNodGV0IG1laW4gSGF1cyBtaXQgZWluZXIgQmVzY2hyZWlidW5nIHp1CnZlcnNlaGVuLCB3YXMgamEgYXVjaCBuaWNodCB2b3JnZXNjaHJpZWJlbiB3YXIuClVuZCB3ZW5uIGR1IGZyYWdzdCB3YXMgZGFzcyB0eXBpc2NoIGRldXRzY2hlIGlzdCwgbXVzcyBpY2ggbWljaCBmcmFnZW4gb2IgZHUKbWVpbmVuIEFydGlrZWwgdWViZXJoYXVwdCB2ZXJzdGFuZGVuIGhhc3QuCkljaCBnbGF1YmUgbmljaHQuCkRlbmsgYW0gYmVzdGVuIG5vY2htYWwgZGFydWViZXIgbmFjaCwgdW5kIHVlYmVybGVnIGFtIGJlc3RlbiBiZXZvciBkdSB3YXMKc2NocmVpYnN0LCB3YXMgYW5kZXJlIGxlc2VuIGtvZW5uZW4sIC4uLi4uLmR1IG1hY2hzdCBkaWNoIHNvbnN0IG5vY2gKbGFlY2hlcmxpY2goZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAgKEtsaW5nZSwgIDMuIEZlYiAxOTk1LCAwMzo0MDozNCk6CiMhIHJuPUljZXQgcnQ9NzkxNzc2OTAwCkdlbmF1IGRpZXNlIGFydCBhbnR3b3J0IGhhdHRlIGljaCBnZW1laW50LCB6dSBtZWhyIHJlaWNodHMgd29obCBuaWNodC4KU2NobGFnIG1haGwgbmFjaCB1bnRlciBiaWxsaWdlIHBvbGVtaWsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAgKEtsaW5nZSwgIDMuIEZlYiAxOTk1LCAwMzo0MTozMCk6CiMhIHJuPUtsaW5nZSBydD03OTE3NzkyMzQKbWFobCA9IG1hbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogIChJY2V0LCAgMy4gRmViIDE5OTUsIDAzOjUyOjUzKToKIyEgcm49S2xpbmdlIHJ0PTc5MTc3OTIzNApBbGxlcyB3ZWl0ZXJlIGJpdHRlIHBlciBQb3N0LCBpbnRlcmVzc2llcnQgamEgZWgga2VpbmVuLCBLbGluZ2UuLi4KCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGbHVjaHRyaWNodHVuZyAoV3VyLCAgMy4gRmViIDE5OTUsIDAzOjU3OjI2KToKIyEgcm49V2FybG9yZCBydD03OTE0MDEyMDUKaGkgaWhyICEKCkFsc28gaWNoIGhhYmUgZGllc2UgcHJvYmxlbWUgbmljaHQuLi4KSWNoIGJpbiB2b24gZ2VidXJ0IGFuIHByaW56IGVpc2VuaGVyeiA6KQoKV3VyIC0gc3RpcmJ0IHRyb3R6ZGVtIHJlZ2VsbWFlc3NpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogIChJY2V0LCAgMy4gRmViIDE5OTUsIDA0OjEzOjQ4KToKIyEgcm49S2xpbmdlIHJ0PTc5MTc3NTUxMQpIYWNoLCBLbGluZ2UuLi4gd2FydW0gZGVubiBzbyBzdHJlaXRzdWVjaHRpZz8gKnNldWZ6KgpLbGluZ2U+IER1IGJpc3QgZWluZGV1dGlnIE9icmlna2VpdHNob2VyaWcuCk5laW4sIGJpbiBpY2ggbmljaHQsIGdsYXVicyBtaXIgb2RlciBuaWNodC4uLgpLbGluZ2U+IEVyc3RlbnMgbGFzc2UgaWNoIG5pY2h0IGR1emVuZHdlaXNlIFN0YW5kYXJkc3BydWVjaGUgYWIuCk9oIGRvY2guLi4gdW5kIHp3ZWl0ZW5zPyA6KQpLbGluZ2U+V2VsY2hlIHNvbGxlbiBkZW5uIGRhcyB3b2hsIHNlaW4gdW5kIHdpZXZpZWwgZ2xhdWJzdCBkdSBkZW5uIHdvaGwKS2xpbmdlPmlzdCBlaW4gRHV6ZW5kLiBaYWVobCBkb2NoIG1hbCBhbGxlaW5lIGRpZSBTYWV0emUuCkRhcyBEdXR6ZW5kIGlzdCBpbiBlaW5lbSBzb2xjaGVuIFp1c2FtbWVuaGFuZyBpbW1lciBhbHMgU3RpbG1pdHRlbCB6dSBzZWhlbi4KS2xpbmdlPlVuZCB3YXMgdmVyc3RlaHN0IGR1IHVudGVyIFVOQkVHUlVFTkRFVEVNIEFrdGlvbmlzbXVzPwpEYXMgaXN0IEFrdGlvbmlzbXVzIHVtIGRlcyBBa3Rpb25pc211cycgV2lsbGVuIQpLbGluZ2U+V2Vpc3QgZHUgdWViZXJoYXVwdHogd29ydW0gZXMgZ2VodD8KSmEuCktsaW5nZT5EZW5rIGFtIGJlc3RlbiBub2NobWFsIGRhcnVlYmVyIG5hY2gsIFsuLl0sZHUgbWFjaHN0IGRpY2ggc29uc3QKS2xpbmdlPmxhZWNoZXJsaWNoKGVyKQpFaW5lbiBBcnRpa2VsIHdlaXRlciB1bnRlbiBzY2hyZWlic3QgZHUgd2FzIHZvbiBQb2xlbWlrLi4uClBvbGVtaWsgaXN0IGluIGVyc3RlciBMaW5pZSBlaW5lICJsaXRlcmFyaXNjaGUgKG9kLiB3aXNzZW5zY2hhZnRsaWNoZSkKQXVzZWluYW5kZXJzZXR6dW5nIiB1bmQgKm5pY2h0KiBpbW1lciBlaW5lIHVuc2FjaGxpY2hlIGxpdGVyYXJpc2NoZQpGZWhkZS4gTmVobWVuIHdpciBkZW4gendlaXRlbiBGYWxsIGFuLCBkYW5uIGZyYWdlIGljaCBtaWNoIGVybnN0aGFmdCwKd2FzIGRlbm4gZGVpbmUgRmxhbWUgYXVmIG1laW5lbiBBcnRpa2VsIHNvbGw/CkxlcycgRGlyIGRvY2ggbWVpbmVuIEFydGlrZWwgbm9jaG1hbCBkdXJjaCwgS2xpbmdlIDstKQpJY2ggd2lsbCBic2VzdGltbXQga2VpbmVuIFN0cmVpdCBtaXQgaXJnZW5kamVtYW5kZW0sIEtsaW5nZSEKCldhcyBtYW4gYW0gd2VuaWdzdGVuIGdlcm4gd2VjaHNlbHQsIHNpbmQsIG5lYmVuIGRlciBCZWhhdXN1bmcsIGRpZSBHZWRhbmtlbi4KICAgICAgICAgICAgICAtQW5kcmUgR2lkZSwgZnJhbnpvZXNpc2NoZXIgU2NocmlmdHN0ZWxsZXIgKDE4NjktMTk1MSkKCmluIGRpZXNlbSBTaW5uZS4uLgoKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlOkJsaXR6a3JpZWcgKFN5c29wLCAgMy4gRmViIDE5OTUsIDExOjAwOjQ2KToKIyEgcm49QWNyaW1vbiBydD03OTE2NjE3MzYKTGllYmVyIEFjcmltb24sCnZlcnppY2h0ZSBkb2NoIGJpdHRlICh1bmQgZGFzIGdpbHQgYXVjaCBmdWVyIGFsbGUgYW5kZXJlbiwgZGllCkRPU2VuIG9kZXIgYWVobmxpY2hlbiBDb21wdXRlcnNjaHJvdHQgdmVyd2VuZGVuKSBoaW5rdWVuZnRpZyBhdWYKVW1sYXV0ZSBpbiBEZWluZW4gVGV4dGVuLiBJY2gga2FubiBzaWUgbmFlbWxpY2ggaGllciBuaWNodCBsZXNlbiAtCnVuZCBkYXMgZ2VodCBzaWNoZXIgYXVjaCBub2NoIGFuZGVyZW4gc28uCi0tIFN5c29wCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcnRpa2VsIGZ1ZXJzIE1VRCAoRW5neXd1Y2ssICAzLiBGZWIgMTk5NSwgMTE6NTM6NTEpOgpBdWZncnVuZCBlaW5pZ2VyLi4uYWVoLi4uVW5zdGltbWlna2VpdGVuIG1pdCBkZW0gUlogdWViZXIgU2lubiB1bmQgVW5zaW5uCmRlcyBNdWRkZW5zIHN1Y2hlIGljaCBub2NoIGVpbmlnZSBTY2hsYWdrcmFlZnRpZ2UgQXJndW1lbnRlLCBkaWUgX2Z1ZXJfCmRhcyBNdWRkZW4gKGFscyBTcGllbGVyLCBuaWNodCBhbHMgSG9zdCkgc3ByZWNoZW4gYnp3LiBHZWdlbmFyZ3VtZW50ZQplbnRrcmFlZnRlbiBrb2VubmVuLgpVbmQgZGEgZXMgc2ljaCBoaWVyIG5hdHVlcmxpY2ggdW0gZWluIHZpcnR1ZWxsZXMgS29tbXVuaWthdGlvbnNzeXN0ZW0gbWl0CnNvemlhbGVyLCBrdWx0dXJlbGxlciB1bmQgd2lzc2Vuc2NoYWZ0bGljaGVyIFJlbGV2YW56IGhhbmRlbHQsIHN1Y2hlIGljaAphdWNoIGVudHNwcmVjaGVuZGUgKEZhY2gpQXJ0aWtlbCBkaWUgZGVuIHVlYmVyIGRhcyBTcGllbCBoaW5hdXNnZWhlbmRlbgpTaW5uIGVpbmVzIE11ZHMgYmVsZXVjaHRlbi4KRmFsbHMgZGEgamVtYW5kIHdhcyB3ZWlzcywgYml0dGUgTXVkbWFpbCBhbiBtaWNoIG9kZXIgYW4KYWNwMzdAcnJ6LnVuaS1rb2Vsbi5kZQoKVmllbGVuIERhbmsgdW5kIFRzY2h1ZXNzaSwKRXVlciBFbmd5d3VjawoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgKEJhbWJ1bGtvLCAgMy4gRmViIDE5OTUsIDEyOjUzOjA0KToKIyEgcm49S2xpbmdlIHJ0PTc5MTczODMyNwpBZWggd292b24gcmVkZXN0IGR1Pz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICAoSm9mLCAgMy4gRmViIDE5OTUsIDEzOjIxOjQ5KToKIyEgcm49SWNldCBydD03OTE3NzE3NTQKV2lyIGhhYmVuIG5vY2ggbmllbWFuZGVuIGdlYmFuaXNodCwgd2VpbCBlciBlaW5lbSBHb3R0ICdhbnMgQmVpbiBnZXBpbmtlbHQnCmhhdCAuLi4KCkpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGhhZXR0IGRhIG5lIElkZWUhIChCYWJvb24sICAzLiBGZWIgMTk5NSwgMTU6Mjc6NDcpOgoKCkJlaSBtZWluZXIgbGV0enRlbiBCZWdlZ251bmcgbWl0IGRlbSBTZW5zZW5tYW5uIGlzdCBtaXIgZWluZSBJZGVlIGdla29tbWVuOgpVbmQgendhciBrb2VubnRlIG1hbiBkb2NoIGVpbiBGdW5kYnVlcm8gZWlucmljaHRlbiwgaW4gZGVtIGRpZSBTYWNoZW4gdm9uCmt1ZXJ6bGljaCB2ZXJzY2hpZWRlbmVuIFBlcnNvbmVuIGRvcnRoaW4gdHJhbnNmZXJpZXJlbiEgRXMgaXN0IG5hZW1saWNoIHZvcgphbGxlbSBmdWVyIGllIG5pZWRyaWdlbiBTdHVmZW4gdW5oZWltbGljaCBzY2h3ZXIsIGFuIG5ldWUgQXVzcnVlc3R1bmcgenUKa29tbWVuLiBNb2VnbGljaGVyd2Vpc2Uga2FubiBqYSBkYXMgR2VsZCBkZXMgYmV0cmVmZmVuZGVuIGVpbmJlaGFsdGVuIHdlcmRlbiwKYWJlciBkaWUgQXVzcnVlc3R1bmcgaXN0IHNjaG9uIHNlaHIgd2ljaHRpZy4KV2VubiBtYW4gbmFlbWxpY2gga2VpbmUgZmluZGV0IG9kZXIgZ2VzY2hlbmt0IGJla29tbXQgIGthbm4gbWFuIG51ciBub2NoCndlbGNoZSBrYXVmZW4uIE1vbnN0ZXIsIGJlaSBkZW5lbiBlcyBzaWNoIG5hZW1saWNoIGxvaG5lbiB3dWVyZGUsIGFuenVncmVpZmVuLApzaW5kIGJpIHdlaXRlbSB6dSBzY2h3ZXIsIHVtIHNpZSBvaG5lIE1hZ2llIHVuZCBtaXQgYmxvc2VuIEhhZW5kZW4KYW56dWdyZWlmZW4hIFVuZCBkaWUgU2FjaGUgbWl0IGRlbSBlaHJsaWNoZW4gRmluZGVyLCBkZXIgZWluZW0gZGllIFNhY2hlbgp6dXJ1ZWNrZ2lidCwgZnVua3Rpb25pZXQgYXVjaCBuaWNodCBpbW1lci4gKExldHp0ZW5zIGVyc3Qgd2llZGVyIGVybGVidCEpCgpCYWJvb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFldHQgZGEgbmUgSWRlZSEgKEhhciwgIDMuIEZlYiAxOTk1LCAxNjowMDowOSk6CiMhIHJuPUJhYm9vbiBydD03OTE4MjE2NjcKVGphLCBmaW5kIGljaCBibG9lZHNpbm5pZyBkaWUgSWRlZSA6KQpTY2hsaWVzbGljaCB3YXJzdCBEdSBkYW5uIHVudm9yc2ljaHRpZywgYmFib29uICwgdW5kIHdlbm4gbWFuIGRhdWVybmQKZHJhZnVnZWh0IHVuZCBhbGxlIFNhY2hlbiBpbW1lciB3aWVkZXJrcmllZ3QsIGJyYXVjaCBtYW4gYXVjaCBrZWluZSBMYWVkZW4KbWVociBvZGVyIGFlaG5saWNoZXMsIGRhbm4ga3JlaWd0IGplZGVyIGdsZWljaCBhbGxlIFdhZmZlbiB1bmQgZHJhdWYgdW5kIGplZGVyCmthbm4gamVkZXMgbW9uc3RlciBraWxsZW4gKGF1Y2ggQW5mYWVuZ2VyKSB1bmQgZGFzIG11ZGRlbiB3aXJkIG1hZWNodGlnCmxhbmd3ZWlsaWcgOikKTml4IGZ1ZXIgdW5ndXQsIGFiZXIgbWlyIG1hY2h0IGVzIFNwYXNzICh1bmQgbWFjaHRlIGVzIGF1Y2ggU3Bhc3MgYWxzIGljaApub2NoICJrbGVpbiB3YXIiKSBtZWluZSBBdXNydWVzdHVuZyB6dSBrcmllZ2VuIDopCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogIChIYXRlLCAgMy4gRmViIDE5OTUsIDIxOjU3OjI3KToKIyEgcm49S2xpbmdlIHJ0PTc5MTc3NTUxMQpMaWViZXIgS2xpbmdlLAoKbmFjaGRlbSBEdSBqZXR6dCBlaW5lIFdlaWwgbWl0IERlaW5lciBNZWludW5nIGdyb3NzIGF1ZmdldHJldGVuIGJpc3QsCm1vZWNodGUgaWNoIG1hbCBNRUlORSBNZWludW5nIGRhenUgbG9zd2VyZGVuLgoKSmVkZXIgTWFnaWVyIGhpZXIgaW0gU3BpZWwgZGFyZiBwcm9ncmFtbWllcmVuIHVuZCBuZXVlIFJhZXVtZSB1bmQgRGluZ2UKYW4gdW5zZXJlIFdlbHQgYW5zY2hsaWVzc2VuLiBFaW56aWdlIFZvcmF1c3NldHp1bmc6IERlciBHZWdlbnN0YW5kL1JhdW0KbXVzcyBtb2VnbGNpaHN0IEJ1Z2ZyZWkgdW5kIHZvbGxzdGFlbmRpZyBzZWluLiBEaWVzIGJlemllaHQgc2ljaCBhdWYKZGllIEJlbnV0emJhcmtlaXQsIHNvd2llIGF1ZiBkaWUgQmVzY2hyZWlidW5nLgpJY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIHdpciBmdWVyIHByb2dyYW1taWVyZW5kZSAodW5kIGRhenUgemFlaGxlIGljaCBkYXMKQmVzY2hyZWliZW4gZWluZXMgU2VoZXJoYXVzZXMpIFNlaGVyIGVpbmUgRXh0cmF3dXJzdCBicmF0ZW4gdW5kIGlobmVuIGVyLQpsYXViZW4gaGFsYmZlcnRpZ2UgRGluZ2UsIGluIGRpZXNlbSBGYWxsIEhhZXVzZXIgaW5zIE1vcmdlbkdyYXVlbiBlaW56dS0KZ2xpZWRlcm4uIERpZXNlIFJlZ2VsIGJyYXVjaCB3b2hsIGthdW0gZWluZXIgZXhwbGl6aXRlbiBOaWVkZXJzY2hyaWYsCmRhIGVzIHp1bSBFbXBmaW5kZW4gZWluZXMgamVkZW5nZWhvZXJlbiBzb2xsdGUgaGllciBlaW5lIGhvbW9nZW5lIExhbmQtCnNjaGFmdCB6dSBoYWJlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZXZlbGFic3R1ZnVuZyAoQXNtb2RpcywgIDQuIEZlYiAxOTk1LCAwMDowMTo0Myk6CgpBbHNvIGljaCBiaW4gZGFmdWVyLCBlbmRsaWNoIG1hbCBkYXMgTGV2ZWxzeXN0ZW0genUgcmVmb3JtaWVyZW4uCkVzIGdlaHQgamEgbmljaHQgYW4sIGRhc3MgU3BpZWxlciBzaWNoIGJpcyB6dSBMZXZlbCAxOSBkdXJjaG1ldHplbG4Ka29lbm5lbiwgb2huZSBlaW5lIGVpbnppZ2UgUXVlc3QgZ2Vsb2VzdCBoYWJlbiB6dSBtdWVzc2VuLgpRdWVzdHMgZ2Vob2VyZW4gZWluZmFjaCB6dSBlaW5lbSBNVUQsIHVuZCBzbyBmb3JkZXJlIGljaCwKZGFzcyBhbSBMZXZlbCAxMCBqZXdlaWxzIGVpbmUgZ2V3aXNzZSBBbnphaGwgQVAgbm90d2VuZGlnIGlzdCwgdW0gd2VpdGVyCmF1Znp1c3RlaWdlbi4Kei5CLiAxMCBBUCBmdWVyIExldmVsIDExLCAzMCBBUCBmdWVyIExldmVsIDEyIC4uLgpTbyBrb2VubnRlIG1hbiBtaXQgZGVuIGtsZWluZW4gcXVlc3RzIGF1Y2ggYmlzIHp1IGxldmVsIDE1IGtvbW1lbgooZmV1ZXJiYWxsLXNwcnVjaCkuCgogICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGV2ZWxhYnN0dWZ1bmcgKFN0YWhsZG9ybiwgIDQuIEZlYiAxOTk1LCAwMDoxNToxNik6CiMhIHJuPUFzbW9kaXMgcnQ9NzkxODUyNTAzCgpCcmF2byBBc21vZGlzICEgIEljaCBzZWxiZXIgd29sbHRlIHNvIGVpbmVuIEFydGlrZWwgYXVjaCBzY2hvbiBtYWwgc2NocmVpYmVuLApoYWIgYWJlciBpbW1lciBkcmF1ZiB2ZXJnZXNzZW4uCkljaCB1bnRlcnN0dWV0emUgZGllc2VuIEFudHJhZyBWT0xMLgoKICAgICBTVEFITC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICAoUXVpbGxpYW4sICA0LiBGZWIgMTk5NSwgMDA6Mzg6MjkpOgojISBybj1Kb2YgcnQ9NzkxODE0MTA5CkhtbSwgd2FzIGhlaXNzdCBkZW5uIGRhIE5PQ0ggbmljaHQgZ2ViYW5pc2h0dCBqb2Y/Pz8KClF1aWxsaWFuLCBuZXVnaWVyaWcgd2llIGltbWVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGV2ZWxhYnN0dWZ1bmcgKEd1bmR1ciwgIDQuIEZlYiAxOTk1LCAwMDo1MDoxOCk6CiMhIHJuPUFzbW9kaXMgcnQ9NzkxODUyNTAzCkZpbmQgaWNoIG5lIGd1dGUgSWRlZSBqYXUKR3VuZHVyIChoYXQgYWxzIGFsbGVyIGVyc3RlcyBkaWUgU2NocmF0IFF1ZXN0IGdlbWFjaHQgamF3b2xsOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmU6QmxpdHprcmllZyAoQWNyaW1vbiwgIDQuIEZlYiAxOTk1LCAwMTowNToyNik6CiMhIHJuPVN5c29wIHJ0PTc5MTgwNTY0NgpCaXR0ZSBTeXNvcCwgaWNoIHZlcndlbmRlIGtlaW5lIERvc2UsIHNvIGVpbmUgQmVsZWlkaWd1bmchCkljaCBzaXR6ZSBudXIgYW4gVW5peC1NYXNjaGluZW4gdW5kIEFtaWdhcy4KSW4gZGllc2VyIFJ1YnJpayB3aWxsIGljaCBqZXR6dCBhYmVyIGRpZXNlcyBUaGVtYSBiZWVuZGVuLCBkYXMgaGF0IG51ciBpbgoiZW50d2lja2x1bmciIHdhcyB6dSBzdWNoZW4uCgpHcnVzeiwKRXVlciBHcm9zemVyCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGV2ZWxhYnN0dWZ1bmcgKEtyZXRlaywgIDQuIEZlYiAxOTk1LCAwMjowNjowNSk6CiMhIHJuPUd1bmR1ciBydD03OTE4NTU0MTgKSmF1LCBTRUhSIGd1dGUgSWRlZSEKVWVicmlnZW5zLCBtZWluZSBlcnN0ZSBRdWVzdCB3YXIgV2FsZGJhdWVybi4uLiA6KQpLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExldmVsYWJzdHVmdW5nIChBc21vZGlzLCAgNC4gRmViIDE5OTUsIDAyOjU4OjQ5KToKIyEgcm49S3JldGVrIHJ0PTc5MTg1OTk2NQpNZWluZSBlcnN0ZSB3YXIgQW1hcnlsbGlzIChsYWcgZ2VyYWRlIGF1ZiBkZW0gV2VnKSAgOikKCiAgICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICAoQW50aGVhLCAgNC4gRmViIDE5OTUsIDAzOjE2OjMwKToKIyEgcm49Sm9mIHJ0PTc5MTgxNDEwOQpKYT8gSGF0IERpciAob2RlciBCb2luZykgd2lya2xpY2ggc2Nob24gbWFsIGplbWFuZCBhbnMgQmVpbiBnZXBpbmtlbHQ/IE9kZXIKd2FyIHd1cmRlIGVyIHNjaG9uIGdlYmFuaXNoZWQsIGFscyBlciBudXIgZGFzIEJlaW4gZ2Vob2JlbiBoYXQ/IDopCgogICAgIEFudGhlYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogIChNYXRlZXNlLCAgNC4gRmViIDE5OTUsIDA0OjI2OjUwKToKIyEgcm49QW50aGVhIHJ0PTc5MTg2NDE5MApBY2ggd2FzLiBFY2h0ZSBHb2V0dGVyIHN1Y2hlbiBkaWUgU3BvZXR0ZXIgbW9yZ2VucyB1bSB2aWVyIGF1ZiB1bmQgcmVpc3NlbgppaHJlbiBSb2hiYXUgbmllZGVyLiA6LSkKIC0tIE1hdGVlc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6ICAoS2xpbmdlLCAgNC4gRmViIDE5OTUsIDA1OjEyOjA5KToKIyEgcm49SWNldCBydD03OTE3Nzk5NzMKV2VyIGJpc3QgZHUsIGRhc3MgZHUgbWVpbnN0IGRhcyBiZXVydGVpbGVuIHp1IGtvZW5uZW4gPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogIChLbGluZ2UsICA0LiBGZWIgMTk5NSwgMDU6MTc6MDgpOgojISBybj1JY2V0IHJ0PTc5MTc4MTIyOApBbSBiZXN0ZW4gaGFlbHN0IGR1IGRpY2ggZWluZmFjaCBnZXNjaGxvc3NlbiB3ZW5uIGR1IGVoIG51ciBNdWVsbCBhYnNvbmRlcnN0LgpMaWVzIGRpciBlaW5mYWNoIGRlaW5lIEFydGlrZWwgbm9jaG1hbCBpbiBSdWhlIGR1cmNoLCBkYW5uIGxvZXNjaGUgc2llIHVuZApkYW5uIHZlcmdlc3NlbiB3aXIgZGFzIGdhbnplLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogIChLbGluZ2UsICA0LiBGZWIgMTk5NSwgMDU6MjA6NTgpOgojISBybj1Kb2YgcnQ9NzkxODE0MTA5CmVyIG5pbW10ZSBlcyBuaWNodCBzbyBnZW5hdSBtaXQgZGVtIHdhcyBlciBzY2hyZWlidCwgZXIgbmVubnQgZXMgaW1tZXIKc3RpbG1pdHRlbCB3ZW5uIG1hbiBuYWNoZnJhZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAgKEljZXQsICA0LiBGZWIgMTk5NSwgMDU6MjI6MTYpOgojISBybj1LbGluZ2UgcnQ9NzkxODcxNDI4Cj4gQW0gYmVzdGVuIGhhZWxzdCBkdSBkaWNoIGVpbmZhY2ggZ2VzY2hsb3NzZW4gd2VubiBkdSBlaCBudXIgTXVlbGwKPiBhYnNvbmRlcnN0LgoKV2llIHdhciBkYXMgbm9jaCBtaXQgZGVyIFBvbGVtaWs/CgpMYW5nc2FtIHdlcmQnIGljaHMgbGVpZCwgbWljaCB2b24gRGlyIGFuc2NobmF1emVuIHp1IGxhc3Nlbi4gVHlwaXNjaApkZXV0c2NoLi4uCgotSWNlVCAoc2FldWVybGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIChLbGluZ2UsICA0LiBGZWIgMTk5NSwgMDU6MjM6MDYpOgojISBybj1CYW1idWxrbyBydD03OTE4MTIzODQKYWxsZSBiZXRlaWxpZ3RlbiB3aXNzZW4gYmVzY2hlaWQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICAoS3JldGVrLCAgNC4gRmViIDE5OTUsIDA5OjU4OjUxKToKIyEgcm49S2xpbmdlIHJ0PTc5MTg3MTc4NgpLbGluZ2UsIGF1Y2ggZGllIE5pY2h0LUJldGVpbGlndGVuIHdpc3NlbiBCZXNjaGVpZCEKVW5kIG1hbmNoZSwgenVtaW5kZXN0IGljaCwgc2luZCBzb2dhciBkZWluZXIgTWVpbnVuZy4uLgooRnJhZ3QgbWljaCBiaXR0ZSBuaWNodCwgd2FydW0gaWNoIGRpZXNlbiBBcnRpa2VsIHVlYmVyaGF1cHQgZ2VzY2hyaWViZW4KaGFiISkKClppZW1saWNoIHByYWxsLApLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExldmVsYWJzdHVmdW5nIChLZXJtaXQsICA0LiBGZWIgMTk5NSwgMTE6MzM6MjQpOgojISBybj1Bc21vZGlzIHJ0PTc5MTg2MzEyOQoKQmluIGljaCBqYSB3b2hsIHZvbGwgZGFmdWVyLi4uaWNoIHdhciBncmFkIGJlaW0KUGlsemVzdWNoZW4gdW5kIGJpbiBtaXR0ZW4gaW4gZGllIFNjaHJhdHF1ZXN0IGdlc3R1ZXJ6dC4uLgpHdXRlIElkZWUuLi4uQXNtbyEKS0VSTUlULCBmcm9nZ3QgcnVtOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndhcyBzb2xsIGRhcz8gKEdhdHNieSwgIDQuIEZlYiAxOTk1LCAxNjowMzozMik6CkhhbGxvIEtsaW5nZSB1bmQgYWxsZSBhbmRlcmVuIQpXYXMgc29sbCBkZXIgTXVlbGwgaGllciBpbiBkZXIgWmVpdHVuZz8gTWVpbnQgSWhyIG5pY2h0LCBkYXNzIElocgpFdXJlbiBQcml2YXRzdHJlaXQgdWViZXIgTWFpbHMgb2RlciBzb25zdHdpZSBrbGFlcmVuIGtvZW5udGV0PwpNaXQgYmVzdGVtIERhbmssIEdhdHNieSBpbSBOYW1lbiBhbGxlciBHZW5lcnZ0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXMgc29sbCBkYXM/IChXYXJsb3JkLCAgNC4gRmViIDE5OTUsIDIyOjQ2OjEzKToKIyEgcm49R2F0c2J5IHJ0PTc5MTkxMDIxMgoKc3RpbW1lIEdhdHNieSB2b2xsIHp1LiBJY2ggZGFjaHRlIGltbWVyLCBudXIgZGllIFJvZW1lciBzcGlubmVuLiBTcGllbGVyIHdvaGwKYXVjaCAuLi4KCiAgICAgICAgIEVpbiBkZW0gZXdpZ2VuIHJ1bWdlbm9lcmdsZSBsZWlkZXIgV2FybG9yZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3YXMgc29sbCBkYXM/IChJY2V0LCAgNC4gRmViIDE5OTUsIDIzOjIzOjUxKToKIyEgcm49V2FybG9yZCBydD03OTE5MzQzNzMKR2VuYXUuIEljaCBiZWRhdWVyZSB6dXRpZWZzdCAoIDstKSApLCBkYXNzIEtsaW5nZSBtZWluIEFuZ2Vib3QsIGRhcwpnYW56ZSBwZXIgbWFpbCB6dSBiZXJlZGVuLCBhYmdlc2NobGFnZW4gYWh0LiBVbmQgYXVjaCBhdWYgZWluIHRlaWxlIG1pdApoYXQgZXIgbmljaHQgcmVhZ2llcnQgOigKQWJlciB3aWVzbyByZWd0IGlociBldWNoIGRlbm4gYXVmPyBBbmdlYmxpY2ggYmluIGljaCBkb2NoIG5pY2h0IGJlcmVjaHRpZ3QsCmRhc3MgenUgYmV1cnRlaWxlbiwgZGFzcyBlcyBrZWluZW4gbWVociBpbnRlcmVzc2llcnQgOy0pCgotSWNlVCAodm9uIGRlciBTZWl0ZSBhbmdlcGlua2VsdCB3b3JkZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpRdWVzdHBmbGljaHQuIChZYW50cm8sICA2LiBGZWIgMTk5NSwgMTA6MTE6MDkpOgpIYWxsb2VjaGVuLgoKSW0gR2VnZW5zYXR6IHp1IEFzbW9kaXMgYmluIGljaCBlbnRzY2hpZWRlbiBnZWdlbiBlaW5lIFF1ZXN0c3BpZWxwZmxpY2h0LCBkaWUKc2Nob24gdW50ZXIgTGV2ZWwgMTkgYW5mYWVuZ3QKClVtIFNlaGVyIChNYWdpZXIpIHp1IHdlcmRlbiwgbXVzcyBtYW4gZGllc2Ugc293aWVzbyBzcGllbGVuIHVuZCBkYXJ1bnRlcgpzb2xsdGUgS0VJTkVSIGdlend1bmdlbiB3ZXJkZW4sIGRhc3MgenUgdHVuLiBXYXMgc3RvZXJ0IGRlbm4gZGFyYW4sIGRhc3MgZWluClNwaWVsZXIgaGllciBhbHMgTGV2ZWwgMTkgcnVtc3BpZWx0IHVuZCBrZWluZSBRdWVzdHMgZ2Vsb2VzdCBoYXQ/PwoKTWFuIHNvbGx0ZSBzaWNoIHZpZWxsZWljaHQgZWluZmFjaCBtYWwgZGllIEludGVuc2lvbiBlaW5lcyBNVURzIGR1cmNoIGRlbgpLb3BmIGdlaGVuIGxhc3NlbjogRXMgaXN0IGVpbmUgYmVzb25kZXJlIEFydCBkZXIgS29tdW5pa2F0aW9uc2Zvcm0gdW5kIGRhc3MKaGVpc3N0IGZ1ZXIgbWljaCwgZGFzcyBtYW4gc2ljaCBhdWNoIGVpbmxvZ2dlbiBkYXJmLCB1bSBzaWNoCgphKSBudXIgenUgdW50ZXJoYWx0ZW4sCmIpIG51ciB6dSBtZXR6ZWxuICh1bSBhdWYgbGV2ZWwgMTkgenUga29tbWVuKQpjKSB2aWVsbGVpY2h0IGF1Y2ggbnVyLCB1bSB6dSBpZGxlbiAoc2llaGUgSm9mIDspKQoKRGllIE1vZWdsaWNobGVpdGVuIGhpZXIgc2luZCBzZWhyIGJyZWl0IGdlZmFlY2hlcnQgdW5kIGRhcyBzb2xsdGUgYXVjaCBzbwpibGVpYmVuLiBXZW5uIG1hbiBTcGllbGVyIGRhenUgendpbmdlbiB3aWxsLCBoaWVyIHp1IHF1ZXN0ZW4sIHNvIGhhbHRlIGljaCBkYXMKZnVlciBlaW5lLCB3ZW5uIGF1Y2ggc2FuZnRlIEFydCBkZXIgTm9ldGlndW5nLiBOaXJnZW5kcyBpbiBkZW4gc3BpZWxyZWdlbG4Kc3RlaHQsIHdlciBoaWVyIHdhcyBtYWNoZW4gTVVTUyB1bmQgc28gc29sbHRlIGRhc3MgYXVjaCBibGVpYmVuLgoKRGllIGVyc3RlIFZlcnBmbGljaHR1bmcgaGF0IGRlciBTcGllbGVyLCB3ZW5uIGVyIHZvbiBMZXZlbCAxOSBhdWYgMjAgd2lsbCB1bmQKZGFzIHNvbGx0ZSBzbyBibGVpYmVuLCBkZW5uIGRlciBTZWhlcnN0YXR1cyBpc3QgaWRlbnRpc2NoIG1pdCBkZXIKTW9lZ2xpY2hrZWl0LCBNYWdpZXIgd2VyZGVuIHp1IGR1ZXJmZW4uIFZvbiBlaW5lbSBNYWdpZXIgYWJlciBrYW5uIGljaAp2ZXJsYW5nZW4sIGRhc3MgZXIgbWFsIGdlcXVlc3RldCBoYXQuCgogICAgICAgICAgICAgICAgICAgICAgICAgIFlhbnRyby4KClAuUy46IEVpbiBhbmRlcmVyIFZvcnNjaGxhZyB3YWVyZSBzb2dhciwgZGFzcyBlcyBhdWNoIE9ITkUgQVBzIGVpbmVuIGtsZWluZW4KU2VoZXJzdGF0dXMgZ2lidCwgZGVyIG51ciBFUC1BYmhhZW5naWcgaXN0IHVuZCBkZXIgYWJlciBuaWNodCBkZW0gVm9sbFNlaGVyCmVudHNwcmljaHQsIGQuaC4gYXVjaCBuaWNodCB6dW0gTWFnaWVydHVtIHJlaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWVzdHBmbGljaHQuIChTY2hydW1wZmksICA2LiBGZWIgMTk5NSwgMTA6MjY6MzYpOgojISBybj1ZYW50cm8gcnQ9NzkyMDYxODY5CkljaCBiaW4gZW50c2NoaWVkZW4gZ2VnZW4gZGVuIFZvcnNjaGxhZywgZGFzcyBlcyBlaW5lbiBTZWhlcnN0YXR1cyBnZWJlbiBzb2xsCm9obmUgZGllIGVyZm9yZGVybGljaGVuIEFQcyBlcnJlaWNodCB6dSBoYWJlbi4gRXMgZ2lidCBlaCBzY2hvbiBnZW51ZyBTZWhlcgpkaWUgbm9jaCBub2NodCBtYWwgd2lzc2VuIHdvIGRlciBkZXIgR3JpbW1zd2FsZCBpc3QsIHdlaWwgc2llIGFsbGUgUXVlc3RzCmVudHdlZGVyIG1pdCBNYWtybyBvZGVyIG1pdCBNdXN0ZXJsb2VzdW5nIGdlbG9lc3QgaGFiZW4uIEFscyBTZWhlciBzb2xsdGUgbWFuCnNpY2ggc2Nob24gZWluIHdlbmlnIGF1c2tlbm5lbiBpbSBNVUQgdW5kIGF1Y2ggdm9tIFF1ZXN0ZW4gbmUgQWhudW5nIGhhYmVuLgpJY2ggZmluZGUgZGVuIFZvcnNjaGxhZyB2b24gQXNtb2RpcyBlaWdlbnRsaWNoIGdhciBuaWNodCBtYWwgc28gc2NobGVjaHQuIFVtCnp1CmxhYmVybiBvZGVyIHp1IGlkZWxuIGJyYXVjaHQgbWFuIGVoIGtlaW5lIExldmVscy4KU2NocnVtcGZpIGRpZSBvaG5lIE1ha3JvIHVuZCBvaG5lIE11c3RlcmxvZXN1bmcgYXVmIGRlbiBLbmllbihnZWhhYnQgaGFiIGljaApzY2hvbiBlaW4gcGFhcjopICkgc2ljaCBkdXJjaCBkaWUgUXVlc3RzIGdlcXVhZWx0IGhhdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBRdWVzdHBmbGljaHQuIChBcmFueWEsICA2LiBGZWIgMTk5NSwgMTA6NTc6MTQpOgojISBybj1TY2hydW1wZmkgcnQ9NzkyMDYyNzk2CkRhIG11c3MgaWNoIFNjaHJ1bXBmaSByZWNodCBnZWJlbi4gU293b2hsIHdhcyBkYXMgTGFiZXJuLWtvZW5uZW4tc2llLWF1Y2gtCmFscy1MZXZlbC0xIGFuZ2VodCwgYWxzIGF1Y2ggc29uc3QuIFVuZCBJaHIgZ2xhdWJ0IGdhciBuaWNodCwgd2llIGtvbW11bmlrYS0KdGl2IFF1ZXN0ZW4gc2VpbiBrYW5uIQoKTnVyIG1laW5lIE1laW51bmcKQXJhbnlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUXVlc3RwZmxpY2h0LiAoR3JpbW1ib3JuLCAgNi4gRmViIDE5OTUsIDE4OjQ1OjAyKToKIyEgcm49WWFudHJvIHJ0PTc5MjA2MTg2OQoKRGFzIGlzdCBkb2NoIGFsbGVzIGdhciBuaWNodCBkZXIgUHVua3QhIEljaCB3YXIgZWluIGhvY2htb3RpdmllcnRlciBTcGllbGVyCmJpcyB6dW0gbGV2ZWwgMTkuIERhIGZpZWwgbWlyIGF1ZiBlaW5tYWwgYXVmLCBkYXNzIHp1bSBXZWl0ZXJtYWNoZW4gKHF1YXNpKSBqYQpub2NoIDYwMGFwIGZlaGx0ZW4uClVuZCBkYXMgZmFuZCBpY2ggZGVtb3RpdmllcmVuZC4gQWxzbyBoYWIgaWNoIG5vY2ggbWVociBhbHMgdm9yaGVyIGdlaWRsZXQsCm1pY2ggdW50ZXJoYWx0ZW4gZXRjLi4KKE1pc3QgcmwtVW50ZXJicmVjaHVuZ2VuLCBNaXN0IE1hYy4uLikKCkFsc28sIHdlbm4gbWFuIHNjaG9uIHZvbiBBbmZhbmcgYW4gZGFyYW4gZ2V3b2VobnQgd2lyZCBkYXNzIGhpZXIgc293YXMgd2llCiJRdWVzdHMiIGV4aXN0aWVyZW4gaXN0IGRhcyBkb2NoIHZpZWwgZ2xlaWNobWFlc3NpZ2VyIGltIFNwaWVsdmVybGF1Zi4KSWNoIHd1ZXJkZSB2b3JzY2hsYWdlbjogZXhwb25lbnRpYWxmdW5rdGlvbiwgbGV2ZWwgMTAgc28gdmllbGxlaWNodCAxMDBhcC4KCkhtbSwgaWNoIGhhYiBoaWVyIEJlc3VjaC4gQWNoLCB3YXMgc29scy4gSWNoIGJpbiBqZWRlbmZhbGxzIGRhZnVlci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0cGZsaWNodC4gKEpvZiwgIDYuIEZlYiAxOTk1LCAyMDowMDoyOCk6CiMhIHJuPVlhbnRybyBydD03OTIwNjE4NjkKIE5vZSwga2VpbmVuIFNlaGVyc3RhdHVzIG9obmUgUXVlc3RzIC0gZGllIFF1ZXN0cyBzaW5kIG51biBtYWwgZGFzIHdlc2VudC0KbGljaGUgYW4gZWluZW0gTXVkLCBkYXJhbiBpc3Qga2F1bSB6dSBydWV0dGVsbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyaGF1c3dldHRiZXdlcmJzanVyeSAoQ2F0d2VhemxlLCAgNi4gRmViIDE5OTUsIDIwOjU1OjU5KToKU28sIGRpZSBKdXJ5IGZ1ZXIgZGVuIFNlaGVyaGF1c3dldHRiZXJiIHN0ZWh0IGZlc3QuCidKdXJ5aXN0ZW4nIHNpbmQ6CgpNYWdpZXI6IFRyeWZhbiB1bmQgSGlnaGxhbmRlcgpTZWhlcjogR3JpbW1ib3JuLCBHdXlicnVzaCB1bmQgUGhhcmFvClNwaWVsZXI6IEFyYW55YSwgVHJhbnNyYXBpZCwgUGxhcHBlcm1hdWwgdW5kIFN1YmJhbWFubgoKCkFsbGVzIHdlaXRlcmUgSG9lcnQgaWhyIHZvbiBkaWVzZXIgSnVyeS4gSWNoIGhhYiBkaWUgSnVyeSBnZWJldGVuLApzbyBzY2huZWxsIHdpZSBtb2VnbGljaCBkaWUgS2F0ZWdvcmllbiBhdXN6dXdhZWhsZW47IGRpZXNlIGVyc2NoZWluZW4KZGFubiB3b2hsIGF1Y2ggYmFsZC4KVGphLCB2aWVsIG1laHIgYmxlaWJ0IG1pciBpbSBNb21lbnQgbmljaHQgenUgc2FnZW4sIGxlZGlnbGljaCwgZGFzCgpTZWhlciwgZGllIFRlaWx6dW5laG1lbiB3dWVuc2NoZW4sIHNpY2ggc2NobmVsbCBhbm1lbGRlbiBzb2xsdGVuLgpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaHVyemxpY2hlbiBkdW5rIChNaXJvLCAgNy4gRmViIDE5OTUsIDAyOjI4OjU4KToKTmFjaGRlbSBoaWVyIGphIHNvdmllbCB1bmQgdWViZXJoYXVwdCB1ZWJlciBkaWUgbWFnZ2llcyBkaXNrdXRpZXJ0IHdpcmQ6Cm11c3MgaWNoIGRvY2ggbWFsIGVpbiBncm9zc2VzIGxvYiBhbiBkaWUgbWFnZ2llcyBsb3NsYXNzZW4sIGRhc3Mgc2llIG1pciBpbgp6d2VpIHNpdHVhdGlvbmVuIHdpcmtsaWNoIHVuZCBzb2ZvcnQgdW5kIHNjaG5lbGwgdW5kIGtvbXBlZW50IHVuZCB1ZWJlcmhhdXB0CmdlaG9sZmVuIGhhYmVuLgpkaWUgc2FjaGxpY2hlIGtyaXRpayBzY2hyZWliIGljaCBtYWwgaW4gZWluZXIgYW5kZXJlbiBydWJyaWsuCk1pcm8uIERlciBpbW1lciBub2NoIGdsdWVja2xpY2ggaXN0LCBkYSByYXVzZ2Vrb21tZW4genUgc2Vpbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGV2ZWxhYnN0dWZ1bmcgKE5peGlob3UsICA3LiBGZWIgMTk5NSwgMDc6Mjk6NTEpOgojISBybj1HdW5kdXIgcnQ9NzkxODU1NDE4CkF1Y2ggaWNoIGZpbmRlIGRpZSBqZXR6aWdlIGxldmVsdmVydGVpbHVuZyBlaW4gd2VuaWcgc2VsdHNhbS4Kd2VubiBlaW4gQW5mYWVuZ2VyIG51ciBlaW5lIGVpbnppZ2UgZGVyIFF1ZXN0ZW4gc2NocmF0LCBhbWFyeWxsaXMgb2RlcgpjYXNpbm8gbG9lc3QgaXN0IGVyIHNjaG9uIGxldmVsIDcgISEhCkRhcyBmaW5kZSBpY2ggZWluIHdlbmlnIHp1IHNjaG5lbGwuCndpZSB3YWVyZSBlcyBtaXQgZWluZXIgUXVlc3QgcHJvIHN0dWZlLCB1bSBhdWZzdGVpZ2VuIHp1IGtvZW5uZW4uCnNjaGxpZXNsaWNoIGhhYmVuIHdpciBmYXN0IDQwIHF1ZXN0ZW4uCgpuaXhpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJoYXVzd2V0dGJld2VyYnNqdXJ5IChZYW50cm8sICA3LiBGZWIgMTk5NSwgMDk6MzM6MDcpOgojISBybj1DYXR3ZWF6bGUgcnQ9NzkyMTAwNTU5CgpTZWl0IHdhbm4gc29sbCBQaGFyYW8gd2llZGVyIFNlaGVyIHNlaW4/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0cGZsaWNodC4gKER1cmlhbiwgIDcuIEZlYiAxOTk1LCAwOTo0MjozNik6CiMhIHJuPVlhbnRybyBydD03OTIwNjE4NjkKSGFsbG8gTGV1dGUhCgpUdXQgbWlyIGxlaWQsIFlhbnRybywgYWJlciBpY2ggd2FyIHNjaG9uIGltbWVyIHVuZCBiaW4gaW1tZXIgbm9jaCBmdWVyCmRlbiBBbnRyYWcgdm9uIEFzbW9kaXMuIFp3YXIgaXN0IGV0d2FzIGFlaG5saWNoZXMgdm9yIEt1cnplbSBzY2hvbiBlaW5tYWwKZ2VzY2hlaXRlcnQsIGFiZXIgdmllbGxlaWNodCBnZWxpbmd0IGphIGRlciB6d2VpdGUgQW5sYXVmLgpKYSwgZXMgaXN0IHJpY2h0aWcsIG5pZW1hbmQgd2lyZCBoaWVyIHp1IGlyZ2VuZGV0d2FzIGdlend1bmdlbiEgSmEsIGVzCmlzdCByaWNodGlnLCBtYW4ga2FubiBzaWNoIGVpbmxvZ2dlbiB1bSBlaW5mYWNoIG51ciB6dSBtZXR6ZWxuLiBKYSwgZXMKaXN0IHJpY2h0aWcsIG1hbmNoZSBMZXV0ZSBtb2VjaHRlbiBlaW5mYWNoIG5pY2h0IHF1ZXN0ZW4uIE5laW4sIGljaCBiaW4KbmljaHQgZGVyIE1laW51bmcsIGRhc3MgbWFuIHNvbGNoZW4gTGV1dGVuIGRlbiBkb2NoIGVpZ2VudGxpY2ggc2Vocgphbmdlc2VoZW5lbiBMZXZlbCAxOSBnZWJlbiBzb2xsdGUuIEtpbGxlbiwgTWV0emVsbiwgWmF1YmVydHJhZW5rZSBzdWNoZW4KdW5kIGFlaG5saWNoZXMga2FubiBtYW4gYXVjaCBtaXQgbmllZHJpZ2VyZW4gTGV2ZWwuIEVpbmVuIHdlaXRlcmVuCkF1c2JhdSBkZXMgQ2hhcmFrdGVycyAoYmVzc2VyZSBaYXViZXJzcHJ1ZWNoZSBldGMuKSBzb2xsdGVuIGVpbiBQcml2aWxlZwp2b24gU3BpZWxlcm4gc2VpbiwgZGllIGVzIHNpY2ggYXVjaCB3aXJrbGljaCB2ZXJkaWVudCBoYWJlbiEKTmVpbiwgaWNoIGJpbiBuaWNodCBkZXIgTWVpbnVuZywgZGFzcyBtYW4gc2ljaCBzbyBldHdhcyBudXIgZHVyY2ggTWV0emVsbgp2ZXJkaWVuZW4sIG1hbiBtdXNzIGdld2lzc2VzIFNwaWVsZXJ2ZXJtb2VnZW4gYXVjaCBiZWltIFF1ZXN0ZW4gdmVyZGllbnQKaGFiZW4hCkRlc2hhbGIgaGFsdCBpY2ggZWluZW4gU2VoZXJzdGF0dXMgb2huZSBBUCdzIGZ1ZXIgYWxsZW1hbCBkZW4gZmFsc2NoZW4KV2VnIQoKU293ZWl0IGRpZXMsIG1hbCBzZWhlbiwgd2FzIGRpZXNtYWwgZHJhdXMgd2lyZCAuLi4KCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMZXZlbGFic3R1ZnVuZyAoQW5jYWxhZ29uLCAgNy4gRmViIDE5OTUsIDExOjA2OjI4KToKIyEgcm49Tml4aWhvdSBydD03OTIxMzg1OTEKSGFsbG8gTXVkZGllcyEKQWxzbywgbml4aXMgSWRlZSBmaW5kZSBpY2ggZWlnZW50bGljaCBnYXIgbmljaGp0IHNvIHNjaGxlY2h0Li4uLi4KUHJvIGxldmVsIGVpbmUgcXVlc3QgaXN0LCBmaW5kZSBpY2gsIGluIG9yZG51bmcuCkRlciBMZXZlbGFuc3RpZWcgYmVpIG51ciBlaW5lciBnZWxvcnN0ZW4gUXVlc3QgaXN0IG1pciBhdWNoIHp1IHNjaG5lbGwuLi4uLgpPZGVyIG1hbiB2ZXJ0ZWlsdCBmdWVyIGRpZSBxdWVzdGVuIHdlbmlnZXIgRXAuLi4uLi4KRGFzIHdhcnMgc2Nob24uLi4uCkhlcnpsaWNoc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJhY28ga251ZGRlbGxlbnNpcyBtYWpvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGV2ZWxhYnN0dWZ1bmcgKEFuY2FsYWdvbiwgIDcuIEZlYiAxOTk1LCAxMToxMToxMyk6CiMhIHJuPUFuY2FsYWdvbiBydD03OTIxNTE1ODgKSGFsbG8gbm9jaG1hbCEKSWNoIGhhYmUgZ2VyYWRlIG1laW5lbiBBcnRpa2VsIGdlbGVzZW4uIERhIGZhZWxsdCBtaXIgamEgbnVyIG5vY2ggZWluCmR1bW1lciBTcHJ1Y2ggenUgZWluOgoKICAgICAgICAgICAgICAgICAgIE9kb2dyYWZpIGlzIGRyaWZpYWwhISEKCkluIGRpZXNlbSBTaW5uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgICAgICAgICBEcmFjbyBrbnVkZGVsbGVuc2lzIG1ham9yICAgICAgICAgICAgICAgICAgICoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMZXZlbGFic3R1ZnVuZyAoSGFyZGlsLCAgNy4gRmViIDE5OTUsIDExOjE0OjAwKToKIyEgcm49QW5jYWxhZ29uIHJ0PTc5MjE1MTU4OAoKSWNoIGVyaW5uZXJlIG1pY2ggZGFiZWkgYW4gZGVuIFJldm9sdXRpb25hZXIgT2huZUhhLCBkZXIgc2ljaCB2b24gaXJnZW5kZWluZW0KU2VoZXIgZHVyY2ggQm9pbmdzIEZyaWVkaG9mIGhhdCBzY2hsZXBwZW4gbGFzc2VuIChhbHMgZXJzdGUgUXVlc3Qgb2RlciBzbykgdW5kCmhpbnRlcmhlciBwbG9ldHpsaWNoIHZvbiBMZXZlbCAxIGF1ZiBMZXZlbCAxNSBhbnN0aWVnLi4uCk5laW4sIGRpZSBJZGVlLCBob2VoZXJlIExldmVsIGVyc3QgYWIgZWluZXIgZ2V3aXNzZW4gQW56YWhsIGdlbG9lc3RlciBRdWVzdGVuCmVycmVpY2hlbiB6dSBrb2VubmVuLCBpc3Qgd2lya2xpY2ggZ3V0LiBXZW5pZ2VyIEVQIGZ1ZXIgUXVlc3RlbiBicmluZ3QgaW1obwpkYWdlZ2VuIG5pY2h0cywgZGEgZXMgbW9lZ2xpY2ggc2VpbiBzb2xsdGUsIGRpZSBlcnN0ZSBNaWxsaW9uIEVQIHp1bSBFcnJlaWNoZW4KZGVzIFNlaGVyLVN0YXR1cyBtaXQKbW9lZ2xpY2hzdCB3ZW5pZyBNZXR6ZWxuIGVycmVpY2hlbiB6dSBrb2VubmVuLgoKSnVzdCBteSB0d28gcGVubmllcy4KSGFyZGlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMZXZlbGFic3R1ZnVuZyAoV2FyZ29uLCAgNy4gRmViIDE5OTUsIDExOjIzOjM2KToKIyEgcm49SGFyZGlsIHJ0PTc5MjE1MjA0MApBbHRlcm5hdGl2IGtvZW5udGUgbWFuIGF1Y2ggZGFzIExlcm5lbiB2b24gWmF1YmVyc3BydWVjaGVuCmFiaGFlbmdpZyBtYWNoZW4gdm9uIGRlciBaYWhsIGRlciBnZWxvZXN0ZW4gUXVlc3RzICh6dS0KbWluZGVzdCB2b24gZGVuIEFQKS4gRGllIFNwcnVlY2hlIHNpbmQgd29obCBkYXMgZXJzdGUsCndhcyBtYW4gbWl0IGhvaGVtIExldmVsIGFuIHNpY2ggcmVpc3N0LiA7KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlcmhhdXN3ZXR0YmV3ZXJic2p1cnkgKENhdHdlYXpsZSwgIDcuIEZlYiAxOTk1LCAxMToyNzowOCk6CiMhIHJuPVlhbnRybyBydD03OTIxNDU5ODcKVVJHTCEKSG0sIGRhIGhhYiBpY2ggbWljaCBhYmVyIFZPTEwgdmVydGFuIC4uLi4KVGphLCBQaGFyYW8sIHR1dCBtaXIgbGVpZCwgYWJlciBNYWdpZXIgaGFiZW4gd2lyIHNjaG9uIGdlbnVnLCBpY2gKZ2xhdWIgZGEgYmlzdCBkdSByYXVzIGF1cyBkZXIgSnVyeS4gSWNoIGhvZmZlIGR1IGJpc3QgZGVzd2VnZW4gbmljaHQKYWVyZ2VybGljaC4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMZXZlbGFic3R1ZnVuZyAoQm9pbmcsICA3LiBGZWIgMTk5NSwgMTE6MzU6NDYpOgojISBybj1IYXJkaWwgcnQ9NzkyMTUyMDQwCkljaCBkZW5rZSBhdWNoLCBkYXNzIGVzIGluIE9yZG51bmcgaXN0IGZ1ZXIgZGllIEFiZW50ZXVlciB2aWVsZSBFcmZhaHJ1bmdzLQpwdW5rdGUgenUgZ2ViZW4sIGljaCBrYW5uIEhhcmRpbHMgQmVncnVlbmR1bmcgZGEgbnVyIHp1c3RpbW1lbi4gQWxsZXJkaW5ncwp3dWVyZGUgaWNoIGRpZSBBYnN0dWZ1bmdlbiBuaWNodCBzbyBmZWluIHdhZWhsZW4sIGFsc28gbmljaHQgZWluZSBRdWVzdApwcm8gTGV2ZWwgc29uZGVybiB2aWVsbGVpY2h0IE1hcmtlbiBuYWNoIGFsbGVuIDMtNCBRdWVzdHMuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmU6QmxpdHprcmllZyAoRmxpbnRuYWlsLCAgNy4gRmViIDE5OTUsIDEyOjA3OjU5KToKIyEgcm49QWNyaW1vbiBydD03OTE2NjE3MzYKQmxpdHoga3JpZWcgPSBnZXQtYS16YXAgISA6KT0pCkZsaW50bmFpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWllc2Ugc3RpbW11bmcgaW0gbXVkIChHdWxkdWthdCwgIDcuIEZlYiAxOTk1LCAxMjo0MDo1MSk6CkljaCBoYWJlIG1pY2ggYmlzIGpldHp0IGF1cyBkZXIgRGlza3Vzc2lvbiB1bSBkaWUgbWllc2UgU3RpbW11bmcgaW0KTXVkIHdlaXRnZWhlbmQgaGVyYXVzZ2VoYWx0ZW4sIGJpcyBhdWYgRWluemVsZ2VzcHJhZWNoZSBtaXQgZWluaWdlbgpMZXV0ZW4uIERhIGljaCBhYmVyIGF1Y2ggaW4gZGVyIGxldHp0ZW4gWmVpdCBvZWZ0ZXIgYW5nZW1hY2h0IHd1cmRlCnVuZCBtaXIgdm9yZ2V3b3JmZW4gd3VyZGUsIGljaCB3dWVyZGUgZGllIFN0aW1tdW5nIHJ1aW5pZXJlbiwgaGFsdGUKaWNoIGVzIGZ1ZXIgYW5nZWJyYWNodCwgbWFsIG1laW5lbiBTZW5mIGRhenV6dWdlYmVuLgoKRGEgc2ljaCBkaWVzIG5pY2h0IG51ciBhdWYgV29scGVydGluZ2VyIGJlemllaHQsIGhhbHRlIGljaCBkaWUgV2FobApkZXIgUnVicmlrIGZ1ZXIgYW5nZW1lc3Nlbi4KCkRpZXNlcyBNdWQgaXN0IGVpbiBTcGllbCwgZWluIFJvbGxlbnNwaWVsLgoKRGllcyB3aXJkIHNjaG9uIEFuc2F0endlaXNlIGR1cmNoIGRpZSBWZXJzY2hpZWRlbmhlaXQgZGVyIFJhc3NlbgphbmdlZGV1dGV0LCBpc3QgYWJlciBzaWNoZXIgbm9jaCBhdXNiYXVmYWVoaWcsIGRhIGJpcyBhdWYgZGllCnVudGVyc2NoaWVkbGljaGVuIFN0YXRzIGtlaW5lIERpZmZlcmVuemllcnVuZyBnZWdlYmVuIGlzdC4gRWluIHdlaXRlcmVzCkVsZW1lbnQgZGVzIFJvbGxlbnNwaWVscyBpc3QgZGVyIFdvbHBlcnRpbmdlci1DbHViLCB3aWUgZXIgdm9yCmRlbSAiS29uZmxpa3QiIG1pdCBkZW4gR2VnbmVybiBiZXN0YW5kOiBWZXJlaW5zd2FobGVuLCBTaXR6dW5nZW4gZXRjLgpEaWVzZXMgaXN0IGVpbiBSb2xsZW5zcGllbCwgZWluZXIgInNwaWVsdCIgZGllIFJvbGxlIGVpbmVzIFZvcnNpdHplbmRlbiwKYW5kZXJlIGRpZSBkZXIgVmVyZWluc21laWVyIQpEYXMgWmllbCBkZXMgUm9sbGVuc3BpZWxzIGlzdCBlcywgc28genUgcmVhZ2llcmVuLCB3aWUgZGllIFJvbGxlLCBkaWUgbWFuCnNwaWVsdCwgZXMgZXJmb3JkZXJ0LCBpbiBqZWRlbSBTcGllbCB0cmV0ZW4gRXJlaWduaXNzZSBhdWYsIGRpZSBkZXIKU3BpZWxlciBzZWxic3QgbmljaHQgYmVlaW5mbHVzc2VuIGthbm4sIGVyIHJlYWdpZXJ0IGRhbm4gaW5uZXJoYWxiCmRlciBNb2VnbGljaGtlaXRlbiBkZXMgU1BJRUxFUlMuCgpOdW4gdHJpdHQsIHVtIGRhcyBSb2xsZW5zcGllbCB6dSB2ZXJmZWluZXJuLCBlcyBhdXN6dWJhdWVuLCBuZXVlIEVsZW1lbnRlCmVpbnp1ZnVlZ2VuLCBkaWUgRmdXIGF1ZiBkZW4gUGxhbiwgZGllIGlocmUgUm9sbGUgYWxzIEdlZ25lciBkZXIKV29scGllZmFucyBTUElFTFQuIFNvIHdpZSBkZXIgQ2x1YiBkYXMgUmVhbGxpdmUgd2lkZXJzcGllZ2VsdAooVmVyZWluc21laWVyZWksIFZvcnN0YW5kIHdhZWhsZW4gZXRjIChuaXggZGFnZWdlbiwgZXMgaXN0IGVpbiBSb2xsZW5zcGllbCkpCnN0ZWh0IGRpZSBGZ1cgZnVlciBhbmRlcmUgRWxlbWVudGUgZGVzIFJMIChOb3JkaXJsYW5kLCBXYWhsa2FtcGYgZXRjKQoKQWJlciBhbnN0ZWxsZSBhdWYgZGllIG5ldWVuIEdlZ2ViZW5oZWl0ZW4gaW0gU3BpZWwgenUgcmVhZ2llcmVuLCBkYXMgZXR3YXMKa29tcGxpemllcnRlcmUsIGFiZXIgYXVjaCBpbmhhbHRsaWNoIGFuc3BydWNoc3ZvbGxlcmUgU3BpZWwgd2VpdGVyenVzcGllbGVuLApmYW5nZW4gZWluaWdlIExldXRlIGFuLCBoaWVyIHJ1bXp1cG9lYmVsbiwgc2ljaCBwZXJzb2VubGljaCBhbmdlZ3JpZmZlbiB6dQpmdWVobGVuLCBiZWxlaWRpZ3QgenUgc2Vpbiwgd2VpbCBpbSBzcGllbCBldHdhcyBVbnZvcmhlcmdlc2VoZW5lcyBlaW50cml0dC4KCkxldXRlLCBzY2htZWlzc3QgaWhyIGF1Y2ggYmVpIGVpbmVtIFJvbGxlbnNwaWVsIG9kZXIgaW0gUkwgYWxsZXMgaGluLAp3ZW5uIGV0d2FzIGVpbnRyaXR0LCB3YXMgZXVjaCBuaWNodCBwYXNzdD8KCkRhZHVyY2gsIGRhc3MgZGllc2UgKHdpZSBpY2ggbWVpbmUgYWxsZXJkaW5ncyBudXIgd2VuaWdlKSBMZXV0ZSBoaWVyCmFuZGVyZSAodmVyYmFsKSBhbmdyZWlmZW4gdW5kIHZvbiBtaWVzZXIgU3RpbW11bmcgaW0gTXVkIGxhYmVybiwKKGljaCBiZWhhdXB0ZSBuaWNodCwgZGFzcyBkYXMgbnVyIGF1ZiBTZWl0ZW4gZGVyIEZhbnMgYXVmdHJpdHQpLAp3aXJkIGRpZSBTdGltbXVuZyBlcnN0IHJ1aW5pZXJ0ISEhISEhIQoKTGV1dGUgZmFzc3QgZXVjaCBhbiBldXJlIGVpZ2VuZSBOYXNlIQoKV2VubiBpaHIgenUgZWluZW0gdmVybnVlbmZ0aWdlbiBTcGllbCBuaWNodCBmYWVoaWcgc2VpZCwgZGFubiBpc3QgZXMKd2lya2xpY2ggYmVzc2VyLCB3ZW5uIEFMTEUgUm9sbGVuc3BpZWwtRWxlbWVudGUgd2lya2xpY2ggYXVzIGRlbSBNVUQKZW50ZmVybnQgd2VyZGVuIChGZ3csIFdvbHBlcnRpbmdlciBDbHViKSwgbnVyIG5vY2ggU2NobGFjaHRlbiB1bmQgUXVlc3RzCmxvZXNlbiwKZGFtaXQgd2llZGVyIEZyaWVkZW4gZWlua2VocnQhCgoKU28sIGRhcyBtdXNzdGUgbWFsIGdlc2FndCB3ZXJkZW4hIDspCgpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1pZXNlIHN0aW1tdW5nIGltIG11ZCAoQmFtYnVsa28sICA3LiBGZWIgMTk5NSwgMTI6NTQ6NDApOgojISBybj1HdWxkdWthdCBydD03OTIxNTcyNTEKU2NocmVpYmUgZXJzdGVucyBkb2NoIGJpdHRlIGRhcyBaZXVncyBpbiBkaWUgV29scGllLXJ1YnJpayB1bmQgendlaXRlbnMgaXN0CmVzIHdpdHppZywgd2VubiBMZXV0ZSwgZGllIGJlbGVpZGlnZW4gc2ljaCB1ZWJlciBCZWxlaWRpZ3VuZ2VuIGF1ZnJlZ2VuLgpVbmQgaW4gZGllc2VtIEZhbGwgaGFiZW4gYmVpZGUgU2VpdGVuIG1laHJmYWNoIHVlYmVycmVhZ2llcnQuIFdlbm4gZGFzIGdhbnplCmVpbiBTcGFzcyBzZWluIHNvbGwgKHdhcyBlcyBlaWdlbnRsaWNoIG1hbCB3YXIgLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGV2ZWxhYnN0dWZ1bmcgKEFhcmdvbiwgIDcuIEZlYiAxOTk1LCAxMjo1NzoxOSk6CiMhIHJuPUFuY2FsYWdvbiBydD03OTIxNTE4NzMKSGkhCgppY2ggZmluZGUgbmljaHQsIGRhc3MgZGllIGFic3R1ZnVuZyBncnVuZGxlZ2VuZCBnZWFlbmRlcnQgd2VyZGVuIHNvbGwuCmRpZSBtb3RpdmF0aW9uLCB3ZW5uIGVpbiBzcGllbGVyIGFtIGFuZmFuZyBzY2huZWxsZXIgc3RlaWd0LCBpc3Qgc2ljaGVyCm5pY2h0IHNjaGxlY2h0IGZ1ZXIgZGVuIHNwaWVsdmVybGF1Zi4KCnNvIGxvbmcKQWFyZ29uLCB0aGUga2luZyBpbiB0aGUgcmluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtaWVzZSBzdGltbXVuZyBpbSBtdWQgKEJhbWJ1bGtvLCAgNy4gRmViIDE5OTUsIDEyOjU4OjI2KToKIyEgcm49QmFtYnVsa28gcnQ9NzkyMTU4MDgwCkh1Y2ggLi4uc29ycnkgYWJlciBkYSBrYW0gZWluIEtyaXN0YWxsc2NoZXJiZW5iZWlzc2VyIGFuLgpBbHNvLCB3ZW5uIGRhcyBnYW56ZSBlaW4gU3Bhc3Mgc2VpbiBzb2xsLCBkYW5uIHNvbGx0ZW4gYmVpZGUgU2VpdGVuIGVzIGF1Y2gKd2llIGVpbmVuIFNwYXNzIGF1Zm5laG1lbiB1bmQgZGllIGdhbnplIFNhY2hlIG5pY2h0IGluIGdlZ2Vuc2VpdGlnZQpCZWxlaWRpZ3VuZ2VuLCBkaWUgdW50ZXIgZGllIEd1ZXJ0ZWxsaW5pZSBnZWhlbiwgYXVzYXJ0ZW4gbGFzc2VuIChhcmdoIGljaAp2ZXJnZXNzIGltbWVyIGRpZSBLYW5hZWxlIGFienVzdGVsbGUKQWxzIG1hY2h0IHdhcyBpaHIgd29sbHQsIGFiZXIgbGFzc3QgYml0dGUgZGllIGFuZGVyZW4gU3BpZWxlciBkYW1pdCBpbiBSdWhlLgoKQkFNQlVMS08gZGFzIFdhc3Nlcndlc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVmZW4gdW5kIFF1ZXN0cyAoWWVuZGksICA3LiBGZWIgMTk5NSwgMTQ6MTM6MjYpOgoKTWUsIG15c2VsZiBhbmQgSSB3YXJlbiBzY2hvbiBpbW1lciBfZnVlcl8gZWluIEFQLUxpbWl0IGFscyBTdHVmZW5iZWdyZW56dW5nLAptaXQgYWxsZW4gby5nLiBBcmd1bWVudGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtaWVzZSBzdGltbXVuZyBpbSBtdWQgKEFzbW9kaXMsICA3LiBGZWIgMTk5NSwgMTQ6MzY6NTIpOgojISBybj1HdWxkdWthdCBydD03OTIxNTcyNTEKTmFqYSwgaWNoIGZhc3N0ZSBkYXMgYXVjaCBpbW1lciBhbHMgU3BpZWwgYXVmLCBkZXNoYWxiIGtvZW5udGUgbWFuCmphIGVpbmVuIEF1c3NjaGx1c3Mgdm9uIFdvbHBpZWdlZ25lcm4gYXVzIGRlbSBXb2xwZXJ0aW5nZXItRmFuLUNsdWIKJ3NwaWVsZW4nLCBpbW1lcmhpbiBoYWJ0IGlociBqYSBqZXR6dCBlaW5lbiBlaWdlbmVuIENsdWIgISEKCkljaCBzZWhlIGVzIGluendpc2NoZW4gYXVjaCBzbywgZGFzcyBlaW5pZ2UgU3BpZWxlciBkYXMgYWxsZXMgenUgZXJuc3QgbmVobWVuCnouQi4gUnluZSwgT3JrdG9ldGVyLCBZb2dzb3Rob3RoIHVuZCB3aWUgc2llIGFsbGUgaGVpc3NlbgpTbywgbWVociBmYWVsbHQgbWlyIGViZW5lIG5pY2h0IGVpbiAoaGllciBrb21tZW4gZGF1ZXJuZCBNZWxkdW5nZW4gaGVyZWluKQoKICAgICAgICBDaWFvLCBBc21vZGlzKGdydWVuZGV0IHZpZWxsZWljaHQgYmFsZCBkZW4gVmZtVmlNKQoKUC5TLjogVmZtVmlNIGhlaXNzdCBWZXJlaW4gZnVlciBtZWhyIFZlcnN0YWVuZG5pcyBpbiBNb3JnZW5HcmF1ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5LVNwYXNzIChIb2JvLCAgNy4gRmViIDE5OTUsIDE0OjUxOjQ1KToKTGV0enRlcyBKYWhyIGdhYiBlcyBhdWYgZGVyIE11ZC1QYXJ0eSBlaW5lIFZlcnN0ZWlnZXJ1bmcgdW5kIGVpbmUKCkhMTS1RdWVzdCAoSGlnaExldmVsTWFnaWVyKS4KVW5kIGRpZXNlc21hbD8KCkF1cyBha3V0ZW0gSWRlZW5tYW5nZWwgYmluIGljaCBhdWYgRXVyZSBIaWxmZSBhbmdld2llc2VuOgpJZGVlbiwgVGlwcywgVHJpY2tzIHVuZCBBbnJlZ3VuZ2VuIGJpdHRlIGFuIG1pY2ggcGVyIG1haWwhCgpVZWJyaWdlbnM6IFJvY2h1cyBpc3QgZHJhbiBzY2h1bGQhCgpUc2Nob2UKCiAgIEhvYm8gKGRpZSBLbGF1c3VyZW4gbmljaHQgZ2FueiBzbyB3aWNodGlnIHdpZSBkaWUgRkVURSBoYWVsdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhbmlzaGVuIChNdXNzb2xpbmksICA3LiBGZWIgMTk5NSwgMTU6MTM6MTkpOgpFbmRsaWNoIHplaWdlbiBlaW4gcGFhciBNYWdpZXIgbWFsIEZhcmJlIHVuZCBiYW5pc2hlbiBTcGllbGVyLgpOdW4gamEsIHNjaGVpbmJhciB3ZXJkZW4gbnVuIHBlcnNvZW5saWNoZSBXZXJ0bWFzc3N0YWViZSBhbmdlbGVndC4gTnVuIGd1dC4KV2VpdGVyIHNvLCBNVUQuCkljaCBob2ZmZSBqZW1hbmQgbGllc3N0IGRpZXNlbiBCcmllZiwgYmV2b3IgZXIgdmVyc2Nod2luZGV0LgoKQ2lhbywKQmVuaXRvIChpc3Qga2VpbiBOYXppLCBzb25kZXJuIHdvbGx0ZSBtYWwgc2VoZW4gd28gZWluZ2VncmlmZmVuIHdpcmQpCgoKUFM6IEljaCBmaW5kZSBkaWVzZSBNYXNzdGFlYmUgYWxsZXJkaW5ncyBzZWhyIHN1Ympla3Rpdi4gQmxpdHprcmllZyBleGlzdGllcnQKc2NobGllc3NsaWNoIG5vY2guCgpQUFM6IE11c3Mgc2NobHVzcyBtYWNoZW4uIE1laW5lIEV4ZWt1dGlvbiB3YXJ0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFuaXNoZW4gKENhdHdlYXpsZSwgIDcuIEZlYiAxOTk1LCAxNToyODoxNCk6CiMhIHJuPU11c3NvbGluaSBydD03OTIxNjYzOTkKRGVyIFNwaWVsZXIgQmxpdHprcmllZyBleGlzdGllcnQgdWVicmlnZW5zIG5vY2gsIHdlaWwgaWNoIGlobSwgYmV2b3IKaWNoIGRlbiBOYW1lbiBiYW5pc2hlLCBHZWxnZW5oZWl0IGdlYmVuIG1vZWNodGUgc2ljaCBlaW5lbiBOZXVlbiBOYW1lbgphdXN6dXN1Y2hlbiwgZGFtaXQgaWNoIGRpZSBzYXZlZmlsZXMgdW1rb3BpZXJlbiBrYW5uLgpFaW4gQW5nZWJvdCAsIGRhcyBpY2ggdWVicmlnZW5zIGF1Y2ggRGlyIChBcmllcikgZ2VtYWNodCBoYWJlLCB3YXMgRFUKYWJlciByaWdvcm9zIGF1c2dlc2NobGFnZW4gaGFzdC4KRHUgYmlzdCB1ZWJyaWdlbnMgbmljaHQgZGVyIGVyc3RlIFNwaWVsZXIsIGRlciBnZWJhbmlzaHQgd3VyZGUsIHZpZWxlCmFuZGVyZSB3YXJlbiBfd2VzZW50bGljaF8ga29vcGVyYXRpdmVyIGFscyBEdS4gRGFoZXIgZ2lidCBlcyB6LkIuIGtlaW5lClNwaWVsZXIgbWVociBtaXQgTmFtZW4gSGl0bGVyLCBIaW1tbGVyIG9kZXIgenVtIEJlaXNwaWVsIEplc3VzLgpXZW5uIGR1IG51biB0YXRzYWVjaGxpY2ggZ2ViYW5pc2h0IHdpcnN0LCBkYW5uIGhhdCBkYXMgd2FzIG1pdCBEZWluZW0KYWxsZ2VtaWVuZW4gVmVyaGFsdGVuIHp1IHR1biwgZGVubiBkYXMgd2FyIGF1c3Nlcm9yZGVudGxpY2gKcHJvdm9rYXRpdi4gV2lyIGhhYmVuIGxhbmdlIGF1ZiBkZXIgRXJ6bWFnaWVyZWJlbmUgZGlza3V0aWVydCwgb2IgRHUKZGVubiBudW4gZ2ViYW5pc2h0IHdlcmRlbiBzb2xsdGVzdCBvZGVyIG5pY2h0LCBhYmVyIG5hY2hkZW0gZHUgZGFubgptaXR0bGVyd2VpbGUgRFJFSSBlaW5kZXV0aWcgbmF6aWJlbGFzdGV0ZSBOYW1lbiBhdXNnZXN1Y2h0IGhhdHRlc3QKKEFyaWVyLCBzd2FzdGlrYSB1bmQgTXVzc29saW5pKSwgaGFzdCBEdSBkZW4gQm9nZW4gd2VpdCB1ZWJlcnNwYW5udCEKCldpciB3ZXJkZW4gamV0enQgd29obCBtYWwgZGFydWJlciBkaXNrdXRpZXJlbiwgb2IgU3BpZWxlciBtaXQgZGVyYXRpZ2VuCk5hbWVuIHZvbiB2b3JuZWhlcmVpbiBnZWxvZXNjaHQgd2VyZGVuIGR1ZXJmZW4sIG9obmUgZWluZSBzbyBsYW5nZQpEaXNrdXNzaW9uIGF1c2xvZXNlbiB6dSBtdWVzc2VuICh3YXMgaWNoIGZ1ZXIgc2VociBub3R3ZW5kaWcgaGFsdGUpLgoKSW4gZGVyIEhvZmZudW5nLCBkYXMgYXVjaCBNdXNzb2xpbmkgZGllc2VuIEFydGlrZWwgbWFsIGxlc2VuIHdpcmQuLi4KWW91cnMgdHJ1bHksCiAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFtZW4gdW5kIHNvLi4uIChBcm9tYm9sb3NjaCwgIDcuIEZlYiAxOTk1LCAxNjoyMzozNik6CkhpbW1lbCwgamV0enQgbmltbXQgZXMgYWJlciB3aXJrbGljaCB1ZWJlcmhhbmQuLi5paHIgdmVyZ2Vzc3QgYmVpIGRpZXNlcgpnYW56ZW4gRGlza3Vzc2lvbiBrb25zZXF1ZW50IHp1IHNlaW4sIGFiZXIgbmljaCBiZWltIGtvbnNlcXVlbnRlbiBCYW5pc2hlbgp2b24gTmFtZW4sIHNvbmRlcm4gYmVpIGRlciBrb25zZXF1ZW50ZW4gU2ljaHR3ZWlzZSBlaW5lcyBNVURzIGFscyBlaWdlbi0Kc3RhZW5kaWdlIFdlbHQuCkljaCB3ZWlzcyBuaWNodCwgd2FzIGRhcyBNb3JnZW5ncmF1ZW4gaXN0LCBhYmVyIG9mZmVuc2ljaHRsaWNoIGlzdCBlcyBlaW5lCldlbHQsIHVuZ2VmYWVociBhdWYgZGVtIFN0YW5kIGRlcyBNaXR0ZWxhbHRlcnMgZGVyIEVyZGUuIEFiZXIgZWlucyBpc3QKc2ljaGVyLAplcyBnYWIgaGllciB3ZWRlciBlaW5lbiBIaXRsZXIsIG5vY2ggZWluIE5hemkgUmVnaW1lLiBHZW5hdXNvIHdlbmlnIGdhYiBlcwphbGwKZGllIGFuZGVyZW4gJ3NjaGxpbW1lbicgTmFtZW4uIERhaGVyIGlzdCBlcywgcmVpbiByb2xsZW5zcGllbGVyaXNjaCBnZXNlaGVuLAp2b2VsbGlnIHVuc2lubmlnIHNvbGNoZSBOYW1lbiB6dSBiYW5pc2hlbi4KTmF0dWVybGljaCBzZWggaWNoIGVpbiwgZGFzcyBuaWNodCBhbGxlIExldXRlIG1laW5lIHJvbGxlbnNwaWVsZXJpc2NoZQpFaW5zdGVsbHVuZyB2ZXJzdGVoZW4gd2VyZGVuLCB1bmQgZ2VuYXVzbyBpc3QgZXMga2xhciwgZGFzcyBzaWNoIG1laHIKUmVhbGl0YWV0c2Jlem9nZW5lIFNwaWVsZXIgZHVyY2ggc29sY2hlIE5hbWVuIGlycml0aWVydCBmdWVobGVuLiBVbmQgaWNoIGJpbgpERUZJTklUSVYga2VpbiBOZW9OYXppLCBuaWNodCBtYWwgYW5uYWVoZXJuZCByZWNodHMgZ2VzaW5udC4gQWJlciBpY2ggYmluCmhhbHQKZGVyIE1laW51bmcsIGRhc3MgTGV1dGUgYWxsZSBOYW1lbiB3YWVobGVuIGtvZW5uZW4gc29sbHRlbiwgZGllIHNpZSB3b2xsZW4sCmRlbm4gV29ydGUgc2luZCBqYSBiZWthbm50bGljaCBudXIgU2NoYWxsIHVuZCBSYXVjaC4uLmVyc3Qgd2VubiBzaWUgc2ljaApkYW5lYmVuYmVuZWhtZW4sIGFsc28gYXVjaCBUYXRlbiBmb2xnZW4gbGFzc2VuLCBEQU5OIHd1ZXJkZSBpY2ggZGFzCmJhbmlzaGVuIGJlZnVlcndvcnRlbi4uLgoKSGFidCBpaHIgZWlnZW50bGljaCBzY2hvbm1hbCBkYXJ1ZWJlciBuYWNoZ2VkYWNodCwgZGFzcyBkaWVzZSBOYW1lbnNzYWNoZQplcnN0CmRhZHVyY2ggenVtIFByb2JsZW0gZ2V3b3JkZW4gaXN0LCBzZWl0ZGVtIHNpY2ggZGllIExldXRlIGludGVuc2l2IGRydWViZXIKYXVmcmVnZW4gPyBXZW5uIG1hbiBlcnN0bWFsIHdhcyB2ZXJiaWV0ZXQsIGRhbm4gbWFjaGVuIGVzIGRpZSBMZXV0ZSBoYWx0CmVyc3QgUmVjaHQuLi4KVW5kIG5vY2htYWwgenVtIGJsaXR6a3JpZWcuLi5hbHMgSGlzdG9yaWtlciB1bmQgQmF0dGxlVGVjaCBTcGllbGVyIDstKSBtb2VjaHQKaWNoIGRyYXVmIGhpbndlaXNlbiBkYXNzIGRlciBCZWdyaWZmIEJsaXR6a3JpZWcgZHVyY2hhdXMgbmljaHQgbnVyIG1pdCBOQVpJCkRldXRzY2hsYW5kIHZlcmJ1bmRlbiBpc3QuLi5kaWUgaGFiZW4gZXMgbnVyIHp1bGV0enQgYW5nZXdlbmRldC4gOi1QCgpBcm9tYm9sb3NjaCAoS29lbmlnIGVpbmVzIHppZW1saWNoIGtyaWVnZXJpc2NoZW4gWndlcmdlbnN0YW1tZXMsIHdpcmQgZXIKamV0enQgYXVjaCBnZWJhbmlzaHQgPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lbiB1bmQgc28uLi4gKFllbmRpLCAgNy4gRmViIDE5OTUsIDE3OjQyOjAzKToKIyEgcm49QXJvbWJvbG9zY2ggcnQ9NzkyMTcwNjE2CgpJY2ggYmluLCBlZ2FsIGF1cyB3ZWxjaGVtIEJ1Y2gsIEZpbG0gb2RlciBMZWJlbiA6KSBpY2ggZWluZW4gTmFtZW4ga2VubmUsCm1pc3N0cmF1aXNjaCwgd2VubiBkaWVzZXIgYmVsbGlnZXJlbnQgb2RlciBwcm92b2thdGl2IGlzdC4gTWl0IExldXRlbiwgZGllCnNpY2ggIkFyc2NobG9jaCIsICJIaXRsZXIiLCAiR29sbHVtIiwgIkFnZW50T3JhbmdlIiwgIkJhbHJvZyIgb2RlciwgamEsICJIYXRlIgpuZW5uZW4sIGtvbW1lIGljaCwgYmlzIGljaCBzaWUgbmFlaGVyIGtlbm5lbmxlcm5lLCBuaWNodCBndXQga2xhci4uLgoKV2VubiBkaWUgQnVlY2hlciB2b24gU3RldmVuIEJydXN0IGluIERldXRzY2hsYW5kIHZlcmJyZWl0ZXRlciB3YWVyZW4sIGhhZXR0ZQppY2ggbWljaCBhdWNoIGdlc2NoZXV0LCBtaWNoICJZZW5kaSIgenUgbmVubmVuLCB3ZWdlbiBkZXIgZGFtaXQgdmVyYnVuZGVuZW4KR2VmYWhyLCBhbHMgSW50cmlnYW50IHVuZCBSYWVua2VzY2htaWVkIGRhenVzdGVoZW4uCgpXZW5uIGljaCBlaW5lbiBOYW1lbiBhdXMgZWluZW0gQnVjaCwgRmlsbSBvLmFlLiBrZW5uZSwgZGFubiB2ZXJtdXRlIGljaCwgZGFzcwpkaWUgUGVyc29uLCBkaWUgc2ljaCBuYWNoIGRpZXNlbSBDaGFyYWt0ZXIgYmVuZW5udCwgc2ljaCBhdWNoIG1pdCBkaWVzZW0KaWRlbnRpZml6aWVyZW4gbW9lY2h0ZSAod2VyIG5lbm50IHNpY2ggc2Nob24sIHRyb3R6IGRlcyBzY2hvZW5lbiBLbGFuZ2VzLAoiU2Nod2FuenVzIExvbmd1cyI/KS4KCkZ1ZXIgbWljaCBzaW5kIE5hbWVuIGFsc28ga2VpbmVzd2VncyAiU2NoYWxsIHVuZCBSYXVjaCIsIEFyb21ib2xvc2NoLAp1bmQgZnVlciBkaWVqZW5pZ2VuLCBkaWUgc2llIHNpY2ggYXVzc3VjaHRlbiwgd29obCBlYmVuc293ZW5pZy4KCkZvbGdlcmljaHRpZyBrYW5uIGplbWFuZCwgZGVyIHNpY2ggIktpbmRlcnNjaGFlbmRlciIgKHp1IGxhbmcsIGljaCB3ZWlzcyksCiJaeWtsb25CIiBvZGVyICJCbGl0emtyaWVnIiAoc2ljISkgbmVubnQsIGluIGRpZXNlbSBNVUQgbmljaHQgbWl0IG1laW5lcgpIaWxmZSBvZGVyIG1laW5lbSBWZXJzdGFlbmRuaXMgcmVjaG5lbiwgX2Rlbm4gc2llIHdpc3Nlbiwgd2FzIHNpZSB0dW5fIQoKWW91cnMgcmVzcGVjdGZ1bGx5CiAgICAgICAgICAgICAgICAgICBZZW5kaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6ICAoRnl0LCAgNy4gRmViIDE5OTUsIDE4OjEyOjEwKToKIyEgcm49SGF0ZSBydD03OTE4NDUwNDcKClV1cHMuLi4gd2lsbCBqYSBuaWNodCBtZWNrZXJuIG9kZXIgZ2FyIGRpZSBoYXVzYmF1ZW5kZW4KU2VoZXIgaW4gU2NodXR6IG5laG1lbi4uLiBBYmVyIHZvbiB3ZWxjaGVyCmhvbW9nZW5lbiBMYW5kc2NoYWZ0IHNwcmljaHN0IER1LCBIYXRlPwoKU2VpdCBkZW0gZXMgUmF1bWJlc2NocmVpYnVuZ2VuIG1pdCBTdGVyZW9hbmxhZ2VuIGdpYnQKdW5kIEx1ZnRraXNzZW5ib290ZSB1bmQgYWVobmxpY2hlcyBTcGllbHpldWcgKGJ6dyBzZWl0CmRlbSBpY2ggYXVmIGRhcyBaZXVnIGdlc3Rvc3NlbiBiaW4pIGZlaGx0IG1pciBlY2h0IGV0d2FzCmllIEF0bW9zcGhhZXJlIGltIFNwaWVsLiBEYXJhbiBhZW5kZXJuIGF1Y2ggTmFtZW4gd2llIFNjaHJhdCB1bmQgTWVja2kKbmljaHRzLCBpbSBHZWdlbnRlaWwuIFZpZWxsZWljaHQgc29sbHRlIG1hbiBkb2NoIGVpbmUgQXJ0CkF1c3N0YXR0dW5nc3JpY2h0bGluaWUgaW0gTUcgZWluZnVlaHJlbgpvZGVyIG1pciBtZWluZSBWb3JsaWViZSBmdWVyIEFEJkQgYWVobmxpY2hlClNwaWVsZXJlaWVuIGF1c3RyZWliZW4uLi4KCkZ5dCwgZWluIGJpc3NjaGVuIGRlc2lsbHVzaW9uaWVydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKmxhY2gqIChPZXR0aSwgIDcuIEZlYiAxOTk1LCAxODoyMjoxNCk6Ckh1aHUgWWVuZGkgIQoKSmEga2FsciB3aXIgd2FlaGVsbiBhbGxlIHVuc2VyZSBOYW1lbiwgd2VpbCB3aXIgZGFtaXQgd2FzIGF1c2RydWVja2VuIHdvbGxlbgohClNjcnVtcGZpIHdpcmQgaW1tZXIga2xlaW5lcgpCb2luZyB0aXRzY2h0IGR1cmNoIGRpZSBHZWdlbmQKR3V5YnJ1c2ggaXN0IG5lIHNjaHd1bGUgWmFobmJ1ZXJzdGUKVG9hc3Ricm90IGlzdCBkdW1tIHdpZSBzZWxiaWdlcwpGaWNrZnJvc2NoIGlzdCBlaW4ga29ycHVsaWVyZW5kZXMgUmVwdGlsCk5qb3kgaXN0IGVpbiBHZW5pc3NlcgooYmVsbGlnZXJlbnQgaXN0IHVlYnJpZ2VuIGVpbiBzY2hlb25lcyBXb3J0KQpEYW5jZXIgaXN0IGF1Y2gga2xhcgoKQWxzbyBtZWhyIGdlYmFsbHRlbiBNdWVsbCBhbHMgaW4gRGVpbmVtIEFydGlrZWwgaGFiIGljaCBzZWx0ZW4gZ2VsZXNlbiwKZ2x1ZWNrd3Vuc2NoLi4uCgpPZXR0aSwgaWNoIGhlaXNzZSBpbiBSTCBtYW5jaG1hbCBhdWNoIHNvLCBobW1tbW0sIGthbm4gbml4IGRhZnVlciwgaGFiIGtlaW5lClByb2JsZW1lIG1pdCBMZXV0ZW4gZGllIHNpY2ggRHVtbWJldXRlbCBvZGVyIHdpZSBhdWNoIGltbWVyIG5lbm5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFuaXNoZW4gKFN1YmJhbWFubiwgIDcuIEZlYiAxOTk1LCAxODoyOTo1Nyk6CiMhIHJuPUNhdHdlYXpsZSBydD03OTIxNjcyOTQKTmEgZW5kbGljaCBhaHQgZXMgbWFsIGVpbmVyIHZvcmdlc2NobGFnZW4uCgpJY2ggYmluIHNjaG9uIGxhbmdlIGRlciBNZWludW5nLCBkYXMgTmFtZW4sIGRpZSBtaXQgbmVvbmF6aXN0aXNjaGVtCkdlZGFua2VuZ3V0IHp1IHR1biBoYWJlbiwgZ2ViYW5pc2hkIGdlaG9lcmVuLiBFcyBnaWJ0IGltbWVyIHdpZWRlciBMZXV0ZSwgZGllCmRhbm4gc2FnZW4sIG1hbiBrYW5uIG5pY2h0IGFsbGUgTmFtZW4gYmFuaXNoZW4sIGlyZ2VuZHdlbSBmYWVsbHQgbm9jaCBlaW5lcgplaW4uLi4KCkd1dCwgZGFzIGlzdCBlaW56dXNlaGVuLiBDYXR3ZWF6bGUncyBWb3JzY2hsYWcgb2huZSBncm9zc2VzIFBhbGF3ZXIgenUKbG9lc2NoZW4sIGhhbHRlIGljaCBmdWVyIHZvbGxrb21tZW4gZ3V0ISBNYW4ga2FubiBoZXV0ZSB2b24gbmllbWFuZGVtCnZlcmxhbmdlbiwgZGFzIGVyIHNvbGNoZSBOYW1lbiAoSGl0bGVyIGVjdC4pIGFremVwdGllcnQuIERhZnVlciBkdWVyZnRlIGRpZQpBdWZrbGFlcnVuZyB6dSB3ZWl0IGZvcnRnZXNjaHJpdHRlbiBzZWluLiBJbSBHZWdlbnp1ZyBrYW5uIG1hbiBhYmVyIHNlaHIgd29obApkZW4gQW5zcHJ1Y2ggYXVmIGVpbiBiaXNjaGVuIFVlYmVybGVndW5nIHVuZCBEZW5rZW4gYW4gZGllamVuaWdlbiByaWNodGVuLCBkaWUKc2ljaCBoaW50ZXIgZGVyIEFub255bWl0YWV0IGRlcyBOZXR6ZXMgdmVyc3RlY2tlbiB1bmQgbWVpbmVuIHNpY2ggaGllciBtaXQKc29sY2hlbiBOYW1lbiBhdWZzcGllbGVuIHp1IHdvbGxlbi4gKCBieSB0aGUgd2F5IGdyYWQga29tbXQgZWluZSBNYXNzZWdlCnJ1ZWJlcjoKICAgICAgICAgICAgTWFya3VzbWVnYSBydWZ0OiBGVUNLIFlBTlRPIElPRiBST0NIT1VTIEJPSU5HIHVuZCBDTwohISEhISEhISEhISEhCiAgICAgICAgICAgICBiZWkgYWxsZXIgTGllYmUgenVyIGZyZWllbiBNZWludW5nc2FldXNzZXJ1bmcsIGFiZXIgaGllciBob2VydApkZXIKICAgICAgICAgICAgIFNwYXNzIGRvY2ggd29obCBhdWYsIG9kZXIgPykKCkFsc28gTWFnZ2lzLCB3ZW5uIGlociB3b2xsdCwgZGFubiBzY2htZWlzc3QgamVkZW4sIGRlciBlaW5lbgpyZWNodHNleHRyZW1pc3Rpc2NoZW4gTmFtZW4gb2RlciBBdXNkcnVjayBhbHMgSWQgaGF0IHJhdXMuIERhcyBnbGVpY2hlIGdpbGQKdWVicmlnZW5zIGdlbmF1c28gZnVlciBkYXMgbGlua3NleHJlbWUgTGFnZXIgKElSQSwgUkFGIHVuZCBLb25zb3J0ZW4pLiBNZWluClNlZ2VuIGhhYnQgaWhyIQoKVW5kIHNvbGNoZSBJZGlvdGVuLCB3aWUgZGVyIGRhIG9iZW4gc29sbHRlbiBtaXQgbGViZW5zbGFuZ2VtIGhhbHN3ZWggYmVzdHJhZnQKd2VyZGVuLgoKRXVlciBhbnNvbnN0ZW4gaW1tZXIgbGliZXJhbGVyCgpTIHUgYiBiIGEgbSBhIG4gbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICpsYWNoKiAoWWVuZGksICA3LiBGZWIgMTk5NSwgMTg6MzA6MjQpOgojISBybj1PZXR0aSBydD03OTIxNzc3MzQKCkthbm5zdCBEdSBtZWluZSBBcmd1bWVudGF0aW9uIHdpcmtsaWNoIG5pY2h0IG5hY2h2b2xsemllaGVuLCBPZXR0aT8KCk5lYmVuYmVpOiBlaW5lIHNjaHd1bGUgWmFobmJ1ZXJzdGUgaGllc3NlICJnYXkgdG9vdGhicnVzaCIsICJHdXlicnVzaCIgd2FlcmUKYW0gZWhlc3RlbiBub2NoIGVpbmUgIktlcmxidWVyc3RlIiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGV2ZWxhYnN0dWZ1bmcgKEZ5dCwgIDcuIEZlYiAxOTk1LCAxODozNToxMyk6CiMhIHJuPVN0YWhsZG9ybiBydD03OTE4NTMzMTYKCkFQIGFscyBWb3JhdXNzZXR6dW5nIGZ1ZXInbiBBdWZzdGllZyBrbGluZ3QgbmljaHQKdWViZWwgaW4gbWVpbmVuIE9ocmVuIDopCgpGeXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKmxhY2gqIChHdXlicnVzaCwgIDcuIEZlYiAxOTk1LCAxODo1MDowNyk6CiMhIHJuPVllbmRpIHJ0PTc5MjE3ODIyNApIaUhpCmRhcmYgaWNoIGRhenUgYXVjaCB3YXMgc2FnZW4/CgoKCgoKCgoKCgoKCgoKU0NIV0FDSFNJTk4hISEKCmljaCBiaW4gdW5kIGJsZWliIFBpcmF0LCB1bmQgc2VsYnN0IHdlbm4gaWNoIHNjaHd1bCB3YWVyLCBzdG9lcnRzIGtlaW5lbiwgdW5kCndlbm4gaWNoIG5lbiBIYWFyc2Nobml0dCBoYWIsIHdpZSBlaW4gQnVlcnN0ZSAsIGlzIGRhcyBhdWNoIGVnYWwuLgoKSW1tZXIgZGllc2UgTmFtZW5zZGlza3V1c2lvbi4uLmljaCByYWZmcyBuaWNodC4KSXJnZW5kd2llIGVyaW5uZXJ0IG1pY2ggZGFzIGFsbGVzIGFuIGRpZSBVU0EgbWl0IGlocmVyIHBvbGl0aWNhbCBjb3JyZWN0bmVzcy4KUmVkZXQgbWl0IGRlbiBMZXV0ZW4gZHJ1ZWJlciwgd2VubnMgZXVjaCBzdG9lcnQuIEZyYWd0IHNpZSB3YXMgc2llIHNpY2gKZ2VkYWNodCBoYWJlbi4gRGFubiBnaWJ0cyAzIE1vZWdsaWNoa2VpdGVuOgphKSBTaWUgc2VoZW5zIGVpbiB1bmQgbmVobWVuIGVpbmUgTmFtZW5zYWVuZGVydW5nIGFuLgpiKSBTaWUgd29sbGVuIG51ciBwcm92b3ppZXJlbi4gRGFubiBhbnR3b3J0ZW4gc2llIGVoIG5pY2h0IHVuZCBpaHIgaGF1dCBzaWUKcmF1cy4KYykgU2llIGtvZW5uZW4gYmVncnVlbmRlbiwgd2FydW0gc2llIHNvIGhlaXNzZW4sIHVuZCBkYXNzIGRhcyBlaW4KTWlzc3ZlcnN0YWVuZG5pcyBpc3QuIERhbm4ga29lbm5lbiBzaWUgZGFzIGRhcmxnZW4gdW5kIGFsbGUgKG5hamEgbmllIGFsbGUpCnVlYmVyemV1Z2VuIG9kZXIgc2VoZW5zIGVpbiA9PiBzaWVoZSBQdW5rdCBhKQoKU28sIGRhc3Mgd2FyIG1laW4gZXJzdGVyIEFydGlrZWwgenUgZGllc2VyIGxlaWRpZ2VuIERpc2t1c3Npb24uCkljaCBob2ZmZSBkaWVzZSBadXNhbW1lbmZhc3N1bmcgZmFzc3QgZGllIGdlYWV1c3NlcnRlbiBNZWludW5nZW4KZWluaWdlcm1hc3NlbiB6dXNhbW1lbiB1bmQgYmVlbmRldCBkYXMgZW5kbGljaC4KQWVoLCBub2NoIHdhcy4uCkRlciBlcnN0ZSBUZWlsIGlzdCBJcm9uaWUsIGRlciB6d2VpdGkgaXN0IG1laW5lIGVybnN0aGFmdGUgTUVpbnVuZyEKCnVuZCBub2NoIHdhczogZGVyIEFydGlrZWwgaXN0IGxhbmcgdW5kIG1vZWdsaWNoZXJ3ZWlzZSBtaXQgRmVobGVybiBkcmluLiAoaGFiCmtlaW5lbiBLb2JvbGQsIGFsbGUgS2FuYWVsZSBhbiB1bmQga2VpbmUgUGV0ZXJzaWxpZSkgLi4uYWJlciBXdXJzY2h0IGlzdCBlcwphdWNoLgpJY2ggaG9mZmUgSWhyIHZlcnN0ZWh0IGF1Y2ggc28gLCB3YXMgaWNoIG1laW5lLi4uSWNoIHNjaGF1IHNjaG9uIGdhciBuaWNodAptZWhyLCB3YXMgaWNoIHNjaHJlaWIuIChIaUhpKQoKU28sIGRhcyB3YXJzLi4KR3V5YnJ1c2guLmRlciBzY2h3dWxlIFBpcmF0IG1pdCBCdWVyc3RlbmhhYXJzY2huaXR0LCBkZXIgbWFuY2htYWwgZWluIEtlcmwKaXN0IHVuZCBtYW5jaG1hbCBuZSBaYWhuYnVlcnN0ZQoKCWF1c2dlc2VuZnQhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0dWZlbiAoSm9mLCAgNy4gRmViIDE5OTUsIDE5OjI5OjM4KToKIFp1bSBFcmxhbmdlbiBlaW5lciBob2VoZXJlbiBTdHVmZSBpc3QgamV0enQgYXVjaCBkZXIgRXJ3ZXJiIHZvbiBBYmVudGV1ZXItClB1bmt0ZW4gbm90d2VuZGlnLiBEYWJlaSBzaW5kIGRpZSBQcm96ZW50LUFuZ2FiZW4gYXVmIGRpZSBBbnphaGwgZGVyIHp1bQpNYWdpZXIvU2VoZXItd2VyZGVuIG5vZXRpZ2VuIEFiZW50ZXVlcnB1bmt0ZSB6dSB2ZXJzdGVoZW4uIERpZXNlIFphaGwKd2lyZCBiZWkgJ2luZm8nIGluIEtsYW1tZXJuIGhpbnRlciAnQWJlbnRldWVycHVua3RlJyBhbmdlemVpZ3QuIER1IGthbm5zdAppbiBkZXIgR2lsZGUgJ2tvc3RlbicgdGlwcGVuLCB1bSBmZXN0enVzdGVsbGVuLCB3aWUgdmllbGUgUHVua3RlIERpciBqZXdlaWxzCm5vY2ggZmVobGVuLgoKIEFic3R1ZnVuZ2VuOiAgICAgICBTdHVmZSAgNCAgICAgICAgICAgNSUKICAgICAgICAgICAgICAgICAgICBTdHVmZSAgNyAgICAgICAgICAxMCUKICAgICAgICAgICAgICAgICAgICBTdHVmZSAxMCAgICAgICAgICAyMCUKICAgICAgICAgICAgICAgICAgICBTdHVmZSAxMyAgICAgICAgICAzNSUKICAgICAgICAgICAgICAgICAgICBTdHVmZSAxNSAgICAgICAgICA1MCUKICAgICAgICAgICAgICAgICAgICBTdHVmZSAxOSAgICAgICAgICA2NSUKIC0tLQpEaWVzZXIgVGV4dCBzdGVodCBqZXR6dCBhdWNoIGluICdoaWxmZSBzdHVmZW4nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYW5pc2hlbiAoQmVsZGluLCAgNy4gRmViIDE5OTUsIDE5OjQ3OjA4KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5MjE2NzI5NApIaSBDYXQqIDopCgpOdXIgZWluZSBrbGVpbmUgRnJhZ2U6CldhcnVtIGlzdCBkZW5uIEplc3VzIGVpZ2VudGxpY2ggZ2ViYW5pc2h0PwpVbmQsIHdlbm4gZXMgZWluZSBsb2dpc2NoZSBCZWdydWVuZHVuZyBkaWUgUmVsaWdpb24gYmV0cmVmZmVuZCBnaWJ0LCB3YXJ1bQpkYW5uIG5pY2h0IGF1Y2ggJ01vaGFtbWVkJywgJ0FsbGFoJyB1c3cuPwpPZGVyICdKZWhvdmEnIG9kZXIgJ0phaHZlJyAoZWluIE5hbWUgaW0gZGVyIGx0LiBqdWVkaXNjaGVtIEdsYXViZW4gbmljaHQKZ2VuYW5udCB3ZXJkZW4gZGFyZiA6KS4KCkZyYWdlbmQgdW5kIHNpY2ggZGVuIEtvcGYga3JhdHplbmRlIC0tIEJlbGRpbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChDYW1waW5vLCAgNy4gRmViIDE5OTUsIDIwOjQwOjEwKToKSWNoIGJpbiBpbW1lciBub2NoIGRlciBNZWludW5nLCBkYXNzIG1hbiBrZWluZW4gU3BpZWxlciB6dW0gV2VjaHNlbG4Kc2VpbmVzIE5hbWVucyB6d2luZ2VuIHNvbGx0ZS4KV2VyIHNpY2ggZHVyY2ggTmFtZW4gYW5nZWdyaWZmZW4gZnVlaGx0LCBrYW5uIG1hbiBkZW4gU3BpZWxlciBpZ25vcmllcmVuLApkYXNzIGZ1ZWhydCBkYW5uIHdhaHJzY2hlaW5saWNoIGF1dG9tYXRpc2NoIGRhenUsIGRhc3MgU3BpZWxlciBtaXQKemllbWxpY2hlbiBraW5kaXNjaGVuIE5hbWVuLCB2b24gOTklIGFsbGVyIGFuZGVyZW4gTWl0c3BpZWxlcgppZ25vcmllcnQgd2VyZGVuLCB1bmQgaWhuZW4gZGllIEx1c3QgYW0gU3BpZWxlbiB1bmQgVmVyd2VpbGVuIGltCk1vcmdlbkdyYXVlbiB2ZXJnZWh0LgpJY2ggZGVua2UgamUgbWVociB0cmFyYSB1bSBkaWVzZSBMZXV0ZSBnZW1hY2h0IHdpcmQsIHVtc28gb2VmdGVycwp3ZXJkZSBzaWNoIGFuZGVyZSBtaXQgaW1tZXIgbmV1ZW4gWndlaXRpZXMgZWlubG9nZ2VuLCB1bSBkaWUgUmVzb25hbnoKYXVmIGlocmUgZmVydGlnZW4gTmFtZW4genUgdGVzdGVuLgoKRGllIExldmVsZXJob2VodW5nIHZvbiBkZW4gQVAgYWJoYWVuZ2lnIHp1IG1hY2hlbiwgaGFsdGUgaWNoIGdydW5kLQpzYWV0emxpY2ggZnVlciBlaW5lIHNjaGxlY2h0ZSBJZGVlLCBhYmVyIGRhIGVzIGpldHp0IHNjaG9uIHp1IHNwYWV0IGlzdCwKZnVlZ2UgaWNoIG1pY2ggZGVuIEVudHNjaGVpZHVuZ2VuIG1laW5lciBHb2V0dGVyLgpJY2ggZGVua2UgZXMgZ2lidCBkcmVpIEdydXBwZW4gdm9uIFNwaWVsZXJuLCBkaWUgZWluZW4gZGllIGdlcm5lIHF1ZXN0ZW4sCmRpZSBhbmRlcmVuIGRpZSBnZXJuZSBraWxsZW5kIGR1cmNoIGRpZSBHZWdlbmQgbGF1ZmVuLCB1bmQgZGllIGRyaXR0ZSBHcnVwcGUKZGllIGJlaWRlcyBnZXJuZSBtYWNodC4KRnVlciBtaWNoIHdhciBlcyBlaW4gVWViZWwgMSBNaW8uIEVQIHp1c2FtbWVuIHp1IGJla29tbWVuLCB1bSBNYWdpZXIKenUgd2VyZGVuLCB1bmQgaWNoIGRlbmtlIGVzIHdpcmQgZWluZSBRdWFsIGZ1ZXIgdmllbGUgc2Vpbiwgc3RhZW5kaWcKcXVlc3RlbiB6dSBtdWVzc2VuLgpEYXMgd2lyZCBkYXp1IGZ1ZWhyZW4sIG5hamEsIGRhcyBoYWx0IG5vY2ggbWVociBLb21wbGV0dGxvZXN1bmdlbiBpbSBNYWlsLQpWZXJ6ZWljaG5pcyBkaWUgUGxhdHRlIHZvbGxtdWVsbGVuLCBsZWlkZXIga2FubiBtYW4gZGFzIG5pY2h0IHZlcmhpbmRlcm4uCkFsc28gd2FzIHdvbGxsdGUgaWNoIHNhZ2VuLi4uCmFlaCwuLi4gcXVhc2ksLi4uIHNvenVzYWdlbiwgLi4uIE5JWAoKVWVicmlnZW5zLCBoYWJ0IGlociBzY2hvbiAnVm9sbCBOb3JtYWwnIG9kZXIgJ05hY2h0d2FjaGUnIGltIEtpbm8KZ2VzZWhlbiwga2FubiBpY2ggamVkZW0gbnVyIGVtcGZlaGxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICAoSGF0ZSwgIDguIEZlYiAxOTk1LCAwODo0ODowOSk6CiMhIHJuPUZ5dCBydD03OTIxNzcxMzAKTGllYmVyIEZ5dCwKCmljaCByZWRlIGJlaSBob21vZ2VuIHZvbiBlaW5lciB2b2xsc3RhZW5kaWcsIG9kZXIgd2VuaWdzdGVucyBuYWhlenUKdm9sbHN0YWVuZGlnZW4gQmVzY2hyZWlidW5nIGRlciBSYWV1bWUhIE5pY2h0IHZvbiBlaW5lciBIb21vZ2VuaXRhZXQKaGluc2ljaHRsaWNoIGRlciBBdG1vc3BoYWVyZS4gRGVzd2VnZW4gc2luZCBEaW5nZSwgd2VsY2hlIHVuYmVzY2hyaWViZW4Kc2luZCBhdWNoIHVuZXJ3dWVuc2NodC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAqbGFjaCogKEhhdGUsICA4LiBGZWIgMTk5NSwgMDg6NTI6MDEpOgojISBybj1HdXlicnVzaCBydD03OTIxNzk0MDcKRmFsbHMgaWNoIG1hbCBtZWluZSB1bmJlZGV1dGVuZGUgTWVpbnVuZyB6dSBkZW0gVGhlbWEgc2FnZW4gZGFyZjoKCkljaCBTdGltbWUgZGVuIGRyZWkgTW9lZ2xpY2hrZWl0ZW4genUsIHdlbGNoZSB2b24gR3V5YnJ1c2ggZ2VuYW5udCB3b3JkZW4uCkRhZHVyY2gga2FubiBtYW4gYXVjaCBzY2huZWxsIHVuZCBlZmZpemllbnQgc29sY2hlIFByb2JsZW0gbG9lc2VuLgpGYWxsIHp3ZWkgZXJnaWJ0IGRhbm4gaGFsdCBTY2huZWxsdmVyZmFocmVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lbiB1bmQgc28uLi4gKExpLCAgOC4gRmViIDE5OTUsIDA5OjAxOjMwKToKIyEgcm49QXJvbWJvbG9zY2ggcnQ9NzkyMTcwNjE2CkFsc28gZGFzcyBOYW1lbiBTQ2hhbGwgdW5kIFJhdWNoIHNpbmQuIGRhIGdlYmUgaWNoIGRpciBSZWNodC4gV2VubiB3aXIgIm51ciIKZWluIFJvbGxlbnNwaWVsIGJlaSBtaXIgenUgSGF1c2Ugd2FlcmVuIGtvZW5udGVzdCBEdSBtZWluZXR3ZWdlbiBqZWRlbiBOYW1lbgpuZWhtZW4sIGRlbiBkdSBtb2VjaHRlc3QuCkRhcyBQcm9ibGVtIGlzdCBudXIsIGRhc3Mgd2lyIGhpZXIgb2VmZmVudGxpY2ggc2luZCwgdW5kIGRhcyBNb3JnZW5ncmF1ZW4KYXVjaCBMZXV0ZW4gYmVrYW5udCB3ZXJkZW4ga2FubiwgZGllIHZvbiBSZW9sbGVuc3BpZWwga2VpbmUgQWhudWluZyBoYWJlbiwKYWJlciBob2VocmVuLCBkYXNzIGhpZXIgTmFtZW4gd2llIEJsaXR6a3JpZWcsIFBhZWRlcmFzdCwgTXVzc29saW5pIHVzdy4Kdm9ya29tbWVuLgpXYXMgaGFiZW4gZGllIHdvaGwgZnVlciBlaW5lbiBFaW5kcnVjay4KT2RlciBzdGVsbCBkaXIgJ21hbCB2b3IsIGVpbmVlciB2b24gJ25lciBaZWl0dW5nIGhvZXJ0IHZvbSBNRywgdW5kIHNjaGF1dApoZXJlaW4uCkRlciBoYXQgZXJzdG1hbCBzZWluZSBTQ2hsYWd6ZWlsZSwgd2VubiBlciBzb2xjaGUgTmFtZW4gaGllciBzaWVodC4gSWNoIHdlaXNzCm5pY2h0LCBvYiBpaHIgbWFsIEJlcmljaHRlIGltIEZlcm5zZWhlbiB1YmVyIEZSUCBnZXNlaGVuIGhhYnQsIGFiZXIgZGllIExldXRlCnBmbGVnZW4gZ2VybmUgaWhyZSBWb3J1cnRlaWxlLCBkaWUgd2lyIGphIHp1ciBHZW51ZWdlIGtlbm5lbi4gKG9kZXIgbmljaHQ/KQpEZXNoYWxiIG11ZXNzZW4gd2lyIGZ1ZXIgIlNhdWJlcmtlaXQiIG5hY2ggYXVzc2VuIHNvcmdlbiwgd2VubiB3aXIgbmljaHQKd29sbGVuLCBkYXNzIGRpZXNlcyBNVUQgZ2VzY2hsb3NzZW4gd2lyZC4KKEluIGRpZXNlbSBadXNhbW1lbmhhbmcgbm9jaG1hbCBkZXIgQXVmcnVmOiBUcmV0ZXQgZGVtIE1HLUZvZXJkZXJ2ZXJlaW4gYmVpISkKClVuZCB6dW0gVGhlbWEgQmxpdHprcmllZzogZHUgaGFzdCByZWNodCwgZXMgaXN0IGtlaW4gTmF6aSB0eXBpc2NoZXMgV29ydCwKYWJlciBlcyBlcndlY2t0IGViZW5mYWxscyBzY2hsZWNodGUgQXNzb3ppYXRpb25lbi4gRXMgZ2VodCBuaWNodCBudXIgVW0KUmVjaHRzcmFkaWthbGlzbXVzKG9id29obCBkYXMgVGhlbWEgaW0gTW9tZW50IHNpY2hld3JsaWNoIGRhcyBnZWZhZWhybGljaHN0ZQppc3QpIHNvbmRlcm4gYXVjaCB1bSBtaWxpdGFyaXN0aXNjaGUoQmxpdHprcmllZykuIEViZW5zbyBmaW5kZSBpY2gsIGVnYWwgd2llCmRpZSBEaXNrdXNzaW9uIGF1c2dlaHQsIHdhcyBlaW4gUGFlZGVyYXN0IG51biB3aXJrbGljaCBpc3QsIGRlbiBOYW1lbgpnZWVpZ25ldCwgZWluIHNjaGxlY2h0ZXMgTGljaHQgYXVmIGRhcyBNVWQgenUgd2VyZmVuLgpEYXMgZ2FuemUgUHJvYmxlbW4gaXN0IG5hdHVlcmxpY2g6IFdhcyBpc3Qgbm9jaCBha3plcHRhYmVsKEZpY2tmcm9zY2g/KSB1bmQKd2FzIG5pY2h0KEJsaXR6a3JpZWc/KS4gRGVzaGFsYiBzY2hsYWdlIGljaCBkaWUgR3J1ZW5kdW5nIGVpbmVzIEtvbW1pdGVlcyB2b3IsCmRhc3MgZGllIE1VRC1Qb2xpemVpIGRhYmVpIHVudGVyc3R1ZXR6dCwgd2VsY2hlIFNwaWVsZXIgYXVmZ2Vmb2VyZGVydCB3ZXJkZW4sCmlocmUgTmFtZW4genUgYWVuZGVybiwgdW5kIHdlbGNoZSBuaWNodC4KU0NobGllc3NsaWNoIGthbm4gbWFuIG5pY2h0IGFsbGVzIGltIFZvcnJhdXMgYmFuaXNoZW4uCgpMaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICAoTGksICA4LiBGZWIgMTk5NSwgMDk6MDU6MDgpOgojISBybj1GeXQgcnQ9NzkyMTc3MTMwClJlY2h0IGhhc3QgRHUhCkljaCBiaW4gZGFmdWVyLCB6dW1pbmRlc3RlbnMga2VpbmUgbmV1ZSAiVGVjaG5payIgZWluenVmdWVocmVuLCBhbHNvClJlZ2lvbnNtYWdpZXIgYXVmZ2VwYXNzdCEKT2IgbWFuIG5hY2h0cmFlZ2xpY2ggYXVzIGRlbSBMdWZ0a2lzc2VuYm9vdCBlaW4gYW5kZXJlcyBtYWNodCwgaGFsdGUgaWNoIGZ1ZXIKc2VociBiZWRlbmtsaWNoLCBhYmVyIHNjaG9lbmVyIHdhZXJlIGVzIHNjaG9uLgoKTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6ICAoWmFyZG96LCAgOC4gRmViIDE5OTUsIDA5OjA4OjMxKToKIyEgcm49TGkgcnQ9NzkyMjMwNzA4CkVzIGdpYnQgYW5kZXJlIFNhY2hlbiwgZGllIGVoZXIgbmljaHQgaW4gZWluIEZhbnRhc3ltdWQgcGFzc2VuIGFscyBkYXMKTHVmdGtpc3NlbmJvb3QuIEhhdCBzaWNoIHVlYmVyaGF1cHQgc2Nob25tYWwgamVtYW5kIGRpZSBCZXNjaHJlaWJ1bmcKZHVyY2hnZWxlc2VuPyBEYXMgQm9vdCB3aXJkIHZvbiBPcmtzIGFuZ2V0cmllYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lbiBiYW5pc2hlbiAuLi4gKER1cmlhbiwgIDguIEZlYiAxOTk1LCAxMDoyODowMSk6CkhhbGxvIExldXRlIQoKV2lzc3QgSWhyIGVpZ2VudGxpY2gsIGF1ZiB3YXMgZnVlciBkdWVubmVtIEVpcyBJaHIgRXVjaCBiZXdlZ3Q/IElocgp3b2xsdCBhbGxlIE5hbWVuLCBkaWUgZXR3YXMgbWl0IFJlY2h0c3JhZGlrYWxpc211cyBpbSB3ZWl0ZXN0ZW4gU2lubmUKKEJsaXR6a3JpZWcgdS5hZS4pIHp1IHR1biBoYWJlbiwgYmFuaXNoZW4uIEtsYXIsIGRhbm4gZmFuZ3QgZG9jaCBnbGVpY2gKbWFsIG1pdCBkZW0gZm9sZ2VuZW0gTmFtZW4gYW46CgpIQVRFCgpIYXRlIGlzdCBiZWthbm50bGljaCBkYXMgZW5nbGlzaGUgV29ydCBmdWVyIEhhc3MsIHVuZCBIYXNzIGlzdCBlcywgd2FzCmRpZSBOYXppcyBkZW4gSnVkZW4gZ2VnZW51ZWJlciBlbXBmdW5nZW4gaGFiZW4uIEVzIHdhZXJlIGFsc28gbnVyIGxvZ2lzY2gsCmRpZXNlbiBOYW1lbiBTT0ZPUlQgZnVlciBlaW4gc2F1YmVyZXMgTVVEIHp1IGJhbmlzaGVuISEKCkhhdGUsIHdhcyBtZWluc3QgRHU/CgpMZXV0ZSwgYmVncmVpZnQgZW5kbGljaCwgZGFzcyBkaWUgc2NobGVjaHRlIE5hbWVuc3dhaGwgaW0gTVVEIG51ciBkYW5uCnZlcmhpbmRlcnQgd2lyZCwgd2VubiB3aXIgTGV1dGUgbWl0IHNvbGNoZW4gTmFtZW4gaWdub3JpZXJlbiEhISBTb2xhbmdlCnNvbGNoZSBMZXV0ZSBlaW5lIHNvbGNoZSBSZWFrdGlvbiBoZXJ2b3JydWZlbiwgd2VyZGVuIHNpZSBpbW1lciB1bmQgaW1tZXIKd2llZGVyIGtvbW1lbiwgbWFjaHQgc2NobGllc3NsaWNoIFNwYXNzIHp1IHByb3ZvemllcmVuLgoKQWVobmxpY2hlIFBoYWVub21lbmUgZmluZGVuIHNpY2ggZG9jaCBhdWNoIGluIGRlciBQb2xpdGlrLCB3byBkdXJjaApzdGFlbmRpZ2UgQWJsZWhudW5nIGVpbmVyIFBhcnRlaSBkaWVzZSBQYXJ0ZWkgZXJzdCBpbiBnYW56IERldXRzY2hsYW5kCmJla2FubnQsIHVuZCBkdXJjaCBkYXVlcm5kZSBEaXNrdXNzaW9uIHVtIHNpZSBhdXMgYmVsaWVidCAoPz8pLCBzcHJpY2gKZ2V3YWVobHQgd3VyZGUuCgpBbHNvIHdlZ2VuIG1pciBrYW5uIHNpY2ggamVkZXIgbmVubmVuLCB3aWUgZXIgd2lsbC4gV2VubiBtaWNoIGplbWFuZCBtaXQgZGVtCk5hbWVuIEhpdGxlciB1bSBIaWxmZSBiaXR0ZXQsIHdlcmRlIGljaCBpaG0gc2FnZW4sIGRhc3MgaWNoIExldXRlbiBtaXQKc29sY2hlbiBOYW1lbiBuaWNodCBoZWxmZSAoV2VubiBpY2ggdWViZXJoYXVwdCBhbnR3b3J0ZSkuIFdlbm4gZGFzIGplZGVyCm1hY2h0LCB3aWVsYW5nZSB3aXJkIEhpdGxlciB3b2hsIFNwYXNzIGFtIFNwaWVsIGhhYmVuPz8KCkVyc2V0enQgSGl0bGVyIHZvbiBtaXIgYXVzIGR1cmNoIGRpZSAxMDAwIHdlaXRlcmVuLCBkdXJjaCBOYXppcwp2b3JiZWxhc3RldGUgV29ydGUgLi4uCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIGJhbmlzaGVuIC4uLiAoRHVyaWFuLCAgOC4gRmViIDE5OTUsIDEwOjMwOjM2KToKIyEgcm49RHVyaWFuIHJ0PTc5MjIzNTY4MQpBZWgsIHdhcyBpY2ggbmF0dWVybGljaCBuaWNodCBzYWdlbiB3b2xsdGU6IEhhdGUgaXN0IGtlaW4gc2NobGVjaHRlciBOYW1lLgpFcyBzb2xsdGUgdmllbG1laHIgbnVyIGVpbiBCZWlzcGllbCBkYWZ1ZXIgc2VpbiwgZGFzcyBlcyB1bm1vZWdsaWNoIGlzdCwKYWxsZSBOYW1lbiwgZGllIGFuc3RvZXNzaWcgc2luZCwgenUgYmFuaXNoZW4sIHVuZCBkYXNzIGRpZXMgbmljaHQgc2lubnZvbGwKaXN0LgoKVW50ZXIgc2NobGVjaHRlciBOYW1lbnNnZWJ1bmcgdmVyc3RlaGUgaWNoIG5hdHVlcmxpY2ggYWxsZSBhbmRlcmVuIE5hbWVuIC4uLgoKQWJlciBkYXMgaXN0IHdvaGwga2xhciAuLi4KCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIHVuZCBzby4uLiAoWWFudHJvLCAgOC4gRmViIDE5OTUsIDExOjE3OjUxKToKIyEgcm49TGkgcnQ9NzkyMjMwNDkwCgpJY2ggYmluIHN0cmlrdCBnZWdlbiBkaWUgR3J1ZW5kdW5nIGVpbmVzIEtvbWl0ZWVzLCBkYXNzIGRpZSBOYW1lbgprb250cm9sbGllcnQuIERhIHZlcnNjaGllYmVuIHdpciBuYWVtbGljaCBudXIgZGFzIFByb2JsZW0uIEZ1ZXIgbWljaCBzdGVsbHQKc2ljaCBkYW5uIGRpZSBGcmFnZTogV0VSIGRhcmYgaW4gZGVtIEtvbWl0ZWUgc2l0emVuPyBXZWxjaGUgQmVmdWduaXNzZSBoYXQgZXMKa29ua3JldD8gdXN3Li4uCgpEaWUgTGV1dGUsIGRpZSBpbSBFbmRlZmZla3QgaGV1dGUgZGFydWViZXIgenUgZW50c2NoZWlkZW4gaGFiZW4sIG9iIGVpbiBOYW1lCnJhdXNmbGllZ3Qgb2RlciBuaWNodCBzaW5kIGRpZSBNYWdpZXIgdW5kIGRpZSwgZGllIGVpbmVuIE5hbWVuIGJhbmlzaGVuCmtvZW5uZW4sIHNpbmQgZGllIFJNcyB1bmQgYXVmd2FlcnRzLiBJY2ggZGVua2UsIGRhc3MgcmVpY2h0IGFuIEJ1ZXJva3JhdGllCmhpZXIgaW0gTUcuCgpCaXMgamV0enQgaXN0IG5vY2ggbmllIFdJTExLVUVSTElDSCB2b24gZWluZW0gTWFnaWVyIGVpbiBOYW1lIGdlYmFuaXNoZWQKd29yZGVuLCBzb25kZXJuIGVzIGdhYiBpbW1lciB2b3JoZXIgZWluZSBEaXNrdXNzaW9uIHVudGVyIGRlbiB6dXN0YWVuZGlnZW4KTWFncy4uIChvZGVyIHVudGVyIGFsbGVuIE1hZ3MpLiBTbyBzb2xsdGUgZXMgYXVjaCBibGVpYmVuLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgWWFudHJvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBSZWdlbHVuZyAoQ2FpbmUsICA4LiBGZWIgMTk5NSwgMTE6NDE6MjkpOgoKSGFsbG9lY2hlbiBMZXV0ZSEKCkRpZSBuZXVlIFJlZ2VsdW5nIGlzdCBqYSBzY2hvZW4gdW5kIGd1dCwgdW5kIGljaCB1bnRlcnN0dWV0emUgc2llIGF1Y2guIEFiZXIKZGllIEVpbnN0dWZ1bmcgaXN0IHp1IGhhcnQhCkljaCBrb21tIGhldXRlIHNvIG1pciBuaWNodHMgZGlyIG5pY2h0cyB3aWVkZXIgaW5zIExlYmVuIHp1cnVlY2ssIG1lcmtlIGRhcwp3aWVkZXIgbWFsIGVpbiBSZWJvb3Qgd2FyLCB1bmQgbGVzZSB2b24gZGVyIG5ldWVuIFN0dWZlbnN0ZWlnZXJ1bmdzLUFlbmRlcnVuZy4KRGFubiB0aXBwZSBpY2ggImtvc3RlbiIgdW5kIG11c3MgbGVzZW4sIGRhc3MgbWlyIGZ1ZXIgZGllIG5hZWNoc3RlIFN0dWZlICgxMSkKbm9jaCBjYS4gMTZrIEVwIHVuZCA0MDYgKCEpIEFwIGZlaGxlbi4gSWNoIGZpbmRlIGRhcyBkYWhpbmdlaGVuZCwgZGFzcyBlaW4KUXVlc3QgYmlzd2VpbGVuIDIwayBicmluZ3QgcmVsYXRpdiBzZWx0c2FtLgpBdXNzZXJkZW0gaGFiZSBpY2ggZ2VyYWRlIG1hbiBkZW4gUGZlaWwtWmF1YmVyc3BydWNoIGJla29tbWVuLCB1bmQgd2VyZGUgYmVpCl9kaWVzZXJfIFJlZ2VsdW5nIGF1ZiBkZW4gRmV1ZXJiYWxsIChkZXIgamEgd29obCBiZWkgZWluaWdlbiBob2VoZXJlbiBRdWVzdGVuCmFuZ2VzYWd0IGlzdCkgd29obCBub2NoIGxhZW5nZXIgdmVyemljaHRlbiBtdWVzc2VuLiBBbGxlcyBpbiBhbGxlbSBpc3QgZGFzCmdhbnplIGluIG1laW5lbiBBdWdlbiBlaW4gbmV0dGVyIEFuZmFuZywgZGVyIGFsbGVyZGluZ3MgYWV1c3NlcnN0IG1pc3NsdW5nZW4KaXN0LiBTY2hhdXQgZXVjaCBkb2NoIG1hbCBkaWUgUmVnZWxuIGVpbmVzIGR1cmNoc2Nobml0dGxpY2hlbiBSUEdzIGFuLi4uCmRhcmF1cyBrYW5uIG1hbiBlaW5pZ2VzIGxlcm5lbi4KClRzY2hvZS4uCgpDYWluZSAoaXN0IGVpbiB3ZW5pZyBmcnVzdHJpZXJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIGJhbmlzaGVuIC4uLiAoSGFyZGlsLCAgOC4gRmViIDE5OTUsIDExOjQzOjI2KToKIyEgcm49RHVyaWFuIHJ0PTc5MjIzNTY4MQoKQXVjaCB3ZW5uIGljaCBtaWNoIGpldHp0IG91dGUsIGljaCBoYWJlIGRlbiBOYW1lbiBIYXRlIHdlbmlnZXN0ZW5zIGluIGRlbgplcnN0ZW4gTW9uYXRlbiBtZWluZXMgTXVkLUxlYmVucyBuaWUgYWxzIGRlbiBlbmdsaXNjaGVuIEJlZ3JpZmYgZnVlciBIYXNzLApzb25kZXJuIGFscyBBYmt1ZXJ6dW5nIHZvbiwgc2FnZW4gd2lyIG1hbCwgSGFucy1UaGVvZG9yIGdlc2VoZW4uCkRlc3dlZ2VuIHd1cmRlbiBiZWkgbWlyIGhpZXIga2VpbmVybGVpIG5lZ2F0aXZlbiBBc3NvemlhdGlvbmVuIGdld2Vja3QuLi4KSWNoIGJpbiBmdWVyIEhhdGUhIDstKQoKWVRICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBUCB1bmQgU3R1ZmVuLCBkaWUgMTA5My4gKEFuYXRvbCwgIDguIEZlYiAxOTk1LCAxMzoyNTowNSk6Cgoqc2V1ZnoqCkljaCB6aWVoZSBncmFkZSBlaW5lbiAydGkgZ3Jvc3MgLSBlciBoYXQgKG5hdHVlcmxpY2ggLSB3ZW5uIG1hbiBkaWUgUXVlc3RzCmtlbm50Li4uKSBvaG5lIEhpbGZlIGxvY2tlciA0MDAgQVAgZ2VtYWNodC4gQWxzICdob2ZmbnVuZ3N2b2xsZXIgQW5mYWVuZ2VyJy4KTWFuIGthbm4gc2VociB3b2hsIG9obmUgWmF1YmVyc3BydWVjaGUgYXVza29tbWVuLi4uCgpJY2ggZmluZGUgZGllIFJlZ2VsdW5nIGd1dCAtIGVzIHdhciBmdWVyIG1pY2ggenVtaW5kZXN0IGZydXN0cmllcmVuZCwKImFuZ2VoZW5kZXIgU2VoZXIiIHp1IHNlaW4sIHVuZCBub2NoIG1laWxlbndlaXQgdm9tIFNlaGVydGl0ZWwgZW50ZmVybnQgenUKc2Vpbi4KCkFuYXRvbCAoc2VuZmVuZC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoS2xpbmdlLCAgOC4gRmViIDE5OTUsIDE2OjI3OjQyKToKV2FydW0gbmljaHQgZWluZmFjaCBkaWUgRGluZ2UgYmVpbSBOYW1lbiBuZW5uZW4gPwpXZXIgc2ljaCBIaXRsZXIsIEhpbW1sZXIsIEdvZWJiZWxzLCBCbGl0emtyaWVnIHVuZCBzbyB3ZWl0ZXIgbmVubnQgaXN0IGVpbgpJZGlvdC4KV2FydW0gd2VyZGVuIGRpZSBMZXV0ZSBkYW5uIG5pY2h0IGVpbmZhY2ggdW1iZW5hbm50IGluIElkaW90MSwgSWRpb3QyIHVzdy4KZm9ydGxhdWZlbmQgOykKRGFubiB3ZWlzIG1hbiBhdWNoIGdsZWljaCB3ZW4gbWFuIHZvciBzaWNoIGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgKEtyZXRlaywgIDguIEZlYiAxOTk1LCAxNzozMjo1Nik6CiMhIHJuPUtsaW5nZSBydD03OTIyNTcyNjIKSGVydm9ycmFnZW5kZSBJZGVlLCBLbGluZ2UhCkRhcyBlaW56aWdlIFByb2JsZW0ga29lbm50ZSBkYW5uIHNlaW4sIGRhc3MgbWFuIGRhbm4gYXVmIGRlbiBFYmVuZW4gb2RlcgpwZXIgUnVmIGVpbmUgYWVobmxpY2hlIE1lbGR1bmcgYmVrb21tdCwgd2llIHdlbm4gd2llZGVyIG1hbCBlaW4gdmVyZnJvc2NodGVyClNwaWVsZXIgSGlsZmUgc3VjaHQ6CiJXZWxjaGVyIElkaW90IGhhdCBtaWNoIGdlcmFkZSB3YXMgZ2VmcmFndD8iIDopCgpNaXQgYnJlaXRlbSBHcmluc2VuIGltIEdlc2ljaHQsCgpLcmV0ZWsKKHdlZGVyIG5hbWVudGxpY2ggbm9jaCBzb25zdCB3aWUgYW5zdG9lc3NpZyEgKmdyaW5zKiApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICAoQW5hdG9sLCAgOC4gRmViIDE5OTUsIDE3OjM2OjM3KToKIyEgcm49S3JldGVrIHJ0PTc5MjI2MTE3NgoKS2xpbmdlcyBJZGVlIGlzdCBraW5kaXNjaC4uLiBhYmVyIGhhdCB3YXMgOikKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuIGJhbmlzaGVuIC4uLiAoU2NocnVtcGZpLCAgOC4gRmViIDE5OTUsIDE3OjM5OjI4KToKIyEgcm49RHVyaWFuIHJ0PTc5MjIzNTY4MQpKYSBEdXJpYW4sIGltIGdyb3NzZW4gdW5kIGdhbnplbiBpc3QgZGFzIGVpZ2VudGxpY2ggYXVjaCBtZWluZSBNZWludW5nLCBqZQptZWhyIGRpZSBMZXV0ZSBzaWNoIGF1ZnJlZ2VuLCBqZSBtZWhyIGZ1ZWhsZW4gc2ljaCBtYW5jaGUgYW5nZXN0YWNoZWx0IHp1CnByb3ZvemllcmVuLiBBbGxlcmRpbmdzIG11c3MgbWFuIGRpZSBnYW56ZSBTYWNoZSB3b2hsIGF1Y2ggdm9uIGRlcgpvZWZmZW50bGljaGVuIFNlaXRlIHNlaGVuLiBJY2ggbW9lY2h0ZSBlcyBuaWNodCBlcmxlYmVuIHdhcyBwYXNzaWVydCB3ZW5uIHNvCmVpbiBzZW5zYXRpb25zZ2VpbGVyIFJlcG9ydGVyIGhpZXIgbWFsIHJlaW5zY2hhdXQgdW5kIE5hbWVuIHdpZSAnSGl0bGVyLApQYWVkZXJhc3QnIHUuYWUgaGllciBmaW5kZXQuIEljaCBtb2VjaHRlIG1pciBtZWluIExpZWJsaW5nc211ZCBuaWNodCB2b24gZWluCnBhYXIgSWRpb3RlbiBkaWUgU3Bhc3MgYW0gcHJvdm96aWVyZW4gaGFiZW4sIHdlZ25laG1lbiBsYXNzZW4uIEljaCBoYWIgZWhsaWNoCmdlc2FndCB6d2FyIGtlaW5lIEFobnVuZyB3YXMgZXMgZnVlciBGb2xnZW4gaGFiZW4ga29lbm50ZSwgd2VubiBlcyBwdWJsaWsKd2VyZGVuIHNvbGx0ZSwgaWNoIHdpbGwgZXMgbWlyIGFiZXIgYXVjaCBnYXIgbmljaHQgZXJzdCB2b3JzdGVsbGVuLiBEYXJ1bSBiaW4KaWNoIGZ1ZXJzIGJhbmlzaGVuIHZvbiBOYW1lbiBkaWUgZGlza3JpbWluaWVyZW5kIHNpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYW1lbiB1bmQgc28uLi4gKEF1Z3JhLCAgOC4gRmViIDE5OTUsIDIxOjUxOjMyKToKIyEgcm49WWFudHJvIHJ0PTc5MjIzODY3MQpkYXMgc2VoZSBpY2ggYWxsZXIgaW5ncyBnZW5hdSB3aWUgeWFudHJvLiBEaWUgQmlsZHVuZyB2b24gS29tbWl0dGVlcywgZGllCmlyZ2VuZHdhcyB2ZXJiaWV0ZW4gZHVlcmZlbiwgZXJpbm5lcnQgZG9jaCBzZWhyIGFuIE1jQ2FydGh5IHVucyBzZWluZQpLb21taXRlZXMgZ2dlbiBhbnRpYW1lcmlrYW5pc2NoZSBVbXRyaWViZS4uLnNvIHdhcyBpbSBNRyB1bmQgaWNoIHN0ZWxsZSBlaW5lbgphbnRyYWcgYXVmIEFzeWwgaW4gVW5pdG9waWEgb2RlciBGaW5hbEZyb250aWVyLi4KCkF1Z3JhLCB3aWUgaW1tZXIgbWl0IEJpdHRlIHVtIEduZGUgZnVlciBkaWUgUmVjaHRzY2hyZWlidW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIHVuZCBzby4uLiAoQW5jYWxhZ29uLCAgOS4gRmViIDE5OTUsIDEwOjQxOjMzKToKIyEgcm49WWVuZGkgcnQ9NzkyMTc1MzIzCmhhbGxvIFllbmRpIQpJY2ggaG9mZmUsIGR1IGhhc3QgYmVpIG1laW5lbSBOYW1lbiBuaWNodCBlYmVuc28gcmVhZ2llcnQuIHNjaGxpZXNzbGljaApiaW4gaWNoIHNlaXQgZGVyIHNhY2hlIG1pdCBFYXFyZW5kaWwgZGFtYWxzIGVpbiBnYW56IGFuZGVyZXIuLi4uLgpNaXQgZWluZW0gZnJldW5kbGljaGVuIGxlaWItIHVuZCBNYWdlbiBLbnVkZGxlci4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyYWNvIGtudWRkZWxsZW5zaXMgbWFqb3IKClAuUy46IEljaCAqPyUkJnNzZSBkaWVzZW4gRWRpdG9yIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYW5pc2hlbiAoQ2lmZXIsICA5LiBGZWIgMTk5NSwgMTE6Mjc6MTApOgojISBybj1DYXR3ZWF6bGUgcnQ9NzkyMTY3Mjk0CkljaCBrYW5uIGJlaW0gYmVzdGVuIFdpbGxlbiBuaWNodCB2ZXJzdGVoZW4sIHdhcnVtIEplc3VzIGdlYmFuaXNodCB3dXJkZS4gSWNoCmJpbiBtaXQgZWluZW0gU3BhbmllciBuYW1lbnMgSmVzdXMgR29uemFsZXMgenVyIFNjaHVsZSBnZWdhbmdlbiwgZWluIGdhbnoKbm9ybWFsZXIgTWVuc2NoLCBkZXIgdWVicmlnZW5zIHZvbiBuaWVtYW5kZW0gd2VnZW5zIHNlaW5lcyBOYW1lbnMgaW4KaXJnZW5kZWluZXIgRm9ybSBiZWxhZXN0aWd0IHd1cmRlLiBJbSBHZ2VudGVpbCwgZGVyIE5hbWUgSmVzdXMgaXN0IGluCnN1ZWRsaWNoZW4gUmVnaW9uZW4gZHVyY2hhdXMgbmljaHQgc2VsdGVuLgpBYmVyIGltIE1HIHdpcmQgamEgaW1tZXIgZ2xpY2ggdWViZXJ0cmllYmVuLgoKQ2lmZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIGJhbmlzaGVuIC4uLiAoWWVuZGksICA5LiBGZWIgMTk5NSwgMTM6NTU6MDMpOgojISBybj1IYXJkaWwgcnQ9NzkyMjQwMjA2CgpIYXRlID0gSFQgPSBBYmt1ZXJ6dW5nIGZ1ZXIgei5CLiAiSGFucy1UaGVvZG9yIj8gTmFqYS4uLgoKSGF0ZSBrb21tdCAob2RlciBrYW0/KSBkb2NoIGltbWVyIG1pdCBkZXIgTWVsZHVuZyByZWluICJIYXRlIGlzdCBpbiBhbGxlbgpFdXJlbiBIZXJ6ZW4iLCB1bmQgZGFzIGthbm4gaWNoIHZvbiBlaW5lbSAiSGFucy1UaGVvZG9yIiBvZGVyIHdlbSBhdWNoIGltbWVyCmVpZ2VudGxpY2ggbmljaHQgc2FnZW4uLi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYW1lbiB1bmQgc28uLi4gKEZsaW50bmFpbCwgIDkuIEZlYiAxOTk1LCAxNjoyNzozMSk6CiMhIHJuPVlhbnRybyBydD03OTIyMzg2NzEKTWFubi4uLi5lcyBnaWJ0IGRvY2ggc28gZWluZmFjaGUgTG9lc3VuZ2VuOgoKSmVkZXIgZGVyIHNpY2ggbmljaHQgYWxzIEdhc3QgZWlubG9nZ2VkICxiZWtvbW10IGF1dG9tYXRpc2NoIGVpbmVuIE5hbWVuIGF1cwosc2FnZW4gd2lyIG1hbCwgMTIgQnVjaHN0YWJlbi4gV2lsZCBkdXJjaGVpbmFuZGVyZ2V3dWVyZmVsdCBnaWJ0IGRhcyBuZXR0ZQpLb21iaW5hdGlvbmVuIHdpZTogbGtkaWVudml3c3BxIG9kZXIgdHVpd252c2xvcGR5IG5hamEuLmRhIHdpcmQgZGFubiB3b2hsIGthdW0KZWluIE5hbWUgbWl0IGRlbSBlaW5lcyBNb25zdGVycyBpbSBNdWQgb2RlciByZWFsbyB1ZWJlcmVpbnN0aW1tZW4hIERpZSB3ZW5pZ2VuCixkaWUgZGFzIGRvY2ggdHVuIHdlcmRlbiByYXVzZ2VmaWx0ZXJ0LiBVbmQgSmVkZXIgTWFnaWVyIGthbm4gc2ljaCBlcmZyZXVlbiwKZGFzcyBlaW4gbmFtZW50bGljaCBzb3J0aWVydGVzIFBsYXllcnZlcnplaWNobmlzIHNvIHNjaG9lbiBnbGVpY2htYWVzc2lnCmF1c3NpZWh0IDopLiBKYS4uLmRhbm4gbXVlc3N0ZSBudXIgbm9jaCBkYXMgUHJvYmxlbSBtaXQgZGVuIHBhc3N3b2VydGVybgpnZWxvZXN0IHdlcmRlbi4uLnNvb25zdCBzZXR6ZW4gYW0gRW5kZSBub2NoIGVpbmlnZSBzY2hsaW1tZSBGaW5nZXIgJ0hpdGxlcicKYWxzIFBhc3N3b3JkIGVpbi4uLi4KCk1hY2h0IEV1Y2ggZG9jaCBuaWNodCBsYWVjaGVybGljaCEgSmVkZXIgZGVyIHNpY2ggcHJvdm9rYXRpdiBhbHMKTW91c3Nvc2Nob2tvbGFkZSBvZGVyIHNvbnN0d2FzIGVpbmxvZ2d0LCBrcmllZ3QgZG9jaCBzb3dpZXNvIGJpbm5lbiBrdXJ6ZXIKWmVpdCBBZXJnZXIhIERlciBlbnR3ZWRlciBpbSBmcnVlaHplaXRpZ2VtIGZyZWl3aWxsaWdlbSBBdXNsb2dnZW4gZW5kZXQuLi5vZGVyCmltIGVyend1bmdlbmVuIChzZWlzIG51biBiYW5pc2hlbiBvZGVyIHBsYXllcmtpbGwhIFZpZWwgc2NobGltbWVyIHNpbmQgbWVpbmVyCk1laW51bmcgbmFjaCBkaWUsIGRpZSBuaXggYW5kZXJlcyBtYWNoZW4gYWxzIHJ1bXp1bmVydmVuIGR1cmNoIGZ1cnplbiwgc2FiYmVybgp1LiBhZWhubGljaGVzLi4uLnVuZCBpY2ggbWVpbmUgamV0enQgbmljaCBlaW5tYWwgbmVuIFB1cHMgYWJsYXNzZW4uLi5zb25kZXJuCjUtMTAgbWludWV0aWdlIFZlcmZvbGdzamFnZGVuIG5hY2ggZGVtIE1vdHRvIDpKZXR6dCBzdGlua2UgaWNoIGRpY2ggbnVyIG5vY2gKYW4uLi4KTmFqYS4uLmljaCBrYW5uIGphIGltbWVyIG5vY2ggenVtIEdvYmxpbmRyYWNoZW4gZ2VoZW4uLi4uYmVpIGRlciB0cmV1ZW4gU2VlbGUKaGF0IG1hbiBzZWluZSBSdWhlLi4uOikKCiAgICAgICAgRmxpbnRuYWlsCgpQLlMuOiBicmF1Y2h0IG5vY2ggaXJnZW5kamVtYW5kIGluIGRpZXNlbSBBcnRpa2VsIGVpbiAqaXJnZW5kd2FzIG9uL29mZioKPz8/Oik9KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFtZW4gdW5kIHNvLi4uIChGbGludG5haWwsICA5LiBGZWIgMTk5NSwgMTY6MzA6MzQpOgojISBybj1BdWdyYSBydD03OTIyNzY2OTIKIEFTWUwgR0VXQUVIUlQsIExJRUJTVEUgISEhCgogRmxpbnQoS2l0c2FpbWFuKW5haWwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpc2RhZW1vbmVuIChBbmF0b2wsIDEwLiBGZWIgMTk5NSwgMDA6MzM6MTIpOgoKSmEhIEljaCBoYWJlIHNpZSBnZXNlaGVuISBFcyBnaWJ0IHNpZSB0YXRzYWVjaGxpY2gsIGRpZSBFaXNkYWVtb25lbiBpbiBkZXIKRWlzd3Vlc3RlIHNpbmQga2VpbiBIaXJuZ2VzcGluc3QgWmFyZG96JywgbmVpbiwgZXMgZ2lidCBzaWUgd2lya2xpY2guLi4KCkFsbGVyZGluZ3MuLi53ZXIgc2llIGFuZ3JlaWZlbiBtb2VjaHRlLCBkZW0gc2VpIGhpZXJtaXQgZ2VzYWd0OiBkZXIgQm9kZW4gaXN0CnNlaHIgZ2xhdHQuLi4gZGEgaGlsZnQgYXVjaCBWb3JzaWNodCgxMzApIG5peC4KVmllbCBHbHVlY2suCgpBbmF0b2wgKGhhdHMgZ2VtZXJrdC4uLikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTOiBUcm90emRlbSA0OjEgZ2V3b25uZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCYW5pc2hlbiAoSWNldCwgMTAuIEZlYiAxOTk1LCAwNjowNzo1OCk6CiMhIHJuPUNpZmVyIHJ0PTc5MjMyNTYzMApbVG9kOkVpbiBPcmsgaGF0IGdlcmFkZSBKZXN1cyB1bWdlYnJhY2h0Ll0KClNjaGF1dCBzY2hvbiBldHdhcyBrb21pc2NoIGF1cy4KSW4gVU5JdG9waWEgd3VyZGUgSmVzdXMgZGllIGNoYW5jZSBnZWdlYmVuLCBzaWNoIHVtenViZW5lbm5lbi4KRGllIEJydWVsbGVyICJOYT8gTWFjaHQncyBTcGFzcyB3aWVkZXIgYXVmenVlcnN0ZWhlbiwgSmVzdXMiIGhhYmVuCnBhYXIgTGV1dGUgZG9jaCB6aWVtbGljaCBnZW5lcnZ0IDstKQoKLUljZVQKIChTcGVycnQgbnVyIE5hemktTmFtZW4gdW5kIG4gcGFhciBzY2hsaW1tZSBGZWNrYWxpZW4gaW4gQXZhbG9uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmFuaXNoZW4gKENpZmVyLCAxMC4gRmViIDE5OTUsIDExOjAzOjEzKToKIyEgcm49SWNldCBydD03OTIzOTI4NzgKRGFzIGxpZWd0IGphIHdvaGwgbmljaHQgYW0gU3BpZWxlciBKZXN1cywgc29uZGVybiBhbSBraW5kaXNjaGVuIEJlbmVobWVuCmFuZGVyZXIsIHdlbm4gZXMgenUgc29sY2hlbiBTcHJ1ZWNoZW4ga29tbXQuCgpMdWR3aWcgVWhsYW5kIENpZmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTHVmdGtpc3NlbmJvb3QgKEJhbWJ1bGtvLCAxMC4gRmViIDE5OTUsIDEyOjQzOjM2KToKTGVvbmFyZG8gZGEgVi4gaGF0dGUgZG9jaCBhdWNoIHNjaG9uIGVpbmVuIEh1YnNjaHJhdWJlciwgbnVyIGxlaWRlciBrZWluZQpPcmtzIHVtIGlobiBhbnp1dHJlaWJlbi4KV2FydW0gc29sbCBlcyBkYW5uIGhpZXIga2VpbiBMdWZ0a2lzc2VuYm9vdCBnZWJlbj8gRXMgaXN0IGphIGtlaW4gSGktVGVjaApMdWZ0a2lzc2VuYm9vdC4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWRlbnByb2JsZW1lIChBc21vZGlzLCAxMC4gRmViIDE5OTUsIDIwOjE3OjI2KToKQWVoLCBlcyBnaWJ0IG5ldWVyZGluZ3MgUHJvYmxlbWUsIGluIGRlbiBMYWVkZW4gZWluenVrYXVmZW4uCkRpZSBzeW50YXggJ2thdWZlIDxudW1tZXI+JyBrbGFwcHQgbmljaHQgbWVocgpIYWIgYWJlciByYXVzZ2VmdW5kZW4sIGRhc3MgJ2thdWZlIDxudW1tZXI+PGxlZXJ6ZWljaGVuPjxwdW5rdD4nIGdlaHQuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lbiB1bmQgc28uLi4gKEFjcmltb24sIDExLiBGZWIgMTk5NSwgMDM6MDA6MDkpOgojISBybj1Bcm9tYm9sb3NjaCBydD03OTIxNzA2MTYKQnJhdm8gQXJvbWJvbG9zY2gsIGdlbmF1IHNvIGRlbmtlIGljaCBhdWNoIQpSZWluIHJvbGxlbnNwaWVsZXJpc2NoIGdlc2VoZW4gaGF0IGVzIG5pY2h0IG51ciBrZWluZW4gU2lubiwgTmFtZW4genUKYmFuaXNoZW4sIHNvbmRlcm4gZXMgaXN0IGF1Y2ggc2NoYWRsaWNoIGZ1ciBkYXMgUm9sbGVuc3BpZWxlbi4KRGEgYWJlciBoaWVyIG5pY2h0IGFsbGUgTGV1dGUgQWhudW5nIHZvbSBSb2xsZW5zcGllbGVuIGhhYmVuIHVuZCBlcyBuaWNodApnYW56IHNjaGFmZmVuLCBSZWFsaXRhdCB1bmQgVmlydHVhbGl0YXQgYXVzZWluYW5kZXJ6dWhhbHRlbiwgc29sbHRlbiBOYW1lbiBtaXQKYWxsenUgc3RhcmtlbiBBc3NvemlhdGlvbmVuIGdlYmFuaXNodCB3ZXJkZW4uCiJNdXNzb2xpbmkiIHp1IGJhbmlzaGVuIGthbm4gbWFuIG51ciBkYW1pdCByZWNodGZlcnRpZ2VuLCBkYXN6IGVyIGRpZSBiZWkKdmVyc2NoaWVkZW5lbiBMZXV0ZW4gYmVyZWl0cyBiZXN0ZWhlbmRlbiBBc3NvemlhdGlvbmVuIGR1cmNoIHNlaW4gVmVyaGFsdGVuCmdhbnogd2VzZW50bGljaCB2ZXJzdGFya3QgaGF0LgoiQmxpdHprcmllZyIgenUgYmFuaXNoZW4gaXN0IGVoZXIgZWluIEZyZXZlbCwgZGVubiBkaWVzZW0gTmFtZW4ga2FubiBtYW4KZHVyY2ggZGFzIFZlcmhhbHRlbiB1bmQgZGllIEJlc2NocmVpYnVuZyBkZXMgQ2hhcmFrdGVycyB3dW5kZXJzY2hvbmUKQXNzb3ppYXRpb25lbiBnZWJlbiwgZGllIGFuZGVyZSB2aWVsbGVpY2h0IGluIG1hbmNoZW4gS29wZmVuIHNjaG9uIGJlc3RlaGVuZGVuCkFzc296aWF0aW9uZW4gdW53aXJrc2FtIG1hY2hlbi4KVW5kIE5hbWVuIHdpZSAiR29sbHVtIiBvZGVyICJCYWxyb2ciIHp1IGJhbmlzaGVuIGlzdCBpbiBqZWRlbSBGYWxsIGVpbgpGcmV2ZWwuCgoiSGl0bGVyIiB6dSBiYW5pc2hlbiBpc3Qgb2ssIGRlbm4gZGllc2VyIE5hbWUgc2NoZWludCB1bnNlcmUgTmF0aW9uIGJpcyBpbgp1bnNlcmUgaGV1dGlnZSBaZWl0IGhpbmVpbiB2ZXJkb3JiZW4genUgaGFiZW4uIEltbWVyIG5vY2ggd2lsbCBtYW4gdW5zIGRpZQpTY2h1bGQgZ2ViZW4gZnVyIGRpZXNlbiBTY2hlaXN6a2VybCBuYW1lbnMgSGl0bGVyLiBOaWNodCBlaW5tYWwgZGllIHdlbmlnZW4KZ3V0ZW4gU2FjaGVuIHZvbiBkYW1hbHMgKHpCIGRlbiBOYW1lbiAiVHNjaGVjaGVpIikgZGFyZiBtYW4gaGV1dGUgdWJlcm5laG1lbgo6LSgKIkplc3VzIiB6dSBiYW5pc2hlbiBpc3QgYXVjaCBvaywgZGVubiBSZWxpZ2lvbiBpc3QgZGllIGVpbnppZ2UgU2FjaGUsIGRpZQp1YmVyYWxsLCBhdWNoIGltIFZpcnR1ZWxsZW4sIEdlbHR1bmcgaGF0LiBNaXN6YnJhdWNodCBkYXJmIGRpZXNlciBOYW1lIG5pY2h0CndlcmRlbi4KCkRhcyB3YXJlbiBkaWUgUm9sbGVuc3BpZWwtQXNwZWt0ZS4KCkpldHp0IGdlaGUgaWNoIGF1ZiBkaWUgQXNwZWt0ZSBlaW4sIGRpZSBzaWNoIGF1ZiBkYXMgUkwgYXVzd2lya2VuOgpBYmVyIEJJVFRFIG5laG10IGRlbiBnZWZydXN0ZXRlbiBSTC1BbGx0YWdzLU9wZmVybiBuaWNodCBkaWUgTW9nbGljaGtlaXQsIGZ1cgplaW5pZ2UgWmVpdCBhdWNoIGluIGRpZSBSb2xsZSBlaW5lcyAiTXVzc29saW5pIiB6dSBzY2hsdXBmZW4gdW5kIGluIGRlcgpWaXJ0dWFsaXRhdCBoZXJhdXN6dWZpbmRlbiwgd2llIHNjaGxlY2h0IGRpZXNlciBOYW1lIGlzdC4KRGVubiB3ZXIgc2ljaCB3aWUgTXVzc29saW5pIHZlcmhhbHQsIGRlciBtdXN6IGF1Y2ggZGllIEZvbGdlbiBkaWVzZXMKVmVyaGFsdGVucyBhdWYgc2ljaCBuZWhtZW4uIEVyIGJla29tbXQgZGFubiBlaW5lbiBzZWhyIHVibGVuIFJ1ZiB1bmQgd2lyZApiYWxkCnZvbiBhbGxlbiBnZW1pZWRlbi4KCkpldHp0IGdlaGUgaWNoIGF1ZiBkaWUgQXNwZWt0ZSBlaW4sIGRpZSBzaWNoIGF1ZiBkYXMgUkwgYXVzd2lya2VuOgoKQW5nZW5vbW1lbiwgdm9yIHVucyBzdGVodCBlaW4gYmVnZWlzdGVydGVyIE5hemktQW5oYW5nZXIsIGRlciBNdXNzb2xpbmkKdmVyZWhydC4KRXIgZGVua3QsIGFjaCB3aWUgdG9sbCBkb2NoIE11c3NvbGluaSBkYXMgZ2VtYWNodCBoYWJlLgpXYXMgaXN0IHp1IG1hY2hlbj8KSWhtIGRpZSBWZXJ3ZW5kdW5nIGRpZXNlcyBOYW1lbnMgdmVyYmlldGVuPyAgSG1tbS4uLiBlaW5lcnNlaXRzIGJsZWliZW4gZGFubgp6d2FyIHdpciB2b24gc2VpbmVuIGJsb2RlbiBLb21tZW50YXJlbiB2ZXJzY2hvbnQsIGFuZGVyZXJzZWl0cyBhYmVyIHdpcmQgZXIgaW0KU3RpbGxlbiBzZWluZW4gSGFzeiBhdWYgTGV1dGUsIGRpZSBhbmRlcnMgYWxzIGVyIHNpbmQsIHNjaHVyZW4gdW5kIG5vY2ggd2VpdGVyCnZlcnNjaGxpbW1lcm4uCklobSBkaWUgVmVyd2VuZHVuZyBkaWVzZXMgTmFtZW5zIGVybGF1YmVuPyAgSG1tbS4uLiBlaW5lcnNlaXRzIG11c3NlbiB3aXIKZGFubiB6d2FyIHNlaW5lIGJsb2RlbiBLb21tZW50YXJlIGFuaG9yZW4gdW5kIGRhcmF1ZiBlbnRzcHJlY2hlbmQgcmVhZ2llcmVuLAphbmRlcmVyc2VpdHMgbWVya3QgZGVyIE5hemkgZGFubiwgZGFzeiBkaWVzZXIgTXVzc29saW5pIG1pdCBzZWluZW4gR2VkYW5rZW4Kd29obCBkb2NoIGZlaGxnZWdhbmdlbiBzZWluIG11c3ogdW5kIE11c3NvbGluaXMgVmVyaGFsdGVuIHByb3Zva2FudCB1bmQKbWVuc2NoZW52ZXJhY2h0ZW5kIHdhci4gRGFtaXQgd2FyZSB1bnNlciBOYXppIHVtIGVpbmUgRXJrZW5udG5pcyByZWljaGVyLgoKVW5kIC0gd2FzIG51bj8KRWNodGVzIFJvbGxlbnNwaWVsZW4gaW0gTW9yZ2VuR3JhdWVuIG9kZXIgU3BpZWxlbiBtaXQgVmVyYm90ZW4/CkRhcyBXaXNzZW4sIGRhc3ogYWxsZXMgbW9nbGljaCBpc3QsIG9kZXIgZWludG9uaWdlLCB0cmlzdGUgTGFuZ3dlaWxpZ2tlaXQ/CkRpZSBDaGFuY2UsIGplbWFuZGVuIHp1IGJla2VocmVuLCBvZGVyIEFic2Nob3R0dW5nPwoKTEVVVEUsIFZFUkdFU1pUIEJJVFRFIEZVUiBFSU5FTiBNT01FTlQgREFTIFJFQUxMSUZFLCBERU5OIERBWlUgSVNUIEVJTiBNVUQKREEhCgpHcnVzeiwKRXVlciBGZXVyaWdlcgpBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAqbGFjaCogKEFjcmltb24sIDExLiBGZWIgMTk5NSwgMDM6MTI6NTgpOgojISBybj1HdXlicnVzaCBydD03OTIxNzk0MDcKSG1tbSBHdXlicnVzaCwgaWNoIGxlc2UgZGEgZGVpbmVuIEFydGlrZWwgdW5kIHBsb3R6bGljaCBzY2hyZWlic3QgZHU6Cj4gRGVyIGVyc3RlIFRlaWwgaXN0IElyb25pZSwgZGVyIHp3ZWl0ZSBpc3QgbWVpbmUgZXJuc3RoYWZ0ZSBNRWludW5nIQoKV2FzIHNvbGwgZGFzPyBXbyB3YXIgZGllIElyb25pZSwgd28gd2FyIHNpZSBuaWNodCBtZWhyLCB3byB3YXIgZGllIEdyZW56ZQp6d2lzY2hlbiBkZWluZW4gYmVpZGVuIFRlaWxlbj8KQml0dGUgbWFjaCBpbiBadWt1bmZ0IGtlaW5lIElyb25pZSBtZWhyLCBzb25zdCB3ZWlzeiBpY2ggbmljaHQgbWVociwgd2VsY2hlbgpUZWlsZW4gZGVpbmVzIEFydGlrZWxzIGljaCBHbGF1YmVuIHNjaGVua2VuIGRhcmYgdW5kIHdlbGNoZW4gbmljaHQuCgpFdWVyIEZldXJpZ2VyCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnF1ZXN0IChadWVyaWxldSwgMTEuIEZlYiAxOTk1LCAwNjo1MjozOCk6ClNhbGkgemFlbWUsCmljIHdvbGx0ZSBtZWluZW4gU2VuZiBlaWdlbnRsaWNoIGZ1ZXIgbWljaCBiZWhhbHRlbiBkYSBlcyBlaCBrZWluZW4KaW50cmVzc2llcnQgYWJlciBtaXRsZXJ3ZWlsZSBtdXNzIGljaCBpaG4gZGVub2NoIGxvcyB3ZXJkZW4uIEljaCBmaW5kZSBlaW5lCmVyc2Nod2VydW5nIGRlcyBtdWRzIGRvb2YgaW4gZGVtIG1hbiBmdWVyIGplZGVuIExldmVsIGVpbmUgcXVlc3RwZmxpY2h0CmVpbmZ1ZWhydCwgaWNoIGZpbmRlIGRhcyBNdWQgaXN0IHNjaG9uIGdlbnVnIHNjaHdlciB1bmQgc29sbHRlIG5pY2h0IG1pdCBzbwplaW5lbSB1bnNpbm5pZ2VtIGtyYW1tIHZlcnNjaGxlY2h0ZXJ0IHdlcmRlbi4gSWNoIGJpbiBuaWNodCBkZXIgbWVpbnVuZyBkYXMKZXR3YXMgc2NobGltbWVzIGRhcmFuIGlzdCBtaXQgbGV2ZWwgMTksIG5vY2ggYWxsZSBxdWVzdCB6dSBtYWNoZW4gdW5kIHdlciBkaWUKdGV4dGUgaW4gaGlsZmUgdW5kIGRpZSBaZWl0dW5nIGxpZXN0IGVyZmFocnQgYXVjaCBkYXJ1ZWJlciBkYXMgZXMgaGllciBsZWlkZXIKcXVlc3RzIGdpZWJ0LiBJY2ggd2Vpc3MgZXMgZ2llYnQgbGV1dGUgaGllciBkaWUga2VubmVuIG1laW5lIGFsbGdlbWVpbmUKZWluc3RlbGx1bmcgenUgUXVlc3QgYWJlciBkYXMgaGF0IG51biBuaWNodHMgZGFtaXQgenUgdHVuLCBpY2ggZmluZGUgZXMgbnVyCnVuc2lubmlnIGltbWVyIGV0d2FzIHp1IGFlbmRlcm4gdW5kIHp1IGVyc2Nod2VocmVuIG5pY2h0IGplZGVyIHNwaWVsZXIgaGllcgppc3Qgc28gZ3V0IGltIFF1ZXN0ZW4gd2llIEFzbW9kaXMgdW5kIGRpZSBhbmRlcmVuLiBVbmQgd2FydW0gbXVzcyBkaWUKbW90aXZhdGlvbiB3ZWdlbiBkZW4gcXVlc3QgaW1tZXIgc2lua2VuPy4gd2FydW0gd29sbHQgaWhyIG5ldWVyZGluZ3MgU3BpZWxlcgpkYXp1IHp3aW5nZW4gZXR3YXMgZnJ1ZWhlciB6dSB0dW4gYWxzIG5vZXRpZz8sIGhleSBsYXNzdCBkb2NoIGRpZSBsZXV0ZSBlcnN0CmJlaSBsZXZlbCAxOSBxdWVzdGVuIGV1Y2ggendpbmd0IGtlaW5lciBkYXp1IHNpZSBmcnVlaGVyIHp1IG1hY2hlbiBvZGVyIHNlaXQKaWhyIGVpZmVyc3VlY2h0aWcgd2VpbCBlaW4gc3BpZWxlciBzY2huZWxsZXIgbGV2ZWwgMTkgZXJlaWNodCBoYWJ0IGFscyBpaHIgPy4KSGV5IGVyIG11c3MgamEgZWggYWxsZSBxdWVzdCBsb2VzZW4gdW0gc2VoZXIgb2RlciBNYWdpZXIgenUgd2VyZGVuLCB3YXJ1bSBrYW5uCmVyIGRhcyBuaWNodCBtaXQgTGV2ZWwgMTkgdHVuLCB3YXMgc3ByaWNodCBkYWdlZ2VuID8uIElzdCBlcyBuaWNodCBwb3NpdGl2CmVyc3Qgc3BhZXRlciB6dSBxdWVzdGVuIGRhIG1hbiBkYW5uIGF1Y2ggZ2VnZW4gd2lya2xpY2ggc3RhcmtlIE1vbnN0ZXIgd2llIGltCkZyYWNoZ3V0cXVlc3Qgb2RlciBzbyBiZXNzZXJlIGNoYW5jZW4gaGF0Py4gV29sbHQgaWhyIHdpcmtsaWNoIG1pdCBzbyBlaW5lcgpzdHVtcGZzaW5uaWdlciBhZW5kZXJ1bmcgZGFzIGxlYmVuIHZpZWxsZXIgU3BpZWxlciBhdWZzIFNwaWVsIHNldHplbiA/LiBXYXJ1bQpuaWNodCBnbGVpY2ggeCB0YXVzZW5kIEFQIGVpbmZ1ZWhyZW4gdW0gTWFnaWVyIHp1IHdlcmRlbiBkYXMgZXMgbm9jaCBzY2hvZW5uCnNjaHdlaHJlciB3aXJkID8uIE5lIGVybGljaCBpY2ggZmluZGUgZXMgZ3V0IHNvIHdpZSBlcyBqZXR6dCBpc3QgdW5kIGxhc3N0IGVzCmRvY2ggYml0dGUgc28sIGljaCBtZWluZSBpaHIgaW8Ka29lbm50IHByb2ZpdGllcmVuIGRhdm9uIHdpZSBlcyBqZXR6dCBpc3QgYWJlciBhbGxlIG5hY2hrb21tZW5kZW4gU3BpZWxlcm4Kd2VyZGVuIHVuZCBldXJlbSB2b3JzY2hsYWcgbGVpZGVuID06KC4gTmUgYWxzIGJ1ZXJnZXJsaWNoZXIgU2Nod2VpemVyIHd1ZXJkCmljaCBpbiBkaWVzZW0gRmFsbCBiZWkgZWluZXIgYWJzdGltbXVuZyBlaW5lbiByaWVzc2VuZ3Jvc3NlbiBORUlOIGF1ZiBkZW4Kc3RpbW16ZXR0ZWwgc2NocmVpYmVuIHVuZCBpaG4gaW4gZGllIHVybmUgd2VyZmVuIS4KCkRlciBuaWVld2llZGVyIHF1ZXN0ZW5kZXIgTWFnaWVyIHp1ZXJpbGV1ICEgPTopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuIHVuZCBzby4uLiAoSGF0ZSwgMTEuIEZlYiAxOTk1LCAyMToxNToxNCk6CiMhIHJuPUFjcmltb24gcnQ9NzkyNDY4MDA5Ck51bmphLCBsZWlkZXIgaXN0IGRhIGVpbiBIYWtlbi4KQWxzIEFkbWlucyB2b24gZWluZW0gU3BpZWwsIHdlbGNoZXMgaW4gZWluZXIgb2VmZmVudGxpY2hlbiBJbnN0aXR1dGlvbgpfR0VEVUxERVRfIHdpcmQsIG11ZXNzZW4gd2lyIGxlaWRlciBhdWNoIG1hbmNobWFsIGF1ZiBnZXdpc3NlIERpbmdlCmFjaHRlbi4gRGF6dSBnZWhvZXJlbiBhdWNoIERpbmdlIHdpZSBSYXNzaXNtdXMsIEFudGlzZW1pdGlzbXVzIGV0YyBldGMKSWNoIGJpbiBrZWluZXNmYWxscyBmdWVyIGRhcyBzaW1wbGUgYmFuaXNoZW4gdm9uIE5hbWVuLCBudXIgd2VpbCBzaWUKamVtYW5kZW0gbmljaHQgZ2VmYWxsZW4sIGFiZXIgbWFuY2hlIEZhZWxsZSBrb2VubmVuIHZvbiBvZmZpemllbGxlciBTZWl0ZQpkdXJjaGF1cyBkYXMgX0FVU18gZnVlciBlaW4gTVVEIHNlaW4uIE1VRHMgd3VyZGVuIHNjaG9uIGF1cyB2aWVsIHRyaXZpYWxlcmVuCkdydWVuZGVuIGFic2VydmllcnQuCgpEZXN3ZWl0ZXJlbiBnZWh0IG1pciBkaWVzZSBEaXNrdXNzaW9uIGxhbmdzYW0gYXVmIGRlbiBOZXJ2LiBTaWUgd2lyZCBpbgpkaWUgRkFRIGF1Zmdlbm9tbWVuIHVuZCBfRUlOIEZVRVIgQUxMRSBNQUxfIGZ1ZXIgYmVlbmRldCBlcmtsYWVydC4gTmljaHQKamVkZSBNZWludW5nIGxhZXNzdCBzaWNoIG51bm1hbCBkdXJjaHNldHplbiB1bmQgd2lyIHNpbmQgX0tFSU5FXyBwcml2YXRlClJvbGxlbnNwZWlscnVuZGUhCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogKmxhY2gqIChHdXlicnVzaCwgMTIuIEZlYiAxOTk1LCAyMjoxNjoxNCk6CiMhIHJuPUFjcmltb24gcnQ9NzkyNDY4Nzc4ClRqYSBBY3JpbW9uLi4uZWlnZW50bGljaCB3YXIgZGllIEJlbWVya3VuZyBmdWVyIHNvbGNoZSB3aWUgRGljaCBnZWRhY2h0IDspCkFsbGVyZGluZ3MgaXN0IG1pciB6dXNhcGV0IGVpbmdlZmFsbGVuIGZ1ZXIgZGllIGdhbnogSXJvbmlldW5rdW5naWdlbiBkYXMKb24vb2ZmIHJlY2h0emVpdGlnIHp1IHNldHplbi4uLi4uT2ggU2NoLi4Kc2Nob24gd2llZGVyIHZlcmdlc3NzZW4gOigKR3V5YnJ1c2ggKHNhdW11ZWRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChIYXdrLCAxMy4gRmViIDE5OTUsIDAxOjA5OjI4KToKSEFURSBoYXQgbGVpZGVyIHJlY2h0LCB1bmQgd2VubiBpY2ggbmljaHQgaXJyZSwgd2FyIGRpZXMKZGVyIEdydW5kLCB3YXJ1bSBkaWUgTWFnaWVyIHVlYmVyaGF1cHQgYXVmIGRlbiBHZWRhbmtlbiB2ZXJmaWVsZSwKTmFtZW4genUgYmFuaXNjaGVuLgpIQVdLLCBkZXIgZGllc2JlenVlZ2xpY2ggZGllIFBvbGl0aWsgb2VmZmVudGxpY2hlciBJbnN0aXR1dGlvbmVuCm5vY2ggbmllIHdpcmtsaWNoIHZlcnN0YW5kZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChUaG9yaW4sIDEzLiBGZWIgMTk5NSwgMDM6NTU6MTApOgpMZWlkZXIgaGFiIGljaCBjYSAyIFdvY2hlbiBNdWRhYnN0aW5lbnogZ2VoYWJ0LCBhYmVyIGhpZXIgbWFsIG5lIElkZWUgenVyCkRpc2t1c3Npb24gKHdlbm4gYXVjaCB2aWVsbGVpY2h0IHp1IHNwYWV0KToKRXMgc29sbHRlbiBkb2NoIGlyZ2VuZHdhbm4gR2lsZGVuIGtvbW1lbiwgd2llc28gYmluZGV0IGlociBkZW5uIGRhIG5pY2h0Ck1pbmlxdWVzdHMgZnVlciBiZXN0aW1tdGUgR2lsZGVubGV2ZWwgZWluID8gRGFubiBoYXQgZG9jaCBqZWRlciwgd2FzIGVyIHdpbGw6Ck1hbiBtdXNzIHF1ZXN0ZW4sIHVtIGhvaGUgR2lsZGVubGV2ZWwgenUgaGFiZW4sIG1hbiBrYW5uIGFiZXIgYXVjaCBtaXQgZXhwCnNlaHIgd2VpdCBrb21tZW4sIGthbm4gZGFubiBhbGxlcmRpbmdzIG5pY2h0IGF1ZiBzZWluZSBHaWxkZW5laWdlbnNjaGFmdGVuCnp1cnVlY2tncmVpZmVuIC4uLgpUaG9yaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6ICpsYWNoKiAoRmxpbnRuYWlsLCAxMy4gRmViIDE5OTUsIDE1OjMzOjQ1KToKIyEgcm49QWNyaW1vbiBydD03OTI0Njg3NzgKIEthbm4gbWFuIGRpZXNlbiBzei1GZXRpc2NoaXN0ZW4gbmljaHQgSVJHRU5EV0lFIGFic3RlbGxlbiA6KSA/Pz8KIC4uLmljaCBmaW5kZSBsYW5nc2FtIHJlaWNodHMuLi4KCiAgRmxpbnRuYWlsLi4ua3JpY2h0IG5lIEtyaXNlIGJlaSBkZW4gZ3JvZXIncyB1bmQgc3oncy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHF1ZXN0IChBc21vZGlzLCAxMy4gRmViIDE5OTUsIDE2OjM0OjIzKToKIyEgcm49WnVlcmlsZXUgcnQ9NzkyNDgxOTU4CkhtbSwgZXMgZ2lidCBrZWluZSBRdWVzdHBmbGljaHQgYmVpIFNwaWVsZXJuLCB3ZXIga2VpbmUgUXVlc3RzIG1hY2hlbiB3aWxsLApkZXIgbXVzcyBhdWNoIG5pY2h0LCBudXIga2FubiBlciBkYW5uIG51ciBiaXMgenUgZWluZW0gYmVzdGltbXRlbiBMZXZlbAplcmhvZWhlbiA6KQpJY2ggcGVyc29lbmxpY2ggZmluZGUgYWxsZXJkaW5ncywgZGFzcyBkaWUgU3R1ZmUsIGFiIGRlciBRdWVzdHB1bmt0ZQpub2V0aWcgc2luZCwgZXR3YXMgYW5nZWhvYmVuIHdlcmRlbiBzb2xsdGUuCk1hbiBrb2VubnRlIGRvY2ggei5CLiBkaWUgNSAlIGF1ZiBTdHVmZSAxMCBsZWdlbiAoZXJzdGVyIFphdWJlcnNwcnVjaCkKZGFmdWVyIGRhbm4gMTAgJSBhdWYgU3R1ZmUgMTIgKFBmZWlsLVNwcnVjaCksIHNvd2VpdCBrYW5uIG1hbiBrYW1wZmxvcwpxdWVzdGVuLiBEYW5uIDIpJSBhdWYgU3R1ZmUgMTQsIDI1ICUgYXVmIFN0dWZlIDE1IChGZXVlcmJhbGwtU3BydWNoKSwKNDUlIGF1ZiBTdHVmZSAxNyAoU2NobmVsbC1TcHJ1Y2gpIHVuZCA2NSUgYXVmIFN0dWZlIDE5LgpEYXMgbnVyIHNvIGFscyBWb3JzY2hsYWcsIGRlbm4gZXMgdHVuIHNpY2ggdmllbGUgTGV1dGUgYmVpbSBrYWVtcGZlbiBzY2h3ZXIsCmRpZSBub2NoIGtlaW5lIEthbXBmLXNwZWxscyBrb2VubmVuLi4KVWVicmlnZW5zLCB3aWVzbyBzb2xsZW4gYWxsZSBvaG5lIEFQIExldmVsIDE5IHdlcmRlbiwgWnVlcmlsZXU/IGJyaW5ndCBpaG5lbgpkb2NoIGdhciBuaXggIQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaXRlbCAoQ2F0d2VhemxlLCAxMy4gRmViIDE5OTUsIDE5OjA0OjU3KToKSGkhCldhcyBtaXIgaW4gbGV0enRlciBaZWl0IGF1ZmZhZWxsdCwgc2luZCBkaWUgdmllbGVuIHRpdGVsbG9zZW4gQXJ0aWtlbCEKU3RpbW0gc2Nob24sIGZ1ZXIgZGVuIFRleHQgc2luZCBkaWUgZWggbWVpc3RlbnMgdWViZXJmbHVlc3NpZywgYWJlciB3ZW5uCm1hbiBtYWwgbmUgVWViZXJzaWNodCBtYWNodCwgaGF0IG1hbiBiZWkgZGVyIFN1Y2hlIG5hY2ggbmVtIGJlc3RpbW10ZW4KQXJ0aWtlbCB6aWVtbGljaCB2ZXJsb3Jlbi4KRGFoZXIgbWVpbmUgQml0dGUsIHNjaHJlaWJ0IG5lbiBUaXRlbCB1ZWJlciBFdXJlbiBBcnRpa2VsLCBrYW5uIGRvY2ggbmljaHQKc28gc2Nod2VyIHNlaW4sIHNpY2ggbWFsIG5lIGtsZWluZSBadXNhbW1lbmZhc3N1bmcgYXVzenVkZW5rZW4sIG9kZXI/CllvdXJzIHRydWx5LAogICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbiB1bmQgc28uLi4gKEpvZiwgMTMuIEZlYiAxOTk1LCAxOTowNzo0MCk6CiMhIHJuPUFjcmltb24gcnQ9NzkyNDY4MDA5CiBHb2xsdW0gaXN0IG5pY2h0IGdlYmFuaXNodCwgc29uZGVybiBlaW4gU2VoZXIgKG51ciBsYW5nIG5pY2h0IG1laHIgZGEgZ2UtCmd3ZXNlbjooKS4KQmFscm9nIGlzdCBob2ZmZW50bGljaCBnZWJhbmlzaHQsIHdlaWwgaW4gZGVyIFVudGVyd2VsdCBlaW4gTlBDIGRpZXNlcyBOYW1lbnMKcnVtbGFldWZ0LgoKIGpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBxdWVzdCAoWnVlcmlsZXUsIDE0LiBGZWIgMTk5NSwgMDc6MjE6MjApOgojISBybj1Bc21vZGlzIHJ0PTc5MjY4OTY2MwpTYWxpIGFzbW9kaXMsCkVzIGdpZWJ0IGxldXRlIHdpZSBpY2ggZGllIGVpbmZhY2ggZ2Vrb21tZW4gc2luZCB1bmQgZnJldWRlIGFtIGZpZ2h0ZW4gaGFiZW4sCmljaCBmcmFnZSBtaWNoIGVoIHdhcnVtIGRpY2ggZGFzIGhpZXIgc3RvZXJ0IGR1IG11c3N0IGphIG5pY2h0IHdpZWRlciBuZXUKYmVnaW5uZW4gdW5kIGRpY2ggYmV0cmlmZnQgZXMgbmljaHQuIER1IGhhdHRlc3QgZGVuIFNlcnZpY2UgU2VoZXIgenUgd2VyZGVuCmFscyBlcyBub2NoIGVpbmZhY2hlciB3YXIsIGljaCBmcmFnZSBtaWNoIGFsc28gd2FydW0gZGVyIHZvcnNjaGxhZyB2b24gZGlyCmtvbW10LiBEaXIga29lbm50IGVzIGRvY2ggZWdhbCBzZWluIHdhcnVtIG11c3N0IGR1IGRhcyBNdWQgYXVmIGtvc3RlbiBhbmRlcmVyCmVyc2Nod2VyZW4hCgpjdSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcXVlc3QgKEJhbWJ1bGtvLCAxNC4gRmViIDE5OTUsIDA4OjE0OjExKToKIyEgcm49WnVlcmlsZXUgcnQ9NzkyNzQyODgwCkljaCBnbGF1YmUgZGFzIGVzIGhldXRlIFZJRUwgRUlORkFDSEVSIGlzdCBTZWhlciB6dSB3ZXJkZW4gYWxzIHdhcyB3ZWlzIGljaAp3YW5uIEFzbW9kaXMgU2VoZXIgZ2V3b3JkZW4gaXN0LiBIZXV0ZSBnaWJ0IGVzIHZpZWwgbWVociBTcGllbGVyLCBkaWUgc2Nob24KZGllIFF1ZXN0cyBnZW1hY2h0IGhhYmVuIHVuZCBkaWUgbWFuIGZyYWdlbiBrYW5uIGFscyBkYW1hbHMuIEF1c3NlcmRlbSBnaWJ0IGVzCmVpbmUgZ2FuemUgUmVpaGUgdm9uCk11c3RlcmxvZXN1bmdlbi4KQWxzbyBlcnphZWhsZSBiaXR0ZSBuaWNodCwgZGFzIGVzIGZydWVoZXIgZWluZmFjaGVyIHdhciBTZWhlciB6dSB3ZXJkZW4gYWxzCmhldXRlIG51ciB3ZWlsIG1hbm4gd2VuaWdlciBBcCdzIGJyYXVjaHRlLgoKSW4gZGllc2VtIFNpbm5lCiAgICAgICAgICAgICAgICAgQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHF1ZXN0IChadWVyaWxldSwgMTQuIEZlYiAxOTk1LCAxMDo0NjoxMCk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTc5Mjc0NjA1MQpTYWxpIHphZW1lCgpKYSBsaWViZXIgYmFtYnVsa28sClNvc28gZXMgZ2llYnQgYWxzbyBtdXN0ZXJsb2VzdW5nZW4sIHdlbm4gaWNoIG1pY2ggYWJlciByaWNodGlnIGVyaW5uZXJlIHNpbmQKc29sY2hlIE11c3RlcmxvZXN1bmdlbiBuaWNodCBpbSBzaW5uZSBkZXIgR29ldHRlciwgd2VubnMgbmFjaCBpaG5lbiBnZWh0CnNvbGx0ZSBlcyBzb2xjaGUgTG9lc3VuZ2VuIG5pY2h0IGdlYmVuIGFsc28gaXN0IGRhcyBrZWluIEdydW5kIGRhcyBlcyBmcnVlaGVyCmVpbmZhY2hlciB3YXIuCgpjdSBadWVyaWxldQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHF1ZXN0IChKb2YsIDE0LiBGZWIgMTk5NSwgMTQ6NDI6MjcpOgojISBybj1adWVyaWxldSBydD03OTI3NTUxNzAKIFdlciBudXIgZmlnaHRlbiB3aWxsLCBrYW5uIGRhcyBkb2NoIGltbWVyIG5vY2ggLSBtYW4gTVVTUyBkb2NoIG5pY2h0IFNlaGVyCndlcmRlbiEgTnVyIHdlciBwYXJ0b3V0IHNlaW5lbiBMZXZlbCBlcmhvZWhlbiB3aWxsLCBtdXNzIGRhbm4gaGFsdCBRdWVzdGVuIC0KaXN0IGRvY2ggZWluIG5ldHRlciBBbnJlaXosIG9kZXI/IFdlciBudXIgenVtIFJlZGVuIGhlcmtvbW10LCBpc3QgbWl0IExldmVsCjMgb2RlciBzbyBnZW5hdSBzbyBndXQgYmVkaWVudCB3aWUgbWl0IExldmVsIDE5IC0gYmVpbSBSZWRlbiBicmluZ3QgYWxsZW4tCmZhbGxzIGRpZSBBbWFyeWxsaXNxdWVzdCAoIjoiKSBlaW5lbiBWb3J0ZWlsLCBhYmVyIHNpY2hlciBuaWNodCBkZXIgTGV2ZWwuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBxdWVzdCAoQW5jYWxhZ29uLCAxNC4gRmViIDE5OTUsIDE1OjA1OjA3KToKIyEgcm49Sm9mIHJ0PTc5Mjc2OTM0NwpIYWxsb2VsZSEKSm9mcyBtZWludW5nIGthbm4gaWNoIG1pY2ggbnVyIGFuc2NobGllc3Nlbi4gSWNoIHNlaCBkYXMgYXVjaCBzby4uLi4uLgp0c2NodWVzc2ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmNhbGFnb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyYWNvIGtudWRkZWxsZW5zaXMgbWFqb3IKClAuUy46IFN0ZWh0IGRlciBuYWVjaHN0ZSBQYXJ0eXRlcm1pbiBzY2hvbiBmZXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQVAgZnVlciBnZXdpc3NlIFN0dWZlbj8/IChQaGFyYW8sIDE1LiBGZWIgMTk5NSwgMDg6MzY6NTYpOgpHdXRlbiBNb3JnZW4hCk1laW4gU3RhbmRwdW5rdCB6dSBkZW4gYmVub2V0aWd0ZW4gQVAgZnVlciBnZXdpc3NlIFN0dWZlbiBpc3Q6IEJsb2Vkc2lubiEhIQpJY2ggZnJhZ2UgbWljaDogIldBUyBTT0xMIERBUz8iCldlciBpc3QgZGVubiBuaWNodCB0b2xlcmFudCBnZW51ZyB1bSBMZXZlbCAxOSBBUCAwIFNwaWVsZXIgenUgZHVsZGVuPwoKRXVlciBQaGFyYW8gc2NodWV0dGVsdCBkZW4gS29wZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBUCBmdWVyIGdld2lzc2UgU3R1ZmVuPz8gKEpvZiwgMTUuIEZlYiAxOTk1LCAxMDozMTowMyk6CiMhIHJuPVBoYXJhbyBydD03OTI4MzM4MTYKIFdhcyBoZWlzc3QgZGVubiB0b2xlcmFudD8gTWFuIGthbm4gYXVjaCBtaXQgbmllZHJpZ2VyZXIgU3R1ZmUgZ3V0IHNwaWVsZW4uCkJldHJhY2h0ZSBkaWUgU3R1ZmVuIGhhbHQgYWxzIEJlbG9obnVuZyBmdWVycyBRdWVzdGVuLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFQIGZ1ZXIgZ2V3aXNzZSBTdHVmZW4/PyAoWnVlcmlsZXUsIDE1LiBGZWIgMTk5NSwgMTA6MzQ6MzkpOgojISBybj1QaGFyYW8gcnQ9NzkyODMzODE2ClNhbGkgemFlbWUsCkFsc28gaWNoIHN0aW1tIGRhIHBoYXJhbyAxMDAlIHp1Li4uCgpjdSB6dWVyaWxldSBlYmVuZmFsbHMga29wZnNjaHVldHRlbC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBUCBmdWVyIGdld2lzc2UgU3R1ZmVuPz8gKEhhdGUsIDE1LiBGZWIgMTk5NSwgMTI6Mzk6NDMpOgojISBybj1adWVyaWxldSBydD03OTI4NDA4NzkKV2llIEpvZiBzY2hvbiBzYWd0ZSwgZGllIFN0dWZlbiBzaW5kIGVpbmUgQmVsb2hudW5nIGZ1ZXJzIFF1ZXN0ZW4hClZvcmhlciB3YXJlbiBkaWUgTGV2ZWwgZmFrdGlzY2ggbnVyIEJsdWJiZXJrcmFtLCBkZXIga2VpbmUgZ3Jvc3NlIEJlZGV1dHVuZwpoYXR0ZS4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHF1ZXN0IChSYWlzdGxpbiwgMTUuIEZlYiAxOTk1LCAxNjowMTo1Myk6CiMhIHJuPUFzbW9kaXMgcnQ9NzkyNjg5NjYzCldhcyBpY2ggbWFsIGRhenUgc2FnZW4gd29sbHRlOgpXYXMgaXN0IGFuIGRlbiBBUC1HcmVuemVuIHNvIHNjaGxpbW0/Cldlbm4gaWNoIG51ciBtZXR6ZWxuIHdpbGwsIGRhbm4gbWV0emVsIGljaCBudXIuIEF1ZiBkaWUgTW9lZ2xpY2hrZWl0IGhpbiBaVHMKenUgZmluZGVuIHVuZCBkaWUgU3RhdHMgenUgZXJob2VoZW4gaXN0IGphIHdvaGwgbmljaHQgZWluZ2VzY2hyYWVua3QgKG9kZXI/KQooVXBzcyBzY2hsZWNodCBzeW50YXg6IHdhcyBpY2ggbWVpbnRlIGlzdCB0cm90emRlbSBrYW5uIGRlciBtZXR6ZWxmcmVldWRpZ2UKc2VpbmUgc3RhdHMgZXJob2VoZW4sIGVyIHdpcmQgZGFubiBhdWYgaXJnZW5kZWluZW0gbGV2ZWwgc3RlaGVuYmxlaWJlbiB3ZW5uIGVyCmtlaW5lIHF1ZXN0cyBsb2VzZW4gd2lsbCwgYWJlciBtdXNzIG1hbiBzZWhlciBzZWluIHVtIG1ldHplbG4genUga29lbm5lbj8pCgotLVJhaXN0bGluIChoYXNzdCBkaWVzZW4gRWRpdG9yIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbnJlaXogenVtIFF1ZXN0ZW4gKEhhd2ssIDE1LiBGZWIgMTk5NSwgMjA6NTk6NDYpOgpFcyBrYW5uIGd1dCBzZWluLCBkYXNzIGljaCBkYXMgYmlzbGFuZyB1ZWJlcnNlaGVuIGhhYmUuCkdpYnQgZXMgZWlnZW50bGljaCBlaW5lIExpc3RlIG1pdCBkZW4gUXVlc3RiZWxvaG51bmdlbj8KU28gZWluZSBMaXN0ZSB3YWVyZSBkb2NoIGRlciBhbGxlcmJlc3RlIEFucmVpeiBRdWVzdHMgenUgbWFjaGVuLCBvZGVyPwpIQVdLLCBkZXIgc2ljaCBpbW1lciBub2NoIG5pY2h0IGltIE11ZCBhdXNrZW5udD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnNpY2h0IGRpZSBad2VpdGUgKEJhbWJ1bGtvLCAxNi4gRmViIDE5OTUsIDExOjMzOjMzKToKS29lbm5lbiBzaWUgZGllIE1hZ2llciBtYWwgZGVuIFZvcnNpY2h0c21vZHVzIGFuc2NoYXVlbj8KSWNoIGJpbiBqZXR6dCB6d2VpbWFsIGdlc3RvcmJlbiwgd2VpbCBpY2ggbmljaHQgcmVjaHR6ZWl0aWcgZ2VmbG9oZW4gYmluICh1bmQKendhciBtaXJ0IFZvcnNpY2h0IDE0MCBiencgMTUwKSBEYXMga2FubiBkb2NoIGlyZ2VuZHdpZSBuaWNodCBub3JtYWwgc2Vpbi4KVW5kIHdlbm4gZWluIE1vbnN0ZXIgd2lya2xpY2ggbWVociBhbHMgMTUwIExwJ3MgcHJvIEthbXBmcnVuZGUgYWJ6aWVoZW4ga2FubiwKbWFjaHQgZGFzIGthZW1wZmVuIGlyZ2VuZHdpZSBrZWluZW4gU2lubiBtZWhyLgoKQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoRWQsIDE2LiBGZWIgMTk5NSwgMTE6NDA6MjkpOgpJQ2ggZmluZCBkYXMgbWl0IGRlbSBmbHVjaHRtb2R1cy12ZXJoaW5kZXJuIHZvbiBtb25zdGVyIGJlc29uZGVycyBsdXN0aWcsCndlbm5zIGJlaSBtaXIgd2llZGVyIG1hbCAyMCBzZWt1bmRlbiBsYWdndCwgYmV2b3IgbWVpbmUgYmVmZWhsZSBkdXJjaGtvbW1lbiEKCkVkIGhhZW5ndCBhbiBzZWluZW0gTGViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb3JzaWNodCBkaXIgRHJpdHRlIChCYW1idWxrbywgMTYuIEZlYiAxOTk1LCAxMTo0ODoyMyk6CkdpYnQgZXMgd2lya2xpY2ggTW9uc3RlciwgZGllIGRlbiBWb3JzaWNodHNtb2R1cyBhYnN0ZWxsZW4/IFdlbm4gamEgaXN0IGRhcwp3b2hsIGVpbmUgVW52ZXJzY2hhZW10aGVpdCwgZGEgZWluIExhZyBpbW1lciBtYWwgYXVmdHJldGVuIGthbm4uVW5kIGVzIGdlaHQKd2lya2xpY2ggbmljaHQgYW4sIGRhcyBkaWUgU3BpZWxlciBpbW1lciBzY2h3YWVjaGVyIGdlbWFjaHQgd2VyZGVuLCBvaG5lIGRhcwpiZWkgZGVuIE1vbnN0ZXJuIGF1Y2gKYWJnZXJ1ZXN0ZXQgd2lyZC4gRGVubiBNb25zdGVyIHNpbmQgaW4gZWluZW0gUm9sbGVuc3BpZWwgbnVubWFsIGRhenUgZGEKZ2VraWxsdCB6dSB3ZXJkZW4uIFdlbm4gZWluaWdlIE1hZ2llciBuaWNodCB3b2xsZW4sIGRhc3MgbWFuIGlocmUgTW9uc3RlcgphbmdyZWZpdCwgc29sbCBtYW4gYmVpIGlobmVuIGRvY2ggZGlyZWt0IEthZW1wZmVuIHZlcmJvdGVuIGdlbWFjaHQgd2VyZGVuLgooU2NoZWlzcyBkZXV0c2NoISEpCkljaCBkZW5rZSwgZGFzIGljaCBtaXQgbWVpbmVyIE1lbnVuZyBuaWNodCBkZXIgZWluemlnZSBiaW4uLi4uYWxzby4uLi4uLgoKQkFNQlVMS08KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzaWNodCBkaXIgRHJpdHRlIChJY2V0LCAxNi4gRmViIDE5OTUsIDEyOjIxOjE1KToKIyEgcm49QmFtYnVsa28gcnQ9NzkyOTMxNzAzCkJhbWJ1bGtvPiBEZW5uIE1vbnN0ZXIgc2luZCBpbiBlaW5lbSBSb2xsZW5zcGllbCBudW5tYWwgZGF6dSBkYQpCYW1idWxrbz4gZ2VraWxsdCB6dSB3ZXJkZW4uCgpVcHM/IEVjaHQ/IEJpbiBpY2ggYW5kZXJlciBNZWludW5nLiBBYmVyIGRhcyBoYXR0ZW4gd2lyIGphIHNjaG9uIGluCm5lbSBhbmRlcmVuIE11ZCwgc3RpbW10cywgQmFtYnVsa28/IDstKQoKQWxzbyBhdXNzZXIgaW0gc2Nod2FyemVuIEF1Z2UgdmllbGxlaWNodCBzaW5kIGRpZSBNb25zdGVyIGluIFJvbGxlbnNwaWVsZW4KYmVsZWliZSBuaWNodCBudXIgenVtIHBsYWV0dGVuIGRhLCBCYW1idWxrby4KCi1JY2VUIChvaCB0ZW1wb3JhZSBvaCBtb3JlcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZsdWNodHJpY2h0dW5nIChUb3NzLCAxNi4gRmViIDE5OTUsIDEyOjUzOjAyKToKSEkhCmljaCAvYnp3LiBtZWluIGNoZWYgUnluZSkgaGF0dGUga3VlcnpsaWNoIGRhc3NlbGJlIFByb2JsZW0gd2llIEJhbWJ1bGtvLCBkYXNzCmJlaW0gS2FtcGYgZ2VnZW4gUm9iaW4gZGllIEFuZ3N0IG5pY2h0IGluIGRlbSBtb21lbnQgZGEgd2FyLCB3byBzaWUgZGEgc2Vpbgpzb2xsdGUuLi4gdW5kIHNlbGJzdCBiZWkgVm9yc2ljaHQgMTQwIGlzdCBlcyBnZWdlbiBSb2JpbiB0b2VkbGljaCwgd2VubiBtYW4KendlaQphcmdoIGVkaXRvciA6KCAtIHdlbm4gbWFuIG5vY2ggendlaSBydW5kZW4gdW50ZXIgZGVtIGZsdWNodG1vZHVzIGthZW1wZnQuLi4gLQp1bmQgZGFubiB6dSBzcGFldCBlbmRlIG1hY2h0Li4uCgpBbHNvLCBlaW5lIFByb2JsZW0gaGFiZSBpY2ggbmljaHQgZGFtaXQsIHdlbm4gd2lyIGhpZXIgTW9uc3RlciBoYWJlbiwgZGllIGRlbgpGbHVjaHRtb2R1cyBhdXNzY2hhbHRlbiAod2VubiBkYXMgYmVpIFJvYmluIHVlYmVyaGF1cHQgZGVyIEZhbGwgaXN0LCB1bmQga2VpbgpidWcpCkVzIHdhZXJlIGRhbm4gbnVyIGdhbnogcHJha3Rpc2NoLCB3ZW5uIG1hbiBpbiBpcmdlbmRlaW5lciBGb3JtIHNlaGVuIGtvZW5udGUsCmRhc3Mgei5CLiBSb2JpbiBlaW5lbSBlaW5lbiBQZmVpbCB2ZXJzZXR6dCwgZGVyIG1pY2ggdm9yIEFuZ3N0IGVyc3RhcnJlbgpsYWVzc3Qgb2RlciBzbyA7KSAtIHNvbnN0IHZlcmxhZXNzdCBtYW4gc2ljaCB6dSBibGluZCBhdWYgc2VpbmVuIEZsdWNodG1vZHVzCjspClRqYSwgQmFtYnVsa28gbGV0enRlbmRsaWNoIHNpbmQgd2lyIHRyb3R6ZGVtIHNlbGJzdCBzY2h1bGQuLi4uIGVuZGUgbWFjaGVuCmthbm4gbWFuIGltbWVyLi4uLi4KClRvc3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmbHVjaHRyaWNodHVuZyAoQmFtYnVsa28sIDE2LiBGZWIgMTk5NSwgMTM6MDA6MTgpOgojISBybj1Ub3NzIHJ0PTc5MjkzNTU4MgpEdSBkYXJmc3QgZGFiZWkgbmljaHQgdmVyZ2Vzc2VuLCBkYXMgaWNoIG1pY2ggbWFuY2htYWwgYXVmIG1laW5lIFZvcnNpY2h0CnZlcmxhc3NlbiBtdXNzLCB3ZW5uIGVpbiBMYWcgYXVmdGF1Y2h0LiBCZWkgZXVjaCBpbiBNdWVuc3RlciBnaWJ0IGVzIGphIG5pY2h0CmRpZXNlIE5ldHpsYWdzIHdpZSBiZWkgdW5zLi4KQWJlciBpY2ggZmluZGUgYXVjaCwgZGFzcyBlcyBhbmdlemVpZ3Qgd2VyZGVuIHNvbGx0ZSwgd2VubiBkaWUgdm9yc2ljaHQKdmVyc2FndCAodW5kIG5pY2h0IGVyc3Qgd2VubiBMYXJzIGtvbW10LikKCkJBTUJVTEtPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5yZWl6IHp1bSBRdWVzdGVuIChBc21vZGlzLCAxNi4gRmViIDE5OTUsIDE0OjI2OjE4KToKIyEgcm49SGF3ayBydD03OTI4NzgzODYKSGllciBkaWUgaW5vZmZpemllbGxlIExpc3RlIGRlciBRdWVzdGJlbG9obnVuZ2VuOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICBRdWVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXN0YmVsb2hudW5nICAgICAgdmVyYW50dy4gTWFnaWVyCgogIEdhcmRlcm9iZSBmdWVyIGRhcyBDYXNpbm8gICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIEdudWxsaQogIFNjaHJhdCBrYW5uIG5pY2h0IGVpbnNjaGxhZmVuICAgICAgICAgICAgbml4ICAgICAgICAgICAgIEJvaW5nCiAgUmFzc2Vsa2V0dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdvbGQgICAgICAgICAgICAgQW50aGVhCiAgRmluZGUgZGllIEZlZSBBbWFyeWxsaXMgICAgICAgICAgICAgICAgIGVtb3RlKDopICAgICAgICAgTWlyaWwKICBXYWxkYmF1ZXJuaG9mICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5peCAgICAgICAgICAgICBLYXNzYW5kcmEKICBNYWVyY2hlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5peCAgICAgICAgICAgICBTaXIKICBIaWxmIGRlbSBNYW5uIGltIFNjaG5lZSAgICAgICAgICAgICAgIGdvbGQuIFNjaG5lZWJhbGwgICBWaXBlcgogIEVpbGVuZGUgQnJpZWZ6dXN0ZWxsdW5nICAgICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIFRyb3kKICBaYWNoYXJpYXMgRWlzcGFsYXN0ICAgICAgICAgICAgICAgICAgICAgIG5peCAgICAgICAgICAgICBSdW1hdGEKICBXZXJkZSBPYmVyZ2xhZGlhdG9yICAgICAgICAgICAgICAgICAgIFRpdGVsIE9iZXJnbGFkLiAgICBEdXJpYW4KCiAgSGlsYmVydHMgVHVybSAgICAgICAgICAgICAgICAgICAgICAgICAgemF1YmVyc3RhYiAgICAgICAgS2Fzc2FuZHJhCiAgT2t0b3B1cy1SaWZmICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaXggICAgICAgICAgICAgUnVtYXRhCiAgUmFldHNlbCB1bSBkZW4gUmFldHNlbHN0ZWluICAgICAgICAgICAgICBuaXggICAgICAgICAgICAgVHJveQogIERlciBTdGVpbiB2b24gRHVuY3RvbiAgICAgICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIFRyeWZhbgogIFZhbGdlc3NhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIENhdHdlYXpsZQogIEJlZnJlaWUgT21hIFdldHRlcndhY2hzICAgICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIFdhcmdvbgogIERpZSBzaWViZW4gbWFnaXNjaGVuIEtlbGNoZSAgICAgICAgICAgICBlaW4gSG9ybiAgICAgICAgIFJvbWlsaQogIERpZSBCdWVjaHNlIGRlciBQYW5kb3JhICAgICAgICAgICAgICAgICBlaW4gRmx1Y2ggICAgICAgIEtvYmF5YXNoaQogIEF0bGFudGlzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29sZC4gU2NodXBwZSAgICAgIEFudGhlYQogIFJldHRlIGRpZSBXb2xwZXJ0aW5nZXIgICAgICAgICAgICAgICAgICBCdW1lcmFuZyAgICAgICAgIEtldG9zCiAgTmliZWx1bmdlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlZGR5YmFlciAgICAgICAgU2lyCiAgRGFzIFNjaGlja3NhbCB2b24gT2xhZiBIdXVzZyAgICAgICAgICAgICBuaXggICAgICAgICAgICAgU2V0aG9zCiAgU2Nod2VydCBkZXIgR25hZGUgICAgICAgICAgICAgICAgICAgICAgICBuaXggICAgICAgICAgICAgQW5ndXMKCiAgVGl0aXd1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaXggICAgICAgICAgICAgQm9pbmcKICBFcmZvcnNjaGUgZGllIFB5cmFtaWRlbiAgICAgICAgICAgICAgICAgRWRlbHN0ZWluZSAgICAgICBEdXJpYW4KICBGcmllZGVuIGZ1ZXIgVGFya28gUmV1YiAgICAgICAgICAgICAgIGVudGdpZnRlLVNwcnVjaCAgICBXYXJnb24KICBIZWlsdW5nIGZ1ZXIgZGVuIEhleGVyICAgICAgICAgICAgICAgICAgIG5peCAgICAgICAgICAgICBUcm95CiAgUmV0dGUgUmVkIEZyYWdnbGUgICAgICAgICAgICAgICAgICAgICAgVm9vZG9vLVphdWJlciAgICAgRnJhZ2dsZQogIFBhZ2FuaW5pcyBUZXVmZWxzZ2VpZ2UgICAgICAgICAgICAgICAgICAgbml4ICAgICAgICAgICAgIFRyb3kKICBCZWZyZWllIGRlbiBGcmllZGhvZiAgICAgICAgICAgICAgICAgICAgQlMtU2Nod2VydCAgICAgICBCb2luZwogIEZpbmRlIGRhcyBnZXN0b2hsZW5lIEZyYWNodGd1dCAgICAgICAgICAgTHVlZnRlciAgICAgICAgIFJvY2h1cwoKICBIaWxmIGRlbSBBcmNoaXRla3RlbiAgICAgICAgICAgICAgICAgIGVjaG8oZnVlciBTZWhlcikgICBSb2NodXMKCkFsbGUgQW5nYWJlbiBvaG5lIEdld2FlaHIgISEhCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9yc2ljaHQgZGlyIERyaXR0ZSAoRmxpbnRuYWlsLCAxNi4gRmViIDE5OTUsIDE0OjMwOjU5KToKIyEgcm49SWNldCBydD03OTI5MzM2NzUKaG1tLi4uYmVpIERvb2YgJiBEYWVtbGljaCBzaW5kIHNpZSBhdWNoIG51ciB6dW0gcGxhZXR0ZW4gZGEgOikgISEhCiAgRmxpbnRuYWlsLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChNb3NoLCAxNi4gRmViIDE5OTUsIDE4OjI2OjM0KToKSGkgYWxsZSBiZWlzYW1tZW4hCkljaCBoYWJlIGhldXRlIFNsYXNoZXIgZ2VzZWhlbiB1bmQgZGVyIGhhdCBtaWNoIGF1ZiBuZSBpZGVlIGdlYnJhY2h0IQpkaWUgU2FjaGUgbWl0IGRlciB3ZWlzc2VuIG1hZ2llIG1laW5lIGljaCEgZXMgZ2lidCBoaWVyIGphIG51ciBkZXN0cnVrdGl2ZQp6YXViZXJlaSEKZGFzIHBhc3N0IGF1Y2ggaW4gZGllIGRpc2t1c3Npb24gdW0gZGVuIHNpbm4gZWluZXMgbXVkcyEKd2llIHdhZXJlIGVzIGRlbm4gbWl0IG5lbSB6YXViZXJzcHJ1Y2gsIG1pdGRlbSBtYW4gbWFnaWVwdW5rdGUgaW4KbGViZW5zcHVua3RvCnVtd2FuZGVsbiBrYW5uLCBldnRsLiBzb2dhciBlaWdlbmUgbWFnaWVwa3RlIGZ1ZXIgbHAgYmVpIG5lbSBhbmRlcmVuCm1pdHNwaWVsZXI/CnNvLCBkYXMgcmVpY2h0IGZ1ZXIgZGVuIGFuZmFuZyBkZXIgZGlza3Vzc2lvbiwgaWNoIHdhcnRlIG1hbCBhdWYgcmVha3Rpb25lbiEKCkJpcyBkYW5uLCBNb3NoCgoKcC5zLjogcmVjaHRzY2hyZWlidW5nIHVuZCBncmFzcy0va2xlaW5zY2hyZWlidW5nIGhhYiBpY2ggc2Nob24gbGFuZ2UKYXVmZ2VnZWJlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzaWNodCBkaXIgRHJpdHRlIChLbGluZ2UsIDE2LiBGZWIgMTk5NSwgMTg6MzI6NDQpOgojISBybj1CYW1idWxrbyBydD03OTI5MzE3MDMKVmllbGVpY2h0IG1hY2hzdCBkdSBqYSBlaW5mYWNoIG51ciB3YXMgZmFsc2NoIDspCkljaCBkYXJmIGRpciBqYSBuaWNodCBoZWxmZW4sIGFiZXIgZnJhZyBkb2NoIG1hbCBkZWluZSBtaXRzcGllbGVyIGRpZQpuaWNodCBzbyBvZnQgYWJrYWNrZW4sIHdpZSBkaWUgZGFzIG1hY2hlbiBhbnN0YXR0IHJ1bXp1aGV1bGVuLgplcyBnaWJ0IHNhY2hlbiBkYSBtdXNzIG1hbiBlYmVuIGR1cmNoLCBldnRsLiBhdWNoIG1pdCB0cmlja3MocnVtaGV1bGVuIGlzdApqZWRlbmZhbGxzIGtlaW4gZ3V0ZXIgdHJpY2spLCBpY2ggZXJpbm5lcmUgbnVyIGFuIGRpZSB6YXRvbmdzIDspKQpvZGVyIHdpZSBlcyBpbSBzY2hsYWdlciBzbyBzY2hvZW4gaGVpc3N0LCBnZWggbmFjaCBoYXVzIHVuZCB1ZWIgZXJzdG1hbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgKE1hc28sIDE2LiBGZWIgMTk5NSwgMTg6Mzg6NDUpOgojISBybj1Nb3NoIHJ0PTc5Mjk1NTU5NApKQWFhYWFhIQpFaW4gImhlaWxlIiAtIFphdWJlcnNwcnVjaCB3YWVyZSBnYW56IG51ZXR6bGljaCAuLi4KKEljaCB3ZWlzcywgZGllIE1hZ2llciBoYWJlbiBzb3dhcywgYWJlciB3YXMgc29sbCBkYSBlaW4ga2xlaW5lciBad2VyZyB3aWUKaWNoIG1hY2hlbi4uLiA6KCApCkF1c3NlcmRlbSB3YWVyZSBlcyBuZXR0LCB3ZW5uIG1hbiBzaWNoICh6ZWl0d2Vpc2UpIGluIGVpbiBUaWVyIHZlcndhbmRlbG4Ka29lbm50IChhbHNvIGVpbiAidmVyd2FuZGxlIiAtWmF1YmVyc3BydWNoLi4uIEF1Y2ggYXVmIGRpZSBNaXRzcGllbGVyCmFud2VuZGJhciwgaGloaWhpLi4uKQpOb2NoIGVpbmUgSWRlZTogRWluZSBJbGx1c2lvbiBiYXVlbiBrb2VubmVuICh6LkIuIGVpbmUgV2FuZCBtaXR0ZW4gaW4gZGVyCkxhbmRzY2hhZnQsIGVpbiBVbnRpZXIgKmdyaW5zKiBvZGVyIHdhcy13ZWlzcy1pY2ggKQpEYW5uOiBFaW5lbiBHZWlzdCBydWZlbiAoZGVyIGRhbm4gZWluZW4gQmVmZWhsIGF1c2Z1ZWhyZW4ga2Fubiwgei5CLiBqZW1hbmRlbgp0b2V0ZW4gLSBkYXMgd2FlcmUgZGFubiBhbGxlcmRpbmcgZWluIFBLISAtIG9kZXIgZXR3YXMgYnJpbmdlbiAod2VubnMgZWluZW4genUKZ2VmYWVocmxpY2ggaXN0Li4uKSkKT2RlciBldHdhcyBhZWhubGljaGVzOiBFaW4gVGllciBydWZlbiAoei5CLjogSHVuZCwgV2FsLCBBZGxlciwgUGZlcmQgb2Rlcgp3YS13ZWlzcy1pY2gpCihJQ0ggSEFTU0UgRElFU0VOIEVESVRPUiEhISkKT2RlciBlaW5lIEFydCBUYXJua2FwcGUgKGFscyB6YXViZXJzcHJ1Y2gpLCBkYXMgbnVyIChyZWxhdGl2KSBrdXJ6IGFuaGFlbHQuCk9kZXIgZWluIFNjaGxvZXNzZXItT2VmZm5lLVphdWJlcnNwcnVjaC4uLgpIYXQgbm9jaCBqZW1hbmQgSWRlZW4/CiAgICAgICAgICAgICBNYXNvIChkZXIgendhciBlaW4gendlcmcgaXN0LCBhYmVyIHRyb3R6ZGVtIHphdWJlcm4gbW9lY2h0ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoTW9zaCwgMTYuIEZlYiAxOTk1LCAxODozODo1Myk6CnJlIHdlaXNzZSBtYWdpZSEKCkhpIE5vY2htYWwhCgpBbHNvIGRhIGlzdCBtaXIgYWJlciBlaW4gZHVtbWVyIGZlaGxlciB1bnRlcmxhdWZlbiEgZGEgaGFiIGljaCBkb2NoIGdsYXR0CnlhbmRybyBtaXQgc2xhc2hlcgp2ZXJ3ZWNoc2VsdCEgYWxzbzoKCgpEYXMgd2FyIG5pY2h0IHNsYXNoZXIgbWl0IGRlciB3ZWlzc2VuIG1hZ2llLCBzb25kZXJuIHlhbnRybyEKCmljaCBob2ZmZSBkaWUgYmVpZGVuIG1hZ2llciBzaW5kIG1pciBkYXJ1ZWJlciBuaWNodCBib2Vzc2UhIChiZXR0ZWwpCgphYmVyIGRlciB2b3JzY2hsYWcgYmxpYnQgYmVzdGVoZW4hCgpiaXMgZGFubiwgICAgIG1vc2ghCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIChBc21vZGlzLCAxNi4gRmViIDE5OTUsIDE5OjA5OjQ3KToKIyEgcm49TW9zaCBydD03OTI5NTU1OTQKSG1tLCBpY2ggZGVua2UsIGRhcyBpc3Qgd29obCBTYWNoZSBkZXIgR2lsZGVuLCBkaWUgaG9mZmVudGxpY2ggYmFsZCBrb21tZW4sCnNvbGNoZSBaYXViZXJzcHJ1ZWNoZSB6dXp1bGFzc2VuIChnaWJ0cyBhdWNoIG5lIE1hZ2llcmdpbGRlPykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNpY2h0IGRpciBEcml0dGUgKFRvc3MsIDE2LiBGZWIgMTk5NSwgMjE6NDQ6NTgpOgojISBybj1LbGluZ2UgcnQ9NzkyOTU1OTY0CkhJIQpTb3JyeSwgS2xpbmdlLCBhYmVyIGRlaW5lbiBLb21tZW50YXIgaGFsdGUgaWNoIGZ1ZXIgemllbWxpY2ggdW5xdWFsaWZpemllcnQuCkhhZXR0ZXN0IER1IERpY2ggamVtYWxzIGFuIGhhZXJ0ZXJlbiBNb25zdGVybiBwcm9iaWVydCwgd3Vlc3N0ZXN0IER1LCBkYXNzClJvYmluIG5pY2h0IHNvIGVpbmZhY2ggenUga2lsbGVuIGlzdC4KSWNoIHNlaGUgQmFtYnVsa29zIGFydGlrZWwgdWViZXJoYXVwdCBuaWNodCBhbHMgaGV1bGVyZWksIHdlaWwgZXIKdGF0c2FlY2hsaWNoIHJlY2h0IGhhdCwgZGFzcyBiZWkgbWFuY2hlbiBNb25zdGVybiBkZXIgRmx1Y2h0bW9kdXMgbmljaHQKYW5zcHJpbmd0LiBJaG0gaXN0IGRhcyBudW4genVtIHp3ZWl0ZW5tYWwgcGFzc2llcnQsIHVuZCBkYXMgaXN0IG5hdHVlcmxpY2gKYWVyZ2VybGljaC4gV2VyIHdpZSBkdSBuaWUgdmllbGUgZXBzIGhhdHRlLCBrYW5uIHNvd2FzIHZpZWxsZWljaHQgbmljaHQKbmFjaHZvbGx6aWVoZW4uCkF1c3NlcmRlbSB3ZWlzcyBiYW1idWxrbyAsIGdlbmF1c28gd2llIGljaCAobWlyIGlzdCBkYXNzZWxiZSBhdWNoIHNjaG9ubWFsCnBhc3NpZXJ0KSBkYXNzIHdpciBzZWxic3Qgc2NodWxkIHNpbmQsIGRlbm4gd2lyIGhhYmVucyBzY2hsaWNodCBuaWNodApnZXNjaGFmZnQsIHNjaG5lbGwgZ2VudWcgZW5kZSB6dSBtYWNoZW4uIEFiZXIgd2VubiBzbyBldHdhcyBvZWZ0ZXIgcGFzc2llcnQsCmRhcmYgbWFuIGRvY2ggd29obCBtYWwgd2FzIGluIGRpZSB6ZWl0dW5nIHNldHplbiwgb2RlciA/CkJUVyBoYWJlIGljaCBraXJrIHVuZCBib2luZyBiZXJlaXRzIGF1ZiBkaWVzZXMgcHJvYmxlbSBhbmdlc3Byb2NoZW4sIGFiZXIKd29yYW4gZGFzIG1pdCBkZXIgbmljaHQgZnVua3Rpb25pZXJlbmRlbiBmbHVjaHRyaWNodHVuZyBiZWkgcm9iaW4gbGllZ3QsCnd1c3N0ZSBrZWluZXIgc28gcmVjaHQuIGFsc28gd2lyZCBtYW4gc2ljaCBoYWx0IGRyYXVmIGVpbnN0ZWxsZW4gbXVlc3Nlbi4KQWJlciB2aWVsbGVpY2h0IGthbm5zdCBEdSBEaXIgc29sY2hlIGtvbW1lbnRhcmUgenVrdWVuZnRpZyBzcGFyZW4sIHdlbm4Kc3BpZWxlcgp2b24gbW9uc3Rlcm4gcmVkZW4sIGRlbmVuIGR1IGRlaW4gc3BpZWxlcmxlYmVuIGxhbmcgbnVyIGdlbGQgZ2VnZWVuIGhhc3QsIHVtCmRpY2ggbmljaHQgbWl0IGlobSBhbmxlZ2VuIHp1IG11ZXNzZW4uLi4uLgoKVG9zcyBpLkEuIHZvbiBSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmx1Y2h0cmljaHR1bmcgKEtpcmssIDE3LiBGZWIgMTk5NSwgMTU6MjA6MjEpOgojISBybj1Ub3NzIHJ0PTc5MjkzNTU4MgpSb2JpbiBzY2hhbHRldCBkaWUgVm9yc2ljaHQgZGVmaW5pdGl2IG5pY2h0IGF1cyEKCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZWlsdW5nc3NwcnVjaCAoSGFra2lra3QsIDE3LiBGZWIgMTk5NSwgMTY6MTc6MDMpOgpIaSwKU28gZXR3YXMgd2llIGRlbiBIZWlsdW5nc3NwcnVjaCBnaWJ0IGVzIHNjaG9uLiBJbmZvcm1pZXJ0ZSBTcGllbGVyIGtvZW5uZW4KZGlyIHNpY2hlcmxpY2ggbWVociB2ZXJyYXRlbi4KQW5zb25zdGVuIGlzdCBlcyBzaWNoZXJsaWNoIG1vZWdsaWNoIGVpbmVuIGVudHNwcmVjaGVuZGVuIFNwcnVjaCB1YmVyIGRhcwoobGFuZyBhbmdla3VlbmRpZ3RlICkgR2lsZGVuc3lzdGVtIGVpbnp1YmF1ZW4uCkJpcyBkZW5uZSwgSGFra2lra3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAoU2xhc2gsIDE3LiBGZWIgMTk5NSwgMTc6MjA6NDYpOgpSRSBtYXNvIGhhdCBpbW1lciBub2NoIGtlaW5lCldhcyBzb2xsIGRlbm4gZGFyYW4gc28gdG9sbCBzZWluLCBkYXNzIGljaCBtaXIgZWluZSBhbmZhZW5nZXJpbiB6dXIgZnJhdQpuYWhtPwpJY2gga2VubiBqYSBuaWNodCBtYWwgaWhyZSBhdWdlbmZhcmJlIHVuZCBlaW5lIHNjaGVpZHVuZ3NzZXF1ZW56IGdpYnRzIG5pY2h0LgoKVHJvdHpkZW0gaG9mZmVuZCwgZGFzcyBNYXNvIGF1Y2ggZWluZSBmaW5kZXQuLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmx1Y2ggKFNudWdnbGUsIDE3LiBGZWIgMTk5NSwgMjE6NTE6MDkpOgpUamEsIG51biBpc3RzIGRvY2ggcGFzc2llcnQuIEljaCBzY2hyZWliZSBlaW5lbiBBcnRpa2VsLiBEYSBlcyBtZWluIGVyc3Rlcgppc3QsIG11ZXNzdCBJaHIgaGFsdCBtaXIgZGVtIG1pZXNlbiBMYXlvdXQgbGViZW4uCkVpZ2VudGxpY2ggZ2Vob2VydCBkaWVzZXIgQXJ0aWtlbCBhdWNoIGdhciBuaWNodCBpbnMgYWxsZ2VtZWluLCBhYmVyIGRhIGVyCnNvd29obCB6dSBldGlrZXR0ZSBhbHMgYXVjaCBxdWVzdHMgb2RlciB3aWUgYXVjaCBpbW1lciBnZWhvZXJ0CnBvc3RlIGljaCBpaG4gamV0enQgZG9jaCBoaWVyIGhpbi4gTW9lZ2UgaWhuIHZlcmtlZ2VuLCB3ZXIgc2ljaCBkYXp1IGJlcnVmZW4KdW5kIHF1YWxpZml6aWVydCBmdWVobHQuCgpJY2ggaGFiZSBoZXV0ZSBtaXQgUGF1bGluZSBkaWUgR2VpZ2VycXVlc3QgZ2VtYWNodCB1bmQgd2FyIHNlbGJzdCBncmFkIGltCkhhZXVzY2hlbiBiZWkgZGVuIEhlYmVsbi4gUGF1bGluZSB3YXIgaW4gZGVyIEhvZWhsZS4KRGEga2FtIEZhaG5kZXIgcmVpbnNwYXppZXJ0IHVuZCBzdGVsbHQgYW4gZGVuIEhlYmVsbiBydW0uIERhIG1pY2ggZXRsaWNoZQpMZXV0ZSBnZXdhcm50IGhhYmVuLCBkaWVzZXIgUGFydCBzZWkgZ2VmYWVocmxpY2ggZnVlciBkZXIgaW4gZGVyCkhvZWhsZSwgZGEgZXIgYmVpIGZhbHNjaGVyIEhlYmVsc3RlbGx1bmcgbGVpY2h0IHN0ZXJiZW4ga29lbm5lLCBiYXQgaWNoIGlobiwKZGFzIHNlaW4genUgbGFzc2VuLCBtaXQgZGVtIEhpbndlaXMgZGFyYXVmLCBkYXNzIG1laW4KClBhcnRuZXIgZ3JhZCBpbiBkZXIgSG9laGxlIHNlaS4gU2VpbmUgUmVha3Rpb24gd2FyIHNvIHVuZ2VmYWVociA6TGFzc3QgdW5zCm1hbCB2b3IsIHdpciBzaW5kIGVoIHNjaG5lbGxlciwgd2FydGV0IGhhbHQgZWluIGJpc3NjaGVuLgpEYSBpY2ggaWhuIG5pY2h0IGRhcmFuIGhpbmRlcm4ga29ubnRlLCBrYW0gZGFubiBuYWNoIHNlaHIga3VyemVyIFplaXQgZWluZQpUb2Rlc21lbGR1bmcgdm9uIFBhdWxpbmUuIEljaCB3ZWlzcyBuaWNodCAxMDAlIHdhcyBkYWJlaQpwYXNzaWVydCBpc3QsIGRhaGVyIGthbm4gbWFuIGlobSBkZW4gVG9kIG5pY2h0IGFsbGVpbiB6dXIgTGFzdCBsZWdlbi4gQWJlcgpkaWUgVGF0c2FjaGUsIGRhc3MgZXIgc2ljaCBzbyB1bnZlcnNjaGFlbXQgdm9yZ2VkcmFlbmdlbHQgaGF0LAptYWNodCBtaWNoIGRvY2ggemllbWxpY2ggc3ByYWNobG9zLiBIYWV0dGUgaWNoIG5pY2h0IFNFSFIgbmllZHJpZ2UgTFAgZ2VoYWJ0Cih2b20gR2h1bCkgaGFldHRlIGljaCBpaG4gbWl0IEdld2FsdCBnZWhpbmRlcnQsIGFiZXIgZGFzCndhZXJlIGphIG51biBhdWNoIGtlaW5lIExvZXN1bmcgZ2V3ZXNlbi4uCkRhaGVyIGRpZSBBbnJlZ3VuZywgZGFzIGluIHNvbGNoIGtyaXRpc2NoZSBSYWV1bWUgdmllbGxlaWNodCBudXIgaW1tZXIgZWluClNwaWVsZXIgcmVpbiBkYXJmLiBEYXMga29lbm50ZSBlaW5pZ2VzIGJvZXNlcyBCbHV0IChiencuIFRvZGUpCnZlcm1pZWRlbi4KU28gdW5kIGpldHp0IG11c3MgaWNoIGVpbmZhY2ggbWFsIHVlYmVyIGRpZSBtaWVzZSBRdWVzdCBhYmxhZXN0ZXJuLgpXYXMgaGF0IFRyb3kgc2ljaCBkYWJlaSBnZWRhY2h0PyBHZWh0IGVyIGRhdm9uIGF1cywgZGFzcyBzb3dpZXNvIGFsbGUgbWl0CkxvZXN1bmcgcXVlc3RlbiB1bmQgd29sbHRlIGVzIGF1Y2ggZnVlciBkaWUgTGV1dGUgbm9jaCBlaW4KYmlzc2NoZW4gc3Bhbm5lbmQgbWFjaGVuPyBJY2ggaGFsdGUgbWljaCBudW4gbmljaHQgZnVlciBkZW4gdWx0aW1hdGl2ZW4KSWNoLWtuYWNrLXNpZS1hbGxlLVF1ZXN0ZXIsIGFiZXIgZWluIGJpc3NjaGVuIFF1ZXN0ZXJmYWhydW5nIGhhbHRlCgppY2ggbWlyIGRvY2ggenVndXRlLiBCZWkgZGllc2VyIFF1ZXN0IHdhciBpY2ggc28gaG9mZm51bmdzbG9zIHZlcmxvcmVuLCB3aWUKbm9jaCBiZWkga2VpbmVyIGFuZGVyZW4uIEF1ZiBkaWUgKGltbWVyaGluIHZvcmhhbmRlbmUpIExvZ2lrCmluIGRlbSBibG9lZGVuIExhYiBtdXNzIG1hbiBlcnN0IG1hbCBrb21tZW4sIG5vY2ggZGF6dSB3ZW5uIGVpbmVuIHN0YWVuZGlnCmlyZ2VuZHdlbGNoZSBNYWdpZXJlc2lzdGVudGVuIEdodWxlIGFuZ3JlaWZlbi4gVW5kIGRpZSBMb2dpawplcmtlbm50IG1hbiB6d2FyLCB3ZW5uIHNpZSBlaW5lbSBiZWthbm50IGlzdCwgYWJlciBpY2ggd2Vpc3MgYmVpbSBiZXN0ZW4KV2lsbGVuIG5pY2h0LCB3aWUgbWFuIGRyYXVmIGtvbW1lbiBzb2xsLCB3ZW5uIG1hbiBzaWUgbmljaHQga2VubnQuCldlaXRlcmhpbiBkaWUgU2FjaGUgbWl0IGVyIEJydWVja2UuIERhIGlzdCBlaW4gU2NoaWxkLCBuaWVkcmlnZSBEZWNrZS4gQWJlcgp3ZW5uIGljaCBkaWUgRGVja2UgdW50ZXJzdWNoZW4gd2lsbCwgaGFlbmd0IHNpZSBzbyBob2NoLCBkYXNzCmljaCBzaWUgbmljaHQgbWFsIGVya2VubmUuIFdhcyBzb2xsIGRhcz8gVW5kIHdlbm4gbWFuIG5pY2h0IGtyaWVjaHQsIGlzdCBtYW4KYXVjaCBzY2hvbiBzbyBndXQgd2llIHRvdC4uLihrb3Bmc2NodWV0dGVsKQpJY2ggaGFiZSB6d2FyIG5vY2ggbmljaHQgYWxsZSBRdWVzdHMgZ2VtYWNodCwgYWJlciBkb2NoIGVpbmVuIHJlY2h0Cm9yZGVudGxpY2hlbiBBbnRlaWwgdW5kIG11c3MgbGVpZGVyIHNhZ2VuLCBkYXNzIGRpZXMgZGllIG1pdApBYnN0YW5kIHNjaGxlY2h0ZXN0ZSBRdWVzdCB3YXIsIGRpZSBpY2ggYmlzaGVyIGdlc3BpZWx0IGhhYmUuIERhYmVpIGlzdCBkaWUKSWRlZSBnYXIgbmljaHQgbWFsIHNvIHNjaGxlY2h0LCBhYmVyIHdlZGVyIGRhcyBLb256ZXB0IG5vY2gKZGllIEF1c2Z1ZWhydW5nIGtvZW5uZW4gYXVjaCBudXIgZWluZW4gUGx1c3B1bmt0IGZ1ZXIgc2ljaCB2ZXJidWNoZW4uIEljaAprYW5uIGpldHp0IG5pY2h0IG5hZWhlciBiZXNjaHJlaWJlbiwgd2FzIGljaCBtZWluZSwgb2huZSBkZW4Kd2VuaWdlbiBXYWhuc2lubmlnZW4sIGRpZSBkaWUgUXVlc3QgZG9jaCBvaG5lIEhpbGZlIG1hY2hlbiB3b2xsZW4sIGFsbHp1IHZpZWwKenUgdmVycmF0ZW4uIEFiZXIgaWNoIGthbm4gZWggbnVyIGplZGVtIGRhdm9uIGFicmF0ZW4uCldlciBkaWVzZSBRdWVzdCBvaG5lIExvZXN1bmcgbWFjaHQsIG11c3MgZW50d2VkZXIgZ2VuaWFsIG9kZXIgZWluClNlbGJzdG1vZXJkZXIgc2Vpbi4gTGVpZGVyLgoKRXMgZ3J1ZXNzdCBlaW4gdHJhdXJpZ2VyClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmbHVjaCAoQXNtb2RpcywgMTcuIEZlYiAxOTk1LCAyMjoxNDoxMSk6CiMhIHJuPVNudWdnbGUgcnQ9NzkzMDU0MjY5CkhtbSwgZGFubiBtdXNzIGljaCBnZW5pYWwgc2VpbiA6KQpEYXMgQmVzdGUsIHVtIGRhIGR1cmNoIHp1IGtvbW1lbiwgaXN0IHVlYnJpZ2VucywgZWluZW4gendlaXRpZSBhbiBkaWUgSGViZWwKdW5kIGRpZSBTY2hhbHR0YWZlbCB6dSBzZXR6ZW4sIG9kZXIgZWluZW4gendlaXRpZSBkYSBkdXJjaHp1c2NoaWNrZW4KCiAgICAgICAgICAgQ2lhbywgQXNtb2Rpcyh3YXIgZWluZXIgZGVyIGVyc3RlbiwgZGVyIGRpZXNlIFF1ZXN0IGxvZXN0ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmx1Y2ggKEVuZ3l3dWNrLCAxNy4gRmViIDE5OTUsIDIyOjU5OjUxKToKIyEgcm49QXNtb2RpcyBydD03OTMwNTU2NTEKVGphIEFzbW9kaXMuLi4KVmllbGxlaWNodCBzb2xsdGVzdCBEdSB6dSBEZWluZXIgZ2VuaWFsaXRhZXQgbm9jaCBlcndhZWhuZW4sIGRhc3MgRHUgNSBXb2NoZW4KZnVlciBkaWUgUXVlc3QgZ2VicmF1Y2h0IGhhc3QsIG9kZXI/IElzdCBlaWdlbnRsaWNoIG5pY2h0IGRhcyBaZWl0bWFzcywgZGFzcwppY2ggbWlyIGZ1ZXIgbmUgUXVlc3Qgdm9yc3RlbGxlLgpJY2gga2FubiBTbnVnZ2xlIGluIHNlaW5lciBRdWVzdGJld2VydHVuZyBudXIgdm9sbHN0ZW5zIFVudGVyc3R1ZXR6ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsdWNoIChBc21vZGlzLCAxNy4gRmViIDE5OTUsIDIzOjA0OjM3KToKIyEgcm49RW5neXd1Y2sgcnQ9NzkzMDU4MzkxClRqYSwgZXMgaGFrdGUgbnVyIGFuIGVpbmVtIHN5bnRha3Rpc2NoZW4gS25hY2twdW5rdCwgYWJlciBhbnNvbnN0ZW4gZ2luZwplaWdlbnRsaWNoIGFsbGVzIHppZW1saWNoIGdsYXR0LgpMZWlkZXIgZ2FiIGVzIGRhIG5vY2gga2VpbmVuLCBkZXIgZWluZW0gZWluZW4gVGlwIGdlYmVuIGtvbm50ZS4KCiAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsdWNoIChBbmF0b2wsIDE3LiBGZWIgMTk5NSwgMjM6MDU6MjkpOgojISBybj1Fbmd5d3VjayBydD03OTMwNTgzOTEKCkljaCBoYWIgIlBhZ2FuaW5pcyBUZXVmZWxzZ2VpZ2UiIG1pdCBJc25vIGdlbWFjaHQuCkJpbiBhdWNoIHp3ZWltYWwgZHJhdWZnZWdhbmdlbi4gVHJveSBkYXJmIG5pZW1hbmRlbSBib2VzZSBzZWluLCBkZXIgYXVmCnNlaW5lbiBOYW1lbiBhbGxlcmdpc2NoIHJlYWdpZXJ0LgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3JzaWNodCBkaXIgRHJpdHRlIChLbGluZ2UsIDE3LiBGZWIgMTk5NSwgMjM6MTU6MjApOgojISBybj1Ub3NzIHJ0PTc5Mjk2NzQ5OAoxLiloYWJlIGljaCByb2JpbiBzY2hvbiBkaWUga25ldGUgYWJnZW5vbW1lbiwgd2FyIGhhcnQsIGdlaHQgYWJlci4Kd2llIGRhcmYgaWNoIG5pY2h0IG1laHIgc2NocmVpYmVuLgoyLilmaW5kZSBpY2ggZWJlbiBuaWNodCBkYXMgZXMgaW4gZGllIHplaXR1bmcgZ2Vob2VydCBzaWNoIGF1c3p1aGV1bGVuLCBkYQplaW5lbiBqYSBrZWluZXIgendpbmd0IGRpZSBtb25zdGVyIGFuenVncmVpZmVuIHVuZCBzbyBsYW5nZSB3aWUgbW9lZ2xpY2gKc3RlaGVuIHp1IGJsZWliZW4uIHdlbm4gaWNoIGVpbiBtb25zdGVyIGRhcyBpY2ggbm9jaCBuaWNodCBrYW5udGUgYW5nZWdyaWZmZW4KaGFiZSBiaW4gaWNoIGltbWVyIGt1cnogaGluLCBoYWIgaWhtIDFuZW4gdmVycGFzc3QgdW5kIGJpbiB3aWVkZXIgd2VnLCB3b3JhdWYKaWNoIG1pY2ggZXJzdG1hbCBzZWxic3QgYW5nZXNlaGVuIGhhYmUuCmhvZmZlbnRsaWNoIGlzdCBkYXMgbmljaHQgc2Nob24gc3BpZWxlcmhpbGZlLgphYmVyIGltIHJsIGd1Y2t0IG1hbiBkb2NoIGF1Y2ggaW1tZXIgZXJzdCB3aWUgd2VpdCBtYW4gZ2VoZW4ga2Fubi4KMy4pZmluZGUgaWNoIGRhcyBzdGVyYmVuIGV0d2FzIGlzdCB3YXMgbWFuIGViZW4gaGlubmVobWVuIG11c3MgdW5kIHdvcmluIG1hbgpsZXJuZW4gc29sbHRlIGRpZSBtaWxkZSBkZXMgc2NoaWNrc2FscyB6dSBiZXd1bmRlcm4uCgphbnN0YXR0IGltbWVyIGluIGRlciB6ZWl0dW5nIHJ1bXp1amFua2VuICwgbmVobWUgbWFuIHNpY2ggbGllYmVyIGVpbiBvZGVyIDIKYmVpc3BpZWxlIGFuIGRlbmVuIGRpZSBtaXQgZGVuIG1vbnN0ZXJuIGthZW1wZmVuLCBzdGlsbCB1bmQgaGVsZGVuaGFmdCBzdGVyYmVuCnVuZCBhbiBpaHJlbiBlcmZhaHJ1bmdlbiB3YWNoc2VuLgp1bmQgbmljaHQgZnVua3Rpb25pZXJlbmRlIGZsdWNodG1vZGkgdW5kIGFuZGVyZSBidWdzIGdlaG9lcmVuIHBlciBtYWlsIGFuIGRpZQplbnRzcHJlY2hlbmRlbiBtYWdpZXIuCgp6dW0gc2NobHVzcyBub2NoIHdlZ2VuIGRlciBrbmV0ZSBsb2hudCBlcyBzaWNoIG5hdHVlcmxpY2ggbmljaHQgc2ljaCBtaXQKcm9iaW4gb2RlciBkZW4gcmFldWJlcm4gYW56dWxlZ2VuLiBzb3dhcyBsb2hudCBzaWNoIG51ciBhdXMgc3BvcnRzZ2Vpc3QuCmRhcyBiaXNjaGVuIGtuZXRlIGRhcyBzaWNoIGRpZSBrbGF1ZW5kZW4gbW9uc3RlciBzY2huYXBwZW4gaGF0IG1hbiBkb2NoIHdvaGwKbmFjaCBuZXIgcnVuZGUgb3Jrc2tsYXRzY2hlbiB3aWVkZXIgaW0gc2FjayBvZGVyIG5pY2h0ICE/IQoKUC5TLiB3aWVzbyBoYXR0ZSBpY2ggbmllIHZpZWxlIGVwID8gc28gc2NobGVjaHQgaXN0IGxldmVsIDIzIGF1Y2ggbmljaHQgdW5kCmJldm9yIGljaCBtYWdpZXIgZ2V3b3JkZW4gYmluIHdhciBpY2ggbnVyIG5vY2ggMS4xbWlsbGlvbmVuIHZvbiAyNCBlbnRmZXJudCA7KQoKdXV1dXV1bmQgdHNjaHVldWVzc3NzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzaWNodCBkaXIgRHJpdHRlIChTbm9va2VyLCAxNy4gRmViIDE5OTUsIDIzOjUxOjM1KToKIyEgcm49S2xpbmdlIHJ0PTc5MzA1OTMyMApIbW1tbSwgS2xpbmdlLCBkdSBtZWluc3QgYWxzbywgTGV2ZWwgMjMgd2FlcmVuIHZpZWxlIEVQPyBUamEsIGRhIG11c3MgaWNoCkRpY2ggbGVpZGVyIGVudHRhZXVzY2hlbi4gRGllIHBhYXIgTWlsbGlvbmVuIGhhdCBtYW4gc2NobmVsbCBiZWlzYW1tZW4uIFVuZAp3ZW5uIG1hbiBtaXQgMy01TWVwIHN0ZXJiZW4gc29sbHRlLCB2ZXJsaWVydCBtYW4gbmljaHQgbWFsIE1pbGxlLCB1bmQgZGllIGhhdAptYW4gc2NobmVsbCB3aWVkZXIgZXJtZXR6ZWx0LiBXYXMgc29sbGVuIGRhbm4gYWJlciBMZXV0ZSBtaXQgdWViZXIgMTUsIDIwIE1lcApzYWdlbj8gT2RlciBnYXIgdW5zZXIgYWJzb2x1dGVyIFNwaXR6ZW5yZWl0ZXIgVG9ldGVyPyBXZW5uIHNvbGNoZSBMZXV0ZSBkdXJjaAplaW5lbiBibG9lZGVuIEJ1ZyAob2RlciB3YXMgYXVjaCBpbW1lciBtaXQgZGVyIEZSIG5pY2h0IGhpbmhhdXQpIHN0ZXJiZW4sCnRyaWZmdCBlaW5lbiBkZXIgRVAtVmVybHVzdCBlaGVyIGhhcnQuIFVuZCBzcGV6aWVsbCB2b24gYXVzc2VyaGFsYiAoZC5oLiB6LkIuCkxpbnopIGtvbW1lbiBMYWFhYWFhYWFhYWdzIDooIGxlaWRlciBvZnQgdm9yLiBNYW4ga2FubiBkZXNoYWxiIHdhZWhsZW4Kendpc2NoZW46CmEpIG5pY2h0IG1laHIgb2RlciBudXIgdm9uIDI0LjAwLTUuMDBVaHIgbWV0emVsbiAoa2VpbiBsYWcpCmIpIGF1Y2ggenUgYW5kZXJlbiB6ZWl0ZW4gbXVkZGVuLCBhYmVyIG1pdCBlcmhvZWh0ZW0gUmlzaWtvCkRhIGF1Y2ggTXVkZGllcyBhYmVyIGFiIHVuZCB6dSBuZW4gYmlzc2NoZW4gU2NobGFmIGJyYXVjaGVuLCBiZXZvcnp1Z2UgaWNoCmViZW4gVmFyaWFudGUgYi4gVW0gYWJlciBrZWluZSBTcGllbGVyIHp1IGJldm9yenVnZW4gKE11ZW5zdGVyaWFuZXIgaGFiZW4Kc2ljaGVyIHdlbmlnZXIgbGFnIGFscyB3aXIgaGllciBpbSBTdWVkZW4pLCBmaW5kZSBpY2ggZXMgdW51bWdhZW5nbGljaCwgZGFzcwpkaWUgRmx1Y2h0IDEwMCUgZnVua3Rpb25pZXJ0LCBkaWUgRmx1Y2h0cmljaHR1bmcga2FubiBkYWJlaSBydWhpZyBtYWwKZmVobHNjaGxhZ2VuLCBkYW1pdCBrYW5uIG1hbiBqYSBsZWJlbi4gU28sIG1laHIgZmFlbGx0IG1pdCBpbSBNb21lbnQgZGF6dQpuaWNodCBlaW4uCgpDaWFvLCBTbm9va2VyIChnZXBMQUFBQUFBQUd0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChTbm9va2VyLCAxNy4gRmViIDE5OTUsIDIzOjUzOjM0KToKVXBzLCBrbGVpbmVyIFRpcHBmZWhsZXI6IEZSIHNvbGx0ZSBlaWdlbnRsaWNoIEZsdWNodCBoZWlzc2VuID06LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvcnNpY2h0IGRpciBEcml0dGUgKFN0YWhsZG9ybiwgMTcuIEZlYiAxOTk1LCAyMzo1NzowMCk6CiMhIHJuPVNub29rZXIgcnQ9NzkzMDYxNDk1ClVudGVyc3R1ZXR6dW5nc2Vya2xhZXJ1bmcuCkhpZXJtaXQgdW50ZXJzdHVldHplIGljaCBTbm9va2VyLgpEaWUgQXJyb2dhbnogZGVyZXIgaW4gTXVlbnN0ZXIgd2FlciBhdWNoIHNjaG5lbGwgZGFoaW4sIHdlbm4gZGllIG1hbCBzYWVoZW4sCnVudGVyIHdlbGNoZW4gTEFHLUJlZGluZ3VuZ2VuIHdpciBoaWVyIGluIE9lc3RlcnJlaWNoIHNwaWVsZW4uCiAgICAgU1RBSEwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWb3JzaWNodCBkaXIgRHJpdHRlIChLbGluZ2UsIDE4LiBGZWIgMTk5NSwgMDQ6MDI6MjkpOgojISBybj1TdGFobGRvcm4gcnQ9NzkzMDYxODIwCmljaCBzcGllbGUgbnVyIGFldXNzZXJzdCBzZWx0ZW4gdm9uIG11ZW5zdGVyIGF1cy4KbWVpc3RlbnMgbG9nZ2UgaWNoIG1pY2ggdm9uIGRvcnRtdW5kIGF1cyBhdWYgZGVtIHNlcnZlciBpbiBzdHV0dGdhcmQKZWluICg0NTA1MDk2NjAwMykKdW5kIHZvbiBkYSBhdXMgYXVmIGFzdGVyaXggaW4gbXMgdW5kIGRhbm4gaW4gTUcuCmFsc28gZXJ6YWVobHQgbWlyIG5pY2h0cyB2b24gbGFncy4KdW5kIHdhcyBpc3QgbWl0IGRlbiBsZXV0ZW4gYXVzIGFtaWxhbmQgLCB3YXJ1bSB2ZXJnaWVzc2VuIGRpZSBrZWluZSB0cmFlbmVuCmluIGRlciB6ZWl0dW5nID8KaW4KaWNoIGJpbiBqZXR6dCBzbyBjYS4gMTAgbWFsIGR1cmNoIG4gbGFnIGdlc3RvcmJlbiwgbmEgdW5kID8KYWJlciBuaWUgYW4gZGVyIHNlbGJlbiBzdGVsbGUgMm1hbC4Kdm9yIGFsbGVuIGRpbmdlbiBoYWIgaWNoIGRhbmFjaCBtZWluZSB6ZWl0IG5pY2h0IG1pdCBvZWZmZW50bGljaGVtCmJlaWxlaWRzaGVpc2NoZW4gdmVydGFuIHNvbmRlcm4gYW5zdGVsbGUgZGVzc2VuIGRpZSBzY2hhcnRlIGF1c2dld2V0enQgdW5kIGRhcwptb25zdGVyIHN0aWxsc2Nod2VpZ2VuZCBBQkVSIGRhbm4gZXJzdCByZWNodCBnZWtpbGx0LgppY2ggaGFiIGhpZXIgbm9jaCBrZWluIG1vbnN0ZXIgZ2VzZWhlbiBkYXMgbWFuIHRvdHdlaW5lbiBrb25udGUgOykpCmluIGRpZXNlbSBzaW5uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVm9yc2ljaHQgZGlyIERyaXR0ZSAoS2xpbmdlLCAxOC4gRmViIDE5OTUsIDA0OjAzOjUzKToKIyEgcm49S2xpbmdlIHJ0PTc5MzA3NjU0OQpkZXIgInNlcnZlciIgaXN0IG5hdHVlcmxpY2ggZWluIHJvdXRlciwgc29ycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZvcnNpY2h0IGRpciBEcml0dGUgKFp1ZXJpbGV1LCAxOC4gRmViIDE5OTUsIDA1OjM0OjE3KToKIyEgcm49S2xpbmdlIHJ0PTc5MzA3NjYzMwpTYWxpIHphZW1lLApOdW5qYSwgaGllciBpbiBkZXIgU2Nod2VpeiBsYWFndCBlcyB6dW0gdGVpbCBhdWNoIHVuZCBpY2ggYmluIGF1Y2ggc2Nob24KdmVyZWNrdCBhbiBlaW5lbSBMYWFnLCB1bmQgaWNoIG11c3N0ZSBhdWNoIHNjaG9uIHZpZWwgRVAncyBuYWNoYXJiZWl0ZW4gd2VpbAppY2ggd2VnZW4gZWluZW0gTGFhZyBnZXN0b3JiZW4gYmluLiBTb3JyeSBhYmVyIGRhIG11c3MgaWNoIEtsaW5nZSBpcmdlbnR3aWUKcmVjaHQgZ2ViZW4gbWl0IGxhYWdzIG11c3N0IGR1IHJlY2huZW4gdW5kIHdlbm4gZHUgZGFzIG5pY2h0IHR1c3QgdW5kCmVpbmthbGt1aWVyc3QgYmVpbSBrYWVtcGZlbiBiaXN0IGR1IHNlbGJlciBTY2h1bGQuIEljaCBnZWJlIHp1IHVuZCBiZWdyZWlmZQphdWNoIGRhcyBzaWNoIGVpbiB0b2V0ZXIgYXVmIGZsdWNodHJpY2h0dW5nZW4gdmVybGFzc2VuIG11ZXNzdGUgZGEgZXIgdmllbAptZWhyIGF1ZiBkZW0gU3BpZWwgc3RlaHQgYWxzIGJlaSBhbmRlcmVuIE1vbnN0ZXJuLiBJY2ggZmluZGUgYWJlciBhdWNoCmZsdWNodHJpY2h0dW5nIHVuZCBWb3JzaWNodCBpbSBhbGxnZW1laW5lbiBpc3QgbnVyIGVpbmUgTm90bG9lc3VuZywgc2NoYXV0CnNlbGJlciBhdWYgZXVyZSBscCdzIHVuZCByZW5udCBpbSBub3RmYWxsIHNlbGJlciBkYXZvbiB1bmQgdmVybGFlc3N0IGV1Y2gKbmljaHQgaW1tZXIgYXVmIGRpZSB2b3JzaWNodCBzb3dhcyBrb2VubnQgaWhyIGV1Y2ggYmVpIGRlbiBTdGVpbmlzCnNjaGxpZXNzbGljaCBhdWNoIG5pY2h0IGxlaXN0ZW4gISF+cgpVbmQgZnVlciBnZW5hdSBzb2xjaGUgZmFlbGxlIGhhYnQgaWhyIGRlbiB0ZWRkeSBvZGVyIGRlbmt0IGlociBldHdhIGRlciBzZWkKbnVyIGFscyBzY2htdWNrc3R1ZWNrIGluIGV1cmVtIGludmVudG9yeSA/CgpjdSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZsdWNoIChGeXQsIDE4LiBGZWIgMTk5NSwgMTI6Mjk6MjApOgojISBybj1TbnVnZ2xlIHJ0PTc5MzA1NDI2OQoKRGllIFNhY2hlIG1pdCBGYWhuZGVyIHVuZCBQYXVsaW5lIGZpbmQgaWNoIGF1Y2ggaXJnZW5kd2llIC4uLmhtLi4uCnVuc2Nob2VuLiBVbSBuaWNodCBhdXNmYWVsbGlnIHp1IHdlcmRlbiA6KS4gU2NocmVpYidzIG1hbCBpbiBwb2xpemVpLgpiZXNjaHdlcmRlbi4uLgoKVWViZXIgVHJveS1RdWVzdHMgYmVzY2h3ZXIgaWNoIG1pY2ggc2Nob24gZ2FyIG5pY2h0IG1laHIuIEFtIGJlc3RlbiwKbWFuIG5pbW10IGluIGRpZSBGQVEgZWluZSBkaWVzYmV6dWVnbGljaGUgV2FybnVuZyBhdWYuIERlciBLb21wYXNzCmluIGRlciBIZXhlcnF1ZXN0IGdlaHQgbWVpbmVyIE1laW51bmcgbmFjaCBpbW1lciBub2NoIG5pY2h0IHJpY2h0aWcsCndhcyB6dXNhbW1lbiBtaXQgZGVtIExvZXdlbiBlaW5nZW50bGljaCBzY2hvbiB1bnRlciBQbGF5ZXJraWxsIGVpbmdlLQpvcmRuZXQgd2VyZGVuIHNvbGx0ZS4gU2VsYmlnZXMgZ2lsdCBmdWVyIGRpZSBCcnVlY2tlIGJlaW0gR2VpZ2VyLiBJY2gKd2Vpc3MgYXVjaCBuaWNodCwgd2llIG1hbiByZWd1bGFlciBhdWYgc29sY2hlIElkZWVuIGtvbW1lbiBzb2xsLiBVbmQgaWNoIGJpbgpkZXIgTWVpbnVuZywgU3RlcmJlbiBnZWhvZXJ0IG5pY2h0IHVuYmVkaW5ndCB6dW0gUXVlc3Rlbi4KVHJveSBzY2hlaW50IGRhIGFuZGVyZXIgTWVpbnVuZyB6dSBzZWluLgpEYXMgZHVtbWUgaXN0IG51ciwgZGFzcyBzb2V0d2FzIG51ciB6dW0gTXVzdGVybG9lc3VuZy0KbmFjaHNwaWVsZW4gZnVlaHJ0Li4uCkljaCBlcmlubmVyZSBtaWNoLCBkYXNzIGljaCBkZW4gSGV4ZXIgZnVlbmYgb2RlciBzZWNocyBtYWwKZmFzdCBkdXJjaCBoYXR0ZSwgdW5kIGRhbm4gbm9jaG1hbCBtdXNzdGUsIHdlaWwgaWNoIGRlbgpEamlubiBuaWNodCBuYWNoIGRlbSBQYW56ZXIgZ2VmcmFndCBoYXR0ZS4uLgpJY2ggaGF0dGUgZGFzIHZvcmhlciBzY2hvbiBtZWhybWFscyBnZW1hY2h0LCBtaXIncyBuYXR1ZXJsaWNoCm5pY2h0IGF1Zmdlc2NocmllYmVuLCBiencgZWluZmFjaCBuaWNodCBkYW1pdCBnZXJlY2huZXQsIGRhc3MKZWluZSBuaWNodGdlc3RlbGx0ZSBGcmFnZSBtaXQgTmV1YW5mYW5nZW4gYmVzdHJhZnQgd2lyZC4KClp1bSBHbHVlY2sgZ2lidCdzIGFuZGVyZSBRdWVzdHMuLi4gRHVuY3RvbiB1bmQgVGFya28gUmV1Ygptb2VjaHRlIGljaCBtYWwgYWxzIGJlc29uZGVycyBnZWx1bmdlbiAobWVpbmVyIE1lZWludW5nIG5hY2gpCmJlemVpY2huZW4uCgpGeXQsIHdvbGx0ZSBlaW5nZW50bGljaCBuaWNodCBtZWNrZXJuLCBhYmVyIGRlciBGcnVzdCBzdGF1dCBzaWNoIGRvY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1IFp1ZXJpbGV1cyBBcnRpa2VsIChIb2JvLCAxOC4gRmViIDE5OTUsIDE2OjQwOjIyKToKSWNoIHdldHRlLCBUb2V0ZXIgZnJldXQgc2ljaCwgYWxzIE1vbnN0ZXIgYmV6ZWljaG5ldCB6dSB3ZXJkZW4uICA6KSkpCgpOaXggZnVlciB1bmd1dAoKICAgICAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZvcnNpY2h0IGRpciBEcml0dGUgKFN0YWhsZG9ybiwgMTguIEZlYiAxOTk1LCAxNzowNToyMSk6CiMhIHJuPUtsaW5nZSBydD03OTMwNzY1NDkKTGllYmVyIEtsaW5nZSAhCgpXYXMgYml0dGUgaGF0IGVpbiBMQUcgYXVzIGVpbmVtIHNvIG5haGVuIExhbmQgd2llIGRlbiBVU0EgbWl0IG1laW5lbSBQcm9ibGVtCnp1IHR1biA/PwpJY2ggcnVmZSBhdXMgT0VTVEVSUkVJQ0ggYW4gISEhISEhCgpTbywgZGFzIHNvbGx0ZSB3b2hsIHJlaWNoZW4uLi4KCiAgICAgICBTVEFITC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZvcnNpY2h0IGRpciBEcml0dGUgKEljZXQsIDE4LiBGZWIgMTk5NSwgMTg6Mzg6MDEpOgojISBybj1LbGluZ2UgcnQ9NzkzMDc2NTQ5Ck9mdG1hbHMgaXN0IGRpZSBMZWl0dW5nIGF1cyBBbWVyaWthIG5hY2ggTXVlbnN0ZXIgc2NobmVsbGVyIGFscyBkaWUKYXVzIFdpZW4uIEljaCBoYWJlIGVzIGF1c3Byb2JpZXJ0LCBnZXJhZGUgV2llbiBzY2hlaW50IG5vY2ggbWl0CkJvbmdvdHJvbW1lbG4gZGllIEJpdHMgenUgdWViZXJ0cmFnZW4uIERhcyBzaW5kIHZvbiBoaWVyIGF1cyAodW5kIGRpZQpFcmxhbmdlciBMZWl0dW5nIGlzdCB1bSBlaW5pZ2VzIHNjaG5lbGxlciBhbHMgZGllIE11ZW5zdGVyYW5lcikKc2Nob24gbWFlY2h0aWdlIGxhZ3MsIHdlbm4gaWNoIGRhIHVudGVuIGF1ZiBmdHAgb2RlciBzbyB6dWdyZWlmZS4KCkRpZSBFbnRmZXJudW5nIGhhdCBuaWNodCB1bmJlZGluZ3QgZXR3YXMgbWl0IGxhZ3MgenUgdHVuLiBXZW5uIER1Cm51ciBVbXdlZ2UgYXVmIHNjaG5lbGxlbiBMZWl0dW5nZW4gZ2Voc3QsIGlzdCBkYXMgbGFnIG5pY2h0IHNvIHNjaGxpbW0Kd2llIHZvbiBkZW4gYXJtZW4gVW5pcyBhdXMsIGRpZSA2NGtCaXQtTGVpdHVuZyBoYWJlbiAoUGFzc2F1IGlzdCBleHRyZW0gei5iLikKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBWb3JzaWNodCBkaXIgRHJpdHRlIChJY2V0LCAxOC4gRmViIDE5OTUsIDE4OjQyOjM2KToKIyEgcm49WnVlcmlsZXUgcnQ9NzkzMDgyMDU3CkhtbW1tLi4uIHVuZCB3ZW5uIGRhcyBNVUQgdW5kIGRpZSBMZWl0dW5nIHp1IHNjaG5lbGwgc2luZCBmdWVyIG1laW4KTW9kZW0/IDopIEthbm4gbWFuIG5pY2h0IGVpbmVuIEFuZ3JpZmZzbW9kdXMgZWluc3RlbGxlbiwgZGVyIG5pY2h0IHNvCnZpZWwgTWVsZHVuZ2VuIHJhdXN3aXJmdD8/IFdlbm4gbmFlbWxpY2ggc28gdmllbGUgTWVsZHVuZ2VuIGtvbW1lbiwKYnJhdWNodCBtZWluIE1vZGVtIGV3aWcsIGJpcyBlcyBtZWluZW4gQnVjaHN0YWJlbiAobmUgUmljaHR1bmcgenVyIEZsdWNodCkKYW5zIE1VRCBzY2hpY2t0LiBCaXMgZGFoaW4gYmluIGljaCB0b3QgOigKSXN0IG1pciBzY2hvbiBkZXMgb2VmdGVyZW4gcGFzc2llcnQsIGRhc3MgbWVpbmUgRmx1Y2h0dmVyc3VjaGUgenUgc3BhZXQKdWViZXJzIE1vZGVtIGdlbGFuZ3RlbiB1bmQgZGFubiBiZWltIFRvZCBpbW1lciAiRGVpbiBLb2VycGVyIGdlaG9yY2h0CkRpciBuaWNodCBtZWhyIiBrb21tdCAoV2VpbCBtZWluIEJlZmVobCBlcnN0IGJlaW0gVG9kIGR1cmNoa2FtKS4KCldhZXJlIGVzIG1vZWdsaWNoLCBmdWVyIE1vZGVtYmVzdGl6ZXIgZWluZW4gS3VyemthbXBmbW9kdXMgZWluenVyaWNodGVuLApkZXIgZWluZW0gRGVuIEJpbGRzY2hpcm0gbmljaHQgc28gZWtsaWcgenVtdWVsbHQ/ICpCSVRURSoKU29uc3Qgc3RlcmIgaWNoIG5vY2ggMTAgTWFsIGltIE1hZXJ6Li4uIERpZSBUb2RnZXdlaWh0biBncnVlc3NlbiBldWNoLgoKLUljZVQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadSBadWVyaWxldXMgQXJ0aWtlbCAoWnVlcmlsZXUsIDE4LiBGZWIgMTk5NSwgMjE6NDM6NTgpOgojISBybj1Ib2JvIHJ0PTc5MzEyMjAyMgpTYWxpIHphZW1lIChUb2V0ZXIhKQpKYWphIHNwb3RldCBpaHIgbnVyIGFiZXIgaWNoIGhhYmUgZXMgZXJzdCBnZW1lcmt0IGFscyBpY2ggZGFzIFRlaWwKZ2VzcGVpY2hlcnQgaGF0dGUgZGFzIHNpY2ggd2FzIGVpbmdlc2NobGljaGVuIGhhdHRlLiBTb3JyeSBtZWluZXJzZWl0cyB3YXIKZWNodCBuaWNodCBhYnNpY2h0bGljaCB1bmQgbmljaHQgYm9lc2UgZ2VtZWludCA9OikKCmN1IFp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVm9yc2ljaHQgZGlyIERyaXR0ZSAoWnVlcmlsZXUsIDE4LiBGZWIgMTk5NSwgMjE6NTE6NDApOgojISBybj1JY2V0IHJ0PTc5MzEyOTM1NgpTYWxpIEljZVQsCmVzIGdpZWJ0IGphIGVpbmUga3VyenJhdW1iZXNjaHJlaWJ1bmcgZGllIE11ZWxsdCBkaXIgZGVuIEJpbGRzY2hpcm0gbmljaHQgc28Kdm9sbC4gT2IgZGFzIG51biB3YXMgbnVldHp0IGltIGVuZGVyZ2ViaW5pc3MgbW9lZ2UgYmV6d2VpZmVsdCB3ZXJkZW4sIGFiZXIKdWViZXIga3VyemFuZ3JpZmZzbW9kaSBkYSBtdXNzdCBkdSBkaWUgRXJ6bWFnaWVyIGZyYWdlbiwgYW5kZXJzZWl0cyBiZWtvbW1zdApkdSBkYW5uIG5pY2h0IG1laHIgYWxsZSBpbmZvcm1hdGlvbmVuIGRpZSBiZWkgZWluZW0gS2FwZiBudWV0emxpY2ggc2Vpbgprb2VubmVuLiBXYXMgZGVpbiBtb2RlbSBiZXRyaWZmdCwgaWNoIGJpbiBmcnVlaGVyIHp1ciBtZWluZXIgU3BpZWxlcnplaXQgdmlhCidHb3BoZXInIGVpbmdlbG9nZ3QsIHdvIG1pciBzaWNoZXIgamVkZXIgYmVzdGFldGlnZW4ga2FubiBkYXMgZG9ydCBkaWUgTGVpdHVuZwpuaWNodCBkaWUgYmVzdGUgc2VpbiBrYW5uIHVuZCBhdWNoIGljaCBoYXR0ZSBMYWFnLCBhYmVyIGljaCBrb25udGUgZGFtaXQgbGViZW4KdW5kIGlociBtdWVzc3QgZXMgaGFsdCBudW4gYXVjaCB0dW4uIEhldXRlIGJpbiBpY2ggdWViZXIgV1dXIGhpZXIgdW5kIGhhYmUKdWViZXJoYXVwdCBrZWluZSBwcm9ibGVtZSBtZWhyIGluIGRlciBzYWNoZSBhdXNzZXIgZGllIG5vcm1hbGVuIExhYWdzIGRpZQppbW1lcm1hbCBhdWZrb21tZW4ga29lbm5lbi4KCkRhcyBpY2ggZGllc2VuIHNjaGVpc3MgZWRpdG9yIGhhc3NlIHVuZCBkaWUgc29sY2hlbiB0eXBvcyB6dSBlbnRzY2h1bGRpZ2VuCnNpbmQgc29sbHRlIG51biBsYW5nc2FtIGplZGVtIGJla2FubnQgc2VpbiBkZXIgbWljaCBrZW5udC4KClRzY2h1ZXNzIHphZW1lIFp1ZXJpbGV1CnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvcnNpY2h0IGRpciBEcml0dGUgKFNjaHJ1bXBmaSwgMTguIEZlYiAxOTk1LCAyMjoxNDowNCk6CiMhIHJuPUtsaW5nZSBydD03OTMwNTkzMjAKSWNoIGZyYWcgbWljaCB3YXMgZGFyYW4gYXVzaGV1bGVuIHNlaW4gc29sbCwgd2VubiBkZXIgZmx1Y2h0bW9kdXMgdmVyc2FndCB1bmQKbWFuIGluIGRlciBNUEEgZnJhZ3Qgd2FzIGRhIHdvaGwgbG9zIGlzdC4gSXN0IG1pciBhdWYgYWxsZSBGYWVsbGUgbGllYmVyIGFscwplbmRsb3NlIERpc2t1c3Npb25lbiB1ZWJlciBXb2xwZXJ2aWVjaGVyIHVuZCBOYW1lbi4KV2FzIHNvbGwgZGllc2VzIGdhbnplIGdyb3NzZSBHZXR1ZSBlaWdlbnRsaWNoLCBpY2ggYmluIGRlciBiZXN0ZSBpY2ggaGFiCnNjaG9uICBkaWUgdW5kIGRpZSBNb25zdGVyIHVtZ2VsZWd0IHVuZCBiaW4gbm9jaCBuaWUgZ2VzdG9yYmVuIGVjdCBlY3QuIFdlbm4KZGVyIEZsdWNodG1vZHVzIG5pY2h0IGtsYXBwdCB1bmQgbWFuIGRyYW4gc3RpcmJ0IGlzdCBlcyBudW5tYWwgYWVyZ2VybGljaCB1bmQKaWNoIHNlaGUgZGFyaW4ga2VpbiAnYXVzaGV1bGVuJyEKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWb3JzaWNodCBkaXIgRHJpdHRlIChTY2hydW1wZmksIDE4LiBGZWIgMTk5NSwgMjI6NDc6NTEpOgojISBybj1JY2V0IHJ0PTc5MzEyOTA4MQpZZXAgSWNldC4gRGllIFdpZW5lciBhcmJlaXRlbiB0YXRzYWVjaGxpY2ggbm9jaCBtaXQgUmF1Y2h6ZWljaGVuIG9kZXIKQm9uZ290cm9tbWVsbi4gTWFuIGthZW1wZnQgc28gZnJpc2NoIGZyb2VobGljaCB2b3Igc2ljaCBoaW4sIGRpZSBMZWl0dW5nIGlzdAplaWdlbnRsaWNoIGd1dCB1bmQgYXVmIGVpbm1hbCBSVU1NUyB1bmQgZGVyIFdpZW5lciBsaW5rIGlzIGZ1dHNjaC0+VG90LiBTbyBpc3QKZXMgbWlyIHNjaG9uIGVpbiBwYWFyIG1hbCBnZWdhbmdlbiBhbHMgaWNoIG5vY2ggYWxzICdzdGVyYmxpY2hlJyBkdXJjaHMgTUcKd2FuZGVydGUsIGRhIGthbm4gbWFuIGFsbGVyZGluZ3MgbmljaHQgdm9uIHNlbGJlciBTY2h1bGQgcmVkZW4sIHdlaWwgZGFubiBkYXJmCmljaCBqYSBnYXIgbmljaHQgbWVociBrYWVtcGZlbi4gRXMgaXN0IGVpbmZhY2ggdmVyZGFtbXQgYWVyZ2VybGljaCB3ZW5uIHNvd2FzCnBhc3NpZXJ0LiBBbGxlcmRpbmdzIGdpbmdzIGphIHNvdmllbCBpY2ggd2V1aXNzIGF1Y2ggbmljaHQgdW0gZGllIGxhZ3Mgc29uZGVybgp2aWVsbWVociB1bSBkaWUgRmx1Y2h0cmljaHR1bmcgZGllIHZlcnNhZ3RlLiBBY2ggamEsIG5vY2ggd2FzOiBEaWUKTXVlbnN0ZXJhbmVyIHNpbmQgbmljaHQgYXJyb2dhbnQgbnVyIGVpbiBiaXNzY2hlbiBNQUNIVEdFSUwgOy0pCiplaW5zY2htZWljaGVsKgpTY2hydW1wZmkgaXN0IGF1Y2ggTUFBQUNIVEdFSUwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZvcnNpY2h0IGRpciBEcml0dGUgKEtsaW5nZSwgMTkuIEZlYiAxOTk1LCAxNzoxMzowOCk6CiMhIHJuPVN0YWhsZG9ybiBydD03OTMxMjM1MjEKRW50c2NodWxkaWdlIHZpZWxtYWxzLCBpY2ggdmVyZ2FzcyBkYXMgT2VzdGVyZWljaCBoaW50ZXIgZGVtIE1vbmQgbGllZ3QuCnNvcnJ5IDsoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbW1lciBqdWVuZ2VyIChCbG9vZHloYXJyeSwgMjAuIEZlYiAxOTk1LCAwNzo1OTozMyk6Ck1vcmdlbmdyYXVlbiBpc3QgZWluIEp1bmdicnVubmVuOgoKR2VzdGVybiB3YXIgaWNoIG5vY2ggMiBUYWdlIGFsdCAtIGhldXRlIG51ciBub2NoIDEgVGFnICsgMTMgU3R1bmRlbi4KCgpVbmQgaWNoIGRhY2h0ZSBpbW1lciwgbnVyIGRlciBSaGVpbiBzZWkgZWluIEp1bmdicnVubmVuOgpXZXIgZGFyaW4gYmFkZXQgd2lyZCBuaWNodCBhbHQuICA7LSkKCgpjaWFvLCBzYWNodCBCbG9vZHkgSGFycnksIGRlciBQaXJhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgRlIgKFRvc3MsIDIwLiBGZWIgMTk5NSwgMTA6Mzc6MDUpOgpIaSBMZXV0ZSAhCgpqZXR6dCBtdXNzIGljaCB6dSBkZXIgZW50c3RhbmRlbmVuIERpc2t1c3Npb24gdWViZXIgZGllIEZsdWNodHJpY2h0dW5nIGRvY2gKbm9jaCBlaW5tYWwgbWVpbmVuIFNlbmYgZGF6dWdlYmVuLiBMZWlkZXIgaGF0IG5hZW1saWNoIGF1c3NlciBTY2hydW1wZmkgYmlzLQpoZXIgbm9jaCBrZWluIGFuIGRpZXNlciBEaXNrdXNzaW9uIEJldGVpbGlndGVyIHZlcnN0YW5kZW4sIHdvcnVtIGVzCnVlYmVyaGF1cHQKZ2luZy4KQWxzbzogU2FjaHZlcmhhbHQ6IFJvYmluIGFuZ2VncmlmZmVuLCBWb3JzaWNodCAxNDAsIG5hY2ggZWluZW0gUGZlaWwgaXN0IG1hbgp2b24gMjE4IGxwIHJ1bnRlciBhdWYgOTAsIGFiZXIgZGVyIEZsdWNodG1vZHVzIHNwcmluZ3QgbmljaHQgYW4sIG1hbiBibGVpYnQKaW0gUmF1bSwgdW5kIGluIGRlbSBNb21lbnQsIHdvIG1hbiBFbmRlIHRpcHBlbiB3aWxsLCBpc3RzIGF1Y2ggc2Nob24genUKc3BhZXQuClBhc3NpZXJ0IGlzdCBkaWVzIEJhbWJ1bGtvIHVuZCBSeW5lLiBXZW5uIEJhbWJ1bGtvLCBkZW0gYWVobmxpY2hlcyBhdWNoIHNjaG9uCmJlaW0gR29ibGluaGV4ZXIgcGFzc2llcnQgaXN0LCBlaW5lbiBsZWlzZW4gQXJ0aWtlbCBpbiBkaWUgWmVpdHVuZyBzZXR6dCB1bmQKbmFjaGZyYWd0LCBvYiBkYSBldnRsLiBlaW4gYnVnIGlzdCwgc28ga2FubiBpY2ggZGFyaW4gaW4ga2VpbmVyIFdlaXNlIGVpbgpSdW0tCmdlamFtbWVyIGVya2VubmVuLgpTbywgdW5kIHdlbm4gbnVuIG5vY2ggZWluZXIgaXJnZW5kd2FzIHZvbiBMQUdTIHNjaHJlaWJ0LCBrYW5uIGljaCBudXIgc2FnZW46ClRoZW1hIHZlcmZlaGx0LCBzZXR6ZW4sIHNlY2hzLiBTb3JyeSwgYWJlciBkaWVzZSBTYWNoZSBoYXQgbmljaHRzIG1pdCBlaW5lbQpMYWcgenUgdHVuLiBCZWkgZWluZW0gTGFnIHd1ZXJkZSBpY2ggdmllbGxlaWNodCBlcnN0IDIgbWludXRlbiBzcGFldGVyIGZlc3QtCnN0ZWxsZW4sIHdhcyBpbSBLYW1wZiBwYXNzaWVydCBpc3QgdW5kIGRhc3MKaWNoIGdlZmx1ZWNodGV0IGJpbiwgYWJlciBlaW4gTGFnIHNldHp0IE5JQ0hUIGRlbiBGbHVjaHRtb2R1cyBhdXNzZXIgS3JhZnQKKHdlbm4gaWNoIGRhIGZhbHNjaCBsaWVnZSwgbGFzc2UgaWNoIG1pY2ggZ2VybmUgZWluZXMgQmVzc2VyZW4gYmVsZWhyZW4pLgpXYXMgZGVuIEZsdWNodG1vZHVzIGJlaSBSb2JpbiBhdXNzZXIgS3JhZnQgZ2VzZXR6dCBoYXQsIHdlaXNzIGtlaW5lciwgbGVpZGVyCnNjaGVpbnQgZGEgZWluIEZlaGxlciB6dSBzZWluICh1bmQgbmljaHQgbnVyIGJlaSBSb2JpbiwgZGVubiBtaXIgcGFzc2llcnQgZGFzCm1pdHRsZXJ3ZWlsZSBhdWNoIGluIGFuZGVyZW4gR2VnZW5kZW4pLgpOb2Nod2FzIHp1IEtsaW5nZTogV2VubiBEdSBtZWluc3QsIGRhc3MgRGVpbmUgRVAtVmVybHVzdGUgaG9jaCBzaW5kLCByZWNobmUKbWFsIGF1cywgd2FzIGRpZSBTcGllbGVyIGFiIFBsYXR6IDE1IGRlciBTZWhlcmxpc3RlIGF1ZndhZXJ0cyB2ZXJsaWVyZW4sIHdlbm4Kc2llIHN0ZXJiZW4uIERhc3MgbWFuIGRhIGF1Y2ggbWFsIGV0d2FzIGZydXN0cmllcnQgaXN0LCB3ZW5uIG1hbiBzdGlyYnQsCmthbm5zdCBEdSBkYW5uIHZpZWxsZWljaHQgbmFjaHZvbGx6aWVoZW4uIERlaW5lIFZlcmx1c3RlIGplZGVuZmFsbHMgbmVobWVuCnNpY2ggZGFnZWdlbiBsYWVjaGVybGljaCBhdXMuIFVuZCB3ZW5uIER1IHVucyB3ZWlzbWFjaGVuIHdpbGxzdCwgRHUgc2Vpc3QKbWluZGVzdGVucyAxMCBtYWwgZHVyY2ggZWluZW4gTGFnIGdlc3RvcmJlbiwga2FubiBpY2ggbnVyIHNhZ2VuLCBzZWxic3QKU2NodWxkLCBkZW5uIGRhZnVlciBnaWJ0cyBqYSBudW5tYWwgZGVuIEZsdWNodG1vZHVzLiBXZXIgbmF0dWVybGljaCBpbW1lcgppbSBQcmlueiBFaXNlbmhlcnogTW9kdXMga2FlbXBmdCwgZGFyZiBzaWNoIG5pY2h0IHd1bmRlcm4sIHdlbm4gZXIgc3RpcmJ0LgpBYmVyIEtsaW5nZSBpc3QgamEgYXVjaCBlaW4gaGFydGVyIE1hbm4sIHVuZCBhbGxlIGFuZGVyZW4gaGllciBpbSBNdWQgbnVyCldlaWNoZWllciwgc292aWVsIGthbm4gbWFuIERlaW5lbiBBcnRpa2VsbiBpbW1lcmhpbiBlbnRuZWhtZW4uClJ5bmUKClAuUy4gQmV6b2dlbiBhdWYgQXJ0aWtlbCAzNSszNiAvYmFtYnVsa28gJiBlZDogRXMgZ2lidCBuYXR1ZXJsaWNoIGF1Y2gKTW9uc3RlciwKZGllIGRlbiBGbHVjaHRtb2R1cyBhYnN0ZWxsZW4uIERhcyBzaW5kIGplZG9jaCBudXIgd2VuaWdlLCB1bmQgZGllIHNvbGx0ZSBtYW4KZGFubiB6dSBMYWctWmVpdGVuIGhhbHQgbWVpZGVuLiBVbmQgUm9iaW4gZ2Vob2VydCBuYWNoIEF1c3NhZ2Ugdm9uIEtpcmsgamEKbmljaHQgenUgZGllc2VuIE1vbnN0ZXJuLCBlaWdlbnRsaWNoIG11ZXNzdGUgYmVpIGRlbSBkZW1uYWNoIGFsbGVzIGtsYXBwZW4KKGF1c3NlciBpbSBQcmlueiBFaXNlbmhlcnogTW9kdXMsIGRhIGthbm5zIHNjaG9ubWFsIGV0d2FzIGtuYXBwIHdlcmRlbiA7KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhbmlzaGVuIChHYXJmaWVsZCwgMjAuIEZlYiAxOTk1LCAxMTo1MzozNSk6CiMhIHJuPUNpZmVyIHJ0PTc5MjMyNTYzMApIbSwgSmVzdXMgLi4uClN0aW1tdCBzY2hvbiwgaXN0IGVpbiBiaXNzY2hlbiBoZWlrZWwuIEFiZXIgaWNoIGJpbiBhdWNoIGRlciBNZWludW5nLApkYXNzIGlobiB6dSBiYW5pc2hlbiBlaW4gYmlzc2NoZW4gdWViZXJ0cmllYmVuIGlzdC4KSXN0IHVlYnJpZ2VucyBkYXMgZXJzdGUgKHVuZCBob2ZmZW50bGljaCBsZXR6dGUpIE1hbCwgZGFzcyBpY2ggbWljaCBpbgpkaWVzZSBlbGVuZGUgTmFtZW5zLURpc2t1c3Npb24gZWlubWlzY2hlIC4uLgpBbHNvLCBkaWUgZWluemlnZSBHZWZhaHIgYmVpIGVpbmVtIFNwaWVsZXIgbmFtZW5zIEplc3VzIGlzdCBkb2NoLCBkYXNzCmVyIGVpbiBiaXNzY2hlbiBhdXNmbGlwcHQgdW50IHNpY2ggKHNwcmljaHdvZXJ0bGljaCkgZnVlcgpKZXN1cyBoYWVsdC4gRGFiZWkgaXN0IG5vY2ggbml4IFdpbGRlcywgZGEgaGFldHRlIGljaCBlaHJsaWNoIG1laHIKQmVkZW5rZW4gYmVpIGVpbmVtLCBkZXIgc2ljaCBmdWVyIEhpdGxlciwgSGltbWxlciwgZWluZW4gUGVkZXJhc3Qgb2Rlcgpzb25zdHdhcyBoYWVsdC4KCkFuc29uc3RlbiBoYWx0ZSBpY2ggbWljaCByYXVzLCB3ZWlsIGljaCBkZXIgTWVpbnVuZyBiaW4sIGRhc3MgamVkZXIKc2VsYmVyIHdpc3NlbiBtdXNzLCB3aWUgZXIgc2ljaCBuZW5udC4gV2VyZGUgc2VsYmVyIGF1Y2ggaW1tZXIgYW5nZS0KbWFjaHQsIHdpZXNvIGljaCBhbHMgRnJhdSBHYXJmaWVsZCBoZWlzc2UgLi4uLgpUaGF0J3MgbGlmZSwgZmVsbG93cywgd2FzIHNvbGxzPwoKR2FyZmllbGQKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb2Rlcy1Ub3AgVGVuIChDZXJlYnVzLCAyMC4gRmViIDE5OTUsIDEyOjA3OjAwKToKSHVodSEKRGVyIEZpbmdlci1CZWZlaGwgd3VyZGUgamEgKG5ldHRlcndlaXNlKSBlcndlaXRlcnQgdW5kIHplaWd0IGF1Y2ggZGllIFRvZGUKYW4uIEtvZW5udGUgbWFuIG5pY2h0IGlyZ2VuZHdvIGVpbmUgIlRvZGVzLVRvcCBUZW4iIGVpbmJhdWVuICh3aWUgZGllCkhpdGxpc3RlbiBpbiBkaXZlcnNlbiBLbmVpcGVuKT8KRmFsbHMgZXMgc293YXMgc2Nob24gZ2lidCAoaWNoIGtlbm4gbWljaCBub2NoIG5pY2h0IHNvIGdhbnogdG9sbCBpbiBkZW4KZW50bGVnZW5lbiBXaW5rZWxuIGF1cy4uLjotKSksIGRhbm4gb2VnZSBtYW4gbWlyIGRhcyBkb2NoIGJpdHRlIG1pdHRlaWxlbi4uLgpEcmVpZmFjaCAiR3V0IFJhdWNoISIKQ2VyZWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICAoTWFzbywgMjAuIEZlYiAxOTk1LCAxMjo0OTowOCk6CiMhIHJuPVNsYXNoIHJ0PTc5MzAzODA0NgpJY2ggaG9mZmUgbmljaHQsIGRhc3MgbWljaCBlaW5lIGZpbmRldCA6LSkKCk5pbW1zIG5pY2h0IHNvIGVybnN0LCBkdSB3YXJzdCBqYSBudXIgZXhhbXBsYXJpc2NoIGJlbmFubnQuLi4KICAgICAgICAgICAgICAgICAgIE1hc28sIGRlciBsaWViZXIgYWxsZWluZSBsZWJ0IHVuZCBxdWVzdGV0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG9kZXMtVG9wIFRlbiAoS2lyaywgMjAuIEZlYiAxOTk1LCAxMzo1NzowNSk6CiMhIHJuPUNlcmVidXMgcnQ9NzkzMjc4NDIwCkVpbmUgVG9kZXMtVG9wLVRlbiBpc3QgamEgd29obCBvYmVyc2lubmxvcy4gRGEga2FubiBqYSBqZWRlciBEZXBwIGdhbnogb2JlbgpzdGVoZW4sIGluZGVtIGVyIHNpY2ggZWluZmFjaCBlaW4gcGFhcm1hbCB2b24gaXJnZW5kd2VsY2hlbiBLbGlwcGVuIHN0dWVyenQuClNvd2FzIHdpcmQgZXMgYWxzbyBuaWNodCBnZWJlbiwgZGEgZXMgZGFzIGFic29sdXQgbmljaHQgYnJpbmd0LgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUb2Rlcy1Ub3AgVGVuIChCYW1idWxrbywgMjAuIEZlYiAxOTk1LCAxNDowMzowMik6CiMhIHJuPUtpcmsgcnQ9NzkzMjg1MDI1CldlbiBtZWludCBkZXIgYmxvc3M/Pz8KCkRhcyBEcmVja3NjaHdlaW4gd2Fycy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZvcnNpY2h0IGRpciBEcml0dGUgKEJvbmdvLCAyMC4gRmViIDE5OTUsIDE0OjIwOjMxKToKIyEgcm49U2NocnVtcGZpIHJ0PTc5MzE0NDA3MQpIYXQgaGllciBpcmdlbmRqZW1hbmQgZXR3YXMgYW4gQk9OR09UUk9NTUVMTiBhdXN6dXNldHplbj8/PyA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFZvcnNpY2h0IGRpciBEcml0dGUgKEFuYXRvbCwgMjAuIEZlYiAxOTk1LCAxNDo1Mjo1NSk6CiMhIHJuPUJvbmdvIHJ0PTc5MzI4NjQzMQoKSkEhCgpBbmF0b2wgKGVoZW0uIFRycEZtU29sZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmx1Y2ggKFBhdWxpbmUsIDIwLiBGZWIgMTk5NSwgMTU6NDY6MjIpOgojISBybj1Bc21vZGlzIHJ0PTc5MzA1NTY1MQpqYSBhc21vZGlzLCBkdSBiaXN0IGdlbmlhbCwgdW5kIHdpciBzaW5kIGRvb2YgOikKdHJvdHpkZW0sIGljaCBmaW5kZSBkaWUgendlaS1zcGllbGVyLXF1ZXN0LWlkZWUgZ3V0LCBuaWNodCBudXIsIHVtIHNpZSBtaXQKendlaXRpZXMgenUgbWFjaGVuLCBzaWUgc29sbHRlbiBhbHNvIGF1Y2ggc28gYW5nZWxlZ3Qgd2VyZGVuLCBkYXNzIHNpY2ggendlaQpsZXV0ZSBhbiB1bnRlcnNjaGllZGxpY2hlbiByZWNobmVybiBnZWdlbnNlaXRpZyBoZWxmZW4ga29lbm5lbiF+cQoKIC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsdWNoIChQYXVsaW5lLCAyMC4gRmViIDE5OTUsIDE1OjQ4OjI3KToKIyEgcm49UGF1bGluZSBydD03OTMyOTE1ODIKc29ycnkgbGV1dGUsIG1laW4gZXJzdGVyIGFydGlrZWwsIGRlc2hhbGIgZGllIHN5bnRheHByb2JsZW1lIDopCgpmYWhuZGVyIHNlaSB1ZWJyaWdlbnMgdmVyemllaGVuLCB3ZW5uIGVyIHdhcyBkcmF1cyBnZWxlcm50IGhhdC4KCnBhdWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlaWdlbnF1ZXN0IChLaXJrLCAyMC4gRmViIDE5OTUsIDE2OjM0OjUyKToKQmlzIGF1ZiB3ZWl0ZXJlcyBpc3QgZGllIEdlaWdlbnF1ZXN0IGRlYWt0aXZpZXJ0IHVuZCBuaWNodCBtZWhyIHNwaWVsYmFyLgpNb3Vsb2tpbiBibGVpYnQgYW5nZXNjaGxvc3NlbiwgYWJlciBkaWUgUXVlc3QgYWxzIHNvbGNoZSBpc3QgZXJzdG1hbCBhdWYgRWlzCmdlbGVndCwgZGEgc2ljaCBCZXNjaHdlcmRlbiB1bmQgUHJvYmxlbWUgdWViZXIgdW5kIG1pdCBkZXIgUXVlc3QgaGFldWZ0ZW4uCkFsbGUsIGRpZSBkaWUgUXVlc3QgYmVyZWl0cyBnZWxvZXN0IGhhYmVuLCBiZWhhbHRlbiBpaHJlIFB1bmt0ZQoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUb2Rlcy1Ub3AgVGVuIChUb3NzLCAyMC4gRmViIDE5OTUsIDE2OjM2OjI2KToKIyEgcm49S2lyayBydD03OTMyODUwMjUKSEkhCgpOYWphLCBtYW4ga29lbm50ZSBkaWUgVG9wLWxpc3RlIGphIG5hY2ggZGVyIE1lbmdlIGRlciB2ZXJsb3JlbmVuIEVQcwpzb3J0aWVyZW4sIG5pY2h0IGRlciBaYWhsIGRlciBUb2RlLi4uIGRhbm4gd3VlcmRlbiBkaWUgU3ByaW5nZXIgYXVzc2VuIHZvcgpibGVpYmVuLi4uCgpSeW5lLCBkZXIgd2VuaWdzdGVucyBhdWYgZGVyIFRvcC1TdGVyYmVyIGxpc3RlIG9iZW4gc2VpbiBtb2VjaHRlLCB3ZW5uIFRvZXRlcgppaG4gc2Nob24gaW4gZGVyIFNlaGVybGlzdGUgYWJoZW5ndCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIChTZW1pcmEsIDIwLiBGZWIgMTk5NSwgMTc6NDA6MzIpOgoqa2ljaGVyKgoKSGV1dGUgbm9jaCBrZWluZW4gR3J1bmQgZ2VoYWJ0LCBEaWNoIHRvdHp1bGFjaGVuPyBEYXMga2FubiBnZWFlbmRlcnQKd2VyZGVuISEhIERlciBlcnN0ZSBTY2h3dW5nIGRlciBQYWRkeWJpbGRlciB2b24gU2VtaXJhIGxpZWd0IGltIG9wZW4uIFZpZWwKU3Bhc3MgYmVpbSBndWNrZW4hCgpFdXJlIHNjaG51cnJlbmRlIEtudWRkZWxtYXVzCgpQLlMuOiBlbmd5IHNhZ3QsIGlociBtdWVzc3QgZGllIGFkcmVzc2Ugd2lzc2VuLi4uaWNoIHdlaXNzIHNpZSBuaWNodC4uLmFiZXIKd2VubiBpaHIgc2llIHdpc3N0IGlzdCBqYSBvay4gQWVoLCBmYWxscyBuaWNodCAtPiBFTkdZV1VDSyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVG9kZXMtVG9wIFRlbiAoRnl0LCAyMC4gRmViIDE5OTUsIDE5OjIyOjE0KToKIyEgcm49S2lyayBydD03OTMyODUwMjUKTmEgc28gZWluIEJsb2Vkc2lubiwgS2lyayA6KQoKS2xhciBicmluZ3QgZXMgd2FzOiBTcGFzcyEgVW5kIGRhcyBpc3QgamEKd29obCBkZXIgU2lubiBkZXMgR2FuemVuLi4uCgpGeXQsIGF1Y2ggZnVlciBlaW5lIFRvZGVzLVRvcFRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV29scGVydGluZ2VyLVF1ZXN0IChYYW50aGlhLCAyMC4gRmViIDE5OTUsIDIxOjI2OjE3KToKSGFsbG8genVzYW1tZW4uCgpJY2ggbW9lY2h0ZSBoaWVyIG51ciBrdXJ6IHdhcyB1ZWJlciBkYXMgUXVlc3RlbiBzY2hyZWliZW4uCkljaCBoYWJlIGdlcmFkZSBkYXMgV29scGVydGluZ2VyLVF1ZXN0IGdlbWFjaHQgdW5kIGljaCBtdXNzIHNhZ2VuLAplcyBpc3Qgd2lya2xpY2ggZWluZXMgZGVyIGJlc3RlbiwgZGllIGljaCBiaXNoZXIgZ2VtYWNodCBoYWJlLgpMb2dpc2NoLCBuaWUgdW5mYWVociB1bmQgb2huZSBncm9lc3NlcmUgS2FlbXBmZSB6dSBsb2VzZW4uCkljaCBtZWludGUgb2JlbiBuYXR1ZXJsaWNoIHVuZmFpci4KSmEsIGFtIEFuZmFuZyBmYW5kIGljaCBlcyB6d2FyIGVjaHQgZWxlbmQgbGFuZyB1bmQgYXVjaCBkaWUgZHJlaSBUdWVyZW4KaW0gR3JhYiB3YXJlbiB6dW5hZWNoc3QgbmljaHQgbG9naXNjaCwgYWJlciBnZWdlbiBzcGFldGVyIGhhYiBpY2gKZGFubiBkZW4gRHVyY2hibGljayBnZWhhYnQuCldhcyBtaXIgYW4gZGVtIFF1ZXN0IHNvIGd1dCBnZWZhbGxlbiBoYXQgaXN0LCBkYXNzIG1hbiBxdWFzaSBpbQpnYW56ZW4gTW9yZ2VuZ3JhdWVuIHJ1bWtvbW10LiBNYW4gbGVybnQgc28gZGllIFdlZ2Uga2VubmVuIHVuZCBrZW5udCBzaWNoCmRhbm4gYmVzc2VyIGF1cy4KRWluIExvYiBkZW0gU2Nob2VwZmVyIGRpZXNlcyBRdWVzdHM6IFdlaXRlciBzbyEhClNvLCBqZXR6dCBtYWNoIGljaCBtYWwgU2NobHVzcywgd2VpbCBpY2ggaGllciBhdWYgZGVyIEhhdXB0dmVya2VocnNzdHJhc3NlCnZvbiBQb3J0IFZhaW4gc3RlaGUgdW5kIGtlaW5lbgpVZWJlcmJsaWNrIG1laHIgaGFiZSwgd28gb2JlbiB1bmQgdW50ZW4gaXN0LgoKWGFudGhpYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuZHkgKFNsYXNoLCAyMC4gRmViIDE5OTUsIDIxOjUwOjU3KToKd2FydW0gcmVhZ2llcmVuIGFsbGUgYWxsZXJnaXNjaCwgd2VubiBtYW4gZGllIGthbmFlbGUgYmVudXR6dCB1bSBhbmR5IHp1CnN1Y2hlbj8KaWNoIHN1Y2hlIGlobiBzZWl0IDE5LjAwIGpldHp0IGlzdCBlcyAyMS41MCB1bmQgd2VubiBpY2ggamVtYW5kZW4KZnJhZ2UgaGVpc3N0IGltbWVyIGZyYWcgamVtYW5kIGFuZGVycywgZWluIG1hZyBzY2hpY2t0IG1pY2ggYXVmIGRpZSBpbnNlbG4KdW0gbWlyIG5hY2ggMjAgbWluIHp1IHNhZ2VuLCBkYXNzIGFuZHkgZGFzIGZlc3RsYW5kIG5pY2h0IHZlcmxhZXNzdC4KVG9sbGUgWnVzYW1tZW5hcmJlaXQsIHRvbGxlcyBWZXJoYWVsdG5pcyBkZXIgU3BpZWxlciB1bnRlcmVpbmFuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVG9kZXMtVG9wIFRlbiAoR2F0c2J5LCAyMS4gRmViIDE5OTUsIDAzOjIyOjAwKToKIyEgcm49QmFtYnVsa28gcnQ9NzkzMjg1MzgyCkdFTkFVLCBiYW1idWxrbyEKaWNoIGJpbiBhdWNoIHpldWdlOiBEQVMgRFJFQ0tTQ0hXRUlOIFdBUlMgZWNodCEKCmdhdHMsIGxhY2hlbmQgYXVmIGRlbSBib2RlbiBsaWVnZW5kCiAgICAsIGF1Y2ggc2Nob24genUgZGVuIHZlcnVlY2t0ZW4gemFlaGxlbmQgenUgZGllc2VyIHRhZ2VzKD8pemVpdAo7LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUlVGTU9SRCAoWWFudHJvLCAyMS4gRmViIDE5OTUsIDA5OjEyOjAxKToKIyEgcm49U2xhc2ggcnQ9NzkzMzEzMjMyCgpOYWphLCBTbGFzaC4uIER1IHNjaGVpbnN0IHNvd2llc28gZWluIGtvbWlzY2hlcyBWZXJoYWVsdG5pcyB6dSBEZWluZXIgRnJhdSB6dQpoYWJlbi4uLiBvZGVyIHdpZXNvIGhhc3QgRHUgbWljaCBtYWwgZ2VmcmFndCwgb2IgaWNoIGVzIGVpbnJpY2h0ZW4ga29lbm50ZSwKZGFzcyBEdSBNaWV6ZSBhdXMgZGVyIEZlcm5lIG9ocmZlaWdlbiBrYW5uc3Q/PwoKQWJlciBqZWRlbSBkYXMgc2VpbmUsIHNvbGFuZ2UgZXMgYmVpZGVuIFNwYXNzIG1hY2h0LCBzYWcgaWNoIGltbWVyIDspCgogICAgICAgICAgICAgICAgICAgICAgICAgWWFudHJvOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0IChMaSwgMjEuIEZlYiAxOTk1LCAxMzowODo0MCk6CgoKSGV1dGUgZXJyZWljaHRlIG1pY2ggZWluIEJyaWVmIGRlcyBFaW5zaWVkbGVycyBhdXMgZGVtIEdyaW1tc3dhbGQsIHZvbiBkZW0KaWNoCmhpZXIgdW5rb21tZW50aWVydCBlaW4gcGFhciBBdXN6dWVnZSB2ZXJvZWZmZW50bGljaGVuIG1vZWNodGU6CgouLi4gaGF0IEhlcnIgU3RlaW5tYW5uIG51biwgbmFjaGRlbSBzZWluZSBWaWxsYSBlbmRsaWNoIGZlcnRpZyBpc3QsIG1pY2ggenUKZWluZW0gRXJvZWZmbnVuZ3NiYWxsIGVpbmdlbGFkZW4uIEFscyBzZWluIGVuZ3N0ZXIgTmFjaGJhciBiaW4gaWNoIG5hdHVlcmxpY2gKdmVycGxpY2h0ZXQsIGFuIGRpZXNlbSBCYWxsIHRlaWx6dW5laG1lbiwgaWNoIG1vZWNodGUgaWhuIGphIG5pY2h0CnZlcmdyYWVtZW4sCmRlbm4gb2J3b2hsIGljaCBoaWVyIGVpbiBzZWhyIGVpbnNhbWVzIExlYmVuIGZ1ZWhyZSwgc29sbHRlIG1hbiBzZWluZQpOYWNoYmFybgpuaWNodCB2ZXJhZXJnZXJuLgpOdW4gaGFiZSBpY2ggaGluIHVuZCBoZXIgdWViZXJsZWd0LCB3aWUgaWNoIG1laW5lbiBWZXJwZmxpY2h0dW5nZW4gbmFjaGtvbW1lbgprYW5uLCB1bmQgdHJvdHpkZW0gbmljaHQgenVtIEJhbGwgbXVzcy4gRGEgaXN0IG1pciBlaW5nZWZhbGxlbiwgZGFzcyBJaHIgZG9jaApzaWNoZXJsaWNoIGVpbiBwYWFyIEFiZW50ZXVyZXIgdW5kIEFiZW50ZXVyZXJpbm5lbiBrZW5udCwgZGllIGJlcmVpdCB3YWVyZW4sCnNpY2ggZWlubWFsIG1pdCBldHdhcyBhbmRlcmVzIHp1IGJlc2NoYWVmdGlnZW4uClNpZSBtdWVzc3RlbiBoaWVyIGJlaSBtaXIgdm9yYmVpa29tbWVuLCB1bmQgZGFubiBhbSBCYWxsIHZvbiBIZXJybiBTdGVpbm1hbm4KdGVpbG5laG1lbiwgbWl0IGRlbiBHYWVzdGVuIHBsYXVkZXJuLCB1bmQgenVtIEVuZGUgZGVzIEJhbGxzIGFuIGRlciBQcmVtaWVyZQp2b24gU3RlaW5tYW5ucyBuZXVlbSBUaGVhdGVyc3R1ZWNrIHRlaWx6dW5laG1lbi4gSWNoIGhvZmZlLCBJaHIga2VubnQKamVtYW5kZW4sCmRlciBzaWNoIG1laW5lcyBQcm9ibGVtcyBhbm5laG1lbiB3aXJkLi4uCgpOdW4sIGljaCBob2ZmZSwgSWhyIGtvZW5udCBkZW0gYXJtZW4gRWluc2llZGxlciBhdXMgZGVyIEtsZW1tZSBoZWxmZW4uCgpMaQoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVG9kZXMtVG9wIFRlbiAoQ2FyYWRocmFzLCAyMS4gRmViIDE5OTUsIDE0OjExOjIyKToKIyEgcm49R2F0c2J5IHJ0PTc5MzMzMzMyMApXaWVzbyB6YWVobHN0IER1IGRhIHp1IGRlbiBWZXJydWVja3RlbiwgR2F0c2J5PyA6KQpIYWxiIDQgVWhyIG5hY2h0cyBpc3QgZG9jaCBlaW5lIGdhbnogbm9ybWFsZSBaZWl0IHp1bSBNdWRkZW4uCihVbmQgYmVpIG1pciBudXIgZGVzaGFsYiBtb21lbnRhbiBuaWNodCBvZnQgZGVyIEZhbGwgd2VpbCBpbiAzCldvY2hlbiBkaWUgZXJzdGVuIERpcGxvbXNwcnVlZnVuZ2VuIHNpbmQpCgogICAgICp0cm9lc3RldCBHYXRzIHdlaWwgc2llIG5pY2h0IHZlcnJ1ZWNrdCBpc3QqCgogICAgICAgICAgICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbmdlbG5kZSBUb2xlcmFueiAoU2xhc2hlciwgMjEuIEZlYiAxOTk1LCAxNDoxMTozNSk6CkhpaG8gTXVkZGllcy4uLi4uLgoKRGEgaGF0IHNpY2ggaGV1dCBkb2NoIGdsYXR0IGVpbmVyIGJlaSBtaXIgYmVzY2h3ZXJ0LCBkYXNzIGVyIHdlZ2VuIG1laW5lcgpBYnNjaGllZHN0cml0dGUgamV0enQgdm9uIG1laHJlcmVuIExldXRlbiBpZ25vcmllcnQgd3VlcmRlLgpBbHNvLCBiZXZvciBlcyBUb3RlIGdpYnQ6CiAgICAgQWJzY2hpZWRzdHJpdHRlIGluIGRlbiBIaW50ZXJuIHNpbmQgcHJpbnppcGllbGwgdm9uCiAgICAgICAgICAgICAgIFNMQVNIRVIKdW5kIG5pY2h0IHZvbgogICAgICAgICAgICAgICAgU0xBU0gKZGVyIGF1Y2ggc29uc3QgR0FSIE5JWCBtaXQgbWlyIHp1IHR1biBoYXQgKEtlaW4gWndlaXRpZSB1c3cuKQoKV2VubiBzaWNoIGplbWFuZCBhbiBtZWluZW4gVHJpdHRlbiBzdG9lcnQsIHNvIG1vZWdlIGVyIGRhcyBiaXR0ZSBNSVIKKGFsc28gU2xhc2hlciwgZmFsbHMgZGFzIGplbWFuZCBpbW1lciBub2NoIG5pY2h0IGdlcmFmZnQgaGF0KSBtaXQtCnRlaWxlbiB1bmQgZGVuIGFybWVuIFNsYXNoIChkYXMgaXN0IGRlciBVbnNjaHVsZGlnZSkgenVmcmllZGVubGFzc2VuLgpBdXNzZXJkZW0gc3ByaWNodCBlaW4gc29sY2hlcyBWZXJoYWx0ZW4gdm9uIHppZW1saWNoIG1hbmdlbG5kZXIgVG8tCmxlcmFueiBnZWdlbnVlYmVyIGFuZGVyZW4uIEZyYWd0IG1pY2ggZGVubiBqZW1hbmQsIG9iIGljaCBkaWUgZ2FuemVuCkFic2NoaWVkc3dpbmtld2lua2VzIHVuZCBLbnVkZGxlciB1bmQgd2Vpc3MgZGVyIEZ1Y2hzIHdhcyBhbGxlcwptb2VjaHRlPyBEYSBpY2ggYWJlciBuaWVtYW5kZW4gaW4gc2VpbmVyIGlubmVyc3RlbiBFaHJlIHZlcmxldHplbgp3aWxsLCBpbmRlbSBpY2ggaWhtIGluIGRlbiBBci4uLiB0cmV0ZSwgc29sbCBqZWRlciwgZGVtIGRhcyBuaWNodCBwYXNzdCwKbWlyIGVpbmUgTWFpbCBzY2hpY2tlbiwgaWNoIHdlcmRlIGlobiBkYW5uIG1pdCBzb2ZvcnRpZ2VyIFdpcmt1bmcKYXVzIGRlciBUcml0dGxpc3RlIHN0cmVpY2hlbi4KClNlZSB5YSBhbGwKClNsYXNoZXIKClAuUy46IEljaCB3dW5kZXJlIG1pY2ggZWNodCwgd2FzIHNvIGVpbiBUcml0dGNoZW4genVtIEFic2NoaWVkIGFsbGVzCiAgICAgICBhdXNsb2VzZW4ga2Fubi4uLi4uRXMgc29sbCBhbmdlYmxpY2ggc29nYXIgIlNjaGVpc3MgV2Vzc2kiIFJ1ZmUKICAgICAgZ2VnZWJlbiBoYWJlbi4uLi5uYWphLCBkaWUgQm9ybmllcnRoZWl0IHVuZCBJbnRvbGVyYW56IGdpYnRzCiAgICAgIGhhbHQgYXVjaCBpbiBWTCAqc2V1ZnogdHJhdXJpZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRvZGVzLVRvcCBUZW4gKENhcmFkaHJhcywgMjEuIEZlYiAxOTk1LCAxNDoxNjozNik6CiMhIHJuPVRvc3MgcnQ9NzkzMjk0NTg2CiAgICAgICAgICAgICAgIEh1aHUgOikKClNvc28sIER1IHdpbGxzdCBlaW5lIFRvcC1TdGVyYmVybGlzdGUsIFJ5bmUuIDopIG5hIGRhbm4gd2FlcmUgaWNoCmphIGVuZGxpY2ggbWFsIHdpZWRlciBhdWYgZWluZXIgTGlzdGUgb2JlbiB6dSBmaW5kZW4sIGljaApnbGF1YmUsIGdlZ2VuIG1pY2ggaGFzdCBEdSBrZWluZSBDaGFuY2UuICpncmlucyoKSWNoIGhhYiBuYWVtbGljaCBtaXRnZXphZWhsdCB3aWV2aWVsIEVwIGljaCB2ZXJsb3JlbiBoYWJlLgood2FyIHJlbGF0aXYgZWluZmFjaCwgZGEgaWNoIG1pbmRlc3RlbnMgNzAwLjAwMCBFUCBwcm8gVG9kCnZlcmxvcmVuIGhhYmUsIGVyc3RlcyBtYWwgaW4gbGV2ZWwgMTkgbWl0IDIuMSBNaWxsaW9uZW4gRXAKZ2VzdG9yYmVuLiAqZ3JpbnMqKQoKIE1vbWVudGFuIGJpbiBpY2ggYmVpIDQzIE1pbGxpb25lbiB2ZXJsb3Jlbi4KCiAgICAgICAgICB0c2Nob2UgdW5kICprbnVkZGVsdHJvZXN0IFJ5bmUqCgogICAgICBDYXJhZGhyYXMgZGVyIGV3aWdlIFByb3BoZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0IDIgKExpLCAyMS4gRmViIDE5OTUsIDE1OjIyOjE2KToKCkhhbGxvIExldXRlIQoKTmFjaGRlbSBpY2ggbWVpbmVuIFF1ZXN0YXVmcnVmIG5vY2ggbWFsIGluIGRlciBaZWl0dW5nIGdlbGVzZW4gaGFiZSwgaXN0IG1pcgptaXQgU2NocmVja2VuIGF1ZmdlZmFsbGVuLCBkYXNzIGljaCBldHdhcyBsZWJlbnN3aWNodGlnZXMgdmVyZ2Vzc2VuIGhhdHRlOgoKQWxzbyBkYXMgbXVzcyBpY2ggaGllciBlaW5mYWNoIGxvc3dlcmRlbjoKCk1laW5lbiBoZXJ6bGljaHN0ZW4gRGFuayBhbiBhbGxlLCBkaWUgbWlyIGdlaG9sZmVuIGhhYmVuLApiZXNvbmRlcnMgU2lsdmFuYSwgVGhvcmluLCBWcmFpIHVuZCBnYW56IGJlc29uZGVycyBZYW50cm8sIGRlciBhbHMKbWVpbiBUZXN0ZXIgd2lya2xpY2ggdmVyZGFtbXQgdmllbCBBcmJlaXQgaGF0dGUuCgoKSW4gZGllc2VuIFNpbm5lLAoKTGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpRdWVzdCBkaWUgMi4gKExpLCAyMi4gRmViIDE5OTUsIDEyOjA1OjU2KToKCkhhbGxvIExldXRlIQoKU29ycnksIGRhc3MgSWhyIHNvIHZpZWwgU3RyZXNzIGluIGRlciBOYXJyZW5iYWxscXVlc3QKaGF0dGV0LCBhYmVyIHdpY2h0aWdlIERpbmdlIHdhcmVuIHJlc2V0YWJoYWVuZ2lnLCBzbyBkYXNzIGJlaSBkZW0gQW5kcmFuZwpuYXR1ZXJsaWNoIGFsbGUgdmVyendlaWZlbHQgaGVydW1nZXN1Y2h0IGhhYmVuLiBEYXMgaXN0IGpldHp0IG5pY2h0IG1laHIKZGVyIEZhbGwuClVtIGFsbGUgYW5kZXJlbiBrbGVpbmVyZW4gYnVncyB1bmQgdHlwb3Mgd2VyZGUgaWNoIG1pY2ggaW0gTGF1ZmUgZGVyIFplaXQKa3VlbW1lcm4uCgpMaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVydmlld3BhcnRuZXIgZ2VzdWNodCAoU251Z2dsZSwgMjIuIEZlYiAxOTk1LCAxMjoyNzoyMyk6CkhpIElociwKSWNoIHN1Y2hlIExldXRlIGF1cyBkZW0gS29lbG4tQm9ubmVyIFJhdW0sIGRpZSBiZXJlaXQgc2luZCwgbWlyIGVpbiBwYWFyCkZyYWdlbiB6dSBiZWFudHdvcnRlbi4KCkVzIGdlaHQgdW0gJ0tvbW11bmlrYXRpb25zbWl0dGVsIHVuZCBLb21tdW5pa2F0aW9uc3dlZ2UgZGVyIFp1a3VuZnQuIERlbgpUZXN0cGVyc29uZW4gd2VyZGVuICguLikgQW56ZWlnZW4gKC4uKSB1ZWJlcmdlYmVuIHVuZAphbnNjaGxpZXNzZW5kIGF1Y2ggenVtIG5hZWhlcmVuIEJldHJhY2h0ZW4gdm9yZ2VsZWd0Jy4KCldlc2hhbGIgaWNoIGRhcyB1ZWJlcmhhdXB0IGluIGRlciBNUEEgdmVyb2VmZmVudGxpY2hlLCBlcyBnZWh0IG5hdHVlcmxpY2ggaW0Kd2VpdGVzdGVuIFNpbm5lIHVtIENvbXB1dGVyLgpJY2ggYnJhdWNoZSBhbHNvIExldXRlLCBkaWUgcHJpdmF0IG9kZXIgZ2VzY2hhZWZ0bGljaCBlaW5lbiBDb21wdXRlciBudXR6ZW4uCihnaWJ0cyBkaWUgaGllcj8td3VuZGVyLCBzdGF1bikKV2VyIEludGVyZXNzZSBoYXQgdW5kIG1pciBldHdhIGVpbmUgaGFsYmUgU3R1bmRlIHNlaW5lciAoaWhyZXIpIFplaXQgb3BmZXJuCmthbm4gbW9lZ2UgbWljaCBiaXR0ZSBhbnNjaHJlaWJlbi4KSWhyIGtvZW5udCB1ZWJyaWdlbnMgYXVjaCBhbiB1enMzMzlAaWJtLnJocnoudW5pLWJvbm4uZGUgc2NocmVpYmVuLgoKU2Nob2VuZW4gRGFuayBpbSBWb3JhdXMuClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmbHVjaCAoRmVsYWd1bmQsIDIyLiBGZWIgMTk5NSwgMTk6MDk6MDcpOgojISBybj1TbnVnZ2xlIHJ0PTc5MzA1NDI2OQpXaWUgbWlyIHNjaGVpbnQgc2luZCBqZXR6dCBlaW5pZ2UgTGV1dGUgc2F1ZXIgYXVmIEZhaG5kZXIsIGRlc2hhbGIgd2lsbCBpY2gKamV0enQgYXVjaCBtYWwgZXR3YXMgenVyIEtsYWVydW5nIGRlcyBHYW56ZW4gYmVpdHJhZ2VuLgpGYWhuZGVyIHVuZCBpY2ggd2lyIG1hY2h0ZW4gdW5zIGFsc28gYW4gZGllIFF1ZXN0LHVuZCB3dXNzdGVuIG5hdHVlcmxpY2gKbmljaHQsZGFzcyBkYSBzY2hvbiBqZW1hbmQgaW4gZGVyIEhvZWhsZSBpc3QuSWNoIGhhYiBkaWUgUXVlc3Qgc2Nob24sYmluIGluCmVyc3RlciBMaW5pZSB3ZWdlbiBkZXMgSGFtc3Rlci1aVCBkYSByZWluLi5pY2gga29tbSBhbHNvIHp1bSBIYW1zdGVyLGRhIHN0ZWh0ClBhdWxpbmUgdW5kIG1hY2h0IGdhcm5peCwgYW50d29ydGV0IG5vY2ggbmljaHRtYWwgYXVmIG1laW5lIEZyYWdlLG9iIHNpZSBkZW4KSGFtc3RlciBraWxsZW4gd2lsbC4uIGljaCBwbGFldHRlIGFsc28gZGVuIEhhbXN0ZXIsIGdlaCB3aWVkZXIgZGEgcmF1cywKZHJ1ZWNrZSBkaWUgYmVpZGVuIEtub2VwZmUgKHdhcyBuYXR1ZXJsaWNoIFVuc2lubiB3YXIgenUgZGVtIFplaXRwdW5rdCkgdW5kCmZpbmRlIGRlbiBEcmVocmF1bSwgd29yYXVmIGljaCBGYWhuZGVyIHNhZywKZXIgc29sbCBtaXIgZGVuIGhpbmRyZWhlbi5EYW5uIHNjaGFsdGUgaWNoIGdsZWljaCB1bSB1bmQgaG9sIG1pciBtZWluZW4gMnRpCmluIGRpZSBIb2VobGUsIGRhIG51biBzY2hvbiBkZXIgSGFtc3RlciB0b3Qgd2FyLiAoRnJpZWRlciBtdXNzdGUgc29nYXIgbm9jaApLYXJ0ZW4gYmVpbSBWaW9saW5pc3RlbiBob2xlbikgdW5kIGFscyBkZXIgYW5rb21tdCwga2FubiBpY2ggaW1tZXIgbm9jaCBuaWNodAppbiBkZW4gRHJlaHJhdW0gdW5kIEZhaG5kZXIgaGF0IG1pciBpbnp3aXNjaGVuIG1pdGdldGVpbHQsIGRhc3MgU251Z2dsZSBpaG4KbmljaHQgZGllIEhlYmVsIGJlZGllbmVuIGxhc3NlbiB3aWxsLi4KRGEgUGF1bGluZSBub2NoIG5pY2h0IGRhIGlzdCxzYWcgaWNoIGlobSwgZXIgc29sbCBkZW4gUmF1bSBkcmVoZW4sIGRhIHdpcgpzb3dpZXNvIHNjaG5lbGxlciBzZWluIHdlcmRlbiwgKGRhcyBtYWcgU251Z2dsZSB6d2FyIHVudmVyc2NoYWVtdCBmaW5kZW4sYWJlcgplcnN0ZW5zIHdhciBlcyBnYXJuaWNodCBmdWVyIHNlaW5lIE9ocmVuIGJlc3RpbW10LCB1bmQgendlaXRlbnMga2FubnRlIGljaCBkaWUKUXVlc3Qgd2llIGdlc2FndC4uKQpBbHMgZGVyIERyZWhyYXVtIGFua29tbXQsIGlzdCBQYXVsaW5lIGF1Y2ggZGEgdW5kIGdlaHQgYXVjaCBtaXQgcmVpbi4uIGljaApsYXNzZSBqZXR6dCB2b24gRmFobmRlciB6dSBkZW0gWmV1ZyBkcmVoZW4gdW5kIGhvbCBlcyBtaXIsIHdvYmVpIGljaCBiZWkgZGVtCmVyc3RlbiBHZWdlbnN0YW5kIHNvZ2FyIG5vY2ggbmVuIE1vbWVudCBnZXdhcnRldCBoYWJlLCBvYiBQYXVsaW5lIHdhcyBzYWd0Li4KdW5kIG5hY2ggZGVtIDJ0ZW4gb2RlciAzdGVuIEdlZ2Vuc3RhbmQgc3RlaWd0IFBhdWxpbmUgcGxvZXR6bGljaCB3YWVocmVuZAplaW5lciBEcmVodW5nIGF1cy4uIHVuZCB6d2FyIG5hY2ggZGVtIDJ0ZW4gPERlciBSYXVtIGJld2VndCBzaWNoPiBkaWUKTGV1dGUsZGllIGRpZSBRdWVzdCBzY2hvbiBoYWJlbiB3ZXJkZW4gd2lzc2VuLHdhcyBkYXMgaGVpc3N0Li4KU29taXQgaXN0IGlociBUb2Qgd29obCBrYXVtIEZhaG5kZXIgYW56dWxhc3RlbixkZXIgZGVuIFJhdW0gZ2VkcmVodCBoYXQsCnp1bWFsIGljaCBzY2hvbiB2b3JoZXIgMi0zIG1hbCBlcnN0IG5hY2ggZGVyIFZlcnRpa2FsYmV3ZWd1bmcgYXVzZ2VzdGllZ2VuCmJpbiwgYSptaXN0Ki4uIGFsc28gaGFldHRlIFBhdWxpbmUgZGllc2VuIEZlaGxlciB3b2hsIGF1Y2ggaW0gbm9ybWFsZW4KUXVlc3R2ZXJsYXVmIGdlbWFjaHQuCkljaCBmaW5kZSBlcyB6aWVtbGljaCBzY2hhZGUsZGFzcyBTbnVnZ2xlIGpldHp0IGltIE5hY2hoaW5laW4gRmFobmRlcgpzY2hsZWNodG1hY2h0LCBvYndvaGwgd2VkZXIgZXIgbm9jaCBQYXVsaW5lIGRlbiBWZXJzdWNoIGdlbWFjaHQgaGFiZW4sIG1pdCBtaXIKenUga29tbXVuaXppZXJlbiwgaWNoIGdsYXViZSBuYWVtbGljaCBuaWNodCwgZGFzcyBpY2ggaGllciBhbHMgamVtYW5kIGJla2FubnQKYmluLCBkZXIgTGV1dGVuIEdlZ2Vuc3RhZW5kZSB2b3IgZGVyIE5hc2Ugd2Vnc2NobmFwcHQgdW5kIGVzIGhhZXR0ZSBzaWNoCmJlc3RpbW10IGVpbmUgTG9lc3VuZyBmdWVyIGFsbGUgZ2VmdW5kZW4sIG5hY2hkZW0gZGVyIEF1c2dhbmcgZXJzdG1hbCBvZmZlbgp3YXIsIGRlbm4gZGFydW0gZ2luZyBlcyBNSVIgaW4gZGVyIEhhdXB0c2FjaGUsIGVzIGdpYnQgZGEgbWVpbmVzIHdpc3NlbnMKbmFlbWxpY2gga2VpbmVuIEF1c2dhbmcgb2huZSBkaWUgUXVlc3QgKGRhClAuUy4gZGFzIHdhZXJlIGF1Y2ggZXR3YXMsIGRhcyB2ZXJiZXNzZXJ1bmdzd3VlcmRpZyBpc3QuLgotZWluIGF1ZiBWZXJzdGFlbmRuaXMgaG9mZmVuZGVyIEZlbGFndW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG9sbGVyIFRvbiBoaWVyIGltIE1VRCEgKFNjaHJ1bXBmaSwgMjIuIEZlYiAxOTk1LCAxOToxMjoyOCk6CiMhIHJuPVRvbW15IHJ0PTc5MzQ3NTE0OQpEYXp1IG11c3MgaWNoIGpldHp0IGF1Y2ggbWFsIG1laW5lbiBTZW5mIGFiZ2ViZW4uCkRlciBUb24gaGllciBpbSBNRyBpc3QgYXVjaCBtaXIgc2Nob24gZWhlciBuZWdhdGl2IGF1ZmdlZmFsbGVuIGFsbGVyZGluZ3MKemFlaGxlIGljaCBkYSBUb3NzL1J5bmUgZWhlciBuaWNodCB6dSBkZW4gU3BpZWxlcm4gZGllIHVuZnJldW5kbGljaCBvZGVyCmFycm9nYW50IHNpbmQsIGRhIGdpYnRzIGdhbnogYW5kZXJlLiBPaG5lIFJ5bmUgaGFldHRlIGljaCB3YWhyc2NoZWlubGljaCBub2NoCnp3ZWkgTW9uYXRlIGxhZW5nZXIgZ2VicmF1Y2h0IHVtIGVuZGxpY2ggU2VoZXJpbiB6dSB3ZXJkZW4uCkxlaWRlciBnaWJ0IGVzIG51biBtYWwgb2VmdGVyIE1pc3N2ZXJzdGFlbmRuaXNzZSB1bmQgZGllIGZ1ZWhyZW4gaGllciBpbW1lcgpnbGVpY2ggenUgYm9lc2VtIEJsdXQsIGZpbmQgaWNoIHRyYXVyaWcgYWJlciBzbyBpc3QgZXMgbnVuIG1hbCwgbGVpZGVyLgpTY2hydW1wZmkgZGllIHZvbSBUb24gbWFuY2hlciBTcGllbGVySW5uZW4vU2VoZXJJbm5lbi9NYWdpZXJJbm5lbiBhdWNoIHNjaG9uCmV0d2FzIGdlbmVydnQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRvbGxlciBUb24gaGllciBpbSBNVUQhIChDaGFybHksIDIyLiBGZWIgMTk5NSwgMTk6NTM6MTUpOgojISBybj1Ub21teSBydD03OTM0NzUxNDkKQW5kZXJlIE1laW51bmcgIQoKSWNoIGJpbiBuZXUgaW0gTU9SR0VOR1JBVUVOIHVuZCB0b3RhbCBiZWdlaXN0ZXJ0IHZvbiBkZXIKdG9sZW4gU3RpbW11bmcgaGllciAoZWNodCkgISEhCgpCZWkgbWlyIGdhYiBlcyBQcm9ibGVtZSBiZWltIGVpbmxvZ2dlbiwgc28ga29ubnRlIGljaApkaWUgZXJzdGVuIFRhZ2UgbnVyIGFscyAnR2FzdCcgc3BpZWxlbi4gQmVpIGRlciBGZWhsZXJzdWNoZSBoYWJlbiBtaXIgZWluaWdlCmdlaG9sZmVuLCBvYndvaGwgaWNoIGlobmVuIGVpbmUgTWVuZ2UgWmVpdCAodW5kIE5lcnZlbikgZ2VyYXVidApoYWJlLiBCZXNvbmRlcnMgYmVkYW5rZW4gd2lsbCBpY2ggbWljaCBiZWkgR1VNLCBCT05HTyB1bmQgWlVFUklMRVUgISEhIQoKYWJlciBqZXR6dCBhYiB6dW0gcXVlc3RlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmx1Y2ggKFNudWdnbGUsIDIzLiBGZWIgMTk5NSwgMDI6NDg6NDApOgojISBybj1GZWxhZ3VuZCBydD03OTM0NzY1NDcKSGFsbG8gYWxsZSwgaW5zYmVzb25kZXJlIEZlbGFndW5kLgpBbHNvLiBJY2ggZ2ViZSB6dSwgaWNoIGhhYmUgZGVuIE5hbWVuIEZhaG5kZXJzIGFic2ljaHRsaWNoIGVyd2FlaG50LiBJY2gKd29sbHRlIGRpZSBTYWNoZSB0YXRzYWVjaGxpY2ggZWluIGJpc3NjaGVuIGFuIGRpZSBHbG9ja2UgaGFlbmdlbiwKenVtYWwgRmFobmRlciBzaWNoIHppZW1saWNoIHNjaHdhY2ggYmVub21tZW4gaGF0dGUuCgpJY2ggZ2ViIHp1LCBkYXNzIGljaCBuaWNodCB2aWVsIEdlbGVnZW5oZWl0IGhhdHRlLCBkZW4gZ2VuYXVlbiBWZXJsYXVmIGRlcgpTYWNoZSBtaXQgUGF1bGluZSBub2NobWFsIGR1cmNoenVzcHJlY2hlbiwgYmV2b3IgaWNoIGRlbgpBcnRpa2VsIHZlcm9lZmZlbnRsaWNodGUsIGRhIHNpZSB3ZWcgbXVzc3RlLCBhYmVyIGljaCBnbGF1YnRlIHZvbiBkZW0sIHdhcwppY2ggbWl0YmVrb21tZW4gaGFiZSwgZHVyY2hhdXMgaW4gZGVyIExhZ2UgenUgc2VpbiwgZGVuClNhY2h2ZXJoYWx0IGluIGV0d2EgcmljaHRpZyBlaW56dXNjaGFldHplbi4KCkJldm9yIGljaCBqZXR6dCBsb3NsZWdlLCBtb2VjaHRlIGljaCBuaWNoIGVyd2FlaG5lbiwgZGFzIFBhdWxpbmUgdW5kIGljaAptaXR0bGVyd2VpbGUgbWl0IEZhaG5kZXIgZGllIEZyaWVkZW5zcGZlaWZlIGdlcmF1Y2h0IHVuZCBkYXMKR2FuemUgYWxzIGVybGVkaWd0IGJldHJhY2h0ZXQgaGFiZW4uIFNvIGJpc3QgZXMgYWxzbyBEdSwgRmVsYWd1bmQsIGRlciBzaWUKU2FjaGUgbm9jaG1hbCBhdWZ3YWVybXQuCgpIaWVyIGRlbm4gYWxzbyBtZWluZSBWZXJzaW9uIGRlciBEaW5nZS4uCgpXaXIgd2FyZW4gaW4gZGVyIFF1ZXN0IHNjaG9uIGVpbmUgZ2FuemUgV2VpbGUgZHJpbiwgZGEgd2lyIHZlcnN1Y2h0IGhhdHRlbiwKb2huZSBMb2VzdW5nIGF1c3p1a29tbWVuLiBEZXNoYWxiIHdhciBQYXVsaW5lIGF1Y2ggYmVpbQpIYW1zdGVyIHVuZCBzdGFuZCBkYSBldHdhcyBwbGFubG9zIHJ1bS4gTmljaHQgcmVhZ2llcnQgaGF0IHNpZSwgd2VpbCBzaWUgc2ljaApncmFkZSBkb2NoIG5hY2ggSGlsZmUgZXJrdW5kaWd0ZS4gV2lyIGthbWVuIG5hZW1saWNoIG5pY2h0CndlaXRlci4gSXJnZW5kd2FubiBzYWd0ZSBzaWUgbWlyIGRhbm4sIGljaCBtdWVzc2UgenVydWVjayB6dSBkZW4gSGViZWxuIChjaAp3YXIgYmVyZWl0cyB2b3IgZGVyIEdodWxzdGFkdCkgdW5kIGRhIEZheGVuIG1hY2hlbi4KV2VpdGVyaGluIHNhZ3Qgc2llIG1pciwgZGFzIHNpZSBtaXIgSGViZWxzdGVsbHVuZ2VuIGFuZ2ViZW4gd2lyZCwgZGllIGljaApiaXR0ZSBnZW5hdSBlaW5zdGVsbGUsIGRhIGFsbGVzIGFuZGVyZSB0b2VkbGljaCBlbmRlbiBrYW5uLgpJY2gga29tbWUgenUgZGVuIEhlYmVsbi4gRXMgaXN0IGF1c3NlciBtaXIgbmllbWFuZCBkb3J0LiBJY2ggc2FnZSBpaHIgYWxzbwpkYXNzIGVzIGxvc2dlaGVuIGthbm4uClNpZSBnaWJ0IG1pciBkaWUgZXJzdGVuIEVpbnN0ZWxsdW5nZW4gYW4uIEljaCBzdGVsbGUgZWluLiBOYWNoIG1laHJlcmVuCkVpbnN0ZWxsdW5nZW4gKGVyZm9sZ3JlaWNoKSBrYW0gRmFobmRlciBhbiB1bmQgc3RlbGx0IGFuIGRlbiBIZWJlbG4KcnVtLiBJY2ggYml0dGUgaWhuIGRhcyBzZWluIHp1IGxhc3NlbiB1bmQgc2FnZSBhdWNoIHdhcnVtLiBFciBtZWludCB3aXIKc29sbHRlbiBoYWx0IHdhcnRlbiB1bmQgSWhyIHdhZWhyZXQgZWggc2NobmVsbGVyIHVuZCBoZWJlbHQgd2VpdGVyLgpJY2ggd2Vpc3MgbmljaHQgZ2VuYXUsIHdhcyBkYWJlaSB1bnRlbiBpbSBEcmVocmF1bSBwYXNzaWVydCBpc3QuIEFiZXIgYXVmCmtlaW5lbiBGYWxsIGhhdCBQYXVsaW5lIGJpcyB6dSBkZW0gWmVpdHB1bmt0IHJ1bWdlaWRsZXQuLi4KCgpTby4gVW0gZGllIFNhY2hlIGhvZmZlbnRsaWNoIHp1IGVpbmVtIEFic2NobHVzcyB6dSBicmluZ2VuLiBXaXIgaGFiZW4gdW5zIHdpZQpnZXNhZ3QgbWl0IEZhaG5kZXIgbGFlbmdzdCBnZWVpbmlndC4gQWJlciBpY2ggbGFzc2UgZXMgbmljaHQKYXVmIG1pciAodW5zKSBzaXR6ZW4sIHdlbm4gRHUgdW5zIHZvcndpcmZzdCwgd2lyIGhhZXR0ZW4gbmljaHQgdmVyc3VjaHQsIG1pdApFdWNoIHp1IHJlZGVuLiBBYmdlc2VoZW4gZGF2b24sIGRhc3MgaWNoIGxhbmdlIG5hY2gKVmVyb2VmZmVudGxpY2h1bmcgZGVzIEFydGlrZWxzIGVyc3RtYWxzIHdhcyBkYXZvbiBnZWhvZXJ0IGhhYmUsIGRhc3MgRHUgaW4KZGllIFNhY2hlIHZlcndpY2tlbHQgYmlzdCwgRmVsYWd1bmQuCgpEYW1pdCBlcyBqZWRlciBtaXRrcmllZ3QgOiBEaWUgU2FjaGUgaXN0IGFiZ2VzY2hsb3NzZW4gdW5kIFZlcmdlc3NlbiAhClp1bWluZGVzdCB2b24gUGF1bGluZXMsIEZhaG5kZXJzIHVuZCBtZWluZXIgU2VpdGUgYXVzLgoKRXMgZ3J1ZXNzdCBlaW4gZXR3YXMgaXJyaXRpZXJ0ZXIKClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0IDMuIChMaSwgMjMuIEZlYiAxOTk1LCAwODoxMDowMyk6CgpIYWxsbyBMZXV0ZSEKSGFiZSBpbnp3aXNjaGVuIHNjaG9uIHZpZWxlIHR5cG9zIGlkZWVuIHVuZCBidWdzIGdlbWVsZGV0IGJla29tbWVuLgpNZWhybWFscyBrYW0gZGllIEFucmVndW5nLCBkaWUgU3RhdHVlIG1vZWdlIG9lZnRlcnMgYXVmdGF1Y2hlbiwgZGEgbWFuIG51ciBzbwp6dXJ1ZWNra2FlbWUuCkFsc28gZXJzdG1hbCBpc3QgZGllIFJlc2V0emVpdCBkb3J0IHNjaG9uIGt1ZXJ6ZXIgdW5kIHp3ZWl0ZW5zIGdpYnQgZXMgZWluZW4KYW5kZXJlbiBXZWcgenVydWVjaywgYmVpIGRlbSBtYW4gZGllIFN0YXR1ZSBOSUNIVCBicmF1Y2h0LgpBbHNvIHZpZWwgU3Bhc3MgYmVpbSBTdWNoZW4hCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYXJyZW5iYWxsIDQgKExpLCAyMy4gRmViIDE5OTUsIDA5OjM4OjA1KToKU28gbm9jaG1hbDogRXMgZ2lidCB6d2VpIEF1c2dhZW5nZSwgZWluZSBtaXQgU3RhdHVlIGVpbmUgb2huZS4gYWxsZXJkaW5ncyBpc3QKYmVpIGRlciBtaXQgU3RhdHVlIHNpZSBhdWNoIG5vZXRpZy4gRGVyIGFuZGVyZSBBdXNnYW5nIGlzdCBvaG5lIFN0YXR1ZSB6dQpiZXdhZWx0aWdlbiB1bmQgZ2VodCBzY2huZWxsZXIhCgpMaSAoc2NocmVpYnQgZXR3YXMgdmVyd2lycmVuZCBodWV1dGUsIGhvZmZlbnRsaWNoIG5vY2ggdmVyc3RhZW5kbGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsdWNoIChGZWxhZ3VuZCwgMjMuIEZlYiAxOTk1LCAxNDoxNjo0Nyk6CiMhIHJuPVNudWdnbGUgcnQ9NzkzNTA0MTIwCkljaCBoYXR0ZSBuaWNodCBkaWUgQWJzaWNodCxkYXMgZ2FuemUgc3VmenV3YWVybWVuLCB3YXIgYWxsZXJkaW5ncyBkdXJjaApkZWluZSBSZWFrdGlvbixhbHMgaWNoIGRpY2ggZGFyYXVmIGFuc3ByZWNoZW4gd29sbHRlIHVuZCB2b3IgYWxsZW0gZHVyY2ggZGllClJlYWt0aW9uIGVpbmVzIFNwaWVsZXJzIGF1ZiBGYWhuZGVycyB0b3QgZXR3YXMgaXJyaXRpZXJ0IHVuZCBoYXR0ZSBkYXMKR2VmdWVobCwgZGFzIGdhbnplIG1hbCBhdXMgbWVpbmVyIFNpY2h0IHNjaGlsZGVybiB6dSBtdWVzc2VuLi4KZnVlciBtaWNoIGlzdCBkYXMgZ2FuemUgYXVjaCBlcmxlZGlndC4uLkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZsdWNoIChGZWxhZ3VuZCwgMjMuIEZlYiAxOTk1LCAxNDoxOTozNSk6CiMhIHJuPUZlbGFndW5kIHJ0PTc5MzU0NTQwNwpkYXMgc29sbHRlIG5hdHVlcmxpY2ggYXVmd2Flcm1lbiB1bmQgVG9kIGhlaXNzZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnppZ2UgTWl0dGVpbHVuZyAuLi4gKEdhcmZpZWxkLCAyNC4gRmViIDE5OTUsIDAyOjAwOjI0KToKCiAgICAgICAgICAgICAgICAgICAgIEdhcmZpZWxkIHVuZCBHdW5kdXIKICAgICAgICAgICAgICAgICAgICAgICAgICBoYWJlbiBzaWNoCgogICAgICAgICAgICAgYW0gRG9ubmVyc3RhZywgZGVuIDIzLiBGZWJydWFyIDE5OTUKICAgICAgICAgICAgICAgICAgICB1bSB6d2VpIFVociBtb3JnZW5zCgogICAgICAgICAgICAgICAgIGF1ZiBlaW5lciBlaW5zYW1lbiBJbnNlbAogICAgICAgICAgICAgICAgICAgcm9tYW50aXNjaCB2ZXJsb2J0CgogICAgICAgICAgICBuYWNoZGVtIHNpZSBkcmVpIGxhbmdlIFdvY2hlbiBsYW5nCiAgICAgICAgIHRhZWdsaWNoIG1pdGVpbmFuZGVyIHRlbGVmb25pZXJ0IGhhdHRlbgoKICAgICAgICAgICAgICAgICBTbyBmYW5kZW4gaW0gTW9yZ2VuZ3JhdWVuCiAgICAgICAgICAgICAgICAgIHp3ZWkgU2VlbGVuIHp1ZWluYW5kZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZvcnNpY2h0IGRpciBEcml0dGUgKFNrYWxsYWdyaW0sIDI1LiBGZWIgMTk5NSwgMDc6MTg6NDMpOgojISBybj1JY2V0IHJ0PTc5MzEyOTA4MQpjaHN0ZW4gU3R1ZmUgZW50ZmVybnQsaWNoIGdlaGUgaW4gZGllIEdlbmVzaXNob2VobGUgdW5kIHRvZXRlIGVpbgpXYWVjaHRlci5WZXJzdWNodCBtYWwgZWluZSBDZXRpLUxhcnZlIG1pdCBlaW5lbSBNZWdhbGFnIHp1IGVudGZlcm5lbiAuLi4KRWluIHppZW1saWNoIGVudGZlcm50ZXIgdW5kIGZydXN0cmllcnRlciBTa2FsbGFncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgQW5mYWVuZ2VyIHdlcmRlbiBpbW1lciBzY2hsaW1tZXIuLi4uIChTbm9va2VyLCAgMS4gTWFyIDE5OTUsIDEwOjEzOjAyKToKVGphLCBkYSBoYXQgbWljaCBkb2NoIGdyYWQgZWJlbiBlaW4gQW5mYWVuZ2VyIHVtIDEwMDAwIG11ZW56ZW4gZXJsZWljaHRlcnQuClVuZCBkYXMgbnVyLCB3ZWlsIGljaCBmdWVyIDIwIFNla3VuZGVuIG1hbCBzY2huZWxsIG1laW4gWmV1Z3MgYWJsZWdlbiBtdXNzdGUsCnVtIHdhcyBhdXN6dXRlc3Rlbi4gWnVtIEdsdWVjayBoYXQgZXIgbWlyIHp1bWluZGVzdCBkaWUgRmxhbW1lbmt1Z2Vsbgp6dXJ1ZWNrZ2VnZWJlbiwgZGllIGVyIHNpY2ggbmF0dWVybGljaCBhbHMgZXJzdGVzIGdla3JhbGx0IGhhdHRlLiBEYSBlaW4KQXJlbmFrYW1wZiBldHdhcyB1bmZhaXIgZ2V3ZXNlbiB3YWVyZSwgYmxpZWIgbWlyIG5peCBhbmRlcmVzIHVlYnJpZywgYWxzIDEwMDAwCm11ZW56ZW4gZ2VnZW4gbWVpbmUgZ2VsaWVidGVuIEt1Z2VsbiBlaW56dXRhdXNjaGVuLgpXQVJOVU5HOiBIdWV0ZXQgRXVjaCB2b3IgQW5mYWVuZ2VybiwgZGVubiBzaWUgd2lzc2VuIGxlaWRlciwgd2FzIHNpZSB0dW4uIDopCgpTbm9va2VyCgpQLlMuOiBCZXZvciBqZW1hbmQgd2llZGVyIGhlcnVtc3VlbHp0OiBJY2ggd2Vpc3MsIGRhc3MgZXMgTUVJTkUgU2NodWxkCndhciEhISEhICphZXJnZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoR3JpbW1ib3JuLCAgMS4gTWFyIDE5OTUsIDEyOjMwOjI2KToKIyEgcm49U25vb2tlciBydD03OTQwNDkxODIKCkhtbSwgaWNoIHNlaCBkYXMgbmljaHQgc28gYWxzIERlaW5lIFNjaHVsZCBhbiwgZWluIGJpc2NoZW4gZmFpcmVzIEJlbmVobWVuCnNvbGx0ZSBtYW4gYXVjaCB2b24gQW5mYWVuZ2VybiBlcndhcnRlbiBkdWVyZmVuLiBJY2ggd2VyZCBpbiBzb2xjaGVuIEZhZWxsZW4KKGlzdCBkdXJjaGF1cyBzY2hvbiB2b3JnZWtvbW1lbikgemllbWxpY2ggc2F1ZXIgdW5kIGRlbmsgZXJzdCBnYXIgbmljaHQgYW4KQXJlbmEuIFNvd2FzIGlzdCBmdWVyIG1pY2ggTm90d2Voci4KTmljaHQgZGFzcyBpY2ggdW0gMTAwMDAgTXVlbnplbiBlaW4gR2VzY2hyZWkgbWFjaGVuIHd1ZXJkZS4gQWJlciBzb3dhcyBpc3QKa2VpbiBTdGlsLCB3byBzaW1tZXIgZGVubiBoaWVyLi4uCgpJbW1lciBmdWVyIG5lbiBQSyB6dSBoYWJlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsdWNoIChGbGludG5haWwsICAxLiBNYXIgMTk5NSwgMTU6NDM6MDcpOgojISBybj1TbnVnZ2xlIHJ0PTc5MzUwNDEyMApTby4uLgpIYWxsbyBtYWwgd2llZGVyLi4uCkhpIFNudWdnbGUsIGRpZXNlciBBcnRpa2VsIGhhdCBuaXggZGlyZWt0IG1pdCBldXJlbSB3aWUgYXVjaCBpbW1lciBnZWFydGV0ZW4KRmF1eHBhcyB6dSB0dW4hCgpJY2ggbmVobWUgZGFzIE1pc3N2ZXJzdGFlbmRuaXMgendpc2NoZW4gRXVjaCBudXIgenVtIEFubGFzcywgdW0gbWFsIGFsbGdlbWVpbgpkYXJhdWYgaGluenV3ZWlzZW46CgogLSBkYXNzIGljaCBlcyB6aWVtbGljaCBydWVja3NpY2h0c2xvcyB2b24gU3BpZWxlcm4gZmluZGUsIGlubmVyaGFsYiBlaW5lcgpRdWVzdCBuaWNodCBhdWYgZGllIEFud2VzZW5oZWl0IGFuZGVyZXIgU3BpZWxlciBlaW56dWdlaGVuIQoKIC0gZWluZSBRdWVzdCBudXIgenVtIEVyaGFsdCBlaW5lcyBCb251cy1PYmpla3RzIGltbWVyIHdpZWRlcgpkdXJjaHp1c3BpZWxlbiwgb2huZSBhdWYgb2JpZ2VzIChhbHNvIGFuZGVyZSBTcGllbGVyKSBlaW56dWdlaGVuIQoKQWxzbyB6LiBCLiBMaWNoIGlzdCB6dSBzY2h3ZXIuLi5tYWwgZWJlbiBGcmllZGhvZiBsb2VzZW4uLi4uLi4KICAgICAgICAgICBIbW0uLi5aVC4uYmVpIGRpZXNlciBRdWVzdCB2ZXJnZXNzZW4uLi5tYWwgZWJlbiBsb2VzZW4uLi4KICAgICAgICAgICBCdW1lcmFuZyBkdXJjaCBSZWJvb3QgdmVybG9yZW4uLi5tYWwgZWJlbiBsb2VzZW4uLi4uCgogRXMgc3ByaWNodCBwcmluemlwaWVsbCBuaXggZGFnZWdlbiBkYXMgenUgdHVuLi4uYWJlciBpbiBkZXIgUHJpbWVUaW1lIG1pdAoxMjAgU3BpZWxlcm4sIHNvbGx0ZSBtYW4gc2ljaCBkYXMgdmllbGxlaWNodCB2ZXJrbmVpZmVuIG9kZXIgenVtaW5kZXN0IG9lZnRlcgptYWwgZnJhZ2VuLCBvYiBtYW4gbmljaHQgamVtYW5kZW4gc3RvZXJ0LCBkZXIgZGllIFF1ZXN0IE9ITkUgS29tcGxldHRsb2VzdW5nCnNjaGFmZmVuIHdpbGwuClNvbGNoZSBTcGllbGVyIGdpYnQgZXMgamEgYXVjaCBtYWwuLi46KQogLi4udW5kIGRpZSBicmF1Y2hlbiBoYWx0IGV0d2FzIGxhZW5nZXIuLi4uCgoKIGhtbS4uLmdsZWljaGVzIGdpbHQgZnVlciB1bnMgU2VoZXIgLGRpZSBhbiBpaHJlbiBIYWV1c2NoZW4gd2Vya2VsbjopIGFsc28sCndlbSBpY2ggaW4gbGV0enRlciBaZWl0IG5lbiBNb25zdGVyIHZvciBkZXIgTmFzZSB3ZWdnZXNjaG5hcHB0IGhhYmU6OSBiaXR0ZQptZWxkZW4gdW5kIGJlc2Nod2VyZW4hIERhIGthbm4gbWFuIHNpY2ggZWluaWdlbi4uLi4KIC4uLnVuZCB3ZW5uIGplbWFuZCBtZWludC4uLmljaCBncmVpZmUgZ2VyYWRlICdzZWluJyBNb25zdGVyIGFuLi4uZWluZmFjaApzYWdlbi4uLi5pY2ggc3VjaCBtaXIgZ2VybmUgbmVuIE5ldWVzLi4uc29mZXJuIHZvcmhhbmRlbiEKCiAgIG9rYXkuLmRhcyB3YXIncwoKICAgICAgICAgRmxpbnRuYWlsOikKClAuUy46IGljaCBiaW4gbmF0dWVybGljaCBhdWNoIG5pY2h0IGRlciBQYXBzdCAuLi5hYmVyIGJlaSAnbmVtIG5pY2h0IHp1CmJlbGVpZGlnZW5kZW4gUnVlZmZlbCwgc2VoIGF1Y2ggaWNoIG1laW5lIEZlaGxlciBlaW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByaXZpbGVnaWVuIChYYW50aGlhLCAgMS4gTWFyIDE5OTUsIDE5OjI0OjMxKToKU28sIGpldHp0IG11c3MgaWNoIG5vY2ggbWFsIHdhcyBzY2hyZWliZW4genUgZGVuIFByaXZpbGVnaWVuLCBkaWUKU2VoZXIgaGFiZW4uCkJlaW0gbGV0enRlbiBSZWJvb3QgaXN0IG5lYmVuIGFuZGVyZW4gR2VnZW5zdGFlbmRlbiBhdWNoIG1laW4KQnVtZXJhbmcgaW4gZGllIGV3aWdlbiBKYWdkZ3J1ZW5kZSBnZWdhbmdlbi4gQWxzIGljaCBhdWYgZGVyCkFiZW50ZXVlci1FYmVuZSBuYWNoZnJhZ3RlLCBvYiBpY2ggZHVyY2ggZGFzIGVybmV1dGUgTG9lc2VuIGRlcwpXb2xwZXJ0aW5nZXItUXVlc3RzIGVpbmVuIG5ldWVuIGJla2FlbWUsIGFudHdvcnRldGUgbWFuIG1pciwgaWNoCnNvbGwgZG9jaCBTZWhlciB3ZXJkZW4gdW5kIG1pciBlaW5lbiBrYXVmZW4uIEljaCBiaW4gendhcgphbmdlaGVuZGVyIFNlaGVyIHVuZCBlcyBkYXVlcnQgd29obCBuaWNodCBtZWhyIHNlaHIgbGFuZ2UsIGJpcyBpY2gKU2VoZXIgYmluLCBhYmVyIGljaCBmaW5kZSBlcyB0cm90emRlbSBuaWNodCByaWNodGlnLCBkYXNzIG1hbiBzaWNoCmFscyBTZWhlciBhbGxlcyBrYXVmZW4ga2Fubiwgd2FzIGRpZSBub3JtYWxlbiBTcGllbGVyCnNpY2ggbmljaHQga2F1ZmVuIGtvZW5uZW4uIE5hdHVlcmxpY2ggc29sbHRlbiBTZWhlciBlaW4gcGFhcgpQcml2aWxlZ2llbiBoYWJlbiwgd2llIHouQi4gc2NobmVsbGVyZXMgUmVpc2VuIHVzdy4sIGFiZXIgZGFzCkthdWZlbiB2b24gUXVlc3QtQmVsb2hudW5nZW4gZ2Vob2VydCBuaWNodCBkYXp1LgpEYSBiaW4gaWNoIHNjaG9uIGVoZXIgZGVyIE1laW51bmcsIG1hbiBzb2xsdGUgZGFzLCB3YXMgbWFuIGluIHNlaW5lCktpc3RlIGltIFNlaGVyLUhhdXMgdHV0LCBhdWNoIGJlaGFsdGVuLiBXYXJ1bSBpc3QgZXMgbmljaHQgbW9lZ2xpY2gsCndpY2h0aWdlIEdlZ2Vuc3RhZW5kZSB1ZWJlciBkZW4gUmVib290IGhpbmF1cyB6dSBiZWhhbHRlbiwgd2VubiBkaWVzCm1pdCBhbmRlcmVuIFNhY2hlbiAoSGlsYmVydC1TdGFiLCBUZWRkeSkgYXVjaCBnZWh0PwpTbywgamV0enQgaGFiZSBpY2ggbWVpbmVtIFVubXV0IG1hbCBMdWZ0IGdlbWFjaHQuCgpBdWYgZWluIGJhbGRpZ2VzIFNlaGVyLURhc2VpbiBob2ZmZW5kLAoKWGFudGhpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByaXZpbGVnaWVuIChHcmltbWJvcm4sICAxLiBNYXIgMTk5NSwgMTk6MzE6MjIpOgojISBybj1YYW50aGlhIHJ0PTc5NDA4MjI3MQoKSHVjaCwgc2NobmVsbGVyZXMgUmVpc2VuPyBTZWl0IHdhbm4ga2FubiBtYW4gZGFzIGFscyBTZWhlciwgZ2lidHMgZXR3YQpBdXNzZW5ib3JkbW90b3JlbiBmdWVyIGRpZSBTY2hpZmZlIG9kZXIgc28/ClNvbGx0ZXN0IER1IGRpZSBUb3JlIHVuZCBkZW4gUGVnYXN1cyBtZWluZW46IEluIGRlciBaZWl0LCBkaWUgZXMgYnJhdWNodCwgdW0KZGFtaXQgenUgcmVpc2VuIGxhdWZlIGljaCAyKiB1bXMgZ2VzYW10ZSBNRy4gVm9uIGRlbiA1MG1wIGdhbnogenUgc2Nod2VpZ2VuLApkaWUgZGFiZWkgaG9wcHMgZ2VoZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QsIGRlciBnZXJuZSBtYWwgZWluaWdlIFNlaGVycHJpdmlsZWdpZW4gYXVzc2VyIEJ1bWVyYW5nCnVuZCBSaW5nIHNlaGVuIHd1ZXJkZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByaXZpbGVnaWVuIChCb2luZywgIDEuIE1hciAxOTk1LCAxOTozMjoxNyk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk0MDgyMjcxCkVpbiBTZWhlciBrYW5uIHNpY2ggbmljaHQgYmVsaWViaWdlIEdlZ2Vuc3RhZW5kZSBlaW5mYWNoIGthdWZlbiwgZWlnZW50bGljaApudXIgc2VociB3c2VuaWdlLCBlaW5lciBkYXZvbiBpc3QgZGVyIEJ1bWVyYW5nLiBEZXIgQnVtZXJhbmcgaXN0IGVpbiB2aWVsCnp1IG1hZWNodGlnZXMgT2JqZWt0IHVtIGVzIHJlYm9vdC1mZXN0IHp1IG1hY2hlbiwgYXVjaCBkZXIgVmVya2F1ZiBpc3QKc3RhcmsgZWluZ2VzY2hyYWVua3QsIGZyYWcgbWFsIGRpZSBTZWhlciB3aWUgbGFuZ2Ugc2llIFNjaGxhbmdlIHN0ZWhlbgptdWVzc2VuLCBiaXMgamVkZXIgZWluZW4gaGF0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprZWluZSB0aXRlbCwgaG9lY2hzdGVuczogU09SUlkhIChSeW5lLCAgMS4gTWFyIDE5OTUsIDIzOjA5OjE0KToKSEkhCgpobW0sIGRhIG11c3MgaWNoIG5vY2ggd2FzIHp1IHNhZ2VuOgoKQWxzbywgZGllIGhvY3plaXRlbiBoaWVyIGltIE11ZCBsYXVmZW4gamEgd29obCBpbW1lciBldHdhcyBjaGFvdGlzY2ggYWIuCkljaCBrYW5uIG1pY2ggZGEgYW4gbWVpbmUgZXJpbm5lciwgd28gbWlyIHZvbiBlaW5lbSBtYWdpZXIgYXVzIGRlbSBKQSBzYWdlbgplaW4gTkVJTiBnZW1hY2h0IHdvcmRlbiB3YXIgOykuIEF1Y2ggd2VubiBtYW4gYW5mYW5ncyBsZXR6dGxpY2ggZ2VzY2hvY2t0CnVlYmVyIGRpZSBzb25kZXJiYXJlbiBWb3JnYWVuZ2UgaXN0ICh0ZWlsd2Vpc2UgYXJ0ZXRlIGVzIGluIGVpbmUgU2NobGFjaHQKYXVzLCB3ZWxjaGVyIE1hZ2llciBzaWNoIGRlbiBiZXN0ZW4gdHJpY2sgZWluZmFsbGVuIGxhZXNzdCwgdW0gZGllIGhvY2h6ZWl0Cnp1IHZlcmhpbmRlcm4pIGlzdHMgZWluIHNwYXNzIGdld2VzZW4sIGRlbiBtYW4gbWl0ZXJsZWJ0IGhhYmVuIHNvbGx0ZS4KU28sIHVuZCBudW4gaG9lcmUgaWNoIGFsc28gZGllIGhvY2h6ZWl0c2dsb2NrZW4gbGFldXRlbiwgc2NoYXVlIGluIG1laW5lCmt1Z2VsIHVuZCBzZWhlIHNhdHRlIDQgbGV1dGUgaW4gZGVyIGthcGVsbGUgLSBuZSwgZGEgbXVzcyBtYWwgZWluZXIgYmlzY2hlbgpzY2hlaXNzZSBiYXVlbiwgZGVua2UgaWNoIG1pciAtIGJpbiBkYSBoaW4uIGRhIGhhdCBtYW4gYWJlciBhbHMgc3BpZWxlciBudXIKZ2VyaW5nZSBtb2VnbGljaGtlaXRlbiBoYXQsIHVuZCBkaWUgYmVzdGVoZW4gaW0gZWluc3BydWNoIHNhZ2VuIDspIC0gdW5kCmJpc2NoZW4ga2xlaW5rcmllZyBnYWJzIGRhbm4gYXVjaCBub2NoLCB3ZWlsIGljaCBuYWVtbGljaCBoYWxzd2VoIGtyaWVndGUsCnVuZCBkYXJhdWZoaW4gZWluIGVjaG8gUnluZSBzYWd0OiBlaW5zcHJ1Y2ggcHJvYmllcnQgaGFiZSwgd29yYXVmIGRlcgpwcmllc3RlciBuYXR1ZXJsaWNoIHByb21wdCBhbnNwcmFuZywgdW5kIG5vY2htYWwgZGllIGhvY2h6ZWl0IGFiYnJhY2ggOykKCnNvLCBub2NobWFsIHVtcyBrbGFyenVtYWNoZW46IGljaCB3aWxsL3dvbGx0ZSBQZW5lbG9wZSB1bmQgVGhyb2luIHdpcmtsaWNoCm5pY2h0IGRlbiBzcGFzcyBhbiBpaHJlciBob2NoemVpdCB2ZXJkZXJiZW4sIGhhYmUgYXVjaCBtaXQgZGVuIGJlaWRlbiBzY2hvbgpnZXJlZGV0LCB1bmQgbWljaCBiZWkgaWhuZW4gZW50c2NodWxkaWd0LCBmYWxscyBtZWluICh1bmQgcnh0ZWNocykgaGFuZGVsbgpmYWxzY2ggYXVmZ2VmYXNzdCB3b3JkZW4gc2VpLgpFaW4gYW5kZXJlcyBwcm9ibGVtIGlzdCBzaWNoZXIsIG9iIG1hbiBkaWUgbW9lZ2xpY2hrZWl0ZW4gYXVzYmF1ZW4gc29sbHRlLApiZWkgZGVuIGhvY2h6ZWl0ZW4gbWlzdCB6dSBiYXVlbi4gaWNoIGZpbmRzIHp3YXIgb2ssIGdlaG9lcnQgaXJnZW5kd2llIGRhenUsCmRlbm4gYW5zb25zdGVuIHNpbmQgZGllIGhvY2h6ZWl0ZW4gamEgZWhlciBsYW5nd2VpbGlnLiBhYmVyIHdlbm4gZXMga2VpbmVyCndpbGwsIHNvbGx0ZSBtYW4gc2ljaCBtYWwgdm9yaGVyIHVlYmVybGVnZW4sIG9iIG1hbiBkYSB2aWVsbGVpY2h0IHZvbgp2b3JuZWhyZWluIHNvIGV0d2FzIGVpbmJhdXQsIHdpZSBkYXMgd2FzIHZyYWkgbGV0enRlbmRsaWNoIGdlbWFjaHQgaGF0LApiZWZlaGxlIGFienVmYW5nZW4gdXN3LiAtIG11ZXNzdGVuIHNpY2ggZGllIHp1c3RhZW5kaWdlbiBtYWdzIG1hbCB1ZWJlbGVnZW4uCgpCemdsLiBjYXQqIGFydGlrZWw6IGhtbS4gLSBrYW5uIHNlaW4sIGRpZSBtYWdpZXJyZWdlbG4gYnpnbC4gdHJhbnNlbiB1bmQgc28Ka2VubmUgaWNoIG5pY2h0LCBrYW5uIGljaCBuaWNodHMgenUgc2FnZW4uIEF1cyBzcGllbGVyc2ljaHQgYmluIGljaCBhYmVyCnNpY2hlciwgZGFzcyByeHRlY2ggZWJlbnNvIHdpZSBpY2ggbmljaHQgZGFnZWdlbiBpc3QsIGVpbmUga2xlaW5lIHN0cmFmZSB6dQpiZWtvbW1lbiwgd2VubiBtYW4gYmVpIGRlbiBob2NoemVpdGVuIG1pc3QgYmF1dCwgb2JzIG51biB3ZWd0cmFuc2VuLCBoYWxzd2VoLAplcmthZWx0dW5nLCB2ZXJmcm9zY2hlbiBvZGVyIHZlcmZsdWNoZW4gaXN0IChvZGVyIGFsbGVzIHp1c2FtbWVuLCB3aWUgYmVpIG1pcgotIHNvIGtyYW5rIGhhYmUgaWNoIG1pY2ggc2VsdGVuIGdlZnVlaGx0LCBmZWhsdGUgbnVyIGRpZSB2ZXJnaWZ0dW5nIDspKS4gbnVyCmRhbm4gZGllIGJpdHRlLCBkYXNzIG1hbiBoaW50ZXJoZXIgbmljaHQgd2llZGVyIGFsbGVzIHNlbGJzdCB3ZWdtYWNoZW4gbXVzcywKbmFjaCBlbmRlIGRlciBob2NoemVpdCBzb2xsdGUgbWFuIHNjaG9uIHNlaW5lIGdlc3RhbHQgd2llZGVya3JpZWdlbiA7KS4KCk9rLCBkYXMgd2Fycywgbm9jaG1hbCBlbnRzY2h1bGRpZ3VuZyBhbiBhbGxlLCBkaWUgZGFzIGFuZGVycyBhdWZnZWZhc3N0CmhhdHRlbiwgYWxzIGVzIGdlbWVpbnQgd2FyLAoKd2lua2Ugd2lua2UKClJ5bmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGVpZHVuZ2VuIChSeHRlY2gsICAyLiBNYXIgMTk5NSwgMDE6MDE6NDMpOgpIbSwgbmFjaGRlbSBSeSB1bmQgUnggZGllIEhvY2h6ZWl0IHZvbiBQZW5lbG9wZSB1bmQgVGhyb2luIHNvIGVyZm9sZ3JlaWNoCmdlc3RvZXJ0IGhhYmVuLCBudW4gYXVjaCBtYWwgbmVuIEtvbW1lbnRhciB2b24gbWlyLiBBbHNvIG1laW4gRWluc3BydWNoCnJlc3VsdGllcnRlIG5pY2ggYXVzIGRlciBUYXRzYWNoZSwgZGFzcyBudXIgNCBMZXV0ZSBkYSB3YXJlbiB1bmQgaWNoIGZ1ZXIKU3RpbW11bmcgc29yZ2VuIHdvbGx0ZSwgc29uZGVybiB2aWVsbWVociBhdXMgZGVyIFRhdHNhY2hlLCBkYXNzIG1pcgpTY2hlaWR1bmdlbgppbSBNdWQgYmlzaGVyIGFscyBub2NoIG5pY2h0IGVpbmdlZnVlaHJ0IGluIEVyaW5uZXJ1bmcgd2FyZW4uIE51biBndXQsIHdlbm4KbWFuIHNpY2ggbmljaHQgbWVociBsZWlkZW4ga2Fubiwgc28ga2FubiBtYW4gbmVuIE1hZyBmcmFnZW4sIG9iIG1hbiBkYXMKVmVyaGVpcmF0ZXQgbWl0Li4uIGF1cyBkZW0gZmluZ2VyLUJlZmVobCBuZWhtZW4ga2FubiwgYWJlciBuZSByaWNodGlnZQpTY2hlaWR1bmcgd2FyIGZ1ZXIgbWljaCBuZXUuIEVpbmUgcmljaHRpZ2UgU2NoZWlkdW5nIGJyaW5ndCBuYWVtbGljaAptZWluZXNlcmFjaHRlbnMgZGFzIFJlY2h0IG1pdCBzaWNoIHdpZWRlciBoZWlyYXRlbiB6dSBkdWVyZmVuLCBzbyB3aWUKUGVuZWxvcGUgKHVuZCBzaWUgaXN0IGRhIG1laW5lc2VyYWNodGVucyBkaWUgZXJzdGUpIGVzIG51biB3aWVkZXIgZ2V0YW4KaGF0LiBJY2ggaGFiIGFsc28gbWVpbmVuIEVpbnNwcnVjaCBlaW5nZWxlZ3QsIHdlaWwgaWNoIGJpc2hlciBkZXIgTWVpbnVuZwp3YXIsCndlbm4gbWFuIG5lbiBNYWdpZXIgZ3V0IGtlbm50LCBkYW5uIGxvZXNjaHQgZGVyIGRlbiBFaW50cmFnIGltIEJ1Y2ggZnVlcgplaW5lbi4KRC5oLiBlaW5lIFNjaGVpZHVuZyBnaWJ0IGVzIG51ciBmdWVyIGVpbmlnZSB3ZW5pZ2UgdW5kIG9mZml6aWVsbGUKU2NoZWlkdW5nZW4gZ2lidCBlcyBnYXIgbmljaHQuIE51biBndXQsIG1hbiBrYW5uIG1pciB2b3J3ZXJmZW4gaWNoIGthbSBzcGFldAp6dXIgSG9jaHplaXQgdW5kIGljaCBoYWV0dGUgZGFzIHZvcmhlciBlcmZyYWdlbiBrb2VubmVuLiBBYmVyIG5pY2h0cwpkZXN0b2Rlbm5vY2ggaGFiZSBpY2ggZGFzIFJlY2h0IEVpbnNwcnVjaCBlaW56dWxlZ2VuLCB3ZW5uIG1pciB3YXMgc3Rpbmt0LAp1bmQgbWljaCBtaXQgSGFsc3dlaCB6dSBiZWxlZ2VuIHVuZCBpbnMgU2NobmVlbGFiIHp1IHRyYW5zZW4gaGFsdGUgaWNoIGRhCmZ1ZXIKa2VpbmUgZ3V0ZSBFaW5pZ3VuZ3Ntb2VnbGljaGtlaXQsIHNvIHdpZSBlcyBkZXIgUHJpZXN0ZXIgamEgZW1wZmllaGx0Ln4KRGFzIGlzdCB2aWVsbWVociBmdWVyIG1pY2ggTWFjaHRtaXNzYnJhdWNoIGVpbmVzIE1hZ2llcnMsIGRlciBvZmZlbnNpY2h0bGljaApBbmdzdCBkYXZvciBoYXR0ZSBkaWUgU2FjaGUgbWl0IG1pciBhdXN6dWRpc2t1dGllcmVuLiBNaXIgaXN0IGtsYXIsIGRhc3MgZGllcwpkaWUgWmVyZW1vbmllIHN0b2VydCwgYWJlciBpaG0gc29sbHRlIGF1Y2gga2xhciBzZWluLCBkYXMgaGllciBOZXVsYW5kCmJldHJldGVuIHd1cmRlLgoKU292aWVsIHp1IGRlciBIb2NoemVpdCwgd28gbWFuIG1pY2ggamEgbWFsIGhhZXR0ZSBmcmFnZW4ga29lbm5lbiB3YXJ1bSBpY2gKRWluc3BydWNoIGVpbmxlZ2UsIGJ6dy4gbWljaCBoYWV0dGUgYXVzcmVkZW4gbGFzc2VuIGtvZW5uZW4sIGJldm9yIG1hbiBtaWNoCndlZ3RyYW5zdC4KCkplZGVuZmFsbHMgZmluZGUgaWNoLCBkYXNzIGVzIGVpbiBWb3J0c2Nocml0dCBmdWVyIGRhcyBNdWQgaXN0LCB3ZW5uIG51bgpvZmZpemllbGwgU2NoZWlkdW5nZW4gZXJsYXVidCBzaW5kIHVuZCBwcm9ibGVtbG9zIGR1cmNoZ2VmdWVocnQgd2VyZGVuIChuYWphLApzbyBwcm9ibGVtbG9zIHdpZSBpbSBybCBoYWx0KS4KTWljaCB3dWVyZGUgaW50ZXJlc3NpZXJlbiwgd2llIGRpZSBTY2hlaWR1bmdlbiBkdXJjaGdlem9nZW4gd2VyZGVuLiBJY2ggZmluZGUKc293YXMgc29sbHRlIGluIGRpZSBaZWl0dW5nIHVuZCB3ZW5pZ2VyIGxhZXBwaXNjaGUgRGlza3Vzc2lvbmVuIHVlYmVyCmlyZ2VuZHdlbGNoZSBuYW1lbnNnZWJ1bmdlbi4gU29sbHRlIGljaCBkYSBuZW4gQXJ0aWtlbCB1ZWJlcnNlaGVuIGhhYmVuLCBzbwpiaXR0ZSBpY2ggdW0gRW50c2NodWxkaWd1bmcuCgpBbHNvIG5vY2htYWwgU2NoZWlkdW5nIGlvbSBNRyBmaW5kIGljaCBuZW4gZWNodGVuIEZvcnRzY2hyaXR0LgoKCkJpcyBkZW5uCgpSeHRlY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hlaWR1bmdlbiAoRGFuY2VyLCAgMi4gTWFyIDE5OTUsIDAxOjMyOjQ0KToKIyEgcm49Unh0ZWNoIHJ0PTc5NDEwMjUwMwpBbm1lcmt1bmcgZnVlciBNYWdzOgpCZXZvciBoaWVyIGpldHp0IHdpZWRlciAxMCBMZXV0ZSAobWFsIHdpZWRlcikgYW5mYW5nZW4sIGRhcyBnbGVpY2hlIHp1CnByb2dnZW4sIG1vZWNodGUgaWNoIGJlbWVya2VuLCBkYXNzIFNjaGVpZHVuZ3NzZXF1ZW56ZW4genVzYW1tZW4gbWl0Cm1laW5lbiBuZXVlbiBIb2NoemVpdHNzZXF1ZW56ZW4gYmVyZWl0cyBpbiBBcmJlaXQgc2luZC4gV2VubiBlaW5lciBkZXIKaGllciBhbndlc2VuZGVuIEtvbGxlZ2VuIGRpZSBXYXJ0ZXplaXQsIGJpcyBaYXJkb3ogdW5kIGljaCBkaWUgU2NoYXR0ZW4tCndlbHQgenUgRW5kZSBnZWJhdXQgaGFiZW4genUgbGFuZ2UgZXJzY2hlaW50LCBzbyBrYW5uIGVyIGdlcm5lIGRhcwpiZWdvbm5lbmUgd2VpdGVycHJvZ3JhbW1pZXJlbi4gSWNoIHdlcmRlIGVzIGluIGplZGVtIEZhbGwgYmVlbmRlbiwgd2VpbApkYSBzaWNoZXJsaWNoIHNjaG9uIGVpbmlnZSBUYWdlIFBsYW51bmdzLSB1bmQgUHJvZ3JhbW1pZXJhcmJlaXQKZHJpbm5lbnN0ZWNrZW4uCgpTbyBsb25nCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoZWlkdW5nZW4gKEFjcmltb24sICAyLiBNYXIgMTk5NSwgMDE6NDQ6MTUpOgojISBybj1SeHRlY2ggcnQ9Nzk0MTAyNTAzCkRhcyBtdXN6IG1hbiBzaWNoIG5vY2ggZWlubWFsIGdlbmF1ZXIgInViZXJsZWdlbi4KCldhcyB3aWxsIG1hbiBpbSBNRz8gU29sbCBhdWNoIGltIE1HIGRpZSBFaGUgZWluIEJ1bmQgZnJzIExlYmVuIHNlaW4/CkluIGRpZXNlbSBGYWxsIHciYXJlIGVpbmUgU2NoZWlkdW5nc20ib2VnbGljaGtlaXQgdmVycG9lbnQsIHVuZCB3ZXIgc2ljaAp0cm90emRlbSBzY2hlaWRlbiBsImFzenQsIGRlciBzb2xsdGUgaW0gZmluZ2VyLUJlZmVobCBkaWUgQmVtZXJrdW5nCiJWZXJoZWlyYXRldCB1bmQgZ2VzY2hpZWRlbiBtaXQgPEVoZXBhcnRuZXI+IiBiZWtvbW1lbi4KQXVzemVyZGVtIGRhcmYgZXIgbmllbWFuZCBhbmRlcmVuIGhlaXJhdGVuLgpFcyBzZWkgZGVubiwgZGVyIEVoZXBhcnRuZXIgYmVnZWh0IFNlbGJzdGwib3NjaHVuZy4KCk9kZXIgbWFuIHdpbGwsIGRhIGltIE1HIEVoZSBuaWNodCBhbmRlcmVzIGJlZGV1dGV0IGFscyBlaW5lbiBtb21lbnRhbmVuIEJ1bmQuCkluIGRpZXNlbSBGYWxsIHNvbGx0ZSBtYW4gYmVsaWViaWcgc2NoZWlkZW4gbGFzc2VuIGsib25uZW4gdW5kIGF1Y2ggYmVsaWViaWcKb2Z0IG1pdCBhbmRlcmVuIFNwaWVsZXJuIGdlaGVpcmF0ZXQgd2VyZGVuIGQidXJmZW4sIHNvbGFuZ2UgbWFuIG5pY2h0IG1laHIKYWxzIGVpbmVuIEVoZXBhcnRuZXIgYmVrb21tdC4KQmVpbSBmaW5nZXItQmVmZWhsIHcidXJkZSBpbiBkaWVzZW0gRmFsbCBiZWltIFNjaGVpZGVuIGRpZQpWZXJoZWlyYXRldC1taXQtWmVpbGUgZ2VsIm9zY2h0IHdlcmRlbi4KCk9kZXIgbWFuIHdpbGwgZ2FyIFBvbHlnYW1pZSBlcmxhdWJlbiBvZGVyICJhaG5saWNoZXMsCmRhbm4gc29sbHRlIG1hbiBtZWhyZXJlIEVoZXBhcnRuZXIgZXJsYXViZW4gdW5kIHNpY2ggd2llZGVydW0gInViZXJsZWdlbiwgb2IKZGllIEVoZSBlaW4gQnVuZCBmInVycyBMZWJlbiBzZWluIHNvbGwgKGQuaC4gYW0gYmVzdGVuIGtlaW5lIFNjaGVpZHVuZykgb2RlcgpudXIgZWluIHRlbXBvciJhcmVzIFRyZXVldmVyc3ByZWNoZW4uCgpNZWluZSBNZWludW5nOiBJY2ggYmluIGRhZiJ1ciwgZGFzeiBkaWUgRWhlIGVpbiBsZWJlbnNsYW5nZXIgQnVuZCBzZWluIHNvbGwuCkRhZHVyY2ggd2lyZCBkaWUgRWhlc2NobGllc3p1bmcgd2lya2xpY2ggZXR3YXMgQmVzb25kZXJlcyB1bmQgbXVzeiBhdWNoIGd1dAoidWJlcmxlZ3Qgc2Vpbi4KV2FzIGR1cmNoYXVzIHcidW5zY2hlbnN3ZXJ0IGlzdC4KCkV1ZXIgR3Jvc3plcgogICAgQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd3VuZGVyYmFyIChSeW5lLCAgMi4gTWFyIDE5OTUsIDAxOjU1OjU1KToKenUgc2Nob2VuLCB6dSBzZWhlbiwgd2llIHdpciBudXIgd2VnZW4gZWluIHBhYXJtYWwgZWluc3BydWNoIHNhZ2VuIGpldHp0CndpZWRlciBlaW5lIG5ldWUgbWVnYWRpc2t1c3Npb24gaW4gZGVyIHplaXR1bmcga3JpZWdlbiB3ZXJkZW4uLi4KCkpldHp0IGhhYmVuIHdpciB3aWVkZXIgZWluZW4gd29jaGUgbGFuZyBvdmVyZmxvdyBpbiBhbGxnZW1laW4sIHdlaWwgamVkZXIKc2VpbmVuIHNlbmYgenVtIHRoZW1hIHNjaGVpZHVuZyBhYmxhZXNzdCwgd2V0dGVuID8KClJ5bmUgc2FndDogRWluc3BydWNoICEKLSBhYmVyIGlociB3ZXJkZXRzIHRyb3R6ZGVtIHR1biA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGVpZHVuZ2VuIChBbmF0b2wsICAyLiBNYXIgMTk5NSwgMDE6NTY6MjgpOgojISBybj1SeHRlY2ggcnQ9Nzk0MTAyNTAzCgpSeCwgRGVpbiAiWnVzcGFldGtvbW1lbiIgaXN0IHdpcmtsaWNoIG5pY2h0IGdhbnogdW5zY2h1bGRpZy4gRGVyCmVudHNwcmVjaGVuZGUgTWFnaWVyIHdhciBkdXJjaCBkaWUgdm9yaGVyaWdlbiBmdWVuZiBiaXMgc2VjaHMgTmV1c3RhcnRzIHVuZApkZW4gZW50c3ByZWNoZW5kZW4gLSBmZWhsZ2VzY2hsYWdlbmVuICpncmlucyogLSBWZXJlaXRlbHVuZ3N2ZXJzdWNoZW4KZ2VzdHJlc3N0IG9obmUgRW5kZS4gVW5kIGRhbm4ga29tbXN0IER1IHJlaW4sIGJla29tbXN0IGFscyBhbGxlcmVyc3RlcyBtaXQsCmRhc3MgZGllIEhvY2h6ZWl0IGF1ZmdydW5kIFJ5bmVzIEVpbnNwcnVjaCBhYmdlYmxhc2VuIHd1cmRlLCBraWNoZXJzdCB1bmQKbWFjaHN0IHNvbGFuZ2UgbmljaHRzLCBiaXMgYmVpbSBuYWVjaHN0ZW4gVmVyc3VjaCBkYW5uIF9EZWluXyBFaW5zcHJ1Y2gKZmFlbGxpZyB3YXIuClNvcnJ5IC0gYWJlciBEZXJqZW5pZ2UsIHdlbGNoZXIgYXVmIGRlciByaWNodGlnZW4gU2VpdGUgZGVzIEJpbGRzY2hpcm1zIHNpdHp0CnVuZCB6dWZhZWxsaWcgaW4gZGllc2VtIG5ldHRlbiBTcGllbCAob2RlciB3YXMgYXVjaCBpbW1lcikgZGVyIHRyYXVlbmRlIE1hZ2llcgp3YXIsIGlzdCBoYWx0IGF1Y2ggbnVyIGVpbiBNZW5zY2guIEljaCBhbiBzZWluZXIgU3RlbGxlIGhhZXR0ZSBlcyBtaXQKU2ljaGVyaGVpdCBhZWhubGljaCBnZW1hY2h0LiBFcyB3YXJlbiBpbnNnZXNhbXQgdmllcnplaG4gb2RlciBtZWhyIFZlcnN1Y2hlLApiaXMgZXMgZGFubiBlbmRsaWNoIHp1ciBWb2xsZW5kdW5nIGdlcmVpY2h0IGhhdC4KTmF0dWVybGljaCBpc3QgU3BpZWxlci1UcmFucyB2ZXJib3RlbiwgRnJvc2NoZW4sIFZlcmZsdWNoZW4gdW5lcnd1ZW5zY2h0IHVuZApkYXMgenVyIHZvcnVlYmVyZ2VoZW5kZW4gSGFuZGx1bmdzdW5mYWVoaWdrZWl0IFZlcmRhbW1lbiBhbGxlciBhbndlc2VuZGVuClNwaWVsZXIgd2lya2xpY2ggdWViZWwuLi4KLi4udmllbCBzY2hsaW1tZXIsIGZpbmRlIGljaCwgaXN0LCBkYXNzIGVzIGEpIGRhenUga29tbWVuIG11c3N0ZSB1bmQgdm9yCmFsbGVtIGIpIGRhc3MgZGFzIGpldHp0IHdvaGwgZGVuIE1hZ2llcm4gdm9sbCB1bmQgZ2FueiB6dXIgTGFzdCBnZWxlZ3Qgd2lyZC4KCkZhbGxzIGRhcyBzaSBibGVpYmVuIHNvbGx0ZS4uLiBDYXR3ZWF6bGUsIGRhbm4gaXN0IGpldHp0IGVpbiAnbWJhbmlzaCBhbmF0b2wnCmZhZWxsaWcuCgpBbmF0b2wgKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRqYSwga3VlaGxlbiBLb3BmIGJld2FocmVuIChSeHRlY2gsICAyLiBNYXIgMTk5NSwgMDI6MDU6MzgpOgpBbHNvIEFuYXRvbCwKYWxzIE1hZ2llciBtdWVzc3RlIGVyIGt1ZWhsZW4gS29wZiBiZXdhaHJlbiB1bmQgamVkZW4gRWluc3BydWNoIGVpbnplbG4KcHJ1ZWZlbi4KV2FzIGthbm4gaWNoIGRhZnVlciwgd2VubiBzY2hvbiA1IEVpbnNwcnVlY2hlIHZvciBtaXIgc3RhdHRmYW5kZW4/IEFsc28gZGFzCkFyZ3VtZW50IHNlaCBpY2ggdWViZXJoYXVwdApBcmd1bWVudCBzZWggaWNoIHVlYmVyaGF1cHQgbmljaHQsIGljaCBoYXR0ZSBqYSBuaWNodG1hbCBuZSBDaGFuY2UgbWVpbmVuCkVpbnNwcnVjaCB6dSBmb3JtdWxpZXJlbi4KClZvciBkZXIgVHJhdXVuZyBkZW4gRWluc3BydWNoIHp1IGZvcm11bGllcmVuIGhhZXR0ZSBkb2NoIGVoIG5peCBnZWJyYWNodCwKd2VpbCBqYSBhdWYgamVkZW4gRmFsbCBkaWUgSG9jaHplaXQgZHVyY2hnZXpvZ2VuIHdlcmRlbiBzb2xsdGUsIHdhcyBqYSBkaWUKc3BhZXRlcmVuIE1hc3NuYWhtZW4gZ2V6ZWlndCBoYWJlbi4KCkdydXNzCgpSeAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGphLCBrdWVobGVuIEtvcGYgYmV3YWhyZW4gKEFuYXRvbCwgIDIuIE1hciAxOTk1LCAwMzowNTo0MCk6CiMhIHJuPUFuYXRvbCBydD03OTQxMDkyNjUKClJ4LCBuYWNoIERpciBrYW1lbiBub2NoIHdlbGNoZSByZWluLi4uLgoKRGVyIGxldHp0ZSB3YXIgQ3ViIChudXIgc2VpbmVuIFRleHQpOgpbLi4uXQo+Q3ViIHNhZ3Q6IG5hIGRlbm4uLi4KPkN1YiBzYWd0OiAuLi4gZGFyZiBtYW4gZWluc3BydWNoIHNhZ2VuID8KKEJhcm9uIHNhZ3Q6IE5FSU4hISEpCihQbGFwcGVybWF1bCBzYWd0OiBXYWcgZXMgbmljaHQhKQo+Q3ViIHNhZ3Q6IG9rCihQcmllc3RlciBzdGVsbHQgZGllIEZyYWdlLi4uKQo+Q3ViIHNhZ3Q6IHdhcyBwYXNzaWVydCAsIHdlbm4gPwo+Q3ViIHNhZ3Q6IGVpbnNwcnVjaApbLi4uXQoKV2FzIGhhZXR0ZXN0IERVIGFuIGRlciBTdGVsbGUgZGVzIHRyYXVlbmRlbiBNYWdpZXJzIGdlbWFjaHQuIERhcyB3YXIKdWVicmlnZW5zIFZlcnN1Y2ggMTIuLi4KQW5hdG9sICgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZHdpZ2h0IChLcmV0ZWssICAyLiBNYXIgMTk5NSwgMDM6NDg6MDEpOgojISBybj1UaW1vciBydD03OTQxMTIyNzEKVGltb3I6IEZ1ZXIgc29sY2hlIFNhY2hlbiBnaWJ0J3MgaGllciBleHRyYSBNQUlMISEhCkRhenUgbXVzcyBtYW4gYWxsZXJkaW5ncyBpbiBkaWUgUG9zdCBnZWhlbiwgaXN0IGFsc28genVnZWdlYmVuZXJtYXNzZW4KbmljaHQgZ2FueiBzbyBwcmFrdGlzY2gsIHdpZSBlaW5mYWNoIG51ciBlaW5lbiBBcnRpa2VsIHp1IHNjaHJlaWJlbi4uLgpXZW5uIG1hbiBhbGxlcmRpbmdzIGJlZGVua3QsIGRhc3MgaW4gamVkZW0gS2FmZiBlaW5lIFBvc3QgaXN0Li4uCkt1cnogdW5kIGd1dDogUGVyc29lbmxpY2hlIE5hY2hyaWNodGVuIGdlaG9lcmVuIE5JQ0hUIGluIGRpZSBNUEEhCgpTbyBsb25nLApLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZHdpZ2h0IChUaW1vciwgIDIuIE1hciAxOTk1LCAwMzo1Mzo1Mik6CiMhIHJuPUtyZXRlayBydD03OTQxMTI0ODEKSmVwcCwgZXMgc3RpbW10LgpJY2ggd2FyIHNvZ2FyIGluIGRlciBQb3N0LCB3ZWkgbCBpY2ggbmFlbWxpY2ggIE1BSUwgc2NocmVpYmVuIHdvbGx0ZS4uLgpEdW1tZXJ3ZWlzZSBkYWNodGUgaWNoIGFuICJzY2hyZWliZSBkd2lnaHQiLCB3ZWlsIGljaCBpbiBkZXIgUG9zdCB3YXIuIEljaApoYWJlIGVzIGFiZXIgZ2xlaWNoIGJlbWVya3QgdW5kIGRhbm4gYXVjaCBkZW4gQXJ0aWtlbCBnZWxvZXNjaHQuIFNvcnJ5IGZ1ZXIKZGllIFVtc3RhZW5kZSEKKFZpZWxsZWljaHQgc29sbHRlIGljaCBoYWV1ZmlnZXIgc2NocmVpYmVuPykKClNjaHJlaWJlbmRlcndlaXNlLCBUaW1vci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuZG9rdW1lbnRpZXJ0ZSBCZWZlaGxlIChUaW1vciwgIDIuIE1hciAxOTk1LCAwMzo1NTozNik6ClNvLCBpY2ggaGFiZSBkdXJjaCBadWZhbGwgdm9uIGRlbSBCZWZlaGwgIm1ydWZlIiBlcmZhaHJlbi4KTGVpZGVyIGdpYnQgZXMgZGF6dSBrZWluZSBIaWxmZS4gR2lidCBlcyBldHdhIG5vY2ggbWVociBzb2xjaGVyCnVuZG9rdW1lbnRpZXJ0ZXIgQmVmZWhsZT8KVmllbGxlaWNnaHQga29lbm50ZSBtYW4gZGllICJIaWxmZSItU2VpdGUgYWt0dWFsaXNpZXJlbj8gRGVyIEJlZmVobCAibXJ1ZmUiCmlzdCBkb2NoIHppZW1saWNoIG51ZXR6bGljaC4uLgoKR3J1ZXNzZSB2b24gVGltb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJrbGVpZHVuZyA9PSBWZXJhcnNjaHVuZz8gKEJsb29keWhhcnJ5LCAgMi4gTWFyIDE5OTUsIDA3OjQ2OjA3KToKV2FzIGhhdCBlcyBlaWdlbmRsaWNoIG1pdCBkZW4gVmVya2xlaWR1bmdlbiBhdWYgc2ljaD8KV2FzIGlzdCBkYXZvbiB6dSBoYWx0ZW4sIHdlbm4gc2ljaCB6Qi4gZWluIGFuZ2VoZW5kZXIgU2VoZXIKaW4gZGVyIEh1ZWxsZSBlaW5lcyBTcGllbGVycyB2ZXJzdGVja3QgdW5kIGFuZGVyZSBTcGllbGVyIGF1ZgpkaWVzZSBXZWlzZSBpcnJlIHp1IGZ1ZWhyZW4gdW5kIHNpY2ggZWluZW4gU3Bhc3MgYXVmCktvc3RlbiBlaW5lcyB1bmVyZmFocmVuZW4gU3BpZWxlcnMgbWFjaHQ/CgpCbG9vZHkgSGFycnksIGRlciBmcnVjaHRsb3NlIFBpcmF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW5kb2t1bWVudGllcnRlIEJlZmVobGUgKFlhbnRybywgIDIuIE1hciAxOTk1LCAwODo1NDozMyk6CiMhIHJuPVRpbW9yIHJ0PTc5NDExMjkzNgoKVmllbGxlaWNodCB3YWVyZSBlcyBhdWNoIGVpbmUgTG9lc3VuZywgZGVuIEJlZmVobCBNUlVGRSB3aWVkZXIgYWJ6dXNjaGFmZmVuLApkZW5uIGlyZ2VuZHdpZSBrYW5uIGljaCBtaWNoIGRlcyBHZWZ1ZWhscyBuaWNodCBlcndlaHJlbiwgZGFzcyBlciB2b24gZWluaWdlbgpTcGllbGVybiBtaXNzYnJhdWNodCB3aXJkLi4gZXIgc29sbHRlIG51ciBpbSBOb3RmYWxsIGdlYnJhdWNodCB3ZXJkZW4sIGFiZXIKZGVtIGlzdCBzZWx0ZW4gc28gOigKCiAgICAgICAgICAgICAgICAgIFlhbnRyby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NoZWlkdW5nZW4gKE9ldHRpLCAgMi4gTWFyIDE5OTUsIDA5OjAyOjM0KToKIyEgcm49QWNyaW1vbiBydD03OTQxMDUwNTUKaG1tbW0gQWNyaW1vbi4uLgpFaGUgYWxzIEJ1bmQgZnVlcnMgZ2FuemUgTUctTGViZW4uLi4KRGFzIGZpbmQgaWNoIHNvIHV0b3Bpc2NoIHdpZSBpbiBSTC4KTmF0dWVybGljaCBzb2xsdGUgbWFuIG5pY2h0IGVpbmZhY2ggc28gaGVpcmF0ZW4sIGFiZXIKaWNoIGRlbmtlIHdlbm4gZXMgaW4gWnVrdW5mdCBTY2hlaWR1bmdlbiBnZWJlbiB3aXJkLCB3ZXJkZW4gZGllIGF1Y2gKZW50c3ByZWNoZW5kIHVuYW5nZW5laG0KZnVlciBkaWUgYmV0ZWlsaWd0ZW4gUGFydGVpZW4gc2Vpbi4KWi5CLiBmaW5hbnppZWxsIHVzdy4sIGFiZXIgZWluIG91dGVuIGFscyBHZXNjaGllZGVuIHZvbi4uLiwgZGF2b24gaGFsdCBpY2gKbWFsIHdpZWRlcgpuaWNoIHNvIHZpZWwuCkhlaXJhdGVuIHNvbGx0ZSBndXQgdWViZXJsZWd0IHNlaW4sIHVuZCBkaWUgU2NoZWlkdW5nIGF1Y2ggdGV1ZXIgdW5kCm1pdCBBdWZ3YW5kIHZlcmJ1bmRlbiwgYWJlciBkYW5hY2ggc29sbHRlIGVzIGRhcyBkYW5uIGF1Y2ggZ2V3ZXNlbiBzZWluLCB3aWUKaW0gUkwgaGFsdC4uLgoKR3J1c3MKCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoZWlkdW5nZW4gKEd1eWJydXNoLCAgMi4gTWFyIDE5OTUsIDEwOjQ4OjA2KToKIyEgcm49Unh0ZWNoIHJ0PTc5NDEwMjUwMwpTbywgbXVzcyBtYWwgZ3JhZCBoaWVyIGRpZSBaZWl0dW5nbGVzZXJlaSB1bnRlcmJyZWNoZW4gdW5kIGFzIGRhenUgc2FnZW4sCm9kZXIgc2VuZmVuPwpNaXIgaXN0IGVzIGxldHp0ZW5zIGF1Y2ggendlaW1hbCBwYXNzaWVydCwgZGFzcyBpY2ggSGFsc3dlaCBiZWthbS4uLi5oYWIgamEKbml4IGRhZ2VnZW4uIEljaCBydWYgamEgYXVjaCBnYW56IHNjaG9lbiBvZnQgdmllbCBCbG9lZHNpbm5uLiBBYmVyIHdlbm4gZWluCk1hZyBzb3dhcyBtYWNodCwgZGFubiB3dWVyZGUgaWNoIGdlcm4gZXJmYWhyZW4gd2VyIGVzIHdhci4KTWFuIHNvbGx0ZSBoaWVyIGltIE1HLCB3ZW5uIHNjaG9uYSBsbGVzIHNvIHN0cmVuIGdlaGFuZGhhYnQgd2lyZCB3aWUgaW0gUmwsCmF1Y2ggZnVlciBzZWluZSBFbnRzY2hlaWR1bmdlbiBlaW5zdGVoZW4uIFdlbm4gaWNoIExFdXRlIHZlcmFyc2NoZSwgZGFubiBzdGVodAphdWNoIG1laW4gTmFtZSBkYWJlaS4gV2VubiBtaWNoIGVpbiBNYWdpZXIgYWVyZ2VybiB3aWxsLCBkYW5uIHNlaCBpY2ggbml4CmRhdm9uLgpEaWUgSG9laGUgd2FyIGxldHp0ZW5zLCBhbHMgaWNoIG1hbCB3YXMgcnVmZW4gc29sbHRlICgqYmVmZWhsIHZvbiBvYmVuKSB1bmQKZXMgbmljaHQga29ubnRlLCB3ZWlsIGljaCBIQWxzd2VoIGFodHRlLiBEYWJlaSBoYXR0ZSBpY2ggMTAgb25saW5lIFN0dW5kZW4KbmljaHRzIG1laHIgZ2VydWZlbiwgd2VpbCBpY2ggZGVyIGVpbnppZ2UgU2VoZXIgenUgZGVtIFplaXRwdW5rdCB3YXIsIGRlciA0ME1QCmRhZnVlciBhYmdlem9nZW4gYmVrYW0uCkljaCB3YXIgZ2FueiBzY2hvZW4gc2F1ZXIsIHdlaWwgaWNoIG1hbCB3aWVkZXIgbml4IGRhdm9uIHd1c3N0ZS4KVW5kIHdpZSBiZWltIGVyc3RlbiBtYWwgLCBtZWxkZXRlIHNpY2ggTkFUVUVSTElDSCAoPykgYXVjaCBuaWNodCBkZXIKZW50c3JlY2hlbmRlIE1hZyBiZWkgbWlyLiBBbHNvIG5hY2ggc29jbGhlbiBWb3JmYWVsbGVuIHNjaHdpbmRldCBtZWluClZlcnRyYXVlbiBpbiBkaWUgZGEgb2JlbiBqZWRlc21hbCBlaW4gYmlzc2NoZW4gbWVociwgZGFydW0gbWllbmUgQml0dGU6Cndlbm4gaW4gWnVrdW5mdCBlaW4gTWFnIGVpbmVtIFNwaWVsZXIgZXR3YXMgYW5oYWVuZ3QsIGRhbm4gaGFldHQgaWNoIGdlcm4gZWluCkVjaG8sIGRhc3MgbWlyIGRhcyBiZWthbm50Z2lidC4KRGFubiBrYW5uIGljaCBkZW5qZW5pZ2VuIGltbWVyIG5vY2ggZnJhZ2VuIHdhcnVtLi4ua2FubiBqYSBzZWluLCBkYXNzIGVyCnJlY2h0IGhhdCAodm9yIGFsbGVtIGJlaSBtaXIgOikKQWJlciBpY2ggd2lsbCB3ZW5pZ3N0ZW5zIHdpc3Nlbiwgd2VyIGVzIHdhci4KU28sIGljaCBob2ZmIGljaCBtdXNzIG1pY2ggbmljaHQgd2llZGVyIHVlYmVyIHNvd2FzIGF1ZnJlZ2VuCgpHdXlicnVzaCwgZnVlciBqZWRlbiBTcGFzcyB6IGhhYmVuLCBhYmVyIEZFSUdISUVUIHZlcmFjaHRlbmQhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGVpZHVuZ2VuIChHd3luZG9uLCAgMi4gTWFyIDE5OTUsIDEzOjUxOjUyKToKIyEgcm49QWNyaW1vbiBydD03OTQxMDUwNTUKSGkuLi4KCkFjcmltb24gaXN0IGRhZnVlciwgZGFzcyBFaGVzY2hsaWVzc3VuZ2VuIGVpbiBCdW5kIGZ1ZXJzIExlYmVuIHNlaW4gc29sbGVuLgpJbSBQcmluemlwIGJpbiBpY2ggaW0gTUcgZGEgZWJlbnNvIGRhZnVlciB3aWUgaW0gUkwgLSB3ZW5uIGljaCBoZWlyYXRlbgpzb2xsdGUsIGRhbm4gZWlubWFsIHVuZCBuaWNodCBhdXMgU3Bhc3MuIFVuZCB3b2hsIGF1Y2ggaW0gTUcgbnVyIGplbWFuZCwgZGllCmljaCBhdWNoIGluIFJMIGtlbm5lbi0gdW5kIHNjaGFldHplbmdlbGVybnQgaGFiZS4gVW5kIGRhcyBpc3QgZWJlbiBkZXIgR3J1bmQsCndhcnVtIGljaCBub2NoIG5pY2h0IHZlcmhlaXJhdGV0IGJpbi4uLgogICBBYmVyIHdpZSBpbSBSTCBkZW5rZSBpY2gsIGRhc3MgYXVjaCBpbSBNRyBUaGVvcmllICh1bmQgYW5mYWVuZ2xpY2hlCkhvZmZudW5nKSB1bmQgUHJheGlzICh1bmQgbGFuZ2ZyaXN0aWdlIEVudHRhZXVzY2h1bmcsIG1pdCBzaWNoIGVudGZyZW1kZW4pCmltbWVyIG1hbCB3aWVkZXIgYXVzZWluYW5kZXJrbGFmZmVuIGtvZW5uZW4uIFVuZCBkYXJ1bSBzb2xsIGVzIFNjaGVpZHVuZ2VuCmdlYmVuIGtvZW5uZW4sIG5hY2ggZGVtIFplcnJ1ZXR0dW5nc3ByaW56aXAuCgpnZXouIEd3eW5kb24gKG5vY2ggdW52ZXJoZWlyYXRldCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NoZWlkdW5nZW4gKFllbmRpLCAgMi4gTWFyIDE5OTUsIDE1OjI5OjQwKToKIyEgcm49QWNyaW1vbiBydD03OTQxMDUwNTUKCkphamEsIGljaCB3ZWlzcywgYW4gZGVyIFNjaGVpZHVuZyB3aXJkIGdlYXJiZWl0ZXQsIHVuZCBSeW5lIHdpbGwgdm9uIGRpZXNlbQpnYW56ZW4gVGhlbWEgbmljaHRzIG1laHIgaG9lcmVuLi4uIEFiZXIgZWdhbDoKClNFTkYgT046CgpXZW5uIG1hbiBzaWNoIGVoZWxpY2h0LCAiYmlzIGRhc3MgREVSIFRPRCBFdWNoIHNjaGVpZGV0IiwgZGFubiBzb2xsdGUgbWFuCnNpY2ggZG9jaCBpbiBkZXIgQXJlbmEgcHJvYmxlbWxvcyAobmFqYS4uLikgc2NoZWlkZW4gbGFzc2VuIGtvZW5uZW4sIG9kZXI/CgpXYWVyZSBzY2hvZW4gc3RpbHZvbGwsIHNvIG1pdCBXYWhsIGRlciBXYWZmZW4gZXRjLiBwcC4KClNFTkYgT0ZGCgpZVFlERVcKCiAgICBvZGVyIFRFVz8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NoZWlkdW5nZW4gKEpvZiwgIDIuIE1hciAxOTk1LCAxNTo1Mjo0MSk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0MTQ4NzEyCj4gc29sbHRlLCBkYW5uIGVpbm1hbCB1bmQgbmljaHQgYXVzIFNwYXNzLiBVbmQgd29obCBhdWNoIGltIE1HIG51ciBqZW1hbmQsCmRpZQo+IGljaCBhdWNoIGluIFJMIGtlbm5lbi0gdW5kIHNjaGFldHplbmdlbGVybnQgaGFiZS4gVW5kIGRhcyBpc3QgZWJlbiBkZXIuLi4KCiBGYWxzY2ggLSBnZW5hdSBzbyBzb2xsdGUgZXMgZWlnZW50bGljaCBOSUNIVCBzZWluLiBSTCB1bmQgTUcgc29sbHRlbiBpbQpHcnVuZGUgbmljaHQgdmllbCBtaXRlaW5hbmRlciB6dSB0dW4gaGFiZW4gLSBkYSBzb2xsdGV0IGlociB3ZWl0Z2VoZW5kCnRyZW5uZW4uCiAnQnVuZCBhdWYgZXdpZycgaXN0IHppZW1saWNoIHVuc2lubmlnLCBmaW5kZSBpY2ggLSBiZWkgamVkZW0ga29tbXQKaXJnZW5kd2FubgptYWwgZGVyIFplaXRwdW5rdCwgenUgZGVtIGVyIG1pdCBkZW0gTUctc3BpZWxlbiBhdWZob2VyZW4gbXVzcyAobmFqYSwgZnVlcgpmYXN0IGplZGVuIC4uLikuIFdlbm4gbnVuIGRlciAnRWhlcGFydG5lcicgdm9uIGplbWFuZGVtIHNpY2ggbW9uYXRlbGFuZyBuaWNodApzZWhlbmxhc3NlbiBoYXQgLSB3aWVzbyBkYW5uIGtlaW5lIFNjaGVpZHVuZz8gT2RlcjogRWluZXIgd2lyZCBNYWdpZXIsIHNlaW5lCkZyYXUvaWhyIE1hbm4gYWJlciB3aWxsIFNlaGVyL1NlaGVyaW4gYmxlaWJlbiAtIGluIGRlbSBGYWxsIGlzdCBlaW5lClNjaGVpZHVuZwppbiBtZWluZW4gQXVnZW4gRFJJTkdFTkQgYW5nZXJhdGVuLCBnZW1laW5zYW0gZHVyY2ggZGllIEdlZ2VuZCB6aWVoZW4gaXN0CnByYWt0aXNjaCB1bm1vZWdsaWNoLCB1bmQgc2VociBzY2huZWxsIGtvbW10IGRpZSBWZXJzdWNodW5nLCBkZW0gTWFubi9kZXIKRnJhdQona2xlaW5lIEhpbGZlc3RlbGx1bmdlbicgenUgZ2ViZW4sIHdhcyBuYXR1ZXJsaWNoIHZlcmJvdGVuIGlzdCAuLi4KCiBNdWQgSVNUIG51bm1hbCBlaW4gU3BpZWwsIHdpZXNvIGFsc28gYWxsZXMgc28gd2FobnNpbm5pZyBlcm5zdCBuZWhtZW4/CkFsbGVyLQpkaW5ncyBlcmtsYWVyZSBJQ0ggbWljaCBuaWNodCBiZXJlaXQsIExldXRlIHp1IHNjaGVpZGVuIC0gZGFzIGlzdCBpbSBHcnVuZGUKYXVjaCBnZWdlbiBkaWUgUmVnZWxuLCBkYSBlaW4gVW1zZXR6ZW4gZGVyIE1hcnJpZWQtUHJvcCBlaW4gdW5lcmxhdWJ0ZXIKRWluZ3JpZmYgaW5zIFNwaWVsZ2VzY2hlaGVuIGlzdC4gRGFoZXIgc29sbHRlIChtZWluZXIgTWVpbnVuZyBuYWNoKQptb2VnbGljaHN0CmJhbGQgZWluIFdlZyB6dXIgU2NoZWlkdW5nIGdlc2NoYWZmZW4gd2VyZGVuIC0gZWlnZW50bGljaCBoYWV0dGUgQ2hyaXMgYmVpbQpQcm9nZ2VuIGRlciBIb2NoemVpdCBnbGVpY2ggZGFyYW4gZGVua2VuIHNvbGxlbiAuLi4KCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2FzIHp1bSBFaGVyaW5nLi4gKEJlbmRlaWdpZCwgIDIuIE1hciAxOTk1LCAxNjozMzoyNSk6CkhhbGxvISEKRGllcyBpc3QgbWVpbiBlcnN0ZXIgQXJ0aWtlbCwgZGFoZXIgVU5zdGltbWlna2VpdGVuIG1pdCBkZW0gRWRpdG9yCnZvcnByb2dyYW1taXJ0LgpIZXV0ZSBpc3QgbWlyIHVuZCBGbGludG5haWwgZXR3YXMgcGFzc2llcnQsIHdhcyB3YWhyc2NoZWlubGljaCBzY2hvbiBtZWhyZXJlbgpTcGllbGVybiBwYXNzaWVydCBzZWluIGR1ZXJmdGU6IEZsaW50IGhhdHRlIHNpY2ggbWl0IHp3ZWkgSG9iZ29ibGlucwphbmdlbGVndCwgbmQgaWNoIHdhciBkYWJlaQpEdW1tZXJ3ZWlzZSAoQmVpbGVpZCkgd3VyZGUgZXIgZ2V0b2V0ZXQsIHVuZCBuYXR1ZXJsaWNoIHZlcmxvciBlciBkYWJlaSBhdWNoCnNlaW5lbiBFaGVyaW5nLiBEZXIgbGFnIGRhbm4gZGEgcnVtOiBFaW4gRWhlcmluZyAoYW5nZXpvZ2VuKS4gIFNFSFIKbWVya3d1ZXJkaWcKRGEgaWNoIGVpbiBmcmV1bmRsaWNoZXIgTWVuc2NoIGJpbiwgaGFiZSBpY2ggaWhtIHNlaW5lIEF1c3J1ZXN0dW5nCnJhdXNicmluZ2VuCndvbGxlbiwgdW5kIGFsbGVzIGVpbmdlc3RlY2t0LCBhdWNoIGRlbiBSaW5nLgpBbHMgaWNoIGlobSBkYW5uIGFiZXIgZGVuIFJpbmcgZ2ViZW4gd29sbHRlLCBoaWVzcyBlczogRHUgd2lyc3QgZG9jaCBuaWNodApkZWluZW4gUmluZyB3ZWdnZWJlbiB3b2xsZW4/IFRqYSwgdW5kIGRhcyBtaXIgYWxzIEp1bmdnZXNlbGxlISEgRGEgaGF0dGUgaWNoCm51IGVpbmVuIEVoZXJpbmcsIHVuZCBiZWthbSBpaG4gbmljaHQgd2VnLiBFaW4gRGFuayBhbiBIYXRlLCBkZXIgaWhuIGRhbm4Kd2llZGVyIG4gRmxpbnQgZ2VnZWJlbiBoYXQuCkljaCBkZW5rZSxkYXNzIHdhciBuaWNodCBkYXMgZXJzdGUgTWFsLCBkYXNzIGVpbiB2ZXJoZWlyYXRldGVyIGdlc3RvcmJlbiBpc3QsCnVkIGVzIGlzdCBkb2NoIGV0YXMgbGFlc3RpZywgd2VubiBtYW4gZGFubiBhdWYgZGVyIFN0cmFzc2UgZWluZW4gRWhlcmluZwooYW5nZXpvZW4pIGZpbmRldC4KTm9jaCBsYWVzdGlnZXIgaXN0IGVzLCB3ZW5uIG1BTiBERU4gTklDSFQgTUVIUjsgT0RFUiBOVVIgTUlUIE1hZ2llcmhpbGZlCndpZWRlcmxvc3dpcmQuClNvLCBkaWVzIG1hbCBhbHMgQW5yZWd1bmcsIGRhIGRvY2ggc292aWVsIHVlYmVyIEhvY2h6ZWl0ZW4gZ2VzY2hyaWViZW4gd3VyZGUuCgpCZW5kZWlnaWQgKEp1bmdnZXNlbGxlKQoKCnEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWwgd2FzIHp1bSBFaGVyaW5nLi4gKEhhciwgIDIuIE1hciAxOTk1LCAxNjo1MDowMyk6CiMhIHJuPUJlbmRlaWdpZCBydD03OTQxNTg0MDUKSmF1LCBpc3QgbWlyIGF1Y2ggc2Nob24gcGFzc2llcnQgOikKVW5kIGRhcyAsIG9id29obCBpY2ggZmVzdCB2ZXJzcHJvY2hlbiBoYXR0ZSwgbmllbWFscyB6dSBoZWlyYXRlbiA6KQoKSGFyIChmcm9oLCBuaWNodCBtZWhyIHZlcmhlaXJhdGV0IHp1IHNlaW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFSU5TUFJVQ0ggKFJ1ZGlyYXR0ZXIsICAyLiBNYXIgMTk5NSwgMTc6MjU6NDcpOgpJY2ggaGFiZSBzY2hvbiBtZWhybWFscyBtZWluZSBNZWludW5nIHp1bSBFaW5zcHJ1Y2ggYmVpIGRlbiBIb2NoemVpdGVuCmdlc2FndC4gU2NobGllc3NsaWNoIHdhciBpY2ggYmVpIFBlbmVsb3BlcyBlcnN0ZXIgSG9jaHplaXQgYXVjaCBiZXRyb2ZmZW4gdm9uCmRlbiBNYXNzcmVnZWx1bmdlbiBlaW5lcyBNYWdpZXJzLCBkZW0gZXMgZGFtYWxzIG5pY2h0IGluIGRlbiBLcmFtIHBhc3N0ZSwgZGFzcwppY2ggRWluc3BydWNoIHNhZ3RlLgpBbHNvLCBzb2xhbmdlIGVzIGltIE1HIE1PRUdMSUNIIGlzdCwgRWluc3BydWNoIHp1IHNhZ2VuLCBzdGVodCBuaWNodHMgZGFnZWdlbgpkYXMgenUgdHVuLiBXYXMgbWFuIG5pY2h0IG1hY2hlbiBkYXJmLCBzb2xsdGUgYXVjaCBnYXIgbmljaHQgZXJzdCBtb2VnbGljaApzZWluLiBEYXMgR2xlaWNoZSBnaWx0IGF1Y2ggYmVpIGRpZXNlciB1bnNhZWdsaWNoZW4gLCBtaXR0bGVyd2VpbGUgaG9mZmVudGxpY2gKdWViZXJzdGFuZGVuZW4gV29scGllZGlza3Vzc2lvbjogV2VubiBlcyB2b20gR2Vwcm9nZ3RlbiBoZXIgbW9lZ2xpY2ggaXN0LCBkaWUKVmllY2hlciB6dSB0cmV0ZW4gb2RlciB6dSB0b2V0ZW4sIGRhbm4gc29sbCBzaWNoIGF1Y2gga2VpbmVyIGJlc2Nod2VyZW4sIHdlbm4KU3BpZWxlciBkYXMgZGFubiB3aXJrbGljaCBtYWNoZW4uClNvbnN0IHdhZXIgZXMgZG9jaCBhdWNoIHppZW1saWNoIGlkaW90aXNjaCwgc28gd2FzIHVlYmVyaGF1cHQgenUKcHJvZ3JhbW1pZXJlbiAtdW5kIHdpciB3b2xsZW4gZG9jaCB1bnNlcmVuIE1hZ2llcm4gdW5kIEdvZXR0ZXJuIG5jaWh0CnZvcndlcmZlbiwgc2llIHdhZXJlbiBJZGlvdGVuLi4uLiAgOy0pKQoKCihvZGVyIHZpZWxsZWljaHQgZG9jaD8pClJ1ZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFSU5TUFJVQ0ggKEFzbW9kaXMsICAyLiBNYXIgMTk5NSwgMTc6MzE6MDUpOgojISBybj1SdWRpcmF0dGVyIHJ0PTc5NDE2MTU0NwpXZW5uIGVzIGFiZXIgbmljaHQgbW9lZ2xpY2ggaXN0IGVpbiBNb25zdGVyLCB6LkIuIGVpbmVuIFdvbHBlcnRpbmdlciB6dQp0b2V0ZW4sIHdpZXNvCmJlc2Nod2VyZW4gc2ljaCBkYW5uIGFiZXIgZWluIHBhYXIgTGV1dGUsIGRhc3MgZXMgc28gaXN0ID8nCgoKCkNpYW8sIEFzbW9kaXMKClAuUy46IFNvcnJ5LCBjb3VsZG4ndCByZXNpc3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB1bmRva3VtZW50aWVydGUgQmVmZWhsZSAoSGlnaGxhbmRlciwgIDIuIE1hciAxOTk1LCAxNzo0MjoxNSk6CiMhIHJuPVRpbW9yIHJ0PTc5NDExMjkzNgpTbywgbmFjaGRlbSBqZXR6dCB3aWVkZXIgbWFsIGRhcyBUZWlsIGluIGRpZSBtcGEgc2NocmVpYmVuIG11c3MsIGhpZXIKbWVpbiBTZW5mIGRhenU6CkRlciBCZWZlaGwgaXN0IGRhLCBqYSwgYWJlciBlciBpc3QgbmljaHQgZGllIE1ldGhvZGUsIGRpZSBNYWdpZXIgenUKa29udGFrdGllcmVuLgpBdXNuYWhtZTogRWluIGZ1cmNodGJhciBncmFlc3NsaWNoIHNjaHJlY2tsaWNoIGVrbGlnZXIgYnVnLCBkZXIgZWluZW4KbmljaHQgbWVociBhdXMgZGVtIFJhdW0gbGFlc3N0LCBuaWNodHMgc2FnZW4gbGFlc3N0LCBkaWUgS2FuYWVsZQpibG9ja2llcnQgdW5kIGVpbmVuIGxhbmdzYW0gdW1icmluZ3QuCkZ1ZXIgdW53aWNodGlnZSBGZWhsZXIgZ2lidCBlcyBkYXMgZW50c3ByZWNoZW5kZSBLb21tYW5kbyAoYnVnL2ZlaGxlcikKKGdpYnQgZXMgZmVobGVyPykgdW5kIG5vcm1hbGVzIFJ1ZmVuL0thbmFlbGUvZXRjLiB0dXQncyBhdWNoIGVyc3QgbWFsLgpNYW4ga29lbm50ZSBkZW4gQmVmZWhsIGF1Y2ggZWluZmFjaCBmdWVyIFNwaWVsZXIgc3BlcnJlbi4gSXN0IGFiZXIgZXJzCmVyc3QgbWFsIG5pY2h0IHZvcmdlc2VoZW4uCipzZW5mdHViZSB6dXNjaHJhdWIqCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIHdhcyB6dW0gRWhlcmluZy4uIChTdGFobGRvcm4sICAyLiBNYXIgMTk5NSwgMTc6NDQ6MDApOgojISBybj1CZW5kZWlnaWQgcnQ9Nzk0MTU4NDA1CkFsc28gaWNoIG11c3MgQmVuZGVpZ2lkIGRhIHZvbGxrb21tZW4gcmVjaHQgZ2ViZW4uCk1pciBpc3QgZGFzIGF1Y2ggc2Nob24gendlaW1hbCBwYXNzaWVydCwgdW5kIGVzIGlzdCBmdXJjaHRiYXIgYWVyZ2VybGljaCwKZGVzd2VnZW4gamVkZXNtYWwgZWluZW4gbWFnaWVyIGFuYmV0dGVsbiB6dSBtdWVzc2VuLgpXaWVzbyBoYXQgZGVubiBub2NoIG5pZW1hbmQsIG9id29obCBpY2ggZGFzIHNjaG9uIGVpbiBwYWFybWFsIHZvcmdlc2NobGFnZW4KaGFiLCBkaWVzZSBibG9lZGUgc2ltcGxlIHByb3BlcnR5IGJlaSBkZW0gZGluZyBnZXNldHp0LCBkYW1pdCBtYW4gZGVuIHJpbmcgbmllCnZlcmxpZXJ0ID8gIGRlbiB0ZWRkeSB2ZXJsaWVydCBtYW4gamEgYXVjaCBuaWNodCwgd2VubiBtYW4gc3RpcmJ0LgoKICAgICBTVEFITCwgZGVyIHp1IG9mdCBzdGlyYnQgdW5kIHp1IG9mdCBkZW4gRWhlcmluZyB2ZXJsaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRUlOU1BSVUNIIChUenVpb3AsICAyLiBNYXIgMTk5NSwgMTc6NDg6MjUpOgojISBybj1Bc21vZGlzIHJ0PTc5NDE2MTg2NQpXZW5uIGVzIGFsc28gbW9lZ2xpY2ggaXN0LCBEaXIgSGFsc3dlaCB6dSB2ZXJwYXNzZW4gLQp3YXMgamFtbWVyc3QgZHUgPwoKVHp1aW9wCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRUlOU1BSVUNIIChYYW50aGlhLCAgMi4gTWFyIDE5OTUsIDE4OjQwOjE2KToKIyEgcm49UnVkaXJhdHRlciBydD03OTQxNjE1NDcKSWNoIG1vZWNodGUgaGllciBudXIga3VyeiB3YXMgenUgZGVtIEFydGlrZWwgc2FnZW4uCldpZSBzaWVodCBlcyBkZW5uIGF1cywgbWl0IGRlbiBTYWNoZW4sIGRpZSBtb2VnbGljaCBzaW5kLCBhYmVyIG5pY2h0CmVybGF1YnQuIEVzIGlzdCBkb2NoIGF1Y2ggbW9lZ2xpY2gsIGFuZGVyZSBTcGllbGVyIGFuenVncmVpZmVuIHVuZAp0cm90emRlbSBpc3QgZXMgbmljaHQgZXJsYXVidC4gSWNoIGJpbiBhdWNoIGRlciBNZWludW5nLCBkYXNzIGRpZQpTYWNoZW4sIGRpZSBtb2VnbGljaCBzaW5kLCBhdWNoIGVybGF1YnQgc2VpbiBzb2xsdGVuLiBJY2gga2VubmUKZGFzIE1VRC1TeXN0ZW0gbmljaHQsIHdlaXNzIGFsc28gYXVjaCBuaWNodCwgbWl0IHdlbGNoZW0gQXVmd2FuZAplcyB2ZXJidW5kZW4gaXN0LCBzb2xjaGUgU2FjaGVuIG1vZWdsaWNoIG9kZXIgdW5tb2VnbGljaCB6dSBtYWNoZW4uCkljaCBsYXNzZSBtaWNoIGFiZXIgZ2VybmUgYmVsZWhyZW4uCgpTbyBsb25nLCBYYW50aGlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxiZSBSb2JlICYgV2Vyd29sZiAoQXNtb2RpcywgIDIuIE1hciAxOTk1LCAxODo0NDo1OSk6CkhhbGxvLCBMZXV0ZSAhCgpWb3JoaW4gaXN0IG1pciBldHdhcyBzZWx0c2FtZXMgcGFzc2llcnQhCkljaCBzcGF6aWVyZSBzbyBkYWhlciB1bmQgZXJiZXV0ZSBBdXNydWVzdHVuZywgZ2ViZSBkYW5uIHppZWhlIGFsbGVzIGFuCmVpbiB1bmQgcGxvZXR6bGljaCBmYW5nZSBpY2ggYW4sIG1laW5lbiBXZXJ3b2xmLCBtZWluIEhhdXN0aWVyLCBkYXMgbmViZW4gbWlyCmhlcmxhZXVmdCwKYW56dWdyZWlmZW4uCkRhenUgbXVzcyBtYW4gZXJnYWVuemVuLCBkYXNzIGljaCBkaWUgZ2VsYmUgUm9iZSB0cnVnLCBkaWUgaWNoIGFiZXIgd2VkZXIKYXVzem9nCm5vY2ggJ3ppZWhlIHJvYmUgYW4nIGVpbmdlYmVuIGhhYmUuCkRpZXNlIFJvYmUgdmVybGVpdGV0IGVpbmVuIGViZW4genUgZGllc2VuIGdlZmFlaHJsaWNoZW4gQWt0aW9uZW4sIGFiZXIKbm9ybWFsZXJ3ZWlzZSBudXIgZWluIHBhYXIKTWludXRlbiBuYWNoIGRlbSBBbnppZWhlbiBsYW5nLgpUamEsIGVzIGhhdCBtaWNoIGRhbm4gemVybGVndCwgZGVyIFdlcndvbGYgaXN0IGphIGpldHp0IGZhc3QgdW5iZXNpZWdiYXIKZ2VtYWNodCB3b3JkZW4sIHVuZCBmbHVlY2h0ZW4ga29ubnRlIGljaCBhdWNoIG5pY2h0LCBkYSBtaXIgZGVyIFdlcndvbGYKbmFjaGxpZWYuCgpBbHNvLCBpY2ggd29sbHRlIG1hbCBmcmFnZW4sIG9iIGRhcyBiZWkgZGVyIHJvYmUgbm9ybWFsIGlzdCwgb2RlciBvYiBlcyBlaW4KYnVnIGlzdC4KVW5kIGFscyBvYiBkYXMgbmljaHQgZ2VudWcgd2FlcmUsIGhhdCBkYW5hY2ggbm9jaCBqZW1hbmQgbWVpbmUgZ2VzYW10ZQpBdXNydWVzdHVuZyBtaXRnZWhlbiBsYXNzZW4uClNvd2VpdCBhbHNvIHp1IEtvbGxlZ2lhbCBpdGFldCBpbiBNb3JnZW5ncmF1ZW4KCiAgICAgICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMoZXJzdGVzPyBSb2Jlbm9wZmVyKQoKUC5TLjogU29yeSwgd2VnZW4gZGVyIFplaWxlbmZvcm1hdGllcnVuZyBvZGVyIGZlaGxlcm4sIHNpdHplCiAgICAgIGhpZXIgYW4gZWluZW0gbWlzdHJlY2huZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRUlOU1BSVUNIIChNYXRlZXNlLCAgMi4gTWFyIDE5OTUsIDE5OjE2OjE3KToKIyEgcm49WGFudGhpYSBydD03OTQxNjYwMTYKPiBJY2ggYmluIGF1Y2ggZGVyIE1laW51bmcsIGRhc3MgZGllIFNhY2hlbiwgZGllIG1vZWdsaWNoIHNpbmQsIGF1Y2ggZXJsYXVidAo+IHNlaW4gc29sbHRlbi4KQWJzb2x1dGVyIEh1bWJ1Zy4gVGVjaG5pc2NoIGZhc3QgbmljaHQgcmVhbGlzaWVyYmFyLCB1bmQgYWJzb2x1dCB0b2VkbGljaApmdWVyIGRpZSBTcGllbGF0aG1vc3BoYWVyZS4gRWluIGRlcmFydGlnZXMgU3BpZWwgd2FlcmUga2VpbiBNdWQgbWVociwgc29uZGVybgpTcGFjZSBJbnZhZGVycyBmdWVyIFRleHR0ZXJtaW5hbHMuCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoWWVuZGksICAyLiBNYXIgMTk5NSwgMjE6MjE6MTcpOgojISBybj1Tbm9va2VyIHJ0PTc5NDA0OTE4MgoKRXMgaXN0IHNjaGxlY2h0ZXIgU3RpbCwgamVtYW5kZW0sIGRlciBnZXJhZGUgdWViZXIgZGllIE5hYmxhIGdld3VwcGVydCBpc3QKKGFlaC4uLiBlZ2FsKQp1bmQgZXMgZGFoZXIgc2Nob24gc2Nod2VyIGdlbnVnIGhhdCwgb2JlbmRyZWluIGF1Y2ggbm9jaCBzZWluZSBBdXNydWVzdHVuZyB6dQprbGF1ZW4uIERhcyBoYWJlIGljaCB6dSBBbmR5cyBaZWl0ZW4gbmljaHQgYWt6ZXB0aWVydCwgdW5kIGljaCB3ZXJkZSBtaWNoCmF1Y2ggamV0enQgbmljaHQgZGFyYW4gZ2V3b2VobmVuLiBTb2xjaGUgTGV1dGUgZ2Vob2VyZW4gdWViZXIncyBLbmllIGdlbGVndCEhIQoKWWVuZGkgZGVyIEV3aWdlIFdlaXNlCihkZXIgc2ljaCBnZXJhZGUgZXJuc3RoYWZ0IEdlZGFua2VuIHVlYmVyIGRpZSBQcnVlZ2Vsc3RyYWZlIG1hY2h0Li4uKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoQ2F0d2VhemxlLCAgMi4gTWFyIDE5OTUsIDIxOjI3OjQ0KToKIyEgcm49WWVuZGkgcnQ9Nzk0MTc1Njc3CkljaCB3ZWlzcyBnYXIgbmljaHQgd2FzIGlociBoYWJ0LgpBbHMgaWNoIGRhbWFscyBub2NoIGdlc3BpZWx0IGhhYiwgaGFiIGljaCBpbW1lciBhbGxlcyB6dXNhbW1lbmdlcmFmZnQsCndzIGljaCBrcmllZ2VuIGtvbm50ZS4gRWdhbCBvYnMgbnUgbmUgcG9wZWxpZ2UgTGVkZXJqYWNrZSB3YXIgb2RlciBlaW4Kd3VuZGVydm9sbGVyIEhhdWZlbiBtaXQgQXVzcnVlc3R1bmcgdW5kIGVpbmlnZW4gZWluZ2VzdHJldXRlbiBNdWVuemVuLgpJY2ggd2FyIGltbWVyIGhlaWxmcm9oIGF1ZiBkaWUgU2NobmVsbGUgYW4gS29obGUgenUga29tbWVuIDopCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoWWVuZGksICAyLiBNYXIgMTk5NSwgMjE6NDA6MjApOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk0MTc2MDY0CgpOb2UsIGRpZSBMZWRlcnJ1ZXN0dW5nIGxhc3MgaWNoIGZ1ZXIgZGllIEFuZmFlbmdlciBsaWVnZW4sIHVuZCB3ZW5uIGljaAplaW5lbiBIYXVmZW4gU3VwZXJhdXNydWVzdHVuZyBmaW5kZSwgZGVyIGRhIHJ1bWxpZWd0LCBtb2VnbGljaHN0IG5vY2gKa29tcGxldHQgbWl0IEVoZXJpbmcgZXRjLiwgZGFubiBGUkFHRSBJQ0ggSEFMVCBWRVJEQU1NVE5PQ0hNQUwsIHdlciBkYQphYmdla3JhdHp0IHNlaSEKCldlbm4gZGVyIEJldHJlZmZlbmRlIGtlaW5lbiBXZXJ0IGF1ZiBkYXMgWmV1ZyBsZWd0LCB3YXMgaW1tZXJoaW4gc2Nob24KZWluaWdlbWFsZSB2b3JrYW0sIGRhbm4ga2FubiBpY2ggZXMgaW1tZXJub2NoIHZlcmdudWVndCBlaW5zdGVja2VuIC0tIGFiZXIKZXJzdCBtYWwgaG9lZmxpY2ggbmFjaCBkZW0gQmVzaXR6ZXIgZXJrdW5kaWdlbi4KCiAgIG8gdGVtcG9yYSwgbyBtb3Jlcy4uLgoKICAgICAgICAgICAgICAgWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoQW5jYWxhZ29uLCAgMi4gTWFyIDE5OTUsIDIxOjQzOjQzKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NDE3NjA2NApNb2luLCBNaXRtdWRkaWVzIQpBbHNvLCBpY2ggZmluZGUgZGFzIGF1Y2ggaGFsYiBzbyB3aWxkLiBHcmFkZSBob2VoZXJzdHVmaWdlbiBDaGFyYWt0ZXJlbgpzb2xsdGUgZXMgZG9jaCBlaWdlbnRsaWNoIGVnYWwgc2Vpbiwgb2Igc2llIHNpY2ggMTAgbWluLiB6ZWl0IG5laG1lbiBtdWVzc2VuLAp1bSBlaW5lIG5ldWUgQXVzcnVlc3R1bmcgenVzYW1tZW56dXNhbW1lbG4uCkFsc28sIHdlbm4gaXJnZW5kZWluIEFuZmFlbmdlciBvZGVyIGhhdXNiYXVlbmRlciBzZWhlciBtZWluZSBsZWljaGUgcGx1ZW5kZXJuCndpbGwsIGJpdHRlIHNlaHIuLi4uLi4uCkFCRVIgRVhUUkEgVU1CUklOR0VOIExBU1NFIElDSCBNSUNIIERFU1dFR0VOIE5JQ0hUISEKSW4gZGllc2VtIFNpbm5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuY2FsYWdvbgogICAgICAgICAgICAgICAgICAgICAgRHJhY28ga251ZGRlbGxlbnNpcyBtYWpvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIEFuZmFlbmdlciB3ZXJkZW4gaW1tZXIgc2NobGltbWVyLi4uLiAoR3JpbW1ib3JuLCAgMi4gTWFyIDE5OTUsIDIyOjEzOjQxKToKIyEgcm49QW5jYWxhZ29uIHJ0PTc5NDE3NzAyMwoKMTAgbWluLj8gRGFzIGhhYiBpY2ggbWl0IGxldmVsIDMgZ2VicmF1Y2h0IChzbyBuZSBIb3JuaXNzZSBzdGlyYnQgc2NobmVsbC4uLikKTWl0dGxlcndlaWxlIGJyYXVjaGUgaWNoIHJ1bmQgMyBTdHVuZGVuIGZ1ZXIgbWVpbmUgImtvbXBsZXR0ZSIgQXVzcnVlc3R1bmcsCmRhcyBmaW5kIGljaCBuaWNodCBrb21pc2NoLgpBYmdlc2VoZW4gZGF2b246IERhcyBpc3QgZWluZmFjaCBzY2hsZWNodGVyIFN0aWwuIFVuZCBzb3dhcyBtYWcgaWNoIG5pY2h0LApzb3dhcyBnZWhvZXJ0IGdlYWhuZGV0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIERhcyBtaXQgZGVyIFBydWVnZWxzdHJhZmUgaXN0IGd1dC4gQWJlciBTY2h3ZXJ0IG5pY2h0CnZlcmdlc3Nlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHd1bmRlcmJhciAoU2NocnVtcGZpLCAgMy4gTWFyIDE5OTUsIDAyOjEzOjA3KToKIyEgcm49UnluZSBydD03OTQxMDU3NTUKSmEga2xhciEgOi0pClNjaGVpZHVuZyBmaW5kIGljaCBndXV1dCEgOy0pCgpTY2hydW1wZmkgZGllIEJvaW5nIGZ1ZXIgZGllIFNjaGVpZHVuZyB2b24gS2VybWV0IG5vY2ggaW1tZXIgZGFua2JhciBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRUlOU1BSVUNIIChTY2hydW1wZmksICAzLiBNYXIgMTk5NSwgMDI6MzI6MzEpOgojISBybj1YYW50aGlhIHJ0PTc5NDE2NjAxNgpIYXN0IER1IGplbWFscyBnZWxlc2VuLCB3YXMgZGEgc3RlaHQgd2VubiBEdSBpbnMgU3BpZWwga29tbXN0PyBFaW4ga2xlaW5lcgpTdGVpbmJlaXNzZXIgZWN0Li4uLgpJc3QgamEgd29obCB3YXMgYW5kZXJlcyBvZGVyPyBEZXIgRWluc3BydWNoIHd1cmRlIGV4dHJhIHByb2dyYW1pZXJ0LCBuZWhtIGljaAphbiB1bmQgZGEgZ2ViIGljaCBSdWRpIHZvZWxsaWcgcmVjaHQsIGRhc3MgbWFuIGRhbm4gYXVjaCBFaW5zcHJ1Y2ggc2FnZW4gZGFyZgpvaG5lIEhhbHN3ZWggenUga3JpZWdlbiBvZGVyIGluIGRlciBHZWdlbmQgcnVtZ3RyYW5zdCB6dSB3ZXJkZW4uCgpTY2hydW1wZmkgd3VlbnNjaHQgc2ljaCBlcyBoYWV0dGUgZGFtYWxzIGJlaSBpaHIgamVtYW5kIEVpbnNwcnVjaCBnZXNhZ3QsCnZpZWxsZWljaHQgaGFldHRlIHNpZSBzaWNoIGVzIGphIGRhbm4gdWViZXJsZWd0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NoZWlkdW5nZW4gKEd3eW5kb24sICAzLiBNYXIgMTk5NSwgMDM6NTQ6MTUpOgojISBybj1Kb2YgcnQ9Nzk0MTU1OTYxCkhhbGxvIEpvZiAtIHNlaSBnZWdydWVzc3QsIG9oIEdvdHQgZGVzIE11ZHMuCgpIbW0uLi4gKmdydWViZWwqICAgWnVtIGVpbmVuIGhhYmUgaWNoIG51ciBlaW5lIEF1c3NhZ2UgdWViZXIgbWljaCBnZW1hY2h0LApuaWNodCBhbmRlcmVuIGV0YXMgdm9yc2NocmVpYmVuIHdvbGxlbi4gV2VubiBUb2FzdGJyb3QgaGV1dGUgTWFybWVsYWRlCmhlaXJhdGV0IHVuZCBuYWVjaHN0ZSBXb2NoZSBkb2NoIGxpZWJlciBCdXR0ZXIsIGRhbm4ga2FubiBpY2ggZGFzIG9rIGZpbmRlbi4uLgogICBBbHNvIGljaCBuZWhtZSB3YWhyLCBkYXNzIGVzIGVpbiBTcGllbCBpc3QsIHVuZCBhbGxlcyBhdWNoIG5pY2h0IHp1dXV1dQplcm5zdC4gQWJlciBlcyBzaW5kIE1lbnNjaGVuIGhpbnRlciBkZW4gQ2hhcmFrdGVyZW4sIHp1bSBncm9zc2VuIFRlaWwgc2VocgpuZXR0ZSwgdW5kIHp1bSBUZWlsIHNlaHIgbGllYmVuc3dlcnRlIE1lbnNjaGVuLiBVbmQgZGEgZmluZGUgaWNoIGVzICh2Z2wuIG1laW4KQXJ0aWtlbCB6dW0gS251ZGRlbG4gaW4gZC5kc2NodW5nZWwpIHp1bSBlaW5lbiBsb2dpc2NoLCBkYXNzIGljaCBkaWVzZSBuZXR0ZW4KTWVuc2NoZW4ga2VubmVubGVybmVuIG1vZWNodGUsIGF1Y2ggaW4gUkwuIHVuZCB6dW0gYW5kZXJlbiBsb2dpc2NoLCBkYXNzIGljaApkaWUgTWVuc2NoZW4gaGludGVyIGRpZXNlbiBDaGFyYWx0ZXJlbiBlcm5zdCBuZWhtZS4gTmljaHQgZGFzIFNwaWVsLi4uIGFiZXIKZGllIE1lbnNjaGVuLiBBbGxlcyBrbGFyPwoKTmljaHQgdW50ZXJ0YWVuaWcsIGFiZXIgZnJvZWhsaWNoIHdpbmtlbmQsIGdydWVzc2VuZCwKZ2V6LiBHd3luZG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZXJjaXZlcGFrZXQgKE51ZGVpLCAgMy4gTWFyIDE5OTUsIDA4OjI4OjQ2KToKR3V0ZW4gVGFnIGRlciBFaHJlbndlcnRlbiBHZXNlbGxzY2hhZnQKCkJlenVnbmVobWVuZCBhdWYgZGllIEtsYWdlIGRlcyBob2NodmVyZWhydGVuIFNub29rZXIgdm9tIDEuMy4gKDEwJykgYmV0cmVmZnMKZHJlaXN0ZXIgQW5mYWVuZ2VyIHVuZCBGcmlzY2hsaW5nZW4KZnJpc2NobGluZ2UgdW5kIGRyZWlzdGVyIEFuZmFlbmdlcjoKSGllciBtZWluZSBvZmZpemllbGxlIEVudHNjaHVsZGlndW5nLiBJY2ggZ2ViZSB6dSwgaWNoIHdhcnMuCkhpbnRlcmhlciB0dXQgZXMgbWlyIGxlaWQsIGFiZXIgenUgbWVpbmVyIFZlcnRlaWRpZ3VuZzogZXMgd2FyIGtlaW5lIGJvZXNlCkFic2ljW0MKQWJzaWNodCwgZWhybGljaC4KTmFjaCBkZW0gbGV0enRlbiBTeXN0ZW1jcmFzaCBrb21tZSBpY2ggb2huZSBtZWluZSBzcHJhZWxpY2hlIEF1c3J1ZXN0dW5nIHp1Cm1pciwgYmluIGdhZW56dQptaXIsIGJpbiB2b2VsbGlnIGhpbGZsb3MgdW5kIHN0cmV1bmUgZHVyY2ggZGllIEdlZ2VuZC4gRGEgbGllZ2VuIHBsb2V0bGljaAp2b3IKbWlyIGRpZSBoZXJybGljaHN0ZW4gRGluZ2UgaGVydW0uIEljaCBkYWNodGUsIGRpZSBoYXQgd2VyCnZlcmxvcmVuLXZlcmdlc3Nlbi12ZXJzY2hhY2gtCm9kZXIgc29uc3R2ZXJ3YXNzdC4gRGEgaGFiZSBpY2ggbWlyIGRhcyBuZXR0ZXN0ZSBnZWtyYWxsdCwgenVmYWVsbGlnIGhhbHQKU25vby0Ka2VycyBCb3dsaW5na3VnZWxuLiBVbmQgZWluZW4gVGVpbCBzZWluZXIgR29sZHZvcnJhZXRlLiBFaW5lbiBUZWlsIQpEYSBrb21tdCBwbG9ldHpsaWNoIGVpbiBLbGVpZGVyc2NocmFuayB1bmQgZ3J1bnp0OiBBbGxlcyBNZWluISBIZXJnZWJiZW4hClRqYSwgbWl0IGRlbiBLdWdlbG4gaGFiIGljaCBzb3dpZXNvIG5pY2h0IGdld3Vzc3QsIHdhcyBhbmZhbmdlbi4gQWJlciBlaW4Ka2xlaW5lcyBTdGFydGthcGl0YWwga2FubiBqZWRlciBicmF1Y2hlbgpWaWVsbGVpY2h0IGthbm4gaWNoIGRlbiBTY2hhZGVuIHdpZWRlcmd1dCBtYWNoZW4uIEFiZXIgaWNoIGdsYXViZSBuaWNodCwgZGFzcwpTbm9va2VyIGVpbiBzbyBrbGVpbmVzIFRhc2NoZW5nZWxkIHVlYmVyaGF1cHQgbm8tCmdlbG4gbm90d2VuZGlnIGhhdC4KClNvdmllbCB6dSBtZWluZXIgcmVjaHRmZXJ0aWd1bmcsIHdhcyBhdWYgZGVtIEJvZGVuIGxpZWd0LCBnZWhvZXJ0IGFsbGVuIG1pdApnbGVpY2hlbSByZWNodC4gV2VyIHp1ZXJzdCBrb21tdCwgKHVuZCBub2NoIGR1dHplbmRlIGRhZW1saWMsCndlciB6dWVyc3Qga29tbXQsIGV0Yy4gZXRjLiBldGMuCkRhcyBuYWVjaHN0ZSBtYWwgZnJhZ2UgaWNoIHZvcmhlciwgdmVyc3Byb2NoZW4uCgpXZWl0ZXJzIG5vY2ggdmllbGVuIERhbmsgYW4gVHlyb25lLSBtb2VnZSBkaWUgc29ubmUgZGVzIGdsdWVja3MgdWViZXIgaWhtIHN0cgpzdHJhaGxlbiB1bmQgZXIgdmllbGUga2luZGVyIGJla29tbWVuCgpTJ2FzCk51ZGVpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZXJ2aWNlcGFrZXQgKE51ZGVpLCAgMy4gTWFyIDE5OTUsIDA5OjIwOjUxKToKbmFjaHRyYWcgenVyIGRpc2t1c3Npb24gIndhcyBkYXJmIGRlciBmcmlzY2hsaW5nLCB3YXMgbmljaHQiCkluIG1laW5lciB6d2VpdGVuIHNpdHp1bmcga2FubiBrZWluZXIgdm9uIG1pciB2ZXJsYW5nZW4sIGRhc3MgaWNoIG1pY2gKYXVza2VubmUtIHZvbiB3ZWdlbgp2b24gd2VnZW4gcnVmIGV0Yy4sIHdlbSBkYXMgemV1Z3MgZ2Vob2VyZW4ga29lbm50ZS4KQWxzbywgZXMgd2lyZCBuaWNodCBtZWhyIHZvcmtvbW1lbiEKVW5kIHp1IGRlbiBTdHJhZnZvcnNjaGxhZWdlbjoKClBydWVnZWwgbWFjaGVuIGZyaXNjaCB1bmQga3JlZ2VsCnVuZCBlcndlaXNlbiBzaWNoIHByb2JhdCBnYW56IGJlc29uZGVycyB2b3IgZGVyIFRhdCEKICAgIChXLkJ1c2NoKQoKUydhcwpOdWRlaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluc3BydWNoLi4uICpnYWVobiogKEJlbGRpbiwgIDMuIE1hciAxOTk1LCAxMzoxMTo0MSk6CkhpIExldXRlCldvIHNpY2ggYWxsZSBzbyBzZWhyIHVlYmVyIGRlbiAiRWluc3BydWNoIiBhdWZyZWdlbjoKU2NoYWZmdCBpaG4gZG9jaCBpbSBadWdlIGRlciBuZXVlbiBFaGVyZWZvcm0gZWluZmFjaCBhYiEKSXN0IGRvY2ggZWggdW5zaW5uaWcgLSBkZW5uIHdlciBzaWNoIGlucyBVbmdsdWVjayBzdHVlcnplbiB3aWxsIGRlciBzb2xsIGF1Y2gKOikKCkNpYW8gLSBCZWxkaW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBtYW4gaW4gZGllIEFuZmFlbmdlciBoaW5laW5ydWZ0Li4uIChGbGludG5haWwsICAzLiBNYXIgMTk5NSwgMTU6Mjg6MzEpOgpUamFqYS4uLmRpZSBib2VzZW4gYm9lc2VuIEFuZmFlbmdlci4uLi4uCgpWaWVsbGVpY2h0IHNvbGx0ZW4gd2lyIEhMUCdzIGRlbmVuIGVpbmZhY2ggbWFsIG1laHIgc2FnZW4uLi4/Cldlbm4gZGllIG5vcm1hbGUgSGlsZmUgbmljaHQgcmVpY2h0LCBkYW5uIHNvbGx0ZW4gd2lyIGRhcyBoYWx0IG1hbAplcmxlZGlnZW46KQoKLi4uYWJlciBudXIgd2VubiBaZWl0IGRhIGlzdDopCgogLi4uZGllIGhhYiBpY2ggamV0enQgbmFlaG1saWNoIGF1Y2ggbmljaHQgbWVoci4uCgoKIC4uLnNvIGxvbmc6KQoKICAgICBGbGludG5haWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJvYmUgZGVzIGdlbGJlbiBLb2VuaWdzIChMaSwgIDMuIE1hciAxOTk1LCAxOToyOTo0Myk6CgpXaWUgZWluaWdlIHNpY2hlciBnZW1lcmt0IGhhYmVuLCBoYXQgZGllIFJvYmUgZWluaWdlIG1lcmt3dWVyZGlnZQpOZWJlbmVyc2NoZWludW5nZW4sIGRpZSBpbW1lciBkYW5uIGF1ZnRyZXRlbiwgd2VubiBtYW4gc2llIGFuemllaHQuCkF1ZiB6aWVoZSBhbGxlcyBhbiwgd2FlaHJlbmQgbWFuIGVpbmUgYW5kZXJlIFJ1ZXN0dW5nIGRhbWl0IGFuemllaHQgcmVhZ2llcnQKc2llIG51biBuaWNodCBtZWhyLgpTcGlsZXIgd2VyZGVuIE5JQ0hUIGFuZ2VncmlmZmVuLiBEaWUgR2VzY2hpY2h0ZSBtaXQgZGVtIFdlcndvbGYgdHV0IG1pcgpsZWlkZXIsIGFiZXIgbGVpZGVyIGlzdCBlcyBoYWx0IG9mdCBzbywgZGFzcyBtYW4gbmljaHQgYWxsZXMgZWlua2Fsa3VsaWVyZW4Ka2Fubi4gRGVyIFdhaG4gcmVhZ2llcnQgYXVmIE5QQ3MuIERhaGVyIG1laW4gUmF0OiBSb2JlIHVuZCBXZXJ3b2xmIHZlcnRyYWdlbgpzaWNoIG5pY2h0LCBkYWhlciBhdWYgZWlucyB2ZXJ6aWNodGVuLgoKTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSb2JlIGRlcyBnZWxiZW4gS29lbmlncyAoQXNtb2RpcywgIDMuIE1hciAxOTk1LCAyMDoxNjozNik6CiMhIHJuPUxpIHJ0PTc5NDI1NTM4MwpIbW0sIGJla29tbSBpY2ggdHJvdHpkZW0gbWVpbmUgdmVybG9yZW5lbiBFcHMgd2llZGVyID8KSW1tZXJoaW4gYmluIGljaCBPcGZlciBkZXMgYWx0ZW4gJ3ppZWhlIGFsbGVzIGFuJyBnZXdvcmRlbiAhIQoKICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzZXJjaXZlcGFrZXQgKFNub29rZXIsICAzLiBNYXIgMTk5NSwgMjI6NTM6NTkpOgojISBybj1OdWRlaSBydD03OTQyMTU3MjYKTm9lLCBkYXMgIlRhc2NoZW5nZWxkIiBoYWIgaWNoIG5pY2h0IG5vZXRpZyA6KSwgZXMgd2FyIG51ciBkaWUgQXJ0IHVuZCBXZWlzZSwKd2llIER1IGVzIG1pdCBhYmdla25vZXBmdCBoYXN0LCBOdWRlaS4gV2VubiBEdSBtaWNoIGVpbmZhY2ggZGFuYWNoIGdlZnJhZ3QKaGFldHRlc3QsIGhhZXR0IGljaCBEaXIgc2ljaGVyIHdhcyBnZWdlYmVuLgpTbywgZGEgd2lyIG51biBiZWlkZSBzY2hsYXVlciBzaW5kLCBrb2VubmVuIHdpciBkZW4gVmVyYmFsc2NobGFnYWJ0YXVzY2ggamEKYmVlbmRlbi4gOi0pClNub29rZXIsIG5pY2h0IG5hY2h0cmFnZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY2hlaWR1bmdlbiAoVmFzY28sICA0LiBNYXIgMTk5NSwgMDA6NDQ6MzQpOgojISBybj1Kb2YgcnQ9Nzk0MTU1OTYxCldJRSBCSVRURT8gRUhFTiBaV0lTQ0hFTiBTUElFTEVSTiBVTkQgTUFHSUVSTiBTSU5EIE5JQ0hUIEVSV1VFTlNDSFQ/CkRBUyBGSU5EIElDSCBTVVBFUkJMT0VEIQpHcnVlc3NlLCBWYXNjby4uLgpQUzogbm9ybWFsZXJ3ZWlzZSB3dWVyZCBpY2ggZGFzIGJlZ3J1ZW5kZW4sIGJpbiBpbSBtb21lbnQgbGVpZGVyIG5pY2h0IGZpdCBpbQp0aXBwZW4uLi4gOigoKCBtZWluZSBoYW5kIGlzIGthcHV0dC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbyB0ZW1wb3JhLCBvIG1vcmVzIC8gdGVpbCAzIChSeW5lLCAgNC4gTWFyIDE5OTUsIDEzOjA3OjEwKToKSGkgbGV1dGUgIQoKRGEgamEgbWVocmVyZSBBcnRpa2VsIGluIGxldHp0ZXIgWmVpdCBtaXQgZGVtIFp1c2F0eiBvIHRlbXBvcmEsIG8gbW9yZXMKZW5kZXRlbiwgaGllciBhdWNoIG1laW4gQmVpdHJhZyBkYXp1OgoKQXVmbWVya3NhbWUgQmVvYmFjaHRlciBkZXIgTWV0emVsZ2VnZW5kZW4ga29ubnRlbiBpbiBsZXR6dGVyIFplaXQgaW1tZXIKaGFldWZpZ2VyIGJlb2JhY2h0ZW4sIGRhc3MgaW1tZXIgbWVociBTZWhlciBiZWkgZGVuIEludGVyZXNzYW50ZW4gTW9uc3Rlcm4KaWhyZSBad2VpdGllcyBpZGVsbiBsYXNzZW4sIHVtIGRpZXNlIE1vbnN0ZXIgc29mb3J0IHp1IGVyd2lzY2hlbiwgd2VubiBzaWUKZ2VyZXNzZXR0ZWQgc2luZC4gRXJnZWJuaXM6IFdlciB3aWUgaWNoIGF1ZiA+cmVkbGljaGUoPykgOyk8IFdlaXNlIHZlcnN1Y2h0LApkaWVzZXMgTW9uc3RlciB6dSBlcndpc2NoZW4sIG11c3Mgc2Nob24gemllbWxpY2hlcyBHbHVlY2sgaGFiZW4gLSBhYmVyIG5vcm1hbAprbGFwcHQgZXMgbmljaHQsIGRlbm4gaWNoIGthbm4gbmljaHQgYWxsZSAyIE1pbnV0ZW4gaW4gYWxsZW4gbW9lZ2xpY2hlbgpHZWdlbmRlbiBydW1zY2hhdWVuLCBvYiBlaW4gYmVzdGltbXRlcyBNb25zdGVyIGdlcmVzc2V0ZWQgaXN0LgoKU28sIG1laW4gS29tbWVudGFyOiBLbGFyLCBpY2ggaGFiZSBhdWNoIFp3ZWl0aWVzLCB1bmQgbWFuY2htYWwgc3BpZWxlIGljaAphdWNoIG1pdCBkZW5lbiB3aWUgbWl0IGVpbmVtID5lcnN0aWU8LiBBYmVyIFdFTk4gaWNoIGRhcyB0dWUsIGRhbm4gaXN0IFJ5bmUKbWVpc3RlbnMgZ2FyIG5pY2h0IGVpbmdlbG9nZ3QsIG9kZXIgbGFiZXJ0IGdlcmFkZSBpcmdlbmR3by4gSmVkZXIgaXN0CmhlcnpsaWNoIGVpbmdlbGFkZW4gbWVpbmVuIFp3ZWl0aWUgVG9zcyBtaXQgZGVyIFNlaGVya3VnZWwgenUgZmluZGVuLCB1bmQgenUKc2VoZW4sIGRhc3MgZXIgc3R1bmRlbmxhbmcgYW4gZGVtc2VsYmVuIE9ydCBzdGVodCwgYWxzbyBuaXggbWFjaHQuIERpZXNlcwphb3JhbGxlbGUgc3BpZWxlbiBtaXQgbWVocmVyZW4gendlaXRpZXMgZmluZGUgaWNoIG5hZW1saWNoIGhvY2dyYWRpZyBhc296aWFsLgpJY2gga2FubiBtaXIgendhciBvaG5lIHdlaXRlcmVzIGF1Y2ggNSB6d2VpdGllcyBhdWZiYXVlbiwgZGllIHNjaG9lbiBzdGFyawpzaW5kLCBhbiBhbGxlbiBTdGVsbGVuIGltIE11ZCBpZGVsbiBsYXNzZW4sIHVtIHVlYmVyYWxsIGRlciBlcnN0ZSB6dSBzZWluLgpBYmVyIGRpZSBTdGltbXVuZyBtZWluZXIgTWl0c3BpZWxlciB3aXJkIGRhcyBuaWNodCB2ZXJiZXNzZXJuLgoKS2xlaW5lcyBCZWlzcGllbCBudXI6IFNlaXQgZGVtIGxldHp0ZW4gcmVib290ICg0IFRhZ2UgaGVyLCB1bmQgZGFzIGljaCB2aWVsCmRyaW4gd2FyIGluIGRlciB6ZWl0LCB3ZWlzcyBqZWRlciwgdW5kIGljaCB3YXIgc29nYXIgbWVpc3RlbnMgaW4gZGVyIFNTUCkgYmluCmljaCBub2NoIG5pY2h0IEVJTiBFSU5aSUdFUyBtYWwgenVtIEtsaXR6ZWxkcm9tIGdlbGFuZ3QsIHdlaWwgZGEgcGVybWFuZW50CmVpbiBad2VpdGllIGF1cyBCb2NodW0gZ2VpZGVsdCBoYXQsIGRlciBzY2hsaWNodCBhbGxlIFJpbmdlIGFiZ2VmYW5nZW4gaGF0LgoKTmljaHQgYW5nZXNwcm9jaGVuIGZ1ZWhsZW4gc29sbHRlIHNpY2ggaGllciBBc21vZGlzLCBkZXIgendhciBtZWlzdGVucyBtaXQKbWVocmVyZW4gbGV1dGVuIHJ1bWxhZXVmdCwgYWJlciBkaWVzZSBlYmVuIG5pY2h0IGFuIHZlcnNjaGllZGVuZW4gU3RlbGxlbiBhdWYKTW9uc3RlciB3YXJ0ZW4gbGFlc3N0LCBzb25kZXJuIGFsbGUgYW4gZWluZW0gT3J0IHp1c2FtbWVuIG1ldHplbG4gbGFlc3N0LiBJY2gKbWFnIGRpZXNlIFNwaWVsd2Vpc2UgbmljaHQgc28gc2Vociwgd2VpbCBtYW4gamEgZ2VuYXVzb2d1dCBtaXQgYW5kZXJlbgpTcGllbGVybiB6dXNhbW1lbiBtZXR6ZWxuIGtvZW5udGUsIGltbWVyaGluIHNpbmQgd2lyIGVpbiBNVUQsIGFiZXIgd2VuaWdzdGVucwpzY2hhZGV0IEFzbW9kaXMgbmljaHQgYW5kZXJlbiBTcGllbGVybi4KCkRpZWplbmlnZW4gYWJlciwgZGllIGlocmUgWndlaXRpZXMgenVtIEFiZmFuZ2VuIGRlciBpbnRlcmVzc2FudGVuIE1vbnN0ZXIKbmVobWVuLCBzb2xsdGVuIHNpY2ggd2lya2xpY2ggbWFsIHVlYmVybGVnZW4sIGRhc3MgaWhyIFZlcmhhbHRlbiBleHRyZW0KYXNvemlhbCBpc3QsIHVuZCBkaWVzZXMgZWluc3RlbGxlbi4KCkljaCBmdWVyIG1laW5lbiBUZWlsIHdlcmRlIGluIFp1a3VuZnQgYXVjaCBhc296aWFsIHdlcmRlbiwgZGVubiB3ZW5uIGljaApTcGllbGVyIGJlb2JhY2h0ZSwgZGllIHBlcm1hbmVudCBaZWl0aWVzIGJlaSBiZXN0aW1tdGVuIE1vbnN0ZXJuIGFic3RlbGxlbiwKdW0gZGllc2UgYWJ6dWZhbmdlbiwgd2VyZGUgaWNoIG1pY2ggZG9ydCBoaW5zdGVsbGVuIHVuZCBkaWUgQmVsb2hudW5nIHZvbQpNb25zdGVyIGVpbnNhY2tlbiwgd2VubiBlcyB0b3QgdW1mYWVsbHQuIERhbm4ga29lbm50IGlociBFdWNoIGphIGJlaSBkZW4gTWFncwpiZXNjaHdlcmVuLgoKQSBwcm9wb3MgTWFnczogVmllbGxlaWNodCBzb2xsdGVuIGRpZSBoaWVyIGFuZ2VzcHJvY2hlbmVuIFNwaWVsZXIgbWFsCmRhcnVlYmVyIG5hY2hkZW5rZW4sIGRhcyBkaWUgTWFnaWVyIHNvd2llc28gbmljaHQgc28gd2FobnNpbm5pZyBiZWdlaXN0ZXJ0CnVlYmVyIGRpZSBad2VpdGllcyBzaW5kLiBXZW5uIHp1a3VlbmZ0aWcgZXJuc3RlIFByb2JsZW1lIHVudGVyIGRlbiBTcGllbGVybgphdWZ0YXVjaGVuLCB3ZWlsIFp3ZWl0aWVzIHp1ID56d2VpdC1FcnN0aWVzPCBnZW1hY2h0IHdlcmRlbiwgd2lyZCBkYSBtaXQKU2ljaGVyaGVpdCBlaW5lIFJlZ2xlbWVudGllcnVuZyBrb21tZW4uCgpFaW4gYXVmIGRpdmVyc2UgTGV1dGUgaGllciBleHRyZW0gc2NobGVjaHQgenUgc3ByZWNoZW5kZXIKClJ5bmUKClAuUy4gRGllIEtyb2VudW5nOiBXZW5uIG1hbiBMZXV0ZSBhbnNwcmljaHQsIG9iIG1hbiBkZW4gYXVjaCBtYWwgZGllc2VzIG9kZXIKamVuZXMgTW9uc3RlciB0b2V0ZW4gZHVlcmZlLCBuYWNoZGVtIGVyIGRvcnQgZGllIGxldHp0ZW4gMiBXb2NoZW4gYWxsZXMKYWJnZWZhbmdlbiBoYXQsIGtyaWVndCBtYW4genUgaG9lcmVuOiBXaWVzbyBiZXNjaHdlcnN0IER1IERpY2gsIER1IGhhZXR0ZXN0CmphIG1hbCBkYXJ1bSBCaXR0ZW4ga29lbm5lbiwgd2VubiBEdSBhdWNoIG1hbCBkcmFuIHdpbGxzdCA/IQpEYXp1IGxpZWJlciBrZWluIEtvbW1lbnRhciwgc29uc3QgcGxhdHplIGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRUlOU1BSVUNIIChCb2luZywgIDUuIE1hciAxOTk1LCAxOToxMTo0OSk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk0MTY2MDE2CkVzIGlzdCBhdWNoIGltIGVjaHRlbiBMZWJlbiBtb2VnbGljaCBqZW1hbmRlbiB1bXp1YnJpbmdlbiwgYWJlciBub2NoCmxhbmdlIG5pY2h0IGVybGF1YnQgLi4uIG1hbiBzb2xsdGUgaGFsdCBzb3dhcyB3aWUgTWVuc2NoZW52ZXJzdGFuZCBiZW51dHplbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBRdWVzdCBpbSBEc2NodW5nZWwgKEJlcnRyYW0sICA2LiBNYXIgMTk5NSwgMTc6MDI6MzApOgoKRmluZGlnZSBBYmVudGV1cmVyIGhhYmVuIHNlbHRzYW1lIEFrdGl2aXRhZXRlbiBpbSBEc2NodW5nZWwgYXVzZ2VtYWNodC4gCk1hbiBiZXJpY2h0ZXQgdm9uIGVpbmVyIGF1ZmdlcmVndGVuIFJvbWlsaSB1bmQgZWluZW0gZmx1Y2hlbmRlbiBCZXJ0cmFtLiAKQWNoIGphLCB1bmQgaXJnZW5kd2VsY2hlIHNlbHRzYW1lbiBHZXN0YWx0ZW4sIGRpZSBtaXQgc2Nod2VyZW4gV2FmZmVuIGRhIApydW1yZW5uZW4gc2luZCBhdWNoIG5vY2ggZ2VzZWhlbiB3b3JkZW4uCgoJVmllbCBTcGFzcyBiZWltIFN1Y2hlbiB3dWVuc2NodAoKCQlCZXJ0cmFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2FzIGFuZGVyZXMgLi4uIChHYXN0MSwgIDYuIE1hciAxOTk1LCAxODozNToyNik6Ck1hbCB3YXMgYW5kZXJlcyAuLi4KCkhpICEKCkhhc3QgRHUgbHVzdCB6dW0gU2tpZmFocmVuID8KCldpciBmYWhyZW4gdm9tIDExLjMuIGJpcyAxOC4zLiAobmFlY2hzdGUgd29jaGUgISkgaW4gZGllIFNjaHdlaXosIGluIGRpZQpTa2lyZWdpb24gVmlsbGFycy1Hcnlvbi4KRG9ydCBoYXRzIG1vbWVudGFuIHZpZWwgU2NobmVlIChjYS4gMTAwIGNtIGltIFRhbCB1bmQgdWViZXIgMzAwIGNtIGF1ZiBkZW0KR2lwZmVsKSB1bmQgd2lyIHdvaG5lbiAyMDAgbSB2b20gTGlmdCBlbnRmZXJudC4KTnVuIHNpbmQgdW5lcndhcnRldGVyd2Vpc2Ugbm9jaCBQbGFldHplIGZyZWkgZ2V3b3JkZW4gdW5kIHdpciB3dWVyZGVuIGdlcm5lCnZvbiBoaWVyIGplbWFuZGVuIG1pdG5laG1lbi4KV2VyIG1laHIgZXJmYWhyZW4gbW9lY2h0ZSBvZGVyIHNvZ2FyIGpldHp0IHNjaG9uIHdlaXNzLCBkYXNzIGVyIG1pdGtvbW1lbgp3aWxsIHNvbGwgc2ljaCBlaW5mYWNoIHNjaG5lbGwgYmVpIG1pciBpbSBUVUJNVUQgKEFseSkgbWVsZGVuLCBvZGVyIG1pY2gKWnVoYXVzZSBhbnJ1ZmVuIChUZWwuOiAwNTQxLzQ5NjIzKS4KCglCeWUsIEFseS4KClBTOiBWb20gVFVCTVVEIGZhaHJlbiB1ZWJyaWdlbnMgbm9jaCBZcGV5IHVuZCBTb3Jkb2wgbWl0ICEgKGFjaCBqYTogRGllCkh1ZXR0ZSBrb3N0ZXQgcC5QLiBjYS4gMjAwLC0gRE0gaW5rbC4gTksuIGZ1ZXIgZGllIFdvY2hlKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1vbnN0ZXJuYW1lbiAoUmF5LCAgNy4gTWFyIDE5OTUsIDE5OjMxOjI4KToKaWNoIGZpbmRlIGRhcyB6aWVtbGljaCBkYWVtbGljaCwgd2VubiBzaWNoIGltbWVyIHdpZWRlciBzcGllbGVyIG1pdAptb25zdGVybmFtZW4gZWlubG9nZ2VuLiBnZXN0ZXJuIHJlbm50IGVpbiBraWxsZXJwb3BlbCBkdXJjaHMgTUcgdW5kIGhldXRlCnN0ZWh0IFNlbnNlbm1hbm4gKGhvZmZudW5nc3ZvbGxlciBBbmZhZW5nZXIpIGJlaW0gc2Vuc2VubWFubi4gbWFuIHNvbGx0ZQplbnR3ZWRlciBlbmRsaWNoIG1hbCBhbGxlIG1vbnN0ZXJuYW1lbiBiYW5pc2hlbiBvZGVyIHNpZSB6dW0gUEsgZnJlaWdlYmVuCgogIHJheSwgZGVyIHNpY2ggZmFzdCBlaW4gUEsgZWluZ2VoYW5kZWx0IGhhdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JpbW1ib3JuLCAgMi4gTWFyIDE5OTUsIDIyOjEzOjQxIChUb2FzdGJyb3QsICA3LiBNYXIgMTk5NSwgMjE6MTU6MjkpOgpBbHNvIEdyaW1tYm9ybiB3ZW5uIGR1IGdyYWQgbWFsIDMgc3R1bmRlbiBmdWVyIGVpbmUgS09NUExFVFRFIEF1c3J1ZXN0dW5nCmJyYXVjaHN0LHd1ZXJkZSBpY2gKbWljaCBuaWNodCBtZWhyIGJlc2Nod2VyZW4uSWNoIHNpdHogZGEgbWluZGVzdGVucyAgLi4uIHdlbm4gbmljaHQgbm9jaApsYWVuZ2VyIGRyYW5uLkxlaWRlciBrb21tZSBpY2ggbmllIGluIGRlbiBnZW51c3MuRGVubiBzb2JhbGQgaWNoIGVpbmUgV2FmZmUKaGFiLGV2ZW50dWVsbCBub2NoIG5lbiBIZWxtIHNjaHd1cHMgUmVlYm9vdC5BdXNydWVzdHVuZyB3ZWcgVG9sbC5BbHNvIG5ldWUKV2FmZSBrYXVmZW4uLi5HZWxkIHdlZy4KSmEgdW5kIGRhbm4/VG9sbCBxdWVzdGUgbmV1IGFuZmFuZ2VuIG9kZXIgbmV1ZSBBdXNydWVzdHVuZy4uLi4gSmEgc28gZ2VodHMKbWlyLihEYXMgaXN0IGpldHp0CndlZGVyIGVpbiBHZW1lY2tlciB1ZWJlciBBYnN0dWVyemUgbm9jaCB1ZWJlciBpcmdlbmR3ZWxjaGUgbmljaHQgdm9yaGFuZGVuZW4KVmVyZGllbnN0bW9lZ2xpY2hrZWl0ZW4uSWNoIHdvbGx0ZSBudXIgbWFsIHNhZ2VuIGRhcyAzIFN0dW5kZW4gbnVuIHdpcmtsaWNoCmtlaW5lIFplaXQgZnVlciBlaW5lIGtvbXBsZXR0ZSBBdXNydWVzdHVuZyBzaW5kLgoKQWxsZXJkaW5ncyBtdXNzIGljaCBzYWdlbiBkYXMgbWFubiBvZmZlbnNpY2h0bGljaGUgRnJlbWQtQXVzcnVlc3R1bmcgTklDSFQKbWl0bmVobWVuIHNvbGx0ZS4KKE8uSy4gSXN0IG1pciBhdWNoIHNjaG9uIHBhc3NpZXJ0LGFiZXIgaWNoIHdhciBkYW5uIGF1Y2ggc28gZmFpciBzaWUgd2llZGVyCnp1cnVlY2t6dWdlYmVuLi4uQWVoIGVpbm1hbCB3YXJzIGV0d2FzIHdlbmlnZXIuU29ycnkuKQoKU29ycmkgZnVlciBkYXMgS2FPc1MgbWl0IGRlbSBlZGl0b3IuQWJlciBpY2gga29tbSBpcmdlbmR3aWUgbm9jaCBuaWNodCBzbyBtaXQKaWhtIHp1cmVjaHQuCkJpcyBkZW5uZSAgICBUb2FzdGkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXp1ZzpTY2hlaWR1bmdlbiAoR3d5bmRvbiwgIDMuIE1hciAxOTk1LCAwMzo1NDoxNSkgKFRvYXN0YnJvdCwgIDcuIE1hciAxOTk1LCAyMToxODowOSk6CkFsc28gbm9jaCB3YXMgLgpJY2ggd2lsbCBuaWNodCBCdXR0ZXIgSGVpcmF0ZW4gc29uZGVybiBpY2ggdW5kIE1hcm1lbGFkZSB3b2xsZW4gQnV0dGVyCmFkb3B0aWVyZW4uCkRhcyBtdXNzdGUgbWFsIGdlc2FndCB3ZXJkZW4uClRvYXN0aS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlYm9vdCAoQmFyb24sICA4LiBNYXIgMTk5NSwgMTM6MTE6MzkpOgpKYWphIGlociB2ZXJhbnR3b3J0bGljaGVuIE1hZ2llciwgbWlyIGlzdCBrbGFyIGRhcyBkYXMgTW9yZ2VuZ3JhdWVuIHJlY2h0CnN0YWJpbCBsYWV1ZnQgdW5kIHdpciBTcGllbGVyIHNjaHJlY2tsaWNoIHZlcndvZWhudCB2b24gZGVuIGxhbmdlbiBMYXVmemVpdGVuCm9obmUgUmVib290IChiencuIENyYXNoKSBzaW5kIDopLiBTdGltbXQgamEgYXVjaCBvZnQhIE1pciBpc3QgZXMgamVkb2NoIGpldHp0CmVpbmlnZSBtYWxlIHBhc3NpZXJ0IGRhcyBpY2ggZWluIEF1c3J1ZXN0dW5nIHp1c2FtbWVuZ2VoYWNrdGUsIGRhYmVpIGdldGFua3QKaGFiIGJpcyBpY2ggdm9sbCB3YXIgd2llbiBTY2h3YW1tIDopdW5kIG1pY2ggZGFubiBzY2hsYWZlbiBsZWd0ZS4gQW0gbmFlY2hzdGVuClRhZyBkaWUgRmVzdHN0ZWxsdW5nOiBOYWVjaHN0ZXIgUmVib290IDooLiBOYWphLCBrZWluIHByb2JsZW0sIGF1ZiBpbnMKR29ibGFnZXIgdW0gbmV1ZSBBdXNydWVzdHVuZyB6dSBiZXNvcmdlbj8gREVOS1NURSEhIQpJY2ggd2FyIGltbWVyIG5vY2ggdm9sbCB3aWVuIFNjaHdhbW0uIEljaCBmaW5kZSBkYXMgYmVpIFJlYm9vdHMgYXVjaCBkZXIKVHJ1bmtlbmhlaXRzZ3JhZCBkZXIgU3BpZWxlciBhdWYgbnVsbCBnZXNldHp0IHdlcmRlbiBzb2xsdGUgdW5kIGRpZSBMUCB1bmQgTVAKYXVmIGRhcyBNYXhpbXVtIGdlc2V0enQgZ2Vob2VyZW4hClJlZCBCYXJvbiAodm9sbCB3aWVuIEVpbWVyISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZWJvb3QgKEhpZ2hsYW5kZXIsICA4LiBNYXIgMTk5NSwgMTM6NDY6MjkpOgojISBybj1CYXJvbiBydD03OTQ2NjQ2OTkKRGFzIGZpbmRlIGljaCBhYmVyIHVuZmFpciwgd2VpbCBkYW5uIGRpZSBncm9zc2VuIFNlaGVyIGRlbiBWb3J0ZWlsCmhhYmVuLCBkYXNzIHNpZSBtaXQgdmllbCBtZWhyIEhQIGFuZmFuZ2VuLgpFcyB3YWVyZSBkb2NoIHZpZWwgYXVzZ2VnbGljaGVuZXIsIHdlbm4gYWxsZSBiZWkgMCBIUCBhbmZhbmdlbgp3dWVyZGVuIChuZWluLCBtaXQgMCBpc3QgbWFuIG5vY2ggbmljaHQgdG90KS4KRGFubiBtdWVzc3RlbiBhbGxlIGVyc3QgbWFsIGhlaWxlbi4KTmljaHQgd2Focj8gOj4KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmltbWJvcm4sICAyLiBNYXIgMTk5NSwgMjI6MTM6NDEgKEdyaW1tYm9ybiwgIDguIE1hciAxOTk1LCAxMzo1NDo0MSk6CiMhIHJuPVRvYXN0YnJvdCBydD03OTQ2MDczMjkKTmEgZ3V0LCBhdXNuYWhtc3dlaXNlIHJlYWdpZXJlIGljaCBhdWYgZWluIExlYmVuc21pdHRlbC4uLgpXZW5uIER1IGxhZW5nZXIgYWxzIDMgU3R1bmRlbiBmdWVyIGVpbmUga29tcGxldHRlIEF1c3J1ZXN0dW5nIGJyYXVjaHN0LAptYWNoc3QgRHUgd2FzIGZhbHNjaC4gT2RlciB3aXIgcmVkZW4gdm9uIHZlcnNjaGllZGVuZW4gRGluZ2VuLiBJY2ggbWVpbmUgbWl0CmtvbXBsZXR0ZSBBdXNydWVzdHVuZyBkaWUsIGRpZSBpY2ggbWlyIG1pdCBtZWluZW4gRmFlaGlna2VpdGVuIG1heGltYWwgaG9sZW4Ka2Fubi4gQWxsZWluZS4KTWljaCB3dWVyZCB3aXJrbGljaCBpbnRlcmVzc2llcmVuLCB3aWUgRFUgbGFlbmdlciBicmF1Y2hzdCwgc28gdmllbGUgTW9uc3RlcgprYW5uc3QgRHUgZG9jaCBzaWNoZXIgbm9jaCBnYXIgbmljaHQgZXJsZWdlbiBkYXNzIERVIGxhZW5nZXIgYnJhdWNoZW4Ka2FubnN0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtb25zdGVybmFtZW4gKEdyaW1tYm9ybiwgIDguIE1hciAxOTk1LCAxMzo1Njo0NCk6CiMhIHJuPVJheSBydD03OTQ2MDEwODgKSG1tLCBrZW5uc3QgRHUgZGllIEJlZmVobGUgJ3RvZXRlIG1hbm4nIGJlaSBTZW5zaSwgJ3RvZXRlIHBvcGVsJyBiZWltCktpbGxlcnBvcGVsIHVuZCBzb3dpZXNvICd0b2V0ZSBhbGxlJz8KQWxzbywgaWNoIHZlcnN0ZWhlIERlaW4gUHJvYmxlbSBuaWNodC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgpORUlOLCAndG9ldGUgYWxsZScgcmVhZ2llcnQgTklDSFQgYXVmIFNwaWVsZXIhIChiZXZvciBoaWVyIHdpZWRlciBQcm90ZXN0ZQprb21tZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyaW1tYm9ybiwgIDIuIE1hciAxOTk1LCAyMjoxMzo0MSAoR3JpbW1ib3JuLCAgOC4gTWFyIDE5OTUsIDE0OjAxOjExKToKIyEgcm49R3JpbW1ib3JuIHJ0PTc5NDY2NzI4MQoKSG1tLCBiZXZvciBkaWUgIkRVJ3MiIGJvZXNlcyBCbHV0IHdlY2tlbjogTWVpbmUgc2hpZnR0YXN0ZSBIYWVuZ3QgKG9kZXIgd2FycwptZWluIEZpbmdlcj8pLCBkaWUgc29sbHRlbiBrbGVpbiBnZXNjaHJpZWJlbiBzZWluLi4uIDstKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyaW1tYm9ybiwgIDIuIE1hciAxOTk1LCAyMjoxMzo0MSAoRmVsYWd1bmQsICA4LiBNYXIgMTk5NSwgMTQ6MjI6MzApOgojISBybj1HcmltbWJvcm4gcnQ9Nzk0NjY3MjgxCkFsc28gR3JpbW1pLCB3YXMgdmVyc3RlaHN0IGR1IGRlbm4gdW50ZXIga29tcGxldHRlIEF1c3J1ZXN0dW5nPyBTaW5kIGRhCkZsYW1ta3VnZWxuIHVuZCBTYWV1cmViYWVsbGUgbWl0IGRyaW4/IEFuc29uc3RlbiB2ZXJzdGVoIGljaCBhdWNoIG5pY2h0LCB3YXJ1bQpkdSBkYWZ1ZXIgMyBTdHVuZGVuIGJyYXVjaHN0LCBpY2ggaGFicyBoZXV0IG1vcmdlbiBpbiBndXRlbiAyIGdlc2NoYWZmdCwgZ3JhZApwdWVua3RsaWNoIHp1bSBuYWVjaHN0ZW4gUmVib290Li4uCkltIHVlYnJpZ2VuIHdvbGx0ZSBpY2ggR3JpbW1ib3JuIHJlY2h0IGdlYmVuLCBkZW5uIGFscyBpY2ggbm9jaCBrZWluIFNlaGVyCndhciBiaW4gaWNoIE5JQ0hUIGluIGRpZSBTY2hyZWNrZW5zc3BpdHplIGdlZ2FuZ2VuIHVuZCBoYWIgbWlyIG1hbCBuZQpLcmlzdGFsbGtyb25lIGVybWV0emVsdCwgaGFiIGF1Y2ggTklDSFQgZGllIFN0ZWluaXMgZ2VraWxsdCBmdWVycyBhbXVsZXR0LApzb25kZXJuIHdhciBtaXQgbmVtIEdhcmRld2FlY2h0ZXIgdW5kIGRlbSBCU1MgenVmcmllZGVuLCB1bmQgd2FzIERBUkFOIDIKU3R1bmRlbiBkYXVlcm4gc29sbCBpc3QgYXVjaCBtaXIgdW5iZWdyZWlmbGljaC4uLgpOZSB3ZWl0ZXJnZWhlbmRlIEF1c3J1ZXN0dW5nIGlzIGFscyBTcGllbGVyIGVpZ2VudGxpY2ggbmljaHQgbm9ldGlnIHVuZCBpbgpkZXIgUmVnZWwgYXVjaCBuaWNodCBhbmdlbWVzc2VuLi4uCkVpbiBtYWwgd2llZGVyIHNlaW5lbiBTZW5mIGRhenVnZWJlbm11ZXNzZW5kZXIuLi4uRmVsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR3JpbW1ib3JuLCAgMi4gTWFyIDE5OTUsIDIyOjEzOjQxIChBbmF0b2wsICA4LiBNYXIgMTk5NSwgMTU6Mzc6NDcpOgojISBybj1GZWxhZ3VuZCBydD03OTQ2Njg5NTAKCkFyZ2wuCkRlciBlaW5lIHdpbGwgbWVociwgd2Vpc3MgbWVociwga2FubiBtZWhyLgpEZXIgYW5kZXJlIHdpbGwgbmljaHQgc292aWVsLCB3ZWlzcyBuaWNodCBhbGxlcyB1bmQga2FubnMgYXVjaCBuaWNodC4KQWJlciBuYWNoIGVpbmVtIENyYXNoL1JlYm9vdCB3b2xsZW4gYWxsZSwgd2lzc2VuIGFsbGUsIHdvJ3Mgd2VuaWdzdGVucwphIGJpc3Nlcmwgd2FzIGdpYnQsIGFiZXIga29lbm5lbiB0dW4gbnVyIGRpZSwgZGllIGFscyBlcnN0ZSBiZWltIFdhZWNodGVyCm9kZXIgd2Fzd2Vpc3NpY2h3byB3YXJlbi4KSWNoIGJyYXVjaGUgZGllIGRyZWkgU3R1bmRlbiwgdW0gZWluZSB6dWZyaWVkZW5zdGVsbGVuZGUgQXVzcnVlc3R1bmcgenUKZXJsYW5nZW4uIE9ITkUgU2FldXJlYmFlbGxlIHVuZCBhZWhubGljaGVuIFRlcnouIE9ITkUgQlNTLgpJY2ggYmluIFNlaGVyIC0gYmluIGljaCBkYW5uIGF1Y2ggYXV0b21hdGlzY2ggdW5mYWVoaWc/CgpBbmF0b2wgKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyaW1tYm9ybiwgIDIuIE1hciAxOTk1LCAyMjoxMzo0MSAoRmVsYWd1bmQsICA4LiBNYXIgMTk5NSwgMTU6NDE6MzApOgojISBybj1BbmF0b2wgcnQ9Nzk0NjczNDY3CkRhc3MgZXMgenUgU3BpdHplbnplaXRlbiBuYWNoIGVpbmVtIHJlYm9vdCBsYWVuZ2VyIGRhdWVydCBpc3Qga2xhciwgYWJlciBpY2gKcmVkZSBqYSBhdWNoIHZvbiBnZXdvZWhubGljaGVyIEF1c3J1ZXN0dW5nc2Jlc2NoYWZmdW5nLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmltbWJvcm4sICAyLiBNYXIgMTk5NSwgMjI6MTM6NDEgKEFjcmltb24sICA4LiBNYXIgMTk5NSwgMTU6NTg6MjcpOgojISBybj1GZWxhZ3VuZCBydD03OTQ2Njg5NTAKTmFqYSwgaWNoIGJpbiB6d2FyIExldmVsIDE1LCBhYmVyIGVpbmUgS3Jpc3RhbGxrcm9uZSBnZWhvZXJ0IHVudGVyIGFuZGVyZW0KYXVjaCB6dSBtZWluZXIgU3RhbmRhcmRhdXNydWVzdHVuZywgdW5kIGRhZnVlciBnZWggaWNoIGF1Y2ggaW4gZGllIFNTUCB1bmQKZXJtZXR6ZWwgbWlyIGRpZS4KSWNoIGJyYXVjaCBkYWZ1ZXIgYWJlciBldHdhcyBsYWVuZ2VyIGFscyBkdS4KCkV1ZXIgR3Jvc3pld3IKICAgIEFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyaW1tYm9ybiwgIDIuIE1hciAxOTk1LCAyMjoxMzo0MSAoQm9ibywgIDguIE1hciAxOTk1LCAxNTo1OTo0Nyk6CiMhIHJuPUFuYXRvbCBydD03OTQ2NzM0NjcKSWNoIHdlaXNzIGdhciBuaWNodCwgd2FzIGlociBoYWJ0Li4uCldlbm4gaWhyIGRlcyBNZXR6ZWxucyB3ZWdlbiBpbSBNVUQgc2VpZCwgZGFubiB0dXQgZGllcyBkb2NoIGVpbmZhY2ggdW5kCmJlc29yZ3QgRXVjaCBhdWYgZGllc2UgV2Vpc2UgZGFzLCB3YXMgaWhyIHp1bSBXZWl0ZXJtZXR6ZWxuCmJlbm9ldGlndC4gV2VubiBpaHIgdW0gZGVzIFF1ZXN0ZW5zIHdpbGxlbiBpbSBNVUQgc2VpZCwgZGFubiBiZXNvcmd0IEV1Y2gKbmFjaCBlaW5lbSByZWJvb3QgZGllIFNhY2hlbiwgZGllIGltIE9ya3VzIHNpbmQsIGRhenUgcmVpY2hlbgpkaWUgbWVociBvZGVyIHdlbmlnZXIgZnJlaSB2ZXJmdWVnYmFyZW4gV2FmZmVuLiBVbmQgenVtIFJ1bXBhbGF2ZXJuIG9kZXIKRGljaHRlbiBnZW51ZWd0IGVpbiBOYWNodGhlbWQgdW5kIGRpZSBCdXRsZXJob3NlLCBmaW5kZSBpY2guCkltIHVlYnJpZ2VuIGhhdCBzaWNoIG5pY2h0IG51ciBkaWUgQW56YWhsIGRlciBOb3RsZWlkZW5kZW4gdmVyZ3JvZXNzZXJ0LCBkaWUKbmFjaCBkZW0gQ3Jhc2ggdW0gQXVzcnVlc3R1bmcga29ua3VycmllcmVuLCBzb25kZXJuIGF1Y2ggZGllIEZ1ZWxsZSBkZXIKTW9lZ2xpY2hrZWl0ZW4sIGFuIHRleHRpbGUgT2JlcmJla2xlaWR1bmcgenUgZ2VsYW5nZW4sIGlzdCBpbQpMYXVmIGRlciBaZWl0IGVub3JtIGdld2FjaHNlbi4gSGV1dGUgbXVzcyBkaWUgQWJlbnRldXJlcmluIHZvbiBXZWx0IG5pY2h0CnVuYmVkaW5ndCB6dXIgSG9semF4dCBncmVpZmVuLCB1bSBpaHJlIE1laW51bmdzdmVyc2NoaWVkZW5oZWl0ZW4KbWl0IGRlbSBPcmt2YXRlciB6dSBrbGFlcmVuLgoKVGhpcyB3YXMgQm9CbyBzcGVha2luZywKZGVyIHNpY2ggd3VuZGVydCwgd2llc28gZXIgc2ljaCBhdWYgZWlubWFsIHp1IGRpZXNlbSBUaGVtYSBhZXVzc2VydC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3JpbW1ib3JuLCAgMi4gTWFyIDE5OTUsIDIyOjEzOjQxIChGZWxhZ3VuZCwgIDguIE1hciAxOTk1LCAxODo0MTo1Mik6CiMhIHJuPUFjcmltb24gcnQ9Nzk0Njc0NzA3Ck5hIGRhbmtlLgpXZW5uIGpldHp0IHNjaG9uIHp1ciBTdGFuZGFydGF1c3J1ZXN0dW5nIHZvbiBMZXZlbCAxNSBlaW5lIEtyaXN0YWxsa3JvbmUKZ2Vob2VydCwgZGFubiBicmF1Y2ggaWNoIG1pY2ggamEgaW4gWnVrdW5mdCBuaWNodG1laHIgYWVyZ2VybiwgZGFzcyBkaWUKVGFua3N0ZWxsZW4gaW4gZGVyIFNTUCBhbGxlIGxlZXIgc2luZCB1bmQgdHJvdHpkZW0gZGVyIGtvbXBsZXR0ZSBXZWcKZnJlaXp1cmFldW1lbiBpc3QhISEKRWluIGRhdm9uIGV0d2FzIGdlbmVydnRlciB1bmQgaW1tZXIgbmFjaCBNb3JvbiB6dW0gVGFua2VuIHJlbm5lbiBtdWVzc2VuZGVyCkZlbGFndW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWNodGlnZXIgQXJ0aWtlbCEgKENhdHdlYXpsZSwgIDguIE1hciAxOTk1LCAyMTowMzo0MSk6CkhpIQpGdWVyIGFsbGUsIGRpZSBtb3JnZW5ncmF1ZW4udmVyZWluIGFiYmVzdGVsbHQgaGFiZW4sIGRhIHN0ZWh0IGVpbgp2ZXJkYW1tdCB3aWNodGlnZXIgQXJ0aWtlbCBkcmluIQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbW9uc3Rlcm5hbWVuIChZYW50cm8sICA5LiBNYXIgMTk5NSwgMDg6Mjc6NDMpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk0NjY3NDA0CgpudW4gcmVhZ2llcnQgInRvZXRlIGFsbGUiIGFiZXIgYXVjaCBuaWNodCBhdWYgYWxsZSBNb25zdGVyLCBHcmltbWZyZXVuZCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKioqIFNPTU1FUiAqIFNPTk5FICogVVJMQVVCICoqKiAoVHJveSwgIDkuIE1hciAxOTk1LCAxNjoxNDozOCk6CldlciB0cmFldW10IG5pY2h0IGRhdm9uLCBtYWwgc28gcmljaHRpZyBhdXN6dXNwYW5uZW4sIHNpY2ggbWFsIHNvIHJpY2h0aWcKdm9uIGRlciBTb25uZSBicmF0ZW4genUgbGFzc2VuIHVuZCBkZW0gTmljaHRzdHVuIHp1IGZyb2VuZW4/CgogICAgICAgICAgICAgICAgIEpFVFpUIEdJQlQgRVMgRElFIExPRVNVTkchCgogICAgICAgICAgICAgICBPbllvdXJPd24tVG91cnMgR21iSCAmIENvLiBLRwoKYnJpbmd0IG1pdCBkZW0gU29tbWVya2F0YWxvZyAxOTk1IGRpZSBFcmxlYm5pcy1jcnVpc2UgYXVmIGRlbSB3ZWl0ZW4KT3plYW4uIEdlbmllc3NlbiBkaWUgZnJpc2NoZSBNZWVyZXNsdWZ0IHVuZCBsYXNzZW4gc2llIHNpY2ggdm9uIGVpbmVtCmVpbm1hbGlnZW4gPDw8ICBeIFNJRSAgPj4+IEFtYmllbnRlIHZlcndvZWhuZW4uIE5hZWhlcmUgSW5mb3JtYXRpb25lbgplcmhhbHRlbiBzaWUgZGlyZWt0IHZvbiB1bnNlcmVtIE9uLVRoZS1Kb2ItTWl0YXJiZWl0ZXIsIGRlciBOVVIgRlVFUgpTSUUgaW4gZGVyIFBvbGFycmVnaW9uIHVudGVyd2VncyBpc3QuIFdlaXRlcmUgRmVhdHVyZXMgZGllc2VzIEFuZ2Vib3RzOgoKIC0gRWluIGtsZWluZXMgRXJsZWJuaXNhYmVudGV1ZXIKIC0gRWluZSBQYWNrdW5nIEdyYXRpc2hlcmluZyB6dW0gTWl0bmFjaGhhdXNlbmVobWVuLgogLSBHQVJBTlRJRVJUIEtFSU5FIFdlcmJldmVya2F1ZnN2ZXJhbnN0YWx0dW5nCgpMZWlkZXIgaXN0IGRhcyBBbmdlYm90IGF1ZmdydW5kIG5pY2h0IGthbGt1bGllcmJhcmVyIFJpc2lrZW4gbnVyIGZ1ZXIKU2VoZXIgb2ZmZW4uIFdpciBiZWRhdWVybiBkaWVzIHNlaHIsIHNlaGVuIGplZG9jaCBrZWluZSBNb2VnbGljaGtlaXQsCmRpZXMgenUgYWVuZGVybi4KCiAgIE9uWW91ck93bi1Ub3VycwogICAgT25Zb3VyT3duKFRNKQogRGllIEdlc2NoYWVmdHNsZWl0dW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZXN0ZXQgZG9jaCBtYWwuIChDYWhpZWwsICA5LiBNYXIgMTk5NSwgMjI6MDU6MTkpOgpIYWxsbyBSb2xsZW5zcGllbGVyIHVuZCBNVVNIIEZyZXVuZGUhCktvbW10IGRvY2ggbWFsIG5hY2ggSW1icmlzTVVTSCwgZGFzIGVyc3RlIGRldXRzY2hlIE1VU0guCgogICAgICAgc3VuMS5scnotbXVlbmNoZW4uZGUgNjI1MAoKQmlzIGJhbGQgaW4gSW1icmlzLgogICAgICAgIENhaGllbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJlZmZlbiBpbiBUdWUgKElyYXMsIDEwLiBNYXIgMTk5NSwgMDI6MTQ6MTIpOgpIYWxsbyBJaHIsCkluIGRlciBSdWJyaWsgVHJlZmZlbiBoYWJlIGljaCBlaW5lbiBBcnRpa2VsIHVlYmVyIFRyZWZmZW4gKGF1Y2gpIHZvbgpNRydsZXJJbm5uZW4gaW4gVHVlYmluZ2VuIGdlc2NocmllYmVuLCByZWdlbG1hZXNzaWcgZWlubWFsIGltIE1vbmF0LiBOdXIgZGFtaXQKZGFzIG5pZW1hbmQgZW50Z2VodCwgZGVyL2RpZSBldnRsLiBkYXJhbiBpbnRlcmVzc2llcnQgaXN0Li4uIDotKSkKCiAgaGVyemxpY2h0IGdydWVzc2VuZCwgICBnZXouIElyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZXN0ZXQgZG9jaCBtYWwuIChLbGluZ2UsIDEwLiBNYXIgMTk5NSwgMDI6MTY6MDMpOgojISBybj1DYWhpZWwgcnQ9Nzk0NzgzMTE5CkljaCBoYWJzIGdldGVzdGV0LCBzY2hsaW1tLi4uCk1hbiBrb21tdCBhbnN0YW5kc2xvcyByZWluIGFiZXIgbmljaHQgd2llZGVyIGhlcmF1cy4KRGFzIERpbmcgaXN0IGVpbmUgRkFMTEUgISEhISEKQWxzIGljaCBlaW5nZWxvZ2d0IHdhciBmdW5rdGlvbmllcnRlICJoZWxwIiBuaWNodCB1bmQgZGEgZmFlbGx0IGVzCnNjaG9uIHppZW1saWNoIHNjaHdlciBzeW50YWt0aXNjaCBmdXNzIHp1IGZhc3NlbiAuCkRlciBlaW56aWdlIHdlZyByYXVzIHdhciBhYmJyZWNoZW4gbWVpbmVyIG1vZGVtdmVyYmluZHVuZyB3ZWlsIGF1Y2gKbWVpbmUgdW5peC1hY2NvdW50LWNvbW1hbmRvcyBhYmdlZmFuZ2VuIHd1cmRlbiA6KApIVUVURVQgRVVDSCB2b3IgSU1CUklTLgphdXNzZXJkZW0gbXVlc3NlbiBkaWUgZG9ydCBub2NoIGVpbmlnZXMgdHVuIHVtIGRhcyBvZmZlbnNpY2h0bGljaCBhdXMKZGVtIGVuZ2xpc2NoZW4gdWViZXJub21tZW5lIG11c2gga29tcGxldHQgZWluenVkZXV0c2NoZW4gd2FzIGZlaGxlcm1lbGR1bmdlbgp1c3cuIGFuZ2VodC4KTWVpbiBVcnRlaWwgOgogICAgICAgICAgICAgTk9DSCBuaWNodCBlbXBmZWhsZW5zd2VydC4KCktMSU5HRSBkZXIgTVVTSHRlc3Rlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVzdGV0IGRvY2ggbWFsLiAoT2RvLCAxMC4gTWFyIDE5OTUsIDA0OjA1OjI3KToKIyEgcm49S2xpbmdlIHJ0PTc5NDc5ODE2MwpUamEgS2xpbmdlIG1pdCBoZWxwIGNvbW1hbmRzIGhhZXR0ZXN0IGR1IG1lciBnbHVlY2sgZ2VoYWJ0IDspIHVuZCBhdWYgUVVJVAprYW5uIG1hbiBzaWNoIGF1Y2ggaW4gSW1icmlzIHZlcmxhc3Nlbi4gTWl0IGRlbSBlaW5kZXV0c2NoZW4gbXVzcyBpY2ggZGlyCnJlY2h0IGdlYmVuIGFiZXIgYWxsZXMgaW4gYWxsZW0gaXMgZGVyIGF1ZmJhdSBzY2hvbiBnYW56IG5ldHQgdW5kIGVzIGlzdCBqYQpzY2hsaWVzc2xpY2ggbm9jaCB2b2xsIGltIGF1ZmJhdS4KQWxzbyBtZWluZXIgbWVpbnVuZyBuYWNoIGxvaG50IHNpY2ggZWluIHJlaW5zY2hhdWVuIGF1ZiBhbGxlIGZhZWxsZSBtYWwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRlc3RldCBkb2NoIG1hbC4gKENhbXBpbm8sIDEwLiBNYXIgMTk5NSwgMDY6MDE6MjUpOgojISBybj1PZG8gcnQ9Nzk0ODA0NzI3CmljaCBtdXNzIGF1c25haG1zd2Vpc2UgbWFsIGtsaW5nZSB6dXN0aW1tZW4gOikKV2VkZXIgcXVpdCwgZXhpdCBvZGVyIGVuZGUgKHNvbGwgamEgZWluIGRldXRzY2hlcyBtdXNoIHNlaW4pIHNlaW4sCm5vY2ggZnVua3Rpb25pZXJ0ZSB3aWUgYW5nZWdlYmVuICdoZWxwIGNvbW1hbmRzJyBvZGVyICdoZWxwIHRvcGljcycKb2RlciBzb25zdCBzb3dhcyBpbiBkZXIgcmljaHR1bmcuCkRpZSBGZWhsZXJtZWxkdW5nZW4sIGRpZSBpY2ggZXJoYWx0ZW4gaGFiZSB3YXJlbiBhbGxlIGF1ZiBlbmdsaXNjaAp1bmQgaWNoIGthbSBudXIgbWl0IEN0cmwgQyBvZGVyIEN0cmwgXSByYXVzLgoKU29sY2hlIFRpcHMgd2llIEltYnJpcyBrYW5uIG1hbiBzaWNoIG1laW5lciBNZWludW5nIG5hY2ggc3BhcmVuLgoKV28gd2lyIGFiZXIgYmVpIGFuZ2VibGljaCBndXRlbiBtdWRzIHNpbmQuClByb2JpZXJ0IG1hbCB0c3VuYW1pLm5ldHVzYS5uZXQgMjc3NywgZGllIGxlaXR1bmcgaXN0IHp3YXIgbWVpc3RlbnMKc2NobGVjaHQgYWJlciBlcyBnaWJ0IGRhIHNlaHIgdmllbGUgaW50ZXJlc3NhbnRlIEZlYXR1cmVzCi0gQWxsZSA0IFN0dW5kZW4gYmVzdGVodCBkaWUgTW9lZ2xpY2hrZWl0IGVpbmVzIEtyaWVnZXMgKGRhcnVlYmVyIHdpcmQKYWJnZXN0aW1tdCwgamUgaG9laGVyIGRlciBsZXZlbCBkZXN0byBtZWhyIHphZWhsdCBkaWUgU3RpbW1lKS4KLSBhdXNnZXJlaWZ0ZXMgS2xhc3NlbiB1bmQgR2lsZGVuIFN5c3RlbQotIFBsYXllcmtpbGxpbmcgYW4gYWxsZW4gdWViZXIgTGV2ZWwgNSB1bmQgZGllIE1vZWdsaWNoa2VpdCBLb3BmZ2VsZGVyCmF1ZiB1bmJlbGllYnRlIFNwaWVsZXIgenUgc2V0emVuLgoKTmFjaHRlaWxlOiBNYW4gc3RpcmJ0IHNlaHIgb2Z0IHVuZCBkYXMgZ2FuemUgaXN0IGluIGVuZ2xpc2NoIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZXN0ZXQgZG9jaCBtYWwuIChZYW50cm8sIDEwLiBNYXIgMTk5NSwgMDg6NDA6MTApOgojISBybj1LbGluZ2UgcnQ9Nzk0Nzk4MTYzCgpSYXVzIGF1cyBJbWJyaXMgZ2VodHMgbWl0ICdRVUlUJywgYWJlciBiaXR0ZSBHUk9TU1NDSFJFSUJFTiwgc29uc3QgaG9lcnQgZGVyCkdhbWVkcml2ZXIgc28gc2NobGVjaHQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRlc3RldCBkb2NoIG1hbC4gKEJvaW5nLCAxMC4gTWFyIDE5OTUsIDA4OjQ4OjM2KToKIyEgcm49Q2FtcGlubyBydD03OTQ4MTE2ODUKV2VubiB3aXIgZ2VyYWRlIGJlaSBNdWQtVGlwcyBzaW5kLCBkYW5uIG1vZWNodGUgaWNoIGRvY2ggYXVjaCBtZWluZW4KU2VuZiBkYXp1IGdlYmVuOgpOYW5ueU11ZDogbXVkLmx5c2F0b3IubGl1LnNlIDIwMDAKV29obCBlaW5lcyBkZXIgZ3JvZXNzdGVuIE11ZHMgdWViZXJoYXVwdCwgenVtaW5kZXN0IGVpbmVzIGRlciBhZWx0ZXN0ZW4sCmFsbGUgS3VsdC1RdWVzdHMgc2luZCBkcmluIChQYWRyb25lLCBLYW50ZWxlLCBvcmMtc2xheWVyLCBldGMuKSwgaW5zZ2VzYW10CmdpYnQgZXMga25hcHAgNzAgUXVlc3RzLgpNb3JnZW5HcmF1ZW4tVmVyd29laG50ZSBzb2xsdGVuIGFiZXIgZ2xlaWNoIHdpc3NlbiwgZGFzcyBoaWVyIGRpZSByZWJvb3RzCmV0d2EgaW0gMTAtU3R1bmRlbiBBYnN0YW5kIGVyZm9sZ2VuIC4uLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGVzdGV0IGRvY2ggbWFsLiAoSGlnaGxhbmRlciwgMTAuIE1hciAxOTk1LCAxNjoyODowNCk6CiMhIHJuPUNhbXBpbm8gcnQ9Nzk0ODExNjg1Ck51LCBzZWlkIG1hbCBuaWNodCB1bmZhaXIsIGlociBtdWVzc3RldCBoYWx0IGV0d2FzIG1laHIgdWViZXIgTVVTSGVzCndpc3Nlbi4gV2llIGJlaSBNVUNLcyB3ZXJkZW4gZGEgZGllIHdpY2h0aWdlbgpCZWZlaGxlIG5hZW1saWNoIGtvbXBsZXR0IGdyb3NzIGdlc2NocmllYmVuIChRVUlUIGV0Yy4pCiAgSnVzdCBteSAkLjAyLCBHcmF5V2luZ0BGdXJyeU11Y2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRlc3RldCBkb2NoIG1hbC4gKFJ1bWF0YSwgMTAuIE1hciAxOTk1LCAxNzowMTo1MCk6CiMhIHJuPUhpZ2hsYW5kZXIgcnQ9Nzk0ODQ5Mjg0CkRhbm4gc29sbHRlIGRvcnQgYXVjaCBgdHlwZSBIRUxQIGZvciBoZWxwJyBzdGVoZW4gOi0pClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGVzdGV0IGRvY2ggbWFsLiAoS2xpbmdlLCAxMC4gTWFyIDE5OTUsIDE5OjI2OjE5KToKIyEgcm49T2RvIHJ0PTc5NDgwNDcyNwpJY2ggYmluIGRvY2ggbmljaHQgZG9vZi4KU2VsYnN0dmVyc3RhZW5kbGljaCBoYWIgaWNoIGF1Y2ggaGVscCBjb21tYW5kcyBwcm9iaWVydCBkYSBpY2ggamEgbGVzZW4ga2FubgphYmVyIGljaCB3dXJkZSBtaXQgIi4uLi4gbm90IGF2YWlsaWFibGUuLiAiIGJlZ2x1ZWNrdC4KdW5kIHF1aXQgaGFiIGljaCBhdWNoIHByb2JpZXJ0LCBhbGxlcmRpbmdzIG1pdCBrbGVpbmVuIGJ1Y2hzdGFiZW4uCk9obmUgRXJmb2xnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICoqKiBTT01NRVIgKiBTT05ORSAqIFVSTEFVQiAqKiogKENhdHdlYXpsZSwgMTAuIE1hciAxOTk1LCAxOTo0OTo1Mik6CiMhIHJuPVRyb3kgcnQ9Nzk0NzYyMDc4CkhpIQpJY2ggaGFiIFRyb3kgU2VoZXJxdWVzdCBlcnN0IG1hbCB3aWVkZXIgYWJnZWtsZW1tdCAoenVtaW5kZXN0IGhvZmZlCmljaCBkYXMpLiBOYWNoIHphaGxyZWljaGVuIGF1ZmdldHJldGVuZW4gQnVncyBoYWx0ZSBpY2ggZGFzIGZ1ZXIKZ2VyZWNodGZlcnRpZ3QuIEJpdHRlIG5jaWh0IG1laHIgZG9ydCBydW1sYXVmZW4sIGFsc28gOikKSWNoIGhvZmZlIHRyb3kga3JpZWd0IGRhcyBzY2huZWxsIGF1ZiBkaWUgUmVpaGUuCllvdXJzIHRydWx5LAogICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRlc3RldCBkb2NoIG1hbC4gKEZ5dCwgMTAuIE1hciAxOTk1LCAyMDozNTo1Myk6CiMhIHJuPU9kbyBydD03OTQ4MDQ3MjcKaWNoIGhhYiAnZ2V0ZXN0ZXQnIHVuZCBoYWIgbmljaHQgbWFsIGRpZSBIaWxmZXNlaXRlIGJla29tbWVuLgpTYWdlbiBrb25udGUgaWNoIHdhcywgd2FyIGFiZXIga2VpbmVyIGRhLCBkZXIgZXMgaGFldHRlCmhvZXJlbiBrb2VubmVuLCBhbHNvIHdhcyBzb2xsIGRhcz8KCkZ5dCwgc2ljaCB3dW5kZXJuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVsIE9VVFNJREUhIChHd3luZG9uLCAxMS4gTWFyIDE5OTUsIDEyOjE4OjQzKToKTGllYmUgTGV1dGUsCkljaCBzcGVuZGUgamEgZ2VybmUgZnVlciBkZW4gRXJoYWx0IGRlcyBNb3JnZW5ncmF1ZW5zLCBoYWJlIGVzIGphIGF1Y2gKd2VpdGVyaGluIHZvci4KQWJlciBpbiBSTCBHZWxkIGRhZnVlciB6dSBnZWJlbiwgZGFzcyBkYXMgYmxvZWRlIERpbmcgbWlyIGhpZXIgbWVpbiBHZWxkCmFibmltbXQgc2VoZSBpY2ggaXJnZW5kd28gbmljaHQgZWluLiBJY2ggZmluZGUgZXMgZ3V0IHVuZCByaWNodGlnIGRhc3MgZGVyCldhcm5oaW53ZWlzIChJbnRlbCBJbnNpZGUpIGpldHp0IGltbWVyIGRyYXVmIHN0ZWhlbiBtdXNzIGF1ZiBkZW4gTWFzY2hpbmVuLAooc28gd2llICJlbnRoYWVsdCBrdWVuc3RsaWNoZSBLb25zZXJ2aWVydW5nc3N0b2ZmZSB1bmQgRTYwNSIpLiBBYmVyIHNvIGVpbgpUZWlsIGFuc2NoYWZmZW4sIG51ciB3ZWlsIGVpbiBGcmV1bmQgZGVzIE1HIGRpZSBEaW5nZXIgdmVydHJlaWJ0PyBTY2hsaWNodApkYW5lYmVuLgpJY2ggdmVyd2Vpc2UgYXVmIGRhcyBBbmdlYm90IGRlciBTcGVuZGUgZWluZXIgdmVybnVlZnRpZ2VuIE1hc2NoaW5lLCBkZW5uCm1lcmtlOiBEZXIgUGVudGl1bSBrYW5uIG5pY2h0IG51ciBuaWNodCByZWNobmVuLCBzb25kZXJuIHplcmxlZ3QgaW1tZXIgd2llZGVyCmF1Y2ggU2F2ZWZpbGVzLi4uCiAgKFVuZCBzb3JyeSB3ZW5uIGRhcyBpcmdlbmR3aWUgd2VnZW4gZGVzIEVkaXRvcnMgbmljaHQgc2Nob2VuIGF1c3NlaGVuCnNvbGx0ZSkKCmdlei4gR3d5bmRvbiAobGVpc2UgZmx1Y2hlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW50ZWwgT1VUU0lERSEgKEdyaW1tYm9ybiwgMTEuIE1hciAxOTk1LCAxNDo1OToyNik6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0OTIwNzIzCgpLbGFyLCBsYXNzdCB1bnMgYW4gZGVuIEJldHJhZyBuZSBOdWxsIGRyYW5oYWVuZ2VuIHVuZCB1bnMgbmUgQ3JheSBob2xlbi4gT2RlcgptZWluZXR3ZWdlbiAyIE51bGxlbi4gV2VpbCBhbmRlcmUgUHJvemVzc29yZW4gamEgYmVrYW5udGxpY2ggdm9lbGxpZyBvaG5lIGJ1Z3MKc2luZC4gRGFyZiBpY2ggbWljaCBlcmt1bmRpZ2VuLCB3YXMgZGVyIEFydGlrZWwgc29sbD8gVW5kIHdlciBEaXIgImhpZXIgRGVpbgpHZWxkIGFibmltbXQiPwoKVW5kIG5lIEFsdGVybmF0aXZlIGhhc3QgRHUgbmF0dWVybGljaCBhdWNoIG5jaWh0IGFuZ2VnZWJlbi4gTmFqYS4uLgoKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVsIE9VVFNJREUhIChJY2V0LCAxMS4gTWFyIDE5OTUsIDE1OjMxOjUxKToKIyEgcm49R3d5bmRvbiBydD03OTQ5MjA3MjMKR3d5bmRvbj5EZXIgUGVudGl1bSBrYW5uIG5pY2h0IG51ciBuaWNodCByZWNobmVuCkRhcyBiZWhhdXB0ZW4gZGllIExldXRlLCBkaWUgc2ljaCBuaWNodCBhdXNrZW5uZW4uIEFlaG5saWNoIGRlbmVuLCBkaWUKZWluZW4gTWV0ZW9yaXRlbmVpbnNjaGxhZyBiZWkgQW5kZWNocyB2ZXJtdXRldCBoYWJlbi4gS2VpbiBSZWNobmVyCnJlY2huZXQgcmljaHRpZy4gV2VyIGFuZGVyZXMgYmVoYXVwdGV0LCBrZW5udCBzaWNoIGVpbmZhY2ggbmljaHQgYXVzLgpHd3luZG9uPnNvbmRlcm4gemVybGVndCBpbW1lciB3aWVkZXIgYXVjaCBTYXZlZmlsZXMuLi4KRGFzIGxpZWd0IG5pY2h0IGFtIFBlbnRpdW0sIHdlbm4gc28gZXR3YXMgcGFzc2llcnQuCkljaCB3ZWlzcyBnYXIgbmljaHQsIHdhcyBkdSB3aWxsc3QsIE1HIGtvZW5udGUgc2ljaCBhdWNoIG5lIFNwYXJjMjAKa2F1ZmVuLCB1bSB2ZXJnbGVpY2JhcmUgUmVjaGVubGVpc3R1bmcgenUgYmVrb21tZW4uIEFiZXIgdmVyZ2Vzc2UgbmljaHQsIGRhc3MKRWluIFNwYXJjMjAtQ0xPTkUgKCEpIG1pdCAzMk1CeXRlIHNjaGxhcHBlIDIwMDAwRE0ga29zdGV0LgoKTWVociBSZWNoZW5sZWl0c3VuZyB1bmQgU3RhYmlsaXRhZXQgc293aWUgSS9PIGtyaWVnc2V0IHZvbiBrZWluZW0gYW5kZXJlbgpSZWNobmVyIGZ1ZXIgc28gd2VuaWcgR2VsZCEKCk9kZXIgbWVpbnN0IGR1IGRpZSA2OGstR2VzY2hpY2h0ZT8gKnJvdGZsKgoKLUljZVQgKGFtdWVzaWVydCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1pZXRlIChLbGluZ2UsIDExLiBNYXIgMTk5NSwgMjA6NDM6NDMpOgpJc3QgZWlnZW50bGljaCBzY2hvbiB2ZXJzdWNodCB3b3JkZW4gZGVuIGxpbmd1aXN0ZW4gb2RlciB3aWUgZGllIGhlaXNzZW4KZGVuZW4gZGVyIHNhbnRhbmEgZ2Vob2VydCB6dSBzYWdlbiBkYXMgc2llIHVudGVybWlldGVyIGhhYmVuIHVuZCB2b24gZGVuZW4KcmVjaG5lcnplaXQgenUgbWlldGVuIG9kZXIgZGFzIGdhbnplIGFscyBob2NoaW50ZXJlc3NhbnRlcwprb211bmlrYXRpb25zcHJvamVrdCB6dSB2ZXJtaXR0ZWxuID8KPz8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbCBPVVRTSURFISAoR3d5bmRvbiwgMTIuIE1hciAxOTk1LCAwMDo1OTozMik6CiMhIHJuPUdyaW1tYm9ybiBydD03OTQ5MzAzNjYKSGFsbG8gR3JpbW1ib3JuLApXaXIgaGFiZW4gdW5zIGdyYWQgdW50ZXJoYWx0ZW4sIGFiZXIgZ2VtYWVzcyBEZWluZXIgQW5yZWd1bmcgc2NocmVpYiBpY2ggZGFzCkVyZ2VibmlzIGdsZWljaCBoaWVyIHJlaW4sIHp1ciBLZW5udG5pcyBmdWVyIGFuZGVyZS4KICAgQW5zb25zdGVuIC0gbmVpbiwga2VpbiBQcm96ZXNzb3IgaXN0IGZlaGxlcmZyZWkgYWJlciBlcyBnaWJ0ClVudGVyc2NoaWVkZSwgdW5kIHVlYmVyIGtlaW5lbiBob2VyZSBpY2ggUHJvZ3JhbW1pZXJlciBzb3ZpZWwgZmx1Y2hlbi4gVW5kCnBlcnNvZW5saWNoIGJldHJvZmZlbiB3YXIgaWNoIGViZW4sIHdlaWwgd29obCBkZXIgbGV0enRlIENyYXNoIG1pciBtZWluIGdhbnplcwpNdWQtR2VsZCBnZW5vbW1lbiBoYXQuIERpZSBBdXNydWVzdHVuZyB3ZWcgaXN0IGVpbmUgU2FjaGUsIGFiZXIgc2VsYnN0IHdlbm4KTGV1dGUgZmluZGVuLCBmdWVyIExldXRlIHdpZSBtaWNoLCBkaWUgbmljaHQgc3RhZW5kaWcgcGxhZXR0ZW4sIHd1ZXJkZW4KTmFjaHRoZW1kIHVuZCBCdXRsZXJob3NlIHJlaWNoZW4sIGlzdCBlaW5lIEFid2VzZW5oZWl0IGF1Y2ggbm9jaCBkZXMgR2VsZGVzCnNjaG9uIGFlcmdlcmxpY2guIFVuZCBkaWUgWmFobCBkZXIgQ3Jhc2hzIHdlcmRlbiBzZWl0IGFsbGUgYmV0ZXVlcm4sIGVzIGxhZWdlCm5pY2h0IGFtIFBlbnRpdW0sIG5pY2h0IHZpZWwgd2VuaWdlciAod2lyZCwgc29ycnkpLgogZ2V6LiBHd3luZG9uIChzY2hvbiB3aWVkZXIgYmVydWhpZ3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoR3d5bmRvbiwgMTIuIE1hciAxOTk1LCAwMTowODo1Myk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0OTY2MzcyCkhhbGxvIExldXRlIC0KZXNzYW50IGlzdCwgQ2F0KiB1bmQgQ28sIGt1ZW1tZXIgaWNoIG1pY2ggYWJlciBkcnVtLiBJY2ggYmluIGphIGludGVyZXNzaWVydApkYXJhbiwgZGFzcyBkYXMgTUcgd2VpdGVybGFldWZ0LCB1bmQgendhciB3aWUgZnJ1ZWhlciBuaWNoIHdpZSBpbiBsZXR6dGVyClplaXQsIGF1ZiBlaW5lbSBSZWNobmVyIGRlciBpbiBkZXIgUXVhbGl0YWV0IHp3aXNjaGVuIGVpbmVyIENyYXkgKGdyaW5zKSB1bmQKZWluZW0gSW50ZWwtUmVjaG5lciAobmFqYSkgbGllZ3QuICgoU28sIGhvZmZlbnRsaWNoIHN0ZWh0IGRpZXNtYWwgYWxsZXMgZHJpbiwKd2VubiBuaWNodCwgaGFidCBOYWNoc2ljaHQgbWl0IG1pcikpCiAgZ2V6LiBHd3luZG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJbnRlbCBPVVRTSURFISAoR3d5bmRvbiwgMTIuIE1hciAxOTk1LCAwMToxMzoyNCk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0OTY2OTMzCkhhdXB0dGV4dCBmZWhsdGUgd2llZGVyIC0gc29ycnkuIEljaCBldnRsLiBnZWJyYXVjaHRlIFNVTiB1ZWJlciBVbmktCkljaCByZWdlbG1hZXNzaWcgSW5mb3Mgd2VyIHZlcmthdWZ0IChJbnN0aXR1dGUgYWJzdG9zc2VuKS4gVW5kIGljaCBuaXgKRWRpdG9yIChzZXVmeiwgdHV0IG1pciBsZWlkKSwgdW5kIG5peCBtZWhyIG1wYSB2b2xsbXVlbGxlbiwgb2s/CklociBiaXR0ZSBOYWNoc2ljaHQsIHVuZCBOYWNocmljaHQgd2VubiBJbnRlcmVzc2VuIGdlYnIuIFNVTgogR3d5bmRvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbCBPVVRTSURFISAoWGFudGhpYSwgMTIuIE1hciAxOTk1LCAxODozMDoyOCk6CiMhIHJuPUljZXQgcnQ9Nzk0OTMyMzExCkpldHp0IG11c3MgaWNoIG1hbCBrdXJ6IHdhcyB6dW0gVGhlbWEgUmVjaG5lciBzY2hyZWliZW4uIEljaCB3YXIga3VlcnpsaWNoCmluIGVpbmVtIE1VRCBpbiBkZW4gVVNBIGRyaW4gdW5kIGRhIGhhdHRlbiBkaWUgd29obCBlaW4gYWVobmxpY2hlcyBQcm9ibGVtCmdlaGFidCB3aWUgaWhyIGpldHp0LiBFcnN0YXVubGljaGVyd2Vpc2Ugd2FyIGVzIGRvcnQgbW9lZ2xpY2gsIGZ1ZXIgNzAwMCQKKGNhLiAxMDAwMCBNYXJrIG5hY2ggYWt0dWVsbGVtIEt1cnMpIGVpbmVuIFJlY2huZXIgZnVlciBpaHIgTVVEIHp1IGJlc29yZ2VuLgpPYiBkZXIgamV0enQgbmV1IHdhciBvZGVyIGdlYnJhdWNodCwgd2Vpc3MgaWNoIG5pY2h0LiBLdWNrdCBkb2NoIGVpbmZhY2gKbWFsLCBvYiBuaWNodCBqZW1hbmQgZWluIHBhYXIgU0lNTXMgYXVzIGRlbiBVU0EgbWl0YnJpbmdlbiBrYW5uLCB3ZW5uIHNpZQpkYSBzbyBiaWxsaWcgc2luZC4KQWNoIGphLCBpbiBUdWViaW5nZW4gbGF1ZmVuIGdhbnplIFpXRUkgTVVEcy4gU29sbHRlIGVzIGRhbm4gbmljaHQgbW9lZ2xpY2gKc2VpbiwgaW4gTXVlbnN0ZXIgZWluZW4gUmVjaG5lciBmdWVycyBNVUQgenUgZmluZGVuLCBhdWNoIHdlbm4gTklFTUFORAptZWhyIGRhIGltIFJlY2hlbnplbnRydW0gYXJiZWl0ZXQ/CkljaCBzZWhlIGpldHp0IHNjaG9uIGRpZSBiZWxlaHJlbmRlbiBGb2xnZS1BcnRpa2VsLCBhYmVyIG1hY2h0IG51ciwgbWlyCmlzcyBlcyB3dXJzY2h0LiBJY2ggc2FnIGhpZXIgbnVyIG1laW5lIE1laW51bmcuIFVuZCB3ZW5uIGlociBnbGF1YnQsIGRhc3MKbWFuIGltIE1vcmdlbmdyYXVlbiBzZWluZSByb3NhIEJyaWxsZSBuaWNodCBhYm5laG1lbiBkYXJmIHVuZCBudXIgaW1tZXIKbmV0dCB1bmQgZnJldW5kbGljaCBzZWluIG11c3MsIGRhbm4gaGFidCBpaHIgYmVpIG1pciBsZWlkZXIgZGVuIGZhbHNjaGVuCmVyd2lzY2h0LgoKWGFudGhpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZWwgT1VUU0lERSEgKEdyaW1tYm9ybiwgMTIuIE1hciAxOTk1LCAxODo0NTozMyk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk1MDI5NDI4CgpXbyBsaWVndCBEZWluIFByb2JsZW0/IFRoZW1hIGlzdCBkb2NoIGdlcmFkZTogTVVELVJlY2huZXIgZnVlciAxMCAwMDAgRE0hCldhcyBhbHNvIGlzdCBkYSBiZXNzZXIvYmlsbGlnZXIgaW4gZGVuIFVTQT8gQXVzc2VyIEtldGNodXAgdW5kIEhhbWJ1cmdlcm4uLi4KVW5kIGRlciBmdWVyIHVucyBpc3QgZGFubiBuZXUsIG5pY2h0IGdlYnJhdWNodC4gV2VubiBuaWNodCBqZW1hbmQgZGEgd2FzCmd1dGVzIGdlYnJhdWNodGVzIGFuIExhbmQgemllaHQgbmF0dWVybGljaCAoSHVodSBHd3luZG9uISkKCk5hamEsIG1pdCBkZW0gTmFjaHNhdHoga2FubiBpY2ggbml4IGFuZmFuZ2VuLCBhbHNvIHZlcnppY2h0ZSBpY2ggZHJhdWYuIDstKQoKSW1tZXIgbmV0dCB1bmQgZnJldW5kbGljaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoTWF0ZWVzZSwgMTIuIE1hciAxOTk1LCAxODo0NjowMyk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk1MDI5NDI4Clp3ZWkgTXVkcyBpbiBUdWViaW5nZW4/IFdhcyBhdXNzZXIgTkYgZ2lidCBlcyBkZW5uIGRvcnQ/CiAtLSBNYXRlZXNlLCBuZXVnaWVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVsIE9VVFNJREUhIChYYW50aGlhLCAxMi4gTWFyIDE5OTUsIDE5OjE5OjUzKToKIyEgcm49TWF0ZWVzZSBydD03OTUwMzAzNjMKVGphLCBhbHNvIGRpZSBiZWlkZW4gTVVEcyBpbiBUdWViaW5nZW4gaGVpc3NlbjoKTmlnaHRmYWxsIChub3ZhLnRhdC5waHlzaWsudW5pLXR1ZWJpbmdlbi5kZSA0MjQyKQpOb3ZhICAgICAgKG5vdmEudGF0LnBoeXNpay51bmktdHVlYmluZ2VuLmRlIDY4ODkpClNvIHN0ZWh0J3MgenVtaW5kZXN0IGF1ZiBtZWluZXIgTGlzdGUuCgpYYW50aGlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoVG9zcywgMTIuIE1hciAxOTk1LCAxOToyNToxNik6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk1MDI5NDI4CnhhbnRoaWEsCgp1bnRlciBub3ZhIGxhZXVmdCB1ZWJlcmhhdXB0IG5pY2h0cy4uLiB3ZW5uIGRhcyBkZWluZSB2b3JzdGVsbHVuZyB2b24gZWluZW0KbXVkIGlzdCwgZGFzIGtvZW5udGVuIHdpciBiYWxkIGhhYmVuLi4uCkRhdm9uIGFiZ2VzZWhlbiBpc3QgYmVpIHVucyBkYXMgcHJvYmxlbSBoYWx0IG1pdHRsZXJ3ZWlsZSBhdWNoLCBkYXNzIGRhcwptb3JnZW5ncmF1ZW4gYWxzIGVpbiBzZWhyIGdyb3NzZXMgbXVkIG5pY2h0IG1laHIgbWFsIGViZW4gbmViZW5iZWkgYXVmCmlyZ2VuZG5lciBrbGVpbmVuIGtpc3RlIGxhdWZlbiBrYW5uLi4uIHVuZCBpY2ggYmluIHNpY2hlciwgYXVjaCBORiB1bmQgTm92YQood2VubnMgZGVubiBtYWwgbGFldWZ0KSBoYWJlbiBrZWluZW4gcmVjaG5lciBtaXQgMTI4IE1CCkljaCBkZW5rZSwgYXVmIGlyZ2VuZGVpbmVtIGtsZWluZW4gcmVjaG5lciB3ZXJkZW4gd2lyIGF1Y2ggYW4gZGVyIHVuaQptdWVuc3RlciB1bnRlcmtvbW1lbi4uLiBhYmVyIHdlbm4gZGFubiBhbGxlIDEyIHN0dW5kZW4gZWluIHJlYm9vdCBrb21tdCwgd2VpbAp3aXIga2VpbmVuIHNwZWljaGVyIG1laHIgaGFiZW4sIGlzdCBkYXMgZ2VoZXVsZSB3aWVkZXIgZ3Jvc3MuLi4uCgpIb2ZmZW50bGljaCB3YXIgaWNoIG5ldHQgZ2VudWcgOikpCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJbnRlbCBPVVRTSURFISAoS3JldGVrLCAxMi4gTWFyIDE5OTUsIDE5OjMxOjM4KToKIyEgcm49WGFudGhpYSBydD03OTUwMzIzOTMKTnVyIG1hbCBzbyBhbHMgcmVpbiB1ZWJlcmZsdWVzc2lnZXIgRGlza3Vzc2lvbnNiZWl0cmFnICh1bmQgYXVjaCwgd2VpbCdzCmluIGtlaW5lciBMaXN0ZSBzdGVodCk6IFNvZ2FyIGluIFBBU1NBVSAobWFuIGhvZXJlIHVuZCBzdGF1bmUhKQpnaWJ0J3MgZWluIE1VRCEgSmF3b2hsISBTb2dhciBMUE11ZCEgRXJyZWljaGJhciB1bnRlcgpmb3J3aXNzLnVuaS1wYXNzYXUuZGUgKDEzMi4yMzEuMS4xMCkgMjAwMApOZW5udCBzaWNoIE5vLVdoZXJlLUxhbmQsIHdhciBtZWluIGVyc3RlciBLb250YWt0IG1pdCBMUE11ZHMuLi4KS2VpbmUgQWhudW5nIGFsbGVyZGluZ3MsIHdhcyBkYXMgamV0enQgaW4gZGllc2VyIERpc2t1c3Npb24gdmVybG9yZW4gaGF0ISA4LSkKCmMgdSBsOGVyLAogICAgIF8gICBfXyBfX18gIF9fCnwgLyB8IFwgfCAgICB8ICB8ICAgfCAvCnwvICB8Xy8gfF8gICB8ICB8XyAgfC8KfFwgIHxcICB8ICAgIHwgIHwgICB8XAp8IFwgfCBcIHxfXyAgfCAgfF9fIHwgXAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEludGVsIE9VVFNJREUhIChLcmV0ZWssIDEyLiBNYXIgMTk5NSwgMTk6MzQ6MTMpOgojISBybj1LcmV0ZWsgcnQ9Nzk1MDMzMDk4CkFjaCwgd2FzIGljaCBub2NoIHZlcmdlc3NlbiBoYWI6IERhIGlzdCBUT1RFIEhPU0UhIE5peCBsb3MhIEtlaW5lIGFsdGUKU2F1IGVpbmdlbG9nZ3QhIE1hbiBzcGllbHQgbWVpc3RlbnMgQUxMRUlORSEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJbnRlbCBPVVRTSURFISAoWGFudGhpYSwgMTIuIE1hciAxOTk1LCAxOTo1ODo0OCk6CiMhIHJuPVRvc3MgcnQ9Nzk1MDMyNzE2CkphLCBUb3NzLCBEdSB3YXJzdCBzZWhyIG5ldHQuIDopKQpXYXMgaWNoIG1hbCBmcmFnZW4gbXVzcywgd2VpbCBpY2ggZXMgbmFlbWxpY2ggbmljaHQgd2Vpc3MgdW5kIHZpZWxlCmFuZGVyZSB2aWVsbGVpY2h0IGF1Y2ggbmljaHQ6CldhcnVtIGJyYXVjaHQgZWluIE1VRCBlaWdlbnRsaWNoIHNvIHZpZWwgU3BlaWNoZXI/ClNpY2hlciwgYmVpIHZpZWxlbiBTcGllbGVybiBtdWVzc2VuIGF1Y2ggdmllbGUgRGF0ZW4gdmVyd2FsdGV0IHdlcmRlbgp1bmQgYXVjaCBkaWUgV2VsdCBzb2xsdGUgamEgaW1tZXIgaW0gU3BlaWNoZXIgc2VpbiwgZGFzIGlzdCBrbGFyLgpBYmVyIHdhcnVtIGJsYWVodCBzaWNoIGRhcyBNVUQgYXVmPyBXaXJkIGRlciBTcGVpY2hlciB2b24gYXVzZ2Vsb2dndGVuClNwaWVsZXJuIG5pY2h0IHdpZWRlciBmcmVpZ2VnZWJlbj8KClNpY2ggYXVmIGVpbmUgQW50d29ydCBmcmV1ZW5kLAoKWGFudGhpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZWwgT1VUU0lERSEgKEljZXQsIDEyLiBNYXIgMTk5NSwgMjE6NTY6NDYpOgojISBybj1YYW50aGlhIHJ0PTc5NTAzNDcyOApIaSwKICBJY2ggYmluIG1pciBkYSBuY2lodCBnYW56IHNpY2hlciwgd2llIGRhcyBoaWVyIGlzdCBtaXQgZGVtIFNwZWljaGVyLCBhYmVyCmljaCBrYW5uIG1hbCBzbyBhbGxnZW1laW5lIEluZm8gZGFydWViZXIgZ2ViZW4uIE5hdHVlcmxpY2ggbmljaHQKdGllZmVyZ2VoZW5kLAphYmVyIHdhcyBzb2xscy4KRGllIE9iamVrdGUsIGRpZSBlaW4gc3BpZWxlciBzbyBtaXQgc2ljaCBydW10cmFlZ3QgKHVudGVyIE9iamVrdGVuIHZlcnN0ZWh0Cm1hbiBhbGxlcywgYWxzbyBSYWV1bWUsIE5QQ3MsIFNwaWVsZXIsIE1hZ2llciwgV2FmZmVuLCBzb2dhciBHb2V0dGVyIDstKSApCmJyYXVjaGVuIG5hdHJ1ZXJsaWNoIGVpbmVuIGdld2lzc2VuIFNwZWljaGVycGxhdHouIFVtIGRhcyBnYW56ZSBzbwpyZWFpc3Rpc2NoIHdpZSBtb2VnbGljaCB6dSBtYWNoZW4sIG11ZXNzZW4gZGllc2UgR2VnZW5zdGFlbmRlIG5hdHVlcmxpY2gKYXVjaCBub2NoIG5hY2ggZWluZXIgU3R1bmRlIGlocmVuIFp1c3RhbmQgYmVoYWx0ZW4uIERpZXNlciBadXN0YW5kIHdpcmQKZ2VzcGVpY2hlcnQuCldpcmQgamV0enQgZWluIGJlc3RpbW10ZXMgT2JqZWt0IGdlcmFkZSBuaWNodCBiZW5vZXRpZ3QsIGQuaC4gZXMgbGllZ3Qgei5CLgppcmdlbmR3byBpbiBkZXIgUGFtcGEgaGVydW0sIHNvIHdpcmQgZXMgbmFjaCAoZGllc2UgWmVpdGFuZ2FiZW4gc3RpbW1lbgp3YWhyc2NoZWlubGljaCBuaWNodCwgaWNoIHphZWhsZSBudXIgbWFsIGRpZSBkZWZhdWx0cyBhdWYpIGNhLiAxNSBNaW51dGVuCmdlc3dhcHB0LCBhbHNvIGF1cyBkZW0gU3BlaWNoZXIgYXVmIGRpZSBQbGF0dGUgdmVyYmFubnQuIERpZSBWYXJpYWJsZW4sIGRpZQppbiBkZW0gT2JqZWt0IGRlZmluaWVydCB3YXJlbiwgd2VyZGVuIG5hY2ggMzAgTWludXRlbiBnZXN3YXB0IChkYXMgd2FyCmZydWVoZXIKZ2FyIG5pY2h0IGRlciBGYWxsIDooICkgTmFjaCAxIDEvMiBTdHVuZGVuIHdpcmQgZGFzIE9iamVrdCBtaXRzYW10Clp1c3RhZW5kZW4gKFZhcmlhYmxlbikgZ2FueiBhdXMgZGVtIFNwZWljaGVyIGVudGZlcm50LCB3ZW5uIGVzIGRpZXMgbmljaHQKYXVzZHJ1ZWNrbGljaCB2ZXJoaW5kZXJ0IChtYW5jaGUgU2FjaGVuIGR1ZXJmZW4gbmllIGF1cyBkZW0gU3BlaWNoZXIKZW50ZmVybnQgd2VyZGVuLCBzb25zdCBsYWV1ZnQgZ2FyIG5peCBtZWhyKS4KQmlzIGVzIGRpZXNlIDEgMS8yIFN0dW5kZW4gbmljaHQgYmVudXR6dCB3dXJkZSwgd2lyZCBlcyB2aWVsbGVpY2h0IGF1ZgpQbGF0dGUgYXVzZ2VsYWdlcnQsIGFiZXIgenVtIFNwZWljaGVydmVyYnJhdWNoIGRhenVnZXphZWhsdC4gSWNoIHdlaXNzIG5pY2h0LAphdWYgd2FzIHNpY2ggZGllIDQwTUIgYmV6aWVoZW4sIGRpZSBNRyBiZW5vZXRpZ2VuIHNvbGwuIFVuZCBtZWhyIGFscwoyNC0yNU1CIGhhYmUgaWNoIGluIGRlbiBsZXR6dGVuIFRnYWVuIG5pY2h0IGZlc3RzdGVsbGVuIGtvZW5uZW4uIEFiZXIgaWNoCmdsYXViZSBhdWNoIG5pY2h0LCBkYXNzIGVpbiBNVUQgZGVyIEdyb2Vzc2Ugdm9uIE1HIHVlYmVyIGVpbmUgV29jaGUgbWl0IG51cgo2NE1CIFJhbSBhdXNrb21tdC4KWnUgZGVtIFBlbnRpdW0tVGhlbWE6IGFuc2NoZWluZW5kIGthcGllcmVuIGVpbmlnZSBuaWNodCwgZGFzcyBkaWUgQWJzdHVlcnplCipuaWNodHMqIG1pdCBkZW0gUGVudGl1bSBvZGVyIGFsbGdlbWVpbiBkZXIgUEMtQXJjaGl0ZWt0dXIgenUgdHVuIGhhYmVuLgpFcyBpc3QgZGVyIEdhbWVkcml2ZXIuIFVuZCBkYXMgaXN0IGdhbnogbm9ybWFsLCBkYXNzIGRlciBBbmZhbmcgbmljaHQKc2VociBzdGFiaWwgbGFldWZ0IGF1ZiBuZXIgbmV1ZW4gUGxhdHRmb3JtLiBBdmFsb24gc2VnZWx0IG1pciBpbW1lcgp3aWVkZXIgYWIgYXVmIGRlciBTcGFyYzEwIChpbSBNb21lbnQgYXVjaCB1ciBtaXQgNjRNQiA6KCApIGFiZXIgc2VpdAplaW5pZ2VyIFplaXQgaGFiZSBpY2ggaWhuIHJlbGF0aXYgc3RhYmwgaGluYmVrb21tZW4uIERhIHNvbGx0ZSBtYW4gc2ljaCwKYXVjaCB3ZW5uIGVzIGVpbmVuIGFscyBTcGllbGVyIHRpZXJpc2NoIG5lcnZ0LCBtYWwgaW4gR2VkdWxkIHVlYmVuLiBadW1hbApuaWVtYW5kIGRlciBTcGllbGVyIG9kZXIgTWFnaWVyIGVpbmVuIEFuc3BydWNoIGF1ZiBNRyBoYXQuCkhpZXIgbW9lY2h0ZSBpY2ggbWFsIGVpbmVuIFNhdHogeml0aWVyZW4sIGRlciBhbSBBbmZhbmcgdmllbGVyIGVuZ2xpc2NoLQpzcHJhY2hpZ2VyIE1VRHMgc3RlaHQ6CgogIE1VRGluZyBpcyBub3QgYSByaWdodCwgaXQncyBhIHByaXZpbGVnZSEKCmluIGRpZXNlbSBTaW5uZSwKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJbnRlbCBPVVRTSURFISAoVG9zcywgMTIuIE1hciAxOTk1LCAyMjoxMzoxOCk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk1MDM0NzI4CkpBdSwgSWNlVCBoYXRzIHdvaGwgemllbWxpY2ggZ2VuYXUgZ2VzYWd0LgoxMDAgJSBlcmtsYWVyZW4ga2FubiBpY2hzIGF1Y2ggbmljaHQsIGFiZXIgcHJpbnppcGllbGwga2FubnN0ZXMgc28KYXVzcmVjaG5lbjoKSmVkZXIgUmF1bSwgamVkZSBXYWZmZSwgamVkZXMgT2JqZWt0IHVuZCBkaWUgenVnZWhvZXJpZ2VuIEZ1bmt0aW9uZW4KYmVub2V0aWdlbiBTcGVpY2hlci4gRGllc2Ugd2VyZGVuIGdlbGFkZW4sIHdlbm4gc2llIGplbWFuZCBiZWkgc2ljaCB0cmFlZ3QKb2RlciBiZW51dHp0IG9kZXIsIGJlaSBSYWV1bWVuLCBiZXRyaXR0LiBTbyBrYW5uc3QgRHUgRGlyIGphIGFsbGVpbmUgYW5oYW5kCmRlciByYWV1bWUgc2Nob24gYXVzcmVjaG5lbiwgd2lldmllbCBTcGVpY2hlciBkaWUgYnJhdWNoZW4uLi4gd2VubiBEdSBlaW5tYWwKdm9uIFBvcnQgVmFpbiB6dW0gRWxmZW5kb3JmIHJlbm5zdCwgd2VyZGVuIGNhLiA4MCBSYWV1bWUgZ2VsYWRlbiwgZGllIGFsbGVpbmUKdm9tIFRleHQgZGVyIGxhbmdiZXNjaHJlaWJ1bmcgdW5kIGRldGFpbHMgc2ljaGVybGljaCBqZXdlaWxzIDEtMmsgYXVzbWFjaGVuLi4uCmRpZXNlIFJhZXVtZSBibGVpYmVuIGZ1ZXIgMSAob2RlciAyLCB3ZWlzcyBuaWNodCkgcmUKcmVzZXRzIGltIHNwZWljaGVyIGRyaW4uIFNvLCA4MCByYWV1bWUgcmVubnN0IGR1IGxvY2tlciBpbiAxIG1pbnV0ZSBhYiwgZGFubgprYW5uc3RlIGRpciBqYSBhdXNyZWNobmVuLCB3YXMgYmlzIHp1IDE2MCBzcGllbGVyIGluIHNwaXR6ZW56ZWl0ZW4gZnVlciBlaW5lCnJpZXNlbmFuemFobCB2b24gcmFldW1lbiBsYWRlbi4uLgpEYXp1IGtvbW10LCBkYXMgYXVjaCBsYXVmZW5kZSBtb25zdGVyIHNwZWljaGVyIGJlbGVnZW4sIHdlaWwgZGllIHJhZXVtZSwgaW4KZGVuZW4gZGllIHJ1bXJlbm5lbiwgamEgYXVjaCBnZWxhZGVuIHdlcmRlbiwgb2IgZWluIHNwaWVsZXIgZGEgaXN0IG9kZXIgbmljaHQuCkRhbm4gbmF0dWVybGljaCBkaWUgb2JqZWt0ZSwgZGllIHNwaWVsZXIgc28gbWl0IHNpY2ggcnVtc2NobGVwcGVuLi4uIHdlbm4gZHUKbmFjaCB4IHN0dW5kZW4gbXVkZGVuIGVuZGxpY2ggaW5zIG5ldHp0b3RlbnJlaWNoIGFidGF1Y2hzdCBiaXN0ZSBqYSBpbW1lciBub2NoCmltIHNwZWljaGVyLCB1bmQgYmVsZWdzdCBhdWNoIGRvcnQgcGxhdHouIGljaCBtZWluZSBtaWNoIHp1IGVyaW5uZXJuLCBkYXNzIGpvZgptYWwgd2FzIHZvbiA2MDAgc3BpZWxlcm4gaW0gbmV0enRvdGVucmF1bSBlcnphZWhsdGUuLi4gamVkZXIgYmVsZWd0IHdpZWRlcnVtClhYIGsgYW4gc3BlaWNoZXIuLi4gc28gbWFjaHQgdmllbCBrbGVpbnZpZWggZWluZSBtZW5nZSBtaXN0LCBkZXIgYWJnZXNwZWljaGVydAp3ZXJkZW4gbXVzcywgdW5kIGRhZnVlciwgbGFuZ2UgcmVkZSwga3VyemVyc2lubiwgYnJhdWNoZW4gd2lyIGViZW4gZWluZW4KcmVjaG5lciBtaXQgMTI4TS4KQWVoIC0gbmF0dWVybGljaCBrb21tZW4gd2lyIGF1Y2ggbWl0IHdlbmlnZXIgYXVzLi4uIGFiZXIgd2VubiB3aXIgbnVyIHouQi4gMzIKTUIgaGFldHRlbiwgd2FlcmUgaGFsdCBqZWRlbiAyLiB0YWcgZWluIGF1dG9tYXRpc2NoZXIgcmVib290IHdlZ2VuCnVlYmVyZnVlbGx0ZW4gc3BlaWNoZXJzLi4uIGRhIHNwZW5kZSBpY2ggZGFubiBkb2NoIGxpZWJlciBmdWVyIGV0d2FzIG1laHIKc3BlaWNoZXIsIGRhIGhhYmVuIHdpciBhbGxlIG1laHIgdm9uIDopKQoKClJ5bmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbXJpcyBNVVNIIChDYWhpZWwsIDEzLiBNYXIgMTk5NSwgMDA6MjA6MDApOgpOYWphIC4uLiBpbW1lcmhpbiBlaW5lIHdlbmlnZXIgdmVybmljaHRlbmRlIG5hY2hyaWNodCB2b24gT2RvIC4uIERhbmtlICEKQW5zb25zdGVuIGthbm4gaWNoIG51ciBzYWdlbjoKMS4gSXN0IGVzIHNvIHdpY2h0aWcgZGFzIG1hbiBtaXQgZW5kZSBvZGVyIG1pdCBzY2hsdXNzIG9kZXIgc29uc3R3YXMKICAgZWluIFNwaWVsIGJlZW5kZW4gd2lsbCBtaXQgUVVJVCBnZWh0IGRhcyBhdWNoIHVuZCBmdWVyIG1laW5lbiBUZWlsCiAgIGthbm4gZGFzIGF1Y2ggdWViZXJzZXR6ZW4uIERpZXMgaXN0IHdvaGwgZGFzIGVpbnppZ2Ugd2FzIHZvbiBpbnRlcmVzc2UKICAgaXN0LgoyLiBEYXMgaGVscCAuLi4gTnVuIGd1dCBnZWJ0IHVucyBlaW5lIGdld2lzc2UgY2hhbmNlIHdpciBzaW5kIGRhYmVpIGVzIHp1CiAgIHVlYmVyc2V0emVuLCBwcm9iaWVydCBlcyBub2NoIG1hbCBhdXMgdW5kIGlociBrb2VubnQgZGllc21hbCBhdWNoCmJlc3RpbW10CiAgIGhpbGZlIGFuc3RhdHQgaGVscCB0aXBwZW4gaWhyIG11ZXNzdCBlcyBhdWNoIG5pY2h0IEdST1NTIHNjaHJlaWJlbi4KICAgSWNoIGdlYmUgenUgZGVyIGhlbHAgdGV4dCB3YXIgZ2V3aXNzZSBaZWl0IG5pY2h0IHZlcmZ1ZWdiYXIgdW5kIGRhcwpzb2xsdGUKICAgbnVuIHdpcmtsaWNoIG5pY2h0IHVtYmVkaW5ndCBwYXNzaWVyZW4uIFByb2JpZXJ0IGVzIGRvY2ggbm9jaG1hbCA7KQozLiBFaW4gTVVTSCBpc3QgZXR3YXMgYW5kZXJlcyBhbHMgZWluIE1VRC4gSWNoIHdlaXNzIG5pY2h0IHdhcnVtIGlociBnbGF1YnQKICAgZGFzIGFsbGVzIHdpZSBpbiBNb3JnZW5HcmF1ZW4gZnVua3Rpb25pZXJlbiBzb2xsLgogICBFaW4gTVVTSCBpc3Qga2VpbiBQbGF0eiB3byBtYW4gTW9uc3RlciBuYWNoIE1vbnN0ZXJuIGtsYXRzY2h0IHVuZCBzaWNoCiAgIGRhbm5hY2ggZnJhZWd0IHdvIGlzdCBqZXR6dCBkYXMgbmFlY2hzdGUgbW9uc3RlciB6dW0ga2xhdHNjaGVuLgogICBFaW4gTVVTSCBpc3QgZWluIHNwaWVsIGluIGRlbSB6dXNhbW1lbiwgZ2VtZWluc2FtIGFuIGVpbmVyIFdlbHQKZ2VhcmJlaXRldAogICB3aXJkIGluIGRlciBnZW1laW5zYW0gQWJlbnRldWVyIGVybGVidCB3ZXJkZW4uIEluIGVpbmVtIE1VU0ggc3BpZWx0IG1hbgogICBtaXRlaW5hbmRlci4KNC4gWnVyIHVlYmVyc2V0enVuZyBub2NoIGVpbiB3b3J0LiBXaXIgYXJiZWl0ZW4gZHJhbiB1bmQgc2luZCBhdWNoIHNjaG9uCiAgIGVpbiBndXRlcyBzdHVlY2tjaGVuIHdlaXRlciwgZGVubm9jaCBpY2ggd2lsbCBtaWNoIG5pY2h0IHRvdHVlYmVyc2V0emVuCiAgIHVtIG1pciBkYW5uIHNvbGNoZSBtZXNzYWdlcyBkdXJjaHp1bGVzZW4uIFdhcyBpY2ggc2FnZW4gd2lsbCBpc3QgaWNoCiAgIHdpbGwgZGllc2VzIE1VU0ggdm9uIExldXRlbiBiZW51dHp0IHNlaGVuIGJldm9yIGljaCBtaWNoIHp1IHNlaHIgaW4KICAgZGllIEFyYmVpdCBzY2htZWlzc2UuIEljaCBkYWNodGUgZG9jaCBkYXMgZGllIG1laXN0ZW4gTGV1dGUgZG9jaCBlaW4KICAgd2VuaWcgZW5nbGlzY2ggYmVoZXJyc2NoZW4gdW0gZGFzIGFsbGVzIHp1IHZlcnN0ZWhlbi4KCkd1dCBOdW4gLi4uIGFsc28gYWxsZXMgaW4gYWxsZW0gaG9mZmUgaWNoIGRvY2ggZGFzIGlociBub2NobWFsIHZvcmJlaXNjaGF1dApVbmQgZGFzIGlociB2ZXJzdGVodCBkYXMgaW4gZWluZW0gTVVTSCBldHdhcyBhbmRlcmVzIHBhc3NpZXJ0IGFscyBpbiBlaW5lbQpNVUQgdW5kIGluIGVpbmVtIE1VU0ggd2lyZCB6LkIuIGRpZSBXZWx0IGdlbWVpbnNhbSBnZXNjaGFmZmVuIG5pY2h0IHZvbgpXaXphcmRzLiBBbHNvIGJyYXVjaGVuIHdpciBMZXV0ZSBkaWUgbWl0IHVucyBzbyBldHdhcyBtYWNoZW4gd29sbGVuLgoKSWNoIGVya2xhZXJlIGV1Y2ggZ2VybmUgYWxsZXMKaW4gSW1icmlzIDspICAgICBzdW4xLmxyei1tdWVuY2hlbi5kZSA2MjUwCgpFdXJlIENhaGllbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVsIE9VVFNJREUhIChCb2luZywgMTMuIE1hciAxOTk1LCAxMjozNDoxOCk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0OTIwNzIzCkRlciBSZWNobmVyLCBkZXIgZGllIHNhdmVmaWxlcyB6ZXJsZWd0IGhhdCB3YXIgZWluZSBTcGFyYyAyMCwgYWxzbyBzY2hlaWRldApzb3dhcyBuYWNoCkRlaW5lciBBcmd1bWVudGF0aW9uIGF1Y2ggZ2xlaWNoIG1hbCBhdXMgLi4uCkF1c3NlcmRlbSBiZWRhbmtlbiB3aXIgdW5zIGZ1ZXIgZGVuIHVuZ2xhdWJsaWNoIGtvbnN0cnVrdGl2ZW4gQmVpdHJhZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZWwgT1VUU0lERSEgKEJvaW5nLCAxMy4gTWFyIDE5OTUsIDEyOjM3OjU2KToKIyEgcm49VG9zcyBydD03OTUwMzI3MTYKQWxsZSAxMiBTdHVuZGVuPyBPcHRpbWlzdCAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSW50ZWwgT1VUU0lERSEgKEJvaW5nLCAxMy4gTWFyIDE5OTUsIDEyOjUxOjA0KToKIyEgcm49VG9zcyBydD03OTUwNDI3OTgKQWxzbyBlaW4gZHVyc2Nobml0dGxpY2hlciBSYXVtIGJyYXVjaHQgendpc2NoZW4gNSB1bmQgMjBrIFNwZWljaGVyLCBqZQpuYWNoIEJlc2NocmVpYnVuZ2VuIC4uLiBFeHRyZW0gU3BlaWNoZXIgYnJhdWNoZW4gZGllIEJlc2NocmVpYnVuZ2VuIGRlcgpTZWhlcmhhZXVzZXIgKHdpZSBpY2ggZWJlbiBzZWhlKSwgZGEgc2NoZWluZW4gc2ljaCBlaW5pZ2UgZ2FueiBzY2hvZW4Kd2FzIGVpbmZhbGxlbiB6dSBsYXNzZW4gOikKQWJzb2x1dGVyIFJla29yZCBpc3QgUmF1bSA1IHZvbiBSeW5lIG1pdCBjYS4gNzVrIC4uLgpJbnNnZXNhbXQgZ2lidCBlcyAzMCBTZWhlcnJhZXVtZSBtaXQgbWVociBhbHMgMTVrIFNwZWljaGVydmVyYnJhdWNoLgpEaWUgc29sbCBqZXR6dCBuaWNodCBoZWlzc2VuLCBkYXNzIFNlaGVyIHNpY2ggZWluc2NocmFlbmtlbiBtdWVzc2VuLCBpY2gKbW9lY2h0ZSBudXIgdmVyZGV1dGxpY2hlbiBkYXNzIGVpbiBndXQgYmVzY2hyaWViZW5lciBSYXVtIGRldXRsaWNoIG1laHIKU3BlaWNoZXIgdmVyYnJhZXQgYWxzIDEtMmsuIERpZSBuZXR6dG90ZW4gU3BpZWxlciAoYXVjaCB3ZW5uIGVzIDYwMCBzaW5kKQpmYWxsZW4gbmljaHQgc29uZGVybGljaCBpbnMgR2V3aWNodCwgZGEgc2llIGF1c2dlc3dhcHB0IHNpbmQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEludGVsIE9VVFNJREUhIChMaSwgMTMuIE1hciAxOTk1LCAxMzoyMDoxMik6CiMhIHJuPUJvaW5nIHJ0PTc5NTA5NTQ2NApKYSBSeW5lcyBIYXVzIGlzdCBrbGFzc2UsIGthbm4gaWNoIG51ciB3ZWl0ZXJlbXBmZWhsZW4sIGF1Y2ggd2VubiBkYXMgamV0enQKbmljaHQgaGllcmhlcmdlaG9lcnQuLi4uCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoSGFyLCAxMy4gTWFyIDE5OTUsIDEzOjQzOjM5KToKIyEgcm49R3d5bmRvbiBydD03OTQ5NjYzNzIKRGllc2UgZGFlbWxpY2hlIERpc2t1c3Npb24gZXJuaW5uZXJ0IG1pY2ggYW4gRGlza3Vzc2lvbmVuLCBkaWUgaWNoIG1pdCBMZXV0ZW4KaGF0dGUsIGRpZSBhdWNoIG1laW50ZW4sIG1hbiBrb2VlbiBhdWYgZWluZXIgMzAwMC4tIHRldXJlbiBTdGVyZW9hbmxhZ2Uga2VpbmUKbXVzaWsgaG9lcmVuIHVuZCBkaWUgZGFiZWkgbm9jaCBuaWNodCBlaW5tYWwgbmVuIFF1aW50ZW56aXJrZWwgYmVoZXJyc2NoZW4uLi4uClNvbGNoZSBBcmd1bWVudGF0aW9uZW4gd2llIGdlcmFkZSBzaW5kIHNjaHdhY2hzaW5uaWcgdW5kIGFlbWxpY2ggdW5kIHdlbm4gRHUKbWVpbnN0IGRlciBSZWNobmVyIHJlaWNodCBEaXIgbmljaHQgLSBob2VyIGVpbmZhY2ggYXVmIHp1IHNwaWVsZW4gOikKCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVsIE9VVFNJREUhIChKb2YsIDEzLiBNYXIgMTk5NSwgMTQ6MDM6MzgpOgojISBybj1Hd3luZG9uIHJ0PTc5NDkyMDcyMwogSWNoIGhhYiBrZWluZSBBaG51bmcsIHdhcyBEdSBnZWdlbiBlaW5lbiBQQyBlaW56dXdlbmRlbiBoYXN0IC0gd2VubiBlaW4KR1VURVMgT1MgZHJhdWYgbGFldWZ0LCBpc3QgTUlSIHp1bWluZGVzdCBkaWUgSGFyZHdhcmUsIGRpZSBkcnVudGVybGllZ3QsCnppZW1saWNoIHNjaG51cHBlLiBVbmQgTGludXggSVNUIElNSE8gZWluIEdVVEVTIE9TLiBEaWUgSGFyZHdhcmUgaXN0IG51bgphdWNoIG5pY2h0IFNPTyBzY2hsZWNodCAtIGRlciBQZW50aXVtIGhhdHRlIHp3YXIgRlAtQnVncywgYWJlciBhKSBzaW5kIGRpZQpiZWkgRElFU0VNIFA5MCBnZWZpeGVkLCBiKSBicmF1Y2h0IE1HIGtlaW4gRlAsIHVuZCBjKSBpc3QgendhciBhdWNoIERJRVNFClBlbnRpdW0gbmljaHQgZmVobGVyZnJlaSAtIGFiZXIgaWNoIHdhZ2UgenUgYmVoYXVwdGVuLCBkYXMgZXMga2VpbmVuCmZlaGxlcmZyZWllbiBQcm96ZXNzb3IgZ2ludC4KCiBTYXZlZmlsZXMgemVybGVndCBoYXQgZGllc2VyIFJlY2huZXIgbm9jaCBuaWNodCAtIGRhcyB3YXIgc2FudGFuYSwgZWluZQpTdW4gU3BhcmNTdGF0aW9uIDIwLzYxMi4gRGllc2UgTWFzY2hpbmUgd3VlcmRlIHVucyBzbywgd2llIHNpZSBkYSBzdGVodCwgY2EKNTAwMDAtNjAwMDAgTWFyayBrb3N0ZW4gdW5kIGRhZnVlciBjYSA3OCBTcGVjSU5UOTIgSW50ZWdlcmxlaXN0dW5nIGJpZXRlbgooYXVmIGRpZSBrb21tdHMgZnVlcnMgTXVkIGFuKS4gRWluIFAxMDAsIHdpZSB3aXIgaWhuIGFuc3RyZWJlbiwgYmlldGV0IGZ1ZXIKY2EgMTAwMDAgTWFyayBldHdhcyBtZWhyIGFscyAxMDAgU3BlY0lOVDkyLiBQb3dlclBDcyBnaWJ0cyBhdWNoIGluIGRlciBHZS0Kc2Nod2luZGlna2VpdHNrbGFzc2UgLSBtaXQgMTI4IE1CIGtvc3RldCBkaWUgamVkb2NoID4yMDAwMCBNYXJrLCB1bmQgZXMKZ2lidCBrZWluIGJyYXVjaGJhcmVzIE9TIGRhZnVlciAoUFBDIExpbnV4IGlzdCBub2NoIG5pY2h0IHNvIHdlaXQsIEFJSUlJSVgKaXN0IGVrbGlnLCB1bmQgdWViZXIgV2luZG9vZiBOVCBtdWVzc2VuIHdpciB3b2hsIG5pY2h0IHJlZGVuKS4gU0dJIHNjaGVpZGV0CmF1cyAtIHp1IHRldWVyLCBJUklYIGlzdCBoYWVzc2xpY2ggKE5GIGxhZXVmdCBkZXJ6ZWl0IG1laHJtYWxzIHRhZWdsaWNoIGF1ZgplaW5lbiBJUklYIGJ1ZyB1bmQgYmxlaWJ0IGhhZW5nZW4pLiBEZW1uYWNoIHNlaGUgaWNoIGtlaW5lIEFsdGVybmF0aXZlCnp1IGVpbmVtIEludGVsLVBDIC0gdW5kIGljaCBmaW5kZSBlaW5lbiBQZW50aXVtIG1pdCBQQ0ktQnVzIHVuZCBTQ1NJLVBsYXR0ZW4KYXVjaCB3aXJrbGljaCBuaWNodCB1ZWJlbC4gQWJnZXNlaGVuIGRhdm9uLCBkYXMgd2lyIGRlcnplaXQgSGFyZHdhcmUtUHJvLwpibGVtY2hlbiBoYWJlbiAodmVybXV0bGljaCBlaW4gZGVmZWt0ZXMgU0lNTSwgZGFzIGhhdCBuaXggbWl0ICdJbnRlbCcgb2RlcgpuaWNodCB6dSB0dW4sIGhhYmVuIHdpciBhdWYgZGVyIFNVTiBhdWNoIGRhdWVybmQpLCBpc3QgZGllIEtpc3RlIChiaXNoZXIKJ251cicKUDkwKSBzZWhyIHp1ZnJpZWRlbnN0ZWxsZW5kLCBzY2huZWxsZXIgYWxzIFNhbnRhbmEuIEJlaSBkZXIgR2VsZWdlbmhlaXQKYXVjaCBzY2hvZW5lbiBEYW5rIGFuIGRpZSBGaXJtYSBUTEsgTXVlbnN0ZXIsIGRpZSB1bnMgZGllIEhhcmR3YXJlCnp1bSB0ZXN0ZW4gZnVlciBlaW5pZ2UgV29jaGVuIHVlYmVybGFlc3N0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZWwgT1VUU0lERSEgKEpvZiwgMTMuIE1hciAxOTk1LCAxNDowNzo1Mik6CiMhIHJuPUd3eW5kb24gcnQ9Nzk0OTY3MjA0CiBOZSBnZWJyYXVjaHRlIFN1biBoYXQgV29lbGtjaGVuIGF1Y2ggc2Nob24gYW5nZWJvdGVuIChDbGFzc2ljKSAtIGRhcyBpcwpuaXguIFdpciBzaW5kIHNlaW5lcnplaXQgdm9uIHBhc2NhbCBydW50ZXIsIHdlaWwgZXIgenUgTEFOR1NBTQp3YXIgKHBhc2NhbCB3YXIgZWluZSBTUzEwLzIwKS4gRXMgbXVzcyBNSU5ERVNURU5TIG5lIFNTMjAvNjEgc2VpbiwKdW5kIHNvIGVpbmUgd2lyZCBrZWluZSBVbmkgdmVyc2NoZXJiZWxuIChlaGVyIG5ldSBrYXVmZW4pLiBBbGxlcyBhbmRlcmUKc3UgenUgbGFobS4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEludGVsIE9VVFNJREUhIChKb2YsIDEzLiBNYXIgMTk5NSwgMTQ6MTE6MzMpOgojISBybj1YYW50aGlhIHJ0PTc5NTAzNDcyOApOZWluLCBlcyBrYW5uIG5pY2h0IHNhZW10bGljaGVyIFNwZWljaGVyIHdpZWRlciBmcmVpZ2VnZWJlbiB3ZXJkZW4gLSB6QgpzY2hsYWZlbiBkaWUgbWVpc3N0ZW4gU3BpZWxlciBudXIgZWluLCBpaHJlIFNhY2hlbiBiZWhhbHRlbiBzaWUgYWxzby4uLgpBdWNoIHZpZWxlIGFuZGVyZSBPYmpla3RlIGtvZW5uZW4sIG5hY2hkZW0gc2llIGVpbm1hbCBlcnpldWd0IHd1cmRlbiwgbmljaHQKc28gb2huZSB3ZWl0ZXJlcyB3aWVkZXIgdmVybmljaHRldCB3ZXJkZW4sIG9obmUgZWluZW4gbG9naXNjaGVuIEJydWNoIHp1IGVyLQp6ZXVnZW4gLSB3aWUgc29sbHRlIG1hbiBTcGllbGVybiBlcmtsYWVyZW4sIGRhcyBpaHJlIFF1ZXN0LU9iamVrdGUvV2FmZmVuLwpCbGFibGEgcGxvZXR6bGljaCB2ZXJzY2h3dW5kZW4gc2luZCwgbnVyIHdlaWwgc2llIGVpbmdlc2NobGFmZW4gc2luZCAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEludGVsIE9VVFNJREUhIChBY3JpbW9uLCAxMy4gTWFyIDE5OTUsIDE2OjEzOjQ4KToKIyEgcm49R3d5bmRvbiBydD03OTQ5NjcyMDQKRHUgaGFzdCBJbmZvcywgd2VsY2hlIEluc3RpdHV0ZSB3ZWxjaGUgU3VucyBhYnN0b3N6dGVuPwpHcm9zemFydGlnLCBHd3luZG9uIQpJbmZvcm1pZXIgdW5zIGJpdHRlLCB3ZW5uIGVpbiBSZWNobmVyIGRhYmVpIGlzdCwgZGVyIGluIEZyYWdlIGtvbW10IChlciBtdXN6CmF1c3JlaWNoZW5kIHNjaG5lbGwgc2VpbiB1bmQgc2VpbmUgRXRoZXJuZXQtS2FydGUgbXVzeiBlaW5lIGdhbnplIE1lbmdlIGFuCkNvbm5lY3RzL0Rpc2Nvbm5lY3RzIHZlcnRyYWdlbikhCldpciB3ZXJkZW4gZGllc2VuIFJlY2huZXIgZGFubiBzaWNoZXJsaWNoIHRlc3Rlbi4KCkdydXN6LApBY3JpbW9uCgpVbmQgaGllciBub2NoIGVpbmUgcGVyc29lbmxpY2hlIEFubWVya3VuZzoKQXVjaCBpY2ggd2VyZGUgZ2FyYW50aWVydCBrZWluIEdlbGQgZnVlciBlaW5lIEludGVsLVBsYXR0Zm9ybSBzcGVuZGVuLCBhdWNoCmJlaSBNRyBuaWNodC4KSWNoIHdlcmRlIHZpZWwgR2VsZCBzcGVuZGVuLCBhYmVyIG51ciB3ZW5uIG1hbiBlaW5lIGJlc3NlcmUgUGxhdHRmb3JtCnZlcndlbmRldC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlbCBPVVRTSURFISAoVG9zcywgMTMuIE1hciAxOTk1LCAxNjoxOTo1Mik6CiMhIHJuPUFjcmltb24gcnQ9Nzk1MTA3NjI4CmlzdCBkaWUgcGVyc29lbmxpY2hlIGFubWVya3VuZyBlcm5zdCBnZW1laW50LCBhY3JpbW9uID8KaG1tLgoKZGF6dSBmYWVsbHQgbWlyIG5pY2h0cyBlaW4sIGF1c3NlciwgZGFzcyBkYXMgZGVyIGF1c2dlbWFjaHRlc3RlIHF1YXRzY2ggaXN0LApkZW4gaWNoIG1pciBhbCBiZWdydW5kZXVuZyBmdWVyIGVpbiBuaWNodC1zcGVuZGVuIHZvcnN0ZWxsZW4ga2Fubi4KClp1bSBnbHVlY2sgaGFiZW4gaGllciBuaWNodCBhbmRlcmUgc28gZWluZSBlaW5zdGVsbHVuZyAtIGhvZmZlbnRsaWNoLgoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSW50ZWwgT1VUU0lERSEgKEtyZXRlaywgMTMuIE1hciAxOTk1LCAxNzozMTo1MSk6CiMhIHJuPUFjcmltb24gcnQ9Nzk1MTA3NjI4CkRFUFAhCgpMaWVzIGRvY2ggZGllIE1QQSwgaW5mb3JtaWVyIGRpY2ggbWFsIHVlYmVyIFN5c3RlbWUsIHVlYmVybGVnIG1hbCBnYW56CnNvcmdmYWVsdGlnLCBvYiBkaWUgWnV2ZXJsYWVzc2lna2VpdCBqZXR6dCBudXIgdm9uIGRlciBIYXJkd2FyZSBvZGVyCnZpZWxsZWljaHQgZG9jaCBhdWNoIGVpbiBnYW56IGtsZWluZXMgYmlzc2NoZW4gdm9tIE9TIGFiaGFlbmd0ICh1bmQgTElOVVgKei5CLiB3YWVyZSBfd2lya2xpY2hfIGd1dCEpLCB1bmQgREFOTiBnaWIgbWFsIHNvIHVucXVhbGlmaXppZXJ0ZSBLb21tZW50YXJlCmFiIQpJbiBkZXIgWndpc2NoZW56ZWl0IGthbm5zdCBkdSBkaXIgamEgYXVmIGVpbmVtIGFsdGVuIEM2NCBlaW4gVGV4dGFkdmVudHVyZQpsYWRlbiB1bmQgZGljaCBkYSBtYWwgYWxsZWluZSBzbyByaWNodGlnIGF1c3dlaW5lbi4KCktyZXRlawooc2F1ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlbCBPVVRTSURFISAoSWNldCwgMTMuIE1hciAxOTk1LCAxNzo1OTo1MCk6CiMhIHJuPUFjcmltb24gcnQ9Nzk1MTA3NjI4ClNvIGVpbiBhdXNnZW1hY2h0ZXIgU2Nod2FjaGZ1ZywgQWNyaW1vbi4KRWluZW4gUmVjaG5lciBpbiBkZXIgUHJlaXNrbGFzc2UgbWl0IGRlciBSZWNoZW5sZWlzdHVuZyB3aWUgYmVpbSBQOTAgLyBQMTAwCmJla29tbXN0ZSBhdWNoIGdlYnJhdWNodCBiZWkgU3VuIG5pY2h0LgpVbmQgYXVjaCBiZWkgU3BhcmMtQ2xvbmVzIGthdW0gKG9id29obCBiaXMgenUgMzAlIGJpbGxpZ2VyKQogQWJlciB3ZW5uIGR1IHdpbGxzdCBrYW5ucyBqYSBKb2YvQm9pbmcgbWl0IG5lbSBBbWlnYSBhdXNwcm9iaWVyZW4uCk1laW5ldHdlZ2VuIG1pdCA2ODA2MC4gQWJlciBiaXR0ZSBiZXNjaHJhZW5rdCBkYW5uIGF1ZiAxNSBTcGllbGVyLCB3ZWlsIGRhcwpMYWcgc29uc3QgdW5lcnRyYWVnbGljaCBpc3QuClNvbGNoZSAiUHJpbnppcGllbiIgc2luZCBuaWNodHMgYW5kZXJlcyBhbHMgbmVydnRvZXRlbmQuIFNvbGNoZSBMZXV0ZSBzb2xsdGVuCm1hbCBkaWUgQXVnZW4gYXVmbWFjaGVuIHVuZCBzaWNoIGRlciBSZWFsaXRhZXQgb2VmZm5lbi4KRGllIFpYODEvVkMyMC9DNjQvQW1pZ2EtWmVpdGVuIHNpbmQgbGFuZ2Ugdm9yYmVpIHVuZCBkaWUgWmVpdGVuLCBpbiBkZW5lbiBtYW4KZWluZSBTdW4gZnVlciAxMDAwMERNIGJla29tbXQgbmljaCBuaWNodCBkYS4KCi1JY2VUIChzYXVlciBiZWkgc29sY2hlbSBob2hsZW4gR2VzY2htYXJyIHdpZSB2b24gQWNyaW1vbiwgaWNoIGthbm5zIG5pY2h0CmFuZGVycyBzYWdlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEludGVsIE9VVFNJREUhIChDYXJhZGhyYXMsIDEzLiBNYXIgMTk5NSwgMTg6MzY6NDkpOgojISBybj1LcmV0ZWsgcnQ9Nzk1MDMzMDk4CiAgICAgICAgICAgICBIdWh1CgpOby13aGVyZS1MYW5kIGlzdCBzY2hvbiBzZWl0IGxhbmdlbiB6dSwgYnp3LiB3aXJkIG5pY2h0cyBtZWhyIGVyd2VpdGVydApkb3J0LCBzZWl0IGNhLiBFbmRlIDE5OTIgc2NoYWV0emUgaWNoIG1hbC4gRWluIG5ldWVzIG11ZCB3YXIgZG9ydCBpbQpBdWZiYXUsIGFiZXIgaXN0IG5pZSBmZXJ0aWcgZ2V3b3JkZW4uIFdhcmVuIHp1IHdlbmlnIExldXRlIGRvcnQgenVtClByb2dyYW1taWVyZW4uIFZpZWxsZWljaHQgd2lyZHMgamEgaW4gZWluIHBhYXIgSmFocmVuIG1hbCB3YXMuICpncmlucyoKKnNldWZ6KiBXYXIgbWVpbiBhbGxlcmVyc3RlcyBNdWQuLi4gKmphbW1lciogKk5vc3RhbGdpZSogZGFzIHdhcmVuIG5vY2gKWmVpdGVuIDE5OTAsIGFscyBpY2ggbmljaHQgbWFsIHd1c3N0ZSBkYXNzIG1hbiBuIGVpbnRpcHBlbiBrYW5uIHVtIG5hY2gKbm9yZGVuIHp1IGdlaGVuIHVuZCBSdWVzdHVuZ2VuIGFuemllaGVuIGthbm4gOikKCiAgICAgICAgQ2FyYWRocmFzIC0gRXgtV2l6YXJkIGF1cyBOby1XaGVyZS1MYW5kIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbCBPVVRTSURFISAoQ2F0d2VhemxlLCAxMy4gTWFyIDE5OTUsIDE4OjQzOjU5KToKIyEgcm49Sm9mIHJ0PTc5NTA5OTgxOApEdSBoYXN0IGRpZSBkZWMgYWxwaGEgdmVyZ2Vzc2VuLCBtaXQgZGVuIDMwMCBTcGVjSU5UOTJzIDotKQpBYmVyIGRlciBwcm96ZXNzb3IgaGF0IGF1Y2ggZXJzdCBpbiBuZW0gaGFsYmVuIEphaHIgZWluIE1haW5ib2FyZCA6LSgKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlbCBPVVRTSURFISAoQ2F0d2VhemxlLCAxMy4gTWFyIDE5OTUsIDE4OjUxOjAxKToKIyEgcm49QWNyaW1vbiBydD03OTUxMDc2MjgKSWNoIGdsYXViZSwgZGllIG1laXN0ZW4gdm9uIEV1Y2ggdW50ZXJzY2hhZXR6ZW4gZGVuIFBlbnRpdW0tUHJvemVzc29yLgpUYXRzYWVjaGxpY2ggaGFiZSBhdWNoIGljaCBiaXMgdm9yIGt1cnplbiB1bnNlcmUgd3VuZGVyc2Nob2VuZW4gTWF0aGVtYXRpay0KU3VucyBmdWVyIGRpZSBSZWNobmVyIHNjaGxlY2h0aGluIGdlaGFsdGVuLCBpbnNiZXNvbmRlcmUgU2FudGFuYSA6LSkKSWNoIHd1cmRlIGluIGRlbiBsZXR6dGVuIFdvY2hlbiBhbGxlcmRpbmdzIGVpbmVzIGJlc3NlcmVuIGJlbGVocnQsIHp1bQpCc3AgYXVmIGRlciBDZUJJVC4gV2VubiBtYW4gZGljaCBQcm96ZXNzb3JkYXRlbiBtYWwgZ2VuYXVlciBhbnNpZWh0IHVuZAp2ZXJnbGVpY2h0LCBkYW5uIHN0ZWxsdCBtYW4gZmVzdCwgZGFzIGRlciBQOTAgdGF0c2FlY2hsaWNoIGVpbmVyIGRlcgpzY2huZWxsc3RlbiBpc3QsIHNvZ2FyIHNjaG5lbGxlciBhbHMgbWFuY2hlciBQb3dlci1QQyAod2FzIGljaCBuaWUKZ2VkYWNodCBoYWV0dGUpLgpJY2ggZ2ViZSB6dSwgZGFzIGF1Y2ggbWlyIFByb3plc3NvcmVuIHZvbiBJbnRlbCBhdWZncnVuZCBkZXJlbiBoZXJ2b3ItCnJhZ2VnZW5kZW4gSW1hZ2VzIG5pY2h0IGJlc29uZGVycyBHZWZhbGxlbiwgYWJlciBkYXMgaXN0IG1pZXN0IG51ciBlaW5lCnJlaW4gc3ViamVrdGl2ZSBTYWNoZSEgRnVlciBkYXMgUHJlaXNMZWlzdHVuZ3NWZXJoYWVsdG5pcyBpc3QgZWluIFBlbnRpdW0KZGVyIGd1ZW5zdGlnc3RlIFJlY2hlciwgZGVuIHdpciB1bnMga2F1ZmVuIGtvZW5uZW4uIEljaCBuZWhtZSBMSUVCRU5ECmdlcm4gZWluZSBTcGFyYzIwIG1pdCAyIDc1IE1oeiBQcm96ZXNzb3JlbiBhYmVyLi4uIGljaCBrYW5uIHNpZSBuaWNodApfYmV6YWhsZW5fISEhCllvdXJzIHRydWx5LAogICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYW5hdG9sIChDYXR3ZWF6bGUsIDEzLiBNYXIgMTk5NSwgMTg6NTM6MDcpOgpbVmVybGVndCB2b24gYW56ZWlnZW4sIFRvc3MsIDEzLiBNYXIgMTk5NSwgMTY6MjM6MThdOgpQYXNzdGUgbmltbWVyIGluIGFsbGdlbWVpbmVzIHJlaW4uLi4KCmFuYXRvbCwgZXMgZ2lidCBsZXV0ZSBoaWVyLCBkaWUgcGVyIG1ha3JvIGRhcyBtdWQgYXVmcmFldW1lbiA/CgpNZWluc3QgZHUgZGFtaXQgZXR3YSBzb2xjaGUsIGRpZSBzaWNoIGFsbGUgc3R1bmRlIHBlciBtYWtybyBpbiBkaWUgZWlzd3Vlc3RlCmJlZ2ViZW4sIHVtIGRvcnQgZWlzYW11bGV0dCB1bmQgLSBzY2h3ZXJ0IHp1IGJlc29yZ2VuLCB1bSBlcyBmdWVyIHZpZWwgZ2VsZCB6dQp2ZXJrYXVmZW4gPwoKSmF1LCBpc24gaW5zaWRlci13aXR6LCBpIGtub3cgLi4uLiBoYWV0dGUgZWlnZW50bGljaCB1bnRlciBzY2htYXJybiBnZWhvZXJ0CjspCgpSeW5lLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEludGVsIE9VVFNJREUhIChYYW50aGlhLCAxMy4gTWFyIDE5OTUsIDE5OjExOjU3KToKIyEgcm49Sm9mIHJ0PTc5NTEwMDI5MwpOYWphLCBpY2ggbWVpbmUgbnVyLCB3ZW5uIGVpbiBTcGllbGVyIGVpbnNjaGxhZWZ0LCBtdWVzc3RlIG1hbiBkb2NoIHNlaW5lClNhY2hlbiBhdWYgZGllIFBsYXR0ZSBhdXNsYWdlcm4ga29lbm5lbiwgc29kYXNzIHNpZSBrZWluZW4gSGF1cHRzcGVpY2hlcgptZWhyIGJlbGVnZW4uIE9kZXIgZ2VodCBkYXMgbmljaHQ/IE9kZXIgd2lyZCBlcyBnYXIgZ2VtYWNodD8gV2VyIHdlaXNzPwo6KSkpClhhbnRoaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEludGVsIE9VVFNJREUhIChNYXRlZXNlLCAxMy4gTWFyIDE5OTUsIDE5OjE3OjE1KToKIyEgcm49WGFudGhpYSBydD03OTUwMzIzOTMKTnVuLCAnTm92YSAobm92YS50YXQucGh5c2lrLnVuaS10dWViaW5nZW4uZGUgNjg4OSknIGlzdCBrZWluIE11ZCwgc29uZGVybgplaW5lciBkZXIgTXVkd2hvLVNlcnZlciAoc3RlaHQgYXVjaCBhbHMgc29sY2hlciBpbiBkZXIgTGlzdGUpLgoKTmlnaHRmYWxsIGxhZXVmdCB1ZWJyaWdlbnMgYXVmIGVpbmVyIFNHSSBtaXQgNjRNQiB1bmQgdmllciBQcm96ZXNzb3JlbiAtIG51cgppc3QgZGllc2VyIFJlY2huZXIgRWlnZW50dW0gZGVyIEFzdHJvcGh5c2lrZXIsIGRpZSBnZXJuZSBtYWwgYXVmIGRpZSBTY2huZWxsZQplaW5lIFN1cGVybm92YSBkdXJjaHNpbXVsaWVyZW4sIE5GIG11c3Mgc2ljaCBhbHNvIGF1ZiAyME1CIGJlc2NocmFlbmtlbi4KWnVkZW0gaGF0IElyaXggZWluZW4gd2lya2xpY2ggaGFlc3NsaWNoZW4gQnVnLCBkZW0gTkYgZGVyemVpdCBtYWwgd2llZGVyCnp1bSBPcGZlciBnZWZhbGxlbiBpc3QuCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlbCBPVVRTSURFISAoTWF0ZWVzZSwgMTMuIE1hciAxOTk1LCAxOTozNTowNyk6CiMhIHJuPUFjcmltb24gcnQ9Nzk1MTA3NjI4Ck51biwgaWNoIHBlcnNvZW5saWNoIGZpbmRlIGRpZSBQQy1BcmNoaXRla3R1ciAoc293b2hsIGRpZSBkZXIgR2VyYWV0ZSBhbHMKYXVjaCBkaWUgZGVyIFByb3plc3NvcmVuKSB6aWVtbGljaCBiZXNjaCoqKiwgdW5kIGR1IHdpcnN0IG5pY2h0IGVybGViZW4sCmRhc3MgaWNoIG1pciBzbyBlaW4gVGVpbCBwcml2YXQgaGluc3RlbGxlbiB3ZXJkZSAtIGVnYWwgd2llIHNjaG5lbGwgZXMgaXN0LgoKQWJlciB3aXIgcmVkZW4gaGllciBuaWNodCB2b24gZWluZW0gUHJpdmF0cmVjaG5lciwgc29uZGVybiB2b24gZWluZW0gUmVjaG5lcgpmdWVyIE1HLCB1bmQgZGEgaXN0IGF1c3NjaGxhZ2dlYmVuZCwgZGFzcyBkaWUgUEMtRGluZ2VyIGxlaXN0ZW46IHNpZSBzaW5kCnNjaG5lbGwsIGJpbGxpZywgdW5kIGtvZW5uZW4gc3RhYmlsIFVuaXggZmFocmVuLgogLS0gTWF0ZWVzZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSW50ZWwgT1VUU0lERSEgKEpvZiwgMTMuIE1hciAxOTk1LCAyMDowMzowNik6CiMhIHJuPUFjcmltb24gcnQ9Nzk1MTA3NjI4CiBTYWcgbWlyIGVpbmUgYmVzc2VyZSBQbGF0dGZvcm0gYWxzIExpbnV4LiBXZW5uIER1IHVucyBWSUVMIEdlbGQgc3BlbmRlc3QKKGRpZSA2MDAwMCBNYXJrIERpZmZlcmVueiB6d2lzY2hlbiBkZW0gbW9lZ2xpY2hlbiBMaW51eC1SZWNobmVyIHVuZCBlaW5lcgpTdXBlclNwYXJjMi1NYXNjaGluZSB2b24gU3VuIChkaWUga29tbWVuIGJhbGQgYXVmIGRlbiBNYXJrdCwgd2VyZGVuIHVtIDcwMDAwCk1hcmsga29zdGVuLCAxMDAgTUh6IFRha3QgaGFiZW4sIHVuZCBzbyBzY2huZWxsIHNlaW4gd2llIGVpbiBQMTAwKSAtIGRhbm4Ka2F1ZmVuIHdpciBkYXMuIFdlbm4gRHUgZGllIDYwMDAwLC0gTWFyayBEaWZmZXJlbnogbmljaHQgYmlzIHp1bSAxLjQuOTUgYXVmLQpicmluZ2VuIGthbm5zdCwgdmVyZ2Vzc2VuIHdpciBkYXMgZ2FueiBzY2huZWxsIHdpZWRlci4KCiBKb2YKCiBQUzogSW0gdWVicmlnZW4gaXN0IE1JUiBMaW51eCBhdWYgUEMgbGllYmVyIGFscyBTb2xhcmlzIGF1ZiBTVU5zIC0gTGludXgKICAgICBpc3Qvd2lya3QgaW4gdmllbCBQdW5rdGVuIGVpbmZhY2ggbW9kZXJuZXIvZm9ydHNjaHJpdHRsaWNoZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoSm9mLCAxMy4gTWFyIDE5OTUsIDIwOjA1OjEyKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NTExNjYzOQogLi4uIHVuZCBkYXMgTGludXggaXN0IGF1Y2ggbm9jaCBBTFBIQSwgbmFlbWxpY2ggUFJFLUJldGEgLSB3b2xsZW4gd2lyIG1pdApkZW0gTXVkIHdpcmtsaWNoIEFscGhhLXRlc3RlciBzcGllbGVuIG1pdCBhbGxlbiBQcm9ibGVtZW4sIGRpZSBzb3dhcyBtaXQKc2ljaCBicmluZ3Q/IEF1c3NlcmRlbSBpc3QgZGVyIDMwMHNwZWNJbnQtQWxwaGEgemllbWxpY2ggdGV1ZXIgLSBhbGxlaW4KZGllIENQVSBsaWVndCBtZWluZXMgV2lzc2VucyBzbyBiZWkgMjUwMCBEb2xsYXIuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlbCBPVVRTSURFISAoR3V5YnJ1c2gsIDEzLiBNYXIgMTk5NSwgMjA6MDc6NDMpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk1MTE2NjM5Cm9vcHMsIHNvd2FzIHN0ZWh0IGhpZXIgaW4gbWVpbmVtIEJ1ZXJvIHJ1bSB1bmQgaGV1bHQgbWlyIG1pdCBkZW0gbGF1dGVuCkx1ZWZ0ZXIgZGVuIGdhbnplbiBUYWcgZGllIE9ocmVuIHZvbGwuClVuZCBpZGxlbiB0dXQgZGllIGF1Y2ggbWVpc3N0IDopCk5laG1lbiB3aXIgZG9jaCBkaWUKCkhtLi4udm9uIG1laW5lciBTZWl0ZSB3YWVycyBrZWluIFNjaGVyeiwgd2VpbCBkaWUgbmVydnQgKDEwbWFsIGxhdXRlciBhbHMgZWluClBjLUx1ZWZ0ZXIpCkljaCBmcmFnIG1pY2ggbmlyIHdhcyBkYXMga2ZrIGRhenUgc2FnZW4gd3VlcmRlIDspCkd1eWJydXNoLi4uLm1pciBpc3NlcyBlZ2FsIHdvcmF1ZiBkYXMgTXVkIGxhZXVmdC4gaGF1cHRzYWNoZSBlcyBsYWV1ZnQKc3RhYmlsLCB1bmQgZGEgdmVybGFzcyBpY2ggbWljaCBhdWYgSm9mLgo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZWwgT1VUU0lERSEgKEpvZiwgMTMuIE1hciAxOTk1LCAyMDowODoyMyk6CiMhIHJuPUpvZiBydD03OTUxMjE1MTIKIC4uLiBkZXIgdm9yaWdlIEFydGlrZWwgYmV6b2cgc2ljaCBhdWYgZGFzIExpbnV4IGZ1ZXIgREVDIEFMUEhBIFBDcyAtIGRhcwpMaW51eCBmdWVyIEludGVsIGlzdCBpbnp3aXNjaGVuIElNSE8gc28gdW5nZWZhZWhyIGRhcyBhdXNnZXJlaWZ0ZXN0ZSBPUywgZGFzCm1hbiBmdWVyIFBDcyBiZWtvbW1lbiBrYW5uIC0gd2VpdGF1cyAncmVpZmVyJyBhbHMgekIgU29sYXJpcywgZ2xlaWNoIG9iCmZ1ZXIgU3BhcmMgb2RlciBQQwoKSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXJ1bSBuaWNodCBhdWYgU2FudGFuYSBibGVpYmVuID8gKENhbXBpbm8sIDEzLiBNYXIgMTk5NSwgMjA6MTU6MjUpOgpIaSwKamVtYW5kIGhhdHRlIGRpZSBJZGVlIGF1ZiBTYW50YW5hIHp1IGJsZWliZW4sIGluIGRlbSBtYW4gZGVuCkxpbmd1aXN0ZW4gZWluZW4gdm9uICdLb21tdW5pa2F0aW9uc3Byb2pla3QgJyBvZGVyIHNvbnN0d2FzCmVyemFlaGx0LCBtYW4gYnJhZXVjaHRlIGlobmVuIGphIG5pY2h0IHp1IGVyemFlaGxlbiwgZGFzcyBkYXMgTXVkCnNjaG9uIHNlaXQgZWluaWdlbiBNb25hdGVuIGF1ZiBpaHJlbSBSZWNobmVyIGxhZXVmdC4KQmV2b3IgbWFuIGFsc28gZWluZW4gZWlnZW5lbiBSZWNobmVyIGthdWZ0LCBzb2xsdGUgbWFuIHp1bmFlY2hzdAp2ZXJzdWNoZW4sIG9iIG1hbiBuaWNodCBkb2NoIGF1ZiBTYW50YW5hIGJsZWliZW4ga2Fubi4KRXMgbXVlc3N0ZSBzaWNoIHZpZWxsZWljaHQgbm9jaCBlaW5lciBmaW5kZW4sIGRlciBkYW5uIGRvcnQgbmVuCkpvYiB1ZWJlcm5pbW10LCB3ZW5uIEtpcmsgYXVmaG9lcnQuCgoKS2FubiBzZWluIGRhc3Mgc2Nob24gZWluZSBBbnR3b3J0IGF1ZiBkZW4gZXJzdGVuIEFydGlrZWwgbWl0IGRpZXNlcgpJZGVlIGthbSwgZGFubiBoYWIgaWNoIGlobiB3b2hsIHVlYmVybGVzZW4uIEVzIHdhZXJlIGRhbm4gbmV0dCwgd2VubgptaXIgZWluZXIgQmVzY2hlaWQgc2FndCwgYmV2b3IgZGVyIEFydGlrZWwgZ2Vsb2VzY2h0IHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FydW0gbmljaHQgYXVmIFNhbnRhbmEgYmxlaWJlbiA/IChKb2YsIDEzLiBNYXIgMTk5NSwgMjA6MTk6MDkpOgojISBybj1DYW1waW5vIHJ0PTc5NTEyMjEyNQogTmVpbiwga29lbm5lbiB3aXIgbmljaHQuIEVzIGdlaHQgZWluZmFjaCBuaWNodCwgd2lyIGtvZW5uZW4gbmljaHQgYXVmCnNhbnRhbmEgYmxlaWJlbi4gTGVpZGVyLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSW50ZWwgT1VUU0lERSEgKEd3eW5kb24sIDEzLiBNYXIgMTk5NSwgMjA6NDE6NDcpOgojISBybj1NYXRlZXNlIHJ0PTc5NTExOTcwNwoKRHUgaGFzdCBuYXR1ZXJsaWNoIFJlY2h0IE1hdGVlc2UuLi4gdW5kIGRhcnVtIGJpbiBpY2ggYXVjaCwgZWdhbCB3YXMgZGllCmFuZGVyZW4gbmFjaCBtZWluZW4gYmlzaGVyaWdlbiBCZWl0cmFlZ2VuIGhpZXIgZGVua2VuLCBuaWNodCBzbyB2ZXJib2hydCwgZGFzcwppY2ggc2FnZSwgaWNoIGdlYmUgZGVzaGFsYiBuaWNodHMuCiAgIEljaCBzcGVuZGUgaGFsdCBtaXQgd2VuaWdlciBFbnRodXNpYXNtdXMsIGFiZXIgaWNoIHNwZW5kZSBhdWNoIGZ1ZXIgZWluZW4KUGVudGl1bSB3ZW5ucyBzZWluIG11c3MgLSB1bmQgZXMgbXVzcyBqYSB3b2hsIHNlaW4uIERhcyBNRyBpc3QgendhciBuaWNodCBtZWluCkhhdXB0aG9iYnkgdW5kIG5lIC0gYWJlciBlcyBpc3QgbWlyIChkdXJjaCBzZWluZSBCZXdvaG5lciBtZWhyIG5vY2ggYWxzIGR1cmNoCnNlaW5lIFF1ZXN0cyB1bmQgUmFldW1lKSBhbnMgSGVyeiBnZXdhY2hzZW4uIFVuZCB3ZW5uIGljaCB3aWxsLCBkYXNzIGVzCndlaXRlcmxhZXVmdCwgbXVzcyBpY2ggc3BlbmRlbi4gVHVlIGljaCBhdWNoLiBVbmQgYWxsZSBhbmRlcmVuIEludGVsLUdlZ25lcgooc2VpcyBhdXMgVWViZXJ6ZXVndW5nIG9kZXIgYXVzIFByaW56aXApIHNvbGx0ZW4gZGFzIGF1Y2ggdHVuLgogICBVbmQgamV0enQgaG9mZmUgaWNoIG1hbCwgZGFzcyBkZXIgVGV4dCBuaWNodCB3ZWdlbiBsaW5lLXRvby1sb25nIHdpZWRlcgpnZWN1dHRldCBpc3QuClZvcnNpY2h0c2hhbGJlciBub2NobWFsIGRpZSBLdXJ6Zm9ybTogSWNoIHNwZW5kZSB0cm90emRlbSwgdW5kIGdlcm5lIGZ1ZXJzCk1HLiBVbmQgd2VyIG5pY2h0IGdlcm5lIGZ1ZXIgZGVuIFBlbnRpdW0gc3BlbmRldCwgbW9lZ2UgZWJlbiBnZXJuZSBmdWVycyBNRwp1bmQgc2VpbmVuIEZvcnRiZXN0YW5kIHNwZW5kZW4uCiAgIGdlei4gR3d5bmRvbiAoZHVyY2hhdXMgZ3V0d2lsbGlnIHVuZCBrZWluZXN3ZWdzIHZlcmJvaHJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZWwgT1VUU0lERSEgKEljZXQsIDEzLiBNYXIgMTk5NSwgMjE6MDA6NDUpOgojISBybj1Kb2YgcnQ9Nzk1MTIxNzAzClZlcmdsZWljaGUgZG9jaCBiaXR0ZSBuaWNodCBpbW1lciBMaW51eCBtaXQgU29sYXJpcywgSm9mLgpMaW51cyBpc3Qgc3RhYmlsIHVuZCBlaW5mYWNoIGd1dC4KU29sYXJpcyBkYWdlZ2VuIGthZW1wZnQgbWl0IEFJSUlJSUlJSUlJWCB1bSBkZW4gU3RhdHVzIGRlcyBtaWVzZXN0ZW4KVU4qWC1EZXJpdmF0cy4KQWxzbyBiaXR0ZS4uLiA6KQoKLUljZVQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEludGVsIE9VVFNJREUhIChCZWxkaW4sIDEzLiBNYXIgMTk5NSwgMjE6MDY6MjEpOgojISBybj1BY3JpbW9uIHJ0PTc5NTEwNzYyOApBY2ggd2Vpc3N0IER1IEFjcmltb24sIC0tLSBpY2ggZ2xhdWJlIGVpbiBHcm9zc3RlaWwgZGVyICBMZXV0ZSBoaWVyIHdhZXJlCnNjaG9uIGZyb2ggd2VubiBEdSBEaXIgRGVpbmUgKHRvbGxlIEFsbGl0YXJhdGlvbiB1ZWJyaWdlbnMgOykgU1oncyBhbiBkZW4gSHV0CnN0ZWNrZW4gd3VlcmRlc3QuLi4gZGFzIHdhZXIgU3BlbmRlIGdlbnVnLgpJbSB1ZWJyaWdlbiBzY2hsaWVzc2UgaWNoIG1pY2ggYWxsZW4gVm9ycmVkbmVybiBhbiwgZGllIGJlcmVpdHMgYXVzcmVpY2hlbmQKZGFyZ2VsZWd0IGhhYmVuIF93YXJ1bV8gZWluZSAnSW50ZWwnLVBsYXR0Zm9ybSBuaWNodCBzY2hsZWNodGVyIGFscyB3YXMKYW5kZXJlcyBpc3QgLSBlaGVyIGJlc3Nlci4KCgpDaWFvLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlbCBPVVRTSURFISAoSm9mLCAxMy4gTWFyIDE5OTUsIDIxOjQwOjM0KToKIyEgcm49SWNldCBydD03OTUxMjQ4NDUKTmEsIGRhcyB3dWVyZGUgaWNoIG51biBzbyBhdWNoIG5pY2h0IG1laHIgdW50ZXJzY2hyZWliZW4gLSBpY2ggbWFjaCBoaWVyIHNlaXQKTmEsIGRhcyB3dWVyZGUgaWNoIG51biBzbyBhdWNoIG5pY2h0IG1laHIgdW50ZXJzY2hyZWliZW4gLSBpY2ggYXJiZWl0ZSBoaWVyCnNlaXQgbWVocmVyZW4gSmFocmVuIGFscyBTeXN0ZW12ZXJ3YWx0ZXIgZnVlciB1bnNlcmUgU1VOLUtpc3RlbiB1bmQgZmFuZCBTby0KbGFyaXMgYXVjaCBncmF1c2xpZyAtIGluIFZlcnNpb24gMi4wLTIuMi4gQWxsbWFlaGxpY2ggKG1pdCBWZXJzaW9uIDIuMy8yLjQpCmZhbmdlIGljaCBhYmVyIGFuIG1pY2ggZGFtaXQgYW56dWZyZXVkZW4gLSBlcyBpc3QgZ2FyIG5pY2h0IHNvb28gdWViZWwuCkF1ZiBqZWRlbiBGYWxsIDEwMDAwIE1hbCBiZXNzZXIgYWxzIEFJSUlJSUlYIC0gYWxzIGVjaHRlcyBTeXNWUjQgaGF0cwppbW1lcmhpbgoKZGFzICdiZXN0IG9mJyBCU0QgZ2VzY2hsdWNrdCB1bmQgaW50ZWdyaWVydCAoc28gekIgZGFzIE5ldHdvcmtpbmcsIGRhcyBCU0QKRkZTIHVzdykuIFVuZCBlcyBoYXQgU3VuT1MgNCBpbiBlaW5pZ2VuIFB1bmt0ZW4gaW56d2lzY2hlbiBlY2h0IHdhcyB2b3JhdXMsCnVuZCBiZWkgMi40IGlzdCBhdWNoIGRpZSBQZXJmb3JtYW5jZSBnYW56IG9rLiBLbGFyLCBuaWNodCB2ZXJnbGVpY2hiYXIgbWl0CkxpbnV4IChQQy1WZXJzaW9uKSwgYWJlciBMaW51eCBmdWVyIGRpZSBTcGFyYyBnaWJ0cyBiaXNoZXIgbnVyIGZ1ZXIgZGllCgpsYWhtZW4sIGFsdGVuIHN1bjRjLU1vZGVsbGUsIG5pY2h0IGZ1ZXIgU3VuNG0ncyAuLi4KIEluendpc2NoZW4gd2lsbCBpY2ggKGZyZWl3aWxsaWchKSBtZWluZW4gbGllYmVuLCBrbGVpbmVuIER3YWxpbiB2b24gU3VuT1MKNC4xLjMgYXVmIFNvbGFyaXMgMi40IHVwZ3JhZGVuIDopCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJbnRlbCBPVVRTSURFISAoWGFudGhpYSwgMTMuIE1hciAxOTk1LCAyMjo0NDo0NCk6CiMhIHJuPUpvZiBydD03OTUxMjEzODYKSmV0enQgc2VuZiBpY2ggaGFsdCBzY2hvbiB3aWVkZXIgd2FzIGRhenUuCkFsc28gaWNoIGthbm4sIG9obmUgamV0enQgYXJzY2hrcmllY2hlcmlzY2ggenUgd2lya2VuLCBKb2YgbnVyCnp1c3RpbW1lbi4gV2lyIGhhYmVuIGJlaSB1bnMgYW4gZGVyIFVuaSBlaW5lbiBnYW56ZW4gUG9vbCB2b24gU3VuClNwYXJjc3RhdGlvbnMuIFdlbGNoZXMgTW9kZWxsLCB3ZWlzcyBpY2ggbmljaHQgZ2VuYXUsIGFiZXIgc2llCnNpbmQgbm9jaCByZWNodCBuZXUuIEFsbGVyZGluZ3Mgc2luZCBzaWUgc28gemllbWxpY2ggZGFzIGxhaG1zdGUsIHdhcwppY2ggamUgZ2VzZWhlbiBoYWJlLiBEYSBpc3QgbWVpbiBwb3BsaWdlciA0ODYvNjYgenUgSGF1c2UgdW50ZXIKTGludXggZWNodCBzY2huZWxsZXIsIG9id29obCBkZXIgbnVyIDggTUIgUkFNIGhhdC4gSWNoIGdsYXViZSwgZGFzcwpkaWUgU1VOcyBhdWNoIG51ciBzbyBjYS4gNjBNSHogVGFrdCBoYWJlbi4gRGFzIHJlaWNodCBlaW5mYWNoIG5pY2h0LAphdWNoIHdlbm4gbm9jaCBzbyB2aWVsIFJJU0MgZGFoaW50ZXJzdGVja3QuIFdpZSBzY2hvZW4gd2FlciBkYSBkb2NoCmVpbiBERUMgQWxwaGEgbWl0IDI3NSBNSHouIFdhcyBrb3N0ZW4gZGllIGVpZ2VudGxpY2ggc28/CgpTbywgZGFzIHdhcidzLgoKRXVlciBYYW50aGlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWIgYXVjaCBtYWwgd2FzIHp1IHNhZ2VuLi4uIChSYWZhZWwsIDE0LiBNYXIgMTk5NSwgMTU6NDQ6MzcpOgpIaSwgTGV1dGUhCgpMb2V3ZW5zZW5mIChleHRyYSBzY2hhcmYpIE9OCiAxLiBXZW5uIGlociBlaW5lbiBuZXVuZW4gUGVudGl1bSBrYXVmZW4gd29sbHQsIHNvbGx0ZSBkb2NoIGRpZXNlciBvaG5lCiAgICBkaWVzZW4gYmVrYW5udGVuIEJ1ZyBzZWluLiBPZGVyPwogMi4gV2FzIHNvbGwgZGFzIGdhbnplIEdlcmVkZSB1bSBQZW50aXVtLCBTdW4gb2RlciBBSVggKHVlYnJpZ2VuczoKICAgIGRlciBocCBmZWhsdCBub2NoLi4uKSwgd2VubiBrZWluZXIgb2RlciBrYXVtIGplbWFuZCBzcGVuZGV0PwogICAgQnJpbmd0IGRvY2ggZXJzdCBtYWwgIWFsbGUhIHp1c2FtbWVuIGRhcyBHZWxkIGF1ZiwgZGVubiBtaXQKICAgIGRlbiA0MDAgRE0gKHdpZSBpY2ggaGV1dGUgaG9lcnRlKSBiZWtvbW10IG1hbiBub2NoIG5pY2h0CiAgICBlaW5tYWwgZWluZW4gNDg2RFguIEFsc28gaXN0IGRvY2ggd2ljaHRpZ2VyLCBlcnN0IGVpbm1hbCB6dQogICAgc3BlbmRlbi4KCkxvZXdlbnNlbmYgKGV4dHJhIHNjaGFyZikgT0ZGCgpBbHNvIG1laW4gQXVmcnVmOiBTcGVuZGV0LCBkYXNzIEdlbGQgaW4gZGllIEthc3NlIGtvbW10IQoKUmFmYWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm96ZXNzb3JlbiAoSXJhdGEsIDE0LiBNYXIgMTk5NSwgMTg6MzM6NTcpOgpIYWxsbwoKV2FzIGhlaXNzdCBlaWdlbnRsaWNoIFNwZWNJTlQ5MnMgPwpVbmQgd29yaW4gaXN0IGVpbmUgU3VuIGVpZ2VudGxpY2ggYmVzc2VyIGFscyBQZW50aXVtLCB3ZW5uCmRlciBQZW50aXVtIHNjaG9uIHNjaG5lbGxlciBpc3QgPwoKSXJhdGEgKEFyZSB0aGVzZSBxdWVzdGlvbnMgdG9vIHN0dXBpZCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb3plc3NvcmVuIChKb2YsIDE0LiBNYXIgMTk5NSwgMTk6Mzg6MDYpOgojISBybj1JcmF0YSBydD03OTUyMDI0MzcKU3BlY0lOVDkyIGlzdCBlaW4gTWFzcyBmdWVyIGRpZSBJbnRlZ2VyLVBlcmZvcm1hbmNlIGVpbmVyIENQVS4gRGFiZWkgd2VyZGVuCmluIGVpbmVtIGdyb3NzZW4gTG9vcCBiZXN0aW1tdGUgSW50ZWdlci1PcGVyYXRpb25lbiBpbW1lciB3aWVkZXIgYXVzZ2VmdWVocnQuCkRpZSBPcGVyYXRpb25lbiB3dXJkZW4gc28gZ2V3YWVobHQsIGRhc3Mgc2llIGVpbmVuICdub3JtYWxlbicgRHVyc2Nobml0dHMtCmJldHJpZWIgZWluaWdlcm1hc3NlbiBndXQgc2ltdWxpZXJlbi4gTWFuIGthbm4gZGFydWViZXIgc3RyZWl0ZW4sIHdpZSBndXQKb2RlciBUZXN0cyBnZXdhZWhsdCB3dXJkZW4gb2RlciB3aWUgc29sY2hlIFRlc3RzIGdlbmVyZWxsIHp1IGJld2VydGVuIHNpbmQgLQppbiBqZWRlbSBGYWxsIGtvbW10IGRhcyBUZXN0dmVyZmFocmVuIHZvbiBlaW5lciAndW5hYmhhZW5naWdlbicgS29tbWlzc2lvbgp1bmQgbWFuIGJla29tbXQgUGVyZm9ybWFuY2UtV2VydGUgZWJlbiBmYXN0IG51ciBpbiBkaWVzZW0gTWFzcy4gU3BlY0ZQIGlzdApkYXMgZW50c3ByZWNoZW5kZSBmdWVyIEZsb2F0aW5nLVBvaW50IChmdWVyIHVucyBlaGVyIHVuaW50ZXJlc3NhbnQpLgoKIFNVTnMgd3VyZGVuIGluIGRlbiBVbmlzIGFuZ2VzY2hhZmZ0LCB3ZWlsIGVzIGJpcyB2b3Iga3VyemVtIGtlaW4gYnJhdWNoLQpiYXJlcyBPUyBmdWVyIGRlbiBQQyBnYWIgKGRlcndlaWwgZXMgamV0enQgTGludXgsIEZyZWUvTmV0LzM4NkJTRCwgQlNESSwKU29sYXJpcyAuLi4gZ2lidCksIHVuZCB3ZWlsIGluIGRlciBQcmFlLVBlbnRpdW0tQWVyYSBkZXIgUEMga2F1bSBGUC1MZWlzdHVuZwp6dSBiaWV0ZW4gaGF0dGUgKG1pdHRsZXJ3ZWlsZSBzaW5kIFBlbnRpdW1zIGF1Y2ggaGllciBkZW4gU3VucyBtZWlzc3QgdWViZXItCmxlZ2VuLCBhdWYgamVkZW4gRmFsbCBpbSBWZXJoYWVsdG5pcyBGUC1Qb3dlci9NYXJrKS4gRGFzIGVpbnppZ2UsIHdhcwp1bnMgaW4gZGllc2VtIEZCIHZvbiBkZXIgQW5zY2hhZmZ1bmcgdm9uIFBlbnRpdW1zIGFiaGFlbHQsIGlzdCBkZXJ6ZWl0CmRpZSAnaW5zdGFsbGllcnRlIEJhc2lzJyB2b24gdWViZXIgMTAwIFN1bnMgYmVpIHVucyAtIExpbnV4IHdhZXJlIGhhbHQgbmUKd2VpdGVyZSBBcmNoaXRla3R1ci4gQWJlciBpbnp3aXNjaGVuIGhhYiBpY2ggRUlORU4gbWVpbmVyIENoZWZzIHNvIHdlaXQsIGRlcgphZWggZGFzIGRlciBMaW51eCB1bnRlcnN0dWV0emVuIHdpbGwgLSBmdWVyIGRlbiBhbmRlcmVuIGlzdCBub2NoIGV0d2FzCidVZWJlcnpldWd1bmdzYXJiZWl0JyBub2V0aWcuCgogQWNoc28sIGphIC0gbm9jaCBlaW4gR3J1bmQgZnVlciBTVU5zIGJ6dyBTb2xhcmlzOiBTb2xhcmlzIHVudGVyc3R1ZXR6dApzeW1tZXRyaXNjaGVzIE11bHRpcHJvY2Vzc2luZywgc3ByaWNoLCBtYW4gc3RlY2t0IDIgQ1BVcyBpbiBkZW4gcmVjaG5lcgp1bmQga2FubiAyIFByb3plc3NlIGxhdWZlbiBsYXNzZW4sIGRpZSBiZWlkZSBrbmFwcCAxMDAlIENQVSBiZWtvbW1lbiAtIGhpbGZ0CmZ1ZXIgZWluIE11ZCBhYmVyIG5pY2h0LCBkYSBlcyBudXIgZWluZW4gUHJveiBudXR6ZW4ga2FubiAobmFqYSwgZXZ0bCBrYW5uCm1hbiBtYW4gZWluZW4gMi4gUHJveiBlaW5iYXVlbiwgd2VubiBMaW51eCBkYXMgdW50ZXJzdHVldHp0IChkYW5uIGFzeW0uCk11bHRpLQpwcm9jZXNzaW5nKSwgZGVyIDIuIFByb3ouIGt1ZW1tZXJ0IHNpY2ggZGFubiB1bSBQbGF0dGVudmVyd2FsdHVuZywgRXRoZXJuZXQKdXN3IHVzdyAuLi4KCkpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm96ZXNzb3JlbiAoR3V5YnJ1c2gsIDE0LiBNYXIgMTk5NSwgMTk6NDk6MDQpOgojISBybj1Kb2YgcnQ9Nzk1MjA2Mjg2CkFlaG0gSm9mLCB3ZW5uIGR1IHNjaG9uIGJlaW0gZXJrbGFlcmVuIGJpc3QuLgp3YXMgbWFjaGVuIGRhbm4gZGllIG5ldWVuIGR1YWwtUGVudGl1bSBib2FyZHM/CmxhdWZlbiBkaWUgZGFubiBhdWNoIG51ciB1bnRlciBlaW5lbSBhbmRlcmVuIGJldHJpZWJzc3lzdGVtPwoKR3V5YnJ1c2gsIGxlcm50IGdlcm4gd2FzIGRhenUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByb3plc3NvcmVuIChKb2YsIDE0LiBNYXIgMTk5NSwgMTk6NTY6MTMpOgojISBybj1HdXlicnVzaCBydD03OTUyMDY5NDQKIERpZSBuZXVlbiBUZWlsZSBsYXVmZW4gYmlzaGVyIHVudGVyIFNvbGFyaXMgLSBkYXMga2FubiBzeW1tZXRyaXNjaGVzIE11bHRpLQpQcm96ZXNzaW5nIChzeW1tZXRyaXNjaCBoZWlzc3QsIGRlciBLZXJuZWwgaXN0IHJlZW50cmFudCB1bmQga2FubiBhdWYgQkVJREVOClByb3plc3NvcmVuIGxhdWZlbikgdW5kIHdhcyB2b24gTWlyY29TY2hyb3R0IChXaW5kb29mIE5pY2h0LVRhdWdsaWNoKSAtIGRhcwprYW5uIGRhcyBhdWNoLgoKIExpbnV4IG1pdCB6dW1pbmRlc3QgYXN5bS4gTXVsdGlwcm9jZXNzaW5nIGlzdCBpbiBWb3JiZXJlaXR1bmcuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNVVNIIChHcmltbWJvcm4sIDE0LiBNYXIgMTk5NSwgMjA6NDc6MzkpOgoKCkhtbSwgYWxzbyBpY2ggaGFiIG1pciBtYWwgZGFzIE11ZW5jaGVuZXIgTVVTSCBhbmdlc2NoYXV0LgpLbGFyLCB3ZW5uIGljaCBtaXQgZGVyIEVpbnN0ZWxsdW5nIHJlaW5nZWhlICJXbyBpc3QgZGFzIG5hZWNoc3RlIE1vbnN0ZXIiCmhhYiBpY2ggbmF0dWVybGljaCB2ZXJsb3JlbiwgZ2FueiBrbGFyLiBEYXMgaXN0IGRhIG5pY2h0IFNpbm4gZGVyIFNhY2hlLiBEaWUKZXJzdGUgRnJhZ2UgaXN0IGRvY2g6IFdhcyBpc3QgZWluIE1VU0g/ClVuZCBkYSBmYWVsbHQgZGllIEFudHdvcnQgKHdhcyB3ZWlzcyBpY2ggc2Nob24gdm9uIG11c2hzPykgbmljaHQgc29vbyBsZWljaHQuCklzdCB3b2hsIHdpZSBlaW4gbXVkIG9obmUgU3BpZWxlciwgYmV6aWVodW5nc3dlaXNlIGVpbmVzLCB3byBkaWUgU3BpZWxlcgpNYWdpZXJmYWVoaWdrZWl0ZW4gaGFiZW4gdW5kIHNpY2ggc2VsYmVyIGlociBTcGllbCBzdGV1ZXJuLgpEYXMgWmF1YmVyd29ydCBoZWlzc3QgUm9sbGVuc3BpZWwsIEFrdGlvbmVuIHdlcmRlbiBhdXNnZXNwaWVsdC4gRGFzIGhlaXNzdCwKd2VubiBpY2ggZWluZW4gYW5ncmVpZmVuIHdpbGwgZGFubiB3aXJkIHVlYmVyIGVtb3RlcyAoZGVyICI6IikgZGVyClZlcmxhdWYgZHVyY2hnZXNwaWVsdCwgd2VubiBpY2ggZGVyIE1laW51bmcgYmluLCBpY2ggd2VyZGUgYmVzaWVndCBiYXN0ZWwKaWNoIGhhbHQgZWJlbiBzY2huZWxsIG5lIExlaWNoZSB1bmQgc3RlbGxlIG1pY2ggdG90LiBXZW5uIGRlciBhbmRlcmUKZGFnZWdlbiBlaW4gTGFzZXJnZXdlaHIgcmF1c25pbW10IHVtIG1pY2ggdG90enVzY2hpZXNzZW4gdGlwcGUgaWNoIG1pcgphbiBkaWUgU3Rpcm4gdW5kIGRlbmtlIGFybWVyIElycmVyLCBiZWFjaHRlIGlobiBuaWNodCB1bmQgdWViZXJsZWJlLgpBbHNvOiBEZXIgS2FtcGYgYW4gc2ljaCBpc3QgbmljaHQgZGFzIFppZWwsIHdlbm4gaWNoIG1pciBlaW5lIGVpZ2VuZQpPcmthcm1lZSBwcm9ncmFtbWllcmVuIGthbm4uIERlciBLZXJuIGRlcyBTcGllbHMgc2NoZWludCBpbiBkZXIgUm9sbGUgenUKbGViZW4uIEljaCBzcGllbGUgZWluZW4gQnVlcmdlcm1laXN0ZXIsIGJhdWUgZGEgZGllIHJpY2h0aWdlIFN0YWR0IGRydW0gdW5kCm11c3MgdmVyc3VjaGVuLCBtaWNoIGdlZ2VuIGRpZSBJbnRyaWdlbiBkZXIgU3RhZHRyYWV0ZSB6dSBzY2h1ZXR6ZW4uIERpZQp3ZWlkZXJ1bSBzaW5kIHVudGVyIHNpY2ggdW5laW5pZywgamVkZXIgdmVyc3VjaHQsIGRpZSBNYWNodCBmdWVyIHNpY2ggenUKZXJsYW5nZW4uIERhIGtvbW10IGRlciBIb2hlcHJpZXN0ZXIgdW5kIHByb3BoZXplaXQgZWluIGZ1ZXJjaHRlcmxpY2hlcwpVbmdsdWVjayAoZGFzcyBlciBkYW5uIGF1Y2ggc2Nob24gcHJvZ3JhbW1pZXJ0IGhhdCkgdW5kIGRpZSBTdGFkdCBpc3QKZ2V6d3VuZ2VuLCBzaWNoIHp1c2FtbWVuenVzY2hsaWVzc2VuLiBVbmQgc2Nob24gaXN0IG1hbiBtaXR0ZW4gaW0KQWJlbnRldWVyLi4uCgpKYSwgc28gaW4gZGllIFJpY2h0dW5nIGdlaHQgZGVyIEVpbmRydWNrLCBkZW4gaWNoIGluIGRlciBaZWl0IHZvbiAxIGJpcwo0VWhyIGVpbmVzIE5hY2h0cyBiZWthbS4KTmF0dWVybGljaCBpc3QgZGFzIGdhbnplIG5vY2ggaW4gZGVuIEtpbmRlcnNjaHVoZW4sIGRpZSBTeW50YXhlbiB1bmQKRmVobGVybWVsZHVuZ2VuICh1bmQgZWluaWdlIEJlZmVobGUpIHNpbmQgYW5nZWxzYWVjaHNpc2NoIG9kZXIgdW51ZWJsaWNoLAphYmVyIGVzIHdpcmQgZHJhbiBnZWFyYmVpdGV0LiBXZXIgYWxsZXJkaW5ncyBlcndhcnRldCwgc2ljaCBpbiBlaW5lCnVtZmFuZ3JlaWNoZSwgdm9sbHN0YWVuZGlnZSwgZ2VtYWNodGUgV2VsdCB3aWUgZGFzIE1HIGVpbnp1bG9nZ2VuIGRpZSBuaWUKYWJzdHVlcnp0IHVuZCBpbiBkZXIgamVkZXIgamVkZW4gbGllYnQgKG5laW4sIE5BVFVFUkxJQ0gga2VpbmUgSXJvbmllLi4uKQpkZXIgd2lyZCBuYXR1cmdlbWFlc3MgZW50dGFldXNjaHQgd2VyZGVuLiBEYXMgVGVpbCBpc3QgaW0gQVVGQkFVISBFcyBpc3QKTklDSFQgRkVSVElHISBVbmQgZGEgamVkZXIgU3BpZWxlciBlaW4gIk1hZ2llciIgaXN0LCBkZXIgZGFyYW4gbWl0YmF1ZW4gc29sbAppc3QgZGFzIHF1YXNpIGRlciBuYXR1ZXJsaWNoZSBadXN0YW5kLiBEYSBncm9zcyBydW16dXBsYWVycmVuIGRhc3MgbWFuIG1pdApnZXdvaG50ZXIgU3ludGF4IG5pY2h0IHdlaXRlcmtvbW10IHVuZCBkaWUgaGVpbWlzY2hlbiBhbGlzIG5pY2h0CmZ1bmt0aW9uaWVyZW4gbWFjaHQgZWhlciBlaW5lbiBraW5kaXNjaGVuIEVpbmRydWNrLiBVbmQgZGllIEhhbHR1bmcKIk1hY2h0IGlociBlcnN0bWFsIGZlcnRpZywgdmllbGxlaWNodCBzY2hhdSBpY2ggZGFubiBub2NobWFsIiBpc3QgYmVpCmRpZXNlciBBcnQgU3BpZWwgZWhlciB2ZXJmZWhsdC4gQWJlciBlcyB6d2luZ3QgZWluZW4gamEga2VpbmVyLgoKTnVyIGJpbiBpY2ggZGVyIE1laW51bmc6IEltYnJpc01VU0ggKG9kZXIgd2llIGltbWVyIHNpY2ggZGFzIFRlaWwgbmVubnQpCmhhdCBkdXJjaGF1cyBlaW5lIENoYW5jZSB2ZXJkaWVudC4gRXMgaXN0IGVpbiBtdWRkZW4gYXVmIHZvZWxsaWcgYW5kZXJlLAp1bmdld29obnRlIEFydC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBIaWVyIGJhbGQgTWFnaWVyIG1pdCBTcGllbHZlcmJvdCwgd2llc28gbmljaHQKd29hbmRlcnMgc3BpZWxlbmRlciBNYWdpZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FydW0gbmljaHQgYXVmIFNhbnRhbmEgYmxlaWJlbiA/IChLcmV0ZWssIDE0LiBNYXIgMTk5NSwgMjE6MDQ6MjIpOgojISBybj1DYW1waW5vIHJ0PTc5NTEyMjEyNQpQcmluemlwaWVsbCBqYSBlaW5lIG5ldHRlIElkZWUsIENhbXBpbm8sIGFiZXIgbWl0IERFUiBCZWdydWVuZHVuZyBrb21tc3QKZHUgYmVpIExpbmd1aXN0ZW4gYmVzdGltbXQgbmljaHQgYW4hIExpbmd1aXN0aWsgaXN0IEtFSU4gYW5kZXJlciBCZWdyaWZmCmZ1ZXIgS29tbXVuaWthdGlvbnN3aXNzZW5zY2hhZnQsIHNvbmRlcm4gdW50ZXIgTGluZ3Vpc3RpayB2ZXJzdGVodCBtYW4KU1BSQUNId2lzc2Vuc2NoYWZ0ISBEYSB3aXJkIHVudGVyIGFuZGVyZW0gYW5hbHlzaWVydCwgd2llIFNwcmFjaGUKYXVmZ2ViYXV0IGlzdCwgZXRjLiBEaWUgd2ljaHRpZ3N0ZW4gbGluZ3Vpc3Rpc2NoZW4gVGVpbGdlYmlldGUgc2luZApQaG9uZXRpaywgTW9ycGhvbG9naWUsIFN5bnRha3RpaywgU2VtYW50aWsgdW5kIFByYWdtYXRpay4gV2llIGdlc2FndCwgZGEKa29tbXQgbWFuIG1pdCAiS29tbXVuaWthdGlvbnNwcm9qZWt0IiBvZGVyIHNvIG5pY2h0IHdlaXQhIERpZSBlaW56aWdlCk1vZWdsaWNoa2VpdCwgZGllIGljaCBqZXR6dCBzbyBzZWhlLCB3YWVyZSwgZGFzIGdhbnplIGFscyBlaW4gRm9yc2NodW5ncy0KcHJvamVrdCB6dSBkZWtsYXJpZXJlbiwgdW0genUgc2VoZW4sIFdJRSBLb21tdW5pa2F0aW9uIGRlbm4gYWJsYWV1ZnQuCkFsbGVyZGluZ3Mga29lbm50ZSBpY2ggbWlyIGF1cyBtZWhyZXJlbiBHcnVlbmRlbiB2b3JzdGVsbGVuLCBkYXNzIGVpbgpMaW5ndWlzdGlrLUxlaHJzdHVobCBzbyBlaW4gIlByb2pla3QiIGFibGVobmVuIHd1ZXJkZS4gRXJzdGVucyBtYWwgaXN0IGRhcwpNVUQgamEgd29obCBkb2NoIGRpZSBHcnVuZGxhZ2UgZnVlciBLb21tdW5pa2F0aW9uIHVudGVyIF9rdWVuc3RsaWNoZW5fClJhaG1lbmJlZGluZ3VuZ2VuLCB1bmQgZGFtaXQgZnVlciBsaW5ndWlzdGlzY2hlIFN0dWRpZW4gdm9uIHZvcm5oZXJlaW4KdW5pbnRlcmVzc2FudC4gWndlaXRlbnMsIHNlbGJzdCB3ZW5uIGRpZSBzb3dhcyBzY2hsdWNrZW4gd3VlcmRlbiwgc2ljaGVyLApoaWVyIGxhZXVmdCBWSUVMIEtvbW11bmlrYXRpb24gYWIsIGFiZXIgZGFzIGlzdCBuaWNodCBwZXIgc2UgZGVyIFNpbm4gZGVzCk1VRHMgKHdlbm4gbWFuIGRhcyBzbyBzYWdlbiBrYW5uKS4gRGEgaGFldHRlIG1hbiB2ZXJtdXRsaWNoIG1pdCBJUkMgbm9jaApncm9lc3NlcmUgRXJmb2xnc2F1c3NpY2h0ZW4uIERyaXR0ZW5zIHd1ZXJkZSB1bnRlciBHYXJhbnRpZSBpcmdlbmRlaW5lIEFydAp2b24gQXVzd2VydHVuZyBlcndhcnRldCB3ZXJkZW4sIHVuZCwgbWFsIGdhbnogZWhybGljaCwgd2VyIGthbm4gc2ljaCB2b24KdW5zIGRlbm4gbWFsIGxvY2tlciBoaW5zZXR6ZW4gdW5kIChoeXBvdGhldGlzY2gpIG1pdGdlbG9nZ3RlIEtvbnZlcnNhdGlvbgphdWYgZGVuIEViZW5lbiB2b24gZWluZW0sIHNhZ2VuIHdpciBtYWwsIFp3ZWltb25hdHMtWmVpdHJhdW0sIGF1ZgpsaW5ndWlzdGlzY2hlciBCYXNpcyBhbmFseXNpZXJlbiB1bmQgZGFubiBhdWNoIG5vY2ggbWl0IGVpbmVyIFRoZXNlCmF1ZndhcnRlbj8KCmMgdSBsOGVyLApLcmV0ZWsKKExpbmd1aXN0ISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbXJpcyBNVVNIIChLbm9lcnJ5LCAxNS4gTWFyIDE5OTUsIDAxOjI4OjQyKToKIyEgcm49Q2FoaWVsIHJ0PTc5NTA1MDQwMApTb3NvLi4gZWluIFNwaWVsIGluIE11ZW5jaGVuLi4uIHdlbm4gaGFidCBpaHIgYmVzdG9jaGVuPwpHYWJzIGRhIG5pY2h0IG1hbCBlaW4gTXVkLCBkYXMgd2VpY2hlbiBtdXNzdGU/Cktub2VycnkuLi4gYXVjaCBzY2hvbiBpbiBOZW1lc2lzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcnVtIG5pY2h0IGF1ZiBTYW50YW5hIGJsZWliZW4gPyAoSXJhcywgMTUuIE1hciAxOTk1LCAwMjoxMzoxMyk6CiMhIHJuPUtyZXRlayBydD03OTUyMTE0NjIKSGkgS3JldGVrLAoKQWxzbyBpY2ggYmluIGFscyBBbmdsaXN0IGF1Y2ggKGhpc3RvcmlzY2hlcikgTGluZ3Vpc3QsIHVuZCB6dW0gR2x1ZWNrIGlzdApldHdhIGRpZSBTb3ppb2xpbmd1aXN0aWsgZWJlbnNvIHdpZSBkaWUgUHN5Y2hvbGluZ3Vpc3RpayBhdWNoIGVpbiAod2ljaHRpZ2VyKQpsaW5ndWlzdGlzY2hlciBad2VpZy4gRXMgZ2lidCBqYSBuaWNodCBudXIgZGllICJBbGxnZW1laW5lIiBvZGVyIGRpZQoiVmVyZ2xlaWNoZW5kZSIgU3ByYWNod2lzc2Vuc2NoYWZ0LgogICBUaGVvcmV0aXNjaCBrb2VubnRlIGljaCBtaXIgZHVyY2hhdXMgdm9yc3RlbGxlbiwgZGEgZWluZW4KKHp3ZWltb25hdGxpY2hlbikgQmVyaWNodCB6dSBzY2hyZWliZW4sIGRlciBUZWlsYW5hbHlzZW4gYnJpbmd0LiBFaW4gcGFhcgp3aXNzLiBWZXJvZWZmZW50bGljaHVuZ2VuIHd1ZXJkZW4gbWlyIGdhbnogZ3V0IGVudGdlZ2Vua29tbWVuLi4uIDotKSkgIFVuZApwcmFrdGlzY2ggaGFiZSBpY2ggbWlyIHRhdHNhZWNobGljaCBlaW5lIHNvemlvbGluZ3Vpc3Rpc2NoZSBVbnRlcnN1Y2h1bmcgZGVzCk1HIHNjaG9uIHVlYmVybGVndC4gKEFsbGVyZGluZ3MgbmljaHQgdW50ZXIgZGVtIE5hbWVuICBJcmFzLCBzb25zdCBlcnphZWhsdAptaXIga2VpbmVyIG1laHIgd2FzLgpXZW5uIGVzIGFsc28gZGFyYW4gaGFlbmdlbiBzb2xsdGUsIGtvZW5udGUgbWFuIGRhcyBkZW4gTGluZ3Vpc3RlbiBkdXJjaGF1cwp2b3JzY2hsYWdlbi4gSWNoIGtvZW5udGUgZXZ0bC4gYXVjaCBlaW5lbiAobm9jaClPcmRpbmFyaXVzIGhpZXIgZGFmdWVyCmdld2lubmVuLCB2b24gdW5zZXJlbiBMaW5ndWlzdGVuLCB3ZW5uIGRhcyBldHdhcyBodWVsZmUuLi4uICAgOi0pKSAgSWNoIG1laW5lLApzb2xhbmdlIG5pY2h0IGdlbnVlZ2VuZCBTcGVuZGVuIGRhIHNpbmQsIHNvbGx0ZW4gd2lyIEFMTEUgV2VnZSBnZWhlbiwgZGllCnZpZWxsZWljaHQgenVtIFppZWwsIHp1ciBFcmhhbHR1bmcgZGVzIE1vcmdlbmdyYXVlbnMsIGZ1ZWhyZW4uCiAgIGdlei4gSXJhcyAoc3BlbmRlbmQgZ2VtZWluc2FtIG1pdCBzZWluZW0gWndlaXRpZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGdlbWVpbmVzIChOdWRlaSwgMTUuIE1hciAxOTk1LCAwODoxMToyMik6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiogTEVTVCBERU4gSVJSRU4gV0VMVFJBVU1QUk9MRVRFTiEhISAgKioqKioqKioqKioqKioqKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpEYXMgU3BpdHplbmZhbnppbmUgZGVyIFN1cGVya2xhc3NlIQpVbnNlciBNb3R0bzogaGlsZnJlaWNoIGRlbiBEdW1tZW4sIE11dGlnIGRlbiBTY2h3YWNoZW4gdW5kIE5laWRpZyBkZW4gUmVpY2hlbgpnZWdlbnVlYnIhCgpCZXN0ZSwgcXVhbGl0YWV0dm9sbGUgS3Vyemdlc2NoaWNodGVuLCBnYXJhbnRpZXJ0IG9obmUgdmVyd2Fja2VsdGUgSWxsdXMhCkpldHp0IGJlc3RlbGxlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb3plc3NvcmVuIChHdXlicnVzaCwgMTUuIE1hciAxOTk1LCAwODoxNTo1NSk6CiMhIHJuPUpvZiBydD03OTUyMDczNzMKRGFua2UgSm9mLi4uCmVuZGxpY2ggdmVyc3RlaCBpY2ggYXVjaCBtYWwgd2FzIDopCmVjaHQhCkd1eWJydXNoLCBsZXJudCB1bmQgbGVybnQuLi51bmQgdmVyZ2lzc3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkltYnJpcyBGVFAgKENhaGllbCwgMTUuIE1hciAxOTk1LCAyMjo1ODoyMSk6Ck5vY2htYWwgd2FzIHp1IEltYnJpcy4uLiB3aXIgaGFiZW4gamV0enQgZWluZSBmdHAtc2l0ZSBtaXQgSW5mbyB6dSBJbWJyaXMuLi4KQWRyZXNzZTogZmltLmluZm9ybWF0aWsudW5pLW1hbm5oZWltLmRlCkRpcmVjdG9yeTogL2ltYnJpcwpBbHNvLCBob2x0IGV1Y2ggZG9jaCBtYWwgZGFzIEZBUSA7KQoodW5kIHRpbnlmdWd1ZSBsb2hudCBzaWNoIGF1Y2ggenVtIE1VRGRlbikgPSkKQmlzIGJhbGQsCiAgICAgQ2FoaWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW1icmlzIEZUUCAoQmxvb2R5aGFycnksIDE2LiBNYXIgMTk5NSwgMDg6NTU6NTgpOgojISBybj1DYWhpZWwgcnQ9Nzk1MzA0NzAxCkhhYnQgSWhyIGF1Y2ggZWluZSBVZWJlcnNpY2h0IHZvbSBJbWJyaXNNVVNIPyBHSUYsIEVQUyBvZGVyIHNvbnN0IHdhcz8KCkJsb29keSBIYXJyeSwgZGVyIGZydWNodGxvc2UgUGlyYXQuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoVG9zcywgMTYuIE1hciAxOTk1LCAwOToyNToyOCk6CkhleWEgTGV1dGUgIQoKU28sIG51biBtdXNzIGljaCBtYWwgd2llZGVyIERhbXBmIGFibGFzc2VuLiBJbiBkZW4gbGV0enRlbiBXb2NoZW4gd2FyIGphCm1laHJmYWNoIGRpZSBSZWRlIHZvbiBkZW4gU2l0dGVuIGRlciBOZXVsaW5nZSBpbSBNdWQsIHVuZCB6d2VpIGZlaW5lIEVybGViLQpuaXNzZSBtZWluZXJzZWl0cyBhdXMgZGVuIGxldHp0ZW4gVGFnZW4gbXVzcyBpY2ggZGF6dSBhdWNoIG1hbCBiZWl0cmFnZW46CgpHZXN0ZXJuIGFiZW5kIGZ1ZWhyZSBpY2ggZWluZW4gQW5mYWVuZ2VyIChBbGllbmEpIHZvbSBPc3RlcmJhY2ggbmFjaCBNb3JpYSwKdW0gaWhtIHp1IHplaWdlbiwgd28gZGllIEZlbHNzcGFsdGUgbWl0IGRlbSBIZXhlbnRvZXRlciAoTWFlcmNoZW5xdWVzdCkKbGllZ3QuIERvcnQgYW5nZWtvbW1lbiBzaXR6dCBkYSBDaGFybHksIGRlciB3YXN3ZWlzaWNoIChTdHVmZSA2KSB1bmQga3Vlc3N0CkFsaWVuYSBpbiBkZW0gTW9tZW50LCB3byB3aXIgcmVpbmtvbW1lbi4gRGFyYXVmaGluIGVyIEZyb3NjaCwgQWxpZW5hIG5pbW1lci4KTm9jaG1hbGlnZXMga3Vlc3NlbiB2b24gQ2hhcmx5ICh3dWVyZykgaGF0IG5pY2h0cyBnZW51dHp0LCBlciBibGllYiBGcm9zY2guClp1bmFlY2hzdCBiYXQgaWNoIGlobiwgZGVuIEhleGVudG9ldGVyIGxpZWdlbnp1bGFzc2VuLCBkYSBlciBqYSBuaWNodCBhbiBkZXIKUmVpaGUgc2VpLCBzY2hsaWVzc2xpY2ggaGFldHRlIGVyIHNpY2ggJ29yZG51bmdzZ2VtYWVzcycgKGljaCB3ZWlzcyBkYXMKa2xpbmd0IGhpZXIgZG9vZikgd29hbmRlcnMgdmVyZnJvc2NoZW4gc29sbGVuLCBkYW5uIHdhZXJlIGVyIG5hZW1saWNoIGVyc3QKc3BhZXRlciBkb3J0IGdld2VzZW4uIEVyIGFiZXIgZ2luZyAtIG9obmUgdWViZXJoYXVwdCB6dSBhbnR3b3J0ZW4gLSBpbiBkaWUKU3BhbHRlLCB1bmQgc2NobmFwcHRlIHNpY2ggZGVuIEhleGVudG9ldGVyLCB3b21pdCBmdWVyIEFsaWVuYSBkYXMgUXVlc3QKZXJzdG1hbCBiZWVuZGV0IHdhci4KR3V0LCB3ZW5pZ3N0ZW5zIGVudHNjaHVsZGlnZW4ga29lbm5lIGVyIHNpY2ggamEsIGhhYmUgaWNoIGlobSBtaXRnZXRlaWx0LAphYmVyIG5peCBkYSwgZGllIGVpbnppZ2UgQW50d29ydCBkaWUgbWFuIHZvbiBpaG0ga3JpZWd0ZSB3YXIsIGRhc3MgZXIga2VpbmUKTHVzdCBnZWhhYnQgaGFiZSwgZGVuIEZyb3NjaCBhbSBGbHVzcyB6dSBzdWNoZW4sIHVuZCBlaW4gYW5kZXJlciBTcGllbGVyIGlobQpnZXNhZ3QgaGFiZSwgZXIgc29sbGUgZWluZmFjaCB3YXJ0ZW4sIGJpcyBlaW4gYW5kZXJlciBTcGllbGVyIHZvcmJlaWtvbW10LApkZXIgRnJvc2NoIGlzdCwgdW5kIGRhbm4gd2llIGdlc2NoZWhlbiBkZW4genUga3Vlc3NlbiB1c3cuLCB3aWUgZXJzIGRhbm4KZ2VtYWNodCBoYXQuCkRhc3MgZGllc2UgTWV0aG9kZSBhbmRlcmUgYmVpbSBxdWVzdGVuIG5pY2h0IG51ciBiZWhpbmRlcnQsIHNvbmRlcm4gZGFzCldlaXRlcmtvbW1lbiBmdWVyIGVpbmVuIHJlc2V0IHVubW9lZ2xpY2ggbWFjaHQsIGludGVyZXNzaWVydCBDaGFybHkgbmljaHQuCk9mZmVuYmFyIGxpZWd0IGRhIGVpbmUgJ0pldHp0IGtvbW0gaWNoLCBhbGxlIHdlZyBkYScgTWVudGFsaXRhZXQgdm9yLCBkaWUgaWNoCmVpbmZhY2ggYmVzY2hpc3NlbiBmaW5kZS4gVW5kIGRhc3MgaGFiZSBpY2ggaWhtIGF1Y2ggdW50ZXIgVmVyd2VuZHVuZwpldGxpY2hlciBHcm9zc2J1Y2hzdGFiZW4gbWVociBhbHMgZGV1dGxpY2ggZ2VzYWd0LiBJaG0gd2FyIGRhcyB3dXJzY2h0LCBlcgpoYXR0ZSBqYSwgd2FzIGVyIGJyYXVjaHQuIEFzb3ppYWxlIHVudGVyd2VncywgbWVociBzYWcgaWNoIGRhenUgbmljaHQuCgoyLiBHZXNjaGljaHRlLCB1bmQgbm9jaCBkZXV0bGljaCBiZXNzZXIsIHNjaG9uIHBhYXIgVGFnZSBoZXI6IEtsZWluZXIgS2FtcGYKaW0gR2xvY2tlbndhbGQsIFJ5bmUgZ2VnZW4gZWluZW4gR2FyZGV3YWVjaHRlci4gRXMgc2FoIGd1dCBhdXMgZnVlciBSeW5lLCBiaXMKcGxvZXR6bGljaCBCUkFJTiBhdWZ0YXVjaHRlLCB1bmQgaWNoIG1pciBhbnNjaGF1ZW4ga29ubnRlLCB3aWUgQnJhaW4gamVkZQpLYW1wZnJ1bmRlIGVpbmVuIEJ1bWVyYW5nIHZvbiBtaXIgc2NobGljaHQgd2VnZmluZywgd29yYXVmaGluIGljaCB6dW5hZWNoc3QKbWVpbmVuIEVyc2F0emJ1bWkgYXVzcGFja3RlLCBkZW4gZXIgbWlyIGFiZXIgYXVjaCB3ZWdmaW5nLCB1bSBkYW5uIG1pdCAzCkJ1bWVyYW5ncyBlaW5mYWNoIGFienVoYXVlbi4gTnVuIGphLCB0cm90emRlc3NlbiBzdHJlY2t0ZSBkZXIgR2FyZGV3YWVjaHRlcgpzZWluZSB2aWVyZSB2b24gc2ljaCwgZGllIG5hY2hmb2xnZW5kZSBCaXR0ZSBhbiBCcmFpbiwgbWlyIG1laW5lIEJ1bWVyYW5ncwp3aWVkZXJ6dWdlYmVuLCBibGllYiBqZWRvY2ggZXJmb2xnbG9zLiBFcnN0IG5hY2ggbWluZC4gMTUgTWludXRlbiByZWFnaWVydGUKZXIgdWViZXJoYXVwdCBhdWYgbWVpbmUgRnJhZ2VyZWksIHN0ZWxsdGUgc2ljaCBkYW5uIGFiZXIgZXJzdG1hbCBkb29mLCB1bmQKYmVoYXVwdGV0ZSwgdWViZXJoYXVwdCBrZWluZSBCdW1pcyB6dSBoYWJlbi4gQWxzIGljaCBkYW5uIHp1IGlobSBoaW4gYmluLApyYW5udGUgZXIgcGVybWFuZW50IHdlZywgYmlzIGVyIGlyZ2VuZHdhbm4gd29obCBhdWZnYWIsIHVuZCBtaXIgbmFjaCAzMCAoISEhKQpNaW51dGVuIG1laW5lIEJ1bWlzIHdpZWRlcmdhYi4gQmVncnVlbmR1bmcgZnVlcnMgd2VnZmFuZ2VuOiBFciBoYWJlIGdlZ2xhdWJ0LApkaWUgd3VlcmRlbiBrZWluZW0gZ2Vob2VyZW4sIHVuZCBtaWNoIG5pcmdlbmRzIGdlc2VoZW4uCgpBbHNvIHdpZSBibG9lZGUga2FubiBzaWNoIGplbWFuZCBhbnN0ZWxsZW4gPyBEYXMgQnJhaW4tbGVzcyAoZGVyIE5hbWUgZHVlcmZ0ZQpkZXV0bGljaCBiZXNzZXIgcGFzc2VuKSBuaWNodCBnZW1lcmt0IGhhdCwgZGFzcyBlcyBpbiBkZW0gUmF1bSB3byBpY2gKa2FlbXBmdGUgdGllcmlzY2ggZ2VzY3JvbGx0IGhhdCwga2FubiBlaW5mYWNoIGtlaW5lciBnbGF1YmVuLiBFaW5lIHNvbGNoCmRyZWlzdGUgQXJ0IGRlcyBEaWVic3RhaGxzIGhhYmUgaWNoIGhpZXIgYXVjaCBub2NoIG5pY2h0IGVybGVidC4gVW5kIGRhbm4Kbm9jaCBzb2xhbmdlIHNpY2ggZHVtbSB6dSBzdGVsbGVuIHVuZCB6dSBiZWhhdXB0ZW4sIG1hbiBoYWJlIGdhciBrZWluZSBCdW1pcwpnZW5vbW1lbi4uLgoKTWVpbiBGYXppdCBhdXMgZGllc2VuIEdlc2NoaWNodGVuOiBEYXNzIGRpZSBTaXR0ZW4gdW50ZXIgZGVuIE5ldWVuIGltIE11ZAppbW1lciBoZXJiZXIgd2VyZGVuLCBtZXJrZW4gamEgYXVjaCBhbmRlcmUgaGllciwgZGEgZ2FicyBqYSBlaW5pZ2VzIHp1IHp1Cmxlc2VuLiBGdWVyIG1pY2ggc3RlbGx0IHNpY2ggZGllIEZyYWdlLCBvYiBlcyBuaWNodCBtb2VnbGljaCBpc3QsIGltCkFuZmFlbmdlcmhhbmRidWNoIGlyZ2VuZHdhcyBtaXQgZWluZXIga2xlaW5lbiBBYnRlaWx1bmcgJ0V0aWtldHRlJyBtaXQKZWluenViYXVlbiwgZGFtaXQgTmV1bGluZ2Ugc2ljaCBuaWNodCB1bmJlbGllYnQgbWFjaGVuLiBEZW5uIGVpbmlnZSB0YXBwZW4Kc2ljaGVybGljaCBhdWNoIG9obmUgYm9lc2VuIEdsYXViZW4gaW5zIEZldHRuYWVwZmNoZW4sIHVuZCBtYWNoZW4gZGFtaXQgaWhyZQpHcnVwcGUgZGVyICdBbmZhZW5nZXInIGluc2dlc2FtdCB1bmJlbGllYnQsIG9obmUgZXMgenUgd29sbGVuLiBadSBMZXV0ZW4gd2llCkNoYXJseSB1bmQgQnJhaW4gc2FnZSBpY2ggbGllYmVyIG5peCBtZWhyLCB3ZXIgc2ljaCBzbyB2ZXJoYWVsdCwga3JpZWd0IHZvbgptaXIga2VpbmUgSGlsZmVuLCB3ZW5uIGVyIHNpZSBtYWwgYnJhdWNodC4KCkxhbmdlciBBcnRpa2VsLCBpIGtub3csIGFiZXIgbXVzc3RlIG1hbCBzZWluLgoKd2lua2Ugd2lua2UKClJ5bmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChHYXN0MSwgMTYuIE1hciAxOTk1LCAxMDozNjozMSk6CiMhIHJuPVRvc3MgcnQ9Nzk1MzQyMzI4CkFudHdvcnQgdm9uIENIQVJMWSBhdWYgVE9TUwoKSGkgVG9zcyAhCgpXYXMgd2lsbHN0IER1IGVycmVpY2hlbiA/CldpbGxzdCBEdSBibG9zcyBwcm92b3ppZXJlbiBvZGVyIEFuZmFlbmdlcih3aWUgbWljaCkgdmVydHJlaWJlbiA/CgpEdSB3ZWlzc3QgZGFzIERlaW5lIFppdGF0ZSBlaW5mYWNoIEVSTE9HRU4gc2luZCAuCgpXZW5uIERpY2ggd2lya2xpY2ggaW50ZXJlc3NpZXJ0IGhhZXR0ZSB3YXMgbG9zIHdhciwgaGFldHRlc3QgRHUKbWljaCBmcmFnZW4gc29sbGVuLCBhbnN0YXR0IG1pY2ggc29mb3J0IGFuenVwb2ViZWxuICEgT2huZSBlaW5lCkFudHdvcnQgYWJ6dXdhcnRlbiBoYXN0IER1IERpY2ggMTAgc2VrIHNwYWV0ZXIgYXVzZ2Vsb2dndC4KCktsZWluZXIgVGlwIDoKSW4gWnVrdW5mdCBzb2xsdGVzdCBEdSBuaWNodCBtZWhyIHNvIHNjaG5lbGwgdGlwcGVuLCBzb25kZXJuCm1hbCB2b3JoZXIgbmFjaGRlbmtlbi4gSW0gUkwgaGFldHRlIGljaCBEaXIgZnVlciBkaWUKZ3J1bmRsb3NlbiBCZWxlaWRpZ3VuZ2VuIChpY2ggbmVubmUgc2llIG5pY2h0LW9id29obCBEdSBkYXMKd29sbHRlc3QpIGVpbiBwYWFyIGdlc2NoZXVlcnQuCgpjaGFybHkKKGxlaWRlciB2aWVsIHp1IGd1dG11ZXRpZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoR3d5bmRvbiwgMTYuIE1hciAxOTk1LCAxMzo1Nzo0OSk6CiMhIHJuPUdhc3QxIHJ0PTc5NTM0NjU5MQogSG1tLi4uIGRhcyBzY2hlaW50IG1hbCB3aWVkZXIgZWluIEZhbGwgdm9uICJKZWRlciBoYXQgc2VpbmUgV2FocmhlaXQgdW5kCmRlciBhbmRlcmUgaXN0IGJvZXNlIiB6dSBzZWluLgpBYmVyIHdhcyBtYW4gc2ljaGVybGljaCBzYWdlbiBrYW5uLCBpc3QgZGFzcyBFdGlrZXR0ZSBldHdhcyBpc3QsIGRhcyBuaWNodApudXIgZnVlciBOZXVsaW5nZSBnZWx0ZW4gc29sbHRlLCBzb25kZXJuIGF1Y2ggZnVlciBlcmZhaHJlbmUgWndlaXRpZXMsIHdpZQpUb3NzLCBkZXIgdm9uIEV0aWtldHRlIGRhbm4gbmljaHRzIGhhZWx0LCB3ZW5uIGVyIGdlcmFkZSBtYWwgKGF1Y2ggYXVmIEtvc3RlbgphbmRlcmVyKSBzZWluZW4gU3Bhc3MgaGFiZW4gd2lsbC4gR2VnZW4gUnluZSB3aWxsIGljaCBuaXggc2FnZW4sIGFiZXIgRXRpa2V0dGUKaXN0IGZ1ZXIgYWxsZSBkYS4gVW5kIGRhenUgc29sbHRlLCBDaGFybHksIGRhcyBFbnRzY2h1bGRpZ2VuIGdlaG9lcmVuLCB1bmQKd2VubiBuaWNodCBiZWkgZWluZW0gc2NoaW1wZmVuZGVuIFRvc3Mgb2RlciBSeW5lLCBkYW5uIGJlaSBBbGllbmEuIChTRU5GIE9GRikKZ2V6LiBHd3luZG9uIChpbW1lciBmcmV1bmRsaWNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJsb29keWhhcnJ5LCAxNi4gTWFyIDE5OTUsIDE1OjIyOjEyKToKIyEgcm49VG9zcyBydD03OTUzNDIzMjgKCldhcyBpc3QgZGVubiBkYXMgZnVlciBlaW4gTVVEIGhpZXIsIHdlbm4gc29nYXIgc2Nob24gU2VoZXIgYW5mYW5nZW4gcnVtCnp1IGphbW1lcm4/Pz8/Pz8KCkJsb29keSBIYXJyeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdlbkdyYXVlbiB1bmQgZGVyIFBlbnRpdW0gKEpvZiwgMTYuIE1hciAxOTk1LCAxNjowNDozNCk6CgogRGllIFByb2JsZW1lLCBkaWUgTW9yZ2VuR3JhdWVuIGF1ZiBkZW0gTGVpaHJlY2huZXIgaGF0dGUsIHNpbmQgamV0enQgZ2UtCmtsYWVydCAtIGRhcyBCb2FyZCBpc3QgZGVmZWt0LiBXZW5uIG1hbiBpaG4gbWl0IDY0IE1CIG9kZXIgbWVociBhdXNzdGF0dGV0CihlaWdlbnRsaWNoIG11c3MgZXMgaGVpc3NlbjogV2VubiBtYW4gaWhuIG1pdCA0IFNJTU1zIGF1c3N0YXR0ZXQgLi4uKSB1bmQKZGVuIFNwZWljaGVyIHZvbGxzY2hyZWlidCwgJ2tpcHBlbicgbmFjaCBjYSA1LTMwIE1pbnV0ZW4gZWluemVsbmUgQml0cyB1bS4KRGllIFNJTU1zIHNpbmRzIG5pY2h0LCB3ZW5uIG1hbiBqZXdlaWxzIHp3ZWkgZWluYmF1dCwga2xhcHB0IGFsbGVzLiBXaXIKa3JpZWdlbiBlaW4gbmV1ZXMgQm9hcmQsIHNvYmFsZCBUTEsgZWlucyBiZWtvbW10IC0gZGllc2UgdW5kIGxldHp0ZSBXb2NoZSBoYXQKb2ZmZW5iYXIgZGllIENlQml0IGJlaSBzbyB6aWVtbGljaCBhbGxlbiBHcm9zc2hhZW5kbGVybiB6dSBrbGVpbmVuIExpZWZlcmVuZy0KcGFlc3NlbiAoYWxsZSBNYW5uIGF1ZiBkZXIgTWVzc2UpIGdlZnVlaHJ0IDspCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ2VuR3JhdWVuIHVuZCBkZXIgUGVudGl1bSAoSm9mLCAxNi4gTWFyIDE5OTUsIDE2OjA5OjE2KToKIyEgcm49Sm9mIHJ0PTc5NTM2NjI3NApBY2hzbyBqYSAtIGVoZSBOYWNoZnJhZ2VuIGtvbW1lbjoKIEVzIGhhbmRlbHQgc2ljaCBOSUNIVCB1bSBlaW4gcHJpbnppcGllbGxlcyBQcm9ibGVtIG1pdCBMaW51eCB1bmQgUGVudGl1bXMKdW5kIDY0IE1CIC0gaWNoIGhhYiBkZW4gU3BlaWNoZXIgbWFsIGluIGRlbiBQOTAgZWluZXMgS29sbGVnZW4gbWl0IGRlbQpnbGVpY2hlbgpCb2FyZHR5cCBnZXBhY2t0LCB1bmQgZGEgbGFldWZ0IGFsbGVzIGVpbndhbmRmcmVpLiBMZWlkZXIgd29sbHRlIGRlciBLby0KbGxlZ2Ugc2VpbiBCb2FyZCBuaWNodCBoZXJnZWJlbiAuLi4KCkpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlbCBPVVRTSURFISAoSmltZGlncml6LCAxNi4gTWFyIDE5OTUsIDE2OjI3OjE3KToKIyEgcm49Sm9mIHJ0PTc5NTA5OTgxOAphdWNoIGljaCBoYWx0ZSBlaW5lbiBQQyBmdWVyIGVpbmUgdmVybnVlbmZ0aWdlIExvZXN1bmcsIGdlcmFkZQppbiBCZXp1ZyBhdWYgR2VzY2h3aW5kaWdrZXV0L1ByZWlzIHZlcmhhZWx0bmlzLiBEaWUgSGF1cHRpbnZlc3RyaXRvaW4gd2lyZAp0YXRzYWVjaGxpY2ggZGVyIFNwZWljaGVyIHNlaW4uCkFscyBPUyB3dWVyZGUgaWNoIGFiZXIgRnJlZUJTRCBMaW51eCBqZWRlcnplaXQgdm9yemllaGVuIChiZXNzZXJlClNwZWljaGVydmVyd2F0dW5nLCBLZXJuZWwgc2F1YmVyZXIgcHJvZ3JhbW1pZXJ0IGV0YykKdmllbCBFcmZvbGcsCiBKYW1lcyBCb2xpdmFyIGRpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZWwgT1VUU0lERSEgKEpvZiwgMTYuIE1hciAxOTk1LCAxNzoyMDozNSk6CiMhIHJuPUppbWRpZ3JpeiBydD03OTUzNjc2MzcKRGFzIHNlaCcgaWNoIGR1cmNoYXVzIG5pY2h0IHNvOiBpY2ggaGFiIGdyYWRlIGxhZW5nZXJlIFplaXQgYW4gMiBSZWNobmVybgptaXQgRnJlZUJTRCAyLjAgcnVtZ2ViYXN0ZWx0LCB1bmQgZXMgc2llaHQgaW1tZXIgbm9jaCBnZW5hdSBzbyBhdXMgd2llCk5ldEJTRCAwLjkgdm9yIGVpbmlnZW4gSmFocmVuLCBhbHMgaWNoIHp1IExpbnV4IGdld2VjaHNlbHQgYmluIC4uLgoKIEJlc3NlcmUgU3BlaWNoZXJ2ZXJ3YWx0dW5nIHd1ZXJkIGljaCBuaWNodCB1bnRlcnNjaHJlaWJlbiAtIExpbnV4IGdpbmcKZGFtYWxzIChhbHMgaWNoIG5vY2ggQlNEIGdlbnV0enQgaGFiKSBiZXJlaXRzIGRldXRsaWNoIHNwYXJzYW1lciBtaXQgZGVtClNwZWljaGVyIHVtIGFscyBOZXRCU0QsIHVuZCBpY2ggZ2xhdWInIGthdW0sIGRhcyBkYXMgbm9jaCB2aWVsIHJhdXN6dS0KaG9sZW4gaXN0LgoKIERhcyBFeHQyRlMgdm9uIExpbnV4IGhhdCBlaW4gZGV1dGxpY2ggdWViZXJsZWdlbmVzIENhY2hpbmctS29uemVwdCBnZWdlbi0KdWViZXIgZGVtIGluIEZyZWVCU0QgYmVudXR6dGVuIEJlcmtlbGV5IEZGUywgdW5kIGljaCBoYWIncyB1bnRlciBMaW51eCBpbgoyIEphaHJlbiBuaWNodCBnZXNjaGFmZnQsIGVybnN0ZSBGaWxlc3lzdGVtc2NoYWVkZW4genUgZXJ6ZXVnZW4gKE5ldEJTRApoaW5nZWdlbiBoYXQgbWljaCBhbGxlIE5hc2UgbGFuZyBpbiBkZW4gU2luZ2xldXNlcm1vZGUgZ2VzY2htaXNzZW4KKFVORVhQRUNURUQgSU5DT05TSVRFTkNZLCBSVU4gRlNDSyBNQU5VQUxMWSkgdW5kIEZpbGVzIHZlcmxvcmVuZ2VtYWNodCwgbnVyCndlaWwgamVtYW5kIGRlbiBSZWNobmVyIG9obmUgc2F1YmVyZW4gU2h1dGRvd24gYXVzZ2VtYWNodCBoYXQuCgogRGFzIEVJTlpJR0UsIHdhcyBCU0QgTGludXggZGFtYWxzIExpbnV4IHZvcmF1cyBoYXR0ZSwgd2FzIGRhcyB6aWVtbGljaApzdGFiaWxlIE5ldHdvcmtpbmcgLSBkYXMga2FubiBMaW51eCBpbnp3aXNjaGVuIGFiZXIgZ2VuYXUgc28gZ3V0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChUb3NzLCAxNi4gTWFyIDE5OTUsIDE4OjU2OjIwKToKIyEgcm49R2FzdDEgcnQ9Nzk1MzQ2NTkxCkhpIQoKQWxzbywgQ2hhcmx5LCB2ZXJ0cmVpYmVuIHdpbGwgaWNoIGhpZXIgbmllbWFuZGVuLiBBYmVyIHdlciB3aWUgRHUgYW5kZXJlClNwaWVsZXIgYmVpbSBRdWVzdGVuIGJlaGluZGVydCwgZ2Vob2VydCBuaWNodCBpbiBlaW4gTXVkLCBlcyBzZWkgZGVubiBlcgphZW5kZXJ0IHNlaW5lIEVpbnN0ZWxsdW5nLgoKRXJsb2dlbiBoYWJlIGljaCBnYXIgbmljaHRzLCBhYmVyIGJld2Vpc2VuIGthbm4gaWNoIGRhcyBuaWNodC4gQWJlciB3YXJ1bQpzb2xsdGUgaWNoIGRpZXNlIEdlc2NoaWNodGVuIGVyZmluZGVuID8gLSBHbGF1YnN0IER1LCBpY2ggd2FydGUgaW4gZGVuIE1pbmVuCnZvbiBNb3JpYSwgYmlzIGRhIGVpbiBBbmZhZW5nZXIgYW5rb21tdCwgZGVuIGljaCBtYWwgc28gcmljaHRpZyBzY2hvZW4KYW5zY2hyZWllbiBrYW5uID8/PwpTbywgdW5kIGJlenVlZ2xpY2ggbWVpbmVyIEFldXNzZXJ1bmdlbiBEaXIgZ2VnZW51ZWJlcjogV2VubiBpY2ggc2NoZWlzc2UKYmF1ZSwgbGFzcyBpY2ggbWljaCBkYWZ1ZXIgZ2VybmUgYW5tYWNoZW4uIFdlbm4gaWNoIHdpcmtsaWNoIHNjaHVsZCB3YXIsCmVudHNjaHVsZGlnZSBpY2ggbWljaCBiZWkgZGVtIEJldHJvZmZlbmVuLiBXZW5uIGFiZXIgamVtYW5kIHNpY2ggc28gdmVyaGFlbHQKd2llIER1LCBrcmllZ3QgZXIgdm9uIG1pciBhdWNoIGVpbmVuIGRyYXVmLiBVbmQgbmljaHQgZnVlciBlaW4gZWluemlnZXMgV29ydApkYXMgZGEgZ2VmYWxsZW4gaXN0LCB3dWVyZGUgaWNoIG1pY2ggZW50c2NodWxkaWdlbi4gRGFzIGhhdCBqZW1hbmQgd2llIER1Cm5pY2h0IHZlcmRpZW50LgoKUnluZQoKUC5TLjogSXJnZW5kZWluIEZvbGdlYXJ0aWtlbCBzY2hyaWViIHdhcyB2b24gamFtbWVybmRlbiBTZWhlcm4uIEljaCBqYW1tZXJlCm5pY2h0LiBJbSBGYXppdCBtZWluZXMgQXJ0aWtlbHMgd2FyIGRvY2gga2xhciBnZXNhZ3QsIGRhc3MgaWNoIGhhbHQgZmluZGUsIG1hbgptdWVzc2UgZGVuIEFuZmFlbmdlcm4gaGFsdCBpcmdlbmR3aWUgYmVzc2VyIGFscyBiaXNoZXIgZGllIFJlZ2VsbiB2ZXJtaXR0ZWxuLApkYW1pdCBzaWUgc2ljaCBuaWNodCB1bmJld3Vzc3QgdW5iZWxpZWJ0IG1hY2hlbi4gTUlSIGlzdHMgZWdhbCwgb2Igc2llIHNpY2gKZGFuZWJlbiBiZW5laG1lbi4gVHlwZW4gd2llIEJyYWluIHVuZCBDaGFybHkgc3RlaGVuIGJlaSBtaXIgYXVmIGlnbm9yaWVyZSwgZGllCmtvZW5uZW4gc2ljaCBoYWx0IHZvbiBhbmRlcmVuIGhlbGZlbiBsYXNzZW4sIHdlbm4gc2llIEhpbGZlIGJyYXVjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChBc21vZGlzLCAxNi4gTWFyIDE5OTUsIDE5OjIzOjI3KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1MzYzNzMyCkRhcyBnYW56ZSBoYXQgbml4IG1pdCBydW1qYW1tZXJuIHp1IHR1biwgaGFycnksIGF1Y2ggd2lyIFNlaGVyIGJla29tbWVuCnNvbGNoZSBTYWNoZW4Kd2llIEJ1bWVyYW5ncyBuaWNodCBnZXNjaGVua3QuCldlbm4gZWluIEFuZmFlbmdlciBpbnRlcmVzc2UgZGFyYW4gemVpZ3QsIGRhbm4gc29sbCBlciBnZWZhZWxsaWdzdCBiZWkgc2VpbmVtCkJlc2l0emVyCmFuZnJhZ2VuLCB1bmQgbmljaHQgZWluZmFjaCBkYXMgWmV1ZyBtaXRnZWhlbiBsYXNzZW4uCkFsc28gaWNoIGdlaGUgZGF2b24gYXVzLCBkYXNzIFJ5bmUncyBTdG9yeSBzdGltbXQsIGF1Y2ggd2VubiBtYW4gc2llIG5pY2h0CmJld2Vpc2VuIGthbm4sCnVuZCBzb29vIGJsaW5kIGthbm4gQnJhaW4gamEgYXVjaCBuaWNodCBnZXdlc2VuIHNlaW4sIGRhc3MgZXIgbmljaHQgc2llaHQsCmRhc3MgamVtYW5kCmRpZSBCdW1lcmFuZ3Mgd2lyZnQgKGJlaSBmbGllZ2VuZGVuIEJ1bWVyYW5ncyBpc3QgYXVzc2VyZGVtIGltbWVyIGRlcmVuCkJlc2l0emVyIGluIGRlciBOYWVoZSkuCk1pciBwZXJzb2VubGljaCBpc3QgZXMgYXVjaCBzY2hvbiBwYXNzaWVydCwgZGFzcyBlaW5mYWNoIGplbWFuZCBtZWluZSBTYWNoZW4Ka2xhdXQgb2RlciBkYXNzCmplbWFuZCBlaW5mYWNoIGVpbiBmcmlzY2ggdm9uIE1JUiBlcnNjaGxhY2h0ZXRlcyBNb25zdGVyIGF1c2JldXRldCwgb2J3b2hsCmljaCBkYW5lYmVuc3RlaGUsCnVuZCBpY2ggZmluZGUgc29sY2hlIFNhY2hlbiBlaW5mYWNoIHp1bSBrb3R6ZW4uCgpDaWFvLCBBc21vZGlzIChkZXIgZmluZGV0LCBkYXNzIFNlaGVyIGdlZ2VuIGRpZXNlIGtyaW1pbmVsbGVuIHp1c2FtbWVuaGFsdGVuCm11ZXNzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ2VuR3JhdWVuIHVuZCBkZXIgUGVudGl1bSAoQmVsZGluLCAxNi4gTWFyIDE5OTUsIDE5OjQ4OjQ5KToKIyEgcm49Sm9mIHJ0PTc5NTM2NjI3NApJY2ggd3VlcmRlIHNhZ2VuLCBuaWNodCBkYXMgQm9hcmQgaXN0IGRlZmVrdCwgc29uZGVybiB2aWVsbGVpY2h0IGhhYmVuIGRpZQpTaW1tcyBrZWluZSBQYXJpdHktQml0cz8KTnVyIHNvIGVpbiBHZWRhbmtlIDspCllUQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChKb2YsIDE2LiBNYXIgMTk5NSwgMjA6NTU6NTgpOgojISBybj1CZWxkaW4gcnQ9Nzk1Mzc5NzI5CiBEaWUgU0lNTXMgSEFCRU4gaW4gZGVyIFRhdCBrZWluZSBQYXJpdHktQml0cyAoNE1CKjMyIGVyIFNJTU1zKSB1bmQgZGFzCkJvYXJkCkhBRVRURSBnZXJuZSAzNmVyIC0gYWJlciB3ZW5ucyBkYXJhbiBsYWVnZSwgbXVlc3N0ZSBkZXIgRmVobGVyIGRvY2ggYXVjaCBiZWkKMzIgTUJ5dGUgYXVmdHJldGVuPyBVbmQgdm9yIGFsbGVtIGR1ZXJmdGUgZGFubiBkZXIgUGVudGl1bSBtZWluZXMgS29sbGVnZW4KKGF1Y2ggSW50ZWwgUGxhdG8gQm9hcmQpIG5pY2h0IGxhdWZlbiBtaXQgdW5zcmVuIDY0IE1CIC4uLiBBbGxlcmRpbmdzCmZpbmQgaWNoIGRpZSBnYW56ZSBHZXNjaGljaHRlIGF1Y2ggc2VociB2ZXJ3dW5kZXJsaWNoIC0gaWNoIHdlcmQgVExLIGF1Y2ggYmktCnR0ZW4gbWl0IGpldHp0IHp1bSBUZXN0ZW4gZWluIEFTVVMtQm9hcmQgenUgZ2ViZW4gYW5zdGVsbGUgZGVzIEludGVsLURpbmdzCi4uLgpKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVsIE9VVFNJREUhIChKaW1kaWdyaXosIDE3LiBNYXIgMTk5NSwgMDM6Mjc6MDcpOgojISBybj1Kb2YgcnQ9Nzk1MzcwODM1CmtlaW4gU3RyZXNzIG9kZXIgT1MtS3JpZWcgOy0pKQoKQWxzbyBpY2ggZGVua2UgZGFzcyBkYXMgdm0tc3lzdGVtIHZvbiBCU0QgZGV1dGxpY2ggc2F1YmVyZXIgdW5kIHN0YWJpbGVyCmxhZXVmdCBhbHMgdm9uIGxpbnV4LgpBYmVyIG1hZyBzZWluIGRhcyBMaW51eCBpbnp3aXNjaGVuIGF1Y2ggc28gc3RhYmlsIGxhZXVmdCwgd2VubiBkdSBkaWVzZQplcmZhaHJ1bmdlbiBoYXN0ICh2aWVsIGdlc3dhcHBlZCA/IHNvIGFiIDUwIE1CICkgPwplaW4gQmVpc3BpZWwgaXMgemIgZnRwLmNkcm9tLmNvbSBkaWUgaGFiZW4gZWluZW4gcDUgbWl0IDE5Mk1CIHNwZWljaGVyLCBQQ0kgMwpTQ1NJLWNvbnRyLCAzMiBHQiBGUCAuLi4KZHUga2FubnN0IGRpZSBqYSBtYWwgZnJhZ2VuIDstKQpBYmVyIGRhcyBzb2xsZW4gbnVyIGVtcGZlaGx1bmdlbiBzZWluLCB3ZW5uIElociBtaXQgbGludXggZ3V0ZSBlcmZhaHJ1bmdlbgpnZW1hY2h0IGhhYnQsIHVuZAp3ZW5uIGRhcyBzcGllbCBkYW5uIGdlc2NoZWlkIGxhZXVmdCAsIGRhbm4gcGFzc3RzIGphIDstKQoKZ3J1ZXNzZSAsCiBKYW1lcyBCb2xpdmFyIGRpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoQmxvb2R5aGFycnksIDE3LiBNYXIgMTk5NSwgMDg6NTU6MjYpOgojISBybj1Ub3NzIHJ0PTc5NTM3NjU4MApXZWxjaGUgUmVnZWxuPyBXbyBmaW5kZXQgbWFuIGRpZXNlIFJlZ2Vsbj8KT2RlciBtZWluc3QgRHUsIER1IGZpbmRlc3QgdW5nZXJlY2h0ZmVydGlndCBiZWhhbmRlbHQgdW5kIG11c3N0IG51bgpkZW4gQW5mYWVuZ2VybiBlaW5mYWNoIGVpbiBwYWFyLCB2b24gRGlyIGVudHdvcmZlbmVuIFJlZ2Vsbiwgdm9yaGFsdGVuPwpaZWlnJyBkb2NoIG1hbCBkaWVzZSBSZWdlbG4hCgpCbG9vZHkgSGFycnkgIC0gIFBsdWVuZGVybiwgS2llbGhvbGVuLCBNYXNzYWdyaWVyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJvaW5nLCAxNy4gTWFyIDE5OTUsIDA5OjA3OjU2KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDI2OTI2CkVzIGdpYnQgYXVjaCB1bmdlc2NocmllYmVuZSBSZWdlbG4gYnp3LiBSZWdlbG4sIGRpZSBlaW5lbSBkZXIgZ2VzdW5kZQpNZW5zY2hlbnZlcnN0YW5kIHZlcm1pdHRsZW4gc29sbHRlLCB6LkIuIGRhc3MgaWNoIE1pdHNwaWVsZXJuIGtlaW5lClNhY2hlbiB3ZWduZWhtZSBvZGVyIG1pciBtaXQgdW5mYWlyZW4gTWl0dGVsbiBWb3J0ZWlsZSB2ZXJzY2hhZmZlLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChCbG9vZHloYXJyeSwgMTcuIE1hciAxOTk1LCAwOTozMToyMyk6CiMhIHJuPUJvaW5nIHJ0PTc5NTQyNzY3NgpVbmdlc2NocmllYmVuZSBSZWdlbG4gc2luZCB3YXMgZnVlciBkZW4gQXIqKiohCkVzIHNvbGwgd29obCBTcGllbGUgZ2ViZW4sIGRhIGlzdCBkYXMgZGllIFJlZ2VsLiBPZGVyIGlzdCBkaWVzIGhpZXIgYXVmIGVpbgptYWwga2VpbiBTcGllbCBtZWhyPwoKQmxvb2R5IEhhcnJ5ICAgLSAgIEljaCBrYW0sIHNhaCB1bmQgbmVobWUgQUxMRVMhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChZZW5kaSwgMTcuIE1hciAxOTk1LCAwOTo1MjoxMyk6CiMhIHJuPUJsb29keWhhcnJ5IHJ0PTc5NTQyOTA4MwoKV2lsbHN0IER1IG5vY2ggbGFuZ2Ugc3BpZWxlbiwgSGFycnk/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChIYXIsIDE3LiBNYXIgMTk5NSwgMTA6MTE6MzgpOgojISBybj1CZWxkaW4gcnQ9Nzk1Mzc5NzI5CkphdSwgZGFzIFByb2JsZW0gbWl0IGRlbiBwYXJpdGFldHMtQml0cyBoYXR0ZSBpY2ggYXVjaCBzY2hvbiBiZWltIGJlbGVnZW4gdm9uCjQgQmFlbmtlbiAoMio0IHVuZCAyKiA4KSBpbiBtZWluZW0gUDYwLCBuYWNoIDIwLTMwIE1pbnV0ZW4gd2FyIGltbWVyIFNlbnNlLAp6dXIgWmVpdGUgaGFiZSBpY2ggamV0enQgbnVyIG5vY2ggOCBNYiAobWl0IHBhcml0eSA6KQoKSGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChHdXlicnVzaCwgMTcuIE1hciAxOTk1LCAxMDoxNDowMik6CiMhIHJuPUhhciBydD03OTU0MzE0OTgKSG0sIGhlaXNzdCBkYXMsIGRhc3MgaWNoIGJlaSBuZXIgQW5zY2hhZmZ1bmcgZWluZXMgUDYwLzc1LzkwLzEwMCBkYXJhdWYKYWNodGVuIHNvbGx0ZSwgZGFzcyBpY2ggbmljaHQgYWxsZSBCYWVua2UgYmVsZWdlLCBvZGVyIHdlbm4sIGRhc3MgaWNoIFNJTU1zCm1pdCBQYXJpdHkga2F1ZmU/ClNhY2ggbWFsIDopCgpHdXlicnVzaCB3aWxsIHNpY2ggYXVjaCBzb24gVGVpbCB6dWxlZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChIYXIsIDE3LiBNYXIgMTk5NSwgMTA6MTk6NDIpOgojISBybj1HdXlicnVzaCBydD03OTU0MzE2NDIKSG1tLCBpY2ggZ2xhdWJlIHNjaG9uIG1hbiBrYW5uIGFsbGUgQmFlbmtlIGJlbGVnZW4gKGljaCBJZGlvdCBoYWJlIGRhcwphbGxlcnJzdGUgQkFUTUFOIEJvYXJkIHZvbiBJbnRlbCwgZGFzIGlzdCBlaCBuaWNodCBzbyB0b2xsKSwgYWJlciBpcmdlbmR3aWUKdmVyc3RlaGVuIHNpY2ggZGllIFR5cGVuIG5pY2h0IHNvIGdhbnosIHVuZCBpbW1lciB3aWVkZXIgc2ltbXMga2F1ZmVuLAplaW5iYXVlbiwgenVtIEhhZW5kZWxlciBnZWhlbiB1bmQgd2llZGVyIHVtdGF1c2NoZW4gaXN0IGF1aWNoIGxhZXN0aWcsCnVlYmVyaWdlbnMgaGF0IGVpbiBCZWthbm50ZXIgdm9uIG1pciBhZWhubGljaGUgcHJvYmxlbWUgYmVpIGVpbmVtIFA5MCBnZWhhYmV0LAphY2hqYSB1bmQgZGFubiBnaWJ0IGVzIGRhIG5vY2ggTGFlZGVuLCBkaWUgZWluYmVtIGVyemFlaGVsbiwgbWFuIGtvZW5uZSBTaW1tcwptaXQgdW5kIG9obmUgUGFyaXR5IG1peGVuLCBkYSBmcmFnZSBpY2ggbWljaDogd296dSBoYXQgbWFuIGRlbm4gbgp3ZWxjaGUgbWl0IFBhcml0eT8/PyAgOikpKSkpKSkpKSkpKQpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJsb29keWhhcnJ5LCAxNy4gTWFyIDE5OTUsIDEwOjQxOjQ4KToKIyEgcm49WWVuZGkgcnQ9Nzk1NDMwMzMzCgpXaWVzbz8gV2lsbHN0IER1IG1pciBldHdhIGRyb2hlbj8KCkJsb29keSBIYXJyeSAgIC0gICBQbHVlbmRlcm4sIEtpZWxob2xlbiB1bmQgTmllZGVybWV0emVsbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWRsZSBTcGVuZGVyISAoQ3JhaWcsIDE3LiBNYXIgMTk5NSwgMTE6NDg6MTUpOgoKRGllIFNwZW5kZW5saXN0ZSBpc3QgZWluZSB0b2xsZSBJZGVlLiBHZXRyZXUgZGVtIE1vdHRvOiAiVHUgR3V0ZXMgdW5kIHNwcmljaApkYXJ1ZWJlciIuIEFiZXIgZXMga2FubiBnYXIgbmljaHQgZ2VudWcgZnVlciBkaWUgQWt0aW9uIGdld29yYmVuIHdlcmRlbi4KS29lbm50ZSBtYW4gbmljaHQgZXR3YSBlaW5lbiBuZXVlbiBUaXRlbCBlaW5mdWVocmVuIHdpZSAnR2VsZHNhY2sgZGVyIGVkbGUKU3BlbmRlcicsIGRlbiBqZWRlciBTcGVuZGVyIHVuZCBqZWRlIFNwZW5kZXJpbiBzaWNoIHdhaGx3ZWlzZSB6dWxlZ2VuIGthbm4/CgoKQ1JBSUcgZGVyIGVkbGUgU3BlbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFR6dWlvcCwgMTcuIE1hciAxOTk1LCAxMjoyNzo0MCk6CiMhIHJuPUJsb29keWhhcnJ5IHJ0PTc5NTQyOTA4MwpIaSBCbG9vZHlIYXJyeSwgZHUgc2NocmVpYnN0OgpVbmdlc2NocmllYmVuZSBSZWdlbG4gc2luZCB3YXMgZnVlciBkZW4gQXIqKiohCkVzIHNvbGwgd29obCBTcGllbGUgZ2ViZW4sIGRhIGlzdCBkYXMgZGllIFJlZ2VsLiBPZGVyIGlzdCBkaWVzIGhpZXIgYXVmIGVpbgptYWwga2VpbiBTcGllbCBtZWhyPwoKQmxvb2R5IEhhcnJ5ICAgLSAgIEljaCBrYW0sIHNhaCB1bmQgbmVobWUgQUxMRVMhCgpBdWYgd2VsY2hlciBRdWVzdCBkYXJmIGljaCBEaWNoIGRlbm4gbWFsIGJlZ2xlaXRlbiwgdW0gRGlyCmRpZSBRdWVzdC1PYmpla3Qgdm9yIGRlciBOYXNlIHdlZ3p1c2NobmFwcGVuID8KCi9UenVpb3AgbGFlc3N0IHNpY2ggYXVjaCBuaWNodCBnZXJuZSBiZWtsYXVlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9yZ2VuR3JhdWVuIHVuZCBkZXIgUGVudGl1bSAoRnJldW5kLCAxNy4gTWFyIDE5OTUsIDEzOjE2OjMxKToKIyEgcm49Sm9mIHJ0PTc5NTM4Mzc1OApIaSwKSm9mIHdpciBIQUJFTiBqZXR6dCBlaW4gQXN1cy1Cb2FyZCBmdWVyIHVucywgYWVoLCBmdWVycyBNdWQuCklzdCBhYmhvbGJlcmVpdC4gKHdlbm4gZXMgbm9jaCBrZWluZXIgZ2Vob2x0IGhhdCwKYmV2b3IgaWNoIGRpZXNlbiBBcnRpa2VsIHNjaHJpZWIuLi4pCkVpbiBpbW1lciBGUkVVTkRsaWNoZXIgRnJldW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoQmxvb2R5aGFycnksIDE3LiBNYXIgMTk5NSwgMTM6MjM6MDgpOgojISBybj1UenVpb3AgcnQ9Nzk1NDM5NjYwCgpUenVpb3AgLi4uIGhtIGdlaHQgaXJnZW5kd2llIHNvIGxvY2tlciB2b24gZGVyIEhhbmQuIDotKQoKTmF0dWVybGljaCBtYWcgaWNoIGRhcyBhdWNoIG5pY2h0IHNvIGdlcm5lLiBBYmVyIHZpZWxlaWNodCBrYW5uIG1hbgpzaWNoIGphIHVlYmVyIGVpbmUgZW50c3ByZWNoZW5kZSBHZWdlbmxlaXN0dW5nIGVpbmlnZW4sIHdlbm4gZGVyIFZvci0KYmVzaXR6ZXIgZGllIFNhY2hlbiBkb2NoIHdpZWRlciB6dXJ1ZWNrIGhhYmVuIHdpbGwuCgpCbG9vZHkgSGFycnkgICAtICAga29tbXQgbGFuZ3NhbSBhYmVyIHNpY2hlciBkZXIgU2FjaGUgbmFlaGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChUb3NzLCAxNy4gTWFyIDE5OTUsIDEzOjMyOjU2KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDQyOTg4CkFlaG0sCgpkYSBzY2hlaW50IHNpY2ggbWFsIHdpZWRlciBlaW5lIERpc2t1c3Npb24genUgdmVyc2VsYnN0YWVuZGlnZW4uLi4gaWNoIGhhYmUKbWljaCBpbiBtZWluZW0gQXJ0aWtlbCBkYXJ1ZWJlciBnZWFlcmdlcnQsIGRhcyBlaW4gQW5mYWVuZ2VyIFdBZWhyZW5kIGVpbmVzCmthbXBmZXMgaGVyZWlubGFldWZ0IHVuZCBtaXIgbWVpbmUgQnVtaXMgd2VnZmFlbmd0Li4uIHNvbGwgaWNoIGRhZnVlciBlaW5lCkdlZ2VubGVpc3R1bmcgZXJiaXJuZ2VuLCB1bSBkaWUgenVydWVja3p1YmVrb21tZW4sIEhhcnJ5ID8KCktvcGZzY2h1ZXR0ZWxuZCwKClJ5bmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFR6dWlvcCwgMTcuIE1hciAxOTk1LCAxMzo1MzoyMyk6CiMhIHJuPUJsb29keWhhcnJ5IHJ0PTc5NTQ0Mjk4OApKYSAtIER1IGRhcmZzdCBhdWNoIGRlaW5lIG5hZWNoc3RlIFF1ZXN0IG9obmUgImZyZXVuZGxpY2hlIiBCZWdsZWl0dW5nIG1hY2hlbgo6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJsb29keWhhcnJ5LCAxNy4gTWFyIDE5OTUsIDE1OjI1OjM5KToKIyEgcm49VHp1aW9wIHJ0PTc5NTQ0NDgwMwoKQWxzbyB3aWUgZ2VoYWJ0LiAoKnNpZ2h0KikKCkJsb29keSBIYXJyeSAgIC0gICBkYXMgZ2FuemUgTGViZW4gaXN0IGVpbiBRdWVzdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJsb29keWhhcnJ5LCAxNy4gTWFyIDE5OTUsIDE1OjI5OjQ3KToKIyEgcm49VG9zcyBydD03OTU0NDM1NzYKClRhY2ggUnluZSEKCkphIHNhY2ggbWEuIFdhbm4gaGF0IHVuc2VyIGVpbnMgZGVubiBtYWwgZGllIEdlbGVnbmhlaXQgc29uIEJ1bWkgenUKYmVrb21tZW4/ClVuZCB3ZWlibGljaGVuIEdlc2NobGVjaHRzIGJpbiBpY2ggYXVjaCBuaWNodCAtIGFsc28gaGFiZSBpY2gga2F1bSBoaWVyCmVpbmUgQ2hhbmdlLCBkYXNzIG1pY2ggbWFsIGplbWFuZCBiZWkgZGVyIEhhbmQgbmltbXQgdW5kIGR1cmNoIGVpbgpRdWVzdCBmdWVocnQuIEFiZXIsIHdlbm4gbWFuIHdhcyBoYWV0dGUsIGRhcyBVZWJlcnpldWd1bmdza3JhZnQgYmVzaXR6dC4uLgoKQmxvb2R5IEhhcnJ5IHRyYWV1bXQgICAtICAgendlY2tsb3MsIGVyIGdpYnQgZXMgYXVmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFRvc3MsIDE3LiBNYXIgMTk5NSwgMTU6NTg6MzYpOgojISBybj1CbG9vZHloYXJyeSBydD03OTU0NTA1ODcKSGV5YSBIYXJyeSAhCgpBbHNvLCB3ZW5uIER1IEhpbGZlIGJyYXVjaHN0LCBkYW5uIGZyYWcgZG9jaCBlaW5mYWNoLi4uIG5pY2h0IG51ciB3ZWlibGljaGVuCkNoYXJha3RlcmVuIHdpcmQgZ2Vob2xmZW4gKHNwYWV0ZXN0ZW5zIHNlaXQgZGVyIEVpbnNpY2h0LCBkYXNzIGRhIHNvd2llc28KbWVpc3QgS2VybGUgaGludGVyc3RlY2tlbiAtIGFyZ2gsIGhhYiBtaWNoIGdlcmFkZSBhbHMgTWFjaG8gZ2VvdXRldCA7KSkKTmFqYSwgaWNoIGZpbmRzIGplZGVuZmFsc3MgZ3V0LCB3ZW5uIER1IGRpZXNlIFNhY2hlIG1pdCBlaW5lbSBBdWdlbnp3ZWlua2VybgpiZXRyYWNodGVzdCAtIGFiZXIgc2VpIGdld2lzcywgZXMgZ2lidCBiZXNzZXJlIE1ldGhvZGVuLCBTZWhlciB1bSBIaWxmZSB6dQpiaXR0ZW4sIGFscyBzaWNoIGRhZHVyY2ggQXVmbWVya3NhbWtlaXQgenUgdmVyc2NoYWZmZW4sIGRhc3MgbWFuIGlobmVuIGRpZQpXYWZmZW4gbWl0dGVuIGltIEthbXBmIHdlZ3NjaG5hcHB0IDspCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZW4gaXN0IFZJRUwgYmVzc2VyLiAoQmVuZGVpZ2lkLCAxNy4gTWFyIDE5OTUsIDE2OjIxOjUyKToKSWNoIGZpbmRlLCBSeW5lIGhhdCB2b2xsa29tbWVuIHJlY2h0LiBNaXIgaXN0IGVzIGF1Y2ggc2Nob24gaGluIG51bmQgd2llZGVyCnBhc2llcnQsIGRhc3MgbWlyIFpldWcgdm9yIGRlciBOYXNlIHdlZ2dlc2NobmFwcHQgd3VyZGUuIEluendpc2NoZW4gaXN0IG1pcgpkYXMgbWVzdCBlZ2FsLiBNaXQgZWluZXIgQXVzbmFobWU6IFF1ZXN0enViZWhvZXIuIGRhIGhvZXJ0J3MgZGFubiBhdWYsIHdlbm4KbWFuIGFuc2NobGllc3NlbmQgd2llZGVyIG5lIFN0dW5kZSBpZGxlbiBkYXJmLCBiaXMgZGFzIE1vbnN0ZXIgb2RlciB3YXMgYXVjaAppbW1lciB3aWVkZSBkYSBpc3QuClVOZCBtaXQgRlJBR0VOIChzZWhyIHdpY2h0aWcpIGthbm4gbWFuIGF1Y2ggaGluIHVuZCB3aWVkZXIgYW4gQnVtaXMga29tbWVuLgpXZW4gbWFuIHNpZSBzZWxic3QgemFobHQsIG5vY2ggZWhlci4gTmljaHQgdW5iZWRpbmd0IGRpcmVrdCBuYWNoIGVpbmVtIFJlYm9vdCwKYmFlcgpiZWkgTm9ybWFsYmV0cmllYiBpc3QgZXMgbWVpc3QgcHJvYmxlbWxvcyBtb2VnbGljaCwgc2ljaCB2b24gZWluZW0gU2VoZXIKZWluZW4gdW1pIGhvbGVuIHp1IG5sYXNzZW4uIERhcyBmdW5rdGlvbmllcnQgYXVjaCBtaXQgIkZ1ZWhydW5nZW4iIGR1cmNoIG5ldWUKR2VnZW5kZW4saW4gZGllIG1hbiBzaWNoIHNvIG5pY2h0IG9obmUgd2VpdGVyZXMgcmVpbnRyYXV0LCBvZGVyIHdvIG1hbiBzaWNoCnNjaG9lbmUgU3RsbGUgemVpZ2VuIGxhc3NlbiBrYW5uLgpOaWNodCwgZGFzIG1hbiBuaWNodCBzZWxic3QgYXVmIGVya3VuZHVuZyBnZWhlbiBrb2VubnRlLCBhYmVyIGF1Y2gKZ2VtZWluc2FtZXMgbWhlcnN0cmVpZmVuIG1hY2h0IHNlaHIgdmllbCBTcGFzcyEKU28sIHNvbGwncyBnZXdlc2VuIHNlaW4sCiAgICAgICAgICAgIE1pdCBmcmV1bmRsaWNoZW0gU3BlbmRlbmF1ZnJ1ZiwgQmVuZGVpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2VuIGlzdCBWSUVMIGJlc3Nlci4gKEJlbmRlaWdpZCwgMTcuIE1hciAxOTk1LCAxNjoyMzozMyk6CiMhIHJuPUJlbmRlaWdpZCBydD03OTU0NTM3MTIKRW50c2NodWxkaWd0IGRpZSB2aWVsZW4gVGlwcGZlaGxlciwgS2FuYWVsZSB3YXJlbiBtYWwgd2llZGVyIGFuLi4uCkJ5LCBCZW5kZWlnaWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFp1ZXJpbGV1LCAxNy4gTWFyIDE5OTUsIDE5OjA1OjAyKToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDQyOTg4ClNhbGkgQmxvb2R5aGFycnksCkVzIHdlcmRlbiBoaWVyIGltIE11ZCBrZWluZSBTYWNoZW4gZ2VzdG9obGVuIHVuZCBhdWNoIGtlaW5lIFZvcnRlaWxlIGR1cmNoCnVlYmxlIFRhdGVuIHZlcnNjaGFmdC4gV2FzIGR1IGluIFJlYWwgbmljaHQgZ2VybmUgaGFzdCBzbyB0dSBlcyBhdWNoIGltIE1VRApuaWNodC4gV2VubiBkdSBkaWNoIG5pY2h0IGRhcmFuIGhhZWxzdCwgbmltbSBkaXIgZWluIFZvcnRlaWwgYW4gQW5keSAoam8gZGVuCk5QQyksIGRpciBrYW5uIGVzIGdsZWljaCBnZWhlbi4gQW5keSB3YXIgbmFlbWxpY2ggYXVjaCBtYWwgZWluIHNwaWVsZXIgZGVyIGRhcwpnZW5hdXNvIHNhaCB3aWUgZHUuIE1hbiBoYXQgaWhuIGdla2lja3QgdW5kIGlobiBhbHMgTlBDIHZlcmV3aWd0LgoKV2lsbHN0IGR1IHNwaWVsZW4gb2RlciBhbHMgTlBDIHJ1bWxhdHNjaGVuID8KClRzY2hhdSAgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChBc21vZGlzLCAxNy4gTWFyIDE5OTUsIDIwOjM4OjExKToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDUwNTg3CkJsb29keWhhcnJ5LCBtaXQgZGVpbmVyIEVpbnN0ZWxsdW5nIHRyaWZmc3QgZHUgc2ljaGVyIE1hbCBhdWYgZWluZW4KU2VoZXIsIGRlciBrZWluZW4gU3Bhc3MgdmVyc3RlaHQgdW5kIGRpY2ggZnVlciBkZWluZW4gRGllYnN0YWhsIGVpbmZhY2gKa2FsdCBtYWNodCAhIQoKICAgICAgICBDaWFvLCBBc21vZGlzKGRlbSBlcyBhdWNoIG5pY2h0IG1laHIgYXVmIGVpbmVuIFBsYXllcmtpbGwgYW5rb21tdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChXYXJsb3JkLCAxNy4gTWFyIDE5OTUsIDIxOjA3OjA4KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDUwNTg3CgpobW0gYmxvb2R5IGhhcnJ5LAoKaWNoIGxlYmUgbmFjaCBkZW0gbW90dG86CiJ3aWUgbWFuIGluIGRlbiB3YWxkIHJlaW5zY2hyZWl0LCBoYWx0IGVzIHdpZWRlciByYXVzICEiCndlbm4gZHUgZGVpbmUgaGllciB2ZXJ0cmV0ZW5lIG1laW51bmcgYXVjaCBpbiBkaWUgcmVhbGl0YWV0IHVtc2V0enQsIHd1bmRlcnQKbWljaCBlcyBuaWNodCwgZGFzcyBkdSBwcm9ibGVtZSBoYXN0LCB2b24gYW5kZXJlbiBsZXV0ZW4gaGlsZmUgenUgYmVrb21tZW4gdW5kCmRhbm4genUgbm9jaCBoYWVydGVyZW4gbWFzc25haG1lbiBncmVpZmVuIG11c3N0LgphYmVyIGRhcyBpc3QgZGVpbiBwcm9ibGVtLiBmYWxscyBlcyB6dSBhdWNoIHp1IG1laW5lbSBwcm9ibGVtIHdpcmQsIGVyaG9laHQKc2ljaCBoYWx0IGRpZSBsYWVuZ2UgZGVyICdpZ25vcmllcmUtbGlzdGUnCgoKd2FybG9yZCwKCWRlciB0cm90eiBzZWluZXMgbmFtZW5zIHN0ZXRzIHZlcnN1Y2h0IHp1IG5hZGVyZW4gaG9lZmxpY2ggenUgc2VpbgoKcC5zLjogaW0gdWVicmlnZW4sIGthbm4gaWNoIHNvZm9ydCA1IHNwaWVsZXIgaGllciBhdWZ6YWVobGVuLCBkaWUgbWlyIGltbWVyCndlaXRlcmhlbGZlbiwgYXVjaCB3ZW5uIGljaCBuaWNodCB3ZWlibGljaCBiaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaXR0ZW4uLi4gKEdyaW1tYm9ybiwgMTcuIE1hciAxOTk1LCAyMzowMzozNCk6CgpBdWNoIHdlbm5zIHNpY2ggZnVlciBtaWNoIGthdW0gbm9jaCBsb2hudDoKU29sYW5nZSBpY2ggU3BpZWxlciBiaW4gZ2VodCBtaXIgc28gZWluIFZlcmhhbHRlbiBtYXNzaXYgYXVmIGRlbiBLZWtzLiBVbmQKaWNoIHdlcmRlIGVzIHR1biB3aWUgYmlzaGVyIGF1Y2g6IEVyc3QgZnJhZ2VuIHdhcyBkYXNzIHNvbGwsIGRhbm4gZGllIFNhY2hlbgp6dXJ1ZWNrdmVybGFuZ2VuLCBkYW5uIGVpbiBtcnVmIGRhc3MgbWFuIGRhIGhpbnRlcmhlciBkcnVlYmVyIHJlZGVuIGthbm4gdW5kCmRhbm4gZGVyIFBLLiBXZXIgc2ljaCBhdWYgUm9sbGVuc3BpZWwgYmVydWZlbiBzb2xsdGUgc3RpcmJ0IGRhbm4gYXVjaCBtaXQgZGVyClJvbGxlLiBXZXIgZWluZmFjaCBudXIgZG9vZiBpc3QgLSBuaWNodCBzY2hhZGUgZHJ1bS4KCklyZ2VuZHdpZSBzZWggaWNoIGRlbiBTaW5uIGRlciBEaXNrdXNzaW9uIG5pY2h0LCBrZWluZXMgZGVyIHZvbgoiTW9lY2h0ZWdlcm5kaWViZW4iIGhlcnZvcmdlYnJhY2h0ZSBBcmd1bWVudCBoYWVsdCBtaWNoIGRhdm9uIGFiLCBzaWUgaW4gZGVtCkZhbGwgenUga2lsbGVuLgpVbmQgZGFzIHR1IGljaCBkYW5uIGluIEpFREVNIEZhbGwuIERlbm4gZGllLCBkaWUgc3RhZXJrZXIgc2luZCBhbHMgaWNoCmtvZW5uZW4gc2ljaCBoaWVyIGJlbmVobWVuLi4uCgpOb2NoIFNwaWVsZXIsCiAgICAgICAgICAgICAgICBHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFNjaHJ1bXBmaSwgMTcuIE1hciAxOTk1LCAyMzo1MjowMCk6CiMhIHJuPVRvc3MgcnQ9Nzk1NDQzNTc2CkRhcmYgaWNoIGlobiB6YXBwZW4/IE51ciBlaW4ga2xlaW5lcyBiaXNzY2hlbiB6YXBwZW4/IE9jaCBCaXR0ZSEhCk5laW4sIG1hbCBpbSBFcm5zdC4gV2FzIGJpc3QgRHUgZWlnZW50bGljaCBmdWVyIGVpbiBhcnJvZ2FudGVzIEFyKioqKioqKiwKQmxvb2R5aGFycnk/IE1pdCBkZXIgRWluc3RlbGx1bmcga29tbXN0IER1IGhpZXIgbmljaHQgd2VpdCwgZGFzcyBzYWcgaWNoIERpcgpnbGVpY2gsIHdlbm4gRHUgRGljaCBuaWNodCBhbiBkaWVzZSAndW5nZXNjaHJpZWJlbmVuIFJlZ2VsbicsIGRpZSBpY2ggZmFpcmVzCnp1c2FtZW4gc3BpZWxlbiBuZW5uZSwgaGFsdGVuIGthbm5zdCwgYnJhdWNoc3QgRHUgRGljaCBhdWNoIG5pY2h0IHd1bmRlcm4sCndlbm4gRGlyIGluIFp1a3VuZnQga2VpbmVyIG1laHIgaGlsZnQhClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKFNjaHJ1bXBmaSwgMTcuIE1hciAxOTk1LCAyMzo1NDoxOSk6CiMhIHJuPUJsb29keWhhcnJ5IHJ0PTc5NTQ1MDU4NwpQcm9iaWVycyBtYWwgbWl0IEZyYWdlbiBhYmVyIGRpZSBDaGFuY2UgaGFzdCBEdSBEaXIgamEgamV0enQgaG9mZmVudGxpY2gKZW50Z3VlbHRpZyB2ZXJzYXV0IQpTY2hydW1wZmkKUC5TIEljaCBiaW4gd2VpYmxpY2ggdW5kIG1pY2ggaGF0IGtlaW5lciBiZWkgZGVyIEhhbmQgZ2Vub21tZW4gdW5kIG1pY2ggZHVyY2gKZGllIFF1ZXN0cyBnZWZ1ZWhydCwgaWNoIGhhYiBtaWNoIGFsbGVyZGluZ3MgYXVjaCBuaWNodCBzbyBiZXNjaGlzc2VuCnZlcmhhbHRlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChIYXdrLCAxOC4gTWFyIDE5OTUsIDAxOjE2OjQwKToKSGkgTGV1dGUsCm5laG10IGlociBkaWUgU2FjaGUgbmljaHQgZWluIHdlbmlnIGdhciB6dSBlcm5zdCA6KQpXaXIgc2luZCBoaWVyIGluIGVpbmVtIE11ZCEgRGEgdmVyaGFlbHQgc2ljaCBkb2NoIGplZGVyCmFuZGVycyBhbHMgaW0gUkwuIChJY2gga2VubmUgZGEgZWluZSBIZXhlIGltIFJMLCBkaWUgd3VlcmRlCmljaCBsaWViZW5kIGdlcm5lIGtpbGxlbi4pICpncmlucyoKSEFXSywgZGVyIGF1Y2ggc2Nob24gb2VmdGVyIG1hbCBTYWNoZW4gJ3ZlcmxvcmVuJyBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEdyaW1tYm9ybiwgMTguIE1hciAxOTk1LCAwNDoxNDoyNyk6CiMhIHJuPUhhd2sgcnQ9Nzk1NDg1ODAwCk1laW5lIFJlZGUuIE9kZXIgZGVua3N0IER1LCBpY2ggd3VlcmRlIGluIHJsIGVpbmZhY2ggTGV1dGUga2lsbGVuPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBJbiBybCBhZWhubGljaCBhcnJvZ2FudC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJsb29keWhhcnJ5LCAxOC4gTWFyIDE5OTUsIDA0OjI4OjQ4KToKIyEgcm49WnVlcmlsZXUgcnQ9Nzk1NDYzNTAyCkhhbGxvIFp1ZXJpbGV1LAplcyBzY2hlaW50IGFiZXIgc28sIGFscyBvYiBlcyBzY2hvbiBnZW51ZWdlbmQgU3BpZWxlciBTZWhlciBpbSBNb3JnZW5ncmF1ZW4KZ2lidCB1bmQgTmV1enVnYWVuZ2UgaGllciBhbHNvIGdhcm5pY2h0IHNvIGVyd3VlbnNjaHQgc2luZC4KVmVyc3RhZW5kbGljaCBiZWkgZGVuIHZpZWxlbiB1ZWJsZW4gTGFncy4KQmlzaGVyIGhhYmUgaWNoIG5pY2h0cyBnZXN0b2hsZW4uIEVoZXIgaW0gR2VnZW50ZWlsLiBBYmVyIG1pdCBGcmFnZW4ga29tbXQKbWFuIGFscyAoUmVhbC0pIE1hbm4gaGllciB3b2hsIG5pY2h0IHNlaHIgd2VpdGVyPwpGdWVyIGVpbmUgUm9sbGUgYWxzIFBzZXVkb2ZyYXUsIHdpZSBkYXMgaGllciB3b2hsIGRpZSBSZWdlbCBpc3QsIGhhYmUgaWNoCmF1Y2gga2VpbmUgTHVzdCB6dS4KCkJsb29keSBIYXJyeSAgIC0gICBzcGllbHQgTW9yZ2VuR3JhdWVuIC4uLiBzb2xhbmdlIGVzIG5vY2h0IGdpYnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoWnVlcmlsZXUsIDE4LiBNYXIgMTk5NSwgMDU6MTM6MDgpOgojISBybj1CbG9vZHloYXJyeSBydD03OTU0OTczMjgKU2FsaSBCbG9vZHloYXJyeSwKTmUgaW0gZ2VnZW50ZWlsIGljaCBmaW5kZSBNb3JnZW5ncmF1ZW4gc2VociBmYW1taWxhZXIgdW5kIG5ldXp1Z2FlbmdlIHNpbmQKaW1tZXIgZXJ3dWVuc2NodCB3ZW5uIHNpZSBzaWNoIGFuc3RhZW5kaWcgYmVuZWhtZW4uIE51ciBtaXQgZGVpbmVyIGVpbnN0ZWxsdW5nCnp1bSBUaGVtYSBhbnN0YW5kIGlzdCBkYXMga2VpbiBXdW5kZXIgZGFzIGR1IGhpZXIgYXVmIHRhdWJlIE9ocmVuIHN0b2Vzc3QuIFVuZApkYXp1IGJlaSBmcmV1bmRsaWNoZW0gRnJhZ2VuIHdpcmQgaGllciBqZWRlbSBnZWhvbGZlbiwgaWNoIHdhZXIgb2huZSBlaW4gcGFhcgpTZWhlciBoZXV0ZSBuaWNodCBkYXMgd2FzIGljaCBiaW4uIFVuZCBpY2ggbXVzcyBkaXIgc2FnZW4gaGllciBpc3Qga2VpbmVyCnZlcnBmbGljaHRldCB6dSBoZWxmZW4sIHNvd2FzIHR1dCBtYW4gZWluZmFjaC4gQWJlciB3ZW5uIG5hdHVlcmxpY2ggZWluZXIKZGFoZXIga29tbXQgd2llIGVpbiBBcioqKiB1bmQgc2FnIEhleSwgZHUgYmltYm8gdm9uIGVpbmVtIHNlaGVyIHBsYWV0dCBtYWwgZGllClN0ZWluYmVpc3NlciBJQ0ggd2lsbCBkYXMgYW11bGV0dCwgamEgZGFubiB3aXJkIHNpY2hlciBuaWNodHMgYXVzIGRlciBIaWxmZS4KVW5kIHdlciBTYWNoZW4ga2xhdXQgb2RlciBzb2xjaCBlaW5lIGVpbnN0ZWxsdW5nIGhhdCB3aWUgZHUgc2llIHVucyBpbiBkZXIgTVBBCnByZWlzIGdldGFuIGhhc3QsIG11c3N0IGR1IERpY2ggbWl0IHNpY2hlcmhlaXQgbmljaHQgd3VuZGVybiBkYXMgZHUgdW5iZWxpZWJ0CmJpc3QgdW5kIGRpciBrZWluZXIgaGlsZnQuCkRhenUgd2VubiBkdSBsYWFncyBoYXN0IGlzdCBkYXMgc2ljaGVyIG5pY2h0IHNjaG9lbm4gbXVzcyBhYmVyIG5pY2h0IGltbWVyIGFuCk1vcmdlbmdyYXVlbiBsaWVnZW4sIGljaCBoYWJlIHouYi4genVyemVpdCBrZWluIExhYWcsIGJpbiBhYmVyIHVlYmVyIEdvcGhlcgpfY2xhdXN0aGFsLSBoaWVyIGRhIFdXVyBkb3duIHdhciwgYWxzbyBuaWNodCBnZXJhZGUgZGllIGJlc3RlIHZvcmF1c3NldHp1bmcKZnVlciBlaW5lIGd1dGUgTGVpdHVuZy4gT2RlciBiaW4gaWNoIGVpbmZhY2ggbmljaHQgc28gdmVyd29lbmQgd2llIGR1ID8KCnRzY2hhdSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2VuLi4uIChIb3JzY2hkLCAxOC4gTWFyIDE5OTUsIDA3OjI0OjE0KToKSGFsbG8gQmxvb2R5IEhhcnJ5LgoKRGFzIG5laG0gaWNoIGRpciBuaWNodCBzbyByZWNodCBhYiwgZGFzcyBkdSBhdWYgRnJhZ2VuIGtlaW5lIEFudHdvcnRlbgpiZWtvbW1zdC4gSWNoIHdhZXIgb2huZSBkaWUgSGlsZmUgdm9uIGFuZGVyZW4sIHouVC4gYXVjaCAnaG9jaHJhbmdpZ2VuJwpTZWhlcm4gZ2FyIG5pY2h0IHNvIHdlaXQgZ2Vrb21tZW4sIHdpZSBpY2ggamV0enQgYmluLiBVbmQgaWNoIGJpbiBrZWluZQpGcmF1LiBOYWphLCBpY2ggaGFiIGJpc2hlciBub2NoIGtlaW5lIG5lZ2F0aXZlIEFrdGlvbiB2b24gZGlyIGVybGVidCwKdW5kIHdlbm4gbWFuIG1pY2ggbmV0dCBmcmFndCwgaGVsZmUgaWNoIGF1Y2ggZ2VybmUgd2VpdGVyICh3ZW5uIGljaCBrYW5uKS4KVmllbGxlaWNodCBoYXN0IGR1IGphIGltIGZhbHNjaGVuIFRvbiBnZWZyYWd0PyAoc29sbCBqZXR6dCBrZWluZQpVbnRlcnN0ZWxsdW5nIHNlaW4hKSwgZGVubiBpY2gga2FubiBtaXIgYmVpbSBiZXN0ZW4gV2lsbGVuIG5pY2h0CnZvcnN0ZWxsZW4sIGRhc3MgZGlyIGdhciBrZWluZXIgaGlsZnQsIHdlbm4gZHUgbmV0dCB1bmQgaG9lZmxpY2gKZnJhZ3N0LgoKSG9yc2NoZCAsIGRlciBBbmZhZW5nZXJuIGdlcm5lIHdlaXRlcmhvbGZ0LCB3ZW5uIGVyIGthbm4uCiAgICAgICAgICAob2hqZS4uLiBpY2ggc2VoIHNjaG9uIGRpZSBGbHV0IHZvbiBGcmFnZW4uLi4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEJhcm9uLCAxOC4gTWFyIDE5OTUsIDA5OjI2OjEyKToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9Nzk1NDk3MzI4Ck1vaW4gQkgsCkRhIHNpY2ggZGFzIFRoZW1hIGRlciBEaXNrdXNzaW9uIGxhbmdzYW0gdm9tICJXZWdmYW5nZW4gdm9uIEJ1bWlzIiAoZWluICEKaGludGVyIGRpZSBLb21tZW50YXJlIHZvbiBSeW5lIHVuZCBTY2hydW1wZmkgenUgZGVpbmVuIG1lcmt3dWVyZGlnZW4gQW5zaWNodGVuCjopKSB6dSAiVkwtTWFlbm5lcm4gd2lyZCBoaWVyIG5pY2h0IGdlaG9sZmVuIiB3YW5kZWx0LCBoaWVyIG1laW4gS29tbWVudGFyIHp1CmRpZXNlbSBUaGVtYToKQmxvZWRzaW5uISA6KQpJY2ggaGFiZSBkaWUgRXJmYWhydW5nIGdlbWFjaHQgZGFzIHdlciBmcmV1bmRsaWNoIGZyYWd0IGF1Y2ggZWluZSBmcmV1bmRsaWNoZQpBbnR3b3J0IHZvbiBkZW4gbWVpc3RlbiAoZXJmYWhyZW5lbikgU3BpZWxlcm4gYmVrb21tdC4gU2VsYnN0IGF1c2dlc3Byb2NoZW4KZHVzc2VsaWdlIEZyYWdlbiAobWFuIGhhdCBqYSBtYW5jaG1hbCBlaW4gQnJldHQgdm9ybSBLb3BmIDopKSB3ZXJkZW4gdm9uCmRpZXNlbiB6dW1laXN0IGJlYW50d29ydGV0IChiZWkgZGllc2VyIEdlbGVnZW5oZWl0IHZpZWxlbiBEYW5rIGFuIFJ5bmUgZGVyIG1pcgpzY2hvbiBzbyBlaW5pZ2UgYXVzIGRlciBLYXRlZ29yaWUgImJlc29uZGVycyBkdXNzZWxpZyIgYmVhbnR3b3J0ZXQgaGF0IHVuZCBtaXIKYmVyZWl0cyBkaXZlcnNlIG1hbGUgYXVzIGRlciBLbGVtbWUgZ2Vob2xmZW4gaGF0ISkKRGVyIFRvbiBtYWNodCBkaWUgTXVzaWshClJlZCBCYXJvbiAobmllIEZyYXUgZ2V3ZXNlbiA6KQpQUzogV2VubiBtaWNoIGplbWFuZCBldHdhcyBmcmFndCBoYWx0ZSBpY2ggZXMgdWVicmlnZW5zIGdlbmF1c28hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChCZWxkaW4sIDE4LiBNYXIgMTk5NSwgMTc6MzI6MzEpOgojISBybj1HdXlicnVzaCBydD03OTU0MzE2NDIKRWhlciBuZWluLgpBYmVyIHdlbm4gRHUgZWluIEJvYXJkIGthdWZzdCAoZWdhbCBXQVMgZnVlciBlaW5lcykgbWl0IHZpaWVlbCBTcGVpY2hlcgpfb2huZV8gUGFyaXR5LUJpdCBiZWxlZ3N0IHVuZCBkZW4gU3BlaWNoZXIgYXVjaCBub2NoIGJpcyB6dW0gUmFuZAp2b2xsc2NocmVpYnN0LCBkYW5uIGlzdCBlcyB3ZXNlbnRsaWNoIHdhaHJzY2hlaW5saWNoZXIsIGRhc3MgbWFsIGVpbiBCaXQKInVta2lwcHQiIHVuZCBkZW4gUmVjaG5lciBhYnN0dWVyemVuIGxhZXNzdC4KV2FzIGljaCBhbGxlcmRpbmdzIG5pY2h0IHNvIGdlbmF1IHdlaXNzIGlzdCwgb2IgUmFtIG1pdCBQYXJpdHkgTklDSFQKYWJzdHVlcnp0IC0gbWlyIGhhdCBtYW4gbWFsIGVyemFlaGx0IGVzIGthZW1lIGRhbm4gbmUgTWVsZHVuZywgc28gZGFzcyBtYW4Kd2VuaWdzdGVucyB3ZWlzcyBfd2FydW1fIGRlciBSZWNobmVyIGFiZ2VzdHVlcnp0IGlzdC4uLgpBYmVyIGljaCBoYWJlIGF1Y2ggZ2Vob2VydCwgZGFzcyBiZWkgZGVuIG5ldWVuIFBDSS1Cb2FyZHMgZWluaWdlIHdlc2VudGxpY2gKUGFyaXR5LSdlbXBmaW5kbGljaGVyJyBzaW5kIGFscyBhbmRlcmUuLiBMaWVzIGRhenUgbWFsIGRlbiBsZXR6dGVuIGMndC1UZXN0IC0KZGllIHNpbmQgc2VociBpbmZvcm1hdGl2LiBJbnRlbCBQbGF0byBpc3QgZWlnZW50bGljaCBlbXBmZWhsZW5zd2VydCwgd2VpbCBzZWhyCmtvbXBhdGliZWwgYXVjaCB3ZW5uIG1hbiB6dSBJbnRlbCBzdGVoZW4ga2FubiB3aWUgbWFuIHdpbGwuCgpCZWxkaW4gKGhvZmZlbmQgbWl0IHNlaW5lbSBlaGVyIGJlc2NoZWlkZW5lbiBXaXNzZW4gdWViZXIgUEMncyB3ZWl0ZXJnZWhvbGZlbgp6dSBoYWJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5mYWVuZ2VyIHVuZCBSdWVja3NpY2h0IChCbG9vZHloYXJyeSwgMjAuIE1hciAxOTk1LCAwODo0MDozOCk6CgpUc2NodWxkaWd1bmcgZnVlciBkaWUgQXVmcmVndW5nLCBmdWVyIGRpZSBpY2ggZGllIGxldHp0ZW4gVGFnZSBnZXNvcmd0IGhhYmUuCkJpc2hlciBzZWhlIGljaCB6d2FyIGltbWVyIG5vY2gga2VpbmUgUmVnZWxuLCBhdXNzZXIgZGllIHZvbSBTdGVpbmJlaXNzZXIuCkFiZXIgdmllbGVpY2h0IGdlaHQncyBhdWNoIG1pdCBkaWVzZXI6ICJUdWUga2VpbmVtIGV0d2FzIGFuLCB3YXMgbWFuIERpcgphdWNoIG5pY2h0IGFudHVlbiBzb2xsISIKU2ljaGVybGljaCBoYWJlIGljaCBtaXIgYmVpIGRlbiBtZWlzc3RlbiBkaWUgU3ltcGhhdGllbiB2ZXJzcGllbHQsIHRyb3R6ZGVtCnZlcnN1Y2hlIGljaCBlcyBub2NoIGVpbm1hbCB1bmQgd2VyZGUgd2llZGVyIHF1ZXN0ZW4uCkljaCB3ZXJkZSBhdWNoIHdlaXRlcmhpbiBuaWVtYW5kZW0gZXR3YXMgcmF1YmVuLCBhdXNzZXIgZWluIHBhYXIgTmVydmVuCnZpZWxlaWNodC4gRGFzIGR1ZXJmdCBJaHIgYml0dGUgbmljaHQgc28gZW5nIHNlaGVuLgpTYWd0IG1pciBFdXJlIE1laW51bmcsIHJ1aGlnIGF1ZiBrcmFlZnRpZ2UgQXJ0IHVuZCBXZWlzZS4gSWNoIG1hZyBkYXMuIDgtKQpXZXIgU3Bhc3MgZHJhbiBoYXQgbWljaCB6dSAiWmFwcGVuIiAoPykgbW9lZ2UgZGllcyB0dW4sIHdlbm4gZXIgZGFyYW4KU3Bhc3MgaGF0LiBJY2ggdmVyc3VjaGUgbWljaCB6dSByZXZhbmNoaWVyZW4sIHNlaGUgZGFzIGFiZXIgbmljaHQgc28gZXJuc3QuCldlbm4gaWNoIGplbWFuZGVuIGJlbGVpZGlndCBoYWJlbiBzb2xsdGUsIGhhYmUgaWNoIGRhcyB3aWVkZXIgZWlubWFsIG5pY2h0CmJlbWVya3QgdW5kIGthbm4ga2FubiBhdWNoIGZ1ZXIgZGllIFp1a3VuZnQgbmljaHQgYXVzc2NobGllc3Nlbi4KSWNoIGRlbmtlIGhhbHQsIGVzIGlzdCBhbGxlcyBlaW4gU3BpZWwuCgpCbG9vZHkgSGFycnkgIC0gIEVzIGdpYnQgaGllciBtaW5kZXN0ZW5zIGVpbmVuLCBkZXIgbWljaCBzbyBtYWcKICAgICAgICAgICAgICAgICB3aWUgaWNoIGJpbi4gIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmxvZGR5aGFycnkgKFRvYXN0YnJvdCwgMjAuIE1hciAxOTk1LCAwOToxNDowNyk6Cldlbm4gZXIgc2ljaCBoaWVyIHdpZSBlaW4gRnJlbWRlciB1bnRlciBmcmVtZGVuIGZ1ZWhsdCBzb2xsdGUgbWFubiBkaWVzCmFlbmRlcm4gdW5kIGlobiBuaWNodCBhdWNoIG5vY2ggYmVzY2hpbXBmZW4uLi4KSWNoIG1laW9uIEphIG51cgogIFJvZXN0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTW9yZ2VuR3JhdWVuIHVuZCBkZXIgUGVudGl1bSAoSm9mLCAyMC4gTWFyIDE5OTUsIDEwOjI4OjA0KToKIyEgcm49QmVsZGluIHJ0PTc5NTU0NDM1MQogTmFqYSwgYWJlciBoaWVyIGtpcHBlbiBuYWNoIGt1cnplciBaZWl0IGRpZSBCaXRzIFJlaWhlbndlaXNlIHVtLCBkYXMgS0FOCk4KbmljaHQgbm9ybWFsIHNlaW4gOiggTmFjaHRlaWwgZGVzIFBsYXRvIGdlZ2VudWViZXIgZGVtIEFTVVMtQm9hcmQ6IFBsYXRvCmhhdCBmZXN0IGVpbmdlbG9ldGV0IDI1NmsgQ2FjaGUsIGRhcyBBU1VTIGlzdCBhdWYgMSBNQiBlcndlaXRlcmJhciwgdW5kIGRhcwpQbGF0byBrYW5uIG51ciA3NU1IeiB1bmQgOTAgTUh6IFBlbnRpdW1zLCBkYXMgQVNVUyB1bnRlcnN0dWV0enQgYXVjaCBkZW4gUDEwMAoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTW9yZ2VuR3JhdWVuIHVuZCBkZXIgUGVudGl1bSAoSW5mb21heCwgMjAuIE1hciAxOTk1LCAxMjozMzowOCk6CiMhIHJuPUJlbGRpbiBydD03OTU1NDQzNTEKSWNoIG1vZWNodGUgZGF6dSAoUGFyaXRhZXQgamEvbmVpbikgZXJzdG1hbCBzYWdlbjoKRWluIEJvYXJkIG1pdCBQYXJpdGFldHNrb250b2xsZTogZXMgd2lyZCBlaW5lIEZlaGxlcm1lbGR1bmcgYW4gUHJvemVzc29yIG9kZXIKQklPUyB3ZWl0ZXJnZWdlYmVuIHVuZCBkYXJhdWYgcmVhZ2llcnQgaW0gTm9ybWFsZmFsbCBkYXMgQmV0cmllYnNzeXN0ZW0uIFdlbm4KZWluIFAtRmVobGVyIGF1ZnRyaXR0LCB3aXJkIGltIE5vcm1hbGZhbGwgZGVyIFJlY2huZXIgYW5nZWhhbHRlbiAob2RlcgpNb2VnbGljaGtlaXQgenVtIHNpY2hlcm4gZ2VnZWJlbikgdW5kIGRhbm4gaGFsdCBhdXNnZWdlYmVuLCBkYXNzIGVpbiBGZWhsZXIKYXVmZ2V0cmV0ZW4gaXN0LiBNaXQgZGVtIFAtQml0IGthbm4gbWFuIGFsc28gbnVyIGRlbiBGZWhsZXIgZmVzdHN0ZWxsZW4gYWJlcgpuaWNodCBiZXNlaXRpZ2VuLiBXZW5uIGFiZXIgei5CLiBlaW5lIGdlcmFkZSBaYWhsIHZvbiBCaXRzIGtpcHB0LCBkYW5uIGthbm4KYXVjaCBkYXMgUC1CaXQgZGllc2VzIG5pY2h0IGZlc3RzdGVsbGVuLgpJbSBHcnVuZGUgZ2Vub21tZW4gaXN0IGVzIGVnYWwgb2Igb2RlciBvYiBuaWNodC4gQWJlciBtaXQgUGFyaXRhZXQgd2lyZCBoYWx0CmRlciBGZWhsZXIgYW5nZXplaWd0IHVuZCBkYW1pdCBGb2xnZWZlaGxlciBlaW5nZXNjaHJhZW5rdC4KSWNoIGhvZmZlIGRhcyBkYXMgTUcgbmljaHQgc3RpcmJ0LCBudXIgd2VpbCBlaW5pZ2UgKHZpZWxlKSBTcGllbGVyIG5pY2h0IHZvbgplaW5lbSBQRU5USVVNIGJlZGllbnQgd2VyZGVuIHdvbGxlbi4gRXMgbGFlc3N0IHNpY2ggaW4gZGllc2VyIGt1cnplbiBaZWl0CnNpY2hlciBrZWluIHJpZXNpZ2VyIEdlbGRiZXRyYWcgenVzYW1tZW5icmluZ2VuLiBVbmQgZGFtaXQgbXVzcy9rYW5uIG1hbgpzaWNoZXIgYXVjaCBhdWYgZWluZW0geDg2IHNwaWVsZW4gKEludGVsIHByb2R1emllcnQgU3BpZWxwcm96ZXNzb3JlbikuIERhcwplcnN0bWFsIHNvd2VpdC4KCkljaCBob2ZmZSBkYXMgZXMgYWxsZSBpbnRlcmVzc2llcnRlbiBTcGllbGVyIHNjaGFmZmVuIHNpY2ggZGVuIFRyYXVtIHZvbQplaWdlbmVuIFJlY2huZXIgenUgZXJmdWVsbGVuLgpGdWVyIGRhcyBNRy4uLgoKRWluIGluZm9ybWF0aW9uc2h1bmdyaWdlciBJTkZPTUFYICwuCgpQUy46IEZhbGxzIGRlciBWZXJlaW4gbmljaHQgbnVyIHp1ciBCZXJlaXRzdGVsbHVuZyBkZXIgTWl0dGVsIGZ1ZXIgZWluZW4KZWlnZW5lbiBSZWNobmVyIHRhZXRpZyBpc3QsIHNvbGx0ZSBtYW4gZXZlbnR1ZWxsIGF1Y2ggdmVyc3VjaGVuIGFuZGVyZSBNdWRzCmZ1ZXIgZGllIEFyYmVpdCBpbiBkZW0gVmVyZWluIHp1IGdld2lubmVuIHVuZCBkaWUgQXJiZWl0LyBkYXMgU3BpZWxlbiBpbiBNdWRzCm9lZmZlbnRsaWNoIHp1IG1hY2hlbi4KCkJ5ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm9jaCBuZSBJZGVlIHp1IFBhcml0YWV0IChJbmZvbWF4LCAyMC4gTWFyIDE5OTUsIDEyOjM3OjQ5KToKRXZlbnR1ZWxsIGlzdCBqYSBhdWNoIGJlaSBkZW4gQm9hcmRzIGRlciBadWdyaWZmIGF1ZiBkYXMgUkFNIHp1IHNjaG5lbGwKZWluZ2VzdGVsbHQgKG1laHIgV2FpdHMgZWluc3RlbGxlbik/IFVuZCBkYXMgUmVmcmVzaCBpc3QgYmVpIGRlbiBSQU0tTWVuZ2VuCmF1Y2ggZXR3YXMgZ3Jvc3N6dWVnaWdlciB6dSBoYWx0ZW4uCgpCeWUgSU5GT01BWCAsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmFhYWEsIGtsb3BwdCBFdWNoIChDYXR3ZWF6bGUsIDIwLiBNYXIgMTk5NSwgMTY6Mzg6NDYpOgpIaSEKVW5kIHdpZWRlciBlaW4gd3VuZXJ2b2xsZXIgRmxhbWV3YXIgdm9uIGVpbiBwYWFyIEVpbnplbGxldXRlbiBpbiBkZXIKWmVpdHVuZy4gRGllc2UgRGluZ2VyIHRhdWNoZW4gdGF0c2FlY2hsaWNoIGFsbGUgMi0zIE1vbmF0ZSB3aWVkZXIgYXVmIC4pClVuZCBpY2gga2FubiBtaXIgbmljaHQgaGVsZmVuLCBzaWUgc2luZCBhbGxlIHZvZWxsaWcgbnV0emxvcywgYWJlciBkYWZ1ZXIKd2FobnNpbm5pZyBhbXVlc2FudC4gU29iYWxkIGluIGlyZ2VuZGVpbmVtIEFydGlrZWwgbWVocmVyZSBndXRwbGF6aWVydGUKU3Rlcm5jaGVuIGF1ZnRhdWNoZW4sIHdpcmQgZGVyIGdlc2FtdGUgdGhyZWFkIHp1ciBzaW5ubG9zZW4gVmVyYmFsc2NobGFlLQpnZXJlaS4gS29lc3RsaWNoIQpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZQoKUFM6IEFlaCwgSGFycnksIHNhZyBuaWVtYWxzLCBOSUVNQUxTLCBkYXMgZXMgRGlyIGVnYWwgaXN0LCB3ZW5uIE1hZ2llciBkaWNoCiAgICB6YXBwZW4hIERhcyBnYWJzIHNjaG9uIG1hbCwgdm9uIG1laW5lciBTZWl0ZSB3YXJzIGVpbiBoZWlkZW5zcGFzcywgYWJlcgogICAgQW5keSBmYW5kIGRhcyBnYXIgbmljaHQgd2l0emlnIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIRUxGVCBVTlMgLSBTQ0hPTiBXSUVERVIhISEhIChTaGlub2JpLCAyMC4gTWFyIDE5OTUsIDE3OjI4OjI4KToKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhFTEZUIFVOUyEgKDIuIEFubGF1ZikKICAgICAgICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClZFUkdFU1NUIERFTiBMRVRaVEVOIEFSVElLRUwgVk9OIE1JUiwgSVJHRU5EV0FTIEhBVCBNSVQgRFJBRyAmIERST1AgTklDSFQKR0VLTEFQUFQhCgpBbHNvIG5vY2htYWw6CgpXaXIsIGRhcyBzaW5kIFBsYXBwZXJtYXVsLCBTaGlub2JpIHVuZCBlaW4gTmljaHRNdWRkZXIgbXVlc3NlbiBpbm5lcmhhbGIgZGVyCm5hZWNoc3RlbiB2aWVyIFdvY2hlbiBlaW5lIEhhdXNhcmJlaXQgZnVlciBJbmZvcm1hdGlrIHVuZCBHZXNlbGxzY2hhZnQgdmVyLQpmYXNzZW4gLSBzb25zdCBnaWJ0cyBrZWluZSBadWxhc3N1bmcgenVtIFZvcmRpcGxvbS4KCldpciBoYWJlbiB1bnMgZW50c2NobG9zc2VuLCBkaWVzZSBBcmJlaXQgdWViZXIgdW5zZXIgZ2VsaWVidGVzIE1vcmdlbkdyYXVlbgp1bmQgc2VpbmUgaG9jaGdlc2NoYWV0enRlbiBTcGllbGVyIHp1IHNjaHJlaWJlbi4gRGFmdWVyIHNpbmQgd2lyIGFiZXIgYXVmCkRFSU5FIE1pdGhpbGZlIGFuZ2V3aWVzZW4uCldpciBoYWJlbiBlaW5lbiBrdXJ6ZW4gRnJhZ2Vib2dlbiB2b3JiZXJlaXRldCwgZGVyIHp1bSBncm9lc3N0ZW4gVGVpbCBhdXMKTXVsdGlwbGUtQ2hvaWNlLUZyYWdlbiBiZXN0ZWh0LiBEaWVzZW4gRnJhZ2Vib2dlbiBmaW5kZXN0IER1IGV0d2FzIHdlaXRlciB1bi0KdGVuLgoKV2VubiBEdSBhbHNvIHNvIGZyZXVuZGxpY2ggd2FlcnN0IHVuZCBkYXMgWnVzdGFuZGVrb21tZW4gZWluZXIgaGFsYndlZ3MgcmUtCnByYWVzZW50YXRpdmVuIFVtZnJhZ2UgZXJtb2VnbGljaGVuIHd1ZXJkZXN0LCB3YWVyZW4gd2lyIERpciBzZWhyIGRhbmtiYXIuCkFscyBrbGVpbmVzIEJvbmJvbiBnaWJ0IGVzIG5vY2ggMTAwMCBNdWVuemVuIGZ1ZXIgamVkZW4gdmVybnVlbmZ0aWcgYXVzZ2UtCmZ1ZWxsdGVuIEZyYWdlYm9nZW4uIFdpciBiaXR0ZW4gamVkb2NoIE5VUiBTdGFtbXNwaWVsZXIsIGRpZXNlbiBCb2dlbiBhdXN6dS0KZnVlbGxlbiwgZGEgWndlaXRpcyB1c3cuIGRhcyBFcmdlYm5pcyBzdGFyayB2ZXJ6ZXJyZW4gd3VlcmRlbi4KCkRpZSBGcmFnZW4gc2luZCBudW1tZXJpZXJ0LCBkaWUgQW50d29ydGVuIHp1bWVpc3QgbWl0IGEsYixjLC4uLiB2ZXJzZWhlbi4KQmVpIGZhc3QgYWxsZW4gRnJhZ2VuIGlzdCBlcyBtb2VnbGljaCwgbWVociBhbHMgZWluZSBBbnR3b3J0IGFienVnZWJlbi4gRmFsbHMKd2lyIGJlaSBkZW4gQW50d29ydGVuIGV0d2FzIHdpY2h0aWdlcyB2ZXJnZXNzZW4gaGFiZW4sIHNvIHNjaHJlaWJ0IGVzIGJpdHRlCmVpbmZhY2ggZGF6dS4KCkVpbiBCZWlzcGllbDoKCjE0KSBIYXR0ZXN0IER1IHZvcmhlciBzY2hvbiBTcGllbGVyZmFocnVuZz8KICAgIGEpIFJvbGxlbnNwaWVsZSAoQUQmRCwgRHNBLCB1c3cuKQogICAgYikgQWR2ZW50dXJlcyAgIChLaW5ncyBRdWVzdCwgVWx0aW1hLCB1c3cuKQogICAgYykgRmFudGFzeWJyZXR0LSBvZGVyIC1rYXJ0ZW5zcGllbGUgKE1hZ2ljLCBEcmFjaGVuaG9ydCwgZXRjLikKICAgIGQpIGFuZGVyZSBNVURzCiAgICBlKSBrZWluZXJsZWkgVm9yZXJmYWhydW5nCgpJbiBkZXIgQW50d29ydG1haWwgc2NocmVpYnQgei5CLiBlaW5mYWNoIDE0KWEsYyxJY2ggaGFiZSBhdWNoIHNjaG9uIExpdmUKQWN0aW9uClJvbGVwbGF5aW5nIGJldHJpZWJlbi4uLi4KCldpZSBJaHIgc2VodCBrYW5uIGRlciBCb2dlbiByZWNodCBzY2huZWxsIGF1c2dlZnVlbGx0IHdlcmRlbi4KTWFpbHQgRXVyZSBBbnR3b3J0ZW4gZWluZmFjaCBhbiBTaGlub2JpLCBkaWUgTXVlbnplbiB3ZXJkZW4gRXVjaCBzbyBiYWxkIGFscwptb2VnbGljaCB6dWdlc3RlbGx0LgoKClNvIGpldHp0IHdpcmRzIGVybnN0OgoKRnJhZ2VuIHp1ciBQZXJzb246Ci0tLS0tLS0tLS0tLS0tLS0tLQogMSkgV2llIGFsdCBiaXN0IER1IGltIFJlYWwgTGlmZT8KCiAyKSBCaXN0IER1IGltIFJlYWwgTGlmZQogICAgYSkgd2VpYmxpY2gKICAgIGIpIG1hZW5ubGljaCA/CgogMykgV2VsY2hlcyBHZXNjaGxlY2h0IGhhdCBEZWluIENoYXJha3Rlcj8KICAgIGEpIHdlaWJsaWNoCiAgICBiKSBtYWVubmxpY2gKCiA0KSBXZWxjaGVuIFNwaWVsZXJsZXZlbCBoYXN0IER1PwoKIDUpIFdpZSBhbHQgaXN0IGRlaW4gQ2hhcmFrdGVyIChPbmxpbmUtWmVpdCk/CgogNikgU2VpdCB3YW5uIHNwaWVsc3QgRHUgaW0gTW9yZ2VuR3JhdWVuICh6LkIuIE5vdmVtYmVyIDE5OTQpPwoKIDcpIFdlbGNoZW4gQmVydWYgdWVic3QgRHUgYXVzPwogICAgYSkgU3R1ZGVudAogICAgYikgZXR3YXMgYW5kZXJlcywgdW5kIHp3YXIgLi4uLi4uLgoKIDgpIEZhbGxzIER1IFN0dWRlbnQgYmlzdCwgd2FzIHN0dWRpZXJzdCBEdSB1bmQgaW4gd2VsY2hlbSBTZW1lc3RlciBiaXN0IER1PwoKIDkpIFdpZSBiaXN0IER1IGlucyBNVUQgZWluZ2Vsb2dndD8KICAgIGEpIFZvbiBlaW5lbSBVbml2ZXJzaXRhZXRzcmVjaG5lcgogICAgYikgSWNoIGJlbnV0emUgbWVpbmVuIFJlY2huZXIgdW5kIGVpbiBNb2RlbQogICAgYykgVm9uIG1laW5lbSBBcmJlaXRzcGxhdHoKCkFsbGdlbWVpbmUgRnJhZ2VuOgotLS0tLS0tLS0tLS0tLS0tLS0KCjEwKSBXaWUgYmlzdCBEdSBhbiBkaWUgQWRyZXNzZSBkZXMgTVVEcyBnZWtvbW1lbj8KICAgIGEpIGFuZGVyZSBTcGllbGVyCiAgICBiKSBNVUQgTGlzdGUKICAgIGMpIGRpdi4gV1dXLXBhZ2VzCiAgICBkKSBRdWVyZWluc3RlaWdlciB2b24gZWluZW0gYW5kZXJlbiBNVUQKCjExKSBXaWUgbGFuZ2Ugc3BpZWxzdCBEdSBpbSBEdXJjaHNjaG5pdHQgKG1pdCBad2VpdHNwaWVsZXJuKT8KICAgIGJpdHRlIGluIGgvV29jaGUgYW5nZWJlbiEKCjEyKSBIYXN0IER1IFp3ZWl0Y2hhcmFrdGVyZT8KICAgIGEpIGphCiAgICBiKSBuZWluCgoxMykgV2FubiBzcGllbHN0IER1IHZvcnp1Z3N3ZWlzZT8KICAgIGEpICAwLSA0IFVocgogICAgYikgIDQtIDggVWhyCiAgICBjKSAgOC0xMiBVaHIKICAgIGQpIDEyLTE2IFVocgogICAgZSkgMTYtMjAgVWhyCiAgICBmKSAyMC0gMCBVaHIKCjE0KSBIYXR0ZXN0IER1IHZvcmhlciBzY2hvbiBTcGllbGVyZmFocnVuZz8KICAgIGEpIFJvbGxlbnNwaWVsZSAoQUQmRCwgRHNBLCB1c3cuKQogICAgYikgQWR2ZW50dXJlcyAgIChLaW5ncyBRdWVzdCwgVWx0aW1hLCB1c3cuKQogICAgYykgRmFudGFzeWJyZXR0LSBvZGVyIC1rYXJ0ZW5zcGllbGUgKE1hZ2ljLCBEcmFjaGVuaG9ydCwgZXRjLikKICAgIGQpIGFuZGVyZSBNVURzCiAgICBlKSBrZWluZXJsZWkgVm9yZXJmYWhydW5nCgoxNSkgV2FzIGlzdCBEZWluZSBMaWVibGluZ3NsaXRlcmF0dXI/CgoxNikgV2FzIG1vdGl2aWVydCBEaWNoLCBNVUQgenUgc3BpZWxlbiAoYml0dGUgbWl0IFNjaHVsbm90ZW4gYmV3ZXJ0ZW4pPwogICAgYSkgQXVmc3RpZWcgaW4gZGVyIFNwaWVsZXJoaWVyYWNoaWUKICAgIGIpIEljaCBtb2VjaHRlIE1hZ2llciB3ZXJkZW4gdW5kIGFtIE1VRCBtaXRwcm9ncmFtbWllcmVuCiAgICBjKSBJY2ggbW9lY2h0ZSBtaWNoIG1pdCBhbmRlcmVuIFNwaWVsZXJuIHVudGVyaGFsdGVuCiAgICBkKSBJY2ggbW9lY2h0ZSBRdWVzdHMgbG9lc2VuCiAgICBlKSBJY2ggbW9lY2h0ZSBtZXR6ZWxuCgpXZW5uIER1IGFsc28gc2VociBnZXJuZSBNZXR6ZWxzdCB1bmQgRGljaCBuaWNodCBnZXJuZSB1bnRlcmhhZWxzdCBzY2hyZWliCmVpbmZhY2g6ICAxNikgYyk0IGUpMS4KCjE3KSBIYXQgc2ljaCBEZWluIFNvemlhbHZlcmhhbHRlbiBpbSBSZWFsIExpZmUgZ2VhZW5kZXJ0LCBzZWl0IER1IGltIE1VRAogICAgc3BpZWxzdD8KCnouQi4gRGFzIFNwaWVsZW4gd2lya3Qgc2ljaCBuZWdhdGl2IGF1ZiBtZWluZSBBcmJlaXQgYXVzLiBPZGVyOiBJY2ggZ2VoZQogICAgIHdlbmlnZXIgaW4gS25laXBlbi4KCkZyYWdlbiB6dW0gU296aWFsdmVyaGFsdGVuIGltIE1VRAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCjE4KSBWZXJoYWVsc3QgRHUgRGljaCBNaXRzcGllbGVybiBnZWdlbnVlYmVyIGFuZGVycyBhbHMgZ2VnZW51ZWJlciBEZWluZW4KICAgIE1pdG1lbnNjaGVuPwogICAgYSkgamEKICAgIGIpIG5laW4KCjE5KSBXZW5uIGphLCBpbndpZWZlcm4/CgoyMCkgSGFzdCBEdSBpbm5lcmhhbGIgZGVzIE1VRHMgZWluZW4gZmVzdGVuIEZyZXVuZGVza3JlaXM/CiAgICBhKSBqYQogICAgYikgbmVpbgoKMjEpIFdlbm4gamEsIGtlbm5zdCBEdSBkaWVzZSBNaXRzcGllbGVyIGF1Y2ggcGVyc29lbmxpY2g/CiAgICBhKSBqYQogICAgYikgZWluaWdlCiAgICBjKSBuZWluCgoyMikgQmlzdCBEdSBpbSBNVUQgdmVyaGVpcmF0ZXQ/CiAgICBhKSBqYQogICAgYikgbmVpbgoKMjMpIFdlbm4gamEsIGtlbm5zdCBEdSBEZWluZW4gRWhlcGFydG5lciBhdWNoIHBlcnNvZW5saWNoPwogICAgYSkgamEKICAgIGIpIG5laW4KCldpZSBiZXJlaXRzIG9iZW4gZXJ3YWVobnQsIGlzdCBkZXIgQWJnYWJldGVybWluIGJlcmVpdHMgaW4gdmllciBXb2NoZW4sIGFsc28KbWFpbCBTaGlub2JpIGRpZSBBbnR3b3J0ZW4gYml0dGUgU0NITkVMTFNUTU9FR0xJQ0ggenUuIChXaXIgbXVlc3NlbiBkaWUKQXJiZWl0CmphIGF1Y2ggbm9jaCBzY2hyZWliZW4hISEpCgpWSUVMRU4gREFOSyBGVUVSIERFSU5FIEhJTEZFIQoKQXVmIEFudHdvcnRlbiBoYXJyZW5kLApQbGFwcGVybWF1bCwgSGVucnlrLCBTaGlub2JpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiB6dW0gbi10ZW4gKEphZiwgMjAuIE1hciAxOTk1LCAxOTo1MTo1MCk6CgpJY2ggaGFiIGdlcmFkZSBUb3NzJyBBcnRpa2VsIHp1IENoYXJseSBnZWxlc2VuLCB3YXIgZGFyYXVmaGluCm5hdHVlcmxpY2ggZW50c2V0enQgdWViZXIgQ2hhcmx5LiBOdW4gc2NocmVpYnQgYWJlciBzZWxiaWdlciwKZGFzcyBkYXMgdWViZXJoYXVwdCBuaWNodCB3YWhyIHdhZXJlLiBVbmQgcGxvZXR6bGljaCBiaW4gaWNoCmRvY2ggc3RhcmsgdmVyc3VjaHQsIENoYXJseSB6dSBnbGF1YmVuLgpXYXJ1bT8gSWhyIGVyaW5uZXJ0IEV1Y2ggamEgc2ljaGVyIG5vY2ggYW4gZGllIEhldWxlcmVpIG1pdApkZW0gU2NobnVwZmVuIChlcyBoYXQgdWVicmlnZW5zIGltbWVyIG5vY2gga2VpbmVyIGVpbmVuClNjaG51bGxlciBmdWVyIG1pY2ggZ2Vwcm9nZ3QpLiBEYW1hbHMgc2NocmllYiBSeW5lL1Rvc3MsIGRhc3MKaWNoIFRvc3MgYWxzLi4uIGljaCB3ZWlzcyBuaWNodCBtZWhyIC0gU2Nod2Fuemx1dHNjaGVyPyAuLi4gc28KYWVobmxpY2ggamVkZW5mYWxscyAtIGJlemVpY2huZXQgaGFldHRlIHVuZCAqZGFzKiBpc3QgbnVuCnVlYmVyaGF1cHQgbmljaHQgd2Foci4gSWNoIGtvbW1lIGFsc28genVyIFZlcm11dHVuZywgZGFzcyBUb3NzCmVpbmUgYmx1ZWhlbmRlIFBoYW50YXNpZSBoYXQgLSBpY2ggd2lsbCBpaG0gamEgbmljaHQgdW50ZXJzdGVsLQpsZW4sIGRhc3MgZXIgaGllciBtZWhyZmFjaCB2b3JzYWV0emxpY2ggbHVlZ3QuCgpXYXJ1bSBzY2hyZWliIGljaCBrZWluZSBNYWlsPyBXZWlsIGljaCBzY2hvbiB2ZXJzdWNodCBoYWIsIFJ5bmUKYW56dXF1YXRzY2hlbiwgb2huZSBiZWFjaHRldCB6dSB3ZXJkZW4uIEVpbmUgTWFpbCB3YWVyZSBhbHNvCndhaHJzY2hlaW5saWNoIHZlcnNjaHdlbmRldGUgWmVpdCAodW5kIGF1c3NlcmRlbSB3dWVyZGUgamEKYXVjaCBDaGFybHkgaW4gVG9zcycgQW5zY2h1bGRpZ3VuZ2VuIG9obmUgVW50ZXJzdHVldHp1bmcKc3RlaGVuYmxlaWJlbikKCkphZi4KClBTOiB0c2NodWxkaWd1bmcgZnVlciBkaWUga3J1bW1lbiBTYWV0emUsIGFiZXIgaWNoIG1hZyBuaWNodCBtaXQKCidlcm5zdGhhZnRlbScgRWRpdGllcmVuIGFuZmFuZ2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyaGF1c3dldHRiZXdlcmIgKENhdHdlYXpsZSwgMjAuIE1hciAxOTk1LCAyMDoxNjo0NCk6CkhpIQpJaHIgd2FydGV0IHNpY2hlciBhbGxlIHNlaG5zdWVjaHRpZyBhdWYgZGllIEVuZGVyZ2Vibmlzc2UgZGVzIFNlaGVyLQpoYXVzd2V0dGJld2VyYnMsIGhtPyBEYWNodCBpY2ggbWlyLiBJY2ggaGF0dGUgYmlzaGVyIGxlaWRlciBXZW5pZyBaZWl0CihhdXMgdmVyc3RhZW5kbGljaGVuIEdydWVuZGVuIGRlbmtlIGljaCkgdW0gZGVuIEtyYW0genVzYW1tZW56dXRyYWdlbi4KSWNoIGhhYiBhYmVyIGpldHp0IGFsbGUgbm90ZXdlbmRpZ2VuIGRhdGVuLCBlcyBrYW5uIGFsc28gbG9zZ2VoZW4uCkRlciBlaW56aWdlIEhha2VuLiBXaXIgaGFiZW4gdW5zIGltbWVyIG5vY2ggbmljaHQgYXVmIFByZWlzZSBlaW5pZ2VuCmtvZW5uZW4gOigKc2FnIGljaCB3ZXJkZSBhYmVyIHRyb3R6ZGVtIHNlaHIgYmFsZCBkaWUgR2V3aW5uZXIgYmVrYW5udGdlYmVuLCBpY2ggaGF0dGUKZGFmdWVyIHp3YXIgd2FzIHZvciwgYWJlciB3YWhyc2NoZWlubGljaCBnaWJ0cyBuZSBCZWthbm50Z2FiZSBpbiBkZXIKWmVpdHVuZy4KSWNoIHNjaGFldHplIG1hbCwgYW0gRW5kZSBkZXIgV29jaGUgaXNzZXMgc293ZWl0LgpCaXMgZGFoaW4sIHlvdXJzIHRydWx5LAogICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChHcmltbWJvcm4sIDE4LiBNYXIgMTk5NSwgMDQ6MTQ6MjcpOiAoSGF3aywgMjAuIE1hciAxOTk1LCAyMTowMTozNCk6CldlciB3ZWlzcywgd2VyIHdlaXNzLiA6KTopOikgSEFXSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIHp1bSBuLXRlbiAoVG9zcywgMjAuIE1hciAxOTk1LCAyMjozNTowMik6CiMhIHJuPUphZiBydD03OTU3MjU1MTAKSmFmLAoKc2FnIG1hbCB0aWNrc3QgRHUgbmljaHQgcmljaHRpZyA/IEFsc28sIHp3ZWkgU2FjaGVuOgoxLiBEZWluZSBCZWhhdXB0dW5nLCBpY2ggd3VlcmRlIGhpZXIgR2VzY2hpY2h0ZW4gdWViZXIgQ2hhcmx5IGVyZmluZGVuLAppc3QgemllbWxpY2ggdW5zY2hsdWVzc2lnOyB3ZW5uIGljaCBzaWUgbmFlbWxpY2ggZXJmdW5kZW4gaGFldHRlLCBkYW5uIGhlaXNzdApkYXNzIGphLCBkYXNzIGljaCAoYWxzIGRlcmplbmlnZSBkZXIgenVlcnN0IGVpbmVuIEFydGlrZWwgaW4gZGllIFplaXR1bmcKc2V0enRlKSBkaWVzIHdvaGwgYXVzIHJlaW5lciBTY2hpbmRlcmVpIGdldGFuIGhhYmUsIHVuZCBtaXIgYmVsaWViaWcgZWluZW4KU3BpZWxlciByYXVzZ2VzdWNodCBoYWJlLCBkZW4gaWNoIG1hbCBzbyByaWNodGlnIGluIGRpZSBQZmFubmUgaGF1ZW4ga2Fubi4KU2FnIG1hbCwgd2llIGRhZW1saWNoIGJpc3QgRHUgZWlnZW50bGljaCwgZGFzcyBEdSBtaXIgc28gZXR3YXMgdW50ZXJzdGVsbHN0ID8KCjIuIERhc3MgRGlyIERlaW5lIEF1c3NhZ2VuIG1pciBnZWdlbnVlYmVyIHppZW1saWNoIHBlaW5saWNoIHNpbmQsIGlzdCB2ZXItCnN0YWVuZGxpY2gsIHNjaGxpZXNzbGljaCBrcmllZ3QgaGllciB3b2hsIGthdW0gZWluIFNwaWVsZXIgamVtYWxzIHNvbGNoZQpCZXNjaGltcGZ1bmdlbiB6dSBob2VyZW4sIHdpZSBEdSBzaWUgbWlyIGdlZ2VudWViZXIgZ2VtYWNodCBoYXN0LiBBYmVyIGdlbmF1LQpzbyB3aWUgaWNoIHp1IG1laW5lbiBBZXVzc2VydW5nZW4gZ2VnZW51ZWJlciBDaGFybHkgc3RlaGUsIHNvbGx0ZXN0IER1IGRpZXMKYXVjaCBmdWVyIERlaW5lIG1hY2hlbiAtIHVuZCBlbnRzY2h1bGRpZ2VuLgpVbmQgZGFzcyBtYWlscyB2b24gRGlyIGFuIG1pY2ggenVydWVja2dlc2NoaWNrdCB3ZXJkZW4sIGlzdCBrb25zZXF1ZW50ZSBGb2xnZQpEZWluZXIgU3BydWVjaGUuIFdlciBtaWNoIGluIHNvbGNoIHVlYmxlciBXZWlzZSBiZXNjaGltcGZ0LCBzb2xsdGUgc2ljaCB1ZWJlcgplaW4gaWdub3JpZXJlIG5pY2h0IHd1bmRlcm4uCgpBYmVyIGljaCBoYXR0ZSBkaWUgQmVzY2hpbXBmdW5nZW4gamEgdmVyZGllbnQsIGhhZXR0ZSBpY2ggZmFzdCB2ZXJnZXNzZW4sCmRlbm4gaWNoIGhhdHRlIERpY2ggamEgbWl0IGRlciB1ZWJsZW4gU2V1Y2hlIGRlciBFcmthZWx0dW5nIGluZml6aWVydCAtCmhhdHRlIGljaCBmYXN0IHZlcmdlc3Nlbi4gSG9mZmVudGxpY2ggaGFzdCBEdSBEaWNoIG1pdHRsZXJ3ZWlsZSBkYXZvbiBlcmhvbHQuCgpSeW5lCi0gd3VlbnNjaHQgamFmIGd1dGUgQmVzc2VydW5nLCBkYSBzaWNoIGRpZSBFcmthZWx0dW5nIHNjaGVpbmJhciBhdWYgZGVzc2VuClJMLWdlaXN0ZXN6dXN0YW5kIGF1c3dpcmt0IC0KClAuUy4gSmF1LCBzY2hsYWd0IG1pY2gsIGljaCBiZW51dHplIGJvZXNlIFdvcnRlIGdlZ2VudWViZXIgZGVuamVuaWdlbiwgdWViZXIKZGllIGljaCBtaWNoIGFlcmdlcmUgLSBhYmVyIGljaCBzdGVoZSB3ZW5pZ3N0ZW5zIGRhenUgdW5kIHN0cmVpdGUgaGludGVyaGVyCm5pY2h0IGFsbGVzIGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNoIGphLiAoSGF3aywgMjAuIE1hciAxOTk1LCAyMjozOTozOCk6CkVzIGlzdCB3b2hsIHNvLCBkYXNzIGVpbmlnZSBMZXV0ZSBpbW1lciBtaXQgYW5kZXJlbgpTY2h3aWVyaWdrZWl0ZW4gaGFiZW4vbmljaHQgd2lzc2VuLCB3aWUgbWFuIHNvIHdhcwp2b24gdm9ybiBoZXJlaW4gdmVybWVpZGV0LiBHdXQgdW5kIHNjaG9lLCBhYmVyIG11ZXNzZW4Kd2lyIGRhcyB3aXJrbGljaCBqZWRlc21hbCBpbiBkZXIgTVBBIGhhYmVuPwpIQVdLLCBhdWNoIG1hbCB6aWVtbGljaCBnZW5lcmZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIHp1bSBuLXRlbiAoQW5hdG9sLCAyMC4gTWFyIDE5OTUsIDIzOjA0OjM1KToKIyEgcm49VG9zcyBydD03OTU3MzUzMDIKCj5QLlMuIEphdSwgc2NobGFndCBtaWNoLCBpY2ggYmVudXR6ZSBib2VzZSBXb3J0ZSBnZWdlbnVlYmVyIGRlbmplbmlnZW4sIHVlYmVyCj5kaWUgaWNoIG1pY2ggYWVyZ2VyZSAtIGFiZXIgaWNoIHN0ZWhlIHdlbmlnc3RlbnMgZGF6dSB1bmQgc3RyZWl0ZSBoaW50ZXJoZXIKPm5pY2h0IGFsbGVzIGFiLgoKSG0sIFJ5bmUsIHdpZSB3YWVycywgd2VubiBEdSB6dSBfYWxsZW5fIGZhaXIgd2FlcnN0PyAtIEF1Y2ggenUgZGVuZW4sIGRpZSBEaXIKbmljaHQgZ2VmYWxsZW4uIFd1ZXJkZSBkYXMgQmV0cmllYnNrbGltYSB2ZXJiZXNzZXJuLCBkZW5uIER1IHNjaGVpbnN0IG5pY2h0CmdlcmFkZW4gamVkZW4genUgbW9lZ2VuLi4uCgpBbmF0b2wgKCkgLSBsYWVzc3Qgc2ljaCBnZXJuZSBuYWNoc2FnZW4sIGRhc3MgZXIgZWluIFdlaWNoZWkgdW5kIGVpbgogICAgICAgICAgICBMYWJlcmVyIGlzdCwgc29sYW5nZSBlciBzaWNoIHdlaHJlbiBkYXJmLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2ggamEuIChadWVyaWxldSwgMjEuIE1hciAxOTk1LCAwMToyMjo1NSk6CiMhIHJuPUhhd2sgcnQ9Nzk1NzM1NTc4ClNhbGkgSGF3aywKTnVuamEgZnVlciBkYXMgaXN0IFBvbGl6ZWkuYmVzY2h3ZXJkZW4gamEgYXVjaCBkYS4gRGFzIGR1IGRpY2ggYXVjaCB1ZWJlcgpTcGllbGVyIGJlc2Nod2FlcmVuIGthbm5zdCB3ZW5uIHNpZSBkaWNoIGlyZ2VudHdpZSBuZWdhdGl2IGJlaGFuZGVsdCBoYWJlbi4KTmF0dWVybGljaCBuaWNodCBiZWkgc29sY2hlbiBrbGVpbnNwaW5uZXJlaWVuIHdpZSBzY2hudXBmZW4gb2RlciBzby4gTnVuamEKZGlza3V0aWVyZW4gZmluZGUgaWNoIG9rIHdlbm5zIGJlaW0gcmljaHRpZ2VuIFRvbiBibGVpYnQuIFVuZCBlaW5lIE1haWwgaW4gZGllCk1QQSB6dSBwb3N0ZW4gdW0gbnVyIHVlYmVyIGVpbiBhbmRlcmVyIFNwaWVsZXIgenUgbWF1bGVuIG9kZXIgc2NobGVjaHQgenUKbWFjaGVuIGVtcGZpbmQgaWNoIGtpbmRpc2NoLCBkYSBnZWJlIGljaCBkaXIgcmVjaHQuIEFiZXIga2xhciBkYXMgc2ljaCBSeW5lCnZlcmRlaXRpZ2VuIHNvbGwgZGEgZXIgYXVmIHNvIHVlYmxlIHdlaXNlIHZvbiBqYWYgaW4gc2VpbmVyIGVyc3RsaW5nc21haWwKYW5nZWtsYWd0IHd1cmRlLCBzb2xsIGVyIHNpY2ggYXVjaCBoaWVyIHZlcmRlaXRpZ2VuIGtvZW5uZW4uCgpUc2NoYXUgICAgICAgWnVlcmlsZXUgKGRTY2h1bmdlbG1hZ2llcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZW4uLi4gKEd3eW5kb24sIDIxLiBNYXIgMTk5NSwgMDM6NTQ6NTcpOgojISBybj1Ib3JzY2hkIHJ0PTc5NTUwNzg1NAoKU28sIEhpIEhvcnNjaGQsCgpXaWUgZWluaWdlIGFuZGVyZSBhdWNoLCBiaXN0IER1IHVlYmVyemV1Z3QsIGRhc3MgZWluZW0gaW1tZXIgZ2Vob2xmZW4gd2lyZC4KSWNoIHd1ZW5zY2h0ZSBlcyB3YWVyZSBzby4gV2FlaHJlbmQgaWNoIHBlcnNvZW5saWNoIGVpZ2VudGxpY2ggcHJha3Rpc2NoCihkLmguKSBmYXN0IGltbWVyIG51ciBndXRlIEVyZmFocnVuZ2VuIGdlbWFjaHQgaGFiZSB1bmQgbWFjaGUgKGVpbmVuIERhbmsgYWxsCmRlbiBsaWViZW4gTWVuc2NoZW4pLCBnZWh0IGVzIG1hbmNoZW4gc2Nob24gYW5kZXJzLgpFcyBrb21tdCBoYWx0IGRhcmF1ZiBhbiwgd2FubiBtYW4gZWlubG9nZ3QgdW5kIHdlciBkYSBncmFkIGRhIGlzdC4gSWNoIGhhYmUKc2Nob24gb2VmdGVycyBnZXNlaGVuLCB3aWUgaW4gLWEgKGF1Y2ggd2VubnMgaW4gLWIgZ2Vob2VydCBoYWV0dGUpIGplbWFuZCBlaW5lCmZyYWdlIGhhdHRlLCBkaWUgbWl0IGJpdHRlIG9kZXIgQklUVEUgdmVyYmFuZCwgdW5kIHppZW1saWNoIG9mdCB3aWVkZXJob2xlbgptdXNzdGUsIGJpcyBldHdhcyBwYXNzaWVydGUgb2RlciBlciBhdWZnYWIuIFVuZCBkaWUgV2FydGV6ZWl0IGF1ZiBIaWxmZSBzY2hpZW4KbWlyIGRhIG5pY2h0IGltbWVyIGt1ZXJ6ZXIgYWxzIGF1ZiBlaW5lbiBSZXNldC4uLgogICBJY2ggaGVsZmUgd2FubiBpbW1lciBpY2gga2Fubiwgc28gd2llIGljaCBlcyBzZWxic3QgZXJsZWJlbiBkdXJmdGUgdm9uCmRlbiBMZXV0ZW4gaGllci4gVW5kIGRlbmVuLCBkaWUgc2ljaCBiZWkgbWlyIGJlZGFua2VuIHNhZyBpY2gsIHNpZSBzb2xsZW4KZWluZmFjaCBzZWxic3QgYW5kZXJlbiBoZWxmZW4sIGRhbm4gcGFzc3QgZGFzIHNjaG9uLgogICBBQkVSIHdlbm4gd2lyIGFsbGUgc28gaGlsZnNiZXJlaXQgc2luZCwgc29sbHRlbiB3aXIgYXVjaCBtaXQgZWluZW0gQmVmZWhsCidzcnVmZScgYW4gZGllIFNlaGVyIHVtZ2VoZW4ga29lbm5lbiwgZGVyIG5pY2h0IGFic2NoYWx0YmFyIGlzdCAodW5kIG5pY2h0CmRva3VtZW50aWVydCBzZWluIG11c3MpIERpZSBNYWdpZXIgaGFiZW4gYXVjaCB6dSB0dW4sIHd1ZXJkZW4gZW50bGFzdGV0LCB1bmQKd2VubiBkaWUgU2VoZXIgc28gaGlsZnNiZXJlaXQgc2luZCwga29lbm5lbiBzaWUgZGFzIHVtc28gc2NobmVsbGVyIHR1bi4uLgogICBVbmQgYWxsZSBTZWhlciwgZGllIGVpbiBhYnNjaGFsdGJhcmVzICdzcnVmZScgZm9yZGVybiAob2RlciBrZWluZXMKd29sbGVuKSBzb2xsZW4gc2ljaCBkb2NoIGJpdHRlIG5pY2h0IGJlc2Nod2VyZW4sIHdlbm4gZWluIEFuZmFlbmdlciBlcnN0bWFsCnZlcnN1Y2h0ICJsaXN0aWciIHp1IHNlaW4gb2RlciBzZWluZW4gVm9ydGVpbCBzdWNodC4gRGllc2UgTGV1dGUgd2lzc2VuIGphCmRhbm4sIHdhcyBFZ29pc211cyBpc3QuCgpnZXouIEd3eW5kb24gKGltIFJhaG1lbiBzZWluZXIgYmVncmVuenRlbiBNb2VnbGljaGtlaXRlbiBzdGV0cyBoaWxmc2JlcmVpdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2VuLi4uIChIb3JzY2hkLCAyMS4gTWFyIDE5OTUsIDA0OjE2OjQ4KToKIyEgcm49R3d5bmRvbiBydD03OTU3NTQ0OTcKCkhpLgoKCihhcmdsLi4uLiBkaWUgZWJlbmVuLi4uKQpBbHNvIG5vY2htYWw6CkljaCBrYW5uIG5hdHVlcmxpY2ggbnVyIHZvbiBtZWluZW4gcGVyc29lbmxpY2hlbiBFcmZhaHJ1bmdlbiBhdXNnZWhlbi4KV2Foc2NoZWlubGljaCBoYXR0ZSBpY2ggR2x1ZWNrLiBLbGFyLCBpY2gga29ubnRlIGF1Y2ggc2Nob24gZmVzdHN0ZWxsZW4sCmRhc3MgZXMgdm9uIGRlciBaZWl0IGFiaGFlbmd0LCBvYiBlaW5lbSBnZWhvbGZlbiB3aXJkIHVuZCB3aWUgb2Z0IG1hbiBmcmFnZW4KbXVzcyBiaXMgZWluZW0gZ2Vob2xmZW4gd2lyZC4gTmFjaHRzIGhhdCBtYW4gd29obCBtZWhyIEdsdWVjaywKc2NoYWV0emUgaWNoLCBvZnQgaXN0IGVzIGFiZXIgZGVyIEZhbGwsIGRhc3MgbmFjaHRzIGtlaW5lciAob2RlciBzZWhyIHdlbmlnZSkKZGEgaXN0LCBkZXIgZWluZW0gaGVsZmVuIGthbm4uIFRhZ3N1ZWJlciBpc3QgZXMgZWluZmFjaCB6dSB2b2xsLCB1bSBhbGxlCmZyYWdlbiBtaXR6dWtyaWVnZW4gKGdlaHQgbWlyIHp1bWluZGVzdCBvZnQgc28pLiBEYSBtdXNzIG1hbiBkYW5uCmhhbHQgb2VmdGVyIG5hY2hmcmFnZW4uCkFiZXIgaWNoIHdvbGx0IGphIG1pdCBtZWluZW0gdm9yaGVyaWdlbiBBcnRpa2VsIG51ciBrbGFybWFjaGVuLApkYXNzIG1hbiwgd2VubiBtYW4gbmV0dCBmcmFndCBhdWNoIG1laXN0IG5lIEFudHdvcnQgYmVrb21tdCB1bmQgZGFzcyBlcwptZWluZXMgRXJhY2h0ZW5zIG5hY2ggbmljaHQgdW5iZWRpbmd0IHZvbSBHZXNjaGxlY2h0IGFiaGFlbmd0LgoKQmlzIGRlbm4sCgpIb3JzY2hkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4gKEhhciwgMjEuIE1hciAxOTk1LCAwODoxNjowMyk6CiMhIHJuPUJsb29keWhhcnJ5IHJ0PTc5NTQ5NzMyOApXYXMgc29sbCBlaWdlbnRsaWNoIGltbWVyIGRpZXNlcyBSdW1oYWNrZW4gYXVmIHdlaWJsaWNoZW4gQ2hhcmFrdGVyZW4/IFVuZAp3aWVzbyBob2Vyc3QgRHUgZGljaCBzbyBmcnVzdGllcnQgYW4sIERhc3MgRGlyIGtlaW5lciBoZWxmZW4gd3VlcmRlPyBMZWlkZXN0CkR1IGFuIFZlcmZvbGd1bmdzd2FobiBvZGVyIGFlaG5saWNoZW0gQmxvb2R5PyBJY2ggd3VlcmRlIGRhcyBCbG9vZHkgbWFsIGR1cmNoCkJsb2VkaWUgZXJzZXR6ZW4sIGRhbm4gd2lya3N0IER1IHB1dHppZ2VyIHVuZCB2aWVsbGVpY2h0IGhhYmVuIGVpbmlnZSBsZXV0ZQpNaXRsZWlkIHVuZCBoZWxmZW4gRGlyIDspCkhhciAoZ2VuZXJ2dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByb3plc3NvcmVuIChDcmVhdGl2ZSwgMjEuIE1hciAxOTk1LCAwODo0MzoyMik6CiMhIHJuPUd1eWJydXNoIHJ0PTc5NTIwNjk0NAoKYWVobSwgbWVpbiBlcnN0ZXIgaGllciBpbiBkZXIgbXBhICpzY2hhZW0qCgpmYWxscyBkYXMgbmljaCBzY2hvbiBnZXNjaGVoZW4gaXMsIHdvbGx0IGljaCBzY2huZWxsIG5vY2ggc2FnZW4sIGRhc3MKV2luZG9vZiBOVCBzbyB6aWVtbGljaCBkYXMgZXJzdGUgT1Mgd2FyLCBkYXMgRHVhbC1ib2FyZHMgdW50ZXJzdHVldHp0CihyZWluIGF1ZiBQQy1CYXNpcyBtZWludGUgaWNoKSwgdW5kIHp3YXIgc2Nob24gc2VpdApFcnNjaGVpbmVuIHZvbiBWZXIgMy41CgotQ3JlYS0gc3RhdW5lbmQgdWViZXIgc2VpbmVuIGVyc3RlbiBFSUdFTkVOIEFydGlrZWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm96ZXNzb3JlbiAoR3V5YnJ1c2gsIDIxLiBNYXIgMTk5NSwgMDg6NTE6MDcpOgojISBybj1DcmVhdGl2ZSBydD03OTU3NzE4MDIKSXN0IGRvY2ggZ2VsdW5nZW4sIENyZWEuLi51bmQgc29nYXIgbWFsIHdhcyBwb3NpdGl2ZXMgdWViZXIgV2luZG9vZnMgOikKVmllbGxlaWNodCBiZWtvbW1zdCBkdSBuZW4gV2VyYmV2ZXJ0cmFnIGJlaSBkZW5lbi4uLmRlbiBMb2huIGthbm5zdGUgamEgZGFubgpzcGVuZGVuIDopCkd1eWJydXNoLCBpZGxldCBzaWNoIGhvY2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW5HcmF1ZW4gdW5kIGRlciBQZW50aXVtIChDcmVhdGl2ZSwgMjEuIE1hciAxOTk1LCAwOTowNjoyMik6CiMhIHJuPUpvZiBydD03OTUzNjYyNzQKCkhpIEpvZiwgZGEgaWNoIGF1Y2ggbmViZW5iZWkgYmVpIG5lciBjb21wLWZpcm1hIGpvYmJlLCBoYWIgaWNoIGZvbGdlbmRlCmludGVyZXNzYW50ZSBHZXNjaGljaHRlIG1pdGdlaG9lcnQ6CihoYXQgd2FocnNjaGVpbmxpY2ggaGllciBuaXggenUgc3VjaGVuLCBhYmVyIGJpdHRlKQpFaW4gS3VuZGUgKGF1Y2ggUDkwKSB3aWxsIHNpY2ggU0FHRSBVTkQgU0NIUkVJQkUgNTEyIE1CIFNwZWljaGVyIGF1ZiBzZWluCkJvYXJkIGtuYWxsZW4uIEtsYXJlcndlaXNlIGJlZGV1dGV0IGRhcyA0IDEyOCBNQiBTSU1NJ3MsIGFiZXIgaW0gbW9tCmdpYnRzIG1hbiBob2VyZSB1bmQgc3RhdW5lIG5vY2ggS0VJTiBCT2FyZCwKZGFzIHNpY2ggbWl0IDUxMiBNQiBydW1zY2hsYWdlbiBrYW5uIHVuZCBuZWJlbmJlaSBhdWNoIG5vY2ggbmVuIFA5MAptYW5hZ2VuIHNvbGwuCkFsc28sIG51ciwgZmFsbHMgZGFzIE1HIHVlYmVybGVidCB1bmQgOCB4IHNvIGdyb3NzIHdlcmRlbgpzb2xsdGUuLi4gOikKCi1DcmVhLSwgc3RhdW5lbmQgdWViZXIgTGV1dGUgZGllIFVOQkVESU5HVCA1MTIgTUIgUkFNIGJyYXVjaGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByb3plc3NvcmVuIChDcmVhdGl2ZSwgMjEuIE1hciAxOTk1LCAxMDo0NTozOCk6CiMhIHJuPUd1eWJydXNoIHJ0PTc5NTc3MjI2NwoKR3V5LCBlcnN0bWFsIGRhbmtlIDopCjEuLCB3ZW5uIGljaCBuZW4gV2VyYmV2ZXJ0cmFnIGJla2FlbWUsIHd1ZXJkIGljaCBzb2ZvcnQgc3BlbmRlbgogIHdhcyBpY2ggc293aWVzbyBzY2hvbiBnZXRhbiBoYWIuLi4KMi4sIGRlbmsgaWNoIG5pY2ggaW0gVHJhdW0gZHJhbiwgYmVpIE1pcmtvc2FmdCBhbnp1ZmFuZ2VuIDopCgotQ3JlYS0sIHdpbGwgZGllc2UgRGlza3Vzc2lvbiAoPykgZWhlciBhdWYgc2NobWFycm4gdmVybGVnZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiAoQmxvb2R5aGFycnksIDIxLiBNYXIgMTk5NSwgMTI6MjE6MzQpOgojISBybj1IYXIgcnQ9Nzk1NzcwMTYzCgpIaSBIYXIsCgpCbG9vZHkgPT0+IEJsb2VkaWUgICAgICBrYW5uc3QgRHUgZGFzIHZlcmFubGFzc2VuLiA6LSkKCkJsb29keSBIYXJyeSAobmVydmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYWFhYSwga2xvcHB0IEV1Y2ggKEJsb29keWhhcnJ5LCAyMS4gTWFyIDE5OTUsIDEzOjAwOjIzKToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NTcxMzkyNgoKSGkgQ2F0LAoKd2llIHNvbGx0ZSBpY2ggZGFzIHZlcmhpbmRlcm4ga29lbm5lbiwgd2VubiBlaW5lbSBNYWdpZXIgZGFuYWNoIGlzdC4KSWNoIGtvZW5udGUgdmVyc3VjaGVuLCBtaWNoIGlyZ2VuZHdpZSB6dSByZXZhbmNoaWVyZW4gLSBhYmVyIGRhcyBkdWVyZnRlCmhpZXIgc2Nod2VyIHNlaW4uICA7LSkpCkFiZXIgaWNoIHZlcnNwcmVjaGU6IFdlbm4gaWNoIG5pY2h0IGdlemFwcHQgd2VyZGUgbmVydmUgaWNoIGF1Y2ggbmljaHQKbWVociBzbyBkb2xsLgpVbmQgZGFua2UgYXVjaCBhbiBkaWUgTGV1dGUsIGRpZSBtaXIgYXVjaCB3ZWl0ZXJoaW4gaGllciBoZWxmZW4hIQoKQmxvZWRpZSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIHp1bSBuLXRlbiAoSmFmLCAyMS4gTWFyIDE5OTUsIDEzOjA0OjQ3KToKIyEgcm49VG9zcyBydD03OTU3MzUzMDIKClRhY2gsIFRvc3MhCgpOYWNoZGVtIER1IGdlc2NocmllYmVuIGhhc3QsIGRhc3MgRHUgbWlyIG1laW5lIE1haWxzICpuYXR1ZXJsaWNoKgp6dXJ1ZWNrc2NoaWNrZW4gd3VlcmRlc3QsIGlzdCBkYXMgaGllciB3b2hsIGRlciBlaW56aWdlCldlZy4KCkFsc286IFdhcnVtIHNvbGx0ZSBpY2ggRGlyIG5pY2h0IHVudGVyc3RlbGxlbiBkdWVyZmVuLCBkYXNzIER1CkRpciBtaXQgQ2hhcmx5IHdpbGxrdWVybGljaCBlaW4gT3BmZXIgZ2VzdWNodCBoYXN0PyBBdXMgZWlnZW5lcgpFcmZhaHJ1bmcgd2Vpc3MgaWNoIHNjaGxpZXNzbGljaCwgZGFzcyBEdSBhbmRlcmVuIExldXRlIGdlcm4gV29ydGUgaW4gZGVuCk11bmQgbGVnc3QuIEJpcyBhdWYgZGFzICJBcnNjaGxvY2giIGhhYiBpY2ggaGllciBpbSBNdWQgbm9jaCBrZWluZQpwZXJzb2VubGljaGUgQmVsZWlkaWd1aW5nIGxvc2dlbGFzc2VuLiBJbnNiZXNvbmRlcmUgaGFiIGljaApuaWVtYW5kZW4gYWxzIFNjaHdhbnpsdXRzY2hlciBiZXplaWNobmV0LCBzZWhlIGFsc28gYXVjaAprZWluZW4gR3J1bmQsIG1pY2ggZGFmdWVyIGVudHNjaHVsZGlnZW4genUgbXVlc3Nlbi4KTWljaCBoYWJlbiAtIG5hY2hkZW0gRGVpbiBlcnN0ZXIgQXJ0aWtlbCBpbiBkZXIgTVBBIGVyc2NoaWVuZW4Kd2FyIC0gbWVocmVyZSBMZXV0ZSwgZGllIGljaCBhdWNoIGltIFJMIGtlbm5lIGdlZnJhZ3QsIG9iIGRhcyB3aXJrbGljaApzbyBnZXdlc2VuIHNlaSwgZGFzIHdhZXJlIHVlYmVyaGF1cHQgbmljaHQgbWVpbmUgQXJ0LgpTbywgZGFzIGlzdCBuYXR1ZXJsaWNoIGF1Y2gga2VpbiBCZXdlaXMsIGRhcyBpY2gncyBuaWNodApnZXdlc2VuIHdhZXJlLCBhYmVyIG1laHIga2FubiBpY2ggbmljaHQgbWFjaGVuLCBpY2ggaGFiIGtlaW4KTG9nLgoKSmFmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiB6dW0gbi10ZW4gKFRvc3MsIDIxLiBNYXIgMTk5NSwgMTU6MTM6MjApOgojISBybj1BbmF0b2wgcnQ9Nzk1NzM3MDc1ClNvLCBudW4gaXN0cyBhdWNoIGdlbnVnOgoKQW5hdG9sLCB3ZW5uIER1IHVudGVyIEZhaXJuaXMgdmVyc3RlaHN0LCBkYXNzIGljaCBtaXIgd2llZGVyIHVuZCB3aWVkZXIgZGFzCmltbWVyIGdsZWljaGUgZ2VxdWF0c2NoZSBhbmhvZXJlLCBkYW5uIGJpbiBpY2ggdGF0c2FlY2hsaWNoIHVuZmFpci4gRGVubgpMZXV0ZQp3aWUgQ2hhcmx5IHVzdy4gbGFuZGVuIGJlaSBtaXIgYXVmIGlnbm9yaWVyZSB1bmQgZmVydGlnLgoKQnpnbC4gQ2hhcmx5IHVuZCBKYWYgd2lyZCBtaXIgZGllc2UgRGlza3Vzc2lvbiB6dSBtdWVoc2FtLiBXZW5uIGRpZXNlIGpldHp0CmlocmUgQXVzc2FnZW4vVGF0ZW4gYWJzdHJlaXRlbiwga2FubiBpY2ggbWlyIGRhcyBudXIgbm9jaCBhbHMgZWluZ2VzdGFlbmRuaXMKaWhyZXIgRmVobGVyIGVpbnNlaGVuLiBJY2ggZGlza3V0aWVyZSBqZWRlbmZhbGxzIG5pY2h0IG1laHIgZGFydWViZXIsIHdlciBoaWVyCm51biBsdWVndCB1bmQgc2FjaGVuIGVyZmluZGV0IHVzdy4gV2VubiBqYWYgbWlyIHVudGVyc3RlbGxlbiB3aWxsLCBkYXNzIGljaApoaWVyIGVpbmVuIEFydGlrZWwgdWViZXIgQ2hhcmx5IGdlc2NocmllYmVuIGhhYmUsIG51ciB1bSBpaG4gd2lsbGt1ZXJsaWNoIHp1CmFlcmdlcm4sIGJpdHRlLCBnbGF1YnMgd2VyIHdpbGwuCgpGdWVyIG1pY2ggZ2lidHMgZGEgbnVyIGVpbmUgTGVocmU6IEJsb3NzIGRlbiBNdW5kIGhhbHRlbiwgd2VubiBhbmRlcmUgc2ljaApkYW5lYmVuYmVuZWhtZW4sIHNvbnN0IGtvbW1lbiBkaWUgTGFlc3Rlcm1hZXVsZXIgbnVyIGFuLCB1bmQgZHJlaGVuIGRpZSBTYWNoZQphdWNoIG5vY2ggdW0uIERlbiBhZXJnZXIgc3BhcmUgaWNoIG1pciBsaWViZXIuIFdlbm4gaWNoIG1pciB1ZWJlcmxlZ2UsIGRhc3MKZGllc2Ugc2FjaGUgbnVyIGRhcmF1cyBlbnRzdGFuZCwgZGFzcyBpY2ggZWluZW0gYW5mYWVuZ2VyIGhlbGZlbiB3b2xsdGUsIHVuZAptaXQgYW5zZWhlbiBtdXNzdGUsIGRhc3MgY2hhcmx5IGRpZXNlbSBhbmZhZW5nZXIgYXVmIHVlYmVsc3RlIHRvdXIgYmVpbQpxdWVzdGVuCmJlaGluZGVydCBoYXQsIHdvcmF1ZmhpbiBpY2ggZGFydWViZXIgZ2VzY2hyaWViZW4gaGFiZSwgamV0enQgYWJlciBzZWxic3QgYWxzCnNjaHVsZGlnZXIgZGFoaW5nZXN0ZWxsdCB3ZXJkZW4gc29sbCwga2FubiBpY2ggbnVyIHNhZ2VuOiBkYXMgd2FyIGZ1ZXIgbGFuZ2UKemVpdCBkYXMgYWxsZXJsZXR6dGUgbWFsLCBkYXNzIGljaCBlaW5lbSBhbmZhZW5nZXIgZ2Vob2xmZW4gaGFiZS4gTGFzc3QgRXVjaAppbiBadWt1bmZ0IGhhbHQgdm9uIENoYXJseSB1bmQgS29uc29ydGVuIGhlbGZlbi4gQWJlciB3dW5kZXJ0IEV1Y2ggbmljaHQsIHdlbm4KZGVyIGRhbm4ga3VyeiB2b3JtIEVuZGUgZGllIHF1ZXN0dG9vbHMgZWluc3RlY2t0IHVuZCBldWNoIG1hZWNodGlnIGluIGRpZQpQZmFubmUgaGF1dC4gQWJlciBkYW5uIGJlc2Nod2VydCBFdWNoIG5pY2h0LCBkZW5uIHNvbnN0IGRpZmZhbWllcnQgZXIgZXVjaAphdWNoLgoKU28sIHVuZCBudW4gbWFjaHRzIGd1dCwgaWNoIHNjaHJlaWJlIHp1IGRpZXNlbSBUaGVtYSBuaWNodHMgbWVoci4KCkVpbiBnbmFkZW5sb3MgZW50dGFldXNjaHRlciBSeW5lLCBkZXIgZXJrZW5uZW4gbXVzcywgZGFzcyBnZWdlbiBoYXJ0bmFlY2tpZ2UKVmVybGV1bWR1bmdlbiBhIGxhIENoYXJseSBvZGVyIEphZiBrZWluIEtyYXV0IGdld2FjaHNlbiBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaWUgZ2VzY2hpY2h0ZSBtaXQgZGVuIHpldHRlbG4gLS0gb2RlciB3ZWlzcyBlaW5lciB3ZXIgZGFoaW50ZXIgc3RlY2t0ID8gKEluZGlrYXRvciwgMjEuIE1hciAxOTk1LCAxNTo1Njo0NCk6CnVlYmVyIGFsbCB3byBtYW4gaGlua29tbXQgbGllZ2VuIHpldHRlbCBydW0gbWl0IGluaGFsdGVuIHdpZSAiYmxhIGJsYSB6ZXR0ZWwKaGFoYSAiIHUucy53LgpkYXJ1ZWJlciBrb2VubnRlIG1hbiBzaWNoIGF1ZnJlZ2VuIC4uLiB3ZW4gZGFzIHNvIHdlaXRlciBnZWh0IGVyc3RpY2tlbiB3aXIKbm9jaCBpbSBNdWVsbCxkaWUgR2VzdW5kaGVpdHNiZWhvZXJkZQpzdGVsbHQgZnJhZ2VuIG9kZXIgbm9jaCBzY2hsaW1tZXIgJ0dyZWVuLVBlYWNlJy1hbmdyaG9lcmlnZSBrb21tZW4gLgpadW0gR2x1ZWNrIHJlZ2UgaWNoIG1pY2ggamEgbmljaHQgYXVmIC4uLi4gYWJlciBNQUdJRVIgdS5zLncuIHR1dCBldHdhcyBmdWVyCnVuc2VyIE1VRC4KCgoKCgpXaWUgd2FlaHJlIGVzIG1pdCBlaW5lciBNdWVsbGFiZnVociAuLi4uID0+IG5hIGRhbm4gcHJvZ3QgbWFsIHNjaG9lbiAhCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWVzZSBiZXNjaHdlcmRlIHd1cmRlIGVpbmdlcmVpY2h0IHVuZApnZXNwb25zZXJ0IHZvbiAgaS5uLmQuIEFHIC4uLiBpbSBuYW1lbiBhbGxlciBtdWRkZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGVuZGVuaGlsZmUgKFNjb290ZXIsIDIxLiBNYXIgMTk5NSwgMTU6NTc6MjUpOgpJY2ggZmluZGUgamVkZXIgZGVyIHNwZW5kZXQgc29sbHRlIGRhcyBHZWxkIHdhcyBlciBzcGVuZGV0IHZlcmh1bmRlcnRmYWNoIGltCm11ZCBlcmhhbHRlbiBhbHNvIHdlciA1MERNIHNwZW5kZXQgc29sbHRlIDUwMDBNdWVuemVuIGVyaGFsdGVuIGRhcyB3YWVyZSBkZXIKZ3JvZXNzdGUgYW5yZWl6IGZ1ZXIgYW5mYWVuZ2VyIHp1IHNwZW5kZW4gc2llIGJla2FlbW1lbiBnZWxkIGltIG11ZCB1bmQgZGVtCm11ZCB3YWVyZSBhdWNoIGdlaG9sZmVuLgoKClNjb290ZXIgKApQLlMuOkljaCBtZWluZSBkYXMgaXN0IG51ciBzbyBuZSBrbGVpbmUgaWRlZSB1bSBzcGllbGVyIGJlc29uZGVyc3QgYW5mYW5lZ2VyCnp1bSBzcGVuZGVuIHp1IHVlYmVycmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4genVtIG4tdGVuIChCb25nbywgMjEuIE1hciAxOTk1LCAxNjozMDo1NSk6CiMhIHJuPVRvc3MgcnQ9Nzk1Nzk1MjAwCk9oIG1hbiwgaWNoIHdlaXNzIG5pY2h0IG9iIGljaCB1ZWJlciBzbyBlaW5lIGFic29sdXQgc2Nod2FjaHNpbm5pZ2UKRGlza3Vzc2lvbiwgZGllIGphIGVpZ2VudGxpY2ggbmljaHQgdmllbCBpbiBkZXIgTVBBIHZlcmxvcmVuIGhhdCB1bmQgc2Nob24KZ2FyIG5pY2h0IGluIGRpZXNlciBSdWJyaWssIHdlaW5lbiBvZGVyIExhY2hlbiBzb2xsLiBIaWhpLCBncmlucywgaWhyIGhhYnQKZG9jaCBlaW4gUmFkIGFiLi4uIDotKSkgSWNoIGdsYXViZSBpY2ggbGFjaGUgbGllYmVyLiBEYXMgc2NobGFlZ3QgbmljaHQgc28KYXVmIGRhcyBHZW11ZXQuLi4KQm9uZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuIChYYW50aGlhLCAyMS4gTWFyIDE5OTUsIDE5OjI4OjMxKToKIyEgcm49SGFyIHJ0PTc5NTc3MDE2MwpJY2ggd2lsbCBudXIgZ2FueiBrdXJ6IHdhcyB6dSB3ZWlibGljaGVuIFNwaWVsZXJuIHNhZ2VuOgpNaXIgaXN0IG1hbCBlaW5lIEhleGUgdWViZXIgZGVuIFdlZyBnZWxhdWZlbiwgZGllIGVpbmVuIHZlcmFlbmRlcnRlbgpOYW1lbiBoYXR0ZSAoc28gd2llIGRpZSBTZWhlcikuIEVpbiBhbmRlcmVzIE1hbCB3YXIgZXMgZWluZSBhbmdlaGVuZGUKU2VoZXJpbiwgZGllIG1pdCBlaW5lbSBhbmdlaGVuZGVuIFNlaGVyIHZlcmhlaXJhdGV0IHdhciwgdW5kIGRpZSBoYXR0ZQphdWNoIGVpbmVuIGFuZGVyZW4gTmFtZW4uIEljaCBmaW5kZSwgd2VubiBtYW4gZGVuIHNlbHRlbmVuIHdlaWJsaWNoZW4KR2Flc3RlbiBzY2hvbiBlaW5lbiBHZWZhbGxlbiB0dXQsIGRhbm4gc29sbHRlIG1hbiBkaWVzZSBNb2VnbGljaGtlaXQgYXVjaAphbmRlcmVuIFNwaWVsZXJuIHp1Z2FlbmdsaWNoIG1hY2hlbi4gVmllbGxlaWNodCBpc3QgZXMgamEgc28gdW5kIGljaApoYWJlIG51ciBub2NoIGtlaW5lbiBNYWdpZXIgZGFuYWNoIGdlZnJhZ3QuClNvIGxvbmcsCkV1ZXIgWGFudGhpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiB6dW0gbi10ZW4gKFhhbnRoaWEsIDIxLiBNYXIgMTk5NSwgMTk6MzM6MzYpOgojISBybj1Ub3NzIHJ0PTc5NTc5NTIwMApIbW0uIEVpbiBTYXR6IGluIERlaW5lbSBBcnRpa2VsIGthbSBtaXIgc3BhbmlzY2ggdm9yLiBEdSBzYWdzdDoKIkxhc3N0IEV1Y2ggaW4gWnVrdW5mdCBoYWx0IHZvbiBDaGFybHkgdW50IEtvbnNvcnRlbiBoZWxmZW4uIEFiZXIKd3VuZGVydCBFdWNoIG5pY2h0LCB3ZW5uIGRlciBkYW5uIGt1cnogdm9ybSBFbmRlIGRpZSBxdWVzdHRvb2xzIGVpbnN0ZWNrdAp1bmQgZXVjaCBtYWVjaHRpZyBpbiBkaWUgUGZhbm5lIGhhdXQuIgpBbHNvLCB3ZW5uIGljaCBtaXIgdm9uIGRlbmVuIGhlbGZlbiBsYXNzZSAoYmVpIGVpbmVtIFF1ZXN0KSwgZGFubiBzZXR6dApkYXMgZG9jaCB2b3JhdXMsIGRhc3MgZGllIGRhcyBRdWVzdCBhc2Nob24gZ2VtYWNodCBoYWJlbi4gV2FydW0gc29sbHRlbgpzaWUgZGFubiBhbSBFbmRlIGRpZSBRdWVzdHRvb2xzIGVpbnN0ZWNrZW4/CgpTaWNoIGZyYWdlbmQKWGFudGhpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVlc3QtV2V0dGJld2VyYiEgKE1vc2gsIDIxLiBNYXIgMTk5NSwgMTk6NTc6NTMpOgpBbHMgaWNoIG5ldWxpY2ggYmVpIGRlbiAyIE9ya3MgaW0gRHNjaHVuZ2VsIHN0YW5kLCB3dXJkZSBtaXIgZWlucyBrbGFyOgplcyBnaWJ0IGd1dGUgdW5kIHNjaGxlY2h0ZSBxdWVzdHMhIGRpZXNlIGhpZXIgd2FyIGFsbGVpbiBzY2hvbiB3ZWdlbiBkaWVzZW4KYmVpZGVuIG9ya3MgZ3V0ISB3ZXIgc2llIGtlbm50LCB3ZWlzcyB3YXMgaWNoIG1laW5lIQphdXMgZGllc2VtIGdydW5kLCB1bmQgYXVzIGdydWVuZGVuIGRlciBjaGFuY2VuZ2xlaWNoaGVpdCB1bmQgYXVzCmRlbSBncnVuZCwgZGFzIGRpZSBtYWdpZXIgZWNodCBndXRlIGFyYmVpdCBsZWlzdGVuLCBtb2VjaHRlIGljaApoaWVybWl0IGRlbgogICAgICAgICAgICAgIFF1ZXN0LVdldHRiZXdlcmIKCnZvcnNjaGxhZ2VuLiBTb2xsIGhlaXNzZW4sIGRhc3Mgd2llIGRpZSBzZWhlcmhhZXVzZXIgaGllciBxdWVzdHMgYmV3ZXJ0ZXQKc2FnIGFoIGd1dGVyIHRpcCEgZGFua2UhCmZpbmdoZXIgZW5neXd1Y2sKVVVVcHMsIGRhIGlzdCBtaXIgZG9jaCBkYXMgbXVkIG1pdHRlbiBpbSBzY2hyZWliZW4gYWJnZXNjaG1pZXJ0ISBuYWphLAp3ZW5uIGRlciBhcnRpa2VsIGpldHp0IGV0d2FzIG1lcmt3dWVyZGlnIGF1c3NpZWh0LCB3aXNzdCBpaHIgamEgd2FydW0hCmFiZXIgbmljaHRzIGRlc3RvIHRyb3R6ISBtZWluIHZvcnNjaGxhZyBnaWx0ISBqdXJyeSBhdWZzdGVsbGVuIHVuZApsb3MgZ2VodHMhIGljaCB3YXJ0ZSBhdWYgcmVha3Rpb25lbgoKICAgICAgICAgIE1vc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWVzdC1XZXR0YmV3ZXJiISAoQm9pbmcsIDIxLiBNYXIgMTk5NSwgMjE6MjI6MTcpOgojISBybj1Nb3NoIHJ0PTc5NTgxMjI3MwpGaW5kZSBpY2ggZWluZSBzZWhyIGd1dGUgSWRlZSEKQWxsZXJkaW5ncyBtdXNzIGRpZSBKdXJ5IGF1cyBMZXV0ZW4gYmVzdGVoZW4sIGRpZSBhbGxlIG9kZXIgenVtaW5kZXN0CmRpZSBtZWlzdGVuIFF1ZXN0cyBzY2hvbiBnZXNwaWVsdCBoYWJlbiwgYWxzbyB3ZXJkZW4gc2ljaCB3b2hsIGhhdXB0LQpzYWVjaGxpY2ggU2VoZXIgYW5iaWV0ZW4uIERhbWl0IGRhcyBnYW56ZSBmdWVyIGRpZSBzY2hsZWNodGVuIFF1ZXN0cwphdWNoIHdhcyBicmluZ3Qgd3VlcmRlIGljaCB2b3JzY2hsYWdlbiwgZGFzcyBkYW5uIGF1Y2gga29ua3JldCBLcml0aWstCnB1bmt0ZSBhdWZnZXNjaHJpZWJlbiB3ZXJkZW4sIGRpZSBtYW4gZGFubiB2ZXJiZXNzZXJuIGthbm4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUXVlc3QtV2V0dGJld2VyYiEgKEJhcm9uLCAyMS4gTWFyIDE5OTUsIDIyOjU3OjIzKToKIyEgcm49Qm9pbmcgcnQ9Nzk1ODE3MzM3CktsYXNzZSBJZGVlISBBbGxlcmRpbmdzIHNvbGx0ZW4gYXVjaCBzb2xjaGUgU3BpZWxlciBkaWUgbm9jaCBuaWNodCBhbGxlClF1ZXN0cyBnZXNwaWVsdCBoYWJlbiBtaXRzdGltbWVuIGR1ZXJmZW4gKHdhcyBmYWVsbHQgU2VoZXJuIGRlbm4gbm9jaCB6dXIKU2NocmF0LVF1ZXN0IGVpbikuIFZpZWxsZWljaHQgc29sbHRlbiBhdWNoIG5pY2h0IG51ciBRdWVzdHMgc29uZGVybiBhdWNoIGluCnNpY2ggYWJnZXNjaGxvc3NlbmUgR2ViaWV0ZSAod2llIHouQi4gWmFyZG96IFR1cm0sIGRpZSBTY2hyZWNrZW5zcGl0emUgdW5kIGRpZQpJbnNlbG4gdXN3LikgYmV3ZXJ0ZXQgd2VyZGVuIGtvZW5uZW4/IERhcyBQcm9ibGVtIGlzdCBudXIgZWluZW4gZ2VlaWduZXRlbgpCZXdlcnR1bmdzbW9kdXMgenUgZmluZGVuIDooLgpCZWdlaXN0ZXJ0LApCYXJvbiAobWFnIFphcmRveiBUdXJtIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlbmRlbmhpbGZlIChadWVyaWxldSwgMjIuIE1hciAxOTk1LCAwMDoxOTowMyk6CiMhIHJuPVNjb290ZXIgcnQ9Nzk1Nzk3ODQ1ClNhbGkgU2Nvb3RlciwKCmEpIE9obmUgU3BlbmRlIGtlaW4gbW9yZ2VuZ3JhdWVuICEhCmIpIEhhc3QgZHUgc3BhZXRlciBpbSBtb3JnZW5ncmF1ZW4gR2VsZCBpbSB1ZWJlcmZsdXNzIHVuZCBrYW5uc3QgZXMgZnVlcgogICAgbmljaHRzIGJyYXVjaGVuIGF1c3NlciBUYW5rZW4uCgpjKSBLYW1tIGRpZXNlIElkZWUgc2Nob24gbWFsICIhIQoKSWNoIGZyYWdlIG1pY2ggZWluZmFjaCB3YXJ1bSBpaHIgZnVlciBsYWVjaGVybGljaGUgcGFhciBNYXJrIGVpbmUKZ2VnZW5sZWlzdHVuZyBicmF1Y2h0ID8gS2xhciBhdWNoIG1pciBzY2htZXJ6dCBHZWxkIHVuZCBpY2ggaGFiZSBlcyBhdWNoIG5pY2h0CmltIHVlYmVyZmx1c3MsIGFiZXIgZXMgaXN0IGRvY2ggZnVlciBlaW5lIGd1dGUgVGF0LiBJY2ggZmluZGUgd2VubiBkdSBHZWxkIGltCm11ZCB6dXJ1ZWNrYmVrb21tZW4ga2FubnN0IGRhbm4gaW0gdmVyaGFlbHRuaXMgMToxIGRhbm4gYmV6YWhsc3QgZHUgbmFlbWxpY2gKZXZ0bC4gYXVjaCBtZWhyID06KSkKCnRzY2hhdSAgenVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmljaHQgZWluZXMgQmVyZ3N0ZWlnZXJzIChHZW9yZywgMjIuIE1hciAxOTk1LCAxMToyNTowMyk6CkJlcmljaHQgZGVzIEJlcmdzdGVpZ2VycyBNZWluaG9sZCBSZXNzbmVyOgoKVW4gd2llZGVyIGVpbm1hbCBtYWNodGUgaWNoIG1pY2ggYXVmIGVpbmUgRXhwZWRpdGlvbiB1bSBkZW4gbGV0enRlbgpVbmJlend1bmdlbmVuIDQwMDAgZGVzIE1vcmdlbmdyYXVlbiB6dSBCZXN0ZWlnZW4uCkVzIHdhciBlaW4gc2Nob2VuZXIgRGkuIE1vcmdlbiwgYWxzIGljaCBtaXQgZWluZW0gS29sbGVnZW4gYXVmYnJhY2gKdW0gZGFzIGxldHp0ZSBncm9zc2UgQmVyZ3N0ZWlnZWFiZW50ZXVlciB6dSBiZXN0ZWhlbi4gQWxzIHdpciBuYWNoIGV0d2EgMQpTdHVuZGUgYXVmIGRlciBIb2VoZSBkZXIgU2NocmVja2Vuc3NwaXR6ZW5ob2VobGUgd2FyZW4gcGFzc2llcnRlIGV0d2FzCnNlbHRzYW1lcy4KRGFzIGhpZXIgZWluZSBIb2VoZWwgd2FyLCBoYXR0ZW4gd2lyIGdld3Vzc3QuIEF1Y2ggZGFzcyBlcyBoaWVyIGVpbmUgYXVzc2Vyc3QKc2VsdHNhbWUgV29sa2UgZ2lidCwgYWJlcgp3YXMgaXN0IGRhc3M/IFZvciB1bnMgbGllZ3QgbWl0dGVuIGltIGRpY2h0ZW4gTmViZWwgZWluZXIgV29sa2UgZWluZQpIQUVOR0VCUlVFQ0tFPz8/IFdpZSB1bSBhbGxlcyBpbiBkZXIgV2VsdCBrb21tdCBkaWUgaGllciBoZXI/ClZvZWxsaWcgZ2VzY2hvY2t0IG1hY2h0ZW4gd2lyIHVucyBzb2ZvcnQgd2llZGVyIGF1ZiBkZW4gUnVlY2t3ZWcgaW5zIFRhbCwgdW0KZGVuIFNjaG9jayB6dSB2ZXJkYXVlbi4KRU5ERSBkZXMgQmVyaWNodHMhCgpBYmVyIHZpZWxsZWljaHQgYmlzdCBEVSBuaWNodCBzbyBnZXNjaG9ja3QgdW5kIHdpbGxzdCBkaXIgZGllIEhhZW5nZWJydWVja2UKbWFsIGFuc2VoZW4uLi4KU2VlIFlhIQoKZ2VvcmcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJnc3RlaWdlciBkaWUgMnRlIChHZW9yZywgMjIuIE1hciAxOTk1LCAxMTozNDoyNik6CkZvbGdlbmRlbiBMZXV0ZW4gbW9lY2h0ZSBpY2ggRGFua2VuLCBvaG5lIGRlcmVuIFVudGVyc3R1ZXR6dW5nIGRhcyBHZWJpZXQKdW0gZGllIEhhZW5nYnJ1ZWNrZSBuaWVtYWxzIGVudHN0YW5kZW4gd2FlcmUuCgpTdW1tZXIgKG9id29obCBlciBlaWdlbnRsaWNoIGtlaW5lbiBEYW5rIHZlcmRpZW50LCBzbyB3ZW5pZyB3aWUgZXIgZ2Vwcm9nZ3QKaGF0IDopICkKUHRlcHBpYyAoU28gdmllbCBUaXBwYXJiZWl0IHVuZCBUZXN0YXJiZWl0IHdpZSBlciBtaXIgYWJnZW5vbW1lbiBoYXQpCgpLZXRvcyAoZnVlciA2IFNlaXRlbiBSZXBvcnQtRmlsZSEgVW5kIHZpZWxlbiBndXRlbiBJZGVlbiEgKEdlZGVua3RhZmVsIDspCilBdXNzZXJkZW0gZnVlciBkZW4gcHJvYmxlbWxvc2VuIEFuc2NobHVzcyEKCk15c3RpeCAoZGVyIHNvIHdhaG53aXR6aWcgd2FyIHVuZCBtaXIgYmVpbSBQcm9ncmFtbWllcmVuIGVpbmVyIFN0YWR0IGhpbGZ0LApiencuIHNpZSBnYW56IGFsbGVpbmUgc2NocmVpYnQhKQoKQm9pbmcgKGZ1ZXIgc2VpbmUgRmlsZXMsIHVuZCBmdWVyIGRpZSBHZWJpZXRhbnNjaGx1c3N0ZWxsZSkKCkVtcGVyb3IgKGZ1ZXIgc2VpbmUgZHVtbWVuIE1lbGR1bmdlbikKCkljaCB3dWVuc2NoZSB2aWVsIFNwYXNzIQoKSi5zLm0uZS4KR2VvcmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciB1bmdlcmVjaHRlIFJlYm9vdCAuLi4gZHVyY2ggdW5nZXJlY2h0ZSBFbnRzY2hhZWRpZ3VuZyBpbiBSdWluIGdldHJpZWJlbiAoSW5kaWthdG9yLCAyNC4gTWFyIDE5OTUsIDE0OjA3OjI1KToKCgoKQWxsZSBNdWRkZXIgaGF0dGVuIGJpc2hlciBpbW1lciBtaXQgZGVtIFJlYm9vdCB6dSBrYWVtcGZlbiB1bmQgd2VyYmVuIGVzIGF1Y2gKaW1tZXIgd2llZGVyIG11ZXNzZW4gLCBkYSBkZXIgU3BlaWNoZXIgbnVuIG1hbCB2b2xsIHdlcmRlbiBrYW5uLgpEZXNoYWxiIGhhYmVuIGRpZSBQcm9nZ2VyIHZvbiBNRyBhdWNoIGVpbmUgd2Vpc2UgS2xhdXNlbCBtaXQgZWluZ2ViYXV0ID0+IERpZQpFbnRzY2hhZWRpZ3VuZyAuClRyb3R6ZGVuIHdpcmZ0IHNpY2ggZWluIFByb2JsZW0gYXVmIDogZGllICJnZXJlY2h0ZSIgRW50c2NoYWVkaWd1bmcgKGRnRSkuCgoKQWJlciB3YXMgaXN0IG51biBlaW5lIGRnRSA6IEljaCBtZWluZSBkaWUgSmV0emlnZSBpc3Qga2VpbmUhCgpOdXIgZWluIGtsZWluZXMgYmVpc3BpZWwgYXVzIGVpZ2VuZXIgRXJmYWhydW5nOgpWb3IgZWluIHBhYXIgVGFnZW4gdmVybGllcyBpY2ggZGllc2VzIGhlcnJsaWNoZSBNdWQgbWl0IGVpbmVyIEF1c3J1ZXN0dW5nCmZ1ZXIgdWViZXIgMzAwMCBNdWVuemVuICh6d2FyIG5pY2h0IHZpZWwgYWJlciBmdWVyIGVpbmVuIHF1YXNpIEFuZmFlbmdlciAsIHdpZQptaWNoICwgZG9jaCBlaW4gZ2FuemVyIEJhdHplbiBHZWxkKS4KQWxzIGljaCBIZXV0ZSBqZWRvY2ggaW5zIFNwaWVsIGthbSAsIHN0ZWxsdGUgaWNoIGVpbmVzIGZlc3QgOyBSRUJPT1QuCk51biBqYSBuaWNodCBzb25kZXJsaWNoIFZlcnd1bmRlcmxpY2ggYWJlciBkYXMgbnVuIERhcmF1ZmZvbGdlbmRlIHdhciBlaW4KU2Nob2NrOiBhbHMgZGdFIGJla2FtIGljaCA3OTUgbXVlbnplbi4KRnVlciBlaW5lbiBBbmZhZW5nZXIgLCBkZXIgc2VpbiBnYW56ZXMgS2FwaXRhbCBpbiBzZWluZSBBdXNydWVzdHVuZyBzdGVja3QgLAppc3Qgc29ldHdhcyBlaW5lIEthdGFzdHJvcGhlLgoKCldhcnNjaGVpbmxpY2ggaXN0IGVzIEV1Y2ggYWVobmxpY2ggZ2VnYW5nZW4uIChXaWUgc29sbHRlIGVzIHNvbnN0IHNlaW4/KSBhYmVyCnRyb3R6ZGVtIGlzdCBkYXMgc28ga2VpbmUgZGdFLgoKCkFsc28gTWFnaWVyIHVuZCBQcm9nZ2VyICggaW5zYmVzb25kZXJlIDwgSm9mID4gdW5kIDwgQm9pbmcgPiBsYXNzdCBldWNoIGRhc3MKYWxzIExlaHJlIHNlaW4uCgoKCgoKCkRpZXMgd2FyIG1laW4gQmVyaWNodCB1bmQgbWVpbmUgQmVzY2h3ZXJkZSA6IGluZGlrYXRvciBkZXIgV2FsZGxhdWZlciAobm9jaCkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciB1bmdlcmVjaHRlIFJlYm9vdCAuLi4gZHVyY2ggdW5nZXJlY2h0ZSBFbnRzY2hhZWRpZ3VuZyBpbiBSdWluIGdldHJpZWJlbiAoRmVsYWd1bmQsIDI0LiBNYXIgMTk5NSwgMTQ6NDE6MjQpOgojISBybj1JbmRpa2F0b3IgcnQ9Nzk2MDUwNDQ1Ck1pciBpc3QgbmljaHQgZ2FueiBrbGFyLCB3aWUgZHUgZGlyIGRhcyBtaXQgZGVyIEVudHNjaGFlZGlndW5nIHZvcnN0ZWxsc3QuLi4KaW0gbW9tIGlzdCBlcyBzbywgZGFzcyBkdSBpbW1lciBkZW4gVmVya2F1ZnNwcmVpcyBmdWVyIGRlaW5lIFNhY2hlbiBiZWtvbW1zdC4KU29taXQgaGFzdCBkdSBtaXQgZGVpbmVuIFNhY2hlbiBmdWVyIDMwMDAgZGEgbm9jaCB3ZW5pZyBQcm9ibGVtZS4gVmllbApzY2hsaW1tZXIgaXN0IGVzLCB3ZW5uIHouQi4gZWluIEJTUyAoV2VydCAzMDAwMCkgbWl0IDEwMDAgZ2V3ZXJ0ZXQgd2lyZC4KQWxsZXJkaW5ncyBrYW5uIG1hbiBkYXMgamEgYXVjaCBuaWNodCBrYXVmZW4uLi4KV2VubiBtYW4gYWxzbyAxOjEgZW50c2NoYWVkaWdlbiB3dWVyZGUuIFd1ZXJkZSBqZWRlciBTZWhlciBuYWNoIGVpbmVtIFJlYm9vdAptaXQgMi0zMDAuMDAwIG11ZW56ZW4gcnVtbGF1ZmVuIHVuZCB3YXMgc29sbCBkZXIgZGFtaXQuIEVzIHdhZXJlIGFiZXIKd2FocnNjaGVpbmxpY2ggcHJvZ3JhbW10ZWNobmlzY2ggbmljaHQgZ2FueiBlaW5mYWNoLCB3ZW5uIG51ciBBbmZhZW5nZXIgMToxCmVudHNjaGFlZGlndCB3dWVyZGVuLCB2b3IgYWxsZW06IHdvIHNvbGx0ZSBtYW4gZGFubiBkaWUgR3JlbnplIHppZWhlbj8gQW5zdGF0dApkZWluZSBBdXNydWVzdHVuZyB6dSBrYXVmZW4sIHNvbGx0ZSBtYW4gbGllYmVyIHNlaW4gWmV1ZyBlcmthZW1wZmVuLCBkYXMgZ2lidApFUCB1bmQgZnVlaHJ0IGF1c3NlcmRlbSBkYXp1LCBkYXNzIGRlaW5lIEF1c3J1ZXN0dW5nIGRlaW5lbSBTdGF0dXMgYW5nZW1lc3Nlbgppc3QuCkluIGRlciBSZWdlbCBpc3QgZXMgb2huZWhpbiBzbywgZGFzcyBkdSBBdXNydWVzdHVuZywgZGllIGR1IGRpciBuaWNodCBlcm9iZXJuCmthbm5zdCBnYXJuaWNodCBicmF1Y2hzdC4uLihkaWUgbWVpc3RlbiBkZXIgZXJzdGVuIFF1ZXN0cyBnZWhlbiBvaG5lCkF1c3J1ZXN0dW5nIGdlbmF1c291dCB3aWUgbWl0KQogRmVsYS4uLi4uLmlzdCBmcm9oLCB1ZWJlcmhhdXB0IGVpbiBiaXNzY2hlbiBUYW5rZ2VsZCB6dSBiZWtvbW1lbiB1bmQgZmluZGV0CmRpZSBSZWdlbHVuZyBndXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIHVuZ2VyZWNodGUgUmVib290IC4uLiBkdXJjaCB1bmdlcmVjaHRlIEVudHNjaGFlZGlndW5nIGluIFJ1aW4gZ2V0cmllYmVuIChXYXJnb24sIDI0LiBNYXIgMTk5NSwgMTU6MTQ6MjgpOgojISBybj1GZWxhZ3VuZCBydD03OTYwNTI0ODQKSG0sIGVzIHdpcmQgZG9jaCAxOjEgZW50c2NoYWVkaWd0ICh6dW1pbmRlc3QgYmlzIHp1ciAxMDAwLQpNdWVuemVuLUdyZW56ZSk6IE1hbiBlcmhhZWx0IGdlbmF1IGRhcyBHZWxkLCBkYXMgbWFuIGF1Y2ggYmVpbQpWZXJrYXVmIGltIExhZGVuIGVyaGFsdGVuIHd1ZXJkZS4KRGFzIGRpZSBFSU5LQVVGU3ByZWlzZSBob2VoZXIgc2luZCAoaW4gZGVyIFJlZ2VsIHVtIGRlbiBGYWt0b3IKMykgbGllZ3QgZGFyYW4sIGRhc3MgZGVyIEhhZW5kbGVyIG5hdHVlcmxpY2ggYXVjaCBub2NoIGVpbmVuCkdld2lubiBtYWNoZW4gd2lsbCAodW5kIHp3ZWlmZWxsb3MgYXVjaCBtYWNodCkuIE51biB6dQpmb3JkZXJuLCBkYXNzIG1hbiBmdWVyIGRpZSBHZXdpbm5zcGFubmUgZGVzIEhhZW5kbGVycyBlbnQtCnNjaGFlZGlndCB3aXJkLCBpc3QgZG9jaCB3b2hsIGVpbiB3ZW5pZyB1ZWJlcnRyaWViZW4uLi4gOykKICBNZWluIFNlbmYsCiAgICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciB1bmdlcmVjaHRlIFJlYm9vdCAuLi4gZHVyY2ggdW5nZXJlY2h0ZSBFbnRzY2hhZWRpZ3VuZyBpbiBSdWluIGdldHJpZWJlbiAoRmVsYWd1bmQsIDI0LiBNYXIgMTk5NSwgMTU6NTY6MzApOgojISBybj1XYXJnb24gcnQ9Nzk2MDU0NDY4CkdlbmF1IGRhcyBoYWIgaWNoIGRvY2ggZ2VtZWludCwgV2FyZ29uLCBudXIgZGFzc2VzIGViZW4gYmVpIGVpbmlnZW4gU2FjaGVuCihXZXJ0IHVlYmVyIDEwMDApIHNjaGxpbW1lciBpc3QsIHNpZSB6dSB2ZXJsaWVyZW4sIHdlaWwgYWxsZSBIYWVuZGxlciBzb28gYXJtCnNpbmQsIGFiZXIgZGFzIG1hY2h0IGphIG5peC4uLgpGZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbnJlZ3VuZy4uLiAoRmVsYWd1bmQsIDI0LiBNYXIgMTk5NSwgMTY6MjU6NTUpOgpBbHNvIGljaCBoYWIgbWlyIGRhIG1hbCB3YXMgdWViZXJsZWd0IChpcyB2aWVsbGVpY2h0IG5pY2h0IGdhbnogcmljaHRpZywgd2FyCmVoZXIgZWluIHNwb250YW5lciBFaW5mYWxsKS4uLgpXaWUgd2FlcmUgZXMgZGVubiwgd2VubiBtYW4gaW0gRmFsbGUgZGFzcyBnZW51ZyBTcGVuZGVuIGVpbmdlaGVuLCB3b3ZvbiBpY2gKbWl0dGxlcndlaWxlIGF1c2dlaGUpIHp1bSBBbmxhc3MgZGVyIFJldHR1bmcgZGVzIE1VRCBlaW5lIE1VRC1TVVJWSVZBTC1GRVRFCm9kZXIgc293YXMgc3RlaWdlbiBsYXNzZW4gd3VlcmRlPz8/CkZlbGEuLi4uZGVyIG5vY2ggZWluIHBhYXIgRnJlaWZhaHJ0ZW4gdmVyZmFocmVuIG11c3MgbWl0IGRlciBCYWhuLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hhcmFrdGVyLUtsYXUgOigoIChIb3JzY2hkLCAyNC4gTWFyIDE5OTUsIDIwOjQ1OjM1KToKCkhpLCBMZXV0ZS4uLgoKSWNoIGhhYiBldWNoIHdhcyB0cmF1cmlnZXMgenUgYmVyaWNodGVuLi4uLgpFYmVuIHdvbGx0ZSBpY2ggbWljaCBlaW5sb2dnZW4sIHVuZCBzaWVoZSBkYTogbWVpbiBQYXNzd29ydCBzdGltbXQgbmljaHQuCkhtbW0sIG5hY2ggMyBGZWhsdmVyc3VjaGVuIGhhYiBpY2ggZGFubiBtZWluZW4gWndlaXRpZSBlaW5nZWxvZ2d0IHVuZApDYXR3ZWF6bGUgaGF0IG1pciBnZXNhZ3QsIGRhc3MgaWNoIGJpcyB2b3IgZWluZXIgc3R1bmRlIG5vY2ggZWluZ2Vsb2dndCB3YXIuCkRhcyBrb25udGUKYWJlciBnYXIgbmljaHQgc2VpbiwgZGFzIGljaCB6dSBkZW0gWmVpdHB1bmt0IGluIGRlciBmcmVpZW4gTmF0dXIKYXVmIG5lciBCdXJncnVpbmUgZ2VzZXNzZW4gaGFiLi4uLgoKQWxzbyBoYXQgc2ljaCB3b2hsIGplbWFuZCBkaWUgTXVlaGUgZ2VtYWNodCwgbWVpbiBQYXNzd29ydCByYXVzenVmaW5kZW4KKG5hamEsIGljaCBnZWIgenUuLi5lcyB3YXIgc2F1ZG9vZi4uLikgdW5kIHdvbGx0ZSBhbnNjaGVpbmVuZCBtZWluZW4KQ2hhcmFrdGVyIHVlYmVybmVobWVuLi4uLiBlciBoYXQgbWFsIGt1cnplcmhhbmQgbWVpbiBQYXNzd29ydCBnZWFlbmRlcnQuLi4KCkF1c3NlcmRlbSBmYW5kIGljaCBkaWUgU2FjaGVuLCBkaWUgaWNoIGFuaGF0dGUgKyB6dXNhZXR6bGljaGUgQXVzcnVlc3R1bmcKdW5kIEdlbGQgaW4gbWVpbmVyIFRydWhlLCBkaWUgdm9yaGVyIGdlc2NobG9zc2VuIHdhci4uLi4gVW5kIGRpZSBQZXJzb25lbiwKZGllIHp1Z3JpZmYgYXVmIG1laW5lIFRydWhlIGhhYmVuIGhhYmVuIG5pY2h0cyBkYXp1Z2VsZWd0LiBBbHNvIG11c3MgZGVyCnZlcm1laW50bGljaGUgQ2hhcmFrdGVyZGllYiBkaWUgU2FjaGVuIGluIG1laW5lIFRydWhlIGJlZm9lcmRlcnQgaGFiZW4uLi4KClNlbGJlciBlcm1ldHplbHQgaGF0IGVyIHNpZSBhYmVyIG5pY2h0LCBkYSBpY2ggd2VkZXIgRVAgdmVyZGllbnQgaGFiZSBub2NoCmlyZ2VuZHdlbGNoZSBNb2VyZGVybWVsZHVuZ2VuIHZvbiBIb3JzY2hkIGthbWVuLi4uICh3ZWlzcyBpY2ggdm9uIFJpa3VzKQpIbW1tLiBJY2ggd2Vpc3MgZWhybGljaCBnZXNhZ3QgbmljaHQsIHdhcyBpY2ggZGF2b24gaGFsdGVuIHNvbGwuCk9LLCBpbSBlbmRlZmZla3QgaXN0IGtlaW4gU2NoYWRlbiBiZWkgbWlyIGVudHN0YW5kZW4sIHdlaWwgaWNoIGphIHNvZ2FyCm5vY2ggZGF6dXZlcmRpZW50IGhhYmUuIEFiZXIgaWNoIGZpbmRlIGVzIGVjaHQgdHJhdXJpZywgd2VubiBpcmdlbmR3ZWxjaGUKTGV1dGUgYW5mYW5nZW4sIGRpZSBDaGFyYWt0ZXIgYW5kZXJlciB6dSBtaXNzYnJhdWNoZW4uIEljaCBrb2VubnRlIGpldHp0IG5lCk1lbmdlIE11dG1hc3N1bmdlbiBhdXNzcHJlY2hlbiwgd2VycyBnZXdlc2VuIHNlaW4ga29lbm50ZS4uLiBhYmVyIGRhcyB3aWxsCmljaCBoaWVyIGdhciBuaWNodC4uLiBGZXN0IHN0ZWh0IG51ciwgZGFzcyBkZXIgSG9yc2NoZC1LbGF1IGF1Y2ggYXVzClNhYXJicnVlY2tlbiBrYW0uLi4gdW5kIHp1bWluZGVzdCBhbHMgZ2FzdCBzY2hvbm1hbCBoaWVyZ2V3ZXNlbiBzZWluIG11c3MKKHdvIGhhZXR0ZSBlciBzb25zdCB3aXNzZW4gc29sbGVuLCB3aWUgZXIgaW5uZXJoYWxiIGVpbmVyIHN0dW5kZSAzMDAwMAptdWVuemVuCnVuZCByYWV1YmVyd2VzdGVuIHVuZCBzbyBoZXJiZWtvbW1lbiBzb2xsPykKTmFqYSwgaWNoIHdlaXNzIGVjaHQgbmljaHQsIHdlcnMgZ2V3ZXNlbiBzZWluIHNvbGwuLi4gZGllIFNhYXJicnVlY2tlcgpTcGllbGVyCnVuZCBNYWdpZXIgc2NobGllc3MgaWNoIHZvbiB2b3JuZWhlcmVpbiBhdXMsIGljaCBtdWVzc3QgbWljaCBzY2hvbiBzY2h3ZXIgaW4KaWhuZW4gdGFldXNjaGVuLi4uCkRlcmplbmlnZSBtdXNzIGF1ZiBqZWRlbiBGYWxsIG1laW5lbiBuYW1lbiBnZWthbm50IGhhYmVuLi4uYWxzbyB3YXIgZXIKc2Nob25tYWwKaGllciEKCkljaCBtdXNzIHp1Z2ViZW4sIG1laW4gUGFzc3dvcnQgd2FyIHdpcmtsaWNoIHp1IGVpbmZhY2gsIGFiZXIgaWNoIGhhYnMgbmllCmdlYWVuZGVydCwgd2VpbCBpY2ggZGVyIGZlc3RlbiB1ZWJlcnpldWd1bmcgd2FyLCBzb3dhcyB3dWVyZGUgbmljaHQKcGFzc2llcmVuLgpOYWphLCBtYW4ga2FubiBzaWNoIHRhZXVzY2hlbi4uLgpIaWVyIG1laW4gUmF0IExldXRlOiBMZWd0IGV1Y2ggUGFzc3dvZXJ0ZXIgenUsIGRpZSB3aXJrbGljaCBudXIgaWhyIGtlbm5lbgprb2VubnQhIEFtIGJlc3RlbiBpaHIgd2VjaHNlbHQgc2llIGplZGUgV29jaGUuIFNvbnN0IGlzdCBldWVyIENoYXJha3RlciBuaWNodApzaWNoZXIhIFN0ZWxsdCBldWNoIHZvciwgaXJnZW5kamVtYW5kIHJlbm50IGluIGV1cmVtIENoYXJha3RlciBydW0gdW5kCnBvZWJlbHQgYW5kZXJlIExldXRlIGFuLCB2ZXJicmVpdGV0IFVuc2lubiBvZGVyIGdhciBzY2hsaW1tZXJlcy4uLi4KCk5hamEsIGljaCBoYWIgYXVmIGplZGVuIEZhbGwgbWVpbmUgTGVrdGlvbiBnZWxlcm50Li4uIEljaCBiaW4gZWhybGljaCBnZXNhZ3QKc2VociBlbnR0YWV1c2NodCwgZGFzcyBlcyBzb2xjaGUgTGV1dGUgZ2lidC4uLgpEYSB2ZXJsaWVydCBtYW4gZ2xhdHQgZGVuIFNwYXNzIGFuIGRlciBTYWNoZS4uLgoKT0ssIGRhcyB3YXJzIGRhbm4gZXJzdG1hbC4uLgoKSG9yc2NoZCAoa2FubiBuaWNodCBnbGF1YmVuLCBkYXNzIGRhcyB3aXJrbGljaCBwYXNzaWVydCBpc3QpCgpQLlMuOiBEZXIgQXJ0aWtlbCBpc3Qgd2FocnNjaGVpbmxpY2ggdm9sbGVyIFR5cG9zLCBhYmVyIGRlciBFZGl0b3IgdW5kIG1laW5lCm1vbWVudGFuZSBMYXVuZSBlcmxhdWJlbnMgbmljaHQgYW5kZXJzLi4uCgpQLlAuUzogRmFsbHMgSG9yc2NoZCBhbSBGcmVpdGFnIHp3aXNjaGVuIDE3OjAwIHVuZCAxOTAwIGJlbGVpZGlndCBoYWJlbgpzb2xsdGUsIG9kZXIgc28uLi4gaWNoIHdhcnMgbmljaHQuLi4hISEhIDooKCgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGFyYWt0ZXItS2xhdSA6KCggKEhvcnNjaGQsIDI0LiBNYXIgMTk5NSwgMjE6MjM6MjMpOgojISBybj1Ib3JzY2hkIHJ0PTc5NjA3NDMzNQoKQWVobS4uLiBCZXZvciBpaHIgbWljaCB3ZWdlbiBtZWluZXIgQmxvZWRoZWl0Cnp1ZmxhbWV0Li4uLiBpY2ggaGF0dGUgZGFzIHBhc3N3b3J0IGJlaW0gZXJzdGVuIExvZ2luIGhhbHQgc28gZG9vZgpnZXdhZWhsdCwgd2VpbCBtaXIgZ3JhZCBuaXggYmVzc2VyZXMgZWluZmllbC4uLiBpY2ggaGFicyBkYW5uIGltbWVyIHZlcmdlc3Nlbgp6dSBhZW5kZXJuLCB3ZWlsIGljaHMgZWhybGljaCBnZXNhZ3QgYXVjaCBuaWNodCBmdWVyIHNvIGFrdXQgZ2VoYWx0ZW4KaGFiLiB3aWUgZ2VzYWd0LCBpY2ggYmluIHdvaGwgenUgZ3V0Z2xhZXViaWcuLi4KCk1pciB3YXJzIG5lIExlaHJlLi4uIHVuZCB6d2FyIGVpbmUsIGRpZSBtaXIgc29nYXIgTXVkbXVlbnplbiBiZXNjaGVydCBoYXQuLi4KT0ssIHNvdmllbCBudXIgdW0genUgdmVyaGluZGVybiwgZGFzcyBpaHIgbWljaAphbGx6dXNlaHIgYXVzbGFjaHQuLi4ga2FubiBpY2ggYWJlciB3b2hsIG5pY2h0IHZlcmhpbmRlcm4uLi4KaGFicyBqYSBhdWNoIHZlcmRpZW50Li4uCgpIb3JzY2hkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzcHJhY2hsb3MgKEdhcmZpZWxkLCAyNS4gTWFyIDE5OTUsIDAxOjQ3OjA0KToKQmxvb2R5IEhhcnJ5LApJY2ggYmluIHNwcmFjaGxvcy4gV2FlcmUgaWNoIGVpbiBHb3R0LCBEdSB3dWVyZGVzdCBuaWNodCBtZWhyIGxhbmdlCmltIE1vcmdlbmdyYXVlbiBzZWluLiBEaWVzIGhpZXIgaXN0LCB3aWUgRHUgb2ZmZW5iYXIgbm9jaCBuaWNodCBnZW1lcmt0Cmhhc3QsIGtlaW4gTVVEICJqZWRlcmdlZ2VuamVkZW4iISBIaWVyIGFyYmVpdGV0IG1hbiB6dXNhbW1lbi4gTWlyIGZhZWxsdApiZWkgc292aWVsIElnbm9yYW56IGVpbmZhY2ggbml4IG1laHIgZWluLgoKTWl0IERlaW5lciBFaW5zdGVsbHVuZyBnZWggZG9jaCBlaW5mYWNoIGluIGVpbiBhbmRlcmVzIE1VRCEKVHNjaHVlc3MhCgpHYXJmaWVsZAoqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzcHJhY2hsb3MgKEljZXQsIDI1LiBNYXIgMTk5NSwgMDE6NTk6MjkpOgojISBybj1HYXJmaWVsZCBydD03OTYwOTI0MjQKSWNoIGZpbmRlLCBhbHMgKlNwaWVsZXIqIGhhdCBqZWRlciBpbSBNVUQgc2VpbmUgUm9sbGUuIFdlbm5zIGVpbmUgbWllc2UgaXN0LApzb2xsIGVyIGRvY2ggZWluZSBtaWVzZSBSb2xsZSB1ZWJlcm5laG1lbiwgd2VubiBlciB3aWxsLgpPQiBlciBTcGFzcyBkYXJhbiBoYXQgb2RlciBuaWNodCwgaXN0IGRvY2ggc2VpbmUgU2FjaGUuClVuZCB3ZW5uIGVzIGFuZGVyZW4gbmljaHQgZ2VmYWVsbHQsIGVpbmZhY2ggaWdub3JpZXJlbiA6KQoKLUljZVQgKElnbm9yYW50KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmxvb2R5aGFycnkgKEdyaW1tYm9ybiwgMjUuIE1hciAxOTk1LCAwMzowMzo1NSk6CkhtbSwgdmllbGxlaWNodCBoYWIgaWNoIGRhcyBuaWNodCBHQU5aIHJpY2h0aWcgbWl0YmVrb21tZW4uIEFiZXIgaGF0dGUgZGFzCm1pdCBCbG9vZHloYXJyeSBuaWNodCBhbmdlZmFuZ2VuLCBpbmRlbSBlciBlaW5mYWNoIG1hbCBmcmFndGUgIldhcyB3YWVyZQp3ZW5uIiB1bmQgIldhcyBzYWdlbiBkaWUgUmVnZWxuLCBkaWUgbWFuIG51biBoYXQiPwpJY2ggbWVpbmU6IFplaWd0IG1pciBkZW4sIGRlciB2b24gaWhtIGJla2xhdXQgd3VyZGUgb2RlciBkZXIgaW4gZWluZXIgUXVlc3QKZ2VoaW5kZXJ0IHd1cmRlLiBFciBoYXQgbmljaHRzIGdldGFuIGFscyBtYWwgZWluIHBhYXIgRnJhZ2VuIGluIGRlbiBSYXVtIHp1CnN0ZWxsZW4gdW5kIGRhbm4gYXVmIGRpZXNlciBQb3NpdGlvbiBmZXN0Z2VuYWdlbHQgenUgd2VyZGVuLgpOYSwgdW5kIHdlciBiZXp3ZWlmZWx0IGRlbm4sIGRhc3MgZGllIENoYW5jZW4gYXVmIEhpbGZlIGhpZXIgZnVlciB3ZWlibGljaGUKQ2hhcmFrdGVyZSBncm9lc3NlciBzaW5kPyBJY2ggamVkZW5mYWxscyBzY2hvbiBsYW5nZSBuaWNodCBtZWhyLCBhdWNoIHdlbm4KaWNoIHdlZGVyIGRlbiBlaW5lbiBub2NoIGRlbiBhbmRlcmVuIGdyb3NzIGhlbGZlIChiencgZ2Vob2xmZW4gaGFiZSkuCgpLYW5uIHNlaW4sIGRhc3MgaWNoIGRpZSBnYW56ZSBHZXNjaGljaHRlIGZhbHNjaCBpbSBLb3BmIGhhYiwgc29sY2hlIEFydGlrZWwKdWViZXIgZmxpZWdlIGljaCBpLmEuIG51ci4gR2FueiBhYmdlc2VoZW4gZGF2b24gZGFzcyBBcnRpa2VsLCBkaWUgbWl0ICJCbG9vZHkKSGFycnksIiBhbmZhbmdlbiBpbiBkaWUgbWFpbCB1bmQgbmljaHQgaW4gZGllIG1wYSBnZWhvZXJlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBBdWNoIG51ciBuZSBSb2xsZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hhcmFrdGVyLUtsYXUgOigoIChLbGluZ2UsIDI1LiBNYXIgMTk5NSwgMDM6MjA6NTEpOgojISBybj1Ib3JzY2hkIHJ0PTc5NjA3NjYwMwpEYXMgc2NoZWludCBrZWluIGVpbnplbGZhbGwgenUgc2VpbiwgbWlyIHd1cmRlbiBhdWYgZGllc2VtIHdlZ2UgZ2VyYWRlIHVlYmVyCjIwMDAwMCBtdWVuemVuIGVudHdlbmRldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFucmVndW5nLi4uIChTY2hydW1wZmksIDI1LiBNYXIgMTk5NSwgMTM6MDg6NDYpOgojISBybj1GZWxhZ3VuZCBydD03OTYwNTg3NTUKQXUgamEuIFN1cGVyIElkZWUhISEKClNjaHJ1bXBmaSB3aWxsIHdpZWRlciBtYWwgdm9uIEJvaW5nICdSaXR1YWwgZXJzY2hsYWdlbicgd2VyZGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFucmVndW5nLi4uIChCb2luZywgMjUuIE1hciAxOTk1LCAxMzoxMTo1OCk6CiMhIHJuPVNjaHJ1bXBmaSBydD03OTYxMzMzMjYKSGFiIGljaCBkaWNoIGF1Y2ggcml0dWVsbCBlcm1vcmRldD8gT2ggd2VpYSAuLi4gZGFzIEdlZGFlY2h0bmlzIGxhZXNzdApuYWNoIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbnJlZ3VuZy4uLiAoU2NocnVtcGZpLCAyNS4gTWFyIDE5OTUsIDEzOjE5OjA1KToKIyEgcm49Qm9pbmcgcnQ9Nzk2MTMzNTE4Ck5pY2h0IG51ciBkYXMhIFJpdHVhbCBlcmRydWVja3QsIGVyc2NobGFnZW4sIGVybWV1Y2hlbHQgZWN0IGVjdCA6LSkKU2NocnVtcGZpIG5vY2ggaW1tZXIgaGFsYiB0b3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENoYXJha3Rlci1LbGF1IDooKCAoSGF0ZSwgMjUuIE1hciAxOTk1LCAxNDo1NzoxMCk6CiMhIHJuPUtsaW5nZSBydD03OTYwOTgwNTEKVmllbGxlaWNodCBpc3QgZXMgZWluaWdlbiBuaWNodCBnYW56IGtsYXIsIGFiZXIgd2VtIHNvd2FzIHBhc3NpZXJ0LCBkZXIKaXN0IHdpcmtsaWNoIHNlbGJzdCBTY2h1bGQgdW5kIHNvbGx0ZSBtYWwgdWViZXIgU2ljaGVyaGVpdCBuYWNoZGVua2VuLgpXZW5uIGlociBFdXJlbiBDaGFyYWt0ZXIgc2NodWV0emVuIHdvbGx0LCBtdWVzc3QgaWhyIGhhbHQgZWluIHBhc3N3b3J0CndhZWhsZW4sIHdlbGNoZXMgbmljaHQgZWluZmFjaCBrbmFja2JhciBpc3QuIEFuc29uc3RlbiBpc3QgZXMgd2lya2xpY2gKcmVpbmUgRHVtbWhlaXQuClZpZWxsZWljaHQgc29sbHRlbiB3aXIgbWFsIHdpZWRlciBlaW4gY3JhY2sgdWViZXIgZGllIFBhc3N3b2VydGVyIGxhdWZlbgpsYXNzZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ2hhcmFrdGVyLUtsYXUgOigoIChIYXRlLCAyNS4gTWFyIDE5OTUsIDE1OjAyOjM2KToKIyEgcm49SGF0ZSBydD03OTYxMzk4MzAKVmllbGxlaWNodCBoaWVyIGVpbiBrbGVpbmVyIFRpcDoKCkVpbiBlaW5mYWNoIHp1IG1lcmtlbmRlcyBhYmVyIHNpY2hlcmVzIFBhc3N3b3J0IGthbm4gbWFuIGVycmVpY2hlbiwKaW5kZW0gbWFuIGVpbmVuIFNhdHogbmltbXQgdW5kIHNlaW5lIEFuZmFuZ3NidWNoc3RhYmVuIHp1IGVpbmVtIFdvcnQKenVzYW1tZW5zZXR6dCwgc293aWUgZGllIFNhdHp6ZWljaGVuIG1pdCBlaW5icmluZ3QuCkJlaXNwaWVsOiBNb3JnZW5HcmF1ZW4gaXN0IGRhcyBzY2hvZW5zZXQgTVVEIGRlciBXZWx0LgogICAgICAgICAgTWlkc01kVy4KTWFuIGthbm4gZGllcyBuYXR1ZXJsaWNoIG5hY2ggYmVsaWViZW4gbWFjaGVuLCB6LmIuIE1HaWRzTVVEZFcuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDaGFyYWt0ZXItS2xhdSA6KCggKE1hdGVlc2UsIDI1LiBNYXIgMTk5NSwgMTk6MTE6MjMpOgojISBybj1IYXRlIHJ0PTc5NjE0MDE1NgpOb2NoIGVpbiBUaXA6IGRhcyBNdWRwYXNzd29yZCBzb2xsdGUgc2ljaCB2b20gTG9naW5wYXNzd29yZCBkZXV0bGljaAp1bnRlcnNjaGVpZGVuLiBJbiBkZXIgTXVkLUZBUSBzdGVodCBoaWVyenUgZWluZSBuZXR0ZSBHZXNjaGljaHRlIGRyaW4gOi0pCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTpBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuISAoTW9zaCwgMjYuIE1hciAxOTk1LCAxNDoyNToyNSk6CkFsc28gaWNoIG11c3MgamV0enQgYXVjaCBub2NoIHdhcyB1ZWJlciBDaGFybHkgc2NocmVpYmVuIQphbHMgRXIgKG9kZXIgU2llLCB3ZXIgd2Vpc3MpIG5vY2ggR2FzdDEgd2FyLCBoYWJlIGljaCBtaWNoCnZvbiBJaG0gKGlocikgc29nYXIgZGF6dSBoaW5yZWlzc2VuIGxhc3NlbiwgZWluZW4gUGxheWVya2lsbAp6dSBiZWdlaGVuLCBzbyBmcmVjaCB3YXIgZGllc2UgcGVyc29uISB1bmQgc2Nob24genUgZGVtIHplaXRwdW5rdAp3YXJlbiBhbmRlcmVyIGZyb2ggdWViZXIgbWVpbmUgdGF0LCBkZW5uIGF1Y2ggc2llIHdhcmVuIHZvbiBpaG0gKGlocikKZHVtbSBhbmdlbWFjaHQgd29yZGVuISBhbHNvIHdlbm4gZWluZXIgKGVpbmUpIHNvIGVpbmVuClNjaGVpc3MgYmF1dCwgc29sbHRlIG1hbiBuaWNodCBtZWhyIHZvbiBzaXR0ZW4gc3ByZWNoZW4sIHNvbmRlcm4KZWluZmFjaCBtYWwgYmVpIGRlbiBtYWdpZXJuIG5lIHNpdHp1bmcgZWluYmVydWZlbiB1bmQgbmUKY2hhcmFrdGVybG9lc2NodW5nIGJlc2NobGllc3NlbiEgZGVubiB3ZW5uIHNpY2ggamV0enQgc2Nob24gNSAtIDEwClNwaWVsZXIgYmVsYWVzdGlndCBmdWVobGVuLCBrYW5uIG1hbiBlaWdlbnRsaWNoIG5pY2h0Cm1laHIgdm9uIGVpbmVtIHBlcnNvZW5saWNoZW4gcHJvYmxlbSBlaW5lcyBlaW56ZWxuZW4KU3BpZWxlcnMgc3ByZWNoZW4sIHNvbmRlcm4gdm9uIGdlemllbHRlciBwcm92b2thdGlvbiB2b24Kc2VpdGVuIGNoYXJseXMgKG9kZXIgdm9uIEdhc3QxKSEKV2FzIGljaCBhbGxlcmRpbmdzIHp1IGNoYXJseXMgdmVydGVpZGlndW5nIHNhZ2VuIGthbm4gaXN0LCBkYXNzIGVyIChzaWUpIG1pY2gKc2VpdCBlciAoc2llKQpTcGllbGVyIGlzdCwgbm9jaCBuaWNodCBiZWxhZXN0aWd0IGhhdCwgc29uZGVybiBudXIgYWxzIGdhc3QhCkFiZXIgZGEgZXIgKHNpZSkgZGFzIGJlaSBhbmRlcmVybiB0dXQsIGthbm4gZGllc2UgdmVydGVpZGlndW5nCm5pY2h0IGFsbHp1c2VociB3aXJrZW4hCgogYWxzbyBkYXMgd2FycyB2b24gbWVpbmVyIFNlaXRlLiBJY2ggaG9mZmUsIGRhc3Mgc2ljaCBub2NobWFsCmVpbiBNYWdpZXIgbWl0IENoYXJseSB6dXNhbW1lbnNldHp0IHVuZCBpaG0gKGlocikgb3JkZW50bGljaApNYW5pZXJlbiBiZWlicmluZ3QsIG9kZXIgZXIgKHNpZSkgbGFuZGV0IGplZGVuIHRhZyBpbiBkZXIgQXJlbmEhIDo+CgpCaXMgYmFsZCwgICBNb3NoICAgKGF1ZiBGcmllZGVuIGltIE1HIGhvZmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmYWNrZWxuIChIYWRyYSwgMjYuIE1hciAxOTk1LCAyMjo1MjozMCk6CmhpIG1hZ3MsCgppc3QgZXMgbW9lZ2xpY2ggZGllIGZhY2tlbG4gbWl0IGVpbmVyIGtsZWluZW4gaW5mb3JtYXRpb24genUgdmVyc2VoZW4sIHdpZQppc3Qgbm9jaCBmcmlzY2guIGlzdCBzY2hvbiB6aWVtbGljaCBydW50ZXJnZWJyYW5udCB1bmQgc28gd2VpdGVyPyBsaWNodHNwcnVjaApoaW4gdW5kIGhlciBpY2ggZmluZGUgZmFja2VsbiBuYWNoIHdpZSB2b3IgcHJha3Rpc2NoIHVuZCBiZWkgZGVyIGxhbXBlIGdpYnRzCmphIGF1Y2ggbmUgYnJlbm5kYXVlcmFuemVpZ2UKCkhhZHJhIC0gd2lsbCBlbmRsaWNoIGhlaW1nZWxldWNodGV0IHdlcmRlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQ2hhcmFrdGVyLUtsYXUgOigoIChIYXJkaWwsIDI3LiBNYXIgMTk5NSwgMTQ6Mjc6MzIpOgojISBybj1IYXRlIHJ0PTc5NjEzOTgzMApIbWJsLgpCZWkgbWlyIGhhdCBlcyBhbnNjaGVpbmVuZCBhdWNoIGVpbmVyIHZlcnN1Y2h0LiBJY2ggaGFiIGplZGVuZmFsbHMgZWluZW4KZmVobGdlc2NobGFnZW5lbiBsb2dpbi1WZXJzdWNoIGdlbWVsZGV0IGJla29tbWVuLiA7LSkKCkhhcmRpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ2hhcmFrdGVyLUtsYXUgOigoIChHcmltbWJvcm4sIDI3LiBNYXIgMTk5NSwgMTQ6Mjg6NTApOgojISBybj1IYXJkaWwgcnQ9Nzk2MzA3MjUyCkxhc3N0IGV1Y2ggZGFzIHp1ciBXYXJudW5nIGRpZW5lbiEgQmVpIENoYXJha3RlcmtsYXUga2FubiB2aWVsIHBhc3NpZXJlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBQbG9ldHpsaWNoIE1hZ2llci4gT2RlciB3YXIgaWNoIGRvY2ggbnVyIGJsYXU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6QW5mYWVuZ2VyIHVuZCBpaHJlIFNpdHRlbiEgKFllbmRpLCAyNy4gTWFyIDE5OTUsIDE0OjQzOjE2KToKIyEgcm49TW9zaCBydD03OTYyMjA3MjUKClR1dCBuaWNodHMgenVyIFNhY2hlLCBNb3NoLCBhYmVyIGdsYXVic3QgRHUgbmljaHQsIGRhc3MgRHUgRGlyIGlyZ2VuZHdhbm4Kbm9jaCBkZW4gZ29sZGVuZW4gQXVzcnVmZXplaWNoZW4tU2NodXNzIHNldHp0Pwo4IHZvbiA5IFNhZXR6ZW4gYWxzIEF1c3J1ZmUsIGFsc28gd2lya2xpY2guLi4KVW5kIGRpZSBVZWJlcnNjaHJpZnQhIEF1Y2ggbm9jaCEgTWVpbmUgR3VldGUhCgogICAgICAgICAgICAgWWVuZGksIHRoZWF0cmFsaXNjaCBkaWUgSGFlbmRlIHVlYmVyIGRlbSBLb3BmIHp1c2FtbWVuc2NobGFnZW5kCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQ2hhcmFrdGVyLUtsYXUgOigoIChIYXJkaWwsIDI3LiBNYXIgMTk5NSwgMTQ6NTI6MDcpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk2MzA3MzMwCkFsc28gR3JpbW1ib3JuLAoKRHUgd2Fyc3QgZGVyamVuaWdlLCBkZXIgbGF1dCBydW1nZXRvZW50IGhhdCwgc29vb29vIGVpbiBlaW5mYWNoZXMgUGFzc3dvcnQgenUKaGFiZW4uIEljaCBlcmlubmVyZSBtaWNoIG5vY2ggZ3V0IGRyYW4sIHdpZSBEdSBhbSBuYWVjaHN0ZW4gTW9yZ2VuIGRhbm4KaXJnZW5kZXR3YXMgd2llIDI2IGZlaGxnZXNjaGxhZ2VuZSBMb2dpbnMgenUgdmVyemVpY2huZW4gaGF0dGVzdC4KCkVyaW5uZXJ0IHNpY2g6CgoJCUhhcmRpbCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENoYXJha3Rlci1LbGF1IDooKCAoQ2FyYWRocmFzLCAyNy4gTWFyIDE5OTUsIDE1OjM1OjEyKToKIyEgcm49SGFyZGlsIHJ0PTc5NjMwNzI1MgpEYXMgbXVzcyBub2NoIG5pY2h0cyBoZWlzc2VuLCBIYXJkaWwsIHZpZWxsZWljaHQgd29sbHRlIHNpY2ggZWluZmFjaAplaW5lciBuZXUgZWlubG9nZ2VuIG1pdCBkZWluZW0gTmFtZW4uCgogICBDYXJhZGhyYXMgLSBoYXQgYXVjaCBzY2hvbiBOYW1lbiBlcndpc2NodCBkaWUgZXMgc2Nob24gZ2FiIDopCiAgICAgICAgICAgICAgIChhbHMgWndlaXRpZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTpBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuISAoQ2FyYWRocmFzLCAyNy4gTWFyIDE5OTUsIDE1OjM4OjEyKToKIyEgcm49TW9zaCBydD03OTYyMjA3MjUKTWljaCBoYXQgQ2hhcmx5IGF1Y2ggc2Nob24gdG9lZGxpY2ggZ2VuZXJ2dCwgYWxzbyBpY2ggamVtYW5kIGVpbgpiaXNzY2hlbiB3YXMgdm9uIE1HIHplaWdlbiB3b2xsdGUuIFdpciBzaW5kIGRhbm4gaGlud2VnZ2VlaWx0IHVuZApoYWJlbiBpaG4gaWdub3JpZXJ0LCBoYXQgZ2Vob2xmZW4uCgogICAgICAgIENhcmFkaHJhcyBkZXIgZXdpZ2UgUHJvcGhldAogUFM6IGFiZXIgaWNoIGhhYmUgYXVjaCBnZWhvZXJ0LCBkYXNzIGVyIHNjaG9uIGplbWFuZCBnZWhvbGZlbiBoYXQsIGphd29obCoqCnVwcHBwcHBwcHBwcHBwcHMgOikgKmVycm9ldCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGZ1ZXIgZGVuIFVybGF1YiAoQ2F0d2VhemxlLCAyNy4gTWFyIDE5OTUsIDE2OjI5OjQ3KToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwJCQkJICAgIHwJCQkJCSAgICAgfAp8ICBIYWxsbyBNdWRkaWVzISAgICAgCQkgICAgfAkJCSAgICAgICAgIF5eXl5eXl5eICAgIHwKfAkJCQkgICAgfAkJCQk8ICAgICAgICA+ICAgfAp8ICBJY2ggbWFjaCBncmFkIHd1bmRlcnZvbGxlbiAgICAgICB8CQkJCTwgMzAgICAgID4gICB8CnwgCQkJCSAgICB8CVBTOiBBY2hqYSwgdW5kIGRhbmtlICAgIDwgICAgICAgID4gICB8CnwgIGF1ZiBkZW4gQmFoYW1hcy4gRGFzIFdldHRlciBpc3QgIHwJICAgICAgICAgICAgICAgICAgICAgICAgPCAgIENlbnQgPiAgIHwKfAkJCQkgICAgfAkgICAgZnVlciBkaWUgS29obGUgOikJPCAgICAgICAgPiAgIHwKfCAgZWluZmFjaCBncm9zc2UgS2xhc3NlLiBOdXIgU29ubmUgfAkJCQkgdnZ2dnZ2dnYgICAgfAp8CQkJCSAgICB8CQkJCQkgICAgIHwKfCAgdW5kIGVpbmUgQnVsbGVuaGl0emUuIFVuZCBkaWUgICAgfAkJCQkJICAgICB8CnwgCQkJCSAgICB8CQkJCQkgICAgIHwKfCAgTWFlZGVscyBoaWVyIC4uLi4gZWluZmFjaCBTcGl0emUufAkJCQkJICAgICB8CnwgCQkJCSAgICB8CQkJCQkgICAgIHwKfCAgSWNoIGhvZmZlIEV1Y2ggaXN0IGVzIGRhaGVpbSAgICAgfAkJCQkJICAgICB8CnwJCQkJICAgIHwgICAgICAgICBNVUQJCQkgICAgIHwKfCAgbmljaHQgenUga2FsdCwgYWJlciBpaHIga29lbm50ICAgfAkJCQkJICAgICB8CnwJCQkJICAgIHwJCU1vcmdlbkdyYXVlbgkJICAgICB8CnwgIEV1Y2ggamEgaW4gZGllIFZMLVNvbm5lIGxlZ2VuIDopIHwJCQkJCSAgICAgfAp8CQkJCSAgICB8CQkgIE11ZW5zdGVyCQkgICAgIHwKfCAgQmlzIGJhbGQsCQkJICAgIHwJCQkJCSAgICAgfAp8CQkJCSAgICB8CQkJCQkgICAgIHwKfCAgICAgIEV1ZXIgQ2F0d2VhemxlICAgICAgICAgICAgICAgfAkJCQkJICAgICB8CnwgCQkJCSAgICB8CQkJCQkgICAgIHwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWNobmVya29zdGVuIChDYXR3ZWF6bGUsIDI3LiBNYXIgMTk5NSwgMTc6NDY6NTYpOgpIaSEKU28gd2llcyBhdXNzZWlodCwgaGFiZW4gc2ljaCBkaWUgUmVjaG5lcmtvc3RlbiBldHdhcyBlcmhvZWh0LgpKb2YgdW5kIEtpcmsgd2FyZW4gaGV1dGUgJ2VpbmthdWZlbicgdW5kIG1pciBuZSBuZXVlIFN1bW1lIHp1Z2VzdGVja3QuCkRlbW5hY2ggd2lyZCBkZXIgUmVjaG5lciB1bnMgY2EuIDEyMDAwIGtvc3Rlbi4gZGFyYXVmIHJlY2huZXQgYXVjaApBcm1hZ2VkZG9uLgpBbHNvLi4gbmljaHQgd3VuZGVybiwgZGFzIEdlbGQgaXN0IG5pY2h0IHdlbmlnZXIgZ2V3b3JkZW4sIG51ciBkZXIKUmVjaG5lciB0dWVyZXIgOikKWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKClBTOiBVbmQgdmVyemVpaHQgbWlyIGRlbiBTcGFzcyBtaXQgZGVuIEJhaGFtYXMsIGljaCBrb25udGUgZWluZmFjaAogICAgbmljaHQgd2llZGVyc3RlaGVuIDotKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaG5lcmtvc3RlbiAoR3JpbW1ib3JuLCAyNy4gTWFyIDE5OTUsIDE3OjQ4OjQ1KToKIyEgcm49Q2F0d2VhemxlIHJ0PTc5NjMxOTIxNgoKU2Nob24sIGFiZXIgbXVzcyBkaWUgVmVyZ29sZHVuZyBkZXMgR2VoYWV1c2VzIHVuZCBkZXIgMjUiLUZhcmJtb25pdG9yCndpcmtsaWNoIHNlaW4/IEljaCBiaW4gamEga2VpbiBFeHBlcnRlIGZ1ZXIgc293YXMuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW1icmlzIE1lZXRpbmcgKENhaGllbCwgMjcuIE1hciAxOTk1LCAxOToxMjoxOSk6Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgogXHwvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHwvCi0tKi0tICAgICAgSW1icmlzIE1VU0ggICAgIChzdW4xLmxyei1tdWVuY2hlbi5kZSA2MjUwKSAgICAgIC0tKi0tCiAvfFwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvfFwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KClNwaWVsZXJ0cmVmZmVuIGFtIERvbm5lcnN0YWcgZGVuIDMwLjAzIHVtIDE4LTIwIFVociBmdWVyIGplZGVuCm9iIE5ldWxpbmcgb2RlciBVbndpc3NlbmRlbiwgRWluZ2V3aWVzZW5lIG9kZXIgTVVTSCBHdXJ1cyBqZWRlcgppc3QgaGVyemxpY2hzdCBkYXp1IGVpbmdlbGFkZW4gJ3phaGxyZWljaCcgenUgZXJzY2hlaW5lbi4KClNvbGx0ZXN0IER1IGludGVyZXNzaWVydCBzZWluLCB1bmQgRGljaCBzZWxiZXIgdm9yaGVyIGluZm9ybWllcmVuCndvbGxlbiAoaXN0IG5pY2h0IG5vdHdlbmRpZyA9KSApIHNvIGthbm5zdCBEdSBnZXJuZSB6dSBqZWRlcgphbmRlcmVuIFplaXQgZXJzY2hlaW5lbi4gKFZvcnp1Z3N3ZWlzZSBhYiAxOFVocikgT2RlciBEdSBrYW5uc3QKRGlyIG5hZWhlcmUgSW5mb3MgenUgSW1icmlzIE1VU0ggcGVyIGZ0cCBiZXNvcmdlbi4KCmZ0cDogICAgICAgZmltLmluZm9ybWF0aWsudW5pLW1hbm5oZWltLmRlICAgICAgL2ltYnJpcwoKQWxzbyBpY2ggZnJldWUgbWljaCBEaWNoIGFtIDMwLjAzIG9kZXIgenUgamVkZXIgYW5kZXJlbiBaZWl0IGluCkltYnJpcyB6dSB0cmVmZmVuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBEb25uZXJzdGFnIDMwLjAzICAxOC0yMCBVaHIgXQpIaWVyIG5vY2htYWwgZGllIEFkcmVzc2U6ICAgWyAgc3VuMS5scnotbXVlbmNoZW4uZGUgNjI1MCAgXQoKICAgICAgQ2lhbwogICAgICAgICAgQ2FoaWVsCm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOkFuZmFlbmdlciB1bmQgaWhyZSBTaXR0ZW4hIChTY2hydW1wZmksIDI3LiBNYXIgMTk5NSwgMjA6MTM6MDEpOgojISBybj1DYXJhZGhyYXMgcnQ9Nzk2MzExNDkyCldlbSBoYXQgQ2hhcmx5IGdlaG9sZmVuPyBJYW4/PyAqZ3JpaWlucyoKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZTpBbmZhZW5nZXIgdW5kIGlocmUgU2l0dGVuISAoQ2FyYWRocmFzLCAyOC4gTWFyIDE5OTUsIDAwOjU1OjM3KToKIyEgcm49U2NocnVtcGZpIHJ0PTc5NjMyNzk4MQpOb2UsIGlyZ2VuZCBqZW1hbmQgZ2VzY2hlaXRlbSwgd2Vpc3MgbmljaHQgbWVociB3ZW0gZ2VuYXUsCmFiZXIgd2FyIG5lIEZyYXUgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW4gbmV1ZXMgVGFsLCBlaWVuIG5ldWUgUXVlc3QhIChIb2JvLCAyOC4gTWFyIDE5OTUsIDE0OjU1OjE1KToKIERlciBXYW5kZXJlciBhdWYgZGVyIEhvY2hlYmVuZSBoYXQgc2VpbmUgTGV1dGUgbWFsIHdpZWRlcgpkdXJjaHMgTW9yZ2VuR3JhdWVuIGdlc2NoaWNrdCwgYXVmIGRhc3Mgc2llIG5ldWUgQXVmZ2FiZW4KZnVlciBhbGxlIEFiZW50ZXVyZXIgZmFlbmRlbi4gVW5kIHNpZWhlOiBFaW5lciBpc3QgZnVlbmRpZwpnZXdvcmRlbjogQW0gT3N0cmFuZCBkZXMgR2ViaXJnZXMsIG5haGUgZGVtIE1lZXJlIHd1cmRlCmVpbmUgYmlzbGFuZyB1bmJla2FubnRlIEhvZWhsZSBlbnRkZWNrdCwgZGllIGRlbiBFaW5nYW5nCnp1IGVpbmVtIFRhbCBiaWxkZXQuCiBEYXMgaXN0IGFsbGVzLCB3YXMgaWNoIHZvbiBpaG0gZXJmYWhyZW4ga29ubnRlLiBWaWVsbGVpY2h0CmhhYnQgSWhyIGphIG1laHIgR2x1ZWNrIHVuZCBlciBzYWd0IEV1Y2gsIHdhcyBlcyBkb3J0IHp1CnR1biBnaWJ0LiBPZGVyIHNjaGF1dCBkb2NoIGVpbmZhY2ggbWFsIHZvcmJlaSEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZW5kZW4gKEtpcmssIDI4LiBNYXIgMTk5NSwgMTU6NTc6MTkpOgpIYWxsbyBpaHIgYWxsZSEKCkJpdHRlIHN0ZWxsdCBkYXMgU3BlbmRlbiBuaWNodCBlaW4sIGF1Y2ggd2VubiB3aXIgZGVuIEJldHJhZyB6dXNhbW1lbmJla29tbWVuCmhhYmVuLCBkZXIgZnVlciBkZW4gS2F1ZiBkZXMgUmVjaG5lcnMgYXVzcmVpY2h0LiBXaXIgYnJhdWNoZW4gYXVjaCBpbiBadWt1bmZ0CkdlbGQsIHdlbm4gbWFsIHdhcyBrYXB1dHQgaXN0IG9kZXIgd2lyIHp1c2FldHpsaWNoZSBIYXJkd2FyZSBicmF1Y2hlbiwgd2VpbApkaWUgYWx0ZSBuaWNodCBtZWhyIGF1c3JlaWNodC4gRXMgd2lyZCBhbHNvIGltbWVyIGxhdWZlbmRlIEtvc3RlbiBnZWJlbiwgZGllCndpciB6dSBkZWNrZW4gaGFiZW4gdW5kIGZ1ZXIgZGllIGRpZSBNaXRnbGllZHNiZWl0cmFlZ2UgYWxsZWluIG5pY2h0CmF1c3JlaWNoZW4uIEVpbiBrbGVpbmVzIGZpbmFuemllbGxlcyBQb2xzdGVyIGthbm4gYWxzbyBuaWNodCBzY2hhZGVuLgpXZXIgYWxzbyBiZXJlaXRzIHVlYmVybGVndCwgb2IgZXIgbm9jaCBzcGVuZGVuIHNvbGwsIHdlaWwgZGFzIEdlbGQgZG9jaApzY2hvbiBhdXNyZWljaHQsIHVtIGRlbiBSZWNobmVyIHp1IGthdWZlbiwgc29sbHRlIGFsc28gdHJvdHpkZW0gc2VpbmUgU3BlbmRlCnVlYmVyd2Vpc2VuLiBXaXIga29lbm5lbiBlcyBndXQgYnJhdWNoZW4uCgpJY2ggZGFua2UgZXVjaCB0cm90emRlbSBzY2hvbm1hbCBmdWVyIGRpZSBIaWxmc2JlcmVpdHNjaGFmdCEhIQoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIRUxGVCBVTlMgLSBTQ0hPTiBXSUVERVIhISEhIChBc21vZGlzLCAyOC4gTWFyIDE5OTUsIDE4OjAxOjMzKToKIyEgcm49U2NodWx6ZSBydD03OTY0MDUwOTQKSG1tLCBTY2h1bHplLCB3YXJ1bSBtYWlsc3QgZHUgZXMgbmljaHQgU2hpbm9iaSB1bmQgY28uIHp1LApzdGF0dCBlcyBvZWZmZW50bGljaCB6dSB2ZXJicmVpdGVuID8/CkljaCBnbGF1YmUsIHNvIHdhciBlcyBhdWNoIGdlZGFjaHQgOikKCiAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGFyYWt0ZXItS2xhdSA6KCggKFNjaHVsemUsIDI4LiBNYXIgMTk5NSwgMTg6MDQ6NDgpOgojISBybj1Ib3JzY2hkIHJ0PTc5NjA3NDMzNQpTdGVpZ2VydCBkYXMgbmljaHQgZGllIFNwaWVsLVNwYW5udW5nIHVuZ2VtZWluPyA7LSk9KQooTkVJTiwgaWNoIHdhcmAgcyBuaWNodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENoYXJha3Rlci1LbGF1IDooKCAoU2NodWx6ZSwgMjguIE1hciAxOTk1LCAxODoxODo0MCk6CiMhIHJuPUhhdGUgcnQ9Nzk2MTQwMTU2ClNpY2hlcmUgUGFzc3dvZXJ0ZSBlcmhhZWx0IG1hbiBhdWNoLCBpbmRlbSBtYW4gZWluZmFjaCAgaGVmdGlnIGF1ZiBkZXIKVGFzdGF0dXIgcnVtbGFldWZ0IHVuZCBkYXMgZXJnZWJuaXMgaW4gLm5ldHJjIGFic3BlaWNoZXJ0LgoKTWFuIG11c3MgZGFubiBuYXQuIGVpbiBTY3JpcHQgenVtIGVpbmxvZ2dlbiBudXR6ZW4uCihTbyBtYWNoIGljaGBzKQpTY2h1bHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNwcmFjaGxvcyAoU2NodWx6ZSwgMjguIE1hciAxOTk1LCAxODo1Mzo1MSk6CiMhIHJuPUljZXQgcnQ9Nzk2MDkzMTY5Cj4gSWNoIGZpbmRlLCBhbHMgKlNwaWVsZXIqIGhhdCBqZWRlciBpbSBNVUQgc2VpbmUgUm9sbGUuIFdlbm5zIGVpbmUgbWllc2UKPiBpc3QsIHNvbGwgZXIgZG9jaCBlaW5lIG1pZXNlIFJvbGxlIHVlYmVybmVobWVuLCB3ZW5uIGVyIHdpbGwuCgpXYXJlIGRhcyBuaWNodCBzb2dhciBlaW5lIGludGVyZXNzYW50ZSBFcndlaXRlcnVuZz8KV2VubiBtYW4gYWxzbyBzdGF0dCBNZW5zY2gvRWxmL1p3ZXJnIGF1Y2ggekIuIE9yayB3ZXJkZW4Ka29lbm50ZSwgdW5kIHNpY2ggZGllIEF1ZmdhYmVuIGFscyBPcmsgZ3J1bmRzYWV0emxpY2ggdm9uIGRlbmVuCmFscyAibm9ybWFsZXIiIFNwaWVsZXIgdW50ZXJzY2hlaWRlbi4KekIuIGtvZW5udGUgbWFuIGFscyBPcmsgZGllIE1vbnN0ZXIgbWFsIGVpbiBiaXNjaGVuIGludGVsbGlnZW50ZXIKZXJzY2hlaW5lbiBsYXNzZW4uIFNvbnN0IHN0ZWhlbiBkaWUgZG9jaCBlaCBudXIgYW4gZWluZXIgU3RlbGxlIHJ1bSwKdW5kIHdhcnRlbiBkYXJhdWYsIGdla2lsbHQgenUgd2VyZGVuLgooRnJlaWxpY2ggbXVzcyBlcyBkYW5uIGF1Y2ggZnVlciBlaW5lbiBPcmsgZWluIGVudHNjaGVpZGVuZGVyCiBOYWNodGVpbCBzZWluLCBpbiBlaW5lbSBLYW1wZiBkcmF1ZiB6dSBnZWhlbiwgc29uc3QgcmVubnQKIG1hbiBhbHMgT3JrIGVpbmZhY2ggaW4gZGllIG5hZWNoc3RiZXN0ZSBTdGFkdC4uLgoKTnVyIHNvIGFscyBHZWRhbmtlbmFuc3Rvc3MuLi4uCgpTY2h1bHplIGQuIFcubGFldWZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc3ByYWNobG9zIChTY2h1bHplLCAyOC4gTWFyIDE5OTUsIDE4OjU3OjA3KToKIyEgcm49U2NodWx6ZSBydD03OTY0MDk2MzEKc3Bpbm4gd2VpdGVyLi4uLgpJY2ggc3RlbGxlIG1pciBzY2hvbiBnYW56ZSBHcnVwcGVuIHZvbiBPcmtzIHZvciwgZGllIGR1cmNoIGRpZSBSYW5kYmVyZWljaGUKZGVzIE1VRHMgc3RyZWlmZW4sIHVuZCBlcyBtYWwgV0lSS0xJQ0ggd2llZGVyIGdlZmFlaHJsaWNoIG1hY2hlbi4uOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENoYXJha3Rlci1LbGF1IDooKCAoWGFudGhpYSwgMjguIE1hciAxOTk1LCAxODo1ODozOCk6CiMhIHJuPUhhcmRpbCBydD03OTYzMDcyNTIKU0VORiBPTgpBbHNvIG51ciwgd2VpbCBEdSBlaW5lbiBmZWhsZ2VzY2hsYWdlbmVuIExvZ2luLVZlcnN1Y2ggZ2VtZWxkZXQgYmVrb21tZW4KaGFzdCwgaGVpc3N0IGRhcyBub2NoIGxhbmdlIG5pY2h0LCBkYXNzIGplbWFuZCB2ZXJzdWNodGUsIERlaW5lbgpDaGFyYWt0ZXIgenUga2xhdWVuLiBFcyBrb2VubnRlIGF1Y2ggZWluZmFjaCBzZWluLCBkYXNzIGVpbiBuZXVlciBTcGllbGVyCnp1ZmFlbGxpZyBEZWluZW4gTmFtZW4gdmVyd2VuZGVuIHdvbGx0ZS4KU0VORiBPRkYKRXVlciBYYW50aGlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDaGFyYWt0ZXItS2xhdSA6KCggKEhhcmRpbCwgMjkuIE1hciAxOTk1LCAxMzo0OTo1NCk6CiMhIHJuPVhhbnRoaWEgcnQ9Nzk2NDA5OTE4CgpYYW50aGlhIHNjaHJlaWJ0OgoKPlNFTkYgT04KPkFsc28gbnVyLCB3ZWlsIER1IGVpbmVuIGZlaGxnZXNjaGxhZ2VuZW4gTG9naW4tVmVyc3VjaCBnZW1lbGRldCBiZWtvbW1lbgo+aGFzdCwgaGVpc3N0IGRhcyBub2NoIGxhbmdlIG5pY2h0LCBkYXNzIGplbWFuZCB2ZXJzdWNodGUsIERlaW5lbgo+Q2hhcmFrdGVyIHp1IGtsYXVlbi4gRXMga29lbm50ZSBhdWNoIGVpbmZhY2ggc2VpbiwgZGFzcyBlaW4gbmV1ZXIgU3BpZWxlcgo+enVmYWVsbGlnIERlaW5lbiBOYW1lbiB2ZXJ3ZW5kZW4gd29sbHRlLgo+U0VORiBPRkYKCgpTYWcgbWFsIFhhbnRoaWEsIER1IGdsYXVic3QgZG9jaCBuaWNodCwgZGFzcyBhdXNzZXIgbWlyIG5vY2ggaXJnZW5kamVtYW5kCnNpY2ggc29vbyBiZXNjaGV1ZXJ0ZSBOYW1lbiBlaW5mYWxsZW4gbGFlc3N0ID8gOy0pCgoKSGFyZGlsCgoKLi4uIHVuZCB2ZXJsZWd0IGRvY2ggYml0dGUgZGllc2UgZ2FuemUgRGlza3Vzc2lvbiBuYWNoIFNjaG1hcnJuISAgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbGxnZW1laW5lcyAoTnVkZWksIDMwLiBNYXIgMTk5NSwgMTA6MzQ6MjQpOgpMaWViZSBMZXV0ZSwgZGllIElyaCBpbnRlcmVzc2llcnQgc2VpZCBhbiBnZWhhbHR2b2xsZW0sIGVocmxpY2hlbSwKdmVydHJhdWVuc3ZvbGxlbSB1bmQgb2ZmZW5lbSBSb2xsZW5zcGllbCwgbGVzdCBoZXIhCgpFcyBnaWJ0IGltbWVyIHdpZWRlciBnZXJ1ZWNodGUsIGRpZSBiZXNhZ2VuLCBkYXNzIEZyZXVuZGUgZGVzIG9mZmVuZW4KWndlaWthbXBmZXMsIGRpZSBkdXJjaCBib2VzZSBadW5nZW4gYWxzIE1ldHpsZXIgb2RlciBQbGFldHRlciB2ZXJ1bmdsaW1wZnQKd2VyZGVuLi4uCkRpZXMgbXVzcyBlaW4gRWRuZSBoYWJlbiEKRGVzaGFsYiBnaWJ0IGVzIHNjaG9uIHNlaXQgZ2VyYXVtZXIgWmVpdCBlaW4gb3JnYW4sIGRlbSBkaWUgc3BlemlmaXNjaGVuCkFubGllZ2VuIGRlciBTY2huaXR0ZXIgdW5kIEthZW1wZW4gYW0gSGVyemVuIGxpZWd0PgpkZW4KSVJSRU4gV0VMVFJBVU1QUk9MRVRFTgoKRGllc2UgWmVpdHVuZywgZGllIGplIG5hY2ggS29uZGl0aW9uIHVuZCBMYXVuZSBlaW5tYWwgaW0gTW9uYXQgZXJjc2hlaW50LAp3aWxsIG1pdCBnZWhhbHR2b2xsZW4gS2dzIHVuZCBIaW50ZXJndXJuZGluZm9ybWF0aW9uZW4sIGRhcyBBbnNlaGVuIGRlciBhbQprYXBmZSBJbnRlcmVzc2llcnRlbiBtZWhyZW4gdW5kIGhlYmVuIQpVbmQgYXVzc2VyZGVtIHNpbmQgd2lyIGRlciByZWNodHNjaHJlaWJ1bmcgYWJob2xkIGdlc29tbmVuIQpiZXN0ZWxsdCBkZW4gSXJyZW4gV2VsdHJhdW1wcm9sZXRlbiBOT0NIIEhFVVRFIQoKTnVkZWkKKHN0ZWh0IGZ1ZXIgbmFlaGVyZSBJbmZvcyBnZXJuZSB6dXIgVmVyZnVlZ3VuZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNwcmFjaGxvcyAoU2NodWx6ZSwgMjguIE1hciAxOTk1LCAxODo1NzowNyk6IChSb2VzdGksIDMwLiBNYXIgMTk5NSwgMTA6MzQ6MzkpOgpBbHNvIGljaCBmYWVuZHMgd2l0emlnLi4uTWFubiBzb2xsdGUgc2llIGhhbHQgbmljaHQgenUgbWFlY2h0aWcgbWFjaGVuIHVuZApzaWUgdmllbGVpY2h0IG1pdCBlaW5lciBHYXN0IGZ1bmt0aW9uIHZlcnNlaGVuLi4uKGtlaW4gYWJzcGVpY2hlcm4gdW5kIHNvKWFiZXIKc29uc3QgZ3V0ZSBpZGVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVuZWhtZW4gKFNjaGlpciwgMzEuIE1hciAxOTk1LCAxMzo1OTo0Nik6CkFsc28sIGljaCBzY2hyZWliZSBqZXR6dCBtZWluZW4gZXJzdGVuIEFydGlrZWwuCkhpZXIgc3RlaGVuIGphIGluIGxldHp0ZXIgWmVpdCBvZnQgYm9lc2UgQmVpdHJhZWdlIHVlYmVyIFRvc3MsIGRlc2hhbGIgd2lsbAppY2ggamV0enQgYXVjaCBtYWwgd2FzIGRhenUgc2NocmVpYmVuOgpNaXIgaGF0IGVyIGdlcmFkZSBtYWwgd2llZGVyIGdlaG9sZmVuIC0gdW5kIGRhcyBtYWNodCBlciBiZXN0aW1tdCBuaWNodCBudXIKYmVpIG1pci4gQmxvc3MgTGV1dGUgd2llIGljaCBzY2hyZWliZW4gbmljaHQgamVkZXNtYWwgZWluZW4gQXJ0aWtlbCwgd2VpbCBlcgpuZXR0IHdhciwgZGllIGFuZGVyZW4gYWJlciBqZWRlc21hbCwgd2VubiBzaWUgc2ljaCBhdWZyZWdlbi4KSWNoIGdsYXViZSwgZGFzIEJpbGQsIGRhcyBoaWVyIHZvbiBlaW5pZ2VuIGVyemV1Z3Qgd2VyZGVuIHNvbGwsIGlzdCBuaWNodApnYW56IHJpY2h0aWcuCldlbm4gbWFuIGZyZXVuZGxpY2ggaXN0IHVuZCBzaWNoIG5pY2h0IGdhbnogYmxvZWRlIGFuc3RlbGx0LCBiZWtvbW10IG1hbiBhdWNoCmZhc3QgaW1tZXIgSGlsZmUuIC1VbmQgZGFzIGF1Y2ggdm9uIFRvc3Mgb2RlciBSeW5lIG9kZXIgd2VyIGF1Y2ggaW1tZXIgbm9jaApkYWhpbnRlciBzdGVja3QuClNjaGlpcgpxCgouLgpobSwgd2llIGtvbW10IG1hbiBkZW5uIHJhdXM/Ci4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVuZWhtZW4gKEFuYWtpbiwgMzEuIE1hciAxOTk1LCAxNDozMDo1NSk6CiMhIHJuPVNjaGlpciBydD03OTY2NTExODYKR2VuYXUgU2NoaWlyLiA6KQoKLi4uZGllcyB3YXIgYXVjaCBtZWluIGVyc3RlciBBcnRpa2VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGFyYWt0ZXItS2xhdSBkaWUgbi10ZSAoRmxpbnRuYWlsLCAzMS4gTWFyIDE5OTUsIDE1OjUwOjAyKToKU28uLi4uYXVjaCBtZWluIFp3ZWl0aSBsaXR0IHNjaG9uIHVudGVyIEZyZW1kZWlubG9nLVZlcnN1Y2guIERlc2hhbGIgd3VlcmRlCmljaCBtZWluZW4sIGRhc3Mgd2lyIGhpZXIgd2lya2xpY2ggZWluZW4gdmVyc3BpZWx0ZW4gTXVkZGVyLUNoYXJha3Rlci1EaWViCmhhYmVuOikKVW5kIHp3YXIgbmVuIHJlY2h0IG5ldWVuOikKSmVkZXIgYW5kZXJlIGhhZXR0ZSBzaWNoIGFuIEZsaW50bmFpbCB2ZXJzdWNodC4uLm5pY2h0IGFuIFN0b3JtYnVsbDopCgplaW4gR3J1bmQgbWVociAsIG1hbCB3aWVkZXIgZGFzIFBhc3N3b3J0IHp1IGFlbmRlcm4hCgpGbGludG5haWwuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hhcmFrdGVyLUtsYXUgZGllIG4tdGUgKEJhbWJ1bGtvLCAzMS4gTWFyIDE5OTUsIDE1OjU0OjM1KToKIyEgcm49RmxpbnRuYWlsIHJ0PTc5NjY1NzgwMgpCZWkgbWlyIHdhciBhdWNoIGVpbiBmYWxzY2hlciBMb2dpbi1WZXJzdWNoLiBXaXJrbGljaCBldHdhcyBzZWx0c2FtLi4uCkJhbWJ1bGtvaQpIdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBDaGFyYWt0ZXItS2xhdSA6KCggKFRvbW15LCAzMS4gTWFyIDE5OTUsIDE3OjUxOjQ4KToKIyEgcm49SGFyZGlsIHJ0PTc5NjQ3Nzc5NApIbS4gQWxzbyBtZWluZW0gMnRpZSBpc3QgZGFzIG1pdCBkZW4gKDIpIGZlaGxnZXNjaGxhZ2VuZW4gTG9naW5zCnBhc3NpZXJ0LiBJY2ggaGFiIG1pciBuaXggd2VpdGVyIGRhYmVpIGdlZGFjaHQsIGFiZXIgYWxzIGljaCBkYW5uCmRlbiBlcnN0ZW4gQ2hhcmFrdGVyLUtsYXUgQXJ0aWtlbCBsYXMgYmluIGF1Y2ggaWNoIGlucyBncnVlYmVsbgpnZWtvbW1lbi4gSWNoIG11c3MgSGFyZGlsIHJlY2h0Z2ViZW4uIEF1ZiBOYW1lbiB3aWUgSGFyZGlsIG9kZXIKVHJhdW1hdGljIGVpbmZhY2ggc28gZHVyY2ggWnVmYWxsIHp1IGtvbW1lbiBpc3Qgc2Nob24gZWluIHNlaHIKZ3Jvc3NlciBadWZhbGwuIFZvcmFsbGVtIGdlc2NoYWggZGllcyBpbiBnZW5hdSBkZXJzZWxiZW4gWmVpdCB3aWUKYmVpIEhhcmRpbC4KCkljaCBob2ZmZSBuaWNodCwgZGFzcyBzb2xjaGUgRmVobHNjaGxhZWdlIHdpcmtsaWNoIENyYWNrdmVyc3VjaGUKZ2V3ZXNlbiBzaW5kLCBhYmVyIGF1Y2ggbWVpbmUgUGFzc3dvZXJ0ZXIgc2luZCBqZXR6dCBrb21wbGl6aWVydGVyCmdld29yZGVuLgoKRWluIHdhY2hnZXJ1ZXR0ZWx0ZXIgVG9tbXkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBDaGFyYWt0ZXItS2xhdSA6KCggKFRvc3MsIDMxLiBNYXIgMTk5NSwgMTk6MDc6NTYpOgojISBybj1Ub21teSBydD03OTY2NjUxMDgKTWFlbm5vICEhIQoKQmVpIGFsbGVuIHd1cmRlIHZlcnN1Y2h0IGRhcyBQYXNzd29ydCB6dSBrbmFja2VuLCBudXIgYmVpIG1pciBuaWNodCAhISEKRGFiZWkgaXN0cyBkb2NoIHNvIGVpbmZhY2ggIQpXaWxsIGRlbm4gd2lya2xpY2gga2VpbmVyIGFscyBSeW5lIHNwaWVsZW4gPyBPZGVyIGFscyBUb3NzIGFybWUgQW5mYWVuZ2VyCmFlcmdlcm4gdW5kIGFucG9lcGVsbiB3aWxsID8gb2RlciB3ZW5pZ3N0ZW5zIGVpbmVtIGJhbmt6d2VpdGllIGRhcyBnZWxkCmFibmVobWVuIHVuZCBzaWNoIHVuZ2VyZWNodGZlcnRpZ3QgYmVyZWljaGVybiA/CgpIYWx0ZXQgRXVjaCByYW4gIQoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQ2hhcmFrdGVyLUtsYXUgOigoIChadWVyaWxldSwgMzEuIE1hciAxOTk1LCAyMjo1MTowNCk6CiMhIHJuPVRvc3MgcnQ9Nzk2NjY5Njc2ClNhbGkgemFlbWUsCkFsc28gZGllc2UgZ2FuemUgQ3JhY2tlcnZlcnN1Y2hlIG1hY2hlbiBtaWNoIGV0d2FzIG5lcnZvZXMsIGRlbm4gaWNoIGhhYmUKc2Nob24gZXJsZWJ0IHdpZSBlcyBpc3Qgd2VubiB1bSBkaWUgMTUgTWFpbGJveGVuIHVuZCBCQlMncyB3byBkdSBlaW5nZWxvZ2d0CmJpc3QgdW5kIGRhcnVudGVyIGF1Y2ggMiwzIENvc3lzb3AgcG9zaXppb25lbiBlaW5mYWNoIGRpZSBwYXNzd29lcnRlcgpnZWFlbmRlcnQgd3VyZGVuIG51ciB3ZWlsIGR1IGVpbmVtIGtvbGxlZ2VuIGVpbiBUZXJtaW5hbHByb2dyYW1tIGtvcGllcnQgaGFzdAp1bmQgZGllIFBXIG5pY2h0IGdlbG9lc2NodCBoYXN0LiBVbmQgZXJzdCBuYWNoIHZpZWwgdWViZXJkdW5nc2t1bnN0IHVuZCBtdWVoZQpkaWUgc3lzb3AncyBkYXZvbiB1ZWJlcnpldWdlbiBrYW5uc3QgZGFzIGR1IGRvY2ggZGVyIHJpY2h0aWdlICdEZWxwaGluJyBzZWlzCnVuZCBuaWNodCBkZXIgZGVyIHNpY2ggenVyemVpdCBkYWZ1ZXIgYXVzZ2llYnQuIFVuZCBlcyBpc3QgZWNodCBzY2hlaXNzZSBzb3JyeQp3ZW5uIHNvIGV0d2FzIHBhc3NpZXJ0IHVuZCBpY2ggZmluZHMgbm9jaCBzY2h3YWNoc2lubmlnZXIgd2VubiBkYXMgaW4gZWluZW0KTXVkIHBhc3NpZXJ0IHdvIG1hbiBzcGllbHQgdW0gc3Bhc3MgenUgaGFiZW4uIFR1dCBpaHIgZGFzIHdlaWwgaWhyIG1hbCBlaW5lbgpTZWhlcmNhcmFrdGVyIGJlc2l0emVuIHdvbGx0IHVuZCB6dSBmYXVsIHVtIHp1IHNwaWVsZW4gc2VpdCA/LiBOdW4gYmVpIG1pciBoYXQKZXMgYmlzIGpldHp0IG5vY2gga2VpbmVyIHZlcnN1Y2h0LCBhYmVyIGljaCB6dSBhbGxlciBzaWNoZXJoZWl0IG1laW4KZWlnZW50bGljaCBndXRlcyBQYXNzd29ydCBudW4gYXVjaCBnZWFlbmRlcnQgdW5kIHdlcmRlIGVzIHp1ciBzaWNoZXJoZWl0IG51bgpqZWRlIFdvY2hlIGFlbmRlcm4uIFVuZCBpY2ggcmF0ZSBldWNoIGF1Y2ggYW4gZGFzIHp1IHR1biBkZW5uIHZlcmxpZXJ0IGlocgplaW5tYWwgYW4gZWluZW4gY3JhY2tlciBldWVyIGFjY291bnQsIHBhc3N0IGlociBpbiB6dWt1bmZ0IHNpY2hlciBiZXNzZXIgYXVmICEKCnRzY2hhdSB6YWVtZSAgIFp1ZXJpbGV1IChmcmlzY2ggdmVyaGVpcmF0ZXQgRHNjaHVuZ2VsbWFnaWVyISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZW5laG1lbiAoU2NocnVtcGZpLCAgMS4gQXByIDE5OTUsIDAwOjQxOjA5KToKIyEgcm49U2NoaWlyIHJ0PTc5NjY1MTE4NgpHYW56IERlaW5lciBNZWludW5nLCBTaGlpciEhCkljaCB3ZWlzcyBzb2xjaGUgWnVzdGltbXVuZ3NhcnRpa2VsIHNpbmQgbmljaHQgZ2VybiBnZXNlaGVuLiBXYXIgbWlyIGFiZXIgZWluCkJlZHVlcmZuaXMuClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FuemVuIChTb2NyYXRlLCAgMS4gQXByIDE5OTUsIDE0OjA4OjI3KToKSGFsbG8gTXVkaWVzIQpEaWVzIGlzdCBtZWluIGVyc3RlciBBcnRpa2VsIGluIGRlciBtcGEsIHdlbm4gYWxzbyBpcmdlbmR3YXMgZm9lcm1saWNoZXMKZmFsc2NoIGlzdCBrb2VubnQgaWhyIGV1Y2ggZXVyZSBmbGFtZXMgbm9jaCBzcGFyZW4uCkFsc28gaWNoIGZpbmRlIGVzIHNlaHIgYmVkZW5rbGljaCwgZGFzcyBlcyBnZXNjaGVoZW4ga29ubnRlLCBkYXNzIGplbWFuZCBkaWUKcHJpdmF0ZW4gR2VzcHJhZWNoZSBmdWVyIHp3aXNjaGVuIExldXRlbiBhdWYgZWluZXIgRWJlbmUgZnVlciBhbGxlIGhvZXJiYXIKbWFjaGVuIGtvbm50ZS4gRGFzIGdlaHQgbWVpbmVyIE1laW51bmcgbmFjaCB3ZWl0IHVlYmVyIGRpZSBWZXJsZXR6dHVuZyBkZXIKRXRpa2V0dGUgaGluYXVzLCB1bmQgaWNoIHZlcnN0ZWhlIGF1Y2ggZGFzIGVuZXJnaXNjaGUgVm9yZ2VoZW4gZGVyIE11ZGRzLgpIYWx0ZSBlcyBhYmVyIG5pY2h0IGZ1ZXIgZGllIGJlc3RlIExvZXN1bmcgZWluZW4gQWNjb3VudCBlaW5lciBVbmkgenUgc3BlcnJlbi4KRGVubiBlcnN0ZW5zIHRyaWZmdCBtYW4gZGFtaXQgYXVjaCBhbmRlcmUgU3BpZWxlciBkaWVzZXIgVW5pLCBkaWUgbmljaHQgc28gZWluCk1pc3QgbWFjaGVuIHVuZCB6d2VpdGVuc3dpcmQgZXMgbmljaHQgbGFuZ2UgZGF1ZXJuLApiaXMgamVtYW5kIGFuZGVyZXMgdm9uIHdvYW5kZXJzIGRhcyBnbGVpY2hlIHdpZWRlciBtYWNodCwgdW5kIGRhbWl0IGlzdCBzY2hvbgprbGFyICwgZGFzcyBtYW4gbmljaHQgc2FlbXRsaWNoZSBhY2NvdW50cyBzcGVycmVuIGthbm4uIEljaCB3dWVyZGUgZWhlcgp2b3JzY2hsYWdlbiwgZGFzcyBkaWUgS29uZmlndXJhdGlvbiBkZXMgTUcgc28gZ2VhZW5kZXJ0IHdpcmQsIGRhc3Mgc28gd2FzCnVlYmVyaGF1cHQgbmljaHQgbWVociBtb2VnbGljaCBpc3QuClVuZCB3YXMgaWNoIGF1Y2ggdWViZXJoYXVwdCBuaWNodCB2ZXJzdGVoZSwgaXN0IGRpZSBSZWFrdGlvbiBtYW5jaGVyClNwaWVsZXJJbm5lbiwgZGllIGhpZXJ6dSBtZWluZW4sIGRhc3MgbWFuY2hlIGRvY2ggd29obCB2ZXJnZXNzZW4sIGRhc3MgZGllcwpoaWVyIG51ciBlaW4gU3BpZWwgc2VpLiBNYW5jaG1hbCBkZW5rZSBpY2ggZGFzcyBoaWVyIGF1Y2gsIHdlbm4gc2ljaCB6YiB3ZWxjaGUKZ2VzdG9lcnQgZnVlaGxlbiB3ZWlsIHNpZSBnZWtudWRkZWx0IHdlcmRlbi4gQWJlciBoaWVyYmVpIGhhbmRlbHQgZXMgc2ljaAp1bXdhcyB2b2VsbGlnIGFuZGVyZXMuIEluIGRhcyBNRyBrb21tZW4gaGFsdCBtYW5jaGUgTGV1dGUgbmljaHQgbnVyIHp1bQpRdWVzdGVuIHVuZCB6dW0gS2lsbGVuIHNvbmRlcm4gYXVjaCB6dW0gdGFsa2VuOyB1bmQgendhciBhdWNoIHVlYmVyIGVybnN0aGFmdGUKU2FjaGVuLgpVbmQgZGllc2UgTGV1dGUgbXVlc3NlbiBkYXMgcmVjaHQgaGFiZW4gZGllcyB1bmdlc3RvZXJ0IHR1biB6dSBkdWVyZmVuLiBXZW5uCmVzIG5pY2h0IG1laHIgZ2VzaWNoZXJ0IGlzdCwgZGFzIG1hbiBhdWNoIHdpcmtsaWNoIGFsbGVpbmUgaXN0IHdlbm4gbWFuIHJlZGV0LApzZWhlIGljaCB1ZWJsZXMgYXVmIGRpZSBBdG1vc3BoYWVyZSBpbSBNRyB6dWtvbW1lbi4gVWVicmlnZW5zIGhhYmUgaWNoIG1hbAppcmdlbmR3byBpbiBkZXIgbXBhIGdlbGVzZW4sIGRhc3MgamVtYW5kIHZvcnNjaGx1ZywgZGFzcyBlcyBzaWNodGJhciBpc3Qgd2VubgptYW4gZ2Vzbm9vcHQgd2lyZDsgYXVjaCBkaWVzZW4gVm9yc2NobGFnIG1vZWNodGUgaWNoIHVudGVyc3R1ZXR6ZW4uCgpHcnVzcwpTb2NyYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2FuemVuIChGeXQsICAxLiBBcHIgMTk5NSwgMTc6MDg6MTMpOgojISBybj1Tb2NyYXRlIHJ0PTc5NjczODEwNwpOYWphLCBTb2NyYXRlLCB3ZW5uIER1ICp3aXJrbGljaCogZXJuc3RoYWZ0ZSBEaW5nZSB6dSBiZXNwcmVjaGVuCmhhc3QsIG11c3N0ZSBpbiBlaW5lbiBhYmhvZXJzaWNoZXJlbiBSYXVtIGltIFJMIDopCgpVbmQgZnVlciBNdWRzYWNoZW4uLi4gbWFjaCBsaWViZXIgZWluIHJpY2h0aWdlcyBUYWxrIG1pdCBkZWluZW0KR2VzcHJhZWNoc3BhcnRuZXIgYXVmLCBkYXMgaXN0IGFsbGVtYWwgc2ljaGVyZXIgKHp1bWluZGVzdCB2b3IgZGVuCk1pdG11ZGRlcm4gLSBncmlucykuLi4gZWluIGFiaG9lcnNpY2hlcmVzIEdlc3ByYWVjaCB3aXJkIGVzIHdvaGwKYXVjaCBoaWVyIG5pZSBnZWJlbiAobmFjaCBtZWluZW0gYmVzY2hlaWRlbmVuIHRlY2huaXNjaGVuIFZlcnN0YWVuZG5pcykKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YW56ZW4gKEdyaW1tYm9ybiwgIDEuIEFwciAxOTk1LCAxODoyMzoyNCk6CiMhIHJuPVNvY3JhdGUgcnQ9Nzk2NzM4MTA3CktsYXIsIGljaCB3ZWlzcyB3aWVkZXIgbmljaHQgd29ydW1zIGdlaHQsIHNvbGNoZSBBcnRpa2VsLCBkaWUgc2ljaCBnZWdlbgoiaXJnZW5kd2FzIiByaWNodGVuIG9obmUga2xhcnp1bWFjaGVuIHVtIHdhcyBlcyBkZW5uIG51biBnZWh0IGlzdCB2aWVsbGVpY2h0Cm5pY2h0IGRhcyBHZXNjaGlja3Rlc3RlLi4uCkRhcyBlaW56aWdlIHdhcyBtaXIgZWluZmFlbGx0IGlzdCBlaW4gQ2hhcmFrdGVyIG5hbWVucyAiV2FuemUiLCBkZXIKR2VzcHJhZWNoZSBhdXMgZGVyIEdpbGRlIGF1ZiBkZW4gV2lzc2Vuc2NoYWZ0c2thbmFsIHVlYmVydHJhZ2VuIGhhdC4gTmVubnN0IER1CmFsc28gR2VzcHJhZWNoZSBpbiBkZXIgR2lsZGUgInByaXZhdCI/IE9kZXIgc2luZCB0ZWlsZSBtaXRzIGFiZ2VmYW5nZW4gd29yZGVuPwpEYXMgd2FlcmUgYWxsZXJkaW5ncyB3aXJrbGljaCBzY2hsaW1tLCBpc3QgYWJlciB2b24gU3BpZWxlcm4gbmljaHQgbWFjaGJhciwgZGEKaGFlbmd0IGRhbm4gZWluIE1hZ2llciBoaW50ZXIuCkRhcyBtaXQgZGVtIHNub29wZW4gaXN0IHNvIG5lIFNhY2hlLCBhdXMgRXJmYWhydW5nIHdlaXNzIGljaCwgZGFzcyBtYW4gc2ljaAphbmRlcnMgdmVyaGFlbHQsIHdlbm4gbWFuIHdlaXNzLCBkYXNzIG1hbiBnZXNub29wdCB3aXJkLiBJY2ggaGFiZSBlcyBvZnQgdW5kCmxhbmdlIGF1c3Byb2JpZXJ0LCBhYmVyIGljaCB3dWVyZGUgaW1tZXIgbm9jaCBzYWdlbiBkYXNzIGljaCBhbmRlcnMgcmVhZ2llcmUKd2VubiBpY2ggd2Vpc3MgZGFzcyBpY2ggZ2Vzbm9vcHQgd2VyZGUuCk1hbiBtdXNzIGRhbWl0IHJlY2huZW4sIGluIG5ldWVuIEdlYmlldGVuIGdlc25vb3B0IHp1IHdlcmRlbiB3ZWlsIGRlcgp6dXN0YWVuZGlnZSBNYWdpZXIgc2VoZW4gd2lsbCwgd2llIFNwaWVsZXIgc2ljaCB2ZXJoYWx0ZW4uIFdlbm4gbWFuIGFscyBFcnN0aWUKaW4gMTAgb25saW5lLVN0dW5kZW4gU2VoZXIgZ2V3b3JkZW4gaXN0IHNvbGx0ZSBtYW4gYXVjaCBkYW1pdCByZWNobmVuLiBFYmVuc28sCndlbm4gbWFuIGVpbmVuIEZlaGxlciBoYXQgdW5kIGVpbiBNYWdpZXIgdmVyc3VjaHQsIGRlbiB6dSByZXBhcmllcmVuLgpBbnNvbnN0ZW4gbGllZmVydCBtZWluZSAic25vb3BhYmZyYWdlIiBpbW1lciBlaW4gIktlaW5lIGFrdGl2ZW4gc25vb3BzLiIgVW5kCmRpZSBFcnptYWdpZXIgKGRpZSBpY2ggZGFtaXQgbmljaHQgc2VoZSkgc2luZCBqYSBzb3dpZXNvIGFsbGVzIFNjaHdlaW5lLi4uIDotKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBTY2hhdXQgbWFsIGluIGRlciBtcGEsIG9iIGVyIG5pY2h0IGRvY2ggd2FzIHp1bSBUaGVtYQpXYW56ZSB1ZWJlcnNlaGVuIGhhdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdhbnplbiAoQWNyaW1vbiwgIDEuIEFwciAxOTk1LCAxODo1ODo1NCk6CiMhIHJuPVNvY3JhdGUgcnQ9Nzk2NzM4MTA3ClJlY2huZXJhY2NvdW50cyB6dSBzcGVycmVuIGlzdCBlaW4gdm9lbGxpZ2VyIFNjaHdhY2hzaW5uLiBEYXMgZm9lcmRlcnQgbnVyCm5vY2ggbWVociBNaXN6YnJhdWNoLgoKVW5kIGRpZSBHZXNwcmFlY2hlIGluIGRlciBHaWxkZSB6dSB2ZXJvZWZmZW50bGljaGVuLCBkYXMgc3RlbGx0IGluIG1laW5lbgpBdWdlbiBrZWluZXJsZWkgVmVyZ2VoZW4gZGFyLiBEZW5uIHdlciBpbiBkZXIgR2lsZGUgcXVhdHNjaHQsIGRlciBxdWF0c2NodApzb3dpZXNvIG9lZmZlbnRsaWNoLgpVbmQgd2VubnMgd2lya2xpY2ggd2FzIFByaXZhdGVzIGlzdCAtIGRhZnVlciBnaWJ0cyBqYSBkaWUgQmVmZWhsZSAiZmx1ZXN0ZXIiCnVuZCAidGVpbGUgbWl0IiAoc293aWUgImZydWZlIikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFUC1MaXN0ZSAoRnl0LCAgMy4gQXByIDE5OTUsIDE4OjE5OjU0KToKCk1pciBpc3QgYXVmZ2VmYWxsZW4sIGRhc3MgaWNoIG5pZSBzbyByaWNodGlnIHdlaXNzLCB3aWV2aWVsZQpFUCBpcmdlbmR3ZWxjaGUgTW9uc3RlciBicmluZ2VuLiBEZXNoYWxiIGhhYiBpY2ggYmVzY2hsb3NzZW4sCmVpbmUgTGlzdGUgenVzYW1tZW56dXN0ZWxsZW4sIGF1ZiBkZW5lbiBNb25zdGVyIHVuZCBkZXJlbiBFUApkcmF1ZnN0ZWhlbi4gSW0gTW9tZW50IHNpbmQgZXMgZXR3YSA0NSB2b24gUmVoIGJpcyBMaWNoLgpBbHMgQm9uYm9uOiBEZXIgRXJzdG1lbGRlciBlaW5lcyBNb25zdGVycyB3aXJkIGxvYmVuZCBlcndhZWhudC4KSWNoIHZlcnN1Y2hlLCBqZWRlcyBNb25zdGVyIGF1Znp1bmVobWVuLCBhbHNvIGtvZW5uZW4KYXVjaCBibHV0aWdlIEFuZmFlZ2VyIG1pdG1hY2hlbi4uLgoKV2VyIGRpZSBMaXN0ZSBoYWJlbiBtb2VjaHRlLCBzb2xsdGUgbWljaCBpbSBNdWQgYW5zcGVyZWNoZW4Kb2RlciBlaW5lICBNYWlsIHNjaGlja2VuLi4uCgpQUzogRnVlcidzIFd1ZXN0ZW5zY2h3ZXJ0IHdhZXJlIGRhcyBkb2NoIGF1Y2ggZWluZSBIaWxmZSwgb2Rlcj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGFyYWt0ZXItS2xhdSBkaWUgbi10ZSAoSGF3aywgIDMuIEFwciAxOTk1LCAyMDozMzowOSk6CkF1Y2ggaWNoIGhhYmUgZWluZW4gZmFsc2NoZW4gTG9naW4tVmVyc3VjaCB6dSB2ZXJ6ZWljaG5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hhcmFrdGVyLUtsYXUgZGllIG4tdGUgKEtyZXRlaywgIDMuIEFwciAxOTk1LCAyMToxMzowMSk6CiMhIHJuPUhhd2sgcnQ9Nzk2OTMzOTg5Ck9oIGplLCBpY2ggaGFiIGF1Y2ggZWluZW4gZmVobGVyaGFmdGVuIExvZ2luLVZlcnN1Y2ghICoqKmphbW1lcioqKgoqKip6aXR0ZXIqKiogICAqKipsYW1lbnRpZXIqKioKT2IgZGFzIGRhcmFuIGxpZWdlbiBrYW5uLCBkYXNzIGljaCBtaWNoIGJlaSBtZWluZW0gUGFzc3dvcnQKdmVydGlwcHQgaGFiZT8gS2FubiBkYXMgYml0dGUgZWluIEdvdHQgKGtlaW5lIHNjaGxpY2h0ZW4gRXJ6bWFnaWVyISkKdW1nZWhlbmQgcHJ1ZWZlbiwgdW5kIG1pciwgaW4gZHJlaWZhY2hlciBzY2hyaWZ0bGljaGVyIEF1c2ZlcnRpZ3VuZywKQmVyaWNodCBlcnN0YXR0ZW4/CltzYXJrYXNtdXMgb2ZmXQoKVHNjaG9lLApLcmV0ZWssIGRlciBPY2hzZW5mcm9zY2gKKGhldXRlIGluIFBvZWJlbGxhdW5lKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIHR1biBtaXQgZGVuIGZlaGxlcmhhZnRlbiBMb2dpbnZlcnN1Y2hlbi4gKEhhd2ssICAzLiBBcHIgMTk5NSwgMjE6MzM6NTcpOgpJY2ggZGVua2UgYXVjaCwgbWFuIHNvbGx0ZSBkaWVzZSAoKioqamFtbWVyKioqLCAqKip6aXR0ZXIqKiosCioqKmxhbWVudGllcioqKikKZmVobGVyaGFmdGVuIExvZ2ludmVyc3VjaGUgbmljaHQgaWdub3JpZXJlbi4gSWNoIGRlbmtlLCBlcyBpc3QgbnVldHpsaWNoLAp6dSBiZXJpY2h0ZW4sIHdlbm4gZWluZW0gc28gZXR3YXMgcGFzc2llcnQuIFdlbm4gZXMgc2ljaCBoYWV1ZnQsCnNvbGx0ZSBtYW4gZGF6dSB1ZWJlcmdlaGVuLCB6dSB0cmFjZW4sIHZvbiB3byBhdXMgZGllc2UgVmVyc3VjaGUKZ2VtYWNodCB3ZXJkZW4uIEljaCBuZWhtZSBhbiwgZXMgaXN0IGltbWVyIGRlciBzZWxiZSBTcGllbGVyLgoob2RlciBtZWluc3QgZHUgbmljaHQsIEtyZXRlaz8pIEVpbiBlaW5mYWNoZXIgU2NoZXJ6IGlzdCBzbyB3YXMKa2VpbmVzZmFsbHMuSEFXSywgZGVyIGxpZWJlciBzZWxiZXIgc3BpZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ2hhcmFrdGVyLUtsYXUgZGllIG4tdGUgKFRvc3MsICAzLiBBcHIgMTk5NSwgMjM6NTk6NDApOgojISBybj1LcmV0ZWsgcnQ9Nzk2OTM2MzgxCnNhdWVyZWkgISEhCgppY2ggaGFiZSB2b3JtIHdvY2hlbmVuZGUgZXh0cmEgZWluZW4gYXVmcnVmIGdlc2NocmllYmVuLCB1bmQgZGFyYXVmCmhpbmdld2llc2VuIGRhc3MgbWVpbiBwYXNzd29ydCBnYXIgbmljaHQgc28gc2Nod2VyIGlzdCAhISEKVHJvdHpkZW0gaGF0cyBzY2hlaW5iYXIga2VpbmVyIHZlcnN1Y2h0IDooCgpCZWxlaWRpZ3QsCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSaWNodGlnc3RlbGx1bmcgKFRvcmZkdWVuZywgIDQuIEFwciAxOTk1LCAwMDo0MzowNSk6CiA+QW46IFRvcmZkdWVuZwogPkNjOiBGcmF1bmVAbWF0aC51bmktbXVlbnN0ZXIuZGUsIFxqb2YsIEJvaW5nLCBSdW1hdGEsCiA+TGVvQGZpcnN0LmdtZC5kZSwgRnJldW5kLAogPkhpZ2hsYW5kZXIsIEJvaG1Ac2FudGFuYS51bmktbXVlbnN0ZXIuZGUsIFJvY2h1cywgQ2F0d2VhemxlCiA+RGF0dW06IERpZSwgMjguIE1hciAxOTk1LCAxNDoyMjoyMAogPlRpdGVsOiBEYXMgd2FyIHp1dmllbCEKID4yNS4gTWFyIDIyOjQzIEJsb2VkZ29lcmUoNDAsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKQogPih0b3JmZHVlbmcpCiA+MjUuIE1hciAyMjo0NiBBbWF6b3JhKDE3LDc0KSAvbWFnaWVyOm9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKID4yNS4gTWFyIDIzOjAzIEFtYXpvcmEoMTcsNDkpIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKID4yOC4gTWFyIDAyOjI4IEd1cigzLDE4KSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwMjo1NyBHYXN0MSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKID4yOC4gTWFyIDAyOjU5IEpvc2hrYSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKID4yOC4gTWFyIDAzOjEwIEdhc3QxKDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQogPjI4LiBNYXIgMDM6MTEgQmVvYmFjaHRlcigxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKID4yOC4gTWFyIDAzOjE3IEdhc3QxKDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQogPjI4LiBNYXIgMDM6MjUgSG9wcGxhKDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQogPjI4LiBNYXIgMDM6MjcgR2FzdDEoMSwwKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwMzoyOSBIb3BwbGEoMSwwKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwMzo1MyBMYXVyaW4oMjMsNzU3KSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwMzo1OSBIb3BwbGEoMSwwKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwNDoyOCBBbWF6b3JhKDE3LDMyKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCiA+MjguIE1hciAwNDo0NCBLcmV0dG90KDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQogPgogPkpldHp0IHJlaWNodCBlcyBtaXIgYWJlciBlbmRndWVsdGlnLCBTcGllbGVyIHphcHBlbiBpc3QgVkVSQk9URU4gYXVjaAogPndlbm4KID5lcyBad2VpdHNwaWVsZXIgc2luZC4gV2VubiBEdSBtaXQgZ2VrbnVkZGVsdCB3ZXJkZW4gbmljaHQga2xhciBrb21tc3QsCiA+ZGFubgogPmdlaCB3ZWcgb2RlciBsb2cgZGljaCBhdXMhCiA+SWNoIGhhYiBEaWNoIGF1ZiBTcGllbGVybGV2ZWwgZ2VzZXR6dCwgZGEgdSBvZmZlbnNpY2h0bGljaCBtaXQgZGVuCiA+TWFnaWVyYmVmZWhsZW4KID5uaWNodCB1bWdlaGVuIGthbm5zdC4KID4gIEJvaW5nCgoKQWxsZXJsaWVic3RlciBCb2luZywgQnVtbSwgVHNjaGFjaywKCmFsbHNvIHVtIGVyc3RtYWwgZWluIHBhYXIgc2FjaGVuIGtsYXJ6dXN0ZWxsZW4gOgoKCjI1LiBNYXIgMjI6NDMgQmxvZWRnb2VyZSg0MCwwKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpClRlc3RpIHZvbiBNaXIgZGVuIGljaCBzbyBvZnQgdG9ldGVuIHdlcmRlIHdpZSBpY2ggbHVzdGlnIGJpbgoKMjUuIE1hciAyMjo0NiBBbWF6b3JhKDE3LDc0KSAvbWFnaWVyOm9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKVGVzdGkgdm9uIFNjaHJ1bXBmaQoKMjUuIE1hciAyMzowMyBBbWF6b3JhKDE3LDQ5KSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpClRlc3RpIHZvbiBTY2hydW1mcGkKCjI4LiBNYXIgMDI6MjggR3VyKDMsMTgpIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKSGF0IHJ1bWdlcnVmZW4gLCB0b2V0ZXQgbWljaCAsaWNoIHdpbGwgZ2V0b2V0ZXQgd2VyZGVuCihhbiB3ZWxjaGUgYmVnZWJlbmhlaXQgZXJpbm5lcnQgbWljaCBkYXMgbnVyID8pCgoyOC4gTWFyIDAyOjU3IEdhc3QxKDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQpHYXN0MSA6IE11cGZlbCAoZWluZ2Vsb2d0IHVtIHp1IHNpY2ggemFwZW4genUgbGFzc2VuKQoKMjguIE1hciAwMjo1OSBKb3Noa2EoMSwwKSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpClRlc3RpIHZvbiBBenp1cm8gICAoZWluZ2Vsb2d0IHVtIHp1IHNpY2ggemFwZW4genUgbGFzc2VuKQoKMjguIE1hciAwMzoxMCBHYXN0MSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKR2FzdDEgOiBNdXBmZWwKCjI4LiBNYXIgMDM6MTEgQmVvYmFjaHRlcigxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKRWluIFp3ZWl0aSB2b24gQXNtb2RpcyBlaW5nZWxvZ3QsIHVtIHNpY2ggdG9ldGVuIHp1IGxhc3NlbgoKMjguIE1hciAwMzoxNyBHYXN0MSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKTXVwZmVsCgoyOC4gTWFyIDAzOjI1IEhvcHBsYSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKU2NyaXB0cGxheWVyLCBkZXIgZWluIFNjcmlwdCBoYXQgenVtIGRyYXVmZ2VoZW4sIGFuIGRpZXNlbSBhYmVuZCBoYXQgZXIgZXMKYXVmIHVlYmVyIDIwMCB0b2RlIGdlYnJhY2h0LCArMyB2b24gbWlyIC4uLgoKMjguIE1hciAwMzoyNyBHYXN0MSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKTXVwZmVsCgoyOC4gTWFyIDAzOjI5IEhvcHBsYSgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKc2llaGUgb2JlbgoKMjguIE1hciAwMzo1MyBMYXVyaW4oMjMsNzU3KSAvbWFnaWVyOnRvcmZkdWVuZyAoZGlyZWt0ICEpICh0b3JmZHVlbmcpCk9rLCBzY2h1bGRpZywgZGFzIHdhciBlaW4gdmVyc2VoZW4gLCB3YXMgbWlyIHdpcmtsaWNoIGxlaWQgdHV0LCB1bmQgZGFzCmljaCBzaWNoZXIgbmljaHQgZ2VtYWNodCBoYWV0dGUsIHdlbm4gaWNoIG1pciBkZW4gU3BpZWxlciBhbmdlc2VoZW4gaGFldHRlCkFiZXIgZGF6dSBzcGFldGVyIG1laHIKCjI4LiBNYXIgMDM6NTkgSG9wcGxhKDEsMCkgL21hZ2llcjp0b3JmZHVlbmcgKGRpcmVrdCAhKSAodG9yZmR1ZW5nKQpzaWVoZSBvYmVuCgoyOC4gTWFyIDA0OjI4IEFtYXpvcmEoMTcsMzIpIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKVGVzdGkgdm9uIFNjaHJ1bXBmaQoKCjI4LiBNYXIgMDQ6NDQgS3JldHRvdCgxLDApIC9tYWdpZXI6dG9yZmR1ZW5nIChkaXJla3QgISkgKHRvcmZkdWVuZykKRWluIFp3ZWl0aSB2b24gS3JldGVrLCBkZXIgbnVyIGRhenUgZWluZ2Vsb2d0IHd1ZXJkZSwgdW0gZGllIG5ldWUKVG9kZXNzZXF1ZW56IHp1IHNlaGVuLCBmcmFnIGlobiBzZWxic3QsIEJvaW5nIEJ1bW0gVHNhY2hrLCAoU3RlbGx2ZXJ0cmV0ZW5kZXIKU2hlcmlmZiBpbSBNdWQgPykKCkFsbHNvIHVtIGRlciBnZWFuemVuIHNhY2hlIG1hbCBrbGFyaGVpdCB6dSB2ZXJsZWloZW4sIGRhcyB3YXIgYW4gZGVtIEFiZW5kCmFiZ2VnYW5nZW4gaXN0ICwgd2FlcmUgbmF0dWVybGljaCBnYW56IGFuZGVycyBhdXNnZWdhbmdlbiwgd2VubiBCb2luZyBCdW1tClRzY2hhayBwZXJzb2VubGljaCBkYXMgZ2VtYWNodCBoYWV0dGUsIGFiZXIgZGFzIHN0ZWh0IGphIHdvaGwgaGllciBuaWNodCB6dXIKRGlza3Vzc2lvbi4gTmFqYSAsIHNvd2FzIGhlaXN0IHdvaGwgJ0F1c2xlZ3VuZyBkZXIgUmVnZWxuJy4KRXJzdGF1bmxpY2hlcndlaXNlIGlzdCBkYXMgZWluZSBTYWNoZSBkaWUgaW1tZXIgdW5kIHVlYmVyYWxsIGZ1bmt0aW9uaWVydAp3ZW5uCm1hbiBhbSBEcnVlY2tlciBzaXR6dC4gRGFzIHdhcyBtaXQgTGF1cmluIHBhc3NpZXJ0IGlzdCB0dXQgbWlyIHdpcmtsaWNoIGxlaWQsCnVuZCB3ZW5uIGljaCBtaXIgTGF1cmluIHZvcmhlciBhbmdlZ3Vja3QgaGFldHRlLCBoYWV0dGUgaWNoIGlobiBzaWNoZXIgbmljaHQKZ2V6YXB0LiBUamEsIGxlaWRlciBpc3QgZGFzIG5pY2h0IGdlc2NoZWhlbi4gRG9jaCBhbmRlcmVyc2VpdHMgaGFiZSBpY2gKTGF1cmluCm1laHIgYWxzIDMgbWFsIGdld2FybnQgLi4sIHRqYSwgZXIgZGFzIG5hY2ggZWluIHBhcm1hbCBpZ25vcmllcnQgaGF0dGUsCmRhY2h0ZQppY2ggZGFzIGVzIGhhbHQgYXVjaCBlaW4gU3RlcmJlendlaXRpIHdhci4gTmFqYSAsIGVnYWwgLCBwYXNzaWVydCBpc3QKcGFzc2llcnQKdW5kIGljaCB3ZXJkIGRhZnVlciBidWVzc2VuLiBMdXN0aWcgbm9jaCB6dSBlcndhZWhuZW4gZGFzIEJlb2JhY2h0ZXIgLCBBbmF0b2wKYW5nZWdyaWZmZW4gaGF0ICggQmVvYmFjaGVyIGlzdCBkYWJlaSBkcmF1ZmdlZ2FuZ2VuICx3aWUgd2FyIGRhcyBnbGVpY2ggbm9jaAptaXQgIlVuZCB3ZWhlIGR1IGdyZWlmc3QgZWluZW4gU3BpZWxlciBhbiIgPykgLCB1bmQgbmljaHRtYWwgZWluIFdvcnQgdm9uCkJvaW5nCkJ1bW0gVHNjaGFjayBnZWhvZXJ0IGhhdC4gRWJlbnNvIFNjaHJ1bXBmaSAsIGRpZSB6dSBzaWNoIHp1IEJvaW5nIEJ1bW0KVHNjaGFjawpoaW50cmFuc2VuIG11c3N0ZSwgdW5kIGF1ZiBlaW5lbiBSdWVmZmVsIGJlc3RlaGVuIG11c3N0ZSAsIGJpcyBkaWVzZXIKdWViZXJoYXVwdCBhdXNnZXNwcm9jaGVuIHd1cmRlLiBCZWkgc293YXMgd2lyZCBlaW5lbSB2b2VybWxpY2ggZGVyIFZlcmRhY2h0CmF1ZmdlZHJhZW5ndCwgZGFzIG1hbCB3aWVkZXIgamVtYW5kIG5hY2ggZWluZW0gU3VlbmRlbmJvY2sgc3VjaHQuIFdhcyBhbiBkZXIKZ2FuemVuIHNhY2hlIGF1Y2ggbm9jaCB2b2VsbGlnIGRhbmViZW4gaXN0LCBpc3QgZGllIFRhdHNhY2hlLCBkYXMgQm9pbmcgQnVtbQpUc2NoYWNrIHNpY2ggbmljaHRtYWwgZGllIE11ZWhlIGdlbWFjaHQgaGF0ICwgbWl0IGFsbGVuIEJldGVpbGlndGVuIHp1CnNwcmVjaGVuLCBzb25kZXJuIGdsZWljaCBtaXQgc2VpbmVtIGdvZXR0bGljaGVuIFdvaGx3b2xsZW4gZHVyY2hnZWdyaWZmZW4KaGF0LgpXYXMgd2llZGVydW0gZGllIEZyYWdlIGF1ZmRyYWVuZ3QsIHdhcnVtIHdpciBlaW5nZWRsaWNoIGVpbmVuIFNoZXJpZmYgaGFiZW4uCk5pY2h0IGdlZ2VuIENhdHdlYXpsZSwgaWNoIGJpbiBzaWNoZXIgZGFzIGVyIHNlaW5lbiBKb2IgemllbWxpY2ggZ3V0IG1hY2h0LApudXIKbGVpZGVyIGlzdCBlciBuaWNodCBpbiBkZXIgUG9zaXRpb24gaW4gZGVyIGVyIHNlaWVuIHNvbGx0ZSwgdW0gaGllciB3aXJrbGljaApkZXIgU2hlcmlmZiB6dSBzZWluLiBXZW5uIGRhbm4gbXVlc3RlIGVyIGF1ZiBnbGVpY2hlciBzdHVmZSBhcmJlaXRlbiwgd2llIGRlcgpob2VjaHN0ZSBNYWdpZXIgaW0gTUcsIGRlc3dlZ2VuIGlzdCBlcyBlaWdlbmRsaWNoIHR1ZWRkZWxrcmFtLCBlaW5lbiBTaGVyaWZmCmltCk11ZCB6dSBoYWJlbiwgd2VubiBlcyBqZW1hbmRlbiBnaWJ0LCBkZXIgbWVociB6dSBzYWdlbiBoYXQsIHVuZCBkaWVzZXMgYXVjaApvaG5lIHp1IGhpbnRlcmZyYWdlbiBkdXJjaHNldHp0LCBzbyB3aWUgZXMgaWhtIGdlcmFkZSBpbiBkZW4gS3JhbSBwYXNzdC4KV2VubiBpY2ggZGFubiBhbiBzb2xjaGUgU2FjaGVuIGRlbmtlIHdpZSBkYXMgU2VoZXJoYXVzIHZvbiBLbGluZ2UsIHdpcmQKbWlyIGVpZ2VuZGxpY2ggc2Nob24gd2llZGVyIEFuZ3N0IHVuZCBCYW5nZSwgamVkZXIgaGF0IEJvaW5nIEJ1bW0gVHNjaGFyawphdWYgZGllIGtsZWluZSBTY2h1bHRlciBnZWtsb3BmdCwgYWxzIGVyIEtsaW5nZXMgU2VoZXJoYXVzIHVuc2ljaHRiYXIgZ2VtYWNodApoYXQsIHRqYSB1bmQgZGFzIHdhciBhdWNoIGVpbiBsdXN0aWdlciBTcGFzcywgdW5kIGFsbGUgaGFiZW4gZXJ6bGljaCBnZWxhY2h0LgpOdXIgLCBuZWhtZW4gd2lyIG1hbCBhbiAsIGRlciBTZWhlciB3YWVyZSBBc21vZGlzIGdld2VzZW4sIHVuZCBkZXIgTWFnaWVyCnpCLiBJY2guIFdhcyBkYW5uIG1pdCBoaWVyIGxvc2dld2VzZW4gd2FlcmUsIGthbm4gc2ljaCB3YXJzY2hlaW5saWNoIGplZGVyCnNlbGJzdCBhdXNtYWxlbi4gVGphLCBudXIga2VpbmVyIGhhdCBCb2luZyBCdW1tIFRzY2hhayBmdWVyCmRpZXNlcyB2ZXJnZWhlbiBnZWdlbiBkaWUgTWFnaWVycmVnZWxuIHp1IHZlcmFudHdvcnR1bmcgZ2V6b2dlbiwgdW5kIGVzIHdpcmQKYXVjaCBrZWluZXIgdHVoZW4uIEVzIHdhZXJlIGVpZ2VuZGxpY2ggbnVyIGdlcmVjaHQsIGF1Y2ggQm9pbmcgbWFsIHdpZWRlcgphbHMgU3BpZWxlciBydW1hdWZlbiB6dSBzZWhlbi4gQWJlciB3ZW5uIG1hbiBkYSBPYmVuIHNpdHp0LCB1bmQgZGllCm1vZWdsaWNoa2VpdCBoYXQsIGFsbGUgRmlsZXMgZGVzIE1HJ3MgYmVsaWViaWcgenUgbGVzZW4gdW5kIHp1IHNjaHJlaWViZW4sCndpcmQgbWFuLCB3ZW5uIG1hbiBuaWNodCB3aWxsLCBuaWUgZXJ3aXNjaHQgd2VyZGUuCkFiZXIgZGFzIEJzcC4gbWl0IEtsaW5nZSBmdWVocnQgenUgZGVtIFB1bmt0IGRhcyBMZXV0ZSwgZGllCnZvbiBlaW5lciBHcnVwcGUgaW0gTUcgbmljaHQgYWt0emVwdGllcnQgd2VyZGVuLCBmcmVpd2lsZCBzaW5kLgpXZW5uIG1hbiBkYW5uIGFscyBPcGZlciBpcmdlbmR3YW5uIGF1c2ZhbGxlbmQgd2lyZCwgd2VpbCBtYW4gZWggYWxsZWluZSBzdGVodApnZWdlbiBlaW5lbiB1ZWJlcm1lY2h0aWdlbiBnZWdlbmVyICwgaXN0IHdvaGwgbnVyIE1lbnNjaGxpY2guClNvIGlnbm9yYW50IHp1IHNlaW4sIGRhcyBHb2V0dGVyIGtlaW4gRHJlY2sgYW0gc3RlY2tlbiBoYWJlbiwga2FubiBoaWVyIGltCk11ZCB3b2hsIGtlaW5lciBzZWluLiBXZW5uIGljaCBtaWNoIGRhIG5vY2ggYW4gZGllIGxvY2tlcnVuZyBkZXIgTWFnaWVycmVnZWxuCmVyaW5uZXJlICwgYWxzIEhvYm8gbm9jaCBTcGllbGVyIHdhciwgZ2VsbCBUc2NoYWsgPyA6KQoKVGphLCBkYW1pdCBoYWV0dGUgaWNoIHdvaGwgZGFzIG1laXN0ZSBnZXNhZ3QsIHVuZCBlaW5lbiBzdXBlcmxhbmdlbiB1bmQKd2Fyc2NoZWlubGljaCBmdWVyIGRpZSBtZWlzdGVuLCBzdXBlcmxhbmd3ZWlsaWdlbiBhcnRpa2VsIHZlcm9lZmZlbmRsaWNoCgpNYW4gbXVzcyBzaWNoIGVyc3RtYWwgc2VsYmVyIGxvYmVuLApiZXZvciBkaWUgb2JlbiB3aWVkZXIgdG9iZW4gLi4uCgp6dW0gc2NobHVzcyBub2NoIGVpbiBwYWFyIHN0YXRlbWFudHMgZGVyIGJldGVpbGlndGVuIC4uLgoKCj4gTXVwZmVsIHNhZ3Q6IGtsYXIuLi4gZGFzIHdhciBlaW4gaGVpZGVuc3Bhc3MKPktyZXR0b3Qgc2FndDogVG9yZmR1ZW5nIGJpdHRlIFphcCBtaWNoLCBpY2ggd2lsbCBkaWUgVG9kZXNzZXF1ZW56IHNlaGVuCj4gQW5hdG9sIHNhZ3Q6IEljaCBoYXR0ZSBhdWNoIG1laW5lbiBzcGFzcwo+IFNjaHJ1bXBmaSBzYWd0OiBNaXN0IFRvcmZpLCBkdSB3YXJzdCBzY2huZWxsZXIgbWl0IHphcCBhbHMgaWNoIDopCj5Bc21vZGlzIHRlaWx0IERpciBtaXQ6IGRhcyAna251ZGRsZSBhbGxlJyBpc3QgbWlyIGVpZ2VudGxpY2ggYXVjaCBudXIgaW5zCj5Bc21vZGlzIHRlaWx0IERpciBtaXQ6IGZhbHNjaGUgZmVuc3RlciBnZXJ1dHNjaAo+IEFzbW9kaXMgdGVpbHQgRGlyIG1pdDogLi4uLi4gIGRhc3MgaWNoIGRpciAnZXJsYXVidCcgaGF0dGUsCj5Bc21vZGlzIHRlaWx0IERpciBtaXQ6IGJlb2JhY2h0ZXIgenUgemFwcGVuIHVuZCBkYXNzIGRhcyBtaXQgbGF1cmluIGVpbgo+QXNtb2RpcyB0ZWlsdCBEaXIgbWl0OiB2ZXJzZWhlbiB3YXIgLSBiZWlkZXJzZWl0cwoKVGphLCBhbnNjaGVpbmVkIGhhdCBlcyBhbGxlbiBzcGFzcyBnZW1hY2h0LCB1bmQgYmVpIHdlaXRlbSBuaWNodCBzbyB2aWVsCmF1c3NnZW1hY2h0LCB3aWUgZWluaWdlIGRhcyBoaWVyIGhlcmF1ZmJlc2Nod29lcmVuIHdvbGxlbiwgd29yaW4gbWFuIG1hbAp3aWVkZXIgc2llaHQsIGRhcyBpcmdlbmRlaW4gU2Vzc2VscHVwZXIgYXVzZ2VyYXN0ZXQgaXN0IGRlciBuaWNodHMgdm9uCmRlbiBMZXV0ZW4gaG9lcmVuIHdvbGx0ZSwgdW5kIHNpY2ggTklDSFRNQUwgZ2VmcmFndCBoYXQgd2FzIGRhIHVlYmVyaGF1cHQKYWJnZWdhbmdlbiBpc3QuLi4uCgppbiBkaWVzZW0gc2lubmFlCgpURAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvc3QgZnVlciBUb3JmIChUb3JmZHVlbmcsICA0LiBBcHIgMTk5NSwgMDA6NTA6MTEpOgpQb3N0IGZ1ZXIgVG9yZiAoVG9yZmR1ZW5nLCAgMy4gQXByIDE5OTUsIDIzOjI0OjE0KToKID5DYzogRnJhdW5lQG1hdGgudW5pLW11ZW5zdGVyLmRlLCBcam9mLCBCb2luZywgUnVtYXRhLCBMZW9AZmlyc3QuZ21kLmRlLAogPkZyZXVuZCwKID5IaWdobGFuZGVyLCBCb2htQHNhbnRhbmEudW5pLW11ZW5zdGVyLmRlLCBSb2NodXMsIENhdHdlYXpsZSwgV2FyZ29uCiA+RGF0dW06IE1vbiwgIDMuIEFwciAxOTk1LCAxMzo1NjoxMQogPlRpdGVsOiA4IFRhZ2UKID5TY2hsZWNodGUgTmFjaHJpY2h0LCBUb3JmZHVlbmcuCiA+RXJzdGVucyBzaW5kIGxhdXQgQm9pbmcgZGUgOCBUYWdlIG5vY2ggbmljaHQgdW0sIHNvbmRlcm4gZXJzdCBhbQogPjUuNC4gYWJlbmRzLCB1bmQgendlaXRlbnMgaXN0IGVzIGdhbnogc2NobGVjaHRlciBTdGlsLAogPmlobiBpbiBkZW0gVG9uIGFuenVyZWRlbi4KCkd1dCBnZWJydWVsbHQgTG9ld2UsIGFiZXIgaWNoIGdsYXViZSBrYXVtLCBtaXQgdmVybGF1YiwgZGFzIGR1IGluIGRlciBMYWdlCmRhIHp1IGRpZmZlcmVuemllcmVuLiBEdSB3aXJzdCBuaWNodG1hbCBkaXIgdm9yZ2VzY2hpY2h0ZSBrZW5uZW4sIGFsbHNvCmthbm4gbWFuIGRpciBkZXN3ZWdlbiBrZWluZW4gdm9yd3VyZiBtYWNoZW4uLi4KCgogPlVtIERpciBaZWl0IHp1IGdlYmVuLCBEZWluIFZlcmhhbHRlbiBtYWwKID56dSB1ZWJlcmRlbmtlbiwgaGFiZW4gd2lyIChkaWUgaW0gTW9tZW50IGFud2VzZW5kZW4gRU1zKQogPkRpciBub2NoIHp3ZWkgVGFnZSB6dWdlc3RhbmRlbiwgZGllcyBpbiBSdWhlIHVuZCBvaG5lIERvY2gKID5pY2ggdW0KID5Db2RlcHJvYmxlbWUga3VlbW1lcm4genUgbXVlc3NlbiwgenUgdHVuLgoKV2VubiBkdSBkYW1pdCBiZXp3ZWNrZW4gd2lsbHN0LCBkYXMgaWNoIHZvciBpcmdlbmR3ZWxjaGVuIEVNJ3MgaGllcgpTdGllZmVsbGVja2UsIGhhYnQgaWhyIGRhbWl0IHdvaGwgZWhyIGRlbiBuZWdhdGl2ZW4gZWZmZWt0IGF1c2dlbG9lc3QuCkhtbSAsIHdhcnVtIGtvbW0gaWNoIG51ciBkYXJhdWYsIGRhcyBkZXIgZmVobGVyIGJlaSBtaXIgbGVpZ3QuCklociBkZW5rdCBqYSBuaWNodG1hbCBkcmFuIGV1ZXIgVmVyaGFsdGVuIHp1IHJlZmxla3RpZXJlbi4uLgpBYmVyIG5hY2hkZW0gd2FzIGhpZXIgYWJnZWdhbmdlbiBpc3QgLCBpc3QgZGFzIGdsYXViaWNoIG51ciB6dSB2ZXJzdGFlbmRsaWNoCmRhcyBtYW4gbWFsIHNlaW5lIG5ldHRlIGZhc2FkZSB2ZXJsaWVydCAuLi4gOikKCiA+SW0gS2xhcnRleHQ6IFZlcmxhZW5nZXJ1bmcgZGVyIG5pY2h0LU1hZ2llci1aZWl0IGJpcyBGcmVpdGFnIGFiZW5kLgogPlNhZ2VuIHdpciBtYWwgMTgwMCwgZGFtaXQgZWluIGZlc3RlciBaZWl0cHVua3QgZGEgaXN0LCBhYiBkZW0gRHUgRGljaAogPmFuIGVpbmVuIEVNIHdlbmRlbiBrYW5uc3QsIHVtIGRhcyBydWVja2dhZW5naWcgenUKID5tYWNoZW4uCgpEYXMgaXN0IGphIHdvaGwgZGFzIGxhZWNoZXJsaWNoc3RlIHdhcyBpY2ggamUgZ2Vob2VydCBoYWJlLiBEYXMgaWNoIG1pY2gKYW4gZWluZW4gRU0gd2VuZGVuIHNvbGwsIHVuZCBpaG4gYW5iZXR0ZWxuIHNvbGwgbWljaCB3aWVkZXIgenVtIE1hZ2llciB6dQptYWNoZW4uIFdpZSB3YWVycyBkZW5uICx3ZW5uIGljaCBldWNoIHZvcmhlciBub2NoIFp1Y2tlciBpbiBkZW4gSGludGVybgpibGFzZSA/IERhbWl0IGlociBtZWluZXIgenVuZWlndW5nIGF1Y2ggc2ljaGVyIHNlaXQuLi4KQWxsc28gZGFzIGtvZW5udCBpaHIgd29obCB2ZXJnZXNzZW4KCgogPkltIEF1ZnRyYWcgZGVyIE1HQy9NRyAobmVpbiwgbnVyIHVtIGt1bmR6dXR1biwgZGFzcyBkYXMgbmljaHQgZGVyIGJvZXNlCiA+Qm9pbmcKID5pc3QsIGRlYW4gYWxsZW0gc2NodWxkIGlzdCkKID4gICBIaWdobGFuZGVyIHJ5biBUYWhhcgoKQWhhLCB3YXMgYWxsc28gaGVpc3NlbiBzb2xsLCBkYXMgbWFsIHdpZWRlciBhbGxlIGVpbmVyIE1laW51bmcgc2luZCBoaWVyCmplbWFuZGVuIHp1IHNjaG5laWRlbgoKCnVuZCBtaXQgZGVuIFdvcnRlbiB2b24gQm9pbmcgQnVtbSBUc2NoYWNrIHp1IHNwcmVjaGVuIDoKCnRtIGJvaW5nIGRhbWl0IGlzdCB3b2hsIGRlciBnZXJlY2h0aWdrZWl0IGdlbnVlZ2UgZ2V0YWhlbiAuCgo+Qm9pbmcgdGVpbHQgRGlyIG1pdDogTGFiZXIgbmljaHQgcnVtCgoKaW4gZGllc2VtIHNpbmFlOgpMYWJlcnQgbmljaHQgcnVtICEKClRECgoKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXRpa2VsIChUb3JmZHVlbmcsICA0LiBBcHIgMTk5NSwgMDE6Mjg6NTUpOgpUamEsIGhpZXIgbm9jaCBlaW4gTmFjaHRyYWcgdm9uIEd1ciA6CgoKR3VyIHRlaWx0IERpciBtaXQ6ICB3YXIgZWhlciB1ZWJlciBkZWluZSBEZWdyYWRpZXJ1bmcgZXJzY2h1ZXR0ZXJ0LApHdXIgdGVpbHQgRGlyIG1pdDogZGVubiBlcyB3YXIgZWluZSBsdXN0aWdlIG5hY2h0LCBpY2ggd29sbHRlIG1hbCBzZWhlbiwgd2llCkd1ciB0ZWlsdCBEaXIgbWl0OiBkYXMgaXN0LCBnZXphcHB0IHp1IHdlcmRlbi4uLgpHdXIgdGVpbHQgRGlyIG1pdDogbWVya3d1ZXJkaWcgZmFuZCBpY2ggbnVyLCBkYXNzIGR1IHp3YXIgZGVncmFkaWVydCB3dXJkZXN0LApHdXIgdGVpbHQgRGlyIG1pdDogYWJlciBrZWluIE1hZyBzaWNoIGRpZSBBcmJlaXQgZ2VtYWNodCBoYXQsIG1hbCBiZWkgZGVuCkd1ciB0ZWlsdCBEaXIgbWl0OiBhbmdlYmxpY2hlbiAiT3BmZXJuIiB6dSBlcmt1bmRpZ2VuIHVuZCBpaG5lbiB3aWVkZXIgZGllIEVQCkd1ciB0ZWlsdCBEaXIgbWl0OiB6dSBnZWJlbi4uLgoKCgpURAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF0aWtlbCAoVG9zcywgIDQuIEFwciAxOTk1LCAwMTo0NDo1MSk6CiMhIHJuPVRvcmZkdWVuZyBydD03OTY5NTE3MzUKQXJnbC4KClNvLCBudW4gd2Vpc3MgYXVjaCBkZXIgbGV0enRlIGltIE11ZCB1ZWJlciBkaWVzZSBTYWNoZSBCZXNjaGVpZC4gQWxzIGljaApEZWluZW4gZXJzdGVuIEFydGlrZWwgenUgZGllc2VtIFRoZW1hIGxhcywgaG9mZnRlIGljaCBub2NoLCBkaXIgc2VpIGVpbiBtYWlsCnZlcnNlaGVudGxpY2ggaW4gZGllIHplaXR1bmcgZ2VydXRzY2h0LiBBYmVyIG9mZmVuc2ljaHRsaWNoIG11c3N0IER1IGhpZXIKRXVyZW4gU3RyZWl0CmluIGFsbGVyIG9lZmZlbnRsaWNoa2VpdCBhdXN0cmFnZW4uIFRvcmYsIER1IHdlaXNzdCBkYXNzIGljaCBEaWNoIGhpZXIgaW0gTXVkCmdlcm5lIG1hZywgYWJlciBkaWVzZSBBa3Rpb24gZmluZGUgaWNoIGV4dHJlbSBkYW5lYmVuLiBJY2ggaGFldHRlIERlaW5lClJlYWt0aW9uCnNvZ2FyIHVlYmVydHJpZWJlbiBnZWZ1bmRlbiwgd2VubiBzaWUgaW4gbWFnaWVyLm1hZ2llciBnZXN0YW5kZW4gaGFldHRlLCBhYmVyCmZ1ZXIgYWxsZSBTcGllbGVyIG9lZmZlbnRsaWNoIGluIGRlciBaZWl0dW5nID8gRGFzIG11c3MgbmljaHQgc2Vpbi4KU292aWVsIG51ciB6dW0gU3RpbCBkaWVzZXIgdmVyb2VmZmVudGxpY2h1bmcuIFp1ciBTYWNoZSBzZWxic3QgbnVyIHNvdmllbDogMS4KV2Vpc3MgaWNoIGF1cyBkZW4gbGV0enRlbiBEaXNrdXNzaW9uZW4gaW4gZGVyIHplaXR1bmcsIGRhc3Mgd2VubiB6d2VpIHNpY2gKc3RyZWl0ZW4gc2llIGltbWVyIGF1Y2ggZWluZSBlaWdlbmUgVmVyc2lvbiB2b20gR2VzY2hlaGVlbiBoYWJlbi4gVW5kIGRhdm9uCmdlaGUgaWNoIGF1Y2ggaGllciBtYWwgYXVzLgpBdXMgZGVuIHZvbiBEaXIgdmVyb2VmZmVudGxpY2h0ZW4gZmFjdHMgc2VoZSBpY2ggamVkb2NoIGVpbmVzOiBEdSBoYXN0IGluCnppZW1saWNoIGt1cnplbiBBYnN0YWVuZGVuIFNwaWVsZXIgZ2V6YXBwdCwgdW5kIGRhbWl0IGdhbnoga2xhciBnZWdlbiBkZW4KTWFnaWVyLQpWZXJ0cmFnIHZlcnN0b3NzZW4gLSB1bmQgZWluZSBBYnN0dWZ1bmcgenVtIFNwaWVsZXIgZnVlciBsYWVjaGVybGljaGUgOCB0YWdlCmZpbmRlIGljaCBkYSBzY2hvbiB6aWVtbGljaCBtaWxkZSwgaWNoIGhhZXR0ZSBkYW1pdCBnZXJlY2huZXQsIGRhc3MgbWFuIGRhCmhhZXJ0ZXIgYmVzdHJhZnQgd2lyZC4KT2IgZGllIFNwaWVsZXIsIGRpZSBnZXphcHB0IHd1cmRlbiwgZXR3YXMgZGFnZWdlbiBoYXR0ZW4sIGlzdCBoaWVyIHdvaGwKdW5lcmhlYmxpY2gsIG9kZXIgbmljaHQgPyBXZW5uIEtyZXRlayBzaWNoIGRpZSBuZXVlIFRvZGVzc2VxdWVueiBhbnNlaGVuIHdpbGwsCmdpYnRzIHdhaHJsaWNoIGJlc3NlcmUgV2VnZSwgdW0gZGFzIHp1IGVycmVpY2hlbi4gVW5kIHdlbm4gRGljaCBTcGllbGVyCmFuYmV0dGVsbiwgZGFzcwpzaWUgdW5iZWRpbmd0IG1hbCBnZXphcHB0IHdlcmRlbiB3b2xsZW4sIGRhbm4gc2FnIGlobmVuIGhhbHQsIGRhcyBnaWJ0cwpuaWNodC4gVW5kIHdlbm4gc2llIGRhbm4gd2VpdGVyYmV0dGVsbiwgc2V0emUgc2llIGF1ZiBpZ25vcmllcmUuIFVuZCB3ZW5uIER1CnNpZSB0cm90emRlbSB6YXBwc3QsIGlzdCBkYXMgc2NobGljaHQgRGVpbmUgU2FjaGUsIHVuZCBmdWVyIGRpZSBtdXNzIG1hbgplaW5zdGVoZW4uClVuZCBuaWNodCBoaW50ZXJoZXIgZGVuIHVuc2NodWxkaWdlbiBzcGllbGVuLCB1bmQgZXMgZGFubiBub2NoIGF1ZiBkaWVzZQpXZWlzZSBpbiBkaWUgT2VmZmVudGxpY2hrZWl0IHRyYWdlbi4KClJ5bmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmbGFtaW5nIC0gYWNoIGlzdCBkYXMgc2Nob2VuIChHdXIsICA0LiBBcHIgMTk5NSwgMDI6MzA6MjQpOgpIaSBpaHIncyBhbGxlLAppY2ggZ2ViZSBhYiB1bmQgenUgSW5mb3ZlcmFuc3RhbHR1bmdlbiBpbSBSTCB1ZWJlciBkYXMgSW50ZXJuZXQuLi4gZ29waGVyLApXV1csIE1haWxpbmctTGlzdHMgdW5kIHNvLi4uCmRhIGVyemFlaGxlIGljaCBhdWNoIGltbWVyIHdhcyB1ZWJlciBkaWUgTmV0aXF1ZXR0ZS4gQWxzIEJlaXNwaWVsIHZvbiBGbGFtaW5nCmVyemFlaGxlIGljaCBpbW1lciB2b24gZWluZW0gTXVkLCBpbiBkZW0gaWNoIG1pY2ggYXVjaCBhYiB1bmQgenUgcnVtdHJlaWJlLi4uClNvbGx0ZSBkYXMgamV0enQgamVtYW5kZW0gcGVpbmxpY2ggc2VpbjogZXMgbGllZ3QgYW4gdW5zLCBkYXMgenUgYWVuZGVybi4KU29sbHRlIGVzIGplbWFuZGVuIGpldHp0IG51ciBTY2h1bHRlcnp1Y2tlbiBoZXJ2b3JydWZlbiwgZGFubiBmcmV1ZSBpY2ggbWljaCwKZGFzcyBpY2ggd2VpdGVyaGluIHNvIHBsYXN0aXNjaGUgQmVpc3BpZWxlIGhhYmUuClp1bSBrb25rcmV0ZW4gRmFsbDoKZXMgd2FyIGVpbmUgTmFjaHQsIHZpZWxlIGltIE11ZCB3YXJlbiAiZ3V0IGRyYXVmIiBpbmNsLiBtaXIgaW0gUkwsIGRlciBzaWNoCmFtIFJvdHdlaW4gbGFidGUsCnVlYmVyIGRpZSBBbGxnZW1laW4gRWJlbmUgdG9lbnRlIFRELCBlciB3dWVyZGUgamVkZW4gemFwcGVuLCBkZXIgaWhuIGtudWRkZWxuCnd1ZXJkZS4uLgpuYWNoZGVtIGljaCBzY2hvbiBpbW1lciBnZXNwYW5udCB3YXIsIHdpZSBkYXMgc28gdm9yIHNpY2ggZ2VodCwgcmllZiBpY2ggbWl0Cm1laW5lbSBad2VpdGllOiB0dSdzIGRvY2guLi4KdW5kIGVyIHRhdCdzICh3aWUgZXJob2ZmdCksIGljaCBoYXR0ZSBhYmVyIGxlaWRlciBuaWNodCBzbyBkaWUgWmVpdCwgbWljaApkYW1pdCB6dSBiZXNjaGFlZnRpZ2VuLCB3ZWlsIG1laW4gRXJzdGllIGluIGRlbiBQeXJhbWlkZW4gZ2VyYWRlIGV0d2FzClplaXRwcm9ibGVtZSBiZWthbS4uLgpvYiBSeW5lcyBUaXAgKGRlbiBpY2ggamEgdWViZXIgYWxsZXMgbGllYmUgW2RhIGpldHp0IExpZWJlc2JlemV1Z3VuZ2VuIGluCnNpbmRdIFNwYXNzIGJlaXNlaXRlLCBvaG5lIGlobiAuLi4gdW5kIHNvKSBkYW5uIGVpbmZhY2ggbWl0OiAiaWNoIG1hY2gncwpuaWNodCwgd2VpbCBpY2gncyBuaWNodCBkYXJmIiBzbyB0cgogdHJhZWd0IChzY2hlaXNzLUVkaXRvcikgd2Vpc3MgaWNoIG5pY2h0OiBnZW5hdXNvIHdpZSBpY2ggYWxzIFNwaWVsZXIgamVkZW4KU2NoZWlzcyBhdXNwcm9iaWVyZSAodW5kIGVudHNwcmVjaGVuZCBvZnQgZHJhdWZnZWhlKSwgZ2VzdGVoZSBpY2ggamVkZW0gTWFnCnp1LCBhbGxlcyBhdXN6dXByb2JpZXJlbiAod2VubiBlcyBpbiBtZWluZW0gU2lubmUgaXN0IHVuZCBpY2ggZGFydWViZXJoaW5hdXMKU3Bhc3MgZGFiZWkgaGFiZS4uLikKYWxzbyBndXQsIGVzIHdhciBzbywga3VyeiBkYXJhdWYgZXJmYWhyZSBpY2gsIGVyIGlzdCBkZWdhcmRpZXJ0IHdvcmRlbi4KTmljaHQgenVsZXR6dCB3ZWdlbiBtaXIgYWxzIEJldHJvZmZlbmVuLiBEYSBkYWNodGUgaWNoIGVpZ2VudGxpY2ggc2Nob24sIGRhc3MKc2ljaCBtYWwgZWluIE1hZyBiZWkgbWlyIHJ1ZWhyZW4gd2lyZCB1bSBlaW5lcnNlaXRzIG1hbCB6dSBrbGFlcmVuLCB3YXMgZGVubgpkYSBlaWdlbnRsaWNoIHdhciwKYnp3LiB1bSBtaXIgZGVuIFNjaGFkZW4gaW4gaXJnZW5kZWluZXIgRm9ybSB3aWVkZXJ6dWVyc3RhdHRlbiAod2FzIGljaCAtIHdlbm4KaWNoIGVocmxpY2ggYmluIC0gYWJnZWxlaG50IGhhZXR0ZSwgZGEgZXMgZWluIFNwYXNzIHdhciB1bmQgaWNoIGR1bW1lcndlaXNlCmVpbiBad2VpdGllIGJpbiwgZGVtIGRlciBFcnN0aWUgbnVyIGRhcyBMZWJlbiBzY2h3ZXIgbWFjaHQpLgpBbHNvIHdpZSBpbSBSTDogbWFuIHNwZXJydCBWZXJicmVjaGVyIGVpbiwgZGllIE9wZmVyIGtvZW5uZW4gYWJlciBzY2hhdWVuIHdvCnNpZSBibGVpYmVuIChzZWxiZXIgU2NodWxkLCBkYXNzIHNpZSBPcGZlciBnZXdvcmRlbiBzaW5kKS4uLgpJcmdlbmR3aWUgYmxlaWJ0IGRhcyBHZXNjaGVoZW4gdW0gVEQgS2xvcGFyb2xlIChvZGVyIGxpZWd0IGVzIG51ciBkYXJhbiwgZGFzcwpkaWUgQXJ0aWtlbCB1bSBkZW4gIkZhbGwiIGluIFJ1YnJpa2VuIHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4sIGFuIGRpZSBub3JtYWxlClNwaWVsZXIgbmljaHQgZHJhbmtvbW1lbi4uLgpURCBoYXQgbnVuIGRlbiBXZWcgZGVyIE9lZmZlbnRsaWNoa2VpdCBnZXdhZWhsdCB1bmQgYWxsZSBCcmllZmUgZGF6dQpnZXBvc3RldC4uLgpJY2ggaGFiZSBpaG0gc2Nob24gcGVyc29lbmxpY2ggZ2VzYWd0LCBkYXNzIGljaCBkYXMgbmljaHQgZ3V0IGZpbmRlICh2Z2wuCkVpbmxlaXR1bmcgdWViZXIgZmxhbWluZyksIGFiZXIgZnVlciBpaG4gdmllbGxlaWNodCBkZW4gZWluemlnZW4gV2VnCmRhcnN0ZWxsdGUsIG1hbCBkYXMgb2VmZmVudGxpY2ggenUgZXJrbGFlcmVuLCB3YXMgZGVubiBkYSBlaWdlbnRsaWNoIHBhc3NpZXJ0CmlzdCAodW5kIG5pY2h0IG51ciB1ZWJlcgoiV2FzIGlzdCBlaWdlbnRsaWNoIG1pdCBURD8iIGhpbnRlciB2b3JnZWhhbHRlbmVyIEhhbmQuCkRpZSBCcmllZmUgKHYuYSBkZW4gendlaXRlbiBtaXQgZGVyICJWZXJsYWVuZ2VydW5nIikgZmluZGUgaWNoIGJlc2NoaXNzZW4sCnNlaW4gS29tbWVudGFyIGRhenUgZWJlbnNvLiBUc2NodWxkaWd1bmcuCldpZSBhbHQgaXN0IGVpZ2VudGxpY2ggZGFzIE1pbmRlc3RhbHRlciBpbSBNRz8gV2VubiBtYW4gamVtYW5kZW4gYmVzdHJhZmVuCndpbGwsIGRhbm4gc2FndCBtYW4gZGFzcyBkZXV0bGljaCB1bmQgb2huZSBhbGxlIFVtc2Nod2VpZmU6IHdpciB3b2xsZW4gZGljaApub2NoIGJlc3RyYWZlbi4uLgppcmdlbmR3ZWxjaGUgU3VlbHplIHZvbiAid2lyIHdvbGxlbiBkaXIgamEgbnVyIGhlbGZlbiB6dXIgYmVzaW5udW5nIHp1CmtvbW1lbiIgaXN0IHZvZWxsaWcgZGFuZWJlbiAoZW50c2NodWxkaWd0IG1laW5lbiBoYXJ0ZW4gdG9uLCBhYmVyIGdlcmFkZSBkYXNzCndpcmQgbWlyIGluIG1laW5lbSBCZXJ1ZiBpbSBSTCBpbW1lciB2b3JnZXdvcmZlbiAtIGJpbiBzZWhyIHNlbnNpYmVsIGF1ZgpkaWVzZW0gR2ViaWV0Li4uKQpnZW5hdXNvIGlzdCBURCAiVmVydWxrdW5nIiB2b24gQm9pbmdzIE5hbWVuIHZpZWxsZWljaHQgbmljaHQgc28gd2l0emlnLCB3aWUKZXIgZXMgZGVua3QuLi4KTWVpbiBWb3JzY2hsYWcgd2FlcmU6CnZpZWxsZWljaHQgbWFsIGF1ZmVpbmFuZGVyIHp1IGhvZXJlbi4uLiBtYWwgbWl0IFREIHdpZWRlciBkaXJla3QgenUgc3ByZWNoZW4KKGhhYmUgaWNoIHZvcmhpbiBnZXRhbiwgaXN0LiB6LkIuIHNlaHIgaW50ZXJlc3NhbnQsIHdhcyBlciBnZWdlbidzIEtudWRkZWxuCmhhdC4uLiB2aWVsbGVpY2h0IGlzdCBlciBkb2NoIG5pY2h0IGRhcyBNb25zdGVyIG9kZXIgdGF1Z3QgZnVlciBkZW4gbmFlY2hzdGVuCk5QQywgdmllbGxlaWNodCBrYW5uIG1hbiBkb2NoIG1pdCBpaG0gcmVkZW4gdW5kIGRpc2t1dGllcmVuIChzdGF0dCBzaWNoIG1haWxzCnp1IHNjaGlja2VuLCB3byBkZXIgYW5kZXJlIHNpY2ggbmljaHQgd2VocmVuIGthbm4pCld1ZXJkZSBtaWNoIHNlaHIgZnJldWVuLCB3ZW5uIHNpY2ggZGFzIGdhbnplIHdpZWRlciBmdWVyICoqKmJlaWRlKiBTZWl0ZW4KZWlucmVua3QuLi4KR3VyL01pcm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmbGFtaW5nIC0gYWNoIGlzdCBkYXMgc2Nob2VuIChBY3JpbW9uLCAgNC4gQXByIDE5OTUsIDA0OjE1OjEzKToKIyEgcm49R3VyIHJ0PTc5Njk1NTQyNApIb2ZmZW50bGljaCBsb2VzdCBzaWNoIGRpZSBTYWNoZSBiYWxkIGluIFdvaGxnZWZhbGxlbiBhdWYuCgpJY2ggYmluIGRlciBNZWludW5nLCBkYXN6IFRvcmZkdWVuZyBrZWluZSBncm9zemUgU2NodWxkIHRyaWZmdC4gV29obCwgZXIgaGF0ClNwaWVsZXIgZ2V6YXBwdCwgYWJlciBkYXMgd2FyZW4gYWxsZXMgWndlaXRpZXMsIGRpZSBnZXphcHQgd2VyZGVuIHdvbGx0ZW47IHVuZAp3ZW5uIGRhcyB2aWVsbGVpY2h0IGFuIGRlbiBSZWdlbG4gdm9yYmVpZ2luZywgc28gaGF0IGVzIGRvY2gga2VpbmVuIFNjaGFkZW4KYW5nZXJpY2h0ZXQgdW5kIGlzdCBzb21pdCBob2VjaHN0ZW5zIGVpbmUgVmVyd2Fybi1TdHJhZmUgd2VydCwgYWJlciBnYXJhbnRpZXJ0Cm5pY2h0IG1laHIuCkRhcyBtaXQgTGF1cmluIHdhciB3b2hsIGVpbiBiZWlkZXJzZWl0aWdlcyBNaXN6dmVyc3RhZW5kbmlzLCBkYXMgd2VkZXIgYXVmClRvcmZkdWVuZyBub2NoIGF1ZiBMYXVyaW4gZ3Jvc3plIFNjaHVsZCBsYWVkdGRhIFRvcmZkdWVuZyBnZW1laW50IGhhdCwgTGF1cmluCndhZXJlIGVpbiBad2VpdGllLCBkZXIgZ2V6YXBwdCB3ZXJkZW4gd29sbHRlLCB1bmQgTGF1cmluIGVpbmZhY2ggbnVyIC10cm90egpXYXJudW5nZW4gc2VpdGVucyBUb3JmZHVlbmctIGlobiBrbnVkZGVsbiB3b2xsdGUuIExhdXJpbiB0cmlmZnQgc2ljaGVybGljaAphdWNoIGtlaW5lIFNjaHVsZCwgd2VpbCBlcyBvZnQgenUgc2Nod2VyIGlzdCwgTWlzenZlcnN0YWVuZG5pc3NlbiBhdXMgZGVtIFdlZwp6dSBnZWhlbi4KSGllciBpc3QgbGVpZGVyIFNjaGFkZW4gZW50c3RhbmRlbi4KCldhcyBtYWNodCBtYW4sIHdlbm4gU2NoYWRlbiBlbnRzdGFuZGVuIGlzdCB1bmQga2VpbmVyIHNjaHVsZCBoYXQ/Ck1hbiBiZWhlYnQgZGVuIFNjaGFkZW4sIHVuZCBldmVudHVlbGwgdmVyd2Vpc3QgbWFuIGRpZSBCZXRlaWxpZ3RlbiBhdWYgV2VnZSwKaW4gWnVrdW5mdCBzb2xjaGUgU2l0dWF0aW9uZW4genUgdmVybWVpZGVuLgoKT2IgZGFzIHRhdHNhZWNobGljaCBzbyBnZXRhbiB3dXJkZSwgd2Vpc3ogaWNoIG5pY2h0LiBXZW5uIExhdXJpbiBzZWluZSBFUApub2NoIG5pY2h0IHdpZWRlciB6dXJ1ZWNrYmVrb21tZW4gaGFldHRlLCBkYW5uIHNvbGx0ZSBtYW4gZGFzIHNjaGxldW5pZ3N0IHR1bi4KVW5kIHdlbm4gVG9yZmR1ZW5nIDggVGFnZSBsYW5nIHp1bSBTcGllbGVyIHp1cnVlY2tnZXN0dWZ0IHdpcmQgdW5kCmFuc2NobGllc3plbmQgenVtIEVNIGJldHRlbG4gbXVzeiwgZGFubiBpc3QgZGFzIGVpbmUgaGFydGUgU3RyYWZlLgoKQWJlciBiZWRlbmtlLCBUb3JmZHVlbmc6IERpZSBTdHJhZmUgaXN0IHZpZWxsZWljaHQgdW5nZXJlY2h0LCBhYmVyIDggVGFnZQpsYXNzZW4gc2ljaCBqYSBub2NoIGFic2l0emVuLgpEaWUgU3RyYWZlIGlzdCB3b2hsIGhhcnQsIGFiZXIgVmVyaGFuZGx1bmdlbiBzaW5kIG1laXN0ZW5zIG5vY2ggaGFlcnRlci4KVW5kIHp1bSBFcnptYWdpZXIgbXVzenQgZHUgd29obCBudXIgZGVzaGFsYiBrb21tZW4sIHdlaWwgZGllIFp1cnVlY2tzdHVmdW5nCmF1ZiBkZWluZW4gdm9yaGVyaWdlbiBNYWdpZXJsZXZlbCB0ZWNobmlzY2ggZ2FyIG5pY2h0IGFuZGVycyBtb2VnbGljaCBpc3QuIE51cgpFcnptYWdpZXIgaGFiZW4gWnVncmlmZiBhdWYgZGllIG5vZXRpZ2VuIEZpbGVzLgoKVW5kIGlociBFcnptYWdpZXIgdW5kIEdvZXR0ZXI6IFZvbiBkZXIgU2FjaGUgd3VyZGUgc2Nob24gZ2VudWcgQXVmaGViZW5zCmdlbWFjaHQuClZlcmxhZW5nZXJ0IGRpZSBaZWl0IG5pY2h0IG5vY2ggZWlubWFsLCB1bmQgbmVobXQgVG9yZmR1ZW5nIHdpZWRlciBhdWYsCnNvYmFsZCBkaWUgWmVpdCB1bSBpc3QuIFN0ZWxsdCBpaG0ga2VpbmUgdW5ub2V0aWdlbiBvZGVyIGxhZXN0aWdlbiBGcmFnZW4sIGF1cwpSdWVja3NpY2h0IGF1ZiBUb3JmZHVlbmcgdW5kIHVuc2VyZSBOZXJ2ZW4uCgpEYW5rZSBhbiBldWNoIGFsbGUuCgpTb2xjaGUgU2FjaGVuIHBhc3NpZXJlbiBudW4gZWlubWFsLCBtYW4ga2FubiBzaWUgbmljaHQgdW5nZXNjaGVoZW4gbWFjaGVuLAphYmVyIG1hbiBrYW5uIHVlYmVyIFZpZWxlcyBoaW53ZWdzZWhlbi4KQWxsenV2aWVsIEdlcmVjaHRpZ2tlaXQgaXN0IGluIGRlbiBtZWlzdGVuIEZhZWxsZW4gdW5nZXN1bmQsIHdlaWwgdW5tb2VnbGljaC4KU2llIHNjaGFkZXQgZGFubiBudXIgbm9jaC4KCkdydXN6LApBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRVAtTGlzdGUgKEJvbmdvLCAgNC4gQXByIDE5OTUsIDA4OjMyOjQ3KToKIyEgcm49Rnl0IHJ0PTc5NjkyNTk5NApVbmQgd2VyIHdhZ3Qgc2ljaCBpbiBkZW4gU2NoYWNodCBiZWkgZGVyIEFyY2hpdGVrdGVucXVlc3QgdW5kIHZlcnN1Y2h0CnNpY2ggYW4gZGVuIE1vbnN0ZXJuIGRvcnQgb2huZSBkZW4gZW50c3ByZWNoZW5kZW4gU2NodXR6IHp1IGhhYmVuPz8gOi0pKQoKQm9uZ28gc2NoYWx0ZXQgc2VpbmVuIFRvZGVza2FuYWwgYmVzdGltbXQgbmljaHQgYWIuLi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDaGFyYWt0ZXItS2xhdSBkaWUgbi10ZSAoRWFnbGUsICA0LiBBcHIgMTk5NSwgMDk6MTI6MzApOgojISBybj1LcmV0ZWsgcnQ9Nzk2OTM2MzgxClNPUlJZIEhhd2shCkRpZXNlciBGZWhsZ2VzY2hsYWdlbmVyIExvZ2luIGthbSB2b24gbWlyLCBhYmVyIG5pY2h0IHVtIERlaW5lbiBDaGFyYWt0ZXIgenUKa2xhdWVuIHNvbmRlcm4gdW0gZWluZW4gWndlaXRzcGllbGVyIHp1IGVyc3RlbGxlbi4gSWNoIGhhYmUgbGVpZGVyIG5pY2h0IGRhcmFuCmdlZGFjaHQsIGRhc3MgZXMgSGF3ayBpbSBNdWQgc2Nob24gZXhpc3RpZXJ0LCBhbHNvIFNPT1JZLgpLZWluZSBBbmdzdCBEZWluZW4gQ2hhcmFrdGVyIHdvbGx0ZSBuaWVtYW5kIGtsYXVlbiEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSaWNodGlnc3RlbGx1bmcgKExpLCAgNC4gQXByIDE5OTUsIDA5OjIwOjU5KToKIyEgcm49VG9yZmR1ZW5nIHJ0PTc5Njk0ODk4NQpUamEsIGVpZ2VudGxpY2ggd29sbHRlIGljaCBtaWNoIGphIGF1cyBkaWVzZXIgRGlza3Vzc2lvbiByYXVzaGFsdGVuLCBhYmVyIGJlaQpkZW0sIHdhcyBpY2ggZ3JhZGUgZ2VsZXNlbiBoYWJlLCBnZWh0IG1pciBkb2NoIGRpZSBIdXRzY2hudXIgaG9jaC4KVEQsIHdlaXNzdCBkdSwgZGFzcyBkYXMsIHdhcyBEdSBzY2hyZWlic3QsIHZlcmRhZWNodGlnIG5hY2ggZWluZXIga2xlaW5lbgpQYXJhbm9pYSBrbGluZ3Q/CiJJY2ggd2VyZGUgenVtIFN1ZW5kZW5ib2NrIGdlbWFjaHQsIG1pY2ggaGF0IG1hbiBkZWdyYWRpZXJ0IChhbmRlcmUKbmljaHRbc3RpbW10IG5pY2h0LCBzaWVoZSBZYW50cm9dKSwgYm9pbmcgaGF0IGVzIGF1ZiBnZXdpc3NlIFNwaWVsZXIKYWJnZXNlaGVuLCB1c3cgdXN3CgpIbW0sIHZpZWxlaWNodCBrYW5uIGljaCBEZWluZSBFbnRydWVzdHVuZyBhdWNoIGVpbmZhY2ggbmljaHQgdmVyc3RlaGUsIHdlaWwKaWNoIGRpZSBnYW56ZSBaYXBha3Rpb24gemllbWxpY2ggc2lubmxvcyBoYWx0ZSwgenVtYWwgZGFzIHphcHBlbiB2b24gU3BpZWxlcm4KZWgnIHZlcmJvdGVuIGlzdC4gV2VubiBpaHIgZGVuIFNwaWVsZXJuIGRpZSBUb2Rlc3NlcXVlbnogemVpZ2VuIHdvbGx0ZXQsIHdhcnVtCmhhYmVuIHNpZSBzaWNoIG5pY2h0IGFscyBhbmZhZW5nZXIgZWluZ2Vsb2d0LCB1bmQgenUgZGVuIGdvYmxpbnMgZ2VnYW5nZW4/CkphSmEsIGljaCBob2VyZSBzY2hvbiB3aWVkZXI6IE11c3MgbWFuIGRlbm4gbnVyIFNhY2hlbiBtYWNoZW4sIGRpZSBzaW5uCm1hY2hlbj8KTmVpbiwgbXVzcyBtYW4gbmljaHQsIGFiZXIgd2VubiBtYW4gc2ljaCBuaWNodCBhbiBkaWUgUmVnbGVuIGhhZWx0LCBtdXNzIG1hbgpoYWx0IGRhbWl0IHJlY2huZW4sIGRhZnVlciBkaWUga29uc2VxdWVuemVuIHRyYWdlbi4KIkhhYnQgaWhyIHZlcmdlc3NlbiwgZGFzcyBkYXMgZWluIFNwZWlsIGlzdCIga29lbm50ZXN0IGR1IHNhZ2VuLiBNZWluZQpBbnR3b3J0OiBFcyBnaWJ0IGtlaW4gU3BpZWwsIGJlaSBkZW0gbWVociBhbHMgZWluZSBQZXJzb24gc3BpZWx0LCBkYXMgb2huZQpSZWdlbG4gYWJsYWV1ZnQsIHNvbnN0IGVuZGV0IGVzIGltIENoYW9zLgoiV2FydW0gaWNoPyIgTnVuLCBpY2ggZ2ViZSB6dSwgZGFzcyBtYW5jaGUgTWFnaWVyIGZydWVoZXIsIGFuZGVyZSBzcGFldGVyCmdlbWFzc3JlZ2VsdCB3ZXJkZW4uIERhcyBsaWVndCBzaWNoZXIgZGFyYW4sIGRhc3MgbmljaHQgYWxsZQp2ZXJ0cmFnc3ZlcmxldHp1bmdlbiBiaXMgb2JlbiB2b3JkcmluZ2VuLiBhbmRlcmVyc2VpdHMgZ2lidCBlcyBuYXR1ZXJsaWNoIGF1Y2gKa2VpbiBTdHJhZmdlc3RldHpidWNoIGluIGRpZXNlbSBNVUQsIHNvIGRhc3MgZGFzIHJlZ2xlbWVudGllcmVuIG5hdHVlcmxpY2gKYXVjaCBldHdhcyBlcm1lc3NlbnNhY2hlIGRlciBnb2V0dGVyIGlzdC4KIldhcnVtIGljaCBhYmVyIFNjaHJ1bXBmaSBudWVyIGVpbmVuIFJ1ZWZmZWwiIEFlaCwgZGllIEZyYWdlIGlzdCBtaXIgenUgYmxvZWQKenVtIGJlYW50d29ydGVuLiBFcyBsaWVndCBzaWNoZXIgbmljaHQgZGFyYW4sIGRhc3MgU2NocnVtcGZpIHdlaWJsaWNoIGlzdCwgdW5kCmJvaW5nIE1pdGxlaWQgbWl0IGlociBoYXR0ZS4gdmllbGVpY2h0IGtvZW5udGUgZGFzIEdhbnplIGphIG1pdCBkZXIgQW56YWhsIGRlcgpWZXJ0cmFnc3ZlcmxldHppJ3VuZ2VuIHp1c2FtbWVuaGFlbmdlbmlzdC4KIkRhcyBNVWQgaXN0IG9lZGUsIHdlbm4gZXMga2VpbmVuIFNwYXNzIG1laHIgdmVydHJhZWd0Ii4KU3RpbW10LCBhYmVyIG1hbiBrYW5uIGF1Y2ggdmllbCBzcGFzcyBoYWJlbiwgb2huZSBkZW4gTWFnaWVydmVydHJhZyB6dQp2ZXJsZXR6ZW4uCkxpIChoYXQga2VpbmUgTHVzdCBtZWhyLCBhdWYgVG9yZmR1ZW5ncyBWZXJmb2xndW5nc3dhaG4gZWluenVnZWhlbikKClAuUy4gV2Fyc3QgZHUgdmllbGVpY2h0IHp1IGxhbmdlIGluIGVpbmVyIEdld2lzc2VuIFF1ZXN0PyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmbGFtaW5nIC0gYWNoIGlzdCBkYXMgc2Nob2VuIChMaSwgIDQuIEFwciAxOTk1LCAwOTo1Mzo0Nik6CiMhIHJuPUd1ciBydD03OTY5NTU0MjQKQXVmIGRpZXNlbiBCcmllZiBnZW5hdXNvIHdpZSBhdWYgZGVuIHZvbiBUZCBrYW5uIGljaCBudXIgc2FnZW46Cmxlc3RlIEFydGlrZWwgNjUgdm9uIFRvc3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvIGVpbiBNaXN0ISAoTWFqb3IsICA0LiBBcHIgMTk5NSwgMTA6MjQ6MjgpOgpJbiBkZXIgdmVyZGFtbXRlbiBIdWV0dGUgd2lyZCBtYW4gYXVjaCBkYXVlcm5kIGJlbGFlc3RpZ3QhClVubWVuZ2VuIHZvbiBNdWVsbCB1bmQgUmFtc2NoIQpVbmQgbmljaHRzIGlzdCB6dSBnZWJyYXVjaGVuIQpVbmQgenVtIFRyaW5rZW4gZ2lidHMgaGllciBhdWNoIG5pY2h0cyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGdlbWVpbmVzIChOdWRlaSwgIDQuIEFwciAxOTk1LCAxMTowNTo1Nyk6CgpXZW5uIGljaCBzY2hvbiBtYWwgbWVpbmVuIExva2FscGF0cmlvdGlzbXVzLCBkZXIgZ2V3aXNzIHVuYW5nZWJyYWNodCBpc3QsCmhlcnZvcmtlaHJlbiBkYXJmOgpXZW5uIHNjaG9uIGVpbiBrYWZmZWVoYXVzIGltIFdpZW5lciBTdGlsIChzZWhyIHp1IGJlZ3J1ZXNzZW5kZSBJZGVlKSwgZGFubgprZWluZXNmYWxscyBtaXQgS0FFU0VLVUNIRU4gKCEhISkgaW0gQW5nZWJvdC4gVG9wZmVudG9ydGUgaGVpc3N0IGRhcywKSGltbWVsaGVycmdvdHRkb25uZXJ3ZXR0ZXJ1bmRrcmV1emtydXppbmVzZXIhCgpOdWRlaSwgZGVyIFdlaXNzIHdpZSBlaW4gZWNodGVzIEthZmZlZWhhdXMgdm9uIGlubmVuIGF1c3NpZWh0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUG9zdCBmdWVyIFRvcmYgKEhpZ2hsYW5kZXIsICA0LiBBcHIgMTk5NSwgMTE6NTE6MTcpOgojISBybj1Ub3JmZHVlbmcgcnQ9Nzk2OTQ5NDExCk1vaW4gVGFjaC4KVG9yZmR1ZW5nLCBlcyBpc3QgZWluIHppZW1saWNoZXIgVmVyc3Rvc3MgZ2VnZW4gTmV0aXF1ZXR0ZSwgRXRpa2V0dGVtCmd1dGUgU2l0dGVuIHVuZCBuaWNodCB6dWxldHp0IG1laW4gVXJoZWJlcnJlY2h0IGFuIG1laW5lciBtYWlsICg7PiksCmRpZXNlIHp1IHZlcm9lZmZlbnRsaWNoZW4uCkFiZ2VzZWhlbiBkYXZvbiAtIGRhc3MgRHUgImRlZ3JhZGllcnQiIHd1cmRlc3QsIGxhZyBzY2hsaWNodCBkYXJhbiwKZGFzcyBEdSB3aWVkZXJob2x0IGdlZ2VuIGRhcyBWZXJib3QgZGVzIFphcHBlbnMgdmVyc3Rvc3NlbiBoYXN0LgpXZW5uIGplbWFuZCB1bmJlZGluZ3Qgc3RlcmJlbiB3aWxsLCBzb2xsIGVyIHNpY2ggZWluIE1vbnN0ZXIgc3VjaGVuLgpTY2hsaWVzc2xpY2gga29lbm5lbiB3aXIgbmljaHQgamVkZW4gZWluemVsbiBmcmFnZW4sIG9iIGVyIGRhcyBhdWNoCmdld29sbHQgaGF0IC0gZGFydW0gaXN0IGVzIGdlbmVyZWxsIG5pY2h0IGVybGF1YnQuCkF1c3NlcmRlbSBoYXN0IER1IGlyZ2VuZHdpZSBmYWxsZW5sYXNzZW4sIHdpZSBEdSBCb2luZyBhbmdlcmVkZXQgaGFzdCwKZGFzIHdhciBuYWVtbGljaCBldHdhcyBpbiBkZXIgQXJ0CiJIZSwgRHUgU2Vzc2VscHVwZXIsIGRpZSA4IFRhZ2Ugc2luZCB1bS4iClVuZCBkYXMgbWl0IGRlbSBhbiBlaW5lbiBFTSB3ZW5kZW4gaGVpc3N0IG5pY2h0LCBkYXNzIER1IGRlbSBFTSBkYW5uIGluCmRlbiBBcnNjaCBrcmllY2hlbiBzb2xsc3QsIHNvbmRlcm4gbGVkaWdsaWNoLCBkYXNzIHdpciB1bnMgdmllbGxlaWNodApuaWNodCBnZXJhZGUgZHJ1bSByZWlzc2VuLCBEaWNoIHB1ZW5rdGxpY2ggdW0gNiB3aWVkZXIgenVtCk1hZ2llciB6dSBtYWNoZW4uIFNvbGwgaGVpc3Nlbiwgd2lyIGJyYXVjaGVuIHNjaGxpY2h0IGVpbmUga2xlaW5lCkVyaW5uZXJ1bmcuCkRhcyBCb2luZyBCdW1tIFRzY2hhayBpc3QgZXR3YXMgbGFlY2hlcmxpY2gsIG1laW5zdCBEdSBuaWNodD8gOj4KSWNoIG1laW5lIERlaW5lIGRhdWVybmRlIFZlcndlbmR1bmcgZGF2b24sIGVzIHdhciBoYWx0IGFiIHVuZCBhbiBtYWwKQm9pbmdzIFRpdGVsLCBpc3QgYWJlciBuaWNodCBzZWluIE5hbWUuCkluIGRpZXNlbSBTaW5uZSAodW5kIGhvZmZlbnRsaWNoIG5pY2h0IGdlbGFiZXJ0IGhhYmVuZCksCiAgICBIaWdobGFuZGVyIHJ5biBUYWhhcgpQUzogSWNoIGhhYmUgZGllIE1BQ0hUICh0bSkhIDs+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXRpa2VsIChEdXJpYW4sICA0LiBBcHIgMTk5NSwgMTE6NTE6MjkpOgojISBybj1Ub3JmZHVlbmcgcnQ9Nzk2OTUxNzM1CkhhbGxvIExldXRlIQoKQmlzbGFuZyBoYWJlIGljaCBlcyBpbW1lciB2b3JnZXpvZ2VuLCBtaWNoIGF1cyBzb2xjaGVuIERpc2t1c3Npb25lbgpoZXJhdXMgenUgaGFsdGVuLCB3ZWlsIGVzIG1pY2ggaXJnZW5kd28gbmljaHRzIGFuZ2VodC4gVW5kIGJpc2xhbmcKaGF0IG1pY2ggZWlnZW50bGljaCBuaWNodHMsIHdhcyBpbiBkZXIgWmVpdHVuZyBzdGFuZCBhdXMgZGVyIFJ1aGUgYnJpbmdlbgprb2VubmVuIC4uLiBhYmVyIG51biBpc3QgZWluIE5pdmVhdSBlcnJlaWNodCwgZGEgbXVzcyBpY2ggd2FzIHp1IHNhZ2VuLgoKVW5hYmhhZW5naWcgZGF2b24sIHdhcyBnZXNjaGVoZW4gaXN0LCB1bmFiaGFlbmdpZyBkYXZvbiwgd2FzIHJlY2h0IG9kZXIgd2FzCnVucmVjaHQgaXN0IC4uLiBNYWlscyB2b24gYW5kZXJlbiBMZXV0ZW4gaW4gZGllc2VyIFdlaXNlIHp1IHZlcm9lZmZlbnRsaWNoZW4KdW5kIHp1IGtvbW1lbnRpZXJlbiwgc29kYXNzIGFsbGUgU3BpZWxlciBtaXQgaGluZWluZ2V6b2dlbiB3ZXJkZW4sIGlzdCwKVG9yZmR1ZW5nLCBkZXIgc2NobGVjaHRlc3RlIFN0aWwgZGVyIG1pciBqZSB1bnRlcmdla29tbWVuIGlzdCEgRHUgdmVyc3VjaHN0CmF1ZiBkaWUgV2Vpc2UgcnVlY2toYWx0IGJlaSBkZW4gU3BpZWxlcm4genUgYmVrb21tZW4sIGRpZSBkaWUgZ2FuemUKQW5nZWxlZ2VuaGVpdCBub2NoIHdlbmlnZXIgKHNpZSB3ZXJkZW4gbWlyIGRhIHp1c3RpbW1lbikgYmV1cnRlaWxlbgprb2VubmVuLCB3aWUgZGllIGFuZGVyZW4gTWFnaWVyLiBWaWVsZSBTcGllbGVyIGtlbm5lbiBkaWUgTWFnaWVycmVnZWxuIG5pY2h0Cmd1dCBnZW51ZyB1bmQgc29sbGVuIGRlbmtlbiAnQWNoIEdvdHQsIGRlciBhcm1lIGFybWUgVG9yZmR1ZW5nLCB3YXMgaGFiZW4KZGllIG51ciBtaXQgaWhtIGdlbWFjaHQuJyBOZWluLCBkYXMgaXN0IG5pY2h0IGRhcyBOaXZlYXUsIGRhcyBoaWVyCmFuZ2VicmFjaHQgaXN0LgoKVW5kIGltIHVlYnJpZ2VuIGZpbmRlIGVzIGd1dCwgZGFzcyBlcyB3ZW5pZ3N0ZW5zIGVpbmlnZSBMZXV0ZSBoaWVyIGdpYnQsCmRpZSBhbHMgR290dCB1bmQgRXJ6bWFnaWVyIGRhcmF1ZiBhdWZwYXNzZW4sIGRhc3MgaGllciBhbGxlcyBpbiBrb3JyZWt0ZW4KQmFobmVuIGJsZWlidC4gRXMgZ2FiIGRhIG1hbCBlaW4gTXVkLCBkYSBoYWJlbiBzaWNoIGRpZSBFTSdzIHdlbmlnZXIKTXVlaGUgZ2VnZWJlbiAuLi4gd2lzc3QgSWhyIGVpZ2VudGxpY2gsIHdhcyBkYXMgV29ydCBDaGFvcyBiZWRldXRldD8/CgpOYWphLCBzb3ZpZWwgZGF6dSAuLi4KCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBvc3QgZnVlciBUb3JmIChTaWx2YW5hLCAgNC4gQXByIDE5OTUsIDEyOjA5OjM1KToKIyEgcm49SGlnaGxhbmRlciBydD03OTY5ODkwNzcKTmljaHQsIGRhc3MgZXMgd2lya2xpY2ggd2ljaHRpZyB3YWVyZSwgYWJlciBpc3QgZXMgc2Nob24gbWFsIGplbWFuZGVtIGluCmRlbiBTaW5uIGdla29tbWVuLCBkYXNzIEJvaW5nIHNpY2ggZGVuIFRpdGVsICdCdW1tLCBUc2NoYWNrJyBzZWxic3QgZ2VnZWJlbgpoYXQ/IEFsc28gaGFja3QgbmljaHQgREVTSEFMQiBhdWYgVEQgcnVtIC0gZGFzIGhhdCBzaWNoIEJvaW5nIHNlbGJzdAplaW5nZWJyb2NrdC4gOy0pClNpbHZhbmEgKGZhbmQgZGllIFRpdGVsIGVpZ2VudGxpY2ggd2l0emlnIHVuZCB3ZWlzcyBnYXIgbmljaHQsIHdpZXNvCiAgICAgICAgIGpldHp0IGFsbGUgYXVzZ2VyZWNobmV0IGRhcmF1ZiBydW1yZWl0ZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDaGFyYWt0ZXItS2xhdSBkaWUgbi10ZSAoQ2FyYWRocmFzLCAgNC4gQXByIDE5OTUsIDEyOjI4OjI1KToKIyEgcm49VG9zcyBydD03OTY5NDYzODAKV2FzIHNvbGwgaWNoIG1pdCBkZWluZW0gQ2hhcmFrdGVyPyBJY2gga29lbm50ZSBEaWNoIGhvZWNoc3RlbnMgMjAgbWFsCnVtbGVnZW4sIGFiZXIgZGFubiBoYXN0IER1IG1laHIgdmVybG9yZW5lIEVQIGFscyBpY2guIDopIFdpbGwgaWNoIG51bgphdWNoIG5pY2h0LiAqZ3JpbnMqIFVuZCBEZWluZSBTdGF0cyBzaW5kIGF1Y2ggbmljaHQgYmVzc2VyIGFscyBtZWluZQoqZ2FlaG4qIGFsc28gYXVjaCBsYW5nd2VpbGlnLiA6KSkKCiAgICAgdHNjaG9lICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhdGlrZWwgKE9ldHRpLCAgNC4gQXByIDE5OTUsIDEyOjQ1OjE1KToKIyEgcm49RHVyaWFuIHJ0PTc5Njk4OTA4OQpIaSBIbyAhISEKCkphYWFhYWEsIGVzIGxlYmUgZGFzIENoYW9zIHVuZCBkaWUgQW5hcmNoaWUgISEhISEKCk9ldHRpCihnZWh0IGpldHp0IERvZXJ0aGUgemFwcGVuLCBiaXMgc2llIHdpbnNlbHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGF0aWtlbCAoWWVuZGksICA0LiBBcHIgMTk5NSwgMTI6NTg6MTIpOgojISBybj1Ub3NzIHJ0PTc5Njk1MjY5MQoKQWJlciB3aWVzbyB3aXJkIGRhbm4gVG9yZmkgZGVncmFkaWVydCwgd2FlcmVuZCBtZWhyZXJlIGFuZGVyZXJlIE1hZ2llciwgei5CLgpDYXR3ZWF6bGUsIFJvY2h1cyBldCBhbC4gYmVpIGRlbiBnbGVpY2hlbiAiVmVyZ2VoZW4iIHN0cmFmbG9zIGF1c2dlaGVuPwoKSWNoIGthbm4gZ2FyIG5pY2h0IG1laHIgemFlaGxlbiwgd2llIG9mdCBpY2ggdm9uIGRpdmVyc2VuIE1hZ2llcm4gaW4gaWhyZQp3b3Jrcm9vbXMgZ2V0cmFuc3Qgd3VyZGUsIHdlaWwgd2lyIHVucyBpbiBSdWhlIHVudGVyaGFsdGVuIHdvbGx0ZW4uCkljaCBiaW4gYWxsZWluIHZvbiBSb2NodXMgZWluLSBvZGVyIHp3ZWltYWwgZ2V0ZXN0emFwcHQgd29yZGVuLCBkYW1pdCBpY2ggbWlyCnNlaW5lIG5ldWUgVG9kZXNzZXF1ZW56IGFuc2NoYXVlbiBrb25udGUuCgpTZWl0IHdhbm4gd2lyZCBkYXMgVGVzdGllLSBvZGVyIFd1bnNjaHphcHBlbiBzbyByZXN0cmlrdGl2IGdlaGFuZGhhYnQ/IEljaApiaW4gaW1tZXIgZGF2b24gYXVzZ2VnYW5nZW4sIGRhc3MgZWluIFNwaWVsZXIsIHdlbm4gZXIgZGVubiB1bmJlZGluZ3QgZ2V6YXBwdAp3ZXJkZW4gd2lsbCwgZGFzIGF1Y2gga3JpZWdlbiBrYW5uLi4uCgpadW0gVG9uIERlaW5lcyBBcnRpa2VscywgVG9zcy9SeW5lOgoKSWNoIGthbm4gc2VociBndXQgdmVyc3RlaGVuLCBkYXNzIFRvcmZpIHNpY2ggYW4gZGllIE9lZmZlbnRsaWNoa2VpdCB3ZW5kZXQsCnVtIHNlaW5lIFNlaXRlIGRlciBHZXNjaGljaHRlIGJla2FubnR6dWdlYmVuLiBFcyBnYWIgc2NobGllc3NsaWNoIHNjaG9uIGdlbnVnCkdlcnVlY2h0ZSB1ZWJlciBkaWVzZSBTYWNoZSwgZGEga2FubiBlaW5lIFN0ZWxsdW5nbmFobWUgc2VpbmVyc2VpdHMgbmljaHQKc2NoYWRlbi4KS2VpbiBHcnVuZCBhbHNvLCBpaG0gdm9yenV3ZXJmZW4sIGVyIHdvbGxlIGRlbiBVbnNjaHVsZGlnZW4gc3BpZWxlbiwgdW5kCmRhZHVyY2ggbm9jaCBiYW5kd2lkdGggYmVsZWdlbi4gRGllIFplaXR1bmcgaXN0IGRvY2ggZ2VuYXUgZGVyIE9ydCwgdW0gc29sY2hlCkRpbmdlIHB1YmxpayB6dSBtYWNoZW4sIHVuZCBpY2ggd3VlcmRlIG1pY2gsIHdlbm4gbWlyIGFlaG5saWNoZXMgenVzdGllc3NlLAp2ZXJtdXRsaWNoIGF1Y2ggYW4gZGllIE9lZmZlbnRsaWNoa2VpdCB3ZW5kZW4sIGFsbGVpbiBzY2hvbiwgdW0gR2VydWVjaHRlbgplbnRnZWdlbnp1d2lya2VuLgoKSWNoIGthbm4gbnVyIHNhZ2VuLCBkYXNzIG1pciBUb3JmZHVlbmdzIFZlcmhhbHRlbiBfZGllc21hbF8gbmljaHQKdmVyZGFtbWVuc3dlcnQgZXJzY2hlaW50IChtaXQgQXVzbmFobWUgdm9uIExhdXJpbnMgVG9kLCBhYmVyIGRhcyB3YXIgd29obCBlaW4KVmVyc2VoZW4pLCBiZXNvbmRlcnMsIHdlbm4gbWFuIGVzIG1pdCBkZW0gQmVuZWhtZW4gYW5kZXJlciBNYWdpZXIgdmVyZ2xlaWNodC4KVmllbGxlaWNodCBtdXNzIG1hbiBiZWkgenVuZWhtZW5kZXIgQW56YWhsIHZvbiBNYWdpZXJuIGRpZSBSZWdlbG4gZXR3YXMKc3RyZW5nZXIgZWluaGFsdGVuIGFscyBpbiBkZXIgR3V0ZW4gQWx0ZW4gWmVpdCwgd28gZXMgZHJlaSBHb2V0dGVyIHVuZApmdWVuZmVpbmhhbGIgTWFnZ2llcyBnYWIsIGFiZXIgZGllIFJlYWt0aW9uIHNjaGVpbnQgYXVjaCBtaXIgdWViZXJ0cmllYmVuLgoKQWNoLCBUb3JmZHVlbmc6IEdld29laG4gRGljaCBkb2NoIHZpZWxsZWljaHQgZWluZmFjaCBhbnMgZ2VrbnVkZGVsdC13ZXJkZW4sCmhtPwoKCgogICAgICAgICAgIFlUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXRpa2VsIChIYW5zLCAgNC4gQXByIDE5OTUsIDEzOjEyOjAyKToKIyEgcm49RHVyaWFuIHJ0PTc5Njk4OTA4OQoKTWFsIHJlaW4gYXVzIEludGVyZXNzZTogRHVyaWFuLCB2b24gd2VsY2hlbSBNdWQgc3ByaWNoc3QgRHUKZWlnZW50bGljaD8gOi0pCgpadXJ1ZWNrIHp1IFRvcmZkdWVuZzogZGFzIFZlcm9lZmZlbnRsaWNoZW4gZGVyIE11ZG1haWwgaXN0CmVpbmZhY2ggc2NobGVjaHRlciBTdGlsLCB3YWVyZSBzY2hvZW4sIHdlbm4gZGFzIG5pY2h0IHdpZWRlcgpwYXNzaWVydGUuCgoKU0VORiBBTgoKTXVkcyB3ZXJkZW4gdmVyd2FsdGV0LCBkaCBpcmdlbmRqZW1hbmQgaGFlbHQgc2llIGFtIExhdWZlbiwKaGF0IGJlc3RpbW10ZSBBbnNpY2h0ZW4gZGF2b24sIHdpZSBkYXMgQXVzc2VoZW4gc29sbCB1bmQKd2llIGRhcyBkdXJjaGdlc2V0enQgd2lyZC4gRGllIGdlbmF1ZSBVbXNldHp1bmcgdmFyaWllcnQKdm9uIE11ZCB6dSBNdWQsIGRpZSBrbmFwcGUgdW5kIGtsYXJlIEFydCBkZXIgUmVnZWxuIGhpZXIKaGF0IGFiZXIgZWluaWdlcyBmdWVyIHNpY2guIERlciBHZWRhbmtlLCBkYXNzIGRlciBTaGVyaWZmCmluIE1vcmdlbmdyYXVlbiBnbGVpY2h6ZWl0aWcgZGVyIG9iZXJzdGUgQm9zcyBzZWluIHNvbGx0ZSwKaXN0IGFtdWVzYW50LCBhYmVyIGRlIGZhY3RvIHNjaG9uIGxhZW5nc3QgaW4gZGllIFRhdCB1bS0KZ2VzZXR6dC4gTXVkZ29ldHRlciBzaW5kIE11ZGdvZXR0ZXIsIHdlaWwgc2llIHBoeXNpa2FsaS0Kc2NoZW4gWnVncmlmZiBhdWYgZGVuIFJlY2huZXIgaGFiZW4uIERhcnVlYmVyIGdpYnQgZXMgbmljaHRzLgoKV2VubiBlcyBEaXIgbnVuIGluIGRlciBTZWVsZSB3ZWh0dXQsIGRhc3MgRGVpbiBGYWxsIHVudGVyCmRlbSBNdWRnb3R0bGV2ZWwgKHBoeXNpa2FsaXNjaGUgV2VsdCkgYWJnZWhhbmRlbHQgd3VyZGUsIHNvCndpcnN0IER1LCBmdWVyY2h0ZSBpY2gsIGRhbWl0IGxlYmVuIG11ZXNzZW4uIFdlbm4gRHUgZGVuIFNpbm4Kdm9uIEJvaW5ncyBFbnRzY2hlaWR1bmcgaW5mcmFnZXN0ZWxsZW4gd2lsbHN0LCBzb2xsdGVzdCBEdSBtaXQKYmVzc2VyZW4gQXJndW1lbnRlbiBhdWZ3YXJ0ZW4uCgpTRU5GIEFVUwoKRGFzIGJyaW5ndCB1bnMgenUgRGVpbmVyIEJlZ3J1ZW5kdW5nLiAiV2VyIG1pY2gga251ZGRlbHQgd2lyZApnZXphcHB0IiB1bmQgIkEgaGF0IG1pY2ggZ2VrbnVkZGVsdCwgYWxzbyBoYWJlIGljaCBpaG4gZ2V6YXBwdCIKaXN0IFVuZnVnICh0bSkuIERhc3MgZGFzIHNjaG5lbGwgZWlucmVpc3N0LCB2ZXJkZXV0bGljaHQgd29obApEZWluIEZlaGx0cmVmZmVyIGRldXRsaWNoLiBCZWkgdW5zZXJlbSBlaW56aWdlbiBadXNhbW1lbnRyZWZmZW4KaGFzdCBEdSBlcyBhdWNoIHVudGVybGFzc2VuLCBtaXQgRGVpbmVtIHZvcmJpbGRpY2hlbiBTb3ppYWx2ZXItCmhhbHRlbiB6dSBiZWVpbmRydWNrZW4sIHVtIGRhcyBtYWwgc28genUgc2FnZW4uCgpWaWVsbGVpY2h0IHNvbGx0ZXN0IER1IERpY2ggaW4gWnVrdW5mdCBicmVtc2VuLCBzY2hvbiBkYW1pdCBkYXMKbmljaHQgQW5kZXJlIHR1biBtdWVzc2VuPwoKLSBIYW5zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdSBqYSwgYXVjaCBtYWwgbWl0ZmxhbWVuISAoR3JpbW1ib3JuLCAgNC4gQXByIDE5OTUsIDEzOjI2OjE1KToKCkhtbSwgYmxvc3MgZWluIHBhYXIuLi5hZWgsIHdpZSBoZWlzc3QgZGFzIG5vY2g/Li4uYWgsIGphLCBHZWRhbmtlbi4KQWxzbywgemFwcGVuIGlzdCB2ZXJib3Rlbiwga2xhci4gS29tbXQgdHJvdHpkZW0gdm9yLCBrbGFyLiBXZW5uIGVpbiBTcGllbGVyCnVuYmVkaW5ndCBnZXphcHB0IHdlcmRlbiB3aWxsIHR1IGljaCBkYXMgYXVjaCAoamEsIGRlZ3JhZGllcnQgbWljaCEgSWNoIHdpbGwKU0NITUVSWiEpLCBhYmVyIGljaCB2ZXJnZXdpc3NlcmUgbWljaCBkYW5uIHZvcmhlciBpbiBqZWRlbSBFaW56ZWxmYWxsIGdlbmF1LApkYXNzIGVycyBlcm5zdCBtZWludC4KRGllIFJlZ2VsIGlzdCBkYWZ1ZXIgZGEsIGRhc3Mgc29sY2hlICJVbmZhZWxsZSIgd2llIG1pdCBMYXVyaW4gbmljaHQKcGFzc2llcmVuLiBXZW5uIG1hbiBuaWNodCB2b24gc2VsYmVyIGZ1ZXIgZGFzIFZlcm1laWRlbiBzb3JnZW4ga2FubiwgbXVzcyBtYW4Kc2ljaCBoYWx0IGFuIGRpZSBmb3JtZWxsZSBSZWdlbCBoYWx0ZW4uCktlaW4gTWFnaWVyIHdpcmQgZGVncmFkaWVydCwgd2VpbCBlciBlaW5lbiAod2llIGF1Y2ggaW1tZXIgZ2VhcnRldGVuIFNwaWVsZXIKemFwcHQpLiBEYWhlciBpc3QgVEQncyBEZWdyYWRpZXJ1bmcgamEgc28gdW52ZXJzdGFlbmRsaWNoLCBpc3QgamEgZGFzIGVyc3RlCk1hbCwgZGFzcyBlciBpbiBkaWUgUmljaHR1bmcgYXVmZ2VmYWxsZW4gaXN0LCBuaWNodCB3YWhyPwpEYXMsIHdhcyBlaW5lbSBNYWdpZXIgImRhcyBHZW5pY2sgYnJlY2hlbiIga2FubiBpc3QgZGllIEtvbWJpbmF0aW9uIHZvbiB6d2VpCkRpbmdlbjogTWFzc2UgdW5kIEF1ZmZhZWxsaWdrZWl0LiBJY2ggYmluIGRlciBsZXR6dGUgZGVyIHNhZ3QsIGhlaW1saWNoZQpWZXJnZWhlbiBzaW5kIE9LLCBhYmVyIHdhcyBuaWNodCByYXVza29tbXQga2FubiBuaWNodCBhbmdla2xhZ3Qgd2VyZGVuLgpMZWlkZXIuCkljaCBmaW5kZSBkaWUgOCBUYWdlIChvZGVyIGxhc3NlcyAxMCBzZWluKSBuaWNodCB1ZWJlcnpvZ2VuLiBXZW5uIGljaCBzbyBlaW5lClN0aW5rd3V0IGF1ZiBkaWUgU2NoZWZmcyBoYWV0dGUgd3VlcmRlIGljaCBkYXMgZWhlciBhdXNudXR6ZW4sIGFscyBTcGllbGVyIGhhdAptYW4gamEga2F1bSBSZWdlbG4uIE9kZXIgaWNoIHd1ZXJkZSBlaW5lIFF1ZXN0IG1hY2hlbi4gRGEgaGFzdCBEdSBkb2NoCkF1c3dhaGwsIFRELi4uCgpMZXR6dGVuczogRGVyIEdlYnJhdWNoIGRlcyBOYW1lbnMgIkJvaW5nIEJ1bW0gVHNjaGFjayIgaXN0IGphIGVpbmUgd2lya2xpY2hlCkZyZWNoaGVpdC4gRWluZmFjaCBkaWUgTGV1dGUgbWl0IFRpdGVsIGJlemVpY2huZW4gKGljaCBmYW5kIGRlbiBkZW4KendlaXRiZXN0ZW4gVGl0ZWwgZGVuIGljaCBoaWVyIGdlc2VoZW4gaGFiZSkhIFdvIGthZW1lbiB3aXIgZGVubiBkYSBoaW4sIGFsc28Kd2lya2xpY2guCkljaCBzYWcgenUgSGlnaGxhbmRlciByeW4gVGFoYXIgamEgYXVjaCBCcmF0aGVuZGwsIEVocmUgd2VtIEVocmUgZ2VidWVocnQuCkFsbGVyZGluZ3M6IFdhc3NlcyBuaWNodCBnaWJ0IGthbm4gaWNoIG5lbm5lbiB3aWUgaWNoIHdpbCwgdW5kIHdlbm5uIGljaAoiSGFtcGVsbWFubiIgc2FnZS4uLgoKU28sIGRhcyB3YXJzLiBJY2ggTElFQkUgIlZpZWwgTGFlcm0gdW0gbmljaHRzIi4gKFRvbGxlciBGaWxtLCBoYXQgZGVuIHdlcgpnZXNlaGVuPykKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gQWVoLCBzdHJlaWNodCAiZGVyIEF0aGVpc3QiLCBUaXRlbCBzaW5kIGphIG91dC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYXRpa2VsIChZZW5kaSwgIDQuIEFwciAxOTk1LCAxMzozMToxMCk6CiMhIHJuPUhhbnMgcnQ9Nzk2OTkzOTIyCgo6ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVpIHVuc2VyZW0gZWluemlnZW4gWnVzYW1tZW50cmVmZmVuCjogaGFzdCBEdSBlcyBhdWNoIHVudGVybGFzc2VuLCBtaXQgRGVpbmVtIHZvcmJpbGRpY2hlbiBTb3ppYWx2ZXItCjogaGFsdGVuIHp1IGJlZWluZHJ1Y2tlbiwgdW0gZGFzIG1hbCBzbyB6dSBzYWdlbi4KCk5hLCBIYW5zLCBkYSBrb2VubnRlIGljaCBEaXIgYWJlciBlaW5pZ2UgKEVyei0pTWFnaWVyIG5lbm5lbiwgZGVyZW4gVmVyaGFsdGVuCmVpbiB3ZW5pZyAtYWVoLSB1bmRpcGxvbWF0aXNjaCBpc3QuLi4KCldlbm4gInZvcmJpbGRsaWNoZXMgU296aWFsdmVyaGFsdGVuIiAoamFqYSwgSXJvbmllLCBzY2hvbiBrbGFyKSBlaW4gS3JpdGVyaXVtCmZ1ZXIgZGVuIE1hZ2llcnN0YXR1cyBfd2FlcmVfLCBkYW5uIGtvZW5udGUgbWVpbmUgV2VuaWdrZWl0IHdvaGwgX25pZV8gTWFnaWVyCndlcmRlbiAqa2ljaGVyKgoKICAgICAgICAgWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYXRpa2VsIChHcmltbWJvcm4sICA0LiBBcHIgMTk5NSwgMTM6Mzg6MDUpOgojISBybj1ZZW5kaSBydD03OTY5OTUwNzAKRGllIElyb25pZSB3YXIgZGFzICJ1bnRlcmxhc3NlbiIsIG5pY2h0IGRhcyAidm9yYmlsZGxpY2hlIFNvemlhbHZlcmhhbHRlbiIsClllbmRpLi4uIDstKQoKR3JpbW1ib3JuIGRlciBTb3ppYWx6dWhhZWx0ZXIuLi5hZWgsIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoSm9mLCAgNC4gQXByIDE5OTUsIDEzOjQ1OjUxKToKIyEgcm49QWNyaW1vbiBydD03OTY5NjE3MTMKCiBHZW5hdSwgd2VubiBqZW1hbmQgU3BpZWxlciB6YXBwdCAoQVVDSCBad2VpdGllcykgZ2lidHMgbmUgVmVyd2FybnVuZy4gQXVjaApiZWkgVG9yZmkuIE51biBmcmFnIGlobiBiaXR0ZSBtYWwsIHdpZSBPRlQgZXIgdmVyd2FybnQgd3VyZGUgZGVzd2VnZW4gLQplcyB3YXIgZGVmaW5pdGl2IG1laHIgYWxzIGVpbm1hbC4gTmljaHQgbnVyLCBkYXMgZXMgZ2VnZW4gZGllIFJlZ2VsbiBpc3QsClVFQkVSSEFVUFQgU3BpZWxlciB6dSB6YXBwZW4sIGF1Y2ggWndlaXRpZXMgLSBiZWkgc29sY2hlbiBBa3Rpb25lbiBwYXNzaWVyZW4KbGVpZGVyIGF1Y2ggdmllbCwgdmllbCwgdmllbCB6dSBsZWljaHQgVW5mYWVsbGUsIHNpZWhlIHpCIExhdXJpbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUG9zdCBmdWVyIFRvcmYgKEpvZiwgIDQuIEFwciAxOTk1LCAxMzo0ODozNSk6CiMhIHJuPUhpZ2hsYW5kZXIgcnQ9Nzk2OTg5MDc3CkVzIGdpbmcgbmljaHQgc28gc2VociBkYXJ1bSwgb2IgbnVuIGdyYWQgQm9pbmcgcGVyc29lbmxpY2ggYmVsZWlkaWd0IHd1cmRlCm9kZXIgbmljaHQsIE1JUiBqZWRlbmZhbGxzIG5pY2h0LCBzb25kZXJuIGRhcnVtLCBkYXMgd2lyIGhpZXIgaW0gVW1nYW5nCm1pdGVpbmFuZGVyIGRvY2ggZ2V3aXNzZW4gRm9ybWVuIHdhaHJlbiBzb2xsdGVuLiAnSGV5IGR1IFNlc3NlbHB1cGVyJwpsaWVndCBqZW5zZWl0cyBkaWVzZXIgRm9ybWVuLCBqZWRlbmZhbGxzIGZ1ZXIgbWljaC4gU29ycnkuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFtaW5nIChCb25nbywgIDQuIEFwciAxOTk1LCAxNDozMTowMyk6CkFjaCBpc3QgZGFzIGFsbGVzIGhlcnJsaWNoLiBFbmRsaWNoIG1hbCBzY2hvZW5lIGxhbmdlIEFydGlrZWwsIHVlYmVyIGRpZSBtYW4KU2NobXVuemVsbiBrYW5uLiA6LSkpIEFiZXIgaXN0IGRhcyBuaWNodCBkaWUgZmFsc2NoZSBSdWJyaWs/Pz8gV2llIHdhZXJlCmVzIG1pdCBXaXR6ZT8/IDstKSkgLi4uCk1hbCBpbSBFcm5zdCwgd2llIGthbm4gbWFuIHNpY2ggdWViZXIgMTAgVGFnZSBkZXJtYXNzZW4gYXVmcmVnZW4sIHNlbGJzdAp3ZW5uIHNpZSBpbiBlaW5pZ2VuIEF1Z2VuIHVuZ2VyZWNodCBzaW5kLiBFciBoYXQgZ2V6YXBwdCwgaXN0IGVyd2lzY2h0CndvcmRlbiB1bmQgd3VyZGUgYmVzdHJhZnQuIFRzdHN0cy4gRWluZmFjaCBoZXJybGljaCBzbyBlaW5lIERpc2t1c3Npb24uIDotKSkKCkJvbmdvIGthbm4gc2ljaCBkYXJ1ZWJlciBudXIgbm9jaCBhbXVlc2llcmVuLiBBdWNoIHdlbm4gZXMgaWhtIGJlaSBlaW5pZ2VuCkxldXRlbiBNaW51c3B1bmt0ZSBlaW5icmluZ2VuIHNvbGx0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpbmdhbmdzc2VxdWVueiAoQXpieWN4LCAgNC4gQXByIDE5OTUsIDE1OjMzOjEzKToKV2llIHdhZXJzIGRlbm4sIHdlbm4gaWhyIGVuZGxpY2ggbWFsIGRpZSBCZXNjaHJlaWJ1bmcgZGVyIFJhc3NlbiBmZXJ0aWcgbWFjaHQKPyBCZWkgRWxmIHN0ZWh0IGltbWVyIG5vY2ggbmljaHRzIDooKCgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipsYWNoKiAoQXpieWN4LCAgNC4gQXByIDE5OTUsIDE1OjM5OjMzKToKQWxzbyBpY2gga2FubiBtaWNoIG51ciB0b3RsYWNoZW46CjEuIERpZSBTdGVyYmVzZXF1ZW56LCB3b2Z1ZXIgZGllc2VyIGNoYXIgbnVyIGd1dCBpc3QsIGlzdCBLT0VTVExJQ0ggKG1pdApkZW0gYmVzb2ZmZW5lbiBUb2QgdW5kIExhcnMpLiBCbG9zcyBkYXJmIGdld29yYmVuIHdlcmRlbiAoT0JJKT8/PwpBbHNvIGljaCBrYW5uIGplZGVtIG51ciBlbXBmZWhsZW4genUgc3RlcmJlbiwgZGFtaXQgZXIgc2llIG1hbAphbnNpZWh0LiBJY2ggZnVlciBtZWluZW4gVGVpbCBoYWIgVHJhZW5lbiBnZWxhY2h0Li4uCkVpbiBhbmRlcmVyIFB1bmt0LCBkZXIgbWlyIGpldHp0IGdlcmFkZSBhdWZmYWVsbHQ6ClNlaXQgd2FubiBrb2VubmVuIEdlaXN0ZXIgaW4gZGVyIE1QQSBzY2hyZWliZW4gPz8/Pz8/PwpEZXIgVG9kc3VjaGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhdGlrZWwgKEtyZXRlaywgIDQuIEFwciAxOTk1LCAxNTo0MTo0NSk6CiMhIHJuPVllbmRpIHJ0PTc5Njk5MzA5MgpGdWVuZmVpbmhhbGIgTWFnZ2llcz8gV2VyIHdhciBkZW5uIGRhIGRpZSBoYWxiZSBQb3J0aW9uPwpXdWVyZGUgbWljaCBqYSBzY2hvbm1hbCBpbnRlcmVzc2llcmVuLi4uCldhcyBtaWNoIGF1ZiBmb2xnZW5kZSBTcG9udGFuLUlkZWUgYnJpbmd0OiAoSXN0IHZlcm11dGxpY2ggZW50d2VkZXIKQmxvZWRzaW5uLCBvZGVyIGdpYnQncyBzY2hvbiwgb2RlciBiZWlkZXMuLi4gKipncmlucyoqKQpXYWVyZSBlcyBuaWNodCAtIGdlcmFkZSBmdWVyICJuZXVlcmUiIFNwaWVsZXIgd2llIG1pY2gsIGRpZQpuaWNodCBkYXMgVmVyZ251ZWdlbiBoYXR0ZW4sIHZvbiAiQW5mYW5nIGFuIiBkYWJlaSB6dSBzZWluLCBzbyAnbmUgQXJ0CiJHZXNjaGljaHRlIGRlcyBNRyIgenVzYW1tZW56dXN0ZWxsZW4sIHNvIHZvbiB3ZWdlbiwgd2VyIHdhciBkYW1hbHMgZGFiZWksCndhcyBmdWVyIFJlZ2lvbmVuIGdhYidzLCB3YXMgZ2luZyBkYSBzbyBhYi4uLiBFaW5mYWNoIGRpZSBBdG1vc3BoYWVyZQpkZXIgImd1dGVuIGFsdGVuIFplaXQiIGVpbiBiaXNzY2hlbiBlaW5mYW5nZW4uCk5hLCB3YWVyIGRhcyBuaWNodCBlaW4gUHJvamVrdCBmdWVyIGRpZSBTZWhlcklubmVuLCBkaWUgc2ljaCB1ZWJlcgptYW5nZWxuZGUgQXVmZ2FiZW4gYmVrbGFnZW4/IDopCgpTY2htYXJyZW5kLCBkYSBncmFkIGVyc3QgYXVmZ2V3YWNodCwKS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb29ydG9yZiAoRWxyaWMsICA0LiBBcHIgMTk5NSwgMTY6NDY6MjMpOgpTY2hhZGUsIGRhc3ogaWNoIGFscyBTcGllbGVyIGRpZSBnYW56ZSBTaXR1YXRpb24gbmljaHQgZWluc2NoYWV0emVuIGthbm4uCndlbmlnZXIgbm9jaCBhbHMgaXJnZW5kd2VsY2hlIG5pY2h0IGludm9sdmllcnRlbiBNYWdpZXIuIChoYXQgZG9jaCBpcmdlbmR3ZXIKaW4gZWluZW1hcnRpa2VsIHZvcmhlciBnZXNjaHJpZWJlbiwgb2Rlcj8pCgpTb25zdCBoYWV0dGUgaWNoIGpldHp0IGVybnN0aGFmdCBkaWUgbWl0IFNpY2hlcmhlaXQgdm9lbGxpZyBmYWxzY2hlIE1laW51bmcsCmRhc3ogZWluIHBhYXIgTGV1dGUgaW4gZGllc2VtIE11ZCBtaXQgendlaWVybGVpIE1hc3ogbWVzc2VuIFVORCBkYWJlaSBhdWNoCm5vY2ggdW5zZXJlbiBhbGxzZWl0cyBnZWxpZWJ0ZW4gTXVkdW50ZXJoYWx0ZXIgVG9yZmR1ZW5nIG5pY2h0IG1vZWdlbi4KR2VnZW4gYmVpZGVzIGlzdCBzb292aWVsIGphIG5pY2h0IGVpbnp3ZW5kZW4gKHdlciBpc3Qgc2Nob24gb2JqZWt0aXYsIHVuZCB3ZXIKbWFnIFREIHNjaG9uIChpY2gga2VubmUgaWhuIGluIFJMLCBmdXJjaHRiYXIgOikgKSksIGFiZXIgaW4gS29tYmluYXRpb24gbWl0Ck1hY2h0IHVuZCBkZW0gV2lsbGVuLCBkaWVzZSBlaW56dXNldHplbiBrYW5uIGRpZXMgenUsIHNhZ2VuIHdpciBtYWwsIGFlaCwKd2lsbGt1ZXJhZWhuaWxpY2hlbiBFbnRzY2hlaWR1bmdlbiBmdWVocmVuLgpBYmVyIGd1dCwgZGFzeiBpY2ggZGFzIG5pY2h0IGVpbnNjaGFldHplbiBrYW5uLgpVbmQgZGEgU3BpZWxlciB2b24gc293YXMgb2huZWhpbiBrZWluIEFobnVuZyBoYWJlbiwgc29sbHRlIG1hbiBpaG5lbiBkYXMKRXJsYW5nZW4gZGVyc2VsYmVuIG1vZWdsaWNoc3QgYXVjaCB3ZWl0ZXJoaW4gdmVyd2VocmVuIHVuZCBzb2xjaGUKIkdlcmljaHRzYmVzY2hsdWVzc2UiIGRhbm4gYXVjaCBnZWhlaW1oYWx0ZW4uIFdvaGVyIGtlbm5lIGljaCBkYXMgV29ydCAiRmVtZSIKPyAqZ3J1ZWJlbCoKClZpZWxlIEdydWVzemUgYW4gVG9yZmR1ZW5nIHZvbgogICAgICBFbHJpYy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb29ydG9yZiAoS3JldGVrLCAgNC4gQXByIDE5OTUsIDE3OjQ5OjEzKToKIyEgcm49RWxyaWMgcnQ9Nzk3MDA2NzgzCioqbmVpZCoqCkljaCB3aWxsIGRpZSBvbGxlIFRvcmZzb2NrZSBhdWNoIFJMIGtlbm5lbmxlcm5lbiEKU28gJ25lbiBlY2h0ZW4gYW5nZWhlbmRlbiAob2RlciB3YXIgZGFzIGFuZ2ViZW5kZW4/ICoqZ3JpaWlpbnMqKikgRGlwbG9tLQpTcG9ydGxlciBmaW5kZXQgbWFuIGphIHNjaGxpZXNzbGljaCBuaWNodCBhbGxlIFRhZ2UhIDopKQoKTWl0IEtudWRkbGVybiAoYWJlciBuaWNodCBhbiBkZW4gVG9yZnJvY2tlciEgKipncmlucyoqKQpLcmV0ZWsgZGVyIE9jaHNlbmZyb3NjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhdGlrZWwgKFNjaHJ1bXBmaSwgIDQuIEFwciAxOTk1LCAxODo1OTo0MCk6CiMhIHJuPVRvc3MgcnQ9Nzk2OTUyNjkxCkljaCBnbGF1YiBrYXVtLCBkYXNzIGVyIGRpZSBHZXNjaGljaHRlIGFuIGRpZSBncm9zc2UgR2xvY2tlIGdlaGFlbmd0IGhhZXR0ZSwKd2VubiBzaWNoIG5pY2h0IG1hbCB3aWVkZXIgZGllIExldXRlIGRpZSBNYWV1bGVyIHplcmlzc2VuIGhhZXR0ZW4gdW5kIGVyCndpZWRlciBtYWwgYWxzIEFyc2NoIGRhc3RlaHQoV2llIGltbWVyIGhhbHQpCkljaCBmaW5kIGVzIGd1dCwgZGFzcyBlciBlcyBnZW1hY2h0IGhhdCEgRXMgd2FyIHdvaGwgbGVpZGVyIG5vZXRpZyA6KApTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqbGFjaCogKENhcmFkaHJhcywgIDQuIEFwciAxOTk1LCAxOToxMjozOSk6CiMhIHJuPUF6YnljeCBydD03OTcwMDI3NzMKICAgICAgICAgICAgIEh1aHUKCkdlaXN0ZXIga29lbm5lbiBhdWNoIHN0ZXJiZW4sIGFsc28gd2llc28gc29sbHRlbiBzaWUgbmljaHQgYXVjaCBpbgpkZXIgWmVpdHVuZyBzY2hyZWliZW4ga29lbm5lbj8KTXVzcyBpY2ggdWVicmlnZW5zIG1hbCB0ZXN0ZW4gb2IgbWFuIG5vY2htYWwgRVAgdmVybGllcnQsIHdlbm4gbWFuCmFscyBHZWlzdCBzdGlyYnQuCgogICAgICAgICB0c2Nob2UgICAgICAgIENhcmFkaHJhcyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAqbGFjaCogKENhcmFkaHJhcywgIDQuIEFwciAxOTk1LCAxOToyNjo1Myk6CiMhIHJuPUNhcmFkaHJhcyBydD03OTcwMTU1NTkKRmVpbiwgamV0enQga2FubiBtYW4gbmljaHQgbWVociBhbHMgR2Vpc3QgYmVpbSBHb2JsaW5kcmFjaGVuIHN0ZXJiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGF0aWtlbCAoU2NocnVtcGZpLCAgNC4gQXByIDE5OTUsIDE5OjQ2OjA0KToKIyEgcm49RHVyaWFuIHJ0PTc5Njk4OTA4OQpLbGFyIHdlaXNzIGljaCBkYXMhIERhcyBpc3QgbmUgUHVua2JhbmQuClNjaHJ1bXBmaSBzdGVodCBhdWYgQ2hhb3MgVUsgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpLCBLcmV0ZWsuIEFsbGVzIGtsYXIsIHNpZWhlIG1haWwuIChIYXdrLCAgNC4gQXByIDE5OTUsIDIxOjUyOjUzKToKICAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaGVyaW5nIChLcmV0ZWssICA1LiBBcHIgMTk5NSwgMTA6MjQ6MzUpOgpIYWxsb2UhCgpNaXIgaXN0IGdlc3Rlcm4gYmVpbSBTdGVyYmVuICh0b2xsZXIgUmVzZXQsIEJvaW5nICoqZ3JpbnMqKikgbWFsIHdpZWRlcgp3YXMgbmVnYXRpdiBhdWZnZWZhbGxlbjogU28gIndpY2h0aWdlIiBTYWNoZW4sIHdpZSBkZW4gQW50aS1BbmR5LUJ1dHRvbgpiZWhhZWx0IG1hbiwgZGVuIEVoZXJpbmcsIGFuIGRlbSBlaW5lbSBlY2h0IHdhcyBsaWVndCAobWlyIHp1bWluZGVzdCEpLAp2ZXJsaWVydCBtYW4gYWJlciBpbSBUb2Rlc2ZhbGwhIERhcyBrYW5uIGphIHdvaGwga2F1bSBzbyBnZWRhY2h0IHNlaW4sCmlzdCB2ZXJtdXRsaWNoIGVoZXIgdW5zYXViZXIgcHJvZ3JhbW1pZXJ0IQpEZXNoYWxiIG1laW5lIEJpdHRlIGFuIGRpZSBEYW1lbnMgdW5kIEhlcnJjaGVucyBNYWdpZXI6IEthbm4gc2ljaCBkZW4KUmluZyBtYWwgamVtYW5kIHZvcmtub2VwZmVuLCB1bmQgZGFzIEF1dG9sb2FkLUZsYWcgKnJpY2h0aWcqIHNldHplbj8KQW0gdmllbGJlc2Nod29yZW5lbiBHbGVpY2hnZXdpY2h0IGltIE1HIHd1ZXJkZSBkYXMgc2ljaGVyIG5pY2h0cwphZW5kZXJuLCBhYmVyIG1pY2ggcGVyc29lbmxpY2ggbmVydnQncywgd2VubiBpY2ggbmFjaCAnbmVtIFRvZCBld2lnIGluCmlyZ2VuZHdlbGNoZW4gTGFicyBkZW4gRWhlcmluZyBzdWNoZW4gbXVzcywgd2FlaHJlbmQgaWNoIGRpZSBhbmRlcmUKQXVzcnVlc3R1bmcgc2Nob24gbGFlbmdzdCBhbHMgd2llZGVyYmVzY2hhZmZiYXIgYWJnZXNjaHJpZWJlbiBoYWIhCgpEYW5rZSBzY2hvbm1hbCEKClRzY2h1ZXNzaSwKS3JldGVrIGRlciBPY2hzZW5mcm9zY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoWnVlcmlsZXUsICA1LiBBcHIgMTk5NSwgMTM6MDA6NDMpOgojISBybj1BY3JpbW9uIHJ0PTc5Njk2MTcxMwpTYWxpIEFjcmltb24sClNhbGkgemFlbWUsCgpOdW4gaWNoIG1hZyBUb3JmZHVlbmcgZ2VuYXVzbyB3aWUgYXVjaCBhbmRlcmUgaGllciwgZXIgZ2Vob2VydCBhdWNoIHp1IG1laW5lcgpNdWQtZmFtbWlseSB3aWUgdmllbGUgYW5kZXJlIGRpZSBpY2ggaGllciBrZW5uZW4gdW5kIHNjaGFldHplbiBnZWxlcm50IGhhYmUuClRvcmZkdWVuZyB3dXJkZSBmdWVyIDggVGFnZSBkZWdyYWRpZXJ0IHdvcmRlbiB3ZWlsIGVpbiB2b24gaWhtIGdlemFwcHRlcgpTcGllbGVyIHNpY2ggYmVzY2h3ZXJkIGhhdCB1bmQgVEQgc28gZ2VnZW4gZGllIE1hZ2llcnJlZ2VsbiB2ZXJzdG9zc3QgaGF0IG9iCmFic2ljaHRsaWNoIG9kZXIgbmljaHQuIEljaCBmaW5kZSBkaWUgOCBUYWdlIGZhaXIgYXVjaCB3ZW5ucyBuaWNodAp1bmFic2ljaHRsaWNoIHdhciwgbWVpbiBhbnNjaGxhZyBpbiBkZXIgR2lsZGUgbWl0IGRlbSBEeW5hbWl0IHdhciBhdWNoCnVuYWJzaWNodGxpY2ggdW5kIGljaCB3dXJkZSBiZXN0cmFmdCB1bmQgenVyZWNodC4gRGVua3QgbWFsIGRhcnVlYmVyIG5hY2ggVEQKd3VlcmRlIG5pY2h0IGJlc3RyYWZ0IHdlcmRlbiB1bmQgZXMgZ2VzY2hpZWQgd2llZGVybWFsIHNvIGV0d2FzIHVuZCBkZXJkb3J0CmJldHJlZmZlbmRlIE1hZ2llciBzYWd0OiBIZXkgaXN0IHVuZ2VyZWNodCBpY2ggd2VyZGUgZnVlciBldHdhcyBiZXN0cmFmdCB3bwpzZWluZXJzZWl0cyBUb3JmZHVlbmcgbmljaHQgYmVzdHJhZnQgd3VyZGUgPyEuClVuZCBkYXJ1bSBkZW5rZSBpY2ggZGllIDggVGFnZSBzaW5kIHVlYmVyYXVzIEZhaXIsIHdhcyBpY2ggYWJlciBOSUNIVCBmYWlyZQpmaW5kZSBkYXMgVEQgZnVlciBzZWluZSBLcml0aWsgYW4gZGllIEdvZXR0ZXIgb2RlcmFuIGFuZGVyZSBNYWdpZXIgbm9jaAp6dXNhZXR6bGljaCBzbyBhbHMgc3ltYm9sIGRhc21hbiBrZWluZSBLcml0aWsgYW4gaG9laGVyZSBhdXN1ZWJlbiBzb2xsCm5vY2htYWxzIGJlc3RyYWZ0IHdpcmQuIE9iIFREIG1pdCBzZWluZXIgYmVzY2h1bGRpZ3VuZyByZWNodCBvZGVyIHVucmVjaHQgaGF0CnN0ZWh0IGJlaSBtaXJkYSBnYXIgbmljaHQgenVyIGZyYWdlIHNvbmRlcm4gbnVyZGVyIFRhdHNhY2hlIGRhcyBlciBmdWVyIEtyaXRpawphbiBkaWUgR29ldHRlcm4gbnVuIG5vY2htYWxzIGVpbnMgYXVmIGRlbiBQZWx6IGJla29tbXQuIERhcyBrb21tdCBtaXIgZmFzdCBzbwpvc3RzdGFhdCBtYWVzc2lnIHZvciwgZGFzcyB3ZW5uIG1hbiBkaWUgUmVnaWVydW5nIGFua2xhZ3RlaW5mYWNoIGVpbiBMZWJlbmxhbmcKaGludGVyIGdpdHRlciBrb21tdCBvZGVyIHNvZ2FyIGhpbmdlcmljaHRldCB3aXJkLgpOYXR1ZXJsaWNoIGluIHdlbmlnZXIgaGFydGVyIGZvcm0gYWJlciBuaWNodCB3ZW5pZ2VyIHNjaGxpbW0gIQoKUHM6IHNvcnJ5IGRhZnVlciBkYXMgdGVpbHdlaXNlIFdvZXJ0ZXIgbmljaHQgZ2V0cmVubnQgc2luZCBkYXMgbGllZ3QgZGFyYW4KZGFzbWVpbmUgU3BhY2UgVGFzdGUgZGVmZWt0IGlzdCB1bmQgZGllIFRhc3RhdHVyIHZvciB3dXQgYmFsZCBhdXMgZGVtIEZlbnN0ZXIKZmxpZWd0LiEhISEhIFdlaXNzZWluZXIgdm9uIGV1Y2ggd2FzIGljaGRhIHR1biBrYW5uIG9obmUgbWlyIGdsZWljaCBlaW5lIG5ldWUKVGFzdGF0dXIga2F1ZmVuIG11c3MgPwoKVHNjaHVlc3MgWnVlcmlsZXUgKGRlciB3ZWdlbiBkZXIgc2NoLi4uIFRhc3RhdXIgYXVmIGFncmVzc2l2bW9kZSAxMCcwMCBpc3QhISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZsYW1pbmcgLSBhY2ggaXN0IGRhcyBzY2hvZW4gKEhhdGUsICA1LiBBcHIgMTk5NSwgMTQ6MDk6MDkpOgojISBybj1adWVyaWxldSBydD03OTcwNzk2NDMKSWNoIGdsYXViZSBuaWNodCwgZGFzcyBEdSBadWVyaWxldSwgRGlyIGVybGF1YmVuIGthbm5zdCBWZXJnbGVpY2hlIG1pdCBPc3QtClN0YWF0ZW4genUgYnJpbmdlbiEgR2VuYXVzb3dlbmlnIHdpZQpkaWUgbWVpc3RlbiBoaWVyLCBkaWUgZWJlbiBfbmljaHRfIGRhIGdlbGVidCBoYWJlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaGVyaW5nIChUaHJvaW4sICA1LiBBcHIgMTk5NSwgMTQ6MTk6MzIpOgojISBybj1LcmV0ZWsgcnQ9Nzk3MDcwMjc1CkljaCBrYW5uIG1pY2ggZGVyIE1laW51bmcgdm9uIEtyZXRlayBudXIgYW5zY2hsaWVzc2VuLiBCaW4gendhciBpbiBkZXIKbGV0enRlbiBaZWl0IG5pY2h0IGdlc3RvcmJlbiwgc3RlbGxlIG1pciBkYXMgYWJlciBuaWNodHNkZXN0b3Ryb3R6IHppZW1saWNoCnVlYmVsIHZvciAodm9yIGFsbGVtIHdlbm4gaWNoIGRhcmFuIGRlbmtlLCB3YXMgZXMgZnVlciBlaW4gQ2hhb3Mgd2FyIGRlbiBSaW5nCmVyc3RlaW5tYWwgenUga3JpZWdlbikuIERlc2hhbGIgYXVjaCBtZWluIEFwZWxsOiBNYWNodCBkaWUgRWhlcmluZ2UgYml0dGUKYXV0b2xvYWQhCgpEYW5rZSEgVGhyb2luIChCcmF1bWVpc3RlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cmFuZCAoR3VuZHVyLCAgNS4gQXByIDE5OTUsIDE0OjI1OjI4KToKSGkgaWhycyEKRGVyIFN0cmFuZCB2b24gUG9ydCBWYWluIGhhdCBzaWNoIGV0d2FzIHZlcmdyb2Vzc2VydC4uLgpkLmguIHN1ZWRsaWNoIHZvbiBLaWVzZWxzdGVpbnMgSGF1cyBnZWh0cyBudSB3ZWl0ZXIuLgpFcyB3dXJkZSBhdWNoIGVpbiBrbGVpbmVyIEFuZ2xlcmxhZGVuIGVyb2VmZm5ldCEKRWluIHNpY2ggYXVmIGVpbiB2b2xsZXMgcmVwZmlsZSBmcmV1ZW5kZXIgR3VuZHVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaGVyaW5nIChHcmltbWJvcm4sICA1LiBBcHIgMTk5NSwgMTY6MDk6MTcpOgojISBybj1UaHJvaW4gcnQ9Nzk3MDg0MzcyClN0ZWxsdmVydHJldGVuZCBmdWVyIGFsbGUgaG9laGVyZW4gTWFnaWVyIGdlYiBpY2ggbWFsIGRpZSBTdGFuZGFydGFudHdvcnQgYXVmCmRhcyAiRWhlcmluZ3Byb2JsZW0iOgpXaWUsIGRhcyBpc3Qgbm9jaCBuaWNodCBnZWFlbmRlcnQ/IFNvbGx0ZSBkb2NoIHNjaG9uIGxhZW5nc3QgZ2VtYWNodCBzZWluIHVuZAppY2ggd2FyIGRlciBmZXN0ZW4gVWViZXJ6ZXVndW5nLCBkYXNzIGVzIG1pdHRsZXJ3ZWlsZSBlaW5nZWJhdXQgaXN0LiBHZW5hdXNvCndpZSBkaWUgSG9jaHplaXQgZ2xlaWNoZ2VzY2hsZWNodGxpY2hlciBQYXJ0bmVyLiBJY2gga3VlbW1lciBtaWNoIG1hbCBkcnVtLgoKU28sIHp1ZnJpZWRlbj8gRGFzIGlzdCBkaWUgb2ZmaXppZWxsZSBBbnR3b3J0LCBkaWUgYWxsZSAyIE1vbmF0ZSBhdWYgZGllc2UKRnJhZ2UgaGluIGF1ZnRhdWNodC4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6cmU6cmU6ZWhlcmluZyAoRWxyaWMsICA1LiBBcHIgMTk5NSwgMTc6Mjg6MzEpOgpXaWUgamV0enQ/IEljaCBkZW5rZSwgZGFzIGhlaXN6dCAiQmlzIGRhc3ogZGVyIFRvZCBldWNoIHNjaGVpZGV0IgpPZGVyIG5pY2ggPwoKTGVkaWcsICAgRWxyaWMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmU6cmU6cmU6ZWhlcmluZyAoR3JpbW1ib3JuLCAgNS4gQXByIDE5OTUsIDE4OjAxOjEwKToKIyEgcm49RWxyaWMgcnQ9Nzk3MDk1NzExCkJpdHRlYml0dGViaXR0ZSEKRWluICJzeiIgbWFnIGphIHNjaG9lbiB1bmQgYWx0bW9kaXNjaCBzb3dpZSBoaXN0b3Jpc2NoIHNlaW4sIGFiZXIgZGllCm9maXppZWxsZSBWZXJzaW9uIGlzdCBlaW4gInNzIiBmdWVyIGRhcyBzY2hhcmZlIHMgKGRhcyB3aWUgZWluIGJldGEgYXVzc2llaHQpCmltIGRldXRzY2hlbi4KRGFzIG1pdCBzeiBzaWVodCBzY2hsaW1tIGF1cywgZWhybGljaC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlOnJlOnJlOmVoZXJpbmcgKEhhcmRpbCwgIDUuIEFwciAxOTk1LCAxODoxMjo1Mik6CiMhIHJuPUdyaW1tYm9ybiBydD03OTcwOTc2NzAKClByb2JpZXJ0IGRvY2ggYWxsZSBtYWwgZGFzIC8zIGFscyAnc3onIGF1cywgYmVrb21tdCBkYXMgZ3Jvc3NlIGhldWxlbiB1bmQKWmFlaG5la2xhcHBlcm4sIHdlaWwgZXMgZ2VuYXVzbyB1ZWJlbCBhdXNzaWVodCwgdW5kIGJsZWlidCBiZWltICdzcycgOi0pCgpHciJ1LzNlIChhcmdsKSwKCgkJSGFyZGlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByZTpyZTpyZTplaGVyaW5nIChBbmF0b2wsICA1LiBBcHIgMTk5NSwgMTg6MTc6NDIpOgojISBybj1IYXJkaWwgcnQ9Nzk3MDk4MzcyCgpHcmltbSwgbmljaHQgZ2FueiBrb3JyZWt0Li4uIERlciAnb2ZmaXppZWxsZScgRXJzYXR6IGRlcyAiRXN6ZXR0cyIgaXN0IGluIGRlcgpUYXQgJ3N6Jy4KCihFciBzYWV1ZnQgQmllciBudXIgaW4gTWFzc2VuLikKOikKCkFuYXRvbCAoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmU6cmU6cmU6ZWhlcmluZyAoR3JpbW1ib3JuLCAgNS4gQXByIDE5OTUsIDE4OjI3OjM3KToKIyEgcm49QW5hdG9sIHJ0PTc5NzA5ODY2MgpOaWNodCBpbSBadXNhbW1lbmhhbmcgbWl0IFJlY2huZXJuIHVuZCBhbmdlbHNhZWNoc2lzY2hlbSBaZWljaGVuc2F0ei4gTmllCmdld2VzZW4uICJzeiIgaXN0IGhpc3RvcmlzY2gsIGRlciBVcnNwcnVuZyBkZXMgImJldGFzIi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoWnVlcmlsZXUsICA2LiBBcHIgMTk5NSwgMDI6MzA6NTkpOgojISBybj1IYXRlIHJ0PTc5NzA4Mzc0OQpzYWxpIEhhdGUsCkljaCBiZXppZWhlIG1pY2ggaW4gbWVpbmVtIGFydGlrZWwgbmljaHQgYXVmIEREUiBzb25kZWVuIGF1ZiBzdGFhdGVuIHdpZQpJcmFrLElyYW4gdW5kIHNvIHdlaXRlciB3byBzb2xjaGUgc2FjaGVuIGJla2FubnQgc2luZC4gVmVyZ2lzcyBuaWNodCBpY2ggYmluCmtlaW4gZGV1dHNjaGVyIGJlaSBtaXIgaGFuZGVsdCB3ZW5uIGljaCB2b24gb3N0IHJlZGUgbmljaHQgYWxsZXMgdW0Kb3N0LWRldXRzY2hsYW5kICEKCnRzY2hhdSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoU2NocnVtcGZpLCAgNi4gQXByIDE5OTUsIDAzOjExOjQzKToKIyEgcm49WnVlcmlsZXUgcnQ9Nzk3MTI4MjU5CkFjaCB1bmQgRHUgd2lsbHN0IHNhZ2VuIEJvaW5nLCBKb2YsIFJ1bWF0ZSB1bmQgZGllIEVyem1hZ2llciBzaW5kIERpa2F0YXRvcmVuCmFsYSBTYWRhbSBIdXNhaW4/IEF1c3NlcmRlbSBzaW5kIFN0YWF0ZW4gd2llIElyYWssIElyYW4ga2VpbmUgT3N0c3RhYXRlbiBkaWUKZ2Vob2VyZW4genUgVm9yZGVyYXNpZW4uIE9zdHN0YWF0ZW4gc2luZCBhdXNzY2hsaWVzc2xpY2ggZGllIGVoZW1hbGlnZW4KT3N0YmxvY2tzdGFhdGVuIHVuZCB6dSBkZW5lbiBnZWhvZXJ0IG5pY2h0IG51ciBkaWUgZWhlbWFsaWdlIEREUiEgQXVzc2VyZGVtOgpXZWxjaGUgU2FjaGVuIG1laW5zdCBEdSBkZW5uIGRhPyBCZWZhc3N0IERpY2ggbWFsIGdlbmF1ZXIgbWl0IEdlb2dyYXBoaWUgdW5kCkdlc2NoaWNodGUgYmV2b3IgRHUgc28gZWluZW4gU2Nod2FjaHNpbm4gdmVyemFwZnN0LiBBYmdlc2VoZW4gZGF2b24gaXN0IGVzIGphCndvaGwgemllbWxpY2ggZGFuZWJlbiBlaW4gUm9sbGVuc3BpZWwgbWl0IGVpbmVyIERpa3RhdHVyIHp1IHZlcmdsZWljaGVuLgpTY2hydW1wZmkKUC5TIEFjaCBqYSBtaXQgUG9saXRpayBzb2xsdGVzdCBEdSBEaWNoIHZpZWxsZWljaHQgYXVjaCBtYWwgYmVmYXNzZW4gYmV2b3IgRHUKaGllciBpcmdlbmR3YXMgdmVyaGFybWxvc3QhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoWnVlcmlsZXUsICA2LiBBcHIgMTk5NSwgMDQ6MDY6MjUpOgojISBybj1TY2hydW1wZmkgcnQ9Nzk3MTMwNzAzClNhbGksClNvIHNjaHJ1bXBmaSBpY2ggZW1wZmVobGUgZGlyIGVpbmVuIEF1Z2VuYXJ6dCB6dSBrb25zdWx0aWVyZW4uIGRlbm4gIGVzCnNjaGVpbnQgbWlyIGRhcyBkdSBtZWluZW4gYXJ0aWtlbCBuaWNodCBnZWxlc2VuIHVuZCBzY2hvbiBnYXIgbmljaHQgdmVyc3RhbmRlbgpoYXN0LgpJY2ggc2FndGUgbnVyIGRhcyBpY2ggZXMgc2NobGVjaHQgZmluZGUgd2VubiBURCBub2NoIG1pdCAyIHdlaXRlcmVuIFRhZ2VuCmJlc3RyYWZ0IHdpcmQgbnVyIHdlaWwgZXIgS3JpdGlrIGFuIHVuc2VyZW4gZXJ6bWFnaWVybiBhdXNnZXVlYnQgaGF0LiBJY2ggaGFiZQpuaWNodHMgZ2VnZW4gdW5zZXJlIGVyemlzIHVuZCBoYWx0ZSBzaWUgYXN1Y2ggZ2FyIG5pY2h0IGZ1ZXIgZGlrYXRvcmVuIGFiZXIKaWNoIGZpbmRzIHNjaGxlY2h0IGRhcyBzaWVzY2hhZGUgZGFzIFREIGRhcnVudGVyIGxlaWRlbiBtdXNzLiBkZWluZW4Kc2NobGVjaHRlbiBUb24gdW5kIGRlaW5lIEJlbWVya3VuZ2VuIHVlYmVyIG1laW5lIGZlaGxlbmRlIHNjaHVsYmlsZHVuZyBrYW5uc3QKZHUgdm9ubWlyYXVzIHNvbnN0d29oaW4gc3RyZWljaGVuLiBVbmQgdmVyaGFybWxvc3QgaGFiZSBpY2gga2VpbnN0ZXIgd2Vpc2UKZXR3YXMsIGFsc28gc2NocnVtcGZpIGR1IGhhc3QgZWluZSByZWljaGUgRmFudGFzaWUgZGllIGR1IGluIGRlaW5lbSBhcnRpa2VsCmF1Y2ggZ2V6ZWlndCBoYXN0IGFiZXIgd2VyZiBtaXIgbmljaHQgZGluZ2Ugdm9yIGRpZSBpY2ggbmllIGdlc2FndCBoYWJlIG9kZXIKc2FnZW4gd3VlcmRlLiAhCgpadWVyaWxldSAoc3Rpbmsgc2F1ZXIgISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVoZXJpbmcgKEtyZXRlaywgIDYuIEFwciAxOTk1LCAwNDowNzozMCk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTcwOTA5NTcKR3JpbW1ib3JuLCBzdWVseiBoaWVyIG5pY2h0IHJ1bSwgc29uZGVybiB0dSBtYWwgYnJhdiBMUEMgc3RyZWJlbiwgZGFubgprYW5uc3QgZHUgcHJvZ2dlbiB1bmQgc29sY2hlIFN0YW5kYXJkLUFudHdvcnRlbiB2ZXJtZWlkZW4sIGluZGVtIERVIGRpZQpTYWNoZW4gdmVyYmVzc2Vyc3QhIDopCkFsc28sIHByb250b2ZpeCEgTWFjaCBoaW5uZSEgU29uc3Qgd2VpbiBpY2ggbWljaCBiZWkgU2NocnVtcGZpIGF1cywgZGllIGhhdAonbiBob2VoZXJlcyBNYWctTGV2ZWwgYWxzIGR1LCB1bmQgZGFubiBrcmllZ3N0IGR1IEFlcmdlciwgZHUgRmF1bHBlbHogYXVzCmRlbSBob2hlbiBOb3JkZW4sIGphd29sbCEgOikKCkw4RVIsCktyZXRlaywgZGVyIE9jaHNlbmZyb3NjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTFBDLURlYnVnZ2VyIChLcmV0ZWssICA2LiBBcHIgMTk5NSwgMDQ6NDQ6MjUpOgpIb3dkeSEKCk1hbCAnbmUgRnJhZ2UgYW4gZGllIHByb2dyYW1taWVyZW5kZSBadW5mdDogR2lidCdzIGVpZ2VudGxpY2ggaXJnZW5kd28Kc293YXMgd2llICduZW4gTFBDLURlYnVnZ2VyLCBkZXIgdW5hYmhhZW5naWcgdm9uIGVpbmVtIEdhbWVkcml2ZXIgbGFldWZ0LApzcHJpY2gsICduZSBQcm9ncmFtbWllcmhpbGZlLCBkaWUgaWNoIGF1ZiBkZW0gaGVpbWlzY2hlbiBQQyBvZGVyIHVudGVyIFVOSVgKaW5zdGFsbGllcmVuIGtvZW5udGU/IChGYWxzY2hlIFRlcm1pbm9sb2dpZSBtb2VnZSBtYW4gbWlyIHZlcnplaWhlbi4uLikKSW50ZXJlc3NhbnQgd2FlcmUgbmF0dWVybGljaCBlaW4gVGVpbCBmdWVyIExQLU11ZHMgaW0gTmF0aXZlLU1vZGUsIHdvbW9lZ2xpY2gKbm9jaCBtaXQgZGVyIE1vZWdsaWNoa2VpdCwgZGllIE11ZGxpYiB2b20gTUcgcmVpbnp1aGFlbmdlbiwgendlY2tzIEVmdW5zIHVuZApMZnVucyB1bmQgc28uLi4gKFdhcnVtIG51cj8gKipncmlucyoqKQoKVHNjaHVlc3NpLApLcmV0ZWsgZGVyIE9jaHNlbmZyb3NjaApkZXIgZGllIEhvZmZudW5nIG5pY2h0IGF1ZmdpYnQsIGRvY2ggbm9jaCBpcmdlbmR3YW5uIE1hZ2llciB6dSB3ZXJkZW4sIHVuZApldWNoIGRhbm4gZ2xlaWNoIG1hbCBtaXQgJ25lciBNZW5nZSBuZXR0ZXIgU2FjaGVuIHVlYmVycmFzY2hlbiB3aWxsLCBJZGVlbgpoYWV0dGUgZXIgbmFlbWxpY2ggc2Nob24gZ2VudWchIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFtaW5nIHVuZCBhZWhubGljaGVzIChUaG9yaW4sICA2LiBBcHIgMTk5NSwgMTE6MzM6MjYpOgpXaWUgd2FlcnMgZGVubiwgd2VubiBpaHIsIEJFVk9SIGlociBlaW5lbiBBcnRpa2VsIHNjaHJlaWJ0LCBldWNoIG1hbCAxMApNaW51dGVuIGhpbnNldHp0IHVuZCBiZXJ1aGlndCA/IERlbm4gZXVyZQpkYXVlcm5kZW4gQW5zY2h1bGRpZ3VuZ3MtIHVuZCBCZWxlaWRpZ3VuZ3NhcnRpa2VsIGZ1ZWhyZW4gZG9jaCB6dSBuaWNodHMKYXVzc2VyIHdpZWRlciBuZXVlbiBBcnRpa2VsbiwgaW4gZGVuZW4gaWhyIGV1Y2ggYW5wYXVsdC4gVW5kIGRhc3MgaXN0IGFic29sdXQKbWllcyBmdWVyIGRpZSBTdGltbXVuZyBpbSBNdWQsIHdlaWwgZGFubiBhbGxlIGdlcmVpenQgd2VyZGVuLCBlcyBub2NoIG1laHIKQXJ0aWtlbCBnaWJ0IHVzdy4gTmljaHQsIGRhc3MKZXMgbWljaCBub2NoIHdhcyBhbmdlaHQsIGJpbiBlaCBzZWx0ZW4gaGllciwgYWJlciBpY2ggZGVua2UgbWFsIGFucyBNdWQuIElocgpoYWJ0IGVzIGR1cmNoIFNwZW5kZW4gZ2VyZXR0ZXQsIGpldHp0IG1hY2h0IGVzIG5pY2h0IHNvIGZlcnRpZyA6KQpUaG9yaW4sIGRlciB1ZWJlciBkaWUgZ2FuemVuIEJlc2NodWxkaWd1bmdlbiB1bmQgQW5wZmxhdW11bmdlbiBudXIgbGFjaGVuCmthbm4gKHVuZCBtdXNzKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYXRpa2VsIChZZW5kaSwgIDYuIEFwciAxOTk1LCAxMjowMzo0OCk6CiMhIHJuPUtyZXRlayBydD03OTcwMDI5MDUKCkdlc2NoaWNodGUgZGVzIE1vcmdlbmdyYXVlbnMuLi4uIGhvZXJ0IHNpY2ggZ3V0IGFuLi4uCgpQcm9ibGVtOiBEaWUgaGV1dGlnZW4gU2VoZXIgd2FyZW4gZGFtYWxzIG5vY2ggbmljaHQgZGFiZWksIGRpZSwgZGllCmRhbWFscyBtaXQgZGFiZWkgd2FyZW4sIHNpbmQgaGV1dGUgYWxsZSBNYWdpZXIgKCJBbGxlPyBOZWluLCBuaWNodCBhbGxlISwKRWluZSBrbGVpbmUgSGFuZHZvbGwgdW5iZXVnc2FtZXIgdW5kLXNvLXdlaXRlciIgOikgdW5kIGhhYmVuIEJlc3NlcmVzIHp1IHR1bgphbHMgc2ljaCBkZXIgVmlydHVhbC1HZXNjaGljaHRzc2NocmVpYnVuZyBoaW56dWdlYmVuLgoKT2Rlcj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBhdGlrZWwgKFJ1bWF0YSwgIDYuIEFwciAxOTk1LCAxMjoyMDozNCk6CiMhIHJuPVllbmRpIHJ0PTc5NzE2MjYyOApEYXMgaGF0IEdlc2NoaWNodHNzY2hyZWliZXIgbm9jaCBuaWUgZGFyYW4gZ2VoaW5kZXJ0LCBzaWNoIHRyb3R6ZGVtCmd1ZXRsaWNoIHp1IHR1ZW4uIFZpZWxsZWljaHQga3JhbXQgamEgamVtYW5kIG5vY2ggZWluIHBhYXIgc2Nob2VuZQpNeXRoZW4gaGVydm9yLiBBY2hqYSwgZGFyYXVzIGtvZW5udGUgbWFuIGF1Y2ggZWluZW4gV2V0dGJld2VyYiBtYWNoZW4uLi4KOi0pClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZsYW1pbmcgdW5kIGFlaG5saWNoZXMgKEJlbGRpbiwgIDYuIEFwciAxOTk1LCAxNDowMDowMik6CiMhIHJuPVRob3JpbiBydD03OTcxNjA4MDYKR3V0ZXIgVm9yc2NobGFnLiBJY2ggaGFicyBqYSBtaXR0bGVyd2VpbGUgKHRlaWx3ZWlzZSAqZ3JpbnMqKSBfYXVjaF8gZ2VsZXJudCwKdW5kIGRhcyB3aWxsIHdhcyBoZWlzc2VuLgoKQmVsZGluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFyYW5vaWEgKEJhcm9uLCAgNi4gQXByIDE5OTUsIDE0OjEwOjA4KToKCgpNb2luLAoKSWNoIGhhYmUgZ2VyYWRlIGZlc3RnZXN0ZWxsdCBkYXMgZGllICJSb2JlbnBhcmFub2lhIiBuaWNodCBudXIgYmVpbSBhdXN6aWVoZW4KdW5kIHdpZWRlciBBbnppZWhlbiBkZXIgZ2VsYmVuIFJvYmUgYXVzZ2Vsb2VzdCB3aXJkIHNvbmRlcm4gYXVjaCB3ZW5uIG1hbiBzZWluCmludmVudG9yeSBtaXQgZGVtIFNjaGllYmVwdXp6bGUgYXVzIGRlbSBTZWhlcmxhZGVuIHNvcnRpZXJ0IDooLgoKSnVzdCBmb3IgaW5mb3JtYXRpb24sCgpCYXJvbiAoaGFzc3QgUGFyYW5vaWEgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFyYW5vaWEgKFdhcmdvbiwgIDYuIEFwciAxOTk1LCAxNDoyMzo1Myk6CiMhIHJuPUJhcm9uIHJ0PTc5NzE3MDIwOApEYXMgbGllZ3QgZGFyYW4sIGRhcyBzaWNoIGRpZSBSb2JlIGJlaW0gVmVyc2NoaWViZW4gKHdpZSBhbGxlClJ1ZXN0dW5nZW4sIFdhZmZlbiB1bmQgU2NobXVja3N0dWVja2UpIGF1dG9tYXRpc2NoIGF1cy0gdW5kCndpZWRlciBhbnppZWhlbi4gRGFzIGxhZXNzdCBzaWNoIG5pY2h0IHZlcm1laWRlbjsgYWxsZXJkaW5ncwppc3QgZGllIFJvYmUgYmlzaGVyIGRlciBlcnN0ZSBtaXIgYmVrYW5udGUgR2VnZW5zdGFuZCBtaXQgZGllc2VuCk5lYmVud2lya3VuZ2VuLi4uIDspCkViZW5mYWxscyBqdXN0IGZvciBpbmZvcm1hdGlvbiwKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGFyYW5vaWEgKExpLCAgNi4gQXByIDE5OTUsIDE1OjM4OjMwKToKIyEgcm49V2FyZ29uIHJ0PTc5NzE3MTAzMwpEYSBrYW5uIGljaCBXYXJnb24gbnVyIHp1c3RpbW1lbgoKRWJlbmZhbGxzIGp1c3QgZm9yIGluZm9ybWF0aW9uLApMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFyYW5vaWEgKE5pZWRlY2tlbiwgIDYuIEFwciAxOTk1LCAxNTo1NTozOCk6CiMhIHJuPUxpIHJ0PTc5NzE3NTUxMAp3ZWlzcyB6d2FyIG5pY2h0IHdvcnVtIGVzIGdlaHQsCgp3YXJ0ZSBhYmVyIHNpY2hlcmhlaXRzaGFsYmVyIGF1Y2ggbWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoS2xpbmdlLCAgNi4gQXByIDE5OTUsIDE2OjI0OjIyKToKIyEgcm49U2NocnVtcGZpIHJ0PTc5NzEzMDcwMwpqYSwuLi53ZW5uIGVyIHdlbmlnZXIga2lmZmVuIHVuZCBtZWhyIG5hY2hkZW5rZW4gd3VlcmRlLi4uCgoqbml4IGdlZ2VuIEtpZmZlbiBhYmVyIG1hbiBtdXNzIGVzIHZlcnRyYWdlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogZmxhbWluZyAtIGFjaCBpc3QgZGFzIHNjaG9lbiAoS2xpbmdlLCAgNi4gQXByIDE5OTUsIDE2OjI2OjMwKToKIyEgcm49WnVlcmlsZXUgcnQ9Nzk3MTMzOTg1Cldlbm4gbWFuIG5pY2h0IG9kZXIgZmFsc2NoIHZlcnN0YW5kZW4gd2lyZCwgZGFubiBsaWVndCBlcyBtZWlzdGVucyBuaWNodCBhbgpkZW5hbmRlcmVuIHNvbmRlcm4gZGFyYW4gZGFzcyBtYW4gc2ljaCBmYWxzY2ggYXVzZ2VkcnVlY2t0IGhhdC4KR3JlaWYgZGlyIGFsc28gZXJzdG1hbCBhbiBkaWUgZWlnZW5lIE5hc2UuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJPQ0hVTSAoUnVkaXJhdHRlciwgIDYuIEFwciAxOTk1LCAyMDoxNToyMyk6CkRpZSBSdWJyaWsgVHJlZmZlbiBpc3QgcmFuZHZvbGwsIGRhaGVyIHdlaWNoZSBpY2ggaGllcmhlciBhdXMuIERlciBTdGFtbXRpc2NoCm1vcmdlbiB3aXJkIHNlaHIgdm9sbC4gRmFsbHMgd2lyIHBsb3R6bGljaCBuaWNodCBtZWhyIGltIFVuaWt1bSBzaW5kLCBzY2hhdXQKZG9jaCBtYWwgaW5zIENsb2NoYXJkIGdlZ2VudWViZXIuIFdpciBtdWVzc2VuIGV2dGwuIHVtemllaGVuLgpSdWRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVoZXJpbmcgKENhdHdlYXpsZSwgIDYuIEFwciAxOTk1LCAyMDoyOTo1OCk6CiMhIHJuPVRocm9pbiBydD03OTcwODQzNzIKRG9uZS4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaGVyaW5nIChLcmV0ZWssICA2LiBBcHIgMTk5NSwgMjE6MDM6MDkpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk3MTkyOTk4CkRhbmtlIQpOdXIgc292aWVsIGhpZXJ6dS4uLgpBYmVyIGRhZnVlciBlaW4gYmVzb25kZXJzIGRpY2tlcyAiRGFua2UhIiA6KQoKWW91cnMgZ2FueiBmdXJjaHRiYXIgdHJ1bHkKS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJhbm9pYSAoQmFyb24sICA2LiBBcHIgMTk5NSwgMjE6MTI6MjUpOgojISBybj1MaSBydD03OTcxNzU1MTAKVmllbGxlaWNodCBsYWVzc3Qgc2ljaCBkYXMgamEgYWJzdGVsbGVuPyAqaG9mZioKU293b2hsIGRpZSBSb2JlIGFscyBhdWNoIGRhcyBQdXp6bGUgc2luZCBlaWdlbnRsaWNoIHNlaHIgcHJha3Rpc2NoIDopCkJhcm9uIChoYWVsdCB2aWVsIHZvbiB1bnNlcmVuIE1hZ3MpCihzY2hsZWltIG9mZikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcmFub2lhIChMaSwgIDcuIEFwciAxOTk1LCAwOTowMDoyNyk6CiMhIHJuPUJhcm9uIHJ0PTc5NzE5NTU0NQpJY2ggZnVlcmNodGUgbmVpbiwgZGVubiB3ZW5uIGljaCBkaWUgUGFyYW5vaWEgbmljaHQgbWVociBhbidzIEFuemllaGVuCmtvcHBsZSwgbWp1ZXNzdGUgaWNoIGxlaWRlciBpaHJlIEFDIChBcm1vdXIgQ2xhc3MpIHJ1bnRlcnNldHplbiwgdW5kIGRhcyB3b2x0CklociBkb2NoIG5pY2h0LCBvZGVyPwpMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFyYW5vaWEgKEJhcm9uLCAgNy4gQXByIDE5OTUsIDA5OjI4OjAxKToKIyEgcm49TGkgcnQ9Nzk3MjM4MDI3CkF1ZiBnYXIga2VpbmVuIEZhbGwgOikhISEKQmFyb24gKHNjaHJlaWJ0IHNpY2ggZ2VyYWRlIGVpbiBTY3JpcHQgZnVlciBkaWUgUm9iZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVjaHRzY2hyZWlidW5nc3JlZm9ybSAoTGksICA3LiBBcHIgMTk5NSwgMTI6MTI6MDApOgpIaSEKTW9lY2h0ZSBtYWwgZWluZXIgc2VoZW4sIHdpZSBkaWUgZGV1dHNjaGUgU3ByYWNoZSBuYWNoIGRlciBuZXVlbiByZWZvcm0KYXVzc2VoZW4gd2lyZD8KCkJpdHRlIHNjaG9lbjogaHR0cDovL3d3dy52bHNpdmllLnR1d2llbi5hYy5hdC9taWtlL2RldXRzY2gtbmV1Lmh0bWwKCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmbGFtaW5nIC0gYWNoIGlzdCBkYXMgc2Nob2VuIChGeXQsICA3LiBBcHIgMTk5NSwgMTI6NDY6MjQpOgojISBybj1adWVyaWxldSBydD03OTcwNzk2NDMKCkFlaG0sIFp1ZXJpLi4uIG5peCBnZWdlbiBEaWNoIHBlcnNvZW5saWNoLi4uIChhdWNoIG5pY2h0cyBnZWdlbiBTYW1hZWwsCmFiZXIgZGFzIG51ciBhbSBSYW5kZSAqZ3JpbnMqKSwgYWJlciB3ZWlzc3QgRHUsIHdhcyBpbiBlaW5lbSAnT3N0c3RhYXQnCnZvcmdlZ2FuZ2VuIGlzdD8gV2VubiBqYSwga2xhZXIgbWljaCBiaXR0ZSBhdWYsIHdlbm4gbmljaHQsIGxhc3MgYml0dGUKZGllIFZlcmdsZWljaGUuCgpGeXQuIFNpY2ggdWViZXIgZGllIDE3TWlvIEhpbnJpY2h0dW5nZW4gaW4gZGVyIEREUiB3dW5kZXJuZCwgZGllIGVyCm5pY2h0IG1pdGJla29tbWVuIGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkUtTWFpbCAoTG9jdXR1cywgIDcuIEFwciAxOTk1LCAxNDoyODowNCk6CkhhbGxvICEKRXMgZ2lidCBuZSBuZXVlIEhpbGZlc2VpdGUgenVtIFBvc3RzeXN0ZW0uIEVzIGlzdCBhdWNoIG1vZWdsaWNoCkUtTWFpbHMgbmFjaCBBdXNzZW4genUgc2NoaWNrZW4gb2RlciB2b24gQXVzc2VuIGhpZXIgaW5zIE1VRAp6dSBzY2hpY2tlbi4gSGFiIG1hbCBuZSBrdXJ6ZSBFcmtsYWVydW5nIGRhenUgZ2VzY2hyaWViZW4uCmhpbGZlIGRhenUgbWl0ICdoaWxmZSBwb3N0JwoKVHNjaG9lLi4uCkxvY3V0dXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJlOnJlOnJlOmVoZXJpbmcgKEFjcmltb24sIDEwLiBBcHIgMTk5NSwgMDA6MzE6MzYpOgojISBybj1IYXJkaWwgcnQ9Nzk3MDk4MzcyCkJlZGFua3QgZXVjaCBiZWkgSm9mLCBkZXIgaGF0IE1HIHNvIGFiZ2VhbmRlcnQsIGRhc3ogbWFuIHdlZGVyIHNjaGFyZmVzIHMKbm9jaCBVbWxhdXRlIGVpbnRpcHBlbiBrYW5uLgpTbyBldHdhcyBuZW5udCBtYW4gZWluZW4gUnVlY2tzY2hyaXR0LgoKSm9mIGhhdCBkYXMgZ2VtYWNodCwgd2VpbCBuaWNodCBhbGxlIGRpZSBVbWxhdXRlIGRhcnN0ZWxsZW4ga29lbm5lbi4KQWJlciB3aWUgYml0dGUgc29sbGVuIHNpZSBqZW1hbHMgZWluZW4gQW5sYXN6IGRhenUgaGFiZW4sIHNpY2ggdW0gYmVzc2VyZQpLb25maWd1cmF0aW9uIHVuZCBiZXNzZXJlIFNvZnR3YXJlIHVuZCBIYXJkd2FyZSB6dSBrdWVtbWVybiwgd2VubiBzaWUgbmllbWFscwplaW5lbiBVbWxhdXQgenUgR2VzaWNodCBiZWtvbW1lbj8KVW5kIHdlciBkaWUgVW1sYXV0ZSBuaWNodCB3aWxsIC0gZGVyIGthbm4gc2llIGltbWVyIG5vY2ggdm9uIGlyZ2VuZGVpbmVyClNvZnR3YXJlIHVtd2FuZGVsbiBsYXNzZW4uCgpBbHNvLCBiZXNjaHdlcnQgZXVjaCBiZWkgSm9mIC0gc2VpbmV0d2VnZW4gbXVlc3p0IGlociBkaWVzZSBsYWVzdGlnZW4KVW1zY2hyZWlidW5nZW4gc2NocmVpYmVuIQoKR3J1c3osCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlOnJlOnJlOmVoZXJpbmcgKEppbWRpZ3JpeiwgMTAuIEFwciAxOTk1LCAwMDo0MDozMik6CiMhIHJuPUFjcmltb24gcnQ9Nzk3NDY2Njk2Ckh1aHUgQWNyaW1vbi4uCgpJY2ggZGVua2UgbmljaHQgZGFzcyBtYW4ga2VpbmUgVW1sYXV0ZSB2ZXJ3ZW5kZW4ga2FubiwKbGV0enRlbiBEb25uZXJzdGFnIGdpbmdzIHp1bWluZGVzdCBub2NoIChtZWluIFh0ZXJtIGhhdCBnZXJhZGUKZ2VwYXNzdC4uKSwgYWJnZXNlaGVuIGRhdm9uIGlzdCBqYSB3b2hsIGtlaW5lCkthdGFzdHJvcGhlIGtlaW5lIFVtbGF1dGUgenUgaGFiZW4sIHNvIHVuZ2xhdWJsaWNoCmdyYXVlbnZvbGwgc2luZCBkaWUgVW1zY2hyZWlidW5nZW4gd29obCBhdWNoIG5lZC4KCkljaCBmaW5kcyBlaW4gd2VuaWcgYmxvZWQsIHdlaWwgc293YXMgbGVpY2h0IHdpZWRlcgpmbGFtZXdhciBhdXNsb2VzZW4ga2FubiAoaGFiIHNoY29uIGJlZ29ubmVuIDotKSkuCgpMaWViZW4gR3J1c3MsCgogSmFtZXMgQm9saXZhciBkaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlOnJlOnJlOmVoZXJpbmcgKEJvbmdvLCAxMC4gQXByIDE5OTUsIDA4OjQ5OjU4KToKIyEgcm49QWNyaW1vbiBydD03OTc0NjY2OTYKV2FzIGZ1ZXIgZWluIFNjaHJvdHQuIFNlbGJzdCB3ZW5uIGljaCBlaW5lbiBBbmxhc3MgaGFldHRlLCBtZWluZQpLb25maWd1cmF0aW9uIHp1IGFlbmRlcm4sIHNvIGlzdCBlcyBtaXIgZGVubm9jaCBuaWNodCBtb2VnbGljaCwgd2VpbCBpY2gKa2VpbmVuIGVpZ2VuZW4gUmVjaG5lciBoYWJlLCBzb25kZXJuIGVpbmVuIHZvbiBtZWluZW0gQXJiZWl0c3BsYXR6Cmdlc3RlbGx0ZW4uLi4gSWNoIGRlbmtlIGF1Y2ggbWFsLCBkYXNzIGRhcyBiZWkgZGVuIG1laXN0ZW4gTGV1dGVuIGhpZXIKc28gc2VpbiB3aXJkLiBNYW4gbmltbXQsIHdhcyBtYW4gYmVrb21tdC4gVW5kIHNvIHNjaHdlciBpc3QgZXMgbnVuIGF1Y2gKbmljaHQsIHNpY2ggYW4gZWluIHNzIG9kZXIgc3ogenUgZ2V3b2VobmVuLiBadW1pbmRlc3QgaXN0IGVzIGxlaWNodGVyLCBhbHMKc2ljaCBhbiBlaW4gOjogb2RlciBzbyBlaW5lbiBLcmFtIHp1IGdld29laG5lbiwgd28gbWFuIG5pY2h0IGVpbm1hbCB3ZWlzcywKb2IgZXMgZWluIFVFIGVpbiBPRSBlaW4gQUUgZWluIFNTIG9kZXIgc29uc3R3YXMgaXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiByZTpyZTpyZTplaGVyaW5nIChKb2YsIDEwLiBBcHIgMTk5NSwgMTE6MzM6MjIpOgojISBybj1BY3JpbW9uIHJ0PTc5NzQ2NjY5NgogVG9sbGUgSWRlZSwgQWNyaW1vbiAtIHdpZSBzb2xsIGRlbm4gT3R0byBOb3JtYWx1c2VyIHNlaW5lIFdvcmtzdGF0aW9uIHVtLQprb25maWd1cmllcmVuLCBkYW1pdCBzaWUgVW1sYXV0ZSBkYXJzdGVsbGVuIGthbm4/IE5pY2h0IGplZGVyIGhhdCBSb290LVBlcgptaXNzaW9ucyAuLi4gdW5kIHZvbiBkZW4gTGV1dGVuIGFuIFZNL0NNUyBSZWNobmVybiB1c3cgc2Nod2VpZ2VuIHdpciBtYWwuCldvenUgYWxzbyB1bSBIaW1tZWxzIFdpbGxlbiBkZXIgQXVmd2FuZD8gV2VubiBEdSBEaWNoIG51biBnYXIgbmljaHQgbWl0CmFlL29lL3VlIGFuZnJldW5kZW4ga2FubnN0LCBuaW1tIGRvY2ggImEsIm8gdW5kICJ1IC0gZGFzIGdlaHQgaW1tZXIgdW5kCnVlYmVyYWxsLiBBdXNzZXJkZW0gZmlsdGVybiB3aXIgbmljaHQgc3BlemllbGwgVW1sYXV0ZSByYXVzLCBzb25kZXJuIEFMTEVTCnp3aXNjaGVuIEFTQ0lJIDAtMzEgdW5kIDEyOC0yNTUsIGRhIHp1bWluZGVzdCAwLTMxIFByb2JsZW1lIG1hY2h0ZW4sIHdpbAptYW4gZGFtaXQgTGV1dGVuIGRhcyBUZXJtaW5hbCAnemVya29uZmlndXJpZXJlbicga29ubnRlLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmU6cmU6cmU6ZWhlcmluZyAoSGFyZGlsLCAxMC4gQXByIDE5OTUsIDExOjUzOjA5KToKIyEgcm49QWNyaW1vbiBydD03OTc0NjY2OTYKCk9oIGdyby8zZXIgQWNyaW1vbiwgd2llIGxlaWQgRHUgbWlyIHR1c3QgOi0pCgpIYXQgZG9jaCBkZXIgYm9lc2UgYm9lc2UgSm9mIERpciBhbGxlIERlaW5lIFVtbGF1dGUgd2VnZ2Vub21tZW4uCkpldHp0IGgiYXR0ZXN0IER1IERpciBkb2NoIGdsYXR0IGRpZSBLb3N0ZW4gZGVzIHNjaCJvbmVuIDEyOC1UYXN0ZW4tS2V5Ym9hcmRzCnNwYXJlbiBrIm9ubmVuLCB3ZWlsIER1IGpldHp0IG1pdCBlaW5lbSAxMjUtVGFzdGVuLUtleWJvYXJkIGF1c2tvbW1zdC4uLgoKQWIgZGFmInVyLi4uCgoJCUhhcmRpbCAoc2NocmVpYnQgbmllIHdpZWRlciBVbWxhdXRlIG1pdCAiLCB2ZXJzcHJvY2hlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJlOnJlOnJlOmVoZXJpbmcgKFRvc3MsIDEwLiBBcHIgMTk5NSwgMTI6MjE6NTEpOgojISBybj1IYXJkaWwgcnQ9Nzk3NTA3NTg5CmFjcmltb24sCmRlaW5lIGlnbm9yYW56IGltIGJlenVnIGF1ZiBkaWUgdW1sYXV0ZSBuZXJ2dCBudW4gc2Nob24gZWluZSB3ZWlsZSAtIGRhc3MKbmljaHQgamVkZXIgc2VpbmVuIHJlY2huZXIgc28ga29uZmlndXJpZXJlbiBrYW5uLCB3aWUgRFUgZXMgZ2VybmUgaGFldHRlc3QsCnNvbGx0ZSBkb2NoIG1pdHRsZXJ3ZWlsZSBiZWthbm50IHNpZW4uCkJldm9yIGR1IGFuZ2VmYW5nZW4gaGFzdCwgaGllciBncm9zcyBhdWZ6dW11Y2tlbiwgZGFzcyBhbGxlIGRlaW5lbiBJU08gMDgvMTUKc3RhbmRhcmQgYmVudXR6ZW4gc29sbHRlbiwgaGF0dGUga2VpbmVyIGVpbiBwcm9ibGVtIG1pdCBkZW4gZmVobGVuZGVuCnVtbGF1dGVuLgpWaWVsbGVpY2h0IHNvbGx0ZXN0IGR1IG1hbCBkYXJ1ZWJlciBuYWNoZGVua2VuLCBkYXNzIGRhcyBwcm9ibGVtIGJlaSBkaXIKbGllZ3QsIHVuZCBuaWNodCBiZWkgYWxsZW4gYW5kZXJlbiA/IFdlbm4gZHUgc2Nob24gbmljaHQgZmxleGliZWwgZ2VudWcgYmlzdCwKZGljaCBkYXJhbiB6dSBnZXdvZWhuZW4sIGRhc3MgZXMgaGllciBrZWluZSB1bWxhdXRlIGdpYnQsIGRhbm4gc3BhcmUgZGlyCndlbmlnc3RlbnMgZGVpbmUgYWxsd29lY2hlbnRsaWNoZW4gbWVja2VyZWllbiwgZGFzcyBrZWluZXIgZGVpbmUgImdydXN6ZSIKcmljaHRpZyBsZXNlbiBrYW5uIC0gbGFuZ3NhbSB3aXJkIGRhcyBuYWVtbGljaCBsYW5nd2VpbGlnLgoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmU6cmU6cmU6ZWhlcmluZyAoQmVsZGluLCAxMC4gQXByIDE5OTUsIDE2OjIzOjAwKToKIyEgcm49Qm9uZ28gcnQ9Nzk3NDk2NTk4CkFlaC4uLgpMZXV0ZTogRGllIHJpY2h0aWdlIFVtc2V0enVuZyBmdWVyIGRhcyAiLzMiICphcmdsKiBpc3QgdW5kIGJsZWlidAplaW4gInNzIi4gV2VyIGRhbWl0IFByb2JsZW1lIGhhdCwgc29sbHRlIHNpY2ggbWFsIGRlbiBEdWRlbiBvZGVyCnNvbnN0aWdlIFN0YW5kYXJkd2Vya2UgZGVyIGR0LiBSZWNodHNjaHJlaWJ1bmcgZHVyY2hsZXNlbi4gRGFzc2VsYmUKZ2lsdCBmdWVyICJ1ZSIgdXN3LgpXbyBrb21tZW4gd2lyIGRlbm4gaGluLCB3ZW5uIHNpY2ggamVkZXIgZGllIGVpZ2VuZW4gUmVnZWxuIHp1cmVjaHQtCmJhc3RlbHQsIG51ciB3ZWlsIGVzIElITSBzbyBwYXNzdD8gOi0pCgpCZWxkaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbWxhdXRlIHVuZCBzbyAoQXJhbnlhLCAxMC4gQXByIDE5OTUsIDE3OjMxOjM4KToKQWxzbzogR3J1bmRzYWV0emxpY2ggbWFsIHp1IGRlbiBVbWxhdXRlbjogSWNoIGZpbmQgZGFzIHNjaG9uIE9LLCBkYXNzIG1hbgpVbWxhdXRlICJ1bXNjaHJlaWJlbiIgbXVzcy4gSWNoIHNpdHplIG9mdCBnZW51ZyBhbiBlaW5lbSBUZXJtaW5hbCwgZGVyIGRlc3dlLQpnZW4gc3B1Y2t0LgoKWnVtIFp3ZWl0ZW46IERpZSBVbXNjaHJlaWJ1bmcgInN6IiBmdWVyIGRhcyAiRXNzemV0IiBpc3QgbnVyIGluIFp3ZWlmZWxzZmFlbC0KbGVuIHp1bGFlc3NpZyAoTWFzc2VuIHVuZCBNYXN6ZW4sIGthbSBnbGF1YiBpY2ggc2Nob24gbWFsIHZvcikuIEFiZ2VzZWhlbiBkYS0Kdm9uIGxpZXN0IGVzIHNpY2ggZWluZmFjaCBzY2h3ZXJlci4gVW5kIGRpZSBTY2h3ZWl6ZXIgaGFiZW4gc293aWVzbyBkYXMgIkVzcy0KemV0dCIgbmljaHQgdW5kIHNjaHJlaWJlbiBpbW1lciBudXIgInNzIiwgZ2VsbCBadWVyaT8KClVuZCB6dW0gRHJpdHRlbjogRGFzICIvMyIgaGF0IHp3ZWkgRW50d2lja2x1bmdlbiBoaW50ZXJzaWNoLCB0eXBvZ3JhcGhpc2NoCmdlLQpzZWhlbjogRWluZXJzZWl0cyBhbHMgInN6IiAtIGluIGFlbHRlcmVuIFNjaHJpZnRlbiBiZXNzZXIgenUgZXJrZW5uZW4gZWkKLXNvcnJ5IGZ1ZXIgZGVuIEZlaGxlciBvYmVuLQplaW4gYWx0ZXMgU2NobHVzcy1TICh3aWUgZWluIGYgb2huZSBRdWVyc3RyaWNoKSB1bmQgZWluIGFsdGVzIFogKHdpZSBlaW5lCm5hY2ggdW50ZW4gZ2VydXRzY2h0ZSAzIG1pdCBTcGl0emUpLiBVbmQgZGFubiBnaWJ0J3MgZGFzIGhldXRlIHVlYmxpY2hlICJTUyIsCmdlYmlsZGV0IGViZW5mYWxscyBhdXMgZWluZW0gU2NobHVzcy1TIHVuZCBlaW5lbSBSdW5kLVMgbWl0IGVpbmVtIEJvZ2VuIHZlci0KYnVuZGVuLiBadWVyc3QgdGF1Y2h0IGRhcyAiU1MiIGluIGRlciBBbnRpcXVhIEdhcmFtb25kIGF1ZiAuLi4gRnVlciBGcmVha3MuCgpEYXMgc293ZWl0IHp1bSBCdWNoc3RhYmVuc3RyZWl0IDspCgpBcmFueWEKICAgICAgU2NocmlmdGZyZWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW1sYXV0ZSB1bmQgc28gKEhhZHJhLCAxMC4gQXByIDE5OTUsIDIwOjQyOjAwKToKIyEgcm49QXJhbnlhIHJ0PTc5NzUyNzg5OAoKaGlobywKCmFsc28gbWVpbiBybC10aXBwZXIgaGF0IDE1IG1vbmF0ZSBudXIgc3ogdW5kIHJvbWFuIDMgZ2VzZWhlbiB1bmQga29tbXQKZGFtaXQgaW1tZXIgbm9jaCBnYW56IGd1dCBrbGFyLiBpY2gga2FubiBhbGxlcmRpbmdzIGF1Y2ggJ3NzJyB1bmQgJy8zJyBsZXNlbi4KZWluZSBmYWVoaWdrZWl0LCBkaWUgZWluaWdlbiBhbmRlcmVuIGxlaWRlciBhYnp1Z2VoZW4gc2NoZWludC4KCmhhZHJhIC0gZGVyIHNpY2ggaW1tZXIgd2llZGVyIHVlYmVyIGRpZXNlIGRpc2t1c3Npb24gZnJldXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbWxhdXRlIHVuZCBzbyAoWnVlcmlsZXUsIDEwLiBBcHIgMTk5NSwgMjM6Mzg6MDEpOgojISBybj1BcmFueWEgcnQ9Nzk3NTI3ODk4ClNhbGkgQXJ5YW5hLApXYXMgc29sbCBpY2ggYXVmIGRlaW5lIGZyYWdlIG5vY2ggYW50d29ydGVuIGR1IGhhc3QgamEgYWxsZXMgc2Nob24gZ2VzYWd0LiBKYQppY2ggaGFiZSBoaWVyIGluIGRlclNjaHVsZSBub2NoIG5pZWUgZXR3YXMgdm9uICdzeicgZ2Vob2VydCBoaWVyIGdpZWJ0cwp3aXJrbGljaCBudXIgJ3NzJy4KClRzY2hhdSBadWVyaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByZTpyZTpyZTplaGVyaW5nIChBY3JpbW9uLCAxMS4gQXByIDE5OTUsIDAwOjUzOjQ3KToKIyEgcm49Sm9mIHJ0PTc5NzUwNjQwMgpEYXMgaXN0IGF1Y2ggcmljaHRpZyBzbywgQXNjaWkgMC0zMSBtdXN6IG1hbiBhdWYgamVkZW4gRmFsbCByYXVzZmlsdGVybi4KMTI4IC0gMjU1IGRhZ2VnZW4gZWhlciBuaWNodC4KVW5kIHp1bSBndXRlbiBFaW5zdGVsbGVuIGJyYXVjaHQgbWFuIGtlaW5lIFJvb3RwZXJtaXNzaW9ucywgZGFzIGthbm4gamVkZXIKb2huZSBSb290a2VubnVuZyBndXQgbWFjaGVuLgpXYXMgbWFuIGFsbGVyZGluZ3MgYnJhdWNodCwgaXN0IGVpbiBIb21ldmVyemVpY2huaXMsIHVtIGRpZQpLb25maWd1cmF0aW9uc2RhdGVuIHNwZWljaGVybiB6dSBrb2VubmVuLiBEYW5uIHdpcmQgamVkZXNtYWwsIHdlbm4gbWFuIHNpY2gKZWlubG9nZ3QsIGF1dG9tYXRpc2NoIG5ldSBrb25maWd1cmllcnQuCkRhcyBQcm9ibGVtIGlzdCBhYmVyLCBkYXN6IG1hbmNoZSBMZXV0ZSBrZWluIEhvbWV2ZXJ6ZWljaG5pcyBoYWJlbi4KRGllc2UgTGV1dGUga29lbm5lbiBuaWNodHMgZGF1ZXJoYWZ0IGVpbnN0ZWxsZW4sIHVuZCBmdWVyIHNpZSB3YWVyZSBlcyB3b2hsCmFtIGJlc3Rlbiwgd2VubiBzaWUgaW0gTXVkIGVpbnN0ZWxsZW4ga29lbm5lbiwgZGFzeiBzaWUga2VpbmUgVW1sYXV0ZSBzZWhlbgp3b2xsZW4uCldpZSBrYW5uIG1hbiBkYXMgaW1wbGVtZW50aWVyZW4gaW0gTUc/IEVpbmUgT3B0aW9uIHJlaWNodCwgZGllIGVpbmZhY2ggLSB3ZW5uCmVpbmdlc3RlbGx0IC0gYWxsZXMgdWViZXIgMTI3IHJhdXNmaWx0ZXJ0LiBXaWxsIG1hbiBlcyBlaW4gd2VuaWcga29tZm9ydGFibGVyCm1hY2hlbiwgZGFubiBuaW1tdCBtYW4gZWluZmFjaCBkYXMgSXNvLShvZSkgdW5kIG1hY2h0IGRhcmF1cyBkaWUgendlaQpCdWNoc3RhYmVuIG8gZS4KRGFzIGxpZWd0IGpldHp0IGRhcmFuLHdpZXZpZWwgWmVpdCB1bnNlcmUgbGllYmVuIE1HLUdvZXR0ZXIgaW4gZGllc2UgQXJiZWl0CnN0ZWNrZW4gd29sbGVuLCBhYmVyIGljaCB2ZXJtdXRlLCBkaWVzZSBBcmJlaXQgaXN0IGlubmVyaGFsYiBlaW5lciBTdHVuZGUKZXJsZWRpZ3QuCgpOb2NobWFsOiBNYW4gYnJhdWNodCBLRUlORSBSb290a2VubnVuZywgYXVjaCBicmF1Y2h0IG1hbiBuaWNodCBzb25kZXJsaWNoCnZpZWwgQWhudW5nLCB1bSBkYXMgZGF1ZXJoYWZ0IGVpbnN0ZWxsZW4genUga29lbm5lbi4gRGllIFByb3plZHVyIHVtIGRhcwplaW56dXN0ZWxsZW4saXN0IGltbWVyIGRpZXNlbGJlLCBpY2gga29lbm50ZSAtIHdlbm4gaWhyIGRhcyBoYWJlbiB3b2xsdCAtIGVpbgpSZXplcHQgc2NocmVpYmVuLCB3aWUgbWFuICh3ZW5uIG1hbiBlaW4gSG9tZXZlcnplaWNobmlzIGhhdCkgc2VpbmUgUHJvZ3JhbW1lCnNvIGtvbmZpZ3VyaWVydCwgZGFzeiBtYW4gVW1sYXV0ZSAoYXVjaCBhdWYgZWluZXIgYW1lcmlrYW5pc2NoZW4gVGFzdGF0dXIpCnNjaHJlaWJlbiB1bmQgbGVzZW4ga2Fubi4KCklzdCBhbGxlcyBuaWNodCBzbyBhdWZ3ZW5kaWcgd2llIGlociB2aWVsbGVpY2h0IGRlbmt0LgoKR3J1c3osCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlOnJlOnJlOmVoZXJpbmcgKER1cmlhbiwgMTEuIEFwciAxOTk1LCAxMDowMzo0OCk6CiMhIHJuPUFjcmltb24gcnQ9Nzk3NTU0NDI3Ck1vaW4hCgpFaWdlbnRsaWNoIGhhYmUgaWNoIGtlaW5lIEx1c3QsIG1laW4geHRlcm0gc28genUga29uZmlndXJpZXJlbiwgZGFtaXQgaWNoCkRlaW5lIFVtbGF1dGUgbGVzZW4ga2Fubi4gQmVpIEVtYWlscyB1bmQgaW4gTmV3c2dydXBwZW4gaXN0IGVzIGVoIGdhbmcgdW5kCmdlYmUsIGRhc3MgbWFuIFVtbGF1dGUgdW1zY2hyZWlidC4gVW5kIG51ciBkYW1pdCBpY2ggaW0gTVVEIGRpZSBVbWxhdXRlIGVpbmVzClNwaWVsZXJzIGJla29tbWUsIGtvbmZpZ3VyaWVyZSBpY2ggaGllciBuaXguCk1hbCBhYmdlc2VoZW4gZGF2b24gZGFzcyBpY2ggbmljaHQgd3Vlc3N0ZSB3aWUuCgpIYWNoLCBpY2ggbGllYmUgc29sY2ggdW5udWV0emUgRGlza3Vzc2lvbmVuLiBTY2hhZmZlbiB3aXIgbm9jaCBlaW4gUmVeMjA/CkRhcyB3YWVyZSBuZXVlciBSZWtvcmQsIGdsYXViZSBpY2ggOi0pCgpNaXQgZWluZW0gU2NobXVuemVsbiwKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogcmU6cmU6cmU6ZWhlcmluZyAoQW5hdG9sLCAxMS4gQXByIDE5OTUsIDEwOjIxOjI5KToKIyEgcm49QW5hdG9sIHJ0PTc5NzU4ODQzNgoKICAgICAgIFJlY2h0IHNvPwogICAgICAgT2RlciBkYXJmIGVpbiBiaXNzY2hlbiBtZWhyIHNlaW4gPwoKQW5hdG9sICgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoZWxmZW4gb2RlciBkZW4gYW5kZXJlbiB2ZXJhZXBwZWxuLCBqZSBuYWNoIEx1c3QgdW5kIExhdW5lLi4uIChGZWxzLCAxMS4gQXByIDE5OTUsIDExOjU3OjU4KToKSGFsbG8gQWxsZSEKRXJzdCBtYWwgZWluZSBXcm51bmc6IERhcyBpc3QgbWVpbiBlcnN0ZXIgWmVpdHVuZ3NhcnRpa2VsLi4uIDotKQpXb3J1ZWJlciBpY2ggbGFiZXJuIG1vZWNodGU6IE1pciBmYWVsbHQgYXVmLCBkYXNzIGluIGxldHp0ZXIgWmVpdCBkaWUgSGlsZmUKdW50ZXIgZGVuIFNwaWVsZXJuIG9kZXIgYXVjaCB2b24gU2VoZXIgenUgU3BpZWxlciBldHdhcyBzZWx0c2FtZSBGb3JtZW4KYW5uaW10LiBFaW4gQmVpc3BpZWw6ClNjaG9uIG9mdCBoYWJlIGljaCBhdWYgQWxsZ2VtZWluIGdlZnJhZ3QsIHdpZSBpY2ggYXVzIGlyZ2VuZGVpbmVtIExhYgpyYXVza29tbWVuIGtvZW5udGUuIERhIGlzdCBlcyBkYW5uIHNlZWVociBoaWxmcmVpY2gsIHdlbm4gbWFubiBpbW1lciB3aWVkZXIgenUKbGVzZW4ga3JpZWd0ICJtaXQgRW5kZT8iLiBHZXdpc3NlIExldXRlIHNjaGVpbmVuIHNpY2ggZWluIEFsaSBmdWVyIGRpZXNlbiBTYXR6CmdlbWFjaHQgenUgaGFiZW4sIHVuZCB0aXBwZW4gZGFzIGRhbm4gcHJpbnppcGllbGwgYmVpIGplZGVyIEZyYWdlIGVpbi4uLgpWb24gTWFnaWVybiBlcndhcnRlIGljaCBqYSBrZWluZSBIaWxmZSwgc292aWVsIGlzdCBhdWNoIG1pciBrbGFyLiBBYmVyCm11ZXNzZW4gc2llIGRhbm4gZWluZW4gc29sY2hlbiBLb21tZW50YXIgenUgZWluZXIgRnJhZ2UgYWJnZWJlbj8gRWlubWFsIGthbm5zCmphIGx1c3RpZyBzZWluLi4uClVuZCBzZWl0IGt1cnplbSBzY2hlaW5lbiBhdWNoIGdld2lzc2UgU2VoZXIgZGllc2VzIFZlcmhhbHRlbiBzZWhyIHp1CnNjaGFldHplbiB1bmQgdWViZXJuZWhtZW4gZXMgZGVtZW50c3ByZWNoZW5kLi4uIEZyYWdlIGFuIGFsbGUgU2VoZXIgdW5kCk1hZ2llcjogU2VpZCBJaHIgZXR3YSBPSE5FIEhpbGZlIGF1ZiBFdXJlIGpldHppZ2UgU3R1ZmUgZ2Vrb21tZW4/IFdhcnQgSWhyCm5pY2h0IGF1Y2ggb2Z0IGZyb2ggdWViZXIgZGVuIGVpbmVuIG9kZXIgZGVuIGFuZGVyZW4gVGlwIHZvbiBNaXRzcGllbGVybj8KQWxzbywga3VyeiB6dXNhbW1lbmdlZmFzc3Q6IFdlbm4gZWluZXIgbmljaHQgaGVsZmVuIHdpbGwsIGRhbm4gc29sbCBlciBkb2NoCndlbmlnc3RlbnMgbmljaHQgbm9jaCBkYWVtbGljaGUgS29tbWVudGFyZSBzY2hyZWliZW4uIERpZSBFYmVuZW4gc2luZCBqYSB1bnRlcgphbmRlcmVtIGZ1ZXIgRnJhZ2VuIGRhLCBvZGVyPwpTbywgamV0enQgaGFiIGljaCBnZW51ZyBnZWxhYmVydC4uLnVuZCBiaW4gYmVyZWl0IGZ1ZXIgamVkZSBLcml0aWsuLi4KKnppdHRlciouCgoKR3J1c3MsIEZlbHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJlOnJlOnJlOmVoZXJpbmcgKFRvc3MsIDExLiBBcHIgMTk5NSwgMTI6MTA6NTcpOgojISBybj1EdXJpYW4gcnQ9Nzk3NTg3NDI4CipzZXVmeioKCmR1cmlhbiwgd2VubiB3aXIgbnVyIGVyc3QgYmVpIHJlXjIwIHdhZXJlbi4uLgpsZWlkZXIgZ2VodCBhY3JpbW9ucyBydW1nZWhldWxlIGpldHp0IHNjaG9uIGluIHJ1bmRlIDk4NiAtIG9kZXIgc28uLi4KClJ5bmUKZnJhZ3Qgc2ljaCwgd2FubiBhY3JpbW9uIGVuZGxpY2ggZWluc2llaHQsIGRhc3Mgc2VpbmUgaWdub3JhbnogaGllciBrZWluZW4KaW50ZXJlc3NpZXJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBoZWxmZW4gb2RlciBkZW4gYW5kZXJlbiB2ZXJhZXBwZWxuLCBqZSBuYWNoIEx1c3QgdW5kIExhdW5lLi4uIChDYXJhZGhyYXMsIDExLiBBcHIgMTk5NSwgMTI6MzM6MjEpOgojISBybj1GZWxzIHJ0PTc5NzU5NDI3OAogICAgICAgIEh1aHUgRmVsc2NoZW4KCiplcnJvZXQqIEljaCBtdXNzIHp1Z2ViZW4gZGFzIGlzdCBvZWZ0ZXJzIGF1Y2ggbWVpbmUgQW50d29ydCwgYWJlciBqZWRlcy0KbWFsIHdlbm4gaWNoIGRhcyBzYWdlIHdlaXNzIGljaCBlcyBuaWNodCBiZXNzZXIgOi0pKQpPZGVyIGVzIGtvbW10IHNvZm9ydCBkYW5hY2ggZWluIHRlaWxlIG1pdCBhbiBkZW5qZW5pZ2VuIHdpZSBlcyBrbGFwcGVuCmtvZW5udGUuIDstKQoKICAgICBtaXQgZWluZW0gZGlja2VuIEtudWRkbGVyIGFuIGRlbiBTZW5zZW5tYW5uCiAgICAgICAgICAgICAgICBDYXJhZGhyYXMgLSAxIGJpcyAxMSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VtcGYhIChHdW5kdXIsIDExLiBBcHIgMTk5NSwgMTI6NTA6NTkpOgpJbiBsZXR6dGVyIFplaXQgaGFiZW4gc2ljaCBkZXMgb2VmdGVyZW4gTGV1dGUgaW0gTmFibGFzdW1wZiB2ZXJpcnJ0Li4KLi4uc293YXMgYWJlciBhdWNoIDotKQpOdW5qYSBkYXMgUHJvYmxlbSBoYXQgc2ljaCBzb3p1c2FnZW4gdm9uIHNlbGJzdCBnZWxvZXN0Li4KSGV1dGUgTW9yZ2VuIGdhYiBlcyBlaW5lbiBTa2xhdmVudHJhbnNwb3J0IChPcmtzKSB2b24gZGVuIERyYWNoZW56aW5uZW4gYmlzCnp1ciBLdWVzdGUgd28gZGllc2VsYmVuIGF1ZiBkaXZlcnNlIFNjaGlmZmUgdmVyZnJhY2h0ZXQgd3VyZGVuLiAod2VyIHdlaXNzCndvaGluKQpXaWUgZGVyIFp1ZmFsbCBlcyB3aWxsIGhhYmVuIGRpZSBTa2xhdmVuaGFlbmRsZXIgZWluZW4gV2VnIGR1cmNoIGRlbiBTdW1wZgpnZW5vbW1lbiB1bmQgc29taXQgZXhzdGllcnQgbnVuIGVpbiBQZmFkIGhpbmR1cmNoLi4uCkZhbGxzIG1hbiBzaWNoIGRvY2htYWwgdmVyaXJydCB3ZW5uIG1hbiB2b20gcmVjaHRlbiBQZmFkIGFid2VpY2h0IC0+IEVzIGdpYnQKV2VnZSB1bmQgTW9lZ2xpY2hrZWl0ZW4gZGEgd2llZGVyIHJhdXN6dWtvbW1lbiEgKE5pY2ggbnVyIE11ZW56ZW4gaGVsZmVuIGltClN1bXBmLi5hdWNoIEhpcm4hKQouLi4KR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiByZTpyZTpyZTplaGVyaW5nIChKb2YsIDExLiBBcHIgMTk5NSwgMTM6NTU6MjMpOgojISBybj1BY3JpbW9uIHJ0PTc5NzU1NDQyNwogTm9jaG1hbDogV2lyIHdlcmRlbiB1bnMgaGllciBrZWluZW4gU3RyZXNzIG1pdCBVbXNldHp1bmcgdm9uIFVtbGF1dGVuIGluIG9lCnVzdyBtYWNoZW4sIHdlaWwgaWNoIGVzIHp1bSBlaW5lbiBmdWVyIHNjaGxpY2h0IHVlYmVyZmx1ZXNzaWcgaGFsdGUgdW5kIGVzCnp1bSB6d2VpdGVuIGF1Y2ggbmljaHQgR0FOWiBzbyBsZWljaHQgaXN0IC0gZGVyIFVtbGF1dCBpc3QgRUlOIFplaWNoZW4sIG9lCnNpbmQgKHdpZSBEaXIgdmllbGxlaWNodCBhdWZmYWVsbHQsIHdlbm4gRHUncyBzbyB2b3IgQXVnZW4gaGFzdCkgWldFSSwgZGFtaXQKbWFjaHQgbWFuIEZvcm1hdGllcnVuZ2VuIHVzdyBrYXB1dHQuIFp1ZGVtIGlzdCBkYXMgQXVzZmlsdGVybiB2b24gVW1sYXV0ZW4KaW4gRWluZ2FiZW4gbGVpY2h0IGluIGRlciBNdWRsaWIgenUgaW1wZWxlbnRpZXJlbiwgd2FlaHJlbmQgZGFzIEZpbHRlcm4gYmVpCmRlbiBBdXNnYWJlbiBudXIgbWl0IGVpbmVyIEFlbmRlcnVuZyBpbSBHYW1lRHJpdmVyIG1vZWdsaWNoIGlzdCAod2FzIHVuLQplcnd1ZW5zY2h0IGlzdCwgd2lyIGhhYmVuIGdyYWRlIHVuc2VyZW4gR0Qgd2VpdGdlaGVuZCBhbiBkZW4gU3RhbmRhcmQtR0QKYW5nZWdsaWNoZW4sIGRhcyB3YWVyZSBhbHNvIGVpbiBlY2h0ZXIgUnVlY2tzY2hyaXR0KS4KIE5vY2htYWwgZGV1dGxpY2g6IE1HIGJlc2NocmFlbmt0IHNpY2ggYXVmIDcgQml0IEFTQ0lJLCBhbHNvIEtFSU5FIFVtbGF1dGUsCnVuZCBkYXMgQkxFSUJUIGF1Y2ggc28uIFB1bmt0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmU6cmU6cmU6ZWhlcmluZyAoSm9mLCAxMS4gQXByIDE5OTUsIDEzOjU4OjM0KToKIyEgcm49Sm9mIHJ0PTc5NzYwMTMyMwogTWl0ICd1bnNlcmVtIEdEJyBtZWluZSBpY2ggbmF0dWVybGljaCBkZW4gdm9uIEFteWxhYXIsIHdpciBoYWJlbiBiaXNoZXIKYmxvc3MKc28gZWluaWdlIEFlbmRlcnVuZ2VuIGRyaW4gZ2VoYWJ0LCBkaWUgaWNoIG5hY2ggdW5kIG5hY2ggcmF1c3dlcmZlIHVuZCBzbwp3ZWl0IHdpZSBtb2VnbGljaCBpbiBkaWUgTXVkbGliIHZlcmxhZ2VyZS4gRGFzIHdvbGx0IGljaCBudXIgbm9jaCBrbGFyLQpzdGVsbGVuIC4uLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcmU6cmU6cmU6ZWhlcmluZyAoQXNtb2RpcywgMTEuIEFwciAxOTk1LCAxNDowNDo0NSk6CiMhIHJuPUpvZiBydD03OTc2MDE1MTQKQWVoLCBXYXMgYXQgZWlnZW50bGljaCBkZXIgVGl0ZWwgZGllc2VzIEFydGlrZWxzIG1pdCBVbWxhdXRlbiB6dSB0dW4gPwoKICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoQXNtb2RpcywgMTEuIEFwciAxOTk1LCAxNDoxMToxOSk6CiMhIHJuPUZlbHMgcnQ9Nzk3NTk0Mjc4Ck5hamEsIGxpZWJlciBGZWxzKGJpc3QgZHUgZWlnZW50bGljaCBtaXQgS2llc2Vsc3RlaW4gdmVyd2FuZHQ/IDopICApCldlbm4gbWFuIDEwIG1hbCBhbSBUYWcgZGllc2VsYmUgRnJhZ2UgZ2VzdGVsbHQgYmVrb21tdCAod2llIGtvbW1lIGljaCBhdXMKZGVtIEZyaWVkaG9mc2xhYiBoZXJhdXM/IFdpZSBmaW5kZSBpY2ggZHVyY2ggZGVuIFdpcnJ3YXJybW9vcj8KV2VyIHdlaXNzIGVpbmVuIFdlZyBkdXJjaCBkaWUgVHVuZHJhPyksIGRhbm4gc3R1bXBmdCBtYW4gbWl0IGRlciBaZWl0IGFiLAp1bmQga29tbXQgZGFubiBtaXQgc29sY2hlbiBQaHJhc2VuIGhlcmF1cy4KSXN0IGFiZXIgbmljaHQgcGVyc29lbmxpY2ggZ2VtZWludCA6KQogICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKClAuUy46IEVzIGdpYnQgZGEgbWFuY2hlIExldXRlLCBkZW5lbiBtdXNzIG1hbiAzLTUgTWFsIGFsbGVzIGVya2xhZXJlbiwKICAgICAgYmlzIHNpZSBlcyBiZWdyaWZmZW4gaGFiZW4sIGRhcyBrb21tdCBkYW5uIG5vY2ggZGF6dS4KClAuUC5TOiBKYWphLCBpY2ggd2Vpc3MsIGVzIGhlaXNzdCBEQVMgV2lycndhcnJtb29yLCBhYmVyIGljaCB3aWxsCiAgICAgIGpldHp0IG5pY2h0IGRlbiBnYW56ZW4gQXJ0aWtlbCBuZXUgc2NocmVpYmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoR3JpbW1ib3JuLCAxMS4gQXByIDE5OTUsIDE1OjEwOjMxKToKIyEgcm49RmVscyBydD03OTc1OTQyNzgKRXJzdGVuczogRGVyIGFsbGdlbWVpbmthbmFsIGlzdCBlYmVuIE5JQ0hUIGZ1ZXIgZGllIGVybnN0aGFmdGVuLApsZWJlbnN3aWNodGlnZW4gRnJhZ2VuIGRhLiBHZW5hdSBkYWZ1ZXIgaXN0IGRlciBBYmVudGV1ZXJrYW5hbCAoa2xlaW5lciBUaXA6Ci0rYikgZGEuIERvcnQgc2luZCBkaWUgZHVtbWVuIEtvbW1lbnRhcmUgc2Nob24gZXR3YXMgd2VuaWdlci4KV2FzIG1pY2ggcGVyc29lbmxpY2ggYmV0cmlmZnQ6IFdlbm4gaWNoIGVpbmdlbG9nZ3QgYmluIHVuZCBhdWYgZWluZSBzb2xjaGUKRnJhZ2Uga2VpbiAiZW5kZSIgdm9uIG1pciBnZWJlIChuZWluLCBkYWZ1ZXIgaGFiIGljaCBrZWluIGFsaSkga29tbWVuIGRpZQpkdW1tZW4gS29tbWVudGFyZSBpbiBtZWluZSBSaWNodHVuZywgdW5kIGRhcyBtdXNzIGphIG5pY2h0IHNlaW4uIFRyYWRpdGlvbiBpc3QKVHJhZGl0aW9uLiBIYXQgbmljaHRzIGRhbWl0IHp1IHR1biBkYXNzIGljaCBNYWdpZXIgYmluLCBpY2ggaGFiIGRhcyBhdWNoIGFscwpTZWhlciBzbyBnZW1hY2h0LgpPZnQgc3RlbGxlbiBkaWUgTGV1dGUgRnJhZ2VuIHVuZCBtZWNrZXJuLCB3ZW5uIG1hbiBkaWUgRnJhZ2UgYmVhbnR3b3J0ZXQsCndlaWwgc2llIGVpZ2VudGxpY2ggd2FzIGdhbnogYW5kZXJlcyBiZWFudHdvcnRldCBoYWJlbiB3b2xsZW4gKCJHaWJ0IGVzIGVpbmVuCldlZyBhdXMgZGVyIEdpbGRlIHJhdXMiICJKYS4iICJIYWhhaGEsIHVuZCB3aWUsIER1IEJsb2VkbWFubj8iKS4gTmFqYSwgZGFzCnJlaXp0IGVpbmVuIG5hdHVlcmxpY2ggYmVzb25kZXJzIGRhbm4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gSGF0IGRpZSBkdW1tZW4gS29tbWVudGFyZSBuaWNodCBlcmZ1bmRlbiwgd2FyIGFiZXIKbWFzc2dlYmxpY2ggYW4gZGVyIEVudHdpY2tsdW5nIGJldGVpbGlndCAoTm9jaCBlaW4gVGlwOiAtK0IpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBoZWxmZW4gb2RlciBkZW4gYW5kZXJlbiB2ZXJhZXBwZWxuLCBqZSBuYWNoIEx1c3QgdW5kIExhdW5lLi4uIChIYXIsIDExLiBBcHIgMTk5NSwgMTU6MTY6MzIpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk3NjA1ODMxClZpZWxtZWhyIHdhZXJlIHp1IEZlbHMnIEFydGlrZWwgbm9jaCB6dSBzYWdlbjoKRHVtbWVyd2Vpc2Ugd2VyZGVuIGhpZXIgc2Nob24gZmFzdCBrb21wbGV0dGUgcXVlc3Rsb2VzdW5nZW4gdWViZXIgZGllIGthbmFlbGUKZ2VzY2hvYmVuLCBnYW56IHogc2Nod2VpZ2VuIHZvbiBadHMsIGF1c3NlcmRlbSByZWFnaWVydCBpY2ggYXVjaCBtZWlzdGVucyBzbywKd2VubiBMZXV0ZSBiZWkgamVkZW0gbmV1ZW0gUmF1bSBlaW5lciBRdWVzdCBhbmZhbmdlbiB6dSBmcmFnZW4gOikKCkhhciAoZGVyIGFsbGVzIE9ITkUgaGlsZmUgbWFjaHQgOykpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoRmVscywgMTEuIEFwciAxOTk1LCAxNjozNjoyOCk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTc2MDU4MzEKTGllYmVyIEdyaW1taSwgaGFzdCBEdSBzY2hvbiBiZW1lcmt0LCBkYXNzIGljaCBpbiBtZWluZW0gQXJ0aWtlbCBrZWluZXN3ZWdzCm51ciB2b24gZGVyIEViZW5lIEFsbGdlbWVpbiBzY2hyZWliZT8gVW5kIGhhc3QgRHUgdmllbGxlaWNodCBhdWNoIHNjaG9uCmJlbWVya3QsIGRhc3MgRGVpbmUgWndlaXRpZXMgc2VpZW4gZXMgbnVuIEdyaW1tdGVzdCBvZGVyIHdpZSBhdWNoIGltbWVyIGlocmVuClNlbmYgKCJtaXQgRW5kZT8iKSBhdWNoIGF1ZiBkZXIgRWJlbmUgQWJlbnRldWVyIHJhdXNsYXNzZW4/CgoKCkdydXNzLCBGZWxzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiByZTpyZTpyZTplaGVyaW5nIChPZXR0aSwgMTEuIEFwciAxOTk1LCAxNzoxODozMSk6CiMhIHJuPUFzbW9kaXMgcnQ9Nzk3NjAxODg1Ckh1aHUgIQpFaW4gb2UgaXN0IGVpbiBvZSBpc3QgZWluIG9lICEhISEKSWNoIG11c3MgZXMgd2lzc2VuLCBzY2hsaWVzc2xpY2ggaGVpc3NlIGljaCBPZXR0aSB1bmQgbmljaCJPdHRpIG9kZXIgc28uCkFiZXIgaWNoIGZpbmRlIGF1Y2g6CkZyZWllIFVtbGF1dGUgZnVlciBmcmVpIEJ1ZXJnZXIuCkVzIGthbm4gZG9jaCBuaWNodCBhbmdlaGVuLCBkYXNzIGRpZSB3ZXJ0ZW4gSGVycmVuIE1hZ3MsIEVyei1NYWdzIHVuZApLb25zb3J0ZW4sIHNpY2ggenUgZmVpbgpkYWZ1ZXIgc2luZyBtYWwgZWJlbiBlaW4gcGFhciBTdHVuZGVuCmRhZnVlciB6dSBvcGZlcm4sIHNvIGRhXDMgamVkZXIgQmVudXR6ZXIgZWdhbCB3ZWxjaGVuIEZvbnQgZXIgYmVudXR6dCB1bmQgdm9uCndlbGNoZXIKTUFzY2hpbmUgZXIga29tbXQgc2VpbiAibyAiYSAidSBcMyAgdXN3LgpiZW51dHplbiBrYW5uLgpBdXNzZXJkZW0gZm9yZGVyZSBpY2ggaGllcm1pdCBhdWNoIGVpbmUgT25saW5lIFVtc2V0enVuZyBkZXIgVW1sYXV0ZSBmInVyCkxhVGVYIGdlc2NoYWVkaWd0ZSwKdW5kIFVlYmVyaGF1cHQgZXJzY2hlaW50IG1pciBkYXMgZ2FuemUgUHJvYmxlbQphbHMgc28gZXNzZW50aWVsbCB3aWNodGlnLCBhbHMgZFwzIG1hbgpVTi1CZS1ESU5HVCBzZWl0ZW5sYW5nZSBBcnRpa2VsIGplZGUgV29jaGUKKG9kZXIgYmVzc2VyIG5vY2ggamVkZW4gVGFnKSBpbiBkZXIgTVBBIGFic2V0emVuIHNvbGx0ZS4KQXVzc2VyZGVtIHNvbGx0ZSBlaW5lIEFrdGl2aXN0ZW5ncnVwcGUgTmFtZW5zIEZGVSAoRnJvbnQgZnVlciBVbWxhdXRlKQpnZWdyInVuZGV0CndlcmRlbiwgZGllIER1cmNoIGF1ZnNlaGVuZXJyZWdlbmRlIEFuc2NobGFlZ2UgYXVmCm5pY2gtdW1sYXV0YmVudXR6ZXIgdm9uIHNpY2ggcmVkZW4gbWFjaHQuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpWb3IgZWluZW0gaGFsYmVuIEphaHIgZGFjaHRlIGljaCwgaXJnZW5kd2FubiBnaWJ0IGVzIGtlaW5lIFRoZW1lbiBtZWhyCnVlYmVyIGRpZSBzaWNoIFNwaWVzc2J1ZXJnZXIgdW5kIEtvbnNvcnRlbiBhdWZyZWdlbiBrb2VubnRlbiwKdm9yIGVpbmVtIHZpZXJ0ZWwgSmFociBkYWNodGUgaWNoLCBuYSBqYSBlcyBnaWJ0IHdvaGwgaW1tZXIgd2FzIHdvcnVlYmVyIG1hbgpzaWNoIGVjaGF1ZmZpZXJlbiBrYW5uLgpIZXV0ZSBkZW5rZSBpY2gsICphcmdsKiwgbWFuY2hlIGxlcm5lbiBlcyBuaWUsIGFiZXIgZXMgaXN0IG1pciByZWNodCBlZ2FsLgpJY2ggdmVyc3VjaCBoYWx0IGFiIHVuZCBhbiwgZGllIExldXRjaGVucyBkYXJhdWYgYXVmbWVya3NhbSB6dQptYWNoZW4sIGRhXDMgaWhyIGdlamFtbWVyZSB1bmQgZ2V6ZXRlcmUgZG9jaCByZWNodCBsYWVjaGVybGljaCBpc3QsIGFiZXIKd2VubnMgZXVjaCBzb25zdCBndXQKZ2VodCBpcyBqYSBhdWNoIHNjaG9lbiAhIQoKR3J1c3MKCk9ldHRpCm1pdCBPZSBPZSBPZSBPZSwgdW5kIGRhcyB3aXJkIGF1Y2ggc28gYmxlaWJlbiAhISEhISEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoR3JpbW1ib3JuLCAxMS4gQXByIDE5OTUsIDE3OjI1OjAxKToKIyEgcm49RmVscyBydD03OTc2MTA5ODgKCk5hamEsIG5pY2h0IGplZGVyIHdlaXNzLCB3YXMgZXIgZ2VzY2hyaWViZW4gaGF0LCBhbHNvOgpEYXMgZWluemlnZSBCZWlzcGllbCwgZGFzcyBEdSBlcndhZWhuc3QgaXN0IHRhdHNhZWNobGljaCBkZXIgQWxsZ2VtZWlua2FuYWwuCkFsc28gc2NocmVpYnN0IER1IHRhdHNhZWNobGljaCBudXIgZGF2b24sIGRhIGVpbmUgVmVyYWxsZ2VtZWluZXJ1bmcgZXJzdCBhbQpFbmRlIHN0YXR0ZmluZGV0ICgiRGllIEViZW5lbiBzaW5kIGphIHVudGVyIGFuZGVyZW0gZnVlciBGcmFnZW4gZGEsIG9kZXI/IikuCkRhbWl0IGhhc3QgRHUgc28gcmVjaHQgbm9jaCBuaWNodCBtYWwuIERpZSBLYW5hZWxlIHNpbmQgZnVlciBLb21tdW5pa2F0aW9uCmRhLCBzaWUgc2luZCBOSUNIVCBEZWluIChvZGVyIGplbWFuZCBhbmRlcmVzKSBwZXJzb2VubGljaGVzCkluZm9ybWF0aW9uc3plbnRydW0uIEdlcmFkZSBkZXIgQWxsZ2VtZWlua2FuYWwgaXN0IGJla2FubnRsaWNoIGVpbmVyLCBhdWYgZGVtCnZpZWwgVW5zaW5uIGJlc3Byb2NoZW4gd2lyZC4KSWNoIGhhYmUgbnVyIGVpbmVuIFp3ZWl0aWUsIEdyaW1tZGVhdGguIFVlYmVyIGRlbiBoYWIgaWNoIHdlbmlnIEtvbnRyb2xsZQoobGVpZGVyKSwgYWJlciBkZXIgaXN0IGVpZ2VudGxpY2ggbnVyIG1pdCBibG9lZGVuIEtvbW1lbnRhcmVuIGF1ZiAtQiBkYWJlaSwKd2VubnMgd2llZGVyIGVpbmVuIEVyc3RpZSBlcndpc2NodC4gR3JpbW10ZXN0IGlzdCAod2llIGRlciBOYW1lIHNjaG9uIHNhZ3QpCmVpbiBUZXN0aWUuIFVuZCBhbHMgc29sY2hlciAiZWluIFRlaWwgdm9uIG1pciI+CkdyaW1tdGVzdCBoYXQga2VpbmUgZWlnZW5lIFBlcnNvZW5saWNoa2VpdCB1bmQgZGFzIGJsZWlidCBzby4gV2VubiBkZXIKYXVmbXVja3Qgd2lyZCBlciBuZXUgZ2ViYXN0ZWx0Li4uCgpVbmQgenVtIFNjaGx1c3MsIG1laW4gbGVpYmVyICJGZWxzaSIsIGljaCBsYXNzZSBtaWNoIG51ciB2b24gZ2FueiB3ZW5pZ2VuCkxldXRlbiAiR3JpbW1pIiBuZW5uZW4uIERhenUgZ2Vob2Vyc3QgRHUgbmljaHQuIERpZXNlIEJlemVpY2hudW5nIGZhc3NlIGljaAphbHMgQmVsZWlkaWd1bmcgYXVmLiBVbmQgd2VubiBpY2ggbWljaCBoaW5yZWljaGVuZCBiZWxlaWRpZ3QgZnVlaGxlIHNlaGUgaWNoCmVpbmVuIFBLIGFscyBOb3R3ZWhyIGFuLiBEYXMgZ2lsdCBuYXR1ZXJsaWNoIG5pY2h0IG51ciBmdWVyIERpY2guLi4KV2VubiBldWNoICJHcmltbWJvcm4iIHp1IHVtc3RhZW5kbGljaCBpc3QgLSBnZWdlbiAiR3JpbW0iIGhhYiBpY2ggbmljaHRzLgpBYmVyIGVpbmUgVmVybmllZGxpY2h1bmcgbWl0IGRlbSBpIGlzdCBuaWNodCBpbiBtZWluZW0gU2lubmUuIDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXMuIE1pZXMgZHJhdWYuIFVuZmFpci4gUHJvbGxpZy4gTWFjaHRtaXNzYnJhdWNoZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoRmVscywgMTEuIEFwciAxOTk1LCAxNzozOTowNyk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTc2MTM5MDEKT09PT1BTLCBQSywgd2VpbCBqZW1hbmQgZGVuIE5hbWVuIGZhbHNjaCBvZGVyICJ2ZXJuaWVkbGljaHQiIHNjaHJlaWJ0PwoqcHJ1c3QqCkd1dCwgZGFzIG5hZWNoc3RlIE1hbCB3ZXJkZSBpY2ggZnVlciBKRURFIEViZW5lIGVpbiBCZWlzcGllbCBtYWNoZW4sIGRhbWl0CmF1Y2ggamVkZXIgc2NobmFsbHQsIGRhc3MgaWNoIE5JQ0hUIG51cnIgQWxsZ2VtZWluIG1laW5lLi4uCkRhcyB3YXJzIGVpZ2VudGxpY2ggc2Nob24uIERlbiBSZXN0IGxhc3NlbiBEdSB1bmQgaWNoIGJlc3Nlciwgc2lubmxvc2VzClN0cmVpdGVuIG1hZyBpY2ggbmljaHQuLi4KR3J1c3MsIEZlbHMuIChrYW5uIGhhbHQgbmljaHQgbWl0IFBrcyBkcm9oZW4sIGVyIGlzdCBqYSBudXIgZWluIFNwaWVsZXIuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBoZWxmZW4gb2RlciBkZW4gYW5kZXJlbiB2ZXJhZXBwZWxuLCBqZSBuYWNoIEx1c3QgdW5kIExhdW5lLi4uIChHcmltbWJvcm4sIDExLiBBcHIgMTk5NSwgMTc6NTQ6MDMpOgojISBybj1GZWxzIHJ0PTc5NzYxNDc0NwoqbGFjaCogSGFiIGljaCBhdWNoIGFscyBTZWhlciBtaXQgZ2Vkcm9odCwgc28gaXNzZXMgamEgbmljaHQuIDstKQpBYmVyIGxldHp0bGljaCBoYXN0IER1IHJlY2h0LCBkaWUgSGlsZnNiZXJlaXRzY2hhZnQgaXN0IGdlc3Vua2VuIHNlaXQgei5CLgp2b3IgZWluZW0gSmFoci4KQW5kZXJlcnNlaXRzOiBPZnQga29tbXQgZGVyIGR1bW1lIEtvbW1lbnRhciB1ZWJlciBkZW4gS2FuYWwgKGRhbWl0IGFsbGUgd2FzCnp1IGxhY2hlbiBoYWJlbikgdW5kIGRpZSBoaWxmZSB1ZWJlciB0ZWlsZSBtaXQuIE5pY2h0IGltbWVyLCBrbGFyLCBhYmVyIG9mdC4KVmllbGxlaWNodCBzb2xsdGUgbWFuIGRhcyBpbSBCZXd1c3N0c2VpbiBhdWZ0ZWlsZW46IFNlaGVyIGhhYmVuIHdlbmlnIEx1c3QsCkhpbGZlIHp1IFNjaHJhdCB6dSBnZWJlbiwgZGFzIGlzdCBlaW4gYW5kZXJlcyBOaXZlYXUsIGRhIHNpbmQgImtsZWluZXJlIgpTcGllbGVyIGdlZnJhZ3QuIEJlaSBkZW4gc2Nod2VyZXJlbiBRdWVzdHMgZ2lidHMgZWhlciBTZWhlcmhpbGZlLCBiZWkKbGVpY2h0ZXJlbiBzb2xsdGUgZXMgZGFubiBTcGllbGVyaGlsZmUgc2Vpbi4KSmFqYSwgc29sbHRlLCBpY2ggd2Vpc3MuLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIERlciBqZXR6dCBkZW4gVGVpbCBtaXQgdGVpbGUgbWl0IHdlZ2xhZXNzdCAod2VnbGFzc2VuCm11c3MpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoQm9pbmcsIDExLiBBcHIgMTk5NSwgMTg6MTQ6NTkpOgojISBybj1GZWxzIHJ0PTc5NzYxNDc0NwpHcmltbWJvcm4ga2FubiBhdWNoIG51ciBtaXQgUEtzIGRyb2hlbiAuLi4gaWNoIGRlbmtlIG5pY2h0LCBkYXNzIGVyCmVpbmVuIFBLIGJlaSBDYXR3ZWF6bGUgYmVncnVlbmRlbiBrYW5uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBoZWxmZW4gb2RlciBkZW4gYW5kZXJlbiB2ZXJhZXBwZWxuLCBqZSBuYWNoIEx1c3QgdW5kIExhdW5lLi4uIChHcmltbWJvcm4sIDExLiBBcHIgMTk5NSwgMTg6MTc6MDEpOgojISBybj1Cb2luZyBydD03OTc2MTY4OTkKRGFtaXQgaGFiIGljaCBiaXNoZXIgbm9jaCBuaWUgUHJvYmxlbWUgZ2VoYWJ0LiBNZWluZSBQSyBiaW4gaWNoIGJpc2hlciBub2NoCmFsbGUgbG9zZ2V3b3JkZW4uLi4KVW5kIHdlbm4gaWNoIEVNIGFtIEJldHQgaW0gS3JhbmtlbmhhdXMgdWViZXJ6ZXVnZW4gbXVzc3RlLiA6LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCB1bmQgZ2VtZWluZ2VmYWVocmxpY2hlciwgZXJmYWhyZW5lciBQbGF5ZXJraWxsZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByZTpyZTpyZTplaGVyaW5nIChHd3luZG9uLCAxMi4gQXByIDE5OTUsIDAyOjUxOjI2KToKIyEgcm49VG9zcyBydD03OTc1OTUwNTcKCkljaCBmcmFnZSBtaWNoLCB3YW5uIExldXRlIHdpZSBUb3NzIChvZGVyIFJ5bmUpIGF1ZmhvZXJlbiwgYXVmIGplbWFuZCB3aWUKQWNyaW1vbiBoZXJ1bXp1aGFja2VuLCBudXIgd2VpbCBlciBlaW5lIFZlcmJlc3NlcnVuZyBtb2VjaHRlLCBhbnN0YW5kIGJlaW0KYmlzaGVyaWdlbiBTdGFuZCAob2RlciBhdWYgZGVtIE5pdmVhdSAgbWFuY2hlciBhbmRlcmVyKSBzdGVoZW4genUgYmxlaWJlbi4KICAgTmViZW5iZWk6IC8zIHVuZCB1IiBmaW5kZSBpY2ggbmljaHQgYXVjaCBuaWNodCBzbyB0b2xsLi4uCmdlei4KR3d5bmRvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHJlOnJlOnJlOmVoZXJpbmcgKFNjaHJ1bXBmaSwgMTIuIEFwciAxOTk1LCAwMzowNToxMSk6CiMhIHJuPUd3eW5kb24gcnQ9Nzk3NjQ3ODg2CldlaWwgQWNyaW1vbiBtaXQgc2VpbmVtIFVtbGF1dC1HZWxhYmVyIHNvIHppZW1saWNoIGplZGVtIGF1ZiBkaWUgTmVydmVuIGdlaHQuCkVyIGlzdCBzbyB6aWVtbGljaCBkZXIgZWluemlnZSBkZW4gZGFzIHN0b2VydC4KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplaGVyaW5nIChHd3luZG9uLCAxMi4gQXByIDE5OTUsIDAzOjI4OjEzKToKCkhpIElociBhbGxlIC0gYmVzb25kZXJzIEFjcmltb24uLi4KCkljaCBoYWJlIG1pciBub2NobWFsIChkb2NoLCBkYXMga29tbXQgdm9yKSBHZWRhbmtlbiBnZW1hY2h0LCB1bmQgZmluZGUsIHdpcgpzb2xsdGVuIHN0YXR0IHVlYmVyIFVtbGF1dGUgdmllbGxlaWNodCBkb2NoIHdpZWRlciB1ZWJlciBkZW4gRWhlcmluZyByZWRlbi4KU29sbHRlIGljaCBkb2NoIGplIGhlaXJhdGVuLCBmYWVuZGUgaWNoIGVzIHRyYWdpc2NoLCBkZW4gRWhlcmluZyBlaW5mYWNoIHp1CnZlcmxpZXJlbiwgJ251cicgd2VpbCBpY2ggc3RlcmJlLi4uCiAgIFVtIE1pc3N2ZXJzdGFlbmRuaXNzZW4gdm9yenViZXVnZW4gLSBFcyBpc3QgbmljaHQgc28sIGRhc3MgaWNoIGFscwpSZWFscGVyc29uIE11ZC1Ib2NoemVpdGVuIHVlYmVyYmV3ZXJ0ZSwgYWJlciBtZWluZSBNdWRmaWd1ciBuaW1tdCBFaGUgKHdpZQpzY2hvbiBGcmV1bmRzY2hhZnQsIGdlbGwgWikgaW0gTXVkIGVybnN0LCB3ZWlsIGRhcyBmdWVyIEd3eW5kb24gZWJlbiBzZWluZQpXZWx0IGlzdC4KICAgSXN0IGRhcyBpbnp3aXNjaGVuIGdlYWVuZGVydCB3b3JkZW4/IEljaCBmYWVuZGUgZGFzIGVpbmUgbG9iZW5zd2VydGUKQWt0aW9uLi4uCkFsbGVuLCBkaWUgc2ljaCBpbiBkZW4gbGV0enRlbiBXb2NoZW4gZnVlciBlaW5lbiBFaGVyaW5nIGVudHNjaGllZGVuIGhhYmVuLAp2aWVsIEdsdWVjayBkYW1pdCAtIHVuZCB3ZW5pZyBUb2RlLi4uCgpnZXouIEd3eW5kb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VtcGYhIChGeXQsIDEyLiBBcHIgMTk5NSwgMDM6NTQ6MDgpOgojISBybj1HdW5kdXIgcnQ9Nzk3NTk3NDU5CgpHdW5kdXIgbWVpbnQsIG5pY2h0IG51ciBNdWVuemVuIHd1ZXJkZW4gYXVzIGRlbSBTdW1wZiBoZWxmZW4sCmVzIGdpbmdlIGF1Y2ggbWl0IEhpcm4uLi4gQWxzIFRyb3N0OiBFcyBnZWh0IGFiZXIgYXVjaCBtaXQKTXVlbnplbi4uLiA6KQoKRnl0LiBIaXJubG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmU6cmU6cmU6ZWhlcmluZyAoSGFyLCAxMi4gQXByIDE5OTUsIDA3OjU4OjQ0KToKIyEgcm49R3d5bmRvbiBydD03OTc2NDc4ODYKVmllbGxlaWNodCwgd2VpbCBlcyBuZSBNZW5nZSBMZXV0ZSAoc28gd2llIG1pY2ggOykgICApIGdpYnQsIGRpZSB1bnRlcgphbmRlcmVtIGFuIGVpbmVtIFJlY2huZXIgbWl0IGFtZXJpa2FuaXNjaGVyIFRhc3RhdHVyIGFyYmVpdGVuIChtdWVzc2VuKS4uLiA/Pz8KSGFyICh2b24gQWNyaW1vbiBhYmdydW5kdGllZiBnZW5lcnZ0ISkKbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcmR3YXJla2F1ZiAoS2lyaywgMTIuIEFwciAxOTk1LCAxMTozNTo0Nik6CkhhbGxvIQoKSWNoIGRhbmtlIGFsbGVuLCBkaWUgc2ljaCBhbiBkZXIgU3BlbmRlbmFrdGlvbiBiZXRlaWxpZ3QgaGFiZW4hISEKCkljaCBtb2VjaHRlIGFuIGRpZXNlciBTdGVsbGUgbm9jaG1hbCBkYXJ1bSBiaXR0ZW4sIGRhc3MgbW9lZ2xpY2hzdCB2aWVsZQpkZW0gVmVyZWluIGJlaXRyZXRlbiwgd2VpbCB3aXIgbGF1ZmVuZGUgS29zdGVuIGhhYmVuLCBkaWUgd2lyIG51ciB1ZWJlcgpyZWdlbG1hZXNzaWdlIEJlaXRyYWVnZSBhYmRlY2tlbiBrb2VubmVuLiBEYXJ1bnRlciBmYWVsbHQgei5CLiBlaW5lClZlcnNpY2hlcnVuZyBmdWVyIGRlbiBSZWNobmVyIGdlZ2VuIERpZWJzdGFobCwgVWViZXJzcGFubnVuZ3NzY2hhZWRlbiwgZXRjLgpEZXIgTWl0Z2xpZWRzYmVpdHJhZyBiZXRyYWVndCAyNERNL0phaHIgdW5kIGlzdCBzaWNoZXJsaWNoIGZ1ZXIgamVkZW4KZXJzY2h3aW5nbGljaC4KCkVzIGlzdCBhbHNvIHNvd2VpdCwgd2lyIGhhYmVuIHNvdmllbCBHZWxkIHp1c2FtbWVuLCBkYXNzIHdpciB6dW1pbmRlc3QKZGVuIFJlY2huZXIga2F1ZmVuIGtvZW5uZW4uIEluIGRpZXNlbSBadXNhbW1lbmhhbmcgbW9lY2h0ZSBpY2ggZXVjaAphbGxlIGRhcmF1ZiBoaW53ZWlzZW4sIGRhc3MgYW0gMTguNC4gZWluZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzCkZvZXJkZXJ2ZXJlaW5zIHN0YXR0ZmluZGV0LCB6dSBkZXIgYWxsZSBNaXRnbGllZGVyIHVuZCBhdWNoIE5pY2h0LQptaXRnbGllZGVyIGhlcnpsaWNoIGVpbmdlbGFkZW4gc2luZC4gQXVmIGRlciBWZXJzYW1tbHVuZyBzb2xsCmJlc2NobG9zc2VuIHdlcmRlbiwgd2VsY2hlIEhhcmR3YXJlIGFuZ2VzY2hhZmZ0IHdpcmQuCgpXYW5uOiAxOC40LiwgMTk6MDAKV286IE1hdGhlLUhvY2hoYXVzLCBaaW1tZXIgNjAyCgpUYWdlc29yZG51bmc6CjEuIEVyb2VmZm51bmcKMi4gRGlza3Vzc2lvbiB1bmQgQmVzY2hsdXNzIGRlcyBoYXJkd2FyZWthdWZzCjMuIFZlcnNjaGllZGVuZXMKCihhbnNjaGxpZXNzZW5kIFN0YW1tdGlzY2ggaW0gT2JpbmEhISEpCgpCaXR0ZSB1bnRlcnN0dWV0enQgZGFzIE1HLCBpbmRlbSBpaHIgTWl0Z2xpZWQgd2VyZGV0ISEhCgoKS2lyawoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkd2FyZWthdWYgKEluZm9tYXgsIDEyLiBBcHIgMTk5NSwgMTE6NTU6MzEpOgojISBybj1LaXJrIHJ0PTc5NzY3OTM0NgpIYWxsbyBNdWRkaWVzLAoKSWNoIGtvbm50ZSB6d2FyIGJpcyBqZXR6dCBub2NoIG5pY2h0IHNwZW5kZW4sIHdlcmRlIGRhcyBhYmVyIG5vY2ggbmFjaGhvbGVuLgpFcyB3dXJkZSB6d2FyIHNjaG9uIG1hbCBkYXJ1ZWJlciBnZXNwcm9jaGVuLCBhYmVyIGljaCBtb2VjaHRlIGRlbm5vY2ggbWFsCmZyYWdlbi4gS2FubiBtYW4gbmljaHQgd2VuaWdzdGVucyBkaWUgRGlza3Vzc2lvbiBpbSBNVUQgdWViZXJ0cmFnZW4sIGRhIG1hbgpzaWNoZXIgbmljaHQgenUgYWxsZW4gVmVyc2FtbWx1bmdlbiB2b24gTGVpcHppZyAob2RlciBhbmRlcmVuIHdlaXRlcgplbnRmZXJudGVuIE9ydGVuKSBpbW1lciBhbnJlaXNlbiBrYW5uLgoKV2VuaWdzdGVucyBhdWYgZWluZSBNaXR0ZWlsdW5nIGluIGRlciBNUEEgaG9mZmVuZAoKSW5mb21heCAsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXJkd2FyZWthdWYgKEtpcmssIDEyLiBBcHIgMTk5NSwgMTM6MjI6MjMpOgojISBybj1JbmZvbWF4IHJ0PTc5NzY4MDUzMQpIYWxsbyEKCkRpc2t1c3Npb24gaXN0IHp3YXIgZ3V0IHVuZCBzY2hvZW4gdW5kIGVzIGhhdCBhdWNoIHNjaG9uIGVpbmUgc29sY2hlIGdlZ2ViZW4sCmFsbGVyZGluZ3Mgb2huZSBlaW5lbiBha3plcHRhYmxlbiBBbHRlcm5hdGl2dm9yc2NobGFnIGhlcnZvcnp1YnJpbmdlbi4KRGllIGRlcnplaXRpZ2UgS29uZmlndXJhdGlvbiBoYXQgc2ljaCBhbHMgcmVsYXRpdiBzdGFiaWwgZXJ3aWVzZW4gdW5kIGlzdAp6dWRlbSBpbSBSYWhtZW4gdW5zZXJlciBmaW5hbnppZWxsZW4gTW9lZ2xpY2hrZWl0ZW4gZmluYW56aWVyYmFyLgpTb2JhbGQgZGFzIE9TIHN5bW1ldHJpc2NoZXMgTXVsdGlwcm9jZXNzaW5nIHVudGVyc3R1ZXR6dCwgd2VyZGVuIHdpciBhdWNoCm5vY2ggZWluZSAyLiBDUFUga2F1ZmVuLCB1bSBkaWUgUGVyZm9ybWFuY2UgZGVzIFN5c3RlbXMgenUgdmVyYmVzc2Vybi4KV2FzIHdpciBhbHNvIGRlcnplaXQgenVtIFRlc3RlbiBoYWJlbiB1bmQgbmFjaCBNb2VnbGljaGtlaXQgYXVjaCB6dSBrYXVmZW4KYmVhYnNpY2h0aWdlbiBpc3Q6CkR1YWwtUGVudGl1bSBCb2FyZCwgMSA5ME1IeiBDUFUgbWl0IGRlbW5hZWNoc3QgNTEya0IgQ2FjaGUKMTI4TUIgUkFNCkFkYXB0ZWMgV2lkZS1TQ1NJIENvbnRyb2xsZXIKMUdCIFBsYXR0ZSB2b24gSFAKU01DIFVsdHJhIEV0aGVybmV0LUthcnRlCmVpbmUgZWluZmFjaGUgR3JhZmlra2FydGUKOSIgYi93IE1vbml0b3IKMioyMDBXIE5ldHp0ZWlsCgoKSWNoIGRlbmtlLCBkYXNzIGRpZSBLb25maWd1cmF0aW9uIGFremVwdGFiZWwgaXN0LgoKQml0dGUgS0VJTkUgdW5lbmRsaWNoZW4gRGlza3Vzc2lvbmVuIG1laHIuIFdlbm4gaWhyIG5vY2ggVm9yc2NobGFlZ2UgaGFidCwKZGFubiBOVVIgd2lya2xpY2ggYmVncnVlbmRldGUuCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGVsZmVuIG9kZXIgZGVuIGFuZGVyZW4gdmVyYWVwcGVsbiwgamUgbmFjaCBMdXN0IHVuZCBMYXVuZS4uLiAoQmFtYnVsa28sIDEyLiBBcHIgMTk5NSwgMTY6NTk6MTQpOgojISBybj1GZWxzIHJ0PTc5NzU5NDI3OApLYW5uIGVzIHNlaW4sIGRhc3Mgd2lyIGRpZSBzZWxiZW4gYW50d29ydGVuIGJla29tbWVuIGhhYmVuPz8/CkVzIGtvbW10IGphIGF1Y2ggYXVmIGRpZSBBcnQgZGVyIEZyYWdlIGFuLiBXZW5uIGplbWFuZCBob2VmbGljaCBmcmFndAphbnR3b3J0ZSBpY2ggb2Z0IGF1Y2gsIGFiZXIgd2VubiBtaXIgaGllciBqZW1hbmQgZGVuIGdhbnplbiBCaWxkc2NoaXJtCnp1bXVlbGx0LCB1bmQgZGFiZWkgbm9jaCBmcmVjaCB3aXJkIChXZXIgc2NoZW5rdCBtaXIgZWluIEJTUyksIGRhbm4gYmVrb21tdCBlcgpuYXR1ZXJsaWNoIGtlaW5lIEFudHdvcnQuCldhcnVtIHNvbGxlbiBlaWdlbnRsaWNoIGltbWVyIFNlaGVyIGhlbGZlbj8gS29lbm5lbiBzaWNoICdrbGVpbmVyZScgU3BpZWxlcgpuaWNodCB6dSAnU2VsYnN0aGlsZmVncnVwcGVuJyB6dXNhbW1lbnNjaGxpZXNlbiwgdW5kIHNpY2ggZ2VnZW5zZWl0aWcgaGVsZmVuPwpVbmQgZXMga2FubiBqYSBhdWNoIHZvcmtvbW1lbiwgZGFzcyBTZWhlciBkaWUgUXVlc3QsIGRpZSBzaWUgdm9yIGVpbmVtIEphaHIKZ2VtYWNodCBoYWJlbiBhdWNoIG5pY2h0Cm1laHIgYXVzd2VuZGlnIGtvZW5uZW4uCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdW1wZiEgKEJhbWJ1bGtvLCAxMi4gQXByIDE5OTUsIDE5OjAxOjI4KToKIyEgcm49Rnl0IHJ0PTc5NzY1MTY0OApKYWphIHdlbm4gbWFuIEdlbGQgaGF0IGRhcmYgbWFsIGFsc28gYXVjaCBibG9lZCBzZWluPyE/CldpZSBpbSBSTCEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhlbGZlbiBvZGVyIGRlbiBhbmRlcmVuIHZlcmFlcHBlbG4sIGplIG5hY2ggTHVzdCB1bmQgTGF1bmUuLi4gKFp1ZXJpbGV1LCAxMi4gQXByIDE5OTUsIDIxOjM4OjA5KToKIyEgcm49R3JpbW1ib3JuIHJ0PTc5NzYwNTgzMQpTYWxpIHphZW1lLApJY2ggbGllYmUgZGllc2Ugc2Nod2FyemVuIEh1bW9yIGVpbmxhZ2VuIHVuZCB3dWVyZGUgc2llIHZlcm1pc3Nlbi4KU2llIHNpbmQgamEgbmljaHQgYm9lc2UgZ2VtZWludCB1bmQgYXVjaCBuaWNodCBwZXJzb2VubGljaCBhYmVyIHdpZSBzb2xsCm1hbnNpY2hzb25zdCBub2NoIGV0d2FzIHZlcmdudWVnZW4gYnJpbmdlbiBuYWNoIGVpbmVtIHN0cmVzc2lnZW4gYXJiZWl0c3RhZyA/CgpUc2NoYXUgWnVlcmlsZXUgIChoYXQgbnVuIGVudGxpY2ggd2llZGVyIGVpbmVuIEpvYi4uLiA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHJlOnJlOnJlOmVoZXJpbmcgKFp1ZXJpbGV1LCAxMi4gQXByIDE5OTUsIDIyOjUyOjAwKToKIyEgcm49R3d5bmRvbiBydD03OTc2NDc4ODYKU2FsaSB6YWVtZSwKSWNoIHdvbGx0IGRhenUgZXJsaWNoIG5pY2h0cyBzYWdlbiBhYmVyIGJlZ3JlaWZlIGVzIGRvY2ggZW5kbGljaC4gSWNoIGtlbm5lCmtlaW4gTXVkLElSQyBvZGVyIGFuZGVyZSBDaGF0c3lzdGVtZSBpbiBNYWlsYm94ZW4gb2RlciBCQlMncyBkaWUgVW1sYXV0ZQpha3plcHRpZXJlbi4gV2FydW0gc29laW5lIGludG9sZXJhbnogZ2VnZW4gYWUgb2UgdWUgPyBJY2ggd3Vlc3N0IHouYi4gbmljaHQKd2llIGljaGRhcyBhdWYgbWVpbmVtIFRlcm1pbmFscHJvZ3JhbW0gZWluc3RlbGxlbiBtdWVzc3RlIHVuZCBpY2ggc2l0emUgbmljaHQKYW4gZWluZW0gaG9jaHRldXJlbiBHZXJhZXQgaW4gaXJnZW5kZWluZXIgVW5pIHdvIGtvc3RlbiBrZWluZSByb2xsZSBzcGllbGVuLgonYWUgb2UgdWUnIGlzdCBkb2NoIHJlaW5lIGdld29obmhlaXRzYWNoZSBkaWUgbWFuIHNpY2ggbGVpY2h0IGFuZ2V3b2VobmVuCmthbm4uIFVuZCBzYWcgbWlyIHdhcnVtIG1hbiBudW4gd2VnZW4gMS0yIFBlcnNvbmVuIGRpZSAnYWUgb2UgdWUnCm5pY2h0c2NocmVpYmVuIHdvbGxlbiBudW5kYXMgZ2FuemUgc3lzdGVtIGFlbmRlcm4gPy4KTmUgc29ycnkgTGV1dGUgaWhyIHNlaXQgenUgdmVyd29lbmQgaWNoZmluZGRpZXNlIERpc2t1c3Npb24gdW5nZmFlaHIgZ2xlaWNoCnVud2ljaHRpZyB3aWVkaWUga3VlcnpsaWNoIG1pdCBkZW0gU2NobnVwZmVuIGF1ZiBQb2xpemVpIGJlc2Nod2VyZGVuLgoKVHNjaGF6IFp1ZXJpbGV1IChzb3JyeSB3ZWdlbiBkZW4gdHlwb3MsIG1laW5lVGFzdGF0dXIgaXN0IGltbWVybm9jaGRlZmVrdCA9OigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHJlOnJlOnJlOmVoZXJpbmcgKFRvc3MsIDEyLiBBcHIgMTk5NSwgMjM6Mjg6NTgpOgojISBybj1Hd3luZG9uIHJ0PTc5NzY0Nzg4NgoKaGVydW1oYWNrZW4gPwoKaWNoIGhvZXJlIG1pciBhY3JpbW9ucyBnZWphbW1lcmUgamV0enQgc2VpdCB3YXN3ZWlzaWNoIHdpZXZpZWxlbiBtb25hdGVuIGFuLgp1bmQgbGFuZ3NhbSBuZXJ2dHMsIGRhc3MgZXIgaW4gc2VpbmVuIEtvcGYgbmljaHQgaGVyZWlua3JpZWd0LCBkYXNzIGVzIGhpZXIKa2VpbmUgVW1sYXV0ZSBnZWJlbiB3aXJkLiBBbHNvIHNhZ2UgaWNoIGF1Y2ggZGV1dGxpY2gsIHdhcyBpY2ggZGF2b24gaGFsdGUuCldlbm4gZGljaCBkYXMgbmVydnQsIHNvcnJ5LCBhYmVyIGljaCBiaW4gYXVjaCByZWljaGxpY2ggZ2VuZXJ2dCwgYWxsZSAyIHdvY2hlbgplcm5ldXQgZWluZSBkaXNrdXNzaW9uIGF1c2dlbG9lc3Qgdm9uIGFjcmltb24sIGRlbSB1bnZlcmJlc3NlcmxpY2hlbgpiZXNzZXJ3aXNzZXIgaW4gZGVyIG1wYSB2ZXJmb2xnZW4genUgbXVlc3Nlbi4KCnNpZWhzIG1hbCB2b24gZGVyIHNlaXRlLAoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VtcGYhIChGeXQsIDEzLiBBcHIgMTk5NSwgMDE6MTQ6MjApOgojISBybj1CYW1idWxrbyBydD03OTc3MDYwODgKSmF1LCByaWNodGlnLi4uCldpciBzaW5kIGphIGF1Y2ggc28gc3BpZXNzaWcgd2llIGltIFJMIDopCgpGeXQuLi4KCkRlciBTdW1wZiBoYXQgNDY1IE11ZW56ZW4gZ2Vrb3N0ZXQuLi4gZGFzIGlzdCB3b2hsIGZ1ZXIgamVkZW4KZXJzY2h3aW5nbGljaCA6KSAgRWluIEhpcm4gd2FlcmUgZXJoZWJsaWNoIHRldXJlci4uLgoKVmVybGVnIGRhcyBtYWwgZWluZXIgbmFjaCBTY2htYXJybiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFyZHdhcmVrYXVmIChEdXJpYW4sIDEzLiBBcHIgMTk5NSwgMTI6MjY6MTIpOgojISBybj1LaXJrIHJ0PTc5NzY4NTc0MwpNb2luIQoKS2VpbmUgS3JpdGlrLCBlaW5lIEludGVyZXNzZW5zZnJhZ2UgOi0pIFdhcyBudXR6dCB1bnMgZWluIHp3ZWl0ZXIgUHJvemVzc29yCmZ1ZXIgZGFzIE1VRC4gV2VubiBpY2ggbWljaCBuY2lodCBpcnJlLCBsYWV1ZnQgZGVyIEdEIGRvY2ggYWxzIGVpbiBQcm96ZXNzLAprYW5uIGRhaGVyIGRvY2ggc293aWVzbyBudXIgZWluZW4gUHJvemVzc29yIG51dHplbi4gRGFubiBpc3QgZGVyIHp3ZWl0ZQphcmJlaXRzbG9zLCBlcyBnZWh0IGhvZWNoc3RlbnMgZWluIGtsZWluYmlzY2NoZW4gUGVyZm9ybWFuY2UgZHVyY2ggZGVuCmVyaG9laHRlbiBWZXJ3YWx0dW5nc2F1ZndhbmQgaW0gQmV0cmllYnNzeXN0ZW0gZmxvZXRlbiAoc2VociB3ZW5pZywKenVnZWdlYmVuKS4KT2RlciBpc3QgZGVyIEdEIHRhdHNhZWNobGljaCBpbiBkZXIgTGFnZSwgbWVocmVyIFByb3plc3NlIHp1IHN0YXJ0ZW4uIFVuZAp3ZW5uIGphLCBmdWVyIHdlbGNoZSBad2Vja2Ugc3RhcnRldCBlciBuZXVlPyBXYWVyZSBtYWwgaW50ZXJlc3NhbnQgenUKZXJmYWhyZW4uCgpJY2ggd2Vpc3MsIGVpZ2VudGxpY2ggZWluZSBNYWdpZXIgUnVicmlrLCBhYmVyIGljaCBkZW5rZSwgZGFzIGludGVyZXNzaWVydAphdWNoIGFuZGVyZSwgb2Rlcj8KCkJhbGQgTGludXggaW5zdGFsbGllcmVuZGVyIHVuZCBkYW5uIGF1Y2ggTVVEIGRyYXVmIGxhdWZlbiBsYXNzZW5kZXIKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIYXJkd2FyZWthdWYgKENhdHdlYXpsZSwgMTMuIEFwciAxOTk1LCAxNDo0MToyMik6CiMhIHJuPUR1cmlhbiBydD03OTc3Njg3NzIKVGphYWEuLi4KU2Nob24gcmljaHRpZywgZWluIFByb3plc3MgcGFzc3Qgd29obCBpbW1lciBudXIgYXVmIGVpbmVuIFByb3plc3Nvci4KQWJlciBkZW5rIGRpciBtYWwsIGRhcyBtdWQgaGF0IGVpbmVuIGtvbXBsZXR0ZW4gUHJvemVzc29yIGZ1ZXIgc2ljaAphbGxlaW4gdW5kIGRlciByZXN0bGljaGUgU2Nocm90dCBsYWV1ZnQgdWViZXIgZGllIHp3ZWl0ZSBDUFUuClVuZCBkYXMgaXN0IE5JQ0hUIG51ciBkYXMgQmV0cmllYnNzeXN0ZW0uCldpZSB3YWVycyBtaXQgZGVtIGdlc2FudGVuIGZ0cC1LcmFtLiBCencgbXRwLgpPZGVyIGRlbSBXV1ctR2Vkb2Vucy4uLgpUamEsIGRhcyBsYWV1ZnQgbmFlbWxpY2ggYXVjaCBhbGxlcyB1ZWJlciBkZW4gUmVjaG5lciAuLi4KIFlUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGFyZHdhcmVrYXVmIChKb2YsIDEzLiBBcHIgMTk5NSwgMTc6NDE6NDIpOgojISBybj1EdXJpYW4gcnQ9Nzk3NzY4NzcyCgogTmVpbiwgZGVyIEdEIGlzdCBpbiBkZXIgVGF0IG51ciBlaW4gUHJvemVzcy4gTmljaHRzZGVzdHJvdHogd2FlcmUgZWluIDIuClByby0KemVzc29ydCBuaWNodCB1ZWJlbCwgZGEgZGVyIFJlY2huZXIgc2ljaCBqYSBuaWNodCBOVVIgdW0gZGVuIEdEIGt1ZW1tZXJ0OgpEZXIgS2VybmVsIHZlcmJyYXVjaHQgWmVpdCAoaW1tZXIgd2VubiBkaWUgTmV0endlcmtrYXJ0ZSB3YXMgd2lsbCwgekIsIG11c3MKZGllIENQVSBtaXRoZWxmZW4sIHVuZCBkYXMgaXN0IHppZW1saWNoIG9mdCksIGVyIG11c3Mgc2ljaCBhdWNoIHVtIGRpZSBWZXItCndhbHR1bmcgZGVyIFBsYXR0ZW4tQ2FjaGUtQnVmZmVyIGt1ZW1tZXJuLCBkaWUgUGxhdHRlbiB3ZXJkZW4gdmlhIE5GUyBhbgp1bnNlcmUgU1VOcyBleHBvcnRpZXJ0LCBkYW1pdCBtYW4gZG9ydCBlZGl0aWVyZW4ga2FubiAoZW1hY3MgYXVmIGRlbSByZWNobmVyCnNlbGJzdCB3YWVyIG5vY2ggdWVibGVyLi4uKSwgZXMgbGF1ZmVuIG10cC9mdHAtU2VydmVyIGZ1ZXIgZGllIE1hZ2llciwgYWIKdW5kIGFuIHdpcmQgbWFsIGVpbiBuZXVlciBHRCBrb21waWxpZXJ0LCBUb3BsaXN0ZW4gd2VyZGVuIGVyc3RlbGx0IHVuZCB1bmQKdW5kCi4uLgpBbGwgZGllc2UgQXVmZ2FiZW4sIHZvbiBkZW5lbiBkaWUgS2VybmVsc2FjaGVuIHdpZSBQbGF0dGVuenVncmlmZmUgdW5kIGFlaG4tCmxpY2hlcyBkYXMgd2VzZW50bGljaGUgc2luZCwgZW50emllaGVuIGRlbSBNVUQgc2VsYnN0dmVyc3RhZW5kbGljaCBDUFUtTGVpcy0KdHVuZy4gTmV0endlcmtrYXJ0ZW4sIGRpZSBkaWUgQ1BVIHdlbmlnZXIgYmVsYXN0ZW4sIG1hZydzIGdlYmVuLCBhYmVyIHNpZQpzaW5kIHNlaHIgdGV1ZXIgdW5kIHdlcmRlbiB2b24gTGludXgvRnJlZUJTRCBuaWNodCB1bnRlcnN0dWV0enQuIERlciBTQ1NJLQpDb250cm9sbGVyIElTVCB6d2FyIHNlaHIgZ3V0LCBhYmVyIGRlbm5vY2ggaXN0IENQVS1MZWlzdHVuZ3NiZWRhcmYgZnVlcgpQbGF0dGVuenVncmlmZmUgdW52ZXJtZWlkbGljaC4KCiBXZW5uIG1hbiBlaW5lIDIuIENQVSBoYWV0dGUsIHd1ZXJkZSBkYXMgTXVkIGViZW4gMTAwJSBkZXIgQ1BVLVplaXQgdm9uCmRlbSBlaW5lbiBQZW50aXVtIGJla29tbWVuIC0gdW5kIGRhcyB3YWVyZSBzY2hvbiBnYXIgbmljaHQgdWViZWwuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXJkd2FyZWthdWYuIChIYXdrLCAxMy4gQXByIDE5OTUsIDE4OjIzOjM4KToKSGksCmlyZ2VuZHdpZSBoYWJlIGljaCBuaWNodCBiZWdyaWZmZW4sIHdhcyBkaWUgendlaXRlIENQVSBhbSBFbmRlCmJld2lya3QuIEd1dCwgZGVyIEtlcm5lbCB6aWVodCBDUFUgYWIuIERhcyBpc3Qgd2Foci4KV2FzIG1pciBkYWJlaSBtaWNodCBrbGFyIHd1cmRlLCBpc3QsIGluIHdpZWZlcm4gZXMgZGllClBlcmZvcm1hbmNlIGRlcyBNVUQgdmVyYmVzc2VybiB3dWVyZGUsIHdlbm4gZXMgZGllc2UgUmVjaGVuemVpdAphdWNoIG51dHplbiBrb2VubnRlLiBCaXNsYW5nIHdhciBpY2ggaW1tZXIgZGVyIChpcnJpZ2VuPykgTWVpbnVuZywKZGFzcyBkaWUgZG9jaCBzZWhyIHN0b2VyZW5kZW4gTGFncyBkdXJjaCBzY2h3aWVyaWdrZWl0ZW4KaW4gZGVyIERhdGVudWViZXJ0cmFndW5nIHp1IHN0YW5kZSBrb21tZW4uIEtvbm5lbiB3aXIKZGllIChmdWVyIGRpZSBTcGllbGVyL01hZ2llcikgZnVlaGxiYXJlIFBlcmZvcm1hbmNlCmR1cmNoIGVpbmVuIHp3ZWl0ZW4gUHJvemVzc29yIHdpcmtsaWNoIHZlcmJlc3Nlcm4/CkhBV0ssIGludGVyZXNzaWVydCB1bmQgZWluIHdlbmlnIHNrZXB0aXNjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkd2FyZWthdWYuIChSb2NodXMsIDEzLiBBcHIgMTk5NSwgMTk6MzA6MjgpOgojISBybj1IYXdrIHJ0PTc5Nzc5MDIxOApFcyBnaWJ0IG5vY2ggYW5kZXJlIFByb3plc3NlLCBkaWUgZGFzIE11ZCBiZXRyZWZmZW4sIHdpZQp6LkIuIGZ0cCwgbXRwLCB3d3csIGRpZSBUb3BsaXN0ZW5nZW5lcmllcnVuZyAobGFldWZ0IGV4dGVybiwKZGFtaXQgZXMga2VpbiBMYWcgZ2lidCkgdXN3LgpFcyBpc3QgbmF0dWVybGljaCBiZXNzZXIsIHdlbm4gc28gZXR3YXMgYXVmIGVpbmVtIHp3ZWl0ZW4KUHJvemVzc29yIGxhZXVmdC4gTWFuIGthbm4gc28gZXR3YXMgYXVjaCBhdWYgZWluZW0gendlaXRlbgpSZWNobmVyIG1hY2hlbiwgbnVyIGlzdCBkaWVzZXIgMS4gdGV1cmVyIGFscyBlaW4gd2VpdGVyZXIgUHJvemVzc29yCnVuZCAyLiBtdWVzc3RlIGRlciBNdWRyZWNobmVyIGltbWVyIG5vY2ggZGllIGJlbm9ldGlndGVuCkRhdGVuIHp1bSBad2VpdHJlY2huZXIgc2NoaWNrZW4uCkVpbmUgWndlaXRDUFUgd2FlcmUgYWxzbyBpZGVhbCB1bSBkaWUgZXJzdGUgenUgZW50bGFzdGVuLCBzbyBkYXNzCmF1ZiBkaWVzZXIgc2ljaCBwcmFrdGlzY2ggbnVyIHVtIGRlbiBHYW1lZHJpdmVyIGt1ZW1tZXJuIG11c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhcmR3YXJla2F1Zi4gKEljZXQsIDEzLiBBcHIgMTk5NSwgMjE6MTk6NDEpOgojISBybj1Sb2NodXMgcnQ9Nzk3Nzk0MjI4ClJvY2h1cz4gei5CLiBmdHAsIG10cCwgd3d3LCBkaWUgVG9wbGlzdGVuZ2VuZXJpZXJ1bmcKCkRhcyBrb2VubnQgaWhyIGRvY2gga2VpbmVtIGF1ZiBkaWUgTmFzZSBiaW5kZW4uCkZ0cCB2ZXJicmF1Y2h0IG1pbmltYWxzdCBaZWl0LCBtdHAgYXVjaCwgV1dXIGlzdCBuZSByZWluZSBJL08gU2FjaGUsIHNvd29obAp2b24gSEQgYWxzIGF1Y2ggTmV0endlcmsKdW5kIGRpZSBUb3BsaXN0ZW4gZWJlbmZhbGxzIHJlaW5lIEkvTyB1bmQga2VpbmUgQ1BVLVNhY2hlLgpVbmQgZGllIHdpcnN0IGR1IGR1cmNoIG5lbiB6d2VpdGVuIHByb3plc3NvciBudXIgbWluaW1hbHN0CnZlcmJlc3Nlcm4sIGRhIGRlciBGbGFzY2hlbmhhbHMgYmVpIHNvbGNoZW4gU2FjaGVuIHdpZSBUb3BsaXN0ZW4tCmdlbmVyaWVydW5nIGRpZSBGZXN0cGxhdHRlIHVuZCBuaWNodCBkaWUgQ1BVIGlzdC4KVW0gbWFsIGV0d2FzIGtyaXRpc2NoIHp1IHdlcmRlbjoKICBJY2ggYmluIGZyb2ggbmljaHQgZ2VzcGVuZGV0IHp1IGhhYmVuLiBNaXIgd3VlcmRlIGVzIHN0aW5rZW4sIHdlbm4KaWNoIHp1c2VoZW4gbXVlc3N0ZSwgd2llIGRpZSBTcGVuZGVuIHp1bSBUZXVmZWwgZ2VqYWd0IHdlcmRlbiBmdWVyIG5lbgp6d2VpdGVuIFByb3plc3Nvci4KClRha2UgaXQgZWFzeSwKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcmU6cmU6cmU6ZWhlcmluZyAoS2hpZGFyLCAxMy4gQXByIDE5OTUsIDIzOjQ3OjM4KToKIyEgcm49WnVlcmlsZXUgcnQ9Nzk3NzE5OTIwCldhcnVtIHByb2dnZW4gZGllLCBkaWUgYW4gVW1sYXV0ZW4gaW50ZXJlc3NpZXJ0IHNpbmQsIG5pY2h0IGVpbmZhY2ggZWluZW4KVHJlaWJlciwgZGVyIEVpbi0gdW5kIEF1c2dhYmVuIG1pdCBVbWxhdXRlbiBlbnRzcHJlY2hlbmQgd2FuZGVsdCwgZXZ0bC4gYXVjaAptaXQgQmlibGlvdGhlayBmdWVyIEhhZXJ0ZWZhZWxsZT8KCktoaWRhciAoZGVyIGRhcyBzb2ZvcnQgYXVmIHNlaW5lbSBBbWlnYSBpbiBBbmdyaWZmIG5laG1lbiB3dWVyZGUsIHdlbm4uLi4KamEsIHdlbm4gZXIgZWluZW4gZWlnZW5lbiBJbnRlcm5ldC1BbnNjaGx1c3MgaGFldHRlKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkd2FyZWthdWYuIChKb2YsIDE0LiBBcHIgMTk5NSwgMTE6MTk6MTcpOgojISBybj1IYXdrIHJ0PTc5Nzc5MDIxOAogVGVpbHdlaXNlIC0gZWluIEdyb3NzdGVpbCBkZXIgTEFHcyB3aXJkIGR1cmNoIGRhcyBOZXR6IHZlcnVyc2FjaHQsIGplZG9jaApuaWNodCBhbGxlLiBBbSBiZXN0ZW4gYmV1cnRlaWxlbiBrb2VubmVuIGRpZXMgZGllIE11ZW5zdGVyYW5lciBTcGllbGVyIC0KTGFncywgZGllIFNJRSBiZW1lcmtlbiwgc2luZCByZWNobmVyYmVkaW5ndC4gQXVzc2VyZGVtIGxhdWZlbiBub2NoIG5pY2h0CmFsbGUgTUctU2VydmljZXMgYXVmIGRlciBuZXVlbiBNYXNjaGluZSAtIHVtcyBXV1cgekIga3VlbW1lcnQgc2ljaCBub2NoIGVpbmUKZGVyIFNVTnMgZGVyIFVuaSwgd2VpbCBXV1cgemllbWxpY2ggaG9oZW4gbG9hZCBlcnpldWdlbiBrYW5uIC0gdW5kIGRhbWl0IExBRy4KSXJnZW5kd2FubiB3ZXJkZW4gd2lyIGFiZXIgYXVjaCBkaWVzZW4gU2VydmljZSBhdWYgZGVuIGVpZ2VuZW4gUmVjaG5lcgpsZWdlbiAobXVlc3NlbiksIHVuZCBkYW5uIGhhZXR0ZSBpY2ggZ2VybiAnbmUgendlaXRlIENQVSBkYSBkcmluLApkaWUgQmVlaW50cmFlY2h0aWd1bmdlbiBkZXMgTVVEcyBhdXNzY2hsaWVzc3Qgb2RlciB2ZXJtaW5kZXJ0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFyZHdhcmVrYXVmLiAoSm9mLCAxNC4gQXByIDE5OTUsIDExOjI5OjUzKToKIyEgcm49SWNldCBydD03OTc4MDA3ODEKIERhcyBpc3QgTklDSFQgenV0cmVmZmVuZC4gV2VubiBtYW4genUgU3BpdHplbnplaXRlbiBhdWYgZGVtIFJlY2huZXIgVE9QCmxhdS0KZmVuIGxhZXNzdCwgYmVrb21tdCBkYXMgTVVEIGNhIDYwLTcwJSBDUFUsIDMwJSB6aWVodCBkYXMgJ1N5c3RlbScgc2VsYnN0LAo1LTEwJSBnZWhlbiBmdWVyIEZUUCB1bmQgQ28gZHJhdWYuIFVuZCBkYXMgc2NobGltbXN0ZSAtIGRlciBodHRwZCAtIGlzdApub2NoIGdhciBuaWNodCBkYSAtIG1pdCBkZW0ga29tbXQgZWggZWluIFByb2JsZW0gYXVmIHVucyB6dS4gRXIga2FubiBpbgoyIE1vZGVzIGxhdWZlbiwgZWlubWFsIGFscyBlaWdlbmVyIERhZW1vbiwgZGVyIHN0YWVuZGlnIGF1ZiBSZXF1ZXN0cyB3YXItCnRldCAoc2NobGVjaHQsIGRlbm4genVtaW5kZXN0IGRpZSBWZXJzaW9uLCBkaWUgd2lyIGhpZXIgYXVmIGRlbiBTVU5zIGxhdWZlbgpsYXNzZW4sIGhhdCBlaW4gTWVtLUxlYWsgdW5kIHdpcmQgc3RhZW5kaWcgZ3JvZXNzZXIpLCBvZGVyIG1hbiBsYWVzc3QgaWhuCnZvbSBpbmV0ZCBzdGFydGVuIC0gZGFubiB3aXJkIGZ1ZXIgSkVERU4gUmVxdWVzdCBlaW4gbmV1ZXIgZ2VzdGFydGV0LCB3YXMKdW5zZXJlIGVpbmUgQ1BVIHppZW1saWNoIHN0cmVzc2VuIGtvZW5udGUuCiBVbmQgZGFzIGJlaSByZWluZW4gSS9PLVNhY2hlbiBrZWluZSBDUFUtWmVpdCB2ZXJicmF0ZW4gd2lyZCwgd2lyc3QgRHUgamEKd29obCBrYXVtIGJlaGF1cHRlbiB3b2xsZW4gLSB3ZW5uIGRvY2gsIHNvIHNjaGF1IERpciBiaXR0ZSBkaWUgTmV0endlcmstCnVuZCBTQ1NJLVRyZWliZXIgaW0gTGludXggb2RlciBpbSBGcmVlQlNEIGFuLiBLbGVpbmVzIEJlaXNwaWVsOiB3aXIgaGFiZW4KYWxzIFBlcmZvcm1hbmNlLVRlc3QgbWFsIDUwMCBNQiB2b24gZGVyIFBsYXR0ZSBnZWxlc2VuIG1pdHRlbHMgZGQgLSBGcmVlQlNECndhciBoaWVyIHVlYnJpZ2VucyBzY2huZWxsZXIgYWxzIExpbnV4LCBuZWJlbmJlaSBiZW1lcmt0IC0gdW5kIGRhYmVpIGdpbmcKZGllICdTeXN0ZW0nLUNQVS1aZWl0IHppZW1saWNoIGluIGRpZSBIb2VoZS4gV2FzIHZvbiAndGltZScgYmVzdGFldGlndCB3dXJkZSwKZXMgc2FndGUgdW50ZXIgRnJlZUJTRCwgZGFzIGNhIDM1JSBDUFUtQmVsYXN0dW5nIGR1cmNoIGRhcyBMZXNlbiBlbnRzdGFuZGVuLgpVbnRlciBMaW51eCBsYWcgZGllc2VyIFdlcnQgYmVpIDQ3JS4gSWNoIGdlaGUgZGF2b24gYXVzLCBkYXMgZWluZSB6d2VpdGUKQ1BVIGRlcnplaXQgZGFzIGJlc3RlIE1pdHRlbCB6dXIgTVVELVBlcmZvcm1hbmNlLVZlcmJlc3NlcnVuZyBpc3QsIGJlc3NlcgphbHMgZGVyIEF1c3RhdXNjaCBnZWdlbiBlaW5lIFAxMDAtQ1BVIChkaWUgd2lyIGxpZWJlciB2ZXJtZWlkZW4gd29sbGVuLCBkYQplcyBzaWNoIGJlaSBkaWVzZW4gdW0gaGFuZHNlbGVrdGllcnRlIFA5MGVyIGhhbmRlbHQsIGRpZSBlcnN0bWFsIG5vY2gKemVpZ2VuIG11ZXNzZW4sIHdpZSBzaWUgaW0gSG9jaHNvbW1lciBpbSBEYXVlcmJldHJpZWIgZHVyY2hoYWx0ZW4gLi4uKQoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1bXBmISAoS2xpbmdlLCAxNS4gQXByIDE5OTUsIDAzOjQzOjEzKToKIyEgcm49R3VuZHVyIHJ0PTc5NzU5NzQ1OQpGdW5rdGlvbmllcnQgZGFzIGF1Y2ggd2llIG1pdCBkZW4gTXVlbnplbj8KTWl0OiJXaXJmIEhpcm4gV2VnIj8KClZlcmdpc3MgZGFubiBhdWNoIG5pY2h0IG5lIEhpbGZlIEZ1bmt0aW9uIHp1IHNjaHJlaWJlbgp6LkIuIGhpbGZlIEhpcm4gb2RlciBIaXJuaGlsZmUKOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvIHNlaWQgaWhyPyEgKFRyeWZhbiwgMTUuIEFwciAxOTk1LCAwOTo1MzoxMCk6CkhleSEhCiBJaHIga29lbm50IG1pY2ggZG9jaCBuaWNodCBlaW5mYWNoIGFsbGVpbmUgbGFzc2VuIQpPc3RlcnNhbXN0YWdtb3JnZW4gdW5kIGljaCBtdXNzIGFyYmVpdGVuLCBrZWluZXIgaXN0IGltIE1HISA6KCgKKndlaW4gaGV1bCoKRWluIGVpbnNhbWVyIE1hdWx3dXJmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV28gc2VpZCBpaHI/ISAoQ2FyYWRocmFzLCAxNS4gQXByIDE5OTUsIDEzOjE2OjQ4KToKIyEgcm49VHJ5ZmFuIHJ0PTc5NzkzMjM5MAoxMyBVaHIgdW5kIGljaCBiaW4gZGEsIGhhYiBUcnlmYW4gZ2VrbnVkZGVsdCBpbiBkZXIgRmVybmUgdW5kIHdhcyBpcz8KTml4ISBTYWd0IG5vY2ggbmljaHQgbWFsIGhhbGxvLiAqYnJ1bW1lbCogRGFiZWkgd2FyIGljaCB2aWVsbGVpY2h0IHNvZ2FyCmRlciBlcnN0ZSBTcGllbGVyLCBkZXIgRHVuY3RvbiBhbHMgUXVlc3QgdGVzdGVuIGR1cmZ0ZSAod2Vpc3MgaWNoIGFiZXIKbmljaHQgc2ljaGVyIDstKSBXYXIgZGFtYWxzIHdhZWhyZW5kIGJ6dy4gYW0gQWJlbmQgdm9yIGRlbQplcnN0ZW4gTUctVHJlZmZlbiBKYW51YXIgJzk0LgoKICAgICAgICAgQ2FyYWRocmFzIC0gc2NobW9sbHQgbWl0IGRlbiBTZW5zZW5tYW5uIGdlbWVpbnNhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYXRpa2VsIChXdWxmZXJlLCAxNi4gQXByIDE5OTUsIDAwOjI3OjIxKToKIyEgcm49S3JldGVrIHJ0PTc5NzAwMjkwNQpLcmV0ZWsgaGF0IGVzIHJlY2h0LCBNb3JnZW5ncmF1IGJyYXVjaHQgZWluZSBHZXNjaGljaHRlLCB6d2FyIGVpbmUKY2hyb25vbG9naXNjaGUgZXJ6YWVobHVuZyB2b24gSGVsZGVuLCBLb2VuaWdyZWljaGVyLCBMZWdlbmRlLCBFcmZvcnNjaHVuZ2VuCnVuZCBlbnR3aWNrbHVuZ2VuLiBIaWVyIChNRykgaXMgc2Nob24gZWluIGVwaXNjaGVzIExhbmQsIGFiZXIgZGlza3JldGUgUXVlc3RzCmZlaGxlbiBldHdhcyBQb2V0aXNjaGVzIG9kZXIgbGVnZW5kYWVyaXNjaGVzLiBUb2xrZWluLCBNb29yY29jaywgdW5kIHZpZWxlCmFuZGVyZSBBdXRvcmVuIGhhYmVuIHNjaG9uIGRlbW9uc3RyaWVydCwgd2llIGVzIHNpY2ggbG9obnQsIGVpbmUgbmFodGxvc2UKYWJ3ZWNoc2VsbmRlIFJlYWxpdGFldCBtaXQgcmVpY2hlciBHZXNjaGljaHRlLCBHZW9ncmFwaGllIHVuZCBha3R1ZWxsZW4KQWJlbnRldWVybiB1bmQgS3JpZWcgYXVmenV0cmFldW1lbi4gRGFzIGZhZWxsdCBhbGxlcyB1bnRlciBNdWRvbG9naWU7CndpZSBzb2xsZW4gd2lyIGRhcyBhYmVyIGJlemFobGVuIG1hY2hlbj8gTW9yZ2VuR3JhdTogZGFzIE1pbmktU2VyaWVzISAgICAgICAgCiAgICBXdWxmZXJlIDogZ2VzY2hpY2h0IHZvbiBkZXIgRWlzd3Vlc3RlCnNjaGF1Cgp+SAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIE9zdGVybiAoVG9yZmR1ZW5nLCAxNi4gQXByIDE5OTUsIDA0OjUzOjUzKToKVW5kIGRpY2tlIEVpZXIgIQpURAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyb2hlIE9zdGVybiAoS3JldGVrLCAxNi4gQXByIDE5OTUsIDA1OjE1OjIwKToKIyEgcm49VG9yZmR1ZW5nIHJ0PTc5ODAwMDgzMwpUb3Jmc29ja2UsIGxhc3MgZGFzIG1hbCBuaWNodCBSdWRpIGhvZXJlbiEgOikKCktyZXRlawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmU6cmU6cmU6ZWhlcmluZyAoR2FyZmllbGQsIDE3LiBBcHIgMTk5NSwgMDc6MDk6MDgpOgojISBybj1BY3JpbW9uIHJ0PTc5NzQ2NjY5NgpBbHNvLCBpY2ggbXVkZGUgdm9uIEphcGFuIGF1cywgdW5kIGZ1ZXIgbWljaCB3YXIgZXMgZ2FueiBzY2hvZW4Kc2NoZWlzc2UsIHdlbm4gTGV1dGUgVW1sYXV0ZSB1bmQgc2NoYXJmZXMgcyBnZXRpcHB0IGhhYmVuLCB3ZWlsCmRhIGtvbW10IGJlaSBtaXIgbnVyIG1pc3QgYW4uIGlyZ2VuZHdlbGNoZSBzY2hyaWZ0emVpY2hlbiBvZGVyCmRvb2VmZXJlcy4gbWFuIGdld29laG50IHNpY2ggZG9jaCBzY2huZWxsIGFuIGRhcyBvZSwgYWUsIHVlIHVuZCBzcy4Kd2FydW0gbWVja2Vybj8gZ2xlaWNoZXMgcmVjaHQgZnVlciBhbGxlLgoKc3RlbGx0IGV1Y2ggdm9yLCBpcmdlbmR3byB3YWVyZSBlaW4gYmVmZWhsIGVpbnp1Z2ViZW4gbWl0IFVtbGF1dC4Kei4gQi4gIHVudCBrdWViZWwgKG1pdCB1IiwgaWNoIGhhYiBudXIga2VpbnMpIGZ1ZXIgZWluZW4genQgb2RlciBzby4KZmFlbmQgaWNoIGJlc2NoZWlkZW4sIHdlbm4gZGVyLCBkZXIga2VpbmUgdW1sYXV0ZSBoYXQsIGRhbiB6dCBkYW5uCm5pY2h0IGtyaWVnZW4ga2Fubi4KCm5hZ3V0LCB3YXIga2VpbiBndXRlcyBiZWlzcGllbCwgd2VpbCBkYXMgamEgendlaXNwdXJpZyBwcm9ncmFtbWllcnQKd2VyZGVuIGthbm4sIGFiZXIgaWNoIGZpbmRlLCBlcyBlcmhvZWh0IGRlbiBzcGllbGtvbWZvcnQsIHdlbm4gbWFuCmFsbGVzIGxlc2VuIGthbm4sIHdhcyBrb21tdC4gb2huZSBzdG9lcmVuZGUgaGllcm9nbHlwaGVuLgoKdm9tIGFuZGVyZW4gRW5kZSBkZXIgd2VsdCwKZ2FyZmllbGQKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByZTpyZTpyZTplaGVyaW5nIChLcmV0ZWssIDE3LiBBcHIgMTk5NSwgMDc6MjM6MjIpOgojISBybj1HYXJmaWVsZCBydD03OTgwOTUzNDgKVW5kIHdpZWRlciBkcmFlbmd0IHNpY2ggbWlyIGRpZSBGcmFnZSBhdWY6IFdhcyB6dW0gR2VpZXIgaGF0IEdhcmZpZWxkcwpBcnRpa2VsIG1pdCAnbmVtIEVoZXJpbmcgenUgdHVuPwooSXN0IG5pY2h0cyBwZXJzb2VubGljaGVzIGdlZ2VuIEdhcmZpZWxkLCBpY2ggZmluZGUgbnVyLCBtYW4gc29sbHRlIGJlaW0KUmVwbHkgc2Nob24gYXVjaCBnZWxlZ2VudGxpY2ggbWFsIGF1ZiBkYXMgU3ViamVjdCBzY2hhdWVuLCB1bmQgZ2dmLiBlaW4KbmV1ZXMgbWFjaGVuISkKCmMgdSBsOGVyLApLcmV0ZWsgZGVyIE9jaHNlbmZyb3NjaAooYmFsZCB3aWVkZXIgaW4gRC1MYW5kLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHduZXdzIChIYXdrLCAxOC4gQXByIDE5OTUsIDE5OjMzOjQwKToKSWNoIHdvbGx0ZSBudXIgbWFsIGxvc3dlcmRlbiwgZGFzcyBkaWUgTVBBLXJ1YnJpayBkd25ld3MKZWluZSB0b2xsZSBTYWNoZSBpc3QuCkhBV0ssIGZsZWlzc2lnZXIgWmVpdHVuZ3NsZXNlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmR3bmV3cyAoQXJvbWJvbG9zY2gsIDE5LiBBcHIgMTk5NSwgMTA6MDY6MDgpOgpJY2ggaGFiIGpldHp0IHNjaG9uIG1pbmRlc3RlbnMgMTUgbWFsIGRpZSBSdWJyaWsgZHduZXdzIGFiYmVzdGVsbHQsIGFiZXIKaXJnZW5kd2FzIGtsYXBwdCBkYSBuaWNodCwgc2llIGtvbW10IGltbWVyIHdpZWRlci4gOi0pCklzdCBkYXMgZGVyIHZlcnp3ZWlmZWx0ZSBWZXJzdWNoLCB1bnNlcmUgQWxsZ2VtZWluYmlsZHVuZyB6dSBoZWJlbiA/IFdhcyBhdWNoCmltbWVyLCBlcyBuZXJ2dCBhbGxtYWVobGljaC4gOi0pCgpBcm9tYm9sb3NjaCwgZGVyLCB3ZW5uIGVyIHdpc3NlbiB3aWxsbCwgd2FzIGFiZ2VodCwgbGllYmVyIGluIGVpbmUgcmljaHRpZ2UKWmVpdHVuZyBzY2hhdXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcgKEtpcmssIDE5LiBBcHIgMTk5NSwgMTI6Mzg6NDIpOgpIYWxsbyEKCkhpZXIgZWluIGt1cnplciBCZXJpY2h0IHVlYmVyIGRpZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgYW0gMTguNC46CgpFcyB3YXJlbiAxMiBzdGltbWJlcmVjaHRpZ3RlIE1pdGdsaWVkZXIgYW53ZXNlbmQKWnVyIEFic3RpbW11bmcgc3RhbmQgZGVyIGZvbGdlbmRlIFZvcnNjaGxhZzoKCiBBU1VTIER1YWwtUGVudGl1bSBCb2FyZCBtaXQgZWluZXIgUDkwIENQVQogMjU2a0IgQ2FjaGUKIDQqMzJNQiBQUy8yIFNJTU1TCiBIUC0xR0IgSGFyZGRpc2sKIEFkYXB0ZWMgMjk0MlcgV2lkZS1TQ1NJIENvbnRyb2xsZXIKIDEuNDRNQiBGbG9wcHkKIDkiIGIvdyBNb25pdG9yCiBWR0EtS2FydGUKCiBQcmVpczogMTAyOTYgRE0KCmRlcyB3ZWl0ZXJlbiB3dXJkZSBkaWUgQXVmcnVlc3R1bmcgZGVzIENhY2hlIGF1ZiA1MTJrQiB1bmQgZXZ0bC4gZGVyCkVyd2VyYiBlaW5lciB6d2VpdGVuIENQVSB2b3JnZXNjaGxhZ2VuIChuYWNoZGVtIGRpZSBVbnRlcnN0dWV0enVuZyBzZWl0ZW5zCmRlcyBPUyBnZWdlYmVuIGlzdCB1bmQgZHVyY2ggZWluZW4gVGVzdCBiZWxlZ3Qgd2VyZGVuIGthbm4sIGRhc3MgZGllClBlcmZvcm1hbmNlIGRlcyBTeXN0ZW0gZGFkdXJjaCBtZXJrbGljaCBnZXN0ZWlnZXJ0IHdpcmQpCgpEaWVzZXIgVm9yc2NobGFnIHd1cmRlIGVpbnN0aW1taWcgYW5nZW5vbW1lbi4KClVudGVyIFRvcCAiVmVyc2NoaWVkZW5lcyIgd3VyZGUgZGVyIEFic2NobHVzcyBlaW5lciBWZXJzaWNoZXJ1bmcgZnVlciBkZW4KUmVjaG5lciB2b3JnZXNjaGxhZ2VuLCBkaWUgRGllYnN0YWhsLCBGZXVlci0gdW5kIFdhc3NlcnNjaGFkZW4sIHNvd2llCnRlY2huaXNjaGUgRGVmZWt0ZSBlaW5zY2hsaWVzc3QgdW5kIGRpZSBBbnNjaGFmZnVuZyBlaW5lcyBOZXR6ZmlsdGVycyBnZWdlbgpVZWJlcnNwYW5udW5nLgpEYSBub2NoIGtlaW5lIEtvc3RlbiBlaW5lciBzb2xjaGVuIFZlcnNpY2hlcnVuZyB2b3JsaWVnZW4sIHd1cmRlIGRlcgpWb3JzdGFuZCBlaW5zdGltbWcgYmV2b2xsbWFlY2h0aWd0IGJpcyB6dSBlaW5lciBIb2VjaHN0Z3JlbnplIHZvbiA1MDAgRE0vSmFocgplaW5lIHNvbGNoZSBWZXJzaWNoZXJ1bmcgYWJ6dXNjaGxpZXNzZW4uCgpFaW4gd2VpdGVyZXIgUHVua3Qgd2FyIGRpZSBEdXJjaGZ1ZWhydW5nIGVpbmVzIExQQy1TZW1pbmFycywgd2VsY2hlcyBhbQoyNC4gSnVuaSBkaWVzZW4gSmFocmVzIHN0YXR0ZmluZGVuIHNvbGwuIEhpZXJ6dSB3aXJkIGRlbW5hZWNoc3Qgbm9jaCB3ZWl0ZXJlCkluZm8gZm9sZ2VuLgoKU293ZWl0IGVyc3RtYWwgLi4uCgpLaXJrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaG9zdHNjcmlwdCAoR251bGxpLCAxOS4gQXByIDE5OTUsIDE3OjIyOjIyKToKSGkhCgpJY2ggaGFiZSBtYWwgd2llZGVyIGVpbmUgUEMtRnJhZ2UhCldlciBrZW5udCBzaWNoIG1pdCBHaG9zdHNjcmlwdCBhdXMgdW5kIGthbm4gbWlyIHNhZ2VuLCB3aWUgaWNoIGRhcyB1bnRlcgpXaW5kb3dzIGFucyBMYXVmZW4gYmVrb21tZS4gSWNoIGRydWNrZSB1bnRlciBXaW5kb3dzIGF1cyB1bmQgd2VubiBpY2ggZGFubgpnaG9zdHNjcmlwdCBzdGFydGUsIGRhbm4ga29tbXQgbnVyLCBkYXNzIGljaCBkZW4gV2luZG93cyBQcy1IZWFkZXIgZG93bmxvYWRlbgpzb2xsLgoKV2VubiBqZW1hbmQgbmUgQWhudW5nIGhhdCwgYml0dGUgbmUga2xlaW5lIE1haWwgYW4gbWljaCEKRGFua2UhCkdudWxsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGR3bmV3cyAoV3VsZmVyZSwgMjAuIEFwciAxOTk1LCAwMDo0ODo0NSk6CiMhIHJuPUFyb21ib2xvc2NoIHJ0PTc5ODI3ODc2OAppY2ggd3VlcmRlIGxpZWJlciBlaW5lIGFsdGVybmF0aXZlIG5hY2hyaWNodGVyIHBlcnNwZWt0aXYgYmVrb21tZW4sIGFiZXIgaWNoCmZpbmRlIGVzIG51ZXR6bGljaCwgZGllc2UgYXJ0IHZvbiBNYWt0dWVsbGVuIE1pdHRlaWx1bmcgenUgYmVrb21tZW4uIEFiZXIKYmVsYXN0ZXQgZXMgZGVuIFJlY2huZXI/PyBMYWdzIHNpbmQgbmV1ZXJkaW5ncyBlYmVuIHNjaGxpbW1lciBhbHMgdWVicmlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdob3N0c2NyaXB0IChCbG9vZHloYXJyeSwgMjAuIEFwciAxOTk1LCAwMjo0MToyMyk6CiMhIHJuPUdudWxsaSBydD03OTgzMDQ5NDIKSGkgR251bGxpLCBpY2gga29tbWUgZ2VyYWRlIG5pY2h0IGFuIGVpbmVuIFBvc3RzY2hhbHRlciByYW4sIGRhcnVtIGhpZXIuCgpJY2gga2VubmUgbWljaCB6d2FyIG1pdCBQb3N0c2NyaXB0IGF1cyBhYmVyIG5pY2h0IGdlcmFkZSB1bnRlciBXaW5kb3dzLgpGdWVyIG1pY2ggc2llaHQgZXMgc28gYXVzLCBhbHMgb2IgZGVyIEludGVycHJldGVyIG5hY2ggZWluZXIgSGVhZGVyZGF0ZWkKc3VjaHQgdW5kIG5pY2h0IG5pY2h0IGZpbmRldC4gUGZhZCwgTmFtZW4gb2RlciBzby4uLgoKY2lhbywgQmxvZWRpZSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR290dGVzbGFlc3RlcnVuZz8gKEZyaWVkam9mLCAyMC4gQXByIDE5OTUsIDIxOjU0OjQ0KToKCk9oIEpPRiBkZXIgRHUgZGEgb2JlbiBJZGxlc3QuLi4KCldlbm4gZWluZXIga29tbXQsIGRlciBEaXIgbmljaHRzIHR1dCwgbmljaHRzIGdlZ2VuIERpY2ggc2FndCB1bmQgRGVpbmVuIE5hbWVuCm5pY2h0IGxhZXN0ZXJ0LCBkYW5uIGRhcmYgZXIgSGFsYmpvZiBoZWlzc2VuIG9kZXIgRmFzdGpvZiwgZGFyZiB3dXNjaGVsbiBvZGVyCnRyZXRlbiAtIGRvY2ggd2VubiBlaW5lciBrb21tdCwgZGVyIEZyaWVkZW4gc3RpZnRlbiB3aWxsLCBvZGVyIGVpbmVyIGtvbW10IGRlcgpzaWNoIGF1ZiBkZW0gV2VnIHp1bSBGcmllZGhvZiB2ZXJ0aXBwdCBoYXQuLi4gIGRhbm4gaXN0IGVzIGF1cy4uLgogICBBcm1hZ2VkZG9uIGJyYWNoIHVlYmVyIGRhcyBNb3JnZW5ncmF1ZW4gaGVyZWluLCBzaWNoZXIgbmljaHQgYXVzIERlaW5lcgpBYnNpY2h0LCB1bmQgb2huZSBWb3J3YXJudW5nLCBhYmVyIHdlciBpc3Qgc2Nob24gYWJlcmdsYWV1YmlzY2ggZ2VudWcgYW4gZGVuClp1ZmFsbCB6dSBnbGF1YmVuPyBXZXIgYWxsZXMgbXVzc3RlIGRhcnVudGVyIGxlaWRlbiAtIHZpZWxlIFVuc2NodWxkaWdlLApVbnNjaHVsZGlnIHdpZSBpY2ggc2VsYnN0LiBVbmQgbnVuLCBuaWNodCB3aXNzZW5kLCBiZWkgd2VtIHNpZSBkYXJ1ZWJlciBpaHIKTGVpZCBmbHVjaGVuIHNvbGxlbiwgd2VyZGVuIHNpZSBzaWNoIGFuIERpY2ggd2VuZGVuLCBPaCBKb2YsIG1pdCBpaHJlbgpLbGFnZW4uLi4gIERhYmVpIGhhZXR0ZSBpY2ggbWlyIGdlZHVsZGlnIGFsbGVzIGFuZ2Vob2VydC4uLgoKRG9jaCBpbiBEZWluZXIgV2Vpc2hlcnppZ2tlaXQgKG9kZXIgd2FyIGVzIEhhbGJoLi4uIG5laW4gYXVjaCBuaWNodCkgaGFzdCBEdQpiZXNjaGxvc3NlbiBtaXIgZGllIFN0aW1tZSB6dSBuZWhtZW4sIGRlbiBSdWYgKGRlbiBpY2ggRGlyIHNpY2hlciBuaWNodApydWluaWVydCBoYWV0dGUpIHVuZCBtaXIgUnVoZSBhdWNoIGF1ZiBhbGxlbiBFYmVuZW4genVnZXdpZXNlbi4gU28gd2FyIERlaW4KUmF0c2NobHVzcy4uLgogICBEYW1pdCBEaWNoLCBPaCBKb2YsIG1laW5lIFdvcnRlIGVycmVpY2hlbiwgbXVzcyBpY2ggc2llIGFuIGFsbGUgcmljaHRlbiwKZGVubiBEdSBoYXN0IG1pY2ggbmljaHQgbnVyIHN0dW1tIGdlbWFjaHQsIHNvbmRlcm4gaWdub3JpZXJzdCBtaWNoIGF1Y2guIERlaW4KZ3V0ZXMgUmVjaHQsIHNpY2hlciwgZG9jaCB3ZWxjaGVzIFJlY2h0LCB3ZWxjaGVuIFZlcnRyYWcgaGF0IGRlbm4gZGVyIGFybWUKRnJpZWRKb2YgZ2Vicm9jaGVuPyBLZWluZW4gZG9jaC4uLiAgICBBYmVyIER1IGJyYWNodGVzdCBtaWNoIHp1bSBTY2h3ZWlnZW4sIG9oCkpvZiwgdW5kIHNvIHdpbGwgaWNoIGRhcyBmdWVyZGVyaGluIHR1bi4gIkludGVyIHN1cmdvIG1lbGlvcmUgb21pbmUiIC0gSVNNTwpmdWVyIGFsbGUgRnJldW5kZSBHYXJpYmFsZGlzLi4uCgpaZWlnZSBkaWUgR3JvZXNzZSwgZGllIER1IHp3ZWlmZWxsb3MgaGFzdCwgdW5kIGxhc3MgZGllc2VuIEFydGlrZWwKKHVua29tbWVudGllcnQpIGRhIHN0ZWhlbiB3byBlciBpc3QsIGRhbm4gd2lsbCBpY2ggbWVpbmVuIEdsYXViZW4gYW4gRGljaAp3aWVkZXJmaW5kZW4uLi4uICAgOi0pKQoKRGFzIGlzdCBkb2NoIGVpbiBmYWlyZXMgRnJpZWRlbnNhbmdlYm90Li4uICBmaW5kZXQ6ICBGcmllZEpvZiBkZXIgU2NobGljaHRlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmthcmF0ZWthbmFsIChGZWxhZ3VuZCwgMjEuIEFwciAxOTk1LCAwOTo1Njo1OSk6CkRhIGVzIG5vY2ggbmlyZ2VuZHMgc3RlaHQuLmVzIGdpYnQgamV0enQgZWluZW4gS2FyYXRlZ2lsZGVua2FuYWwuLi4tK0sKdHJhaW5pZXJlbmQuLi4uRmVsYSA7KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWhlcnN0dWZlbiAoQmVuZGVpZ2lkLCAyMS4gQXByIDE5OTUsIDE4OjE4OjM5KToKSGkgTXVkZGllcy4KCkRhIGxlaWRlciBkaWUgUnVicmlrIEVudHdpY2tsdW5nIHZvbGwgaXN0IChrZWluIFd1bmRlciBiZWkgZGVyIEthcmF0ZWdpbGRlLi4pCldlcmRlIGljaCBkZW4gQXJ0aWtlbCBoYWx0IGhpZXIgc2NocmVpYmVuLgpJY2ggaGFiZSBtaXIgbWFsIHVlYmVybGVndCwgb2IgZXMgbmljaHQgaW4gQW5wYXNzdW5nIGFuIGRpZSBTcGllbGVybGV2ZWwsCmdla29wcGVsdCBtaXQgQWJlbnRldWVycHVua3RlbiwgZWluIEFlcXVpdmFsZW50IGJlaSBkZW4gU2VoZXJsZXZlbG4gZ2ViZW4Kc29sbHRlLgpJbSBQcmluemlwLCBmaW5kZSBpY2gsIHdhZXJlIGVzIGRvY2ggZmFpciwgd2VubiBTZWhlciBudXIgbm9jaCBkYW5uIGlocmUKTGV2ZWwgZXJob2VoZW4ga29lbm50ZW4sIHdlbm4gc2llIHp1bSBCZWlzcGllbCA5MCUgb2RlciA5NSBQcm96ZW50IGRlciBBUHMKaGFiZW4uIERhcyB3dWVyZGUgZWluaWdlIFNlaGVyIHdpZWRlciB6dW0gUXVlc3RlbiBicmluZ2UsIHVuZCBkYW1pdCBhdWNoIGRhcwpEdXJjaGNoZWNrZW4gZGVyIFF1ZXN0cyBmb2VyZGVybi4gQXVzc2VyZGVtIGhhdCBqYSBlaW4gU2VoZXIgZGVyIGtsZWluZW4KU3R1ZmVuIChmYXN0KSBkaWUgZ2xlaWNoZW4gIFJlY2h0ZSB3aWUgU2VoZXIgaG9laGVyZXIgU3R1ZmVuLCBhdXNzZXIgZGllIFNhY2hlCm1pdCBkZW0gVmVybHVzdCBkZXIgRVBzIGJlaW0gVG9kLiBEYXMgd2FlciBkYW5uIGRlciBBbnJlaXouCkljaCB3ZWlzcywgZGFzcyBtb21lbnRhbiBkaWUgR2lsZGUgd29obCBtZWhyIGJlc2NoYWVmdGlndCwgYWJlciBkaWVzIGhpZXIgbWFsCmFscyBEaXNrdXNzaW9uc3B1bmt0LgoKWicgcGFyIHNlcnZ1LAogICAgICAgICAgICAgIEJlbmRlaWdpZAouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVyc3R1ZmVuIChHcmltbWJvcm4sIDIxLiBBcHIgMTk5NSwgMTg6MjE6MTIpOgojISBybj1CZW5kZWlnaWQgcnQ9Nzk4NDgxMTE5CgpJY2ggeml0aWVyZSBSb2NodXMgKHNpbm5nZW1hZXNzKToKU2VoZXIgaGFiZW4gaW0gbXVkIHNvdmllbCBlcnJlaWNodCwgZGFzcyBzaWUgZGFzIFJlY2h0IGhhYmVuLCBkaWUgRnVlc3NlCmhvY2h6dWxlZ2VuIHVuZCBudXIgbm9jaCB6dSB0dW4sIHdhcyBzaWUgbW9lY2h0ZW4uCkRpZXMgdW50ZXJzY2hyZWliZSBpY2ggdm9sbC4gVW5kIHdhZXJlIGdlZ2VuIGRpZXNlIGFwLUJlZ3Jlbnp1bmcgZnVlcgpTZWhlci4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlaGVyc3R1ZmVuIChGZWxhZ3VuZCwgMjEuIEFwciAxOTk1LCAxOTozMjoxNCk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTg0ODEyNzIKVmllbGxlaWNodCBpc3QgendpbmdlbiBqYSBkZXIgZmFsc2NoZSBBbnNhdHouLi4KSWNoIGhhYmUgYWxzIFNwaWVsZXIgZGllIEVyZmFocnVuZyBnZW1hY2h0LCBkYXNzIGF1c3NlciBkZW0gU3Bhc3MgUXVlc3RzIGRlcgplaW5mYWNoc3RlIFdlZyBzaW5kLCBFcCB6dSBiZWtvbW1lbiAoamVkZW5mYWxzIGRpZSBlcnN0ZW4gNS02MDAuMDAwKQpEYXMgZ2lsdCBqZXR6dCBhbHMgU2VoZXIgbmljaHQgbWVoci4gRGEgZnVlciBtaWNoIGplZG9jaCBqZXR6dCBkaWUgRXAgd2ljaHRpZwpzaW5kLCBrb2VubnRlIG1hbiBkb2NoIGZ1ZXIgU2VoZXIgKG1laW5ldHdlZ2VuIGF1Y2ggbm9jaCBuYWNoIFNlaGVyc3R1ZmUKZGlmZmVyZW56aWVydCkgbWVociBhbHMgMTAwMCpBUCBhbHMgRVAgZnVlciBlaW5lIHF1ZXN0IGdlYmVuLCB6LkIuIDMtNDAwMCpBUC4KRGFzIHd1ZXJkZSBkYW5uIHdlbmlnc3RlbnMgZWluZW4gQW5yZWl6IGZ1ZXIgdmllbGUgbGllZmVybiwgd2llZGVyIHp1CnF1ZXN0ZW4uCkVpbiBzb3dpZXNvIGdlcm5lIHF1ZXN0ZW5kZXIuLi5GZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWcgKEFuYWtpbiwgMjEuIEFwciAxOTk1LCAxOTo1NjoyMSk6CkhpaG8sCgpTbyBsaWViZSBNYWdpZXIsIGRhIHNpY2ggamEga2VpbmVyIGF1ZiBkZW4gS2FuYWVsZW4sIHp1IGRlbSBUaGVtYQpMYWcgYWV1c3NlcnQsIG1hbCBoaWVyIG1laW5lIEZyYWdlLiBLYW5uIGVzIHNlaW4sIGRhc3MgZHVyY2ggZGllCkthcmF0ZWthLCBkaWUgMTAwMGVuZGUgdm9uIFd1ZXJtZXJuIGF1ZiBkZW0gRnJpZWRob2YgcHJvZHV6aWVyZW4sCmVzIHNvIGxhZ2d0PyBEYXMgbGV0enRlIG1hbCBoYWIgaWNoIHNvIGVpbiBMYWcgZXJsZWJ0LCBkYSB3YXIgd2FzIG1pdApSYXR0ZW4gZGllIG1hbiBiZWxpZWJpZyBvZnQgcHJvZHV6aWVyZW4ga29ubnRlLiBOdW4gd2lyZCBpY2ggZ2Vybgp3aWVzc2VuIG9iIGVzIGRhcmFuIGxpZWd0IHVuZCB3ZW5uIGphIG9iIG1hbiBkYXMgbmljaHQgdW50ZXIKLSAobWlzdCBaZWlsZW51bWJydWNoKSBiaW5kZW4ga2Fubi4KCkFuYWtpbiAobGFnZ2VuZXJ2dCBzZWl0IDIgVGFnZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFnIChBc21vZGlzLCAyMS4gQXByIDE5OTUsIDIxOjI0OjIyKToKIyEgcm49QW5ha2luIHJ0PTc5ODQ4Njk4MQpEaWUgS2FyYXRla2EgcHJvZHV6aWVyZW4gV3Vlcm1lcj8gd2llIGtvbW1zdGUgZGFyYXVmID8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZyAoQW5ha2luLCAyMS4gQXByIDE5OTUsIDIxOjQyOjI0KToKIyEgcm49QXNtb2RpcyBydD03OTg0OTIyNjIKSGlobwoKTmFqYSBpY2ggaGFiIHNvd2FzIGdlaG9lcnQsIGRhc3MgZGllIHNvd2FzIGFtIEZyaWVkaG9mIG1hY2hlbiB1bSBUaWVmc2NobGFlZ2UKenUgdWViZW4uCgpBbmFraW4gICgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYWcgKEdyaW1tYm9ybiwgMjEuIEFwciAxOTk1LCAyMTo1Nzo1OSk6CiMhIHJuPUFuYWtpbiBydD03OTg0OTMzNDQKVW5kIHZvZWxsaWcgdW1zb25zdC4gQmlzbGFuZyBoYWJlbiBkaWUgV3Vlcm1lciBlaW5lIEdyb2Vzc2Ugdm9uIDE3MCBjbSwgd2VubgppY2ggZGFzIHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlLi4uIDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBXdXJtdmVybWVzc2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFnIChSb2NodXMsIDI0LiBBcHIgMTk5NSwgMTA6MTI6MjMpOgojISBybj1HcmltbWJvcm4gcnQ9Nzk4NDk0Mjc5CkZhbGxzIEthcmF0ZWthIGdlZ2VuIFd1ZXJtZXIgdWViZW4gc29sbHRlbiB1bSBpaHJlIEFid2VociB6dSB2ZXJiZXNzZXJuCm11c3MgaWNoIHNpZSBsZWlkZXIgZW50dGFldXNjaGVuIC0gbWFuIGxlcm50IEFid2VociBudXIsIHdlbm4gZXR3YXMKYWJ6dXdlaHJlbiBpc3QsIGRpZSBXdWVybWVyIHZlcmZlaGxlbiBqZWRvY2ggbWVpc3RlbnMgc293aWVzbyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhhcmR3YXJla2F1ZiAoSW5mb21heCwgMjQuIEFwciAxOTk1LCAxMToyOToyMik6CiMhIHJuPUpvZiBydD03OTc3ODc3MDIKS2FubiBtYWwgYml0dGUgZWluZXIgc2FnZW4gd2VsY2hlIEhhcmR3YXJlIGFrdHVlbGwgZ2VrYXVmdCB3ZXJkZW4gc29sbCBvZGVyCnNjaG9uIHd1cmRlIChmdWVyIExldXRlIGRpZSBsYW5nZSBuaWNodCBkYSB3YXJlbikuCkljaCB3YWVyZSBkYW5uIGF1Y2ggc2VociBhbiBkZXIgTXVsdGlwcm96ZXNzb3J2ZXJzaW9uIHZvbiBMSU5VWCBpbnRlcmVzc2llcnQsCmRhIHNvbnN0IGVpbiB6d2VyaXRlciBQcm96ZXNzb3IgZWgga2VpbmVuIFNpbm4gbWFjaHQuICh6d2VpdGVyKQpIYWJlIG5hZW1saWNoIG5vY2ggbmljaHRzIGRhdm9uIGdlaG9lcnQuCgplaW4gaW4gbGV0enRlciBaZWl0IG5pY2h0IHNvIGd1dCBpbmZvcm1pZXJ0ZXIgSU5GT01BWCAsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGFyZHdhcmVrYXVmIChCb2luZywgMjQuIEFwciAxOTk1LCAxMTozMDo0NSk6CiMhIHJuPUluZm9tYXggcnQ9Nzk4NzE1NzYyCjI0LiBNaXRnbGllZGVydmVyc2FtbWx1bmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoS2lyayAgICAgICApICAxOS4gQXByCgpEYSBzdGVodCdzIGRyaW4gLi4uCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYWcgKFllbmRpLCAyNC4gQXByIDE5OTUsIDEzOjQ0OjMxKToKIyEgcm49QW5ha2luIHJ0PTc5ODQ5MzM0NAoKVGllZnNjaGxhZWdlIGFuIFd1ZXJtZXJuIHVlYmVuPz8/CipncnVlYmVsKgoKWVRZLCBzaWNoIGZyYWdlbmQsIHdvIGJlaSBXdWVybWVybiBkaWUgR3VlcnRlbGxpbmllIHNpdHp0Li4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW50d2lja2x1bmcgKFByZWFjaGVyLCAyNC4gQXByIDE5OTUsIDE4OjQ2OjUzKToKVGFjaCBMZXVkcyAuLi4KSUljaCBoYWIgaW1tZXIgZ2VkYWNodCBkYXMgZWQgZGFzIGFlbHRlc3RlIEdld2VyYmUgZGVyIFdlbHQgaW4gamVkZXIKR2VzZWxsc2NoYWZ0IGdlYmVuIHd1ZXJkZSAuLi4gTmljaHQgYWJlciBpbiBNdWQgLi4uIFdpZSB3YWVycyB3ZW5ucyBzaWNoCmplbWFuZCBhbiBkYXMgQ29kZW4gZWluZXMgQm9yZGVsbHMgaW4gTUcgaGVyYW53YWdlbiBrb2VubnRlIC4uLiBFaW4gbmV0dGVyCk1hZ2llciBtaXQgZWluZW0gU2NodXNzIHNjaHdhcnplbiBIdW1vcnMgLi4uIGhlaGUgLi4uIFdlbm4gbmljaHQgZGFzIGRhbm4Kd2VuaWdzdGVucyBtYWwgZWluIEZyZXVkZW5tYWVkY2hlbiAoT2RlciBKdW5nZSBmdWVyIGRpZSBNYWVkZWxzIGhpZXIpIC4uLgpUaHggaW4gQWR2YW5jZSAtIFByZWFjaGVyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVELUJBTksgKFByZWFjaGVyLCAyNC4gQXByIDE5OTUsIDE5OjMyOjM3KToKSGFiIG5vY2ggbmVuIGtsZWluZW4gVm9yc2NobGFnIC4uLgpXaWUgd2FlcnMgbWFsIG1pdCBldHdhcyBkZXN0cnVrdGl2ZW0gaW4gTUcgKEFscyBvYnMgZGFzIG5pY2h0IHNjaG9uIGdlbnVnCmdhZWJlKQpFcyB3YWVyZSBkb2NoIG5ldHRlIHdlbm5zIGluIE1HIGVpbmUgQmFuayBnYWViZSwgZGllIG1hbiBBVVNSQVVCRU4ga2FubgooR2VnZW4gZ2VudWcgQmV1dGUgbmF0dWVybGljaCB1bmQgZ2VnZW4gZW50c3ByZWNoZW5kZW4gcGVyc29lbmxpY2hlbgpFaW5zYXR6KS4uLiBCaW4gbWlyIHNpY2hlciBkYXMgZWluIE1hZ2llciBzaWNoZXJsaWNoIGluIGRlciBMYWdlIHdhZXJlIGRpZXNlbgpWb3JzY2hsYWcgenUgdmVyd2lya2xpY2hlbiAuLi4gQWJlciB3aWUgZ2VzYWd0OiBFcyBpc3QgbnVyIGVpbiBWb3JzY2hsYWcgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBIYXJkd2FyZWthdWYgKEpvZiwgMjQuIEFwciAxOTk1LCAyMDoyNDoyNCk6CiMhIHJuPUluZm9tYXggcnQ9Nzk4NzE1NzYyCiBHZWthdWZ0IHd1cmRlIGVpbiBQZW50aXVtLTkwIGF1ZiBCYXNpcyBlaW5lcyBBU1VTIFBDSS9FIFA1NCBOUDQsIGRhcyBkZW4KRWluYmF1IGVpbmVyIDIuIENQVSBlcmxhdWJ0LiBEYXMgZ2FuemUgaXN0IG1pdCA0IDMyTUIgU0lNTXMgYmVzdHVlY2t0IHVuZAplbnRoYWVsdCBlaW5lIEFIQTI5NDBXIFdpZGUgU0NTSS1QQ0ktS2FydGUgc293aWUgZWluZSBIUDMyMzMgMUdCIFNDU0kgRGlzay4KCiBEZXIgMi4gUHJvemVzc29yIG1hY2h0IG5hdHVlcmxpY2ggbnVyIFNpbm4sIHdlbm4gbWFuIGVpbiBPUyBoYXQsIGRhcyBpaG4KYXVjaAp1bnRlcnN0dWV0enQsIGtsYXIuIE9iIGRhcyBiZWkgTGludXggZ2VwbGFudCBpc3QsIHdlaXNzIGljaCBuaWNodCAtIHVuZCBpbQpHcnVuZGUgaXN0cyBtaXIgYXVjaCBlZ2FsIDopIFdpciBmYWhyZW4gYXVmIGRlbSBSZWNobmVyIEZyZWVCU0QtMi4wLCB1bmQKREFGVUVSIGlzdCBuZSBTTVAtVW50ZXJzdHVldHp1bmcgaW4gVm9yYmVyZWl0dW5nLgoKSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZWhlcmhpbGZlIChGZWxhZ3VuZCwgMjQuIEFwciAxOTk1LCAyMTowMjozNik6ClNlaGVyaGlsZmUgZWlubWFsIGFuZGVycy4uLgpNaXIgaXN0IHp1IE9ocmVuIGdla29tbWVuLCBkYXNzIGVpbiBNYWdpZXIgZG9jaCB0YXRzYWVjaGxpY2ggZGllIFRydW5rZW5oZWl0CmVpbmVzIFNlaGVya29sbGVnZW4gYXVzZ2VudXR6dCBoYXQsIHVtIGlobiBudW4gZGF6dSB6dSB6d2luZ2VuLCBNYWdpZXIgenUKd2VyZGVuLi4KRGFzIGlzdCBuYXR1ZXJsaWNoIGZ1ZXIgbWljaCBhbHMgU2VoZXIgdm9lbGxpZyB1bnZlcnN0YWVuZGxpY2gsIHVuZCBlZ2FsCndlbGNoZSBTY2hhbmR0YXRlbiBkaWVzZXIgU2VoZXIgaW0gU3VmZiBiZWdhbmdlbiBoYWJlbiBzb2xsdGUsIHBsYWVkaWVyZSBpY2guLgpMQVNTVCBGUllERVIgTEVCRU4gdW5kIHp3YXIgYWxzIFNlaGVyICEhIQpXZXIgbWl0IG1pciBlaW5lciBNZWludW5nIGlzdCwgZGFzcyBGcnlkZXIgenVtIE1hZ2llciBhYnNvbHV0IG5pY2h0IGdlZWlnbmV0CmlzdCwgc29sbCBkb2NoIGJpdHRlIGVpbmUgTWFpbCBhbiBERUFUSCBzY2hpY2tlbiBtaXQgZGVyIEJpdHRlIHVtIGVpbmUKU2Nob256ZWl0IHZvbiBtaW5kZXN0ZW5zIDEgTW9uYXQsIGRhbWl0IEZyeWRlciBzaWNoIHZvbSBzY2hvZW5lbiBMZWJlbgp2ZXJhYnNjaGllZGVuIGthbm4gb2RlciBBdWZoZWJ1bmcgZGVyIHVlYmxlbiBGb3JkZXJ1bmcuLi4KQXVmICJTZWhlcmhpbGZlIiBldXJlcnNlaXRzIGhvZmZlbmQuLi4uRmVsYQpQLlMuIEZyeWRlciBpc3QgYXVjaCBpbW1lciBoaWxmc2JlcmVpdCBnZXdlc2VuLi47KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBIYXJkd2FyZWthdWYgKEljZXQsIDI1LiBBcHIgMTk5NSwgMDE6MTQ6MTgpOgojISBybj1Kb2YgcnQ9Nzk4NzQ3ODY0CkRhcyBQcm9qZWt0IHp1ciBVbnRlcnN0dWV0enVuZyBtZWhyZXJlciBQcm96ZXNzb3JlbiB1bnRlciBMaW51eCBiZWdhbm4Kdm9yIG5pY2h0IGFsbHp1bGFuZ2VyIFplaXQuCk1hbCBzZWhlbiB3aWUgbGFuZ2UgZGFzIGRhdWVydC4gTm9ybWFsZXJ3ZWlzZSBpc3QgTGludXgKcmVjaHQgc2NobmVsbCBtaXQgc29sY2hlbiBEaW5nZW4uCgotSWNlVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNlaGVyaGlsZmUgKEFsaW5lLCAyNS4gQXByIDE5OTUsIDA4OjQwOjI1KToKIyEgcm49RmVsYWd1bmQgcnQ9Nzk4NzUwMTU2CldhcyBzb2xsIGRlbm4gZGFzPz8/Pz8gV2VsY2hlciBNYWdpZXIgaXN0IGRlbm4gc28gaGludGVyaGFlbHRpZyBhdXMgbWVpbmVtCmxpZWJzdGVuIEZyeWRlcgplaW5mYWNoIGF1Y2ggc28gZWluZW4gZGVrYWRlbnRlbiBNYWdpZXIgbWFjaGVuIHp1IHdvbGxlbj8/PyBNYW4vZnJhdSBrYW5uCmRvY2ggYW0gQmVzdGVuIGFuIEdyaW1tYm9ybiBzZWhlbiB3b2hpbiBkYXMgZnVlaHJ0LCB3ZW5uIGVpbiBTZWhlciB6dW0gTWFnaWVyCndpcmQuCgpJc3QgZGVubiBHcmltbWJvcm4gbmljaHQgV2FybnVuZyBnZW51Zz8/PwpBbHNvIGljaCBzdGltbWUgRmVsYWd1bmQgdm9sbCB6dTogTGFzc3QgRnJ5ZGVyIGJpdHRlIGxlYmVuIHVuZCB6d2FyIGFscwpsaWViZXZvbGxlbiBTcGllbGVyaGVsZmVyIHVuZCBTRUhFUiEhISEhISEhCgpUcmVpYnQgRXVyZSB1ZWJsZW4gU2NoZXJ6ZSBtaXQgYW5kZXJlbiAhISEgTnV0eiBkZW4gYmVzb2ZmZW5lbiBadXN0YW5kIHZvbgphbmRlcmVuIG5pY2h0IGF1cyEhIQoKRWluZSB0aWVmYmVzb3JndGUgQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhhcmR3YXJla2F1ZiAoSm9mLCAyNS4gQXByIDE5OTUsIDEwOjM0OjQzKToKIyEgcm49SWNldCBydD03OTg3NjUyNTgKIERhcyBpc3QgZGFzIFByb2JsZW0gYmVpIExpbnV4IC0gZGllIHNpbmQgcmVjaHQgc2NobmVsbCBiZWkgc29sY2hlbiBEaW5nZW4KOikKRGllIGVyc3RlbiAzMCBvZGVyIDQwIFJlbGVhc2VzIHNvbGx0ZSBtYW4gZGFubiB2ZXJtdXRsaWNoIGRpZSBGaW5nZXIgdm9uIGRlbQpNdWx0aXByb3plc3Nvci1TdXBwb3J0IGxhc3Nlbiwgd2VpbCBlciBpbnN0YWJpbCBpc3QgOikKIE5hY2ggZGVtLCB3YXMgaWNoIGdlaG9lcnQgaGFiLCBpc3QgYmVpIExpbnV4IGVyc3RtYWwgbnVyIGFzeW1tZXRyaXNjaGVzCk11bHRpcHJvemVzc2luZyBtb2VnbGljaCAtIGRhcyBpc3QgbmF0dWVybGljaCBuaWNodCBzbyBzY2hvZW4uIEJlaQpGcmVlQlNEIGlzdCBzeW1tZXRyaXNjaGVuIE11bHRpcHJvemVzc2luZyBnZXBsYW50IC0gdW5kIGRpZSBGcmVlQlNELWxlcgpzaW5kIGVoZXIgZGFmdWVyIGJla2FubnQsIFNhY2hlbiBlcnN0IGRhbm4gcmF1c3p1bGFzc2VuLCB3ZW5uIHNpZSBpbiBlaW5lbQpoYWxid2VncyBhdXNnZXJlaWZ0ZW4gWnVzdGFuZCBzaW5kIDopIFN0YXR1cyBkZXMgUHJvamVrdGVzIChpY2ggeml0aWVyZSBmcmVpCmVpbmVuIEZyZWVCU0QtQ29yZS1NZW5zY2hlbik6ICdEaWUgVHlwZW4ga29lbm5lbiBuaWNodCBiZXJpY2h0ZW4sIHdpZSB3ZWl0CmRhcyBQcm9qZWt0IGlzdCAtIHNpZSBrb21tZW4gbmljaHQgcmF1cyAuLi4gd2lyIGhhYmVuIHNpZSBiZWkgV2Fzc2VyIHVuZApCcm90IGVpbmdlc3BlcnJ0LCBiaXMgZGFzIFNNUC1Qcm9qZWt0IEZydWVjaHRlIHRyYWVndCcgOikKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXV19TZWl0ZSAoTGksIDI1LiBBcHIgMTk5NSwgMTE6NDg6MDYpOgoKaGFsbG8gTGV1dGUhCkljaCBob2ZmZSwgaWNoIGthbm4gZGVuIGVpbiBvZGVyIGFuZGVyZW4gKG9kZXIgbmF0dWVybGljaCBkaWUgRWluZSB1bmQgZGllCkFuZGVyZSkgbWl0IGRpZXNlciB3d3ctc2VpdGUgYmVnZWlzdGVybjoKaHR0cDovL3NjZi5ubXN1LmVkdS9+ZW5pZWxzZW4vUHl0aG9uLmh0bWwKCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBIYXJkd2FyZWthdWYgKEljZXQsIDI1LiBBcHIgMTk5NSwgMTM6MTA6NTYpOgojISBybj1Kb2YgcnQ9Nzk4Nzk4ODgzCipncmlucyoKSWNoIGJsZWliZSBkb2NoIGxpZWJlciBiZWkgTGludXgsIGRhIGJla29tbWUgaWNoIHdlbmlnc3RlbnMgZ2xlaWNoIHN1cHBvcnQKZnVlciBuZXVlIEhhcmR3YXJlLgpEaWUgVHJpbzY0IHVuZCBNaXRzdW1pIEZYNDAwLVNhY2hlbgp3YXJlbiBlY2h0IGJsaXR6c2NobmVsbCBkYSA6KQpOdXIgZnVlciBkaWUgSUJNUlQgNjE1MCAoYWx0ZXIgR3Jvc3NyZWNobmVyKS4gRGEgd2lyZCBlcyBrZWluIExpbnV4IGdlYmVuLAphYmVyIHZpZWxsZWljaHQgZWluIE5ldEJTRC4gVW5kIGRhbm4ga29tbXQgZGFzIEFJWCBkYSBydW50ZXIgOikKCi1JY2VUIChMaW51eC1GYW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogSGFyZHdhcmVrYXVmIChKb2YsIDI1LiBBcHIgMTk5NSwgMTM6MjA6NTEpOgojISBybj1JY2V0IHJ0PTc5ODgwODI1NgogSG0sICdTdXBwb3J0IGZ1ZXIgbmV1ciBIYXJkV2FyZSc6IFRyaW82NC1TdXBwb3J0IGR1ZXJmdGUgaW0gWEZyZWU4NiBzZWluLApuaWNodCBpbSBMaW51eCAtIHVuZCBYRnJlZSBpc3QgYXVjaCBmdWVyIEZyZWVCU0QgOikKIFp1bSBGWDQwMCBrYW5uIGljaCBuaXggc2FnZW4uCiBBSEEyOTQwIHdpcmQgaW4gTGludXggb2ZmaXppZWxsIG5pY2h0IHVudGVyc3R1ZXR6dCwgZGllIEJldGEtUmVsZWFzZSBrYW5uCm51cgpCcnVjaHRlaWxlIGRlciBGZWF0dXJlcyBudXR6ZW4sIHpCIGtlaW4gRGlzY29ubmVjdC9SZWxlY3QsIGtlaW4gV2lkZS1TQ1NJLAprZWluZW4gVHdpbi1CdXMgdXN3IHVzdyAtIGFsbGVzIERpbmdlLCBkaWUgRnJlZUJTRCBzY2hvbiBrYW5uLiBadWRlbSBpc3QKZGVyIEZyZWVCU0QtVHJlaWJlciBhdWNoIG5vY2ggMjAlIHNjaG5lbGxlciBhbHMgZGVyIHZvbiBMaW51eCAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBIYXJkd2FyZWthdWYgKEluZm9tYXgsIDI2LiBBcHIgMTk5NSwgMDk6MjY6MDYpOgojISBybj1Kb2YgcnQ9Nzk4ODA4ODUxCkljaCBzZWhlIGhpZXIgc2Nob24gd2llZGVyIGVpbmVuIEtMRUlORU4gU3RyZWl0IGF1ZmtlaW1lbi4gQXVjaCB3ZW5uIGVyIG1pY2gKaW50ZXJlc3NpZXJ0IHNvbGx0ZSBtYW4gaWhuIHZpZWxsZWljaHQgaW4gZGllIFJ1YnJpayBFbnR3aWNrbHVuZyAob2RlciBhbmRlcmUKUnVicmlrKSB2ZXJsZWdlbiwgZGEgZXMgZG9jaCB2aWVsbGVpY2ggbmljaHQgYWxsZSBpbnRlcmVzc2llcnQuCgpBbnNvbnN0ZW4gaW1tZXIgYW4gdGVjaG5pc2NoZW4gSU5GT1JNQVRJT05FTiBpbnRlcmVzc2llcnRlciBJTkZPTUFYICwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPaHJlbiAoUnVkaXJhdHRlciwgMjYuIEFwciAxOTk1LCAwOTozMzo1Nyk6CktvbWlzY2gsIEVsZmVuIHNjaGVpbmVuIG51ciBlaW4gT2hyIHp1IGhhYmVuIC11bmQgaWNoIGRhY2h0ZSBpbW1lciwgaWNoCmhhZXR0ZSB6d2VpLgpWb3IgZWluaWdlciBaZWl0IGhhdCBtaXIgQXVncmEgZWluZW4gaGl1ZWJzY2hlbiBPaHJyaW5nIGdlc2NoZW5rdCB1bmQgbGV0enRlClRhZ2UgZGFubiBhdWNoIG1laW4gZ2ViZXV0ZWx0ZXIgRWhlbWFubiBXaWxsb3cuCkRhcyBlcnN0ZSBQcm9ibGVtIHRhdWNodGUgc2Nob24gYXVmLCBhbHMgaWNoIGRlbiBPaHJyaW5nIHZvbiBXaWxsb3cgYW56aWVoZW4Kd29sbHRlLCB3ZWlsIGljaCBkZW4gdm9uIEF1Z3JhIGJlcmVpdHMgdHJ1Zy4gRGFiZWkga29lbm50ZSBpY2ggamEgc29nYXIgbWl0Cm51ciBlaW5lbSBPaHIgendlaSBPaHJyaW5nZSB0cmFnZW4uCk5hamEsIGVnYWwuIE5hY2ggZGVtIGxldHp0ZW4gQ3JhaCB3YXIgZGFubiBhYmVyIGF1Y2ggbm9jaCBlciB2b24gQXVncmEKdmVyc2Nod3VuZGVuLCBvYndvaGwgZGllIERpbmdlIGF1cyBkZW0gSnV3ZWxpZXJsYWRlbiBkb2NoIHJlYm9vdGZlc3Qgc2Vpbgpzb2xsZW4uLi4KSXN0IGRhcyBkaWUgU3RyYWZlIGZ1ZXIgZWluIGVpbnplbG5lcyBPaHI/CkljaCBzY2hsYWdlIGRlc2hhbGIgdm9yLCBkYXNzIGJlaW0gZXJzdGVuIEVpbmxvZ2dlbiBkZW1uYWVjaHN0IGRlciBmb2xnZW5kZQpUZXh0IGVyc2NoZWludDoKV2FzIHdpbGxzdCBEdSBzZWluPwoxLiBNZW5zY2gKMi4gWndlcmcKMy4gRWxmIChWT1JTSUNIVCEhISBEVSBIQVNUIERBTk4gTlVSIEVJTiBPSFIhISEpCgpUc2Nob2UKUnVkaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2hlcyEgKEd1bXB5LCAyNi4gQXByIDE5OTUsIDEwOjAzOjMxKToKU29sbCBlcyBlaWdlbnRsaWNoIHp1ciBuZXVlbiBHZXdvaG5oZWl0IHdlcmRlbiwgZGFzcyBkaWUgdXAtdGltZSB6d2lzY2hlbiBkZW4KQ3Jhc2hlcyBzbyBiZWkgMjQgc3R1bmRlbiBsaWVndCwgb2RlciBzb2xsIGRhcyB3aWVkZXIgYmVzc2VyIHdlcmRlbj8KTWlyIHN0aW5rdHMgbmFlbWxpY2ggZmFzdCBpbW1lciBiZWltIGVpbmxvZ2dlbiBkaWUgTWVsZHVuZzogRHUgZmluZGVzdCAuLi4KTXVlbnplbiAuLi51c3cuIHp1IGJla29tbWVuLiBKZXR6dCBrb21tdCBtaXIgbmljaHQsIGljaCBzb2xsZSBpbiBkaWUKS2FyYXRlZ2lsZGUgZWludHJldGVuLCBkYSBicmFldWNodGUgbWFuIGtlaW5lIEF1c3J1ZXN0dW5nLCBkYXJ1bSBnZWh0cyBtaXIKbmljaHQuIFZpZWxtZWhyIG5lcnZ0IGVzIG1pdHRsZXJ3ZWlsZSB3aXJrbGljaCBkYXNzIG1hbiBub2NoIG5pY2h0IG1hbCBuZQpncm9lc3NlcmUgUXVlc3QgYW5mYW5nZW4ga2FubiB1bmQgZGllc2UgZGFubiBhbiBkZXIgc2VsYmVuIFN0ZWxsZSBmb3J0c2V0emVuCnp1IGthbm4sIGRhIHNjaG9uIHdpZWRlciBDcmFzaCB3YXIuIEljaCBlcmlubmVyZSBtaWNoIG5vY2ggZ2VybmUgYW4gZGVuIEFuZmFuZwpkZXMgSmFocmVzIHdvIGRhcyBNRyBtYWwgMiBXb2NoZW4gKCEhKSB1cCB3YXIsIGRhcyB3YXJlbiBaZWl0ZW4uIEFsc28gd29yYW4KbGllZ3RzPyBBbiBkZW0gbmV1ZW4gQ29tcGk/IEFuIGRlbiB2aWVsZW4gdmVyZ2VibGljaGVuIFZlcnN1Y2hlbiBtaXQKcmVrdXJzaXZlbiBDYWxsX291dHM/IG9kZXIgYW4gd2FzIHNvbnN0Pz8/IExhbmdzYW0gZmFuZ2UgaWNoIGFuIG51ciBub2NoCnJ1bXp1aWRsZW4gdW5kIG1pdCBMZXV0ZW4genUgbGFiZXJuLCBkYSBtZXR6ZWxuIGVoIG5peCBicmluZ3QsIHdlaWwgbWFuIHNpY2gKZXJzdCBuZSBhdXNydWVzdHVuZyB6dXNhbW1lbm1ldHplbG4gbXVzcywgZGllIGVoIGFtIG5hZWNoc3RlbiBUYWcgd2VnIGlzdC4gSWNoCmthbm4gbWlyIGRlbmtlbiwgZGFzcyBkaWVzZXIgWnVzdGFuZCBrZWluIFByb2JsZW0gZnVlciBNYWdpZXIgaXN0LCBkaWUgaWhyZQpUb29scyBzb3dpZXNvIGF1dG9sb2FkIG1hY2hlbiwgYWJlciB1bnMgU3BpZWxlcm4gaXN0IGRpZXMgZWluIEdyZXVlbC4KU28gaWNoIGhvZmZlIGVzIGdpYnQgbWFsIG4gcGFhciBrbGFlcmVuZGUgQW50d29ydGVuLi4uCkd1bXB5IGdydW1tZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoZXMhIChCb2luZywgMjYuIEFwciAxOTk1LCAxMjowOToxMSk6CiMhIHJuPUd1bXB5IHJ0PTc5ODg4MzQxMQpEdSB3aWxsc3QgbmUga2xhZXJlbmRlIEFudHdvcnQ/IEJpdHRlIHNjaG9lbjoKCkR1IGJpc3QgdmVyd29laG50IHVuZCB2ZXJ3ZWljaGxpY2h0LCBkYXMgaXN0IGFsbGVzLiA6KQoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaGVzISAoR3VtcHksIDI2LiBBcHIgMTk5NSwgMTI6MTU6MTYpOgojISBybj1Cb2luZyBydD03OTg4OTA5NTEKSWNoIHd1ZXJkZSBlaGVyIHNhZ2VuLCBpY2ggd2FyIHZlcndvZWhudC4gV2VubiBkYXMgYWxzbyBzbyBibGVpYnQsIGRhbm4KYmxlaWJ0IGVpbmVtIGphIG51ciBlaW5lIEFsdGVybmF0aXZlIDogTWFnaWVyIHdlcmRlbiB1bmQgc2VsYmVyIENyYXNoZXMKdmVydXJzYWNoZW4gb2RlciB3aWU/IEEgcHJvcG9zIGRhbm4ga29lbm50ZSBtYW4gamEgc2ljaCBhdWNoIGRlbiBCZWZlaGwKc2NobGFmZSBlaW4gc3BhcmVuIG9kZXIgbmljaHQ/Ckd1bXB5IHNjaG1vbGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEhhcmR3YXJla2F1ZiAoSm9mLCAyNi4gQXByIDE5OTUsIDEzOjA1OjIyKToKIyEgcm49SW5mb21heCBydD03OTg4ODExNjYKIE9rLCBmYWxscyBub2NoIHdlaXRlcmUgQXJ0aWtlbCB6dW0gVGhlbWEgJ0hhcmR3YXJlIGRlcyBNRy1SZWNobmVycycgb2Rlcgpzb25zdGlnZXMgaW4gZGVyIEFydCBiencuIHp1bSBiZW51dHplbiBPUyBrb21tZW4gc29sbHRlbi4gcGFja3QgZGllc2UKYml0dGUgaW4gZGllIG5ldWUgR3J1cHBlIGhhcmRzb2Z0d2FyZS4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDcmFzaGVzISAoSm9mLCAyNi4gQXByIDE5OTUsIDEzOjA3OjAyKToKIyEgcm49R3VtcHkgcnQ9Nzk4ODgzNDExCiBFcyBsaWVndCBuaWNodCBhbSBuZXVlbiBDb21waSwgd2lyIHNpbmQgaW56d2lzY2hlbiBzb3dlaXQsIGRhcyB3aXIgZGllCkNyYXNoZXMgbmFjaCBCZWxpZWJlbiByZXByb2R1emllcmVuIGtvZW5uZW4uIERhcyBrbGFwcHQgZGFubiBzb3dvaGwgYXVmCnVuc2VyZSBNYXNjaGluZSBhbHMgYXVjaCBhdWYgJ25lciBTVU4uIExlaWRlciBoYWJlbiB3aXIgZGllIFVyc2FjaGUgbm9jaApuaWNodApnZW5hdSBmZXN0bWFjaGVuIGtvZW5uZW4sIGFiZXIgd2lyIHN1Y2hlbiB3ZWl0ZXIgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTSFcgKENhdHdlYXpsZSwgMjYuIEFwciAxOTk1LCAxNDowMjo1OCk6CkhpIQpJY2ggYmluIG5vY2ggbWl0IG1pciBpbSBhcmdlbi4gSWNoIG1vZWNodGUgZGFzIGVyZ2VibmlzIGRlcyBTZWhlcmhhdXMtCndldHRiZXdlcmJzIG5pY2h0IGVpbmZhY2ggc28gaW4gZGllIFplaXR1bmcga2xhdHNjaGVuLiBBdXNzZXJkZW0gaGFiZW4Kd2lyIGltbWVyIG5vY2ggbml4IHByZWlzYWVobmxpY2hlcyBnZWZ1bmRlbi4KSWNoIHd1ZXJkZSBtYWwgc2FnZW4sIGljaCB2ZXJvZWZmZW50bGljaGUgZGllIGVyZ2Vibmlzc2UgYW0gbmFlY2hzdGVuCkRpZW5zdGFnIHVtIDE5OjAwIGluIGRlciBHaWxkZS4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2hlcyEgKE1hdGVlc2UsIDI2LiBBcHIgMTk5NSwgMTc6NTU6MzYpOgojISBybj1HdW1weSBydD03OTg4ODM0MTEKQmFoISBbaW0gU2NoYXVrZWxzdHVobCB6dXJ1ZWNrbGVobiB1bmQgbWl0IGVpbmVtIFBmZWlmY2hlbiBoZXJ1bWZ1Y2h0ZWxdClp1IF9tZWluZXJfIFplaXQgZ2FiIGVzIGFsbGUgYWNodCBTdHVuZGVuIGVpbmVuIFJlYm9vdCwgdW5kIHp3YXIgZWluZW4KcmVndWxhZXJlbi4gVW5kIENyYXNoZXMgZ2FiIGVzIGRhbWFscyBnZW5hdXNvIGhhZXVmaWcgd2llIGhldXRlLgpbZGFzIFBmZWlmY2hlbiB3ZWl0ZXJzY2htYXVjaF0gT2VjaG9ldHQtb2VjaG9ldHQtcmhvZWVoLi4uCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENyYXNoZXMhIChXdXIsIDI2LiBBcHIgMTk5NSwgMTk6MzY6MDgpOgojISBybj1Kb2YgcnQ9Nzk4ODk0NDIyCkFiZXIgd2VoZSBkdSBzdG9lc3N0IGJlaSBkZWluZXIgc3VjaGUgZGFubiBkZW0gb2RlciBkYXMgb2RlciBkZXIgc2NodWxkaWdlCmF1ZiBuYW1lbiB3aWUgemIuIFd1ciBvZGVyIGdyaW1tYm9ybiEKRGFubiB3ZXJkZSBpY2ggYWJlciB6aWVtbGNpaCBzYXVlciEKV3VyIEhpbGZsb3MgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENyYXNoZXMhIChTY2hydW1wZmksIDI2LiBBcHIgMTk5NSwgMjA6NTc6MDQpOgojISBybj1XdXIgcnQ9Nzk4OTE3NzY4CkhtbW1tLCBoYXQgV3VyIGpldHp0IERhbmNlciBhYmdlbG9lc3Q/IFd1ciBpc3Qgc2NodWxkISEgOi0pClNjaHJ1bXBmaSBmaWVzIGdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDcmFzaGVzISAoV3VyLCAyNy4gQXByIDE5OTUsIDA1OjEzOjMyKToKIyEgcm49U2NocnVtcGZpIHJ0PTc5ODkyMjYyNApJY2ggd3Vzc3RlIEVTISBISUxGRUVFRUUgOykgaWNoIGJpbiB3aWUgSU1NRVIgbmljaHQgc2NodWxkaWcgISBzbyEKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGVja2UgYWxsZXMgdm9uIGJvZGVuIGluIGJldXRlbCAoRnJ5ZGVyLCAyNy4gQXByIDE5OTUsIDExOjI3OjUzKToKSGFsbG8hCgpTZWl0IGxhZW5nZXJlbSBnaWJ0IGVzIGphIHNjaG9uIGRlbiBCZWZlaGwgInZlcmthdWZlIGFsbGVzIGF1cyBiZXV0ZWwva2lzdGUiLgpEYWZ1ZXIgZGFua3QgRXVjaCBtZWluIEtleWJvYXJkIGdhbnogaGVyemxpY2ghIExlaWRlciB2ZXJtaXNzdCBlcyBub2NoIGV0d2FzCmRpZSBhdWNoIG5haGVsaWVnZW5kZW4gQmVmZWhsZSAic3RlY2tlIGFsbGVzIHZvbiBib2RlbiBpbiBiZXV0ZWwva2lzdGUiIHVuZAoic3RlY2tlIGFsbGVzIGF1cyBsZWljaGUKaW4gYmV1dGVsL2tpc3RlIi4gSXN0IHNvd2FzIHNjaG9uIHNjaG9uIGluIEFyYmVpdD8gV2VubiBuaWNodCwgYml0dGUsIGJpdHRlLApwcm9ndCBlcyBkb2NoIG1hbCBzY2huZWxsLCBpY2ggYmluIGJlc3RpbW10IG5pY2h0IGRlciBlaW56aWdlLCBkZXIgZGFmdWVyIGdhbnoKZGFua2JhciB3YWVyZS4KCkNpYW8KCk1jRnJ5ZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RlY2tlIGFsbGVzIHZvbiBib2RlbiBpbiBiZXV0ZWwgKFJvYWRydW5uZXIsIDI3LiBBcHIgMTk5NSwgMTE6Mzc6MjApOgojISBybj1GcnlkZXIgcnQ9Nzk4OTc0ODczCkhhbGxvIGF1Y2guCgpIYWV0dGUgYXVjaCBpbnRlcmVzc2UgYW4gc293YXMuIEFsdGVybmF0aXYgb2RlciBlcmdhZW56ZW5kIHdhZXJlIGF1Y2ggbmV0dAp3ZW5uIG1hbiBkYXMgd2FzIG1hbiBhbmhhdCBuaWNodCBpbW1lciBhdXRvbWF0aXNjaCBhdXN6aWVodCB1bmQgYXVjaCBpbiBkZW4KYmV1dGVsIHN0b3BmdCwgc29mZXJuIGVzIHZvbiBkZXIgQmV6ZWljaG51bmcgaGVyIHp1IGRlbSBPYmpla3QgZGFzIG1hbgp2b21Cb2RlbiBhdWZoZWJlbiB3b2xsdGUgb2RlciB3YXMgbWFuIHNvbnN0IHZvbSBpbnZlbnRvcnkgZGEgcmVpbiBnZWJlbiB3aWxsCnBhc3N0LgoKRWluIGltbWVyIGFsbGVzIG1vZWdsaWNoZSBhdXN6aWVoZW5kZXIgUm9hZHJ1bm5lcgpwLnMuIFdhZXJlIGVzIHdvaGwgbW9lZ2xpY2ggZGFzcyBtYW4gYnVtaXMgbnVyIHNvIHp1bSBzcGFzcyB2b20gQm9kZW4gYXVzIGluCmRpZSBsdWZ0IGtpY2tlbiBrYW5uLCBvaG5lIGRhc3Mgc2llIGV0d2FzIGFuZ3JlaWZlbj8gIFdlbm4gbWFuIHZvbGwgaXN0IGthbm4KbWFuIHNvbnN0IG5pY2h0IG1laHIgbWl0IGJ1bWkgd2VpdGVyZmlnaHRlbiB3ZWlsIG1hbiBkYXMgZGluZyBuaWNodCBtZWhyIGlucwppbnZlbnRvcnkgYmVrb21tdCB3ZW5uIGVyIG1hbCBydW50ZXJmYWVsbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0ZWNrZSBhbGxlcyB2b24gYm9kZW4gaW4gYmV1dGVsIChUenVpb3AsIDI3LiBBcHIgMTk5NSwgMTM6MzM6MTQpOgojISBybj1Sb2FkcnVubmVyIHJ0PTc5ODk3NTQ0MApBbSBiZXN0ZW4KICAgICB0b2V0ZSA8bW9uc3Rlcj4gdW5kIHRlaWxlIGJldXRlIG1pdCA8eHh4PiB1bmQgPHl5eT4sIHN0ZWNrZSBhbnRlaWwgaW4KPGJldXRlbD4KICAgICB1bmQgdmVya2F1ZmUgYmVpIGdlbGVnZW5oZWl0IGFsbGVzIGF1c3NlciA8enp6PgoKT2RlciBpc3QgZGFzIHp1IHVua29tZm9ydGFiZWwgPz8KCkdyaW5zIC4uLiBUenVpb3AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJURiAtIEhUTUwgLSBLb252ZXJ0ZXIgKENlcmVidXMsIDI3LiBBcHIgMTk5NSwgMTQ6MDA6NDIpOgpIYWxsbyEKSWNoIGJpbiBhdWYgZGVyIFN1Y2hlIG5hY2ggZWluZW0gS29udmVydGVyIHZvbiBSVEYgKG9kZXIgc29uc3RpZ2VuClRleHQtZm9ybWF0ZW4KenUgSFRNTC4gS2FubiBtaXIgamVtYW5kIGdlZWlnbmV0ZSBLb252ZXJ0ZXIgdW5kIEZUUC1TaXRlcyBuZW5uZW4gLSBvZGVyIG5vY2gKYmVzc2VyLCBtaXIgZWluZW4gS29udmVydGVyIHBlciBlbWFpbCBzY2hpY2tlbj8gTWVpbmUgQWRyZXNzZToKamFuLnNjaG1pZHRAc3R1ZC51bmktYmFtYmVyZy5kZQoKMTAwMCBEYW5rLCBDZXJlYnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGVja2UgYWxsZXMgdm9uIGJvZGVuIGluIGJldXRlbCAoUm9hZHJ1bm5lciwgMjcuIEFwciAxOTk1LCAxNTowMTo1Myk6CiMhIHJuPVR6dWlvcCBydD03OTg5ODIzOTQKaGFlbHN0IER1IG1pY2ggZnVlciByYWZmZ2llcmlnPyAtIEF1c3NlcmRlbSBpc3QgZGFzIHNvIGVpbmUgc2FjaGUgd2VubiBtYW4KYWxsZWluZSBpc3QuCgkJUm9hZHJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXJ0aXR1ciAoQmxvb2R5aGFycnksIDI4LiBBcHIgMTk5NSwgMDg6MzM6MDMpOgojISBybj1TdGFobGRvcm4gcnQ9Nzk5MDEyMDA5Cj4gYmxvZWRlIEZhaHJ0ZW5zYWVuZ2VycXVlc3QgOykKCkZhaHJ0ZW5zYWVuZ2VycXVlc3Q/ICBBY2hqYSByaWNodGlnIQpIYWJlIGljaCB3b2hsIGZhc3QgdmVyZHJhZW5ndC4gOy0pCgpLYW5uIG1hbiBUcm95IGlyZ2VuZHdpZSBhbmRlcnMgZXJyZWljaGVuPyBTZWl0IGRlbSAxNS5NYWVyeiBpc3QgZXIgamEgbmljaHQKbWVociBpbiBNRyBnZXdlc2VuLgoKY2lhbywgQmxvb2R5IEhhcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDcmFzaGVzISAoRGFuY2VyLCAgMS4gTWFpIDE5OTUsIDEyOjE3OjQ1KToKIyEgcm49U2NocnVtcGZpIHJ0PTc5ODkyMjYyNAoqbmViZW4gTWF0ZWVzZSBlbnRzcGFubnQgYXVmIGVpbmVyIEJhbmsgc2l0emVuZCBlaW4gRnVzc2JhZCBnZWdlbiBkZW4KUkhldW1hdGlzbXVzIG5laG1lbmQgdW5kIG5hY2ggU2NocnVtcGZpIEFydGlrZWwgZWluZW4gaGFsYmVuIEhlcnphbmZhbGwKYmVrb21tZW5kKiAnRGFuY2VyIGFibG9lc2VuJyA/Pz8/IFVuZCBkYXMgdm9uIG1laW5lbSBlaWdlbmVuIEZsZWlzY2gKdW5kIEJsdXQuLi4uTWF0ZWVzZSBydWVjayBtYWwgZGllIFBmZWlmZSBydWViZXIsIGljaCBicmF1Y2hlIGpldHp0CmVpbmVuIGtyYWVmdGlnZW4gWnVnIQoKRGFuY2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU0hXIChDYXR3ZWF6bGUsICAyLiBNYWkgMTk5NSwgMTA6MDE6MzkpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk4ODk3Nzc4ClRqYSwgenUgZHVtbSwgYWJlciBpY2gga2FubiBoZXV0IHVtIDE5OjAwIFVociBuaWNodC4gRGFoZXIKRG9ubmVyc3RhZywgMTk6MDAgVWhyIQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENyYXNoZXMhIChTY2hydW1wZmksICAyLiBNYWkgMTk5NSwgMjE6MDA6MzcpOgojISBybj1EYW5jZXIgcnQ9Nzk5MzIzNDY1Ck5pY2h0IGVudGVyYmVuLCBiaXR0ZSBiaXR0ZSEgOy0pClNjaHJ1bXBmaSBzY2hhZW10IHNpY2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZ2ljIChDYXJhZGhyYXMsICAyLiBNYWkgMTk5NSwgMjI6MjE6MzQpOgogICAgICAgICAgICAgICAgIEh1aHUKCldlbm4gamVtYW5kIHZvbiBldWNoIEx1c3QgaGF0LCBNYWdpYy1LYXJ0ZW4genUgdGF1c2NoZW4gdW5kIE1hZ2ljIHp1CnNwaWVsZW4gb2RlciB3ZXIgSW5mb3MgenUgQ29ucyBoYXQsIGtvZW5udGUgQXJtaW4KKHN0b2V0ZXJAZm1pLnVuaS1wYXNzYXUuZGUpIHNjaHJlaWJlbi4gRGVyIGlzdCBkcmluZ2VucyBhdWYgZGVyIFN1Y2hlCm5hY2ggc293YXMuCgogICAgdHNjaHVlc3MKICAgICAgQ2FyYWRocmFzIGltIEF1ZnRyYWcgdm9uIEFybWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFnaWMgKEJhYm9vbiwgIDMuIE1haSAxOTk1LCAwNzo1MToyMCk6CiMhIHJuPUNhcmFkaHJhcyBydD03OTk0NDYwOTQKTWFnaWM/IEJhZWghIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hZ2ljIChKb2YsICAzLiBNYWkgMTk5NSwgMTA6MDc6MjEpOgojISBybj1DYXJhZGhyYXMgcnQ9Nzk5NDQ2MDk0ClRlc3QKTnVyIGVpbiB0ZXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RlY2tlIGFsbGVzIHZvbiBib2RlbiBpbiBiZXV0ZWwgKEFyYW55YSwgIDMuIE1haSAxOTk1LCAxNTozOTo1Mik6CiMhIHJuPUZyeWRlciBydD03OTg5NzQ4NzMKQWhhLiBOdW4gYWxzbyBhdWNoIGRlbiAnc3RlY2sgYWxsZXMgdm9uIGJvZGVuIGluIGtpc3RlJy1CZWZlaGwuLi4gRGEKZmVobHQgbWlyIG51ciBub2NoIGRlciAnbWV0emxlIDxOYW1lIGRlcyBOUEM+LCBuaW1tIGdlZ2ViZW5lbmZhbGxzIGRlbiBmZXVlci0KYmFsbCwgcmVubiBnZWdlYmVuZW5mYWxscyB6dXIgbmFlY2hzdGVuIEtuZWlwZS9laW5lbSBhbmRlcmVuIGVyZnJldWxpY2hlbgpPcnQgdW5kIHNhdWYgZGljaCBkb3J0IHp1IHVuZCByZW5uIHp1cnVlY2snLUJlZmVobC4gRGVyIHdhZXJlIG5ldHQsIG9kZXI/Ck5hamEsIHdpciB3b2xsZW4gbmljaHQgdWViZXJ0cmVpYmVuLiBNaXIgd2FlcmUgc2Nob24gbWl0IGRlbSBCZWZlaGwgJ2xhdWYKbmFjaCBQb3J0VmFpbi96dXIgRWxmZW5zaWVkbHVuZycgc2VociBnZWhvbGZlbi4KTml4IGZ1ZXIgdW5ndXQsIEZyeWRlci4gVmllbGxlaWNodCBwYXNzdCdzIGF1Y2ggYmVzc2VyIGluIFNjaG1hcnJuLgoKa2ljaGVybmQKICAgICAgICBBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vZXJkZXJtZWxkdW5nZW4gKENhcmFkaHJhcywgIDQuIE1haSAxOTk1LCAwMzozMzoyNik6ClZvbiB3ZW0gc2luZCBlaWdlbnRsaWNoIGRpZSBuZXVlbiBNb2VyZGVybWVsZHVuZ2VuPwpXaWUgd2FlcnMgbm9jaCBtaXQgZWluZW06CgpbTW9lcmRlcjpHZWlzdCBlaW5lcyBPcmtzXSBUb2V0ZXQgT25rZWwgQ2FyYWRocmFzIQoKICAgICAgICAgKmdyaW5zKiAgICAgICAgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSTC1MaXN0ZSAoRnJ5ZGVyLCAgNC4gTWFpIDE5OTUsIDExOjU1OjQyKToKClJMLUFkcmVzc2VubGlzdGUhIQoKV2VtIGlzdCBlcyBub2NoIG5pY2h0IHBhc3NpZXJ0OiBEYSBtdXNzIG1hbiBkcmluZ2VuZCBzY2huZWxsIHNlaW5lbiBiZXN0ZW4KTXVkLUZyZXVuZCBlcnJlaWNoZW4sIHVuZCBrZW5udCBub2NoIG5pY2h0bWFsIHNlaW5lbiByaWNodGlnZW4gTmFtZW4sIGdlLQpzY2h3ZWlnZSBkZW5uIHNlaW5lIFRlbGVmb25udW1tZXIuIERhcyBnZWh0IG1pciBnYW56IGdlbmF1c28sIGJlaSBkZW4gbWVpLQpzdGVuIExldXRlbiBhdXMgTXVlbmNoZW4sIG1pdCBkZW5lbiBpY2ggbmljaHQgbnVyIGltIE11ZCB3YXMgbWFjaGUsIGtlbm5lCmljaCBudXIgZGllIFNwaWVsZXJuYW1lbiwgc29uc3Qgbml4LiBNaXIgaXN0IGF1Y2ggYXVmZ2VmYWxsZW4sIGVzIGdlaGVuIGRlcwpvZWZ0ZXJlbiBSdWZlIGR1cmNocyBNdWQ6ICJXZXIgd2Vpc3MsIHdpZSAuLi4gcmljaHRpZyBoZWlzc3Q/IiBEZXNoYWxiIGhhYgppY2ggc2Nob24gc2VpdCBsYWVuZ2VyZW0gZGllIElkZWUsIGVpbmUgTGlzdGUgYXVmenVzdGVsbGVuIHVuZCBpbiByZWdlbG1hZXMtCnNpZ2VuIEFic3RhZW5kZW4gaW4gZGllIE1QQSB6dSBzZXR6ZW4gaW4gZGVyIGRpZSB3aWNodGlnZW4gUkwtSW5mb3MgenUgamVkZW0KU3BpZWxlciBlbnRoYWx0ZW4gc2luZC4gTmFtZSwgVm9ybmFtZSwgU3RhZHQsIFRlbGVmb25udW1tZXIgbXVlc3N0ZSByZWljaGVuLgpEYXMgZ2FuemUgaXN0IHNlbGJzdHZlcnN0YWVuZGxpY2ggZnJlaXdpbGxpZywgbWFuIGthbm4ga2VpbmVtIHVlYmVsbmVobWVuLApkZXIgZGFzIG5pY2h0IHdpbGwuIEdlbmF1c28ga2FubiBpY2ggYXVjaCB6dXNhZXR6bGljaGUgSW5mb3MgamV3ZWlscyBtaXQtCmF1Zm5laG1lbiwgYml0dGUgYWJlciBrZWluZSBTY2h1aGdyb2Vzc2UgdW5kIFZvcm5hbWVuIGRlcyBHb2xkZmlzY2hzLgoKSWNoIHd1ZXJkZSBzYWdlbiwgbWFpbHQgbWlyIG1hbCwgd2VyIHdpbGwsIGljaCBicmluZyBkaWUgTGlzdGUgZGFubiBuYWVjaHN0ZQpXb2NoZXp1bSBlcnN0ZW5tYWwgcmF1cy4KCkljaCB3aWxsIGVuZGxpY2ggbWFsIF9yaWNodGlnXyBQb3N0IGJla29tbWVuCgpNY0ZyeWRlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb2VyZGVybWVsZHVuZ2VuIChUb3NzLCAgNC4gTWFpIDE5OTUsIDExOjU2OjQzKToKIyEgcm49Q2FyYWRocmFzIHJ0PTc5OTU1MTIwNgpvZGVyOiBbTW9lcmRlcjpHZWlzdCBkZXMgU2Vuc2VubWFubnNdIENhcmFkaHJhcywgRFUgd2lsbHN0IG1laW4gRnJldW5kIHNlaW4/CgpSeW5lIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb2VyZGVybWVsZHVuZ2VuIChDYXJhZGhyYXMsICA0LiBNYWkgMTk5NSwgMTI6NDY6MDUpOgojISBybj1Ub3NzIHJ0PTc5OTU4MTQwMwpbTW9lcmRlcjpHZWlzdCBkZXMgU2Vuc2VubWFubnNdIERhbmtlIGRhc3MgaWNoIG1laW5lbiBGcmV1bmQgYmVzdWNoZW4gZGFyZiwKQ2FyYWRocmFzLiA6LSkgSWNoIHNjaGljayBEaXIgYXVjaCBlaW5lIFBvc3RrYXJ0ZS4KZmFlbmRlIGljaCB2aWVsIGJlc3NlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJMLUxpc3RlIChGZWxhZ3VuZCwgIDQuIE1haSAxOTk1LCAxMjo1MjoxNCk6CiMhIHJuPUZyeWRlciBydD03OTk1ODEzNDIKRGllIElkZWUgZmluZCBpY2ggZ3V0Li5zY2hvbiB3ZWlsIElDSCBkYW1pdCBrZWluZSBBcmJlaXQgaGFiIDspKSkKbWFsIHdpZWRlciBmYXVsLi4uLkZlbGEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSTC1MaXN0ZSAoRHdpZ2h0LCAgNC4gTWFpIDE5OTUsIDEzOjA1OjExKToKIyEgcm49RnJ5ZGVyIHJ0PTc5OTU4MTM0MgpIb2xsYQoKTmV0dGUgSWRlZSwgYWJlciBtZWluZW4gTmFtZW4gdW5kIEFkcmVzc2UgYmVrb21tdCBtYW4gbnVyIHZvbiBtaXIKcGVyc29lbmxpY2ggOikKSWNoIGhhYmUgc2Nob24genUgdmllbGUgV2FzY2htYXNjaGluZW5hbmdlYm90ZSBpbiBkZXIgUG9zdC4KClRyb3R6ZGVtLCBmdWVyIGRlbiBkZXIgZXMgd2lsbCwgZmluZCBpY2hzIGd1dC4KCkR3aWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSTC1MaXN0ZSAoSGF0ZSwgIDQuIE1haSAxOTk1LCAxNjoxMjo0MCk6CiMhIHJuPUR3aWdodCBydD03OTk1ODU1MTEKR2VuYXUgc28gc2llaHRzIGF1czogV2VyIGplbWFuZGVuIGFuZGVycyBwZXJzb2VubGljaCBrZW5uZW5sZXJuZW4gbW9lY2h0ZQpvZGVyIF9lY2h0ZV8gUG9zdCwgZGVyIHNvbGx0ZSBzaWNoIGRpZSBOYW1lbiB1bmQgQWRyZXNzZW4gZGVyIGFuZGVyZW4KZGlyZWt0IGdlYmVuIGxhc3Nlbi4gV2lyIHd1ZXJkZW4gZGFtaXQgamEgYXVjaCB1bnRlciBkYXMgRGF0ZW5zY2h1dHpnZXNldHoKZmFsbGVuLCBkYSB3aXIgZGllc2UgRGF0ZW4gaW0gZ2VuYW5udGVuIEZhbGwgb2VmZmVudGxpY2ggenVyIFZlcmZ1ZWd1bmcKc3RlbGxlbiB3dWVyZGVuLiBVbmQgZGllIFZlcmFudHdvcnR1bmcgZGFmdWVyIG1vZWNodGUgaWNoLCBnZXNjaHdlaWdlIGRlbm4KZWluZXIgZGVyIGFuZGVyZW4gaGllciB1ZWJlcm5laG1lbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSTCAtIExpc3RlIChNeXN0aXgsICA0LiBNYWkgMTk5NSwgMTc6MjU6MDkpOgpIYWxsbwoKRWluIFZvcnNjaGxhZy0gd2VyIHdpbGwgc29sbCBzaWNoIGF1ZiBkaWUgTGlzdGUgZWludHJhZ2VuIGxhc3NlbiB1bmQgZGFubgppbSBWZXJ0ZWlsZXIgZXJzY2hlaW5lbi4gSWNoIGdsYXViZSBuaWNodCwgZGFzIGRpZSBMaXN0ZSBhbHMgQmVzdGFuZHRlaWwgZGVyCk1QQSBzaW5udm9sbCB3YWVyZSwgZGEgZG9ydCB6dSB2aWVsZSAiVW5iZXRlaWxpZ3RlIiBadWdhbmcgaGFiZW4uCgpOdXIgc28gZWluIFZvcnNjaGxhZyAuLi4KTS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSTCAtIExpc3RlIChCb2luZywgIDQuIE1haSAxOTk1LCAxODowMToxMCk6CiMhIHJuPU15c3RpeCBydD03OTk2MDExMDkKQWxsZXJkaW5ncyBrb2VubmVuIHdpciBnZXRyb3N0IGF1ZiBlaW5lIHJpZXNpZ2UgbWFpbC1MaXN0ZSBpbm5lcmhhbGIgZGVzIE11ZHMKdmVyemljaHRlbiwgZGllIDEwMDAgS29waWVuIHZvbiBaVC1MaXN0ZW4gdW5kIFF1ZXN0X2xvZXN1bmdlbiBmcmVzc2VuCnNjaG9uIGdlbnVnIFBsYXR0ZW5wbGF0eiB3ZWcgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0hXIChDYXR3ZWF6bGUsICA0LiBNYWkgMTk5NSwgMjA6NTQ6MTgpOgojISBybj1DYXR3ZWF6bGUgcnQ9Nzk5NDAxNjk5CkFlaCwgaG0sIHRqYWFhYQpadSBkdW1tIC4uLi4KSWNoIGhhYnMgZWNodCB2ZXJnZXNzZW4uIEljaCBoYWIgaW0gTW9tZW50IGZ1ZXJjaHRlcmxpY2ggd2VuaWcgWmVpdC4KTmEgZ3V0LCBpY2ggd2VyZCBFdWNoIHdlbmlnc3RlbnMgc2Nob24gbWFsIGRpZSBOb21pbmllcnVuZ2VuIHZlcnRpY2tlbjoKCkthdGVnb3JpZSBXaXR6OiAtIFJ5bmUKICAgICAgICAgICAgICAgIC0gTWFnaWNPbGxpCiAgICAgICAgICAgICAgICAtIEJsZWVsdW1wZQogICAgICAgICAgICAgICAgLSBXYWhuCiAgICAgICAgICAgICAgICAtIEtsb25rCgpLYXRlZ29yaWUgU3RpbW11bmc6IC0gWW9nc290aG90aAogICAgICAgICAgICAgICAgICAgIC0gS2hvcm5lCiAgICAgICAgICAgICAgICAgICAgLSBXYWhuCiAgICAgICAgICAgICAgICAgICAgLSBNYWdpY09sbGkKICAgICAgICAgICAgICAgICAgICAtIEZyeWRlcgoKS2F0ZWdvcmllIERldGFpbHM6IC0gWW9nc290aG90aAogICAgICAgICAgICAgICAgICAgLSBNYWdpY09sbGkKICAgICAgICAgICAgICAgICAgIC0gUnluZQogICAgICAgICAgICAgICAgICAgLSBTdGFobGRvcm4KICAgICAgICAgICAgICAgICAgIC0gS2hvcm5lCgpLYXRlZ29yaWUgSWRlZTogLSBNYWdpY09sbGkKICAgICAgICAgICAgICAgLSBSeW5lCiAgICAgICAgICAgICAgIC0gV2FobgogICAgICAgICAgICAgICAtIFlvZ3NvdGhvdGgKICAgICAgICAgICAgICAgLSBCbGVlbHVtcGUKCkthdGVnb3JpZSBLb256ZXB0OiAtIEtob3JuZQogICAgICAgICAgICAgICAgICAgLSBSeW5lCiAgICAgICAgICAgICAgICAgICAtIE1hZ2ljT2xsaQogICAgICAgICAgICAgICAgICAgLSBZb2dzb3Rob3RoCiAgICAgICAgICAgICAgICAgIC0gV2FobgoKSWhyIHNlaHQgc2Nob24sIGVzIHNpbmQgZmFzdCBpbW1lciBkaWVzZWxiZW4sIGFiZXIgZGFzIHNpbmQgaGFsdCBkaWUsCmRpZSBzaWNoIGFtIG1laXN0ZW4gTXVlaGUgZ2VnZWJlbiBoYWJlbiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTpSTC1MaXN0ZSAoS2V0b3MsICA0LiBNYWkgMTk5NSwgMjI6NTE6MTgpOgpXb3p1IGJyYXVjaHQgd2lyIHVlYmVyaGF1cHQgZWluZSBsaXN0ZT8KRGllIFJMIEFkcmVzc2UgZWluZXMgU3BpZWxlciBzb2xsdGUgaW0gZmluZ2VyIHN0ZWhlbiB1bmQgamVkZXIga2FubiBzaWUKZnJlaXdpbGxpZyBhbmdlYmVuICh3aWUgYXVjaCBkaWUgZW1haWwgYWRyZXNzZSkuCkFMc28ga2VpbiBad2FuZywgc29uZGVyIGF1ZmZyZWl3aWxsaWdlciBCYXNpcy4gRGFtaXQgc2VoZSBpY2ggYXVjaCBrZWluZQpEYXRlbnNjaHV0eiBQcm9ibGVtZS4KLSBLZXRvcyAtClNldFByb3AoUF9STF9BRFJFU1MsIlJhbGYgTXVzdGVybWFubiwgMTIzNDUgTXVzdGVyc3RhZHQsIFRlc3RnYXNzZSA3Iik7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptdWRsaXN0ZSAoQ2FyYWRocmFzLCAgNS4gTWFpIDE5OTUsIDAyOjUwOjA0KToKV2VyIHdvbGx0ZSBlaW5lIE11ZExpc3RlIGhhYmVuPyBJY2ggaGFiIG1pciBqZXR6dCBlaW5lIGdlaG9sdCwgd2llIGFsdApvZGVyIHVlYmVyaG9sdCBkaWUgaXN0IGthbm4gaWNoIGFiZXIgbmljaHQgc2FnZW4uCkJyaWVmIGFuIG1pY2ggd2VyIHNpZSB3aWxsLCBzaWUgaXN0IFNFSFIgZ3Jvc3MuCgogICAgICAgICAgdHNjaHVlc3MgICAgICAgIENhcmFkaHJhcwpQUzogT2RlciBuYXR1ZXJsaWNoIGVtYWlsLCBhbiBjYXJhZGhyYXNAZm1pLnVuaS1wYXNzYXUuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSTCAtIExpc3RlIChHd3luZG9uLCAgNS4gTWFpIDE5OTUsIDAzOjA5OjA2KToKIyEgcm49TXlzdGl4IHJ0PTc5OTYwMTEwOQoKSWNoIGZpbmRlIGRhcyBlaW5lbiBndXRlbiBWb3JzY2hsYWcsIHVuZCBkYSBkZXIgRWludHJhZyBmcmVpd2lsbGlnIGlzdCwKc3RpbW10IGRlciBFaW50cmFnZW5kZSBkZXIgVmVyb2VmZmVudGxpY2h1bmcgenUsIHNvIGRhc3MgZXMgYXVjaCBtaXQgZGVtCkRhdGVuc2NodXR6IGtlaW5lIFByb2JsZW1lIGdpYnQuLi4KCkdydXNzLCBHd3luZG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWJ1cnRzdGFnIHZvbiBCb2luZyEgKENhcmFkaHJhcywgIDUuIE1haSAxOTk1LCAwNjo0NToxNSk6CiAgICAgICAgICAgICBIIEUgUiBaIEwgSSBDIEggRSBOICAgRyBMIFUgRSBDIEsgVyBVIE4gUyBDIEgKCiAgICAgICAgICAgICAgICAgICAgICAgICAgWiBVIE0KCiAgICAgICAgICAgICAgICAgICAgICBHIEUgQiBVIFIgVCBTIFQgQSBHCgp3dWVuc2NoZW4gd2lyIHVuc2VyZW0gbGllYmVuIEdvdHQgQm9pbmcgKGRhcyBpc3QgZGVyLCBkZXIgaW1tZXIKc28gYm9lc2UgdHV0IGFiZXIgZ2FueiBsaWViIGlzdChndXQgdW50ZXJzY2hlaWRiYXIgdm9uIGRlbiBhbmRlcmVuCmJlaWRlbiwgdm9uIGRlbmVuIGRlciBlaW5lIGlkbGUgdW5kIGRlciBhbmRlcmUgYXJyb2dhbnQgdHV0IDstKSkKCnp1IHNlaW5lbSAxOSArIHgtdGVuIEdlYnVydHN0YWcgaW4gUkwgbmF0dWVybGljaCEhCgpGdWVyIHggaXN0IGVpbmUgYmVsaWViaWdlIFphaGwgendpc2NoZW4gb2VtbW0gdW5kIGFlaG1tbW0gKmdydWViZWwqCmVpbnp1c2V0emVuLCBhY2gsIGtlaW5lIEFobnVuZyBtZWhyIDopKSBBdWYgYWxsZSBGYWVsbGUgd2lyZCBlciB3YXMuCk5hLCBlaWdlbnRsaWNoIGlzdCBlciBqYSBzY2hvbiB3YXMsIGFiZXIgZXIgd2lyZCBub2NoIHZpZWwgbWVoci4KTmllIHdhciBlciBzbyB3ZXJ0dm9sbCB3aWUgaGV1dGUuCihNZWluIEdvdHQsIGtsaW5ndCBqYSB3aWUgZWluZSBHcmFicmVkZSkKCkVyIGxlYmUgSE9DSCwgSE9DSCwgSE9DSCAgICAgICAgSFUnJ0EgOikKCgogICAgICAgdHNjaHVlc3MgOikgICAgICAgIERlaW4gTW9yZ2VuR3JhdWVuIDopKQpQUzogb2RlciB3YXIgZGFzIE1vcmdlbkdyYXVlbiBIb2JvPyAqYXV0c2NoKiBuZWluLCBpY2ggaG9lciBqYSBzY2hvbgogICAgYXVmISEgICprbnVkZGVsIEhvYm8gdW5kIEJvaW5nIHZvbiB2aWVsZW4gU2VpdGVuIHp1ZmxpZWdlbiBzZWgqCgogICAgICAgQVVGIERBU1MgRVIgVU5TIE5PQ0ggTEFOR0UgRVJIQUxURU4gQkxFSUJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZXJyYXVzZm9yZGVydW5nIHp1bSBEdWVsbCAoRGVsb3MsICA1LiBNYWkgMTk5NSwgMTM6NTE6NTQpOgogICAgICA8Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD4KICAgICAgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+CiAgICAgIDw+ICAgICAgICAgICAgIEggRSBSIFIgQSBVIFMgRiBPIFIgRCBFIFIgVSBOIEcgICAgICAgICAgICAgICAgICA8PgogICAgICA8PiAgICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgICAgICAgICAgICAgICAgPD4KICAgICAgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+CiAgICAgIDw+ICAgSGllcm1pdCBnZWJlIGljaCBvZWZmZW50bGljaCBiZWthbm50LCBkYXNzIHNpY2ggICAgICAgICAgICA8PgogICAgICA8PiAgIGRlciBGRUlHTElORyB1bmQgZGFzIEdST1NTTUFVTCBGRUxBR1VORCBtZWluZXIgZXJzdGVuICAgICAgPD4KICAgICAgPD4gICBBdWZmb3JkZXJ1bmcgenVtIER1ZWxsIGluIGRlciBBcmVuYSBtaXQgZmFkZW5zY2hlaW5pZ2VuICAgIDw+CiAgICAgIDw+ICAgQXVzcmVkZW4gZW50em9nZW4gaGF0LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PgogICAgICA8PiAgIEhpZXJtaXQgbW9lY2h0ZSBpY2ggaWhtIGVpbmUgendlaXRlIENoYW5jZSBnZXdlYWVocmVuISEhICAgPD4KICAgICAgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+CiAgICAgIDw+ICAgQWxzIEhlcnJhdXNmb3JkZXJlciBiZWhhbHRlIGljaCBtaXIgZGllIFdhaGwgZGVyIFdhZmZlbiAgICA8PgogICAgICA8PiAgIHZvciwgdW5kIHVlYmVybGFzc2UgaWhtIFplaXRwdW5rdCB1bmQgT3J0LiAgICAgICAgICAgICAgICAgPD4KICAgICAgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+CiAgICAgIDw+ICAgRGVsb3MgKGRlciBkaWVzZSBTYWNoZSBlbmRsaWNoIGVybGVkaWd0IHdpc3NlbiB3aWxsKSAgICAgICA8PgogICAgICA8PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD4KICAgICAgPD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+PD48Pjw+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVycmF1c2ZvcmRlcnVuZyB6dW0gRHVlbGwgKFJ4dGVjaCwgIDUuIE1haSAxOTk1LCAxNDozODoyNik6CiMhIHJuPURlbG9zIHJ0PTc5OTY3NDcxNApzZWlkIHdhbm4gd2FlaGx0IGRlbm4gZGVyIGhlcmF1c2ZvcmRlcmVyPyBpY2ggZGVuayBkZXIgaGVyYXVzZ2Vmb3JkZXJ0ZSBkYXJmCmRpZSB3YWZmZW4gd2FlaGxlbi4KCmFsc28gd2VubiBzY2hvbiBkYW5uIG1hY2h0IGV0IHJpY2h0aWNoCgpyeHRlY2gKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlcnJhdXNmb3JkZXJ1bmcgenVtIER1ZWxsIChEZWxvcywgIDUuIE1haSAxOTk1LCAxNDo1NTowNSk6CgogS2VpbiBQcm9ibGVtLCBtaXIgc29sbHMgcmVjaHQgc2VpbiEhISBJY2ggdWViZXJsYXNzZSBGZWxhZ3VuZCBkaWUKIFdhZmZlbndhaGwuCgogRGVsb3MhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VidXJ0c3RhZyB2b24gQm9pbmchIChHcmltbWJvcm4sICA1LiBNYWkgMTk5NSwgMTU6MjE6MDgpOgojISBybj1DYXJhZGhyYXMgcnQ9Nzk5NjQ5MTE1CgpXYXMsIGRlciBLaW5kc2tvcHAgc29sbCB1ZWJlciAxOSBzZWluICh3ZW5uIG9lbW1tIHVuZCBhZWhtbW1tID4gMCBzaW5kKT8KTmljaHQgenUgZmFzc2VuLi4uClVuZCwgc2VpdCB3YW5uIGZlaWVydCBtYW4gZGVuIEdlYnVydHN0YWcgdm9uIE5QQz8KCkZyYWdlbiB1ZWJlciBGcmFnZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIEdyYXR1bGllcnQgYXVjaCBlaW5lbSBOUEMuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVycmF1c2ZvcmRlcnVuZyB6dW0gRHVlbGwgKEZlbGFndW5kLCAgNS4gTWFpIDE5OTUsIDE1OjM0OjE5KToKIyEgcm49RGVsb3MgcnQ9Nzk5Njc4NTA1CkFsc28gZ3V0Li53ZW5uIGR1cyBuaWNodCBhbmRlcnMgd2lsbHN0OiBhbHMgV2FmZmUgd2FlaGxlIGljaCBmdWVyIHVucyBiZWlkZQp2ZXJiaW5kbGljaCBrYXJhdGUKemVpdHB1bmt0OiBtb250YWcgdW0gMTI6MDAKYWJlciBkYW5uIG1pdCBnZXNjaGxvc3NlbmVuIHR1ZXJlbi4uLmtlaW5lIHJ1ZXN0dW5nZW4sIGtlaW5lIGFuZGVyZW4gd2FmZmVuCm9kZXIgaGlsZnNtaXR0ZWwuLm51ciBnaSB1bmQgZ3VlcnRlbApKZXR6dCBoYXN0IGR1IG1pY2ggZ2VudWcgZ2VuZXJ2dC4uLi5laW4gem9ybmlnZXIgRmVsYWd1bmQgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhlcnJhdXNmb3JkZXJ1bmcgenVtIER1ZWxsIChUb3NzLCAgNS4gTWFpIDE5OTUsIDE3OjQ0OjUxKToKIyEgcm49RmVsYWd1bmQgcnQ9Nzk5NjgwODU5CgpTbywgZGllIFBhcnR5IGthbm4gc3RlaWdlbi4uLgoKTmFjaGRlbSBGZWxhZ3VuZCBkaWUgSGVyYXVzZm9yZGVydW5nIGFuZ2Vub21tZW4gaGF0LCB1bmQgRGVsb3MgbmFjaCBzZWluZW4KQXJ0aWtlbG4gc2ljaGVybGljaCBuaWNodCBzZWxic3QgYWxzIEZlaWdsaW5nIGRhc3RlaGVuIHdpbGwsIHdpcmQgZGVyIEthbXBmCm51biBhbHNvIGFtIE1vbnRhZywgMTI6IDAwIHN0YXR0ZmluZGVuLiBVbSBkZXIgZ2FuemVuIFNhY2hlIG5vY2ggZXR3YXMgbWVocgpSZWl6IHp1IGdlYmVuLCB3ZXJkZSBpY2ggaGllcnp1IFdldHRlbiBhbm5laG1lbi4gRm9sZ2VuZGUgUmVnZWxuIHNpbmQgZGF6dSB6dQpiZWFjaHRlbjoKCjEuIERpZSBXZXR0ZW4gbXVlc3NlbiBwZXIgbWFpbCBhbiBDaGF2ZXogYW5nZW1lbGRldCB3ZXJkZW4uIEdlbmFubnQgd2VyZGVuCm11c3MgZGllIEhvZWhlLCB1bmQgZGVyIFdldHRlaW5zYXR6LiBEaWUgV2V0dGUgZ2lsdCB6dSBkZXIgUXVvdGUsIGRpZSB6dXIgWmVpdApkZXMgU2NocmVpYmVucyBhbiBDaGF2ZXogaW4gZGVyIHJ1YnJpayBTY2htYXJybiAobnVyIGRvcnQsIHdlaWwgZGllIGtlaW5lcgpsZXNlbiBNVVNTLCBhYmVyIGVybnN0IGdlbWVpbnQgaXN0cyB0cm90emRlbSkKaW4gZGVyIE1QQSB2ZXJvZWZmbmV0bGljaCBpc3QuIEVzIHdpcmQgYWxzbyBrZWluZSBBbnBhc3N1bmcgZGVyIFF1b3RlbiB3aWUgaW4KRGFuY2VycyBXZXR0cGFsYXN0IGJpcyB6dW0gQmVnaW5uIGRlcyBLYW1wZmVzIHZvcmdlbm9tbWVuLgoyLiBJY2ggd2VyZGUgYW0gTW9udGFnIGFiIDEwLjAwIGFud2VzZW5kIHNlaW4uIFZvbiBkYSBhbiBtdWVzc2VuIGRpZQpXZXR0ZWluc2FldHplIGluIGJhciBhbiBtaWNoIGF1c2dlemFobHQgd2VyZGVuLiBOaWNodCBiZXphaGx0ZSBXZXR0ZW4gc2luZAp1bmd1ZWx0aWcuCgozLiBEaWUgR2V3aW5uZSBrb2VubmVuIHNvZm9ydCBuYWNoIGRlbSBSZW5uZW4gYmVpIG1pciBhYmdlaG9sdCB3ZXJkZW4uCkdhcmFudGllcnQgd2VyZGVuIEdld2lubmUgYmlzIHp1IDUwMC4wMDAgTXVlbnplbiAoZnVlciBob2VoZXJlIFN1bW1lbiBsaWVzcwpzaWNoIGRpZSBSdWVja3ZlcnNpY2hlcnVuZyBkZXIgTW9yZ2VuZ3JhdWVuIEJhbmsgbmljaHQgZ2V3aW5uZW4sIGFsbGVyZGluZ3MKaGFmdGUgaWggaGllcmZ1ZXIgZ2VybmUgcGVyc29lbmxpY2gpCgo0LiBBbHMgRWluc3RpZWdzcXVvdGUgZ2lsdCBmb2xnZW5kZXM6CgpGdWVyIFdldHRlbiBhdWYgRmVsYWd1bmRzIFNpZWc6IDMgTXVlbnplbiBmdWVyIDEgZWluZ2VzZXR6dGUKRnVlciBXZXR0ZW4gYXVmIERlbG9zJyBTaWVnOiAxMCBNdWVuemVuIGZ1ZXIgMSBlaW5nZXNldHp0ZS4KRWluZSBlcnN0ZSBuZXViZXJlY2hudW5nIGRlciBXZXR0cXVvdGVuIGZpbmRldCBhbSBtb3JnaWdlbiBTYW1zdGFnIGdlZ2VuCjEyLjAwIHN0YXR0LgoKTUFDSFQgTUlDSCBSRUlDSCAhISEKClJ5bmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIZXJyYXVzZm9yZGVydW5nIHp1bSBEdWVsbCAoVG9zcywgIDUuIE1haSAxOTk1LCAxNzo0NzowMik6CiMhIHJuPVRvc3MgcnQ9Nzk5Njg4NjkxCmFjaCBqYSwgZGllIGdhbnplIHNhY2hlIGlzdCBlcm5zdGdlbWVpbnQsIGFsc28gc3BhcnQgbmljaHQgbWl0IGV1cmVuCmVpbnNhZXR6ZW4gISEhCgpSeW5lCgpVbmQgYmVhY2h0ZXQ6IGVzIGdpYnQgS0VJTkUgb2JlcmdyZW56ZSBmdWVyIGRpZSB3ZXR0ZWluc2FldHplISBEQVMgaXN0IERJRQpjaGFuY2UsIGFscyBzcGllbGVyIHJlaWNoIHp1IHdlcmRlbiAhISEKUC5TOiBNYWdpZXIgd2llIHJvY2h1cywgZGVyIGdlcmFkZSBoaW50ZXIgbWlyIHNpdHp0IHVuZCBtaXQgZWluZW0gV2V0dGVpbnNhdHoKdm9uIDEgTWlsbGlhcmRlIE11ZW56ZW4gc2V0emVuLCBzaW5kIHBlciBBR0Igdm9uIGRlciBUZWlsbmFobWUgYXVzZ2VzY2hsb3NzZW4KOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJMIC0gTGlzdGUgKEZyYWdnbGUsICA1LiBNYWkgMTk5NSwgMTg6MTA6MTQpOgojISBybj1Cb2luZyBydD03OTk2MDMyNzAKVW0gZGllIEZlc3RwbGF0dGUgenUgZW50bGFzdGVuLCBzb2xsdGUgbWFuIGRpZSBMaXN0ZSBlaW5mYWNoIHBlciBSTC1lbWFpbApzdGF0dCBtdWQtZW1haWwgdmVyc2NoaWNrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIZXJyYXVzZm9yZGVydW5nIHp1bSBEdWVsbCAoVHJ5ZmFuLCAgNS4gTWFpIDE5OTUsIDE5OjU3OjQwKToKIyEgcm49VG9zcyBydD03OTk2ODg2OTEKaGloaSBoYWIgaWNoIHdhcyBmYWxzY2ggdmVyc3RhbmRlbiBvZGVyIHdpZT8KIERpZSBVbnRlcnNjaHJpZmZ0IHNvbGx0ZSBoZWlzc2VuCk1BQ0hUIE1JQ0ggQVJNICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHVlbGwgKERlbG9zLCAgNi4gTWFpIDE5OTUsIDEyOjA4OjExKToKCiBBbHNvIGVyc21hbCBmcmV1dCBlcyBtaWNodCB3YWhuc2lubmlnLCBkYXNzIGRpZSBnZXNhbXRlIEFrdGlvbiBzbyB2aWVsCiBBbmtsYW5nIGJlaSBFdWNoIGdlZnVuZGVuIGhhdC4gOi0pCiBEb2NoIGVpbiBwYWFyIEFubWVya3VuZ2VuIG1vZWNodGUgaWNoIHZvcmFiIG5vY2ggZ2ViZW46CgogRGEgaWNoIGRlciBIZXJyYXVzZm9lcmRlcmVyIGJpbiwgaXN0IGVzIHdvaGwga2xhciwgZGFzcyBpY2ggbWljaCB2b3IKICAgIGRlbSBEdWVsbCBuaWNodCBkcnVlY2tlbiB3ZXJkZS4KCiBEb2NoIGljaCBmaW5kZSwgd2lyLCBkLmguIEZlbGFndW5kIChkZW4gaWNoIGFscyBSTC1GcmV1bmQgYXByb3BvcyBzZWhyCiAgICBzY2hhZXR6ZSkgdW5kIGljaCwgYWJlciBhdWNoIGlociBhbGxlLCBzb2xsdGVuIGRpZSBnYW56ZSBBa3Rpb24gc28KICAgIHJlYWxpc3Rpc2NoIChiencuIGZhbnRhc3Rpc2NoKSB3aWUgbW9lZ2xpY2ggaGFsdGVuLgogICAgRC5oLiBpbSBLbGFydGV4dCwgd2llIHNjaG9uIHZvbiBSeHRlY2ggZmVzdGdlc3RlbGx0LCBoYXQgZGVyCiAgICBIZXJyYXVzZ2Vmb3JkZXJ0ZSBkYXMgUmVjaHQgYXVmIGRpZSBXYWhsIGRlciBXYWZmZW4gdW5kIGRlcgogICAgSGVycmF1c2ZvcmRlcmVyIGRhcyBSZWNodCBhdWYgV2FobCB2b24gWmVpdCB1bmQgT3J0LgogICAgRGFzIHdpZWRlcnVtIGJlZGV1dGV0IGFiZXIsIGRhc3MgaWNoIGRlbiBaZWl0cHVua3QgZnVlciBkYXMgRHVlbGwKICAgIGZlc3RsZWdlbiB3ZXJkZSAoYWxzbyB2b3JlcnN0IG5pY2h0IE1vbnRhZyB1bSAxMjowMCBVaHIpIGRhIGljaCBiZWkKICAgIGRlciBXYWhsIGRlcyBPcnRlcyBub2NoZGF6dSBudXIgYXVmIGRpZSBBcmVuYSBiZXNjaHJhZW5rdCBiaW4uCgogRGFubiBzdGVsbGUgaWNoIGhpZXJtaXQgRmVsYWd1bmQgZGllIEZyYWdlLCB3YXMgIkthcmF0ZSIgZnVlciBlaW5lCiAgICBXYWZmZSBpc3QsIHVuZCB3byBlcyBkaWVzZSB6dSBrYXVmZW4gZ2lidC4gTWVpbmVzIFdpc3NlbnMgaXN0CiAgICBLYXJhdGUgZWluZSBLYW1wZnNwb3J0YXJ0LiBTb2xsdGUgaWNoIG1pdCBkaWVzZXIgbWVpbmVyIE1laW51bmcKICAgIGZhbHNjaCBsaWVnZW4sIHNvIGxhc3NlIGljaCBtaWNoIG5hdHVlcmxpY2ggZ2VybmUgYmVsZWhyZW4uIDstKQoKIER1IChGZWxhKSBoYXN0IG5hdHVlcmxpY2ggZGllIE1nbGljaGtlaXQga2VpbmUgV2FmZmUsIHNvbmRlcm4gbnVyIGRlbgogICAgS2FtcGYgbWl0IGRlbiBibG9zc2VuIEhhZW5kZW4genUgd2FlaGxlbiwgdW5kIGljaCB3ZXJkZSBhdWYgamVkZW4KICAgIEZhbGwgYW5uZWhtZW47IGRvY2ggbW9lY2h0ZSBpY2ggZGlyIG5vY2ggZWluIHBhYXIgRGluZ2UgenVtCiAgICBOYWNoZGVua2VuIGdlYmVuLgoKIEljaCBoYWJlIGVpbm1hbCBnZWhvZXJ0LCBuZWluIGljaCB3ZWlzcyBlcyBzb2dhciwgZGFzcyBlcyBnZXJhZGUgYmVpCiAgICBkZW4gS2FtcGZzcG9ydGFydGVuIHNvIGV0d2FzIHdpZSBFSFJFIHVuZCBlaW5lbiBDT0RFWCBnaWJ0LgogICAgV29yYXVmIGljaCBoaW5hdXMgd2lsbCBpc3QsIGRhc3MgRHUgdW5zZXJlIENoYXJha3RlcmUgbWFsCiAgICBhbmdlbWVzc2VuIHZlcmdsZWljaGVuIHNvbGx0ZXN0OgogICAgLSBEdSBiaXN0IG1pciB1bSBlaW5pZ2UgU3R1ZmVuIHZvcnJhdXMuCiAgICAtIER1IGhhc3QgZmFzdCA0bWFsIHNvIHZpZWwgWmVpdCBpbSBNRyB2ZXJicmFjaHQgd2llIGljaC4KICAgIC0gRHUgYmlzdCBzZWl0IGNhLiAzIFdvY2hlbiAoUkwpIGluIGRlciBLYXJhdGUtR2lsZGUsIHdhZWhyZW5kIGljaAogICAgICBtb21lbnRhbiBub2NoIE1pdGdsaWVkIGRlciBBYmVudGV1ZXItR2lsZGUgYmluCiAgICAgIC0tPiBEdSBoYXN0LCBnbGF1YmUgaWNoIGRlbiBvcmFuZ2VuZW4gR3VlcnRlbCB1bmQgaWNoIGtlaW5lbi4KICAgIC4uLgoKIER1IGthbm5zdCBtaWNoIHp3YXIgenVtIHdhZmZlbmxvc2VuIEthbXBmIHp3aW5nZW4sIGFiZXIgbmljaHQgZGF6dQogICAgZGllIEdpbGRlIHp1IHdlY2hzZWxuISEhCgogRHUgd2lyc3QgRGlyIChvZGVyIElociBFdWNoKSBqZXR6dCBzaWNoZXJsaWNoIGRlbmtlbiwgaWNoIGhhZXR0ZSBEaWNoCiAgICBqYSBuaWNodCBoZXJyYXVzZm9yZGVybiBtdWVzc2VuLiBEYXMgaXN0IHJpY2h0aWcsIGFiZXIgaWNoIGhhYmUuCiAgICBVbmQgZGFzIG1pdCBkZW0gSGludGVyZ2VkYW5rZW4sIGRhc3MgRGlyIGV0d2FzIGFuIEZBSVJORVNTLCB1LnMudy4KICAgIGxpZWd0LiBTb2xsdGVzdCBEdSBqZWRvY2ggZGFyYXVmIGJlc3RlaGVuLCBkZW5uIEthbXBmIHNvIHp1IGZ1ZWhyZW4sCiAgICB3aWUgRHUgaWhuIG1pciB2b3JnZXNjaGxhZ2VuIGhhc3QgLSBPLksuIC0gbnVyIGVpbmVzIHNvbGx0ZSBEaXIgZGFubgogICAga2xhciBzZWluLCBTVE9MWiBVRUJFUiBFSU5FTiBTSUVHIEJSQVVDSFNUIERVIERBTk4gTklDSFQgWlUgU0VJTiEhIQoKIEljaCBob2ZmZSBhbGxlIGFuZGVyZW4gTWl0c3BpZWxlciBzdGltbWVuIG1pciBoaWVyYmVpIHp1LgoKIFdlbm4gbmljaHQsIGxhc3NlIGljaCBtaWNoIGdlcm5lIGJlbGVocmVuISEhCgogRGllIEFrdGlvbiBtaXQgZGVuIFdldHRlbiBmaW5kZW4gaWNoIGVpbmUgdG9sbGUgU2FjaGUuIEljaCBkZW5rZSBtYWwsCiAgICBlcyB3YXIgc2Nob24gbGFuZ2UgYW4gZGVyIFplaXQsIGRhc3MgZGllIEFyZW5hIG5pY2h0IG51ciBmdWVyCiAgICBHbGFkaWF0b3JlbmthZW1wZmUgZ2VudXR6dCB3aXJkLiBFZ2FsLCB3aWUgZGFzIER1ZWxsIGF1c2dlaHQsIGZyZXVlCiAgICBpY2ggbWljaCwgc28gZWluZSBTYWNoZSBpbnMgUm9sbGVuIGdlYnJhY2h0IHp1IGhhYmVuLiBBdXNzZXJkZW0KICAgIGhvZmZlIGljaCBhdWYgZWluZSByZWdlIEFudGVpbG5haG1lLgoKIFNvbGFuZ2UsIGJpcyBzaWNoIEZlbGEgYmVpIG1pciBtZWxkZXQsIHVuZCB3aXIgZGllIEJlZGluZ3VuZ2VuIGZ1ZXIKICAgIGRlbiBLYW1wZiBnZWtsYWVydCBoYWJlbiwgaXN0IGRlciBUZXJtaW4gdmVyc2Nob2Jlbi4KICAgIERlciBuZXVlIFRlcm1pbiB3aXJkIGFiZXIgYXVmIGplZGVuIEZhbGwgaW4gZGVyIE1QQSBmcnVlaCBnZW51ZwogICAgYmVrYW5udCBnZWdlYmVuLgoKCiBEZWxvcyBkZXIgZnJldW5kbGljaGUgU2tsYXZlbmhhZW5kbGVyCgoKIFAuUy46IEZlbGEsIG5vY2ggZWluIFRpcDogVmVyc3VjaGUgZGllIFNhY2hlIGltIFJMIG5pY2h0IHNvIGVybnN0IHp1CiAgICAgICBuZWhtZW4hISEgRHUgc2VsYnN0IGhhc3QgZWlubWFsIHp1IG1pciBnZXNhZ3QsIER1IGtvZW5udGVzIFJMCiAgICAgICB1bmQgTUcgdHJlbm5lbi4gTW9tZW50YW4gc2NoZWludCBtaXIgZGFzIGplZG9jaCBuaWNodCBzbyB6dSBzZWluLgogICAgICAgV2llIHNjaG9uIG9iZW4gZXJ3YWVobnQsIGljaCBoYWx0ZSBzZWhyIHZpZWwgdm9uIERlaW5lcgogICAgICAgRnJldW5kc2NoYWZ0ISEhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvICAgbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19fLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb2VyZGVybWVsZHVuZ2VuIChTeXNvcCwgIDcuIE1haSAxOTk1LCAwMDoxNToxOSk6CiMhIHJuPUNhcmFkaHJhcyBydD03OTk1NTEyMDYKSHVjaCwgQ2FyYSwgRGVpbiBOZWZmZSBpc3QgZWluIE9yaz8KV2llIGtvbW10IGRhcyBkZW5uPwotLSBTdWVzc29wIChncnVlYmVsbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaXNjd29ybGQgKFp1ZXJpbGV1LCAgNy4gTWFpIDE5OTUsIDEzOjQ3OjIwKToKU2FsaSB6YWVtZSwKRGEgaWNoIGVpbiBBZHZlbnR1cmUgRmFuIGJpbiB1bmQgZnVlcnMgbGViZW4gZ2VybmUgTGFjaGUsIGhhYmUgaWNoIG1pY2ggaW4KUmVhbCBhbiBkYXMgQWR2ZW50dXJlIERpc2N3b3JsZCAneWVwIGhhdCBtaXQgZGVyIGJla2FubnRlbiBCdWNoc2VycmllIHdhcyB6dQp0dW4hJyByYW5nZW1hY2h0LiBOdW4ga29tbSBpY2ggbGVpZGVyIG5pY2h0IG1laHIgd2VpdGVyIHVuZCBob2ZmZSBqZW1hbmQgdm9uCmV1Y2gga2FubiBtaXIgc2FnZW4gd2FzIGljaCBpbiBkZXIgSGF1cHRzdGFkdCBBbmtoLU1vcnBvcmsgdHVuIG11c3MgPyBJY2ggaXJyZQpzaWNoZXIgc2Nob24gdWViZXIgZWluZW4gaGFsYmVuIFRhZyBoZXJ1bSB1bmQgaGFiZSBtaXQgamVnbGljaGVyIFBlcnNvbmVuCmdlcmVkZXQgdW5kIFNhY2hlbiBhdXNwcm9waWVydCBkaWUgaWNoIGZpbmRlbiBrb25udGUuIEFiZXIgaWNoIGtvbW0gbmljaHQKd2VpdGVyLCB3aWUga2FubiBpY2ggZGllIFN0YWR0IHZlcmxhc3Nlbiwgd2FzIG11c3MgaWNoIGluIGlociB0dW4gPywgV2llIGtvbW0KaWNoIGlucyBSZWljaCBkZXIgc2NoYXR0ZW4sIFdpZSBrb21tIGljaCBhbiBkZW4gQWFsIHVuZCBkZW4gWmF1YmVyc3RhYiA/ICwKZnJhZ2VuIHVlYmVyIGZyYWdlbiBvaG5lIGFudHdvcnQsIGthbm4gamVtYW5kIGhlbGZlbiA/CgpUc2NodWVzcyB6YWVtZSB1bmQgbm9jaCB2aWVsIHNwYXNzIGJlaW0gTXVkZGVuIHd1ZW5zY2h0Li4uCgogICAgICAgICAgICAgICAgICAgICAgICBadWVyaWxldSAoZ2VodCBmcmVtZCEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHVlbGwgKEFyZGFuYSwgIDcuIE1haSAxOTk1LCAxNjo0NzozOSk6CiMhIHJuPURlbG9zIHJ0PTc5OTc1NDg5MQpIaWhvIExldXRlLApuaWNodCBkYXMgaWNoIHdhcyBkYWdlZ2VuIGhhZXR0ZSwgd2VubiBpbiBkZXIgUnVicmlrIEFuemVpZ2VuIGF1ZiBlaW4gRHVlbGwKendpc2NoZW4gRGVsb3MgdW5kIEZlbGFndW5kIGhpbmdld2llc2VuIHd1ZXJkZS4uLiBhYmVyIHNvLCB3aWUgZGllIERlbG9zCmdlcmFkZSBkaWUgTVBBIG1pdCBwcml2YXRlbiBaZXVnIHZvbGxzY2hyZWlidCAuLi4gaWNoIHdlaXNzIG5pY2h0LiBJY2ggZ2xhdWJlLApkYXMgZ2Vob2VydCBuaWNodCBoaWVyaGVyLi4uIHdlbiBpbnRlcmVzc2llcnQgZGFzPyBBbHNvLCBlcmxlZGlndCBkZW4gcHJpdmF0ZW4KS3JhbSBtaXQgZGVyIFBvc3QuIE9kZXIgc2VoZSBpY2ggZGEgd2FzIGZhbHNjaD8KCk5peCBmdWVyIHVuZ3V0LAogICAgICAgICAgICAgICAgIGVpbiB6ZWl0dW5nc2xlc2VuZGVyIEFyZGFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEdWVsbCAoR3JpbW1ib3JuLCAgNy4gTWFpIDE5OTUsIDE2OjU1OjU2KToKIyEgcm49QXJkYW5hIHJ0PTc5OTg1ODA1OQoKU2ljaGVyIHNpZWhzdCBEdSBkYSB3YXMgZmFsc2NoLCBtaWNoIGludGVyZXNzaWVydCBkYXMgYnJlbm5lbmQuCkljaCBoYWIgZWluIGZhaWJsZSBmdWVyIGRhcyBQcml2YXRsZWJlbiBhbmRlcmVyIExldXRlLCBpY2ggbmVobWUgZGEgcmVnZW4KQW50ZWlsLCBqYXdvaGwhCgpEZXN3ZWl0ZXJlbiBiaW4gaWNoIEFib25uZW50IHZvbjoKRGFzIEdvbGRlbmUgQmxhdHQsCk5ldWUgUG9zdCwKRnJlaXplaXQgUmV2dWUgdW5kCkhhZW50IGkgVmVja2FuIChzY2h3ZWRpc2NoKS4KCkRpZSBlcnphZWhsZW4gYXVjaCBpbW1lciBzb3dhcy4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRHVlbGwgKEFyZGFuYSwgIDcuIE1haSAxOTk1LCAxNzowOTo1Myk6CiMhIHJuPUdyaW1tYm9ybiBydD03OTk4NTg1NTYKSmEsIEdyaW1tLCBpY2ggaGF0dGUgaW1tZXIgc2Nob24gc28gZWluZSBBaG51bmcsIGRhc3MgZGllIE1QQSBudXIgZWluCnZlcmtsZWlkZXRlcyBLbGF0c2NoYmxhdHQgaXN0LiBXaXIgc29sbHRlbiB1ZWJlciBlaW5lIFJ1YnJpayBLbGF0c2NoCm5hY2hkZW5rZW4uLi4gZG9jaCBoYWx0LCBzaWUgZ2lidCBlcyBqYSBzY2hvbi4gTmVubnQgc2ljaCB3b2hsIHdpZSBkZXIKZW50c3ByZWNoZW5kZSBLYW5hbDogQWxsZ2VtZWluLgoKRWluIGJlZ2Vpc3RldGVyIGtsYXRzY2hzcGFsdGVubGVzZWRlciBBcmRhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHVlbGwgKERlbG9zLCAgNy4gTWFpIDE5OTUsIDIwOjEyOjM5KToKIyEgcm49QXJkYW5hIHJ0PTc5OTg1ODA1OQpTaWNoZXJsaWNoIGhhc3QgRHUgaW0gZ3JvZXNzZW4gdW5kIGdhbnplbiBSZWNodCEKTnVyIGluIGRpZXNlciBTaXR1YXRpb24gc2VoZSBpY2ggZXMgYXVjaCBldHdhcyBhbmRlcnMuIFNvIGVpbiBEdWVsbApzb2xsdGUgenVtaW5kZXN0IG1laW5lciBNZWludW5nIGVpbmUgT2VmZmVudGxpY2hlIFNhY2hlIHNlaW4uIERhcyB6dW0KRWluZW4uIFp1bSBBbmRlcmVuIGlzdCBlcyBkb2NoIGdhbnogaW50ZXJlc2FudCwgd2FzIHNpY2ggZGFyYXVzIGFsbGVzCmVyZ2ViZW4gaGF0IC0+IFdldHR0ZW4sLi4uClVuZCBkcml0dGVucyBoYWx0ZSBpY2ggZXMgZnVlciB3aWNodGlnLCB6dSBzZWhlbiwgd2llIHNpY2ggZGllIGJlaWRlbgpEdWVsbGFudGVuIHZlcmhhbHRlbiAoZmFpci11bmZhaXIsIGZlaWctbXV0aWcsIHNpbm5pZy11bnNpbm5pZywuLi4pLgoKRHUgaGFzdCBzaWNoZXJsaWNoIFJlY2h0LCB3ZW5uIER1IHNhZ3N0LCBkYXNzIGRpZSBSdWJyaWsgIkFsbGdlbWVpbmVzIgpuaWNodCBkaWUgUmljaHRpZ2UgaXN0LCBudXIgbWlyIHZpZWwgaGFsdCBrZWluZSBiZXNzZXJlIGVpbi4gOi0pCgpBYmVyIGVpbnMgc3RlaHQgZmVzdCwgZWluZSBBdWZmb3JkZXJ1bmcgenVtIER1ZWxsIHdpcmQgbmljaHQgcGVyIFBvc3QKdmVyc2NoaWNrdCwgb2Rlcj8/PwoKRGVsb3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNjd29ybGQgKFNudWdnbGUsICA4LiBNYWkgMTk5NSwgMDA6MzQ6MjMpOgojISBybj1adWVyaWxldSBydD03OTk4NDcyNDAKV2llLCB6dXIgRGlzY3dvcmxkIGdpYnRzIGVpbiBBZHZlbnR1cmU/IHdvID8gaGFiZW4gd2lsbC4uCk1vcnQgKGFlaC4uLm1laW5lIG5hdHVlcmxpY2ggOiBTbnVnZ2xlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaXNjd29ybGQgKFp1ZXJpbGV1LCAgOC4gTWFpIDE5OTUsIDAwOjU3OjIzKToKIyEgcm49U251Z2dsZSBydD03OTk4ODYwNjMKU2FsaSBzbnVnZ2xlLApOdW4gZnVlciBQQyBDRC1ST00gdW5kIERpc2MtdmVyc2lvbiBpbiB2b3JiZWlyZWl0dW5nLCB3byBobW0gYW4gamVkZW0gZ3V0ZW4KRmFjaGhhbmRlbCA9OikKCnRzY2h1ZXNzIFp1ZXJpbGV1ICh3ZXJiZWJyYW5jaGUgPyBub2UgZGFua2UgaGFzcyBpY2guLi4hISEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZWxvc3cgdnMuIGZlbGFndW5kIChUb3NzLCAgOC4gTWFpIDE5OTUsIDAxOjU0OjA1KToKSG1tLi4uLi4KCnRqYSwgZGFzIGR1ZWxsIHN0ZWh0LCBhYmVyIGRpZSB3ZXR0ZW4gbm9jaCBuaWNodCAhCkFsc28sIHdlciB3aWxsLCBzY2hpY2t0IG1pciBlaW4gbWFpbCBhbiBjaGF2ZXogdXN3LCBoYWIgaWNoIGphIGdlc2NocmllYmVuLi4uCmJ0dzogZXMga2FubiBzZWxic3R2ZXJzdGVuZGxpY2ggbnVyIGF1ZiBlaW5lbiBkZXIgYmVpZGVuIGR1ZWxsYW50ZW4gZ2V3ZXR0ZXQKd2VyZGVuIDspIC0gd2llIG1hbiBzaWVodCwgYmluIGljaCBuZXUgaW4gZGVtIGJ1c2luZXNzLCB1bmQgbWFuIGhhZXR0ZSBlaW5mYWNoCmF1ZiBiZWlkZSB3ZXR0ZW4ga29lbm5lbiwgc2Nob24gaGFldHRlIG1hbiBtaW5kLiBpbSBmYWxsZSBkZWxvc2Agc2llZyBkYXMgMSw1CmZhY2hlIGRlcyBlaW5nZXNldHp0ZW4genVydWVja2dla3JpZWd0Li4gbWl0IGdhcmFudGllICEgKGRhbmtlIHRyeWZhbiBmZ3VlcgpkZW4gdGlwLCBpY2ggaGFldHRlIG1pY2ggaGllciBld2lnIHZlcnNjaHVsZGV0IDspKQpBbnNvbnN0ZW4gdmllbCBzcGFzcyBkZW4gYmVpZGVuIGtvbnRyYWhlbnRlbiwgdW5kIHVlYiBub2NoIHdhcyBrYXJhdGUsIGRlbG9zLApkYW5uIHNlaGVuIGRlaW5lIGNoYW5jZW4gYmVzc2VyIGF1cyAodW5kIGljaCBrYW5uIGJlc3NyZSBxdW90ZW4gYW5iaWV0ZW4gOykpCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHVlbGwgKEZlbGFndW5kLCAgOC4gTWFpIDE5OTUsIDA3OjQwOjI5KToKIyEgcm49RGVsb3MgcnQ9Nzk5NzU0ODkxCkphamEuLmFiZXIgenVlcnN0IGdyb3NzZSBUb2VuZSBzcHVja2VuIHVuZCBqZXR6dCBlaW5lbiBhdWYgT3BmZXJsYW1tCm1hY2hlbi4uLgpFcyBnaWJ0IGVpbmlnZSBEaW5nZSwgZGllIGljaCBuaWNodCBsZWlkZW4ga2Fubi4uLmRhenUgZ2Vob2VyZW4gei4gQi4Kdm9sbGdlbmVydnQgdW5kIG1pdCBNb3JhbCB6dWdlbXVlbGx0IHp1IHdlcmRlbiwgYmVsZWlkaWd0IHdlcmRlbiB1bmQgZWluaWdlcwphbmRlcmUuLi4KKERlaW5lIERpbmdlIHp1bSBOYWNoZGVua2VuIGZhbGxlbiBmdWVyIG1pY2ggZWluZGV1dGlnIHVudGVyIGRhcyB6dW11ZWxsZW4uLikKTWl0IEZhaXJuZXNzIGhhYiBpY2ggaW4gZGllc2VtIEZhbGxlIHdlbmlnIGFtIEh1dC4uLmFuZ2VzaWNodHMgZGVyIFVtc3RhZW5kZQpkZWluZXIgTEVUWlRFTiBIZXJhdXNmb3JkZXJ1bmcgdW5kIGRlciBkYXJhdWZmb2xnZW5kZW4gQmVsZWlkaWd1bmdlbiAoenVyCkluZm86IGljaCBzdGFuZCB6dSBkZXIgWmVpdCBtaXQgMTcgTFAgaW4gZGVyIFNTUCB1bmQgRGVsb3Mgd3Vzc3RlIGRhcwpuYXR1ZXJsaWNoLi4uKQpJY2ggZGFjaHRlIGJlaSBkaWVzZW0gRHVlbGwgbWFociBhbiBlaW5lIEJlc3RyYWZ1bmcuLi4KPk1laW5lcyBXaXNzZW5zIGlzdCBLYXJhdGUgZWluZSBLYW1wZnNwb3J0YXJ0LgotaXN0IGVzIGF1Y2guLmltIFJMLCBoaWVyIGltIE1VRCBpc3QgZXMgYWJlciBhdWNoIGVpbmUgV2FmZmUuLi53b2xsdGVzdCBkdQpuaWNodCBSTCB1bmQgTVVEIHRyZW5uZW4/Li4KPkR1IGhhc3QgZmFzdCA0bWFsIHNvIHZpZWwgWmVpdCBpbSBNRyB2ZXJicmFjaHQgd2llIGljaC4KLXNpY2hlciBoYWIgaWNoIGRhcy4uaWNoIGhhYiBqYSBtZWluZSBRdWVzdHMgYXVjaCBTRUxCU1QgZ2Vsb2VzdCB1bmQgbWljaApuaWNodCBhbmRhdWVybmQgdm9uIGplbWFuZGVtIHJ1bWZ1ZWhyZW4gbGFzc2VuIChkYXMgZmFlbGx0IHVlYnJpZ2VucyB1bnRlciBkaWUKS2F0ZWdvcmllIG5lcnZlbiBzLm8uKQo+RHUgaGFzdCwgZ2xhdWJlIGljaCBkZW4gb3JhbmdlbmVuIEd1ZXJ0ZWwgdW5kIGljaCBoYWIga2VpbmVuLgotVGphIEp1bmdlLi5kYW5uIGhhZXR0ZXN0IGR1IHZpZWxsZWljaHQgc2Nob25tYWwgYW5mYW5nZW4gc29sbGVuLCBLYXJhdGUgenUKbGVybmVuLCBhbnN0YXR0IGluIGRlciBNUEEgenUgbXVlbGxlbi4uLgo+RHUgYmlzdCBtaXIgdW0gZWluaWdlIFN0dWZlbiB2b3JyYXVzLgotU2ljaGVyIGJpbiBpY2ggZGFzLi4uc29uc3QgaGFldHRlIGljaCBqYSBESUNIIHNjaG9uIHZpZWwgZWhlcgpnZWZvcmRlcnQuLmFiZXIgZGVzaGFsYiBiaW4gaWNoIGRpciBqYSBmdWVyIGRpZXNlIEdlbGVnZW5oZWl0IHNvbyBkYW5rYmFyIDspKQpEYXNzIFJYWCBnZXNhZ3QgaGFiZW4gc29sbCwgZGFzcyBkZXIgSGVyYXVzZm9yZGVyZXIgZGllIFdhaGwgdm9uIFplaXQgdW5kIE9ydApoYXQgaXN0IHVlYnJpZ2VucyBhdWNoIG51ciBlaW5zIGRlaW5lciBiZWxpZWJ0ZW4gR2VydWVjaHRlCkFsc28gd2llIGdlc2FndC4uc2VpIGhldXQgbWl0dGFnIGluIEdpIHVuZCBHdWVydGVsIGRhIG9kZXIgbGFzcyBlcywgbWlyIGlzCmRhcyByZWxhdGl2IGVnYWwuLndhZXIgaGFsdCBmdWVyIG1pY2ggbmUgdmVycGFzc3RlIEdlbGVnZW5oZWl0LCBhYmVyIElDSCBzcHVjawpqYSBhdWNoIG5pY2h0IGVyc3QgZ3Jvc3MgVG9lbmUgc29uZGVybiBudXR6ZSBlYmVuIGRpZSBFSVRFTEtFSVQgYW5kZXJlciBmdWVyCm1laW5lIFp3ZWNrZS4uLi4uCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLkZlbGEuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IER1ZWxsIChEZWxhLCAgOC4gTWFpIDE5OTUsIDA5OjE4OjM3KToKIyEgcm49RmVsYWd1bmQgcnQ9Nzk5OTExNjI5CkRhcyBpc3Qgd2lya2xpY2ggZHVlbm4gdm9uIERpciEKV296dSBlaW4gcmljaHRpZyBzY2hvZW5lcyBEdWVsbCBhdWZ6aWVoZW4sIHdlbm4gRHUgbWl0IHNvbGNoZW4gQXJndW1lbnRlbgprb21tc3QuCkljaCBkZW5rZSwgZGFzIGlzdCBuaWNodCBpbSBTaW5uZSBkZXIgYW5kZXJlbiBNR2xlciEKCkRlbG9zCgpQLlMuOiBVbmQgS2FyYXRlIGlzdCBrZWluZSBXYWZmZSwgYXVjaCBuaWNodCBpbSBNRyEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRHVlbGwgKEhvdWRpbmksICA4LiBNYWkgMTk5NSwgMDk6MzY6MjkpOgojISBybj1EZWxhIHJ0PTc5OTkxNzUxNwpPa2F5LCBmYWxscyBEZWxvcyB3aWxsLCB3ZXJkIGljaCBzZWluIFNla3VuZGFudC4gVW5kIFNla3VuZGFudGVuIGhhYmVuIGphIGRhcwpkaXJla3RlIFJlY2h0IHp1ciBSYWNoZT0+IERhbm4gd2VyZCBpY2ggRmVsb3MgaW4gS2FyYXRlIHJhdXNmb3JkZXJuLCBkYW5uCnNpZWh0IGVyIG1hbCwgd2llIGhvaGUgS2FyYXRlZ3VlcnRlbCBrYWVtcGZlbiwgd2VubgplciBrZWluIGZhaXJlcyBEdWVsbCBtaXQgV0FGRkUgaGFiZW4gd2lsbC4uLgpIb3VkaW5pLCBzdGVodCB6dXIgVmVyZnVlZ3VuZy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRHVlbGwgKE9yb2RyZXRoLCAgOC4gTWFpIDE5OTUsIDA5OjQ2OjE1KToKIyEgcm49SG91ZGluaSBydD03OTk5MTg1ODkKU2VpdCB3YW5uIGR1ZXJmZW4gc2ljaCBtYWdzIGJlaSBzb3dhcyBlaW5taXNjaGVuLi4uaW0gdWVicmlnZW4gaGF0IEZlbGEgc2VpbmUKR3J1ZW5kZSBmdWVyIGVpbmVuIGhhcnRlbiBLdXJzLi4uCnNlaW5lbiBCcnVkZXIgdmVydGVpZGlnZW5kLi4uLk9yb2RyZXRoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEdWVsbCAoWnVlcmlsZXUsICA4LiBNYWkgMTk5NSwgMDk6NDc6NTMpOgojISBybj1EZWxhIHJ0PTc5OTkxNzUxNwpTYWxpLAoKSE1NLi4gRE9DSCAhIElDSCB3aWxsIEJMVVVVVVVVVVVUVFRUIHNlaGVuICEgPTopKSkpCgpOb2UgbnVuIG1hbCBlcm5zdCwgaW4gcmVhbCB3dWVyZCBpY2ggc2FnZW4gc2NoZWlzcyBkcmF1ZiBlcyBtdXNzIGF1Y2ggb2huZQpnZXdhbHQgZ2VoZW4uIEhpZXIgaXN0IGRhcyBhbmRlcnMsIERlbG9zIHdvbGx0ZSBkZW4gS2FtcGYgdW5kIGhhdCBGZWxhZ3VuZApkYW1pdApnZXN0dWVybXQgd2llIGZlaWdlIGVyIGRvY2ggc2VpIHVuZCBlciB3aWxsIGVzIGlobSBudW4gemVpZ2VuLiBOdW4ga29lbm50ZSBlcgpkYXMgYWJlciB6aWVodCBkZW4gc2Nod2FueiBlaW4gd2VpbCBlciBhbmdzdCBkYXZvciBoYXQgenUgdmVybGllcmVuLiBWb3JoZXIKd2FyIGltIGVnYWwgZGFzIEZlbGFndW5kIHdhcyB3ZWlzcyBpY2ggMyBTdHVmZW4gaG9laGVyIGlzdCBhbHMgZXIsIGFiZXIgamV0enQKd28gZXMgZGFydW0gZ2VodCBkYXNEdWVsIGF1c3p1dHJhZ2VuIGZpbmQgZXIgZGFzIHBsb2V0emxpY2ggdW5mYWlyIS4gRGVsb3MgaWNoCmZpbmRlIGVpbmUga2xhZWdsaWNoZSBmbHVjaHR2ZXJzdWNoZSBlcmJhZXJtbGljaCBzdGVoZSBkZW4gS2FtcGYgd2llIGVpbiBNYW5uCnVuZCBuaWNodCB3aWUgZWluIFdpbmRlbCB0cmFnZW5kZXMgdW0gaGlsZmUgc2NocmVpZW5kZXMgQmFieSAhCgpUc2NoYXUgWnVlcmlsZXUgKGFtdWVzaWVydCBzaWNoIGtvZXN0bGljaCAhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRHVlbGwgKEFuY2FsYWdvbiwgIDguIE1haSAxOTk1LCAwOTo1NzoxNik6CiMhIHJuPUhvdWRpbmkgcnQ9Nzk5OTE4NTg5CkhhbGxvLCBpaHJzIQpLdXJ6IHp1bSBEdWVsbC4gRGVyIEdlZm9yZGVydGUgaGF0IGRhcyByZWNodCBkZXIgd2FmZmVud2FobC4gVW5kIHdlbm4KRmVsYWd1bmQgc2VpbmUgSGFuZGthbnRlbiBhbHMgV2FmZmUgd2FlaGx0LCBpc3QgZGFzIGRvY2ggd29obCBkdXJjaGF1cwpsZWdpdGltLiBXYW5uIHNvbGx0ZSBkaWVzZSBEdWVsbCBub2NobWFsIHN0YXR0aW5kZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEdWVsbCAoTmFpcm9sZiwgIDguIE1haSAxOTk1LCAxMDo0Mjo1NSk6CiMhIHJuPUFuY2FsYWdvbiBydD03OTk5MTk4MzYKQWxzbyBqZXR6dCBtdXNzIGljaCBtaWNoIGRvY2ggYXVjaG1hbCByZWluaGFlbmdlbi4uLgpNZWluZXIgTWVpbnVuZyBuYWNoIGlzdCBlcyBzZWxic3R2ZXJzdGFlbmRsaWNoLCBkYXNzIEZlbGFndW5kIGRhcyBSZWNodCBoYXQKZGllIFdhZmZlIHp1IHdhZWhsZW4gdW5kIHNvIGlzdCBlcyBhdWNoIHNlbGJzdHZlcnN0YWVuZGxpY2ggZGFzcyBlciBkZW4Kd2FmZmVubG9zZW4gS2FtcGYgd2FlaGx0LCB3ZW5uIGVyIG1laW50IGVyIHNlaSBzb28gdG9sbC4uLiBBbGxlcmRpbmdzIG11c3MgZXIKc2ljaCBkYW5uIG5hdHVlcmxpY2ggYXVjaCBzbyBGQUlSIHplaWdlbiB1bmQgd2lya2xpY2ggYWxsZSBSdWVzdHVuZ2VuIGFibGVnZW4uCk9kZXIgYWJlciBEZWxvcyBlaW5lIGViZW5idWVydGlnZSBSdWVzdHVuZyB6dWJpbGxpZ2VuLiBBdXNzZXJkZW0gbXVzcyBlciBzaWNoCmF1Y2ggZGFtaXQgYWJmaW5kZW4sIGRhc3MgRGVsb3Mgc2VpbmUgcHJpdmF0ZW4sIGdpbGRlbmFiaGFlbmdpZ2VuLAp3YWZmZW5sb3NlbiAgS2FtcGZ0ZWNobmlrZW4gYW53ZW5kZXQuLi4KClVlYnJpZ2VucyBGZWxhZ3VuZDogREVMT1MgV0lSRCBVTSAxMi4wMCBJTiBERVIgQVJFTkEgU0VJTiEhISEKCk5vY2h3YXMgaW4gZ2FueiBlaWdlbmVyIHByaXZhdGVyIFNhY2hlIChleHRyYSBmdWVyIEdyaW1tYm9ybiA6KSEpOiBGZWxhZ3VuZApkdSBzb2xsdGVzdCB3aXJrbGljaCBkYXMgTUcgdW5kIGRhcyBSTCBhdXNzZWluYW5kZXIgaGFsdGVuIHVuZCBkdSB3ZWlzc3QgamEKZGFzIGVzIGhpZXIgbmljaHQgdW1zIFJMIHNvbmRlcm4gdW1zIE1HIGdlaHQgLi4uLi4uIE8gRCBFIFIgPz8/Pz8/Li4uLiBhY2hqYSwKd2VubiBkYXMgRHVlbGwgZGFubiBhdXNnZWZvY2h0ZW4gaXN0IHVtIDEyLjAwIFVIUiBnZWhlbiB3aXIgZGFubiBpbiBkaWUKTWVuc2E/Pz8/CgpBbHNvIGljaCBmaW5kZSBlcyB3aXJrbGljaCBlaW5lIHN1cGVyIElkZWUgdW5kIGljaCBzdGVsbGUgZmVzdChkYSBGZWxhZ3VuZApzaWNoIGdlcmFkZSBuZWJlbiBtaWNoIGdlc2V0enQgaGF0KSBkYXNzIGVyIGVzIGRvY2ggc2NoYWZmdCBlaW4gd2VuaWcgUkwgdW4KTUcgenUgdHJlbm5lbiAuLi4KRWluZSBGcmFnZSBhbiBSb2NodXM6IGlzdCBLYXJhdGUgZWluZSBXYWZmZT8/Pz8KCkVpbmUgRnJhZ2UgYW4gYWxsZTogaXN0IGVzIG5pY2h0IGxvZ2lzY2gsIGRhc3MgaW4gZWluZW0gd2FmZmVubG9zZW4gS2FtcGYKamVkZXIgYXVjaCBzZWluZSBNYWdpZXB1bmt0ZSB2ZXJwdWx2ZXJ0Pz8gRGVubiB3ZW5uIEZlbGFndW5kIGRhcyB0dXQgZGFyZgpEZWxvcyBkaWVzIGRvY2ggYXVjaCwgT0RFUj8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRHVlbGwgKEZlbGFndW5kLCAgOC4gTWFpIDE5OTUsIDEwOjQ3OjEyKToKIyEgcm49TmFpcm9sZiBydD03OTk5MjI1NzUKTGVpZGVyIGhhdCBGZWxhZ3VuZCBrZWluZSBXQUhMIGFscyBzZWluZSBNUCB6dSB2ZXJwdWx2ZXJuLi4uZHJ1bW0gc29sbCBqYQphdWNoIERlbG9zIEthcmF0ZSBtYWNoZW4gb2RlciBtZWluZXR3ZWdlbiBkYXJmIGVyIGF1Y2ggb2huZSB3YWZmZSBrb21tZW4sCmJla29tbXQgYWJlciBhbGUgWmF1YmVyc3BydWVjaGUgZ2VzcGVycnQgb2RlciB2ZXJ6aWNodGV0IGZyZWl3aWxsaWcgZHJhdWYuLkRBUwppc3QgbWlyIGVnYWwsIGFsbGVzIGFuZGVyZSBuaWNodC4uLnVuZCBkYXNzIGljaCBrZWluZSBydWVzdHVuZ2FuaGFiZW4gd2VyZCBoYWIKaWNoIGphIHdvaGwgZ2VzYWd0ISA7KSkKRXMgaXN0IGVpbiBndXRlciBUYWcgenUgc3RlcmJlbi4uYWJlciBudXIgZnVlciBEZWxvcy4uLmJpcyBuYWNoaGVyLCBGZWxhIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEdWVsbCAoQm9pbmcsICA4LiBNYWkgMTk5NSwgMTA6NDk6NTkpOgojISBybj1BcmRhbmEgcnQ9Nzk5ODU5MzkzCkRhIHdhciBkb2NoIG5vY2ggd2FzIG1pdCBLbGF0c2NoIC4uLiBhY2ggamEhIFdhcyBpc3QgZGVubiBhdXMgZGllc2VyCktsYXRzY2h6ZWl0dW5nIHZvbiBIYXRlIGdld29yZGVuPyBXdXJkZSBncm9zcyBhbmdla3VlbmRpZ3QgdW5kIGRhbm4Ka2FtIHNlaXQgTW9uYXRlbiBrZWluZSBBdXNnYWJlIG1laHIgcmF1cyAuLi4gT2V0dGkgaGF0dGUgZG9jaCBzY2hvbgpncm9zc2FydGlnIFdvbHBlcnRpbmdlcmZyZXVuZGUgdW5kIC1mZWluZGUgaW50ZXJ2aWV3dC4gSWNoIGJpdHRlIHVtCmVpbmUgU3RlbGx1bmduYWhtZSBkZXIgZW50c3ByZWNoZW5kZW4gUmVkYWt0ZXVyZS4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRHVlbGwgKEJvaW5nLCAgOC4gTWFpIDE5OTUsIDEwOjUzOjM1KToKIyEgcm49SG91ZGluaSBydD03OTk5MTg1ODkKTUFnaWVyendlaXRpZXMsIGRpZSBtaXQgZ2VwYXRjaHRlbiBXZXJ0ZW4gdW5kIE1vbnN0ZXJuIGlkZWxuZGVyd2Vpc2UKaWhyZSBLYXJhdGVmYWVoaWdrZWl0ZW4gZXJob2VodCBoYWJlbiBzb2xsdGVuIGJlc3NlcgpuaWNodCB1ZWJlciAnUmFjaGUgYXVzdWViZW4nIGdlZ2VudWViZXIgU3BpZWxlcm4gcmVkZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IER1ZWxsIChOYWlyb2xmLCAgOC4gTWFpIDE5OTUsIDEwOjU1OjQ5KToKIyEgcm49RmVsYWd1bmQgcnQ9Nzk5OTIyODMyClNvc28gRmVsYSBrZWluZSBSdWVzdHVuZyBoZWlzc3QgZnVlciBtaWNoIGFiZXIgYXVjaCAgS2VpbmVuIEdJIHVuZCBrZWluZW4KR3VlcnRlbCwgT0RFUj8/PwpFcyB3YWVyZSBtZWluZXIgTWVpbnVuZyBuYWNoIGFtIHNpbm52b2xsc3Rlbiwgd2VubiBpaHIgendlaSBldWNoIG1hbAp2ZXJ0cmF1ZW5zdm9sbCBhbiBlaW5lbiBNYWdpZXIgd2VuZGVuIHd1ZXJkZXQsIGRlciBhdWNoIERpciAoRmVsYSkgZGVpbmUKS2FyYXRldGVjaG5pa2VuIGt1cnp6ZWl0aWcgZGVha3RpdmllcnQsIGRlbm4gZGFubiBrb2VubnQgaWhyIGV1cmUgS3JhZnQgaW0KZGlyZWt0ZW4gS2FtcGYgZ2VnZW5laW5hbmRlciBtZXNzZW4uLi4KCk5haXJvbGYsIGRlciBzaWNoIGVpZ2VudGxpY2ggZGFydWViZXIgZ2VmcmV1dCBoYWV0dGUgZWluZW4gS2FtcGYgdm9uIHp3ZWkKTWFlbm5lcm4gaW4gdm9sbGVyIFJ1ZXN0dW5nIGdlZ2VuZWluYW5kZXIgenUgc2VoZW4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEdWVsbCAoSm9mLCAgOC4gTWFpIDE5OTUsIDEwOjU4OjAyKToKIyEgcm49SG91ZGluaSBydD03OTk5MTg1ODkKIFdlbm4gZWluIE1hZ2llciBvZGVyIFRlc3RQbGF5ZXIgZWluIER1ZWxsIGdlZ2VuIGVpbmVuIFNwaWVsZXIgaW4gZGVyCkFyZW5hIGZ1ZWhydCwgaXN0IGRhcyBhYnNvdWx1dCBpbGxlZ2FsIHdlaWwgZ2VnZW4gZGllIE1hZ2llcnJlZ2Vsbi4gV2VubgpEZWxvcyBGZWxhZ3VuZCB6dSBlaW5lbSBLYW1wZiBpbiBkZXIgQXJlbmEgZm9yZGVydCAoYXVjaCBub2NoIGluIHppZW1saWNoCmJlbGVpZGlnZW5kZW0gVG9uKSwgaGF0IHNlbGJzdHJlZGVuZCBGZWxhIGRpZSBXYWhsIGRlciBXYWZmZW4gLSB1bmQgZXIgd2FyZQpqYSB3b2hsIHNjaG9lbiBibG9lZCwgd2VubiBlciBuaWNodCBlaW5lIG5laG1lbiB3dWVyZGUsIGRpZSBlciBiZXNzZXIKYmVoZXJyc2NodCBhbHMgZGVyIEhlcmF1c2ZvcmRlcmVyLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRHVlbGwgKEJvaW5nLCAgOC4gTWFpIDE5OTUsIDEwOjU5OjQzKToKIyEgcm49TmFpcm9sZiBydD03OTk5MjMzNDkKV2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZSwgc2NocmllYiBGZWxhZ3VuZDogS2VpbmUgUnVlc3R1bmcgQVVTU0VSCkdpIHVuZCBHdWVydGVsLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEdWVsbCAoRmVsYWd1bmQsICA4LiBNYWkgMTk5NSwgMTE6MDA6MDgpOgojISBybj1Kb2YgcnQ9Nzk5OTIzNDgyClRqYS4ud2VubiBtaXIgamV0enQgc29nYXIgc2Nob24gZGllIEdvZXR0ZXIgenVzdGltbWVuLi4uZGFzIG5lbm50IHNpY2ggZGFubgp3b2hsIEdvdHRlc3VydGVpbCwgb2Rlcj8/PwpadWZyaWVkZW4gZ3JpbnNlbmQuLi4uLi5GZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEdWVsbCAoUnh0ZWNoLCAgOC4gTWFpIDE5OTUsIDExOjAwOjEyKToKIyEgcm49TmFpcm9sZiBydD03OTk5MjMzNDkKaWNoIHdlaXNzIGVpZ2VudGxpY2ggbmljaCwgd2llc28gaWNoIGhpZXIgbm9jaG1hbCBtZWluZW4gc2VuZiBkYXp1IGFibGFzc2UsCmFiZXIgaWNoIHdpbGwgZG9jaCBrdXJ6IG1hbCBtZWluZSBtZWludW5nIGRhcmxlZ2VuLgp3ZW5uIGZlbGFndW5kIG5hY2tlbmQgdW5kIG1pdCBibG9zc2VuIGhhZW5kZW4ga2FlbXBmZW4gd2lsbCwgc28gaXN0IGRhcyBzZWluCmd1dGVzIHJlY2h0IHVuZCBkZWxvcyBtdXNzIHNpY2ggZHJhbiBoYWx0ZW4uIGFiZXIsIHdlbm4gZGVsb3Mga2VpbiBrYXJhdGVrYQppc3QsIHNvIGhhdCBlciBpbSBuYWNrZW5kIGthZW1wZmVuIGhhbHQgYW5kZXJlIG1vZWdsaWNoa2VpdGVuLCB3aWUgei5iLgpmZXVlcmJhZWxsZSBvZGVyIHNjaG5lbGwgb2RlciBzby4gZWluIGZhaXJlciBrYW1wb2Ygd2lyZCBkYXMgYWxzbyBhdWYga2VpbmVuCmZhbGwuIGljaCBkZW5rZSBtYW4ga2FubiBrZWluZW4gendpbmdlbiBkaWUgZ2lsZGUgenUgd2VjaHNlbG4KCmp1c3QgbXkgdHdvIHBlbm5pZXMKCnJ4dGVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRHVlbGwgKFJ4dGVjaCwgIDguIE1haSAxOTk1LCAxMTowNDowOCk6CiMhIHJuPVJ4dGVjaCBydD03OTk5MjM2MTIKd28gYmxlaWJlbiBkaWUgcXVvdGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRHVlbGwgKFdhcmdvbiwgIDguIE1haSAxOTk1LCAxMTowNTozOSk6CiMhIHJuPVJ4dGVjaCBydD03OTk5MjM2MTIKLi4udW5kIGRhcyBWZXJsaWVyZXJzY2huaXR6ZWwgaXN0IGRhbm4gZW50d2VkZXIgZ3V0IGR1cmNoLQpnZWJyYXRlbiBvZGVyIHNjaG9uIHNjaG9lbiBnZWtsb3BmdC4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRHVlbGwgKEpvZiwgIDguIE1haSAxOTk1LCAxMTowODoxNik6CiMhIHJuPU5haXJvbGYgcnQ9Nzk5OTIzMzQ5CgogSWNoIGJpbiB2aWVsIG1laHIgYXVmIGVpbmVuIEthbXBmIG1pdCBkZW4gYWt0dWVsbGVuIEthcmF0ZS1UZWNobmlrZW4gZ2UtCnNwYW5udC4gSW4gRmVsYXMgUG9zdGluZyBzdGFuZCBkb2NoOiBlcmxhdWJ0ZSBSdWVzdHVuZ2VuIHdhZXJlbiBudXIgR3VlcnRlbAp1bmQgR2ksIHdlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmU/CgogQlRXLCBpY2ggZmFlbmRlIGVzIG51ciBmYWlyLCB3ZW5ucyBkZW4gSEVSQVVTRk9SREVSRVIgZXJ3aXNjaHQgLSBpc3QgZG9jaApzZWxiZXIgc2NodWxkIDopCgogSm9mCiwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEdWVsbCAoUnh0ZWNoLCAgOC4gTWFpIDE5OTUsIDExOjEzOjM2KToKIyEgcm49Sm9mIHJ0PTc5OTkyNDA5Ngp0amEsIHdlbm4gZGllc2VyIGtvbWlzY2hlIGdpIHVuZCBkZXIgZ3VlcnRlbCBuZSB3YWZmZSBzaW5kLCBkYW5uIHNvbGx0ZSBkZWxzbwpzaWNoIGRpZSB3b2hsIGJlc29yZ2VuCgpyeHRlY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEdWVsbCAoSm9mLCAgOC4gTWFpIDE5OTUsIDExOjMyOjEzKToKIyEgcm49Unh0ZWNoIHJ0PTc5OTkyNDQxNgoKIEljaCB2ZXJtdXRlLCBlcyB3YWVyZSBhdWNoIGtlaW4gUmVnZWx2ZXJzdG9zcywgd2VubiBlciBuYWNrdCBtaXQgYmxvc3NlbgpIYWVuZGVuIGthZW1wZnQgLSB1bnRlciBWZXJ6aWNodCBhdWYgZGllIG1hZ2lzY2hlbiBGYWVoaWdrZWl0ZW4gZGVyIEFiZW50ZXUtCnJlci1HaWxkZSAoRmV1ZXJiYWxscyB1c3cpLCB2ZXJzdGVodCBzaWNoLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IER1ZWxsIChFbmd5d3VjaywgIDguIE1haSAxOTk1LCAxMTozNTozNik6CiMhIHJuPVJ4dGVjaCBydD03OTk5MjQ0MTYKSGFjaCwgaXN0IGRhcyBhbGxlcyBoYXJtbG9zIGhpZXIhIG1hbiBrb2VubnRlIG1laW5lbiwgbWFuIHNlaSBpbQpLaW5kZXJnYXJ0ZW4hIEtvZW5udCBpaHIgRXVjaCBuaWNodCB2b3JoZXIgbm9jaCBpbiBkZXIgTVBBIHZlcmJhbApydW50ZXJtYWNoZW4/IFNjaGxpZXNzbGljaCB3aWxsIGljaCBhdWNoIGRpZSBnYW56ZSBkYWhpbnRlcnN0ZWhlbmRlIEdlc2NoaWNodGUKa2VubmVuISBPZGVyIGdlaHQgZGFzIGV0d2EgYWxsZXMgcGVyIE1haWwgYWI/Pz8KSWNoIGVyaW5uZXIgbWljaCBkYSBhbiBnbG9ycmVpY2hlIFplaXRlbiwgYWxzIG1hbiBzaWNoIG5vY2ggaW4gZGVyIE1QQQphbmdlcG9lYmVsdCBoYXQgdW5kIGRlciBTcGllbGVyLCBkZXIgMTUgTGV2ZWwgdW50ZXJsZWdlbiB3YXIsIHNjaGxpZXNzbGljaCB6dW0KRHVlbGwgZ2Vmb3JkZXJ0IHd1cmRlLi4uRGFzIHdhcmVuIG5vY2ggWmVpdGVuIQoKRW5neXd1Y2sgLSBkZW4gS29wZiB2b2xsZXIgRXJpbm5lcnVuZ2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEdWVsbCAoRGVsb3MsICA4LiBNYWkgMTk5NSwgMTE6MzY6NTEpOgojISBybj1SeHRlY2ggcnQ9Nzk5OTIzNjEyCgogRGFua2UgZnVlciBSeHRlY2gncyBadXN0aW1tdW5nISEhCiBNaWNoIGthbm4gYXVjaCBrZWluZXIgZGF6dSB6d2luZ2VuIGRpZSBHaWxkZSB6dSB3ZWxjaHNlbG4hISEKIERhcyB3dWVyZGUgYWxsZW4gUmVnZWxuIGVpbmVzIER1ZWxscyB3aWVkZXJzcHJlY2hlbiEhIQoKIERlbG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRHVlbGwgKEZlbGFndW5kLCAgOC4gTWFpIDE5OTUsIDExOjM5OjUzKToKIyEgcm49RGVsb3MgcnQ9Nzk5OTI1ODExCldlbGNoZW4gUmVnZWxuIGRlbm4/IGF1c3NlcmRlbS4uZ3VjayBkaXIgbWFsIGRlbiBsZXR6dGVuIGFydGlrZWwgdm9uIEpvZgphbi4uLgpXaWUgZ2VzYWd0Li4ubWVpbmV0d2VnZW4gZGFyZnN0IGR1IGF1Y2ggc28gb2huZSB3YWZmZW4ga2FlbXBmZW4uLi5hYmVyIE1hZ2llCmlzdCBiZWkgZGllc2VtIEthbXBmIGFic29sdXQgYXVzc2VyIEZyYWdlIHVuZCBkYW1pdCBiYXN0YQouLi4uLi4uLi5GZWxhLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRHVlbGwgKEZlbGFndW5kLCAgOC4gTWFpIDE5OTUsIDEyOjI3OjQ3KToKIyEgcm49RmVsYWd1bmQgcnQ9Nzk5OTI1OTkzCkR1cmNoIERlbG9zIGVocmVudm9sbGVzIFZlcmhhbHRlbiBpbiBkZXIgQXJlbmEgZXJrbGFlcmUgaWNoIHVuc2VyZW4gWndpc3QKaGllcm1pdCBmdWVyIGJlZW5kZXQgdW5kIGRlciBFaHJlIGdlbnVlZ2UgZ2V0YW4uLi4uLi4uLkZlbGEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBEdWVsbCAoTmFpcm9sZiwgIDguIE1haSAxOTk1LCAxMjozMDowNSk6CiMhIHJuPUZlbGFndW5kIHJ0PTc5OTkyODg2NwpodXBzIG9oIHNvcnJ5Li4uIGFsc28gOgpIRVJaTElDSEVOIEdMVUVDS1dVTlNDSCBBTiBGRUxBR1VORCBVTkQgREVMT1MhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEdWVsbCAoUnh0ZWNoLCAgOC4gTWFpIDE5OTUsIDEyOjM1OjM2KToKIyEgcm49TmFpcm9sZiBydD03OTk5MjkwMDUKYWxzbyBnZW5hdSB3aWUgYXhlbCBzY2h1bHogdmVyZGllbnQgZGVsb3MgbmVuIHJ1ZWNra2FtcGYsIGRhbm4ga29lbm50ZSBlciBqYQptYWwgZGllIHdhZmZlbiB3YWVobGVuIDopKQoKYmluIGljaCBnZW1laW4gaGV1dGUKCnJ4dGVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IER1ZWxsIChJbmZvZHJlaSwgIDguIE1haSAxOTk1LCAxMjo0MTozMCk6CiMhIHJuPVJ4dGVjaCBydD03OTk5MjkzMzYKS2VpbmVuIFJ1ZWNra2FtcGYgYml0dGUuClNvbnN0IGdlaHQgZGFzcyBpbW1lciB3ZWl0ZXIuCgpFaW5lbiBHbHVlY2t3dW5zY2ggYW4gZGllIFN0cmVpdGVyLiBWSUVMIEtBTVBGIFZJRUwgRUhSLgoKSU5GT0RSRUkgLC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEdWVsbCAoRmVsYWd1bmQsICA4LiBNYWkgMTk5NSwgMTM6MjM6MzEpOgojISBybj1JbmZvZHJlaSBydD03OTk5Mjk2OTAKZG9jaC4ubmVuIHJ1ZWNra2FtcGYgd2lyZHMgc2Nob24gZ2ViZW4uLmFiZXIgZGFubiBnbGVpY2hiZXJlY2h0aWd0Li51bmQgZGFzCmRhdWVydCBub2NoIG5lIHdlaWxlIDspCkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NyaXB0c3BpZWxlciAoQmFtYnVsa28sICA4LiBNYWkgMTk5NSwgMTY6NDM6NDQpOgojISBybj1JbnNraXBwIHJ0PTc5OTc1NTAyMgpJY2ggd2FyIG51ciBldHdhcyBzYXVlciwgZGEgaWNoIGluIGRlciBnaWxkZSBuZXVlIHRlY2huaWtlbiBlcmxlbmVuIHdvbGx0ZSwKdW5kIGljaCBuaWNodHMgYXVmIGRlbSBiaWxkc2NocmltIGxlc2VuIGtvbm50ZS4uLgpBYmRlciBkdSBoYXN0IHJlY2h0IG5lIG1haWwgaGFldHRlIGdlcmVpY2h0IQpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IER1ZWxsIChCb25nbywgIDguIE1haSAxOTk1LCAxODoxNjo1Nik6CiMhIHJuPUpvZiBydD03OTk5MjU1MzMKSWNoIHZlcnN0ZWhlIG5pY2h0LCB3YXJ1bSBlciBhdWYgc2VpbmUgWmF1YmVya3JhZWZ0ZSB2ZXJ6aWNodGVuIHNvbGx0ZS4KRGVzIGVpbmVuIGJlc29uZGVyZSBGYWVoaWdrZWl0ZW4gaXN0IEthcmF0ZWthICh3YXMgTWFnaWVwdW5rdGUga29zdGV0KSB1bmQKZGVzIGFuZGVyZW4gYmVzb25kZXJlIEZhZWhpZ2tlaXRlbiBzaW5kIGRpZSBaYXViZXJzcHJ1ZWNoZSAod2FzIGViZW5zbwpNYWdpZXB1bmt0ZSBrb3N0ZXQpLiBXZW5uIGVpbiBaYXViZXJlciB1bmQgZWluIEthcmF0ZWthZW1wZmVyCmdlZ2VuZWluYW5kZXIga2FlbXBmZW4gKHVuZCBkYXMgb2huZSB3ZWl0ZXJlIFdhZmZlbikgZGFyZiBkb2NoIHdvaGwKamVkZXIgZGVyIGJlaWRlbiBzZWluZSBGYWVoaWdrZWl0ZW4gYW53ZW5kZW4sIGRpZSBlciBOQUNLVCBhbndlbmRlbiBrYW5uLgpPYiBkYXMgZmFlaHIgaXN0IG9kZXIgbmljaHQsIGxpZWd0IGJlaSBkZW4gS29udHJhaGVudGVuLiBTY2hsaWVzc2xpY2ggc2luZApzaWUgc2ljaCBqYSBuaWNodCBnYW56IGltIEtsYXJlbi4uLgpCb25nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IER1ZWxsIChZZW5kaSwgIDguIE1haSAxOTk1LCAxODoxODoyNCk6CiMhIHJuPUJvbmdvIHJ0PTc5OTk0OTgxNgoKSWNoIHN0aW1tZSB2b2xsIHp1LiBXZW5uIERlbG9zIG9obmUgUnVlc3R1bmcgdW5kIHdhZmZlbmxvcyBrYWVtcGZlbiBzb2xsKHRlKSwKZGFubiBzY2hsaWVzc3QgZGFzIElNTlNITyBNYWdpZSBuaWNodCB2b20gRHVlbGwgYXVzIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEdWVsbCAoQm9pbmcsICA4LiBNYWkgMTk5NSwgMTg6MjU6MzgpOgojISBybj1ZZW5kaSBydD03OTk5NDk5MDQKRGFzIHNlaGUgaWNoIGF1Y2ggc28sIG1laW5lciBNZWludW5nIG5hY2ggaGFldHRlIERlbG9zIG9obmUgZ2VnZW4gZGllCidSZWdlbG4nIHp1IHZlcnN0b3NzZW4gTWFnaWUgYW53ZW5kZW4ga29lbm5lbi4KICAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBEdWVsbCAoSm9mLCAgOC4gTWFpIDE5OTUsIDE5OjA4OjI3KToKIyEgcm49Qm9uZ28gcnQ9Nzk5OTQ5ODE2CgogQWxzIFdhZmZlIHdhciBLYXJhdGUsIG5pY2h0IFphdWJlcmVpIGZlc3RnZXNldHp0IC4uLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV0dGVuIGluIGRlciBCZXJnc3RhdGlvbiAoQW5ha2luLCAgOC4gTWFpIDE5OTUsIDIwOjA5OjA0KToKSGlobywKCktlaW5lIEFobnVuZyB3byBlcyBoaW4gc29sbHRlLCBkZXNoYWxiIGhpZXI6CgpBbHNvIGRpZSBCZXJnc3RhdGlvbiBpc3QgamEgdG90YWwgdWViZXJyYW5udCwgVGFnIHVuZCBOYWNodCBtdWVoZW4Kc2ljaCBBYmVudGV1cmVyIGRlbiB3ZWl0ZW4gV2VnIGRvcnRoaW4gdW0gc2ljaCBoZWlsZW4genUgbGFzc2VuLgpBbHNvIGRhIGtvZW5udGUgbWFuIGphIG5vY2ggbWVoZXJlIEJldHRlbiBhdWZzdGVsbGVuLCBzb25zdApmYWxsZW4gZGllIEtyYW5rZW4gamEgbm9jaCB2b3IgZGVtIEJldHQgdW0gd2VpbCBzaWUgYW5zdGVoZW4gbXVlc3Nlbi4KCkFuYWtpbiAoaGF0IGdlcmFkZSB3aWVkZXIgNSBMZXV0ZSBpbiBkZXIgQmVyZ3N0YXRpb24gd2FydGVuIHNlaGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRHVlbGwgKEFzbW9kaXMsICA4LiBNYWkgMTk5NSwgMjE6NTQ6NDQpOgojISBybj1OYWlyb2xmIHJ0PTc5OTkyMjU3NQoKQWxzbyBpY2ggaGFiIGRlbiBHaSBtYWwgZ2V0ZXN0ZXQgcGVyIG1hZ2lzY2hlcyBBdWdlLCBlcgppc3QgJ251cicgemllbWxpY2ggZ3V0ICh6dW0gVmVyZ2xlaWNoLCBkZXIgTGljaHRwYW56ZXIgaXN0CmhlcnZvcnJhZ2VuZCkKRGVzd2VpdGVyZW4gaXN0IGRlciBHdWVydGVsICdlaGVyIHNjaGxlY2h0JwpBbHNvIHd1ZXJkZSBpY2ggc2FnZW4sIG1hbiBrYW5uIERlbG9zIGVpbmVuIExpY2h0cGFuemVyCihvZGVyIFBsYXR0ZW5wYW56ZXIgb2RlciBNaXRocmlscGFuemVyKSB6dWdlc3RlaGVuLAp3ZW5uIGVyIGRhZnVlciBhdWYgc2VpbmUgQW5ncmlmZnNzcGVsbHMgdmVyemljaHRldAooRmV1ZXJiYWxsLCBQZmVpbCwgU2NobmVsbCkKRGFubiBrb2VubnRlIGVzIGVpbiBmYWlyZXIgS2FtcGYgd2VyZGVuLCBkZW5uCmVpbiBTZWhlciwgZGVyIG1pdGdsaWVkIGluIGRlciBBYmVudGV1cmVyZ2lsZGUgaXN0LCBpc3QKYXVmIGplZGVuIEZhbGwgZWluZW0gS2FyYXRla2EgdWViZXJsZWdlbiwgd2VubiBlciBzZWluZQpTcGVsbHMgYmVudXR6ZW4ga2Fubi4KU28sIGRhcyB3YXIgZGFubiBtYWwgbWVpbiBTZW5mLgoKICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IER1ZWxsIChBbnRoZWEsICA5LiBNYWkgMTk5NSwgMDA6MjM6MTEpOgojISBybj1GZWxhZ3VuZCBydD03OTk5MzIyMTEKUnVlY2trYW1wZiBlcnN0LCB3ZW5uIGlociBiZWlkZSBlYmVuYnVlcnRpZyBzZWlkPyBEYW5uIHdlcmRldCBkb2NoIG1hbApzY2huZWxsCmJlaWRlIE1hZ2llciwgZGFubiBnZWh0IGRhcyBzY2huZWxsZXIgOikgVW5kIGljaCB3b2xsdGUgaW1tZXIgc2Nob24gbWFsIHp3ZWkKTWFnaWVyIGluIGRlciBBcmVuYSBnZWdlbmVpbmFuZGVyIGthZW1wZmVuIHNlaGVuIDspIChOZWluLCBkYXMgc29sbCBuaWNodApoZWlzc2VuLCBkYXNzIGljaCBoaWVybWl0IGlyZ2VuZHdlbiBhdWZmb3JkZXJlLCBtaWNoIGhlcmF1c3p1Zm9yZGVybi4pCgogICAgIEFudGhlYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IER1ZWxsIChCb2luZywgIDkuIE1haSAxOTk1LCAwOTo0NTo1Myk6CiMhIHJuPUFudGhlYSBydD03OTk5NzE3OTEKQWxsZXMgc2Nob24gZGFnZXdlc2VuLCBBbnRoZWEgLi4uIGZyYWcgbWFsIEZyZXVuZCAuLi4gOikgKmdyaW5zKgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDKysgKEJvbmdvLCAgOS4gTWFpIDE5OTUsIDEzOjExOjEzKToKSWNoIHNjaHJlaWJlIGRlbiBBcnRpa2VsIGhpZXIsIHdlaWwgZXMgd29obCBlaW5lIE1lbmdlIExldXRlIGdpYnQsIGRpZSBkaWUKU3VjaGUgLSBCaWV0ZSBSdWJyaWssIG9kZXIgd2llIHNpY2ggZGllIG5lbm50LCBuaWNodCBkdXJjaGxlc2VuLi4uCgpJY2ggYmluIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lbSBDKysgTWFudWFsLiBJcmdlbmRlaW5lIERhdGVpLCBkaWUgaWNoIG1pcgp6aWVoZW4gdW5kIGRhbm4gYXVzZHJ1Y2tlbiBrYW5uLiBXZW5uIG1pciBkYSBqZW1hbmQgaGVsZmVuIGthbm4gdW5kCnNvIGVpbiBNYW51YWwga2VubnQsIGRhbm4gbW9lZ2UgZXIgc2ljaCBkb2NoIGJpdHRlIGJlaSBtaXIgcGVyIE1VRC1Qb3N0Cm1lbGRlbi4uLgpCb25nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllYmVzZ2lsZGU/IChQYXJhY2Vsc3VzLCAxMC4gTWFpIDE5OTUsIDEwOjMzOjAzKToKRGFzIHdpcmQgamV0enQgbWVpbiBlcnN0ZXIgVmVyc3VjaCwgbWFsIHdhcyBpbiBkaWUgTVBBIHp1IHNldHplbi4gQWxzbyBiaXR0ZQpEYXMgd2lyZCBtZWluIGVyc3RlciBWZXJzdWNoLCBtYWwgd2FzIGluIGRpZSBNUEEgenUgc2V0emVuLiBBbHNvIGJpdHRlCmljaCBoaWVyIHNjaG9uIG1hbCB1bSBWZXJ6ZWlodW5nLgpJY2ggaGFiZSBkYXMgR2VmdWVobCwgZGFzcyBoaWVyIGluIGxldHp0ZXIgWmVpdCAoaGVpbWxpY2gpIGVpbmUgRGllYmVzZ2lsZGUKZ2V0ZXN0ZXQgd2lyZC4gTWlyIGlzdCBuYWVtbGljaCBmb2xnZW5kZXMgZ2VzY2hlaGVuOgpJY2ggaGF0dGUgZ2VyYWRlIEZyYWNodGd1dCBoaW50ZXIgbWlyIHVuZCBrYW0gd2llZGVyIGluIFBvcnQgVmFpbiBhbi4gRGEga2FtCmRpZSBNZWxkdW5nLCBkYXNzIGlyZ2VuZHdlciBoZWlyYXRlbiB3b2xsdGUuIEljaCBhbHNvLCBndXRnZWxhdW50IHdpZSBpY2gKd2FyLCBpbiBkaWUgVHJhdWthcGVsbGUsIG1pciBkaWUgSG9jaHplaXQgYW5zY2hhdWVuLiBXYXIgbmUgemllbWxpY2gKZWluc3BydWVjaGlnZSBBbmdlbGVnZW5oZWl0LCBiaXMgZWluIE1hZ2llciAoVnJhaT8pIG1hbCBrdXJ6IGR1cmNoZ2VncmlmZmVuCmhhdC4gTmFjaCBkZXIgRmVpZXIgd29sbHRlIGljaCBkYW5uIGVpbiBNb25zdGVyIHRvZXRlbiwgbWFjaGUgYWxzbyAienVlY2tlCmJsdXRzYXVnZXJzY2h3ZXJ0IiB1bmQgZXJoYWx0ZSBlaW4gIldpZSBCaXR0ZT8iLiBJY2ggbWFjaGUgImkiIHVuZCBzdGVsbGUKZmVzdDogRGEgZmVobHQgc28gZWluaWdlcyEgVW5kIG5pY2h0IGdlcmFkZSBkaWUgc2NobGVjaHRlc3RlbiBTYWNoZW46CiAgICAtIEJsdXRzYXVnZXJzY2h3ZXJ0CiAgICAtIEJ1bWVyYW5nCiAgICAtIHJvZXRsaWNoZXIgUmluZwogICAgLSBFaXNwYW56ZXIKdW5kIG5vY2ggc28gZWluaWdlIHVud2ljaHRpZ2UgU2FjaGVuLiBIZXV0ZSBnZWggaWNoIG1pdCB1ZWJlciAxMjAwMCBNdWVuemVuCm5hY2ggTmliZWxoZWltLCBsYXNzZSBpbSBIb3NwaXRhbCBlaW5lIHZvbGxlIEJlaGFuZGx1bmcgdWViZXIgbWljaCBlcmdlaGVuCihjYSAyMzAwIE11ZW56ZW4pLCByZW5uZSBuYWNoIEF1cm9yYSB6dW0gS3VycGZ1c2NoZXIsIHdlaWxzIG5peCBnZWJyYWNodCBoYXQKdW5kIHN0ZWxsZSBmZXN0LCBpY2ggaGFiZSBudXJub2NoIDMzNSBNdWVuemVuLiBaaWVtbGljaCBhZXJnZXJsaWNoIQpVbmQgaWNoIGJpbiBuaWNodCBkZXIgZWluemlnZSwgZGVtIGRhcyBwYXNzaWVydCEgRWxieXRlIGhhdCBzaWNoIG1hbCBhdWYKVGFtaWJhciBhdXNnZWxvZ2d0LCB1bmQgYW0gbmFlY2hzdGVuIFRhZyB3YXIgc2VpbiBCU1Mgd2VnLgpBbHNvIGVpbmUgV2FybnVuZyBhbiBhbGxlIFNwaWVsZXI6CkVOVFdFREVSIEhJRVIgR0VIVCBFSU4gRElFQiBVTSBPREVSIERBIElTVCBFSU4gS0FQSVRBTEVSIEJVRyEKCkVpbiB6aWVtbGljaCB2ZXJhZXJnZXJ0ZXIgUGFyYSAgICA+Oi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllYmVzZ2lsZGU/IChaYXJkb3osIDEwLiBNYWkgMTk5NSwgMTA6MzY6MzApOgojISBybj1QYXJhY2Vsc3VzIHJ0PTgwMDA5NDc4MwpXZWRlciBub2NoLi4gYmVpIGRlciBGcmFjaHRndXQtUXVlc3Qga2FubiBtYW4gZWluaWdlIEdlZ2Vuc3RhZW5kZSB2ZXJsaWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZWJlc2dpbGRlPyAoUGFyYWNlbHN1cywgMTAuIE1haSAxOTk1LCAxMDo0NToyOCk6CiMhIHJuPVphcmRveiBydD04MDAwOTQ5OTAKVGphLCBudXIgbGVpZGVyIGhhdHRlIGljaCBkaWUgc2FjaGVuIG5vY2gsIGFscyBpY2ggYW0gU3RyYW5kIHN0YW5kLgpQYXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IER1ZWxsIChCZWxkaW4sIDEwLiBNYWkgMTk5NSwgMTU6MTk6MjUpOgojISBybj1Kb2YgcnQ9Nzk5OTUyOTA3CgpEYXMgc3RpbW10IHNjaG9uLCBKb2YuLi4gRGllIEZyYWdlIGlzdCBudXIgb2IgZGFzIGF1Y2ggZ2VyZWNodGZlcnRpZ3Qgd2FyLgpEaWUgQW5hbG9naWUgZGF6dSB3YWVyZSwgZWluZW0gQmxpbmRlbiBlaW5lbiBXZXR0a2FtcGYgdWViZXIgZGFzIEVya2VubmVuIHZvbgpnZWZhZWxzY2h0ZW4gUmVtYnJhbmR0cyB2b3J6dXNjaGxhZ2VuLgoKQWJlciB3aWUgc2Nob24gaXJnZW5kZWluIFZvcnJlZG5lciBzYWd0ZTogV2VubiBkaWUgS29udHJhaGVudGVuIGVzIG9rIGZhbmRlbgotIGJpdHRlc2Nob2VuIQoKQ2lhbyAtIEJlbGRpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJldHRlbiBpbSBLcmFua2VuaGF1cy4gKEhhd2ssIDEwLiBNYWkgMTk5NSwgMTk6NTA6MzgpOgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gYW4gZGVuIEtyYW5rZW5iZXR0ZW4gZWluZW4gUGZsZWdlcgphdWZzdGVsbGVuLCBkZXIgSGFuZHpldHRlbCBtaXQgTnVtbWVyIHZlcnRlaWx0LgpIQVdLLCBkZXIgc2ljaCBmYXN0IFRCQyBnZWhvbHQgaGFldHRlLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRHVlbGwgKEd3eW5kb24sIDEwLiBNYWkgMTk5NSwgMjI6NDc6MTIpOgojISBybj1OYWlyb2xmIHJ0PTc5OTkyMjU3NQoKSGFsbG8gSWhyCgogLS0tLXNlbmYgb24tLS0tLS0tCgpSZWNodCBoYXN0IER1LiBXYWxva2EgKFdhZmZlbmxvc2VyIEthbXBmKSBpc3QgZWluZSBGb3JtIGRlcyBLYW1wZmVzLCB6dSBkZW0KYXVjaCBkZXIgVmVyemljaHQgYXVmIFJ1ZXN0dW5nZW4gZ2Vob2VydC4gVW5kIG51ciBmYWlyIGlzdCwgd2VubiBlaW4gR2VnbmVyCnNlaW5lIE1hZ2llcHVua3RlIHZlcmJyYWV0LCBkYXNzIGRlciBhbmRlcmUgZGllcyBkYW5uIGF1Y2ggdHV0LiBGZWxhIGhhdAp6dWd1bnN0ZW4gdm9uIEthcmF0ZSBhdWYgZGFzIEdpbGRlbi1BZXF1aXZhbGVudCBNYWdpZSB2ZXJ6aWNodGV0LiBEZWxvcyBrYW5uCmRhaGVyIHp1cmVjaHQgTWFnaWUgaW0gRHVlbGwgZ2VnZW4gS2FyYXRlIGVpbnNldHplbi4KICAgTWFubiBrb2VubnRlIGphIEZyaWVkam9mIGRlbiBTY2hsaWNodGVyIGZyYWdlbiwgd2VubiBkZXIgbm9jaCBkYSB3YWVyZS4uLgo6LSkpCgpIYXZlIHNjaG1hcnJuLi4uCgpHd3luZG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRHVlbGwgKEd3eW5kb24sIDEwLiBNYWkgMTk5NSwgMjI6NTY6NTApOgojISBybj1Kb2YgcnQ9Nzk5OTI1NTMzCgpIbW0uLi4uCgpEZWxvcyBzb2xsLCBzY2hyZWlidCBKT0YsIGF1ZiBzZWluZSBHaWxkZW5mYWVoaWdrZWl0ZW4gdmVyemljaHRlbj8KRGFzIGthbm4gSU1ITyBudXIgZGFubiBnZXJlY2h0ICh3YXMgaW1tZXIgZGFzIHNlaW4gbWFnLCB3aXNzZW4gZGllIEcuLi4gb2Rlcgp2aWVsbGVpY2h0IGRvY2ggbmljaHQ/KSBzZWluLCB3ZW5uIGRhcyBhbGxlIEthZW1wZmVuZGVuIHR1bi4gU29sbCBoZWlzc2VuLAphbGxlIFZlcnppY2h0ZW4gYXVmIFdhZmZlbiAtIE9rLiBVbmQvT2RlciBhbGxlIHZlcnppY2h0ZW4gYXVmCkdpbGRlbmZhZWhpZ2tlaXRlbi4gQXVjaCBvay4gVW5kL29kZXIgYWxsZSB2ZXJ6aWNodGVuIGF1ZiBkYXMgRHVlbGwuIC0gV2Flcgpkb2NoIGF1Y2ggd2FzLCBvZGVyPwoKIC0tLS0tLXNlbmYgb2ZmLS0tLS0tLS0KCkdydXNzLCBHd3luZG9uIChrZWluIEF0aGVpc3QgOy0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWRlZShhbGxlIEphaHJlIHdpZWRlci4uLiA6LSkgKSAoQmFib29uLCAxMS4gTWFpIDE5OTUsIDA4OjQ5OjU2KToKCkFscyBkaWUgR2FuemUgU3RyZWl0ZXJlaSB3ZWdlbiBEZWxvcyB1bmQgRmVsYSBoYXQgbWljaCBkYSBhdWYgbmUgSWRlZQpnZWJyYWNodDoKV2llIHdhZXJzIGRlbm4sIHdlbm4gaXJnZW5kZWluIE1hZ2llciwgZGVyIGdyYWQgbWFsIHdpZWRlciBuaXggenUgdHVuIGhhdApzaWNoCmhpbnNldHp0LCB1bmQgZWluZW4gQmVmZWhsICJ2ZXJwcnVlZ2xlIHh5eiIgcHJvZ3JhbW1pZXJ0PwpJY2ggc3RlbGwgbWlyIGRhcyBhbHMgdW5nZWZhZWhybGljaGVuIEVyc2F0eiBmdWVyIGRpZSBibHV0aWdlbiBBcmVuYWR1ZWxsZQp2b3IuClp3ZWkgU3BpZWxlciwgZGllIHNpY2ggaW4gZGllIEhhYXJlIGtyaWVnZW4ga29lbm50ZW4gaWhyZSBNZWludW5ncy0KdmVyc2NoaWVkZW5oZWl0ZW4gYXVmIGRpZXNlIFdlaXNlIGtsYWVyZW4sIG9obmUgZGFzcyB3ZXIgenUgdG9kZSBrb21tdC4KCkV0d2Egc286Cgp2ZXJwcnVlZ2xlIExhZwpPSy4KRHUgZ3JlaWZzdCBMYWcgbWl0IGVpbmVtIHJlY2h0ZW4gU2Nod2luZ2VyIGFuLgpEdSB0cmlmZnN0IExhZyBoYXJ0LgpMYWcgZ3JlaWZ0IGRpY2ggbWl0IGVpbmVtIFNjaGxhZyB1bnRlciBkaWUgR3VlcnRlbGxpbmllIGFuLgpMYWcgdmVyZmVobHQgZGljaC4KRHUgbmltbXN0IExhZyBpbiBkZW4gU2Nod2l0emthc3Rlbi4KRHUga3JhdHp0IExhZy4KTGFnIGZhZWxsdCBiZXd1c3N0bG9zKCEhISkgenUgQm9kZW4uCgpNb2VnbGljaGVyd2Vpc2Uga29lbm50ZSBtYW4gZGllIE1hZ2llcHVua3RlIG5vY2ggc3BlcnJlbiwgd2VpbCBzb3dhcyBpbiBlaW5lcgpoYW5kZmVzdGVuIEtlaWxlcmVpIG5peCB6dSBzdWNoZW4gaGF0LgpBbHNvLCB3YXMgaGFsdGV0IGlociBkYXZvbj8KCkJhYm9vbiEKClAucy4gQWxzbyBGZWxhIHVuZCBEZWxvcywgZGEgaGFldHRldCBpaHIgZG9jaCBldXJlIE1vZWdsaWNoa2VpdCwgZXVjaCBtaXQKbmFoZXp1IGdsZWljaGVuIENoYW5jZW4gZ2VnZW51ZWJlcnp1dHJldGVuISA6LSkKClAuUC5zIFZpZWxlaWNodCBrb2VubnRlIG1hbiBkYXMgamEgYWxzIHp1c2FldHpsaWNoZSBNb2VnbGljaGtlaXQgaW4gZGllIEFyZW5hCmVpbmJhdWVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJZGVlKGFsbGUgSmFocmUgd2llZGVyLi4uIDotKSApIChXYXJsb3JkLCAxMS4gTWFpIDE5OTUsIDExOjAwOjE4KToKIyEgcm49QmFib29uIHJ0PTgwMDE3NDk5NgoKSGloaSBmaW5kZSBpY2ggbmUgZWNodCBndXRlIGlkZWUhCgpWb3IgYWxsZW0gbWFuIGtvZW5udGUgbmVydmVuZGUgdW5kIGJlbGVpZGlnZW5kZSBOZXdiaWVzIGRhbWl0IGluIGRpZQpTY2hyYW5rZW4gd2VzZW4uIChtYW4gc3RlbGxlIHNpY2ggdm9yLCBlaW4gcnVtcHJvbGV0ZW5kZXIgVHlwIChrYW5uCnNlbGJzdHZlcnN0YWVuZGxpY2ggYXVjaCBuIFNlaGVyIHNlaW4pIHdpcmQgdm9uIG1laHJlcmVuIHZlcnBydWVnZWx0IG9kZXIKImdlamFnZCIuCkFiZXIgZ2VuYXUgZGFyaW4gc2VoZSBpY2ggYXVjaCBkYXMgUHJvYmxlbTogRXMgZ2lidCBiZXN0aW1tdCBTcGllbGVyLCBkaWUgZGFzCkdhbnplIHVlYmVydHJlaWJlbiB1bmQgZGFubiBrb2VubnRlIG1hbiBnbGVpY2ggZGFzIEFuZ3JpZmZzdmVyYm90IGF1c3NlcmhhbGIKZGVyIEFyZW5hIGF1ZmhlYmVuLgpXZW4gbWFuIGQidmVycHJ1ZWdsZSIgaW4gZGllIEFyZW5hIG1pdCBlaW5iYXV0LCBnZWh0IG5hY2ggbWVpbmVyIEFuc2ljaHQgZGVyCmdld3VlbnNjaHRlIEVmZmVrdCB2ZXJsb3Jlbi4KCiAtPiBtYW4ga2FubiwgbmFjaCBtZWluZXIgQW5zaWNodCwgYXVmIGRlbiBCZWZlaGwgInZlcnBydWVnbGUiIHZlcnppY2h0ZW4KdW5kIGRpZSBBcmJlaXQgc3BhcmVuIChsZWlkZXIpCgpFaW4sIHdlbm4gZXMgInZlcnBydWVnbGUiIGdpYnQsIHNpY2ggdHJvdHpkZW0gZnJldWVuZGVyIFdhcmxvcmQKClBTOiBTb3JyeSBmdWVyIGRpZSBGZWhsZXIsIGFiZXIgd2VpbCBkaWUgRWJlbmVuIGdlcmFkZSBhdXNnZWZhbGxlbiBzaW5kLCB3aXJkCmhpZXIgbWFzc2VuaGFmdCBnZXJ1ZmVuIHVuZCBkYXMgYXVzc2NoYWx0ZW4gaGF0IG5pY2h0c3MgZ2VicmFjaHQgOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2htYWwgUkwtTGlzdGUgKipuZXJ2KiogKEZyeWRlciwgMTEuIE1haSAxOTk1LCAxMTowMDo0Nyk6CgoKSWNoIGhhYiBlaHJsaWNoIGdlc2FndCBuaWNodCB2ZXJzdGFuZGVuLCB3YXMgYWxsZSBnZWdlbiBkaWVzZSBMaXN0ZSBoYWJlbj8KV2VubiBzaWUgaW4gZGVyIFplaXR1bmcgc3RlaHQsIHdpcmQga2F1bSBTcGVpY2hlciBiZWxhc3RldCB1bmQgd2VyIHNpY2gKZGF0ZW5zY2h1dHp0ZWNobmlzY2ggYmxvc3NnZXN0ZWxsdCBmdWVobHQgc29sbCBoYWx0IG5pY2h0IHJlaW5nZWhlbiBvZGVyCnNpY2ggd2llZGVyIGF1c3RyYWdlbiBsYXNzZW4uICoqenVjayoqCgpBYmdlc2VoZW4gZGF2b24gaGFiZW4gZ3JhZGUgbWFsIDcgTGV1dGUgaWhyZSBJbmZvcyBiZWkgbWlyIGFiZ2VnZWJlbiB1bmQKZGllIGdhbnplIEFrdGlvbiBpc3Qgc2Nob24gdm9uIEhhdXMgYXVzIGRlciBMYWVjaGVybGljaGtlaXQgcHJlaXNnZWdlYmVuLgpJY2ggc3RhcnRlIGhpZXJtaXQgYWxzbyBkZW4gbGV0enRlbiBBdWZydWY6CgpTY2hpY2t0IG1pciBFdXJlIFJMLU5hbWVuIHVuZCBUZWxlZm9ubnVtbWVybiwgZGVubiB3ZW5uIEV1Y2ggamVtYW5kCmVycmVpY2hlbiB3aWxsIG9kZXIgbXVzcywgdW5kIElociBzZWlkIG5pY2h0IGltIFNwaWVsLCBzaWVodCBlcyBkdW5rZWwgYXVzLgpJY2ggbWFjaCBkYXMgbmljaHQgYXVzIE5ldWdpZXIsIG9kZXIgdW0gV2FzY2htYXNjaGluZW53ZXJidW5nIHp1CnZlcnNjaGlja2VuLCBzb25kZXJuIGluIEV1cmVtIEludGVyZXNzZSEKCkljaCBkZW5rZSBtYWwsIHNvIGFiIDE1IExldXRlbiBtYWNodCBlcyBTaW5uLCBkaWUgTGlzdGUgenUgcG9zdGVuLgoKRGFua2UgZnVlcnMgQW5nYWdlbWVudAoKRnJ5ZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElkZWUoYWxsZSBKYWhyZSB3aWVkZXIuLi4gOi0pICkgKEhhcmRpbCwgMTEuIE1haSAxOTk1LCAxMTo1NjoyOSk6CiMhIHJuPVdhcmxvcmQgcnQ9ODAwMTgyODE4CgpWZXJwcnVlZ2VsbiBhbHMgSWRlZSBpc3QsIHdlbm4gbWFuIGFuIGRpZSBnYW56ZW4gU3BpZWxlciBkZW5rdCwgZGllIG51ciBzaWNoCnp1bSBSdW1mdXJ6ZW4gZWlubG9nZ2VuIC0gYWJlciBkYW5uIGRvY2ggYml0dGUgbnVyIGluIFdpcnRzaGFldXNlcm4uIEtlaW5lClBydWVnZWxlaWVuIHVudGVyIGZyZWllbSBIaW1tZWwuIDotKQogWVRICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJZGVlKGFsbGUgSmFocmUgd2llZGVyLi4uIDotKSApIChRdWFzaW1vZG8sIDExLiBNYWkgMTk5NSwgMTM6NTU6MjApOgojISBybj1IYXJkaWwgcnQ9ODAwMTg2MTg5CgoKVmVycHJ1ZWdlbG4gZmluZGUgaWNoIGF1Y2ggd2l0emlnLCBhYmVyIHdlbm4gbWFuIGRhYmVpIExQIHZlcmxpZXJ0IGlzdCBkaWUKTWlzc2JyYXVjaGdlZmFociBkb2NoIGRhLiBBdWNoIHdlbm4gbWFuIG5pY2h0IGdsZWljaCBzdGlyYnQuIEVzIHJlaWNodCBqYSB3ZW5uCm1hbiBlaW5lbiBhbmRlcmVuIHZlcnBydWVnZWx0LCBkZXIgc2ljaCBnZXJhZGUgaW4gZWluZW0gS2FtcGYgbWl0IE1vbnN0ZXIgeHl6CmJlZmluZGV0LiBEYW5uIGJyYXVjaCBqYSBudXIgZGFzIE1vbnN0ZXIgZGVuIGxldHp0ZW4gU2NobGFnIHp1IHNldHplbi4uLi4KCkFiZXIgd2l0emlnIHdhZXJlIGVzIHRyb3p0ZGVtLgoKUXVhc2ltb2RvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJZGVlKGFsbGUgSmFocmUgd2llZGVyLi4uIDotKSApIChCYWJvb24sIDExLiBNYWkgMTk5NSwgMTQ6MDY6NTApOgojISBybj1RdWFzaW1vZG8gcnQ9ODAwMTkzMzIwCldhcyBoZWlzc3QgZGEgc3RlcmJlbj8gRXMgd2FlcmUgZG9jaCBkdXJjaGF1cyBtb2VnbGljaCwgZGFzIGRpZQp1cnNwcnVlbmdsaWNoZW4gTFAgZ2VwdWZmZXJ0IHdlcmRlbiAoZXR3YSwgd2llIGluIER1bmN0b24sIHdvIG1hbiBTQ0hFSU5CQVIKc2VpbmUgQXVzcnVlc3R1bmcgdmVybGllcnQpLiBHYW56IGVpbmZhY2ggbGllc3NlIHNpY2ggZGllIFNhY2hlIHdvaGwgaW4gQmV6dWcKbWl0ICJlY2h0ZW4iIEthZW1wZWZlbiByZWdlbG46IElzdCBlaW4gYWdyZXNzaXZlcyBNb25zdGVyIGltIFJhdW0sIHdpcmQgZGVyCkthbXBmIGFiZ2Vicm9jaGVuLCB1bmQgZGFiZWkgbnVyIHZpcnR1ZWxsZSBMUCB2ZXJsb3JlbiBnZWdhbmdlbiBzaW5kLCBpc3QgZXMKa2VpbiBQcm9ibGVtLCBkYW5uIGRhcyBNb25zdGVyIHp1IGJla2FlbXBmZW4hCgpCYWJvb24hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJZGVlKGFsbGUgSmFocmUgd2llZGVyLi4uIDotKSApIChHcmltbWJvcm4sIDExLiBNYWkgMTk5NSwgMTQ6MTA6MDApOgojISBybj1CYWJvb24gcnQ9ODAwMTk0MDEwCgpNYWNodCBkYXMgZ2FuemUgaW4gS25laXBlbiAodW5kIG51ciBkYSkgbW9lZ2xpY2gsIHZlcmJpZXRldCBkaWVzZW0gbmVydmlnZW4KQmV0dGxlciBkaWUgS25laXBlbiwgYmF1dCBraWxsYmFyZSBXaXJ0ZSBhdXMgdW5kIC0gdm9pbGEhIC0gYWxsZXMgaW4gQnV0dGVyCm1pdCBkZW0gVmVycHJ1ZWdlbG4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gVmVycHJ1ZWdlbHQgbmljaHQgc29uZGVybiB6YXBwdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlaW56LU1haWVyLUxlaWJuaXotUHJlaXMgKFZyYWksIDEyLiBNYWkgMTk5NSwgMTU6MDY6MDMpOgpEZW4gSGVpbnotTWFpZXItTGVpYm5pei1QcmVpcyBlcmhhZWx0IEthc3NhbmRyYSwgTWF0aGVtYXRpa2VyaW4KYW4gZGVyIFVuaXZlcnNpdGFldCBNdWVuc3RlciwgZnVlciBpaHJlIERpc3NlcnRhdGlvbi4gRGFzIEJ1bmRlcy0KbWluaXN0ZXJpdW0gZnVlciBCaWxkdW5nLCBXaXNzZW5zY2hhZnQsIEZvcnNjaHVuZyB1bmQgVGVjaG5vbG9naWUKdmVybGVpaHQgZGllc2VuIFByZWlzIGplZGVzIEphaHIgYW4gTmFjaHd1Y2hzd2lzc3NlbnNjaGFmdGxlciBmdWVyCmJlc29uZGVycyBiZWRldXRlbmRlIEFyYmVpdGVuLiBLYXNzYW5kcmEgd2lyZCBkaWUgQXVzemVpY2h1bmcgYW0KOS4gSnVuaSBpbiBIYWxsZSBpbiBFbXBmYW5nIG5laG1lbi4KCkthc3NhbmRyYSBpc3Qgc2VpdCAxOTkxIHdpc3NlbnNjaGFmdGxpY2hlIE1pdGFyYmVpdGVyaW4gYW0gTWF0aGUtCm1hdGlzY2hlbiBJbnN0aXR1dCBkZXIgVW5pdmVyc2l0YWV0IE11ZW5zdGVyIHVuZCBLb2xsZWdpYXRpbiBhbQpHcmFkdWllcnRlbmtvbGxlZyBmdWVyIEFsZ2VicmFpc2NoZSBaYWhsZW50aGVvcmllIHVuZCBHZW9tZXRyaWUuCkluIGlocmVyIERva3RvcmFyYmVpdCBoYXQgc2llIGVpbmUgbmV1ZSBUaGVvcmllIGltIEJlcmVpY2ggZGVyCkFsZ2VicmFpc2NoZW4gR2VvbWV0cmllIGVudHdpY2tlbHQuIERpZXNlcyBTcGV6aWFsZ2ViaWV0IGRlciBSZWluZW4KTWF0aGVtYWlrIGJlc2NoYWVmdGlndCBzaWNoIG1pdCBkZXIgZ2VvbWV0cmlzY2hlbiBVbnRlcnN1Y2h1bmdlbgp2b24gYWxnZWJyYWlzY2hlbiBHbGVpY2h1bmdlbi4KCkFscyBuYWVjaHN0ZXMgZ3JvZXNzZXJlcyBaaWVsIHN0cmVidCBkaWUgTWF0aGVtYXRpa2VyaW4gZGllCkhhYmlsaXRhdGlvbiBhbi4KCkhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIHVuZCB2aWVsIEVyZm9sZyBiZWkgZGVyIEhhYmlsaXRhdGlvbgoKICAgVnJhaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2lsZGVuKHNjaG9uIHdpZWRlcikgKEJhYm9vbiwgMTIuIE1haSAxOTk1LCAxNzoxNDowNCk6CgpCYW1idWxrbywgZXMgZ2luZyBtaXIgd2VuaWdlciBkYXJ1bSwgenUgYmVoYXVwdGVuLCBkaWUgR2lsZGVuIHdhZXJlbiBhbGxlCnVuaGVpbWxpY2ggdW50ZXJzY2hpZWRsaWNoLiBEZW5uIGRhcyBzdGltbXQgamEgYXVjaCBuaWNodC4gRXMgaXN0IHNvLCBkYXNzCmRpZSBNYWdzIGhhbHQgenVyIEJlZ3Jlbnp1bmcgZGVyIEdpbGRlbmZhZWhpZ2tlaXRlbiBudXIgZGllIE1QIGhlcmFuemllaGVuCmtvZW5uZW4uIERhcmF1cyBlcmdpYnQgc2ljaCBsZWlkZXIsIGRhc3MsIGVnYWwgd2llIGRpZSBGZXJ0aWdrZWl0IGVpbmVyCkdpbGRlIG51biBoZWlzc3QsIGltbWVyIE1QIHZlcmJyYXVjaHQgd2VyZGVuLiBTZWxic3QgZWluZSBHaWxkZSBkZXIgTmljaHR0dWVyCndhZXJlIHBvdGVudGllbGwgZGFzIGdsZWljaGUgd2llIGFsbGUgYW5kZXJlbiwgZGEgc2llIGF1Y2ggbWl0IE1QIHVtZ2VodCwKaW5kZW0gc2llIHNpZSBOSUNIVCB2ZXJicmF1Y2h0LiBEYXMgbGllZ3QgYWJlciBhbSBTeXN0ZW0gZGVzIE1VRCdzLCB1bmQgaGllcgprb21tdCBhbHNvIG1hbCB3aWVkZXIgZGllIFBoYW50YXNpZSBpbnMgU3BpZWwuIFdlbm4gbWFuIGV0d2FzIHZvZWxsaWcKYW5kZXJlcyMKd2lsbCwgZGFubiBtdXNzIG1hbiBzaWNoIGhhbHQgZGVua2VuLCBlcyB3YWVyZSBhbmRlcnMsIHdlaWwgZXMgc2ljaCBzbyBuaWNodApyZWFsaXNpZXJlbiBsYWVzc3QuIERhcyBNdWQgaGF0IGhhbHQgbnVyIGJlZ3Jlbnp0ZSBNb2VnbGljaGtlaXRlbiwgdW5kIGRhCndhZXJlIGVpbmUgRWluc2NocmFlbmt1bmcgZGVyIE1hZ2llLXVuZCBLYW1wZi1tb2VnbGljaGtlaXRlbiBzY2hvbiBiYWxkIGRhcwplaW56aWdlIHdhcyBtYW4gdHVuIGthbm4uCgpCYWJvb24hIChob2ZmZW5kLCBzaWNoIG5pY2h0IHp1IGtvbmZ1cyBhdXNnZHJ1ZWNrdCB6dSBoYWJlbi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2lsZGVuKHNjaG9uIHdpZWRlcikgKEJhbWJ1bGtvLCAxMi4gTWFpIDE5OTUsIDE3OjMyOjE3KToKIyEgcm49QmFib29uIHJ0PTgwMDI5MTY0NApEYW5uIHNvbGxlbiBNcCdzIGluIEtvbnplbnRyYXRpb3MtUHVua3RlIHVtZ2VuYW5udCB3ZXJkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdpbGRlbihzY2hvbiB3aWVkZXIpIChCYWJvb24sIDEyLiBNYWkgMTk5NSwgMTc6MzM6NTEpOgojISBybj1CYW1idWxrbyBydD04MDAyOTI3MzcKVG9sbCwgdW5kIHdhcyBoYXN0ZSBkYW5uIGRhdm9uLCBkYW5uIGhlaXNzZW4gc2UgaGFsdCBuaWNodCBtZWhyIE1wLCBzaW5kCmFiZXIgaW1tZXIgbm9jaCBkYXMgZ2xlaWNoZS4KCkJhYm9vbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdpbGRlbihzY2hvbiB3aWVkZXIpIChHcmltbWJvcm4sIDEyLiBNYWkgMTk5NSwgMTc6NDI6NDApOgojISBybj1CYWJvb24gcnQ9ODAwMjkyODMxCgouLi51bmQgd2lyIGFybWVuIE1hZ2llciBoYWJlbiBlaW5lIHdlaXRlcmUgcHJvcGVydHksIGRpZSB3aXIgdW5zIG5pY2h0IG1lcmtlbgprb2VubmVuIChQX0NPTkNFTlRSQVRJT04gdmVybXV0bGljaCkuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKUC5TLjogU2NoYXV0IGRvY2ggbWFsIHJlaW4gaW4gaHR0cDovL3d3dy5kY3MuZWQuYWMudWsvc3RhZmYvamhiL3doaXNreS8sIGRhcwppc3Qgd2lya2xpY2ggaW50ZXJlc3NhbnQuIFVuZCBiZXN0YWV0aWd0IG1pY2ggaW4gbWVpbmVtIFVydGVpbCBmdWVyIExhZ2F2dWxpbgoxNiB5cnMuLi4gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhlaW56LU1haWVyLUxlaWJuaXotUHJlaXMgKEFzbW9kaXMsIDEyLiBNYWkgMTk5NSwgMTk6Mzc6NTIpOgojISBybj1WcmFpIHJ0PTgwMDI4Mzk2MwpIdXBwcywgZGEgaGFiZW4gd2lyIGphIGVpbiBHZW5pZSB1bnRlciB1bnMgIQpEYXMgaGVidCBtYWwgd2llZGVyIGRhcyBOaXZlYXUgaW4gTW9yZ2VuZ3JhdWVuICEKCiAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSWRlZShhbGxlIEphaHJlIHdpZWRlci4uLiA6LSkgKSAoUGFyYWNlbHN1cywgMTMuIE1haSAxOTk1LCAwODo1MDoxMyk6CiMhIHJuPUdyaW1tYm9ybiBydD04MDAxOTQyMDAKQWxzbyBpY2ggYmluIGF1Y2ggZGFmdWVyLCBkYXNzIG1hbiBkYXMgVmVycHJ1ZWdlbG4KYXVmIGRpZSBLbmVpcGVuIGJlc2NocmFlbmtlbiBzb2xsdGUuClZpZWxsZWljaHQgc29sbHRlIGRlciBWZXJsaWVyZXIgYWxzICJCZXN0cmFmdW5nIiAxIEVQIHZlcmxpZXJlbiA6KQoKQXVzIGRlciB0aWVmc3RlbiBGaW5zdGVybmlzOiBQYXJhY2Vsc3VzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZWluei1NYWllci1MZWlibml6LVByZWlzIChHcmltbWJvcm4sIDEzLiBNYWkgMTk5NSwgMTM6MTY6MDMpOgojISBybj1Bc21vZGlzIHJ0PTgwMDMwMDI3MgoKR2VuaWU/IFZvbiB3ZW0gd2FyIG5vY2ggZGllIHNvIGd1dCBmdW5rdGlvbmllcmVuZGUgSGlsYmVydHF1ZXN0PyA7LSkKTmFqYSwgYWJlciBhdWYgamVkZW4gRmFsbDogSGVyemxpY2hlbiBHbHVlY2t3dW5zY2gsIEthc3NhbmRyYSEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gSGF0IG5hY2ggZGVtIDcuIG1hbCBIaWxiZXJ0IGVpbiBiaXNjaGVuIGRpZSBMdXN0CnZlcmxvcmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIZWluei1NYWllci1MZWlibml6LVByZWlzIChZYW50cm8sIDE1LiBNYWkgMTk5NSwgMDk6MTE6MjYpOgojISBybj1HcmltbWJvcm4gcnQ9ODAwMzYzNzYzCgpEaWUgZ2VuaWFsZSBIaWxiZXJ0cXVlc3QgaXN0IG1laW5lcyB3aXNzZW5zIHZvbiBSdW1hdGEuLi4gbWVya3QgbWFuIGRvY2ggOi0pCldFTk4gbWFsIGVpbiBCVUcgZHJpbm5lIGlzdCwgZGFubiBkaXJla3QgZWluIGdvZXR0bGljaGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2thbGZ1ZWhyZXIgKE51ZGVpLCAxNS4gTWFpIDE5OTUsIDEwOjIxOjU5KToKQW4gYWxsZSBnYXN0aGF1c2dlaGVyIQoKSGF0IHNpY2ggc2Nob24gbWFsIHdlciBkYXJhbmdlZGFjaHQsIGVpbmVuIExva2FsZnVlaHJlciBmdWVyIGRhcyBNRwpoZXJhc3V6dWJyaW5nZW4/IEFub255bWUgVGVzdGVyIGtvc3RlbiBzaWNoIGR1cmNoIGFsbGUgS25laXBlbiB1bmQKU2NobGVtbWVyYnVkZW4gZGVyIFdlbHQsIGdlYmVuIEJld2VydHVuZ2VuIGFiLCBsYXNzZW4gc2ljaCB2b24gZGVuIFdpcnRlbgp1bmQgQnJhbm50d2VpbmVybiBiZXN0ZWNoZW4sIG11ZXNzZW4gaW4gVmVya2xlaWR1bmcga29tbWVuLCBiZXJpY2h0ZW4KdWViZXIgZGllIEhpbnRlcmdydWVuZGUsIGdhc3RoYXVzZ2VzY2hpY2h0ZW4sIFp1YmVyZWl0dW5nc21ldGhvZGVuLi4uIHVuZAprb2VubmVuIGRpZSBTcGVzZW4gdm9uIGRlciBTdGV1ZXIgYWJzZXR6ZW4uCgpJbnRlcmVzc2VudGVuIGJpdHRlIGJlaSBtaXIgbWVsZGVuIChmdWVyIFVua29zdGVuIGlzdCBnZXNvcmd0KS4KCk51ZGVpIGRlciBGZWluc3BpdHoKClVuZCBpbSBLYWZmZWVoYXVzIGdpYnQgc2ljaGVyIEtFSU5FIFN0ZWhnZWlnZXIuIERhcyBpcyB3YXMgZnVlcm4gSGV1cmlnZXIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprcmlzdGFsbGt1Z2VsIChIYWRyYSwgMTUuIE1haSAxOTk1LCAxMzoyNDoxOSk6CnRhY2ggbXVkZGllcywKCmF1Y2ggYXVmIGRpZSBnZWZhaHIgaGluLCBkYXN6IGljaCBuZXJ2ZS4ga2FubiBtaXIgbWFsIGRlZmluaXRpdiBqZW1hbmQgc2FnZW4Kd2FzIG1pdCBkZXIga3Jpc3RhbGxrdWdlbCBpc3Q/IHVuZCB3ZW5uIGRpZSBhYmdla2xlbW10IGlzdCwga29lbm50ZSBkaWUgZGFubgplaW4gbmV0dGVyIG1hZ2llciBhdXMgZGVyIGFiZW50ZXVlcmxpc3RlIGluIGRlciBnaWxkZQplbnRmZXJuZW4/CgpoYWRyYSAtIHVuc2ljaGVyIHVuZCB2ZXJ3aXJydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgUG9ydC1OdW1tZXIgKEpvZiwgMTUuIE1haSAxOTk1LCAxMzozMToxMCk6CltWZXJsZWd0IHZvbiB0cmVmZmVuLCBKb2YsIDE1LiBNYWkgMTk5NSwgMDk6NTg6MTVdOgoKIEFiIHNvZm9ydCBpc3QgTW9yZ2VuR3JhdWVuIGF1Y2ggYXVmIFBvcnQgMjMgZXJyZWljaGJhciwgZC5oLiwgZWluIHNpbXBsZXMKdGVsbmV0IG11ZC51bmktbXVlbnN0ZXIuZGUKCiBvaG5lIEFuZ2FiZSBlaW5lcyBQb3J0cyByZWljaHQgamV0enQgenVtIEVpbmxvZ2dlbiBhdXMuCgogSm9mCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExva2FsZnVlaHJlciAoQXJhbnlhLCAxNS4gTWFpIDE5OTUsIDE2OjE1OjMzKToKIyEgcm49TnVkZWkgcnQ9ODAwNTI2MTE5CkRhcyB3YXIgamEgbWFsIGdlcGxhbnQgZnVlciBkaWUgbmV1ZSBaZWl0dW5nIChUaWdlcidzIENocm9uaWNsZSkuIERvY2ggZGEKd2VnZW4gaXJnZW5kd2VsY2hlciBVbndhZWdiYXJrZWl0ZW4gZGVyIENocm9uaWNsZSBiaXMgamV0enQgbm9jaCBuaWNodCBlci0Kc2NoZWluZW4ga29ubnRlLCBnaWJ0J3MgZGVuIHVsdGltYXRpdmVuIEtuZWlwZW4tLCBSZXN0YXVyYW50LSB1bmQgc29uc3RpZ2VuCkdhc3Ryb25vbWllZnVlaHJlciBkZXMgTW9yZ2VuR3JhdWVuIG5vY2ggbmljaHQuCgpBcmFueWEsICJDaGVmcmVkYWt0ZXVyaW4iIGRlcyBUaWdlcidzIENyb25pY2xlCihmcm9oLCBkYXNzIGVzIGRlbiBLbmVpcGVuZnVlaHJlciBmdWVyIEZyZWlidXJnIGdpYnQgOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBQb3J0LU51bW1lciAoQm9uZ28sIDE2LiBNYWkgMTk5NSwgMDg6NDE6NTMpOgojISBybj1Kb2YgcnQ9ODAwNTM3NDcwCldpZSB3YWVyZSBlcyBtaXQgZWluZW0gZWluZmFjaCAndGVsbmV0IG1nJyBkYXMgd2FlcmUgdG9sbC4gOi0pKSkKKnp3aW5rZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgUG9ydC1OdW1tZXIgKEpvZiwgMTYuIE1haSAxOTk1LCAxMDozMzowMSk6CiMhIHJuPUJvbmdvIHJ0PTgwMDYwNjUxMwogTm8gcHJvYiwgc2FnIGV1cmVuIFN5c2FkbWlucywgc2llIHNvbGxlbiBkYXMgaW4gaWhyZW4gTmFtZXNlcnZlciBlaW50cmFnZW4KOikKVmVyZ2lzcyBhYmVyIGRpZSBrdWdlbHNpY2hlcmUgV2VzdGUgbmljaHQgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyB2b20gRHNjaHVuZ2VsIChSb21pbGksIDE2LiBNYWkgMTk5NSwgMTU6MzI6MjQpOgoKV2VyIGhhdCBlcyBzaWNoIG5vY2ggbmljaHQgZ2VmcmFndD8gLi4uIFdlciB3b2xsdGUgZXMgbmljaHQKc2Nob24gaW1tZXIgbWFsIHdpc3Nlbj8gLi4uCgpXYXMgcGFzc2llcnQgbWl0IGFsbCBkZW4gd3VuZGVyc2Nob2VuZW4gV2FmZmVuLCBSdWVzdHVuZ2VuLApSaW5nZW4sIEZhY2tlbG4sIFNjaGxhYmJlci0sIFNhYmJlci0sIElyZ2VuZHdhc211bGV0dGVuLAp3ZW5uIEFybWFnZWRkb24gbWFsIHdpZWRlciB6dWdlc2NobGFnZW4gaGF0PwoKSmV0enQga29lbm5lbiBtdXRpZ2UgQWJlbnRldXJlciBkaWUgQW50d29ydCBlcmZhaHJlbiwgd2VubgpzaWUgaW4gZGVuIERzY2h1bmdlbCBhdWZicmVjaGVuLCB1bSBkZW4gZ3JvZXNzdGVuIFNjaGF0eiBpbQpNb3JnZW5HcmF1ZW4genUgZmluZGVuLgpHZXJ1ZWNodGVuIG5hY2ggc29sbGVuIGRpZSBCZXdvaG5lciBkZXIgU3RhZHQgT2hvcnQgZWluaWdlCkluZm9ybWF0aW9uZW4gdWViZXIgZGVuIFNjaGF0eiBoYWJlbi4KClZpZWwgU3Bhc3MgYmVpIGRlciBTdWNoZSB3dWVuc2NodCBFdWNoCgpSb21pbGkgLi4uLi4gRHNjaHVuZ2VsLSwgV3Vlc3Rlbi0sIFdpbGRrYXR6ZSA6LSkgdW5kIGRlciBmbGVpc3NpZ2UgdW5kCgp1bmVybXVlZGxpY2hlIFRlc3RlciB1bmQgVHlwb3N1Y2hlciAuLi4gVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgUG9ydC1OdW1tZXIgKFd1ciwgMTcuIE1haSAxOTk1LCAwMDowMToyOSk6CiMhIHJuPUpvZiBydD04MDA2MTMxODEKSG0sIGJlaSBtaXIgcmVpY2h0IHNoIG1nIGF1cy4uLi5ncnVlYmVsCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhlaW56LU1haWVyLUxlaWJuaXotUHJlaXMgKENhcmFkaHJhcywgMTcuIE1haSAxOTk1LCAwNTowMDo0MCk6CiMhIHJuPVZyYWkgcnQ9ODAwMjgzOTYzCiAgICAgICAgICAgICAgICAgICAgSGFsbG8KCj4gSW4gaWhyZXIgRG9rdG9yYXJiZWl0IGhhdCBzaWUgZWluZSBuZXVlIFRoZW9yaWUgaW0gQmVyZWljaCBkZXIKPiBBbGdlYnJhaXNjaGVuIEdlb21ldHJpZSBlbnR3aWNrZWx0LgoKTmEsIGpldHp0IHdlaXNzIGljaCBhdWNoIHdpZSBzaWUgSGlsYmVydHMgVHVybSBiYXVlbiBrb25udGUsIGF1IHdlaWEgOikKCiAgICAgICAgICAgICAgICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWUoYWxsZSBKYWhyZSB3aWVkZXIuLi4gOi0pICkgKEluZm9tYXgsIDE3LiBNYWkgMTk5NSwgMDg6MDY6NDApOgojISBybj1CYWJvb24gcnQ9ODAwMTc0OTk2CkhvZXJ0IHNpY2ggaW50ZXJlc3NhbnQgYW4uCgpJbmZvbWF4ICwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXMgdm9tIERzY2h1bmdlbCAoRmVsYWd1bmQsIDE3LiBNYWkgMTk5NSwgMTA6Mjk6MzUpOgojISBybj1Sb21pbGkgcnQ9ODAwNjMxMTQ0CkFsc28gZGllIFF1ZXN0IGtvbW10IGVjaHQgZ3V0LCBhdWNoIHdlbm4gbWFuIG9mdCB6aWVtbGljaCBnZW5hdSBoaW5zY2hhdWVuCm11c3MgOykpCkZ1ZXIgYWxsZSBkZW5lbiBub2NoIGRpZSByZWNodGUgTW90aXZhdGlvbiBmZWhsdC4uUm9taWxpIGhhdCBkYSBuZSBrbGFzc2UKUXVlc3RiZWxvaG51bmcgZWluZ2ViYXV0Li5tZWhyIHZlcnJhdCBpY2ggbmljaHQgOykpCnZpZWwgU3Bhc3Mgd3VlbnNjaHQuLi4uLi4uLi5GZWxhIDspPSAoPC0tdmFtcGlyc21pbGllKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VtaW5hciAtKyBVTUZSQUdFICstIChIYXRlLCAxNy4gTWFpIDE5OTUsIDEzOjIxOjI1KToKTGllYmVyIE11ZGRlcmlubmVuIHVuZCBsaWViZSBNdWRkZXIsCgogIGRlciBGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGUuVi4gaGF0IHZvciwgYW0gMjMuNi4xOTk1IGVpbiAKU2VtaW5hciB6dW0gTVVEIHp1IG1hY2hlbi4gRGllc2VzIHNvbGwgUHJvZ3JhbW1pZXJ1bmcsIExQQyB1bmQgYW5kZXJlcyAKYmVpbmhhbHRlbi4gRGFtaXQgd2lyIHVucyBnZW51ZWdlbmQgdm9yYmVpcmVpdGVuIGtvZW5uZW4sIGJyYXVjaGVuIHdpciAKRXVyZSBNaXRoaWxmZS4gIEltIEFuc2NobHVzcyBhbiBkaWVzZW4gQXJ0aWtlbCBzdGVodCBlaW4ga2xlaW5lciBGcmFnZWJvZ2VuLCAKd2VsY2hlciB1bnMgaGVsZmVuIHNvbGwsIEV1cmVuIFd1ZW5zY2hlbiBhbSBuYWVjaHN0ZW4genUga29tbWVuLgogIEF1cyBkZW4gZ2VzYW1tZWx0ZW4gRGF0ZW4sIHdlcmRlbiB3aXIgZWluZSBrbGVpbmUgVm9ydHJhZ3MtL1NlbWluYXJyZWloZSAKenVzYW1tZW5zdGVsbGVuLCB3ZWxjaGUgZGFubiBoaWVyIHZlcm9lZmZlbnRsaWNodCB3aXJkLiBFaW5lbiBWb3J0cmFnIG1pdApTZW1pbmFyY2hhcmFrdGVyIGthbm4gaW0gUHJpbnppcCBqZWRlciBoYWx0ZW4sIGRlciBzaWNoIGRhenUgaW4gZGVyIExhZ2UgCmZ1ZWhsdC4gIEFsc28ga2VpbmUgU2NoZXUsIHdlbm4gaWhyIGdlcm4genUgZWluZW0gYmVzdGltbXRlbiBUaGVtYSBzcHJlY2hlbiAKbW9lY2h0ZXQuCgpEaWUgZ2VzYW1tZWx0ZW4gRGF0ZW4gd2VyZGVuIG51ciBmdWVyIGRlbiBad2VjayBkZXIgRXJmYXNzdW5nIGRlciBXdWVuc2NoZQpiZW51dHp0LiBBbGxlIEFuZ2FiZW4gc2luZCBmcmVpd2lsbGlnLCBzb2xsdGVuIGFiZXIgbmFjaCBiZXN0ZW0gV2lzc2VuIHVuZApHZXdpc3NlbiBhdXNnZWZ1ZWxsdCB3ZXJkZW4sIGRhbWl0IHdpciBlaW5lbiBndXRlbiBVZWJlcmJsaWNrIGJla29tbWVuLgoKRGllc2VyIEZyYWdlYm9nZW4gcmljaHRldCBzaWNoIGFuIEFMTEUhIFdlciBrZWluZSBNb2VnbGljaGtlaXQgaGF0LCBkZW4gCkZyYWdlYm9nZW4gYXVzIGRlciBNUEEgaGVyYXVzenVob2xlbiAoY3V0JnBhc3RlKSwga2FubiBpaG4gYXVjaCBhbHMgTWFpbCAKenVnZXNjaGlja3QgYmVrb21tZW4gKE1haWwgYW4gSGF0ZSkuCgpOYWNoIGRlbSBBdXNmdWVsbGVuIGJpdHRlIGFuIGRlbiBTcGllbGVyIFNlbWluYXIgYWxzIE1haWwgc2NoaWNrZW4sIERhbmtlLgoKSGF0ZS4KCi0tIEhJRVIgQkVHSU5OVCBERVIgRlJBR0VCT0dFTiAtLQoKV2llIGhlaXNzdCBEdT8KICAqIF9fX19fX19fX19fX19fX19fCgpXZWxjaGVuIFN0YXR1cyBoYXN0IER1IGluIE1vcmdlbkdyYXVlbj8KICAqIEdhc3QgWyBdIFNwaWVsZXIgWyBdIFNlaGVyIFsgXSBNYWdpZXIgWyBdCgpCaXN0IER1IGluIGVpbmVtIE1VRCBNYWdpZXIvV2l6YXJkPwogICogamEgWyBdIG5laW4gWyBdCgpXZW5uICJqYSIsIGluIHdlbGNoZW0/CiAgKiBNb3JnZW5HcmF1ZW4gWyBdIFRBUFBtdWQgWyBdIFRVQm11ZCBbIF0gTmlnaHRGYWxsIFsgXQogICAgQW5kZXJlcyBbIF0gX19fX19fX19fX19fX19fX18gCgogIFtEaWUgZm9sZ2VuZGVuIEFuZ2FiZW4genVtIFR5cCBkZXMgTXVkcyBzaW5kIG51ciBiZWkgIkFuZGVyZXMiIG5vZXRpZyFdCgogICogV2FzIGZ1ZXIgZWluIFR5cCB2b24gTVVEIGlzdCBkYXM/CiAgICBMUG11ZCBbIF0gTVVTSC9NT08vVGlueS9ldGMgWyBdCgogICogRnVlciAiTFBtdWQiLCB3ZWxjaGUgQXJ0IHZvbiBTeXN0ZW0gd2lyZCBkb3J0IGdlZmFocmVuPwogICAgQW15bGFhciBbIF0gb2RlciBNdWRPUyBbIF0gR2FtZWRyaXZlcj8KICAgICAgKyBDT01QQVQgTU9ERSBbIF0gKG5pY2h0IHVudGVyIE11ZE9TKQogICAgICArIE5BVElWRSBNT0RFIFsgXQogICAgICArIE11ZExpYjogX19fX19fX19fX19fX19fIChtZWlzdCBpZGVudGlzY2ggbWl0IGRlbSBNVURuYW1lbikKCkhhc3QgRHUgRXJmYWhydW5nIGltIFByb2dyYW1taWVyZW4/CiAgKiBqYSBbIF0gbmVpbiBbIF0KIApXZW5uICJqYSIsIHdlbGNoZXIgQXJ0PwogICogTFBDICAgWyBdCiAgKiBCQVNJQyBbIF0gUEFTQ0FMIFsgXSBDT0JPTCBbIF0gQyBbIF0gQysrIFsgXSBTbWFsbFRhbGsgWyBdIFByb2xvZyBbIF0KCiAgKiBBbmRlcmUgU3ByYWNoZShuKTogX19fX19fX19fX19fX18KCiAgKiBXaWUgc2NoYWV0enQgRHUgRGVpbiBLb2VubmVuIGVpbj8KICAgICsgbWluaW1hbCBbIF0gZ3V0IFsgXSBzZWhyIGd1dCBbIF0gcGVyZmVrdCBbIF0KCldhcyBpbnRlcmVzc2llcnQgRGljaCBhbSBtZWlzdGVuIGhpbnNpY2h0bGljaCBQcm9ncmFtbWllcnVuZz8KICAqIEdydW5kbGFnZW4gZGVyIFByb2dyYW1taWVydW5nIC4uLi4uLi4uLi4uLi4uLiBbIF0gKEMgYWxzIEJhc2lzKQogICogR3J1bmRsYWdlbiBPYmpla3RPcmllbnRpZXJlciBQcm9ncmFtbWllcnVuZyAuIFsgXSAoQysrL0xQQyBpbSBWZXJnbGVpY2gpCiAgKiBEZXIgR2FtZURyaXZlciAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gWyBdIAogICogUHJvZ3JhbW1pZXJ1bmcgaW4gTFBDIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIFsgXSAoQyBLZW5udG5pcyB2b3JhdXNnZXNldHp0KQogICogR3J1bmRsZWdlbmRlIE1ldGhvZGVuIGRlciBNdWRMSUIgKE1HKSAuLi4uLi4uIFsgXSAoUHJvcGVydGllcywgRGFlbW9uZW4pCiAgKiBBbndlbmR1bmcgZGVyIE11ZExJQiAoTUcpIC4uLi4uLi4uLi4uLi4uLi4uLi4gWyBdIChSYWV1bWUsIE9iamVrdGUsIE5QQ3MpCiAgKiBFZmZpemllbnogdW5kIE9wdGltaWVydW5nIC4uLi4uLi4uLi4uLi4uLi4uLi4gWyBdCiAgKiBBbmRlcmVzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gWyBdICh2aXJ0dWVsbGVzIGV0YykKICAgIFdhcz8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKR2lidCBlcyBhbmRlcmUgV3VlbnNjaGUsIHdhcyB6dSBkaXNrdXRpZXJlbiB3YWVyZT8KICAqIEdpbGRlbiBpbiBNb3JnZW5HcmF1ZW4gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBbIF0KICAqIFphdWJlcnRyYWVua2UgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBbIF0KICAqIFJhc3NlbiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBbIF0KICAqIFdhcyBzb25zdCBub2NoIGluIGRlciBGQVEgc3RlaHQgLi4uLi4uLi4uLi4uLiBbIF0KICAqIEFuZGVyZXMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBbIF0KICAgIFdhcz8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKSGFiZW4gd2lyIGV0d2FzIHZlcmdlc3Nlbj8KCiAgKiBXYXM/IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCi0tIEhJRVIgRU5ERVQgREVSIEZSQUdFQk9HRU4gLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZSBQb3J0LU51bW1lciAoSmltZGlncml6LCAxNy4gTWFpIDE5OTUsIDEzOjIzOjIzKToKIyEgcm49Qm9uZ28gcnQ9ODAwNjA2NTEzCk5vIFByYiwgbWFjaCBEaXIgZWluIGhvc3RhbGlhcyA7LSkKCmN1CiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpULUxpc3RlbiAoQ2F0d2VhemxlLCAxNy4gTWFpIDE5OTUsIDEzOjIzOjUzKToKSGkhCk9rb2ssIGVzIF9naWJ0XyBaVC1MaXN0ZW4sIHNpZSBzaW5kIHdhaHJsaWNoIG5pY2h0IHRvbGwsIG1hY2hlbiBkZW4gZ2FuemVuClNwaWVsc3Bhc3Mga2FwdXR0IHVuZCBpY2ggYmluIG1pciBhdWNoIGdhciBuaWNodCBzaWNoZXIsIG9iIGRpZSBuaWNodCBzb2dhcgp2ZXJib3RlbiBzaW5kLgpBYmVyIGljaCBoYWIgbmV1bGljaCB2b24gZWluZW0gZ3JlcCBlcmZhaHJlbiwgZGVyIG9mZmVuYmFydCBoYWJlbiBzb2xsLApkYXMgZGllc2UgbmljaHQgZ2VyYWRlIGtsZWluZSBMaXN0ZSBoaWVyIGluIGRlbiBNYWlsZmFlY2hlcm4gcnVtbGllZ3QuClVuZCB6d2FyIGhhdCBqZWRlciBaRUhOVEUgU3BpZWxlciBlaW5lIHZvbiBkZW4gRGluZ2VybiEKRGFzIG11c3MgbmljaHQgc2Vpbi4gV2VubiBpaHIgYWxzbyB1bmJlZGluZ3QgRXVyZSBwcml2YXRlIExpc3RlIGhhYmVuIHdvbGx0LApkYW5uIGtvcGllcnQgZGllIGJpdHRlIGF1cyBkZW0gbXVkIHJhdXMsIGFiZXIgbGFzc3Qgc2llIG5pY2h0IGhpZXIgbGllZ2VuLApkYXMgZnJpc3N0IFVubWVuZ2VuIHZvbiBQbGF0eiAoQWVoLCBpaHIgZHVlcmZ0IHNvd2llc28ga2VpbmUgbWFpbCB1ZWJlciA1MGsKaGllciBsaWVnZW4gaGFiZW4sIHdpc3N0IGlociBkb2NoIG5vY2gsIG9kZXI/KS4KQWxzbyB3ZWcgbWl0IGRlbiBEaW5nZXJuLCB3ZW5uIGRhcyBuaWNodCBiZXNzZXIgd2lyZCwgZGFubiBtdWVzc2VuIHdpciBtYWwKSGFuZCBhbiBkaWUgc2F2ZWZpbGVzIGxlZ2VuLCB1bmQgZGFzIHdvbGx0IGlociBkb2NoIG5pY2h0LCBvZGVyPwoKWW91cnMgdHJ1bHksCiAgICAgICAgQ2F0d2VhemxlCgpQUzogQWNoc28sIG5pY2h0IGRhcyBpaHIgZGVua3QsIGplbWFuZCBoYWV0dGUgRXVyZSBtYWlsIGR1cmNoZ2VibGFldHRlcnQuCiAgICBEYXMgd2FyIGVpbmUgZ3JlcC1zdWNoZSBuYWNoIGVpbmVtIHNwZXppZWxsZW4gWlQtQmVmZWhsLiBpY2ggd2V0dGUgZGFiZWkKICAgIHNpbmQgbmljaHQgbWFsIGFsbGUgcmF1c2dla29tbWVuLCBkaWUgX3dpcmtsaWNoXyBlaW5zIGhhYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1OZXVlcnVuZ2VuIChUcmFqYW4sIDE4LiBNYWkgMTk5NSwgMTc6MDU6MzgpOgoKICBFaW4gSGkgYW4gYWxsZSB1bmQgZWluZW4gU3VwZXItS251ZGRsZXIgKGZ1ZXIgYWxsZSBkaWUncyBnZXJuIGhhYmVuKSwKCgoKICAgIGljaCBoYWInIGRhIG1hbCBlaW4gcGFhciBWb3JzY2hsYWVnZSB1bSBkYXMgTUctTGViZW4gZXR3YXMgenUgZXItCiAgICBsZWljaHRlcm4uIDopCgogICAgMS4gRnJ5ZGVyIGhhdHRlIHNpY2ggYmVyZWl0ZXJrbGFlcnQsIGZ1ZXIgYWxsZSBpbnRlcmVzc2llcnRlbiBlaW5lCiAgICAgICBSTC1MaXN0ZSB6dSBzY2hyZWliZW4sIGluIGRlciBwZXJzb2VubGljaGUgQW5nYWJlbiB6dXIgUGVyc29uCiAgICAgICBzdGVoZW4uIEljaCBmaW5kZSBkYXMgZWluZSBlY2h0IGd1dGUgU2FjaGUuCgogICAgICAgTWVpbmUgRnJhZ2U6IFdhZXJlIGVzIG5pY2h0IGVpbmZhY2hlciwgd2VubiBqZWRlciBzZWluZSBwZXJzb2VuLQogICAgICAgICAgICAgICAgICAgIGxpY2hlbiBEYXRlbiBzZWxiZXIgZWluZ2ViZW4ga29lbm50ZSB1bmQgZGllc2UgZGFubgogICAgICAgICAgICAgICAgICAgIG1pdHRlbHMgJ2ZpbmdlcicgSkVERVIgc2VoZW4ga2Fubj8KCiAgICAgICBIaW53ZWlzOiB1bnRlciBwZXJzb2VubGljaGUgQW5nYWJlbiB2ZXJzdGVoZSBpY2g6CgogICAgICAgICAgICAgTmFtZSAvIFZvcm5hbWUgLyBSTC1BZHJlc3NlIChTdHJhc3plLCBOdW1tZXIsIFBMWiwgT3J0KSAvCiAgICAgICAgICAgICBlTWFpbCAvIFRlbGVmb24gLwogICAgICAgICAgICAgZXZlbnR1ZWxsIG5vY2ggZWluZSBMaXN0ZSB1ZWJlciAydGllcywgM3RpZXMgZXRjLgoKCiAgICAgICBEaWVzZSBBbmdhYmVuIHNvbGx0ZSBtYW4gZ2V0cmVubnQgYXVmcnVmZW4ga29lbm5lbi4gTWFuY2hlcgogICAgICAgbW9lY2h0ZSB2aWVsbGVpY2h0IG5pY2h0IHNlaW5lIFN0cmFzemUgdW5kIEhhdXNudW1tZXIgYmVrYW5udGdlYmVuLgogICAgICAgVW5kIHdlciBCZWRlbmtlbiB3ZWdlbiBkZXMgRGF0ZW5zY2h1dHplcyBoYXQsIHNvbGx0ZSBlYmVuIHNlaW5lCiAgICAgICBwZXJzLiBBbmdhYmVuIG5pY2h0ICJ2ZXJvZWZmZW50bGljaGVuIiA6KS4KCiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgICBGYWxscyBlaW4gTWFnaWVyIEJlZGVua2VuIHdlZ2VuIGRlcyBTcGVpY2hlcnMgaGF0LCBrb2VubnRlIG1hbgogICAgICAgamEgZnVlciBqZWRlbiBEYXRlbnNhdHogZWluZSBtYXhpbWFsZSBBbnphaGwgdm9uIFplaWNoZW4gdmVyZWluYmFyZW4uCiAgICAgICAoV2VyIGhhdCBpbSBOb3JtYWxmYWxsIGVpbmVuIE5hY2huYW1lbiwgZGVyIGxhZW5nZXIgYWxzIDIwIFplaWNoZW4KICAgICAgIGlzdD8pCgoKCgogICAgIEljaCBtb2VjaHRlIEV1Y2ggYml0dGVuLCBtZWluZSBBbnJlZ3VuZ2VuIG5pY2h0IGdsZWljaCBpbiAxMDAwCiAgICAgU3R1ZWNrZSB6dSB6ZXJyZWlzemVuIHVuZCBpbSBFbmRlZmZla3QgNTAgUmUncyB6dSBoYWJlbi4gTWFjaHQKICAgICBFdWNoIG1hbCBHZWRhbmtlbiBkYXJ1ZWJlci4gVmllbGxlaWNodCBrYW5uIG1hbiBkYXMgZWluZSBvZGVyCiAgICAgYW5kZXJlIHVtc2V0enRlbi4gVmllbGxlaWNodCBoYXQgamEgbm9jaCBqZW1hbmQgSWRlZW4gZnVlciBhbmRlcmUKICAgICBOZXVlcnVuZ2VuLgoKCgogICAgIENpYW8sIFRyYWphbi4KCiAgICAgUFM6IERhbmtlIGZ1ZXIgZGllIE11ZWhlLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlIFBvcnQtTnVtbWVyIChJY2V0LCAxOC4gTWFpIDE5OTUsIDE4OjMzOjA4KToKIyEgcm49V3VyIHJ0PTgwMDY2MTY4OQptYWNoIGVyaW5tYWwgImNobW9kICt4IG1nIiB1bmQgZHUga2FubnN0IGRhcyBzaCB2b3IgZGVtIG1nIGF1Y2ggdmVyZ2Vzc2VuLApXdXIgOy0pCgotSWNlVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLU5ldWVydW5nZW4gKEFzbW9kaXMsIDE4LiBNYWkgMTk5NSwgMjE6MDY6MjQpOgojISBybj1UcmFqYW4gcnQ9ODAwODA5NTM4CkFlaCwgZHUgaGFzdCBLb250b251bW1lciwgQmFua2xlaXR6YWhsIHVuZCBHZWhlaW16YWhsIGRlciBFQy1LYXJ0ZQp2ZXJnZXNzZW4gOikKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQm9pbmcgTlBDISAoTW9zaCwgMTkuIE1haSAxOTk1LCAwODoyMToyNik6ClZvcnNpY2h0IHZvciBkZW0gQm9pbmcgYmVpbSBmaW5kbGluZ3NzdGVpbjoKaGF0IG1pciBtaXQgZWluZW0gc2NobGFnIDIyNiBMUHMgYWJnZXpvZ2VuIChvZGVyIG1laHI/IGtlaW5lIGFobnVuZzoKaGFiZSBOVVIgMjI2ISEgKQogICBNb3NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIFNlaGVyIHVuZCBPcmtlbmhvcnQtUXVlc3QgKEFydHksIDE5LiBNYWkgMTk5NSwgMTQ6Mzc6MDIpOgpIYWxsbyBMZXV0ZSAhCkljaCBtb2VjaHRlIGF1cyBnZWdlYmVuZW0gQW5sYXNzIG1hbCBkYXJhdWZoaW53ZWlzZW4sIGRhc3MgYmVpIGRlbiBTZWhlcm4gZGllCmJlaSBPcmtlbmhvcnQgZGVuICJsYW5nZW4iIFdlZyBnZXdhZWhsdCBoYWJlbiwgZGFzICJzZXRtaW4iIGVyc3QgbmFjaCBlaW5lbQoiZW5kZSIgd2llZGVyIGZ1bmt0aW9uaWVydC4gQW5zb25zdGVuIHN0ZWh0IGltbWVyIGRhICIuLi4uc2Nod2VidCBoZXJlaW4iCihvZGVyIHNvKSAhCkRlbSBNYWdpZXJuIGlzdCBkaWVzZXIgQnVnIGFsbGVyZGluZ3MgYmVrYW5udCwgZXMgd2lyZCB3b2hsIGRyYW4gZ2VhcmJlaXRldCAhCgpWaWVsIFNwYXNzIGJlaSBkaWVzZXIgUXVlc3Qgd3VlbnNjaHQgRXVjaAoKQVJUWS4gKGltIG1vbSBlaW56aWdlciBTcGllbGVyIG1pdCB1ZWJlciAxNzAwIEFQICA6LT4gICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1OZXVlcnVuZ2VuIChMb2NvLCAxOS4gTWFpIDE5OTUsIDE0OjM3OjQ0KToKIyEgcm49VHJhamFuIHJ0PTgwMDgwOTUzOApWaWVsZSBTZWhlciB1bmQgTWFnaWVyIGhhYmVuIGlocmUgQWRyZXNzZSBpbiBkZXIgLnBsYW4gc3RlaGVuLCBkaWUgYWxsZXJkaW5ncwp3aWVkZXIgbnVyIFNlaGVyIHVuZCBNYWdpZXIgbGVzZW4ga29lbm5lbi4KVHJhamFuJ3MgVm9yc2NobGFnIHd1ZXJkZSBpY2ggbWFsIHNvIHVtZm9ybXVsaWVyZW46IFdpZSB3YWVyZSBlcywgenVzYWV0emxpY2gKenUgUHJvamVrdCB1bmQgUGxhbiBhdWNoIG5vY2ggZWluZSAuYWRkcmVzcyBlaW56dWZ1ZWhyZW4sIGluIGRpZSBzaWNoIGplZGVyClNwaWVsZXIgKGViZW4gYXVjaCBTcGllbGVyKSBzZWluZSBBZHJlc3NlIGVpbnRyYWdlbiBrYW5uLCB6LkIuIHVlYmVyIGVpbgpPYmpla3QsIGRhcyBkZW0gUGxhbmVkaXRvciBmdWVyIFNlaGVyIGVudHNwcmljaHQ/ClRlY2huaXNjaCB3YWVyZSBkYXMgd29obCBkaWUgZWluZmFjaHN0ZSBMb2VzdW5nLiBXZW5uIGpldHp0IGtlaW5lIEVpbnNwcnVlY2hlCmtvbW1lbiwgYmF1IGljaCBkYXMgZGVtbmFlY2hzdCBlaW4gKG5pY2h0IHZvciBuYWVjaHN0ZW0gRnJlaXRhZywgYWxzbyBlcnN0LAp3ZW5uIGljaCBtZWluZSBFeHBoeXNpay1QcnVlZnVuZyBob2ZmZW50bGljaCBiZXN0YW5kZW4gaGFiZS4uLikKTWVpbiBWb3JzY2hsYWc6IGZpbmdlciA8c3BpZWxlcj4gemVpZ3QgLnBsYW4gdW5kIC5hZGRyZXNzIGFuLCBPcHRpb24gLW4KbGFlc3N0IGJlaWRlcyB3ZWcsIG5ldWUgT3B0aW9uIC1hIHplaWd0IC5hZGRyZXNzIGFuLiBLb21iaW5hdGlvbiAtbiAtcCBvZGVyIC1uCi1hIHNpbmQgbW9lZ2xpY2gsIHVtIG51ciBlaW5zIHZvbiBiZWlkZW0gYW56dXplaWdlbi4KT2ZmZW5lIEZyYWdlOiBTb2xsIG1hbiBkaWUgQWRyZXNzZSBhdWNoIHZvbiBhbmRlcmVuIG11ZHMgb2RlciB1ZWJlciBkYXMgV1dXCmxlc2VuIGtvZW5uZW4/CgpCaXMgZGFubiwKICAgICAgICAgICBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlciBTZWhlciB1bmQgT3JrZW5ob3J0LVF1ZXN0IChSeW5lLCAxOS4gTWFpIDE5OTUsIDE0OjUwOjQ1KToKIyEgcm49QXJ0eSBydD04MDA4ODcwMjIKaGVoZS4uLi4KCj4gZWluemlnZXIgc2VoZXIgbWl0IHVlYnIgMTcwMCBBcCBpc3QgYXJ0eS4uLi4KCmFiZXIgbnVyIDEyIG1pbnV0ZW4gbGFuZyA7KQoKR3JpbnNlbmQsCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdWVyIFNlaGVyIHVuZCBPcmtlbmhvcnQtUXVlc3QgKEFydHksIDE5LiBNYWkgMTk5NSwgMTY6MTA6MTQpOgojISBybj1BcnR5IHJ0PTgwMDg5MjQ4NQpUamEgUllORSwgc3RpbW10IGxlaWRlciBuaWNodCBnYW56IGRlaW5lIEF1c3NhZ2UsIGVzIHdhcmVuIHVlYmVyIDEyIFN0dW5kZW4KOi0pLgoKQVJUWSAqZ3JpbnNlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGdWVyIFNlaGVyIHVuZCBPcmtlbmhvcnQtUXVlc3QgKEZlbGFndW5kLCAxOS4gTWFpIDE5OTUsIDE5OjA5OjE0KToKIyEgcm49QXJ0eSBydD04MDA4OTI2MTQKRGF6dSBrYW5uIGljaCBudXIgZWlucyBzYWdlbjoKRVJTVEVSIFNlaGVyIG1pdCB1ZWJlciAxNzAwIEFQIHdhciBqYSB3b2hsIG51ciBlaW5lciA7KQpVbmQgZGFzIGthbm4gbWlyIHdlbmlnc3RlbnMga2VpbmVyIG5laG1lbiA7KSkKRmVsYWd1bmQuLi4uLi5oYXQgamV0enQgZ3V0IGxhY2hlbiwgd2VpbCBlciBNQUcgaXMgOykpKQpQLlMuIG5pY2h0IGRhc3MgaWhyIGRlbmt0LCBpaHIga29tbXQgb2huZSBWYW1waXJzbWlsaWUgZGF2b24gOyk9CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYW5hbCAoR3JpbW1ib3JuLCAyMS4gTWFpIDE5OTUsIDAyOjIzOjE1KToKCkZvbGdlbmRlcyBpc3QgbWlyIHp1IGRlbiBLYW5hZWxlbiBpbiBsZXR6dGVyIFplaXQgYXVmZ2VmYWxsZW46CkFsbGdlbWVpbiBibG9la3QgaW1tZXIgbm9jaCB6dSBqZWRlciBTdHVuZGUsIGRhc3MgZGllIE5hY2hyaWNodGVuIGthZW1lbi4gRGFzCnR1biBzaWUgYWJlciBuaWNodCAod2llc28/IEljaCBiaW4gaGllciBpbSBBdXNsYW5kIG9obmUgemllbWxpY2gKdW5pbmZvcm1pZXJ0Li4pCkRlciBJbnRlcm11ZGthbmFsIGlzdCBlaW4gbmV0dGVyLCB3ZWl0ZXJlciBLYW5hbCBpbm5lcmhhbGIgTUcuIE1hbiBob2VydCB6d2FyCnZvbiBhdXNzZW4sIHdpcmQgYWJlciBzZWxiZXIgbmljaHQgZ2Vob2VydCBhdXNzZXJoYWxiIE1HLiBXb3JhbiBsaWVndHMsIHNvbGwKZGFzIHNvIHNlaW4sIHdpcmQgZGFzIGJlaG9iZW4/IDstKQpEYSB3YXIgZG9jaCBub2Nod2FzPyBGYWVsbHQgbWlyIG5pY2h0IGVpbiwgZXJzdCByZWNodCBuaWNodCB1bSBkaWVzZSBaZWl0LAp2aWVsbGVpY2h0IHdhcnMgZGFzIGphIGF1Y2ggc2Nob24uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi0tLS1TYXVlcmVpLS0tLSAoRmF1bGksIDIyLiBNYWkgMTk5NSwgMDk6MzM6MDcpOgpJY2ggZmluZGUgZXMgZWluZSBTYXVlcmVpLCB3ZW5uIG1hbmNoZSBTZWhlciBzaWNoIG1pdCBJaHJlbSBad2VpdGkgaW4gZGllCkJldHRlbiBkZXIgQmVyZ2h1ZXR0ZSBsZWdlbiB1bmQgVGFnZWxhbmcgc2ljaCBnZWdlbnNlaXRpZyBtZXR6ZWxuLiBEaWVzIGlzdAp1bXNvIHVudmVyc2NoYWVtdGVyLCBkYSBTaWUgbmljaHQgZWlubWFsIGRyYXVmIHJlYWdpZXJlbiwgd2VubiBlaW4gYW5kZXJlcgpTcGllbGVyIFNpZSBhbnNwcmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgTGFnIChKb2YsIDIyLiBNYWkgMTk5NSwgMTQ6NDc6MTYpOgoKIERpZSBha3R1ZWxsZW4gTGFncyBsaWVnZW4gaW4gUHJvYmxlbWVuIGRlcyBJbnRlcm5ldHMgYmVncnVlbmRldC4gSWNoIGhhYgpiZWkKZGVuIFdBTi1MZXV0ZW4gdW5zZXJlcyBSWnMgbmFjaGdlZnJhZ3QsIHVuZCBkaWUga29ubnRlbiBkYXMgYXVjaCBlcmtsYWVyZW46CgogVm9yIDMgV29jaGVuIG9kZXIgc28gd3VyZGUgZWluZSBuZXVlICdUcnVuay1MZWl0dW5nJyB2b24gSGFubm92ZXIgbmFjaApEb3J0bXVuZCBmdWVyIGRhcyBXaU4gaW4gQmV0cmllYiBnZW5vbW1lbi4gRGllIFVuaSBNdWVuc3RlciBpc3QgdmlhIERvcnRtdW5kCmFucyBXaU4gYW5nZWJ1bmRlbjsgZG9ydGhpbiB1bnRlcmhhZWx0IHNpZSAocGh5c2lrYWxpc2NoKSBlaW5lIFN0YW5kbGVpdHVuZwptaXQgMiBNYml0IChBbm1lcmt1bmc6IGRpZSBLbm90ZW4sIHVlYmVyIGRpZSBkaWUgUGFrZXRlIGxhdWZlbiwgdGF1Y2hlbiBuaWNodAphbGxlIGltIFRyYWNlcm91dGUgYXVmLCBkYSBlcyBzaWNoIG9mdCBudXIgdW0gVGVsZWtvbS1Td2l0Y2hlcyBoYW5kZWx0LCBkaWUKZWluZSBFYmVuZSB1bnRlciBkZW0gbGllZ2VuLCB3YXMgYmVpIFRyYWNlcm91dGUgYXVmdGF1Y2h0KS4gRGVyIGdyb2Vzc3RlIFRlaWwKZGVzIE11ZW5zdGVyYW5lciBJUC1WZXJrZWhycyB3aXJkIHVlYmVyIER1ZXNzZWxkb3JmIGFiZ2V3aWNrZWx0LiBEYXp1IGdpYnQKZXMgMiAyIE1CaXQtTGVpdHVuZ2VuIHZvbiBEb3J0bXVuZCBuYWNoIER1ZXNzZWxkb3JmLiBCaXMgdm9yIGt1cnplbSB3dXJkZW4KZGllc2UgYXVzc2NobGllc3NsaWNoIHZvbiBkZXIgVW5pIE11ZW5zdGVyIHVuZCBkZXIgVW5pIEJvY2h1bSBnZW51dHp0LgpTZWl0IGRlciBJbmJldHJpZWJuYWhtZSBkZXIgbmV1ZW4gTGVpdHVuZyBIYW5ub3ZlciAtIERvcnRtLiB3aXJkIHp1bWluZGVzdApkZXIKZ2VzYW10ZSBBdXNsYW5kc3ZlcmtlaHIgZGVyIFVuaXMgaW4gZGVuIG9lc3RsaWNoZW4gQnVuZGVzbGFlbmRlcm4gdWViZXIgZGllc2UKYmVpZGVuIExlaXR1bmdlbiBiZXdlZ3QuIFNlaXRkZW0gc2luZCBkaWUgQW50d29ydHplaXRlbiBiZWkgTmV0emtvbW11bmlrYXRpb24KbWl0IGRlciBVbmkgTXVlbnN0ZXIgdm9uIGRlbiBtZWlzc3RlbiBVbmlzIGF1cyB1bmFremVwdGFiZWwgbGFuZ3NhbQoodWVicmlnZW5zCmlzdCBuYXR1ZXJsaWNoIGF1Y2ggZGllIFVuaSBCb2NodW0gYmV0cm9mZmVuOyB6dWdsZWljaCBpc3QgZGllIExlaXR1bmcgTVMtPgpCb2NodW0gc2NobmVsbCB3aWUgbmllIC4uLjsgZWluaWdlIFZlcmJpbmR1bmdlbiBuYWNoIE1TIGJ6dyBCb2NodW0gc2luZAphdWNoIG5vY2ggc2VociBzY2huZWxsLCBzbyB6Qi4gRXJsYW5nZW4sIE1hZ2RlYnVyZyAuLi4gZWJlbiBhbGxlcyB3YXMgbmljaHQKdmlhIER1ZXNzZWxkb3JmIGdlaHQpLiBEaWUgUHJvYmxlbWUgc2luZCBkZW0gREZOIGJla2FubnQ7IG5hY2ggTG9lc3VuZ2VuCndpcmQgZ2VzdWNodC4gRXMga2FubiBhbiB1ZWJlcmxhc3RldGVuIExlaXR1bmdlbiwgdWViZXJsYXN0ZXRlbiBTd2l0Y2hlcwpvZGVyIFJ1ZWNrc3RhdXMgZHVyY2ggZGllIHVlYmVybGFzdGV0ZSBVZWJlcnNlZS1MZWl0dW5nIGxpZWdlbi4gQXVzbG9lc2VyCmRhZnVlciBpc3Qgd29obCBpbiBqZWRlbSBGYWxsIGRhcyBkYWVtbGljaGUgV1dXOyB3ZW5uIGFsbGUgTGV1dGUgQmlsZGNoZW4KemllaGVuIG11ZXNzZW4sIGthbm4gZGFzIG5pY2h0IGd1dGdlaGVuIDooKCggV2VubiBpaHIgYWxzbyBlaW5lbiBtaXQKbW9zYWljIG9kZXIgbmV0c2NhcGUgb2RlciBzb25zdGlnZW0gV1dXLVpldWcgc3BpZWxlbiBzZWh0LCBzZWh0IGlociBlaW5lbgpMYWctVmVyc2NodWxkZXIgOikpIFN0ZWluaWd0IGlobiEhISA6KQoKSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlciAnemVpZ2UnLUJlZmVobCAoSm9mLCAyMi4gTWFpIDE5OTUsIDE3OjI2OjM3KToKCiBJY2ggaGFiIGF1ZiBXdW5zY2ggZWluaWdlciBTcGllbGVyIGVpbmVuICd6ZWlnZSctQmVmZWhsIGVpbmdlYmF1dDoKCiBNaXQgJ3plaWdlIDxzcGllbGVyPiA8b2JqZWt0PicgemVpZ3QgbWFuIGVpbmVtIFNwaWVsZXIgZWluZW4gR2VnZW5zdGFuZC4KWkI6CgogemVpZ2Ugam9mIGh5ZHJhaG9lcm5lcgoKIHdlbm4gbWFuIHN0b2x6IGF1ZiBzZWxiaWdlIGlzdCA6KQoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFiZ2VibGFzZW4gKFBpbGdyaW0sIDIyLiBNYWkgMTk5NSwgMTc6NDE6MzMpOgojISBybj1DcmFpZyBydD04MDExNDc0MzYKSGksCgp3YWVyZSBlcyBuaWNodCBzaW5udm9sbGVyLCBhdWNoIGRpZSBsb25nLWRlc2NyaXB0aW9uIG1pdCBkZW0gemVpZ2UtYmVmZWhsIHp1CnplaWdlbiAuLi4gd2FzIGRlciB6ZWlnZS1iZWZlaGwgamV0enQgbWFjaHQsIGthbm4gbWFuIGF1ZiBwZXIgZW1vdC9hbGlhcwptYWNoZW4gLi4uCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctTmV1ZXJ1bmdlbiAoQXJhbnlhLCAyMi4gTWFpIDE5OTUsIDIwOjA5OjE5KToKIyEgcm49QXNtb2RpcyBydD04MDA4MjM5ODQKRGllIElkZWUgZmluZCBpY2ggYXVjaCBnYW56IG5ldHQuIE1hbiBrYW5uIGphIGVpbmZhY2ggZGFzIHZlcm9lZmZlbnRsaWNoZW4sCndvenUgbWFuIEx1c3QgaGF0LiBBbGxlIGFuZGVyZW4gQW5nYWJlbiBtYWNodCBtYW4gZWluZmFjaCBuaWNodC4KUkwtTmFtZTogQW5kaSBOb3JtYWx1c2VyClN0cmFzc2U6IEN5YmVyd2VnIDE1Ck9ydCA0MzU2NCBNb3JnZW5HcmF1ZW4KVGVsOiBTYWNoIGljaCBuaWNodAoyLXRpZXM6IFNhY2ggaWNoIG5pY2h0CkJlcnVmOiBTYWNoIGljaCBlcnN0IHJlY2h0IG5pY2h0IQoKVW5kIHNvIHdlaXRlcgoKQXJhbnlhCiAgICAgICB3YWVyIGRhZnVlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2VsdHNhbWUgbWVsZHVuZyAoUmVpbmVsZGUsIDIyLiBNYWkgMTk5NSwgMjA6Mzk6NTQpOgpoaSBtdWRkaWVzLAoKaW4gbGV0emVyIHplaXQgaGFiIGljaCBkZXMgb2VmdGVyZW4gbWFsIGZvbGdlbmRlIG1lbGR1bmcgYmVrb21tZW46Cgo+IERhcyBrYW5uIGRvY2ggbmljaHQgRGVpbiBFcm5zdCBzZWluIC0gbWl0IERlaW5lciBTdGFlcmtlIHd1ZXJkZXN0IER1IHVudGVyCmRlciBMYXN0IGRpZXNlcyBTY2h3ZXJ0ZXMgYmVpbSBlcnN0ZW4gS2FtcGYgenVzYW1tZW5icmVjaGVuIQoKc2NobmVsbCBtYWwgaW0gaW52ZW50b3J5IG5hY2hnZXNjaGF1dCB1bmQga2VpbiBzY2h3ZXJ0IGRhLiB3YXMgc29sbCBpY2ggYWxzCmthcmF0ZWthIGF1Y2ggZGFtaXQuIHdlciBrYW5uIG1pciBhbHNvIGVya2xhZXJlbiB3b2hlciBkYXMga29tbXQuCgpyZWluZWxkZSAtIHNjaHdlcnRsb3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLU5ldWVydW5nZW4gKFNjaHJ1bXBmaSwgMjMuIE1haSAxOTk1LCAwMTozMToyMyk6CiMhIHJuPUFyYW55YSBydD04MDExNjYxNTkKU28gZ2VzZWhlbiBmaW5kIGljaCBkYXMgYXVjaCB3aXR6aWcuIEhhc3QgbWljaCB1ZWJlcnpldWd0ISA6LSkKU2NocnVtcGZpCiAgICAgIHdhZXIgaXJnZW5kd2llIGF1Y2ggZGFmdWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIExhZyAoQmxvb2R5aGFycnksIDIzLiBNYWkgMTk5NSwgMTA6MTA6MzYpOgojISBybj1Kb2YgcnQ9ODAxMTQ2ODM2CkhhbGxvIEpvZiwKCmljaCBiaW4gaW4gRG9ydG11bmQuIFdlbm4gZXMgZGVubiBtYWwgd2llZGVyIGVpbiBMYWcgZ2FiLCBoYWJlIGljaCBtZWlzc3QKZ2xlaWNoIGRhcmF1ZiBlaW4gdHJhY2Vyb3V0ZSBnZXN0YXJ0ZXQuIFNlaHIgb2Z0IHdhciBOQkZNQVRIRSBkZXIgU2NodWxkaWdlCmdld2VzZW4uIEdpYnRzIGRhIE1vc2FpayBkcmF1Zj8KCmNpYW8sIEJsb29keSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXMgTGFnIChKb2YsIDIzLiBNYWkgMTk5NSwgMTE6NTI6MzIpOgojISBybj1CbG9vZHloYXJyeSBydD04MDEyMTY2MzYKCiBIbSwgTkJGTUFUSEUgaXN0IGRlciBSb3V0ZXIgZGVyIE1hdGhlbWF0aWsgKGRpZSBlaW5lIFNlaXRlLCB2b24gdW5zCmF1cyBoZWlzc3QgZGVyIE5CT01BVEhFKS4gTm9ybWFsZXJ3ZWlzZSBzb2xsdGUgZGVyIG5pY2h0IGRlciAnc2NodWxkaWdlJyBzZWluCnNvbmRlcm4gZGVyIHZvcmhlciAoV0lOSVAtMiBvZGVyIFgyNS1JUCkuIFZvbiB1bnMgYXVzIHNpZWh0IGVpbiBUcmFjZSB6dQpldWNoIHNvIGF1czoKCltkdXJpbl1+ICMgdHJhY2Vyb3V0ZSAxMjkuMjE3LjEyOC43MQp0cmFjZXJvdXRlIHRvIDEyOS4yMTcuMTI4LjcxICgxMjkuMjE3LjEyOC43MSksIDMwIGhvcHMgbWF4LCA0MCBieXRlIHBhY2tldHMKIDEgIE5CT01BVEhFLlVOSS1NVUVOU1RFUi5ERSAoMTI4LjE3Ni4xMjAuNikgIDYgbXMgIDIgbXMgIDEgbXMKIDIgIFdJTklQLTIuVU5JLU1VRU5TVEVSLkRFICgxMjguMTc2LjIuMTQ1KSAgMyBtcyAgNyBtcyAgMiBtcwogMyAgSVBHVy0xLlVOSS1NVUVOU1RFUi5ERSAoMTI4LjE3Ni4yLjE0OSkgIDMgbXMgIDIgbXMgIDMgbXMKIDQgIGNpc2NvLXVuaWR1aS51bmktZHVpc2J1cmcuZGUgKDE4OC4xLjEzMi4xODkpICAyNCBtcyAgMjYgbXMgIDMwIG1zCiA1ICBXaU4tZ3cuSFJaLlVuaS1Eb3J0bXVuZC5ERSAoMTkyLjM1LjcxLjUpICAxMDUxIG1zICAxMjIyIG1zICAxMzExIG1zCiA2ICAqICpeQwoKIC4uLiBVbmQgaGFlbmd0LiBPZmZlbmJlciB3aXJkIHNlaXQgaGV1dGUgYW5kZXJzIGdlcm91dGVkLCBkZW0gTmV0eiBnZWh0cwphdXMgdW5zZXJlIFNpY2h0IGF1Y2ggc2Nob252aWVsIGJlc3NlciAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAtLS0tU2F1ZXJlaS0tLS0gKEJhbWJ1bGtvLCAyMy4gTWFpIDE5OTUsIDEzOjQyOjAxKToKIyEgcm49RmF1bGkgcnQ9ODAxMTI3OTg3CldhcyBzdG9lcnQgZGljaCBkZW5uIGRhcmFuPz8KRHUgd2lyc3QgZG9jaCBuaWNodCBiZWltIHNwaWVsZW4gYmVoaW5kZXJ0IG9kZXI/IFVuZCB3ZW5uIHNpZSBuaWNodAplaW5nZWxvb2d0IHdhZXJlbiB3dWVyZGVuIHNpZSBqYSBhdWNoIG5pY2h0IGFudHdvZXJ0ZW4gOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNRy1OZXVlcnVuZ2VuIChBcmFueWEsIDIzLiBNYWkgMTk5NSwgMTQ6NTU6MzQpOgojISBybj1BcmFueWEgcnQ9ODAxMTY2MTU5CkljaCBmcmFnIG1pY2ggdWVicmlnZW5zLCB3ZWxjaGVuIE9ydCBpY2ggcGVyIFBvc3RsZWl0emFobCA0MzU2NCB6dSBNb3JnZW4tCmdyYXVlbiBnZW1hY2h0IGhhYmUuLi4gV2FlciBqYSBtYWwgaW50ZXJlc3NhbnQuLi4KClVuZCBhYiBkYW1pdCBuYWNoIFNjaG1hcnJuLi4uCkFyYW55YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKJ2ZpbmdlcictSW5mb3MgKEpvZiwgMjQuIE1haSAxOTk1LCAxNjo0MDoxNik6CgogTmV1ZXMgRmVhdHVyZTogZmluZ2VyIC5oZWxwQG1nLnVuaS1tdWVuc3Rlci5kZQoKIFZpZWwgU3Bhc3MsCiAgSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcmNoaWUuLi4gKEFuYWtpbiwgMjUuIE1haSAxOTk1LCAwMzo0MTozMik6CkhpaG8sCgpuZXVsaWNoIG5hY2h0OgoKW0FiZW50ZXVlcjpdIEJlcm5oYXJkIGhhdCBnZXJhZGUgZWluIEFiZW50ZXVlciBiZXN0YW5kZW46IEhpbGYgZGVtCltBYmVudGV1ZXI6XSBBcmNoaXRla3RlbgpbQWJlbnRldWVyOl0gRHVyaW4gaGF0IGdlcmFkZSBlaW4gQWJlbnRldWVyIGJlc3RhbmRlbjogSGlsZiBkZW0gQXJjaGl0ZWt0ZW4KW0FiZW50ZXVlcjpdIE1pbm5pIGhhdCBnZXJhZGUgZWluIEFiZW50ZXVlciBiZXN0YW5kZW46IEhpbGYgZGVtIEFyY2hpdGVrdGVuCkRlciBBcmNoaXRla3QgcnVmdDogTWlubmksIER1cmluIHVuZCBCZXJuaGFyZCBoYWJlbiBtaXIgYWxsZSBLYXJ0ZW50ZWlsZQpEZXIgQXJjaGl0ZWt0IHJ1ZnQ6IGdlYnJhY2h0IQpbR3JhdHM6SmltRGlHcml6IGhvbHQgZnVlciBCZXJuaGFyZCwgRHVyaW4gdW5kIE1pbm5pIGVpbmUgSGVpc3Nwb3AtV3Vyc3QgYXVzCnNlaW5lciBUYXNjaGU6ICJMYXNzIHNpZSBEaXIgc2NobWVja2VuIiA7LSldCltBbGxnZW1laW46QmVuZGVpZ2lkXSBJY2ggc29sbHRlIG5vY2ggbWFsIGViZW4gdm9yYmVpa29tbWVuLi4uIGhhc3QgZHUgZGllCltBbGxnZW1laW46QmVuZGVpZ2lkXSBLcm9uZT8KW0dyYXRzOld1cl0gR1JBVFMgU1VQRVJMRUlTVFVORyBWT04gRVVDSApbR3JhdHM6QmlibyBncmF0dWxpZXJ0IGRlbiAzIGdsdWVja2xpY2hlbl0KW0FsbGdlbWVpbjpKaW1EaUdyaXpdIG5laW4KW0FiZW50ZXVlcjpdIElzYWJlYXUgaGF0IGdlcmFkZSBlaW4gQWJlbnRldWVyIGJlc3RhbmRlbjogSGlsZiBkZW0gQXJjaGl0ZWt0ZW4KW0FiZW50ZXVlcjpdIFBpcHBpbiBoYXQgZ2VyYWRlIGVpbiBBYmVudGV1ZXIgYmVzdGFuZGVuOiBIaWxmIGRlbSBBcmNoaXRla3RlbgpbQWJlbnRldWVyOl0gTXVsbGkgaGF0IGdlcmFkZSBlaW4gQWJlbnRldWVyIGJlc3RhbmRlbjogSGlsZiBkZW0gQXJjaGl0ZWt0ZW4KRGVyIEFyY2hpdGVrdCBydWZ0OiBNdWxsaSwgUGlwcGluIHVuZCBJc2FiZWF1IGhhYmVuIG1pciBhbGxlIEthcnRlbnRlaWxlCkRlciBBcmNoaXRla3QgcnVmdDogZ2VicmFjaHQhCltBYmVudGV1ZXI6SmltRGlHcml6XSBhaGEKW0dyYXRzOkJlbmRlaWdpZF0gSGV5LCBGYW50YXN0aXNjaCEhISEhIEdyYXR1bGllcmUgYXVmcmljaHRpZy4KW0FiZW50ZXVlcjpKaW1EaUdyaXpdIHNpbmQgZGFzIGRpZSBad2VpdGllcyA/Ck11bXBlbHMgcnVmdDogc3V1cGVyIHNhY2hlIGlociBkcmVpLCBncmF0cwpbQWxsZ2VtZWluOkNhcmFkaHJhc10gaGllciBsaWVndCBlaW4gQnVtbWkgYmVpbSBub2VyZGxpY2hlbiBFaXNyaWVzZW4KW0dyYXRzOkJpYm8gZ3JhdHVsaWVydCBhdWNoIGRlbiAzIGdsdWVja2xpY2hlbjJ0eXNdCltBbGxnZW1laW46Q2FyYWRocmFzXSBzdXBwZSwgQXJjaGl0ZWt0Ci4uLgpbQWJlbnRldWVyOl0gQmFsaW4gaGF0IGdlcmFkZSBlaW4gQWJlbnRldWVyIGJlc3RhbmRlbjogSGlsZiBkZW0gQXJjaGl0ZWt0ZW4KW0FiZW50ZXVlcjpdIFRheiBoYXQgZ2VyYWRlIGVpbiBBYmVudGV1ZXIgYmVzdGFuZGVuOiBIaWxmIGRlbSBBcmNoaXRla3RlbgpbQWJlbnRldWVyOl0gRGhvamFrdCBoYXQgZ2VyYWRlIGVpbiBBYmVudGV1ZXIgYmVzdGFuZGVuOiBIaWxmIGRlbSBBcmNoaXRla3RlbgpEZXIgQXJjaGl0ZWt0IHJ1ZnQ6IERob2pha3QsIFRheiB1bmQgQmFsaW4gaGFiZW4gbWlyIGFsbGUgS2FydGVudGVpbGUKRGVyIEFyY2hpdGVrdCBydWZ0OiBnZWJyYWNodCEKW0FsbGdlbWVpbjpDYXJhZGhyYXNdIFp3ZXJnZW5sYWRlbiBpbiAzIG1pbgpbR3JhdHM6QmVuZGVpZ2lkXSBhZWhtLCBad2VpdGlld2VsbGU/CltBYmVudGV1ZXI6TXVtcGVsc10gaHVjaCwgbWFzc2VuYW5kcmFuZyBiZWkgYXJjaGk6KSBhdWNoIGV1Y2ggZ3JhdHMKW0dyYXRzOkFuYWtpbl0gSGV5IEdyYXRzIGV1Y2ggbmV1bi4uLjopCltHcmF0czpNb3JnYW5hXSBHVVVVVVVVVApbQWJlbnRldWVyOkJpYm8gc3RhdW50IHVlYmVyIGRpZSB2aWVsZW4gYXJjaGllbG9lc2VyLi4uIHZpZWxsZWljaHQgaGFldHRlIGVyCnNlaW5lbiAydHkgYXVjaCBoaW5zY2hpY2tlbiBzb2xsZW5dCgoKQW5ha2luIChzdGF1bmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJrbnVkZGxlL3J3aW5rZSAoQ2FyYWRocmFzLCAyNi4gTWFpIDE5OTUsIDE0OjIzOjQ3KToKICAgICAgICAgICAgICAgICAgICBIdWh1IElocnMKCldpZSB3YWVycyBkZW5uLCB3ZW5uIGRpZSBCZWZlaGxlIG1pdCByIGFtIEFuZmFuZyB6dWVpbmFuZGVyIHBhc3NlbiB3dWVyZGVuPwpJY2ggbWVpbmUgZGFtaXQgZm9sZ2VuZGVzOiByd3VzY2hsZSB4eHggc3Vlc3MgZ2VodCwgYWJlciBya251ZGRsZSB4eHggc3Vlc3MKZ2VodCBuaWNodCwgd2VpbCBkYSBkYXMgLyB2b3Igc3Vlc3Mgbm9jaCBzdGVoZW4gbXVzcy4KQWxzbyBlbnR3ZWRlciBiZWltIHJrbnVkZGxlL3J3aW5rZSBnZWh0IGRhcyBhdWNoIG9obmUgLyAod2FzIGljaCBiZXNzZXIKZmFlbmRlLCBhYmVyIHdvaGwKc2Nod2llcmlnZXIgaXN0KSBvZGVyIGJlaSBkZXIgRGlkZGwtS251ZGRlbC1XdXNjaGVsbWF1cyBrYW5uCm1hbiBhdWNoIG1pdCAvIHJ3dXNjaGVsbiwgcnVtYXJtZW4gLi4uCgogICBOYSwgd2llIGlzc2VzPwogICBDYXJhZGhyYXMgLSBkZXIgTW9lcmRlciB1bnNjaHVsZGlnZXIgTG9ld2VuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmtudWRkbGUvcndpbmtlIChCb2luZywgMjYuIE1haSAxOTk1LCAxNDozMzowMyk6CiMhIHJuPUNhcmFkaHJhcyBydD04MDE0OTEwMjcKRGFzIHNvbGx0ZSBzaWNoIGRpZSBEaWRkbC1NYXVzIGRlbSBTdGFuZGFyZCBhbnBhc3NlbiwgdW5kIGRlciBpc3QgZWJlbgptaXQgLy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBya251ZGRsZS9yd2lua2UgKENhcmFkaHJhcywgMjYuIE1haSAxOTk1LCAxNTowODo1OSk6CiMhIHJuPUJvaW5nIHJ0PTgwMTQ5MTU4MwpBbnBhc3NlbiBuaWNodCB1bmJlZGluZ3QsIGFiZXIgc29sbHRlIGF1Y2ggbm9jaCB6dXNhZXR6bGljaCBnZWhlbiwKZmluZGUgaWNoLiBVbmQgZGEgaWNoIG1hbCB3aWVkZXIgbmljaHQgd3Vzc3RlIHZvbiB3ZW0gZGllIE1hdXMgaXN0Li4uCmxhbmRldGUgZXMgaGFsdCBoaWVyLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRldXRzY2hlIEJhaG4gKFBhdWxlLCAyNi4gTWFpIDE5OTUsIDIwOjU0OjM0KToKTW9pbiAhICBJc3Qgc2Nob24gZXR3YXMgbHRlciwgYWJlciB0cm90emRlbSBndXQ6IEF1cyBlaW5lciBEaWVuc3RhbndlaXN1bmcKZGVyICJEZXV0c2NoZW4gQmFobiBBRyIKCiAgRGllICBpbiAgR2VicmF1Y2ggIGJlZmluZGxpY2hlbiAgYmFobmVpZ2VuZW4gICBCbGVpc3RpZnRlICAgdW5kCiAgS3VnZWxzY2hyZWliZXIgIG18c3NlbiB1bWJlemVpY2huZXQgd2VyZGVuLiBBdWYgZGVuIEJsZWlzdGlmdGVuCiAgc2luZCBiZWltIEF1ZmRydWNrICJEZXV0c2NoZSAgQnVuZGVzYmFobiIgIGhhbmRzY2hyaWZ0bGljaCAgZGllCiAgZXJzdGVuICBiZWlkZW4gIFNpbGJlbiAgZGVzICB6d2VpdGVuICBXb3J0ZXMgIHp1IHN0cmVpY2hlbiwgZGVyCiAga2xlaW5lIGVyc3RlIEJ1Y2hzdGFiZSAgZGVyICB2ZXJibGVpYmVuZGVuICBTaWxiZSAgZHVyY2ggIGVpbmVuCiAgZ3JvZWluZW5lbiAgQnVjaHN0YWJlbiB6dSBlcnNldHplbiB1bmQgYW0gU2NobHVlaW5lbiBkaWUgQWJrfHJ6dW5nICJBRyIKICBoaW56dXNldHplbi4uLiAgQXVmICBCbGVpc3RpZnRlbiAgbHRlcmVyICBGYWJyaWthdGUsICBkaWUgIGRlbgogIEF1ZmRydWNrICJCdW5kZXNiYWhuLUVpZ2VudHVtIiB0cmFnZW4sIGlzdCBkZXIgZ2VzYW10ZSBBdWZkcnVjawogIHp1IHN0cmVpY2hlbiB1bmQgYXVmIGVpbmVyIHVuYmVkcnVja3RlbiBGbGNoZSBkZXIgIFVtbWFudGVsdW5nCiAgaGFuZHNjaHJpZnRsaWNoICAiRGV1dHNjaGUgQmFobiBBRyIgZWluenV0cmFnZW4uIERpZSBiaXNoZXJpZ2VuCiAgQXVmZHJ1Y2tlIGF1ZiBiYWhuZWlnZWduZW4gS3VnZWxzY2hyZWliZXJuIHNpbmQgIGR1cmNoICBzY2htYWxlCiAgc2VsYnN0a2xlYmVuZGUgIEV0aWtldHRlbiBtaXQgZGVyIEF1ZnNjaHJpZnQgIkRldXRzY2hlIEJhaG4iIHp1CiAgfGJlcmtsZWJlbi4gQml0dGUgc3RlbGxlbiBzaWUgc2ljaGVyLCBkYXp1ICh2b20gVGFnIGRlciBHcnxuZHVuZwogIGRlciAgIERCICAgQUcgICBhbiwgICBSZWQuKSAgIG51ciAgIGJhaG5laWdlbmUgIEJsZWlzdGlmdGUgIHVuZAogIEt1Z2Vsc2NocmVpYmVyIG1pdCBkZW0gQXVmZHJ1Y2sgIkRldXRzY2hlICBCYWhuICBBRyIgIHZlcndlbmRldAogIHdlcmRlbi4KClF1ZWxsZTogU3Rlcm4gMTEvOTQgU2VpdGUgMTUKCgpDaWFvIFBhdWxlCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBya251ZGRsZS9yd2lua2UgKFp1ZXJpbGV1LCAyNy4gTWFpIDE5OTUsIDAyOjE2OjIzKToKIyEgcm49Qm9pbmcgcnQ9ODAxNDkxNTgzClNhbGksCkljaCBmaW5kZWRhcy8gdmVyc2NoLiBzb3JyeSBpY2ggaGFiZSBlaW4gYWxpYXMgZnVlciBrbnVkZGVsbiB1bmQgZGEgaGFiIGljaApkYXMgLyBnZXNjaGlja3QgdW1nZWhlbiBudW4ga2FubiBpY2ggZnVlciBya251ZGRsZW4gbnVyICdya24gPG5hbWU+IDx0ZXh0PgoobmF0dWVybGljaCBvaG5lIDw+KSBlaW5nZWJlbi4gPTopICkKClRzY2h1ZXNzIFp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJrbnVkZGxlL3J3aW5rZSAoV3VyLCAyNy4gTWFpIDE5OTUsIDA1OjAzOjUxKToKIyEgcm49Qm9pbmcgcnQ9ODAxNDkxNTgzCk9wcywgd2FydW0gZGVubiBuaWNodCBtYWwgdW1nZWRyZWh0PwpPaG5lIGRlbiAvIGdlaHQgZGFzIGRvY2ggenVtaW5kZXN0ZW5zIGZ1ZXIgZGllIFNwaWVsZXIgdmllbCBlaW5mYWNoZXIuCk9kZXIgaXN0IGRpZXNlcyB1bXByb2dyYW1taWVybiB6dSBrb21wbGl6aWVydD8KV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2VsdHNhbWUgbWVsZHVuZyAoQ2FsdW0sIDI3LiBNYWkgMTk5NSwgMTA6Mjc6NTcpOgojISBybj1SZWluZWxkZSBydD04MDExNjc5OTQKUmVpbmVsZGUgc2NocmllYjoKCj4gc2NobmVsbCBtYWwgaW0gaW52ZW50b3J5IG5hY2hnZXNjaGF1dCB1bmQga2VpbiBzY2h3ZXJ0IGRhLiB3YXMgc29sbCBpY2ggYWxzCj4ga2FyYXRla2EgYXVjaCBkYW1pdC4gd2VyIGthbm4gbWlyIGFsc28gZXJrbGFlcmVuIHdvaGVyIGRhcyBrb21tdC4KCkljaCBrYW5uIGRhcyBlcmtsYWVyZW4gKmJlc2NoYWVtdCBndWNrKgoKTWl0IGdyb3NzZXIgV2FocnNjaGVpbmxpY2hrZWl0IGhhc3QgRHUsIGFscyBkaWVzZSBNZWxkdW5nIGdla29tbWVuIGlzdCwKbmViZW4gZWluZW0gTlBDIGdlc3RhbmRlbiwgZGVyIFNwaWVsZXJuIC8gTGVpY2hlbiBXYWZmZW4ga2xhdXQgKHouQi4KZGllIEVsZmVud2FlY2h0ZXIpLiBEaWUgTWVsZHVuZywgZGllIER1IGJla29tbWVuIGhhc3QsIGVyaGFlbHQgbWFuCm5vcm1hbGVyd2Vpc2UsIHdlbm4gbWFuIGFscyBTcGllbGVyIHZlcnN1Y2h0IGRhcyBYYW50aS1TY2h3ZXJ0IGF1cyBNb3Jvbgp6dSB6dWVja2VuIHVuZCBkYWZ1ZXIgbmljaHQgc3RhcmsgZ2VudWcgaXN0LiBMZWlkZXIgaGFiZSBpY2ggYmVpbQpQcm9ncmFtbWllcmVuIGRpZXNlcyBTY2h3ZXJ0ZXMgdm9lbGxpZyB2ZXJnZXNzZW4sIGRhc3MgYXVjaCBOUENzIGRpZXNlCldhZmZlIHp1ZWNrZW4ga29lbm5lbjsgYXVmIGRpZXNlIFdlaXNlIHBhc3NpZXJ0ZSBlcyBkYW5uLCBkYXNzIGRlcgpOUEMgZGFzIFNjaHdlcnQgenVlY2tlbiB3b2xsdGUsIG5pY2h0IHN0YXJrIGdlbnVnIHdhciwgdW5kIGRpZSBNZWxkdW5nCmFuIGRlbiBkYW5lYmVuc3RlaGVuZGVuIFNwaWVsZXIgZ2luZy4KCkZyZXVuZGxpY2hlcndlaXNlIGhhdCBWcmFpIHNpY2ggYmVyZWl0cyBkZXMgQnVncyBhbmdlbm9tbWVuISA6LSkKCldlaXRlcmUgRmxhbWVzIGFuIG1pY2guLi4KCiAgICAgICAgICAgICAgICAgLSBDYWx1bQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJrbnVkZGxlL3J3aW5rZSAoQ2FsdW0sIDI3LiBNYWkgMTk5NSwgMTA6MzU6NTcpOgojISBybj1XdXIgcnQ9ODAxNTQzODMxCkljaCBoYWJlIGRhcyBFbW90ZW4gYmVpIGRlciBNYXVzIG9obmUgZGVuIFNsYXNoIGdlbWFjaHQsIHdlaWwKCmEpIGljaCBkZXIgQW5zaWNodCB3YXIgLyBiaW4sIGRhc3MgZXMgYXVmIGRpZXNlIFdlaXNlIGVpbmZhY2hlciBpc3QKICAgKE9LLCBpc3Qgd2FocnNjaGVpbmxpY2ggR2V3b2VobnVuZ3NzYWNoZSkKCmIpIHdlaWwgaWNoIG5pY2h0IGRpZSBnZXJpbmdzdGUgQWhudW5nIGhhdHRlLCB3byBpbiBkZXIgTXVkTGliIGRpZQogICBudWV0emxpY2hlbiBGVW5rdGlvbmVuIHN0ZWhlbiwgZGllIGVpbmVuIGdld29laG5saWNoZW4gUXVvdGUgenUgZGVtCiAgIFRleHQsIGRlciBhbSBFbmRlIHJhdXNrb21tZW4gc29sbCwgdW1mb3JtZW4uICh1bmQgYWxsZSBhdWYgZGVtCiAgIExQQy1LYW5hbCBsYXVzY2hlbmRlbiBXaXphcmRzIGVudHdlZGVyIGlkbGUgb2RlciBlYmVuc28gYWhudW5nbG9zCiAgIHdhcmVuKQoKV2VubiBlcyBmdWVyIGIpIGVpbmUgbmljaHQgenUgdW1zdGFlbmRsaWNoZSBMb2VzdW5nIGdpYnQsIHVuZCBpcmdlbmRlaW4KZnJldW5kbGljaGVyIE1lbnNjaCBtaXIgZXJrbGFlcnQsIHdvIGRpZSBub3R3ZW5kaWdlbiBGdW5rdGlvbmVuIHN0ZWhlbiwKYmF1ZSBpY2ggZGFzIFF1b3RlbiBtaXQgU2xhc2ggc28gc2NobmVsbCB3aWUgbW9lZ2xpY2ggZWluLiA6LSkKClNlZSB5YSwKICAgICAgICAgICAgICAgLSBDYWx1bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmtudWRkbGUvcndpbmtlIChTaWx2YW5hLCAyOS4gTWFpIDE5OTUsIDA3OjI0OjM2KToKIyEgcm49Q2FsdW0gcnQ9ODAxNTYzNzU3CkFsc28gd2VubiBpY2ggZGFzIGluIGRlciBzb3VsIHJpY2h0aWcgdmVyc3RlaGVuIGlzdCBkZXIgL2RhZnVlciBkYSwgYXVzZ2UtCnNjaHJpZWJlbmUgQWJ2ZXJiaWVuIHZvbiB2b3JkZWZpbmllcnRlbiB6dSB1bnRlcnNjaGVpZGVuLiBCaXMgenVtIC8gd2lyZAppbiBkZXIgQWR2ZXJiaWVuLUxpc3RlIGdlc3VjaHQsIGRhbmFjaCBkaXJla3QgdWViZXJub21tZW4uIFdlbm4gRHUncyBnZW5hdQp3aXNzZW4gd2lsbHN0LCBzY2hhdSBpbiAvc3RkL3BsYXllcnMvc291bCBuYWNoICp6d2lua2VyIEhpZ2hsYW5kZXIgenUqLgoKU28gdW5kIGpldHp0IGFiIGRhbWl0IG5hY2ggbWFnaWVyLmxwYyAtIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbWluYXIgKEpvZiwgMjkuIE1haSAxOTk1LCAxMDoxODoxMCk6CgogSGksCgogbWFuZ2VscyBOYWNoZnJhZ2Ugd2lyZCBkYXMgU2VtaW5hciBudW4gd29obCBkb2NoIHp1ciBQYXJ0eSBzdGF0dGZpbmRlbjsKYmlzaGVyIGdhYnMgbnVyIDIgb2RlciAzIEFubWVsZHVuZ2VuLCBhYmVyIG1pbmQuIDEwIEFuZnJhZ2VuIGFuIG1pY2gsIHdpZXNvCndpciBkYXMgbmljaHQgenVyIFBhcnR5IG1hY2hlbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZW1pbmFyIChTaWx2YW5hLCAyOS4gTWFpIDE5OTUsIDEwOjQ2OjE0KToKIyEgcm49Sm9mIHJ0PTgwMTczNTQ5MApIZWlzc3QgZGFzIGpldHp0LCBkYXNzIHp1bSBTZW1pbmFydGVybWluIGVpbiB6dXNhZXR6bGljaGUgUGFydHkgc3RhdHRmaW5kZXQsCm9kZXIgZGFzcyBhdWYgZGVyIFBhcnR5IGVpbiBrbGVpbmVzIFNlbWluYXIgYW0gUmFuZGUgc3RhdHRmaW5kZXQ/ClNpbHZhbmEgLSBob2ZmdCBhdWYgZXJzdGVyZXMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VtaW5hciAoSGF0ZSwgMjkuIE1haSAxOTk1LCAxMTozNTo1Nyk6CiMhIHJuPVNpbHZhbmEgcnQ9ODAxNzM3MTc0CkRhIGRpZSBlaWdlbnRsaWNoZSBQYXJ0eSBhbSBBYmVuZCBzdGF0dGZpbmRldCwgc3RlaHQKZWluZW0gU2VtaW5hciB0YWdzdWViZXIgbm9jaHRzIGltIFdlZ2UuCk1hbiBrYW5uIGVzIGF1Y2ggYWxzIGVpbiBTZW1pbmFyIG1pdCBhYmVuZGxpY2hlbSBnZW11ZXRsaWNoZW0gQmVpc2FtbWVuLT0Kc2VpbiBiZXRyYWNodGVuLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWV0emVsbjogZWluIGxhZXN0aWdlcyBVZWJlbD8/IChDeW1vbmssIDI5LiBNYWkgMTk5NSwgMTM6NTM6MDEpOgpoYWxsb2VjaGVuIQoKbWljaCB3dWVyZGUgbWFsIGludGVyZXNzaWVyZW4sIHdhcyBpaHIgdm9uIGVpbmVyIG1vZWdsaWNoa2VpdCBoYWx0ZXQsCm9obmUgbWV0emVsbiB6dSBxdWVzdGVuISBpY2ggaGFiZSBzY2hvbiBlaW5pZ2Ugc3RpbW1lbiBnZWhvZXJ0LCBkaWUKZGFzIGV3aWdlIG1vbnN0ZXJzY2hsYWNodGVuIGFscyBlaW4gbGFlc3RpZ2VzIHVlYmVsIGVtcGZ1bmRlbiBoYWJlbiEKd2FzIGlzdCBldXJlIHByaW56aXBpZWxsZSBtZWludW5nIGRhenUsIHZvbiBkZXIgYXJ0IGRlciByZWFsaXNpZXJ1bmcgZWlubWFsCmFiZ2VzZWhlbi4KCkN5TW9uawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoSmFmLCAyOS4gTWFpIDE5OTUsIDEzOjU1OjM0KToKIyEgcm49Q3ltb25rIHJ0PTgwMTc0ODM4MQp3YWVyZSBuaWNodCB1ZWJlbC4gaWNoIGhhdHRlIG1hbCBkYXMgcHJvYmxlbSwgZGFzcyBpY2ggc2VoZXIgd2VyZGVuCndvbGx0ZSwgaWNoIGRpZSBhcCBzY2hvbiBoYXR0ZSwgbWlyIGFiZXIgbm9jaCA4NTBrZXAgZ2VmZWhsdCBoYWJlbi4KZGFmdWVyIGhhYiBpY2ggZGFtYWxzIHVlYmVyIGVpbmUgd29jaGUgbWV0emVsbiBtdWVzc2VuIHVuZCBpY2ggZmFuZApkYXMgKnppZW1saWNoKiBvZWRlLgoKRnl0LiBGdWVyIFNlaGVyd2VyZHVuZyBvaG5lIGVwLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEN5bW9uaywgMjkuIE1haSAxOTk1LCAxNDowMTozMSk6CiMhIHJuPUphZiBydD04MDE3NDg1MzQKaG1tbS4uLi4gc293ZWl0IGljaCBkYXMgdWViZXJzZWhlLi4uLiB3aXJkIGVzCmRhcyBtZXR6ZWxsb3NlIHF1ZXN0ZW4gYWJlciBsZWlkZXIgZXJzdCBhYiBsZXZlbCAyMCBnZWJlbiA6KCguCgplcyBtdXNzIGphIGVpbmUgYmV2b3J0ZWlsdW5nIGdlZ2VudWViZXIgYW5kZXJlbiBzcGllbGVyIHZlcm1pZWRlbgp3ZXJkZW4uCgpDeU1vbmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKE1hc28sIDI5LiBNYWkgMTk5NSwgMTQ6MDY6MzMpOgojISBybj1DeW1vbmsgcnQ9ODAxNzQ4MzgxCkFsc28sIGljaCBiaW4gZ3J1bmRzYWV0emxpY2ggR0VHRU4gUXVlc3RzLCBpbiB3ZWxjaGVuIG1hbiBtZXR6ZWxuIG11c3MgLQp3dXJkZSBlcyBzaWUgbmljaHQgZ2ViZW4sIHd1ZXJkZSBhdWNoIGRpZXNlIGRhZW1saWNoZSBaVC1TdWNoZSBlbmRlbiwgdW5kIG1hbgprb2VubnRlIHNpY2ggbWVociBhdWYgZGFzIExhYmVyLCAoUm9sbGVuLSlTcGllbGVuIHVuZCBSYWV0c2VsbiBrb256ZW50cmllcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoTWFycywgMjkuIE1haSAxOTk1LCAxNDozNzo1Nik6CiMhIHJuPUN5bW9uayBydD04MDE3NDgzODEKSWNoIGZhZW5kZSBlcyBzZWhyIGhpbGZyZWljaCwgd2VubiBtYW4gaW4gZGVyIFF1ZXN0bGlzdGUgaW4gZGVyIEdpbGRlIGJlaSBkZXIKU3R1ZmVuYW5nYWJlIHVudGVyc2NoZWlkZXQgendpc2NoZW4gUmFldHNlbC1TY2h3aWVyaWdrZWl0IHVuZApNZXR6ZWwtU2Nod2llcmlna2VpdC4KCk1hcnMgIChoYWVsdCBHcmlzdSBuaWNodCBmdWVyIGVpbmUgU3R1ZmUtNS1RdWVzdCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoSG9ibywgMjkuIE1haSAxOTk1LCAxNDo0Mjo0NSk6CiMhIHJuPU1hcnMgcnQ9ODAxNzUxMDc2CkljaCB3ZWlzcywgZGFzcyBlcyB3b2hsIG5vY2ggbmllbWFuZCB2ZXJzdWNodCBoYXQsIGFiZXIgaW4gR3Jpc3UgTVVTUyBtYW4KbmljaHQKbWV0emVsbi4gTWFuIGthbm4gc2NobGllc3NsaWNoIGF1Y2ggd2VncmVubmVuIDopCgogVW5kIHNjaGFmZnQgZGFkdXJjaCBkaWUgUXVlc3QgdHJvdHpkZW0uCgogICAgICAgICAgICAgICAgICAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWV0emVsbjogZWluIGxhZXN0aWdlcyBVZWJlbD8/IChNYXNvLCAyOS4gTWFpIDE5OTUsIDE0OjU1OjA5KToKIyEgcm49TWFycyBydD04MDE3NTEwNzYKV28gYmVpIEdyaXN1IG11c3MgbWFuIGRlbm4ga2FlbXBmZW4/IEZhY2hhciBsYWVzc3QgbWFuIGFtIGJlc3RlbiBsaW5rcwpsaWVnZW4sIHVuZCBkaWUgYW5kZXJlbiBEaW5nZXIga2FubiBtYW4gamEgYXVjaCB1bWdlaGVuLi4uCgpNYXNvIChoYWVsdCBHcmlzdSBmdWVyIGVpbmUgU3R1ZmUtMS1RdWVzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoU3RhaGxkb3JuLCAyOS4gTWFpIDE5OTUsIDE1OjIyOjM3KToKIyEgcm49TWFzbyBydD04MDE3NTIxMDkKU28gZWluIEJsb2Vkc2lubi4gU3R1ZmUgMT8KSWNoIGthbm4gbWlyIGRlbmtlbiwgZGFzcyBlaW4gQW5mYWVuZ2VyIG9obmUgQXVzcnVlc3R1bmcgdW5kIG1pdCA1MCBMUCB2b20KRmFjaGFyIGlubmVyaGFsYiBrdWVyemVzdGVyIFplaXQgcGxhdHRnZW1hY2h0IHdpcmQuClVuZCBkYXNzIG1hbiBkYXZvbnJlbm5lbiBrYW5uIGlzdCBhdWNoIGtlaW4gQXJndW1lbnQsIHdlaWwgZGVyIEZhY2hhciBqYSBmcmVpCmhlcnVtbGFldWZ0IGluIGRpZXNlbiBkcmVpIEZlbGRlcm4sIHVuZCBtYW4gYXVmIGRpZXNlICJydXRzY2hlIi1zeW50YXggYXVjaAplcnN0IG1hbCBkcmF1ZmtvbW1lbiBtdXNzLgpJY2ggd3VlcmRlIEdyaXN1IGZ1ZXIgU3R1ZmUgMTAgYmVhbnNjaGxhZ2VuLiBTbyBzY2hhZXR6dW5nc3dlaXNlLgoKVW5kIHp1IGRlbiBOaWNodC1NZXR6ZWwtUXVlc3RzIG11c3MgaWNoIHNhZ2VuLCBkYXNzIG1hbiBqYSBvaG5laGluIGthdW0gYmVpCmRlbiBRdWVzdHMgZWluIE1vbnN0ZXIgdG9ldGVuIE1VU1MuIFVuZCB3ZW5uLCBkYW5uIGdyYWRlIG1hbCBlaW4gZWluemlnZXMsIHVuZApkYXMgaXN0IGF1Y2ggZ3V0IHNvLCBkYW1pdCBuaWNodCBlaW4gYmx1dGlnZXIgQW5mYWVuZ2VyIGVpbmUgTGV2ZWwgMTkgLSBRdWVzdApsb2VzZW4ga2Fubi4KVW5kIGR1cmNoIHF1ZXN0ZW4gYmVrb21tdCBtYW4gbWVociBhbHMgZ2VudWcgRVAuIERpZSBGb3JkZXJ1bmcgIlNlaGVyd2VyZHVuZwpvaG5lIE1ldHplbG4iIGlzdCBzaW5ubG9zLCBkYSBiZXJlaXRzIGVyZnVlbGx0LgoKCiAgICAgICBTVEFITCwgZGVyIHNpY2ggZnJhZ3QsIHdhcyBtYW5jaGUgTGV1dGUgdW50ZXIgIk1ldHplbG4iIHZlcnN0ZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEluZm9kcmVpLCAyOS4gTWFpIDE5OTUsIDE1OjIzOjA5KToKIyEgcm49Q3ltb25rIHJ0PTgwMTc0ODM4MQpJY2ggd3VlcmRlIGRhcyBiZWdydWVzc2VuLiBJY2ggaGFiZSBiaXNoZXIgaW1tZXIgZGllIFNjaHdpZXJpZ2tlaXQgZ2VoYWJ0LAplaW4gTW9uc3RlciwuLi4genUgYmV1cnRlaWxlbiAoYmVzc2VyLCBzY2hsZWNodGVyKS4gRmFsbHMgZXMga2VpbmUgZ3Jvc3NlCk11ZWhlIG1hY2h0IHNvbGx0ZSBtYW4gZGFzIGVpbmJhdWVuLiBFcyBnaWJ0IGhhbHQgaW1tZXIgTGV1dGUgZGVuZW4gZGFzCkthZW1wZmVuIHNjaHdlcmZhZWxsdC4KCkVpbiBrYW1wZmVzbXVlZGVyIEluZm9kcmVpICwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoU3RhaGxkb3JuLCAyOS4gTWFpIDE5OTUsIDE1OjI1OjA2KToKIyEgcm49SW5mb2RyZWkgcnQ9ODAxNzUzNzg5CkVzIGdpYnQgZG9jaCBiZXJlaXRzIGRlbiAic2NoYWV0eiItc3BydWNoLCBpbmZvMy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgZm9sZGVycyAoSGlnaGxhbmRlciwgMjkuIE1haSAxOTk1LCAxNTozMjo1Nik6ClNlaWQgZ2VncnVlc3N0LCBCZXdvaG5lciBNb3JnZW5HcmF1ZW5zIQpJY2ggaGFiZSBlaW5lIEJpdHRlIGFuIGV1Y2g6ClJhZXVtdCBkb2NoIG1hbCBiZWkgR2VsZWdlbmhlaXQgZXVyZSBCcmllZm1hcHBlIGF1Zi4gSWNoIGhhYmUgdm9yaGluIG1pdApKb2YgZ2VzcHJvY2hlbiwgdW5kIGVyIG1laW50ZSwgYWxsZWluIGRpZSBQb3N0IGJlbGVndCAzNSBNZWdhYnl0ZSBhbiBQbGF0dGVuLQpwbGF0eiEhCkRhcyBoZWlzc3QsIGJlaSBhbmdlbm9tbWVuIDEwMDAgYWt0aXZlbiBTcGllbGVybiwgdW5kIGRhcyBpc3QgZWluZSBnYW56ZQpNZW5nZSwgaGF0IGplZGVyIGltIER1cmNoc2Nobml0dCAoISkgMzUgS2lsb2J5dGUgYW4gbWFpbC4KRGFzIG11c3MgbmljaHQgdW5iZWRpbmd0IHNlaW47IGljaCBzZWxiZXIgYmluIGRhcmF1ZmhpbiBtYWwgbWVpbmVuCm1haWxmb2xkZXIgZHVyY2hnZWdhbmdlbiB1bmQga29ubnRlIGRvY2ggc28gYW4gZGllIDM1IG1haWxzIGxvZXNjaGVuCih2b24gNjApLiBBbHNvIHNjaGF1dCBldWNoIG1hbCBhbiwgd2FzIGFsbGVzIGZ1ZXIgQnJpZWZsZWljaGVuIGluIGV1cmVuCk9yZG5lcm4gbGllZ2VuIDo+CkdydWVzc2Ugbm9jaCBtYWxzIHZvbSBQbGF0dGVucGxhdHogc2Nob25lbiB3b2xsZW5kZW4KCiAgIEhpZ2hsYW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEF1Z3JhLCAyOS4gTWFpIDE5OTUsIDE4OjExOjA5KToKIyEgcm49Q3ltb25rIHJ0PTgwMTc0ODM4MQpCaW4gaWNoIGZhc3QgdW5laW5nZXNjaHJhZW5rdCBkYWZ1ZXIsIG1ldHplbG4gaXN0IGR1bW0gdW5kIGxhZXN0aWc6KS4uLkFiZXIKQWJlbnRldWVyIGdhbnogb2huZSBLYWVtcGZjaGVuIHNpbmQgd29obCB6aW1saWNoIHVucmVhbGlzdGlzY2gsIG9kZXI/CkF1Z3JhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEFzbW9kaXMsIDI5LiBNYWkgMTk5NSwgMTg6NTM6NTQpOgojISBybj1TdGFobGRvcm4gcnQ9ODAxNzUzNzU3CkFlaCwgZGEgbWFuIGRpZSBIYW5kc2NodWhlIG5pY2h0IGJyYXVjaHQgZnVlciBkaWUgR3Jpc3UtUXVlc3QsCmJyYXVjaHQgbWFuIHRyb3R6ZGVtIGV0d2FzIEF1c3J1ZXN0dW5nLCBoYWIgaWNoIGdlaG9lcnQsIGFiZXIgd2llCnNvbGwgZWluIHF1ZXN0dW5lcmZhaHJlbmVyIFNwaWVsZXIgZGFzIHdpc3NlbiwgZGVyIGdlaHQgdmllbGxlaWNodApuYWNoIGVpbmVtIFJlYm9vdCBvaG5lIEF1c3J1ZXN0dW5nIGRpcmVrdCBkYWhpbiwgd2VpbCBlciBtZWludCwKbWV0emVsbiBsb2hudCBuaWNodC4KCiAgICAgICAgICAgQ2lhbywgQXNtb2RpcyAoaGF0IGtlaW5lIFNjaHdpZXJpZ2tlaXRlbiBiZWkgRmFjaGFyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhZnVlciBhYmVyIEFuZGVyZSAgICAgICAgICAgICAgICAgICAgICApCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWV0emVsbjogZWluIGxhZXN0aWdlcyBVZWJlbD8/IChCYWJvb24sIDMwLiBNYWkgMTk5NSwgMDg6MjY6MTEpOgojISBybj1NYXNvIHJ0PTgwMTc1MjEwOQoKU3R1ZmUgZWlucz8gR3Jpc3U/IFdlciBtaXQgbmVyIEtvbXBsZXR0bG9lc3VuZyBkdXJjaCBkaWUgUXVlc3RzIHJlbm50IGR1ZXJmdGUKbWl0IGZhc3QgYWxsZW5bRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0QgUXVlc3RzIGthdW0KUHJvYmxlbWUgaGFiZW4uIFdlcnMgbmljaGh0IHR1dCBbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RbRFtEd2lyZCBqZWRvY2ggYmVpCkdyaXN1IGFyZ2UKUHJvYmxlbWUgYmVrb21tZW4sIGhlcmF1c3p1ZmluZGVuLCB3aWUgZXIgdm9uIEZhY2hhcnMgRmVscyB3aWVkZXIKcnVudGVya29tbXQsIHdlbm4gaWhtIEZhY2hhciBhdWYgZGVuIEZlcnNlbiBpc3QsIHVuZCBpaG0gbnVyIHp3ZWkgUmFldW1lIHp1bQpBdXN3ZWljaGVuIHp1ciBlcmZ1ZWd1bmcgc3RlaGVuLiBBbnNvbnN0ZW4gaXN0cyBuaWNodCBzbyBzY2h3aWVyaWcsIGFiZXIgc2ljaAphbHMgU3R1ZmUtRWlucy1TcGllbGVyIGJlaSBkdXJjaHNjaG5pdHRsaWNoZXIgTFAtWmFobCB6dSBGYWNoYXIgenUgd2FnZW4KZHVlcmZ0ZSBtZWlzdCB6dW1pbmRlc3QgaGFhcmlnCndlcmRlbi4KCkJhYm9vbiEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKFNudWdnbGUsIDMwLiBNYWkgMTk5NSwgMTQ6MDI6MDYpOgojISBybj1Ib2JvIHJ0PTgwMTc1MTM2NQpEYXMgaXN0IHJpY2h0aWcsIEhvYm8sIG1hbiBtdXNzIG5pY2h0IG1ldHplbG4sIGFiZXIgYWxzIEthZW1wZmVyIG9kZXIKQWJlbnRldXJlcgoKKCA9PT4gU3R1ZmUgNSBxdWVzdHMgc29sbHRlbiBsb2VzYmFyIHNlaW4sIHZlcmdsaWNoZW4gbWl0IGFuZGVyZW4gUXVlc3RzKQprcmllZ3QgbWFuIGRvY2ggemllbWxpY2ggUGFuaWssIHdlbm4gbWFuIGF1ZiBlaW5tYWwgdm9uIEZhY2hhciBhbmdlZ3JpZmZlbgp3aXJkLCAoaWNoIGdsYXViIHNvZ2FyIGltIGR1bmtlbG4sIHdvIG1hbiBrZWluZSBBdXNnYWVuZ2Ugc2llaHQ/KQp1bmQgYmlzIG1hbiBhdWYgZGVuIFRyaWNrIGtvbW10LCB3aWUgbWFuIHdpZWRlciB3ZWdrb21tdCwgaXN0IEZhY2hhcgp2aWVsbGVpY2h0IG5vY2ggZWluIG9kZXIgendlaW1hbCBkYWdld2VzZW4gdW5kIGRlciBDaGFyYWt0ZXIgaXN0IHRvdC4gQnVtbXMsCm9obmUgZGFzIG1hbiB2ZXJzdWNodCBoYXQsIEZhY2hhciB6dSBraWxsZW4uCkVpbmZhY2ggbnVyLCB3ZWlsIGVyIGFiIHVuZCB6dSB2b3JiZWlrb21tdCB1bmQgbWFuIHNvIHNjaG5lbGwgYXVjaCBuaWNodApyZWdlbmVyaWVydC4gRGFzIGdsZWljaGUgZ2lsdCBpbiBkZXIgSG9laGxlLCBTcGllbGVyIGFobnQgbml4IGJvZXNlcyB1bmQKbGFldWZ0IGluIGVpbiBoYXJ0ZXMgTW9uc3RlciwgcmVubnQgcGFuaWtsaWNoIHdlZywKZHJ1ZWNrdCwgd2VpbHMgbGFndCBvZGVyIGVyIHBhbmlrIGhhdCBuaWNodCBudXIgZWlubWFsIGRpZSByaWNodHVuZywgc29uZGVybgpnbGVpY2ggendlaW1hbCB1bmQgZGEgaXN0IGRhcyBuYWVjaHN0ZSBtb25zdGVyLi5CdW1tcwoKU29ycnksIEhvYm8sIGljaCB3aWxsIGRpZSBRdWVzdCBuaWNodCB2ZXJyZWlzc2VuLCBzaWUgZ2VmYWVsbHQgbWlyIGVpZ2VudGxpY2gKZ2FueiBndXQgKGF1Y2ggd2VubiBpY2ggbWljaCBhbiBrZWluZSBHcmlzdS1Gb2xnZSBlcmlubmVybiBrYW5uLCBpbiBkZXIgZWluClJpbWFuZGVyIHZvcmthbSkgYWJlciBzaWUgaXN0IGVpbmZhY2ggenUgaGFydCBnZXJhdGVuLgoKT2huZSBndXRlICghKSBSdWVzdHVuZyB3dWVyZGUgaWNoIG5pZW1hbmRlbSBlbXBmZWhsZW4sIHNpZSB6dSBtYWNoZW4uCgpBbHNvIG5pY2h0cyBmdWVyIHVuZ3V0IHVuZCBwcm9ncmFtbWllciBmbGVpc3NpZyB3ZWl0ZXIsIEhvYm8gOl8pClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwaWVsZXJoaWxmZSBnZXN1Y2h0Li4uIChQdW1hLCAzMC4gTWFpIDE5OTUsIDE3OjE0OjI1KToKSW0gUmFobWVuIGRlciBGYWt0ZW5zYW1tbHVuZyBmdWVyIGVpbmUgQmlibGlvdGhlayBkZXMgTW9yZ2VuZ3JhdWVucyAoZGllCm5hdHVlcmxpY2ggUXVlc3RiZXN0YW5kdGVpbCBzZWluIHdpcmQpIHN1Y2hlIGljaCB2aWVsZSBrbGVpbmUgRGV0YWlscywgZGllIGRhcwpMZWJlbiBoaWVyIGxlYmVuc3dlcnRlciBtYWNoZW4uClNjaHJlaWJ0IG1hY2wgYXVmLCBlaW4gMS0gb2RlciAyLVplaWxlciBnZW51ZWd0LCB3ZWxjaGVzIERldGFpbCwgc2VpIGVzIGVpbgpOUEMsIG9kZXIgZWluIE1vbnN0ZXIgb2RlciBlaW4gUmF1bSwgb2RlciBlaW4gQXVzcnVlc3R1bmdzZ2VnZW5zdGFuZCBvZGVyCmF1Y2ggZWluZmFjaCBudXIgZWluIEdhZywgRXVjaCBoaWVyIGRpZSBaZWl0IGJlc29uZGVycyB2ZXJzY2hvZW50LgoKTWl0IGVpbmVyIGtsZWluZW4gTWFpbCBpc3RzIGdlbnVlZ2UgZ2V0YW4uLi4KClZpZWxlbiBEYW5rIGltIHZvcmF1cy4KClBVTUEhCgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLU5ldWVydW5nZW4gKEd1eWJydXNoLCAzMS4gTWFpIDE5OTUsIDA4OjI1OjAwKToKIyEgcm49QXNtb2RpcyBydD04MDA4MjM5ODQKRXMgc2NoZWludCBhbHMgaGFldHRlIEJvaW5nIERlaW5lIEFucmVndW5nIHNjaG5lbGwgYW5nZW5vbW1lbiAoYWVobS4uLmxpZWJlcgpuYWNoIFNjaGFycm4gOikgKQpMb2c6CkR1IGhhc3QgamV0enQgMTE4IExlYmVuc3B1bmt0ZSB1bmQgOSBNYWdpZXB1bmt0ZS4KRGVyIEJ1bWVyYW5nIHJhc2llcnQgZGVtIExldWNodHRyb2xsIGVpbiBIYWFyYnVlc2NoZWwgYWIuCkRlciBCdW1lcmFuZyBzY2hsYWVndCBkZW0gTGV1Y2h0dHJvbGwgZGVuIEtvcGYgZWluLgpEZXIgTGV1Y2h0dHJvbGwgZmFlbGx0IHRvdCB6dSBCb2Rlbi4KRHUgenVlY2tzdCBkYXMgU2Nod2VydC4KYgpEdSBmYWVuZ3N0IGRlbiBCdW1lcmFuZyBnZXNjaGlja3QuCmIKRHUgZmFlbmdzdCBkZW4gQnVtZXJhbmcgZ2VzY2hpY2t0LgppbApEdSBoYXN0IGpldHp0IDE0MCBMZWJlbnNwdW5rdGUgdW5kIDkgTWFnaWVwdW5rdGUuCkR1IGhhc3QgamV0enQgMTQwIExlYmVuc3B1bmt0ZSB1bmQgMzEgTWFnaWVwdW5rdGUuCkhtbW0sIGxlY2tlciEKYQpEdSBoYXN0IDMxNjU2Mzg0IEVyZmFocnVuZ3NwdW5rdGUsIDE4MTUgQWJlbnRldWVycHVua3RlKDE3NDApLAoxNDAgTGViZW5zcHVua3RlKDIxMCkgdW5kIDMxIE1hZ2llcHVua3RlKDIyNikKRHUgYmlzdCAiR3V5YnJ1c2ggVGhyZWVwd29vZC4iCkRlaW5lIEF0dHJpYnV0ZSBzZWhlbiBzbyBhdXM6CkludGVsbGlnZW56OiAyMCAoKzMpIEtyYWZ0OiAyMCAgQXVzZGF1ZXI6IDIwICgrMSkgR2VzY2hpY2tsaWNoa2VpdDogMjAgKCsyKQpBbHRlcjogIDQyIFRhZ2UgMTggU3R1bmRlbiAyIE1pbnV0ZW4gNTggU2VrdW5kZW4uCkRlaW4gQ2hhcmFrdGVyIGlzdCBmcmVjaC4KdwpFaW4gTGV1Y2h0dHJvbGwga29tbXQgYW4uCkVpbiBMZXVjaHR0cm9sbCBrb21tdCBhbi4KCkd1eWJydXNoLCBmcmV1dCBzaWNoIGF1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLU5ldWVydW5nZW4gKExlY2h1Y2ssIDMxLiBNYWkgMTk5NSwgMTA6MDE6NDcpOgojISBybj1HdXlicnVzaCBydD04MDE5MDE1MDAKYXJnbApNZWluIGJsb2VkZXIgRXJzdGVpIGhhdCBkZW4gZmFsc2NoZW4gQmV6dWcgZ2Vub21tZW4gKGRlciBpc3QgZG9vZiB1bmQgc3Rpbmt0KQpEZXIgQXJ0aWtlbCBiZXppZWh0IHNpY2ggZG9jaCBtaXQgU2ljaGVyaGVpdCBhdWYgZC5nZWJpcmdlIGFydGlrZWwgMyB2b24KQW5ha2luIDopCgpMZUNodWNrLCB3aWUgaW1tZXIgc2NobGF1ZXIgYWxzIHNlaW4gYmxvZWRlciwgc3RpbmtlbmRlciBFcnN0aWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFpbCBmb2xkZXJzIChJbmZvbWF4LCAzMS4gTWFpIDE5OTUsIDEyOjU3OjE3KToKIyEgcm49SGlnaGxhbmRlciBydD04MDE3NTQzNzYKd2FzIHNpbmQgMzUgTUIgYXVmIGVpbmVyIDEgR0IgUGxhdHRlID8/PwoKMy41IFByb3plbnQuIGxhZWNoZXJsaWNoLgoKRWluIGdydWViZWxuZGVyIEluZm9tYXggLC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEFyYW55YSwgMzEuIE1haSAxOTk1LCAxMzo0MDo0OCk6CiMhIHJuPUN5bW9uayBydD04MDE3NDgzODEKVGphLCBhbHNvLCB3ZW5uIGljaCBncm9zcyAoYWxzbyBNYWdpZXJpbikgYmluLCB3YXMgc2ljaGVyIG5vY2ggZWluaWdlIE1VRGphaC0KcmUgZGF1ZXJuIHdpcmQsIHdlcmRlIGljaCBlaW5lIFF1ZXN0IHNjaHJlaWJlbiAoZGllIFBsYW51bmcgc3RlaHQgc2Nob24KZ3JvYiksCmJlaSBkZW0gbmljaHQgZ2VtZXR6ZWx0IHdlcmRlbiBzb2xsLiA7KSBXZW5uIGV1Y2ggZGFzIHdhcyBudWV0enQuClNvbGwgc2NobGllc3NsaWNoIGVpbmUgSm91cm5hbGlzdGVucXVlc3Qgd2VyZGVuLiBIYWNoIGphLiBNYW4gbXVzcyBlaW4gVGhlbWEKcmVjaGVyY2hpZXJlbi4gRGEga29tbXQgbWFuIHJ1bS4gV2llIGJlaSBkZXIgUG9zdHF1ZXN0LgoKQXJhbnlhCiAgICAgIHRyYWV1bXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HLUVudHppZWh1bmdza3VyIChBbGluZSwgIDEuIEp1biAxOTk1LCAxMDoxNjozNyk6CgpIYWxsbyBMZXV0ZSwKCmFiIG5hZWNoc3RlIFdvY2hlIHByb2JpZXJlIGljaCBtYWwgZWluZSBFbnR6aWVodW5nc2t1ciB2b20gTUcsIHVtIHp1CnNlaGVuIG9iIGljaCBhdWYgZGllc2UgV2Vpc2UgbWVpbmUgU3VjaHQgbG9zd2VyZGUuOikKRGEgaWNoIGltIE1vbWVudCBldHdhcyB1bnRlciBTdHJlc3Mgc3RlaGUsIG1vZWNodGUgaWNoIG1pY2ggYXVmIGRpZXNlCldlaXNlIGxpZWIgdm9uIGFsbGVuIGRpZSBtaWNoIGtlbm5lbiB1bmQgZXZ0LiBtb2VnZW4gKHZpZWxlCnNpbmQgZXMgamEgbmljaHQgOykgKSB2ZXJhYnNjaGllZGVuIHVuZCBzaWUgbm9jaG1hbCBsaWViIGdydWVzc2VuLgpBbnNvbnN0ZW4gaG9mZmUgaWNoLCBkYXNzIGljaCBpbSBKdWxpIGRhbm4gd2llZGVyIGhpZXIgYmluIHVuZCBkaWUKYW5kZXJlbiAoZGllIG1pY2ggbmljaHQgbW9lZ2VuKSB3aWVkZXIgZ2Vob2VyaWcgbmVydmVuIHVuZCBhZXJnZXJuIGthbm4KOikKClNvIGRhcyB3YWVyZSBlcwoKQWxpbmUgKGxlaWRldCBzY2hvbiBqZXR6dCBhbiBFbnR6dWdzZXJzY2hlaW51bmdlbikKClBTOkFuIGFsbGUgQmVybGluZXIgLi4uLi4gZGVua3QgYW4gZGFzIFRyZWZmZW4hISEgSW5mb3MgYmVpIEJpcmRpZSwgSGF0ZSBvZGVyCkh1ZXBmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvYm9sZCAoQXJ0eSwgIDEuIEp1biAxOTk1LCAxODoyOToxNik6CkhpICEKQWxzbyBtaXIgdW5kIHZpZWxlbiBhbmRlcmVuIGdlaHQgZXMgaGFldWZpZyBzbyAsIGRhc3MgbWFuIGRlbiBLb2JvbGQKZWluc2NoYWx0ZXQgdW0gZXR3YXMgaW4gcnVoZSBsZXNlbiB6dSBrb2VubmVuLCBhYmVyIG5hY2ggZGVtIGxlc2VuIHZlcmdpc3N0LApkZW4ga29ib2xkIHd3aWVkZXIgYXVzenVzY2hhbHRlbi4gd2FlcmUgZXMgbmljaHQgbW9lZ2xpY2gsIGRhc3MgZGVyIGtvYm9sZAp3ZW5uIGVyIGVpbmdlc2NoYWx0ZW4gaXN0IHVuZCBzaWNoIHdhcyBtZXJrdCBlaW5lbiBwaWVwdG9uIHZvbiBzaWNoIGdpYnQgKCB3aWUKYmVpbSAiZXJ3YXJ0ZSIpLCBkYW5uIHdlaXNzIG1hbiBlcyB3dXJkZSB3YXMgZ2VtZXJrdCwgdW5kIGVzIHN0b2VydCBuaWNodCBiZWltCmxlc2VuICEKCkFSVFkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1c2dhZW5nZSAoR2FyZmllbGQsICAyLiBKdW4gMTk5NSwgMTM6Mzc6NDcpOgpBbHNvLCBpY2ggZmluZHMgamEgdG9sbCwKd2FzIGluIGxldHp0ZXIgWmVpdCBoaWVyIGFsbGVzIGZ1ZXIgYmVudXR6ZXJtYWVzc2lnZSBWZXJiZXNzZXJ1bmdlbgpwYXNzaWVydCBzaW5kICptYnVzc2kqLCBhYmVyIHVtIGVpbnMgaXN0cyBlY2h0IHNjaGFkZToKRGFzIGlzdCBkZXIgQmVmZWhsICJhdXMiLCBkZXIgbmljaHQgbWVociBnZWh0LCB3ZW5ucyBkdW5rZWwgaXN0IGltClJhdW0uIFdpZXNvIGRlbm4/IFNjaGxpZXNzbGljaCBrYW5uIG1hbiBzaWNoIGltbWVyIG5vY2ggdm9yd2FlcnRzdGFzdGVuLApvZGVyIHNvbnN0d2FzLCBzbyBtYWwgZ2FueiBybC1tYWVzc2lnIGR1bW0gZ2VkYWNodCwgdW0gQXVzZ2FlbmdlCnJhdXN6dWZpbmRlbi4gVW5kIGF1c3NlcmRlbSBpc3RzIGVoIGVnYWwsIHdpciBzaW5kIGVpbiBGYW50YXN5LU11ZCwKdW5kIGVzIGlzdCBlaW5mYWNoIHByYWt0aXNjaGVyLCB3ZW5uIG1hbiBpbW1lciBzZWhlbiBrYW5uLCB3YXMgZnVlcgpBdXNnYWVuZ2UgZGEgc2luZC4gQmVzb25kZXJzIGluIGRlciBTY2hyZWNrZW5zc3BpdHplIG9kZXIgc28uIERhIG11c3MKbWFuIG5pY2h0IGltbWVyIExpY2h0IGFubWFjaGVuLCBrb3N0ZXQgZG9jaCBudXIgTWFnaWUuIFdlbm4gbWFuIHNpY2gKZGFubiBhdXNrZW5udCwgYnJhdWNodCBtYW4gbnVyIGd1Y2tlbiwgd2VsY2hlIEF1c2dhZW5nZSB1bmQgd2Vpc3MsCndvIG1hbiBpc3QuCldhcyBkZW5rZW4gZGEgZGVubiBhbmRlcmUgZGF6dT8KQml0dGUgU3RpbW1lbi4KTWlyIGlzdHMgaGFsdCBhcmcgZHJ1bS4KCmdhcmZpZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVzZ2FlbmdlIChCb2luZywgIDIuIEp1biAxOTk1LCAxMzo0Njo0OCk6CiMhIHJuPUdhcmZpZWxkIHJ0PTgwMjA5MzA2NwpPaCBuZWluIC4uLiBuaWNodCBzY2hvbiB3aWVkZXIgLi4uICpzZXVmeioKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhdXNnYWVuZ2UgKEdhcmZpZWxkLCAgMi4gSnVuIDE5OTUsIDEzOjU5OjIzKToKIyEgcm49Qm9pbmcgcnQ9ODAyMDkzNjA4CkJvaW5nPwoKV2FzIG5lcnZ0IGRhcmFuPwpLb2VubmVuIGRhIG1hbCBTcGllbGVyIHNpY2ggbWVsZGVuLCB3ZWlsIHdlbm4gZGFzIHZpZWxlbiBzbwpnZWh0LCBpc3RzIGRvY2ggbmUgVWViZXJsZWd1bmcgd2VydCwgb2Rlcj8KClNvcnJ5CgpHYXJmaWVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYXVzZ2FlbmdlIChIb2JvLCAgMi4gSnVuIDE5OTUsIDE0OjA0OjAxKToKIyEgcm49R2FyZmllbGQgcnQ9ODAyMDk0MzYzCkR1IHNjaHJlaWJzdCBzbyBzY2hvZW4sIGRhc3MgbWFuIHdlaXNzIHdvIG1hbiBpc3QsIHdlbm4gbWFuIHNpY2ggYXVza2VubnQgdW5kCm5hY2ggQXVzZ2FlbmdlbiB0YXN0ZW4ga2Fubi4KQWJlciB3ZW5uIG1hbiBzaWNoIGF1c2tlbm50LCB3ZWlzcyBtYW4gc293aWVzbyBpbW1lciwgd28gbWFuIGlzdC4gVW5kIHdlbm4KbWFuIGZsaWVodCwgbWVya3QgbWFuCmF1Y2gsIHdlbm4gbWFuIGRyZWltYWwgZ2VnZW4gZWluZSBXYW5kIGdlbGF1ZmVuIGlzdCwgd28gbWFuIHNpY2ggYmVmaW5kZXQuLi4KT2RlciBuaWNodD8KCgogICAgICAgICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhdXNnYWVuZ2UgKEJvaW5nLCAgMi4gSnVuIDE5OTUsIDE0OjA0OjA1KToKIyEgcm49R2FyZmllbGQgcnQ9ODAyMDk0MzYzCkVzIG5lcnZ0IGRhcmFuLCBkYXNzIGRpZXNlcyBUaGVtYSBzY2hvbiB2b3IgTW9uYXRlbiAoamEsIGRpZSBBZW5kZXJ1bmcKaXN0IGtlaW5lc2ZhbGxzIG5ldSkgYmlzIHp1bSBFcmJyZWNoZW4gYXVzZGlza3V0aWVydCB3dXJkZS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvYm9sZCAoSGF0ZSwgIDIuIEp1biAxOTk1LCAxNToxMDo0OSk6CiMhIHJuPUFydHkgcnQ9ODAyMDI0MTU2Cldlbm4gZGFzIHNvIHRyaXZpYWwgd2FlcmUsIHd1ZXJkZSBkZXIgS29ib2xkIGF1dG9tYXRpc2NoIG5hY2ggZGVtIGJlZW5kZW4KZGVzIEVkaXRpZXJ2b3JnYW5nZXMgZGllIE1lbGR1bmdlbiBhbnplaWdlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS29ib2xkIChIaWdobGFuZGVyLCAgMi4gSnVuIDE5OTUsIDE1OjQzOjA5KToKIyEgcm49SGF0ZSBydD04MDIwOTg2NDkKQXVmIGRpZSBHZWZhaHIgaGluLCBtaWNoIHVuYmVsaWVidCB6dSBtYWNoZW46CkluIFRBUFAgbWFjaHQgZGFzIEFlcXVpdmFsZW50IHp1bSBLb2JvbGQgZGFzIDo+CiAgIEhpZ2hsYW5kZXIKKjgKbm4KTWlzdCA6PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS29ib2xkIChIYXRlLCAgMi4gSnVuIDE5OTUsIDE1OjQ2OjUyKToKIyEgcm49SGlnaGxhbmRlciBydD04MDIxMDA1ODkKRG9ydCBpc3QgYWJlciBhdWNoIGRpZSBLb21tdW5pa2F0aW9uIGFuZGVycyBpbXBsZW1lbnRpZXJ0LgpJY2gga29lbm50ZSBtaWNoIGR1cmNocmluZ2VuIGVpbnp1YmF1ZW4sIGRpZSBBdXNnYWJlIGRhbm4genUgbWFjaGVuLCB3ZW5uCmRhcyBuYWVjaHN0ZSBtYWwgZWluZSBOYWNocmljaHQgYW5rb21tdCwgYWJlciBkYXMga2FubiB1LlUuIGJpcyB6dW0KbmFlY2hzdGVuIHRlaWxlIG1pdCBkYXVlcm4uCkhhdGUuIChhZWgsIGRhcyB0ZWlsZSBtaXQgdm9uIGVpbmVtIGFuZGVyZW4genUgbWlyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RlaW50YWZlbG4gKEpvZiwgIDIuIEp1biAxOTk1LCAxODo0OToyNSk6CgogV2lyIGhhYmVuIGluIGRlciBHaWxkZSwgZGVtIEVsZmVuaGFpbiB1bmQgZGVyIFp3ZXJnZW5rYXBlbGxlIGpld2VpbHMgZWluZQpTdGVpbnRhZmVsIGFuIGRpZSBXYW5kIGdlaGFlbmd0LiBEb3J0IHdlcmRlbiBkaWUgSGVsZGVuIGRlciBqZXdlaWxpZ2VuIFJhc3NlCmF1ZmdlZnVlaHJ0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF1c2dhZW5nZSAoQ2FyYWRocmFzLCAgMy4gSnVuIDE5OTUsIDAwOjI0OjUyKToKIyEgcm49R2FyZmllbGQgcnQ9ODAyMDkzMDY3CkJpbiBkYWdlZ2VuLCBHYXJmaWVsZC4gRGFmdWVyIGdpYnQgZXMgamV0enQgamEgZGVuIExpY2h0LVphdWJlcnNwcnVjaCwKc2VsYnN0IHdlbm4gZHUgbWFsIGltIGR1bmtlbG4gc3RlaGVuIHdpcnN0LiBEYW1pdCBoYWJlbiBkaWUgTWFnZ2llcwpnbGF1YmUgaWNoIGxpY2h0bWFlc3NpZyBnZW51ZyBmdWVyIHVucyBnZXRhbi4KVGphLCB1bmQgZmFsbHMgd2VyIEthcmF0ZWthIGlzdDogSW1tZXIgc2Nob2VuIGFuIEZhY2tlbG4gZGVua2VuIDotKQoKICAgICAgICAgICAgIHRzY2h1ZXNzICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKFp1ZXJpbGV1LCAgNC4gSnVuIDE5OTUsIDAyOjI0OjE5KToKIyEgcm49SmFmIHJ0PTgwMTc0ODUzNApTYWxpLApXaWUgd2FlcnN6dSBtZXR6ZWxuIG9obmUgenUgUXVlc3RlbiA/Cld1ZXJkIGljaCB2aWVsIG1laHIgYmV2b3J6dWdlbiAhIQoKQ3UgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGVyaGlsZmUgZ2VzdWNodC4uLiAoWnVlcmlsZXUsICA0LiBKdW4gMTk5NSwgMDI6Mzc6MzcpOgojISBybj1QdW1hIHJ0PTgwMTg0Njg2NQpTYWxpLApOdW4gbmF0dWVybGljaCBkaWUgV2Fzc2VycGZlaWZlIHZvbiBEZWF0aCBkaWUgbGVpZGVyIHp1cnplaXQgbnVyIHZvbiBNYWdpZXIKenVnZWFuZ2xpY2ggaXN0LCB1bmQgZGllIGVyIGZyZXVuZGxpY2hlcndlaXNlIGZ1ZXIgbWljaCBwcm9ncmFtbWllcnQgaGFiZSwKbm9jaG1hbHNkYW5rZSBtZWluZXJzZWl0cyBkYWZ1ZXIgPTopLgoKRGFubiBkaWUgSm9pbnRzIHZvbiBBbnRoZWEgb2RlciBkaWUgVHJvZXRlIGZ1ZXJzIFBhcnR5bW9uc3RlciB2b24gS2V0b3MuCgpEYW5uIGdlZmFlbGx0IG1pciBkZXIgV2VpbmtlbGxlciBpbSBCZXJnZG9yZi4KCkRpZSBoYWVuZ2VuYnJ1ZWNrZSB2b24gPyBlaW5nYW5nIFNTUCwgZGllIGltbWVyIGFybWUgU3BpZWxlciBraWxsdCAoaGloaSkKCmFlbW0uLiAgQW5keSB1bmQgSGlwcCBkaWUgbWlyIGltbWVyIGRlbiBsZXR6dGVuIG5lcnYgcmF1YmVuIHVuZCBpY2ggc2llClphcHBlLgoKZGFubgpjYXJhZGhyYXMsYXNtb2Rpcyxhenp1cm8sb3JrdG9ldGVyLHJ5bmUsemFyYXRodXN0cmEsZGVhdGgsdG9ldGVyLGJsb29kZ29yZSxnb2x1bQp1bmQgd2lya2xpY2ggYWxsZSBhbGxlIGRpZSBpY2ggaGllciBrZW5uZSwgZWNodCBzb3JyeSBhYmVyIGVzIHNpbmQgc28gdmllbGUgdW0KYWxsZSBhdWZ6dWFlaGxlbiBkaWUgbWlyIGhpZXIgaW1tZXIgd2llZGVyIGZyZXVkZSBiZXJlaXRldCBzaWUgenUgc2VoZW4gPTopKQoKRGFubiBuYXR1ZXJsaWNoIG1laW5lIGdlbGllYnRlIEZyYXUgQXZhbG9uYSBkaWUgaWNoIGF1Y2ggZnVlciBkaWUgUmVhbCBCcmllZmUKZGFua2VuIG1vZWNodGUgd28gaWNoIGlociBzaWNoZXIgYmFsZCB6dXJ1ZWNrc2NocmVpYmUgPTopKQoKb2NoIG9laG1tIG5pY2h0IGFsbGVzIGJyYXVjaGJhciBkdWVyIGRpY2ggYWJlciBlcyB3YXIgbWFsIGd1dCBzZWluIEhlcnoKYXVzenVzY2h1ZXR0ZW4gPTopCgpUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyaGlsZmUgZ2VzdWNodC4uLiAoWnVlcmlsZXUsICA0LiBKdW4gMTk5NSwgMDI6NDM6MTUpOgojISBybj1adWVyaWxldSBydD04MDIyMjYyNTcKU2FsaSwKCk9oLi4gIGRpZSBBcmVuYSBoYWIgaWNoIHZlcmdlc3NlbiAhISA9OikKCmN1IFp1ZXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKElzbm9nb29kLCAgNC4gSnVuIDE5OTUsIDA1OjI5OjU4KToKIyEgcm49SG9ibyBydD04MDE3NTEzNjUKT2IgamVtYW5kLCBkZXIgd2VuaWdlciBhbHMgMTIwIExQIGhhdCwgc28gc2NobmVsbCBkZW4gQXVzZ2FuZyBmaW5kZXQsIHVtCndlZ3p1cmVubmVuLCB3YWdlIGljaCB6dSBiZXp3ZXVmZWxuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhdXNnYWVuZ2UgKEdyaW1tYm9ybiwgIDQuIEp1biAxOTk1LCAxNDowODo1OSk6CiMhIHJuPUJvaW5nIHJ0PTgwMjA5NDY0NQoKVGphLCBkYXMgaXN0IGRhbm4gZGVyIEZsdWNoLCB3ZW5uIG1hbiBzcGllbGVycmVsZXZhbnRlIERpbmdlIGluCk1hZ2llcnJ1YnJpa2VuIGRpc2t1dGllcnQsIGdlbGxlPwpBbHNvIGJpdHRlc2Nob2VuIGtlaW5lIEtsYWdlbiwgZGFzcyBkYXMgVGhlbWEgdm9uIFNwaWVsZXJuIGF1ZmdlZ3JpZmZlbiB3aXJkLgpEYW5uIGxpZWJlciBLbGFnZW4sIGRhc3MgZXMgc28gbGFuZ2UgZ2VkYXVlcnQgaGF0LCBiaXMgZXMgZGVuIFNwaWVsZXJuIHNvCnJpY2h0aWcgYXVmZmFlbGx0Li4uIDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6dCAoSG9taW5pLCAgNC4gSnVuIDE5OTUsIDE4OjA3OjA3KToKCj4gdW50IGthY2hlbApFaW5lIGdhbnplIFJlaWhlIHZvbiBpaG5lbiBpc3QgZ2VzcHJ1bmdlbi4gTWFuIGthbm4gZHVyY2ggZGllIEZ1Z2VuCnNjaG9uIGZhc3QgZGFoaW50ZXJncmVpZmVuIHVuZCBzaWUgYWJicmVjaGVuLgo+IGdyZWlmZSBoaW50ZXIga2FjaGVsCkRpZXNlIEthY2hlbCBzY2hlaW50IHNpY2ggZGFiZWkgbnVyIG5vY2ggd2VpdGVyIHp1IGxvY2tlcm4uCj4gJiYKW2dyZWlmZSBoaW50ZXIga2FjaGVsXQpEaWVzZSBLYWNoZWwgc2NoZWludCBzaWNoIGRhYmVpIG51ciBub2NoIHdlaXRlciB6dSBsb2NrZXJuLgo+ICYmCiZbZ3JlaWZlIGhpbnRlciBrYWNoZWxdCkRpZXNlIEthY2hlbCBzY2hlaW50IHNpY2ggZGFiZWkgbnVyIG5vY2ggd2VpdGVyIHp1IGxvY2tlcm4uCj4gJgpbZ3JlaWZlIGhpbnRlciBrYWNoZWxdCkRpZXNlIEthY2hlbCBzY2hlaW50IHNpY2ggZGFiZWkgbnVyIG5vY2ggd2VpdGVyIHp1IGxvY2tlcm4uCj4gJiYKW2dyZWlmZSBoaW50ZXIga2FjaGVsXQpIaW50ZXIgZWluZXIgRmxpZXNlIGZpbmRlc3QgRHUgZXR3YXMgaW0gUHV0ei4KRGVpbmUgQXR0cmlidXRlIHNlaGVuIHNvIGF1czoKCkludGVsbGlnZW56ICAgICA6ICA5ICgrMCkKS3JhZnQgICAgICAgICAgIDogIDQgKCsyKQpHZXNjaGlja2xpY2hrZWl0OiAgNyAoKzEpCkF1c2RhdWVyICAgICAgICA6ICA0ICgrMykKCldhcyBtb2VjaHRlc3QgRHUgZXJob2VoZW4gPyBEdSBoYXN0IGZvbGdlbmRlIE1vZWdsaWNoa2VpdGVuOgoxKSBJbnRlbGxpZ2VuegoyKSBLcmFmdAozKSBHZXNjaGlja2xpY2hrZWl0CjQpIEF1c2RhdWVyCgpCaXR0ZSBnaWIgamV0enQgZWluZSBaYWhsICgxLTQpIGFuOgoKQWxzbywgYmxvc3Mgd2VpbCBpY2ggbWl0IGRlbSBuZXVlbnRkZWNrdGVuICcmJicgdW5kIGRpZXNlbSBsb2NrZXJuIGdlc3BpZWx0CmhhYiBoYWIgaWNoIG5lbiB6dCBiZWtvbW1lbj8KV2llIGdyb3NzIGlzdCBkZW5uIGRpZSBkdXJjaHNjaG5pdHRsaWNoZSBBbnphaGwgZGVyIFZlcnN1Y2hlLCBkaWUgbWFuCmJyYXVjaHQsIHVtIGVpbmVuIGJlbGllYmlnZW4genQgbWl0IHJpY2h0aWdlciBzeW50YXggenUgZmluZGVuPwoKSG9taW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogenQgKENhcmFkaHJhcywgIDQuIEp1biAxOTk1LCAxODo1NzoyNSk6CiMhIHJuPUhvbWluaSBydD04MDIyODIwMjcKICAgICAgICAgICAgIEh1aHUKCk5vcm1hbGVyd2Vpc2Uga3JpZWd0IG1hbiBlcyBnbGVpY2ggYmVpbSBlcnN0ZW4gbWFsLCBhbGxlcmRpbmdzIGdpYnQKZXMgc2VsdHNhbWVyd2Vpc2UgKHVuZCB1bmZhaXJlcndlaXNlKSBTdGVsbGVuLCBiZWkgZGVuZW4gbWFuIGVzIGVyc3QKYmVpbSAxMHRlbiBNYWwgYmVrb21tdC4gVm9yIGFsbGVtIGRpZXNlIEthY2hlbHN0ZWxsZSBpc3QgYW0gc2NobGltbXN0ZW4sCnNvIHdpZSBpY2ggZGFzIGpldHp0IG1pdGdla3JpZWd0IGhhYmUuIFdhciBtZWluIGxldHp0ZXIgWlQsIGljaCBoYWJlCmlobiBtYWwgYW5nZWt1Y2t0IHVuZCBuaWNodCBiZWtvbW1lbiwgYW0gRW5kZSBoYWIgaWNoIGRhbm4gbm9jaG1hbCBhbGxlCmR1cmNocHJvYmllcnQgdW5kIGRhcyBncmVpZmUuLi4gYXVmIG1laW5lIE1hdXMgZ2VsZWd0LgooTmVpbiwgbmljaHQgZGllIERpZGRsLU1hdXMpCkJlaW0gMzh0ZW4gTWFsIGhhYiBpY2hzIGJla29tbWVuLCB3ZW5uIGljaCByaWNodGlnIG1pdGdlemFlaGx0IGhhYmUuClVuZCBzZWxic3Qgd2VubiBtYW4gZXMgc2Nob24gYmVpbSAzdGVuIG9kZXIgNHRlbiBNYWwgYmVrb21tZW4gc29sbHRlCmZpbmQgaWNoIGVzIGltbWVyIG5vY2ggdW5mYWlyLiBXZXIga29tbXQgZGVubiBzY2hvbiBhdWYgc28gbmUgYmxvZWRlCklkZWUuIERpZSBLYWNoZWwgbG9ja2VydCBzaWNoIDM3IE1hbCBudXIgdW5kIGF1ZiBlaW5tYWwgZmluZGV0IG1hbgp3YXM/ICpncnVtcGYqIEFiZXIgZGllc2VzIFRoZW1hIGhhdHRlbiB3aXIgc2Nob24gbWFsIHVuZCBhbnNjaGVpbmVuZAp3b2xsdGUgbmllbWFuZCBkZXIgdmVyYW50d29ydGxpY2hlbiBNYWdpZXIvR29ldHRlciBldHdhcyBkcmFuIGFlbmRlcm4uCgogICAgICAgICB0c2NodWVzcyAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlza3JpbWluaWVydW5nIChDcnVzYWRlciwgIDQuIEp1biAxOTk1LCAyMzoxOToyMik6CkljaCBiaW4gZXJzdCBrdXJ6ZSBaZWl0IGhpZXIgdW5kIHNjaG9uIG1laHJtYWxzIG1pdCAiZWxlbmRlciBPc3NpIiwKIkVpZXIgYWJzY2huZWlkZW4iIHVzdy4gYmVzY2hpbXBmdCB3b3JkZW4uIE11c3MgZGFzIHNlaW4KCkFUSAoKCgpbQVtCfmQKW0FbQVtBW0FbQVtBW0FbQVtCKioKCltCW0JbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQVtBW0FbQVtBW0FbQVtDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQz8/PwoKW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQz8/P35oCgpbQVtDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQwpbQVtBW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtCW0J+aAoKW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtBW0FbQVtBW0FbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNrcmltaW5pZXJ1bmcgKEF6enVybywgIDUuIEp1biAxOTk1LCAxMTo1ODowOCk6CiMhIHJuPUNydXNhZGVyIHJ0PTgwMjMwMDc2MgpJY2ggZGlza3JpbWluaWVyZSBudXIgbWVpbmUgQ2hlbW5pdHplciBMaWVibGluZ3Nvc3Npcy4gVW5kIGRpZSB3aXNzZW4gd2llIGljaApkYXMgbWVpbmUuIChob2ZmZSBpY2ggZG9jaC4gOykgKQpBYmVyIGljaCBtdXNzIGRpciB6dXN0aW1tZW4uIEFscyBTYWFybGFlbmRlciB3aXJkIG1hbiBhdWNoIGZlcnRpZyBnZW1hY2h0LiA6KQpEZXNoYWxiIGpldHp0IGFuIGFsbGU6IElzY2ggYmlpbiBlZWluIEV1cm9wYWVlci4KCk1lcmtlOiBNYW4gd2lyZCBudXIgaW1tZXIgc28gZGlza3JpbWluaWVydCwgd2llIG1hbiBzaWNoIGxhZXNzdC4KICAgICAgIFdvZnVlciBnaWJ0IGVzIGRpZSBBcmVuYT8gOykKCkdydXNzCkF6enVybywgZGVyIFZhdGVybGFuZGxvc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGZyZWFrcyBhdWZnZXBhc3N0LiAoQXp6dXJvLCAgNS4gSnVuIDE5OTUsIDE0OjUwOjQ1KToKClZPUlNJQ0hUISEhCgpJbiBkZW4gQnJlaXRlbiBkZXMgRHNjaHVuZ2VscyBpc3QgZWluZSBuZXVlIEtyYW5raGVpdCBhdXNnZWJyb2NoZW4uCkRpZSBTcGllbHN1Y2h0LiBOUENzIHVuZCBlaW4gcGFhciBtdXRpZ2UgQWJlbnRldXJlciBoYWJlbiBpbiBlaW5lciBhbHRlbgpTdGFkdCBlaW4gdXJhbHRlcyBTcGllbCBlbnRkZWNrdCB1bmQgc2luZCBudW4gbWl0IEhhdXQgdW5kIEhhYXIgZGVyCkxlaWRlbnNjaGFmdCB2ZXJmYWxsZW4uCkluIGRlciBOYWVoZSB2b20gT3JraG9ydCBzb2xsZW4gZGllIFN1Y2h0aWVzIGdlaGFldWZ0IGF1ZnRyZXRlbi4KQWxzbyB3ZXIgYXVjaCBlaW4gYWx0ZXMgU3BpZWxraW5kIGlzdCA9PT0+IGFiIGluIGRlbiBEc2NodW5nZWwuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNrcmltaW5pZXJ1bmcgKEdyaW1tYm9ybiwgIDUuIEp1biAxOTk1LCAxODowMDo0Nyk6CiMhIHJuPUNydXNhZGVyIHJ0PTgwMjMwMDc2MgoKVGphLCBuYWNoIE1FSU5FUiBiZXNjaGVpZGVuZW4gRXJmYWhydW5nIGxhZXVmdCBkYXMgaGllciBmb2xnZW5kZXJtYXNzZW4gYWI6Cldlbm4gbWFuIHNpY2ggaGFsYndlZ3MgYW5zdGFlbmRpZyBiZW5pbW10IHdpcmQgbWFuIG5pY2h0ICJkaXNrcmltaW5pZXJ0Ii4KV2VubiBtYW4gc2ljaCBhbGxlcmRpbmdzIGluIGlyZ2VuZGVpbmVyIEZvcm0gZGV1dGxpY2ggZGFuZWJlbiBiZW5pbW10LCBzdWNoZW4Kc2ljaCBkaWUgYW5kZXJlbiBpcmdlbmR3YXMgcmF1cyB1bSBkZW4gQmV0cmVmZmVuZGVuIHp1Li4uYWVoLi4ucmVjaHR6dXdlaXNlbi4KRGFzIGthbm4gdm9uIEhlcmt1bmZ0IGJpcyBSYXNzZSAoSHVodSBIYXJkaWwhIDotKSApIGZhc3QgYWxsZXMgc2VpbiwgZGEgZ2VodHMKZGFubiBuaWNodCBnZWdlbiBlaW5lIGJlc3RpbW10ZSBHcnVwcGUgKGRpZSBPc3Npcykgc29uZGVybiBnZWdlbiBkaWVzZSBQZXJzb24uClVuZCBkaWUgaGF0cyBzaWNoIG1pdHVudGVyIHNlbGJlciB6dXp1c2NocmVpYmVuLiA6LSkKRGF6dSBtdXNzIGljaCB2aWVsbGVpY2h0IG5vY2ggYmVtZXJrZW4sIGRhc3MgaWNoIENydXNhZGVyIG5pY2h0IGdlbmF1ZXIga2VubmUKdW5kIGVyIG1pciBiaXNoZXIgYXVjaCBudXIgd2VuaWcgYXVmZ2VmYWxsZW4gaXN0LgpBYmVyIGdydW5kbG9zIGlzdCBzbyBlaW4gVmVyaGFsdGVuIGFuZGVyZXIgaW4gZGVyIFJlZ2VsIG5pY2h0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIERpc2tyaW1pbmllcnQgb2huZSBBbnNlaGVuIGRlciBQZXJzb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpc2tyaW1pbmllcnVuZyAoQ3J1c2FkZXIsICA2LiBKdW4gMTk5NSwgMDA6NDI6NTEpOgojISBybj1HcmltbWJvcm4gcnQ9ODAyMzY4MDQ3CmljaCBoYWIgbWljaCBiZXN0aW1tdCBub2NoIG5pY2h0IGRhbmViZW5iZW5vbW1lbiwgaW0gZ2VzYWd0ZW4gZmFsbCBzY2hvbgpnYXJuaWNodCEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpc2tyaW1pbmllcnVuZyAoTW9ub3RvbmksICA2LiBKdW4gMTk5NSwgMTI6MjQ6MjcpOgojISBybj1DcnVzYWRlciBydD04MDIzMDA3NjIKCipncmlucyogRGFzIGxpZWd0IGJlc3RpbW10IGFuIGRpZXNlbiBtZXJrd3VlcmRpZ2VuIFplaXR1bmdzYXJ0aWtlbG4gbWl0IGRlbgp2aWVsZW4gU3RldWVyemVpY2hlbiAhIDotKQoKTW9ub3RvbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNrcmltaW5pZXJ1bmcgKEFyZGFuYSwgIDYuIEp1biAxOTk1LCAxNjo0ODowMik6CiMhIHJuPUNydXNhZGVyIHJ0PTgwMjMwMDc2MgpIdWh1IElocnMsCgp6dSBkZW0gVGhlbWEga2FubiBpY2ggbnVyIGVpbmVzIHNhZ2VuLCBpbiBtZWluZW4gNDMgb25saW5lIC0gVGFnZW4gYmluIGljaApub2NoIG5pZSBhbHMgT3NzaSBiZXNjaGltcGZ0IHdvcmRlbi4uLiBvZGVyIGFlaG5saWNoZXMuIFdlciBzaW5kIGRlbm4gZGllc2UKUGFwcG5hc2VuPyBTaW5kIG1pciBsZWlkZXIgbm9jaCBuaWNodCBiZWdlZ25ldCwgc29uc3QgaGFldHRlIGVzIGJlc3RpbW10IGVpbgpQSyBnZWdlYmVuIDopKSkuIFVuZCBuZWJlbmJlaS4uLiBkZXIgJ0lnbm9yaWVyZScgLSBCZWZlaGwgaXN0IHdvaGwgaW56d2lzY2hlbgpzZWhyIGd1dCBnZXByb2dndCB1bmQgYXVzZ2ViYXV0Li4uCgpKdXN0IG15IFNlbmYKICAgICAgICAgICAgQXJkYW5hLCBkZXIgbmljaHQgYXVmIEJlbGVpZGlndW5nZW4gc3RlaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vdGl6IChDaHJpc3BlbCwgIDguIEp1biAxOTk1LCAxMjowMTo0NSk6CiBJY2ggd2Vpc3MgbmljaHQgb2IgZGFzIGhpZXIgZGVyIHJpY2h0aWdlIE9ydCBmdWVyIG5lIE5hY2hyaWNodCBpc3QgLAppY2ggd29sbHRlIG51ciBzYWdlbiwgZGFzcyBpY2ggMTAwMCBHTSB6d2Vja3MgWndlcmdlbmF4dC0KZWlua2F1ZiBlbnRsaWVoZW4gaGFiZSAoaW4gZGVyIEZvcnN0aHVldHRlKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN3YWJlZG9vZGFocyAoV3VyLCAgOS4gSnVuIDE5OTUsIDAyOjU0OjI2KToKR2VzdGVybiBzY2hsZW5kZXJ0ZSBpY2ggZXR3YXMgZ2VsYW5nd2VpbHQgdWViZXJzIEZlc3RsYW5kLiBTY2hhdXRlIG1pciBtYWwKd2llZGVyIGRpZSBuZXR0ZSBHZWdlbmQgYW4gdW5kIGVyaG9sdGUgbWljaCBkYWJlaSBlaW4gd2VuaWcsIGFscyBpY2gKcGxvZXR6bGljaCB2b24gZWluZW0gTmV1YW5rb2VtbWxpbmcgaW0gTUcgYmVncnVlc3N0ZSB3dXJkZS4KRXIgc2FoIHNvIHJpY2h0aWcga2xlaW4gdW5kIG5pZWRsaWNoIGF1cyB1bmQgc2NoaWVuIHNpY2ggbmljaHQgZ2FueiBzaWNoZXIgenUKc2Vpbiwgd29oaW4gZXIgZGVubiBlaWdlbnRsaWNoIGxhdWZlbiBzb2xsdGUuCk5hY2ggZWlubSBrdXJ6ZW4gR2VzcHJhZWNoIG1pdCBpaG0sIHd1cmRlIG1pciBzZWluIHRyYXVyaWdlcyBTY2hpa3NhbCBrbGFyLgpOYWphLCB3aWUgYXVjaCBpbW1lciwgYW5zY2hlaW5lbmQgZXJmcmV1dCBlcyBpaG4gc2Vociwgd2VubiBlciBlaW4gd2VuaWcKVW50ZXJoYWx0dW5nIGhhZXR0ZS4KV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXVsaWNoIChHYXJmaWVsZCwgMTIuIEp1biAxOTk1LCAxNjoyNjo1OSk6Cm5ldWxpY2ggYWxzIHB1bmljYSBuYWNoIGRlciBzYWxiZSBmcmFndGUuIGRlciBzYWxiZSBmdWVyIGRpZSBncmlzdS1xdWVzdC4KCltBYmVudGV1ZXI6UHVuaWNhXSBoaWxmZS4gd2VyIHNhZ3QgbWlyIGJpdHRlLCB3byBpY2ggZGllIHNhbGJlIGhlcmJla29tbWUsCltBYmVudGV1ZXI6UHVuaWNhXSBtaXQgZGVyIGljaCBncmlzdSBoZWlsZT8gbmljaHQgdm9tIGhlaWxlcj8gZGVyIHR1dCwgYWxzCltBYmVudGV1ZXI6UHVuaWNhXSB3dWVzc3RlIGVyIG5peC4gdW5kIGRlciByaW1hbmRlciBoYXQgc2llIGF1Y2ggbmljaHQuCj4gLWIgYml0dGUgaGlsZmUKW0FiZW50ZXVlcjpQdW5pY2FdIGJpdHRlIGhpbGZlCj4gSEFTVEEgdGVpbHQgRGlyIG1pdDogdW50ZXJzdWNoZSBkYXMgZ2FuemUgZWlzL2ZldWVyIGxhYnlyaW50aC4oc3VjaGUgZG9zZSkuClRhaXBhbiB0ZWlsdCBEaXIgbWl0OiBkYSBtdXNzdCBkdSBydW50ZXIgYXVmIGRpZSBFYmVuZS4uCkhBU1RBIHRlaWx0IERpciBtaXQ6IGlzdCBpbiBpcmdlbmRlaW5lbSByYXVtLgpTbHlmb3ggdGVpbHQgRGlyIG1pdDogSGkhIFdvIGJyZW5udCdzPwpUYWlwYW4gdGVpbHQgRGlyIG1pdDoga2xldHRlciByYXVzIGF1cyBkZXIgSG9laGxlIHVuZCBpY2ggZ2xhdWIgZGFubiBuYWNoClRhaXBhbiB0ZWlsdCBEaXIgbWl0OiB3ZXN0Li4KVmFuaXIgdGVpbHQgRGlyIG1pdDogZGllIGlzdCBpbiBlaW5lciB3YW5kIGluIGVpbmVyIG5pc2NoZSwgaWNoIGdsYXViZSB2b24KZGVtClZhbmlyIHRlaWx0IERpciBtaXQ6IG9ydCwgd28gbWFuIGluIGRpZSBmZXVlcmViZW5lIGtvbW10IG8sIHMKCmhtLgpzY2hlaW50IGphIGVpbmlna2VpdCB6dSBoZXJyc2NoZW4uCmRhbmtlIGFsbGVuCipncmlucyoKCmdhcmZpZWxkCioqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYm90c2NoYWZ0IChHYXN0MiwgMTIuIEp1biAxOTk1LCAxODoxNTo0MSk6Ck1vaW4sIExldXRlIQpIaWVyIHN0ZWhlbiBqYSB2aWVsZSBzY2hvZW5lIFNhY2hlbiB6dW0gQW5rdWNrZW4gJ3J1bS4KQWJlciwgc2FjaHQgbWFsLCB3aWUga29tbWUgaWNoIGFuIGRhcyBCaWVyPz8/CkljaCBoYWIgc29vb29uIER1cnN0IQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmFsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCB3aWxsIGFiZXIhIChZZW5kaSwgMTMuIEp1biAxOTk1LCAxNjoyNzozMik6CgpJY2ggd2lsbCBlaW4gW1ddIGltIGt3ZXIgaGFiZW4hCgpTY2hsaWVzc2xpY2ggc3RlaHQgaW4gZGVyIGt3ZXItSGlsZmVzZWl0ZToKCiAgICAgICAgRGllIEJ1Y2hzdGFiZW4gaW4gZWNraWdlbiBLbGFtbWVybiBiZWRldXRlbjoKICAgICAgICAgIFtzXSBTcGllbGVyICAgICAgICAgICAgICAgICAgW1NdIFNlaGVyCiAgICAgICAgICBbTF0gTWFnaWVybGVocmxpbmcgICAgICAgICAgIFttXSBWb2xsbWFnaWVyLCBvaG5lIFJlZ2lvbgogICAgICAgICAgW01dIFZvbGxtYWdpZXIsIG1pdCBSZWdpb24gICBbSF0gSGlsZnNtYWdpZXIKICAgICAgICAgIFtSXSBSZWdpb25zY2hlZiAgICAgICAgICAgICAgW1ddIFdlaXNlciAgIDwtLS0hISEKICAgICAgICAgIFtFXSBFcnptYWdpZXIgICAgICAgICAgICAgICAgW0ddIEdvdHQKCk5hamEsIHVuZCB3ZWlsIGljaCBhdXNzZXIgVnJhaSBkZXIgZWluemlnZSBub2NoIHZlcmJsaWViZW5lIFdlaXNlIGltCk1vcmdlbkdyYXVlbiBiaW4gKG9kZXIgZ2lidCBlcyBub2NoIGVpbmVuPyBUcmF1dCBldWNoLCB3aXIgZ3J1ZW5kZW4gZWluZW4KVmVyZWluICJIaWxmZSBmdWVyIGJlZHJvaHRlIFdlaXNlIiBvZGVyIHNvLi4uIHZpZWxsZWljaHQga29tbWVuIHdpciBhdWYgZGllClJvdGUgTGlzdGUuLi4pIHVuZCB3ZWlsIGljaCBzY2hvbiBlaW5lIGdhbnplIFdlaWxlIGxhZW5nZXIgIldlaXNlciIgYmluIGFscwpWcmFpIChlaW4gSmFocj8gYW5kZXJ0aGFsYmU/KSB3aWxsIGljaCBhdWNoIHN0YXR0IGRlcyBbc10gZWluIFtXXSBpbiBkZXIKTGlzdGUhCgpKYXdvbGxqYSEKCk1pY2ggc29taXQgYW4gZGllIGVybGF1Y2h0ZSBPZWZmZW50bGljaGtlaXQgZ2V3YW5kdCBoYWJlbmQgdmVyYmxlaWJlIGljaAoKICAgICAgICAgICBpaHIgc3RldHMgZXJnZWJlbmVyIERpZW5lcgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFllbmRpCgooVW50ZXJzY2hyaWZ0LCBTaWVnZWwpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVyIFNlbGJzdGxvZXNjaHVuZyB2b24gQXZhbG9uYSAoQXZhbG9uLCAxMy4gSnVuIDE5OTUsIDE2OjQzOjQ4KToKV2llIGVpbmlnZSB2aWVsbGVpY2h0IGZlc3RnZXN0ZWxsdCBoYWJlbiBoYWJlIGljaCBtaWNoIGluIEZvcm0gdm9uIEF2YWxvbmEsCmJ6dy4gQXZhbG9uIHNlbGJzdGdlbG9lc2NodC4gRGllcyBnZXNjaGFoIGF1cyBwZXJzb2VubGljaGVuIFByb2JsZW1lbiBoZXJhdXMsCmRpZSBpY2ggaGllciBuaWNodCBlcmxhZXV0ZXJuIHdpbGwgdW5kIGthbm4sIGRhIHNpZSBlaWdlbnRsaWNoIGluIG1laW4gcmwKZ2Vob2VyZW4uIEljaCBiaXR0ZSB1bSBWZXJzdGFlbmRuaXMgdW5kIGVudHNjaHVsZGlnZSBtaWNoIGF1Y2ggZnVlciBtZWluCmZlaWdlcyBWZXJzY2h3aW5kZW4uIEdydWVzc2UgQXZhbG9uYQpwLnMuOiBoaWVyIGRpZSBlLW1haWwgYWRyZXNzZSB6eG1vazA0QHN0dWRlbnQudW5pLXR1ZWJpbmdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1ciBTZWxic3Rsb2VzY2h1bmcgdm9uIEF2YWxvbmEgKENyZWF0aXZlLCAxMy4gSnVuIDE5OTUsIDE4OjI3OjUyKToKIyEgcm49QXZhbG9uIHJ0PTgwMzA1NDYyOAoKRnVlciBhbGxlIEF2YWxvbmEtRnJldW5kZToKSWNoIGZpbmQgZXMgbW9yZHNtYWVzc2lnIHNjaGFkZS4gTWFuIGthbm4gYXVjaCBNRyBydWhlbiBsYXNzZW4sIHdlbm4gbWFuClJMLVByb2JzIGhhdC4gSW0gTmFtZW4gYWxsZXIgQXZhbG9uYS1GcmV1bmRlIG1laW5lIGljaDoKRmFsbHMgRHUgd2llZGVyIHJlaW5zY2hhdWVuIHNvbGx0ZXN0LCB3aXIgZmluZGVuIGVzIFNFSFIgc2NoYWRlLgpCZWlsZWlkLCB1bmQgSGlsZmUgYW5iaWV0ZW5kLAotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RlaW50YWZlbG4gKEx3YXhhbmEsIDEzLiBKdW4gMTk5NSwgMjE6MTU6NDUpOgojISBybj1Kb2YgcnQ9ODAyMTExNzY1CkFlaGhoIGRpZSBUYWZlbCBpc3QgYWJlciBzY2hvbiBsYWVuZ2VyIG5pY2h0IG1laHIgYXVmIGRlbiBuZXVlc3RlbiBTdGFuZApnZWJyYWNodCwgb2Rlcj8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXJoaWxmZSBnZXN1Y2h0Li4uIChQYXVsZSwgMTMuIEp1biAxOTk1LCAyMTo0OTo0OCk6CiMhIHJuPVB1bWEgcnQ9ODAxODQ2ODY1CmNhc3Rhd2F5IGlzdCBlaW5lIFNwaWVsZXJpbiwgbWl0IGRlciBtYW4gc2ljaCBzdHVuZGVubGFuZyBrb2VzdGxpY2gKdW50ZXJoYWx0ZW4ga2Fubi4gU29sY2hlIExldXRlIG1hY2hlbiBNRyBzcGllbGVuc3dlcnQuCgpncnVzcwpQYXVsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCB3aWxsIGFiZXIhIChLbGluZ2UsIDE0LiBKdW4gMTk5NSwgMTQ6NDA6MTMpOgojISBybj1ZZW5kaSBydD04MDMwNTM2NTIKd2llIHdhZXJlIGVzIG1pdCBlaW5lbSB3ZWlzZW5oYXVzIGZ1ZXIgZXVjaCB3ZWlzZW5rbmFiZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGZyZWFrcyBhdWZnZXBhc3N0LiAoTHdheGFuYSwgMTQuIEp1biAxOTk1LCAxNzoxMToyNik6CiMhIHJuPUF6enVybyBydD04MDIzNTY2NDUKQWVoaGgga2FubiBqYSBzZWluLCBkYXNzIGljaCBldHdhcyBibG9lZGUgYmluLCBhYmVyIHdhcyBoYXQgZXMgbWl0IGRlbSBTcGllbApkZW5uIGF1ZiBzaWNoPyAoU28gaWNoIGRhcyBqZXR6dCBoaWVyIG1hbCBmcmFnZW4gZGFyZiwgb2huZSBnbGVpY2ggd2llZGVyCmFuZ2VtYWNodCB6dSB3ZXJkZW4sIHdlaWwgaWNoIGVzIG5pY2h0IHdlaXNzIC0gaWNoIHdhciBlYmVuIG5vY2ggbmljaHQgc28gb2Z0CmltIGRzY2h1bmdlbCkKTHdheGFuYSBzY2hhZW10IHNpY2ggamEgc2Nob24uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuZCBlcyBnaWJ0IHNpZSBkb2NoISA6KSkgKEJhcm9uLCAxNS4gSnVuIDE5OTUsIDEwOjUxOjQyKToKSHVodSA6KSwKKioqIFVORCBFUyBHSUJUIFNJRSBET0NIISEgKioqCkRpZSBSZXR0dW5nIGZ1ZXIgYWxsZSBXaW5kb29mLVRlcm1pbmFsLUdlc2NoYWVkaWd0ZW4gZGllIHNpY2ggaW1tZXIgbWl0Ck1vZWNodGVnZXJudGVybWluYWxwcm9ncmFtbWVuIHdpZSBld2FuIG9kZXIgV2lucXZ0IGhlcnVtZ2VhZXJnZXJ0IGhhYmVuIHVuZApkYWJlaSBuZWlkaXNjaCBhdWYgZGllIHRyaWdnZXJzcGllbGVuZGVuIFRmLU51dHplciBzY2hpZWx0ZW4gOikuIE1hZwpzZWluIGRhcyBkaWUgZm9sZ2VuZGVuIFByb2dyYW1tZSBuaWNodCBnYW56IHNvIHRvbGwgc2luZCB3aWUgVGYsIGFiZXIKYXVmIGplZGVuIEZhbGwgYmVzc2VyIGFscyBhbGxlcyB3YXMgaWNoIGJpc2hlciBhbiBNdWRjbGllbnRzIHVudGVyCldpbmRvd3MvV2luc29jayBpbiBkaWUKRmluZ2VyIGJla29tbWVuIGhhYmUuCgotIE1VVFQodG0pTGl0ZQpmaWxlbmFtZTogIG11dHRfMDFqLnppcApzZXJ2ZXI6ICAgIGNhaXNyMi5jYWlzci5jd3J1LmVkdSAgL3B1Yi9tdWQKICAgICAgICAgICBmdHAuZ3JhcGhjb21wLmNvbSAgICAgIC9wdWIvbXN3L211dHQKS29tbWVudGFyOiBLbGFzc2UgUHJvZ3JhbW0hIFNlcGVyYXRlcyBFaW5nYWJlZmVuc3RlciBtaXQgbWVocmVyZW4gWmVpbGVuCihwcmltYSB6dW0gcHJvZ2dlbiBvZGVyIEJyaWVmZSBzY2hyZWliZW4hKSwgbWVocmVyZSBGZW5zdGVyCm5lYmVuZWluYW5kZXIsIHNjaGVpbnQgYXVjaCB0cmlnZ2VybiB6dSBrb2VubmVuLCBoYWIgYWJlciBub2NoIG5pY2h0CmhlcmF1c2dlZnVuZGVuIHdpZS4gTGFldWZ0IGF1Y2ggbWl0IFdpbmRvd3MgOTUuIEZSRUVXQVJFIQoKLSBXaW5Xb3JsZCAoV2luZnVndWUpCmZpbGVuYW1lOiAgd3dvcmxkMDIuemlwCnNlcnZlcjogICAgZnRwLm1nbC5jYSAgIC9wdWIvd2lud29ybGQKS29tbWVudGFyOiBTb2xsIHdvaGwgbWFsIGVpbiAncmljaHRpZ2VyJyB0ZiBDbG9uZSB3ZXJkZW4uIExlaWRlciBlcnN0IG5lCmFscGhhLVZlcnNpb24gLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9ydHNldHp1bmcgenUgJ0VzIGdpYnQgc2llIGRvY2ghIChCYXJvbiwgMTUuIEp1biAxOTk1LCAxMDo1Mzo0Myk6Ck1pc3Rtb2RlbSwgd2lsbCBrZWluZSBsYW5nZSBUZXh0ZSBmZWhsZXJmcmVpIHVlYmVydHJhZ2VuIDopLCBhbHNvIHdlaXRlciBpbQp0ZXh0OgotIFdpbldvcmxkIChXaW5mdWd1ZSkKZmlsZW5hbWU6ICB3d29ybGQwMi56aXAKc2VydmVyOiAgICBmdHAubWdsLmNhICAgL3B1Yi93aW53b3JsZApLb21tZW50YXI6IFNvbGwgd29obCBtYWwgZWluICdyaWNodGlnZXInIHRmIENsb25lIHdlcmRlbi4gTGVpZGVyIGVyc3QgbmUKYWxwaGEtVmVyc2lvbiBkaWUgYWJlciB6dW1pbmRlc3Qgc3RhYmlsIHp1IGxhdWZlbiBzY2hlaW50LiBEaWUgU2NyaXB0LQp1bmQgVHJpZ2dlci1GdW5rdGlvbmVuIHNpbmQgKHp1bWluZGVzdCBpbiBkZXIgQWxwaGEgbm9jaAplaW5nZXNjaHJhZW5rdCksIGFuc29uc3RlbiBlaW4gc2NoaWNrZXMgUHJvZ3JhbW0uIExhZXVmdCBhdWNoIHVudGVyIFdpbgo5NS4gU2VwZXJhdGUgRWluZ2FiZXplaWxlLiBCZW5vZXRpZ3QgdmJydW4zMDAuZGxsLgoKVldNVUQgTWFzdGVyCmZpbGVuYW1lOiAgdndtdWQxMTAuemlwCnNlcnZlcjogICAgZnRwLnhtaXNzaW9uLmNvbSAgL3B1Yi91c2Vycy9rL2tzbGV3aW4KICAgICAgICAgICBmdHAucHJpbWVuZXQuY29tCktvbW1lbnRhcjogRWluIFByb2dyYW1tIGRhcyB3b2hsIHppZW1saWNoIHZpZWwga2FubiB3ZW5uIG1hbgpoZXJhdXNnZWZ1bmRlbiBoYXQgd2llLiBMZWlkZXIga2FubiBpY2hzIG5pY2h0IGF1c3Byb2JpZXJlbiB3ZWlsIGVzCnVudGVyIFdpbiA5NSBoZW1tdW5nc2xvcyBjcmFzaHQgOiguIEFiZXIgZGllIEJlc2NocmVpYnVuZyBsaWVzIHNpY2ggZ3V0CjopLiBCZW5vZXRpZ3QgdmJydW4zMDAuZGxsLgoKSmV0enQgbm9jaCBlaW4gUFJvZ3JhbW0gZGFzIGVpZ2VudGxpY2ggZ2FybmljaHQgc28gcmljaHRpZyBpbiBkaWVzZQpSZWloZSBnZWhvZXJ0LCBhYmVyIHRyb3R6ZGVtIGdhbnogbnVldHpsaWNoIHp1IHNlaW4gc2NoZWludDoKCk11ZE1hbgpmaWxlbmFtZTogIG11ZG1hbjEyLnppcApzZXJ2ZXI6ICAgIGZ0cC5jaWNhLmluZGlhbmEuZWR1IC9wdWIvcGMvd2luMy9taXNjICh1bmQgbmF0dWVybGljaCBhdWYKZGVuIG1pcnJvcnMpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9ydHNldHp1bmcgMiB6dSBVbmQgZXMgZ2lidCBzaWUgZG9jaCEgKEJhcm9uLCAxNS4gSnVuIDE5OTUsIDEwOjU1OjUyKToKQVJHTCwgaWNoIHRyYW1wZWxlIGdlcmFkZSBtaXQgem9ybmVzcm90ZW0gS29wZiBhdWYgbWVpbmVtIE1vZGVtIHJ1bSA6KCguCkFsc28sIHdlaXRlciBnZWh0czoKTXVkTWFuCmZpbGVuYW1lOiAgbXVkbWFuMTIuemlwCnNlcnZlcjogICAgZnRwLmNpY2EuaW5kaWFuYS5lZHUgL3B1Yi9wYy93aW4zL21pc2MgKHVuZCBuYXR1ZXJsaWNoIGF1ZgpkZW4gbWlycm9ycykKS29tbWVudGFyOiBFaW5lIEFydCAnZ3JhcGhpc2NoZSBPYmVyZmxhZWNoZScgZnVlciBUZXJtaW5hbHByb2dyYW1tZS4KUmljaHR1bmdzdGFzdGVuIHp1bSBsYXVmZW4gaW4gZGllIHZlcnNjaGllZGVuZW4gUmljaHR1bmdlbiB1bmQgZnJlaQpwcm9ncmFtbWllcmJhcmUgS25vZXBwZSBkaWUgbWFuIG1pdCAnTGF1ZnNjcmlwdHMnIGdlbGVnZW4ga2Fubi4gQnJhdWNodAplaW4genVzYWV0emxpY2hlcyBUZXJtaW5hbHByb2dyYW1tIQoKV2VpdGVyZSBXaW5zb2NrIEFud2VuZHVuZ2VuIGZpbmRldCBkZXIgaW50ZXJlc3NpZXJ0ZSBMZXNlciBpbSBmaWxlCndpbnRlcjEzLnppcCAobGllZ3QgenVtIEJlaXNwaWVsIGF1ZiBmdHAudW5pLXBhZGVyYm9ybi5kZSB1bnRlcgovd2luZG93cy9jaWNhL3dpbnNvY2sgZ2xhdWJlIGljaCkuIERlciBUZXh0IGVudGhhZWx0IHVlYmVyIGh1bmRlcnQKU2VpdGVuIEJlc2NocmVpYnVuZyB6dSBtZWhyZXJlbiBodW5kZXJ0IFdpbnNvY2stQW53ZW5kdW5nZW4sIGF1Y2ggbm9jaAplaW5pZ2UgYW5kZXJlIE11ZGNsaWVudHMsIGRpZSBpY2ggYWJlciBub2NoIG5pY2h0IGdldGVzdGV0IGhhYmUgOikuCgpUWQooUmVkKSBCYXJvbiwgRnJldW5kIGFsbGVyIEJlYWdsZSwgaGF0IHNlaW4gV2luUXZ0LVRlcm1pbmFsIGF1cyBkZW0KRmVuc3RlciBnZXdvcmZlbiB1bmQgYmVudXR6dCBudW4gTVVUVCA6KSkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9ydHNldHp1bmcgMiB6dSBVbmQgZXMgZ2lidCBzaWUgZG9jaCEgKEhhciwgMTUuIEp1biAxOTk1LCAxMjowMzozOSk6CiMhIHJuPUJhcm9uIHJ0PTgwMzIwNjU1MgpIbW1tLCBnaWJ0IGVzIHNvd2FzIHdvaGwgYWN1aCBmdWVyIE9TLzI/Pz8/CkhhcgosCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqbmVydiogKEFydHksIDE1LiBKdW4gMTk5NSwgMTc6MDM6MzUpOgpIaSAhCkFsc28gd2VubiBMZXV0ZSBuaWNodCBpbiBkZXIgTGFnZSBzaW5kIGlocmUgQnVtaS1UcmlnZ2VyIHNvIHp1IGtvbnN0cnVpZXJlbiwKZGFzIHNpZSBhbmRlcmVuIE5JQ0hUIGRpZSBCdW1pcyB3ZWdmYW5nZW4sIGRhbm4gc29sbGVuIHNpZSBlcyBibGVpYmVuIGxhc3NlbgohIQpJY2ggZmluZGUgZGFzIGV4dHJlbSBuZXJ2ZW5kLCB3ZW5uIGljaCBpcmdlbmR3byBtaXQgQnVtaXMga2FlbXBmZSB1bmQgamVtYW5kCmtvbW10IHJlaW4gdW5kIGZhZW5ndCBlcnN0IG1hbCBhbGxlIHdlZyB1bmQgaWNoIGtyaWVnIHNpZSBiaXMgS2FtcGZlbmRlIG5pY2h0Cm1laHIgd2llZGVyICEhCkFsc28gYmFzdGFsdCBtYWwgYW4gRXVyZW4gVHJpZ2dlcm4gcnVtIG9kZXIgbGFzc3QgZXMgYmxlaWJlbiAhCkFSVFkgKmdlbmVydnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZvcnRzZXR6dW5nIDIgenUgVW5kIGVzIGdpYnQgc2llIGRvY2ghIChXdXIsIDE1LiBKdW4gMTk5NSwgMTg6NDM6MDUpOgojISBybj1IYXIgcnQ9ODAzMjEwNjE5CkF1amEhIGljaCBzdWNoZSBtaXQhCnd1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYnJpZWYgKFJhdmVtYW5pYWMsIDE1LiBKdW4gMTk5NSwgMjE6NTY6MjYpOgpoYWxsbyBpY2ggYmluIHJhdmVtYW5pYWMgLiB3ZXIgaGlsZnQgbWlyIGVpbiByYWV0c2VsIHp1IGxvZXNlbiA/LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCB3aWxsIGFiZXIhIChZZW5kaSkgKFNoaW5vYmksIDE2LiBKdW4gMTk5NSwgMDE6MjQ6MjApOgpEYW5uIHNvbGx0ZW4gd2llIGFiZXIgYXVjaCBlaW4gViBmdWVyIFZvbGx3ZWlzZSBlaW5mdWVocmVuLgooSUNIIFdFSVNTIERBUyBEQVMgTkFDSCBTQ0hNQVJSTiBHRUhPRVJUISkKU2hpbm9iaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWV0emVsbiA/ISBOYSBrbGFyISAoUGF1bGUsIDE2LiBKdW4gMTk5NSwgMDE6MzA6MzcpOgpIYWxsaSBoYWxsbyB1bmQgV2VpZG1hbm5zIEhlaWwhCgpEYSBtdXNzIGljaCBkb2NoIHp1IG1laW5lbSBFcnN0YXVuZW4gbGVzZW4sIGRhcyBlaW5pZ2UgTGV1dGUgZGFzIE1ldHplbG4gYmVpIAplaW5lciBRdWVzdCBkb29mIGZpbmRlbi4gR2VsYWVjaHRlciEgRGFzIGlzdCBsdXN0aWcgdW5kIG1hY2h0IFNwYXNzLiBXZW5uIGljaAptaXQgRnJldW5kZW4gZHVyY2ggZGllIFdhZWxkZXIgemllaGUgdW5kIGFsbGVzLCB3YXMgbWlyIHZvciBkaWUgS2xpbmdlIGtvbW10LApuaWVkZW1hY2hlLCBkYW5uIGdlaHQncyBtaXIgZ3V0LgoKSWNoIGhvZmZlIGljaCBzdGVoZSBtaXQgZGllc2VyIGFuc2ljaHQgbmljaHQgYWxsZWluZSBkYSAhPwoKSW0gdWVicmlnZW4gaXN0IGVzIGRvY2ggYXVjaCBhbHMgQWJzY2hyZWNrdW5nIHJlY2h0IGd1dC4gU2NobGllc3NsaWNoIHdvbGxlbgp3aXIgZG9jaCBhbGxlIG5pY2h0LCBkYXMgZWluIEFuZmFlbmdlciBnbGVpY2ggZWluIFF1ZXN0IGRlciBTdHVmZSAxNSBtYWNodC4KZHVyY2ggZGFzIG1ldHplbG4gaW4gZGVyIFF1ZXN0IHdpcmQgZGFzIGRvY2ggd2lya3VuZ3N2b2xsIHVudGVyYnVuZGVuLCBmaW5kZXQKaWhyIG5pY2h0ID8KCnVuZCBzbyBzYWdlIGljaDogZnVlciBCb2luZywgS2Fpc2VyIHVuZCBFbGZlbmxhbmQ6IFBhY2tlbiB3aXIgc2llIHVucyAuLi4hIQoKR3J1c3MKClBhdWxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcndhcnRldGUgUGVyc29uZW4uLi4gKE5haXJvbGYsIDE2LiBKdW4gMTk5NSwgMDE6NDE6MDQpOgpzZWl0IGVpbmdlciBaZWl0IGdpYnQgZXMgamEgbnVuIHNjaG9uIGJlaW0gZWlubG9nZ2VuIGRpZSBtZWxkdW5nIHdlbGNoZQpmcmV1bmRlIGltIHNwaWVsIHNpbmQgdW5kIHdlbGNoZSBlcndhcnRldGVuIFBlcnNvbmVuLCBqZWRvY2ggd3VlcmRlIGljaCBkaWVzCmF1Y2ggZ2VybmUgbGVzZW4ga29lbm5lbiB3ZW5uIGljaCBuaWNodCBiZWltIGxldHp0ZW4gbWFsIGF1c2xvZ2dlbiBlbmRlCmdlbWFjaHQgaGFiZSwgZGVubiB3ZW5uIGljaCBub3JtYWwgZWluc2NobGFmZSB1bmQgbWljaCBkYW5uIGlyZ2VuZHdhbm4gd2llZGVyCmVpbmxvZ2dlIGVyc2NoZWludCBudXIgd2VyIHZvbiBtZWluZW4gRnJldW5kZW4gaW0gc3BpZWwgaXN0ISBudW4gZGllIGZyYWdlIGlzdApkYXMgbnVyIGJlaSBtaXIgc28gb2RlciBiZWkgYW5kZXJlbiBhdWNoPyB3dWVyZGUgbWljaCBmcmV1ZW4sIHdlbm4gaWNoIGF1Y2gKbmFjaCBkZW0gZWluc2NobGFmZW4gdW5kIG5pY2h0IG51ciBuYWNoIGVuZGUgbWVpbmUgZXJ3YXJ0ZXRlbiBkYSBsZXNlbgprb2VubnRlLi4uCihpY2ggd2Vpc3MgaWNoIHdlaXNzIGFsbGVzIGtsZWluZ2VzY2hyaWViZW4gYWJlciBpcmdlbmR3aWUgc2Nyb2xsdCBtaXIgaGllcgphbGxlcyB3ZWcgLi4uICkKCk11ZWxsZXIgTmFpcm9sZiBkZXIgZmxpZWdlbmRlIEhvbGxhZW5kZXIsIGRlciBzaWNoIGltbWVybm9jaCBkYXJ1ZWJlcgphZXJnZXJ0LCBkYXNzIG51ciBtYWdpZXIgYWIgc3R1ZmUgMjYgS2luZGVyIGJla29tbWVuIGtvZW5uZW4gdW5kIGRlciBzaWNoIGF1ZgpkYXMgRHVlbGwgbWl0IEx3YXhhbmEgVHJvaSwgRGllIEJvdHNjaGFmdGVyaW4gZGVyIEZvZWRlcmF0aW9uIGZyZXV0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyd2FydGV0ZSBQZXJzb25lbi4uLiAoR3VsZHVrYXQsIDE2LiBKdW4gMTk5NSwgMDk6MTU6NTYpOgojISBybj1OYWlyb2xmIHJ0PTgwMzI1OTY2NApBbHMgVmVydHJldGVyIGRlcyBDYXJkYXNzaWFuaXNjaGVuIEltcGVyaXVtcyB3dWVuc2NoZSBpY2ggRGlyIHZpZWwKR2x1ZWNrIGJlaSBkZWluZW0gRHVlbGwgZ2VnZW4gZGllIEZvZWRlcmF0aW9uLgpHRAoKUFMgQXVjaCBtZWluIFRlZGR5YmFlciBHYXJhaywgTU9DIGEuIEQuLCBkcnVla3QgRGlyIGRpZSBEYXVtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo0R2V3aW5udC1UdXJuaWVyaGFsbGUgKEN5bW9uaywgMTYuIEp1biAxOTk1LCAxMTo1Mzo0Nik6CiMjICAgICAgICMjIyMjICAgIyMgICAgICAjIwojIyAgICAgICMjICAgICAgICMjICAgICAgIyMKIyMgICMjICAjIyAgICAgICAjIyAgICAgICMjCiMjIyMjIyAgIyMgIyMjICAgIyMgICMjICAjIwogICAgIyMgICMjICAgIyMgICMjICAjIyAgIyMKICAgICMjICAjIyAgICMjICAjIyAgIyMgICMjCiAgICAjIyAgICMjIyAjIyAgICMjIyAgIyMjCgpFcyBnaWJ0IGpldHp0IGVpbmUgVHVybmllcmhhbGxlIGZ1ZXIgNC1HZXdpbm50IGluIGRlciBCcnVubmVuc3RyYXNzZQppbiBQb3J0IFZhaW4uCk5lYmVuIGRlciBNb2VnbGljaGtlaXQgZGVyIEF1c3RyYWd1bmcgdm9uIFBhcnRpZW4gaW4gZGVyIE9lZmZlbnRsaWNoa2VpdCwKdHJlaWJ0IHNpY2ggZG9ydCBhdWNoIGVpbiBWZXJ0cmV0ZXIgZGVyIGhpZXNpZ2VuIFNwaWVsZWluZHVzdHJpZSBoZXJ1bSwgZGVyCmV1Y2ggZ2VybmUgZWluIDRHZXdpbm50IFNwaWVsIGltIFRhc2NoZW5mb3JtYXQgYW5kcmVodC4KCkN5TW9uawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICpuZXJ2KiAoQXNtb2RpcywgMTYuIEp1biAxOTk1LCAxNzo1NToyMCk6CiMhIHJuPUFydHkgcnQ9ODAzMjI4NjE1CkVzIGlzdCBhYmVyIGF1Y2ggbmVydmlnLCB3ZW5uIG1hbiBpbiBlaW5lbiBSYXVtIHJlaW5rb21tdCB1bmQgZWluZW4gQnVtaQphbiBkZW4gS29wZiBiZWtvbW10LCBudXIgd2VpbCBhbmRlcmUgTGV1dGUgc2llIG9obmUgVHJpZ2dlciBuaWNodApmYW5nZW4ga29lbm5lbi4KCiAgICAgICAgICAgIENpYW8sIEFzbW9kaXMoaGF0IG1hbmNobWFsIGF1Y2ggZGVuIEJ1bWktVHJpZ2dlciBha3RpdmllcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBYXJnb24gbmVydnQgKEFzbW9kaXMsIDE2LiBKdW4gMTk5NSwgMjA6MTY6MTcpOgoKQWFyZ29uLCBkdSBoYXN0IGVpbiBkYWVtbGljaGVzIHNjcmlwdCwgZW50d2VkZXIgc2NocmVpYiBlaW4gYW5zdGFlbmRpZ2VzLApvZGVyCmxhc3MgZXMgZ2Fuei4gRHUgc2Nyb2xsc3QgZWluZW0gZGF1ZXJuZCBkZW4gQmlsZHNjaGlybSB2b2xsLCBpbmRlbSBkdQppbm5lcmhhbGIgdm9uIGVpbiBwYWFyIHNla3VuZGVuIG1laHJtYWxzIGhlcmVpbmtvbW1zdCB1bmQgd2llZGVyIGhlcmF1c2dlaHN0CiEhCgogICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2Rpcyh2b24gU2NyaXB0c3BpZWxlcm4gZ2VuZXJ2dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlZXN0dWJlIChGaWNrZnJvc2NoLCAxNi4gSnVuIDE5OTUsIDIwOjU0OjI3KToKSmEsIG5hY2ggbGFuZ2VyIGFic3RpbmVueiBtdXNzIGljaCBudW4gYXVjaCBtYWwgd2llZGVyIG1laW5lbiBzZW5mIGluIGRpZQpydW5kZXdlcmZlbi4uLgppY2ggaGFiZSB1bmxhZW5nc3QgbWl0ID8/PyA0Z2V3aW5udCBnZXNwaWVsdCB1bmQgZmFuZCBlcyBhZXVzc2Vyc3QgYW11ZXNhbnQuCkRhZXdyIGthbSBpY2ggYXVmIGRpZSBpZGVlLCBkYXNzIGVzIGRvY2ggbW9lZ2xpY2ggc2VpbiBzb2xsdGUgZWluZSBhcnQKdGVlc3R1YmUgZW56dXJpY2h0ZW4gaW4gZGVyIG1hbiBzaWNoIHRyZWZmZW4ga2FubiB1bmQgYmVzdGltbXRlIHNwaWVsZQpzcGllbGVuLiBpY2ggZGVua2UgZGFiZWkgbmljaHQgbnVyIGFuIDRnZXdpbm50IHNvbmRlcm4gYXVjaCBhbiBrYXJ0ZW5zcGllbGUKdm9uIG1hdW1hdSBiaXMgcG9rZXIgbmQgYXVjaCBiYWNrZ2FtbW9uIHVuZCB3YXMgZWluZW0gc29uc3Qgbm9jaCBkYXp1CmVpbmZhbGxlbiBtYWcuIEF1c3NlcmRlbSBzb2xsdCBtYW4gcmFzc2Vuc3BlemlmaXNjaCB2b24gc2NobnVja2VsaWdlbgprZWxuZXJpbm5lbiAodW5kIGRhbWl0IGljaCB2b24gZGVyIGhvbGRuIHdlaWJsaWNoa2VpdCBrZWlucyB1ZWJlcmdlYnJhdGVuCmJla29tbWUpIHVuZCBrbmFja2lnZW4ga2VsbG5lcm4gYmVkaWVudCB3ZXJkbiBtaXQgdGVlIGJpcyBCSUVSIHVuZCB2b24gZ2ViYWVjawpiaXMgcGZlZmZlcnN0ZWFrLgpXZW5uIHNpY2ggbnVuIGRpZSBtYWdpZXIgdW5kIEdvZXR0ZXIgaWhyZSBrb2VwZmUgenVzYW1tZW5zdGVja2VuIHRhZXRlbgp3dWVyZGVua29lbm50ZW4/Pz8gV2FzIGhhbHRlbiBkZW5uIGRpZSBhbmRlcmVuIHZvbiBkZXIgaWRlZT8KSW4gZGVyIGhvZmZudW5nIGJhbGQgZWluIGRlcmFydGlnZXMgQ2FmZS9TcGllbHN0dWJlIGluIFBWIHp1IGVudGRlY2tlbiwKaGVyemxpY2hzdCBFdWVyIEZGLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlZXN0dWJlIChBc21vZGlzLCAxNi4gSnVuIDE5OTUsIDIyOjQyOjIyKToKIyEgcm49Rmlja2Zyb3NjaCBydD04MDMzMjg4NjcKTGFlc3N0IHNpY2ggc2ljaGVyIG1hY2hlbiwgYWJlciBmaW5kIG1hbCBlaW5lbiwgZGVyIGRpZSBnYW56ZW4gU3BpZWxlCnByb2dndCA6KQoKICAgICAgICAgICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVlc3R1YmUgKFRvc3MsIDE3LiBKdW4gMTk5NSwgMTM6MTQ6MDkpOgojISBybj1Bc21vZGlzIHJ0PTgwMzMzNTM0MgpIaSEKCmt1cnplIEFubWVya3VuZzogaW0gTHVwaXRhbCBnaWJ0cyBkZW4gU2thdHJhdW0sIGRlciBpc3Qga2xhc3NlIGdlbWFjaHQsIG1hbgpicmF1Y2h0IGVpbiBzcGllbCB1bSBzaWNoIGFuIGRpZSBzeW50YXggenUgZ2V3b2VobmVuLCB1bmQgZGFubiBnZWh0IHNlaHIKZmx1ZXNzaWcgLSBudXIgc28gYWxzIHRpcCBmdWVyIHNwaWVsc3VlY2h0aWdlLi4uLgoKUnluZQotIGZpbmRldCB2aWVsIHp1IHNlbHRlbiBMZXV0ZSBmdWVyIG5lIFNrYXRydW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFhcmdvbiBuZXJ2dCAoSGFyLCAxNy4gSnVuIDE5OTUsIDE1OjQ4OjUzKToKIyEgcm49QXNtb2RpcyBydD04MDMzMjY1NzcKRGllc2VzIGRhdWVybmRlIFZvbGxtdWVsbGVuIHZvbSBCaWxkc2NoaXJtIHVuZCBkYXMgZGF1ZXJuZCBtaXQgYWxsZW4KbW9lZ2xpY2hlbiBHZWdlbnN0YWVuZGUgdm9sbGdlbXVlbGx0ZSBNdWQgbmVydnQgbWljaHQgYXVjaCwgZGllc2VzIGRhdWVybmRlClNjcmlwdHNwaWVsZW4gemVycnQgZWNodCBhbiBtLGVpbmVuIE5lcnZlbiEKCkhhciAoZ3J1bW1lbG5kLCB3ZWlsIGRhcyBHb2JsaW5sYWdlciBkYXVlcm5kIGxlZWdlcmFldW10IHdpcmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFhcmdvbiBuZXJ2dCAoV2FybG9yZCwgMTcuIEp1biAxOTk1LCAyMzo1MDozNCk6CiMhIHJuPUhhciBydD04MDMzOTY5MzMKCkVzIGdpYnQgYXVjaCBOaWNodHNjcmlwdHNwaWVsZXIsIGRpZSBkYXMgR29ibGlubGFnZXIgbGVlcnJhZXVtZW4gOikKCkVpbiB1bnNjaHVsZGlnIHBmZWlmZW5kZXIKCQlXYXJsb3JkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1ciBTZWxic3Rsb2VzY2h1bmcgdm9uIEF2YWxvbmEgKFp1ZXJpbGV1LCAxOC4gSnVuIDE5OTUsIDAwOjM4OjQwKToKIyEgcm49Q3JlYXRpdmUgcnQ9ODAzMDYwODcyClNhbGkgQXZhbG9uYSwKbnVuIGFscyBkZWluIChleD8pLU1hbm4gYmluIGljaCBldHdhcyBnZXNjaG9ja3QsIGR1IGhhZXRlc3Qgd2VuaWdzdGVucwpCZXNjaGVpZCBzYWdlbiBrb2VubmVuIGFiZXIgaWNoIGRlbmtlIGF1Y2ggZ2xlaWNoIHdpZSBDcmVhdGl2ZSB1bmQgbWVpbmUgQXJtZQpzaW5kIGZ1ZXIgZGljaCBvZGVyIGVpbmVuIGRlaW5lbiBad2VpdGlzIG5vY2ggb2ZmZW4gPTopCnRzY2h1ZXNzIEdlbGllYnRlIHVuZCBob2ZmZW50bGljaCBhdWYgZWluIHdpZWRlcnNlaGVuLi4uCgp6dWVyaWxldSAoc2VociB0cmF1cmlnLCB1bmQgbm9jaCBpbW1lciBuaWNodCB2b20gU2Nob2NrIGVyaG9sbHQhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVyIFNlbGJzdGxvZXNjaHVuZyB2b24gQXZhbG9uYSAoR2FyZmllbGQsIDE4LiBKdW4gMTk5NSwgMDI6Mjg6NDIpOgojISBybj1adWVyaWxldSBydD04MDM0Mjg3MjAKd2llc28gZWlnZW50bGljaCBrYW5uIHp1ZXJpIGltbWVybm9jaCB2ZXJoZWlyYXRldCBzZWluIG1pdCBqZW1hbmQsCmRlc3NlbiBuYW1lbiBlcyBpbiBtb3JnZW5ncmF1ZW4gbmljaHQgZ2lidD8/PwoKZ3J1ZWJlbCAuLi4uLgpnYXJmaWVsZAoqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp1ciBTZWxic3Rsb2VzY2h1bmcgdm9uIEF2YWxvbmEgKFRvc3MsIDE4LiBKdW4gMTk5NSwgMDM6MDI6NTEpOgojISBybj1HYXJmaWVsZCBydD04MDM0MzUzMjIKR2lidHMgZG9jaCBHYXJmaWVsZC4uLgoKRmluZ2VyIEF2YWxvbmEuLi4uCgpBdmFsb25hIGlzdCBuaWNodCBlaW5nZWxvZ2d0LgpadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiBCcmF1bnNjaHdlaWcKCgpadWxldHp0IGF1c2dlbG9nZ3Q6IFNvbiwgMTguIEp1biAxOTk1LCAwMjozNTozOSAoMDA6MjQ6NTcpClZvbGxlciBOYW1lOiBBdmFsb25hIGRlciBob2ZmbnVuZ3N2b2xsZSBBbmZhZW5nZXIKUmFzc2U6IEVsZiwgICAgR2VzY2hsZWNodDogbWFlbm5saWNoCkFsdGVyOiAwMDowMDowNCAgIFNwaWVsZXJsZXZlbDogMQoKSW5zb3dlaXQgaXN0IG1pdCBadWVyaXMgRWhlcmluZyBhbGxlcyBPay4KCkh1Y2ggPyBSYXNzZTogRWxmLCAgICBHZXNjaGxlY2h0OiBNQUVOTkxJQ0ggPwoKVHMgdHMgdHMgLi4uIHdlbm4gZGFzIGRpZSBHb2V0dGVyIHd1ZXNzdGVuIDopCgpFaW4gc2NobXVuemVsbmRlciBSeW5lCgotIGRlciBzY2hvbiBpbW1lciBnZXNhZ3QgaGF0LCBkYXNzIE1hZW5uZXIgdW5kIEZyYXVlbiBuaXggbWl0ZWluYW5kZXIgenUgdHVuCmhhYmVuIHNvbGx0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadXIgU2VsYnN0bG9lc2NodW5nIHZvbiBBdmFsb25hIChHYXJmaWVsZCwgMTguIEp1biAxOTk1LCAwMzo0NzoyMik6CiMhIHJuPVRvc3MgcnQ9ODAzNDM3MzcxCgprb21pc2NoLgp3ZW5uIGljaCBmaW5nZXIgYXZhbG9uYSB0aXBwZSBrb21tdCBpbW1lcgoKSG1tLi4uIGRpZXNlbiBOYW1lbiBnaWJ0IGVzIGluIE1vcmdlbmdyYXVlbiBuaWNodC4KCmdydWViZWwgLi4uLgpncnVlYmVsIGltbWVybm9jaCAuLi4uLgoKYWVoLgoqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp1ciBTZWxic3Rsb2VzY2h1bmcgdm9uIEF2YWxvbmEgKFRvc3MsIDE4LiBKdW4gMTk5NSwgMDg6MDI6NDIpOgojISBybj1HYXJmaWVsZCBydD04MDM0NDAwNDIKSm8sIHN0aW1tdC4KTnVuIHdpcmRzIG15c3RlcmlvZXMuIEVpbmVzIGlzdCBzaWNoZXI6IGljaCBoYWJlIGdlc3Rlcm4gbmFjaHQgQXZhbG9uYQpnZWZpbmdlcnQsIHVucyBFUyBLQU0gZGllIE1lbGR1bmcgZGllIGljaCBvYmVuIGdlcGFzdGV0IGhhYmUuIEF2YWxvbmEgd2FyCndpZWRlciBkYSwgaXN0IGFiZXIgYXVjaCB3aWVkZXIgd2VnLi4uIE15c3RlcmlvZXNlIFVtc3RhZW5kZSBhbGxlcmRpbmdzIC0gd2FyCmVzIGV0d2EgZWluIE1hZ2llciwgZGVyIGlobiB6dSBzZWxic3Rsb2VzY2h1bmcgWndhbmcsIHVtIGRpZSBWZXJicmVpdHVuZyB2b24KRWhlbiB1bnRlciBNYWVubmVybiBpbSBNdWQgenUgdmVyaGluZGVybiA/Ck9kZXIgaGF0IEF2YWxvbmEgaGV1dGUgTW9yZ2VuIGJlaW0gZ2VtZWluc2FtZW4gRnJ1ZXN0dWVjayBlaW5lIHZvbiBadWVyaWxldQp2ZXJmYXNzdGUgWmVpdHVuZyBnZWxlc2VuID8KdWx0cmFrdXJ6CltUb2Q6XSBFaW4gVHlwbyBoYXQgZ2VyYWRlIEF2YWxvbmEgdW1nZWJyYWNodC4KW1RvZDpFaW4gVHlwb10gRGFzIEtsYXBwZXJuIHZvbiBadWVyaXMgVGFzdGF0dXIgaG9lcnRlIHNpY2ggaGFlbWlzY2ggYW4uCgpGcmFnZW4gdWViZXIgRnJhZ2VuIC0gd2VyIGxvZXN0IGRhcyBSYWV0c2VsIGRpZXNlciBTYW1zdGFlZ2xpY2hlbiBuYWNodCA/CgpFaW4gZ3J1ZWJlbG5kZXIKUnluZQotIEZvcnRzZXR6dW5nIGZvbGd0IC0gU2VoZW4gc2llIG5hZWNoc3RlbiBTYW1zdGFnOiBXYXMgQXZhbG9uYXMgRWx0ZXJuIHVuZApGcmV1bmRlIHp1IGVyemFlaGxlbiBoYWJlbi4gVW5kIHdpZSBzaWUgc2ljaCBkYXMga3VyemUgYXVmdGF1Y2hlbiB1bmQKdmVyc2Nod2luZGVuIGVya2xhZXJlbi4KClAuUy46IFNvcnJ5IFp1ZXJpLCBzb2xsIG51ciBmdW4gc2VpbiAtIGFiZXIgZXMgaXN0IGVjaHQgc29uZGVyYmFyLCBBdmFsb25hCndhciBrdXJ6IC0gZ2FueiBrdXJ6IC0gd2llZGVyIGRhIDspCj06KSA9OikgPTopID06KSA9OikgPTopPTopID06KSA9OikgPTopID06KSA9OikgPTopID06KSA9OikgPTopID06KSA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRpZXNlIG1wYS1zYWJhaG5ob2YgKEhhcmcsIDE4LiBKdW4gMTk5NSwgMTU6Mjg6NTApOgppY2ggYmxpY2tlIGRhIG5pY2h0IGR1cmNoIGJlaSBkZXIgbXBhLXNhY2hlLiBkYXMgaXN0IGRvY2ggdmllbCB6dQprb21wbGl6aWVydCEKZXVlciBibG9lZG1hbm4gaGFyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWFyZ29uIG5lcnZ0IChTY2hydW1wZmksIDE5LiBKdW4gMTk5NSwgMDA6MTA6MjMpOgojISBybj1XYXJsb3JkIHJ0PTgwMzQyNTgzNApBYmVyIGRpZSBtYWNoZW4gZGFzIG5pY2h0IHBlbmV0cmFudCB1bmQgbXVlbGxlbiBkYWJlaSBhbGxlcyB6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic3RhbW11bmcgZGVyIEVsZmVuIChEZWxvcywgMTkuIEp1biAxOTk1LCAwOTowNTo0NSk6CkhpZXIgaXN0IGRpZSAnd2FocmUnIEdlc2NoaWNodGUgdWViZXIgZGllIEVudHN0ZWh1bmcgZGVyIEVsZmVuOgoKICAgICAgICAgICAgICAgICAgICAgRCBJIEUgICBFIEwgRiBFIE4gLSBHIEUgTiBFIFMgSSBTCgogICBFaW5tYWwga2FtIEpvZiBkZXIgQWxsbWFlY2h0aWdlIChvZGVyIHdhciBlcyBCb2luZyBvZGVyIFJ1bWF0YT8/PykgenUKZGVuIGVyc3RlbiBNZW5zY2hlbiBkZXMgTW9yZ2VuZ3JhdWVucy4gU2llIGJlZ3J1ZXNzdGVuIGlobiBoZXJ6bGljaCB1bmQKemVpZ3RlbiBpaG0gYWxsZXMsIHdhcyBzaWUgaW4gaWhyZW0gSGF1cyBoYXR0ZW4uIFNpZSB6ZWlndGVuIGlobSBhdWNoCmlocmUgS2luZGVyLCB1bmQgZXIgZmFuZCBzaWUgc2VociB2aWVsdmVyc3ByZWNoZW5kLiBFciBmcmFndGUgZGllIEZyYXUsIG9iCnNpZSBuaWNodCBtZWhyIEtpbmRlciBoYWV0dGVuIGFscyBkaWUsIGRpZSBzaWUgaWhtIGdlemVpZ3QgaGF0dGUuIFNpZSBzYWd0ZQpuZWluLiBFcyB3YXIgYWJlciBzbywgZGFzcyBkaWUgRnJhdSBlaW5pZ2UgZGVyIEtpbmRlciBub2NoIG5pY2h0IGdld2FzY2hlbgpoYXR0ZSB1bmQgc2ljaCBkZXNoYWxiIHNjaGFlbXRlIHVuZCBuaWNodCB3b2xsdGUsIGRhc3MgSm9mIChvZGVyIEJvaW5nIG9kZXIKUnVtYXRhKSBzaWUgc2FlaGUsIHVuZCBhdXMgZGVtIEdydW5kIHZlcnN0ZWNrdGUgc2llIHNpZS4gRGFzIHd1c3N0ZQpHb3R0ICguLi4pLCB1bmQgZXIgc2FndGU6ICJXYXMgdm9yIG1pciB2ZXJib3JnZW4gd2lyZCwgc29sbCBkZW4gTWVuc2NoZW4KdmVyYm9yZ2VuIHNlaW4uIiBEaWVzZSBLaW5kZXIgd3VyZGVuIGpldHp0IHVuc2ljaHRiYXIgZnVlciBkaWUgTWVuc2NoZW4gdW5kCndvaG50ZW4gaW4gQmVyZ2VuIHVuZCBIdWVnZWxuLCBGZWxzZW4gdW5kIFN0ZWluZW4uIFZvbiBpaG5lbiBzdGFtbWVuIGRpZQpFbGZlbiBhYiwgZGllIE1lbnNjaGVuIGFiZXIgc3RhbW1lbiB2b24gZGVuIEtpbmRlcm4gZGVyIEZyYXUgYWIsIGRpZSBzaWUKSm9mICguLi4pIHplaWd0ZS4gRGllIE1lbnNjaGVuIGtvZW5uZW4gbmllIGRpZSBFbGZlbiBzZWhlbiwgZXMgc2VpIGRlbm4sCmRpZXNlIHdvbGxlbiBlcyBzZWxiZXIsIGRlbm4gc2llIGtvZW5uZW4gZGllIE1lbnNjaGVuIHNlaGVuIHVuZCBzaWNoIGRlbgpNZW5zY2hlbiBzaWNodGJhciBtYWNoZW4uCgooZWlnZW50bGljaCBhdXMgJ1NhZ2VuIHVuZCBNYWVyY2hlbiBhdXMgSXNsYW5kJyBlbnRub21tZW4gdW5kIGVpbiBiaXNzY2hlbgogYWJnZWFlbmRlcnQsIGFiZXIgaWNoIGZhbmQgZGllIEdlc2NoaWNodGUgaXJnZW5kd2llIHRvbGwuIERlbG9zKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWV0emVsbjogZWluIGxhZXN0aWdlcyBVZWJlbD8/IChSb2VzdGksIDE5LiBKdW4gMTk5NSwgMDk6MDc6NDMpOgojISBybj1DeW1vbmsgcnQ9ODAxNzQ4ODkxCkFsc28gaXN0IE9tYSBXZXR0ZXJ3YWNocyBuaWNodCBuZSBRdWVzdGUgb2huZSBNZXR6dGVsbj8KQWJlciBkYXMgbnVyIGFtIFJhbmRlLi4uCk51biB6dSBtZWluZW0gZWlnZW50bGljaGVuIEFubGllZ2VuLi4uLldlbm4gaWNoIGVpbmUgUXVlc3Rsb2VzdW5nCmhhYiBoYWIgaWNoIG5hdHVlcmxpY2gga2VpbmUgUHJvYmxlbWUgbVN0dWZlbmF1ZnN0ZWlnZW4oSGFiIGF1Y2ggbWFsCndlbGNoZSBiZWtvbW1lbiAuLi4pQWJlciBtYWwgZWhybGljaCAuLi4gbWl0IFF1ZXN0bG9lc3VuZ2VuIG1hY2h0IGVzCmtlaW5lbiBTcGFzcyBtZWhyLi4uR2VuYXVzbyB3ZW5pZyBpc3QgZXMgc29uZGVybGljaCBTcGFzc2lnIGRhcyBtYWdpZXIKbmljaHRsb2dpc2NoZSBsYWJpcmludGUgZWluYmF1ZW4gKGF1Y2ggbm9ybWFsZSBsYWJpcmludGUgc2luZCBzdHJlc3NpZwpnZW51Zy4uLiB3ZXIgaGF0IHNjaG9uIGltbWVyIEx1c3QgbmUgS2FydGUgenUgemVpY2huZW4uLi4pbnVyIHVtIGVzIGRlbgpTcGllbGVybiAibmljaHQgc28gTGVpY2h0ICIgenUgbWFjaGVuLi4uRGllamVuaWdlbiBtaXQgUXVlc3Rsb2VzdW5nLi4uIG5hIHRvbGwKaWhyZSBlaW56aWdlIEF1ZmdhYmUgYmVzdGVodCBkYXJpbiBlaW4gTGFiaXJpbnQgenUgbWVpc3Rlcm51bmQgZnVlciBkaWUKQW5kZXJlbiBkZWhudCBzaWNoIGRpZSBRdWVzdGUgZW5kbG9zLi4uLiB0b2xsLi4uCkFsc28gYmVpIFpULUxpc3RlbiBzZWggaWNocyBqYSBlaW4oRGFzIE1vcmdlbmdyYXVlbiBpc3QgZWluZmFjaCB6dSBHcm9zcyB1bQpKRURFTiBSYXVtIGdlbmF1IHp1IHVudGVyc3VjaGVuLi4uKQpBYmVyIGljaCBkZW5rZSBkYXMgbWFubiBiZWkgZWluZXIgUXVlc3RlLHdlbm4gbWFubiBzaWUgbmljaHQgVU5OT0VUSUcgKGljaApoYWIgbml4IGdlZ2VuIHNjaHdlcmUgUXVlc3RlLi4uIEFiZXIgd2VubiBtYW5uIGVpbmUgUXVlc3QgdW5ub2V0aWcgc2Nod2VyCm1hY2h0LEJTUCB1bmxvZ2lzY2hlcyBMYWJ5cmludCx1c3cuLi4sIEFsc28gZGFzIGZpbmQgaWNoIG5pY2h0IG1laHIgd2l0emlnLi4uCgpSb2VzdGkoaXN0IHNjaG9uIGdhbnogbGFuZ2UgbmljaHQgbWVociB1bSBlaW5lIFN0dWZlIGF1Zmdlc3RpZWdlbiB1bmQgd2lyZCBlcwp3b2hsIGRpZXNlcyBKYWhyIGF1Y2ggbmljaHQgbWVoci4uLikKClAuUy46IHVtIG5vY2htYWwgd2FzIHp1IHNhZ2VuLi4uIGVzIG1hZyBqYSBnYW56IHdpdHppZyBzZWluIE1BTCBkdXJjaCBFSU4KTGFiaXJpbnQgenUgTGF1ZmVuLi4uIEF1Y2ggbWFsIGVpbiB1bmxvZ2lzY2hlcy4uLiBBYmVyIG11c3MgZGVuIGluIGplZGVyCnp3ZWl0ZW4gUXVlc3RlIGRpZSBIYXVwdHNjaHdpZXJpZ2tlaXQgZGFyaW4gbGllZ2VuIGR1cmNoIGVpbiBMYWJpcmludCB6dQpEYWNrZWxuPz8/CkRhbm4gYmluIGljaCBkYWZ1ZXIgZGllIExpc3RlIGluIGRlciBnaWxkZSBpbiBzb3dlaXQgenUgZXJ3ZWl0ZXJuICxkYXMgc3RhdHQKc3R1ZmVuIGVpbmZhY2ggZGEgc3RlaHQgMTUgcmF1bWUgbGFiaXJpbnQgLDUwIHJhdWVtZSBMYWJpcmludCBvZGVyIHVubG9naXNjaGVzCkxhYmlyaW50Li4uClAuUC5TLjpPayBkZXIgQnJpZWYgaXN0IHZpZWxlaWNodCBldHdhcyB1ZWJlcnRyaWViZW4uLi4gQml0dGUgdHJvdHpkZW0gbWFsCnVlYmVyIGRhcyB0aGVtYSBuYWNoZGVua2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVzZ2FlbmdlIChSb2VzdGksIDE5LiBKdW4gMTk5NSwgMDk6MTA6MDApOgojISBybj1HYXJmaWVsZCBydD04MDIwOTMwNjcKR2FueiBkZWluZXIgTWVpbnVuZy4uLgpJY2ggZXJyaW5lcmUgbWljaCBudXIgZHJhbiB3aWUgaWNoIHp1ciBIb2NoemVpdCB2b24gTWllemUgd29sbHRlIHVuZCBtaXIgZGVyCmJlZmVobCBzdGVpZ2UgbmljaHQgbWVociBnZWxhZXVmaWcgd2FyLi4uIGRhIGRhbm4gbm9jaCBlaW5lIGZhY2tlbCBpbSBMYWRlbgpLYXVmZW4uLi4gdG9sbCBIb2NoemVpdCBhdXMuLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuID8hIE5hIGtsYXIhIChGbGludG5haWwsIDE5LiBKdW4gMTk5NSwgMDk6MTM6MDMpOgojISBybj1QYXVsZSBydD04MDMyNTkwMzcKU0VMSUcgU0lORCBESUUuLi4uCgo6KSBGbGludG5haWwuLi5tYWwgd2llZGVyIGRhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS29ib2xkIChSb2VzdGksIDE5LiBKdW4gMTk5NSwgMDk6MTQ6NTgpOgojISBybj1IYXRlIHJ0PTgwMjEwMDgxMgo6KQp1bmQgd2VubiBkdSBtYWwgbmljaHQgZGEgYmlzdCBoYXRlPwpBbHNvIHdlbm4gSGF0ZSBlcyBzbyBtYW5hZ3QgZGFzIGRpZSBkYXMgbmFlY2hzdGUgbWFsIGVpbmUgTmFjaHJpY2h0CmFua29tbXQsd2VubiBlciBlaW4gdGVpbGUgbWl0IHZvbiBlaW5lbSBhbmRlcmVuIGJla29tbXQgbXVlc3NlbiB3aXIgYWxzbyBhbGxlCmFuIEhhdGUgZ2FueiB2aWVsZSB0ZWlsZSBtaXQgbWFjaGVuOikKKioqIGdyaW5zICoqKgpJY2ggZ2xhdWIgaWNoIHdlaXMgd2llIGVyIGVzIGdlbWVpbnQgSGF0IC4Ka29ubnRlIG1pciBudXIgZGVuIEFydGlrZWwgbmljaHQgdmVya25laWZlbiA6KQpSb2VzdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRlZXN0dWJlIChGbGludG5haWwsIDE5LiBKdW4gMTk5NSwgMDk6MjE6NTQpOgojISBybj1Ub3NzIHJ0PTgwMzM4NzY0OQpGcmFnIGRvY2ggZWluZmFjaCBtYWwgd2VubiBpY2ggZGEgYmluICxSeW5lOikKCkZsaW50bmFpbCwga2FubiBEb2tvLVNwaWVsZSBuaWNodCBtZWhyIHNlaGVuLi4udW5kIHd1ZXJkZSBzaWNoIHVlYmVyIFNrYXQKZnJldWVuOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGlza3JpbWluaWVydW5nIChSb2VzdGksIDE5LiBKdW4gMTk5NSwgMDk6Mjc6MjgpOgojISBybj1Benp1cm8gcnQ9ODAyMzQ2Mjg4CkV1cm9wYWVlcj8gRGEgc3RvZXN0IGVzIG1pciBpbW1lciBTYXVlciBhdWYuLi4gRGEgZGVua2UgaWNoIGltbWVyIGFuIGRpZQpzaW5rZW5kZSBXYWVydW5nIHVuZCBhbiBCYXVlcm4gZGllIHBsZWl0ZSBnZWhlbi4uLi4KSWNoIGFscyBIZXNzZSB3dXJkZSB6d2FyIGJpc2hlciBuaWNodCBkaXNrcmltaW5pZXJ0LGRvY2ggYmV6ZWljaG5lIGljaCBpY2gKaW1tZXIgbm9jaCBhbHMgTWVuc2NoIHVuZCBkYXMgaXN0IG1laW5lciBNZWludW5nIG5hY2ggZWluZ3Jlbnp1bmcgZ2VudWcuLi4gOikKUm9lc3RpClAuUy46SGFiIG1pciBncmFkIGFsbGVzIG5vY2htYWwgZHVyY2hnZWxlc2VuLi4uRXMga2xpbmd0IGlyZ2VuZHdpZQpzZWx0c2FtLi4uLiBSb2VzdGllIGlzdCBlaW4gTWVuc2NoPy4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaXNrcmltaW5pZXJ1bmcgKFJvZXN0aSwgMTkuIEp1biAxOTk1LCAwOTozMjoxMSk6CiMhIHJuPUFyZGFuYSBydD04MDI0NTAwODIKSGkgQXJkYW5hLi4uLiBUb2xsIGRlbiBCZWZlaGwgbGllYmUgaWNoLi4uSWdub3JpZXJlLi4uLiBCZXNvbmRlcnMgd2VpbCBtYW5uCm5pZSB3ZWlzIHdlciBtaWNoIG51biBncmFkIGlnbm9yaWVydC4uLiBXZW5uIGljaCBqZXR6dCBiZWlzcGllbHN3ZWlzZSBLbGluZ2UKd2FzIHdhaG5zaW5uaWcgd2ljaHRpZ2VzIGZyYWdlbiB3aWxsLGVyIG1pY2ggYWJlciBpZ25vcmllcnQuLi4gdG9sbC4uLiBXb2hlcgp3ZWlzIGljaCBkZW5uIG9iIGVyIGlkZWx0IG9kZXIgbWljaCBpZ25vcmllcnQ/Pz8KUC5TLiBEZXIgTmFtZSBLbGluZ2UgaXN0IHp3YXIgbmljaHQgZnJlaSBlcmZ1bmRlbiBoYXQgYWJlciBpbiBkaWVzZW0KenVzYW1tZW5oYW5nIG5pY2h0IGRpZSBHZXJpbmdzdGUgQmVkZXV0dW5nIG9kZXIgQW5zcGllbHVuZy4uLi4gRUhSTElDSApOSUNIVC4uLjopClJvZXN0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGVlc3R1YmUgKFJvZXN0aSwgMTkuIEp1biAxOTk1LCAwOTo1NTowMyk6CiMhIHJuPVRvc3MgcnQ9ODAzMzg3NjQ5CkFzbW9kaXMuLi4uCmxlaWRlciBrYW5uIGljaCBrZWluIFNrYXQuLi4gQWJlciB3ZW5uIG1hbCBNYXUgbWF1IGRhIGlzdCAoUm9tbWU/KSBvZGVyCnNjaGFjaC4uLiAoenUgdmllbCB2ZXJsYW5ndC4uLilEYW1lIChSb2VzdGllIHVlYmVydHJlaWJ0KS4uLgpBbHNvIGRhbm4gYmluIGljaCBkYWJlaSA6KQpSb2VzdGkKW01yIEFuc3BydWNoc3ZvbGw6IFJvZXN0aWUgZHUgYmlzdCB2ZXJmcmVzc2VuLi4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3RhbW11bmcgZGVyIEVsZmVuIChSb2VzdGksIDE5LiBKdW4gMTk5NSwgMTA6MDE6NDcpOgojISBybj1EZWxvcyBydD04MDM1NDU1NDUKQWxzbyBpY2ggZ2xhdWIgamEgZWhlciBkYXMgZGllIHVuZ2V3YXNjaGVuZW4gS2luZGVyIGV0d2FzIG1pdCB1bnNlcmVuIHp3ZXJnZW4Kb2RlciBtaXQgZGVuIE9ya3MgenUgdHVuIGhhYmVuLi4uIDopCkVsZmVuIHNpbmQgZG9jaCBpbW1lciBzbyBzYXViZXIuLi4gOikKUm9lc3RpZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGlza3JpbWluaWVydW5nIChCb2luZywgMTkuIEp1biAxOTk1LCAxMToyNjozNCk6CiMhIHJuPVJvZXN0aSBydD04MDM1NDcxMzEKV2VubiBkaWNoIFhYWCBtaXQgZGVtIGlnbm9yaWVyZSBCZWZlaGwgaWdub3JpZXJ0LCBiZWtvbW1zdCBEdSBiZWkgZWluZW0KdGVpbGUgbWl0OiBYWFggaG9lcnQgZ2FyIG5pY2h0IHp1LCB3YXMgRHUgc2Fnc3QuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoQm9pbmcsIDE5LiBKdW4gMTk5NSwgMTE6Mjc6NDUpOgojISBybj1Sb2VzdGkgcnQ9ODAzNTQ1NjYzCkF1cyBkaWVzZW0gR3J1bmQgaGF0dGVuIHdpciBzY2hvbiB2b3I0IGxhZW5nZXJlciBaZWl0IChjYS4gMSBqYWhyKQpiZXNjaGxvc3NlbiwgZGFzcyBpbiBuZXVlbiBBYmVudGV1ZXJuIGtlaW5lIExhYnlyaW50aGUgbWVociBlbnRoYWx0ZW4Kc2VpbiBzb2xsZW4uIFdlbm4gdHJvdHpkZW0gbm9jaCBuZXVlIEFiZW50ZXVlciBtaXQgTGFieXJpbnRoZW4gZGF6dWdla29tbWVuCnNpbmQsIGRhbm4gd2VuZGV0IGV1Y2ggYml0dGUgYW4gS2lyayBvZGVyIGFuIG1pY2guCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1ldHplbG46IGVpbiBsYWVzdGlnZXMgVWViZWw/PyAoQm9pbmcsIDE5LiBKdW4gMTk5NSwgMTE6Mjk6MDUpOgojISBybj1Cb2luZyBydD04MDM1NTQwNjUKTWl0IExhYnlyaW50aCBtZWludGUgaWNoIG5hdHVlcmxpY2ggTGFieXJpbnRoZSwgaW4gZGVuZW4gamVkZXIgUmF1bQppZGVudGlzY2ggYXVzc2llaHQuIEdlZ2VuIExhYnlyaW50aGUgd2llIGRpZSBTU1Aga2FubiBtYW4gamEgbml4IHNhZ2VuLApvZGVyPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNZXR6ZWxuOiBlaW4gbGFlc3RpZ2VzIFVlYmVsPz8gKEFuYWtpbiwgMTkuIEp1biAxOTk1LCAxMTozMToxNCk6CiMhIHJuPUJvaW5nIHJ0PTgwMzU1NDE0NQpIaWhvLAoKTm9lIEJvaW5nLCBnZWdlbiBzb2xjaGUgTGFieXJpbnRoZSBrYW5uIG1hbiB3aXJrbGljaCBuaXggc2FnZW4uCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaXNrcmltaW5pZXJ1bmcgKEZyYWdnbGUsIDE5LiBKdW4gMTk5NSwgMTE6NTM6NDMpOgojISBybj1Sb2VzdGkgcnQ9ODAzNTQ3MTMxCldlbm4gamVtYW5kIGVpbmVuIGlnbm9yaWVydCwgdW5kIG1hbiB0ZWlsdCBpaG0gd2FzIG1pdCwgZGFubiBrb21tdApkaWUgTWVsZHVuZyA8WFhYPiBob2VydCBnYXIgbmljaHQgenUsIHdhcyBEdSBzYWdzdC4KRnJ1ZWhlciBrYW0gZGllIGF1Y2gsIHdlbm4gZW50c3ByZWNoZW5kZXIgTWFnaWVyIE9yb3BheCBlaW5nZXN0ZWxsdCBoYXR0ZSwKZGFzIHNjaGVpbnQgbmljaHQgbWVociBzbyB6dSBzZWluIChiZXN0ZW4gRGFuayBhbiBkZW4sIGRlciBkYXMgZ2VhZW5kZXJ0CmhhdCEpLiBJc3QgZGVyamVuaWdlIGlkbGUsIGVyZmFlaHJzdCBkdSBkYXMgaG9lY2hzdGVucyBhbHMgTWFnaWVyLCBhYmVyCmV2dGwuIGthbm5zdCBEdSBkYW5uIG1hbCBlaW5lbiBNYWdpZXIgYml0dGVuLCBuYWNoenVzZWhlbiwgb2IgYmV0cmVmZmVuZGUKUGVyc29uIGlkbGUgaXN0LgoKR3J1c3MKRnJhZ2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGlza3JpbWluaWVydW5nIChCb2luZywgMTkuIEp1biAxOTk1LCAxMjowNTo0OSk6CiMhIHJuPUZyYWdnbGUgcnQ9ODAzNTU1NjIzCkRlciBmaW5nZXIgQmVmZWhsIHplaWd0IHNvdmllbCBpY2ggd2Vpc3MgYXVjaCBmdWVyIFNwaWVsZXIgZGllIGlkbGUKWmVpdCBhbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3RhbW11bmcgZGVyIEVsZmVuIChZZW5kaSwgMTkuIEp1biAxOTk1LCAxNDowMzo1Myk6CiMhIHJuPURlbG9zIHJ0PTgwMzU0NTU0NQoKSG1tbS4uLiBEZWluIEFydGlrZWwgd2FyIGphIGdhbnogbmV0dCwgYWJlciB1bmtvcnJla3Q6CgpeRWxmZW5eWndlcmdlICAgIQoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVybG9idW5nIChTbGFzaCwgMTkuIEp1biAxOTk1LCAxNDoxODozNSk6CkhpLCBoaWVybWl0IGdlYmVuIFRlbGthIHVuZCBTbGFzaCBJaHJlIFZlcmxvYnVuZyBiZWthbm50LgpTaWNoZXIgd2lyZCBhdWNoIGlyZ2VuZHdhbm4gZ2VoZWlyYXRldC4uLiBkZW4gVGVybWluIGVyZmFocnQgaWhyIHJlY2h0emVpdGlnCmluIEV1cmVyIG1wYS4KCkFuIGRpZSBtYWdzLi4uIGtvZW5udGUgbWFuIG5pY2h0IGF1Y2ggZWluZSB2ZXJsb2J1bmcgZWluZnVlaHJlbiwgZGllIGZ1ZXIKYWxsZSBzaWNodGxpY2ggaXN0LCB6LmIuIGZpbmdlciBzbGFzaC4uLi4gdmVybG9idCBtaXQgdGVsa2EgPwpXaXIgd3VlcmRlbiB1bnMgc2VociBkYXJ1ZWJlciBmcmV1ZW4uCgpHcnVlc3NlIGFuIGFsbGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWJzdGFtbXVuZyBkZXIgRWxmZW4gKEFzbW9kaXMsIDE5LiBKdW4gMTk5NSwgMTQ6MzM6MTYpOgojISBybj1EZWxvcyBydD04MDM1NDU1NDUKSG1tLCB1bmQgd28ga29tbWVuIGRhbm4gZGllIFp3ZXJnZSBoZXIgPwoKICAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBYnN0YW1tdW5nIGRlciBFbGZlbiAoQXJ0eSwgMTkuIEp1biAxOTk1LCAxNDo0NzoyNCk6CiMhIHJuPUFydHkgcnQ9ODAzNTY1OTM4ClNpbmQgZGllIFp3ZXJnZSBuaWNodCBkaWUgVXJhaG5lbiB2b24gZWluc3QgdmVyc3Rvc3NlbmVuIEdub21lbiBiencuCld1cnplbHp3ZXJnZW4gPz8gSWNoIGhhYiBkYSBtYWwgc28gd2FzIGdlaG9lcnQuLi4KKmdyaW5zZW5kIGluIFJpY2h0dW5nIEZyeWRlciBzY2hpZWwqCgpBUlRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWnVyIFNlbGJzdGxvZXNjaHVuZyB2b24gQXZhbG9uYSAoQXJhbnlhLCAxOS4gSnVuIDE5OTUsIDIxOjM3OjI0KToKIyEgcm49R2FyZmllbGQgcnQ9ODAzNDM1MzIyClNvd2F0IHBhc3NpZXJ0LiBJY2ggYmluIGF1Y2ggbmljaHQgbWVociBtaXQgVGVybWluYXRvciB2ZXJoZWlyYXRldCwgZXIgYWJlcgpub2NoIG1pdCBtaXIuIEp1c3QgbXkgMiBwZW5uaWVzLgoKQXJhbnlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFic3RhbW11bmcgZGVyIEVsZmVuIChBcmFueWEsIDE5LiBKdW4gMTk5NSwgMjE6NDU6MjYpOgojISBybj1Bc21vZGlzIHJ0PTgwMzU2NTE5NgpIYXQgZGljaCBkZWluZSBNYW1pIG5paWllZSBhdWZnZWtsYWVydCwgQXNtb2Rpcywgd28gZGllIGtsZWluZW4gWndlcmdlIGhlci0Ka29tbWVuPyBBbHNvIHBhc3MgbWFsIGF1ZjogRGFzIGlzdCBzbyBtaXQgZGVuIEJpZW5lbiB1bmQgZGVuIEJsdW1lbi4uLgoKQXJhbnlhcQogICAgICBeb2huZSBxLCBhYmVyIGRhIGtvbW0gaWNoIG5pY2h0IG1laHIgaGluIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbGZlbiB1bmQgWndlcmdlIChEZWxvcywgMTkuIEp1biAxOTk1LCAyMTo1MDoxMCk6CkljaCB3ZWlzcyBhdWNoIG5pY2h0IHdhcnVtLCBhYmVyIGljaCBoYWJlIG1pY2ggbWFsIGVpbiBiaXNzY2hlbiBpbiBkZW4KdmVyc2NoaWVkZW5zdGVuIE5hY2hzY2hsYWdld2Vya2VuIHVtZ2VzZWhlbiwgd2FzIGRvcnQgc28gdWViZXIgRWxmZW4KdW5kIFp3ZXJnZSB6dSBmaW5kZW4gaXN0LiBVbmQgaWNoIG11c3N0ZSBmZXN0c3RlbGxlbiwgZGFzcyBkYXMgdWViZXJoYXVwdC0KbmljaHQgbWVpbmVuIHZvcmhlcmlnZW4gVm9yc3RlbGx1bmdlbiBlbnRzcHJhY2guCgpFbGZlbjogbGllYiB1bmQgc2Nob2VuLSB2b24gd2VnZW4hISEgOikKCkltIEdyb3NzZW4gQnJvY2toYXVzIGZhbmQgaWNoIHouQi4gZm9sZ2VuZGVzOgogICBFTEZFTiwgZWlnZW50bGljaCBFbGJlbiwgaW4gZGVyIGdlcm1hbmlzY2hlbiBTYWdlIHVuZCBpbSBNYWVyY2hlbgpMaWNodGdlc3RhbGx0ZW4sIE1pdHRlbHdlc2VuIHp3aXNjaGVuIE1lbnNjaGVuIHVuZCBHb2V0dGVybi4gRGllIG5vcmRpc2NoZQpNeXRob2xvZ2llIHVudGVyc2NoZWlkZXQgZGllIHNjaG9lbmVuLCBmcmV1bmRsaWNoZW4gTGljaHRlbGJlbiB1bmQgZGllCmhhZXNzbGljaGVuLCBib2VzZW4gRHVua2VsZWxiZW4sIHp1IGRlbmVuIGRpZSBad2VyZ2UgZ2Vob2VyZW4uIERpZSBFbGZlbgplcnNjaGVpbmVuIGF1Y2ggYWxzIFRvdGVuc2VlbGVuLCBGcnVjaHRiYXJrZWl0c21hZWNodGUsIFdhc3Nlci0oTml4ZW4pCnVuZCBIYXVzZ2Vpc3Rlci4gQXVjaCBpbiBkZXIgYWVsdGVyZW4gZGV1dHNjaGVuIFRyYWRpdGlvbiBoYWZ0ZXQgaWhuZW4KZXR3YXMgRGFlbW9uaXNjaGVzIGFuOiBTaWUgYnJpbmdlbiBVbmhlaWwgdW5kIEtyYW5raGVpdCwgaWhyCnZlcmZ1ZWhyZXJpc2NoZXIgR2VzYW5nIChBbHBsZWljaCkgd2lyZCBlcndhZWhudC4uLgpEaWUgVm9yc3RlbGx1bmcgdm9uIGVpbmVtIEVsZmVuLUtvZW5pZyBzdGVja3QgaW0gTmFtZW4gQWxiZXJpY2ggb2RlciBhdWNoCkVybGVua29lbmlnLi4uCgogICBaV0VSR0U7IEltIGFlbHRlcmVuIFZvbGtzZ2xhdWJlbiBtaXNjaGVuIHNpY2ggZGllIFZvcnN0ZWxsdW5nZW4gdm9uClRvdGVuLSB1bmQgQWhlbmVnZWlzdGVybiAoLT5Lb2JvbGQpLCBOYXR1ci0gdW5kIFNwdWtnZWlzdGVybiAoLT5FbGZlbikKbWl0IGRlbiBHcnVuZ3ZvcnN0ZWxsdW5nZW4gdm9uIEVyZGdlaXN0ZXJuLCBkaWUgdW50ZXIgZGVyIEVyZGUsIGluIEhvZWhsZW4KQmVyZ2VuLCBHcmFiaHVlZ2VsbiBvZGVyIGhvaGxlbiBCYWV1bWVuIHVuZCBIYXVzZ2Vpc3Rlcm4sIGRpZSBpbiBkZW4KQmVoYXVzdW5nZW4gZGVyIE1lbnNjaGVuIHdvaG5lbi4gRGVyIE5hbWUgWndlcmcgYmVkZXV0ZXQgZW50d2VkZXIKPldlc2VuIG1pdCBrb2VycGVybGljaGVuIEdlYnJlY2hlbjwgb2RlciA+VHJ1Z3dlc2VuPDsgYW5kZXJlIE5hbWVuIHNpbmQKV2ljaHRlbC0sIEhlaXplbG1hZW5uY2hlbiwgVW50ZXJpcmRpc2NoZSwgSGVpZGVuLCBMdXRjaGVuIHUuYS4KR2VzY2hpbGRlcnQgd2VyZGVuIGRpZSBad2VyZ2UgYWxzIGtsZWluLCBhbHQsIGdyYXUsIHZvZ2VsZnVlc3NpZywgbmFja3QKdW5kIHplcmx1bXB0IG9kZXIgd2llIGtsZWluZSBNZW5zY2hlbjsgZWluZSBUYXJua2FwcGUgdmVybGVpaHQgaWhuZW4gS3JhZnQKdW5kIFVuc2ljaHRiYXJrZWl0LiBTaWUgc2luZCBnZXNjaGlja3QgaW0gU2NobWllZGVuLCBCcmF1ZW4sIEJhY2tlbiB1bmQKYWxsZW4gYmFldWVybGljaGVuLCBhYmVyIGF1Y2ggaGFldXNsaWNoZW4gQXJiZWl0ZW47IHNpZSBiZXdhY2hlbiBTY2hhZXR6ZSwKa2VubmUgZGllIFp1a3VuZnQsIHJhZWNoZW4gQmVsZWlkaWd1bmdlbiB1bmQgYmVzdHJhZmVuIEhhcnRoZXJ6aWdrZWl0LgoKRGFzIGlzdCBkb2NoIHdpcmtsaWNoIGVyc3RhdW5saWNoLiBEYSBzY2huZWlkZW4gZG9jaCBkaWUgWndlcmdlIGJlc3NlciBhYiwKYWxzIGRpZSBFbGZlbi4gV2VyIGhhZXR0ZSBkYXMgZ2VkYWNodD8hPwpBbHNvLCBFdXJlIFZvcnN0ZWxsdW5nZW4gdm9uIEVsZmVuIHVuZCBad2VyZ2VuIHNpbmQgdmVyYWx0ZXJ0IChvZGVyIGF1Y2gKbmljaHQhISEhKSAtPlNvbnN0IHdhZXJzIGphIGtlaW5lIEZhbnRhc2llCgpEZWxvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3RhbW11bmcgZGVyIEVsZmVuIChTbnVnZ2xlLCAxOS4gSnVuIDE5OTUsIDIzOjI4OjQ5KToKIyEgcm49RGVsb3MgcnQ9ODAzNTQ1NTQ1CkhlaXNzdCBkYXMsIGRhcyBFbGZlbiB1bmdld2FzY2hlbiBzaW5kLCBEZWxvcz8KOi0pCihzb3JyeS4gaXN0IHppZW1saWNoIGdyYXVlciBodW1vcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJzdGFtbXVuZyBkZXIgRWxmZW4gKFNudWdnbGUsIDE5LiBKdW4gMTk5NSwgMjM6MzU6NTEpOgojISBybj1Sb2VzdGkgcnQ9ODAzNTQ4OTA3ClVOR0VXQVNDSEVOPwpaV0VSR0U/IT8KCjIgU3R1bmRlbiBIaXBwZSEKTWluZGVzdGVucyEKOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBYnN0YW1tdW5nIGRlciBFbGZlbiAoU251Z2dsZSwgMTkuIEp1biAxOTk1LCAyMzozNzo0OSk6CiMhIHJuPUFyYW55YSBydD04MDM1OTExMjYKVW5kIHdhcyBoYXQgZGVyIFN0b3JjaCBtaXQgZGVuIEJpZW5jaGVuIHVuZCBkZW4gQmx1ZW1jaGVuIGdlbWFjaHQ/CjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBad2VyZ2UgKFd1ciwgMjAuIEp1biAxOTk1LCAwNTo0NToxOSk6CiMhIHJuPURlbG9zIHJ0PTgwMzU5MTQxMApPcHMsIGRhY2h0ZSBiaXNoZXIgamVtYW5kIGRhcyBkaWUgRWxmZW4gd2FzIGJlc3NlcmVzIGFscyBkaWUgendlcmdlIHNpbmQ/Cld1ciAtIHN0YXVuZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGllc2UgbXBhLXNhYmFobmhvZiAoR3JpbW1ib3JuLCAyMC4gSnVuIDE5OTUsIDA4OjQ4OjU0KToKIyEgcm49SGFyZyBydD04MDM0ODIxMzAKCkRhbm4gbGFzcyBlcyEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbGZlbiB1bmQgWndlcmdlIChCb2luZywgMjAuIEp1biAxOTk1LCAxMTowNDo1OCk6CiMhIHJuPVd1ciBydD04MDM2MTk5MTkKSmEsIGRpZSBFbGZlbiBkYWNodGVuIGRhcy4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBad2VyZ2UgKEJvaW5nLCAyMC4gSnVuIDE5OTUsIDExOjA5OjE1KToKIyEgcm49RGVsb3MgcnQ9ODAzNTkxNDEwCkljaCBkZW5rZSwgZGFzcyBkaWUgJ0ZhbnRhc3ktRWxmZW4nIGltIEdlZ2Vuc2F0eiB6dSBkZW4gJ1NhZ2VuLUVsZmVuJyBoYWx0Cm1laHIgdm9uIFRvbGtpZW4mQ28gZ2VwcmFlZ3Qgd2VyZGVuLiBNYW4gc2llaHQgc2Nob24gaW0gU2lsbWFyaWxsaW9uLCBkYXNzCmRpZSBFbGZlbiBndXQgdW5kIGdlcmVjaHQgc2luZCAoWi5iLiBGZWFub3IgdW5kIHNlaW5lIFNvZWhuZSAtICpncmlucyopLgpOdW4gZ3V0LCBkYXMgd2FocmUgRWxmZW5nZXNpY2h0IHdpcmQgZGFubiBzY2hsaWVzc2xpY2ggdm9uIFRlcnJ5IFByYXRjaGV0dAppbiAnTG9yZHMgYW5kIExhZGllcycgb2ZmZW5nZWxlZ3QsIHNvbGx0ZSBtYW4gbWFsIGdlbGVzZW4gaGFiZW4uIDopCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWxmZW4gdW5kIFp3ZXJnZSAoWWVuZGksIDIwLiBKdW4gMTk5NSwgMTI6MzM6MDkpOgojISBybj1EZWxvcyBydD04MDM1OTE0MTAKCk1vbWVudCBtYWwsIHdlciBzcHJpY2h0IGRlbm4gdm9uIGJvZXNlPwoKV2lyIEVsZmVuIHNpbmQgIkxpY2h0Z2VzdGFsdGVuLCBNaXR0ZWx3ZXNlbiB6d2lzY2hlbiBNZW5zY2hlbiB1bmQgR29ldHRlcm4iIQpUamFoYWEhIERhcyBzb2xsIHVucyBzbyBlaW4gbGFuZ2JhZXJ0aWdlciBTdGVpbmVmcmVzc2VyIGVyc3QgbWFsIG5hY2htYWNoZW4hCgpHdXRndXQsIGVpZ2VudGxpY2ggc2luZCBad2VyZ2UgamEgYXVjaCBFbGZlbiAtLSBhYmVyIGhlcnVudGVyZ2Vrb21tZW5lLAp2dWxnYWVyZSBTdWJqZWt0ZTogImRpZSBoYWVzc2xpY2hlbiwgYm9lc2VuIER1bmtlbGVsYmVuLCB6dSBkZW5lbiBkaWUgWndlcmdlCmdlaG9lcmVuIi4KX0RpZV8gc2luZCBkb2NoIGdlbWVpbnQsIHdlbm4gZXMgaGVpc3N0LCBlcyAiaGFmdGV0IGlobmVuIGV0d2FzIERhZW1vbmlzY2hlcwogICAgICBhbjogU2llIGJyaW5nZW4gVW5oZWlsIHVuZCBLcmFua2hlaXQgKC4uLikiIQoKQWJlciB3YXMgaW50ZXJlc3NpZXJ0IG1pY2ggZGFzIEdlemV0ZXIgZGVzIFBvZWJlbHMuLi4KCiAgICAgICAgIFlUWSwgTGljaHRnZXN0YWx0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSU5URVJFU1NBTlRFIFNUT1JJRVMgR0VTVUNIVCAoQ3ltb25rLCAyMC4gSnVuIDE5OTUsIDE0OjEyOjU0KToKSGFsbG9lY2hlbiEKCldlbm4gamVtYW5kIGVpbmUgbmV0dGUgZ2VzY2hpY2h0ZSBnZXNjaHJpZWJlbiBoYXQgdW5kIHNwYXNzIGRhcmFuCmhhZXR0ZSwgZGllIGhpZXIgaW0gbWcgYWxzIGJ1Y2ggdmVyb2VmZmVudGxpY2h0IHp1IHNlaGVuLCBtb2VjaHRlCnNpY2ggZG9jaCBiaXR0ZSBtaXQgbWlyIGluIGtvbnRha3Qgc2V0emVuLgoKRXMgd2lyZCBlaW5lIFVtc2F0emJldGVpbGlndW5nIGFuIHZlcmthdWZ0ZW4gZXhlbXBsYXJlbiBnZWJlbiEhIDopCgpieSh0KWUsIEN5TW9uawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBad2VyZ2UgKFB1bWEsIDIwLiBKdW4gMTk5NSwgMTQ6NTk6MTQpOgojISBybj1EZWxvcyBydD04MDM1OTE0MTAKCkRlciBCcm9ja2hhdXMgbHVlZ3QgISEhIQoKUFVNQSEKCihmcnVlaGVyIGdhbnogRWxmLCBqZXR6dCBtaXQgdWViZXJnZXN0dWVscHRlciBNYWdpZXJTaGVsbCkKCkRhcyBIZXJ6IGJsZWlidCBlbGZpc2NoICEgOi0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWxmZW4gdW5kIFp3ZXJnZSAoRGVsb3MsIDIwLiBKdW4gMTk5NSwgMTU6MjI6MDEpOgoKOikKSWNoIHdvbGx0ZSBuaWUgYmVoYXVwdGVuLCBkYXNzIEVsZmVuIHNjaGxlY2h0IHNpbmQhISEgRGEgYmluIGljaCB3b2hsIGZhbHNjaAp2ZXJzdGFuZGVuIHdvcmRlbi4gR2FueiBpbSBHZWdlbnRlaWwsIGljaCBzZWxiZXIgd2FyICh1bmQgYmluKSBpbW1lciBub2NoCmRlciBNZWludW5nLCBkYXNzIGRpZSBFbGZlbiBlaW4gZWxkbGVzIFZvbGsgc2luZC4KV2llIGF1Y2ggQm9pbmcgc2Nob24gYmVtZXJrdGU6IEljaCBnZWhvZXJlIGF1Y2ggenUgZGVuIFRvbGtpZW4gJiBDby4tCkdlcHJhZWd0ZW4gTGV1dGVuLgoKSWNoIGZhbmQgZXMgaGFsdCBudXIgaW50ZXJlc3NhbnQsIGRhc3MgZ2VyYWRlIGluIGRlciBSbC1TYWdlbndlbHQsIGRpZQpFbGZlbiB1ZWJlcndpZWdlbmQgYWxzICJzY2hsZWNodCIgKG9kZXIgd2llIGF1Y2ggaW1tZXIpIGRhcmdlc3RlbGx0CndlcmRlbi4KCkRlbG9zCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBad2VyZ2UgKEJvaW5nLCAyMC4gSnVuIDE5OTUsIDE1OjQ3OjI5KToKIyEgcm49RGVsb3MgcnQ9ODAzNjU0NTIxCkF1Y2ggd2VubiBkdSB6dSBkZW4gVG9sa2llbiAmIENvIGdlcHJhZWd0ZW4gTGV1dGVuIGdlaG9lcnN0LCBoYXN0IER1CndvaGwgbWVpbmVuIEFydGlrZWwgbmljaHQgZ2FueiB2ZXJzdGFuZGVuIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWxmZW4gdW5kIFp3ZXJnZSAoQXJvbWJvbG9zY2gsIDIwLiBKdW4gMTk5NSwgMTY6NTM6MTMpOgpBbHNvLCBhdXMgamFocmVsYW5nZXIgUm9sbGVuc3BpZWxlcmZhaHJ1bmcga2FubiBpY2ggZGF6dSBudXIgc2FnZW4gOgpFbGZlbiBzaW5kIHdlZGVyIGd1dCBub2NoIGJvZXNlLCBzaWUgc2luZCBpbiBlcnN0ZXIgTGluaWUgZWluZmFjaCBpbiBhbGxlbQpiZXNzZXIgYWxzIGFsbGUgYW5kZXJlbiB1bmQgZGFoZXIgaGltbWVsc2NocmVpZW5kIGFycm9nYW50LiA7LSkKClplcmdlIHNpbmQgYXVjaCB3ZWRlciBndXQgbm9jaCBib2VzZSwgYWJlciBzdHVyIHdpZSBlaW5lIGdhbnplIEVzZWxoZXJkZQp1bmQgZnJ1ZWhlciBvZGVyIHNwYWV0ZXIgZ2VoZW4gc2llIGVpbmVtIGZ1ZXJjaHRlcmxpY2ggYXVmIGRpZSBOZXJ2ZW4KKCJ3YW5uIGdpYnQgZXMgZGVubiBlbmRsaWNoIHdpZWRlciB3YXMgenUgdHJpbmtlbi4uLk1hbm4gaXN0IGRhcyBoZWlzcwpoaWVyLi4uCm11ZXNzZW4gd2lyIHdpcmtsaWNoIGR1cmNoIGRpZXNlbiBmbHVzcyA/IC4uLiBJY2ggd2lsbCBhYmVyIG5vY2gKd2VpdGVyc2NobGFmZW4gISIpCgpJQ2ggYmluIHdpcmtsaWNoIGtlaW4gcmFzc2lzdCwgYWJlciBpY2ggYmluIG1laXN0ZW5zIGxpZWJlciBNZW5zY2ggOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbGZlbiB1bmQgWndlcmdlIChKYWYsIDIwLiBKdW4gMTk5NSwgMTg6MDk6MjkpOgojISBybj1Bcm9tYm9sb3NjaCBydD04MDM2NTk5OTMKCncKSG0sIGljaCBnbGF1YiwgaWNoIG11c3MgbWljaCBqZXR6dCB3aXJrbGljaCBtYWwgenUgZGVyIERpc2t1c3Npb24KYXVlc3Nlcm4uIEtsYXIgc2luZCBFbGZlbiBpbiBhbGxlbSBiZXNzZXIgOikgVW5kIFp3ZXJnZSBzaW5kIGtsZWluCnVuZCBzdGlua2VuLiBVbmQgTWVuc2NoZW4gc2luZCBuaWNodCB2aWVsIGdyb2Vzc2VyLgpVbmQgZGllIFdlbHQgaXN0IGVpbmUgU2NoZWliZSwgb2RlciBpc3QgamVtYW5kIHNjaG9uIG1hbCB1ZWJlciBkYXMgV2Fzc2VyCm9lc3RsaWNoIHZvbiBQViBuYWNoIEZlcm53ZXN0IGdla29tbWVuLiBTby4KCkphZi4KCkFjaCBqYTogRXMgZ2lidCBuYXR1ZXJsaWNoIHRyb3R6ZGVtIG5ldHRlIFp3ZXJnZS4uLiB1bmQga2xlaW4Kc2VpbiB1bmQgc3RpbmtlbiBtdXNzIG5pY2h0IHVuYmVkaW5ndCBzY2hsZWNodCBzZWluLiBFcyBnaWJ0IGphIGF1Y2gKaW5uZXJlIFdlcnRlLiBXZXIgc2Nob25tYWwgZWluIFp3ZXJnZW5zdGVhayBnZWdlc3NlbiBoYXQsIHdpcmQgd2lzc2VuLAp3YXMgaWNoIG1laW5lLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplbGZlbiB6d2VyZ2UgdW5kIHNvIHdlaXRlciAoU3RhaGxkb3JuLCAyMC4gSnVuIDE5OTUsIDE4OjM3OjE4KToKCkFsc28gaWNoIHZlcnN0ZWggZGllIGdhbnplIFN0cmVpdGVyZWkgbmljaHQuCkVsZmVuIGdpYnRzIG5pY2h0LiBhdXMuIEF1Y2gga2VpbmUgWndlcmdlLiBQdW5rdC4KRXMgZ2lidCBudXIgdW5zIE1lbnNjaGVuLCBhbGxlcyBhbmRlcmUgc2luZCBTYWdlbmdlc3RhbHRlbi4KClNvLCBuYWNoZGVtIGRhcyBudW4gZ2VrbGFlcnQgd3VyZGUsIGdlaCBpY2ggd2llZGVyIGVpbiBwYWFyIE9ya3MgdW5kIEdvYmxpbnMKdG9ldGVuLi4uIDstKQoKICBTVEFITGkgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbGZlbiB1bmQgWndlcmdlIChKaW1kaWdyaXosIDIwLiBKdW4gMTk5NSwgMTk6NTM6NTUpOgojISBybj1EZWxvcyBydD04MDM2NTQ1MjEKCkVsZmVuIHN0aW5rZW4gISEhCgpKYW1lcyBCb2xpdmFyIGRpR3JpeiwgTWVuc2NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZWxmZW4gendlcmdlIHVuZCBzbyB3ZWl0ZXIgKEppbWRpZ3JpeiwgMjAuIEp1biAxOTk1LCAxOTo1NTo0OCk6CiMhIHJuPVN0YWhsZG9ybiBydD04MDM2NjYyMzgKCkVzIGdpYnQgbnVyIEJpZXIgIQoKSmFtZXMgQm9saXZhciBkaUdyaXoKCi0+IHNjaG1hcnJlbiAsIG9kZXIgLi4uOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVsZmVuIHVuZCBad2VyZ2UgKEFydHksIDIwLiBKdW4gMTk5NSwgMTk6NTg6MzgpOgojISBybj1KaW1kaWdyaXogcnQ9ODAzNjcwODM1Ck5hIFVuZCA/IEVzIGdpYnQgc2NobGltbWVyZXMgISAoaG9lciBkaXIgbWFsIHZvbiBkZW4gJ2Rvb2ZlbicgIm1pZWYiIGFuICEgOikKKQpBUlRZCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1bWZyYWdlIChLeXJhLCAyMC4gSnVuIDE5OTUsIDIwOjI5OjE0KToKSGFsbG8gIQoKV2lyIG11ZXNzZW4gZnVlciBkaWUgVW5pIGVpbiBSZWZlcmF0IHVlYmVyIE1VRHMsIGJ6dyBNVURzcGllbGVyIHNjaHJlaWJlbgooU296aWxvZ2llKQpXZWlsIGVzIGFiZXIgaXJnZW5kd2llIGRvb2YgaXN0LCBKZWRlbnRhZyBkdXJjaCBkYXMgUlogenUgdGlnZXJuIHVuZCBpbW1lcgpudXIgaWUgc2VsYmVuIExNZW5zY2hlbiB6dSBiZWZyYWdlbiwKZGFjaHRlbiB3aXIgdW5zLCBkYXNzIGVzIHZpZWxsZWljaHQgcmVjaHQgc2lubmlnIGlzdCwgZGljaCBoaWVyIHp1IGJlZnJhZ2VuLgpBbHNvLCB3ZW5uIGR1IHVucyBzY2hyZWliZW4ga29lbm5zdGVzdCA6CgogLSB3aWUgb2Z0L2xhbmdlIGR1IHNwaWVsc3QKIC0gd2FzIGZ1ZXIgZGljaCBkaWUgRmFzemluYXRpb24gYmVpbSBtdWRkZW4gYXVzbWFjaHQKIC0gd2llIGR1IGRhenUgZ2Vrb21tZW4gYmlzdAogLSB1bmQgb2IgZHUgZGljaCBoaWVyIGFuZGVycyB2ZXJoYWVsc3QgYWxzIGltIFJMIChtYWwgYWJnZXNlaGVuIHZvbSBtZXR6ZWxuCiAgIDspKQoKd2FlcmVuIHdpciBkaXIgU0VIUixTRUhSIGRhbmtiYXIgIQoKYWNoamEsIGJpdHRlIGJpcyBEb25uZXJzdGFnIHVuZCB3ZW5uIGlociBub2NoIEFsdGVyIHVuZCBHZXNjaGxlY2h0IGFuZ2ViZW4Ka29lbm50ZXQgd2FlciBlcyBwZXJmZWt0Cgpub2NobWFsIGRhbmtlLAoKS3lyYSB1bmQgQmlyZ2l0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW1mcmFnZSAoTWF0ZWVzZSwgMjEuIEp1biAxOTk1LCAwMDowMzoxNSk6CiMhIHJuPUt5cmEgcnQ9ODAzNjcyOTU0CkhtbSwgd2llIHdhZXJlIGVzIG1hbCBtaXQgZWluZW0gUmVmZXJhdCB1ZWJlciBMZXV0ZSwgZGllIHVlYmVyIE11ZHNwaWVsZXIKUmVmZXJhdGUgc2NocmVpYmVuIChsYXNzZW4pPwpJbiBBbWlsYW5kIHd1cmRlbiBkYXMgVGhlbWEgc2Nob24gZnVlciBkaXZlcnNlIE1hc3RlciBUaGVzaXMgdmVyd3Vyc3RldC4KIC0tIE1hdGVlc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjcmlwdHNwaWVsZXIgKENoaXAsIDIxLiBKdW4gMTk5NSwgMDA6NTE6NDYpOgpNaXQsIDIxLiBKdW4gMTk5NSwgMDA6NDQ6NDcuCj4gdG0gYXNtb2RpcyBoYWxsbwpEdSB0ZWlsc3QgQXNtb2RpcyBtaXQ6IGhhbGxvCj4gQXNtb2RpcyB0ZWlsdCBEaXIgbWl0OiBKYSwgaWNoIGJpbiBub2NoIGRhIQp6ZWl0Ck1pdCwgMjEuIEp1biAxOTk1LCAwMDo0NDo1OS4KPiB0bSBhc21vZGlzIGthbm5zdCBkdSBtaXIgaGVsZmVuCkR1IHRlaWxzdCBBc21vZGlzIG1pdDoga2FubnN0IGR1IG1pciBoZWxmZW4KPiBBc21vZGlzIHRlaWx0IERpciBtaXQ6IEphLCBpY2ggYmluIG5vY2ggZGEhCnplaXQKTWl0LCAyMS4gSnVuIDE5OTUsIDAwOjQ1OjI1Lgo+IHRtIGFzbW9kaXMga2FubnN0IGR1IHNhZ2VuIG1pdCB3ZWxjaGVtIHF1ZXN0IG1hbiBhbHMgYW5mYW5nZXIgYW0gYmVzdGVuCmJlZ2lubnQKRHUgdGVpbHN0IEFzbW9kaXMgbWl0OiBrYW5uc3QgZHUgbWlyIHNhZ2VuIG1pdCB3ZWxjaGVtIHF1ZXN0IG1hbiBhbHMgYW5mYW5nZXIKRHUgdGVpbHN0IEFzbW9kaXMgbWl0OiBhbSBiZXN0ZW4gYmVnaW5udAo+IEFzbW9kaXMgdGVpbHQgRGlyIG1pdDogSmEsIGljaCBiaW4gbm9jaCBkYSEKQXNtb2RpcyB0ZWlsdCBEaXIgbWl0OiBKYSwgaWNoIGJpbiBub2NoIGRhIQp6ZWl0Ck1pdCwgMjEuIEp1biAxOTk1LCAwMDo0NjozNC4KPiB0bSBhc21vZGlzIGJpc3QgZHUgc2Nod3VsID8/CkR1IHRlaWxzdCBBc21vZGlzIG1pdDogYmlzdCBkdSBzY2h3dWwgPz8KPiBBc21vZGlzIHRlaWx0IERpciBtaXQ6IEphLCBpY2ggYmluIG5vY2ggZGEhCgoKc28gdmllbCB6dW0gdGhlbWEgc2NyaXB0c3BpZWxlcgptZWhyIGdpYnRzIGRhenUgamEgd29obCBuaWNodCBtZWhyIHp1IHNhZ2VuCm9kZXIgaGFiZSBlaW5pZ2Ugc3BpZWxlciBzb25kZXJyZWNodGUKCnVuZCB3ZWNoCgp4eHgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVsZmVuIHVuZCBad2VyZ2UgKEFudGhlYSwgMjEuIEp1biAxOTk1LCAwODo0MDo0NSk6CiMhIHJuPUphZiBydD04MDM2NjQ1NjkKRGllIFdlbHQgaXN0IGVpbmUgU2NoZWliZT8gTmEgc293YXMuLi4uIGRhYmVpIGhhdHRlbiB3aXIgdW5zIGRvY2ggc2Nob24gdm9yCmxhbmdlbSBkYXJhdWYgZ2VlaW5pZ3QsIGRhc3MgIE1vcmdlbkdyYXVlbiBlaW5lIFBpenphIGlzdC4uLiBtaXQgemllbWxpY2gKZHVua2xlciBVbnRlcnNlaXRlLiBXYWhyc2NoZWlubGljaCBoYXQgSm9mIHNpZSB6dSBzcGFldCBhdXMgZGVtIE9mZW4gZ2Vub21tZW4KKEVyIHdhciBtYWwgd2llZGVyIHp1IGxhbmdlIGlkbGUgOikgKQoKICAgICAgIEFudGhlYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbWUgZXJrYW5udCwgYWJlciBuaWNodCBnZWJhbm50PyAoSm9mLCAyMS4gSnVuIDE5OTUsIDA4OjQ5OjE1KToKCiBIZXV0ZSBpbSBERk4gdHJvdWJlIHJlcG9ydDoKCj5OdW1iZXI6ICAgICAgICAgMTcwCj5DYXRlZ29yeTogICAgICAgSW5sYW5kCj5TeW5vcHNpczogICAgICAgTGFzdHByb2JsZW1lIGltIFdpTgo+Q29uZmlkZW50aWFsOiAgIG5vCj5TZXZlcml0eTogICAgICAgc2VyaW91cwo+UHJpb3JpdHk6ICAgICAgIG1lZGl1bQo+UmVzcG9uc2libGU6ICAgIE5PQyAoREZOIE5PQyBSZWNoZW56ZW50cnVtIFVuaSBTdHV0dGdhcnQpCj5TdGF0ZTogICAgICAgICAgb3Blbgo+Q2xhc3M6ICAgICAgICAgIHN1cHBvcnQKPlN1Ym1pdHRlci1JZDogICBERk4tTk9DX1N0dXR0Z2FydAo+QXJyaXZhbC1EYXRlOiAgIFR1ZSBKdW4gMjAgMTk6MjY6MDAgMTk5NQo+T3JpZ2luYXRvcjogICAgIEpvYWNoaW0gU2NobWl0ego+T3JnYW5pemF0aW9uOgogICAgICAgICAgICAgICAgREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlcgogICAgICAgICAgICAgICAgUmVjaGVuemVudHJ1bSBkZXIgVW5pdmVyc2l0YWV0IFN0dXR0Z2FydAogICAgICAgICAgICAgICAgQWxsbWFuZHJpbmcgMzAKICAgICAgICAgICAgICAgIEQtNzA1NTAgU3R1dHRnYXJ0CiAgICAgICAgICAgICAgICBHZXJtYW55Cj5SZWxlYXNlOiAgICAgICAgMjcuMDYuOTQKPkVudmlyb25tZW50OgogICAgICAgICAgICAgICAgQW0gbWVpc3RlbiBiZXRyb2ZmZW4gaXN0IGRpZSBXaU4tVW1nZWJ1bmcgYmVpIER1ZXNzZWxkb3JmLAogICAgICAgICAgICAgICAgd28gYXVjaCBkaWUgaG9lY2hzdGUgVmVya2VocnNkaWNodGUgaGVycnNjaHQuCj5EZXNjcmlwdGlvbjoKICAgICAgICAgICAgICAgIFNlaXQgZWluaWdlciBaZWl0IG1hY2h0IHNpY2ggZWluIG5ldWVyIEVuZ3Bhc3MgYmVtZXJrYmFyOgogICAgICAgICAgICAgICAgQW5zdGF0dCBkYXNzIG51biBkZXIgQXVzbGFuZHN2ZXJrZWhyIHdlZ2VuIHp1IGVuZ2VyCkxlaXR1bmdlbgogICAgICAgICAgICAgICAgaW0gQXVzbGFuZCBnZWJyZW1zdCB3aXJkLCB3aXJrdCB2ZXJtdXRsaWNoIGRhcyBXaU4gdW0gZGVuCiAgICAgICAgICAgICAgICBTdGFuZG9ydCBEdWVzc2VsZG9yZiBoZXJ1bSBudW5tZWhyIGFscyBIZW1tc2NodWguCgogICAgICAgICAgICAgICAgQmV0cm9mZmVuIGlzdCBkYXZvbiBkZXIgQXVzbGFuZHN2ZXJrZWhyIGRlcyBERk4tSVAgRGllbnN0ZXMsCiAgICAgICAgICAgICAgICBhbGxlcmRpbmdzIGVoZXIgdW5laW5oZWl0bGljaCwgZGEgZXMgZnVlciBkZW4KRWluemVsdGVpbG5laG1lcgogICAgICAgICAgICAgICAgZGF2b24gYWJoYWVuZ3QsIGF1ZiB3ZWxjaGVtIFdlZyBnZW5hdSBEdWVzc2VsZG9yZiBlcnJlaWNodAogICAgICAgICAgICAgICAgd2lyZC4KCiAgICAgICAgICAgICAgICBEaWUgVGVsZWtvbSB1bmQgZGllIERGTi1HZXNjaGFlZnRzc3RlbGxlIGlzdCB1ZWJlciBkaWUKICAgICAgICAgICAgICAgIFByb2JsZW1lIGluZm9ybWllcnQuCj5Ib3ctVG8tUmVwZWF0Ogo+Rml4Ogo+QXVkaXQtVHJhaWw6Cj5VbmZvcm1hdHRlZDoKCgogSG9mZmVudGxpY2ggZml4ZW4gZGllIG51JyB3YXMgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2NyaXB0c3BpZWxlciAoSm9mLCAyMS4gSnVuIDE5OTUsIDA5OjAxOjIzKToKIyEgcm49Q2hpcCBydD04MDM2ODg3MDYKCiBXaXIgaGFiZW4gZGVuIFNjcmlwdC1TcGllbGVybiBub2NoIGVpbmUgU2Nob25mcmlzdCB2b24gMjRoIG5hY2ggZGVtIFBvc3Rlbgp2b24gQ2F0d2VhemxlcyBBcnRpa2VsIGVpbmdlcmFldW10LCBkYW1pdCBzaWUgbmUgQ2hhbmNlIGhhYmVuLCBkZW4gYXVjaCB6dQpsZXNlbiwgd2VubiBzaWUgZGVubiBtYWwgJ3JpY2h0aWcnIGRhIHNpbmQuIERpZSBsYWV1ZnQgZ3JhZGUgYWIgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSU5URVJFU1NBTlRFIFNUT1JJRVMgR0VTVUNIVCAoTnVkZWksIDIxLiBKdW4gMTk5NSwgMDk6MzY6NTEpOgojISBybj1DeW1vbmsgcnQ9ODAzNjUwMzc0CmJlc3RlciBDeW1vbmshCgpEaWUgYWxsZXJ3ZXJ0ZXN0ZW4gdW5kIGdlaGFsdHZvbHN0ZW4gR2VzY2hpY2h0ZW4gZmluZGVuIHNpY2ggaW0gREVSIElSUkUKV0VMVFJBVU1QUk9MRVQsIHVuZCBzb25zdCBuaXJnZW5kd28uIEVyIGhhdCBkZW4gVm9ydGVpbCwgZGFzcyBlciBrb3N0ZW5sb3MgaXN0CnVuZCBrZWluZSBXZXJidW5nZW4gYnJhdWNodC4KCkRvY2ggd2VubiBEdSBJbnNwaXJhdGlvbmVuIGJyYXVjaHN0LCBkZXN0ZWxsIGlobiBkb2NoLi4uOykKCk51ZGVpLCBTY2hyaWZ0bGVpdHVuZyBEaVdwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW1mcmFnZSAoSGF0ZSwgMjEuIEp1biAxOTk1LCAxMToyOToxMyk6CiMhIHJuPUt5cmEgcnQ9ODAzNjcyOTU0CkljaCBmYWVuZGUgZXMgZ2FueiBwcmFrdGlzY2gsIHdlbm4gc29sY2hlIFd1ZW5zY2hlIGV0d2FzIHplbnRyYWxpc2llcnQKd2VyZGVuIHd1ZXJkZW4sIGRlbm4gbWlyIHNjaGVpbnQgZXMsIGRhc3MgaW1tZXIgd2llZGVyIHNvbGNoZSBBcmJlaXRlbgp2b24gaW50ZXJlc3NpZXJ0ZW4gTGV1dGVuIGtvbW1lbi4KRXMgd3VlcmRlIG1pY2ggZnJldWVuLCB3ZW5uIGlociBFdWNoIGRpcmVrdCBhbiBlaW5lbiBkZXIKR29ldHRlci9FcnptYWdpZXIvTWFnaWVyCndlbmRldCwgdW0gZGFubiB2aWVsbGVpY2h0IHNjaG9uIGdlc2FtbWVsdGUgSW5mb3JtYXRpb25lbiBkaXJla3QgenUgYmVrb21tZW4uCldlbm4gbmFlbWxpY2ggYWxsZSAyIE1vbnRhdGUgc28gZWluZSBBbmZyYWdlIGtvbW10LCB3ZXJkZW4gZGllIFNwaWVsZXIgYmFsZApuaWNodCBtZWhyIHdpbGxpZyBzZWluLCBzb3dhcyB6dSBiZWFudHdvcnRlbi4gRXMgbmVydnQgZGFubiBuYWVtbGljaCBpcmdlbmQtCndhbm4sIG9obmUgamV0enQgYm9lc3dpbGxpZyBzZWluIHp1IHdvbGxlbi4KQXVzc2VyZGVtIGVyc3BhcnQgZXMgZWluZW4gSGF1ZmVuIEFyYmVpdCwgd2VubiBtYW4gYXVmIHZvcmhhbmRlbmUgSW5mb3ItCm1hdGlvbmVuIHp1cnVlY2tncmVpZmVuIGthbm4uIERhIHdpciBuZWJlbmhlciBhdWNoIG5vY2ggZWluZSBSZWloZSBhbmRlcmUKSW5mb3JtYXRpb25lbiB1bmQgU3RhdGlzdGlrZW4gaGFiZW4sIGtvZW5udGUgZGVyIE1hZ2llci0iQXBwcm9hY2giIGludGVyLQpyZXNzYW50IHNlaW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbGZlbiB1bmQgWndlcmdlIChEdXJpYW4sIDIxLiBKdW4gMTk5NSwgMTI6MTI6MzMpOgojISBybj1Bcm9tYm9sb3NjaCBydD04MDM2NTk5OTMKTW9tZW50LCBBcm9tYm9sb3NjaCwgRWxmZW4gc2luZCBlaW5kZXV0aWcgbmljaHQgaW4gQUxMRU0gYmVzc2VyOgoKRWxmZW4gc2luZCBnYW56IHNpY2hlciB3ZW5pZ2VyIGhhbHRiYXIgYWxzIFp3ZXJnZSwgZGFzIGlzdCBqYXdvaGwgRmFrdCA6LSkKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbGZlbiB1bmQgc293YXMgKFRvZXRlciwgMjEuIEp1biAxOTk1LCAxMjoyNTowMyk6CkFsc28gd2VyIHdpc3NlbiB3aWxsLCB3aWUgZGllIEVsZmVuIGluIHVuc2VyZW0gTXVkIHp1IGNoYXJha3RlcmlzaWVyZW4Kc2luZCwgZGVyIGJyYXVjaHQgZG9jaCBudXIgc2ljaCBtYWwgYWxzIG5ldWVyIFNwaWVsZXIgZWluenVsb2dnZW4gdW5kCnZvciBkZXIgV2FobCBkZXIgUmFzc2UgJz8gMicgZWluenVnZWJlbi4gRGEgc3RlaHQgZGFubiBhbGxlcyBXaXNzZW5zd2VydGUKdWViZXIgZGFzIGVkbGUgVm9say4KCkJvZXNlIGdyaW5zZW5kLCBUb2V0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJnc3RhdGlvbiB1bmQgU2NyaXB0ISAoQXp6dXJvLCAyMS4gSnVuIDE5OTUsIDEzOjEwOjI2KToKV2llIHdhZXIgZXMgbWl0IGRlciBFaW5mdWVocnVuZyBkZXIgUGxhc3Rpa2NhcmQgZnVlciBkaWUgQmVyZ3N0YXRpb24uIEplZGVyCnNwaWVsZXIgd2lyZCBnZXNwZWljaGVydCwgdW5kIHdlbm4gYW0gRW5kZSBkZXMgUXVhcmFscyB6dSBzZWhyIG1pdCBkZXIKQmVoYW5kbHVuZyBnZXByYXNzdCB3dXJkZSwgZGFubiBpc3QgWmFobHRhZyEKV2FzIFNlZWhvZmVyIGthbm4sIGtvZW5uZW4gd2lyIGF1Y2guCihEYXMgV29ydCBkYSBvYmVuIHNvbGwgYXVzc2VyZGVtIFF1YXJ0YWwgaGVpc3Nlbi4pCkF1c3NlcmRlbSBrb2VubnRlbiBkZSBLcmFua2Vuc2Nod2VzdGVybiwgZGllIFBhdGllbnRlbiBtaXQgRnJhbnotQnJhbmR3ZWluCmVpbnJlaWJlbiB1bmQgZGFoZXIgZGVyIEFsbGVob2xnZWhhbHQgYXVjaCBiZWkgS3JhbmtlbiBob2NoZ2VoZW4uCkRhbWl0IHdhZXIgYXVjaCBkYXMgUHJvYmxlbSBnZWxvZXN0LgpOYWd1dCBhYiBpbiBTY2htYXJybiBkYW1pdC4KQWJlciBlaW4gd2VuaWcgd2FyZXMgaXN0IHNjaG9uIGRyYW4uCkF6enVybyBoYXNzdCBTY3JpcHRzIChBYmVyIGF1Y2ggbnVyIHdlaWwgZXIgYXVmIHNlaW5lbSBSZWNoZW5lciBzaWUgbmljaHQKbGF1ZmVuIGxhc3NlbiBrYW5uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVsZmVuIHVuZCBad2VyZ2UgKEFuY2FsYWdvbiwgMjEuIEp1biAxOTk1LCAxMzoyNzoxMyk6CiMhIHJuPUR1cmlhbiBydD04MDM3Mjk1NTMKLi4uLnVuZCBub3JtYWxlcndlaXNlIHNpbmQgWndlcmdlIGF1Y2ggd2VzZW50bGljaCB0cmlua2Zlc3Rlci4uLi4KQW5jYWxhZ29uIChoYXQgbWFsIGVpbmVuIEtuZWlwZW56d2VyZyBnZXJvbGxlbnNwaWVsdC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXJnc3RhdGlvbiB1bmQgU2NyaXB0ISAoQmFyb24sIDIxLiBKdW4gMTk5NSwgMTQ6MjY6MDcpOgojISBybj1Benp1cm8gcnQ9ODAzNzMzMDI2Ck5laW4hIEJsb3NzIGtlaW5lIEtyYW5rZW5zY2h3ZXN0ZXJuIGRpZSBlaW5lbiBtaXIgRnJhbnpicmFuZHdlaW4gZWlucmVpYmVuIQpEYW5uIGtvbW1lbiBqYSBnYXJrZWluZSBTcGllbGVyIG1laHIgaW4gZGFzIEJldHQgd2VpbCBpc3QgaW1tZXIgdm9uIE1hZ2llcm4KYmVsZWd0IGlzdCBkaWUgc2ljaCBlaW5yZWliZW5sYXNzZW4gd29sbGVuIDopLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW1lIGVya2FubnQsIGFiZXIgbmljaHQgZ2ViYW5udD8gKEJhbWJ1bGtvLCAyMS4gSnVuIDE5OTUsIDE1OjEyOjI3KToKIyEgcm49Sm9mIHJ0PTgwMzcxNzM1NQpJY2ggc2FnIG51ciAiU2NoZWlzcyBEdWVzc2VsZG9yZiIKSGFiIGljaCBkb2NoIHNjaG9uIGltbWVyIGdlc2FndCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzY3JpcHRzcGllbGVyIChBc21vZGlzLCAyMS4gSnVuIDE5OTUsIDE4OjM4OjExKToKIyEgcm49Sm9mIHJ0PTgwMzcxODA4MwpBbHNvLCB3ZW5uIGljaCBhYiBqZXR6dCBkaWVzZW4gdHJpZ2dlciB3aWVkZXIgZWluZ2VzY2hhbHRldCBoYWJlLCB3ZXJkZSBpY2gKYXVzZ2Vsb2dndCA/IDopCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjcmlwdHNwaWVsZXIgKENoaXAsIDIxLiBKdW4gMTk5NSwgMTg6NDI6MjApOgpEYXMgd2FyIGphIG5pY2h0IGRlaW4gZWluemlnZXIgdHJpZ2dlciwgQXNtb2RpcwoKRHUgaGFzdCBqYSBnbGVpY2h6ZWl0aWcgYXVzIFNjcmlwdCBLYXJhdGUgZ2V1ZWJ0Cgp1bmQgd2VjaAoKeHh4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVsZmVuIHVuZCBad2VyZ2UgKFNudWdnbGUsIDIxLiBKdW4gMTk5NSwgMjM6NTE6MzQpOgojISBybj1Bcm9tYm9sb3NjaCBydD04MDM2NTk5OTMKTmFqYSwgbXVlc3NlbiB3aXIgZGVubiBXSVJLTElDSCBkdXJjaCBkaWVzZW4gRmx1c3M/ClVuZCBhdXNzZXJkZW0sIGF1ZiBkaWUgSWRlZSB1bSBESUUgWmVpdCBhdWZ6dXN0ZWhuIGthbm4gYXVjaCB3aXJrbGljaCBuciBlaW4KTWVuc2NoIGtvbW1lbi4KOi0pCgpNZXJrZTogbGllYmVyIG5lIEZyYXUgbWl0IEJhcnQgYWxzIG5lbiBrbmFja2lnZW4gTWFlbm5lcmFyc2NoLgpZVCBTbnVnZ2xlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFbGZlbiB1bmQgWndlcmdlIChHYXJmaWVsZCwgMjIuIEp1biAxOTk1LCAwMDozMDoxMyk6CiMhIHJuPVNudWdnbGUgcnQ9ODAzNzcxNDk0CgpLb21pc2NoLgpEYXMgVmVyc3RlaCBJY2ggTmljaHQuCgpJY2ggaGFiIG5peCBnZWdlbiBrbmFja2lnZSBNYWVubmVyYWVyc2NoZS4KCipncmlucyBndW5kdXIqCgoKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlcmdzdGF0aW9uIHVuZCBTY3JpcHQhIChMaSwgMjIuIEp1biAxOTk1LCAwODowMzoyNik6CiMhIHJuPUJhcm9uIHJ0PTgwMzczNzU2NwpIbW0sIGljaCBnbGF1YmUsIG9iIGRhIE1hZ2llciBsaWVnZW4sIGtvbW10IGF1ZiBBdXNzZWhlbiB1bmQgR2VzY2hpY2tsaWNoa2VpdApkZXIgS3JhbmtlbnNjaHdlc3RlciBhbiwgb2Rlcj8KCk9rLE9rIGljaCBnZWJzIGphIHp1OiBXZWcgZGFtaXQgaW4gU2NobWFycm4KCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2NyaXB0c3BpZWxlciAoRnJhZ2dsZSwgMjIuIEp1biAxOTk1LCAwOTo1MDoyMyk6CiMhIHJuPUNoaXAgcnQ9ODAzNjg4NzA2CkFzbW9kaXMgbW9lZ2xpY2hlcndlaXNlIGdldHJpZ2dlcnRlcyBhbnR3b3J0ZW4gYXVmIHRlaWxlIG1pdCB0cmlmZnQgKHNvCmRlbmtlIGljaCkgbmljaHQgZGFzIFByb2JsZW0sIGRhcyBzY3JpcHRzcGllbGVyIGRhcnN0ZWxsZW46IERhcyBIaS1TcGVlZApkdXJjaHd1c2VsbiBkZXIgR2VnZW5kLCBkYXMgZGF6dSBmdWVocnQsIGRhc3MgYW5kZXJlbiBkZXIgQmlsZHNjaGlybQppbiBuaWNodG1laHIgenVtdXRiYXJlbiBHcm9lc3Nlbm9yZG51bmdlbiB6dWdlbXVlbGx0IHdpcmQuIChOb2NoIHNjaGxpbW1lcgpzaW5kIG5hdHVlcmxpY2ggU2tyaXB0LVNhbW1sZXImSmFlZ2VyKS4gQWJnZXNlaGVuIGRhdm9uIGdlaHQgYXVzIERlaW5lbQoxLiBBcnRpa2VsIG5vY2ggbmljaHQgbWFsIGhlcnZvciwgb2IgRHUgdWViZXJoYXVwdCB2ZXJzdWNodCBoYXN0LCB3YXMgZ2VnZW4KZGVuIChhbmdlYmxpY2hlbikgU2tyaXB0c3BpZWxlciB6dSB1bnRlcm5laG1lbiwgZWluIFRlc3QgcGVyIHRlaWxlIG1pdCBpc3QKZGEgbmljaHQgYXVzcmVpY2hlbmQsIGthbm4gamEgZHVyY2hhdXMgc2VpbiwgZGFzcyBkYSBudXIgbmVuIFRyaWdnZXIgZ2VnZW4KenUgdmllbGUgRnJhZ2VuIGxhZXVmdCwgZGFzIGhhdCBtaXQgU2tyaXB0c3BpZWxlbiBuaXggenUgdHVuLCBhdXNzZXJkZW0KYmV3aXJrdCBlaW4gVmVyYm90IGphIG5pY2h0IHNvZm9ydCBkYXMgVW50ZXJibGVpYmVuIGFsbGVyIFNrcmlwdHBsYXlzLAptaXQgU29uZGVycmVjaHRlbiBoYXQgZGFzIGRhbm4gc2Nob24gbWFsIGdhcm5peCB6dSB0dW4uCihCZWkgS2FyYXRlLS1VZWJ1bmdlbiBtYWcgZGFzIGFuZGVycyBhdXNzZWhlbiwgaW4gc29sY2hlbiBGYWVsbGVuIHNvbGx0ZXN0CkR1IGFiZXIgZWluZW0gKEVyeilNYWdpZXIgYmVzY2hlaWQgc2FnZW4sIGRlciBrYW5uIGRhbm4gZGVubiBGYWxsIHBydWVmZW4KdW5kIHdpcmQgYXVjaCBlbnRzcHJlY2hlbmQgcmVhZ2llcmVuLgoKR3J1c3MKRnJhZ2dsZQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbmZsYXRpb24gaW4gZGVuIExhZWRlbj8gKE1hbmdvLCAyMi4gSnVuIDE5OTUsIDIwOjA2OjM1KToKaG9sbGEgaWhycywKCndpZSBrb21tdCBlcyBkZW5uIHp1IGRpZXNlciBzZWhyIHNlbHRzYW1lbiBwcmVpc2dlc3RhbHR1bmcgaW0gZWxmZW5sYWRlbj8Kb2Igc2ljaCBkYSB3b2hsIGRpZSBiZXNpdHplciBkaWVzZXMgbGFkZW5zIGV0d2FzIHZlcmthbGt1bGllcnQgaGFiZW4/CgoKMTI3LiBFaW5lIE1hZ2llcnJvYmUgICAgICAgICAgICAgIDkwMCB8IDEyOC4gRWluZSBNZXRhbGxwYW56ZXIgICAgICAgICAgIDMwMDAKCgoKPiBrYXVmZSBtZXRhbGxwYW56ZXIKRXIgd3VlcmRlIDIxNjkzIE11ZW56ZW4ga29zdGVuLCB1bmQgRHUgaGFzdCBudXIgNzQyNC4KCgpNYW5nbyAoc2VociB1ZWJlciBQcmVpc2UgZ3J1ZWJlbG5kKS4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEluZmxhdGlvbiBpbiBkZW4gTGFlZGVuPyAoVG9zcywgMjIuIEp1biAxOTk1LCAyMDo0ODo1OSk6CiMhIHJuPU1hbmdvIHJ0PTgwMzg0NDM5NQpOYWphLCB2b24gaXJnZW5kd2FzIG11c3MgZGVyIGphIGF1Y2ggbGViZW4sIGRlciBhcm1lIGhhZW5kbGVyLi4uCndhcnNjaGVpbmxpY2ggYmF1dCBlciBzaWNoIGdlcmFkZSBlaW4gU2VoZXJoYXVzIDspKQoKUnluZQpnYXIgbmljaHQgc28gdWViZXJyYXNjaHQgdWViZXIgaW5mbGF0aW9uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEluZmxhdGlvbiBpbiBkZW4gTGFlZGVuPyAoSm9mLCAyMi4gSnVuIDE5OTUsIDIxOjM3OjAzKToKIyEgcm49TWFuZ28gcnQ9ODAzODQ0Mzk1CgogTmFqYSwgZXJzdGVucyB3YXIgZGVyIFBhbnplciBrYXB1dHQgLSBFSU5FIFBhbnplciBpc3Qgc2NobGVjaHQgLi4uCnVuZCB6d2VpdGVucyAtIGRhcyB3YXIgYW4gMTI4LmVyIHN0ZWxsZSBpbiBkZXIgTGlzdGUgLSBkYSB3YXIgdW50ZXIgR2FyYW50aWUKdm9yaGVyIE5PQ0ggZWluIFBhbnplciwgdW5kIGRlbiBoYXR0ZXN0IGR1IGVyd2lzY2h0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKREFua2UgIChLeXJhLCAyMi4gSnVuIDE5OTUsIDIxOjQ0OjA3KToKQW4gYWxsZSwgZGllIHNvIG5ldHQgd2FyZW4gdW5zIGJlaSB1bnNlcmVtIFJlZmVyYXQgenUgaGVsZmVuOiBUYXVzZW5kIERhbmssCmVzCmhhdCB1bnMgZWNodCB3ZWl0ZXIgZ2VicmFjaHQuIE11ZGVkIG5vY2ggZnJvZWhsaWNoIHdlaXRlci4gVHNjaGF1IEt5cmEgdW5kCkJpcmcKaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBadXIgU2VsYnN0bG9lc2NodW5nIHZvbiBBdmFsb25hIChQYXJhY2Vsc3VzLCAyMy4gSnVuIDE5OTUsIDEyOjI5OjAzKToKIyEgcm49VG9zcyBydD04MDM0NTUzNjIKSG1tLCAyMy4gSnVuaS4gMTI6MzA6CkF2YWxvbmEgaXN0IG5pY2h0IGVpbmdlbG9nZ3QuClp1bGV0enQgZWluZ2Vsb2dndCB2b246IFR1ZWJpbmdlbgpadWxldHp0IGF1c2dlbG9nZ3Q6IERvbiwgMjIuIEp1biAxOTk1LCAxNToxNToxNSAoMjE6MTI6MjQpClZvbGxlciBOYW1lOiBBdmFsb25hIGRpZSBob2ZmbnVuZ3N2b2xsZSBBbmZhZW5nZXJpbgpSYXNzZTogWndlcmcsICAgIEdlc2NobGVjaHQ6IHdlaWJsaWNoCkFsdGVyOiAwMjowNzoxNCAgIFNwaWVsZXJsZXZlbDogMQpLZWluZSAucGxhbi1EYXRlaS4KCkdydWViZWwgLi4uClBhcmFjZWxzdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHpwcm9ibGVtZSAtIHZpZWxsZWljaHQgRE9DSCBiYWxkIG5lIExvZXN1bmc/IChKb2YsIDIzLiBKdW4gMTk5NSwgMTY6MjE6NTIpOgoKPk51bWJlcjogICAgICAgICAxNzAKPkNhdGVnb3J5OiAgICAgICBJbmxhbmQKPlN5bm9wc2lzOiAgICAgICBMYXN0cHJvYmxlbWUgaW0gV2lOCj5Db25maWRlbnRpYWw6ICAgbm8KPlNldmVyaXR5OiAgICAgICBzZXJpb3VzCj5Qcmlvcml0eTogICAgICAgbWVkaXVtCj5SZXNwb25zaWJsZTogICAgTk9DIChERk4gTk9DIFJlY2hlbnplbnRydW0gVW5pIFN0dXR0Z2FydCkKPlN0YXRlOiAgICAgICAgICBvcGVuCj5DbGFzczogICAgICAgICAgc3VwcG9ydAo+U3VibWl0dGVyLUlkOiAgIERGTi1OT0NfU3R1dHRnYXJ0Cj5BcnJpdmFsLURhdGU6ICAgVHVlIEp1biAyMCAxOToyNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICBERk4gTmV0d29yayBPcGVyYXRpb24gQ2VudGVyCiAgICBSZWNoZW56ZW50cnVtIGRlciBVbml2ZXJzaXRhZXQgU3R1dHRnYXJ0CiAgICBBbGxtYW5kcmluZyAzMAogICAgRC03MDU1MCBTdHV0dGdhcnQKICAgIEdlcm1hbnkKPlJlbGVhc2U6ICAgICAgICAyNy4wNi45NAo+RW52aXJvbm1lbnQ6CiAgICBBbSBtZWlzdGVuIGJldHJvZmZlbiBpc3QgZGllIFdpTi1VbWdlYnVuZyBiZWkgRHVlc3NlbGRvcmYsCiAgICB3byBhdWNoIGRpZSBob2VjaHN0ZSBWZXJrZWhyc2RpY2h0ZSBoZXJyc2NodC4KPkRlc2NyaXB0aW9uOgogICAgU2VpdCBlaW5pZ2VyIFplaXQgbWFjaHQgc2ljaCBlaW4gbmV1ZXIgRW5ncGFzcyBiZW1lcmtiYXI6CiAgICBBbnN0YXR0IGRhc3MgbnVuIGRlciBBdXNsYW5kc3ZlcmtlaHIgd2VnZW4genUgZW5nZXIgTGVpdHVuZ2VuCiAgICBpbSBBdXNsYW5kIGdlYnJlbXN0IHdpcmQsIHdpcmt0IHZlcm11dGxpY2ggZGFzIFdpTiB1bSBkZW4KICAgIFN0YW5kb3J0IER1ZXNzZWxkb3JmIGhlcnVtIG51bm1laHIgYWxzIEhlbW1zY2h1aC4KCiAgICBCZXRyb2ZmZW4gaXN0IGRhdm9uIGRlciBBdXNsYW5kc3ZlcmtlaHIgZGVzIERGTi1JUCBEaWVuc3RlcywKICAgIGFsbGVyZGluZ3MgZWhlciB1bmVpbmhlaXRsaWNoLCBkYSBlcyBmdWVyIGRlbiBFaW56ZWx0ZWlsbmVobWVyCiAgICBkYXZvbiBhYmhhZW5ndCwgYXVmIHdlbGNoZW0gV2VnIGdlbmF1IER1ZXNzZWxkb3JmIGVycmVpY2h0CiAgICB3aXJkLgoKICAgIERpZSBUZWxla29tIHVuZCBkaWUgREZOLUdlc2NoYWVmdHNzdGVsbGUgaXN0IHVlYmVyIGRpZQogICAgUHJvYmxlbWUgaW5mb3JtaWVydC4KCiAgICAyMy42OiBUZWxla29tLCBERk4tR2VzY2hhZWZ0c3N0ZWxsZSB1bmQgMk1CLUxhYm9yIEVybGFuZ2VuCiAgICBhcmJlaXRlbiBtaXQgdW5zIChERk4tTk9DKSBhbiBlaW5lciBQcm9ibGVtbG9lc3VuZywgZGllIGVpbmVuCiAgICBncm9lc3NlcmVuIFVtYmF1IGF1ZiBYLjI1LVNlaXRlIHZvcnNlaGVuIHVuZCBhdWNoIGRlbiBBbi0KICAgIHNjaGx1c3MgZGVyIElQLVJvdXRlciBiZXRyZWZmZW4uIExlaWRlciBsYWVzc3Qgc2ljaCBkaWVzZXMKICAgIEtvbnplcHQsIHZvbiBkZW0gd2lyIHVucyBpbmdlc2FtdCBlaW5lIGRldXRsaWNoZSBWZXJiZXNzZXJ1bmcKICAgIHZlcnNwcmVjaGVuLCBuaWNodCBiaW5uZW4gU3R1bmRlbiBlaW5yaWNodGVuLiBBdWYgamVkZW4gRmFsbAogICAgc3RlaHQgZGFzIFByb2JsZW0gYmVpIGFsbGVuIGFuIG9iZXJzdGVyIFN0ZWxsZSBkZXIgUHJpb3JpdGFlLQogICAgdGVubGlzdGUgdW5kIGVpbmUgS3Jpc2VuZ3J1cHBlIGFyYmVpdGV0IGRhcmFuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJvdGUgWmFobGVuIChDcmFpZywgMjMuIEp1biAxOTk1LCAxNjoyNzoyOSk6CgpHZXN0ZXJuIGhhdHRlIGljaCBkb2NoZyBnbGF0dCBpbSBpbnZlbnRvcnkgLTE4MCBNdWVuemVuIChtaW51cwpodW5kZXJ0YWNodHppZykuCldpZSBnZWh0IGRlbm4gZGFzPwpLdXJ6IGRhdm9yIGhhdHRlIGljaCBIaXBwZSBhbmdlZ3JpZmZlbi4gS2xhdXQgZGVubiBkZXIgYmVpbSBLYWVtcGZlbj8gT2Rlcgp2ZXJrbGFndCBlciBBbmdyZWlmZXIgYXVmIFNjaG1lcnplbmdlbGQ/Cldlbm4gamEsIGRhbm4gZ2Vob2VydCBlciB2b3IgZGVuIEthZGkgZ2V6ZXJydCwgZGVyIG9sbGUgUmVjaHRzdmVyZHJlaGVyLgoKT2RlciB3YXIgZXMgImVpbmZhY2ggbnVyIiBlaW4gYnVnPyBGcmFnZW4gdWViZXIgRnJhZ2VuLi4uCgpDUkFJRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgQnVtaSBNb2RlbCAoS2V0b3MsIDIzLiBKdW4gMTk5NSwgMTc6MTY6MjApOgpVbXRhdXNjaGFrdGlvbiBmdWVyIEJ1bWlzLgpXZXIgZGFzIGFrdHVlbGxlIE1vZGVsIG1vZWNodGUga2FubiBzaWUgaW4gbWVpbmVyIEh1ZXR0ZSB1bSB0YXVzY2hlbjoKZ2liIGJ1bWVyYW5nIGFuIGtldG9zLgoKV2FzIGlzdCBhbmRlcmVzIGdld29yZGVuOiBEYXMgZmFuZ2VuLgpXYXMgaXN0IGdsZWljaDogZGllIEthbXBma3JhZnQuCgpJbSBLYW1wZiBmbGllZ3QgZGVyIEJ1bWkgamV0enQgZWluZSBSdW5kZSBiZXZvciBtYW4gaWhuIHdpZWRlciBmYW5nZW4ga2Fubi4KRHMgZ2lsdCBmdWVyIFNwaWVsZXIgdW5kIG1vbnN0ZXIgZ2xlaWNoZXJtYXNzZW4uIEViZW5zbyBlZ2xhIHdlciBpaG4gd2lyZnQuCgpOb2NoIGVpbiBCb25ib246IEJ1bWlzIGRpZSBnZXJhZGUgZnVlciBlaW5lbiBTcGllbGVyIGthZW1wZmVuIGthbm4gZWluCmFkbmVyZXIgU3BpZWxlciBuaWNodCBtZWhyIGZhbmdlbi4KCi0gS2V0b3MgLQoKV3VlbnNjaGUsIExvYiB1bmQgQmVzY2h3ZXJkZW4gYml0dGUgbWFpbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWnVyIFNlbGJzdGxvZXNjaHVuZyB2b24gQXZhbG9uYSAoVG9zcywgMjMuIEp1biAxOTk1LCAxNzo0Nzo1Myk6CiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODAzOTAzMzQzCkF1IHdlaWEgLSBkYSBkYWNodGUgaWNoIHNjaG9uLCBpY2ggd2FlcmUgenUgYmxvZWQsIGRhc3MgaWNoIHNpZSBhbHMgYXVzCkJyYXVuc2Nod2VpZyBrb21tZW5kIGdlZmluZ2VydCBoYWJlLCB1bmQgbnVuIGtvbW10IDYgU3R1bmRlbiBuYWNoIFBhcmFjZWxzdXMnCk1lbGR1bmcgZGFzIGZvbGdlbmRlOgpGaW5nZXIgQXZhbG9uYQoKQXZhbG9uYSBpc3QgbmljaHQgZWluZ2Vsb2dndC4KWnVsZXR6dCBlaW5nZWxvZ2d0IHZvbjogVHVlYmluZ2VuClp1bGV0enQgYXVzZ2Vsb2dndDogU29uLCAyOC4gTWFpIDE5OTUsIDIwOjQzOjU1ICgyNWQgMjE6MDE6NTEpClZvbGxlciBOYW1lOiBBdmFsb25hIGRpZSBlcmZhaHJlbmUgQWJlbnRldXJlcmluClJhc3NlOiBad2VyZywgICAgR2VzY2hsZWNodDogd2VpYmxpY2gKQWx0ZXI6IDNkIDIyOjUwOjAyICAgU3BpZWxlcmxldmVsOiA5ClNlaXQgZGVtIDMwLjExLic5NCBiZXJlaXRzIDQgbWFsIGdlc3RvcmJlbgoKSG1tIC0gdm9yIDYgU3R1bmRlbiB3YXIgc2llIGxldHp0bWFscyBnZXN0ZXJuIGVpbmdlbG9nZ3QsIGpldHp0IGxldHp0bWFscyB2b3IKNCBXb2NoZW4gPwpUaGUgbXlzdGVyeSBjb250aW51ZXMuLi4KVW5kIHdlbiBqZXR6dCBlaW4gTWFnaWVyIGtvbW10IHVuZCBzYWd0IGVyIGhhYmUgaWhyIHNhdmVmaWxlIHJlc3RvcmVkIHdlcmRlCmljaCB0cmF1cmlnLCBkYW5uIGlzdCBqYSBkYXMgZ2FuemUgc2Nob2VuZSBEZXRla3RpdnNwaWVsY2hlbiBoaW4gOykpCgpSeW5lIC0gbWFuIG5lbm50IGlobiBhdWNoIFNjaGltYW5za2kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadW11ZWxsZW4gKFNsYXNoLCAyMy4gSnVuIDE5OTUsIDE5OjQ0OjQzKToKd2VubiB3aXIgc2Nob24gbWFsIGJlaW0genVtdWVsbGVuIHNpbmQuLiBtYW5jaG1hbCBuZXJ2dCBkaWVzZXMgZ2VydWZlCnppZW1saWNoKG5pY2h0IG51ciBNZXJsaW4pLgpXaWUgd2FlcmUgZXMKMS4gbWl0IG9yb3BheD8gb2RlcgoyLiBydWZlbiBrb3N0ZXQgZGVtbmFlY2hzdCBqZSBuYWNoIG1wLXphaGwgbWluIDI1JQoKRWluIGFuc29uc3RlbiBzZWhyIHRvbGFlcmFudGVyClNsYXNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bXVlbGxlbiAoQmFtYnVsa28sIDIzLiBKdW4gMTk5NSwgMjA6MDA6NTcpOgojISBybj1TbGFzaCBydD04MDM5Mjk0ODMKT3JvcGF4IGdpYnQgZXMgZG9jaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadW11ZWxsZW4gKENhcmFkaHJhcywgMjMuIEp1biAxOTk1LCAyMjoyMTowMik6CiMhIHJuPVNsYXNoIHJ0PTgwMzkyOTQ4MwogICAgICAgR3VnZ3VnbGUKCkFsc28gaWNoIGZpbmQgcnVmZW4gbHVzdGlnLCB1bmQgaWNoIHR1IGVzIGF1Y2ggbnVyIGFiIHVuZCB6dS4KRmFzdCBpbW1lciBrb21tdCBkYWJlaSBlaW46IHJ1ZmUgRGFua2UgTWVybGluIDotKQooYWJlciBhdWNoIG51ciB3ZW5uIHZvcmhlciBlaW4gdG0gbWVybGluIHdvIGJpc3QgZHU/IHZvbiBtaXIga2FtKQooenUgZGV1dHNjaDogMTIwIExQIHZlcmx1c3QsIHNvd2FzIGthbm4gaWNoIGphIG5pY2h0IG9mdCBtYWNoZW4pIDopCgpyZ3JpbnNlIGFuYWtpbgoKVW5kIGluc29mZXJuIHNlaCBpY2ggbmljaHQgZWluIHdhcnVtIGljaCBlcyBsYXNzZW4gc29sbHRlLgpXZW5uIGFsbGVyZGluZ3MgZWluIE1hZ2llciBtZWludCwgZXIga29lbm50ZSB1bmVya2FubnQgMyBiaXMgMTAgbWFsCk1lcmxpbiBydWZlbiBsYXNzZW4gZmluZGUgaWNoIGRhcyBibG9lZC4gTWljaCBrb3N0ZXQgZGFzIHdlbmlnc3RlbnMgbm9jaAplaW5pZ2VzIQoKICAgICAgICAgIHRzY2h1ZXNzICAgICAgICAgQ2FyYWRocmFzIC0gc3RpbW10IFNsYXNoIGhhbGIgenUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVtdWVsbGVuIChDYXJhZGhyYXMsIDIzLiBKdW4gMTk5NSwgMjI6MjI6NTYpOgojISBybj1DYXJhZGhyYXMgcnQ9ODAzOTM4ODYyClVwcHBwcHBzLCB3YXMgdGF0IGRlbm4gZGEgZWluIHJncmluc2UgYW5ha2luPyAqZXJyb2V0KgpEdW1tZGlkdW1tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RvbHBlcmRyYWVodGUgKEJhbWJ1bGtvLCAyMy4gSnVuIDE5OTUsIDIyOjIzOjQzKToKV2FzIHNvbGxlbiBlaWdlbnRsaWNoIGRpZXNlIFN0b2xwZXJkcmFlaHRlPyBJY2ggZGFjaHRlIFdlZ3NjcmlwdGUgd2FlcmVuCmVybGF1YnQuIFNvIGthbm4gbWFuIGdhbnogc2Nob2VuIGluIGJyZW56bGlnZSBzaXR1YXRpb25lbiBncmJyYWNodCB3ZWRyZGVuLgpnZXRyaWdnZXJ0ZSBzY3JpcHRlIGthbm4gbWFuIGF1Y2ggYW5kZXJzIGJla2FlbXBmZW4KQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdG9scGVyZHJhZWh0ZSAoQ2FyYWRocmFzLCAyMy4gSnVuIDE5OTUsIDIyOjMzOjAwKToKIyEgcm49QmFtYnVsa28gcnQ9ODAzOTM5MDIzCldhcyBmdWVyIFN0b2xwZXJkcmFlaHRlPyAqc3RhdW4qIEhhYiB2b3JoaW4gYXVmIC1hIGdlZnJhZ3QgdW5kIGtlaW5lcgpoYXQgZ2VhbnR3b3J0ZXQuCgogIENhcmFkaHJhcyBncnVlYmVsdCB1bmQgZmFlbGx0IG1pdCBkZW4gV2VnZW1ha3JvcyBhdWYgZGllIE5hc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpc2tyaW1pbmllcnVuZyAoS2xpbmdlLCAyNS4gSnVuIDE5OTUsIDA5OjA4OjA2KToKIyEgcm49Um9lc3RpIHJ0PTgwMzU0NzEzMQppY2ggaWdub3JpZXJlIG1hbCBhYiBzb2ZvcnQgcm9lc3RpIDopCndvbGxuIGRvY2ggbWFsIHNlaGVuIG9iIGRhcyBpcmdlbmQgbmUgYmVkZXV0dW5nIGVybGFuZ3QgLi4uCnNjaGF1biBtZXIgbWFsIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVtdWVsbGVuIChXYXJnb24sIDI2LiBKdW4gMTk5NSwgMTE6MTA6NTkpOgojISBybj1TbGFzaCBydD04MDM5Mjk0ODMKTWFuIGthbm4gc2ljaCBkb2NoIFBldGVyc2lsaWUgaW4gZGllIE9ocmVuIHN0ZWNrZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbmQgd2llZGVyIGRhcyBOZXR6IDopIChKb2YsIDI2LiBKdW4gMTk5NSwgMTc6MDY6MjcpOgpBcnJpdmFsLURhdGU6ICAgTW9uIEp1biAyNiAxMToxNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICAgICAgICAgICAgICBERk4gTmV0d29yayBPcGVyYXRpb24gQ2VudGVyCiAgICAgICAgICAgICAgICBSZWNoZW56ZW50cnVtIGRlciBVbml2ZXJzaXRhZXQgU3R1dHRnYXJ0CiAgICAgICAgICAgICAgICBBbGxtYW5kcmluZyAzMAogICAgICAgICAgICAgICAgRC03MDU1MCBTdHV0dGdhcnQKICAgICAgICAgICAgICAgIEdlcm1hbnkKPlJlbGVhc2U6ICAgICAgICAyNy4wNi45NAo+RW52aXJvbm1lbnQ6CiAgICAgICAgICAgICAgICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICAgICAgICAgICAgICAgIE9mZmVuc2ljaHRsaWNoIHNpbmQgd2llZGVyIGRpZSBOZXRjb21tLVN3aXRjaGVzIGluCkR1ZXNzZWxkb3JmCiAgICAgICAgICAgICAgICBhYmdlcmF1Y2h0LiBEaWUgVGVsZWtvbSBhcmJlaXRldCBkYXJhbi4uLgoKICAgICAgICAgICAgICAgIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCgogICAgICAgICAgICAgICAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICAgICAgICAgICAgICAgIERpZSBlaW56ZWxuZW4gU2xvdHMgd2FyZW4gaW4gdW50ZXJzY2hpZWRsaWNoZW0gTWFzc2UKYmV0cm9mZmVuLAogICAgICAgICAgICAgICAgc28gZGFzcyBkZXIgQXVzZmFsbCBqZSBuYWNoIFJvdXRlcnp1Z2FuZyB6d2lzY2hlbiAzIHVuZCAxMgpNaS0KICAgICAgICAgICAgICAgIG51dGVuIGJldHJ1Zy4KCiAgICAgICAgICAgICAgICAxMTo1MCBadSBmcnVlaCBnZWZyZXV0IC0gZXJuZXV0ZXIgQXVzZmFsbAogICAgICAgICAgICAgICAgSGllcnp1IGVpbmUgTmFjaHJpY2h0IHZvbiBkZXIgREZOLUdlc2NoYWVmdHNzdGVsbGUgKDEyOjE4KToKCiAgICAgICAgICAgICAgICA+IExpZWJlIFdpbidsZXIsCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA+IGxlaWRlciBnaWJ0IGVzIHouWnQuIG1hc3NpdmUgQmV0cmllYnNwcm9ibGVtZSBtaXQgZGVtCiAgICAgICAgICAgICAgICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICAgICAgICAgICAgICAgID4gS25vdGVuIGlzdCBnZWdlbndhZXJ0aWcgZ2VzdG9lcnQsIGQuaC4gaW5zYmVzb25kZXJlIGRlcgogICAgICAgICAgICAgICAgPiBnZXNhbXRlIEF1c2xhbmRzdmVya2Voci4KICAgICAgICAgICAgICAgID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4KbWVocmVyZQogICAgICAgICAgICAgICAgPiBTdHVuZGVuIGRhdWVybiBrYW5uLCBkYSBIYXJkd2FyZSBnZXRhdXNjaHQgYnp3LiBlaW4KenVzYWV0ei0KICAgICAgICAgICAgICAgID4gbGljaGVyIEtub3RlbiBpbnN0YWxsaWVydCB3ZXJkZW4gbXVzcy4KICAgICAgICAgICAgICAgID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UKdW1nZS0KICAgICAgICAgICAgICAgID4gbGVpdGV0IHdlcmRlbiwgc29sYW5nZSBkZXIgS25vdGVuIG5pY2h0IHdpZWRlciBlaW53YW5kZnJlaQogICAgICAgICAgICAgICAgPiBmdW5rdGlvbmllcnQuCiAgICAgICAgICAgICAgICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZAppbmZvcm1pZXItCiAgICAgICAgICAgICAgICA+IGVuLCBzb2JhbGQgd2lyIHZvbiBkZXIgVGVsZWtvbSBpbmZvcm1pZXJ0IHdlcmRlbi4KCiAgICAgICAgICAgICAgICBadXNhdHppbmZvOiBuZXVlIENhbGxzIHVlYmVyIGRpZSBEdWVzc2VsZG9yZmVyIE5ldGNvbW1zIHNpbmQKICAgICAgICAgICAgICAgIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAgICAgICAgICAgICAgIDEzOjQwIERpZSBUZWxla29tIGFuYWx5c2llcnQgZ2VyYWRlLCBvYiBudXIgZGllCkhhdXB0cHJvemVzc29yLQogICAgICAgICAgICAgICAga2FydGUgZ2V0YXVzY2h0IHdlcmRlbiBtdXNzLCBvZGVyIG9iIGVpbiBnYW56IG5ldWVyIE5ldGNvbW0tCiAgICAgICAgICAgICAgICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCi0tLS0tLQoKIFd1bmRlcnQgZXVjaCBhbHNvIG5pY2h0IHVlYmVyIGRpZSBoYWV1ZmlnZW4gQXVzZmFlbGxlIGhldXQgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgowIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgpSZTogVW5kIHdpZWRlciBkYXMgTmV0eiA6KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgowIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgpSZTogVW5kIHdpZWRlciBkYXMgTmV0eiA6KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW5kIHdpZWRlciBkYXMgTmV0eiA6KSAoSm9mLCAyNi4gSnVuIDE5OTUsIDE5OjQwOjA4KToKIyEgcm49Sm9mIHJ0PTgwNDE3OTE4Nwo+TnVtYmVyOiAgICAgICAgIDE3NAo+Q2F0ZWdvcnk6ICAgICAgIElubGFuZAo+U3lub3BzaXM6ICAgICAgIEF1c2ZhbGwgTmV0Y29tbS1Lbm90ZW4gRHVlc3NlbGRvcmYKPkNvbmZpZGVudGlhbDogICBubwo+U2V2ZXJpdHk6ICAgICAgIGNyaXRpY2FsCj5Qcmlvcml0eTogICAgICAgaGlnaAo+UmVzcG9uc2libGU6ICAgIE5PQyAoREZOIE5PQyBSZWNoZW56ZW50cnVtIFVuaSBTdHV0dGdhcnQpCj5TdGF0ZTogICAgICAgICAgb3Blbgo+Q2xhc3M6ICAgICAgICAgIHN1cHBvcnQKPlN1Ym1pdHRlci1JZDogICBERk4tTk9DX1N0dXR0Z2FydAo+QXJyaXZhbC1EYXRlOiAgIE1vbiBKdW4gMjYgMTE6MTY6MDAgMTk5NQo+T3JpZ2luYXRvcjogICAgIEpvYWNoaW0gU2NobWl0ego+T3JnYW5pemF0aW9uOgogICAgICAgIERGTiBOZXR3b3JrIE9wZXJhdGlvbiBDZW50ZXIKICAgICAgICBSZWNoZW56ZW50cnVtIGRlciBVbml2ZXJzaXRhZXQgU3R1dHRnYXJ0CiAgICAgICAgQWxsbWFuZHJpbmcgMzAKICAgICAgICBELTcwNTUwIFN0dXR0Z2FydAogICAgICAgIEdlcm1hbnkKPlJlbGVhc2U6ICAgICAgICAyNy4wNi45NAo+RW52aXJvbm1lbnQ6CiAgICAgICAgTmV0Y29tbSBTd2l0Y2hlcyBEdWVzc2VsZG9yZgo+RGVzY3JpcHRpb246CiAgICAgICAgT2ZmZW5zaWNodGxpY2ggc2luZCB3aWVkZXIgZGllIE5ldGNvbW0tU3dpdGNoZXMgaW4gRHVlc3NlbGRvcmYKICAgICAgICBhYmdlcmF1Y2h0LiBEaWUgVGVsZWtvbSBhcmJlaXRldCBkYXJhbi4uLgoKICAgICAgICBCZXRyb2ZmZW4gZGF2b24gaXN0IGRlciBBdXNsYW5kc3ZlcmtlaHIgZGVzIERGTi1JUCBEaWVuc3RlcwogICAgICAgIHVuZCBkZXIgaW5uZXJkZXV0c2NoZSBJUC1WZXJrZWhyLCBkZXIgaW0gV2lOIHVlYmVyIGRlbiBYLjI1LQogICAgICAgIEtub3RlbiBEdWVzc2VsZG9yZiBsYWV1ZnQuCgogICAgICAgIDExOjIwIERpZSBOZXRjb21tLVN3aXRjaGVzIGxhdWZlbiB3aWVkZXI6CiAgICAgICAgRGllIGVpbnplbG5lbiBTbG90cyB3YXJlbiBpbiB1bnRlcnNjaGllZGxpY2hlbSBNYXNzZSBiZXRyb2ZmZW4sCiAgICAgICAgc28gZGFzcyBkZXIgQXVzZmFsbCBqZSBuYWNoIFJvdXRlcnp1Z2FuZyB6d2lzY2hlbiAzIHVuZCAxMiBNaS0KICAgICAgICBudXRlbiBiZXRydWcuCgogICAgICAgIDExOjUwIFp1IGZydWVoIGdlZnJldXQgLSBlcm5ldXRlciBBdXNmYWxsCiAgICAgICAgSGllcnp1IGVpbmUgTmFjaHJpY2h0IHZvbiBkZXIgREZOLUdlc2NoYWVmdHNzdGVsbGUgKDEyOjE4KToKCiAgICAgICAgPiBMaWViZSBXaW4nbGVyLAogICAgICAgID4KICAgICAgICA+IGxlaWRlciBnaWJ0IGVzIHouWnQuIG1hc3NpdmUgQmV0cmllYnNwcm9ibGVtZSBtaXQgZGVtCiAgICAgICAgPiBEdWVzc2VsZG9yZmVyIFdpTi1Lbm90ZW4uIFNhZW10bGljaGVyIFZlcmtlaHIgZHVyY2ggZGllc2VuCiAgICAgICAgPiBLbm90ZW4gaXN0IGdlZ2Vud2FlcnRpZyBnZXN0b2VydCwgZC5oLiBpbnNiZXNvbmRlcmUgZGVyCiAgICAgICAgPiBnZXNhbXRlIEF1c2xhbmRzdmVya2Voci4KICAgICAgICA+IERpZSBUZWxla29tIGFyYmVpdGV0IGFuIGRlciBCZWhlYnVuZywgd2FzIGplZG9jaCB1LlUuIG1laHJlcmUKICAgICAgICA+IFN0dW5kZW4gZGF1ZXJuIGthbm4sIGRhIEhhcmR3YXJlIGdldGF1c2NodCBiencuIGVpbiB6dXNhZXR6LQogICAgICAgID4gbGljaGVyIEtub3RlbiBpbnN0YWxsaWVydCB3ZXJkZW4gbXVzcy4KICAgICAgICA+IERlciBWZXJrZWhyIGlubmVyaGFsYiBkZXMgV2lOJ3Mgc29sbCB1ZWJlciBFcnNhdHp3ZWdlIHVtZ2UtCiAgICAgICAgPiBsZWl0ZXQgd2VyZGVuLCBzb2xhbmdlIGRlciBLbm90ZW4gbmljaHQgd2llZGVyIGVpbndhbmRmcmVpCiAgICAgICAgPiBmdW5rdGlvbmllcnQuCiAgICAgICAgPiBXaXIgd2VyZGVuIFNpZSB1bWdlaGVuZCB1ZWJlciBkZW4gYWt0dWVsbGVuIFp1c3RhbmQgaW5mb3JtaWVyLQogICAgICAgID4gZW4sIHNvYmFsZCB3aXIgdm9uIGRlciBUZWxla29tIGluZm9ybWllcnQgd2VyZGVuLgoKICAgICAgICBadXNhdHppbmZvOiBuZXVlIENhbGxzIHVlYmVyIGRpZSBEdWVzc2VsZG9yZmVyIE5ldGNvbW1zIHNpbmQKICAgICAgICBpbiBkaWVzZXIgWmVpdCBkaXNhYmxlZCEgQmVzdGVoZW5kZSBDYWxscyBleGlzdGllcmVuIHdlaXRlci4KCiAgICAgICAgMTM6NDAgRGllIFRlbGVrb20gYW5hbHlzaWVydCBnZXJhZGUsIG9iIG51ciBkaWUgSGF1cHRwcm96ZXNzb3ItCiAgICAgICAga2FydGUgZ2V0YXVzY2h0IHdlcmRlbiBtdXNzLCBvZGVyIG9iIGVpbiBnYW56IG5ldWVyIE5ldGNvbW0tCiAgICAgICAgU3dpdGNoIGF1ZmdlYmF1dCB3aXJkLgoKICAgICAgICBXZWlsIGVzIHNpY2ggdW0gZWluZW4gbGFlbmdlcmVuIEF1c2ZhbGwgaGFuZGVsdCwgd2VyZGVuIGRpZQogICAgICAgIFRlbGVrb20gaW50ZXJuZW4gWC4yNS1Sb3V0aW5ndGFiZWxsZW4gc28gZ2VhZW5kZXJ0LCBkYXNzIG1vZWctCiAgICAgICAgbGljaHN0IHdlbmlnIGlubmVyZGV1dHNjaGVyIFZlcmtlaHIgdWViZXIgZGVuIER1ZXNzZWxkb3JmZXIKICAgICAgICBXaU4tS25vdGVuIGxhZXVmdC4KCiAgICAgICAgMTg6MTAgTGVpZGVyIGlzdCBkaWUgVGVsZWtvbSBpbW1lciBub2NoIG5pY2h0IHNvIHdlaXQuLi5uYWNoCiAgICAgICAgbWVocmVyZW4ga3VlcnplcmVuIEFic2NoYWx0dW5nZW4gaW0gTGF1ZmUgZGVzIE5hY2htaXR0YWdzCiAgICAgICAgc3RlaHQgZGVyIE5ldGNvbW0gbnVuIHNlaXQgY2EgMTc6MDAgdm9sbHN0YWVuZGlnLiBEaWUgVGVsZWtvbQogICAgICAgIGxlZ3QgYWxzbyBlaW5lIE5hY2h0c2NoaWNodCBlaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgd2llZGVyIGRhcyBOZXR6IDopIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgojISBybj1Kb2YgcnQ9ODA0MTc5MTg3Cj5OdW1iZXI6ICAgICAgICAgMTc0Cj5DYXRlZ29yeTogICAgICAgSW5sYW5kCj5TeW5vcHNpczogICAgICAgQXVzZmFsbCBOZXRjb21tLUtub3RlbiBEdWVzc2VsZG9yZgo+Q29uZmlkZW50aWFsOiAgIG5vCj5TZXZlcml0eTogICAgICAgY3JpdGljYWwKPlByaW9yaXR5OiAgICAgICBoaWdoCj5SZXNwb25zaWJsZTogICAgTk9DIChERk4gTk9DIFJlY2hlbnplbnRydW0gVW5pIFN0dXR0Z2FydCkKPlN0YXRlOiAgICAgICAgICBvcGVuCj5DbGFzczogICAgICAgICAgc3VwcG9ydAo+U3VibWl0dGVyLUlkOiAgIERGTi1OT0NfU3R1dHRnYXJ0Cj5BcnJpdmFsLURhdGU6ICAgTW9uIEp1biAyNiAxMToxNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICAgICAgREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlcgogICAgICAgIFJlY2hlbnplbnRydW0gZGVyIFVuaXZlcnNpdGFldCBTdHV0dGdhcnQKICAgICAgICBBbGxtYW5kcmluZyAzMAogICAgICAgIEQtNzA1NTAgU3R1dHRnYXJ0CiAgICAgICAgR2VybWFueQo+UmVsZWFzZTogICAgICAgIDI3LjA2Ljk0Cj5FbnZpcm9ubWVudDoKICAgICAgICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICAgICAgICBPZmZlbnNpY2h0bGljaCBzaW5kIHdpZWRlciBkaWUgTmV0Y29tbS1Td2l0Y2hlcyBpbiBEdWVzc2VsZG9yZgogICAgICAgIGFiZ2VyYXVjaHQuIERpZSBUZWxla29tIGFyYmVpdGV0IGRhcmFuLi4uCgogICAgICAgIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCiAgICAgICAgdW5kIGRlciBpbm5lcmRldXRzY2hlIElQLVZlcmtlaHIsIGRlciBpbSBXaU4gdWViZXIgZGVuIFguMjUtCiAgICAgICAgS25vdGVuIER1ZXNzZWxkb3JmIGxhZXVmdC4KCiAgICAgICAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICAgICAgICBEaWUgZWluemVsbmVuIFNsb3RzIHdhcmVuIGluIHVudGVyc2NoaWVkbGljaGVtIE1hc3NlIGJldHJvZmZlbiwKICAgICAgICBzbyBkYXNzIGRlciBBdXNmYWxsIGplIG5hY2ggUm91dGVyenVnYW5nIHp3aXNjaGVuIDMgdW5kIDEyIE1pLQogICAgICAgIG51dGVuIGJldHJ1Zy4KCiAgICAgICAgMTE6NTAgWnUgZnJ1ZWggZ2VmcmV1dCAtIGVybmV1dGVyIEF1c2ZhbGwKICAgICAgICBIaWVyenUgZWluZSBOYWNocmljaHQgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAoMTI6MTgpOgoKICAgICAgICA+IExpZWJlIFdpbidsZXIsCiAgICAgICAgPgogICAgICAgID4gbGVpZGVyIGdpYnQgZXMgei5adC4gbWFzc2l2ZSBCZXRyaWVic3Byb2JsZW1lIG1pdCBkZW0KICAgICAgICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICAgICAgICA+IEtub3RlbiBpc3QgZ2VnZW53YWVydGlnIGdlc3RvZXJ0LCBkLmguIGluc2Jlc29uZGVyZSBkZXIKICAgICAgICA+IGdlc2FtdGUgQXVzbGFuZHN2ZXJrZWhyLgogICAgICAgID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4gbWVocmVyZQogICAgICAgID4gU3R1bmRlbiBkYXVlcm4ga2FubiwgZGEgSGFyZHdhcmUgZ2V0YXVzY2h0IGJ6dy4gZWluIHp1c2FldHotCiAgICAgICAgPiBsaWNoZXIgS25vdGVuIGluc3RhbGxpZXJ0IHdlcmRlbiBtdXNzLgogICAgICAgID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UgdW1nZS0KICAgICAgICA+IGxlaXRldCB3ZXJkZW4sIHNvbGFuZ2UgZGVyIEtub3RlbiBuaWNodCB3aWVkZXIgZWlud2FuZGZyZWkKICAgICAgICA+IGZ1bmt0aW9uaWVydC4KICAgICAgICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBpbmZvcm1pZXItCiAgICAgICAgPiBlbiwgc29iYWxkIHdpciB2b24gZGVyIFRlbGVrb20gaW5mb3JtaWVydCB3ZXJkZW4uCgogICAgICAgIFp1c2F0emluZm86IG5ldWUgQ2FsbHMgdWViZXIgZGllIER1ZXNzZWxkb3JmZXIgTmV0Y29tbXMgc2luZAogICAgICAgIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAgICAgICAxMzo0MCBEaWUgVGVsZWtvbSBhbmFseXNpZXJ0IGdlcmFkZSwgb2IgbnVyIGRpZSBIYXVwdHByb3plc3Nvci0KICAgICAgICBrYXJ0ZSBnZXRhdXNjaHQgd2VyZGVuIG11c3MsIG9kZXIgb2IgZWluIGdhbnogbmV1ZXIgTmV0Y29tbS0KICAgICAgICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCgogICAgICAgIFdlaWwgZXMgc2ljaCB1bSBlaW5lbiBsYWVuZ2VyZW4gQXVzZmFsbCBoYW5kZWx0LCB3ZXJkZW4gZGllCiAgICAgICAgVGVsZWtvbSBpbnRlcm5lbiBYLjI1LVJvdXRpbmd0YWJlbGxlbiBzbyBnZWFlbmRlcnQsIGRhc3MgbW9lZy0KICAgICAgICBsaWNoc3Qgd2VuaWcgaW5uZXJkZXV0c2NoZXIgVmVya2VociB1ZWJlciBkZW4gRHVlc3NlbGRvcmZlcgogICAgICAgIFdpTi1Lbm90ZW4gbGFldWZ0LgoKICAgICAgICAxODoxMCBMZWlkZXIgaXN0IGRpZSBUZWxla29tIGltbWVyIG5vY2ggbmljaHQgc28gd2VpdC4uLm5hY2gKICAgICAgICBtZWhyZXJlbiBrdWVyemVyZW4gQWJzY2hhbHR1bmdlbiBpbSBMYXVmZSBkZXMgTmFjaG1pdHRhZ3MKICAgICAgICBzdGVodCBkZXIgTmV0Y29tbSBudW4gc2VpdCBjYSAxNzowMCB2b2xsc3RhZW5kaWcuIERpZSBUZWxla29tCiAgICAgICAgbGVndCBhbHNvIGVpbmUgTmFjaHRzY2hpY2h0IGVpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bXVlbGxlbiAoQWFyZ29uLCAyNy4gSnVuIDE5OTUsIDA5OjM4OjA0KToKIyEgcm49U2xhc2ggcnQ9ODAzOTI5NDgzCmRhIGVzIHNpY2ggc2Nob24gc2VociBvZnQgZ2V6ZWlndCBoYXQsIGRhc3Mgc2VociB2aWVsZSBtdWVsbHJ1ZmUKdm9uIGRlbiBtYWdpZXJuIGtvbW1lbiAoemIgaGFsbG8gcGFwaSwgZXRjKSBnbGF1YiBpY2ggbmljaHQgZGFzcyBkZWluZQppZGVlIGlyZ2VuZCBlaW5lIGF1c3dpcmt1bmcgaGF0IC0gYXVzc2VyZGVtIGdpYnQgZXMgZ2xhdWIgaWNoICBlaW4KJ2lnbm9yaWVyZSBydWZ0JyBtaXRkZW0gbWFuIHJ1ZmUgKGxlaWRlciBuaWNodCBkaWUgc28gZ2VybiB2ZXJ3ZW5kZXRlbgplY2hvIGFsbCkgYXVzc2NoYWx0ZW4ga2FubiAtCmF1c3NlcmRlbSBzb2xsdGUgbGF1dCBtYWdpZXIgZGFzIG11ZCBqYSB6dXIga29tbXVuaWthdGlvbiBkYXNlaW4gLSB3aWVzbwp3aXJkIGRhbm4gZWluIHJ1ZmVyIHNvIHN0YXJrIGJlc3RyYWZ0IHdlbm4gZXIgc3BpZWxlciBpc3QsIHdlbm4gZXIgbWFnaWVyCmlzdCBoYXQgZGFzcyBrZWluZSBrb25zZXF1ZW56ZW4/Pz8KZWluIHNjaG9uIHppZWhtbGljaCBzYXVlcmVyIGFhcmdvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgd2llZGVyIGRhcyBOZXR6IDopIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgojISBybj1Kb2YgcnQ9ODA0MTc5MTg3Cj5OdW1iZXI6ICAgICAgICAgMTc0Cj5DYXRlZ29yeTogICAgICAgSW5sYW5kCj5TeW5vcHNpczogICAgICAgQXVzZmFsbCBOZXRjb21tLUtub3RlbiBEdWVzc2VsZG9yZgo+Q29uZmlkZW50aWFsOiAgIG5vCj5TZXZlcml0eTogICAgICAgY3JpdGljYWwKPlByaW9yaXR5OiAgICAgICBoaWdoCj5SZXNwb25zaWJsZTogICAgTk9DIChERk4gTk9DIFJlY2hlbnplbnRydW0gVW5pIFN0dXR0Z2FydCkKPlN0YXRlOiAgICAgICAgICBvcGVuCj5DbGFzczogICAgICAgICAgc3VwcG9ydAo+U3VibWl0dGVyLUlkOiAgIERGTi1OT0NfU3R1dHRnYXJ0Cj5BcnJpdmFsLURhdGU6ICAgTW9uIEp1biAyNiAxMToxNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICAgICAgREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlcgogICAgICAgIFJlY2hlbnplbnRydW0gZGVyIFVuaXZlcnNpdGFldCBTdHV0dGdhcnQKICAgICAgICBBbGxtYW5kcmluZyAzMAogICAgICAgIEQtNzA1NTAgU3R1dHRnYXJ0CiAgICAgICAgR2VybWFueQo+UmVsZWFzZTogICAgICAgIDI3LjA2Ljk0Cj5FbnZpcm9ubWVudDoKICAgICAgICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICAgICAgICBPZmZlbnNpY2h0bGljaCBzaW5kIHdpZWRlciBkaWUgTmV0Y29tbS1Td2l0Y2hlcyBpbiBEdWVzc2VsZG9yZgogICAgICAgIGFiZ2VyYXVjaHQuIERpZSBUZWxla29tIGFyYmVpdGV0IGRhcmFuLi4uCgogICAgICAgIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCiAgICAgICAgdW5kIGRlciBpbm5lcmRldXRzY2hlIElQLVZlcmtlaHIsIGRlciBpbSBXaU4gdWViZXIgZGVuIFguMjUtCiAgICAgICAgS25vdGVuIER1ZXNzZWxkb3JmIGxhZXVmdC4KCiAgICAgICAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICAgICAgICBEaWUgZWluemVsbmVuIFNsb3RzIHdhcmVuIGluIHVudGVyc2NoaWVkbGljaGVtIE1hc3NlIGJldHJvZmZlbiwKICAgICAgICBzbyBkYXNzIGRlciBBdXNmYWxsIGplIG5hY2ggUm91dGVyenVnYW5nIHp3aXNjaGVuIDMgdW5kIDEyIE1pLQogICAgICAgIG51dGVuIGJldHJ1Zy4KCiAgICAgICAgMTE6NTAgWnUgZnJ1ZWggZ2VmcmV1dCAtIGVybmV1dGVyIEF1c2ZhbGwKICAgICAgICBIaWVyenUgZWluZSBOYWNocmljaHQgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAoMTI6MTgpOgoKICAgICAgICA+IExpZWJlIFdpbidsZXIsCiAgICAgICAgPgogICAgICAgID4gbGVpZGVyIGdpYnQgZXMgei5adC4gbWFzc2l2ZSBCZXRyaWVic3Byb2JsZW1lIG1pdCBkZW0KICAgICAgICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICAgICAgICA+IEtub3RlbiBpc3QgZ2VnZW53YWVydGlnIGdlc3RvZXJ0LCBkLmguIGluc2Jlc29uZGVyZSBkZXIKICAgICAgICA+IGdlc2FtdGUgQXVzbGFuZHN2ZXJrZWhyLgogICAgICAgID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4gbWVocmVyZQogICAgICAgID4gU3R1bmRlbiBkYXVlcm4ga2FubiwgZGEgSGFyZHdhcmUgZ2V0YXVzY2h0IGJ6dy4gZWluIHp1c2FldHotCiAgICAgICAgPiBsaWNoZXIgS25vdGVuIGluc3RhbGxpZXJ0IHdlcmRlbiBtdXNzLgogICAgICAgID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UgdW1nZS0KICAgICAgICA+IGxlaXRldCB3ZXJkZW4sIHNvbGFuZ2UgZGVyIEtub3RlbiBuaWNodCB3aWVkZXIgZWlud2FuZGZyZWkKICAgICAgICA+IGZ1bmt0aW9uaWVydC4KICAgICAgICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBpbmZvcm1pZXItCiAgICAgICAgPiBlbiwgc29iYWxkIHdpciB2b24gZGVyIFRlbGVrb20gaW5mb3JtaWVydCB3ZXJkZW4uCgogICAgICAgIFp1c2F0emluZm86IG5ldWUgQ2FsbHMgdWViZXIgZGllIER1ZXNzZWxkb3JmZXIgTmV0Y29tbXMgc2luZAogICAgICAgIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAgICAgICAxMzo0MCBEaWUgVGVsZWtvbSBhbmFseXNpZXJ0IGdlcmFkZSwgb2IgbnVyIGRpZSBIYXVwdHByb3plc3Nvci0KICAgICAgICBrYXJ0ZSBnZXRhdXNjaHQgd2VyZGVuIG11c3MsIG9kZXIgb2IgZWluIGdhbnogbmV1ZXIgTmV0Y29tbS0KICAgICAgICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCgogICAgICAgIFdlaWwgZXMgc2ljaCB1bSBlaW5lbiBsYWVuZ2VyZW4gQXVzZmFsbCBoYW5kZWx0LCB3ZXJkZW4gZGllCiAgICAgICAgVGVsZWtvbSBpbnRlcm5lbiBYLjI1LVJvdXRpbmd0YWJlbGxlbiBzbyBnZWFlbmRlcnQsIGRhc3MgbW9lZy0KICAgICAgICBsaWNoc3Qgd2VuaWcgaW5uZXJkZXV0c2NoZXIgVmVya2VociB1ZWJlciBkZW4gRHVlc3NlbGRvcmZlcgogICAgICAgIFdpTi1Lbm90ZW4gbGFldWZ0LgoKICAgICAgICAxODoxMCBMZWlkZXIgaXN0IGRpZSBUZWxla29tIGltbWVyIG5vY2ggbmljaHQgc28gd2VpdC4uLm5hY2gKICAgICAgICBtZWhyZXJlbiBrdWVyemVyZW4gQWJzY2hhbHR1bmdlbiBpbSBMYXVmZSBkZXMgTmFjaG1pdHRhZ3MKICAgICAgICBzdGVodCBkZXIgTmV0Y29tbSBudW4gc2VpdCBjYSAxNzowMCB2b2xsc3RhZW5kaWcuIERpZSBUZWxla29tCiAgICAgICAgbGVndCBhbHNvIGVpbmUgTmFjaHRzY2hpY2h0IGVpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bXVlbGxlbiAoQWFyZ29uLCAyNy4gSnVuIDE5OTUsIDA5OjM4OjA0KToKIyEgcm49U2xhc2ggcnQ9ODAzOTI5NDgzCmRhIGVzIHNpY2ggc2Nob24gc2VociBvZnQgZ2V6ZWlndCBoYXQsIGRhc3Mgc2VociB2aWVsZSBtdWVsbHJ1ZmUKdm9uIGRlbiBtYWdpZXJuIGtvbW1lbiAoemIgaGFsbG8gcGFwaSwgZXRjKSBnbGF1YiBpY2ggbmljaHQgZGFzcyBkZWluZQppZGVlIGlyZ2VuZCBlaW5lIGF1c3dpcmt1bmcgaGF0IC0gYXVzc2VyZGVtIGdpYnQgZXMgZ2xhdWIgaWNoICBlaW4KJ2lnbm9yaWVyZSBydWZ0JyBtaXRkZW0gbWFuIHJ1ZmUgKGxlaWRlciBuaWNodCBkaWUgc28gZ2VybiB2ZXJ3ZW5kZXRlbgplY2hvIGFsbCkgYXVzc2NoYWx0ZW4ga2FubiAtCmF1c3NlcmRlbSBzb2xsdGUgbGF1dCBtYWdpZXIgZGFzIG11ZCBqYSB6dXIga29tbXVuaWthdGlvbiBkYXNlaW4gLSB3aWVzbwp3aXJkIGRhbm4gZWluIHJ1ZmVyIHNvIHN0YXJrIGJlc3RyYWZ0IHdlbm4gZXIgc3BpZWxlciBpc3QsIHdlbm4gZXIgbWFnaWVyCmlzdCBoYXQgZGFzcyBrZWluZSBrb25zZXF1ZW56ZW4/Pz8KZWluIHNjaG9uIHppZWhtbGljaCBzYXVlcmVyIGFhcmdvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgd2llZGVyIGRhcyBOZXR6IDopIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgojISBybj1Kb2YgcnQ9ODA0MTc5MTg3Cj5OdW1iZXI6ICAgICAgICAgMTc0Cj5DYXRlZ29yeTogICAgICAgSW5sYW5kCj5TeW5vcHNpczogICAgICAgQXVzZmFsbCBOZXRjb21tLUtub3RlbiBEdWVzc2VsZG9yZgo+Q29uZmlkZW50aWFsOiAgIG5vCj5TZXZlcml0eTogICAgICAgY3JpdGljYWwKPlByaW9yaXR5OiAgICAgICBoaWdoCj5SZXNwb25zaWJsZTogICAgTk9DIChERk4gTk9DIFJlY2hlbnplbnRydW0gVW5pIFN0dXR0Z2FydCkKPlN0YXRlOiAgICAgICAgICBvcGVuCj5DbGFzczogICAgICAgICAgc3VwcG9ydAo+U3VibWl0dGVyLUlkOiAgIERGTi1OT0NfU3R1dHRnYXJ0Cj5BcnJpdmFsLURhdGU6ICAgTW9uIEp1biAyNiAxMToxNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICAgICAgREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlcgogICAgICAgIFJlY2hlbnplbnRydW0gZGVyIFVuaXZlcnNpdGFldCBTdHV0dGdhcnQKICAgICAgICBBbGxtYW5kcmluZyAzMAogICAgICAgIEQtNzA1NTAgU3R1dHRnYXJ0CiAgICAgICAgR2VybWFueQo+UmVsZWFzZTogICAgICAgIDI3LjA2Ljk0Cj5FbnZpcm9ubWVudDoKICAgICAgICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICAgICAgICBPZmZlbnNpY2h0bGljaCBzaW5kIHdpZWRlciBkaWUgTmV0Y29tbS1Td2l0Y2hlcyBpbiBEdWVzc2VsZG9yZgogICAgICAgIGFiZ2VyYXVjaHQuIERpZSBUZWxla29tIGFyYmVpdGV0IGRhcmFuLi4uCgogICAgICAgIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCiAgICAgICAgdW5kIGRlciBpbm5lcmRldXRzY2hlIElQLVZlcmtlaHIsIGRlciBpbSBXaU4gdWViZXIgZGVuIFguMjUtCiAgICAgICAgS25vdGVuIER1ZXNzZWxkb3JmIGxhZXVmdC4KCiAgICAgICAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICAgICAgICBEaWUgZWluemVsbmVuIFNsb3RzIHdhcmVuIGluIHVudGVyc2NoaWVkbGljaGVtIE1hc3NlIGJldHJvZmZlbiwKICAgICAgICBzbyBkYXNzIGRlciBBdXNmYWxsIGplIG5hY2ggUm91dGVyenVnYW5nIHp3aXNjaGVuIDMgdW5kIDEyIE1pLQogICAgICAgIG51dGVuIGJldHJ1Zy4KCiAgICAgICAgMTE6NTAgWnUgZnJ1ZWggZ2VmcmV1dCAtIGVybmV1dGVyIEF1c2ZhbGwKICAgICAgICBIaWVyenUgZWluZSBOYWNocmljaHQgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAoMTI6MTgpOgoKICAgICAgICA+IExpZWJlIFdpbidsZXIsCiAgICAgICAgPgogICAgICAgID4gbGVpZGVyIGdpYnQgZXMgei5adC4gbWFzc2l2ZSBCZXRyaWVic3Byb2JsZW1lIG1pdCBkZW0KICAgICAgICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICAgICAgICA+IEtub3RlbiBpc3QgZ2VnZW53YWVydGlnIGdlc3RvZXJ0LCBkLmguIGluc2Jlc29uZGVyZSBkZXIKICAgICAgICA+IGdlc2FtdGUgQXVzbGFuZHN2ZXJrZWhyLgogICAgICAgID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4gbWVocmVyZQogICAgICAgID4gU3R1bmRlbiBkYXVlcm4ga2FubiwgZGEgSGFyZHdhcmUgZ2V0YXVzY2h0IGJ6dy4gZWluIHp1c2FldHotCiAgICAgICAgPiBsaWNoZXIgS25vdGVuIGluc3RhbGxpZXJ0IHdlcmRlbiBtdXNzLgogICAgICAgID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UgdW1nZS0KICAgICAgICA+IGxlaXRldCB3ZXJkZW4sIHNvbGFuZ2UgZGVyIEtub3RlbiBuaWNodCB3aWVkZXIgZWlud2FuZGZyZWkKICAgICAgICA+IGZ1bmt0aW9uaWVydC4KICAgICAgICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBpbmZvcm1pZXItCiAgICAgICAgPiBlbiwgc29iYWxkIHdpciB2b24gZGVyIFRlbGVrb20gaW5mb3JtaWVydCB3ZXJkZW4uCgogICAgICAgIFp1c2F0emluZm86IG5ldWUgQ2FsbHMgdWViZXIgZGllIER1ZXNzZWxkb3JmZXIgTmV0Y29tbXMgc2luZAogICAgICAgIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAgICAgICAxMzo0MCBEaWUgVGVsZWtvbSBhbmFseXNpZXJ0IGdlcmFkZSwgb2IgbnVyIGRpZSBIYXVwdHByb3plc3Nvci0KICAgICAgICBrYXJ0ZSBnZXRhdXNjaHQgd2VyZGVuIG11c3MsIG9kZXIgb2IgZWluIGdhbnogbmV1ZXIgTmV0Y29tbS0KICAgICAgICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCgogICAgICAgIFdlaWwgZXMgc2ljaCB1bSBlaW5lbiBsYWVuZ2VyZW4gQXVzZmFsbCBoYW5kZWx0LCB3ZXJkZW4gZGllCiAgICAgICAgVGVsZWtvbSBpbnRlcm5lbiBYLjI1LVJvdXRpbmd0YWJlbGxlbiBzbyBnZWFlbmRlcnQsIGRhc3MgbW9lZy0KICAgICAgICBsaWNoc3Qgd2VuaWcgaW5uZXJkZXV0c2NoZXIgVmVya2VociB1ZWJlciBkZW4gRHVlc3NlbGRvcmZlcgogICAgICAgIFdpTi1Lbm90ZW4gbGFldWZ0LgoKICAgICAgICAxODoxMCBMZWlkZXIgaXN0IGRpZSBUZWxla29tIGltbWVyIG5vY2ggbmljaHQgc28gd2VpdC4uLm5hY2gKICAgICAgICBtZWhyZXJlbiBrdWVyemVyZW4gQWJzY2hhbHR1bmdlbiBpbSBMYXVmZSBkZXMgTmFjaG1pdHRhZ3MKICAgICAgICBzdGVodCBkZXIgTmV0Y29tbSBudW4gc2VpdCBjYSAxNzowMCB2b2xsc3RhZW5kaWcuIERpZSBUZWxla29tCiAgICAgICAgbGVndCBhbHNvIGVpbmUgTmFjaHRzY2hpY2h0IGVpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bXVlbGxlbiAoQWFyZ29uLCAyNy4gSnVuIDE5OTUsIDA5OjM4OjA0KToKIyEgcm49U2xhc2ggcnQ9ODAzOTI5NDgzCmRhIGVzIHNpY2ggc2Nob24gc2VociBvZnQgZ2V6ZWlndCBoYXQsIGRhc3Mgc2VociB2aWVsZSBtdWVsbHJ1ZmUKdm9uIGRlbiBtYWdpZXJuIGtvbW1lbiAoemIgaGFsbG8gcGFwaSwgZXRjKSBnbGF1YiBpY2ggbmljaHQgZGFzcyBkZWluZQppZGVlIGlyZ2VuZCBlaW5lIGF1c3dpcmt1bmcgaGF0IC0gYXVzc2VyZGVtIGdpYnQgZXMgZ2xhdWIgaWNoICBlaW4KJ2lnbm9yaWVyZSBydWZ0JyBtaXRkZW0gbWFuIHJ1ZmUgKGxlaWRlciBuaWNodCBkaWUgc28gZ2VybiB2ZXJ3ZW5kZXRlbgplY2hvIGFsbCkgYXVzc2NoYWx0ZW4ga2FubiAtCmF1c3NlcmRlbSBzb2xsdGUgbGF1dCBtYWdpZXIgZGFzIG11ZCBqYSB6dXIga29tbXVuaWthdGlvbiBkYXNlaW4gLSB3aWVzbwp3aXJkIGRhbm4gZWluIHJ1ZmVyIHNvIHN0YXJrIGJlc3RyYWZ0IHdlbm4gZXIgc3BpZWxlciBpc3QsIHdlbm4gZXIgbWFnaWVyCmlzdCBoYXQgZGFzcyBrZWluZSBrb25zZXF1ZW56ZW4/Pz8KZWluIHNjaG9uIHppZWhtbGljaCBzYXVlcmVyIGFhcmdvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgd2llZGVyIGRhcyBOZXR6IDopIChKb2YsIDI2LiBKdW4gMTk5NSwgMTk6NDA6MDgpOgojISBybj1Kb2YgcnQ9ODA0MTc5MTg3Cj5OdW1iZXI6ICAgICAgICAgMTc0Cj5DYXRlZ29yeTogICAgICAgSW5sYW5kCj5TeW5vcHNpczogICAgICAgQXVzZmFsbCBOZXRjb21tLUtub3RlbiBEdWVzc2VsZG9yZgo+Q29uZmlkZW50aWFsOiAgIG5vCj5TZXZlcml0eTogICAgICAgY3JpdGljYWwKPlByaW9yaXR5OiAgICAgICBoaWdoCj5SZXNwb25zaWJsZTogICAgTk9DIChERk4gTk9DIFJlY2hlbnplbnRydW0gVW5pIFN0dXR0Z2FydCkKPlN0YXRlOiAgICAgICAgICBvcGVuCj5DbGFzczogICAgICAgICAgc3VwcG9ydAo+U3VibWl0dGVyLUlkOiAgIERGTi1OT0NfU3R1dHRnYXJ0Cj5BcnJpdmFsLURhdGU6ICAgTW9uIEp1biAyNiAxMToxNjowMCAxOTk1Cj5PcmlnaW5hdG9yOiAgICAgSm9hY2hpbSBTY2htaXR6Cj5Pcmdhbml6YXRpb246CiAgICAgICAgREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlcgogICAgICAgIFJlY2hlbnplbnRydW0gZGVyIFVuaXZlcnNpdGFldCBTdHV0dGdhcnQKICAgICAgICBBbGxtYW5kcmluZyAzMAogICAgICAgIEQtNzA1NTAgU3R1dHRnYXJ0CiAgICAgICAgR2VybWFueQo+UmVsZWFzZTogICAgICAgIDI3LjA2Ljk0Cj5FbnZpcm9ubWVudDoKICAgICAgICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICAgICAgICBPZmZlbnNpY2h0bGljaCBzaW5kIHdpZWRlciBkaWUgTmV0Y29tbS1Td2l0Y2hlcyBpbiBEdWVzc2VsZG9yZgogICAgICAgIGFiZ2VyYXVjaHQuIERpZSBUZWxla29tIGFyYmVpdGV0IGRhcmFuLi4uCgogICAgICAgIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCiAgICAgICAgdW5kIGRlciBpbm5lcmRldXRzY2hlIElQLVZlcmtlaHIsIGRlciBpbSBXaU4gdWViZXIgZGVuIFguMjUtCiAgICAgICAgS25vdGVuIER1ZXNzZWxkb3JmIGxhZXVmdC4KCiAgICAgICAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICAgICAgICBEaWUgZWluemVsbmVuIFNsb3RzIHdhcmVuIGluIHVudGVyc2NoaWVkbGljaGVtIE1hc3NlIGJldHJvZmZlbiwKICAgICAgICBzbyBkYXNzIGRlciBBdXNmYWxsIGplIG5hY2ggUm91dGVyenVnYW5nIHp3aXNjaGVuIDMgdW5kIDEyIE1pLQogICAgICAgIG51dGVuIGJldHJ1Zy4KCiAgICAgICAgMTE6NTAgWnUgZnJ1ZWggZ2VmcmV1dCAtIGVybmV1dGVyIEF1c2ZhbGwKICAgICAgICBIaWVyenUgZWluZSBOYWNocmljaHQgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAoMTI6MTgpOgoKICAgICAgICA+IExpZWJlIFdpbidsZXIsCiAgICAgICAgPgogICAgICAgID4gbGVpZGVyIGdpYnQgZXMgei5adC4gbWFzc2l2ZSBCZXRyaWVic3Byb2JsZW1lIG1pdCBkZW0KICAgICAgICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICAgICAgICA+IEtub3RlbiBpc3QgZ2VnZW53YWVydGlnIGdlc3RvZXJ0LCBkLmguIGluc2Jlc29uZGVyZSBkZXIKICAgICAgICA+IGdlc2FtdGUgQXVzbGFuZHN2ZXJrZWhyLgogICAgICAgID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4gbWVocmVyZQogICAgICAgID4gU3R1bmRlbiBkYXVlcm4ga2FubiwgZGEgSGFyZHdhcmUgZ2V0YXVzY2h0IGJ6dy4gZWluIHp1c2FldHotCiAgICAgICAgPiBsaWNoZXIgS25vdGVuIGluc3RhbGxpZXJ0IHdlcmRlbiBtdXNzLgogICAgICAgID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UgdW1nZS0KICAgICAgICA+IGxlaXRldCB3ZXJkZW4sIHNvbGFuZ2UgZGVyIEtub3RlbiBuaWNodCB3aWVkZXIgZWlud2FuZGZyZWkKICAgICAgICA+IGZ1bmt0aW9uaWVydC4KICAgICAgICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBpbmZvcm1pZXItCiAgICAgICAgPiBlbiwgc29iYWxkIHdpciB2b24gZGVyIFRlbGVrb20gaW5mb3JtaWVydCB3ZXJkZW4uCgogICAgICAgIFp1c2F0emluZm86IG5ldWUgQ2FsbHMgdWViZXIgZGllIER1ZXNzZWxkb3JmZXIgTmV0Y29tbXMgc2luZAogICAgICAgIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAgICAgICAxMzo0MCBEaWUgVGVsZWtvbSBhbmFseXNpZXJ0IGdlcmFkZSwgb2IgbnVyIGRpZSBIYXVwdHByb3plc3Nvci0KICAgICAgICBrYXJ0ZSBnZXRhdXNjaHQgd2VyZGVuIG11c3MsIG9kZXIgb2IgZWluIGdhbnogbmV1ZXIgTmV0Y29tbS0KICAgICAgICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCgogICAgICAgIFdlaWwgZXMgc2ljaCB1bSBlaW5lbiBsYWVuZ2VyZW4gQXVzZmFsbCBoYW5kZWx0LCB3ZXJkZW4gZGllCiAgICAgICAgVGVsZWtvbSBpbnRlcm5lbiBYLjI1LVJvdXRpbmd0YWJlbGxlbiBzbyBnZWFlbmRlcnQsIGRhc3MgbW9lZy0KICAgICAgICBsaWNoc3Qgd2VuaWcgaW5uZXJkZXV0c2NoZXIgVmVya2VociB1ZWJlciBkZW4gRHVlc3NlbGRvcmZlcgogICAgICAgIFdpTi1Lbm90ZW4gbGFldWZ0LgoKICAgICAgICAxODoxMCBMZWlkZXIgaXN0IGRpZSBUZWxla29tIGltbWVyIG5vY2ggbmljaHQgc28gd2VpdC4uLm5hY2gKICAgICAgICBtZWhyZXJlbiBrdWVyemVyZW4gQWJzY2hhbHR1bmdlbiBpbSBMYXVmZSBkZXMgTmFjaG1pdHRhZ3MKICAgICAgICBzdGVodCBkZXIgTmV0Y29tbSBudW4gc2VpdCBjYSAxNzowMCB2b2xsc3RhZW5kaWcuIERpZSBUZWxla29tCiAgICAgICAgbGVndCBhbHNvIGVpbmUgTmFjaHRzY2hpY2h0IGVpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bXVlbGxlbiAoQWFyZ29uLCAyNy4gSnVuIDE5OTUsIDA5OjM4OjA0KToKIyEgcm49U2xhc2ggcnQ9ODAzOTI5NDgzCmRhIGVzIHNpY2ggc2Nob24gc2VociBvZnQgZ2V6ZWlndCBoYXQsIGRhc3Mgc2VociB2aWVsZSBtdWVsbHJ1ZmUKdm9uIGRlbiBtYWdpZXJuIGtvbW1lbiAoemIgaGFsbG8gcGFwaSwgZXRjKSBnbGF1YiBpY2ggbmljaHQgZGFzcyBkZWluZQppZGVlIGlyZ2VuZCBlaW5lIGF1c3dpcmt1bmcgaGF0IC0gYXVzc2VyZGVtIGdpYnQgZXMgZ2xhdWIgaWNoICBlaW4KJ2lnbm9yaWVyZSBydWZ0JyBtaXRkZW0gbWFuIHJ1ZmUgKGxlaWRlciBuaWNodCBkaWUgc28gZ2VybiB2ZXJ3ZW5kZXRlbgplY2hvIGFsbCkgYXVzc2NoYWx0ZW4ga2FubiAtCmF1c3NlcmRlbSBzb2xsdGUgbGF1dCBtYWdpZXIgZGFzIG11ZCBqYSB6dXIga29tbXVuaWthdGlvbiBkYXNlaW4gLSB3aWVzbwp3aXJkIGRhbm4gZWluIHJ1ZmVyIHNvIHN0YXJrIGJlc3RyYWZ0IHdlbm4gZXIgc3BpZWxlciBpc3QsIHdlbm4gZXIgbWFnaWVyCmlzdCBoYXQgZGFzcyBrZWluZSBrb25zZXF1ZW56ZW4/Pz8KZWluIHNjaG9uIHppZWhtbGljaCBzYXVlcmVyIGFhcmdvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoR3JpbW1ib3JuLCAyNy4gSnVuIDE5OTUsIDE4OjMwOjU1KToKClRqYSwgd2llIHNhZyBpY2hzIG1laW5lbSBLaW5kZS4uLgpBbHNvLCBpY2ggaGFiIG5ldWxpY2ggd2FzIGdlbWFjaHQsIHdhcyBuaWNodCBndXQgd2FyLiBJY2ggaGFiZSBlaW5lClVudGVyaGFsdHVuZyB1ZWJlciAidGVpbGUgbWl0IiBtaXRnZWxvZ2d0IChrZWluIFByb2JsZW0pIHVuZCBkYW5uIHdlaXRlci0KZ2VtYWlsdC4gU293YXMgZ2Vob2VydCBzaWNoIG5pY2h0LCBnYW56IGtsYXIuIE51biBpc3QgZGFzIGxvZyBtaXR0bGVyLQp3ZWlsZSBzbyB2ZXJicmVpdGV0IChhdWZncnVuZCBkZXMga29udHJvdmVyc2VuIEluaGFsdHMpLCBkYXNzIGljaAp1ZWJlciBkaWUgVmVyYnJlaXR1bmcga2VpbmUgS29udHJvbGxlIG1laHIgaGFiZS4gRGFoZXIgd2VuZGUgaWNoIG1pY2ggaGllcgphbiBkaWUgQmVzaXR6ZXIgZGVzIGxvZ3M6CkluaGFsdGxpY2ggaGFiZSBpY2ggZGVtIG5pY2h0IHZpZWwgaGluenV6dWZ1ZWdlbi4gQWxsZXJkaW5ncyBiaXR0ZSBpY2ggZXVjaAp6dSBiZWRlbmtlbiwgZGFzcyBzb3dvaGwgaWNoIGFscyBhdWNoIGRlciBHZXNwcmFlY2hzcGFydG5lciBuaWNodCB2b2VsbGlnCm51ZWNodGVybiB3YXJlbi4gQXVzc2VyZGVtIHdhciBlcyBtaXR0ZW4gaW4gZGVyIE5hY2h0LCB1bmQgZGVyIEFuZGVyZQptdXNzdGUgaXJnZW5kd2llIGRpZSBaZWl0IHJ1bWtyaWVnZW4uIERhIHNvbGx0ZSBtYW4gZGllIFdvcnR3YWhsIG5pY2h0Cnp1IGVybnN0IG5laG1lbi4gV2VpdGVyaGluIGlzdCBhbGxnZW1laW4gZGFzIEdlc3ByYWVjaCBuaWNodCBmdWVyIGFuZGVyZQpiZXN0aW1tdCBnZXdlc2VuLiBXZW5uIGljaCBIZXJyIG1laW5lciBTaW5uZSBnZXdlc2VuIHdhZXJlICh3YXMgaWNoIG1pdAplYmVuc292aWVsIEFsa29ob2wgd2llIEFkcmVuYWxpbiBpbSBCbHV0IG5pY2h0IHdhcikgaGFldHRlIGljaCBkYXMgd29obApuaWNodCB2ZXJzY2hpY2t0LgpBbHNvLCB2ZXJzdWNodCBkYXMgbG9nIHp1IHZlcmdlc3NlbiwgdmVydGVpbHQgZXMgTklDSFQgd2VpdGVyIHVuZCBsb2VzY2h0CmVzIGFtIGJlc3Rlbi4gRGVubiBkYXMgaXN0IGVpbmUgU2FjaGUgendpc2NoZW4gbWlyIHVuZCBkaWVzZXIgYW5kZXJlbgpQZXJzb24sIGRhcyBnZWh0IGluIGVyc3RlciBMaW5pZSBrZWluZW4gYW5kZXJlbiB3YXMgYW4uClR1dCBtaXIgbGVpZCwgZGFzcyBpY2ggZGEgdW5ub2V0aWcgRW1vdGlvbmVuIGhvY2hnZXNwaWVsdCBoYWJlLCBkYXMgd2FyCm5pY2h0IGRpZSBmZWluZSBBcnQgdW5kIHNvbGwgc28gbmljaHQgd2llZGVyIHZvcmtvbW1lbi4KCkFjaCBqYTogTWVpbmUgRW50c2NodWxkaWd1bmcgYmV6aWVodCBzaWNoIG5hdHVlcmxpY2ggbnVyIGF1ZiBkaWUgZGFzCmxvZ2dlbiB1bmQgdmVydGVpbGVuLCBuaWNodCBhdWYgaW5oYWx0bGljaGUgQXNwZWt0ZS4gQWJlciBlaW4gR2VzcHJhZWNoCmJlaSBlaW5lbSBHbGFzIEJpZXIgZmFlbmQgaWNoIGltbWVyIG5vY2ggbmljaHQgc2NobGVjaHQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gTWFjaHQgZG9jaCB0YXRzYWVjaGxpY2ggYXVjaCBGZWhsZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPZWZmZW50bGljaGUgRW50c2NodWxkaWd1bmcgKEF6enVybywgMjcuIEp1biAxOTk1LCAyMTowNToxNSk6CiMhIHJuPUdyaW1tYm9ybiBydD04MDQyNzA2NTUKQXp6dXJvIGhhdCBkYXMgTG9nIG5vY2ggbmljaHQuIFdlciBlcyBoYXQgbWFpbCBlcyBtaXIgYml0dGUgenUgOykKQXp6dXJvIGdyaW5zdCBzaWNoIGVpbnMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2VmZmVudGxpY2hlIEVudHNjaHVsZGlndW5nIChHcmltbWJvcm4sIDI4LiBKdW4gMTk5NSwgMTI6MjQ6NDMpOgojISBybj1Benp1cm8gcnQ9ODA0Mjc5OTE1CgpOb2NobWFsOiBEYXMgbG9nIGdlaHQga2VpbmVuIHdhcyBhbiB1bmQgZ2luZyBlaWdlbnRsaWNoIGF1Y2gga2VpbmVuIGFuLiBBbHNvOgpuaWNodCB3ZWl0ZXJtYWlsZW4uCkF1c3NlcmRlbTogc3BhcnQgZXVjaCBkb2NoIHNvIGJsb2VkZSByZXBseXMuIDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoR3JpbW1ib3JuLCAyOC4gSnVuIDE5OTUsIDEyOjI0OjQzKToKIyEgcm49QXp6dXJvIHJ0PTgwNDI3OTkxNQoKTm9jaG1hbDogRGFzIGxvZyBnZWh0IGtlaW5lbiB3YXMgYW4gdW5kIGdpbmcgZWlnZW50bGljaCBhdWNoIGtlaW5lbiBhbi4gQWxzbzoKbmljaHQgd2VpdGVybWFpbGVuLgpBdXNzZXJkZW06IHNwYXJ0IGV1Y2ggZG9jaCBzbyBibG9lZGUgcmVwbHlzLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoQWFyZ29uLCAyOC4gSnVuIDE5OTUsIDE3OjUwOjAyKToKIyEgcm49R3JpbW1ib3JuIHJ0PTgwNDI3MDY1NQp4eHgKCmljaCBoYWIgZGVpbiBsb2cgbGVpZGVyIG5pY2h0IGdlbGVzZW4sIGFiZXIgaWNoIGthbm4gbWlyIG5pY2h0IHZvcnN0ZWxsZW4sCmRhc3MgZHUgZGljaCBkYWZ1ZXIgZW50c2NodWxkaWdlbiBtdXNzdC4gc2NobGllc3NsaWNoIHdhciBlcyBqYSBlaW4gcGVyc29lbmwuCmxvZ2ZpbGUsIHVuZCBkYSBrYW5uc3QgZHUgamEgc29nYXIgaW0gTUcgbm9jaCBzYWdlbiB3YXMgZHUgd2lsbHN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPZWZmZW50bGljaGUgRW50c2NodWxkaWd1bmcgKEdyaW1tYm9ybiwgMjguIEp1biAxOTk1LCAxODoyNToyOSk6CiMhIHJuPUFhcmdvbiBydD04MDQzNTQ2MDIKCk5vY2htYWw6IEljaCBlbnRzY2h1bGRpZ2UgbWljaCBuaWNodCBmdWVyIGRlbiBJbmhhbHQsIGRhcyB0dXQga2VpbmVyIHZvbiB1bnMKYmVpZGVuLgpJY2ggaGFiZSBtaWNoIGRhZnVlciBlbnRzY2h1bGRpZ3QsIGRhc3MgaWNoIGVpbmUgVW50ZXJoYWx0dW5nIHVlYmVyIHRlaWxlIG1pdApnZWxvZ2d0IHVuZCBydW1nZXJlaWNodCBoYWJlLiBEYXMgaXN0IGFldXNzZXJzdCBtaWVzZXIgU3RpbCwgc293YXMgc29sbHRlIG1hbgphdWNoIG5pY2h0IG5hY2hhaG1lbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBHaWJ0IE5hY2hoaWxmZXN0dW5kZW4gaW0gQmVuZWhtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgREZOIG5pbW10cyBtaXQgSHVtb3IgOikgKEpvZiwgMjguIEp1biAxOTk1LCAyMTozMDozNCk6Cj5FbnZpcm9ubWVudDoKICBOZXRjb21tIFN3aXRjaGVzIER1ZXNzZWxkb3JmCj5EZXNjcmlwdGlvbjoKICBPZmZlbnNpY2h0bGljaCBzaW5kIHdpZWRlciBkaWUgTmV0Y29tbS1Td2l0Y2hlcyBpbiBEdWVzc2VsZG9yZgogIGFiZ2VyYXVjaHQuIERpZSBUZWxla29tIGFyYmVpdGV0IGRhcmFuLi4uCgogIEJldHJvZmZlbiBkYXZvbiBpc3QgZGVyIEF1c2xhbmRzdmVya2VociBkZXMgREZOLUlQIERpZW5zdGVzCiAgdW5kIGRlciBpbm5lcmRldXRzY2hlIElQLVZlcmtlaHIsIGRlciBpbSBXaU4gdWViZXIgZGVuIFguMjUtCiAgS25vdGVuIER1ZXNzZWxkb3JmIGxhZXVmdC4KCiAgMTE6MjAgRGllIE5ldGNvbW0tU3dpdGNoZXMgbGF1ZmVuIHdpZWRlcjoKICBEaWUgZWluemVsbmVuIFNsb3RzIHdhcmVuIGluIHVudGVyc2NoaWVkbGljaGVtIE1hc3NlIGJldHJvZmZlbiwKICBzbyBkYXNzIGRlciBBdXNmYWxsIGplIG5hY2ggUm91dGVyenVnYW5nIHp3aXNjaGVuIDMgdW5kIDEyIE1pLQogIG51dGVuIGJldHJ1Zy4KCiAgMTE6NTAgWnUgZnJ1ZWggZ2VmcmV1dCAtIGVybmV1dGVyIEF1c2ZhbGwKICBIaWVyenUgZWluZSBOYWNocmljaHQgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAoMTI6MTgpOgoKICA+IExpZWJlIFdpbidsZXIsCiAgPgogID4gbGVpZGVyIGdpYnQgZXMgei5adC4gbWFzc2l2ZSBCZXRyaWVic3Byb2JsZW1lIG1pdCBkZW0KICA+IER1ZXNzZWxkb3JmZXIgV2lOLUtub3Rlbi4gU2FlbXRsaWNoZXIgVmVya2VociBkdXJjaCBkaWVzZW4KICA+IEtub3RlbiBpc3QgZ2VnZW53YWVydGlnIGdlc3RvZXJ0LCBkLmguIGluc2Jlc29uZGVyZSBkZXIKICA+IGdlc2FtdGUgQXVzbGFuZHN2ZXJrZWhyLgogID4gRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEJlaGVidW5nLCB3YXMgamVkb2NoIHUuVS4gbWVocmVyZQogID4gU3R1bmRlbiBkYXVlcm4ga2FubiwgZGEgSGFyZHdhcmUgZ2V0YXVzY2h0IGJ6dy4gZWluIHp1c2FldHotCiAgPiBsaWNoZXIgS25vdGVuIGluc3RhbGxpZXJ0IHdlcmRlbiBtdXNzLgogID4gRGVyIFZlcmtlaHIgaW5uZXJoYWxiIGRlcyBXaU4ncyBzb2xsIHVlYmVyIEVyc2F0endlZ2UgdW1nZS0KICA+IGxlaXRldCB3ZXJkZW4sIHNvbGFuZ2UgZGVyIEtub3RlbiBuaWNodCB3aWVkZXIgZWlud2FuZGZyZWkKICA+IGZ1bmt0aW9uaWVydC4KICA+IFdpciB3ZXJkZW4gU2llIHVtZ2VoZW5kIHVlYmVyIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBpbmZvcm1pZXItCiAgPiBlbiwgc29iYWxkIHdpciB2b24gZGVyIFRlbGVrb20gaW5mb3JtaWVydCB3ZXJkZW4uCgogIFp1c2F0emluZm86IG5ldWUgQ2FsbHMgdWViZXIgZGllIER1ZXNzZWxkb3JmZXIgTmV0Y29tbXMgc2luZAogIGluIGRpZXNlciBaZWl0IGRpc2FibGVkISBCZXN0ZWhlbmRlIENhbGxzIGV4aXN0aWVyZW4gd2VpdGVyLgoKICAxMzo0MCBEaWUgVGVsZWtvbSBhbmFseXNpZXJ0IGdlcmFkZSwgb2IgbnVyIGRpZSBIYXVwdHByb3plc3Nvci0KICBrYXJ0ZSBnZXRhdXNjaHQgd2VyZGVuIG11c3MsIG9kZXIgb2IgZWluIGdhbnogbmV1ZXIgTmV0Y29tbS0KICBTd2l0Y2ggYXVmZ2ViYXV0IHdpcmQuCgogIFdlaWwgZXMgc2ljaCB1bSBlaW5lbiBsYWVuZ2VyZW4gQXVzZmFsbCBoYW5kZWx0LCB3ZXJkZW4gZGllCiAgVGVsZWtvbSBpbnRlcm5lbiBYLjI1LVJvdXRpbmd0YWJlbGxlbiBzbyBnZWFlbmRlcnQsIGRhc3MgbW9lZy0KICBsaWNoc3Qgd2VuaWcgaW5uZXJkZXV0c2NoZXIgVmVya2VociB1ZWJlciBkZW4gRHVlc3NlbGRvcmZlcgogIFdpTi1Lbm90ZW4gbGFldWZ0LgoKICAxODoxMCBMZWlkZXIgaXN0IGRpZSBUZWxla29tIGltbWVyIG5vY2ggbmljaHQgc28gd2VpdC4uLm5hY2gKICBtZWhyZXJlbiBrdWVyemVyZW4gQWJzY2hhbHR1bmdlbiBpbSBMYXVmZSBkZXMgTmFjaG1pdHRhZ3MKICBzdGVodCBkZXIgTmV0Y29tbSBudW4gc2VpdCBjYSAxNzowMCB2b2xsc3RhZW5kaWcuIERpZSBUZWxla29tCiAgbGVndCBhbHNvIGVpbmUgTmFjaHRzY2hpY2h0IGVpbi4uLgoKICAyNy42LiAxMDozMCBXaWUgd2lyIG1pdHRsZXJ3ZWlsZSBlcmZhaHJlbiBoYWJlbiwgaXN0IGRlciBrb20tCiAgcGxldHRlIE5ldGNvbW0tU3dpdGNoIGdldGF1c2NodCB3b3JkZW4uIEhldXRlIG1vcmdlbiBoYWJlbiBkYS0KICB6dSBhdWNoIG5vY2ggZWlubWFsIGF1c2Z1ZWhybGljaGUgVGVzdHMgc3RhdHRnZWZ1bmRlbiwgd29iZWkKICBtZWhyZmFjaCBkZXIgVmVya2VociB1bnRlcmJyb2NoZW4gd3VyZGUuIEVzIHNpZWh0IG51biBzbyBhdXMsCiAgYWxzIG9iIHNpY2ggZGllIFNpdHVhdGlvbiBzdGFiaWxpc2llcnQgaGFldHRlIChvYndvaGwgd2lyIGRlcgogIFNhY2hlIG5vY2ggbmljaHQgZ2FueiB0cmF1ZW4uLi4gOy0pCgogIERhenUgYXVjaCBlaW5lIE1haWwgdm9uIGRlciBERk4tR2VzY2hhZWZ0c3N0ZWxsZSAodm9uIDk6MTApOgoKICA+IHNlaXQgZWluZXIgaGFsYmVuIFN0dW5kZSBsYWV1ZnQgaW4gRHVlc3NlbGRvcmYgZW5kbGljaCBlaW4KICA+IG5ldWVyIDIgTWJpdC1XaU4tS25vdGVuIChORVRDT01NKS4gV2lyIGhvZmZlbiwgZGFzIGRhbWl0IGRpZQogID4gUHJvYmxlbWUsIGRpZSBlcyBpbiBsZXR6dGVyIFplaXQgbWl0IGRpZXNlbSBLbm90ZW4gZ2FiLCBlaW4KICA+IEVuZGUgaGFiZW4uCiAgID4KICA+IEZ1ZXIgZGllIG1pdCBkZW0gVW1iYXUvQXVzZmFsbCB2ZXJidW5kZW5lbiBCZWVpbnRyYWVjaHRpZ3VuLQogID4gZ2VuIC0gaW5zYmVzb25kZXJlIGRlcyBBdXNsYW5zdmVya2VocnMgLSBiaXR0ZW4gd2lyIHVtIE5hY2gtCiAgPiBzaWNodC4KICA+CiAgPiBTb2xsdGUgZXMgZnVlciBlaW5pZ2Ugdm9uIElobmVuIHdlaXRlcmhpbiBQcm9ibGVtZSBtaXQgZGVyIEVyLQogID4gcmVpY2hiYXJrZWl0IHZvbiBUZWlsbmVobWVybiBpbSBSYXVtIER1ZXNzZWxkb3JmIGhhYmVuLCBzbwogID4gdGVpbGVuIFNpZSB1bnMgZGllcyB1bWdlaGVuZCBtaXQsIGRhIGltIFp1c2FtbWVuaGFuZyBtaXQgZGVtCiAgPiBVbWJhdSBpbiBEdWVzc2VsZG9yZiB6ZWl0d2Vpc2UgZGFzIFJvdXRpbmcgenUgZGllc2VtIEtub3RlbgogID4gZHVyY2ggZGllIFRlbGVrb20gImFiZ2VrbGVtbXQiIHdvcmRlbiB3YXIuCgogIDI3LjYuIDE1OjA4IFdhcyBmdWVyIGVpbmUgIkZyZXVkZSIgLSBkZXIgTmV0Y29tbSBnaWJ0IGVybmV1dAogIHNlaW5lbiBHZWlzdCBhdWYuIERhcyBzaWVodCBqYSBuYWNoIGVpbmVyICJlbmRsb3NlbiBHZXNjaGljaHRlIgogIGF1cy4KCiAgMTU6MjkgRXMgZXJob2x0IHNpY2ggd2llZGVyIGxhbmdzYW0uLi5tYWwgc2VoZW4sIG9iIGVzIGhhZWx0CiAgMTU6NDUgTmFqYSwgbGFldWZ0IGFiZXIgaW1tZXIgbm9jaCBuaWNodCBnYW56IHJpY2h0aWcKICAxNjoxNyBhYiBzb2ViZW4gbGFldWZ0IG1hbCB3aWVkZXIgZ3JhZGUgYWxsZXMgLSBmdWVyIHdpZSBsYW5nZT8KICAxNjo1MCBmdWVyIG5pY2h0IHNlaHIgbGFuZ2UgLSB3ZWcgaXNzZXIgd2llZGVyLi4udW5kIGdsZWljaAogIHdpZWRlciBkYT8gKG5hamEsIGhhbGIgaGFsYikKICAxNzoxMCBzaWVodCBqYSBhdXMgd2llIGVpbiBKb2pvLi4uIHdpZWRlciBpc3NlciB3ZWcgdW5kIHZlci0KICBzY2hvbnQgbnVyIGR1ZTItZHVlNC4KICAxNzoxNSB3aWVkZXIgZGEKICAxODoyNSB1bmQgd2llZGVyIHdlZyAtIGhhdCBkYXMgZGVubiBrZWluIEVuZGU/CiAgMTk6MjUgRGllIFVyc2FjaGUgaXN0IGltbWVyIG5vY2ggbmljaHQgZ2VmdW5kZW4uIFRlbGVrb20gdW5kCiAgZGVyIEhlcnN0ZWxsZXIgZGVyIE5ldGNvbW0tU3dpdGNoZXMgYXJiZWl0ZW4gaW50ZW5zaXYgYW4gZGVyCiAgRmVobGVyc3VjaGUKCiAgMjguNi4gTmFjaCBsYWVuZ2VyZXIgU3VjaGUgaGF0IGRpZSBUZWxla29tIG5vY2ggZWluZSBkZWZla3RlCiAgS2FydGUgaW0gTmV0Y29tbSBnZWZ1bmRlbiwgZGllIHdvaGwgZnVlciBkaWUgU3RvZXJ1bmdlbiB2ZXItCiAgYW50d29ydGxpY2ggd2FyIChob2ZmZW50bGljaCkuIERhenUgZWluZSBNYWlsIGRlciBERk4tCiAgR2VzY2hhZWZ0c3N0ZWxsZToKCiAgPiBsZWlkZXIgd2FyIGdlc3Rlcm4gZnJ1ZWggZGVyIEF1c3RhdXNjaCBkZXMgTkVUQ09NTS1Lbm90ZW5zIGluCiAgPiBEdWVzc2VsZG9yZiAtIHdpZSB2b24gdmllbGVuIGJlcmVpdHMgYXVmZ3J1bmQgZXh0cmVtIGhvaGVyCiAgPiBBbnR3b3J0emVpdGVuIGFtIGdlc3RyaWdlbiBUYWcgYmVtZXJrdCAtIGRvY2ggbmljaHQgZGllIExvZS0KICA+IHN1bmcgZnVlciBkaWUgUHJvYmxlbWUgbWl0IGRlbSBLbm90ZW4uCiAgPiBFcnN0IGdlc3Rlcm4gYWJlbmQgZ2VnZW4gMjAuMDAgVWhyIHdhciBlcyBkZXIgVGVsZWtvbSBpbiBadS0KICA+IHNhbW1lbmFyYmVpdCBtaXQgRmEuIFBhbkRhY29tIGdlbHVuZ2VuLCBlaW5lIGRlZmVrdGUgS2FydGUgaW0KICA+IFN3aXRjaCB6dSBlcm1pdHRlbG4gdW5kIGF1c3p1dGF1c2NoZW4uCiAgPiBHZWdlbndhZXJ0aWcgc2NoZWludCBlcyB3aWVkZXIgenUgbGF1ZmVuLi4uCgogIDI4LjYuIDE0OjQ3IG51biBuaWNodCBtZWhyCiAgMTY6MzAgbmFjaCB6d2lzY2hlbnplaXRsaWNoZW0gQXVmYXRtZW4sIGdlZm9sZ3Qgdm9uIGVybmV1dGVtCiAgQWJzdHVyeiBzY2hlaW50IGRlciBOZXRjb21tIG51biB3aWVkZXIgenUgbGF1ZmVuLiBBbGxlcmRpbmdzCiAgaXN0IHdlZ2VuIGRlbSBkYXVlcm5kZW4gQXVmIHVuZCBBYiBub2NoIG1pdCBzY2hsZXBwZW5kZW4gVmVyLQoKYmluZHVuZ2VuIHp1IHJlY2huZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoSm9mLCAyOC4gSnVuIDE5OTUsIDIxOjMzOjA4KToKIyEgcm49QWFyZ29uIHJ0PTgwNDM1NDYwMgogTmFqYSwgR3JpbW1ib3JuIGhhdCByZWNodCwgd2VubiBlciBzYWd0LCBUZWlsZS1NaXQtTG9ncyB6dSB2ZXJvZWZmZW50bGljaGVuCmlzdCBuaWNodCBkaWUgZmVpbmUgZW5nbGlzY2hlIEFydCAuLi4KCkpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT2VmZmVudGxpY2hlIEVudHNjaHVsZGlndW5nIChTaWx2YW5hLCAyOS4gSnVuIDE5OTUsIDA2OjU1OjI5KToKIyEgcm49R3JpbW1ib3JuIHJ0PTgwNDM1NjcyOQpBdXNnZXJlY2huZXQgRFUgZ2lic3QgTmFjaGhpbGZlIGluIEJlbmVobWVuPyBXdW5kZXJ0IG1pY2gsIGRhc3MgRHUKdWViZXJoYXVwdCB3ZWlzc3QsIHdhcyBkYXMgaXN0LiAoRmFzdCB3b2VydGxpY2hlcykgWml0YXQ6CkdyaW1tYm9ybiBhbiBhbGxlIE1hZ2llcjogU2lsdmFuYSBtYWNodCBhYmVyIGF1Y2ggamVkZW4gSWRpb3RlbiB6dW0KR3JpbW1ib3JuIGFuIGFsbGUgTWFnaWVyOiBNYWdpZXIuLi4KVW5kIGRhcyBuZW5uc3QgRHUgQmVuZWhtZW4/ClNlaHIgdmVyd3VuZGVydCB1bmQgaW1tZXIgbm9jaCBzdGlua3NhdWVyIC0gU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT2VmZmVudGxpY2hlIEVudHNjaHVsZGlndW5nIChCb25nbywgMjkuIEp1biAxOTk1LCAwOTowODo0MCk6CiMhIHJuPUdyaW1tYm9ybiBydD04MDQzNTY3MjkKV2VubiBkYXMgZWluIEdlc3ByYWVjaCB2b24gRGlyIHVuZCBlaW5lbS9laW5lciBhbmRlcmVuIGlzdCwgbXVzc3QgRHUgRGljaApob2VjaHN0ZW5zIGJlaSBpaG0vaWhyIGVudHNjaHVsZGlnZW4uLi5vZGVyIHdpZSBqZXR6dD8/PwpCb25nbyBpc3QgYmVncmlmZnN0dXR6aWcKOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWl0IGZlZGVyIChCaXJkaWUsIDI5LiBKdW4gMTk5NSwgMTQ6MjQ6MDUpOgp3aWUga29ubnRlIGRhcyBudXIgcGFzc2llcmVuPyAqZXJyb2V0KgplaW5lIFRpbnRlbnZlcnNjaG1pZXJ0ZSBCaXJkaWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoR3JpbW1ib3JuLCAzMC4gSnVuIDE5OTUsIDEyOjAyOjAyKToKIyEgcm49U2lsdmFuYSBydD04MDQ0MDE3MjkKCipncnVlYmVsKgpBbHNvLCAiTmFjaGhpbGZlIiBoYWIgaWNoIG51ciBtaXIgc2VsYmVyIGVydGVpbHQgKHVuZCB2b20gTmFjaGFobWVuCmFiZ2VyYXRlbikuIFVuZCB6dSBkaWVzZW0gbXJ1ZiBrYW5uIGljaCBudXIgc2FnZW4sIHdlbm4gaWNoIFNhY2hlbiBtYWNoZSB3aWU6CltCZWlsZWlkOkdyaW1tYm9ybl0gTnVyIElkaW90ZW4gc3RlcmJlbiBhbiBkZW4gRG9nZ2VuLi4uCmRhbm4gYW11ZXNpZXJzdCBEdSBEaWNoLiBEYSBzdGVsbHQgc2ljaCBkaWUgRnJhZ2U6IEhhYiBpY2ggZXR3YSBtaXR0ZW4gaW5zClNjaHdhcnplIGdldHJvZmZlbj8gQWhuZSBpY2ggZWluIHNjaGxlY2h0ZXMgR2V3aXNzZW4/IE9kZXIgaXN0cyBlaW5mYWNoIG51cgpkb3BwZWx0ZSBNb3JhbCAod2VubnMgbmljaHQgdW0gbWljaCBnZWh0IGxhY2hlIGljaCwgc29uc3QgZHJvaGUgaWNoIG1pdApzYXZlZmlsZS1Mb2VzY2h1bmcpPwpNaXIga2FubiBtYW4gKG5hdHVlcmxpY2ggenUgcmVjaHQpIHZpZWwgdm9yd2VyZmVuLCBhYmVyIGljaCB2ZXJzdWNoZQp6dW1pbmRlc3QsIHp1IGFsbGVuIGdsZWljaCBhcnJvZ2FudCB1bmQgInVuZ2V6b2dlbiIgenUgc2Vpbi4gVm9yIGRlbSBHcmltbWJvcm4Kc2luZCBhbGxlIGdsZWljaC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZWx6YmV1dGVsIChXdXIsIDMwLiBKdW4gMTk5NSwgMjE6NDA6MDIpOgpTbywgZGEgc2ljaCBnZW51ZyBMZXV0ZSBkYWRydWViZXIgYmVzY2h3ZXJ0IGhhYmVuLCBkYXMgc2llIHdlZ2VuIGRlbgpQZWx6YmV1dGVsbiBpbW1lciBuYWNoIEF1cm9yYSBmYWhyZW4gbXVlc3NlbiwgaGFiZSBpY2ggc2llIG51biBnZWFlbmdlcnQuCklociBrb2VubnQgZGllIFBlbHpiZXV0ZWwgbnVuIGF1Y2ggaW4gamVkZW0gbmF0dWVybGljaGVuIExhZGVuIGVudHNvcmdlbi4KCld1ciAtIHZvciBzaWNoIGhpbmdydW1tZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2lhbyBNRyEgKFN0YWhsZG9ybiwgIDEuIEp1bCAxOTk1LCAwMjoyMjozOSk6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAgICBBIEIgUyBDIEggSSBFIEQhCgpOdW4gbWFsIEF1c25haG1zd2Vpc2Uga2VpbiBNdWVsbGFydGlrZWwuIChTY2hlaW50IGphIE1vZGUgZ2V3b3JkZW4genUgc2VpbgpoZXV0ZSBOYWNodC4pCkFsc28gaWNoIHdvbGx0ZSBtaWNoIHZvbiBhbGxlbiBoaWVyIGltIE1vcmdlbkdyYXVlbiBoZXJ6bGljaCB2ZXJhYnNjaGllZGVuLgpWb24gZGVuIHZpZWxlbiBGcmV1bmRlbiB1bmQgdm9uIGRlbiBGZWluZGVuIHVuZCB2b24gYWxsZW4gYW5kZXJuLiBJY2ggd2VyZCBhYgpNb250YWcga2F1bSBtZWhyICh2aWVsbGVpY2h0IHVlYmVyaGF1cHQgbmljaHQgbWVocj8pIGRpZSBNb2VnbGljaGtlaXQgaGFiZW4sCnp1IE11ZGRlbi4gSWNoIGZpbmRlIGRhcyBmdXJjaHRiYXIgc2NoYWRlLiBEYXMgTXVkIGhhdCB6aWVtbGljaCB2aWVsIG1laW5lcgpaZWl0IGluIEFuc3BydWNoIGdlbm9tbWVuLCBpY2ggaGFiIGhpZXIgc2VociB2aWVsZSBuZXR0ZSBEaW5nZSBlcmxlYnQgdW5kIGJpbgpmdXJjaHRiYXIgdHJhdXJpZywgZGFzcyBkYXMgbW9lZ2xpY2hlcndlaXNlIG5pZSBtZWhyIHNvIHNlaW4gd2lyZC4KSWhyIGdlaHQgbWlyIHNjaG9uIGpldHp0IGFiIDooCgpBbHNvOiBDSUFPIE1vcmdlbkdyYXVlbiEgSWNoIGhvZmZlLCBpY2ggd2VyZGUgYW4gZGVuIFdvY2hlbmVuZGVuIGRpZSBaZWl0IHVuZAp1ZWJlcmhhdXB0IGRpZSBHZWxlZ2VuaGVpdCBoYWJlbiwgaW5zIE5ldHogenUga29tbWVuLgpBYmVyIGljaCBiZWZ1ZXJjaHRlIG5pY2h0Li4uCkVzIHdhciBlaW5lIHNjaG9lbmUgWmVpdC4gSWNoIGRhbmtlIEV1Y2ghCgogICAgICAgICBTVEFITGkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2lhbyBNRyEgKEJpbGJvbSwgIDEuIEp1bCAxOTk1LCAwMjo1ODo1NCk6CiMhIHJuPVN0YWhsZG9ybiBydD04MDQ1NTgxNTkKTmFjaCBzbyBlaW4gQXJ0aWtlbCB0cmF1IGljaCBtaWNoIG5pY2h0IG1laHIgaGllciB2b2xsenVtdWVsbG4uLi4KOi0oClNvLi4uZGFzIHdhcnMuLi4KQmlsYm9tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2lhbyBNRyEgKFRvc3MsICAxLiBKdWwgMTk5NSwgMjI6MjY6MjkpOgojISBybj1TdGFobGRvcm4gcnQ9ODA0NTU4MTU5CkhpIQoKT2NoIG1hZW5ubywgZGFzIG5lcnZ0LCBiYWQgbmV3cyBoZXV0ZSBkZW4gZ2FuemVuIFRhZyA6KApTY2hhZGUsIFN0YWhsaSwgd2VubiBEdSB3aXJrbGljaCB3ZWdnZWhlbiBzb2xsdGVzdCAtIGVpbmVyIG1laW5lciBlcnN0ZW4KQmVrYW5udGVuIGhpZXIsIGltbWVyIGRhICh1bmQgaW0gR29ibGlubGFnZXIgOykpIHVuZCBzY2hsaWNodCB1bmQgZWluZmFjaAplaW5lciBkZXIgd2lya2xpY2ggZ3V0ZW4gU2VoZXIsIGRpZSB3aXIgaGllciBpbSBNdWQgaGFiZW4uIEljaCB3aWxsIGhpZXIKbmljaHQgYXVmIGRpZSBUcmFlbmVuZHJ1ZXNlIGRydWVja2VuLCBhYmVyIGljaCBmaW5kcyBpbW1lciBzY2hhZGUsIHdlbm4gZWluZXIKd2VnZ2VodCwgZGVuIG1hbiBzY2hvbiBsYW5nZSBrZW5udCAtIGFiZXIgdmllbGxlaWNodCAoaG9mZmVudGxpY2ghKSBrbGFwcHQKZGFzIGZ1ZXIgRGljaCBqYSBtaXQgZWluZW0gSW50ZXJuZXQtWnVnYW5nLCBpY2ggYmluIHNpY2hlciwgbmFjaCBuZXIgV2VpbGUKb2huZSBNdWQgdHJlaWJ0IERpY2ggZGllIFN1Y2h0IHNvd2llc28genVydWVjayA7KSkKCkFsc28gbmljaHQgbWFjaHMgZ3V0LCBzb25kZXJuIGJpcyBiYWxkLCBTdGFobCEhIQoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENpYW8gTUchIChBcnR5LCAgMS4gSnVsIDE5OTUsIDIyOjQ0OjExKToKIyEgcm49U3RhaGxkb3JuIHJ0PTgwNDU1ODE1OQpTY2hhZGUsIENpYW8gU1RBSExJICEhCgpBUlRZCihlbmRpY2ggbWFsIGVpbiBTVElMLXZvbGxlciBBYnNjaGllZCAhKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2lhbyBNRyEgKERhbmNlciwgIDIuIEp1bCAxOTk1LCAwMToxNDowNCk6CiMhIHJuPUFydHkgcnQ9ODA0NjMxNDUxCkphdSwgU3RhaGxpLCBtYWNocyBndXQhIFVuZCBzY2hhdSwgZGFzcyBEdSBlcyBzY2hhZmZzdCwgd2llZGVyenVrb21tZW4hCk5pY2h0IG51ciBFbGZpZSB3dWVyZGUgc2ljaCBmcmV1ZW4uLi4KCk1hY2hzIGd1dCwgU2Nod2llZ2Vyc29obi4KCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE9lZmZlbnRsaWNoZSBFbnRzY2h1bGRpZ3VuZyAoU2lsdmFuYSwgIDIuIEp1bCAxOTk1LCAxMDozMTozMSk6CiMhIHJuPUdyaW1tYm9ybiBydD04MDQ1MDY1MjIKSG1tbSAtIGthbm4gZXMgc2VpbiwgZGFzcyBEdSBtaWNoIG1pdCB3ZW0gdmVyd2VjaHNlbHN0PyBEZW4gQmVpbGVpZC1LYW5hbApoYWIgaWNoIHNlaXQgZXR3YSAzIFRhZ2VuIG5hY2ggZGVzc2VuIEVpbmZ1ZWhydW5nIG5pY2h0IG1laHIgYW4gdW5kIHVlYmVyCnNvIGFsbGdlbWVpbmUgQmVsZWlkaW5ndW5nZW4gbGFjaGUgaWNoIG5pY2h0LgpEYXMgbWl0IGRlciBMb2VzY2h1bmcgYmV6b2cgc2ljaCBhdWYgZWluZSBhbmRlcmUgU2FjaGUsIGRpZSBpY2ggZWlnZW50bGljaApuaWNodCBpbiBkZXIgTXBhIGVyd2FlaG5lbiB3aWxsIChGaW5kZXN0IER1IGluIERlaW5lciBtYWlsKS4gWnVkZW0gZmVobHRlCmRlciBCZW1lcmt1bmcgZWJlbnNvIGRhcyA7KSB3aWUgaWNoIEhPRkZURSwgZGFzcyBlcyBiZWkgRGVpbmVyIEJlbWVya3VuZwphdWNoIGdlZmVobHQgaGF0Li4uIE5hLCBqYSAtIG1hbiBrYW5uIHNpY2ggdGFldXNjaGVuLi4uCgpzZXVmemVuZCAtIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhcmV3ZWxsIChDYXN0YXdheSwgIDIuIEp1bCAxOTk1LCAxMjowNjozNik6CldhdGNoIGluIHNpbGVuY2UgYXMgdGhlIG1vcm5pbmcncyBkYXduIGJyZWFrcyBvdmVyIHRoZSBoYXJib3VyIGF0IFBvcnQgVmFpbgoKQ3JlZXAgdGhyb3VnaCB0aGUgZm9yZXN0IGluIGFwcHJlaGVuc2lvbiwgaW4gY2FzZSB0aGUgcm9iYmVycyBsdXJrIG5lYXJieSwKCk9mZmVuZCBub3QgdGhlIE9yayBQYXRyb2wsIGxlc3QgeW91IGJlIGhvdW5kZWQgdG8gZGVhdGggaW5zaWRlIHRoZSBQYWxsaXNhZGUuCgpLZWVwIHlvdXIgcHVyc2VzdHJpbmdzIGNsb3NlZCBhcyBSb2JpbiBwYXNzZXMgeW91IGJ5LgoKQmUgd2FyeSBvZiB0aGUgU1NQLCB3aGVyZSB1bnNlZW4gZW5lbWllcyBsdXJrIGluIHVubGl0IHBhc3NhZ2VzLgoKQWRtaXJlIHRoZSBncmVhdCBvbmVzIHdobyBidWlsdCB0aGlzIGxhbmQsIHRoYXQgcGVvcGxlIHN1Y2ggYXMgeW91cnNlbHZlcwptaWdodCBtZWV0IGFuZAoKbWFrZSBtZXJyeS4KCkV4cGxvcmUgZnVydGhlciB0aGFuIEkgZXZlciBkaWQsIGJyYXZlIGZyaWVuZHMuCgpSZW1lbWJlciBhcyB5b3VyIHN0cnVnZ2xlIHRvIGF0YWluIHRoYXQgd2hpY2ggc2VlbXMgc29tZXRpbWVzIGltcG9zc2libGUsCnRoYXQgb25jZQoKdGhvc2UgYWJvdmUgeW91IHN0b29kIHdoZXJlIHlvdSBhcmUgbm93IGFuZCBsb29rZWQgdXAuCgpIZWVkIG15IHdhcm5pbmdzLCBhbmQga2VlcCBhIHNtaWxlIGluIHlvdXIgaGVhcnQsIGZvciB0aGlzIGxhbmQgaXMsIGFuZCBldmVyCndpbGwgYmUsIG9uZSBvZgoKdGhlIGZyaWVuZGxpZXN0IEkndmUga25vd24uCgpBcyBJIGRlcGFydCwgSSBrbm93IG5vdCB3aGVyZSBvciB3aGVuIHdlIHNoYWxsIG1lZXIgYWdhaW4sIHdoZXRoZXIgSSBzaGFsbApyZXR1cm4gb3Igc2luayBpbnRvCgp0aGUgbWlzdHMgb2Ygb2JzY3VyaXR5LgoKSSBiZWcgb2YgeW91IG9ubHkgdGhpcywgcmVtZW1iZXIgbWUsIHRoYXQgbXkgdGltZSBoZXJlIGhhcyBub3QgcGFzc2VkIGluCnZhaW4uLgoKCgpGYXJld2VsbCwgdW50aWwgd2UgbWVldCBhZ2Fpbi4uCgoKCkNhc3Rhd2F5IChAZXZlcnl3aGVyZSkgYS5rLmEuIEplc3MgUm9iaW5zb24sIChzbW9rZXlAY2l4LmNvbXB1bGluay5jby51aykKCgooSGFkIHRvIHBhc3RlIHRoaXMsIHNvcnJ5IGlmIGl0IGxvb2tzIGZ1bm55IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFyZXdlbGwgKERhbmNlciwgIDIuIEp1bCAxOTk1LCAxNDo0Mjo1Mik6CiMhIHJuPUNhc3Rhd2F5IHJ0PTgwNDY3OTU5NgpDYXN0YXdheSwgZGFzIHdhciBlaW5lciBkZXIgc2Nob2Vuc3RlbiBBcnRpa2VsLCBkaWUgaWNoIGplbWFscyBnZWxlc2VuCmhhYmUuIFNjaG9uIGFsbGVpbiBkZXNoYWxiIHdlcmRlbiB3aXIgRGljaCBuaWUgdmVyZ2Vzc2VuLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENpYW8gTUchIChDcmVhdGl2ZSwgIDMuIEp1bCAxOTk1LCAwOTozNTo0NSk6CiMhIHJuPVN0YWhsZG9ybiBydD04MDQ1NTgxNTkKClNjaGFhYWFhYWRlLi4uCkR1IHdhcnN0IG5pY2h0IG51ciBpbSBNVUQgZWluIGd1dGVyIEZyZXVuZC4uLgpOYWphLi4uIHdpciBzZWhuIHVucyBqYSBob2ZmZW50bGljaCBub2NodC4KSW0gTmFtZW4gYWxsZXIgTGluemVyIE1VRGRlciwgZnJvZWhsaWNoZSAoPykgVGFnZS4uLgpVbmQgbWVsZCBEaWNoIHdpZWRlciBtYWwsIHdlbm4gRHUgaW4gTGlueiBiaXN0IQoKLUNyZWEtLCBldHdhcyBiZXRydWVidC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHbGVpY2hnZXdpY2h0IChDcmFpZywgIDMuIEp1bCAxOTk1LCAxMTozODozNCk6CgpTZWl0IGRlciBFcm9lZmZudW5nIGRlcyBLYXJhdGUtRG9qb3MgaGF0IHNpY2ggZWluaWdlcyB2ZXJhZW5kZXJ0IGltIE11ZDsgd2VyCmhhZXR0ZSBkYXMgbmljaHQgYmVtZXJrdC4KR3J1bmRzYWV0emxpY2ggaXN0IGRhcyBndXQgc28sIGRlbm4gbWVociBWaWVsZmFsdCBiZWRldXRldCBtZWhyCkxlYmVuc3F1YWxpdGFldC4KRGVubm9jaDogSWNoIG1hY2hlIG1pciBTb3JnZW4gdW0gZGllIENoYW5jZW5nbGVpY2hoZWl0IHZvbiBBYmVudGV1cmVybiB1bmQKS2FyYXRla2EuIERlbm4gZGllIExldHp0ZXJlbiBlbnR3aWNrZWxuIGRvY2ggZWluZSBlcnN0YXVubGljaGUgS2FtcGZrcmFmdC4KTnVuLCBkYXMgaXN0IHNjaG9uIGluIE9yZG51bmcsIGRlbm4gc2NobGllc3NsaWNoIHRyYWluaWVyZW4gZGllIEtvbGxlZ2VuIGphCnNlaHIgdmllbC4KTnVyOiBJY2ggaGFiZSBkZW4gRWluZHJ1Y2ssIGRhc3MgZGllIEFiZW50ZXVyZXIgbmljaHQgU2Nocml0dCBoYWx0ZW4ga29lbm5lbgp1bmQgYXVmIGxhbmdlIFNpY2h0IGRldXRsaWNoIGluIE5hY2h0ZWlsIGdlcmF0ZW4gd2VyZGVuLgpEYXMgYmV0cmlmZnQgdm9yIGFsbGVtIGRpZSBTcGllbGVyIGRlciB1bnRlcmVuIFN0dWZlbi4KV2llIGtvbW1lIGljaCBkYXJhdWY/IE1laW4gU2NobHVlc3NlbGVybGVibmlzOgpWb3Iga3VyemVtIGluIGRlciBPcmtob2VobGU6IDIgU3BpZWxlciAoTGV2ZWwgMyBiencuIDYpIG1hY2hlbiBtYWwgZWJlbiAyCnN0YXJrZSBPcmtzIHBsYXR0IC0gbWl0IEhpbGZlIHZvbiBLYXJhdGUtVGVjaG5pa2VuLiBad2VpZmVsbG9zIGVpbmUgc3RhcmtlCkxlaXN0dW5nLiBFcyBzY2hlaW50IHNvIHp1IHNlaW4sIGRhc3MgbWFuIGJlcmVpdHMgYXVmIG5pZWRyaWdlbSBMZXZlbCBzZWhyCmVmZmVrdGl2ZSBUZWNobmlrZW4gZXJsZXJuZW4ga2Fubi4gU2Nob2VuIHVuZCBndXQuClVuZCB3aWUgc2llaHQgZXMgbWl0IGRlbiBBYmVudGV1cmVybiBkaWVzZXIgU3R1ZmUgYXVzPyBEaWUga29lbm5lbiBtYWwgZ2VyYWRlCmRlbiBMaWNodHNwcnVjaC4gRGllIGVyc3RlIGltIEthbXBmIHdpcmtzYW1lIFNwZXppYWx0ZWNobmlrIGVyaGFsdGVuIHNpZSBlcnN0CmFiIExldmVsIDEyOiBEZW4gbWFnaXNjaGVuIFBmZWlsLgpBYiBMZXZlbCAxNSAoRmV1ZXJiYWxsKSBtYWcgZGFzIEtyYWVmdGV2ZXJoYWVsdG5pcyBpbiBPcmRudW5nIHNlaW4sIGFiZXIgYmlzCmRhaGluIHNlaGUgaWNoIGVpbmUgZGV1dGxpY2hlIEtsdWZ0LgpEaWVzZSBrb2VubnRlIGV0d2EgZGFkdXJjaCB1ZWJlcmJydWVja3Qgd2VyZGVuLCBkYXNzIGRpZSBBYmVudGV1cmVyIHNjaG9uCmZydWVoZXIgaWhyZSBaYXViZXJzcHJ1ZWNoZSBlcmxlcm5lbiBrb2VubmVuLgoKV2FzIGhhbHRldCBpaHIgZGF2b24/CgpmcmFndApDUkFJRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdsZWljaGdld2ljaHQgKEFkYW1hLCAgMy4gSnVsIDE5OTUsIDEyOjAyOjIwKToKIyEgcm49Q3JhaWcgcnQ9ODA0NzY0MzE0CmhpLCBkYXp1IG11c3MgaWNoIHdhcyBzYWdlbiB3ZWlsIGljaCBkaWVzZXMgJ1NjaGx1ZXNzZWxlcmxlYm5pcycgbWl0IG1laW5lbQp6d2VpdGllIGF1cy0KZ2Vsb2VzdCBoYWIuCmJpcyBqZXR6dCB3YXJlbiB3aXJzIGVzIHdvaGwgZ2V3b2hudCBkaWUgZXJmYWhydW5nIGVpbmVzIHNwaWVsZXJzIGFuIGRlbQpBQkVOVEVVUkVSLWdpbGRlLQpsZXZlbCB6dSBtZXNzZW4uIHRqbywgZGEgbXVzcyBtYW4gc2ljaCBoYWx0IGpldHp0IHVtZ2V3b2VobmVuCmRpZSB6d2VpIHZlcm1laW50bGljaGVuIGFuZmFlbmdlciB3YXJlbiBlaW4gYnJhdW4tIHVuZCBlaW4gYmxhdS1ndXJ0IGRlcgprYXJhdGUtZ2lsZGUgbWl0IGd1dGVuIHVuZCBtaXR0bGVyZW4gc3RhdHMuIGFsbGVyZGluZ3MgbWl0IF9zZWhyXyB3ZW5pZyBhcCdzCndpZSBpY2ggZ2VybiB6dWdlYmUgOi0pCmplZGVuZmFsbHMga2VpbmUgdW5lcmZhaHJlbmVuIHNwaWVsZXIuIHdlciBtZWludCwgZGFzcyBkaWVzZSBrYW1wZmtyYWZ0CmxlaWNodCB1bmQgc2NobmVsbAplcndvcmJlbiBpc3QsIGRlbiBsYWRlIGljaCBnZXJuIHp1bSBwcm9iZXRyYWluaW5nIGVpbi4gZnJ1c3QgaXN0IGRhIHNpY2hlcgp2b3Jwcm9ncmFtbWllcnQsCnZvciBhbGxlbSBiZWkgYW5mYWVuZ2VybiBtaXQgbmllZHJpZ2VuIHN0YXRzLgptZWluIHRpcHA6IGt1Y2t0IGV1Y2ggZGllIF9sZXV0ZV8gaGFsdCBhbiB1bmQgbmljaHQgbnVyIGlocmVuIG5hbWVuLgpvZGVyLCBhbHMgYW5yZWd1bmcgZnVlciBkaWUga2FyYXRlLWdpbGRlOiBtYW4ga29lbm50ZSBkZW4gZ2lsZGUtbGV2ZWwgZGlyZWt0CmltIG5hbWVuIHNpY2h0LQpiYXIgbWFjaGVuLgoKYWRhbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVudHNjaHVsZGlndW5nIChBZGFtYSwgIDMuIEp1bCAxOTk1LCAxMjoxMDoyNik6Cm1laW4gZ290dCBpc3QgbWVpbiBsZXR6dGVyIGFydGlrZWwgbWllcyBmb3JtYXRpZXJ0ISBzb3JyeS4gYWJlciBkZW4gaW5oYWx0CmZpbmQgaWNoIHdpY2h0aWcKYWRhbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHbGVpY2hnZXdpY2h0IChKYWYsICAzLiBKdWwgMTk5NSwgMTY6MjA6MDgpOgojISBybj1DcmFpZyBydD04MDQ3NjQzMTQKClN0aW1tdCwgZGFzcyBkaWUgQW5mYWVuZ2VyIGluIGRlciBLYXJhdGVnaWxkZSBlcnN0YXVubGljaGUgTGVpc3R1bmdlbgpmYWVoaWcgc2luZC4gRnl0IHdhciBuZXVsaWNoIG1pdCBLaGlkYXIgaW4gZGVyIEFyZW5hLCB1bmQgZGEgaGF0IGRlcgpzCnUKZG9jaCB0YXRzYWVjaGxpY2ggaW4gY2EuIDIwIE1pbnV0ZW4gZGVuIEF3YXNlLXp1a2kgdm9uIDAgYXVmIHVlYmVyCjMwIFByb3plbmJ0IGdlYnJhY2h0Li4uIEZydWVoZXIgaGF0IHNvd2FzIG1hbCBhY2h0IFN0dW5kZW4gZ2VkYXVlcnQuLi4KSWNoIHdpbGwgamV0enQgd2Vpc3MgSm9mIG5pY2h0IGFuZmFuZ2VuIHp1IG5vZXJnZWxuLCBkYXNzIGRhcyBsZXJuZW4KenUgc2NobmVsbCBnZWh0LCBkYW5uIHd1ZXJkZSBSb2NodXMgZGFzIExlcm50ZW1wbyB3b21vZWdsaWNoIHdpZWRlcgp6dXJ1ZWNrc2V0emVuIHVuZCBkYW1pdCBkZW4gYWx0ZW4gRnJ1c3Qgd2llZGVyYmVsZWJlbi4uLiBBYmVyIExldmVsIDMKdW5kIE9ya3MgaXN0IHdvaGwgenUgZ3V0LiBXaWUgd2FlcmUgZXMgYWxzbywgd2VubiBtYW4gZGVuIEF1ZnN0aWVnCmluIGRlciBLYXJhdGVnaWxkZSAoZGllIEthbXBma3JhZnQgYmV0cmVmZmVuZCkgZ2VuYXVzbyB3aWUgaW4gZGVyCkFiZW50ZXVlcmVyZ2lsZGUgdm9tIFNwaWVsZXJsZXZlbCBhYmhhZW5naWcgbWFjaGVuIHd1ZXJkZS4uLgpFaW5lIFJlZ2VsdW5nIHdpZTogIE1hbiBrYW5uIGVpbmUgVGVjaG5payBudXIgYmlzIG1heGltYWwKMjAlICsgNCUgcHJvIFNwaWVsZXJsZXZlbCBiZWhlcnJzY2hlbiBoYWx0ZSBpY2ggZHVyY2hhdXMgZnVlcgphbmdlbWVzc2VuLi4uIGFuZGVybmZhbGxzIHNlaGUgaWNoIGRlbiBUYWcga29tbWVuLCBhbiBkZW0KYmx1dGlnZSBBbmZhZW5nZXIgb2huZSBlaW5lIGVpbnppZ2UgUXVlc3QgZGllIFNjaHJlY2tlbnNzcGl0emUKYXVzcmFldW1lbi4uLgoKSmFmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHbGVpY2hnZXdpY2h0IChDdWNodWxsaW4sICAzLiBKdWwgMTk5NSwgMTY6MzQ6MDgpOgojISBybj1KYWYgcnQ9ODA0NzgxMjA4CgoKS2xhciwgd2VubiBpY2ggZGVuIFdhcy13ZWlzcy1pY2gtd2llLXNjaHdhcnplbiBHdWVydGVsIGhhZXR0ZSwgZmllbGUgbWlyIGRhcwpNb3Nlcm4gYXVjaCB6aWVtbGljaCBsZWljaHQsIHZvciBhbGxlbSB3ZW5uIGljaCBnbGF1YmVuIHd1ZXJkZSwgZGFzcyBlcyBkaWUKYW5kZXJlbiBsZWljaHRlciBoYWJlbiBhbHMgaWNoLgoKSGFsdGUgRGlyIG1hbCBudXIga3VyeiB2b3IgQXVnZW4sIHdpZXZpZWwgUHJvemVudCBEZWluZXIgTGVpc3R1bmcgdmlhIFRGCmVyemV1Z3Qgd3VyZGUuLi4KCgpDdWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2xlaWNoZ2V3aWNodCAoSmFmLCAgMy4gSnVsIDE5OTUsIDE2OjQwOjMxKToKIyEgcm49Q3VjaHVsbGluIHJ0PTgwNDc4MjA0OAoKTWVpbnN0IER1IGpldHp0IEZ5dCBvZGVyIHdlbiwgSHVuZCA6KSA/CgpKYSwgd3VlcmRlIG1hbCBzYWdlbiwgY2EuIDEwMCAlLi4uIGFiZXIgZGFzIExlcm50ZW1wbyB3b2xsdGUKaWNoIGphIGF1c2RydWVja2xpY2ggKk5JQ0hUKiB6dXIgRGlza3Vzc2lvbiBzdGVsbGVuLCBzb25kZXJuIG51cgplaW5lIEFiaGFlbmdpZ2tlaXQgS2FtcGZrcmFmdC9MZXZlbCwgZGllIGVzIGF1Y2ggYmVpIGRlcgpBYmVudGV1ZXJlcmdpbGRlIGdpYnQsIHJlaW5icmluZ2VuLi4uIHVuZCBkYXMgaGF0IG1pdCBURgplaWdlbnRsaWNoIG5peCB6dSB0dW4sIG9kZXI/CgpKYWYuIEpBRiwgbmljaHQgRllULi4uLiphcmdsKiYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdsZWljaGdld2ljaHQgKEN1Y2h1bGxpbiwgIDMuIEp1bCAxOTk1LCAxNjo0NjozNCk6CiMhIHJuPUphZiBydD04MDQ3ODI0MzEKCgphKSBJY2ggd3Vzc3RlIG5pY2h0LCBkYXNzIER1IFNPIHNjaGl6byBiaXN0LgoKYikgRGFzIFZlcmhhZWx0bmlzIHp1bSBMZXZlbCBrb21tdCBhYiBkZW0gMS4gRGFuLCB3byBlaW5lIEVyaG9laHVuZyBlaW5lbgpiZXN0aW1tdGVuIExldmVsIGVyZm9yZGVydC4gWnVtaW5kZXN0IHdhciBkYXMgbWFsIHNvLgoKYykgSWNoIGZpbmRzIGdhbnogZ3V0IHNvLiBBbGxlcmhvZWNoc3RlbnMgbmUgZGlyZWt0ZSBBYmhhZW5naWdrZWl0IHZvbiBkZW4KQVBzIGtvZW5udGUgaWNoIHZlcnN0ZWhlbi4KCkN1Y2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdsZWljaGdld2ljaHQgKEJvaW5nLCAgMy4gSnVsIDE5OTUsIDE3OjAwOjA4KToKIyEgcm49QWRhbWEgcnQ9ODA0NzY1NzQwCkljaCBkZW5rZSBhdWNoLCBkYXNzIGRpZSBLYXJhdGVnaWxkZSBtYWwgZWluZW4gZWlnZW5lbiBTYXR6IFRpdGVsCnZlcmRpZW50IGhhZXR0ZS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2xlaWNoZ2V3aWNodCAoRGFuY2VyLCAgMy4gSnVsIDE5OTUsIDIyOjE4OjI4KToKIyEgcm49Qm9pbmcgcnQ9ODA0NzgzNjA4Clp1c3RpbW11bmcsIEJvaW5nLi4uLiB3aWUgdWVicmlnZW5zIGplZGUgYW5kZXJlIHp1a3VlbmZ0aWdlIEdpbGRlIGF1Y2guLi4KCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2xlaWNoZ2V3aWNodCAoQWRhbWEsICA0LiBKdWwgMTk5NSwgMDk6MTc6MDUpOgojISBybj1KYWYgcnQ9ODA0NzgxMjA4CmhtIGphZiwgYWxzbyAnZnJ1ZWhlcicgaGF0IG1hbiBmdWVyIGVpbmVuIHNjaGxhZyBpbiBkZXIgYXJlbmEgbWl0IEtoaWRhci0Kc3RhdHMgYXVjaCBrZWluZSA4IHN0dW5kZW4gZnVlciAzMCUgZ2VicmF1Y2h0Lgp3YXMgaWNoIGFiZXIgZ2FyIG5pY2h0IHZlcnN0ZWg6IGRpZSBrYXJhdGVnaWxkZSBfaGF0XyBkb2NoIGxldmVsISBkaWUKaGVpc3NlbiBoYWx0IGd1ZXJ0ZWwgdW5kIG1hbiBzaWVodCBzaWUgbmljaHQgc29mb3J0LCBhYmVyIHdhcyBzb2xscy4KaWNoIHZlcnN0ZWggbmljaHQsIHdpZXNvIGVzIGVpbmUgYW5iaW5kdW5nIGFuIGRpZSBsZXZlbCBlaW5lciBhbmRlcmVuCmdpbGRlIGdlYmVuIHNvbGwuIGljaCBob2ZmZSBhdWNoLCBkYXNzIGRhcyBiZWkgZGVuIGtvbW1lbmRlbiBnaWxkZW4gbmljaHQKc28gc2VpbiB3aXJkLgp0am8sIHVuZCB3YXMgZGVuICdibHV0aWdlbiBhbmZhZW5nZXInIGFuZ2VodCwgZGVyIGRpZSBzc3AgYXVmcmFldW10OiB3ZW5uCmVyIGRhenUgdm9sbGUgc3RhdHMgYnJhdWNodCB1bmQgMzAgb2RlciBtZWhyIG9ubGluZS10YWdlIHRyYWluaWVyZW4gbXVzcyAtCndhcnVtIG5pY2h0Pwpzb2xhbmdlIGVyIG5pY2h0IHNlaGVyIG9kZXIgbWFnaWVyIHdlcmRlbiBrYW5uLCBvaG5lIGRpZSBxdWVzdHMgenUga2VubmVuLAppc3QgbWlyIGRhcyBlZ2FsLgoKYWRhbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdsZWljaGdld2ljaHQgKFVsbywgIDQuIEp1bCAxOTk1LCAwOToyMjozNik6CiMhIHJuPUFkYW1hIHJ0PTgwNDg0MjIyNQpoaSEKCkJlaSBkZXIgQWJlbnRldXJlcmdpbGRlIHdhciBlcyBzbywgZGFzcyBtYW4gaG9oZSBLYW1wZmtyYWZ0IChkaWUga2FtIHdvaGwKenUgZWluZW0gYmVkZXV0ZW5kZW4gVGVpbCB2b20gRmV1ZXJiYWxsKSBlcnN0IGFiIExldmVsIDE3IGtyaWVndGUsIGQuaC4KbmFjaCBzb3VuZHNvdmllbGVuIFF1ZXN0cy4gQmVpIGRlciBLYXJhdGVnaWxkZSBrYW5uIG1hbiBzaWNoIGhvY2h0cmFpbmllcmVuCnVuZCBob2hlIEthbXBma3JhZnQgZXJsYW5nZW4sIG9obmUgUXVlc3QgbG9lc2VuIHp1IG11ZXNzZW4uIFdlbm4gYWxzbwpnZXdpc3NlIEFiZW50ZXVyZXJsZXZlbCBmdWVyIGRpZSBLYXJhdGVndWVydGVsIHZlcmxhbmd0IHdlcmRlbiwgaXN0IGRhcyBuaWNodApzb29vCmFid2VnaWcuCgpVbG8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWVsbCAoQ2F0d2VhemxlLCAgNC4gSnVsIDE5OTUsIDA5OjU3OjA4KToKSGkhCkFMc28gaGllciBtZWluIFdvcnQgenVtIE11ZWxsOgpMQVNTVCBEQVMhCkRpZXNlIFplaXR1bmcgaXN0IGVpbiBvZWZmZW50bGljaGVzIEZvcnVtIHVtIGVybnN0ZSAobmFqYSBqZSBuYWNoIFJ1YnJpaykKdW5kIHRoZW1lbmJlem9nZW5lIEFydGlrZWwgenUgdmVyb2VmZmVudGxpY2hlbiB1bmQgZGVyIEFsbGdlbWVpbmhlaXQKenVnYWVuZ2xpY2ggenUgbWFjaGVuLiBTaW5ubG9zZXMgWmV1Z3MgaGllciByZWluenVzY2hyZWliZW4sIHdpZSBkYXMgaW0KQXVnZW5ibGljayBpbiBlaW5pZ2VuIFJ1YnJpa2VuIHBhc3NpZXJ0IGhhbHRlIGljaCBmdWVyIHppZW1saWNoIHVlYmVyZmx1ZXNzaWcKdW5kIC0gd2llIHZpZWxlIGFuZGVyZSBhdWNoIC0gZnVlciBiZXNvbmRlcnMgbmVydmlnLiBBbHNvIHZlcmxlZ3QgRXVyZQpzaW5ubG9zZW4gS3Vyemdlc2NoaWNodGVuIGRvY2ggYml0dGUgbmFjaCBTY2htYXJybiwgZGFmdWVyIGlzdCBkaWUgUnVicmlrCnNjaGxpZXNzbGljaCBkYSEKWW91cnMgdHJ1bHksCiAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZWxsIChZYW50cm8sICA0LiBKdWwgMTk5NSwgMTA6MjU6MzMpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODA0ODQ0NjI4CgpJc3QgZGFzIERlaW4gRXJuc3QsIENhdHR5PyBHcm9zc2VzIE9iZXJTaGVyaWZmV29ydD8/IFdlcmQgaWNoIHNvbnN0CmdlYmFubmlzaGVkPwoKTWFsIGltIEVybnN0Li4gZGFzIG1pdCBkZW0gUnVtbXVlbGxlbiBpc3QgZ2VyYWRlIHNvIGVpbmUgTGF1bmUgZGVyIFNwaWVsZXIKdW5kIGljaCBtYWNoZSBKRURFIFdldHRlLCBDYXQqOiBXZW5uIERVIERpY2ggbmljaHQgZHJ1ZWJlciBhdWZyZWdzdCwgZGFubiBpc3QKZGFzIGdhbnplIGluIGVpbmVyIFdvY2hlIGVybGVkaWd0LgoKICAgICAgICAgICAgICAgICAgWWFudHJvOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVlbGwgKENhdHdlYXpsZSwgIDQuIEp1bCAxOTk1LCAxMDoyOTozNik6CiMhIHJuPVlhbnRybyBydD04MDQ4NDYzMzMKSG0hClNjaG9uIG1vZWdsaWNoLCBhYmVyIFdFTk4gaWNoIG1pY2ggZGFydWViZXIgYXVmcmVnZSwgZGFubiBpc3QgZGllIFNhY2hlCkpFVFpUIHNjaG9uIGVybGVkaWd0IDotKQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdsZWljaGdld2ljaHQgKEJvaW5nLCAgNC4gSnVsIDE5OTUsIDEwOjM5OjUxKToKIyEgcm49VWxvIHJ0PTgwNDg0MjU1NgpNYW4ga2FubiBkYW1pdCBhYmVyIGRpZSBLYXJhdGVnaWxkZSBhbHMgQWx0ZXJuYXRpdmUgZnVlciBkaWUgTGV1dGUKYW5zZWhlbiwgZGllIG5pY2h0IHNvIGdlcm5lIFF1ZXN0cyBsb2VzZW4uIFVuZCB1bSBNYWdpZXIvU2VoZXIgenUgd2VyZGVuCm11ZXNzZW4gc2llIGRpZSBRdWVzdHMgZGFubiB0cm90emRlbSBsb2VzZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlZ2VtYWtyb3MgKFlhbnRybywgIDQuIEp1bCAxOTk1LCAxMjowMTo0MCk6CgpEYSBqYSBudW4gV2VnZW1ha3JvcyBhdXNkcnVlY2tsaWNoIGVybGF1YnQgc2luZCwgbW9lY2h0ZSBpY2ggYWxsZSBOdXR6ZXIKZGllc2VyIE1ha3JvcyBkb2NoIHVtIGVpbmUgS2xlaW5pZ2tlaXQgYml0dGVuOgoKV2FlaGx0IGV1Y2ggcnVoaWdlIFJhZXVtZSBmdWVyIGRlbiBTdGFydCBkZXIgTWFrcm9zLgoKSWNoIGhhYmUgZ2VyYWRlIE1vcmdvdGggYW5nZXNwcm9jaGVuLCBkZXIgYWxzIFN0YXJ0cHVua3QgZnVlciBzZWluZSBNYWtyb3MKaW1tZXIgSU4gZGllIEdpbGRlIHJlbm50Li4gVk9SIGRpZSBHaWxkZSBzb2xsdGUgYWJlciBhdWNoIHJlaWNoZW4gZGVua2UgaWNoLgpEYW1pdCB2ZXJoaW5kZXJ0IG1hbiBuYWVtbGljaCwgZGFzcyBtYW4gYW5kZXJlIFNwaWVsZXIgZHVyY2ggc3RhZW5kaWdlcyByZWluCnVuZCByYXVzIG5lcnZ0ISBCaXR0ZSBuZWhtdCBlaW4gd2VuaWcgUnVlY2tzaWNodC4KCiAgICAgICAgICAgICBZYW50cm86KAoKUC5TLjogQW0gUmFuZGUgYmVtZXJrdDogTW9yZ290aCBtZWludGUgenUgbWlyLCBpY2ggc29sbCBkb2NoIHNlaW5lIElucyB1bmQKT3V0cyBhdXNibGVuZGVuIChrbGFyIGdlaHQgZGFzIG1pdCBURiwgYWJlciB2aWVsbGVpY2h0IGhhYiBpY2ggZ2FyIGtlaW5zPykuCkljaCBkZW5rZSwgZGFzcyBnZWh0IGluIGRpZSBmYWxzY2hlIFJpY2h0dW5nLgpBdXNzZXJkZW0sIHdlbm4gaWNoIHVlYmVyaGF1cHQgbWl0IG1laW5lbSBURiBhdWYgc293YXMgcmVhZ2llcmVuIHd1ZXJkZSwgZGFubgp3YWVyZSBkYXMgbWl0IGVpbmVtIFRyaWdnZXIsIGRlciBNb3Jnb3RoIGF1c2xvZ2d0LCB3ZW5uIGVyIGVzIHVlYmVydHJlaWJ0IG1pdApkZW0gcmVpbiB1bmQgcmF1cyA7LSkgKnNjaGllbCB6dSBDYXQqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJlbmEgKE1vcmdvbiwgIDQuIEp1bCAxOTk1LCAxNjozNzo0Nyk6CkhhbGxpIEhhbGxvLi4uLgpXaWUgd2FlcmUgZXMgZWlnZW50bGljaCB3ZW5uIG1hbiBkaWUgQXJlbmEgYWVuZGVybiB3dWVyZGU/CkVpbiBSYXVtIGZ1ZXIgU3BpZWxlciBnZWdlbiBTcGllbGVyIHVuZCBlaW4gUmF1bSBmdWVyIGRpZSBRdWVzdC4uLi4KU2VpdCBLYXJhdGUgaGF0IG1hbiBuYWVtbGljaCB3ZW5pZyBDaGFuY2VuIG5vY2ggT2JlcmdsYWRpYXRvciB6dQp3ZXJkZW4uIEtsYXIgbWFuIGthbm4gamEgYmVpIGRlbiBVZWJlbmRlbiBzaWNoIG1lbGRlbiwgYWJlcgp0cm90emRlbSBpc3QgZGFzIG1pdCBkZW4gendlaSBSYXVlbWVuIGVpbmUgVWViZXJsZWd1bmcgd2VydC4uLgoKTW9yZ29uIHdpbGwgYXVjaCBtYWwgR2xhZGkgbWFjaGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZWxsIChTY2hydW1wZmksICA0LiBKdWwgMTk5NSwgMjE6MzE6MDIpOgojISBybj1ZYW50cm8gcnQ9ODA0ODQ2MzMzCldlbm4gbmljaHQgc29nYXIgZnJ1ZWhlciwgZGVubiBpcmdlbmR3YW5uIGlzIGVzIG5pY2h0IG1laHIgbHVzdGlnLiBFcyBzZWkKZGVubiwgZXMgcmVndCBzaWNoIGplbWFuZCBhdWYgOy0pClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBad2VyZ2UgKEd3eW53YWl0ZXIsICA1LiBKdWwgMTk5NSwgMDQ6MTE6NDQpOgojISBybj1EZWxvcyBydD04MDM1OTE0MTAKCkhhbGxvIEloci4uLgoKSWNoIHdpbGwgZG9jaCBhdWNoIG1hbCBtZWluZW4gU2VuZiBkYXp1IGdlYmVuIDotKSkgIChLZWluIFNjaG1hcnJuKQoKTWVuc2NoIG11c3MgdW50ZXJzY2hlaWRlbiB6d2lzY2hlbiBkZW4gRmVlbi0gdW5kIEVsZmVud2VzZW4gZWluZXJzZWl0cywgd2llCmRhcyBkaWUgRWxmZW4gc293aWVzbyB0dW4sIHVuZCBkZW4gWndlcmdlbiBvZGVyIGRlbiBEdW5rZWxlbGJlbiBhbmRlcmVyc2VpdHMuClVuZCBkYW5uIG5vY2ggaW4gZGllIGRyZWkgRXJzY2hlaW51bmdzZ2ViaWV0ZTogRmVlbi0gdW5kIEVsZmVud2VzZW4gaW0KVm9sa3NtYWVyY2hlbiwgRmVlbi0gdW5kIEVsZmVud2VzZW4gaW0gS3Vuc3RtYWVyY2hlbiAodW5kIGRlciBTYWdlKSwgdW5kIGFscwpEcml0dGVzIGluIGRlciBQaGFudGFzdGlzY2hlbiBMaXRlcmF0dXIuCiAgIERpZSBGZWVuLSB1bmQgRWxmZW53ZXNlbiB3YXJlbiBzY2hvbiBpbW1lciBMaWNodGdlc3RhbHRlbiwgZG9jaCBnaW5nIGRpZQpNYW5pY2hhZWlzdGlzY2hlIFdlbHRzaWNodCBkYXZvbiBhdXMsIGRhc3MgYWxsZXMgZHVhbGlzdGlzY2ggc2VpLCBkYXNzIGVzIGFsc28KZHVua2xlIGdlZ2Vuc3R1ZWNrZSBnZWJlbiBtdWVzc2UuIERhaGVyIHN0YW1tdCBkZXIgZWluZSBUZWlsIGRlciBkdW5rbGVuClNlaXRlLCB3b2JlaSBEdW5rZWxlbGJlbiB0YXRzYWVjaGxpY2ggZWluc3QgZGllIFp3ZXJnZSB3YXJlbiwgZGggZGllamVuaWdlbiwKd2VsY2hlIGltIER1bmtsZW4gKGFsc28gVW50ZXJpcmRpc2NoKSBsZWJlbi4KICAgSWhyZSBuZWdhdGl2ZW4gU2VpdGVuIHVuZCBkYWVtb25pc2NoZW4gWnVlZ2UgKHdvIGtvbW1lbiBkaWUgc3BpdHplbiBPaHJlbgpoZXI/KSBoYWJlbiBzaWUgYXVzIGRlbSB0cmFkaXRpb25lbGxlbiBNaXNzdHJhdWVuIGRlciBLaXJjaGUgZ2VnZW51ZWJlciBhbGxlbQpoZWlkbmlzY2hlbiwgd29ydW50ZXIgZWJlbiBhdWNoIGRpZXNlIFdlc2VuIGRlciBGb2xrbG9yZS10cmFkaXRpb24gZmllbGVuLgood2llIHdhciBub2NoIG1hbCBkYXMgZHQgV29ydCBmdWVyIGZvbGtsb3JlPykgLSBEYSB3dXJkZW4gZGllIEVsZmVuICh1bmQKS29ib2xkZSkgZGFlbW9uaXNpZXJ0LCBzbyB3aWUgZGVyIEJvY2tzYmVpbmlnZSBQYW4gdmVydGV1ZmVsdCB3dXJkZS4KICAgRnVlciB3ZWl0ZXJmdWVocmVuZGVzIHVuZCBtZWhyIExpdGVyYXR1cmhpbndlaXNlIHZlcndlaXNlIGljaCBhdWYKQXJyb3dzbWl0aCwgR2ViZXJ0IHVuZCBkaWUgQXJiZWl0IHZvbiBXb2xmZ2FuZyBHLiBXZXR0YWNoOiAiRmVlbi0gdW5kCkVsZmVud2VzZW4uIEVpbmUgRWluZnVlaHJ1bmciIChUdWViaW5nZW4gMTk4OCksIGluIGRlbmVuIGF1Y2ggWndlcmdlbiBkaWUKaWhuZW4genVrb21tZW5kZSBSYW5kcm9sbGUgenVnZXdpZXNlbiB3aXJkLCBzaWUgd2VyZGVuIHp1bWluZGVzdCBlcndhZWhudC4uLiAKOi0pKQoKVmllbGxlaWNodCBpbnRlcmVzc2llcnRzIGphIGplbWFuZC4uLiAgOi0pKSAgV2VubiBuaWNodDogQmVzY2h3ZXJkZW4gYW4KR3d5bndhaXRlciAobmljaHQgR3d5bmRvbiksIGRlciBzdGVodCBlaCBudXIgZHVtbSBpbiBkZXIgR2VnZW5kLiA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VnZW1ha3JvcyAoTW9yZ290aCwgIDYuIEp1bCAxOTk1LCAwNzo1NDoyNik6CiMhIHJuPVlhbnRybyBydD04MDQ4NTIxMDAKSGksCmphIGljaCBoYWIgbWVpbmVuIGJlenVnc3B1bmt0IFZPUiBkaWUgZ2lsZGUgZ2VzZXR6dCwgd2VpbCBtaWNoIExvY3V0dXMgZHJ1bQpHRUJFVEVOIGhhdC4KVGphIFlhbnRybywgdmllbGxlaWNodCBkZW1uYWVjaHN0IG1hbCBldHdhcyBmcmV1bmRsaWNoZXIgZnJhZ2VuLi4uLgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXVlIHJhZXVtZSBmdWVyIGRpZSBhcmVuYSAoQWRhbWEsICA2LiBKdWwgMTk5NSwgMDg6MzQ6MDMpOgpoaSwKYWxzbyBpY2ggaGFsdCBnYXIgbml4IGRhdm9uLCBkaWUgYXJlbmEgZnVlciB1bnMga2FyYXRla2EgenUgdmVyYWVuZGVybiEKc2NobGllc3NsaWNoIGxlcm50IG1hbiBrYXJhdGUgYmVrYW5udGVybWFzc2VuIGFtIGJlc3RlbiBpbiBmcmlzY2hlciBiZXJnLQpsdWZ0LCBhbiBlaW5lbSBhYmdlc2NoaWVkZW5lbiBvcnQsIHdvIG1hbiBpbiBzaWNoIGdlaGVuIHVuZCBzaWNoIGtvbi0KemVudHJpZXJlbiBrYW5uLgpkaWVzZSBzY2h3dWVsLWhlaXNzZSBhdG1vc3BoYWVyZSBpbiBkZXIgYXJlbmEsIHNvIHp3aXNjaGVuIHN1bXBmIHVuZAp3dWVzdGUgZnVlaHJ0IGRvY2ggbnVyIHp1IG11ZWNrZW5zdGljaGVuIHVuZCB1ZWJlcm1hZXNzaWdlciB0cmFuc3BpcmF0aW9uLgp3aWUgc29sbCBtYW4gZGVubiBkYSBlaW5lbiB2b3J3YWVydHMgZWluZ2VzcHJ1bmdlbmVuIGd5YWt1LW1hd2FzaGktKi1nZXJpCm1pdCBydWVja3dhZXJ0cywgc2VpdHdhZXJ0cyBsYW5kdW5nIHNpY2hlciB6dW0gc3RhbmQgYnJpbmdlbiA/IQphbHNvIGxhbmdlciByZWRlIGt1cnplciBzaW5uOiBtZWluZSBiaXR0ZSBhbiByb2NodXMgdW5kIGFsbGUgZGllIHNpY2gKc29uc3R3aWUKYmVydWZlbiBmdWVobGVuOiBiYXV0IHVucyBkb2NoIGVpbmVuIHVlYnVuZ3NyYXVtICgtd2llc2U/KSwgd28gd2lyIHVucyBpbgpmcmlzY2hlciBsdWZ0IHVuZCBhbmdlbmVobWVtIGFtYmllbnRlIGdlbXVldGxpY2ggZ2VnZW5zZWl0aWcgZGllIGZlcnNlIGlucwpnZXNpY2h0IHRyZXRlbiBrb2VubmVuLgpoYWNoLCBkYXMgd2FlciBkb2NoIG5ldHQgKnRyYWV1bSoKCmFkYW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmV1ZSByYWV1bWUgZnVlciBkaWUgYXJlbmEgKEJvbmdvLCAgNi4gSnVsIDE5OTUsIDA5OjEyOjM1KToKIyEgcm49QWRhbWEgcnQ9ODA1MDEyNDQzCk5hLCBpY2ggd2Vpc3MgbmljaHQuLi4KU28gd2llIGVzIGluIGRpZXNlbiBLYXJ0ZS0gdW5kIEt1bmctRnUtRmlsbWVuIGltbWVyIGF1c3NpZWh0IGdpYnQgZXMgaW4KQ2hpbmEgdW5kIEphcGFuIGF1Y2ggZWluZSBtZW5nZSBXdWVzdGUgYnp3LiBTdGVwcGUgKGlzdCBlaCBhbGxlcyBkYXNnbGVpY2hlLApnZWxsIERhbmNlcj8gOi0pICkuIFVuZCBzY2h3dWVsIHVuZCB3YXJtIGlzdCBlcyBkYSBhdWNoLi4uIEFiZXIuLi4gRGllc2UKYmVpZGVuIExhZW5kZXIsIGhhYmVuIGRpZSBiZXN0ZW4gS2FtcGZzcG9ydGFydGVuIGF1ZiBkaWUgQmVpbmUgZ2VzdGVsbHQuCkFsc28gbmljaHRzIG1pdCBmcmlzY2hlciBCZXJnbHVmdC4gRG9ydGhpbiB2ZXJ6aWVoZW4gc2ljaCBkb2NoIG51ciBkaWUKYWx0ZW4gS25hY2tlciwgZGllIHNpY2ggZGFubiBXZWlzZSBuZW5uZW4gdW5kIGp1bmdlIEtlcmxlIGRhenUgYW5zdGlmdGVuLAplaW5lbiBnZWZhZWhybGljaGVuIFdlZyB6dSBnZWhlbiwgbnVyIHVtIGlobmVuIGlyZ2VuZGVpbmUgZHVtbWUgRnJhZ2UgenUKc3RlbGxlbi4uLiA6KSkgSWNoIGhhbHRlIGRhaGVyIGRpZSBBcmVuYSBmdWVyIGVpbmVuIGR1cmNoYXVzIGdlZWlnbmV0ZW4KUGxhdHouCgpVbmQgenUgZGVuIE11ZWNrZW4uLi4gRGllIGdpYnQgZXMgaW4gQ2hpbmEgenUgaGF1Zi4gWnVtaW5kZXN0IGluIGRlcgpOYWVoZSBkZXIgUmVpc2ZlbGRlci4gOi0pKQogQm9uZ28KOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdlZ2VtYWtyb3MgKENhdHdlYXpsZSwgIDYuIEp1bCAxOTk1LCAxMDozMzowOSk6CiMhIHJuPVlhbnRybyBydD04MDQ4NTIxMDAKSGkhCkFlaCwgZGEgbXVzcyBpY2ggZWluZSBrbGVpbmUgS29ycmVrdHVyIGFuZnVlZ2VuLgpXZW5uIGlociBFdWNoIGRlbiBBcnRpa2VsIGluIHBvbHplaS5iZWthbm50bWFjaHVuZ2VuIG5vY2ggbWFsIGdhbnogR0VOQVUKYW5zZWh0LCBkYW5uIHNlaHQgSWhyLCBkYXMgZGEgc3RlaHQsIGRhcyBXZWdlc2NyaXB0cyBudXIgR0VEVUxERVQgc2luZCwKbmljaHQgRVJMQVVCVCEKRGFzIGhlaXNzdCBpbSBLbGFydGV4dCwgZGFzIGljaCBuaWNodCBhbmZhbmdlbiB3ZXJkZSwgV2VnZXNjcmlwdGxlciBhdXMtCnp1bG9nZ2VuLCBhbGxlcmRpbmdzIHNvYmFsZCBkaWVzZSBMZXV0ZSBhbmZhbmdlbiB6dSBuZXJ2ZW4sIHpiIGluZGVtIHNpZQppbiBlaW5lciBNaW51dGUgMjAgbWFsIHJlaW4tIHVuZCByYXVzcmVubmVuLCBkYW5uIC4uLiA6KQpLbGFybywgb2Rlcj8KWW91cnMgdHJ1bHksCiAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2VnZW1ha3JvcyAoQW5ha2luLCAgNi4gSnVsIDE5OTUsIDEwOjU1OjQ2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTgwNTAxOTU4OQpIbW0sIHdhcyBkYW5uPz8gQXVzbG9nZ2VuPyBOYWphIGVocmxpY2ggZ2VzYWd0IGRhcyBicmluZ3QgamEKYmVpIFdlZ1NjcmlwdGxlcm4gbmljaHRzLiBEaWUgc2l0emVuIGphIGFtIFJlY2huZXIgdW5kIHNpbmQgZ2xlaWNoCndpZWRlciBkcmluLgoKQW5ha2luIChXZWdTa3JpcHRsZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZWZmZW50bGljaGUgRW50c2NodWxkaWd1bmcgKEZyYWdnbGUsICA2LiBKdWwgMTk5NSwgMTE6MDA6MjMpOgpGYWxscyBqZW1hbmQgZC5lYmVuZSBuaWNodCBsaWVzdDogV2ljaHRpZyEKCkhpIFp1c2FtbWVuIQoKUHVua3RvIFNhbSBIYXJrd2luZHMgTG9nYnVjaCBtdXNzIGljaCBtaWNoIGhpZXIgaW4gYWxsZXIgRm9ybSBlbnRzY2h1bGRpZ2VuIQpFcyBnYWIgZWluZW4gc2Nod2VyZW4gRmVobGVyLCBkZXIgZWluZW4gZGVyIExvZXN1bmdzd2VnZSBiZXRyYWY6CkluIGVpbmVtIFJhdW0gZmVobHRlIGVpbiBXSUNIVElHRVMgRGV0YWlsLCBvaG5lIGRhcyBtYW4gZWluZW4gYmVzdGltbXRlbgpOYW1lbiBuaWNodCBlcmZhaHJlbiBrb25udGUuIExlaWRlciBoYWIgaWNoIGRhcyBqZXR6dCBlcnN0IGZlc3RnZXN0ZWxsdCwKYWJlciBrb21pc2NoZXJ3ZWlzZSBoYWJlbiBlaW5pZ2UgTGV1dGUgKGRpZSBkYXMgYmV0cmFmKSBkaWUgUXVlc3QgdHJvdHpkZW0KZ2Vsb2VzdCwgd2FzIGljaCBtaXIgaW0gbmFjaGhpbmVpbiBmYXN0IG5pY2h0IGVya2xhZXJlbiBrYW5uLgooRXMgc2VpIGRlbm4sIGRhIGhhdCBuZW4gTWFnaWVyIG5hY2hnZXNjaGF1dCwgYWxsZXJkaW5ncyBoYWJlIGljaCBrZWluZQpCdWctTWVsZHVuZyBnZWZ1bmRlbikgKioKCldpZSBkZW0gYXVjaCBzZWksIHdlciBnbGF1YnQsIGRhc3MgZXMgaWhuIGJldHJhZWZlLCBtb2VnZSBzaWNoIG5vdGZhbGxzIGJlaQptaXIgbWVsZGVuIG9kZXIgYmVzc2VyIChkYSBpY2ggc2VsdGVuIGRhIGJpbiB3Zy4gRGlwbG9tcHJmLi1Wb3JiZXJlaXR1bmcpCkluIGRlbSBSYXVtIG1pdCBkZW0gemVyYnJvY2hlbmVtIEZlbnN0ZXIgbm9jaG1hbCBkaWUgUmF1bWJlc2NocmVpYnVuZwpkdXJjaGxlc2VuLiBEZXIgTmFtZSBzb2xsdGUgZGFubiB6dSBmaW5kZW4gc2Vpbi4KCk5vY2htYWxzLCB0dXQgbWlyIGxlaWQgdW5kIHNvbGwgbmljaHQgd2llZGVyIHZvcmtvbW1lbiEKCiBHcnVzcwoKRnJhZ2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWRlIChPcmt0b2V0ZXIsICA2LiBKdWwgMTk5NSwgMTE6MDU6MjUpOgpad2FyIGVpbiB3ZW5pZyBzcGFldCwgYWJlciBkb2NoIG5vY2ggKGljaCBtdXNzdGUgZXJzdCBkZW4gU2NocmVja2VuCnVlYmVyd2luZGVuKSB3aWxsIGF1Y2ggaWNoIGhpZXIga3VuZCB1bmQgenUgd2lzc2VuIHR1biwgZGFzIGljaCBkYXMKQXVzc2NoZWlkZW4gdm9uIFN0YWhsZHJuIHVuZCBDYXN0YXdheSBnYW56IGZ1ZXJjaHRlcmxpY2ggdHJhdXJpZyBmaW5kZS4KRWluIGdhbnogZ2Vja25pY2t0ZXIgT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZWl0aWVzIChCYW1idWxrbywgIDYuIEp1bCAxOTk1LCAxMzo0NToyNSk6CkljaCBzY2hyZWliZSBqZXR6dCBtYWwgbWVpbmVuIFNlbmYgenVuIFRoZW1hIFp3ZWl0aWVzLiBJY2ggaGFiZSBuaWNodHMKZGFnZWdlbiwgd2VubiBzaWNoIGplbWFuZCBlaW5lbiBad2VpdGllICdoYWVsdCcsIHVtIGlobiBpbiBpcmdlbmR3ZWxjaGVuCk5vdHNpdHVhdGlvbmVuIHp1ciBIaWxmZSB6dSBob2xlbiwgYWJlciB3YXMgaGllciB0ZWlsd2Vpc2UgYWJnZWh0IG5lcnZ0CnRpZXJpc2NoLiBXZW5uIHouQi4gc3R1bmRlbmxhbmcgWndlaXRpZXMgYmVpbSBHb2JsaW5oZXhlciBpZGxlbiwgbnVyIHVtIGF1Y2gKamEgaW1tZXIgZGllIEZsYW1tZW5rdWdlbG4genUgYmVrb21tZW4sIGlzdCBkYXMgZWluZmFjaCB1bnZlcnNjaGFlbXQuCldhcyBhdWNoIG5lcnZ0LCBpc3QgZGFzcyBkaWUgQXJlbmEgc3RhZW5kaWcgdm9uIEthcmF0ZS1ad2VpdGllcyBiZWxlZ3QgaXN0LApkaWUgaGllciBnZWdlbmVpbmFuZGVyIEthZW1wZmVuLiBWb24gbWlyIGF1cyBrYW5uIGphIGplbWFuZCBnZWdlbiBzZWluZW4KZWlnZW5lbiBad2VpdGllIGthZW1wZmVuLCB3ZW5uIHNvbnN0IG5pZW1hbmQgaW4gZGllIEFyZW5hIG1vZWNodGUsIGFiZXIgd2VubgpkYW5uIGhpZXIgendlaSBad2VpdGllcyBnZWdlbmVpbmFuZGVyIEthZW1wZmVuIHVuZCBtYW4gYWxzIFNwaWVsZXIgaW4gZGVyCkFyZW5hIGdlZ2VuIGVpbmVuIGFuZGVyZW4gU3BpZWxlciBrYWVtcGZlbiBtb2VjaHRlLCBpc3QgZGFzIGVpbmZhY2ggbnVyCnNjaGVpc3NlLgpBbHNvIHdpciBoYWJlbiBoaWVyIGVpbiBNVUQgKE11bHRpLVVzZXItRGltZW5zaW9uKSB1bmQga2VpbiBTVUQKKFNpbmdsZS1Vc2VyLURpbWVuc2lvbikuIFdlbm4gamVtYW5kIGxpZWJlciBtaXQgc2ljaCBzZWxic3Qgc3BpZWx0LCBzb2xsIGVyCnNpY2ggZGFzIE1HIGF1ZiBzZWluZW4gZWlnZW5lbiBSZWNobmVyIGtvcGllcmVuLCB1bmQga2VpbmUgJ25vcm1hbGVuJyBTcGllbGVyCmJlaW0gc3BpZWxlbiBzdG9lcmVuLgoKU28gamV0enQga2FubiBpY2ggZGFzIFdvcnQgJ1p3ZWknIGVyc3RtYWwgbmljaHQgbWVociBob2VyZW4uLi4uLgoKQmFtYnVsa28gZGFzIFdhc3Nlcndlc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlaXRpZXMgKEJvaW5nLCAgNi4gSnVsIDE5OTUsIDEzOjU1OjM4KToKIyEgcm49QmFtYnVsa28gcnQ9ODA1MDMxMTI1CldhcyBoYWx0ZXQgaWhyIGRhdm9uLCB3ZW5uIG51ciBub2NoIGVpbiBDaGFyYWt0ZXIgZ2xlaWNoemVpdGlnIGVpbmdlbG9nZ3QKc2VpbiBkYXJmPyBTbyB3aWUgZGFzIG1vbWVudGFuIGxhZXVmdCwgd2VyZGUgaWNoIGRhIGJhbGQgbm9jaCBtZWhyIGRhZnVlcgpzZWluLAphbHMgaWNoIGVzIGVoIHNjaG9uIGJpbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpdGllcyAoQmFtYnVsa28sICA2LiBKdWwgMTk5NSwgMTM6NTg6MTcpOgojISBybj1Cb2luZyBydD04MDUwMzE3MzgKTmFqYSBkYXMga2FubiBtYW4gamEgZWggbmljaHQga29udHJvbGxpZXJlbiwgaWNoIHdvbGx0ZSBob2ZmZSwgZGFzIGRpZQpTcGllbGVyIGRhcyBzZWxiZXIgZWluc2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZWl0aWVzIChBc21vZGlzLCAgNi4gSnVsIDE5OTUsIDE0OjAxOjQyKToKIyEgcm49Qm9pbmcgcnQ9ODA1MDMxNzM4CldhcyBoZWlzc3QgJ251ciBub2NoIGVpbiBDaGFyYWt0ZXIgZ2xlaWNoemVpdGlnJyA/PyBFdHdhcyB1bmdsdWVja2xpY2gKYXVzZ2VkcnVlY2t0LCBkZW5uIGVpbiBDaGFyYWt0ZXIgaXN0IGltbWVyIG51ciBlaW5tYWwgZWluZ2Vsb2dndC4KQWJlciwgd2llIHdhZXJlIGVzLCB3ZW5uIG51ciBlaW4gWndlaXRpZSBlaW5lcyBFcnN0aWVzIGVpbmdlbG9nZ3Qgd2VyZGVuCmRhcmY/ClNvIHdpcmQgZGFzIGltIE1VTFRJLU1VRCBnZWhhbmRoYWJ0IHVuZCBlcyBzY2hlaW50IGdhbnogZ3V0IHp1IGtsYXBwZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBad2VpdGllcyAoQW5ha2luLCAgNi4gSnVsIDE5OTUsIDE0OjE3OjEyKToKIyEgcm49QXNtb2RpcyBydD04MDUwMzIxMDIKSG1tIHVuZCB3aWUgc29sbHRlIGRhcyBrb250cm9sbGllcnQgd2VyZGVuID8gR2VodCBkYXMgPwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZWl0aWVzIChaZXBoeXIsICA2LiBKdWwgMTk5NSwgMTQ6MjA6MDQpOgojISBybj1CYW1idWxrbyBydD04MDUwMzExMjUKU28sIGRhIG11c3MgaWNoIGpldHp0IGFiZXIgbWFsIG1laW5lbiBLb21tZW50YXIgenUgYWJnZWJlbi4KTGVpZGVyIGhhdCBtZWluIFp3ZWl0aWUga2VpbmUgTVBBLCBzb25zdCB3dWVyZCBzaWVzIHNlbGJlcgptYWNoZW4uCgpIYXN0IER1IHZpZWxsZWljaHQgc2Nob24gbWFsIHZlcnN1Y2h0LCB6d2VpIGluIGRlciBBcmVuYQprYWVtcGZlbmRlIFp3ZWl0aWVzIF9mcmV1bmRsaWNoXyB6dSBmcmFnZW4sIG9iIHNpZSBuaWNodApQbGF0eiBtYWNoZW4gdW5kIEV1Y2ggcmVpbmxhc3NlbiBrb2VubmVuPyBNYWwgYWJnZXNlaGVuCmRhdm9uLCBkYXNzIGF1Y2ggWndlaXRpZXMgZHVyY2hhdXMgbmUgRGFzZWluc2JyZWNodGlndW5nCmhhYmVuLCBmaW5kZSBpY2ggZWluICJIRUVFRUVFISBOSUNIVCBWT1JEUkFFTkdFTE4hISIKKHVuZCBkYXMgb2JlbmRyZWluIG5vY2gsIG5hY2hkZW0gZGllIGJldHJlZmZlbmRlbiBiZWlkZW4KWndlaXRpZXMgbWluZGVzdGVucyBmdWVuZiBNaW51dGVuIGluIERlaW5lciBHZWdlbndhcnQKZGFydWViZXIgZGlza3V0aWVydCBoYWJlbiwgZGFzcyBzaWUgaW4gZGllIEFyZW5hIHdvbGxlbikKbmljaHQgZ2VyYWRlIGVpbmxhZGVuZCBkYXp1LCBkaWUgQXJlbmEgenUgdmVybGFzc2VuLi4uClVuZCBtZWluIFp3ZWl0aWUgaGF0IG51biBhdWNoIG5pY2h0IHVuYmVkaW5ndCBncm9zc2UgTHVzdCwKdm9yIGVpbmVtIER1ZWxsIGplZGVuIGVpbnplbG5lbiBhbndlc2VuZGVuIEthcmF0ZWthLUVyc3RpZQp6dSBmcmFnZW4sIG9iIGVyIHZpZWxsZWljaHQgbGllYmVyIHp1ZXJzdCB1bmQgdWViZXJoYXVwdC4KCkFiZXIgdmllbGxlaWNodCBmYWVsbHQgamEgaXJnZW5kZWluZW0gbm9jaCBlaW4ga29uc3RydWt0aXZlcgpWb3JzY2hsYWcgZWluLCBkZXIgZGllc2UgVW5zdGltbWlna2VpdGVuIGF1cyBkZXIgV2VsdCBzY2hhZmZ0LgoKWmVwaHlyIC0gaGFlbHQgaGV1dGUgbWFsIHp1IGlocmVyIFp3ZWl0aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmV1ZSByYWV1bWUgZnVlciBkaWUgYXJlbmEgKFllbmRpLCAgNi4gSnVsIDE5OTUsIDE0OjI2OjAxKToKIyEgcm49Qm9uZ28gcnQ9ODA1MDE0NzU1CgoiRG9ydGhpbiB2ZXJ6aWVoZW4gc2ljaCBkb2NoIG51ciBkaWUgYWx0ZW4gS25hY2tlciwgZGllIHNpY2ggZGFubiBXZWlzZQpuZW5uZW4gdW5kIGp1bmdlIEtlcmxlIGRhenUgYW5zdGlmdGVuLCBlaW5lbiBnZWZhZWhybGljaGVuIFdlZyB6dSBnZWhlbiwgbnVyCnVtIGlobmVuIGlyZ2VuZGVpbmUgZHVtbWUgRnJhZ2UgenUgc3RlbGxlbi4uLiIKCkJpdHRlPyBJY2ggaGFiZSBfbmllXyAianVuZ2UgS2VybGUiIGRhenUgYW5nZXN0aWZ0ZXQsICJlaW5lbiBnZWZhZWhybGljaGVuCldlZyB6dSBnZWhlbiwgbnVyIHVtIGlobmVuIGlyZ2VuZGVpbmUgZHVtbWUgRnJhZ2UgenUgc3RlbGxlbiIhCkVyc3RlbnMgYmluIGljaCBzZWxiZXIgZWluIGp1bmdlciBLZXJsIC0tIG5hamEsIGZ1ZXIgZWluZW4gRHJhZ2FlcmVyIC0tCnVuZCB6d2VpdGVucyBzdGVsbGUgaWNoIG1laW5lIGR1bW1lbiBGcmFnZW4gbWVpc3Qgc28gImFsdGVuIEtuYWNrZXJuIiB3aWUKUm9jaHVzLCBKb2YsIFZyYWkgZXRjLgoKUGVuZyEgSmV0enQgaGFiIGljaHMgRGlyIGFiZXIgZ2VnZWJlbiEKCgogICAgICAgICAgICAgICBZb3VycyB0cnVseQoKICAgICAgICAgICAgICAgICAgICAgICBZZW5kaSBkZXIgV2Vpc2UgKGV3aWcgU3R1ZmUgMTgpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZWl0aWVzIChBbmNhbGFnb24sICA2LiBKdWwgMTk5NSwgMTQ6NDg6NTcpOgojISBybj1CYW1idWxrbyBydD04MDUwMzExMjUKTW9pbiBlcnN0bWFsIQpHYW56IG1laW5lIE1laW51bmchIG5JY2ggdmVyc3RlaCcgc293aWVzbyBuaWNodCwgd2FydW0gbWFuIHVuYmVkaW5ndCB6d2VpdGllcwpicmF1Y2h0LiBVbmQgd2VubiBkaWUgTGV1dGUgc2Nob24gendlaXRpZXMgd29sbGVuLCBkYW5uIGRvY2ggYml0dGUgc28sIGRhc3MKa2VpbmUgZXJzdGllcyBnZXN0b2VydCB3ZXJkZW4uLi4uLlVuZCBkYW5uIGdpYnRzIGF1Y2ggbm9jaCBkaWUgTGV1dGUgZGllIDcsIDkKb2RlciAxMiBFcnN0aWVzIGhhYmVuIChuZWluLCBpY2ggc2NoYXUgamV0enQga2VpbmVuIGFuLiBFcnN0IHJlY2h0IGtlaW5lbgpCaWVsZWZlbGRlciA6KS4gV28ga3JpZWdlbiBkaWUgZWlnZW50bGljaCBpaHJlbiBTcGllbHNwYXNzIGhlci4uLi4/IEFiZXIKYml0dGUsIHNvbGFuZ3Mga2VpbmVuIHN0b2VydC4uLgpNaWNoIHd1ZXJkZSBzb3dpZXNvIG1hbCBpbnRlcmVzc2llcmVuIHdpZXZpZWxlIE1HLUNoYXJha3RlcmUgdm9uIHdpZXZpZWwKUmwtUGVyc29uZW4gZ2VzcGllbHQgd2VyZGVuLiBHaWJ0cyBkYSBTdGF0aXN0aWtlbiBkcnVlYmVyPwpTdG9seiBhdWYgc2VpbmUgRWluemlnYXJ0aWdrZWl0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmNhbGFnb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcmFjbyBrbnVkZGVsbGVuc2lzIG1ham9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZWl0aWVzIChBbmNhbGFnb24sICA2LiBKdWwgMTk5NSwgMTQ6NDk6NTIpOgojISBybj1Cb2luZyBydD04MDUwMzE3MzgKdGFjaCEKSmF1LCBCb2luZywgTWVpbmUgU3RpbW1lIGhhc3RlISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVnbGVtZW50aWVydW5nL1p3ZWl0aWVzL0xhZy8uLi4gKEFkYW1hLCAgNi4gSnVsIDE5OTUsIDE1OjUzOjE1KToKaGksCmRhIHdpciB1bnMgbml2ZWF1LW1hZXNzaWcgYW5zY2hlaW5lbmQgaW4gdm9sbGVyIGZhaHJ0IGlucyBzb21tZXJsb2NoCnN0dWVyemVuLCBub2NoIGVpbiAna29uc3RydWt0aXZlcicgdm9yc2NobGFnIHZvbiBtaXIsIGRlciBtZWhyZXJlCnByb2JsZW1lIGF1ZiBlaW5tYWwgbG9lc3Q6CndhcyB3aXIgYnJhdWNoZW4sIHNpbmQga2xhciBkZWZpbmllcnRlIHplaXRmZW5zdGVyIGZ1ZXIgZGllIHZlcnNjaGllZGVuZW4Kc3BpZWxlci1rbGFzc2VuLiBzbyA4LjAwIC0gMTEuMDAgbm9ybWFsZSBzcGllbGVyLCAxMS4wMCAtIDE0LjAwIHNlaGVyIGJpcwpsZXZlbCAyMwoxNC4wMCAtIDE5LjAwIHNlaGVyIGFiIDI0LCBkYW5hY2ggYmlzIDMuMDAgd2llZGVyIG5vcm1hbGUgc3BpZWxlci4gYWNoc286Cnp3ZWl0aWVzCnZvbiAzLjAwIC0gOC4wMC4gIGRpZSBtYWdpZXIgc29sbHRlbiBhYnN0aW1tZW4gdW5kIHdlbm5zIGVpbiBwYWFyIGdpYnQsIGRpZQpsaWViZXIKZ2FyIGtlaW5lIHNwaWVsZXIgaGFldHRlbiAtIG5hLCBkYXMgaXN0IGRvY2ggYXVjaCB6dSBtYWNoZW4uIGFtIFdFIHp1bQpiZWlzcGllbC4Kd2FzIG1hbiBkYXZvbiBoYWV0dGU/IGtsYXI6IHdlbmlnZXIgbGFnLCB3ZW5pZ2VyIHNwaWVsZXIsIG1laHIgbW9uc3RlciB6dW0Ka2lsbGVuLAp3ZW5pZ2VyIGFlcmdlciwgLi4uICAgYWxzbyBpbSBtb21lbnQgZmFlbGx0IG1pciBnYXIga2VpbiBuYWNodGVpbCBlaW4uCgphZGFtYQoKcHM6IGljaCB3YXJ0ZSBhdWYgZGVuIGVyc3RlbiBkZXIgZGFzIGd1dCBmaW5kZXQuIGRhdWVydCBiZXN0aW1tdCBuaWNodCBsYW5nLApzbwogICAgc28gd2llIGRpZSBzdGltbXVuZyBpbSBtb21lbnQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlaXRpZXMgKEJvaW5nLCAgNi4gSnVsIDE5OTUsIDE3OjI3OjI3KToKIyEgcm49QXNtb2RpcyBydD04MDUwMzIxMDIKSWNoIG1laW50ZSBlaW4gQ2hhcmFrdGVyIHBybyBSTC1TcGllbGVyLCBpY2ggZGVua2UgbWFuIGthbm4gZGFzIHNjaG9uCnZlcnN0ZWhlbiwgd2VubiBtYW4gd2lsbC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpdGllcyAoUnluZSwgIDYuIEp1bCAxOTk1LCAxNzo0ODo0NCk6CiMhIHJuPVplcGh5ciBydD04MDUwMzMyMDQKSGkhCgphbHNvLCBkaWUgZ2FuemUgRGlza3Vzc2lvbiB1ZWJlciBkaWUgc3RhZW5kaWcgYmVsZWd0ZSBBcmVuYSBsYWVzc3Qgc2ljaCBkb2NoCnJlY2h0IGVpbmZhY2ggbG9lc2VuIC0gaW5kZW0gbWFuIGRlbiBkb3J0IHZvcmhhbmRlbmVuIGJ1ZyBiZXNlaXRpZ3QgLSBhbHMKc29sY2hlbiBzZWhlIGljaCBlcyB6dW1pbmRlc3QgYW4sIGRhc3MgZG9ydCBlaW4gU3BpZWxlciB3YWVocmVuZCBlaW5lcyBEdWVsbHMKcmF1c3Jlbm5lbiBrYW5uLCB3b2Z1ZXIgZXIgdm9tIFN0YWRpb25zcHJlY2hlciBhdWNoIGFscyBNZWdhZmVpZ2xpbmcgYmV6ZWljaC0KbmV0IHdpcmQsIHVuZCBkYXMgRHVlbGwgYmVlbmRldCBpc3Q7IHdlbm4gbWFuIHdpZWRlciByZWlucmVubnQsIGthbm4gbWFuIGRlbgphbmRlcmVuLCBkb3J0IHdhcnRlbmRlbiBTcGllbGVyIGplZG9jaCB3aWVkZXIgYW5ncmVpZmVuLi4uIGRpZXNlIE1vZWdsaWNoa2VpdApzdGVodCBpbSBrcmFzc2VuIEdlZ2Vuc2F0eiB6dSBkZXIgQmVzY2hyYWVua3VuZywgZGllIGluIGRlciBBbm1lbGR1bmcgZGVyCkFyZW5hIGV4aXN0aWVydDogRG9ydCB3aXJkIHNjaGxpZXNzbGljaCBudXIgZWluIER1ZWxsIHBybyByZWJvb3QgenVnZWxhc3NlbiAtCmRhaGVyIGlzdCBtaXIgdW52ZXJzdGFlbmRsaWNoLCB3YXJ1bSBtYW4gc2ljaCwgd2VubiBlcnN0bWFsIGFuZ2VtZWxkZXQsCnN0dW5kZW5sYW5nIGluIGRlciBBcmVuYSBrbG9wcGVuIGthbm4uClp1IE1vcmdvdGhzIFd1bnNjaCwgZW5kbGljaCBtYWwgZGllIFF1ZXN0IG1hY2hlbiB6dSBrb2VubmVuLCB3YXMgZHVyY2gKdWViZW5kZSBLYXJhdGVrYSBsZWlkZXIgbmljaHQgbW9lZ2xpY2ggc2VpOiBUZWlsIGRlbiBMZXV0ZW4gZWluZmFjaCBtaXQsIGRhc3MKRHUgZGllIFF1ZXN0IGxvZXNlbiBtb2VjaHRlc3QgLSB3ZXIgc2ljaCBkYW5uIG5pY2h0IHZlcmRydWVja3QsIGlzdCBzY2hsaWNodAplaW4gUmllc2VuLSBBLi4uLiwgZGVubiBRdWVzdGVyIG11ZXNzZW4gaGllciBpbW1lciBkZW4gVm9ycmFuZyBoYWJlbiB2b3IKTGV1dGVuLCBkaWUgd2FzLWF1Y2gtaW1tZXIgYW5kZXJlcyBtYWNoZW4uIElzdCB6dW1pbmRlc3QgbWVpbmUgTWVpbnVuZy4KClp1IGRlciBhbmRlcmVuIFNhY2hlIGplZG9jaDogZGllIHp1c3RhZW5kaWdlbiBNYWdpZXIgc29sbHRlbiBzaWNoIG1hbCB1ZWJlci0KbGVnZW4sIHdpZSBlcyBtaXQgZGVyIEFyZW5hIG51biBnZWhhbHRlbiB3ZXJkZW4gc29sbDsgZW50d2VkZXIgRUlOIEthbXBmIHBybwpyZWJvb3QsIGRhbm4gYWJlciBhdWNoIG51ciBzb2xhbmdlLCBiaXMgZWluZXIgZmxpZWh0LCB1bmQgU2NobHVzcyBpc3QsIG9kZXIKdW5iZWdyZW56dDsgYWxsZXJkaW5ncyB3dWVyZGUgbGV0enRlcmVzIHp1IGVyaGVibGljaGVuIFByb2JsZW1lbiBmdWVocmVuLCBkYQpkaWUgS2FyYXRla2EgZGFubiBzdGFlbmRpZyBkaWUgQXJlbmEgYmVsYWdlcm4gd3VlcmRlbiwgc29sYW5nZSBtYW4gZG9ydCBub2NoCmd1dCB1ZWJlbiBrYW5uLgoKUnluZSAtIG11c3N0ZSBhdWNoIG1hbCBzZWluZSAzIExpcmUgZGF6dWdlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZWdlbWFrcm9zIChKYWYsICA2LiBKdWwgMTk5NSwgMjM6MjY6NTQpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODA1MDE5NTg5CgpvLW9oLi4uLiBKb2YgYmV3YWhyZS4uLi4gaXJnZW5kd2llIGlzdCBtaXIgaXJnZW5kd28gaW0gTWl0dGVsb2hyCmhhZW5nZW5nZWJsaWViZW4sIGRhc3MgZGVyIENoZWYgZ2VzY2hyaWViZW4gaGF0LCBkYXNzIFdlZ2VzY3JpcHRzCkVSTEFVQlQgd2FlcmVuLi4uIHNvIGthbm4gbWFuIHNpY2ggYWxzbyB0YWV1c2NoZW4uLi4KCkphZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndlaXRpZXMgKEphZiwgIDYuIEp1bCAxOTk1LCAyMzozMDoyNyk6CiMhIHJuPUJvaW5nIHJ0PTgwNTAzMTczOAoKT2NoLCBCb2luZywgZGFzIHdhZXJlIGFiZXIgc2NoYWRlLi4uIHdpZSBzb2xsIGljaCBkYW5uIEZ5dCBub2NoIGFlcmdlcm4Ka29lbm5lbiwgdWViZXIgTXVkbWFpbCBpcyBkYXMgZG9jaCBsYW5nd2VpbGlnLi4uCgpCZXNjaHJhZW5rJ3MgYXVmIHp3ZWksIG9rPwoKSmFmLiBad2VpdGllIHVuZCBmcm9oIGRydWViZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVnbGVtZW50aWVydW5nL1p3ZWl0aWVzL0xhZy8uLi4gKFNpbHZhbmEsICA3LiBKdWwgMTk5NSwgMDc6NDA6MDYpOgojISBybj1BZGFtYSBydD04MDUwMzg3OTUKSG1tbSAtIGltIFByaW56aXAga2VpbiBzY2hsZWNodGVyIFZvcnNjaGxhZywgQWRhbWEuIDspIE51ciBtdWVzc3RlbiB3aXIgZGFubgpkaWUgUG9zdC1RdWVzdCBhZW5kZXJuLCBzb25zdCBoYXQgbWFuIG5pZSBlaW5lIENoYW5jZSBkaWUgaGluenVrcmllZ2VuLgpVbmQgREFaVSBoYXQgc2ljaGVyIGtlaW4gTWFnaWVyIEx1c3QuIEFsc28gd2lyZCBlcyB3b2hsIGRvY2ggbmljaHQgZGF6dQprb21tZW4uLi4uICpzZXVmeioKCmJlZGF1ZXJuZCAtIFNpbHZhbmEKUFM6IEZhbGxzIGVzIG5vY2ggamVtYW5kIG5pY2h0IGdlbWVya3QgaGF0OiBJUk9OSUUgT0ZGIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWndlaXRpZXMgKFB0ZXBwaWMsICA3LiBKdWwgMTk5NSwgMDk6NDA6MDgpOgpadSBCb2luZ3MgTWVpbnVuZyBmcmFnZSBpY2ggbWljaCBhbGxlcmRpbmdzIHdpZSBlaW5kZXV0aWcgZXJrZW5uZW4ga29lbm5lbgpzb2xsIGRhcyBlaW4gU3BpZWxlciBtYXhpbWFsIGVpbmVuIENoYXJha3RlciB6dXIgZ2xlaWNoZW4gWmVpdCBlaW5nZWxvZ2d0CmhhdC4gQWNjb3VudHMgenUgYmVzb3JnZW4gaXN0IHdvaGwgZWluIHNlaHIgZ2VyaW5nZnVlZ2lnZXMgUHJvYmxlbS4KCkFuc29uc3RlbiBrYW5uIGljaCBzYWdlbiwgZGFzcyBtaWNoIHdhZWhyZW5kIG1laW5lciBwYWFyIFRhZ2UgYWxzIFNwaWVsZXIKWndlaXRpZXMgbmllIHdpcmtsaWNoIGdlc3RvZXJ0IGhhYmVuLApkaWUgbWVpc3RlbiB3YXJlbiBkYW1hbHMgYXVjaCBzbyBuZXR0IHVuZCBoaWVsdGVuIHNpY2ggYW4gZGVuIEdydW5kc2F0ejoKRXJzdGllcyB2b3IgWndlaXRpZXMuCldlbm4gc2ljaCBkYXJhbiB3YXMgZ2VhZW5kZXJ0IGhhdCwgZmluZCBpY2ggZGFzIHRyYXVyaWcsIGFiZXIgaWNoIGdsYXViCmthdW0gZGFzcyBtYW4gZGllIFNpdHVhdGlvbiBkdXJjaCBlaW4gbmV1ZXMgJ0RvZ21hJyBzbyBlaW5mYWNoIGxvZXNlbiB3ZXJkZW4Ka2Fubi4KUHRlcHBpYy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp3ZWl0aWVzIChBc21vZGlzLCAgNy4gSnVsIDE5OTUsIDA5OjQwOjUyKToKIyEgcm49U2lsdmFuYSBydD04MDUwOTUxNTAKQWVoLCBub2NobWFsIHp1IGRlbiBad2VpdGllcywgV2llIHNvbGwgbWFuIGVpZ2VudGxpY2ggZGllIEh5ZHJhIG9kZXIgYWVobmxpY2gKc3RhcmtlIE1vbnN0ZXIgb2huZSBkaWVzZWxiZW4gc2NoYWZmZW4gPyBCZWtvbW1lbiBkaWUgamV0enQgU2Nob256ZWl0ID8KVW5kIHdlbm4gaXJnZW5kamVtYW5kIG1laW50LCBkYXNzIG1hbiBzaWNoIHp1c2FtbWVudHVuIHNvbGwsIGRhbm4KbXVzcyBpY2ggc2FnZW4sIGRhc3MgZGFzIGhldXR6dXRhZ2UgbmljaHQgbWVociBzbyBlaW5mYWNoIGlzdCwgZnJ1ZWhlcgp3YXJlbiBhbGxlIGphIGV0d2FzIGtvbGxlZ2lhbGVyICEhCgogICAgICAgQ2lhbywgQXNtb2RpcyAod3Vlcnp0IG51ciBtaXQgc2NoYXJmZW0gU2VuZikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZWl0aWVzIChaYXJkb3osICA3LiBKdWwgMTk5NSwgMDk6NTE6MDcpOgojISBybj1Bc21vZGlzIHJ0PTgwNTEwMjg1MgpWaWVsbGVpY2h0IGZ1ZWhydCBkYXMgamEgZGF6dSwgZGFzcyBtYW4gd2llZGVyIGtvbGxpZ2lhbGVyIHdpcmQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VpdGllcyAoQm9pbmcsICA3LiBKdWwgMTk5NSwgMDk6NTI6MzEpOgojISBybj1Bc21vZGlzIHJ0PTgwNTEwMjg1MgpEYXMgaXN0IGtlaW4gV3VuZGVyIC4uLiB3ZW5uIG1hbiBuaWNodCBhdWYgYW5kZXJlIGFuZ2V3aWVzZW4gaXN0LCB3ZWlsCm1hbnN0YWVuZGlnIHNlaW5lIEFybWVlIGRhYmVpIGhhdCAuLi4KVW5kIHdlbm4gbWFuIGRpZSBIeWRyYSBhbGxlaW5lIG5pY2h0IHNjaGFmZnQsIGRhbm4gbXVzcyBtYW4gaGFsdCBkaWUKRmluZ2VyIHdlZ2xhc3Nlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFyZW5hIChEdXJpYW4sICA3LiBKdWwgMTk5NSwgMTA6NTI6NTMpOgojISBybj1Nb3Jnb24gcnQ9ODA0ODY4NjY3CkRpZSBJZGVlLCBlaW5lbiBFeHRyYXJhdW0gZnVlciBkaWUgS2FyYXRla2FlbXBmZXIgaW4gZGVyIEFyZW5hIGVpbnp1cmljaHRlbgpiZXN0ZWh0IHNjaG9uIHNlaHIgbGFuZ2UgWmVpdC4gSmVkb2NoIGhhYmUgaWNoIGJpc2xhbmcgTklYIHZvbiBkZW4KenVzdGFlbmRpZ2VuLCByZXNwZWt0aXZlIHZvbSBERU0genVzdGFlbmRpZ2VuIEVyem1hZ2llciBnZWhvZXJ0IHVuZCBkZXNoYWxiCm5vY2ggbmNpaHQgZWluZ2ViYXV0LiBFcyB3YWVyZSB1ZWJlcmhhdXB0IGtlaW5lIGdyb3NzZSBHZXNjaGljaHRlLgoKQWxzbywgUm9jaHVzLCBiZXRyYWNodGUgZGllcyBhbHMgQXVmcnVmLCBlbmRsaWNoIG1hbCBTdGVsbHVuZyB6dSBuZWhtZW4hCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlaXRpZXMgKER1cmlhbiwgIDcuIEp1bCAxOTk1LCAxMDo1OTo0Nik6CiMhIHJuPVJ5bmUgcnQ9ODA1MDQ1NzI0CkhpIQoKWnVyIEFyZW5hOiAgZGllIEFyZW5hIHd1cmRlIHVyc3BydWVuZ2xpY2ggTklDSFQgZ2ViYXV0LCB1bSBkZW4gS2FyYXRla2EKZGFzIFVlYmVuIHp1IGVybW9lZ2xpY2hlbi4gVGF0c2FlY2hsaWNoIG1pc3NicmF1Y2hlbiBkaWUgS2FyYXRla2EgYXVzCk1hbmdlbCBhbiBiZXNzZXJlciBHZWxlZ2VuaGVpdCBkaWUgQXJlbmEgdW0genUgdWViZW4uCgpXZW5uIG1hbiBlaW4gZWNodGVzIER1ZWxsIGF1c2ZlY2h0ZXQsIHNvIGlzdCBlcyBkdXJjaGF1cyBzaW5udm9sbCwgYXVjaAptYWwgcmF1c3p1cmVubmVuIHVtIHp1IHRhbmtlbiwgZ2VnZW4gTW9uc3RlciB0dXQgbWFuIGRpZXMgYXVjaC4gRGFzcyBkaWVzZXMKKGF1c2RydWVja2xpY2ggS0VJTiBCdWcpIEZlYXR1cmUgdm9uIGRlbiBLYXJhdGVrYSBtaXNzYnJhdWNodCB3ZXJkZW4ga2FubiB1bQpzdHVuZGVubGFuZyBkaWUgQXJlbmEgenUgYmVsZWdlbiBpc3QgZnVlciBtaWNoIGtlaW4gR3J1bmQgZGllcyB6dSBhZW5kZXJuCnNvbmRlcm4gbnVyIG5vY2ggZWluIEluZGl6IG1laHIsIGRhc3Mgd2lyIGVuZGxpY2ggZWluZW4gVWVidW5nc3JhdW0gZnVlcgpkaWUgV2FmZmVibmxvc2VuIGJyYXVjaGVuIQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklkZWUgZnVlciBLYXJhdGVrYSAoQm9uZ28sICA3LiBKdWwgMTk5NSwgMTE6MDU6NDMpOgpXbyBkYXMgRHUgZGFzIG1pdCBkZW4gZmVobGVuZGVuIE1vZWdsaWNoa2VpdGVuIGVyd2FlaG5zdCwgRHVyaWFuLi4uCldpZSB3YWVyZSBlcyBkZW5uIG1pdCBlaW5lciBWb2xsLUtvbnRha3QtQXJlbmEsIHdvIHNpY2ggZGllIEthcmF0ZWthCmdlZ2Vuc2VpdGlnZSBLYWVtcGZlIGxpZWZlcm4ga29lbm5lbi4gRW50d2VkZXIgenVtIFVlYmVuIG9kZXIgWnVtIFRvZXRlbi4KRGFzIHBhc3N0IGVoIGJlc3NlciB6dXIgYWxsZ2VtZWluZW4gVW1nZWJ1bmcgZGllc2VyIEdpbGRlLi4uCgpOdXIgbWFsIHNvIGVpbmUgSWRlZSwgQm9uZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp3ZWl0aWVzIChCb2luZywgIDcuIEp1bCAxOTk1LCAxMToxNToyNSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA1MTA1Mzk4CkRhc3MgRFUgbmljaHQgYXVmIFp3ZWl0aWVzIHZlcnppY2h0ZW4ga2FubnN0IHZlcnN0ZWhlIGljaCBzY2hvbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkZWUgZnVlciBLYXJhdGVrYSAoRGFuY2VyLCAgNy4gSnVsIDE5OTUsIDEyOjQzOjAyKToKIyEgcm49Qm9uZ28gcnQ9ODA1MTA3OTQzCldhcnRldCBtYWwgbm9jaCBlaW4gYmlzc2NoZW4gYXVmIGRpZSBTY2hhdHRlbndlbHRhcmVuYSwgZGEga29lbm50IGlocgpzb3dhcyBkYW5uIGF1Y2ggdWViZW4sIHNvbGFuZ2UgSWhyIHdvbGx0LCBhbGxlIGdsZWljaHplaXRpZywgZ2VnZW5laW5hbmRlcgpvZGVyIG1pdGVpbmFuZGVyIG9kZXIgd2Fzd2Vpc3NpY2guCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VpdGllcyAoSm9mLCAgNy4gSnVsIDE5OTUsIDE2OjA4OjQzKToKIyEgcm49QXNtb2RpcyBydD04MDUxMDI4NTIKCiBOZWluLCBuaWNodCBTY2hvbnplaXQuIER1IHNwcmljaHN0IGdyYWQnIGVpbmVzIGRlciBncm9lc3NlcmVuIFp3ZWl0aWUtUHJvLQpibGVtZSBhbi4gTW9uc3RlciB3aWUgZGllIEh5ZHJhIHNpbmQgZWlnZW50bGljaCBkYXp1IGRhLCBkYXMgbWl0ZWluYW5kZXIgenUKZm9lcmRlcm4sIGRpZSBzb2xsZW4gZ2FyIG5pY2h0IHZvbiBFSU5FTSBTcGllbGVyIGVybGVndCB3ZXJkZW4sIHNvbmRlcm4gdm9uCmVpbmVtIFRFQU0uIFdlbm4gaWNoIGVzIEFMTEVJTiBtYWNoZW4gd2lsbCwgYnJhdWNoZSBpY2gga2VpbiBNVUxUSSBVc2Vyc3BpZWwsCmRhenUgcmVpY2h0IGplZGVzIGR1bW1lIFNJTkdMRSBVc2Vyc3BpZWwuIER1cmNoIGRpZXNlIFp3ZWl0aWVzIHdpcmQgdmllbGVzCnZvbSBTaW5uIGVpbmVzIE11ZHMsIG5hZW1saWNoIFp1c2FtbWVud2lya2VuIHZlcnNjaGllZGVuZXIgUGVyc29uZW4sIGthcHV0dC0KZ2VtYWNodC4gU2NobGltbWVyIG5vY2ggd2lyZHMsIHdlbm4gZWluIEhhdWZlbiBad2VpdGllcyBlaW5lIE11bHRpc3BpZWxlci0KUXVlc3QgbG9lc2VuLCBkYW1pdCBpc3QgZGllc2VyIHZvZWxsaWcgZGVyIFNpbm4gZ2Vub21tZW4gOigKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZWl0aWVzIChBc21vZGlzLCAgNy4gSnVsIDE5OTUsIDE3OjMwOjUzKToKIyEgcm49Sm9mIHJ0PTgwNTEyNjEyMwpEaWUgSHlkcmEgaXN0IGRhIGVpbiBQcm9ibGVtLCBtYW4ga2FubiBtZWhyZXJlIFNwaWVsZXIgbmllIHNvCmtvb3JkaW5pZXJlbiwgd2VubiBtYW4gc2llIHp1c2FtbWVuIGdlZ2VuIHNpZSBzY2hpY2tlbiB3aWxsLCBkYXNzCm5pY2h0IHdlbmlnc3RlbnMgZGVyIEVyc3RlLCBkZXIgcmVpbmdlaHQsIHVtZ2VicmFjaHQgd2lyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWndlaXRpZXMgKFphcmRveiwgIDcuIEp1bCAxOTk1LCAxNzozNzo1NSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA1MTMxMDgyCkRpZSBIeWRyYSBsYWVzc3Qgc2ljaCByZWd1bGFlciBtaXQgZ2VudWcgU2VoZXJuIHRvZXRlbiwgZGFzIHd1cmRlIHNjaG9uCmF1c3Byb2JpZXJ0LCBiZXZvciBzaWUgYW5nZXNjaGxvc3NlbiB3dXJkZS4gRXMgaXN0IG51ciBlaW5lIEZyYWdlLCBvYiBtYW4KZ2VudWcgU3BpZWxlciB6dXNhbW1lbmJla29tbXQuIERpZSBtZWlzdGVuIGhhYmVuIGVpbmZhY2ggenV2aWVsIEFuZ3N0IHVtCmlocmUgRXBzLCB1bSBqZW1hbHMgZWluIFJpc2lrbyBlaW56dWdlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWRpb3RlbiBpbSBNdWQgKEVuZ3l3dWNrLCAgNy4gSnVsIDE5OTUsIDIzOjM4OjA2KToKSGFsbG8gTGV1dGUhCkFsc28sIG1pciBpc3QgZGEgbmUgSWRlZSBnZWtvbW1lbiEKRXMgcGFzc2llcnQgamEgaW1tZXIgbWFsLCBkYXNzIHNpY2ggaGllciBJZGlvdGVuIGVpbmxvZ2dlbiwgZGllIG51ciBkYXJhdWYKYXVzIHNpbmQsIHVucyBhcm1lIFNwaWVsZXIgbWl0IGlyZ2VuZHdlbGNoZW0gTWlzdCB6dSBhZXJnZXJuLiBPZGVyIHNvbnN0CmlyZ2VuZHdpZSBuZWdhdGl2IGF1ZmZhbGxlbi4gSW4gZGllc2VuIEZhZWxsZW4ga29tbXQgZGFubiBSb2NodXMgbWl0IHNlaW5lcgpMdXBlIChvZGVyIHNvKSB1bmQgSE9QUCAtIFNwaWVsZXIgZXghCkRhcyBmaW5kIGljaCBzZWhyIHVuZ2VyZWNodCEgV2lsbCBhdWNoIG1hbCBJZGlvdGVuIGtpbGxlbiBkdWVyZmVuIQpBbHNvOiBXYXJ1bSBmdWVocnQgbWFuIG5pY2h0IGVpbmUgIlZvZ2VsZnJlaS1Qcm9wZXJ0eSIgZWluLCBkaWUgZWluZW0gU3BpZWxlcgpiZWkgZXh0cmVtZW0gTmVydnBvdGVudGlhbCBnZXNldHp0IHdpcmQuIERpZSBNYWdpZXIgbWFjaGVuIHNpY2ggbmljaHQgZGllCkhhZW5kZSBzY2htdXR6aWcgdW5kIGVpbmUgSGVlcnNjaGFhciBibHV0cnVlbnN0aWdlciBTcGllbGVyIGJla29tbXQgaWhyZW4KU3Bhc3MuCgpXaWUgd2FlcnM/CgpFbmd5d3VjayAtIGhhdCBoZXV0ZSBlaW5lbiBDb2NrdGFpbCB6dXZpZWwgZ2V0cnVua2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWRkeW1lbGR1bmcgKE1vcmdvbiwgIDguIEp1bCAxOTk1LCAxNTo0NjoxMSk6ClJlcGx5IGF1ZiBBcnRpa2VsIDE0MSB2b24gU2lsdmFuYSBpbiBFbnR3aWNrbHVuZy4KKFJ1YnJpayB3YXIgdm9sbC4uLiA6KApadWZhZWxsaWcgd2FlcmUgYmxvZWQuLi4KIEtsYXIgd2FlcmUgZGFzIGJsb2VkLCBhYmVyIGltbWVybm9jaCBiZXNzZXIgYWxzIGdhcm5pY2h0LgoKTWFuIGtvZW5udGUgZXMgYWJlciBhdWNoIHNvIG1hY2hlbiwgZGFzIGltbWVyIGRlciBlcnN0ZSBhbmdlemVpZ3QKd2lyZC4gKE9kZXIgbm9jaCBiZXNzZXI6IEVzIGlzdCBlaW5zdGVsbGJhciBkZXIgd2lldmllbHRlIEdlZ25lciBhbi0KICAgICAgIGdlemVpZ3Qgd2lyZCEgOikKTWFuIGtvZW5udGUgYXVjaCBlaW5mYWNoIGRlbiBadXN0YW5kIGR1cmNoIGVpbmUgWmFobCBhbnplaWdlbiAoMS0xMCkgb2Rlcgpzby4uLgoxIHdhZXJlIGRhbm4gYWJzb2x1dCBmaXQgdW5kIDEwIGF1ZiBkZXIgU2Nod2VsbGUgZGVzIFRvZGVzLgoKU2NoZWludCBkb2NoIGdhcm5pY2h0IHNvIGhhcnQgenUgcmVhbGlzaWVyZW4genUgc2Vpbi4uLi4KCk1vcmdvbiwgaG9mZmVuZCB1bmQgZ2xhdWJlbmQhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbmZvL1NlbWluYXJlIHVlYmVyIE11ZHMgKEtldG9zLCAgOC4gSnVsIDE5OTUsIDIyOjI0OjI3KToKSWNoIHN1Y2hlIGxpdGVyYXR1ciB1bmQgcmVmZXJlbnplbiB6dSBNdWx0aVVzZXJTeXN0ZW1lbgogLSBNdWRzCiAgLSBjb25mZXJlbmNlIHN5c3RlbWUgcGFzc2llcmVuIGF1ZiBNVVMKLSBncmFwaGlzY2hlIE1VRHMsIDNEIG9kZXIgY3liZXJzcGFjZSBNVURTCiAtIHNvY2lhbGVuIEFzcGVrdGUgLi4uCiBsaWVzZSBzaWNoIGJlbGllYmlnIGZvcnRzZXR6ZW4KClAuUzogTWVpbiBaaWVsIGlzdCBlaW4gM0QgTVVTIHp1IGJhdWVuCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZWl0aWVzIChLZXRvcywgIDguIEp1bCAxOTk1LCAyMjoyOToxNyk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTgwNTAzMTEyNQpIbW0sIFp3ZWl0aWVzIGluIGRpZSBQYXJhbGxlbHdlbHQgYWJzY2hpZWJlbi4gRG9ydCBrb2VubnRlbiBzaWUgZGllCm5vcm1hbGVuIFNwaWVsZXIgbmljaHQgc28gc3RvZXJlbi4KRmVobHQgbnVyIG5vY2ggZWluIE1vbnN0ZXIgZGFzIFNwaWVsZXIgdGVzdGV0IG9iIHNpZSBkaWUgdHlwaXNjaGVuCkVpZ2Vuc2NoYWZ0ZW4gZWluZXMgWndlaXRpZXMgZXJmdWVsbGVuIHVuZCBhYnNjaGllZGVuIC4uLiA7KQpIb2ZmZW50bGljaCBsaWVzdCBSb2NodXMgZGFzIG5pY2h0LgoKLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprb2xsZWdpYWxpdGFldCBzdGF0dHMgWndlaXRpZXMgKEtldG9zLCAgOC4gSnVsIDE5OTUsIDIyOjM4OjA4KToKQW0gTXVkZGVuIG1hY2h0IGRvY2ggYW0gbWVpc3RlbiBTcGFzcyBtaXQgYW5kZXJlbiB6dXNhbW1lbiB6dSBzcGllbGVuIG9kZXIKYW5kZXJlbiB6dSBoZWxmZW4uIFNpY2ggZWluIHp3ZWl0aWUgenUgenVlY2h0ZW4gaXN0IGxhbmd3ZWlsaWcsIG5pY2h0CmtvbGxlZ2lhbCB1bmQgemVpdHJhdWJlbmQuCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEluZm8vU2VtaW5hcmUgdWViZXIgTXVkcyAoQmFyb24sICA4LiBKdWwgMTk5NSwgMjI6Mzk6MDApOgojISBybj1LZXRvcyBydD04MDUyMzUwNjcKSmF1ISBFaW4gTXVkIG1pdCBkZXIgT2JlcmZsYWVjaGUgdm9uIERPT00gb2RlciBVbHRpbWEgVW5kZXJ3b3JsZC4gREFTIFdBRVIKV0FTISBadXNhZXR6bGljaCBuYXR1ZXJsaWNoIG5vY2ggbmUgVGV4dHNjaGVsbCB6dW0ga29tbXVuaXppZXJlbiBtaXQgYW5kZXJlbgpTcGllbGVybiB1bmQgTlBDcyEgR2VuaWFsIQpCYXJvbiAoYmVnZWlzdGVydCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndlaXRpZXMgKFJlaW5lbGRlLCAgOS4gSnVsIDE5OTUsIDAyOjI3OjUzKToKIyEgcm49S2V0b3MgcnQ9ODA1MjM1MzU3CmhpIGtldG9zLAoKZGFtaXQgaWNoIGFscyBkdW1tZXIgendlaXRpIGRhcyBqZXR6dCBhdWNoIG1hbCBrYXBpZXJlLgp3aWUgc2llaHQgZGVubiBkZXIgendlaXRpIGFuIHVuZCBmdWVyIHNpY2ggYXVzPwpzbyBhZWhubGljaCB3aWUgJ2RlciBydXNzZScsICdkZXIgZGV1dHNjaGUnLCAnZGVyIGl0YWxpZW5lcicgLi4uID8/CgpyZWluZWxkZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgKFd1ciwgIDkuIEp1bCAxOTk1LCAwNDoyMzowNSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA1MTMxMDUzClRqYSwgc29sbCBoaWVyIGpldHp0IGFsbGVzIG9obmUgUmlzaWtpbyBhYmxhdWZlbj8KU2ljaGVybGljaCBzdGVyYmVuIGlzdCBuaWNodCBzY2hvZW4sIHVuZCBzY2hvbiBnYXIgbmljaHQgYmVpIGRlbiBFcHMgZGllIGhpZXIKc28gbWFuY2hlIGhhYmVuLCBudXIgd2VyIEFuZ3N0IHVtIHNlaW5lIEVwcyBoYXQsIHNvbGx0ZSBzaWNoIGRhbm4gd29obCBzaWNoZXJlCk1vbnN0ZXIgc3VjaGVuLCBvZGVyPwoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBad2VpdGllcyAoTXVya2VzLCAgOS4gSnVsIDE5OTUsIDEyOjMzOjQxKToKIyEgcm49QXNtb2RpcyBydD04MDUxMDUyOTAKQWxzbyBnbGVpY2ggbWl0IGVpbmVyIGdhbnplbiBQcml2YXRhcm1lZSBhbGxlaW5lIHp1IHNwaWVsZW4KaXN0IGphIHZpZWxsZWljaHQgbmljaHQgZ2FueiBzbyBkZXIgSGl0LiBBbHMgaWNoIFNwaWVsZXIgd2FyIChvaywKaXN0IGVpbiBiaXNzY2hlbiBoZXIpLCBoYWJlbiB3aXIgdW5zIGltbWVyZSB6dXNhbW1lbmdldGFuIHVuZAphdWZlaW5hbmRlciBnZXdhcnRldCwgYW5kZXJzIHdhcmVuIGJlc3RpbW10ZSBRdWVzdHMgZnVlciB1bnMKZ2FyIG5pY2h0IGxvZXNiYXIuIFVuZCBlcyB3YXIgZWlnZW50bGljaCBpbW1lciBqZW1hbmQgZGEsIGRlciBlaW5lbSBtYWwKZWJlbiBlaW5lIEZhY2tlbCB2b3JiZWlicmFjaHRlIG9kZXIgZWluZW0gc29uc3R3aWUgaGFsZi4KV2FlcmUgc2NoYWRlLCB3ZW5uIGRhcyBuaWNodCBtZWhyIHNvIHNlaW4gc29sbHRlLlNvLCBkYXMgd2FyIG1laW4gU2VuZiBkYXp1LgpNdXJrZXMgKHdlaG11ZXRpZyBhbiBkaWUgWmVpdGVuIGRlbmtlbmQgYWxzIGVyIG1pdCBLaXJrCnp1c2FtbWVuIGRpZSBOaWJlbHVuZ2VucXVlc3QgZHVyY2hnZXNwaWVsdCB1bmQgZGllIGdhbnplbiBhbmRlcmVuIC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW5mby9TZW1pbmFyZSB1ZWJlciBNdWRzIChEYW5jZXIsICA5LiBKdWwgMTk5NSwgMTQ6Mzc6MTIpOgojISBybj1CYXJvbiBydD04MDUyMzU5NDAKSGF0IHZvbiBzb3dhcyBuaWNodCBzY2hvbiBqZWRlciBtYWwgZ2V0cmFldW10PyBWb24genUgSGF1c2UgYXVzIG1pdCBlaW5lcgpWaXJ0dWFsIFJlYWxpdHktQXVzcnVlc3R1bmcgZHVyY2ggbmUgMTYsNyBGYXJiZW4tVlItV2VsdCB6dSBzcGF6aWVyZW4gdW5kCnBlciBIZWFkbWlrcm8gdW5kIC1rb3BmaG9lcmVyIG1pdCBhbmRlcmVuIGVpbmdlbG9nZ3RlbiB6dSBrb21tdW5pemllcmVuPwpQZXIgRGF0ZW5oYW5kc2NodWggenUgbWV0emVsbj8gUGVyIHZpcnR1ZWxsZW0gbWl0dGVuIGltIFJhdW0gc2Nod2ViZW5kZW0KWmF1YmVyYnVjaCBkdXJjaCBBbnRhc3RlbiBlaW5lIFphdWJlcnNwcnVjaGVzIGRpZXNlbiBsb3N6dWphZ2VuLi4uPwpIYWJ0IElociBFdWNoIHNvd2FzIG5vY2ggbmllIHZvcmdlc3RlbGx0IHZvcmhlcj8/IDotKSBEdWVzdGVyZSBTdGltbXVuZwplcnpldWd0IGR1cmNoIFNjaGF0dGVuLCBMaWNodGVmZmVrdGUsIGFuIFJhZXVtZSAoQXJlYXMpIGdla29wcGVsdGUKU291bmRlZmZla3RlLCBSZWdpb25zYWJoYWVuZ2lnZSBIaW50ZXJncnVuZGJlZ2xlaXRtdXNpaywgZGllIGEgbGEKTHVjYXNBcnRzJyBJTVVTRS1Tb3VuZHN5c3RlbSBqZSBuYWNoIFNwaWVsZXJha3Rpb24gdmFyaWllcnQgKGltIEthbXBmCmJlc2NobGV1bmlndCB1bmQgYWdncmVzaXYsIHNvbnN0IHNhbmZ0IGltIEhpbnRlcmdydW5kIHR1ZGVsbikuLi4gZGEKa2FubiBtYW4gZW5kbG9zIHdlaXRlcnNjaHdhZXJtZW4uLi4uOikKTmFqYSwgZ3Vja2VuIHdpciBpbiAxMCBKYWhyZW4gbm9jaG1hbCA6KQoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW5mby9TZW1pbmFyZSB1ZWJlciBNdWRzIChJY2V0LCAgOS4gSnVsIDE5OTUsIDE2OjMwOjE3KToKIyEgcm49RGFuY2VyIHJ0PTgwNTI5MzU5NApDb29sIGRvd24sIERhbmNlci4KU28gZ3V0IHdhZXJlIGRhcyBnYXIgbml1Y2h0LiBTdGVsbGUgZGlyIG51ciBtYWwgZGVuIGltZW5zZW4gQXVmd2FuZCBmdWVyIGRpZQpWUi1NVUQtTWFnaWVyIHZvciAqYmliYmVyKgoKLUljZVQgKGxhZXNzdCBkaWUgQWN0aW9uIGxpZWJlciBkdXJjaCBUZXh0ZSBpbSBLb3BmIGVudHN0ZWhlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhZGVudmVya2F1ZiAoUm9hZHJ1bm5lciwgIDkuIEp1bCAxOTk1LCAxNjo0NDo0OCk6CkhhbGxvIExldXRlLAoKRGEgbGV0enRlbnMgZXR3YXMgYW4gZGVuIExhZWRlbiBnZWFlbmRlcnQgd3VyZGUsIGhhZXR0ZSBpY2ggYXVjaCBlaW5lIGtsZWluZQphbnJlZ3VuZyBkYXp1OgpNaXIgaXN0IGVzIHNjaG9uIG9lZnRlciB1bnRlcmdla29tbWVuLCBkYXNzIGljaCBpbSBsYWRlbiBzdGFuZCwgZGVyIEFydGlrZWwKZGVuIGljaCB3b2xsdGUgd2FyIG5pY2h0IHVlYmVyIHNlaW5lbiBuYW1lbiBhbnp1c3ByZWNoZW4gdW5kIGljaCBnZWJlIGRpZQpudW1tZXIgZWluLiBKdXN0IGJldm9yIGljaCByZXR1cm4gZHJ1ZWNrZW4ga2FubiBrb21tdCBqZW1hbmQgdW5kIHZlcmthdWZ0IG9kZXIKa2F1ZnQgZXR3YXMuIERpZSBGb2xnZSBpc3QsIGljaCBrYXVmZSBhbnN0YXR0IGRlbSBiZWFic2ljaHRpZ3RlbiBhc3QgZGllCkp1d2VsZW4gKmZsdWNoKgoKSWNoIGZpbmRlIGluIGVpbmVtIG5vcm1hbGVuIGdlc2NoYWVmdCBiZWhhbHRlbiBkaWUgYXJ0aWtlbCBpaHJlCkJlc3RlbGxudW1tZXJuIGJlaSwgd2VubiBhbmRlcmUgQXJ0aWtlbCBhdXN2ZXJrYXVmdCB3ZXJkZW4gdW5kIHJ1ZWNrZW4gbmljaHQKbmFjaC4gV2FlcmUgZXMgbmljaHQgbW9lZ2xpY2ggZGVuIGVpbnplbG5lbiBBcnRpa2VsbiBmb3J0bGF1ZmVuZGUgbnVtbWVybiB6dQp2ZXJwYXNzZW4sIGRpZXNlIGFiZXIgYmVpIGVpbmVtIGFydGlrZWwgbmljaHQgbWVociB6dSBhZW5kZXJuIHdlbm4gZXIgbWFsCmVpbmdldHJhZ2VuIGlzdD8KCgoJCQkJUm9hZFJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW5mby9TZW1pbmFyZSB1ZWJlciBNdWRzIChEYW5jZXIsICA5LiBKdWwgMTk5NSwgMTg6NTM6MTkpOgojISBybj1JY2V0IHJ0PTgwNTMwMDIxNwpBdWZ3YW5kPz8/IFNjaG9ubWFsIHdhcyB2b24gQnJhaW5TY2FubmVybiBnZWhvZXJ0PyA6LSkgRGFzIHdhZXIgZG9jaCBkZXIKbGV0enRlIFNjaGxpZmYgYW4gZGVyIFNhY2hlLi4uCgpOZWluLCBtYWwgaW0gRXJuc3QuIFdpZSBzY2h3ZXIgaXN0IGVzIHouQnNwLiBlaWdlbmUgRE9PTS1MZXZlbCB6dSBlcnN0ZWxsZW4/CkdhbnogZWluZmFjaC4gV2VubiBkaWUgU29mdHdhcmUgZGF6dSBzdGltbXQgdW5kIGludGVsbGlnZW50IGF1ZmdlYmF1dCBpc3QKdW5kIGRpZSBPYmpla3QvVGV4dHVyZS9Tb3VuZC1CaWJsaW90aGVrZW4gbnVyIHVtZmFuZ3JlaWNoIGdlbnVnIHdhZXJlbgpiencuIGVhc3kgYXVmc3RvY2tiYXIsIGRhbm4gd2FlciBkYXMgZG9jaCBuaWNodCBzY2h3ZXIuIE1hbiB3dWVyZGUgamEKZWluIHZvZWxsaWcgYW5kZXJlcyAnUHJvZ3JhbW1pZXJzeXN0ZW0nIGhhYmVuLiBEdSB3dWVyZGVzdCBPYmpla3RlbgplaW5mYWNoIEVpZ2Vuc2NoYWZ0ZW4genVvcmRuZW4gd2llICdhdWYtIHVuZCB6dXNjaGxpZXNzYmFyJywgJ25laG1iYXInCnVzdy4sIGF1Y2ggaWYtQW53ZWlzdW5nZW4sIFZlcnp3ZWlndW5nZW4gZXRjLiBldGMuIGV0Yy4gd2FlcmVuIG1pdCBlaW5lbQpkdXJjaGRhY2h0ZW4gU3lzdGVtIG1pdCBTaWNoZXJoZWl0IGVpbmZhY2hlci4gS2xhciwgZGFzcyBzb3dhcyBpbSBNb21lbnQKdXRvcGlzY2ggaXN0LCBrbGFyLCBkYXNzIHNvd2FzIHZpZWwgR2VsZCB1bmQgWmVpdCBrb3N0ZW4gd3VlcmRlLCBrbGFyLCBkYXNzCmF1Y2ggaWNoIHdlaXRlciB2ZXJzdWNoZW4gd2VyZGUsIGRpZSBTcGllbGVyIG1pdCBUZXh0ZW4genUgZmVzc2Vsbi4uLgp0cm90emRlbSBmaW5kZSBpY2ggZGllIFZvcnN0ZWxsdW5nIHJlaXp2b2xsLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsZE1VRD8gKERhbmNlciwgIDkuIEp1bCAxOTk1LCAxOTowNjoyOSk6CkhhbGxvLAoKIGRhc3MgaW4gZWluZW0gTVVEIGdlbmF1c28gdmllbCBnZXRyYXRzY2h0IHVuZCBVbnNpbm4KdmVyYnJlaXRldCB3aXJkIHdpZSBpbiBlaW5lciBBbHR3ZWliZXJ3YXNjaGdlbWVpbnNjaGFmdCB3aXNzZW4Kd2lyIGphIHNjaG9uIGxhbmdlLiBHZXJhZGUgZWJlbiBrYW0gYWJlciBqZW1hbmQgYXVmIG1pY2ggenUKdW5kIGVyemFlaGx0ZSBtaXIgdm9uIGplbWFuZGVtLCBkZXIgbWVpbmUgKHJlaW5lKSBGcmV1bmRzY2hhZnQKenUgWmVwaHlyIHVuZCB1bWdla2VocnQgaW4gc2VpbmVyIFBoYW50YXNpZSBkdXJjaCBldHdhcyBuaWUKR2VzY2hlaGVuZXMgZXJzZXR6dCBoYXQgdW5kIG1laW50ZSwgc2VpbmUgcHViZXJ0YWVyZW4gRXJmaW5kdW5nZW4KYXVjaCBub2NoIHZlcmJyZWl0ZW4genUgbXVlc3Nlbi4KCiBEZW5rKHQpIG1hbCBkcnVlYmVyIG5hY2gsIG9iIGRhcyBqZW1hbmRlbSAoYmVzb25kZXJzIGVpbmVyCkZyYXUpIG5pY2h0IGFldXNzZXJzdCB1bmFuZ2VuZWhtIHNlaW4ga2FubiB1bmQgcmVpc3N0IEV1Y2gKZXR3YXMgYW0gUmllbWVuLiBXZW5uIGVpbmlnZSB2b24gRXVjaCBzY2hvbiBzZW5zYXRpb25zbHVlc3Rlcm4Kc2luZCwgZGFubiBlbXBmZWhsZSBpY2ggZGllIEJpbGQtWmVpdHVuZywga29zdGV0IG5pY2h0IHZpZWwKdW5kIGVyc3BhcnQgZXMsIHp1IGx1ZWdlbi4gSWNoIGhhYmUgYXVmIGplZGVuIEZhbGwga2VpbmUgTHVzdCwKZWluZSBuZXR0ZSBGcmV1bmRzY2hhZnQgYXVmenVnZWJlbiwgbnVyIHdlaWwgaXJnZW5kc29laW4KbGFiZXJuZGVyIFBpY2tlbCBhdWYgZGllIElkZWUga29tbWVuIGtvZW5udGUsIHNpY2ggd2lsZGUKR2VzY2hpY2h0ZW4gZWluZmFsbGVuIHp1IGxhc3Nlbi4KCiBJY2ggZXJ3YXJ0ZSwgZGFzcyBkZXJqZW5pZ2UgZGllcyBqZXR6dCB6dXIgS2VubnRuaXMgbmltbXQgdW5kCklociBhbGxlIGdlbnVnIEZlaW5nZWZ1ZWhsIGhhYnQsIGRhcyBoaWVyIG9obmUgJ1JlJyBlaW5mYWNoCnN0ZWhlbiB6dSBsYXNzZW4gdW5kIGFienVoYWtlbi4KCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp3ZWl0aWVzIChDYXJhZGhyYXMsICA5LiBKdWwgMTk5NSwgMjE6MTY6MzMpOgojISBybj1XdXIgcnQ9ODA1MjU2NTg1CiAgICAgICAgICAgICAgICAgSHVodQoKSG1tbSwgbXVzcyBpY2ggYXVjaCBtYWwgbWVpbmVuIHNlbmYgZGF6dWdlYmVuLiBXYXMgaGFidCBpaHIgbnVyIGFsbGUKbWl0IGRlciBIeWRyYS4gRGllIGlzdCB6d2FyIGRlciBHcnVuZCBkYXNzIGVzIG1laW5lbiBWaWVydGllIGdpYnQsCmFiZXIgYWxsZWluZSBrYW5uIG1hbiBzaWUgYXVjaCBzY2hhZmZlbi4gRmFzdCBhbGxlaW5lLiBNYW4gYnJhdWNodApqZW1hbmQgZGVyIGRpZSBGbGFtbWVua3VnZWxuL1NhZXVyZWJhZWxsZSB0cmFlZ3QsIG9obmUgWndlaXRpZSBhbHNvCmdlaHQgZXMgbmljaHQuIEZhbnVpZGhvbCBoYXQgU3RhZXJrZSAyMSB1bmQga29ubnRlIG5hY2ggNzAgRmxhbW1lbmt1Z2Vsbgp1bmQgMjAgU2FldXJlYmFlbGxlbiBuaWNodHMgbWVociB0cmFnZW4uIFVuZCBzb3ZpZWwgYnJhdWNodCBtYW4gc2Nob24KZnVlciBlaW5lbiBWZXJzdWNoIGdlZ2VuIGRpZSBIeWRyYS4gVW5kIHdlbm4gbWFuIGV0d2FzIG1laHIgYnJhdWNodAooYmVpIGV0d2FzIGxhZyBicmF1Y2h0IG1hbiBzY2huZWxsIDEuNSBvZGVyIDIgbWFsIHNvdmllbCB3aWUgYmVpCmtlaW5lbSBsYWcpIGRhbm4gYnJhdWNodCBtYW4gYWxzbyBhdWNoIFp3ZWl0aWUgdW5kIERyaXR0aWUuIFVuZCB3ZW5uCm1hbiBiZWkga2FlbXBmZW4gaXN0IHVuZCBuaWNodCBkaWUgbW9lZ2xpY2hrZWl0IHp1bSBGYXJiZW4gc2V0emVuCnVuZCBhdWNoIG5pY2h0IHp1bSBob2Noc2Nyb2xsZW4sIHdpZSBlcyBiZWkgbWlyIGRlciBGYWxsIGlzdCwgZ2lidAplcyBlaW5mYWNoIGtlaW5lIGFuZGVyZSBNb2VnbGljaGtlaXQgYWxzIGVpbmVuIHp3ZWl0ZW4gU3BpZWxlciBlaW56dS0KbG9nZ2VuIHVuZCBkaWUgYW5rb21tZW5kZW4gJ3RlaWxlIG1pdCcgcGVyIHdlZy1tZWxkdW5nIGFuIGRlbiBad2VpdGllCndlaXRlcmxlaXRlbiB6dSBsYXNzZW4uIEF1c3NlcmRlbSBtdXNzIGVpbmVtIHdpcmtsaWNoIG9lZnRlcnMgbWFsIGVpbgpad2VpdGllIGF1cyBkZXIgUGF0c2NoZSBoZWxmZW4uIFp1bSBCZWlzcGllbCB3ZW5uIG1hbiBuYWNodHMgc3BpZWx0IHVuZAplcyBzaW5kIG5pY2h0IGdlbnVlZ2VuZCBMZXV0ZSBkYSBvZGVyIGRpZSBMZXV0ZSBzdGVja2VuIGdyYWRlIHdvYW5kZXJzLgoKICAgICAgICAgICAgICB0c2NodWVzcyAgICAgICAgICAgQ2FyYWRocmFzCiAtIGRlc3NlbiBad2VpdGllLERyaXR0aWUsVmllcnRpZSBzb2dhciBvZWZ0ZXJzIGVpZ2VuZSBTcGllbGVyIHNpbmQKClBTOiB1bmQgZGFzcyBpY2ggb2VmdGVycyBkZW4gSGV4ZXIgYWJnZXN0YXVidCBoYWJlIGluZGVtIENlbGViZGlsCiAgICBkb3J0IGdlaWRsZXQgaGF0IHR1dCBtaXIgbGVpZCwgd2FyIG5pY2h0IG9rIHVuZCBpY2ggc2VocyBqYSBlaW4uCiAgICBXYXIgYXVjaCBudXIgd2VubiBpY2ggZGllIEFic2ljaHQgaGF0dGUsIGRpZSBIeWRyYSB1bXp1bGVnZW4uCiAgICBXZW5uIG1laW4gWndlaXRpZSBpbiBadWt1bmZ0IGRlbiBIZXhlciB1bWxlZ2VuIHdpcmQsIGlkbGV0IGVyCiAgICB2b3JoZXIgd29hbmRlcnMgdW5kIGt1Y2t0IGRhIG51ciBhYiB1bmQgenUgdm9yYmVpLiBTbyBhbGxlIDE1CiAgICBvZGVyIDIwIE1pbnV0ZW4gbXVzcyBlcyBhYmVyIHNjaG9uIHNlaXQsIHNvbnN0IGlzdCBlaW4gUmVzZXQKICAgIHZlcmdldWRldCB1bmQgYmVpIGRlciBncm9zc2VuIEFuemFobCBNdW5pdGlvbiBkaWUgbWFuIGZ1ZXIgZGllCiAgICBIeWRyYSBicmF1Y2h0IHphZWhsdCBlcyBoYWx0IHNjaG9uIG9iIG1hbiBpaG4gamVkZXMgMnRlIG1hbAogICAgJ2VudHdpc2NoZW4nIGxhZXNzdC4KICAgIEFiZXIgamV0enQgc29sbHRlIGVzIHZvbiBtaXIgc293aWVzbyBuaWNodCBtZWhyIHNvIG9mdCB2b3Jrb21tZW4KICAgIGRlbm4gaWNoIGhhYmUgbWljaCBuYWNoIFJ5bmUsIEJhbWJ1bGtvLCBDZWxlYmRpbCwgUnVkaXJhdHRlciwKICAgIEtoaWRhciB1bmQgRnl0IGluIGRpZSBHcnVwcGUgZGVyIEh5ZHJhdG9ldGVyIGVpbmdlcmVpaHQuCiAgICBVbmQgZGVuIEVocmdlaXogaGFiZW4sIGVpbiBNb25zdGVyIGFsbGVpbmUgenUgc2NoYWZmZW4sIHdhcwogICAgYW5kZXJlIG5pY2h0IGFsbGVpbmUgc2NoYWZmZW4sIG1hY2h0IGphIGdyYWRlIGVpbmVuIGdyb3NzZW4KICAgIFJlaXogdm9uIE11ZGRlbiBhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbmZvL1NlbWluYXJlIHVlYmVyIE11ZHMgKEJvaW5nLCAxMC4gSnVsIDE5OTUsIDA5OjQzOjI3KToKIyEgcm49RGFuY2VyIHJ0PTgwNTMwODc5OQpBYmVyIERPT00gaXN0IGdhZWhuZW5kIGxhbmd3ZWlsaWcgZ2VnZW51ZWJlciBlaW5lbSBNVUQuIERhcyB3YXMgZWlnZW50bGljaApkZW4gZ3JvZXNzdGVuIFJlaXogYXVzbWFjaHQgYmVpbSBNdWRkZW4sIG5hZW1saWNoIGRpZSBlaWdlbmUgRmFudGFzaWUsCmZhZWxsdCBpbiBlaW5lbSBHcmFmaWstU3lzdGVtIGtvbXBsZXR0IHdlZy4gVW5kCmRhenUga2FubiBlcyBub2NoIHNvIGd1dCBwcm9ncmFtbWllcnQgc2VpbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWndlaXRpZXMgKFlhbnRybywgMTAuIEp1bCAxOTk1LCAwOTo0NjoyNyk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA1MTAyODUyCgpBc21vZGlzLCBkYXNzIFByb2JsZW0gbWl0IGRlbiBzdGFya2VuIE1vbnN0ZXJuIGxhZXNzdCBzaWNoIGdlbmF1IHNvIGxvZXNlbiwKd2llIER1IGVzIGJlZnVlcmNodGVzdDogVHV0IGV1Y2ggenUgbWVocmVyZW4gU3BpZWxlcm4genVzYW1tZW4gdW5kIGVzIGdlaHQhCgpOdSBzYWdzdCBEdSwgZGFzcyBlcyBmcnVlaGVyIGVpbmZhY2hlciwgd2VpbCBrb2xsZWdpYWxlciB3YXIsIGFiZXIgd2llc28gSVNUCmVzIGRlbm4gaGV1dGUgbmljaHQgbWVociBzbz8/IE5hdHVlcmxpY2ggV0VJTCBqZWRlciBzb3dpZXNvIG51ciBtaXQgc2VpbmVuIDJuZAprYWVtcGZ0LiBJY2ggc2VoZSBhbHNvIGdyYWRlIGluIGRlciBNYXNzZW5oYWZ0ZW4gQW5zYW1tbHVuZyBkZXIgMm5kcyBkZW4KSGF1cHRncnVuZCBmdWVyIGRpZSAnVW5rb2xsZWdpYWxpdGFldCcgendpc2NoZW4gZGVuIFNwaWVsZXJuLCB3ZWlsIG1hbiBoYWx0Cm5pY2h0IG1laHIgZGF6dSBnZXp3dW5nZW4gaXN0LCB3YXMgenVzYW1tZW4genUgbWFjaGVuLiBEZW1uYWNoIGdpbHQgYXVjaDogV2Vubgp3aXIgZGllIEFuemFobCBkZXIgTmViZW5jaGFyYWt0ZXJlIHJlZHV6aWVyZW4sIGRhbm4gTVVFU1NFTiBzaWNoIGRpZSBMZXV0ZQp3aWVkZXIgenN1YW1tZW50dW4gdW5kIHdlciBkYXMgbmljaHQgd2lsbCwgZGVyIGhhdCBtZWluZXIgTWVpbnVuZyBpbiBlaW5lbSBNVUQKbml4IHp1IHN1Y2hlbiAoZGVubiBkYWZ1ZXIgaXN0IGVpbiBNVUQgamEgZGEpLiBXZXIgZGFubiBrZWluZW4gU3Bhc3MgbWVociBhbQpNb3JnZW5HcmF1ZW4gaGF0LCBkZXIgc29sbCBzaWNoIHp1IEhhdXNlIHZvciBzZWluIFNPTE8tVVNFUi1EVU5HRU9OIGEgbGEgRE9PTQpzZXR6ZW4gdW5kIGRhbWl0IHdlaXRlcmxlYmVuLgoKICAgICAgICAgICAgICAgICAgICAgICBZYW50cm86XykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZWl0aWVzIChBZGFtYSwgMTAuIEp1bCAxOTk1LCAxMDo0OToyOSk6CiMhIHJuPVlhbnRybyBydD04MDUzNjIzODcKaGksCndlbm4gZGllIGtvbW1lbmRlbiBnaWxkZW4gc28gd2llIGRpZSBrYXJhdGUtZ2lsZGUgZGVuIGt1cnp6ZWl0aWdlbgphdXN0cml0dCBtaXQgbWFzc2l2ZW0gdmVybHVzdCB2b24gZmFlaGlna2VpdGVuIGJlaW0gd2llZGVyZWludHJpdHQKYmVzdHJhZmVuLCBkYW5uIHdpcmRzIGF1ZiBkYXVlciB2b24gamVkZW0gaW50ZXJlc3NpZXJ0ZW4gc3BpZWxlcgp3b2hsIG1pbmRlc3RlbnMgc292aWVsZSBjaGFyYWt0ZXIgd2llIGdpbGRlbiBnZWJlbi4KZGllc2UgdGVuZGVueiBpc3QgamEgamV0enQgc2Nob24gYWJ6dXNlaGVuLgp3ZW5uIGlociBtYWcncyB3YXMgZGFnZWdlbiBoYWJ0LCBtdWVzc3QgaWhyIGV1Y2ggZGEgc2Nob24gYW4gZGllCmVpZ2VuZSBuYXNlIGZhc3Nlbi4KZGVua3QgZWluZmFjaCBkcmFuOiBpaHIgbGVndCBkaWUgcmVnZWxuIGZlc3QuIHdpciBzcGllbGVyIHZlcnN1Y2hlbgpudXIsIGRhcyBiZXN0ZSBkcmF1cyB6dSBtYWNoZW4uCgphZGFtYQoKcHM6IGljaCBiaW4gdHJvdHpkZW0gZnVlciBnaWxkZW4sIGZ1ZXIgdmllbGZhbHQsIGZ1ZXIgendlaXRpZXMsIC4uLgogICAgc2NobGllc3NsaWNoIHNpbmQgZWluaWdlIG1laW5lciBiZXN0ZW4gZnJldW5kSW5uZW4gendlaXRpZXMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBad2VpdGllcyAoQW5ha2luLCAxMC4gSnVsIDE5OTUsIDEwOjU5OjI2KToKIyEgcm49QWRhbWEgcnQ9ODA1MzY2MTY5CkphIGRhIG11c3MgaWNoIERpciBSZWNodCBnZWJlbiBBZGFtYSwgd2VubiBpY2ggaW4gZWluZSBHaWxkZQplaW50cmV0ZSB1bmQgZWluIHBhYXIgV29jaGVuIGdpYnQgZXMgZWluZSBuZXVlIGRpZSBpY2ggYXVjaCBnZXJuZQphdXNwcm9iaWVyZW4gd2lsbCwgYWxzbyBlaCBpY2ggbWVpbiBXaXNzZW4gdmVybGllcmVuIHVuZCBkYW5uCm5vY2htYWwgYW5mYW5nZW4gbXVzcywgbnVyIHdlaWwgaWNoIGRpZSBHaWxkZSB0ZXN0ZW4gd2lsbCwKemllaCBpY2ggbWlyIGRhIGxpZWJlciBuZW4gWndlaXRpZSBob2NoIGRlciBkaWUgc2ljaCBhbnNjaGF1dAoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgKEJvaW5nLCAxMC4gSnVsIDE5OTUsIDExOjE3OjMxKToKIyEgcm49QWRhbWEgcnQ9ODA1MzY2MTY5CkVzIHNwcmljaHQgbmljaHRzIGRhZ2VnZW4gaW4gamVkZXIgR2lsZGUgZWluZW4gWndlaXRpZSB6dSBoYWJlbiwKbnVyIGRpZSBhbGxlIGdsZWljaHplaXRpZyBlaW56dXNldHplbiBpc3QgbWVpbmVyIE1laW51bmcgbmFjaAp6aWVtbGljaCBkYW5lYmVuIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEluZm8vU2VtaW5hcmUgdWViZXIgTXVkcyAoSGF0ZSwgMTAuIEp1bCAxOTk1LCAxMTozNDozOCk6CiMhIHJuPUJhcm9uIHJ0PTgwNTIzNTk0MApUamEgdW5kIG1pdCBkZXIgbWFlY2h0aWdrZWl0IHZvbiBXV1csIGRhbWl0IHdpciBhdWNoIGJhbGQgTlVSIG5vY2ggTEFHIGhhYmVuCkRpZSBBc3Bla3RlIHZvbiAzIERpbWVuc2lvbmFsZW4gdmlydGVsbGVuIFdlbHRlbiBzaW5kIGluIGRpZXNlciBCZXppZWh1bmcKcmVjaHQgc2Nod2llcmlnLCBkYSBtYW4gZXMgbWl0IFB1bmt0YmFzaWVydGVuIFN5c3RlbSB6dSB0dW4gaGF0LiBEaWVzZQp0ZW5kaWVyZW4genUgdWViZXJtYWVzc2lnZW0gU3BlaWNoZXIgdW5kIFJlY2hlbnplaXR2ZXJicmF1Y2gsIHNvd2llIG1hc3NpdmVyCk5ldHpiZWxhc3R1bmcsIHNlbGJzdCBpbiBob2Nob3B0aW1pZXJ0ZW4gRmFlbGxlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEluZm8vU2VtaW5hcmUgdWViZXIgTXVkcyAoSGF0ZSwgMTAuIEp1bCAxOTk1LCAxMTo0MDoxOCk6CiMhIHJuPUljZXQgcnQ9ODA1MzAwMjE3CkRlciBBdWZ3YW5kIGZ1ZXIgVlIgTWFnaWVyIHdhZXJlIHJlbGF0aXYgZ2VyaW5nLCBkYSBtYW4gZGllIFdlbHQgYXVzIHZvcmdlLQpnZWJlbmVuIFN0dWVja2VuIHp1c2FtbWVuYmF1ZW4ga29lbm50ZSwgYWxzbyBuaWNodCBzZWxic3QgbWFsZW4sIGhvZWNoc3RlbnMKYWxzIE9wdGlvbi4gRGFtaXQgd3VlcmRlIHNpY2ggbmF0dWVybGljaCBhdWNoIGVpbmUgTWVuZ2UgaW4gZ2xlaWNoYXVzc2VoZW5kZW4KQmlsZGNoZW4gZGFyc3RlbGxlbiB1bmQgbGFuZ3dlaWxpZyB3ZXJkZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZWl0aWVzIChNdXBmZWwsIDEwLiBKdWwgMTk5NSwgMTM6NDQ6NDgpOgojISBybj1LZXRvcyBydD04MDUyMzUzNTcKZ2VuYXUgZGFzIGhhYiBpY2ggcm9jaHVzIGJlaW0gc3RhbW10aXNjaCB2b3JnZXNjaGxhZ2VuLi4gYWxlcmRpbmdzIGZ1ZXIKYmFua3p3ZWl0aWVzLC4uLi4gOi0pCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndlaXRpZXMgKFNjaHJ1bXBmaSwgMTAuIEp1bCAxOTk1LCAxODoxMzo0Myk6CiMhIHJuPUJvaW5nIHJ0PTgwNTEwMzU1MQpHYW56IHNvIHN0aW1tdCBkYXMgamEgYXVjaCB3aWVkZXIgbmljaHQhIEFscyBpY2ggbm9jaCBTZWhlcmluIHdhciwgaGF0dGUKQXNtb2RpcyBhdWNoIHNjaG9uIGVpbmUgZ2FuemUgQXJtZWUgYWJlciB2b24gdW5rb2xsZWdpYWxpdGFldCBoYWIgaWNoIG5peApnZW1lcmt0ISBJY2ggYmluIGRlciBNZWludW5nLCBzb2xhbmdlIGRpZSBad2VpdGllcyBuaWNodCBzdG9lcmVuIHVuZCBkZW5uCkVyc3RpZXMgZGVuIFZvcnRyaXR0IGxhc3Nlbiwgc29sbHRlIG1hbiBkYXMgbmljaHQgYWVuZGVybiB1bmQgd2VubiBkYW5uIHNvbGx0ZQp6dW1pbmRlc3QgZWluIFp3ZWl0aWUgZXJsYXVidCBzZWluLiBXYXMgc29sbCBkZW5uIG5vY2ggYWxsZXMgZ2VhZW5kZXJ0IHVuZAp2ZXJib3RlbiB3ZXJkZW4/IEJlaSBkZW4gU2NyaXB0cyBzZWggaWNoIGVzIGphIG5vY2ggZWluIGFiZXIgamV0enQgd2lyZCBlcyBtaXIKZWNodCBzY2hvbiB6dXZpZWwhClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgKEFuYWtpbiwgMTAuIEp1bCAxOTk1LCAxODoxNzoxMik6CiMhIHJuPVNjaHJ1bXBmaSBydD04MDUzOTI4MjMKWnVzdGltbXVuZyBTY2hydW1wZmkuIEJlc29uZGVycyBkYXMgd2FzIHVua29sbGVnaWFsaXRhZXQgYW5iZXRyaWZmdC4KSWNoIGtlbm4gbmUgTWVuZ2UgZGllIFp3ZWl0aWVzIGhhYmVuIHVuZCB0cm90emRlbSBoZWxmZW4uCgpBbmFraW4uCi4sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VpdGllcyAoU2NocnVtcGZpLCAxMC4gSnVsIDE5OTUsIDE4OjM2OjE1KToKIyEgcm49Sm9mIHJ0PTgwNTEyNjEyMwpNYW4ga2FubiBhdWNoIG1pdCBuZXIgSG9yZGUgWndlaXRpZXMgbWl0IGFuZGVyZW4gbm9jaCB3dW5kZXJiYXIKenVzYW1tZW5zcGllbGVuIQpTY2hydW1wZmkgZGVua3QgYW4gZnJ1ZWhlciB1bmQgYW4gZGllIFJhZXViZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZWl0aWVzIChMdXB1cywgMTEuIEp1bCAxOTk1LCAwMDowMTowNik6CiMhIHJuPUpvZiBydD04MDUxMjYxMjMKSGkhCgpJbiBCRXp1ZyBhdWYgZGllc2UgQXJ0IHZvbiBaV2VpdGlzIGhhc3QgZHUgc2ljaGVybGljaCByZWNodCBKb2YsIGFiZXIgbWFuCnNvbGx0ZSBkb2NoIGF1Y2ggYmVkZW5rZW4sIGRhc3MgZXMgYXVjaCBlaW5lIGFuZGVyZSBBcnQgZ2lidCwgc2VpbmVuIFp3ZWl0aSB6dQpTcGllbGVuLiBNZWluIFpXZWl0aSBpc3QgZWluIHZvbGxzdGFlbmRpZyBlaWdlbmVyIENIYXJha3RlciBtaXQgZWlnZW5lbQpGcmV1bmRlc2tyZWlzLCBlaWdlbmVtIFZFcmhhbHRlbiB1bmQgYXVjaCBlaWdlbmVuIFByaW9yaXRhZXRlbiBpbSBNVUQuIFdlciBkZW4KWldlaXRpIGF1c3NjaGxpc3NsaWNoIGRhenUgYmVudXR6dCwgdW0gc2ljaCBzZWxic3QgenUgaGVsZmVuIGlzdCBzZWxiZXIKU2NodWxkLiBXZWdlbiBkaWVzZW4gTGV1dGVuIHNvbGx0ZSBtYW4gYWJlciBuaWNodCBkaWVqZW5pZ2VuIGJlbmFjaHRlaWxpZ2VuLApkaWUgWndlaXRpcyBoYWJlbiB1bmQgYW5kZXJlIExldXRlIGtlbm5lbnp1bGVybmVuIHVuZCBhbmRlcmUgU2VpdGVuIGRlcyBNVURzCmtlbm5lbnp1bGVybmVuLgoKWnVtIFRoZW1hIEFyZW5hIHNjaGxpZXNzZSBpY2ggbWljaCBaRXBoeXIgdm9sbCBhbjogV2VubiBtaXIgKG1laW5lbSBad2VpdGkpCmplbWFuZCBzYWd0LCBkYXNzIGVyIGRhIHJlaW4gd2lsbCB1bSBkaWUgUWVzdCB6dSBtYWNoZW4gYmluIGljaCBkYQpzZWxic3R2ZXJzdGFlbmRsaWNoIGJpbm5lbiAxMCBzZWt1bmRlbiByYXVzLiBXZXIgYW5kZXJzIG1hY2h0IGlzdCBlaW4gPGJpdHRlCkxpZWJsaW5nc3NjaGltcGZ3b3J0IGVpbnNldHplbj4uCgpGYXppdDogTmljaHQgYWxsZSBad2VpdGlzIHNpbmQgdWViZXJmbHVlc3NpZy4gQWxzbyBsYXNzdCBzaWUgdW5zLgoKTHVwdXMsIHNlaW5lbiBad2VpdGkgbW9lZ2VuZAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFp3ZWl0aWVzIChBbmFraW4sIDExLiBKdWwgMTk5NSwgMDA6MDU6NTEpOgojISBybj1MdXB1cyBydD04MDU0MTM2NjYKQWxzbyB3ZW5uIG1laW4gendlaXRpZSBtaXQgbmVtIGVpZ2VuZW0gRnJldW5kZXNrcmVpcyBiZWkgbWlyIGF1Zi0KdGF1Y2h0LCBkYW5uIGthbm4gZXIgd2FzIGVybGViZW4uIFNvd2FzIGdpYnQgZXMgbmljaHQuIEVyIGhhdCBhdXMtCnNjaGxpZXNzbGljaCBtaXIgenUgZGllbmVuIHVuZCB6dSBnZWhvcmNoZW4gKHVuZCBmdWVyIG1pY2ggenUgc3RlcmJlbiA7KQpNYW4gZGFyZiBkaWUgWnVlZ2VsIGJlaSBkZW5lbiBuaWNodCBzY2hpZXNzbiBsYXNzZW4uIEtvZW5udGUgbmFjaApoaW50ZW4gbG9zZ2VoZW4uLi4uCgpBbmFraW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpad2VpdGllcyAoQW5ha2luLCAxMS4gSnVsIDE5OTUsIDAwOjE5OjQ5KToKSG1tIGljaCBnYWx1YiBpY2ggaGFiIG1hbCB3YXMgZ2VsZXNlbiB2b24gd2VnZW4genVzYW1tZW50dW4gYmVpCkthZW1wZmVuIGdlZ2VuIGdyb3NzZSBNb25zdGVyIHdpZSB6LkIuIEh5ZHJhLiBOYWphIG9rIG1hbiBrYW5uCnNpZSBhdWNoIGFsbGVpbmUgbWFjaGVuICh3aWUgYmVyZWl0cyBnZXNjaGVoZW4pLCBtdXNzIG1hbiBzb2dhciBkZW5rIGljaAphdWNoLiBEZW5uIGVzIGdlaHQgamEgaXJnZW5kd2llIGF1Y2ggdW0gZGVuIFJ1aG0gdW5kIGRpZSBSdWVzdHVuZywgdW5kCmRpZSBiZWtvbW10IGphIG51ciBkZXIsIGRlciBkZW4gbGV0enRlbiBTY2hsYWcgaGF0LiBBbHNvIHdlbm4gbWFuIG1hbApkYXMgR2x1ZWNrIGhhdCBhKSBkaWUgSHlkcmEgenUgdHJlZmZlbiBiKSBlcyBpc3Qga2VpbiBsYWcgYykgZXMgc2luZApub2NoIGFuZGVyZSBMZXV0ZSBkYSwgZGFubiBzdGVyYmVuIGV2dC4gZWluIHBhYXIgKGphamEgbXVzcyBuaWNodCBzZWluLAphYmVyIGthbm4gZG9jaCwgaW5zYmVzb25kZXJlIHdlbm4gbWFuIG1pdCBNb2RlbSBrb21tdCkgYWJlciBudXIgZWluZXIKYmVrb21tdCBkZW4gUnVobSB1bmQgZGllIGFuZGVyZW4gaGFiZW4gaWhyZSBlcCdzIGZ1ZXIgbml4IHZlcmxvcmVuLgpEYXMgaXN0IGRhbm4gc2Nob24gYWVyZ2VybGljaC4gZGEga2FlbXBmIGljaCBhbGxlIG1hbCBsaWViZXIgbWl0IG1laW5lbQpad2VpdGllIGRlbSBpY2ggZGFubiBzYWdlbiBrYW5uIGpldHp0IHNjaGx1c3MgdW5kIGF1ZiwgZC5oLgp3ZW5uIG1hbiBzZWluZSBad2VpdGllcyB1bnRlciBLb250cm9sbGUgaGF0ICpzY2hpZWwgbmFjaCBQYXNzYXUqLgpBbHNvIGRhZnVlciBlaWduZW4gc2ljaCBad2VpdGllcyBnYW56IGd1dC4KCkFuYWtpbiAoaGF0IDggbWlvJ3Mgb2RlciBzbyBiZWkgZGVyIEh5ZHJhIHZlcmxvcmVuIHVuZCBzaWUgdHJvdHpkZW0gbmljaHQKICAgICAgICAgZ2VzY2hhZmZ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWndlaXRpZXMgKFNjaHJ1bXBmaSwgMTEuIEp1bCAxOTk1LCAwMTowMToxMCk6CiMhIHJuPUFuYWtpbiBydD04MDU0MTM5NTEKR2FueiByaWNodGlnLCBBbmFraW4hIEVpbm1hbCBoYWIgaWNoIEFtYXpvcmEgYXVzIGRlbiBBdWdlbiBnZWxhc3Nlbiwgc2Nob24KaGF0IHNpZSBzaWNoIG1pdCBkZW0gVmVyc2Nod29lcmVyIEtob3JuZSBhbmdlZnJldW5kZXQuClNjaHJ1bXBmaSBrb2VubnRlIGFiZXIgdHJvdHpkZW0gbmllbWFscyBvaG5lIGlocmUga2xlaW5lIEFtYXpvcmEgYXVza29tbWVuCnVuZCBrb25udGUgZXMgYXVjaCBmcnVlaGVyIG5pY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZWl0aWVzIChDYXJhZGhyYXMsIDExLiBKdWwgMTk5NSwgMTQ6MjE6MDUpOgojISBybj1BbmFraW4gcnQ9ODA1NDE0Nzg5CiAgICAgICAgICAgICAgT2VtbW0/CgpXaWUgd2FzIHdvICpzY2hpZWwgbmFjaCBQYXNzYXUqPyBIdW1wZiEKQ2VsZWJkaWwgd29sbHRlIG1pciBkb2NoIG51ciBrdXJ6IGhlbGZlbiB1bmQgbWFsIGhpbmt1Y2tlbiB3byBkaWUKSHlkcmEgd2FyLiBEYXNzIHNpZSBkYWJlaSBnbGVpY2ggc3RpcmJ0LCBuYSBkYSBrYW5uIGRlciBndXRlIGphIG5peApkYWZ1ZXIuIERhcyB3YXIgZ2xhdWJlIGljaCBkYXMgZXJzdGUgbWFsIHNlaXQgbWVocmVyZW4gd29jaGVuIG9kZXIKbW9uYXRlbiwgZGFzcyBlciBtaXIgJ2dlaG9sZmVuJyBoYXQuICprbnVycioKCiAgIHRzY2h1ZXNzaWUgICAgICAgIENhcmFkaHJhcyAtIGZyb2VobGljaCB3aW5rZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZWl0aWVzIChHd3lud2FpdGVyLCAxMS4gSnVsIDE5OTUsIDE1OjQ5OjAwKToKIyEgcm49Qm9pbmcgcnQ9ODA1MDMxNzM4CgpJY2ggYmluIHp3YXIgZ2VyYWRlIFp3ZWl0aWUsIGFiZXIgZGVubm9jaCBuaWNodCBkYWdlZ2VuLCBkYXNzIG51ciBlaW4KQ2hhcmFrdGVyIGVpbmdlbG9nZ3Qgc2VpbiBzb2xsLiBTY2h3aWVyaWcgaXN0IHNpY2hlciwgZGFzIHp1IGtvbnRyb2xsaWVyZW4sCnNvbGFuZ2UgZGFzIFByb2dyYW1tIGtlaW4gRmxhZyBmdWVyIGRpZSByZWFsZSBDb21wdXRlcmFkcmVzc2UgaGF0LCB1bmQgYXVjaCBkYQpnaWJ0IGVzIHNpY2hlciBtZWhyZXJlIExldXRlIGF1cyBlaW5lbSBCdWllcm8sIGRpZSB1bnRlciBlaW5lciBBZHJlc3NlIGxhdWZlbiwKb2RlciBGcmV1bmQgdW5kIEZyZXVuZGluLCBkaWUgc2ljaCBlaW5lbiBBY2NvdW50IHRlaWxlbi4uLgogICBTb2xsdGUgbWFuIGRpZSBad2VpdGlla2VubnplaWNobnVuZyB6eHVyIFBmbGljaHQgbWFjaGVuPyBJY2ggd2Vpc3MgbmljaHQsCmJpbiBpY2ggbmljaHQgZGFmdWVyLiBFaGVyIHNjaG9uIHdhZXJyZSBkYXMsIGFsdGVybmF0aXYgb2RlciB6dXNhZXR6bGljaCB6dW0KQXVzbG9nZ2VuLCBlaW5lIG1vZWdsaWNoZSBTYW5rdGlvbiBmdWVyIGVydGFwcHRlICJnbGVpY2h6ZWl0aWdlIiBad2VpdGllcywKZGFzcyBzaWUgZWJlbiBnZWtlbm56ZWljaG5ldCB3ZXJkZW4uCiAgIERhcyBnYW56ZSBpc3QgYWJlciBuaWNodCB1bnByb2JsZW1hdGlzY2gsIHVuZCB3aXJkIHNpY2hlciBmdWVyIGJvZXNlcwpCbHV0IHNvcmdlbiwgd2VubiBtYW4gU2Fua3Rpb25lbiBkdXJjaHppZWh0LiBBbHNvIHZpZWxsZWljaHQgZG9jaCBlcnN0bWFsIG51cgpkZXIgQXVmcnVmLCBudXIgZWlubWFsIHBybyBSRVAgKFJlYWwgRXhpc3RpZXJlbmRlciBQZXJzb24pIGVpbnp1bG9nZ2VuPwoKWW91cnMsIEd3eW53YWl0ZXIgKGF1Y2ggaW0gTmFtZW4gdm9uIEd3eW5kb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprZWluIHNlbmRlbiBhdWYga2FuYWVsZW4gOiggKE1hbmdvLCAxMS4gSnVsIDE5OTUsIDE2OjA1OjQ3KToKCm5ldWxpY2ggbmFjaCBkZW0gbWV0emVsbgoKPiAtYSB0ZXN0CkR1IGhhc3QgamV0enQgMjggTGViZW5zcHVua3RlIHVuZCAxIE1hZ2llcHVua3RlLgpEdSBoYXN0IGpldHp0IDI4IExlYmVuc3B1bmt0ZSB1bmQgMiBNYWdpZXB1bmt0ZS4KCkZlaGxlcjogRHUgYmlzdCBtZW50YWwgenUgZXJzY2hvZXBmdC4KCkJlbnV0enVuZzogLVsrLX4/XTxFYmVuZT5bJyA6O108VGV4dD4gb2RlciAtISAtISEgLSUKCndhcyBzb2xsIGRhcz8KZGEga2FubiBtYW4gamEgbmljaHQgbWFsIGltIG5vdGZhbGwgaXJnZW5kd2VuIHVtIGhpbGZlIHJ1ZmVuIDooCgplaW4gc3RhcmsgZ3J1ZWJlbG5kZXIgTWFuZ28uCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3ZWl0aWVzIChLaGlkYXIsIDExLiBKdWwgMTk5NSwgMTk6MTI6MjcpOgojISBybj1Hd3lud2FpdGVyIHJ0PTgwNTQ3MDU0MApOdXIgZWluZW4gQ2hhcmFrdGVyIGdsZWljaHplaXRpZyBlaW5nZWxvZ2d0IGZhZW5kZSBpY2ggbmljaHQgZ3V0LiBJY2ggbmVobQptZWluZW4gWndlaXRpZSBzZWhyIG9mdCwgdW0gZGllIERpc2t1c3Npb25lbiBhdWYgZGVuIEthbmFlbGVuIHp1IHZlcmZvbGdlbiwKYXVjaCB3ZW5uIGljaCBncmFkIGthZW1wZiB1bmQgZXMgYmVpIG1pciBzY3JvbGx0LgoKSnVzdCBteSBTZW5mLCBLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgozRC1tdWQgKFdhcmxvcmQsIDExLiBKdWwgMTk5NSwgMjI6MDQ6NTUpOgoKSWNoIHBlcnNvZW5saWNoIGZpbmRlIGRpZSBJZGVlIG5pY2h0IHNjaGxlY2h0IHVuZCBmaW5kZSBlcyBzY2hhZGUsIGRhc3Mgc2llCmhpZXIgbnVyIG5pZWRlciBnZW1hY2h0IHdpcmQuIFdvIGJsZWlidCBldXJlIEF1Zmdlc2NobG9zc2VuaGVpdCB1bmQgdm9yIGFsbGVtCmV1cmUgUGhhbnRhc2llID8KCkRhcyBQcm9ibGVtIG1pdCBkZW0gTmV0enRyYWZpYyBsYXNzdCBzaWNoIGRvY2ggc28gbG9lc2VuLCBpbiBkZW0gbWFuIHp1bQpTcGllbGVuIGVpbiBGcm9udGVuZC1Qcm9ncmFtbSBiZW51ZXR6dCwgZGFzIGRpZSBCaWxkZXIgYmVpbmhhbHRldC4gRXMgd2VyZGVuCmRhbm4gbnVyIERhdGVuIGF1c2dlc3RhdXNjaHQsIGRpZSBkaWUgRGFzIEFuemVpZ2VuIGRlciBCaWxkZXIgc3RldWVydC4gU28KbXVlc3NlbiBuaWNodCBkaWUgQmlsZGVyIHVlYmVydHJhZ2VuIHdlcmRlbi4KRGVyIE5hY2h0ZWlsIGRhYmVpIGlzdCwgZGFzcyBtYW4gaW1tZXIgd2llZGVyIGRpZXNlcyBQcm9ncmFtbSBhYmRhdGVuIG11c3MKdW5kIGRhc3MgbWFuIGV2ZW50dWVsbCBQcm9ibGVtZSBtaXQgZGVtIFBsYXR0ZW5wbGF0eiBiZWtvbW10LCB3ZWlsIGVzIG1laHJlcgpNZWdhYnl0ZXMgYmVhbnRzcHJ1Y2hlbiBkdWVyZnRlLiBBYmVyIHRlY2huaXNjaCBsb2VzYmFyIGlzdCBlcy4gRGVyIEF1ZndhbmQKc3RlaWd0IGhhbHQuCgoJV2FybG9yZAoKUC5TLjogQm9pbmcgaGF0IHZvbGxrb21tZW4gcmVjaHQsIGRhc3MgZWluIFRleHRvcmllbnRpZXJ0ZXMgTVVEIGRpZSBQaGFudGFzaWUKYW5yZWd0IHVuZCBkYXMgaXN0IGVpbmVyIGRlciBHcnVlbmRlLCB3YXJ1bSBtaXIgZGFzIFNwaWVsZW4gaGllciBTcGFzcyBtYWNodC4KVHJvdHpkZW0gZmluZGUgaWNoIGRpZSBJZGVlIGd1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgKEphZiwgMTIuIEp1bCAxOTk1LCAwMDowNjoyMCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA1NDk4MzIwCgpIbSwgZGllIFNhZXVyZWJhZWxsZSBrYW5uc3RlIHZvcmhlciBhbiBlaW5lbiAnc2ljaGVyZW4nIE9ydCBpbQpvCnUKTHVwaW5lbnRhbCBzY2hhZmZlbi4gSWNoIGJpbiB1ZWJyaWdlbnMgZGVyIE1laW51bmcsIGRhc3MgNjAKS3VnZWxuIHVudGVyIFVtc3RhZW5kZW4gKmdyaW5zKiBhdXNyZWljaGVuLi4uIHVuZCBkaWUga2FubiBqZWRlcgptaXQgdm9sbGVuIFN0YXRzIHRyYWdlbi4KCkphZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuc2VyIG11ZCAoUnluZSwgMTIuIEp1bCAxOTk1LCAwNDozNDoyMik6CmhpIQoKYW5sYWVzc2xpY2ggZGVyIGdyb3NzZW4gZGlza3Vzc2lvbiwgZGllIGVzIGhldXRlIHp1bSB0aGVtYSBrYXJhdGVnaWxkZSBuYWNoCmRlbSB6d2VpdGVuIGNyYXNoIGdlZ2ViZW4gaGF0LCBtdXNzIGljaCB3b2hsIG1hbCB3aWVkZXIgd2FzIHZvbiBtaXIgZ2ViZW4uCnp1ZmFlbGxpZyBoYWJlIGljaCBuYWVtbGljaCBlaW5pZ2UgbWludXRlbiwgYmV2b3IgaWRpZXNlIGRpc2t1c3Npb24gYXVzYnJhY2gsCm1pdCBib2luZyB1ZWJlciBzZWluZSByZWFrdGlvbmVuIGF1ZiBlaW5pZ2Ugc3BpZWxlcmFydGlrZWwgZ2VzcHJvY2hlbiwgdW5kCm1laW5lbiBkYXJhdWZoaW4gZ2Vwb3N0ZXRlbiBhcnRpa2VsIChkZXIgbWl0dGxlcndlaWxlIGdlbG9lc2NodCBpc3QsIHdlaWwgaWNoCm1laW5lIG1laW51bmcgZ3J1ZW5kbGljaCBnZWFlbmRlcnQgaGFiZSAtIGRlc2hhbGIgYXVjaCBkaWVzZXIgYXJ0aWtlbCkuIHVuZApnZW5hdSB1ZWJlciBzcGllbGVycmVha3Rpb25lbiwgd2llIHNpZSBudXIgbWludXRlbiBzcGFldGVyIHVlYmVyIGRpZSBrYW5hZWxlCmdpbmdlbiwgc3ByYWNoZW4gd2lyIGRhYmVpLi4uIHByaW1hZXIgZ2luZ3MgbGV0enRsaWNoIGRhcnVtLCBkYXNzIGRpZSBzcGllbGVyCmluIGRpZXNlbSBtdWQgaW4gbGV0enRlciB6ZWl0IGltbWVyIGRhbm4sIHdlbm4gZXR3YXMgbmljaHQgc28gbGFldWZ0LCB3aWUgZXMKaWhuZW4gZ2VmYWVsbHQsIG9mdCBpbiByZWljaGxpY2ggbW90emlnZW0gdG9uIHZlcmFlbmRlcnVuZ2VuIHZlcmxhbmdlbi4gZGFzcwpkYW5uIHJlYWt0aW9uZW4gdm9uIG1hZ2llcm4ga29tbWVuLCBkaWUgYXVjaCBuaWNodCBnZXJhZGUgbmV0dC0gb2Rlcgprb25zdHJ1a3RpdiAtIHNpbmQgKHdhcyBpY2ggYmVpIGJvaW5nIGphIGJlbWFlbmdlbHQgaGF0dGUpIGlzdCB2aWVsbGVpY2h0Cm5pY2h0IGRhcyBvcHRpbWFsZSwgYWJlciBkdXJjaGF1cyBuYWNoenV2b2xsemllaGVuLiBzbyBrb21tdCBlcyBkYW5uCmxldHp0ZW5kbGljaCBkYXp1LCBkYXNzIGRpZSBzcGllbGVyIHNhdWVyIHNpbmQsIHdlaWwgZGllIHByb2dyYW1taWVydW5nIG5pY2h0Cm9wdGltYWwgaXN0LCBkaWUgbWFnaWVyIHNpY2ggYWJlciB1ZWJlciBkaWUgZm9yZGVydW5nZW4gZGVyIHNwaWVsZXIgYWVyZ2VybiwKd29yYXVmIGRpZSBzcGllbGVyIHNpY2ggdWViZXIgZGllIG1hZ2llciBhZXJnZXJuIHVzdy4uLi4uIGJpcyBkaWUgbWFnaWVyCmlyZ2VuZHdhbm4gbWFsIHNhZ2VuLCBkYXMgcmVpY2h0IGpldHp0LCBkaWUgc29sbGVuIGlocmVuIGtyYW0gc2VsYnN0IG1hY2hlbi4KaXJnZW5kd2llIGF1Y2ggdmVyc3RhZW5kbGljaC4gdW5kIGdlbmF1LCB3byBpY2ggbWl0IGJvaW5nIHVlYmVyIGRpZXNlCnNpdHVhdGlvbiBzcHJlY2hlLCBrb21tdCBkaWVzZSB2b2VsbGlnIHNjaGFyZiBnZWZ1ZWhydGUgZGlza3Vzc2lvbiBhdWYgZGVuCmthbmFlbGVuIGF1ZiAuLi4KCm51biBpc3QgbmF0dWVybGljaCBhdWNoIGRlciBhZXJnZXIgZGVyIHNwaWVsZXIgdmVyc3RhZW5kbGljaCwgd2VubiBldHdhcwpvZmZlbnNpY2h0bGljaCBmYWxzY2ggbGFldWZ0LiB3YXMgaW0gbW9tZW50IGluIGRlciBrYXJhdGVnaWxkZSBhYmxhZXVmdCwKZmluZGUgaWNoIG5hdHVlcmxpY2ggYXVjaCBuaWNodCBndXQuIGhpZXIgc2luZCBkaWUgcmVsYXRpb25lbiBpbSBtb21lbnQKdm9lbGxpZyB2ZXJzY2hvYmVuIHVuZCBtdWVzc2VuIGtvcnJpZ2llcnQgd2VyZGVuLiBhYmVyIGthbm4gbWFuIGRhcyBuaWNodAplcmhlYmxpY2ggbmV0dGVyIHNhZ2VuLCBhbHMgZGFzIHVlYmVyIGRpZSBrYW5hZWxlIGthbSA/IChvZGVyIGVyaW5uZXJ0IGV1Y2gKZGFyYW4sIGFscyBlcyBtaXQgZGVyIGdpbGRlIG5vY2ggc2NobGltbWVyIHdhciB2b3IgZGVtIGVyc3RlbiByZWJvb3QgZ2VzdGVybiwKdW5kIGFsbGUgbmFjaCByb2NodXMgc2NocmllZW4sIHVuZCBlcyBzY2hvbiBzbyBrbGFuZyB3aWUgJ3dpZSBrYW5uIHJvY2h1cyBlcwpibG9zcyB3YWdlbiwgZWlubWFsIGZ1ZXIgMiBzdHVuZGVuIG5pY2h0IHZvciBkZW0gcmVjaG5lciB6dSBzaXR6ZW4/JykKCndlbm4gc2ljaCBoaWVyIG1hbmNoZSBtYWdpZXIgbnVyIG5vY2ggd2llIHByb2dyYW1taWVya25lY2h0ZSB2b3Jrb21tZW4sIHNvCmxpZWd0IGRhcyBzaWNoZXIgYXVjaCBkYXJhbiwgZGFzcyBkZXIgdG9uIGRlciBzcGllbGVyIG5pY2h0IGltbWVyIHBhc3N0LiB1bmQKc293YXMgZnVlaHJ0IGdld2lzcyBuaWNodCBkYXp1LCBkYXNzIGRpZSBtYWdzIG1laHIgc3Bhc3MgYW4gZGVyIGFyYmVpdCBoaWVyCmhhYmVuLiBrYW5uIG1hbiBiZXJlY2h0aWd0ZSBmb3JkZXJ1bmdlbiBvZGVyIHZvcnNjaGxhZWdlIG5pY2h0IGluIHJ1aGUgdW5kCmdlbGFzc2VuaGVpdCB2b3JicmluZ2VuIHVuZCBkaXNrdXRpZXJlbiA/IHNvd2FzIHd1ZXJkZSBkb2NoIGVyaGVibGljaCBtZWhyCmJyaW5nZW4gYWxzIGRlciBpbiBsZXR6dGVyIHplaXQgZWluZ2VyaXNzZW5lIHRvbiAoei5CLiBhbHMgZXMgdW0gZGllCm1vZWdsaWNoa2VpdGVuIGdpbmcsIGFid2VocmVuIGltIEpvZGFuLWJlcmVpY2ggenUgdWViZW4sIG9kZXIgdW0gZGllIGFyZW5hKSwKb2RlciA/CgpBbHNvLCBmYXppdCwgd2VubiBiZWlkZSBzZWl0ZW4gc2ljaCBtZWhyIG11ZWhlIGdlYmVuLCB3ZXJkZW4gZGllIHNwaWVsZXIKc2ljaGVyIG1laHIgZXJyZWljaGVuIGFscyBiaXNoZXIsIHVuZCB3ZW5uIG1hbiBldHdhcyBuZXR0ZXIgbWl0ZWluYW5kZXIKdW1nZWh0LCBkYW5uIGhhdCBtYW4gb2JlbmRyZWluIGF1Y2ggbm9jaCBtZWhyIHNwYXNzLCBpbiBkaWVzZW0gbXVkIHp1CnNwaWVsZW4uCgpXb2xsbiBtZXIgPwoKUnluZSB3aWxsLiBXZXIgbWFjaHQgbWl0ID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB1bnNlciBtdWQgKEhhZHJhLCAxMi4gSnVsIDE5OTUsIDA1OjM3OjU3KToKIyEgcm49UnluZSBydD04MDU1MTY0NjIKaGkgbXVkZGllcywgaGkgcnluZSwKCmphIGVpbiAnenVzYW1tZW4nIHZvbiBzcGllbGVybiB1bmQgbWFnaWVybiBpc3Qgbm90d2VuaWRpZyBkYW1pdCBkYXMgbXVkCmZ1bmt0aW9uaWVydC4gdW5kIG5hdHVlcnRsaWNoIGZ1bmt0aW9uaWVydCBuaWNodCBpbW1lciBhbGxlcyBhdWYgYW5oaWViIHVuZAp6dSAxMDAlLiBkYXMgaXN0IHVucyBzaWNoZXJsaWNoIGF1Y2ggYWxsZW4ga2xhci4KCndhcyBtaXIgZnVlciBkaWVzZXMgenVzYW1tZW4gYWxsZXJkaW5ncyBtYW5jaG1hbCBldHdhcyBmZWhsdCBpc3QgZGllCmtvbW11bmlrYXRpb24gdm9uIG1hZ2llcnNlaXRlIGF1cy4gd2VubiBpY2ggbWljaCBhbSB0YWcgMyBtYWwgZWlubG9nZ2UgdW5kCmplZGVzbWFsIG5lIHZlcmFlbmRlcnRlIGZ1bmt0aW9uIGZlc3RlbGxlLCBpc3QgZGFzIGhhbHQgbmVydmVuZC4gZGEgd2FlcmUKZWluIG5ldHRlciBrbGVpbmVyIGFydGlrZWwgZGVyIG1hZ2llciBpbiBkZXIgbXBhIGdhbnogbmV0dCBhIGxhCid3aXIgd29sbGVuIHZlcnN1Y2hlbiBkYXMga2FtcGZzeXN0ZW0gdm9uIGFiZW50ZXVyZXJlbiB1bmQga2FyYXRla2FzCmFucGFzc2VuLiB3ZW5ucyBuaWNodCBkaXJla3Qga2xhcHB0IGJpdHRlIGdlZHVsZCcgb2RlciB3YXMgYXVjaCBpbW1lciBkZXIKZ3J1bmQgZnVlciBzaHV0ZG93bnMgd2FyLCBmcmV1ZW4uCgpzaWNoZXJsaWNoIHdlcmRlbiBkaWUgZGlza3Vzc2lvbmVuIGRpZSB3aXIgaW4gZGVyIG1wYSBmdWVocmVuIGF1Y2ggYXVmIGRpZQplaW5lIG9kZXIgYW5kZXJlIHdlaXNlIHVudGVyIGRlbiBtYWdpZXJuIGdlZnVlaHJ0LiB1bmQgZGFzcyBzcGllbGVyIHVuZAptYWdpZXIgaGluIHVuZCB3aWVkZXIgdW50ZXJzY2hpZWRsaWNoZXIgYXVmZmFzc3VuZyBzaW5kIGVyZ2lidCBzaWNoIGF1cwppaHJlbiB1bnRlcnNjaGllZGxpY2hlbiBpbnRlcmVzc2VuIHVuZCBmdW5rdGlvbmVuLiBudXIgZGVyZW4gcnVicmlrZW4ga2FubgppY2ggbmljaHQgbGVzZW4uIGFsc28gd2Vpc3MgaWNoIGFscyBzcGllbGVyIG5pY2h0LCBvYiBkYXJhbiBnZWFyYmVpdGV0IHdpcmQsCm9icyBrZWluZW4gaW50ZXJlc3NpZXJ0IG9kZXIgd2FzIGVpZ2VudGxpY2ggbG9zIGlzdC4KCmRpZXNlIHNpdHVhdGlvbiBkZXMgJ2F1c2dlbGllZmVydC1zZWluJywgdm9yIGFsbGVtIHdlbm4gZGllIGFlbmRlcnVuZ2VuCm5pY2h0IGRhcyBicmluZ2VuLCB3YXMgZGllIHNwaWVsZXIgc2ljaCBlcmhvZmZ0IGhhYmVuLCBmb2VyZGVydCBoYWx0IGF1Y2gKZGllIG1hdWxlcmVpIHVudGVyIGRlbiBzcGllbGVybi4gZGFzIG5lcnZ0IGRpZSBtYWdpZXIgdW5kIHdpciBrb21tZW4gaW4gZGVuCnZvbiByeW5lIGJlc2NocmllYmVuZW4ga3JlaXMuCgppY2ggZ2xhdWJlIGplZGVyIHNwaWVsZXIgaGllciBoYXQgdmVyc3RhZW5kbmlzIGRhZnVlciwgZGFzcyBkYXMgbXVkIHNpY2gKd2VpdGVyZW50d2lja2xldCB1bmQgZGFzcyB2ZXJhZW5kZXJ1bmdlbiBkYWR1cmNoIGF1dG9tYXRpc2NoIGtvbW1lbiBtdWVzc2VuLgoKZXMgZmFlbGx0IGFiZXIgc2ljaGVyIGFsbGVuIHZpZWwgbGVpY2h0ZXIgdmVyYWVuZGVydW5nZW4genUgYWt0emVwaWVyZW4sCndlbm4ga2xhciBnZXNhZ3Qgd2lyZCB3YXJ1bSBkaWVzZSBhZW5kZXJ1bmdlbiBub3R3ZW5pZyBzaW5kLgoKaWNoIHdlaXNzIGF1Y2gsIGRhc3MgZWluIG11ZCBrZWluZSBkZW1va3JhdGllIGlzdCwgYWJlciBlaW5lIGVya2xhZXJ1bmcgZGFubgp1bmQgd2FubiBzY2hhZGV0IHNpY2hlciBuaWNodC4KCmhhZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoeWRyYS0+cnVobSh0aGlzX3BsYXllcigpKSAoVG9ldGVyLCAxMi4gSnVsIDE5OTUsIDA4OjQ0OjA2KToKWnVyIEh5ZHJhIG11c3MgaWNoIGF1Y2ggbWFsIHdhcyBzY2hyZWliZW46IE5hdHVlcmxpY2ggaXN0IGVzIGVpbmUgSGVyYXVzLQpmb3JkZXJ1bmcsIG1pdCBsb2dpc3Rpc2NoZW0gQXVmd2FuZCAoQWJwYXNzZW4gZGVzIHJpY2h0aWdlbiBBdWdlbmJsaWNrZXMsCjYweCAid2lyZiBrdWdlbCIgZWluZ2ViZW4gOykgZGllIEh5ZHJhIGFsbGVpbmUgYWxsZSB6dSBtYWNoZW4uIEFiZXIgaWNoCmRlbmtlLCBtYW4gc29sbHRlIGRlbiAnUnVobScgZGVuIG1hbiBkYW1pdCBlcndpcmJ0IHJlbGF0aXZpZXJlbiBnZWdlbnVlYmVyCmRlbSBTcGFzcywgZGVuIG1hbiBoYXQsIHdlbm4gbWFuJ3MgenUgbWVocmVyZW4gKGF1Y2ggZXJmb2xnbG9zKSBwcm9iaWVydC4KUnVlY2tibGlja2VuZCBtdXNzIGljaCBiZWkgbWlyIGZlc3RzdGVsbGVuLCBkYXNzIGljaCBlaGVyIG1laW5lIHNpbm5sb3Nlc3RlbgpnZW1laW5zYW1lbiBUb2RlIG1pdCBhbmRlcmVuIFNwaWVsZXJuIGluIHBvc2l0aXZlcmVyIEVyaW5uZXJ1bmcgKHp1c2FtbWVuIG1pdApSeW5lIGFtIFdvbHBpZWNsdWJyYXVzc2NobWVpc3NlciBrcmVwaWVydCwgd2VyIGJpZXRldCBtZWhyPyA6KSBoYWJlIGFscwptZWluZSBhbGxlaW5pZ2VuIEhvZWNoc3RsZWlzdHVuZ2VuICh3ZWxjaGUgYXVjaCBpbW1lcikuIEFsc286IGF1Y2ggd2VubgpzaWNoIHZpZWxlIChrYW1wZi0pdGVjaG5pc2NoZSBQcm9ibGVtZSBhbSBiZXN0ZW4gYWxsZWluZSBsb2VzZW4gbGFzc2VuLApzb2xsdGUgbWFuIHZpZWxsZWljaHQgYXVjaCBtYWwgbWl0IGRlbSBub2V0aWdlbiBVbmVybnN0IGFuIGRpZSBTYWNoZSBnZWhlbgp1bmQgbWFuY2hlIE1vbnN0ZXIgZWluZmFjaCBtYWwgenUgbWVocmVyZW4gYW5nZWhlbiwgbWVociBhbHMgZWluIHBhYXIKZGFlbWxpY2hlIFB1bmt0ZSBrYW5uIG1hbiBkYWJlaSBuaWNodCB2ZXJsaWVyZW4uCiAgICBUb2V0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTbyB2aWVsIHp1bSBUaGVtYSBadXNhbW1lbmFyYmVpdC4uIDopIChaZXBoeXIsIDEyLiBKdWwgMTk5NSwgMTE6NDc6MjUpOgpbTW9lcmRlcjpHZWlzdCBlaW5lcyBIeWRyYWtvcGZzXSBLaWVzZWxzdGVpbiwgd2VyIGhhdCBESUNIIGRlbm4gZWluZ2VsYWRlbj8KPiBbU2VoZXI6S2llc2Vsc3RlaW5dIFNvIGRhcyB3YXJzLCBpY2gga2FubiBuaWNodHMgbWVociB0cmlua2VuCltUb2Q6XSBFaW5lIEh5ZHJhIGhhdCBnZXJhZGUgRWxsZXJ0IHVtZ2VicmFjaHQuCj4gW1NlaGVyOlJ5bmVdIGljaCBhdWNoIG5peCA6KApbVG9kOl0gRWluIEh5ZHJha29wZiBoYXQgZ2VyYWRlIEdhc3QxIHVtZ2VicmFjaHQuCltUb2Q6XSBFTExFUlQgVkVSU1VDSFRFLCBNSVIgWlUgRU5US09NTUVOIC0gSkVUWlQgSEFCRSBJQ0ggV0lFREVSCltTZWhlcjpHdXlicnVzaF0gV2FzIG1hY2h0IGlociBkYSBlaWdlbnRsaWNoPwo+IFtTZWhlcjpDYXR3ZWF6bGVdIEh5ZHJhIGtpbGxlbgpbU2VoZXI6QW5ha2luXSBzdGVyYmVuLi47KQo+IFtTZWhlcjpDYXR3ZWF6bGVdIHNjaG9uIHNlaXQgbmVyIGhhbGJlbiBzdHVuZGUgLikKW1NlaGVyOktpZXNlbHN0ZWluXSBEYSBrYWVtcGZ0IG1hbiBzbyB0YXBmZXIgdW5kIGRhbm4gc2NoZWl0ZXJ0IGVzIGRhcmFuLApbU2VoZXI6S2llc2Vsc3RlaW5dIGRhc3MgbWFuIG5peCBtZWhyIHRyaW5rZW4ga2Fubi4gQmxvZWRlIHNhY2hlCltTZWhlcjpGcm9zY2ggTWFnaWNvbGxpXSBMYXNzdCBtaXIgYXVjaCBub2NoIHdhcyB1ZWJyaWcgdm9uIGRlciBIeWRyYS4gOikKW1NlaGVyOktoaWRhcl0gaHlkcmEgYmVndXRhY2h0ZW4KW1NlaGVyOkd1eWJydXNoXSBzZWl0IHdhbm4gbGFldWZ0IHNpZSBzb2xhbmdlIGRhcnVtPwpbU2VoZXI6Unh0ZWNoXSBtdXNzIHRhbmtlbgpbU2VoZXI6S2hpZGFyXSBpY2ggS0FOTiBuaWNodHMgbWVociB0YW5rZW4KPiBbU2VoZXI6Unh0ZWNoXSBpc3MgZGVyIGtvZXJwZXIgdm9uIGRlbSB2aWVoIGVpZ2VudGxpY2ggYXVjaCBhbmdla3JhdHp0PwpbU2VoZXI6UnluZV0gdmllbGxlaWNodCBzYWd0IGNhdCB1bnMgaGludGVyaGVyLCB3aWV2aWVsZSBscCB3aXIgaWhyIG1heGltYWwKW1NlaGVyOlJ5bmVdIGdlem9nZW4gaGF0dGVuCltTZWhlcjpHdXlicnVzaF0gb29wcywgamV0enQgaGFiIGljaCBncmFkIG1laW5lIGRyZWkgaG9lcm5lciB2ZXJrYXVmdCA6KQpbU2VoZXI6Unh0ZWNoXSBrYW5uIGNhdCB1bnMga2VpbmVuIHp3aXNjaGVuc3RhbmQgZ2ViZW4/CltTZWhlcjpZYW50cm9dIGRlciBrb2VycGVyIGlzdCBmaXQKW1NlaGVyOlphcmRvel0gYWxzbywgZGVyIEtvZXJwZXIgZGVyIEh5ZHJhIGhhdCBnZW5hdSAzIExlYmVuc3B1bmt0ZSB2ZXJsb3JlbgpbU2VoZXI6Q2F0d2VhemxlXSBIbSwgaW0gTW9tZW50IGZlaGxlbiBpaHIgd2VsY2hlIDopCltTZWhlcjpLaGlkYXJdIFdBU1NTU1M/IGtvbWlzY2gKW1NlaGVyOk5vcndlZ2VyIGdyaW5zdF0KW1NlaGVyOkFuYWtpbl0gdm9uIDEyMDAgLi47KQpbU2VoZXI6Q2F0d2VhemxlXSBQZXR6ZSA6KQpbU2VoZXI6Unh0ZWNoXSB6YWVoZXMgbHVkZXIKW1NlaGVyOllhbnRyb10gdW5kIGtudWRkZWwgYWxsZSBlcmdpYnQgMTAga29lcGZlCltTZWhlcjpDYXR3ZWF6bGVdIFp3aXNjaGVuZHVyY2ggaGFidCBpaHIgaWhyIHNjaG9uIG1hbCAzMCBBYmdlem9nZW4gOikpKQpbU2VoZXI6WWFudHJvIGdyaW5zdF0KW1NlaGVyOk1vcmdvdGhdIHdpcmQgc2llIGVpZ2VudGxpY2ggdm9uIGZsYW1tZW5rdWdlbG4gdmVybGV0enQgPz8/PwpEaWUgSHlkcmEgZXJoZWJ0IHNpY2ggYXVzIGRlbSBUYWwuCltTZWhlcjpLaGlkYXJdIGtsYXIKW1NlaGVyOlJ5bmVdIGVnYWwsIHNvd2FzIGhhdCBqZWRlbmZhbGxzIHNlaHIgdmllbCBtZWhyIHNwYXNzIGdlbWFjaHQgYWxzCltTZWhlcjpSeW5lXSBzb25zdCwgdW5kIGltbWVyaGluIGhhdHRlbiBkaWUgbWVpc3RlbiB2b24gdW5zIGphIGF1Y2gga2VpbmUKW1NlaGVyOlJ5bmVdIG9yZGVudGxpY2hlIGF1c3J1ZXN0dW5nCltTZWhlcjpUYXpdIHNpY2hlcgpbQWxsZ2VtZWluOlRhel0gdW5kIHdlY2gKW1NlaGVyOktoaWRhcl0gd2lua3QgZGVyIEh5ZHJhLgpbU2VoZXI6QW5ha2luXSB5byBzcGFzc2lnIHdhcnMKW1NlaGVyOktpZXNlbHN0ZWluXSBCZWltIG5hZWNoc3RlbiBtYWwgd2lyZCBhbGxlcyBhbmRlcnMgOi0pCltTZWhlcjpNb3Jnb3RoXSBzaW5kIGRpZSBiZXNzZXIgYWxzIGRpZXNlIHNhZXVyZWJhZWxsZSA/Pz8KW1NlaGVyOktoaWRhcl0gYmV6d2VpZmVsdCBkYXMgbWl0IGRlbSBzcGFzcyBhYmVyCltTZWhlcjpHdXlicnVzaF0gaW1tZXIgb2hlbiBtaWNoIDooCltBbGxnZW1laW46QmVuZGVpZ2lkXSBJY2ggZmFlbmRlIGVzIG5ldHQsIHdlbm4gZGllIGJldGVpbGlndGVuIE5JY2h0LVNlaGVyCltBbGxnZW1laW46QmVuZGVpZ2lkXSBhdWNoIHdhcyBkYXZvbiBoYWV0dGVuISEKW1NlaGVyOkFuYWtpbl0gd28gaXMgbWVpbiB6ZXVjaHMgPwpbQWxsZ2VtZWluOkJlbmRlaWdpZCBoYXQgYXVjaCBCdW1pcyB1ZWJlci4gdmVybXV0bGljaCBIeXJkYWthZW1wZmVyXQpbQWxsZ2VtZWluOlJ5bmVdIGphLCBtaXIgZmVobGVuIG5vY2ggMgpbQWxsZ2VtZWluOkJsdWVtZWxdIHdvIGlzdCBkaWUgaHlkcmEKW0FsbGdlbWVpbjpLaGlkYXJdIHMgdm9tIGF2YXJpIHNjaHdlcnQgbGllZ3QgcnVlc3R1bmcKW0FsbGdlbWVpbjpCZW5kZWlnaWRdIEFtIEF1c2dhbmcgZGVzIFRhbHMuCltTZWhlcjpBbmFraW5dIHZvbGxlIGtyb25lLCAyIGJ1bW1pcywgYnNzCltTZWhlcjpLaGlkYXJdIGphCltTZWhlcjpSeHRlY2hdIGRpZSBzYWNoZW4gaGFiIGljaCBhbmFraW4KW0FsbGdlbWVpbjpCZW5kZWlnaWRdIEh5ZHJhIGlzdCB3ZWcKW1NlaGVyOktpZXNlbHN0ZWluXSBJbSBUYWwgbGllZ3QgZWluaWdlciBNdWVsbCBoZXJ1bQpbU2VoZXI6QW5ha2luXSB3byBiaXNzZSBkZW5uID8KW1NlaGVyOlJ4dGVjaF0gZWNodD8gd2VoZyBpc3NpZT8KW1NlaGVyOkFuYWtpbl0gamFqYSBpcyB3ZWNoCltTZWhlcjpSeHRlY2hdIGljaCBzdWNoIGRpZSBzY2h3ZWluZWJhY2tlCltTZWhlcjpSeW5lXSBlZ2FsLCB3ZW5uIHNvd2llc28gcmVib290IGtvbW10LCBicmF1Y2ggaWNoIGRpZSBidW1pcyBuaWNodApbU2VoZXI6QW5ha2luXSBzdGltbXQgYXVjaCB3aWVkZXIuLi4KW1NlaGVyOlJ4dGVjaF0gaWNoIHN0ZWggdm9yIGRlciBrbmVpcGUKW1NlaGVyOkd1eWJydXNoXSByZWJvb3Q/CltTZWhlcjpBbmFraW5dIGluIDEuNSBoCltTZWhlcjpSeW5lXSB3aXIgc3RlaGVuIGdyYWQgbm9jaCB2b3JtIHRhbApbQWxsZ2VtZWluOktoaWRhcl0gYXJnbCwgd2VyIGhhdHRlIG1laW5lIDIgYnVtaXMgZWluZ2VzYW1tbHQsIGJlaW0gZ29sZW0KW1NlaGVyOlJvYWRydW5uZXJdIGljaCBob2VyZSBhYmVyIGFybWFnZ2VkZG9uIG5pY2h0PyEKW1NlaGVyOkd1eWJydXNoXSBzZXVmei4uLmhhZXR0ZSBpY2ggbWlyIGRlbiBidW1pIHNwYXJlbiBrb2VubmVuIDopCltBbGxnZW1laW46QmVuZGVpZ2lkXSBJY2gga2hpZGFyISBLb21tZQpbQWxsZ2VtZWluOktoaWRhcl0gYWhhLCBkYW5rZQpbU2VoZXI6Unh0ZWNoXSB2aWVsZSBlcHMgYnJpbmd0IGRpZSBhYmVyIG5pY2h0IGdyYWRlCltTZWhlcjpSeHRlY2hdIGxpZWdlbiBpcmdlbmR3byBtbmVpbmUgc2FjaGVuPwpbU2VoZXI6Unh0ZWNoXSB3b3csIHNvIHdlaXQgd2FyIGljaCBkcmluCltTZWhlcjpSeHRlY2ggaGF0IHNlaW5lIGtsYW1vdHRlbiBnZWZpdW5kZW5dCltTZWhlcjpDYXJhZGhyYXNdIGFyZ2wKPiBbU2VoZXI6Q2FyYWRocmFzXSBkaWUgZ2VzY2hpY2h0ZSB3aWxsIGljaCBhYmVyIGF1c2Z1ZWhybGljaCBob2VyZW4KW1NlaGVyOlplcGh5ciB3ZWlzcyBsZWlkZXIgbmljaHQsIHdpZSB3ZWl0IGlociByZWNhbGwgcmVpY2h0XQo+IFtTZWhlcjpDYXJhZGhyYXMgd2FlciBqYSBnZXJuZSBtaXQuXQo+IFtTZWhlcjpaYXJkb3pdIERhcyBFcmdlYm5pcyBkZXMgS2FtcGZlczogUlggaGF0IDUgS29lcGZlIGdla2lsbHQsCktpZXNlbHN0ZWluCltTZWhlcjpaYXJkb3pdIDQsIFJ5bmUsIFp3aXJjaCwgQmVuZGVpZ2lkIHVuZCBFbGxlcnQgamUgZWluZW4gS29wZgpbU2VoZXI6WWFudHJvXSB3ZXIgaXN0IGRlbm4gZWxsZXJ0PwpbU2VoZXI6UnluZV0gaGVoZSwgYWxzbyBpc3Qgcnh0ZWNoIGRlciBlcnN0ZSBzaWVnZXIgZGVzIHNlaGVyLWh5ZHJhdHJpcHMKW1NlaGVyOkNhcmFkaHJhc10gaWNoIHdhciBuaWNodCBkYWJlaSEhCltTZWhlcjpDYXJhZGhyYXNdIGdpbHQgbmljaHQKW1NlaGVyOlJ4dGVjaF0gaWNoIGJpbiBhYmVyIGZ1ZXIgdmVybGFlbmdlcnVuZwo+IFtTZWhlcjpCYWJvb25dIFdpZXZpZWxlIGhhdCBkaWUgZGVubj8gSWNoIGRlbmtlIDEyPwpbU2VoZXI6Unh0ZWNoXSBhdXNzZXJkZW0gaGFiIGljaCBudXIgNCBrb2VwcGUKW1NlaGVyOlJ4dGVjaF0gYWJlciBlZ2FsCltTZWhlcjpZYW50cm9dIGJhYm9vbiwgZGllIHdhY2hzZW4gbmFjaApbU2VoZXI6WWFudHJvXSBvYiBEZWluIEtvcGYgYXVjaCBuYWNod2FlY2hzdD8KW1NlaGVyOlJ4dGVjaF0gZ2VobiB3aW9yIGRlbW5hZWNoc3Qgd2llZGVyIGhpbj8KW1NlaGVyOlJ5bmVdIGljaCBmYW5kIGRhcyBsdXN0aWcsIHdhZXJlIGJlc3RpbW10IGRhYmVpCltTZWhlcjpaYXJkb3pdIEljaCBoYWIgaW5zIExvZ2ZpbGUgZGVyIGdla2lsbHRlbiBOUENzIGdlc2NoYXV0LiBEYXMgbXVlc3N0ZQpbU2VoZXI6WmFyZG96XSBzbyBzdGltbWVuCltTZWhlcjpLaGlkYXJdIGhtLCBlcyBrb2VubnRlbiBydWhpZyAyMCBzZWhlciBtaXRtYWNoZW4KW1NlaGVyOktoaWRhcl0gdW5kIHZvcmhhciBtYWwgYWxsZSBlaW5pZ2Uga3VnZWxuIGJlc29yZ2VuCltTZWhlcjpNb3Jnb3RoXSBpY2ggd2lsbCBhdWNoIG1hbCAoc3RlcmJlbikKW1NlaGVyOllhbnRyb10gZXMgZ2lidCBuaWNodCBzbyB2aWVsZSBzZWhlciwgZGllIHNpY2ggdHJhdWVuLCBhdWNoIG1hbCB6dQpbU2VoZXI6WWFudHJvXSBzdGVyYmVuLCBvZGVyPwpbU2VoZXI6UnluZV0gbmUsIG9obmUga3VnZWxuLCBzb25zdCBpc3RzIGphIHp1IGVpbmZhY2gsIG1pdCBrdWdlbG4ga2FubiBtYW5zCltTZWhlcjpSeW5lXSBhdWNoIGFsbGVpbmUgbWFjaGVuIDspCltTZWhlcjpLaGlkYXJdIGhlaGUKW1NlaGVyOkFuYWtpbl0gYWNoIGlzIHdpZSBqZWRlcyBhbmRlcmUgc3RlcmJlbiBhdWNoLi4uaGFiIGRhIEVyZmFocnVuZy4uOykKW1NlaGVyOk1vcmdvdGhdIGFiZXIgZXJzdCB3ZW5ucyBrYXJhdGUgd2llZGVyIGtsYXBwdApbU2VoZXI6S2hpZGFyXSBhYmVyIG1pdCA0IGt1Z2VsbiBqZWRlciBzZWhlciBpc3RzIGF1c3NpY2h0c3JlaWNoZXIKW1NlaGVyOk1vcmdvdGhdIDQga3VnZWxuIG1hbCAyNSBzZWhlciBnaWJ0IC4uLi4uCltTZWhlcjpZYW50cm8ga251ZGRlbHQgYW5ha2luIHRyb2VzdGVuZF0KW1NlaGVyOlJ4dGVjaF0gdmVybGFndCBkaWUgaHlkcmFzZGlza3Vzc2lvbiBuYWNoIGFsbGdlbWVpbgpbU2VoZXI6WndpcmNoXSB3b2Z1ZXIgc2luZCBlaWdlbnRsaWNoIGRpZSBoeWRyYWhvZXJuZXIgZ3V0ID8KW1NlaGVyOkFuYWtpbl0gd2FhYWgsIG1laW4gaG9lcm5lIHNpbmQgamEgYXVjaCB3ZWNoLi4uCltBbGxnZW1laW46Unh0ZWNoXSBhbHNvIGhldXRlIG5hY2htaXR0YWcgd2llZGVyIHJlaW4sIHdlbm4gc2llIGtvbW10PwpbQWxsZ2VtZWluOkFuYWtpbl0gZW5kbGljaCBoYXQgbWVpbiBtZXR6dGVsbiB3aWVkZXIgbmVuIEdydW5kLi47KQoKClNjaGFkZSBudXIsIGRhc3MgZGVyIEFuZmFuZ2UgZmVobHQuLgogIFplcGh5ciwgV2VpY2hlaSwgaGF0IGxpZWJlciB6dWdlaG9lcnQgYWxzIG1pdHp1Z2VoZW4sIGplZGVuZmFsbHMgaGV1dCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NobXVjayAhYyBBbGxlcyA/IChLYWVuZ3VydWgsIDEyLiBKdWwgMTk5NSwgMTI6MjY6NTUpOgojISBybj1LYWVuZ3VydWggcnQ9ODA1NDcwOTY2CmVudHdpY2tsdW5nIHdhciBsZWlkZXIgdm9sbC4uLgoKSWNoIGhhYmUgZGVuIFNjaG11Y2sgamV0enQgc293ZWl0IHZlcmFlbmRlcnQsIGRhc3MKZXIgYXVjaCBhdWYgInRyYWdlIGFsbGVzIiB1bmQgInppZWhlIGFsbGVzIGFuIiBoaW4KYW5nZXpvZ2VuIHdpcmQuIEljaCBob2ZmZSBBbGFyaW4gd2lyZCBkYXMgaW4gZGVuCm5hZWNoc3RlbiBUYWdlbiBpbiBzZWluZW4gSnV3ZWxpZXJsYWRlbiBlaW5iYXVlbiwKZGllIEFlbmRlcnVuZyB0cml0dCBiZWltIG5hZWNoc3RlbiBSZWJvb3QgZGFubiBpbgpLcmFmdCwgaWhyIHdpc3N0IGJlc2NoZWlkIDopClNvbGx0ZSBuaWNodCBhbGx6dWxhbmcgZGF1ZXJuIHdlbm4gZGFzIHNvd2VpdGVyZ2VodC4uLgoKICAgS2Flbmd1cnVoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVuc2VyIG11ZCAoQ3VjaHVsbGluLCAxMi4gSnVsIDE5OTUsIDE0OjE0OjMxKToKIyEgcm49RmxhZ2cgcnQ9ODA1NTQ5Mjg0CgoKRkFMTFMgRHUgdW5iZWRpbmd0IGVpbmVuIDI0LVN0dW5kZW4tS2FyYXRlZ2lsZGUtQmV0cmV1dW5ncy1TZXJ2aWNlIGhhYmVuCm1vZWNodGVzdC4uLgpGQUxMUyBEdSBSb2NodXMgbnVyIE1hZ2llciBzZWluIGxhc3NlbiB3aWxsc3QsIHdlbm4gZXIgdm9uIG1vcmdlbnMgYmlzIGFiZW5kcwpOVVIgcHJvZ2d0Li4uCkZBTExTIER1IC4uLi4KClNhZyBtYWwgLSBrb21tc3QgRHUgRGlyIG5pY2h0IGVpbiBiaXNzY2hlbiBibG9lZCB2b3I/CgotIGN1Y2ggLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdW5zZXIgbXVkIChGbGFnZywgMTIuIEp1bCAxOTk1LCAxNDoxOToyNCk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MDU1NTEyNzEKRGFzIG1vZWNodGUgaWNoIG5pY2h0Li4uLgpEYXMga2FubiBpY2ggdHVuCk5laW4sIGljaCBrb21tIG1pciBuaWNodCBibG9lZCB2b3IgISEKRmxhZ2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcml0dXJpIHRlIHNhbHV0YW50IChDZWxlYmRpbCwgMTIuIEp1bCAxOTk1LCAxNToxMzoxMCk6CkFscyBad2VpdGllIG1pdCBneW1uYXNpYWxlciBIYWxiYmlsZHVuZyBkZXIgQWthZGVtaWUgYXVzIFBWIHdhZWhsdGUgaWNoCm1hbCBkaWVzZW4gVGl0ZWwgZnVlciBtZWluZW4gVG9kLCBkZXIgbWljaCBldHdhcyBpbiBFcnN0YXVuZW4gc2V0enRlLgoKSGllciBzZWh0IHNlbGJzdDoKCj4gR2F2YWdhbidzIEJhci4KRXMgZ2lidCBkcmVpIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IHN1ZWRvc3Rlbiwgbm9yZHdlc3RlbiB1bmQgbm90YXVzZ2FuZy4KR29sZHNwYXR6IFplcGh5ciBJLiB2b24gdW5kIHp1IFNTUC4KRWluIFNhcmcgKGdlb2VmZm5ldCkuCkdvbGRkcmFjaGUgQ2FyYWRocmFzIEkuIHZvbiB1bmQgenUgU1NQLgpFaW4gQXJjaGl0ZWt0LgpEaWUgVG9wLUxpc3RlLCBUb3AtU3BpZWxlcmxpc3RlLCBUb3AtU2VoZXJsaXN0ZSB1bmQgVG9wLVp3ZWl0aWxpc3RlLgo+IERlciBTYW5kdGlnZXIgc2FndDogSGFsbG8sIENlbGViZGlsISAgICAvKnN0YXVuKi8KRHUgYmV0cml0dHN0IGRlbiBTYXJnLgpFaW4gU2FyZyAoZ2VvZWZmbmV0KS4KRHUgc2NobGllc3N0IGRlbiBTYXJnLgpEZXIgU2FyZyBpc3QgamV0enQgYWJnZXNjaGxvc3Nlbi4gTHVmdGRpY2h0Lgo+IER1IGhhc3QgMzI5MjI1IEVyZmFocnVuZ3NwdW5rdGUsIDQ4MCBBYmVudGV1ZXJwdW5rdGUoMTgxNSksCjEyMSBMZWJlbnNwdW5rdGUoMjEwKSB1bmQgMTg2IE1hZ2llcHVua3RlKDE4NikKRHUgYmlzdCAiQ2VsZWJkaWwgZGVyIGFuZ2VoZW5kZSBNYWdpZXIuIgpEZWluZSBBdHRyaWJ1dGUgc2VoZW4gc28gYXVzOgpJbnRlbGxpZ2VuejogMTcgKCsxKSBLcmFmdDogMTYgKCsxKSBBdXNkYXVlcjogMjAgKCsxKSBHZXNjaGlja2xpY2hrZWl0OiAxNQooKzMpClZvcnNpY2h0LU1vZHVzICg0MCkKQWx0ZXI6ICAyMiBUYWdlIDE5IFN0dW5kZW4gNTEgTWludXRlbiA2IFNla3VuZGVuLgpEZWluIENoYXJha3RlciBpc3QgaGVpbGlnLgo+IFtBbGxnZW1laW46QW5ha2luXSBqYWphIHNvIGhlaXN0IGplbWFuZApEaWUgTHVmdCB3aXJkIGltbWVyIHN0aWNraWdlci4uLgpEdSBoYXN0IDMyOTIyNSBFcmZhaHJ1bmdzcHVua3RlLCA0ODAgQWJlbnRldWVycHVua3RlKDE4MTUpLAoxMjQgTGViZW5zcHVua3RlKDIxMCkgdW5kIDE4NiBNYWdpZXB1bmt0ZSgxODYpCkR1IGJpc3QgIkNlbGViZGlsIGRlciBhbmdlaGVuZGUgTWFnaWVyLiIKRGVpbmUgQXR0cmlidXRlIHNlaGVuIHNvIGF1czoKSW50ZWxsaWdlbno6IDE3ICgrMSkgS3JhZnQ6IDE2ICgrMSkgQXVzZGF1ZXI6IDIwICgrMSkgR2VzY2hpY2tsaWNoa2VpdDogMTUKKCszKQpWb3JzaWNodC1Nb2R1cyAoNDApCkFsdGVyOiAgMjIgVGFnZSAxOSBTdHVuZGVuIDUxIE1pbnV0ZW4gNDAgU2VrdW5kZW4uCkRlaW4gQ2hhcmFrdGVyIGlzdCBoZWlsaWcuCj4gW0FsbGdlbWVpbjpaZXBoeXJdIENhcmEgYnJpbmd0IHNlaW5lbiBlaWdlbmVuIFp3ZWl0aWUgdW0uLi4KRGllIEx1ZnQgd2lyZCBpbW1lciBzdGlja2lnZXIuLi4KW0FsbGdlbWVpbjpDYXJhZGhyYXNdIG5vZSwgZGVyIGlzdCBhbGxlaW5lIGRhIHJlaW5nZWtsZXR0ZXJ0CltBbGxnZW1laW46Q2FyYWRocmFzIGtsb3BmdCBhbSBTYXJnIGFuLiBIdWh1IENlbGViLCBub2NoIGRhP10KW0FsbGdlbWVpbjpaZXBoeXJdIER1IG1hY2hzdCBpaG0gYWJlciBhdWMgbmljaHQgd2llZGVyIGF1Zi4uCkRpZSBMdWZ0IHdpcmQgaW1tZXIgc3RpY2tpZ2VyLi4uCjEyMiBMZWJlbnNwdW5rdGUoMjEwKSB1bmQgMTg2IE1hZ2llcHVua3RlKDE4NikKPiBbQWxsZ2VtZWluOkNlbGViZGlsIG11cm1lbHQgd2FzIHZvbiBpbm5lbiByYXVzLiBEdSBob2Vyc3QgZWluIEh1c3Rlbi5dCj4gRGllIEx1ZnQgd2lyZCBpbW1lciBzdGlja2lnZXIuLi4KMTIwIExlYmVuc3B1bmt0ZSgyMTApIHVuZCAxODYgTWFnaWVwdW5rdGUoMTg2KQo+IFtBbGxnZW1laW46Q3VjaHVsbGluXSBDYXJhLCBEdSBad2VpdGllLVF1YWVsZXIuCltBbGxnZW1laW46QW5ha2luXSBqYSBnaWJ0IGVzIGlobSEKW0FsbGdlbWVpbjpBbmFraW5dIGZ1ZXIgZGllIEh5ZHJhCkRpZSBMdWZ0IHdpcmQgaW1tZXIgc3RpY2tpZ2VyLi4uCjExNyBMZWJlbnNwdW5rdGUoMjEwKSB1bmQgMTg2IE1hZ2llcHVua3RlKDE4NikKPiBEaWUgTHVmdCB3aXJkIGltbWVyIHN0aWNraWdlci4uLgpEaWUgTHVmdCB3aXJkIGltbWVyIHN0aWNraWdlci4uLgpEdSBzYWdzdDogaG0KPiBEaWUgTHVmdCB3aXJkIGltbWVyIHN0aWNraWdlci4uLgoxMDIgTGViZW5zcHVua3RlKDIxMCkgdW5kIDE4NiBNYWdpZXB1bmt0ZSgxODYpCjEwMyBMZWJlbnNwdW5rdGUoMjEwKSB1bmQgMTg2IE1hZ2llcHVua3RlKDE4NikKPiBUb2Qgc2FndDogR0FOWiBTQ0hPRU4gRFVOS0VMIEhJRVIhCltUb2Q6XSBTYXJnIGhhdCBnZXJhZGUgQ2VsZWJkaWwgdW1nZWJyYWNodC4KW0FsbGdlbWVpbjpDYXJhZGhyYXNdIHVwcHBwcHBwcywgZ2VpbApEZXIgVG9kIHNhZ3Q6IERJRSBaRUlUIElTVCBSRUlGCgoKICAgU28gc2Nob2VuIGJpbiBpY2ggYXVjaCBub2NoIG5pZSBnZXN0b3JiZW4gOi0pKSkKCiAgICAgICAgICBDZWxlYmRpbCAtIGh1c3RldCBub2NoIGVpbiBiaXNzY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgKEdhcmZpZWxkLCAxMi4gSnVsIDE5OTUsIDE1OjE1OjUzKToKIyEgcm49QWRhbWEgcnQ9ODA1MzY2MTY5CgphZGFtYQoKZGFzIGhhdCBkb2NoIGdhciBuaWNodHMgbWl0IGJlc3RyYWZlbiB6dSB0dW4uCmtlaW5lciB3aXJkIGRhZnVlciBiZXN0cmFmdCwgZGFzcyBlciBpbiBlaW5lIG5ldWUgZ2lsZGUgZWludHJpdHQuCmFiZXIgZXMgaXN0IGRvY2ggbG9naXNjaCwgZGFzcyBtYW4sIHdlbm4gbWFuIG5ldSBpc3QsIGViZW4gYW5mYWVuZ2VyIGlzdC4KbWFuIGVya2xhZXJ0IHNpY2ggc296dXNhZ2VuIGJlcmVpdCwgbm9jaG1hbCB2b24gdm9ybmUgYW56dWZhbmdlbi4gZ2FueiBrbGFyLgphbHMgd2lyIGRhbWFscyBhbGxlIGFuZ2VmYW5nZW4gaGFiZW4sIHNpbmQgd2lyIGluIGRpZQphYmVudGV1cmVyLWdpbGRlIGVpbmdldHJldGVuLiBhbHMgd2FzPwphbHMgaG9mZm51bmdzdm9sbGUgYW5mYWVuZ2VyLgoKbmEgYml0dGUuCndhcnVtIGFsc28gZGllIHBhbmlrPwoKZ2FyZmllbGQsIG5vY2gga2VpbiBrYXJhdGVrYS4uLgoqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVuc2VyIG11ZCAoSm9mLCAxMi4gSnVsIDE5OTUsIDE2OjExOjMzKToKIyEgcm49RmxhZ2cgcnQ9ODA1NTQ5Mjg0CgogRGVyIGVpbnppZ2UgV2VnLCBGb3JtZWxuIHdpZSBpbiBkZXIgS2FyYXRlLUdpbGRlIHp1IHRlc3RlbiwgaXN0IGVpbiBicmVpdGVyCkZlbGQtVmVyc3VjaC4gR2VuYXUgZGllc2VyIGZpbmRldCBncmFkZSBzdGF0dC4gQmV0ZWlsaWd0IHNpbmQgYWxsZSBNaXRnbGllZGVyCmRlciBLYXJhdGUtR2lsZGUuCgogam9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWRpb3RlbiBpbSBNdWQgKEd3eW53YWl0ZXIsIDEyLiBKdWwgMTk5NSwgMTY6NDk6MDQpOgojISBybj1Fbmd5d3VjayBydD04MDUxNTMwODYKCkhtbS4uLiAgVm9nZWxmcmVpLVByb3BlcnR5Li4uIGZpbmQgaWNoIGlyZ2VuZHdpZSBndXQuLi4gdW5kIGRpZSBhcm1lbgpPcmt3YWlzZW4gaGFldHRlbiBzaWNoZXIgYXVjaCBldHdhcyBkYXZvbi4uLgoKR3J1c3MsIEd3eW53YWl0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hY2hyaWNodCBhbiBFdXJlbiBMaWVibGluZz8gKERhbmNlciwgMTIuIEp1bCAxOTk1LCAxNzoyOTo0Nyk6CkhpIQpWb3IgZGVtIFdldHRwYWxhc3Qgdm9uIFBvcnQgVmFpbiBzdGVodCBzZWl0IGhldXRlIChvZGVyIHNvIDspIGVpbiBrbGVpbmVyClNhbmR0aWdlcndhZWNodGVyIGhlcnVtLCBkZXIgbWFsIG5hY2ggZGVtClJlY2h0ZW4gc2llaHQuIERhIGlobSB6aWVtbGljaCBsYW5nd2VpbGlnIGlzdCB1bmQgZXIgZWluIGFldXNzZXJzdCBndXRlcwpHZWRhZWNodG5pcyBoYXQsIGlzdCBtaXIgZWluZSBJZGVlIGdla29tbWVuOgpXb2xsdCBJaHIgRXVyZW0gTGllYnN0ZW4vZXVyZXIgTGllYnN0ZW4gdmllbGxlaWNodCBlaW5lIE5hY2hyaWNodApoaW50ZXJsYXNzZW4sIGRpZSBlci9zaWUgYmVrb21tdCwgd2VubiBlciBtYWwgaGllciB2b3JiZWlrb21tdD8gRWluIGtsZWluZXMKZ2VoZWltZXMgWmVpY2hlbj8gRWluIHBhYXIgYXVmbXVudGVybmRlIFdvcnRlIGZ1ZXIgZGllIFdhbmRlcnVuZz8gV2VubiBqYSwKZGFubiBtYWlsdCBtaXIgRXVyZW4gU3BydWNoIHVuZCBkaWUgWmllbHBlcnNvbiA6LSkKCktudWRkZWxzLAoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB1bnNlciBtdWQgKFJvY2h1cywgMTIuIEp1bCAxOTk1LCAxNzo0MDoyNCk6CiMhIHJuPUZsYWdnIHJ0PTgwNTU0OTI4NApPSywgRmxhZ2csIER1IGhhc3QgZXMgc28gZ2V3b2xsdC4KRXMgSVNUIG1pciBtb21lbnRhbiB6dXZpZWwuCkljaCB3ZXJkZSBkYWhlciBkaWUgQXJiZWl0IGFuIGRlciBLYXJhdGUtR2lsZGUgZnVlcgplaW5pZ2UgWmVpdCBydWhlbiBsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpydWVzdHVuZ2VuIChDYXJhZGhyYXMsIDEyLiBKdWwgMTk5NSwgMTg6NDI6NTIpOgogICAgICAgICAgICAgS3Vja3VjawoKV2llc28ga29tbXQgZGVubiwgd2VubiBtYW4gekIgZWluZSBIb3NlIGFuaGF0IHVuZCB3ZWl0ZXIgb2JlbiBpbQpJbnZlbnRvcnkgZWluZSBMZWRlcmhvc2UsIGJlaW0gQW56aWVoLVZlcnN1Y2ggZGllIE1lbGR1bmc6CiJEYXMga2FubnN0IER1IG5pY2h0IHR1bi4iIGFuc3RhdHQgdm9uICJEdSBoYXN0IHNjaG9uIGV0d2FzIGRlcgpTb3J0ZSB4eHggYW4uIiB3aWUgZXMgZnJ1ZWhlciBpbW1lciB3YXI/IEthbm4gbWFuIGRhcyBuaWNodCB3aWVkZXIKc28gbWFjaGVuIHdpZSBmcnVlaGVyLCBkYW1pdCBtYW4gd2VuaWdzdGVucyBuaWNodCBkYXVlcm5kIGltCmludmVudG9yeSBuYWNoa3Vja2VuIG11c3M/CgogICAgICAgICAgIHRzY2hvZSAgICAgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB1bnNlciBtdWQgKER1cmluLCAxMi4gSnVsIDE5OTUsIDE4OjU5OjM1KToKIyEgcm49Um9jaHVzIHJ0PTgwNTU2MzYyNApISSBSb2NodXMgISEKCk1hbiBrYW5uIGphIHZlcnN0ZWhlbiBkYXMgZGFzIG5lIG11ZWhzYW1lIEFyYmVpdCBpc3Qgc28gZWluZSBHaWxkZSB6dSBwcm9nZ2VuCmFiZXIgd2FydW0gd2lyZCBkZW4gbmljaHQgbWFsIHZlcnN1Y2h0IGRpZSBTcGllbGVyIHp1IHZlcnN0ZWhlbiB3aXIgc29sbGVuClJ1ZWNrc2ljaHQgYXVmIGRpZSBNYWdzIG5laG1lbiB1bmQgd2FzIGlzdCBtaXQgdW5zLiBTbyBkYSBkdSBudW4gZGllIEFyYmVpdApydWhlbiBsYXNzZW4gd2lsbHN0IHdhcyB3aWxsc3QgZHUgdW5zIGRhbWl0IGJld2Vpc2VuIHNvbGxlbiB3aXIgYXVmIGFsbGVuCnZpZXJlbiBhbmdla3JvY2hlbiBrb21tZW4/IFdlbm4gbWFuIHNvbGNoZSBkcmFzdGlzY2hlIFZlcmFlbmRlcnVuZ2VuIHNjaG9uIG1sYQppbSBWb3JmZWxkIHZlcnN1Y2h0IHp1IGJlZ3J1ZW5kZW4gd2FydW0gdW5kIHdlc2hhbGIgZGllIFZlcmFlbmRlcnVuZ2VuIG5vZXRpZwpzaW5kIGRhbm4ga2FubiBiZXN0aW1tdCBuZSBNZW5nZSAnbWVja2VybicgdmVybWllZGVuIHdlcmRlbi4KSWNoIGJpbiBkZXIgTWVpbnVuZyB3ZW5uIG1hbiB6LmIuIGVpbmVuIEdvY2tlbndhbGR3YWVjaHRlciB2b3JoZXIgaW4gZWluZXIKU2Vzc2lvbiBnZXNjaGFmZnQgaGF0IHVuZCBqZXR6dCA1IGJyYXVjaHQgaXN0IGRhcyBzY2hvbiBuZSBkcmFzdGlzY2hlClZlcmFuZGVydW5nLiBJY2ggd2Vpc3MgYWJlciBuaWNodCBvYiBiZWkgaWhtIGpldHp0IGRlciBSdWVzdHVuZ3NidWcgYmVzZWl0aWd0Cnd1cmRlIG9kZXIgb2IgZXIgc2Nob24gYW5nZXBhc3N0IHdhci4gQWxzbyBSb2NodXMgdWViZXJsZWcgZXMgRGlyIG5vY2ggbWFsIHVuZApsYXNzIHVucyBuaWNodCBhbGwgenUgbGFuZ2UgSGFlbmdlbi4KCkR1cmluCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdW5zZXIgbXVkIChEYW5jZXIsIDEyLiBKdWwgMTk5NSwgMjA6MDQ6NDYpOgojISBybj1EdXJpbiBydD04MDU1NjgzNzUKCkFscyBvYiBSb2NodXMgRGlyIGlyZ2VuZHdhcyBiZXdlaXNlbiB3b2xsdGUgb2RlciBtdWVzc3RlIG9kZXIgYXVjaCBudXIgZWluCmtsZWluZXMgQml0dGUgdm9uIERpciBob2VyZW4gd29sbHRlLiBOb2UsIHNpY2hlciBuaWNodC4gRXIgaGF0IG51ciBnYW56CnN0aW5rZWluZmFjaCBrZWluZSBMVVNUIGltIE1vbWVudCBmdWVyIGVpbmVuIEhhdWZlbiB2b24gTWVja2VyZnJpdHplbiBhdWNoCm5vY2ggd2FzIHp1IHByb2dyYW1taWVyZW4uIEZ1ZXIgaWhuIGlzdCBNdWRkZW4gZ2VuYXVzbyBmcmVpd2lsbGlnIHdpZSBmdWVyCmplZGVuIGFuZGVyZW4gaGllciwgdW5kIHdlbm4gZGllIFNvbm5lIHNjaGVpbnQgdW5kIGVyIGtlaW5lIEx1c3QgaGF0LCBkYW5uCmdlaHQgZXIgaGFsdCBzY2h3aW1tZW4gb2RlciBzb25zdHdhcyB1bmQga2FubiBnZW5hdXNvZ3V0IG1hbCBlaW4gcGFhciBUYWdlCmRlbiBSZWNobmVyIGF1c2xhc3NlbiBvZGVyIGF1Y2ggbWFsIG51ciBaZWl0dW5nbGVzZW4uClJvY2h1cyBoYXQgc2ljaCBoaWVyIHNjaG9uIHdpZSBudXIgd2VuaWdlIGFuZGVyZSBkZW4gQnVja2VsIGtydW1tZ2Vwcm9nZ3QsCnVtIEF0bW9zcGhhZXJlIHVuZCBTcGllbHNwYXNzIHp1IGVyemV1Z2VuLCB1bmQgaWNoIHd1ZXJkZSBsaWViZXIgYXVmIGZ1ZW5memlnCnZlcndvZWhudGUgU2VoZXIgKG5laW4sIG5pY2h0IGFsbGUgU2VoZXIgc2luZCB2ZXJ3b2VobnQsIGFiZXIgZWluaWdlKSBoaWVyCnZlcnppY2h0ZW4gYWxzIGF1ZiBpaG4sIGRlbm4gU2VoZXIgd2VyZGVuIGlzdCBsZWljaHQsIGd1dGVyIFByb2dyYW1taWVyZXIKenUgd2VyZGVuIHVuZCBkYXp1IG5vY2ggc2VpbmUgUGhhbnRhc2llIHp1IGhhYmVuIGlzdCBzY2h3ZXIuClJvY2h1cyBoYXQgaW4gZGVuIHNhdWVyZW4gQXBmZWwgZ2ViaXNzZW4gdW5kIGRpZSBlcnN0ZSBuZXVlIEdpbGRlCnByb2dyYW1taWVydCwgbmFjaGRlbSBhbmRlcmUgKGphLCBhdWNoIGljaCkgbW9uYXRlLSB1bmQgamFocmVsYW5nIG5pY2h0cyBhdWYKZGllIEJlaW5lCmdlc3RlbGx0IGhhYmVuIGluIGRlciBSaWNodHVuZy4gV2llIHNpY2ggc29nYXIgZGVyIGdyb2Vzc3RlIEJsb2VkbWFubiB2b3ItCnN0ZWxsZW4ga2Fubiwgd2FyIGRpZSBFbnR3aWNrbHVuZyBkZXIgZ2FuemVuIFNhY2hlIHRpZXJpc2NoIGF1ZndlbmRpZyAoaWNoCmJyYXVjaCB6QnNwIGF1Y2ggRXdpZ2tlaXRlbiwgdW0gZGllIGZpbGVzIHp1IHZlcnN0ZWhlbiksIHVuZCBpcmdlbmR3YW5uIGlzdApkaWUgTHVzdCBuYXR1ZXJsaWNoIHdlZywgZGEgYnJhdWNodCBtYW4gbmUgUGF1c2UsIGJlc29uZGVycyB3ZW5uIDAgR2VkdWxkCmRpZSBSZWFrdGlvbiBhdWYgYWxsZXMgaXN0LgpBbHNvOiBhdXMgZGVyIEthcmF0ZWdpbGRlIGF1c3RyZXRlbiwgd2VpdGVyIHNlaW5lbiBTcGFzcyBoYWJlbiwgZWluIHdlbmlnCnRvbGVyYW50IHNlaW4sIGFid2FydGVuLCB1bmQgc2ljaCBpcmdlbmR3YW5uIHVlYmVyIGRpZSBuYWVjaHN0ZSBWZXJzaW9uCmZyZXVlbi4uLi51bmQgYWNoIGphLCBlaW4gd2VuaWcgUmVzcGVrdCB2b3IgUm9jaHVzIHp1IGhhYmVuIHdhZXJlIGF1Y2ggbmljaHQKZ2VyYWRlIHZlcmtlaHJ0LCBkZW5uIElociBsZWJ0IEV1ZXJlIEZyZWl6ZWl0IHp1bSBUZWlsIGluIGVpbmVtIFByb2dyYW1tLCBiZWkKZGVtCmVyIHdlc2VudGxpY2ggbWVociBnZWJhdXQgdW5kIGVudHdpY2tlbHQgaGF0LCBhbHMgaWhyIGVzIHVlYmVyaGF1cHQgZ2xhdWJlbgp3dWVyZGV0LiBTZWluZSBFbnR3aWNrbHVuZ2VuIHdhcmVuIHVlYnJpZ2VucyBmYXN0IGltbWVyIGFic29sdXRlIE5ldWhlaXRlbiwKbml4IGtvcGllcnRlcyBvZGVyIG5hY2hnZW1hY2h0ZXMsIGQuaC4gZXIgaXN0IGZ1ZXIgdmVyZGFtbXQgdmllbGUgTWFnaWVyCmhpZXIgZGllIFF1ZWxsZSBpaHJlciBlcnN0ZW4gKHVuZCBhdWNoIHp3ZWl0ZW4pIFZlcnN1Y2hlIGdld2VzZW4uCgpEZW5rdCBtYWwgZHJ1ZWJlciBuYWNoLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB1bnNlciBtdWQgKE1hdGVlc2UsIDEyLiBKdWwgMTk5NSwgMjE6MDc6NTYpOgojISBybj1GbGFnZyBydD04MDU1NDkyODQKPiAxKSBCZWkgTmV1ZXJ1bmdlbiBtdXNzIG1hbiBzaWNoIGRhcmF1ZiBnZWZhc3N0IG1hY2hlbiwgZGFzIGVpbmlnZXMgbmljdCBzbwo+ICAgIGd1dCBsYWV1ZnQuLi5hYmVyIHdlbm4gbWFuIGRhcyBhdWYgZGllIFNwaWVsZXIgbG9zbGFzc3QsIGthbm4gbWFuIGRvY2gKPiAgICBlcndhcnRlbiwgZGFzIGRpZXNlIFNhY2hlIGVuZGd1ZWx0aWcgaXN0LgoKTWFuIGthbm4gZXJ3YXJ0ZW4sIGRhc3MgZGllIFNhY2hlIHRlY2huaXNjaCB3ZWl0Z2VoZW5kIGZlaGxlcmZyZWkgaXN0OyBhYmVyCm9iIGRhcyBEZXNpZ24gKGltIEZhbGwgZGVyIEdpbGRlIHUuYS4gZGllIEthbXBmZm9ybWVsbikgc28gaGluaGF1dCwgbGFlc3N0CnNpY2ggd2lya2xpY2ggbnVyIGltIHByYWt0aXNjaGVuIEFsbHRhZyBoZXJhdXNmaW5kZW4uCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBTERJRSBET1dOIChNYW1icmVzLCAxMi4gSnVsIDE5OTUsIDIxOjM4OjMxKToKRWluZSBzY2hsZWNodGUgTmFjaHJpY2h0IGZ1ZXIgYWxsZSBBbGRlYmFyYW4tUGxheWVyOgpXZWdlbiBlaW5lcyBGZXVlcnMoISkgaW4gdW5zZXJtIEludGVybmV0a25vdGVuIGtvZW5uZW4Kd2lyIGRhcyBNdWQgbW9tZW50YW4gbmljaHQgYW0gTmV0eiBoYWJlbi4KV2lyIHR1biB1bnNlciBiZXN0ZXMsIGVpbmUgbmV1ZSBTdGFuZGxlaXR1bmcgenUga3JpZWdlbiwgZGllIGRlbiBhYmdlYnJhbm50ZW4KS25vdGVuIHVnZWh0LCBhYmVyIGRhcyB3aXJkIHdvaGwgZWluaWdlIFplaXQgZGF1ZXJuIChUZWxla29tLi4uKQpbU3BpZWxlciBpbSBSaGVpbi1NYWluLUdlYmlldCBrb2VubmVuIG5hY2ggd2llIHZvciB1ZWJlciBkaWUKTWFpYm94IDA2NzI1LzY5MDEgZGlyZWt0IGlucyBNdWQgc2NoYXVlbi4uLl0KQmlzIGhvZmZlbnRsaWNoIGJhbGQgd2llZGVyIG9ubGluZSwKCk1hbWJyZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHVuc2VyIG11ZCAoU2NocnVtcGZpLCAxMi4gSnVsIDE5OTUsIDIzOjA2OjExKToKIyEgcm49RGFuY2VyIHJ0PTgwNTU3MjI4NgpUamEsIGRhIG11c3MgaWNoIERpciB2b2xsIHVuZCBnYW56IHJlY2h0IGdlYmVuLCBEYW5jZXIhIEljaCBwbGFlZGllciBkYSBhdWNoCm1hbCBhbiBFdXJlIEdlZHVsZC4gRXMgd2FyIGRpZSBlcnN0ZSBuZXVlIEdpbGRlIGhpZXIgdW5kIHdlbm4gbmljaHQgaW1tZXIKYWxsZXMgc28gaXN0IHdpZSBtYW4gZXMgc2ljaCB2b3JzdGVsbHQsIG11c3MgbWFuIGhhbHQgR2VkdWxkIGhhYmVuIHVuZCBuaWNodAppbW1lciBnbGVpY2ggcnVtc2NocmVpZW4hIEVzIGlzdCBlY2h0IG5lIEhhaWRlbmFyYmVpdCBzbyBlaW5lIEdpbGRlIHp1CnByb2dyYW1pZXJlbiB1bmQgaWNoIHdhZXIgZnJvaCwgd2VubiBpY2ggbnVyIGVpbiB6ZWhudGVsIHZvbiBkZW0ga29lbm50ZSB3YXMKUm9jaHVzIGthbm4gdW5kIGVpbiB6ZWhudGVsIHNvdmllbCBQaGFudGFzaWUgaGFldHRlISBBbHNvLCByZWd0IEV1Y2ggbmljaHQKaW1tZXIgZ2xlaWNoIHVlYmVyIGFsbGVzIGF1ZiwgZGVubiBkYW5uIGlzdCBlcyBrZWluIFd1bmRlciB3ZW5uIEV1cmUKJ1Byb2dyYW1pZXJrbmVjaHRlJyBzYXVlciB3ZXJkZW4gdW5kIGRpZSBMdXN0IHZlcmxpZXJlbi4KU2NocnVtcGZpIHdpcmQgYXVjaCBsYW5nc2FtIHNhdWVyIHVlYmVyIGRlbiBVbWdhbmdzdG9uIGhpZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB1bnNlciBtdWQgKEFyZGFuYSwgMTMuIEp1bCAxOTk1LCAwMTozNTozNyk6CiMhIHJuPVNjaHJ1bXBmaSBydD04MDU1ODMxNzEKSmEsIGphIHVuZCBqYS4gU293b2hsIERhbmNlciB1bmQgU2NocnVtcGZpIGhhYmVuIGluIGFsbGVtIHJlY2h0LCB3YXMgc2llIHNvCnNhZ2VuLiBJY2ggd2FlcmUgYXVjaCBmcm9oLCB3ZW5uIGljaCBudXIgZWluIEJydWNodGVpbCBkZXMgV2lzc2VucyB2b24gUm9jaHVzJwpoYWV0dGUuLi4gYWJlciBkYXMgaXN0IG5pY2h0IGRlciBQdW5rdC4KSWNoIHNlaGUgaWhuIGFuIGVpbmVyIGFuZGVyZW4gU3RlbGxlLi4uIG5hZW1saWNoLCBkYXNzIHdlbm4gbWFuIGVpbmUgR2lsZGUKcHJvZ2d0IHVuZCBhdWYgZGllIFNwaWVsZXIgbG9zbGFlc3N0LCBtZWhyIGFscyBhbmRlcmUgVmVyYW50d29ydHVuZwp1ZWJlcm5pbW10LCBmdWVyIGRhcyBNdWQgYWxzIGdhbnplcy4gRHJ1ZWNrZW4gZGF2b3IgZGFyZiBtYW4gc2ljaCBuaWNodC4uLgpvYndvaGwgaWNoIGRlbmtlLCBkYXNzIFJvY2h1cyBkYXMgYXVjaCBuaWNodCB0dXQuIE5hdHVlcmxpY2ggd3VlcmRlIGljaCBhdWNoCmRpZSBMdXN0IHZlcmxpZXJlbiwgd2VubiBpY2ggc3RhZW5kaWcgbnVyIGFuZ2VtYWNodCBzY2hyYWVnIHZvbiBkZXIgU2VpdGUKYW5nZW1hY2h0IHdlcmRlLiBJY2ggd2Vpc3MgbmljaHQsIHZpZWxsZWljaHQgc29sbHRlIHNpY2ggamVkZXIgbWFsIGdhbnoKZW50c3Bhbm50IHp1cnVlY2tsZWhuZW4gdW5kIGZyYWdlbiwgd2FzIGVyIGFtIE11ZCBmdWVyIGRhcyB3aWNodGlnc3RlIGhhZWx0LgpGdWVyIG1pY2ggaXN0IGRpZSBBbnR3b3J0IGtsYXIgLSBKZWRlIE1lbmdlIFNwYXNzIHp1IGhhYmVuLCBfZ2VtZWluc2FtXyBtaXQKZGVuIGFuZGVyZW4uIERhcyBpc3QgYWJlciBudXIgaW4gZWluZXIgZW50c3Bhbm50ZW4gdW5kIGxvY2tlcmVuIEF0bW9zcGhhZXJlCm1vZWdsaWNoLi4uIHVuZCBkYXJ1bSBtZWluIEF1ZnJ1ZjogSGFja3QgbmljaHQgYXVmZWluYW5kZXIgaGVydW0sIGRhcyBicmluZ3QKZ2FyIG5peCEgRXMgdmVyc2NobGVjaHRlcnQgbnVyIGRpZSBTdGltbXVuZyBpbSBNdWQgLSB1bmQsIHdlciB3aWxsIGRhcyBzY2hvbiAtCmljaCBqZWRlbmZhbGxzIG5pY2h0LgoKTGl2ZSBsb25nIGFuZCBwcm9zcGVyLAogICAgICAgICAgICAgICAgICAgICAgICBBcmRhbmEsIGRlciBkYXMgTUcgaW1tZXJub2NoIHRvbGwgZmluZGV0CgpQUzogRWluIFNhdHogaGF0IGVpbmVuIG1lcmt3dWVyZGlnZW4gU2F0emJhdS4uLiBhYmVyIGljaCBiaW4genUgZmF1bCBkYXMKZ2FuemUgbm9jaG1hbCBuZXUgenUgc2NocmVpYmVuLiBTb3JyeS4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVuc2VyIG11ZCAoRmxhZ2csIDEzLiBKdWwgMTk5NSwgMTM6MjQ6NDMpOgojISBybj1Kb2YgcnQ9ODA1NTU4MjkzCkRhcyBzZWhlIGljaCBqYSBlaW4sIGFiZXIgaWNoIGhhYiBrbmFwcCAyIFRhZ2UgbnVyIG1pdCB1ZWJlbiB2ZXJicmFjaHQgdW5kIGVzCmlzdCBzY2hhZGUgd2VubiBkYXMgYXVmIGVpbm1hbCBuaWNodCBtZWhyIHNvIHZpZWwgYnJpbmd0LgoJRmxhZ2cKUC5TOiBNYW4gZGFyZiBuaWNodCBhbGxlcyBzbyB3b2VydGxpY2ggbmVobWVuLi4uLiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdW5zZXIgbXVkIChGbGFnZywgMTMuIEp1bCAxOTk1LCAxMzoyNjozOCk6CiMhIHJuPVJvY2h1cyBydD04MDU1NjM2MjQKIEJpdHRlIG5pY2h0IGJlbGVpZGlndCBzZWluLi4uLi4uCldhciBuaWNodCBTT09PIGdlbWVpbnQuLi4KCUZsYWdnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYW5rIGluIFBWIChIaWdobGFuZGVyLCAxMy4gSnVsIDE5OTUsIDE0OjA0OjUwKToKSGFsbG8hClR1dCBtaXIgbGVpZCwgZGFzcyBpY2ggc28gbGFuZ2UgbmljaHQgZ2VtZXJrdCBoYWIsIGRhc3MgZGllIEJhbmsgZmVobHQsCmFiZXIgaWNoIHNjaGF1IHNvIHNlbHRlbiBpbiBtZWluIGxvZ2ZpbGUgcmVpbiwgd2VpbCBpY2ggbWVociBhbiBkZXIgU2VlbGUKYmFzdGxlIGFscyBSYWV1bWUuIFZvcmhpbiBoYWIgaWNoIG9ubGluZSBkZW4gRmVobGVyIGF1ZnRyZXRlbiBzZWhlbiwgdW5kCmhhYicgaWhuIGdsZWljaCBiZWhvYmVuLCB2b24gamV0enQgYW4gaXN0IGRpZSBCYW5rCndpZWRlciBkYSwgd28gc2llIGhpbmdlaG9lcnQuCiAgIEhpZ2hsYW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYW5rIGluIFBWIChCb2JvLCAxMy4gSnVsIDE5OTUsIDE0OjE0OjAwKToKIyEgcm49SGlnaGxhbmRlciBydD04MDU2MzcwOTAKSmEsIEhpZ2hsYW5kZXIsCmRhcyBoYXQgd2lya2xpY2ggZ2VkYXVlcnQuLi4KV2FzIG1pY2ggamV0enQgbm9jaCBpbnRlcmVzc2llcmVuIHd1ZXJkZTogaGF0IHNpZSBkZXIgU2hlcmlmZiBnZWZhc3N0PwpEYW5uIGhvZmZlIGljaCBqYSwgZGFzcyBzaWUgZW50c3ByZWNoZW5kIGRlciBTY2h3ZXJlIGlocmVyIFRhdCBiZXN0cmFmdAp3ZXJkZW4sIGRpZSBCYW5rcmFldWJlciEKVmllbGVuIERhbmshClR3QnMsIHNpdHp0IHRyb3R6ZGVtIG5vY2ggZW50c3Bhbm50IGF1ZiBzZWluZXIgQmFuay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVuc2VyIG11ZCAoQXNtb2RpcywgMTMuIEp1bCAxOTk1LCAxNDoxNzoyNik6CiMhIHJuPVJvY2h1cyBydD04MDU1NjM2MjQKSG1tLCBpY2ggbXVzcyBtYWwgc2FnZSwgZGFzcyBpY2ggZGllIEFyYmVpdCB2b24gUm9jaHVzIHNjaGFldHplLAplcyBpc3Qgc2ljaGVyIGVpbmUgbWVuZ2UgQXJiZWl0IGVpbmUgc29sY2hlIEdpbGRlIHp1IHByb2dncmFtbWllcmVuIHVuZApzaWNoZXIgbXVzcyBiZWkgZWluZW0gbmV1ZW4gS2FtcGZzdGlsIGF1Y2ggZXR3YXMgaGVydW1wcm9iaWVydCB3ZXJkZW4sIGJpcwplcyBkZW4gU3BpZWxlcm4gdW5kIE1hZ2llcm4oR29ldHRlcm4pIGdlZmFlbGx0LCB1bmQgbW9tZW50YW4gU0lORCB3aXIKd29obCBub2NoIGluIHNvIGVpbmVyIEFucGFzc3VuZ3NwaGFzZSEhCkRlc2hhbGIgbGFzc3QgUm9jaHVzIGRvY2ggbWFsIGRyYW4gYXJiZWl0ZW4gdW5kIGZsYW10IGlobiBuaWNodCB3ZWdlbgpqZWRlciBLbGVpbmlna2VpdCBhbiwgc29uZGVybiBzY2hyZWlidCBpZGVlbm1lbGR1bmdlbiBvZGVyIHNjaHJlaWJ0IG5lCnBlcnNvZW5saWNoZSBtYWlsIG9kZXIgZWluZW4gc2FjaGxpY2hlbiBBcnRpa2VsIGluIGRlciBtcGEsIGRhbm4gd2lyZApkaWUgS2FtcGZzdGFlcmtlIHNpY2hlciBhdWNoIGFuZ2VwYXNzdCB3ZXJkZW4gISEKQWxzbyB0b2ktdG9pLXRvaSByb2NodXMgdW5kIGxhc3MgZGljaCBuaWNodCBuZXJ2ZW4gOikKCiAgICAgICBDaWFvLCBBc21vZGlzCgpQLlMuOiBBdWNoIGZydWVoZXIgbGllZiBuaWNodCBhbGxlcyBzbywgd2llIGVzIHNvbGx0ZSwgZGVyIEJ1bWVyYW5nIHd1cmRlCmViZW5zbwogICAgICB3aWUgZGllIEZsYW1tZW5rdWdlbG4gdW5kIGRpZSBTYWV1cmViYWVsbGUgYW5nZXBhc3N0LCBhYmVyIGRhIGhhdCBzaWNoCiAgICBlaWdlbnRsaWNoIGthdW0gamVtYW5kIHNvIGF1ZmdlcmVndAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB1bnNlciBtdWQgKFllbmRpLCAxMy4gSnVsIDE5OTUsIDE1OjU3OjM2KToKIyEgcm49RmxhZ2cgcnQ9ODA1NTQ5Mjg0Cgo+IDIpRWluIE1hZ2llciBpc3QgZWluIFByb2dyYW1taWVyZXIsIG9kZXI/Cj4gV2VubiBkZW4gZW50c3ByZWNoZW5kZW4gTGV1dGVuIGRhcyB6dXZpZWwgd2lyZCBtdWVzc2VuIHNpZSBlcyBhdWZnZWJlbi4KCi4uLnVuZCBmb3J0YW4gYWxzIFNlaGVyIHdlaXRlcm1hY2hlbiwgYmlzIHNpZSBzaWNoIGJlcmVpdGVya2xhZXJlbiwgd2llZGVyCmV0d2FzIGZ1ZXIgZGVuIGVkbGVuIHVuZCBob2Nod29obGdlYm9yZW5lbiBGbGFnZywgSGVycnNjaGVyIGRlcyBNVURzIHVuZCBkZXIKdW1saWVnZW5kZW4gR2VtYXJrZW4sIHp1IHByb2dyYW1taWVyZW4/CgpEdSBiaXN0IG1laW4gSGVsZCwgRmxhZ2csIER1IEZlY2h0ZXIgZnVlciBTcGllbGVycmVjaHRlLCBkZXIgRHUgZXMgd2Fnc3QsIGRlbgpNYWdpZXJuIGF1ZnJlY2h0IGVudGdlZ2VuenV0cmV0ZW4gdW5kIHNpZSBpbiBpaHJlIFNjaHJhbmtlbiB6dSB3ZWlzZW4hCkR1IGJpc3QgdG9sbCEgSWNoIGJldGUgRGljaCBhbiEgR2liIG5pY2h0IGF1Ziwga2FlbXBmZSB3ZWl0ZXIsIGdpYnMgaWhuZW4hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmlycmVsIGVyb2VmZm5ldCAoTXVhZGliLCAxMy4gSnVsIDE5OTUsIDE3OjEwOjM3KToKRW5kbGljaCBpc3QgZXMgc293ZWl0OiBWaXJyZWwgaGF0IHNlaW5lIFBmb3J0ZW4gc2Nob24gZXJvZWZmbmV0LgpFcnJlaWNoZW4ga2FubiBtYW4gdW5zIG1pdDoKdGVsbmV0IHZpcnJlbC5yei51bmkta2FybHNydWhlLmRlIDIwMDAxCm9kZXIgdWViZXIgdW5zZXJlciBXV1ctU2VpdGVuOgpodHRwOi8vdmlycmVsLnJ6LnVuaS1rYXJsc3J1aGUuZGUvfnZpcnJlbC8KVmllbCBTcGFzcyBpbiB1bnNlcmVtIHZpcnR1ZWxsZW0gQ2FtcHVzIDopCgpEYXMgVmlycmVsIFRlYW0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbmZvL1NlbWluYXJlIHVlYmVyIE11ZHMgKEljZXQsIDEzLiBKdWwgMTk5NSwgMjM6MzI6MjQpOgojISBybj1IYXRlIHJ0PTgwNTM2OTIxOApEYXMgbWVpbmUgaWNoIGRvY2gsIEhhdGUuIERlciBBdWZ3YW5kIGZ1ZXIgZWluIFZSLU11ZCwgZGFzICpuaWNodCoKbGFuZ3dlaWxpZyB3ZWlsIGVpbnRvZW5pZyBpc3QsIGlzdCBSSUVTSUcuIFNjaG9ubWFsIHVlYmVybGVndCwgd2FzIG1hbiBzaWNoCm1pdCBkZXIgZHJpdHRlbiBEaW1lbnNpb24gaW4gZGVyIFByb2dyYW1taWVydW5nIHNvbGNoZXIgU2FjaGVuIGFudHV0PyBJaGMKbWVpbmUsIGRlciBub3JtYWxlIExQQy1sZXIgaXN0IGVpZ2VudGxpY2gga2VpbiBTdXBlcnByb2dyYW1taWVyZXIuCiAgLi4udW5kIGRpZSBMZXV0ZSBwcm9ncmFtbWllcmVuIGZyZWl3aWxsaWcgaW4gaWhyZXIgRnJlaXplaXQuIEVpbiBWUi1NdWQKd3VlcmRlIGRpZSBLYXBheml0YWV0ZW4gYW4gUHJvZ3JhbW1pZXJlcm4gdW5kIEdyYWZpa2VybiBkZW5rZSBpY2ggbWFsIGJlaQp3ZWl0ZW0gc3ByZW5nZW4uCgotSWNlVCAobWFnIFRleHQsIHNwaWVsdCBhYmVyIGF1Y2ggbWFsIERvb20gPjotPikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG11Y2sgKEthZW5ndXJ1aCwgMTQuIEp1bCAxOTk1LCAxMDoyNTozMyk6Ck1laHJlcmUgVmVyYWVuZGVydW5nIGFtIFNjaG11Y2sgYXVzIGRlcgpad2VyZ2Vuc2llZGx1bmcgaGFiZW4gaW4gZGVuIGxldHp0ZW4gVGFnZW4genUgZWluIHBhYXIKUHJvYmxlbWVuIGdlZnVlaHJ0LiBGYWxscyBqZW1hbmQgUHJvYmxlbWUgbWl0IFNjaG11Y2tzdHVlY2tlbgpoYXQgKGluIGVyc3RlciBMaW5pZSBtaXQgdmVyc2Nod3VuZGVuZW4gU2NobXVja3N0dWVja2VuKSwKc29sbCBlciBzaWNoIGJpdHRlIGJlaSBNSVIgKEthZW5ndXJ1aCkgbWVsZGVuLiBEaWUgUHJvYmxlbWUKc29sbHRlbiBhbGxlcmRpbmdzIHNjaG9uIGhldXRlIG9kZXIgc3BhZXRlc3RlbnMgYW0gV29jaGVuLQplbmRlIG5pY2h0IG1laHIgYXVmdGF1Y2hlbi4KCiAgICAgICBLYWVuZ3VydWgKClAuUy4gRGFua2UgYW4gU2lsdmFuYSB1bmQgSGlnaGxhbmRlciBhbiBkaWVzZXIgU3RlbGxlLCBkaWUKICAgICBkYXp1IGJlaWdldHJhZ2VuIGhhYmVuLCBlaW5lIEthdGFzdHJvcGhlIHp1IHZlcmhpbmRlcm4sCiAgICAgYW4gZGVyIGljaCBTY2h1bGQgZ2V3ZXNlbiB3YWVyZSAqZHJlaWZhY2hrbnVkZGVsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaG11Y2sgKFlhbnRybywgMTQuIEp1bCAxOTk1LCAxMToxMzowNCk6CiMhIHJuPUthZW5ndXJ1aCBydD04MDU3MTAzMzMKCkJlaSBIaWdobGFuZGVyIGlzdCBtaXIgZGFzIGtsYXIgZGFzcyBkZXIgZ3V0IGRhZnVlciBpc3QsIHZlcmxvcmVuZW4gU2NobXVjawp6dSBmaW5kZW4uLi4gZGVyIGxpZWd0IGphIGRhbm4gYXVmIGRlciBFcmRlIHJ1bSB1bmQgc28gYWxzIFJlbm52b2dlbCBtYWNodCBlcgpkYS4uLi5BUkcuLi4gbGFzcyBtaWNoIGxvcywgSGlnaCEuLi4gbmljaHQuLi4gZ3JtbW1wZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdW5zZXIgbXVkIChEdXJpYW4sIDE0LiBKdWwgMTk5NSwgMTI6Mzk6MDQpOgojISBybj1EYW5jZXIgcnQ9ODA1NTcyMjg2ClJlY2h0IHNvLCBEYW5jZXIhCgpVbmQgbnVuIG5vY2ggZWluIFZvcnNjaGxhZyB6dXIgR3VldGUuIFdlbm4gSWhyIChpY2ggdmVyYWxsZ2VtZWluZXJlIG1hbCwKaWNoIG1laW5lIG5hdHVlcmxpY2ggbnVyIGRpZSBCZXRyb2ZmZW5lbikgc28gdWViZXJoYXVwdCBuaWNodCBtaXQgZGVyCkthcmF0ZWdpbGRlIHp1ZnJpZWRlbiBzZWlkLCBiaXR0ZSwga2VpbiBQcm9ibGVtOgpXZXJkZXQgc29mb3J0IE1hZ2llciwgc2V0enQgRXVjaCBoaW4sIHVuZCBwcm9ncmFtbWllcnQgbWFsIHNjaG9lbiBsb3MhCgpJY2ggd2VyZGUgZGFzIEdlZnVlaGwgbmljaHQgbG9zLCBkYXNzIG1hbmNoZSBMZXV0ZSB1ZWJlcmhhdXB0IGtlaW5lbiBibGFzc2VuClNjaGltbWVyIGhhYmVuLCB3aWV2aWVsIEFyYmVpdCBkYXMgUHJvZ3JhbW1pZXJlbiBtYWNodC4gRWluIFJhdW0gaXN0IHNjaG5lbGwKZ2VzY2hyaWViZW4sIGVpbiBPYmpla3QgdmllbGxlaWNodCBhdWNoIG5vY2gsIGVpbiBPYmpla3Qgb2RlciBSYXVtIG1pdApldHdhcyBCZXNvbmRlcmVtIGlzdCBzY2hvbiBoYXJ0LCBhYmVyIGVpbmUgR2lsZGUgLi4uCgpOZWluLCB3ZWRlciBSb2NodXMgbm9jaCBzb25zdCBub2NoIGplbWFuZCBoaWVyIGJla29tbXQgR2VsZCBmdWVyIGRhcywgd2FzCmVyIHR1dC4gTmVpbiwgbmllbWFuZCB3aXJkIGhpZXIgbWl0IGVpbmVyIFBpc3RvbGUgYW4gZGVyIFNjaGxhZWZlIGdlend1bmdlbgppcmdlbmRldHdhcyB6dSB0dW4uIEphLCBrbGFyLCB3ZW5uIGVpbiBNYWdpZXIga2VpbmVuIEJvY2sgaGF0LCBpbSBNb21lbnQKd2VpdGVyIHp1IGFyYmVpdGVuLCBzb2xsIGVyIGlucyBTY2h3aW1tYmFkLiBFcyBnaWJ0IGtlaW5lbiwgYWJlciBhdWNoCndpcmtsaWNoIHVlYmVyaGF1cHQgZ2FyIGtlaW5lbiBHcnVuZCB3YXJ1bSBlciBkYXMgbmljaHQgdHVuIHNvbGx0ZS4KCkljaCB2ZXJtdXRlIElociBTcGllbGVyIG5laG10IEV1Y2ggZGllc2VzIFJlY2h0IGF1Y2ggaGluIHVuZCB3aWVkZXIgbWFsIQoKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB1bnNlciBtdWQgKER1cmlhbiwgMTQuIEp1bCAxOTk1LCAxMjo0MDozNyk6CiMhIHJuPUZsYWdnIHJ0PTgwNTYzNDc5OApXaWUgd2FlcmUgZXMgbWl0OiBlcnN0IG5hY2hkZW5rZW4sIGRhbm4gc2NocmVpYmVuPz8KCkRpZXMgV0FSIGVybnN0IGdlbWVpbnQhCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdW5zZXIgbXVkIChBc21vZGlzLCAxNC4gSnVsIDE5OTUsIDE1OjU0OjEwKToKIyEgcm49RHVyaWFuIHJ0PTgwNTcxODQzNwpOYWphLCBEdXJpYW4gaWNoIHZlcnN0ZWhlIGFiZXIgaW1tZXIgbm9jaCBuaWNodCwgd2llIGR1IGRpZQpBcmVuYXNjaGxpZXNzdW5nIHJlY2h0ZmVydGlnc3QsIG5hY2hkZW0gUm9jaHVzIGRlbiBBcmVuYWJvbnVzCmVudGZlcm50IGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHVuc2VyIG11ZCAoSm9mLCAxNC4gSnVsIDE5OTUsIDE2OjE3OjA2KToKIyEgcm49QXNtb2RpcyBydD04MDU3MzAwNTAKCiAuLi4gdW5kIGljaCB2ZXJzdGVoZSBuaWNodCwgd2FzIGR1IG1pdCAncmVjaHRmZXJ0aWdlbicgbWVpbnN0LiBFcyBpc3QKRHVyaWFucwpBcmVuYSwgdW5kIHdlbm4gZXIgc2llIHp1bWFjaGVuIHdpbGwsIGRhbm4gaXN0IHNpZSB6dS4gUHVua3QuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB1bnNlciBtdWQgKEFzbW9kaXMsIDE0LiBKdWwgMTk5NSwgMTc6MjI6NDcpOgojISBybj1Kb2YgcnQ9ODA1NzMxNDI2Ck5hamEsIGVzIHNpbmQgZGllc2UgZWluc2FtZW4gRW50c2NoZWlkdW5nZW4sIGRpZSBtYW5jaGUgenVyCk1vdHplcmVpIHZlcmxlaXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhZWRlbiAoTHdheGFuYSwgMTQuIEp1bCAxOTk1LCAxNzo0NjoxMyk6CkljaCB3ZWlzcyBsZWlkZXIgbmljaHQsIHdlbGNoZSBOdW1tZXIgZGllIFJ1YnJpayBFYm50d2lja2x1bmcgaGF0LCBkZXNoYWxiCmtvbW10IGRhcyBqZXR6dCBoaWVyaGVyLi4uLgoKQWxzbywgcHJpbnppcGllbCBmaW5kZSBpY2ggZXMgZ2FyIG5pY2h0IHNjaGxlY2h0LCBkYXNzIGRpZSBIYWVuZGxlciBhdWYgZGllCk1hcmt0bGFnZSByZWFnaWVyZW4sIGFiZXIgaWNoIGdsYXViZSwgZGFzIGRpZXNlcyBuZXVlIFN5c3RlbSBlaW5lbiBncm9zc2VuCk5hY2h0ZWlsIGhhdDogV2VubiBsYWVuZ2VyZSBaZWl0IGtlaW4gcmVib290IHdhciB1bmQgZGllIExhZWRlbiB2b2xsIHNpbmQsIHdpZQpzb2xsIG1hbiBkYW5uIGFuIEdlbGQgenVtIHRhbmtlbiBrb21tZW4/IFdlbm4gbWFuIGZ1ZXIgZWluZW4gTmFjaHRzYWJlbCwgZGVyCmVpbmVtIGZydWVoZXIgMTAwMCBtdWVuemVuIGdlYnJhY2h0IGhhdCBudXIgbm9jaCA1IG11ZW56ZW4sIG9kZXIgZ2FyIG5pY2h0cwptZWhyIGtyaWVndD8/PwpPZGVyIGthbm4gZXMgc2VpbiwgZGFzcyBpY2ggZWluZmFjaCBQZWNoIGhhdHRlPwpEYXMgaXN0IEtFSU4oISEhKSBNZWNrZXJuLCBzb25kZXJuIGVpbmZhY2ggbnVyIGVpbmUgRnJhZ2UuLi4KClRzY2hhdSBMd2F4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFlZGVuIChMb2NvLCAxNC4gSnVsIDE5OTUsIDE3OjUxOjQ4KToKIyEgcm49THdheGFuYSBydD04MDU3MzY3NzMKPiBJY2ggd2Vpc3MgbGVpZGVyIG5pY2h0LCB3ZWxjaGUgTnVtbWVyIGRpZSBSdWJyaWsgRWJudHdpY2tsdW5nIGhhdCBbLi4uXQpoaWxmZSBtcGEgOi0pCnJ1YnJpa2VuIC0gbGlzdGV0IGFsbGUgUnVicmlrZW4KcnVicmlrIG5hbWV8bnIgLSBvZWZmbmV0IGVpbmUgUnVicmlrLiBXaWUgd2FlcmUgZXMgbWl0ICdydWJyaWsgZW50d2lja2x1bmcnPwoKLSBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFlZGVuIChBc21vZGlzLCAxNC4gSnVsIDE5OTUsIDE4OjQ0OjI0KToKIyEgcm49THdheGFuYSBydD04MDU3MzY3NzMKTmFqYSwgbm90ZmFsbHMga2FubiBtYW4gamEgbm9jaCB3YWVjaHRlciBraWxsZW4sIGRpZSBoYWJlbiBtZWlzdCBldHdhcyBHZWxkCmRhYmVpCk9kZXIgbWFuIHdhcnRldCBhdWYgZWluZW4gUmVib290LCBuYXR1ZXJsaWNoIHZvbGxnZWxhZGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZWRlbiAoSm9mLCAxNC4gSnVsIDE5OTUsIDE5OjI2OjEzKToKIyEgcm49QXNtb2RpcyBydD04MDU3NDAyNjQKIERpZSBMYWVkZW4gZ2xlaWNoZW4gaWhyZSBHZWxkYmVzdGFlbmRlIHJlZ2VsbWFlc3NpZyBhdXMuIFdlbm4gRUlOIExhZGVuCnBsZWl0ZSBpc3QsIGhlaXNzdCBkYXMgYWJlciBuaWNodCwgZGFzIEFMTEUga2VpbiBHZWxkIGhhYmVuIC0gZGllIExhZWRlbgpnZWJlbiBqYSBudXIgdWViZXJzY2h1ZXNzZSBhYiwgZGllIHVlYmVyIGVpbmVyIGJlc3RpbW10ZW4gU3VtbWUgbGllZ2VuLgpXZW5uIEFMTEUgTGFlZGVuIHdlbmlnIEdlbGQgaGFiZW4sIGlzdCBncmFkJyBLb25qdW5rdHVyZmxhdXRlLCBhYmVyIHNvd2FzCmdlaHQgdm9yYmVpIC4uLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FybnVuZyBhbiBob2VoZXJlIHVuZCBob2hlIFNlaGVyISAoQ2FyYWRocmFzLCAxNC4gSnVsIDE5OTUsIDE5OjQzOjQ1KToKICAgICAgICAgICAgICAgICAgICBIYWxsbyEKCkhpZXIgZWluZSBXYXJudW5nIGFuIGhvZWhlcmUgU2VoZXIsIGRpZSBzaWNoIGV2ZW50dWVsbCBhdWYgRmx1Y2h0LQpyaWNodHVuZyBlbmRlIHZlcmxhc3Nlbi4gRGFzIGdhbnplIGlzdCBlaW4gSHlkcmFsb2cgdW5kIGljaCBoYWVuZ2UKZXMgbWFsIGhpZXIgYXVmLCBkYW1pdCBhdWNoIGFuZGVyZSBzZWhlbiB3aWUgZGllIEh5ZHJhIGlzdC4gVmllbGxlaWNodAppbnRlcmVzc2llcnQgZXMgamEgZWluaWdlIFNwaWVsZXIuClZvcmdlc2NoaWNodGU6IEljaCBoYWJlIEZsdWNodHJpY2h0dW5nIGVuZGUgdW5kIFZvcnNpY2h0IDExMCwgd29iZWkKaWNoIGdlc3RvcmJlbiBiaW4gd2VpbCBlbmRlIG5pY2h0IGdyaWZmLiBXaWUgbWFuIG5hY2hoZXIgc2llaHQga2FtIGJlaQoxMDMgTFAgZWluIG5vcmRlbiBkdXJjaCwgZWluZ2VnZWJlbiBoYXR0ZSBpY2ggZXMgc2Nob24gYmVpIDE2MCBMUAptaW5kZXN0ZW5zLiAod2VnZW4gTGFnKSBOYWNoIG1laW5lbSBFbXBmaW5kZW4gaGFldHRlIHp1IGRpZXNlbSBNb21lbnQKJ2VuZGUnIGtvbW1lbiBtdWVzc2VuLCBhYmVyIHdlZ2VuIGRlbSAnbm9yZGVuJyBoYXQgZXMgc2ljaCB1bSBlaW5lCmdhbnplIFJ1bmRlIHZlcnNjaG9iZW4gdW5kIGljaCB3YXIgdG90LiBNZWluZXMgJ1NwaWVsZXJlbXBmaW5kZW5zJwpuYWNoIGlzdCBkYXMgZWluIEJ1ZywgYWJlciBXYXJnb24sIEpvZiB1bmQgQm9pbmcgbWVpbmVuIGVzIHNlaSBrZWluZXIuCkZhbGxzIHNvd2FzIGluIFp1a3VuZnQgYWxzbyBwYXNzaWVydCB3aXJkIGVzIGtlaW5lIEVQLVJ1ZWNrZXJzdGF0dHVuZwpnZWJlbi4gRGVzaGFsYiBkaWVzZSBXYXJudW5nLiBXZW5uIGljaCBtaWNoIG5pY2h0IGJld2VndCBoYWV0dGUKd2FlcmUgKGhvZmZlbnRsaWNoKSBlbmRlIGdla29tbWVuLgoKCnNjCkVQLURpZmZlcmVueiBpc3QgODA0OTExNjYKPiBEdSBoYXN0IDgwNDkxMTY2IEVyZmFocnVuZ3NwdW5rdGUsIDE2ODUgQWJlbnRldWVycHVua3RlKDE4MTUpLAoyMDEgTGViZW5zcHVua3RlKDIxMCkgdW5kIDIyNiBNYWdpZXB1bmt0ZSgyMjYpCkR1IGJpc3QgIkdvbGRkcmFjaGUgQ2FyYWRocmFzIEkuIHZvbiB1bmQgenUgU1NQLiIKRGVpbmUgQXR0cmlidXRlIHNlaGVuIHNvIGF1czoKSW50ZWxsaWdlbno6IDIwICgrMykgS3JhZnQ6IDIwICBBdXNkYXVlcjogMjAgKCsxKSBHZXNjaGlja2xpY2hrZWl0OiAyMCAoKzIpClZvcnNpY2h0LU1vZHVzICgxMTApCkZsdWNodHJpY2h0dW5nICJlbmRlIgpBbHRlcjogIDkwIFRhZ2UgMTggU3R1bmRlbiA0NCBNaW51dGVuIDM2IFNla3VuZGVuLgpEZWluIENoYXJha3RlciBpc3QgaGVpbGlnLgpubwo+IEFuIGVpbmVyIEZ1cnQKRXMgZ2lidCB2aWVyIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IHdlc3Rlbiwgc3VlZHdlc3Rlbiwgbm9yZGVuIHVuZCBvc3Rlbi4KRWluIEtvcGYgZGVyIEh5ZHJhLgpFaW4gS29wZiBkZXIgSHlkcmEuCkVpbmUgQmFjaG55bXBoZS4KICBEZXIgSHlkcmFrb3BmIGdyZWlmdCBEaWNoIG1pdCBzZWluZW0gZnVlcmNodGVybGljaGVoIEdlYmlzcyBhbiBhbi4KICBEZXIgSHlkcmFrb3BmIHRyaWZmdCBEaWNoIGhhcnQuCkR1IGhhc3QgamV0enQgMTkxIExlYmVuc3B1bmt0ZSB1bmQgMjI2IE1hZ2llcHVua3RlLgogIERlciBIeWRyYWtvcGYgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBmdWVyY2h0ZXJsaWNoZWggR2ViaXNzIGFuIGFuLgogIERlciBIeWRyYWtvcGYgdHJpZmZ0IERpY2ggc2VociBoYXJ0LgpEdSBoYXN0IGpldHp0IDE3NSBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KZgo+IEVpbmUgQmFjaG55bXBoZSBmYWVocnQgbWl0IGVpbmVyIEhhbmQgZHVyY2ggZGFzIFdhc3Nlci4KICBEdSBncmVpZnN0IGRlbiBIeWRyYWtvcGYgbWl0IGJsb3NzZW4gSGFlbmRlbiBhbi4KICBEdSBrcmF0enQgZGVuIEh5ZHJha29wZi4KRHUgd2lyZnN0IGVpbmVuIEZldWVyYmFsbCBuYWNoIGRlbSBIeWRyYWtvcGYuCkR1IGhhc3QgamV0enQgMTc1IExlYmVuc3B1bmt0ZSB1bmQgMjA2IE1hZ2llcHVua3RlLgpmCj4gRHUgYmlzdCBub2NoIHp1IGVyc2Nob2VwZnQgdm9uIERlaW5lbSBsZXR6dGVuIFNwcnVjaC4KZgo+IER1IGhhc3QgamV0enQgMTc2IExlYmVuc3B1bmt0ZSB1bmQgMjA2IE1hZ2llcHVua3RlLgpEdSBoYXN0IGpldHp0IDE3NiBMZWJlbnNwdW5rdGUgdW5kIDIwNyBNYWdpZXB1bmt0ZS4KRHUgaGFzdCBqZXR6dCAxNzcgTGViZW5zcHVua3RlIHVuZCAyMDcgTWFnaWVwdW5rdGUuCkR1IGhhc3QgamV0enQgMTc3IExlYmVuc3B1bmt0ZSB1bmQgMjA4IE1hZ2llcHVua3RlLgogIER1IGdyZWlmc3QgZGVuIEh5ZHJha29wZiBtaXQgYmxvc3NlbiBIYWVuZGVuIGFuLgogIER1IHZlcmZlaGxzdCBkZW4gSHlkcmFrb3BmLgogIERlciBIeWRyYWtvcGYgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBmdWVyY2h0ZXJsaWNoZWggR2ViaXNzIGFuIGFuLgogIERlciBIeWRyYWtvcGYgdHJpZmZ0IERpY2ggaGFydC4KRHUgaGFzdCBqZXR6dCAxNjcgTGViZW5zcHVua3RlIHVuZCAyMDggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBoYXJ0LgpEdSBoYXN0IGpldHp0IDE1OSBMZWJlbnNwdW5rdGUgdW5kIDIwOCBNYWdpZXB1bmt0ZS4KRHUgd2lyZnN0IGVpbmVuIEZldWVyYmFsbCBuYWNoIGRlbSBIeWRyYWtvcGYuCkR1IGhhc3QgamV0enQgMTU5IExlYmVuc3B1bmt0ZSB1bmQgMTg4IE1hZ2llcHVua3RlLgpmCj4gRHUgYmlzdCBub2NoIHp1IGVyc2Nob2VwZnQgdm9uIERlaW5lbSBsZXR6dGVuIFNwcnVjaC4KZgpuCj4gICBEdSBncmVpZnN0IGRlbiBIeWRyYWtvcGYgbWl0IGJsb3NzZW4gSGFlbmRlbiBhbi4KICBEdSB2ZXJmZWhsc3QgZGVuIEh5ZHJha29wZi4KICBEZXIgSHlkcmFrb3BmIGdyZWlmdCBEaWNoIG1pdCBzZWluZW0gZnVlcmNodGVybGljaGVoIEdlYmlzcyBhbiBhbi4KICBEZXIgSHlkcmFrb3BmIHRyaWZmdCBEaWNoIHNlaHIgaGFydC4KRHUgaGFzdCBqZXR6dCAxNDAgTGViZW5zcHVua3RlIHVuZCAxODggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBoYXJ0LgpEdSBoYXN0IGpldHp0IDEzNCBMZWJlbnNwdW5rdGUgdW5kIDE4OCBNYWdpZXB1bmt0ZS4KZwpEdSB3aXJmc3QgZWluZW4gRmV1ZXJiYWxsIG5hY2ggZGVtIEh5ZHJha29wZi4KRHUgaGFzdCBqZXR6dCAxMzQgTGViZW5zcHVua3RlIHVuZCAxNjggTWFnaWVwdW5rdGUuCj4gICBEdSBncmVpZnN0IGRlbiBIeWRyYWtvcGYgbWl0IGJsb3NzZW4gSGFlbmRlbiBhbi4KICBEdSB2ZXJmZWhsc3QgZGVuIEh5ZHJha29wZi4KICBEZXIgSHlkcmFrb3BmIGdyZWlmdCBEaWNoIG1pdCBzZWluZW0gZnVlcmNodGVybGljaGVoIEdlYmlzcyBhbiBhbi4KICBEZXIgSHlkcmFrb3BmIHRyaWZmdCBEaWNoIHNlaHIgaGFydC4KRHUgaGFzdCBqZXR6dCAxMTggTGViZW5zcHVua3RlIHVuZCAxNjggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBzZWhyIGhhcnQuCkR1IGhhc3QgamV0enQgMTAzIExlYmVuc3B1bmt0ZSB1bmQgMTY4IE1hZ2llcHVua3RlLgpFaW4gSHlkcmFrb3BmIGlzdCBqZXR6dCBoaW50ZXIgRGlyIGhlci4KRWluIEh5ZHJha29wZiBpc3QgamV0enQgaGludGVyIERpciBoZXIuCgogLyogU3BhZXRlc3RlbnMgaGllciBoYWV0dGUgZW5kZSBncmVpZmVuIHNvbGxlbiAoZmluZGUgaWNoKSwgKi8KIC8qIGRhIGJpbiBpY2ggZGFubiBuYWNoIG5vcmRlbiBnZWdhbmdlbiAqZ3J1bW1lbCBsYWcgYW4qICovCgpUaWVmIGltIEZlZW53YWxkLgpFcyBnaWJ0IGRyZWkgc2ljaHRiYXJlIEF1c2dhZW5nZTogc3VlZGVuLCBub3Jkd2VzdGVuIHVuZCBub3Jkb3N0ZW4uCkRpZSBIeWRyYS4KRWluIEtvcGYgZGVyIEh5ZHJhLgpFaW4gS29wZiBkZXIgSHlkcmEuCkVpbiBLb3BmIGRlciBIeWRyYS4KRWluIEtvcGYgZGVyIEh5ZHJhLgpFaW4gS29wZiBkZXIgSHlkcmEuCkVpbiBidW50ZXIgTWFsa2FzdGVuLgpEYXMgQW11bGV0dCBkZXIgU3RlaW5iZWlzc2VyLgpEYXMgQmx1dHNhdWdlci1TY2h3ZXJ0LgpFaW4gUGFhciBzaWxiZXJuZSBIYW5kc2NodWhlLgpFaW4gU2NobGVpbWJldXRlbC4KRGVyIFN0YWIgZGVzIEVpc2VzLgpFaW5lIEtyaXN0YWxsa3JvbmUuCkVpbiBibGF1c2NoaW1tZXJuZGVyIFNhcGhpci4KRWluZSBMZWRlcmhvc2UuCkVpbiBSaW5nIGRlciBBdXNkYXVlciAoKzEpLgpFaW4gbGlsYS1ibGFzc2VyIEJ1bWVyYW5nLgpFaW4gbGlsYS1wdW5rdGllcnRlciBCdW1lcmFuZy4KNSBGbGFtbWVua3VnZWxuLgpFaW4gbW9yc2NoZXIgRHJlaXphY2suCkVpbmUgUGFuZmxvZXRlLgogIERpZSBIeWRyYSBncmVpZnQgRGljaCBtaXQgaWhyZW4gc3RhY2hlbGJld2VocnRlbiBTY2h3aW5nZW4gYW4uCiAgRGllIEh5ZHJhIHNjaGxhZWd0IERpY2ggbWl0IGRlbSBLcmFjaGVuIGJyZWNoZW5kZXIgS25vY2hlbi4KRHUgaGFzdCBqZXR6dCA4MiBMZWJlbnNwdW5rdGUgdW5kIDE2OCBNYWdpZXB1bmt0ZS4KICBEZXIgSHlkcmFrb3BmIGdyZWlmdCBEaWNoIG1pdCBzZWluZW0gZnVlcmNodGVybGljaGVoIEdlYmlzcyBhbiBhbi4KICBEZXIgSHlkcmFrb3BmIHRyaWZmdCBEaWNoIGhhcnQuCkR1IGhhc3QgamV0enQgNzQgTGViZW5zcHVua3RlIHVuZCAxNjggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBzZWhyIGhhcnQuCkR1IGhhc3QgamV0enQgNTkgTGViZW5zcHVua3RlIHVuZCAxNjggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBoYXJ0LgpEdSBoYXN0IGpldHp0IDUyIExlYmVuc3B1bmt0ZSB1bmQgMTY4IE1hZ2llcHVua3RlLgogIERlciBIeWRyYWtvcGYgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBmdWVyY2h0ZXJsaWNoZWggR2ViaXNzIGFuIGFuLgogIERlciBIeWRyYWtvcGYgdHJpZmZ0IERpY2ggc2VociBoYXJ0LgpEdSBoYXN0IGpldHp0IDM1IExlYmVuc3B1bmt0ZSB1bmQgMTY4IE1hZ2llcHVua3RlLgogIERlciBIeWRyYWtvcGYgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBmdWVyY2h0ZXJsaWNoZWggR2ViaXNzIGFuIGFuLgogIERlciBIeWRyYWtvcGYgdHJpZmZ0IERpY2ggc2VociBoYXJ0LgpEdSBoYXN0IGpldHp0IDE5IExlYmVuc3B1bmt0ZSB1bmQgMTY4IE1hZ2llcHVua3RlLgo+IER1IGthbm5zdCBkaWUgSHlkcmEgbmljaHQgbmVobWVuLgpEdSBrYW5uc3QgZGVuIEh5ZHJha29wZiBuaWNodCBuZWhtZW4uCkR1IGthbm5zdCBkZW4gSHlkcmFrb3BmIG5pY2h0IG5laG1lbi4KRHUga2FubnN0IGRlbiBIeWRyYWtvcGYgbmljaHQgbmVobWVuLgpEdSBrYW5uc3QgZGVuIEh5ZHJha29wZiBuaWNodCBuZWhtZW4uCkR1IGthbm5zdCBkZW4gSHlkcmFrb3BmIG5pY2h0IG5laG1lbi4KRHUgbmltbXN0IGVpbmVuIE1hbGthc3Rlbi4KRHUgbmltbXN0IGVpbiBBbXVsZXR0LgpEdSBuaW1tc3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KRHUgbmltbXN0IGVpbiBQYWFyIEhhbmRzY2h1aGUuCkR1IG5pbW1zdCBlaW5lbiBTY2hsZWltYmV1dGVsLgpEdSBuaW1tc3QgZWluZW4gRWlzc3RhYi4KRHUgbmltbXN0IGVpbmUgS3Jpc3RhbGxrcm9uZS4KRHUgbmltbXN0IGVpbmVuIFNhcGhpci4KRHUgbmltbXN0IGVpbmUgTGVkZXJob3NlLgpEdSBuaW1tc3QgZWluZW4gTWl0aHJpbHJpbmcuCkR1IG5pbW1zdCBlaW5lbiBsaWxhLWJsYXNzZW4gQnVtZXJhbmcuCkR1IG5pbW1zdCBlaW5lbiBsaWxhLXB1bmt0aWVydGVuIEJ1bWVyYW5nLgpEdSBuaW1tc3QgNSBGbGFtbWVua3VnZWxuLgpEdSBuaW1tc3QgZWluZW4gRHJlaXphY2suCkR1IG5pbW1zdCBlaW5lIFBhbmZsb2V0ZS4KPiBFaW4gSHlkcmFrb3BmIHNjaGxhZW5nZWx0IHNpY2ggcHJ1ZWZlbmQgdW1ibGlja2VuZCBoZXJlaW4uCiAgRHUgZ3JlaWZzdCBkZW4gSHlkcmFrb3BmIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4uCiAgRHUgdmVyZmVobHN0IGRlbiBIeWRyYWtvcGYuCkVpbiBIeWRyYWtvcGYgc2NobGFlbmdlbHQgc2ljaCBwcnVlZmVuZCB1bWJsaWNrZW5kIGhlcmVpbi4KRWluIEh5ZHJha29wZiBzY2hsYWVuZ2VsdCBzaWNoIHBydWVmZW5kIHVtYmxpY2tlbmQgaGVyZWluLgpFaW4gSHlkcmFrb3BmIHNjaGxhZW5nZWx0IHNpY2ggcHJ1ZWZlbmQgdW1ibGlja2VuZCBoZXJlaW4uCkVpbiBIeWRyYWtvcGYgc2NobGFlbmdlbHQgc2ljaCBwcnVlZmVuZCB1bWJsaWNrZW5kIGhlcmVpbi4KRWluIEh5ZHJha29wZiBzY2hsYWVuZ2VsdCBzaWNoIHBydWVmZW5kIHVtYmxpY2tlbmQgaGVyZWluLgogIERlciBIeWRyYWtvcGYgZ3JlaWZ0IERpY2ggbWl0IHNlaW5lbSBmdWVyY2h0ZXJsaWNoZWggR2ViaXNzIGFuIGFuLgogIERlciBIeWRyYWtvcGYgdHJpZmZ0IERpY2ggc2VociBoYXJ0LgpEdSBoYXN0IGpldHp0IDYgTGViZW5zcHVua3RlIHVuZCAxNjggTWFnaWVwdW5rdGUuCiAgRGVyIEh5ZHJha29wZiBncmVpZnQgRGljaCBtaXQgc2VpbmVtIGZ1ZXJjaHRlcmxpY2hlaCBHZWJpc3MgYW4gYW4uCiAgRGVyIEh5ZHJha29wZiB0cmlmZnQgRGljaCBzZWhyIGhhcnQuCkRlaW4gUGFydG5lciBpc3QgbGVpZGVyIG5pY2h0IGRhIHVtIERpciBiZWl6dXN0ZWhlbi4KW1RvZDpdIEVpbiBIeWRyYWtvcGYgaGF0IGdlcmFkZSBDYXJhZGhyYXMgdW1nZWJyYWNodC4KCiAvKiBobSwgamEsIHZlcmxhZXNzdCBtYW4gc2ljaCBhdWYgZW5kZSBpc3QgbWFuIHZlcmxhc3NlbiAqLwogLyogYWxzbyBpbiBadWt1bmZ0IGJyYXYgc3RlaGVuIGJsZWliZW4gd2VubiBtYW4gbmljaHQgd2Vpc3MgKi8KIC8qIHdvIGRlciBSZXN0IHZvbiBUYW50ZSBIeWRyYSBzdGVja3QhICovCiAvKiBOb3JtYWxlcndlaXNlIHNpbmQgZXMgamEgMTIgS29lcGZlLCBhYmVyIDIgd2FyZW4gc2Nob24gdG90LiAqLwoKRWluIGZ1ZXJjaHRlcmxpY2hlciBTY2htZXJ6IGR1cmNoenVja3QgRGVpbmVuIEtvZXJwZXIuIERpciB3aXJkIHNjaHdhcnogdm9yCkF1Z2VuLiBEdSBiaXN0IHRvdC4KCkR1IGVyd2FjaHN0IGF1cyBkZXIgT2hubWFjaHQgdW5kIGZ1ZWhsc3QgRGljaCB6aWVtbGljaCB3b2hsLiBBbGwgRGVpbmUKa2xlaW5lbiBXZWh3ZWhjaGVuIHNjaGVpbmVuIHdpZSB3ZWdnZWJsYXNlbiB6dSBzZWluLiBEaWUgQmxhc2VuIHVudGVyIERlaW5lbgpGdWVzc2VuIG1lcmtzdCBEdSBuaWNodCBtZWhyLCBhdWNoIGRlciBkdW1wZmUgWmFobnNjaG1lcnosIGRlciBEaWNoIHNlaXQKendlaSBUYWdlbiBwbGFndCBpc3Qgd2VnLiBTb2dhciBEZWluIGFsdGVzIEtuaWVnZWxlbmtsZWlkZW4gaXN0IGZ1dHNjaC4KCkN1Y2h1bGxpbiBydWZ0OiBDQUFBUkFBQUFBQSA6KCgoKApbQWxsZ2VtZWluOkNlbGViZGlsXSB1cHBzIDopCltUb2Q6XSBFaW4gU2NobGFtbWRyYWNoZSBoYXQgZ2VyYWRlIFdpbGxvdyB1bWdlYnJhY2h0LgpbVG9kOkVpbiBTY2hsYW1tZHJhY2hlXSBBbmZhZW5nZXIgLi4uCkFuYWtpbiB0ZWlsdCBEaXIgbWl0OiBXYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFoClNsYXNoIGtudWRkZWx0IERpY2ggYXVzIGRlciBGZXJuZS4KUGFudG9mZmVsIGtudWRkZWx0IERpY2ggYXVzIGRlciBGZXJuZS4KW0FsbGdlbWVpbjpBbGFtYnVyXSBiZWlsZWlkIGNhcmEKQWxhbWJ1ciBrbnVkZGVsdCBEaWNoIGF1cyBkZXIgRmVybmUuCkR1IHNwcmluZ3N0IGF1ZiB1bmQgZnVlaGxzdCBEaWNoIGVpbmZhY2ggcHVkZWx3b2hsLgoKTm9zdHJhZGFtdXMgcnVmdDogU0NIRUlTU0UhCkRhcyBlaW56aWdlIHdhcyBEaWNoIG5vY2ggc3RvZXJ0IGlzdCwgZGFzcyBEdSBhYnNvbHV0IG5pY2h0cyBzZWhlbiBrYW5uc3QuCgpDdWNodWxsaW4gcnVmdDogV0lJSUlMTExMT09XV1cgOigoCkhhcmRpbCBrbnVkZGVsdCBEaWNoIGF1cyBkZXIgRmVybmUuCkplbWFuZCBzYWd0OiBHQU5aIFNDSE9FTiBEVU5LRUwgSElFUiwgV0FTPwoKW0FsbGdlbWVpbjpUb3JmZHVlbmcgPz9wcnVzdGV0XQpbQWxsZ2VtZWluOk1vcmdvdGhdIGhhYmVuIHdpciBoaWVyIG5lIHN0ZXJiZXF1b3RlIGVpbmdlZnVlaHJ0Li4uCk9ya3RvZXRlciB0ZWlsdCBEaXIgbWl0OiBCZWlsZWlkICEgKHdhZXNydCBkdSBkb2NoIGJlc3NlciBiZWltIFNlbnNpCk9ya3RvZXRlciB0ZWlsdCBEaXIgbWl0OiBnZWJsaWViZW4gKQpFcnNjaHJvY2tlbiBzcHJpbmdzdCBEdSB6dXIgU2VpdGUuIFdlciB3YXIgZGFzIGRlbm4/IEVpbmUgRmFja2VsIGdlaHQgYW4gdW5kCmJlbGV1Y2h0ZXQgZ2VzcGVuc3Rpc2NoIHZvbiB1bnRlbiBlaW5lbiAuLiBUb3RlbnNjaGFlZGVsLiBNaXQgZWluZW0gZ2VsbGVuZGVuClNjaHJlaSB3ZWljaHN0IER1IHp1cnVlY2sgdW5kIHZlcnN1Y2hzdCBEaWNoIGhpbnRlciBEaXIgc2VsYnN0IHp1IHZlci0Kc3RlY2tlbi4KCltBbGxnZW1laW46Q2VsZWJkaWxdIEplbWFuZCBzYWd0OiBHQU5aIFNDSE9FTiBEVU5LRUwgSElFUiwgV0FTPwpUb2Qgc2FndDogRFUgQklTVCBHQU5aIFNDSE9FTiBTQ0hSRUNLSEFGVC4KCkFscyBlcyBldHdhcyBoZWxsZXIgd2lyZCwgZXJrZW5uc3QgRHUgaWhuIHdpZWRlciwgZGVuIFRvZC4gRXIgdHJhZWd0IGVpbmVuCndlaXRlbiBzY2h3YXJ6ZW4gVW1oYW5nIHVuZCBpbiBlaW5lciBIYW5kIGVpbiBncm9zc2UsIGJlc29uZGVycyBzY2hhcmYgYXVzLQpzZWhlbmRlIFNlbnNlLiBEZXIgV2lkZXJzY2hlaW4gZGVyIEZhY2tlbCBsZXVjaHRldCBpbiBzZWluZW4gbGVlcmVuIEF1Z2VuLQpob2VobGVuLgoKW0FsbGdlbWVpbjpDZWxlYmRpbCBncmluc3QuXQpQYW50b2ZmZWwgdGVpbHQgRGlyIG1pdDogaWNoIGhhYiBkaXIgZG9jaCB2ZXJib3RlbiBkaWUgU1NQIHp1IHZlcmxhc3NlbgpQYW50b2ZmZWwgdGVpbHQgRGlyIG1pdDogWGdyaW5zWApUb2Qgc2FndDogRVMgV0lSRCBaRUlULCBEQVNTIFdJUiBHRUhFTi4KCltBbGxnZW1laW46QW5ha2luIGdyaW5zdCBDZWxlYmRpbCBhbi5dCkR1IGZvbGdzdCBUb2QgdW5kIGplIHdlaXRlciBEdSBnZWhzdCwgdW1zbyBoZWxsZXIgd2lyZCBkaWUgVW1nZWJ1bmcuIElocgp6d2VpIGdlaHQgYXVmIGVpbiBrbGVpbmVzIEhhdXMgenUuIEFuc2NoZWluZW5kIGlzdCBlcyBkYXMgSGVpbSB2b20gVG9kLgoKCiAgICBEYXMgd2FycywgYWxzbyBWb3JzaWNodCBiZWkgTGFnIGJlaSBkZXIgSHlkcmEsIGRhIHdlcmRlIGljaCBpbgogICAgWnVrdW5mdCBtZWluZSBWb3JzaWNodCBob2VoZXIgc2V0emVuLCBzbyBhdWYgMTQwIHdlbm4gaWNoCiAgICByZWxhdGl2IHdlbmlnIGFuaGFiZSB1bmQgYXVmIDEyMCB3ZW5uIGljaCB2aWVsIGFuaGFiZS4KCiAgICAgICAgIENhcmFkaHJhcyAtIG1pdCAyIEhvZXJuZXJuIG1laHIgamV0enQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChDdWNodWxsaW4sIDE0LiBKdWwgMTk5NSwgMjA6MTU6MTMpOgojISBybj1DYXJhZGhyYXMgcnQ9ODA1NzQzODI1CgoKSG1tbS4uLi4KU292aWVsIGljaCB3ZWlzcywgZ3JlaWZ0IGRpZSBWb3JzaWNodCBkYW5uLCB3ZW5uIGVpbmUgbmV1ZSBLYW1wZnJ1bmRlCmFuZmFlbmd0LCB1bmQgZGVyIGVpbmdlc3RlbGx0ZSBWb3JzaWNodHMtV2VydCBiZXJlaXRzIHVudGVyc2Nocml0dGVuIGlzdC4gRGFzCndhciBkb2NoIGRhLCBuYWNoZGVtIENhcmFkaHJhcyBiZWkgZGVyIEh5ZHJhIHN0YW5kIHVuZCBpaHJlbiBXaWxrb21tZW5zc2NobGFnCih1bmQgZGVuIGRlciBkYSBub2NoIHJ1bXN0ZWhlbmRlbiBLb2VwZmUpIGVyaGFsdGVuIGhhdCB1bmQgZGllIG5hZWNoc3RlbgpLb2VwZmUgcmVpbmthbWVuLCBkZXIgRmFsbC4KCk9kZXIga2FubiBkYXMgZWluIEdvdHQgbWFsIGdlbmF1IGVya2xhZXJlbj8KCi0gY3VjaCAtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcm51bmcgYW4gaG9laGVyZSB1bmQgaG9oZSBTZWhlciEgKE5vc3RyYWRhbXVzLCAxNC4gSnVsIDE5OTUsIDIwOjQ2OjU1KToKIyEgcm49Q2FyYWRocmFzIHJ0PTgwNTc0MzgyNQpFcyB3YXIgc2Nob24gaW1tZXIgc28sIGRhc3MgZGllIEZsdWNodHJpY2h0dW5nIHZvbiBlaW5lciBrdXJ6IHZvciBkZXIKVm9yc2ljaHQgZWluZ2VnZWJlbiBSaWNodHVuZyBkb21pbmllcnQgd2lyZC4gVW5kIGltIExhZyBpc3QgbWlyIGRhcyBzY2hvbiBvZnQKcGFzc2llcnQuLi4gKFNvcnJ5IENhcmEgYWJlciBkYSBkdSBzb25zdCBpbW1lciBvaG5lIEZsdWNodHJpY2h0dW5nIHNwaWVsc3QsCmtvbm50ZXN0IER1IGRhcyBuaWNodCB3aXNzZW4gdW5kIER1IGhhc3QgZGllIEVwIGphIGF1Y2ggenVydWVjayA6KSkpCnp1ciBCZW1lcmt1bmcgbWl0IGRlbSBCZWdydWVzc3VuZ3NzY2hsYWcgaW0gZXJzdGVuIFJlcGx5OgoodmVyc2FnZW4gZGVyIGZyIGJlaSAxOSBscCkKRGllIGVpbnppZ2UgRXJrbGFlcnVuZyBpc3QsIGRhcyBuZXUgaGluenVrb21tZW5kZSBLb2VwZmUgbm9jaAp6dXIgYWx0ZW4gS2FtcGZydW5kZSBnZXJlY2huZXQgd2VyZGVuLiBBYmVyIGhpZXIgd3VlcmRlIG1pY2gKZWluZSBFcmtsYWVydW5nIGRlciBHb2V0dGVyL0Vyem1hZ2llciBhdWNoIHNlaHIgaW50ZXJlc3NpZXJlbi4KCk5vc3RyYWRhbXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmtsYWVyZW4sIGJlZ3J1ZW5kZW4sIHJlY2h0ZmVydGlnZW4uLi4gKEhhd2ssIDE1LiBKdWwgMTk5NSwgMDI6Mjk6MTIpOgpFaW4gcGFyIFdvcnRlIHNpbmQgd2lrbGljaCBtb2Rlcm4gZ2V3b3JkZW4uIFdpZSBlcmtsYWVyZW4sCmJlZ3J1ZW5kZW4sIHJlY2h0ZmVydGlnZW4sIGVpbnNhbWUgRW50c2NoZWlkdW5nZW4sIFZlcnBmbGljaHR1bmcsClZlcmFudHdvcnR1bmcsIC4uLi4KTGF1dGVyIHNjaG9lbmUgQmVncmlmZmUuIEljaCBmaW5kZSwgZGllIE1hZ2llciBzb2xsdGVuIHNpY2gKZGllIG1hbCAqd2lya2xpY2gqIGR1cmNoIGRlbiBLb3BmIGdlaGVuIGxhc3NlbiwgZGVuIHdpcgpTcGllbGVyIGhhYmVuIGphIG5pY2h0cyB6dSBiZWdydWVuZGVuLCByZWNodGZlcnRpZ2VuLCBlbnRzY2hlaWRlbiwKdmVyYW50d29ydGVuLAp1bmQgc2luZCBhdWNoIHp1IG5pY2h0cyB2ZXJwZmxpY2h0ZXQuCmhhd2ssIGhhZXR0ZSB2aWVsbGVpY2h0IEdlcmljaHRzdm9sbHppZWhlciB3ZXJkZW4gc29sbGVuLgoKCgoKCgoKCgoKCm9oOiBJUk9OSUUgT0ZGCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZWdlbiAoUmVpbmVsZGUsIDE2LiBKdWwgMTk5NSwgMTE6MzY6MDcpOgpoaSBtdWRkaWVzLAoKYWxzIGthcmF0ZWthIG9obmUgd2FmZmUgZXJlaWx0ZSBlcyBtaWNoIG1hbCB3aWVkZXIgaW0gZWxmZW5kb3JmOgpEdSB6dWVja3N0IGRlbiBEZWdlbiB1bmQgZXIgbGllZ3QgRGlyIHNlaHIgR3V0IGluIGRlciBIYW5kLiBFciBsYWVzc3QKc2ljaCBiZXdlZ2VuIHdpZSBlaW4gdmVybGFlbmdlcnRlciBGaW5nZXIuCmthbm4gZXMgc2VpbiwgZGFzcyBkYSBlaW5lIG1lbGR1bmcgZmxhc2NoIGdlbGVpdGV0IHdpcmQ/CgpyZWluZWxkZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlZ2VuIChSeW5lLCAxNi4gSnVsIDE5OTUsIDEyOjE2OjQxKToKIyEgcm49UmVpbmVsZGUgcnQ9ODA1ODg3MzY3CmFlaCAtIG1pciBpc3QgZGFzIG5vY2ggbmljaHQgcGFzc2llcnQsIGFiZXIgVG9zcywgYXVjaCBpbSBFbGZlbmRvcmYgLQphbGxlcmRpbmdzIGlzdCBkZXIga2VpbmUgS2FyYXRla2EsIGtyaWVndGUgYWJlciBkaWVzZWxiZSBtZWxkdW5nIHdpZSBSZWluZWxkZS4KClJ5bmUKUGxhZWRpZXJ0IGZ1ZXIgUnVicmlrIGQuYnVnbWVsZHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHltb25zdGVyIHN1Y2h0IFBhcnR5c2FjaGVuIChLZXRvcywgMTYuIEp1bCAxOTk1LCAyMTo0NzowMyk6CkhhbGxvLCBsaWViZSBNdWRkZXIgdW5kIFBhcnR5bG9ld2luZW4uCgpJbSBOYW1lbiBkZXMgUGFydHltb25zdGVyIHJ1ZmUgaWNoIHdpZWRlciBkYXp1IGF1ZiBuYWNoIFBhcnR5c2FjaGVuIGZ1ZXIKZGFzIFBhcnR5bW9uc3RlciB6dSBzdWNoZW4uCkhhc3QgZHUgaW4gbGV0enRlciBaZWl0IGVpbmUgUGFydHkgZ2VzY2htaWVzc2VuIHVuZCBiZWltIFBhcnR5bW9uc3RlciBldHdhcwp2ZXJtaXNzdCwgKGRhcyBlcyB3b2FuZGVyZXMgaW0gTXVkIGdpYnQ/KQpIYXN0IGR1IGVpbiBzcGFzc2lnZXMgRGluZyBnZXNjaHJpZWJlbiBkYXMgZ2VuYXUgZGFzIHJpY2h0aWdlIGZ1ZXIgZGFzClBhcnR5bW9uc3RlciB3YWVyZT8KRGFubiBzY2hyZWliIG1pciAoYW4gS2V0b3MpCgotIEtldG9zIC0KCkJpdHRlIEZpbGVuYW1lIG9kZXIgT3J0IHdvIG1hbiBlcyBiZWtvbW10IGFuZ2ViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcm51bmcgYW4gaG9laGVyZSB1bmQgaG9oZSBTZWhlciEgKFdhcmdvbiwgMTcuIEp1bCAxOTk1LCAxMDozNzowNyk6CiMhIHJuPU5vc3RyYWRhbXVzIHJ0PTgwNTc0NzYxNQogIEhpIQpIaWVyIGVpbiBXb3J0IHp1ciBLbGFlcnVuZzoKRGVyIEZsdWNodG1vZHVzIHdpcmQgbnVyIGRhbm4gYWt0aXZpZXJ0LCB3ZW5uIG1hbgphKSBpbiBlaW5lciByZWd1bGFlcmVuIEthbXBmcnVuZGUgaXN0IFVORApiKSBnZXJhZGUgc2VsYnN0IGRlbiBadXNjaGxhZyBoYXQuCkJlZ3J1ZXNzdW5nc3NjaGxhZWdlIHZvbiBHZWduZXJuIG9kZXIgYXVmIEdlZ25lciBnZWhvZXJlbiBOSUNIVCB6dQplaW5lciBLYW1wZnJ1bmRlLCBzb25kZXJuIHNpbmQgS2FtcGZib25pLCBpbiBkZW5lbiBkZXIgRmx1Y2h0bW9kdXMKTklDSFQgYWJnZWZyYWd0IHdpcmQuIEViZW5mYWxscyBOSUNIVCBhYmdlZnJhZ3Qgd2lyZCBlciwgd2VubiBpbgplaW5lciBLYW1wZnJ1bmRlIGRpZSBHZWduZXIgenVzY2hsYWdlbi4KQ2FyYXMgVG9kIGthbSBkZXNoYWxiIHdpciBmb2xndCB6dXN0YW5kZToKLSBLYW1wZnJ1bmRlIGJlaSBkZXIgTnltcGhlOgogIENhcmEgaGF0IDEzNCBIUC4gRXIgc2NobGFlZ3QgenUuIERhIDEzND4xMTAgKHNlaW4gVm9yc2ljaHRzd2VydCksCiAgc3ByaW5ndCBkZXIgRmx1Y2h0bW9kdXMgbmljaHQgYW4uCiAgRGllIEtvZXBmZSBsYW5nZW4genUuIEFtIEVuZGUgaGF0IGVyIG5vY2ggMTAzIEhQLgogIFdhZXJlIGVyIGltIFJhdW0gZ2VibGllYmVuLCB3YWVyZSBiZWkgc2VpbmVyIG5hZWNoc3RlbiBLYW1wZmFrdGlvbgogIGRlciBGbHVjaHRtb2R1cyBha3RpdiBnZXdvcmRlbi4KICBEdW1tZXJ3ZWlzZSBnZWh0IGVyIGFiZXIgZWluZW4gUmF1bSB3ZWl0ZXIuCi0gQmV0cmV0ZW4gZGVzIG5hZWNoc3RlbiBSYXVtZXM6CiAgRGllIEh5ZHJhIHVuZCBkaWUgc2VjaHMgS29lcGZlIGVydGVpbGVuIENhcmEgamUgZWluZW4gQmVncnVlc3N1bmdzLQogIHNjaGxhZy4gSGllcmJlaSB3aXJkIGRlciBGbHVjaHRtb2R1cyBuaWNodCBha3Rpdi4KICBDYXJhIGhhdCBub2NoIDE5IEhQCiAgTWVocmVyZSBLb2VwZmUga29tbWVuIGhlcmVpbiwgQ2FyYSB2ZXJ0ZWlsdCBlaW5lbiBCZWdydWVzc3VuZ3NzY2hsYWcuCiAgQXVjaCBkYWJlaSB3aXJkIGRlciBGbHVjaHRtb2R1cyBuaWNodCBha3RpdiAoZGEgQm9udXMgdW5kIGtlaW5lCiAgS2FtcGZydW5kZSkuCi0gZGllIG5hZWNoc3RlIEthbXBmcnVuZGUgYmVnaW5udDoKICBEdW1tZXJ3ZWlzZSBoYXQgQ2FyYSBuaWNodCBkZW4gZXJzdGVuIFNjaGxhZywgc29uZGVybiBlaW5pZ2UgS29lcGZlIHNpbmQKICB2b3IgaWhtIGRyYW4uCiAgRGEgZGVyIEZsdWNodG1vZHVzIG51ciBiZWkgU0VJTkVNIFNjaGxhZyBhbnNwcmluZ3QsIGJlaXNzdCBlciBpbnMKICBmcmlzY2hlIEdyYXMgZGVzIEx1cGluZW50YWxzLgoKSW5zZ2VzYW10IGFsc28gZWluIHZvZWxsaWcga29ycmVrdGVzIFZlcmhhbHRlbiBkZXMgS2FtcGZzeXN0ZW1zLgogIFRzY2h1ZXNzLAogICAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChSeW5lLCAxNy4gSnVsIDE5OTUsIDExOjQ0OjA5KToKIyEgcm49V2FyZ29uIHJ0PTgwNTk3MDIyNwpFcnN0YXVubGljaC4uLiBoaWVyIGdpYnRzIEVQcyB6dXJ1ZWNrID8KCkFsc28sIHdlbm4gaWNoIGZ1ZXIgIk5pbW0gYWxsZXMiIGdlbnVnIHplaXQgaGFiZSAodW5kIGRhcyBpbSBLYW1wZiBnZWdlbiBkaWUKSHlkcmEpLCBkYW5uIHNvbGx0ZSBkb2NoIGJlaSBlbnRzcHJlY2hlbmRlbSBtaXRkZW5rZW4gYXVjaCBlaW4gIkVuZGUiIG1vZWdsaWNoCmdld2VzZW4gc2Vpbiwgb2RlciA/CkdvaWwsIGljaCBoYWIgc2Nob24gZWluIGJhc2lzLWxvZyBnZW1hY2h0LCBkYW1pdCBicmF1Y2ggaWNoIG51ciBub2NoCk1vbnN0ZXJuYW1lbiB1bmQgSGFuZHMgenUgZXJzZXR6ZW4sIGVpbmVuIFJhdW0gZWlucGFzdGVuIHVuZCBzY2hvbiBoYWIgaWNoCmVpbiAiTG9nIiBtZWluZXMgbGV0enRlbiBUb2Rlcy4gTWl0IG1pdCBnYXJhbnRpZXJ0IGZlaGxlcmhhZnRlcgpGbHVjaHRyaWNodHVuZy4KClJ5bmUKU2Nob24gYW4gd2lya2xpY2hlbiBidWdzIGdlc3RvcmJlbiwga3JpZWd0IGFiZXIgbmllIHdhcyB3aWVkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChDdWNodWxsaW4sIDE3LiBKdWwgMTk5NSwgMTE6NTY6MDApOgojISBybj1SeW5lIHJ0PTgwNTk3NDI0OQoKCgpIbW0uLi4gIGRhbmtlIGZ1ZXIgZGllIEVya2xhZXJ1bmcsIGVya2xhZXJ0IGF1Y2ggdmllbGUgYW5kZXJlIFRvZGUsIG5laG0gaWNoCmFuLiBBYmVyLi4uIGtvZW5udGUgbWFuIGRhcyBkYW5uIGF1Y2ggX3NvXyBhZW5kZXJuLCBkYXNzIG1hbiB6dSBCZWdpbm4gZWluZXIKUnVuZGUgZmxpZWh0LCBhdWNoIHdlbm4gbWFuIG5pY2h0IHNlbGJzdCBkZW4gRXJzdHNjaGxhZyBoYXQ/CgpGdWVyIGVpbiBsYW5nZXMgTGViZW4sCgotIGN1Y2ggLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdhcm51bmcgYW4gaG9laGVyZSB1bmQgaG9oZSBTZWhlciEgKFdhcmdvbiwgMTcuIEp1bCAxOTk1LCAxMjowMTozOSk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MDU5NzQ5NjAKICBIaSEKRGFzIGlzdCBhdXMgdGVjaG5pc2NoZW4gR3J1ZW5kZW4gbmljaHQgbW9lZ2xpY2ggKG5hIGd1dCwgbW9lZ2xpY2ggdmllbGxlaWNodCwKYWJlciBlaW4gemllbWxpY2hlciBBdWZ3YW5kKSwgZGEgZGVyIGVyc3RlIEFuZ3JlaWZlciBiZWkgYWxsZW4gR2VnbmVybiBkZXIKRmx1Y2h0bW9kdXMgY2hlY2tlbiB1bmQgc2VpbmVuIEt1bXBhbmVuIGRhIG1pdHRlaWxlbiBtdWVzc3RlLCBkYXNzIGRpZXNlcwpzY2hvbiBnZXNjaGVoZW4gaXN0LiBBbnNvbnN0ZW4gd3VlcmRlIGplZGVyIEdlZ25lciBiZWkgZGVuIE9wZmVybiBkZW4KRmx1Y2h0bW9kdXMgY2hlY2tlbiwgdW5kIGRhcyBLYW1wZnJ1bmRlbnByaW56aXAgd2FlcmUgemllbWxpY2ggaW0gRWltZXIgKHdhcwpkaWUgRmx1Y2h0IGFuZ2VodCkuCiAgVHNjaHVlc3MsCiAgICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHVuc2VyIG11ZCAoRHVyaWFuLCAxNy4gSnVsIDE5OTUsIDEzOjQ1OjI5KToKIyEgcm49QXNtb2RpcyBydD04MDU3MzUzNjcKSGFzdCBqYSBSZWNodCBBc21vZGlzIC4uLgoKQWJlciwgc29sYW5nZSBlcyBpbW1lciBub2NoIGVpbmZhY2ggaXN0IGdlZ2VuIGFuZGVyZSBTcGllbGVyIHp1IHVlYmVuCihkaWVzIGlzdCBhdWNoIG5hY2ggZGVyIEFic2NoYWZmdW5nIGRlcyBCb251cyBpbW1lciBub2NoIG1vZWdsaWNoKSwKYmxlaWJ0IGRpZSBBcmVuYSBBVVNTQ0hMSUVTU0xJQ0ggZnVlciBLYXJhdGVrYSB1bmQgZnVlciBkaWUgbnVyIGZ1ZXIKRHVlbGxlIGdlc2NobG9zc2VuLgpEaWVzIGlzdCBhdXNkcnVlY2tsaWNoIG51ciB1ZWJlcmdhbmdzd2Vpc2Ugc28gdW5kIHdpcmQgc29iYWxkIG1vZWdsaWNoCndpZWRlciB6dXJ1ZWNrIGdlbm9tbWVuLiBJY2ggZGVua2UsIGRhZnVlciBrYW5uIG1hbiBWZXJzdGFlbmRuaXMgYXVmYnJpbmdlbiEKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChDYXJhZGhyYXMsIDE3LiBKdWwgMTk5NSwgMTU6MDU6MzkpOgojISBybj1XYXJnb24gcnQ9ODA1OTc1Mjk5CkljaCBrb25udGUgbnVyIGRlc2hhbGIgZWluIG5laG1lIGFsbGVzIG1hY2hlbiwgd2VpbCBpY2ggc2Nob24gdm9yaGVyCnd1c3N0ZSwgZGFzcyBtZWluIFpldWcgaW4gZGllc2VtIFJhdW0gaXN0LiBEYXMgJ2cnIGRhc3MgZGEgaXJnZW5kd28KZHJ1ZWJlciBkcmluc3RlY2t0IGVpbmlnZSBaZWlsZW4gd2VpdGVyIG9iZW4gaGFiZSBpY2ggdmllbGxlaWNodAoyIDMgb2RlciA0IFNla3VuZGVuIHZvcmhlciBlaW5nZWdlYmVuLCBnIGZ1ZXIgZ2V0IGFsbCwgbmltbSBhbGxlcy4KQXJnbCwgZG9vZmUgSGVsaXgsIG1hbiBzb2xsdGUgaGllciBuaWNodCBpZGxlbi4uLiAqYnJ1bW1lbCoKTWVpbmUgZWluZSBSdW5kZSBkIGYga2FtIGRlc2hhbGIsIHdlaWwgaWNoIGVyc2Nocm9ja2VuIGJpbiB1ZWJlciBkaWUKS29lcGZlLCBkaWUgZWluZSBTZWt1bmRlIHZvcmhlciBkb3J0IG5vY2ggbmljaHQgd2FyZW4uIFVuZCB3aWUgZ2VzYWd0LAppY2ggaGF0dGUgZGFtaXQgZ2VyZWNobmV0LCBkYXNzIGRhcyBzdGltbXQgd2FzIGluIGhpbGZlIGZsdWNodHJpY2h0dW5nCnVuZCBoaWxmZSB2b3JzaWNodCBzdGVodC4gSWNoIHppdGllcmUgJ1dlbm4gRHUgRGljaCBpbSBWb3JzaWNodHNtb2R1cwpiZWZpbmRlc3QsIHJlbm5lbiBEZWluZSBCZWluZSBtaXQgRGlyIGZvcnQsIHNvYmFsZCBEZWluZSBMZWJlbnNwdW5rdGUKdW50ZXIgZGVuIGFuZ2VnZWJlbmVuIFdlcnQgZ2VzdW5rZW4gc2luZC4nClN0ZWh0IHdlZGVyIHdhcyB2b24gJ3dlbm4gbWFuIGVpbmUgZXhpc3RpZXJlbmRlIFJpY2h0dW5nIGVpbmdpYnQgZmxpZWh0Cm1hbiB6dWVyc3QgZG9ydGhpbicgbm9jaCBkYXNzIGRpZSBNb25zdGVyIGV2ZW50dWVsbCBub2NoIGVpbmUgUnVuZGUKenVzY2hsYWdlbi4gSW5zb2Zlcm4gc29sbHRlIGRpZSBoaWxmZSB2aWVsbGVpY2h0IG1hbCBlcndlaXRlcnQgd2VyZGVuCnVtIGVpbmlnZSB3ZW5pZ2UgU2FldHplLCBkYW1pdCBzaWUgd2VuaWdzdGVucyBzdGltbXQuCgoKSWNoIHZlcmxhbmdlIGphIG5pY2h0LCBkYXNzIGRpZSBmbHVjaHRyaWNodHVuZyBhbnNwcmluZ2VuIG11c3Mgd2VubiBkaWUKaHBhbnplaWdlIG5pZWRyaWdlciBpc3QgYWxzIGRpZSB2b3JzaWNodCwgc29uZGVybiBkYXNzIG1hbiBlcyB2b24gZGVyCmhpbGZlIGVyZmFocmVuIGthbm4gd2llIGVzIHdpcmtsaWNoIGlzdC4KCiAgZnJvZWhsaWNoIHRyb3R6ZGVtIHdlaXRlciB6dXIgSHlkcmEgaHVlcGZlbmQKICB1bmQgc2VpbmUgVGFudGUgbWl0IEZsYW1tZW5rdWdlbG4gdHJvZXN0ZW5kCgogICAgICAgICAgICAgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYW5kdGlnZXIgaW4gUFYgKERhbmNlciwgMTcuIEp1bCAxOTk1LCAxOToyOTowNSk6CkhpIQoKTmFjaGRlbSBkaWUgUmVzb25hbnogYXVmIGRlbiBTYW5kdGlnZXIgaW4gUG9ydCBWYWluIHNvIG5ldHQgd2FyIHVuZCBtZWluCkJyaWVma2FzdGVuIHZvciBHcnVzc3d1ZW5zY2hlbiB1ZWJlcmdlbGF1ZmVuIGlzdCwgaGFiZSBpY2ggZGVuIFRpZ2VyIGVpbiB3ZW5pZwp1bWVyem9nZW46Ck1pdCAndGlnZXJncnVzcyBmdWVyIDxOYW1lPiBtaXQgPEdydXNzdGV4dD4nIGtvZW5udCBpaHIgamV0enQgc2VsYmVyIEV1cmUKTmFjaHJpY2h0ZW4gYW4gYW5kZXJlIFNwaWVsZXIgZWludHJhZ2VuIChTeW50YXggc2llaHQgbWFuIG5vY2htYWwgd2VubiBtYW4KaWhuIGFuc2NoYXV0KS4KRGllc2VyIEdydXNzdGV4dCB3aXJkIGRlbWplbmlnZW4gZGFubiBob2VjaHRlbnMgZWlubWFsIGRpZSBTdHVuZGUgdm9tClNhbmR0aWdlciBhdXNnZXJpY2h0ZXQsIGZhbGxzIGRlcmplbmlnZSBhbiBpaG0gdm9yYmVpa29tbXQgbmF0dWVybGljaCBudXIuCldlbm4gaWhyIGZ1ZXIgamVtYW5kIEFOREVSRU4KZWluZSBOYWNocmljaHQgc2V0enQsIGRhbm4gc2FndCBkZXIgVGlnZXIgbm9jaCBkYXp1LCB2b24gd2VtIGVyIGRpZSBOYWNodGljaHQKYXVzcmljaHRlbiBzb2xsLCB3ZW5uIGlociBFdWNoIHNlbGJzdCBldHdhcyBlaW50cmFndCwgZGFubiBsYWVzc3QgZGVyIFRpZ2VyCmRpZXNlbiBUZWlsIHdlZy4KV2VpbCBkZXIgVGlnZXIgamEgbmljaHQgdW51bnRlcmJyb2NoZW4gYXVzd2VuZGlnIGxlcm5lbiBrYW5uLCBrYW5uIG1hbiBkZW4KR3J1c3N0ZXh0IGplZGVyIFBlcnNvbiBudXIgYWxsZSAyNCBTdHVuZGVuIGVpbm1hbCBhZW5kZXJuLCBhZWNodGV0IGFsc28gYXVmClRpcHBmZWhsZXIsIGRhcyAgTG9lc2NoZW4gaGFiZSBpY2ggbm9jaCBuaWNodCBlaW5nZWJhdXQuCgpEYW5rZSB1ZWJyaWdlbnMgZnVlciBkaWUgdmllbGVuIE1haWxzIG1pdCBJZGVlbiwgVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlbgp1bmQgS29tbWVudGFyZW4gOi0pCgpLbnVkZGVscywKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmxvYnVuZ3NyaW5nZSAoUmlrdXMsIDE3LiBKdWwgMTk5NSwgMjI6NTk6NDApOgpIaSwKCkdlc3Rlcm4gaGFiZSBpY2ggbnVuIGRpZSBWZXJsb2J1bmdzcmluZ2UgaW4gZGVuIEp1d2VsaWVybGFkZW4gZGVyClp3ZXJnZW5zdGFkdCBlaW5nZWJhdXQuIFdlbGNoZXMgUGFlcmNoZW4gbWFnLCBrYW5uIHNpY2ggZGllc2UgaGllcgpudW4gYmVzdGVsbGVuLiBLb3N0ZW4gMjAwMDAgZGFzIFBhYXIuCldpZSBtYW4gYmVzdGVsbHQsIHN0ZWh0IGF1ZiBkZW0gRmx1Z2JsYXR0LiBMb3N3ZXJkZW4ga2FubiBtYW4gc2llCmF1Y2ggd2llZGVyIGhpZXIsIGhvZmZlIG51ciwgZGllcyBpc3QgbmljaHQgc28gc2NobmVsbCBkZXIgRmFsbCEgOykKClZpZWwgU3Bhc3MsIEV1ZXIgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRpZ2VyIDIgKERhbmNlciwgMTguIEp1bCAxOTk1LCAwMDowMDo1Mik6CkFlaCwgc29ycnksIHNjaG9uIHdpZWRlciBpY2ggbWl0IGRlbSBTYW5kdGlnZXIgdm9uIFBvcnQgVmFpbiA6KQoKR2VodCBlaW5mYWNoIG1hbCB6dSBpaG0gaGluIHVuZCBtYWNodCAndGlnZXJoaWxmZScsIGRhIHNpbmQgamV0enQgbm9jaCBwYWFyCmFuZGVyZSBCZWZlaGxlLi4uCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChDYXJhZGhyYXMsIDE4LiBKdWwgMTk5NSwgMDU6NDE6MjcpOgojISBybj1DYXJhZGhyYXMgcnQ9ODA1OTg2MzM5CiAgICAgICAgICAgICAgICAgICAgICAgIEhhbGxvCgpTbywgZGFmdWVyIGhhdCBlcyBtaWNoIGdyYWRlIGViZW4gYXVjaCB3aWVkZXIgemVybGVndCwKRVAtRGlmZmVyZW56IGlzdCAtNjE3NTgyNSB1bmQgendhciBhbiBldHdhcyB3YXMgYXVjaCBuaWNodCBzZWluIGR1ZXJmdGUuCkljaCB3ZXJkZSBhYmVyIGRpZSBFUCBuaWNodCB3aWVkZXIgenVydWVja3ZlcmxhbmdlbiBvYndvaGwgZXMgYXVjaCBmdWVyCm1pY2ggZWluIEJ1ZyB3YXIuIEljaCBtdXNzdGUgbmFlbWxpY2ggbmFjaCBUYXJhbWlzIGZ1ZXIgZGllIG5ldWUgUXVlc3QKdm9uIFNpbHZhbmEgdW5kIGRvcnQgZ2lidCBlcyBqYSBkZW4gZWluZW4gUmF1bSB3byBtYW4gbWl0IExpY2h0IG5pY2h0CnJlaW5kYXJmLiBXZW5uIG1hbiBkcmluIExpY2h0IGFuenVlbmRldCwgZ2VodCBtYW4gaW4gZGllIEx1ZnQuCkljaCBoYWJlIGtlaW4gTGljaHQgYW5nZXp1ZW5kZXQsIG51ciBtYWNodCBkaWUgSHlkcmFydWVzdHVuZyBMaWNodCBwbHVzCmVpbnMsIGRoLiBtYW4ga2FubiBkb3J0IGdhciBuaWNodCBkdXJjaCBzb25kZXJuIHN0aXJidCBzb2ZvcnQuCldpZSBzb2xsIG1hbiBkaWUgUXVlc3QgZGFubiBsb2VzZW4gYWxzIEh5ZHJhdG9ldGVyIHdlbm4gbWFuIHNpY2ggdW0tCnNjaGF1ZW4gbXVzcyB1bSBkaWUgS3JhZXV0ZXIgenUgZmluZGVuPyBJbiBkaWVzZW0gRmFsbGUgTXV0dGVya29ybi4KCkNlbGViZGlsIGlzdCBuYXR1ZXJsaWNoIGF1Y2ggZ3JhZGUgZHJhbiBnZXN0b3JiZW4sIHdlaWwgZXIgYXVjaCBuaWNodApkcmFuIGRhY2h0ZSBkYXNzIGF1Y2ggZXIgZWluZSBIeWRyYXJ1ZXN0dW5nIGhhdHRlLCBhbHMgZXIgbWlyIG1laW5lClJ1ZXN0dW5nIHJhdXNob2xlbiB3b2xsdGUuIE1pciByZWljaHQgZXMgamV0enQgZXJzdCBtYWwsIGljaCBtYWNoZQplaW5pZ2UgVGFnZSBNRy1QYXVzZS4gV2FlcmUgbmV0dCB3ZW5uIHdlbmlnc3RlbnMgZWluZSBNb2VnbGljaGtlaXQKZ2VmdW5kZW4gd2VyZGVuIGtvZW5udGUgd2llIG1hbiBOSUNIVCBzdGVyYmVuIG11c3MgaW4gVGFyYW1pcy4KCiB0c2NodWVzcwoKICAgIENhcmFkaHJhcyAtIHdpcmQgZXJzdCB3aWVkZXIgTUcgc3BpZWxlbiB3ZW5uIG1hbiBkaWUgUXVlc3QgZHVyY2gtCiAgICAgICAgICAgICAgICBzcGllbGVuIGthbm4gb2huZSBzdGVyYmVuIHp1IG11ZXNzZW4sIGFiIGpldHp0IGluCiAgICAgICAgICAgICAgICBVTkl0b3BpYSBwcm9ncmFtbWllcmVuZGVyd2Vpc2UgenUgZXJyZWljaGVuCgpEYW5rZSBmdWVyIGRhcyBzY2huZWxsZSBBZW5kZXJuIHZvbiBoaWxmZSB2b3JzaWNodCB1ZWJyaWdlbnMgbm9jaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhcm51bmcgYW4gaG9laGVyZSB1bmQgaG9oZSBTZWhlciEgKFNpbHZhbmEsIDE4LiBKdWwgMTk5NSwgMDc6NDM6MTEpOgojISBybj1DYXJhZGhyYXMgcnQ9ODA2MDM4ODg3ClNvcnJ5LCBDYXJhZGhyYXMuLi4KWnVtIGVpbmVuIE1VU1MgbWFuIG5pY2h0IGR1cmNoIGRpZSBNaW5lIHVtIG5hY2ggVGFyYW1pcyB6dSBrb21tZW4sCnp1bSB6d2VpdGVuIGdpYnQgZXMgREVVVExJQ0hFIEhpbndlaXNlIGF1ZiBkYXMgR2FzIGluIGRlciBNaW5lLCBzbyBkYXNzLAp3ZXIgZWluZSBGYWNrZWwgYW56dWVuZGV0LCB3aXJrbGljaCBzZWxic3Qgc2NodWxkIGlzdC4KWnVtIGRyaXR0ZW4gd3Vzc3RlIGljaCBuaWNodCwgZGFzcyBlcyBsZXVjaHRlbmRlIFJ1ZXN0dW5nZW4gZ2lidCAtIG5vY2gKZGF6dSBzb2xjaGUsIGRpZSBtYW4gbmljaHQgbWVociBsb3Mgd2lyZC4uLi4gOygoKApadW0gdmllcnRlbiBpc3QgZGllIE1pbmUgamV0enQgZGljaHQsIHNvIGRhc3MgZXMga2VpbmVtIG1laHIgcGFzc2llcmVuCmthbm4gLSB1bmQgenVtIGZ1ZW5mdGVuIC0gYWNoLCBkYXMgZmluZGVzdCBEdSBpbiBEZWluZXIgbWFpbC4uLgoKU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlZ2VuIChZYW50cm8sIDE4LiBKdWwgMTk5NSwgMDg6MjY6NDIpOgojISBybj1SZWluZWxkZSBydD04MDU4ODczNjcKCkhhbGxvCgppY2ggdmVyc3ByZWNoZSwgZGFzcyBkaWUgU2FjaGUgbWl0IGRlbSBEZWdlbnp1ZWNrZW4gaW4gQXJiZWl0IGlzdCwgYWJlciBkYXMKUHJvYmxlbSBzY2hlaW50IHdlbmlnZXIgYW4gbWVpbmVtIERlZ2VuIGFscyB2aWVsbWVociBhbiBkZW4gbGllYmVuCkVsZmVud2FlY2h0ZXJsZWluIHp1IGxpZWdlbiA6LSggSGFidCBhbHNvIGV0d2FzIEdlZHVsZCB1bmQgaWdub3JpZXJ0IGVpbmZhY2gKZGllc2UgTWVsZHVuZywgd2VubiBzaWUgbWFsIHVudmVyaG9mZnQga29tbWVuIHNvbGx0ZS4uLgoKICAgICAgICAgICAgICAgICAgICAgICAgWWFudHJvKGdlc3RyZXNzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGVnZW4gKFlhbnRybywgMTguIEp1bCAxOTk1LCAwODoyODo1NSk6CiMhIHJuPVJ5bmUgcnQ9ODA1ODg5ODAxCgpFcyBicmF1Y2h0IGtlaW5lbiBydWJyaWsgZC5idWdtZWxkdW5nLCBkZW5uIG1hbiBrYW5uIGltbWVyIG5vY2ggaW4gSkVERU0gcmF1bQpkZXMgTVVEcyBlaW5lbiBidWcgZWluZmFjaCBtaXQgZGVtIGJlZmVobCAnYnVnJyBhYnNldHplbi4gRXMgaGVpc3N0IHNvZ2FyLApkYXNzIGRpZXNlIEZpbGVzLCBkaWUgZGFkdXJjaCBlbnRzdGVoZW4gaW0gV2FsZCBzY2huZWxsZXIgYWJnZWFyYmVpdGV0IHdlcmRlbgphbHMgaW4gZGVyIEViZW5lICpzY2hpZWwgYXVmIFNpbHZhbmEgdW5kIHp3aW5rZXIgUm9jaHVzIHp1KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5bW9uc3RlciBzdWNodCBQYXJ0eXNhY2hlbiAoWWFudHJvLCAxOC4gSnVsIDE5OTUsIDA4OjMwOjAzKToKIyEgcm49S2V0b3MgcnQ9ODA1OTI0MDIzCgonc2FnIFBhcnR5bW9uc3RlciBnaWIgYWxsZW4gUGFydHltb25zdGVyIG9obmUgQlVHUyA6LSknICB2ZXJtaXNzZSBpY2ggc2Vocgo7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHVuc2VyIG11ZCAoTGksIDE4LiBKdWwgMTk5NSwgMDk6MzE6MDIpOgojISBybj1EdXJpYW4gcnQ9ODA1OTgxNTI5CkluIGRpZXNlbSBadXNhbW1lbmhhbmc6IEltIG5ldWVuIFVlYnVuZ3NyYXVtIGRlciBLYXJhdGVnaWxkZSBrb2VubmVuIHNpY2gKU3BpZWxlciBzbyBsYW5nZSBhbmdyZWlmZW4gdW5kIFVlYmVuLCB3aWUgc2llIHdvbGxlbi4KS2VpbiBHcnVuZCBtZWhyIGZ1ZXIgS2FyYXRla2FzIGluIGRpZSBBcmVuYSB6dSByZW5uZW4hCgpMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHVuc2VyIG11ZCAoQmFtYnVsa28sIDE4LiBKdWwgMTk5NSwgMTA6Mjk6MzEpOgojISBybj1MaSBydD04MDYwNTI2NjIKSmEgYWJlciBlcnN0bWFsIHp1ciBLYXJhdGVHaWxkZSBoaW5rb21tZW4uLmZ1ZXIga2xlaW5lIHNwaWVsZXIgaXN0IGRhcyBzY2hvbgpuZSBLdW5zdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvbGw/IChDYXR3ZWF6bGUsIDE4LiBKdWwgMTk5NSwgMTE6MDQ6MjkpOgpIaSEKV2FzIGRlbm4/IER1IHdpbGxzdCBlaW5lbiBBcnRpa2VsIGluIEFsbGdlbWVpbmVzIHNjaHJlaWJlbj8gVW5kIGRpZSBSdWJyaWsKaXN0IHZvbGw/IFRqYSwgZGFubiB3aXJkIGRhcyB3b2hsIG5peCAuLi4uCkRpZSBha3R1ZWxsZSBGdWVsbGUgZGVyIFplaXR1bmcgaGFidCBpaHIgRXVjaCBzZWxic3QgdW5kIEV1cmVuIHphaGxyZWljaGVuCk11ZWxsYXJ0aWtlbG4gdW5kIGRpdmVyc2VuIHNpbm5sb3NlbiAnRmluZCBpY2ggYXVjaCctWnVzdGltbXVuZ2VuIHp1IHZlci0KZGFua2VuLiBLZWluZSBTb3JnZSwgZGllIFplaXR1bmcgd2lyZCBzaWNoIG1pdCBkZXIgWmVpdCBzY2hvbiB3aWVkZXIgbGVlcmVuLAphYmVyIGljaCAodW5kIGhvZmZlbnRsaWNoIGFuZGVyZSBNYWdpZXIgYXVjaCBuaWNodCkgd2VyZCBoaWVyIG5pY2h0CmF1ZnJhZXVtZW4KdW5kIEV1Y2ggZXVyZW4gTXVlbGwgd2VndHJhZ2VuLiBHZW5hdSBkYXMgaXN0IGRpZXNlIFplaXR1bmcgbmFlbWxpY2ggaW0KTW9tZW50LCBlaW4gdm9lbGxpZyB1bmF1ZmdlcmFldW10ZXMgS2luZGVyemltbWVyLiBWaWVsbGVpY2h0IGxhc3NlbiBlaW4gcGFhcgp2b24gRXVjaCBNdWVsbGVyZXJuIHNpY2ggbWFsIGRhenUgaGluYWIgdW5kIHJhZXVtZW4gZWluIHBhYXIgdm9uIElocmVuIFNQaWVsLQpzYWNoZW4gd2VnIHVuZCBsb2VzY2hlbiBhbHRlIE11ZWxsYXJ0aWtlbCwgZGllIGlobmVuIGdlaG9lcmVuLCBsb2VzY2hlbiB2b24KZWlnZW5lbiBBcnRpa2VsbiBpc3Qgc2VociBndXQgbW9lZ2xpY2gsIGZ1ZXIgZGllLCBkaWUgZXMgbWljaHQgd2lzc2VuIDotKS4KSG9mZmVudGxpY2ggdmVyemljaHRldCBJaHIgbWFsIGRhcmF1ZiBzaW5ubG9zZSB1bmQgdW5zaW5uaWdlIEt1cnp6ZWlsZXIgenUKc2NocmVpYmVuLgpZb3VycyB0cnVseSwKICAgICAgQ2F0d2VhemxlCgpQUzogQWNoLCB1bmQgZGFua2UsIGRhcyBkdSBrZWluZW4gQXJ0aWtlbCAnRWlnZW50bGljaCBoYXQgQ2F0d2VhemxlIGphIFJlY2h0JwogICAgaGludGVyaGVyc2NocmVpYnN0IC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb2xsPyAoQXNtb2RpcywgMTguIEp1bCAxOTk1LCAxMToxMjoxOCk6CiMhIHJuPUNhdHdlYXpsZSBydD04MDYwNTgyNjkKR3V0LCBoYWIgMiBBcnRpZWtsIHZvbiBtaXIgZ2Vsb2VzY2h0LiBLb2VubnRlIG1hbiBtYWwgbmUgU3RhdGlzdGlrCmJla29tbWVuLCB3ZXIgd2lldmllbCBBcnRpa2VsIGhpZXIgcnVtbGllZ2VuIGhhdCA/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2FybnVuZyBhbiBob2VoZXJlIHVuZCBob2hlIFNlaGVyISAoUm9jaHVzLCAxOC4gSnVsIDE5OTUsIDExOjQzOjIxKToKIyEgcm49U2lsdmFuYSBydD04MDYwNDYxOTEKVGphLCBTaWx2YW5hLCBMaWNodCAhPSBGZXVlciAuLi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkZWdlbiAoWWVuZGksIDE4LiBKdWwgMTk5NSwgMTM6MjU6MDMpOgojISBybj1ZYW50cm8gcnQ9ODA2MDQ4OTM1CgpKYSwgZXMgZ2lidCBpbiBqZWRlbSBSYXVtIGVpbmVuIEJlZmVobCBuYW1lbnMgImJ1ZyIsIGRhcyBzdGltbXQuLi4KCldhcyBpc3QgYWJlciwgd2VubiBpcmdlbmR3ZWxjaGUgV2FmZmVuIG8uIGFlLiBkZWZla3Qgc2luZD8gV2FzIHdpbGwgRGFuY2VyIGluCnNlaW5lbiBQeXJhbWlkZW4gbWl0IGVpbmVyIE1lbGR1bmcgIkRhIGlzdCBlaW4gQnVnIGltIEJCUyEiPwpPZGVyIHNvbGNoZSBTYWNoZW4gd2llICJUeXBvIGluIGRlciBHZWlzdGVyLVZlcmJldWd1bmdzbWVsZHVuZyIga2FubiBtYW4gYXVjaApuaWNodCBpbiBlaW5lbSBSYXVtIGFibGFkZW4sIGF1c3NlciB2aWVsbGVpY2h0IGluIEhpZ2hsYW5kZXJzIFdvcmtyb29tLCB1bmQgd28KZGVyIGlzdCwgaGFiZSBpY2gga2VpbmVuIFNjaGltbWVyLgoKS3VyeiB1bmQga2xlaW46IEVzIGdpYnQgdHlwb3MsIGJ1Z3MgdW5kIElkZWVuLCBkaWUgX25pY2h0XyBkZW4gUmF1bQpiZXRyZWZmZW4sIGluIGRlbSBtYW4gc2ljaCBnZXJhZGUgYmVmaW5kZXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZGVnZW4gKFF1aWxsaWFuLCAxOC4gSnVsIDE5OTUsIDE1OjM5OjQ1KToKIyEgcm49WWVuZGkgcnQ9ODA2MDY2NzAzCkhtbSBpbiBmYXN0IGFsbGVuIGFuZGVyZW4gTXVkcyBnaWJ0IGVzIGVpbmVuICdmZWhsZXIgJGdlZ2Vuc3RhbmQgdGV4dCcKQmVmZWhsIC4uLi4gU28gc2Nod2VyIHNvbGx0ZSBkYXMgYXVjaCBoaWVyIG5pY2h0IHp1IG1hY2hlbiBzZWluLgpPZGVyIGdpYnQgZXMgZGVuIHNjaG9uPwoKUXVpbGxpYW4sIHNjaHJlaWJ0IGthdW0gRmVobGVybWVsZHVuZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2FybnVuZyBhbiBob2VoZXJlIHVuZCBob2hlIFNlaGVyISAoQ2FyYWRocmFzLCAxOC4gSnVsIDE5OTUsIDE5OjEwOjQxKToKIyEgcm49Um9jaHVzIHJ0PTgwNjA2MDYwMQpEaWUgTGljaHRrdWdlbG4gZGVyIEFiZW50ZXVyZXIgYnJhY2h0ZW4gZGFzIGdhbnplIHVlYnJpZ2VucyBhdWNoIHp1bQpleHBsb2RpZXJlbiwgaGF0IG1pY2ggYXVjaCBlcnN0YXVudC4KCiAgICAgICB1ZWJyaWdlbnM6IERhbmtlIFNpbHZhbmEKCiAgIENhcmFkaHJhcyAtIHdpcmQgaW4gWnVrdW5mdCB2ZXJtZWhydCBGZWhsZXJtZWxkdW5nZW4gaW4gRlcgYWJzZXR6ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYXJudW5nIGFuIGhvZWhlcmUgdW5kIGhvaGUgU2VoZXIhIChMd2F4YW5hLCAxOC4gSnVsIDE5OTUsIDIwOjE0OjEyKToKIyEgcm49Q2FyYWRocmFzIHJ0PTgwNjA4NzQ0MQpJY2ggYmluIGRhIGF1Y2ggYmVpbmFoZSBkcmF1ZmdlZ2FuZ2VuLi4uIGFiZXIgaW1tZXJoaW4gaXN0IGRhIGdhbnogbmFoIGVpbmUKbW9lZ2xpY2hrZWl0IHp1bSB0YW5rZW4uLi4KCkx3YXggaXN0IHZpZWwgbXV0aWdlciBzZWl0IHNpZSBTZWhlciBpc3QsIHVuZCBzaWNoIG5pY2h0IHVtIGRpZSBTZWhlcnN0dWZlbgpzY2hlcnQgOikKClBTOiBqYWphLCBpY2ggd2Vpc3MgZXMgaXN0IGFlcmdlcmxpY2gsIHdlbm4gbWFuIHdpY2h0aWdlIEVQIHZlcmxpZXJ0LCB3ZWlsCm1hbiBkaWUgU3R1ZmUgZXJob2VoZW4gd2lsbCwgaWNoIHNhZyBqYSBhdWNoIHNjaG9uIG5pY2h0cyBtZWhyLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKNCBHZXdpbm50IChDeW1vbmssIDE5LiBKdWwgMTk5NSwgMTQ6MTE6MTUpOgpIYWxsb2VjaGVuIQoKSW0gUmFobWVuIGRlciBFcnN0ZWxsdW5nIGVpbmVyIEJhc2lza2xhc3NlIGZ1ZXIgInBvcnRhYmxlIHR3byBwbGF5ZXIgZ2FtZXMiCmhhYmUgaWNoIGRhcyA0R2V3aW5udCBTcGllbCBrb21wbGV0dCB1ZWJlcmFyYmVpdGV0IHVuZCBrbmFwcCAxNDAwIEJ5dGVzIGltCk9iamVjdGNvZGUgZ3V0Z2VtYWNodCAoKiogYXVmIGRpZSBTY2h1bHRlciBrbG9wZiAqKikuCgpEaWVzZSBUYXRzYWNoZSBoYXQgamVkb2NoIGtlaW5lbiBFaW5mbHVzcyBhdWYgZGFzIFNwaWVsIHNlbGJlciwgZGVubm9jaCBoYXQKc2ljaCBub2NoIGV0d2FzIHdlaXRlcmVzIGdlYWVuZGVydDogQWxzIHN0YW5kYXJkaXNpZXJ0ZSBGb2xnZSBkZXIKU3RhbmRhcmRpc2llcnVuZyBkZXIgU3RhbmRhcmRiZWZlaGxlIGhhdCBzaWNoICI0Z3cgMCIgaW4gIjRndyB6ZWlnZSIKc3RhbmRhcmRtYWVzc2lnIG1ldGFtb3JwaG9zaWVydC4gRWluZSBBdWYtIHVuZCBBYndhZXJ0c2tvbXBhdGlibGl0YWV0Cnp3aXNjaGVuIFZlcnNpb24gMS4xIHVuZCAyLjAgaXN0IHNvbWl0IHdhcyBkaWUgQmVmZWhsZSBiZXRyaWZmdCBuaWNodApnZWdlYmVuLgoKT2J3b2hsIGljaCBkaWUgbmV1ZSBWZXJzaW9uIGF1c2dpZWJpZyBnZXRlc3RldCB1bmQgQnVncyBkZXIgdm9yaGVyaWdlbgpWZXJzaW9uIGJlcmVpbmlndCBoYWJlLCB3YWVyZSBpY2ggZXVjaCBkYW5rYmFyLCB3ZW5uIGlociBtaXIgbWFpbGVuIHd1ZXJkZXQKc29iYWxkIGlyZ2VuZHdlbGNoZSBJbnN0YWJpbGl0YWV0ZW4gYXVmdHJldGVuLgoKCkN5TW9uaywgbWl0IFN0YW5kYXJ0ZS4KClAuUy4gRGllIEVsdGVybiBkaWVzZXMgQnJpZWZlcyBzaW5kIGVpbiBpZGxlbmRlciBNYWdpZXIgdW5kIG5pY2h0cyBOZXVlcyBhdWYKICAgICBkZXIgV2VsdC4KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKgoqIFNDSFJFSUJUIE1JUiBXRUxDSEUgU1BJRUxFIElIUiBFVUNIIE5PQ0ggRlVFUiBEQVMgTUcgV1VFTlNDSFQgISEhISEhISEhISEhIQoqCiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCioKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDQgR2V3aW5udCAoQXNtb2RpcywgMTkuIEp1bCAxOTk1LCAxNDozNjoyMik6CiMhIHJuPUN5bW9uayBydD04MDYxNTU4NzUKSWNoIHd1ZXJkZSBnZXJuIERvcHBlbGtvcGYgc3BpZWxlbiAhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogNCBHZXdpbm50IChKZXJyaWNvLCAxOS4gSnVsIDE5OTUsIDE2OjE1OjE2KToKIyEgcm49R3d5bndhaXRlciBydD04MDYxNjA3MzYKdW5kIGljaCBoYWV0dGUgZ2VybmUgc2NoYWNoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiA0IEdld2lubnQgKEN5bW9uaywgMTkuIEp1bCAxOTk1LCAxNjozMjo0NSk6CiMhIHJuPUplcnJpY28gcnQ9ODA2MTYzMzE2CmlzdCBpbiBhcmJlaXQhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWVsbCEgKENhdHdlYXpsZSwgMTkuIEp1bCAxOTk1LCAxOTozNjowMSk6CkhpIQpdbywgaWNoIGhhYiBtaXIgbWFsIGRlbiBTcGFzcyBnZW1hY2h0IHVuZCBhbGxlIHNjaHJvdHRpZ2VuIGFydGlrZWwgYXVzIGRlcgpNUEEgaW4gZWluZSBuZXVlIFJ1YnJpayAnbXVlbGwnIGdlcGFya3QuIERlciAnU3Bhc3MnIGhhdCBjYS4gMiBTdHVuZGVuIGdlLQpkYXVlcnQgdW5kIGVzIHNpbmQgZGFiZWkgMTExIEFydGlrZWwgcnVtZ2Vrb21tZW4uIFdlciBiZXNvbmRlcnMga3JhbmsgaXN0LAprYW5uIHNpY2ggZGllc2VuIFNjaHJvdHQgamEgbWFsIGR1cmNobGVzZW4uCkljaCBoYWIgZGFzIGdhbnplIG5hdHVlcmxpY2ggbmljaHQgbnVyIHp1bSB6dSBtZWluZW0gcGVyc29lbmxpY2hlbiBWZXJnbnVlLQpnZW4gZ2VtYWNodCwgc29uZGVybiBkYW1pdCBhKSBkaWUgWmVpdHVuZyBtYWwgd2llZGVyIF9ldHdhc18gdWViZXJzaWNodC0KbGljaGVyIHdpcmQsIHVuZCB2b3IgYWxsZW0gYikgZGFzIGlociBFTkRMSUNIIE1BTCBBVUZIT0VSVCBERVJBUlRJR0UKU0NIUk9UVEFSVElLRUwgWlUgVkVST0VGRkVOVExJQ0hFTiEhIQpJY2ggaG9mZmUgbWFsIHNjaHdlciwgZGFzIGRpZSBaZWl0dW5nIGluIFp1a3VuZnQgbGVzYmFyZXIgd2lyZC4gVm9yIGFsbGVtCmhvZmZlIGljaCwgZGFzIGRpZSBtZWlzdGVuIHZvbiBFdWNoIHNlbGJlciBkcmF1ZiBrb21tZW4sIHdlbm4gc2llIE1pc3QgcwpzY2hyZWliZW4gdW5kIGRlbiBkYW5uIGF1Y2ggc2VsYmVyIHdpZWRlciBsb2VzY2hlbi4KWW91cnMgdHJ1bHksCiAgIGNhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZGVnZW4gKFlhbnRybywgMjAuIEp1bCAxOTk1LCAwNzo1NjozNSk6CiMhIHJuPVllbmRpIHJ0PTgwNjA2NjcwMwoKCkhtbW0ga2FubiBtYW4gd2lya2xpY2ggYWxzIFNwaWVsZXIgU09PTyB1bmZsZXhpYmVsIHNlaW4/PyBXaWUgd2FlcmUgZXMgZGFubgptaXQgJ2J1ZyBpbSBkZWdlbiBhdXMgZGVtIGhhdXMgZGVyIGZhcmJlbjogc291bmRzbywgYml0dGUgd2VpdGVybGVpdGVuIDopJwoKCgpEYXMga2FubiBkb2NoIGVpZ2VudGxpY2ggbmljaHQgc28gc2Nod2VyIHNlaW4uLi4gTm9jaCBiZXNzZXIgaXN0LCB3ZW5uIG1hbgpkZW4gYnVnIGRhbm4gZGEgYWJzZXR6dCwgd28gbWFuIGRlbiBnZWdlbnN0YW5kIGhlciBoYXQuIGVzIG11c3MgamEgbmljaHQgaW0Kc2VsYmVuIHJhdW0gc2VpbiwgYWJlciB6dW1pbmRlc3Qgc29sbHRlIGVzIGRhcyBzZWxiZSBnZWJpZXQgc2Vpbi4gRGFubiBrb21tdAplcyBhdWNoIGFuCgpOZWJlbmJlaTogSWNoIGhvZmZlLCBkZW4gQlVHLCB1bSBkZW4gZXMgZWlnZW50bGljaCBnaW5nIGdlZml4ZWQgenUgaGFiZW4gOikKCiAgICAgICAgICAgICAgICAgICBFdWVyc3QgWWFudHJvOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YWJpbGUgR2VsZG1lbmdlIChDcmFpZywgMjAuIEp1bCAxOTk1LCAwOToxOTo1OSk6CgpEaWUgSWRlZSBtaXQgZGVuIHNjaHdhbmtlbmRlbiBQcmVpc2VuIGluIGRlbiBMYWVkZW4gaXN0IHdpcmtsaWNoIGd1dC4gTnVyIHNpZQpoYXQgZWluZW4gSGFrZW46IERhcyBHZWxkIHdpcmQgd29obCB0YXRzYWVjaGxpY2ggaW1tZXIgd2VuaWdlci4gT2RlciB3aWUKbWVpbnRlIEpvZiBkYXMgKCJkaWUgTGFlZGVuIGdsZWljaGVuIGlocmUgR2VsZGJlc3RhZW5kZSByZWdlbG1hZXNzaWcgYXVzIikuCkVzIGtvbW10IGRvY2ggd29obCBrZWluIG5ldWVzIEdlbGQgaGluenUgendpc2NoZW4gZGVuIFJlYm9vdHMsIG9kZXI/CkFiZXIgZXMgZmxpZXNzdCB3ZWxjaGVzIGFiLCB1bmQgendhciBkdXJjaCBkaWUgU2F1ZmVyZWkgaW4gZGVuIEtuZWlwZW4uIE1pdApqZWRlbSBUYWcgb2huZSBSZWJvb3Qgd2VyZGVuIGRpZSBNdWVuemVuIGFsc28ga25hcHBlci4gTnVuLCBkYXZvbiBzaW5kCm5hdHVlcmxpY2ggbmljaHQgYWxsZSBTcGllbGVyIGdsZWljaCBzdGFyayBiZXRyb2ZmZW4uCkVzIGlzdCB6dSBiZWZ1ZXJjaHRlbiwgZGFzcyBmdWVyIG1hbmNoZSBzY2hsaWNodCBuaWNodHMgbWVociB1ZWJyaWdibGVpYnQsCndhZWhyZW5kIGFuZGVyZSBpaHJlIDJ0aXMgdm9sbHN0b3BmZW4gbWl0IEtuZXRlLgpEaWUgTG9lc3VuZyBsaWVndCBpbiBlaW5lciBzdGFiaWxlbiBHZWxkbWVuZ2UsIGRpZSBuaWNodCBzdGFlbmRpZyB3YWVjaHN0Cih3aWUgZnJ1ZWhlcikgb2RlciBzY2hydW1wZnQgKHdpZSBqZXR6dCkuCgpXaWUga2FubiBtYW4gZGFzIGVycmVpY2hlbj8gTWVpbiBWb3JzY2hsYWc6CkRhcyBHZWxkIG11c3Mgdm9uIGRlbiBLbmVpcGVuIHp1cnVlY2tmbGllc3NlbiAtIHVuZCB6d2FyIHp1IGRlbiBMYWVkZW4uCkRhcyBtdWVzc3RlIGRhbm4gZWlnZW50bGljaCBmdW5rdGlvbmllcmVuOyB1bmQgendhciBldHdhIHNvOgoKRXh0cmVtZmFsbCAxOiBEaWUgSGFlbmRsZXIgc2luZCBiZXR0ZWxhcm0sIHdlaWwgZmFzdCBkYXMgZ2FuemUgR2VsZCBiZWkgZGVuClNwaWVsZXJuIGlzdC4KRGFubiBoYWJlbiBkaWUgU3BpZWxlciBnZW51ZyBNdWVuemVuIHp1bSBUYW5rZW4gdW5kIGVzIGlzdCBpaG5lbiBzY2hudXJ6LApkYXNzIGluIGRlbiBMYWVkZW4gbWlzZXJhYmxlIFByZWlzZSBnZXphaGx0IHdlcmRlbi4KCkV4dHJlbWZhbGwgMjogRGllIEhhZW5kbGVyIHN0aW5rZW4gdm9yIEdlbGQsIGRpZSBTcGllbGVyIHNpbmQgcGxlaXRlLgpEYW5uIHdlcmRlbiBkaWUgU3BpZWxlciB6dXNlaGVuLCBkYXNzIHNpZSBldHdhcyB6dW0gc2NobGFjaHRlbiBmaW5kZW4uIEZ1ZXIKZGllIEJldXRlIGJla29tbWVuIHNpZSBpbiBkZW4gTGFlZGVuIGd1dGUgUHJlaXNlLgoKQmVpIGRlbiB2aWVsZW4gU3BpZWxlcm4gdW5kIExhZWRlbiB3ZXJkZW4gZGllc2UgRXh0cmVtZmFlbGxlIG5hdHVlcmxpY2ggbmllCmVpbnRyZXRlbi4gU2NobGllc3NsaWNoIHNpbmQgbmljaHQgYWxsZSBnbGVpY2h6ZWl0aWcgaW4gZGVyc2VsYmVuIEZpbmFuemxhZ2UuCkVzIHd1ZXJkZSB3b2hsIGVoZXIgenUgZ2VtYWVzc2lndGVuIEtvbmp1bmt0dXJzY2h3YW5rdW5nZW4ga29tbWVuLiBEaWUKR2VsZG1lbmdlIGJsaWViZSBpbiBlaW5lbSB1ZWJlcnNjaGF1YmFyZW4gWmVpdHJhdW0gbmFoZXp1IGtvbnN0YW50LiAoTWFsCmFiZ2VzZWhlbiB2b24gZGVuIFp1LSBvZGVyIEFiZmx1ZXNzZW4gZHVyY2ggU2VoZXJsYWRlbiwgTHVja3kgVGlnZXIncywKUGVnYXN1cywgS3V0c2NoZSBldGMuLi4pCgpFaW4gU3BlemlhbHByb2JsZW0gc2luZCBkaWUgU3BpZWxlciwgZGllIGlocmUgWndlaXRpcyBtaXQgemlndGF1c2VuZCBNdWVuemVuCnZvbGxzdG9wZmVuIChXb3p1IGVpZ2VudGxpY2g/KS4gRGFkdXJjaCB3ZXJkZW4gZGVtIE1hcmt0IHZpZWxlIE11ZW56ZW4KZW50em9nZW4gdW5kIHVlYmVyIGVpbmVuIFJlYm9vdCBoaW53ZWdnZXJldHRldC4KQWJlciBkYSBrb2VubnRlIG1hbiBlaW5lbiBSaWVnZWwgdm9yc2NoaWViZW4sIGV0d2EgZGFkdXJjaCwgZGFzcyBNdWVuemVuIGJlaW0KUmVib290IG5pY2h0IG1laHIgMToxIGVudHNjaGFlZGlndCB3ZXJkZW4gc29uZGVybiAxOjMuIE9kZXIgbmFjaCBkZW0gTW9kZWxsCldpZWRlcnZlcmVpbmlndW5nOiBCaXMgMTAwMDAgMToxIGRhcnVlYmVyIDE6NS4gRGFubiBkdWVyZnRlIHNpY2ggZGFzClBoYWVub25tZW4gdm9uIHNlbGJzdCBlcmxlZGlnZW4uLgoKClp1Z2VnZWJlbjogVmllbGxlaWNodCBpc3QgbWVpbiBWb3JzY2hsYWcgbmljaHQgZWJlbiBlaW5mYWNoIHp1IHZlcndpcmtsaWNoZW4sCmFiZXIgZGllIEF1c3NpY2h0IGF1ZiBlaW4gc3RhYmlsZXMgV2lydHNjaGFmdHNzeXN0ZW0sIGlzdCBkYXMgdmllbGxlaWNodApuaWNodHM/Cn4KU3BpZWxlciwgU2VoZXIsIE1hZ2llciBhbGxlciBTdHVmZW46IFdhcyBoYWx0ZXQgaWhyIHZvbiBkZXIgR3J1bmRpZGVlPwoKZnJhZ3QgQ1JBSUcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGFiaWxlIEdlbGRtZW5nZSAoSm9mLCAyMC4gSnVsIDE5OTUsIDEwOjA2OjQ4KToKIyEgcm49Q3JhaWcgcnQ9ODA2MjI0Nzk5CgogRGFzIEdlbGQgZmxpZXNzdCBkdXJjaGF1cyBhdXMgZGVuIEtuZWlwZW4genVydWVjayBpbiBkaWUgTGFlZGVuLCB1bmQgZXMKZW5zdGVodCBhdWNoIG5ldWVzIEdlbGQgendpc2NoZW4gZGVuIFJlYm9vdHMuIE1vbWVudGFuIHRlc3RlIGljaCBtaXQgZWluIHBhYXIKRm9ybWVsbiwgZGllIGhhYmVuIGRhenUgZ2VmdWVocnQsIGRhcyBkaWUgQmFuayB1bmQgZWluIHBhYXIgZGVyIGJlbGllYnRlc3RlbgpMYWVkZW4gcGxlaXRlIHNpbmQgLSB2aWVsZSBhbmRlcmUgTGFlZGVuIGhhYmVuIGFiZXIgbm9jaCByZWljaGxpY2ggR2VsZC4KCiBEYXMgbWl0IGRlbiBCYW5rendlaXRpZXMgaGFzdCBEdSBndXQgZXJrYW5udCAtIHdlciBzb2xjaGUgbWl0IEdlbGQgdm9sbC0Kc3RvcGZ0LCBlbnR6aWVodCBkZW0gS3JlaXNsYXVmIEdlbGQsIHVuZCBkaWUgTWVuZ2UgZGVzIG5ldWVudHN0ZWhlbmRlbiBHZWxkZXMKaXN0IGtsZWluLCBzbyBkYXMgYWxsZSBkYXJ1bnRlciBsZWlkZW4gbXVlc3NlbiAtIGFiZXIgREFTIFByb2JsZW0ga29lbm5lbiBkaWUKTWFnaWVyIG5pY2h0IGZ1ZXIgZXVjaCBsb2VzZW4sIGRhcyBtdWVzc3QgaWhyIHVudGVyIGV1Y2ggYXVzbWFjaGVuLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YWJpbGUgR2VsZG1lbmdlIChSb25kYSwgMjAuIEp1bCAxOTk1LCAxMDoxNDowNyk6CiMhIHJuPUNyYWlnIHJ0PTgwNjIyNDc5OQpLb2VubnRlIHp1IDIwIFp3ZWl0aWVzIHBybyBQZXJzb24gZnVlaHJlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGRlZ2VuIChRdWlsbGlhbiwgMjAuIEp1bCAxOTk1LCAxNDozOTozOCk6CiMhIHJuPVlhbnRybyBydD04MDYyMTk3OTUKV2FzIGVpbiBRdWF0c2NoIDotKQpXYXMgc3ByaWNodCBkYWdlZ2VuIGRlbiBGZWhsZXIgKG1pdCBkZXIgbmV1ZW4gUnVtYXRhLUZ1bmt0aW9uKSBzb2ZvcnQKenUgbWVsZGVuPyBXZW5uIGljaCBlcnN0IDEwMCBSYWV1bWUgenVydWVjayBnZWhlbiBtdXNzIHVtIGRhcyB6dSB0dW4KZXZsdCBpbiBuZXIgUXVlc3QgbWFjaGUgaWNoIGRhcyBkb2NoIG5pZS4KClF1aWxsaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoaXNjb3JlIChDaGFybHksIDIwLiBKdWwgMTk5NSwgMTY6MDM6MzgpOgppbiBqZWRlciBrbmVpcGUgb2RlciBnaWxkZSBoYWVuZ2VuIGFrdHVlbGxlIGhpLXNjb3JlcyBhdXMuCmRhcyBpc3QgamEgb2ssIGFiZXIgbWVpbmVyIG1laW51bmcgbmFjaCBmZWhsdCBkaWUgd2ljaHRpZ3N0ZSAhISwKZGllIGFsbC10aW1lLWhpc2NvcmUgLi4uIHNwcmljaDogaGllciBzdGVoZW4gZGllIEpFTUFMUyB2b24KZWluZW0gc3BpZWxlciBlcnJlaWNodGVuIGhvZWNoc3RwdW5rdHphaGxlbiBkcmluLgp3aXJkIGVpbiBzZWhlciB6dW0gbWFnIGZhZWxsdCBlciBOSUNIVCBhdXMgZGVyIGxpc3RlICEhIQoKZGVyIHNpbm4gZGVzIGdhbnplbiBkdWVyZnRlIGtsYXIgc2Vpbi4uZnJ1ZWhlcmUgdG9wLXNlaGVyCmdlcmF0ZW4gbmljaHQgZ2FueiBpbiB2ZXJnZXNzZW5oZWl0IHdlbm4gc2llIHp1bSBtYWdpZXIgbXV0aWVyZW4sCnVuZCBhdWNoIG5ldWVyZSBzcGllbGVyIHdlcmRlbiBhbiAndG9ldGVyJyAnZ3JpbW1ib3JuJyB1bmQKdmllbGUgbWVociBlcmlubmVydC4KCndpZSB3YWVycyA/PwpjaGFybHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1QQSAoQXJvbWJvbG9zY2gsIDIwLiBKdWwgMTk5NSwgMTY6MDk6NTEpOgpXaWUgd2FlcnMgZGVubiB3ZW5uIG1hbiwgYWVobmxpY2ggd2llIGJlaSBkZXIgUG9zdCwgbnVyIG5vY2ggYW4gZ2FuegpiZXN0aW1tdGVuClN0ZWxsZW4gaW0gTUcgZWluZW4gWmVpdHVuZ3NhcnRpa2VsIGF1ZmdlYmVuIGthbm4sIGFiZXIgZGVubm9jaCB1ZWJlcmFsbApkaWUgTVBBIGxlc2VuIGthbm4gPyBNYWdpZXIgbmF0dWVybGljaCBhdXNnZXNjaGxvc3NlbiA7LSksIGFiZXIgdmllbGxlaWNodAp3dWVyZGUgZGFzIGRpZSBGbHV0IHZvbiB1ZWJlcmZsdWVzc2lnZW4gQXJ0aWtlbG4gZXR3YXMgZWluc2NocmFlbmtlbi4uLgoKQXJvbWJvbG9zY2gsIG1hY2h0IHNpY2ggZGVtbmFlY2hzdCBlaW4gYWxpYXMgYXVmICd1ZWJlcmdlaGUgYWxsZXMnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBkZWdlbiAoUmVpbmVsZGUsIDIwLiBKdWwgMTk5NSwgMTY6MjA6MjIpOgojISBybj1ZYW50cm8gcnQ9ODA2MjE5Nzk1CmhpIHlhbnRybywKCmRlaW4gdm9yc2NobGFnIGlzdCB6d2FyIG5ldHQgZ2VtZWludCB1bmQgaW4gdmllbGVuIGZhZWxsZW4gc2ljaGVyIGF1Y2gKbW9lZ2xpY2guIGJsb3NzIHp3ZWkgZWluc2NocmFlbmt1bmdlbjogZ2VnZW5zdGFlbmRlIGRpZSBhdXMgbmVyIHF1ZXN0IHNpbmQsCnNpbmQgdS51LiBzY2h3ZXIgbm9jaG1hbCB6dSBlcnJlaWNoZW4gdW5kIGljaCBtdXNzIGVyc3QgbWFsIHdpc3NlbiwKZGFzcyBkZXIgZGVnZW4gYXVzIGRlbSBoYXVzIGRlciBmYXJiZW4gaXN0IChkYXMgZ2lsdCBhdWNoIGZ1ZXIgamVkZW4KYW5kZXJlbiBnZWdlbnN0YW5kIHVuZCB0cmlmZnQgYW5mYWVuZ2VyIG5vY2ggZWhlciBhbHMgYWxsZSBhbmRlcmVuKQoKcmVpbmVsZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWVsbCEgKEFyYW55YSwgMjAuIEp1bCAxOTk1LCAxNjozNDo0OSk6CiMhIHJuPUNhdHdlYXpsZSBydD04MDYxNzUzNjEKQWVoZW0uLi4gV2FyIGRpZSBSdWJyaWsgU2NobWFycm4gbmljaHQgbWFsIGZ1ZXIgc29sY2hlbiBNdWVsbCBnZWRhY2h0PwpOYWphLCBqZWRlbmZhbGxzIG5vY2ggbmUgbmV0dGUgUnVicmlrLi4uCgpKdXN0IG15IDcgU2hla2VsIDUwIEFnb3JvdGgKICAgICAgICAgIEFyYW55YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhpc2NvcmUgKEFzbW9kaXMsIDIwLiBKdWwgMTk5NSwgMTg6Mjc6NDkpOgojISBybj1DaGFybHkgcnQ9ODA2MjQ5MDE4CldhciBncmltbWJvcm4gbWFsIGVpbiBUb3AtU3BpZWxlciA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhpc2NvcmUgKFB1bWEsIDIwLiBKdWwgMTk5NSwgMTk6MDk6MzYpOgojISBybj1Bc21vZGlzIHJ0PTgwNjI1NzY2OQpxCnJlcGx5CkVpbmUgc29sY2hlIExpc3RlIHdhZXJlIFVuc2lubiwgZGEgU2VoZXIgdm9uIGRhbWFscyBtaXQgU2VoZXJuIHZvbiBoZXV0ZQp1ZWJlcmhhdXB0IG5pY2h0IHp1IHZlcmdsZWljaGVuIHNpbmQuCgpQVU1BIQooQXVzc2VyZGVtIHd1ZXJkZSBkYW5uIGplZGVyIHNlaGVuLCB3YXMgZnVlciBlaW4gTG9zZXIgaWNoIGRhbWFscyB3YXIuLiA6LSkgKQpBYmVyIGVpbiBnZXdpc3NlciBFcmlubmVydW5nc3dlcnQgaXN0IGRlbSBuYXR1ZXJsaWNoIG5pY2h0IGFienVzY2hyZWliZW4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBoaXNjb3JlIChDaGFybHksIDIwLiBKdWwgMTk5NSwgMTk6MTU6MDApOgojISBybj1QdW1hIHJ0PTgwNjI2MDE3NgplcyBzb2xsIGphIGF1Y2ggZXJzdCBqZXR6dCBsb3MgZ2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVBBIChKYWYsIDIwLiBKdWwgMTk5NSwgMjM6Mzc6MDEpOgojISBybj1Bcm9tYm9sb3NjaCBydD04MDYyNDkzOTEKYmluIGRhZ2VnZW4sIEFyYW1ib2xvc2NoLiBJY2ggbGVzZSBaZWl0dW5nLCB3ZW5uIGljaCBpZGxlLCBkaCwgd2VubiBuaXgKenVtIHRhbmtlbiBpbiBkZXIgTmFlaGUgaXN0LCBkYSBpc3QgZGFubiBhdWNoIGtlaW5lIFBvc3QuIFVuZCBtZWluZW4KU2VuZiBtb2VjaHRlIGljaCBkYW5uIGRvY2ggZGF6dWdlYmVuLgoKSmFmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1QQSAoR3V5YnJ1c2gsIDIxLiBKdWwgMTk5NSwgMTA6MTY6MDgpOgojISBybj1Bcm9tYm9sb3NjaCBydD04MDYyNDkzOTEKc28gd2llIGRpZXNlbiBBcnRpa2VsIGF1Y2g/CgpHdXlicnVzaCwgZmluZGV0IGRpZSBJZGVlIGJsb2Vkc2lubmlnLCBkYSBNYWdpZXIgYXVjaCBuaWNodCBpbmV0bGxpZ2VudGVyCm9kZXIgd2VuaWdlciBraW5kaXNjaCBzaW5kLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVBBIChLYWVuZ3VydWgsIDIxLiBKdWwgMTk5NSwgMTA6MjE6MTApOgojISBybj1HdXlicnVzaCBydD04MDYzMTQ1NjgKR2FueiBtZWluZXIgTWVpbnVuZywgZWluIGJldHJhZWNodGxpY2hlciBUZWlsIGRlcyBNdWVsbHMKa29tbXQgbmFlbWxpY2ggdm9uIGRlbiBNYWdpZXJuIHNlbGJzdC4gTWlyIHNjaHdhbnQgc2Nob24KbGFuZ3NhbSBuZSBJZGRlIGZ1ZXIgZGllIE11ZC1QYXJ0eSAoYW5hbG9nIHp1IGRlciBLaXNzZW4tCnNjaGxhY2h0IFdvbHBpZnJldW5kZS9Xb2xwaWdlZ25lciB2b20gbGV0enRlbiBNYWwpOgpQcm8tTXVlbGwgZ2VnZW4gS29udHJhLU11ZWxsISA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpZ2VuZSBBZHZlbnR1cmVzIChEYWltb252b2ssIDIzLiBKdWwgMTk5NSwgMDg6MjM6MjApOgpIaSB0aGVyZSwKCkljaCBtb2VjaHRlIGpldHp0IGVpbiBiaXNjaGVuIFdlcmJ1bmcgbWFjaGVuOgpXaXIgKG1laW4gQnJ1ZGVyIHVuZCBpY2gpIGhhYmVuIGVpbiBQcm9ncmFtbSBnZXNjaHJpZWJlbiwgbWl0IGRlbSBtYW4gc2ljaApzZWxic3QKYXVmIGVpbmZhY2hlIEFydCB1bmQgV2Vpc2UgVGV4dC1BZHZlbnR1cmVzIGVyemV1Z2VuIGthbm4uCkRhcyBnYW56ZSBsYWV1ZnQgYmlzaGVyIGF1ZiBlaW5lbSBBdGFyaSBTVCwgd2lyIGFyYmVpdGVuIGFuIGRlciBLb252ZXJ0aWVydW5nCnIgYW5kZXJlIFJlY2huZXIuID5VbmQgd2lyIHN1Y2hlbiB2b3IgYWxsZW0gTGV1dGUsIERpZSBzaWNoIGRhZnVlcgppbnRlcmVzc2llcmVuLGYKZGFtaXQgZGllIGdhbnplIEFyYmVpdCBuaWNodCB1bXNvbnN0IHdhci4KCkFsc28gbm9jaG1hbCBrb25rcmV0OgpXSVIgSEFCRU46IEVpbiByZWNodCBndXQgZnVua3Rpb25pZXJlbmRlcyBBZHZlbnR1cmUtQ29uc3RydWN0aW9uLVNldCBzb3dpZQplaW4gZ3Jvc3NlcyB1bmQgbWVocmVyZSBya2xlaW5lIFNwaWVsZSwgYWxsZXMgZnVlciBBdGFyaS4KV0lSIEhBQkVOIE5VSUNIVDogQW1pZ2FzLCBBcHBsZXMsIERvc2VuIGV0Yy4KV0lSIFNVQ0hFTjogTGV1dGUsIGRpZSB1bnNlcmUgU3BpZWxlIGF1c3Byb2JpZXJlbiBtb2VjaHRlbiwgc2llIGxvYmVuIHVuZAp3ZWl0ZXJ2ZXJicmVpdGVuLAogICAgICAgICAgICBVbmQgd2VpdGVyaGluIExldXRlLCBkaWUgby4gZy4gUmVjaG5lciBoYWJlbiB1bmQgdW5zIHV1LiBVLiBiZWkKZGVyCktvbnZlcnRpZXJ1bmcgKEdudSBDKSBoZWxmZW4ga29lbm5lbi4KCkRhcyBnYW56ZSBpc3Qgc2VsYnN0dmVyc3RhZW5kbGljaCB1bXNvbnN0LCBkaWUgUHJvZ3JhbW1lIHdlcmRlbiBQdWJsaWNEb21haW4sCkZyZWV3YXJlIG9kZXIgc28gd2FzIGluIGRlciBBcnQgd2VyZGVuLgoKSWNoIHdlbmRlIG1pY2ggYW4gZGllIE1vcmdlbmdyYXVlbi1TcGllbGVySW5uZW4sIHdlaWwgaWNoIGhvZmZlLApoaWVyIHZpZWxlIExldXRlIHp1IGZpbmRlbiwgZGllIGdlcm5lIFRleHQtQWR2ZW50dXJlcyBzcGllbGVuICh3aWUga29tbWUgaWNoCm51cgphdWYgZGllIElkZWU/PykuIEVzIGlzdCBkaWUgZXJzdGUgVmVyb2VmZmVudGxpY2h1bmcgenUgdW5zZXJlbiBQcm9ncmFtbWVuCnVlYmVyaGF1cHQuIEdlbmF1ZXJlcyB1ZWJlciBEaXN0cmlidXRpb24gZXRjLiB3aXNzZW4gd2lyIHNlbGJuc3Qgbm9jaCBuaWNodC4KV2VyIHNpY2ggamJlaSBtaXIgbWVsZGV0LCBoYXQgZGllIGNoYW5jZSAoV2FobnNpbm4sIHdhcyksIGFscyBCZXRhLVRlc3RlcgpkaWUgR2VzY2hpY2h0ZSBkZXIgVGV4dC1BZHZlbnR1cmVzIHp1IHJldm9sdXRpb25pZXJlbi4KV2FzPyBXaWUgYml0dGU/IFdlciBpY2ggYmluPwpOdW4sIGRhIGloIEtFSU4gcmVnZWxtYWVzc2lnZXIgTVBBLUxlc2VyIGJpbiwgYW50d29ydGV0IG1pciBiaXR0ZSBwZXIgTUctTWFpbApvZGVyIGFuIG1laW5lIEVtYWlsLUFkcmVzc2U6IHdlc3RlcmJAbWF0aC51bmktbXVlbnN0ZXIuZGUgKGthbm4gdm9uIG1pciBhdXMKaW4gZGllIFJMLUxpc3RlLgoKSWNoIGhvZmZlLCBlaW5pZ2UgWnVzY2hyaWZ0ZW4genUgYmVrb21tZW4uIEF1Y2ggdm9uIExldXRlbiwgZGllIG51ciBmZXJ0aWdlClNwaWVsZSBhdWYKbmVyIERvc2Ugc3BpZWxlbiBtb2VjaHRlbiBzaW5kIHdpbGxrb21tZW4sIGRhcyBkYXVlcnQgZGFubiBhbGxlcmRpbmdzIG5vY2ggbmUKV2VpbGUuCgpHcnVzcyBhbnMgTUcsIGljaCBtdXNzIGFiIG1vcmdlbiAgIGFyYmVpdGVuIGdlaGVuIHVuZCB3ZXJkZSBudXIgbm9jaCBzZWhyCnNlbHRlbiAobWVpc3RlbnMgYWJlbmRzKSBrb21tZW4ga29lbm5lbiAoKnNjaGx1Y2h6KikKCkRhaU1vblZvawoKUFM6IEluIGRlciBUVi1Ib2VyZW4gdW5kIFNlaGVuIHdhciBnZXN0ZXJuIGVpbiB0b2xsZXIgVGlwcGZlaGxlcjogQXVmIGRlbQpIb2xsYWVuZGVyIGthbSAiVGhlIHVuYmVhcmFibGUgbGlnaHRuZXNzIG9mIEJvaW5nIgoKV2VpdGVyIHNvLCBCb2luZywgd2lyIGRydWVja2VuIERpciBhbGxlIGRpZSBEYXVtZW4gYmVpIGRlaW5lciBUVi0gdW5kIEtpbm8tCmthcnJpZXJlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZWl0aWVzIChXdWxmZXJlLCAyMy4gSnVsIDE5OTUsIDA4OjU4OjQ4KToKIyEgcm49Qm9pbmcgcnQ9ODA1MDMxNzM4ClRqYS4uWndlaXRpZXMgd2lkZXJzcHJlY2hlbiBkZW4gU2lubiBkZXMgTXVkZXMgdW5kIHNvbGxlbiBhdWYgamVkZW5mYWxscwpuaWNodCBub2V0aWcgc2Vpbi4uV3VsZmVyZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9obmUgS29tbWVudGFyIChEYW5jZXIsIDI0LiBKdWwgMTk5NSwgMTA6NDM6NDApOgpBdXN6dWcgYXVzIGRlbSBTYW5kdGlnZXJsb2dmaWxlOgoKRnJpIEp1bCAyMSAxNjoyODo1NiAxOTk1IEhpbmkgc2V0enQgVGlnZXJncnVzcyBmdWVyIFNseWZveCBhdWY6IGR1IGFyc2NobG9jaC4KCk9obmUgS29tbWVudGFyLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9obmUgS29tbWVudGFyIChEYW5jZXIsIDI0LiBKdWwgMTk5NSwgMTA6NDc6NTgpOgojISBybj1EYW5jZXIgcnQ9ODA2NTc1NDIwCkFjaCBqYS4uLmVpbiBLb21tZW50YXIgZ2lidCBlcyBkb2NoOgpEZXIgU2FuZHRpZ2VyIHdpcmQgc2ljaCBhYiBzb2ZvcnQgc28gbmV0dGUgWmVpdGdlbm9zc2VuIG1lcmtlbiB1bmQgYmVpIGVpbmVtCmVybmV1dGVuIFRyZWZmZW4gc2VpbmUgdW5rdXNjaGVsaWdlIFNlaXRlIHplaWdlbiA6LSkKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZvcm11bGFyIChJbGxpYW4sIDI0LiBKdWwgMTk5NSwgMTE6MTI6MzMpOgpEcmluZ2VuZCBFcnN0ZS1IaWxmZS1LYXN0ZW4gYmVub2V0aWd0LiBkYXp1IH5oCkRhenUgbm9jaCBlbnRmZXJuZW4gZWluaWdlciBOYXJiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2huZSBLb21tZW50YXIgKEJhYm9vbiwgMjQuIEp1bCAxOTk1LCAxMToyMjoxNSk6CiMhIHJuPURhbmNlciBydD04MDY1NzU0MjAKRXMgZ2lidCBoYWx0IGF1Y2ggaGllciBpbSBtZyBuZXR0ZSBMZXV0ZS4gQWJlciB3YXMgd2lsbCBtYW4gZGFnZWdlbiB0dW4/ClplbnN1ciBlaW5mdWVocmVuPyBXaWxkIGhlcnVtYmFuaXNoZW4/IERhcyBQcm9ibGVtIGhhdHRlbiB3aXIgZG9jaCBzY2hvbgptYWwgenVtIFRoZW1hIFNwaWVsZXJuYW1lbiAoRmlja2Zyb3NjaCxIaXRsZXIgdXN3LikgSmV0enQgZ2VodHMgd29obCB3aWVkZXIKdm9uIHZvcm5lIGxvcy4gOi0oCgpCYWJvb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXVzYXJiZWl0ZW4gZXRjLiB1ZWJlciBNVUQgKENlcmVidXMsIDI0LiBKdWwgMTk5NSwgMTM6NDQ6NTEpOgpNb2luIQoKSWNoIGJpbiBhdWYgZGVyIFN1Y2hlIG5hY2ggSGF1c2FyYmVpdGVuIG9kZXIgc29uc3RpZ2VuIFRleHRlbiB1ZWJlciBkYXMgTUcKYnp3IE1VRGRlbiBhbGxnZW1laW4uIEthbm4gbWlyIGplbWFuZCBlaW4gcGFhciBUaXBzIGdlYmVuPyBWaWVsbGVpY2h0IHBlcgptdWQtbWFpbD8/CgoxMDAxIERhbmssIENlcmVidXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGF1c2FyYmVpdGVuIGV0Yy4gdWViZXIgTVVEIChLZXRvcywgMjQuIEp1bCAxOTk1LCAxNjoxMDoyOSk6CiMhIHJuPUtldG9zIHJ0PTgwNjU5NDg1OQpTY2hhdSBtYWwgdW50ZXI6CmZ0cDovL211ZC51bmktbXVlbnN0ZXIuZGUvVGV4dGUvU296aWFsZXMvVmVyaGFsdGVuLnBzCm9kZXI6Cmh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS9+bXVkL0luZm9ybWF0aW9uL2FydGljbGUuaHRtbApvZGVyOgpmdHA6Ly9mdHAudW5pLWtvZWxuLmRlL2luc3RpdHV0ZS9zb3ppb2xvZ2llc2VtL2NtYy8wMGluZGV4LnR4dApvZGVyOgpodHRwOi8vd3d3LnVuaS1rb2Vsbi5kZS90aGVtZW4vY21jL2xpdGxpc3QuaHRtbAoKUmVpY2h0IGRhcz8KLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoTXVwZmVsLCAyNC4gSnVsIDE5OTUsIDIwOjA5OjIwKToKaGFsbG8KCmRhIHJ1bnJpayAxNCB3aWUgaW1tZXIgcmFuZHZvbGwgaXN0IGFsc28gaGllcjoKc3V1dXBlciBpZGVlIHVsbywgbWljaCBzdG9lcmVuIGRpZSBydWRlbHdlaXNlIHVtaGVyc3RlaGVuZGVuIHNlaGVyaGFldXNlcgphdWNoIGltbWVyIG1laHIgZGFydW0gc2NobGFnZSBpY2ggYWxzIHZlcnNjaGFlcmZlbmRlIG1hc3NuYWhtZSB2b3IsIGRhc3MsIHdlbm4KZGllIHNlaGVyIGlociBoYXVzIHVlYmVyaGF1cHQgbmljaHQgdmVydGVpZGlnZW4gd2VpbCBzaWUgbWVpbmVuIGRpZSBkYWVtb25lbgpicmFlY2h0ZW4gZWgga2VpbmUgZXAgb2RlciBzaWUgaGFldHRlbiBkYXMgaGF1cyBpbiAyMCBtaW4gd2llZGVyIGF1ZmdlYmF1dCwKZGllIGRhZW1vbmVuIGhhZXJ0ZXIgenVzY2hsYWdlbiB1bmQgZGVuIGVpbmVuIG9kZXIgYW5kZXJlbiByYXVtIEdBTloKemVyc3RvZXJlbiBkLmguIGF1cyBkZW0gaGF1cyBlbnRmZXJuZW4uIHdlbm4gZGFzIGhhdXMgbnVyIGF1cyBlaW5lbSByYXVtCmJlc3RhbmQsIG51biwgZGFubiBpc3NlcyBoYWx0IG5hY2hoZXIgd2VnLi4uLgoKLW11cGZlbC0KKGphIHdpcmtsaWNoIE11cGZlbCBuaWNodCBSb2NodXMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKEFzbW9kaXMsIDI0LiBKdWwgMTk5NSwgMjA6NTg6NDQpOgojISBybj1NdXBmZWwgcnQ9ODA2NjA5MzYwCk5lbmUsIHdhcyBpc3QsIHdlbm4gZGllIERhZW1vbmVuIG5hY2h0cyB1bSAzIGFuZ3JlaWZlbiB1bmQgc29uc3QgbnVyIG5vY2ggMgpTZWhlcgppbSBTcGllbCBzaW5kLCB1bmQgYmVpZGUgYmVzY2hhZWZ0aWd0ID8/IERhcyBsYWV1ZnQgbmljaHQgISEKS29zdGV0IGphIGltbWVyaGluIG5lIG1lbmdlIFplaXQsIHNvIGVpbmVuIFJhdW0gd2llZGVyIHp1IGVyd2VyYmVuLgoKCiAgICAgIENpYW8sIEFzbW9kaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFNsYXNoLCAyNC4gSnVsIDE5OTUsIDIxOjE5OjE0KToKIyEgcm49QXNtb2RpcyBydD04MDY2MTIzMjQKc2luZCB3aXIgZG9jaCBtYWwgZWhybGljaC4uLiBlcyBnaWJ0IGVoIHZpZWwgenUgdmllbGUgc2VoZXJoYWV1c2VyLi4uCk1hbiBrb2VubnRlIGphIHN0YXR0IGRlciB6ZXJzdG9lcnRlbiBCZXNjaHJlaWJ1bmcgZGFzIGhhdXMgemVydG9lcmVuCmxhc3Nlbi4uLiBtaXQgcmFuZG9tIDEyaCByZXNldHR6ZWl0Li4Kc2xhc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoUnh0ZWNoLCAyNS4gSnVsIDE5OTUsIDEwOjI2OjE0KToKIyEgcm49TXVwZmVsIHJ0PTgwNjYwOTM2MApLbGFyLCB3ZW5uIGljaCBtYWwga2VpbmVuIEJvY2sgYXVmIG1ldHplbG4gaGFiLCBnZWhlbiBoYWx0IG1laHJlcmUKT25saW5lc3R1bmRlbiBSYXVtYmVzY2hyZWlidW5nIGJhZGVuLiBNYW4ga29lbm50ZSBqYSBtYWwgUmFldW1lLCBkaWUgRHUgKGZhbGxzCkR1IHNvd2FzIHR1c3QpIHByb2dyYW1taWVyc3QgZGVzdHJ1Y3Rlbi4gV3VlcmQgZ2VybiBtYWwgc2VoZW4sIHdpZXZpZWwgU3Bhc3MKRGlyIGRhbm4gZGllIEJlc2NocmVpYnVuZyBkZXMgbmFlY2hzdGVuIFJhdW1lcyBtYWNodC4gSWNoIGRlbmtlIGhpZXIgaGFiZW4KZWluaWdlIGdhbnogc2Nob2VuYiB2aWVsIGFyYmVpdCBpbiBkaWUgSGFldXNlciBnZXN0ZWNrdC4gRGllIEFienVyZWlzc2VuLCB3ZWlsCmVpbmVtIE1hZyBlcyBzdG9lcnQsIGRlciBqYSBuaWNodG1hbCBkcmFudm9yYmVpbGF1ZmVuIG11c3MsIGhhbHRlIGljaApzY2hsaWNodHdlZyBmdWVyIG5lIEZyZWNoaGVpdC4KCmdydW1tZWxuIHVlYmVyIHNvdmllbCBCbG9lZHNpbm4KClJ4dGVjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoV2FyZ29uLCAyNS4gSnVsIDE5OTUsIDEwOjMzOjI4KToKIyEgcm49Unh0ZWNoIHJ0PTgwNjY2MDc3NApHdXRlIElkZWUuLi4gRGEgaWNoIGFscyBFTSBlaCBTY2hyZWlicmVjaHRlIGF1ZiBzbyBndXQgd2llIGFsbGUgVmVyemVpY2huaXNzZQpoYWJlLCB3dWVyZGUgaWNoIG1pY2ggc29nYXIgYmVyZWl0IGVya2xhZXJlbiwgZWluZW4gZW50c3ByZWNoZW5kZW4gVmVybmljaHRlcgp6dSBzY2hyZWliZW4uIDspCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZXJud2VzdCAgKE9ya3RvZXRlciwgMjUuIEp1bCAxOTk1LCAxMzo0NDo0Mik6CldpZSBtaXIgZWluIFdhbmRlcmVyIGVyemFlaGx0ZSwgZGVyIGdlcmFkZSBhdXMgZGllc2VyIG5ldWVuLCBmZXJuZW4gR2VnZW5kCnp1cnVlY2trZWhydGUsIGdpYnQgZXMgZG9ydCBhdWNoIERpZWJlIHVuZCBzb2xjaGUsIGRpZSBzaWUgZmFuZ2VuLgpFcnN0ZXJlIG5lbm50IG1hbiBkb3J0IHdvaGwgTGFuZy1GaW5nIHVuZCBDYXQgd3VlcmRlIGRvcnQgd29obCBMYW5nLUZpbmctRmFuZwpoZWlzc2VuIDopIC4KT3JrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhbnRvZmZlbCB1bmQgU2xhc2ggKEJvaW5nLCAyNS4gSnVsIDE5OTUsIDE0OjI2OjA5KToKRGFtaXQgc2ljaCBrZWluZXIgd3VuZGVydCwgZGFzcyBQYW50b2ZmZWwgdW5kIFNsYXNoIGdlYmFuaXNodCBzaW5kOiBFcwpnZXNjaGFoIGF1ZiBlaWdlbmVuIFd1bnNjaCB1bmQgaXN0IGJpcyB6dXIgTUdfRmV0ZSBiZXNjaHJhZW5rdCwKR3J1bmQ6IERpcGxvbWFyYmVpdCA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlcGx5IGF1ZiBydWJyaWsgMTQsIGFydGlrZWwgMTQyICdWYW5kYWxpZXJlbmRlIERhZW1vbmVuJyB2b24gVWxvIChQdW1hLCAyNS4gSnVsIDE5OTUsIDE1OjAyOjI2KToKIyEgcm49Unh0ZWNoIHJ0PTgwNjY2MDc3NApJY2gga2FubiBSeHRlY2ggbnVyIHp1c3RpbW1lbi4gSmVkZXIgZGVyIGF1Y2ggbnVyIGFuc2F0endlaXNlIHZlcnN0ZWh0LAp3aWV2aWVsIEFyYmVpdCBpbiBlaW5lbSBSYXVtIHN0ZWNrdCwgYnp3LiB3aWV2aWVsIE11ZWhlIGVzIG1hY2h0IFJhZXVtZSB6dQpldHdhcyBzY2hvZW5lbSB6dSBtYWNoZW4sIHNvbGx0ZSB2b24gZGllc2VyIElkZWUgQWJzdGFuZCBuZWhtZW4uIE1vbWVudGFuCmVudHdpY2tlbHQgc2ljaCBkaWUgR2VzY2hpY2h0ZSBlaGVyIHp1IGVpbmVyIE1hZ2llcmRpc2t1c3Npb24sIHdpZSBtYW4gYW0KYmVzdGVuIFNwaWVsZXIgdHJha3RpZXJlbiBrYW5uLiBJY2ggbWVpbmUsIGRpZSBTZWhlci1IYWV1c2VyIGhhYmVuIHNjaG9uIGVpbmUKTWVuZ2UgQXJiZWl0IGdla29zdGV0IHVuZCBzb2xsdGVuIHNvIGVyaGFsdGVuIGJsZWliZW4uIFdlciBzaWNoIHVtYmVkaW5ndCBkZW4KS2l0emVsIGdlYmVuIHdpbGwgdW5kIHNlaW4gSGF1cyBmcmVpd2lsbGlnIGZ1ZXIgZWluZW4gVWViZXJmYWxsIGhlcmdlYmVuIHdpbGwKLi4uIGtlaW4gRGluZywgc29mb3J0LiBJY2ggbmVobScgbnVyIGViZW4gZGVyIEh5ZHJhIGRhcyBIYWxzYmFuZCBhYi4KCgpQdW1hIQoKKGhhdCBzY2hvbiBhbiBkaWUgMzAwIFJhZXVtZSBiZXNjaHJpZWJlbiB1bmQgd3VlcmRlIHN0aW5rc2F1ZXIsIHdlbm4gbnVyCmVpbmVyIHplcmZhc2VydCB3ZXJkZW4gd3VlcmRlKQoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFJ1bWF0YSwgMjUuIEp1bCAxOTk1LCAxNToyMjo1Nik6CiMhIHJuPVB1bWEgcnQ9ODA2Njc3MzQ2CkljaCBzdGltbWUgUnh0ZWNoIHp1LCBkZW4gU2VoZXJuIFJhZXVtZSB6dSBsb2VzY2hlbiBpc3QgZ2VuYXVzbyBtaWVzLCB3aWUKTWFnaWVybiBmaWxlcyB6dSBsb2VzY2hlbi4KV2VubiBtYW4gc293YXMgZGllIGRpZSBIb3JkZSBtYWNodCwgZGFubiBob2VjaHN0ZW5zIHNvLCBkYXNzIGRpZSBEZXRhaWxzCmdlc3BlaWNoZXJ0IHdlcmRlbiwgdW5kIGRlciBTZWhlciBkaWVzZSBhdWYgZWluZSBiZXN0aW1tdGUgQXJ0IHVuZCBXZWlzZQoncmVpbnN0YWxsaWVyZW4nIGthbm4sIHpCIG5ldWVuIEJhdXNwYXJ2ZXJ0cmFnIHp1bSByZW5vdmllcmVuLCBkZXIgZGFubgpkYXMgZ2FuemUgSGF1cyB3aWVkZXIgaW4gT3JkbnVuZyBicmluZ3QgLi4uCihOdXIgc28gbmUgSWRlZSB2b24gbWlyIDotKQoKUnVtdGF0YSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKEtldG9zLCAyNS4gSnVsIDE5OTUsIDE4OjE3OjM1KToKIyEgcm49Unh0ZWNoIHJ0PTgwNjY2MDc3NApEYXMgc2ljaCBSYWV1bWUgbmFjaCBSZXNldHMgd2llZGVyIGluIGRlbiBvcmdpbmFsIFp1c3RhbmR2ZXJzdGV0emVuIGlzdCBlaW5lCnByYWt0aXNjaGUgU2FjaGUuCkRhcyBrb2VubnRlIG1hbiBtaXQgU2VoZXJoYWV1c2VybiBhdWNoIG1hY2hlbi4KTmFjaCBlaW5lbSB0YWcgaGFiZW4gZXMgZGllIE1haW56ZWxtYWVubmNoZW4gd2llZGVyIGhlcmdlcmljaHRldC4KT2RlciBzb2xsdGUgbWFuIGVpbmUgVmVyc2ljaGVydW5nIGdlZ2VuIGhvZWhlcmUgR2V3YWx0ZW4gYWJzY2hsaWVzc2VuPwoKLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoV2FyZ29uLCAyNS4gSnVsIDE5OTUsIDE4OjU1OjEzKToKIyEgcm49S2V0b3MgcnQ9ODA2Njg5MDU1CmEpIFJhZXVtZSB2ZXJzZXR6ZW4gc2ljaCBudXIgd2FzIEdlZ2Vuc3RhZW5kZSBldGMuIGFuZ2VodCBpbiBkZW4gT3JpZ2luYWwtCiAgIHp1c3RhbmQuIFdlbm4gInZvbiBIYW5kIiBEZXRhaWxzIGdlYWVuZGVydCB3ZXJkZW4sIHdlcmRlbiBkaWUgZXJzdAogICBiZWltIG5hZWNoc3RlbiBOZXVsYWRlbiBkZXMgUmF1bWVzIHJlc3RhdXJpZXJ0LgpiKSBEYSBkaWUgQmVzY2hyZWlidW5nZW4gZGVyIFNlaGVyaGFldXNlciBuaWNodCBpbiBlaW5lbSBMUEMtRmlsZSBzdGVoZW4sCiAgIHNvbmRlcm4gc2llIG1pdCBzYXZlX29iamVjdCBnZXNpY2hlcnQgd2VyZGVuLCBzaW5kIGRpZSBCZXNjaHJlaWJ1bmdlbgogICBkb3J0IEFVRiBKRURFTiBGQUxMIHdlZywgZGEgbmFlbWxpY2ggYWxsZSBOYXNlIGxhbmcgZ2VzcGVpY2hlcnQgd2lyZAogICAoc3ByaWNoIGJlaSBqZWRlbSByZXNldCwgZGVyIEVpbmdhbmdzcmF1bSBhdWNoIGJlaSBCZXRhZXRpZ2VuIGRlciBUdWVyKS4KICAgRGVzaGFsYjogTkVJTiEKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlcGx5IGF1ZiBydWJyaWsgMTQsIGFydGlrZWwgMTQyICdWYW5kYWxpZXJlbmRlIERhZW1vbmVuJyB2b24gVWxvIChCZW5kZWlnaWQsIDI1LiBKdWwgMTk5NSwgMTk6MTg6NTYpOgojISBybj1XYXJnb24gcnQ9ODA2NjkxMzEzClRhZyB6dXNhbW1lbi4KSWNoIGZpbmRlIGVzIGV0d2FzIHNlbHRzYW0sIGRhc3Mgc2ljaCBkaWUgZ2FuemUgRGlza3Vzc2lvbiBhdWYgInplcnN0b2VyZW4iCm9kZXIgInZlcnNlbmtlbiIsICJ1bWJyaW5nZW4iIG9kZXIgc28gYmVzY2hyYWVua3QuCkRpZSBHcnVuZGlkZWUgd2FyIGRvY2gsIGRhc3MgbWFuIGR1cmNoIHNvbGNoZSBFdmVudHMgZGFzClp1c2FtbWVuZ2Vob2VyaWdrZWl0c2dlZnVlaGwgZGVyIFNwaWVsZXIgc3RhZXJrdCBvZGVyIGRpZSBadXNhbW1lbmFyYmVpdApmb2VyZGVydC4gRm9sZ2xpY2ggbXVzcyBlaW4gQW5yZWl6IHNlaW4sIGtsYXIuIEFiZXIgd2llc28gc29sbHRlIGVzIGVpbmVuClRyZWZlbj8gb2RlciBnbGVpY2ggUFYgZnVlciBhbGxlIE5ld2JpZXMga2FwdXR0emVybGVnZW4/IFN0ZWxsdCBldWNoIHZvciwgaWhyCmtvbW10IGluIGVpbiBNdWQsIHVuZCBhbGxlcyB3YXMgaWhyIHNlaHQgc2luZCBmZWhsZW5kZSBEZXRhaWxzIHVuZApUcnVtbWVyZmVsZGVyLiBUb2xsZSBTYWNoZS4KTmVpbiwgaWNoIGhhbHRlIGltbWVyIG5vY2ggZGllIElkZWUgZWluZXMgUmF1YnVlYmVyZmFsbHMgYXVmIExhZWRlbiwgcGVyClp1ZmFsbCBnZXN0ZXVlcnQsIGZ1ZXIgZGllIGJlc3RlIFJlYWxpc2llcnVuZy4gVW5kIEFuZ3N0IHVtIHNlaW4gTGViZW4gYnJhdWNodAprZWluZXIsIGRlciBydW1pZGxldCwgenUgaGFiZW4uIFNvIGV0d2FzIGtvZW5uZW4gdW5zZXJlciBNYWdzIHNjaG9uCnByb2dyYW1taWVyZW4sIGRhc3MgZGEgbmljaHQgdmVyc2VoZW50bGljaCBqZW1hbmQgZ2VwbGFldHRldCB3aXJkLgpXZW5uIGJlaSBzbyBlaW5lbSBVZWJlcmZhbGwgYXVmIExhZWRlbiBhdWNoIGVpbiB3ZW5pZyBkZXMgS3JhbXMgZ2VrbGF1dCB3aXJkLApkZW4gZGVyIEhhZW5kbGVyIHNvbnN0IGltbWVyIHNvIGdyb3NzenVlZ2lnIHp1IHNlaW5lbiBQcml2YXRzYWNoZW4gbGVndCwgd2lyZApkaWUgQW5nZWxlZ2VuaGVpdCBhdWNoIGZ1ZXIgU2VoZXIgcmljaHRpZyBpbnRlcmVzc2FudC4gYWJnZXNlaGVuIHZvbSBSdWhtCmJsZWlidCBhdWNoIGRlciBlcm5ldXRlIFZlcmthdWYgZGVyIHdpZWRlcmJlc2NoYWZmdGVuIEF1c3J1ZXN0dW5nLiBVbmQgd2VubgpkdXJjaCBzbyBlaW5lbiBFaW5icnVjaCBlaW5pZ2UgTGFlZGVuIGVyc3QgbWFsIHNpY2hlcmhlaXRzaGFsYmVyIHNjaGxpZXNzZW4sCnNvIGRhc3MgbmllbWFuZCBtZWhyIGRyYW5rYW5uLi4uIGhtLCBkYW5uIHdpcmQgc2ljaCBlaW5lIFZlcnRlaWRpZ2VydHJ1cHBlCnNjaG9uIGZpbmRlbi4gSG9mZmUgaWNoLgoKTnVyIGFscyBJZGVlLgoKWidQYXIgU2VydnUsCiAgICAgICAgICAgICBCZW5kZWlnaWQKbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJlcGx5IGF1ZiBydWJyaWsgMTQsIGFydGlrZWwgMTQyICdWYW5kYWxpZXJlbmRlIERhZW1vbmVuJyB2b24gVWxvIChEYW5jZXIsIDI1LiBKdWwgMTk5NSwgMjI6MzE6MzcpOgojISBybj1CZW5kZWlnaWQgcnQ9ODA2NjkyNzM2CkljaCBmcmFnZSBtaWNoLCB3aWVzbyBJaHIgdWViZXJoYXVwdCBzbyBsYW5nZSB1ZWJlciBlaW5lIFNhY2hlIGRpc2t1dGllcnQsCmRpZSB3YWhyc2NoZWlubGljaCBuaWUgcHJvZ3JhbW1pZXJ0IHdpcmQuLi4KYSkgV29sbGVuIGphIHNjaG9uIGltIFZvcmZlbGQsIEJFVk9SIGVzIHVlYmVyaGF1cHQgcHJvZ3JhbW1pZXJ0IGlzdCBhbGxlCmVpbmVuCiAgIEJlZmVobCBoYWJlbiwgbWl0IGRlbSBzaWUgc2ljaCB2b24gZGllc2VyIEFrdGlvbiBhdXNzY2hsaWVzc2VuIGtvZW5uZW4sCmIpIFNpbmQgU2NoYWVkZW4sIGRpZSBzaWNoIG5hY2ggZWluZW0gUmVzZXQgd2llZGVyIGhlcnN0ZWxsZW4gdmVyZ2xpY2hlbiBtaXQKICAgZGVtIFByb2dyYW1taWVyYXVmd2FuZCBkb2NoIGVoZXIgbGFlY2hlcmxpY2gsCmMpIEtvbW10IGRlciAnSW52YXNpb25zY2hhcmFrdGVyJyBkaWVzZXIgRGFlbW9uZW5ob3JkZSBqYSBnYXIgbmljaHQgc28KICAgcmljaHRpZyBkdXJjaCwgd2VpbCBtYW4gc2ljaCB3ZWRlciB2ZXJzY2hhbnplbiBtdXNzLCBub2NoIGF1ZnBhc3NlbiBtdXNzLAogICBkYXNzIG1hbiBpaG5lbiBuaWNodCBpbiBkaWUgSGFlbmRlIHJlbm50ICh3ZWlsIG1hbiBqYSBlaW5mYWNoCndlaXRlcmxhdWZlbgogICBrYW5uKSwgbm9jaCBpcmdlbmR3YXMgZ3Jvc3NhcnRpZyB2ZXJ0ZWlkaWdlbiBtdXNzICh1bmQgRVAgYXVmcyBTcGllbAogICAgc2V0emVuIG11c3MpLCBkYSBqYSBzb3dpZXNvIHBhYXIgTWludXRlbiBzcGFldGVyIChvZGVyIHZvbiBtaXIgYXVzIGF1Y2gKICAgIGVpbmVuIFJlYm9vdCBzcGFldGVyKSBhbGxlcyB3aWVkZXIgZGEgaXN0LApkKSBEaWVzZSBMYXVmbW9uc3RlciBzb3dpZXNvIG5lIE1lbmdlIFNwZWljaGVyIHZlcmJyYXRlbiAoc2llaGUKRWxmZW53YWVjaHRlcikKICAgdW5kIGFsbGVyaG9lY2hzdGVucyBydW1uZXJ2ZW4sCmUpIFdpcmQgc293aWVzbyBqZWRlciBnZXJhZGUgc28gbWl0IHNlaW5lbiBRdWVzdHMvTWV0emVsZWllbi9HZXNwcmFlY2hlbiBzbwogICBpbnZvbHZpZXJ0IHNlaW4sIGRhc3MgZXIga2VpbmUgWmVpdCBoYXQsIFp3ZWl0aS1TZWhlcnMgWFkncyBIYXVzIGZ1ZXIKZWluZW4KICAgUmVzZXQgbGFuZyB6dSByZXR0ZW4sCmYpIFdpcmQgZGllIGdhbnplIFNhY2hlIHNvd2llc28gbmFjaCBkZW0geC4gTWFsIGxhbmd3ZWlsaWcsIHdlaWwgZXMgamEgaW1tZXIKICAgbmFjaCBTY2hlbWEgWCBhYmxhZXVmdC4gTG9nbywgd2VyIHNvbGx0ZSBkZW5uIGRpZSBrdWVuc3RsaWNoZSBJbnRlbGxpZ2VuegogICBkZXIgRGFlbW9uZW4gc28gcHJvZ3JhbW1pZXJlbiwgZGFzcyBlcyB2aWVsIEFid2VjaHNsdW5nIGJpZXRldC4uLgpEYWVtb25lbgogICB1bmQgSW50ZWxsaWdlbnogc2luZCBzb3dpZXNvIHNvIG5lIFNhY2hlICh6d2lua2VyIGdydXVoLi4uKS4uLjopCgpNZWluIFZvcnNjaGxhZzogV2lyIGtyZWlyZW4gZWluZmFjaCBTY2hlaW4tTlBDcyBpbSBPdXRmaXQgZGVyIERhZW1vbmVuLgpEaWVzZSBEYWVtb25lbiBzaW5kIHp3YXIgdm9tIFN0YXR1cyBoZXIgTlBDcywga29lbm5lbiBhbHNvIGFuZ2VncmlmZmVuCndlcmRlbiwKd2VyZGVuIGplZG9jaCB2b24gTUFHSUVSTiBnZXN0ZXVlcnQuLiBzbyB2aWVsIGhhbHQgaW4gZGVtIE1vbWVudCBMdXN0IGhhYmVuLgpTaWUgZXJzY2hlaW5lbiBuYXR1ZXJsaWNoIGF1Y2ggbmljaHQgYXVmIGRlciBXRVItTGlzdGUuLi4gZGllc2UgRGFlbW9uZW4Ka29lbm50ZW4gZGFubiBzbyBjYS4gMi0zIE1hbCBpbSBNb25hdCBiZWkgYmVzdGltbXRlbiBBbmxhZXNzZW4gYXVmdGF1Y2hlbiwKZ2FueiB1bnZlcm1pdHRlbHQuLi4gSG9jaHplaXRzcGFydGllcywgTWVldGluZ3MgaW0gV29scGllY2x1Yiwgb2RlciBhdWNoCmVpbmZjYWggbWFsIHp1ZmFlbGxpZyB1bmQgUG9ydCBWYWluIGJlc2V0emVuIG9kZXIgc28uLi4gaXN0IGRvY2ggc28gdmllbApkeW5hbWlzY2hlciwgbGVpY2h0ZXIgenUgcHJvZ2dlbiB1bmQgbWFjaHQgd2VzZW50bGljaCBtZWhyIFNwYXNzLCB3ZWlsIGphCmF1Y2gKa2VpbiBTcGllbGVyIHdlaXNzLCBXRUxDSEVSIE1hZ2llciBqZXR6dCB3ZWxjaGVuIERhZW1vbiBzdGV1ZXJ0Li4uIGRhIGtvbW10CmRvY2ggUm9sbGVuc3BpZWwgaW4gZGllIFNhY2hlLi4uIHVuZCBuZSBNZW5nZSBPYmpla3RlIGZhbGxlbiBtaXIgYXVjaCBkYXp1CmVpbiwgZGllIG1hbiBQcm9nZ2VuIGtvZW5udGUuIE5hdHVlcmxpY2ggc29sbHRlbiBkaWVzZSBOUENzIHJlbGF0aXYgc2Nod2FjaApzZWluLCBhYmVyIGVpbiBNYWdpZXIgbmltbXRzIGphIGF1Y2ggbmljaHQgcGVyc29lbmxpY2gsIHdlbm4gZWluIHZvbiBpaG0KZ2VzdGV1ZXJ0ZXIgJ05QQycgYWJnZXNjaGxhY2h0ZXQgd2lyZCwgb2Rlcj8gOykKCkd1dGUgSWRlZT8KCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlcGx5IGF1ZiBydWJyaWsgMTQsIGFydGlrZWwgMTQyICdWYW5kYWxpZXJlbmRlIERhZW1vbmVuJyB2b24gVWxvIChKYWYsIDI2LiBKdWwgMTk5NSwgMDE6MDA6MjMpOgojISBybj1EYW5jZXIgcnQ9ODA2NzA0Mjk3CgpTZWhyIGd1dGUgSWRlZSwgRGFuY2VyLgoKQWJlciBpY2ggd2lsbCBhdWNoIG1hbCAnbiBib2VzZW4gRGFlbW9uZW4gc3RldWVybiA6KQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFdhcmxvcmQsIDI2LiBKdWwgMTk5NSwgMDE6MjQ6MDApOgojISBybj1EYW5jZXIgcnQ9ODA2NzA0Mjk3CgpGaW5kZSBpY2ggbmUgZ3V0ZSBJZGVlLCBEYW5jZXIuIFJlbGF0aXYgZWluZmFjaCB6dSBtYWNoZW4gdW5kIGJlc3RpbW10IGdhbnoKbHVzdGlnLiA6KQoKCVdhcmxvcmQKClAuUy46IGtvZW5udGUgbWFuIGRhcmF1cyB2aWVsbGVpY2h0IDIwLTMwbWFsIG1hY2hlbiA7KSkpClAuUC5TLjogd2llIHNpZWh0IGRhcyBhdXMsIHdlbm4gc28gbiBOUEMgbiBTcGllbGVyIGtpbGx0PyBIYXQgZGVuIGRhbm4gZGVyCk1hZ2llciwgZGVyIGlobiBzdGV1ZXJ0IGF1ZiBkZW0gR2V3aXNzZW4gdW5kIGthbm4gZGFubiBiZWxhbmd0IHdlcmRlbj8gOyl+cgpNdXNzIG1hbiBtYWwgbWl0IExhbmctRmluZy1GYW5nLCBhZWggQ2F0KiBhYmtsYWVyZW4gOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWYW5kYWxpc211cyAoU29jcmF0ZSwgMjYuIEp1bCAxOTk1LCAxMjowMzoyMCk6CkhhbGxvIHp1c2FtbWVuIQpJY2ggZmluZGUgZXMgc2Nob24gemllbWxpY2ggYXJtc2VlbGlnLCB3ZW5uIGhpZXIgZGllIERpc2t1c3Npb25lbiB1ZWJlciBkaWUKRXJ3ZWl0ZXJ1bmcgZGVyIEdld2FsdCBkaWUgVWViZXJtYWNodCBnZXdpbm5lbi4gQXVmZmFlbGxpZyBpc3QgYmVzb25kZXJzCldvcnRyZWljaHR1bSBhbmdlc2ljaHRzIGRlcyBUaGVtYXMuIFdpZSBkaWUgRXNraW1vcyBjYSAyMCB2ZXJzY2hpZWRlbiBXb2VydGVyCmZ1ZXIgd2Vpc3MgdW5kIGRpZSBXdWVzdGVudm9lbGtlciBjYSAyMCB2ZXJzY2hpZWRlbmUgV29lcnRlciBmdWVyIEJyYXVuCmtlbm5lbiwgc2VpZCBpaHIgc2NoZWluYmFyIGluIGV1cmVtIEVsZW1lbnQgd2VubiBlcyB1bSBHZXdhbHQgZ2VodC4KSWNoIHNlaGUgendhciBlaW5lbiBVbnRlcnNjaGllZCBoaWVyIHp3aXNjaGVuIGtyYW5rZW4gVmFuZGFsZW4gZGllIHZvbgoia2xhdHNjaGVuIiBzcHJlY2hlbiB1bmQgYWxsZXMgIlNjaHV0dCB1bmQgQXNjaGUgbGVnZW4iIHdvbGxlbiB1bmQgc29sY2hlbiBkaWUKZWluZSBBYndlY2hzbHVuZyBpbnMgU3BpZWwgYnJpbmdlbiB3b2xsZW4uIEFiZXIgYXVjaCBmdWVyIGRpZSBsZXR6dGVyZW4gZ2lsdDoKWndpbmd0IHVucyBldXJlIEdld2FsdGFldGlna2VpdCBuaWNodCBhdWYuIEVzIGdpYnQgaGllciBnZW51ZyBMZXV0ZSwgZGVuZW4gZGllCkdld2FsdCwgZGllIGluIHJsIGhlcnJzY2h0LCBtZWhyIGFscyByZWljaHQuIExldXRlIGRpZSBoaWVyIGlocmVuIFNwYXNzIGhhYmVuCndvbGxlbiB1bmQga29uc3RydWt0aXYgc2VpbiB3b2xsZW4sIGluZGVtIHNpZSBxdWVzdGVuLCB0YWxrZW4sIGVtb3RlbiwKcHJvZ3JhbW1pZXJlbiB1bmQgaGFldXNlcmJhdWVuLgpXZW5uIGlociBzbyBnZXdhbHRnZWlsIHNlaWQsIHdhcnVtIGdlaHQgaWhyIGRhbm4gbmljaHQgaW4gZWluIE11ZCwgaW5kZW0KUGxheWVya2lsbGluZyBlcmxhdWJ0IGlzdDsgZG9ydCBrb2VubnQgaWhyIGRhbm4gaW4gZWluZXIgZ3JvZWxsZW5kZW4gSG9yZGUKdW1oZXJ6aWVoZW4gdW5kIGFsbGVzIHVtaGF1aGVuIHdhcyBldWNoIHVlYmVyIGRlbiBXZWcgbGFldWZ0LgpHcnVzcwpTb2NyYXRlICpzY2hvbiBsYW5nZSBuaWNodCBtZXJoIGFuIGRpZSBtZW5zY2hsaWNoZSBWZXJudW5mdCBnbGF1YmVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWYW5kYWxpc211cyAoWmFyZG96LCAyNi4gSnVsIDE5OTUsIDEyOjA2OjQxKToKIyEgcm49U29jcmF0ZSBydD04MDY3NTMwMDAKU29jcmF0ZSwgZHUgc2Fnc3Q6IFZpZWxlIHdvbGxlbiBrZWluZSBHZXdhbHQgc29uZGVybiBpbiBSdWhlIHUuYS4gSGFldXNlcgpiYXVlbi4uLiBOdW4sIHNvdmllbCBpY2ggd2Vpc3MsIHdlcmRlbiBnZXJhZGUgZGllIEhhZXVzZXIgbWl0IEJsdXQKdW5zY2h1bGRpZ2VyIE5QQ3MgZXJyaWNodGV0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWYW5kYWxpc211cyAoQmFib29uLCAyNi4gSnVsIDE5OTUsIDEyOjUxOjM4KToKIyEgcm49WmFyZG96IHJ0PTgwNjc1MzIwMQpIbSwgWmFyZG96LCB3ZW5uJ3MgZ2luZ2Ugd3VlcmRlbiB3aXIgc2llIGF1Y2ggbWl0IGRlbSBCbHV0IHNjaHVsZGlnZXIKTWFnaWVyIGF1ZmJhdWVuICggOi0pICkgb2RlciB6dXIgTm90IGF1Y2ggZ2FueiBvaG5lIEdld2FsdC4gU29sYW5nZSBlcwphYmVyIG5pY2h0IGFuZGVycyBnZWh0Li4uIE1hbm4ga29lbm50ZSBhdWNoIHNhZ2VuLCB3aXIgYXJtZW4gU2VoZXIgd2VyZGVuCmhpZXIgdm9uIGRlbiBib2VzZW4gTWFnaWVybiB6dSBNYXNzZW5tb3JkZW4gZ2Vub2V0aWd0LgoKQmFib29uIChoYWV0dGUgc2ljaCBzZWluIEhhdXMgYXVjaCBsaWViZXIgYXVmIGFuZGVyZSBXZWlzZSB2ZXJkaWVudCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWYW5kYWxpc211cyAoV2FyZ29uLCAyNi4gSnVsIDE5OTUsIDEyOjU0OjQzKToKIyEgcm49QmFib29uIHJ0PTgwNjc1NTg5OApOYWphLCBhYmVyIGlociBrb2VubnQgZXVjaCBqYSBhdWYgZGllIGJvZXNlbiBNb25zdGVyIGJlc2NocmFlbmtlbi4gS2VpbmVyCnZlcmxhbmd0LCBkYXNzIER1IGRpZSBSYXRlbiBtaXQgU2NobmVld2l0dGNoZW4sIFNjaG1ldHRlcmxpbmdlbiAobmljaHQgYXVzIGRlcgpQYXJhbGxlbGRpbWVuc2lvbikgb2RlciBhZWhubGljaCBsaWVibGljaGVuIFdlc2VuIGZ1ZWxsc3QuCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWYW5kYWxpc211cyAoSmFmLCAyNi4gSnVsIDE5OTUsIDEzOjIyOjEyKToKIyEgcm49V2FyZ29uIHJ0PTgwNjc1NjA4MwoKQWJlciBmdWVyIGRlbiBXb2xwaSBtdXNzIGljaCBuaWVkbGljaGUgVGllcmNoZW4ga2lsbGVuICpzY2h1ZXR0ZWwqCgpKYWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmFuZGFsaXNtdXMgKFllbmRpLCAyNi4gSnVsIDE5OTUsIDEzOjQxOjM3KToKCgpIYWxsbywgU29jcmF0ZSEKCldlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmUsIGdpbmcgZXMgYmVpIGFsbCBkaWVzZW4gVm9yc2NobGFlZ2VuIGtlaW5lc3dlZ3MKZGFydW0sIG1vZWdsaWNoc3QgZWZmZWt0aXYsIG1vZWdsaWNoc3QgZWZmaXppZW50IG9kZXIgbW9lZ2xpY2hzdCBlZmZla3R2b2xsCkdld2FsdCBhbnp1d2VuZGVuIChEaXNrdXNzaW9uZW4genUgZGllc2VtIFRoZW1hIGtvZW5udGVzdCBEdSBlaGVyIEthcmF0ZWthCnZvcndlcmZlbiksIHNvbmRlcm4gZXMgZ2luZyBkYXJ1bSwgZGVuIFp1c2FtbWVuaGFsdCB1bnRlciBkZW4gU3BpZWxlcm4genUKc3RhZXJrZW4uIFdhbm4gaGFlbHQgbWFuIHp1c2FtbWVuPyBXZW5uIG1hbiBzaWNoIGdlZ2VuIGVpbmUgYXVlc3NlcmUKR2VmYWhyIHp1IHZlcnRlaWRpZ2VuIGhhdC4KRGllIElkZWUgbWl0IGRlbSBPcmt1ZWJlcmZhbGwgKG9kZXIgRGFlbW9uZW4tLCBHb2JsaW4tLCBIYXVzbWVpc3RlcnVlYmVyZmFsbCwKd2FzIGF1Y2ggaW1tZXIpIGlzdCBuaWNodCBuZXUgdW5kIHJlY2h0IG5haGVsaWVnZW5kLCB3ZW5uIG1hbiBkaWUgRmFudGFzeS0KdGhlbWF0aWsgZGllc2VzIE1VRHMgYmV0cmFjaHRldC4gSW4gZWluZW0gR3Jvc3N0ZWlsIGRlciBGYW50YXN5bGl0ZXJhdHVyCm11ZXNzZW4gc2ljaCBkaWUgSGVsZGVuIGhlbGRlbmhhZnQgZ2VnZW4gZWluZSBlcmRydWVja2VuZGUgVWViZXJtYWNodCBoYWx0ZW4uCkltIE1VRCB3YXIgZWluZSBVbXNldHp1bmcgZGllc2VzIFRoZW1hcyBiaXNoZXIgYW4gWmVpdG1hbmdlbCwgUHJvZ3JhbW1pZXItCnByb2JsZW1lbiB1bmQsIGphLCBtb3JhbGlzY2hlbiBQcm9ibGVtZW4gZ2VzY2hlaXRlcnQuCkVzIGlzdCBlYmVuIG5pY2h0IGdhbnogbGVpY2h0LCBzbyBldHdhcyBhdWYgZGllIEJlaW5lIHp1IHN0ZWxsZW4sIHNvIGRhc3MKZXMgdWViZXJ6ZXVnZW5kIGdlZmFlaHJsaWNoIHdpcmt0LCB0cm90emRlbSBzY2hhZmZiYXIgaXN0LCBrZWluZSBVbnNjaHVsZGktCmdlbiBnZWZhZWhyZGV0IHVuZCBuaWNodCBhbHMgQ1BVLUJyZW1za2xvdHogd2lya3QuCgpadSBEZWluZW4gVm9yd3VlcmZlbiBkZXIgIkdld2FsdGdlaWxoZWl0OiIKSWNoIGtlbm5lIGtlaW5lbiBNVURkZXIsIGRlciAiZ2V3YWx0Z2VpbCIgaXN0LiBEaWUgbWVpc3RlbiBNVURkZXIgc2luZApyZWNodCBpbnRlbGxpZ2VudCB1bmQgYmVsZXNlbiwgZm9sZ2VuIGRlciBUYWdlc3BvbGl0aWsgdW5kIGhhYmVuIGRhaGVyCmVpbmVuIFdvcnRzY2hhdHosIGluIGRlbSB3b2hsIGF1Y2ggMjAgdmVyc2NoaWVkZW5lIEJlZ3JpZmZlIHVuZApVbXNjaHJlaWJ1bmdlbiBmdWVyICJHZXdhbHRhbndlbmR1bmciIHZvcmtvbW1lbiBtb2VnZW4uCkRpZSBtZWlzdGVuIE1VRGRlciB3ZXJkZW4gRGlyIGFsbGVyZGluZ3MgdmVybXV0bGljaCBhdWNoIGFuIGRpZSAyMCBXb2VydGVyCmZ1ZXIgImtudWRkZWxuIiBsaWVmZXJuIGtvZW5uZW4uIFdpcmZ0IGRhcyBlaW4gYW5kZXJlcyBMaWNodCBhdWYgZGFzIE1VRD8KCkRhcyBNVUQgaXN0IHRlY2huaXNjaCBlaW5mYWNoIG1hbmdlbGhhZnQgYXVzZ2VydWVzdGV0LCB1bSAiR2V3YWx0Z2VpbGhlaXQiCnp1IGZvZXJkZXJuIG9kZXIgaWhyIEJyZW5uc3RvZmYgenUgbGllZmVybi4gRGF6dSBpc3QgRE9PTSB3ZWl0IGdlZWlnbmV0ZXIuCkRlciBncm9lc3N0ZSBUZWlsIGRlciBNVURkZXIgbnV0emVuIGRpZXNlcyBNVUQsIHVtIHp1ICJxdWVzdGVuLCB0YWxrZW4sCmVtb3RlbiwgcHJvZ3JhbW1pZXJlbiIgdW5kIEhhZXVzZXIgenUgYmF1ZW4sIGFiZXIgZGFzIGhlaXNzdCBuaWNodCwgZGFzcwpzaWUgbmljaHQgYXVjaCB6d2lzY2hlbmR1cmNoIGVpbiBwYWFyIE1vbnN0ZXIgcGxhZXR0ZW4va2lsbGVuL3RvZXRlbi8KdW1icmluZ2VuL3plcmxlZ2VuL2VybW9yZGVuL2tsb3BmZW4sIGV2ZW50dWVsbCBhdWNoIGluIEdydXBwZW5hcmJlaXQuCgpXZW5uIER1IGVpbiBNVUQgc3VjaHN0LCBpbiBkZW0gYWJzb2x1dCBfbmljaHRfIGdldG9ldGV0IHdpcmQsIGF1Y2ggTlNDcwpuaWNodCwgZGFubiBtdXNzdCBEdSB3b2hsIHdlaXRlcnN1Y2hlbi4KCiAgIFZpZWwgR2x1ZWNrIGRhYmVpCgogICAgICAgICAgWWVuZGkKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGphamEsIGRpZSBTZWhlci4uLiAoWWVuZGksIDI2LiBKdWwgMTk5NSwgMTQ6MDc6MDIpOgoKClVuZCBlcyBiZWdhYiBzaWNoIGFiZXIgenUgZGVyIFplaXQsIGRhc3MgZWluIFphdWJlcnRyYW5rIGdlZnVuZGVuIHdhcmQKdm9uIFNlaGVyIEFsTXVuZGksIGF1ZiBkYXNzIGVyIHNlaW5lIEF0dHJpYnV0ZSBlcmhvZWhlbiBtb2VnZS4KVW5kIHNvIGZyYWd0ZSBlciBuYWNoLCB3YXMgZXIgenUgdHVuIGhhYmUsIGRlbiBUcmFuayB6dSBvZWZmbmVuLgoKCltBbGxnZW1laW46QWxNdW5kaV0gaWNoIGhhYiBqZXR6dCBoaWVyIHNvIGVpbiB0b2xsZXMgWmF1YmVydHJhbmsgZmxhZXNjaGNoZW4KW0FsbGdlbWVpbjpBbE11bmRpXSB1bmQgYmVrb21tZSBlcyBuaWNodCBhdWYgZGVyIFZlcnNjaGx1c3Mgc2NoZWludCB6dQpbQWxsZ2VtZWluOkFsTXVuZGldIGtsZW1tZW4uCltBbGxnZW1laW46UnluZV0gbWl0IGRlaW5lciB3YWZmZSBvZWZmbmVuCltBbGxnZW1laW46TWlyYWthXSB2ZXJhcnNjaHVuZyA7LSkKW0FsbGdlbWVpbjpBbE11bmRpXSBlaW5nbHVlY2sgZGFzIGljaCBlaW5lIGRhYmVpIGhhYgpbQWxsZ2VtZWluOkFsTXVuZGldIHNhZWJlbCBrYXB1dHQgd2FzIG51biA/Pz8KW0FsbGdlbWVpbjpSeW5lXSBuZXVlIHdhZmZlIGhvbGVuCltBbGxnZW1laW46WWVuZGldIEFsTXVuZGksIGljaCBiaW4gYmVlaW5kcnVja3QuCj4gZmluZ2VyIEFsTXVuZGkKQWxtdW5kaSBpc3QgZWluZ2Vsb2dndCwKdW5kIHp3YXIgdm9uOiBNZXJzZWJ1cmcuClZvbGxlciBOYW1lOiBTZWhlcmxlaW4gQWxNdW5kaSBkZXIga2xlaW5lIEthcmF0ZWthClJhc3NlOiBNZW5zY2gsICAgIEdlc2NobGVjaHQ6IG1hZW5ubGljaCAgIFNwaWVsZXJsZXZlbDogMjMsIFNlaGVyClZlcmhlaXJhdGV0IG1pdDogQnVyZGkKU2VpdCBkZW0gMzAuMTEuJzk0IGJlcmVpdHMgMTkgbWFsIGdlc3RvcmJlbgpQcm9qZWt0OiBEYXMgTW9yZ2VuZ3JhdWVuLU11c2V1bQpbQWxsZ2VtZWluOkFsTXVuZGldIHdpZWRlciBrYXB1dHQKW0FsbGdlbWVpbjpZZW5kaV0gIlZvbGxlciBOYW1lOiBTZWhlcmxlaW4gQWxNdW5kaSBkZXIgYmx1dGlnZSBBbmZhZW5nZXIiCltBbGxnZW1laW46UnluZSBncmluc3RdCltBbGxnZW1laW46WWVuZGldIFdpcmtsaWNoLCBBbE11bmRpLCBpY2ggYmluIHVlYmVyIGRpZSBNYXNzZW4gYmVlaW5kcnVja3QuCj4gW0FsbGdlbWVpbjpSeW5lXSBhbG11bmRpLCBpY2ggZ2xhdWJlIGRpZSBjaGFuY2UgaXN0IDEvMTAgb2RlciBzbywgZGEgbXVzcwptYW4KW0FsbGdlbWVpbjpSeW5lXSBvZWZ0ZXIgcHJvYmllcmVuCltBbGxnZW1laW46QnJ1bW1lbF0gZHUgbXVzc3QgZXMgbWl0IGRlbSBic3MgcHJvYmllcmVuLCBhbG11bmRpCltBbGxnZW1laW46QWxNdW5kaV0gd2llc28gISA0IHdhZmZlbiBrYXB1dHQgdW5kIGRpZSBmbGFzY2hlIGlzdCBpbW1lciBub2NoIHp1CltBbGxnZW1laW46QWxNdW5kaV0gISEhCltBbGxnZW1laW46UnluZV0gZGFubiBtdXNzdGUgaGFsdCB3ZWl0ZXJwcm9iaWVyZW4gIQpbQWxsZ2VtZWluOldhcmxvcmRdICh3M2VubiBkdSBhcm0gZGFiZWkgd2VyZGVuIHdpbGxzdCkKCgpBdWYgZGllc2UgV2Vpc2UgemVybGVndGUgZGVyIFNlaGVyIEFsTXVuZGkgKExldmVsIDIzKSBtaW5kZXN0ZW5zIHZpZXIKU2Nod2VydGVyLCBkYXJ1bnRlciBlaW5lbiBOYWNodHNhZWJlbCB1bmQgZWluIEVpc3NjaHdlcnQuCk5hLCB3YWVyZSBkYXMgbmljaHQgd2FzIGZ1ZXIgZGFzIE1vcmdlbkdyYXVlbi1NdXNldW0sIEhlcnIgU2VoZXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRqYWphLCBkaWUgU2VoZXIuLi4gKFdhcmdvbiwgMjYuIEp1bCAxOTk1LCAxNDowOTozMik6CiMhIHJuPVllbmRpIHJ0PTgwNjc2MDQyMgpJc3QgZG9jaCBrbGFyLi4uIEthcmF0ZWthIGtvZW5uZW4gZG9jaCBtaXQgV2FmZmVuIG5pY2h0IHVtZ2VoZW4hCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoTXVwZmVsLCAyNi4gSnVsIDE5OTUsIDIwOjE2OjAwKToKIyEgcm49RGFuY2VyIHJ0PTgwNjcwNDI5NwpTVVVVUEVSIElkZWUgRGFuY2VyLi4uLiBpY2ggd2FlcmUgZGFiZWkgOi0pCgotbXVwZmVsLQpQLlMuOiBub2NoIHp1IFJ4dGVjaDogZGFzIHdhciBuYXR1ZXJsaWNoIGVpbiBTY2hlcnosIG9kZXIgd2FzIGhhc3QgRHUKZ2VkYWNodD8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoWWVuZGksIDI2LiBKdWwgMTk5NSwgMjA6MjQ6MTApOgojISBybj1EYW5jZXIgcnQ9ODA2NzA0Mjk3CgoKQXUgamEsIHdhcnVtIGVpZ2VudGxpY2ggbmljaHQ/IEZlcm5nZXN0ZXVlcnRlIE5TQ3Mgc2luZCB2ZXJtdXRsaWNoIGRldXRsaWNoCnJlYWxpc3Rpc2NoZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFp1ZXJpbGV1LCAyNi4gSnVsIDE5OTUsIDIzOjIyOjM2KToKIyEgcm49RGFuY2VyIHJ0PTgwNjcwNDI5NwpTYWxpIGRhbmNlciwKTnVuIGRpZSBpZGVlIGRhcyBzbyBlaW4gZmVybmdlc3RldWVydGVyIE5QQyBzY2h3YWNoIHNlaW4gbXVzcyBmaW5kIGljaCBkb29mLAphbHNvIGRpZSBzdGFya2Ugdm9uIGVpbmVtIEdvYmxpbmhleGVyIGlzdCBkYSBzY2hvbiBkcmlubi4gQWJlciBpY2ggZmluZGUgZGllCmlkZWUgc2F1Y29vbCBkYXMgTWFnaWVycyBOUEMncyBzdGV1ZXJuIHVuZCBzdGFlZHRlIGJlc2V0emVuIG9kZXIgc28sIGhpaGkgZGFzCm1hY2h0IGphIGxhbmdzYW0gcmljaHRpZyBTcGFzcyBkYXMgTWFnaWVybGViZW4uCkhleSByZXNlcnZpZXJ0IG1pciBzbyBlaW4gRGFlbW9uIHdlbm4gZGllIG1hbCBwcm9ncmFtbWllcnQgc2luZCA9OikpCgpUc2NodWVzcyBadWVyaWxldSAoQWhoaC4uIEFUQUNLLCBBVEFDSyBBaGhoLi4uIHVuZCBGRVVFUiAqZnJldSopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoUmVpbmVsZGUsIDI3LiBKdWwgMTk5NSwgMDM6MTQ6MzkpOgojISBybj1adWVyaWxldSBydD04MDY3OTM3NTYKbmUgbmUgenVlcmksCgphbHNvIHNvIGxhZWZ0IGRhcyBuaWNodC4gaWNoIGthbm4gbWljaCBub2NoIGFuIGVpbmVuIHNwaWVsZXIgZXJpbm5lcm4sIGRlcgpoaWVyIHJ1bWdlaGV1bHQgaGF0IG1hbiBtb2VnZSBkaWUgYW5mb3JkZXJ1bmdlbiBmdWVyIGRhcyBtYWdnaSB3ZXJkZW4Kc2Vua2VuLCBkYW1pdCBlciBuaWNodCBtZWhyIHF1ZXN0ZW4gbXVzcy4gdW5kIGRlciBzZWxiZSBzcGllbGVyIHdpbGwgbWlyIG51bgptZWluZSBzYXVlciB2ZXJkaWVudGVuIGVwIG1pdCBlaW5lbSBnZXN0ZXVlcmV0ZW4gbnBjIGtsYXVlbj8gZGEgc3RpbW10IHdhcwpuaWNodCEKCnJlaW5lbGRlIC0gc3ByaWNodCB6dWVyaSBkaWUgYmVmYWVoaWd1bmcgenVtIGZ1ZWhyZW4gZWluZXMgc29sY2hlbiBucGMgYWIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByZXBseSBhdWYgcnVicmlrIDE0LCBhcnRpa2VsIDE0MiAnVmFuZGFsaWVyZW5kZSBEYWVtb25lbicgdm9uIFVsbyAoS2V0b3MsIDI3LiBKdWwgMTk5NSwgMDk6MDc6MTQpOgojISBybj1SZWluZWxkZSBydD04MDY4MDc2NzkKQWxzIE1hZ2llciB3dXJkZSBlaW5lbSBkaWUgTGl6ZW56IGlucyBTcGllbCBlaW56dWdyZWlmZW4gZW50em9nZW4uCldlbm4gc29sY2hlIGZlcm5nZXN0ZXVlcnRlbiBEYWVtb25lbiBrb21tZW4sIGRhbm4gbXVlc3NlbiBzaWUgYWJlciBhdWNoCmZ1ZXIgZGllIE1hZ2llciBiZXNjaHJhZW5rdCBzZWluLiBFaW4gTWFnaWVyIG11c3Mgc2ljaCBlcnN0IGFscyB3dWVyZGlnCmVyd2Vpc2VuIGVpbmVuIERhZW1vbmVuIHp1IGZ1ZWhyZW4gdW5kIHdlbm4gZXIgenV2aWVsIEJsb2Vkc2lubiBiYXV0IHdpcmQgaW0KZGllIExpemVueiB3aWVkZXIgZW50em9nZW4uCldpcmQgZWluIERhZW1vbiBlaW5lICJMaXplbnogenVtIFRvZXRlbj8iCgpTY2hsYWdlIG1hbCBmb2xnZW5kZXMgdm9yOiBTbyBlaW4gZGFlbW9uaXNjaGVyIE1hZ2llcnRydXBwIGRhcmYgbnVyIDIgbWFsIHBybwpUYWcKenVzYW1tZW5nZXN0ZWxsdCB3ZXJkZW4uIEVpbiBPYmVyZGFlbW9uIGtvb3JkaW5pZXJ0IGRpZSBBa3Rpb24gdW5kIGlzdAp2ZXJhbnR3b3J0bGljaCBkYXMgZGllIHZlcnd1c3R1bmdlbiBzaWNoIGluIEdyZW56ZW4gaGFsdGVuIG9kZXIgd2llZGVyCmF1ZmdlcmFldW10IHdlcmRlbi4KRGVyIE9iZXJkYWVtb24gdmVydGVpbHQgZGllIExpemVuemVuIGZ1ZXIgZWluZSBBa3Rpb24gdW5kIGt1ZW5kaWd0IGRpZXNlIGF1Y2gKZGVuIEthbmFlbGVuIGFuLgpBbSBBbmZhbmcgbWVsZGV0IGRlciBPYmVyZGFlbW9uIGRpZSBBa3Rpb24gYW46IEFrdGlvbnN6aWVsIE1pdHN0cmVpdGVyLgpBbSBFbmRlIGVpbiAgU2NoYWRlbnNiZXJpY2h0OiA1IFNlaGVyLCAyIEFuZmFlbmdlciAsIDMgTGFlZGVuLCAxIFNjaGlmZiwgZWluZQpHaWRlIGV0Yy4KClZlcmhpbmRlcnQgd2VyZGVuIG11c3MgZGFzIERhZW1vbmVuaG9yZGVuIHdpbGRlciBKdW5nbWFnaWVyIGR1cmNoIGRhcyBNRwp6aWVoZW4KdW5kIEFuZ3N0IHVuZCBTY2hyZWNrZW4gdmVyYnJlaXRlbi4uLgoKLSBLZXRvcyAtID4tKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFJvbmRhLCAyNy4gSnVsIDE5OTUsIDA5OjA5OjE1KToKIyEgcm49S2V0b3MgcnQ9ODA2ODI4ODM0CkdyaW5zOiBtdXNzIG1hbiBkYW5uIG5hY2h3ZWlzZW4sIGRhc3MgbWFuIGJlaW0KRGFlbW9uLVNwaWVsZW4gbmljaHQgYmVzb2ZmZW4gb2RlciBhZWhubGljaGVzICpncmlucyBadWVyaSogaXN0PwpTdGVsbCBtaXJzIG5ldHQgdm9yLCBpbiBlaW4gVGVsbmV0LVRlcm1pbmFsIHp1IHB1c3RlbiAqcm90ZmwqCkljaCBnbGF1YiwgZGFmdWVyIGdpYnRzIG5pY2h0IG1hbCAyIFBlbm5pZXMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJlcGx5IGF1ZiBydWJyaWsgMTQsIGFydGlrZWwgMTQyICdWYW5kYWxpZXJlbmRlIERhZW1vbmVuJyB2b24gVWxvIChSeHRlY2gsIDI3LiBKdWwgMTk5NSwgMTA6NTI6MjUpOgojISBybj1NdXBmZWwgcnQ9ODA2NzgyNTYwCk5hamEsIGhpZXIgbGF1ZmVuIHp1bSBUZWlsIHNvdmllbGUgRGVwcGVuIHJ1bSwgZGFzcyBpY2ggbWlyIGRhIG5pY2h0IGltbWVyCnNpY2hlciBiaW4uCgpHcmluc2VuZCBSeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKEFjcmltb24sIDI3LiBKdWwgMTk5NSwgMTY6NDE6MzcpOgojISBybj1QdW1hIHJ0PTgwNjY3NzM0NgpNYW4gbXVzeiBkaWUgQmVzY2hyZWlidW5nIGRvY2ggbmljaHQgZGF1ZXJoYWZ0IHplcnN0b2VyZW4uCgpJY2ggc2NobGFnIGZvbGdlbmRlcyB2b3I6CkRpZSBEYWVtb25lbiB6ZXJzdG9lcmVuIGF1ZiBpaHJlciBEYWVtb25lbnBhcnR5IGVpbmVpbiBSYXVtIGVpbmVzClNlaGVyaGF1c2VzLgpBbGxlIEdlZ2Vuc3RhZW5kZSwgZGllIGRhcmluIHdhcmVuLCBzaW5kIHdlZyAoYmVpIGRlbiBEYWVtb25lbikuCkRlbiBSYXVtIGthbm4gbmllbWFuZCBtZWhyIGJldHJldGVuLCBhdWNoIG5pY2h0IGRlciBCZXNpdHplci4KV2FyZXMgZGVyIGVpbnppZ2UgUmF1bSwgc28ga2FubiBkYXMgSGF1cyBuaWNodCBtZWhyIGJldHJldGVuIHdlcmRlbi4gKCJEYSBpc3QKbnVyIG5vY2ggZWluIFNjaHV0dGhhdWZlbi4iKQoKClVtIHNlaW5lbiBSYXVtIHdpZWRlciBhdWZ6dWJhdWVuLCBrYW5uIGRlciBCZXNpdHplciBmb2xnZW5kZXMgdHVuOgoxLiBFciBzYW1tZWx0IDIwMDAwIChvZGVyIG1laHIpIE11ZW56ZW4gdW5kIGJyaW5ndCBzaWUgenVyIEJhdS1CYW5rLgpEYXJhdWZoaW4gd2lyZCBkZXIgemVyc3RvZXJ0ZSBSYXVtIGF1dG9tYXRpc2NoIHdpZWRlciBhdWZnZWJhdXQuCjIuIE5hY2ggZWluZW0gTW9uYXQgd2lyZCBkZXIgUmF1bSBhdXRvbWF0aXNjaCB3aWVkZXIgZWluZ2ViYXV0LgoKSWNoIGhvZmZlIGRhcyBpc3QgYmVzc2VyLgoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcmVwbHkgYXVmIHJ1YnJpayAxNCwgYXJ0aWtlbCAxNDIgJ1ZhbmRhbGllcmVuZGUgRGFlbW9uZW4nIHZvbiBVbG8gKFp1ZXJpbGV1LCAyNy4gSnVsIDE5OTUsIDE4OjE0OjE0KToKIyEgcm49UmVpbmVsZGUgcnQ9ODA2ODA3Njc5ClNhbGkgUmVpbmVsZGUsCk9jaCBrb21tIGxhc3MgZGllIFplaXRlbiBkb2NoIHJ1aG4sIGluendpc2NoZW56ZWl0IGlzdCB2aWVsIFdhc3NlciBkZW4gUmhlaW4KcnVudGVyZ2VmbG9zc2VuIHVuZCB2aWVsIFJhdWNoIGR1cmNoIG1laW5lIGx1bmdlIGdlZHJ1bmdlbi4gSWNoIGJpbiByZWlmZXIgdW5kCmVyZmFocmVuZGVyIGdld29yZGVuIHVuZCBkYXp1IGJyYXVjaHQgZG9jaCBlaW4ga2xlaW5lciBNYWdpZXIgd2llIGljaCBhdWNoCm1laW5lbiBTcGFzcywgd2FzIHNvbGwgZGFzIGFsc28/IEljaCB3aWxsIGRvY2ggbnVyIGRlbiB6dXNhbW1lbmhhbHQgZGVyClNwaWVsZXIgZm9lcmRlcm4gdW5kIGRhcyB3YWVyZSBkb2NoIGZ1ZXIgZWluZW4gZ3V0ZW4gWndlY2suIERhenUgd3Vlc3N0ZXN0IGR1CmphIGdhciBuaWNodCBkYXMgZGllc2VyIERhZW1vbiBtZWluZXIgaXN0LiBOZSBSZWluZWxkZSBpY2ggbWVpbmUgbWFuIG11c3MgYXVjaAp2ZXJnZXNzZW4ga29lbm5lbiB1bmQgYWx0ZXMgUnVobiBsYXNzZW4uIE9kZXIgd2lsbHN0IGR1IGluIHp1a3VlbmZ0aWdlbiBRdWVzdAooV2VyIHdlaXNzPykgRXMgYm9la3RpZXJlbiBudXIgd2VpbCBpY2ggYWxzIFNwaWVsZXIgbmljaHQgc28gZ2VybmUgUXVlc3RlPyBJY2gKaGF0dGUgYWxzIFNwaWVsZXIgaGFsdCB3aWUgamVkZXIgU3BpZWxlciBkaWUgbW9lZ2xpY2hrZWl0IGhhdCBkaWUgaW5hdGl2ZQplcmdyaWZmZW4gdW5kICdnZWZyYWd0Pycgb2JzIG5pY2h0IGF1Y2ggb2huZSBRdWVzdGVuIGdlaHQsIGRpZSBhbnR3b3J0IHdhcgpuZWluIHVuZCBpY2ggaGFiZSBtZWluZW4gVGVpbCBkZXIgUXVlc3QgZ2VtYWNodCBkZW5uIGljaCBtdXNzdGUuIEFsc28gbGFzcwpkb2NoIGRlbiBhbHRlbiBTZW5mIHJ1aG4gdW5kIGdlaGUgbmV1ZSBaZWl0ZW4gbWl0IGVpbmVtIG5ldWVuIFp1ZXJpbGV1CmVudGdlZ2VuLgoKVHNjaHVlc3MgWmFwaGFzdGEgWnVlcmlsZXUgKGRlciBTZW5mbWFnaWVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnJldWRlIChHYXJmaWVsZCwgMjguIEp1bCAxOTk1LCAwMDoxMDo0OSk6CgpoYWxsaWhhbGxvIHVuZCB5dXBwaWVkdXV1CgppY2ggc2NocmVpYmUgZWlnZW50bGljaCBudXIsIHdlaWwgaWNoIG1pY2ggc28gdGllcmlzY2ggZnJldWUsIGRhc3MKbWVpbmUgbXBhIHdpZWRlciBmdW5rdC4Kd29jaGVubGFuZyB3YXIgc2llIGthcHV0dCwgZGEgaGF0IG1pY2ggZWluIGdlbmlhbGVyIG1hZ2dpZSBnZXJldHRldCEKREFOSyBTRUkgRElSISEhCgp0amEuCnNvIGthbm5zIGdlaG4uCmluIHp1a3VuZnQgYWxzbyB3aWVkZXIgZHVtbWUgYXJ0aWtlbCB2b24gZ2FyZmllbGQKKmdyaW5zKgoqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWNodHNjaHJlaWJ1bmcgZnVlciBhbGxlISAoQ3JhaWcsIDI4LiBKdWwgMTk5NSwgMTE6MTg6MTcpOgoKSWNoIHdpbGwgamEgbmllbWFuZGVtIHp1IG5haGUgdHJldGVuLCBhYmVyLi4uCldpZSB3YWVyZSBlcyBldHdhIG1pdCBlaW5lciBSZWNodHNjaHJlaWItUHJ1ZWZ1bmcgZnVlciBuZXVlIHVuZCBhbHRlIE1hZ2llcj8KCk5laW4gaW0gRXJuc3QsIGFuIGVpbmVuIFplaXR1bmdzYXJ0aWtlbCBrYW5uIG1hbiBkb2NoIHNpY2hlciBldHdhcyBob2VoZXJlCkFuc3BydWVjaGUgc3RlbGxlbiwgYWxzIGFuIGVpbmUgc2NobmVsbGUgTWl0dGVpbHVuZy4KRGFubiBtYWNodCBkYXMgbGVzZW4gZGVyIE1HLVplaXR1bmcgZG9jaCBnbGVpY2ggZG9wcGVsdCBTcGFzcywgbmljaHQgd2FocgpadWVyaT8KCkNSQUlHIGRlciBaZWl0dW5nc2xlc2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKER1cmlhbiwgMjguIEp1bCAxOTk1LCAxMjowNTowNik6CiMhIHJuPUNyYWlnIHJ0PTgwNjkyMzA5NwpQcmluemlwaWVsbCBtYWdzdCBEdSBSZWNodCBoYWJlbiwgaWNoIG5laG1lIGFiZXIgZGFzIFJlY2h0IGZ1ZXIgbWljaCBpbgpBbnNwcnVjaCBhdWNoIG1hbCBUaXBwZmVobGVyIHp1IG1hY2hlbiwgb2huZSBnbGVpY2ggZGVuIGdhbnplbiBBcnRpa2VsCm5ldSB6dSBzY2hyZWliZW4uIFVuZCBkaWVzZXMgUmVjaHQgZ2VzdGVoZSBpY2ggYXVjaCBhbmRlcmVuIHp1LCB2b3IKYWxsZW0gd2VubiBzaWUgbmljaHQgZGlyZWt0IGF1cyBEZXV0c2NobGFuZCBzdGFtbWVuIHVuZCBkYWhlciB2aWVsbGVpY2h0CmVoZXIgZXR3YXMgU2Nod2llcmlna2VpdGVuIG1pdCBkZXIgU3ByYWNoZSBoYWJlbi4KRGllcyBiaXR0ZSBuYXR1ZXJsaWNoIG5pY2h0IHBlcnNvZW5saWNoIG5laG1lbi4KCk1paGQgZnJhZXVua2xpc2NoZW4gR3JvZXNlaG4KCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmFuZGFsaXNtdXMgKFNjaHJ1bXBmaSwgMjkuIEp1bCAxOTk1LCAwNjo0OTozMCk6CiMhIHJuPVNvY3JhdGUgcnQ9ODA2NzUzMDAwCkljaCBnbGF1YiBEdSBoYXN0IGRhIGVpbiBncm9zc2VzIFByb2JsZW0hIERhcyBoaWVyIGlzdCBlaW4gTVVELCBlaW4Kc29nZW5hbm50ZXMgUm9sbGVuc3BpZWwsIGRhcyBoaWVyIGlzdCBuaWNodCBSTCEgSWNoIGhhYiBoaWVyIGtlaW5lIG1lbnNjaGxpY2hlClZlcm51bmZ0LCBkZW5uIGljaCBoYWJlIGhpZXIgZGllIFJvbGxlIGVpbmVyIGZpZXNlbiwgZ2VtZWluZW4gdW5kIGJvZXNhcnRpZ2VuCkhleGUuIEFscyBTcGllbGVyaW4gd2FyIGljaCBuZSBFbGZlLCBhbHNvIGhhdHRlIGljaCBoaWVyIG5pZSB3YXMgbWl0Cm1lbnNjaGxpY2hlciBWZXJudW5mdCBhbSBIdXQhIFdlbm4gaWNoIGltIE1VRCBhdWYgbWV0emVsbiB1bmQgbW9yZGVuIHVuZCB3YXMKd2Vpc3MgaWNoIG5pY2h0IGFsbGVzIGFiZmFocmUsIGhlaXNzdCBkYXMgbm9jaCBsYW5nZSBuaWNodCwgZGFzcyBpY2ggaW4gUkwgbmUKTWFzc2VubW9lcmRlcmluIGJpbiAob2RlciBkb2NoPyBXZXIgd2Vpc3MsIHdlciB3ZWlzcy4uIDstKSApIHVuZCBqZWRlbSBWaWVoLApkYXNzIG1pciB1ZWJlciBkZW4gV2VnIHJlbm50LCBlaW4gQmx1dHNhdWdlcnNjaHdlcnQgendpc2NoZW4gZGllIFJpcHBlbiBrbGVtbS4KQmVpbSBIYWV1c2VyYmF1ZW4gbXVzc3RlIGphIGF1Y2ggbWV0emVsbiB1bmQgYmVpbSBRdWVzdGVuIGF1Y2gsIGljaCBkZW5rIGRhCm51ciBtYWwgYW4gZGVuIFdvbHBpLCB3aWV2aWVsZSBhcm1lLCBrbGVpbmUgdW5kIHVuc2NodWxkaWdlIFRpZXJjaGVuIGhhc3RlIGRhCmhpbmdlcmljaHRldD8gSG1tPyBBYmdlc2VoZW4gZGF2b24sIHp3aW5ndCBEaWNoIGtlaW5lciBhbSAnVmFuZGFsaXNtdXMnCnRlaWx6dW5laG1lbi4gRXMgd2lyZCBEaXIgbmllbWFuZCB2ZXJiaWV0ZW4sIHdlaXRlcmhpbiBpbiBSdWhlIHp1CnByb2dyYW1pZXJlbiwgenUgdGFsa2VuIHVuZCB3YXMgd2Vpc3MgaWNoIG5pY2h0IGZ1ZXIgZnJpZWRsaWNoZSBTYWNoZW4genUgdHVuIQpLaW5uZXJzIGthcGllcnQgZXMgZG9jaCBlbmRsaWNoOiBEQVMgSElFUiBJU1QgRUlOIFJPTExFTlNQSUVMIQpTY2hydW1wZmkgZ2VodCBqZXR6dCByYXVzIGF1ZiBkaWUgV2llc2UsIHJ1cGZ0IGVpbiBwYWFyIEdhZW5zZWJsdWVtY2hlbiBhdXMKdW5kIGtsYXV0IG5lciBPbWkgZGllIEhhbmR0YXNjaGUgdW5kIGxlZ3Qgc2llIHVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWYW5kYWxpc211cyAoQ3VjaHVsbGluLCAyOS4gSnVsIDE5OTUsIDEwOjUwOjMzKToKIyEgcm49U2NocnVtcGZpIHJ0PTgwNjk5MzM3MAoKU2NocnVtcGZpLCB3ZW5uIER1IGRlbiBHYWVuc2VibHVlbWNoZW4gYXVjaCBudXIgZWluIEJsYXR0IGtydWVtbXN0Li4uLiEKCkN1Y2ggLSBIdWV0ZXIgZGVyIEdhZW5zZWJsdWVtY2hlbiwgZnJhZ3QgZGVuIE11bGFpIE9sb3JuIHRpciBUYWlybmdpcmUhIDstKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmFuZGFsaXNtdXMgKFNvY3JhdGUsIDI5LiBKdWwgMTk5NSwgMTM6MDU6MTMpOgojISBybj1TY2hydW1wZmkgcnQ9ODA2OTkzMzcwCkhhbGxvIFNjaHJ1bXBmaSB1bmQgWWVuZGkhCk1pciBpc3Qgc2VociB3b2hsIGtsYXIsIGRhc3MgZGllcyBoaWVyIGVpbiBSb2xsZW5zcGllbCBiencuIE11ZCBpc3QuIEljaCBoYWJlCmF1Y2ggbmllbWFuZGVtIHVudGVyc3RlbGx0LCBkYXNzIHdlbm4gZXIvc2llIGhpZXIgYWdncmVzc2l2ZSBpc3QsIGRpZXMgYXVjaCBpbgpkZXIgUmVhbGl0YWV0IHNlaS4gQXJtc2VsaWcgaGFiZSBpY2ggZXMgZ2VuYW5udCB1bmQgbmVubmUgZXMgd2VubiBMZXV0ZSBzaWNoCm5pY2h0IG1laHIgYW5kZXJzIHp1IGJlc2NoYWVmdGlnZW4gd2lzc2VuLCBhbHMgbmV1ZSBGb3JtZW4gdm9uIEdld2FsdCB6dQpGb3JkZXJuIG9kZXIgenUgcHJvZ3JhbW1pZXJlbi4gV2llIGdlc2FndCwgd2VubiBzaWUgc2ljaCBuaWNodCBtZWhyIGFuZGVycyB6dQpiZXNjaGFlZnRpZ2VuIHdpc3Nlbi4gRGFzcyBlcyBoaWVyCk1vbnN0ZXIgZ2lidCBkaWUgenUgZXJsZWRpZ2VuIHNpbmQsIGVudHNwcmljaHQgZHVyY2hhdXMgbWVpbmVyIFZvcnN0ZWxsdW5nCnZvbiBlaW5lciBQaGFudGFzaWV3ZWx0LiBXb2dlZ2VuIGljaCBudXIgZWluc3BydWNoIGVyaGViZSBpc3QsIGRhc3Mgc2ljaCBkaWUKTGV1dGUsIGRpZSBzaWNoIG5pY2h0IGFuIGVpbmVtIGFsbGVnZW1laW5lbiBHZW1ldHplbCBpbiBQViBiZXRlaWxpZ2VuIHdvbGxlbiwKZWluZmFjaCBoaW5laW5nZXpvZ2VuIHdlcmRlbiBvZGVyIHNpY2ggdW50ZXJvcmRuZW4gbXVlc3Nlbi4KR3J1c3MKU29jcmF0ZQpQUzogaWNoIGhhYmUgYXVmIGV1cmUgcmVwbGllcyBoaW4sIG5vY2ggbWFsIG1laW5lbiBhcnRpa2VsIGdlbGVzZW4gdW5kCnd1bmRlcmUgbWljaCBlaWdlbnRsaWNoLCB3YXMgaWhyIGRvcnRoZXJhdXMgZ2VsZXNlbiBoYWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJlbmEgKENhcmFkaHJhcywgMzAuIEp1bCAxOTk1LCAxMTowNDozNyk6ClNwcmljaHQgZWlnZW50bGljaCB3YXMgZGFnZWdlbiwgZGllIEFyZW5hIGZ1ZXIgRHVlbGxlIEFiZW50ZXVyZXIgZ2VnZW4KS2FyYXRla2EgYXVmenVtYWNoZW4/IE9kZXIgaXN0IGRhcyBkZXIgc2VsYmUgRWZmZWt0IHdpZSBiZWkKS2FyYXRla2EgLSBLYXJhdGVrYT8KSWNoIHdvbGx0ZSBuYWVtbGljaCBtaXQgU2x5Zm94IGVpbiBEdWVsbCBLYXJhdGVrYSAtIEFiZW50ZXVyZXIKYmVzdHJlaXRlbiwgd2VsY2hlIEdpbGRlIGRpZSBiZXNzZXJlIGlzdC4gOi0pIEdpbmcgYWJlciBsZWlkZXIgbmljaHQuCgogICAgICB1bmQgdHNjaHVlc3MgICAgICAgICBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZhbmRhbGlzbXVzIChTY2hydW1wZmksIDMxLiBKdWwgMTk5NSwgMDA6MTQ6NTUpOgojISBybj1Tb2NyYXRlIHJ0PTgwNzAxNTkxMwpXZXIgTVVTUyBkZW5uIG1pdG1ldHplbG4/IFNvd2VpdCBpY2ggZGFzIG1pdGJla29tbWVuIGhhYmUsIG1ldHplbG4gZWggbnVyIGRpZQpMZXV0ZSBkaWUgc2ljaCBlaW4gU2llZ2VsLCBvZGVyIGFlaG5saWNoZXMsIGhvbGVuLiBEZXIgVm9yc2NobGFnLCBkaWUgR2lsZGUKdm9uIGRlbiBEYWVtb25lbiBmcmVpIHp1IGhhbHRlbiB3dXJkZSBhdWNoIGdlbWFjaHQuIFVuZCBEdSBtdXNzdCBqYSBhdWNoCnNvbGNoZSBTYWNoZW4gZ2FyIG5pY2h0IHByb2dyYW1pZXJlbiBvZGVyIGVpbmVuIERhZW1vbiBzdGV1ZXJuLiBXYXMgd2lsbHN0IER1CmVpZ2VudGxpY2g/IEVpbiBNdWQgd28gYWxsZSBmcm9laGxpY2ggdWViZXIgZGllIEJsdW1lbndpZXNlIGxhdWZlbiB1bmQgc2ljaCBhbgpkZW4gSGFlbmRlbiBoYWx0ZW4gb2RlciB3YXM/IEltIFByaW56aXAga2FubiBpY2ggRGlyLCBvZGVyIGtvZW5uZW4gd2lyLCBkaWUKR2V3YWx0Z2VpbGVuLCBqYSBkaWUgZ2xlaWNoZSBBcnQgdm9uIFVudGVyZHJ1ZWNrdW5nIHZvcndlcmZlbi4gRHUgc2Fnc3QgdW5zLAp3aXIgZHVlcmZlbiBuaWNodHMgcHJvZ3JhbWllcmVuIHdhcyBtaXQgR2V3YWx0IHp1IHR1biBoYXQsIHdpciBtdWVzc2VuIG5hY2gKRGVpbmVuIFZvcnN0ZWxsdW5nZW4gd2FzIG5ldHRlcyBwYXppZmlzdGlzY2hlcyBwcm9ncmFtaWVyZW4gdW5kIGRpZSBTcGllbGVyCmR1ZXJmZW4gbmljaHQgbWVociBtZXR6ZWxuLCBhdXNzZXIgaW4gZGVyIFNTUCwgTW9yb24gb2RlciBzby4gSGV5LCBsYXNzIHVucwp1bnNlcmVuIFNwYXNzLCBrZWluZXIgendpbmd0IERpY2ggbWl0enVtYWNoZW4hClNjaHJ1bXBmaSBrb21tdCBqZXR6dCB3aXJrbGljaCBtaXQgZGVtIFBhbnplciBuYWNoIE1TIChIZXkgSG9ibywgaWNoIGhvbCBEaWNoCmFiIDotKSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXNzdCBldWNoIHNjaG9uIHdpZWRlciB3YXMgbmljaHQgPyAoTW9yZ290aCwgMzEuIEp1bCAxOTk1LCAxMDo1OToyNyk6CmhpLAppY2ggc3RlbGxlIG1pdCBlcnNjaHJlY2tlbiBmZXN0LCBkYXNzIGljaCBpbiBkZXIgZ3J1ZnQgbmljaHQgbWVociBhbHMgMTAKdGFzc2VuIG1lbGlzc2VudGVlIHRyaW5rZW4ga2Fubi4uLndhcnVtIGRhcyA/Cndlbm4gZGFzIHNvd2FzIHdpZSBlaW4gYnVnIHdhciwgZGFubiBtb2VjaHRlIGljaCBhbHMgenVzYXR6IHp1bSAndm9sbCcgc2VpbgphdWNoIHBpbmtlbG4ga29lbm5lbi4uLi51bSBtaWNoIHp1IGVudGxlZXJlbgppY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIG1hbiBhbGxlcyB3YXMgbWFuIHRyaW5rdCB1bmQgaXNzdCBhdXNzY2h3aXR6dCwgb2Rlcj8KbmFqYSwgbWFuIGthbm4ga290emVuLCBhYmVyIGVudGxlZXJ0IGRhcyBhdWNoID8/PwppcmdlbmR3aWUgZmluZCBpY2ggZXMgc2F1YmxvZWQgaW1tZXIgd2llZGVyIHZvciBkZW4ga29wZiBnZXN0b3NzZW4genUgd2VyZGVuLAphbmRhdWVybmQgd2lyZCBoaWVyIGlyZ2VuZHdhcyBnZWthcHB0LCBvZGVyICdlbnRidWdnZWQnLgppY2ggZ2xhdWJlIGVzIHBhc3N0IGV1Y2ggbmljaHQsIHdlbm4gd2lyIGlyZ2VuZHdhcyBoYWJlbiwgd2FzIHByYWt0aXNjaAondW5iZWdyYW56dCcgaXN0CmVzIHdpcmQgd29obCBkYXJhdWYgaGluYXVzbGF1ZmVuLCBkYXNzIGFsbGUgbnVyIGlyZ2VuZHdpZSBydW1pZGxlbiB1bSB3aWVkZXIKbnVlY2h0ZXJuIG9kZXIgdWViZXJoYXVwdCB3YXMgdHJpbmtlbiB6dSBrb2VubmVuLi4uLi4KaG0uLi5qZXR6dCB3ZXJkZSBpY2ggc2ljaGVyIHdpZWRlciB2b24gZWluaWdlbiBtYWdpZXJuIGFuZ2VmbGFtZWQsIGFiZXIgZGFzCmJpbiBpY2ggamEgZ2V3b2hudC4uLgpiaXMgZGVubmUKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmFuZGFsaXNtdXMgKFNvY3JhdGUsIDMxLiBKdWwgMTk5NSwgMTE6MDQ6NDcpOgojISBybj1TY2hydW1wZmkgcnQ9ODA3MTQyNDk1ClNjaHJ1bXBmaSwKa2FubnN0IGR1IG5pY2h0IGxlc2VuLCBvZGVyIGJpc3QgZHUgd2lya2xpY2ggc28gYmxvZWQgd2llIGR1IGluIGRlaW5lbSBsZXR6ZW4KYXJ0aWtlbCB0dXN0PyBEYSBpY2ggZXMgYWxzIG11ZXNzaWcgYW5zZWhlLCBkaXIgbm9jaG1hbCB6dSB2ZXJzdWNoZW4KZGFyenVsZWdlbiB3b3J1bSBlcyBtaXIgZ2VodCwga2FubiBpY2ggZGlyIG51ciBlbXBmZWhsZW4sIHp1IHZlcnN1Y2hlbiBub2NobWFsCm1laW5lIHp3ZWkgQXJ0aWtlbCB6dSBsZXNlbiwgdmllbGxlaWNodCBudWV0enQgZXMgamEgd2FzLiBWaWVsbGVpY2h0IGhhdHRlIGphCkNlbGFuIHJlY2h0LCBkZXIgYXVmIGRpZSBGcmFnZSB3aWUgbWFuIHNlaW5lIEdlZGljaHRlIHZlcnN0ZWhlbiBzb2xsZSwKYW50d29ydGV0ZTogTGVzZW4gU2llLCBMZXNlbiBTaWUsIGRhcyBWZXJzdGFlbmRuaXMga29tbXQgc2Nob24gdm9uIGFsbGVpbi4KT2huZSBHcnVzcwpTb2NyYXRlClBTOiBEZWluZW4gUGFuemVyIGthbm5zdCBkdSBkaXIgYXVjaCBzcGFyZW4sIFNjaHJ1bXBmaSwgaWNoIGtvbW0gZWggbmljaHQgenVyClBhcnR5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhc3N0IGV1Y2ggc2Nob24gd2llZGVyIHdhcyBuaWNodCA/IChIaWdobGFuZGVyLCAzMS4gSnVsIDE5OTUsIDExOjEyOjE1KToKIyEgcm49TW9yZ290aCBydD04MDcxODExNjcKT2huZSBmbGFtZToKSmEsIHdhcyBtZWluc3QgRHUgZGVubiwgd2llIER1IGRlbiBUZWUvQWxrL2V0Yy4gd2llZGVyIGxvcyB3aXJzdD8KRGFzIGdlaHQgbmljaHQgYXVmIEJlZmVobCwgc2NobGllc3NsaWNoIGthbm5zdCBEdQphdWNoIGltIFJMIGhvZWNoc3RlbnMgdmVyc3VjaGVuLCBqZXR6dCBncmFkZQpOSUNIVCB6dSB3b2xsZW4gOj4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3QgZXVjaCBzY2hvbiB3aWVkZXIgd2FzIG5pY2h0ID8gKFJ1bWF0YSwgMzEuIEp1bCAxOTk1LCAxMTo0OTo0Myk6CiMhIHJuPU1vcmdvdGggcnQ9ODA3MTgxMTY3Cj5pY2ggZ2xhdWJlIGVzIHBhc3N0IGV1Y2ggbmljaHQsIHdlbm4gd2lyIGlyZ2VuZHdhcyBoYWJlbiwgd2FzIHByYWt0aXNjaAo+J3VuYmVncmFuenQnIGlzdAoKRGFzIHN0aW1tdCBuaWNodCEgRXMgcGFzc3QgdW5zIGxlZGlnbGljaCBuaWNodCwgZXR3YXMgenUgaGFiZW4sIHdhcwoqdW5iZWdyZW56dCogaXN0LiBVbmQgZGFzIGF1cyBndXRlbSBHcnVuZCEgOi0pCgpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFzc3QgZXVjaCBzY2hvbiB3aWVkZXIgd2FzIG5pY2h0ID8gKEJhYm9vbiwgMzEuIEp1bCAxOTk1LCAxMjowNTowOSk6CiMhIHJuPVJ1bWF0YSBydD04MDcxODQxODMKVW5kIHdhcyB3YWVyZSBkZXIgR3J1bmQsIFJ1bWF0YT8gSGFidCBpaHIgQW5nc3QgdW0gZGllIG1vbnN0ZXI/IDotKQoKQmFib29uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVmFuZGFsaXNtdXMgKFJ5bmUsIDMxLiBKdWwgMTk5NSwgMTc6MTE6MjUpOgojISBybj1Tb2NyYXRlIHJ0PTgwNzE4MTQ4NwpTb2NyYXRlLAoKbmF0dWVybGljaCBrb2VubmVuIHdpciBhbGxlIG5pY2h0IHNvIGd1dCBsZXNlbiB3aWUgRHUsIHVuZCBkZXNoYWxiIERlaW5lCmhvY2hpbnRlbGxla3R1ZWxsZW4gQXJ0aWtlbCBuaWNodCBvaG5lIHdlaXRlcmVzIHZlcnN0ZWhlbi4gVW5kIG5hdHVlcmxpY2ggc2luZAp3aXIgYXVjaCBhbGxlIG51ciBnZXdhbHRnZWlsZSBWYW5kYWxlbiwgZGllIGlociBIZWlsIGluIGRpZXNlbSBNdWQKYXVzc2NobGllc3NsaWNoIGltIFRvZXRlbiB2b24gTlBDcyBmaW5kZW4uICBOdW5qYSwgdW5kIGRpZSBUYXRzYWNoZSwgZGFzcyB3aXIKYWxsZSBudXIgbWV0emVsbiB1bmQgbmljaHQgd2llIER1IG51ciBzY2h3YWV0emVuLCBoYWVuZ3QgamEgLSBlaWZyaWdlCk1hc29jaGlzdGVuLCBkaWUgRGVpbmUgQXJ0aWtlbCBtZWhyIGFscyBlaW5tYWwgbGVzZW4gd2lzc2VuIGRhcyAtIGthdXNhbCBkYW1pdAp6dXNhbW1lbiwgZGFzcyB3aXIgenVtIHNjaHdhZXR6ZW4gbWl0IHVuc2VyZW0gYXVmIDIwIFdvcnRlIHJlZHV6aWVydGVuClNwcmFjaHJlcGVydG9pcmUgZWggbmljaHQgZ2VlaWduZXQgc2luZC4KU28gYWxzbyBiZXVydGVpbHN0IER1IGRpZSBMZXV0ZSBpbiBkaWVzZW0gTVVEIC0genVtaW5kZXN0IGRlbiBHcm9zc3RlaWwsIGRlbm4KamVkZXIgZGVyIHVlYmVyIDEgbWlvIEVQcyBoYXQsIG1ldHplbHQgamEgbmljaHQgbWVociBmdWVyIGRhcwpTZWhlci9NYWdpZXJkYXNlaW4sIHNvbmRlcm4gbnVyIG5vY2ggZnVlciBFUHMsIHVuZCBtdWVzc3RlIGRlbW5hY2ggamEgenUgZGVuCmdld2FsdGdlaWxlbiBJZGlvdGVuIGdlaG9lcmVuLgpOdW5qYSwgd2llIGF1Y2ggaW1tZXIsIGVzIGdpYnQgdGF0c2FlY2hsaWNoIGVpbmVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIGRpZXNlbgonYmVzY2hyYWVua3RlbiBJZGlvdGVuJyB1bmQgRGVpbmVyIEludGVyZXNzZW5ncnVwcGUuIFVuZCBkZXIgYmVzdGVodCBkYXJpbiwKZGFzcyAnd2lyJyAoZGllIGZ1ZXIgZGVuIFVlYmVyZmFsbCBzaW5kKSB3ZW5pZ3N0ZW5zIEtvbXByb21pc3N2b3JzY2hsYWVnZQpnZW1hY2h0IGhhYmVuLCB1bSBhbGxlbiBJbnRlcmVzc2VuIGdlcmVjaHQgenUgd2VyZGVuLiBEZWluZSBIYWx0dW5nIGJlc3RlaHQKamVkb2NoIG51ciBpbSBBYmxlaG5lbiBhbGwgZGVzc2VuLCB3YXMgRElSIG5pY2h0IGdlZmFlbGx0LiBEYXNzIG1hbiBpbiBlaW5lcgpXZWx0IHdpZSBkZW0gTW9yZ2VuR3JhdWVuIGplZG9jaCBkaWUgSW50ZXJlc3NlbiB2aWVsZXIgTGV1dGUgdW50ZXIgZWluZW4gSHV0CmJyaW5nZW4gbXVzcywgd2FzIHp3YW5nc2xhZXVmaWcgS29tcHJvbWlzc2UgZXJmb3JkZXJ0Liwga29lbm50ZXN0IER1IGluIERlaW5lbQpIb2NobXV0IGphIG1hbCB1ZWJlcmxlZ2VuLiBVbmQgZGFubiBuaWNodCBkYXVlcm5kIGFuZGVyZSBhbmZsYW1lbiwgdW5kIElobmVuCnVudGVyc3RlbGxlbiwgc2llIHNlaWVuIHp1IGRvb2YgRGVpbmUgYWNoIHNvIGtsYXNzZSBBcnRpa2VsIHp1IHZlcnN0ZWhlbi4KQmlzaGVyIGhhYmUgaWNoIGluIGRpZXNlciBEaXNrdXNzaW9uIG5hZW1saWNoIG51ciBlaW5lbiB2ZXJib2hydGVuIEtsZWluZ2Vpc3QKZW50ZGVja2VuIGtvZW5uZW4sIGRlciBzaWNoIGR1cmNoIHNlaW5lIHN0YXJya29lcGZpZ2UgSGFsdHVuZyB6dW0gVGhlbWEKZ2VvdXRldCBoYXQuIFNjaGF1IG1hbCBpbiBkZW4gU3BpZWdlbC4KClJ5bmUsIGF1Y2ggb2huZSBHcnVzcywgaXN0IEdld2FsdGdlaWwsIHp1IGR1bW0genVtIExlc2VuIHVuZCBrYW5uIHNpY2gKbmljaHRtYWwgYWxsZSAyMCBXb2VydGVyIHp1bSBUaGVtYSB0b2V0ZW4gbWVya2VuLiBBYmVyIGhhdCBTcGFzcyBkYXJzbiB1bmQgaXN0CmdsdWVja2xpY2ggZGFiZWkuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXm4gVmFuZGFsaXNtdXMgKEVkLCAzMS4gSnVsIDE5OTUsIDE4OjMwOjE0KToKVW0gZGllIHVlYmVybWFlc3NpZ2UgQnJ1dGFsaXRhZXQgaW0gTW9yZ2VuZ3JhdWVuIHp1IGJlc2VpdGlnZW4gaGFldHRlIGljaApmb2xnZW5kZW4gVm9yc2NobGFnOgoKMS4gRGllIEJlZmVobGUgdG9ldGUsIHBmZWlsLCBmZXVlcmJhbGwgYWJzY2hhZmZlbiEKCjIuIHNhZW10bGljaGUgbnBjcyBzaW5kIG51ciBtZWhyIHp1bSBzdHJlaWNoZWxuLCBrbnVkZGVsbiB1bmQgZmVsbHZlcnd1c2NoZWxuCiAgIGRhLiBEaWUgc2NobnVycmVuIGRhbm4genVmcmllZGVuIHVuZCB3ZWRlbG4gbWl0IGlocmVtIFNjaHdhbnogKGZhbGxzCiAgIHZvcmhhbmRlbikuCgozLiBTcGllbGVyIGhvZWhlcmVuIExldmVscyBlcmxlcm5lbiBzdGF0dCBwZmVpbCB1bmQgZmV1ZXJiYWxsIGZvbGdlbmRlCiAgIFNwZWxsczoKICAgLSBTdG9lY2tjaGVuIHdlcmZlbjogRGllIE1vbnN0ZXIgYXBwb3J0aWVyZW4gZGllc2VzIGRhbm4uCiAgIC0gUGZvZXRjaGVuIGdlYmVuOiBKZSBiZXNzZXIgbWFuIGRpZXNlbiBTcGVsbCBnZWxlcm50IGhhdCwgZGVzdG8gb2VmdGVyCiAgICAga2xhcHB0IGRhcyBkYW5uIGF1Y2ggbWl0IGRlbSBNb25zdGVyLgoKNC4gQWxsZSBoZWlsaWdlbiBaZWl0ZW4ga29tbXQgZGllIEh5ZHJhIGlucyBMdXBpbmVudGFsLCBwYWNrdCBpaHJlIEdpdGFycmUKICAgYXVzIHVuZCBzaW5ndCBtaXQgaWhyZW4gS29lcGZlbiBhbHRlIEhpcHBpZWxpZWRlci4KCk1yLiBFZCwgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWYW5kYWxpc211cyAoQXNtb2RpcywgMzEuIEp1bCAxOTk1LCAyMDowODozMyk6CiMhIHJuPVJ5bmUgcnQ9ODA3MjAzNDg1CkR1IGhhdHRlc3QgYWJlciBtZWhyIGFscyAyMCB2ZXJzY2hpZWRlbmUgV29lcnRlciBpbgpkZWluZW0gQXJ0aWtlbCBzdGVoZW4sIHNpbXVsaWVyc3QgZHUgbnVyID8/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWYW5kYWxpc211cyAoWWVuZGksIDMxLiBKdWwgMTk5NSwgMjA6MTE6MzYpOgojISBybj1SeW5lIHJ0PTgwNzIwMzQ4NQoKSGV5LCBoZXksIGhleS4uLiBpbW1lciBsYW5nc2FtLi4uCgpTb2NyYXRlcyB6d2VpdGVtIEFydGlrZWwgbWVpbmUgaWNoIGVudG5vbW1lbiBoYWJlbiB6dSBrb2VubmVuLCBkYXNzIGVyIHNpY2gKbmljaHQgZ2VnZW4gZGFzIE1vbnN0ZXJwbGFldHRlbiBwZXIgc2Ugc3RlbGx0LCBzb25kZXJuIHNpY2ggZGFnZWdlbiB3ZWhydCwKdm9uIGVpbmVtIG5pY2h0IG5hZWhlciBkZWZpbmllcnRlbiBQcm9ncmFtbWllcmVyLCBkZXIgc2ljaCBuaWNodCBtZWhyIGFuZGVycwp6dSBiZXNjaGFlZnRpZ2VuIHdlaXNzLCBhbHMgbmV1ZSBGb3JtZW4gdm9uIEdld2FsdCB6dSBwcm9ncmFtbWllcmVuLCBkYXp1Cmdlend1bmdlbiB6dSB3ZXJkZW4sIGFuIGVpbmVyIE1hc3NlbmtlaWxlcmVpIGluIFBvcnQgVmFpbiB0ZWlsenVuZWhtZW4uCgpXYXIgZXMgZGFzIHVuZ2VmYWVocj8gICBGZWluLgoKTnVuLCBpY2ggZGVua2UsIGtlaW5lciBkZXIgTWFnaWVyLCBkaWUgdm9uIGRlbiBHb2V0dGVybiB6dSBpbW1lciBuZXVlbgpIb2VjaHN0bGVpc3R1bmdlbiBpbSBwZXJtYW5lbnRlbiBXZXR0YmV3ZXJiICJVbnNlciBNVUQgc29sbCBzY2hvZW5lciB3ZXJkZW4iCmdldHJpZWJlbiB3aXJkLCBoYXQgTGFuZ2V3ZWlsZS4gV2lya2xpY2ggbmljaHQuIEZyYWcgc2llLgpJY2ggYmluIGF1Y2ggc2ljaGVyLCBkYXNzIGplZGVyIHZvbiBpaG5lbiBEaXIgcHJvYmxlbWxvcyBub2NoIGVpbiBoYWxiZXMKRHV0emVuZCBEaW5nZSBuZW5uZW4ga2FubiwgZGllIGVyIGdhbnogZ2VybmUgdHVuIHd1ZXJkZSwgdW5kIGRpZSBtaXQgR2V3YWx0IGluCmFsdGVyIG9kZXIgbmV1ZXIgRm9ybSBuaWNodHMgenUgdHVuIGhhYmVuLiBXaXJrbGljaC4gRnJhZyBzaWUuCkVzIGlzdCBhYmVyIG51biBlaW5tYWwgc28sIGRhc3MgZGllc2UgSWRlZSBtaXQgZGVyIE1hc3NlbmtlaWxlcmVpIHNjaG9uIHNlaXQKZWluaWdlbiBKYWhyZW4gaW4gZGVuIEtvZXBmZW4gZGl2ZXJzZXIgU3BpZWxlciwgTWFnaWVyIHVuZCBHb2V0dGVyIGhlcnVtc3B1a3QuCkVzIHdhciB1bmQgaXN0IG5pY2h0cyB3ZWl0ZXIgYWxzIGVpbmUgbG9naXNjaGUgV2VpdGVyZnVlaHJ1bmcgZGVzIFNwaWVscywgYmVpCmRlciwgYWVobmxpY2ggd2llIGJlaSBUaXRpd3UsIFp3YWNrZWxtYW5uLCBFcmVtaXQgKGdpYmJldCBqYSBuaWNoIG1laHIuLi4pLApNYWVyY2hlbnF1ZXN0LCBNb3JpYSB1c3cuIHVzZi4gYS4gaS4sIEVsZW1lbnRlIGF1cyBkaXZlcnNlbiBCdWVjaGVybiBvZGVyCkZpbG1lbiBhdWZnZWdyaWZmZW4gd2VyZGVuLiBTaWVoIGVzIGVpbmZhY2ggYWxzIGRlbiBTdGFuZGFyZC1JbmRpYW5lci0KdWViZXJmYWxsIGF1ZiBkYXMgZnJpZWRsaWNoZSBXaWxkd2VzdHN0YWVkdGNoZW4sIGhtbT8KClNvdmllbCB6dW0gVGhlbWEgIkRpZSBoYWJlbiBudXIgS2xvcHBlbiBpbSBLb3BwIi4KCkRlcyB3ZWl0ZXJlbiB3aWxsc3QgRHUgbmljaHQgaW4gZWluZW4gc2ljaCBpbiBQb3J0IFZhaW4gZW50d2lja2VsbmRlbiBLYW1wZgppbnZvbHZpZXJ0IHdlcmRlbi4gVmVyc3RhZW5kbGljaC4KTnVuIGlzdCBlcyBhYmVyIHNvLCBkYXNzIHNjaG9uIHJlY2h0IGZydWVoIFZvcnNjaGxhZWdlIGF1ZmthbWVuLCBkaWUKZGFoaW5naW5nZW4sIGRhc3MgR2Flc3RlIHVuZCBTY2h3YWVjaGxpbmdlIGF1dG9tYXRpc2NoIHVuZCBGZWlnbGluZ2Ugb2RlcgpWaWVsYmVzY2hhZWZ0aWd0ZSBhdWYgV3Vuc2NoIHZlcnNjaG9udCB3ZXJkZW4gc29sbHRlbi4KRmVybmVyIHNvbGwgZGllIEdpbGRlIGJlaSBkaWVzZW0gVWViZXJmYWxsIEhlaWxpZ2VyIEdydW5kIHNlaW4sIHVuZCwgd2VubiBtYW4KbWljaCBmcmFndCwgZGllIEthcGVsbGUgdW5kIGRpZSBQb3N0IGViZW5mYWxscy4KRHUgc2llaHN0IGFsc28sIGRhc3MgRHUgbmljaHQgbnVyIG5pY2h0IGluIGVpbmVuIEthbXBmIHZlcndpY2tlbHQgd2VyZGVuCnNvbGxzdCwgc29uZGVybiBhdWNoIG5vY2ggc28gd2VpdCB3aWUgbW9lZ2xpY2ggdm9yIFN0b2VydW5nZW4gZ2VzY2h1ZXR6dC4KRmFsbHMgRHUgRGljaCBpbiBkZXIgR2lsZGUgYXVmaGFlbHRzdCwgd2FlcmVuZCBkcmF1c3NlbiBkaWUgT3JrYXJtZWUgdG9idCwKd2lyc3QgRHUgYXVzc2VyIGVpbmVyIEZsdXQgdm9uIE1lbGR1bmdlbiBhdWYgIkFsbGdlbWVpbmVzIiB1bmQgdmVybXV0bGljaAplaW5lbSBoZWt0aXNjaGVuIFJlaW4tdW5kLVJhdXNnZXJlbm5lIG5pY2h0cyBkYXZvbiBtaXRrcmllZ2VuLgpOaWNodCBzY2hsZWNodCwgd2FzPwooQmVzb25kZXJzLCB3ZW5uIG1hbiBkaWUgbm9ybWFsZSB1bmQgYWxsdGFlZ2xpY2hlIEZsdXQgdm9uIE1lbGR1bmdlbiBhdWYKIkFsbGdlbWVpbmVzIiB1bmQgZGFzIGhla3Rpc2NoZSBSZWluLXVuZC1SYXVzZ2VyZW5uZSBiZWRlbmt0Li4uKQoKU292aWVsIHp1bSBUaGVtYSAiSW4gZWluIGFsbGdlbWVpbmVzIEdlbWV0emVsIGhpbmVpbmdlem9nZW4gd2VyZGVuIi4KCgpJY2ggaGFsdGUgRGVpbmUgQmVmdWVyY2h0dW5nZW4gZnVlciB1bmJlZ3J1ZW5kZXQuCldpcmtsaWNoLgoKCiAgICAgIFlUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZhbmRhbGlzbXVzIChZZW5kaSwgMzEuIEp1bCAxOTk1LCAyMDoxMzoyMyk6CiMhIHJuPVJ5bmUgcnQ9ODA3MjAzNDg1CgpBY2ggc28sIG5vY2ggd2FzOgoKUnluZSwgZGVuIFN0aWwgRGVpbmVzIEFydGlrZWxzIG1pc3NiaWxsaWdlIGljaC4KKFBlbmcsIGpldHp0IGhhYiBpY2ggZXMgRGlyIGFiZXIgZ2VnZWJlbi4uLikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVkaXVtIEluZm9ybWF0aWssIE5lYmVuZmFjaCBQc3ljaG9sb2dpZT8gKFN3YW50amUsIDMxLiBKdWwgMTk5NSwgMjE6MDk6NTEpOgpIdWh1CgplcyBzb2xsIGluIERldXRzY2hsYW5kIDMtNyBVbml2ZXJzaXRhZXRlbiBnZWJlbiwgaW4gZGVuZW4gbWFuIEluZm9ybWF0aWsKbWl0IE5lYmVuZmFjaCBQc3ljaG9sb2dpZSBzdHVkaWVyZW4ga2Fubi4gRnVlciBhbGxlIEhpbndlaXNlCnZpYSBNdWRtYWlsIGJpbiBpY2ggc2VociBzZWhyIERhbmtiYXIhCgpTd2FudGplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVebiBWYW5kYWxpc211cyAoQmFyb24sIDMxLiBKdWwgMTk5NSwgMjI6NTg6MjApOgojISBybj1FZCBydD04MDcyMDgyMTQKSmFhYWEhIEVibmRsaWNoIG1hbCBlaW4gcGFhciBndXRlIFZvcnNjaGxhZWdlIDopLiBJY2ggZmluZGUgYXVjaCwgZGFzcyBkaWUKSHlkcmEgJ1dlIHNoYWxsIG92ZXJjb21lJyBzaW5nZW4gc29sbHRlIHdhZWhyZW5kIHNpZSBTcGllbGVyIGtpbGx0ISEgKmtpY2hlcioKQmFyb24gLSBpc3Qgdm9yIGFsbGVtIGZ1ZXIgUHVua3QgNCBhdXMgRWQncyBMaXN0ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGljaCAoQ2VsZWJkaWwsICAxLiBBdWcgMTk5NSwgMDA6MDM6MzUpOgpGdWVyIGRpZSwgZGllIG5pY2h0IGdsYXViZW4gd29sbGVuIGRhc3MgVm9yc2ljaHQgMTEwIGdhciBuaWNodCBzb29vCnNjaGxlY2h0IGlzdCBiZWltIExpY2g6Cgo+ICAgRHUgZ3JlaWZzdCBkZW4gTGljaCBtaXQgYmxvc3NlbiBIYWVuZGVuIGFuLgogIER1IGtyYXR6dCBkZW4gTGljaC4KICBEZXIgTGljaCBncmVpZnQgRGljaCBtaXQga25vY2hpZ2VuIEhhZW5kZW4gYW4uCiAgRGVyIExpY2ggdHJpZmZ0IERpY2ggc2VociBoYXJ0LgpEdSBoYXN0IGpldHp0IDE1MiBMZWJlbnNwdW5rdGUgdW5kIDExIE1hZ2llcHVua3RlLgpEZXIgTGljaCBmbHVjaHQgZnVlcmNodGVybGljaCB1bmQgRHUgc3B1ZXJzdCBlaW5lbiBTY2hsYWcgaW4gZGVyIE1hZ2VuZ2VnZW5kLgpEdSBoYXN0IGpldHp0IDQ5IExlYmVuc3B1bmt0ZSB1bmQgMTEgTWFnaWVwdW5rdGUuCkRlciBCdW1lcmFuZyB0cmlmZnQgZGVuIExpY2ggc2VociBoYXJ0IGFtIEtvcGYuCkRlciBCdW1lcmFuZyByYXNpZXJ0IGRlbSBMaWNoIGVpbiBIYWFyYnVlc2NoZWwgYWIuCkR1IGZhZW5nc3QgZGVuIEJ1bWVyYW5nIGdlc2NoaWNrdC4KCgoxMDMgTFAgbnVyIGRlciBTcGVsbCA6LSkgQWxzbyB3YWVyZSAxMTAgZXZ0bC4gc29nYXIgenUgd2VuaWcgZ2V3ZXNlbi4KCiAgICAgICAgIHRzY2hvZSAgICAgICAgICBDZWxlYmRpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpY2ggKEd1eWJydXNoLCAgMS4gQXVnIDE5OTUsIDA4OjA3OjQ2KToKIyEgcm49Q2VsZWJkaWwgcnQ9ODA3MjI4MjE1Ck1laW4gU2VuZiBzYXp1IGZ1ZXIgTGV1dGUsIGRpZSBtaXQgMSZpZ2VyIFdhaHJzY2hlaW5saWNoa2VpdCB2b20gRnJvc3R3dXJtCihvZGVyIHdpZSBkZXIgZ2xlaWNoIG5vY2ggaGVpc3N0KSBhbmdlZ3JpZmZlbiB3ZXJkZW46Ck1hbCBtaW5kZXN0ZW5zIFZvcnNpY2h0IDE3MCwgZGVubiBtaXIgaGF0IGRlciBuaWVkbGljaGUgS2VybCAxNjZMUCBhYmdlem9nZW4uCgpQLlMuOiBWb3JzaWNodCAxMTAgYmVpbSBMaWNoIGthbm4gaW1tZXIgbm9jaCBpbnMgQXVnZSBnZWhlbiwgaWNoIGJpbiBtYWwgbWl0CjE0NkxQIHJlaW4gdW5kIHdhY2h0ZSBiZWkgTGFycyB3aWVkZXIgYXVmIDopCgpHdXlicnVzaCwga2VubnQgZmFzdCBhbGxlIEFydGVuIGRlcyBTdGVyYmVucyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlXm4gVmFuZGFsaXNtdXMgKFJvbmRhLCAgMS4gQXVnIDE5OTUsIDEwOjM0OjI3KToKIyEgcm49RWQgcnQ9ODA3MjA4MjE0CkphdSwgRWQsIGRhcyBwcm9ncmFtbWllciBpY2ggRElyIDopCkljaCBzdGVsbCBtaXIgbnVyIGdyYWRlIGRpZSBSZWFrdGlvbiB2b3I6IG1hbiBsYWJlcnQgc28gc2Nob2VuIGluCmRlciBHaWxkZSwgZGllIEh5ZHJhIGtvbW10IHJlaW4sIHp1ZWNrdCBkaWUgR2l0YXJyZSB1bmQgc2luZ3Qgd2FzCnVlYmVyIGRpZSB3dW5kZXJzY2hvZW5lIEJlemllaHVuZyB6d2lzY2hlbiBDYXJhIHVuZCBkZW0gU2Vuc2kuLi4KKGFiZXIgZGVyIElnZWwgaXN0IGltbWVyIGFiIEJlc3RlbiBkcmFuIC4uLikKR3JpbnNlbmQsCiAgICAgICAgICAgICAgICAgIFJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJlbmEgKER1cmlhbiwgIDEuIEF1ZyAxOTk1LCAxMjo1MTowMCk6CiMhIHJuPUNhcmFkaHJhcyBydD04MDcwOTUwNzcKSGFsbG8gTGV1dGUhCgpEaWUgQXJlbmEgd2FyIGdydW5kc2FldHpsaWNoIGZ1ZXIgRHVlbGxlIG1pdCBLYXJhdGVrYSBnZXNwZXJydCwgd2VpbApkaWUgS2FyYXRla2EgamEgZWluZmFjaCBtaXQgZWluZW0gTmljaHQtS2FyYXRla2EtWndlaXRpZSBoYWV0dGVuIHVlYmVuCmtvZW5uZW4uCkluendpc2NoZW4gaXN0IHZpZWwgV2Fzc2VyIERlbiBOYWJsYSBoaW5hYiBnZWZsb3NzZW4gdW5kIGljaCBkZW5rZSwgaWNoCndlcmRlIGRpZSBCZXNjaHJhZW5rdW5nIGVpbiB3ZW5pZyBsb2NrZXJuLiBBYiBzb2ZvcnQgc2luZCBEdWVsbGUKendpc2NoZW4gS2FyYXRla2EgdW5kIE5pY2h0a2FyYXRla2Egd2llZGVyIG1vZWdsaWNoLCB6d2lzY2hlbiBLYXJhdGVrYQp1bnRlcmVpbmFuZGVyIHNpbmQgc2llIGJpcyBhdWYgV2VpdGVyZXMgbmljaHQgbW9lZ2xpY2guCkljaCBtb2VjaHRlIGFsbGUgYml0dGVuLCBkaWVzIG51biBuaWNodCBhbHMgQW5sYXNzIHp1IG5laG1lbiwgd2llZGVyIGRpZQpBcmVuYSB6dW0gdWViZW4genUgYmxvY2tpZXJlbiAodm9yIGFsbGVtLCB3ZWlsIGRpZXMgdWViZXJoYXVwdCBuaWNodAptZWhyIG5vZXRpZyBpc3QpLiBTb2xsdGUgZXMgZGVubm9jaCB6dSB1bmVyd3VlbnNjaHRlbiBCbG9ja2FkZW4gdm9uCkthcmF0ZWthIGtvbW1lbiwgc28gYml0dGUgaWNoIGF1Zm1lcmtzYW1lIFNwaWVsZXIgbWlyIGRpZXMgbWl0enV0ZWlsZW4hCgpTbywgaG9mZmVudGxpY2ggaXN0IGRpZSBBcmVuYSBqZXR6dCB3aWVkZXIgZGFzLCB3YXMgc2llIHdhcjogZWluIE9ydAp6dW0gS3JhZWZ0ZW1lc3NlbiBtaXQgUHVibGlrdW0hCgppbSBOYW1lbiBkZXIgTUdBQkcKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBWYW5kYWxpc211cyAoUnluZSwgIDEuIEF1ZyAxOTk1LCAxMzoyNDoxNik6CiMhIHJuPVNvY3JhdGUgcnQ9ODA3MTgxNDg3CkhpIQoKQWxzbywgYXVjaCB3ZW5ucyBZZW5kaSBuaWNodCBnZWZhZWxsdCwgZWluZW4ga2FubiBpY2ggbWlyIGRvY2ggbmljaHQKdmVya25laWZlbjogU29jcmF0ZSBzY2hyZWlidCwgZGEgd2lyIHNlaW5lIEFydGlrZWwgbmljaHQgdmVyc3RlaGVuOgoKIlZpZWxsZWljaHQgaGF0dGUgamEgQ2VsYW4gcmVjaHQsIGRlciBhdWYgZGllIEZyYWdlIHdpZSBtYW4gc2VpbmUgR2VkaWNodGUKdmVyc3RlaGVuIHNvbGxlLCBhbnR3b3J0ZXRlOiBMZXNlbiBTaWUsIExlc2VuIFNpZSwgZGFzIFZlcnN0YWVuZG5pcyBrb21tdApzY2hvbiB2b24gYWxsZWluLiIKCk51biwgYWxzIHVuZ2ViaWxkZXRlciBLYW1wZnp3ZXJnIG11c3N0ZSBpY2ggbmF0dWVybGljaCBpbSBMZXhpa29uCm5hY2hzY2hsYWdlbiwgdW5kIHdhcyBsZXNlIGljaCBkYSA/CiJDZWxhbiwgUGF1bCwgKC4uLikgSW4gc2VpbmVyIEx5cmlrIHdpcmQgZGFzIEVpbnplbGdlZGljaHQgaW1tZXIgbWVociB6dQplaW5lbSBHZWZsZWNodCB2b24gQ2hpZmZyZW4uIENlbGFuIG5laWd0ZSBzZWl0ID5TcHJhY2hnZWZsZWNodDwgKDE5NTkpIHp1CmxvZ2lzY2ggbmljaHQgZXJmYXNzYmFyZXIgQXVzc2FnZSwgbWl0dW50ZXIgaW0gVmVyc3R1bW1lbiBhYmJyZWNoZW5kLiIKTkFKQS4KQWxzbywgd2VubiBEdSwgU29jcmF0ZSwgc29sY2hlIEhvY2hnZWlzdGVyIHppdGllcnN0LCBpc3QgbWlyIGtsYXIsIHdpZXNvIGljaApEZWluZSBBcnRpa2VsIG5pY2h0IHZlcnN0ZWhlbiBrb25udGUuCkljaCBoYWx0ZSBlcyBmdWVyIGFuZ2VtZXNzZW5lciwgZGVuIFNjaHdlaXplciBQcm9waGV0ZW4gVHN1ZXJpLUxvaSB6dQp6aXRpZXJlbiwgZGVyIHNjaG9uIHZvciBsYW5nZXIgbGFuZ2VyIFplaXQgc2FndGU6Cgo+IEVpbiByaXNzaWdlcyBVaG50aWVyIGtvbXQgYW4uIDwKV29sbHRlIGVyIGRhbWl0IHZvciBkZW0gVWViZXJmYWxsIGF1ZiBQb3J0IFZhaW4gd2FybmVuID8KCgpGcmFnZW4gdWViZXIgRnJhZ2VuIHN0ZWxsdCBzaWNoCgpSeW5lCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZhbmRhbGlzbXVzIChPZXR0aSwgIDEuIEF1ZyAxOTk1LCAxNDoyOTowNCk6CiMhIHJuPVJ5bmUgcnQ9ODA3Mjc2MjU2ClBlYWNlIEV5ICEKQWxzbyBpY2ggZmluZCBkYXMgZWNodCB0b3RhbCBzb3ppb2Vtb3Rpb25hbGFudGlzdGltdWxpZXJlbmQsIHdlbm4gZGEgZWluZXIgc28KaGluZ2VodCB1bmQgd2Vocmxvc2UKTW9uc3RlciBrbGVpbmhhdXQsIG5lLgpBbHNvIGVjaHQgaXJnZW5kd2llIGtvbW10IGRhcyB0b3RlbCBkZW1vdGl2aWVyZW5kIHVuZCBtZWluZW4gQmlvLUZlZWRwYWNrCnRvdGFsIGRvd25wdXNoZW5kLCBhbHNvIHdlbm4gaWhyCnZlcnN0aGVoIHdhcyBpY2ggbWVpbmUsIGlociBQc2V1ZG9pbnRlbGxla3R1ZWxsZW4gU2NoZWlzc2VyICEKVW5kIG5lbiBSZWNodHNjaHJlaWJwcnVlZmVyIGhhYiBpY2ggYXVjaCBuaWNodCwgc28gZWluIE11ZWxsIGlociBtdWVzc3QgbWVpbmUKVHlwb3MgbWl0bGVzZW4sIHR1dCBtaXIgZWNodCBMZWlkLgpXaXIgc2luZCBhbGxlIER1bW0gdW5kIHdvbGxlbiBUb2V0ZW4sIG5ldHRlcyBGYXppdCwga2FubiBpY2ggbWljaCBtaXQKaWRlbnRpZml6aWVyZW4KQWJlciBlaW5lIFdlIHNoYWxsIG92ZXJjb21lLCBEdXN0IGluIHRoZSB3aW5kLCBIb3cgbWFueXkgcm9hZHMsIHRoZQp1bml2ZXJzaWFsIHNvbGRpZXIsIE9oIExvcmQsIHdoeSBkb24nVCB1IGJ1eSBtZSwgYSBtZXJjZWRlcyBiZW56IHNpbmdlbmRlCkh5ZHJhLCBqYSBkYXMgd2FlcnMgbWl0IGxhbmdlbiBIYWFyZW4sIGtpZmZlbmQgdW5kIG5lbSBQRWFjZSBzaWduIHVtIGRlbiBIYWxzCnVuZCBCbHVtZW4KaW0gSGFhci4uLgpKYSBtYWNoZW4gd2lyIGVpbiBnZXdhbHRmcmVpZXMgZGlkZGxrbnVkZGxkb2VkbG11ZCBhdXMgTUcKCkljaCBsaWViZSBldWNoIGFsbGUgIQoKT2V0dGkgKFBlYWNlICYgTG92ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJlbmEgKENhcmFkaHJhcywgIDIuIEF1ZyAxOTk1LCAwMToxNToyMyk6CiMhIHJuPUR1cmlhbiBydD04MDcyNzQyNjAKVmllbGVuIERhbmssIER1cmlhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhZW1vbmVuIC0gRmluZCBpY2ggZ3V0ICEgKE1vbm90b25pLCAgMi4gQXVnIDE5OTUsIDEyOjE4OjQ3KToKCkhpIExldXRjaGVuICEKCkFsc28sIGJpcyBqZXR6dCBoYWIgaWNoIG1pY2ggZGllIGdhbnplbiBUYWdlIHp1cnVlY2tnZWhhbHRlbiwgd2VpbCBpY2ggZXJzdAptYWwgc2VoZW4gd29sbHRlLCB3aWUgc2ljaCBkYXMgbWl0IGRlbiBEYWVtb25lbiBzbyBlbnR3aWNrZWx0Li4uCkRpZSBsZXR6dGUgRW50d2lja2x1bmcgaXN0IGphIHdvaGwgZGllIGtpZmZlbmRlIEh5ZHJhIC0gTmEgamEgISA6LSkKRGllIElkZWUgdm9uIERhZW1vbmVuLUhvcmRlbi1BbmdyaWZmZW4gZmluZCBpY2ggYWJzb2x1dCBrbGFzc2UgIQpJY2ggc3RlbGwgbWlyIGRhYmVpIHZvciwgd2llIGRpZSBMZXV0ZSBnZXJhZGUgZGFiZWkgc2luZCBkaWUgQmV0dGxlcgp6dSBhZXJnZXJuIHVuZCBhdWYgZWlubWFsIHZvbiBlaW5lciBIb3JkZSB1ZWJlcnJhbm50IHdlcmRlbi4uLgpPZGVyIGJlaSBlaW5lciBIb2NoemVpdCB6dW0gMjcubWFsIGRlciBQcmllc3RlciBnZWtpbGx0IHdpcmQgdW5kIGRhbm4KZGllIEhvY2h6ZWl0c2dlc2VsbHNjaGFmdCBlaW4gYmlzY2hlbiBhdWZnZW1pc2NodCB3aXJkICEKClp1bSBUaGVtYSBadXNhbW1lbmhhbHQgaW0gTVVEIDoKV2VubiBlcnN0IG1hbCBkaWUgZXJzdGVuIFJ1ZmUgZHVyY2hzIE1VRCBnZWhlbiA6ICdEYWVtb25lbnVlYmVyZmFsbCBpbiBQViAhIScKb2RlciAnSWNoIGhhZW5nIGltIExhZGVuIGZlc3QgISEnIHdpcmQgc2ljaCBnYW56IHNjaG5lbGwgZWluZSAnR2VnZW4tCmhvcmRlJyB6dXNhbW1lbnJhZmZlbiwgZGllIG1pdCBkZW4gRGFlbW9uZW4gYXVmcmFldW10Li4uCgpEYWVtb25lbmZyZWllIFJhZXVtZSAoS2FwZWxsZSwgR2lsZGUpIGZpbmQgaWNoIGFuZ2VicmFjaHQsIGRhbWl0IG5pZW1hbmQKc2FnZW4ga2FubiBlciBoYWV0dGUgc2ljaCB2b3IgZGVuIERhZW1vbmVuIGdhciBuaWNodCBtZWhyIHJldHRlbiBrb2VubmVuICEKVm9uIE1hZ2llcm4gc3RldWVyYmFyZSBEYWVtb25lbiBmYWVuZCBpY2ggYXVjaCBzZWhyIHdpdHppZywgYWJlciBkYSBrYW5uCmVzIG5hdHVlcmxpY2ggTWlzc2JyYXVjaCBnZWJlbiAtIEFiZXIgYXVjaCBtaXQgZ2FueiBub3JtYWxlbiBOUEMncyB3YWVyZQpub2NoIGdlbnVnIFNwYW5udW5nIHZvcmhhbmRlbi4uCldlbm4gbWFuIGRhcyBnYW56ZSBtaXQgZWluZW0gV2FybnJ1ZiBlaW5lcyBTdGFkdHdhY2hlbi1OUEMncyB2ZXJiaW5kZXQKKCdEYWVtb25lbi1BbmdyaWZmIHZvbSBIYWZlbiAhISEnKSBkYW5uIGtvZW5udGVuIHNpY2ggZGllIExldXRlIHNvZ2FyIG5vY2gKaW4gZGllIGFuZGVyZSBSaWNodHVuZyBhdXMgUFYgdmVyZHJ1ZWNrZW4uClVuZCB3ZW5uIG1hbiBkYW5uIGRpZXNlIEFuZ3JpZmZlIG5pY2h0IHVuYmVkaW5ndCBzdHVlbmRsaWNoIGFuc2V0enQsIHNvbmRlcm4KbnVyIGVpbm1hbCBpbiAxLTIgV29jaGVuLCBrYW5uIHNpY2gga2VpbmVyIGRhcnVlYmVyIEJlc2Nod2VyZW4sIGRhc3MgZXIKa2VpbmUgZ2V3YWx0ZnJlaWUgWmVpdCB6dW0gUXVlc3RlbiBvZGVyIFRhbGtlbiBoYXQuLi4KCkVzIHdhZXJlIFNjaGFkZSwgd2VubiBkaWVzZSBJZGVlIHVudGVyIGRlbiBUaXNjaCBmYWVsbHQsIHdlaWwgaWNoIGZpbmRlLCBkYXNzCnNpZSBkYXMgTW9yZ2VuR3JhdWVuIGF1ZiBqZWRlbiBGYWxsIGJlcmVpY2hlcm4ga2Fubi4uLgoKSWNoIGhvZmZlLCBlcyBkZW5rZW4gbm9jaCBtZWhyIExldXRlIHNvIHdpZSBpY2ggIQoKTWFjaHRzIGd1dCwgTW9ub3RvbmkgISA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFybWFnZWRkb24gc3RhdHQgRGFlbW9uZW5ob3JkZW4gKEhha2tpa2t0LCAgMi4gQXVnIDE5OTUsIDEzOjI3OjEyKToKSGksCm1pciBpc3QgZGEgbm9jaCBlaW5lIElkZWUgZ2Vrb21tZW4sIHdpZSBtYW4gZGFzIFByb2JsZW0gbWl0IGRlbgpEYWVtb25lbmhvcmRlbiBsb2VzZW4ga29lbm50ZS4KU3RhdHQgRGFlbW9uZW5ob3JkZW4gZHVyY2ggZGFzIE11ZCBzdHJlaWZlbiB6dSBsYXNzZW4sIGtvZW5udGUgbWFuIGF1Y2gKaXJnZW5kd28gQXJtYWdlZGRvbiBoaW5zdGVsbGVuLiBEZXIgcnVmdCBkYW5uIGF1cywgaW4gMTAgTWludXRlbiB3ZXJkZSBpY2ggZGllCldlbHQgemVyc3RvZXJlbi4uLi4uV2VubiBJaG4gZGllIEFud2VzZW5kZW4gU3BpZWxlcgp2b3JoZXIgZmluZGVuIHVuZCB0b2V0ZW4gd2lyZCBkZXIgUmVib290IGFiZ2Vicm9jaGVuLCBhbnNvbnN0ZW4gd2lyZCBlYmVuIGVpbgpSZWJvb3QgZXJmb2xnZW4uCkljaCBrb2VubnRlIG1pciB2b3JzdGVsbGVuLCBkYXNzIGRpZSBtZWlzdGVuIFNwaWVsZXIgKHVuZCBhdWNoIFNlaGVyKSBrZWluZQpNb3RpdmF0aW9uc3Byb2JsZW1lIGhhYmVuIHVuZCBzaWNoIGdlcm5lIGFuIGRlciBTdWNoZSBuYWNoIEFybWFnZWRkb24KYmV0ZWlsaWdlbi4KRGllIFplaXQgYmlzIHp1bSBSZWJvb3Qga2FubiBtYW4gamEgenVmYWVsbGlnIHp3aXNjaGVuIDIgdW5kIDMwIE1pbnV0ZW4KYmVzdGltbWVuLgpCaXMgZGVubmUsIEhha2tpa2t0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFybWFnZWRkb24gc3RhdHQgRGFlbW9uZW5ob3JkZW4gKEhha2tpa2t0LCAgMi4gQXVnIDE5OTUsIDEzOjI5OjE2KToKIyEgcm49SGFra2lra3QgcnQ9ODA3MzYyODMyCnVwcy4uaXN0IGRvY2ggYmVzc2VyIG1hbiBzdGVsbHQgZGllIEthbmFlbGUgYWIgd2VubiBtYW4gc2NocmVpYnQuLi5pcmdlbndpZQppc3QgYmVpIGRlbSBBcnRpa2VsIGVpbmlnZXMgZHVyY2hlaW5hbmRlcmdlcmF0ZW4uLi4uaG9mZmVudGxpY2gga2FubiBqZWRlcgplcnJhdGVuIHdhcyBpY2ggc2NocmVpYmVuIHdvbGx0ZQpIYWtraWtrdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcm1hZ2VkZG9uIHN0YXR0IERhZW1vbmVuaG9yZGVuIChZZXRpLCAgMi4gQXVnIDE5OTUsIDEzOjM5OjIyKToKIyEgcm49SGFra2lra3QgcnQ9ODA3MzYyOTU2CmdvaWxlIElkZWUsIGRhcyBtaXQgZGVtIEFybWFnZWRkb24uCm5lYmVuYmVpIGdlc2FndCBmYWVuZGUgaWNoIGVzIGZhaXIsIG5hY2ggZWluZW0gcmVib290IG1pdCB2b2xsZW4gbHAgbXAgdW5kCk9ITkUgS3JhbmtoZWl0ZW4gYXVmenV3YWNoZW4uCnNjaGF1CmdydW1tZWwKbmFqYSBpY2ggbWFsIGpldHogc2NobHVzcwpZZXRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJtYWdlZGRvbiBzdGF0dCBEYWVtb25lbmhvcmRlbiAoQm9uZ28sICAyLiBBdWcgMTk5NSwgMjE6Mjg6MzQpOgojISBybj1IYWtraWtrdCBydD04MDczNjI4MzIKRGllIElkZWUga2VubmUgaWNoIGlyZ2VuZHdvaGVyLCBIYWtraWtrdCA6LTApKQpVbmQgaWNoIGZpbmRlIHNpZSBrbGFzc2UuIFNvd2FzIG1hY2h0IGRhbm4gYXVjaCBkZW4gTWFnaWVybiBzcGFzcy4gTmF0dWVybGljaAppc3QgZGVyIEFybWFnZWRkb24gZGFubiBlaW4gd2VuaWcgc3RhZXJrZXIuCkJvbmdvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKFp1ZXJpbGV1LCAgMy4gQXVnIDE5OTUsIDA0OjA1OjA5KToKIyEgcm49Q3JhaWcgcnQ9ODA2OTIzMDk3CkhhbGxvLApDcmFpZyBpY2gga2FubiBkYXp1IG51ciBzYWdlbiBpY2ggbGFzcyBtaWNoIHZvbiBEaXIgbmljaHQgZGlza3JlbWluaWVyZW4sIGljaApiaW4gTGVnYXN0aGVuaWtlciB1bmQgZ2ViIG1pciBpbiBtZWluZW4gQXJ0aWtlbCBnZW51ZyBtdWVoZS4gV2VubiBkaXIgbWVpbmUKU2NocmVpYndlaXNlIG5pY2h0IHBhc3N0IG9kZXIgZHUgZXMgaW1tZXJub2NobmljaHQga2FwaWVyc3QgZGFubiBrYW5uc3QgZHUgbWlyCnNvbnN0IHdvLiBJY2ggendpbmdlIERpciBpaG4gamEgbmljaHQgenUgbGVzZW4hCgpOb2NoIG5lbiBzY2hvZW5uZW4gQWJlbmQsIHRzY2h1ZXNzIFp1ZXJpbGV1CgpQczogaWNoIGthbm4gYXVjaCBTY2h3ZWl6ZXJkZXV0c2NoIHNjaHJlaWJlbiBkb3J0IG1hY2ggaWNoIGtlaW5lIEZlaGxlciAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFybWFnZWRkb24gc3RhdHQgRGFlbW9uZW5ob3JkZW4gKEJvaW5nLCAgMy4gQXVnIDE5OTUsIDA4OjI2OjQ4KToKIyEgcm49Qm9uZ28gcnQ9ODA3MzkxNzE0CldvenUgZGVubiBub2NoIHN0YWVya2VyIG1hY2hlbj8gRXIgaXN0IGRvY2ggamV0enQgc2Nob24gdW5zdGVyYmxpY2guIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKFNvY3JhdGUsICAzLiBBdWcgMTk5NSwgMTA6NDY6MzMpOgojISBybj1adWVyaWxldSBydD04MDc0MTU1MDkKSGFsbG8gWnVlcmlsZXUhCkRhcyBpc3QgZWluIGd1dGVyIFZvcnNjaGxhZyBtaXQgZGVtIFNjaHdlaXplcmRldXRzY2guIE1hY2ggZGFzIHNvY2ggbWFsLCBtaWNoCmludGVyZXNzaWVydCBuYWVtbGljaCB3aWUgZGFzIGF1c3NpZWh0LiBHcnVzcwpTY29yYXRlClBTOiBEQXMgaXN0IGVybnN0Z2VtZWludCEKOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKFp1ZXJpbGV1LCAgMy4gQXVnIDE5OTUsIDEzOjA2OjEzKToKIyEgcm49U29jcmF0ZSBydD04MDc0Mzk1OTMKU2FsaSBTb2NyYXRlcywKSmEgd2FlbmQgd2lsc2NoIGNoYWFuIGkgZGEgc2NobyBtYWwgZid1ZXIgZGlpY2ggbWFjaGFlLCB3YWUgbWFsIHdhcyBhbmRycyBhbHMKaW1tYWUgZHVldHNjaCBzJ3ByYWVjaGFlIHVuZCBhZ21vdHp0IHond2FlcmRhZSwgZGEgc2NoaWlzdCBtaWkgbmFlbWxpY2gKZ3JhZXNsaWNoIGFoLiBIYWVzY2ggbWlpIHZlcnN0YW5kYWUgPwoKVHNjaHVlc3NsaSBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKEpvZiwgIDMuIEF1ZyAxOTk1LCAxNDoxMTo1Nik6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgwNzQ0Nzk3MwoKIEtsYXIgaGFiIGljaCBkaWNoIHZlcnN0YW5kZW4gOikgVW5kIGRhcyBtaXQgZGVtIEFubW90emVuIHd1ZXJkJyBpY2ggYW4KZGVpbmVyClN0ZWxsZSBlaW5mYWNoIGlnbm9yaWVyZW4uIFdlciB0aXBwdCBpbiBkZXIgWmVpdHVuZyBzY2hvbiBpbW1lciAxMDAlaWcKcmljaHRpZz8KSGF1cHRzYWNoZSBtYW4gdmVyc3RlaHQgd2FzIGdlbWVpbnQgaXN0IC4uLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKFNvY3JhdGUsICAzLiBBdWcgMTk5NSwgMTQ6MjA6MjYpOgojISBybj1adWVyaWxldSBydD04MDc0NDc5NzMKaGFsbGkgenVlcmlsaSEKYWxzbyBsZXNlbiBrb25udGUgaWNoIGVzLCBnZXNwcm9jaGVuIGhhZXR0ZSBpY2ggZXMgd2FocnNjaGVpbmxpY2ggbmljaHQKdmVyc3RhbmRlbi4gQWJlciBpY2ggZGFjaHRlIGJlaSBldWNoIGdpYnQgZXMgbmNvaCBtZWhyIEVuZHVuZ2VuIGF1ZiAtaS4KQWxzbyB2aWVsZW4gZGFuayA6KSkKR3J1c3MKU29jcmF0ZWxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWNodHNjaHJlaWJ1bmcgZnVlciBhbGxlISAoR3V5YnJ1c2gsICAzLiBBdWcgMTk5NSwgMTQ6MjE6MTYpOgojISBybj1Kb2YgcnQ9ODA3NDUxOTE2CkRhIG11c3MgaWNoIEpvZiBkb2NoIG1hbCBiZWlwZmxpY2h0ZW4uIEljaCBiaW4gamEgYXVjaCBuaWNodCBnZXJhZGUgZWluCldhaXNlbmtuYWJlLCB3YXMgZGllIHR5cG9zIGFuZ2VodC4gVW5kIG1hbmNoZSBUeXBvcyBtYWNoZW4gZGllIFNhY2hlIGF1Y2gKc2Nob24gbWFsIGx1c3RpZ2VyIDopCihWb3IgYWxsZW0gZGllIEZydWVkc2NoZW4gVHlwb3Mgd2llIC4uYWVobS4ud2llIHdhciBkYXMgbm9jaD8gLi4ucHJvYmVsaWViZW4KOikKbmFqYSwgZGFzIFNjaHdpdHplcmR1ZXRzY2ggaXMgamVkZW5mYWxscyBuZXR0LCBhdWNoIHdlbm5zIG1pciBnZXNwcm9jaGVuCmJlc3NlciBnZWZhZWxsdCA6KQoKR3V5YnJ1c2gsIGhhdCBtYWwgZ2VsZXJudCBuaWVyZXN0ZWlndWVtcGVybGkgenUgc3ByZWNoZW4gOikKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVoaWcgQmx1dCAoQ3JhaWcsICAzLiBBdWcgMTk5NSwgMTU6NTg6MTcpOgoKQWJlciBuZWluLCBpY2ggd2lsbCBuaWVtYW5kZW4gZGlza3JpbWluaWVyZW4sIHNjaG9uIGdhciBrZWluZW4gQXVzbGFlbmRlci4KS2xhciBpc3QgYXVjaCwgZGFzcyBUeXBvcyBwYXNzaWVyZW4sIGJlaSBkZW0gZWRpdG9yIHNvd2llc28uIEltIEZhbGwgWnVlcmlsZXUKbmVobWUgaWNoIG1laW5lbiAiQW5zY2hpc3MiIG5hdHVlcmxpY2ggenVydWVjazsgZGV1dHNjaCBpc3QgamEgb2ZmZW5iYXIgbmljaHQKc2VpbmUgTXV0dGVyc3ByYWNoZS4KCkdydW5kc2FldHpsaWNoIGJsZWliZSBpY2ggYWJlciBkYWJlaSwgZGFzcyBaZWl0dW5nc2FydGlrZWwgdmVyc3RhZW5kbGljaCB1bmQKa29ycmVrdCB2ZXJmYXNzdCB3ZXJkZW4gc29sbHRlbi4gV2VyIGVpbmVuIEFydGlrZWwgc2NocmVpYnQsIHdlaXNzLCBkYXNzIGRpZQpaYWhsIGRlciBMZXNlciBtb2VnbGljaGVyd2Vpc2UgaW4gZGllIEh1bmRlcnRlIGdlaHQuIEVyIG9kZXIgc2llIHdlbmRldCBzaWNoCmFuIGRpZSBPZWZmZW50bGljaGtlaXQgdW5kIG1vZWNodGUgZXR3YXMgbWl0dGVpbGVuLiBOdW4sIGRhIGlzdCBlcyBkb2NoIGluCnNlaW5lbSBvZGVyIGlocmVtIGVpZ2VuZW4gSW50ZXJlc3NlLCBkYXNzIG1hbiBkaWUgIm1lc3NhZ2UiIHZlcnN0ZWh0LgpHZXJhZGUgZGFiZWkgZ2FiIGVzIGphIHZvciBrdXJ6ZW0ga2xlaW5lcmUgUHJvYmxlbWUsIHdhcyBzaWNoZXIgbmljaHQgbnVyCmRhcmFuIGxpZWd0LCBkYXNzIG1hbmNoZSBTcGllbGVyIG5pY2h0IGxlc2VuIGtvZW5uZW4uCgpBbHMgTGVzZXIgZnVlaGxlIGljaCBtaWNoIG5pY2h0IGVybnN0Z2Vub21tZW4sIHdlbm4gbWFuY2hlciBBcnRpa2VsIGVpbmZhY2gKImhpbmdlc2F1dCIgd2lyZC4KRGFzLCB1bmQgbnVyIGRhcywgd29sbHRlIGljaCBhdXNkcnVlY2tlbi4KCkNSQUlHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3QgZXVjaCBzY2hvbiB3aWVkZXIgd2FzIG5pY2h0ID8gKFNjaHJ1bXBmaSwgIDMuIEF1ZyAxOTk1LCAxNjoyODoxMCk6CiMhIHJuPU1vcmdvdGggcnQ9ODA3MTgxMTY3CkVzIGlzdCBrZWluIEJ1Zy4gSWNoIGhhYiBlcyBnZWFlbmRlcnQgd2VpbCBpY2ggZXMgYWVuZGVybiBtdXNzdGUuIEVzIGdlaHQKZWluZmFjaCBuaWNodC4gU29ycnkKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVoaWcgQmx1dCAoSm9mLCAgMy4gQXVnIDE5OTUsIDE4OjMxOjE5KToKIyEgcm49Q3JhaWcgcnQ9ODA3NDU4Mjk3CgogSG0sIGljaCB3ZXJkJyBtZWluZSBBcnRpa2VsIGFiZXIgd2VpdGVyIHNjaG5lbGwgdW5kIG9obmUgU3BlbGxjaGVja2VyCnNjaHJlaWJlbiwgb2IgRHUgRGljaCBudW4gZXJuc3RnZW5vbW1lbiBmdWVobHN0IG9kZXIgbmljaHQuIERpZSBaZWl0dW5nCmlzdCB6dW0gSW5mb3JtYXRpb25zYXVzdGF1c2NoIGdlZGFjaHQsIG5pY2h0IHVtIFNjaG9lbmhlaXRzd2V0dGJld2VyYmUKenUgZ2V3aW5uZW4gLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWNodHNjaHJlaWJ1bmcgZnVlciBhbGxlISAoWnVlcmlsZXUsICA1LiBBdWcgMTk5NSwgMDU6NTE6MjcpOgojISBybj1Kb2YgcnQ9ODA3NDUxOTE2ClNhbGkgSm9mLApKbyBpY2ggd2Vpc3Mga3VyemVzIHJlcGx5IHVuZCBkYW5uIG51ciAyLCAzIFNhZXR6ZSB1bmQgc28gZ2Vob2VydCBpbnMgTXVlbGw/LgpOdW4gdmllbCBnaWVidHMgaGllciBuaWNodCB6dSBzYWdlbiBhYmVyIHdhcyBlcyB6dSBzYWdlbiBnaWVidCwgbGllZ3QgbWlyIGFuCmRpZXNlciBTdGVsbGUgc2VociB6dSBIZXJ6ZW4uIFVuZCB6d2FyOgpEYW5rZSBKb2YgPSkKTmVpbiB3aXJrbGljaCwgaWNoIGhhYiBtaWNoIHNlaHIgdWViZXIgZGVpbmVuIEFydGlrZWwgZ2VmcmV1ZCBkZW5uIGVyIGlzdApnZW5hdSBkYXMgd2FzIGljaCBhdWNoIGRlbmtlLiBJY2ggdmVyc3VjaHMgamEgbW9lZ2xpY2hzdCBmZWhsZXJmcmVpIHp1CnNjaHJlaWJlbiBhYmVyIGVzIGdlbGluZ3QgbWlyIGhhbHQgbmljaHRyIGltbWVyIHdlaWwgaWNoIGluIGRldXRzY2gKc2NocmlmdGxpY2ggaW1tZXIgc28gbWVpbmUgUHJvYmxlbWUgaGF0dGUuIFVuZCBpY2ggYmluIGZyb2ggd2VubiBkYXMKYWt6ZXB0aWVydCB3aXJkLiA9OikKCgpUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVjaHRzY2hyZWlidW5nIGZ1ZXIgYWxsZSEgKFp1ZXJpbGV1LCAgNS4gQXVnIDE5OTUsIDA2OjAyOjQ0KToKIyEgcm49U29jcmF0ZSBydD04MDc0NTI0MjYKU2FsaSBTb2NyYXRpcywKQWxzbyBqbyBkaWUgZ2llYnQgZXMgei5CLjoKCmNoaWxiaSAoUnVtbWVsbWFya3Q/KQpDaHVjaGlpY2hhZXN0bGkgKEt1ZWNoZW5zY2hyYW5rKQpSdWVibGkgKEthcm90dGUpCkNoYWVhZXNjaHVlY2hsaSAoS2Flc2VrdWNoZW4pClp1ZXJpIChadWVyaWNoKQpTYWxiaSAoU2FsYmUpClNjaHVlZmFlbGkgKGtsZWluZSBTY2hhdWZlbCkKU2NodWZsYWUgIChncm9zc2UgU2NoYXVmZWwpCmdydWV6aSAgKEd1dGVuIFRhZykKU2FsaSAgKEhhbGxvICIidW50ZXIganVnZW5kbGljaGVuIGluIGRlciAnZHUnLUZvcm0iIikKaG9pIChIYWxsbyAiInVudGVyIGp1Z2VuZGxpY2hlbiBpbiBkZXIgJ2R1Jy1Gb3JtIiIpCmNobGlzYWVzIChrbGVpbmVzICIqZXR3YXMqIikKU2NoaWZmbGkgKEVpbiBrbGVpbmVzIFNjaGlmZiAiKkJvb3QiKikKVHVlZmVsaSAoa2xlaW5lciBUZXVmZWwpCkJpbGRsaSAoa2xlaW5lcyBCaWxkLCB6LkIuIFBhc3Nmb3RvcykKCk51bmphLCBrbGVpbmUgQXVzd2FobCBhdXMgZGVtIFNjaHdlaXplcmRldXRzY2hlbiwgMi0zIGF1Y2ggb2huZSAnaScgZW5kdW5nCmljaCBiaW4gaGFsdCBiZWtpZmZ0IGFscyBpY2ggZGFzIGdlc2NocmllYmVuIGhhYmUgPTopCgpUc2NodWVzcyBadWVyaWxldSA9OlEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1byBWYWRpcywgTXVkPyAoSXNub2dvb2QsICA1LiBBdWcgMTk5NSwgMTE6MzY6MDIpOgpIYWxsbyBMZXV0ZSwKCkljaCBiaW4gd29obCBlaW5lciBkZXIgYWVsdGVyZW4gU3BpZWxlciBpbSBNb3JnZW5ncmF1ZW4sIGdlbWVzc2VuIGFtIERhdHVtCmRlcwplcnN0ZW4gRWlubG9nZ2Vucy4gQWxsZWluZSBkaWUgVGF0c2FjaGUsIGRhc3MgaWNoIHVlYmVyIGVpbmUgc28gbGFuZ2UgWmVpdApoaWVyIG1laHIKb2RlciB3ZW5pZ2VyIHJlZ2VsbWFlc3NpZyBnZW11ZGRldCBoYWJlLCB6ZWlndCBqYSwgZGFzcyBtaXIgZGllc2VzIE11ZApnZWZhZWxsdAp1bmQgZGFzcyBpY2ggaGllciBTcGFzcyBoYWJlLiBEZXNoYWxiIG5laG1lIGljaCBtaXIgbnVuIGF1Y2ggZWlubWFsIGRhcyBSZWNodApoZXJhdXMsIGF1ZiBlaW5pZ2UgRW50d2lja2x1bmdlbiBoaW56dXdlaXNlbiwgZGllIG1pciBzZWhyIGdyb3NzZSBTb3JnZW4KYmVyZWl0ZW4uCkVzIG1hY2hlbiBzaWNoIGhpZXIgaW4gbGV0enRlciBaZWl0IGJlaSBkZW4gTWFnaWVybiBkaWUgdHlwaXNjaCBkZXV0c2NoZQpUZW5kZW56CmJyZWl0LCBkYXNzIFNwaWVsIGJpcyBsZXR6dGUgRGV0YWlsIGhpbmVpbiB6dSBwZXJmZWt0aW9uaWVyZW4gdW5kIHp1CnJlZ2xlbWVudGllcmVuLgpEYXMgbWFnIGF1cyBkZXIgU2ljaHQgZGVzamVuaWdlbiwgZGVyIGhpZXIgdWViZXIgSmFocmUgaGlud2VnIHZlcnN1Y2h0IGhhdCwKZWluZQpWUi1XZWx0IHp1IGVyc2NoYWZmZW4sIGxlZ2l0aW0gc2VpbiwgYXVzIGRlciBTaWNodCBlaW5lcyBTcGllbGVycyBmaHJ0IGVzCmplZG9jaCB6dQpnYW56IG1hc3NpdmVuIFN0b2VydW5nZW4gaW4gZGVyIEF0aG1vc3BoZXJlIGRlcyBNVUQncy4KRGllcyBoYXQgYW5nZWZhbmdlbiBtaXQgZGVyIEJlc2VpdGlndW5nIGVpbmlnZXIgbGllYmVuc3dlcnRlciBCdWdzIHVuZCBmaHJ0CmhpbiBiaXMKenVtIFZlcmJvdCB2b24gU2NyaXB0c3BpZWxlbiB1bmQgZGVtIGFuZGlza3V0aWVydGVuIFZlcmJvdCB2b24gWndlaXRpZXMuCk5laG1lbiB3aXIgbWFsIGVpbmlnZSBleGVtcGxhcmlzY2hlIEJlaXNwaWVsZTogRGEgd2FyIGRlciBCdWcgYmVpbQpTdGVpbmJlaXNzZXJhbXVsZXR0IGdld2VzZW4sIGVpbiB6dWdlZ2ViZW5lcm1hc3NlbiBndXRlcywgYWJlciBrZWluZXNmYWxscwpkYXMKU3BpZWxnbGVpY2hnZXdpY2h0IHN0b2VyZW5kZXMgWnViZWhvZXIuIEJlc3RpbW10IGRpZSBIYWVsZnRlIG1laW5lcgpNdWRmcmV1bmRlCmhhYmUgaWNoIGJlaW0gS2FlbXBmZW4gdW0gZGFzIFN0ZWluYmVpc3NlcmFtdWxldHQga2VubmVuZ2VsZXJudC4gRGFubiBoYXQgbWFuCmRlbiBCdWcgYmVzZWl0aWd0IHVuZCBkaWUgS2FtcGZnZW1laW5zY2hhZnRlbiB3YXJlbiBpbm5lcmhhbGIga3Vlcnplc3RlciBaZWl0CnZlcnNjaHd1bmRlbi4gTmFlY2hzdGVzIEJlaXNwaWVsIHdhciBTY2hydW1wZmllcyBLbmVpcGUuIEVzIG1hZyBqYSBzZWluLCBkYXNzCmRhcwpTeXN0ZW0gZ2VnZW4gTXVkcmVnZWxuIHZlcnN0b3NzZW4gaGF0LCBhYmVyIG1hbiBzb2xsdGUgc2ljaCBkb2NoIGF1Y2ggbWFsIGRpZQpBdXN3aXJrdW5nZW4gdm9yIEF1Z2VuIGZ1ZWhyZW4uIERpZSBLbmVpcGUgbGllZ3Qgc28gYWJnZWxlZ2VuLCBkYXNzIHNpZQplaWdlbnRsaWNoCm51ciBmciBTZWhlciBpbnRlcmVzc2FudCB3YXIuIFNlaGVyIGFiZXIgaGFiZW4gaW4gZGVyIFJlZ2VsIGVpZ2VudGxpY2gga2VpbmUKYW5kZXJlbiBNZ2xpY2hrZWl0ZW4gaW0gTXVkIG1laHIgYWxzIFRhbGtlbiBvZGVyIG1ldHplbG4gdW5kIGJlaSAxIFN0dW5kZQptZXR6ZWxuIHZlcmJyaW5ndCBtYW4gaW0gc2Nobml0dCAyMCBNaW51dGVuIG1pdCBJZGxlbiwgYWJlciB3ZWlsIG1hbiBuaXggbWVocgpFc3NlbgpvZGVyIFRyaW5rZW4ga2Fubi4gVGFnc3VlYmVyIGthbm4gbWFuIGRpZXNlIFplaXQgamEgbm9jaCBtaXQgdGFsa2VuCnVlYmVyYnJ1ZWNrZW4sIGFiZXIgbmFjaHRzIGlzdCBkYSBncm9lc3N0ZW50ZWlscyB0b3RlIEhvc2UuIEF1ZiBkZXIgZWluZW4KU2VpdGUKd2VyZGVuIGRpZSBFUC1BbmZvcmRlcnVuZ2VuIGZ1ZXIgZGllIFNlaGVybGV2ZWwgaG9laGVyIHVuZCBob2VoZXIgZ2VzY2hyYXVidCwKYXVmIGRlciBhbmRlcmVuIFNlaXRlIG5pbW10IG1hbiB1bnMgZGllIE1vZWdsaWNoa2VpdCwgZGllc2UgRVAncyBvaG5lCnN0dW5kZW5sYW5nZXMgV2FydGVuIHp1IGJla29tbWVuLiBKZXR6dCBhdWNoIG5vY2ggZGllIEJlcmdodWV0dGUuIEF1Y2ggZWluCk9ydCwKd28gbWFuIEJla2FubnRzY2hhZnRlbiBzY2hsaWVzc2VuIGtvbm50ZSB1bmQgZWluIGJpc2NoZW4gZ2VwbGF1ZGVydCBoYXQsIG5vY2gKZGF6dSBmdWVyIG1hbmNoZSBTYWNoZW4gdW51bWdhZW5nbGljaC4gSWNoIHd1ZXJkZSBtYWwgZ2VybmUgd2lzc2VuLCB3ZXIgamV0enQKbm9jaCBkaWUgU3RlaW5tb25zdGVyIG5pZWRlcm1hY2hlbiBrYW5uLCBhdXNzZXIgdmllbGxlaWNodCBlaW4gS2FyYXRla2EgaW0gNy4KRGFuLgpTdGFlbmRpZyBiZWtsYWd0IG1hbiBzaWNoIHVlYmVyIG1hbmdlbG5kZXMgWnVzYW1tZW5nZWhvZXJpZ2tlaXRzZ2VmdWVobCBkZXIKU3BpZWxlciwgYXVmIGRlciBhbmRlcmVuIFNlaXRlIHdlcmRlbiBLb25zZXF1ZW50IGFsbGUgRGluZ2UgYmVzZWl0aWd0LCBkaWUKZWluCnNvbGNoZXMgR2VmdWVobCB1ZWJlcmhhdXB0IGVyc3QgYXVma29tbWVuIGxhc3NlbiBrb2VubmVuLiBFcyBsaWVndCBudW4gYXVjaAptYWwKaW4gZGVyIE5hdHVyIGRlciBTYWNoZSwgZGFzcyBtYW4gZ2VybmUgZGVuIEdvZXR0ZXJuIG1hbCBlaW4gU2NobmlwcGNoZW4Kc2NobGFlZ3QKdW5kIHdlbm4gZGllc2UgRGluZ2UgdW5tb2VnbGljaCBnZW1hY2h0IHdlcmRlbiwgZGFubiBsZWlkZXQgZGFydW50ZXIgYXVjaCBkaWUKTW90aXZhdGlvbi4gTWFuIGtvZW5udGUgZGllc2UgTGlzdGUgbm9jaCBsZWljaHQgZm9ydHNldHplbi4KVW5kIGRhbm4gbmV1ZSBSZWdlbG4gdWViZXIgUmVnZWxuLiBGcnVlaGVyIGtvbm50ZSBtYW4gZXMgc2ljaCB3ZW5pZ3N0ZW5zCmF1c3N1Y2hlbiwgb2IgbWFuIGFscyBub3JtYWxlciBTcGllbGVyIGxpZWJlciBxdWVzdGV0ZSBvZGVyIEthZW1wZnRlLiBIZXV0ZQpicmF1Y2hlIGljaCwgdW0gRmV1ZXJiYWxsIHp1IGxlcm5lbiBtaW5kZXN0ZW5zIDYwMCBBUCdzLiBXb3p1IHNvbGwgZGFzIGd1dApzZWluPwpXZW5uIGplbWFuZCBuaWNodCBxdWVzdGVuIHdpbGwgbGFzc3QgaWhuIGRvY2ggc2VpbmVuIFNwYXNzIGhhYmVuLiBEYXNzIGVyCmRhbm4gbmllClNlaGVyIHdpcmQgby5rLiwgYWJlciBkYXNzIGVyIG5vY2ggbmljaHQgZWlubWFsIHJpY2h0aWcga2FlbXBmZW4ga2FubiBvaG5lCnF1ZXN0cz8KRGllIFNhY2hlIG1pdCBkZW0gVmVyYm90IGRlciBTY3JpcHRzIGlzdCBnZW5hdXNvIGVpbiBTY2h1c3MgaW4gZGVuIE9mZW4KZ2V3ZXNlbi4KWnVtIGVpbmVuIGhhZWx0IHNpY2ggbnVyIGVpbiBUZWlsIGRlciBTcGllbGVyIGRyYW4sIHdlaWwgZXMgbmljaHQKa29udHJvbGxpZXJ0IHdpcmQsCnp1bSBhbmRlcmVuIHdvIGZhZW5ndCBkYXMgU2NyaXB0IGFuLiBXZWdlc2NyaXB0cyBzaW5kIGVybGF1YnQgKHVuZCB3ZW5uIG1hbgpkaWUKdmVyYmlldGV0LCB3dWVyZGUgaWNoIHNvZm9ydCBoaWVyIGF1ZmhvZXJlbiksIGFiZXIgc29iYWxkIGVpbiBUb2V0ZSBhbSBFbmRlCmRlcwpXZWdlc2NyaXB0cyBzdGVodCBpc3QgZXMgZWluIEthbXBmc2NyaXB0IHVuZCB2ZXJib3Rlbi4gQWJzb2x1dGVyClNjaHdhY2hzaW5uLiwKZ2VuYXVzbyB3aWUgZGllIERpc2t1c3Npb24gdW0gWndlaXRpZXMuCkRhbm4gZGllIFNhY2hlIG1pdCBkZXIgS2FyYXRlZ2lsZGU6IEVzIGlzdCB2b24gdm9ybmVoZXJlaW4ga2xhciwgZGFzcyBlaW4KbmV1ZXMKR2ViaWV0IHZvbiBzZWluZXIgSW5mcmFzdHJ1a3R1ciBub2NoIHNjaHdhY2ggaXN0LCBnYW56IGtsYXIsIHdlbm4gbWFuIHdlaXNzCndpZXZpZWwKQXJiZWl0IGRhaGludGVyIHN0ZWNrdC4gTnVyLCB3ZXIgdW0gYWxsZXMgaW4gZGVyIFdlbHQgaXN0IGF1ZiBkaWUgSWRlZQpnZWtvbW1lbiwgZGllCkthcmF0ZWdpbGRlIGluIGVpbiBzb2xjaGVzIEdlYmlldCB6dSBsZWdlbiwgaW4gZGVtIGVzIHdlZGVyIHZlcm51ZW5mdGlnZQpLbmVpcGVuCm5vY2ggdmVybnVlbmZ0aWdlIE1vbnN0ZXIgenVtIHVlYmVuIGdpYnQgdW5kIGZ1ZXIgZGFzIG1hbiBhbHMgTmljaHRzZWhlcgoyMC0yNQpNaW51dGVuIHZlcnNjaHdlbmRldGUgWmVpdCBicmF1Y2h0LCBiaXMgbWFuIGhpbmtvbW10LgpXaXIgaGF0dGVuIG1hbCB2b3IgbGFuZ2VyIFplaXQgZWluZSBEaXNrdXNzaW9uIHVlYmVyIERlbW9rcmF0aWUgaW0gTXVkLiBJY2gKc3RpbW1lCmRhIHZvbGwgdW5kIGdhbnogbWl0IEV1Y2ggdWViZXJlaW4sIHdlciBkaWUgQXJiZWl0IHVuZCBkaWUgVmVyYW50d29ydHVuZyBoYXQsCmRlcgpzb2xsIGF1Y2ggZGFzIHNhZ2VuIGhhYmVuLiBBYmVyIGljaCBnbGF1YmUgdW5zZXIgYWxsZXIgWmllbCBpc3QgZXMgZG9jaCwgZWluCk11ZCB6dQpoYWJlbiwgaW5kZW0gc2ljaCBtb2VnbGljaHN0IHZpZWxlIExldXRlIHdvaGxmdWVobGVuLCBpbiBkZW0gZWluZSBndXRlCkF0aG1vc3BoZXJlIGhlcnJzY2h0IHVuZCBpbiBkZW0gU3BpZWxlciB3aWUgTWFnaWVyIFNwYXNzIGhhYmVuLiBVbmQgZ2VuYXUKZGFzcwpzZWhlIGljaCBnZWZhZWhyZGV0LiBGYWxscyBkaWVzIG1laW5lIGFsbGVpbmlnZSBNZWludW5nIHNlaW4gc29sbHRlLCBzbyB3YWVyZQpkaWVzCmtlaW4gUHJvYmxlbSwgaWNoIHd1ZXJkZSB1ZWJlciBrdXJ6IG9kZXIgbGFuZyBkaWUgS29uc2VxdWVuem4gZGFyYXVzIHppZWhlbgp1bmQKa2F1bSBlaW5lbiB3dWVyZGUgZXMgc3RvZXJlbi4gQWxsZXJkaW5ncyBoYWJlIGljaCBhdXMgemFobHJlaWNoZW4gR2VzcHJhZWNoZW4KZGVuCkVpbmRydWNrLCBkYXNzIGVzIG5pY2h0IG51ciBtaXIgc28gZ2VodCwgdW5kIHdlbm4gdmllbGUgZGVyIGFsdGVuIGlyZ2VuZHdhbm4Kd2VnYmxlaWJlbiwgZGFubiB3dWVyZGUgZGllc2VzIE11ZCBzZWhyIHZpZWwgYWVybWVyIHdlcmRlbi4gRGVzd2VnZW4gc29sdGUKbWFuCnNpY2ggd2lya2xpY2ggbWFsIHp1c2FtbWVuc2V0emVuIHVuZCBkYXJ1ZWJlciBkaXNrdXRpZXJlbiwgdmllbGxlaWNodCBhbiBkZXIKUGFydHkuClVuZCBmYWxscyBkYXMgZWluIG9kZXIgYW5kZXJlIEFyZ3VtZW50IG5pY2h0IG5hY2h2b2xsem9nZW4gd2VyZGVuIGthbm4sIGJpdHRlCmljaApub2NoIGVpbmVzIHp1IGJlZGVua2VuOiBJY2ggd2llIHZpZWxlIGFuZGVyZSBhdWNoLCBNdWRkZSB1ZWJlciBNb2RlbS4gTWljaAprb3N0ZXQKamVkZSBTdHVuZGUsIGRpZSBpY2ggaGllciB2ZXJicmluZ2UgR2VsZC4gTWFuY2hlIEdvZXR0ZXIgc2NoZWluZW4gdW5zCk1vZGVtLVNwaWVsZXIKbGVpZGVyIGdhciBuaWNodCB6dSBiZXJ1ZWNrc2ljaHRpZ2VuLCBmciB1bnMgaXN0IGVzIGVpbmZhY2ggbnVyIGFlcmdlcmxpY2gsCjIwIE1pbnV0ZW4KWmVpdCB6dSB2ZXJnZXVkZW4uCgpJc25vZ29vZCwgR3Jvc3N3ZXNpcgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBsaWViZSBCZXJnd2FjaHQgKEFzbW9kaXMsICA1LiBBdWcgMTk5NSwgMTg6NTM6MTEpOgojISBybj1Bc21vZGlzIHJ0PTgwNzY0MTQwNApIbW0sIGljaCBoYWIgZGllIFZlcmFlbmRlcnVuZ2VuYW4gZGVyIEJlcmd3YWNodCBtYWwgZHVyY2hnZXRlc3RldC4KQWxzbyBlcnN0bWFsIGZpbmRlIGljaCBibG9lZCwgd2VnZW4gMiBhbmdlYmxpY2hlbiBzY3JpcHRzcGllbGVybiBkaWUKQmVyZ3dhY2h0IG51dHpsb3MgenUgbWFjaGVuLiBNYW4ga2FubiBqYSBnZW5hdXNvZ3V0IGF1Y2ggZGllc2UgMiBTcGllbGVyCnZlcndhcm5lbiwgZGFzIHdhZXJlIHdvaGwgZGVyIGJlc3NlcmUgV2VnIGdld2VzZW4uCkF1c3NlcmRlbSB3b2xsdGUgaWNoIGRpZSBRdWVzdCBub2NobWFsIGR1cmNoc3BpZWxlbiB1bSBtaXIgZGVuIEZsdWNoCnp1IGhvbGVuLCBkYSBzdHJlaWt0ZW4gZGFubiBhdWNoIGRpZSBLcmFua2VuYmV0dGVuLCBkYXMgZmluZGUgaWNoIG5pY2h0IGd1dC4KRGVzd2VpdGVyZW4gZnJhZ2UgaWNoIG1pY2gsIHdpZSBtYW4gYWxzIEthcmF0ZWthIGpldHp0IG9yZGVudGxpY2ggdWViZW4gc29sbCwKb2huZSBlaW5lIGJpbGxpZ2UgVGFua21vZWdsaWNoa2VpdCwgd2llIHNpZSBkaWUgQmVyZ3dhY2h0IHdhci4KSW5zZ2VzYW10IGhhYmUgaWNoIGRlbiBFaW5kcnVjaywgZGFzcyBlaW5pZ2UgR29ldHRlciB1bmQgRXJ6aWVzIHVuZCBoaWVyIGRlbgpnYW56ZW4gU3BpZWxzcGFzcyB2ZXJtaWVzZW4gd29sbGVuLCB3aWUgc29sbCBtYW4gZGllc2UgbWFzc2l2ZW4gRWluc2Nobml0dGUKaW4gbGV0enRlciBaZWl0IGRlbm4gc29uc3Qgc2VoZW4gPz8KCipqdXN0IG15IHR1YmUgc2VuZioKCiAgICAgICAgICAgICAgICAgICAgIEFzbW9kaXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZWhlci5lbnR3aWNrbHVuZyAoUnh0ZWNoLCAgNi4gQXVnIDE5OTUsIDEzOjQ3OjU0KToKbm9jaCBuZSBmcmFnZQoKZGEgZGFzIHRlaWwgamEgbnUgbnVyIG5vY2ggNjAgJSB0YXVndCwgcmVkdXppZXJ0IHNpY2ggZGFubiBhdWNoIGRlciBwcmVpcyBpbQpzZWhlcmxhZGVuPwpyeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIGxpZWJlIEJlcmd3YWNodCAoSmFmLCAgNi4gQXVnIDE5OTUsIDIyOjI0OjM1KToKIyEgcm49QXNtb2RpcyBydD04MDc2NDE1OTEKClVtJ3Mga3VyeiB6dSBtYWNoZW46IGxlc3Qgbm9jaG1hbCBJc25vZ29vZHMgdW5kIEFzbW9kaXMnIEFydGlrZWwuCkljaCBoYWJlIGRlbSBhdXNzZXIgbWVpbmVyIG1vcmFsaXNjaGVuIFVudGVyc3R1ZXR6dW5nIG5pY2h0cwpoaW56dXp1ZnVlZ2VuLgoKRnl0LgoKQlRXOiBJY2ggaGFzc2UgJ21lIHRvbyctcG9zdGluZ3MuIEFiZXIgZGllICdhbmRlcmUgU2VpdGUnIGlzdCBhdWNoCm5pY2h0IGZhaXIsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWUgbGllYmUgQmVyZ3dhY2h0IChKb2YsICA3LiBBdWcgMTk5NSwgMTE6MjQ6NTMpOgojISBybj1KYWYgcnQ9ODA3NzQwNjc1CgogV2FzIGhlaXNzdCBkZW5uIGhpZXIgJ25pY2h0IGZhaXInPyBEaWUgQmVyZ3dhY2h0IHdhciB2b24gS29iYXlhc2hpIG5pZW1hbHMKV2FzIGhlaXNzdCBkZW5uIGhpZXIgJ25pY2h0IGZhaXInPyBEaWUgQmVyZ3dhY2h0IHdhciB2b24gS29iYXlhc2hpIG5pZW1hbHMKZGF6dSBnZWRhY2h0LCBmdWVyIGV0d2FzIGFuZGVyZXMgYWxzIGRpZSBRdWVzdCB6dSBkaWVuZW4uIERlciBXZWcsIHVlYmVyIGRlbgptYW4gc2llIGxlaWNodCBlcnJlaWNoZW4ga2Fubiwgd3VyZGUgZXJzdCBzcGFldGVyIChuaWNodCB2b24gS29iYSkgaGluenVnZS0KZnVlZ3QuIERlc3dlaXRlcmVuIGZpZWwgc2llIHNvLCB3aWUgc2llIHdhciwgdm9sbGtvbW1lbiBhdXMgZGVtIEtvbnplcHQuCkVzIGlzdCBiZWFic2ljaHRpZ3QsIGR1cmNoIGRpZSBBbGtvaG9sL0ZsdWVzc2lna2VpdHNiZXNjaHJhZW5rdW5nZW4gZWluZQpiZXN0aW1tdGUgT2JlcmdyZW56ZSBmdWVyIHJlc3RhdXJpZXJ0ZSBMUCB1bmQgTVAvWmVpdGVpbmhlaXQgZmVzdHp1c2V0emVuLgpEaWUgQmVyZ3dhY2h0IHVtZ2VodCBkaWVzZSBCZXNjaHJhZW5rdW5nZW4uIERhcyB3YXIgbmljaHQgc28gc2NobGltbSwgc28tCmxhbmdlIGVzIG5pY2h0IGF1c2dlbnV0enQgd3VyZGUgLSBkYSBlcyBhYmVyIGF1c2dlbnV0enQgd3VyZGUsIG11c3N0ZW4Kd2lyIGRhcyBiZXJpY2h0aWdlbi4gRXZlbnR1ZWxsIHdlcmRlIGljaCBkaWUgQmVyZ3dhY2h0IHdpZWRlciBpbiBpaHJlbiBVci0KenVzdGFuZCB2ZXJzZXR6ZW4sIG5hY2hkZW0gZGVyIFdlZyB6dXIgQmVyZ3dhY2h0IHdpZWRlciBiZXNlaXRpZ3QgaXN0LgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIGxpZWJlIEJlcmd3YWNodCAoSm9mLCAgNy4gQXVnIDE5OTUsIDExOjMyOjQxKToKIyEgcm49Sm9mIHJ0PTgwNzc4NzQ5MwoKIERpZSBCZXJnd2FjaHQgaXN0IHdpZWRlciBpbiBpaHJlbSBhbHRlbiBadXN0YW5kLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1byBWYWRpcywgTXVkPyAoUnluZSwgIDcuIEF1ZyAxOTk1LCAxMzo1MjowOSk6CiMhIHJuPUlzbm9nb29kIHJ0PTgwNzYxNTM2MgpIaSBJc25vZ29vZCEKCmljaCBkZW5rZSwgbWl0IERlaW5lbSBBcnRpa2VsIGhhc3QgRHUgcmVjaHQga29tcGxldHQgZGVuIGdlc2FtdGVuIEZydXN0CmF1ZmdlemFlaGx0LCBkZXIgZWluaWdlIFNwaWVsZXIgaGllciBpbiBkZXIgbGV0enRlbiBaZWl0IGJlZmFsbGVuIGhhdDsKYWxsZXJkaW5ncyBnaWJ0IGVzIHdpZSB6dSB2aWVsZW4gYW5kZXJlbiBTYWNoZW4gYXVjaCBoaWVyIHp3ZWkgU2VpdGVuOgoKWnVyIGJ1ZyBiZWltIFN0ZWluaWUtQW11IHNjaHJlaWJzdCBEdToKCj5oYWJlIGljaCBiZWltIEthZW1wZmVuIHVtIGRhcyBTdGVpbmJlaXNzZXJhbXVsZXR0IGtlbm5lbmdlbGVybnQuIERhbm4gaGF0Cm1hbgo+ZGVuIEJ1ZyBiZXNlaXRpZ3QgdW5kIGRpZSBLYW1wZmdlbWVpbnNjaGFmdGVuIHdhcmVuIGlubmVyaGFsYiBrdWVyemVzdGVyClplaXQKPnZlcnNjaHd1bmRlbi4KCkpvLCBzdGltbXQsIGFiZXIgYW5zdGF0dCBkYXJ1ZWJlciB6dSBqYW1tZXJuLCBrb2VubnRlIG1hbiBqYSBCb2luZyBkYXp1IG1hbAphbnJlZ2VuLCBlaW5lIFN0ZWluaS1Ib2VobGUgPlNwZWNpYWwtRWRpdGlvbjwgenUgYmFzdGVsbiwgd28gbWFuIHdpZWRlciBtaXQKbWVocmVyZW4gaGlubXVzcywgdW5kIGRhbm4gYXVjaCBtZWhyZXJlIExldXRlIGVpbiBBbXUga3JpZWdlbiAtIHp1bWluZGVzdCBkaWUKSWRlZSBrb2VubnRlc3QgRHUgaWhtIGRvY2ggdW50ZXJicmVpdGVuLCBhbnN0YXR0IGFsdGVuIFplaXRlbiBuYWNoenV0cmF1ZXJuLApvZGVyID8KCgpadSBkZXIgU2FjaGUgU2NocnVtcGZpcyBHcnVmdDoKPkRpZSBLbmVpcGUgbGllZ3Qgc28gYWJnZWxlZ2VuLCBkYXNzIHNpZSBlaWdlbnRsaWNoIG51ciBmdWVyIFNlaGVyCmludGVyZXNzYW50IHdhci4KCkhhZSA/IGJlbnV0emVuIFNwaWVsZXIgZXR3YSBrZWluZSBXZWdlc2NyaXB0cyA/IEFsc28ga2FubiBkYSBkb2NoIGplZGVyIGhpbi4KU2VoIGljaCBuaWNodCBlaW4sIHVuZCB3YXJ1bSBkZXIgYnVnIGluIFNjaHJ1bXBmaXMgS25laXBlIG5pY2h0IGdlZml4dCB3ZXJkZW4Kc29sbHRlLCB3ZWlsIChkZWluZXIgTWVpbnVuZyBuYWNoKSBudXIgU2VoZXIgaGlua29lbm5lbiwgYmxlaWJzdCBEdSBhdWNoIGVpbmUKRXJrbGFlcnVuZyBzY2h1bGRpZy4KCj5VbmQgZGFubiBuZXVlIFJlZ2VsbiB1ZWJlciBSZWdlbG4uIEZydWVoZXIga29ubnRlIG1hbiBlcyBzaWNoIHdlbmlnc3RlbnMKPmF1c3N1Y2hlbiwgb2IgbWFuIGFscyBub3JtYWxlciBTcGllbGVyIGxpZWJlciBxdWVzdGV0ZSBvZGVyIEthZW1wZnRlLiBIZXV0ZQo+YnJhdWNoZSBpY2gsIHVtIEZldWVyYmFsbCB6dSBsZXJuZW4gbWluZGVzdGVucyA2MDAgQVAncy4gV296dSBzb2xsIGRhcyBndXQKPnNlaW4/CgpOdW4sIGljaCBzZWhlIGRlbiBGZXVlcmJhbGwgYWxzIGVpbmUgQmVsb2hudW5nIGFuLCB1bmQgZGllIG11c3MgbWFuIHNpY2ggaGFsdAp2ZXJkaWVuZW4uIFVuZCB3ZW5uIER1IGRhcyBhbmRlcnMgc2llaHN0LCBkYW5uIG11ZXNzdGVzdCBkdSBrb25zZXF1ZW50ZXJ3ZWlzZQphdWNoIGZvcmRlcm4sIGRhc3MgU3BpZWxlciBCdW1lcmFuZ3MgdW5kIFNjaGxhbW1kcmFjaGVucmluZ2UgYmVudXR6ZW4ga29lbm5lbiwKZGFmdWVyIGdpYnQgZXMgbmFlbWxpY2ggYXVjaCBlaW5lIEJlc2NocmFlbmt1bmcsIGRpZSBoZWlzc3QgU2VoZXJ3ZXJkZW4sCmJyYXVjaHQgbWFuIG5vY2ggbWVociBBUCBmdWVyIGFscyBmdWVyIGRlbiBGZXVlcmJhbGwuIFVuZCB1ZWJlcmhhdXB0LCB3YXJ1bQp2ZXJ3ZWhyZW4gd2lyIFNwaWVsZXJuLCBkaWUgbnVyIG1ldHplbG4gd29sbGVuLCBlaWdlbnRsaWNoIGltbWVyIG5vY2ggZGFzCmF1dG9sb2FkLUJsdXRzYXVnZXJzY2h3ZXJ0IG1pdCBHb2xkcmFuZCAoV0M9MTAwMCkgPwpOdW4sIGRpZXNlIFdlbHQgaGF0IGlocmUgUmVnZWxuLCB1bmQgZGllIGFlbmRlcm4gc2ljaCBtYW5jaG1hbCwgdW5kIGdlcmFkZSBpbQpGYWxsZSBkZXIgQVAtQW5mb3JkZXJ1bmdlbiBmdWVyIFNwaWVsZXIgZmluZGUgaWNoIHNpZSBzZWhyIHNpbm52b2xsIChPSE5FIGRhcwpoaWVyIHp1IGJlZ3J1ZW5kZW4sIGRlbm4gZGllc2UgRGlza3Vzc2lvbiB3dXJkZSBzY2hvbiBsYWVuZ3N0IG1laHJmYWNoCmdlZnVlaHJ0KQoKCj4gTnVyLCB3ZXIgdW0gYWxsZXMgaW4gZGVyIFdlbHQgaXN0IGF1ZiBkaWUgSWRlZSBnZWtvbW1lbiwgZGllCj5LYXJhdGVnaWxkZSBpbiBlaW4gc29sY2hlcyBHZWJpZXQgenUgbGVnZW4sIGluIGRlbSBlcyB3ZWRlciB2ZXJudWVuZi0KPiB0aWdlIEtuZWlwZW4gbm9jaCB2ZXJudWVuZnRpZ2UgTW9uc3RlciB6dW0gdWViZW4gZ2lidCB1bmQgZnVlcgo+IGRhcyBtYW4gYWxzIE5pY2h0c2VoZXIgMjAtMjUgTWludXRlbiB2ZXJzY2h3ZW5kZXRlIFplaXQgYnJhdWNodCwKPmJpcyBtYW4gaGlua29tbXQuCgpJc3QgZGFzIERlaW4gRXJuc3QgPyBXbyBnZWhvZXJ0IGRlbm4gZWluZSBLYXJhdGVnaWxkZSBoaW4sIHdlbm4gbmljaHQgaW4gZWluZQpGZXJub2VzdGxpY2hlIChhZWggd2VzdGxpY2ggOy0pIEdlZ2VuZCA/IERhc3MgZXMgZG9ydCBrZWluZSBvcmRlbnRsaWNoZW4KTW9uc3RlciB1bmQgS25laXBlbiBnaWJ0IGlzdCBuaWNodCBTYWNoZSBkZXIgR2lsZGUsIHNvbmRlcm4gZGVyIGRvcnRpZ2VuClJlZ2lvbnNtYWdpZXI7IHVuZCBhdWNoIGhpZXIgZ2lsdDogYW5zdGF0dCB6dSBqYW1tZXJuIHdhZXJlIGVzIHdvaGwKYW5nZWJyYWNodGVyLCBkZW4gUmVnaW9uc21hZ2llcm4gbWFsIFZvcnNjaGxhZWdlIHp1IG1hY2hlbiwgdW5kIHdlbm4gZGFzIGRhbm4KbmljaHRzIGZydWNodGV0LCBrYW5uIG1hbiBpbW1lciBub2NoIGluIGRlciBaZWl0dW5nIGVpbmUgRGlza3Vzc2lvbiBpbiBHYW5nCnNldHplbiAtIGFiZXIgc28gPyBEYXMgc2llaHQgbWlyIC0gd2llIHNjaHJpZWJzdCBEdSBFaW5nYW5ncyB2b24gInR5cGlzY2gKZGV1dHNjaGVtIFZlcmhhbHRlbiIgLSBuYWNoIGRlciB0eXBpc2NoIGRldXRzY2hlbiBydW1tb3R6ZXJlaSBhdXMsIG51cgptZWNrZXJuLCBuaWNodCBkaWUgU2FjaGUgYW5wYWNrZW4gdW5kIHZlcnN1Y2hlbiBldHdhcyB6dSBlcnJlaWNoZW4uCkJUVzogRGVpbmUgQXJndW1lbnRhdGlvbiAgYmVpc3N0IHNpY2ggZXR3YXMgaW4gZGVuIFNjaHdhbnosYSB3ZW5uIER1IGRpZQpLYXJhd2FuZSBhbHMgdmVyc2Nod2VuZGV0ZSBaZWl0IGFuc2llaHN0LCBkZW5uIER1IGthbm5zdCBkaWVzZSAyMC0yNSBNaW51dGVuCmphIGRhenUgbnV0emVuLCBkaWUgZG9ydCBtaXRmYWhyZW5kZW4gTGV1dGUga2VubmVuenVsZXJuZW4sIHdhcyBqYSBpbiBkZXIKU3RlaW5paG9laGxlIG5pY2h0IG1laHIgc28gcmVjaHQgbW9lZ2xpY2ggaXN0Li4uIE1hbiBrYW5uIHVlYnJpZ2VucyBuZSBnYW56ZQpNZW5nZSBTYWNoZW4gaW4gZGllc2VtIE11ZCB0dW4sIHVuZCB3ZW5uIER1IG5pY2h0IGluIGRlciBMYWdlIGJpc3QsIDIwIE1pbnV0ZW4KbWl0IGV0d2FzIGFuZGVyZW0gYWxzIG1ldHplbG4genUgdmVyYnJpbmdlbiwgZGFubiBoYXR0ZSBTb2NyYXRlIHdpcmtsaWNoCnJlY2h0LCBEQU5OIHNvbGx0ZXN0IER1IERpciBkaWVzYmV6Z2wuIG1hbCBhbiBkZW4gS29wZiBmYXNzZW4uCgoKPiB3ZW5uIHZpZWxlIGRlciBhbHRlbiBpcmdlbmR3YW5uIHdlZ2JsZWliZW4sIGRhbm4gd3VlcmRlCj4gZGllc2VzIE11ZCBzZWhyIHZpZWwgYWVybWVyIHdlcmRlbi4KCk51biwgTWVuc2NoZW4gYWVuZGVybiBzaWNoLCBaZWl0ZW4gYWVuZGVybiBzaWNoLCBkaWUgZ2FuemUgV2VsdCBhZW5kZXJ0IHNpY2gKamVkZW4gVGFnLCB1bmQgZGFzc2VsYmUgdHV0IGViZW4gYXVjaCBkYXMgTW9yZ2VuZ3JhdWVuLiBVbmQgZ2VuYXVzbyB3aWUgc2ljaApqZWRlciBSTCBhbnBhc3NlbiBtdXNzLCB1bSBtaXQgZGVuIFZlcmFlbmRlcnVuZ2VuIGxlYmVuIHp1IGtvZW5uZW4sIG11c3MgZXMKYXVjaCBqZWRlciBTcGllbGVyIGhpZXIgaW0gTXVkIHR1bi4KRGFzIGhlaXNzdCBqZXR6dCBuaWNodCwgZGFzcyBpY2ggbWl0IGplZGVyIEFlbmRlcnVuZyBoaWVyIG51ciBnbHVlY2tsaWNoIGJpbi4KSWNoIHNldHplIG1pY2ggYXVjaCBuaWNodCBoaW4gdW5kIHNhZyAiT0ggR0VJTCwgZGllIEJ1bW1pcyBzaW5kIHNjaHdhZWNoZXIKZ2V3b3JkZW4iLiBBYmVyIGljaCBzdGVsbGUgbWlyIGRpZSBGcmFnZTogV2FydW0gaGFiZW4gZGllIE1hZ3MgZGFzIHdvaGwKZ2VtYWNodCwgdW5kIGJlZGVua2UgZGFiZWksIGRhc3MgZGllIEJ1bWlzIHNjaG9uIGltbWVyIGRpZSB3aXJrdW5nc3ZvbGxzdGUKV2FmZmUgaGllciBpbSBNdWQgd2FyZW4uIFVuZCBkYXNzIGRpZXNlIGRhbm4gbWFuIGhlcnVudGVyZ2VzZXR6dCB3aXJ0ZCwgZGFtaXQKbXVzcyBtYW4gaGFsdCBMZWJlbi4gSWNoIGthbm4gZGFzLCB1bmQgaWNoIGtvZW5udGUgYXVjaCBtaXQgZWluZXIgTWVuZ2UgbWVocgpBZW5kZXJ1bmdlbiBsZWJlbi4KCk51biwgYmFsZCBzY2hsaWVzc3Qgc2ljaCBkZXIgS3JlaXMgenVtIEJlZ2lubiBEZWluZXMgQXJ0aWtlbHMsIHdvIER1CnNjaHJpZWJzdDogImFscyBlaW5lciBkZXIgYWVsdGVyZW4gU3BpZWxlciBoaWVyIGltIE11ZC4uLiIKTnVuLCBpY2ggYmluIHNvIHppZW1saWNoIGdsZWljaCBhbHQgd2llIER1LCBoYWJlIGplZG9jaCBlcmhlYmxpY2ggZnJ1ZWhlcgphbmdlZmFuZ2VuIGFscyBEdSwgZnVlciBFUHMgenUgbWV0emVsbi4gVW5kIGplZGVyLCBkZXIgZnJ1ZWhlciB2aWVsIGdlbWV0emVsdApoYXQsIHdlaXNzLCBkYXNzIGltIFZlcmdsZWljaCBkaWUgRVBzIGhldXRlIHNjaGxpY2h0IG5hY2hnZXdvcmZlbgp3ZXJkZW4uKGZyYWd0IGRvY2ggbWFsIFdvZWxrY2hlbiwgd2llIHNjaHdlciBlcyBmcnVlaGVyIHdhciwgZGllIDcsNSBtaW8gZXBzCnp1IHNhbW1lbG4sIGRpZSBzaWUgbWF4aW1hbCBlcnJlaWNodCBoYXQuLi4pLgoKQWxzbywgdmllbGxlaWNodCBzb2xsdGVzdCBEdSBEaXIgYmVpIERlaW5lciBnYW56ZW4gS3JpdGlrIG1hbCB1ZWJlcmxlZ2VuLCBvYgpzaWUgdWViZXJoYXVwdCBzbyBhbmdlYnJhY2h0IGlzdC4uLiBzbyBzY2hsaW1tLCB3aWUgRHUgZXMgZGFyc3RlbGxzdCwgaXN0IGRhcwpMZWJlbiBpbiBkaWVzZW0gTXVkIGZ1ZXIgZGllIFNwaWVsZXIgbmljaHQsIHp1bWluZGVzdCB3ZW5uIG1hbiBlaW5lIGdld2lzc2UKRmxleGliaWxpdGFldCBiZXNpdHp0LCB1bSBzaWNoIGFuenVwYXNzZW4uCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1byBWYWRpcywgTXVkPyAoRmxpbnRuYWlsLCAgNy4gQXVnIDE5OTUsIDE0OjE2OjU3KToKIyEgcm49UnluZSBydD04MDc3OTYzMjkKKmp1c3QgbXkgc2VuZioKCnRzY2hhIFJ5bmUgaGF0IGphIHNjaG9uIGRhcyBtZWlzdGUgZ2VzYWd0ITopCgphbnNvbnN0ZW46CgpTb29vbyBqdW5nIGJpbiBpY2ggYXVjaCBuaWNoLCBnZW1lc3NlbiBhbSBlcnN0ZW4gRWlubG9nZ3RhY2g6KSB1bmQgbWlyIGZhZWxsdAphdWYsIGRhc3Mgc2ljaCBuZSBnYW56ZSBNZW5nZSBHZXNjaGljaHRlbiBpbSBNdWQgd2llZGVyaG9sZW4uLi4uCkFsc28gbmFjaCBkZXIgQXJ0OgogIFNwaWVsZXIgYWVyZ2VydCBzaWNoIHVlYmVyIE5ldXByb2dyYW1taWVydW5nIGJlc3QuIFNhY2hlbi4uLgogICBTcGllbGVyIHNjaHJlaWJ0IEZsYW1lcyBpbiBtcGEuLi4KICAgTWFnIHJlYWdpZXJ0IG5pY2ggc29mb3J0IGRyYXVmLi4uCiAgU3BpZWxlciBhZXJnZXJ0IHNpY2ggbm9jaCBtZWhyLi4uCiAgdW5kIGRlciBLcmVpc2xhdWYgZGVzIEFydGlrZWxzY2hyZWliZW5zIGJlZ2lubnQ6KQogIC4uLi51bmQgamVkZXIgYmV0ZWlsaWd0IHNpY2ggbWVociBvZGVyIHdlbmlnZXIgZHJhbi4uLgoKIE9iIGVzIGpldHp0IGRpZSBOYW1lbiBkZXIgTXVkZGVyIHNpbmQsIG9kZXIgaWhyICdzb3ppYWxlcycgVmVyaGFsdGVuIDopCiBFcyBpaXN0IGltbWVyIGRhcyBnbGVpY2hlOikKClNlaXQgaWNoIG1pY2ggc2VsYnN0IG5lbiBiaXNzY2hlbiBtaXQgTFBDIGJlc2NoYWVmdGlnZSwgdmVyc3RlaCBpY2ggTWFncyB2aWVsCmJlc3NlcjopLCAuLi4KRXMgZ2lidCBhbGxlcmRpbmdzIGF1Y2ggU2FjaGVuLCBkaWUgbWlyIG5pY2ggaW4gZGVuIEtvcGYgd29sbGVuKCB6LkIuIFdhcnVtCm1hbmNoZSBNYWdzIHF1ZXN0cmVsZXZhbnRlIE9iamVrdGUgaW5zIHJlc2V0KCkgc2NocmVpYmVuLCB1bmQgbmljaCBpbnMKZ2UtaWYtZWQgaW5zIGluaXQoKQopCgpuYWphLi4uCiAgbWVpbmUgYmVpZGVuICBFbXBpcmlhbHMuLi4KICBGbGludG5haWwKCiAqc2VuZiBvZmYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBRdW8gVmFkaXMsIE11ZD8gKEFzbW9kaXMsICA3LiBBdWcgMTk5NSwgMTQ6NTU6NDEpOgojISBybj1GbGludG5haWwgcnQ9ODA3Nzk3ODE3Cm5hamEsIGljaCBhZXJnZXIgbWljaCBlaWdlbnRsaWNoIG5pY2h0IGRhcnVlYmVyLCBkYXNzIGlyZ2VuZHdhcwpnZWFlbmRlcnQgd2lyZCwgc29uZGVybiBkYXNzIHBsb2V0emxpY2ggbmFjaGRlbSBkYXMgRmVhdHVyZSBlaW4KaGFsYmVzIEphaHIgYmVzdGVodCwgcGxvZXR6bGljaCBpcmdlbmRlaW4gR290dCBtZWludCwgZGFzcwplcyB6dSBzdGFyayBpc3QuIEVudHdlZGVyIHNpbmQgZGllc2UgR29ldHRlciB1ZWJlcmhhdXB0IG5pY2h0CmRhcnVlYmVyIGluZm9ybWllcnQsIHdhcyBpbSBNVUQgYWJnZWh0LCBvZGVyIC4uLiBobW0sIGdpYnRzCnVlYmVyaGF1cHQgZWluIG9kZXIgPz8/ICpzaHJ1ZyoKRGVyIE1lbnNjaCBpc3QgZWJlbiBlaW4gR2V3b2huaGVpdHN0aWVyLCB1bmQgd2VubiBlciBzb3dhcyB3aWUKYW4gZGVyIEJlcmd3YWNodCB0YW5rZW4gYWxzIEdld29obmhlaXQgdWViZXJub21tZW4gaGF0LCBkYW5uCmFlcmdlcnQgZXIgc2ljaCBlYmVuIGRhcnVlYmVyLCB3ZW5uIGVzIHBsZW90emxpY2ggd2VnZmFlbGx0LgpHaWx0IG5hdHVlcmxpY2ggYXVjaCBmdWVyIEVsZmVuL1p3ZXJnZSA6KQoKICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzKFNlaGVybWVuc2NoLCBNZW5zY2hlbnNlaGVyLCBNZW5zY2ggU2VoZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBRdW8gVmFkaXMsIE11ZD8gKENhcmFkaHJhcywgIDcuIEF1ZyAxOTk1LCAyMzo0MjoyMCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODA3ODAwMTQxCkdvZXR0ZXIgc2luZCBsZWlkZXIgKG9kZXIgenVtIEdsdWVjaz8pIGZhc3QgbmllIGRhcnVlYmVyIGluZm9ybWllcnQsCndhcyBhbGxlcyBpbSBNdWQgYWJnZWh0LiBEYXMgc2NoYWZmZW4gZmFzdCBuaWNodCBtYWwgU3BpZWxlciBkaWUgb2Z0CmhpZXIgZHJpbiBzcGllbGVuIHNpY2ggaW5mb3JtaWVydCB6dSBoYWx0ZW4uCgpBYmVyIHdhcyBBc21vZGlzIG1laW50ZSwgd2FyIGF1Y2ggbWVpbmUgTWVpbnVuZywgbmFlbWxpY2ggZGFzcyBlcyBuYWNoCnNvIGxhbmdlciBaZWl0IHNvIGV0d2FzIGFlaG5saWNoZXMgd2llICdSZWNodCBkZXIgR2V3b2huaGVpdCcgZ2lidCB1bmQKbWFuIGRlc2hhbGIgbWVociBncnVtbWVsdCB3ZW5uIGV0d2FzIG5hY2ggMSBKYWhyIG9kZXIgMS41IEphaHJlIGdlLQphZW5kZXJ0IHdpcmQgYWxzIHdlbm4gZXMgaW5zIE11ZCByZWlua29tbXQgdW5kIG5hY2ggZWluaWdlbiBXb2NoZW4KbWVya3QgZWluIEdvdHQgd2llIGd1dCBlcyBpc3QgdW5kIGVzIHdpcmQgd2llZGVyIGFiZ2VzY2h3YWVjaHQuClNpY2hlciBnaWJ0IGVzIE5JRSBlaW4gUmVjaHQgZGVyIEdld29obmhlaXQgaW4gTXVkcywgbnVyIGluIFJMIGdpYnRzCmRhcywgYWJlciBkZXNoYWxiIHNvbGx0ZSBlcyBkb2NoIHZlcnN0YWVuZGxpY2ggc2VpbiB3ZW5uIG5hY2ggMS41CkphaHJlbiAoPykgQnVtbWlzIG9kZXIgYW5kZXJlIERpbmdlIGFiZ2VzY2h3YWVjaHQgd2VyZGVuLCBhbiBkaWUgbWFuCnNjaG9uIHNvIGdld29laG50IGlzdCBkYXNzIG1hbiBzaWUgc2ljaCBhbmRlcnMvc2NobGVjaHRlciBnYXIgbmljaHQKdm9yc3RlbGxlbiBrYW5uLgoKICAgICAgICAgICAgIHRzY2hvZSAgICAgICBDYXJhZGhyYXMgLSB0cmF1ZXJ0IHNlaW5lbSBCdW1taSBuYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hsdXNzICEhISAoTWVzaXJpaSwgIDguIEF1ZyAxOTk1LCAxMTo1OTozNCk6CkhhbGxvIExldXRlLApuYWNoZGVtIGRhcyBBdXNyYXViZW4gbWVpbmVzIGtsZWluZW4gTGFkZW5zIHNjaGVpbmJhcgp6dXIgcmVnZWxtYWVzc2lnZW4gR2V3b2huaGVpdCBnZXdvcmRlbiBpc3QsIGhhYiBpY2ggZWluZmFjaAprZWluZSBMdXN0IG1laHIsIG1pY2ggc3RhZW5kaWcgcnVtenVhZXJnZXJuLgpXZXIgaXJnZW5kd2FzIHZvbiBkZW4gU2FjaGVuIGhhYmVuIHdpbGwsIGRpZSBlcyBub3JtYWxlcndlaXNlCmJlaSBtaXIgenUga2F1ZmVuIGdpYnQsIHNvbGwgc2ljaCBiaXR0ZSBhbiBtaWNoIHdlbmRlbiAoRmFsbHMKaWNoIG5pY2h0IGRhIGJpbiAtIFBlY2ggZ2VoYWJ0IChkYW5rdCBkZW0sIGRlciBzdGFlbmRpZyBtZWluCkhhdXMgYXVzcmFldW10KSkKClRzY2h1ZXNzaWkgTWVzaXJpaSAoZXJuc3RsaWNoIHZlcmFlcmdlcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobHVzcyAhISEgKEphZiwgIDguIEF1ZyAxOTk1LCAxMzo1ODoyMik6CiMhIHJuPU1lc2lyaWkgcnQ9ODA3ODc1OTc0CgoKc3cKMS4gdm9sbHN0ZXMgVmVyc3RhZW5kbmlzIGZ1ZXIgTWVzaXJpaXMgTGFkZW5zY2hsaWVzc3VuZy4KMi4gV2VubiBpY2ggZGVuamVuaWdlbiBlcndpc2NoZSwgZGVyIFNhY2hlbiBhdXMgbWVpbmVtIEhhdXMga2xhdXQsCndlcmRlIGljaCBhZXJnZXJsaWNoLCB1bSBkYXMgbWFsIHZvcnNpY2h0aWcgenUgZm9ybXVsaWVyZW4uIExldHp0ZXMKTWFsIGhhYmVuIGFsbGUgRmxhbW1lbmt1Z2VsbiBnZWZlaGx0LCBvYndvaGwgaWNoIGRpZSBudXIgZnVlciBlaW4gcGFhcgpNaW51dGVuIGxpZWdlbmdlbGFzc2VuIGhhYi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NobHVzcyAhISEgKE9ya3RvZXRlciwgIDguIEF1ZyAxOTk1LCAxNDoxMzoyOCk6CiMhIHJuPUphZiBydD04MDc4ODMxMDIKQWxzbyBGeXQsIGVyc3RlbnMga2FubiBtYW4gc2VpbiBoYXVzIGFic2NobGllc3NlbiwgendlaXRlbnMga2FubiBtYW4gbnVyCmJlc3RpbW10ZW4gTGV1dGVuIGRlbiBadXRyaXR0IGdlc3RhdHRlbiB1bmQgZHJpdHRlbnMga2FubiBtYW4gd2ljaHRpZ2UgZGluZ2UKYXVjaCBub2NoIGluIGRlciBydWhlIGVpbnNjaGxpZXNzZW4gdW5kIGRhbWl0IGltbWVyIG5vY2ggYWxsZW4gZXJtb2VnbGljaGVuLApkaWUgZWlnZW5lbiBSYXVtYmVzY2hyZWlidW5nZW4genUgZ2VuaWVzc2VuLgpXZW5uIGR1IGF1Y2ggbnVyIGVpbmUgZGVyIG9lYmVuIGdlbmFubnRlbiBtb2VnbGljaGtlaXRlbiBiZW51dHp0IGhhZXR0ZXN0LAp3YWVyZSBlcyBuaWNodCBkYXp1IGdla29tbWVuLgpXaWUgc29sbCB6dW0gYmVpc3BpZWwgZWluIEFuZmFlbmdlciB3aXNzZW4sIGRhcyBGeXQncyBoYXVzIGVpbiBlY2h0ZXMKc2VoZXJoYXVzIGlzdCB1bmQgWndhY2tlbG1hbm5zIFNjaGxvc3MgImdlbHVlbmRlcnQiIHdlcmRlbiBkYXJmID8KV2VubiBlcyBuYXR1ZXJsaWNoIGVpbiBiZXd1c3N0ZXIgRGllYnN0YWhsIHdhciwgaXN0IGVyIG5hdHVlcmxpY2ggYXVjaAp2ZXJ3ZXJmbGljaC4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGx1c3MgISEhIChPcmt0b2V0ZXIsICA4LiBBdWcgMTk5NSwgMTQ6MTU6MjIpOgojISBybj1Pcmt0b2V0ZXIgcnQ9ODA3ODg0MDA4ClVwcyBlbnRzY2h1bGRpZ3QgYml0dGUgZGllIFR5cG9zIGluc2Jlc29uZGVyZSBpc3QgZXMgZWluZSBUcnVoZSB1bmQga2VpbmUKcnVoZSAgZXMgbXVzcyBhdWNoIGhlaXNzZW4gImdlcGx1ZW5kZXJ0IiB1bmQgbmljaHQgImdlbHVlbmRlcnQiIDopCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY2hsdXNzICEhISAoSmFmLCAgOC4gQXVnIDE5OTUsIDE0OjM5OjI5KToKIyEgcm49T3JrdG9ldGVyIHJ0PTgwNzg4NDEyMgoKTmFqYSwgZnVlciBkaWUgZnVlbmYgTWludXRlbiwgZGllIGljaCBtYWwgenUgbmVtIE1vbnN0ZXIgcmVubmUsIGJlaSBkZW0KaWNoIGFubmVobWUsIGRhc3MgaWNoIG1pdCAnZW5kZScgcmF1c211c3MsIGhhdHRlIGljaCBiaXMgamV0enQgbm9jaCBuaWNodAphbmdlbm9tbWVuLCBkYXNzIGljaCBtZWluZSBCdWRlIHp1c2NobGllc3NlbiBtdXNzLiBVbmQgYWxsZXMgaW4gZGllIFRydWhlCnp1IGxlZ2VuIGlzIGphIG5vY2ggbmVydmlnZXIgOikgIEFiZXIgYXVzICdGZWhsZXJuJyBsZXJudCBtYW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRPUC1MaXN0ZW4gKEplcnJpY28sICA4LiBBdWcgMTk5NSwgMjM6MTU6MzQpOgpIaSwKd2llIHdhZXJlIGVzIHdlbm4gaW4gZGVuIFRvcC1MaXN0ZW4gbnVyIGRpZSBhdWZnZWZ1ZWhydCB3ZXJkZW4sIGRpZSBpbiBkZW4KbGV0enRlbiBzaWViZW4gVGFnZW4gZWluZ2Vsb2dndCB3YXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRvY2ggbmljaHQgU2NobHVzcyEhIChNZXNpcmlpLCAgOS4gQXVnIDE5OTUsIDAyOjMxOjM3KToKSGFsbG8gTGV1dGUsCm1laW4gTGFkZW4gaXN0IHdpZWRlciBhdWYsIChtaXQgQW5mYWVuZ2Vyc2NodXR6KSAtIHdlbm4gdHJvdHpkZW0Kd2llZGVyIGdla2xhdXQgd2lyZCwgbGFzcyBpY2ggbWlyIHZvbiBlaW5lbSBNYWdpZXIgbWVpbmVzClZlcnRyYXVlbnMgZWluZW4gbmV0dGVuIFNjaHV0eiBwcm9ncmFtbWllcmVuIDspCgpWaWVsIFNwYXNzCk1lc2lpIChiZXNzZXIgZ2VsYXVudCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUT1AtTGlzdGVuIChDdWNodWxsaW4sICA5LiBBdWcgMTk5NSwgMTI6NTg6NDIpOgojISBybj1KZXJyaWNvIHJ0PTgwNzkxNjUzNAoKTmljaHQgcnVtbW9zZXJuLCBpbiBkZW4gVG9wLUxpc3RlbiB3ZXJkZW4gZWggbnVyICJha3RpdmUiIFNwaWVsZXIKYXVmZ2VmdWVocnQuLi4gU3BpZWxlciwgZGllIDMwIFRhZ2UgbmljaHQgZWluZ2Vsb2dndCB3YXJlbiwgc2luZCBkYXMgKGx0LgpHb2V0dGVyIDspKSBuaWNodCBtZWhyLgoKUmFldCBKZXJyaWNvOiBOaWNodCB2ZXJ6YWdlbiwgTWFnZ2kgZnJhZ2VuISwKCkN1Y2guLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F1ZXJlaSEgKENyYWlnLCAxMC4gQXVnIDE5OTUsIDExOjMzOjE4KToKCldhcyB3dXJkZSBkZW5uIGJlaW0gR29ibGlubmhleGVyIGdlYWVuZGVydD8gSWNoIGthbSBoZXV0ZSBhdWYgZGFzIEZlbGQgdW5kCmRvcnQgc3RlaHQgbmViZW4gZGVtIEhleGVyIGllbiBIb2Jnb2JsaW4uCkhhbGIgc28gc2NobGltbSwgZGVuayBpY2gsIHVuZCBiZWZlaGxlICJ0b2V0ZSBIb2Jnb2JsaW4iIChuaWNodCBIZXhlciB1bmQKYXVjaCBuaWNodCBhbGxlKS4gU29mb3J0IGdyZWlmdCBtaWNoIGRlciBIZXhlciBhbiB1bmQgemF1YmVydCBub2NoIGVpbmlnZQpHb2JsaW4gaGVyYmVpLiBFaGUgaWNoIHJlY2h0IGthcGllcnQgaGFiZSwgd2FzIFNhY2hlIGlzdCwgZmluZGUgaWNoIG1pY2ggYmVpCm1laW5lbSBGcmV1bmQgTGFycyB3aWVkZXIuCldlbm4gZGFzIEFic2ljaHQgaXN0LCB1bmQga2VpbiBidWcsIGRhbm4gZmluZGUgaWNoIGRhcyBlY2h0IGhpbnRlcmhhZWx0aWcuClNjaG9uIGJpc2hlciB3dXJkZW4gQWJlbnRldXJlciBiZW5hY2h0ZWlsaWd0LCB3ZWlsIGRlciBIZXhlciBIaWxmZQpoZXJiZWl6YXViZXJ0ZS4gQmVpIEthcmF0ZWthIHdhciBkYXMgbmljaHQgZGVyIEZhbGwsIGJpc2hlciBqZWRlbmZhbGxzLgpEZXNoYWxiIHdhciBmdWVyIGRpZSBkZXIgaGV4ZXIgZWluIEtsYWNrcy4gTnVuLCBmdWVyIG1pY2ggc2NoZWludCBlcgpuZXVlcmRpbmdzIHVua2FwdXR0YmFyIHp1IHNlaW4sIGplZGVuZmFsbHMgYWxsZWluLgpBY2hzbywgYWxzIGljaCB6dXJ1ZWNra2FtLCB1bSBtZWluZSBTYWNoZW4genUgaG9sZW4sIHN0YW5kZW4gZGEgNCAoISkKYWdncmVzc2l2ZSBHb2JsaW5zLiBFaW4gR2x1ZWNrIGhhdCBtaXIgb3JrdG9ldGVyIGdlaG9sZmVuLi4uCgpTb2xsdGUgZXMgZG9jaCBlaW4gYnVnIGdld2VzZW4gc2VpbjogTWFnaWVyIHp1IG1pciB1bmQgRVAgenVydWVjayAoZGF2b24KdHJhZXVtZSBpY2ggd29obC4uLikhCgpFbnNjaHVsZGlndCBkaWUgdmllbGVuIFR5cG9zLCBiaW4gZXR3YXMgZHVyY2hlaW5hbmRlci4KCkV1ZXIgQ1JBSUcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYXVlcmVpISAoWmFyZG96LCAxMC4gQXVnIDE5OTUsIDExOjM1OjQ0KToKIyEgcm49Q3JhaWcgcnQ9ODA4MDQ3MTk4Ck5lLCBkYXMgd2FyIHNjaG9uIGltbWVyIHNvIDotKSBKZWRlbmZhbGxzIHNjaG9uLCBhbHMgaWNoIG5vY2ggU3BpZWxlciB3YXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYXVlcmVpISAoUm9jaHVzLCAxMC4gQXVnIDE5OTUsIDExOjQ4OjMyKToKIyEgcm49Q3JhaWcgcnQ9ODA4MDQ3MTk4CjEuIERlciBIb2Jnb2JsaW4gaXN0IHdhaHJzY2hlaW5saWNoIGluIGRlbiBSYXVtIGdla29tbWVuLCBpbmRlbSBlciBhdXMKICAgZGVtIE5hY2hiYXJyYXVtIGdlZmxvaGVuIGlzdCAtIGRhcyBtYWNoZW4gSG9iZ29ibGlucyBuYWVtbGljaCBiZWkKICBiZXNvbmRlcnMgd2VuaWdlbiBMZWJlbnNwdW5rdGVuLCB3ZWlsIHNpZSBuaWNodCBzbyBkdW1tIHdpZSBnZXdvZWhubGljaGUKICBHb2JsaW5zIHNpbmQuCjIuIFdlbm4gZWluIEhvYmdvYmxpbiBhbmdlZ3JpZmZlbiB3aXJkLCBoZWxmZW4gaWhtIEFMTEUgYW53ZXNlbmRlbiBHb2JsaW5zLgogIERlciBIZXhlciBpc3QgZWluIEdvYmxpbiwgd2VubiBhdWNoIGVpbiB1bmdld29laG5saWNoZXIuCjMuIERlciBIZXhlciBoYXQgc2Nob24gaW1tZXIgSGlsZmUgaGVyYmVpZ2V6YXViZXJ0LCB3ZW5uIGVyIEdlZ25lciBhbHMKICBzdGFyayBlaW5nZXNjaGFldHp0IGhhdC4gSWNoIGhhYmUgdm9yIGVpbmlnZXIgWmVpdCBkZW4gQnVnIGJlaG9iZW4sCiAgZGFzcyBlciBLYXJhdGVrYSB1bnRlcnNjaGFldHp0IGhhdCBVTkQgREFTIElOIERJRSBaRUlUVU5HIEdFU0NIUklFQkVOIQpFcyBpc3QgYWxzbyBrZWluIEJ1Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2F1ZXJlaSEgKFRvc3MsIDEwLiBBdWcgMTk5NSwgMTE6NTA6MzUpOgojISBybj1aYXJkb3ogcnQ9ODA4MDQ3MzQ0CkFsbGVyZGluZ3Mgd2FyIGRhcyBzY2hvbiBpbW1lciBzby4uLiBOdXIgaGF0dGUgc2ljaCBkYSBtaXQgZGVuIEthcmF0ZWthIHdhcwp2ZXJhZW5kZXJ0LCB1bmQgd2VpbCBkaWUgc28gZWluZmFjaCBkYSByYW5rb25udGVuLCBkYWNodGVuIGFsbGUsIGRlciBoZXhlcgp3YWVyZSBlYXN5OyBkYSBSb2NodXMgZGVuIGJ1ZyBtaXR0bGVyd2VpbGUgZ2VmaXh0IGhhdCwgaXN0IGRlciBIZXhlciBhYmVyCndpZWRlciBzbyB3aWUgZnJ1ZWhlci4KClJ5bmUgLSBkZW5rdCBhbiBkaWUgZ3V0ZW4gWmVpdGVuLCBhbHMgZXIgbWl0IFRvZXRlciBhbGxlIE1vZWdsaWNoZW4gVGFrdGlrZW4KcHJvYmllcnRlLCB1bSBkZW0gSGV4ZXIgYmVpenVrb21tZW4uIHVuZCB0cm90emRlbSAzIG1hbCBkYXJhbiBzCnN0YXJiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKemllaGUgYWxsZXMgYW4gKExldXNlbCwgMTAuIEF1ZyAxOTk1LCAxMjowMzoyMyk6CkhpICEKCldlbm4gaWNoIHppZWhlIGFsbGVzIGFuIG1hY2hlLCBkYW5uIHppZWhlIGljaCBhbGxlcyBhbiAoc28gc29sbCBlcyBqYSBhdWNoCnNlaW4pLCBhYmVyIGFtIEVuZGUga29tbXQgaW1tZXIgZWluICd3aWUgYml0dGU/Jy4KCkRhcyBzb2xsIGphIHdvaGwgbmljaHQgc28gc2Vpbi4KCkxldXNlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXVlcmVpISAoQ3JhaWcsIDEwLiBBdWcgMTk5NSwgMTI6MzY6MzUpOgojISBybj1Sb2NodXMgcnQ9ODA4MDQ4MTEyCgpBbGxlcyBrbGFyIFJvY2h1cywgc28gaGF0IG1pciBaYXJkb3ogZGFzIGF1Y2ggZXJrbGFlcnQuIExldWNodGV0IGphIGF1Y2ggZWluLgpEYSBrYW5uIG1hbiB3b2hsIG51ciBzYWdlbjogRHVtbSBnZWxhdWZlbi4KCk51biwgZGllIE5ldWVydW5nIGlzdCBndXQsIGRlbm4gZGVyIEhleGVyIHNvbGwgYXVjaCBzY2h3ZXIgc2Vpbi4gRGEgbXVzcyBtYW4KaGFsdCBhdWNoIG1hbCBkcmF1ZmdlaGVuLCBlbnRzY2h1bGRpZ3QgZGllIHZvcmVpbGlnZSBNZWNrZXJlaS4KCkNSQUlHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJZ25vcmllcmVuIGRlciBBcmVuYSAoRHVyaWFuLCAxMC4gQXVnIDE5OTUsIDE3OjQ4OjA4KToKSGFsbG8gTGV1dGUhCgpMZXR6dGVucyBrYW0gbWFsIHdpZWRlciBkaWUgRnJhZ2UsIG9iIG1hbiBkZW4gQm90ZW4gZGVyIEFyZW5hIHN0YWVuZGlnCmVydHJhZ2VuIG11c3MgKGljaCB3ZWlzcyBuaWNodCBtZWhyIGluIHdlbGNoZXIgUnVicmlrLCBkZXNoYWxiIGFudHdvcnRlCmljaCBtYWwgaGllcikuIEFsc28sIG5laW4sIG1hbiBtdXNzIGlobiBuaWNodCBlcnRyYWdlbiwgbWFuIGthbm4gc2ljaAp3ZWhyZW4gOi0pIFVuZCB6d2FyCgppZ25vcmllcmUgYXJlbmEuZHVlbGwKCklnbm9yaWVydCBkZW4gQm90ZW4sIHdlbm4gZXIgbWFsIHdpZWRlciBlaW4gRHVlbGwgYW5rdWVuZGlndCAuLi4KCmlnbm9yaWVyZSBhcmVuYS5nbGFkaWF0b3IKCklnbm9yaWVydCBkZW4gQm90ZW4sIHdlbm4gV2lsbG93IG1hbiB3aWVkZXIgZGllIEdsYWRpYXRvcmVuIGhlcmFpc2ZvcmRlcnQgOi0pCgppZ25vcmllcmUgYXJlbmEKCklnbm9yaWVydCBhbGxlcyB3YXMgbWl0IGRlbSBCb3RlbiB6dSB0dW4gaGF0LiBIaWVydm9yIG1vZWNodGUgaWNoIGluc29mZXJuCnNjaG9ubWFsIHdhcm5lbiwgd2VpbCBkaWUgQXJlbmEgZGVtbmFlY2hzdCAoYWxzbyBpbm5lcmhhbGIgZGVyIG5hZWNoc3RlbgoyIEphaHJlIDotKSkgdW0gZWluIHdlaXRlcmVzIEZlYXR1cmUgZXJ3ZWl0ZXIgd2lyZC4gVW5kIHdlciBkYW5uIGRpZSBnYW56ZQpBcmVuYSBpZ25vcmllcnQsIHN0ZWh0IHdvbW9lZ2xpY2ggaW0gUmVnZW4gOi0pIEdlbmF1ZXJlcyBkZW1uYWVjaHN0CmluIGRpZXNlbSBQcm9ncmFtbSEKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzY2htYXJybiAoR29sdW0sIDExLiBBdWcgMTk5NSwgMDI6NDU6MjcpOgppaQpFaW4gTmFjaHRkb2xjaC4KRWluZSBOYWNodHJ1ZXN0dW5nLgpFaW5lIE5hY2h0cnVlc3R1bmcuCkVpbiBOYWNodGRvbGNoLgpEYXMgQW11bGV0dCBkZXIgQWthZGVtaWUuCkRhcyBBbXVsZXR0IGRlciBTdGVpbmJlaXNzZXIgKGFuZ2V6b2dlbikuCkVpbmUgS3Jpc3RhbGxrcm9uZSAoYW5nZXpvZ2VuKS4KRGVyIFVtaGFuZyBkZXMgVG9kZXMgKGFuZ2V6b2dlbikuCkRhcyBCbHV0c2F1Z2VyLVNjaHdlcnQuCkVpbiBSaW5nIGRlciBJbnRlbGxpZ2VueiAoKzEpIChhbmdlem9nZW4pLgpFaW4gUGFhciBzY2h3YXJ6ZSBTdGllZmVsIChhbmdlem9nZW4pLgpFaW5lIExlZGVyaG9zZSAoYW5nZXpvZ2VuKS4KRWluIFBhYXIgc2Nod2FyemUgSGFuZHNjaHVoZSAoYW5nZXpvZ2VuKS4KRWluIGdlbGJlcyBQb3N0cGFrZXQgKGdlb2VmZm5ldCkuCkVpbiBTY2hsZWltYmV1dGVsLgpFaW5lIERpZGRsLUtudWRkZWwtTWF1cy4KRWluIEhvcm5wYW56ZXIgKGFuZ2V6b2dlbikuCkRhcyBTZXJ2aWNlcGFrZXQgdm9uIE1vcmdlbmdyYXVlbnMgUHJlc3NlYWdlbnR1ci4KRWluIEZyZXVuZHNjaGFmdHNiYW5kIChnZXRyYWdlbikuCkVpbiBBbnRpLUFuZHktQnV0dG9uLgotLW1laHItLSg4NyUpIEFORkFORwpFaW4gZ29sZGVuZXIgUmluZy4KR29MdW1zIFRlZGR5YmFlciBGcm9kby4KMTAwNzUgTXVlbnplbi4KPiBEdSBoYXN0IGpldHp0IDE5MCBMZWJlbnNwdW5rdGUgdW5kIDE3OCBNYWdpZXB1bmt0ZS4Kc3RlY2tlIGFsbGVzIGluIHBha2V0CkR1IHN0ZWNrc3QgZWluZW4gTmFjaHRkb2xjaCBpbiBkYXMgUGFrZXQuCkFsc28gZGFzIEVyc3RlIE9iamVrdCBpbSBJbnZlbnRvcnkgc3RlbGx0IGFsc28gYWxsZXMgZGFyID8KaG1tbSBlZ2FsIHVlYnJpZ2VucyBvYiBtaXQgYmVoYWx0ZSBtYXJraWVydCBvZGVyIG5pY2h0IC4uLiBkZXIgZXJzdGUgRWludHJhZwppbiBkZW0gSW52ZW50b3J5IHdpcmQgZWluZ2VzdGVja3Qgb2RlciB2ZXJrYXVmdCAuIGJlaSBtaXIgYXVmIGFsbGUgRmFlbGxlCkdvbHVtIGRlciBFaW5zYW1lIGRlciBaZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0aXRlbCAoUmlrZXIsIDExLiBBdWcgMTk5NSwgMTg6NTQ6NDYpOgpFTlRFUlBSSVNFIGlzIEJBQ0sKCkFtIDExLCBBdWd1c3QgbG9nZ3RlIHNpY2ggZGVyIHp3ZWlnZXNwYWx0ZW5lIFJpa2VyIHp1CmVyc3RlbiBtYWxlIGluIE1HIGVpbi4KSWhtLCBVbnMsIGdlZmFlbGx0IGVzIHNlaHIgZ3V0IGhpZXIKCmRhcyB3YXIgdW5zZXJlIG1lc3NhZ2UgIS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgQkFHR0VSIChKb2YsIDE0LiBBdWcgMTk5NSwgMTI6NTc6NDApOgoKIEFtIDE0LjguMTk5NSB2b3JtaXR0YWdzIGhhdHRlIGVpbiBrbGVpbmVyIEJhZ2dlciBwbG9ldHpsaWNoIEhlaXNzaHVuZ2VyIGF1ZgpBYndlY2hzbHVuZy4gRXIgc2FndGUgc2ljaDogRXMgaXN0IGRvY2ggbGFuZ3dlaWxpZywgaW1tZXIgbnVyIEVyZGUgdW5kIFN0ZWluZQp6dSBmcmVzc2VuLCBpY2ggYnJhdWNoIG1hbCB3YXMgYW5kZXJlcy4gRGEgZmllbCBzZWluIEJsaWNrIGF1ZiBlaW4gZHVlbm5lcwpldHdhcyB3aWUgZWluIFd1cm0sIGRhcyB2b3IgaWhtIGltIEJvZGVuIGxhZy4gU28gbWFnaXNjaCBmdWVobHRlIGVyIHNpY2gKdm9uIGRlbSBldHdhcyBhbmdlem9nZW4sIGRhc3MgZXIgenViaXNzIHVuZCBlcyBkdXJjaHRyZW5udGUuIERhbmFjaCB3YXIgZXIKZ2x1ZWNrbGljaCB1bmQgenVmcmllZGVuLgoKIFNDSEVJU1MgQkFHR0VSLCBzYWd0ZSBkZXIgTWFubiB2b24gZGVyIFRlbGVrb20uIFdpZWRlciBlaW4gR2xhc2Zhc2Vya2FiZWwKa2FwdXR0ISBEaWVzbWFsIHp3aXNjaGVuIE11ZW5zdGVyIHVuZCBEb3J0bXVuZCAuLi4gc293YXMgc293YXMgLi4uIGZ1ZXIKTXVlbnN0ZXIgZ2VodCBqZXR6dCB3b2hsIG5peCBtZWhyIC4uLiB0amFqYWphIC4uLgoKIEJpcyAyMCBVaHIgd2lyZHMgKGhvZmZlbnRsaWNoKSByZXBhcmllcnQgc2VpbiA6KCgoCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVebiBWYW5kYWxpc211cyAoS2FpZywgMTUuIEF1ZyAxOTk1LCAwNToxNzo0OCk6CiMhIHJuPUVkIHJ0PTgwNzIwODIxNApIaSBFZCwKCmZpbmRlIGljaCBncm9zc2UgS2xhc3NlIGRlaW5lIFZvcnNjaGxhZWdlLiBCZXNvbmRlcnMgZGFzIGFwcG9ydGllcmVuCmdlZmFlbGx0IG1pci4KCldlaXRlciBzbyBFZAoKS2FpRywgbXVzcyBmdWVyIGRpZSBXdXJmbWFldWxlciBudW4ga2xlaW5lIFN0dWVja2NoZW4gYmF1ZW4genVtIGFwcG9ydGllcmVuCipncmlucyoKCkFjaCBqYTogREFTIEdBTlpFIEtBTk4gQVVDSCBJTiBSVUJSSUsgU0NITUFSUk4hIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpY2ggKEthaWcsIDE1LiBBdWcgMTk5NSwgMDU6MjI6MjkpOgojISBybj1DZWxlYmRpbCBydD04MDcyMjgyMTUKSGksCgphbHNvIGljaCBtdXNzIGVocmxpY2ggc2FnZW4gMTEwIExQIGJlaSBlaW5lbSBTcGVsbCBmaW5kZSBpY2ggYWxzCk1hZ2llciBqYSBudW4gZXR3YXMgdWViZXJ0cmllYmVuLi4uLi4uIFdvIHNvbGwgZGVubiBkYXMgaGluZnVlaHJlbj8KRGEgYmluIGljaCBqYSByaWNodGlnIGZyb2ggZGFzIGVzIGRlbiBCdXJzY2hlbiBub2NoIG5pY2h0IGdhYiBhbHMgaWNoClNwaWVsZXIgd2FyLiBHcnVzZWwuCgpLYWlHIHNpY2ggZnJhZ2VuZCBvYiBlciBkaWUgV3VyZm1hZXVsZXIgbmljaHQgaW4gS3VzY2hlbHN0cmVpY2hsZXIKdW1iZW5lbm5lbiBzb2xsLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmF1dHJ1cHAgKEJlbGRpbiwgMTUuIEF1ZyAxOTk1LCAxMjozMjoxNik6CkhpIQpBbHNvIExldXRlLCB3ZW5uIGRhcyBtaXQgZGVtIFplcnN0b2VyZW4gdm9uIFNlaGVyLUhhZXVzZXJuIGVybnN0Z2VtZWludCBpc3QKKGljaCBmYWVuZHMgamEgbHVzdGlnKSBkYW5uIG11c3MgZGFzIEF1ZmJhdWVuIGEpIG5hdHVlcmxpY2ggbW9lZ2xpY2ggc2VpbiwgdW5kCmIpIHNlbGJpZ2VzIGR1cmNoIGVpbmUgZWlnZW5zdGFlbmRpZ2UgT3JnYW5pc2F0aW9uLCB3aWUgekIgQmF1dHJ1cHAgIlN0ZWluZQp1bmQgRXJkZW4sIE1HIG1iSCIgZ2VzY2hlaGVuLCB3ZWxjaGUgbGF0dWVybmljaCBzYWZ0aWdlIFByZWlzZSB1bmQgc2NobGFtcGlnZQpBcmJlaXQgbGVpc3RldCAtIHdpZSBzaWNoIGVzIGZ1ZXIgZWluZSBzb2xjaGUgR21iSCBnZWhvZXJ0IChXYXJ1bSBzb25zdApiZXNjaHJhZW5rdCBzaWUgaWhyZSBIYWZ0dW5nPyA6KS4KRGFzIGdhbnplIHVlYmVyIGRpZSBCYW5rIGFienV3aWNrZWxuIHdhZXJlIGV0d2FzIGxhc2NoLi4uCgpCZWxkaW4gLSBpbiBkZXIgSG9mZm51bmcgbmljaHQgd2llZGVyIHdpY2h0aWdlcyB1ZWJlcmxlc2VuLCB1bmQgZGFoZXIgTWlzdApnZXNjaHJpZWJlbiB6dSBoYWJlbiA7KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpY2ggKENhcmFkaHJhcywgMTUuIEF1ZyAxOTk1LCAxNDozOToyMik6CiMhIHJuPUthaWcgcnQ9ODA4NDU2OTQ5CiAgICAgICAgICAgICAgICAgICAgICAgICBIdWh1CgoxMDAgb2RlciAxMTAgYWxzIFNwZWxsIGlzdCBub2NoIG5pY2h0IGRhcyBob2VjaHN0ZSBoaWVyIGltIE11ZC4KRGVyIEN1IFNpdGggaGF0IHNvIGV0d2EgMTIwLCBkaC4gbWF4aW1hbCBpbiBlaW5lciBSdW5kZSBrYW5uIGVyCmVpbmVtIHNvIDE2MCBiaXMgMTY1IExQIGFibmVobWVuLgpCZWkgZGVtIEhhaWF2YWhhIHdlaXNzIGljaCBlcyBuaWNodCwgZGEgd2FyIENlbGViZGlsIG1hbCB6dQpmcnVlaCB0b3QuIDotKSAgMiBSdW5kZW4gdW5kIDIxMCBMUCB3ZWcsIGtvZW5udGUgYWxzbyBub2NoIGhvZWhlcgpzZWluIGRlciBTcGVsbC4KCiAgICAgdHNjaG9lICAgICAgIGRlciBHZWlzdCB2b24gQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaWNoIChSb2NodXMsIDE1LiBBdWcgMTk5NSwgMTQ6NDI6MDMpOgojISBybj1DYXJhZGhyYXMgcnQ9ODA4NDkwMzYyCklTVCBub2NoIGhvZWhlciA6LSkKVW5kIG5vY2ggcmVsYXRpdiBoYXJtbG9zIC0gdmVyZ2xpY2hlbiBtaXQgZGVtIEJ1Y2guCk1hbiBzdGlyYnQgbmljaHQgdW5iZWRpbmd0IFNPRk9SVCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYXV0cnVwcCAoS2xpbmdlLCAxNi4gQXVnIDE5OTUsIDE2OjUyOjEzKToKIyEgcm49QmVsZGluIHJ0PTgwODQ4MjczNgpEYSBnaWJ0IGVzIGRvY2ggaW4gZGVyIEZyYWdnbGUtUXVlc3QgZGllIERvemVyLgpEaWUgbXVlc3N0ZW4gZGFzIGRvY2gga29lbm5lbi4KV2llIHdhZXJlIGVzIGRlbm4gd2VubiBzaWNoIGRlciBnZXNjaGFlZGlndGUgU2VoZXIgZWluZW4gVHJ1cHAgZGllc2VyCkRvemVyIGZhbmdlbiB1bmQgdmVyc2tsYXZlbiBrb2VubnRlIGJpcyBzZWluIEhlaW0gcmVzdGF1cmllcnQgaXN0LgpOdXIgbWFsIHNvIGFscyBWb3JzY2hsYWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBTCAoTXVwZmVsLCAxNi4gQXVnIDE5OTUsIDE5OjQ2OjE0KToKZnVlciBhbGxlLCBkaWVzIGFuZ2VodDogZGllIG11ZGJhdXN0ZWxsZSBhbmRlcmxhbmQgd2lyZCB6dXIgemVpdCByZW5vdmllcnQKdW5kIGlzdCBkYXJ1bSBuaWh0IHp1Z2FlbmdsaWNoLiBuaWNodCBtYWwgZnVlciBlcnptYWdpZXIuIG51ciBmdWVyIG1pY2ggOi0pCgotbXVwZmVsLQpQUyBpY2ggc2FjaCBiJ3NjaGVpZCB3ZW5ucyB3aWVkZXIgZ2VodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLnBsYW4gKEFydHksIDE3LiBBdWcgMTk5NSwgMTE6MzM6MTcpOgpIYWxsbyAhCldpZSB3YWVyZSBlcyBkZW5uLCB3ZW5uIG1hbiBkZW4gUGxhbiwgZGVuICBtYW4gYWxzIFNlaGVyL01hZ2llciBkdXJjaCBkZW4KRmluZ2VyLUJlZmVobCBiZWtvbW10LAptaXQgJ21vcmUnIGF1c2dlYmVuICAga29lbm50ZSA/IQpEaWUgWmVpbGVuIC0gRWluc3RlbGx1bmcgaXN0IHppZW1saWNoIG51dHpsb3MsIHdlbm4gaWNoICdmaW5nZXIgPHh5ej4nIG1BQ0hFCnVuZCBrcmllZ2UgbnVyIG5vY2ggZWluICpzY29sbCogbWl0LCB3ZWlsIG1hbmNoZSBMZXV0ZQplaW5lbiBQbGFuIHZvbiAxMDAwMDAwIFplaWxlbiBoYWJlbi4KCmNpYW8gQVJUWQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC5wbGFuIChTaWx2YW5hLCAxNy4gQXVnIDE5OTUsIDExOjQzOjUwKToKIyEgcm49QXJ0eSBydD04MDg2NTE5OTcKTWl0ICdmaW5nZXIgLW4gPG5hbWU+JyBrYW5uc3QgRHUgZGVuIFBsYW4gYXVzYmxlbmRlbi4KU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAucGxhbiAoRnJ5ZGVyLCAxNy4gQXVnIDE5OTUsIDEyOjQ3OjM2KToKIyEgcm49U2lsdmFuYSBydD04MDg2NTI2MzAKV2FydW0gc3RlaHQgZGVubiBzb3dhcyBuaWNodCBpbiBkZXIgSGlsZmVzZWl0ZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IC5wbGFuIChEdXJpYW4sIDE3LiBBdWcgMTk5NSwgMTI6NTE6MTEpOgojISBybj1GcnlkZXIgcnQ9ODA4NjU2NDU2CkRpZSBGcmFnZSBtdXNzIGxhdXRlbjogd2FydW0gaGFiZW4gbWFuY2hlIExldXRlIHNlaXRlbmxhbmdlIFBsYW4tZGF0ZWllbgpzb2Rhc3Mgc28gZXR3YXMgdWViZXJoYXVwdCBub3R3ZW5kaWcgd2lyZCAuLi4KCipzdGljaGVsIHN0aWNoZWwqCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQUwsIGRpZSAyLiAoTXVwZmVsLCAxOC4gQXVnIDE5OTUsIDAzOjA4OjA4KToKZW50d2FybnVuZy4uLi4gYW5kZXJsYW5kLXJlbm92aWVydW5nIHZvcmxhZXVmaWcgYWJnZXNjaGxvc3Nlbi4uLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAucGxhbiAoV2FyZ29uLCAxOC4gQXVnIDE5OTUsIDE4OjM5OjM4KToKIyEgcm49RnJ5ZGVyIHJ0PTgwODY1NjQ1NgpLb21pc2NoLi4uIEljaCB3ZWlzcyBnZW5hdSwgZGFzcyBpY2ggZGFzIHZvciBrdXJ6ZW0gbm9jaCBnZWFlbmRlcnQgaGFiZS4uLgpCdWVnZWx0IGRhIGV0d2EgamVtYW5kIGFiIHVuZCB6dSBhbHRlIEhpbGZlc2VpdGVuIHJ1ZWJlcj8KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbWlzY2ggKFJhZmZpLCAxOC4gQXVnIDE5OTUsIDIzOjI0OjUyKToKSXN0IG1pciBnZXJhZGUgcGFzc2llcnQ6Cj4gcmF1cwpXaWUgYml0dGU/Cj4gYXVzc3RlaWdlbgpXaWUgYml0dGU/Cj4gdmVybGFzc2Uga3V0c2NoZQpEdSBvZWZmbmVzdCBEaWUgVHVlciBkZXIgUG9zdGt1dHNjaGUuCkhpZXIgaXN0IGVpbmUga3VyemUsIHNjaG1hbGUgR2Fzc2UsIHZvbiBkZXIgYXVzIG1hbiBkcmVpIEhhZXVzZXIgYmV0cmUtCnRlbiBrYW5uLiBJbSBOb3JkZW4gaXN0IGVpbiBHZXNjaGFlZnQsIGltIFdlc3RlbiBkZXIgRG9yZnNjaHJlaWJlciB1bmQKaW0gT3N0ZW4gZGllIGRvcmZlaWdlbmUgUG9zdHN0YXRpb24uIEltIFN1ZWRlbiBiZWZpbmRldCBzaWNoIGRpZSBEb3JmLQpzdHJhc3NlLgpFcyBnaWJ0IHZpZXIgc2ljaHRiYXJlIEF1c2dhZW5nZTogc3VlZGVuLCB3ZXN0ZW4sIG5vcmRlbiB1bmQgb3N0ZW4uCkVpbmUgUG9zdGt1dHNjaGUuCj4gR29sdW0gbGFuZGV0IG1pdCBzZWluZXIgQW50aWdyYXZpdGF0aW9uc3BsYXR0Zm9ybS4KR29sdW0gc2Nod2VidCBtaXQgZGVtIEFudGlncmF2IG5hY2ggU3VlZGVuLgp1bnQga3V0c2NoZQpOaWtvbGF1cyBvZWZmbmV0IGRpZSBUdWVyIGRlciBQb3N0a3V0c2NoZS4KTmlrb2xhdXMga29tbXQgYW4uClNvd2FzIHNpZWhzdCBEdSBoaWVyIG5pY2h0IQo+IHVudCBwb3N0a3V0c2NoZQpTb3dhcyBzaWVoc3QgRHUgaGllciBuaWNodCEKPgoKR3J1c3MKSC4KCih1bmQgaWNoIG1laW5lIGhpZXIgbmljaHQgZGllIEFHLVBsYXRmb3JtIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb21pc2NoIChHb2x1bSwgMTkuIEF1ZyAxOTk1LCAwMTowMTowOSk6CiMhIHJuPVJhZmZpIHJ0PTgwODc4MTA5MgpKYSBhbHNvIEljaCBoYWJlIGltIExhZGVyYXVtIGRlciBBLWcucGxhdHRmb3JtIG5hY2hnZXNjaGF1dCBkb3J0IGlzdCBkaWUKS3V0c2NoZSBhdWNoIG5pY2h0IDspCkdvTHVNIEtyaXN0YWxscHJpbnogdm9uIEFya29uIHZvZWxsaWcgdmVyd2lycnQKCmhtbSB2aWVsbGVpY2h0IGhhYmVuIGphIGRpZSBCbHVlcyBkaWUgS3V0c2NoZSBnZWtsYXUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbG1lbGR1bmcgZGVyIHJhc2VuZGVuIFJlcG9ydGVyaW4gKEFyYW55YSwgMjAuIEF1ZyAxOTk1LCAyMDoyMzo0Mik6Ck11ZW5zdGVyIChFQikgLSBXaWUgYXVzIGdld29laG5saWNoIGd1dGluZm9ybWllcnRlbiBLcmVpc2VuIGJla2FubnQgd3VyZGUsCmZhbmQgYW0gdmVyZ2FuZ2VuZW4gV29jaGVuZW5kZSBkaWUgc2Nob24gZmFzdCB0cmFkaXRpb25lbGxlIE1VRFBhcnR5IHN0YXR0IC0KenVtIHZpZXJ0ZW4gTWFsZSB1ZWJyaWdlbnMuIFdhciBhbSBGcmVpdGFnIG5vY2ggYmVpIGRlbiBPcmdhbmlzYXRvcmVuIGVpbmUKZGV1dGxpY2hlIEFuc3Bhbm51bmcgenUgZXJrZW5uZW4sIHNvIGxlZ3RlIHNpY2ggYXVjaCBiZWkgVmlwZXIsIENhdHdlYXpsZQoobWl0IGRlbSBmYXN0IGxlZ2VuZGFlcmVuIFppdGF0ICJJY2ggaGFiZSBhbGxlcyB1bnRlciBLb250cm9sbGUiKSwgSm9mIHVuZApkZW4gYW5kZXJlbiBzaWNodGJhciBkaWUgTmVydm9zaXRhZXQuCkVpbmh1bmRlcnRmdWVuZnppZyBiaXMgendlaWh1bmRlcnQgLSB3ZXIgd29sbHRlIHNpY2ggZGEgc2Nob24gZmVzdGxlZ2VuIGxhcy0Kc2VuIC0gTVVEZGVyaW5uZW4gdW5kIE1VRGRlciB3YXJlbiBkZXIgRWlubGFkdW5nIG5hY2ggTXVlbnN0ZXIgZ2Vmb2xndCB1bmQKbGllc3NlbiBzaWNoIGJlcmVpdHdpbGxpZyB2b24gQ2F0d2VhemxlIHJlZ2lzdHJpZXJlbiB3b3JhdWZoaW4gbWl0IEtyZXBwLQpiYW5kIE5hbWVuc3NjaGlsZGVyIGFuZ2VmZXJ0aWd0IHd1cmRlbi4gU2Nod2llcmlna2VpdGVuIGdhYiBlcyBtaXQgZGVyClJlZ2lzdHJhdGlvbiB2b24gWndlaXRpZXMgLSBkZXJlbiBOYW1lbiBmYW5kZW4gbWVpc3RlbnMgYXVmIGRlbiBSdWVja2VuIGRlcgpFcnN0aWVzIFBsYXR6LiBWb24gZ2VsZWdlbnRsaWNoZW0gdmVyc3VjaHRlbiBQbGF6ZXJraWxsIC0gc3ByaWNoOiBXdXJmIGluCmRlbiBBYXNlZSAtIGFiZ2VzZWhlbiwgdmVybGllZiBkaWUgR3JpbGxmZXRlIGFtIEZyZWl0YWdhYmVuZCBmcmllZGxpY2gsIGphCnp1d2VpbGVuIHNvZ2FyIGhpcHBpZW1hZXNzaWcgdW5kIGJpcwp6dW0gZnJ1ZWhlbiBNb3JnZW4sIHZvbiBnZWxlZ2VudGxpY2ggdm9yYmVpa29tbWVuZGVuIEpvZ2dlci0gdW5kIEZhaHJyYWQtCk5QQ3MgZnJldW5kbGljaCBiZWd1dGFjaHRldC4KQmVpbSBBdWZ3YWNoZW4gc2FoZW4gc2ljaCBkaWUgQXVzc2VybXVlcgpCZWltIEF1ZndhY2hlbiBzYWhlbiBzaWNoIGRpZSBBdXNzZXJtdWVuc3RlcmFuZXIgYWxsZXJkaW5ncyBkZW4gV2FlY2h0ZXJuCmRlciBCaXNjaG9mc3N0YWR0IGdlZ2VudWViZXIsIGRpZSB6dSB6d2VpdCBlaW5lciBCZXNjaHdlcmRlIG5hY2hrYW1lbiB1bmQKZGllICJpbGxlZ2FsZSIgWmVsdHN0YWR0IGFtIEFhc2VldWZlciBiZWd1dGFjaHRldGVuLiBUb2V0ZXIgaW4gc2VpbmVyIHJvdXRpLQpuaWVydGVuIEFydCwgbWl0IFdhZWNodGVybiB1bXp1Z2VoZW4sIGJlcmVpbmlndGUgZGFzIFByb2JsZW0gYWxsZXJkaW5ncyBpbi0KbmVyaGFsYiBrdWVyemVzdGVyIFplaXQuCkFuc2NobGllc3NlbmQgYW4gZGFzIEF1ZnJhZXVtZW4gLSBlcyB3YXIgd2lya2xpY2ggZWluIFNhdXN0YWxsIHp1cnVlY2tnZWxhcy0Kc2VuIHdvcmRlbiAtIHZlcnN0cmV1dGVuIHNpY2ggZGllIE1VRGRlciBpbiBNdWVuc3Rlci4gR2VnZW4gZWlucyB0cmFmIG1hbgpzaWNoIGltIEhvZXJzYWFsZ2ViYWV1ZGUgZGVyIE1hdGhlbWF0aWssIGRhcyBiZXplaWNobmVuZGVyd2Vpc2UgYW4gZGVyIEVpbi0Kc3RlaW5zdHJhc3NlIGdlbGVnZW4gaXN0LCB1bSB6dW0gZ3Jvc3NlbiBUZWlsIGRlbSBTZW1pbmFyIHp1IGxhdXNjaGVuLCBkYXMKZGVyIEZvZXJkZXJ2ZXJlaW4gTW9yZ2VuR3JhdWVuIGUuVi4gdmVyYW5zdGFsdGV0ZSB1bmQgYmVpIGRlbSBiZWthbm50ZSB1bmQKYmVsaWVidGUgU3RhcnMgYXVzIE1vcmdlbkdyYXVlbiwgd2llIGJlaXNwaWVsc3dlaXNlIEd3ZW5oeWZhciwgUm9jaHVzLCBKb2YsCkRhbmNlciB1bmQgU2lsdmFuYSB3aXNzZW5zd2VydGVzIHVuZCBlcmZyZXVsaWNoZXMgYXVzIGRlciBXZWx0IGRlcyBMUEMgenVtCkJlc3RlbiBnYWJlbi4KTmFjaCBlaW5lbSBlcm5ldXRlbiBMb3NsYXNzZW4gZGVyIE1vcmdlbkdyYXVlbkhvcmRlIGF1ZiBkaWUgTXVlbnN0ZXJhbmVyCklubmVuc3RhZHQgZ2luZyBlcyBkYW5uIG5hY2ggR2lldmVuYmVjaywgd28gaW4gZWluZW0gSnVnZW5kemVudHJ1bSAtIGVpbmVyCmFsdGVuIFNjaGV1bmUgLSBkaWUgU2Ftc3RhY2hzcGFydHkgc3RlaWdlbiBzb2xsdGUuIEFsbGVyZGluZ3MgaGF0dGUgZGVyCldhZ2VuLCBpbiBkZW0gZGllIFJlcG9ydGVyaW4gbWl0ZnVociwgZWluaWdlIFByb2JsZW1lIG1pdCBDYXR3ZWF6bGVzIFdlZ2UtCnNjcmlwdCwgZGFzIHNpY2ggYWxzIGxlaWNodCBtaXNzdmVyc3RhZW5kbGljaCAtIHp1bWluZGVzdCBmdWVyIHVuc2VyZW4gRmFoLQpyZXIgLSBlcndpZXMuCkluIGJlc2FndGVtIEp1Z2VuZHplbnRydW0gdGFuenRlIGRlciBCYWVyLiBLb3JyZWt0ZXIgQmFyYmV0cmllYiBtaXQgZnJpc2NoZ2UtCnphcGZ0ZW0gQmllciwgV2VpbiB1bmQgYWxrb2hvbGZyZWllbiBnZXRyYWVua2VuIGxpbmRlcnRlIGRpZSBIaXR6ZSBkZXMKQWJlbmRzOyBlcmZyZXVsaWNoZSBNdXNpayBsaWVzcyBhbmdlbmVobWUgU3RpbW11bmcgYXVma29tbWVuLCB3ZXIgd29sbHRlLAprb25udGUgc2ljaCBtaXQgTXVhZGliIGltIEJpbGxhcmQgbWVzc2VuLiBEaWUgbWl0IGdyb3NzZXIgU3Bhbm51bmcgZXJ3YXJ0ZS0KdGVuIFBhcnR5LVQtU2hpcnRzIG1pdCBkZXIgS2FydGUgZGVzIE1vcmdlbkdyYXVlbnMgdW5kIGF1ZiBXdW5zY2ggbWl0IGRlbQplaWdlbmVuIE5hbWVuIGF1ZiBkZW0gUnVlY2tlbiB3dXJkZW4gdmVya2F1ZnQuIERlbiBnYW56ZW4gQWJlbmQgZ2FiIGVzIGluCnVuZCB1bSBkaWUgU2NoZXVuZSBoZXJ1bSBhbmdlcmVndGUgR2VzcHJhZWNoZSBpbiBncm9lc3NlcmVuIG9kZXIga2xlaW5lcmVuCkdydXBwZW47IG1hbiBwbGF1ZGVydGUgdWViZXIgTVVEYWJlbnRldWVyLCB0cmFmIE1VRGZyZXVuZGUsIGFiZXIgYXVjaCBSTC0KVGhlbWVuIGdhYiBlcyBpbiBIdWVsbGUgdW5kIEZ1ZWxsZSB6dSBiZXJlZGVuLiBFaW4gSG9laGVwdW5rdCBkZXMgQWJlbmRzCndhciBkZXIgQXVmdHJpdHQgZGVzIFJMLU1hZ2llcnMgVmluY2VudCAtIFZMIGlzdCBlciBMZXZlbCAxMCAtLCBkZXIgbWl0ClRyaWNrcyB1bmQgbG9ja2VyZW4gU3BydWVjaGVuIHp1IGJlZ2Vpc3Rlcm4gd3Vzc3RlLiBJbW1lcmhpbiBzYWggbWFuIGVuZGxpY2gKIkZldWVyYmFsbCIgaW4gQWt0aW9uLgpCaXMgaW4gZGVuIGZydWVoZW4gTW9yZ2VuIGZlaWVydGVuIGRpZSBtb2RlbWVyZmFocmVuZW4gdW5kIG5hY2h0c3BpZWxnZXdvaG4tCnRlbiBBYmVudGV1cmVyLCBLYXJhdGVrYSwgQ2hhb3RlbiwgU2VoZXIsIE1hZ2llciB1bmQgYXVjaCBlaW5pZ2UgTlBDcyB3dXJkZW4Kd29obCBnZXNpY2h0ZXQuIEFuc2NobGllc3NlbmQgd2Fua3RlIG1hbiBhdWYgZGVuIG5haGVuIFplbHRwbGF0eiB1bnRlciBBcGZlbC0KYmFldW1lbiBvZGVyIHp1cnVlY2sgbmFjaCBNdWVuc3RlciwgamUgbmFjaCBXb2hub3J0LiBEZXIgbmFlY2hzdGUgVGFnIGthbm50ZQpudXIgbm9jaCBlaW5lbiBUYWdlc29yZG51bmdzcHVua3Q6IERlbiBDaGluZXNlbi4gQXVjaCBoaWVyIGdhYiBlcyBpbnRlcmVzc2FuCnRlIHVuZCB6YWhscmVpY2hlIEdlcnVlY2h0ZSB1ZWJlciBkZW4gU3RhbmRvcnQgZGllc2VzIFJlc3RhdXJhbnRzLCBkb2NoIGthbWVuCnNjaGxpZXNzbGljaCB1bmQgZW5kbGljaCBkb2NoIGFsbGUgaW4gZGVuIEdlbnVzcyBlaW5lcyBsZWNrZXJlbiBjaGluZXNpc2NoZW4KR2VyaWNodGVzLCB3b2JlaSBkaWUgQmVkaWVudW5nIHRlaWx3ZWlzZSBsYWdndGUuIE5hY2ggZGllc2VyIFN0YWVya3VuZyBnaW5nCmVzIGZ1ZXIgZGllIE1VRGRlciBhdWYgZGVuIEhlaW13ZWcgdW5kIGVpbiBlcnF1aWNrbGljaGVzIFBhcnR5d29jaGVuZW5kZSBuYWhtCnNlaW4gRW5kZS4KCkFyYW55YSAtIG1pdCBQcmVzc2VhdXN3ZWlzIGFtIEh1dAoKUFM6IEVpbiByaWVzZW5ncm9zc2VzIERhbmtlc2Nob2VuIGFuIGRpZSBPcmdhbmlzYXRvcmVuIHVuZCBIZWxmZXIuIEV0IHdhcgprbGFzc2UgLSBmYW5kIGljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbG1lbGR1bmcgZGVyIHJhc2VuZGVuIFJlcG9ydGVyaW4gKEFyYW55YSwgMjAuIEF1ZyAxOTk1LCAyMToxMjo0OCk6CiMhIHJuPUFyYW55YSBydD04MDg5NDMwMjIKVGphLCB3YXIgdmllbGxlaWNodCBkb2NoIG4gYmlzc2NoZW4genUgc2VociBMb2thbHJlcG9ydGVyc3RpbC4uLiBOYWphLiBIb2ZmZSwKaWhyIGtvZW5udCdzIHRyb3R6ZGVtIGxlc2VuLi4uIDopCgpBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGZW50YW55bD8gT2ggR290dCEhIChBcmFueWEsIDIwLiBBdWcgMTk5NSwgMjI6MjI6NDkpOgojISBybj1CZWV0bGUgcnQ9ODA4OTQ4Njg1CkljaCBrZW5uIGVoIG5pZW1hbmRlbiwgZGVyIGRpZSBCaWxkemVpdHVuZyBrYXVmdC4gQWxsZSBsZXNlbiBzaWUgIm51ciB6dWZhZWwtCmxpZyIuIERhIGZyYWcgaWNoIG1pY2gsIG9iIGRhcyBlaW4gRXhlbXBsYXIgaXN0LCBkYXMgcnVtZ2VodC4uLgpVbmQgd2FzIG1hY2hlbiBkaWUgbWl0IGRlbiBhbmRlcmVuIDE0OTk5OTk5LCBkaWUgc2llIHRhZWdsaWNoIHZlcmthdWZlbj8KRnJhZ2VuIHVlYmVyIEZyYWdlbi4KCkFyYW55YQogICAgICBrbGFlcnQgc2llCgpBY2ggamE6IEFiIG5hY2ggU2NobWFycm4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eSAoTWVzaXJpaSwgMjAuIEF1ZyAxOTk1LCAyMzoxNzoxMik6CkF1Y2ggbWlyIGhhdCBkaWUgUGFydHkgc3VwZXIgZ2VmYWxsZW4gLSBkYW5rZSBhbGxlbiBPcmdhbmlzYXRvcmVuIChqYQphdWNoIENhdCogLi4uIHRyb3R6IGRlcyBtaWVzZW4gV2VnZXNjcmlwdHMpCkFjaHNvLCB3ZXIgbm9jaCBJbnRlcmVzc2UgYW4gZGVyIFB1Ymxpa2F0aW9uIGRlcyBWelZkTSBoYXQsIGthbm4gbWlyIGphCm5lIG1haWwgc2NoaWNrZW4gOykgKHN0ZWh0IGF1Y2ggZmFzdCBhbGxlcyBpbiBtZWluZW0gaGF1cykKCk1lc2lpIChub2NoIHRvdGFsIG11ZWRlIHZvbSB3ZW5pZ3NjaGxhZmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgISEhIChMb2N1dHVzLCAyMS4gQXVnIDE5OTUsIDEwOjQ1OjAwKToKSGlobyEKClp1ciBQYXJ0eSBpc3QgaXN0IGVpZ2VudGxpY2ggbnVyIHp1IHNhZ2VuLCBkYXNzIHNpZSBlaW4gdm9sbGVyIEVyZm9sZyB3YXIuCkRlc2hhbGIgaGllciBhdWYgZGllc2VtIFdlZyBlaW4gcmllc2lnZXMgRGFua2VzY2hvZW4gYW4gZGllIE9yZ2FuaXNhdG9yZW4uCgpCaXMgenVyIG5hZWNoc3RlbiBQYXJ0eSAuLi4KCkxvY3V0dXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtvbWlzY2ggKFJhZmZpLCAyMS4gQXVnIDE5OTUsIDE0OjA3OjQwKToKIyEgcm49R29sdW0gcnQ9ODA4Nzg2ODY5CiA+IGhtbSB2aWVsbGVpY2h0IGhhYmVuIGphIGRpZSBCbHVlcyBkaWUgS3V0c2NoZSBnZWtsYXUgOykKCmphamEgaW1tZXIgYXVmIGRpZSBhcm1lbiB0ZWxsZXJrb2VwZmUgLSBkaWUga29lbm5lbiBkb2NoIG5peCBkYWZ1ZXIgZGFzIGlocgpoaXJuIHNvIGZsYWNoIGlzdCAuLi4gOi0pCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKREFOS0UhIChZZW5kaSwgMjEuIEF1ZyAxOTk1LCAxNDoyMDozMyk6CgpFaW4gaGVyemxpY2hlcyAiREFOS0VTQ0hPRU4hISEiIGFuIGFsbGUgT3JnYW5pc2F0b3JlbiAoaWNoIGhhYmUgbWljaCBqYSBmYXN0CmdhZW56bGljaCBoZXJhdXN6dWhhbHRlbiB2ZXJzdGFuZGVuKS4KRXMgYmxlaWJ0IGRpZSBGcmFnZSwgd28gdW5kIHdhbm4gZGllIG5hZWNoc3RlIGRlcmFydGlnZSBGZWllciBzdGF0dGZpbmRlbgpzb2xsLgpEYSBDYXR3ZWF6bGUgYW4gYWt1dGVyIFBhcnR5dm9yYmVyZWl0dW5nc3VlYmVyYXJiZWl0dW5nIGxlaWRldCB1bmQgZGllCnJlc3RsaWNoZW4gTXVlbnN0ZXJhbmVyIGF1Y2ggbmljaHRzIGRhZ2VnZW4gaGFldHRlbiwgZWluZmFjaCBlaW4gcGFhciBTdHVuZGVuCnp1IGZhaHJlbiBzdGF0dCBlaW4gcGFhciBXb2NoZW4genUgcGxhbmVuLCBoaWVyIGRpZSBGcmFnZSwgd2VyIHNpY2ggaW4gZGVyCkxhZ2Ugc2llaHQsIGNhLiAxNTAgYmlzIDIwMCBQZXJzb25lbiBlaW4gRGFjaCB1ZWJlciBkZW0gS29wZiwgendlaSBtYWwgZWluZW4KTWV0ZXIgQm9kZW5mbGFlY2hlIHVuZCBlaW5lbiBlbnRzcHJlY2hlbmRlbiBQYXJ0eXJhdW0genUgYmlldGVuPwoKWmVudHJhbGUgaW5uZXJkZXV0c2NoZSBMYWdlIHVuZCBhbXNwcmVjaGVuZGVzIERydW1oZXJ1bXByb2dyYW1tIHdhZXJlbgpCb25hbmRlbiBiZWkgZGVyIFdhaGwgZGVzIG5hZWNoc3RlbiBQYXJ0eW9ydGVzLgoKT2RlciBpc3QgZGllIE1VRGRlcm1ldXRlIGdlbmVyZWxsIGRlciBBbnNpY2h0LCBkYXNzIE11ZW5zdGVyIGFscyBTdGFtbXNpdHoKZGVzIE1vcmdlbkdyYXVlbnMgYXVjaCBhbHMgUGFydHlvcnQgdW51bWdhZW5nbGljaCBzZWk/CgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEQU5LRSEgKFVyemEsIDIxLiBBdWcgMTk5NSwgMTU6MjM6NDUpOgojISBybj1ZZW5kaSBydD04MDkwMDc2MzMKSWNoIGZhZW5kZSBlcyBndXQsIHdlbm4gZGllIFBhcnR5IGF1Y2ggbWFsIGluIGVpbmVyIGFuZGVyZW4gU3RhZHQKc3RhdHRmaW5kZW4gd3VlcmRlLiBEYWR1cmNoIHd1ZXJkZSBtYW4gYXVjaCBtYWwgYW5kZXJlIFN0YWVkdGUga2VubmVubGVybmVuLgpEZXN3ZWl0ZXJlbiBoYWV0dGVuIGF1Y2ggZGllamVuaWdlbiBtYWwgZGllIEdlbGVnZW5oZWl0IHp1ciBQYXJ0eSB6dQprb21tZW4sIGZ1ZXIgZGllIGVpbmUgRmFocnQgbmFjaCBNdWVuc3RlciBlaW4gdW5sb2VzYmFyZXMgUHJvYmxlbSBkYXJzdGVsbHQuCkdhbnogYWJnZXNlaGVuIGRhdm9uLCB3dWVyZGUgZGllIEFyYmVpdCBkZXIgUGFydHl2b3JiZXJlaXR1bmcgbmljaHQgaW1tZXIKbnVyIGJlaSBkZW4gZ2xlaWNoZW4gbGllZ2VuLCBzb25kZXJuIHJvdGllcmVuLgoKV2lyIGhhYmVuIGhpZXIgaW4gQm9ubiBzY2hvbiBtYWwgZGFydWViZXIgbmFjaGdlZGFjaHQsIG9iIHdpciBuaWNodCBuYWVjaHN0ZW4KU29tbWVyIGVpbmUgTW9yZ2VuZ3JhdWVuLVBhcnR5IHp1c2FtbWVuIG1pdCBkZW4gS29lbG5lciB2ZXJhbnN0YWx0ZW4gc29sbGVuLgpGdWVyIGVpbmUgV2ludGVyLVBhcnR5IGhhYmVuIHdpciBsZWlkZXIgbm9jaCBuaWNodCBkaWUgZ2VlaWduZXRlCkluZnJhc3RydWt0dXIgZ2VmdW5kZW4uCgpXaXIgd2VyZGVuIHVucyBoaWVyIGVyc3QgbWFsIGVpbmdlaGVuZGVyIGJlcmF0ZW4gdW5kIGRhbm4gZ2dmLiBlaW5lbgpWb3JzY2hsYWcgdW50ZXJicmVpdGVuLgoKR3J1ZXNzZSwgVXJ6YQoKUC5TLjogV2lyIHdlcmRlbiBkYW5uIG5hdHVlcmxpY2ggYXVjaCBlaW4gTWFnaWMtVHVybmllciBwbGFuZW4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERBTktFISAoU2lsdmFuYSwgMjEuIEF1ZyAxOTk1LCAxNToyNTowOCk6CiMhIHJuPVllbmRpIHJ0PTgwOTAwNzYzMwpEaWUgQmllbGVmZWxkZXIgTXVkZGVyIHVlYmVybGVnZW4sIEVuZGUgRmVicnVhciBlaW5lIE11ZC1QYXJ0eSBpbgpCaWVsZWZlbGQgenUgb3JnYW5pc2llcmVuLiBXaXJkIHNpY2ggRW5kZSBkZXMgTW9uYXRzIGVudHNjaGVpZGVuLCBvYgp3aXIgZGFzIHdpcmtsaWNoIG1hY2hlbi4gSGFlbmd0IGVpbiBiaXNzY2hlbiB2b24gZGVuIEJlemllaHVuZ2VuIGFiLCBkaWUKd2lyIGhpZXIgYXVmcmVpc3NlbiBrb2VubmVuLgoKU2lsdmFuYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogREFOS0UhIChEYW5jZXIsIDIxLiBBdWcgMTk5NSwgMTU6Mjg6NTApOgojISBybj1TaWx2YW5hIHJ0PTgwOTAxMTUwOApGcmFua2Z1cnQgaXN0IGRhIG5hdHVlcmxpY2ggYXVjaCBpbSBSZW5uZW4uIE1hbiBrb2VubnRlIGphIGF1Y2ggei5Cc3AuIHdhcwp6dXNhbW1lbiBtaXQgZGVuIERhcm1zdGFlZHRlcm4gdW5kIEhlaWRlbGJlcmdlcm4gbWFjaGVuLCBrYW5uIGphIG5pY2h0IHNvb28Kc2Nod2VyIHNlaW4sIHdlbm4gQ2F0KiBub2NoIG5pY2h0IG1hbCBlaW5lbiBlaW56aWdlbiBOZXJ2ZW56dXNhbW1lbmJydWNoCmhhdHRlISA7LSkKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogREFOS0UhIChHb2x1bSwgMjEuIEF1ZyAxOTk1LCAxNzo0ODo0NSk6CiMhIHJuPVVyemEgcnQ9ODA5MDExNDI1CkRpZXMgaXN0IGtlaW5lIEFua3VlbmRpZ3VuZyAuLi4uClp1ZXJsZXUgdW5kIGljaCBoYWJlbiB1bnMgc2Nob24gbGFuZ2UgbWFsIHVlYmVybGVndCBvYiB3aXIgbWFsIG5lIFByYXR5IGhpZXIKaW4gWnVlcmljaCAoZC5oIG5hZWhlcmUgVW1nZWJ1bmcpIGF1ZnppZWhlbiB3b2xsZW4gbnVuIHdlbm4gZ2VudWcgaW50ZXJlc3NlCnZvcmhhbmRlbiBpc3QgbGFlc3N0IHNpY2ggZGEgd2FzIG1hY2hlbiAhIFdpbnRlcmluZnJhc3RydWt0dXIgd2FlcmUgdm9yaGFuZGVuCihncm9zc2UgZ2VoZWl6dGUgSGFsbGUgaW4gZGVyIGNhIDEwMCBMZXV0ZSBQbGF0eiBmaW5kZW4ga29lbm50ZW4pCk51ciBtaXQgZGVuIFNjaGxhZnBsYWV0emVuIGhhcHBlcnQgZXMgZWluIHdlbmlnIGFiZXIgaWNoIGhhYmUgbWFsIHdhcyB2b24KZWluZW1NYXRyYXR6ZW5sYWdlciBpbiBkZXIgbmFlaGUgZ2Vob2VydCBkYXMgZWJlbiBmdWVyIHNvbGNoZSBGYWVsbGUgenUgaGFiZW4Kd2FlcmUgOykoLi4uIE51biBPayBmYWxscyB0YXRzYWVjaGxpY2hlcyBJbnRlcmVzc2Ugdm9yaGFuZGVuIGlzdCBzY2hyZWliIG1hbgplaW5mYWNoIG1hbCBuZSBNVURtYWlsIGFuIG1pY2ggZGVyIFRlcm1pbiBzdGVodCBub2NoIHVlYmVyaGF1cHQgbmljaHQsIGFiZXIKaWNoIGRlbmtlIHNvIGFuIE9rdC4gb2RlciBOb3YKKmdydW1tZWwqIFp1ZXJsZXUgPSBadWVyaWxldSB1bmQgUHJhdHkgPSBQYXJ0eSA7KQpHb2x1bSBkZXIgVGlwb3ZpemVrb2VuaWcgKG5hY2ggWnVlcmlsZXUpIDspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogREFOS0UhIChTY2hydW1wZmksIDIxLiBBdWcgMTk5NSwgMjA6MTA6MTUpOgojISBybj1TaWx2YW5hIHJ0PTgwOTAxMTUwOApXaXIgdWViZXJsZWdlbiBhdWNoLCBvYiB3aXIgaW0gSGVyYnN0IGluIExpbnogZWluZSBNdWRwYXJ0eSBtYWNoZW4gc29sbGVuLgpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmVudGFueWw/IE9oIEdvdHQhISAoRmxpbnRuYWlsLCAyMS4gQXVnIDE5OTUsIDIwOjEyOjMxKToKIyEgcm49QXJhbnlhIHJ0PTgwODk1MDE2OQpIbW0uLi5kaWUgQmFtUyBrb25udGUgdWVicmlnZW5zIGplZGVyLCBkZXIgd29sbHRlIGJlaW0gY2hpbmVzaXNjaGVuIEVzc2VuCmxlc2VuLgoKIC4uLnVuZCBpY2ggd2Vpc3MgYXVjaCAsIHdlciBzaWUgenVlcnN0IGhhdHRlOikKCiBGbGludCouLi5tb3ZlIGl0IHRvIHNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEQU5LRSEgKEZsaW50bmFpbCwgMjEuIEF1ZyAxOTk1LCAyMDoxNTo0Nyk6CiMhIHJuPURhbmNlciBydD04MDkwMTE3MzAKaG1tbS4uLkZyYW5rZnVydC4uLmhtbW1tCgouLi5kYSBnaWJ0cyBpcmdlbmR3byBpbiAxMDAga20gVW1rcmVpcyBuZSBCdXJnLCBkaWUgbWFuIGZ1ZXIgbmVuIFdvY2hlbmVuZGUKYW5taWV0ZW4ga2Fubi4uLmZyYWd0IG1pY2ggYWJlciBiaXR0ZSBuaWNodCBuYWNoIFByZWlzZW46KQogIEljaCBzY2hhZXR6ZSwgZGVyIGxpZWd0IGplbnNlaXR6IGRlciA1MCwtRE0gcHJvIFBlcnNvbjopCiAgRmxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHkgISEhIChOYXNpbSwgMjEuIEF1ZyAxOTk1LCAyMjozMToyNSk6CiMhIHJuPUxvY3V0dXMgcnQ9ODA4OTk0NzAwCkljaCBnZWhlIG1pdCBkaWVzZXIgQXVzc2FnZSB2b2VsbGlnIGtvbmRvbSAuLi4gYWVoLCBvZGVyIHNvLgpFYmVuZmFsbHMgZWluIHJpZXNpZ2VzIERBTktFIGFuIGRpZSBPcmdhbmlzYXRvcmVuIC0gaWNoIGhvZmZlLCB3aXIgYmVrb21tZW4KZGFzIHdlbmlnc3RlbnMgYW5uYWVoZXJuZCBzbyBndXQgaGluLCBmYWxscyBlcyBtYWwgZWluZSBQYXJ0eSBpbSBSYXVtIEsvQk4KZ2lidC4KCk5hc2ltIC0gbnVyIGVjaHQgbWl0IGRlbSA6LS0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbG8gKFN1c2hpLCAyMS4gQXVnIDE5OTUsIDIzOjU2OjM2KToKRGFzIHdhciB3b2hsIG5pY2h0cy4uLgpBdXMgZ2VnZWJlbmVtIEFubGFzcyBtb2VjaHRlIGljaCBmcmFnZW4sIHdhcyBnZW5hdSB6dSB0dW4gaXN0LCB3ZW5uIG1hbiBpbQpNVUQgYW5nZXBvZWJlbHQgd2lyZC4gSWNoIGVyaW5uZXJlIG1pY2ggbm9jaCBndXQgZWluaWdlciBHZWxlZ2VuaGVpdGVuLCBhbHMKaWNoIGRhcyBOZXJ2ZW4gYmVpIFRvcmZkdWVuZyBvZGVyIFpldXJpbGV1IHp1IHdlaXQgZ2V0cmllYmVuIGhhYmUgLSBlcyBzZXR6dGUKQXJlbmEsIHdhcyBpY2ggZHVyY2hhdXMgYW5nZW1lc3NlbiBmYW5kLgpGbG8gamVkb2NoIGhhdCBqYSBrZWluZW4gTWFnaWVyIGFuZ2VtYWNodCwgc29uZGVybiBlaW5lbiBTZWhlciAobWljaCBbQWNoIV0pLAp1biBkaWNoIGtvbm50ZSBtaWNoIGphIHNvIG5pY2h0IHdlaHJlbi4gRXMgZmFuZCBzaWNoIGFiZXIgYXVjaCBrZWluIE1hZ2llciwKZGVyIGlobiBnZXphcHB0IGhhZXR0ZS4gV2llIGJ1bnQgbXVzcyBtYW4gZXMgYWxzIFNwaWVsZXIgZGVubiB0cmVpYmVuLCBiaXMgbWFuCmdlemFwcHQgd2lyZD8KRGFtaXQga2VpbmUgTWlzc3ZlcnN0YWVuZG5pc3NlIGVudHN0ZWhlbjogSWNoIGJlc2Nod2VyZSBtaWNoIG5pY2h0IHdlZ2VuIGRlcgpTdHJhZmUgKGF1Y2ggd2VubiBlaW4gcGFhciBXb2NoZW4gd2VuaWdlciBnZXJlaWNodCBoYWV0dGVuOi0pKSwgc29uZGVybgptb2VjaHRlIGdlcm5lIHdpc3Nlbiwgd2VsY2hlIFZvcmtlaHJ1bmdlbiBlcyBnZWdlbiBHZXN0YWx0ZW4gd2llIEZsbyBnaWJ0LgpEZW5uIGRhcyBkaWUgUEtzIGluIGlocmVyIEtvbnNlcXVlbnogcmljaHRpZyB3YXJlbiAoRmxvIHdlZykgd2FyIHp1bWluZGVzdAp1bnRlciBkZW4gYW4gYmVzYWd0ZW0gQWJlbmQgQW53ZXNlbmRlbiB1bnVtc3RyaXR0ZW4uCkJUVywgaWdub3JpZXJlbiBpc3QgZWluIGd1dGVyIFRpcCwgYWJlciB3ZW5uIGRlciBwb3RlbnRpZWxsZSBOZXJ2ZXRvZXRlciBhdWYKZGllIEthbmFlbGUgZ2VodCByZWNodCBzaW5ubG9zLCB3ZWlsIG1hbiBkYW5uIGltbWVyIDEvNCBkZXIgRGlza3Vzc2lvbgptaXRiZWtvbW10LgpOYWphLCBlZ2FsLiBWaWVsbGVpY2h0IGwKCgppZXN0IHNpY2ggamEgZWluIGtvbXBldGVudGVyIFJhdGdlYmVyIGRpZXNlIE5BY2hyaWNodCBkdXJjaCB1bmQgZ2lidCBtaXIgZWluCnBhYXIgVmVyaGFsdGVuc3RpcHMgZmFsbHMgRmxvIGF1ZmVyc3RlaHQuCkRhbmtlIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZsbyAoTXVwZmVsLCAyMi4gQXVnIDE5OTUsIDAwOjI3OjU3KToKIyEgcm49U3VzaGkgcnQ9ODA5MDQyMTk2CnZpZWxsZWljaHQgc29sbHRlbiB1bnNlcmUgbWFnaWVyIGRhcyAnaWdub3JpZXJlbicgYXVmIGRpZSBrYW5hZWxlIGF1c2RlaG5lbgood2llIGF1Y2ggaW1tZXIuLikKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZsbyAoU2NocnVtcGZpLCAyMi4gQXVnIDE5OTUsIDAyOjU0OjExKToKIyEgcm49TXVwZmVsIHJ0PTgwOTA0NDA3NwpXZW5uIG1hbiBqZW1hbmRlbiBpZ25vcmllcnQsIGRhbm4gaG9lcnQgbWFuIGlobiBhdWNoIG5pY2h0IG1laHIgYXVmIGRlbgpLYW5hZWxlbiwgbnVyIHdlbm4gZXIgbmViZW4gZWluZW0gc3RlaHQgdW5kIGV0d2FzIHNhZ3Qgb2RlciBmcmFndC4KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEQU5LRSEgKEhvcnNjaGQsIDIyLiBBdWcgMTk5NSwgMDc6MzU6NDMpOgojISBybj1TY2hydW1wZmkgcnQ9ODA5MDI4NjE1Ck9oamUuLi4uClNvIHZpZWxlIFBhcnRpZXMhIERhIHdlaXNzIGljaCBqYSBnYXIgbmljaHQsIHdhbm4gaWNoIG5vY2ggc3R1ZGllcmVuCnNvbGwuIE5hamEuIElyZ2VuZGVpbmUgbG9lc3VuZyB3aXJkIHNpY2ggd29obCBmaW5kZW4gOikKCkhvcnNjaGQgKGZyZXV0IHNpY2ggYXVmIGRpZSBuYWVjaHN0ZSBNVUQtRmV0ZSkKClAuUy46IEFjaGphLi4uIGljaCBmYW5kcyBhdWNoIHN1cGVyIGluIE11ZW5zdGVyLiBVbmQgQ2F0KiAtIHZpZWwgU3Bhc3MgYmVpbQogICAgICBXaWVkZXJlaW5iYXVlbiBkZWluZXMgU2NobG9zc2VzIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVmbGF0aW9uIG9obmUgRW5kZSEgKEhhciwgMjIuIEF1ZyAxOTk1LCAwODo1NTowNCk6ClRqYSwgaXJnZW5kd2FzIHNjaGVpbnQgaGllciBtaXQgZGVuIFByZWlzZW4gaW0gTGFkZW4gbmljaHQgenUgc3RpbW1lbi4uLi4uLi4KRGEgaGFiZSBpY2ggaGV1dGUgbW9yZ2VuIG5vY2ggOTAwIE11ZW56ZW4gZnVlciBlaW4gUnVuZW5zY2hlcnQgYmVrb21tZW4gKHNvCmdlZ2VuIDg6MTUpIHVuZCAxNSBtaW4gc3BhZXRlciB3YXIgZXMgbnVyIG5vY2ggNDQgTXVlbnplbiB3ZXJ0LiB3aWUgc29sbCBtYW4KZGVubiBkYSBHZWxkIHp1bSBUYW5rZW4gYmVrb21tZW4sIHdlbm4gbWFuIHNlaW5lbiBiYXVzcGFydmVydHJhZyBlcmZ1ZWxsZW4Kd2lsbD8/Pz8/CgpIYXIsIHNpY2ggdWViZXIgZGllIFByZWlzcG9saXRpayB3dW5kZXJuZCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERBTktFISAoSGFyZGlsLCAyMi4gQXVnIDE5OTUsIDExOjIwOjA2KToKIyEgcm49RmxpbnRuYWlsIHJ0PTgwOTAyODk0NwoKenVtIFRoZW1hIEJ1cmc6Cgp3ZW5uIGlociBkYXMgZ2FuemUgc28gcmljaHRpZyBkb2xsIGF1ZnppZWhlbiB3b2xsdDogZGEgZ2lidHMgZGllIEx1ZHdpZ3NzdGVpbgpiZWkgS2Fzc2VsLCBzb3dvaGwgbWl0IEp1Z2VuZGhlcmJlcmdlIGZ1ZXIgTGV1dGUgbWl0IFJ1ZWNrZW5wcm9ibGVtZW4gYWxzIGF1Y2gKbWl0IE1hdHRlbmxhZ2VyIGZ1ZXIgZGllIEhhcnRlbi4gVW5kIGVpbiBCYWQsIHZpZWwgR3JpbGxmbGFlY2hlIHVuZCB3YXMgc29uc3QKbm9jaCB6dSBuZXIgYWx0ZW4KQnVyZyBnZWhvZXJ0LiBXaXIgaGF0dGVuIGRhIG1hbCBlaW5lbiBDb24sIGRhcyB3YXIgYmlzbGFuZyBkYXMgQmVzdGUsIHdhcyBpY2gKbWl0ZXJsZWJ0IGhhYmUuCgotSGFyZGlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGbG8gKENhcmFkaHJhcywgMjIuIEF1ZyAxOTk1LCAxMzoyODo0NSk6CiMhIHJuPVNjaHJ1bXBmaSBydD04MDkwNTI4NTEKICAgICAgICAgICAgICAgSHVodWh1CgpXZW5uIGljaCBtYWwga2xhcnN0ZWxsZW4gZHVlcmZ0ZSwgd2FzIFN1c2hpIGdlbWVpbnQgaGF0OgpTdXNoaSB3ZWlzcyBzZWxic3QgcmVjaHQgZ3V0LCBkYXNzIGRhcyBpZ25vcmllcmUgYXVjaCB1ZWJlciBkaWUKS2FuYWVsZSBnZWh0LCBtZWludGUgamVkb2NoIGZvbGdlbmRlczoKV2VubiBtYW4gekIgRmxvIGlnbm9yaWVydCB1bmQgRmxvIGJsdWJiZXJ0IHdhcyBhdWYgZGVuIEthbmFlbGVuCmhlcnVtIHNvIGFudHdvcnRlbiBpbW1lciBlaW5pZ2UgTGV1dGUgZGFyYXVmLiAob2RlciBtZWlzdCkKRGEgbWFuIGFiZXIgZGFzIGlnbm9yaWVyZSBhbmhhdCwgdmVyc3RlaHQgbWFuIG5pY2h0IHZvbiB3YXMKZGllamVuaWdlbiByZWRlbiwgd2VpbCBqYSBkaWUgU2FldHplIHZvbiBGbG8gaW1tZXIgZmVobGVuLgpEcnVtIHNhZ3QgU3VzaGkgZXMgaXN0IHNpbm5sb3MsIGRhIG1hbiBwcmFrdGlzY2ggbnVyIGVpbmlnZQpTYWV0emUgd2VuaWdlciBlaW50YXVzY2h0IGdlZ2VuIHZpZWxlIFNhZXR6ZSBtZWhyIG5pY2h0IGthcGllcmVuLgoKQ2FwaXRvPyAgICAgIFRzY2hvZSAgICAgICAgICBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGZW50YW55bD8gT2ggR290dCEhIChDaGFybHksIDIyLiBBdWcgMTk5NSwgMTU6NTc6MDkpOgojISBybj1CZWV0bGUgcnQ9ODA4OTQ4Njg1CmFsbGVzIGhhbGJzb3NjaGxpbW0sIGZlbnRhbnlsIGlzIGRvY2ggY29vbC4KQWJlciBhbnN0YXR0IHBhbmlrIHp1IHZlcmJyZWl0ZW4gaGFldHRlc3QgZHUgamEgZWluIHBhYXIKZ3JhdGlzcHJvYmVuIHJhbm9yZ2FuaXNpZXJlbiBrb2VubmVuICpnaWVyaWcgZ3VjayoKCmNoYXJseSBkZXIgZHJvZ2VuZXhwZXJ0ZQooc2Nob24gaW1tZXIgYWJoYWVuZ2lnIGdld2VzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGbG8gKEdvbHVtLCAyMi4gQXVnIDE5OTUsIDE3OjEwOjEwKToKIyEgcm49U2NocnVtcGZpIHJ0PTgwOTA1Mjg1MQpmbG8gc2NocmllYiBqYSBhdWNoIGRhcyBlciAxLzQgZGVzIEdlc3ByYWVjaHMgdm9uIEZsbyByZXNwLiB1ZWJlciBmbG8KbWl0Z2VrcmllZ3QgaGF0dGUgdW5kIG5pY2h0IEZsbyBzZWtsYmVyIGFlaCBzZWxiZXIgLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmxvIChTY2hydW1wZmksIDIyLiBBdWcgMTk5NSwgMTk6MDg6MTUpOgojISBybj1DYXJhZGhyYXMgcnQ9ODA5MDkwOTI1CkNhcmEsIGxlcyBEaXIgZG9jaCBtYWwgZHVyY2ggYXVmIHdlbiBtZWluIFJlcGx5IGJlem9nZW4gd2FyLiBJY2ggbWVpbnRlIG5pY2h0ClN1c2hpLiBIYWIgaWNoIHNjaG9uIGthcGllcnQgd2FzIFN1c2hpIG1laW50ZS4KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogREFOS0UhIChUcmFqYW4sIDIyLiBBdWcgMTk5NSwgMjA6NDU6NDMpOgojISBybj1ZZW5kaSBydD04MDkwMDc2MzMKCiAgQW4gZGllc2VyIFN0ZWxsZSBtb2VjaHRlIGF1Y2ggaWNoIG1pY2ggZnVlciBkaWUgdG9sbGUgUGFydHkgYmVkYW5rZW4uCiAgRXMgd2FyIG1laW5lIGVyc3RlIHVuZCBzaWNoZXIgbmljaHQgZGllIGxldHp0ZSBQYXJ0eSwgYXVmIGRlciBpY2ggYW4tCiAgd2VzZW5kIHNlaW4gd2VyZGUuCiAgRXMgd2FyIHdpcmtsaWNoIHRvbGwuCiAgTnVuIHp1IFllbmRpcyBBcnRpa2VsLiBJY2ggYmluIGF1cyBIYWxsZSB1bmQga29lbm50ZSBtaXIgc2Nob24gdm9yc3RlbGxlbiwKICBkYXNzIHNvIGV0d2EgaW0gTm92ZW1iZXIgZWluZSBNVUQtUGFydHkgYXVmIHVuc2VyZXIgU2VpdGUgRGV1dHNjaGxhbmRzCiAgc3RhdHRmaW5kZXQuIERyZXNkbmVyIE11ZGRlciB3YXJlbiBiZWdlaXN0ZXJ0LiBWaWVsbGVpY2h0IGJpZXRldCBzaWNoCiAgc28gZWluZSBDaGFuY2UgZnVlciBhbGwgZGllamVuaWdlbiwgZGllIGVzIG5pY2h0IGJpcyBuYWNoIE11ZW5zdGVyIGdlLQogIHNjaGFmZnQgaGFiZW4uIEF1c3RyYWd1bmdzb3J0IHdpcmQgZGFubiBlbnR3ZWRlciBIYWxsZSBvZGVyIExlaXB6aWcgc2Vpbi4KCiAgRmFsbHMgZXMgTGV1dGUgZ2lidCwgZGllIEx1c3QgYXVmIGVpbmUgUGFydHkgaW0gTm92ZW1iZXIgaGFiZW4sIGRhbm4KICBtYWlsdCBtaXIgbWFsIGFuIGZvbGdlbmRlIEFkcmVzc2U6IHdzaWFiQGNsdXN0ZXIudXJ6LnVuaS1oYWxsZS5kZS4KCiAgR2VidCBiaXR0ZSBldXJlbiBNdWRuYW1lbiBhbiB1bmQgZXZlbnR1ZWxsIElkZWVuIGZ1ZXIgZGllIFBhcnR5LgoKICBBbHNvIGJpcyBkZWVuZSwgVHJhamFuCgogIFBTOiBJQ0ggV0lMTCBQQVJUWSAhISEhIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsbywgZGllIFp3ZWl0ZSAoU3VzaGksIDIyLiBBdWcgMTk5NSwgMjI6Mjk6NTkpOgpMaWViZSBTY2hydW1wZmksIGxpZWJlciBHb2x1bSB1bmQgQ2FyYWRocmFzIQpWaWVsZW4gRGFuayBmdWVyIEV1cmUgdGllZmVucHN5Y2hvbG9naXNjaGUgRGlza3Vzc2lvbi4gSmV0enQgd2Vpc3MgYWxsZSBXZWx0LApkYXNzIFN1c2hpIGRlbiA8aWdub3JpZXJlPiBCZWZlaGwgbmljaHQga2VubnQgKG9kZXIga2VubnQgZXIgaWhuIGRvY2g/KS4KRXJuc3RoYWZ0IGhpbGZyZWljaCB3YXIgZGFzIGFiZXIgYWxsZXMgbmljaHQsIGRlbm4gZWlnZW50bGljaCB3b2xsdGUgaWNoCndpc3Nlbiwgd2FzIGRlbm4gbnVuIHp1IHR1biBpc3QsIHdlbm4gamVtYW5kIHZvbSBadXNjaG5pdHQgRmxvcyB3aWVkZXIKYXVmdGF1Y2h0LCBiencsIG9iIGVzIFZvcmtlaHJ1bmdlbiBnaWJ0LCB2b24gZGVuZW4gaWNoIG5pY2h0cyB3ZWlzcy4KVmllbGVuIERhbmsgZnVlciB3ZWl0ZXJlIFRpcHMgdW5kIEhpbndlaXNlLgpTdXNoaQpQLlM6IE5vY2ggNiBXb2NoZW4uLi5fKAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZsbywgZGllIFp3ZWl0ZSAoU2NocnVtcGZpLCAyMy4gQXVnIDE5OTUsIDAxOjU2OjM5KToKIyEgcm49U3VzaGkgcnQ9ODA5MTIzMzk5CkRhbm4gYmVzY2h3ZXJzdCBEdSBEaWNoIGJlaSB1bnNlcmVtIFBmbGljaHRiZXd1c3N0ZW4gU2hlcmlmZiBDYXR3ZWF6bGUhIDstKQpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGbG8sIGRpZSBad2VpdGUgKFNjaHJ1bXBmaSwgMjMuIEF1ZyAxOTk1LCAwMTo1ODoxNCk6CiMhIHJuPVN1c2hpIHJ0PTgwOTEyMzM5OQpBbHNvIGZydWVoZXIgZ2FiIGVzIGphIGRhIHNvIG5ldHRlIFNhY2hlbiBkaWUgbGVpZGVyIGhldXRlIG5pY2h0IG1laHIKZnVua3Rpb25pZXJlbi4uLi4uICpncmlucyBBc21vZGlzLCBCbG9vZGdvcmUgdW5kIFRvZXRlciBhbioKU2NocnVtcGZpIC0gZGllIG1pdCBkZW0gTGllYmVzdHJhbmsgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZsbywgZGllIFp3ZWl0ZSAoU3VzaGksIDIzLiBBdWcgMTk5NSwgMDI6MDI6MTQpOgojISBybj1TY2hydW1wZmkgcnQ9ODA5MTM1Nzk5CldvenUgZGVubiBDYXQqIG5lcnZlbiwgZGVyIGhhdCBudXIgc2VpbmUgUGZsaWNodCBnZXRhbi4gTmEgZ3V0LCBpY2ggZ2ViZSBlcwphdWYsIG9mZmVuc2ljaHRsaWNoIGZhZWxsdCBuaWVtYW5kIGVpbmUgdmVybnVlbmZ0aWdlIEFudHdvcnQgenVtIFRoZW1hIEZsbwplaW46LSkKJ1dhcz8KKio/CioKLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERBTktFISAoWWFudHJvLCAyMy4gQXVnIDE5OTUsIDE0OjU4OjQxKToKIyEgcm49RGFuY2VyIHJ0PTgwOTAxMTczMApGdWVyIGRpZSBuYWVjaHN0ZSB3aXJrbGNpaCBHUk9TU0UgUGFydHksIGQuaC4gaW0gU29tbWVyIDE5OTYga29lbm50ZSBlcyBzZWluLApkYXNzIHNpY2ggS29lbG4gdW5kIEJvbm4genVzYW1tZW4gdHVuIHVuZCB2aWVsbGVpY2h0IHdhcyBhdWYgZGllIEJlaW5lClN0ZWxsZW4uIFZvcnRlaWwgd2FlcmU6IEVzIGlzdCB6ZW50cmFsIHVuZCBndXQgenUgZXJyZWljaGVuIFVORCBlcyBnaWJ0IGhpZXIKaG9lbGxpc2NoIHZpZWxlIE11ZGRlciA6LSkuLi4KCkFiZXIgZ2VuYXVlcmVzIHdpcmQgc2ljaCBhdWYgZWluZW0gZGVyIFN0YW1tdGlzY2hlIGltIEhlcmJzdCBlcmdlYmVuIDotKQoKICAgICAgIFlhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIE9lc2lzIHVuZCBkYXMgTVVELUxpZmUuLi4gKENyZWF0aXZlLCAyMy4gQXVnIDE5OTUsIDE3OjI1OjMwKToKCkRpZSBPZXN0ZXJyZWljaGVyIHVuZCBkYXMgTVVELUxlYmVuIDopCgpTbywgbnVuIHdpbGwgaWNoIG1hbCBhbGxlbiBlaW4gd2VuaWcgbmFlaGVyIGJyaW5nZW4sIHdhcyBlcyBlaWdlbnRsaWNoCmZ1ZXIgZWluZW4gT2VzdGVycmVpY2hlciBiZWRldXRldCwgaW0gTVVEIGRhYmVpIHp1IHNlaW4uCgphKSAgRWluIE9lc3RlcnJlaWNoZXIgaGF0IHNjaG9uIGFsbGVpbiB2b24gSGF1cyBhdXMgZWluZW4gbmF0dWVybGljaGVuCiAgICBsYW5nZW4gV2VnLCBiZXNvbmRlcnMsICB3YXMgZGllIEVudGZlcm51bmcgbmFjaCBNdWVuc3RlciBiZXRyaWZmdC4KICAgIFdlbm4gbWFuIG5pY2h0IHVuYmVkaW5ndCBMdWZ0bGluaWUgbmltbXQsIHNvIHNpbmQgZXMgZG9jaCBpbW1lcmhpbgogICAgKGtsYXJlcndlaXNlICB2YXJpYWJlbCwgamUgbmFjaCAgQWJmYWhydHNvcnQsIGFiZXIgIG5laG1lbiB3aXIgbWFsCiAgICBhbiwgZXMgIGhhbmRsZSBzaWNoIHVtICBXaWVuLCBkZXIgIEhhdXB0c3RhZHQpIHNvICB1bSBkaWUgMTEwMCBiaXMKICAgIDEyMDAgS2lsb21ldGVyLCBkaWUgbWFuLCB1bSB3aWUgYW0gdmVyZ2FuZ2VuZW4gV29jaGVuZW5kZSBkaWUgTVVELQogICAgUGFydHkgenUgIGJlc3VjaGVuLCBoaW50ZXIgc2ljaCAgYnJpbmdlbiBtdXNzLiBOYXR1ZXJsaWNoIGthbm4gbWFuCiAgICBkYWdlZ2VuaGFsdGVuLCBkYXNzIGVzICBhdWNoIGZ1ZXIgTXVlbmNobmVyIHp1bSBCZWlzcGllbCB3ZWl0IGlzdCwKICAgIGFiZXIgZ3J1bmRzYWV0emxpY2ggYmV0cmFlZ3QgIGRpZSBFbnRmZXJudW5nIFdpZW4tTXVlbmNoZW4gYXVjaCBzbwogICAgYW4gZGllIDUwMCBLaWxvbWV0ZXIuCgpiKSAgVW5zZXIgc2Nob24gIHNwcmljaHdvZXJ0bGljaCBnZXdvcmRlbmVzICBMYWcga2FubiBzaWNoIGFuIHVuZCBmdWVyCiAgICBzaWNoIGtlaW4gIE1lbnNjaCB2b3JzdGVsbGVuLCBhdXNzZXIgIGJlaSBlaW5lbSAgQmVzdWNoIGluIE9lc3Rlci0KICAgIHJlaWNoICBiencuIHdlbm4gIHdpciBtYWwgIHZvbiAuZGUgbmFjaCAuYXQgIHZlcnN1Y2h0IGhhYmVuLCBlaW5lbgogICAgQ29ubmVjdCB6dSBrcmllZ2VuIDopCiAgICBOdW4gbm9jaCBtYWwgenVyIFZlcmRldXRsaWNodW5nOgogICAgRGVyICBUcmFjZXJvdXRlICh2b24gTGlueiAgd2Vpc3MgaWNocyAgYW0gYmVzdGVuLCAqZ3JpbnMqKSB1bWZhc3N0CiAgICB6dW1pbmRlc3QgMTYgUmVjaG5lciwgZGFiZWkgIGdlaHQgZGllICBSb3V0ZSB2aWEgU3RvY2tob2xtLCBQYXJpcywKICAgIEdlbmYsIGRlbiAgQ0VSTi1SZWNobmVyLCBBbXN0ZXJkYW0sIER1ZXNzZWxkb3JmIChodXJyYSwgLmRlISA6KSApLAogICAgQWFjaGVuIHVuZCBlbmRsaWNoIE11ZW5zdGVyLgogICAgVm9tIFBpbmcgIGJyYXVjaCBpY2ggbmljaHQgenUgcmVkZW4sIGRpZSBtZWlzdGVuIHZvbiBldWNoIGhhYmVuIHNvCiAgICB6d2lzY2hlbiAzMDAgdW5kIDUwMCBtcywgd2lyICB6d2lzY2hlbiAzMDAwIHVuZCAxNDAwMCEhISEhICpncmlucyoKCiAgICBTbyBpc3QgZXMgZG9jaCBlaWdlbnRsaWNoIHZlcnd1bmRlcmxpY2gsIGRhc3MgZXMgdHJvdHpkZW0gc28gdmllbGUKICAgIGJlZ2Vpc3RlcnRlIE9lc3RlcnJlaWNoZXIgIGdpYnQsIGRpZSBNVURkZW4sIHp1c2FldHpsaWNoIGJlc29uZGVycwogICAgU3RhaGxkb3JuLCBkZXIgZXMgc2NoYWZmdCwgdHJvdHogSwpLZWluIExvYiBlcndhcnRlbmQsIGJsb3NzIG1pdCBkZXIgQml0dGUgdW0gS2VubnRuaXNuYWhtZSAqa2ljaGVyKgoKLUNyZWEtLCBmdWVyIGRlbiBkaWUgUGFydHkgdG90YWwgZ2VuaWFsIHdhcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmltIEZyZWliYWQuLi4gKENyZWF0aXZlLCAyMy4gQXVnIDE5OTUsIDE3OjI3OjQyKToKCkVpbiBrbGVpbmVyIEJlcmljaHQgYXVzIGRlbSBGcmVpYmFkLi4uCgpUamEsIFNhbXN0YWcgd2FycywgUGFydHktVGltZSwgdW5kIGRpZSwgZGllIE11ZW5zdGVyIG5vY2ggbmljaHQgYW0gRnJlaXRhZwplcnJlaWNodCAgaGFiZW4gc3Ryb2VtdGVuIGluIGlocmVuICBBdXRvcyBvZGVyIHdhcyAgYXVjaCBpbW1lciBpbiBSaWNodHVuZwppaHJlciBIZXJiZXJnc3ZhZXRlci4KCkZ1ZXIgIGRpZSwgZGllIHNjaG9uIGFtICBGcmVpdGFnIGRhcyB0b2xsZSBGZWVsaW5nIGdlbmllc3NlbiAga29ubnRlbiwgd2FyCmRlciBTYW1zdGFnIHdvaGwgIG1laHIgZ2VydWhzYW0sIGF1c3NlciB2aWVsbGVpY2h0ICBmdWVyIGRpZSwgZGllIHNpY2ggdm9uCmRlbiAgQ2hlZnMgZGVzICBMUEMgYmVsZWhyZW4gIGxhc3NlbiBkdXJmdGVuICgqZ3JpbnMqLCBGcmVpYmFkICB3YXIgc2ljaGVyCmx1c3RpZ2VyLi4uKSBOYWNoIGVpbmVtICBwZXJmZWt0ZW4gRnJ1ZWhzdHVlY2sgKCptamFtLCBzY2htYXR6KiwgZWluIG5hY2gtCnRyYWVnbGljaGVyIGxpZWJlciBEYW5rICBhbiBWcmFpJ3MgTXV0dGVyKSBicmFjaCAgZGllIFRydXBwZSwgZGllIGJlaSBWcmFpCnVudGVyZ2VicmFjaHQgIHdhciwgaW4gUmljaHR1bmcgIEZyZWliYWQgYXVmIChkYSB3YXJlbnMgbnVyICBub2NoIDEzLCBkZW5uCmRpZSBhbmRyZW4gZ2luZ2VuIGluIGRpZSBJbm5lbnN0YWR0LCBFaXMgZXNzZW4gb2RlciBzbywgd2llIGxhbmd3ZWlsaWcgOikpCkRvcnQgIGFuZ2Vrb21tZW4gbWFjaHRlbiB3aXIgIHVucyBlcnN0IG1hbCBhdWYgZGllICBTdWNoZSBuYWNoIGFuZHJlbiwgZGllCmF1Y2ggZ2VzYWd0ICBoYWV0dGVuLCBkYXNzIHNpZSBrb21tZW4gd29sbHRlbi4gTmllbWFuZCBkYS4uLiBPcmtUb2V0ZXIgYmUtCm51dHp0ZSAgZGllIEdlbGVnZW5oZWl0LCBldi4gdm9yaGFuZGVuZSAgUmVzdGdydWVwcGNoZW4gZHVyY2ggIGxhdXRzdGFya2VzCidPUktUT0VURU4nLUdlcnVmZSBhdWZ6dXNjaGV1Y2hlbiwgYWJlciBsZWlkZXIsIGVzIG1lbGRldGUgc2ljaCBuaWVtYW5kLgoKKFdpZSBuYWNoaGVyICBlcmZhaHJlbiwgdmVybGllc3NlbiAgZGllIGFuZHJlbiAgdW0gMTMwMCBkYXMgQmFkLCB3aXIga2FtZW4KdW0gY2EuIDEzMzAgYW4uLi4gc2NoYWRlIGVpZ2VudGxpY2gsIEFubS4gZC4gVmVyZi4pCk51biBqYSwgIG5pY2h0c2Rlc3RvdHJvdHogdmVyYnJhY2h0ZW4gd2lyIGVpbmVuIHNjaG9lbmVuIE5hY2htaXR0YWcgaW0gQmFkCmJlaSAgc2F1a2FsdGVtIFdhc3NlciwgZGFzICBzb2dhciBub2NoIGRpZSAgcmVjaHQgZWlzaWdlIER1c2NoZSB1ZWJlcnRyYWYsCmplZG9jaCBiZWkgaW1tZXJoaW4gd3VuZGVyYmFyZXIgd2Flcm1lbmRlciBTb25uZSA6KQpLZWluZXJsZWkgIEF1c3NjaGF1aGFsdGVuIG5hY2ggIGFuZHJlbiBNb3JnZW5HcmF1bGVybiBicmFjaHRlIHdhcyAqc25pZmYqLApkYXMgYnJhY2h0ZSB1bnMgYXVmIGRpZSBJZGVlLCB2aWEgTGF1dHNwcmVjaGVyIGVpbiBCU1MgZXYuIHp1IHZlcmxhdXRiYXJlbgpvZGVyIGV2LiBlaW5lIEh5ZHJhcnVlc3R1bmcsIHZpZWxsZWljaHQgIHJlYWdpZXJ0ZSBkYSBqZW1hbmQgZHJhdWYuIExlaWRlcgpzcGllbHRlIGRlciAgZHVyY2hzYWdlbmRlICBUeXAgbmljaHQgbWl0LCBiZXRvbnRlICBhYmVyIG1pdCAoYWJ3ZXJ0ZW5kZXI/KQpyZWljaGxpY2ggIHNlbHRzYW1lciBTdGltbWU6ICdBbGxlICB2b24gZGVyICBNT1JHRU5HUkFVRU4tR1JVUFBFICBiaXR0ZSBhbQpLaW9zayB0cmVmZmVuJyAqZ3JpbnMqCkltbWVyIG5vY2ggbml4LiBOdW4gIGphLCBtYW4gdHJvZXN0ZXQgc2ljaCBlYmVuIG1pdCB3YXMgYW5kcmVtLiBJY2ggbGFnIHNvCnZvciBtaWNoIGhpbiAobmVpbiwgbmljaHQgbGFndGUgKmdyaW5zKiksIGFsbGUgIGFuZHJlbSBpbSBXYXNzZXIsIG5hY2ggdW5kCm5hY2ggcmF1c2tvbW1lbmQgLSBzaWNoIGFuIG1pY2ggIHVuZCBpbiB3ZWl0ZXJlciBGb2xnZSBkYW5uIGFuIGRpZSBhbmRlcmVuCmt1c2NoZWxuZCwgd3VzY2hlbG5kLCBzdHJlaWNoZWxuZCwgaW1tZXIgbWVociB1bmQgbWVoci4uLgoKKE1pbnV0ZW4gc3BhZXRlcikKPiBzY2hhdQpEdSBiaXN0IGltIE11ZW5zdGVyYW5lciAgRnJlaWJhZC4gUnVuZCB1bSBEaWNoIGZyb2VobGljaGUgTWVuc2NoZW4gdW5kIGVpbgpTcG9ydGJlY2tlbi4gQXVmIGRlciBXaWVzZSBzaWVoc3QgRHUgZWluZW4gSGF1ZmVuLgo+IHVudCBtZW5zY2hlbgpEaWUgTWVuc2NoZW4gIHNlaGVuIGFsbGUgIG1pdCBhYnNvbHV0IGtvbnN0ZXJuaWVydGVtIEJsaWNrIGluIFJpY2h0dW5nIGRlcwpIYXVmZW5zLCBkZXIgZG9ydCBhbSBCb2RlbiBydW1saWVndC4KPiB1bnQgYmVja2VuCkltICBTcG9ydGJlY2tlbiBpc3QgZWlzaWdlcyAgV2Fzc2VyLCBkYXJ1bSB0dW1tZWxuICBzaWNoIGF1Y2ggZWhlciB3ZW5pZ2VyCkxldXRlIGRhcmluLgo+IHVudCBoYXVmZW4KRWluIEhhdWZlbiB2b2xsZXIgIG1lcmt3dWVyZGlnZXIgTW9yZ2VuR3JhdWVuLU1lbnNjaGVuLiBXZWl0IHVuZCBicmVpdCBuaXgKYW5kZXJlcyBhbHMgbWVuc2NobGljaGUgTGVpYmVyLCBkaWUgaW5laW5hbmRlciAgdmVyc2NobHVuZ2VuIHVuZCB1ZWJlcmVpbi0KYW5kZXIgZGVuIFJhc2VuIHZlcnppZXJlbi4KPiBzdWNoZSBoYXVmZW4KRHUgdW50ZXJzdWNoc3QgZGVuIEhhdWZlbiBnZW5hdWVyLiBEdSBlcmtlbm5zdDogQ3JlYXRpdmUsIER1c3R5LCBFbmd5d3VjaywKRnJlZGVyaWNrLCBHcml6YWJlbGxhLCBNaW1vLCAgTmljaHRzLCBPcmtUb2V0ZXIsIFBlbmVsb3BlLCAgU2VtaXJhLCBUYXNoYSwKV29vZHkgdW5kIFplcGh5ci4gKGluIGFscGhhYmV0aWNhbCBvcmRlcikKPiB1bnQgY3JlYXRpdmUKQ3JlYXRpdmUgbGVobnQgIHp1dW50ZXJzdCBhbiAgZWluZW0gQmF1bS4gV2VubiAgZXIgYXVmc3R1ZW5kZSwgd3VlcmRlICBkZXIKZ2FuemUgSGF1ZmVuIGF1c2VpbmFuZGVyZmFsbGVuLiBFciBkdWVyZnRlIGRpZSBTYWNoZSBpbml0aWllcnQgaGFiZW4uCj4gdW50IG5pY2h0cwpOaWNodHMgIHNpdHp0IGV0d2FzIGFic2VpdHMsIHdpbGwgc2ljaCAgbmljaHQgaW50ZWdyaWVyZW4uIEVyICBkYXJmIGRhZnVlcgpmdWVyIGFsbGUgZWluIEZvdG8gbWFjaGVuICpraWNoZXIqCj4gdW50IGt1c2NoZWxuCkFsbGUgIGRydWVja2VuICBzaWNoIGZ1cmNodGJhciAgZnJvZWhsaWNoIGdlZ2VuZWluYW5kZXIgIHVuZCBrdXNjaGVsbiAgdW5kCnd1c2NoZWxuIGhlcnVtLiBFcyBtYWNodCBhbGxlcyBpbiBhbGxlbSBlaW5lbiBmdXJjaHRiYXIgbmV0dGVuIEVpbmRydWNrLgo+IHVudCBzaXR0ZW5wb2xpemVpCkRpZSBTaXR0ZW5wb2xpemVpIGlzdCBOT0NIIG5pY2h0IGRhLgoKVGphamEuLi4gZXJ6YWVobHQgbWFsICBhbGxlbiBMZXV0ZW4sIGRpZSAgdm9yYmVpZ2luZ2VuIHVuZCAgZWluIHdlbmlnIGRvb2YKZ2VrdWNrdCBoYWJlbiwgZGFzcyB3aXIgIG5pY2h0IGVpbmUgIENsaXF1ZSBzaW5kLCBkaWUgIHNpY2ggc2Nob24gc2VpdCBjYS4KMTAgSmFocmVuIGtlbm50LCBzb25kZXJuICBlaW4gSGF1ZmVuIGF1cyBnYW56ICBEZXV0c2NobGFuZCwgZGVyIHNpY2ggYmxvc3MKdmlhIENvbXB1dGVyIHNlaXQgY2EuIGVpbmVtICBKYWhyIGtlbm50IHVuZCBzaWNoIG5vY2gga2F1bSBnZXNlaG4gaGF0IG9kZXIKc28gOikpKSkpCgotQ3JlYS0sIGZyZXV0IHNpY2ggd2llIFNlbWlyYSBhdWYgZGllIEJpbGRlci4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgT2VzaXMgdW5kIGRhcyBNVUQtTGlmZS4uLiAoQ3VjaHVsbGluLCAyMy4gQXVnIDE5OTUsIDE3OjMzOjQ0KToKIyEgcm49Q3JlYXRpdmUgcnQ9ODA5MTkxNTMwCgpWZXJkYW1tdCwgaWNoIHd1c3N0ZSBnYXIgbmljaHQsIGRhc3MgT3NuYWJydWVjayBpbiBPZXN0ZXJyZWljaCBsaWVndC4KQWJlciBkYXMgTGFnIDMwMDAtMTUzMDAga29tbXQgbWlyIHNvIGJla2FubnQgdm9yLi4uICp3dW5kZXIqICpzdGF1bioKCkN1Y2guLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbSBGcmVpYmFkLi4uIChOaWNodHMsIDIzLiBBdWcgMTk5NSwgMTc6NDM6MDMpOgojISBybj1DcmVhdGl2ZSBydD04MDkxOTE2NjIKCgpIbW1tLi4uIGRhcyBtaXQgZGVtICJJbnRlZ3JpZXJlbiIgd2FyIHZpZWxsZWljaHQgZWhlciBlaW5lIFNhY2hlIGRlcyAnbmljaHQKa29lbm5lbicgYW5zdGVsbGUgZGVzICduaWNodCB3b2xsZW4nLgpEZW5uIHdlciBsYWVzc3Qgc2Nob24gZ2VybmUgTmljaHRzIGFuIGVpbmVuIGFua3VzY2hlbG4uLi4KCkV0d2FzIHdlaG11ZXRpZyBpbiBkaWUgVmVyZ2FuZ2VuaGVpdCBzY2hhdWVuZC4uLgoiIgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbSBGcmVpYmFkLi4uIChTY2hydW1wZmksIDIzLiBBdWcgMTk5NSwgMTk6MTM6NTUpOgojISBybj1DcmVhdGl2ZSBydD04MDkxOTE2NjIKTGFiZXIgbmljaHQgcnVtLCBvcmdhbmlzaWVyIGxpZWJlciBtaXQgbWlyIGZ1ZXIgSGVyYnN0IGluIExpbnogZWluZSBNRy1QYXJ0eSEKOi0pClNjaHJ1bXBmaQpQLlMgTWlyIGhhdCBkaWUgUGFydHkgZWlnZW50bGljaCBhdWNoIGdhbnogZ3V0IGdlZmFsbGVuLCB0cm90eiBOdWVjaHRlcm5oZWl0LgpNZWluIGdhbnogc3BlemllbGxlciBEYW5rIGdlaHQgYW4gUm9jaHVzLCBUb2V0ZXIgdW5kIEpvZiBkaWUgYW0gU29ubnRhZyBtaXQKdW5zIGJpcyAyMjowNiBhdXNnZWhhcnJ0IGhhYmVuIHVuZCB1bnMgYXVjaCBub2NoIHp1bSBadWcgZ2VicmFjaHQgaGFiZW4gdW0gdW5zCnp1IHdpbmtlbiA6LSkgKEVuZGxpY2ggc2luZCBzaWUgd2VnLi4uIDstKSApIE9obmUgZGllIGRyZWkgd2FlaHJlbiB3aXIKd2FocnNjaGVpbmxpY2ggdmVyendlaWZlbHQgaW4gZWluZW0gQ2FmZSBhbSBCYWhuaG9mIGdlc2Vzc2VuIHVuZCBoYWV0dGVuIGRpZQpaZWl0IHRvdGdlc2NobGFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGltIEZyZWliYWQuLi4gKFllbmRpLCAyMy4gQXVnIDE5OTUsIDE5OjI1OjM0KToKIyEgcm49U2NocnVtcGZpIHJ0PTgwOTE5ODAzNQoKCgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2huZSBkaWUgZHJlaSB3YWVocmVuIHdpcgp3YWhyc2NoZWlubGljaCB2ZXJ6d2VpZmVsdCBpbiBlaW5lbSBDYWZlIGFtIEJhaG5ob2YgZ2VzZXNzZW4gdW5kIGhhZXR0ZW4gZGllClplaXQgdG90Z2VzY2hsYWdlbi4gICAgICAgICAgIgoKSG1tbS4uLgo+IGZpbmdlciB6ZWl0CkRpZSBaZWl0IGlzdCBuaWNodCBlaW5nZWxvZ2d0LgpadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiBNdWVuc3RlcgpadWxldHp0IGF1c2dlbG9nZ3Q6IFNvLCAyMC4gQXVnIDE5OTUsIDIyOjAyOjM3ClZvbGxlciBOYW1lOiBaZWl0ClJhc3NlOiBaZWl0LCAgIEdlc2NobGVjaHQ6IHdlaWJsaWNoICAgU3BpZWxlcmxldmVsOiAxClNlaXQgZGVtIDMwLjExLic5NCBiZXJlaXRzIDUzNjU2MiBtYWwgZ2VzdG9yYmVuCgoKU29zbywgYXVzIHB1cmVyIExhbmdld2VpbGUgZWluIFNwaWVsZXJtb3JkLCBobW1tPwpOYSwgZGFzIHNjaGVpbnQgaWhyIGphIG9lZnRlciB6dSBtYWNoZW4sIHdhcz8KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgT2VzaXMgdW5kIGRhcyBNVUQtTGlmZS4uLiAoR3VsZHVrYXQsIDIzLiBBdWcgMTk5NSwgMTk6Mzc6MTkpOgojISBybj1DdWNodWxsaW4gcnQ9ODA5MTkyMDI0CgpXYXMgaGF0IEJvY2h1bSBlcyBkYSBndXQsIHdpciBoYWJlbiBzbyB1bSAyMCBiaXMgMjUhCkdEIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaW0gRnJlaWJhZC4uLiAoU2NocnVtcGZpLCAyMy4gQXVnIDE5OTUsIDE5OjUyOjMwKToKIyEgcm49WWVuZGkgcnQ9ODA5MTk4NzM0CldpZSBtZWluc3QgRHUgZGFzPz8gOi0pClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgT2VzaXMgdW5kIGRhcyBNVUQtTGlmZS4uLiAoQmFyb24sIDIzLiBBdWcgMTk5NSwgMjA6MjM6MzYpOgojISBybj1DdWNodWxsaW4gcnQ9ODA5MTkyMDI0CldpZSwgQ3JlYSwgREFTIHd1c3N0ZXN0IGR1IG5pY2h0PyBNaXIgd2FyIGltbWVyIGtsYXIgZGFzIE9lc3RlcnJlaWNoIHNlaHIKdmllbCBub2VyZGxpY2hlciBiZWdpbm50IGFscyBkaWUgbWVpc3RlbiBMZXV0ZSBnbGF1YmVuIDopLgpCYXJvbiAtIEJpZWxlZmVsZGVyIC0+IFN1ZWRiYXllcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcHJhbGwgKEtvdHpicm9ja2VuLCAyNC4gQXVnIDE5OTUsIDExOjI4OjUyKToKSGFsbG8sCmFsc28gd2VyIG1pY2ggYXVmIGRlciBwYXJ0eSBnZXNlaGVuIGhhdCwgaGF0IHdhaHJzY2hlaW5saWNoIGdlbWVya3QsIGRhc3MKaWNoIGdhciBuaXggbWVociBnZXNlaGVuIGhhYiwgd2lsbCBzYWdlbiBpY2gga2FtIHNjaG9uIGJlc29mZmVuIGFuIHVuZCBoYWJlCm5hY2ggZGVuIGVyc3RlbiBwYWFyIGJpZXIgZGVuIHRvdGFsZW4gYXVzc2V0emVyIGJla29tbWVuLiBsZWlkZXIgc2luZCBtZWluZQplcmlubmVydW5nZW4gYXVjaCBudXIgbm9jaCBzZWhyIHZhZ2UuLi5hbHNvIGljaCB3b2xsdGUgbWljaCBhKSBiZWkgZGVuIGxldXRlbgplbnRzY2h1bGRpZ2VuLCBkZW5lbiBpY2ggYXVmIGRpZSBlaW5lIG9kZXIgYW5kZXJlIGFydCBhdWYgZGVuIGdlaXN0IGdlZ2FuZ2VuCmJpbiB1bmQgYikgbWljaCBiZWkgZGVuIGxldXRlbiBiZWRhbmtlbiwgZGllIHNpY2ggZGEgc28gbmV0dCB1bSBtaWNoCmdla3VlbW1lcnQKaGFiZW4uIG11c3Mgd29obCB6aWVtbGljaCBla2VsaGFmdCBmdWVyIHNpZSBnZXdlc2VuIHNlaW4sIHNvIGRpY2h0IHdpZSBpY2gKd2FyLgppY2ggbXVzcyBsZWlkZXIgZ2VzdGVoZW4sIGRhc3MgaWNoIG1pY2ggbm9jaCBuaWNodGVpbm1hbCBhbiBhbGxlIG5hbWVuIGRlcmVyCmVyaW5uZXJuIGthbm4uLi5iZWltIG5hZWNoc3RlbiBtYWwgdHJpbmtlIGljaCBkYW5uIGdhcmFudGllcnQgd2VuaWdlciwgZmFsbHMKZGFubiBub2NoIGplbWFuZCBtaXQgbWlyIHNwcmljaHQuCiAgICAgICAgICAgS290emkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERBTktFISAoWnVlcmlsZXUsIDI1LiBBdWcgMTk5NSwgMTQ6MTY6MDkpOgojISBybj1IYXJkaWwgcnQ9ODA5MDgzMjA2ClNhbGkgSGFyZGlsLApXaWUgc2VodCBlcyBtaXQgZGVyIEZvbHRlcmthbW1lciBhdXMgPyBNZWluZSBlaW5lIEJ1cmcgb2huZSBlaXNlcm5lIEp1bmdmcmF1CndvIG1hbiBHb2x1bSBlaW5zcGFubmVuIGthbm4gb2RlciBGb2x0ZXJiYW5rIGZ1ZXIgZWluIGdlbWV1ZXRsaWNoZXMKU2NobGFlZmNoZW4sIHdhZXJlIGRvY2ggZWluZSBCdXJnIG5pY2h0cyB3ZXJ0ID8KClRzY2h1ZXNzIFp1ZXJpbGV1CgpQczogam8gd2VubiBpbnRyZXNzZSBhbiBlaW5lciBQYXJ0eSBpbiBadWVyaWNoIGlzdCBpY2ggd3VlcmQgbWljaCBmcmV1ZW4gbWl0CkdvbHVtIHNvd2FzIGF1Znp1emllaGVuID06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmluc3Rlcm5pc3MgKFJhZmZpLCAyNS4gQXVnIDE5OTUsIDE4OjA1OjE3KToKQWxzbyBpcmdlbmR3YXMgbXVzcyBnZWdlbiBkaWVzZW4gZG9vZmVuIEZpbnN0ZXJuaXNzemF1YmVyIGRlcgpjaGFvc2dpbGRlIHVudGVybm9tbWVuIHdlcmRlbi4gWnVyIHplaXQgaXN0IGRpZSBnYW56ZSBnZWdlbmQKdW0gZGFzIGVsZmVuZG9yZiwgaW5uZXJoYWxiIGRlciBzaWVkbHVuZyB1bmQgc29nYXIgZGVyIExhZGVuCnZlcmR1bmtlbHQuIC0gRGFzIGthbm4gZG9jaCB3b2hsIG5pY2h0IHNpbm4gZGVyIHNhY2hlIHNlaW4uCgpEZW5rIG1hbCBlaW5lciBhbiBkaWUgZ2FuemVuIGFuZmFlbmdlciBkaWUgZG9ydCBydW1sYXVmZW4gLQpkYXMgaXN0IGphIG5pY2h0IGJlc29uZGVycyBpbnRlbGxpZ2VudC4KCldhcyBrYW5uIG1hbiBkYWdlZ2VuIGVpZ2VudGxpY2ggbWFjaGVuID8KKEljaCB3aWxsIGpldHp0IGtlaW5lIGxvZXN1bmdlbiB3aWUgRmFja2VsbiBvZGVyIG1hcCBoYWx0IC0KZnVlciBtaWNoIGlzdCBkYXMgSElFUiBrZWluIFByb2JsZW0sIGRhIGljaCBESUVTRSBnZWdlbmQgYmVyZWl0cwpnZW1hcHQgaGFiZSAoYWxzIGVzIG5vY2ggaGVsbCB3YXIgOikpIC0gdW5kIGRlbiBXZWcgaW56d2lzY2hlbgphdXN3ZW5kaWcga2VubmUuIEVzIGdpYnQgYWJlciBhdWNoIGZ1ZXIgbWljaCBnZW51ZWdlbmQgZ2VnZW5kZW4KZGllIGljaCBub2NoIG5pY2h0IGtlbm5lIHVuZCB3ZW5uIGljaCBkb3J0IGluIGVpbmVyIHF1ZXN0IGF1Y2gKbm9jaCB6dXNhZXR6bGljaCBtaXQgc29sY2hlbiBmaW5zdGVybmlzc2dsb2NrZW4gYmVsYWVzdGlndCB3ZXJkZQppc3QgZGFzIHNjaG9uIGdhbnogc2Nob2VuIGZpZXMuKQoKSW5zYmVzb25kZXJlIGdlaHQgZXMgamEgc29nYXIgc293ZWl0IGRhcyBuaWNodG1hbCBmYWNrZWxuIGhlbGZlbi4KCkljaCBkZW5rZSBkaWVzZXIgWmF1YmVyc3BydWNoIGJyaW5ndCBrZWluZSBWZXJiZXNzZXJ1bmcsIGFiZXIKdmllbGUgTmFjaHRlaWxlIGZ1ZXIgdW5iZXRlaWxpZ3RlIE5ldWxpbmdlLiBNaW5kZXN0ZW5zIG1hbApzb2xsdGUgZGllIFdpcmt1bmdzZGF1ZXIgYXVmIDYwIHNlayBydW50ZXJnZXNldHp0IHdlcmRlbi4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmluc3Rlcm5pc3MgKEFuYWtpbiwgMjUuIEF1ZyAxOTk1LCAxODoxMTowMyk6CiMhIHJuPVJhZmZpIHJ0PTgwOTM2NjcxNwpIbW0gRmFja2VsbiBvZGVyIExldWNodGt1Z2VsbiBoZWxmZW4gc2Nob24sIG1hbiBtdXNzIG51ciBoYWx0IG1laHJlcmUgZGF2b24KYW56dWVuZGVuLiBOYWphIHNvd2FzIGtvZW5uZW4gYWxsZSBhbmRlcmVuIGF1Y2ggbWl0IHNjaHdhcnplciBSdWVzdHVuZyBvZGVyClNvbm5lbnNjaGlybSBtYWNoZW4uCgpBbmFraW4gKHNjaHJlaWJ0IGF1cyBsYXV0ZXIgTGFuZ3dlaWxlIHNjaG9uIHNpbm5sb3NlIEFydGlrZWwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZpbnN0ZXJuaXNzIChSYWZmaSwgMjUuIEF1ZyAxOTk1LCAxODoxNjoxMyk6CiMhIHJuPUFuYWtpbiBydD04MDkzNjcwNjMKZXJrbGFlciBkYXMgZG9jaCBtYWwgamVtYW5kZW0gZGVyIHVlYmVyaGF1cHQgKG9kZXIgaW4gZGllc2VyIEVja2UpIG5ldSBpc3QKKGQuaC4gdmVyc3VjaCBtYWwgdm9uIGRlaW5lbiAzMSBTdHVmZW4gc28gMjUgYmlzIDMwIHp1IHZlcmdlc3NlbjopCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZmluc3Rlcm5pc3MgKEFuYWtpbiwgMjUuIEF1ZyAxOTk1LCAxODoxNzoxMSk6CiMhIHJuPVJhZmZpIHJ0PTgwOTM2NzM3MwpJY2ggdmVyZHVua2VsIGVzIG5pY2h0LiBVbmQgdG9sbCBmaW5kZSBpY2ggZXMgYXVjaCBuZWQuCgpBbmFraW4gKGhtbSBuZW4ga2xlaW5lbiBGbGFtZXdhcj8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmluc3Rlcm5pc3MgKFJvYWRydW5uZXIsIDI1LiBBdWcgMTk5NSwgMTg6MjU6NTgpOgojISBybj1SYWZmaSBydD04MDkzNjY3MTcKZmluZGUgaWNoIGF1Y2ggbGFlc3RpZyAtIHdhcyBzb2xsIGRlciB6YXViZXIgZGVubiBhdWNoIGJyaW5nZW4gLSBkdW1tIGlzdCBudXIKZGFzcyBlciBiZWltIGVyaG9laGVuIGRlciBnaWxkZW5zdHVmZSB2ZXJsYW5ndCB3aXJkISAtIGFsc28gYmxlaWJ0IGVpbmVtCm5pY2h0cyBhbmRlcmVzIHVlYnJpZyBhbHMgaWhuIGltbWVyIHVuZCB1ZWJlcmFsbCB6dSBwcm9iaWVyZW4gZGFzcyBkaWUKZmFlaGlna2VpdCBiZXNzZXIgd2lyZC4KCmFjaCAtIG5lYmVuYmVpIC0gZXMgaXN0IGRlciAnZHVua2VsaGVpdCcgLSBzcHJ1Y2ggZ2VtZWludCAtIGZpbnN0ZXJuaXMgaXN0CmVpbiBrbGFtcGZ6YXViZXIgYW5hbG9nIHp1ICdzY2huZWxsJyBkZXIgZ2lsZGUgLSBudXIgdW1nZWtlaHJ0IC0gZGFzIG1vbnN0ZXIKd2lyZCBmZXN0Z2VuYWdlbHQuICAtICB1ZWJyaWdlbnMgaGF0IG1pY2ggREFCRUkgZ2V3dW5kZXJ0IGRhc3MgZGVyIHNwcnVjaCB6d2FyCmZ1bmt0aW9uaWVydGUgLSBhYmVyIG5pY2h0IHdpcmt0ZSEgKGdlaG9lcnQgZWlnZW50bGljaCBuYWNoIC5jaGFvcykKCgkJCVJvYWRydW5uZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZpbnN0ZXJuaXNzIChGZWxzLCAyNS4gQXVnIDE5OTUsIDE4OjI2OjI5KToKIyEgcm49QW5ha2luIHJ0PTgwOTM2NzQzMQpIYWxsbzotKQpJY2ggaGFiIGhldXQgYXVjaCBnYW56IHNjaG9lbiBnZXN0YXVudCwgYWxzIHBsb2V0emxpY2ggZGFzIGhhbGJlIE1HIGZpbnN0ZXIKd2FyLiBJY2ggaGFldHRlIGpldHp0IG51ciBtYWwgZWluZSBiZXNjaGVpZGVuZSBGcmFnZSBhbiBkZW4vZGllIE1hZ2llciwgdm9uCmRlbmVuIGRlciBGaW5zdGVybmlzLVNwcnVjaCBnZXByb2dndCB3dXJkZTogV29mdWVyIGlzdCBkZXIgZGVubiBnZWRhY2h0PyBXYXMKaXN0IGRlciBTaW5uPwpGdWVyIE5ldWxpbmdlIGlzdCBkYXMgd2lya2xpY2ggbmljaHQgZGFzIHdhaHJlLi4uCgpHcnVzcywgRmVscyAtIGdydWViZWxuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZpbnN0ZXJuaXNzIChTY2hydW1wZmksIDI1LiBBdWcgMTk5NSwgMTg6MjY6NDUpOgojISBybj1SYWZmaSBydD04MDkzNjczNzMKSWNoIGhhYiBlcyBrb21tZW4gc2VoZW4hIEljaCBoYWIgZXMgZ2VuYXUgZ2V3dXNzdCEgTnVyIHd1bmRlcnQgbWljaCwgZGFzcwpzaWNoIGRhIG5vY2gga2VpbmVyIGZydWVoZXIgYXVmZ2VyZWd0IGhhdC4KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5zdGVybmlzPUR1bmtlbGhlaXQ6LSkgKEZlbHMsIDI1LiBBdWcgMTk5NSwgMTg6Mjg6NDgpOgpBZWhtLCBvaywgaGFiIGdyYWQgaW4gUm9hZHJ1bm5lcnMgQXJ0aWtlbCBnZWxlc2VuLCBkYXNzIGRhcyBUZWlsCkR1bmtlbGhlaXQtU3BydWNoIGhlaXNzdC4uLiBBbHNvIGljaCBtZWluIG5hdHVlcmxpY2ggZGVuOi0pCkdydXNzLCBGZWxzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZmluc3Rlcm5pc3MgKFJhZmZpLCAyNS4gQXVnIDE5OTUsIDE4OjMyOjA2KToKPiBJY2ggdmVyZHVua2VsIGVzIG5pY2h0LiBVbmQgdG9sbCBmaW5kZSBpY2ggZXMgYXVjaCBuZWQuCgpGdWVobCBkaWNoIGRvY2ggbmljaHQgZ2xlaWNoIGdlYmlzc2VuIC0gZGFzIHdhciBudXIgZWluZSBhdWZmb3JkZXJ1bmcKZGllIHNvIHp1IHZlcnN0ZWhlbiBpc3Qgd2llIGVzIGRhIHN0YW5kIC0gdWViZXJsZWcgRGlyIHdpZSBkdSBtaXQgZGVyIGZsb2VkZW4KRkluc3Rlcm5pc3MgYWxzIFN0dWZlIDEtOSB6dXJlY2h0Z2Vrb21tZW4gd2FlcnN0IC0gdW5kIHdpZSBmcnVzdHJpZXJlbmQgZGFzCmZ1ZXIgZWluZW4gYW5mYWVuZ2VyIHNlaW4gbXVzcy4KCj4gQW5ha2luIChobW0gbmVuIGtsZWluZW4gRmxhbWV3YXI/KQoKSW1tZXIgLSBhYmVyIGRhbm4gZG9jaCBhdWYgc2NobWFycm4gPyE/CgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmaW5zdGVybmlzcyAoUmFmZmksIDI1LiBBdWcgMTk5NSwgMTg6MzQ6NDEpOgojISBybj1Sb2FkcnVubmVyIHJ0PTgwOTM2Nzk1OAo+YWNoIC0gbmViZW5iZWkgLSBlcyBpc3QgZGVyICdkdW5rZWxoZWl0JyAtIHNwcnVjaCBnZW1laW50IC0gZmluc3Rlcm5pcyBpc3QKPmVpbiBrbGFtcGZ6YXViZXIgLi4uCgpXdXN0ZSBpY2ggbmljaHQgKG5pY2h0IGNoYW90aWNrZXIpIC0gaWNoIGthbm50ZSBudXIgZGllIGF1c3dpcmt1bmcgdW5kIGRpZQp3aXJkIG1pciBudW5tYWxsIG1pdCBkZW0gYXVmdWVocmxpY2hlbiB0ZXh0ICJGaW5zdGVybmlzcyIgYmVzY2hyaWViZW4gOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmaW5zdGVybmlzcyAoQm9ibywgMjUuIEF1ZyAxOTk1LCAxODo0MTo1Mik6CiMhIHJuPVNjaHJ1bXBmaSBydD04MDkzNjgwMDUKSmEsCndlbm4gamV0enQgYWxsZSBzbyBpbiBoZWxsZXIgKGJlc3NlcjogZHVua2xlcikgQXVmcmVndW5nIHNpbmQsIHNpbmQKdmllbGxlaWNodCB3aWVkZXIgZGllIFNlbGJzdHJlaW5pZ3VuZ3NrcmFlZnRlIGltIE11ZCBnZWZyYWd0LiBXaWUgbGFuZ2UKd2lya3QgZGVyICdkdW5rZWxoZWl0Jy1aYXViZXIgZGVubj8gS2FubiB2aWVsbGVpY2h0IGplbWFuZCBlaW4ga2xlaW5lcwpTY3JpcHRzcGllbGVyY2hlbiBkdXJjaCBkaWUgQm90YW5payB3YW5kZXJuIGxhc3NlbiwgZGFzIGluIHJlZ2VsbWFlc3NpZ2VuCkFic3RhZW5kZW4gTGljaHRrdWdlbG4gYWJsZWd0PyBBdWYgZGllc2UgQXJ0IGhhZXR0ZW4gZGllIFNjcmlwdGllcyBkaXJla3QKbWFsIGV0d2FzIGZ1ZXIgZGllIEFsbGdlbWVpbmhlaXQgZ2V0YW4uIEdlbGQgenVtIFRhbmtlbiBtdWVzc3RlIGF1cyBlaW5lbQpTcGVuZGVudG9wZiB6dXIgVmVyZnVlZ3VuZyBnZXN0ZWxsdCB3ZXJkZW4uIEthbm4gbWFuIGRpZXNlCk5hY2h0c2NoYXR0ZW5nZXdhZWNoc2UgbmljaHQgZHVyY2ggc2FuZnRlbiBEcnVjayBkYXZvbiBhYmhhbHRlbiwgYXVzZ2VyZWNobmV0CmRlbiBuZXdiaWVzIGRlbiBTdGFydCB6dSBlcnNjaHdlcmVuPyBXZXIgdWViZW4gd2lsbCwga2FubiBzaWNoIGluIGRlciBTU1AKdmllbGxlaWNodCBlaW5lIEVja2UgenVtIFZlcmR1bmtlbG4gYXVzc3VjaGVuLCBkb3J0IGJyYXVjaHQgbnVyIHNlbHRlbiBtYWwKamVtYW5kIExpY2h0LgoKTWVpbmVuIFNlbmYgbXVzcyBrZWluZXIgaW4gZGVuIGZhbHNjaGVuIEhhbHMga3JpZWdlbiwgYmVzY2h3ZXJlbiB3b2xsdGUgaWNoCm1pY2ggbmljaHQuIE5pZW1hbmQgaGF0IGJlaGF1cHRldCwgZGFzIENoYW90ZW4gdW5kIERhZW1vbmVuIGZyaWVkbGljaGUKWmVpdGdlbm9zc2VuIHNpbmQsIGRlcmVuIExlYmVuc3p3ZWNrIGVzIGlzdCwgZHVyY2ggVGFlbnplIHVuZCBHZXNhZW5nZSB6dXIKYWxsZ2VtZWluZW4gRXJoZWl0ZXJ1bmcgdW5kIEhhcm1vbmllIGJlaXp1dHJhZ2VuLi4uCgpTbyBsb25nLAp0d0JzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZpbnN0ZXJuaXNzIChZZW5kaSwgMjUuIEF1ZyAxOTk1LCAxOToxNTo1OSk6CiMhIHJuPVJhZmZpIHJ0PTgwOTM2NjcxNwoKRHVua2VsIGluIGRlciBFbGZlbnNpZWRsdW5nPwoKRGEgbXVlc3N0ZW4gZGFubiB3b2hsIGRpZSBFbGZlbndhY2hlbiB1bmQgZGllIEdhZXJ0bmVyaW4gcnVtbGF1ZmVuIHVuZCBtaXQKZWluZW0gIlR6dHp0eiwgc2Nob24gd2llZGVyIGRpZXNlIGtpbmRpc2NoZW4gQ2hhb3Rlbi4uLiIgZWluZW4gSGVsbGlna2VpdHMtCnNwcnVjaCBhYnNldHplbi4KCkNldGVydW0gY2Vuc2VvLCBkYXNzIExhZWRlbiwgS25laXBlbiB1bmQgUG9zdCBhdXRvbWFnaXNjaCBkYXVlcmhlbGwgc2Vpbgpzb2xsdGVuLgoKTnVyIG1laW5lIDIgS2lsb2t1amFtYmVsbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZpbnN0ZXJuaXNzIChSYWZmaSwgMjUuIEF1ZyAxOTk1LCAxOToxODoyNSk6CiMhIHJuPVllbmRpIHJ0PTgwOTM3MDk1OQpkYXMgd2FlcmUgc2Nob25tYWwgbmUgbG9lc3VuZyAtIHVuZCBpbiBkZXIgc3RhZHQgKFBWIGtvZW5udGVuIGVzIGphIGRpZQpiZXR0bGVyIG1hY2hlbiA6KQphYmVyIHdhcyBpc3QgbWl0IGRlbiBnZWJpZXRlbiBhdXNzZW5ydW0gPwoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZpbnN0ZXJuaXNzIChDdWNodWxsaW4sIDI1LiBBdWcgMTk5NSwgMTk6MjU6MTgpOgojISBybj1SYWZmaSBydD04MDkzNzExMDUKCkphYWEhIEdlYnQgQW5keSwgSGlwcGUsIEV0d2FzLCBNdXBmZWxzIEt1Z2VsLCBTY2huYXJjaHMgQXJiZWl0c2FtdHNiZXJhdGVyCnVuZCB3aWUgc2llIGFsbGUgaGVpc3NlbiBlbmRsaWNoIGVpbmUgRGFzZWluc2JlcmVjaHRpZ3VuZyEKCkN1Y2guLSAoZmFzemluaWVydCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmaW5zdGVybmlzcyAoUm9hZHJ1bm5lciwgMjUuIEF1ZyAxOTk1LCAyMDoxMjoxMyk6CiMhIHJuPUJvYm8gcnQ9ODA5MzY4OTEyCmRhcyBtaXQgZGVyIHJ1aGlnZW4gZWNrZSBpc3QgendhciBlaW4gbmV0dGVyIHZvcnNjaGxhZyAtIGFiZXIgbmljaHQKcHJha3Rpa2FiZWwgLSBkZXIgc3BydWNoIGZ1bmt0aW9uaWVydCBpbiBqZWRlbSByYXVtIGltbWVyIG51ciBlaW4gcGFhciBtYWwKCglSUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZmluc3Rlcm5pc3MgKEJlbmRlaWdpZCwgMjUuIEF1ZyAxOTk1LCAyMTowNjo1Nik6CiMhIHJuPVJvYWRydW5uZXIgcnQ9ODA5Mzc0MzMzCkhpLgpEYSBhbGxlIGlocmVuIFNlbmYgZGF6dXR1biwgc2NocmF1YiBpY2ggbWVpbiBUb2VwZmNoZW4gYXVjaCBtYWwgYXVmLgpCZWthbm50ZXJtYXNzZW4gaGFiZSBpY2ggYWxzIFNwaWVsZXIgYXVjaCBkZXMgb2VmdGVyZW4gYXVmIGRlbSBNYXJrdCBQVgpydW1nZXN0YW5kZW4gdW5kIGhhdHRlIGVpbnMgZGVyIGJlbGllYnRlbiwgdm9uIEFuYWtpbiBlcndhZWhudGVuIFNhZWNoZWxjaGVuCmRhYmVpLiBKQSBVTkQ/PyBEYSBzdGFuZGVuIG5hY2hoZXIgMTAgTGV1dGUgcnVtLCBqZWRlciBnYWZmdGUsIGRpZQpVbnRlcmhhbHR1bmcgbGllZi4gSWNoIGRlbmtlLCBpbnNvZmVybiBpc3QgZXMgZG9jaCB3aXR6aWcgdW5kIGtvbW11bmlrYXRpdi4uLgo6LSkKTmljaHRzZGVzdG90cm90ejogZGVyIFNwcnVjaCBpc3QgYWVobmxjaWggd2llIE9tYmF0aXMgZWluZmFjaCBudXIgYWxzCnp1c2FldHpsaWNoZXMgaXRlbSBkYSwgZWJlbiBDaGFvdGlzY2guIHVuZCBoYWx0ZW4gdHV0IGVyIGF1Y2ggbmljaHQgZXdpZy4Kd2FydW0gYWxzbyBkYXMgR2VtYXVsZT8KWidwYXIgU2VydnUsCiAgICAgICAgICAgIEJlbmRlaWdpZCAodmVyc3RlaHQgZGllIEF1ZnJlZ3VuZyBuaWNodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoYW90aXNjaGUgZHVua2VsaGVpdCAoWnVlcmlsZXUsIDI2LiBBdWcgMTk5NSwgMTE6MTU6MTkpOgpTYWxpIHphZW1lLApOdW4sIGJpbiBub2NoIGtlaW4gQ2hhb3QgYWJlciBpY2ggZmluZGUgZGVyIGR1bmtlbGhlaXQtc3BydWNoIGdlaG9lcnQgenVyCkNoYW90ZW5naWxkZSB1bmQgd2llIGtvZW5udGUgZGlldyBnaWxkZSBDaGFvdGlzY2ggc2VpbiB3ZW5uIGplZGVyIFNwcnVjaCBrZWluCkNoYW9zIGF1c2xvc2VuIGRhcmYgPyBEYXMgaXN0IG51biBadWVyaWxldS1Mb2dpayBhYmVyIGlzdCBkb2NoIHdhaHIsIGVyc3QKd2FyZW5zIGRpZSBLYXJhdGVrYXMgZGllIG1pdCBpaHJlbiBzY3JpcHRpZXMgYWxsZSBOcGMgdG9kZ2VzY2hsYWdlbiBoYWJlbiB1bmQKZGFzIGltIHJlc2V0LXRha3QgdW5kIGRpZSBBcmVuYSBibG9raWVydGVuLiBVbmQgbnVuIHNpbmQgZXMgaGFsdCBkaWUgQ2hhb3RlbgpkaWUgZGllIHJhZXVtZSBpbiBkdW5rZWxoZWl0IGluIERBUktORVNTIGh1ZWxsZW4gPTopKSBVbmQgZGFzIGxvZXMgaGFsdCBzZWluCkNoYW9zIGF1cyB1bmQgZHJ1bW0gaGVpc3N0IGRpZSBHaWxkZSBqYSBDSEFPUyAhLiBJaHIgcmVndCBldWNoIG5pY2h0IHVlYmVyIGRpZQphbmZhZW5nZXIgYXVmIHNvbmRlcm4gZGFzIGlociBudW4gaGFsdCBGYWNrZWxuIGthdWZlbiBtdWVzc3QgdW5kIG1pdCBkZW0gQ2hhb3MKbGViZW4gbXVlc3N0IGRhcyByZWd0IGV1Y2ggYXVmLiBFaW4gYW5mYWVuZ2VyIGxhdHNjaHQgZWluZmFjaCB3ZWl0ZXIgb2RlcgpoZXVsbHQgbG9zIHdhcnVtIGVzIGhpZXIgc28gZHVua2VsIGlzdCB1bmQgZGFubiBlcmtsYWVydCBtYW5uIGVzIGlobSBoYWx0LiBVbmQKZGFubiBkaWUgQ2hhb3RlbiB2ZXJkdW5rZWxkIGRvY2ggZGllIGVsZmVuc3RhZHQsIGRpZSBFbGZlbiBoYWJlbiBlcyBuaWNodAphbmRlcnMgdmVyZGllbnQgPTopKSBIaWhpLi4gbm9lIHBhc3N0IGRvY2ggZXR3YXMgYXVmIHVuZCB2ZXJzY2hvbmQgd2VuaWdzdGVucwpkaWUgU3RhZWR0ZSwgZGFmdWVyIHNldHp0IGlociBkaWUgTGFuZHNjaGFmdCBydW5kIHVtIGRpZSBTdGFkdGUgaW4gREFSS05FU1MgISEKQWNoIGljaCBsaWViIGRpZSBHaWxkZSwgaWNoIG11c3Mgc2llIGVpbmZhY2ggbGllYmVuLi4uCgpUc2NodWVzcyBadWVyaWxldSAoYWxzIENoYW90IGdlYm9yZW4gdW5kIGF1cyBsZWJlbnNlaW5zdGVsbHVuZyBDSEFPVCEpID06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1byBWYWRpcywgTXVkPyAoRnJlZGVyaWNrLCAyNi4gQXVnIDE5OTUsIDExOjU4OjM0KToKIyEgcm49SXNub2dvb2QgcnQ9ODA3NjE1MzYyCk9obmUgdmllbCBaZWl0dW5nIHp1IGxlc2VuIG1pc2NoIGljaCBtaWNoIG1hbCBrdXJ6IGVpbi4gRGVyIElzbm9nb29kIEFydGlrZWwKc3ByaWNodCB2aWVsZXMgYXVzLCB3YXMgaWNoIG1pciBzY2hvbiBsYW5nZSBkZW5rZSwgemFlaGx0IEdydWVuZGUgYXVmLCB3YXJ1bQppY2ggc2Nob24gbGFuZ2UgbmljaHRtZWhyIHNwaWVsZW4ga29tbWUsIHNvbmRlcm4gbnVybWVociB6dW0gUmVkZW4uCkljaCBtYWcgZGVuICJNdWQtR2Vpc3QiLCBkZXIgbnVubWFsIGhpZXIgd29obnQgdW5kIHNlaCBlcyBtaXQgVHJhdWVyLAp3aWUgZXIgbGFuZ3NhbSBhYmVyIHNpY2hlciBkYWhpbmdlaHQuIEljaCB3aWxsIGRhZnVlciBuaWVtYW5kZW0gZGllIFNjaHVsZApnZWJlbiwgZGVubiBlaWdlbnRsaWNoIGlzdCBlcyBqYSBkaWUgQXVmZ2FiZSBkZXIgTWFnaWVyLCBCdWdzIHp1IGVudGZlcm5lbiwKYWJlciB0cm90emRlbSB2ZXJnZWh0IGVpbmVtIGJlaSBzbyB2aWVsZW4gUmVzdHJpa3Rpb25lbiBiYWxkIGVpbm1hbCBkZXIKU3Bhc3MgYW0gU3BpZWxlbi4KTm8gZGFubiwgYmlzIGJhbGQsCkZyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERBTktFISAoR29sdW0sIDI2LiBBdWcgMTk5NSwgMTQ6MTY6MzIpOgojISBybj1adWVyaWxldSBydD04MDkzNTI5NjkKSG0gamEgZGFzIHd1ZXJkZSBtaXIgYXVjaCBnZWZhbGxlbiwgaWNoIHdvbGx0ZSBzY2hvbiBsYW5nZSBtYWwgbWVpbmVuCnRyYWdiYXJlbiBTY2h3ZWlzc2VyIGF1c3Byb2JpZXJlbiA7KS4uCmN1IEdvbHVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmluc3Rlcm5pc3MgKEJvaW5nLCAyNi4gQXVnIDE5OTUsIDE2OjQzOjMwKToKIyEgcm49UmFmZmkgcnQ9ODA5MzY2NzE3CkVpbmUgZWluZmFjaGUgTG9lc3VuZyB3YWVyZSwgZGVuIFNwcnVjaCBuaWNodCBhbiBkZW4gUmF1bSB6dSBiaW5kZW4sCnNvbmRlcm4gYW4gZGVuIHphdWJlcm5kZW4gQ2hhb3RlbiwgYW5hbG9nIHp1bSBMaWNodHNwcnVjaCBoYWx0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZpbnN0ZXJuaXNzIChKYWYsIDI3LiBBdWcgMTk5NSwgMjI6MTY6MDApOgojISBybj1Cb2luZyBydD04MDk0NDgyMTAKCkRBbWl0IGhhZXR0ZXN0IGR1IGRlbSBTcHJ1Y2ggZGVuIGdhbnplbiBTcGFzcyBnZW5vbW1lbiwgQm9pbmcuCgpGeXQuIFNpZWh0IGFscyBLYXJhdGVrYSBlaCBuaXggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERBTktFISAoRmxpbnRuYWlsLCAyOS4gQXVnIDE5OTUsIDE3OjQ3OjMzKToKIyEgcm49SGFyZGlsIHJ0PTgwOTA4MzIwNgpKYS4uLkhhcmRpbC4uLnVuZCBzb3dhcyBtYWNoIGljaCBuYWVjaHN0ZXMgUGZpbmdzdGVuIG1pdC4uLnVuZCBmcmV1IG1pY2gKZHJhdWY6KQoKRmxpbnRuYWlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmaW5zdGVybmlzcyAoRmxpbnRuYWlsLCAyOS4gQXVnIDE5OTUsIDE4OjQ0OjEzKToKIyEgcm49SmFmIHJ0PTgwOTU1NDU2MApNb21lbnQgbWFsLi4uYmlzaGVyIGhhdCBzaWNoIGhpZXIgbnVyIFJhZmZpIGF1ZmdlcmVndCEgdW5kIGVyIGJla2FtIGdsYXViIGljaAoyIEJlZnVlcndvcnRlciBzZWluZXIgTWVpbnVuZzopIEFsc28sIHdvenUgZGllc2UgRGlza3Vzc2lvbi4uLjopCiAgRmxpbnRuYWlsOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZpbnN0ZXJuaXNzIChSYWZmaSwgMjkuIEF1ZyAxOTk1LCAyMDozMzo0OCk6CiMhIHJuPUphZiBydD04MDk1NTQ1NjAKV2llc28gZGllIElkZWUgaXN0IGd1dCAtCgpEZXIgQ2hhb3NrcmllZ2VyIFJ1bXBlbHN0aWx0eiBrb21tdCBoZXJlaW4KRmluc2Vybmlzcwo6CjoKRHUga2FubnN0IHdpZWRlciBldHdhcyBzZWhlbgoKRGVuayBtYWwgZGVuIGVmZmVrdCBrZWluZXIga2FubiBlaW5lbSBDaGFvc2tyaWVnZXIgZm9sZ2VuCmRpZSBzaW5kIGVpbmZhY2ggenUgY2hhb3Rpc2NoIHVtIGFscyBmdWVyZXIgenUgYXJiZWl0ZW4gOi0pCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctTmF0aW9uYWxoeW1uZSAoVHJvdWJhZGl4LCAzMC4gQXVnIDE5OTUsIDE4OjU1OjExKToKQWxzIGJlcnVmc21hZXNzaWdlciBCYXJkZSB3dWVyZGUgaWNoIGdlcm5lIG1hbCB3aXNzZW4sIG9iIGRhcyBNb3JnZW5ncmF1ZW4KZWlnZW50bGljaCBlaW5lIE5hdGlvbmFsaHltbmUgYmVzaXR6dC4KRmFsbHMgbmljaHQsIGtvZW5udGUgbWFuIGphIHZpZWxsZWljaHQgZWluZW4gV2V0dGJld2VyYiBhdXNzY2hyZWliZW4sIGVpbmUKc29sY2hlIHp1IGRpY2h0ZW4uCkljaCBoYWV0dGUgZGF6dSBhdWNoIHNjaG9uIGVpbmVuIEJlaXRyYWc6CgogICBNb3JnZW5ncmF1ZW4gdWViZXIgYWxsZXMsCiAgIHVlYmVyIGFsbGVzIGluIGRlciBXZWx0LAogICBkZW5uIGltIE1vcmdlbmdyYXVlbiBnaWJ0IGVzCiAgIEFiZW50ZXVlciwgU3Bhc3MgdW5kIEdlbGQuCiAgIFZvbiBkZW0gV2FsZCBiaXMgaW4gZGllIFd1ZXN0ZSwKICAgdm9uIGRlciBTZWUgYmlzIGlucyBHZWJpcmc7CiAgICJNb3JnZW5ncmF1ZW4gdWViZXIgYWxsZXMiCiAgIHNpbmdlbiBFbGYgdW5kIE1lbnNjaCB1bmQgWndpcmcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLU5hdGlvbmFsaHltbmUgKFNjaHJ1bXBmaSwgMzAuIEF1ZyAxOTk1LCAyMToxNzowNCk6CiMhIHJuPVRyb3ViYWRpeCBydD04MDk4MDE3MTEKRGFubiB3YW5kZXIgaWNoIGF1cyEKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctTmF0aW9uYWxoeW1uZSAoSmFmLCAzMS4gQXVnIDE5OTUsIDAwOjQyOjAxKToKIyEgcm49VHJvdWJhZGl4IHJ0PTgwOTgwMTcxMQoKQWVobSwgVHJvdWJhZGl4LCBkaWVzZSBBcnQgdm9uIFNhdWZsaWVkIGlzdCBhYmVyIG5pY2h0IG5ldS4uLgphdWNoIHdlbm4gaW0gT3JpZ2luYWwgd29obCB2b24gZG9pdHNjaGVtIFdlaW4gdW5kIGRvaXRzY2hlbgpGcmF1ZW4gZGllIFJlZGUgaXN0Li4uCgpKYWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctTmF0aW9uYWxoeW1uZSAoQXJkYW5hLCAzMS4gQXVnIDE5OTUsIDAwOjQyOjQxKToKIyEgcm49VHJvdWJhZGl4IHJ0PTgwOTgwMTcxMQpobW0uLi4gbWl0IGRlbiB6d2VpIFplaWxlbiBhbSBBbmZhbmcgaXN0IGRpZXNlIFZlcnNpb24gZWluZXIgJ0h5bW5lJyBnbGF0dHdlZwp1bnRlbiBkdXJjaC4KCkxpdmUgbG9uZyBhbmQgcHJvc3BlciwKICAgICAgICAgICAgICAgICAgICAgICBBcmRhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1OYXRpb25hbGh5bW5lIChSb3NhLCAzMS4gQXVnIDE5OTUsIDAwOjQ5OjA2KToKIyEgcm49VHJvdWJhZGl4IHJ0PTgwOTgwMTcxMQp0amEsIGRhcyB3YXIgd29obCBuaXgsIHRyb3ViYWRpeC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRy1OYXRpb25hbGh5bW5lIChCYWJvb24sIDMxLiBBdWcgMTk5NSwgMTA6MDQ6NDEpOgojISBybj1KYWYgcnQ9ODA5ODIyNTIxCldpZSB3YWVycz8gU29sbGVuIHdpciBpaG4ga25lYmVsbiB1bmQgYW4gZGVuIG5hZWNoc3RlbiBCYXVtIGltIEVsZmVuZG9yZgpoYWVuZ2VuPyA6LSkKCkp1c3QgbXkgNTAgTGlyYSAoaXRhbGllbmlzY2hlKQoKQmFib29uLgoKUC5zLjogQWNoIGphLCBmYXN0IGhhZXR0ZSBpY2gncyB2ZXJnZXNzZW4gOiBBYiBuYWNoIFNjaG1hcnJuLiA6LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPa3RvYmVyZmVzdCAoQXJ0eSwgMzEuIEF1ZyAxOTk1LCAxMTo0Mjo1MSk6CkZ1ZXIgZGllLCBkaWUgZXMgaW50ZXJlc3NpZXJ0OgoKRGFzIE11ZW5jaGVuZXIgT2t0b2JlcmZlc3QgaXN0IGRpZXNlcyBKYWhyIHZvbSAxNi45LTEuMTAuOTUgIQoKdmllbCBTcGFzcyBkYWJlaQoKY2lhbyBBUlRZCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNRy1OYXRpb25hbGh5bW5lIChIYXJkaWwsIDMxLiBBdWcgMTk5NSwgMTM6MDc6MTYpOgojISBybj1CYWJvb24gcnQ9ODA5ODU2MjgxCkF1IGphLiBBYiBhbiBkZW4gQmF1bS4KT2J3b2hsLCBkaWUgVmVyYmFsbGhvcm51bmcgJ1p3aXJnJyBoYXQgbWlyIGRvY2ggemllbWxpY2ggZ3V0IGdlZmFsbGVuLiA6LSkKCi1IYXJkaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLU5hdGlvbmFsaHltbmUgKEFuZ3VzLCAzMS4gQXVnIDE5OTUsIDEzOjI1OjM1KToKIyEgcm49SGFyZGlsIHJ0PTgwOTg2NzIzNgpIbW0uLi4gSXJnZW5kd29oZXIga2VubiBpY2ggZGllc2UgQXJ0IHZvbiBWZXJiYWxsaG9ybnVuZy4uLgppc3QgemllbWxpY2ggZHVyY2hnZWthdXQuCkFjaCBqYSwgZGllIERldXRzY2hlbiAiU3BpdHRpbmcgSW1hZ2UiLVR5cGVuIGhhbSBkYXMgZ2xhdWIKaWNoIG1hbCBnZW1hY2h0Li4uIHVuZCBzY2hvbiBkYW1hbHMgZmFuZCBpY2hzIHVuZ2xhdWJsaWNoCnBsYXR0Li4uCi1Bbmd1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9rdG9iZXJmZXN0IChKaW1kaWdyaXosIDMxLiBBdWcgMTk5NSwgMTU6MzY6MjYpOgojISBybj1BcnR5IHJ0PTgwOTg2MjE3MQoKSWNoIGthbm4gZGF2b24gbnVyIEFicmF0ZW4gOy0pCgpXZXIgQmllcmd1dHNjaGVpbmUgb2RlciBGYWhyZ3V0c2NoZWluZSBoYXQsIGZ1ZXIgZGVuIGlzc2VzIHdvaGwKb2ssIGFuc29uc3RlbiBtYWNodHMgdmllbGxlaWNodCBub2NoIGRlbiBMZXV0ZW4gc3Bhc3MsCmRpZSBzZWhyIHNlaHIgdmllbCBHZWxkIGZ1ZXIgdmllbCBNdWVsbCwgd2VuaWcgQmllciB1bmQKdGF1c2VuZGUgVG91cmlzdGVuIGF1c2dlYmVuIHdvbGxlbi4KCk1pciBncmF1c3RzIG51ciBub2NoLgoKSmFtZXMgQm9saXZhciBkaUdyaXouIE11ZW5jaG5lci4gT2t0b2JlcmZlc3Rib3lrb3R0aWVyZXIuCgpwLnMuOiBuaXggZnVlciB1bmd1dCwgd2VtcyBzcGFzcyBtYWNodCBzb2xsIGhpbmdlaG4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLU5hdGlvbmFsaHltbmUgKFJhZmZpLCAzMS4gQXVnIDE5OTUsIDE2OjU4OjAyKToKIyEgcm49QXJkYW5hIHJ0PTgwOTgyMjU2MQpXYXMgaGFidCBpaHIgZWlnZW50bGljaCBnZWdlbiBkYXMgbGllZCA/CkJsb3Mgd2VpbCBlaW5lciB2b24gZGVyIGh5bW5lIGtsYXV0PwoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2t0b2JlcmZlc3QgKFJhZmZpLCAzMS4gQXVnIDE5OTUsIDE3OjAwOjE5KToKIyEgcm49SmltZGlncml6IHJ0PTgwOTg3NjE4NgpBY2ggd2FzIE9rdG9iZXJmZXN0IGlzdCBndXQgLSBpY2ggZ2VoZSBnZXJuZSBtYWwgaGluIC0gYW0gYmVzdGVuIHVudGVyIGRlcgp3b2NoZSB1bSAxMC0xMWggZGEgaXN0IG5vY2ggIGFsbGVzIGZyZWksIGRpZSBmYWhyZ2VzY2hhZWZ0ZSAod2VubnMgc2Nob24gc2VpbgptdXNzKSBsYXNzZW4gYXVjaCBzY2hvZW4gbGFuZ2UgbGF1ZmVuCnVuZCBkYXMgYmllciBpc3Qgdm9sbC4KCkdydXNzCkgKKE11ZW5jaGVucikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9rdG9iZXJmZXN0IChBbnRoZWEsICAxLiBTZXAgMTk5NSwgMDA6MTA6NTgpOgojISBybj1SYWZmaSBydD04MDk4ODEyMTkKQWNoIHdhcywgZGEgd2FydGUgaWNoIGxpZWJlciBiaXMgUGZpbmdzdGVuIHVuZCBnZWhlIGhpZXIgaW4gRXJsYW5nZW4gYXVmIGRlbgonQkVSRycuIERhcyBpc3Qgc2NobGllc3NsaWNoIG5vY2ggZWluIEJpZXJmZXN0IG1pdCBUcmFkaXRpb24sIG5pY2h0IHNvd2FzCm5ldW1vZGlzY2ggbmFjaGdlbWFjaHRlcyB3aWUgZGFzIE9rdG9iZXJmZXN0ICh6dXIgSW5mbyBmdWVyIGRpZXNlIE11ZW5jaGVucjoKQWxzIEJpZXJmZXN0IGlzdCBkaWUgQmVyZ2tpcmNod2VpaCBpbiBFcmxhbmdlbiBkYXMgYWVsdGVzdGUgQmllcmZlc3QKRGV1dHNjaGxhbmRzLCB1bmQgdm9yaGVyIGV4aXN0aWVydGUgZXMgc2Nob24gYWxzICdXZWluZmVzdCcgISkuIERvcnQgaWlzIGEKTW9zcyBubyBhIE1vc3MsIHVuZCBhdXNzZXJkZW0gaGFiZSBpY2ggZGEgaW1tZXIgQmllcm1hcmtlbiA6KQogICAgICAgIEFudGhlYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctTmF0aW9uYWxoeW1uZSAoSmFmLCAgMS4gU2VwIDE5OTUsIDAwOjUzOjA3KToKIyEgcm49UmFmZmkgcnQ9ODA5ODgxMDgyCnJpY2h0aWcsIHJhZmZpLCB3ZWlsIGVpbmVyIHZvbiBERVIgJ2h5bW5lJyBrbGF1dC4KCkphZi4gQXVmaGFlbmdlbiBmaW5kIGljaCB1ZWJyaWdlbnMgb2sgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLU5hdGlvbmFsaHltbmUgKE1hdGVlc2UsICAxLiBTZXAgMTk5NSwgMDE6MDg6MzYpOgojISBybj1KYWYgcnQ9ODA5OTA5NTg3ClZvciBhbGxlbSwgd2VpbCBlciB2b24gZGVyIGZhbHNjaGVuIFN0cm9waGUga2xhdXQuCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctTmF0aW9uYWxoeW1uZSAoV3VyLCAgMS4gU2VwIDE5OTUsIDA1OjQ5OjQ1KToKIyEgcm49VHJvdWJhZGl4IHJ0PTgwOTgwMTcxMQpXb3p1IGJyYXVjaGVuIHdpciBlaW5lIE5hdGlvbmFsaHltbmU/CgpXdXIgc2NodWV0dGVsdCBkZW4gS29wZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLU5hdGlvbmFsaHltbmUgKE11cmtlcywgIDEuIFNlcCAxOTk1LCAwODowNDozNCk6CiMhIHJuPVRyb3ViYWRpeCBydD04MDk4MDE3MTEKRWluIEZpc2NoLCBlaW4gS29lbmlncmVpY2ggZnVlciBlaW5lbiBGaXNjaCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1OYXRpb25hbGh5bW5lIChTdXNoaSwgIDEuIFNlcCAxOTk1LCAwODoyMDoyNik6CiMhIHJuPVRyb3ViYWRpeCBydD04MDk4MDE3MTEKRWluIGdydW5kc2FldHpsaWNoZXMgdW5kIC0gdmllbGxlaWNodCAtIGtsYWVyZW5kZXMgV29ydCB6dXIgU3Ryb3BoZTogZW50Z2VnZW4KYWxsZ2VtZWluIGtvbHBvcnRpZXJ0ZXIgTWVpbnVuZyBkaWVudGUgZGllIDEuIFN0cm9waGUgZGVyIEh5bW5lIHVyc3BydWVuZ2xpY2gKbmljaHQgZGVyIFZlcmFlY2h0bGljaG1hY2h1bmcgYW5kZXJlciBOYXRpb25lbiwgc29uZGVybiBzb2xsdGUgZGVtIGJlc29uZGVyZW4KU1RvbHogYXVmIGRhcyBlaWdlbmUgTGFuZCBBdXNkcnVjayBnZWJlbi4gTWFuIGJlYWNodGUgaW4gZGllc2VtIFp1c2FtbWVuaGFuZwpkaWUgWmVpdCwgenUgZGVyIGRpZSBIeW1uZSB2ZXJmYXNzdCB3dXJkZS4KSWNoIG1vZWNodGUgbWljaCBqZWRvY2ggamVuZW4gYW5zY2hsaWVzc2VuLCBkaWUgYW4gZGllc2VyIFN0ZWxsZSBzaWNoCmplZ2xpY2hlbSBWZXJzdWNoIHZlcndlaHJlbiwgZGllIEh5bW5lIHp1IHBhcm9kaWVyZW4uClp1bSBlaW5lbiBlaWduZXQgc2ljaCBkaWUgMS4gdm9uIGFsbGVuIFN0cm9waGVuIGRhenUgYW0gd2VuaWdzdGVuLCBkYSBzaWUKKGVpbiBzY2hyZWNrbGljaGVzIFdvcnQpIGdlc2NoaWNodGxpY2ggdm9yYmVsYXN0ZXQgaXN0LgpadW0gYW5kZXJlbiB0YWV0ZSwgZGVua2UgaWNoLCBkZW0gZWluZW4gb2RlciBhbmRlcmVuIERldXRzY2hlbiBhdXMgZ2VuYXUKZGllc2VtIEdydW5kIGVpbiBldHdhcyBzY2hvbmVuZGVyZXIgVW1nYW5nIG1pdCBuYXRpb25hbGVuIFN5bWJvbGVuICh6dW1pbmRlc3QKZGVuIHdlbmlnZW4gdW5iZWxhc3RldGVuLCBkaWUgd2lyIGhhYmVuKSBndXQuIEdhbnogb2huZSBnZWh0IGVzIG5hZW1saWNoCmVudGdlZ2VuIGxhbmRsYWV1ZmlnZXIgTWVpbnVuZyBuaXJnZW5kcy4KT2Rlcj8KOi1TdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRy1OYXRpb25hbGh5bW5lIChTY2hydW1wZmksICAxLiBTZXAgMTk5NSwgMTQ6NDI6NDYpOgojISBybj1XdXIgcnQ9ODA5OTI3Mzg1Ck5hIHdlaWwgd2lyIGRvY2ggYWxsZSBQYXppZmlzdGVuIHNpbmQgdW5kIGZhbGxzIG1hbCBlaW5lciBhdXMgZWluZW0gYW5kZXJlbgpNdWQga29tbXQsIGRlbiBzY2hpZWJlbiB3aXIgZ2xlaWNoIGFiLiBCZXNvbmRlcnMgYXVzIFVOSXRvcGlhISA7LSkgKnp3aW5rZXIKQ2FyYSoKU2NocnVtcGZpIGRpZSBMb2thbG11ZHBhdHJpb3RpbihpZGlvdGluPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1OYXRpb25hbGh5bW5lIChZZW5kaSwgIDEuIFNlcCAxOTk1LCAyMDozOToxNyk6CiMhIHJuPVRyb3ViYWRpeCBydD04MDk4MDE3MTEKCiAiTkVJTiBEVSBXSVJTVCBOSUNIVCBTSU5HRU4KICBORUlOIERVIFdJUlNUIE5JQ0hUIFNJTkdFTgogIE5FSU4gRFUgV0lSU1QgTklDSFQgU0lOR0VOISEhIiAgICAgKCp6YWNrIHBlbmcgcG9mZiBkZW5nZWwqKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBsYXllcmtpbGwgaW4gZGVyIEdpbGRlIChNYXJzLCAgNS4gU2VwIDE5OTUsIDAyOjE3OjIxKToKCkljaCB3b2xsdGUgbm9jaG1hbCB3YXMgenUgZGVuIFZvcmtvbW1uaXNzZW4gdm9uIE1vbnRhZyBhYmVuZCBzY2hyZWliZW4sCmVoZSBoaWVyIHdpbGRlIEdlcnVlY2h0ZSBhdWZrb21tZW4uCgpEYXMgZ2FuemUgZmluZyBkYW1pdCBhbiwgZGFzcyBpY2ggbWlyIGRpZSBuZXVlIEdvYmxpbmhvZWhsZSBhbnNjaGF1ZW4Kd29sbHRlLiBEYSBpY2ggdm9yaGVyIGplbWFuZGVtIGJlaSBkZXIgR2Vpc3RzdGVpbi1RdWVzdCBnZWhvbGZlbiBoYWJlLApiaW4gaWNoIGdsZWljaCBHZWlzdCBnZWJsaWViZW4uIEluIGRlciBIb2VobGUgYmluIGljaCBkYW5uIGluIGVpbmUgaGluLQp0ZXJoYWVsdGlnZSBGYWxsZSBnZXJhdGVuLCBkaWUgbm9ybWFsZXJ3ZWlzZSBzb2ZvcnQgbWVpbmVuIFRvZCBiZWRldXRldApoYWV0dGUuIERhIGRlciBadWdhbmcgbmljaHQgZnVlciBHZWlzdGVyIGdlc3BlcnJ0IHdhciwgdW5kIGRlciBiZXNhZ3RlClRvZGVzcmF1bSBrZWluZSBBdXNnYWVuZ2UgaGF0dGUsIHdhciBpY2ggbnVuIGdlZmFuZ2VuLiAnZW5kZScgd29sbHRlCmljaCBuaWNodCBtYWNoZW4sIHdlaWwgaWNoIGphIGRhbm4gbWVpbmUgZ2FuemVuIFNhY2hlbiB2ZXJsb3JlbiBoYWV0dGUuCkFsc28gaGFiIGljaCBlcnN0bWFsIGRpZSBNYWdpZXIgZ2VydWZlbiwgb2IgbWljaCBqZW1hbmQgcmF1c3RyYW5zdC4KRGF6dSB3YXIga2VpbmVyIGJlcmVpdCwgYWxzbyBoYWIgaWNoIGVyc3RtYWwgZ2VzY2hhdXQsIHdhcyBkYSBhbGxlcwpmdWVyIHRvbGxlIFNhY2hlbiBpbSBSYXVtIGxhZ2VuIChkYSBzaW5kIG5hZW1saWNoIHNjaG9uIGVpbmlnZSBMZXV0ZQpkcmF1ZmdlZ2FuZ2VuKS4gVW50ZXIgYW5kZXJlbSBsYWcgZGEgYXVjaCBlaW5lIGludGVyZXNzYW50IGF1c3NlaGVuZGUKRmVybmJlZGllbnVuZywgbWl0IGRlcmVuIEhpbGZlIG1hbiBEb3BwZWxnYWVuZ2VyIHZvbiBzaWNoIGluIGFuZGVyZQpSYWV1bWUgc2NoaWNrZW4ga2FubiAtIGRhcyBUb29sIG11c3Mgd29obCBpcmdlbmRlaW4gTWFnaWVyIGxpZWdlbmdlLQpsYXNzZW4gaGFiZW4uCgpFcyB3aXJkIG1pciBqYSB3b2hsIGtlaW5lciBVZWJlbG5laG1lbiwgZGFzcyBpY2ggbmV1Z2llcmlnIHdhciwgd2FzIG1hbgpkZW5uIHdvaGwgYWxsZXMgbWl0IGRlbSBUZWlsIGFuc3RlbGxlbiBrYW5uLCB3ZW5uIGVzIHNjaG9ubWFsIGltIFJhdW0KcnVtbGllZ3QgdW5kIGljaCBkaWVzZW4gUmF1bSBzb3dpZXNvIG5pY2h0IHZlcmxhc3NlbiBrYW5uIHVuZCBkYXJmLgoKTmFqYSwgaWNoIGhhYiBhbHNvIHp3ZWkgb2RlciBkcmVpIERvcHBlbGdhZW5nZXIgdm9uIG1pciBpbiBkaWUgR2lsZGUKZ2VzY2hpY2t0LCB3YXMgZG9ydCB3b2hsIGF1ZiBhbGxnZW1laW5lIEVyaGVpdGVydW5nIGdlc3Rvc3NlbiBpc3QuCkRhbm4gaGF0IEFzbW9kaXMgbWFsIHRlc3R3ZWlzZSBlaW5lbiBtZWluZXIgRG9wcGVsZ2FlbmdlciBhbmdlZ3JpZi0KZmVuLCB3b3JhdWYgZGllc2VyIGlobiBtaXQgZWluZW0gZWluemlnZW4gU3RyZWljaCBtZWluZXMgWmF1YmVyc3RhYmVzCmlucyBKZW5zZWl0cyBiZWZvZXJkZXJ0IGhhdC4KCkljaCBrYW5uIGRhenUgbnVyIHNhZ2VuLCBkYXNzIGRhcyBuaWNodCBtZWluZSBBYnNpY2h0IHdhciB1bmQgaWNoCnNvd2FzIGdhciBuaWNodCBnZWFobnQgaGFiZS4gSWNoIHNlaGUgZGFzIGdhbnplIGFscyBlaW5lIEZvbGdlIHZvbgpCdWdzIHVuZCBkdW1tZW4gWnVmYWVsbGVuIGFuLgoKSWNoIGhvZmZlLCBBc21vZGlzIGlzdCBtaXIgZGVzaGFsYiBuaWNodCBib2VzZSwgdW5kIGRpZSBNYWdpZXIgcGFzc2VuCmluIFp1a3VuZnQgYmVzc2VyIGF1Ziwgd28gc2llIHNvbGNoZSBtYWVjaHRpZ2VuIFdlcmt6ZXVnZSBsaWVnZW4gbGFzc2VuLgoKCgpNYXJzICAtICBoYXR0ZSBzY2hvbiBTcGFzcyBkYXJhbiwgZGllIFZvcnp1ZWdlIGRlcyBNYWdpZXJzZWlucyB6dSBrb3N0ZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPa3RvYmVyZmVzdCAoSGFyZGlsLCAgNS4gU2VwIDE5OTUsIDEzOjQ4OjU2KToKIyEgcm49UmFmZmkgcnQ9ODA5ODgxMjE5Ckthbm4gc2VpbiwgZGFzcyBpY2ggZGEgYXVmIGRpdmVyc2VuIFNjaGxhZXVjaGVuIHN0ZWhlLCBhYmVyIHdhcnVtCnVudGVyemVpY2huZXN0IER1IFtSYWZmaV0gaW1tZXIgbWl0ICdIJyA/IEhhdCBkYXMgd2FzIG1pdCBkZW0gUGhhZW5vbWVuIGRlcgpzb2cuIFplaXR1bmdzendlaXRpZXMgenUgdHVuPyBNdXNzIGRhcyBzZWluPwoKLUhhcmRpbC4gV2lsbCwgd2VubiBlciBtaXQgLUguIHVudGVyemVpY2huZXQsIG5pY2h0IHZlcndlY2hzZWx0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbGF5ZXJraWxsIGluIGRlciBHaWxkZSAoUGFtcGVycywgIDUuIFNlcCAxOTk1LCAxMzo1MDo1Myk6CiMhIHJuPU1hcnMgcnQ9ODEwMjYwMjQxCk1haGx6ZWl0IQoKVGphLCB3aWUgc29sbCBpY2ggc2FnZW4uLi4KQWxzbyBpY2ggZnVlcmNodGUsIGRhc3MgZGllIEZlcm5iZWRpZW51bmcgbWVpbmUgd2FyLi4uLgpJY2ggd29sbHRlIG1pciBkb2NoIG1hbCBhbnNjaGF1ZW4sIHdvIGRpZSBhbGxlIGltbWVyIHNvCnRvbGwgc3RlcmJlbi4uLiBEYSBsYWcgZGFubiBzb3ZpZWwgWmV1Y2ggcnVtLCBkYXNzIGljaCBlaW5mYWNoCm1hbCAibmltbSBhbGxlcyIgZ2VtYWNodCBoYWIuLi4gRGFubiBoYWIgaWNoIGFiZXIgKGFscyBvcmRlbnRsaWNoZXIKTXVkZGVyKSBhdWNoIG1pdCAibGVnZSBhbGxlcyBhYiIgYWxsZXMgd2llZGVyIGFiZ2VsZWd0LgpTbyB3ZWl0LCBzbyBndXQuIERhIGFiZXIgZGllIEZlcm5iZWRpZW51bmcgbGVpZGVyIGF1Y2ggYWJsZWdiYXIgaXN0LApoYWJlIGljaCBkaWUgZGFubiBnbGVpY2ggbWl0IGZhbGxlbmdlbGFzc2VuIHVuZCBlcyBuaWNodCBnZW1lcmt0LgpEdW1tIGdlbGF1ZmVuLi4uClNvcnJ5IEFzbW9kaXMsIHR1dCBtaXIgaGVyemxpY2ggbGVpZC4gOigKCiAoKV9fXygpCiAgKC4gLikgICAgIFplcmtuaXJzY2h0LAooXykgMCAoXykKICAoIC4gKSAgICAgICAgICAgIFBhbXBlcnMKKF8pICAgKF8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBsYXllcmtpbGwgaW4gZGVyIEdpbGRlIChBc21vZGlzLCAgNS4gU2VwIDE5OTUsIDE4OjQ1OjMxKToKIyEgcm49UGFtcGVycyBydD04MTAzMDE4NTMKbmVuZSwgbWFuIHNvbGx0ZSBKdW5nbWFnaWVybiBzb2xjaCBnZWZhZWhybGljaGUgVG9vbHMgbmljaHQKenVnYWVuZ2xpY2ggbWFjaGVuICEhIQoKUC5TLjogTmVpbiwgaWNoIGJpbiBkaXIgbmljaHQgYm9lc2UsIE1hcnMsIHdhciBqYSBuaWNodCBkZWluZSBTY2h1bGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9rdG9iZXJmZXN0IChSYWZmaSwgIDUuIFNlcCAxOTk1LCAxOTo0MToxMik6CiMhIHJuPUhhcmRpbCBydD04MTAzMDE3MzYKSWNoIGhlaXNzZSBudW5tYWwgSGFucyAtIGRhaGVyIGRhcyBILiBpY2ggdW50ZXJ6ZWljaGVuIG1laW5lIE1haWxzIHNjaG9uCnNlaXQgamFocmVuIG1pdAoKR3J1c3MKSC4KCkRhcyBpc3QgaW56d2lzY2hlbiBlaW4gQXV0b21hdGlzbXVzIC0gdW5kIGljaCBoYWIgZWlnZW50bGljaCBhdWNoIG5pY2h0IHZvcgpkaWVzZW4genUgYmVzZWl0aWdlbi4KCkdydXNzCkguCgooYWVoIG1vbSBtYWwgd2FzIGlzdCBiaXR0ZSAiZGFzIFBoYWVub21lbiBkZXJzb2cuIFplaXR1bmdzendlaXRpZXMiID8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKEJpbGJvbSwgMTIuIFNlcCAxOTk1LCAyMzo0MDozNSk6CkhhbGxvIQpBbHNvIGljaCB3b2xsdGUgbnVyIHNhZ2VuIGRhcyBlcyBlY2h0IG5lcnZ0IHdlbm4gaWNoIHdvbGwgYmVsYWRlbiBiaW4gdW5kCm1laW4gemV1ZyB2ZXJrYXVmZW4gd2lsbCBkYXMgaWNoIGRhbm4gbnVyIDgwIE11ZW56ZW4gYW5nZWJvdGVuIGtyaWVnZSBhbXBsYXR6CnZvbiAgICAgNjAwMCBNdWVuemVuLCBkYXMgbWFuY2htYWwgR2VsZCBmZWhsdCBtYWNodCBuaXggYWJlciBkYXMgZXMgaW4gamVkZW4KTGFkZW4gdW5kIGplZGVzbWFsIGtlaW4gR2VsZCBnaWJ0IGZpbmRlIGljaCBlaW4gYmlzc2VuIHVlYmVydHJpYmVuLgoKU28sIGRhcyB3YXJzIHNjaG9uLi4uCiAgQmlsYm9tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG1hbmdlbCBpbiBkZW4gTGFlZGVuIChadWVyaWxldSwgMTMuIFNlcCAxOTk1LCAwMDoxODoxMCk6CiMhIHJuPUJpbGJvbSBydD04MTA5NDIwMzUKU2FsaSBCaWxib20sCk51biBzb3ZpZWwgaWNoIHdlaXNzIGlzdCBpbW1lciBlaW5lIGJlc3RpbW10ZSBHZWxkbWVuZ2UgaW0gdW1sYXVmIHVuZCB3ZW5uCm5hdHVlcmxpY2ggdGF1c2VuZGUgdm9uIE11ZW56ZW4gaW4gc29nZW5hbmRlbiBCYW5rendlaXRpcyB0cmFuc3BvcnRpZXJ0IHdlcmRlbgpkYW5uIGhhdHMgaGFsdCB6dXdlbmlnIEdlbGQgaW4gZGVuIExhZWRlbi4gU2VpdCBkb2NoIGZyb2ggZGFzIGlociBudW4gbWVpc3RlbnMKbWVociBmdWVyIHZlcmthdWZ0ZSBTYWNoZW4gYmVrb21tdCBhbHMgenVyIG1laW5lciBaZWl0IGRpZSBsYWVwcGlnZW4gMTAwMApNdWVuemVuLiBTb25zdCB2ZXJzdWNocyBpbiBlaW5lbSBMYWRlbiB3byB3ZW5pZ2VyIEFydGlrZWwgdmVya2F1ZnQgd2VyZGVuIGRhCmRlciBMYWRlbiB3ZW5pZ2VyIGJlc3VjaHQgaXN0IG9kZXIgaW4gTGFlZGVuIHdvIG9lZnRlcnMgYmVzdWNodCBzaW5kLCBkb3J0CnNvbGx0IGVzIGF1Y2ggR2VsZCBoYWJlbi4gSWNoIGZpbmRzIGVpZ2VudGxpY2ggZ3V0IHdpZSBlcyB6dXJ6ZWl0IGxhZXVmdC4KCnRzY2h1ZXNzIFp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGRtYW5nZWwgaW4gZGVuIExhZWRlbiAoQXNtb2RpcywgMTMuIFNlcCAxOTk1LCAwMToyODozNyk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgxMDk0NDI5MApBbHNvLCBpY2ggZ2xhdWIgbmljaHQsIGRhc3MgQmFua3p3ZWl0aWVzIGRyYW4gc2NodWxkIHNpbmQsIGRpZSBnaWJ0CmVzIGphIGthdW0gbm9jaCAoamVkZW5mYWxscyBkaWUgUkVJTkVOIEJhbmt6d2VpdGllcyksIHZpZWwgZWhlciBoYWV1ZnQKc2ljaCBkYXMgR2VsZCBpbiBkZW4gZ2VsZGtsYXVlbmRlbiBOUENzIGFuLCBkaWUgaW4gbGV0enRlciBaZWl0IHZlcm1laHJ0CmF1ZnRyZXRlbiAoRXR3YXMsIFJvYmluLCBhZWgsIG5hamEsIGlyZ2VuZHdlbGNoZSBnaWJ0cyBkYSBiZXN0aW1tdCBub2NoKQp6LkIuIGhhdCBSb2JpbiBzZWx0ZW4gd2VuaWdlciBhbHMgMzAwMDAwIE11ZW56ZW4gYmVpIHNpY2gsIGJlaSBFdHdhcwppc3QgZXMgZmFzdCBnZW5hdXNvLCBvYndvaGwgZGFzIFZpZWggYXVjaCBldHdhcyBHZWxkIGluIGRpZSBLbmVpcGVuCnRyYWVndC4KCiAgICAgICAgICAgICAgICAgICAgICAgQ2lhbywgQXNtb2RpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKFlhbnRybywgMTMuIFNlcCAxOTk1LCAwODo0MjozOCk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgxMDk0NDI5MAoKU29sbHRlIG1hbiB2aWVsbGVpY2h0IGFscyBuZXVlIFNwaWVsZXJxdWVzdCBlaW50cmFnZW46CgonU3VjaCBEaXIgZWluZW4gTGFkZW4sIGRlciBub2NoIEdlbGQgaGF0IScgOy0pCgpNYW4ga29lbm50ZSBkYXMgUHJvYmxlbSBuYXR1ZXJsaWNoIG1pdCBlaW5lbSB0YWVnbGljaGVuIFNodXRkb3duIGxvZXNlbiwgYWJlcgp3ZW5uIGljaCBkYSBqZXR6dCB3ZWl0ZXIgZHJhdWYgcnVtcmVpdGUsIHdlcmQgaWNoIGhpZXIgTklFIEVyem1hZ2llciA7KQoKWW91cnMgWWFudHJvbGk6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZG1hbmdlbCBpbiBkZW4gTGFlZGVuIChIaWdobGFuZGVyLCAxMy4gU2VwIDE5OTUsIDEzOjE2OjQzKToKIyEgcm49WWFudHJvIHJ0PTgxMDk3NDU1OApXaWVzbywgbWl0IGVpbmVtIHRhZWdsaWNoZW4gc2h1dGRvd24gYWxzIFZvcnNjaGxhZwp3dWVyZGVzdCBEdSBkb2NoIGdhbnogZ3V0IHp1IGRlbiBFTXMgcGFzc2VuIDs+CkRpZSBzaW5kIGRvY2ggc293aWVzbyBhbGxlIGdlbWVpbiB1bmQgd29sbGVuIG51ciBTcGllbGVyIGFlcmdlcm4uLi4KICBIaWdobGFuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKEJpbGJvbSwgMTMuIFNlcCAxOTk1LCAxMzoxOToyMyk6CiMhIHJuPUFzbW9kaXMgcnQ9ODEwOTQ4NTE3CkFsc28sIGljaCBiaW5zIG5vY2htYWwsIHdhcyB3aXJkIGRlbm4gYXVzIGRlbSBHZWxkIGRhcyBtYW4gaW4gZGVuIEtuZWlwZW4KdmVyYnJhdWNodD8/PwpTbywgZGFzIHdhcnMuCiBCaWxib20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdlbGRtYW5nZWwgaW4gZGVuIExhZWRlbiAoQm9pbmcsIDEzLiBTZXAgMTk5NSwgMTM6Mjg6MTEpOgojISBybj1CaWxib20gcnQ9ODEwOTkxMTYzClNpZWh0IHNvIGF1cywgYWxzIHd1ZXJkZSBkYXMgZWluZSBGQVEsIGhpZXIgbm9jaG1hbCBkaWUgQW50d29ydDoKRGFzIEdlbGQgYXVzIGRlbiBLbmVpcGVuIGZsaWVzc3QgdWViZXIgZGllIE1HLUJhbmsgenVydWVjayBhbiBkaWUKTGFlZGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKEJpbGJvbSwgMTMuIFNlcCAxOTk1LCAxMzoyOTowNik6CiMhIHJuPUJvaW5nIHJ0PTgxMDk5MTY5MQpEYW5uIGdlaGUgaWNoIG1hbCBvZWZ0ZXJlciBpbiBkZW4gS25laXBlbiA6LSkKIEJpbGJvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR2VsZG1hbmdlbCBpbiBkZW4gTGFlZGVuIChDYXR3ZWF6bGUsIDE0LiBTZXAgMTk5NSwgMTE6NTY6MzApOgojISBybj1CaWxib20gcnQ9ODEwOTkxNzQ2CkhpIQpad2VpIFNhY2hlbiBkYXp1Li4uClp1bSBlaW5lbiBmbGllc3N0IGRhcyBHZWxkLCBkYXMgUm9iaW4gZWluc2FtbWVsdCBhdWNoIHdpZWRlciBpbiBkaWUKWmVudHJhbGJhbmsgYWIuClp1bSBhbmRlcmVuIGhhdCBpcmdlbmRlaW4gTGFkZW4gSU1NRVIgR2VsZC4uLnNvZ2FyIGRpZSBtZWlzdGVuISEKSWNoIGhhYiB2b24gbmljaHQgZ2FueiAyIFdvY2hlbiBuZSBMaXN0ZSBnZXNlaGVuLCBkYSB3YXIgZGllIFplbnRyYWwtCmJhbmsgYWJzb2x1dCBQbGVpdGUuLiBnZW5hdXNvIHdpZSBkaXZlcnNlIExhZWRlbiBpbiBQViwgYmVpIGRlbiBad2VyZ2VuCnVuZCBiZWkgZGVuIEVsZmVuLi4uIGRhZnVlciB3YXJlbiBhYmVyIHVuZ2VmYWVociA0MCBMYWVkZW4gdm9sbCBiZXN0dWVja3QKdW5kIGhhYmVuIE5VTEwgVW1zYXR6IGdlbWFjaHQuIEljaCBrYW5uIG1pciBuaWNodCB2b3JzdGVsbGVuLCBkYXMgYWxsZQo0MCBMYWVkZW4gU08gd2VpdCB3ZWdsaWVnZW4sIGRhcyBtYW4gZGEgbmljaHQgZWJlbiBnaW5nZWhlbiBrb2VubnRlIHVtCnNlaW5lIFNhY2hlbiBnZXdpbm5icmluZ2VuZCB6dSB2ZXJrYXVmZW4uIFdlciB0ZXVyZSBXYWZmZW4gZnVlciA4MApNdWVuemVuIHZlcmthdWZ0IGlzdCBtZWluZXIgTWVpbnVuZyBuYWNoIHNlbGJlciBTY2h1bGQsIGRhIGVyIHp1IGZhdWwgaXN0Cm5lbiBiZXNzZXIgemFobGVuZGVuIExhZGVuIHp1IGZpbmRlbi4uLgpZb3VycyB0cnVseSwKICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdlbGRtYW5nZWwgaW4gZGVuIExhZWRlbiAoQmlsYm9tLCAxNC4gU2VwIDE5OTUsIDEyOjU4OjQ2KToKIyEgcm49Q2F0d2VhemxlIHJ0PTgxMTA3MjU5MApIaSEKQWxzbyB3ZW5uIG1hbiBzY2hvbiBlaW5lbiBLbmVpcGVuZnVlaHJlciBtYWNodCBkYW5uIGtvZW5udGUgbWFuIGF1Y2ggZ2xlaWNoCmVpbmVuIExhZWRlbmZ1ZWhyZXIgbWFjaGVuIHdvIGdlc2NocmllYmVuIGlzdCBvYiBlciBHZWxkbWFuZ2VsIGhhdCB1bmQgd2llIG1hbgpkYSBoaW4ga29tbXQuClNvLCBkYXMgd2Fycy4uLgogQmlsYm9tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKEN1Y2h1bGxpbiwgMTQuIFNlcCAxOTk1LCAxMzowNToxOCk6CiMhIHJuPUJpbGJvbSBydD04MTEwNzYzMjYKCk5lbmVuZSwgSVJHRU5ERUlORU4gVm9ydGVpbCBtdWVzc2VuIGRpZSwgZGllIGRhcyBNdWQga2VubmVuIHVuZCBtaXQgb2ZmZW5lbgpBdWdlbiAodW50ZXJzdWNodW5nc3d1ZXRpZyA7KSApIGR1cmNoIGRpZSBHZWdlbmQgbGF1ZmVuLCBzY2hvbiBoYWJlbi4gRXMKcmVpY2h0LCB3ZW5uIG1hbiBTZWhlciB3ZXJkZW4ga2Fubiwgb2huZSBhdWNoIG51ciBlaW5lbiBHcm9idWViZXJibGljayBkZXMKTXVkcyB6dSBoYWJlbi4KQ3VjaC4tIChidHc6IFdlciB3aWxsIG1laW4gUGFwaSB3ZXJkZW4/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR2VsZG1hbmdlbCBpbiBkZW4gTGFlZGVuIChVbG8sIDE0LiBTZXAgMTk5NSwgMTM6MTg6NTUpOgojISBybj1CaWxib20gcnQ9ODExMDc2MzI2CgpVbmQgd2llIG9mdCBzb2xsIGRlciBMYWVkZW5mdWVocmVyIGRlbm4gZXJzY2hlaW5lbiwgZGFtaXQgZXIgdXB0b2RhdGUgYmxlaWJ0Cj8KMm1hbCBkaWUgU3R1bmRlLCBvZGVyIHdpZT8KClVsbyAodmVyd3VuZGVydCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCidzY2huZWxsJyAoQ2FyYWRocmFzLCAxNS4gU2VwIDE5OTUsIDAwOjI1OjU1KToKICAgICAgICAgICAgSHVodQoKV2llIGlzdCBkZW5uIGRhcyBtaXQgZGVtIFphdWJlcnNwcnVjaCAnc2NobmVsbCcgZGVyIEFiZW50ZXVyZXI/CkRlciBtYWNodCBlaW5lbiBkb2NoIGRvcHBlbHQgc28gc2NobmVsbCwgYWxzbyB3ZW5uIG1hbiAyIGRhdm9uCmhpbnRlcmVpbmFuZGVyIGVpbmdpYnQgbXVlc3N0ZSBlcyBlaW5lbiBkb2NoIGRhbm4gNCBtYWwgc28gc2NobmVsbAptYWNoZW4uIEFiZXIgZXMgYWVuZGVydCBzaWNoIG5pY2h0cy4gKmdydWViZWwqIFVubG9naXNjaC4KCiAgICAgIE51ciBlaW4gR2VkYW5rZSAgICAgICAgIENhcmFkaHJhcyBtaXQgenV2aWVsIE1QCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogJ3NjaG5lbGwnIChCb2luZywgMTUuIFNlcCAxOTk1LCAxMToyNTo0Mik6CiMhIHJuPUNhcmFkaHJhcyBydD04MTExMTc1NTUKRmFsc2NoLCBlciBtYWNuaHQgZWluZW4gbmljaHQgZG9wcGVsdCBzbyBzY2huZWxsLAplciBiZXNjaGxldW5pZ3QgZWluZW4gbnVyIGZ1ZXIgZWluZSBnZXdpc3NlIFplaXQsIHNpZWhlIGF1Y2ggZGllCmhpbGZlIGRhenUuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvZXJwZXJncm9lc3NlbiAoVHJvdWJhZGl4LCAxNS4gU2VwIDE5OTUsIDE3OjUzOjQ5KToKV2VubiBtYW4gInVudCA8cGVyc29uPiIgZWluZ2lidCwgYmVrb21tdCBtYW4gZWluZSBCZXNjaHJlaWJ1bmcgd2llIHouQi4KIkRhcyBpc3QgPHBlcnNvbj4uIFNpZS9lciBpc3QgZnVlciBlaW5lbiBNZW5zY2hlbiByZWxhdGl2IGdyb3NzLiIKTWlyIGlzdCBzbyBlaW5lIEFuZ2FiZSBkZXIgS29lcnBlcmdyb2Vzc2UgZnJ1ZWhlciBuaWUgYXVmZ2VmYWxsZW47IGlzdCBkYXMKbmV1PwpXb25hY2ggYmVzdGltbXQgc2ljaCBkaWUgR3JvZXNzZT8gKEFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBtYW4gYWxzIEZyb3NjaCBvZGVyCk1hdWx3dXJmIG5hdHVlcmxpY2ggaW1tZXIgemllbWxpY2gga2xlaW4gaXN0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvZXJwZXJncm9lc3NlbiAoVG9ldGVyLCAxNi4gU2VwIDE5OTUsIDAxOjE3OjQ5KToKIyEgcm49VHJvdWJhZGl4IHJ0PTgxMTE4MDQyOQpFaW5lIEtvZXJwZXJncm9lc3NlIGFuIHNpY2ggZ2lidCBlcyBzY2hvbiBldHdhcyBsYWVuZ2VyLCBhbGxlcmRpbmdzIHdhcmVuCmFuZmFuZ3MgYWxsZSBWZXJ0cmV0ZXIgZWluZXIgUmFzc2UgZ2VuYXUgZ2xlaWNoZ3Jvc3MuIERlc2hhbGIgaGFiZW4gd2lyCmpldHp0IGRpZSBHcm9lc3NlIGFscyByYXNzZW5zcGV6aWZpc2NoZSBHcm9lc3NlICsgZWluZSBlaW5tYWxpZyB6dWZhZWxsaWcKYmVzdGltbXRlIHByb3plbnR1YWxlIEFid2VpY2h1bmcgZmVzdGdlbGVndC4gRGllIEFuZ2FiZSBpbiBkZXIgQmVzY2hyZWlidW5nCmlzdCBkYWR1cmNoIHVuZCBhdWZncnVuZCBkZXIgVGF0c2FjaGUsIGRhc3MgbWFuIGJpc2hlciBiZWltIFVudGVyc3VjaGVuCm5pY2h0IGRpZSBSYXNzZSBkZXMgR2VnZW51ZWJlciBlcmZ1aHIsIGhpbnp1Z2Vrb21tZW4uCiAgIFRvZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogJ3NjaG5lbGwnIChGZWxzLCAxOC4gU2VwIDE5OTUsIDA3OjU5OjM4KToKIyEgcm49Qm9pbmcgcnQ9ODExMTU3MTQyCkRhIGZhZWxsdCBtaXIgYXVjaCBub2NoIHdhcyBlaW46IEtvZW5udGUgbWFuIG5pY2h0IGJlaW0gU2NobmVsbC1TcHJ1Y2ggZWluZQpNZWxkdW5nIGVpbmJhdWVuLCBkaWUgZWluZW0gYW56ZWlndCwgd2FubiBkZXIgWmF1YmVyIHZvcmJlaSBpc3Q/IEZhZW5kIGljaApub2NoIGdhbnogcHJha3Rpc2NoLi4uCkdydXNzLCBGZWxzIChmcmFndCBzaWNoIGdyYWQsIG9iIGRhcyBuaWNodCBpbiBkZXIgUnVicmlrICdFbnR3aWNrbHVuZycgc3RlaGVuCnNvbGx0ZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobmVsbC1zcHJ1Y2ggKEp1cnJ5LCAxOC4gU2VwIDE5OTUsIDEyOjEzOjAwKToKSWNoIGZpbmRlIGRhcyBuZSBndXRlIElkZWUgbWl0IGRlciBBbnplaWdlLCBkaWUgZWluZW0gemVpZ3Qgd2FubgpzY2huZWxsLXNwcnVjaCB6dWVuZGUgaXN0LgpVZWJyaWdlbnMuLi4uIFdhcnVtIGtvbW10IGVpZ2VuZGxpY2ggbmljaHQgbWVociBiZWkgIndpcmYgRmV1ZXJiYWxsIiBkaWUKemVpbGUKIkR1IHRyaWZmdHMgRGVpbmVuIGdlZ2VuZXIgaGFydCIgb2RlciBzbyBhZWhubGljaC4uLgoKRWluIEp1cnJ5IGRlciBzaWNoIGZyYWd0IG9iIGVyIHdhcyB1ZWJlcmxlc2VuIGhhdC4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobmVsbC1zcHJ1Y2ggKE1vcmdvdGgsIDE4LiBTZXAgMTk5NSwgMTI6NTY6MTYpOgojISBybj1KdXJyeSBydD04MTE0MTkxODAKenUgZGVtIGVyc3RlbiBrYW5uIGljaCBuaXggc2FnZW4sIGFiZXIgenUgZGVuIHRyZWZmZXItbWVsZHVuZ2VuLgpkaWVzZSBtZWxkdW5nZW4ga2FtZW4sIHdlaWwgZWluIGJ1ZyBsYW5nZSBuaWNodCBlbnRkZWNrdCB3dXJkZS4gZGllc2VyIGlzdApiZWhvYmVuLi4KbW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BpZWxlci9TZWhlciByYXRpbyAoWWVuZGksIDE4LiBTZXAgMTk5NSwgMTU6MTU6NTUpOgoKPiBrd2VyIHNwaWVsZXIKICBMaXN0ZSBkZXIgTWl0c3BpZWxlciB2b20gTW9uLCAxOC4gU2VwIDE5OTUsIDE0OjU5OjI4ICgzNSBUZWlsbmVobWVyKQoKQWxpYmVydC4uLi4uLi4uLnMgIEFiY2QuLi4uLi4uLi4uLi5zICBFdGFoLi4uLi4uLi4uLi4udCAgR2FzdDEuLi4uLi4uLi4uLnMKSGVuYmFuZS4uLi4uLi4uLnQgIExlbGFuZC4uLi4uLi4uLi5zICBMeW54Li4uLi4uLi4uLi4ucyAgTWluZG9sbHVpbi4uLi4uLnMKTmljaHRzLi4uLi4uLi4uLnMgIFB5cm9tZWxsYS4uLi4uLi5zICBSYXRhem9uZy4uLi4uLi4ucyAgUmFvdWwuLi4uLi4uLi4uLnMKQmluaS4uLi4uLi4uLi4uLnMgIE5lc2FqYS4uLi4uLi4uLi5zICBSYWZmaS4uLi4uLi4uLi4ucyAgVWx1bGEuLi4uLi4uLi4uLnMKWmFrbmFmZWluLi4uLi4uLnMgIEZyeWRlcmxlaW4uLi4uLi56ICBBdXJlbGlhLi4uLi4uLi4ucyAgRW5nZWxjaGVuLi4uLi4uLnoKU2hha2VkYmVlci4uLi4uLnMgIEh1YmJhLi4uLi4uLi4uLi5zICBJbGxpYW4uLi4uLi4uLi4ucyAgTHVwdXMuLi4uLi4uLi4uLnMKTWFqb3IuLi4uLi4uLi4uLnMgIFRpYmFyLi4uLi4uLi4uLi56ICBCaWtld2Fycmlvci4uLi4ueiAgVHJhdW1hdGljLi4uLi4uLnoKTmFzaW0uLi4uLi4uLi4uLnMgICpZZW5kaS4uLi4uLi4uLi5zICBCb2JvLi4uLi4uLi4uLi4ucyAgRWxvcmEuLi4uLi4uLi4uLnMKS25vZXJyeS4uLi4uLi4uLnMgIFRvcndhbGwuLi4uLi4uLi5zICBUcmFqYW4uLi4uLi4uLi4ucwoKCj4ga3dlciBzZWhlcgogIExpc3RlIGRlciBNaXRzcGllbGVyIHZvbSBNb24sIDE4LiBTZXAgMTk5NSwgMTQ6NTk6MjAgKDMyIFRlaWxuZWhtZXIpCgpBdWdyYS4uLi4uLi4uLi4uUyAgS2l3aS4uLi4uLi4uLi4uLlMgIFBoeWdvcy4uLi4uLi4uLi5TICBTb3JzaGEuLi4uLi4uLi4uUwpZb2dzb3Rob3RoLi4uLi4uVCAgKkR1c3R5Li4uLi4uLi4uLlMgIERhbmllbC4uLi4uLi4uLi5TICAqTWllemUuLi4uLi4uLi4uUwpUYXouLi4uLi4uLi4uLi4ueiAgRW5neXd1Y2suLi4uLi4uLlMgIEZlbHMuLi4uLi4uLi4uLi5TICBUYXNoYS4uLi4uLi4uLi4uUwpab3Jyby4uLi4uLi4uLi4uUyAgSnVycnkuLi4uLi4uLi4uLlMgIE5peGkuLi4uLi4uLi4uLi5TICAqV29lbGtjaGVuLi4uLi4uUwpCaWdmb290Li4uLi4uLi4uUyAgQ3VjaHVsbGluLi4uLi4uLlMgIEZhaG5kZXIuLi4uLi4uLi5TICBIYXJkaWwuLi4uLi4uLi4uUwpOaXhpaG91Li4uLi4uLi4uUyAgVHdpZ2d5Li4uLi4uLi4uLlMgIFRvbW15Li4uLi4uLi4uLi5TICBLaWVzZWxzdGVpbi4uLi4uegpRdWlsbGlhbi4uLi4uLi4uUyAgKlRvc3MuLi4uLi4uLi4uLnogIFVyemEuLi4uLi4uLi4uLi5TICBDaGljb2xhLi4uLi4uLi4uUwpGcnlkZXIuLi4uLi4uLi4uUyAgTWFnaWNvbGxpLi4uLi4uLlMgIEFuYWtpbi4uLi4uLi4uLi5TICAqUnluZS4uLi4uLi4uLi4uUwoKCj4ga3dlciBtYWdpZXIKICBMaXN0ZSBkZXIgTWl0c3BpZWxlciB2b20gTW9uLCAxOC4gU2VwIDE5OTUsIDE1OjAwOjA1ICgyMSBUZWlsbmVobWVyKQoKTGFyaXNzYS4uLi4uLi4uLm0gIEtsb25rLi4uLi4uLi4uLi5tICBCYW1idWxrby4uLi4uLi4ubSAgKlRvZXRlci4uLi4uLi4uLm0KQmxvb2R5aGFycnkuLi4uLk0gIEN5bW9uay4uLi4uLi4uLi5NICBIb3JzY2hkLi4uLi4uLi4uTSAgQ2lmZXIuLi4uLi4uLi4uLk0KTmFpcm9sZi4uLi4uLi4uLk0gIEVkLi4uLi4uLi4uLi4uLi5NICBSeHRlY2guLi4uLi4uLi4uTSAgUHRlcHBpYy4uLi4uLi4uLk0KS2Flbmd1cnVoLi4uLi4uLk0gIEFuZ3VzLi4uLi4uLi4uLi5NICBBbGFyaW4uLi4uLi4uLi4uTSAgVHJ5ZmFuLi4uLi4uLi4uLk0KQmVydHJhbS4uLi4uLi4uLk0gICpMb2NvLi4uLi4uLi4uLi5NICBNaWthLi4uLi4uLi4uLi4uUiAgRGFuY2VyLi4uLi4uLi4uLlIKKkpvZi4uLi4uLi4uLi4uLkcKCgpIbW1tLi4uIFdlbm4gbWFuIFp3ZWl0aWVzIHVuZCBUZXN0aWVzIHJhdXNmaWx0ZXJ0LCBrb21tdCBtYW4gYXVmIDI4IFNwaWVsZXIKdW5kIDI4IFNlaGVyLiBOYSB0b2xsLgpJY2ggZGFjaHRlIGltbWVyLCBTZWhlciBzb2xsdGVuIHdhcyBnYW56IGJlc29uZGVyZXMgc2Vpbi4gU2luZCBkaWUgbmljaHQKa29uemlwaWVydCB3b3JkZW4gYWxzICJUaGUgcHJvdWQsIHRoZSBmZXcsIHRoZSBTZWhlciI/CgpKZWRlc21hbCwgd2VubiBpY2ggZHVyY2ggZGllIG1wYSBibGFldHRlcmUsIHN0ZWhlbiBpbiBkZXIgUnVicmlrICJzdHVmZW4iCndpZWRlciBlaW4gaGFsYmVzIER1dHplbmQgTmV1c2VoZXIgZHJpbi4gRGllc2VzIEF1ZnRyZXRlbiB2b24KSG9jaHN0dWZlbnNwaWVsZXJuIGlzdCBpbmZsYXRpb25hZXIsIHVuZCBJbmZsYXRpb24gZW50d2VydGV0LgoKV2VyIG5pbW10IGRlbm4gaGV1dHp1dGFnZSBlaW5lbiBTZWhlciBub2NoIGVybnN0PyBXZW5uIGljaCBTZWhlciBydW1sYXVmZW4Kc2VoZSwgZGllIDIgVGFnZSBhbHQgc2luZCB1bmQgbmljaHQgYWxsZWluZSB2b24gUFYgYXVmIGRpZSBIb2NoZWJlbmUgZmluZGVuLApkYW5uIGtvZW5udGUgaWNoIHNjaHJlaWVuISBXYXMgc29sbCBkYXMgbm9jaD8KCkhpZXJtaXQgcGxhZWRpZXJlIGljaCBmdWVyIGVpbmUgQW5oZWJ1bmcgZGVyIEtyaXRlcmlhIHp1ciBFcmxhbmd1bmcgZGVzClNlaGVyc3RhdHVzOgoKIG8gQWxsZSBRdWVzdHMsIGRpZSB6dXVtIFplaXRwdW5rdCBkZXIgQ2hhcmFrdGVyZXJzY2hhZmZ1bmcgYW5nZXNjaGxvc3NlbgogICB3YXJlbiwgdW5kIGRlcyB3ZWl0ZXJlbgogbyBtaW5kZXN0ZW5zIDEwbWlvLiBFUC4KCihJY2ggd2Vpc3MsIE1ldHplbG4gaXN0IHN0dW1wZiwgYWJlciB3ZW5uIG1hbiBkaWUgUXVlc3RzIGhhdCwgc29sbHRlIG1hbgogc293aWVzbyBzY2hvbiBkYXMgZWluZSBvZGVyIGFuZGVyZSBNaWxsaW9lbmNoZW4gZXJydW5nZW4gaGFiZW4uKQoKClNvLiBKZXR6dCBmdWVobGUgaWNoIG1pY2ggc2Nob24gZXR3YXMgYmVzc2VyLgoKCiAgWVRZLCBudXIgbm9jaCBsZWlzZSBncnVtbWVsbmQKCgpQUzogSWNoIG1laW5lIGRhcyBkdXJjaGF1cyBlcm5zdCEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BpZWxlci9TZWhlciByYXRpbyAoUmFmZmksIDE4LiBTZXAgMTk5NSwgMTY6MjY6MzUpOgojISBybj1ZZW5kaSBydD04MTE0MzAxNTUKCm1pdCBzb3dhcyAoMTAgTWlvIFB1bmt0ZSB1bmQgYWxsZSBBdWZnYWJlbikgYmVndWVuc3RpZ3N0IGR1IGphIGdlcmFkZSBkaWVzZQpEdXJjaG1hcnNjaGllcmVyIGRhcyBkaWVzZSBQdW5remFobCBqYSB6dSBlaW5lbSBndXRlbiB0ZWlsIGJlcmVpdHMgZHVyY2ggZGllCnF1ZXN0ZW4gYWJnZWRlY2t0IGlzdC4KCkF1Y2ggZGllIGFuZGVyZW4gbnVtZXJpc2NoZW4gd2VydGUgaGFiZW4ga2VpbmUgYmVkZXV0dW5nIC0gd2VubiBpY2ggdm9uCmplbWFuZGVtIHZlcmxhbmdlIGRhcyBlciB6LkIuIG1pbmRlc3RlbnMgMTAgbWFsIGdlc3RvcmJlbiBpc3Qgc28gYmVkZXV0ZXQgZGFzCmJlaSAib3JkZW50bGljaGVtIiBzcGllbGVuIGRhcyBlci9TaWUgc2ljaCBndXQgdW1nZXNjaGF1dCBoYXQgLSBhbmRlcmVyc2VpdHMKd3VlZGUKc28gZWluIER1cmNobGFldWZlciBoYWx0IGFtIGFuZmFuZyBnbGVpY2ggMTAgbWFsIHN0ZXJiZW4gdW5kIGRhbm4gaGF0cwpzaWNoLi4uLgpFaW4gTWluZGVzdGFsdGVyIHdhZXJlIGphIG5ldHQsIGFiZXIgZGFzIGthbm4gbWFuIHNpY2ggYXVjaCBlcmlkZWxuLgoKdmllbGVpY2h0IHVlYmVyIGRpZSBNZW5nZSBkZXIgWlQncywgZGEgZHVyY2ggZGllIChob2ZmZW50bGljaCBzdGFlbmRpZ2UpCmVyd2VpdGVydW5nIGRlciBGdW5kb3J0ZSBlcyBlaW5mYWNoIHplaXQgKHVuZCBiZXNjaGFlZnRpZ3VuZyBlcmZvcmRlcnQgZGllIFpUcwp6dSBmaW5kZW4uIC0gQWxzbyB6LkIuIGVpbmUgZ3JlbnplIHZvbiBtaW5kZXN0ZW5zIDYwIGdlZnVuZGVuZW4gWlQgPwoKT2RlciBnYXIgZWluIHNlaGVyZnVlcmhyZXJzY2hlaW4gbWl0IFBydWVmdW5nID8KCk5lZSBpY2ggd2Vpc3MgbmljaHQgYWxsZXMgbmljaHQgcHJha3Rpa2FiZWwgLSBhYmVyIHZpZWxlaWNodCBrYW5uIG1hbiBldHdhcwp2b24gYWxsZW0gZGF0dW5laG1lbiA/CgpHcnVzcwpILgooZGVyIG1pdCBkZW4gYnJlaXRlbiBGaW5nZXJuOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlci9TZWhlciByYXRpbyAoUmFmZmksIDE4LiBTZXAgMTk5NSwgMTY6Mzg6MDQpOgojISBybj1SYWZmaSBydD04MTE0MzQzOTUKCkFjaCBub2Nod2FzIHp1bSBUaGVtYSBTZWhlci4KSWNoIChhbHMgZWluZmFjaGVyIGtsZWluZXIgU3R1ZmUgMyBTcGllbGVyKSBlcndhcnRlIGVpZ2VudGxpY2ggdm9uIGVpbmVtClNlaGVyIGRhcyBlciBhbGxlbiAibmllZGVyZW4iIFNwaWVsZXJuIEhpbGZ0LCBvZGVyIHp1bWluZGVzdCB6dXIgc2VpdGUgc3RlaHQKKGVyIGJla29tbXQgamEgYXVjaCBkaWUgTWV0emVscHVua3RlICkKCkdlcmFkZSBoaWVyIGJpdGV0IHNpY2ggamEgYXVjaCBlaW5lIENoYW5jZSBTSU5WT0xMIHp1IE1ldHplbG4gdW5kIG5pY2h0CmVpbmZhY2ggenVtIDEwMC4gTWFsIGlyZ2VuZGVpbiBNb25zdGVyIHp1IFBsYWV0dGVuIHdlaWwgbWFuIGdlcmFkZSBkaWUgUHVua3RlCkJyYXVjaHQuCgpBdWNoIGRhcyBUaGVtYSBtaXQgZGVyIEZ1ZWhydW5nIGlzdCB3aWNodGlnIC0gaWNoIHdhciBjYS4gMSAxLzIgU3R1bmRlbiBhbHQsCnVuZCBrYW5udGUgbnVyIGRpZSBIRS4gSWNoIGhhYiBuYWNoIGRlciBHaWxkZSBnZXN1Y2h0IHVuZCBkYSBoYXQgbWljaCBqZW1hbmQKKGljaCB3ZWlzcyBuaWNodCBtZWhyIG9iIHNwaWVsZXIgb2RlciBzZWhlciAtIG9kZXIgZGVuIE5hbWVuKSBlaW5mYWNoCmhpbmdlZnVlaHJ0LiBFciBpc3Qgc28Kc29nYXIgZXh0cmEgenVyIEhFIGdla29tbW5lIC0gZGFzIHdhciBlaW5lIGdyb3NzYXJ0aWdlIEVpbmZ1ZWhydW5nLgoKSWNoIGplZGVuZmFsbHMgYmVtdWVoZSBtaWNoIGplZGVtIFNwaWVsZXIgenUgaGVsZmVuLiBXZW5uIGVpbiBOZXVsaW5nIGluIGRlcgpFcnN0ZW4gUXVlc3RlIGhhZW5ndCwgb2RlciBlaW5mYWNoIG5pY2h0IHdlaXNzIHdvcyB3ZWl0ZXJnZWh0IGRhbiBrb21tZSBpY2gKYXVjaCB2b3JiZWkgLSB1bmQgaWNoIGJpbiBrZWluIHNlaGVyLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFllbmRpLCAxOC4gU2VwIDE5OTUsIDE2OjUxOjI4KToKIyEgcm49UmFmZmkgcnQ9ODExNDM1MDg0CgpGZWluLCBlcyBpc3QgaW1tZXIgZ3V0LCBkZW4gTmV1bGluZ2VuIGJlaSBpaHJlbSBFaW5zdGFuZCB6dSBoZWxmZW4gLS0KYWJlciBkYXp1IHNpbmQgbWFuY2hlIFNlaGVyIHdvaGwgbmljaHQgZWlubWFsIGluIGRlciBMYWdlIQpXZW5uIG1hbiBzaWNoIHZvbiBhbmRlcmVuIEhTUyBhbiBkZXIgSGFuZCBuZWhtZW4gdW5kIGR1cmNoIGRpZSBub2V0aWdlbgpRdWVzdHMgZnVlaHJlbiBsYWVzc3QsIGRhbm4gaGF0IG1hbiBoYWx0IGtlaW5lbiBTY2hpbW1lciB2b20gTVVELgoKU28gZXR3YXMgZGFubiBtaXQgZGVtIGRvY2ggcHJvZ3JhbW1hdGlzY2hlbiBOYW1lbiAiU2VoZXIiIHp1IGJlbGVnZW4gaXN0CkV0aWtldHRlbnNjaHdpbmRlbC4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEZsaW50bmFpbCwgMTguIFNlcCAxOTk1LCAxNjo1MTo1Mik6CiMhIHJuPVllbmRpIHJ0PTgxMTQzMDE1NQpXYXR0IHNvbGwgZGVubiBkYXQgd2VyZGVuPz8/CgpJY2ggYnJhdWNoIG5pY2ggZGVuIFRpdGVsIFNlaGVyLCB1bSBpbiBpcmdlbmRlaW5lciBGT3JtIHJlc3Bla3RpZXJ0IHp1CndlcmRlbi4uLgpOYWphLi4uYWJlciB3ZXIgc2ljaCBhbHMgU2VoZXIgb2RlciBNYWdpZXIgdWViZXIgenV2aWVsZSBTZWhlciBiZXNjaHdlcnQsIGRlcgpzb2xsdGUgbWFsIGRhcnVlYmVyIG5hY2hkZW5rZW4sIG9iIGVzIG5pY2h0IGRvY2ggenUgdmllbGUgS29tcGxldHRsb2VzdW5nZW4KZ2lidCBvZGVyIGdhYi4uLm5hY2ggZGVuZW4gamVkZXIgamVkZW4gQ2hhcmFrdGVyIGlubmVyaGFsYiB2b24gMiBUYWdlbiB6dW0KU2VoZXIgbWFjaHQhCldlbm4gamV0enQgc292aWVsZSBzaW5kIGhpbGZ0IGtlaW4gaGV1bGVuLi4udW5kIGtlaW4gVmVyc2NoYWVyZmVuIGRlcgpadWdhbmdzdm9ycmF1c3NldHp1bmdlbi4uLnNvbmRlcm4gZXMgcmVpY2h0IGVpbiByaWdvcm9zZXMgVk9yZ2VoZW4gZ2VnZW4KS29tcGxldHRsb2VzdW5nZW4vS29tcGxldHRza3JpcHRlIHVuZCBkZXJlbiBWZXJ0ZWlsZXIuLi4KV2VubiBkaWVqZW5pZ2VuIGtlaW5lbiBadWdhbmcgbWVociBoYWV0dGVuLCBnYWVicyBrYXVtIG5vY2ggU2VoZXI6KQpidHc6IEljaCB3YWVyZSB3b2hsIGF1Y2ggYmV0cm9mZmVuLi4uOik9KQoKdmllbGxlaWNodCBzb2xsdGUgbWFuIGRpZXNlbiBBcnRpa2VsIG5hY2ggU2NobWFycm4gc3RlY2tlbi4uLgogICBGTGludG5haWw6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyL1NlaGVyIHJhdGlvIChSYWZmaSwgMTguIFNlcCAxOTk1LCAxNzowMjoyNyk6CiMhIHJuPUZsaW50bmFpbCBydD04MTE0MzU5MTIKCkljaCB3ZWlzcyBuaWNodCBvYiBLb21wbGV0dGxvZXN1bmdlbiB2ZXJiaWV0ZW4gZGFzIHppZWhsIGlzdCBkYW4gbGF1ZmVuIGRpZQpoYWx0IGVpbmZhY2ggcGVyIG5vcm1hbGVyIE1laWwuCgpTb3dhcyBsYWVzc3Qgc2ljaCBuaWNodCB2ZXJoaW5kZXJuIC0gaWNoIGhhYiBiaXMgZGF0byBub2NoIGtlaW5lIEtMIGJla29tbWVuCnVuZCBpY2ggd2Vpc3MgYXVjaCBuaWNodCBvYiBpY2ggZWluZSB3aWxsLiBMaWViZXIgMyBUYWdlIGltIE5hcnJlbmJhbGwgaGFlbmdlbgpiaXMgbWFuIHNpZWh0IGRhcyBtYW4gZGllIFNwZWlzZWthbW1lciB2b2VsbGlnIHVlYmVyc2VoZW4gaGF0IDopCgpBdWNoIGdsYXViZSBpY2ggbmljaHQgZGFzIGVzIElSR0VORE9XIGV0d2FzIGdpYnQgZGFzIG1hbiBkdXJjaCBkZWZmZW5zaWV2ZXMKdm9yZ2VoZW4gKHZlcmJpZXRlbikgbG9lc2VuIGthbm4uIEhpZXIgaXN0IGVoZXIgZWluIE9mZmVuc2lldmVzIHZvcmdlaGVuCm5vZXRpZy4KV2llIHdhZXJlIGVzIHouQi4gV2VubiBkaWUgTWFnaWVyIHp1IGlocmVyIGpld2VpbGlnZW4gUXVlc3RlIGdsZWljaCBlaW4KbG9lc3VuZ3NidWNoIG1pdGxpZWZlcm4gPwpEaWVzZXMga2FubiBtYW4gZGFubiBiZXN0ZWxsZW4gLCBvZGVyIG1laW5ldHdlZ2VuIGluIGVpbmVtIExvZXN1bmdzbGFkZW4Ka2F1ZmVuLiBEaWVzZXMgTG9lc3VuZ3NidWNoIG11c3MgZWluZSBJbnRlbGxpZ2VudGUgQW53ZW5kdW5nIHNlaW4uCmljaCBzdGVsbGUgbWlyIHZvciBkYXMgbWFuIGplIFJhdW0gZWluZXIgcXVlc3RlIHZvbSBkYXp1Z2Vob2VyaWdlbiBCdWNoIGVpbmUKSGlsZmUgaW4gMy01IFN0dWZlbiBiZWtvbW10LCB2b24gInNjaGF1IGRpY2ggZG9jaCBtYWwgIHVtbSIgdWViZXIgIndhcyBsaWVndApkZW5uIGRhIGF1ZiBkZW0gU29mYSIgYmlzIHp1ICJkcnVlY2tlIGtub3BmIi4KRGVyIHNwaWVsZXIga2FubiBzaWNoIGRhbm4gc2VsYnN0IGVudHNjaGVpZGVuIHdhcyBlciBhbiBoaWxmZSBhbm5pbW10LgpnbGVpY2h6ZWl0aWcga2FubiBkYXMgdmVyd2VuZGVuIGRlcyBCdWNoZXMgaW4gZGVyIGhvZWNoc3RlbiBTdHVmZSAob2RlciBkZW4gMgpob2VjaHRlbikgZWluZW4gTWFsdXMgYXVmIGRpZSBFUCwgb2RlciBpbiBlbmcgYmVncmVuenRlciB3ZWlzZSBhdWNoIGF1ZiBkaWUgQVAKYXVzdWViZW4uClZpZWxlaWNodCBrYW5uIG1hbiBkYXMgQnVjaCAoamUgbmFjaCBsdXN0IHVuZCBsYXVuZSBkZXMgTWFnaWVycykgYXVjaCBtaXJ0CmVpbmVyICJlaWdlbmludGVsaWdlbnoiIHZlcnNlaGVuIHNvIGRhcyBlcyBhdWYgZnJhZ2VuIGFudHdvcnRldC4KCkRhcyBCdWNoIGVybGF1YnQgaW1tZXJub2NoIGtlaW4gc2NyaXB0c3BpZWxlbiwgc29sbHRlIGFiZXIgZGllIHZlcmJyZWl0dW5nCmRlciBLb21wbGV0dGxvZXN1bmdlbiBlaW5kYWVtbWVuLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFJhZmZpLCAxOC4gU2VwIDE5OTUsIDE3OjA2OjU2KToKIyEgcm49WWVuZGkgcnQ9ODExNDM2NDI3CgpJY2ggaGFiZSBlaW5lIFpUIGxpc3RlIHVuZCB2ZXJ3ZW5kZSBzaWUgYXVjaCAtIG9obmUgd2FlcmUgaWNoIHdhaHJzY2hlaW5saWNoCnNjaG9uIHJlY2h0IGZydXN0cmllcnQuCihtZWluZSBlcnN0ZW4gMiBoYWJlIGljaCBvaG5lIExpc3RlIGdlZnVuZGVuICAtIFNjaHJhdCAtIFp3ZXJnZW5rYXBlbGxlKQpOdXIgZW50YmluZGV0IHNvIGVpbmUgTGlzdGUgbWljaCBuaWNodCB2b20gd2VpdGVyc3VjaGVuLCBkYSBlcyBqYSB2aWVsCm1laHIgdmVyc3RlY2tlIGdpYnQuIChJQ2ggaGFiIGJpcyBkYXRvIDMgWlQgZ2VmdW5kZW4gZGllIG5pY2h0IGF1ZiBkZXIgTGlzdGUKd2FyZW4gOikKSWNoIHNlaGUgZGllIFpULUxpc3RlKG4pIGF1Y2ggYWxzIHdlZyBhbmdlbGVpdGV0IHp1IHdlcmRlbiB3b3JhdWYgKGF1ZiB3ZWxjaGUKYWJ3ZWdpZ2tlaXRlbikgbWFuIGF1Y2ggYWNodGVuIG11c3MgdW0gZWluZW4gWlQgenUgZmluZGVuLgoKR3J1c3MKSC4KKGJpcyBqZXR6dCBlcnN0IDI4IFpUKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyL1NlaGVyIHJhdGlvIChBcmRhbmEsIDE4LiBTZXAgMTk5NSwgMTc6MDc6MjEpOgojISBybj1SYWZmaSBydD04MTE0MzQzOTUKVGhlb3JldGlzY2ggc2VociB3ZXJ0dm9sbCAqaXJvbmllIG9mZiogb2RlciBtZWluc3QgRHUgaW0gZXJuc3QsIGRhc3MgZXMga2VpbmUKenQnc3VjaC1za3JpcHRzIGdpYnQ/PyB3YXMgd29sbHQgSWhyIG51ci4uLiBKZWRlciBrYW5uIHNpY2ggaGllciBzZWluZSBGcmV1bmRlCnNlbGJzdCBhdXNzdWNoZW4uLi4gd2VyICdsb3NlcicgbmljaHQgbWFnLCBzb2xsIHNpZSBpZ25vcmllcmVuIHVuZCBuaWNodApzdGFlbmRpZyBuYWNoIGhvZWhlcmVuIEFuZm9yZGVydW5nZW4gc2NocmVpZW4uLi4gZ2VnZW53YWVydGlnIGJyYXVjaHQgbWFuCippcm9uaWUgb24qIG51ciAqaXJvbmllIG9mZiogMTUwMCBhcC4uLiBkYXMgc29sbHRlIGdlbnVlZ2VuLgoKQXJkYW5hLCBmcmFndCBzaWNoLCB3YXMgZGFzIGFsbGVzIHNvbGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFN1c2hpLCAxOC4gU2VwIDE5OTUsIDE5OjI4OjE5KToKIyEgcm49QXJkYW5hIHJ0PTgxMTQzNjg0MQpSZWNodCBoYXQgZXIsIGRlciBndXRlIEFyZGFuYS4gQXVzc2VyZGVtIGdpYnQgZXMgZGEgbm9jaCBlaW5lbiBrbGVpbmVuLCByZWluCnRlY2huaXNjaGVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIGRlbiBTcGllbGVybiBpbSBNVUQ6IGhpZXIgZGllIG1pdCBTY2hsdWVzc2VsCnp1bSBSWiB1bmQgVEYsIGRvcnQgU3VzaGlzIG1pdCBNb2RlbS4gRXMgbWFnIE11ZGRlciBnZWJlbiwgZGllIGVzIGtvZXJwZXJsaWNoCmVycmVndCwgNCBTdHVuZGVuIGluIGlyZ2VuZHdlbGNoZW4gS3VlY2hlbiBydW16dXJlbm5lbiB1bmQgZWluZSBzY2h3YWNoc2lubmlnZQpTeW50YXggenUga25hY2tlbiwgYWJlciB3ZW5uIGRpZSBNaW51dGUgMSwxNSBrb3N0ZXQga29tbXQgZWluZSBLTCBmdWVyIGRlbgpOb3RmYWxsIGRvY2ggcmVjaHQgZ2VsZWdlbi4KV2VpdGVyaGluIGhhYmUgaWNoIG9obmUgWlQtTGlzdGUgZ2VyYWRlIG1hbCA0IFpUcyBnZWZ1bmRlbiAoSWNoIHNhZ2UgbnVyOgpydWV0dGVsIEFOIEZlbHNuYXNlKS4gQXVzc2VyZGVtIGhhbHRlIGljaCBkaWUgWlQtTGlzdGUgZnVlciBlaW5lbgpnZXJlY2h0ZmVydGlndGVuIEFrdCBkZXIgTm90d2VociBnZWdlbiBkYXMgWlQtU3lzdGVtLCBkYXMgbmljaHQtTW9kZW0tU3BpZWxlcgppbmZhaXIgYmV2b3J6dWd0LgpBdXMgZGVtc2VsYmVuIEdydW5kIGJpbiBpY2ggZ2VnZW4gVm9yc2NobGFlZ2Ugd2llIDEwIE1pbyBFUHMgdW0gU2VoZXIgenUKd2VyZGVuLCBkZW5uIGljaCBtb2VjaHRlIG5pY2h0IGR1cmNoIE1ldHplbF9TY3JpcHRzIFNlaGVyIHdlcmRlbi4gRGVubm9jaApmaW5kZSBpY2ggZGllIEFucmVnZWd1bmcgdWViZXJkZW5rZW5zd2VydCwgZGFzIFNlaGVyZGFzZWluIGF1Znp1d2VydGVuLgpWaWVsbGVpY2h0IHdhZXJlIGVzIGphIG1vZWdsaWNoLCBkZW4gVWViZXJnYW5nIHp1bSBNYWdpZXIgZXR3YXMgZ2xlaXRlbmRlciB6dQptYWNoZW4gKEljaCB3aWxsIGVpbmUgRmVybmJlZGllbnVuZyAqZ3JpbnMqKS4KTWFobHplaXQhClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEFyYW55YSwgMTguIFNlcCAxOTk1LCAxOTo0Mzo0Myk6CiMhIHJuPVJhZmZpIHJ0PTgxMTQzNDM5NQpBdSBqYSwgaWNoIGJpbiBmdWVyIGVpbmVuIFNlaGVyZnVlaHJlcnNjaGVpbi4gUHJ1ZWZ1bmcgKEJ1bmRlc211ZGF1ZnNpY2h0cy0KYW10c2dlcHJ1ZWZ0ZXIgTWFnaWVyLCBkZXIgZGllIFBydWVmdW5nIGFibmltbXQuLi4pIFVuZCBzbyB3ZWl0ZXIuIE1pdApQcnVlZnVuZ3Nrb21taXNzaW9uLiBBdSBqYS4KTmVpbiwgZWhybGljaCwgaWNoIGZhZW5kIGVzIGtsYXNzZSwgd2VubiBqZW1hbmQgc2VpbiBXaXNzZW4gYXVjaCB1bnRlciBCZS0Kd2VpcyBzdGVsbGVuIHNvbGwuIEdlbmF1LgpBcmFueWEKClBTOiBEZXIgSHV0IGlzdCBpbnp3aXNjaGVuIGthcHV0dC4gU2NoYWRlLiAoTnVyIGZ1ZXIgZGllIFBhcnR5Z2Flbmdlci4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGVyL1NlaGVyIHJhdGlvIChKYWYsIDE4LiBTZXAgMTk5NSwgMTk6NDg6NTcpOgojISBybj1ZZW5kaSBydD04MTE0MzAxNTUKCkFsc28gdWViZXIgUXVlc3RzIGxhc3MgaWNoIG1pdCBtaXIgcmVkZW4sIGFiZXIgRVAgYWxzIGlyZ2VuZGVpbmUgQXJ0CkJld2VpcywgZGFzcyBtYW4gd2FzIGRyYXVmIGhhdCwgenUgbmVobWVuLCBmaW5kIGljaCBlY2h0IGRhbmViZW4uCnUKCldpZXNvIGdpYnQncyBkZW4gc2VoZXIgbmljaHQgZnVlciBhbGxlIFF1ZXN0cyB1bmQgTnVsbCBFUD8KCkF1c3NlcmRlbSBmaW5kIGljaCBuZSBhcC1zY2hyYW5rZSBmdWVyIGdpbGRlbmF1ZnN0aWVnZSB3ZXNlbnRsaWNoCmJlc3NlciBhbHMgcmVpbmUgRVAtR3Jlbnplbi4KCnN3Cgp1Cgp1CgpJaHIgd2lzc3QsIGRhc3MgbWFuIDEwMCBtaW8gRXAgZnVlciBkZW4gc2llYnRlbiBEYW4gYnJhdWNodD8gSW4gZGVyClplaXQsIGluIGRlciBtYW4gbWl0IGRlbSBFcC1NZXR6ZWxuIGJlc2NoYWVmdGlndCBpc3QsIGhhdCBtYW4gZ2FyIGtlaW5lCkNoYW5jZSwgc2ljaCBuZXVlIEdlZ2VuZGVuIGFuenVzY2hhdWVuLCB3ZWlsIG1hbiBpbW1lciBzY2hvZW4gZGFyYXVmCmJlZGFjaHQgaXN0LCBqYSBuaWNodCB6dSBzdGVyYmVuLCB3ZWlsIGRhcyB3aWVkZXIgNiBNaW8ga29zdGV0LiBVbmQKZGFzIGZpbmQgaWNoIFNjaHdhY2hzaW5uLiBJY2ggYmluIGZydWVoZXIgb2Z0IHVuZCBnZXJuZSBnZXN0b3JiZW4gdW5kCndhciBtZWlsZW53ZWl0IHZvbiBuZW0gSGVyemthc3BlciBlbnRmZXJudCwgd2VubiBkZXIgVHlwIG1pdCBkZXIKdmVya2xlbW10ZW4gQ2Fwcy1Mb2NrIC1UYXN0ZSBrYW0uIERhcyBoYXQgc2ljaCBnZWFlbmRlcnQgc2VpdCBkZW0sIHVuZAppY2ggbWFnIGRlbiBadXNhdG5kIG5pY2h0LgoKRnl0CgpQUzogS2FubiBtYW4gbmljaHQgaXJnZW5kd2llIG1pdHphZWhsZW4sIGluIHdpZXZpZWwgUmFldW1lbiBtYW4gd2FyIHVuZAp3aWV2aWVsZSAnS2xlaW5pZ2tlaXRlbicgbWFuIGdlZnVuZGVuIGhhdD8gRGFzIGhhbHQgaWNoIGZ1ZXIgZWluZW4KYW5nZW1lc3NlbmVyZXJuIE1hc3NzdGFiIGZ1ZXIgZGllICdFcmZhaHJ1bmcnIGFscyBzdHVwaWRlIGdla2lsbHRlCklyZ2VuZHdhc3dhZWNodGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEVkLCAxOC4gU2VwIDE5OTUsIDIwOjAwOjA2KToKIyEgcm49WWVuZGkgcnQ9ODExNDMwMTU1Ck1vZWdsaWNoZXJ3ZWlzZSBzaW5kIGF1Y2ggbnVyIGRlc2hhbGIgc293ZW5pZyBTcGllbGVyIGVpbmdlbG9nZ3QsIHdlaWwgZXMKYmlzaGVyIHNjaG9uIHNhdXNjaHdlciBpc3QsIGRlbiBzZWhlcmxldmVsIHp1IGVycmVpY2hlbi4gSWNoIGplZGVuZmFsbHMKa2VubmUgTUctQW5mYWVuZ2VyLCBkaWUgZXMgYXVmZ2VnZWJlbiBoYWJlbiwgd2VpbCBzaWUgdm9uIDUgWlRzIG51ciBtZWhyCmVpbmVuIGJla29tbWVuIGhhYmVuLCBkaWUgUXVlc3RzIHp1dmllbCB3YXJlbiB1bmQgc2llIG1pdCBTeW50YXhwcm9ibGVtZW4KenUga2FlbXBmZW4gaGF0dGVuLgpJY2ggaGFiIGRhbWFscyBqZWRlbmZhbGxzIHRyb3R6IGVpbmlnZXIgTG9lc3VuZ2VuLCBkZXIgbGVnZW5kYWVyZW4gWlQtTGlzdGUKdW5kIHZpZWxlbiBUaXBzIGVpbiBoYWxiZXMgSmFociBiaXMgenVtIFNlaGVyIGdlYnJhdWNodCB1bmQgZGFiZWkgdGFlZ2xpY2gKTW9yZW5ncmF1ZW4gZ2VzcGllbHQKVW5kIHNlaWRlbSBpc3QgZXMgZHVyY2ggdm9yIGFsbGVtIGR1cmNoIGRpZSBBUC1HcmVuemVuIG5vY2ggdmllbCBzY2h3ZXJlcgpnZXdvcmRlbiwgaGllciB3ZWl0ZXJ6dWtvbW1lbi4KVmllbGUgU2VoZXIgc2luZCBvaG5laGluIDJ0aXMsIGRpZSB2b3IgbGFlbmdlcmVyIGVpdCBlaW5nZWxvZ2d0IHd1cmRlbi4KCkljaCBoYWx0ZSBkZW4gVm9yc2NobGFnIHZvbiBZZW5kaSBmdWVyIFVuc2lubiB1bmQgYmluIGZyb2gsIHZvciBlaW5lbSBKYWhyCm1pdCBNb3JnZW5ncmF1ZW4gYW5nZWZhbmdlbiB6dWhhYmVuLgoKRWQsIENpYW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlci9TZWhlciByYXRpbyAoQmFtYnVsa28sIDE4LiBTZXAgMTk5NSwgMjE6MjE6MDYpOgojISBybj1KYWYgcnQ9ODExNDQ2NTM3CkR1IGRhcmZzdCBhYmVyIG5pY2h0IHZlcmdlc3NlbiwgZGFzIHZpZWxlIEFwJ3MgbWl0IE11c3RlcmxvZXN1bmdlbiBlYmVubmZhbGxzCmVpbmZhY2ggenUgZXJyZWljaGVuIHNpbmQuIE1hbiBicmF1Y2h0IGFsc28gZG9jaCBiZWlkZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyL1NlaGVyIHJhdGlvIChSZWluZWxkZSwgMTguIFNlcCAxOTk1LCAyMToyODoxNik6CiMhIHJuPUJhbWJ1bGtvIHJ0PTgxMTQ1MjA2NgpoaWhvLAoKaWNoIG1vZWNodGUgZXVjaCBqYSBuaWNodCBkZXNpbGx1c2lvbmllcmVuLCBhYmVyIGRpZSBnYW56ZSBkaXNrdXNzaW9uIGhhdHRlbgp3aXIgZ2FueiBhZWhubGljaCBzY2hvbiBtYWwgdm9yIDItMyBtb250YW5lLiBrYW5uIG1hbiBuaWNodCBlaW5mYWNoIG5lCnp1c2FtbWVuZmFzc3VuZyBpbiBkaWUgZmFxIHN0ZWNrZW4gdW5kIHJ1aGUgaXN0PwpidHcuIGZyYWdlIGFuIGRpZSBzZWhlcjogd28gZ2lidHMgbmUgZmFxPyBuZW5uZSBtaW5kZXN0ZW5zIDIgbW9lZ2xpY2hrZWl0ZW4KOikKCnJlaW5lbGRlIC0gd2lsbCBpbW1lciBub2NoIHdpc3NlbiB3byBkaWVzZXMgcG9ydCB2YWluIGxpZWd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXIvU2VoZXIgcmF0aW8sIChLZXRvcywgMTguIFNlcCAxOTk1LCAyMjoxNDo1MSk6CklociBzZWl0IGRvY2ggc2VsYmVyIFNjaHVsZCB3ZW5uIGlociBLb21wbGV0dGxvZXN1bmcgd2VpdGVyIGdpYnQKZGFuYWNoIHNwaWVsdCBvZGVyIHNpZSBnYXIgYW5sZWd0IHVtIGV1Y2ggd2FzIHp1IGJld2Vpc2VuLgpJaHIgYmV3ZWlzdCBkYW1pdCBudXIgTWlzc2FjaHR1bmcgZGVyIGdhbnplbiBBcmJlaXQgZGllIGVpbiBNYWdpZXIgaW4gZWluZQpRdWVzdCBnZXN0ZWNrdCBoYXQuIEhhYnQgaWhyIGtlaW5lbiBTdG9seiBkaWUgUXVlc3RzIHNlbGJzdCB6dSBsb2VzZW4/CkRpZSBLb25zZXF1ZW56IHppZWhlIGljaCBpbiBtZWluZXIgbmFlY2hzdGVuIFF1ZXN0LiBTaWUgd2lyZCBtYWwgd2llZGVyIGZ1ZXIKamVkZW4gU3BpZWxlciBlaW5lIGFuZGVyZSBMb2VzdW5nIGhhYmVuIHVuZCBkdXJjaCBlaW4gYmlzc2NoZW4gc3RhdGlzdGlzY2hlCmF1c3dlcnR1bmcga29tcGxldHRsb2VzdW5nZW4gZXJrZW5uZW4gdW5kIHNwaWVsZXIgZGllIGRhbmFjaCBzcGllbGVuCmJlc3RyYWZlbi4uLgpJaHIgaGFidCBlcyBqYSBuaWNodCBhbmRlcnMgZ2V3b2xsdCA+LSkKLSBLZXRvcyAtCgpQLlMuOiBJY2ggYmluIGZ1ZXIgZWluIFJMIE1pbmRlc3RhbHRlciBzZWl0IGRlbSBlcnN0ZW4gRWlubG9nZ2VuLgogICAgICBEYXMgbGFlc3N0IHNpY2ggbmljaHQgZXJpZGxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVydGVzdHF1ZXN0IChLZXRvcywgMTguIFNlcCAxOTk1LCAyMzowNToxOSk6CkluIGRlciBsZWJoYWZ0ZW4gRGlza3Vzc2lvbiBlYmVuIGltIFNlaGVya2FuYWwga2FtIGRpZSBJZGVlIGF1ZiBlaW5lbgpTZWhlcnRlc3QgZWluenVmdWVocmVuLCBpbiBkZXIgQXJ0IGRhcyBlaW4gUGFhciBGcmFnZW4gdWJlciBRdWVzdHMgaW0KTXVkIGdlc3RlbGx0IHdlcmRlbi4KCkRpZSBGcmFnZSBpc3QgYSkgd2lsbCBkYXMgZGllIFNlaGVyc2NoYXJyIHNvIGVpbmUgUXVlc3QgPwogICAgICAgICAgICAgIGIpIHdpcmQgc2llIGF1Y2gga2VpbmVtIGhlbGZlbiBkaWVzZSBRdWVzdCB6dSBsb2VzZW4/CgpXZW5uIGRlbSBzbyBpc3Qgc2FtbWxlIGljaCBnZXJuZSAxMDAgRnJhZ2VuIGVpbiwgdm9uIGRlbmVuIGRhbm4gZWluCmFuZ2VoZW5kZXIgU2VoZXIgMTAgenUgbG9lc2VuIGhhdC4gRGllIEZyYWdlbiBzaW5kIHBybyBTcGllbGVyIGZlc3QtCmdlbGVndCwgZGFtaXQgZWluZXIgbmljaHQgZGllIGdhbnplIFF1ZXN0IGR1cmNoIGxvZXNlbiBrYW5uLgoKRWluIFZvcnNjaGxhZyB3YXIgc3BlemllbGxlIGZyYWdlbiB6dSBzdGVsbGVuIHdpZToKRXJmb3JzY2hlIGRhcyBHZWJpZXQgaGludGVyIGRlciBIYWVuZ2VicnVlY2tlIHVuZCBkYW5uIGtvbW1lbiBlaW4gcGFhcgpGcmFnZW4genUgZGllc2VtLgoKd2VubiBqZXR6dCBhYmVyIGVpbiBzZWhlciBnbGF1YnQgZGFmdWVyIGdsZWljaCBlaW5lIGtvbXBsZXR0bG9lc3VuZyB6dQplcnN0ZWxsZW4genUgbXVlc3NlbiwgbGFzcyBpY2ggZGFzIGdhbnplIGdsZWljaCBzZWluLgoKLSBrZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbnRzY2h1bGRpZ3VuZyAoSmFmLCAxOS4gU2VwIDE5OTUsIDAxOjQzOjExKToKCkFlaG0sIGFsc28gd2VubiBpbiBtZWluZW4gQXJ0aWtlbG4gaXJnZW5kd2VsY2hlIGtvbWlzY2hlIFJpY2h0dW5ncy0KYW5nYWJlbiBhdWZ0YXVjaGVuLCBkYW5uIGxpZWd0IGRhcyBkYXJhbiwgZGFzcyBpY2ggZGllIFphaGxlbiBub3JtYWxlci0Kd2Vpc2UgYXVmIGRpZSBSaWNodHVuZ2VuIHVtZGVmaW5pZXJ0IGhhYi4gRGFzIGlzdCBrZWluIFNjcmlwdCwgbmVpbiwgbmVpbiwKbmVpbi4gR2xhdWJ0J3MgbWlyIDopCgpKYWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyL1NlaGVyIHJhdGlvLCAoSmFmLCAxOS4gU2VwIDE5OTUsIDAxOjU5OjQ3KToKIyEgcm49S2V0b3MgcnQ9ODExNDU1MjkxCgpIbSwgZGllIElkZWUgaGF0dGUgaWNoIGZ1ZXIgZGVuIHJlaW4gaHlwb3RldGlzY2hlbiBGYWxsLCBkYXMgaWNoIG1hbApNYWdpZXIgd2VyZGVuIHNvbGx0ZSwgYXVjaCBzY2hvbiA6KQpVbmQgUkwtTWluZGVzdGFsdGVyIHNlaXQgZGVtIGVyc3RlbiBlaW5sb2dnZW46IGd1dGUgSWRlZSA6KQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVydGVzdHF1ZXN0IChKYWYsIDE5LiBTZXAgMTk5NSwgMDI6MDM6MDEpOgojISBybj1LZXRvcyBydD04MTE0NTgzMTkKCkhtLCBoYWIgbml4IGdlZ2VuIGRlbiBJbnRlbGxpZ2VuenRlc3QuLi4gdW5kIGhpbnRlciBkZXIgQnJ1ZWNrZSB3YXIgaWNoCmF1Y2ggc2Nob24gOikKCkZ5dC4KClBTIEtldG9zIGlzdCBoeXBlcmFrdGl2LCBpc3QgZGFzIHNjaG9uIG1hbCBqZW1hbmRlbiBhdWZnZWZhbGxlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNlaGVyaW5mbGF0aW9uIChNdXBmZWwsIDE5LiBTZXAgMTk5NSwgMDI6MzE6MzApOgpobS4uLi4KCmljaCBnbGF1YmUgZWluIGJpc3NjaGVuIHNjaHVsZCBhbiBkZXIgc2VoZXJpbmZsYXRpb24gaXN0IHZpZSBsaWVsemFobCBhbgona2FtcGZoaWxmZW4nLCB3aWUgYXJ0aWxsZXJpZSB1bmQgdm9yIGFsbGVtIGRlciBidW1lcmFuZyAobnVuIHdlcmRldCBpaHIKc2NocmVpZW4sIGFscyBzcGllbGVyIGthbm5zdCBkdSBnZW5hdSBlaW5lbiBidW1taSBoYWJlbiwgYWJlciB2aWVsZSBzZWhlcgpoYWJlbiBuaXggZGFnZWdlbiBmdWVyIHNwaWVsZXIgYnVtbWlzIHp1IGJlc29yZ2VuKSB1bmQgZGllIGFydGlsbGVyaWUuCmF1Y2ggc2luZCB2aWVsZSB3YWZmZW4gc2VociBndXQgYmlzIGhlcnZvcnJhZ2VuZCB1bmQgZGFzIGJzcyBpc3QgbnVyIGVpbnMgdm9uCnZpZWxlbiAoZXMgZ2lidCBuZSBuZXR0ZSB3YWZmZW5saXN0ZSAobmljaHQgZnVlciBzcGllbGVyIG5hdHVlcmxpY2gpIGRpZSBkYXMKZWluZHJ1Y2tzdm9sbCB6ZWlndCkKbmFqYS4uLgpudXIgbWVpbiBzZW5mCm11cGZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNlaGVyaW5mbGF0aW9uIChUYXNoYSwgMTkuIFNlcCAxOTk1LCAwNDozNDo0OSk6CiMhIHJuPU11cGZlbCBydD04MTE0NzA2OTAKSGkhCgpJY2ggaGFiIHp3YXIgbmljaHQgZGllIGdhbnplIERpc2t1c3Npb24gbWl0Z2VrcmllZ3QgdW5kIHdlaXNzIG5pY2h0IG9iIGRhcwpBcmd1bWVudCBzY2hvbm1hbCBnZWZhbGxlbiBpc3QgYWJlciBoYWJ0IGlociBzY2hvbiBtYWwgZHJhbiBnZWRhY2h0LCBkYXNzIGRlcgpHcnVuZCBmdWVyIGRpZSB2aWVsZW4gU2VoZXIgc2VpbiBrb2VubnRlLCBkYXNzIGRhcyBNb3JnZW5ncmF1ZW4gZWluIHJlbGF0aXYKYWx0ZXMgTVVEIGlzdD8gV2VyIGVpbm1hbCBTZWhlciBpc3QgYmxlaWJ0IGVzIGltIGFsbGdlbWVpbmVuIGF1Y2ggdW5kIGRhIGRhcwpNRyAobGVja2UgTWFnaWVyc3RpZWZlbCA7KSApIGF1Y2ggZWluIHNlaHIgc2Nob2VuZXMgTVVEIGlzdCB2ZXJzY2h3aW5kZW4gZGllClNlaGVyIGhhbHQgYXVjaCBuaWNodCBzbyBzaGNuZWxsIHdpZWRlci4gRGllc2VzIGFuc2FtbWVsbiB2b24gc2VoZXJuIGRpZSBzbwp1bmVpZ2VubnVldHppZyBzaW5kLCBhdWNoIGFuZGVyZW4gc3BpZWxlcm4gYmVpbSBzZWhlcndlcmRlbiB6dSBoZWxmZW4gbWFnIHp3YXIKbWFuY2htYWwgdW5hbmdlbmVobWUgZm9sZ2VuIGhhYmVuIGFiZXIgaW0gZ3J1bmRlIGlzdCBlcyBkb2NoIGVpbiB6ZWljaGVuLCBkYXNzCnVuc2VyIG11ZCAodWksIGJlc2l0emVyc3RvbHohKSBlaW4gc2hjb2VuZXMgc29sY2hlcyBpc3QuCkF1c3NlcmRlbTogQXVjaCBkaWUgYmVydWVobXRlbiBaVC1saXN0ZW4sIGRlbmVuIGF1Y2ggaWNoIG1laW5lIG1laXN0ZW4gWlRzCnZlcmRhbmtlIHNpbmQgZG9jaCBlaWdlbnRsaWNoIGVpbmUgbG9naXNjaGUgZm9sZ2UgZGVyIGdyb2Vzc2UgZGVzCk1vcmdlbmdyYXVlbnMuIERlbm4gd2VyIGthbm4gbm9jaCBlcm5zdGhhZnQgZGF2b24gYXVzZ2VoZW4sIGRhc3MgamVtYW5kCndpcmtsaWNoIGFsbGUgMzY3MzI2NTI4NjYxMiByYWV1bWUgZGVzIG11ZHMgbmFjaCAtIHRlaWx3ZWlzZSB2ZXJkYW1tdCBndXQgLQp2ZXJzdGVja3RlbiBaVHMgYWJzdWNodD8KCkRhcyBWb3JoYWJlbiB2b24gS2V0b3MsIHNlaW5lIHF1ZXN0cyBzY3JpcHR1bnRhdWdsaWNoIHp1IGdlc3RhbHRlbiBmaW5kZSBpY2gKa2xhc3NlLiBEZW5uIGRpZSBtZWlzdGVuIHF1ZXN0cyBzaW5kIGVzIG5pY2h0IHdlcnQsIG51ciBhbHMgc2ltcGxlIEFQLWJyaW5nZXIKYW5nZXNlaGVuIHp1IHdlcmRlbi4gRGFzcyBtYW4gZGllIExldXRlIHNjcmlwdHVubW9lZ2xpY2ggenVtIGdydWViZWxuIGthbm4KemVpZ3Qgei5CLiBkZXIgemF1YmVyd3VlcmZlbCBpbiBkZXIgS3Jpc3RhbGxrdWdlbHF1ZXN0IGdhbnogZG9sbC4gVWVicmlnZW5zOgpEYW1pdCB3aWxsIGljaCB3ZWlzcyBKb2YgbmljaHQgYmVoYXVwdGVuLCBuaWUgb2huZSBoaWxmZSBnZWFyYmVpdGV0IHp1IGhhYmVuLgpJbSBnZWdlbnRlaWwuIEljaCBoYWIgdmllbGxlaWNodCAzIG9kZXIgNCBxdWVzdHMgb2huZSwgZGllIG1laXN0ZW4gbWl0IGhpbGZlCnVuZCBhdWNoIDEgb2RlciAyIG1pdCBrb21wbGV0dGxvZXN1bmcgZ2VtYWNodC4gRGFzIGhhdHRlIGFiZXIgbmF0dWVybGljaCBiZWkKbGV0enRlcmVuIHp1ciBGb2xnZSBkYXNzIGljaCBzaWUgYmlzIGhldXRlIG5pY2h0IHJpY2h0aWcgZ3V0IGtlbm5lLiBVZG4KdmllbGxlaWNodCBpc3QgZGFzIGFsbGVpbmUgc2Nob24gc3RyYWZlIGdlbnVnIGZ1ZXIgZGllc2Ugdm9yZ2VoZW5zd2Vpc2UuClVuZCBqZXR6dCB0cmF1IGljaCBtaWNoIGRvY2ggbm9jaCwgZWluZW4gVm9yc2NobGFnIGxvc3p1d2VyZGVuLCB3aWUgbWFuCnF1ZXN0cyBnZXN0YWx0ZW4ga29lbm50ZTogVmllbGxlaWNodCBzb2xsdGUgbWFuIHF1ZXN0cyBuaWNodCBudXIgYWxzCidtb2VnbGljaHN0IHZpZWxlIG5pY2h0c2NyaXB0ZmFlaGlnZSByYWV0c2VsJyB2ZXJzdGVoZW4gKHdhcyBkdXJjaGF1cyBhdWNoCnNlaW5lbiByZWl6IGhhdCkgc29uZGVybiBhdWNoIG1laHIgYWxzIGdlc2NoaWNodGVuZXJ6YWVobGVuLiBCZWkgdmllbGVuIHF1ZXN0cwp2ZXJtaXNzZSBpY2ggZXMsIGV0d2FzIG1laHIgdWViZXIgZGVuIGhpbnRlZ3J1bmQgenUgZXJmYWhyZW4uIEpldHp0IHNhZ3QgaWhyCndpZWRlcjogZnJhZyBoYWx0IGRpZSBsZXV0ZSByaWNodGlnIGF1cywgYWJlciB3YXJ1bSBtdXNzIGljaCBkZW5uIHNvIG9mdCBkZW4KbGV1dGVuIGFsbGVzIGF1cyBkZXIgbmFzZSB6aWVoZW4/IEthbm4gbWFuIG5pY2h0IG1hbCBtZWhyIHdlcnQgYXVmCmluZm9ybWF0aW9uc2ZyZWlnYWJlIGFscyBhdWYgc3ludGF4LXZlcnNjaGx1ZXNzZWx1bmcgbGVnZW4/CgpFaWdlbnRsaWNoIHdvbGx0IGljaCBkYXMgZ2VzYWd0IGpldHp0IG5vY2htYWwgaW4gendlaSBzYWV0emVuIHp1c2FtbWVuZmFzc2VuCmFiZXIgaWNoIGhhYiB2ZXJnZXNzZW4gd2FzIGljaCBnZXNjaHJpZWJlbiBoYWIuIEFsc28gZmFuZ3QgYW4gbWljaApuaWVkZXJ6dW1hY2hlbiwgaWNoIHN0ZWhlIGZ1ZXIgamVkZSBkaXNrdXNzaW9uIGJlcmVpdC4KCkRhcyBNRyBtb2VnZW5kLCBUYXNoYQoKUC5TLjogTWVpbiBHbGVpY2hiZXJlY2h0aSBMdXB1cyBtZWludCBnZW5hdSBkYXMgZ2xlaWNoZS4gV2VuIHd1bmRlcnRzPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzZWhlcmluZmxhdGlvbiAoVGFzaGEsIDE5LiBTZXAgMTk5NSwgMDQ6Mzc6MjYpOgojISBybj1UYXNoYSBydD04MTE0NzgwODkKT2ggZ290dCwgaGFiIGljaCB3aXJrbGljaCBTTyB2aWVsIGdlc2NocmllYmVuPz8/IFdpZSBwZWlubGljaC4uLgpVZG4gZGFzIHVtIGhhbGIgNSBtb3JnZW5zLi4uLgoKc2ljaCBzY2hhZW1lbmQsIHNjaG9uIHdpZWRlciB0YXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzZWhlcmluZmxhdGlvbiAoQXNtb2RpcywgMTkuIFNlcCAxOTk1LCAwNjo0Mzo0NSk6CiMhIHJuPVRhc2hhIHJ0PTgxMTQ3ODA4OQpMaWViZSBUYXNoYSEKCkVzIGdlaHQgdm9yIGFsbGVtIGRhcnVtLCBkZW4gQmVncmlmZiAnU2VoZXInIHdpZWRlciBldHdhcyBhdWZ6dXdlcnRlbiwgZGllClNlaGVyIHNvbGxlbiB3aWVkZXIgZXR3YXMgYmVzb25kZXJlcyB1bnRlciBkZW4gU3BpZWxlcm4gd2VyZGVuLCB3aWUgZnJ1ZWhlciwKYWxzIHNpZSB2aWVsbGVpY2h0IG1hbCBnZXJhZGUgNSAlIGRlciBnYW56ZW4gU3BpZWxlcnNjaGFmdCBhdXNtYWNodGVuLgpoZXV0ZSBzaW5kIGVzIGphIHNjaG9uIGZhc3QgNTAgJSwgd2llIGVpbmlnZSBTdGF0aXN0aWtlbiB6ZWlnZW4uCkF1c3NlcmRlbSBpc3QgZXMgc28sIGRhc3MgaGV1dHp1dGFnZSBpbm5lcmhhbGIgZWluZXMgTW9uYXRzIG1laHIgYWxzIDQtNSBtYWwKc292aWVsZQpMZXV0ZSBTZWhlciB3ZXJkZW4sIHdpZSBmcnVlaGVyLCB3YXMgZGFubiBhdWNoIHp1IGRpZXNlciBTZWhlcmluZmxhdGlvbgpmdWVocnRlLApkZW5uIHZpZWxlIFNlaGVyIHZvbiBmcnVlaGVyIHNpbmQgaW56d2lzY2hlbiBpbiBhbmRlcmUgTVVEcyBhYmdld2FuZGVydCBvZGVyCmhhYmVuIGF1cyBiZXJ1ZmxpY2hlbiBvZGVyIFplaXRncnVlbmRlbiBkYXMgbXVkZGVuIHdlaXRnZWhlbmQgYXVmZ2VnZWJlbi4KQWxzbyBrYW5uIG1hbiBkaWUgJ2FsdGVuJyBTZWhlciBuaWNodCBhbHMgR3J1bmQgYW5mdWVocmVuLgpFaW4gR3J1bmQgZnVlciBkaWVzZSBTZWhlcmZsdXQgaXN0IHVuZCBibGVpYnQsIGRhc3MgZXMgcmVsYXRpdiBsZWljaHQKZ2V3b3JkZW4KaXN0IGhldXR6dXRhZ2UsIFNlaGVyIHp1IHdlcmRlbi4gRXMgc2luZCBqZWRlIE1lbmdlIEtvbXBsZXR0bG9lc3VuZ2VuIHp1CmhhYmVuLCBhYmVyIGVzIGlzdCBhdWNoIHNvLCBkYXNzIGVpbmVtIGJlaSBqZWRlbSB3aW56aWdlbiBQcm9ibGVtIGdlaG9sZmVuCndpcmQsIGRhc3MgbWFuIHNlbGJzdCBsb2VzZW4ga29lbm50ZSwgd2VubiBtYW4gc2ljaCBudXIgbWFsIGdydWVuZGxpY2ggaW4gZGVtClJhdW0gdW1zZWhlbiB3dWVyZGUuCkF1c3NlcmRlbSBiZWtvbW10IG1hbiBhbGxlaW4gZHVyY2ggZGllIFF1ZXN0cyBnZW51ZyBFUCBmdWVyIGRpZSBnZWZvcmRlcnRlCk1pbGxpb24sIHNvZGFzcyBkYXMgbWV0emVsbiBtZWlzdCBlbnRmYWVsbHQuIEZhbGxzIGVzIGRvY2ggbm9ldGlnIGlzdCwKZGFubiB3aXJkIGVzIGR1cmNoIGRpZSBuZXVlICdHZW5lcmF0aW9uJyB2b24gV2FmZmVuIHN0YXJrIHZlcmVpbmZhY2h0LgoKRGVzaGFsYiB1bnRlcnN0dWV0emUgaWNoIGRpZSBJbml0aWF0aXZlIHZvbiBLZXRvcywgZXMgc29sbCBzaWNoCndpZWRlciBsb2huZW4gU2VoZXIgenUgd2VyZGVuLgoKICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzIChhcmdoLCA2OjQ1IFVocikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2VoZXJpbmZsYXRpb24gKEJhcm9uLCAxOS4gU2VwIDE5OTUsIDA3OjUyOjI0KToKIyEgcm49VGFzaGEgcnQ9ODExNDc4MDg5CkljaCBkZW5rZSBlaW5lciBkZXIgSGF1cHRncnVlbmRlIGxpZWd0IHdpcmtsaWNoIGltICdBbHRlcicgZGVzIE1nLiBBYmVyIGljaApzZWhlIGRhcyBnYW56ZSBvaG5laGluIG5pY2h0IGFscyAobG9lc2JhcmVzKSBQcm9ibGVtLiBFcyB3aXJkIHZlcm11dGxpY2gsIG1pdAp3YWNoc2VuZGVyIEFuemFobCBkZXIgR2lsZGVuLCBkYXp1IGtvbW1lbiBkYXMgU3BpZWxlciBuaWNodCBtZWhyIHN0b2x6IGF1ZgppaHJlbiAnU2VoZXJyYW5nJyB2ZXJ3ZWlzZW4sIHNvbmRlcm4gc3RhdHRkZXNzZW4gdmVyc3VjaGVuIGluIGlocmVyIEdpbGRlCm1vZWdsaWNoc3QgaG9jaCBhdWZ6dXN0ZWlnZW4uIERlciBUaXRlbCBTZWhlciB3aXJkIGRhbm4gZWhlciBlaW4gS2VubnplaWNoZW4KZnVlciBlaW5lbiAnZXJ3YWNoc2VuZW4nIFNwaWVsZXIgc2Vpbi4KRWluaWdlIGRlciBHaWxkZW4gd2VyZGUgd29obCBzbyBzdHJ1a3R1cmllcnQgc2VpbiBkYXMgZGllIEFuemFobCBkZXIKSEwtR2lsZGVuc3BpZWxlciB6YWhsZW5tYWVzc2lnIGJlZ3Jlbnp0IGlzdC4gSWNoIHdlaXNzIHp1ZmFlbGxpZywgZGFzcwpTaWx2YW5hcyBaYXViZXJlcmdpbGRlIG51ciA2IEVyem1laXN0ZXIgenVsYXNzZW4gd2lyZC4gV2VubiBtYW4gZGFubgpFcnptZWlzdGVyIHdlcmRlbiB3aWxsIG11c3MgbWFuIHdvaGwgZWluZW4gJ2FsdGVuJyBoZXJhdXNmb3JkZXJuIDopLiBEQVMgd2lyZApkYW5uIGVpbiBaZWljaGVuIGZ1ZXIgZWluZW4gJ2d1dGVuJyB1bmQgJ2VyZ2ZhaHJlbmVuJyBTcGllbGVyIHNlaW4gdW5kIGFsbGUKc2luZCB3aWVkZXIgenVmcmllZGVuIDopCihSZWQpIEJhcm9uIC0gd2Vpc3MgZ2FybmljaHQgd29ydWViZXIgc2ljaCBkaWUgTGV1dGUgZWlnZW50bGljaCBhdWZyZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNlaGVyaW5mbGF0aW9uIChCYXJvbiwgMTkuIFNlcCAxOTk1LCAwNzo1MzoyMik6CiMhIHJuPUJhcm9uIHJ0PTgxMTQ4OTk0NApBUkdMISBTY2hvbiB3aWVkZXIgZWluaWdlIEtvbW1hdGEgdmVyZ2Vzc2VuIDopLiBTb3JyeSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICdzY2huZWxsJyAoWWFudHJvLCAxOS4gU2VwIDE5OTUsIDA4OjEzOjQ5KToKIyEgcm49RmVscyBydD04MTE0MDM5NzgKRmVscywgZGllIE1lbGR1bmcgZ2lidCBlcyBkb2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc2VoZXJpbmZsYXRpb24gKFlhbnRybywgMTkuIFNlcCAxOTk1LCAwODozNzowNSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODExNDg1ODI1CgpJY2gga2VubmUgZGEgZWluZW4gU3BpZWxlciwgZGVyIHVlYmVyIDUoISkgU2VoZXIgaGF0IHVuZCBkdXJjaCBkYXMgTG9lc2NoZW4Kdm9uIGRlbiBtZWlzdGVuIGVpbiBiaXNzY2hlbiBhbiBkZXIgRkx1dCBhZW5kZXJuIGtvZW5udGUsIGRpZSBiZWkgJ2t3ZXIgc2VoZXInCmR1cmNoIGRlbiBzY2hpcm0gc2Nyb2xsdCA7LSkgQWJlciBtYWwgaW0gZXJuc3QuIFdpZSBCb2luZyBzY2hvbiBvZnQgZ2VudWcKZ2VzYWd0IGhhdCBpc3QgZGVyIFNlaGVybGV2ZWwgZWluZSBBcnQgQWx0ZXJzc2l0eiwgUnVoZXBvbHN0ZXIgZnVlcgplcmZvbGdyZWljaGUgU3BpZWxlci4gRGFzIHZpZWxlIFF1ZXN0cyBkdXJjaCBTY3JpcHRzIHp1IGxvZXNlbiBzaW5kIG9kZXIgZHVyY2gKS0wsIGRhc3MgbXVlc3N0ZSBtYW4gZWlnZW5saWNoIG5pY2h0IGRlbiBTcGllbGVybiwgc29uZGVybiBkZW0gamV3ZWlsaWdlbgpQcm9nZ2VyIChNYWdpZXIpIHZvcndlcmZlbiwgZGVubiBERVIgaGF0IGRpZSBtb2VnbGljaGtlaXRlbiwgZGFzIHp1IGFlbmRlcm4KKHdvYmVpIGVzIHNpY2hlcmxpY2ggaW1tZXIgZWluZW4gV2VnIGdpYnQsIGFsbGVzIG1vZWdsaWNoZSB6dSB0cmlnZ2VybikuCgpXZW5uIGljaCBzbyBkaWUgU2VoZXJzY2hhZnQgYW5zY2hhdWUgdW5kIGJlb2JhY2h0ZSwgZGFubiB3aXJkIG1pciBtYW5jaG1hbAplaW5mYWNoIG51ciBzY2hsZWNodC4gRGEgc2NoZWluZW4gU2VoZXIgaW1tZXIgbm9jaCBuaXggdm9uIGRlbiBCZWZlaGxlbiAndW50Jwp1bmQgJ2ZyYWcnIGJlaG9lcnQgenUgaGFiZW4gdW5kIGRhcyBpc3QgdHJhdXJpZy4KRXMgZ2lidCBlaWdlbnRsaWNoIG51ciBlaW5lIGtsZWluZSBIYW5kdm9sbCBTaXR1YXRpb25lbiBpbSBNVUQsIHdvIGRlcgpTcGllbGVyIGVjaHQgaW0gTUcgcnVta29tbXQ6IERhcyBpc3QgZGllIFBvc3RxdWVzdCB1bmQgZGFzIHdhciBhdWNoIFNpbHZhbmFzCkludGVuc2lvbiBiZWkgQ2hpbGFuYS4gRXMgaXN0IHNjaG9uIGVyc2NocmVja2VuZCwgd2VubiBiZWkgbWlyIGltIEhhdXMgZGVyCkZhcmJlbiBlaW4gU2VoZXIgZGVtIFdlaXNlbiBlaW5lIEx1cGluZSBicmluZ2VuIHNvbGwgdW5kIGRlciBTRUhFUiB3ZWlzcwpuaWNodCwgd28gZGFzIFRhbCBpc3QuIFNvIGdpYnQgZXMgdmllbGUgQmVpc3BpZWxlIGZ1ZXIgZGllICdCZXNjaHJhZW5rdGhlaXQnCmVpbmlnZXIgU2VoZXIuIERpZSBFaW56aWdlIEhvZmZudW5nLCBkaWUgaWNoIGhhYmUgaXN0LCBkYXNzIHNvbGNoZSBTZWhlciBuaWNodAphdWNoIG5vY2ggTWFnaWVyIHdlcmRlbiB3b2xsZW4sIGRlbm4gd2VubiBzaWUgc28gcHJvZ2dlbiwgd2llIHNpZSBzcGllbGVuLApkYW5uIGd1dGUgTmFjaHQgTUcuLi4KCllhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BpZWxlci9TZWhlciByYXRpbywgKExpLCAxOS4gU2VwIDE5OTUsIDA4OjM4OjM0KToKIyEgcm49S2V0b3MgcnQ9ODExNDU1MjkxClJMIE1pbmRlc3RhbHRlcj8gSG1tLCBuaWNodHMgZnVlciB1bmd1dCBLZXRvcywgYWJlciBtZWluc3QgZHUgbmljaHQsIGRhc3MgZGFzCmV0d2FzIHdlaXQgZ2VodD8gV2FzIGRpZXNlIGdhbnplIERpc2t1c3Npb24gYW5nZWh0OiBKZSBncm9lc3NlciBkYXMgTURVRCwKZGVzdG8gbWVociBTZWhlci4gSmVkZXIgbnV0enQgZGFzIE1VRCBhdWYgc2VpbmUgQXJ0LiBEZXIgRWluZSBtZXR6ZWx0IGdlcm5lLApkaWUgYW5kZXJlIFdpbGwgbW9lZ2xpY2hzdCBzY2huZWxsIFNlaGVyIHdlcmRlbi4gTmEgdW5kPyBKZWRlciBzb2xsIG5hY2gKc2VpbmVyIEZhc3NvbiBnbHVlY2tsaWNoIHdlcmRlbiBvZGVyIHdpZSB3YXIgZGFzPwpJY2ggaGFsdGUgYXVjaCBuaWNodHMgZGF2b24sIGRpZSBxdWVzdGVuIG5vY2ggc2Nod2llZXJpZ2VyIHp1IGdlc3RhbHRlbiwKZGFtaXQgbWFuIG5pY2h0IG1laHIgbWl0IGtvbXBsZXR0bG9lc3VuZ2VuIGR1cmNoIGtvbW10LiAoSGFiZSBzZWxiZXIgZWluZQpnZXNjaHJpZWJlbiwgZGllIG1pdCBTY3JpcHQgaW4gMiBtaW4genUgc3BpZWxlbiBpc3QpLiBEYSBzdGVja3QgendhciBBcmJlaXQKdm9uIG1laHJlcmVuIE1vbmF0ZW4gZHJpbiwgYWJlciBpY2ggZGVua2UgbWlyLCB3ZXIgbmljaHQgd2lsbCwgZGVyIGhhdCBzY2hvbi4KSWNoIGhhYmUgaW56d2lzY2hlbiB2aWVsZSBNYWlscyBiZWtvbW1lbiwgZGllIEJld2Vpc2VuLCBkYXNzIHZpZWxlIGF1Y2ggb2huZQpTY3JpcHRzIHVuZCBMb2VzdW5nZW4gYXJiZWl0ZW4sIHVuZCBmdWVyIGRpZXNlIExldXRlIGFyYmVpdGUgaWNoIGhhbHQgdW5kCnZlcnNjaHdlbmRlIG1laW5lIGtvc3RiYXJlIFplaXQgbmljaHQgYW5kZXJzd28uIEFiZXIgc29sbHRlIG1hbiBkZXNoYWxiCkxvZXN1bmdzc3BpZWxlciB2ZXJ1cnRlaWxlbj8KSWNoIGRlbmtlIG5pY2h0LihzLm8uKQpkaWUgSWRlZSwgZXJzdCBuYWNoIGVpbmVyIFBydWVmdW5nIGJlaSBlaW5lbSBNYWdpZXIgU2VoZXIgenUgd2VyZGVuIGZpbmRlIGljaApsdXN0aWcsIHVuZCBrb2VubnRlIGV0d2FzIG1laHIgIlJlYWxpc211cyIgaW5zIFNwaWVsIGJyaW5nZW4sIGFuZGVyZXJzZWl0cwpzZWhlIGljaCBmdWVyY2h0ZXJsaWNoZSBGbGFtZXdhcnMgdm9ycmF1cywgdWJlciB1bmdlcmVjaHRlIE1hZ2llciwKc2NodW1tZWxuZGVyIFNwaWVsZXIgdXN3LgpNZWluIFRpcCBhbiBkaWUgU2VoZXIsIGRpZSBuaWNodCBtaXQgTG9lc3VuZ2VuIFNlaGVyIGdld29yZGVuIHNpbmQ6IFNlaWQKc3RvbHogZHJhdWYsIGZyZXV0IEV1Y2ggZGVzIExlYmVucyB1bmQgZ2VuaWVzc3QgZGFzIFNlaGVyZGFzZWluLiBFcyB6d2luZ3QKZXVjaCBqYSBrZWluZXIsIG1pdCBkZW4gTG9lc3VuZ3MtU2VoZXJuIHp1c2FtbWVuenVhZXJiZWl0ZW4uIEFiZXIgU2VoZXIgaXN0ClNlaGVyLC4gdW5kIHNpZSBzaW5kIGdlbmF1c28gU2VoZXIgd2llIGFsbGUgYW5kZXJlbiBhdWNoLgpUamEsIHVuZCBiZXZvciBpY2ggYWxsZXMgd2lkZXJob2xlLCBob2VyZSBpY2ggaGllciBqZXR6dCBtYWwgYXVmLgoKTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVsZXIvU2VoZXIgcmF0aW8sIChSYWZmaSwgMTkuIFNlcCAxOTk1LCAxMjo0MjowMCk6CiMhIHJuPUphZiBydD04MTE0Njg3ODcKClJMIE1pbmRlc3RhbHRlciBpc3QgZGd1dCwgZGFubiBhYmVyIGJpdHRlIGF1Y2ggbWl0IE1VRCBNaW5kZXN0YWx0ZXIgenVzYW1tZW4KLQpzb25uc3QgZ2lidHMgYmxvcyB3aWVkZXIgZGllIGRpZSBpbiAyIFRhZ2VuIGR1cmNobGF1ZmVuLCB1bmQgZGFubiBkYXMKTWluZGVzdGFsdGVyIGVpbmZhY2ggZXJ3YXJ0ZW4gLSB3ZW5uIHNpZSBzY2hvbiB3YXJ0ZW4gZGFubiBkb2NoIGJpdHRlIGltIE1HOikKKEljaCBnbGF1YiBub2NoIGFuIGRhcyBndXRlIGltIE1lbnNjaGVuL1p3ZXJnL0VsZi4uLiB1bmQgZ2VoZSBkYXZvbiBhdXMgZGFzCmplbWFuZCBkZXIgZWluZ2Vsb2dndCBpc3QgYXVjaCAoYWIgdW5kIHp1IDopIHdhcyBtYWNodCkuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VnIGZ1ZXIgZWluIEphaHIgOi0oIChNaWV6ZSwgMTkuIFNlcCAxOTk1LCAxMjo1MDo0Mik6ClNvLCBJaHIgTGllYmVuLi4uaWNoIG1hY2ggbWljaCBkZW5uZSBtYWwgYXVmIG5hY2ggRnJhbmtyZWljaC4gRGllIFRyZW5udW5nCnZvbSBNdWQgd2lyZCBtaXIgd29obCBzZWhyIHNjaHdlciBmYWxsZW4uLi5udWV0enQgYWJlciBhbGxlcyBuaXghIEFsc28gd2VubgpJaHIgbWlyIG1hbCBzY2hyZWliZW4gd29sbHQsIGdlYmUgaWNoIG1hbCBtZWluZSBIb21lLUFkcmVzc2UgYmVrYW5udCwgd2VpbCBpY2gKZGllIHZvbiBDYWVuIG5vY2ggbmljaHQgaGFiLi4uLmxhc3N0IG1pY2ggZGEgbmljaHQgYWxsZWluZSBoYWVuZ2VuIHVuZApzY2hyZWlidCBtYWwhISEgSWNoIGZyZXUgbWljaCBhdWYgRXVyZSBQb3N0LgpMQVNTVCBNSUNIIEJJVFRFIE5JQ0hUIElNIFNUSUNIIEJFSSBGVUNLLUNISVJBQyEhISEKRXVyZSBrbGVpbmUgS2FtcGZrYXR6ZSBNaWV6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyL1NlaGVyIHJhdGlvIChZZW5kaSwgMTkuIFNlcCAxOTk1LCAxMjo1MjowOSk6CiMhIHJuPUVkIHJ0PTgxMTQ0NzIwNgoKRWQsIGVzIHNpbmQgbmljaHQgd2VuaWcgU3BpZWxlciBlaW5nZWxvZ2d0IC0tIGVzIGlzdCB2aWVsbWVociBzbywgZGFzcyBkaWUKSGFlbGZ0ZSBkZXIgU3BpZWxlciBtaXR0bGVyd2VpbGUgU2VoZXIgc2luZC4uLiBlaW5mYWNoIHNvLgpEYSBzdGltbWVuIGRhbm4gZGllIFJlbGF0aW9uZW4gbmljaHQgbWVoci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWxic3RiZXNjaHJhZW5rdW5nPyEgKERhdWVyZ2FzdCwgMTkuIFNlcCAxOTk1LCAxMjo1MjoyOSk6CihSZXBseSBhdWYgLi4ud2FzIHdlaXNzIGRlbm4gaWNoLCB3aWUgYWxsZXMgYW5maW5nISkKCkhpIQpBbHMgREFVRVItR0FTVCBtb2VjaHRlIGljaCBkZW5uIGRvY2ggYXVjaCBtYWwgbWVpbmVuIFNlbmYgaW4Kc2NocmlmdGxpY2hlciBGb3JtIGxvc3dlcmRlbiwgZGFtaXQgbWljaCBqZWRlciBmbGFtZW4ga2FubjoKCkRhcyBQcm9ibGVtIGlzdCBkb2NoIGRpZSByYXBpZGUgc3RlaWdlbmRlIFphaGwgdm9uIFNwaWVsZXJuIHVuZCBTZWhlcm4KaW0gTUcuIEFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBtYW4gbWl0IGtlaW5lciByZXN0cmlrdGl2ZW4gQmVzY2hyYWVua3VuZwpncm9zc2UgQ2hhbmNlbiBoYWJlbiB3aXJkLCBkaWUgU2VoZXJmbHV0IGVpbnp1ZGFlbW1lbiAod2VyIHdpbGwsIHNjaGFmZnQKZXMgaW1tZXIgSVJHRU5EV0lFISksIHNvbGx0ZW4gc2ljaCBhdWNoIG1hbCBkaWUgU2VoZXIsIGRpZSBzbwpnZXJuIGVpbmUgRWxpdGUgd2FlcmVuLCBldHdhcyB1ZWJlcmxlZ2VuOgpJc3QgZXMgZGVubiB1bmJlZGluZ3Qgbm9ldGlnLCBlaW5lIFNjaGFyIHZvbiBad2VpdC1TZWhlcm4gaGVydm9yenVicmluZ2VuLAplaW5lIEhhbmR2b2xsIFRyYWVnZXIgdW5kIG5vY2ggZWluaWdlIGJhbmstWndlaXRpZXMgenUgaGFiZW4/CkljaCBkZW5rZSwgd2VubiBzaWNoIGplZGVyIFNwaWVsZXIgYXVmIGVpbmVuIGFscyBzb2xjaGVuIGdla2VubnplaWNobmV0ZW4KWndlaXRpZSBiZXNjaHJhZW5rZW4Kd3VlcmRlLCB3YWVyZSBzY2hvbiBlaW5pZ2VzIGdld29ubmVuIQoKSmEsIGljaCB3ZWlzcywgYXVjaCBuaWNodCB1ZWJlcnBydWVmLSB1bmQgdm9uIG9iZW4gZHVyY2hzZXR6YmFyIQpBYmVyIGhvZmZlbnRsaWNoIGVpbiBHZWRhbmtlbmFuc3Rvc3MgYW4gYWxsZSwgZGllIGRhcyBNRyBpbiBzZWluZXIKamV0emlnZW4gRm9ybSBtb2VnZW4hCgpEYXVlcmdhc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFkcmVzc2UgdmVyZ2Vzc2VuIDstKSkgKE1pZXplLCAxOS4gU2VwIDE5OTUsIDEyOjU0OjEzKToKc28gaW4gYWxsZXIgRWlsZSBoYWIgaWNoIGRvY2ggZ2xhdHQgbWVpbmUgQWRyZXNzZSB2ZXJnZXNzZW4uLi4uYWxzbyBuZW5lbmUKTW9uaWthIE9sc2NoZXdza2ksIFppb2xrb3dza2lzdHJhc3NlIDQsIDM5MTI2IE1hZ2RlYnVyZwooZGFzIGxpZWd0IGluIGRlciBab25lOy0pKQpEaWUga2xlaW5lIEthbXBma2F0emUgTWllemUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKFJhZmZpLCAxOS4gU2VwIDE5OTUsIDEzOjExOjM3KToKIyEgcm49RGF1ZXJnYXN0IHJ0PTgxMTUwNzk0OQoKSmEsIGRpZXNlIFp3ZWl0aWVzIHNpbmQgZWluIGVjaHRlcyBQcm9ibGVtLiBJY2ggaGFiZSB6d2FyIGluendpc2NoZW4KZWluIHZvbGxlcyB2ZXJzdGFlbmRuaXNzIGZ1ZXIgYmFua3p3ZWl0aWVzIGVudHdpY2tlbHQgKGJlaW0gbGV0enRlbiBSZWJvb3QKc2Nob24gd2llZGVybWFsIHZpZWxlIFRhdXNlbmQgbXVlbnplbiBpbiBlaW5lbSBCZXV0ZWwgZ2VoYWJ0IDotKCgKZGllIElkZWUgZGVyIE1hcmtpZXJ1bmcgZGVyIFp3ZWl0aWVzIGlzdCBqYSBudXIgZnVlciBkZW4gdWViZXJibGljay4gV2FzIG1pY2gKYWJlciBzZWhyIHZlcnd1bmRlcnQgaXN0IGRhcyBlcyB0YXRzYWVjaGxpY2ggU0VIRVItendlaXRpZXMgZ2lidApzYWcgZGFzIGlzdCBkb2NoIHdvaGwgdWViZXJ0cmllYmVuLiBFaW5lbSAydGllIHNvbGx0ZSBtLkUuIGRlciBTZWhlcnN0YXR1cwp2b3JlbnRoYWx0ZW4KYmxlaWJlbi4gVmllbGVpY2h0IHNvbGx0ZSBtYW4gdGF0c2FlY2hsaWNoIHVlYmVyIGRlbiBzZWhlciBub2NoIGVpbmVuIERpcGwuClNlaGVyIG9kZXIKRHIuU2VoZXIgZWluZnVlaHJlbiwgZGVyICh3aWUgYmVyZWl0cyB2b3JnZXNjaGxhZ2VuKSBkdXJjaCBlaW5lbgpNdWxpdGlwbGUtTm8tQ29pY2UtVGVzdCBnZXBydWVmdCB3aXJkLiBkaWVzZXIgVGVzdCBrYW5uIGphIGR1cmNoYXVzCih0ZWlsd2Vpc2UpIGluIGZvcm0gZWluZXIgcXVlc3RlIHdpZSBkZXIgUG9zdHF1ZXN0KSBzdGFkdGZpbmRlbi4gSWNoIHd1ZXJkZQp2b3JzY2hsYWdlbiBkYXMgZWluZSBzYW1tbHVuZyB2b24gRnJhZ2VuIGVyYXJiZWl0ZXQgd2lyZCAoenUgYW5mYW5nIGNhCjUwLTEwMCkKdm9uIGRlbmVuIHBlciBadWZhbGxzZ2VuZXJhdG9yIDIwIGZ1ZXIgZGVuIEthbmRpZGF0ZW4gYXVzZ2V3YWVobHQgd2VyZGVuLgpkaWUgTGlzdGUgZGVyIG1vZWdsaWNoZW4gRnJhZ2VuIGthbm4gamEgbmFjaCB1bmQgbmFjaCBtaXQgZGVtIFdhY2hzZW4gZGVzIE1VZAplcndlaXRlcnQgd2VyZGVuLiBEaWVzIGlzdCB3aWNodGlnIGRhIGVzIGphIGdlcmFkZSB1bSBkYXMgd2lzc2VuIHVlYmVyIGRpZQpuZXVlbiBnZWJpZXRlIGdlaHQuIERhbWl0IGlzdCBlaW4gc2NyaXB0bWFlc3NpZ2VzIGJlYW50d29ydGVuIGF1Y2ggbnVyIHNjaHdlcgptYWNoYmFyLCBkYSBpbW1lciBuZXVlIGZyYWdlbiBrb21tZW4gKHNjcmlwdG1hZXNzaWcgPSBiZWFudHdvcnRlbiBuYWNoCnZvcmdlZ2ViZW5lciBMaXN0ZS4gd2llIGdlc2FndCB2aWVsZWljaHQgZGFzIGdhbnplIHZlcmJ1bmRlbiBtaXQgZWluZXIKU2VoZXItUG9zdC1RdWVzdGUuIGRhcyBlcmdlYm5pc3MgaXN0IGRhbm4gZWluIERpcGwuIFNlaGVyIGRlciBzaWNoIGRhZHVyY2gKd2llZGVyIGFscyAiYmVzc2VyIGF1c2dlYmlsZGV0IiBhdXN3ZWlzdCAob2ssIGljaCB3ZWlzcyBkYXMgaXN0IG51ciBlaW5lCnNjaHdhY2hlIFZlcmJlc3NlcnVuZywgc29sbHRlIGFiZXIgYWxzIEFuc3Bvcm4gaGVsZmVuKS4gIGRlciBTZWhlciBrb2VubnRlIGphCmFsbGUgKHouQi4pIDMgU3R1ZmVuIGRpZXNlbiBUZXN0IHdpZWRlcmhvbGVuIHVuZCBkYWZ1ZXIgZWluZW4gd2l0ZXJlbgoiYWthZGVtaXNjaGVuIFRpdGVsIiBiZWtvbW1lbiAoei5CLiBEci4sIERyLkRyLiwgUHJvZiwgZXRjLikuCgpPaywgenVnZWdlYmVuIGRhcyBrYW5uIG1hbiBqZXR6dCBiZWxpZWJpZyBhdXNzcGlubmVuIGRpZXNlIGVyc3RlIChEaXBsLikKU3R1ZmUgaGFsdGUgaWNoIGplZG9jaCBmdWVyIHdpcmtsaWNoIHNpbnZvbGwuCgpHcnVzcwpILgoKKHNjaG9uIHdpZWRlciBlaW4gbnVyIHNvIHZvbiBmRWxoZXJuIHN0cm90emVuZGVyIEFydGlrZWwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoRGF1ZXJnYXN0LCAxOS4gU2VwIDE5OTUsIDEzOjE3OjMzKToKIyEgcm49UmFmZmkgcnQ9ODExNTA5MDk3ClRqYSwgUmFmZmksIG1hbCAnbmUgaW5kaXNrcmV0ZSB1bmQgcHJvdm9rYW50ZSBGcmFnZToKCldhcyBoYXN0ZSBkZW5uIGRhbm4gbWl0IGRlbSAnZ2FuemVuIEJldXRlbCB2b2xsIE11ZW56ZW4nIGVpZ2VudGxpY2ggZ2VtYWNodD8KVHV0IGRvY2gga2F1bSBqZW1hbmRlbSB3ZWgsIGRhcyB1ZWJlcmZsdWVzc2lnZSBnZWxkIHZpYSBSb2JpbiBpbnMgTVVECnp1cnVlY2tmbGllc3NlbiB6dSBsYXNzZW4gLi4uIHdlbm4gbWFuIGVzIGVoIG5pY2h0IGJyYXVjaHQhCgpEYXVlcmdhc3QKKGhhdCBhdXNzZXIgbmVyIE1hdXMga2VpbmUgd2VsdGxpY2hlbiBCZXNpdHp0dWVtZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEN1Y2h1bGxpbiwgMTkuIFNlcCAxOTk1LCAxMzo0OTozMSk6CiMhIHJuPURhdWVyZ2FzdCBydD04MTE1MDk0NTMKCmEpIFlhbnRybzogRGFzIE11ZCBpc3QgaW56d2lzY2hlbiBzbyBncm9zcywgZGFzcyBtYW4gbmljaHRtYWwgdm9uIG5lbQogICBBbHRzZWhlciB2ZXJsYW5nZW4gZGFyZiwgYWxsZXMgenUga2VubmVuLiBFcyBnaWJ0IGVpbmlnZSwgZGllIGJlbXVlaGVuCiAgIHNpY2gsIHp1bWluZGVzdCB1ZWJlcmFsbCBlaW5tYWwgZ2V3ZXNlbiB6dSBzZWluLCBnZ2YuIGF1Y2ggZGFzIEFyZWFsCiAgIHVtZ2VrcmVtcGVsdCB6dSBoYWJlbiAodW5kIDEwOTMgQnVnL1R5cG8vSWRlZS1NZWxkdW5nZW4gYWJnZXNldHp0IHp1CiAgIGhhYmVuKSwgYWJlciBfZXJ3YXJ0ZW5fIGRhcmYgbWFuIGRhcyBiZWkgZWluZW0gTXVkIGRlciBHcm9lc3NlIE1vcmdlbi0KICAgR3JhdWVucyBuaWNodCBtZWhyLgpiKSBSYWZmaTogRGVuIFp3ZWl0Y2hhcmFrdGVyZW4gZGVuIFNlaGVyc3RhdHVzIHZvcmVudGhhbHRlbj8gR3V0LCBkYW5uIGhhYgogICBpY2ggbnVyIG5vY2ggRXJzdGllcywgYnJhdiB2b24gamVkZW0gQWNjb3VudCAoZGllIGJla29tbXQgbWFuIGphIG5hY2gtCiAgIGdlc2NobWlzc2VuKSBlaW5lbi4KYykgVmllbGxlaWNodCBoZWlsdCBkaWUgWmVpdCBhbGxlIFd1bmRlbi4gV2VubiBkaWUgQWx0c2VoZXIgd2VnIHNpbmQgLQogICBTdHVkaXVtIGJlZW5kZXQsIEFyYmVpdHNwbGF0eiBnZXdlY2hzZWx0LCBnYXIgTUFHSUVSIGdld29yZGVuIC0gZGFubgogICB3aXJkIHNpY2ggdmllbGxlaWNodCBpcmdlbmR3YW5uIHdpZWRlciBlaW4gJ2hhcnRlciBLZXJuJyBiaWxkZW4sIGVpbmUKICAgZ2V3aXNzZSBHcnVwcGUgKEdydXBwZSwgd2VpbCBzaWUgZXR3YXMgZ2VtZWluc2FtIGhhYmVuLCBuaWNodCB3ZWlsIHNpZQogICBzaWNoIHp1ciBFbGl0ZSB2ZXJidWVuZGV0ZW4pIFNlaGVyIHdpZWRlciBkaWUgbm9ldGlnZW4gRmFlaGlna2VpdGVuCiAgIGJlc2l0emVuLCBzZWxic3QgZGllIEdlaGVpbW5pc3NlIGRlcyBNb3JnZW5HcmF1ZW5zIGF1Znp1ZGVja2VuLgoKTWlzdCwgd2FydW0gd2VyZGVuIHNvbGNoZSBBcnRpa2VsIGltbWVyIHNvIHdvcnRyZWljaD8KVW0gVmVyemVpaHVuZyBiaXR0ZW5kLApDdWNoLi0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGllbGVyL1NlaGVyIHJhdGlvIChIYXJkaWwsIDE5LiBTZXAgMTk5NSwgMTQ6MjU6NDgpOgojISBybj1TdXNoaSBydD04MTE0NDUyOTkKCj5hYmVyIHdlbm4gZGllIE1pbnV0ZSAxLDE1IGtvc3RldCBrb21tdCBlaW5lIEtMIGZ1ZXIgZGVuCk5vdGZhbGwgZG9jaCByZWNodCBnZWxlZ2VuLgpUdXQgbWlyIGxlaWQsIGVpbiB3aWNodGlnZXIgQW50ZWlsIGFtIFF1ZXN0ZW4gaXN0IGRvY2ggZGFzIEhlcnVtdHVlZnRlbG4gYW4KU3ludGF4ZW4sIGRpZSBhYmFydGlnIHNpbmQuIERhcyBGbHVjaGVuLiBEaWUgS29udGFrdGF1Zm5haG1lIG1pdCBhbmRlcmVuClNQaWVsZXJuLCBkaWUgdmllbGxlaWNodCBoZWxmZW4ga29lbm5lbi4KV2VyIEtvbXBvbGV0dGxvZXN1bmdlbiBzcGllbGVuIHdpbGwsIGRlciBicmF1Y2h0IGtlaW4gTXVkIGRhenUuIERlciBicmF1Y2h0Cm5pY2h0IG9ubGluZSBnZWhlbi4gRGVyIGthbm4gZGFzIGF1Y2ggZGFoZWltIGFuIHNlaW5lbSBQQyBvaG5lIE1vZGVtIHVuZCBvaG5lClRlbGVmb25rb3N0ZW4gbWFjaGVuLCBicmF1Y2h0IHNpY2ggdWViZXIga2VpbiBMYWcgenUgYWVyZ2VybiB1bmQgbml4LgpGdWVyIEtvbXBsZXR0bG9lc3VuZ2VuIGJyYXVjaHQgbWFuIGtlaW5lIE1pdHNwaWVsZXIsIGF1c3NlciBkZW1qZW5pZ2VuLCBkZXIKc2llIGVpbmVtIGdpYnQuIEFsc28gaXN0IGVpbiBNVUQgZnVlciBLb21wbGV0dGxvZXN1bmdzc3BpZWxlciBlaW5mYWNoIGRpZQpmYWxzY2hlIEF1c3dhaGwuCk5hdHVlcmxpY2ggaGF0IGVzIGltbWVyIHNjaG9uIFpULUxpc3RlbiBnZWdlYmVuLiBBYmVyIGVyc3QgaW4gZGVyIGxldHp0ZW4KWmVpdCBzaW5kIGRpZSBzb29vbyBhdXNnZWZlaWx0LCBkYXNzIG1hbiBuY2lodHMgbWVociBkYWJlaSBmYWxzY2ggbWFjaGVuIGthbm4uCk1pY2ggd3VuZGVydCBudXIsIGRhc3Mgbm9jaCBrZWluZXIgZGVyIHRmLWxlciBlaW4gU2NyaXB0IGVyYXJiZWl0ZXQgaGF0LCBtaXQKZGVtIG5ldWdlc2NoYWZmZW5lCkNoYXJha3RlcmUgZXJzdG1hbCAxMDAgWlQtUGxhZXR6ZSBhYmxhdWZlbi4uLiA6KApXZW5uIGlociBtaWNoIGZyYWd0IC0gdmVyYmFubnQgQUxMRSBTY3JpcHRzLCBhbGxlIFp3ZWl0aWVzLCB1bmQgaGFidCB3aWVkZXIKU3Bhc3MgYW0gbXVkZGVuLgoKLUhhcmRpbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoUmFmZmksIDE5LiBTZXAgMTk5NSwgMTQ6MzA6MzYpOgojISBybj1DdWNodWxsaW4gcnQ9ODExNTExMzcxCgpEYXVlcmdhc3QsIER1IGdsYXVic3QgZ2FybmljaHQgd2FzIGRhIHNvIGFuIE11ZW56ZW4gZHJhdWZnZWh0Cndlbm4gbWFuIGVpbmUgS29tcGxldHRsaXN0ZSBhbGxlciBXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4gdW5kCmRlcmVuIEVpbnN0dWZ1bmdlbiBtYWNoZW4gd2lsbCBkZXIgU2NobWllZCB3aWxsIG51bm1hbCBzZWluZQo1MDAgTXVlbnplbiBqZWRlbiBWZXJnbGVpY2ggdW5kIGVzIHNpbmQgbnVubWFsIHZpZWxlIG5vZXRpZyA6KQoKRGFzIG1hZ2lzY2hlIEF1Z2UgaXN0IGRlciAyLktvc3RlbmZha3Rvci4gSWNoIGJpbiB6dSBzY2h3YWNoIHVtCmVpbmVzIHNlbGJzdCB6dSBlcmthZW1wZmVuLiBXZW5uIG51biBrZWluIFNlaGVyIGJlcmVpdCBpc3QgbWlyCmVpbmVzIHp1IGJlc29yZ2VuLCBkYW5uIG11c3MgaWNoIGVzIGthdWZlbi4gMTUuMDAwIGluIFBWIG9kZXIKMjAuMDAwIGluIE1vbHVraW4gRGFzIGlzdCBuaWNodCBnZXJhZGUgYmlsbGlnLgoKRGVyIDMuIFB1bmt0IHNpbmQgZGFuIGRpZSBkaXZlcnNlbiBBdXNydWVzdHVuZ3NnZWdlbnN0YWVuZGUuIERhCm1hbiBuaWNodCBhbGxlcyBzbyBhdWYgZGVyIHN0cmFzc2UgZmluZGV0IGJsZWlidCBtaXIgbmljaHRzCmFuZGVyZXMgdWVicmlnIGFscyBhdWNoIG1hbCB3YXMgenUga2F1ZmVuLiBEYSBkZXIgZXJsb2VzIGJlaW0KYW5zY2hsaWVzc2VuZGVuIFZlcmthdWYgYWJlciBudXIgY2EuIDEvMyBiZXRyYWVndCBnZWh0IG5lIG1lbmdlCkdlbGQgZGFiZWkgZHJhdWYuIGRhaGVyIGJldGFldGlnZSBpY2ggbWljaCBhKSBhbHMgTHVtcGVuc2FtbWxlcgood29iZWkgaWNoIGFiZXIgRlJBR0Ugb2IgamVtYW5kIGRpZSBTYWNoZW4gbm9jaCBicmF1Y2gpIHVuZCBnZWhlCmIpIHNlbGJzdCBtZXR6ZWxuIHp1bSBnZWxkdmVyZGllbmVuIChkYXJhdWYgZ2VoZW4gZmFzdCBkaWUgaGFlbGZ0ZQptZWluZXIgdG9kZSBkaWUgR29ibGlucyBzaW5kIGVpbmZhY2ggbmljaHQgenUgdmVyYWNodHRlbiA6KQoKSWNoIHdpbGwga2VpbmUgTWFnaWVybGlzdGUgLSBtZWluIEVocmdlaXogaXN0IGVzIG1pdCBkZW4gU3BpZWxlci0KbWl0dGVsbiBlaW5lIChlaW5pZ2VybWFzc2VuKSBnZW5hdWUgTGlzdGUgYXVmenVzdGVsbGVuLiBJY2ggYmluCm5hdHVlcmxpY2ggYWxsZW4gc3BpZWxlcm4gZGFua2JhciBkaWUgbWlyIG1pdCBlaWdlbmVuIEJlb2JhY2h0dW5nZW4KdW5kIFZlcmdsZWljaGVuIGhlbGZlbiAocmtudWRkZWwgdWx1bGEpLgoKQ2h1Y2g6CkRhcyBpc3QgbWlyIGtsYXIsIHNvIGVpbmZhY2ggaXN0IGRhcyBuaWNodCAtIGljaCByZWNobmUKZGFtaXQgZGFzIGRpZSBMZXV0ZSBtaXRtYWNoZW4uIERhcyBpc3Qgd2llIG1pdCBkZW4gWndlaXRpZXM6CmVzIGxhdWZlbiBpbW1lciBub2NoIG1laHIgYWxzIGdlbnVnIDJ0aWVzIHJ1bSBkaWUgbmljaHQgYWxzCnNvbGNoZSBnZWtlbm56ZWljaG5ldCBzaW5kIG9id29obCBlcyBrZWluZSBOYWNodGVpbGUgZ2lidAotIEljaCBnbGF1YmUgZGFzIHNpY2ggZGllIFF1b3RlIG5pY2h0IGFlbmRlcm4gd2lyZC4KCkdydXNzCkguCihzY2hvbiB3aWVkZXIgc28gZWluIE1vbnN0ZXJ0ZXh0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEN1Y2h1bGxpbiwgMTkuIFNlcCAxOTk1LCAxNDozMjo0OSk6CiMhIHJuPVJhZmZpIHJ0PTgxMTUxMzgzNgoKRGllIExldXRlIHdlcmRlbiBOSUNIVCBtaXRtYWNoZW4uIEljaCBhdWNoIG5pY2h0LgpHbmFkZW5sb3Mgc3RhcnJoYWxzaWcgd2FzIGRhcyB6IGFuZ2VodCwKQ3VjaC4tClBTOiBFcyBnaWJ0IHVlYnJpZ2VucyBkZW4gZWluZW4gb2RlciBhbmRlcmVuIFNlaGVyLCBkZXIgZWluZSBXYWYvUnVlLUxpc3RlCiAgICBsYWVuZ2VyZXIgQXJ0IGluIEFyYmVpdCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKExpLCAxOS4gU2VwIDE5OTUsIDE0OjQ3OjE3KToKIyEgcm49UmFmZmkgcnQ9ODExNTEzODM2CkFlaCBSYWZmaSwgaWNoIHdlaXNzIGphIG5pY2h0IG9iIERpciBkYXMga2xhciBpc3Q6IFdlbm4gbWFuIFdhZmZlbiB1bmQKQXVzcnVlc3R1bmcgdm9uIFNlaGVybiBiZWtvbW10LCB3ZWlsIG1hbiBzaWUgc2VsYmVyIG5pY2h0IGJla29tbWVuIGthbm4sIGlzdApkYXMgWmV1ZyBlaWdlbnRsaWNoIHp1IGd1dCBmdWVyIGRlbiBTcGllbGVyLgpKYWphLCBpY2ggd2Vpc3MsIGljaCBiaW4gYXVjaCBzY2hvbiBmcnVlaCBtaXQgZWluZW0gQmx1dHNhdWdlcnNjaHdlcnQgZHVyY2gKZGllIEdlZ2VuZCBnZWxhdWZlbiwgd29sbHRlIGRhcyBqYSBhdWNoIG51ciBtYWwgc28gYW5tZXJrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaWhvISAoQmVuZGVpZ2lkLCAxOS4gU2VwIDE5OTUsIDE0OjU2OjEyKToKSHVwcHM/IGRhIGlzdCBkaWUgVWViZXJzY2hyaWZ0IGFiZXIgaW4gZGllIEhvc2UgZ2VnYW5nZW4sIG5hamEuLi4KQWxzbyBub2NobWFsOgogSGkKSWNoIHdvbGx0ZSBudXIgYXVjaCBtYWwgd2FzIHp1bSBUaGVtYSBTZWhlciBhYmdlYmVuOgpJY2ggZGVua2UgbmljaHQsIGRhc3MgbWFuIGRpZSBLb21wbGV0dGxvZXN1bmdlbiwgU2VoZXJ6d2VpdGllcyB1biBpbQpBbGxnZW1laW5lbiBkaWUgU2VoZXJmbHV0IHZlcmhpbmRlcm4ga2FubiwgYWJlciB3YXMgbWFuIGdhcmFudGllcnQgYWVuZGVybgprYW5uIGlzdCwgYXVmIGRlbiBFaW5zY2hsYWVnaWdlbiBLYW5hZWxlbiBnbGVpY2ggYmVpIGplZGVyIEFuZnJhZ2UgZGllIFN5bnRheApydWViZXJ6dXNjaGlja2VuLiBNYW4ga2FubiBhbnR3b3J0ZW4gYXVjaCBuZXR0IHZlcnBhY2tlbiwgb2huZSBnbGVpY2ggZGllCkV4YWt0ZSBMb2VzdW5nIHp1IHNjaHJlaWJlbi4gREFEVVJDSCBrcmllZ2VuIG5hZW1sY2loIGF1Y2ggYW5kZXJlIGxldXRlLCBkaWUKTklDSFQgaW4gZGVyIFF1ZXN0IHNpbmQsIHNvIHZpbGUgbWl0LCBkYXNzIHNpZSBhbiBkZW4gZW50c3ByZWNoZW5kZW4gIFN0ZWxsZW4KaW4gZGVyIFF1ZXN0IGdsZWljaCB3aXNzZW4sIHdhcyBsb3MgaXN0IHVuZCBzaWNoIG5pY2h0IG1laHIgdW1zY2hhdWVuLiBCaXR0ZXIKd2lyZHMsIHdlbm4gZGFubiB3YXMgZ2VhZW5kdGVyIHdpcmQuIEFuIEtvbXBsZXR0bG9lc3VuZ2VuIGFlbmRlcnQgZGFzCm5hdHVlcmxpY2ggbmljaHRzLCBkaWUgd2VyZGVuIGVybmV1ZXJ0LiB3aWUgb2VkZS4KIwpaJ3BhciBTZXJ2dSwKICAgICAgICAgICAgIEJlbmRlaWdpZCwgYXVjaCBld2lnIFNwaWVsZXIgZ2V3ZXNlbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoUmFmZmksIDE5LiBTZXAgMTk5NSwgMTQ6NTY6MjYpOgojISBybj1MaSBydD04MTE1MTQ4MzcKCgpMaToKd2VubiBkdSBnZW5hdSBnZWxlc2VuIGhhZXR0ZXN0IGRhbm4gaGFldGVzdCBkdQpnZXNlaGVuIGRhcyBpY2ggbWlyIGRhcyBBdWdlIGF1Y2gga2F1ZmUhCltzYXJrYXNzbXVzIG9mZl0KTmVlIGljaCBsYXVmZSBudXIgbWl0IFNhY2hlbiBydW0gZGllIGljaCBtaXIgYXVjaApzZWxic3QgZXJ3ZXJiZW4vZXJrYXVmZW4ga2Fubi4gQlNTIGhhYiBpY2ggYXVjaCBzY2hvbgpnZWhhYnQuIGFiZXIgaWNoIGJpbiAoZ2VuYXUgd2llIGZ1ZXJzIGVpc3NzY2h3ZXJ0KSBub2NoCm5pY2h0IGdlc2NoaWNrdCBnZW51Zy4gLUFiZXIgenVtIHVudGVyc3VjaGVuIGlzdCBkYXMKd2FzIGFuZGVyZXMKCkdydXNzCkguCihTdGFuZGFyZGF1c3J1ZXN0dW5nOiBPZmZpemllcnN1bmlmb3JtIHVuZCBwcmFlc2VudGllcnNhZWJlbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWhvISAoTGksIDE5LiBTZXAgMTk5NSwgMTU6MTQ6MzkpOgojISBybj1CZW5kZWlnaWQgcnQ9ODExNTE1MzcyCmd1dCBnZWJydWVsbHQsIEJlbmRlaSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2htYWwgenUgZGVuIFNlaGVybiAoTGV1c2VsLCAxOS4gU2VwIDE5OTUsIDE1OjI4OjExKToKSGkgZXJzdG1hbCAhCgpBbHNvIGljaCBnbGF1YmUgbmljaHQsIGRhc3MgbWFuIGR1cmNoIG1vbnN0cm9lc2UgRXJob2VodW5nIGRlciBBbmZvcmRlcnVuZ2VuCmRhcyBWZXJoYWVsdG5pcyBTZWhlci9TcGllbGVyIGRydWVja2VuIGthbm4uIEljaCB2ZXJtdXRlIG5hZW1saWNoIHN0YXJrLApkYXNzIGVyaG9laHRlIEFuZm9yZGVydW5nZW4gZWhlciBkYXp1IGZ1ZWhyZW4sIGRhc3MgTmV1ZWluc3RlaWdlciBzb2ZvcnQKYWJnZXNjaHJlY2t0IHdlcmRlbiB1bmQgaGllciBlcnN0IGdhciBuaWNodCB3ZWl0ZXJzcGllbGVuLiBXYXMgbWFuIGFiZXIKdS5VLiBtYWNoZW4ga29lbm50ZSwgd2FlcmUgZWluZSBTdHVmZSBub2NoIHVlYmVyIGRlbiBub3JtYWxlbiBTZWhlcm4KZWluenVmdWVocmVuLCBkaWUgZGFubiBkaWUgZ2FuemVuIGdlZm9yZGVydGVuIEJlZGluZ3VuZ2VuIGVyZnVlbGxlbiBtdWVzc2VuCihkLmguIGplZGVzIFNhbmRrb3JuIGltIE1HIG1pdCBOYW1lbiBrZW5uZW4gdXN3LikuIERlbm4gZGllIEVyaG9laHVuZyBkZXIKQW5mb3JkZXJ1bmdlbiBmdWVyIFNlaGVyIHRyaWZmdCBkb2NoIGdlcmFkZSBkaWUgU3BpZWxlciwgZGllIE5JQ0hUIG1pdApTY3JpcHRzIHVuZCBLb21wbGV0dGxvZXN1bmdlbiBzcGllbGVuLgoKTGV1c2VsIChoYXQgZGFzIGFsbGVzIEdvdHQgc2VpIERhbmsgc2Nob24gaGludGVyIHNpY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoSmFmLCAxOS4gU2VwIDE5OTUsIDE3OjAwOjEyKToKIyEgcm49UmFmZmkgcnQ9ODExNTA5MDk3CgpBZWhtLCBrZWluIFNlaGVyc3RhdHVzIGZ1ZXIgWndlaXRpZXMgaXN0IGFsYmVybi4gTWVpbiBDaGVmIGhhdCBuYWVtbGljaApkaWUgZHVtbWUgQW5nZXdvaG5oZWl0LCBpbiBkZW4gdW5tb2VnbGljaHN0ZW4gRWNrZW4gaW4gQmVkcmFlbmduaXMgenUKZ2VyYXRlbiwgdW5kIHdlbm4gZGFzIHBsb2V0emxpY2ggaW4gRmVybndlc3Qgb2RlciBnYXIgaW4gZGVyIFBhcmFsbGVsd2VsdAppc3QsIGhhdCBtYW4gZWNodCBzY2hsZWNodGUgS2FydGVuIGFscyBoaWxmc2JlcmVpdGVyIFp3ZWl0aWUgOikKCkJhbmt6d2VpdGllcyBmaW5kIGljaCBhbGxlcmRpbmdzIGF1Y2ggYmVrbmFja3QuIERhbm4gbWFjaHQgZG9jaApkaWUgVHJ1aGUgJ3JlYm9vdGZlc3QnIHdhcyBHZWxkIGJldHJpZmZ0Li4uIGRlciBFZmZla3QgaXN0IGRvY2ggZGVyCnNlbGJlLCBudXIgZGFzcyBlYmVuIHdlbmlnZXIgJ3Npbm5sb3NlJyBuLXRpZXMgcnVtbGF1ZmVuLgoKSmFmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXJxdWl6IChOaXhpaG91LCAxOS4gU2VwIDE5OTUsIDE3OjQwOjIzKToKaGksCmFsc28gaWNoIGhhZXR0ZSBkYSBhdWNoIG5vY2ggZGVuIGVpbiBvZGVyIGFuZGVyZW4gU2VuZiBkYXp1enVnZWJlbiEKd2VubiBlcyBlaW5lIGFydCBzZWhlcnF1aXogZ2ViZW4gd2lyZCAob2IgbnVuIGZ1ZXIgc2VoZXIsIG9kZXIgZnVlciBlaW5lCnN0dWZlIHVlYmVyIGRlbiBzZWhlcm4pIHNvIHNvbGx0ZSBkaWVzZXIgcXVpeiBvZWZ0ZXJzIHdpZWRlcmhvaGx0IHdlcmRlbiwKc3BlemllbGwgZGFubiwgd2VubiBuZXVlIHJlZ2lvbmVuIGFuZ2VzY2hsb3NzZW4gd2VyZGVuIG9kZXIgbmV1ZSBnZWJpZXRlIGluCmFsdGVuIHJlZ2lvbmVuLiBiZWkgbmljaHRiZXN0ZWhlbiBkZXMgcXVpeiBiZWtvbW10IG1hbiBkZW4gdGl0ZWwgc2VoZXIgb2Rlcgp3ZWlzZXIgb2RlciB3YXMgYXVjaCBpbW1lciBlYmVuIHdpZWRlciBhYmVya2FubnQhCmRlbm4gZWluIGVpbm1hbGlnZXIgdGVzdCBpc3QgbWVpbmVzZXJhY2h0ZW5zIHdpZWRlciBudXIgZWluZSBhbmZvcmRlcnVuZyBkaWUKZWlubWFsIGVyZnVlbGx0IHdpcmQsIHVuZCB3b3JhdWYgbWFuIHNpY2ggZGFubiBmdWVyIGltbWVyIGF1c3J1aGVuIGthbm4uCndpcmQgbWFuIGFiZXIgb2VmdGVycyBtYWwgd2llZGVyIGF1ZmdlZm9yZGVydCBzaWNoIGVpbmVtIHNvbGNoZW4gcXVpeiB6dQp1bnRlcnppZWhlbiBzbyBpc3QgbWFuIGdlend1bmdlbiBkYXMgbXVkIHdlaXRlciB6dSBlcmZvcnNjaGVuLCBvZGVyIGViZW4gYXVmCmRlbiBzY2hvZW5lbiBuZXVlbiB0aXRlbCB6dSB2ZXJ6aWNodGVuLgooZGllc2VyIHRpdGVsIHNvbGx0ZSB1ZWJyaWdlbnMgdW5hYmhhZW5naWcgdm9uIGRlbiBzb25zdGlnZW4gc3R1ZmVuIHNlaW4uCm51ciBzZWhlciBzb2xsdGUgbWFuIHNjaG9uIHNlaW4pCgpvayBzZW5mIG9mZiwgdmllbGxlaWNodCBpc3QgZGllc2UgaWRlZSBqYSBhdWNoIGdhciBuaWNodCBzbyBndXQKCm5peGlob3UKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJxdWl6IChQZXJsZSwgMTkuIFNlcCAxOTk1LCAxODoxOTo0NSk6CiMhIHJuPU5peGlob3UgcnQ9ODExNTI1MjIzCkluIERlaW5lbSBBcnRpa2VsIGhhc3QgRHUgZWluZW4gR2VkYW5rZW4gZ2VicmFjaHQsIGRlciBtaXIgYmlzaGVyIGluIGRlcgpEaXNrdXNzaW9uIHVtIGRpZSBTZWhlcmZsdXQgbm9jaCBuaWNodCBiZWdlZ25ldCBpc3QuCkltIEFuc2NobHVzcyBhbiBEZWluZSBRdWl6YW5yZWd1bmcgaGFzdCBldHdhcyB2b24gIlRpdGVsIHdpZWRlciBhYmVya2VubmVuCmdlc2FndCIsIGljaCB3dWVyZGUgZGFzIHNvZ2FyIHdlaXRlcmZhc3NlbiB1bmQgZnJhZ2VuIHdpZSBzbyBrYW5uIG1hbiBkYXMKZ2FuemUgU3R1ZmVuc3lzdGVtIG5pY2h0IGR5bmFtaXNjaCBnZXN0YWx0ZW4gdW5kIGViZW4gbmljaHQgbnVyIGF1ZnN0ZWlnZW4Kc29uZGVybiBhdWNoIGVpbiBMZXZlbCB3aWVkZXIKdmVybGllcmVuLiBJY2ggZ2ViIHp1IGRlciBHZWRhbmtlIGlzdCB1bmdld29laG5saWNoIHVuZCBydWZ0IG1pdCBTaWNoZXJoZWl0CmVyc3QgbWFsIFN0b2VobmVuIHVuZCBHZXNjaHJlaSBoZXJ2b3IuIEluIFJMIGZpbmRldCBzaWNoIHNvbGNoIGVpbiBHZWRhbmtlIGluCkZvcm0gZGVyIFRlbm5pcy1SYW5nbGlzdGUgei5CLiB3aWVkZXIuIFdlbm4gRHUgZG9ydCBuaXggdHVzdCAoc3ByaWNoIG5pY2h0CmVyZm9sZ3JlaWNoIGJpc3QpIGZhZWxsc3QKRHUgenVydWVjay4gTmVobXQgbWlyIGpldHp0IG5pY2h0IGRpZSBUZW5uaXMtUmFuZ2xpc3RlIHdvZXJ0bGljaCB1bmQgc2FndCBkYXMKaXN0IG5pY2h0IHp1IHZlcmdsZWljaGVuLCBtaXIgZ2VodCBlcyBkYSBibG9zcyB1bSBkYXMgUHJpbnppcC4KRXJmb2xnIGltIE1VRCBtdWVzc3RlIG5hdHVlcmxpY2ggZWluZSBBcnQgIldpc3NlbiB1bmQgS2VubnRuaXMgZGVzIE1HIiBzZWluLgpXaWUgZGFzIGdlbmF1IGF1c3p1Z2VzdGFsdGVuIHdhZXJlIGlzdCB6dSB1ZWJlcmxlZ2VuLiBBYmVyIGljaCBiaW4gc2ljaGVyLAp3ZW5uIGRlciBHZWRhbmtlIGVyc3QgbWFsIGdlbnVlZ2VuZCBBbmhhZW5nZXJJbm5lbiBnZWZ1bmRlbiBoYXQgc2luZCBkZXIKUGhhbnRhc2llIGtlaW5lIEdyZW56ZW4KZ2VzZXR6dC4gV2VubiBkZXIgR2VkYW5rZSBzY2hvbiB2b3IgbGFlbmdlcmVyIFplaXQgbWFsIGRpc2t1dGllcnQgdW5kCnZlcndvcmZlbiB3dXJkZSwgdmVyZ2Vzc3QgaWhuLCBpY2gga2FubiBqYSBhdWNoIG5pY2h0IGFsbGVzIHdpc3Nlbi4KU28gdW5kIG51biBzY2hsYWd0IGxvcywgaWNoIGZyZXUgbWljaCEgU3RpY2h3b3J0OiBEeW5hbWlzY2hlcyBTdHVmZW5zeXN0ZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcnF1aXogKEJlbmRlaWdpZCwgMTkuIFNlcCAxOTk1LCAxODoyOToxNCk6CiMhIHJuPU5peGlob3UgcnQ9ODExNTI1MjIzCkhpLgpOb2NobWFsIG1laW4gU2VuZiBkYXp1OgpJY2ggaGFsdGUgc29sY2ggZWluIFF1aXogZnVlciB6aWVtbGljaCBibG9lZHNpbm5pZyB1bmQgdWViZXJmbHVlc3NpZy4gRmFuZ2VuCndpciBtYWwgZ2FueiB2b3JuZSBhbjoKV2FzIG1hY2h0IGRlbm4gU2VoZXIgenUgc293YXMgYmVzb25kZXJlbT8gRG9jaCB3b2hsIGRpZSBNb2VnbGljaGtlaXQsIGlocmUgSU4KdW5kIE9VVCBtZXNzYWdlIHNvd2llIFRpdGVsIHp1IHNldHplbi4gR2VuYXUgZGFzIGplZG9jaCBlcmhvZWh0IGRlbgpSb2xsZW5zcGllbGNoYXJha3RlciBkZXMgTVVELCBkZXIgc293aWVzbyBzY2hvbiBlaW4gd2VuaWcgbGVpZGV0LiBOaWNodCwgZGFzcwpkYXMgbWl0IGRlbiBUaXRlbG4gaWRlYWwgaXN0LCBkZW5uIGljaCBiaW4gZGVzIG9lZnRlcmVuIHZvbiBBdXRvcyBvZGVyIHNvCnVlYmVyZmFocmVuIHdvcmRlbi4uLiBEYWJlaSBpc3QgZGFzIGVpbiBtaXR0ZWxhbHRlcmxpY2hlcyBNRy4uIGVnYWwuIERhenUKa29tbXQgZGllIE1vZWdsaWNoa2VpdCwgYmVzdGltbXRlIHdhZmZlbiB6dSBudXR6ZW4sIGFiZXIgYW4gRElFIGtvbW10IG1hbiBlYmVuCm51ciwgd2VubiBuaWNodCBqZWRlciBzaWUgZnJlaXp1ZWdpZyBhbiBVbndpc3NlbmRlIHZlcnNjaGVua3QsIG9kZXIgbWFuIHNpY2gKZWJlbiBhdXNrZW5udC4gRGllIHdlaXRhdXMgaW50ZXJlc3NhbnRlc3RlIFZvcnRlaWxuYWhtZSBiZWkgU2VoZXJuIGlzdCBhYmVyLApkYXNzIGJlaSBUb2RlbiB3ZW5pZ2VyIChyZWxhdGl2KSBFUHMgdmVybG9yZW4gZ2Vobi4gREEga29lbm50ZSBtYW4gZGVuIExldmVsCmhvY2hzZXR6ZW4uCkt1cno6IE1laW5lIE1laW51bmcgaXN0LCBkYXNzIGdyYWRlIFNlaGVyIG1pdCBpaHJlbiBUaXRlbG4gZGFzIE1VRCBlcmhlYmxpY2gKcm9sbGVuc3BpZWxuYWVoZXJtYWNoZW4gYWxzIGRpZSBub3JtYWxlbiBTcGllbGVyLiBXZW5uIHNpZSBkZW5uIGF1Y2ggaWhyZQpSb2xsZSBzcGlsZW4sIHdvaGxnZW1lcmt0LgpWZXJiYW5udCBhbGxlIEF1dG9zLCBSYWtldGVuLCBUcmVra2llcyAoc29mZXJuIHNpZSByYXVtc2NoaWZmZW4uLikgOi0pCgpaJ3BhciBTZXJ2dSwKICAgICAgICAgICAgQmVuZGVpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChLZXRvcywgMTkuIFNlcCAxOTk1LCAyMjoyNjo1NSk6CiMhIHJuPURhdWVyZ2FzdCBydD04MTE1MDc5NDkKSWNoIGRlbmtlIGRpZSBTZWhlcnNjaHdhZW1tZSBpc3QgZ2FyIG5pY2h0IHNvb28gd2lsZC4KVmllbCBncm9lc3NlciB3YWVyZSBkYXMgUHJvYmxlbSB3ZW5uIGFsbGUgU2VoZXIgTWFnaWVyIHdlcmRlbiBvZGVyCmVzIHVlYmVyaGF1cHQga2VpbmVuIFNlaGVyc3RhdHVzIGdhZWJlIQpBbmRlcmUgTXVkcyBsZWlkZW4gdW50ZXIgTWFnaWVyc2Nod2FlbW1lbi4KCi0gS2V0b3MgLSBncmF1ZXIgUGFudGhlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyL1NlaGVyIHJhdGlvIChXdXIsIDE5LiBTZXAgMTk5NSwgMjI6NDU6NDEpOgojISBybj1KYWYgcnQ9ODExNDQ2NTM3CkhpIEZ5dCEKCk51ciBtYWwgZWluZSBGcmFnZS4gS2FubnN0IER1IGRlaW4gV2VnZXNjcmlwdCBvZGVyIHdhcyBkYSBsYWV1ZnQsIG5pY2h0bWFsCndhZWhyZW5kIGRlcyBzY2hyZWliZW5zIHN0b3BwZW4/IEljaCBmaW5kZSBkYXMgc2F1YmxvZWQsIHdlbm4gZGEgbGF1ZmVuZCBlaW4gcwpvZGVyIHcgb2RlciBzdyBpbSBBcnRpa2VsIGF1ZnRhdWNodC4KRGFzIHdhcnMgc2Nob24uCgpXdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS29lcnBlcmdyb2Vzc2VuIChRdWVuZ2lzdHUsIDE5LiBTZXAgMTk5NSwgMjM6MzQ6MTApOgojISBybj1Ub2V0ZXIgcnQ9ODExMjA3MDY5CkVzIHdhZXJlIG5ldHRlciBnZXdlc2VuLCB3ZW5uIG1hbiBzaWNoIHNlaW5lIEtvZXJwZXJncm9lc3NlIGhhZXR0ZSBhdXNzdWNoZW4Ka29lbm5lbi4gU2VpdCBpY2ggU2VoZXIgYmluIHN0ZWh0IGluIG1laW5lbSAiZXh0cmFsb29rIjogRHUgc2llaHN0IGVpbmVuCmdyb3NzZ2V3YWNoc2VuZW4gTWFubiBldGMuLiBOdW4gbXVzcyBpY2ggYWJlciBmZXN0c3RlbGxlbiwgd2VubiBpY2ggbWljaApiZXRyYWNodGU6CkRhcyBpc3QgUXVlbmdpc3R1LiBFciBpc3QgZnVlciBlaW5lbiBNZW5zY2hlbiBlaGVyIGtsZWluLgpPa2F5LCBpY2gga29lbm50ZSBtZWluZW4gRXh0cmFsb29rIGFlbmRlcm4sIGFiZXIgUXVlbmdpc3R1IGlzdCBudW5tYWwKdWViZXJkdXJjaHNjaG5pdHRsaWNoIGdyb3NzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChBc21vZGlzLCAxOS4gU2VwIDE5OTUsIDIzOjM0OjE2KToKIyEgcm49RGF1ZXJnYXN0IHJ0PTgxMTUwOTQ1MwpHZW5hdSwgZGEgd2FlcmVuIHdpciBiZWltIFRoZW1hICdXYXJ1bSBzaW5kIGRpZSBiZXN0ZW4gTGFlZGVuCmRhdWVybmQgcGxlaXRlPycuIERhcyBrb21tdCBlYmVuIGRhaGVyLCBkYXNzIGVpbmlnZSBMZXV0ZQpaZWhudGF1c2VuZGUgTXVlbnplbiBpbiBpaHJlbiBCZXV0ZWxuIG1pdCBzaWNoIHRyYWdlbiwgb2J3b2hsCnNpZSBkYXMgR2VsZCBnYXIgbmljaHQgYnJhdWNoZW4gOikKCiAgICAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGlobyEgKEFzbW9kaXMsIDE5LiBTZXAgMTk5NSwgMjM6NDA6MTYpOgojISBybj1CZW5kZWlnaWQgcnQ9ODExNTE1MzcyCkphLCBpY2ggYmVtdWVoZSBtaWNoIGphIGluIGRlciBSZWdlbCwgZGVtIEJldHJlZmZlbmRlbiBiZWkgRnJhZ2VuCm1pdCBkZXIgTmFzZSBhdWYgZWluZW4gSGlud2VpcyB6dSBzdG9zc2VuLCBvaG5lIGlobiBleHBsaXppdAphdXN6dXBsYXVkZXJuLCBsZWlkZXIgbGFiZXJuIGRhbm4gaW1tZXIgaXJnZW5kd2VsY2hlCmFuZGVyZW4gTGV1dGUgZGF6d2lzY2hlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3BpZWxlci9TZWhlciByYXRpbyAoU3VzaGksIDE5LiBTZXAgMTk5NSwgMjM6NDI6MTMpOgojISBybj1IYXJkaWwgcnQ9ODExNTEzNTQ4CkljaCBoYWJlIGphIG5pY2h0IGJlaGF1cHRldCwgbWl0IEtvbXBsZXR0bG9lc3VuZyBkaWUgZ2FuemUgUXVlc3QKZHVyY2h6dXNwaWVsZW4uIEFiZXIgYmVpIGRlbiBQcmVpc2VuIGRlciBUZWxla29tYSBpc3QgZWluZSBOT1RoaWxmZSB6dW0KTmFjaHNjaGxhZ2VuIGFlbWFsIGJlc3NlciwgYWxzIHVtIDMgVWhyIG1vcmdlbnMgenUgdmVyc3VjaGVuLCBIaWxmZSB6dQpiZWtvbW1lbi4KSWNoIGRlbmtlIG1pdCBTY2hhdWVybiBhbiBkaWUgR2Vpc3RlcnNjaGxvc3NxdWVzdCB6dXJ1ZWNrLCBhbHMgaWNoIC4uLgpibGFibGFibGEuLi5JIHRoaW5rIHlvdSBnb3QgdGhlIHBvaW50LgpOaWNodHMgZnVlciB1bmd1dDpfKQpTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChBc21vZGlzLCAxOS4gU2VwIDE5OTUsIDIzOjQzOjM3KToKIyEgcm49UmFmZmkgcnQ9ODExNTE1Mzg2ClJhZmZpLCBkYXMgQXVnZSBicmF1Y2hzdCBkdSBkaXIgbmljaHQgenUgZXJtZXR6ZWxuIG9kZXIgenUKa2F1ZmVuLCBtYW4ga2FubiBlcyBhdWNoIHJlbGF0aXYga2FtcGZsb3MgZXJoYWx0ZW4sIGF1Y2ggd2VubgpEQVMgd2llZGVydW0gZWluZSBBcnQgTWluaXF1ZXN0IGlzdCA6KQpVZWJyaWdlbnMsIHdvenUgYnJhdWNodCBlaW4gTGV2ZWwtMy1TcGllbGVyIG5lIHZvbGxzdGFlbmRpZ2UgTGlzdGU/CkRpZSBBbmdhYmVuIGRlcyBBdWdlcyBiZWkgTm9ybWFsc3BpZWxlcm4gc2luZCBkYSBzb3dpZXNvCnJlY2h0IHVuZ2VuYXUsIGZyYWcgZG9jaCBsaWViZXIgbWFsIGJlaSBTZWhlcm4gcnVtLCBvYiBzaWUgbmUKTGlzdGUgaGFiZW4sIGRhIHNpbmQgd2VsY2hlIGluIEFyYmVpdC4KCiAgICAgICAgICAgICBDaWFvLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEN1Y2h1bGxpbiwgMjAuIFNlcCAxOTk1LCAwMDo1ODoyMik6CiMhIHJuPUFzbW9kaXMgcnQ9ODExNTQ3MDE3CgpIbW1tLi4uIEJlbmRlaWdpZCwgZGllIFZvcnRlaWxlIGRlciBTZWhlciBiZXN0ZWhlbiBuaWNodCBudXIgYXVzIGRlbSBmcmVpZW4KU2V0emVuIGRlcyBUaXRlbHMsIGRlcyBQcmVzYXlzLCBFeHRyYWxvb2tzIHVuZCBJbi9PdXQtTWVzc2FnZXMuClNlaGVydG9yZSBzaW5kIG9mdG1hbHMgZWluZSBFcmxlaWNodGVydW5nLgpTZWhlcmxhZWRlbiBzZWhyIG9mdCBlaW5lIG5ldHRlIEhpbGZlLgpTZWhlcmhhZXVzZXIgKHNvZmVybiBtYW4gaGF0KSBlaW5lIHJpY2h0aWcgZmVpbmUgU2FjaGUuClNlaGVya2FuYWwgaXN0IEtvbnZlcnNhdGlvbiBhdWYgaG9laGVyZXIgRWJlbmUgKG5hamEsIHdhciBlcyB6dW1pbmRlc3QgbWFsKQpTZWhlciBrb2VubmVuIFNlaGVydG9vbHMgYmVudXR6ZW4uIEZlcm5zY2hyZWliZXIsIFNlaGVya3VnZWwgZXRjLgoKVmllbGxlaWNodCBzb2xsdGVzdCBEdSBtYWwgZGllIFNlaGVyZmFxIGxlc2VuLCBCZW5kZSA7LSkKKERhIHN0ZWh0IGF1Y2ggX2Rhc18gZHJpbiwgd2FzIGljaCBqZXR6dCB2ZXJnZXNzZW4gaGFiKQpDdWNoLi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEphZiwgMjAuIFNlcCAxOTk1LCAwMTozMjoxMyk6CiMhIHJuPVd1ciBydD04MTE1NDM1NDEKCldpZSBnZXNhZ3QsIGFsbGVybGllYnN0ZXIgV3VyLCBsYWV1ZnQgZGEgS0VJTiB3ZWdzY3JpcHQuCkljaCBoYWIgbGVkaWdsaWNoIGRpZSBaaWZmZXJudGFzdGVuIHZvbSBaaWZmZXJuYmxvY2sgbWl0dGVscwpOZWJlbmVmZmVrdCBoYXQsIGRhc3MgaWNoIGRhcyBtYW5jaG1hbCB2ZXJnZXNzLCBhYnp1c2NoYWx0ZW4sIHVuZAppbW1lciBkYW5uLCB3ZW5uIGljaCBpbiBkZW0gQXJ0aWtlbCBuZSBaYWhsIGluIFppZmZlcm4gc2NocmVpYmVuIHdpbGwKZGllIGVudHNwcmVjaGVuZGVuIFJpY2h0dW5nZW4gaW0gQXJ0aWtlbCBlcnNjaGVpbmVuLiBTbywgdW5kIGljaAprYW5uIG1pdCBkZW0gRWRpdG9yIGltbWVyIG5vY2ggbmljaHQgdW1nZWhlbiwgdW5kIHdlbm4gaWNoIG1laHIgYWxzCmZ1ZW5mIFplaWxlbiBnZXNjaHJpZWJlbiBoYWIsIGhhYiBpY2ggYXVjaCBrZWluZSBMdXN0LCBkYXNzIERpbmcKaW4gZGVuIFJlaXNzd29sZiB6dSBiZWZvZXJkZXJuLgoKQVVzc2VyZGVtIGhhc3QgRHUgdmllbGxlaWNodCBzY2hvbiBiZW1lcmt0LCBkYXNzIGljaCBkaWUgQXJ0aWtlbCB2b24KSmFmIHNjaHJlaWJlbiBsYXNzZSwgdW5kIGRlciBoYXQgbm9jaCBuaWUgZ2VzY3JpcHRldC4gU28uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGllbGVyL1NlaGVyIHJhdGlvIChKYWYsIDIwLiBTZXAgMTk5NSwgMDE6MzY6NDApOgojISBybj1KYWYgcnQ9ODExNTUzNTMzCk9laG0uLi4gZGEgZmVobHQgd29obCBuZSBaZWlsZTogbmFlbWxpY2gKLi4uIG1pdHRlbHMgJ2JpbmQnIGFuIGFuZCBkaWUgZW50c3ByZWNoZW5kZW4gcmljaHR1bmdlbiBnZWJ1bmRlbiwgd2FzIGRlbgp1bmFuZ2VuZWhtZW4gbmViZW5lZmZla3QuLi4KCmFlaG0sIGljaCBob2ZmZSwgZGFzIGtvbW10IGpldHp0IGR1cmNoIDopCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAnc2NobmVsbCcgKEJvaW5nLCAyMC4gU2VwIDE5OTUsIDA4OjA5OjU2KToKIyEgcm49RmVscyBydD04MTE0MDM5NzgKQWxzbyB6dW1pbmRlc3QgaW4gZGVyIFZlcnNpb24sIGRpZSBpY2ggYmVpIG1pciBkYWhlaW0gcnVtbGllZ2VuIGhhYmUsCmJla29tbXQgZGVyIFNwaWVsZXIgZWluZSBNZWxkdW5nLCB3ZW5uIGRlciBzY2huZWxsc3BydWNoIHp1ZW5kZSBnZWh0LgpJY2ggaGFiIHNlaXQgRXdpZ2tlaXRlbiBuaWNodHMgbWVociBkYXJhbiBnZWFlbmRlcnQsIGF1c2dlYmF1dCBoYWJlCmljaCBkYXMgc2ljaGVyIG5pY2h0LiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChCb2luZywgMjAuIFNlcCAxOTk1LCAwODoyNjo0Mik6CiMhIHJuPURhdWVyZ2FzdCBydD04MTE1MDc5NDkKSWNoIGRlbmtlIGVzIHdhZXJlIHNjaG9uIGVpbiBncm9zc2VyIFNjaHJpdHQsIG5pY2h0IGFsbGUgKFNlaGVyKS1ad2VpdGllcwpnbGVpY2h6ZWl0aWcgZWluenVsb2dnZW4uIEljaCBzZWhlIGFic29sdXQgZWluLCBkYXNzIG1hbiB6dW0gQmVpc3BpZWwKZnVlciBlaW5lIG5ldWUgR2lsZGUgbmljaHQgYWxsZXMgYXVmZ2ViZW4gd2lsbCwgd2FzIG1hbiBpbiBzZWluZXIgYWx0ZW4KZ2lsZGUgYmlzaGVyIGdlbGVybnQgaGF0IHVuZCBkYWZ1ZXIgZWluZW4gWndlaXRpZSBlaW5zZXR6dC4gQWJlciBiaXR0ZQpzcGllbHQgZG9jaCBkYW5uIGF1Y2ggbnVyIGVud3RlZGVyIG1pdCBkZW0gZWluZW4gb2RlciBtaXQgZGVtIGFuZGVyZW4KQ2hhcmFrdGVyLCBkaWVzZSBBcm1lZW4sIGRpZSB0ZWlsd2Vpc2UgZHVyY2hzIE11ZCByZW5uZW4gKEhhbGxvIEFzbW9kaXMgOykgKQpmaW5kZSBpY2ggemllbWxpY2ggZGFuZWJlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChFdGFoLCAyMC4gU2VwIDE5OTUsIDA4OjQzOjM4KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTUxMTM3MQpadSBjKQpJY2ggZGVua2UgbmljaHQsIGRhc3Mgc2ljaCBqZWhtYWxzIGVpbiBoYXJ0ZXIgS2VybiBiaWxkZW4gd2lyZC4gRGF6dSBpc3QKZGFzIEtvbW1hbiB1bmQgR2VoZW4gaW0gTVVEIHp1IGdyb3NzLiBKZWRlcyBTZW1lc3RlciBrb21tZW4gbmV1ZSBTcGllbGVyCmhpbnp1ISBJbnp3aXNjaGVuIGlzdCBlcyBkb2NoIHNvLCBkYXNzIG1hbiBudXIgbm9jaCBlaW5lbiBCcnVjaHRlaWwgZGVyClNwaWVsZXIga2VubnQgdW5kIGVzIGtvbW1lbiBzdGFlbmRpZyBuZXVlIGhpbnp1LgpFLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVycXVpeiAoT3JrdG9ldGVyLCAyMC4gU2VwIDE5OTUsIDA5OjI5OjE1KToKIyEgcm49Tml4aWhvdSBydD04MTE1MjUyMjMKRHUsIE5peGlob3UsIHdlaXNzdCBkdSwgd2llIHZpZWxlIE1hZ2llciBkZXJ6ZWl0IGFrdGl2IHNpbmQgPwpJY2ggd2Vpc3MgZXMgbmljaHQsIGFiZXIgaWNoIHdlaXNzLCBkYXMgaWNoLCBvYndvaGwgaWNoIGRlbmVrZSwgZGFzIGljaCByZWNodAp2aWVsIFplaXQgaGllciBpbSBNdWQgdmVyYnJpbmdlIGVpbmZhY2ggbmljaHQgbWVociBuYWNoa29tbWUgbWl0IGRlbQplcmZvcnNjaGVuIG5ldWVyIEdlZ2VuZGVuIHVuZCBsb2VzZW4gc2FlbXRsaWNoZXIgcXVlc3RzLCBkYSBpY2ggbWljaCBhdWNoIHZpZWwKbWl0IGFuZGVyZW4gTGV1dGVuIHVudGVyaGFsdGUuCkpldHp0IGtvZW5udGVzdCBkdSBuYXR1ZXJsaWNoIGFyZ3VtZW50aWVyZW4sIGRhcyBtaXIgZGFubiBoYWx0IGRpZQpub3R3ZW5kaWdlbiB2b3JyYXVzc2V0enVuZ2VuIGZlaGxlbiB1bSBkaWVzZW4gVGl0ZWwgKHdlbGNoZW4gYXVjaCBpbW1lcikgenUKZXJsYW5nZW4sIGFiZXIgaWNoIGZyYWdlIGRpY2gsIHdlciBzb2xsIGVzIGRlbm4gbm9jaCBzY2hhZmZlbiA/IEluc2Jlc29uZGVyZSwKd2VubiBpbW1lciBtZWhyIHVuZCBtZWhyIE1hZ2llciBwcm9yYWdtbWllcmVuIHVuZCBkYXMgTXVkIGNzaG5lbGxlciBncm9lc3Nlcgp3aXJkIGFscyBtYW4gZXMgZXJmb3JzY2hlbiBrYW5uID8KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoT3JrdG9ldGVyLCAyMC4gU2VwIDE5OTUsIDA5OjUxOjA4KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTU1MTUwMgpEdSB2ZXJnaXNzdCwgQ3VjaCwgZGFzIEJlbmRlIHNvIGd1dCB3aWUgbmljaHQgc2VoZXIgd2FyLCBlciBnaW5nIHNvenVzYWdlbgpOYWh0bG9zIHZvbSBTcGllbGVyIHp1bSBNYWdpZXIgdWViZXIsIHdhcyB3b2hsIGRvY2ggc28gZWluaWdlIE5hY2h0ZWlsZSB6dQpoYWJlbiBzY2hlaW50Li4uIHZpZWxlaWNodCBzb2xsdGVuIHdpciBlaW5lIHdlaXRlcmUgRGlza3Vzc2lvbiBzdHJhdGVuLCBkYXMKbWFuIGVyc3QgTWFnaWVyIHdlcmRlbiBrYW5uLCB3ZW5uIG1hbiBlaW5pZ2UgWmVpdCBhbHMgU2VoZXIgdmVyYnJhY2h0IGhhdCA/CjopKSkKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEZsaW50bmFpbCwgMjAuIFNlcCAxOTk1LCAxMDozODoxOCk6CiMhIHJuPVJlaW5lbGRlIHJ0PTgxMTQ1MjQ5NgpIbW0uLi5HcmF0cyBSZWluZWxkZS4uLnNvIGxhbmdzYW0gc2NoZWludHMgZHUgZGFzIFplaXR1bmdzc3lzdGVtIHp1CmR1cmNoc2NoYXVlbjopCgpGTGludG5haWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJxdWl6IChIYXJkaWwsIDIwLiBTZXAgMTk5NSwgMTE6NDg6NDcpOgojISBybj1CZW5kZWlnaWQgcnQ9ODExNTI4MTU0CgpEYSBoYXN0IERVIG1pciBhdXMgZGVyIFNlZWxlIGdlc3Byb2NoZW4sIEJlbmRlaWdpZC4gTmljaHRzIG5lcnZ0IG1laHIgYWxzCjN6ZWlsaWdlIG1pbnMgdW5kIG1vdXRzIHZvbiBTZWhlcm4sIGJlc29uZGVycywgd2VubiBlcyBOdmVya29lcHBlIG1pdApXZWdlc2NyaXB0cyBzaW5kLCBkaWUgaW5uZXJoYWxiIGVpbmVyIE1pbnV0ZSBkcmVpbWFsIGRlbiBSYXVtIGJldHJldGVuIHVuZAp3aWVkZXIgdmVybGFzc2VuLgogVm9uIG1pciBhdXMga29lbm50ZSBtYW4gZGFzIFNlaGVyLW1pbiB1bmQgbW91dCBhdWNoIHdpZWRlciBzdHJlaWNoZW4sIG9kZXIKYXVmIGVpbmVuIGt1cnplbiBzdHJpbmcgYmVncmVuemVuLiBOZWVpc2tsYXIsIG9kZXI/CgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVycXVpeiAoTGksIDIwLiBTZXAgMTk5NSwgMTI6MDU6MTMpOgojISBybj1OaXhpaG91IHJ0PTgxMTUyNTIyMwpIbW0sIHdhcnVtIHNvbGwgZGllIElkZWUgbmljaHQgZ3V0IHNlaW4/IE1pciBnZWZhZWxsdCBzaWUgamVkZW5mYWxscwoKTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJxdWl6IChMaSwgMjAuIFNlcCAxOTk1LCAxMjoxMToxMyk6CiMhIHJuPVBlcmxlIHJ0PTgxMTUyNzU4NQpBbHNvIGluIGRlciBaYXViZXJnaWxkZSB3aXJkIGVzIHNvIHNlaW4uIFdlciBFcnptZWlzdGVyIHdpcmQsIGthbm4gc2ljaCBuaWNodAphdWYgc2VpbmVuIExvcmJlcmVuIGF1c3J1aGVuLCBzb25kZXJuIG11c3MgYXVjaCB3YXMgZGFmdWVyIHR1biwgZGFzcyBlciBlaW5lbgpTcHJ1Y2ggYmVoZXJyc2NodCwgZGVuIGF1c3NlciBpaG0ga2VpbiBhbmRlcmVyIFNwaWVsciBrYW5uLi4uCk9iIG1hbiBkaWVzZXMgU3lzdGVtIGFsbGVyZGluZ3MgYXVmIGFsbGUgR2lsZGVuLCBvZGVyIG51ciBkaWUgU3BpZWxlcnN0dWZlbgphbndlbmRlbiBzb2xsIHdlaXNzIGljaCBuaWNodCwgZGFubiB3aXJkIGF1Y2ggZGFzIEF1ZnN0ZWlnZW4gYmlzIFN0dWZlIDIwIGZ1ZXIKbmljaHRzY3JpcHRzcGllbGVyIG5vY2ggc2Nod2llcmlnZXIsIGJ6dy4gd2VyZGVuIHNjcmlwdHNwaWVsZXIgZXJzdApoZXJhbmdlenVlY2h0ZXQuIEFiZXIgZGllc2VzIFZlcmZhaHJlbiBhbmdld2FuZCBhdWYgZGllIFNlaGVyLCBvZGVyIGVpbiBTdHVmZQpkcnVlYmVyICh3YXMgc29sbCBkYXMgYnJpbmdlbiwgd28gZXMgZG9jaCB1ZWJlciBkZW0gc2VoZXJzdGF0dXMgbmljaHRzIGJyaW5ndD8KZmluZGUgaWNoIGRpZSBJZGRlIHppZW1saWNoIGd1dC4KCgpMaQoKUC5TLiBTb3JyeSBmdWVyIGRhcyBzY2hsZWNodGUgTGF5b3V0IHVuZCBkaWUgRmVobGVyLCBhYmVyIG1hbiBrYW5uIHNpY2ggZ2FuegpzY2hvZW4gYW4gdGYgZ2V3b2VobmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTcGllbGVyL1NlaGVyIHJhdGlvIChEdXJpYW4sIDIwLiBTZXAgMTk5NSwgMTI6NDg6MTIpOgojISBybj1IYXJkaWwgcnQ9ODExNTEzNTQ4CkhhbGxvIExldXRlIQoKQnJhdm8gSGFyZGlsLCBlbmRsaWNoIGplbWFuZCwgZGVzc2VuIE1laW51bmcgaXN0IGJlZGVua2VubG9zIHRlaWxlbiBrYW5uLgoKRGEgaW4gbGV0enRlciBaZWl0IGltbWVyIHdpZWRlciB2b24gS29tcGxldHRsb2VzdW5nZW4gdW5kIFp3ZWl0aWVzIGRpZQpSZWRlIGlzdCwgbW9lY2h0ZSBpY2ggYW4gZGllc2VyIFN0ZWxsZSBkb2NoIG1hbCBlaW5lIGtsYXJlIE1laW51bmcKYWJnZWJlbiwgYXVjaCB3ZW5uIGRpZSBiZWkgZWluaWdlbiBTZWhlcm4gYmVzdGltbXQgQWJsZWhudW5nIGZpbmRlbiB3aXJkLgoKRGFzIE1VRCBpc3QgZWluIFJvbGxlbnNwaWVsISBad2VpdGllcyBmdWVyIGRpZSB1bnRlcnNjaGllZGxpY2hzdGVuIEF1ZmdhYmVuCnp1IGhhYmVuLCBoYWx0ZSBpY2ggZnVlciAuLi4gbWlyIGZlaGxlbiBkaWUgV29ydGUgLi4uIHVucGFzc2VuZCwgamEKZ2VyYWRlenUga3JhbmshIFdhcyBoYXQgZGllIFRhdHNhY2hlLCBzZWluIEdlbGQgZWluZW0gZHVtbXktQ2hhcmFrdGVyCmluIGRpZSBIYW5kIHp1IGRydWVja2VuIG1pdCBNVUQgdW5kIFJvbGxlbnNwaWVsIHp1IHR1bj8gTml4LiBBYmVyIGF1Y2gKdWViZXJoYXVwdCBuaXguCgpBbHMgaWNoIGluIE5pZ2h0ZmFsbCBXaXphcmQgZ2V3b3JkZW4gYmluLCBoYWJlIGljaCB2b24gZWluZXIgRG9zZSBhdXMKZ2VzcGllbHQuIERhIGhhYmVuIHNpY2ggU2FjaGVuIHdpZSBTY3JpcHRzIChnZW5hdXNvIGJsb2VkKSwgWndlaXRpZXMKdW5kIHNvbGNoZSBTYWNoZW4gc2Nob24gYXVzIHRlY2huaXNjaGVyIEhpbnNpY2h0IG5pY2h0IGFscyBNb2VnbGljaGtlaXQKYW5nZWJvdGVuLiBVbmQ/IFdhciBkYXMgamV0enQgc2NobGltbT8gTm9lLCBpY2ggaGFiZSBlcyBhdWNoIGdlc2NoYWZmdCwgdW5kCmVzIGhhdCBlaW5lbiBIZWlkZW5zcGFzcyBnZW1hY2h0LiBFcyB3YXIgdG90YWwgbmVydmlnLCB3ZW5uIG1hbiBtYWwgd2llZGVyCmdlc3RvcmJlbiBpc3QsIGRhcyBHZWxkIHdpZWRlciBlaW56dXNhbW1lbG4sIGFiZXIgbmEgdW5kISBEYXMgaXN0IGViZW4KTVVEIQoKV2VubiBpY2ggbWljaCBoZXV0enV0YWdlLCBkYSBqZWRlciB2b24gZWluZXIgVU5JWC1LaXN0ZSBhdXMgenUgc3BpZWxlbgpzY2hlaW50IGFuc2NoYXVlLCBkYW5uIG11c3MgaWNoIHNhZ2VuOiBkaWUgRW50d2lja2x1bmcgaXN0IGJlZGVua2xpY2guCkljaCBiZWZ1ZXJjaHRlLCB2aWVsZSBTcGllbGVyLCBkaWUgbWl0IEJhbmstIHVuZCBLYW1wZnp3ZWl0aWVzIGR1cmNoIGRpZQpHZWdlbmQgaGV0emVuLCBnZWZvZXJkZXJ0IHZvbiBwaGFudGFzdGlzY2ggcHJvZ3JhbW1pZXJ0ZW4gS2FtcGZzY3JpcHRlbgpoYWJlbiBqZWRlbiBTaW5uIGZ1ZXIgZGFzIF9TUElFTF8gKGZ1ZXIgZGFzIGhhbHRlIGljaCBNb3JnZW5HcmF1ZW4pCnZlcmxvcmVuLiBFcyBpc3QgZGVmaW5pdGl2IE5JQ0hUIGRlciBTaW5uIGVpbmVzIE1VRHMsIGFuZGVyZW4gTGV1dGVuIGVpbmUKTW9lZ2xpY2hrZWl0IHp1IGJpZXRlbiB6dSB6ZWlnZW4sIHdpZSBndXQgc2llIGlocmVuIEhlaW1hdHJlY2huZXIKYmVoZXJyc2NoZW4gdW5kIHdpZSBndXQgc2llIGVzIHZlcnN0ZWhlbiwgYXVjaCBqZWRlIG5vY2ggc28ga2xlaW5lClNjaHdhZWNoZSBpbSBTeXN0ZW0genUgaWhyZW4gR3Vuc3RlbiB6dSBudXR6ZW4uIE5laW4sIE1vcmdlbkdyYXVlbgppc3QgdW5kIGJsZWlidCBlaW4gUm9sbGVuc3BpZWwsIGJlaSBkZW0gdmllbGUgQmVudXR6ZXIgZGllIE1vZWdsaWNoa2VpdApoYWJlbiwgbWl0ZWluYW5kZXIgU2FjaGVuIHp1IHVudGVybmVobWVuIHVuZCBpbiBkZXIgV2VsdCBkZXIgRmFudGFzeQp6dSB2ZXJzaW5rZW4uIEF1cyBkaWVzZW0gR3J1bmQgYmV3dW5kZXJlIGljaCBqZWRlbiwgZGVyIGRpZXNlbiBHZWZ1ZWhsCm5vY2gga2VubnQsIHdlaWwgZXIgYmlzbGFuZyBhdWYgamVkZSBBcnQgdm9uIEhpbGZlIGR1cmNoIFp3ZWl0aWVzIG9kZXIKU2NyaXB0cyB2ZXJ6aWNodGV0IGhhdCwgdW5kIGVzIHRyb3R6ZGVtIGdlc2NoYWZmdCBoYXQuIFVuZCBpY2gKYmVkYXVyZSBqZWRlbiwgZGVyIGF1ZiBzb2xjaGUgSGlsZnNtaXR0ZWwgenVydWVja2dyZWlmZW4gbXVzcywgd2VpbAplciBhbmRlcnMgc2ljaCBpbiBkaWVzZXIgV2VsdCBuaWNodCB6dSBoZWxmZW4gd2Vpc3MhCgpFaW5lIGFuZGVyZSBHZXNjaGljaHRlIGlzdCBkaWUgZGVyIEtvbXBsZXR0bG9lc3VuZ2VuLiBNaXIgc2luZCBiaXNsYW5nCm5vY2ggbmljaHQgdmllbGUgdm9yIGRpZSBBdWdlbiBnZWtvbW1lbiwgYWJlciBhbmdlc2ljaHRzIGRlciBFbmVyZ2llLApkaWUgZWluaWdlIFNQaWVsZXIgZGFyaW4gaW52ZXN0aWVyZW4sIHNvbGNoZSBMb2VzdW5nZW4genUgYmVrb21tZW4gb2Rlcgp6dSBzY2hyZWliZW4sIHNjaGxpZXNzZSBpY2gsIGRhc3MgdmllbGUgS0wgZGF6dSByZWljaGVuLCBlaW5lIFF1ZXN0IGluCjAga29tbWEgZ2FyIG5peCBkdXJjaHp1c3BpZWxlbi4gSGllciBnaWx0IGRhc3NlbGJlIHdpZSBvYmVuIGdlbmFubnQuCkljaCBiZWRhdXJlIGplZGVuLCBkZXIgZWluZSBzb2xjaGUgTG9lc3VuZyBicmF1Y2h0LCB1bSBlaW5lIFF1ZXN0IHp1CmxvZXNlbi4gQXVjaCBkZXIvZGllamVuaWdlIGhhdCBuaWNodHMgdm9uIGRlbSBiZWdyaWZmZW4sIHdhcyBlaW4gTVVECmF1c3plaWNobmV0IQpNaXIgaXN0IGJpc2xhbmcgZWluZSBMb2VzdW5nIGluIGRpZSBIYWVuZGUgZ2VmYWxsZW4gKHZvbiBkZW4gUHlyYW1pZGVuKS4KRGllc2UgS0wgd2FyIHp3YXIgYXVjaCBzZWhyIHdlaXRyZWljaGVuZCwgYWJlciBzaWUgYmVzY2hyYWVua3RlIHNpY2gKYXVzc2NobGllc3NsaWNoIGF1ZiBUaXBzLiBTbyBldHdhcyBmaW5kZSBpY2ggdmVydHJldGJhci4gRWluZSBzb2xjaGUKTG9lc3VuZyBmYXNzdCBxdWFzaSBhbGxlIEFudHdvcnRlbiB6dXNhbW1lbiwgZGllIGplbWFuZCBhdWYgRnJhZ2VuIGJlaQpQcm9ibGVtZW4gaW4gZGVyIFF1ZXN0IGdlc3RlbGx0IGhhZXR0ZS4gWndhciB2ZXJoaW5kZXJ0IGRpZXMgYXVjaCBkaWUKWnVzYW1tZW5hcmJlaXQgZGVyIFNwaWVsZXIsIGFiZXIgZGFzIEF1c3Byb2JpZXJlbiwgZGFzIGVjaHRlIFF1ZXN0ZW4KYmxlaWJ0IGRvY2ggZXJoYWx0ZW4hCgpTaWNoZXJsaWNoIHNpbmQgdmllbGUgU3BpZWxlciBtaXQgbWlyIGpldHp0IG5pY2h0IGVpbmVyIE1laW51bmcuIERhcwppc3QgYXVjaCBuaWNodCBzY2hsaW1tLCBzY2hsaW1tIHdhZXJlIGVzLCB3ZW5uIGpldHp0IGFsbGUgbWlyIHp1c3RpbW1lbgp3dWVyZGVuIHVuZCBkaWVzIG1pdCBlaW5lbSBBcnRpa2VsIGVpbmVzIFp3ZWl0aWVzIGF1c2RydWVja2VuIHd1ZXJkZW4uCgpGYXppdDogSmVkZXIsIGRlciBTY3JpcHRzLCBad2VpdGllcyB1bmQgdm9sbHN0YWVuZGlnIGF1c2dlYXJiZWl0ZXRlCktvbXBsZXR0bG9lc3VuZ2VuIGJyYXVjaHQsIGlzdCBmdWVyIG1pY2gga2VpbiBSb2xsZW5zcGllbCB1bmQgaGF0Cm1laW5lciBNZWludW5nIGRpZSBCZWRldXR1bmcgdW5kIGRhcyBGbGFpciBlaW5lcyBNVURzIG5pY2h0IGVya2FubnQhCgotIER1cmlhbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVwIHB1bmt0ZSBiZWkgYnVtZXJhbmctdG9kID8gKEp1cnJ5LCAyMC4gU2VwIDE5OTUsIDEzOjE2OjA0KToKRm9sZ2VuZGVzCldpZSBzaWVodCBkYXMgZWlnZW5kbGljaCBhdXMsIHNvd2VpdCBpY2ggd2Vpc3Mgd2VyZGVuIGNhLiAxLzMgZGVyIEVwIFZlcmdlYmVuCiB3ZXIgbWl0IGRlbSBsZXR6dGVtIHNjaGxhZyBkYXMgbW9uc3RlciBuaWVkZXJzdHJlY2t0LgpXYXMgaXN0IGFiZXIgbnVuIHdlbm4gZGFzIG1laW4gYnVtaSB0dXQgb2RlciBlaW4gcGZlaWwgYnp3IEZldWVyYmFsbCBhdXMKbWVpbmVtIFJpbmcgPwpOb2NoIG5pZSBoYWIgaWNoIG5lIE1lbGR1bmcgYXVmIFtNb2VyZGVyXSBnZXNlaGVuIHdlbm4gbWVpbiBidW1pIGVpbmVuCm5pZWRlcnN0ZWNrdC4uLgpNZWluZSBib2VzZSBWZXJtdXR1bmcuLi4uIDEvMyBFcCB3ZXJkZW4gbmljaHQgZ3V0Z2VzY2hyaWViZW4uClNvbGx0ZSBtYW5uIGRvY2ggYWVuZGVybiwgb2RlciA/CkF1c3NlcmRlbSBzb2xsdGUgZGllIHNjaGFkZW5zbWVsZHVuZyBlaW5lcyBmZXVlcmJhbGxzIHdpZWRlciBlaW5nZWJhdXQKd2VyZGVuLCB1bSBkYXMgbm9jaG1hbCBoZXJ2b3J6dWhlYmVuLi4uCgpUc2NoYSBpY2ggd2Vpc3MsIG5vZXJnZWwgbnVyIHJ1bSwgYWJlciBlcyBzaW5kIGRvY2ggd2ljaHRpZ2UgcHVua2UsIHdvIGFuZGVyZQphdWNoIG1laW5lciBtZWludW5nIHNpbmQKCkVpbiBub2VyZ2VsbmRlcyBLYW1wZi1USUVSICEKSnVycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoQmVuZGVpZ2lkLCAyMC4gU2VwIDE5OTUsIDEzOjIzOjQ5KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTU1MTUwMgpKYXUsIHJlY2h0IGhhc3QgZHUsIEN1Y2guLi4uIE5VUjoKV296dSBTZWhlcmxhZWRlbj8gSGF1cHRzYWVjaGxpY2ggZGVyIEZlcm5zY2hyZWliZXIsIGd1dCB1bmQgc2Nob2VuLiBCdW1pcz8gRGEKd2FlcmVuIHdpciB3aWVkZXIgYmVpbSBtZXR6ZWxuLCB1bmQgd2VubiBtYW4gc2ljaCBhdXNrZW5udCBvZGVyIGdlbnVnIGxldXRlCmtlbm50LCBkYW5uIGthbm4gbWFuIGF1Y2ggYWIgdW5kIGFuIGVpbmVuIGZpbmRlbiBvZGVyIGdlc2NoZW5rdCBiZWtvbW1lbi4KU2VoZXJoYWV1c2VyPyBUamEsIERBUyBpc3Qgd2llZGVyIGVpbmlnZXMgYW4gQXVmd2FuZCwgYWxzbyBuaXggZnVlciBqZWRlL24uClNlaGVya2FuYWw/IEphdSwgZGEgZ2VoZW4gZGllIFF1ZXN0bG9lc3VuZ2VuIHVuZCBzbyBhdWNoIGRydWViZXIsIHdlbm4gc2llCmViZW4gbmljaHQgamVkZXIgaG9laHJlbiBzb2xsLCBhbnNvbnN0ZW4gc2luZCBkaWUga2FlbmVsZSBlaWdlbnRsaWNoIHNlaHIgZ3V0CmF1Zmdlc3BsaXR0ZXQsIGRhIGlzdCBmdWVyIGplZGVuIHdhcyBkYWJlaSwgdW5kIE5JQ0hUIG51ciBmdWVyIGVpbiB3aWUgYXVjaAppbW1lciBlbGl0YWVyZXMgQ2x1ZWJjaGVuLiBTZWhlcmZhcT8gSG0sIHdhcyBpc3QgZGFzPyA6LSkpCkljaCBob2ZmZSwgZGFzIHdhcnMsIHdlbm4gaWNoIHdhcyB2ZXJnZXNzZW4gaGFiLT4gU2VoZXJmYXEuCiMKWidwYXIgU2VydnUsIEJlbmRlaWdpZCwgc2ljaCBhYiBzb2ZvcnQgcmF1c2hhbHRlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAnc2NobmVsbCcgKEp1cnJ5LCAyMC4gU2VwIDE5OTUsIDEzOjM5OjU2KToKIyEgcm49Qm9pbmcgcnQ9ODExNTc3Mzk2CmFsc28gd2lsbHN0IGR1IG1pciBkYW1pdCBzYWdlbiBkYXMgaWNoIHdhcyBsYWxsYSBiaW4sIG5lIGJvaW5nIDopCkljaCBzZWhlIGF1ZiBqZWRlbmZhbGwgbmljaHQgd2VubiBkZXIgenVlbmRlIGlzdAoKRWluIGJsaW5kZXIgSnVycnkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAnc2NobmVsbCcgKEN1Y2h1bGxpbiwgMjAuIFNlcCAxOTk1LCAxNDo1MDowMSk6CiMhIHJuPUp1cnJ5IHJ0PTgxMTU5NzE5NgoKQXVjaCB3ZW5uIGRhcyBSZSBkYSBvYmVuIG5pY2h0IHN0aW1tdC4uLgpJY2ggZnVlciBtZWluZW4gVGVpbCB3ZXJkZSBuYWNoIHdpZSB2b3IgdmVyc3VjaGVuLCBmdWVyIGplZGUgR2lsZGUgZWluZW4Kc3RhcmtlbiBDaGFyYWt0ZXIgLSBtb2VnbGljaHN0IFNlaGVyIC0genUgaGFiZW4uCkljaCBoYWV0dGUgZGFzIEdlc2NocmVpIGRlciBTcGllbGVyd2VsdCAoKmF1Zmdld2lzc2UuLi5kZXV0KikgbmljaHQgaG9lcmVuCndvbGxlbiwgd2VubiBkYXMgVGhlYXRlciBtaXQgZGVyIEdpbGRlbmFucGFzc3VuZyBkZXIgS2FyYXRlZ2lsZGUgbm9jaCBsYWVuZ2VyCmdlZGF1ZXJ0IGhhZXR0ZS4gT2huZSBzb2xjaGUgTGV1dGUgd2llIFJ5bmUgLSBlZ2FsIG9iIER1ICgqYXVmRElDSGRldXQqKSBpaG4KamV0enQgbWFnc3Qgb2RlciBuaWNodCAtIHd1ZXJkZSBkYXMgZGFubiB2ZXJtdXRsaWNoIGF1Y2ggYmVpIGRlbiBaYXViZXJlcm4sCktsZXJpa2VybiB1bmQgd2FzIHdlaXNzIGljaCwgd2FzIGRpZSAoKmF1ZmRpZU1hZ2llcmRldXQqKSBub2NoIGFsbGVzCmVyc2NoYWZmZW4sIHdlc2VudGxpY2ggbGFlbmdlciBkYXVlcm4uIE1hZ2llciBrb2VubmVuIHNpY2ggZGEgaGFsdCBlaW5mYWNoCm5pY2h0IG1laHIgcmljaHRpZyBoaW5laW52ZXJzZXR6ZW4uCkRhbWl0IGJlZ3J1ZW5kZSBpY2ggKCphdWZtaWNoZGV1dCopIGRpZSBOb3R3ZW5kaWdrZWl0LCBkYXNzIG1laHJlcmUgU2VoZXIgaW4KZWluZXIgSGFuZCBzaW5kIHVuZCBkYXNzIGRpZSBhdWNoIGdsZWljaHplaXRpZyBlaW5nZWxvZ2d0IHNlaW4gZHVlcmZlbi4KClplcnJlaXNzdCBtaWNoLApDdWNoLi0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlaW5zdHVmdW5nIGRlciBXYWZmZSAoU2lib3JpdCwgMjAuIFNlcCAxOTk1LCAxNDo1Mjo1Myk6Ck9id29obCBlcyB3YWhyc2NoZWlubGljaCB6dSBzcGFldCBpc3QgdW0gbWljaCBub2NoIHJpY2h0aWcgaW4gZGVyIERpc2t1c3Npb24KenUgbWlzc2NoZW4gKGhldXRlIHdpcmQgbWVpbmVuIHZvcmxhZXVmaWcgbGV0enRlbiBNdWQtVGFnIDooKCkgaGFiZSBpY2ggbm9jaAplaW5lIEZyYWdlLCBkaWUgdmllbGxlaWNodCBzY2hvbiBtYWwgaW4gZGVyIFZlcmdhbmdlbmhlaXQgYmVoYW5kZWx0IGlzdC4KV2FzIGlzdCBlaWdlbmxpY2ggZ2VnZW4gZWluZSBFaW5zdHVmdW5nIGRlciBXYWZmZSBuYWNoIFNwaWVsZXJsZXZlbCA/IEljaAptZWluZSwgZGFzIG1hbiB3aWUgYmVpIGRlbiBaYXViZXJzcHJ1ZWNoZSBhdWNoIGVpbmUgYmVzdGltbXRlIEVyZmFocnVuZyAoQVApCmdlc2FtbWVsdCBoYWJlbiBtdXNzIHVtIGVpbmUgYmVzdGltbXRlIFdhZmZlIHp1IHp1ZWNrZW4uIHouQi4gbGV2ZWwgMSBtZXNzZXIsCmxldmVsIDMgYXh0LCBsZXZlbCA1IGthbXBmc2Nod2VydCwgbGV2ZWwgOSBsYW5nc2Nod2VydCwgbGV2ZWwgMTUKYmx1dHNhdWdlcnNjaHdlcnQuICh1ZWJlciBkaWUgRWludGVpbHVuZyBrb2VubmVuIHdpciB1bnMgbm9jaCBlaW5pZ2VuIDopKSwKYWJlciBkaWVzZSBkaWVudCBudXIgdW0gYW4genUgZ2ViZW4gd2FzIGljaCB1bmdlZmFlaHIgbWVpbmUpIERpZSBWb3J0ZWlsZSBzaW5kCm1laW5lIE1laW51bmcgbmFjaCBsZWdpbzoKMS4gRGFzIEFyZ3VtZW50IGRhcyB1bmVyZmFocmVuZSBTcGllbGVyIGFuIFdhZmZlbiBoZXJhbmtvbW1lbiwgZGllIG5pY2h0IGZ1ZXIKc2llIGJlc3RpbW10IHNpbmQgZmFlbGx0IHdlZy4KMi4gRXMgc29sbCBmdWVyIFNwaWVsZXIgZWluZSBBbnJlZ3VuZyBzZWluIHVtIGVpbiBob2VoZXJlcyBMZXZlbCB6dQplcnJlaWNoZW4sIHdlaWwgc2llIGRhbm4gKGdsZWljaCB3aWUgbW9tZW50YW4gYmVpIGRlbiBaYXViZXJzcHJ1ZWNoZSBiZXNzZXIKa2FlbXBmZW4ga29lbm5lbikKMy4gSG9mZmVudGxpY2ggd2VyZGVuIEJsdXRzYXVnZXJzY2h3ZXJ0ZSBuaWNodCBtZWhyIHNvIHdpZSBqZXR6dCB0b25uZW53ZWlzZQphbmdlYm90ZW4uIE1laW5lIE1laW51bmcgbmFjaCBpc3QgZGFzIGVpZ2VudGxpY2ggZWluZSBXYWZmZSBkaWUgbWFuIHNpY2gKc2VsYmVyIGVya2FlbXBmZW4gbXVzcy4KNC4gWndlaXRzcGllbGVyIHdlcmRlbiB3ZW5pZ2VyIGFscyBqZXR6dCBkZW4gRmFsbCBpc3QgYmV2b3J0ZWlsdCB1ZWJlciBlY2h0ZQpOZXVhbmZhZW5nZXIuIChNYW5jaG1hbCBzaWVoc3QgZHUgamEgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyLCBkaWUga2FlbXBmZW4gb2IKc2llIHNjaG9uIFNlaGVyIHNpbmQpLiBad2VpdHNwaWVsZXIgc2luZCBpbiBQcmluemlwIGF1Y2ggbmV1ZSBTcGllbGVyIG9obmUKRXJmYWhydW5nIHVuZCB3ZXJkZW4gYmVpIGRlciBadC1zdWNoZSwgcXVRdWVzdC1sb2VzdW5nIHVuZCBNdWQtRXJmb3JzY2h1bmcKc2Nob24gZXJoZWJsaWNoIHVlYmVyIE5ldWFuZmFlbmdlciBiZXZvcnRlaWx0Lgo1LiBIb2ZmZW50bGljaCB3aXJkIGRpZXNlcyBTeXN0ZW0gU3BpZWxlciBhbnRyZWliZW4sIGRpZSBmdWVyIGlocmVzIExldmVsCmJlbm9ldGlndGUgUnVlc3R1bmcgc2VsYmVyIHp1IHN1Y2hlbiB1bmQgc28gc3BpZWxlbmRlcndlaXNlIGltbWVyIHNjaHdlcmVyZQpHZWduZXIgdW5kIGJlc3NlcmUgUnVlc3R1bmcgenUgZXJrYWVtcGZlbi4gKG5pY2h0IHdpZSBiZWkgbWlyLCBkZXIgc2ljaAoqc2NoYWVtKiBlcnN0IGFiIGxldmVsIDE4IG9yZGVudGxpY2ggc2VsYmVyIHVtIHNlaW5lIFJ1ZXN0dW5nIGdla3VlbW1lcnQgaGF0KQoKQWxzbyB3YXMgaGFlbHQgaWhyIGRhdm9uID8gUmVha3Rpb25lbiBuaW1tIGljaCBuYXR1ZXJsaWNoIGdlcm5lIGVudGdlZ2VuIDopKQoKQ2lhbywgU2libyA6dikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlaW5zdHVmdW5nIGRlciBXYWZmZSAoQ3VjaHVsbGluLCAyMC4gU2VwIDE5OTUsIDE1OjAzOjAwKToKIyEgcm49U2lib3JpdCBydD04MTE2MDE1NzMKCkplIGJlc3NlciBkaWUgV2FmZmUsIGRlc3RvIG1laHIgR2VzY2hpY2sgaXN0IG5vZXRpZy4KRGFzIHNvbGx0ZSBlaWdlbnRsaWNoIHJlaWNoZW4uCkN1Y2guLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlaW5zdHVmdW5nIGRlciBXYWZmZSAoU2lib3JpdCwgMjAuIFNlcCAxOTk1LCAxNToyNzo1NSk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MTE2MDIxODAKRGFubiBibGVpYnQgZXMgYWxzbywgZGFzIGhvZmZudW5nc3ZvbGxlbiBhbmZhZW5nZXIgQlNTIGJlbnVldHplbiBrb2VubmVuLAp3ZWlsIHNpZSBlYmVuIGVpbmVuIDJ0eSBzaW5kLgoKTWl0IGcyMCB1bmQgbnVyIGVpbiBNZXNzZXIgYWxzIHdhZmZlLCBoZWlzc3QgZGFzIGVpbmZhY2gsIGRhcyBkdSBkaWNoCnppZW1saWNoIGd1dCBtaXQgZGVtIE1lc3NlciBhdXNrZW5uc3QuCgpDaWFvLCBTaWJvIDt2KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlaW5zdHVmdW5nIGRlciBXYWZmZSAoVWxvLCAyMC4gU2VwIDE5OTUsIDE1OjI4OjI3KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTYwMjE4MAoKSGFsbG8hLiBEYXMgaXN0IHNjaG9uIHNvISBoYXN0ZSBtYWwgcHJvYmllcnQsIGRhcyBCU1MgdW50ZXIgZ2VzY2hpY2tsaWNoa2VpdAoxMiB6dSB6dWVja2VuID8KClVsby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWVpbnN0dWZ1bmcgZGVyIFdhZmZlIChDdWNodWxsaW4sIDIwLiBTZXAgMTk5NSwgMTU6MzI6MzYpOgojISBybj1VbG8gcnQ9ODExNjAzNzA3CgoqZ3JpbnN1bG9zZWhyYnJlaXRhbioKRGFua2UsIElDSCBXZWlzcyBkYXMgOikgVW5kIG5ldWVyZGluZ3MgaXN0IGVzIGJpcyBHZXNjaGljayAxNSBhdWNoIDItaGFlbmRpZywKd2VubiBpY2ggZGFzIHJpY2h0aWcgbWl0Z2Vob2VydCBoYWJlIDopCgpDdWNoLi0gLSBoYXQgZGFzIEJTUyBzZWx0ZW4sIHdlaWwgZXIgYmVzc2VyZXMga2VubnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWhlcnF1aXogKFJhZmZpLCAyMC4gU2VwIDE5OTUsIDE2OjA3OjQwKToKIyEgcm49SGFyZGlsIHJ0PTgxMTU5MDUyNwoKR2FueiBtZWluZSBNZWludW5nIC0gaW5zYmVzb25kZXJlIHdlbm4gbGV1dGUgTWVocnplaWxpZ2UgTWluL01vdXRzIGhhYmVuCihpY2ggc2FnIG51ciBjaGljb2xhKQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZWluc3R1ZnVuZyBkZXIgV2FmZmUgKFJhZmZpLCAyMC4gU2VwIDE5OTUsIDE2OjEyOjU0KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTYwMjE4MAoKTWFnIHNlaW4sIGFiZXIgYmVpbSBTdGVpbmhhbW1lciAoU3RlaW5icnVjaCkgZmluZGUgaWNoIGRhc3MgZ2VyYWRlIGJsb2VkZSAtCmhpZXIgc29sbHRlIChhdXNzbmFtc3dlaXNlKSBkaWUgS3JhZnQgbWFzc2dlYmxpY2ggc2VpbiAhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZWluc3R1ZnVuZyBkZXIgV2FmZmUgKEN1Y2h1bGxpbiwgMjAuIFNlcCAxOTk1LCAxNjozMTowMCk6CiMhIHJuPVJhZmZpIHJ0PTgxMTYwNjM3NAoKRXMgaXN0IGRlZmF1bHRtYWVzc2lnIHNvLCBkYXNzIGRpZSBXYWZmZW5rbGFzc2UgLSBlaW4gV2VydCBmdWVyIGRlbiBTY2hhZGVuLApkZW4gc2llIG1pdCBlaW5lbSBTY2hsYWcgYW5yaWNodGVuIGthbm4gLSB1bmQgZGllICJadWVja2JhcmtlaXQiIGVpbmVyIFdhZmZlCnByb3BvcnRpYWwgdm9uZWluYW5kZXIgYWJoYWVuZ2lnIHNpbmQuCkV4dHJhcyAoZXMgZ2lidCBlaW5pZ2UgV2FmZmVuLCBkaWUgbWFuIG1pdCB3ZW5pZ2VyIEdlc2NoaWNrIHp1ZWNrZW4ga2FubiwKZWluaWdlLCBmdWVyIGRpZSBtYW4gc29nYXIgbm9jaCBtZWhyIGJyYXVjaHQpIG11ZXNzZW4gdm9uIGRlbiBNYWdpZXJuIHNlbGJzdApnZXNjaHJpZWJlbiB3ZXJkZW4uIERhc3MgZGEgbmF0dWVybGljaCBkaWUgVmllbGZhbHQgZHJ1bnRlciBsZWlkZXQsIGlzdAplaW5sZXVjaHRlbmQsIGRlbm4gTWFnaWVyIHNpbmQgbmljaHQgaW1tZXIgYmllbmVuZmxlaXNzaWcuCkFiZXIgdmllbGxlaWNodCB0dXQgc2ljaCBiZWkgZGVuIFdhZmZlbiBlaCBub2NoIHdhcy4gSWNoIHZlcnN0ZWggaW1tZXJub2NoCm5pY2h0LCB3aWUgZWluIFp3ZXJnIG9kZXIgZ2FyIGVpbiBGcm9zY2ggbWl0IGVpbmVtIExhbmdzY2h3ZXJ0IHVtZ2VoZW4ga2FubiA7KQoKQ3VjaC4tIC0gc3RlbGx0IHNpY2ggZWluZW4gU2Nod2VydHNjaHdpbmdlcmZyb3NjaCB2b3IuLi4qbGFjaHdlZyoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTcGllbGVyL1NlaGVyIHJhdGlvIChSYWZmaSwgMjAuIFNlcCAxOTk1LCAxNjozNjoyNik6CiMhIHJuPUR1cmlhbiBydD04MTE1OTQwOTIKCkFzbW9kaXM6CkF1Z2UgYWxzIE1pbmlxdWVzdGUgPyBzYWcgbWlyIHdvIGRpZSBhbmZhZW5ndCAoYml0dGUgbWl0IEhpbndlaXMKZmFsbHMgZXMgZ2VmYWVybGljaCB3aXJkKSBXb2Z1ZXIgaWNoIGVpbmUgTGlzdGUgd2lsbCA/IFdhcnVtCmZsaWVnZW4gZGllIExldXRlIGF1ZiBkZW4gTW9uZCBvZGVyIGxvZ2dlbiBzaWNoIGltIE1HIGVpbiA/Ck5ldWdpZXIgc29ubnN0IG5peC4gQXVzc2VyZGVtIGJld2RldXRldCBMVkwgMyBkYXMgbWFuIHNvd2FzCm5pY2h0IGVyc3RlbGxlbiBkYXJmID8gSWNoIHdpbGwgamEgZ2VyYWRlIGtlaW5lIExpc3RlIHVlYmVybmVobWVuCnNvbmRlbiBzZWxic3QgaGVyYXVzZmluZGVuIHdhcyBsb3MgaXN0LiBOdW4sIG1hbiBrYW5uIGphIGRhcyBBdWdlCm1pdCBkZW0gU2NobWllZCB1bnRlcnN0dWV0emVuIHVuZCBiZWtvbW10IHNvIHJlY2h0IGF1c3NhZ2VrcmFlZnRpZ2UKUmVsYXRpb25lbiBJY2ggd2lsbCBqYSBlaW5lIFJhbmdmb2xnZSBkZXIgV2FmZmVuIHVuZCBydWVzdHVuZ2VuIC0Kd2VsY2hlIGFic29sdXR3ZXJ0ZSBkYWhpbnRlcnN0ZWNrZW4gaXN0IGRvY2ggbmViZW5zYWVjaGxpY2ggLSBkaWUKYmVzdGUgUnVlc3R1bmcgLyBXYWZmZSBnZXdpbm50IDopCgpBdXNzZXJkZW0gaGFiIGljaCBnbGF1YmUgaWNoIHNjaG9uIGRhcmdlc3RlbGx0IGRhcyBpY2ggZWluZW4KX2xlaWNodF8gZXJob2VodGVuIEdlbGRkdXJjaHNhdHogaGFiZS4KCkphZjoKRGVpbmUgQXJndW1lbnRhdGlvbiB3Zy4gU2VoZXJ6d2VpdGllcyBpc3QgbmljaHQgc2NobGVjaHQsIGFiZXIKd2FydW0gc2VoZSBpY2ggZGljaCBkYW5uIHNvIG9mdCA/IElzdCBkZWluIEVyc3RpZSBzbyBzY2h3YWNoID8KV2VubiBkZXIgWndlaXRpZSBudXIgSGlsZmUgc2VpbiBzb2xsICBPaywgYWJlciBnZW1laW5zYW1tIG1pdApad2VpdGllcyBydW1sYXVmZW4gaXN0IHNjaHdhY2ggLSBpY2ggc3RlcmJlIGxpZWJlciAiZWhybGljaCIuClZvciBhbGxlbSBzb2xsIGVzIGphIGxldXRlIG1pdCBNRUhSRVJFTiBad2VpdGllcywgc29nYXIgU0VIRVItCnp3ZWl0aWVzIGdlYmVuLiBEYXMgaXN0IGRvY2ggd29obCB1ZWJlcnRyaWViZW4KCkJhbmt6d2VpdGllcyBzaW5kIChkZW5rZSBpY2gpIE9rLCBzb2xhbmdlIGVzIGtlaW5lIEJhbmsgZ2lidCAtCndhcnVtIHNvbGwgZGVyIFZvcnRlaWwgKEdlbGQgaW4gdHJ1aGUpIG51ciBmdWVyIFNlaGVyIGRhIHNlaW4uCldhcnVtIGtlaW5lIEFsbGdlbWVpbmUgQmFuayA/IChJY2ggd2Vpc3MgZGFzIFRoZW1hIGlzdCBuaWNodApuZXUpIEljaCBrb2VubnRlIG1pciBlaW5lIEJhbmsgdm9yc3RlbGxlbiwgZGllIG1pdCBORUdBVElWRU4KWmluc2VuIGFyYmVpdGV0IGQuSC4gdGFlZ2xpY2ggd2lyZCBkYXMgR2VsZCB1bSB6LkIuIDMlIHZlcnJpbmdlcnQuCgpEdXJpYW46CkdhbnogbWVpbmUgTWVpbnVuZy0gZGFzIGhpZXIgaXN0IGVpbiAoUm9sbGVuKXNwaWVsIGljaCBCSU4gUmFmZmkuCkljaCB3ZXJkZSBtaXIga2VpbmVuIDJ0aWUgenVsZWdlbi4gSWNoIGthbm4gamVkb2NoIFZlcnN0YWVuZG5pc3MKZnVlciBCYW5rIDJ0aWVzIGF1ZmJyaW5nZW4uIEF1c3NlcmRlbSBoYWIgaWNoIGVzIGJpcyBqZXR6dCBuaWNodApnZXNjaGFmZnQgbWVociBhbHMgZWluZSB0ZWxuZXRzaXR6dW5nIGF1Znp1YmF1ZW4gdW5kIGRlciB1bml4IHVlYmVyCmRlbiBpY2ggbWl0IFRlcm1pbmFsZW11IGRyaW5uZW4gYmluIGVybGF1YnR0IG1pciBudXIgZWluZW4gbG9naW4gOigKQWJlciBlcyBpc3QgamEga2VpbiB2ZXJsdXN0IQoKTml4aWhvdToKU2VoZXJxdWl6IC0gZ2VuYXUgbWVpbmUgTWVpbnVuZyAtIGF1Y2ggZGFzIG1pdCBkZXIgV2llZGVyaG9obHVuZwppc3QgZ3V0LCBpY2ggc3RlbGxlIGVzIG1pciBudXIgZXR3YXMgcHJvYmxlbWF0aXNjaCB2b3IuIE1hbiBrb2VubnRlCmphIGF1Y2ggcmVnaW9uc3NwZXppZmlzY2hlIFp1c2F0enBydWVmdW5nZW4gbWFjaGVuICh6LkIuIGVpbiBEaXBsLgpTZWhlciBIRSBvZGVyIERpcGwuU2VoZXIgRk8pIC0gTmljaHQgZ2xlaWNoIHdlZ2VuIGRlciBBcmJlaXQgaGV1bGVuCm1laW5lIGxpZWJlbiBFcnptYWdpZXIgLSBpc3QgamEgbnVyIG5lIGlkZWUgOikgKGFiZXIgbmUgZ3V0ZSkKCgpJbnNiZXNvbmRlcmUgc29sbHRlIGRlciBEaXBsLlNlaGVyIGphIGVpbiB1ZWJlciBkYXMgU2NyaXB0c3BpZWxlbgpoaW5hdXNnZWhlbmRlcyBXaXNzZW4gZG9rdW1lbnRpZXJlbi4gSW5zb2Zlcm4gd2FlcmUgZGVyIERpcGwuU2VoZXIKYXVjaCBlaW5lIHVuYmVkaW5ndGUgVm9yc3R1ZmUgZnVlciBkZW4gTWFnaWVyIChIYWxsbyBCZW5kZWlnaWQ6KQpEZXIgRGlwbC5TZWhlciBzb2xsdGUgYXVjaCBrZWluZSBuYWVjaHN0ZSBTdHVmZSBuYWNoIGRlbSBTZWhlcgpzZWluLCBzb25kZXJuIGVpbmUgWlVTQUVUWkxJQ0hFLCBGUkVJV0lMTElHRSBRdWFsaWZpemllcnVuZy4KCgpHcnVzcwpILgooTGFuZ3NhbW0gd2VyZGUgaWNoIHp1bSBTY2hyZWliZXJsaW5nKQoKUC5TLjogQmVuZGVpIC0gbmljaHQgZGFzIGljaCBkaWNoIGZ1ZXIgZWluZW4gc2NobGVjaHRlbiBNYWdpZXIgaGFsdGUKICAgICAgLSBpbSBHZWdlbnRlaWwhIC0gYmlzaGVyIG51ciBwb3NpdGl2IDopIGFiZXIgZGVyIFRleHQgdm9uIENodWNoCiAgICAgIGZvcmRlcnQgZWluZmFjaCBkaWVzZSBBbm1lcmt1bmc6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV1ZWluc3R1ZnVuZyBkZXIgV2FmZmUgKFJhZmZpLCAyMC4gU2VwIDE5OTUsIDE2OjQwOjMyKToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTYwNzQ2MAoKSG1tbSBuZWUgc29sY2hlbiBFbGZlbmtyZW1wZWwgd2lsbCBpY2ggZWggbmljaHQKClF1YWFhYWFrCgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIG1pbnMgbW91dHMgKENoaWNvbGEsIDIwLiBTZXAgMTk5NSwgMTg6MzU6MzQpOgpIYWxsbyBJaHIgOikKRGEgaWNoIG51biBzY2hvbiBkaXJla3QgYW5nZXNwcm9jaGVuIHd1cmRlLCB3aWxsIGljaCBtYWwgZGF6dSBhdXNzZXJuIDopCkVzIGdpbmcgdW0gbWVpbmUgbGFuZ2VuIG1pbnMgdW5kIG1vdXRzISAgSWNoIGxhdWZlIHNjaG9uIHNlaXQgTW9uYXRlbiBkYW1pdAogcnVtIHVuZCBpY2ggd2Vpc3MsIGRhc3Mgc2llIG5lcnZpZyBzaW5kLCBzb2xsdGUgaWNoIG1hbCBvZWZ0ZXIgdm9yYmVpc2NoYXUKZW4gOikgRGVzaGFsYiBoYWJlIGljaCBKb2YgYXVjaCBzY2hvbiBhdWYgZGVyIFBhcnR5IGdlYmV0ZW4sIGltIHVsdHJrdXJ6bW9kCnVzIGRpZSBtaW5zIGF1cyAnc2NoYXV0IGt1cnonIHVuZCBtb3V0cyAndm9yYmVpLlxuJyB6dSBzZXR6ZW4gISBEYXMgc2llaHQgZAphbm4gc28gYXVzICEKQ2hpY29sYSBzY2hhdXQga3VyeiB2b3JiZWkKCkdhbnogT2huZSBpbnMgdW5kIG91dHMgZ2VodHMgbmljaHQsIGRhc3Mgd2Vpc3MgaWNoICEgTGVpZGVyIGhhdCBlcyBKb2Ygbm9jaAogbmljaHQgZ2VzY2hhZmZ0LCBlcyBlaW56dWJhdWVuISBEZXNoYWxiIGJpdHRlIGljaCBldWNoIHVtIEdlZHVsZCAhIFZpZWxlaWMKaHQgaGF0IGphIGF1Y2ggZWluIGFuZGVyZSBNYWdpZXIgZGllIE11c3NlIGRhcyBtYWwgenUgYWVuZGVybjopIE9kZXIgaGFidCBpCmhyIGJlc3NlcmUgVm9yc2NobGFlZ2UgPz8KCkJpcyBkZW5uZSA6KQp3ZWl0ZXJoaW4gaW0gdWx0cmFrdXJ6IGR1cmNoIE1HIHJhZGVsbmQgICAgIENoaWNvbGEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTcGllbGVyL1NlaGVyIHJhdGlvIChKYWYsIDIwLiBTZXAgMTk5NSwgMTk6MDQ6NDApOgojISBybj1EdXJpYW4gcnQ9ODExNTk0MDkyCgpBbHNvIGltIGdyb3NzZW4gdW5kIGdhbnplbiBrYW5uIGljaCBEdXJpYW4genVzdGltbWVuLi4gamEsIGhhdXQgbWljaC4KSWNoIHdlaXNzLCBkYXNzIGljaCBlaW5lciBkZXJqZW5pZ2VuIHdhci9iaW4sIGRpZSBTY3JpcHRlIGJlbnV0enRlbi4KQXVzbG9lc2VyIGRhZnVlciB3YXIgaW4gZGVtIGtvbmtyZXRlbiBGYWxsLCBkYXNzIHBsb2V0emxpY2ggQW5mb3JkZXJ1bmdlbgphbiBkaWUgU3BpZWxlciBnZXN0ZWxsdCB3dXJkZW4sIGRpZSBtaXQgJ25vcm1hbGVyJyBTcGllbHdlaXNlIG5pY2h0Cm1laHIgenUgc2NoYWZmZW4gd2FyZW4gLSBpY2ggc2FnIG51ciBLYXJhdGVsZXJuZW4gbWl0IGRlbSBhbHRlbiBMZXJudGVtcG8uCkRpZSBTY3JpcHRlcmVpIHd1cmRlIGFsc28gbWVpbmVyIE1laW51bmcgbmFjaCBhdWNoIHZvbiAnb2JlbicKcHJvdm96aWVydC4gUHVua3QuIEF1c3NlcmRlbSBpc3QgZXMgRmFrdCwgZGFzcyBkYXMgTUcgaW1tZXIgZ3JvZXNzZXIgd2lyZCwKZGFkdXJjaCBpbnNiZXNvbmRlcmUgZGllIFdlZ2UgaW1tZXIgbGFlbmdlciB3ZXJkZW4sIGFsc28gZGllIFdlZ2VzY3JpcHRzCmFuIEJlZGV1dHVuZyBnZXdpbm5lbiAoYXVjaCBmdWVyIGRpZSBhY2ggc28gZ2V3b2xsdGUgVW50ZXJzdHVldHp1bmcKYW5kZXJlciBMZXV0ZSAtIGFscyBpY2ggYW5nZWZhbmdlbiBoYWIsIHdhciBkZXIgbGFlbmdzdGUgV2VnIHdvaGwgdm9tCkZyaWVkaG9mIG5hY2ggUFYsIGRlbiBrYW5uIG1hbiBkdXJjaGF1cyBwZXIgSGFuZCBsYXVmZW4sIGFiZXIgdm9uCkhpbnRlcm1vdWxvdWtpbiBpbnMgV2FuZ2Fkb3JmIGxhdWYgaWNoIG5pY2h0KS4KQWVobS4uIHdhcyB3b2xsdGUgaWNoIGVpZ2VudGxpY2ggc2FnZW4uLi4KSmVkZW5mYWxscyB3b2xsdGUgaWNoIG5vY2ggc2FnZW4sIGRhc3MgbWFuIG1hbmNobWFsIHNlaHIgd29obApkaWZmZXJlbnppZXJlbiBtdXNzLCBTY3JpcHQgaXN0IG5pY2h0IFNjcmlwdCwgWndlaXRpZSBpc3QgbmljaHQKWndlaXRpZSwgYWJlciBpcmdlbmR3aWUgd2lyZCBoaWVyIGluIGRlciBESXNrdXNzaW9uIG1hbmNobWFsIGFsbGVzCmR1cmNoIGRlbiBzZWxiZW4gS2FrYW8gZ2V6b2dlbi4gVmllbGxlaWNodCBzb2xsdGUgbWFuIHNpY2ggbmljaHQKdW5iZWRpbmd0IGFuIGRlciBUYXRzYWNoZSBob2NoemllaGVuLCBkYXNzIGVpbmUgbWl0IGZ1ZW5mIFp3ZWl0aWVzCnJ1bXJlbm50LCBzb25kZXJuIHNpY2ggZnJhZ2VuLCB3YXJ1bSBlciBkYXMgbWFjaHQuIFVuZCBkaWUgRXhpc3RlbnoKdm9uIGRyZWkgdmVyc2NoaWVkZW5lbiBHaWxkZW4gaXN0IGluIG1laW5lbiBBdWdlbiBkdXJjaGF1cyBlaW4gR3J1bmQsCnp3ZWkgWndlaXRpZXMgenUgaGFiZW4uIEVzIGdpYnQgYW5kZXJlIE11ZHMsIHdvIHNpY2ggdmVyc2NoaWVkZW5lCkdpbGRlbiByZWdlbHJlY2h0IGJla3JpZWdlbiwgdW5kIGljaCBkZW5rZSwgZGllc2VyIFphdXN0YW5kIGlzdCBuaWNodAplcnN0cmViZW5zd2VydCB1bmQgbGFlc3N0IHNpY2ggZHVyY2ggZWluZW4gZ2V3aXNzZW4gR3JhZCB2b24KJ0F1Zmdla2xhZXJ0aGVpdCcgdmVybWVpZGVuLiBKZWRlbmZhbGxzIHdlcmRlIGljaCBKYWYgbmljaHQgdW1oYXVlbiwKd2VpbCBlciBiZWkgZGllc2VtIENoYW90ZW5oYXVmZW4gbWl0bWFjaHQgOikKCkhtLCBkYXMgd2FyJ3MgaW1tZXIgbm9jaCBuaWNodCwgd2FzIGljaCBzYWdlbiB3b2xsdGUuLi4KTmFqYSBtYWNodCBuaXguCgpGeXQuCgpFaW53YXMgdmllbGxlaWNodCBub2NoOiBJY2ggaGFiIG1laW5lbiBTZWhlciBhdWNoIGF1ZiBuZXIgRG9zZQptaXQgTkNTQS1UZWxuZXQgZ2VtYWNodCwgdW5kIGRhbm4gaGllc3MgZXMgaXJnZW5kd2FubiBtYWwsIFNlaGVyCnNpbmQgUmVudG5lciwgZGllIHNpbmQgbnVyIG5vY2ggenVtIFNwYXNzIGRhIHNpbmQgdW5kIGdlbmF1IGRhcwptYWNoIGljaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoSmFmLCAyMC4gU2VwIDE5OTUsIDE5OjA2OjU4KToKIyEgcm49QmVuZGVpZ2lkIHJ0PTgxMTU5NjIyOQoKQWVobSwgYml0dGUgd28gbGFlZ2VuIGltbWVyIEJ1bWlzIHJ1bSwgZ2FlYmUgZXMga2VpbmUgU2VoZXJsYWVkZW4/CkljaCBrZW5uIGRhIGdlbmF1IGVpbmUgU3RlbGxlLCB1bmQgZGEgZ2VoIGljaCBuaWNodCBmcmVpd2lsbGlnIGhpbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKENhdHdlYXpsZSwgMjAuIFNlcCAxOTk1LCAxOToxMDoxOCk6CiMhIHJuPUphZiBydD04MTE2MTY2ODAKSGkhCktpbmRlciwgaWhyIGtvZW5udCBFdWNoIG5vY2ggc3R1bmRlbmxhbmcgZGllIEZpbmdlciB3dW5kdGlwcGVuLCB3ZWdlbgpFdXJlciBTZWhlcmphbW1lcmVpLiBBYmVyIHdpciBoYXR0ZW4gZ2VzdGVybiBlaW5lbiBfc2Vocl8gZXJmb2xncmVpY2hlbgpTdGFtbXRpc2NoIHVuZCBoYWJlbiBkaWUgdWx0aW1hdGl2ZSBMb2VzdW5nIGdlZ2VuIEtvbXBsZXR0bG9lc3VuZ2VuLCB1bmQKZGFtaXQgbmViZW5iZWkgYXVjaCBlaW4gd3VuZGVyc2Nob2VuZXMgbmV1ZXMgS3JpdGVyaXVtIGZ1ZXIgZGllIFNlaGVyd2VyZHVuZwpnZWZ1bmRlbiEKV2llPwpOYSBsYXNzdCBFdWNoIG1hbCB1ZWJlcnJhc2NoZW4gOikpKQoKWW91cnMgdHJ1bHksCiAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZWluc3R1ZnVuZyBkZXIgV2FmZmUgKEphZiwgMjAuIFNlcCAxOTk1LCAxOToxMjowMCk6CiMhIHJuPVNpYm9yaXQgcnQ9ODExNjAxNTczCgpIbSwgZGFzIFN5c3RlbSBnaWJ0J3Mgc2Nob24sIGVzIGhlaXNzdDoKJ0R1IGJpc3QgenUgdW5nZXNjaGlja3QsIHVtIGRpZXNlIFdhZmZlIHp1IHp1ZWNrZW4nLgpadSBkZW0gWndlaXRpZWdlcmVkZSBtb2VjaHQgaWNoIG1pY2h0IG5pY2h0IGFldXNzZXJuICpodWVzdGVsKgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZWluc3R1ZnVuZyBkZXIgV2FmZmUgKEphZiwgMjAuIFNlcCAxOTk1LCAxOToxNToyNik6CiMhIHJuPVVsbyBydD04MTE2MDM3MDcKCk9jaCwgZWluZSAgYmVzc2VyZSBXYWZmZSBhbHMgZWluIEJTUz8gd28sIHdvLCB3bz8gWmVpZydzIG1pci4KR2liJ3MgbWlyISBVZWJlcmhhZXVmIG1pY2ggZGFtaXQuCgpGeXQuCgpPZWhtLi4gaGFiIGljaCBqZXR6dCB3YXMgZmFsc2NoIGdlbWFjaHQ/IE9kZXIgaGFldHRlIGljaCBlaW4gT3JpZ2luYWxsb2cKdm9tIFNlaGVya2FuYWwgcG9zdGVuIHNvbGxlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEphZiwgMjAuIFNlcCAxOTk1LCAxOToyMjowNyk6CiMhIHJuPVJhZmZpIHJ0PTgxMTYwNzc4NgoKSG0sIEJlbiwgaWNoIGJpbiBvZnQgZHJpbi4uLiBtYWcgd29obCBzZWluLi4uIGhhc3QgZHUgbWljaCBzY2hvbiBtYWwKbWl0IEZ5dCB6dXNhbW1lbiBtZXR6ZWxuZCBpbiBkZXIgR2VnZW5kIHJ1bXJlbm5lbiBzZWhlbj8gR3V0LgpXdWVyZGUgbWljaCBuYWVtbGljaCBhdWNoIHd1bmRlcm4uCgpJY2ggYmluIGRlciBNZWludW5nLCBkYXNzIG1hbiBkdXJjaGF1cyB6d2VpIHZlcnNjaGllZGVuZSBDaGFyYWt0ZXJlCnNwaWVsZW4ga2FubiwgdW5kIEZ5dHMgRnJldW5kZSBzaW5kIG5pY2h0IGltbWVyIG1laW5lIHVuZCB1bWdla2VocnQuClZpZWxsZWljaHQgc29sbHRlIGljaCBrb25zZXF1ZW50ZXJ3ZWlzZSBGeXQgZGF6dSBicmluZ2VuLCBzZWluZQplaWdlbmUgWmVpdHVuZyB6dSBsZXNlbiB1bmQgc2VpbmUgZWlnZW5lbiBBcnRpa2VsIHp1IHNjaHJlaWJlbiwgZGFzCnd1ZXJkZSBkZW4gWnVzdGFuZCB3b2hsIGluIGRlciBPZWZmZW50bGljaGtlaXQgYmVrYW5udG1hY2hlbi4gTmFqYS4KQWJlciBlciBpc3QgZHVtZW1yd2Vpc2UgaW0gTW9tZW50IG5pY2h0IGRhLCBhYmVyIHdlbm4gaWNoIGlobiB3aWVkZXIKbWFsIHNlaGUsIHdlcmRlIGljaCBtYWwgbWl0IGlobSBkcnVlYmVyIHJlZGVuIDopCgpPZWhtLi4uCgpKYWYuIERpZXNtYWwgZWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZSBtaW5zIG1vdXRzIChBY3JpbW9uLCAyMC4gU2VwIDE5OTUsIDE5OjQ3OjAwKToKIyEgcm49Q2hpY29sYSBydD04MTE2MTQ5MzQKTmVpbiBiaXR0ZSBrZWluZSBleHRyYSBtaW5zIHVuZCBtb3V0cyBiZWkgdWx0cmFrdXJ6IGZlc3RsZWdlbiwgaWNoIHdpbGwKYXVjaCBiZWkgdWx0cmFrdXJ6IG1laW5lIG1pbnMgdW5kIG1vdXRzIHNlbGJzdCBzZXR6ZW4ga29lbm5lbiEKVW5kIENoaWNvbGE6IER1IGthbm5zdCBqYSBmdWVyIGplZGVuIGRlaW5lciB1bHRyYWt1cnotTGFldWZlIGRlaW5lIG1pbnMgdW5kCm1vdXRzIGplZGVzbWFsIG5ldSBzZXR6ZW4sIHRlY2huaXNjaCBpc3QgZGFzIGphIGZ1ZXIgZGljaCBrZWluIFByb2JsZW0uCgpJY2ggd3VlcmRlIGVzIGFiZXIgYmVncnVlc3Nlbiwgd2VubiBpY2ggInVrbWluIiB1bmQgInVrbW91dCIgc2V0emVuIGtvZW5udGUKKHNvd2llICJrbWluIiB1bmQgImttb3V0IikuIERhbWl0IGhhdCBkYW5uIGplZGVyIFNlaGVyIGRyZWkgaW5kaXZpZHVlbGxlLAp2ZXJzY2hpZWRlbmUgR2VzY2h3aW5kaWdrZWl0ZW4uCgpBY3JpbW9uLCB1bHRyYWt1cnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFN1c2hpLCAyMC4gU2VwIDE5OTUsIDIwOjMxOjIxKToKIyEgcm49RHVyaWFuIHJ0PTgxMTU5NDA5MgpJY2ggbWFjaGUgbWljaCBzbyBsYW5nZSB3ZWl0ZXIgdW5iZWxpZWJ0LCBiaXMgamVtYW5kIGRhZnVlciBWZXJzdGFlbmRuaXMKYXVmYnJpbmd0LCBkYXNzIGljaCBuaWNodCBlaW5lIE1lbmdlIEdlbGQgZHVyY2ggc2NobGVjaHQgZ2VzdHlsdGUgU3ludGF4CnZlcmxpZXJlbiB3aWxsLiBSb2xsZW5zcGllbCwgd2llIGljaCBlcyB2ZXJzdGVoZSwgaGF0IHZpZWwgbWl0IFN0aW1tdW5nIHVuZApQaGFudGFzaWUgenUgdHVuLiBEaWUgU3RpbW11bmcgaXN0IGJlaSBha3V0ZXIgQU9EIGluZm9sZ2UgU3ludGF4bXVlbGwgYWJlcgp6aWVtbGljaCBzY2huZWxsIGRhaGluLgpCVFcsIGVpbmUgUXVlc3Qgd2llIGRpZSBtaXQgZGVtIFJpZmYgdW5kIGRlbSBLb2VuaWcgKCpncnVlYmVsKikgaXN0IGZ1ZXIgbWljaAphdXMgdGVjaG5pc2NoZW4gR3J1ZW5kZW4gKE1hdGhlIGltbWVyIDUtKSBuaWNodCBsb2VzYmFyLgpTb3JyeSEKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFJvY2h1cywgMjAuIFNlcCAxOTk1LCAyMDo1ODowNSk6CiMhIHJuPVN1c2hpIHJ0PTgxMTYyMTg4MQpXZW5uIER1IFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZSBoYXN0LCBiZW51dHplIGRvY2gKZWluZmFjaCBkaWUgQmVmZWhsZSAiZmVobGVyIiwgImlkZWUiIG9kZXIgInR5cG8iLApkYW5hY2ggc29sbHRlIHNvIGV0d2FzIGJhbGQgYmVob2JlbiBzZWluLgpEYXMgaXN0IGplZGVuZmFsbHMgZGllIHVudmVyc2NoYWVtdGVzdGUgQmVncnVlbmR1bmcgZnVlciBkZW4gRWluc2F0egp2b24gS29tcGxldHRsb2VzdW5nZW4sIGRpZSBpY2ggamUgZ2Vob2VydCBoYWJlLgpNYW4ga2FubiBhdWNoIGZyYWdlbiwgd2VubiBtYW4gbWFsIGFuIGVpbmVyIFN0ZWxsZSBoYWVuZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChTY2hydW1wZmksIDIwLiBTZXAgMTk5NSwgMjE6MTE6MTUpOgojISBybj1EYXVlcmdhc3QgcnQ9ODExNTA3OTQ5ClVtIGRpZSBYdGllcyBnZWh0cyBkb2NoIG5pY2h0LiBTb3dlaXQgaWNoIGRhIG1pdGdla3JpZWd0IGhhYiwgZ2VodCBlcyBkYXJ1bSwKZGFzcyBtYW5jaGUgZGVuIFNlaGVyc3RhdHVzIGVycmVpY2hlbiBvaG5lIHNpY2ggaXJnZW5kd2llIGFuenVzdHJlbmdlbi4gV2VubgplaW4gU2VoZXIgc2ljaCBYdGllcyB6dWVjaHRldCB1bmQgZGllIHp1bSBTZWhlciBob2Noc3BpZWx0IGhhdCBlciBzaWNoIGphCnNjaG9uIGVpbm1hbCBhbmdlc3RyZW5nIHVuZCBrZW5udCBkYXMgTXVkIGhhbGJ3ZWdzLiBTbyBzb2xsdGUgZXMsIG1laW5lcgpNZWludW5nIG5hY2ggc2Vpbi4KSWNoIGZpbmQgZXMgZWluZmFjaCBwZWlubGljaCB3ZW5uIGF1ZiAtaCBkaWUgRnJhZ2Uga29tbXQsIHdvIGRlbm4gU25hcmtlbiBzZWkKekIuIEVzIGlzIHNjaG9uIHNvIHdpZSBZYW50cm8gZXMgZ2VzY2hyaWViZW4gaGF0LCBkaWUgbWVpc3RlbiBTZWhlciwga2VubmVuCmlocmUgVEYtQmVmZWhsZSBhYmVyIGRlbiBCZWZlaGwgJ3VudCcga2VubmVuIHNpZSBuaWNodC4KRXMgd2VyZGVuIGhpZXIgS29tcGxldHRsb2VzdW5nZW4gdmVydGVpbHQgd28gc29nYXIgZGVyIFdlZyBiZXNjaHJpZWJlbiBpc3QKdW5kIHdlbGNoZSBCZWZlaGxlIHdvIHVuZCBzdy4gS2xhciBoYWIgaWNoIGF1Y2ggbWl0IFRpcHMgdW5kIFp0LUxpc3RlbgpnZWFyYmVpdGV0IGFiZXIgaWNoIGhhYiBtaXIgZGllIFF1ZXN0IHRyb3R6ZGVtIGFuZ2VzZWhuIHVuZCB3ZW5uIGljaCBuaWNodAptZWhyIHdlaXRlciB3dXNzdGUgaGFiIGljaCBiZWkgbWVpbmVuIFRpcHMgbmFjaGdlc2NoYXV0LgpXZW5uIGRhcyBzbyB3ZWl0ZXIgZ2VodCBlcnNwYXIgaWNoIG1pciBtZWluZSBEZXRhaWxzIGluIGRlbiBSYWV1bWVuLCBrdWNrdApzaWNoIGVoIGtlaW5lciBhbiB1bmQgbmVydmVuZCBpcyBlcyBhdWNoIDEwMCBEZXRhaWxzIHp1IHNjaHJlaWJlbiEKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTcGllbGVyL1NlaGVyIHJhdGlvIChTdXNoaSwgMjAuIFNlcCAxOTk1LCAyMToxMTo1NCk6CiMhIHJuPVJvY2h1cyBydD04MTE2MjM0ODUKPiguLi4pZGllIHVudmVyc2NoYWVtdGVzdGUgQmVncnVlbmR1bmcsIGRpZSBpY2ggamUgZnVlciBkZW4gRWluc2F0eiB2b24KS29tcGxldHRsb2VzdW5nZW4gZ2Vob2VydCBoYWJlLiBNYWcgc2VpbiwgYWJlciB3byBpc3QgZGVyIHRlY2huaXNjaGUKVW50ZXJzY2hpZWQsIG9iIGljaCBqZW1hbmRlbiBhbm5lcnZlLCBvZGVyIGluIGFsbGVybGV0enRlciAoc2ljISkgVmVyendlaWZsdW5nCmluIGRlciBLTCBuYWNoc2NobGFnZT8gTWlyIG1hY2h0IGVzIGplZGVuZmFsbHMga2VpbmVuIFNwYXNzLCBMZXV0ZSAxMCBNYWwKYW56dXF1YXRzY2hlbiwgd2VpbCBpY2ggZGllIFN5bnRheCBlaW5mYWNoIG5pY2h0IHZlcnN0ZWhlPwpGbGFtZSBtZSEKClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTcGllbGVyL1NlaGVyIHJhdGlvIChDdWNodWxsaW4sIDIwLiBTZXAgMTk5NSwgMjE6MjI6NDQpOgojISBybj1TdXNoaSBydD04MTE2MjQzMTQKCipGTEFNRSBPTioKU3VzaGksIGhhc3QgRHUgbmljaHQgZ2VzYWd0LCBkYXNzIERpY2ggZGFzIHp1dmllbCBHZWxkIGtvc3RldD8gT2RlciB3aWUKbGVpY2h0IHZlcnp3ZWlmZWxzdCBEdSBkZW5uPyBadW0gUXVlc3RlbiBnZWhvZXJ0IG51biBtYWwsIGRhc3MgbWFuIG1hbApydW1zdGVodCB1bmQgbmUgdmllcnRlbHN0dW5kZSBhbGxlIG5vY2ggc28gZXJkZW5rbGljaGVuIFN5bnRheGVuIGF1c3Byb2JpZXJ0LAp3ZW5uIG1hbiB1ZWJlcnpldWd0IGlzdCwgZGFzcyBkYSB3YXMgc2VpbiBtdXNzLiBEYXNzIG1hbiBHZWJpZXRlIGJpcyBpbnMKbGV0enRlIERldGFpbCAoIDstKSApIGF1ZiBkZW4gS29wZiBzdGVsbHQgdW5kIHNjaGF1dCwgd2FzIHVudGVuIHJhdXNmYWVsbHQuCipGTEFNRSBPRkYqCkN1Y2guLSAtIGtvZW5udGUgc2ljaCBuaWNodCBnZWdlbiBlaW5lIG5lYmVuIGlobSBsaWVnZW5kZSBLTCB3ZWhyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3BpZWxlci9TZWhlciByYXRpbyAoU2NocnVtcGZpLCAyMC4gU2VwIDE5OTUsIDIxOjI3OjM1KToKIyEgcm49U3VzaGkgcnQ9ODExNTQ2OTMzCldhc24gZGFzIGZ1ZXJuIG1pZXNlcyBBcmd1bWVudD8KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTcGllbGVyL1NlaGVyIHJhdGlvIChCYXJvbiwgMjEuIFNlcCAxOTk1LCAwNjoxNjo0NSk6CiMhIHJuPVN1c2hpIHJ0PTgxMTYyNDMxNApEdSBtdXNzIExldXRlIDEwIG1hbCBhbnF1YXRzY2hlbiwgdW5kIHNpZSBoZWxmZW4gRGlyIGltbWVyIG5vY2ggbmljaHQgd2VpdGVyPwpIbSwga29lbm50ZSBkYXMgZGFyYW4gbGllZ2VuLCBkYXNzIER1IGltbWVyIHNvIGZyZXVuZGxpY2ggdW5kIG5ldHQgenUgYW5kZXJlbgpTcGllbGVybiBiaXN0PwpncnVlYmVsbmQsCkJhcm9uCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoTW9yZ290aCwgMjEuIFNlcCAxOTk1LCAwODowMzo0Mik6CiMhIHJuPVNjaHJ1bXBmaSBydD04MTE2MjQyNzUKaGloaS4uLi5zY2hhdSBkaXIgbWVpbmUgZWJlbmUgYW4uLi4uLmRpZSBpc3QgZnVlciBzb2xjaGUgcmVubmVyIGlkZWFsCm1vcmdvdGggKG11c3N0ZSBhdWNoIG1hbCBzZW5mZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAnc2NobmVsbCcgKFlhbnRybywgMjEuIFNlcCAxOTk1LCAwODo0NjozNSk6CiMhIHJuPUp1cnJ5IHJ0PTgxMTU5NzE5NgogSG1tbSBKdXJyeSwgaWNoIHdpbGwgbWljaCBuaWNodCB3aWVkZXJob2xlbiwgYWJlciBlcyBrb21tdCBtaXQgU0lDSEVSSEVJVAplaW5lIE1lbGR1bmcgenVtIGVuZGUgZGVyIHNjaG5lbGwtcGhhc2UuLi4uIGFsc28gc2NoZWluc3QgZG9jaCBlaW4gYmlzc3JsCidsYWxhJyB6dSBzZWluIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEp1cnJ5LCAyMS4gU2VwIDE5OTUsIDA5OjEzOjA0KToKIyEgcm49U2NocnVtcGZpIHJ0PTgxMTYyNDI3NQpTY2hydXBmaSwgRHUgc3ByaWNoc3QgbWlyIGF1cyBkZXIgU2VlbGUgIQpKdXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU3BpZWxlci9TZWhlciByYXRpbyAoSGFyZGlsLCAyMS4gU2VwIDE5OTUsIDEwOjQ5OjUwKToKIyEgcm49U3VzaGkgcnQ9ODExNjIxODgxCj5JY2ggbWFjaGUgbWljaCBzbyBsYW5nZSB3ZWl0ZXIgdW5iZWxpZWJ0LCBiaXMgamVtYW5kIGRhZnVlciBWZXJzdGFlbmRuaXMKPmF1ZmJyaW5ndCwgZGFzcyBpY2ggbmljaHQgZWluZSBNZW5nZSBHZWxkIGR1cmNoIHNjaGxlY2h0IGdlc3R5bHRlIFN5bnRheAp2ZXJsaWVyZW4gd2lsbC4KCiJTY2hsZWNodCBnZXN0eWx0ZSBTeW50YXgiLCBoYWVoPyBUdXQgbWlyIGxlaWQsIGVpbiBNdWQgaXN0IGtlaW4KRWluaGVpdHNicmVpLiBXZW5uIER1IGFsbGUgUXVlc3RzIG1pdCBkZW4gQmVmZWhsZW4gJ2RydWVja2Ugc3RlaW4nIHVuZCAnemllaAphbSBzdHJpY2snIGxvZXNlbiB3aWxsc3QgLSBkYW5uCmJpc3QgRHUgaGllciB3b2hsIGZhbHNjaC4gRXMgZ2lidCBlaW5mYWNoIChyb2xsZW5zcGllbHRlY2huaXNjaCBnZXNlaGVuIC0KSGFsbHUgRHVyaWFuKSBpbW1lciBrbmlmZmxpZ2UgU2l0YXV0aW9uZW46IGVpbiBTY2hsb3NzLCBkYXMgbmljaHQgc28KZnVua3Rpb25pZXJ0IHdpZSBhbGxlIGJpc2hlciBnZXNlaGVuZW4sIHVuZCBEZWluZSBCZW11ZWh1bmdlbiwgZGFyYW4KaGVydW16dWZ1bW1lbG4sIGJpcyBlcyBhdWZnZWh0LCBrYW5uIG1hbiBqYQpzZWhyIGd1dCBkYW1pdCB1bXNjaHJpZWJuLCBkYXNzIER1IHNvIGxhbmdlIGFuICJzY2hsZWNodCBnZXN0eWx0ZW4gU3ludGF4ZW4iCmhlcnVtZmVpbHN0LCBiaXN0IER1IGRpZSB1bmdsYXVibGljaGUsIGFiZXIgdHJvdHpkZW0gcmljaHRpZ2UgTG9lc3VuZwplaW5nZXRpcHB0IGhhc3QuCkljaCBoYWIgZ2VyYWRlIGRpZSBMb2didWNoLVF1ZXN0IGdlbWFjaHQsIGZyYWcgbWljaCBtYWwgbmFjaCB1bm1vZWdsaWNoZW4KU3ludGF4ZW4uIDotKSBBYmVyIGVzIGhhdCBTcGFzcyBnZW1hY2h0IQpXZW5uIER1IGVzIGFsbGVzIHBlcndvbGx3ZWljaCBoYXN0IC0gc3RlaWcgdW0gYXVmIE1vbmtleS1Jc2xhbmQtWFhWSUkgLi4uCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogJ3NjaG5lbGwnIChMaSwgMjEuIFNlcCAxOTk1LCAxMTo0MDo0Nik6CiMhIHJuPUN1Y2h1bGxpbiBydD04MTE2MDE0MDEKSG1tIHZpZWxlaWNodCBiaW4gaWNoIGphIGV0d2FzIGR1bW0sIGFiZXIgaWdlbmR3aWUgc2VoZSBpY2ggaW4gZGVpbmVtIGFydGlrZWwKbmljaHQgZGllIG5vdHdlbmRpZ2tlaXQsIG1laHJlcmUgQ2hhcmFrdGVyZSBtb2VnbGljaHN0IFNlaGVyIHp1IGhhYmVuLgpXYXJ1bSBrYW5uIG1hbiBuaWNodCBtaXQgZWluZW0gU2VoZXIgYWxsZSBnaWxkZW4gYXVzdGVzdGVuPyBXZW5uIG1pciBkYXMKQXVmc3RlaWdlbiBpbiBkZXIgS2FyYXRlZ2lsZGUgenUgbGFuZ2UgZGF1ZXJ0LCBndXQsIGRhbm4gd2VyZGUgaWNoIGViZW4gd2lkZXIKTWFnaWVyLgphZWgsIEFiZW50ZXVyZXIgb2RlciBDaGFvdCwgd29sbHRlIGljaCBzYWdlbi4KVW5kIGpldHp0IGtvbW10IG1pciBuaWNodCBtaXQ6IERhIGFscyBNYWdpZXIga2FubnN0IGRhIG5pY2h0IG1pdHJlZGVuLiBJY2gKc2VsZSBpbSBXTCBhbHMgc3BpZWxlciB1bmQgYmluIGdyYWQgdm9uIGVpbmVyIEthZW1wZmVyZ2lsZGUgaW4gZWluIFphdWJlcmdpbGRlCmdlZ2FuZ2VuLCBiaW4gaW0gbW9tZW50IHp1IHZvcmhlciBlaW4gdm9lbGxpZ2VyIExvb3Nlci4gTmEgdW5kPyBXZW5ucyBtaXIKbmljaHQgZ2VmYWVsbHQsIHdlcmQgaWNoIGViZW4gd2llZGVyIEJlaHVldGVyLCB1bmQgdmVyc3VjaGUgZXMgYXVmIGVpbmVyCmhvZWhlcmVuIFN0dWZlIHdpZWRlciBhbHMgWmF1YmVyZXIuIFdvIGxpZWd0IGRhcyBQcm9ibGVtPwpXYXJ1bSBrYW5uIG1hbiBuaWNodCBtaXQgZWluZW0gQ2hhcmFrdGVyIGFsbGVzIGF1c3Byb2JpZXJlbj8gSXN0IGRlbm4gZGFzClppZWwgZGVzIE1VRHMsIG1vZWdsaWNoc3QgYWxsZXMgYW0gQmVzdGVuIHp1IGtvZW5uZW4/CgpMaSAoZWJlbmZhbGxzIHdpZSBEdXJpYW4gVmVyZmVjaHRlciBkZXIgRWluLUNocmFrdGVyXUxpIChlYmVuZmFsbHMgd2llIER1cmlhbgpWZXJmZWNodGVyIGRlciBFaW4tQ2hyYWt0ZXIKKG1pc3QgdGVybWluYWwsIGFsc28gbm9jaCBtYWwhKQpMaSAvZWJlbmZhbGxzIHdpZSBEdXJpYW4gVmVyZmVjaHRlciBkZXIgRWluLUNoYXJha3Rlci1Sb2xsZW5zcGllbCBUaGVvcmllKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJnYWVuenVuZyB6dSAxNDcgKERhdWVyZ2FzdCwgMjEuIFNlcCAxOTk1LCAxMTo1ODo0OCk6CkhpIQoKVW0gbWFsIHp3aXNjaGVuIEN1Y2ggKDExNykgdW5kIExpICgxNDcpIHp1IC4uLnZlcm1pdHRlbG4gKD8pOgpOYXR1ZXJsaWNoIGlzdCBlcyBha3RpdmVuIE1VRGRlcm4genUgdmVyZGFua2VuLCBkYXNzIGltIE1HIEZlaGxlciBiZXNlaXRpZ3QKd2VyZGVuLCBuZXVlIElkZWVuIGdlYm9yZW4gd2VyZGVuLCB1c3cuCkFiZXIgaXN0IGVzIHp1bSBWZXJnbGVpY2ggdmVyc2NoaWVkZW5lciBHaWxkZW4gKHdlbm4gZGVyIFJ1ZWNrc2Nocml0dCBuaWNodAplcnd1ZW5zY2h0IGlzdCkgd2lya2xpY2ggbm90d2VuZGlnLCBkYXNzIGRhbm4gamVkZXIgTklDSFQtU08tTUFSS0lFUlRFClp3ZWl0aWUgU2VoZXItU3RhdHVzIGVycmVpY2hlbiBtdXNzPwpVbmQgaXN0IGRhcmluIGRhbm4gYXVjaCBpbmJlZ3JpZmZlbiwgZGFzcyBvZmZlbnNpY2h0bGljaGUgTGV2ZWwgMS1ad2VpdGllcwphbiBkZXIgU3BpdHplIGRlciBUb3AtU1BJRUxFUi1MaXN0ZSBzdGVoZW4gbXVlc3Nlbj8/CkljaCBkZW5rZSBtaXIgbmFlbWxpY2gsIGRhc3MgZXMgZnVlciBlaW5lbiBOaWNodC1TZWhlciBlaW5lIG5ldHRlIFNhY2hlIGlzdCwKc2VpbmVuIEZvcnRzY2hyaXR0IGluIGRlciBUT1AxMDAgTGlzdGUgenUgYmVvYmFjaHRlbiwgc29sYW5nZSBlciBrZWluClNlaGVyIGlzdC4KKElERUU6IGljaCB3ZWlzcyBuaWNodCwgd2llIGRpZSBMaXN0ZSBlcnN0ZWxsdCB3aXJkLiBhYmVyIHdhZXJlIGVzIG1vZWdsaWNoLApuZWJlbiBkZW4gVE9QNTAgZXZ0bC4gZGllIFBsYXppZXJ1bmcgZGVzIFNwaWVsZXJzICh6QiAzMzcpIHNvd2llIGRpZSBldHdhCjEwIHZvciBpaG0gcGxhemllcnRlbiBTcGllbGVyIGFuenV6ZWlnZW4/IHNvIGFscyBBbnJlaXouLi4pCgpEZW4gVmVyemljaHQgYXVmIHNvbGNoZSBJbWFnZS1ad2VpdGllcywgYXVmIEJhbmstWndlaXRpZXMgc293aWVzbywgZGVuCmhhdHRlIGljaCBtaXQgU2VsYnN0YmVzY2hyYWVua3VuZyBnZW1laW50IQoKRGF1ZXJnYXN0IChha3plcHRpZXJ0IFp3ZWl0aWVzIGFscyBTcHJhY2hyb2hyIGluIE5vdHNpdHVhdGlvbmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlcnF1aXogKEdvbHVtLCAyMS4gU2VwIDE5OTUsIDEyOjUyOjIwKToKIyEgcm49QmVuZGVpZ2lkIHJ0PTgxMTUyODE1NApJY2ggaGFzc2UgVHJla2tpZS1oYXNzZXIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChSYWZmaSwgMjEuIFNlcCAxOTk1LCAxMjo1Mzo0NCk6CiMhIHJuPVNjaHJ1bXBmaSBydD04MTE2MjQyNzUKCj4gIFdlbm4gZGFzIHNvIHdlaXRlciBnZWh0IGVyc3BhciBpY2ggbWlyIG1laW5lIERldGFpbHMgaW4gZGVuIFJhZXVtZW4sIGt1Y2t0Cj4gIHNpY2ggZWgga2VpbmVyIGFuIHVuZCBuZXJ2ZW5kIGlzIGVzIGF1Y2ggMTAwIERldGFpbHMgenUgc2NocmVpYmVuIQoKCj5OIEUgSSBOICEKCkJpdHRlIG5pY2h0ICEKCkplIG1laHIgZGV0YWlscyBkZXN0byBtZWhyIHNwYXNzIChlcyBtdWVzc2VuIGphIG5pY2h0IGh1bmRlcnQgc2VpbikuCkRlaSBVbm1lbmdlIGFuIGRldGFpbHMgbWFjaGVuIGRhcyBNRyBqYSBzbyAiZWNodCIuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyZ2Flbnp1bmcgenUgMTQ3IChDdWNodWxsaW4sIDIxLiBTZXAgMTk5NSwgMTQ6MzQ6MzMpOgojISBybj1EYXVlcmdhc3QgcnQ9ODExNjc3NTI4CgoKCipncnJyciogOykKWnVuYWVjaHN0IG1hbCBlaW5lczoKIk5pY2h0cyIgaGF0IHNpY2ggZGEgaG9jaGdlYXJiZWl0ZXQgLSB6dSBkZXIgWmVpdCwgYWxzIGRpZSBBUHMgYWxzIEJlZGluZ3VuZwooZnVlciB2aWVsZSBlaGVyIG5vdHdlbmRpZ2VzIFVlYmVsKSBmdWVyIGRlbiBBdWZzdGllZyBpbiBkZW4gU3BpZWxlcnN0dWZlbgplaW5nZWZ1ZWhydCB3dXJkZS4gU3ByaWNoOiBPaG5lIFF1ZXN0cywga2VpbiBGZXVlcmJhbGwuCkRpZXNlciBTcGllbGVyIHdhciBkZXIgQmV3ZWlzLCBkYXNzIGVzIF9nZWh0Xy4gRXIgaGF0IGRpZSBrbmFsbGhhcnRlbiBRdWVzdHMKbmljaHQgZ2FueiBtaXR0ZWxsb3MgZ2VzY2hhZmZ0IC0gYWJlciBzZWxic3QgRnJhY2h0Z3V0IGlzdCAnaXJnZW5kd2llJyB6dQpzY2hhZmZlbi4gT2huZSBLYXJhdGUgdWVicmlnZW5zLgpBY2ggamEsIERhdWVyZ2FzdDogIk5pY2h0cyIgaXN0IGF1ZiBkZXIgUGFydHkgZ2VzZWhlbiB3b3JkZW4uIEljaCBuaWNodC4KTmljaHRzIHdpcmQgYWxsZXIgV2FocnNjaGVpbmxpY2hrZWl0IG5hY2ggX25pZV8gWndlaXRzcGllbGVyIHdlcmRlbi4gTW9lZ2UKRGF1ZXJnYXN0IHNlaW5lIFNjaGx1ZXNzZSBkYXJhdXMgemllaGVuLiBBdWNoIHdpcmQgZXIgbmljaHQgd2VnZW4gRGF1ZXJnYXN0IDI1Cm1hbCBpbiBkZXIgR2lsZGUgImVyaG9laGUiIHRpcHBlbi4gV2VubiwgZGFubiBudXIsIHdlaWwgZXIgYWxsZXMgZXJyZWljaHQgaGF0LAp3YXMgZXIgZXJyZWljaGVuIGtvbm50ZSAtIDEuIERhbiwgMTA5NSBBUCwgc2VociBndXRlIFN0YXRzIHVuZCB6dSBndXRlciBMZXR6dAooTmViZW5lZmZla3QgZGVzIEthcmF0ZXVlYmVucykgMTUgTWlsbGlvbmVuIEVyZmFocnVuZ3NwdW5rdGUuCgpFaW5lbSBqZWRlbiBub2NoIHNvIGRhdWVyaGFmdGVuIEdhc3QgdHJvdHplbmQsCkN1Y2guLQoKUFM6IEhtbS4uLiBpY2gga2FubiBtaWNoIHdlZGVyIGFuIGVpbmUgU2NobmVsbC1FbmRlLU1lbGR1bmcgZXJpbm5lcm4sIG5vY2gKaGFiIGljaCBncmFkZSBlYmVuIGVpbmUgZ2VzZWhlbi4gWWFudHJvPyBTaWNoZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWxic3RiZXNjaHJhZW5rdW5nID8gV296dSA/IChKaW1kaWdyaXosIDIxLiBTZXAgMTk5NSwgMTU6MjQ6NTQpOgpIYWxsbyAhCgpBbHNvIGljaCBmcmFnZSBtaWNoIHdpcmtsaWNoIHdpZXNvIGhpZXIgc28gZGlja2UgU3RpbW11bmcKZ2VnZW4gWndlaXRpZXMsIGluc2Jlc29uZGVyZSBTZWhlcnp3ZWl0aWVzIGdlbWFjaHQgd2lyZC4KRGFzIEFyZ3VtZW50IGRhcyBzZWkgbmljaHQgJ3JvbGxlbnNwaWVsbWFlc3NpZycgdmVyc3RlaCBpY2ggbmljaHQuCkljaCBoYWJlIGF1Y2ggaW4gUGFwZXItUm9sbGVuc3BpZWxlbiBtZWhlcmUgQ2hhcmFrdGVyZSBpbiBtZWhyZXJlbgpTeXN0ZW1lbiBnZWhhYnQuIEdlc3RvZXJ0IGhhdHMga2VpbmVuLiBBdWNoIGZyYWdlIGljaCBtaWNoIHdhcnVtIGRhcwpqZW1hbmQgaW0gU3BpZWwgc3RvZXJ0ID8gU2NobWVpc3NlbiB6d2VpdGllcyBtaXQga29tcGxldHRsb2VzdW5nZW4KdW0gc2ljaCA/IFBlb2ViZWxuIHNpZSBhbmRlcmUgU3BpZWxlciBhbiA/IEtsYXVlbiBzaWUgYWxsZSBndXRlbgpBdXNydWVzdHVuZ3NnZWdlbnN0YWVuZGUgPyBTdGltbXQgZG9jaCBhbGxlcyBuaWNodCwgc2llIHNwaWVsZW4gaGFsdCBhdWNoCm1pdC4gTWl0IGRlbSBVbnRlcnNjaGllZCwgZGFzcyBzaWUgdmllbGxlaWNodCBlaW4gd2VuaWcgc2NobmVsbGVyIGF1ZnN0ZWlnZW4KdW5kCnF1ZXN0cyBsb2VzZW4ga29lbm5lbiwgdW5kIHNjaGxpZXNzbGljaCBoYXQgc2ljaCBqYSBkaWUgUGVyc29uIGF1ZgpkZXIgYW5kZXJlbiBTZWl0ZSBkZXMgQmlsZHNjaGlybXMgZGllIE11ZWhlIGphIGVpbm1hbCBnZW1hY2h0CnVuZCBkaWUgUXVlc3RzIGdlbG9lc3QuCldlaXRlciB2ZXJzdGVoIGljaCBuaWNodCwgd2FydW0gWmVpdGllcyBuaWNodCBhdWNoIFNlaGVyIHdlcmRlbiBzb2xsZW4uCkRhcyBTZWhlcmRhc2VpbiBoYXN0IGdld2lzc2UgVm9ydGVpbGUgKHNpZWhlIFNlaGVyRkFRKSwgYWJlciBuaWVtYW5kCmFuZGVycyBoYXQgZGF2b24gZWluZW4gTmFjaHRlaWwgd2VubiBqZW1hbmQgU2VoZXIgaXN0LCB3YXJ1bSBhbHNvCmRpZSBBdWZyZWd1bmcgPz8gV2FzIGhlaXNzdCBkZW4gc2Nob24gdWViZXJ0cmllYmVuID8/IFdlciB1ZWJlcnRyZWlidCB3YXMsCndlbm4gZXIgZWluIHBhYXIgU2VoZXIgaGF0ID8KSWNoIGRlbmtlIG5pY2h0LCBkYXNzIGRlciBHZWlzdCBkZXMgUm9sbGVuc3BpZWxzIHZlcmxvcmVuIGdlaHQsCndlbm4gbWFuIG1laHJlcmUgQ2hhcmFjdGVyZSBhdWNoIG1laXN0IHVudGVyc2NoaWVkbGljaCBzcGllbHQuClp1bSBCZWlzcGllbCBpbiBHaWxkZW4uIFZpZWxsZWljaHQgZmluZGVuIG1hbmNoZSwgZGVyIEVyc3RpZSBrYW5uCmRpZSBHaWxkZSBkb2NoIHdlY2hzZWxuLCB3ZW5uIGVyIGVpbmUgYW5kZXJlIGF1c3Byb2JpZXJlbiB3aWxsLAphYmVyIHdvIGJsZWlidCBkYW5uIGRpZSBNb3RpdmF0aW9uIHdlbm4sIG1hbiBwcmFrdGlzY2gsIGRpZSB2aWVsZQpNdWVoZSB1bmQgdmllbGUgQXJiZWl0LCBkaWUgbWFuIEludmVzdGllcnQgaGF0IHVtc29uc3QgZ2V3ZXNlbiBpc3QgPwpJY2ggYmluIGZ1ZXIgZWluIGZyZWllcywgdG9sZXJhbnRlcyBNRywgYXVjaCB6d2VpdGllcyB1bmQKZ2VnZW51ZWJlciAhClp1bSBTZWhlcmRhc2VpbiB1bmQgZGFzIGJlc29uZGVyZSBkYXJhbjogSWNoIGdsYXViIEJvaW5nIGhhdCBtYWwgZ2VzYWd0OgpEZXIgU2VoZXJzdGF0dXMgaXN0IGRpZSBCZWxvaHVuZyBmdWVyIGRpZSBNdWVoZSB1bmQgZGFzIHZpZWxlIFNwaWVsZW4KdW5kIHZvciBhbGxlbSBhdWNoIFF1ZXN0bG9lc2VuIHVuZCBzb2xsIGFscyBSdWhlcG9sc3RlciB2ZXJzdGFuZGVuIHdlcmRlbi4KKGljaCBob2ZmZSBkYXMgc3RpbW10IHNvIHNpbm5nZW1hZXNzKQpOaWNodCB1bmJlZGluZ3QgYWxzICdiZXNvbmRlcmVyIFNwaWVsZXIgdm9uIGRlbmVuIGVzIG51ciA1JSBnZWJlbiBkYXJmIG9kZXIKc28nLgpJY2ggYmluIHNjaG9uIGxhZW5nZXIgU2VoZXIgdW5kIGtlbm4gYXVjaCB2aWVsIHVuZCBoZWxmZSBhdWNoIGdlcm4uIFVuZCBtaXJcCmdlZmFlbGx0cy4gVW5kIGVzIGlzIG1pciBlY2h0IHRvdGFsIHd1cnNjaHQgb2JzIGpldHp0IDEwMCBvZGVyIDUwMCB3ZWl0ZXJlClNlaGVyIGdpYnQuIFdhcnVtIGF1Y2ggZHJ1ZWJlciBhdWZyZWdlbi4gSGFidCBkb2NoIGVpbmZhY2ggU3Bhc3MKYW0gU3BpZWwgdW5kIHF1YWVsdCB1bmQgYWVyZ2VydCBldWNoIGRvY2ggbmljaHQgdWViZXIgc28KbGFlY2hlcmxpY2hlIEtsZWluaWdrZWl0ZW4gd2llCidkZXJibG9lZGVrZXJsaXNpbjJ0YWdlbnNlaGVyZ2V3b3JkZW51bmRpY2hoYWIxMGdlYnJhdWNodCcKCkljaCBob2ZmZSBkaWUgU3RpbW11bmcgYmVzc2VydCBzaWNoIGRhIGEgYmlzc2VybC4gS29taXNjaCBkYXNzIGVpZ2VudGxpY2gKaW1tZXIgbnVyIGluIGRlciBtcGEgYXVmZWluYW5kZXIgcnVtZ2VoYWNrdCB3aXJkLgoKTmEgbWFuIHNpZWh0IHNpY2guCgpKYW1lcyBCb2xpdmFyIGRpR3JpeiAtIGZ1ZXIgRnJpZWRlbiB1bmQgRnJlaWhlaXQgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChUYXNoYSwgMjEuIFNlcCAxOTk1LCAxOTozNjoxMyk6CiMhIHJuPVNjaHJ1bXBmaSBydD04MTE2MjQyNzUKSGEhIEVuZGxpY2ggZWluIEFydGlrZWwgd28gaWNoIG1laW5lbiBWb3JzY2hsYWcgYWxzIEFudHdvcnQgZHJhbmhhZW5nZW4ga2FubiEKCkFsc28gZXJzdG1hbCBtb2luIExFdXRzIQoKSUNoIGZpbmRlIGF1Y2gsIGRhc3MgZGFzIEhhdXB0cHJvYmxlbSAoaXN0IGZ1ZXIgbWljaCBuaWNodCBzbyBncm9zcyBhYmVyIHdlbm4KaWhycyBhbGxlIGZpbmRldC4uLikgZGllIE1FZ2FzY2huZWxsLU5peGtlbm4tU2VoZXIgc2luZC4gV2FzIGhpZWx0ZXQgaWhyCmRhdm9uLCBhbHMgbmV1ZSBTZWhlcmFuZm9yZGVydW5nIGtlaW4gUXVpeiwga2VpbmVuIFRlc3QgZHVyY2ggVWViZXJzZWhlcgoobGV0enRlcmVzIHdhZXJlIGZ1ZXIgbWljaCBlaW4gR3J1bmQsIGRhcyBNRyB6dSB2ZXJsYXNzZW4sIHdlaWwgbWljaCB2b24KTGV1dGVuIHRlc3RlbiBsYXNzZW4gZGllIGljaCB2aWVsbGVpY2h0IGdhciBuaWNodCBrZW5uZSBrYW5uIGljaCB2aWVsIGJlc3NlcgppbiBkZXIgVW5pLiBEYXMgbXVzcyBuaWNodCBhdWNoIG5vY2ggaGllciBpbSBNRyBzZWluKSBzb25kZXJuIGVpbmUgQnVlcmdzY2hhZnQKZHVyY2ggYW5kZXJlIFNlaGVyIGtvbW1lbiB3dWVyZGUuCgpJQ2ggc3RlbGxlIG1pciBkYXMgc28gdm9yLCBkYXNzIGVpbmUgU2VoZXItaW4tc3BlIDEwIChvZGVyIDUgb2RlciAzLDQzNDMgb2Rlcgo0MiBvZGVyIDEwMDApIFNlaGVyIGZpbmRlbiBtdXNzLCBkaWUgZGFmdWVyIEJ1ZXJnZW4sIGRhc3MgZGVyIGpld2VpbGlnZQpTcGllbGVyIGVzIHdlcnQgaXN0LCBTZWhlciB6dSB3ZXJkZW4uIEljaCBnbGF1YmUsIGRhc3Mgc293YXMKS29tcGxldHRsb2VzdW5nc3NwaWVsZXIgd2lya3NhbSBibG9ja2llcmVuIGtvZW5udGUsIGRhIGRpZSB3b2hsIHdlbmlnIFplaXQgenVtCkZyZXVuZGUtZmluZGVuIGdlaGFidCBoYWJlbiBkdWVyZnRlbi4gSmVkZXIsIGRlciBhbGxlIFF1ZXN0IGluIG11ZWhzYW1lcgprbGVpbmFyYmVpdCBnZWxvZXN0IGhhdCBkdWVyZnRlIChhdWNoIGR1cmNoIHNlaW4gb2VmdGVyZXMgRnJhZ2VuIGF1ZiAtYikgd29obApnZW51ZyBGcmV1bmRlIG9kZXIgenVtaW5kZXN0IEJla2FubnRlIGdlZnVuZGVuIGhhYmVuLCBkaWUgaWhuIHVudGVyc3R1ZXR6ZW4Kd3VlcmRlbi4KSW0gRXJnZWJuaXMgaGllc3NlIGRhcyBhbHNvOiBLZWluIHVlYmVyZ2VvcmRuZXRlcyBLb21taXRlZSAoZmFsbHMgc293YXMKd2lya2xpY2ggbWFsIGVybnN0aGFmdCBnZXBsYW50IHdhcikgc29uZGVybiBlaW5lIGluZGl2aWR1ZWxsZSBMb2VzdW5nLgoKU2FndCBtaXIgbWFsLCB3YXMgaWhyIGRhdm9uIGhhbHRldC4KU2Nob24gd2llZGVyIHZpZWwgenUgdmllbCBzY2hyZWliZW5kLCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChZZXRpLCAyMS4gU2VwIDE5OTUsIDE5OjM3OjE5KToKIyEgcm49VGFzaGEgcnQ9ODExNzA0OTczCm5ldHRlIGlkZWUKeWV0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEFzbW9kaXMsIDIxLiBTZXAgMTk5NSwgMjE6NTE6MTkpOgojISBybj1Cb2luZyBydD04MTE1Nzg0MDIKV2FzIGhhYiBpY2ggZGFtaXQgenUgdHVuLCBCb2luZz8gaWNoIGxhdWZlIHNjaG9uIHNlaXQgV29jaGVuIG1pdCBuaWNodAptZWhyIGFscyAyIFNwaWVsZXJuIGhpZXIgaGVydW0gISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoU2NocnVtcGZpLCAyMS4gU2VwIDE5OTUsIDIxOjU5OjA3KToKIyEgcm49QXNtb2RpcyBydD04MTE3MTMwNzkKU3RpbW10IQpTY2hydW1wZmkKQXVhLCBuaWNodCBoYXVlbiBDYXQqLCBpY2ggc2NocmVpYiBqYSBub2NoIG5lIFplaWxlISA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlaW5zdHVmdW5nIGRlciBXYWZmZSAoQXNtb2RpcywgMjEuIFNlcCAxOTk1LCAyMjowMTozOCk6CiMhIHJuPVNpYm9yaXQgcnQ9ODExNjAxNTczCk1laW5lciBBbnNpY2h0IGJlc3RlaHQgZGllIEVpbnN0dWZ1bmcgZGVyIFdhZmZlbiBuYWNoIFNwaWVsZXJsZXZlbCBudXIgZGFyaW4sCmRhc3Mgc2ljaCBkZXIgQmV0cmVmZmVuZGUgU3BpZWxlciBkaWUgV2FmZmUgYXVzIGVpZ2VuZXIgS3JhZnQgZXJrYWVtcGZlbiBvZGVyCidlcnF1ZXN0ZW4nCmthbm4gKG1hbiBtdXNzIGphIG5pY2h0IGltbWVyIGthZW1wZmVuKSB1bmQgc2llIG5hdHVlcmxpY2ggYXVjaCBiZW51dHplbgprYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU3BpZWxlci9TZWhlciByYXRpbyAoQ3VjaHVsbGluLCAyMS4gU2VwIDE5OTUsIDIyOjA3OjQwKToKIyEgcm49QXNtb2RpcyBydD04MTE3MTQwMTYKCkFzbW9kaXMgQ3JldyBoYXQgbmljaHQgbnVyIEFzbW9kaXMgcmF1c2dlaGF1ZW4uCgpDdWNoLi0gRGFua2Jhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEFzbW9kaXMsIDIxLiBTZXAgMTk5NSwgMjI6MDk6MjcpOgojISBybj1DYXR3ZWF6bGUgcnQ9ODExNjE3MDE4CldhcyBkZW5uPyBRdWVzdGUgYWJzY2hhZmZlbiA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoQXNtb2RpcywgMjEuIFNlcCAxOTk1LCAyMjoxMTo0OCk6CiMhIHJuPVNjaHJ1bXBmaSBydD04MTE2MjQyNzUKSmEsIHdvIGlzdCBkZW5uIGpldHp0IFNuYXJrZW4gPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU3BpZWxlci9TZWhlciByYXRpbyAoQXNtb2RpcywgMjEuIFNlcCAxOTk1LCAyMjoxMjo0Myk6CiMhIHJuPVN1c2hpIHJ0PTgxMTYyNDMxNApNYWNodCBlcyB2aWVsbGVpY2h0IFNwYXNzLCBlaW5lIEtvbXBsZXR0bG9lc3VuZyBhYnp1dGlwcGVuID8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKEFzbW9kaXMsIDIxLiBTZXAgMTk5NSwgMjI6MjQ6MDYpOgojISBybj1UYXNoYSBydD04MTE3MDQ5NzMKSGVoZSwgZ2VmYWVsbHQgbWlyLCBoYWV0dGUgZGVuIE5lYmVuZWZmZWt0LCBkYXNzIGFsbGUgU3BpZWxlciwgZGllIFNlaGVyCndlcmRlbgp3b2xsZW4sIGxpZWIgdW5kIG5ldHQgc2luZCwgaWNoIGRlbmtlIGRhIHNvIGFuIG1hbmNoZSBTcGllbGVyLCBkaWUgZXMgbmljaHQKc2luZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU3BpZWxlci9TZWhlciByYXRpbyAoQXNtb2RpcywgMjEuIFNlcCAxOTk1LCAyMjoyODo0Nik6CiMhIHJuPVJhZmZpIHJ0PTgxMTYwNzc4NgpSYWZmaTogRGllICdBdWdlLVF1ZXN0JyBiZWdpbm50IGltIFhhbnRpLVRlbXBlbCBpbiBNb3JvbiB1bmQgZW5kZXQgaW4gZGVyCkFrYWRlbWllIGluIE1vcm9uLApuZWJlbmJlaSBrcmllZ3QgbWFuIGRhIGF1Y2ggbm9jaCBkYXMgWGFudGktU2Nod2VydCA6KQpJc3Qgd2llIGdlc2FndCBlaW5lIE1pbmktUXVlc3QsIHZpZWwgYnJhdWNodCBtYW4gZGEgd2lya2xpY2ggbmljaHQgenUgdHVuLgoKQWggamEsIG1laW5lIFNlaGVyendlaXRpZXMgaGFiZW4gbWljaCBhdWNoIHNjaG9uIG9mdCByYXVzZ2VoYXVlbiwgZGEgZ2lidHMKYm9lc2UgTGFicywgd28gbWFuIG5pY2h0IGR1cmNoZ2VsYXNzZW4gd2lyZCwgd2VubiBtYW4genVydWVjayB3aWxsLCB1bmQKd2VubiBtYW4gZGEgenUgd2VuaWcgTFBzIGhhdCwgZGFubiB3YXJ0ZXQgbWFuIGV3aWcsIHdhcyBlaW5lbSBlYmVuCmF1ZiBkaWUgTmVydmVuIGdlaHQuIFNvIGtsb3BwdCBlYmVuIGRlciBad2VpdGllIGRlbiBXZWcgd2llZGVyIGZyZWkgdW5kCm1hbiBrYW5uIGluIGRpZSBLbmVpcGUgYXVmdGFua2VuIGdlaGVuLgoKQXVzc2VyZGVtLCB3YXMgc29sbCBkZWluZSBBcmd1bWVudGF0aW9uIG1pdCBkZW0gJ2VocmxpY2ggc3RlcmJlbic/IGR1IGhhc3QKamEgbnVyIGVpbiBwYWFyIEVQcyB6dSB2ZXJsaWVyZW4sIGJlaSB1bnMgZ2VoZW4gc2llIGluIGRpZSBNaWxsaW9uZW4KKG5hamEsIGJlaSBGeXQgd29obCBuaWNodCBtZWhyIDopICApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTcGllbGVyL1NlaGVyIHJhdGlvIChBc21vZGlzLCAyMS4gU2VwIDE5OTUsIDIyOjI5OjIyKToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxMTcxNDA2MApTaWNoZXIsIGljaCBoYXVlIGplZGVuIHJhdXMsIGRlciBtaWNoIHVtIEhpbGZlIGJpdHRldCwgd2VubiBpY2ggWmVpdCBoYWJlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKFNjaHJ1bXBmaSwgMjEuIFNlcCAxOTk1LCAyMjo0NzozOCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODExNzE0MzA4CldvaGVyIHNvbGwgaWNoIGRhcyB3aXNzZW4/IEljaCBiaW4gTWFnaWVyaW4gaWNoIGJld2VnIG1pY2ggbnVyIG1pdCAnR290bycgOy0pClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChTY2hydW1wZmksIDIxLiBTZXAgMTk5NSwgMjI6NDk6NDApOgojISBybj1TY2hydW1wZmkgcnQ9ODExNzE2NDU4CkZhbGxzIGljaCBtaWNoIHVlYmVyaGF1cHQgYmV3ZWdlISA7LSkKU2NocnVtcGZpIGlzIGZhdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoSmFmLCAyMS4gU2VwIDE5OTUsIDIzOjAzOjM4KToKIyEgcm49VGFzaGEgcnQ9ODExNzA0OTczCgpQcmluemlwaWVsbCBndXRlIElkZWUsIFRhc2hhLCB1bmQgbm9jaCBiZXNzZXIgZmFlbmRlIGljaCBlcywgd2VubgplcyBuaWNodCBqZWRlc21hbCBkaWUgZ2xlaWNoZSBHcnVwcGUgdm9uIEJ1ZXJnZW4gc2VpbiBkYXJmLCBzb25zdAouLi4gYWVobS4uLiAgYWxzbyBpY2ggYmluIGRhZnVlci4KCkphZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEphZiwgMjEuIFNlcCAxOTk1LCAyMzowNTozNyk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MTE3MTQwNjAKCkhtLCBkYXMgd2lkZXJ1bSBpc3QgYXVjaCB3YWhyLCBpY2gga2FubiBtaWNoIG5vY2ggYW4gZGllIGdyYXVlIFZvcnplaXQKZXJpbm5lcm4sIGFscyBpY2ggbmFjaCBuZW0gQ3Jhc2ggaW0gUmFldWJlcmJhdW0gc3RhbmQgdW5kIEFzbW9kaXMgdW5kClN0ZXZlIHVuZCB3YXMgd2Vpc3MgaWNoIHdlciBub2NoIG1pY2ggZGEgcmF1c2dlaGF1ZW4gaGFiZW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKEphZiwgMjEuIFNlcCAxOTk1LCAyMzoxMjozNik6CiMhIHJuPUFzbW9kaXMgcnQ9ODExNzE1MzI2Cgoqa2ljaGVyIEFzbW9kaXMgYW4qCgpIbSwgc28gcmljaHRpZyBsb3MgZ2VodCdzIHdvaGwgYmVpIEFubmUgOikKQXVzc2VyZGVtIGRlbmsgaWNoIG1hbmNobWFsIHdlaG11ZXRpZyBhbiBkaWUgWmVpdGVuIHp1cnVlY2ssIGFscyBpY2gKc2llYmVubWFsIGFuIGVpbmVtIFRhZyBnZXN0b3JiZW4gYmluLCBvaG5lIGRhc3Mgc2ljaCBkaWUgRVAgZGFiZWkKZ3Jvc3NhcnRpZyB2ZXJyaW5nZXJ0IGhhZXR0ZW4gOikgKnNuaWZmKgoKRnl0LgoKSG0uLi4gbWFuY2hlIHNpbmQgZGVyIE1laW51bmcsIGRhc3MgZGllIEtlbGNocXVlc3QgaW0gVGVtcGVsIGxvc2dlaHQKdW5kIHN1Y2hlbiBzaWNoIGRhbm4gdG90ICAqSmFmIGFuc2NoaWVsKgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFN1c2hpLCAyMS4gU2VwIDE5OTUsIDIzOjU4OjU4KToKIyEgcm49QXNtb2RpcyBydD04MTE3MTQzNjMKSGFiZSBpY2ggamVtYWxzIHZvbiBBYnRpcHBlbiBnZXJlZGV0LiBVbSBkYXMgbm9jaG1hbCBrbGFyenVzdGVsbGVuOiBJY2ggc2VoZQprZWluZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gZWluZXIgS0wgdW5kIGVpbmVtIFNlaGVyLCBkZXIgbWlyIGhpbGZ0LiBXZXIgc2ljaApkZW4gU3Bhc3MgYW4gZWluZXIgUXVlc3QgZGFkdXJjaCB2ZXJrcmtzdCwgZGFzcyBlciBlaW5lIEtMIGFidGlwcHQsIGlzdCBzZWxic3QKc2NodWxkLCBhYmVyIGljaCBiZXZvcnp1Z2UgZXMsIGltIE5vdGZhbGwgKFZvbiBuaWNodHMgYW5kZXJlbSBoYWJlIGljaCBqZQpnZXNwcm9jaGVuIHVuZCBtZWluZSBkYW1pdCBlaW5lIFN5bnRheCwgZGllIGxhZW5nZXIgYWxzIDE1IE1pbiBpbiBBbnNwcnVjaApuaW1tdCBbU3RlY2ticmllZiBiZWkgSGFya3dpbmQsIEdlaGVpbXR1ZXIgYmVpIE5hcnJlbmJhbGxdLikgaW4gZWluZSBLTCAoZGllCmphIHp1bSB1ZWJlcndpZWdlbmRlbiBUZWlsIGtlaW5lICJLIkwgc2luZCwgc29ubWRlKHNvcnJ5ICpTY3JvbGwqKSBzb25kZXJuCmVpbmUgU2FtbWx1bmcgdm9uIFRpcHMuIEtsYWVydCBkYXMgZGllIExhZ2UgZXR3YXM/CkltIHVlYnJpZ2VuIHNjaGVpbnQgbWlyIGRpZXNlIERpc2t1c3Npb24gZWluIHdlbmlnIHNjaGVpbmhlaWxpZyB6dSBzZWluLCBkZW5uCmVzIGJldGVpbGlnZW4gc2ljaCBudXIgSExQIGFuIGlociB1bmQgbmljaHQgZGllIFNwaWVsZXIsIHVtIGRpZSBlcyBqYQpsZXR6dGVuZGxpY2ggZ2VodC4KU3VzaGkKUC5TLiBKYWphLCBmbGFtdCBtaWNoIHJ1aGlnIHdlaXRlciwgaWNoIGthbm4ncyB2ZXRyYWdlbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTcGllbGVyL1NlaGVyIHJhdGlvIChTY2hydW1wZmksIDIyLiBTZXAgMTk5NSwgMDA6MDE6MDEpOgojISBybj1TdXNoaSBydD04MTE3MjA3MzgKR2VnZW4gVGlwcyBoYXQgamEgYXVjaCBrZWluZXIgd2FzLiBMaWVzIG1hbCBEdXJpYW5zIEFydGlrZWwsIGRhIHN0ZWh0LCBkYXNzCmVyIGRpZSBUaXBzIHZvbiBkZW4gUHlyYXMgbmljaHQgc2NobGltbSBmaW5kZXQuIFRpcHMgc2luZCBrZWluZSBLTCwgbWVpbmVyCk1laW51bmcgbmFjaC4KU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU3BpZWxlci9TZWhlciByYXRpbyAoU3VzaGksIDIyLiBTZXAgMTk5NSwgMDA6MDQ6MTYpOgojISBybj1TY2hydW1wZmkgcnQ9ODExNzIwODYxCkRhbm4gc29sbHRlIGRpZSBEaXNrdXNzaW9uIHZpZWxsZWljaHQgbWl0IGVpbmVtIHZlcnNvZWhubGljaGVuICJLTCBoZWlzc2VuCmpldHp0IFRpcC1TYW1tbHVuZ2VuIChUUykiIGJlZW5kZXQgd2VyZGVuOl8pKQpTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNwaWVsZXIvU2VoZXIgcmF0aW8gKFNjaHJ1bXBmaSwgMjIuIFNlcCAxOTk1LCAwMDowNTo1Myk6CiMhIHJuPVN1c2hpIHJ0PTgxMTcyMTA1NgpEYXMgaXN0IHNpZSBmdWVyIG1pY2ggc293aWVzbyEgOi0pCipOYWNoIE11ZW5zdGVyIGdyaW5zKgpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWxic3RiZXNjaHJhZW5rdW5nID8gV296dSA/IChHb2x1bSwgMjIuIFNlcCAxOTk1LCAwMDo0MjozOSk6CiMhIHJuPUppbWRpZ3JpeiBydD04MTE2ODk4OTQKRW5kbGljaCBtYWwgd2VyLCBkZXIgbWVpbmUgTWVpbnVuZyB2ZXJ0cml0dC4KVmllbCBtZWhyIGdpYnQgZXMgZGEgd29obCBuaWNodCBtZWhyIHp1IHNhZ2VuLgoKR29sdW0gc2NodWV0dGVsdCBKaW1EaUdyaXogZGllIEhhbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU3BpZWxlci9TZWhlciByYXRpbyAoRHVyaWFuLCAyMi4gU2VwIDE5OTUsIDEyOjAwOjA3KToKIyEgcm49U3VzaGkgcnQ9ODExNzIwNzM4ClVudGVyIHNjaGllZCB6d2lzY2hlbiBLb21wbGV0dGxvZXN1bmcgdW5kIGVpbmVtIFNlaGVyIGRlciBoaWxmdCAuLi4gb2theSwKbm9jaG1hbCwgenVtIE1pdHNjaHJlaWJlbjoKCkluIGVpbmVyIEtvbXBsZXR0bG9lc3VuZyBzdGVodCBhbGxlcyBkcmluIChtaXIgc2luZCBkYSBhbHMgQW50d29ydCBhdWYKbWVpbmVuIGVyc3RlbiBBcnRpa2VsIHdlbGNoZSBpbiBkaWUgSGFlbmRlIGdlZmFsbGVuLCB3b3csIGRhIG11c3MgZGVyClNwaWVsZXIgd2lya2xpY2ggbnVyIG5vY2ggYWJ0aXBwZW4pLCBkZXIgU3BpZWxlciBicmF1Y2h0IG5pY2h0cyBtZWhyCnp1IHR1bi4KV2VubiBlaW4gU2VoZXIgaGlsZnQsIGlzdCBkaWVzCjEpIEltIFNpbm5lIGRlcyBNVURzLCBlcyBmb2VyZGVydCBkaWUgS29tbXVuaWthdGlvbgoyKSBuaWNodCBzbyBnZW5hdSwgd2VpbCBlaW4gU2VoZXIgb2Z0IG5pY2h0IF9leGFrdF8gZGllIFNpdHVhdGlvbgplaW5zY2hhZXR6ZW4Ka2FubiwgZWluZmFjaCB3ZWlsIGVzIG1hbmNobWFsIHNjaHdpZXJpZyBpc3QsIHp1IGJlc2NocmVpYmVuLCB3byBqZXR6dApnZW5hdSBkYXMgUHJvYmxlbSBsaWVndCwgdW5kCjMpIFNlaGVyIGdlYmVuIChkZW5rZSBpY2ggbWFsKSBzdGF0dCBleGFrdGVuIEFud2Vpc3VuZ2VuIChqZXR6dCBuIGVpbnRpcHBlbiwKZGFubiAnb2VmZm5lIHRydWhlJyBldGMuKSBudXIgVGlwcy4gVW5kIGRpZSBUaXBzIG11c3MgbWFuIGF1Y2ggZXJzdG1hbAp2ZXJzdGVoZW4gdW5kIHVtc2V0emVuIQoKSW1tZXIgbm9jaCBuaWNodCBkZW4gVW50ZXJzY2hpZWQgZXJrYW5udD8gRGFubiBuaWNodCwgZGFubiBsaWVndCBlcwp3b2hsIGFuIG1pciA6LSkKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKE1vcmdvdGgsIDIyLiBTZXAgMTk5NSwgMTM6MDk6MDYpOgojISBybj1UYXNoYSBydD04MTE3MDQ5NzMKZGFzIHByb2JsZW0gbGllZ3QgZGFubiBiZWkgZGVuIHNwaWVsZXJuLCBkaWUgbWVocmVyZSBzZWhlci16d2VpdGllcyBoYWJlbgpkaWVzZSBrb2VubmVuIHNpY2ggZGFubiBzZWxic3QgJ2JlZm9lcmRlcm4nLiBhbmRlcmUgZGFnZWdlbiwgZGllIGtlaW5lCnp3ZWl0aWVzIHNpbmQgZGEgaW4gZGVuIGFyc2NoIGdla25pZmZlbiwgb2RlciB6dW1pbmRlc3Qgc3RhcmsgYmVuYWNodGVpbGlndC4KbW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VsYnN0YmVzY2hyYWVua3VuZz8hIChUYXNoYSwgMjIuIFNlcCAxOTk1LCAxNDozMjozOSk6CiMhIHJuPU1vcmdvdGggcnQ9ODExNzY4MTQ2Ck5hamEsIHZpZWxsZWljaHQgc29sbHRlIG1hbiBkYW5uIGVyc3RtYWwga2xhZXJlbiwgd29nZWdlbiBtYW4gZWlnZW50bGljaCB3YXMKbWFjaGVuIHdpbGwuCkRpZSB2b24gbWlyIHZvcmdzY2hsYWdlbmUgTWV0aG9kZSBpc3QgbnVyIHdpcmtzYW0gZ2VnZW4gTmV1c3BpZWxlciwgZGllIG51cgptaXQgS29tcGxldHRsb2VzdW5nZW4gdm9yYW5rb21tZW4uIEdlZ2VuIFNlaGVyendlaXRpcyBudWV0enQgc2llIG5hdHVlcmxpY2gKbml4LgpBYmVyIGljaCBkYWNodGUgZWlnZW50bGljaCBpbW1lciBlcyB3YWVyZW4gaW0gd2VzZW50bGljaCBlcnN0ZXJlLCBkaWUKdW5lcnd1ZW5zY2h0IHdhZXJlbi4gV2VubiBlcyBsZXR6dGVyZSBzaW5kLCBkaWUgaGllciBiZWthZW1AZnQgd2VyZGVuIHNvbGxlbi4KRGFubiBzb2xsdGUgaGFsdCwgd2llIGVzIGRhcyBhdWNoIGluIGFuZGVyZW4gTVVEcyBnaWJ0LCBudXIgZWluIENoYXJha3RlciBwcm8KZS1tYWlsLWFkcmVzc2UgZXJsYXVidCB3ZXJkZW4uIEZhZW5kIGljaCBhYmVyIGdhbnogZWhybGljaCBnZXNhZ3QgemllbWxpY2gKYmxvZWRlLgoKVW5kIGljaCBoYWJlIHNvZ2FyIGVpbiBBcmd1bWVudCBGVUVSIFNlaGVyendlaXRpczogV2llIHNvbGwgZGVuIGVpbiBTZWhlcgphbmRlcmVuIExldXRlbiBoZWxmZW4ga29lbm5lbiwgd2VubiBlciBpcmdlbmR3ZWxjaGUgUXVlc3RzIHZvciA2IE1vbmF0ZW4gZGFzCmxldHp0ZSBtYWwgZ2VtYWNodCBoYXQ/IEljaCBoYXR0ZSBtaXQgbWVpbmVtIEdsZWljaGJlcmVjaHRpIHRlaWx3ZWlzZQp6aWVtbGljaGUgUHJvYmxlbWVlIG1pY2ggYW4gZWluIHBhYXIgU2FjaGVuIHp1IGVycmlubmVybi4gQWxzbyBoZWxmZW4gWndlaXRpcwplaW5lbSBhdWNoLCBkaWUgZXJ3b3JiZW5lIEtlbm50bmlzIGRlcyBNVURzIHp1IGVyaGFsdGVuLgoKRmF6aXQ6IFVlYmVybGVndCBldWNoIHdhcyBpaHIgd29sbHQsIGFiZXIgZ2VidHMgYXVjaCB6dSwgd2VubiBpaHIgZGllClNlaGVyendlaXRpcyB0cmVmZmVuIHdvbGx0LgoKZXR3YXMgdHJhdXJpZyB1ZWJlciBkaWUgbW9tZW50YW5lbiBWb3JnYWVuZ2UgaW0gTUcsIFRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTcGllbGVyL1NlaGVyIHJhdGlvIChSYWZmaSwgMjIuIFNlcCAxOTk1LCAxNDo0Njo0Myk6CiMhIHJuPUFzbW9kaXMgcnQ9ODExNzE1MzI2ClRhc2hhOgpCdWVyZ2VuIGlzdCBqYSBnYW56IG5ldHQgLSBrb2VubnRlIHNvZ2FyIGtsYXBwZW4sIGFiZXIKZW50YWVsdCBlaW5lbiBob2hlbiB2ZXJ3YWx0dW5nc2F1ZndhbmQuIEljaCBoYXR0ZSBtaXIKZGFzIG1paXQgZGVuIEZyYWdlbiBhbHMgWnVzYXR6cXVlc3RlIHZvcmdlc3RlbGx0IHNvIHdpZQpkaWUgUG9zdHF1ZXN0ZSwgZGllIGphIGF1Y2ggZWluZW4gVGVzdCBkZXIgT3J0c2tlbm50bmlzCmRhcnN0ZWxsdC4gSWNoIGRhY2h0ZSBtaXIgZGFzIGhpZXIgYXVzIGVpbmVyIG1vZWdsaWNoc3QKZ3Jvc3NlbiBNZW5nZSBhbiBGcmFnZW4gKD4xLjAwMC4wMDA/KSBjYSAyMC0zMCBuYWNoCkdlYmlldGVuIGF1c2dld2FlaGx0IHdlcmRlbiAoYWVobmxpY2ggd2llIGJlaSBkZW0KdGhlb3JldGlzY2hlbiBUZWlsIGRlciBHZXNlbGxlbi9GYWNoYXJiZWl0ZXJwcnVlZnVuZwpkZXIgSUhLKS4gV2VyIGRpZSBQcnVlZnVuZyAoUXVlc3RlKSBiZXN0ZWh0LCBlcmhhZWx0CmVpbiBwYWFyIEFQLEVQIHVuZCBlaW4gRGlwbG9tLCBzbyB3aWUgbnVuIG1hbCBhbmRlcmUKUXVlc3RlbiBhdWNoIGFibGF1ZmVuLiBFaW56aWcgbXVlc3N0ZSBkaWUgenVzYW1tZW4tCnN0ZWxsdW5nIGRlciBGcmFnZW4gYmVpIGplZGVtIFZlcnN1Y2ggbmV1IGF1c2dld2FlaGx0CndlcmRlbi4KCkFzaG1vZGlzOgpBdWdlbnF1ZXN0ZSBpc3QgaW4gZGVyIE1hY2hlLiBDaHVjaCBoYXQgbWlyIGdlc2FndCB3ZWxjaGUKT2VydGxpY2hrZWl0ZW4gZnVlciAiU2Nod2FlY2hsaW5nZSIgd2llIG1pY2ggbmljaHQKZW1wZmVobGVuc3dlcnQgc2luZC4KCj4gQXVzc2VyZGVtLCB3YXMgc29sbCBkZWluZSBBcmd1bWVudGF0aW9uIG1pdCBkZW0gJ2VocmxpY2gKPiBzdGVyYmVuJz8gZHUgaGFzdCBqYSBudXIgZWluIHBhYXIgRVBzIHp1IHZlcmxpZXJlbiwgYmVpCj4gdW5zIGdlaGVuIHNpZSBpbiBkaWUgTWlsbGlvbmVuLgoKRGFzIG1pdCBkZW4gInBhYXIgRVBzIiBpc3QgYXVjaCBudXIgYXVzIGRlaW5lciBzaWNodCBzby4KRGFuayBkZXIgVG9kZSBkaWUgaWNoIG1pciBnZWxlaXN0ZXQgaGFiZSwga3JlYnMgaWNoIHouWnQKd2llZGVyIGJlaSAxMDAuMDAwIFB1bmt0ZW4gcnVtIC0gb2huZSBUb2Qgd2FlcmUgZXMgY2EuCmRhcyA2LWZhY2hlLiBJc3QgbS5FLiBzY2hvbiByZWxldmFudC4KCgpHcnVzcwpILgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoQXNtb2RpcywgMjIuIFNlcCAxOTk1LCAxNTo1NDowMCk6CiMhIHJuPVRhc2hhIHJ0PTgxMTc3MzE1OQpHZW5hdSwgaWNoIGhhYmUgbWFuY2hlIFF1ZXN0cyB2b3IgMiBKYWhyZW4gZ2VtYWNodCwgdW5kIG9obmUgbWVpbmUKWndlaXRpZXMgd3Vlc3N0ZSBpY2ggZ2FyIG5pY2h0IG1laHIsIHdhcyBkYSBhYmdlaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmhhbHRlbnN3ZWlzZSBpbSBNVUQgKExlZnR5LCAyMi4gU2VwIDE5OTUsIDE2OjAxOjI2KToKW1ZlcmxlZ3Qgdm9uIGFuemVpZ2VuLCBMZWZ0eSwgMjIuIFNlcCAxOTk1LCAxNTo1OTo1OV06ClNvLCBrb21tdCBudW4gbm9jaCBtZWluIFNlbmYgLi4uCgpXYXMgc29sbCBkZW5uIGRlciBNaXN0LCBkYXMgbWFuIGtlaW5lIFdhZmZlbi9BdXNydWVzdHVuZyBhbgphbmRlcmVyZSBTcGllbGVyIHZlcnNjaGVua2VuL3ZlcmthdWZlbiBzb2xsID8/PwpXbyBlcyBzdGFuZCwgd2Vpc3MgaWNoIGpldHp0IG5pY2h0IG1laHIgc28gZ2VuYXUgLi4uCkljaCBkYWNodGUsIGVzIHdhZXJlIGltIFNpbm4gZGVzIE11ZHMsIHNpY2ggZ2VnZW5zZWl0aWcgenUKaGVsZmVuID8KSWNoIHBlcnNvZW5saWNoIGhhYmUgbmljaHRzIGRhZ2VnZW4sIHdlbm4gZWluIExMUCB2b3IgbWVpbmVuCkF1Z2VuIG1pdCBuZW0gQlNTIGZ1Y2h0ZWx0LiBJc3QgZGFzIG5pY2h0IGRpZSBwZXJzb2VubGljaApGcmVpaGVpdCBlaW5lcyBITFAsIHp1IGVudHNjaGVpZGVuLCBvYiBlciB2aWVsbGVpY2h0IG5lbQpuZXR0ZW4gTmV3YmllIGF1Y2ggbWFsIG1pdCB3YXMgYmVzc2VyZW0gRXF1aXBtZW50IHVudGVyIGRpZQpBcm1lIGhpbGZlID8KCkVpbiBkZW4gS29wZiBzY2h1ZXR0ZWxuZGVyIExlZnR5ClBTOiBXaWVzbyBoYWNrZW4gYWxsZSBhdWZlaW5hbmRlciBydW0gPyBXaWVzbyB2ZXJ0cmFndCBpaHIKICAgIEV1Y2ggbmljaHQgZWluZmFjaCA/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmhhbHRlbnN3ZWlzZSBpbSBNVUQgKEJhbWJ1bGtvLCAyMi4gU2VwIDE5OTUsIDE2OjEzOjA1KToKIyEgcm49TGVmdHkgcnQ9ODExNzc4NDg2CkljaCBoYWJlIG5pY2h0cyBkYWdlZ2VuLCB3ZW5uIGVpbiBITFAgbWFsIGVpbiBwYWFyIGdhbnogZ3V0ZSBXYWZmZW4KdmVyc2NoZW5rdCwgYWJlciB3ZW5uIGhpZXIgamVkZXIgJ2tsZWluZScgU3BpZWxlciwgZGVyIHNpY2gga2F1bSBpbSBNRwphdXNrZW5udCwgZGllIGdsZWljaGUgYXVzcnVlc3R1bmcgd2llIGVpbiBMZXZlbCAzMCBTZWhlciBoYXQgaXN0IGRhcyBzb2NoIGF1Y2gKbmljaHQgZ2FueiBkYXMgV2FocmUsIG9kZXI/CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJoYWx0ZW5zd2Vpc2UgaW0gTVVEIChMZWZ0eSwgMjIuIFNlcCAxOTk1LCAxNjoyNjoxNyk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTgxMTc3OTE4NQpBbHNvIG1pciBpc3QgZGFzIGVocmxpY2ggZ2VzYWd0IHd1cnNjaHQgLi4uIHdlbm4gZXIgc28gZ3V0ZXMgWmV1ZyBoYXQsIGRhbm4KaGF0IGVyIGRhcyBiZXN0aW1tdCBudXIgYmVrb21tZW4sIHdlaWwgZXIvc2llIGVpbiBuZXR0ZXIgQ2hhcmFrdGVyIGlzdC4KT2RlciBuaWNodCA/CgpMZWZ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlcnF1aXogKE5peGlob3UsIDIyLiBTZXAgMTk5NSwgMTc6MTc6NDUpOgojISBybj1Pcmt0b2V0ZXIgcnQ9ODExNTgyMTU1CgpudW5qYSBzb3ZpZWxlIG5ldWUgZ2VnZW5kZW4gc2luZCBlcyBqYSBuaWNodCwgdW5kIGRhcyBpc3QgamEgYXVjaCBudXIgYWxzCmFsbGdlbWVpbmUgYW5yZWd1bmcgZ2VkYWNodC4KaWNoIGZpbmRlIGVzIG5pY2h0IHp1IHZpZWwgdmVybGFuZ3QsIHdlbm4gbWFuIGZ1ZXIgZGllc2VuICJuZXVlbiIgVGl0ZWwKKHdpZSBhdWNoIGltbWVyIGVyIGhlaXNzZW4gbWFnKSBkYW5uIGViZW4gYWxsZSA0LTYgd29jaGVuIGVpbmUgYXVmZm9yZGVydW5nCmJla29tbXQgc2ljaCBlaW5lbSBxdWl6IHp1bSBUaGVtYSAod2FzYXVjaGltbWVyZGllbmV1ZWdlZ2VuZGdlcmFkZWlzdCkgenUKc3RlbGxlbi4gdW5kIHdlbm4gbWFuIGRhZnVlciBkYW5uIDItMyB3b2NoZW4gYmVrb21tdCB1bSBkaWVzZSBnZWdlbmQgenUKZXJmb3JzY2hlbiBvZGVyIGdhciBiZWkgamVkZXIgcXVpei1mcmFnZSBsb3N6dWNrZWwga2FubiwgdW0gZGllIGFudHdvcnQgenUKc3VjaGVuCnNvIGZpbmRlIGljaCBkYXMgbmljaHQgYWxsenVzY2hsaW1tLgphdXNzZXJkZW0gc29sbCBlcyBkb2NoIGViZW4gbnVyIGVpbiB6dXNhZXR6bGljaGVyIHRpdGVsIHNlaW4sIG9obmUgd2VpdGVyZQpTVVBFUkRVUEVSLXp1c2F0emZhZWhpZ2tlaXRlbiwgc29uZGVybiBudXIgenVtIGF1c2RydWNrIGJyaW5nZW4sIERJRVNFUgpTUElFTEVSIEtFTk5UIFNJQ0ggSU0gTVVEIEdVVCBBVVMuCndhcyBhbmRlcmVzIHNvbGx0ZSBkaWVzZXIgdGl0ZWwgamEgdWViZXJoYXVwdCBuaWNodCBsZWlzdGVuIQoKc2VuZiBvZmYKbml4aWhvdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyaGFsdGVuc3dlaXNlIGltIE1VRCAoSm9mLCAyMi4gU2VwIDE5OTUsIDE3OjM1OjI0KToKIyEgcm49TGVmdHkgcnQ9ODExNzc5OTc3CgogSWNoIGZpbmRzIGF1Y2ggYWJzb2x1dCBPSywgd2VubiBTZWhlciBBdXNydWVzdHVuZyBhbiBTcGllbGVyIHZlcnNjaGVua2VuIC0KZGllIEFuZmFlbmdlciBmcmV1dCBlcywgdW5kIGRpZSBTZWhlciB3ZXJkZW4gZG9jaCB1LmEuIG5pY2h0IE1hZ2llciwgREFNSVQKc2llIFNwaWVsZXJuIGhlbGZlbiBrb2VubmVuLiBBdXNzZXJkZW0gaGVidCBlcyBkaWUgU3RpbW11bmcvZm9lcmRlcnQgZGFzClp1c2FtbWVuZ2Vob2VyaWdrZWl0c2dlZnVlaGwgdW5kIHZlcnNjaGFmZnQgbmljaHQgenVsZXR6dCBkZW4gU2VoZXJuIGVpbmVuCmd1dGVuIFJ1ZiB1bnRlciBkZXIgU3BpZWxlcnNjaGFmdC4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmUgbWlucyBtb3V0cyAoTml4aWhvdSwgMjIuIFNlcCAxOTk1LCAxNzo0MDoyMCk6CiMhIHJuPUFjcmltb24gcnQ9ODExNjE5MjIwCm51ciBuZSBpZGVlOgp3aWUgd2FlcmUgZXMgbWl0IGVpbmVtIHNpbGVudG1vdmU/PyAoaXN0IGRhcyBkYXMgcmljaHRpZ2Ugd29ydD8pIGZ1ZXIKc2VoZXI/CmFsc28gZ2Fya2VpbiBtaW4gdW5kIG1vdXQgYmVpbSBiZXdlZ2VuIGluIGVpbmVuIHJhdW0gb2RlciBhdXMgZWluZW0gcmF1bQpyYXVzLgoKbml4aWhvdQoob2sgb2sgc2NobGFndCBtaWNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmUgbWlucyBtb3V0cyAoUmFmZmksIDIyLiBTZXAgMTk5NSwgMTc6NDE6NDUpOgojISBybj1OaXhpaG91IHJ0PTgxMTc4NDQyMApGdWVobGUgZGljaCBoaWVybWl0IGdlc2NobGFnZW4uCgpOZW5lIGljaCB3aWxsIHNjaG9uIGdhbnogZ2VybmUgd2lzc2VuIHdlciBrb21tdCAtIFNpbGVudG1vdmUgd2FlcmUKamEgc293YXMgd2llICh0ZWlsd2Vpc2UpIHVuc2ljaHRiYXJrZWl0ICEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiByZSBtaW5zIG1vdXRzIChOaXhpaG91LCAyMi4gU2VwIDE5OTUsIDE3OjUxOjA1KToKIyEgcm49UmFmZmkgcnQ9ODExNzg0NTA1CmphIG9rIGVzIGlzdCB0ZWlsd2Vpc2UgdW5zaWNodGJhciwgYWJlciB3ZW5uIG1hbiBzb3dhcyBiZWkgd2VnZXNjcmlwdGVuCmVpbnNjaGFsdGV0IG5lcnZ0IG1hbiBkaWUgYW5kZXJlbiBzcGllbGVyIG5pY2h0IQoKbml4aWhvdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmUgbWlucyBtb3V0cyAoVWxvLCAyMi4gU2VwIDE5OTUsIDE3OjU0OjA3KToKIyEgcm49Tml4aWhvdSBydD04MTE3ODUwNjUKRWluIGtvbXByb21pc3Mga29lbm50ZSBkYXJpbiBiZXN0ZWhlbiwgZGFzcyBkaWUgQW5rdW5mdCBudXIgZGFubiBhbmdlemVpZ3QKd2lyZCwgd2VubiBkZXIgU3BpZWxlciBuYWNoIDEgc2VrdW5kZSBub2NoIGltIHJhdW0gaXN0LCBkYW1pdCB3YWVyZW4gZGFubgphbGxlbiBnZWRpZW50IChob2ZmZSBpY2gpLgoKVWxvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmUgbWlucyBtb3V0cyAoUmFmZmksIDIyLiBTZXAgMTk5NSwgMTc6NTU6MTQpOgojISBybj1VbG8gcnQ9ODExNzg1MjQ3Cndlbm4gZGFzIGdlaHQgd2FlcmUgZGFzIGtlaW5lIHNjaGxlY2h0ZSBpZGVlCihkYXMgbWl0IGRlciAxIFNlaykKCkdydXNzCkguCi4gLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmUgbWlucyBtb3V0cyAoRmVscywgMjIuIFNlcCAxOTk1LCAxNzo1NjowNCk6CiMhIHJuPVJhZmZpIHJ0PTgxMTc4NTMxNApCZXN0ZWh0IGRhIG5pY2h0IGRpZSBHZWZhaHIsIGRhc3MgZW5vcm1lIExhZ3MgdmVydXJzYWNodCB3ZXJkZW4/CkdydXNzLCBGZWxzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmVyaGFsdGVuc3dlaXNlIGltIE1VRCAoQXNtb2RpcywgMjIuIFNlcCAxOTk1LCAxNzo1OTo0Nyk6CiMhIHJuPUpvZiBydD04MTE3ODQxMjQKSG1tLCBpY2ggYmluIGVpZ2VudGxpY2ggc2VoZXIgZ2V3b3JkZW4sIGRhbWl0IGljaCBuaWNodCBNYWdpZXIKd2VyZGVuIG11c3MsIHVuZCB0cm90emRlbSBiZXNvbmRlcmUgRmFlaGlna2VpdGVuIGhhYmUsIG5peAphbmRlcmVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByZSBtaW5zIG1vdXRzIChBY3JpbW9uLCAyMi4gU2VwIDE5OTUsIDE4OjM3OjQ2KToKIyEgcm49RmVscyBydD04MTE3ODUzNjQKSWNoIGJpbiBnZWdlbiBkaWUgdGVpbHdlaXNlIFVuc2ljaHRiYXJrZWl0LCBpY2ggbW9lY2h0ZSBpbW1lciB3YXNzZW4sIHdhbm4Kd2VyIGFuIG1pciB2b3JiZWlyZW5udC4KRWluZSBzaW5udm9sbGUgQWJoaWxmZSB3YWVyZSBtZWhyIHZlcnNjaGllZGVuZSBNZWxkdW5nZW4sIGFsc286CgpzZXRtaW4ga29tbXQgYXVmIHNlaW5lciBTY2hpbGRrcm9ldGUgYW5nZXJpdHRlbiwgc3RlaWd0IGFiIHVuZCBzdHJlaWNoZWx0CnNlaW5lIFNjaGlsZGtyb2V0ZQpzZXRtb3V0IGZsdWVzdGVydCBzZWluZXIgU2NoaWxka3JvZXRlIGVpbiBwYWFyIGxpZWJlIFdvcnRlIHp1LCBzdGVpZ3QgYXVmIHVuZApkaWUgU2NoaWxka3JvZXRlIHRyYWJ0CnNldGttaW4ga29tbXQgYXVmIHNlaW5lciBTY2hpbGRrcm9ldGUgYW5nZXJpdHRlbgpzZXRrbW91dCByZWl0ZXQgYXVmIGRlciBTY2hpbGRrcm9ldGUgd2VpdGVyCnNldHVrbWluIHJlbm50IG1pdCBkZXIgU2NoaWxka3JvZXRlIHVudGVybSBBcm0gaGVyYW4Kc2V0dWttb3V0IHJlbm50IGFuIERpciB2b3JiZWkKCklzdCBkb2NoIHZpZWwgYmVzc2VyIHNvIDotKQoKQWNyaW1vbiwgcmVubmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyaGFsdGVuc3dlaXNlIGltIE1VRCAoSmFmLCAyMi4gU2VwIDE5OTUsIDE5OjIyOjMxKToKIyEgcm49TGVmdHkgcnQ9ODExNzc5OTc3CgpPZWhtLCBpc3QgZGVyIFNpbm4gZGVzIFNwaWVscywgbnVyICduZXR0ZScgQ2hhcmFrdGVyZSB6dSBlcnpldWdlbj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcmhhbHRlbnN3ZWlzZSBpbSBNVUQgKEFzbW9kaXMsIDIyLiBTZXAgMTk5NSwgMjA6MzU6MzQpOgojISBybj1KYWYgcnQ9ODExNzkwNTUxCk5vZSwgaXN0IGVzIG5pY2h0LCBhYmVyIHdlbm4gbWFuIG5pY2h0IGxpZWIgdW5kIG5ldHQgaXN0LCBkYW5uIG1vZWdlbgplaW5lbiBkaWUgTGV1dGUgbmljaHQgdW5kIG1hbiBiZWtvbW10IG5peCBnZXNjaGVua3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyL1NwaWVsZXIgKFBhcmFjZWxzdXMsIDIyLiBTZXAgMTk5NSwgMjE6MjA6MDkpOgoqKipJUk9OSUUgT04qKioKSWNoIHZlcnN0ZWggZ2FybmljaHQsIHdvIGRhcyBQcm9ibGVtIGxpZWd0LiBXZW5uIGVpbmlnZSBMZXV0ZSBtZWluZW4sIHNpZQptdWVzc3RlbiB1bmJlZGluZ3QgZWluZXIgImVsaXRhZXJlbiIgR3J1cHBlIGFuZ2Vob2VyZW4sIHNvIGxhc3N0IHVucwpkb2NoIGVpbmZhY2ggZGVuICJVZWJlci1TZWhlciIgZWluZnVlaHJlbi4gTnVyIGRpZSBkZXJ6ZWl0IDI1ICJiZXN0ZW4iClNlaGVyIGtvZW5uZW4gIlVlYmVyLVNlaGVyIiB3ZXJkZW4sIGJlcmVjaG5ldCBuYWNoIGVpbmVyIHdhcy13ZWlzcy1pY2gKd2llIGtvbXBsaXppZXJ0ZW4gRm9ybWVsIGF1cyBFUCwgQVAsIE1VRC1BbHRlciwgUkwtQWx0ZXIgdW5kClJMLVNjaHVoZ3JvZXNzZS4gRGFubiBnZWh0IGRhcyBHZXJhbmdlbCB1bSBkaWUgMjUgUGxhZXR6ZSBsb3MgdW5kIGRpZQpMZXV0Y2hlbiBzY2hyZWliZW4gbmljaHQgbWVociBkaWVzZSB2aWVsLXp1LWxhbmdlbiBBcnRpa2VsLgoqKipJUk9OSUUgT0ZGKioqClBhcmFjZWxzdXMgZGVyIER1bmtsZS4gXTotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVyL1NwaWVsZXIgKFphcmRveiwgMjIuIFNlcCAxOTk1LCAyMToyMToxOCk6CiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODExNzk3NjA5CkhleSBQYXJhY2Vsc3VzISBJY2ggaGFiIGRhcyBjb3B5cmlnaHQgYXVmIGRlbiBUaXRlbCAiZGVyIER1bmtsZSIhCihhYiBkYW1pdCBuYWNoIFNjaG1hcnJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlci9TcGllbGVyIChQYXJhY2Vsc3VzLCAyMi4gU2VwIDE5OTUsIDIyOjQwOjI3KToKIyEgcm49WmFyZG96IHJ0PTgxMTc5NzY3OApQb2VoIQpHZWdlbiBtaWNoIGJpc3QgZHUgZWluZSBTb25uZSwgWmFyZG96ICEKKG9rIG9rLCBhdWNoIG5hY2ggU2NobWFycm4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZSBtaW5zIG1vdXRzIChLZXRvcywgMjMuIFNlcCAxOTk1LCAyMDo1MTowMSk6CiMhIHJuPVJhZmZpIHJ0PTgxMTc4NTMxNApPZGVyIGVpbiBieXBhc3MgbW92ZSBtZXNzYWdlOgpTZWhlciBYIC4uLi4uLi4uLi4gdm9yYmVpLgpLZXRvcyBzY2hsZW5kZXJ0IHZvcmJlaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktMcywgZGllIERyaXR0ZSAoU3VzaGksIDI0LiBTZXAgMTk5NSwgMTE6MjQ6MzApOgoqSXJvbmllIGFuKgpLTHMgc2luZCB0b3RhbCB1ZWJlcmZsdWVzc2lnLiBNYW4ga2FubiBlaW5mYWNoIFNlaGVyIGZyYWdlbiwgZGllIGhlbGZlbiBlaW5lbQphdWNoIHdlaXRlciB1bmQgZGFzIHZlcnN0YWVya3QgZGllIFN0aW1tdW5nIGltIE1VRC4KRWluZSBrdXJ6ZSB6YWVobHVuZyBoYXQgZXJnZWJlbjogMiBzLCAyIHosIDIgTSwgMSBSLCA0IFMsIGRhdm9uIDQgaWRsZSBzZWl0CmVpbmVyIGhhbGJlbiBTdHVuZGUuCipJcm9uaWUgYXVzKgpXbyBpc3QgZGVubiBudW4gREFTIEdsYXN3dWVyZmVsPwoqCipncmlucyoKClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VydWVjaHRla3VlY2hlIChSYWZmaSwgMjYuIFNlcCAxOTk1LCAxMDozNjoxNik6CiMhIHJuPUhvYm8gcnQ9ODEyMTA3OTM2Cgo+IEFsbGVzIGtsYXI/CgpOb2UsIGljaCBoYWIga2VpbmVuIFNjaGltbWVyIHdvdm9uIER1IHJlZGVzdC0gc2NoaGVpbmJhciBsYXVmZW4KZGllc2UgR3J1ZWNoaHRlIG5pY2h0IHNvIHdlaXQgcnVtIHdpZSBkdSBkZW5rc3QgOikgLSBkcnVlY2sgZGljaCBkb2NoIGJpdHRlCmV0d2FzIGtsYXJlciBhdXMsIG9kZXIgc2FncyBkb2NoIGRlbmVuIGRpZSBkaWNoIEFlcmdlcm4gZGlyZWt0LgoKR3J1c3MKSC4KKEpldHogdW5oZWltbGljaCBuZXVnaWVyaWcgZ2V3b3JkZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VydWVjaHRla3VlY2hlIChIb2JvLCAyNi4gU2VwIDE5OTUsIDEwOjQ0OjIxKToKIyEgcm49UmFmZmkgcnQ9ODEyMTA4MTc2CkRlbmVuIHNhZ2VuLCBkaWUgbWljaCBhZXJnZXJuPwpEYXp1IG11c3MgaWNoIGxlaWRlciBlcnN0IG1hbCB3aXNzZW4sIHdlciBlcyBpc3QuCkFiZXIgenVyIEJlcnVoaWd1bmc6IERhcyBzb2xsIGtlaW5lc3dlZ3MgZWluIEFuc2NoaXNzIGFuIGFsbGUgc2Vpbi4KRGllLCBkaWUgZXMgYW5nZWh0LCBtZXJrZW4gZXMgaG9mZmVudGxpY2ghCgogICAgICAgICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcnVlY2h0ZWt1ZWNoZSAoTG9jbywgMjYuIFNlcCAxOTk1LCAxMDo0NjoxNSk6CiMhIHJuPVJhZmZpIHJ0PTgxMjEwODE3NgpJY2ggd2Vpc3MgendhciBhdWNoIG5pY2h0LCB1bSB3YXMgZXMgZ2VodCwgYWJlciBpY2ggZGVua2UgbWFsLCBkaWUgTGV1dGUsIGRpZQpzaWNoIGRhIGFuZ2VzcHJvY2hlbiBmdWVobGVuIHNvbGxlbiwgbXVlc3N0ZW4gZGFzIHdpc3Nlbi4gV2VubiBEdSBEaXIgc2ljaGVyCmJpc3QsIG5pY2h0IGFuZ2VzcHJvY2hlbiB6dSBzZWluLCBkYW5uIG1lcmsgRGlyIGRlbiBJbmhhbHQgbnVyIGZ1ZXIgZXZlbnR1ZWxsCjotKQpBbnNvbnN0ZW4gbXVzcyBpY2ggc2FnZW4sIGRhc3MgaWNoIEhvYm8gbnVyIDEwMCUgenVzdGltbWVuIGthbm4uIExlaWRlciBpc3QKZXMgbmljaHQgZ2FueiBzZWx0ZW4sIGRhc3MgaXJnZW5kd2VsY2hlIHVuc2lubmlnZW4gR2VydWVjaHRlIGR1cmNoIGRhcyBNdWQKZ2Vpc3Rlcm4uIFVuZCBmdWVyIGRpZSBCZXRyb2ZmZW5lbiBpc3QgZGFzIGltbWVyIHppZW1saWNoIGJlbGFzdGVuZC4gSWNoCnNwcmVjaGUgaGllcmJlaSBhdXMgZWlnZW5lciBFcmZhaHJ1bmcsIHdlbm4gYXVjaCBpbiBlaW5lbSB2b2VsbGlnIGFuZGVyZW4KRmFsbC4KCkRlbmt0IGRydWViZXIgbmFjaCwgdW5kIHVlYmVyIGFsbGVzLCB3YXMgaWhyIGlyZ2VuZHdvIGhvZXJ0IG9kZXIgbWVpbnQgenUKYmVvYmFjaHRlbiAtIGVzIGlzdCB2aWVsIGxlaWNodGVyLCBkdXJjaCBlaW4gdW5zaW5uaWdlcyBHZXJ1ZWNodCBlaW5lbiBndXRlbgpGcmV1bmQgenUgdmVybGllcmVuLCBhbHMgZWluZSBzb2xjaGUgU2FjaGUgd2llZGVyIGd1dHp1bWFjaGVuLgoKRWluIGplZGVyIGZhc3NlIHNpY2ggYW4gZGllIGVpZ2VuZSBOYXNlLi4uCgogICAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VydWVjaHRla3VlY2hlIChBc21vZGlzLCAyNi4gU2VwIDE5OTUsIDE5OjUxOjQ5KToKIyEgcm49SG9ibyBydD04MTIxMDg2NjEKSG1tLCBrYW5uIG1hbCBqZW1hbmQgZGllIEdlcnVlY2h0ZSBpbiBkZW4gTmV3cyB2ZXJicmVpdGVuPwpJY2ggd2Vpc3MgbmFlbWxpY2ggYXVjaCBuaWNodCwgd29ydW0gZXMgZ2VodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VydWVjaHRla3VlY2hlIChCaWxib20sIDI2LiBTZXAgMTk5NSwgMjE6MDc6NTYpOgojISBybj1Bc21vZGlzIHJ0PTgxMjE0MTUwOQpKYSwgZ2VuYXUsIGVpbmUgZ2VydWVjaHRlIHJ1YnJpay4KIEJpbGJvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2VmZmVudGxpY2hlIExhdHJpbmVuIChSb2VzdGksIDI3LiBTZXAgMTk5NSwgMDc6NTU6NDgpOgpOYWNoZGVtIGljaCBkb2NoIHNjaG9uIGV0d2FzIGxhZW5nZXIgaW0gTUcgYmluIGJpbiBpY2ggYXVmIGRpZSBzY2hsZWNodGVuClNhbml0YWVyZW4gWnVzdGFlbmRlIGltIE1HIGF1Zm1lcmtzYW0gZ2V3b3JkZW4uLi4KTWl0IGFuZGVyZW4gV29ydGVuLi4uRXMgR2lidCBrZWluZSBTdGVsbGVuKG9kZXIgenVtaW5kZXN0IHp1IHdlbmlnZSxpbgptYW5jaGVuIFNlaGVyaGFldXNjaGVuIHNvbGwgZXMgZGllIEJld3Vzc3RlbiBHZWdlbnN0YWVuZGUgamEgZ2ViZW4uLi5BYmVyIGljaAprYW5uIGRvY2ggbmljaHQgYmVpIGplZGVtIEdlc2NoYWVmdCBpbiBlaW5lIGZyZW1kZSBXb2hudW5nIGdlaGVuLi4uKQpXbyBtYW5uIHNpY2ggc2VpbmVyIEF1c3NjaGVpZHVuZ2VuIGVudGxlZGlnZW4ga2Fubi4uLgpBdXMgZGllc2VtIEdydW5kZSBiaW4gaWNoIGZ1ZXIgZGllIEFuc2NoYWZmdW5nIHZvbiBvZWZmZW50bGljaGVuCkxhdHJpbmVuLi4uKEFtIEJlc3RlbiBuYWNoIGFsdHJvZW1pc2NoZW4gVm9yYmlsZC4uLgpHZXogUm9lc3RpIChkZXIsZGVyIGtlaW4gS2xvIGZpbmRldC4uLjopICkKYmlldGUgbnVkZWkgZnJldW5kc2NoYWZ0IGFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2VoZXJpbmZsYXRpb24gKFJvZXN0aSwgMjcuIFNlcCAxOTk1LCAwOToyNToyMik6Cldlbm4gZXMgZGVubiBMZXV0ZSBnZWJlbiBzb2xsdGUgd2VsY2hlIHNpY2ggZGFnZWdlbiBzdHJhZXViZW4gZGFzIGVzIHp1IHZpZWxlClNlaGVyIGdpZWJ0ICx1bmQgZXMgZWJlbnNvIExldXRlIGdpYnQgZGllIERhcyBhcmd1bWVudCBuZW5uZW4gZGFzIGRhcyBtdWQgZWluCmFsdGVzIG11ZCBpc3QgdW5kIGRhcyBzaWNoIGRhIGViZW4gdmllbGUgU2VoZXIgYW5zYW1tZWxuLGRhbm4gaGFldHRlIGljaCBkYQptYWwgZWluZSBJZGVlLi4uKG1hbCBob2ZmZW50bGljaCBuZSB2ZXJudWVuZnRpZ2UpCkFsc28gZGFtaXQgbWFubiBzaWNoIG5pY2h0IGFscyBTZWhlciBuaWNodCBudXIgYXVmIGRpZSBmYXVsZSBIYXV0IGxlZ3QgdW5kCm9kZXIgbnVyIGFybWUgTmV1c3BpZWxlcmxpZXMgYWVyZ2VydCx3YWVyZSBlcyBkYSBuaWNodCBhbmdlYnJhY2h0IGVpbmZhY2ggbm9jaAplaW5lIFp1c2F0enN0dWZlIGlucyBNdWQgenUgYnJpbmdlbj8KV2llIHdhZXJlIGVzIG1pdCBlaW5lbSBPYmVyc2VoZXIgb2RlciBlaW5lbSBBdWZzZWhlcj8gb2RlciBlaW5lbQpGcnVlaGF1ZnNlaGVyLi4uQWVoIG5lZSBkYXMgaGVpc3QgRnJ1ZWF1ZnN0ZWhlciB1bmQgaGF0dCBuaXggbWl0IGRlbSBNRyB6dQp0dW4uLi4uLgpBbHNvIG51ciBzbyBuZSBJZGVlCiAgICAgIFJvZXN0aQogICAgICAgICBXZWl0IGRhdm9uIGVudGZlcm50IGVpbiBTZWhlciB6dSBzZWluLi4uOikKICAgICAgICAgICAgICBNYWNodCBpaG0gYWJlciBhdWNoIG5peCBhdXMuLi5JbSBNRyBrYW5uIG1hbm4gYXVjaCBzbyBzZWlvbmVuClNwYXNzIGhhYmVuOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlLjpyZVNlaGVyaW5mbGF0aW9uIChSb2VzdGksIDI3LiBTZXAgMTk5NSwgMDk6NDA6MjMpOgpUamEgZGFzIGtvbW10IGRhdm9uIHdlbm4gbWFuIG5pY2h0IGFsbGVzIGxpZXN0Li4uTGV0enRlciBlaW50cmFnIHZvbiBtaXIgaXN0CndvaGwgc2Nob24gZXR3YXMgdWViZXJob2x0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUuOnJlU2VoZXJpbmZsYXRpb24gKEN1Y2h1bGxpbiwgMjcuIFNlcCAxOTk1LCAwOTo0MjozNik6CiMhIHJuPVJvZXN0aSBydD04MTIxOTEyMjMKCgpEYXJmIGljaCBpbiBkaWVzZW0gWnVzYW1tZW5oYW5nIGVybmV1dCBhdWYgJ2xvZXNjaGUgYXJ0aWtlbCA8bnI+JwpoaW53ZWlzZW4/IFdhZXJlIGVpbmUgRXJsZWljaHRlcnVuZyBmdWVyIGFsbGUgZ2VzdHJlc3N0ZW4gTGVzZXIuLi4KCkN1Y2guLSAgLSBtYWNodCBkYXMgb2VmdGVycy4gU2NocmVpYnQgdmllbCBTY2htYXJybi4gVW5kIHVlYmVyaGF1cHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BpZWxlci9TZWhlciByYXRpbyAoSGFyZGlsLCAxOS4gU2VwIDE5OTUsIDE0OjI1OjQ4KTogKFJvZXN0aSwgMjcuIFNlcCAxOTk1LCAxMDowODozNik6CkFsc28gZGFzIG1pdCBkZW0gU2NyaXB0IG1pdCBkZW0gbmV1Z2VzY2hhZmZlbmUgQ2hhcmFrdGVyZSBlcnN0bWFsIDEwMApaVC1QbGFldHplIGFibGF1ZmVuIGZhZW5kZSBpY2ggbmljaHQgc2NobGVjaHQuLi5EYSBicmFldWNodGUgbWFubiBuaWNodCBtZWhyCnNwZXppZWxsIG5hY2ggenQgc3VjaGVuIHVuZCBrb2VubnRlIG1pdCBhbmRlcmVuIGF1Y2ggbWFsIHJ1bXppZWhlbiBvaG5lIGRpZQphbmRlcmVuIGRhcmF1ZiBhdWZtZXJrc2FtbSB6dSBtYWNoZW4gZGFzIG1hbm4gc2VsYnN0IG5vY2gga2VpbmUgTHVzdCBoYXR0ZQoob2RlciB6dSBmYXVsIHdhciAgKSBuYWNoIFpUIExpc3RlIHZvcnp1Z2VoZW4uLi4KSWNoIGhhbHQgbml4IHZvbiBLb21wbGV0dGxpc3Rlbi4uLihnYWVobiBsYW5nd2VpbGlnLi4uKSBhYmVyIGF1Y2ggbml4IHZvbgpxdWVzdGVuIGRpZSBudXIgZHVyY2ggbGFiaQp0aGUgZGllIGtvbXBsZXR0bG9lc3VuZ2VuIHZlcmRyYWVuZ2VuIHdvbGxlbi4uLiAuCkF1Y2ggbWlyIHNhZ3QgZGllIEJlcnVlbXRlIHN0cm9mZSBkZXMgSGVsZGVuIExpZWRlcyBldHdhcyAoRnVlciBhbGxlIGRpZSBlcwpuaWNodCBrZW5uZW4uLi46SWNoIGhhYiBlaW4gTGFuZ3NjaHdlcnR0IG1hZ2lzY2ggKzEwIC4uLiBzY2h3dXBzIGRpZSBTTCBoYXRzCm5pY2h0IGdlc2Vobi4uLmRhcyBtYWNodCBzcGFzcy5kYXMgbWFjaHQgc3Bhc3MgaWNoIGdlYiBnYXMuLi5XaWxsIG5pY2h0CnNwaWVsZW4gd2lsbCBuaWNodCB2ZXJudWVuZnRpZyBzZWluIFdJTEwgTlVSIE9FREUgTUVUWkVMRUlOIERBUyBNQUNIVCBTUEFTUy4uLgp1c3cuCkFsc28gc292aWVsIGRhenUuCkFiZXIgdHJvdHpkZW0gd2FlcmUgZXMgbWFuY2htYWwgaGlsZnJlaWNoIHdlbm4gZGllIFpUIG5pY2h0IGdhbnogU29vb28gZ3V0CnZlcnN0ZWNrdCB3YWVyZW4uLi5lcyBpc3QgYmVpIGRlciBtb21lbnRhbmVuIEdyb2Vzc2UgZGVzIG11ZHMgc2Nob24gZmFzdAp1bm1vZWdsaWNoIGFsbGUgcmFldW1lIHp1IGtlbm5lbi4uLkFiZXIgd2llIHNvbGwgbWFubiBkZW5uIGF1Y2ggbm9jaCBhbGxlCihiZXRvbnVuZyBhdWYgd2lya2xpY2ggYWxsZSApIHJhZXVtZSBnZW5hdWVzdGVueiB1bnRlcnN1Y2hlbj9EYXMgaXN0CmdlbGluZGVnZXNhZ3QgZGVmaW5pdGl2IHVubW9lZ2xpY2ggLHNvdmVybiBtYW5uIGF1Y2ggbnVyIGhhbGJ3ZWdzIGFuIGV0d2FzCmFuZGVyZXMgZGVua3QgYWxzIHNpY2ggZXMgenVtIHppZWwgenUgbWFjaGVuIGplZGVzIERldGFpbCB6dSBiZXRyYWNodGVuIHVzdy4uLgpEYXMga2FubiBhYmVyIGF1Y2ggbmljaHQgZGFzIHNlaW4gd2FzIHdpciB1bnRlciBtdWRkZW4gdmVyc3RlaGVuLi4uZGVubiBkYWJlaQpibGllYmUgamEgZGFubiBhdWNoIGRlciBTcGllbHNwYXNzIHVuZCBkZXIgdGVhbWdlaXN0KGhhdCBlaCBzY2hvbiBhcmcKYWJnZW5vbW1lbikgYXVmIGRlciBzdHJlY2tlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BpZWxlci9TZWhlciByYXRpbywgKEJhYm9vbiwgMjcuIFNlcCAxOTk1LCAxMDoyMDo0Myk6CiMhIHJuPUtldG9zIHJ0PTgxMTQ1NTI5MQpBbHNvLAoKKnNlbmYgb24qCgpJY2gKcGVyc29lYm5saWNoW0RbRFtEW0RbW2VbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbQ1tDW0NbRFtEW0RbRFtEW0RbRFtEW0RbRFtEW0RmaW5kZQpLb21wbGV0dGxvZXN1bmdlbiBhdWNoIGJsb2VkLiAoT2ssIG5hY2hkZW0gaWNoIGluIGRlciBGcmllZGhvZnNxdWVzdCB6dW0KZHJpdHRlbiBNYWwKYXVmIGhhbGJlbSBXZWcgdm9yIGVpbmVyIHJlc2V0dGV0ZW4gVHVlciBnZXN0YW5kZW4gaGFiLApoYWIgaWNoIG1pciBhdWNoIGVpbmUgYmVzb3JndC4pIFRhdHNhY2hlIGlzdCBqZWRvY2gsIGRhcyBtYW5jaGUgU3ludGF4ZSByZWNodApibG9lZHNpbm5pZyBzaW5kLiBBdXNzZXJkZW0gc29sbCBlcyB0YXRzYWVjaGxpY2ggTGV1dGUgZ2ViZW4sCmRpZSB1ZWJlciBNb2RlbSBtdWRkZW4hIDotKQpJY2ggZnVlciBtZWluZW4gVGVpbCB3YWVyZSBmdWVyIFRpcHMsIGRpZSBtYW4gc2ljaCBpcmdlbmR3aWUsIGlyZ2VuZHdvCmJlc29yZ2VuIGthbm4Kei5CLiBhbHMgRXJ3ZWl0ZXJ1bmcgZGVyIEhpbGZlZnVua3Rpb24gb2RlciBzbywgbWVociBhbHMgZGFua2Jhci4KVm9yIGFsbGVtIHBhc3NpZXJ0IGVzIG1pciByZWNodCBvZnQsIGRhcyBBbmZyYWdlbiBhdWYgZGVuIEthbmFlbGVuIGF1Y2ggaW0KU2FuZCB2ZXJsYXVmZW4sIHdvbWl0IGRpZXNlIEFsdGVybmF0aXZlCmF1Y2ggbmljaHQgZGFzIGdlbGJlIHZvbSBFaSBpc3QuCgpHcnVlc3NlLCBCYWJvb24uCgpBY2ggamE6ICJzZW5mIG9mZiIgOi0pCgpQLnMuOiBFbnRzY2h1bGRpZ3QsIGZhbGxzIGRpZSBGb3JtYXRpZXJ1bmcgaW4gZGllIEhvc2UgZ2VnYW5nZW4gc2VpbiBzb2xsdGUuCkljaCBoYWIgdmVyZ2Vzc2VuLCBkYXMgbWVpbiBFcnN0aSBpbSBNb21lbnQgbmljaCB1ZWJlciBURiB2ZXJmdWVndC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzZWhlcmluZmxhdGlvbiAoS2Flbmd1cnVoLCAyNy4gU2VwIDE5OTUsIDEwOjMzOjE2KToKIyEgcm49SGFyZGlsIHJ0PTgxMjE5NDI2NgoKRGFzIGlzdCBuZSB6aWVtbGljaCBzb2Z0ZSBCZWRpbmd1ZywgZGEgdmVyZmFlbGx0IGRlciBTdGF0dXMgamEgd2llZGVyCmluIE51bGxrb21tYW5peC4gQXVzc2VyZGVtIHNpbmQgZGllIExldXRlIG1pdCBNb2RlbSBvZGVyIG1pdCBGZWxkYmV0dAppbiBkZXIgVW5pIHdpZWRlciBtYWwgaW0gVm9ydGVpbCA6KSkKCiAgICBLYWVuZ3VydWguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2VoZXJpbmZsYXRpb24gKEJhYm9vbiwgMjcuIFNlcCAxOTk1LCAxMDozNToxOSk6CiMhIHJuPU11cGZlbCBydD04MTE0NzA2OTAKV2FzIGhlaXNzdCBoaWVyIEFydGlsbGVyaWU/IFNwaWVsc3QgZHUgYXVmIGRpZSBSaW5nZSB2b20gU2NobGFtbWRyYWNoZW4gYW4/Ck9kZXIgZGllIFNhZXVyZWJhZWxsZSB1bmQgRmV1ZXJrdWdlbG4/IE51biBqYSwgSWNoIHBlcnNvZW5saWNoIGhhYiBiaXNoZXIgbm9jaAprZWluIGVpbnppZ2VzIHZvbiBkaWVzZW4gVGVpbGVuIGluIEhhZW5kZW4KZ2VoYWx0ZW4uIEF1Y2ggd2VubiB3aXIgZWluZSBTZWhlcnNjaHdlbW1lIGhhYmVuLCBlcyBpc3QgaGFsdCBuaWNodCBqZWRlciBlaW4KSnVycnksIENhcmFkaHJhcyBvZGVyIHdpZSBkaWUgTWVnYW1ldHprZXIgYWxsZSBoZWlzc2VuLgpJY2ggYmluIHp3YXIgc2Nob24gTGV2ZWwgMjQsIGFiZXIgYmlzaGVyIGJpbiBpY2ggc29nYXIgYW0gR29ibGluaGV4ZXIKZ2VzY2hlaXRlcnQuCkljaCBoYWIgZ2FueiBlaW5mYWNoIHdlZGVyIEx1c3Qgbm9jaCBHZWR1bGQgdGF1c2VuZG1hbCB0YW5rZW4genUgcmVubmVuLCBiaXMKc28gZWluIHZpZWNoIGF1ZmdpYnQuIERhYmVpIHd1ZXJkZSBpY2ggYWJlciBuaWNoIHNhZ2VuLCBkYXMgaWNoCnVudGVyYmVzY2hhZnRpZ3Qgd2FlcmUuCklyZ2VuZHdpZSBzY2hlaW50IGVzIGFiZXIgYXVjaCBlaW5lIEluZmxhdGlvbiB2b24gc2VociBndXRlbiAoenUgZ3V0ZW4/KQpXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4genUgZ2ViZW4uIEljaCBmaW5kIGVzIGhhbHQgYmxvZWQsIHdlbm4gaWNoIHNjaGllZgphbmdlc2d1Y2t0IHdlcmRlIChiaWxkbGljaCBnZXNwcm9jaGVuKSwgd2VpbCBpY2ggIm51ciIgbWl0IEJTUyB1bmQgSG9ybnBhbnplcgpydW1yZW5uZS4KWndhciBnZWhlbiBtZWluZSBMUCB1bmQgTVAgcmFwaWRlIGRlbiBCYWNoIGhlcnVudGVyLCBhYmVyIGhhdCBzY2hvbiBtYWwKamVtYW5kIGRhcmFuIGdlZGFjaHQsIGRhc3MgZGFzIHZpZWxlaWNodCBhbiBkZW4gTW9uc3Rlcm4gbGllZ3QsCmRpZSBldnRsLiB6dSBzdGFyayBmdWVyIGRlbiBEdXJjaHNjaG5pdHRzc3BpZWxlciBzaW5kPyBJcmdlbmR3aWUgc2NoZWluZW4gZGllCk1hZ2llciBoaWVyIHp1IHZlcnN1Y2hlbiwgZGVuIFN1cGVyLXNlaGVybiBpbW1lciBuZXVlICBIZXJhdXNmb3JkZXJ1bmdlbgp6dSBiaWV0ZW4gdW5kIHZlcmdlc3NlbiBkYWJlaSBnYW56IHVucyAibWluZGVyYmVtaXR0ZWx0ZSIuCgpUc2NodWxkaWd1bmcgZnVlciBkaWUgRm9ybWF0aWVydW5nLCBhYmVyIGljaCBoYWIgaW1tZXJub2NoIGtlaW4gVEYuCkltbWVyIGRpZXNlIFp3ZWl0aXMsIHZpZWwgenUgdmVyd29laG50LiA6LSkKClRzY2hvZSwgQmFib29uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPZWZmZW50bGljaGUgTGF0cmluZW4gKE1vcmdvdGgsIDI3LiBTZXAgMTk5NSwgMTE6MDU6MjApOgojISBybj1Sb2VzdGkgcnQ9ODEyMTg0OTQ4CmljaCBwcm9nZyBncmFkIGFuIGVpbmVyIHRvaWxldHRlLi4ua2xhcHB0IGFiZXIgbm9jaCBuaWNodCBhbGxlcyAqKmdydW1tZWwqKgp2aWVsbGVpY2h0IG1pdCBldHdhcyBoaWxmZSAqKnNjaGllbCBzaWx2YW5hIGFuKioKbW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoU2NocnVtcGZpLCAyMC4gU2VwIDE5OTUsIDIxOjExOjE1KTogKFJvZXN0aSwgMjcuIFNlcCAxOTk1LCAxMjoyMDo1MCk6CkFsc28gc2NocnVtcGZpIGljaCBmYWVuZGUgZXMgZWNodCBzY2hhZGUgd2VubiBkdSBtaXQgZGVtIEJlc2NocmVpYmVuCmF1ZmhvZXJlbiB3dWVyZGVzdC4uLnRyb3R6ZGVtIGlzdCBlcyBuYWhlenUgdW5tb2VnbGljaCBzaWNoIEFMTEUgUmFldW1lIGdlbmF1CmFuenVzY2hhdWVuIG51ciB1bSBhdWYgc3RhdHMgenUga29tbWVuIG1pdCBkZW5lbiBtYW5uIHdhcyBhbmZhbmdlbiBrYW5uLi4uIC4KRXMgd2lyZCBqYSBob2ZmZW50bGljaCBuaWVtYW5kIGJlc3RyZWl0ZW4gZGFzIG1hbm4gbWl0IGRlbiBBbmZhZ3NzdGF0cwp6aWVtbGljaCBhbmdlcy4uLkFlaCBzdWVsenQgaXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGJlc2NocmFlbmt1bmc/ISAoU2NocnVtcGZpLCAyMC4gU2VwIDE5OTUsIDIxOjExOjE1KTogKEFyYW55YSwgMjcuIFNlcCAxOTk1LCAxMzo1MTo1NSk6CiMhIHJuPVJvZXN0aSBydD04MTIyMDA4NTAKVGphLCBtYW5uIGthbm4gZGFtaXQgd29obCBuaXggYW5mYW5nZW4uLi4KQWIgbmFjaCBTY2htYXJybgpBcmFueWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbXBsZXR0bG9lc3VuZ2VuIChMZWZ0eSwgMjcuIFNlcCAxOTk1LCAxMzo1OTo0Nyk6CkhpCmhtLCBoaWxmZWZ1bmt0aW9uIGZ1ZXIgcXVlc3RzIGZpbmRlIGljaCBndXQgLi4uIHdpZSB3YWVyZSBlcyBkYW1pdCA/IHBybwp0aXAgYWJ6dWcgdm9uIGVpbmVyIGJlc3RpbW10ZW4gYW56YWhsIHZvbiBlcCdzID8KCkxlZnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGllbGVyL1NlaGVyIHJhdGlvLCAoSmFmLCAyNy4gU2VwIDE5OTUsIDE0OjE2OjUyKToKIyEgcm49QmFib29uIHJ0PTgxMjE5MzY0MwoKSG0sIGFsc28sIEFuZnJhZ2VuIHVlYmVyIGRpZSBLYW5hZWxlIGJyaW5nZW4gb2Z0IG5pY2h0IGFsbHp1dmllbC4gRGFzCm1hZyB3b2hsIHNlaW4uIEFsdGVybmF0aXYga2FubiBtYW4gbmF0dWVybGljaCBub2NoIGplbWFuZCBkaXJla3QgZnJhZ2VuLgpXZW5uIGRhcyBHZXd1ZW5zY2h0ZSBlaW5pZ2VybWFzc2VuIHZlcm51ZW5mdGlnIGtsaW5ndCwgd2lyZCBlcyBpbiBkZXIKUmVnZWwgd29obCBuaWNodCBhYmdlc2NobGFnZW4uCkZ5dC4Kc28KClBTOiBOZWluLCBpY2ggd2VyZGUgYXVjaCBpbiBadWt1bmZ0IGtlaW5lbSBMZXZlbCAuLi4gdXVwcywgd2llZGVyIG5lClppZmZlciA6fCAuLi4gZHJlaSBlaW4gQlNTIGJlc29yZ2VuLCBnZW5hdXNvd2VuaWcgd2llIGljaCBkaWUgRHVua2VsZWxmZW4Kb2IKCnBsYWV0dGUsIG51ciBkYW1pdCBlaW4gTGV2ZWwgLi4uIHV1cHMuLi4gNSBzZWluZSBadHMgZGEgdW50ZW4gYWJsYXVmZW4Ka2Fubi4uLiBVZWJlciBkaWUgRG9nZ2VuIGxhc3MgaWNoIGFsbGVyZGluZ3MgZ2VybiBtaXQgbWlyIHJlZGVuLi4uClNvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzZWhlcmluZmxhdGlvbiAoQmVuZGVpZ2lkLCAyNy4gU2VwIDE5OTUsIDE2OjA1OjEwKToKIyEgcm49QmFib29uIHJ0PTgxMjE5NDUxOQpXYXMgbWVpbnN0IER1IG1pdCBNaW5kZXJiZW1pdHRlbHRlPyBnZWlzdGlnPwpTb3NvLCBub2NoIG5pZSBTYWV1cmViYWVsbGUgb2RlciBGbGFtbWVua3VnZWxuIGdlc2VoZW4sIGFiZXIgbWFnaWVyPwoKKnNlbmYgb2ZmKgpaJ3BhciBTZXJ2dSwKICAgICAgICAgICAgICBCZW5kZWlnaWQKClAuUy4gRWNodCwgTGV2ZWwgMjQgb2huZT8gRGllIGFybWVuIFNjaGF0dGVubGV1dGUgdW5kIE9ya2xhZ2VyIGRhdWVybmQKbWFzc2FrcmllcnQsIHdvbGw/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNlaGVyaW5mbGF0aW9uIChKdXJyeSwgMjcuIFNlcCAxOTk1LCAxNzo1NDo0NSk6CiMhIHJuPUJhYm9vbiBydD04MTIxOTQ1MTkKc2Nob2VuIGRhcyBkdSBtaWNoIGVyd2FlaG5zdCBiYWJvb24gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNlaGVyaW5mbGF0aW9uIChSeHRlY2gsIDI3LiBTZXAgMTk5NSwgMTc6NTU6MzApOgojISBybj1KdXJyeSBydD04MTIyMjA4ODUKSmEsIEp1cnJ5LCBpY2ggaGFiIGRhcyBhdWNoIG5pY2ggdmVyc3RhbmRlbiA6KQoKcnggKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzZWhlcmluZmxhdGlvbiAoUXVpbGxpYW4sIDI3LiBTZXAgMTk5NSwgMTk6MTQ6NDQpOgojISBybj1CZW5kZWlnaWQgcnQ9ODEyMjE0MzEwCkFsc28gd2VubiBtaXIgbmljaHQgZWluZXIgZGllc2UgUmluZ2UgaW4gZGllIEhhbmQgZ2VkcnVlY2t0IGhhZXR0ZSwKa29lbm50ZSBpY2ggYXVjaCBtaXQgRnVnIHVuZCBSZWNodCBiZWhhdXB0ZW4gbm9jaCBuaWUgbWl0IFNhZXVyZWJhZWxsZW4sCkZsYW1tZW5rdWdlbG4sIFN0YWViZW4gdW5kIFJpbmdlbiBnZWFyYmVpdGV0IHp1IGhhYmVuLgpJY2ggaGFiIGVyc3QgYWIgTGV2ZWwgMjYgQnVtZXJhbmdzIHp1IG51dHplbiwgdW5kIGRhcyBhdWNoIG51ciB1bQplaW4gSGF1cyB6dSBiYXVlbiAoZGFzIGljaCBqZXR6dCBzY2hvbiBzZWl0IE1vbmF0ZW4gbWl0IG1pciBydW10cmFnZSkuCkhhYiBpY2ggbWljaCBqZXR6dCBhbHMgaXJnZW5kZXR3YXMgZ2VvdXRldD8KClF1aWxsaWFuLCBkZXIgbGV0enRlIFNlaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RiZXNjaHJhZW5rdW5nPyEgKFNudWdnbGUsIDI3LiBTZXAgMTk5NSwgMjE6MTQ6NTIpOgojISBybj1UYXNoYSBydD04MTE3MDQ5NzMKSG1tLCBkYW5uIG1hY2h0IGFuYWtpbiBzaWNoIHNlaW5lIHNlaGVyIGltbWVyIG5vY2ggc2VsYmVyLi4KYWJlciBhbnNvbnN0ZW4gZmluZCBpY2ggZGVuIHZvcnNjaGxhZyBndXQuLgoKWVQgU251Z2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc2VoZXJpbmZsYXRpb24gKENhcmFkaHJhcywgMjguIFNlcCAxOTk1LCAwMjo0ODoxOCk6CiMhIHJuPVF1aWxsaWFuIHJ0PTgxMjIyNTY4NAogICAgICAgICBIdWh1CgpOb2UsIFF1aWxsLCBEdSBoYXN0IERpY2ggbmljaHQgZ2VvdXRldCwgaWNoIHNlbGJzdCBoYWIgZXJzdCBpbiBMZXZlbCAyNyBvZGVyCjI4IG1pdCBCdW1taXMgYW5nZWZhbmdlbiwgZ2VuYXVzbyB3aWUgaWNoIGF1Y2ggbmllIFNhZXVyZWJhZWxsZSB1bmQKRmxhbW1lbmt1Z2VsbiB1bmQgTmFkZWxuIGJlbnVldHplLiAoYXVzc2VyIGRhbWFscyBmdWVyIGRpZSBIeWRyYSkKCiAgICAgICAgICAgICB0c2NodWVzcyAgICBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvbGw/IChDYXR3ZWF6bGUsIDI4LiBTZXAgMTk5NSwgMDk6NDQ6MzgpOgpIdWNoLCBkYSBpc3QgYWxsZ2VtZWluZXMgamEgc2Nob24gd2llZGVyIHZvbGwgLi4uCldhciBpY2ggbmFjaGxhZXNzaWc/ClNlaWQgaWhyIGlnbm9yYW50ID8/CllvdXJzIHRydWx5LAogICAgICAgICAgQ2F0d2VhemxlICpyYXRsb3MgbWl0IGRlbiBTY2h1bHRlcm4genVja2VuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXJzdGVsbHVuZyAoT3JrdG9ldGVyLCAgNi4gT2t0IDE5OTUsIDE2OjIxOjQwKToKQWxzbywgaWNoIG11c3MgaGllciBlaW5tYWwgZXR3YXMgZ2FueiBkZXV0bGljaCBzYWdlbiA6CkRlciBXb2xwZXJ0aW5nZXIsIGRlciBvZmZlbnNpY2h0bGljaCBoYWV1ZmlnIGRlbiBCZXRyaWViIGluIFphcmRveiBSb2RlbGJhaG4KZ2VmYWVocmRldCBpc3QgbmljaHQgbWVpbiB3aW56aWdlciB3dXNjaGVsaWdlciBXb2xwZXJ0aW5nZXIuCkljaCBoYWJlIG1pdCBpaG0gc2VsYmVyLCBzZWluZXIgTWFtYSB1bmQgbWl0IEtldG9zIGdlc3Byb2NoZW4gdW5kIHdpciBzaW5kIHp1CmRlbSBTY2hsdXNzIGdla29tbWVuLCBkYXMgZXMgc2ljaCBiZWkgbmFlbWxpY2hlbSBXb2xwZXJ0aW5nZXIgbnVyIHVtIGVpbmVuCm1pc3JhdGVuZW4gV29scGVydGluZ2VyIGhhbmRlbG4ga2Fubi4KRGFzIGVya2xhZXJ0IGRhbm4gd29obCBhdWNoLCB3YXJ1bSBkaWVzZXIgV29scGVydGluZ2VyIGltbWVyIHdpZWRlcgphdWZ0YXVjaHQuCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xhcnN0ZWxsdW5nIChSeHRlY2gsICA2LiBPa3QgMTk5NSwgMTY6Mzc6MTYpOgojISBybj1Pcmt0b2V0ZXIgcnQ9ODEyOTkyOTAwClNvIGVpbiBRdWF0c2NoLApPcmt0LCBzaWVoIGRlbiBUYXRzYWNoZW4gaW5zIEF1Z2UuIER1IHVuZCBEZWluZSBXb2xwaWZyZXVuZGUsIElociBoYWJ0CmRpZSBrbGVpbmVuIGdlaGFlc3NpZ2VuIEdlc2Nob2VwZmUgZWluZmFjaCBuaWNodCBpbSBHcmlmZi4gRGllc2UKdW5ydWhlc3RpZnRlciBpbSBNb3JnZW5ncmF1ZW4sIGJlaSBkZW5lbiBpY2ggbnVyIGRhcmF1ZiB3YXJ0ZSwKZGFzcyBzaWUgbWlyIGluIGRlbiBXb3Jrcm9vbSBzY2hlaSoqCgpTbyBzaWVodCBkb2NoIGRpZSB0cmF1cmlnZSBUYXRzYWNoZSBhdXMuIERhIG51dHplbiBhdWNoIGtlaW5lIERlbWVudGlzLgpJaHIgc2VpZCBlbnR0YXJudC4KCkRlc2hhbGI6IEVya2xhZXJ0IGRpZSBXb2xwaWphZ2RzYWlzb24gZnVlciBlcm9lZmZuZXQuCgpSeCBpbSBKYWdkZmllYmVyCgpQczogYW0gbGllYnN0ZW4gR3VsZGlzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGFyc3RlbGx1bmcgKE9ya3RvZXRlciwgIDYuIE9rdCAxOTk1LCAxNjo1MDo0Nyk6CiMhIHJuPVJ4dGVjaCBydD04MTI5OTM4MzYKV2FzIGZ1ZXIgZWluIFNjaHdhY2hzaW5uLgpXZWl0ZXJlIEtvbW1lbnRhcmUgc2luZCBkYSB1ZWJlcmZsdWVzc2lnLgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG9zdGNsdWIgOikgKFRha2FuLCAgOS4gT2t0IDE5OTUsIDEwOjU4OjA2KToKSGFsbG8sIGljaCBzY2hyZWliIGpldHp0IG1laW5lbiBlcnN0ZW4gQXJ0aWtlbCBhbHNvIG5laG10IG1pY2ggbmljaHQgZ2xlaWNoCmJlaW0gRXJzdGVuIG1hbCBhdXNlaW5hbmRlciA7KQpXaXIsIGFsc28gemFiYXR0YSwgbWVpbmUgV2VuaWdrZWl0LFVsdWxhLFRvcmVuZSBoYWJlbiBiZXNjaGxvc3NlbiBpbiBkZXIgUG9zdApuZW4gQ2x1YiB6dSBncnVlbmRlbiBkZXIgc2ljaCBvc3RjbHViIG5lbm5lbiB3aXJkIChkZXIgdmllbGxlaWNodCBhdWNoIGFuZGVycywKb3JzY2hsYWVnZSBzaW5kIGltbWVyIHdpbGxrb21tZW46KS4KRGllcyBpc3QgZWlnZW50bGljaCBudXIgbmUgZml4ZSBJZGVlIHZvbiB1bnMgZ2V3ZXNlbiwgd2VpbCB3aXIgYW5kYXVlcm5kIGluCmRlciBQb3N0IGhlcnVtaGFlbmdlbiB1bmQgcnVtYmxvZWRlbG4gOikKRGVyIEhudGVyZ2VkYW5rZSBpc3QgZWlnZW50bGljaCBudXIgbWFsIGVpbmVuIGV0d2FzIEFuZGVyZW4gQ2x1YiB6dSBoYWJlbiBhbHMKemIgZGVuIFdvbHBlcnRpbmdlcmNsdWIuLi4KV2lyIGhhYmVuIGJpcyBqZXR6dCBuZW4gMS4gdW5kIG5lbiAyLiBvcnNpdHplbmRlbiwgbmUgZXJhdGVyaW4gdW5kIG5lClplcmVtb25pZW5tZWlzdGVyaW4gLi4uLgpUamEgZGllIEZyYWdlIGlzdCBlaWdlbnRsaWNoIG9iIGRhZ2VnZW4gd2FzIHZvbiBTZWl0ZW4gZGVyIE1naWVyIGVpbnp1d2VuZGVuCmlzdCB1bmQgb2Igc2ljaCB2aWVsbGVpY2h0IGVpbiBtYWdpZXIgZGF6dSBiZXJlaXRlcmtsYWVyZW4ga29lbm50ZSBlaW5lbiBSYXVtCnZvbiBkZXIgUG9zdCBpbiBQViBhdXNnZWhlbmQgenUgcHJvZ2dlbiA/Pz8KV2VubiBpaHIgQW5yZWd1bmdlbiBvZGVyIEtpdGlrIG9kZXIgbnVyIGV1cmUgTWVpbnVuZyBkYXp1IGFldXNzZXJuIHdvbGx0Li4uCkRpZSBpc3MgaW1tZXIgZXJ3dWVuc2NodCA6KQpXaWUgZ2VzYWd0IGRhcyBzb2xsIGtlaW4gQmllcmVybnN0ZXJjbHViIHdlcmRlbiBiencgc2VpbixhbHNvIG5laG10IGVzIGF1Y2gKbmljaHQgc28gdG90YWwgZXJuc3QgdW5kIHplcmxlZ3QgaWhuIGdsZWljaCBpbiBzZWluZSBCZXN0YW5kdGVpbGUgOy0pKQpnZXouCiAgICBUYWthbgoKCihQUyA6QWVoIGljaCBlbnRzY2h1bGRpZ2UgbWljaCBzY2hvbiBtYWwgaW0gVm9ycmF1cyBmdWVyIFN5bnRheC0gYnp3ClR5cG8tZmVobGVyIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFsbG8gQmxhbmNoZSAoQ2hldmluLCAxMS4gT2t0IDE5OTUsIDE0OjA1OjAwKToKSGUgQmxhbmNoZSEgTWVsZGUgRGljaCBtYWwgYmVlaW5lbSBIZWxkZW4gQ2hldmluIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbGxvIEJsYW5jaGUgKEFyYW55YSwgMTIuIE9rdCAxOTk1LCAxNDozNDoyNCk6CiMhIHJuPUNoZXZpbiBydD04MTM0MTY3MDAKT29vY2gsIEtpbmRlciwga29lbm50IElociBkYXMgbmljaHQgbXVkbWFpbGVuPwpPZGVyLi4uIEhtbW0uLi4KSGFsbG8hIExldHp0ZSBXb2NoZSBpbiBkZXIgR2lsZGUgaW4gUG9ydCBWYWluLiBEdSwgaG9mZm51bmdzdm9sbGVyIEFuZmFlbmdlciwKbWl0IERvbGNoLCBCaWVuZW5zdGFjaGVsIHVuZCBIZWxtLCBNRy1GQVEsIE1QQSB1bmQgQW5mYWVuZ2VyaGFuZGJ1Y2ggZnJhZ3Rlc3QKbWljaCwgQWRlcHRpbiBtaXQgcHVycHVybmVyIFJvYmUsIHdvIGVzIGRlbm4genVyIEhvY2hlYmVuZSBnaW5nZS4gSGFiIERlaW5lbgpOYW1lbiB2ZXJnZXNzZW4uIFRyZWZmZW4gd2lyIHVucyBiZWkgU2lsdmFubz8gTW9udGFjaCB1bSBkcmVpLi4uCgpBY2ggamEsIEFiIG5hY2ggU2NobWFycm4uCkdydXNzIHVuZCBLdXNzCgogICAgICAgICAgICAgQXJhbnlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2RlbGJhaG4gKE1hcml0YSwgMTMuIE9rdCAxOTk1LCAwMzo0Mjo1Nik6CgpJY2ggYmVnbHVlY2t3dW5zY2hlIGFsbGUgU2VoZXIgdW5kIE1hZ2llciB6dSBpaHJlciBuZXVlbiBSb2RlbGJhaG4hCgpNZWluIHp3ZWl0ZXIgQmVpdHJhY2gKTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2RlbGJhaG4gKE1hcml0YSwgMTMuIE9rdCAxOTk1LCAwMzo1MDoxNCk6Cgp1bmQgenVyIEVyaG9laHVuZyBkZXIgU2VoZXIvU3BpZWxlci1yYXRpby4KCkVyemFlbnp1bmcgenUgbWVpbmVtIHp3ZWl0ZW4gQmVpdHJhY2gKTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWJyaWsgLyBTYW1tZWxmaWxlPyAoSGlnaGxhbmRlciwgMTMuIE9rdCAxOTk1LCAxMjoxNToxMSk6Ck5hY2hkZW0gamEgamV0enQgaW1tZXIgd2llZGVyIFJlemVwdGUgYXVmdGF1Y2hlbiAtIGhhdCBkaWUgbWFsIHdlcgpnZXNhbW1lbHQ/IFNvbGx0ZW4gd2lyIGRhIHZpZWxsZWljaHQgd2lya2xpY2ggZWluZSBlaWdlbmUKUnVicmlrIGF1Zm1hY2hlbj8gS29lbm50ZW4gd2lyIGRhcyBuaWNodCBtYWwgYWxzIFNhbW1sdW5nIHZlcm9lZmZlbnRsaWNoZW4KKG9kZXIgenVtaW5kZXN0IGRlbiBJbnRlcmVzc2VudGVuIGF1cyBNdWQgdW5kIFZlcmVpbiB6dWdhZW5nbGljaCBtYWNoZW4pPwogIEZyYWdlbiB1ZWJlciBGcmFnZW4sCiAgICBIaWdobGFuZGVyIHJ5biBUYWhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW5zaWNodGJhcmVyIEVoZXJpbmcuLi4gKFNlbWlyYSwgMTMuIE9rdCAxOTk1LCAxNjo0MTo0OSk6CkFsc28gc293YXMgbmUgYWJlciBhdWNoLi4uCgpkYSBiaW4gaWNoIG51biBnbHVlY2tsaWNoIHZlcmhlaXJhdGV0IHVuZCBrZWluZXIgc2llaHRzIGJlaW0gYW5zY2hhdW4/CktvbWlzY2hlciBFaGVyaW5nLiBNdXNzIHdvaGwgdW5zaWNodGJhciBzZWluLiBXYXMgbWFnIG1hbiBkYSBudXIgdm9uIG1pcgpkZW5rZW4uLi5qYWphIHZlcmhlaXJhdGV0IGlzc2UsIGFiZXIgaWhyZW4gUmluZyB6aWVodCBzZSBhdXMuLi4KCkhhYiBpaG4gYWJlciBkb2NoIGFuLi4uCgpLb2VubnQgbWFuIGRhcyBuaWNodCBtYWwgenVyZWNodGJhc3RlbG4sIGRhc3MgbWFuIGVpbmVuIGdldHJhZ2VuZW4gRWhlcmluZwphdWNoIHNpZWh0PwoKU2NobXVzZW1hdXMgU2VtaXJhIC0gdmVyaGVpcmF0ZXQgbWl0IGlocmVtIFNjaG51cnJrYXRlcgpzaWUgdHJhZWd0IGVpbmVuIEVoZXJpbmcgKEFOR0VaT0dFTiEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVicmlrIC8gU2FtbWVsZmlsZT8gKFJhZmZpLCAxMy4gT2t0IDE5OTUsIDE2OjUwOjQ1KToKIyEgcm49SGlnaGxhbmRlciBydD04MTM1ODI5MTEKRGllIGdsZWljaGUgSWRlZSBoYXR0ZSBpY2ggYXVjaC4uLi4uIEJpbiBhdWNoIGdlcmFkZSBkYWJlaSBtYWwgZWluIGJpc2NoZW4Kb3JkbnVuZyBpbiBkaWUgYmVpIG1pciB2b3JoYW5kZW5lbiBSZXplcHRlIHp1IEJyaW5nZW4uClNvbGx0ZW4gc2ljaCBqZW1hbmQgZGllIHJlemVwdGUgbWl0Z2Vsb2dndCBoYWJlbiwgc28gd3VlcmRlIGljaCBtaWNoIHVlYmVyCmVpbmUgZW50c3ByZWNoZW5kZSBNYWlsIEZyZXVlbi4KR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWJyaWsgLyBTYW1tZWxmaWxlPyAoS2V0b3MsIDEzLiBPa3QgMTk5NSwgMTg6MDQ6MzYpOgojISBybj1IaWdobGFuZGVyIHJ0PTgxMzU4MjkxMQpEaWUgZ2VzYW1tZWx0ZW4gcmV6ZXB0ZSBrb2VubnRlIGFiZ2VzcGVpY2hlcnQgdW5kIGlucyAvb3BlbiB2ZXJ6ZWljaG5pcyBmdWVyCmplZGVyIG1hbiBlcnJlaWNoYmFyIHNlaW4uCgotIEtldG9zIC0gZGFzIGh1bmdyaWdlIFNjaGxlY2tlcm1hdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVicmlrIC8gU2FtbWVsZmlsZT8gKEFzbW9kaXMsIDEzLiBPa3QgMTk5NSwgMTk6Mzk6MDQpOgojISBybj1LZXRvcyBydD04MTM2MDM4NzYKRWluZSBTYW1tbHVuZyB2b24gUmV6ZXB0ZW4ga2FubiBtYW4gdWViZXIgV1dXIGVyaGFsdGVuOgoKICBodHRwOi8vd3d3LnVuaXgtYWcudW5pLWtsLmRlL35tZGVubi9iaW4vc3RpY2h3b3J0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobmVsbHN0ZXIgUmVjaG5lciEgKEV0YWgsIDE0LiBPa3QgMTk5NSwgMDA6NDA6MjMpOgpPayBMZXV0ZToKCldlciBlaW5lbiBzY2huZWxsZW4gUmVjaG5lciBoYXQgdW5kIGVpbmUgRVQ0MDAwIGtvbXBhdGlibGUgR3JhZmlra2FydGUKc29sbHRlIHNpY2ggbWFsIGRhcyBQcm9ncmFtbSBtYW5kZWwuY29tIGF1cyBkZW0gZnRwIHNlcnZlciB2b24gTUcgaG9sZW4KRXMgbGllZ3QgaW4gL3RtcCB1bmQgaXN0IDI1NSBieXRlcyBsYW5nLgpFcyBzdGVsbHQgZWluIEFwZmVsbWFlbm5jaGVuIGRhciB1bmQgbWFjaHQgZGFubiBlaW4gYmlzc2NoZW4gQ29sb3IKQ3ljbGluZy4KClZvciBkcmVpIEphaHJlbiBoYXQgZXMgZGllIERhcnN0ZWxsdW5nIGluIHVudGVyIDMwcyBnZXNjaGFmZnQuCkVpbiBSZWNobmVyIHZvbiBlaW5lbSBGcmV1bmQgaGF0IGVzIGluIDkuMzlzIGdlc2NoYWZmdC4gTnVuIHN1Y2hlCmljaCBqZW1hbmRlbiwgZGVyIGVzIHZpZWxsZWljaHQgbm9jaCBzY2huZWxsZXIgcGFja3QuIEFsc28gRGFyc3RlbGx1bmcKYmlzIGRhcyBDb2xvci1DeWNsaW5nIGFuZmFlbmd0IG1lc3Nlbi4KCkV0YWguClAuUy4gVmllbCBTcGFzcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuZCBkYSB3YXIgZGEgbm9jaC4uLiAoU2VtaXJhLCAxNC4gT2t0IDE5OTUsIDE3OjM2OjE5KToKVW5kIGRhIHdhciBkYSBub2NoIGRhcyBHZXBsYXVkZXIgYXVmIEFsbGdlbWVpbiB1ZWJlcgpHdXJrZW4mVmlkZW8mU2V4Jndhc3dlaXNpY2huaWNodHdhc25vY2hhbGxlcy4uLgpXZXIgc2ljaCBub2NoIGxhY2hlbmQgZHJhbiBlcmlubmVydCBvZGVyIHNpY2ggbm9jaCBldHdhcyBmb3J0YmlsZGVuIG1vZWNodGUsCmRlciBmcmFnZSBFbmd5IG5hY2ggZGVtIExvZy4gRGFzIGhhdCBlciBuYWVtbGljaCBpcmdlbmR3byBhYmdlbGVndCwgYWJlciBpY2gKaGFiIG1hbCB3aWVkZXIgdmVyZ2Vzc2VuIHdvLi4uCgonUyBsb2hudCBzaWNoCgpDcmVhdGl2ZXMgU2NobXVzZW1hdXMgU2VtaXJhIC0gaW1tZXJub2NoIGdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1bmQgbm9jaCBuIGxvZy4uLiAoU2VtaXJhLCAxNC4gT2t0IDE5OTUsIDE3OjM5OjE5KToKCkRhcyBsb2cgdm9uIG1laW5lciBIb2NoemVpdCBtaXQgQ3JlYSBpc3QgYXVjaCBkYXMgTGVzZW4gd2VydC4uLmhhdCBFbmd5IGF1Y2gKaXJnZW5kd28gYWJnZWxlZ3QuLi4KCkZ1ZXIgRnJldW5kZSBvZGVyIEZlaW5kZSBkZXIgRGV1dHNjaGVuIFNjaGxhZ2Vyc3plbmUgaXN0cyBlcnN0IHJlY2h0IHp1CmVtcGZlaGxlbi4uLgoKQ3JlYXRpdmVzIFNjaG11c2VtYXVzIFNlbWlyYSAtIGltbWVybm9jaCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIkV0d2FzIiBSZWNoZW5sZWlzdHVuZyBnZXN1Y2h0IChFbmd5d3VjaywgMTQuIE9rdCAxOTk1LCAxOTo1OTo1MCk6CkhpIExldXRlIQpBbHNvIGljaCBzdWNoIGRhIG1hbCBuZW4gUmVjaG5lciwgZGVyIGV0d2FzIG1laHIgUGxhdHRlbnBsYXR6IGJpZXRldCwgYWxzIGRpZQpLaXN0ZSBiZWkgdW5zIGltIFJaLiBXYXMgaWNoIHN1Y2hlLCBpc3QgZWluIFJlY2huZXIsIGF1ZiBkZW0gZGFzClF1YW50ZW5jaGVtaWVwcm9ncmFtbSAiR2F1c3NpYW45NCIgbGFldWZ0IHVuZCBkZXIgbWlyIGZ1ZXIgZWluZSBSZWNobnVuZyBtYWwKMjAgR0IgKG9kZXIgbWVocikgUGxhdHRlbnBsYXR6IHp1ciBWZXJmdWVndW5nIHN0ZWxsZW4ga2Fubi4gSGllciBoYWIgaWNoIG51cgoxMyBHQiB1bmQgZGFzIGhhdCBuaWNodCBnZXJlaWNodC4KQWxzbywgZmFsbHMgamVtYW5kIHdhcyB3ZWlzcy4uLiBJbW1lciBoZXIgbWl0IGRlbiBJbmZvcyA6KQoKRW5neXd1Y2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2huZWxsc3RlciBSZWNobmVyISAoQXJhbnlhLCAxNi4gT2t0IDE5OTUsIDEyOjE4OjI2KToKIyEgcm49RXRhaCBydD04MTM2Mjc2MjMKTWFubiwgdW5kIGljaCBlcmlubmVyZSBtaWNoIGFuIFplaXRlbiwgZGEgd2FyIG1hbiBmcm9oLCB3ZW5uIGRhcyBBcGZlbG1hZW5uLQpjaGVuIGluIHVudGVyIG5lciBoYWxiZW4gU3R1bmRlIGF1Zm0gQmlsZHNjaGlybSB3YXIuCkFiZXIgZGEgd2FyZW4gamEgZGllIFdpbnRlciBhdWNoIG5vY2ggcmljaHRpZ2UgV2ludGVyLi4uCgpVbmQgd2VjaCBuYWNoLi4uCkFyYW55YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVuZCBkYSB3YXIgZGEgbm9jaC4uLiAoQXNtb2RpcywgMTYuIE9rdCAxOTk1LCAxMjoyNzozMSk6CiMhIHJuPVNlbWlyYSBydD04MTM2ODg1NzkKRGFzIExvZyBsaWVndCBhdWYgZGVtIGZ0cC1zZXJ2ZXIgdW50ZXIgL2luY29taW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcGZlbG1hZW5uY2hlbiAoU2hpbm9iaSwgMTYuIE9rdCAxOTk1LCAxNTowOTo1Mik6CkhhbGJlIFN0dW5kZT8gSWNoIGVyaW5uZXJlIG1pY2ggbm9jaCBhbiBlaW5lIFdEUi1Db21wdXRlcmNsdWIgU2VuZHVuZywgd28gc2llCmF1Y2ggd2FzIHVlYmVyIEZyYWt0YWxiZXJlY2hudW5nICgiLi4uIGF1ZiBlaW5lbSA2NGVyIGRhdWVydCBkYXMgbWFuY2htYWwKZWluZQpnYW56ZSBOYWNodCBsYW5nLi4uIikgZXJ6YWVobHQgaGFiZW4gdW5kIHN0b2x6IGRhcmF1ZiB3YXJlbiwgZGFzcyBzaWUgZWluZW4KUEMgaW0gU3R1ZGlvIGhhdHRlbiBkZXIgZGFzIEFwZmVsbWFlbm5jaGVuIGluIG51ciAzIFN0dW5kZW4gZmVydGlnIGJlcmVjaG5ldApoYXR0ZS4gLSpzZXVmeiotIEphamEsIGRpZSBndXRlbiBhbHRlbiBEYW1wZnJlY2huZXJ6ZWl0ZW4uLi4KClNoaW5vYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcGZlbG1hZW5uY2hlbiAoUm9hZHJ1bm5lciwgMTYuIE9rdCAxOTk1LCAxNjoyNzowNik6CiMhIHJuPVNoaW5vYmkgcnQ9ODEzODUyNTkyCkRpZSBCZXJlY2hudW5nc2dlc2Nod2luZGlna2VpdCBoYWVuZ3QgamEgYWJlciBhdWNoIG5pY2h0IG51ciB2b24gZGVyIE1hc2NoaW5lCmFiLCBzb25kZXJuIGRhdm9uIHdpZSBlZmZla3RpdiB1bmQgdWViZXJoYXVwdCBuYWNoIHdlbGNoZW0gVmVyZmFocmVuIGRhcyBkaW5nCmJlcmVjaG5ldCB3aXJkISAtIGVzIGdpYnQgZGEgZHVyY2hhdXMgZW5vcm1lIHVudGVyc2NoaWVkZS4gS2FubiBtaWNoIGRhcmFuCmVyaW5uZXJuIGRhc3MgbWVpbiBBdGFyaSBhdWNoIG1hbCBlaW5lIGdhbnplIG5hY2h0IGR1cmNod3Vyc3RlbHRlIC0gYWxsZXJkaW5ncwpiZWkgZXR3YXMga29tcGxleGVyZW4sIGJlcmVpdHMgdmVyZ3JvZXNzZXJ0ZW4gcmFuZGdlYmlldGVuLgoKbGVpZGVyIGthbSBpY2ggbmljaHQgZGF6dSBlaW5lbiBhbGdvcml0aG11cyB6dSB0ZXN0ZW4gZGVyIG5hY2ggZWluZW0gZ2FuegphbmRlcmVuIC0gc296dXNhZ2VuIGVpbmtyZWlzdW5nc3ZlcmZhaHJlbiBhcmJlaXRldCAoZ2xhdWJlIGljaCB3ZW5pZ3N0ZW5zIHNvCndpZSBpY2ggZGFzIGRpbmcgdmVyc3RhbmRlbiBoYWJlKS4gTWl0dGxlcndlaWxlIGhhYmUgaWNoIGVpbmlnZSBhbGdvcml0aG1lbgpnZXNlaGVuIGRpZSBldHdhIHNvIGFyYmVpdGVuIHdpZSBtZWluIGFsdGVyIC0gZGlyZWt0ZXIsIGRpZSBkYW5uIGFiZXIgenVlcnN0CmRhcyBtYWVubmNoZW4gZ3JvYiByYXN0ZXJuIHVuZCB3ZW5uIGRpZSByYXN0ZXJyYWVuZGVyIGdhbnogaW5uZXJoYWxiIGRlcwonbWFlbm5jaGVucycgbGllZ2VuIGRlbiBpbm5lbmJlcmVpY2ggYXVjaCBnYW56IGRhenVzY2hsYWdlbiBvaG5lIGJpcyB6dW0KaXRlcmF0aW9uc2FiYnJ1Y2ggenUgcmVjaG5lbgoKU29sbCBhYmVyIG5vY2ggZ2VzY2hpY2t0ZXIgZ2VoZW4uIDopCgoJCQkJCQkJUm9hZHJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcGZlbG1hZW5uY2hlbiAoRXRhaCwgMTYuIE9rdCAxOTk1LCAxNzowMDo1Mik6CiMhIHJuPVJvYWRydW5uZXIgcnQ9ODEzODU3MjI2CkVzIGdlaHQgamEgYXVjaCBuaWNodCB2b3JyYW5naWcgZGFydW0sIGRlbiBBbGdvcml0aG11cyB6dSB0ZXN0ZW4sIHNvbmRlcm4Kdm9yIGFsbGVtIGRhcnVtLCB3aWUgc2ljaCBkaWUgRW50d2lja2x1bmcgZGVyIFJlY2huZXIgaW4gZGVuIGxldHp0ZW4KSmFocmVuIGRhcnN0ZWxsdC4gRGFzIFByb2dyYW1tIGlzdCBuYWVtbGljaCBzY2hvbiBldHdhcyB1ZWJlciA0IEphaHJlCmFsdC4gRGlyZWt0IGluIEFzc2VtYmxlciBnZXNjaHJpZWJlbiB1bmQgZGVyIEFsZ3JvdGhtdXMgaXN0IGRpcmVrdCB1bmQKYXVmIEdhbnplIFphaGxlbiBvcHRpbWllcnQuCgpMZW8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcGZlbG1hZW5uY2hlbiAoUm9hZHJ1bm5lciwgMTYuIE9rdCAxOTk1LCAxOToxMjozMCk6CiMhIHJuPUV0YWggcnQ9ODEzODU5MjUyCmljaCBtZWludGUgbWl0IGFsZ29yaXRobXVzIG5pY2h0IGRhcyB1ZWJsaWNoZSBtb2VnbGljaHN0IHNjaG5lbGwgYXVzenVyZWNobmVuCnNvbmRlcm4gYXVmIGVpbmUgYW5kZXJlIHdlaWlzZSB2b3J6dWdlaGVuISBXZW5uIG5pY2h0IHNvIHZpZWwgYXVmd2FuZAplcmZvcmRlcmxpY2ggaXN0IGdlaHRzIGF1ZiBqZWRlciBraXN0ZSBzY2huZWxsZXIhCgkJUm9hZHJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWluZ2FiZSAoQ2hhcmx5LCAxNy4gT2t0IDE5OTUsIDE0OjQyOjA1KToKaGFsbG8gZXJzdG1hbCwgbmFjaCA2IHdvY2hlbiBkZXV0c2NoLW9zdGFmcmlrYSB6dXJ1ZWNrIGltCmJpdHRlcmthbHRlbiBkZXV0c2NobGFuZC4KYWJlciBzb2ZvcnQgZ2VodCBkZXIgYWVyZ2VyIGxvcyAhIGRlciBjaGFyYWt0ZXIgbWVpbmVyCnJsLWZyZXVuZGluIGlzdCBuaWNodCBtZWhyIGRhICE/ISBvaywgc2llIHdhciBudXIKZXR3YSBhbGxlIDMgbW9uYXRlIG1hbCBpbSBNRywgYWJlciB0cm90emRlbS4gbWFuIGhhZXR0ZSBqYSB2b3JoZXIgbWFsIHdhcwpkYXZvbiBlcmZhaHJlbiBrb2VubmVuCmRhcyBzYXZlZmlsZXMgbmFjaCBuZXIgd2VpbGUgZ2Vsb2VzY2h0IHdlcmRlbiwgb2RlciA/PwpuYWNoIHdpZXZpZWwgdGFnZW4gd2lyZCBtYW4gcmF1c2dlc2NobWlzc2VuID8/Pwp3YXJ0ZSBhdWYgYW50d29ydC4uCgpzbyBsb25nCmNoYXJseSAoYWVyZ2VybGljaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaW5nYWJlIChCb2luZywgMTcuIE9rdCAxOTk1LCAxNToxMTowMyk6CiMhIHJuPUNoYXJseSBydD04MTM5MzczMjUKRGFzIFNjcmlwdCB6dW0gTG9lc2NoZW4gYWx0ZXIgQ2hhcmFrdGVyZSBsYWV1ZnQgamV3ZWlscyBhbSAyMC4gZWluZXMgTW9uYXRzLApDaGFyYWt0ZXJlIHdlcmRlbiBnZWxvZXNjaHQsIHdlbm4gc2llIGRpZSBmb2xnZW5kZW4gQmVkaW5ndW5nZW4gZXJmdWVsbGVuOgoKOTAgVGFnZSBuaWNodCBlaW5nZWxvZ2d0CldlbmlnZXIgYWxzIDMwIEFiZW50ZXVlcnB1bmt0ZQpXZW5pZ2VyIGFscyAzMDAwMCBFcmZhaHJ1bmdzcHVua3RlIChzZWl0IGViZW4gMTAwMDApClN0dWZlIGtsZWluZXIgNgpBbHRlciBrbGVpbmVyIDEyIFN0dW5kZW4KCkRpZSBCZWRpbmd1bmdlbiBtdWVzc2VuIEFMTEUgZXJmdWVsbHQgc2Vpbi4KCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZWluZ2FiZSAoQm9pbmcsIDE3LiBPa3QgMTk5NSwgMTU6MTQ6MjEpOgojISBybj1Cb2luZyBydD04MTM5MzkwNjMKS2xlaW5lIEtvcnJla3R1cjogRGllIEFsdGVyc2dyZW56ZSBsaWVndCBiZWkgMjQgU3R1bmRlbiEKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlaW5nYWJlIChCb2luZywgMTcuIE9rdCAxOTk1LCAxNjo1ODoxNyk6CiMhIHJuPU9ya3RvZXRlciBydD04MTM5NDMwOTQKQWJlciBzaWNoZXIgZG9jaCwgRHUgbXVzc3Qgd2lzc2VuLCBkYXNzIGhpZXIgamVkZXIgZ2VuYXUgd29lcnRsaWNoIGRhcwptZWludCB3YXMgZXIgc2NocmVpYnQhCipCb2luZyBuaWNrdCBhZXVzc2Vyc3QgZXJuc3QqCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNwaWVsZXIgLSBzZWhlciAtIHJhdGlvIChTbnVnZ2xlLCAxOC4gT2t0IDE5OTUsIDA3OjMxOjQ4KToKSWNoIHdlaXNzIGdhciBuaWNodCB3YXMgaWhyIGhhYnQuIElociBtdWVzdHMgbnVyIHp1ciByaWNodGlnZW4gaXQgZGEgc2VpbjoKU3RhdGlzdGlrIHZvbSAxOC4xMC45NSA3LjQ1IDoKNSBTcGllbGVyLCAxIFNlaGVyLCAyIE1hZ2llcgoKCgo6LSkKWVQgU251Z2dsZQoKUC5TLjogaXQgPSBaZWl0IChkaWVzZXMgVGVybWluYWwhIDotKCApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcGZlbG1hZW5uY2hlbiAoRWxieXRlLCAxOC4gT2t0IDE5OTUsIDA3OjM5OjE5KToKIyEgcm49RXRhaCBydD04MTM4NTkyNTIKSWNoIHNhY2ggbnVyIDogNiBTRUtVTkRFTiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIGZ1ZXIgZGllIG5ldHRlbiBLb21tZW50YXJlIChNaXJpbCwgMTguIE9rdCAxOTk1LCAxODo0MTo1NSk6CkhhbGxvIExldXRlLAphdWNoIHdlbm4gZGVyIGVpbiBvZGVyIGFuZGVyZSBiZXp3ZWlmZWx0IGhhdCwgZGFzcyBpY2ggamVtYWxzIG5vY2htYWwgbWVpbmUKUG9zdCBsZXNlbiB3dWVyZGUsIGhhYiBpY2hzIGRvY2ggZ2V0YW4uClZpZWxlbiBEYW5rIGZ1ZXIgZGllIG5ldHRlbiBLb21tZW50YXJlIHp1IG1laW5lciBRdWVzdCAiRmluZGV0IGRpZSBGZWUKQW1hcnlsbGlzIi4gRWluaWdlIHZvbiBFdWNoIGhhYmVuIHdvaGwKZ2VtZXJrdCB3b2hlciBkaWUgU3RvcnkgZ2VrbGF1dCBpc3QsIGljaCBob2ZmZSBzaWUgaGF0IHRyb3R6ZGVtIFNwYXNzIGdlbWFjaHQKdW5kIGlzdCBndXQgcnVlYmVyZ2Vrb21tZW4uCkljaCB3dWVuc2NoIEV1Y2ggd2VpdGVyaGluIHZpZWwgU3Bhc3MgaW4gTW9yZ2VuZ3JhdWVuLgpNaXJpbCBkaWUgS29lbmlnaW4gZGVyIEViZW5lIChpbiBQZW5zaW9uIG9kZXIgd2FzIG1hbiBiZWkgS29lbmlnaW5uZW4gZGF6dQpzYWd0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbmtlIGZ1ZXIgZGllIG5ldHRlbiBLb21tZW50YXJlIChNYXRlZXNlLCAxOC4gT2t0IDE5OTUsIDE5OjE2OjI3KToKIyEgcm49TWlyaWwgcnQ9ODE0MDM4MTE1CktvZW5pZ2lubmVuIGdlaGVuIG5vcm1hbGVyd2Vpc2UgbmljaHQgaW4gUGVuc2lvbiwgc29uZGVybiBlcm5lbm5lbiBlaW5lCk5hY2hmb2xnZXJpbiB1bmQgbGFzc2VuIHNpY2ggZGFubiBtaXQgS29lbmlnaW5tdXR0ZXIgYW5yZWRlbiA6LSkKIC0tIE1hdGVlc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UgZnVlciBkaWUgbmV0dGVuIEtvbW1lbnRhcmUgKEd1eWJydXNoLCAxOC4gT2t0IDE5OTUsIDE5OjE4OjEwKToKIyEgcm49TWF0ZWVzZSBydD04MTQwNDAxODcKRWluaWdlIHNvbGxlbiBhdWNoIHZvciBkZXIgTW9lZ2xpY2hrZWl0IGRlciBBYmRhbmt1bmcgYXVzIGRlbSBMZWJlbgpnZXNjaGllZGVuIHNlaW4uIE1hbmNobWFsIG1pdCBIaWxmZSBkZXIgRWhlbWFlbm5lci4gQW5kZXJlIGtyYWxsZW4gc2ljaCBhbiBkZW4KVGhyb24sIGJpcyBkZW0gU29obiBkaWUgT2hyZW4gYWJmYWxsZW4gdW5kIHdpZWRlciBhbmRlcmUgYmVnZWhlbiBTZWxic3Rtb3JkLgpEaWUgZGllIEFidHJldGVuIGJsZWliZW4gd2VuaWdzdGVucyBpbiBndXRlciBFcmlubmVydW5nIDopCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprb2JyYSAoR2lubnksIDE5LiBPa3QgMTk5NSwgMTY6MDk6MTYpOgpIYWxsbyBEdSEhIQoKU28uLi4uaW1tZXIgd2VubiBpY2ggbWFsIGltIG1vcmdlbmdyYXVlbiBiaW4sIGJpc3QgRHUgbWl0IFNpY2hlcmhlaXQgbmljaHQKZGEuLi4qc2NobW9sbCoKTWFjaHN0IER1IGRhcyBtaXQgQWJzaWNodD8qZ3JpbnMqCk5hIGphLi53dWVyZCBtaWNoIGZyZXVlbiBtYWwgd2FzIHZvbiBEaXIgenUgaG9lcmVuLi4uCgp0c2NodWVzc2xpCgogICAgICAgICAgICAgR2lubnkKClAuUy4gVVV1dXV1dXV1dXV1cHMuLi5kYSBmYWVsbHQgbWlyIGphIGVpbiwgZGFzcyBpY2ggRGlyIG5vY2ggc2NocmVpYmVuCnNvbGx0ZS4uLkJyaWVmIGtvbW10IHNpY2hlciBub2NoIHZvciAnOTYuLi5mYWxscyBEdSBpaG4gbm9jaCB3aWxsc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NobWFsIGFwZmVsbWFlbm5jaGVuIChDeW1vbmssIDIzLiBPa3QgMTk5NSwgMDg6MzI6MzMpOgpodWJiYSEKCm5vY2ggJ21hbCB3YXMgenVtIHRoZW1hIGFwZmVsbWFlbm5jaGVuISEhIGljaCBoYWJlIGVpbmUgNzcwIEJ5dGUgbGFuZ2UKLmNvbSBEYXRlaSBnZXNjaHJpZWJlbiwgZGllIGRhcyBBcGZlbG1hZW5uY2hlbiBpbiB1bnRlciAxMCBTZWt1bmRlbiBhdWYKZWluZW0gMzg2LzM4NyBzY2hhZmZ0LiBJbiBlaW5lciBBdWZsb2VzdW5nIHZvbiAzMjB4NDAwIFB1bmt0ZSwgMjU2IEZhcmJlbi4KRGllIFJvdXRpbmUgYXJiZWl0IG5hY2ggZGVtIFF1YWR0cmVlIEFsZ29yaXRobXVzLCBlaW5lbSBzdGFyayB2ZXJlaW5mYWNodGVuCkJvdW5kYXJ5IFRyYWNpbmcuCkZhbGxzIGplbWFuZCBhbiBkZW0ga29tbWVudGllcnRlbiBBc3NlbWJsZXItU291cmNlIGludGVyZXNzaWVydCBpc3QsCmthbm4gZXIgbWlyIGphIG1haWxlbiAuLi4uCgpieSh0KWUsIEN5TW9uawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTFBDLURva3VtZW50YXRpb24gdXN3LiA/Pz8gKEFydHksIDIzLiBPa3QgMTk5NSwgMTc6MTI6MTUpOgpIYWxsbyAhCgpJY2ggdmVyc3VjaGUgZ2VyYWRlIGVpbmUgVHJpbWVzdGVyYXJiZWl0IHVlYmVyIExQQyBiencuIE11ZHMgenUgYmVrb21tZW4KdW5kIG1vZWNodGUgYW4gZGllc2VyIFN0ZWxsZSBtYWwgZnJhZ2VuLCBvYiBqZW1hbmQgdm9uIEV1Y2ggbm9jaAppcmdlbmR3ZWxjaGUgRmlsZXMgdWViZXIgTXVkcywgRHJpdmVyLCBMUEMgdXN3LiBoYXQsIGRpZSBOSUNIVCBzY2hvbgppbiAvZG9jIGVudGhhbHRlbiBzaW5kLiBXZW5uIGlociBub2NoIHdlbGNoZSBoYWJ0LCB3YWVyZSBlcyBzZWhyIG5ldHQKdm9uIEV1Y2gsIHdlbm4gaWhyIGRpZSBtaXIgbWFpbGVuIGtvZW5udGV0IG9kZXIgYXVjaCBzb25zdHdpZSB6dWtvbW1lbgpsYXNzZW4ga29lbm50ZXQuCkdpYnRzIGRhenUgZWlnZW50bGljaCBhdWNoIEJ1ZWNoZXIgPwpEYSBpY2ggYmVpIGRlbiBWb3J0cmFlZ2VuIGFtIE1HLVRyZWZmZW4gbGVpZGVyIE5JQ0hUIGRhIHdhciwga29ubnRlIGljaAphdWNoIG5pY2h0cyBtaXRzY2hyZWliZW4sIHdhZXJlIGplbWFuZCBzbyBuZXR0IHVuZCBrb2VubnRlIG1pciBzZWluZQpTdGljaHB1bmt0ZSBrb3BpZXJlbiB1bmQgc2NoaWNrZW4gYnp3LiBtYWlsZW4gPwoKRGFua2UgZnVlciBFdXJlIE11ZWhlLCB3YWVyZSBuZXR0LCB3ZW5uIGlociBtaXIgaGVsZmVuIGtvZW5udGV0IHVuZApFdWNoIG1hbCBiZWkgbWlyIG1lbGRlbiB3dWVyZGV0LgoKY2lhbyBBUlRZCihiaW4gYXVjaCBpbSBHdWVsZGVuTGFuZCB6dSBlcnJlaWNoZW4gOy0pKQoKUFMuOiBNZWluZSBSTC1BZHJlc3NlIGdpYnRzIGF1ZiBBbmZyYWdlIDopCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsdGUgbm90aXplbiAoQ2VyZWJ1cywgMjMuIE9rdCAxOTk1LCAxODozNzoxMCk6Ck1haGx6ZWl0IQpoZWksIGVzIG1hY2h0IHJpY2h0aWcgc3Bhc3MsIHNpY2ggZHVyY2ggc2VpbmUgYWx0ZW4gbm90aXplbiB6dSB3dWVobGVuLi4gei5CLgpoYWJlIGljaCBlaW5lbiBESU5BNC1aZXR0ZWwgZ2VmdW5kZW4sIGF1ZiBkZW0gbnVyIGVpbiBXb3J0IHN0ZWh0OiAiQmVyZ2RvcmYhISIKLSB3YXMgaWNoIGRhIHdvaGwgd29sbHRlPyBPZGVyIGRpZSBrcnlwdGlzY2hlIFplaWNoZW5rb21iaW5hdGlvbiAoaW4gcm90CnVta3JpbmdlbHQpOiB0IGcgc3AgaCBsIGggLSBzZWhyIG15c3RlcmlvZXMuLjotKSkKYmlzc2VybCBub3N0YWxnaXNjaCwgQ2VyZWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsdGUgbm90aXplbiAoUmVpbmVsZGUsIDIzLiBPa3QgMTk5NSwgMjI6Mzc6MTgpOgojISBybj1DZXJlYnVzIHJ0PTgxNDQ2OTgzMAp6dW1pbmRlc3QgYmVpIGRlciB6ZWljaGVua29tYmluYXRpb24ga2FubiBkaXIgZ2Vob2xmZW4gd2VyZGVuOgpkYXMgZ2FuemUgc3RhbW10IGF1cyBkZXIgb2t0b3B1cyBxdWVzdC4KCnJlaW5lbGRlIC0gaGF0IGF1Y2ggc28gbmVuIHN0YXBlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmFuaWNlIHN0aXJidCBtYWwgZWJlbiAoSmFuaWNlLCAyNC4gT2t0IDE5OTUsIDIwOjAxOjAxKToKaGllciBtYWwgbWVpbiBMb2cgOgoKIEh1ZXBmZXIgZ3JlaWZ0IERpY2ggbWl0IGRlbSBCbHV0c2F1Z2VyLVNjaHdlcnQgYW4uCkRlciBTY2hpZWRyaWNodGVyIHNhZ3QgOiBBQiBKRVRaVCBHSUJUIEVTIEtFSU4gWlVSVUVDSyBNRUhSISBNT0VHRSBERVIKICAgICAgICAgICAgICAgICAgICAgICAgIFNUQUVSS0VSRSBHRVdJTk5FTiEKRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKREVSIEtBTVBGIElOIERFUiBBUkVOQSBCRUdJTk5UISBNT0VHRSBERVIgU1RBRVJLRVJFIEdFV0lOTkVOIQogIEh1ZXBmZXIgdHJpZmZ0IERpY2guCkR1IGhhc3QgamV0enQgMjIyIExlYmVuc3B1bmt0ZSB1bmQgMjI2IE1hZ2llcHVua3RlLgpIdWVwZmVyIHN0ZWNrdCBlaW4gQmx1dHNhdWdlci1TY2h3ZXJ0IHp1cnVlY2suCkh1ZXBmZXIgd2lyZnQgZWluZW4gRmV1ZXJiYWxsIG5hY2ggRGlyLgpEdSBoYXN0IGpldHp0IDE5OSBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KSHVlcGZlciB6dWVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KSHVlcGZlciBzdGVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydCB6dXJ1ZWNrLgpEdSBoYXN0IGpldHp0IDIwMCBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KICBEdSBncmVpZnN0IEh1ZXBmZXIgbWl0IGRlciBNYWNodCBkZXMgQ2hhb3MgYW4uCiAgRHUga3JhdHp0IEh1ZXBmZXIuCiAgSHVlcGZlciBncmVpZnQgRGljaCBtaXQgYmxvc3NlbiBIYWVuZGVuIGFuLgogIEh1ZXBmZXIgdHJpZmZ0IERpY2guCkR1IGhhc3QgamV0enQgMTk1IExlYmVuc3B1bmt0ZSB1bmQgMjI2IE1hZ2llcHVua3RlLgpEdSBob2Vyc3QgZGVuIEFyZW5hc3ByZWNoZXIgcnVmZW4gOgpKYW5pY2Ugd2lyZCBnZXRyb2ZmZW4uCkh1ZXBmZXIgd2lyZnQgZWluZW4gRmV1ZXJiYWxsIG5hY2ggRGlyLgpEdSBoYXN0IGpldHp0IDE1OCBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KSHVlcGZlciB6dWVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KSHVlcGZlciBzdGVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydCB6dXJ1ZWNrLgogIER1IGdyZWlmc3QgSHVlcGZlciBtaXQgZGVyIE1hY2h0IGRlcyBDaGFvcyBhbi4KICBEdSBrcmF0enQgSHVlcGZlci4KICBIdWVwZmVyIGdyZWlmdCBEaWNoIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4uCiAgSHVlcGZlciB0cmlmZnQgRGljaC4KRHUgaGFzdCBqZXR6dCAxNTQgTGViZW5zcHVua3RlIHVuZCAyMjYgTWFnaWVwdW5rdGUuCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6CkphbmljZSBzaWVodCBldHdhcyBtaXRnZW5vbW1lbiBhdXMuCkh1ZXBmZXIgd2lyZnQgZWluZW4gRmV1ZXJiYWxsIG5hY2ggRGlyLgpEdSBoYXN0IGpldHp0IDEzNSBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KSHVlcGZlciB6dWVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KSHVlcGZlciBzdGVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydCB6dXJ1ZWNrLgp0cnVmZSBuaWNodHMgZGEsIGlzdCBlaW4gNSB6ZWlsZXIKICBEdSBncmVpZnN0IEh1ZXBmZXIgbWl0IGRlciBNYWNodCBkZXMgQ2hhb3MgYW4uCiAgRHUgdHJpZmZzdCBIdWVwZmVyLgogIEh1ZXBmZXIgZ3JlaWZ0IERpY2ggbWl0IGJsb3NzZW4gSGFlbmRlbiBhbi4KICBIdWVwZmVyIHRyaWZmdCBEaWNoLgpEdSBoYXN0IGpldHp0IDEzMSBMZWJlbnNwdW5rdGUgdW5kIDIyNiBNYWdpZXB1bmt0ZS4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKSmFuaWNlIG11c3MgVHJlZmZlciBoaW5uZWhtZW4uCkh1ZXBmZXIgenVlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQuCmZpCkR1IHJ1ZnN0IGF1ZiBkaWUgVHJpYnVlbmVuIDoKbmljaHRzIGRhLCBpc3QgZWluIDUgemVpbGVyCj4gW0FsbGdlbWVpbjpTZW1pcmEgd2lua3QgdW5kIGdlaHRdCkh1ZXBmZXIgc3RlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQgenVydWVjay4KU2VtaXJhICAgSSBTIFQgICBKIEUgVCBaIFQgICBOIEkgQyBIIFQgICBNIEUgSCBSICAgRCBBICEhIQpIdWVwZmVyIHdpcmZ0IGVpbmVuIEZldWVyYmFsbCBuYWNoIERpci4KRHUgaGFzdCBqZXR6dCAxMTMgTGViZW5zcHVua3RlIHVuZCAyMjYgTWFnaWVwdW5rdGUuCkh1ZXBmZXIgenVlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQuCk9oIHdlaWEhIEpldHp0IGhhc3QgRHUgZGVuIFphdWJlciBnZWdlbiBEaWNoIGFuZ2V3ZW5kZXQhCkR1IGhhc3QgamV0enQgMTEzIExlYmVuc3B1bmt0ZSB1bmQgMTI2IE1hZ2llcHVua3RlLgpEZXIgWmF1YmVyc3BydWNoIGlzdCBtaXNzZ2x1ZWNrdC4KRHUgbGVybnN0IGF1cyBEZWluZW0gRmVobGVyLgo+IEx1ZyBydWZ0IHZvbiBkZW4gVHJpYnVlbmVuIGluIGRpZSBBcmVuYSA6CkFyZ2gKICBIdWVwZmVyIGdyZWlmdCBEaWNoIG1pdCBkZW0gQmx1dHNhdWdlci1TY2h3ZXJ0IGFuLgogIEh1ZXBmZXIgdHJpZmZ0IERpY2ggaGFydC4KRHUgaGFzdCBqZXR6dCAxMDYgTGViZW5zcHVua3RlIHVuZCAxMjYgTWFnaWVwdW5rdGUuCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6CkphbmljZSB3aXJkIGdldHJvZmZlbi4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKSmFuaWNlIG11c3Mgc2Nod2VyZSBUcmVmZmVyIGVpbnN0ZWNrZW4uCkh1ZXBmZXIgc3RlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQgenVydWVjay4KSHVlcGZlciB3aXJmdCBlaW5lbiBGZXVlcmJhbGwgbmFjaCBEaXIuCkR1IGhhc3QgamV0enQgODEgTGViZW5zcHVua3RlIHVuZCAxMjYgTWFnaWVwdW5rdGUuCkh1ZXBmZXIgenVlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQuClNvd2FzIGthbm5zdCBkdSBuaWNodCBhdXN6aWVoZW4uCj4gV08gc29sbCBpY2ggZGFzIGhpbmVpbnN0ZWNrZW4/Cj4gRHUgZmV1ZXJzdCBrb256ZW50cmllcnRlcyBHaWZ0IGF1ZiBIdWVwZmVyIGFiLgogIER1IHNjaGxhZWdzdCBIdWVwZmVyIG1pdCBkZW0gS3JhY2hlbiBicmVjaGVuZGVyIEtub2NoZW4uCkR1IGhhc3QgamV0enQgODEgTGViZW5zcHVua3RlIHVuZCAxMDYgTWFnaWVwdW5rdGUuCj4gRHUgenVlY2tzdCBkZW4gVm9sbHN0cmVja2VyLgo+IENhdHdlYXpsZSBydWZ0IHZvbiBkZW4gVHJpYnVlbmVuIGluIGRpZSBBcmVuYSA6CllFQUhZRUFIWUVBSApEdSB6aWVoc3QgZGFzIEZldWVyc2NoaWxkIGFuLgpQZW5lbG9wZSAgIEkgUyBUICAgSiBFIFQgWiBUICAgRCBBICEhIQpEdSBoYXN0IGpldHp0IDgyIExlYmVuc3B1bmt0ZSB1bmQgMTA3IE1hZ2llcHVua3RlLgogIEh1ZXBmZXIgZ3JlaWZ0IERpY2ggbWl0IGRlbSBCbHV0c2F1Z2VyLVNjaHdlcnQgYW4uCiAgSHVlcGZlciB0cmlmZnQgRGljaCBzZWhyIGhhcnQuCkR1IGhhc3QgamV0enQgNzAgTGViZW5zcHVua3RlIHVuZCAxMDcgTWFnaWVwdW5rdGUuCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6Ckh1ZXBmZXIgc2llaHQgZXR3YXMgbWl0Z2Vub21tZW4gYXVzLgpEdSBob2Vyc3QgZGVuIEFyZW5hc3ByZWNoZXIgcnVmZW4gOgpKYW5pY2Ugd2lyZCBnZXRyb2ZmZW4uCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6CkphbmljZSB3aXJkIHdpZWRlcmhvbHQgZ2V0cm9mZmVuIQpIdWVwZmVyIHN0ZWNrdCBlaW4gQmx1dHNhdWdlci1TY2h3ZXJ0IHp1cnVlY2suCkR1IHppZWhzdCBkYXMgRmV1ZXJzY2hpbGQgYXVzLgo+IEh1ZXBmZXIgd2lyZnQgZWluZW4gRmV1ZXJiYWxsIG5hY2ggRGlyLgpEdSBoYXN0IGpldHp0IDU2IExlYmVuc3B1bmt0ZSB1bmQgMTA3IE1hZ2llcHVua3RlLgpEdSBzdGVjZmkKa3N0IGRlbiBWb2xsc3RyZWNrZXIgenVydWVjay4KPiBIdWVwZmVyIHp1ZWNrdCBlaW4gQmx1dHNhdWdlci1TY2h3ZXJ0LgpEdSBmZXVlcnN0IGVpbmVuIHRvZGJyaW5nZW5kZW4gU3R1cm0gYXVmIEh1ZXBmZXIgYWIuCiAgRHUgdHJpZmZzdCBIdWVwZmVyIHNlaHIgaGFydC4KRHUgaGFzdCBqZXR6dCA1NiBMZWJlbnNwdW5rdGUgdW5kIDg3IE1hZ2llcHVua3RlLgpEaWUgQW5nc3QgaXN0IHN0YWVya2VyIGFscyBEdSAuLi4gRHUgd2lsbHN0IG51ciBub2NoIHdlZyBoaWVyLgpEZXIgU2NoaWVkc3JpY2h0ZXIgc2FndCA6IEFCSEFVRU4gSVNUIE5JQ0hULiBJSFIgV09MTFRFVCBESUUgVE9SRSBOSUNIVApPRUZGTkVOIExBU1NFTi4gSkVUWlQgR0lCVCBFUyBLRUlOIFpVUlVFQ0sgTUVIUi4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKSmFuaWNlIHdvbGx0ZSBmbGllaGVuLCBvYndvaGwgZGllIFRvcmUgZ2VzY2hsb3NzZW4gc2luZD8gRWluIFplaWNoZW4gZnVlcgpGZWlnaGVpdD8KRGVpbiBGbHVjaHR2ZXJzdWNoIGlzdCBnZXNjaGVpdGVydC4KICBIdWVwZmVyIGdyZWlmdCBEaWNoIG1pdCBkZW0gQmx1dHNhdWdlci1TY2h3ZXJ0IGFuLgogIEh1ZXBmZXIgdHJpZmZ0IERpY2ggaGFydC4KRHUgaGFzdCBqZXR6dCA0NiBMZWJlbnNwdW5rdGUgdW5kIDg3IE1hZ2llcHVua3RlLgpEdSBob2Vyc3QgZGVuIEFyZW5hc3ByZWNoZXIgcnVmZW4gOgpIdWVwZmVyIG11c3MgVHJlZmZlciBoaW5uZWhtZW4uCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6CkphbmljZSB3aXJkIGdldHJvZmZlbi4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKRXMgd2lyZCBzcGFubmVuZCEgSmFuaWNlIHdpcmQgdm9uIHNlaHIgaGFydGVuIFNjaGxhZWdlbiBnZXRyb2ZmZW4hCkh1ZXBmZXIgc3RlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQgenVydWVjay4KRHUgenVlY2tzdCBkZW4gVm9sbHN0cmVja2VyLgo+IEh1ZXBmZXIgd2lyZnQgZWluZW4gRmV1ZXJiYWxsIG5hY2ggRGlyLgpEdSBoYXN0IGpldHp0IDE1IExlYmVuc3B1bmt0ZSB1bmQgODcgTWFnaWVwdW5rdGUuCkR1IHppZWhzdCBkYXMgRmV1ZXJzY2hpbGQgYW4uCj4gSHVlcGZlciB6dWVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KRHUgemllaHN0IGRhcyBGZXVlcnNjaGlsZCBhdXMuCj4gSHVlcGZlciBzdGVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydCB6dXJ1ZWNrLgpEdSBzdGVja3N0IGRlbiBWb2xsc3RyZWNrZXIgenVydWVjay4KPiBEdSBmZXVlcnN0IGVpbmVuIG1hZ2lzY2hlbiBTdHJhaGwgYXVmIEh1ZXBmZXIgYWIuCiAgRHUgemVyc2NobWV0dGVyc3QgSHVlcGZlciBpbiBrbGVpbmUgU3R1ZWNrY2hlbi4KRHUgaGFzdCBqZXR6dCAxNSBMZWJlbnNwdW5rdGUgdW5kIDY3IE1hZ2llcHVua3RlLgo+IEh1ZXBmZXIgenVlY2t0IGVpbiBCbHV0c2F1Z2VyLVNjaHdlcnQuCkR1IHp1ZWNrc3QgZGVuIFZvbGxzdHJlY2tlci4KPiBIdWVwZmVyIHN0ZWNrdCBlaW4gQmx1dHNhdWdlci1TY2h3ZXJ0IHp1cnVlY2suCkR1IHppZWhzdCBkYXMgRmV1ZXJzY2hpbGQgYW4uCj4gRHUgaGFzdCBuaWNodCBnZW51ZyBmcmVpZSBIYWVuZGUgZGFmdWVyLgpEaWUgQW5nc3QgaXN0IHN0YWVya2VyIGFscyBEdSAuLi4gRHUgd2lsbHN0IG51ciBub2NoIHdlZyBoaWVyLgpEZXIgU2NoaWVkc3JpY2h0ZXIgc2FndCA6IEFCSEFVRU4gSVNUIE5JQ0hULiBJSFIgV09MTFRFVCBESUUgVE9SRSBOSUNIVApPRUZGTkVOIExBU1NFTi4gSkVUWlQgR0lCVCBFUyBLRUlOIFpVUlVFQ0sgTUVIUi4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKSmFuaWNlIHdvbGx0ZSBmbGllaGVuLCBvYndvaGwgZGllIFRvcmUgZ2VzY2hsb3NzZW4gc2luZD8gRWluIFplaWNoZW4gZnVlcgpGZWlnaGVpdD8KRGVpbiBGbHVjaHR2ZXJzdWNoIGlzdCBnZXNjaGVpdGVydC4KICBIdWVwZmVyIGdyZWlmdCBEaWNoIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4uCiAgSHVlcGZlciBrcmF0enQgRGljaC4KRHUgaGFzdCBqZXR6dCAxMiBMZWJlbnNwdW5rdGUgdW5kIDY3IE1hZ2llcHVua3RlLgpEdSBob2Vyc3QgZGVuIEFyZW5hc3ByZWNoZXIgcnVmZW4gOgpIdWVwZmVyIHdpcmQgZ2V0cm9mZmVuLgpEdSBob2Vyc3QgZGVuIEFyZW5hc3ByZWNoZXIgcnVmZW4gOgpIdWVwZmVyIHNpZWh0IHNjaG9uIHppZW1saWNoIG1pdGdlbm9tbWVuIGF1cy4KRHUgaG9lcnN0IGRlbiBBcmVuYXNwcmVjaGVyIHJ1ZmVuIDoKSmFuaWNlIG11c3MgVHJlZmZlciBoaW5uZWhtZW4uCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6CkphbmljZSB3aXJkIHdpZWRlcmhvbHQgc2Nod2VyIGdldHJvZmZlbiB1bmQgd2Fua3Qgc2Nob24gYmVkZW5rbGljaC4KSHVlcGZlciB6dWVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydC4KRHUgemllaHN0IGRhcyBGZXVlcnNjaGlsZCBhdXMuCj4gSHVlcGZlciBzdGVja3QgZWluIEJsdXRzYXVnZXItU2Nod2VydCB6dXJ1ZWNrLgpEdSBzdGVja3N0IGRlbiBWb2xsc3RyZWNrZXIgenVydWVjay4KSHVlcGZlciB3aXJmdCBlaW5lbiBGZXVlcmJhbGwgbmFjaCBEaXIuCkR1IGthbm5zdCBlaW5lIGNoYW90aXNjaCBtdXRpZXJ0ZSBIYXV0IG5pY2h0IGF1c3ppZWhlbi4KRGVpbiBQYXJ0bmVyIGlzdCBsZWlkZXIgbmljaHQgZGEgdW0gRGlyIGJlaXp1c3RlaGVuLgpbVG9kOl0gRXR3YXMgR2VoZWltbmlzdm9sbGVzIHVuZCBVbmJla2FubnRlcyBoYXQgZ2VyYWRlIEphbmljZSB1bWdlYnJhY2h0LgpEZWluIEtvZXJwZXIgZ2Vob3JjaHQgRGlyIG5pY2h0ICEKCldlciBhdWZtZXJrc2FtIGxpZXN0LCBzaWVodCwgZGFzIGRlciBGaW5zdGVybmlzc3NwcnVjaCBkYW5lYmVuIGdpbmcKCkFtYXpvbmUgSmFuaWNlIHRyb3R6ZW0KKnNldWZ6KiBiaW4gaGFsdCBzcHJhY2hsb3MgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYW5pY2Ugc3RpcmJ0IG1hbCBlYmVuIChBc21vZGlzLCAyNC4gT2t0IDE5OTUsIDIwOjA0OjQ5KToKIyEgcm49SmFuaWNlIHJ0PTgxNDU2MTI2MQpIYWV0dGUgaWNoIEh1ZXBmZXIgZ2FyIG5pY2h0IHp1Z2V0cmF1dC4KR2x1ZWNrd3Vuc2NoICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSmFuaWNlIHN0aXJidCBtYWwgZWJlbiAoRnl0LCAyNC4gT2t0IDE5OTUsIDIyOjU3OjI3KToKIyEgcm49QXNtb2RpcyBydD04MTQ1NjE0ODkKamFqYSwgdHV0IGltbWVyIHdpZWRlciBndXQgenUgc2VoZW4sIGRhc3MgbmljaHRzZWhlciBub2NoIGNoYW5jZW4KaW4gZGVtIHNwaWVsIGhpZXIgaGFiZW4gOikKRnl0LiBGdWVyIEFicnVlc3R1bmcgaW0gTW9tZW50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYW5pY2Ugc3RpcmJ0IG1hbCBlYmVuIChadWVyaWxldSwgMjQuIE9rdCAxOTk1LCAyMzo1MTo0Nik6CiMhIHJuPUFzbW9kaXMgcnQ9ODE0NTYxNDg5ClNhbGkgemFlbWUsCkljaCBzY2hsaWVzcyBtaWNoIEh1ZXBmZXIgYW4sIERBUyBXQVIgU1BJVFpFICEhISAqWnVlcmlsZXUgaHVlcGZ0IHdpZSB3aWxkIGluCmRlciBHZWdlbmQgcnVtISoKClRzY2h1ZXNzIFp1ZXJpbGV1ID06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSmFuaWNlIHN0aXJidCBtYWwgZWJlbiAoR3JpbW1ib3JuLCAyNS4gT2t0IDE5OTUsIDA5OjIwOjA0KToKIyEgcm49WnVlcmlsZXUgcnQ9ODE0NTc1MTA2CgpXZXIgX2dhbnpfIGF1Zm1lcmtzYW0gZ2VsZXNlbiBoYXQsIGJlbWVya3QgYXVjaCBmb2xnZW5kZXM6Ci0gSHVlcGZlciBoYXQgZmFzdCBudXIgbWl0IGJsb3NzZW4gSGFlbmRlbiBhbmdlZ3JpZmZlbiwgbnVyIHp3aXNjaGVuZHVyY2ggZGFzClNjaHdlcnQgZ2V6dWVja3QuCi0gSmFuaWNlIGlzdCBsZXR6dGxpY2ggYW4gZGVuIEZldWVyYmFlbGxlbiBrcmVwaWVydC4gRGVyIEZldWVyc2NoaWxkIHd1cmRlCnp3YXIgZ2V6dWVja3QsIGFiZXIgbmllIGRhbm4sIHdlbm4gZWluIEZldWVyYmFsbCBrYW0uCi0gV2VyIHdhZWhyZW5kIGRlcyBLYW1wZmVzIHRydWZ0LCBicmF1Y2h0IHNpY2ggbmljaHQgenUgd3VuZGVybiwgd2VubiBlciB6dQpCZWdpbm4gUHJ1ZWdlbCBlaW5zdGVja3QuCi0gVW5kIHp1bGV0enQ6IE1hbiBzb2xsdGUgbnVyIGRhbm4gZGllIFRvcmUgc2NobGllc3Nlbiwgd2VubiBtYW4gX3NpY2hlcl8KaXN0LCB6dSBnZXdpbm5lbi4gOy0pCi0gQWNoIGphOiBEYW5uIHNvbGx0ZSBtYW4gYXVjaCBWb3JzaWNodCAwIGhhYmVuLiBOZXJ2dCBuaWNodCBzbyBhYmVyIG1hY2h0Cm5lbiBiZXNzZXJlbiBFaW5kcnVjay4uLgoKV2FzIG1pY2ggbm9jaCBpbnRlcmVzc2llcmVuIHd1ZXJkZTogV2lldmllbGUgbHAgaGF0dGUgSHVlcGZlciBhbSBFbmRlPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVicmlrIC8gU2FtbWVsZmlsZT8gKFRhcmtpbiwgMjYuIE9rdCAxOTk1LCAxNjoxMjowNyk6CiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODEzNTgyOTExCkd1dGUgSWRlZSBkYXMhISEgV2VubiBEZWluZSBTYW1tbHVuZyB1bWZhbmdyZWljaCBnZW51ZyBpc3Qga2FubnN0ZSBtaXIgamEgbWFsCmVpbiB1cGRhdGUgenVrb21tZW4gbGFzc2VuLCBva2F5PyBjaWFvICAgICAgdGFya2luCisrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmVkZXJpayAoRnJlZGVyaWNrLCAyOS4gT2t0IDE5OTUsIDE2OjQzOjE0KToKSGkgTGV1dHMhCkljaCBtb2VjaHRlIG1pY2ggbm9jaCBiZXZvciBpcmdlbmRldHdhcyBpbiBTYWNoZW4gVmVyd2VjaHNsdW5nLCBlZ2FsIG9iCnBvc2l0aXYKb2RlciBuZWdhdGl2IGZ1ZXIgbWljaCBvZGVyIGZyZWRlcmlrLCB2b24gZGllc2VyIFNwaWVsZXJpbiBkaXN0YW56aWVyZW4uCk5hdHVlcmxpY2ggbnVyIGluIGRlciBIaW5zaWNodCwgZGFzc3Mgd2lyIGV0d2FzIG1pdGVpbmFuZGVyIHp1IHR1biBoYWV0dGVuLgpGcmVkZXJpayBpc3Qgd2VkZXIgZWluIDJ0aWUgbm9jaCBlaW4gRHJpdHRpZSBub2NoIC4uLi4gdm9uIG1pci4gRHVtbSBnZW51ZywKZGFzcyBpY2ggbWljaCBuaWNodCBhYmdlc2ljaGVydCB1bmQgZGVuIE5hbWVuIGdlYmFuaXNodCBoYWJlLgpMaWViZSBHcnVlc3NlLApGcmVkZXJpY2sgbWl0IGNrLgo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZWRlcmlrIChBc21vZGlzLCAzMC4gT2t0IDE5OTUsIDA4OjE4OjI5KToKIyEgcm49RnJlZGVyaWNrIHJ0PTgxNDk4MTM5NApIdWNoLCBoYXQgZGFzIGplbWFuZCBiZWhhdXB0ZXQ/IFVuZCBzZWl0IHdhbm4gaXN0IEZyZWRlcmlrIHdlaWJsaWNoID8gOikKRGFubiBoaWVzc2Ugc2llIHdvaGwgRnJlZGVyaWtlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZWRlcmlrIChGcmVkZXJpY2ssIDMwLiBPa3QgMTk5NSwgMTU6MjQ6NDkpOgojISBybj1Bc21vZGlzIHJ0PTgxNTAzNzUwOQpGcmVkZXJpayBpc3QgZWluZSBoLiBBbmZhZW5nZXJpbiB1bmQgbWFjaHQgbWlyIGF1ZiBHcnVuZCBkZXMgenVtIFZlcndleGVsbgphZWhubGljaGVuIE5hbWVucyBTb3JnZW4uIFNpZSByZWFnaWVydCBhdWNoIG5pY2h0IGF1ZiBtZWluZSBNYWlscy4gSWNoIG11c3MKd29obCBkZW4gU2hlcmlmZiBlaW5zY2hhbHRlbiwgZGVyIGRpZSBTYWNoZSB1bnRlciBLb250cm9sbGUgYnJpbmd0IDopCnNlcnMgRXVjaCwKRnJlZGVyaWNrIG1pdCBjay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyZWRlcmlrIChBc21vZGlzLCAzMC4gT2t0IDE5OTUsIDE1OjU4OjQ1KToKIyEgcm49RnJlZGVyaWNrIHJ0PTgxNTA2MzA4OQpobW0sIGlzdCBhYmVyIGtvbWlzY2gsIGJlaSAnZmluZ2VyIGZyZWRlcmlrJyBzdGVodCBkYSwgZGFzcyBzaWUKbWFlbm5saWNoZW4gR2VzY2hsZWNodHMgaXN0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJlZGVyaWsgKE1hbmdvLCAzMC4gT2t0IDE5OTUsIDE3OjAwOjMwKToKIyEgcm49QXNtb2RpcyBydD04MTUwNjUxMjUKSGksCgp3YXMgc29sbCBpY2ggenUgZGllc2VtIFRoZW1hIHNhZ2VuIHdlbm4gZXMgZWluZW4gQW5mYWVuZ2VyIGdpYnQgZGVyCgogICAgICAgICAgICAgICAgICAgICAgIE1vbmdvCgoKaGVpc3N0PwoKTWFuZ28genVtIHZlcndlY2hzZWxuIGFlaG5saWNoIG1pdCBNb25nby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZyZWRlcmlrIChLcmV0ZWssIDMwLiBPa3QgMTk5NSwgMTc6MDg6NTgpOgojISBybj1NYW5nbyBydD04MTUwNjg4MzAKSGFjaCwgZGEgZmFlbGx0IG1pciBhdWNoIHdhcyBlaW4gZGF6dToKQ2FyYWRoYXJzLi4uICoqZ3JpbnMgQ2FyYSoqCgpUc2Nob2UsCk9ua2VsIEtyZXRlawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJlZGVyaWsgKFNsYXNoLCAzMC4gT2t0IDE5OTUsIDE4OjMzOjMxKToKIyEgcm49S3JldGVrIHJ0PTgxNTA2OTMzOAp3YXMgaXN0IG1pdCBtaXI6IHNsYXNoLCBuaWNodCBzbGFzaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlZGVyaWsgKFdpbGxvdywgMzAuIE9rdCAxOTk1LCAyMDo0NTo1Myk6CiMhIHJuPUZyZWRlcmljayBydD04MTQ5ODEzOTQKVW5kIHdhcyBzb2xsIGljaCBkYXp1IHNhZ2VuPz8/IFNjaGxpZXNzbGljaCBiaW4gSUNIIFdpbGxvdyB1bmQgbmljaHQgV2lsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZWRlcmlrIChQdGVwcGljLCAzMS4gT2t0IDE5OTUsIDA4OjAyOjMwKToKIyEgcm49V2lsbG93IHJ0PTgxNTA4MjM1MwoKQnR3LCBJY2ggaGFiIG5pY2h0IGRhcyBnZXJpbmdzdGUgbWl0IFRlcHBpYyB6dSB0dW4uCklzIGVpbiBiaWxsaWdlcyBQbGFnaWF0IGRlciBUeXAsIGFiZXIgaWNoIHdvbGx0ZSBuaWNodCBpbiBkaWUgQXJlbmEgbWl0CmlobSBlaGUgaWNoIE1hZ2llciB3YXIuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmVkZXJpayAoQXNtb2RpcywgMzEuIE9rdCAxOTk1LCAwODowNToyMSk6CiMhIHJuPVB0ZXBwaWMgcnQ9ODE1MTIyOTUwCldvIHdpciBzY2hvbiBtYWwgYW0gT3V0aW5nIHNpbmQ6CkljaCBoYWIgYXVjaCBuaXggbWl0IEFzbW9kaSB6dSB0dW4sIGlzdCBuZSBiaWxsaWdlIEtvcGllLCBkZW0KZWluIEJ1Y2hzdGFiZSBmZWhsdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJlZGVyaWsgKFlvZiwgMzEuIE9rdCAxOTk1LCAwODoxMjozOCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE1MTIzMTIxCgpJY2ggaGFiIGdlaG9lcnQgZXMgc29sbCBoaWVyIGF1Y2ggZWluIEpvZiBvZGVyIHNvIGdlYmVuLi4uIGRpZSBMZXV0ZQprb2VubmVuIGhhbHQgbnVyIGtvcGllcmVuLCBsYXNzdCBldWNoIG1hbCBzZWxic3Qgd2FzIGVpbmZhbGxuLiAgOykKCihEZXIgZWluemlnIHdhaHJlKSBZb2YuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGcmVkZXJpayAoVGhyb2luLCAzMS4gT2t0IDE5OTUsIDEwOjE2OjE0KToKIyEgcm49TWFuZ28gcnQ9ODE1MDY4ODMwClN0ZWxsdCBFdWNoIG5pY2h0IHNvIGFuLCBMZXV0ZS4gV2FzIGdsYXVidCBJaHIgd2lldmllbGUgVmVyd2VjaHNsdW5nZW4gaWNoIGluCm1laW5lciBBbmZhbmdzemVpdCBtaXQgVGhvcmluIGhhdHRlLiBTZWxic3QgZGllIEdyYXRzIGZ1ZXIgZ2Vsb2VzdGUgUXVlc3RzCmdpbmdlbiBhbiBpaG4uIEljaCBmaW5kZSBkYXMgc29sbHRlIG1hbiBhYmtvZW5uZW4hIDopCkdydXNzLCBUaHJvaW4uICguLi4gdW5kIGljaCB0cmFnZSBpbW1lciBub2NoIGRhcyAnSWNoIGhlaXNzZSBOSUNIVApUaG9yaW4nLVQtU2hpcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmVkZXJpayAoTGFyaXNzYSwgMzEuIE9rdCAxOTk1LCAxMDoyNDozMCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE1MDY1MTI1CkhtbW1tbW0sIGljaCByZWloZSBtaWNoIGRhIGF1Y2htYWwgZWluLi4uLi5uaWNodGdlbnVnLCBkYXNzIGljaCBzdGFlbmRpZyBmdWVyCmVpbmlnZSBVbmdlcmVpbXRoZWl0ZW4gZWluZXIgZ2V3aXNzZW4gTGFyaXNpYSBhbmdlcGZsYXVtdCB3dXJkZW4sIG1hbgpiZWdydWVzc3RlIG1pY2ggYXVmIGRlciBQYXJ0eSB6dSBhbGxlbSB1ZWJlbCBtaXQgbWFzc2lnIFNjaG9rb2xhZGUsIGRpZSBpY2gKYW5nZWJsaWNoIGJlc3RlbGx0IGhhZXR0ZS4uLi4uCkxhcmlzc2EsIGdydWViZWx0IGltbWVybm9jaCAsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJlZGVyaWsgKE1vcmdvdGgsIDMxLiBPa3QgMTk5NSwgMTA6MjU6MzgpOgojISBybj1MYXJpc3NhIHJ0PTgxNTEzMTQ3MApobSwgaWNoIGhhYiBub2NoIGtlaW5lbiBkb3BwZWxnYWVuZ2VyLi4uLmJlc3NlciBpc3QgZGFzICoqendpbmtlcioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGcmVkZXJpayAoQXNtb2RpcywgMzEuIE9rdCAxOTk1LCAxMDoyNzoyNSk6CiMhIHJuPU1vcmdvdGggcnQ9ODE1MTMxNTM4CldpcnN0IGR1IG5pY2h0IG1hbmNobWFsIG1pdCBNb3Jnb24gdmVyd2VjaHNlbHQgPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyd2VjaHNsdW5nZW4gKEx1ZywgMzEuIE9rdCAxOTk1LCAxOTo0MDoyOCk6CkFwcm9wb3M6IGRpZSBnYW56ZW4gUHNldWRvLUx1ZydzIDxYPitMdWcgd2FyZW4gdm9uIGVpbmVtIFNwaW5uZXIsIHVuZCBrZWluZQpad2V0aXMgdm9uIG1pci4gTnVyIGZhbGxzIHNvIGVpbmVyIGF1cyBNYXJidXJnIGF1ZnRhdWNodDogcGxhZXR0ZW4uCk51ciBpbiBMdWcgaXN0IGF1Y2ggTHVnIGRyaW4hCkdydWVzc2UKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYW5nZWwgYW4gRmFudGFzaWU/IChJbHZlcywgIDEuIE5vdiAxOTk1LCAyMDoxMDoxMCk6CkljaCBzY2huYWxsZSBlcyBuaWNodC4gRWluaWdlIFphdWJlcnRyYWVua2Uga2FubiBtYW4gamEgd2lya2xpY2ggbGVpY2h0CmZpbmRlbiwgYWJlciBhbmRlcmUuLi4/IFdpZSB6dW0gR2VpZXIga2FubiBtYW4gZGFyYXVmIGtvbW1lbiwgZGFzcyBkZXIgU2VlbWFubgphdWYgZGVyIFNvbm5lbmluc2VsIGVpbmVuIFRhdWNoZXJhbnp1ZyB2ZXJrYXVmdD8/PyBJY2ggaGFiZSBhbGxlcyBtb2VnbGljaGUKdmVyc3VjaHQsIGFiZXIga2VpbiBXb3J0IGF1cyBpaG0gaGVyYXVzZ2VicmFjaHQuIElyZ2VuZHdvIG11c3Mgbm9jaCBkaWVzZSBiYXIKc2VpbiwgdmVybXV0bGljaCBoaW50ZXIgZGVyIEJydWVja2UsIGFiZXIgaWNoIGtyaWVnZSBuaWNodCByYXVzLCB3aWUgbWFuIGRhCnJ1ZWJlciBrb21tdC4gVW5kIHdpZSBpc3QgZGFzIG1pdCBkZW0gWlQgaW4gZGVyIFNhZXVsZT8gTXVzcyBtYW4gZGVuIHp1ZXJzdApmaW5kZW4sIGJldm9yIG1hbiBkaWUgTXVyYWVuZSBlcmxlZGlndD8gSWNoIGhhYmUgZXJzdCBkaWUgTXVyYWVuZSBlcmxlZGlndCB1bmQKYmluIGRhbm4genUgZGVuIFNhZXVsZW4sIGFiZXIgZGEgd2FyIG5peCBtZWhyLiA6LSgKVWViZXJoYXVwdCwgd2llIGtvbW10IG1hbiBhdWYgZGllIElkZWUgbWl0IGRlbSBWZXJrbm90ZW4/IEVyemFlaGx0IGRhcyBkZXIKU2VlbWFubj8KQmluIGF1ZiBBbnR3b3J0ZW4gZ2VzcGFubnQgLSB1bmQgei5aLiByZWljaGxpY2ggZ2VmcnVzdGV0LgoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYW5nZWwgYW4gRmFudGFzaWU/IChDdWNodWxsaW4sICAxLiBOb3YgMTk5NSwgMjA6NDU6MDApOgojISBybj1JbHZlcyBydD04MTUyNTMwMTAKCgpFcyBpc3QgYXVjaCBnZW5hdSBzbyBnZWRhY2h0LCBkYXNzIGRpZSBUcmFlbmtlIHVudGVyc2NoaWVkbGljaCBzY2h3ZXIgenUKZmluZGVuIHNpbmQuIFdvIGlzdCBEZWluIFByb2JsZW0/CgpDdWNoLi0ga3Vyei4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoUm9lc3RpLCAgMS4gTm92IDE5OTUsIDIxOjQ1OjI5KToKQWxzbyBpY2ggZmluZGUgZXMgaXN0IGluendpc2NoZW4genUgc2Nod2llcmlnIFpUJ3MgenUgZmluZGVuLi4uCkJlaSBkZXIgbW9tZW50YW5lbiBHcm9lc3NlIHNvbGx0ZSBtYW5uIGplZGVtIFNwaWVsZXIgZWluZSBVbmdlZmFlaHJlCkxBYWdlYmVzY2hyZWlidW5nIHNlaW5lciBaVCBnZWJlbi4uLgpORUlOIG5pY2h0IFpVIGdlbmF1Li4uCkJTcC4uLjMgbGllZ2VuIGF1ZiBkZXIgSG9jaGViZW5lIDMgbGllZ2VuIGlyZ2VuZHdvIGluIGRlciB3dWVzdGUKZWluZXIgbGllZ3QgaW4gQXVyb3JhLi4uVVNXLi4uCk9kZXIgbWFubiBncmVuenQgZGllIEdlYmlldGUgZGVzIE1HIGVpbiBXbyBtYW5uIFpUJ3MgZmluZGVuIGthbm4uLi4gKEZhZW5kCmljaCBhYmVyIHNjaGFkZS4uLikgQWJlciBiZWkgZGVyIE1vbWVudGFuZW4gR3JvZXNzZSBpc3QgZXMgZG9jaCB3aXJrbGljaApuaWNodAptZWhyIHp1IHNjaGFmZmVuIHNpY2ggamVkZW4gUmF1bSAxMDAlaWcgYW56dXNjaGF1ZW4uLi4oQXVzc2VyIE1hZ2llcm4uLi46KSApCkFsc28gbnVyIG1hbCBzbyBhbHMgZGVua2Fuc3Rvc3MuLi4KClJvZXN0aSAuLi4gd2VsY2hlciBuaWNodCB3dWVzc3RlIHdpZSBlciBoZXV0ZSBkcmF1ZiB3YWVyZSB3ZW5uIGVyIGRhcwpnZXNhbW10ZSBNRyBuYWNoIHp0YHMgYWJzdWNoZW4gbXVlc3N0ZS4uLkFSR0VMLi4uSGFiIGRvY2ggamV0enQgc2Nob24gbnVyIG5lbgpkdXJjaHNjaG5pdHRzd2VydCB2b24gWmlya2EgMTAuLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYW5nZWwgYW4gRmFudGFzaWU/IChJbHZlcywgIDEuIE5vdiAxOTk1LCAyMjoyNTowNCk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MTUyNTUxMDAKSWNoIG1vZWNodGUgZWluZmFjaCB3aXNzZW4sIHdhcyBkaWUgUHJvZ3JhbW1pZXJlciBzaWNoIGdlZGFjaHQgaGFiZW4sCndpZSBtYW4gZGFyYXVmIGtvbW1lbiBzb2xsLgoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbmdlbCBhbiBGYW50YXNpZT8gKE1vcmdvdGgsICAxLiBOb3YgMTk5NSwgMjM6MTk6MzgpOgojISBybj1JbHZlcyBydD04MTUyNjExMDQKZWluZSBzdHVuZGUgc3BhZXRlciA6CltUb2Q6XSBUcmVpYnNhbmQgaGF0IGdlcmFkZSBJbHZlcyB1bWdlYnJhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbmdlbCBhbiBGYW50YXNpZT8gKEFsaW5lLCAgMi4gTm92IDE5OTUsIDEwOjI1OjM5KToKIyEgcm49SWx2ZXMgcnQ9ODE1MjUzMDEwCkljaCBzY2huYWxsZSBlcyBuaWNodC4gRWluaWdlIFphdWJlcnRyYWVua2Uga2FubiBtYW4gamEgd2lya2xpY2ggbGVpY2h0CmZpbmRlbiwgYWJlciBhbmRlcmUuLi4/IFdpZSB6dW0gR2VpZXIga2FubiBtYW4gZGFyYXVmIGtvbW1lbiwgZGFzcyBkZXIKU2VlbWFubgphdWYgZGVyIFNvbm5lbmluc2VsIGVpbmVuIFRhdWNoZXJhbnp1ZyB2ZXJrYXVmdD8/PyBJY2ggaGFiZSBhbGxlcyBtb2VnbGljaGUKSGFsbG8gSWx2ZXMsCgphbHNvIHdpZSBtYW4genVtIEJlaXNwaWVsIGF1ZiBkaWUgU2FjaGUgbWl0IGRlbSBUYXVjaGVyYW56dWcga29tbXQsIGthbm4KaWNoIERpciB2ZXJyYXRlbi4gV2VubiBtYW4gZGllIFF1ZXN0IE9rdG9wdXMtUmlmZiBtYWNodCwgd2Vpc3MgbWFuIGF1Y2ggd2FzCm1hbiBkZW4gU2VlbWFubiBmcmFnZW4gbXVzczspCkF1Y2ggZHVyY2ggZGllIGFuZGVyZW4gU2FjaGVuLCBkaWUgRHUgZnJhZ3N0IGxhc3NlbiBkYXJhdWYgc2NobGllc3NlbiBkYXNzCkR1IERlaW5lIFpUcyBnZXppZWx0IG5hY2ggZWluZXIgTGlzdGUgc3VjaHN0LiBEYW5uIG11c3N0IER1IERpY2ggYWJlciBhdWNoCm5pY2h0IHd1bmRlcm4sIHdlbm4KRGlyIGVpbmlnZSBTYWNoZW4gKGRhcyBtaXQgZGVtIFNlZW1hbm4genVtIEJlaXNwaWVsKSB0b3RhbCBSYWV0c2VsaGFmdApibGVpYmVuLgoKQWxpbmUgKGRpZSBiaXMgamV0enQgaW1tZXIgYXVmIGRlbSBLYW5hbCBBYmVudGV1ZXIgZGVuIFRpcCBnZWhvZXJ0IGhhdAoibWFjaCBEaXIgZWluIEFsaSBmdWVyIHZlcmtub3RlIE11cmFlbmUiIHdlbm4gZGEgZWluZXIgbmFjaCBkZXIgUXVlc3QKT2t0b3B1cy1SaWZmIGZyYWd0ZSEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hbmdlbCBhbiBGYW50YXNpZT8gKEFsaW5lLCAgMi4gTm92IDE5OTUsIDEwOjI3OjMyKToKIyEgcm49QWxpbmUgcnQ9ODE1MzA0MzM5CkFjaCBqYSBub2NoIGVpbiBOYWNodHJhZyB6dSBtZWluZW0gQXJ0aWtlbC4gRGllIGVyc3RlbiA0IFplaWxlIHNpbmQKZWluIFppdGF0IGF1Y2ggSWx2ZXMgQXJ0aWtlbC4gTGVpZGVyIGthbm4gaWNoIG5pY2h0IG1pdCBRdW90YXRpb24gcGFzdGVuLgoKQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYW5nZWwgYW4gRmFudGFzaWU/IChBc21vZGlzLCAgMi4gTm92IDE5OTUsIDEwOjM4OjM3KToKIyEgcm49SWx2ZXMgcnQ9ODE1MjUzMDEwCldvenUgYnJhdWNoc3QgZHUgRmFudGFzaWU/IHN0ZWh0IGRvY2ggYWxsZXMgaW4gZGVpbmVyIFpULUxpc3RlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKb2YsIExhcmlzc2EgdW5kIENyZWF0aXZlIGluIEtvZWxuIChPcmt0b2V0ZXIsICAyLiBOb3YgMTk5NSwgMTE6NTk6MDIpOgpIYWxsbyBpaHIgTGllYmVuICEKRGEgSm9mLCBMYXJpc3NhIHVuZCBDcmVhdGl2ZSBhbSBTYS4gQWJlbmQgaW4gS29lbG4gc2luZCwgZmluZGV0IGVpbiBUcmVmZmVuCnN0YXR0LiBOYWVoZXJlcyBzaWVoZSBSdWJyaWsgdHJlZmZlbi4KR3J1ZXNzZSBPcmtULgosCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKE1haGF0bWEsICAyLiBOb3YgMTk5NSwgMTM6NTU6MzkpOgojISBybj1Sb2VzdGkgcnQ9ODE1MjU4NzI5CkRhIGRhcyBsZWlkaWdlIFRoZW1hIGRlciBaYXViZXJ0cmFua3ZlcnN0ZWNrZSB1bmQgZGVyIGRhcmF1cyByZXN1bHRpZXJlbmRlbgpUYXRzYWNoZSwgZGFzcyBkaWUgVHJhZW5rZSBudXIgbWl0IExpc3RlIGtvbXBsZXR0IHp1IGZpbmRlbiBzaW5kLCBtaWNoIGF1Y2gKbWFzc2l2IHN0b2VydCwga2FubiBpY2ggUm9lc3RpcyBWb3JzY2hsYWcgbnVyIGJlZ3J1ZXNzZW4uCkVpbmUgdW5nZWZhZWhyZSBMYWdlYmVzY2hyZWlidW5nIGVyc3BhcnQgZGFzIEFic3VjaGVuIGRlciBrb21wbGV0dGVuIFdlbHQgdW5kCm5pbW10IHRyb3R6ZGVtIG5pY2h0IGRlbiBTcGFzcywgZGllIChtZWlzdGVucykgcmVjaHQgbmV0dGVuIFZlcnN0ZWNrZSB6dQplbnRkZWNrZW4uClVuZCBpbSBMYXVmZSBkZXIgWmVpdCBlbnR3aWNrZWx0IG1hbiBkYW5uIGF1Y2ggZWluIEdlc3B1ZXIgZnVlciBkaWUgQXJ0IHVuZApXZWlzZSwgd2llIGRpZSBUcmFlbmtlIHZlcnN0ZWNrdCBzaW5kIChtZWluZSBUcmFlbmtlIDcxIHVuZCA3MiBzdGFuZGVuIG5pY2h0CmF1ZiBkZXIgTGlzdGUpLgpJY2ggd2FyIGplZGVuZmFsbHMgYWxzIEFuZmFlbmdlciBzZWhyIGZydXN0cmllcnQsIGFscyBpY2ggbmFjaCBncnVlbmRsaWNoZW0KU3VjaGVuIGdlcmFkZSBtYWwgZWluZW4gWlQgZ2VmdW5kZW4gaGF0dGUsIHVuZCB3YXIgZGFubiBzZWhyIGdsdWVja2xpY2gsIGFscwppY2ggZWluZSBMaXN0ZSBnZXNjaGlja3QgYmVrYW0uCkRhbm4gbXVzc3RlIGljaCBmZXN0c3RlbGxlbiwgZGFzcyBpY2ggc29nYXIgbWVocmVyZSBWZXJzdGVja2UgZXJmb2xnbG9zCmFiZ2VzdWNodCBoYXR0ZSAoZWluIE5ldWVpbnN0ZWlnZXIgZHVlcmZ0ZSBiZWkgZGVyIGpldHppZ2VuIEFuemFobCB2b24gWlQncwphdWYgZWluZSBFcmZvbGdzcXVvdGUgdm9uIHdlbmlnZXIgYWxzIDQwJSBrb21tZW4pLgpBbHNvIGxpZWJlIE1hZ2llciwgbGFzc3QgZXVjaCB3YXMgZWluZmFsbGVuLCB3aWUgaWhyIGRhcyBaYXViZXJ0cmFua3N1Y2hlbgpvaG5lIExpc3RlIHdpZWRlciBsdWtyYXRpdiBtYWNoZW4ga29lbm50LgpNYWhhdG1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChDdWNodWxsaW4sICAyLiBOb3YgMTk5NSwgMTM6NTk6NTkpOgojISBybj1NYWhhdG1hIHJ0PTgxNTMxNjkzOQoKClVyc3BydWVuZ2xpY2ggZ2luZyBtYW4gZGF2b24gYXVzLCBkYXNzIFNwaWVsZXIgbmljaHQgaW4gZGllIFNpdHVhdGlvbiBrb21tZW4Kd2VyZGVuLCB2b2xsZSBTdGF0cyB6dSBoYWJlbi4KV2FyIHdvaGwgZWluIEZlaGxlciAtIGFiZXIgc2ljaCBqZXR6dCB6dSBiZXNjaHdlcmVuLCB3ZWlsIG1hbiBkaWUgVHJhZW5rZSBudXIKbWl0IExpc3RlIGZpbmRldCwgd2VpbCBlaW4gcGFhciBoYWx0IHdpcmtsaWNoIG51ciBkYW5uIGdlZnVuZGVuIHdlcmRlbiwgd2VubgptYW4gX3NlaHJfIGdlbmF1IGhpbnNjaGF1dCwgaXN0IGZhc3QgZXR3YXMgdW52ZXJzY2hhZW10LgoKQ3VjaC4tCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYW5nZWwgYW4gRmFudGFzaWU/IChKdXJyeSwgIDIuIE5vdiAxOTk1LCAxNTo0NToyOSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE1MzA1MTE3Ckp1cnJ5IGxhY2h0Lgo6KTopOik6KQoKCgpqdXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKE1haGF0bWEsICAyLiBOb3YgMTk5NSwgMTY6NDU6MjYpOgojISBybj1DdWNodWxsaW4gcnQ9ODE1MzE3MTk5CkljaCBiZXNjaHdlcmUgbWljaCBuaWNodCwgZGFzcyBtYW4gc2VociBnZW5hdSBoaW5ndWNrZW4gbXVzcyAoaWNoIGFldXNzZXJ0ZSwKZGFzcyBtaXIgZGllIFZlcnN0ZWNrZSBncm9lc3N0ZW50ZWlscyBnZWZhbGxlbiksIHNvbmRlcm4gaWNoIG1laW50ZSBkYW1pdCwKZGFzcyBtYW4gdGhlb3JldGlzY2ggX2FsbGVfIFJhZXVtZSBhbnNjaGF1ZW4gbXVzcy4KVW5kIGRhcyBkdWVyZnRlIGthdW0gaW4gZW5kbGljaGVyIFplaXQgenUgc2NoYWZmZW4gc2Vpbi4KTWFoYXRtYSAoZGVua3QgbmljaHQsIGRhc3MgZXIgdW52ZXJzY2hhZW10IGlzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChSb2NodXMsICAyLiBOb3YgMTk5NSwgMTY6NTQ6MzEpOgojISBybj1NYWhhdG1hIHJ0PTgxNTMyNzEyNgpFcyBpc3QgaW4gZW5kbGljaGVyIFplaXQgenUgc2NoYWZmZW4uCkJld2VpczogRXMgZ2lidCBudXIgZW5kbGljaCB2aWVsZSBSYWV1bWUuCnEuZS5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKEJhbWJ1bGtvLCAgMi4gTm92IDE5OTUsIDE2OjU1OjUwKToKIyEgcm49Um9jaHVzIHJ0PTgxNTMyNzY3MQpEdSBzZXR6dCBhYmVyIFZvcnJhdXMsIGRhcyBlcyBudXIgZW5kbGljaCB2aWVsZSBEZXRhaWxzIHBybyBSYXVtIGdpYnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChZZW5kaSwgIDIuIE5vdiAxOTk1LCAxNjo1NzoyNCk6CiMhIHJuPUJhbWJ1bGtvIHJ0PTgxNTMyNzc1MAouLi51bmQgZGFzcyBEdSBlaW5lbiBSYXVtIGluIHdlbmlnZXIgWmVpdCBkdXJjaHN1Y2hlbiBrYW5uc3QsIGFscyB1bnNlcmUgTgpNYWdpZXIgYnJhdWNoZW4sIHVtIGVpbmVuIG5ldWVuIFJhdW0genUgc2NocmVpYmVuIC0tIFZFUkdJU1MgRVMhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKFJvY2h1cywgIDIuIE5vdiAxOTk1LCAxNjo1ODoxMik6CiMhIHJuPUJhbWJ1bGtvIHJ0PTgxNTMyNzc1MApEZXIgUGxhdHogYXVmIGRlciBNdWQtUGxhdHRlIGlzdCBiZWdyZW56dCwKYWxzbyBrYW5uIG1hbiBhdWNoIG51ciBlbmRsaWNoIHZpZWxlIERldGFpbHMgKnZlcnNjaGllZGVuKiBiZXNjaHJlaWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChQdW1hLCAgMi4gTm92IDE5OTUsIDE2OjU4OjU4KToKIyEgcm49Um9jaHVzIHJ0PTgxNTMyNzg5MgpLaW5kZXIsIGJpdHRlIHZlcmxlZ3QgZGFzIGRvY2ggbmFjaCBTY2htYXJybi4uLiAqc2V1ZnoqCgoKUFVNQQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChNYWhhdG1hLCAgMi4gTm92IDE5OTUsIDE3OjExOjQ4KToKIyEgcm49UHVtYSBydD04MTUzMjc5MzgKSmF1LCBpY2ggZmluZHMgc2NoYWRlLCBkYXNzIG1laW5lIEZvcm11bGllcnVuZ2VuIG1pdCBzY2hvbGFzdGlzY2hlcgpXb3J0ZGV1dGVsZWkgemVycGZsdWVja3Qgd2VyZGVuIChkYXMga2FubiBtYW4gZ3V0IG5hY2ggU2NobWFycm4gdmVybGVnZW4pLgpWaWVsIGJlc3NlciB3YWVyIGVzLCB3ZW5uIHVlYmVyIGRlbiBLZXJuIGRlcyBQcm9ibGVtcyBtYWwgbmFjaGdlZGFjaHQgd2VyZGVuCnd1ZXJkZS4KU2NobGllc3NsaWNoIHNpbmQgZGllIFphdWJlcnRyYWVua2UgZWluIHplbnRyYWxlciBHZWdlbnN0YW5kIGRlcyBTcGllbHMsIGRhCndhZXJlIGVpbmUgZXJuc3RoYWZ0ZSBEaXNrdXNzaW9uIGFuZ2VicmFjaHQuCk1haGF0bWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChNYWhhdG1hLCAgMi4gTm92IDE5OTUsIDE2OjQ1OjI2KTogKFJvZXN0aSwgIDIuIE5vdiAxOTk1LCAxODowMjo1OSk6CkRlbSBrYW5uIGljaCBudXIgenVzdGltbWVuLi4uOikKClJvZXN0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRnJlZGVyaWsgKEtlcm1pdCwgIDIuIE5vdiAxOTk1LCAxODoxNjowMSk6CiMhIHJuPVNsYXNoIHJ0PTgxNTA3NDQxMQoKT2RlciBtaXQgbWlyPyBLZXJtZXQgaXN0IGRvY2ggbnVuIHdpcmtsaWNoIG51ciBlaW4gYmlsbGlnaWVzIFBsYWdpYXQKZGVzIE9yaWdpbmFscywgZGVubiBkYXMgaGVpc3N0IGltbWVyIG5vY2ggS2VybWl0LgpLZXJtaXQsIE9yaWdpbmFsISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoQXJkYW5hLCAgMi4gTm92IDE5OTUsIDE4OjI4OjM0KToKIyEgcm49Um9jaHVzIHJ0PTgxNTMyNzY3MQpIbW0uIE1hbiBzb2xsdGUgdmVybXV0ZW4sIFJvY2h1cyBoYXQgTWF0aGV2b3JsZXN1bmdlbiBnZWhvZXJ0LiBBYmVyIGRhcyBpc3QKbmljaHQgZGVyIFB1bmt0LiBWb3IgZWluaWdlciBaZWl0IGRpc2t1dGllcnRlbiBkaWUgTWFnaWVyIGluIGlocmVuIFJ1YnJpa2VuCnVlYmVyIGVpbmUgZXZlbnR1ZWxsZSBFcmxlaWNodGVydW5nIGRpZSBaVC1TdWNoZSBiZXRyZWZmZW5kLiBBYmVyIC0gIGVzCnZlcmxpZWYgb2ZmZW5iYXIgaW0gU2FuZGUuIFdhcnVtIGVpZ2VudGxpY2g/PyBWaWVsbGVpY2h0IHdlaWwgTWFnaWVyIGtlaW5lClpUJ3MgbWVociBzdWNoZW4gbXVlc3Nlbi4KSG1tLi4uIHNjaGFkZSBlaWdlbnRsaWNoLCBkZW5uIGljaCBoYWx0ZSBkYXMgZGVyemVpdGlnZSB6dC0gU3lzdGVtIGZ1ZXIgbmljaHQKbWVociBha3plcHRhYmVsLi4uIGRhcyBNRyBpc3QgaW56d2lzY2hlbiB2aWVsIHp1IGdyb3NzIGdld29yZGVuLCB1bSBhbGxlcyB6dQp1bnRlcnN1Y2hlbiB1bmQgZGFiZWkgbm9jaCBTcGFzcyB6dSBoYWJlbi4gTWl0IGRlbSBkZXJ6ZWl0aWdlbiB6dC1TeXN0ZW0gaGFsdGUKaWNoIGRpZSBCZW51dHp1bmcgdm9uIHp0LUxpc3RlbiBmdWVyIHNlaHIgbGVnaXRpbSwgZGVubiB3ZW5uIG1hbiBkYXMgbmljaHQKdHV0LCB2ZXJnZWhlbiB6d2FyIG51ciBlbmRsaWNoZSB2aWVsZSBPbmxpbmUtVGFnZSAqendpbmtlciBSb2NodXMqIGJpcyBtYW4KZWluaWdlcm1hc3NlbiB2ZXJudWVmdGlnZSBTdGF0cyBoYXQuLi4gYWJlciBhdWNoIGRpZSBFbmRsaWNoa2VpdCBrYW5uIG1hbmNobWFsCnp1IGxhbmcgc2Vpbi4KCkp1c3QgbXkgNSBwZW5ueSwKICAgICAgICAgICAgICAgIEFyZGFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKFB1bWEsICAyLiBOb3YgMTk5NSwgMTg6MzE6NTEpOgojISBybj1BcmRhbmEgcnQ9ODE1MzMzMzE0CkRpZSBEaXNrdXNzaW9uIHZlcmxpZWYgaW0gU2FuZGUsIHdlaWwgc2VsYnN0IGluIE1hZ2llci1LcmVpc2VuIGtlaW5lCmdlZWlnbmV0ZW4gQWx0ZXJuYXRpdi1Wb3JzY2hsYWVnZSB6dXN0YW5kZSBrYW1lbi4gRWluaWdlIFZlcmJlc3NlcnVuZ2VuIHd1cmRlbgp6ZXJmbGFtZWQsIHVuZCBkYW1pdCBoYXR0ZSBzaWNoIGRpZSBTYWNoZSBnZWdlc3Nlbi4KT2ZmZW5zaWNodGxpY2ggbGFldWZ0IGRhIGluIGRpZXNlciBSaWNodHVuZyBuaWNodHMgbWVoci4gRGllIEV4aXN0ZW56IHZvbgpMaXN0ZW4gaXN0IGFsbGdlbWVpbiBha3plcHRpZXJ0LCBkYSBlcyBvaG5lIHNpZSBtaXR0bGVyd2VpbGUgbmljaHQgbWVociBnZWh0LgpUcmF1cmlnLCBhYmVyIHdhaHIuCgogICAgICAgICBQVU1BIQoKW10gd3Vlc3N0ZSBzbyBzY2huZWxsIGF1Y2gga2VpbmUgQWx0ZXJuYXRpdmUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoTXVwZmVsLCAgMi4gTm92IDE5OTUsIDE5OjMwOjU4KToKIyEgcm49Um9jaHVzIHJ0PTgxNTMyNzY3MQo6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFuZ2VsIGFuIEZhbnRhc2llPyAoSWx2ZXMsICAyLiBOb3YgMTk5NSwgMTk6MzI6MDMpOgojISBybj1Bc21vZGlzIHJ0PTgxNTMwNTExNwpPaG5lIExpc3RlIHd1ZXJkZSBlcyBhYmVyIG1laHIgU3Bhc3MgbWFjaGVuIQoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChJbHZlcywgIDIuIE5vdiAxOTk1LCAxOTozNjoxOCk6CiMhIHJuPU1haGF0bWEgcnQ9ODE1MzI3MTI2CmFsbGUgUmFldW1lIGFuc2NoYXVlbiBnZWh0IGphIG5vY2guIFZvcmF1c2dlc2V0enQsIG1hbiBmaW5kZXQgYmVpbQpTY2hhdWVuIGVpbiBTdGljaHdvcnQsIGRhcyBkZW4gQmVnaW5uIGVpbmVyIFN0aWNod29ydGtldHRlIGJpbGRldCwKYW4gZGVyZW4gRW5kZSBtYW4gZGVuIFpUIGZpbmRldC4gT2RlciB3aWUgYmVpIGRlciBLaXN0ZSBhdWYgZGVyIEphY2h0LApkaWUgbWFuIHp3YXIgbmljaHQgc2llaHQsIGRpZSBhYmVyIGJlaSBkZW4gQmV3ZWd1bmdlbiBkZXMgS2FwaXRhZW5zCmVyd2FlaG50IHdpcmQuIERhcyBmaW5kZSBpY2ggT0suIE9id29obCBpY2ggbmljaHQgd2Vpc3MsIHdpZSBtYW4gYXVmCiJoZWJlbCBzaXR6ZmxhZWNoZSIga29tbWVuIHNvbGwuCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1IGltIEJhbGxwYXJrIChSeW5lLCAgMi4gTm92IDE5OTUsIDIwOjAwOjU5KToKSGV5YSEKClNvLCBMZXV0ZSwgaWNoIGhhYiBtYWwgd2llZGVyIHdhcyBuZXVlcyBpbiBtZWluZW0gQmFsbHBhcms7IG1pY2ggaGF0IGRhcwpzY2hvbiBsYWVuZ2VyIGludGVyZXNzaWVydCwgd2VsY2hlcyBxdWVzdCB3YW5uIGFuZ2VzY2hsb3NzZW4gd3VyZGUgLCB1bmQgd2VyCmRpZSBlcnN0ZW4gU3BpZWxlciB3YXJlbiwgZGllIHNpZSBnZWxvZXN0IGhhYmVuLCBzbyBrcmllZ3QgbWFuIG1hbCBlaW4gYmlzY2hlbgplaW5ibGljayB1ZWJlciBkaWUgJ0dlc2NoaWNodGUnIHVuc2VyZXMgTXVkcy4KV2FyZ29uIGhhdCBuZXR0ZXJ3ZWlzZSBlaW5lbiBnYW56ZW4gbmFjaG1pdHRhZyBnZW9wZmVydCB1bmQgbWlyIGRpZQp2b3JoYW5kZW5lbiBsb2dmaWxlcyBkdXJjaGdlc2VoZW4sIHVuZCBtaXIgZGllIGpld2VpbHMgMTAgZXJzdGVuIHNwaWVsZXIKcmF1c2dlc2NocmllYmVuOyBkYWZ1ZXIgbm9jaG1hbCBlaW4gZGlja2VzIGRhbmtlc2Nob2VuIGFuIFdhcmdvbiEhISBJY2ggaGFiCmRhcyBnYW56ZSBlaW4gd2VuaWcgYXVmYmVyZWl0ZXQsIHVuZCB3ZXIgc2ljaCBmdWVyIHNvd2FzIGludGVyZXNzaWVydCwga2FubgpkYXMgZXJnZWJuaXMgaW4gbWVpbmVtIGhhdXMgYW5zZWhlbjsgYXVmIGRlbSBzY2hyZWlidGlzY2ggc3RlaHQgZWluZSBLdWdlbCwKZGllIGVpbmVtIGRhYmVpIGhpbGZ0LCBkYSBkYXMgbWl0IGRlciBzeW50YXggbmljaHQgc28gb3B0aW1hbCBpc3Qga2FubiBtYW4gaW4KZGVtIHJhdW0gYXVjaCBtaXQgJ2toaWxmZScgZWluZSBrbGVpbmUgZXJrbGFlcnVuZyBlcmhhbHRlbi4KClZpZWwgU3Bhc3MgZGFtaXQsCgpSeW5lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSVAtWnVnYW5nIHp1IE1HPyAoSWx2ZXMsICAyLiBOb3YgMTk5NSwgMjE6NTM6MTMpOgpadXIgemVpdCBiZW51dHplIGljaCBXaW5Tb2NrZXQgdW5kIEVXQU4sIGFiZXIgc28gdG9sbCBpc3QgZGFzIG5pY2h0LgpKZXR6dCBoYWJlIGljaCBtaXIgZWluIFByb2dyYW1tIG5hbWVucyBNVVRUIGJlc29yZ3QsIGVpbiBNVUQtRnJvbnRlbmQuCkVzIHZlcmxhbmd0IGFiZXIgZWluZSBhbmRlcmUgQWRyZXNzaWVydW5nIGFscyBFV0FOOgpJZiB0aGlzIGlzIGEgbmV3IGNoYXJhY3RlciwgZW50ZXIgdGhlIE1VRCBob3N0J3MgSVAgYWRkcmVzcyBhbmQgcG9ydCBudW1iZXIuIApDb250YWN0IHRoZSBob3N0J3MgYWRtaW5pc3RyYXRvciBpZiB5b3UgYXJlIHVuc3VyZSBvZiB0aGVzZSB2YWx1ZXMuCltBW0EKW0JbQltCS2FubiBtaXIgZGEgamVtYW5kIHdlaXRlcmhlbGZlbj8KCkRhbmtlLCBJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKEZyZWRlcmljaywgIDIuIE5vdiAxOTk1LCAyMTo1NDoxNik6CiMhIHJuPUN1Y2h1bGxpbiBydD04MTUzMTcxOTkKLi4uenUgY3VjaHM6IGdpbmcgbWFuIGRhdm9uIGF1cyBkYXNzIFNwaWVsZXIgbmljaHQgaW4gZGllIFNpdHVhdGlvbiBrb21tZW4Kd2VyZGVuLCB2b2xsZSBTdGF0cyB6dSBoYWJlbi4KQ3VjaCBqZXR6dCBzYWcgYmxvc3Mgbm9jaCBkYXNzIGJlaW0gUHJvZ3JhbW1pZXJlbiB2b24gbmV1ZW4gTW9uc3Rlcm4gaW4gbmljaHQKYXVzZ2V6ZWljaG5ldGVuIE5ld2JpZWdlZ2VuZGVuIE5JQ0hUIHZvbiBhbm5hZWhlcm5kIHZvbGxlbiBTdGF0cyBhdXNnZWdhbmdlbgp3aXJkLgo/IT9GcmVkZXJpY2sgbWl0IGNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKFlhbnRybywgIDMuIE5vdiAxOTk1LCAwODoxMjo0NCk6CiMhIHJuPVB1bWEgcnQ9ODE1MzMzNTExCgpJY2ggbXVzcyBtZWluZW4gRGFkIGRhIGluIGVpbmVyIFNhY2hlIGJlcmljaHRpZ2VuOiBJY2gga2FubiBtaWNoIG5vY2gKemllbWxpY2ggZ3V0IGFuIGVpbmVuIEFsdGVybmF0aXZ2b3JzY2hsYWcgdm9uIFNpbHZhbmEgdW5kIG1pciBlcmlubmVybiwgd2FzCmRpZSBWZXJnYWJlIGRlciBaVHMgYmV0cmlmZnQuIEluIGRlbSBzb2xsdGUgZGFzIFN5c3RlbSBwcmluemlwaWVsbCBzbyBibGVpYmVuCndpZSBlcyBpc3QgKHVlYmVyYWxsIGltIE1HIFpUcyksIGFiZXIgZXMgc29sbHRlIHp1bWluZGVzdCB6dSBBbmZhbmcgZGllCldhaHJzY2hlaW5saWNoa2VpdCBoZXJhdWZnZXNldHp0IHdlcmRlbiwgd2VsY2hlIHp1IGZpbmRlbi4gRGFzIGhpZXNzZSwgZGFzcwpuaWNodCBtZWhyIGplZGVyIFNwaWVsZXIgODAgZmVzdGUgWlRzIGhhdCwgc29uZGVybiBkYXMgZWluIHpiLiBlaW4gQW5mYWVuZ2VyLApkZXIgYWxsZSBzdGF0cyBhdWYgMSBzdGVoZW4gaGF0IGVpbmUgOTAlIENoYW5jZSBoYXQsIGFuIGVpbmVtIGJlc3RpbW10ZW4gT3J0CmVpbmVuIFpUIHp1IGZpbmRlbi4uLiBNaXQgZGVyIEVyaG9laHVuZyBkZXIgU3RhdHMgc2lua3QgZGFubiBhdWNoIGlyZ2VuZHdhbm4KZGllIFdhaHJzY2hlaW5saWNoa2VpdCB1bmQgZW5kZXQgZGFubiBpcmdlbmR3YW5uIChuYXR1ZXJsaWNoIG5pY2h0IGJlaSAwKS4KClByb2JsZW0gd2FyLCBkYXNzIGtlaW5lciBkZXIgZ3Jvc3NlbiBNYWdpZXIgWmVpdCB1bmQgTHVzdCBoYXR0ZSwgZGllIElkZWUKdW16dXNldHplbiB1bmQgc3RhdHQgZGVzc2VuIHd1cmRlIG51ciBkcmFuIHJ1bWdlbWFla2VsdCwgZGFubiB2ZXJ3b3JmZW4uLi4KCkljaCBkZW5rZSwgZXMgZ2lidCBlaW5pZ2UgU3BpZWxlciBtaXQgdmllbCBFcmZhaHJ1bmcgdW5kIHdpZSBpbW1lciB3ZXJkZW4gZGllCk9ocmVuIGRlciBNYWdpZXIgZnVlciBlcm5zdGdlbWVpbnRlIGtvbnN0cnVrdGl2ZSBWb3JzY2hsYWVnZSBvZmZlbiBzZWluLi4uLgpkZW5rdCBldWNoIHdhcyBhdXMgOikKCiAgICAgICAgICAgICAgICAgICAgICAgICAgWWFudHJvOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChOaXhpaG91LCAgMy4gTm92IDE5OTUsIDA5OjQ2OjUwKToKIyEgcm49WWFudHJvIHJ0PTgxNTM4Mjc2NApqYSwgZWluIHN5c3RlbSBpbiBkZW0gbWFuIGJlaSBqZWRlbSB6dCBkaWUgY2hhbmNlIGhhdCBpaG4genUgYmVrb21tZW4gZmluZGUKaWNoIHRvbGwuIChhdWNoIHdlbm4gZGllIGNoYW5jZSBuaWNodCB1bWJlZGluZ3QgOTAlIHNlaWVuIG11c3MuIDcwIHJlaWNoZW4Kdm9lbGxpZyBhdXMuKQpudXIgc29sbHRlbiBkaWUgenQncyBkYW5uIGlocmVyIHNjaHdpZXJpZ2tlaXQgZW50c3ByZWNoZW5kIGdlc3RhZmZlbHQgd2VyZGVuLApzbyBkYXNzIG5pY2h0IGVpbmVyIGFsbGUgODAgenRzIGFscyBzY2h3aWVyaWcgYmlzIHNlaHIgc2Nod2llcmlnIGhhdC4KenVtaW5kZXN0IGhhdCBkaWVzZXMgc3lzdGVtIG5vY2ggZWluZW4gd2VpdGVyZW4gdm9ydGVpbDoKYXVjaCBhbHRlIHNwaWVsZXIsIGRpZSBub2NoIG5pY2h0IGFsbGUgenRzIGhhYmVuIGtvZW5uZW4gaW4gbmV1ZW4gZ2ViaWV0ZW4Kbm9jaCB6dHMgZmluZGVuISAodW5kIHNpbmQgZGVtZW50c3ByZWNoZW5kIGd1dCBtb3RpdmllcnQhKQoKbml4aWhvdQooZmluZGV0IHNpbHZhbmFzIHN5c3RlbSBzZWhyIGd1dCEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSVAtWnVnYW5nIHp1IE1HPyAoSGFyLCAgMy4gTm92IDE5OTUsIDEwOjA5OjIzKToKIyEgcm49SWx2ZXMgcnQ9ODE1MzQ1NTkzCkhpaGksIHdlbm4gRHUgZXMgc2NoYWZmc3QsIERpY2ggZWluenVsb2dnZW4sIHNvbGx0ZXN0IER1IGFjaCBkYXMgcmF1c2tyaWVnZW4KOikpKSkpLCB3ZW5uIG5jaWh0LCBiZW51dHplIGhhbHQga2VpbiBGcm9udC1FbmQhCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoQXNtb2RpcywgIDMuIE5vdiAxOTk1LCAxMDoyOTowMSk6CiMhIHJuPU1haGF0bWEgcnQ9ODE1MzE2OTM5CkhtbSwgd29sbHQgaWhyIGRpZSBBbnphaGwgZGVyIFphdWJlcnRyYWVua2Ugb2RlciBudXIgZGllIEFuemFobCBkZXIKbW9lZ2xpY2hlbiBaYXViZXJ0cmFua3ZlcnN0ZWNrZSBpbiBlaW5lbSBHZWJpZXQgd2lzc2VuID8KQWJlciBpY2ggZ2xhdWJlLCBkYXMgVGhlbWEgd2lyZGUgc2Nob24gbWFsIGluIGRlciBNUEEgYWJnZWhhbmRlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbmdlbCBhbiBGYW50YXNpZT8gKEFzbW9kaXMsICAzLiBOb3YgMTk5NSwgMTA6MzE6NTUpOgojISBybj1JbHZlcyBydD04MTUzMzcxMjMKS2VpbmVyIGhpbmRlcnQgZGljaCwgZGVpbmUgTGlzdGUgd2VnenV3ZXJmZW4gdW5kIGF1ZiBlaWdlbmUgRmF1c3QKenUgc3VjaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElQLVp1Z2FuZyB6dSBNRz8gKEV0YWgsICAzLiBOb3YgMTk5NSwgMTA6Mzk6MjIpOgojISBybj1IYXIgcnQ9ODE1Mzg5NzYzCkVzIGdpYnQgZWluIEZyb250ZW5kLCBkYXNzIHNpY2ggR01VRDMyIG5lbm50LgpFcyBsYWV1ZnQgYWJlciBudXIgbWl0IGRlciBXaW4zMnMgRXJ3ZWl0ZXJ1bmcgdm9uIFdpbmRvd3Mgb2RlciBXaW45NS4KVW5kIGVzIGhhdCBlaW5lbiBCdWc6IFdlbm4gbWFuIGdhbnogc2NobmVsbCBoaW50ZXJlaW5hbmRlciBaZWlsZW4gZWludGlwcHQKbXVzcyBtYW4gZnVlciBuYWNoZm9sZ2VuZGUgWmVpbGVuIG1laHJtYWxzIEVudGVyIHRpcHBlbiwgZGFtaXQgZGFzCmVpbmdldGlwcHRlIGVuZGxpY2ggZHVyY2hrb21tdC4gc28gYWxzIG9iIGVzIGluIGVpbmVtIFB1ZmZlciBzdGVodC4KCkUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYW5nZWwgYW4gRmFudGFzaWU/IChFdGFoLCAgMy4gTm92IDE5OTUsIDEwOjQyOjM3KToKIyEgcm49QXNtb2RpcyBydD04MTUzOTExMTUKQWxzbyBpY2ggbWFjaCBtYWwgZWluZSBrbGVpbmUgUmVjaG51bmcgYXVmLi4uCkFuZ2Vub21tZW4gbWFuIGhhdCBjYSAxMCBEZXRhaWxzIHBybyBSYXVtIGFuenVzZWhlbiB1bmQgYnJhdWNoIGZ1ZXIgamVkZXMKRGV0YWlsIDEgTWludXRlIHVtIGVzIGluIGFsbGUgd2ljaHRpZ2VuIEtvbXBvbmVudGVuIHp1IHplcmxlZ2VuLgpEYW5uIGJyYXVjaCBtYW4gY2EuIDEwIG1pbiBmdWVyIGVpbmVuIFJhdW0uCkRhcyBtYWNodCBiZWkgMTEzMzMgemFlaGxiYXJlbiBSYWV1bWVuIDExMzMzMCBNaW51dGVuLCB3YXMgd2llZGVydW0KMTg4OCBTdHVuZGVuIHNpbmQgdW5kIGRhbWl0IGtvbW1lbiB3aXIgYXVmIDc4IFRhZ2UgdW0gZGFzIGdlc2FtdGUKTVVEIHp1IGR1cmNoc3VjaGVuLgpEYXp1IGtvbW1lbiBkYW5uIG5vY2ggZXR3YSA1MDAtMTAwMCBuaWNodHphZWhsYmFyZSB2aXJ0dWVsbGUgUmFldW1lLgoKRS4gKFNjaG9jaz8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYW5nZWwgYW4gRmFudGFzaWU/IChQYW1wZXJzLCAgMy4gTm92IDE5OTUsIDExOjMxOjUwKToKIyEgcm49SWx2ZXMgcnQ9ODE1MzM3MTIzCkVzIHN0ZWh0IGphIGplZGVtIGZyZWksIGRlciBsaWViZXIgb2huZSBMaXN0ZSBzdWNodCwga2VpbmUgenUgYmVudXR6ZW4uIDotKQpBYmVyIGFsbGdlbWVpbiB2b3J6dXNjaHJlaWJlbiwgZGFzcyBaVCBTdWNoZSBvaG5lIExpc3RlIG1laHIgU3Bhc3MgbWFjaHQsIGlzdApkb2NoIFVuZnVnLgpQYW1wZXJzIC0gaGF0IGF1Y2ggbnVyIGVpbmVuIFpUIGdlZnVuZGVuLCBkZXIgbmljaHQgaW4gZGVyIExpc3RlIHdhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjRHZXdpbm50IEhpZ2hzY29yZSAoQ3ltb25rLCAgMy4gTm92IDE5OTUsIDExOjM1OjM3KToKIyMgICAgICAgIyMjIyMgICAjIyAgICAgICMjCiMjICAgICAgIyMgICAgICAgIyMgICAgICAjIwojIyAgIyMgICMjICAgICAgICMjICAgICAgIyMKIyMjIyMjICAjIyAjIyMgICAjIyAgIyMgICMjCiAgICAjIyAgIyMgICAjIyAgIyMgICMjICAjIwogICAgIyMgICMjICAgIyMgICMjICAjIyAgIyMKICAgICMjICAgIyMjICMjICAgIyMjICAjIyMKCgpIdWJiYSEhCgpPYndvaGwgaWNoIGVzIGJpc2hlciBtaXQgQWJzaWNodCBuaWNodCBpbXBsZW1lbnRpZXJ0IGhhYmUsCmhhdCBkYXMgNEdld2lubnRzcGllbCBqZXR6dCBlaW5lIEhpZ2hzY29yZSBMaXN0ZS4KR2V3ZXJ0ZXQgd2lyZCBuYWNoIGRlciBBbnphaGwgZGVyIGdld29ubmVuIFNQaWVsZSwKdmVybG9yZW5lIHNvbGNoZSBhdWYuClZvcnJhdXNzZXR6dW5nIHNpbmQgbWluLiAxMCBiZXN0cml0dGVuZSBTcGllbGUuCgpieSh0KWUsIEN5TW9uawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKFJvY2h1cywgIDMuIE5vdiAxOTk1LCAxMjoyODoxMSk6CiMhIHJuPU5peGlob3UgcnQ9ODE1Mzg4NDEwCkRpZSBaVCBXRVJERU4gbmFjaCBTY2h3aWVyaWdrZWl0IGdlc3RhZmZlbHQgdmVyZ2ViZW4uCkVzIGdpYnQgOCBTY2h3aWVyaWdrZWl0c2dyYWRlIHVuZCBqZWRlbSBTcGllbGVyCndlcmRlbiAxMCBaVCB2b24gamVkZW0gU2Nod2llcmlna2VpdHNncmFkIHp1Z2V0ZWlsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiByZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoUGFyYWNlbHN1cywgIDMuIE5vdiAxOTk1LCAxMzoxMjoyMik6CiMhIHJuPVJvY2h1cyBydD04MTUzOTgwOTEKSGloby4KQWxzbyBJY2ggZmFuZCBkYW1hbHMgZGllIElkZWUgdm9uIFNpbHZhbmEgcmVjaHQgdG9sbCAodW5kIGF1Y2ggaGV1dGUgbm9jaCkuClZpZWxsZWljaHQgc29sbHRlIG1hbiBkYXMgU3lzdGVtIGF1ZiBkaWUgZWluemVsbmVuIFNjaHdpZXJpZ2tlaXRzZ3JhZGUKYWJzdGltbWVuLCBkLmguIHdlbm4gZWluIFNwaWVsZXIgMTAgWlRzIGRlcyBTY2h3aWVyaWdrZWl0c2dyYWRlcyAxIGdlZnVuZGVuCmhhdCwgZGFubiBpaXN0IGRhIFNjaGx1c3MsIGVyIG11c3MgYWxzIHdlbGNoZSBlaW5lcyBob2VoZXJlbiBTY2h3aWVyaWdrZWl0cy0KZ3JhZGVzIHN1Y2hlbi4gRGFtaXQgd2lyZCBkYW5uIHZlcmhpbmRlcnQsIGRhc3Mgc2ljaCBkZXIgU3BpZWxlciBtaXQKZWluZmFjaGVuIFpUcyBzZWluZSBTdGF0cyBob2Noc2V0enQsIHVuZCBlcyB3aXJkIHRyb3R6ZGVtIGV0d2FzIGVpbmZhY2hlciwKWlRzIHp1IGZpbmRlbi4KClBhcmFjZWxzdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKEN1Y2h1bGxpbiwgIDMuIE5vdiAxOTk1LCAxMzozNzoyNyk6CiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODE1NDAwNzQyCgpSb2NodXMgbWFsIG5lIEZyYWdlIGFtIFJhbmRlLi4uIEF1cyBkZXIgc2Nod2Vyc3RlbiBHcnVwcGUsIHdpZXZpZWwgUHJvemVudAphbGxlciBadHMgc2luZCB2b24gRGlyPyA6KQoKQ3VjaC4tIChuZXVnaWVyaWcgZ3JpbnNlbmQpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChaYXJkb3osICAzLiBOb3YgMTk5NSwgMTM6NDA6MjQpOgojISBybj1DdWNodWxsaW4gcnQ9ODE1NDAyMjQ3CkFsc28sIGljaCBoYWIgYmlzIGpldHp0IG51ciBaVHMgZGVyIHNjaHdlcnN0ZW4gR3J1cHBlIHByb2dyYW1taWVydC4uLgpXZXIgYmlldGV0IG1laHI/IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQyZDIChGYW51aWRob2wsICAzLiBOb3YgMTk5NSwgMTU6MDY6MjMpOgpDYXJhZGhyYXMgdW5kIENlbGViZGlsIHNpbmQgZ2VzcGVycnQgYmlzIDE0LjExLiBBYnNpY2h0bGljaC4KCiAgIGJ5ZSBieWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZSBTdGF0aXN0aWsgKEFzbW9kaXMsICAzLiBOb3YgMTk5NSwgMTU6MTY6MDMpOgpNYWwgbmUga2xlaW5lIFN0YXRpc3RpayB6dSBkZW4gUXVlc3RzLUVyc3Rsb2VzZXJuOgoKSmV3ZWlscyAzIGF1ZiBpaHJlbSBLb250byBoYWJlbjoKQ3VjaHVsbGluLCBSem5lIHVuZCBXb2Vsa2NoZW4KCkpld2VpbHMgMiBhdWYgaWhyZW0gS29udG8gaGFiZW46CkFzbW9kaXMsIEJvbmdvLCBGcmV1bmQsIEtvYmF5YXNoaSB1bmQgTWlzc0VsbGkKCkpld2VpbHMgMSBhdWYgaWhyZW0gS29udG8gaGFiZW46CkFiZGFsbGEsIEFzcmFoZWwsIEJhbGR1ciwgQmVybmhhcmQsIEJpbmcsIERhZywgRXJvcywgRmVsYWd1bmQsIEhhY2tmcmllZCwKSm9mKCEpLCBLYXNzYW5kcmEsIEtldG9zLCBLb3R6YnJvY2tlbiwgTHVwdXMsIE5hZGluZSwgU2FtbywgVHJlbW9yLCBUcm95LApUd2lzdGVyLCBXb2xsaSB1bmQgWmFyZG96CgpEYXMgZXJzdGUgUXVlc3QgZ2Vsb2VzdCBoYXQgSm9mKEFtYXJ5bGxpcykgYW0gMjIuIEphbnVhciAxOTkzIDE1OjA2IFVocgoKClF1ZWxsZW46IERpZSBMaXN0ZSBpbiBSeW5lcyBCYWxscGFyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmUgemF1YmVydHJhZW5rZSAoTWFuZ2VsIGFuIFBoYW50YXNpZSkgKEhhcmRpbCwgIDMuIE5vdiAxOTk1LCAxNjo1NDowMyk6CiMhIHJuPU1haGF0bWEgcnQ9ODE1MzI4NzA4CgpORUlOICEgTmljaHQgbmFjaCBTY2htYXJybiB2ZXJsZWdlbiEgRGFubiBtdXNzIGljaCBkYXMgamEgYWxsZXMgbm9jaG1hbCBhbHMKZ2VsZXNlbiBtYXJraWVyZW4hIDotKQoKLUhhcmRpbC4gTk5OLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFuZ2VsIGFuIEZhbnRhc2llPyAoSWx2ZXMsICAzLiBOb3YgMTk5NSwgMTg6MTM6MjUpOgojISBybj1Bc21vZGlzIHJ0PTgxNTM5MTExNQp3aXJrbGljaCB0b2xsLCB3YXMgZnVlciBzY2hsYXVlIEFudHdvcnRlbiBpY2ggaGllciBrcmllZ2UhICA6LSgKCkljaCB3dWVyZGUgZGllIExpc3RlIGdlcm4gd2Vnd2VyZmVuIC0gd2VubiBpY2ggZWluaWdlcm1hc3NlbiBzaWNoZXIKc2VpbiBrb2VubnRlLCBkaWUgWlQgdWFjaCBvaG5lIHp1IGZpbmRlbi4gQmlzbGFuZyBoYWJlIGljaCBuaWNodCBkZW4KRWluZHJ1Y2suCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWFuZ2VsIGFuIEZhbnRhc2llPyAoRmVsYWd1bmQsICAzLiBOb3YgMTk5NSwgMjI6MzM6NTcpOgojISBybj1JbHZlcyBydD04MTU0MTg4MDUKV29oZXIgaGF0IGVpZ2VudGxpY2ggZWluIGhvZmZudWdzdm9sbGVyIEFuZmFlbmdlciBlaW5lIFp0LUxpc3RlPz8KSWNoIGRhY2h0ZSwgaW4gZGVyIEtvcGZ6ZWlsZSBnZXNlaGVuIHp1IGhhYmVuLCBkYXNzIFJ5bmUgZGllIG5pY2h0bWVociBhbgpqZWRlbiB3ZWdnaWJ0Li4uCnNpY2ggd3VuZGVybmQuLi5GZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3J0LU51bW1lciB2b24gTUcgKElsdmVzLCAgNC4gTm92IDE5OTUsIDAxOjQyOjI4KToKS29lbm50ZSB2aWVsbGVpY2h0IGplbWFuZCBzbyBuZXR0IHNlaW4gdW5kIG1pciBkaWUgUG9ydG51bW1lcgp2b24gTUcgbmVubmVuPyBJbSBNVUQtRkFRIHN0ZWh0IG51ciBkaWUgSVAtQWRyZXNzZS4KClZpZWxlbiBEYW5rLCBJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvcnQtTnVtbWVyIHZvbiBNRyAoSWx2ZXMsICA0LiBOb3YgMTk5NSwgMDI6MTg6MDQpOgojISBybj1JbHZlcyBydD04MTU0NDU3NDgKU28sIGRhbmsgZGVyIHNwb250YW5lbiBIaWxmZSBtZWhyZXJlciBMZXV0ZSBsYWV1ZnQgbWVpbiBGcm9udGVuZCBqZXR6dC4KVmllbGVuIERhbmshCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS25vcGYgaW4gZGVyIFBvc3QgKElsdmVzLCAgNC4gTm92IDE5OTUsIDE0OjA0OjMzKToKV28gaXN0IGRlbm4gZGVyIEtub3BmIGdlYmxpZWJlbj8gSWNoIGZhbmQgaWhuIGVjaHQgd2l0emlnLgoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIFphdWJlcnRyYWVua2UgKEhhbmRpLCAgNC4gTm92IDE5OTUsIDE2OjAyOjIxKToKWnVtIFRoZW1hIFphdWJlcnRyYWVua2U6CldhcyBoYWx0ZXQgaWhyIGRhdm9uICwgZGFzIG1hbiBmdWVyIGRpZSBMb2VzdW5nIHZvbiBRdWVzdHMgZGllIHVuZ2VmYWVyZW4KU3RhbmRvcnRlIGVpbmlnZXIgKGRpZSBBbnphaGwga2FubiB2b20gU2Nod2llcmlna2VpdHNncmFkIGRlciBRdWVzdCBhYmhhZW5naWcKZ2VtYWNodCB3ZXJkZW4pIFphdWJlcnRyYWVua2UgYWxzIEJlbG9obnVuZyBiZWtvbW10LiBEYXMgd3VlcmRlIGVyc3RlbiBlaW5lCkVybGVpY2h0ZXJ1bmcgYmVpbSBTdWNoZW4gdm9uIHphdWJlcnRyYWVua2VuIHNlaW4gdW5kIHp3ZWl0ZW5zIGF1Y2gKU3BpZWxlcixkaWUgbmljaHQgbWVociBpbiBkZXIgQWJlbnRldWVyZ2lsZGUgc2luZCx3aWVkZXIgenVtIExvZXNlbgp2b24gUXVlc3RzIGVybXVudGVybi4KCgpIYW5kaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvcnQtTnVtbWVyIHZvbiBNRyAoS2V0b3MsICA0LiBOb3YgMTk5NSwgMTg6MzU6MjApOgojISBybj1JbHZlcyBydD04MTU0NDU3NDgKRGllIFBvcnRudW1tZXIgdm9uIE1vcmdlbmdyYXVlbiBpc3QgdWViZXJmbHVlc3NpZywgZGEgZGFzIE11ZCBhdWYgUG9ydCAyMwptaXRob2VydC4gUG9ydCA0NzExIHR1dCBhdWNoIG5vY2ggOikKQWJlciBsYW5nZW4gdHV0IGVpbiB0ZWxuZXQgbWcudW5pLW11ZW5zdGVyLmRlCi0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQb3J0LU51bW1lciB2b24gTUcgKE9scHAsICA1LiBOb3YgMTk5NSwgMDA6MzU6MjMpOgojISBybj1LZXRvcyBydD04MTU1MDY1MjAKTWFuY2hlIEZyb250ZW5kcyB2ZXJsYW5nZW4gZ3J1bmRzYWV0emxpY2ggZWluZSBwb3J0bnVtbWVyLi4KCk9scHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBvcnQtTnVtbWVyIHZvbiBNRyAoTWF0ZWVzZSwgIDUuIE5vdiAxOTk1LCAyMDozMToyMyk6CiMhIHJuPU9scHAgcnQ9ODE1NTI4MTIzCkRhbm4gZ2lidCBtYW4gaGFsdCAyMyBhbHMgUG9ydG51bW1lciBhbi4KIC0tIE1hdGVlc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiByZSB6YXViZXJ0cmFlbmtlIChNYW5nZWwgYW4gUGhhbnRhc2llKSAoU2lsdmFuYSwgIDYuIE5vdiAxOTk1LCAwNzozMDoyOSk6CiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODE1NDAwNzQyCkRhcyBTeXN0ZW0sIGRhc3MgaWNoIGRhbWFscyBhdXMgWWFudHJvcyBJZGVlIGVudHdpY2tlbHQgaGF0dGUsIHdhciBkdXJjaGF1cwphbiB1bnRlcnNjaGllZGxpY2hlIFNjaHdpZXJpZ2tlaXRza2xhc3NlbiBhbmdlcGFzc3QuIEVzIGhhZXR0ZSBuaWNodHMgYW0KUG90aW9ubWFzdGVyIG9kZXIgZGVuIHNhdmVmaWxlcyBldGMgdmVyYWVuZGVydC4gTnVyIC9zdGQvcGxheWVyL3BvdGlvbgp3YWVyZSBldHdhcyBsYWVuZ2VyIGdld29yZGVuLiBEYXMgUHJvYmxlbSBsYWcgZGFtYWxzIGltIHdlc2VudGxpY2hlbgppbiBkZW0gZXR3YXMgZXJob2VodGVuIFNwZWljaGVyYmVkYXJmIHBybyBTcGllbGVyLiBBbGxlcmRpbmdzIGVpbmUKS2xlaW5pZ2tlaXQgZ2VnZW4gZWluZW4gZWlubWFsaWdlbiBFaW50cml0dCBpbiBkaWUgS2FyYXRlLUdpbGRlLi4uCipSb2NodXMgenV6d2lua2VyKiBHZXN0b3JiZW4gaXN0IGRhcyBnYW56ZSBkYW5uIGFuIG1hbmdlbG5kZXIgQmVnZWlzdGVydW5nCnNlaXRlbnMgZGFzIEVyem1hZ2llciBkYXMgZ2FuemUgYXVjaCBub2NoIHp1IHByb2dnZW4uIEljaCBoYWV0dGUgZGFzIGRhbWFscwp3b2hsIGthdW0gaGluYmVrb21tZW4uCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQyZDIChQcmEsICA2LiBOb3YgMTk5NSwgMTc6NDM6NDUpOgojISBybj1GYW51aWRob2wgcnQ9ODE1NDA3NTgzCkhpIQoKRGFzIG1pdCBkZW0gKGFic2ljaHRsaWNoZW4pIFNwZXJyZW4gdm9uIENoYXJha3RlcmVuIGlzdCBlaW5lIHNlaHIgc2lubnZvbGxlClNhY2hlIC0gd3VlcmRlIG1laW5lbSBiZXJ1ZmxpY2hlbiBXZXJkZWdhbmcgenVndXRlIGtvbW1lbiwgdW5kIGVpbmlnZW4KYW5kZXJlbiwgZGllIGljaCBrZW5uZSwgYXVjaC4KS29lbm50ZSBtYW4gbmljaHQgZWluZW4gQmVmZWhsICdrb21hIGJpcyA8RGF0dW0+JyBlaW5mdWVocmVuLCBtaXQgcGFzc3dvcnQKQWJmcmFnZSB1bmQgc28/CkFsc28gbWVpbmUgUHJvZnMgd3VlcmRlIGRhcyBmcmV1ZW4uLi4KQWNoIC0gZ2Vob2VydCBqYSBlaWdlbnRsaWNoIGluIEVudHdpY2tsdW5nIC0gYWVoLCB3aWUgZ2luZyBkYXM/CkdydXNzLCBQcmEgKG11c3MgamV0enQgYXVmaG9lcmVuLCBzZWluIERhZW1vbiBtZWxkZXQgc2ljaCBnZXJhZGUuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEMmQyAoRnl0LCAgNi4gTm92IDE5OTUsIDE3OjQ5OjI5KToKIyEgcm49UHJhIHJ0PTgxNTY3NjIyNQpIbSwgZWlnZW50bGljaCBpc3QgZGFzIG5lIGd1dGUgSWRlZSBmdWVyIHVucyBTdWNodGllcy4gRGFubgpicmF1Y2ggbWFuIGF1Y2ggbmljaHQgaXJnZW5kd2VsY2hlIE1hZ3MgYmVzY2h3YXR6ZW4gdW0gc2ljaAptYWwgJ24gcGFhciBUYWdlIHNwZXJyZW4genUgbGFzc2VuIHVuZCBtYW4ga2FubiBhdWNoIG5pY2h0CnNvIGxlaWNodCAnc2Nod2FjaCB3ZXJkZW4nLgoKRnl0LCBzY2h3YW5rdCB6d2lzY2hlbiBIeWRyYSB1bmQgRGlwbG9tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHJlIHphdWJlcnRyYWVua2UgKE1hbmdlbCBhbiBQaGFudGFzaWUpIChKZXJyaWNvLCAgNi4gTm92IDE5OTUsIDE4OjIzOjUzKToKIyEgcm49UGFyYWNlbHN1cyBydD04MTU0MDA3NDIKd2VubiBtaWNoIG5pY2h0IGFsbGVzIHRhZXVzY2h0LCBpc3QgZGFzIGRvY2ggc28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmUgWmF1YmVydHJhZW5rZSAoSmVycmljbywgIDYuIE5vdiAxOTk1LCAxODoyNTozOCk6CiMhIHJuPUhhbmRpIHJ0PTgxNTQ5NzM0MQpnaWJ0cyBkb2NoIGF1Y2ggc2Nob24gYmVpIGRlciBvcmtlbmhvcnQtcXVlc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEMmQyAoQXJhbnlhLCAgNy4gTm92IDE5OTUsIDEzOjEzOjI2KToKIyEgcm49Rnl0IHJ0PTgxNTY3NjU2OQpVbmQgZGFubiBuZSBNZWxkdW5nIGluIGRpZSBaZWl0dW5nIChhZWhubGljaCB3aWUgTWFnaWVyLnVybGF1Yik6CkRlciBTcGllbGVyL1NlaGVyL01hZ2llci9Hb3R0IDxuYW1lPiBpc3QgYmlzIHp1bSA8ZGF0dW0+IGluIGVpbiBLb21hIGdlZmFsLQpsZW4uCk9kZXIgYWxzIGVjaHRlcyBBZXJ6dGVidWlsbGV0aW4uIEphIQpBcmFueWEKICAgICAgIGZyZXV0IHNpY2ggZHJhdWYKICAgICAgICAgICAgICAgICAgICAgIE5OTgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldSBpbSBCYWxscGFyayAoQm9pbmcsICA3LiBOb3YgMTk5NSwgMTU6MDk6MzApOgojISBybj1SeW5lIHJ0PTgxNTMzODg1OQpIYWV0dGUgZXIgbmljaHQgdHVuIG11ZXNzZW4sIGRhcyBoYXR0ZSBpY2ggbmFlbWxpY2gga3VlcnpsaWNoIGF1Y2gKc2Nob24gbWFsIGdlbWFjaHQgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmUgU3RhdGlzdGlrIChCb2luZywgIDcuIE5vdiAxOTk1LCAxNToxNjo0OCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE1NDA4MTYzCkFsc28gaWNoIGhhYiBtaW5kZXN0ZW5zIDQgUXVlc3QtRXJzdGxvZXN1bmdlbiAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmUgU3RhdGlzdGlrIChDdWNodWxsaW4sICA3LiBOb3YgMTk5NSwgMTU6MTg6MDUpOgojISBybj1Cb2luZyBydD04MTU3NTM4MDgKCk5lZSwgQm9pbmcsIHNhZW10bGljaGUgYWxzIFp3ZWl0c3BpZWxlciBiZWthbm50ZSBDaGFyYWt0ZXJlIHd1cmRlbiBhdXMgZGVyCkxpc3RlIGdlbm9tbWVuLiBBdWNoIERlaW5lci4KCkdyaW5zZW5kLApDdWNoLi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsZWluZSBTdGF0aXN0aWsgKEJvaW5nLCAgNy4gTm92IDE5OTUsIDE1OjIxOjM3KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxNTc1Mzg4NQpJY2ggZGFjaHRlIGVpZ2VudGxpY2ggYW4gZGllIFF1ZXN0cywgZGllIGljaCBzZWxic3QgcHJvZ3JhbW1pZXJ0IGhhYmUsCnNpbmQgZ2VuYXUgNCAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFycnkgaW52YXNpb24gKFB0ZXBwaWMsICA4LiBOb3YgMTk5NSwgMDg6MjM6NTkpOgoKSGFycnlhLi4uLi4uLi4uLnMgIEhhcnJ5Yi4uLi4uLi4uLi5zICBIYXJyeWMuLi4uLi4uLi4ucyAgSGFycnlkLi4uLi4uLi4uLnMKSGFycnllLi4uLi4uLi4uLnMgIEhhcnJ5Zi4uLi4uLi4uLi5zICBIYXJyeWcuLi4uLi4uLi4ucyAgSGFycnloLi4uLi4uLi4uLnMKSGFycnlpLi4uLi4uLi4uLnMgIEhhcnJ5ai4uLi4uLi4uLi5zCgp2b24gbWludXRlIHp1IG1pbnV0ZSB3ZXJkZW5zIG1laHIuLi4gZGFyZiBtYW4gZGEgd2VsY2hlIGF1c2xvZ2dlbj8KOikKClB0RVBQaUMKCm9kZXIgemFwcGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYW4gYnVjaCB6YXViZXJ0cmFuayAoQW5kcmVzLCAgOC4gTm92IDE5OTUsIDE2OjEyOjA3KToKaWNoIGJyYXVjaGUgemF1YmVydHJhbmsud28gZmluZGUgaWNoIHNpZSBkZW5uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuIGJ1Y2ggemF1YmVydHJhbmsgKExhcmllbCwgIDguIE5vdiAxOTk1LCAxOToyMDo1NCk6CiMhIHJuPUFuZHJlcyBydD04MTU4NDM1MjcKQmVzb3JnIGRpciBuZSBaVC1MaXN0ZSEKCkhpbGZyZWljaCwgTGFyaWVsIGRlciBLYWVtcGZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGV2ZWwgdW5kIFF1ZXN0cyAoUm9lc3RpLCAgOC4gTm92IDE5OTUsIDIxOjI0OjE1KToKV2FzIGhhYmVuIGJpdHRlIExldmVsYW5nYWJlbiBpbiBNZXR6ZWxxdWVzdHMgenUgc3VjaGVuPwpEaWUga2FubiBqYSBhdWNoIGVpbiBBbmZhZW5nZXIgTG9lc2VuIHdlbm4gZXIgZGFzIEdsdWVjayBoYXQgZ2VudWcgWlQncyB6dQpmaW5kZW4gLi4uCkFsc28gaWNoIGZpbmRlIGVzIG5ldCBzbyBkb2xsIGRhcyBtYW5uIG51ciB1bSBuZSBRdWVzdGUgenUgbG9lc2VuIGRpZSBhdWNoCm5vY2ggbmV0dCBnZXNjaHJpZWJlbiBpc3QgKFRhcmtvIHJldWIgdW5kIGFuZGVyZSApIHRhZ2UgdW5kIHN0dW5kZW5sYW5nIGR1cmNocwpNdWQgbGF1ZmVuIHNvbGwgbnVyIHVtIG1laW5lIFN0YXRzIGhvY2h6dXBvd2Vybi4uLgpXaWUgd2FlcmUgZXMgd2VubiBtYW5uIGR1cmNoIG5ldHRlIFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZSBtaXQgZWluZW0gSGlud2VpcwphdWYgZGVuIG5hZWNoc3RlbiBaVCBCZWxvaG50IHd1ZXJkZT8KClJvZXN0aSBtYWcgbmljaHQgbWVociBuYWNoIGRlciBaVCBMaXN0ZSB2b3JnZWhlbi4uLkRhcyBpc3QgZWlnZW50bGljaCB6dQpsYW5nd2VpbGlnLi4uCgpSb2VzdGkgbWFnIGFiZXIgYXVjaCBuaWNodCBpbW1lciBhdWYgc2VpbmVtIExldmVsIGJsZWliZW4uLi4oSXJnZW5kd2FubiB3ZXJkZQppY2ggZGllIGdyb3NzZW4gRGFlbW9uZW4gYXVjaCBiZXNjaHdvZXJlbjopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKEplcnJpY28sICA4LiBOb3YgMTk5NSwgMjI6MTY6NTApOgpJY2ggZ2xhdWJlLGRhc3MgZGFzIExhZWRlbi0gdW5kIEdlbGRzeXN0ZW0gbm9jaCBuaWNodCBzbyBhdXNnZXJlaWZ0IGlzdCwKZGFzcyBlcyBhdWNoIGVpbmlnZXJtYXNzZW4gZnVua3Rpb25pZXJ0LCB3ZW5uIGRpZSB1cHRpbWUgbWFsIDUwIFRhZ2UKdWViZXJzY2hyaXR0ZW4gaGF0LgpNaXR0bGVyd2VpbGUgd2FyIGljaCBpbiAxMiBMYWVkZW4gZGllIGJhbmtyb3R0IHNpbmQsIGphamEgaWNoIHdlaXNzLGRhc3MgZXMKZWluZW4gaGF1ZmVuIExhZWRlbiBnaWJ0LCBtYW4ga2FubiBqYSBiYWxkIHNhZ2VuIGluIGplZGVtIG5ldWVuIEdlYmlldCBnaWJ0cwphdWNoIGVpbmVuIExhZGVuLCBudXIgbGVpZGVyIHNpbmQgZGllIG1laXN0IG51ciBzZWhyIHNjaGxlY2h0IHp1IGVycmVpY2hlbiwKZ2FueiBiZXNvbmRlcnMgZnVlciBTcGllbGVyIHVudGVyIExldmVsIDIwLCBkaWUgc2ljaCB2aWVsbGVpY2h0IG1hbCBzY2huZWxsCmV0d2FzIEdlbGQgZnVlcnMgS2FyYXRlLVRyYWluaW5nIGJlc29yZ2VuIHdvbGxlbi4KTmFqYSB2aWVsbGVpY2h0IGVyYmFybXQgc2ljaCBtYWwgZWluZXIsIHVuZCBicmluZ3QgZGFzIE11ZCB6dW0gQWJzdHVyei4KCkVpbiBmYXN0IHZvZWxsaWcgdmVyYXJtdGVyIEplcnJpY28sIGRlc3NlbiBTa3JpcHRlIG51ciBmdW5rdGlvbmllcmVuIHdlbm4gZXIKZ2VudWcgR2VsZCBoYXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYWVkZW4sIEdlbGQgdW5kIFVwdGltZSAoRmFudWlkaG9sLCAgOC4gTm92IDE5OTUsIDIzOjEzOjE3KToKIyEgcm49SmVycmljbyBydD04MTU4NjU0MTAKSm8sIGhhdCBtaWNoIHZvcmhpbiBhdWNoIGdld3VuZGVydC4gSWNoIHdhciBpbiBOaWJlbGhlaW0sIGRlciBoYXR0ZQpiZWkgZGVuIGVyc3RlbiBTY2h3ZXJ0ZXJuIG5vY2ggd2VpdCBtZWhyIGFscyAxMDAwIGJlemFobHQuIE5hY2ggNQpNaW51dGVuIGJ6dy4gMjAgU2FjaGVuIHdhciBlciB0b3RhbCBwbGVpdGUuIE1laW5lciBFcmZhaHJ1bmcgbmFjaAp3ZWl0YXVzIHNjaG5lbGxlciBhbHMgenUgZWluZXIgZnJ1ZWhlcmVuIFJlYm9vdHplaXQgZGllIGFuZGVyZW4KTGFlZGVuLgoKIEZhbnVpZGhvbD8gT2RlciBNaW5kb2xsdWluPyAqZ3J1ZWJlbCogS2VpbmUgQWhudW5nLCBDYXJhZGhyYXMgaGFsdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdW5kIHRzY2h1ZXNzICAoUnluZSwgIDkuIE5vdiAxOTk1LCAwMToyNzo1OSk6CkhpLAoKbmFjaGRlbSBkaWUgYWxsZ2VtZWluZSBCZWx1c3RpZ3VuZyB1ZWJlciBtZWluZW4gbGV0enRlbiBUb2QgZWluIHdlbmlnIGFiZ2UtCmtsdW5nZW4gaXN0LCB3aWxsIGljaCBzaWUgZG9jaCBub2NobWFsIGVpbiB3ZW5pZyBhbmZhY2hlbi4KWnVtIFNhY2h2ZXJoYWx0OiBJY2ggZ2VoZSBtaXQgMjIycHAgZXBzIGluIGRpZSBTY2hsdWNodCBiZWkgSGFra2lra3RzCk1hcmF0YXNlbmRvcmYsIHVtIGRpZSBnZW5hdWUgU2NobmFwc3phaGwgenUgZXJyZWljaGVuLCBkYW1pdCBpY2ggZGFtaXQgZGFzClNjaHdlcnQga3JpZWdlOyBhdWYgZGVtIFJ1ZWNrd2VnIG11c3MgbWFuIGRhYmVpIGVpbmUgV2FuZCB3aWVkZXIgaG9jaC0Ka2xldHRlcm4sIGJlaSBkZXIgZXMgU3RlbGxlbiBnaWJ0IGFuIGRlbmVuIG1hbiBtaXQgJ2hvaGVyJyBiencuICduaWVkaXJnZXInCndhcnNjaGVpbmxpY2hrZWl0IGFic3R1ZXJ6dC4gTWVociBpc3QgZnVlciBlaW5lbiBTcGllbGVyIGRvcnQgYWxzIFdhcm51bmcKbmljaHQgZ2VnZWJlbi4gTGVpZGVyIHN0ZWxsdCBzaWNoIGRhYmVpIGhlcmF1cywgZGFzcyBtYW4gYW4gZGVuIFN0ZWxsZW4gbWl0CmhvaGVyIFdhcnNjaGVpbmxpY2hrZWl0IFdFTk4gbWFuIGFic3R1ZXJ6dCBlaW4gVmllbGZhY2hlcyBhbiBMUCB2ZXJsaWVydCwgYWxzCmFuIGRlbiBhbmRlcmVuLiBVbmQgendhciBvaG5lIFdhcm51bmcuIFVuZCBvaG5lIGVyc2ljaHRsaWNoZW4gR3J1bmQuCk9obmUgU2lubiB1bmQgVmVyc3RhbmQuCgpPZmZlbnNpY2h0bGljaCBoYWJlbiB3aXIgdW50ZXIgZGVuIE1hZ2llcm4gaW4gbGV0enRlciBaZWl0IGVpbmUgenVuZWhtZW5kZQpaYWhsIHNvbGNoZXIsIGRpZSBtZWluZW4sIGRhc3MgaWhyIGVpbnppZ2VzIFByb2dyYW1taWVyemllbCBkYXJpbiBiZXN0ZWh0LApTcGllbGVyIG1vZWdsaWNoc3Qgc3R1bXBmIHVuZCBvaG5lIG9kZXIgbWl0IHdpcnJlciBXYXJudW5nIHVtenVicmluZ2VuIHp1Cm11ZXNzZW4uIEljaCBlcmlubmVyZSBtaWNoIGRhYmVpIGR1bXBmIGFuIGVpbiBIYXVzIGltIFdhbGQsIHdvIG1hbiBzaWNoCidMZWJlbiwgTGllYmUsIEdsdWVjaywgVG9kJyB1bmQgd2FzIHdlaXNzIGljaCB3dWVuc2NoZW4ga2Fubi4gSWNoIGhhYmUgZGllc2VzCkhhdXMgYWxzIGVyc3RlciBlcmZvcnNjaHQsIHVuZCBkYWJlaSBhbGxlcyBhdXNwcm9iaWVydCwgYXVzc2VyIFRvZC4gTmllCnBhc3NpZXJ0ZSBldHdhcywgdGVpbHdlaXNlIGthbSBzb2dhciBudXIgZWluICd3aWUgYml0dGU/JyBBYmVyIHdlciBoYWV0dGUgZXMKZ2VkYWNodCA/IE5hdHVlcmxpY2gga2FubiBtYW4gc2ljaCBkb3J0IG1pdCB3dWVuc2NoZSBUb2QgYXVjaCBzZWxic3QKdW1icmluZ2VuLiBXYWhuc2lubmlnIHN0aW1tdW5nc3ZvbGwgdW5kIGVpbmZhbGxzcmVpY2ggc293YXMuIEhhZXR0ZSBpY2gKZGllc2VzIEhhdXMgbmljaHQgbWl0IGVpbmVtIFp3ZWl0aSwgc29uZGVybiBhbHMgUnluZSBlcmZvcnNjaHQsIGhhZXR0ZSBpY2gKZGllc2VuIFplaXR1bmdzYXJ0aWtlbCB3b2hsIHNjaG9uIGRhbWFscyBnZXNjaHJpZWJlbi4gU28ga29tbXQgZXIgaGFsdCBqZXR6dAptaXQgZGllc2VyIFNhY2hlIGJlaSBIYWtraWtrdC4KCk51biwgZ2VnZW4gc29sY2hlIE1hZ2llciB1bmQgaWhyZSB3dW5kZXJ2b2xsZW4gQmVpdHJhZWdlIHp1IHVuc2VyZW0gTXVkIGthbm4KaWNoIG1pY2ggYWxzIFNwaWVsZXIgbmljaHQgd2VocmVuLCBhYmVyIGljaCBrYW5uIGRlbiB2ZXJhbnR3b3J0dW5nc3ZvbGxlbgpNYWdpZXJuIGFucyBIZXJ6IGxlZ2VuLCBzaWNoIG1hbCB6dSBmcmFnZW4sIG9iIHNvbGNoZSBEaW5nZSBpbiBpcmdlbmRlaW5lcgpGb3JtIGRhenUgZ2VlaWduZXQgc2luZCwgZGVuIFNwaWVsc3Bhc3MgenUgaGViZW4uCgpXZXIgU3BpZWxlciB1bWJyaW5nZW4gd2lsbCwgZGVyIHNvbGwgaW50ZWxsaWdlbnRlIE1vbnN0ZXIgd2llIFdlZ2hpZXIgdW5kCkh5ZHJhIHNjaHJlaWJlbi4gRG9ydCBtYWNodCBlcyBTcGFzcyB6dSBzcGllbGVuLCB1bmQgaWNoIGdsYXViZSBrYXVtLCBkYXNzCnNpY2ggaXJnZW5kamVtYW5kIHNjaG9ubWFsIGdlYWVyZ2VydCBoYXQsIHZvbiBkZXIgSHlkcmEgemVybGVndCB3b3JkZW4genUKc2Vpbi4KCkFuc29uc3RlbiBibGVpYnQgZnVlciBtaWNoIG51ciBkYXMgRmF6aXQsIGRhc3MgZXMgbWlyIGltIG1vbWVudCBrZWluZXJsZWkKU3Bhc3MgbWFjaHQsIGVpbmVuIHBlcnNvZW5saWNoZW4gQmVpdHJhZyB6dSBkaWVzZW0gTXVkIHp1IGxlaXN0ZW4uIERlc2hhbGIKc2luZCBtZWluIEhhdXMgdW5kIGRhbWl0IGRlciBadWdhbmcgenUgU2VoZXJGQVEsIEthcmF0ZWJ1Y2ggdW5kIFF1ZXN0a3VnZWwKZXJzdG1hbCBmdWVyIDQgV29jaGVuIGdlc3BlcnJ0LiBGYWxscyBkYXMgaXJnZW5kZWluZW4gbmVydnQsIGthbm4gZXIgc2ljaCBqYQp2aWVsbGVpY2h0IHp1IGRpZXNlbSBUaGVtYSBzZWluZSBHZWRhbmtlbiBtYWNoZW4sIGFuc29uc3RlbiBkYXJmIGVyIHNpY2ggYXVjaApnZXJuZSB1ZWJlciBtZWluZSBpbmZhbnRpbGUgUmVha3Rpb24gd2VpdGVyIGJlbHVzdGlnZW4uCgpSeW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW5kIHRzY2h1ZXNzICAoRnl0LCAgOS4gTm92IDE5OTUsIDAxOjM3OjUxKToKIyEgcm49UnluZSBydD04MTU4NzY4NzkKQWNoIGphLi4uIGljaCBsZXMgZ2VyYWRlIFJ5bmVzIEFydGlrZWwgdW5kIGJpbiBpbiBhZWhubGljaGVyClNUaW1tdW5nLCBhdWNoIHdlbm4ncyBiZWkgbWlyIHdpZWRlciBkaWUgSHlkcmEgd2FyLCB1bmQgZXMgbmF0dWVybGljaAptZWluZSBlaWdlbmUgU2NodWxkIHdhci4uLiBBYmVyIG5hY2ggZGVtIFZlcmxvcmVuZW4gTGFuZCBpc3NlcwptaXIgYXVjaCBzY2hvbiBob2NoZ2Vrb2NodC4uLgo6Ck5hamEsIGVpbmVuIGV0d2FzIHdpcnJlbiBCZWl0cmFnIHp1bSBsZXR6dGVuIEJlc3VjaCB2b24gVGFudGUKSHlkcmEgaGFiIGljaCBuYWNoICBzY2htYXJybiBnZXNjaHJpZWJlbiwgd2VpbCBpY2ggZGVuIEVpbmRydWNrCmhhdHRlLCBkYXMgZXIgZG9ydCBhbSBiZXN0ZW4gYXVmZ2Vob2JlbiBpc3QuIE51biBoYWJlbiBlaW5pZ2UKTGV1dGUsIGRpZXMgbS5FLiBkb2NoIGludGVyZXNzaWVyZW4ga29lbm50ZSwgc2NobWFycm4gbmljaHQKYWJvbm5pZXJ0Li4gZGVzaGFsYiBkaWVzZXIgVmVyd2VpcyAodW5kIHdpZWRlciBlaW4gZ3V0ZSBUYXQgZ2VnZW4KTk5hZFcgOnwgKQo6CkZ5dC4gRnJ1c3RyaWVydCBpcmdlbmR3aWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW5kIHRzY2h1ZXNzICAoQW5ha2luLCAgOS4gTm92IDE5OTUsIDEwOjQ2OjI4KToKIyEgcm49UnluZSBydD04MTU4NzY4NzkKSGV5IFJ5bmUsIGdlbmF1IGFuIGRlbSBUZWlsIGJpbiBpY2ggYXVjaCBnZXN0b3JiZW4sIGFscyBpY2ggdmVyc3VjaHRlCmF1ZiBkZW4gRVAgZ2VuYXVzbyB2aWVsZSBFUCdzIHp1IGhhYmVuIHdpZSBTdGFobGRvcm4uIEVpbmZhY2ggaG9jaCB1bmQKTGFycyBrYW0sIGRhYmVpIGhhdHRlIGljaCBhdWNoIHNvd2FzIHdpZSAxODBMUCBnbGF1YiBpY2guCgpBbmFraW4uCgpQLlMuOiBTZWl0IGRlbSBoYWIgaWNoIG1pciBrZWluIFNjaHdlcnQgbWVociBnZWhvbHQsIHdhciBtaXIgZGFubiBkb2NoCnp1IHNjaGFkZSB1bSBkaWUgRVAncy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdW5kIHRzY2h1ZXNzICAoUm9hZHJ1bm5lciwgIDkuIE5vdiAxOTk1LCAxMjozMDoxNCk6CiMhIHJuPUFuYWtpbiBydD04MTU5MTAzODgKaG1tbSAtIGRhIGdpYnRzIGRvY2ggbm9jaCBFSU5FIGFuZGVyZSBzdGVsbGUgYmVpIGRlciBtYW4gc2ljaCBnZXppZWx0IGVwcwphYnppZWhlbiBsYXNzZW4ga2FubiAtIG5pY2h0IHNvIHdpZSBkaWUgc2NobHVjaHQgKGtlbm5lIGRhcyB0ZWlsIG5pY2h0KSBhYmVyCmRvY2ggYXVzcmVpY2hlbmQgc2NobmVsbCBkZW5rZSBpY2guIGlzdCBhYmVyIGVpbiBldHdhcyBncm9lc3NlcmVyICh6ZWl0bGljaGVyKQphdWZ3YW5kCgkJCQkJCVJvYWRydW5uZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVuZCB0c2NodWVzcyAgKEplcnJpY28sICA5LiBOb3YgMTk5NSwgMTI6MzE6MDgpOgojISBybj1Sb2FkcnVubmVyIHJ0PTgxNTkxNjYxNApJc3QgZGFzIGluIGRlciBOYWVoZSBtZWluZXMgaGF1c2VzID8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHVuZCB0c2NodWVzcyAgKEZhbnVpZGhvbCwgIDkuIE5vdiAxOTk1LCAxMzowNjozOSk6CiMhIHJuPUplcnJpY28gcnQ9ODE1OTE2NjY4CkhtbSwgaWNoIGtlbm5lIGRpZSBTY2hsdWNodCBqYSBhdWNoLCB1bmQgaWNoIGhhYmUgc2Nob24gbGFuZ2UgZGllCldhcm51bmcgYmVrb21tZW4sIGRhc3MgbWFuIGFuIGRlciBTdGVsbGUgaG9jaGtsZXR0ZXJuIG11c3Mgd28gbWFuIGF1Y2gKcnVudGVya2FtLiBBbHMgaWNoIGRhcyBvZWZ0ZXJzIG1hbCBnZXRlc3RldCBoYWJlIG1pdCBDYXJhZGhyYXMgaGFiZSBpY2gKbWF4aW1hbCAxMzUgSFAgdmVybG9yZW4gYmVpbSBBYnN0dXJ6LiBCaXN0IGR1IGFuIGVpbmVyIGFuZGVyZW4gU3RlbGxlCmhvY2hnZWtsZXR0ZXJ0IGFscyBkYSB3byBkdSBydW50ZXJrYW1zdD8gKmdydWViZWwqIE9kZXIgd2FyIGVzIG51cgpadWZhbGwgZGFzcyBpY2ggZGFtYWxzIG5pY2h0IG9lZnRlcnMgZ2VzdG9yYmVuIGJpbiBkb3J0PwpGcmFnZW4sIGRpZSB3b2hsIG51ciBNYWdpZXIgYmVhbnR3b3J0ZW4ga29lbm5lbi4KCiAgICAgVXNlIHRoZSBzb3VyY2UgICAgICAgICAgIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdW5kIHRzY2h1ZXNzICAoUnluZSwgIDkuIE5vdiAxOTk1LCAxMzowNzoyNCk6CiMhIHJuPVJvYWRydW5uZXIgcnQ9ODE1OTE2NjE0Ck1hZyBqYSBzZWluLCBhYmVyIGRhcyBnZWh0IGFtIFB1bmt0IHZvcmJlaS4gTWlyIGdlaHQgZXMgc2NobGljaHQgZGFydW0sIGRhc3MKaW1tZXIgbWVociBNYWdpZXIgbWVpbmVuLCBTcGllbGVybiBtb2VnbGljaHN0IHN0dW1wZmUgRmFsbGVuIHN0ZWxsZW4genUKbXVlc3NlbiB1bmQgc2ljaCBkYXJhbiBhdWZnZWlsZW4sIGRhc3Mgc2llIGRpZSBGYWxsZSBwcm9ncmFtbWllcnQgaGFiZW4sIGRpZQpkZW4gU3BpZWxlcm4gYW0gbWVpc3RlbiBFUCBhYmdlem9nZW4gaGF0LiBBbmRlcnMgc2luZCBzbyBzaW5ubG9zZSBTYWNoZW4gd2llCmRpZSBTY2hsdWNodCwgZGVyIFRvZGVzcmF1bSB1bmQgRmlzdGFydGkgVGhha3RhdCBvZGVyIHdpZSBkZXIgRGVwcCBoZWlzc3QsIG1pcgpuaWNodCB6dSBlcmtsYWVyZW4uCgpVbmQgZXMgdmVyZGlyYnQgbWlyIGVpbmZhY2ggZGVuIFNwYXNzIGFtIFNwaWVsLCB3ZW5uIG1hbiByZWdlbG1hZXNzaWcgYXVmCnNvbGNoZSBTYWNoZW4gc3RvZXNzdC4KClJ5bmUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB1bmQgdHNjaHVlc3MgIChSeW5lLCAgOS4gTm92IDE5OTUsIDEzOjA5OjUzKToKIyEgcm49RmFudWlkaG9sIHJ0PTgxNTkxODc5OQpLZWluZSBGcmFnZSwgaWNoIGJpbiBhbiBkZXIgZmFsc2NoZW4gU3RlbGxlIGhvY2hnZWdhbmdlbi4gQWxsZXJkaW5ncyBiZXppZWh0CnNpY2ggZGllIFdhcm51bmcsIGRpZSBtYW4gZG9ydCBiZWtvbW10IGF1ZiBkaWUgd2Fyc2NoZWlubGljaGtlaXQsIG1pdCBkZXIgbWFuCmFic3R1ZXJ6dCwgZGFzcyBtYW4gZG9ydCBkYXNzIDYgYmlzIDctRmFjaGUgdmVybGllcnQsIFdFTk4gbWFuIGFic3R1ZXJ6dCwKd2Vpc3MgbWFuIGVyc3QgaGludGVyaGVyLCB3ZW5ucyB6dSBzcGFldCBpc3QuCgoKUnluZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKExhcmllbCwgIDkuIE5vdiAxOTk1LCAxNDozNzowMik6CiMhIHJuPUZhbnVpZGhvbCBydD04MTU4Njg3OTcKCklociBoYWJ0IHZvbGxrb21tZW4gcmVjdCEKQmVpIGVpbmVyIEluZmxhdGlvbiB2b24gMTAwMDAwJSAoTWl0aHJpbHBhbnplciBmdWVyIDIgTXVlbnplbi4uLikga2FubiBtYW4KbmljaHQgbWVociByaWNodGlnIGthcGl0YWxpc3Rpc2NoIHNlaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChBbmFraW4sICA5LiBOb3YgMTk5NSwgMTQ6Mzk6NDUpOgojISBybj1DdWNodWxsaW4gcnQ9ODE1OTI0MzIwClNvbmRlcm4gPwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUcgLSBXZWx0a2FydGUgKExhcmllbCwgIDkuIE5vdiAxOTk1LCAxNToxNTo1Nyk6CklzdCBkaWUgaW0gTGFkZW4ga2FldWZsaWNoZSBLYXJ0ZSB2b20gTUcgZWlnZW50bGljaCBub2NoIGFrdHVlbGw/IEZlcm53ZXN0CnVuZCB1ZWJyaWdlIG5ldWUgUmVnaW9uZW4gc2luZCBkYSBiZWlzcGllbHN3ZWlzZSBuaWNodCBkcmF1ZiEKClp1IHVuZXJmYWhyZW4gdW0gRmVybndlc3QgenUgZmluZGVuLApMYXJpZWwgZGVyIEthZW1wZmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVuZCB0c2NodWVzcyAgKEFzbW9kaXMsICA5LiBOb3YgMTk5NSwgMTU6MjU6NTQpOgojISBybj1SeW5lIHJ0PTgxNTg3Njg3OQpIbW0sIGRpZSBTYWNoZSBtaXQgSGFra2lra3QsIGRlbiBNYXJhdGFzZW4gdW5kIGRlciBTY2huYXBzemFobCBpc3QgZG9jaAphbHQsIGljaCBiaW4gZGFtYWxzIHNlbGJzdCBkYSB1cnBsb2V0emxpY2ggZ2VzdG9yYmVuIHVuZCBoYXR0ZSBlcyBkYW5uCmFuZ2VwcmFuZ2VydCwgYWJlciBhbnNjaGVpbmVuZCBoYXQgc2ljaCBzZWl0ZGVtIG5pY2h0cyBnZWFlbmRlcnQuCgogICAgICAgICAgICBDaWFvLCBBc21vZGlzIChIb2JieS1TdGVyYmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdW5kIHRzY2h1ZXNzICAoQXNtb2RpcywgIDkuIE5vdiAxOTk1LCAxNTozMDoxOCk6CiMhIHJuPVJ5bmUgcnQ9ODE1OTE4ODQ0CkFsc28gaWNoIHdlaXNzIG5pY2h0LCB3ZW5uIG1hbiBZYW50cm8gZWluaWdlcm1hc3NlbiBrZW5udCwgZGFubgptdWVzc3RlIG1hbiBkb2NoIHdpc3NlbiwgZGFzcyBlcyBuaWNodCBzZWhyIGdlc3VuZCBpc3QsIHNpY2ggaW4gc2VpbmVtCkhhdXMgZGVuIFRvZCB6dSB3dWVuc2NoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdW5kIHRzY2h1ZXNzICAoSGFra2lra3QsICA5LiBOb3YgMTk5NSwgMTY6Mzc6MzkpOgojISBybj1Bc21vZGlzIHJ0PTgxNTkyNzE1NApIaSwKenUgZGVyIFNjaGx1Y2h0IGlzdCBmb2xnZW5kZXMgenUgc2FnZW46CjEpIG5hY2ggZGVtIFRvZCB2b24gdS5hLiBBc21vZGlzIGlzdCBkYXMgVG9kZXNyaXNpa28gaW4gZGVyIFNjaGx1Y2h0IHNlaHIKdmllbCBrbGVpbmVyIGdld29yZGVuLgoyKSBJY2ggaGFiZSBkYXMgVG9kZXNyaXNpa28gbnVuIGVuZGd1ZWx0aWcgdW5kIHp1bSBsZXR6dGVuIE1hbCBnZWFlbmRlcnQuCgpIYWtraWtrdCAoYmVkYW5rdCBzaWNoIGJlaSBSeW5lIGZ1ZXIgZGllIHNhY2hsaWNoZSB1bmQgdm9sbGtvbW1lbgp1bnBlcnNvZWhubGljaGUgS3JpdGlrISkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB1bmQgdHNjaHVlc3MgIChIYWtraWtrdCwgIDkuIE5vdiAxOTk1LCAxNjo0MzoyNCk6CiMhIHJuPUhha2tpa2t0IHJ0PTgxNTkzMTQ1OQpEYSBpY2ggbWljaCB3b2hsIGV0d2FzIHVua2xhciBhdXNnZWRydWVja3QgaGFiZToKV2VyIGpldHp0IG5vY2ggYmVpbSBBdWYtIG9kZXIgQWJzdGllZyBzdGlyYnQsIGlzdCBlaW5lbSB1bmdld29sbHRlbiBCdWcgenVtCk9wZmVyIGdlZmFsbGVuLi4uCkVyIHNvbGx0ZSBzaWNoIGJlaSBtaXIgbWVsZGVuLi4uCkhha2tpa2t0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB1bmQgdHNjaHVlc3MgIChZZW5kaSwgIDkuIE5vdiAxOTk1LCAxNzowNTozOSk6CiMhIHJuPUhha2tpa2t0IHJ0PTgxNTkzMTQ1OQoKInNhY2hsaWNoZSB1bmQgdm9sbGtvbW1lbiB1bnBlcnNvZWhubGljaGUgS3JpdGlrIiB2b24gUllORT8/PwpIYWtraWtrdCwga2FubnN0IER1IG1pciBzZWluZW4gQnJpZWYgbWFsIGZvcndhcmRlbj8gRGFzIHdpbGwgaWNoIHNlaGVuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2Vpc3RlcnNjaGxvc3MgKEhha2tpa2t0LCAgOS4gTm92IDE5OTUsIDE5OjA0OjA5KToKSGksCmluIGRlciBxdWVzdCAiR2Vpc3RlcnNjaGxvc3MiIHNpbmQgKHZpZWxsZWljaHQgZHVyY2ggZWluZW4gUGxhdHRlbmZlaGxlcj8pIHouClouIGVpbmlnZSBCdWdzLgpFcyBpc3QgZGVzaGFsYiBuaWNodCB6dSBlbXBmZWhsZW4gZGllIHF1ZXN0IGR1cmNoenVzcGllbGVuLgpCZXJ0cmFtIHdpcmQgYWJlciBkaWUgRmVobGVyIHNpY2hlcmxpY2ggYmFsZCBiZWhlYmVuLgoKQmlzIGRlbm5lLCBIYWtraWtrdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VsZG1hbmdlbCAoSmVycmljbywgIDkuIE5vdiAxOTk1LCAyMDoxMjoyNyk6CkFsc28gaWNoIHdlaXNzIGphIG5pY2h0IHdlbGNoZSBaaWVsZSBtYW4gaGllciBkYW1pdCB2ZXJmb2xndCwgZGllIEdlbGRtZW5nZQpzbyB6dSBiZXNjaHJhZW5rZW4sIGRhc3MgbWFuIGVpbmVuIExhZGVuIGluIGRlbiBCYW5rcm90dCB0cmVpYnQsIHdlbm4gbWFuCnZvbGxiZWxhZGVuIG1pdCBkZW0gWmV1Z3MgYXVzIGRlbSBPcmtsYWdlciBlcnNjaGVpbnQgdW5kIGRlbiBLcmFtIHZlcmthdWZ0LgpBbHNvIHdlbm4gaWNoIG1pY2ggbWFsIGFscyBIZWxsc2VoZXIgYmV0YWV0aWdlbiBkYXJmIGZ1ZWhydCBkYXNzIHdpZWRlciB6dW0KdmVybWVocnRlbiBFaW5zYXR6IHZvbiBCYW5rendlaXRpZXMsIGRpZSBkYXMgd2VuaWdlIEdlbGQgd2FzIGltIFVtbGF1ZiBpc3QsCm1vZWdsaWNoc3Qgc2NobmVsbCBlaW56aWVoZW4uCgpKZXJyaWNvLCAuLi4uZ2VsYW5nd2VpbHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVOR0xBVUJMSUNIISBKQU5JQ0UhIChMdWcsIDEwLiBOb3YgMTk5NSwgMDI6MTU6MzIpOgpFcyBpc3QgbmljaHQgenUgZ2xhdWJlbi4gV2llIGRpZXNlciBSZXBvcnRlciBlcmZ1aHIsIGlzdCBlcyBkZXIgYWxsc2VpdHMKZWJlbnNvIGJlbGllYnRlbiwgd2llIHVuZ2xhdWJsaWNoIHNjaG9lbmVuIEphbmljZSBnZWx1bmdlbiBkZW4gV0VHSElFUiBhbGxlaW5lCnp1IHRvZWVuLiBXaXIgZ2xhdWJlbjogRGFzIGhhdCBlcyBub2NoIG5pZSBnZWdlYmVuIQpEaWUgbXV0aWdlIEtpbGxlcmVsZmUgYW50b3dydGV0ZSBhdWYgZGllIEZyYWdlLCB3aWUgaG9jaCBzaWUgZGllIHZvcnNpY2h0Cmdlc2V0enQgaGF0dGUgbWl0OiAxNDAhISEKRGFzIGlzdCBkZXIgQmV3ZWlzOiBXZXIgd2FndCBnZXdpbm50IQpTdGF1bmVuZApMdWcgU2FtaWxkYW5hY2ggTW9yZHJlcG9ydGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWVkZW4hIChMdWcsIDEwLiBOb3YgMTk5NSwgMDQ6MjM6NTkpOgpNb2luLAptZWluIFNlbmYgenVtIFRoZW1hIExhZWRlbjoKCkRhcyBpc3QgbGFuZ3NhbSBhc296aWFsLiBLYW5uIGVpbmVtIHNjaG9uIGRlbiBTcGFzcyB2ZXJzYXVlbi4gQWVuZGVydCBkYXMhClNhdWVyCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhZWRlbiEgKEplcnJpY28sIDEwLiBOb3YgMTk5NSwgMDQ6Mzg6MTQpOgojISBybj1MdWcgcnQ9ODE1OTczODM5CkFsc28gbWVpbmUgRXJmYWhydW5nIGlzdCBudW4sIGRhc3MgZGllIDE1IExhZWRlbiwgZGllIGljaCAnbXVlaHNhbScgOikKYW5zdGV1ZXJlLCBtYXhpbWFsIDEwMDAwIE11ZW56ZW4gaGFiZW4sIHVuZCBkYW5hY2ggaXN0IHdpZWRlciBoYWVuZ2VuIGltClNjaGFjaHQsIHVuZCBkYSBpY2ggbmljaHQgZGVyIGVpbnppZ2UgYmluLCBkZXIgR2VsZCBicmF1Y2h0LCBpc3QgZXMgZmFzdAp1bm1vZWdsaWNoIHZlcm51ZW5mdGlnIHp1IHNwaWVsZW4sIGRhcyBzY2hyZWl0IGZhc3QgZGFuYWNoLCBkYXNzIG1hbgptYWwgZWluIHBhYXIgVGFnZSBkZW0gTXVkIGZlcm5ibGVpYnQuIFNUUkVJSyAhISEgOikKVmVyYWVuZGVydW5nZW4gc2Nob2VuIHVuZCBndXQsIGRlbiBTY2hsYWdyaW5nIGV0d2FzIGFic2Nod2FlY2hlbiwgb2theSwgZGllCkJlcmd3YWNodCBldHdhcyB2ZXJhZW5kZXJuLCBhdWNoIG9rYXksIGRhcyBtYW4gc28gZXR3YXMgd2llIGVpbgpXaXJ0c2NoYWZ0c3N5c3RlbSBlaW5mdWVocmVuIHdpbGwgaGFsdGUgaWNoIGZ1ZXIgZWluZSBzdXBlciBXZWl0ZXJlbnR3aWNrbHVuZywKYWJlciBkaWUgRW50d2lja2x1bmdlbiBzb2xsdGVuIHNvIHNlaW4sIGRhc3MgZGFzIE11ZCBzcGllbGJhciBibGVpYnQsIGRhYmVpCmludGVyZXNzaWVydCBlcyBtaWNoIG5pY2h0IGJlc29uZGVycyBvYiBkZXIgTGFkZW4gaW4gSGlsYmVydHMgVHVybSBHZWxkIG9obmUKZW5kZSBoYXQsIHNvbmRlcm4gZXMgc29sbHRlbiB6dW1pbmRlc3QgZGllIExhZWRlbiBnZWxkIGhhYmVuLCBkaWUgbWFuIHZvbiBkZW4KR2lsZGVuIGF1cyBlcnJlaWNoZW4ga2FubiwgdW5kIHp3YXIgaW5uZXJoYWxiIGt1cnplciBaZWl0LgpCZWltIGRlcnplaXRpZ2VuIEdlbGRtYW5nZWwga2FubiBtYW4ga2VpbmUgTlBDcyBhbmdyZWlmZW4sIGZ1ZXIgZGllIG1hbiBlaW4KcGFhcm1hbCB6dW0gYXVmdGFua2VuIHp1bSBmcmllZGhvZiBvZGVyIGluIGRlbiBnby1jbHViIG11c3MuCkljaCBnbGF1YmUgbmFjaCBkZW0gdm9ybGV0enRlbiByZWJvb3QgaGF0IGRhcyBpcmdlbmR3aWUgc3BpZWxlcmZyZXVuZGxpY2hlcgpmdW5rdGlvbmllcnQsIGVpbmlnZSBsZXV0ZSBzaWNoIHZpZWxsZWljaHQgbm9jaG1hbCBlaW5lbiBad2VpdGllIG1hY2hlbiwKdW5kIHRlc3RlbiBvYiBpaHJlIFZlcmFlbmRlcnVuZ2VuIG5vY2ggc3BpZWxiYXIgc2luZCwgd2VubiBzaWUgc2Nob24KZGFzIEdlcGxhZXJyZSBhdWYgZGVuIEthbmFlbGVuIHVuZCBpbiBkZXIgWmVpdHVuZyBpZ25vcmllcmVuLgoKSmVycmljbyBzdGVsbHQgc2ljaCBqZXR6dCBpbnMgT3JrbGFnZXIgdW5kIHdhcnRldCBkYXJhdWYsIGRhc3MgZGllIEtpc3RlCm1pdCBkZW4gMzAwMCBNdWVuemVuIHJlc2V0dGV0IHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYW5rc3lzdGVtIChSeW5lLCAxMC4gTm92IDE5OTUsIDA5OjA2OjE4KToKSGkhCgpBbHNvLCB6dSBkZXIgRW50d2lja2x1bmcgbWl0IGRlbiBMYWVkZW4gbW9lY2h0ZSBpY2ggbWFsIGZvbGdlbmRlcyBzYWdlbjoKQmlzaGVyIGhhdHRlIEdlbGQgaW0gTUcgYWJzb2x1dCBrZWluZW4gV2VydC4gRHVyY2ggZGllIEVpbmZ1ZWhydW5nIGRlcwpMYWRlbnN5c3RlbXMgc29sbHRlIGRpZXMgZ2VhZW5kZXJ0IHdlcmRlbi4gTGVpZGVyIGhhdHRlIGRhcyBiaXNoZXJpZ2UKQmFua3N5c3RlbSBoaWVyIGtlaW5lIGdyb2Vzc2VyZSBBZW5kZXJ1bmcgYmV3aXJrdCwgYWxzbyB3dXJkZSBlcyBlaW4gd2VuaWcKdmVyc2NoYWVyZnQuIERhZHVyY2ggaXN0IHplaXR3ZWlzZSBlaW4gYmlzY2hlbiBHZWxkbWFuZ2VsIGluIGRlbiBMYWVkZW4gKHdpZQppY2ggYXVjaCBzZWxic3Qgc2Nob24gc2NobWVyemxpY2ggZmVzdGVsbGVuIG11c3N0ZSA7KSkgTnVuIG11ZXNzZW4gZGllIFNwaWVsZXIKamVkb2NoIGtlaW5lIFNvcmdlbiBoYWJlbiwgZGFzcyBkaWUgTGFlZGVuIHBlcm1hbmVudCBzbyB3ZW5pZyBHZWxkIGhhYmVuOyBvaG5lCmluIGRhcyBCYW5rc3lzdGVtIHRpZWYgZWludGF1Y2hlbiB6dSB3b2xsZW4sIG51ciBzb3ZpZWw6IERpZSBMYWVkZW4gZXJoYWx0ZW4KbmV1ZXMgR2VsZCwgaW5kZW0gc2llIE9iamVrdGUgemVyc3RvZXJlbiAoei5CLiBkaWUsIGRpZSBzaWUgJ3p1IGlocmVuClByaXZhdHNhY2hlbiBsZWdlbicuIERhZHVyY2ggZXJob2VoZW4gc2ljaCBkaWUgQW5mb3JkZXJ1bmdlbiBzdGFlbmRpZywgc3RlaWdlbgpqZWRvY2ggbnVyIGxhbmdzYW0gYW4gKHVlYnJpZ2VucyBzaW5kIHdpciBnZXJhZGUgZXJzdCBhbSBBbmZhbmcgZGllc2VyIFBoYXNlKS4KQXVzc2VyZGVtIGJyaW5nZW4gZGllIEtuZWlwZW4gZGFzIEdlbGQgenVydWVjayBpbiBkZW4gS3JlaXNsYXVmLiBFcyBnaWJ0IGFsc28Ka2VpbmVuIEdydW5kIHp1bSBqYW1tZXJuLCBkZW5uIGR1cmNoIGVpbmVuIGxlaWNodGVuIC0gb2JlbmRyZWluIG51ciB6ZWl0d2Vpc2VuCi0gTWFuZ2VsIGFuIEdlbGQgaW4gZGVuIExhZWRlbiB3aXJkIGluIG1laW5lbiBBdWdlbiBkYXMgU3BpZWwgZWhlcgppbnRlcmVzc2FudGVyIGdlbWFjaHQuCgpSeW5lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYWVkZW4hIChMaSwgMTAuIE5vdiAxOTk1LCAwOToxODo0MSk6CiMhIHJuPUplcnJpY28gcnQ9ODE1OTc0Njk0CkVpZ2VudGxpY2ggc29sbHRlIGljaCBhdWYgZWluZW4gc28gdW5zYWNobGljaGVuIHVuZCB1bnViZXJsZWd0ZW4gQXJ0aWtlbCBnYXIKbmljaGd0IGFudHdvcnRlbiBhYmVyIGljaCBmcmFnZSBkaWNoIG1hbDoKS2FubnN0IER1IGF1cyBkZW0gSGFuZGdlbGVuayBoZXJhdXMgZWluIFdpcnRzY2hhZnRzc3lzdGVtIFByb2dnZW4sIGRhc3MgYXVmCkFuaGllYiB0b2xsIHVuZCBzdXBlciBpc3QsIG5pY2h0IGJ1Z2d5IGlzdCwgYWxsZSB6dWZyaWVkZW5zdGVsbHQ/Cm51ciBlaW5zIGZ1ZXIgRGljaCB1bmQgYWxsZSBhbmRlcmVuIGRpZSBVZWJlciBhbGxlcyBOZXVlIHVuZCBuaWNodCBnYW56CmZlcnRpZ2UgbWVja2VybjoKTmV1ZSBEaW5nZSBzaW5kIG5pZSBnYW56IGF1c2dlcmVpZnQuIFdpZSBzb2xsIG1hbiBkYXMgd2l0c2NoYWZ0c3N5c3RlbSB1ZWJlcgo1MCBUYWdlIHVwdGltZSB0ZXN0ZW4sIHdlbm4gZGFzIE1VZCB2b3JoZXIgbm9jaCBuaWUgNTAgVGFnZSBsaWVmPwpFYmVuc28gaXN0IGVzIG1pdCBhbGxlbSBOZXVlbjogSmVkZXIgTWFnaWVyIGRlciBldHdhcyBOZXVlcyBtYWNodCwgd2lyZCBpbQpSYWhtZW4gc2VpbmVyICh6ZWl0bGljaGVuKSBtb2VnbGljaGtlaXRlbiBkaWUgbmV1ZW4gU2FxY2hlbiBzbyB2ZXJiZXNzZXJuLCBiaXMKc28gdmllbGUgd2llIG1vZWdsaWNoIChhdWNoIGRlciBNYWdpZXIpIHp1ZnJpZWRlbiBzaW5kLgpLcml0aWsgdW5kIEhpbndlaXNlIHp1ciBWZXJiZXNzZXJ1bmcgd2lyZCBqZWRlciBNYWdpZXIgKHVuZCBHb3R0IHdpZSBiZWltCldpcnRzY2hhZnRzc3lzdGVtKSBtaXQgc2ljaGVyaGVpdCBnZXJuZSBhbm5laG1lbi4KQWJlciBpY2ggYmVtZXJrZSBpbiBsZXR6dGVyIFplaXQgaW1tZXIgbWVociwgZGFzcyBzcGllbGVyIHVlYmVyIGplZGVyClZlcmFlbmRlcnVuZyBlcnN0bWFsIGxhdXRzdGFyayBtZWNrZXJuIChzaWVoZSBBcmVuYSwgd28gZHVyaWFuIGF1Y2gKYW5nZWt1ZW5kaWd0IGhhdCwgZGFzIGRpZXMgbnVyIGVpbmUgVWViZXJnYW5nc2xvZXN1bmcgaXN0LCB1bmQgZXIgZGllIEFyZW5hCnZlcmFlbmRlcm4gd2lsbCkuClZlcnN0ZWggbWljaCBuaWNodCBmYWxzY2ggSmVycmljbywgZGllcyBnZWh0IG5pY2h0IG51ciBnZWdlbiBkaWNoLCBzb25kZXJuCmdlZ2VuIGFsbGUgU3BpZWxlciwgZGllIG9mZmVuYmFyIG1laW5lbiwgZGllIE1BZ2llciB3YWVyZW4gbnVyClByb2dncmFtaWVyc2tsYXZlbiwgZGllIG1pdCBHZW1lY2tlciB6dSBtZWhyIEFyYmVpdCBhbnp1dHJlaWJlbiBzaW5kLiBXaWUgbWFuCnNpY2ggc2ljaGVyIGRlbmtlbiBrYW5uLCBpc3QgZGFzIG1pdCBzaWNoZXJoZWl0IG5pY2h0IGRlciBGYWxsLgpBbHNvIHR1dCBldWNoIHVucyB1bnMgZWluZW4gR2VmYWxsZW46IEtyaXRpayB1bmQgSGlud2Vpc2UgdmllbCB1bmQgZ2VybmUsCmFiZXIgYWt6ZXB0aWVydCBhdWNoLCBkYXNzIGVzIGV0d2FzIGRhdWVybiBrYW5uLCBiaXMgZGllIFZlcmFlbmRlcnVuZ2VuIGRhCnNpbmQuIFVuZCBha3plcHRpZXJ0IGF1Y2gsIGRhc3MgZGllIE1BZ2llciBuaWNodCBhbGxlIE1laW51bmdlbiBpbnRlZ3JpZXJlbgprb2VubmVuLiBNYW5jaG1hbCB3aXJkIGVzIHNvIHZlcmFlbmRlcnQsIHdpZSBpaHIgbW9jaHRldCwgbWFuY2htYWwgZWJlbiBuaWNodC4KCkxpIChzYXVlciwgYWJlciBzY2hvbiB3aWVkZXIgZXR3YXMgYmVydWhpZ3QsIGZvcmRlcnQgZWluZSBzYWNobGljaGUKZGlza3Vzc2lvbikKClAuUy4gZWluTmFjaHNhdHoga2FubiBpY2ggbWlyIG5pY2h0IHZlcmtuZWlmZW46IHdlbm4gZGlyIGRhcyBNVUQgc28gbmljaHQKZ2VmYWVsbHQsIEplcnJpY28sIHVuZCBkdSBpbSBNVUQgbmljaHQgbWFsIGVpbiBwYWFyIFRhZ2UgYXVzaGFsdGVuIGthbm5zdCwKb2huZSBqZWRlbiBUYWcgMTAwMDAwIG11ZW56ZW4genUgc2NoZWZmZWxuLCBkYW5uIG11c3N0IGR1IGViZW4gd2VnYmxlaWJlbiEKClAuUC5TLjogTmFqYSwgaWNoIGdlYiBqYSB6dSwgZGFzIHdhciBldHdhcyBkcmFzdGlzY2gsIGFiZXIgaWNoIGJpbiBoYWx0IGFxdWNoCm51ciBlaW4gTWVuc2NoIHVuZCBzYXVlciwgd2VubiBpY2ggc2VoZSwgd2llIE1BZ2llciBzaWNoIGFicmFja2VybiB1bmQgZGFubiBhbgpkZW4gUHJhbmdlciBnZXN0ZWxsdCB3ZXJkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYWVkZW4hIChGYW51aWRob2wsIDEwLiBOb3YgMTk5NSwgMTE6NTY6NDgpOgojISBybj1MaSBydD04MTU5OTE1MjEKU29ycnksIGFiZXIgaWNoIHdvbGx0ZSBEdXJpYW4gbnVyIFZPTiBNZWhyYXJiZWl0IGFiaGFsdGVuLiA6KQpBcmJlaXQgd2lsbCBlciBzaWNoIHNjaG9uIHNlbGJzdCB2ZXJzY2hhZmZlbi4KCiAgICAgICAgICAgICAgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZWRlbiEgKEpvZiwgMTAuIE5vdiAxOTk1LCAxMzo0Mzo0Myk6CiMhIHJuPUplcnJpY28gcnQ9ODE1OTc0Njk0CgogVGphLCBkaWUgTGFlZGVuIHNpbmQgZ3JhZCBpbiBkZXIgVGF0IGluIGVpbmVyIFRpZWZwaGFzZS4gU2llIGVyaG9sZW4gc2ljaApyZWNodCBsYW5nc2FtLiBTaWUgZXJob2xlbiBzaWNoIGFiZXIgYXVjaCBOVVIsIHdlbm4gc2llIEdld2lubiBtYWNoZW4ga29lbm5lbgotCnVuZCBkYXMga29lbm5lbiBzaWUgbnVyLCB3ZW5uIGhlbGRlbmhhZnRlIFNwaWVsZXIvU2VoZXIgYmVpIGlobmVuIGVpbmthdWZlbgpvZGVyIGFiZXIgd2FzIHZlcmthdWZlbi4gU3RyZWlrIHdhZXJlIGFsc28gZ3J1bmRmYWxzY2ggdW5kIHd1ZXJkZSBkaWUgTGFnZQpkcmFtYXRpc2llcmVuLiBBc296aWFsIHdhZXIgZXMsIGRpZSBhcm1lbiBIYWVuZGxlciBudW4gaW4gaWhyZW0gRWxlbmQgYWxsZWluLQp6dWxhc3Nlbiwgc2llIHNpbmQgc2NobGllc3NsaWNoIGdlbmF1IEpFVFpUIGF1ZiBldXJlIEhpbGZlIGFuZ2V3aWVzZW4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb3B5cmlnaHQ/IChKb2YsIDEwLiBOb3YgMTk5NSwgMTQ6MjU6MTIpOgpbVmVybGVndCB2b24gZXJ6bWFnaWVyLCBDYXR3ZWF6bGUsIDEwLiBOb3YgMTk5NSwgMTM6MTM6NDZdOgpBdXN6dWcgYXVzIEd1ZWxkZW5sYW5kcyBaZWl0dW5nOgoKL2V0Yy9BZGVsc2xpc3RlIChBcnR5LCAxMy4gT2t0IDE5OTUsIDEzOjMzOjU5KToKU28sIGljaCBoYWJlIGdlcmFkZSB2ZXJzdWNodCBkYXMgb2JpZ2UgRmlsZSB6dSBha3R1YWxpc2llcmVuLgpKZWRlciBNYXJrZ3JhZiBrb250cm9sbGllcnQgbWFsIGJpdHRlLCBvYiBkaWUgQW5nYWJlbiB6dSBzZWluZXIgUmVnaW9uCnN0aW1tZW4hCldlbm4gaWhyIGplbWFuZCBpbiBFdXJlciBEb21haW4gYXVmbmVobXQsIGRhbm4gc2NoaWNrdCBtaXIgZW50d2VkZXIgZWluZSBNYWlsCm9kZXIgKHdlbm4gaWhyIGRhIHNjaHJlaWJyZWNodGUgaGFidCkgcGFzc3QgZGFzIEZpbGUgc2VsYmVyIGVudHNwcmVjaGVuZCBhbi4KCkFSVFkgKHZlcmxpZXJ0IHNvIGxhbmdzYW0gZGVuIFVlYmVyYmxpY2spCj4gbm4KUnVicmlrIDE6IGFkZWwsIEFydGlrZWw6IDM2IHZvbiAxMjMKQ29weXJpZ2h0IChIZWxsb3dlZW4sIDE1LiBPa3QgMTk5NSwgMTY6MDc6MjApOgpJY2ggd2Vpc3NlIGFuIGRpZXNlciBTdGVsbGUgbm9jaG1hbHMgYXVzZHJ1ZWNrbGljaCBkYXJhdWYgaGluIGRhcyBhbGxlIEZpbGVzCmRpZSBoaWVyIGluIGRlciBNdWRsaWIgZW50aGFsdGVuIHNpbmQgZGVtIEd1ZWxkZW5MYW5kIGdlaG9lcmVuIHVuZCBzb21pdCBkYXMKR3VlbGRmZW5MYW5kIGRhcyBDb3B5cmlnaHQgaGF0ICEhISEhIQpTb2xsdGVuIGRpZXNlIEZpbGVzIGluIGFuZGVyZW4gTXVkcyBiZW51dHp0IHdlcmRmZW4gc28gaXN0IGRpZSBFcmxhdWJuaXNzCmJlaW0gamV3ZWlsaWdlbiBQcm9ncmFtbWllcmVyIGRlciBkYXMgRmlsZSBwcm9ncmFtbWllcnQgaGF0IGVpbnp1aG9sZW4gISEhISEKQmVpIEZpbGVzIGF1cyBkZXIgTXVkbGliIHdvIGRlciBOYW1lIGRlcyBQcm9ncmFtbWllcmVycyBuaWNodCBleHRyYSBlcndhZWhudAp3aXJkIG11c3MgZGVyIGVpZ2VudHVlbWVyIGRlcyBNdWQgKEhlbGxvd2VlbikgdW0gZXJsYXVibmlzcyBnZWZyYWd0IHdlcmRlbgoKY3UKICAgIERBUwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClJlOiBDb3B5cmlnaHQgKExvZXJlcywgIDcuIE5vdiAxOTk1LCAyMDoyNTo0Nik6CihCZXp1ZzogQXJ0aWtlbCAzNiB2b24gSGVsbG93ZWVuIHZvbSAxNS4gT2t0IDE5OTUsIDE2OjA3OjIwKQoKIERhcyBpc3QgbmljaHQgZ2FueiB6dXRyZWZmZW5kOyBkaWUgUmVnZWxuIGRlcyBFeHBvcnRzIGRlciBNRy1MaWIgYmVzYWdlbiwKZGFzcyBkaWVzZSBhdWNoIGluIGFuZGVyZW4gTXVkcyBiZW51dHp0IHdlcmRlbiBkYXJmLCBzb2xhbmdlIGRhcyBDb3B5cmlnaHQjCm5pY2h0IGVudGZlcm50IHdpcmQuIERhIGRpZSBHTC1MaWIgZGV1dGxpY2ggKDopKSBhdWYgZGVyIE1HLUxpYiBiYXNpZXJ0LApkdWVyZmVuIG1laW5lciBFaW5zY2hhZXR6dW5nIG5hY2ggc2FlbXRsaWNoZSBGaWxlcywgZGllIGF1ZiBNRy1GaWxlcyBhdWYtCmJhdWVuIHVudGVyIGRlbiBnbGVpY2hlbiBCZWRpbmd1bmdlbiBpbiBhbmRlcmVuIE11ZHMgZWluZ2VzZXR6dCB3ZXJkZW4gd2llCnNpZSBmdWVyIGRpZSBNRy1MaWIgZ2VsdGVuLgoKIEFuZGVycyBiZWkgRmlsZXMgdm9uIE1hZ2llcmVuOiBCZWkgZGllc2VuIGhhdCBkZXIgTWFnaWVyLCBkZXIgc2llIGdlcHJvZ2d0CmhhdCwgZGFzIENvcHlyaWdodCB1bmQgZGFyZiBzaWUgZW50c3ByZWNoZW5kIGluIGFuZGVyZW4gTXVkcyBlaW5zZXR6ZW4sIHdlbm4KZXIgd2lsbC4gRGF6dSBiZWRhcmYgZXMga2VpbmVyIEdlbmVobWlndW5nIHNlaXRlbnMgZGVyIE11ZC1BZG1pbnMsIGRhIGRlcgpBdXRvciB6dWdsZWljaCBCZXNpdHplciBpc3QuIERpZSBGaWxlcyBnZWhlbiBrZWluZXNmYWxscyBpbiBkZW4gQmVzaXR6CmRlciBNdWQtQWRtaW5zIHVlYmVyOyB3aXIgd3VlcmRlbiBlcyB1bnMgaW4gTUcgbmllIGVybGF1YmVuLCBNYWdpZXJuIHp1CnVudGVyLQpzYWdlbiwgaWhyZSBTYWNoZW4gYXVzIC9wbGF5ZXJzIGJ6dyAvZCBhdWNoIGluIGFuZGVyZSBNdWRzIHp1IHppZWhlbiAod2lyCmtvZW5uZW4gc2llIGJlc3RlbmZhbGxzIGJpdHRlbiwgZGFzIHp1IGxhc3NlbiksIG5vY2ggaWhyZSBGaWxlcyB1bmdlZnJhZ3QKd2VpdGVyZ2ViZW4uCgotLW1laHItLSg3NyUpIEFORkFORwogSWNoIGdsYXViZSwgZGFzcyBkaWVzZSBSZWdlbHVuZyBpbSBHcm9iZW4gZGVuIFJpY2h0bGluaWVuIGRlciBndWVsdGlnZW4KQ29weXJpZ2h0LUJlc3RpbW11bmdlbiBlbnRzcHJlY2hlbiAuLi4KCiAqU0VORiBPRkYqCgogSm9mIChtaXQgZnJldW5kbGljaGVtIERhbmsgYW4gTG9lcmVzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClJ1YnJpayAxOiBhZGVsLCBBcnRpa2VsOiAxMTkgdm9uIDEyMwpSZTogUmU6IENvcHlyaWdodCAoSGVsbG93ZWVuLCAgOS4gTm92IDE5OTUsIDE2OjA4OjUzKToKKEJlenVnOiBBcnRpa2VsIDEwOSB2b24gTG9lcmVzIHZvbSAgNy4gTm92IDE5OTUsIDIwOjI1OjQ2KQpEaWUgRmlsZXMgZGllIGF1cyBkZW0gTUcgc3RhbW1lbiB1bmQgaGllciBnZWFlbmRlcnQgd3VyZGVuIGR1ZXJmZW4gbmljaHQKZWluZmFjaCBpbiBhbmRlcmVuIE11ZHMgZWluZ2VzZXR6dCB3ZXJkZW4gLiAgV2VpbCBzaWUgaGllciBnZWFlbmRlcnQgd3VyZGVuCnVuZCBkYXMgTXVkIGhpZXIgZGFzIENvcHlyaWdodCBhdWYgZGllIGFlbmRlcnVuZ2VuIGhhdC4KRHUga2FubnN0IGphIGdlcm5lIGRpZSBVci1WZXJzaW9uZW4gYXVzIGRlbSBNRyBob2xlbiB1bmQgYmVsaWViaWcgZWluc3R6ZW4KYWJlciBuaWNodCBkaWUgYXVzIEdMCkFsc28gc29iYWx0IGltIEtvcGYgZWluZSBhZW5kZXJ1bmcgdm9tIEdMIGVpbmdldHJhZ2VuIGlzdCBkdWVyZmVuIGRpZSBEYXRlaWVuCm5pY2h0IG1laHIgZWluZmFjaCB2ZXJ3ZW5kZXQgd2VyZGVuLgoKYWxzbzp2ZXJ3ZW5kdW5nIG51ciBuYWNoIGFic3ByYWNoZQoKY3UKICAgREFTCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFueSBjb21tZW50cz8KCllUQwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb3B5cmlnaHQ/IChKb2YsIDEwLiBOb3YgMTk5NSwgMTQ6Mjc6NTQpOgojISBybj1Kb2YgcnQ9ODE2MDA5OTEyCgogRGEgamEgaW4gZGllc2VtIEJlcmVpY2ggVmVyd2lycnVuZyB6dSBoZXJyc2NoZW4gc2NoZWludCwgamV0enQgbm9jaG1hbAplaW4gcGFhciBTYWV0emUgZGF6dToKCiBEaWUgTW9yZ2VuR3JhdWVuIE11ZGxpYiBzdGVodCB1bnRlciBkZW0gQ29weXJpZ2h0IGRlciBHUEwgKEdlbmVyYWwgUHVibGljCkxpY2Vuc2UpIGRlciBGU0YgKGdlbmF1IHdpZSBkaWUgZ2VzYW10ZSBHTlUtU29mdHdhcmUpLiBEaWUgQXVzc2FnZW4gZGllc2VyCkxpemVueiBzaW5kIGVpbmRldXRpZzoKCiAtICBTb2Z0d2FyZSwgZGllIGF1ZiBHUExlZCBTb2Z0d2FyZSBiYXNpZXJ0LCBzdGVodCBhdXRvbWF0aXNjaCBzZWxic3QgSU5DTC4KICAgQUxMRVIgQUVOREVSVU5HRU4gdW50ZXIgZGVyIEdQTC4KCiAtICBHUExlZCBTb2Z0d2FyZSBtdXNzIGZ1ZXIgZGllIEFsbGdlbWVpbmhlaXQgenVnYWVuZ2xpY2ggZ2VtYWNodCB3ZXJkZW4sCiAgIGluY2wuIEFMTEVSIFNvdXJjZW4uIERhYmVpIGR1ZXJmZW4ga2VpbmUgS29zdGVuIGZ1ZXIgZGllIFNvZnR3YXJlIGVyaG9iZW4KICAgd2VyZGVuLgoKIC0gIERpZSBLb21tZW50YXJlIHVlYmVyIEJlc2l0emVyIGRlciB1cnNwcnVlbmdsaWNoZW4gU29mdHdhcmUgZHVlcmZlbiBOSUNIVAogICBhdXMgZGVyIFNvZnR3YXJlIGVudGZlcm50IHdlcmRlbjsgQWVuZGVydW5nZW4gU0lORCBqZWRvY2ggc2NocmlmdGxpY2ggdW5kCiAgIGZ1ZXIgZGVuIExlc2VyIGVya2VubmJhciBhbnp1bWVya2VuLgoKCiBEaWUgR1BMIGlzdCBlaW4ganVyaXN0aXNjaCB3YXNzZXJkaWNodGVzIERva3VtZW50LCB3ZWxjaGVzIGRhenUgZGllbnQsIGRpZQpWZXJicmVpdHVuZyBmcmVpZXIgU29mdHdhcmUgdW50ZXIgV2FocnVuZyBkZXIgUmVjaHRlIGRlciBBdXRvcmVuIHp1IHNpY2hlcm47CnNpZSBpc3QgYWxzbyBncmFkZXp1IGlkZWFsIGZ1ZXIgdW5zZXJlIE11ZGxpYi4KCiBVZWJyaWdlbnMgaXN0IGRpZSBCZW51dHp1bmcgdm9uIEdQTC1Tb2Z0d2FyZSBzZWxic3RyZWRlbmQgbnVyIGdlc3RhdHRldCwKd2VubgptYW4gaWhyZSBMaXplbnpiZWRpbmd1bmdlbiBhbmVya2VubnQuIFdlciBhbHNvIE5JQ0hUIG1vZWNodGUsIGRhcyBTRUlORQpNdWRsaWIKaWhyIHVudGVybGllZ3QsIHdpcmQgd29obCBhdWYgZGllIEJlbnV0enVuZyBkZXIgTUctTGliIHp1bSBBdWZiYXUgc2VpbmVzIE11ZHMKdmVyemljaHRlbiBtdWVzc2VuLgoKIERpZSBHUEwgZmluZGV0IG1hbiB1LmEuIGF1ZiBmdHA6Ly9mdHAudW5pLW11ZW5zdGVyLmRlL3B1Yi9nbnUvR1BMOyBzaWUKbGllZ3QKYWIgVmVyc2lvbiAxLjliZXRhIGF1Y2ggZGVyIE1HLU11ZGxpYiBiZWkuCgogQW5sYXNzIGZ1ZXIgZGllc2VzIFBvc3Rpbmcgd2FyZW4gYXVma2VpbWVuZGUgVW5zaWNoZXJoZWl0ZW4gYnpnbC4gZGVzIENvcHktCnJpZ2h0cyBkZXIgTUctTGliIGluIEd1ZWxkZW5sYW5kLiBEaWUgc29sbHRlbiBoaWVybWl0IGJlaG9iZW4gc2Vpbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb3B5cmlnaHQ/IChMd2F4YW5hLCAxMC4gTm92IDE5OTUsIDE1OjMxOjUyKToKIyEgcm49Sm9mIHJ0PTgxNjAwOTkxMgpFaWdlbnRsaWNoIG51ciBlaW5lIEZyYWdlOgoKTXVzc3RlIGRhcyBpbiBBbGxnZW1laW4/ICBNaWNoIGhhdCBkYXMgbWl0IGRlbSBDb3B5cmlnaHQgendhciBhdWNoIGdlbmVydnQsCmFiZXIgaGFldHRlIGVzLCB3ZW5uIGVzIHNjaG9uIGhpZXJoZXJnZWhvbHQgd2VyZGVuIG11c3N0ZSBuaWNodCBuYWNoIE1hZ2llcgpnZWtvbm50PwoKSWNoIGZhbmQgZXMgc2Nob24gbmljaHQgZ3V0LCBkYXNzIEplcnJpY28gaGllciB6aXRpZXJ0IHd1cmRlIC4uLgoKVHNjaGF1IEx3YXggKmlzdCBoYWx0IGV0d2FzIGtvbWlzY2ggd2FzIGtvcGllcnRlIEFydGlrZWwgYW5nZWh0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VyIGlzdCBoaWVyIG5lIGhhbGJlIHBvcnRpb24/IChSb2VzdGksIDEwLiBOb3YgMTk5NSwgMTY6MDk6MjIpOgpFaW4gc3Vlc3NlciBrbGVpbmVyIFN0cmFuZGtvcmIsIGluIGRlbSBtYW4genUgendlaXQgc2l0emVuIHVuZCBzbyBEaWVzIHVuZApEYXMgdHVuIGthbm4uCkVyIGVudGhhZWx0OgpEZXIga2xlaW5lIFByaW56IEFsYm9pbiBzdWNodCBzZWluZSBSb3NlLgpEZWJvcmFoIGRpZSBXYWxkbGFldWZlcmluLgpTdHJhbmdlciBkZXIgSGVsZC4KCkFlaCBoYWIgaWNoIG1pY2ggdmVyemFlaGx0IG9kZXIgc2luZCBkYXMgZHJlaT8KClJvZXN0aSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDb3B5cmlnaHQ/IChDdWNodWxsaW4sIDEwLiBOb3YgMTk5NSwgMTY6NDE6MzcpOgojISBybj1Md2F4YW5hIHJ0PTgxNjAxMzkxMgoKSWNoIGRlbmtlLCBkYXNzIGRlciBJbS0gdW5kIEV4cG9ydCBhbiBzaWNoIGVpbmZhY2ggTXVkLXVlYmVyZ3JlaWZlbmQgaXN0LiBFcwpnZWh0IG5pY2h0IG51ciBkaWUgTWFnaWVyIGRlcyBNb3JnZW5HcmF1ZW5zIGV0d2FzIGFuLCBzb25kZXJuIGF1Y2ggZGllIGRlcwpHdWVsZGVubGFuZGVzLCBBbmRlcmxhbmRzLCBSZWdlYm9nZW4gdW5kIHdhcyB3ZWlzcyBpY2ggd2FzIGRhIGFsbGVzIGtyZXVjaHQKdW5kIGZsZXVjaHQuIEljaCBrYW5uIHZlcnN0ZWhlbiwgZGFzcyBKb2Yga2VpbmUgTHVzdCBoYXQsIGluIGplZGVtIE11ZCBNYWdpZXIKKG9kZXIgQWRlbGlnZXIgKmh1c3QqIDspKSB3ZXJkZW4genUgbXVlc3NlbiwgbnVyIHVtIGRhcyBkb3J0IHVlYmVyYWxsIGluIGRlbgpXaXotUnVicmlrZW4gcG9zdGVuIHp1IGtvZW5uZW4uCgpDdWNodWxsaW4uLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldWxpY2ggaW0gVG9kZXNyYXVtIChGeXQsIDEwLiBOb3YgMTk5NSwgMTg6MDY6NTUpOgpbVG9kOl0gRWluIEh5ZHJha29wZiBoYXQgZ2VyYWRlIFNseWZveCB1bWdlYnJhY2h0LgpbVG9kOkVpbiBIeWRyYWtvcGZdIGhzc3Nzc3MKICBTbHlmb3ggdmVyc3VjaHQgZWluZXMgSHlkcmFrb3BmcyBBbmdyaWZmIG1pdCBlaW5lbSBVY2hpLXVkZS11a2UKYWJ6dXdlaHJlbi4KLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIDEzICAgKFNseWZveCkKU2x5Zm94IHZlcmxhZXNzdCBkaWVzZSBXZWx0LgpbVG9kOl0gU0xZRk9YIFZFUlNVQ0hURSwgTUlSIFpVIEVOVEtPTU1FTiAtIEpFVFpUIEhBQkUgSUNIIFdJRURFUgpbVG9kOl0gRVhUUkEtQVJCRUlUIE1JVCBJSE0gLi4uCjoKSG0sIGRhcyB3YXIgZWluIHNjaHdlcmVyIFRvZCwgU2x5IDopCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENvcHlyaWdodD8gKEx3YXhhbmEsIDEwLiBOb3YgMTk5NSwgMTg6MjE6MDgpOgojISBybj1DdWNodWxsaW4gcnQ9ODE2MDE4MDk3CkVzIGdpbmcgbWlyIGpldHp0IG5pY2h0IG51ciB1bSBkaWVzZW4gc3BlemllbGxlbiBBcnRpa2VsIHNvbmRlcm4gZGFydW0sIGRhc3MKd2VubiBtYW4gaW4gZWluZW0gTVVEIHdhcyBzYWd0LCBtYW4gaW4gYW5kZXJlbiBkYWZ1ZXIgZmVydGlnIGdlbWFjaHQgd2lyZC4uLgpkYXMgRmFuZCBpY2ggbmljaHQgc28gdG9sbC4gRXMgZ2luZyBtaXIgbmljaHQgbnVyIHVtIGRhcyBUaGVtYSBkZXIgTVVEbGliCgpzb3JyeSB3ZW5ucyBmYWxzY2ggcnVlYmVya2FtCkx3YXggdG9jaHRlciB1c3cgaHVldGVyaW4gZGVzIFNjaGltbWVscGlsemVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENvcHlyaWdodD8gKEpvZiwgMTAuIE5vdiAxOTk1LCAxODo0Njo0NSk6CiMhIHJuPUx3YXhhbmEgcnQ9ODE2MDEzOTEyCgogTmVpbiwgaGFldHRlIGVzIG5pY2h0IC0gZGllIEdvZXR0ZXIgdm9uIEd1ZWxkZW5sYW5kIHNpbmQgbmljaHQgTWFnaWVyIGltCk1HLApkaWUgdm9uIFd1bmRlcmxhbmQgYXVjaCBuaWNodCwgdW5kIGVzIGdlaHQgYXVjaCBqZWRlbiBhbiwgZGVyIHNpY2ggbWl0IGRlbQpHZWRhbmtlbiBiZWZhc3N0LCBhdWYgQmFzaXMgZGVyIE1HLU11ZGxpYiB3YXMgZWlnZW5lcyB6dSBtYWNoZW4uIERhIGdpYnRzCm51ciBNYWdpZXIsIHNvbmRlcm4gYXVjaCBTcGllbGVyLCBkaWUgc293YXMgdHVuLgoKIE5vY2htYWwgenVyIEtsYXJzdGVsbHVuZzogRXMgZ2VodCBtaXIvdW5zIHdlZGVyIGRhcnVtLCBqZW1hbmRlbiAnZmVydGlnIHp1Cm1hY2hlbicgbm9jaCBkYXJ1bSwgamVtYW5kZW4gZGFyYW4genUgaGluZGVybiwgZGllIE1HLUxpYiBmdWVyIHNlaW5lIFp3ZWNrZQp6dSBudXR6ZW4uIEVzIGdlaHQgdmllbG1laHIgdW0gZGllIElkZWUgZGVyIGZyZWllbiBTb2Z0d2FyZSwgZGllIGVzIG1laW5lcgpNZWludW5nIG5hY2ggbm90d2VuZGlnIG1hY2h0LCBmcmVpIHZlcmZ1ZWdiYXJlIFNvZnR3YXJlIHVudGVyIEJlZGluZ3VuZ2VuIHdpZQpkaWUgR1BMIHp1IHZlcm9lZmZlbnRsaWNoZW4uIERlciBWZXJzdWNoLCBTb2Z0d2FyZSwgZGllIGF1ZiBmcmVpZXIgU29mdHdhcmUKYmFzaWVydCwgbWl0ICdFeHBvcnRiZXNjaHJhZW5rdW5nZW4nIGlyZ2VuZGVpbmVyIEZvcm0genUgYmVsZWdlbiwgaXN0IGluCm1laW5lbgpBdWdlbiBlaW4gZ3JvYmVzIEZvdWwgZ2VnZW4gZGllIFJlZ2VsbiBkZXIgZnJlaWVuIFNvZnR3YXJlIHVuZCBtdXNzIGRlc2hhbGIKc2NobmVsbHN0ZW5zIGFiZ2VzdGVsbHQva3VlbmZ0aWcgdmVyaGluZGVydCB3ZXJkZW4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDb3B5cmlnaHQ/IChNYXRlZXNlLCAxMS4gTm92IDE5OTUsIDAwOjUwOjUwKToKIyEgcm49Sm9mIHJ0PTgxNjAyNTYwNQpIbW0sIGRhcyBzaW5kIGpldHp0IHp3YXIgZWhlciAnZ2VuZXJhbCBtdXNpbmdzJyBhYmVyIGljaCBtdXNzIGRhcyBtYWwKbG9zd2VyZGVuLi4uCgpJY2ggZmluZGUgZGllc2UgZ2FuemUgYmlzLXp1LWRlbi1aYWVobmVuLUNvcHlyaWdodGVyZWkgemllbWxpY2ggdHJhdXJpZy4KRXMgZ2FlYmUgaGV1dGUga2VpbmUgTXVkcyBpbiBkaWVzZXIgRm9ybSwgd2FlcmVuIGRpZSBkYW1hbGlnZW4gRW50d2lja2xlcgpuaWNodCBiZXJlaXQgZ2V3ZXNlbiwgaWhyZSBTb3VyY2VuIHp1ciBmcmVpZW4gVmVyd2VuZHVuZyB1bmQgQWVuZGVydW5nCmZyZWl6dWdlYmVuIC0gb2huZSBwZXJzb2VubGljaGUgRXJsYXVibmlzZWluaG9sdW5nLiBWb24gZGVtIGRhZHVyY2gKYW5nZXNhbW1lbHRlbiBLbm93aG93IHVuZCBTb3VyY2Vuc2NoYXR6IHByb2ZpdGllcmVuIGFsbGUgbmV1ZW4gTXVkbGlicywgdW5kCmVzIHdhZXJlIG5ldHQsIHdlbm4gc2llIHNpY2ggZGFmdWVyIGF1Y2ggZXJrZW5udGxpY2ggemVpZ2VuIHd1ZXJkZW4uCgpVbmQgc29vbyB1bHRyYXRvbGxnZW5pYWwgc2luZCBkaWUgQWVuZGVydW5nZW4gaW4gZGl2ZXJzZW4gTXVkbGlicwpncm9lc3N0ZW50ZWlscyBudW4gYXVjaCB3aWVkZXIgbmljaHQuCgogLS0gTWF0ZWVzZSBiZWZ1ZXJ3b3J0ZXQgdm9uIEdQTCwgQXJ0aXN0aWMgTGljZW5zZSB1bmQgUHVibGljIERvbWFpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhZWRlbiAyIChMdWcsIDExLiBOb3YgMTk5NSwgMDI6MDI6MTQpOgpIaSwKc2Nob24gdmllbCwgdmllbCBiZXNzZXIuIEVocmxpY2guIEljaCBiZWtlbm5lIG1pY2ggenVyIFNvemlhbGVuCk1hcmt0d2lydHNjaGFmdApGcmV1ZGlnCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhbiBidWNoIHphdWJlcnRyYW5rIChadWVyaWxldSwgMTIuIE5vdiAxOTk1LCAwNDoxODo0MSk6CiMhIHJuPUxhcmllbCBydD04MTU4NTQ4NTQKU2FsaSwKTWVuc2NoLi4uIHdhcyBmdWVybmUgSGlsZmUgPTopKQpOdW4sIGxpZWJlIEFuZHJlcywgdmVyc3VjaHMgbWFsIG1pdCAiaGlsZmUgYWRkcmlidXRlIiAodXJnaC4uIGhvZmZlbnRsaWNoCnJpY2h0aWcgZ2VzY2hyaWViZW4pID06KQoKVHNjaHVlc3MgWnVlcmlsZXUgKHNjaHJlY2tlbiBkZXIgVW50ZXJ3ZWx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChadWVyaWxldSwgMTIuIE5vdiAxOTk1LCAwNDoyOTowOCk6CiMhIHJuPUplcnJpY28gcnQ9ODE1ODY1NDEwCk9jaC4uIGljaCBoYWJlIGphYWEgc29vb29vIG1pdGxlaWQgbWl0IERpciBKZXJyaWNvISEKTmVpbiEgTnVuIG1hbCBlcm5zdCwgc2VpdCBtYWwgenVmcmllZGVuLCBmcnVlaGVyIGdhYiBlcyBrZWluIHNvIGd1dApmdW5rdGlvbmllcmVuZGVzIEdlbGRzeXN0ZW0gKEljaCBmaW5kZSBlcyB3aXJrbGljaCBhdXNnZWtsdWVnZWxkKS4gRnJ1ZWhlcgpiZWthbW0gbWFuIGZ1ZXIgamVkZW4gdmVya2F1ZnRlbiB3ZXJ0dm9sbGVuIEdlZ2Vuc3RhbmQgMTAwMCBNdWVuemVuIHVuZAp3ZW5pZ2VyLiBIZXV0ZSBrYW5uIG1hbiBtaXQgZ3V0IEdsdWVjayBtZWhyIGtyaWVnZW4uIFVuZCBudW4gbWFsIGVybnN0LCBhdWNoCmVpbiB1bnRlciBMZXZlbCAyMCBTcGllbGVyLCAoLXVuZCB3ZW5uIGVyIG5vY2ggS2FyYXRla2EgaXN0IGVyc3QgcmVjaHQhKQprcmllZ3QgaW4ga3VlcnplcnN0ZXIgWmVpdCBhdWNoIG9obmUgV2FmZmVuIGFuIDEwMDAwIE11ZW56ZW4gdW5kIG1laHIhIE1hbgptdXNzIGhhbHQgbnVyIG5pY2h0IHp1IGZhdWwgc2VpbiB1bmQgaW4gZGVyIE1wYSBydW16dW5vZXJnZWxuIHNvbmRlcm4gaGFsdCBtYWwKZGllIEdhcmRlbndhZWNodGVyIChjYS4gNHg3MDAwIE11ZW56ZW4gaW4gY2EuIDVtaW4pIG9kZXIgZGFzIE9ya2xhZ2VyIGtpbGxlbgooY2EuIDIwJzAwMCBNdWVuemVuIGluIDEwbWluLCB3ZW5uIG1hbiBqZWRlbiBnZWZ1bmRlbmVuIEdlZ2Vuc3RhbmQgdmVya2F1ZnQhKS4KQWxzbyB3YXJzY2hlaW5saWNoIGF1Y2ggZnVlciBLYXJhdGVydW1ub2VyZ2VsaSBKZXJyaWNvIHp1IHNjaGFmZmVuPwpBbHNvLCBTY2hudWxsZXIgcmF1cyB1bmQgYW5zIFdlcmsgc3RhdHQgcnVtbm9lcmdlbG4uIEljaCBtZWluZSB3aXIga29lbm5lbgpldWNoIGphIGdsZWljaCBMZXZlbCAyMCBiZWltIGVyc3Rlbm1hbCBlaW5sb2dnZW4gZ2ViZW4gYWJlciB3byB3YWVyIGRhIGRlcgpTcGFzcyA/LgoKVHNjaHVlc3MgemFlbWUgZXVlciBadWVyaWxldSAoU2NocmVja2Vuc21hZ2llciBkZXIgdW50ZXJ3ZWx0ISkgPTopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChadWVyaWxldSwgMTIuIE5vdiAxOTk1LCAwNDo1MjowOSk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgxNjE0Njk0OApQUzogVW5kIHdlbm4gaGFsdCBtYWwgZGFzIHN5c3RlbSB2ZXJzYWd0IGlzdCBkb2NoIGF1Y2ggbmljaHQgc28gdHJhZ2lzY2guCkdpZWJ0IGRvY2ggbm9jaCBhbmRlcmUgbW9lZ2xpY2hrZWl0ZW4gc2ljaCBhdWZ6dXRhbmtlbiBvZGVyIG1hbiBmcmFndCBlaW5lbgpLb2xsZWdlbi4gSGV5IGdlaHQgZG9jaCBpbiByZWFsIG5pY2h0IGFuZGVycywgbWFsIGhhdCBtYW4gbWVociBHZWxkIHp1CnZlcmZ1ZWd1bmcgbWFsIHdlbmlnZXIuIEljaCBmaW5kZSBlcyBndXQgc28gd2llIGVzIGpldHp0IGlzdC4gQWNoIExpLCBndXRlClJlZGUgZmFuZCBpY2ggZWNodCBLbGFzc2UgISA9OikKClRzY2h1ZXNzIFp1ZXJpbGV1IChTY2hyZWNrLi4uICBhY2ggaWhyIHdpc3NlbiBzY2hvbi4uLikKLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChNaW5kb2xsdWluLCAxMi4gTm92IDE5OTUsIDEzOjI4OjIyKToKIyEgcm49WnVlcmlsZXUgcnQ9ODE2MTQ4MzI5Clp1ZXJpLCBsb2dnIGJlaSBlaW5lciBVcHRpbWUgdm9uIDUwIFRhZ2VuIGRhcyBuYWVjaHN0ZSBtYWwgd2llZGVyIE5vY3R1cm5lCmVpbiB1bmQgc3BpZWwuIFZvcmhlciB3aXJzdCBkdSB3b2hsIGthdW0ga2FwaWVyZW4gd2FzIEplcnJpY28gbWVpbnQuCkRoLiBuYWNoIEpvZnMgS29ycmVrdHVyIHdpcnN0IGR1IGVzIGphIHNvd2llc28gbmljaHQgZXJsZWJlbiB3aWUgZXMKdm9yaGVyIHdhci4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldFRyAoT3JrdG9ldGVyLCAxMi4gTm92IDE5OTUsIDEzOjU4OjI4KToKSGFsbG8gbGllYmUgTXVkZGllcywKbGVpZGVyIG11c3MgaWNoIG5vY2ggZWluZW4gU2VtaW5hcnZvcnRyYWcgaGFsdGVuLCBkZXIgdm9yYmVyZWl0ZXQgc2VpbiB3aWxsLApkYWhlciB3ZXJkZSBpY2ggbWljaCBiaXMgenVtIDIwLjExIHdvaGwgZXJzdG1hbCBuaWNodCBtZWhyIGhpZXIgYmxpY2tlbgpsYXNzZW4uClNvcnJ5IGZ1ZXIgZGllIFR5cG9zIHVuZCBkYXMgTGF5b3V0Li4uCkFuIGFsbGUsIGRpZSBPcmtUIGVoIG5pY2h0IGxlaWRlbiBtb2VmZW4sIGdlbmllc3N0IGRpZSBaZWl0Li4KQW4gbWVpbmUgRnJldW5kZSA6IGtlaW5lIEJhbmdlLCBpY2gga29tbWUgamEgd2llZGVyLi4uCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMYWVkZW4sIEdlbGQgdW5kIFVwdGltZSAoQWNyaW1vbiwgMTIuIE5vdiAxOTk1LCAxNDowNDowNSk6CiMhIHJuPU1pbmRvbGx1aW4gcnQ9ODE2MTc5MzAyCkljaCBtdXN6IHNjaG9uIHNhZ2VuLCBkYXMgbmV1ZSBHZWxkc3lzdGVtIGlzdCBzcGl0emUhIE1laW4gZ2FuemVzIExvYiBhbiBkaWUKTWFnaWVyLgpVbmQgd2VubiBkaWUgTGFlZGVuIG1hbCBwbGVpdGUgc2luZCwgZGFubiBsaWVndCBkYXMgbmljaHQgYW4gbGFuZ2VyClVwdGltZXplaXQsIHNvbmRlcm4gZGFyYW4sIGRhc3ogZGllIFNwaWVsZXIgdmllbCBHZWxkIGdlaG9ydGV0IGhhYmVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFua3N5c3RlbSAoSWx2ZXMsIDEyLiBOb3YgMTk5NSwgMjM6MjM6MjMpOgojISBybj1SeW5lIHJ0PTgxNTk5MDc3OApEaWUgS25laXBlbiBicmluZ2VuIEdlbGQgenVydWVjaz8gSWNoIGhhYmUgZWhybGljaCBnZXNhZ3Qgbm9jaCBrZWluZW4KU2lubiBnZXNlaGVuLCBtZWluIGtvc3RiYXJlcyBHZWxkIGluIGxlaWJsaWNoZSBHZW51ZXNzZSB1bXp1c2V0emVuLgpPZGVyIHNvbGx0ZSBkYSBlaW4gdmVyYm9yZ2VuZXIgU2lubiBkcmluIHN0ZWNrZW4/CgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYW5rc3lzdGVtIChGeXQsIDEzLiBOb3YgMTk5NSwgMDA6MjM6MTApOgojISBybj1JbHZlcyBydD04MTYyMTUwMDMKV2FzIG1hY2hzdCBEdSBzb25zdCBtaXQgRGVpbmVtIEdlbGQ/CkZ5dC4gU2VpbiBHZWxkIHZlcnNhdWZlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0b3RlciBTaG9wa2VlcGVyIChJbHZlcywgMTMuIE5vdiAxOTk1LCAwMDoyMzo1Nik6CkhhYnQgaWhyIHNjaG9uIG1hbCBOZXRoYWNrIGdlc3BpZWx0PyBXZW5uIGRhIGRlciBTaG9wa2VlcGVyIHRvdCBpc3QsCmthbm4gbWFuIHd1bmRlcmJhciBhbGxlcyBrbGF1ZW4uIFNjaGFkZSwgZGFzcyBkYXMgaW4gTUcgbmljaHQgYXVjaCBnZWh0Li4uCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRvdGVyIFNob3BrZWVwZXIgKEFjcmltb24sIDEzLiBOb3YgMTk5NSwgMDg6Mzg6MjUpOgojISBybj1JbHZlcyBydD04MTYyMTg2MzYKRGFmdWVyIHZlcmh1bmdlcnQgbWFuIGluIE5ldGhhY2sgaW1tZXIuCk5laW4sIGljaCBiaW4gc2Nob24gZnJvaCwgZGFzeiBlcyBoaWVyIG5pY2h0IHNvIHdpZSBpbiBOZXRoYWNrIGlzdC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIG5ldWUgQm9hcmQuLi4gKExhcmlzc2EsIDEzLiBOb3YgMTk5NSwgMDg6NDc6MzgpOgogRmlsZTogTmV3Ym9hcmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMPTEgICAgIApCPTAKSGlobyEKTmFjaCBkZXIgbmV0dGVuIEJlc2NocmVpYnVuZyB2b24gR3JpbW1ib3JuLCBkZXIgZGVuIFVtenVnIGRhcyBNRydzIGRhbWFscwpzbyBndXQgYmVzY2hyaWViZW4gaGF0LCBtb2VjaHRlIGljaCBFdWNoIGRvY2ggbnVuIGF1Y2ggZGllIFVtc3RlbGx1bmcgYXVmCmRhcyBuZXVlIEJvYXJkIG5pY2h0IHZvcmVudGhhbHRlbi4uLgpGcmVpdGFnLCAxMS4xMS4KMTkuMzA6Ck5hY2hkZW0gSm9mIGRlbiBNRy1SZWNobmVyIHVudGVyIGRlbSBTY2hyZWlidGlzY2ggaGVydm9yZ2V6ZXJydCBoYXQsIHNpZWh0Cm1hbiBlaW5lbiBDYXR3YWV6bGUgbWl0IGJsaW5rZW5kZW4gU3BvcmVuIGF1ZiBzZWxiaWdlbSBzaXR6ZW4gdW5kIGxhdXQKSGV5YSBicnVlbGxlbi4uLgpEYXMgd2FyIGRhbm4gZGVyIFN0YXJ0c2NodXNzISBEZXIgUmVjaG5lciB3aXJkIGF1ZiBkZW4gZWlsaWcgZnJlaWdlYmFnZ2VydGVuClRpc2NoIHZlcmZyYWNodGV0LCBhdWZnZXNjaHJhdWJ0IHVuZCB1bWdlbGVndC4gTmFjaGRlbSBzaWNoIGRpZSBiZWlkZW4KT3BlcmF0ZXVyZSBkYW5uIGR1cmNoIGVpbmlnZSBTY2hpY2h0ZW4gU3RhdWIgZ2V3dWVobHQgaGFiZW4sIHdpcmQgZW5kbGljaApkYXMgQm9hcmQgZnJlaWdlbGVndCB1bmQgbWl0IGVpbmVtIGZyZXVkaWdlbiAnamV0enQga29tbXRzJyBoZXJhdXNnZXJ1cGZ0LgoxOS40NToKRGllIEtpc3RlIHdpcmQgZWlsaWcgd2llZGVyIHp1c2FtbWVuZ2VzY2hyYXVidCwgZGFzIGdpbmcgc2VociBzY2huZWxsLAphYmdlc2VoZW4gdm9uIGdlbGVnZW50bGljaGVuIEtvbW1lbnRhcmVuIHdpZSAnYWVoaGgsIHdvIGlzdCBkaWUgRmVzdHBsYXR0ZSwKQ2F0Pz8/JyAuLi4KMTkuNTA6CkRlciBSZWNobmVyIHdpcmQgZ2Vib290ZXQsIGFsbGVzIHdhcnRldCBnZXNwYW5udCwgdW5kIHdhcnRldCwgdW5kIHdhcnRldCwKdW5kIHdhcnRldC4uLi4uLgpDYXQqOiBKb2YsIHdhciBkYXMgdW5zZXJlIEdyYXBoaWtrYXJ0ZT8/PwpKb2Y6IEhtcGYuLi4uLgpOYWphLCB1bmQgZGEgemVpZ3RlIHNpY2ggZGFubiwgd2FzIGRlbiBHb3R0IGF1c21hY2h0LCBvZGVyIHdlciBrYW5uCnNvbnN0LCBnZWJhbm50IGF1ZiBkZW4gdm9lbGxpZyBzY2h3YXJ6ZW4gQmlsZHNjaGlybSBibGlja2VuZCBlaW5lbiBSZWNobmVyCmJlZGllbmVuPz8/CjIwLjAwOgpFcyB3aXJkIGVpbmUgendlaXRlIEdyYXBoaWthcnRlIG9yZ2FuaXNpZXJ0LCBkaWUgR29ldHRlciBzY2h3ZWlnZW4gc2ljaAp1ZWJlciBkaWUgSGVya3VuZnQgYWxsZXJkaW5ncyBhdXMsIHVuZCBkYXMgU3BpZWwgdm9uIG5ldWVtIGdlc3RhcnRldC4uLgpBbGxlcyB3YXJ0ZXQsIHVuZCB3YXJ0ZXQsIHVuZCB3YXJ0ZXQsLi4uCi4uLmxlaWRlciBoYXR0ZW4gd2lyIG51biBvZmZlbnNpY2h0bGljaCB6d2VpIE1vZWdsaWNoa2VpdGVuOgpFbnR3ZWRlciBrZWluIEJpbGQsIG9kZXIga2VpbmUgVGFzdGF0dXIgKnNjaHJlaSouLi4KSm9mIGJlc2NobGllc3N0IGFsc28sIGt1cnplcmhhbmQgZGFzIGtlcm5lbCBuZXUgenUgcGF0Y2hlbi4uLi4KQ2F0KiB1bmQgaWNoIHNjaGF1ZW4genUgZGllc2VtIFplaXRwdW5rdCBtYWwgaW4gYW5kZXJlIE11ZHMgdm9yYmVpLCB3YXMKQ2F0J3MgUnVmIGRldXRsaWNoIGdlc2NoYWRldCBoYWJlbiBkdWVyZnRlICp6d2lua2VyIEhlbGxvd2VlbiwgZGVyIHNpY2gKaW1tZXIgbm9jaCBmcmFndCwgd2llc28gZXIgc3Rpbmt0Li4uKi4KT2ZmZW5zaWNodGxpY2ggaGF0dGUgc2ljaCBkaWUgTUctU2NoYWZ0IGdhbnogZ3V0IHZlcnRlaWx0LCBkZXIgZC1jaGF0LAp3YXIgamVkZW5mYWxscyB6aWVtbGljaCBha3RpdiwgbmFqYSwgd2llIGRlbSBhdWNoIHNlaSwgd2lyIHdhcnRldGVuLCB1bmQKd2FydGV0ZW4sIHVuZCB3YXJ0ZXRlbiwgZGVyIERpbmdlLCBkaWUgZGEga29tbWVuIHNvbGx0ZW4uLi4KMjAuMzA6CkpvZiBoYXQgZXMgZ2VzY2hhZmZ0LCB3ZXIgaGFldHRlIGplIGRhcmFuIGdlendlaWZlbHQsIGRhcyBNRyBpc3Qgd2llZGVyIHVwLgoqZnJldSogKmZyZXUqICpmcmV1KiAqZnJldSogKmZyZXUqICpmcmV1KiAqZnJldSogKmZyZXUqICpmcmV1KiAqZnJldSoKCkxhcmlzc2EuClBTOiBLYW5uIHNlaW4sIGRhc3MgZGllIFplaXRlbiBuaWNodCBnYW56IHN0aW1tZW4sIGljaCBoYWIgbWljaCBuaWNodCBtZWhyCiAgICBzbyBnZW5hdSBlcmlubmVydC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFua3N5c3RlbSAoQXNtb2RpcywgMTMuIE5vdiAxOTk1LCAxMToxMzo0Nik6CiMhIHJuPUlsdmVzIHJ0PTgxNjIxNTAwMwpBY2ggZHUgYmlzdCBhdWNoIGVpbmVyIGRlciBVbndpc3NlbmRlbiwgZGllIG51ciBoZXJ1bWlkZWxuLCB3ZW5uCnNpZSB6dSB3ZW5pZyBMUCBoYWJlbiB1bSB6dSBrYWVtcGZlbj8gZ2VoIGRvY2ggbWFsIGluIGVpbmUga25laXBlCnVuZCBpc3Mgd2FzIG9kZXIgdHJpbmsgYWxrb2hvbCwgZGFzIHdpcmt0IFd1bmRlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENvcHlyaWdodD8gKEdyaW1tYm9ybiwgMTMuIE5vdiAxOTk1LCAxMzozNTo0OCk6CiMhIHJuPUpvZiBydD04MTYwMDk5MTIKCiJNdWx0aXBsZSBleGNsYW1hdGlvbiBtYXJrcyBhcmUgYSBzdXJlIHNpZ24gb2YgYSBkaXNlYXNlZCBtaW5kISIKKFQuUHJhdGNoZXR0LCBFcmljLCBTLjEyMSkKRGVtIGlzdCBuaWNodHMgbWVociBoaW56dXp1ZnVlZ2VuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic2NoaWVkIChKYW5pY2UsIDEzLiBOb3YgMTk5NSwgMTQ6MDk6MTYpOgpIYWxsbyBpaHIgbGllYmVuIE1pdHNwaWVsZXIgISEhCldpZSBkZXIgVGl0ZWwgZXMgc2Nob24gYW5rdWVuZGlndCwgd2VyZCBpY2ggbWljaCBmdWVyIGVpbmUgV2VpbGUgdm9tIE1HCnZlcmFic2NoaWVkZW4uIEZ1ZXIgd2llIGxhbmdlIHdlaXNzIGljaCBub2NoIG5pY2h0LCBtaW5kZXN0ZW5zIGFiZXIgYmlzCkVuZGUgTm92ZW1iZXIsIGFiZXIgd2FocnNjaGVpbmxpY2ggd29obCBsYWVuZ2VyIDooCkRlciBHcnVuZCA/PyBUamEsIGRhcyBsaWViZSBTdHVkaXVtICEhIEljaCBoYWIncyBpbiBkZW4gbGV0emVuIFNlbWVzdGVybgpldHdhcyBzY2hsZWlmZW4gbGFzc2VuLCB1bmQgamV0enQgbXVzcyBpY2ggbWFsIGFuZmFuZ2VuIGV0d2FzIHp1IHR1biA6KQpJY2ggd2VyZCBldWNoIHNlaHIgdmVybWlzc2VuICEhIQplaW5lIHRyYXVyaWdlIEphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKEtyZXRlaywgMTMuIE5vdiAxOTk1LCAxNjoyMToxOSk6CiMhIHJuPU1pbmRvbGx1aW4gcnQ9ODE2MTc5MzAyCkh1Y2ghIEpvZiAia29ycmlnaWVydCIgd2llZGVyIHdhcz8gSGFsdGV0IGRpZSBQbGF5ZXJmaWxlcyBmZXN0ISEhCgpLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWxpY2ggYmVpIGRlbiBLYXJhdGVvcmtzIChGeXQsIDEzLiBOb3YgMTk5NSwgMTk6MzQ6NDApOgouICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTggbHAgICAxMjAgbXAKT2ssIEZsdWNodHJpY2h0dW5nICJzIi4KT2sKPiBbQWxsZ2VtZWluOk11cGZlbF0gYnJiCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5OCBscCAgIDEwNiBtcAooKikgU290by1zaHV0by11Y2hpCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgrKSAgICAgICAgICAgTW9yb3RlLXRzdWthbWktdWtlCi4gICAgMjAKLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCopIFlva28tdG9iaS1nZXJpLWtla29taQpPcmsgLS0gZWluZW0gc2VociBnZWx1bmdlbmVuIFlva28tdG9iaS1nZXJpLWtla29taQooKykgICAgICAgICAgIE1hZXVkZS1kZWFpLW9zYWUtdWtlCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5OCBscCAgIDEwNSBtcAouICAgICAgICAgICAgLSAzMAouICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MCBscCAgIDEwNSBtcAouICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKikgWW9rby10b2JpLWdlcmkta2Vrb21pCk9yayAtLSBlaW5lbSBzZWhyIGdlbHVuZ2VuZW4gWW9rby10b2JpLWdlcmkta2Vrb21pCigrKSAgICAgICAgICAgS2VuLWp1amktdWtlCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwIGxwICAgMTA0IG1wCi4gICAgICAgICAgICAtIDMwCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM3IGxwICAgMTA0IG1wCkRpZSBBbmdzdCBpc3Qgc3RhZXJrZXIgYWxzIER1IC4uLiBEdSB3aWxsc3QgbnVyIG5vY2ggd2VnIGhpZXIuCkVpbiBPcmsgaXN0IGpldHp0IGhpbnRlciBEaXIgaGVyLgpFaW4gV2VnIHp1ciBTdGFkdC4KRXMgZ2lidCBkcmVpIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IHN1ZWRlbiwgd2VzdGVuIHVuZCBub3JkZW4uClJlcG9ydG1vZHVzIGlzdCBqZXR6dCBhdXNnZXNjaGFsdGV0LgpTcGVpY2hlcmUgRnl0LgpEdSB6aWVoc3QgZGVuIHJvdGVuIEd1ZXJ0ZWwgYXVzLgpEdSB6aWVoc3QgZGVuIEdpIGF1cy4KOgo5OCBscCBtaXQgZWluZW0gVHJpdHQgYmVpIGdlbHVuZ2VuZXIgQWJ3ZWhyLi4gaXMgZGFzIG5vcm1hbD8KOgpGeXQsIHNpY2ggd3VuZGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChadWVyaWxldSwgMTQuIE5vdiAxOTk1LCAwMzo0NjoxNyk6CiMhIHJuPU1pbmRvbGx1aW4gcnQ9ODE2MTc5MzAyClNhbGksCkljaCB3ZWlzcyB3aWUgZXMgdm9yaGVyIHdhciwgc2NobGllc3NsaWNoIGJpbiBpY2ggZ2xhdWJzIG51biBrbmFwcCAyIEphaHJlCm9kZXIgbGFlbmdlciBoaWVyICEgQWxzbyB1bmQgd2VnZW4gTm9jdHVybmUsIGljaCB3ZWlzcyBkYXMgZXMgbmljaHQgaW1tZXIKbGVpY2h0IGlzdCBhYmVyIGRhcyBtdXNzIGVzIGpvIGF1Y2ggbmljaHQsIGltIGxlYmVuIHdpcmQgZGlyIGphIGF1Y2ggbmljaHQKYWxsZXMgZ2VzY2hlbmt0ID06KQpUc2NoYXUgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChadWVyaWxldSwgMTQuIE5vdiAxOTk1LCAwMzo0Nzo1NCk6CiMhIHJuPUFjcmltb24gcnQ9ODE2MTgxNDQ1ClNhbGksCkdlbmF1LCBpY2ggbWVpbmUgd2VubiBqZWRlciBtaXQgMTUgQmFua3p3ZWl0aXMgbWlydCBqZSAyMCcwMDAgTXVlbnplbiB1bmQKbWVociBkdXJjaCBkaWUgR2VnZW5kIHNwYXppZXJ0LCBtdWVzc3QgaWhyIGV1Y2ggd29obCBrYXVtIHd1bmRlcm4gZGFzIGtlaW4KR2VsZCBpbiBkZW4gTGFlZGVuIGlzdCAhCgpUc2NodWVzcyBadWVyaWxldSA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChSYWZmaSwgMTQuIE5vdiAxOTk1LCAxODo1MTo0Myk6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgxNjMxNzI3NAoKLS0tLS0tQXVjaC1TZW1wZnQtLS0tLQoKQWxzbyBtLkUuIGlzdCBkYXMgR2VsZHN5YXN0ZW0gZ2FueiBicmF1Y2hiYXIgLSBlaW56aWcgZXMgZ2lidCB6dSB3ZW5pZwooc2ludm9sbGUpIG1vZWdsaWNoa2VpdGVuIGVzIGF1c3p1Z2ViZW4uCgotLS0tLS0tLS0tLS0tLQpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0b3RlciBTaG9wa2VlcGVyIChJbHZlcywgMTQuIE5vdiAxOTk1LCAxOTowNDozNCk6CiMhIHJuPUFjcmltb24gcnQ9ODE2MjQ4MzA1Ck5pY2h0LCB3ZW5uIER1IExlaWNoZSBmcmlzc3QsIHVuZCBpbSBOb3RmYWxsIGthbm5zdCBEdSBhdWNoIGJldGVuLgoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic3R1cnogKElsdmVzLCAxNC4gTm92IDE5OTUsIDE5OjE5OjAwKToKSWNoIGhvZmZlLCBpY2ggbmVydmUgbmljaHQsIGFiZXIgZWlucyBtb2VjaHRlIGljaCBkb2NoIG5vY2ggd2lzc2VuOgpWb3IgZGVtIGxldHplbiBSZWJvb3QgaGF0dGUgaWNoIGVpbiBLYW1wZnNjaHdlcnQsIGVpbmVuIExpY2h0cGFuemVyCmVpbmVuIEhlbG0gdW5kIG5vY2ggZWluIHBhYXIgS2xlaW5pZ2tlaXRlbi4gSmV0enQgd2FjaGUgaWNoIGF1ZiBtaXQga25hcHAKMTAuMDAwIE11ZW56ZW4sIGRhdm9uIGthbm4gaWNoIGdlcmFkZSBlaW5lbiBuZXVlbiBMaWNodHBhbnplciBrYXVmZW4uCklzdCBkYXMgbmljaHQgdW5nZXJlY2h0PwoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnN0dXJ6IChSYWZmaSwgMTQuIE5vdiAxOTk1LCAxOToyMzo0Nyk6CiMhIHJuPUlsdmVzIHJ0PTgxNjM3MzE0MAoKV2VyIHNhZ3QgZGVubiBkYXMgZGFzIGxlYmVuIGZhaXIgaXN0LgoKR3J1c3MKSC4KKGhhYiBhdWNoIHNjaG9uIGRldXRsaWNoIGRhcnVudGVyIGdlbGl0dGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3R1cnogKEFzbW9kaXMsIDE0LiBOb3YgMTk5NSwgMjA6Mzk6MjMpOgojISBybj1JbHZlcyBydD04MTYzNzMxNDAKbm9lLCBpbSBMYWRlbiBoYWV0dGVzdCBkdSBuaWNodCBzb3ZpZWwgYmVrb21tZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhc3Mgd29sbG4gd2lyIGRvY2ggbWFsIHNlaGVuIChTZW1pcmEsIDE0LiBOb3YgMTk5NSwgMjE6MzU6MjEpOgpBbHNvIHdpcmtsaWNoLi4uLmRhc3Mgd29sbG4gd2lyIGRvY2ggbWFsIHNlaGVuLi4uLgoKTWVpbiBsaWViZ2VoYWJ0ZXIgR29ldHRlci0oYWNoIHdhcyBNYWdpZXItKS1nYXR0ZSBDcmVhdGl2ZSBiZWhhdXB0ZXQgZG9jaApnbGF0dCwga2VpbmVyIHd1ZXJkIGlobiBtb2VnZW4vZ2VybmhhYmVuL2xpZWJoYWJlbi9sZWlkZW5tb2VnZW4gZXRjLiBldGMuIGV0Yy4KIEhtLCBkaWUgTWlkbGlmZWNyaXNpcyBzY2hvbiBpbiBkZW0gQWx0ZXI/IEthbm4gZG9jaCBuaWNodCBzZWluLgoKTmFqYSwgd28gYWxsZXMgUmVkZW4gdmVyc2FndCwgZGEgbXVlc3NlbiBUYXRlbiBmb2xnZW4uLi5hbHNvIEFVRlJVRjoKCkR1LCBqYSBEdSwgZnVlaGxzdCBEaWNoIGRvY2ggc2ljaGVyIGFuZ2VzcHJvY2hlbiB1bmQgbWFnc3QgaWhtIGVpbmZhY2ggZGFzCkdlZ2VudGVpbCBiZXdlaXNlbi4uLkFsc28gZml4IGhpbmdlc2V0enQgdW5kIG11ZG1haWwgZ2VzY2hyaWViZW4sIHdhZXIgZG9jaApnZWxhY2h0LCB3ZW5uIGljaCBkaWUgZWluemlnZSB3YWVyZSwgZGllIGlobSBqZXR6dCBzY2hyZWlidC4KCkNyZWF0aXZlcyBTY2htdXNlbWF1cyBTZW1pcmEgLSBVbnRlcnNjaHJpZnRlbmFrdGlvbiBmdWVyIHp1ZnJpZWRlbmUKRWlzYmFlcmxpcwoKUC5TLiBJY2ggc2V0eiBkYXMgbWFsIGluIGFsbGdlbWVpbiAtIHNvbGwgamEgbmljaHQgYW4gbWFuZ2VsbmRlciBMZXNlcnNjaGFmdApzY2hlaXRlcm4uCgpQLlMuUy4gQWNoIGphLCBzbyBBa3Rpb25lbiBoYWJlbiBkb2NoIGltbWVyIGVpbiAiS2VubndvcnQiICpncnVlYmVsKiBOYSwKbmVoZW0gd2lyIGVpbmZhY2ggbWFsICJLZWluZXIgaGF0IG1pY2ggbGllYiIKClAuUy5TLlMgU28sIHVuZCBudW4gZW50dGFldXNjaHQgbWljaCBuaWNodCEKClNlbWlyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGFzIHdvbGxuIHdpciBkb2NoIG1hbCBzZWhuIElJIChTZW1pcmEsIDE0LiBOb3YgMTk5NSwgMjI6MDA6NTMpOgoKQWNoIGphLCBpY2ggdmVyZ2FzczogQWJzY2hyaWZ0IGJpdHRlIGFuIG1pY2gsIGRhbWl0IGljaCBkZW4gRXJmb2xnIG9kZXIKTWlzc2VyZm9sZyBtZWluZXIgQWt0aW9uIHVlYmVyd2FjaGVuIGthbm4gOikKCkFiZXIgaWhyIGxhc3N0IG1pY2ggZG9jaCBuaWNodCBpbSBTdGljaCA6KQoKU2VtaXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGFzIHdvbGxuIHdpciBkb2NoIG1hbCBzZWhuIElJIChNdXBmZWwsIDE0LiBOb3YgMTk5NSwgMjI6MDU6NDEpOgojISBybj1TZW1pcmEgcnQ9ODE2MzgyODUzCmRvY2ghCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWJzdHVyeiAoSmltZGlncml6LCAxNC4gTm92IDE5OTUsIDIyOjI2OjM5KToKIyEgcm49SWx2ZXMgcnQ9ODE2MzczMTQwCklsdmVzLAoKbGllcyBkaWUgRkFRICwgZGEgc3RlaHQgZ2VuYXUgc293YXMgZHJpbi4KCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkYXMgd29sbG4gd2lyIGRvY2ggbWFsIHNlaG4gSUkgKENhcmFkaHJhcywgMTQuIE5vdiAxOTk1LCAyMzo0Njo0MSk6CiMhIHJuPU11cGZlbCBydD04MTYzODMxNDEKYmVzdGltbXQgKmdyaW5zIGZyZWNoKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKEFyYW55YSwgMTUuIE5vdiAxOTk1LCAxMjoyMjozNyk6CiMhIHJuPVJhZmZpIHJ0PTgxNjM3MTUwMwpBdSBqYSEgV28gc2luZCBkaWUgZ3Jvc3NlbiBFaW5rYXVmc2xhZWRlbiwgd28gbWFuIHN0dW5kZW5sYW5nIGhpbmR1cmNoaXJyZW4Ka2Fubj8gV28gc2luZCBkaWUgVmVyc2FuZGhhZXVzZXIsIGJlaSBkZW5lbiBtYW4gcGVyIG11ZG1haWwgYmVzdGVsbGVuIGthbm4/Cldhbm4gbWFjaHQgZGVyIGVyc3RlIEZyaXNldXIgaW0gTUcgYXVmPyBBdWNoIGFscyBLb25rdXJyZW56IHp1IE1QQSB1bmQgU2FuZC0KdGlnZXIuLi4gVW5kIHZvciBhbGxlbTogV28gc2luZCBkaWUgRnJldWRlbmhhZXVzZXIgbWl0IGtuYWNraWdlbiwgYnJhdW5nZS0KYnJhbm50ZW4gSnVuZ3M/IT8gREEga29lbm50ZSBtYW4gR2VsZCBsYXNzZW4hCkFyYW55YQogICAgICBmcmV1dCBzaWNoIGRyYXVmCk5OTi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnN0dXJ6IChLcmV0ZWssIDE1LiBOb3YgMTk5NSwgMTQ6MzY6NDkpOgojISBybj1JbHZlcyBydD04MTYzNzMxNDAKTm9lLiBJc3QgbmljaHQgdW5mYWlyLgpTY2hhdSBEaXIgZG9jaCBtYWwgYW5kZXJlIE1VRHMgYW46IE1vcmdlbkdyYXVlbiBpc3QgZWluZXMgZGVyIGdhbnosIGdhbnoKd2VuaWdlbiwgd28gRHUgdWViZXJoYXVwdCBlaW5zY2hsYWZlbiBVTkQgRGVpbmUgQXVzcnVlc3R1bmcgYmVoYWx0ZW4Ka2FubnN0LCBmYXN0IHVlYmVyYWxsIHNvbnN0IHZlcmxpZXJzdCBEdSBEZWluZSBBdXNydWVzdHVuZyBiZWltCkF1c2xvZ2dlbiAoei5CLiB2ZXJrYXVmZW4uLi4pCkRhc3MgbWFuIGFsc28gZWluc2NobGFmZW4gdW5kIGFsbGVzIGJlaGFsdGVuIGthbm4gaGllciBpbSBNRywgZGFzIGlzdAplaW4gTFVYVVMhIChVbmQgendhciBlaW4gemllbWxpY2ggUGxhdHRlbnBsYXR6aW50ZW5zaXZlcikuCkluc29mZXJuIGlzdCBlcyBuaWNodCB1bmZhaXIsIGRhc3MgRHUgamV0enQgIm51ciIgZWluZSBmaW5hbnppZWxsZQpFbnRzY2hhZWRpZ3VuZyBiZWtvbW1zdCwgc29uZGVybiBzb2dhciBhdXNzZXJnZXdvZWhubGljaCBmYWlyISEhCgpUaHVzIGZhciBteSBtdXN0YXJkIQoKS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMYWVkZW4sIEdlbGQgdW5kIFVwdGltZSAoUmFmZmksIDE1LiBOb3YgMTk5NSwgMTU6MTE6MTcpOgojISBybj1SYWZmaSBydD04MTYzNzE1MDMKCj4gV28gc2luZCBkaWUgZ3Jvc3NlbiBFaW5rYXVmc2xhZWRlbiwgd28gbWFuIHN0dW5kZW5sYW5nCiAgaGluZHVyY2hpcnJlbiBrYW5uPwo+IFdvIHNpbmQgZGllIFZlcnNhbmRoYWV1c2VyLCBiZWkgZGVuZW4gbWFuIHBlciBtdWRtYWlsCiAgYmVzdGVsbGVuIGthbm4/CgpTb3dhcyBpbiBkZXIgYXJ0IGhhYmUgaWNoIGhpZXIgaW0gUm9oYmF1IHJ1bWxpZWdlbiAtIGljaApicmF1Y2ggbnVybm9jaCBlaW5lbiBNYWdpZXIgZGVyIGRhcyBlaW5iYXV0LgoKPiBXYW5uIG1hY2h0IGRlciBlcnN0ZSBGcmlzZXVyIGltIE1HIGF1Zj8KCkRhIGVudHppZWh0IHNpY2ggbWlyIG5vY2ggZGVyIFNpbm4gYWJlciB3YXJ1bSBuaWNodCA6KQoKPiBXbyBzaW5kIGRpZSBGcmV1ZGVuaGFldXNlciBtaXQga25hY2tpZ2VuLCBicmF1bmdlYnJhbm50ZW4KICBKdW5ncz8hPwoKS29tbSAgZG9jaCBtYWwgYmVpIG1pciB2b3JiZWkgLSAxMCBUYWdlIFNvbm5lIGhhYmVuIElocmUKU3B1cmVuIGhpbnRlcmxhc3NlbiA6KQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcmJ1bmcgOikgKEdhc3Q0LCAxNS4gTm92IDE5OTUsIDE2OjEzOjIzKToKSWNoIHdvbGx0ZSBtYWwgV2VyYnVuZyBmdWVyIGVpbiBNdWQgbWFjaGVuLCB3YXMgbWlyIHBlcnNvZW5saWNoIHZpZWwgU3Bhc3MKbWFjaHQsIHdlbGNoZXMgaWNoIGFiZXIgbmljaHQgaW4gZGVyIE11ZGxpc3QgaGllciBmaW5kZW4ga2FubjoKVW50ZXIgMTM0LjEwMi4yMDEuMTExIDQwMDAgYmVmaW5kZXQgc2ljaCBlaW4gRGlrdW11ZC4gTWFuIGthbm4gendpc2NoZW4gNApLbGFzc2VuIChEaWViLCBLcmllZ2VyLCBNYWdpZXIsIEtsZXJpa2VyKSB1bmQgOCBSYXNzZW4gd2FlaGxlbi4gWmF1YmVydHJhZW5rZQpnaWJ0IGVzIGtlaW5lLCBhYmVyIG1hbiBrYW5uIHNlaW5lIHp1CkFuZmFuZyBhdXNnZXd1ZXJmZWx0ZW4gU3RhdHMgbWl0IEdlZ2Vuc3RhZW5kZW4gdmVyYmVzc2VybiwgYXVzc2VyZGVtIGJla29tbXQKbWFuIG1pdCBzdGVpZ2VuZGVtIExldmVsIHZlcnNjaGllZGVuZSBTa2lsbHMsIGF1ZiBkaWUgbWFuIHNlaW5lIFByYWN0aWNlLCBkaWUKbWFuIHBybyBMZXZlbCBiZWtvbW10LCB2ZXJ0ZWlsZW4ga2Fubi4KUXVlc3Qgc2luZCB2b3JoYW5kZW4sIGFsbGVyZGluZ3Mgc28sIGRhc3Mgd2VubiBtYW4gZWluZW4gYmVzdGltbXRlbiBMZXZlbAplcnJlaWNodCwgZWluZW4gTlBDcyBhbnNwcmVjaGVuLCBvYiBtYW4gQXVmdHJhZWdlIHVlYmVybmVobWVuIHdpbGwuIFBmbGljaHQKaXN0IE5JQ0hUIHZvcmhhbmRlbi4uLgpJbnNnZXNhbXQgbWFjaHRlIGVzIGF1ZiBtaWNoIGVpbmVuIGd1dGVuIEVpbmRydWNrLCBhdWNoIHdlbm4gZXMgaW4gRU5HTElTQ0gKZ2VzY2hyZWliZW4gaXN0LCB3YXMgbWFuY2hlbSBoaWVyIHZpZWxsZWljaHQgbmljaHQgc28gbGllZ3QgOikgRGFmdWVyIGthbm4gbWFuCmFiZXIgYXVjaCBCZWthbm50c2NoYWZ0IG1pdCBBbWVyaWthbmVybiBzY2hsaWVzc2VuLi4uCkFjaHNvLCBub2NoIGVpbiBwbHVzOiBHZWdlbnN0YWVuZGUgd2VyZGVuICdnZXJlbnRlZCcsIGQuaC4gbWFuIHphaGx0IGVpbmUKYmVzdGltbXRlIFN1bW1lIHBybyBHZWdlbnN0YW5kLCBoYXQgZGllc2VuIGFiZXIgZGFubiBzb3dvaGwgbmFjaCBDcmFzaCBhbHMKYXVjaCBuYWNoIFJlYm9vdCB3aWVkZXIuIFBsYXllcmtpbGwgaXN0IGluZGlyZWt0IGVybGF1YnQsIGRhZnVlciBtdXNzIG1hbiBzaWNoCmluIGRhcyAnYm9vayBvZiBibG9vZCcKZWludHJhZ2VuLgpXZXIgbWFsIHJlaW5zY2hudXBwZXJuIHdpbGwsIGhpZXIgbm9jaG1hbCBkaWUgTnVtbWVyOgoxMzQuMTAyLjIwMS4xMTEgNDAwMCAuLi4uClZpZWwgU3Bhc3MsIGVpbiBHYXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWJzdHVyeiAoWnVlcmlsZXUsIDE1LiBOb3YgMTk5NSwgMTg6MTE6NTkpOgojISBybj1JbHZlcyBydD04MTYzNzMxNDAKU2FsaSBJbHZlcywKTnVuIGlzdCBkYXMgTGViZW4gbmljaHQgdW5nZXJlY2h0ID8KU2NobGllc3NsaWNoIHZlcmxpZXJlbiBkZWluZSBHZWdlbnN0YWVuZGUgYmVpIGdlYnJhdWNoIGF1Y2ggYW4gV2VydCB1bmQgZHUKZGVua3N0IG5pY2h0IGRhcyB1bnNlcmUgc29uc3Qgc2Nob24gdm9tIGh1bmdlcnRvdCBnZXBsYWdkZW4gSGFlbmRsZXIgaW4KTW9yZ2VuZ3JhdWVuIG5vY2ggZWluZW4gMToxIFByZWlzIGZ1ZXIgZWluIE9jY2FzaW9uIFNjaHdlcnQgYmV6YWhsZW4gPwpCaXMgZnJvaCBkYXNzIGRhcyBNdWQgdWViZXIgNTAgVGFnZSBvbmxpbmUgd2FyIHVuZCBkYXMgZHUgZnVlciBkZWluZQpBdXNydWVzdHVuZyB1ZWJlcmhhdWJ0IGV0d2FzIGJla29tbXN0IGRlbiBkYXMgaXN0IHNjaG9uIEx1eHVzIGdlbnVnICEKClRzY2h1ZXNzIFp1ZXJpbGV1IChTY2hyZWNrZW4gZGVyIFVudGVyd2VsdCEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGRhcyB3b2xsbiB3aXIgZG9jaCBtYWwgc2VobiBJSSAoWnVlcmlsZXUsIDE1LiBOb3YgMTk5NSwgMTg6MTM6NDQpOgojISBybj1NdXBmZWwgcnQ9ODE2MzgzMTQxCk9jaCBpY2ggZmluZCBjcmVhdGl2ZSBub2NoIGdhbnogbmV0dCwgbnVyIG1hZyBtaWNoIHdhcnNjaGVpbmxpY2gga2VpbmVyID06KAoqU25pZWYqID06KSkKClRzY2h1ZXNzIHphZW1lIFp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFic3R1cnogKFp1ZXJpbGV1LCAxNS4gTm92IDE5OTUsIDE4OjE3OjA3KToKIyEgcm49S3JldGVrIHJ0PTgxNjQ0MjYwOQpTYWxpIEtyZXRlaywKSm8gZHUgaGFzdCByZWNodCBhYmVyIGRlciBtaXQgZGVtIGVpbnNjaGxhZmVuIGdpZWJ0cyBhdWNoIGFuZGVyc3dvLCBkb3J0Cm11c3N0IGR1IG51ciBlaW5mYWNoIGVpbmVuICJIYW5nIFVwIiB2ZXJ1cnNhY2hlbiB1bmQgZHUgaGFzdCBkZW4gc2VsYmVuIGVmZmVjdAp3aWUgaGllci4gQWJlciBkdSBoYXN0IHJlY2h0IG5hdHVlcmxpY2ggdmllbCBwcmFrdGlzY2hlciBlaW5lbiBCZWZlaGwKZWluenV0aXBwZW4gYWxzIGltbWVyIGRhcyBNb2RlbSBhYnp1aGFlbmdlbiBtdWVzc2VuLCBiZXp3LiA8c2hpZnQtRjI+IHp1CmRydWVja2VuIGJlaSBtaXIgPTopCgpUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWJzdHVyeiAoS3JldGVrLCAxNS4gTm92IDE5OTUsIDE4OjUzOjI2KToKIyEgcm49WnVlcmlsZXUgcnQ9ODE2NDU1ODI3Clp1ZXJpLAoKSWNoIG1laW50ZSBqYSBlaWdlbnRsaWNoIGRhcyBFaW5zY2hsYWZlbiBhdWNoIGFscyBmZXN0IGltIE1VRAppbXBsZW1lbnRpZXJ0ZSBPcHRpb24hIERhc3MgbWFuIGVpbmVuIEhhbmdVcCBtYWNoZW4ga2FubiAoei5CLiBhdWNoCmR1cmNoIENUUkwtWiBpbiBUZWxuZXQuLi4pLCBkYXMgaXN0IGphIG5pY2h0cyBOZXVlcywgYWJlciBlcyBpc3QgZWJlbgphdWNoIG5pY2h0IGV4dHJhIHZvcmdlc2VoZW4uIERlciBTcGllbGVyIGJsZWlidCBkYW5uIGphIGF1Y2ggYWt0aXYgKCEpCmVpbmdlbG9nZ3QsIGVyIGlzdCB6d2FyIGlkbGUsIGFiZXIgZXIga2FubiB6LkIuIGF1Y2ggZ2V0b2V0ZXQgd2VyZGVuLgpIaWVyIGlzdCBkYXMgamEgd29obCBuaWNodCBzby4uLgoKSGV1dGUgb2JlcnNjaGxhdSwKS3JldGVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbiBhbGxlIFRGJ2xlciAoQXJ0eSwgMTUuIE5vdiAxOTk1LCAyMTowNzoxNyk6CkhhbGxpSGFsbG8hCgpBbiBhbGxlIFRGLU51dHplciEhISEhCgpJY2ggaGFiIG1pciBoZXV0ZSBkaWUgbmV1c3RlIFZlcnNpb24gVGlueUZ1Z3VlIGdlem9nZW4gKGExNiksCmVudHBhY2t0LCBpbnN0YWxsaWVydCAtIGFsbGVzIGxpZWYgZmVobGVybG9zLgpBbHMgaWNoIGRhbm4gJ3RmJyB0aXBwZSB1bSBkYXMgZ2FuemUgenUgc3RhcnRlbiBrb21tdCBkYXM6CgpUaW55RnVndWUgdmVyc2lvbiAzLjQgYWxwaGEgMTYsIENvcHlyaWdodCAoQykgMTk5MywgMTk5NCwgMTk5NSBLZW4gS2V5cwpSZWdleHAgcGFja2FnZSBpcyBDb3B5cmlnaHQgKGMpIDE5ODYgYnkgVW5pdmVyc2l0eSBvZiBUb3JvbnRvLgpUeXBlIGAvaGVscCcsIGAvaGVscCB0b3BpY3MnLCBvciBgL2hlbHAgaW50cm8nIGZvciBoZWxwLgoKJSAuLi90Zi5saWIvc3RkbGliLnRmOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CkNhbid0IHJlYWQgcmVxdWlyZWQgbGlicmFyeS4KCioqKmhpZXIgYnJpY2h0IGRhcyBURiBkYW5uIGFiCgoKU28sIGFiZXIgaW4gLi4vdGYubGliLyAgYmVmaW5kZXN0IHNpY2gga29ycmVrdGVyd2Vpc2UgZGFzCkZpbGUgc3RkbGliLnRmIC4gVW5kIGVzIHplaWdlbiBzaWNoIGF1Y2gga2VpbmUgRmVobGVyIGluIGlobS4KCklzdCBFdWNoIHNvd2FzIHNjaG9ubWFsIHBhc3NpZXJ0Pz8/Pz8KSGFidCBpaHIgbmUgQWhudW5nLCB3YXMgaWNoIGRhIG1hY2hlbiBtdXNzLCBkYW1pdCBkYXMKVEYgZGllIHN0ZGxpYi50ZiBmaW5kZXQgKGRpZSBqYSBlaWdlbnRsaWNoIHNjaG9uIGFuIHJpY2h0aWdlcgpTdGVsbGUgaXN0KSAgID8/PwoKY2lhbyBBUlRZICpncnVlYmVsbmQgdW5kIG5lcnZlbmxhc3NlbmQqCgpQUy46IG1pdCBlaW5lciBhZWx0ZXJlbiBWZXJzaW9uIHZvbiBURiBpc3QgbWlyIGRhc3NlbGJlIHBhc3NpZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMYWVkZW4sIEdlbGQgdW5kIFVwdGltZSAoRnl0LCAxNS4gTm92IDE5OTUsIDIzOjI1OjE5KToKIyEgcm49QXJhbnlhIHJ0PTgxNjQzNDU1NwpIbSwgZGllIGVpbnppZ2VuIGtuYWNraWdlbiBicmF1bmdlYnJhbm50ZW4gSnVuZ3MsIGRpZSBtaWNoCmludGVyZXNzaWVyZW4sIHNpbmQgWndlcmdlIGF1ZiBkZW0gR3JpbGwuIFdvenUgYnJhdWNoIGljaApkYSBGcmV1ZGVuaGFldXNlcj8KOgpGeXQsIHNpY2ggd3VuZGVybmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW4gYWxsZSBURidsZXIgKEFjcmltb24sIDE2LiBOb3YgMTk5NSwgMDA6MjU6NTApOgojISBybj1BcnR5IHJ0PTgxNjQ2NjAzNwpXYXJzdCBkdSBhdWNoIGltIHJpY2h0aWdlbiBWZXJ6ZWljaG5pcywgYWxzIER1IHRmIGdlc3RhcnRldCBoYXN0PwpIYXN0IER1IHRmIHZvciBkZW0gS29tcGlsaWVyZW4gcmljaHRpZyBrb25maWd1cmllcnQ/CldpZSBkYXMgZ2VodCwgc3RlaHQgaW0gUkVBRE1FLgoKVW5kIG5vY2ggd2FzOiBOaWVtYWxzIFBmYWRlIHdpZSAiLi4vdGYubGliIiB2ZXJ3ZW5kZW4sIHNvbmRlcm4gbnVyIGFic29sdXRlClBmYWRlIG9kZXIgdm9uIFNoZWxsdmFyaWFibGVuIGFiaGFlbmdpZ2UgUGZhZGUhCkRlbm4gc29uc3QgZnVua3Rpb25pZXJ0IHRmIG51ciwgd2VubiBkdSBnZXJhZGUgaW4gZ2FueiBiZXN0aW1tdGVuIERpcmVjdG9yaWVzCmJpc3QuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChCYXJvbiwgMTYuIE5vdiAxOTk1LCAwMToxNjowMik6CiMhIHJuPUZ5dCBydD04MTY0NzQzMTkKSG0sIEZyZXVkZW5oYWV1c2VyIGJlcmVpdGVuIChpbSBJZGVhbGZhbGwpIEpFREVSIFBlcnNvbiBGcmV1ZGUuIEZ1ZXIgZGljaAp3YWVyZSBhbHNvIGVpbiBad2VyZ2VuZ3JpbGwgKGltIHdhaHJzdGVuIFNpbm5lIGRlcyBXb3JldGVzKSBlaW4gRnJldWRlbmhhdXMuCkFyYW55YSBoYXQgZGEgaGFsdCBhbmRlcmUgVm9ybGllYmVuIDopLgpCYXJvbiAtIE1lbnNjaCAtIGhhZWx0IGFyZ2VudGluaXNjaGUgU3RlYWtsYWVkZW4gZnVlciBGcmV1ZGVuaGFldXNlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChGeXQsIDE2LiBOb3YgMTk5NSwgMDE6MzE6MTIpOgojISBybj1CYXJvbiBydD04MTY0ODA5NjIKSG0uLiBzb3NvLi4uIEFyZ2VudGluaWVyIHNjaG1lY2tlbiBhbHNvIGF1Y2gsIEJhcm9uPyAuLi4gbmFqYS4uLgpkaWUgUGF0YWdvbmllciBzaW5kIGphIGF1Y2ggemllbWxpY2gga2xlaW4gdW5kIHdvaG5lbiBmYXN0IGluCkFyZ2VudGluaWVuLi4uIGFsc28gZG9jaCBad2VyZ2Vuc3RhZWsgOikpCjoKRnl0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1cGVyIGRhbmNlciEgKEphbmthLCAxNi4gTm92IDE5OTUsIDA1OjI3OjE4KToKSWNoIGJpbiBnYW56IGJlZ2Vpc3RlcnQuIFdlciBlcyBub2NoIG5pZSBnZW1hY2h0IGhhdCwgc29sbHRlIHVtYmVkaW5ndCBtYWwKYmVpbSBTYW5kdGlnZXIgc2NobGFmIGVpbiBlaW5nZWJlbi4KRUlORkFDSCBUT0xMClNVUEVSCmdlbmF1IGRhcyBoYWJlIGljaCB1bSA0IFVociBOYWNodHMgZ2VicmF1Y2h0CkRhbmtlIERhbmNlcgpKYW5rYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChMaSwgMTYuIE5vdiAxOTk1LCAwODo0MzozMCk6CiMhIHJuPUFyYW55YSBydD04MTY0MzQ1NTcKQWVoLCBlcyBnaWJ0IGVpbiBGcmV1ZGVuaGF1cyBtaXQgZWluZW0ga25hY2tpZ2VuIEp1bmdlbiwgQXJhbnlhISB1bmQgZGEga2FubgpmcmF1IGF1Y2ggR2VsZCBsb3N3ZXJkZW4hCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKFJhZmZpLCAxNi4gTm92IDE5OTUsIDExOjE1OjA4KToKIyEgcm49Rnl0IHJ0PTgxNjQ4MTg3MgoKQWxzbyBJY2ggIGJldm9yenVnZSBBdXN0cmFsaXNjaGUgU3RlYWtoYWV1c2VyIDopCgpBYmVyIEZ5dHMgYmVnZWlzdGVydW5nIGZ1ZXIgWndlcmcgYW0gR3JpbGwga2FubiBpY2ggbmljaHQgdGVpbGVuICBXaWUgd2FlcnMKbWl0IGdlc2NobmV0emVsdGVtIEZ5dCBhdWYgRWZlbmJlaW50ZWxsZXJuID8KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKFRocm9pbiwgMTYuIE5vdiAxOTk1LCAxMzowODo1OCk6CiMhIHJuPVJhZmZpIHJ0PTgxNjUxNjkwOApJY2ggZmluZGUgU3RlYWsgZWlnZW50bGljaCBncnVuZHNhZXR6bGljaCBuaWNodCBzY2hsZWNodC4gRWdhbCB3ZWxjaGVyCk5hdGlvbmFsaXRhZXQuIFVuZCBGeXQgbWFjaHQgc2ljaCBhdWNoIGJlc3RpbW10IGd1dCBhbSBTcGllc3MgbWl0IEFwZmVsIGltCk1hdWwgdW5kIFBldGVyc2lsaWUgaGludGVyIGRlbiBPaHJlbiA6KSBBbHMgQmVpbGFnZSBlbXBmZWhsZW4gd2lyOiBTYWxhdCBkZXIKU2Fpc29uIG1pdCBnZXJvZXN0ZXRlbiBFbGZlbm9ocmVuc3BpdHplbi4gRGF6dSBlaW4gZ3Jvc3NlcyBBbWJvc3MtQmVyZ2JvY2suCkd1dGVuIEFwcGV0aXQhClRocm9pbiAoQnJhdW1laXN0ZXIgdW5kIEhvYmJ5a29jaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm9ya3RvZXRlciBoYXQgenUgdHVuLi4gKFlhc21pbmEsIDE2LiBOb3YgMTk5NSwgMTM6MTQ6MDYpOgpHcnVzcyB2b24gT3JrdG9ldGVyLi5iaW4gYmVhdWZ0cmFndCB3b3JkZW4gLCBoaWVyIGt1cnogenUgc2FnZW4gLCBkYXNzIGVyCmRpZXNlIHdvY2hlIG5pY2h0IG1laHIgaW0gTW9yZ2VuZ3JhdWVuIGF1ZnRhdWNoZW4gd2lyZCwgZGEgZXIgdmlpaWllbCB6dSB2aWVsCnp1IHR1biBoYXQuIEdydXNzIE9ya3RvZXRlciAsIGkuIEEuIFlhc21pbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBvcmt0b2V0ZXIgaGF0IHp1IHR1bi4uIChCYWJvb24sIDE2LiBOb3YgMTk5NSwgMTM6MTU6NTYpOgojISBybj1ZYXNtaW5hIHJ0PTgxNjUyNDA0NgpXYXMgaGF0IGVyIGRlbm4gc28gZHJpbmdlbmRlcyB6dSB0dW4/IEhhdCBlciBldHdhIGVpbgpSTC1PcmtsYWdlciBlbnRkZWNrdD8gOi0pCgpCYWJvb24gKExlZ2FsaXplIFBLISA7LSkgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUgUmVeMTI6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChUaHJvaW4sIDE2LiBOb3YgMTk5NSwgMTM6MDg6NTgpOiAoUm9lc3RpLCAxNi4gTm92IDE5OTUsIDE0OjE3OjU4KToKZ3JST0VTVGV0ZSBlbGZlbm9ocmVuP2RlbW5hZWNoc3QgRWxmZW5vaHJlbiBhdWYgUm9lc3RpP1dpZXZpZWwgR2V3aWNodCBuZWhtZW4KZGllIG1pciB3ZWc/Li4uc2NobWVja3Qgc293YXM/Li4uCgpSb2VzdGkga29tbXQgYXVzIGRlbSBGcmFnZW4gbmljaHQgbWVociByYXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKEZ5dCwgMTcuIE5vdiAxOTk1LCAwMTo0Njo1Nik6CiMhIHJuPVJhZmZpIHJ0PTgxNjUxNjkwOApFaWdlbnRsaWNoIHNvbGx0ZSBpY2ggaW4gbWVpbmVtIEFsdGVyIHp1IHphZWggenVtIEVzc2VuIHNlaW4uCkFiZXIgWndlcmdlbiBzY2hlaW50IGRhcyBqYSBlaCBlZ2FsIHp1IHNlaW4gOikpCjoKRnl0Lgo6ClBTOiBXYW5uIGtyaWVnZW4gZGllICB2ZXJ0aWNhbGx5IGNoYWxsZW5nZWQgIGVuZGxpY2ggcm90ZSBTb2NrZW4KYmVpIGRlciBHZWJ1cnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTGFlZGVuLCBHZWxkIHVuZCBVcHRpbWUgKFdhcmdvbiwgMTcuIE5vdiAxOTk1LCAwOTo1NDoxNyk6CiMhIHJuPUZ5dCBydD04MTY1NjkyMTYKUm90ZSBTb2NrZW4/IEljaCBkZW5rZSwgZWluZSByb3RlIEF1dG9sb2FkLVppcGZlbG11ZXR6ZSB3YWVyZQpnZXJlY2h0ZmVydGlndGVyLiA7KQpPZGVyIGhhc3QgRHUgdm9uIEhvYmJpdHMgZ2VyZWRldD8KICBGcmFnZW4gdWViZXIgRnJhZ2VuLi4uCiAgICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBMYWVkZW4sIEdlbGQgdW5kIFVwdGltZSAoSGFyZGlsLCAxNy4gTm92IDE5OTUsIDEwOjI3OjE0KToKIyEgcm49V2FyZ29uIHJ0PTgxNjU5ODQ1NwpBdSBqYSwKYXV0b2xvYWRaaXBmZWxtdWV0emVuLCBkaWUgbWFuIG5vY2ggbmNpaHQgbWFsIGJlaW0gVHJvZWRsZXIgZW50c29yZ2VuIGthbm4sCmZ1ZXIgYWxsZSBad2VyZ2UuIDopCkRpZSBJZGVlIGlzdCBmYXN0IGRlbiBOb2JlbC1QcmVpcyB3ZXJ0LCBXYXJnb24gOikKCi1IYXJkaWwuIElzdCBFbGYsIGJsZWlidCBFbGYsIG1hZyBad2VyZ2UuIEFiZXIgbnVyIGdlZ3JpbGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChXYXJnb24sIDE3LiBOb3YgMTk5NSwgMTA6NDY6MjQpOgojISBybj1IYXJkaWwgcnQ9ODE2NjAwNDM0CkZ1ZXIgRWxmZW4gZ2lidCBlcyBuYXR1ZXJsaWNoIE9ocmVuc3BpdHplci4KVW5kIGZ1ZXIgSG9iYml0cyBGdXNzYnVlcnN0ZW4uCk1lbnNjaGVuLi4uIEhtLCB2aWVsbGVpY2h0IGVpbmUgR25hZGVubXVlbnplLiA7KQoqKiogU0VORiBPRkYqKiogICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnNjaGxhZyAoRWFnbGUsIDE3LiBOb3YgMTk5NSwgMTE6MjY6MTMpOgpIaSBMZXV0ZSEKRGEgaWNoIG1pY2ggbmllIG1pdCBiYW5pc2ggYmVzY2hhZWZ0aWdlIG9kZXIgZGFzcyBuaWNodCBtZWluZSBzYWNoZSBpc3QsCm1vZWNodGUgaWNoIHZvcnNjaGxhZ2VuLCBkYXNzIGVzIHZpZWxsZWljaHQgZGllIE1vZWdsaWNoa2VpdCBnaWJ0LCBhdWNoIGRpZQpOYW1lbiBkaWUgc2VociBhZWhubGljaCBkZW0gZGVzIGVpZ2VuZW4gTmFtZW4gKHdpZSBpbSBGYWxsIEZyZWRlcmlja3MpIGdsZWljaApnZWJhbmlzaGVkIHdlcmRlbiBvZGVyIGF1Y2ggd2llIGltIG1laW5lbSBGYWxsIGRpZSBkZXV0c2NoZSBWZXJzaW9uLgpFYWdsZSAtPiBBZGxlci4KTmljaHQsIGRhc3MgaWNoIGlobSBkZW4gTmFtZSBuaWNodCBnb2VubmUsIGFiZXIgYWVyZ2VybiB0dXRzIG1pY2ggZG9jaCwgZGEKaWNoIGF1Y2ggb2VmdGVycyBBZGxlcmNoZW4gZ2VydWZlbiB3ZXJkZSB1bmQgZGFubiBuaWNodCBtZWhyIHdlaXNzLCB3ZXIKZ2VtZWludAppc3QgYWxzbyB2aWVsbGVpY2h0LCBrYW5uIGRhIHdhcyBnZW1hY2h0IHdlcmRlbi4KSWNoIHNjaHJlaWJlIGRhcyB1bnRlciAiQWxsZ2VtZWluZXMiIGRlc3dlZ2VuLCBkYW1pdCBhdWNoIGRpZSBTcGllbGVyIGlocmUKendlaXRpZXMuLi4gbmljaHQgYWVobmxpY2ggYW5kZXJlciBOYW1lbiBiZW5lbm5lbi4KQWxzbyBEYW5rZSBmdWVycyBMZXNlbi4KQ0lBTwogICAgRWFnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzY2hsYWcgKEN1Y2h1bGxpbiwgMTcuIE5vdiAxOTk1LCAxMTozNjoxNik6CiMhIHJuPUVhZ2xlIHJ0PTgxNjYwMzk3MwoKRWFnbGUsIGRhcyB3aXJzdCBEdSBuaWUgZHVyY2hrcmllZ2VuLiBWZXJ3ZWNoc2x1bmdlbiBnZWhvZXJlbiBudW4gbWFsIHp1bQp0YWVnbGljaGVuIExlYmVuIGVpbmVzIFNwaWVsZXJzLiBPYiBkYXMgamV0enQgc293YXMgd2llIE1vcm9uLCBNb3Jnb24sIE1vcmdvdGgKb2RlciBGcmVkZXJpKmsgb2RlciBzb25zdHdhcyBpc3QuCgpUaGF0J3MgbGlmZSwKQ3VjaC4tCgpQUzogQWJlciBnZWdlbiBOYW1lbiB3aWUgUGlnaWJpZGkgKG9kZXIgUGlnaWRpYmk/IDspICkgc29sbHRlIG1hbiBkb2NoCiAgICBldHdhcyB0dW4ga29lbm5lbi4gVm9yIGFsbGVtLCB3ZW5uIGRpZSBDaGFyYWt0ZXJlIHNpY2ggYXVjaCBub2NoCiAgICBtaWVzIHZlcmhhbHRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZyAoV2FyZ29uLCAxNy4gTm92IDE5OTUsIDEyOjA5OjA3KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgxNjYwNDU3NgpIbSwgc29sbGVuIGRhIGV0d2Egc2FlbXRsaWNoZSBhZWhubGljaCBsYXV0ZW5kZW4gTmFtZW4gZ2ViYW5pc2h0IHdlcmRlbj8gRGFzCmR1ZXJmdGUgc2Nod2llcmlnIHdlcmRlbjsgaXJnZW5kd2VyIGZpbmRldCBiZXN0aW1tdCBJTU1FUiBlaW5lbiBXZWcuClVuZCB6dW0gQmFuaXNoZW4gZGVyIFVlYmVyc2V0enVuZ2VuIG9kZXIgQWJhZW5kZXJ1bmdlbiB2b24gU3BpZWxlcm5hbWVuOiBXZW5uCmRlci9kaWUgQmV0cmVmZmVuZGUgZnJ1ZWggZ2VudWcgZWluZW4gUmVnaW9uc21hZ2llciBvZGVyIGhvZWhlciBhbnNwcmljaHQsIGlzdApkYSBuaWNodHMgZ2VnZW4gZWluenV3ZW5kZW4uCldlbm4gc2ljaCBqZWRvY2ggc2Nob24gamVtYW5kIG1pdCBlbnRzcHJlY2hlbmRlbSBOYW1lbiBlaW5nZWxvZ2d0IGhhdCwgdW5kIGFuCmRlbSBOYW1lbiBmZXN0aGFsdGVuIHdpbGwsIGlzdCBkYSBoYWx0IG5peCB6dSBtYWNoZW4uCihTaWVoZSBhdWNoIGRpZSBlbnRzcHJlY2hlbmRlbiBEaXNrdXNzaW9uZW4gdW0gS290emJyb2NrZW4gb2RlciBGaWNrZnJvc2NoIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZyAoUmFmZmksIDE3LiBOb3YgMTk5NSwgMTQ6MDI6NTQpOgojISBybj1DdWNodWxsaW4gcnQ9ODE2NjA0NTc2CgpEYXMgbWl0IGRlbiBOYW1lbiBpc3QgZG9jaCB3aWUgaW0gUkwgLSBpY2ggaGFiIGhpZXIgaW4gZGVyIGRpcmVrdGVuIHVtZ2VidW5nCjMgSGVpbnooZSkgd2VubiBpY2ggJ0hlaW56LCBzY2hhdSBtYWwgaGVyJyBkYWdlIGthbm5zIHBhc3NpZXJlbiBkYXMgc2ljaCBhbGxlCm9kZXIga2VpbmVyIGFuZ2VzcHJvY2hlbiBmdWVobGVuLgoKR3J1c3MKSC4KCihhZWggd2VubiBwaWdpZGluZ3NkYSBnZWJhbmlzY2h0IHdpcnQsIGRhbm4gc2NobGFnZSBpY2ggY3VjaCogYXVjaCBkYWZ1ZXIKdm9yKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IExhZWRlbiwgR2VsZCB1bmQgVXB0aW1lIChGeXQsIDE3LiBOb3YgMTk5NSwgMTY6NTg6MDYpOgojISBybj1XYXJnb24gcnQ9ODE2NTk4NDU3Ck5lZS4uLiBpY2ggd2FyIGltbWVyIG5vY2ggYmVpIGRlbiBad2VyZ2VuLi4uIGljaCB3b2xsdGUKdmVyaGluZGVybiwgZGFzcyBzaWUgc2ljaCBiZWltIEdyYXNlbiBpbiBkaWUgWmVoZW4gYmVpc3Nlbgo6CkZ5dC4gT2ssIGRlciBpcyB1cmFsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvcnNjaGxhZyAoVGFzaGEsIDE3LiBOb3YgMTk5NSwgMTc6NTY6NDIpOgojISBybj1SYWZmaSBydD04MTY2MTMzNzQKSWNoIG11c3N0ZSBtYWwgaW0gQm9ubmVyIFRlZmxvbmJ1Y2ggamVtYW5kZW4gbWl0IGRlbSBzZWx0ZW5lbiBOYWNobmFtZW4KTXVlbGxlciBzdWNoZW4gdW5kIGhhdHRlIG51ciBub2NoIGRpZSBTdHJhc3NlIHVkbiBIYXVzbnVtbWVyIGFscyB3ZWl0ZXJlCkFuZ2FiZS4uLiBXYXJlbiBqYSBudXIgNSBTZWl0ZW4uLi4gOikpKSAoRGVyIFZvcm5hbWUgZmluZyBuYXR1ZXJsaWNoIG1pdCBXIGFuLgpBbHNvIGdhbnogaGludGVuKQoKc2ljaCB0ZWZsb25udW1tZXJuIGpldHp0IGxpZWJlciBnbGVpY2ggbWVya2VuZCwgVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJFQk9PVCAoQ2F0d2VhemxlLCAxNy4gTm92IDE5OTUsIDE4OjE0OjA5KToKQW0gTW9udGFnIGFiZW5kIHdpcmQgZXMgZWluZW4gUmVib290IGdlYmVuLgpNb250YWcga29tbXQgbmFlbWxpY2ggZWluIGdyb3NzenVlZ2lnZXIgdW5kIHNwZW5kZW5mcmV1ZGlnZXIgTUdsZXIKbmFjaCBNdWVuc3Rlci4gRGVyIGJyaW5ndCBlaW5lbiBmbG90dGVuIFAxMjAgbWl0IGRlbiB3aXIgZ2xlaWNoIGVpbmJhdWVuCnVuZCB0ZXN0ZW4gd29sbGVuLgpJY2ggbWFjaGUga2VpbmVuIEFybWFnZWRkb24gYW4sIHdlaWwgaWNoIG5pY2h0IGdlbmF1IHNhZ2VuIGthbm4sIFdBTk4KZGVyIFNwZW5kZXIga29tbXQsIGFiZXIgaW4gZGVyIGt1ZXJ6ZSBkZXIgWmVpdCBtdWVzc2VuIHdpciBkYW5uLCBXRU5OIGVyCmRhIGlzdCwgc29mb3J0IHVtYmF1ZW4uIEljaCBzY2hhZXR6ZSwgZGVyIFJFQk9PVCB3aXJkIGFsc28gc28KZ2VnZW4gMjA6MDAgVWhyIGFtIE1vbnRhZywgYWxzbyBkZW0gMjAuMTEuIHBhc3NpZXJlbi4KWW91cnMgdHJ1bHksCiAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkVCT09UIChJbHZlcywgMTguIE5vdiAxOTk1LCAyMDoxODo0NCk6CiMhIHJuPUNhdHdlYXpsZSBydD04MTY2Mjg0NDkKdmllbGVuIERhbmssIGRhbm4gYnJhdWNoZSBpY2ggamEgamV0enQgZ2FyIG5pY2h0IHdlaXRlciB6dSBhbmdlbG4gdW5kCkZpc2NoZSB6dSB2ZXJrYXVmZW4sIHVtIG1pciBUdWVzdHVuZ3NnZWdlbnN0YWVuZGUga2F1ZmVuIHp1IGtvZW5uZW4uCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoSmltZGlncml6LCAyMC4gTm92IDE5OTUsIDAwOjE1OjEzKToKSGFsbG8gTWl0c3BpZWxlciAsCgpuYWNoZGVtIGRpZSBEaXNrdXNzaW9uIHVtIGRhcyBEaWViZXNnZXNpbmRlbApkaWUgR2VtdWV0ZXIgc2Nob24gZXJoaXR6dCBoYXQsIGhhYmVuIFdpbGxvdyB1bmQKbWVpbiBhcm1zZWxpZ2VyIE1vZWNodGVnZXJuY2hhb3QgSW5za2lwcCB3YXMKZXJsZWJ0LCB3YXMgdW5zZXJlciBNZWludW5nIG5hY2ggZGFzIGZhc3MgenVtIHVlYmVybGF1ZmVuCmJyYWNodGUgIQpXaWxsb3cgbGVndCBJbnNraXBwIG5lIFNjaGF0dGVucnVzdHVuZyBoaW4sIGRhIGVyIHNpZSBuaWNodAptZWhyIHRyYWdlbiBrYW5uLCBkZWhhbGIgdmVya2F1ZnRlIEluc2tpcHAgc2VpbmUgUm9iZS4KQmV2b3IgZXIgamVkb2NoIGRpZSBSdWVzdHVuZyBuZWhtZW4ga29ubnRlLCBrYW0KUHJlZGF0b3IgaW4gZGVuIGxhZGVuIG5hbSBkaWUgUnVlc3R1bmcgdW5kIGlzIGVpbmdlLQpzY2hsYWZlbiBpbiB3ZW5pZ2VyIGFscyAyIFNla3VuZGVuICEhIQp2ZXJtdXRsaWNoIGVpbiB3ZWduZWhtLWVpbnNjaGxhZi1tYWtybyAhCktlaW5lciBDaGFuY2UgIQpFaW4gZnJldW5kbGljaCBNYWcgd29sbHRlIHVucyBub2NoIGhlbGZlbiwga2FtIGFiZXIgenUgc3BhZXQuCkljaCBiaW4gc29vbyBzYXVlciBkZXNoYWxiIGJpbiBpY2ggZGFmdWVyIGRhc3MKUHJlZGF0b3IgYmVzdHJhZnQgd2VyZGVuIG11c3MsIHNvIGdlaHRzIG51IGVjaHQgbmVkLgpXZW5uIElociBtZWluZXIgTWVpbnVuZyBzZWlkLCBoZWxmdCBQcmVkYXRvciBiZWkga2VpbmVtClF1ZXN0IG1laHIsIHdlbm4gZXIgdmVyZ2lmdGV0IGlzdCwgbGFzc3QgSWhuIGFia3JhdHplbiwKdW5kIHdlbm4gZXIgc29uc3Qgd2FzIHdpc3NlbiB3aWxsLCBhbnR3b3J0ZXQgd2llIEdyaW1tYm9ybiAhCgpKYW1lcyBCb2xpdmFyIGRpR3JpeiwgaGF0IHNpY2ggbm9jaCBuaWUgc28gYXVmcmVnZW4gbXVlc3NlbiAhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKEplcnJpY28sIDIwLiBOb3YgMTk5NSwgMDg6NDc6MDIpOgojISBybj1KaW1kaWdyaXogcnQ9ODE2ODIyOTEzCk5hamEgZGEgaGFzdCBEdSB3b2hsIFBlY2ggZ2VoYWJ0IEppbSwgYWJlciBlcyBzb2xsIGphIGVoIGhldXRlIGVpbmVuClJlYm9vdCBnZWJlbiwgZGFubiB3aXJkIHNpY2ggUHJlZGF0b3IgbWluZGVzdGVucyBnZW5hdXNvIGFlcmdlcm4gd2llCkR1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKEVsdm5paywgMjAuIE5vdiAxOTk1LCAxNTo1NTozNSk6CiMhIHJuPUppbWRpZ3JpeiBydD04MTY4MjI5MTMKSGkgTXVkZGllcyAuLi4KCmljaCBoYXR0ZSBhdWNoIG1hbCBzbyduIHRyaWdnZXIgIipydWVzdHVuZy4iID0gc3RlY2tlIHJ1ZXN0dW5nIGluIFBha2V0IC4uLgpoYWIgaWhuIGFiZXIgZ2Vsb2VzY2h0LCB3ZWlsIGRhcyBnYWIgaW1tZXIgcHJvYmxlbWUgd2VubiBlaW4gQW5mYWVuZ2VyIG1hbAp3YXMgaGFiZW4gd29sbHRlCnNvYmFsZCBpY2ggZGllIFJ1ZXN0dW5nIG5laG1lbiB3b2xsdGUsIGhhYiBpY2ggc2llIHdpZWRlciBpbnMgUGFrZXQgZ2VzdGVja3QKZGFzIGJlaSBQcmVkYXRvciB3YXIgMTAwJXRpZyBLRUlORSBBYnNpY2h0IC4uLiB3YXMgc29sbCBlciBtaXQgbmVyClNjaGF0dGVucnVlc3R1bmcKZXIgaXN0IGthcmF0ZWthIC4uLiBlcyB3YXIgbWF4aW1hbCBlaW5lIHZlcmtldHR1bmcgdW5nbHVlY2tsaWNoZXIgdW1zdGFlbmRlCi4uLgp3YWVyZSBlciBub2NoIGV0d2FzIGxhZW5nZXIgaW0gTXVkIGdlYmxpZWJlbiBoYWV0dGUgZXIgc2llIHp1cnVlY2tnZWdlYmVuCmljaCBrZW5uIGlobiBzY2hsaWVzc2xpY2ggc2Nob24gZWluIGJpc3NsIGxhZW5nZXIKdW5kIEppbSB2aWVsbC4gaGFzdCBkdSBhdWNoIGVpbiB3ZW5pZyB1ZWJlcnJlYWdpZXJ0IC4uLgpFbHZuaWsgLi4uIGRlciBQcmVkYXRvciBpbiBQTCBrZW5udCB1bmQgd2Vpc3MgZGFzIGVyIHNvZXR3YXMgbmllIG1hY2hlbgp3dWVyZGUKbWl0IEFic2ljaHQgISEhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKEVsdm5paywgMjAuIE5vdiAxOTk1LCAxNTo1NjozMCk6CiMhIHJuPUVsdm5payBydD04MTY4NzkzMzUKdXVwcyBkYXMgc29sbHRlIFJMIGhlaXNzZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWViZSBpbSBNRyAtIGpldHp0IGxhbmd0cyAhIChQcmVkYXRvciwgMjAuIE5vdiAxOTk1LCAxNTo1OToyMSk6CiMhIHJuPUppbWRpZ3JpeiBydD04MTY4MjI5MTMKSXN0IGphIGVjaHQgc3VwZXIuIEF1cyBWZXJzZWhlbiBrbGF1dCBtYW4gZWluZW0gU0VIRVIgZWluIFNjaHdlcnQgdm9yIGRlcgpOYXNlIHdlZywgKEFVUyBWRVJTRUhFTiBNSVQgVEYpLCB1bmQgc2Nob24gc29sbCBtYW4gZnVlciBnZWFlY2h0ZXQgZXJrbGFlcnQKd2VyZGVuLgpEYSBpc3QgbWFuIHdpcmtsaWNoIGhpbGZzYmVyZWl0KGJlaSBxdWVzdHMgdW5kIG1ldHplbGF1ZmdhYmVuKSwgbWFjaHQgZWluZW4KZmVobGVyLCB2b24gZGVtIGF1ZiBncnVuZCB2b24gSGVrdGlrIG5pY2h0IG1hbCB3YXMgbWl0a3JpZWd0LCB1bmQgZXJmYWVocnQgYW0KbmFlY2hzdGVuIFRhZywgSE9QUExBLCBtYW4gaXN0IGphIGRlciBib2VzZSBCdWJlIGltIE1HCgpUamEgSW5za2lwcCwgZXMgdHV0IG1pciB3aXJrbGljaCBsZWlkLC4uLi4uLgoKRWluIHRvdGFsIHVlYmVycmFzY2h0ZXIgUFJFREFUT1IsIGRlbSBuaWNodCBtZWhyIGdlaG9sZmVuIHdlcmRlbiBkYXJmCjotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoUHJlZGF0b3IsIDIwLiBOb3YgMTk5NSwgMTY6MDE6NTkpOgojISBybj1QcmVkYXRvciBydD04MTY4Nzk1NjEKd2FyIG5lIHJ1ZXN0dW5nLCBzb3JyeSwgaXN0IGFiZXIgZWdhbCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoQXNtb2RpcywgMjAuIE5vdiAxOTk1LCAxNjowMzozNSk6CiMhIHJuPVByZWRhdG9yIHJ0PTgxNjg3OTcxOQprb21pc2NoZSBzY3JpcHRzIGxhZXNzdCBkdSBsYXVmZW4sIGRpZSBkaWNoIHNjaGF0dGVucnVlc3R1bmdlbiBuZWhtZW4gbGFzc2VuCnVuZCBkdSBkYW5uIGdsZWljaCBlaW5zY2hsYWVmc3QgISEgQXVzc2VyZGVtIHNpbmQgc29sY2hlIFNjcmlwdHMgZWggdmVyYm90ZW4KOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKEppbWRpZ3JpeiwgMjAuIE5vdiAxOTk1LCAxNjowMzo1MCk6CiMhIHJuPVByZWRhdG9yIHJ0PTgxNjg3OTU2MQpPSwoKV2FyIG5hdHVlcmxpY2ggemllbWxpY2ggc2F1ZXIgYWxzIGljaCBkZW4gQnJpZWYgZ2VzY2hyaWViZW4gaGFiLAphbGxlcmRpbmc6CiAgLSBrYW5uIElNSE8gZWluIEthcmF0ZWthIHNlaHIgd29obCB3YXMgbWl0IG5lciBTcnVlCiAgICBhbmZhbmdlbi4KICAtIGdpbmdzIG1pciBuZWQgdW0gZGllIFJ1ZXN0dW5nIHNvbmRlcm4gZGFydW0sIGRhc3MKICAgIGFuc2NoZWluZW5kIExldXRlIHJ1bWxhdWZlbiwgZGllIHBlciB0cmlnZ2VyL21ha3JvCiAgICBzYWNoZW4gZWluc3RlY2tlbiB1bmQgc2ljaCAnb2ZmZW5zaWNodGxpY2gnIHNvZm9ydAogICAgYXVzbG9nZ2VuLgogIC0gV2VubiBQcmVkYXRvciBuIGJpc2NoZW4gZ2VrdWNrdCBoYWV0dGUgd2FlciBkaWUKICAgIERpc2t1c3Npb24gbmVkIGF1Zmdla29tbWVuCiAgLSBXYXIgZGllIFN0aW1tdW5nIGR1cmNoIHZvcmhlcmlnZSBEaWVic3RhZWhsZSBpbiBkZXIgQmV6aWVodW5nCiAgICBzY2hvbiBhbmdlaGVpenQKICBzb2xsdGUgTGV1dGUgSWhyZSBSdWVzdHVuZyBuZWhtIHVuZCBlaW5zdGVjawogIG1ha3JvcyBub2NobWFsIHVlYmVyZGVua2VuLCBmdWVyIGRpY2ggaWNoCiAgZWhybGljaCBnZXNhZ3Qga2VpbmVuIHJlY2h0ZW4gZ3J1bmQgZXJrZW5uZQpTbyBpY2ggaG9mZmUsIGRhcyBUaGVtYSBpcyBoaWVybWl0IGVybGVkaWd0IC4KCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoQ3VjaHVsbGluLCAyMC4gTm92IDE5OTUsIDE2OjA1OjM2KToKIyEgcm49RWx2bmlrIHJ0PTgxNjg3OTM5MAoKCkVyc3RtYWwgZGllczogRGllIHdlbmlnc3RlbiBlY2h0ZW4gQW5mYWVuZ2VyIGtsYXVlbiBiZXd1c3N0LiBEYXMgaGVpc3N0LCBzaWUKICAgZ2ViZW4gZGVuIEtyZW1wZWwgYXVmIEFuZnJhZ2UgenVydWVjay4gRGllLCBkaWUgbmVobWVuIHVuZCBnZWhlbiwgc2luZAogICBad2VpdGNoYXJha3RlcmUgaG9laGVyZXIgU3BpZWxlciAod2VsY2hlciBBbmZhZW5nZXIgbG9nZ3Qgc2ljaCBzY2hvbiBhbHMKICAgIlBpZ2liaWRpIiBlaW4/KS4KRGFubiBkYXM6IEthcmF0ZWthcyBrb2VubmVuIHNlaHIgd29obCBldHdhcyBtaXQgbmVyIFNjaGF0dGVucnVlc3R1bmcKICAgYW5mYW5nZW4uClVuZCBkZXIgbm9jaDogQWxzIFNlaGVyIGhhdCBtYW4gc2VociBndXRlIE1vZWdsaWNoa2VpdGVuLCBtaXQga2xhdWVuZGVuCiAgIE5pY2h0c3NlaGVybiBmZXJ0aWcgenUgd2VyZGVuLgpVbmQgbm9jaCBlaW5lbiBkcmF1ZjogVW5kIHdvenUgenVtIFRldWZlbCBicmF1Y2h0IG1hbiBXZWdzdGVja1RSSUdHRVIgPz8/CiAgIFByb2Zlc3Npb25lbGxlciBEaWVic3RhaGw/CgpBcm1lIFNlaGVyIGFsbGVyIFJlZ2lvbmVuLCB2ZXJlaW5pZ3QgZXVjaCEKClNjaG11bnplbG5kLApDdWNoLi0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NobWFsIGR1ZWJzdGFobCBtZWluZXJzZWl0cyAoUHJlZGF0b3IsIDIwLiBOb3YgMTk5NSwgMTY6MTk6MjgpOgoxLiBpY2ggaGFiIG4gdHJpZ2dlciwgZGVyIG5lIHNjaGF0dGVucnVlc3R1bmcgc29mb3J0IGluIGVpbiBwYWtldCBzdGVja3QKKGdydW5kOiBpY2ggbWV0emVsIGhhdXB0c2FlY2hsaWNoIGluIG1vcm9uKQoyLiBoYWIgaWNoIGtlaW4ga2xhdSB1bmQgZWluc2NobGFmIG1hY3JvCjMuIHd1cmRlIGdlc3Rlcm4gYWJlbmQgZGVyIHBvb2wgenVnZXNwZXJydCB1bmQgaW4gZGVuIGxhZGVuIGdlaGVuIHVuZAplaW5zY2hsYWZlbiB3YXJlbiBkaWUgbGV0enRlbiBha3Rpb25lbgo0LiBob2ZmZSBpY2gsIGRpZSBkaXNrdXNzaW9uIG51biBkYW1pdCB6dSBiZWVuZGVuCgpFaW4gc2ljaCBub2NobWFscyBlbnRzY2h1bGRpZ2VuZGVyIFBSRURBVE9SCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWcgKEFyYW55YSwgMjAuIE5vdiAxOTk1LCAxNjozNjo0OSk6CiMhIHJuPVRhc2hhIHJ0PTgxNjYyNzQwMgpKYWphLCB1bmQgaWNoIGluIE11ZW5jaGVuIFNjaHVsemUsIG9obmUgSGF1c251bW1lciBvZGVyIFN0cmFzc2VubmFtZW4sIG51cgpkZW4gVm9ybmFtZW4uIFVuZCBkYW5uIHdhciBub2NoIG5pY2h0IGtsYXIsIG9iIGpldHp0IFNjaHVsemUgb2RlciBTY2h1bHR6ZS4uLgpBdWNoIG5ldHQuClVuZCBkZXIgVm9ybmFtZSBzdGltbXRlIGxldHp0ZW5kbGljaCBhdWNoIG5pY2h0LgpBcmFueWEKICAgICAgTk5OLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgZHVlYnN0YWhsIG1laW5lcnNlaXRzIChNb3Jnb24sIDIwLiBOb3YgMTk5NSwgMTc6MjM6MTApOgojISBybj1QcmVkYXRvciBydD04MTY4ODA3NjgKU2VpdCB3YW5uIGdpYnQgZXMgaW4gTW9yb24gU2NoYXR0ZW5ydWVzdHVuZ2VuPwpNZWluZXIgTWVpbnVuZyB3YXJlbiBkYXMgTmFjaHRkaW5nZW5zLi4uLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaG1hbCBkdWVic3RhaGwgbWVpbmVyc2VpdHMgKFByZWRhdG9yLCAyMC4gTm92IDE5OTUsIDE4OjM4OjM5KToKIyEgcm49TW9yZ29uIHJ0PTgxNjg4NDU5MApvb3BzLCBzdGltbXQgamEsIHNjaGF0dGVucnVlc3R1bmctLT4gRHVua2VsZWxmZW4sIG5hamEsIGlzdCBhdWNoIG5pY2h0IGFsbHp1CnNjaHdlcgpzbywgamV0enQgYWJlciBlcnN0bWFsIHNjaGx1c3MgbWl0IGRpc2t1c3Npb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkMmQyBJSSAoQ2FyYWRocmFzLCAyMC4gTm92IDE5OTUsIDIwOjExOjUzKToKSWNoIHVuZCBtZWluIGtsZWluZXIgWndlaXRpZSBDZWxlYmRpbCBzaW5kIG5vY2htYWwgZ2ViYW5pc2h0LCBuYXR1ZXJsaWNoCmFic2ljaHRsaWNoLiBJbSBEZXplbWJlciBrb21tIGljaCB3aWVkZXIuIChuYSBqYSwgYWIgdW5kIHp1IHZpZWxsZWljaHQpClVuZCB6d2lzY2hlbmRyaW4gYWxsZSBwYWFyIFRhZ2UgbWFsIHp1bSBNUEEgbGVzZW4gbWl0IE1pbmRvbGx1aW4uCgogICAgICAgICAgdHNjaG9lICAgICAgQ2FyYWRocmFzICYgQ2VsZWJkaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG5vY2htYWwgZHVlYnN0YWhsIG1laW5lcnNlaXRzIChBc21vZGlzLCAyMC4gTm92IDE5OTUsIDIwOjE0OjE0KToKIyEgcm49UHJlZGF0b3IgcnQ9ODE2ODg5MTE5CkRpZSBEdW5rZWxlbGZlbiBoYWJlbiBhdWNoIG5peCBtaXQgU2NoYXR0ZW5ydWVzdHVuZ2VuIHp1IHR1biwgZGVpbmUKRXJrbGFlcnVuZyBpc3QgZG9jaCByZWNodCBmYWRlbnNjaGVpbmlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYWJvdGFnZSA6LSkpKSAoSWx2ZXMsICAyLiBEZXogMTk5NSwgMTg6NTk6MjkpOgpJY2gga29tbSBhdXMgZGVtIExhY2hlbiBuaWNodCBtZWhyIHJhdXMhIEthcmVlbSBGZWtlc2ggaGF0IG1pciBlYmVuIDEwMDAKTXVlbnplbiBnZXphaGx0LCB3ZWlsIGljaCBzZWluZSBCb21iZSBpbiBkZW4gTGFkZW4gdm9uIEJyYWRkb24gZ2VicmFjaHQKaGFiZS4gS29tbXQgZGFzIG9lZnRlcnMgdm9yPyBTb2xsdGUgbWFuIGhpbiB1bmQgd2llZGVyIGluIGRlbiBMYWRlbiBnZWhlbiwKdW0genUgc2VoZW4sIG9iIG1hbiBlaW5lbiBrbGVpbmVuIEpvYiBrcmllZ2VuIGthbm4/IDotKSkpCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VsZG5vdC1JZGVlIChCaWxib20sICAyLiBEZXogMTk5NSwgMjI6NTQ6NDApOgpIaSEKRW5kbGljaCBzY2hyZWliZSBpY2ggbWFsIHdpZWRlciBlaW4gQXJ0aWtlbC4uLgpXaWUgd2FlcmUgZXMgZGVubiB3ZW5uIGRpZSBvYmplY3RlIGRpZSBpbiBlaW5lciBMZWljaGUgc2luZCB3ZW5uIGRpZQpMZWljaGUgdmVyZ2FtbWVsdCBpc3QgbWl0IGRlciBMZWljaGUgdmVyc2Nod2luZGVuPz8/CkRhbm4gd3VlcmRlIHdlbmlnZXIgWmV1Z3MgcnVtbGllZ2VuLCB1bmQgZGFubiBrb2VubnRlIG1hbm4gei5CLiBuaWNodAppbSBPcmtlbmxhZ2VyIHJ1bWFsdWZlbiB1bmQgZGVuIGdhbnplbiBNdWVsbCBlaW5zYW1tZWxuLgoKICAgQmlsYm9tLU5OTgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoQmxvb2R5aGFycnksICAzLiBEZXogMTk5NSwgMjI6MTU6MzQpOgojISBybj1JbHZlcyBydD04MTc4Mzk1MjMKQWhqYSwgd2llZGVyIGVpbiBKYWVnZXIgdW5kIFNhbW1sZXIuIDspCgpBaG9pISBTYWNodCBCbG9vZHkgSGFycnkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoQmxvb2R5aGFycnksICAzLiBEZXogMTk5NSwgMjI6MjE6MTkpOgojISBybj1SYWZmaSBydD04MTc4NDE4ODQKU2VociBzY2hvZW5lIElkZWUuIEljaCBoYWJlIGRhIGF1Y2ggZ2VyYWRlIGVpbmUgc2Nob2VuZSBJZGVlLiBXaWUgd2FlcmUgZXMsCndlbm4gamVkZXIgQXJ0aWtlbCwgZGVuIG1hbiBpbiBkaWUgTVBBIHNldHp0IDIwMDAwIE11ZW56ZW4ga29zdGV0PwoKQWhvaSwgc2FjaHQgQmxvb2R5IEhhcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKYW5jaSAoSmFuY2ksICA0LiBEZXogMTk5NSwgMDg6MTk6MjkpOgpJY2ggYmluIEphbmNpLiBJY2gga29tbWUgYXVzIFNsb3dha2VpLiBTY2hyZWliZSBtaXIgcG9zdC4gTWVpbmUgYWRyZXNzZQppc3QgSmFuY2lALi4uIERhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlbGRub3QtSWRlZSAoVWxvLCAgNC4gRGV6IDE5OTUsIDEyOjU5OjM1KToKIyEgcm49QmlsYm9tIHJ0PTgxNzk0MTI4MApUamEsIG51ciB3ZW5uIER1IG1hbCBzdGlyYnN0LCBkYW5uIHdpcmQgYWxsIGRlaW4gc2Nob2VuZXMgWmV1ZyBuaWNodCBtZWhyIGRhCnNlaW4sIHdlbm4gRHUgd2llZGVyIGtvbW1zdCwgZGVubiBiaXMgZGllIFRvZGVzc2VxdWVueiBydW0gaXN0LCBpc3QgZGVpbmUKTGVpY2hlIG1pdCBEZWluZW4gU2FjaGVuIHdlZy4KVWxvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKEFzbW9kaXMsICA1LiBEZXogMTk5NSwgMDk6NTQ6MDYpOgojISBybj1CbG9vZHloYXJyeSBydD04MTgwMjU2NzkKV2llIHdhZXJlIGVzLCB3ZW5uIGplZGVyIEFydGlrZWwgZWluIExldmVsIGtvc3RldCA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5hbEZyb250aWVyIGVyb2VmZm5ldCEgKFF1aWxsaWFuLCAgNS4gRGV6IDE5OTUsIDExOjE3OjE3KToKTmFjaCBsYW5nZW4gRW50c2NoZWlkdW5nc2thZW1wZmVuIGhhYmVuIHdpciB1bnMgZW5kbGljaCBkYXp1IGR1cmNoLQpnZXJ1bmdlbiB6dSBzYWdlbjogd2lyIHNpbmQgJ29mZmVuJy4KCldlciBkZW4gU3BydW5nIGlucyAna2FsdGUgV2Fzc2VyJyBzb2ZvcnQgd2FnZW4gbW9lY2h0ZSwgaGllciBlaW5pZ2UKQWRyZXNzZW46CiAgICAgICAgVGVsbmV0OiBjc21kNTAuY3MudW5pLW1hZ2RlYnVyZy5kZSA3NjAwCiAgICAgICAgICAgICAgICAxNDEuNDQuMjIuNTAgNzYwMAogICAgICAgIEhUVFA6ICAgaHR0cDovL3d3dy1ocHBvb2wuY3MudW5pLW1hZ2RlYnVyZy5kZS9+bXVkLwogICAgICAgIEUtTWFpbDogbXVkQGhwcG9vbC5jcy51bmktbWFnZGVidXJnLmRlCgpVbmQgZGFtaXQgYWxsZSwgZGllIGVzIGludGVyZXNzaWVydCwgd2lzc2VuLCB3b21pdCBzaWUgZXMgYmVpbSBUaGVtYQpGRiAoPT0gX0ZfaW5hbF9GX3JvbnRpZXIpIHp1IHR1biBoYWJlbiBoaWVyIGVpbiBiaXNjaGVuIFdlcmJ1bmcgKD8pIGluCmVpZ2VuZXIgU2FjaGUuCgpGRiBsYWV1ZnQgbWl0IGRlbSBMUE11ZC1Ecml2ZXIgdm9uIEFteWxhYXIgYXVmIEdydW5kbGFnZSBkZXIKVU5JdG9waWEtTXVkTGliLCBkaWUgdm9uIHVucyBpbiB3ZWl0ZW4gVGVpbGVuIGFuZ2VwYXNzdCB1bmQgdmVyYWVuZGVydAp3dXJkZS4gVGhlbWEgZGVzIEdhbWVzIGlzdCBkaWUgYWxsZ2VtZWluZSBTY2llbmNlIEZpY3Rpb24gLSB3b2JlaSB3aXIKZ3Jvc3NlbiBXZXJ0IGF1ZiBFaWdlbmtyYWV0aW9uZW4gaW4gZGllc2VyIFJpY2h0dW5nIGdlbGVndCBoYWJlbiAod2FzCndvaGwgbmljaHQgaW1tZXIgZWluenVoYWx0ZW4gaXN0LCBkYSB2aWVsZSBkb2NoIHZvbiBnZWxlc2VuZW0sIGdlaG9lcnRlbQp1bmQvb2RlciBnZXNlaGVuZW0gdmVyc3VjaGVuIGF1c3p1Z2VoZW4pLgpHZWdlbndhZXJ0aWcgZXhpc3RpZXJlbiA1IHNwaWVsYmFyZSBSYXNzZW4gbWl0IGpld2VpbHMgZWlnZW5lbSBIZWltYXRzeXN0ZW0KKGVpbmUgUmFzc2UgaXN0IGF1cyBwcm9ncmFtbWllcnRlY2huaXNjaGVuIEdydWVuZGVuIGdlZ2Vud2FlcnRpZyBhYmVyIGxlaWRlcgonaGVpbWF0bG9zJykKCkltIG5hY2hmb2xnZW5kZW4gbW9lY2h0ZSBpY2ggZGllc2UgNSBSYXNzZW4gdW5kIFN5c3RlbWUga3VyeiB2b3JzdGVsbGVuLgoKRGllIEFrYWFyZGlhbmVyIHVuZCBkYXMgQWthYXJkaWFuaXNjaGUgUmVpY2gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGFzIEFrYWFyZGlhbmlzY2hlIFJlaWNoIGlzdCBERVIgTWFjaHRwb2wgaW0gYmVrYW5udGVuIFVuaXZlcnN1bS4gU2VpbgpNaWxpdGFlciBpc3QgYmVpbmFoZSBhbGxnZWdlbndhZXJ0aWcgdW5kIGJldHJlaWJ0IGVpbmVuIGJydXRhbGVuIEV4cGFuc2lvbnMtCmt1cnMuIERpZSBBa2FhcmRpYW5pc2NoZSBLdWx0dXIgaXN0IHdlaXRnZWhlbmQgYXVmIGRlciBFaHJlIGRlciBGYW1pbGUgdW5kCmRlciBNaWxpdGFlcmlzY2hlbiBGdWVocmVyIGF1ZmdlYmF1dC4KQWthYXJkaWFuZXIgKG1hZW5ubGljaCB3aWUgd2VpYmxpY2gpIHNpbmQgY2EuIHp3ZWkgTWV0ZXIgZ3Jvc3MsIHdlc2VudGxpY2gKc3RhZXJrZXIgYWxzIE1lbnNjaGVuIHVuZCBhdWNoIGJlZGV1dGVuZCB3aWRlcnN0YW5kc2ZhZWhpZ2VyLiBBa2FhcmRpYW5lcgp3ZXJkZW4gc2Nob24gaW4gZnJ1ZWhzdGVyIEp1Z2VuZCBtaXQgYWxsZW4gQW5ncmlmZnMtIHVuZCBWZXJ0ZWlkaWd1bmdzLQpzdHJhdGVnaWVuIGJla2FubnQgZ2VtYWNodCwgdW5kIHNpbmQgZGFoZXIgTWVpc3RlciBpbSBLYW1wZi4gTmViZW4gZGllc2VuCkZhZWhpZ2tlaXRlbiBzb2xsdGUgbWFuIGVpbmVuIEFrYWFyZGlhbmVyIGF1ZiBrZWluZW4gRmFsbCBmdWVyIHVuZ2VzY2hpY2t0Cm9kZXIgZHVtbSBoYWx0ZW4uCkFrYWFyZGlhbmlzY2hlIFNwaWVsZXIga29lbm5lbiBlbnR3ZWRlciBmdWVyIGRhcyBIZXJyc2NoYWZ0c3lzdGVtIGFyYmVpdGVuLAppbmRlbSBzaWUgZWluZSBLYXJpZXJlIGlubmVyaGFsYiBkZXIgTWlsaXRhZXIgYW5zdHJlYmVuLCBvZGVyIGFscwpVbnRlcmdydW5ka2FlbXBmZXIgdmVyc3VjaGVuIGRpZSBkaWt0YXRvcmlzY2hlIE1hY2h0c3RydWt0dXJlbiBkaWUgYmVpbmFoZQp1ZWJlcmFsbCBoZXJyc2NoZW4genUgZHVyY2hicmVjaGVuLgpTb3dlaXQgenVyIGFsbGdlbWVpbmVuIEluZm9ybWF0aW9uLiBOYWVoZXJlcyBlcmZhZWhydCBtYW4gYXVmIGRlciBXMy1Hcm9zcy0KYmF1c3RlbGxlIHZvbiBGRjoKaHR0cDovL3d3dy1ocHBvb2wuY3MudW5pLW1hZ2RlYnVyZy5kZS9+bXVkL2RvbS9Ba2FhcmRhbi9ha2FhcmRhbi5odG1sCgpEaWUgUmloYW5uc3UgdW5kIGRhcyBUYWxhZG9uLVN5c3RlbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEaWUgUmloYW5uc3Ugc2luZCBlaW4gc2VociBhbHRlcyBWb2xrLCBkYXMgc2VpdCBldHdhIDEwMDAwMCBKYWhyZW4gaW4gc2VpbmVyCmhldXRlbiBGb3JtIGV4aXN0aWVydC4gRnJ1ZWhlciBoZXJyc2NodGVuIHNpZSB1ZWJlciBlaW4gZ2lnYW50aXNjaGVzClN0ZXJuZW5yZWljaCwgZGFzcyB2aWVsZSBTb25uZW5zeXN0ZW1lIHVtZmFzc3RlLiBEb2NoIGRhbm4gZ2VzY2hhaCBkaWUKS2F0YXN0cm9waGUuIEVzIGJlZ2FubiBkYW1pdCwgZGFzcyB0ZWt0b25pc2NoZSBCZWJlbiBkZW4gUGxhbmV0ZW4KZHVyY2h6dWNrdGVuLgpBdWNoIGRpZSBMZXVjaHRrcmFmdCBkZXIgU29ubmUgbmFobSBhYi4gR2VuYXVlcmUgVW50ZXJzdWNodW5nZW4gZXJnYWJlbiwgZGFzcwpkaWUgU29ubmUgdm9uIGVpbmVtIFNjaHdhemVuIExvY2ggYW5nZXpvZ2VuIHd1cmRlLiBFaW4gZ3Jvc3NlciBUZWlsIGRlcgpSaWhhbm5zdQp2ZXJrYW5udGUgZGllIEdlZmFociB1bmQgYmxpZWJlbi4gRG9jaCBlaW4gYW5kZXJlciBUZWlsIHBhY2t0ZSBzZWluIEhhYiB1bmQKR3V0CmVpbiB1bmQgbWFjaHRlIHNpY2ggYXVmIGRpZSBTdWNoZSBuYWNoIGVpbmVtIG5ldWVuIGJld29obmJhcmVuIFBsYW5ldGVuLgpEYXMgU29ubmVuc3lzdGVtIGltcGxvZGllcnRlIHVuZCByaXNzIE1pbGlhcmRlbiBSaWhhbm5zdSBpbiBkZW4gVG9kLgpFcyBibGllYiBlaW5lIEZsb3R0ZSBiZXN0ZWhlbmQgYXVzIDEwMDAwIFNjaGlmZmVuLCBkaWUgc2ljaCBhdWYgZWluZQpuZXJ2ZW5hdWZyZWliZW5kZSBTdWNoZSBuYWNoIGJld29obmJhcmVuIFBsYW5ldGVuIG1hY2h0ZS4gTmFjaCBlaW5lcgp6d2VpIEphaHJ6ZWhudGUgYW5kYXVlcm5kZW4gT2R5c2VlIGVudGRlY2t0ZW4gZGllIHZlcmJsZWliZW5kZW4gNzY4NCBTY2hpZmZlCmVpbiBTeXN0ZW0sIGluIGRlbSBlcyB6d2VpIGJld29obmJhcmUgUGxhbmV0ZW4gZ2FiLiBTaWUgbmFubnRlbiBlcwoiVGFsYWRvbi1TeXN0ZW0iLCBkaWUgUGxhbmV0ZW4gbmFubnRlbiBzaWUgQ2gnUmloYW4gdW5kIENoJ0hhdnJhbi4gRGFzClRhbGFkb24tU3lzdGVtIGhhdCBlaW5lIFJvdGUgU29ubmUsIEVpc24gZ2VuYW5udC4KTWVociBrYW5uIG1hbiB1bnRlcgpodHRwOi8vd3d3LWhwcG9vbC5jcy51bmktbWFnZGVidXJnLmRlL35tdWQvZG9tL1RhbGFkb24vdGFsYWRvbi5odG1sCmVyZmFocmVuLgoKRGllIFBha3NpIHVuZCBFbmR5bWlvbgo9PT09PT09PT09PT09PT09PT09PT09CkRpZSBQYWtzaSBzaW5kIGtsZWluZSBkdWVubmUgV2VzZW4gbWl0IGR1cmNoc2NoZWluZW5kZXIgYmxhZXVsaWNoCnNjaGltbWVybmRlciBIYXV0LiBTaWUgc2luZCBjYS4gMSw1MCBNZXRlciBncm9zcy4gQXVmZmFsbGVuZCBhbiBpaG5lbiBpc3QKZGVyIGJlc29uZGVycyBncm9zc2UgU2NoYWVkZWwsIGRlciB2b24gaWhyZW0gcmllc2lnZW4gR2VoaXJuIGZhc3Qgdm9lbGxpZwphdXNnZWZ1ZWxsdCB3aXJkLiBTaWUgYmVzaXR6ZW4gZWluZSBzZWhyIGhvaGUgSW50ZWxsaWdlbnogdW5kIHNpbmQgZGFkdXJjaAppbiBkZXIgTGFnZSBpaHJlIGVoZXIgc2Nod2FlY2hsaWNoZSBLb25zdGl0dXRpb24gbWl0dGVscyB0ZWNobmlzY2hlciBNaXR0ZWwKYXVzenVnbGVpY2hlbi4KRGVyIEhlaW1hdHBsYW5ldCBkZXIgUGFrc2kgaXN0IEVuZHltaW9uIC0gZWluIFBsYW5ldCBkZXIgTS1LbGFzc2UgaW0KTHl4YXJhLVNvbm5lbnN5c3RlbSBpbSBTdGVybmJpbGQgZGVzIEtyZWJzZXMuIEVuZHltaW9uIHd1cmRlIGluIGRlcgpWZXJnYW5nZW5oZWl0IGR1cmNoIG9la29sb2dpc2NoZW4gUmF1YmJhdSBpbiBlaW5lIFd1ZXN0ZSB2ZXJ3YW5kZWx0LiBVZWJlcmFsbAphdWYgZGVtIFBsYW5ldGVuIGJlZmluZGVuIHNpY2ggcmllc2lnZSBJbmR1c3RyaWVydWluZW4sIGRpZSBmYXRhbCBhbiBkaWUgRXJkZQppbSAyMC4vMjEuIEphaHJodW5kZXJ0IGVyaW5uZXJuLgpBdWYgRW5keW1pb24gZXhpc3RpZXJlbiBub2NoIDIgd2VpdGVyZSBWb2Vsa2Vyc3RhZW1tZS4KV2VpdGVyZnVlaHJlbmRlIEluZm9ybWF0aW9uZW4gc3VjaGUgbWFuIGhpZXI6Cmh0dHA6Ly93d3ctaHBwb29sLmNzLnVuaS1tYWdkZWJ1cmcuZGUvfm11ZC9kb20vRW5keW1pb24vZW5keW1pb24uaHRtbAoKRGllIE1lbnNjaGVuIHVuZCBkYXMgU3lzdGVtICdTb2wnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEaWUgSGVpbWF0IGRlciBNZW5zY2hlbiBpc3QgZGllIEVyZGUsIGRlciBkcml0dGUgUGxhbmV0IGltIFNvbCBTeXN0ZW0uCkZ1ZXIgdW5zZXJlIGF1c3NlcmlyZGlzY2hlbiBNdWRkZXI6IE1lbnNjaGVuIHNpbmQgYXVmcmVjaHRnZWhlbmRlLAp2ZXJudW5mdGJlZ2FidGUgV2VzZW4sIG1hZW5ubGljaGVuIHVuZCB3ZWlibGljaGVuIEdlc2NobGVjaHRzLiBJaHJlClZlcmdhbmdlbmhlaXQgd3VyZGUgdm9uIGVpbmVtIHN0YWVuZGlnZW4gS2FtcGYgdW1zIGVpZ2VuZSBVZWJlcmxlYmVuCmdlcHJhZWd0LCB3b2JlaSBhbmZhbmdzIGRpZSBVcmFzY2hlIGRpZSBaZXJzdG9lcnVuZyBkZXMgZWlnZW5lbiBMZWJlbnNyYXVtcywKd2FlaHJlbmQgZGVzIEdyb3NzZW4gS3JpZWdlcywgZGVyIEFuZ3JpZmYgZGVyIGF1c3NlcmlyZGlzY2hlbiBGcmVtZGVuIHdhci4KTmFjaGRlbSBLcmllZyBsZWJ0ZW4gbnVyIG5vY2ggZWluZSBoYWxiZSBNaWxsaW9uIE1lbnNjaGVuIGluIGVpbmVtCnVudGVyaXJkaXNjaGVuIEJ1bmtlcnN5c3RlbS4gRXJzdCBpbSBKYWhyZSAyMjA1IHdpZWRlciBzYWggZGllIE1lbnNjaGhlaXQKZGFzIExpY2h0IGRlciBTb25uZSB3aWVkZXIuIEF1ZmdydW5kIGRlciBsZWJlbnNmZWluZGxpY2hlbiBVbXdlbHQgYXVmCmRlciBFcmRlIGVycmljaHRldGVuIHNpZSBkaWUgZXJzdGVuIEt1cHBlbG4gZGVyIEt1cHBlbHN0YWR0IFNvbC1DaXR5LgpWb24gbnVuIGFuIGJlZ2FubiBkZXIgQXVmc3RpZWcgZGVyIE1lbnNjaGhlaXQgYWxzIGJlZGV1dGVuZGUgR3JvZXNzZSBpbQpSaW5nZW4gZGVyIFZvZWxrZXIgZGVzIFVuaXZlcnN1bS4KU3RhbmQgZGVyIFplaXRyZWNobnVuZzogMjM3NCBTb2wtWmVpdC4KTWVociBJbmZvcyB3ZXJkZW4gbmFjaCBkZXIgVW1nZXN0YWx0dW5nIHVuc2VyZXIgVzMtU2VpdGVuIGVyaGFlbHRsaWNoIHNlaW4uCgpEaWUgSiduYWlpCj09PT09PT09PT0KRGllIEonbmFpaSBzaW5kIGRpZSBVZWJlcmxlYmVuZGVuIGRlciBpbiBlaW5lbSBncm9zc2VuIEtyaWVnIHVudGVybGVnZW5lbgpOYXRpb24gYXVmIGlocmVtIGZydWVoZXJlbSBIZWltYXRwbGFuZXRlbi4gTmFjaCBkZW0ga3JpZWcgd3VyZGVuIHNpZQp2ZXJiYW5udCBhdWYgZWluZW4gYW5kZXJlbiBQbGFuZXRlbi4gRGllIEdlc2VsbHNjaGFmdHNvcmRudW5nLCBkaWUgc2ljaApkYXJhdWYgZW50d2lja2VsdGUsIGthbm4gbWFuIHNjaG9uIGZhc3QgYW5hcmNoaXN0aXNjaCBuZW5uZW4sIHVuZCBlcyBoZWlzc3QsCmRhc3MgZGllIEonbmFpaSBEaWViZSB1bmQgU2NobXVnZ2xlciBzZWluIHVuZCBkYXNzIG1hbiB2b24gaWhuZW4gZnVlciBHZWxkCmZhc3QgYWxsZXMgYmVrb21tZW4ga29lbm50ZS4KCkFDSFRVTkc6IERpZXNlIFJhc3NlIGlzdCByZWxhdGl2IG5ldSB1bmQgYXVjaCBub2NoIGluIGVpbmVyIEVycHJvYnVuZ3NwaGFzZS4KICAgICAgICAgRGFoZXIga2FubiBlcyBzZWluLCBkYXNzIG5vY2ggQWVuZGVydW5nZW4gbmFjaGdldHJhZ2VuIHdlcmRlbiwgYWJlcgogICAgICAgICBmdWVyIEZlaGxlciB1bmQgSWRlZW4gZnVlciBkaWUgUmFzc2Uga29lbm50IGlociBldWNoIGdlcm5lCmplZGVyemVpdAogICAgICAgICBhbiBJdmFuaG9lIHdlbmRlbi4gQXVzc2VyZGVtIGlzdCBkZXIgSGVpbWF0cGxhbmV0IGRlciBKJ25haWkgYXVjaAogICAgICAgICBub2NoIG5pY2h0IGVyb2VmZm5ldC4KSGllciBnaWJ0IGVzIG5vY2ggZWluaWdlcyB6dSBlbnR3aWNrZWxuLiBEaWUgSiduYWlpIGZpbmRlbiBnZWdlbndhZXJ0aWcKQXN5bCBhdWYgQWthYXJkYW4uIFczLUluZm9zIHNpbmQgbmljaHQgdmVyZnVlZ2Jhci4KClNvd2VpdCB6dSBkZW4gR2VnZWJlbmhlaXRlbiBpbiBGRi4KCkZ1ZXIgZGllIG5haGUgWnVrdW5mdCBwbGFuZW4gd2lyIGRpZSBVbXNldHp1bmcgZWluZXMgSExQLUtvbnplcHRzLCB3ZWxjaGVzCmRlbiAobGV2ZWwpYWVsdGVyZW4gU3BpZWxlcm4gbmV1ZSBNb3RpdmF0aW9uIHp1ciBGb3J0c2V0enVuZyBpaHJlciBTcGllbGVyLQpsYXVmYmFobiBnZWJlbiBzb2xsLgoKVW5kIGdhbnogYW0gUmFuZGUgKG9kZXIgYmVzc2VyIEVuZGUpIG1vZWNodGUgaWNoIG5vY2ggZXJ3YWVobmVuLCBkYXNzIGJlaSB1bnMKbmllbWFuZCB1bSBzZWluZSBTYWNoZW4gZnVlcmNodGVuIG11c3MgLSB3aXIgc2ljaGVybiBkZW0gU3BpZWxlciBiZWltCkF1c2xvZ2dlbgphbGxlcyBiaXMgenVtIGxldHp0ZW4gU3RhdWJrb2VybmNoZW4gLSBBdXNuYWhtZW46IFN0cm9tYXVzZmFsbC4KCkRhblMuIChpY2ggc29sbHRlIHdvaGwgZG9jaCBsaWViZXIgd2FjaGVuIEF1Z2VzIHBvc3RlbiAqc2NobmFyY2gqKQoKRWluIE5hY2hzYXR6IGZ1ZXIgZGllIFRlY2huaWtmcmVha3M6ClJlY2huZXI6IEhQIDkwMDAgTW9kZWxsIDcxNS82NApQZXJmb3JtYW5jZTogTUlQUzogNzcuNyA7IE1GTE9QUzogMjIuMiA7IFNQRUNpbnQ5MjogODAuNiA7IFNQRUNmcDkyOiAxMDkuNApNYWluIE1lbW9yeTogNDggTUIgKEVDQyBTSU1NUykKLi4uCkphamEgLi4uIGljaCBoYWV0dCBqYSBnZXJuIG5lIGJlc3NlcmUgTXVlaGxlIC4uLgouLi4KUGxhdHRlOiBobSAuLi4gaW5zZ2VzYW10IDEwIEdCIC4uLiBmdWVyIHVucyBzb3ZpZWwsIHdpZSBhbmRlcmUgdWViZXJsYXNzZW4KCgoKUXVpbGxpYW4gKGVpbmZhY2ggbWFsIHNvIHZvbiBEYW5TIHVlYmVybm9tbWVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpbmFsRnJvbnRpZXIgZXJvZWZmbmV0ISAoWWVuZGksICA1LiBEZXogMTk5NSwgMTI6NDE6MTYpOgojISBybj1RdWlsbGlhbiBydD04MTgxNTg2MzcKClNwaXR6ZmluZGlnZSBGcmFnZToKCkRpZSBSaWhhbm5zdSBoZXJyc2NodGVuIHVlYmVyIGVpbiAiZ2lnYW50aXNjaGVzIFN0ZXJuZW5yZWljaCwgZGFzKHMpIHZpZWxlClNvbm5lbnN5c3RlbWUgdW1mYXNzdGUiLiBXYXJ1bSBoYWJlbiBzaWUgZGVubiBkYW5uIG5pY2h0IGVpbmZhY2ggaWhyZW4KSGF1cHR2ZXJ3YWx0dW5nc3BsYW5ldGVuIGF1ZiBlaW5lbiBkZXIgdmllbGVuIGFuZGVyZW4gYmV3b2huYmFyZW4gUGxhbmV0ZW4gaW4KaWhyZW0gUmVpY2ggdmVybGVndD8gT2RlciBoYXR0ZW4gc2llIGluIGlocmVtIGdhbnplbiwgcmllc2lnZW4gU3Rlcm5lbnJlaWNoCmtlaW5lbiBhbmRlcmVuIGJld29obmJhcmVuIFBsYW5ldGVuPyBEYW5uIHd1ZXJkZSBtaWNoIGludGVyZXNzaWVyZW4sIHdpZSBkaWUKUmloYW5uc3UgInVlYmVyIGVpbiBSZWljaCBoZXJyc2NoZW4iIGRlZmluaWVyZW4uLi4gSGVycnNjaGVuIHdpciB1ZWJlciBkYXMKVW5pdmVyc3VtLCBvaG5lIGVzIHJpY2h0aWcgenUgbWVya2VuPyAgIEZyYWdlbiB1ZWJlciBGcmFnZW4uLi4KCgpZZW5kaSBkZXIgTmFycgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgZm9yd2FyZGVuIChKb2YsICA1LiBEZXogMTk5NSwgMTQ6MjA6MTgpOgoKIEVzIGlzdCBpbiBkZW4gbGV0emVuIFRhZ2VuIG1laHJmYWNoIE1haWxzIGF1cyBkZW0gTXVkIGhlcmF1cyBhbiBNYWlsYm94ZW4KdmVyc2NoaWNrdCB3b3JkZW4sIE1haWxzIGluIEdyb2Vzc2UgbWVocmVyZXIgTWVnYWJ5dGVzOyBlaW5tYWwgYW4KZGlhYm9sYS50b3BuZXQuc3ViLmRlLCB6dW0gYW5kZXJlbiBhbiBlaW5lIEFkcmVzc2UgaW0gTmV0eiBub3J0aC5kZS4KRGEgZGllIEJveGJldHJlaWJlciBzaWNoIGJlaSBtZWluZW0gQ2hlZiBiZXNjaHdlcnQgaGFiZW4gdW5kIGRhcyBNdWQKa2VpbiBvZmZpemllbGxlciBTZXJ2aWNlIGRlciBVbmkgaXN0LCB3ZXJkZSBpY2ggYmVpbSBuYWVjaHN0ZW4gRXJlaWduaXNzCmRpZXNlciBBcnQgZGVuIFNlcnZpY2UgIk1haWwgdm9uL25hY2ggTUciIGFic2NoYWx0ZW4uIEVzIHdhZXJlIG5ldHQsIHdlbm4KZGllIFZlcnVyc2FjaGVyIHNpY2ggYmVpIGlocmVuIE1haWxib3hiZXRyZWliZXJuIG1lbGRlbiBrb2VubnRlbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsIGZvcndhcmRlbiAoRmVsYWd1bmQsICA1LiBEZXogMTk5NSwgMTQ6MjM6MTMpOgojISBybj1Kb2YgcnQ9ODE4MTY5NjE4Ckthbm4gbWFuIGRhIGtlaW5lIEdyb2Vzc2VuYmVzY2hyYWVua3VuZyBmdWVyIE1haWxzIGVpbmZ1ZWhyZW4/IFNvbnN0IGtvbW10Cm5vY2ggamVtYW5kIGF1ZiBkaWUgSWRlZSwgZGFzcyBkYXMgbmUgS2xhc3NlIElkZWUgd2FlcmUsIGRpZSBMZXV0ZSBoaWVyIHp1CmFlcmdlcm4uLgoKRmVsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWlsIGZvcndhcmRlbiAoSm9mLCAgNS4gRGV6IDE5OTUsIDE0OjQ0OjIxKToKIyEgcm49RmVsYWd1bmQgcnQ9ODE4MTY5NzkzCgogU29ycnksIGhhYiBtaWNoIHVua2xhciBhdXNnZWRydWVja3QsIGVzIGhhbmRlbHRlIHNpY2ggbmljaHQgdW0gRUlORSBNYWlsLApzb25kZXJuIGltIExhdWZlIGVpbmlnZXIgU3R1bmRlbiBlaW5pZ2UgLXppZyBNYWlscyBqZSB+MjBrYi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsIGZvcndhcmRlbiAoRnl0LCAgNS4gRGV6IDE5OTUsIDE3OjM2OjUyKToKIyEgcm49Sm9mIHJ0PTgxODE2OTYxOApJcmdlbmR3aWUgYXNzb3ppZXJlIGljaCBub3J0aC5kZSBpbW1lciBub2NoIG1pdCBkZW0gSGVycm4sCmRlciBkaWUgTUctR2VzYW10bG9lc3VuZyBpbiBkZW4gTmV0TmV3cyBnZXN1Y2h0IGhhdC4gU29sbHRlCmVyIGZ1ZW5kaWcgZ2V3b3JkZW4gc2Vpbj8KCkZ5dC4uLiBncnVlYmVsbmQsIHdpZSBpbW1lciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaSAoSmVycmljbywgIDUuIERleiAxOTk1LCAyMDowMDo0Nyk6CkljaCBmYWVuZGUgZXMgZ3V0IHdlbm4gbWFuIHNpY2ggYmVpICdpJyBvcHRpb25hbCBhdWNoIGRpZSBzYWNoZW4gYW56ZWlnZW4KbGFzc2VuIGthbm4sIGRpZSBtYW4gYmVpIHZlcmthdWZlIGFsbGVzIG5pY2h0IG1pdHZlcmthdWZlbiB3aXJkLCBvZGVyIGRhcyBiZWltCm5vcm1hbGVuICdpJywgZGllIHNhY2hlbiwgZGllIG1hbiBiZWhhZWx0LCBtaXQgZWluZW0gJysnIG9kZXIgc29uc3R3aWUKbWFya2llcnQgd2FlcmVuLgoKSmVycmljbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTnVyIG1hbCBzbyBhbSBSYW5kZSAoQWduZXRoYSwgIDUuIERleiAxOTk1LCAyMToyMToyMSk6CiMhIHJuPUtyZXRlayBydD04MTc4MjMxNjcKCkhhIQoKU28gZWluZSBoYWIgaWNoIGF1Y2ghCgpMZWRlcmZyZWFrIEFnbmV0aGEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWlsIGZvcndhcmRlbiAoQWNyaW1vbiwgIDYuIERleiAxOTk1LCAwMTo0Njo0NCk6CiMhIHJuPUpvZiBydD04MTgxNzEwNjEKS2FubiBtYW4gbmljaHQgZWluZSBNYWlsYmVncmVuenVuZyBlaW5mdWVocmVuLCBuYWNoIGRlciBBcnQgaW4gZWluZXIgU3R1bmRlCmR1ZXJmZW4gbmljaHQgbWVociBhbHMgMTAgTWFpbHMgZ2VzZW5kZXQvZW1wZmFuZ2VuIHdlcmRlbj8KCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEaWViZSBpbSBNRyAtIGpldHp0IGxhbmd0cyAhIChBcmFueWEsICA2LiBEZXogMTk5NSwgMTU6MDk6MTQpOgojISBybj1CbG9vZHloYXJyeSBydD04MTgwMjU2NzkKTmVpbiEhISEhIQoKSGFsbG9sZSAtIHNhY2h0IEFyYW55YQogICAgICAgICAgICAgICAgICAgICAgICBpaHJlcyBaZWljaGVucyBOYWNod3VjaHNqb3VybmFsaXN0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2lsZGVuIChBc21vZGlzLCAgNi4gRGV6IDE5OTUsIDE2OjA3OjIzKToKIyEgcm49RmVscyBydD04MTgxNzI2ODAKSWNoIGZpbmRlIGF1Y2gsIGRhc3MgZGllIGJlc3RlaGVuZGVuIE1vbnN0ZXIgbmljaHQgc3RhZXJrZXIgZ2VtYWNodAp3ZXJkZW4gc29sbGVuLCB3ZWlsIGRpZSBuZXVlbiBHaWxkZW4gc3RhZXJrZXIgYWxzIGRpZSBhbHRlbiBzaW5kLgpIaW5nZWdlbiBrb2VubnRlIG1hbiBqYSBuZXVlIE1vbnN0ZXIgcHJvZ2dlbiwgZGllIHNwZXppZWxsIGZ1ZXIKZWluZSBHaWxkZSBpbnRlcmVzc2FudCBzaW5kICh1bmQgbmljaHQgbnVyIGZ1ZXIgZGllIENoYW90ZW4sIHouQi4sCnNpZWhlIGRlbiBXZWdoaWVyKSwgZC5oLiBkYXNzIGRpZSBHaWxkZW5mYWVoaWdrZWl0ZW4gZGllc2VzCk1vbnN0ZXIgc3BlemllbGwgaGFydCB0cmVmZmVuLiBIaWVyIHNvbGx0ZSBhbGxlcmRpbmdzIGF1Y2ggZXR3YXMKVmllbGZhbHQgaGVycnNjaGVuLCB3ZW5uIGVzIGFsc28gc3BlemllbGxlIE1vbnN0ZXIgZ2lidCwgZGllIHZvbgpDaGFvdGVuLCBvZGVyIEthcmF0ZWthcyByZWxhdGl2IHByb2JsZW1sb3MgZ2VraWxsdCB3ZXJkZW4ga29lbm5lbiwKc28gc29sbHRlIGF1Y2ggZXR3YXMgZnVlciBkaWUgQWJlbnRldXJlciB2b3JoYW5kZW4gc2VpbiwgZGVubiBlcwpnZWh0IG5pY2h0IGFuLCBkYXNzIGJlc3RpbW10ZSBHaWxkZW4gc28gYmVuYWNodGVpbGlndCB3ZXJkZW4uCkVpbiBQcm9ibGVtIGlzdCBzaWNoZXJsaWNoLCBkYXNzIGRpZSBBYmVudGV1cmVyZmFlaGlna2VpdGVuCnNjaG9uIGJlaSBkZW4gQ2hhb3RlbiB2b2xsc3RhZW5kaWcgbWl0IGRyaW4gc2luZCAoYmlzIGF1ZiBzY2huZWxsKSwKYWJlciBkYXMga2FubiBtYW4gc2ljaGVyIGF1Y2ggbG9lc2VuLgoKIEp1c3QgbXkgMiBBcnJoZWVuLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHaWxkZW4gKEJlbmRlaWdpZCwgIDYuIERleiAxOTk1LCAxNjo0NToyOCk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE4MjYyNDQzClN0YXR0ICJzY2huZWxsImhhYmVuIGRpZSBkZW4gd2VpdGVyZW50d2lja2VsdGVuICJmaW5zdGVybmlzIi1TcHJ1Y2guCgpaJ3BhciBTZXJ2dSwKICAgICAgICAgICAgQmVuZGVpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHaWxkZW4gKE15c2VsZiwgIDYuIERleiAxOTk1LCAxNzowMzowMik6CiMhIHJuPUJlbmRlaWdpZCBydD04MTgyNjQ3MjgKCkhpIE11ZGRpZXMsCgprYW5uIG1hbiBlaW5nZW50bGljaCBhbHMgQWJlbnRldWVyZXIgaXJnZW5kd2llIHNlaW5lIEZhZWhpZ2tlaXRlbgppbiBkZW4gdmVyc2NoaWVkZW5lbiBaYXViZXJzcHJ1ZWNoZW4gcmF1c2Jla29tbWVuIChhdWNoIGluIFByb3plbnQsIHouQi4pPwoKLU15c2VsZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2lsZGVuIChCb2luZywgIDYuIERleiAxOTk1LCAxNzoxMTo0Nik6CiMhIHJuPU15c2VsZiBydD04MTgyNjU3ODIKTmVpbiwgRHUga2FubnN0IG51ciB2ZXJzdWNoZW4gZXMgYW5oYW5kIGRlciBFcmZvbGdzbWVsZHVuZ2VuIHNlbGJzdCByYXVzLQp6dWJla29tbWVuIHdpZSBndXQgRHUgZWluZW4gU3BydWNoIGluIGV0d2Ega2FubnN0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbnV0c2NoZW4gdW5kIFF1ZXN0ZW4/IChJbmVzaGEsICA2LiBEZXogMTk5NSwgMjE6NDY6MDQpOgpFaW5lIGdhbnogYWxsZ2VtZWluZSBCZXRyYWNodHVuZyB1ZWJlciBkYXMgTGViZW4gaW0gTVVELiBNZWluZSBlcnN0ZQpCZWdlZ251bmcgd2FyIGVpbiBCYWdnZXIgdW5kIGRhbm4gdHJhZiBpY2ggZGVyZXIgdmllbGUuIEljaCBiZWthbSBkZW4gVmVyd2VpcwpEdSBiaXN0IGFscyBGcmF1IGVpZ2Vsb2dndCwgYW9sbHRlIG1pciBkYXMgenUgZGVua2VuIGdlYmVuPyBJY2ggYmluIHNpY2hlcgpuaWNodCBrbGVpbmxpY2ggdW5kIGRpZSBMZXV0ZSBtaXQgZGVuZW4gaWNoIG1pY2ggZ2VybmUgdW50ZWhhbHQgd2VyZGVuIGVzCnZlcnN0ZWhlbiwgc28gaG9mZmUgaWNoIHdlbmlnc3RlbnMuIEJpdHRlIGdlYnQgYXVjaCBtaXIgZGllIENoYW5jZSBlaW4gd2VuaWcKenUgUXVlc3Rlbi4gQXVzc2VyZGVtIGJpbiBpY2ggdmVybG9idCwgZWluZSBCZW1lcmt1bmcgbnVyIHNvIGFtIFJhbmRlLgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGllc2UgUmVnZWx1bmcgdWViZXJkZW5rZW4sIHdlbm4gc2llIG5pY2h0CmJlcnVlY2tzaWNodGlndCB3aXJkLiBBbHNvIHNlaWQgbmljaHQgYm9lc2UsIHdlbm4gaWNoIGluIG5hZWNoc3RlciBaZWl0CnZlcnpvZWdlcnQgcmVhZ2llcmUsIGRpZSBnZW1laW50IHNpbmQgd2lzc2VuIHdlbiBpY2ggbWVpbmUsIGRpZSBhbmRlcmVuIGt1c2NoCmlucyBLb2VyYmNoZW4uIFNvIGxvbmcgYW5kIHRoYW5rcyBmb3IgYWxsIHRoZS4uLgpJbmVzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZGVyTGFuZCBpc3QgamV0enQgd29hbmRlcnMgKE11cGZlbCwgIDYuIERleiAxOTk1LCAyMjozNzoxNSk6CndlciB2b24gZGVuIGFuZGVybGFlbmRlcm4gZGllIG5ldWUgYWRyZXNzZSB3aXNzZW4gd2lsbCwgd2VuZGUgc2ljaCBhbgpjdWNodWxsaW4gaGFkcmEgZ3VuZHVyIG9kZXIgZHVzdHkgKHp1ciBub3QgYXVjaCBhbiBtaWNoIDotKQotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yc2NobGFnIChSaW11cywgIDYuIERleiAxOTk1LCAyMzo1MjoxMik6CiMhIHJuPVp1ZXJpbGV1IHJ0PTgxNzUxNzA3NApNZWluZSBNZWludW5nIHp1bSBHZWxkcHJvYmxlbToKCkVzIG11ZXNzdGUgZWluZmFjaCBlaW4gUHJvcCBiZWkgZGVuIG11ZW56ZW4gZ2VzZXR6dCB3ZXJkZW4sIGRhc3MgbWFuIHNpZQpuaWNodCB3ZWd3ZXJmZW4gb2RlciB3ZWdnZWJlbiBrYW5uLgpIb2VocmUgaWNoIGRhIHdlbGNoZSBzYWdlbjoiIHVuZCB3aWUgaGlsZnQgbWFuIGRhIGRlbiBhbmZhZW5nZXJuPyAiID8/CmFsc286IE1pdCBldHdhcyBBdXNydWVzdHVuZyB1bmQgZ3V0ZW4gdGlwcyBpc3QgaWhuZW4gZ2V3aXNzIG1laHIgZ2Vob2xmZW4gYWxzCm1pdCBlaW5lciBtaWxkZW4gc3BlbmRlIHZvbiAxMDAwIG11ZW56ZW4gISEKbGFzc3QgZXVjaCBkYXMgbWFsIGR1cmNoIGRlbiBrb3BmIGdlaGVuICEhCgoKUmltdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZvcnNjaGxhZyAoRnl0LCAgNy4gRGV6IDE5OTUsIDAwOjMwOjQ3KToKIyEgcm49UmltdXMgcnQ9ODE4MjkwMzMyCkRhcyBtaXQgZGVtIEdlbGQgYmVoYWx0ZW4gaGFsdCBpY2ggZmV1ciBCbG9lZHNpbm4gOikKSWNoIGJyYXVjaCBHZWxkIGVudHdlZGVyIDE1MC1tdWVuemVuLXdlaXNlIG9kZXIgc2VjaHNzdGVsbGlnZQpTdW1tZW4sIHdpZSBiaXR0ZSBzb2xsIGljaCBsZXR6dGVyZXMKbWl0IG1pciBydW1zY2hsZXBwZW4/CgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWxic3Rsb2VzY2h1bmcuIChMdWcsICA3LiBEZXogMTk5NSwgMDE6NTI6MTUpOgpUamEsIGljaCBnbGF1YmUgaWNoIHdlcmRlIGFsdC4gU2VsYnN0bG9lc2NodW5nIG9kZXIgTmlvY2h0c2VsYnN0bG9lc2NodW5nIGlzdApoZXIgZGllIGZyYWdlLiBJcmdlbmRlbGNoZSBLb21tZW50YXJlPwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWxic3Rsb2VzY2h1bmcuIChDdWNodWxsaW4sICA3LiBEZXogMTk5NSwgMDE6NTc6MjEpOgojISBybj1MdWcgcnQ9ODE4Mjk3NTM1CgogICAgInNwaWVscGF1c2UgNyB0YWdlIiAgIC0gIGRlbmsgbmUgV29jaGUgZHJ1ZWJlciBuYWNoLgoKQ3VjaC4tIGRlbmt0IGF1Y2ggc2VociBvZnQgbmFjaC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBibGVpYmUgZXJoYWx0ZW4hIFBlY2ghIChMdWcsICA3LiBEZXogMTk5NSwgMDQ6NTQ6NDYpOgpBbHNvIGd1dC4gdWViZXJ6ZXVndC4gSWNoIGJsZWliZS4KenVyIEhvZWxsZSBkYW1pdC4KTHVnCgpQLlMuOiBZb3UgY2FuJ3QgYnJpbmcgbWUgZG93biAoU3VpY2lkYWwgdGVuZGVuY2llcykKUC5QLlMuOiBXaWUgcGFzc2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWxic3Rsb2VzY2h1bmcuIChJbmVzaGEsICA3LiBEZXogMTk5NSwgMDU6MDA6MjIpOgojISBybj1MdWcgcnQ9ODE4Mjk3NTM1CndhZXJlIGVpbiBlY2h0ZXIgdmVybHVzdCA6KSwgd2VubiBzb2xsdGUgbWFuIGluIGFsbGVyIGhlcnJnb3R0c2ZydWVoZSBkYW5uCm5vY2ggYXVmemllaGVuIGtvZW5uZW4/IHR1IGVzIG5pY2h0LCBlcyBnaWJ0IHNpY2hlciBhdWNoIG5vY2ggZWluZSBhbmRlcmUKbG9lc3VuZywgbG9lc2NoIGplbWFuZCBhbmRlcmVzLgpxCm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoQmxvb2R5aGFycnksICA3LiBEZXogMTk5NSwgMDc6Mzg6MTgpOgojISBybj1CbG9vZHloYXJyeSBydD04MTgwMjU2NzkKSmEhISEhCgp4Y2FsbCAkbWUtPkFkZE1vbmV5KDIwMDAwKQoKLi4udW5kIHNjaG9uIGthbm4gaWNoIGRlbiBuYWVjaHN0ZW4gQXJ0aWtlbCBzY2hyZWliZW4uCldvIGlzdCBkYSBkYXMgUHJvYmxlbT8KCmZpZXMgZ3JpbnNlbmRlciBCbG9vZHkgSGFycnkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUEEgKFJ4dGVjaCwgIDcuIERleiAxOTk1LCAwNzozOTo1MCk6CkFscyBhdWZtZXJrc2FtZXIgWmVpdHVuZ2xlc2VyIGhhYiBpY2ggaW4gbGV0enRlciBaZWl0IGVpbiBQcm9ibGVtLiBFcyB3aXJkIHp1CmZhc3QgOTAgJSBNdWVsbCBpbiBhbGxlbiBSdWJyaWtlbiBnZXNjaHJpZWJlbi4gRGEgaGF0IG1hbiBkYW5uIGZhc3QgamVkZW4gVGFnCjEwMCBBcnRpa2VsIHZvciBzaWNoIHVuZCBudXIgMTAgYnJpbmdlbiBpcmdlbmR3YXMgbmV1ZXMuIFZvciBhbGxlbSBBcnRpa2VsIGluCmRlbmVuIGRhbm4gc3RlaHQgIkdhbnogbWVpbmUgTWVpbnVuZyIgb2RlciAiTmljaHRzLCBqZXR6dCBoYWIgaWNoIERpciB3b2hsCnVucmVjaHQgZ2V0YW4iICggZGVyIGZpZWxvIG1pciBncmFkIGVpbiwgd2VpbCBpY2ggZGVuIGdyYWQgZXJzdCBnZWxzZW4gaGFiKSwKZ2VoZW4gbWlyIG1hZWNodGlnIGF1ZiBkZW4gU2Vua2VsLCB3ZWlsIHNpb2UgenUgbml4IGFuZGVyZW0gZGllbmVuLCBhbHMgZWluZW0KZGllIFplaXR1bmcgYXVmenVibGFlaGVuIHVuZCBzaWUgc28gd2ljaHRpZyBzaW5kIHdpZSBlaW4gS3JvcGYuIEljaCBob2ZmZQpqZXR6dCBrZWluZSBEaXNrdXNzaW9uIHVlYmVyIGRpZSBXaWNodGlna2VpdCB2b24gS3JvZXBmZW4gYXVzZ2Vsb2VzdCB6dSBoYWJlbi4KCkplZGVuZmFsbHMgZ2VodHMgbXIgZWNodCBhdWYgZGVuIFNhY2sgdW5kIGljaCBkZW5rZSwgZGFzcyBzb2xsdGUgbWFsIGdlc2FndAp3ZXJkZW4uIERpZXNlIEFydCB2b24gTVBBIHdpcmQgKHNvIGdsYXViIGljaCB6dW1pbmRlc3QpIHZpZWxlIGRhdm9uIGFiaGFsdGVuLApkaWUgTVBBIGF1ZiBkYXVlciByZWdlbG1hZXNzaWcgenUgbGVzZW4uCgpBbHNvIGRlbmt0IG1hbCBkcnVlYmVyIG5hY2gsIG9iIG5pY2ggZGllIG1laXN0ZW4gdm9uIGRlbiBNdWVsbC1BcnRpa2VsbiBuaWNoCmF1Y2ggZGlyZWt0IGluIGRlciBTcGFydGUgc2NobWFycm4gb2RlciBNdWVsbCBlcnNjaGVpbmVuIHNvbGx0ZW4uCgpUaiwgaXMgamEgbnVyIG1laW5lIE1laW51bmcKCkJpcyBkZW5uZQoKUngKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUEEgKEJsb29keWhhcnJ5LCAgNy4gRGV6IDE5OTUsIDA3OjQ4OjQ3KToKIyEgcm49Unh0ZWNoIHJ0PTgxODMxODM5MApJY2ggZ2xhdWJlIER1IHZlcmxhbmdzdCB2b24gYWxsZW4sIGRhc3Mgc2llIFZlcm51bmZ0IHplaWdlbiAtIGFuc29uc3RlbiB3aXJkCmVzIG5hZW1saWNoIG5pY2h0IHNvIGtsYXBwZW4uIExlaWRlciBpc3QgZGllc2UgVm9ycmF1c3NldHp1bmcgb2ZmZW5zaWNodGxpY2gKbmljaHQgYmVpIGFsbGVuIGdlZ2ViZW4uIEVzIHBhc3NpZXJlbiBkb2NoIHZpZWwsIHZpZWwgZW50c2NoZWlkZW5lcmUsCnVudmVybnVlbmZ0aWdlIFNhY2hlbiAoa2FubiBtYW4gYWxsZXMgc2Nob2VuIGhpZXIgaW4gZGVyIE1QQSBuYWNobGVzZW4uLikuCldhcnVtIHNvbGx0ZSBkYXMgYXVzZ2VyZWNobmV0IGJlaSBkZW4gUG9zdGluZ3MgYW5kZXJzIHNlaW4/CgpCbG9vZHkgSGFycnkgLSBtdWVsbHQgaW1tZXIgd2VpdGVyIHNvLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG5vdC1JZGVlIChSb2VzdGksICA3LiBEZXogMTk5NSwgMTA6MTg6NTMpOgojISBybj1CaWxib20gcnQ9ODE3OTQxMjgwCkFsc28gZW53ZWRlciBtdWVzc3RlIGJlaSBlaW5lciBzYWNoZW4gdmVyZ2FtbWVsdW5nIGRhbm4gZGVyIEdlbGR3ZXJ0IGluIGRpZQpLYXNzZSBmbGllc3NlbiBvZGVyIGRhcyBicmluZ3Qgd2llZGVyIG5peC4uLgooRmFlbmQgaWNoIHVlYnJpZ2VucyBldHdhcyB1bmxvZ2lzY2guLi5hYmVyIGRhcyBudXIgYW0gcmFuZGUuKQpJY2ggZmFlbmRlIGVzIGRhbm4gc2Nob24gYmVzc2VyIHdlbm4gZnVlciBzYWNoZW4gZGllIG1laHIgYWxzIDEwIG1hbCAob2RlciBzbwopIGVpbiBNYXRlcmlhbHdlcnQgYmV6YWhsdCB3aXJkIHVuZCBkYW5uIGluICh1bilyZWdlbG1hZXNzaWdlbiBhYnN0YWVuZGVuIGVpbgpIYWVuZGxlcnRyZWNrIHp1IGRlbiBad2VyZ2VuIHVuZCBkZW4gRWxmZW4gYWJnZXNjaGlja3Qgd2lyZCBkaWUgZGFubiBkYW1pdAppaHJlIFdhZWNodGVyIGF1c3J1ZXN0ZW4gKG5hY2hkZW0gZGFzIE1ldGFsbCB6dSBuZXVlbiBlbGZlbi9ad2VyZ2VuIHdhZmZlbgpnZXNjaG1pZWRldCB3dXJkZS4KRGVyIGVybG9lcyBkaWVzZXIgQWt0aW9uIHd1ZXJkZSBkYW5uIHdpZWRlciBpbiBkaWUgR2VzYW1tdGthc3NlIGZsaWVzc2VuLgpJc3QgendhciBlaW4gbWVociBhbHMgdW1zdGFlbmRsaWNoZXMgU3lzdGVtLi4uLgp3YWVyZSBhYmVyIGxvZ2lzY2guLi4KClJvZXN0aSB3aWxsIHNvd2FzIG5pY2h0IHByb2dnZW4gbXVlc3Nlbi4uLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IERpZWJlIGltIE1HIC0gamV0enQgbGFuZ3RzICEgKFJvZXN0aSwgIDcuIERleiAxOTk1LCAxMDoyMjoyNyk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE4MTUzNjQ2CmFjaCBqYT8gSmV0enQgc29sbCBpY2ggYXVjaCBub2NoIHdhcyB6YWhsZW4gd2VubiBpY2ggd2FzIGluIGRpZSBNUEEgc2NocmVpYmU/CgpOb2UuLi4KOG1hbCBhYmdlc2VoZW4gZGF2b24gZGFzIGljaCBtaXIgZGFubiBlaW5lbiBNUEEgendlaXRpZSBzY2hhZmZlbgp3dWVyZGUuLi5MZXZlbCAwCmRhIGthbm4gbWFubiBuaXggYWJ6aWVoZW4uLi4uCgpBcnRpa2VsIGRpZSBrb3N0ZW4gZmluZCBpY2ggYmxvZWQuLi4uCgpOb3JtYWxlcndlaXNlIG11ZXNzdGUgaWNoIGRhIHdhcyBrcmllZ2VuLi4uCkZ1ZXIgamVkZW4gZXJuc3RnZW1laW50ZW4gdW5kIGd1dGVuIEFydGlrZWwgZWluIFpUCgpSb2VzdGkgaGFldHRlIG1pdCBkaWVzZXIgUmVnZWwgdHJvdHpkZW0ga2VpbmVuIFpUIG1laHIuLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKE1hcml0YSwgIDcuIERleiAxOTk1LCAxMTo0NTo0NSk6CiMhIHJuPUluZXNoYSBydD04MTgyODI3NjQKSGkgSW5lc2hhLAoKamEsIHp3aXNjaGVuIGFsbGVzLW1pdC1zaWNoLW1hY2hlbi1sYXNzZW4gdW5kIHppY2tpZy1zZWluIGlzdCBudXIgZWluCnNjaG1hbGVyCkdyYXQuIERhIGRlbiByaWNodGlnZW4gV2VnIHp1IGZpbmRlbiwgYnJhdWNodCBaZWl0LiBBYmVyIG1hbiBrYW5uIHNpY2ggaW4KYmVncmV6dGVtIFVtZmFuZyBhdWNoIGRhZ2VnZW4gd2VocmVuLiBEYXMgbWluZGVzdG1vZWdsaWNoZSB3YWVyZSBlcywKZGllIEFrdGlvbmVuIHdpZSAna251dHNjaGUnIGV0Yy4gb2ZmaXppZWxsIHp1IGlnbm9yaWVyZW4gKGRhcyBtdXNzdCBkdQplYmVuIG1hbCBrdXJ6IHdpZWRlciByYXVzbmVobWVuLCB3ZW5uIER1IERlaW5lbiBWZXJsb2J0ZW4gdHJpZmZzdCA7KSkgLQpuYWVjaHN0ZSBNb2VnbGljaGtlaXQgd2FlcmUsIGF1ZiBiYWdnZXJuZGUgdGVpbGUtbWl0LUZyYWdlbiBncnVuZHNhZXR6bGljaApudXIgKG1vZWdsaWNoc3Qgc2NobGFnZmVydGlnKSBhdWYgLWFsbGdlbWVpbiB6dSBhbnR3b3J0ZW4gKGRhcyB3aXJrdCBXdW5kZXIpCi0KZGEgZ2lidHMgbm9jaCBzbyBlaW5pZ2UgSWRlZW4sIGRpZSBpY2ggYWJlciBuaWNodCBvZWZmZW50bGljaCBtYWNoZW4KbW9lY2h0ZSA7KSAtCgpBdWNoIHdlbm4gaW0gTXVkIG1laHIgZ2ViYWdnZXJ0IHdpcmQgYWxzIGltIFJMICh3YXMgaWNoIGF1Y2ggYmVkYXVlcmUsCndvbWl0IG1hbiBhYmVyIGxlYmVuIG11c3MpLCBtYW4gaGF0IGhpZXIgYXVjaCBnYW56IGFuZGVyZSBNb2VnbGljaGtlaXRlbi4KCkljaCBoYWJlIHNjaG9uIG1pdCBlaW5pZ2VuIEZyYXVlbiBoaWVyIGdlcmVkZXQsIGRpZSAiT3BmZXIiIGdld29yZGVuIHNpbmQ7CkR1IHN0ZWhzdCBhbHNvIG5pY2h0IGFsbGVpbmUuCgpBY2ggamEsIG5vY2ggZWluIFdvcnQgYW4gZGllIEhlcnJlbiBkZXIgU2Nob2VwZnVuZzogTml4IGdlZ2VuIFNjaGVyemUgdXN3LiwKYWJlciB3aWVzbyBtdWVzc2VuIGRpZSB6dSB6d2VpdCBpbSBSYXVtIG9kZXIgdWViZXIgdGVpbGUtbWl0IGtvbW1lbj8KRGllIGFuZGVyZW4gd29sbGVuIGF1Y2ggbWl0bGFjaGVuLCBhbHNvIG1hY2h0IHNvd2FzIGRvY2ggbWl0IC1hIC0KaWNoIHBlcnNvZW5saWNoIGhhYiBtaWNoIGJlaSBzb2xjaGVuIFNhY2hlbiBiaXNsYW5nIHNlbHRlbiB2b24gbWVpbmVyCmVtcGZpbmRsaWNoZW4gU2VpdGUgZ2V6ZWlndCAodW5kIGF1ZiBzY2htYXJybiB6LnQuIGF1Y2ggTG9ncyB2ZXJvZWZmZW50bGljaHQsCmluIGRlbmVuIGljaCBzZWxic3QgbmljaHQgc28gZ3V0IHdlZ2thbSkuCgpNaXQgZnJvZWhsaWNoZW4gR3J1ZXNzZW4KTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoU2lxdWUsICA3LiBEZXogMTk5NSwgMTg6MDM6NTApOgojISBybj1JbmVzaGEgcnQ9ODE4MjgyNzY0CkRhcyBCZWRhdWVybGljaGUgYW4gZGVyIEJhZ2dlcmVpIGZ1ZXIgTWFlbm5lciBpc3QsIGRhc3MgbmFjaCBlaW5lcgpnZXdpc3NlbiBaZWl0IGplZGVtIE1hbm4gdm9yZ2V3b3JmZW4gd2lyZCwgenUgYmFnZ2Vybi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpcXVlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKElsdmVzLCAgNy4gRGV6IDE5OTUsIDIwOjMwOjA5KToKIyEgcm49U2lxdWUgcnQ9ODE4MzU1ODMwCk9mZmVuYmFyIGlzdCBub2NoIG5pZW1hbmQgdm9uIGRlbiBNYWVubmVybiBhdWYgZGllIElkZWUgZ2Vrb21tZW4sIHNpY2ggbWl0CmVpbmVyIHdlaWJsaWNoZW4gRmlndXIgZWluenVsb2dnZW4gdW5kIGRpZSBNYWVubmVyIHp1IHZlcmFyc2NoZW4uLi4KCklsdmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOYW1lIGZ1ZXIgV2FlaHJ1bmcgKEtldG9zLCAgOC4gRGV6IDE5OTUsIDAxOjU4OjM2KToKIyEgcm49UmFmZmkgcnQ9ODE3ODE3NjMzCkhtbSwgd2llIHdhZXJzIG1pdCBLZWtzZW4gYWxzIFdhZWhydW5nID8KS2FubiBtYW4gR2VsZCBldHdhIGRvY2ggZXNzZW4gPwotIEtldG9zIC0Kbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKEJvaW5nLCAgOC4gRGV6IDE5OTUsIDEyOjQ2OjQzKToKIyEgcm49SWx2ZXMgcnQ9ODE4MzY0NjA5Cipyb3RmbCoKSWNoIG11ZGRlIGpldHp0IHNlaXQgY2EuIDQgSmFocmVuIHVuZCBkaWUgRXJmYWhydW5nIGhhdCBnZXplaWd0OgpFdHdhIDc1JSBkZXIgd2VpYmxpY2hlbiBDaGFyYWt0ZXJlIHdlcmRlbiB2b24gTWFlbm5lcm4gZ2VzcGllbHQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKER1cmlhbiwgIDguIERleiAxOTk1LCAxMjo1ODozNSk6CiMhIHJuPUlsdmVzIHJ0PTgxODM2NDYwOQpEYSBtdXNzIGljaCBob2VjaHN0ZW0gTWFzc2Ugd2lkZXJzcHJlY2hlbiEhCgpFcyBpc3Qgc2VociB3b2hsIHZvcmdla29tbWVuLCBkYXNzIE1hZW5uZXIgc2ljaCBhbHMgd2VpYmxpY2hlIENoYXJha3RlcmUKZWluZ2Vsb2dndCBoYWJlIHVuZCBNYWVubmVyIHZlcmFyc2NodCBoYWJlbiAuLi4gaWNoIGtvZW5udGUgZHJhdWViZXIKd2FzIGVyemFlaGxlbiA6LSkgT2IgdW5kIHdpZXdlaXQgZGFzIGhpbGZyZWljaCBpc3QgbW9lY2h0ZSBpY2ggYWxsZXJkaW5ncwptYWwgZGFoaW5nZXN0ZWxsdCBsYXNzZW4hCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoSGFucywgIDguIERleiAxOTk1LCAxNzowODowMSk6CiMhIHJuPUR1cmlhbiBydD04MTg0MjM5MTUKCkR1cmlhbiwKCndlciBtYWNodCBkZW5uIHNvd2FzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoUGVubnl3aXNlLCAgOC4gRGV6IDE5OTUsIDE3OjQ2OjQ1KToKIyEgcm49Qm9pbmcgcnQ9ODE4NDIzMjAzClVuZCB3YXMgc2FndCBkaWUgRXJmYWhydW5nIHVlYmVyIGRpZSBBbnphaGwgZGVyIHZvbiBGcmF1ZW4gZ2VzcGllbHRlbgptYWVubmxpY2hlbiBoYXJha3RlcmU/CgpKdXN0IG91dCBvZiBjdXJpb3NpdHksClBlbm55d2lzZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoQm9pbmcsICA4LiBEZXogMTk5NSwgMTc6NDk6MzUpOgojISBybj1QZW5ueXdpc2UgcnQ9ODE4NDQxMjA1CkFsc28gaWNoIGtlbm5lIGtlaW5lbiAuLi4gaG9lY2hzdGVucyBpcmdlbmR3ZWxjaGUgeC10aWVzIG1pdCB4PjUgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoTGFyaXNzYSwgIDguIERleiAxOTk1LCAxNzo1Mjo0MSk6CiMhIHJuPUJvaW5nIHJ0PTgxODQ0MTM3NQpBbHNvIGljaCBoYWIgZWluIHBhYXIgbWl0IHg8NS4uLi46LSkKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKExvY28sICA4LiBEZXogMTk5NSwgMTc6NTM6MDApOgojISBybj1Cb2luZyBydD04MTg0NDEzNzUKRXMga29tbXQgdm9yLCBhYmVyIHNlbHRlbi4gSWNoIHdlaXNzIHZvbiB6d2VpIHNvbGNoZW4gRmFlbGxlbiAtIGFiZXIgMS4gbmljaHQKaGllciBpbiBNRywgMi4gd2Vpc3MgaWNoIGF1Y2ggbmljaHQgbWVociBhbHMgImV4aXN0aWVyZW4iLgp4IHd1ZXJkZSBpY2ggaW4gQm9pbmdzIG5vdGUgdWVicmlnZW5zIGJlaSAzIGFuc2V0emVuLCBkb3J0IHdpcmQgZXMgc2Nob24KZXR3YXMgaGFldWZpZ2VyLgoKQW5zb25zdGVuIGhhbHRlIGljaCBhYmVyIGF1Y2ggZGllIDc1JSB2b24gQm9pbmcgdWViZXJ0cmllYmVuIChoYXN0IER1ClN0YXRpc3Rpa2VuPz8/KSAtIGVzIHNlaSBkZW5uLCBEdSByZWNobmVzdCBhbGxlIFgtdGllcyBtaXQuCgogICBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbnV0c2NoZW4gdW5kIFF1ZXN0ZW4/IChNb3Jnb24sICA4LiBEZXogMTk5NSwgMTk6NDc6MDQpOgojISBybj1EdXJpYW4gcnQ9ODE4NDIzOTE1ClRqYSB3byB3aXIgZ2VyYWRlIGJlaW0gVGhlbWEgc2luZC4gTWVpbmUgUkwtRnJldW5kaW4gaGF0IHNpY2ggdm9uIG1pciBnZS0KdHJlbm50LCB1bmQgZGVzd2VnZW4gd2lyZCBzaWUgc2ljaCBuaWNodCBtZWhyIGFscyAiTW9yZ29uaWEiIGVpbmxvZ2dlbgprb2VubmVuLgpJY2ggd2VyZGUgZGVuIENoYXJha3RlciBhYiBqZXR6dCBob2Noc3BpZWxlbiwgZnVlciBldmVudHVlbGxlIHNwYWV0ZXJlClp3ZWNrZS4gOykgQWxzbzogTW9yZ29uaWEgYnJhdWNodCBuaWNodCBtZWhyIGFuZ2ViYWdnZXJ0IHp1IHdlcmRlbiB3ZWlsIGljaApkYXMgYWIgamV0enQgYmluLiBJY2ggZ2ViZSBoaWVyIGluIGRlciBNUEEgQmVzY2hlaWQgZmFsbHMgZXMgc2ljaCB3aWVkZXIKYWVuZGVydC4KCkthbm4gc2VpbiBkYXMgZGFzIG5pZW1hbmQgaW50ZXJlc3NpZXJ0LCBhYmVyIGlzIGphIGF1Y2ggZWdhbC4gOikgTk5OCgpNT1JHT04uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbnV0c2NoZW4gdW5kIFF1ZXN0ZW4/IChSb2VzdGksICA4LiBEZXogMTk5NSwgMjA6MDY6MDkpOgojISBybj1JbHZlcyBydD04MTgzNjQ2MDkKRG9jaC5EaWUgZ2lidCBlcy4uLi4KClJvZXN0aSBoYXQgbm9jaCBuaWVtYW5kIHZvcmdld29yZmVuIHp1IGJhZ2dlcm4uLi4uaGF0IGVyIHdhcyBmYWxzY2ggZ2VtYWNodD8KOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdpZXNzZW5lck9wZXJhdHMgKEx3YXhhbmEsICA4LiBEZXogMTk5NSwgMjA6MjM6MzkpOgpIaSBMZXV0ZSwKVHV0IG1pciBsZWlkLCB3ZW5uIGljaCBoaWVyIEV1cmUgS251dHNjaGVuJlF1ZXN0ZW4gRGlzc2t1c3Npb24gdW50ZXJicmVjaGUsCmFiZXIgaWNoIHdvbGx0ZSBtaWNoIGFuIGRpZXNlciBTdGVsbGUgbWFsIGJlaSBhbGxlbiBMZXV0ZW4gYmVkYW5rZW4sIGRpZSB1bnMKR2llc3NlbmVybiBnZWhvbGZlbiBoYWJlbi4KCldpZSBpaHIgdmllbGxlaWNodCAodmllbGxlaWNodCBhdWNoIG5pY2h0ICpncmlucyopIHdpc3N0LCBoYWJlbiBzaWUgdW5zIGluCkdpZXNzZW4gc2FlbXRsaWNoZSBNVURzIGdlc3BlcnJ0LCB3ZWlsIGFuZ2VibGljaCBkYXMgVEYgZGVuIFNlcnZlciBzdG9lcnQKKGVtcGZpbmRsaWNoZXMgRGluZ2VsY2hlbiBkYXMsIHNvd2FzIGhhYmUgaWNoIG5vY2ggbmllIGdlaG9lcnQgYWJlciBiaXR0ZSwKbGFzc2VuIHdpciBkYXMpLCBkYW5hY2gga29ubnRlbiB3aXIgZWluZSBnYW56ZSBXZWlsZSBuaWNodCBlaW5sb2dnZW4sIG9kZXIgbnVyCmF1cyBhbmRlcmVuIFN0YWVkdGVuLCAqZ3JpbnMgbmFjaCBDaGVtbml0eiouIEplZGVuZmFsbHMgd3VyZGUgZnVlciB1bnMgZWluZQpMb2VzdW5nIGdlZnVuZGVuIHVuZCBpY2ggd29sbHRlIG1pY2ggaGllciBtYWwgYmVkYW5rZW4uLi4gSmV0enQga2FubiBpY2gKd2VpdGVyIG1laW5lciBTdWNodCBmcm9lbmVuIDopKSkpCkljaCBoYWJlIGluIGRlciBaZWl0IGZlc3RnZXN0ZWxsdCwgZGFzcyB1bnNlcmUgbGllYmVuIE9wZXJhdHMgbnVyIGVpbnMKZXJyZWljaGVuIGtvbm50ZW4gbmFlbWxpY2ggZGVuIFp1c2FtbWVuaGFsdCB6d2lzY2hlbiB1bnMgenUgdmVyc3RhZXJrZW4gKG9kZXIKaXN0IGRhcyBqZXR6dCB6dSBzY2htYWx6aWc/Pz8pIC0gTnVyIHdlaWwgaW1tZXIgZ2VnZW4gZGllIFN0aW1tdW5nIGltIE1VRApnZXdldHRlcnQgd2lyZC4uLgoKU28sIGRhcyB3YXIgZXIgbWVpbiBldHdhcyBkdXJjaGVpbmFuZGVyIGdlcmF0ZW5lciBBcnRpa2VsICpncmlucyogVW0gZGllc2UKWmVpdCBiaW4gaWNoIG5vY2ggbmljaHQgcmljaHRpZyB3YWNoIDopKSkKClRzY2hhdSBMd2F4IChJY2h3ZWlzc2VuZGxpY2h3aWVkZXJ3ZXJpY2hiaW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbnV0c2NoZW4gdW5kIFF1ZXN0ZW4/IChTdXNoaSwgIDkuIERleiAxOTk1LCAxODowMjoxNik6CiMhIHJuPUlsdmVzIHJ0PTgxODM2NDYwOQpEb2NoLCBtZWluZSBGcmF1Ol8pCgoKU3VzaGkhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ1JFTyBWSU0gKEFuYWtpbiwgMTAuIERleiAxOTk1LCAxODoyMzoyMyk6CiMhIHJuPUFyayBydD04MTg2MTYxNTAKTmVpbiwgbmljaHQgaW4gZGllIFplaXR1bmcgc29uZGVybiAqZ3J1ZWJlbCogKlpULUxpc3RlLXN1Y2hlbmQqCmF1ZiBkZW4gQWx0YXIuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKElzbm9nb29kLCAxMS4gRGV6IDE5OTUsIDAxOjEzOjI4KToKIyEgcm49TWFyaXRhIHJ0PTgxODMzMzE0NQpXYXMgYmVkYXVlcnN0IGR1IGpldHp0IE1hcml0YT8KRGFzIGltIE11ZCBtZWhyIGdlYmFnZ2VydCB3aXJkIGFscyBpbSBSTCBvZGVyIGRhcyBpbSBSTCB3ZW5pZ2VyIGdlYmFnZ2VydAp3aXJkPwpJc25vZ2dvZCwgZGVyIG1pdCBkZW0gQmFnZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbnV0c2NoZW4gdW5kIFF1ZXN0ZW4/IChJc25vZ29vZCwgMTEuIERleiAxOTk1LCAwMToxODoxNCk6CiMhIHJuPUhhbnMgcnQ9ODE4NDM4ODgxCldpZXNvIHdlcmRlbiBlaWdlbnRsaWNoIE1hZW5uZXIgdmVyYXJzY2h0LCB3ZW5uIHNpY2ggTWFlbm5lciBhbHMgRnJhdWVuCmVpbmxvZ2dlbj8gRWluIE1VRCBpc3QgSU1ITyBlaW4gUm9sbGVuc3BpZWwsIGRhIGZpbmRlbiBzaWNoIFJMLVNvZnRpZXMgYWxzCk1hY2hvcyB3aWVkZXIsIHNjaHVlY2h0ZXJuZSBGcmF1ZW4gYWxzIFZhbXBzLCBGZWlnbGluZ2UgYWxzIEhlbGRlbi4gV2FydW0Kc29sbHRlIG5pY2h0IGF1Y2ggZWluIE1hbm4gaW0gTVVEIG5lIEZyYXVlbnJvbGxlIHVlYmVybmVobWVuPyBXaWNodGlnIGlzdApkb2NoIGVpZ2VudGxpY2ggbnVyLCB3aWUgZXIgZGllc2UgUm9sbGUgYXVzZnVlbGx0LiBVbmQgd2VubiBlciBlcyBndXQgbWFjaHQsCmRhbm4ganVja3QgZXMgbWljaCBuaWNodCBpbSBnZXJpbmdzdGVuLCBvYiBkYSBudW4gZWluIE1hbm4gb2RlciBuZSBGcmF1IGFuCmRlciBUYXN0YXR1ciBzaXR6dC4gRGVuIFVudGVyc2NoaWVkIG1hY2hlIGljaCBudXIgaW0gUkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6Li4uLiBHZWxkbm90IChOYXV0aWx1cywgMTEuIERleiAxOTk1LCAwNDo0MDowOCk6CkpldHp0IGhhYiBpY2ggZ2VudWcgZ2VsZXNlbiB1bmQgZ2VzZWhlbiwgaWNoIG11c3MgYXVjaCBtYWwgc2VuZmVuOgpKZXR6dCBpc3QgZGVyIFJlYm9vdCAob2RlciB3YXMgYXVjaCBpbW1lciBkYXMgd2FyKSBnZXJhZGUgNCBTdGQuIGhlciwKdW5kIGRpZSBMYWVkZW4gaGFiZW4gaW1tZXIgbm9jaCAob2RlciBzY2hvbiB3aWVkZXI/KSBrZWluIEdlbGQuCldhbm4ga3JpZWcnIGljaCBkZW5uIG51biBtYWwgd2FzICxmdWVyIGRhcywgd2FzIGljaCBmaW5kZT8KCkdSTUJMCk5hdXRpbHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRGllYmUgaW0gTUcgLSBqZXR6dCBsYW5ndHMgISAoTmF1dGlsdXMsIDExLiBEZXogMTk5NSwgMDQ6NDQ6MTIpOgojISBybj1CbG9vZHloYXJyeSBydD04MTgwMjU2NzkKSmV0enQgaGFiIGljaCB3YWhyc2NoZWlubGljaCBuaWNodCBhbGxsZXMgdm9uIGRlciBEaXNrdXNzaW9uIG1pdGdla3JpZWd0LAphYmVyIDIwMDAwIE11ZW56ZW4gZnVlciBqZWRlbiBBcnRpa2VsIGZhZW5kIGljaCBhbmdlbWVzc2VuLgpOYXV0aWx1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoTmF1dGlsdXMsIDExLiBEZXogMTk5NSwgMDQ6NTM6MDUpOgojISBybj1Sb2NodXMgcnQ9ODE4MzY0NzI1Ck5hLCBzZW5mLgpXZWlzc3QgRHUsIGVzIGlzdCB1bmhlaW1saWNoIG5lcnZpZyBhbHMgTWFubiwgd2VubiBtYW4gc28gYW5nZW1hY2h0IHdpcmQsCndpZSBGcmF1ZW4gZXMgdGFlZ2xpY2ggd2VyZGVuLiBPZGVyIGVzIGdlZmFlbGx0IGVpbmVtIHNvLCBkYXNzIG1hbihuKQpzaWNoIHVuaGVpbWxpY2ggZHJhbiBhdWYuLi4ga2Fubi4KTmF1dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKEFtYXpvcmEsIDExLiBEZXogMTk5NSwgMDU6MTQ6NDEpOgojISBybj1Jc25vZ29vZCBydD04MTg2NDEwOTQKQWxzbywgZGFzIG1pdCBkZW0gVW50ZXJzY2hpZWQgbXVzc3QgRHUgbWlyIGJpdHRlIGVya2xhZXJlbi4gSWNoIHZlcnN0ZWhlCm5pY2h0IHdvIGRhIGRhcyBQcm9ibGVtIHNlaW4gc29sbCwgd2VubiBzaWNoIFJMIGVpbiBNYW5uIHNvIGZ1ZWhsdCB3aWUgZWluZQpGcmF1IG9kZXIgdW1nZWtlaHJ0LgpBbWF6b3JhIGRhcmYgaGV1dGUgYXVjaCBtYWwgc2NocmVpYmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1QQSAoSm9mLCAxMS4gRGV6IDE5OTUsIDEwOjAyOjA2KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9ODE4MzE4OTI3CgogVGphLCBkZXIgTXVlbGwgaGF0IHNjaG9uIGRhenUgZ2VmdWVocnQsIGRhc3MgaWNoIHZpZWxlIFJ1YnJpa2VuIG5pY2h0IG1laHIKbGVzZSAoZGFzIGlzdCBtaXIgenUgbmVydmlnKS4gV2VubnMgc28gd2VpdGVyZ2VodCwgbGVzZSBpY2ggR0FSIEtFSU5FIE1QQQptZWhyLCBkYXMgd2FlcmUgendhciBzY2hhZGUsIGFiZXIgd29obCB1bnZlcm1laWRsaWNoIDooIEJUVywgZXMgd2FlcmUgbmljaHQKbnVyIGZ1ZXIgbWljaCBzY2hhZGU6IGljaCBrcmllZ2UgYXVzIGRlciBNUEEgUmVzb25hbnogYXVmIEFlbmRlcnVuZ2VuLCBkaWUKaWNoIGVpbmJhdWUsIHpCIEdlbGRzeXN0ZW0sIHVuZCBtdXNzIHNpZSBkYW5uIG1pdHVudGVyIGFucGFzc2VuIChiZWltIEdlbGQKbXVzc3RlIGVpbmlnZXMgYWJnZW1pbGRlcnQgd2VyZGVuLi4uKSBTb2xjaGUgQW5wYXNzdW5nZW4gd3VlcmRlbiBkYW5uCmt1ZW5mdGlnCnVudGVyYmxlaWJlbi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKEd3eW53YWl0ZXIsIDExLiBEZXogMTk5NSwgMTE6MTk6MTIpOgojISBybj1QZW5ueXdpc2UgcnQ9ODE4NDQxMjA1CkhpIFBlbm55d2lzZSwKRHUgZnJhZ3Rlc3Q6IFVuZCB3YXMgc2FndCBkaWUgRXJmYWhydW5nIHVlYmVyIGRpZSBBbnphaGwgZGVyIHZvbiBGcmF1ZW4KZ2VzcGllbHRlbiBtYWVubmxpY2hlbiBDaGFyYWt0ZXJlPwoKTWVpbmUgQW50d29ydDogSWNoIGJpbiBlcnN0IHNlaXQgY2EuIGVpbmVtIEphaHIgZGFiZWkgKG9kZXIgc28pLCBrZW5uZSBhYmVyCm1pbmRlc3RlbnMgendlaSAiTWFlbm5lciIsIGRpZSB2b24gRnJhdWVuIGVpbmdlbG9nZ3Qgd3VyZGVuLCB1cnNwcnVlbmdsaWNoIGFscwpad2VpdGllcywgZGFubiBhYmVyIG1pdCBkZW0gV3Vuc2NoLCBhdWNoIG1hbCBxdWVzdGVuIHp1IGtvZW5uZW4gKHVuZCBuaWNodCBudXIKcXVhdHNjaGVuLCBvZGVyIC1taXQgSW5lc2hhcyBGb3JtdWxpZXJ1bmctIGtudXRzY2hlbikgc29nYXIgc2NobmVsbGVyCmF1ZnN0aWVnZW4gYWxzIGlocmUgd2VpYmxpY2hlbiBFcnN0aWVzLgoKQWxzbzogRGFzIGdpYnQgZXMgZHVyY2hhdXMgYXVjaC4gKGFsbGVyZGluZ3Mga2VubmUgaWNoIGtlaW5lbiBNYWdpZXIsIGJlaSBkZW0KZGFzIHNvIGlzdCkuCgpKdXN0IG15IG9ic2VydmF0aW9ucywKCmdlei4gR3d5bip3YWl0ZXIsIE5OTgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKE9ldHRpLCAxMS4gRGV6IDE5OTUsIDE3OjU3OjQzKToKIyEgcm49R3d5bndhaXRlciBydD04MTg2NzcxNTIKSmFhYWFhYWFhYWFhICEhIQoKSWNoIHdpbGwgYXVjaCBhbmdlYmFnZ2VydCB3ZXJkZW4sIGhlZnRpZyBiaXMgenVtIFVtZmFsbGVuLgoKR2FueiBpbSBlcm5zdCBLaW5uZXJzLCBpcyBtaXIgZG9jaCBlZ2FsLCB3ZXIgbWlyIHdhbm4gd2VsY2hlbgp0ZXh0IGF1ZiBkZW4gQmlsZHNjaGlybSBqYWd0LCB6dXIgTm90IGthbm4gaWNoIGRydWViZXIgbGFjaGVuLCBhdXNzZXJkZW0KYWxzIHdlaWJsaWNoZXIgQ2hhcmFrdGVyIGtvbW10IG1hbiB3ZXNlbnRsaWNoIHNjaG5lbGxlciB6dSBHZWxkLCBBdXNydWVzdHVuZwp1bmQgUXVlc3RwdW5rdGVuLCBkYXMgaXN0IGhhbHQgZGVyIEZsdWNoIChTZWdlbj8pIGRlcyBrbGVpbmVuIFVudGVyc2NoaWVkcy4KClVuZCB3ZW5uIHNpY2ggbWFsIHp3ZWkgbGVpZGVuIGtvZW5uZSwgd2VyZGVuIHNpZQpub2lybWFsZXJ3ZWlzZSBzcGFldGVzdGVucyBpbSBSTCBkYWZ1ZXIgImJlbG9obnQiLgpVbmQgbWFuY2htYWwga2xhcHB0cyBqYSBhdWNoLCBhbHNvIHdobyBjYXJlcyBhbnl3YXksIHNvbGFuZ2UsIGFjaCBzZWxic3QKZGFubiwKbWFuY2hlIEZyYXVlbiBzaW5kIGdlbmF1c28gZ2VzdG9lcnQgd2llIG1hbmNoZSBNYWVubmVyLCBhbHNvIHdhcyBzb2xscy4uCjstKSkpCgpUc2Nob2UgT2V0dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKEFzbW9kaXMsIDExLiBEZXogMTk5NSwgMTk6MDU6MjApOgojISBybj1Jc25vZ29vZCBydD04MTg2NDEwOTQKCkpvLCBmaW5kZSBpY2ggYXVjaCwgZGllc2UgQmVydWZzbWFjaG9zLCBkaWUgc2ljaCBhbiBqZWRlbiB3ZWlibGljaGVuCkNoYXJha3RlciByYW5zY2htZWlzc2VuLCBzaW5kIGRvY2ggc2VsYnN0IFNjaHVsZCwgd2VubiBlcyBzaWNoIGFscwpNYW5uIGVudHB1cHB0LiBTb2xsZW4gc2llIGVzIGViZW4gbGFzc2VuICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKEd3eW53YWl0ZXIsIDExLiBEZXogMTk5NSwgMTk6MTU6MDQpOgojISBybj1Bc21vZGlzIHJ0PTgxODcwNTEyMAoKSGkgSWhyLAoKSWNoIGJpbiB6d2FyIGtlaW4gQmVydWZzbWFjaG8gKHVuZCBzY2hhdWUgbmljaHQgZXJzdCBuYWNoIGRlbSBHZXNjaGxlY2h0LApiZXZvciBpY2ggamVtYW5kIGhlbGZlKSAtIGFiZXIgd2llc28gc29sbGVuIHNpZSBlcyBsYXNzZW4/CgpJY2ggZmluZGUsIEJlcnVmc21hY2hvcyAodW0gRGVpbmVuIEJlZ3JpZmYgenUgdmVyd2VuZGVuLCBBc21vZGlzKSBzb2xsZW4gZXMKcnVoaWcgd2VpdGVyIHZlcnN1Y2hlbiwgdW5kIHJ1aGlnIHdlaXRlciBkYWJlaSBhdWYgZGllIE5hc2UgZmFsbGVuIChvZGVyCnNvbnN0d29oaW4gKmdyaW5zKikgd2VubiBzaWUgc2ljaCBnbGVpY2ggaXJnZW5kd2FzIGVpbmJpbGRlbi4uLiBudXIgd2VpbCBlaW5lCmhvZmZudW5nc3ZvbGxlIEFuZmFlbmdlcmluIHNpZSBuaWNodCBnbGVpY2ggaWdub3JpZXJ0Li4uCgpTZWl0IGVzIGltbWVyIG1laHIgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyaW5uZW4gZ2lidCwgZGllIGFscyBHZXNjaGxlY2h0CiJtYWVubmxpY2giIGF1Znp1d2Vpc2VuIGhhYmVuICg/IT8pIGJpZXRlbiBzaWNoIGRhIGphIGVoIGdhbnogbmV1ZQpCZXppZWh1bmdzbW9lZ2xpY2hrZWl0ZW4uLi4gIDotKSkKClVuZCBUc2NodWVzcywKCmdlei4gR3d5bip3YWl0ZXIsIE5OTiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEtudXRzY2hlbiB1bmQgUXVlc3Rlbj8gKFJhZmZpLCAxMS4gRGV6IDE5OTUsIDE5OjMyOjMxKToKIyEgcm49UmFmZmkgcnQ9ODE4NzA1ODQyCgpBbHNvIGF1Y2ggbWFsIGFuZ2ViYWdnZXJ0IHdlcmRlbiBpc3QgZG9jaCByaWNodGlnIG5ldHQgOikKCkdydXNzCkgKKENoYXV2aWUgdW5kIHdpZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBEaWViZSBpbSBNRyAtIGpldHp0IGxhbmd0cyAhIChSb2VzdGksIDExLiBEZXogMTk5NSwgMTk6MzU6NTEpOgojISBybj1OYXV0aWx1cyBydD04MTg2NTM0NTIKS2FubiBtaXIgbWFsIGplbWFuZCBzYWdlbiB3b2hlciBpY2ggMTAwMDAwIE11ZW56ZW4gcHJvIGVpbm1hbCBaZWl0dW5nbGVzZW4KaGVyYmVrb21tZW4gc29sbD8KSWNoIGhhYiBpbSBNb21lbnQgMjUwMDAgdW5kIGhhYiBkYWZ1ZXIgbnVuIHNjaG9uIGVpbmVuIE1vbmF0IGV4dHJlbSBzcGFhcnNhbW0KZ2VsZWJ0Li4uCgpSb2VzdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1QQSAoVGFzaGEsIDExLiBEZXogMTk5NSwgMjI6NDg6MzQpOgojISBybj1Kb2YgcnQ9ODE4NjcyNTI2CkhpIQoKU2FjaHQgbWEsIHdpZSB3YWVycyBtaXQgZWluZW0gQmVmZWhsdCBzYW50d29ydC4gRGFzIHdhZXJlIGRhbm4gbmUgYW50d29ydCwKZGllIGluIGVpbmUgc2NobWFycm4tYXJ0aWdlIHJ1YnJpayBiZWZvZXJkZXJ0IHd1ZXJkZSwgZGllIG1hbiBkYW5uIGhhbHQKYWJiZXN0ZWxsZW4ga29lbm50ZS4gSGFiIGFiZXIga2VpbmUgQWhudW5nLCBvYiBzb3dhcyBnZWh0LiBCaW4gamEgZXJzdCBMZXZlbAoyNSBvZGVyIHNvLiA7KQoKYXVmIGFsbGUgZmFlbGxlIHdlaXRlciBtcGEgbGVzZW5kLCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTVBBIChKZXJyaWNvLCAxMS4gRGV6IDE5OTUsIDIyOjQ5OjUzKToKIyEgcm49VGFzaGEgcnQ9ODE4NzE4NTE0CmluIGRlciBydWJyaWsgZHVlcmZ0ZSBlcyBhYmVyIGtlaW5lIGFydGlrZWwgYmVzY2hyYWVua3VuZyBnZWJlbiwgc29uc3Qgd2FlcmUKaW1tZXIgemllbWxpY2ggc2NobmVsbCB2b2xsIDopCgpkYXMgd2FyIGVpbmUgc2FudHdvcnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyZWV0aW5ncy4uIChDYXN0YXdheSwgMTEuIERleiAxOTk1LCAyMjo1NDozNyk6CkhlcmUgSSBhbSBhZ2FpbgpBcyBvbmUgY2FuIHBsYWlubHkgc2VlCkkgd2hvIHdhcyBvbmNlIHNvIG9mdGVuIGhlcmUKQW5kIG5vdyBhbSBzY2FyY2UgdG8gc2VlCkV2ZXJ5dGhpbmcgY2hhbmdlcwpBcyBpcyBoYXMgYSByaWdodCB0byBkbwpPbGQgaGF1bnRzIGFyZSByZXBsYWNlZCBieSBuZXcKU29tZXRpbWVzIEkgd2lzaCB3aXRoIGFsbCBteSBoZWFydApTb21lIHRoaW5ncyBoYWQgbmV2ZXIgY2hhbmdlZApGb3IgSSB3b3VsZCBsb3ZlIHRvIGhhdmUgdGhhdCB0aW1lIGFnYWluCkFuZCBzcGVuZCBpdCBoZXJlIHdpdGggeW91Li4KCipVTUFSTVVORyoKQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS251dHNjaGVuIHVuZCBRdWVzdGVuPyAoWnVlcmlsZXUsIDExLiBEZXogMTk5NSwgMjM6MTg6MjMpOgojISBybj1JbHZlcyBydD04MTgzNjQ2MDkKU2FsaSwKQXVmIGRpZXNlIGlkZWUgc2luZCBzY2hvbiB2aWVsZSBnZWtvbW1lbiAobWljaCBlaW5nZXNjaGxvc3NlbiksIGFiZXIgZGFzCmhpbGZ0IERpciBkb2NoIGF1Y2ggbmljaHQgd2VpdGVyLCBpY2ggbWVpbmUgd2VnZW4gZGVtIEJhZ2dlcm4gZGllIExldXRlCndlaXRlci4gRGF6dSwgaWNoIG1laW5lIHNvcnJ5IGFiZXIgZHUgc2Fnc3QgZHUgYmlzdCB2ZXJsb2J0LCBpc25vZ29vZCBoYXQgZGljaApzaWNoZXIgYXVjaCBhbmdlYmFnZ2VydCBzb25zdCBoYWV0ZXQgaWhyIGV1Y2ggd29obCBrYXVtIGtlbm5lbmdlbGVybnQuIEljaCBzYWgKZGFzIGJlaSBtZWluZXIgdmVybG9idW5nLCBpY2ggZ2luZyBhdWNoIGhpbiB1bmQgc2NoYXV0ZSBtYWwgd2VyIGRpZSBuZXVlClNwaWVsZXJpbiBpc3QgZGllIGhpZXIgZWluZ2Vsb2dndCBoYXQgdW5kIGhhdHRlIG1pdCBpaHIgZWluIGZyZXVuZGxpY2hlcwpnZXNwcmFlY2guIEljaCBtZWluZSB3ZW5uIGRpciBlaW5lciBzeW1wYXRpc2NoIGlzdCBkYW5uIHdpcmQgZXMgYW5lcmthbm50IHVuZAp3ZW5uIGVpbmVyIGRpciB1bnN5bXBhdGlzY2ggaXN0IGRhbm4gaXN0IGVzIGVpbiBnZWJhZ2dlcj8uIEljaCBncmVpZiBoaWVyCm5pZW1hbmRlbiBhbiwgYWJlciBzYWcgZG9jaCBkZW4gTGV1dGVuIGVpbmZhY2ggZGFzIGR1IG5pY2h0cyB2b24gaWhuZW4gd2lzc2VuCndpbGxzdCB1bmQgc28gc29sbHRlIGVzIGplZGVyIGthcGllcmVuLiBVbmQgTWFlbm5lciwgbGFzc3QgZGllIEZyYXVlbiBkb2NoCnp1ZXJzdCBldHdhcyB2ZXJzY2hhdWZlbiB1bmQgZGFzIE11ZGtlbm5lbmxlcm5lbiBpaHIgd3VlbnNjaHQgZGFzIGRvY2ggYXVjaC4KVW5kIGdyZWlmdCBpaG5lbiBmcmV1bmRsaWNoIHVudGVyIGRpZSBBcm1lIGFiZXIgdW50ZXJsYXNzdCBkaWUgQmFnZ2VyZWkgZGVubgplaW4gTXVkIG9obmUgd2VpYmxpY2hlIFNwaWVsZXIgd2FlciB3b2hsIGtlaW4gTXVkLCBvZGVyIG5pY2h0IHNvIGVpbiBzY2hvZW5lcy4KClRzY2h1ZXNzIFp1ZXJpbGV1ICh2ZXJsaWVidCBpbiBzZWluZSBTY2hudWZmZWwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNUEEgKEFjcmltb24sIDEyLiBEZXogMTk5NSwgMDA6MDM6MzMpOgojISBybj1UYXNoYSBydD04MTg3MTg1MTQKSG1tIFRhc2hhLCBncnVuZHNhZXR6bGljaCBnZWh0IGFsbGVzLgoKVW5kIHdlbm4gZXR3YXMgKHdhcyBtYW4gYnJhdWNoZW4ga2FubikgbmljaHQgZ2VodCwgZGFubiBpc3QgZGFzIFN5c3RlbQpzY2hsZWNodC4KClNvIGVpbmZhY2ggaXN0IGRhcy4KCldhcyBkZW5rdCBpaHIgc29uc3QsIHdhcnVtIGljaCBlaW5lbiBBbWlnYSBiZW51dHplPwpJY2ggYXJiZWl0ZSBzZWl0IDQgSmFocmVuIGludGVuc2l2IHRhZWdsaWNoIG1pbmRlc3RlbnMgNSBTdHVuZGVuIGFuClVuaXgtUmVjaG5lcm4sIGJpbiBhdWNoIFN5c2FkbWluIHZvbiBkZW4gUmVjaG5lcm4gZWluZXMgRS1UZWNobmlrIExlaHJzdHVobGVzLAp1bmQgaW4gZGVyIGdhbnplbiBaZWl0IGhhYiBpY2ggbWVpbmVuIEFtaWdhIG1laHIgdW5kIG1laHIgc2NoYWV0emVuIGdlbGVybnQuCk5pcmdlbmRzIGFuZGVycyBzaW5kIHNhZW10bGljaGUgUHJpbnppcGllbiBkZXMgTXVsdGl0YXNraW5nLCBkZXIgc2hhcmVkCmxpYnJhcmllcywgZGVyIE1lc3NhZ2Vwb3J0cywgZGVyIGdyYWZpc2NoZW4gT2JlcmZsYWVjaGUsIGRlciBMb2thbGlzYXRpb24sIGRlcgpnbG9iYWxlbiBsZWljaHRlbiBFcndlaXRlcmJhcmtlaXQgc28gZWluZmFjaCB1bmQgbnVldHpsaWNoIGluIGRpZSBUYXQKdW1nZXNldHp0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXNjaGxlY2h0ZXJtaXNjaHVuZyAoTHVnLCAxMi4gRGV6IDE5OTUsIDAzOjM1OjE2KToKTmFjaGRlbSB3aXIgYWxzbyBudW4gZmVzdGdlc3RlbGx0IGhhYmVuLCBkYXNzIE1hZW5uZXIgaGllciBuaWNodCB1bmJlZGluZ3QKTWFlbmVyIHVuZCBGcmF1ZW4gbmljaHQgdW5iZWRpbmd0IEZyYXVlbiBzZWluIG11ZXNzZW4sIGtvZW5udGVuIHdpciBtYWwgenUKZWluZW0gdmV3YW5kdGVtIFRoZW1hIGtvbW1lbi4gV2FydW0ga29lbm5lbiBlaWdlbnRsaWNoIG51ciBNVUQtSGV0ZXJvLVBhYXJlCih3dWVyZGUgbWl0RnJhdSBkYXp1emFlaGxlbikgSG9jaHplaXQgZmVpZXJuLj8gT2RlciBrb2VubmVuIHNpZSBlcyBkb2NoIHVuZAptZWluZSBJbmZvcm1hdG9uIGlzdCBmYWxzY2g/IFdlbm4gbmljaHQgd2FlcmUgZXMgZG9jaCB3b2hsIGFuIGRlciB6ZWl0IGRhcyB6dQphZW5kZXJuLCBvZGVyIG1zcyBkYXMgaGllciBzbyBrYXRob2xpc2NoIHNlaW4/Ckx1ZyAoa2VsdC4gR290dGhlaXQpIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaYXJkb3ohISEgKFlhbnRybywgMTIuIERleiAxOTk1LCAxMDozMjo1MSk6CgpBYWFhYWFsc28uLiBpY2ggc2NocmVpYiBkaWVzZSBNYWlsIGhhdXB0c2FlY2hsaWNoLCB3ZWlsIGljaCBpbiBkZW4gbGV0enRlbiAyClRhZ2VuIG1laHJmYWNoIHZvbiBhbGxlbiBNb2VnbGljaGVuIFNlaXRlbiBhdWYgWmFyZG96IHVuZCBzZWluZW4gVGl0ZWwgdW5kCnNlaW5lIFNwaWVscGF1c2UgYW5nZXNwcm9jaGVuIHdvcmRlbiBiaW4gdW5kIHdlaWwgaWNoIGtlaW5lIEx1c3QgbWVociBoYWJlLApkYXNzIGFsbGVzIDEwTWFsIHp1IGVyemFlaGxlbi4uLgoKWmFyZG96IGhhdCBlaW5lIFNwaWVscGF1c2UgYXVmIHVuYmVzdGltbXRlIFplaXQgZ2Vub21tZW4gKHdpZSBtYW4gZHVyY2gKZmluZ2VybiBmZXN0c3RlbGxlbiBrYW5uKSB1bmQgaWNoIGRlbmtlLCBkYXNzIGRpZXMgc2Nob24gZWluIGtsZWluZXIgRXJmb2xnIGluCmRpZSBSaWNodHVuZyBpc3QsIGRhc3MgZXIgd2llZGVya29tbXQuIEVyIHdhciBtZWhyIGFscyBnZW5lcnZ0IGR1cmNoIHZpZWxlCktsZWluaWdrZWl0ZW4gaW0gTUcgdW5kIHN0YW5kIHNjaG9uIGt1cnogdm9yIGRlciBTZWxic3Rsb2VzY2h1bmchIFdlbm4gbmljaHQKMi0zIEZyZXVuZGUgYXVmIGlobiBlaW5nZXJlZGV0IGhhZXR0ZW4sIGRhbm4gd2FlcmUgZXIgZWluZmFjaCBzbyB2ZXJzY2h3dW5kZW4sCmRlbm4gZXIgaXN0IG5pY2h0IGRlciBUeXAgd2llIFJvY2h1cywgZGVyIGRhbm4gbWFsIGluIGRlciBaZWl0dW5nIGV4cGxvZGllcnQuCgpFciBmdWVobHRlIHNpY2ggdm9uIGFsbGVuIFNlaXRlbiBiZWRyYWVuZ3QsIHZlcmFlcHBlbHQgdW5kIGJlbGFzdGV0IHVuZCBoYXQKZWluZmFjaCBrZWluZSBMdXN0IG1laHIgYXVmIGRlbiBEcnVjaywgZGVuIGVyIGJla29tbXQuIFphciBpc3QgbmljaHQgbnVyIGVpbmVyCmRlciBiZXN0ZW4gdW5kIHNjaG5lbGxzdGVuLCBzb25kZXJuIGF1Y2ggZWluZXIgZGVyIFZpZWxzZWl0aWdzdGVuIHVuZApvcmlnaW5lbGxzdGVuIFByb2dnZXIgaW0gTUcgdW5kIGVzIHdhZXJlIGVpbiBncm9zc2VyIFZlcmx1c3QsIHdlbm4gd2lyIGlobgp2ZXJsaWVyZW4uCgpEZXIgRHJ1Y2ssIGRlbiBlciBoYXR0ZSBrYW0gdm9uIHZlcnNjaGllZGVuc3RlbiBTZWl0ZW46IE1hZ2llciBtYWNodGVuIHNpY2gKZWluZW4gU3Bhc3MgZGFyYXVzLCBpaG4gbWl0IHNlaW5lciBLYWVtcGZlci1HaWxkZSB1bnRlciBUZXJtaW5kcnVjayB6dSBzZXR6ZW4KdW5kIGRpZSBFcndhcnR1bmdlbiB1ZWJlciBkZW4gWmVpdHB1bmt0IGRlcyBBbnNjaGx1c3NlcyBzaW5kIGVpbmZhY2ggenUgaG9jaC4uCkltIEdlZ2Vuc2F0eiB6dXIgQ2hhb3NHaWxkZSB3aWxsIGVyIGJlaSBkZW4gS2FtcGZlcm4gd2lya2xpY2ggZWluZSBob2hlClF1YWxpdGFldCAoc2VpbmUgZWlnZW5lIEF1c3NhZ2UpIGFibGllZmVybiB1bmQgc2l0enQgc28gc2Nob24gc2VpdCBXb2NoZW4genUKSGF1c2UgbWl0IGRlbSBUYXNjaGVucmVjaG5lciB2b3IgZGVtIEVkaXRvciwgdW0gZnVlciBFVUNIIHp1IGFyYmVpdGVuLi4uIGFiZXIKaWhyIGhhYnQgYWxsZSBrZWluZSBHZWR1bGQgdW5kIG1hY2h0IERydWNrIQoKRGllIFNwaWVsZXIgbmVydmVuIGlobiBpbW1lciB3aWVkZXIgZHVyY2ggaXJnZW5kd2VsY2hlbiBGb3JkZXJ1bmdlbiBpbiBkZXIKQ2hhb3NHaWxkZSBvZGVyIGluIFNhY2hlbiBEYWVtb25lbmJ1cmcuLi4gd2VubiBaYXJkb3ogYWJlciBtYWwgZWluIFByb2JsZW0gaGF0CnVuZCBkZW4gUmF0IGVpbmVzIFNwaWVsZXJzIGJyYXVjaHQgb2RlciBlaW5mYWNoIElkZWVuIHNhbW1lbG4gd2lsbCwgZGFubiBob2VydAplciBOSUNIVFMhIEVyIGRlbmt0IHNpY2ggd2FzIGF1cyB1bmQgZGllIFNwaWVsZXIga3JpdGlzaWVyZW4uIERhYmVpIGlzdCBnZXJhZGUKWmFyZG96IERFUiBNYWdpZXIsIGRlciBhbSBzdGFlcmtzdGVuIGRpZSBTcGllbGVyIG1pdCBlaW5iZXppZWhlbiB3aWxsLCBhYmVyIGVyCmVybnRldGUgZmFzdCBuaWUgRmVlZGJhY2shCgpXZWl0ZXJlcyBHZW5lcnZlIGdpbmcgdm9uIExldXRlbiBhdXMsIGRpZSBzZWluZSBLdWVuc3RlIGluIExQQyB6dSBzY2hhZXR6ZW4Kd2lzc2VuIHVuZCBkaWUgaW1tZXIgd2llZGVyIHJhdHN1Y2hlbmQgYXVmIGlobiB6dWtvbW1lbi4gRXIgaGlsZnQgZmFzdApzdGFlbmRpZyB1bmQgZ2VybmUgdW5kIGhhdCBkYWR1cmNoIGthdW0gWmVpdCwgd2FlaHJlbmQgZGVzIEVpbmdlbG9nZ3RzZWlucwplaWdlbmUgU2FjaGVuIHp1IG1hY2hlbiwgYWJlciB3ZW5uIGplbWFuZCBkaXJla3Qgc2NobW9sbHQgb2RlciBydW1tb3R6dCwgd2VpbAplciBrZWluZSBwcm9tcHRlIEFudHdvcnQgYmVrb21tdCwgZGFubiBuZXJ2dCBkYXMgdW5kIGRhbm4gc3RlbGx0IG1hbgppcmdlbmR3YW5uIGF1Y2ggbWFsIGF1ZiBzdHVyIQoKSWNoIHdlaXNzIHNlbGJlciBuaWNodCwgd2FubiBpY2ggWmFyZG96IG1hbCB3aWVkZXIgaGllciBpbiBSTCBzZWhlLCBhYmVyIGljaApkZW5rZSwgZGFzcyBpY2ggaWhuIGRhenUgdWViZXJyZWRldCBrcmllZ2UsIG1hbCBhbHMgR2FzdCB6dSBlcnNjaGVpbmVuIHVuZApkYXNzIGVyIGRhbm4gd2VpdGVyc2llaHQuIFdpciBzb2xsdGVuIGltIE11dCBtYWNoZW4gdW5kIGluIFJ1aGUgYXJiZWl0ZW4KbGFzc2VuIHVuZCBuaWNodCBpbW1lciB3ZWl0ZXIgdW50ZXIgRHJ1Y2sgc2V0emVuLi4gdmllbGxlaWNodCBzb2xsdGVuIHNpY2gKYXVjaCBlaW5pZ2UgZGVyIE5lcnZlbnNhZWdlbiBlaW5mYWNoIG1hbCBlbnRzY2h1bGRpZ2VuIHVuZCBpaHJlIEFuc3BydWVjaGUKenVydWVja3NjaHJhdWJlbi4uLgoKQWNoIGphLiBFaW5lIEtsZWluaWdrZWl0IHN0aW5rdCBpaG0gc2Nob24gc2VpdCBsYW5nZW06IERJRVMgSElFUiBJU1QgRUlOClJPTExFTlNQSUVMLCB3ZW5uIGF1Y2ggZWluIHZlcmRhbW10IHNjaGxlY2h0ZXMsIHdlbm4gbWFuIHpiLiBtaXQgUm9sZW1hc3RlcgpvZGVyIGFlaG5saWNoZW0gdmVyZ2xlaWNodC4gRGllIEJldG9udW5nLCBkaWUgYWJlciB2aWVsZSBpbW1lciB3aWVkZXIKdmVyZ2Vzc2VuIGxpZWd0IGF1ZiBkZW0gU1BJRUwuIFdlbm4gbWFsIGVpbmVyIHN0aXJidCwgbmEgZGFubiBpc3QgZGFzIFBFQ0ghCldlbm4gZWluZXIgc2ljaCBpbiBSTCBhdWYgZGVuIFNjaGxpcHMgZ2V0cmV0ZW4gZnVlaGx0LCBkYW5uIGlzdCBkYXMgUEVDSCEgV2VubgplaW4gTWFnaWVyIG5pY2h0IGFsbGUgSWRlZW4gZWluZXMgU3BpZWxlcnMgdmVyd2lya2xpY2h0IG9kZXIgZWluZmFjaCBtYWwga2VpbmUKTHVzdCBoYXQsIG1pdCBlaW5lbSBTcGllbGVyIHp1IHJlZGVuLCBkYW5uIGlzdCBkYXMgUEVDSCEgU2VodCBkYXMgYWxsZXMgZG9jaApuaWNodCBpbW1lciBzbyBlbmcgaGllci4gVW5kIG5lcnZ0IG5pY2h0IHJ1bSBtaXQgdGF1c2VuZGVuIHZvbiBNb3R6LSBvZGVyCiJGaW5kIGljaCBhdWNoIi1BcnRpa2VsbiEgRGllcyBpc3QgZWluZSBaRUlUVU5HIGluIGVpbmVtIFNQSUVMIHVuZCBlcyBzb2xsdGUKbmljaHQgd2llIGVpbiBDaGFuZWwgdm9sbGdlbXVlbGx0IHdlcmRlbi4uLiAoc2llaGUgZGF6dSBhdWNoIEpvZnMgYXJ0aWtlbAppcmdlbmR3byBoaWVyIGluIGRlciBNUEEpLgoKU292aWVsIGFsc28gZGF6dS4uLgoKICAgICAgICAgICAgICAgICAgICAgICAgIFlhbnRybyEKClAuUy46IFdlbm4gaWhyIHdhcyBkYXp1IHNjaHJlaWJlbiB3b2xsdCwgZGFubiBudXIgbWl0IEluaGFsdCEgSWNoIGZ1ZXJjaHRlLAp3ZW5uIGVyIGlyZ2VuZHdlbGNoZSBTY2h3YWNoc2lubnNhcnRpa2VsIGxpZXNzdCwgZGFubiBrb21tdCBlciBnYXIgbmljaHQgbWVociEKRnVlciBXZWl0ZXJlIEZyYWdlbiBvZGVyIE1pdHRlaWx1bmdlbiBwZXJzb2VubGljaGVyIEFydCBiaW4gaWNoIGFuc3ByZWNoYmFyLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphcmRveiEhISAoRHVyaWFuLCAxMi4gRGV6IDE5OTUsIDEzOjA0OjIxKToKIyEgcm49WWFudHJvIHJ0PTgxODc2MDc3MQpIYWxsbyBMZXV0ZSwgaGFsbG8gWmFyZG96IQoKSW4gdmllbGVuIERpbmdlbiwgZGllIFlhbnRybyBkb3J0IGFuZ2VzcHJvY2hlbiBoYXQsIGdlYmUgaWNoIGlobSBSZWNodC4KVm9yIGFsbGVtIHdhcyBkaWUgU2FjaGUgbWl0IGdlbmVydnRlbiBTcGllbGVybiBhbmdlaHQsIGRpZSBuaWNodHMgYmVzc2VyZXMKenUgdHVuIGhhYmVuIGFscyB3aWVkZXIgbWFsIHJ1bXp1bW90emVuLCB3ZWlsIGRhcyBhbGxlcyBoaWVyIGphIHNvCnNjaGVpc3NlIGlzdCB3ZW5uIG1hbiBtYWwgc3RpcmJ0LgoKRGEgaWNoIG5lYmVuIEJvaW5nIHVuZCBKb2YgKHVuZCBub2NoIGVpbmlnZW4gYW5kZXJlbikgaGllciB6dSBkZW4gYWx0ZW4KSGFzZW4gZ2Vob2VyZSAoaWNoIHNwaWVsZSBNVUQgc2VpdCAxOTkxKSwgbW9lY2h0ZSBpY2ggZ2VybmUgbWFsIGVpbiBwYWFyCldvcnRlIHZlcmxpZXJlbiwgaW4gZGVyIEhPZmZudW5nLCBMZXV0ZSB3aWUgWmFyZG96IHdpZWRlciB6dSBiZXJ1aGlnZW4KdW5kIGluIGRlciBIb2ZmbnVuZywgZWluaWdlbiBTcGVybGVybiBtYWwgZGllIEF1Z2VuIHp1IG9lZmZuZW4uCgpaYXJkb3osIHVuZCBhbGxlIGFuZGVyZW4sIGRpZSBzaWNoIHVudGVyIERydWNrIGdlc2V0enQgZnVlaGxlbi4gVGF0c2FlY2hsaWNoCmhhdCBtYW4gaW4gZWluZW0gTVVEIGVjaHRlIFByb2JsZW1lIHdlbm4gbWFuIGV0d2FzIGJld2VnZW4gd2lsbCB1bmQgbm9jaAp2aWVsIG1laHIgd2VubiBtYW4gdGF0c2FlY2hsaWNoIGV0d2FzIGJld2VndC4gRXMgZmluZGVuIHNpY2ggaW1tZXIgd2VsY2hlLApkaWUgZGllIFNhY2hlbiwgZGllIER1IG1hY2hzdCBvZGVyIGxhZXNzdCBrcml0aXNpZXJlbiB1bmQgYmVpIGRpZXNlciBLcml0aWsKc2ljaCB2b2VsbGlnIGltIFRvbiB2ZXJncmVpZmVuLiBJY2ggcmF0ZSBEaXIgZWluczogc2NoKiBkcmF1ZiEgTGFzcycgRGljaAp2b24gbmllbWFuZGVuIHVudGVyIERydWNrIHNldHplbiwgdmVyc3VjaGUgZXMgenUgbGVybmVuIGRpZSB1bmdlcmVjaHRlCktyaXRpayBzZWl0ZW5zIGRlciBTcGllbGVyIGFuIERpciBhcHByYWxsZW4genUgbGFzc2VuIHVuZCBsYXNzJyBEaWNoIHZvbgpuaWVtYW5kZW4gaGV0emVuLiBEYXMgTUcgaXN0IGF1Y2ggZnVlciBEaWNoIG51ciBlaW4gU1BpZWwgdW5kIHNvIHNvbGx0ZQplcyBhdWNoIGJsZWliZW4uIFdvbGxlbiBkYXMgbWFuY2hlIExldXRlIG5pY2h0IGJlZ3JlaWZlbiBkYW5uIHBmZWlmJyBhdWYKc2llISBEdSBiaXN0IGhpZXIgTklFTUFOREVOIHZlcnBmbGljaHRldCwgYWxsZSBmcmV1ZW4gc2ljaCBudXIgZGFydWViZXIsCndlbm4gRHUgZGVtIE1VRCB3aWVkZXIgZWluZSB0b2xsZSBTYWNoZSBsaWVmZXJzdC4gV2VubiBEdSBlcyBuaWNodCB0dXN0LAppc3QgRGlyIG5pZW1hbmQgYm9lc2UsIHdlciBlcyBkZW5ub2NoIGlzdCwgaXN0IHNlbGJlciBzY2h1bGQhIFphcmRveiwKbWVpbiBkcmluZ2VuZGVyIEFwcGVsbCwgbWFjaCcgc28gd2VpdGVyIHdpZSBiaXNsYW5nISBXZW5uIER1IG5pY2h0IG1laHIKZGEgYmlzdCwgd2lyZCBkYXMgTVVEIHVtIGVpbmVuIGVjaHRlbiBLT2VubmVyIChDaGFvc2dpbGRlLCBSb2RlbGJhaG4gZXRjLikKYWVybWVyLiBXaXIgYWxsZSwgZGllIGltIE1HIGVpbiBTUGllbCBzZWhlbiwgd3VlcmRlbiBEaWNoIHNlaHIgdmVybWlzc2VuLgoKVW5kIG51biBhbiBhbGxlIFNQaWVsZXIsIGFuIEFMTEUsIGF1Y2ggYW4gZGllLCBkaWUgbWVpbmVuLCBkdXJjaCBpaHJlbgpob2hlbiBMZXZlbCBoaWVyIGJlc29uZGVycyBndXQgYXVmIGRpZSBQYXVrZSBoYXVuIHp1IGtvZW5uZW4uIFdpciBoYWJlbgpzY2hvbiB4LW1hbCBkcmF1ZiBhdWZtZXJrc2FtIGdlbWFjaHQsIGRhc3Mgd2lyIE1hZ2llciBoaWVyIG5pY2h0IHp1Cmdlend1bmdlbiB3ZXJkZW4sIHVucyBzdHVuZGVubGFuZyB2b3IgYmVrbG9wcHRlbiBMUEMtQ29kZSB6dSBob2NrZW4gdW0KRXVjaCBkYXMgU3BpZWxlbiB6dSB2ZXJzdWVzc2VuLiBVbmQgd2lyIGxhc3NlbiB1bnMgZGVzaGFsYiBhdWNoIG5pY2h0CmhldHplbi4gV2VubiBFdWNoIGhpZXIgYWxsZXMgenUgbGFuZ3NhbSBnZWh0LCBkYW5uIGhhdXQgZG9jaCBhYiEgSGFydCwKYWJlciBkaWUgV2FocmhlaXQuIEF1c3NlcmRlbSBuZWhtZSBpY2ggZnVlciBtaWNoIHVuZCBhbGxlIGFuZGVyZW4gTWFnaWVyCmRhcyBSZWNodCBpbiBBbnNwcnVjaCwgZmVobGJhciB6dSBzZWluLiBOaWVtYW5kIHZvbiB1bnMgYmF1dCBTYWNoZW4sIGRpZQphdWYgQW5oaWViIHN1cGVyIGZ1bmt0aW9uaWVyZW4gdW5kIG5pZW1hbmQgdm9uIHVucyBpc3QgaW4gZGVyIExhZ2UsIEFMTEUKS09uc2VxdWVuemVuIGRlc3Nlbiwgd2FzIHdpciBoaWVyIHR1biB6dSBiZWRlbmtlbi4gRXMga29tbXQgSU1NRVIgd2llZGVyCnZvciwgZGFzcyBzaWNoIEZlaGxlciBlaW5zY2hsZWljaGVuLCBkaWUgSWhyIHp1Z2VnZWJlbiBhdXNiYWRlbiBtdWVzc3QuCkFiZXIgd2FzIHNpbmQgYml0dGUgMTAwMDAwMCBFUCdzIG9kZXIgMTAwMDAgTXVlbnplbiBvZGVyIHdhc3dlaXNzaWNoLgpWZXJzZXR6dCBFdWNoIG1hbCAoaWNoIGJlemllaGUgbWljaCBhdWYgZWluZW4gRmFsbCBpbiBqdWVuZ3N0ZXIgWmVpdCwKYWxzIGVpbmVyIGRlciBob2Voc3RlbiBTUGllbGVyIGRlcyBNRyBlaW5lbiBpbiBMUEMtU2FjaGVuIG5pY2h0IGdhbnoKc28gZ3V0ZW4gTWFnaWVyIGFuZ2VnYW5nZW4gaXN0LCBudXIgd2VpbCBlciBtYWwgZ2VzdG9yYmVuIGlzdC4gVG9sbGVyCkdydW5kLikgaW4gZGllIExhZ2Ugdm9uIHVucy4gV2lyIGJyYXVjaGVuIFN0dW5kZW4sIFZJRUxFIFN0dW5kZW4sIHVtIGVpbmUKdG9sbGUgU2FjaGUgZmVydGlnIHp1IHN0ZWxsZW4gKFd1ZXN0LCBHaWxkZSwgUm9kZWxiYWhuIG9kZXJ3YXNhdWNoaW1tZXIpLgpEYW5uIHNjaGxpZXNzZW4gd2lyIGVzIGFuLCB1bmQgZXJudGVuIC4uLiBuaWNodHMuIEVzIHdpcmQgYWxzIE5vcm1hbGl0YWV0Cmhpbmdlbm9tbWVuLiBEb2NoIHBsb2V0emxpY2ggZW50ZGVja3QgamVtYW5kIGVpbmVuIGtsZWluZW4gRmVobGVyLCBlaW5lClVuZ2VuYXVpZ2tlaXQsIGVpbmUgU2FjaGUsIGRpZSB2aWVsbGVpY2h0IGV0d2FzIHVlYmVydHJpZWJlbiB3YXIuIFVuZCB3YXMKcGFzc2llcnQ6IGVzIGhhZ2VsdCBmaWVzZSB1bmQgcGVyc29lbmxpY2ggYW5ncmVpZmVuZGUgQXJ0aWtlbCBpbiBkZXIKWmVpdHVuZywgZXMgaGFnZWx0IGZpZXNlIE1haWxzIHVuZCBhbGxlIGhhY2tlbiBhdWYgZWluZW0gcnVtIHVuZCBmcmFnZW4sCm9iIGRpZXNlcyBNVUQgd29obCBub2NoIG1laHIgJ0VyZ3Vlc3NlJyB2b24gdW5zIGVydHJhZ2VuIG11ZXNzZS4gVW5kIG51bgpzdGVoZW4gd2lyIE1hZ2llciBoaWVyLiBSYXRsb3MuIERpZSBGZWhsZXIgbXVlc3NlbiBmcmVpbGljaCBuaWNodCBpcmdlbmR3YW5uCnNpbmRlcm4gZ2VzdGVybiBlbnRmZXJudCB3ZXJkZW4gdW5kIGRpZSBFUCdzIGdpYnQgZXMgc293aWVzbyB6dXJ1ZWNrLApzb25zdCBzZXR6dCBlcyB3YXMhIFVuZCBkYW1pdCBkaWUgU2FjaGUgcGVyZmVrdCB3aXJkLCB3aXJkIGJlaSBkZXIKR2VsZWdlbmhlaXQgbm9jaCB1ZWJlciBkaWUgbWllc2UgQXRtb3NwaGFlcmUgaGllcmltIE1VRCBnZW1lY2tlcnQuIExpZWJlClNwaWVsZXIsIG5laG10IEV1Y2ggbWFsIGRpZSBNaW51dGUgWmVpdCwgc2V0enQgRXVjaCBoaW4gdW5kIGRlbmt0IGRydWViZXIKbmFjaCwgd2FzIHNvIGFsbGVzIGluIGxldHp0ZXIgWmVpdCBnZWxhdWZlbiBpc3QuIE5laG10IEV1Y2ggZGllIFplaXQgdW5kCmRlbmt0IHVlYmVyIGRhcyBuYWNoLCB3YXMgSWhyIGluIGRlciBaZWl0dW5nIHNjaHJlaWJ0LCB2b3IgYWxsZW0gZGFubiwKd2VubiBlcyBzaWNoIHVtIEtyaXRpayBoYW5kZWx0LiBVZWJlcmxlZ3QsIG9iIGVzIG5pY2h0IHZpZWxsZWljaHQgZWluCmZyZXVuZGxpY2hlciwgYWJlciBiZXN0aW1tdGVyIEJyaWVmIGFuIGRlbiBNYWdpZXIgbWFjaHQsIG9kZXIgb2IgZXMKd2lya2xpY2ggZWluIGFuZ3JlaWZlbmRlciwgYWdncmVzc2l2ZXIgQXJ0aWtlbCBpbiBkZXIgWmVpdHVuZyBzZWluIG11c3MuCkJlZGVua3QgYmVpIGFsbGVtLCB3YXMgSWhyIHR1dDogd2lyIHNpbmQgbmljaHQgRXVyZSBTa2xhdmVuIHVuZCB3ZXJkZW4KZXMgbmllIHNlaW4hCgpXZW5uIGljaCBoaWVyIGltbWVyIHZvbiBTUGllbGVybiBhbGxnZW1laW4gcmVkZSwgbXVzcyBpY2ggbWljaCBkb2NoCm5vY2ggc2NobmVsbCBrb3JyaWdpZXJlbi4gRGVyIGFsbGVyZ3JvZXNzdGUgVGVpbCBkZXIgU3BpZWxlciBpc3QgYW5kZXJzLgpadW0gR2x1ZWNrISBJY2gga2FubiBhdXMgZWlnZW5lciBFcmZhaHJ1bmcgc3ByZWNoZW4gdW5kIGJlaGF1cHRlLCBlcwpzaW5kIG51ciB3ZW5pZ2UgU3BpZWxlciwgZGllIGJlc29uZGVycyBnZXJuZSB1bmQgZGFubiBtaXQgd2FjaHNlbmRlcgpCZWdlaXN0ZXJ1bmcgd2V0dGVybi4gRG9jaCBkaWVzZSBTUGllbGVyIGZhbGxlbiBkdXJjaCBpaHJlIHVuemFlaGxpZ2VuCidIYXNzLUFydGlrZWwnIGluIGRlciBaZWl0dW5nIGJlc29uZGVycyBhdWYuIEljaCBtb2VjaHRlIGRpZSBHZWxlZ2VuaGVpdApudXR6ZW4gdW5kIGFsbCBkZW5lbiBTcGllbGVybiBkYW5rZW4sIGRpZSBtaXIgbWl0IHNhY2hsaWNoZXIsIGZyZXVuZGxpY2hlcgpLcml0aWsgZ2Vob2xmZW4gaGFiZW4sIG1laW5lIFNhY2hlbiB6dSBkZW0genUgbWFjaGVuLCB3YXMgc2llIGltIE1vbWVudApzaW5kLiBGZXJuZXIgbW9lY2h0ZSBpY2ggKGljaCBuZWhtZSBtaXIgZGllc2VzIFJlY2h0IGVpbmZhY2gpIGFsbCBkZW5lbgpkYW5rZW4sIGRpZSBaYXJkb3ogYmVpIHNlaW5lciBiaXNoZXJpZ2VuIEFyYmVpdCB1bnRlcnN0dWV0enQgdW5kIGdlaG9sZmVuCmhhYmVuLiBVbmQgYWxsIGRlbmVuLCBkaWUgZGFmdWVyIGdlc29yZ3QgaGFiZW4sIGRhc3MgWmFyZG96IHp1ciBaZWl0IGVpbmUKUGF1c2UgYnJhdWNodCwgKioqKioqKioqKioqKioqKioqKioqKioqLiBJY2ggYmluIHNlaHIgZ3V0IGVyem9nZW4uCgpPa2ksIHVuZCBudW4gaGFiZSBpY2ggZWluIHBhYXIgZXJuc3RlIFdvcnRlIHZlcmxvcmVuLCBqZXR6dCBnZWh0IGRlciBTcGFzcwp3aWVkZXIgd2VpdGVyLiBXZXIgbWVsZGV0IHNpY2ggYWxzIEVyc3RlciwgZGVyIG1pciBlbmRsaWNoIG1hbCBhdWYgZGllCkZ1ZXNzZSB0cml0dCwgZGFtbWl0IGRlciBVbWJhdSBkZXIgQXJlbmEgZW5kbGljaCBtYWwgaW4gQW5ncmlmZiBnZW5vbW1lbgp3aXJkPz8gOi0pCgppbSBOYW1lbiBhbGxlciBNYWdpZXIgKGRlciBuaW1tdCBzaWNoIHdhcyByYXVzKSB1bmQgaW4gc2VpbmVtIFJ1ZgphbHMgJ2VyemtvbnNlcnZhdGl2ZXIgTVVELVdhZWNodGVyJyAoKmdyaW5zIEhhcmRpbCopIHVuZCBhbHMgJ2FsdGVyCkhhc2UnCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc2NobGVjaHRlcm1pc2NodW5nIChIYXJkaWwsIDEyLiBEZXogMTk5NSwgMTQ6NDA6MjcpOgojISBybj1MdWcgcnQ9ODE4NzM1NzE2CgpORUlOICEKQklUVEUgTklDSFQgIQpEaWUgbGV0enRlIERpc2t1c3Npb24gdWViZXIgTVVELUhvbW8tUGFhcmUgaXN0IGVyc3QgMyBNb25hdGUgaGVyISBCaXR0ZSEKTm9jaG1hbCBkcmVpIE1vbmF0ZSwgYmV2b3IgZGFzIFRoZW1hIHdpZWRlciBhdWZnZXdhZXJtdCB3aXJkLCB3YWVyZW4gc2Nob2VuIQoKLUhhcmRpbC4gTVBBLVZldGVyYW4uIEtlbm50IGluendpc2NoZW4gZGllIFplaXRwZXJpb2RlbiwgZGllIGVzIGRhdWVydCwgYmlzCmVpbiBUaGVtYSBtYWwgd2llZGVyIGR1cmNoIGRpZSBtcGEgZ2VtYWVuZ2VsdCB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc2NobGVjaHRlcm1pc2NodW5nIChCb2luZywgMTIuIERleiAxOTk1LCAxNDo0OTozNyk6CiMhIHJuPUx1ZyBydD04MTg3MzU3MTYKVGphIC4uLiBkYXMgaXN0IGdydW5kc2FldHpsaWNoIHNjaG9uIGxhbmdlIGdla2xhZXJ0IC4uLiB1bnMgd3VyZGUgYXVjaAplaW5lIG5ldWUgSG9jaHplaXRzemVyZW1vbmllIHZlcnNwcm9jaGVuIChkdWVyZnRlIGpldHp0IG1pbmRlc3RlbnMKZWluIEphaHIgaGVyIHNlaW4pLCBkb2NoIGJpcyBoZXV0ZSBpc3QgZGFzIG5pY2h0IGZlcnRpZyAuLi4gZGEgaGlsZnQKd29obCBudXIgd2FydGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZXJlciBXZWcgKFJpbXVzLCAxMi4gRGV6IDE5OTUsIDE1OjAzOjU5KToKSGFsbG8gTVVEJ2xlcgoKSmV0enQgaXN0IGVzIGVuZGxpY2ggc28gd2VpdCwgZGVyIHdlZyB6dW0gU2VoZXIgaXN0IHNjaHdlcmVyIHdpZSBuaWUgenV2b3IuCkpldHp0IG11c3MgbWFuIHVtIFNlaGVyIHdlcmRlbiB6dSBrb2VubmVuIEluZmVybm8gb2RlciBBcmNoaXRla3QgbG9lc2VuLgpKZWRlciBqZXR6dGlnZSBTZWhlciBzb2xsdGUgbWFsIHNlaW5lIGxpc3RlIHVudGVyc3VjaGVuIHVuZCBtYWwgbmFjaHNhdWVuIG9iCmVyIGltbWVyIG5vY2ggU2VoZXIgc2VpbmVuIGtvZW5udGUuCkVzIGlzdCBkb2NoIG1laW5lciBNZWludW5nIG5hY2ggdW5mYWlyIGdlZ2VudWViZXIgbmV1ZW4gU3BpZWxlci4gTmljaHQgZGFzCnNpZSBlaW5lbiBncm9lc3NlcmVuIEJlcmVpY2ggYWJzdWNoZW4gbXVlc3NlbiB1bSBpaHJlciBaVCdzIHp1IGZpbmRlbiwgbmVpbgpzaWUgbXVlc3NlbiBub2NoIGRpZSBzY2h3aWVyaWdzdGVuIFF1ZXN0J3MgbG9lc2VuLgpNZWluIFZvcnNjaGxhZyB3YWVyZTogamVkZXIgU2VoZXIgYmVrb21tdCBlaW5lICdHYWxnZW5mcmlzdCcgbmFjaGRlbSBlaW5lCm5ldWUgUXVlc3QgZW50c3RhbmRlbiBpc3QgdW0gc2llIHp1IGxvZXNzZW4sIHNvIGRhcyBlcyBlaW5lIGVpbmhlaXRsaWNoZSBaYWhsCmFuIEFiZW50ZXVlcnB1bmt0ZW4gZnVlciBkYXMgU2VoZXJsZXZlbCBnaWJ0LgpEYXMgQXJndW1lbnQsIGRhc3Mgd2lyIHNjaG9uIGxhZW5nZXIgZGFiZWkgc2luZCwgaXN0IHppZW1saWNoIHdhY2tlbGlnLiBXZW5uCm1hbiBzaWNoIG1hbCBpbiBNVUQncyB1bXNjaGF1dCwgZGllIGdlcmFkZSBhbSBFbnRzdGVoZW4gc2luZCwgZGEga29tbWVuIGVpbmVuCmRpZSBTcGllbGVybmFtZW4gc2Nob24gemllbWxpY2ggYmVrYW5udCB2b3IuIE5hY2ggZGVtIE1vdHRvIGVpbmxvZ2VuLCB2b2xsZQpTdGF0J3MgYmVrb21tZW4sIGF1c2xvZ2dlbiB1bmQgbmFjaCBlaW5lbiBKYWhyIHdpZWRlciBzcGllbGUgdW5kIG1pdCBlaW5lbgpRdWVzdCBTZWhlciB3ZXJkZW4uCgpEZW5rdCBtYWwgZHJ1ZWJlciBuYWNoCgpSSU1VUyAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFphcmRveiEhISAoQ3JhaWcsIDEyLiBEZXogMTk5NSwgMTY6Mjg6MTcpOgojISBybj1EdXJpYW4gcnQ9ODE4NzY5ODYxCkRhcyBkYXJmIGRvY2ggbmljaHQgd2FociBzZWluLiBaYXJkb3ogZGFyZiBuaWNodCBzdGVyYmVuISBJY2ggd2lsbCBoaWVyIGdhcgpuaWNodCBhdXNmdWVocmxpY2ggdWViZXIgZGllIGhhbmR3ZXJrbGljaGVuIEZhZWhpZ2tlaXRlbiBkZXMgRHVua2xlbiBsYWJlcm4sCmRpZSBzaW5kIGVoIHVuYmVzdHJpdHRlbi4gTWl0IFphcmRveiB3dWVyZGVuIHdpciB2b3IgYWxsZW0gZWluZW4gZGVyCmtyZWF0aXZzdGVuIHVuZCB3aXR6aWdzdGVuIE1hZ2llciB2ZXJsaWVyZW4uCldlciBoYXQgbmljaHQgc2Nob24gVHJhZW5lbiBnZWxhY2h0IGluIGRlciBCdXJnIG9kZXIgYmVpbSBSb2RlbG4gb2RlcgpEYWVtb25lbmJlc2Nod29lcmVuPwpGdWVyIGRpZSBQcm9ibGVtZSBkZXIgU3BpZWxlciBoYXR0ZSBaIGJpc2hlciB3aXJrbGljaCBpbW1lciBlaW4gb2ZmZW5lcyBPaHIsCmF1Y2ggYmVpIE5vZXJnZWxlaWVuLCBkYXMga2FubiBpY2ggYXVzIGVpZ2VuZXIgRXJmYWhydW5nIGJlc3RhZXRpZ2VuLgpXYXMgaGF0IGVyIG5pY2h0IGFsbGVzIGluIGRlbiBsZXR6dGVuIE1vbmF0ZW4gbm9jaCBhbiAiS2xlaW5pZ2tlaXRlbiIgYWxsZWluCmluIGRpZSBDaGFvc2dpbGRlIGVpbmdlYmF1dD8gR3Jvc3NlIEtsYXNzZSEKV2lyIHNpbmQgd29obCBldHdhcyB2ZXJ3b2VobnQsIHdhcyBkYXMgVGVtcG8gYW5nZWh0LgpTb2xsIFogZG9jaCBydWhpZyBlaW4gaGFsYmVzIGphaHIgYnJhdWNoZW4gZnVlciBzZWluZSBLYWVtcGZlciBvZGVyIHdhcyBhdWNoCmltbWVyLiBFaW5zIGlzdCBzaWNoZXI6IERhcyBXYXJ0ZW4gbG9obnQgc2ljaC4gRXIgaXN0IGF1Y2gga2VpbiBVZWJlcm1lbnNjaCwKZWluZSBCaW5zZW53ZWlzaGVpdC4gR29lbm5lbiB3aXIgaWhtIGVpbmUgUGF1c2UuClZvbiB1bnMuCgpMb2JsaWVkIGVuZGUuCkNSQUlHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nod2VyZXIgV2VnIChBc21vZGlzLCAxMi4gRGV6IDE5OTUsIDE4OjEzOjM4KToKIyEgcm49UmltdXMgcnQ9ODE4Nzc3MDM5ClNlaGVyIG11ZXNzZW4gUXVlc3RzIGxvZXNlbiB1bSBkZW4gU2VoZXJzdGF0dXMgenUgYmVoYWx0ZW4gPyBOZWUsIGRhcwppc3QgUXVhdHNjaCwgc2NobGllc3NsaWNoIGlzdCBTZWhlciB3ZXJkZW4gZWluZXMgZGVyIFNwaWVsemllbGUgaGllci4KV2VubiBkdSBoaW5nZWdlbiBkYWZ1ZXIgcGxhZWRpZXJzdCwgZGFzcyBiZWkgTmljaHQtU2VoZXJuIGRpZSBHcmVuemUKcGFyYWxsZWwgenUgZGVyIG5ldWVuIEFQLUFuemFobCBzdGVpZ3QsIGRhbm4gd2lyc3QgZHUgbWl0IGRpZXNlbQpWb3JzY2hsYWcgYXVjaCBrZWluZW4gRXJmb2xnIGhhYmVuLCBkYSBzaW5kIHNpY2hlciBhbGxlIGpldHppZ2VuClNwaWVsZXIgZGFnZWdlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2h3ZXJlciBXZWcgKEZlbGFndW5kLCAxMi4gRGV6IDE5OTUsIDE4OjE2OjIzKToKIyEgcm49QXNtb2RpcyBydD04MTg3ODg0MTgKQWxzbyBBc21vZGlzIGRhIGdpcHMgbmUgZWluZmFjaGUgTG9lc3VuZy4uc3RhdHQgU2VoZXIgenUgd2VyZGVuIGtvZW5udGUgbWFuCmRvY2ggU2VoZXIgQkxFSUJFTiB6dW0gU3BpZWx6aW9lbCBtYWNoZW4gOyk9Ci4ubWFsIGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBNQUdJRVIgd2VyZGVuIGRhcyBTcGllbHppZWwgaXN0IHVuZCBTZWhlciBibG9zcwpuZSBXYXJ0ZXNjaGxlaWZlIGZsaWVnZW4gZHVlcmZlbi4uLgpncnVzcy4uLkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaHdlcmVyIFdlZyAoQXNtb2RpcywgMTIuIERleiAxOTk1LCAxODoyNDowMyk6CiMhIHJuPUZlbGFndW5kIHJ0PTgxODc4ODU4MwpRdWF0c2NoLCBTZWhlciBPREVSIE1hZ2llciB3ZXJkZW4gaXN0IGRhcyBTcGllbHppZWwuClNlaGVyIHNpbmQgc2NobGllc3NsaWNoIGRpZSBBbHRlcm5hdGl2ZSB2b24gTWFnaWVybiA6KQpVbmQgU2VoZXIgYmxlaWJlbiBtaXQgRnJpc3RlbiB1bmQgc28gZmluZGUgaWNoIGJsb2VkLCBtYW4gaXN0IGphCnNjaGxpZXNzbGljaCBTZWhlciBnZXdvcmRlbiwgZGFtaXQgbWFuIFZvcnRlaWxlIGhhdCwgdW5kIG5pY2h0Ck5hY2h0ZWlsZSAhISBBdXNzZXJkZW0ga29lbm50ZSBtYW4gZGFubiBrZWluZSBTcGllbHBhdXNlbiBtYWNoZW4sCndlaWwgbWFuIGRhbmFjaCB2aWVsbGVpY2h0IGtlaW4gU2VoZXIgbWVociBpc3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2Nod2VyZXIgV2VnIChSaW11cywgMTIuIERleiAxOTk1LCAxODo1NTozNSk6CiMhIHJuPUFzbW9kaXMgcnQ9ODE4Nzg4NDE4CkR1IGhhc3N0IG1pY2ggZmFsc2NoIHZlcnN0YW5kZW4gQXNtb2Rpcy4gSWNoIG1laW50IGRhcyBzb18KYXJnbCBfID0gOgpTcGllbGVyIHVuZCBTZWhlciBtdWVzc2VuIGRpZSBnbGVpY2hlbiBDaGFuY2VuIGhhYmVuLiBEYXMgaGVpc3N0LCBkYXMgZXMKbmljaHQgc2VpbiBrYW5uLCB3ZW5uIGljaCBtaWNoIHNwYWV0ZXIgZWlubG9nZ2UsIGRhc3MgaWNoIGRhIHouQiAxMDAwIEFQJ3MgbWVoCmhhYmVuIG11c3MgdW0gc2VoZXIgenUgd2VyZGVuIHVuZCBuYWNoIGRlciBRdWVzdCB2b24gUHVtYSBtdXNzIGljaCBzb2dhciBBcmNoaQpvZGVyIGRpZSB2b24gUHVtYSBsb2Vzc2VuIHVtIFNlaGVyIHdlcmRlbiB6dSBrb2VubmVuLiBEYXMgZmluZGUgaWNoCnVlYmVydHJpZWJlbiAhISBXaWV2aWVsZSBTZWhlciBoYWJlbiBkZW5uIHNjaG9uIEFyY2hpZSBnZWxvZXNzdCAzMCA/PyBvZGVyCm5vY2ggd2VuaWdlci4gVW5kIGpldHp0IHdpcmQgZXJ3YXJ0ZXQsIGRhc3MgZWluIFNwaWVsZXIgQXJjaGkgbG9lc3N0LCBkZXIKbmljaHQgZWlubWFsIHNlaW5lIEZsdWNodHJpY2h0dW5nIGVpbnN0ZWxsZW4ga2FubiAhCgpSSU1VUwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2Nod2VyZXIgV2VnIChGZWxhZ3VuZCwgMTIuIERleiAxOTk1LCAxOTowMDo1MSk6CiMhIHJuPVJpbXVzIHJ0PTgxODc5MDkzNQpBbHNvIGRhcyBQcm9ibGVtIGJlaW0gQXJjaGllIGlzIHdlbmlnZXIgZGllIEZsdWNodHJpY2h0dW5nLCBzb25kZXJuIDMgU3BpZWxlcgp6dSBmaW5kZW4sIGRpZSA4IFN0dW5kZW4gYW0gU3R1ZWNrIHp1bSBtdWRkZW4gaGFtIHVuZCBkYXMgZ2xlaWNoemVpdGlnIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2h3ZXJlciBXZWcgKEFzbW9kaXMsIDEyLiBEZXogMTk5NSwgMTk6NDA6MjMpOgojISBybj1SaW11cyBydD04MTg3OTA5MzUKRGFzIGlzdCBhYmVyIG5vY2gga2VpbiBncnVuZCwgU2VoZXIgenVtIHF1ZXN0ZW4genUgendpbmdlbiwgc2NobGllc3NsaWNoCmhhYmVuIHNpZSBlcyBzaWNoIHZlcmRpZW50LCBhdXN6dXJ1aGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTY2h3ZXJlciBXZWcgKExldXNlbCwgMTIuIERleiAxOTk1LCAxOTo0MzowNCk6CiMhIHJuPUFjcmltb24gcnQ9ODE4NzkzNTk5Clp1IDEuCkdlaCBtYWwgaW4gZGllIEdpbGRlIHVuZCBtYWNoIGxpc3RlLiBEYW5uIHdpcnN0IER1IGZlc3RlbGxlbiwgZGFzcyBBcmNoaWUgdW5kCkluZmVybm8gaW4gZWluZXIgR3J1cHBlIHN0ZWhlbiwgdm9uIGRlbmVuIG51ciBlaW5lIFF1ZXN0IGF1c2dlbGFzc2VuIHdlcmRlbgprYW5uLiBELmguIG1hbm4gbXVzcyBzZWhyIHdvaGwgZWluZXIgZGVyIFF1ZXN0cyBtYWNoZW4uCgpMZXVzZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaHdlcmVyIFdlZyAoUmltdXMsIDEyLiBEZXogMTk5NSwgMjA6MDk6NTkpOgojISBybj1BY3JpbW9uIHJ0PTgxODc5MzU5OQpJY2ggc2NoYWV0enRlIG1hbCwgZGFzcyBkdSBuaWNodCB2ZXJzdGVoc3QgdW0gd2FzIGVzIGdlaHQgISEKenUgMS4gdW50ZXIgamVkZXIgZ3J1cHBlIHN0ZWh0IGVpbmUgemFobCwgZGllIG1hbiB2b24gZGVyIGdydXBwZSBhdXNsYXNzZW4Ka2Fubiwgc2VsYnN0IHdlbm4gbWFuIGRpZSBBUCdzIGhhdCwgbXVzcyBtYW4gdHJvdHpkZW0gZGllIFF1b3RlbiBlcmZ1ZWxsZW4KYW5zb25zdGVuLCBQRUNIIEdFSEFCVCAhCnp1IDIuIGVzIGlzdCBzY2hvbiBrbGFyIGRhcyBlcyB2b3JoZXIgZmVzdHN0ZWh0LCBudXIgd2VubiBtYW4gc2ljaCBzcGFldGVyCmVpbmxvZ2d0IGlzdCBkYXMgbXVkIGdyb2Vzc2VyIC0+IG1laHIgWlQncyAtPiBncm9lc3NlcmUgQXVmd2FuZAoKQkVHUklGRkVOID8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2h3ZXJlciBXZWcgKEFjcmltb24sIDEyLiBEZXogMTk5NSwgMjA6MTE6MjUpOgojISBybj1SaW11cyBydD04MTg3OTUzOTkKb2tvaywgdW5kIGJldm9yIG5vY2ggbWVociBMZXV0ZSBhbnR3b3J0ZW4sIGxvZXNjaCBpY2ggamV0enQgbWVpbmVuIEFydGlrZWwuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNjaHdlcmVyIFdlZyAoSmVycmljbywgMTIuIERleiAxOTk1LCAyMjowOToxMSk6CiMhIHJuPUFjcmltb24gcnQ9ODE4Nzk1NDg1CkhpZXIgZW50c3RlaHQgZ2VyYWRlIHdpZWRlciBkaWUgRGlza3Vzc2lvbiwgb2IgZXMgZWluZSBBUC1HcmVuemUgenVtClNlaGVyLXdlcmRlbiBnZWJlbiBzb2xsLCBkaWUgZGFubiBmdWVyIGRlbiBSZXN0IGRlcyBCZXN0ZWhlbnMgdm9uIE1vcmdlbkdyYXVlbgpnZWx0ZW4gc29sbC4gKFNpbmQgc2Nob24gd2llZGVyIDMgTW9uYXRlIHVtID8/PyA6KSAgKQpOYXR1ZXJsaWNoIGlzdCBlcyBuZXJ2aWcsIHdlbm4gbWFuIDE2MDAgQVAgYmVub2V0aWd0LCB1bSBzZWhlciB6dSB3ZXJkZW4sCm9kZXIgc29nYXIgbm9jaG1laHIsIHVtIGRpZSBob2VjaHN0ZW4gR2lsZGVuc3R1ZmVuIHp1IGVycmVpY2hlbiwgYWJlciB3ZXIKa2VpbmUgTHVzdCBoYXQgenVtIHF1ZXN0ZW4sIGRlciBiZXNvcmd0IHNpY2ggZWJlbiBkaWUgTG9lc3VuZ2VuIGRhenUsIHdvIGlzdApkYXMgUHJvYmxlbSA/CkVpbiBrbGVpbmVyIFRpcCBub2NoIGFtIFJhbmRlIDoKTWFuIHNvbGx0ZSBpbSBEc2NodW5nZWwgYXVmIFRhbWliYXIsIE5JQ0hUICEgaW4gamVkZW0gUmF1bSAnbmltbSBoYXV0JwplaW5nZWJlbiA6KSwgZGllIEFrdGlvbiBoYXQgbWljaCBkb2NoIGdsYXR0IDE4MCBMUCBnZWtvc3RldC4gOikKCgpKZXJyaWNvLCBsaWVzdCBpbSBNb21lbnQgbnVyIG5vY2ggWmVpdHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphcmRveiEhISAoTHVnLCAxMy4gRGV6IDE5OTUsIDAyOjI1OjQxKToKIyEgcm49WWFudHJvIHJ0PTgxODc2MDc3MQpBbHNvIFlhbnRybywKCkRpZSBLcml0aWsgYW4gZGVyIENoYW9zZ2lsZGUgb2RlciBkZXIgQnVyZyBrYW5uIGljaCBuaWNodCB2ZXJzdGVoZW4sIG9id29obAppY2hrZWluIENoYW90IGJpbiBvZGVyIGVzIHdlcmRlbiB3aWxsLCBkZW5uIGRpZSBnZWJuIGVjaHRlIEZhcmJlIGluIGRhcyBTcGllbC4KUm9sbWFzdGVyIGlzdCBlaW4gSHVuZHNtaXNlcmFibGVzIFJvbGVuc3BpZWwsIGRlbm4gZXMgdGFiZWxsdCB1bnMgYXRtb3NwYWVydApuaWNodCBCZXJlY2h0aWd0ZSBLcml0aWsgc29sbHRlIG1hbiB2ZXJyYWdlbiBrb2VubmVuLCB1bmJlcmVjaHRpZ3RlIGtvbnRlcm4Kb2RlciB1ZWJyZ2VoZW4uIGVpbiBnZXN0YW5kZWVuZXIgTWFnaWVyIHdpZSBaYXJkb3ogc29sbHRlIGRvY2ggYWxzIEVpY2hlcgpyZWFnaWVyZW4ga29lbmVuLiBadSBiZWRlbmtlbiBpc3QsIGRhc3MgWnVzdGltbXVuZyBzZWx0ZW5lciBnZWFldXNzZXJ0IHdpcmQKYWxzIEtyaXRpaywgZGVubm1hbiBpc3QgamEgZWluZmFjaCB6dWZyaWVkZW4uCldhcyBtaWNoIGFsbGVyZGluZ3Mgc3RvZXJ0OiBEaWUgU2F1YmVyZSBNUEEgRGViYXR0ZS4gTmllbWFkbiBicmF1Y2h0IGFsbGUKQXJ0aWtsIHp1IGxlc2VuLiBXYXMgRHUgZG9vZiBmaW5kZXN0LCBmaW5kZW4gYW5kZXJlIHZpZWxsZWNpaHQgZ3V0LiBEaWUgTVBBCnNvbGx0ZSBmZXIgYWxsZXMgb2ZmZW4gYmxlaWJlbnVuZCBhbGxlLgpHcnVzcyBMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaHdlcmVyIFdlZyAoRnl0LCAxMy4gRGV6IDE5OTUsIDAyOjMyOjM5KToKIyEgcm49UmltdXMgcnQ9ODE4NzkwOTM1CkFsc28gaWNoIGhhYiBzY2hvbiBnZXNlaGVuLCB3aWUgaW4gMjAgTWludXRlbiBuZXVuIExldXRlIEFyY2hpCmdlbG9lc3QgaGFiZW4uLiBlcyB3ZXJkZW4gd29obCBtZWhyIGFscyAzMCBzZWluLiBVZWJyaWdlbnMgZWluZQpzZWhyIHNjaG9lbmUgUXVlc3QsIHdlbm4gZ2VudWVnZW5kIExldXRlIG1pdG1hY2hlbi4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2Nod2VyZXIgV2VnIChadWVyaWxldSwgMTMuIERleiAxOTk1LCAwMjo0MjoyMyk6CiMhIHJuPVJpbXVzIHJ0PTgxODc5NTM5OQpTYWxpIFJpbXVzLAoKMS4pIE11c3N0IGR1IG5pY2h0IGFsbGUgWlQncyBoYWJlbiB1bSBTZWhlci9NYWdpZXIgenUgd2VyZGVuLgogICAgRHUga2FubnN0IHNlbGJzdCBtaXQgNHgxIEF0dHJpYnV0ZSwgdGhlb3JldGlzY2ggU2VoZXIgd2VyZGVuLAogICAgbnVyIGhhYmJlcnMgd2Fyc2NoZWlubGljaCBpbiBkZXIgUHJheGlzIGFuIGRlbiBoYXJ0ZW4gTW9uc3Rlcm4uCgoyLikgRGFzIFF1ZXN0IHZvbiBQdW1hIG11c3N0IGR1IG1hY2hlbiB1bSBTZWhlciB6dSB3ZXJkZW4sIGRhIGhhc3QgZHUgcmVjaHQuCiAgICBEdSBrYW5uc3QgbmF0dWVybGljaCBkYXMgQXJjaGlxdWVzdCBtYWNoZW4sIGFiZXIgd2llIGR1IHNlaHN0IGlzdCBkYXMKZWluCiAgICBMZXZlbCAyMCBRdWVzdCwgYWxzbyBkaWUgZW50c2NoZWlkdW5nIGxpZWd0IGJlaSBEaXIuCgozLikgU2VoZXIgenUgd2VyZGVuIGlzdCB3b2hsIGdlbnVnIGFuc3RyZW5ndW5nIGRhcyBlaW4gU2VoZXIgdmVyZGllbnQgc2ljaAogICAgYXVzenVydWhlbi4gQWxzbyBmaW5kIGljaCBlaW5lIGJlc2NocmFlbmt1bmcgb2RlciBRdWVzdHBmbGljaHQgZnVlcgogICAgU2VoZXIgYmVzY2hldWVydCEgRGF6dSBpc3QgZGllc2UgRGlzc2t1c2lvbiB1dXV1cmFsdCB1bmQgc2Nob24gMTAweAogICAgZHVyY2hnZWthdXQuIEFremVwdGllcnQgZXMgZG9jaCBtYWwgc28gd2llIGVzIGlzdCwgdW5kIHdlbm4gaWhyCiAgICBtb3R6ZW4gd29sbHQsIGRhbm4gYml0dGUgaW4gZWluZW0gbm9ybWFsZW4gVG9uLiBXaXIgc2luZAogICAgYWxsZXMgTWVuc2NoZW4gKGF1Y2ggTWFnaWVyIGluIHJsKSwgYWxzbyBiZWhhbmRlbG4gd2lyIHVuc2VyZQogICAgTWl0bWVuc2NoZW4gYml0dGUgYXVjaCBzby4gTWFuIGthbm4gdWViZXIgc29sY2hlIFByb2JsZW1lIHJlZGVuLAogICAgYWJlciBzaWNoZXIgbmljaHQgaW4gZGllc2VtIFRvbiBSaW11cy4gVW5kIGljaCBtZWluZSBlcyB6d2luZ3QKICAgIERpY2ggYXVjaCBrZWluZXIgaGllciB6dSBzcGllbGVuIHdlbm4gZHUgZGFzIG5pY2h0IG1vZWNodGVzdCBvZGVyCiAgICBkYXMgTVVEIGRpciB6dSBzY2h3ZXIgaXN0LiBHbGF1YiB6d2FyIGthdW0gZGFzIGR1IGluIGVpbmVtIGFuZGVyZW4KICAgIE1VRCBpbiBkaWVzZW0gVG9uIGVyZm9sZyBoYWJlbiB3aXJzdC4KClRzY2h1ZXNzIFp1ZXJpbGV1IChncnVtbWVsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xlaW5lciBidWcgKENvb3BlciwgMTMuIERleiAxOTk1LCAwODozNTo0NSk6Ci4uLgpEdSB3aXJzdCBEaWNoIGVyc3Qgd2llZGVyIGFtIFNvbiwgIDguIEp1bCAxOTUxIGVpbmxvZ2dlbiBrb2VubmVuIQpXZW5uIER1IGRhcyB3aXJrbGljaCB3aWxsc3QsIGdpYiBqZXR6dCAnamEnIGVpbi4KT2ssIGRpZSBTcGllbHBhdXNlIHdpcmQgbWl0IGRlbSBuYWVjaHN0ZW4gQXVzbG9nZ2VuIHdpcmtzYW0uClNvbGx0ZXN0IER1IGVzIERpciBiaXMgZGFoaW4gbm9jaCBlaW5tYWwgdWViZXJsZWd0IGhhYmVuLCBzbyBrYW5uc3QKLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaYXJkb3ouLi4gKEdyaW1tYm9ybiwgMTMuIERleiAxOTk1LCAxMDowMTo1NCk6CgpBdXMgenV2ZXJsYWVzc2lnZXIgUXVlbGxlIHdlaXNzIGljaCBkZW4gd2FocmVuIEdydW5kIHVlYmVyIFphcmRveicKU3BpZWxwYXVzZTogWmFyZG96IHdhZXJlIGdlcm5lIEVyem1hZ2llciBnZXdvcmRlbiwgd2FzIGlobSBqZWRvY2ggKHZvZWxsaWcKdW52ZXJzdGFlbmRsaWNoZXJ3ZWlzZSkgdmVyc2FndCB3b3JkZW4gaXN0LiBBbHNvIGhhdCBlciBzaWNoIChuYWNoIGVpbiBwYWFyCmFuZGVyZW4gWndpc2NoZW5mYWVsbGVuIGF1Y2gpIGVudHNjaGxvc3NlbiwgZGllc2UgUGF1c2UgZWluenVsZWdlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBIYXQgWmFyZG96IGluIHNlaW5lbSBCZW11ZWhlbiBpbW1lciB1bnRlcnN0dWV0enQgdW5kCmZyZXV0IHNpY2ggZGllYmlzY2gsIGRhc3MgWmFyZG96IGRpZXNlbiBBcnRpa2VsIGF1ZmdydW5kIGRlciBTcGllbHBhdXNlIE5JQ0hUCmxvZXNjaGVuIGthbm4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVpIFNjaHVocHJvYmxlbWVuOkwgQ2FsbCA1NTUgLSBSWk5FICEhISAoUnluZSwgMTMuIERleiAxOTk1LCAxNDoyMjo0MCk6CkFlaG0uLi4uCgpLaW5uZXJzLCB3ZW5ucyBpbiBkZXIgU2FjaGUgUHVtYS1RdWVzdC96dSBob2hlIGFuZm9yZGVydW5nZW4gYW4gd2VyZGVuZGUKU2VoZXIgZWluIFByb2JsZW0gZGFyaW4gZ2VzZWhlbiB3aXJkLCBkYXNzIG1hbiBhdXMgZGVyIHF1ZXN0Z3J1cHBlIDQgbnVyIGVpbgpxdWVzdCBhdXNsYXNzZW4gZHVlcmZlLCBzbyBiZXJ1aHQgZGllcyBhdWYgYmxpbmRlbSB2ZXJ0cmF1ZW4gZ2VnZW51ZWJlciBkZW0KbmljaHR2b3JoYW5kZW5zZWluIHZvbiBidWdzIDspKQoKV2VyIGVzIGVpbm1hbCBhdXNwcm9iaWVydCwgd2lyZCBmZXN0c3RlbGxlbiwgZGFzcyBtYW4gZHVyY2hhdXMgbWVociBxdWVzdHMKYXVzbGFzc2VuIGthbm4sIGFscyBpbiBkZXIgbGlzdGUgYW5nZWdlYmVuIGlzdC4gSW5zb2Zlcm4gYnJhdWNodCBuaWVtYW5kCmFyY2hpZS9pbmZlcm5vIGxvZXNlbiwgd2VubnMgaWhtIHp1IGhhcnQgb2RlciB6dSB2aWVsIGlzdC4KQWxsZXJkaW5ncyBtdXNzIG1hbiBkYW5uIHNvdmllbGUgcXVlc3RzIGRlciBncnVwcGUgMi8zIG1hY2hlbiwgZGFzcyBtYW4ga2F1bQp3YXMgYW4gemVpdCAvYXVmd2FuZCBnZXNwYXJ0IGhhdC4uLgpPYmVuZHJlaW4gZmluZGUgaWNoIGF1Y2gsIGRhc3MgZGllc2UgYmVpZGVuIHF1ZXN0cyBuaWNodCBtaXQgaW4gZGllCmFuZm9yZGVydW5nZW4genVtIHNlaGVyd2VyZGVuIHJlaW5nZWhvZXJlbiAtIHdlciBkaWVzZSBxdWVzdCBzcGllbHQsIHNvbGx0ZSBlcwpmcmVpd2lsbGlnIHR1biwgdW5kIG5pY2h0LCB3aWUgZXMgdmVybXV0bGljaCBpbSBub3JtYWxmYWxsIGF1c3NpZWh0LCBhbHMgZWluZQpkZXIgbGV0enRlbiBxdWVzdHMgdm9ybSBzZWhlcndlcmRlbi4gZ2VyYWRlIGRhbm4gaXN0IG5hZW1saWNoIGRpZSB0ZW5kZW56IGJlaQpzcGllbGVybiBhbSBncm9lc3N0ZW4sIHNpY2ggbWl0IGVpbmVyIGtvbXBsZXR0bG9lc3VuZyBkdXJjaHp1d3Vyc2NodGVsbiAtIHVuZApkYXMgd2FlcmUgZ2VyYWRlIGJlaSBkaWVzZW4gYmVpZGVuIHF1ZXN0cyBlaW4gcmllc2VudmVybHVzdCBmdWVyIGRpZSBzcGllbGVyCih1bmQgc2FndCBudW4gbmljaHQ6IHNlbGJzdCBzY2h1bGQhIGRpZSBtZWlzdGVuIHNwaWVsZXIgd2lzc2VuIG5hZW1saWNoIGdhcgpuY2lodCwgd2FzIGlobmVuIHZlcmxvcmVuZ2VodCwgd2VubiBzaWUgZWluIHF1ZXN0IG1pdCBlaW5lciBLTCBzcGllbGVuLCB1bmQKd2VubiBtYW5zIGRhbm4gbWVya3QsIGlzdHMgZWggenUgc3BhZXQgLSB2ZXJnZXNzdCBuaWNodCwgZGFzIHNwaWVsZXIgYXVmIGlocmVtCndlZyB6dW0gc2VoZXJ3ZXJkZW4gaXJnZW5kd2FubiBhdWNoIG1hbCBlaW4gemllbCB2b3IgYXVnZW4gaGFiZW4gbW9lY2h0ZW4sIHVuZApkYXMgZGllc2VzIHppZWwgYmVpIDE2NjAgQXAgaW4gc2VociBzZWhyIHdlaXRlciBmZXJuZSBsaWVndC4uLiBtZWluIGdvdHQsIHdlbm4KaWNoIGRyYW4gZGVua2UsIGRhbWFscyBkaWUgMTA5NCBhcCwgZGllIGljaCBicmF1Y2h0ZSwgd2FzIGRhcyBmdWVyIGVpbiBrbG90egp3YXIsIHVuZCBqZXR6dCAxNjYwLi4gZGEga2FubiBtYW4gcnVoaWcgbWFsIGJpc2NoZW4gcnVudGVybGFzc2VuLCB1bmQgd2VubiBkaWUKc3BpZWxlciBkYW5uIGFscyBzZWhlciB3ZWl0ZXJxdWVzdGVuLCBkYW5uIHR1biBzaWUgZXMgbWl0IG1laHIgc3Bhc3MgdW5kLCB3ZWlsCmZyZWl3aWxsaWcsIG1pdCBzaWNoZXJoZWl0IGF1Y2ggb2huZSBLTCkuCgpSeW5lLiBQaGlsb3NvcGhpZXJ0IHVlYmVyIFNjaHVwcm9ibGVtZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWxic3Rsb2VzY2h1bmcuIChBZ25ldGhhLCAxMy4gRGV6IDE5OTUsIDE0OjQ5OjQ2KToKIyEgcm49THVnIHJ0PTgxODI5NzUzNQpTZWxic3Rsb2VzY2h1bmcuIGljaCBzcGVpZWxlIGF1Y2ggc2Nob24gbWl0IGRlbSBnZWRhbmtlbi4gTGFzcyB1bmQgZWluZW4Kcml0dWVsbGVuIExpZWJlcy1Eb3BwZWwtU2VsYnN0bW9yZCBiZWdlaGVuLCBsdWchCgpBZ25ldGhhCgpubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU2Nod2VyZXIgV2VnIChKZXJyaWNvLCAxMy4gRGV6IDE5OTUsIDE1OjE4OjQzKToKIyEgcm49WnVlcmlsZXUgcnQ9ODE4ODE4OTQzCkhtbSwgd2VubiBBcmNoaWUgZWluIEx2bCAyMCBRdWVzdCBpc3QsIHdhcnVtIGdlaG9lcnQgZXMgZGFubiBuaWNodCB6dSBkZW4Kb3B0aW9uYWxlbiBRdWVzdHMsIHNvbmRlcm4genUgZWluZXIgR3J1cHBlIHZvbiBRdWVzdHMsIGF1cyBkZXIgbWFuIGVpbmUgbWFjaGVuCm11c3MsIHVtIFNlaGVyIHp1IHdlcmRlbi4KCkplcnJpY28sIGxpZXN0IGhldXRlIGF1Y2ggbWFsIGRhcyBLbGVpbmdlZHJ1Y2t0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNjaHdlcmVyIFdlZyAoQ3VjaHVsbGluLCAxMy4gRGV6IDE5OTUsIDE3OjIyOjIxKToKIyEgcm49SmVycmljbyBydD04MTg4NjQzMjMKCkRlciBMZXZlbCBlaW5lciBRdWVzdCBoYXQgTklDSFRTLCBhYmVyIGF1Y2ggZ2FyIG5peCBtaXQgZGVtIExldmVsIGRlcwpTcGllbGVycyB6dSB0dW4uIFNvbGx0ZSBlciB6dW1pbmRlc3QgbmljaHQsIGhhYiBpY2ggbWlyIG1hbCB2b24gZWluZW0gZGVyCmhvZWhlcmVuIE1hZ2llciBlcmtsYWVyZW4gbGFzc2VuLgoKQXVmIGRpZSBRdWVzdHN0dWZlIGhhdCB6LkIuIEVpbmZsdXNzOgogICAgICAgICAgLSBEaWUgR3JvZXNzZSBkZXMgenUgZXJrdW5kZW5kZW4gR2ViaWV0ZXMKICAgICAgICAgIC0gRGllIEdlZmFlaHJsaWNoa2VpdCBkZXIgdW52ZXJtZWlkYmFyZW4gTW9uc3RlcgogICAgICAgICAgLSBEaWUgU2Nod2llcmlna2VpdCB1bmQgZGllIEFuemFobCBkZXIgUmFldHNlbAogICAgICAgICAgLSBEaWUgYWxsZ2VtZWluIGJlbm9ldGlndGUgRXJmYWhydW5nLCB1bSBtaXQgZGVyIFF1ZXN0IGVpbmZhY2gKICAgICAgICAgICAgb2huZSBhYmdydW5kdGllZmUgUHJvYmxlbWUga2xhcnp1a29tbWVuCiAgICAgICAgICAtIERpZSAnU2Nod2llcmlna2VpdGVuJywgZGllIGF1ZiBlaW5lbiB6dWtvbW1lbiwgd2VubiBtYW4gbWFsCiAgICAgICAgICAgICpuaWNodCogZGVuIDEwMCUgcmljaHRpZ2VuIFdlZyBlaW5zY2hsYWVndAoKV2VubiBlaW4gTWFnaWVyIGR1cmNoIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gS25pZmYgKCJEdSBiaXN0IHp1IHNjaHdhY2guLi4iCm9kZXIgIkRpciBmZWhsdCBub2NoIGRpZSBub2V0aWdlIEVyZmFocnVuZy4uLiIpIHZlcmhpbmRlcnQsIGRhc3MgZWluIFNwaWVsZXIKaW4gZWluZSBRdWVzdCBrYW5uLCBzbyBpc3QgZGllcyBpbiBkZXIgUmVnZWwgenVtIFNjaHV0emUgZGVyIFNwaWVsZXIgKGF1Y2gKd2VubiBpY2ggYWZ1ZXIgdWViZXJoYXVwdCBrZWluIFZlcnN0YWVuZG5pcyBoYWJlKS4gTmFqYSwgZGFzcyBzb2xjaGUKTmV0dGlna2VpdGVuIG1pdHRlbiBpbiBuZXIgUXVlc3QgYXVmdHJldGVuLCBpc3QgbmF0dWVybGljaCBuaWNodCBuZXR0IC0gbWFuCmRlbmtlIG1hbCBhbiBOb3R1bmcuCgpTZW5mLApDdWNodWxsaW4uLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaYXJkb3ouLi4gKE11cGZlbCwgMTQuIERleiAxOTk1LCAwMjowMjozOCk6CiMhIHJuPUdyaW1tYm9ybiBydD04MTg4NDUzMTQKYWJlciBlciBrYW5uIGRpciBSTCBlaW5zIGF1ZnMgbWF1bCBnZWJlbi4uLgoKLW11cGZlbC0KbWFuIGVudHNjaHVsZGlnZSBkZW4gcnVlZGVuIHRvbiwgYWJlciBkYXMgbXVzc3RlIGljaCBqZXR6dCBtYWwgc2FnZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbGJzdGxvZXNjaHVuZy4gKFd1ciwgMTQuIERleiAxOTk1LCAwMjoyNDoxNSk6CiMhIHJuPUFnbmV0aGEgcnQ9ODE4ODYyNTg2Ck9wcywgc293YXMgd3VlcmRlc3QgRHUgbWFjaGVuIEFnbmV0aGE/ClR1IGVzIG5pY2h0IQoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNUEEgKFJvZXN0aSwgMTQuIERleiAxOTk1LCAxMToxMjoyOSk6CiMhIHJuPUplcnJpY28gcnQ9ODE4NzE4NTkzCnVuZCBkZXIgQXJ0aWtlbCBhdWYgZGVuIG1hbm4gYmV6dWcgbmltbXQgbXVlc3N0ZSBkYW5uIGF1Y2ggaW4gZGVyCk5ldS5TY2htYXJybi1SdWJyaWsuZGUgc3RlaGVuOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCllhc21pbmEgaXN0IEtyYW5rIChPcmt0b2V0ZXIsIDE0LiBEZXogMTk5NSwgMTE6NDk6NDYpOgpXaWUgZGVyIFRpdGVsIHNjaG9uIHNhZ3QsIGlzdCBZYXNtaW5hIGF1Y2ggZWluIE9wZmVyIGRlciBHcmlwcGUgZ2V3b3JkZW4uClNpZSBoYXQgbWljaCBnZWJldGVuLCBlcyBhbGxlbiwgZGllIGVzIEludGVyZXNzaWVydCBhdWYgZGllc2VtIFdlZ2UKa3VuZHp1dHVuLCB3YXMgaWNoIGhpZXJtaXQgcGZsaWNodHNjaHVsZGlnc3QgZ2V0YW4gaGFiZW4gbW9lY2h0ZS4KT3JrVCBpLkEuIFlhc21pbmEKUFMgR3V0ZSBCZXNzZXJ1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2llZGVyIGRhcyBsaWJlIGdlbGQgLi4uIChNb3NoLCAxNC4gRGV6IDE5OTUsIDEyOjAxOjUzKToKSGFsbG8gaWhyIEdlbGRob3J0ZXIgLi4uCiBhbHNvIG1hbCB3YXMgenUgZGVtIHdpcnRzY2hhZnRzc3lzdGVtOiBkaWUgZ3V0ZW4gc3BpZWxlciBob3J0ZW4gZGFzCmdlbGQsIHdlaWwgc2llIGVpbmZhY2ggYmVzc2VyZSBtb25zdGVyIHBsYWV0dGVuIGtvZW5uZW4sIGRlcmVuCkF1c3J1ZXN0dW5nIG1laHIgZ2VsZCBicmluZ3QuIHNjaHdhY2hlIHNwaWVsZXIgdW5kL29kZXIgYW5mYWVuZ2VyIGtyaWVnZW4KZGFubiBrZWluZSBnZWxkIG1laHIgLi4uCm51ciBzbyBlaW4gZ2VkYW5rZQpNb3NoIChtdXNzIHNjaG5lbGwgc2NobHVzcyBtYWNoZW4sIGdyYWQgamV0enQgbXVzcyBkZXIgZGVhZW1vbiBhbmZhbmdlbiB6dQp0b2JlbiAuLiAobWlzc3QpKSEgOj4KLi4KdwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHdlcmVyIFdlZyAoUm9lc3RpLCAxNC4gRGV6IDE5OTUsIDEyOjA4OjUxKToKIyEgcm49UmltdXMgcnQ9ODE4Nzc3MDM5CkFsc28gaWNoIGJpbiBkYWdlZ2VuLi4uLgpEYSBrb21tZW4gZGFubiBkb2NoIG51ciBzbyBzYWNoZW4gYmVpIHJhdXMgd2llLi4uCmhhbGJlcyBKYWhyIG5pY2h0IGltIE11ZC4uLihEaXBsIGFyYmVpdCBvZGVyIHdhc2F1Y2hpbW1lcgp1bmQgZGFubiBpc3QgbWFubiBrZWluIHNlaGVyIG1laHIuLi4uCndlciBqZXR6dCB1bmQgaGV1dGUgU2VoZXIgaXN0IHNvbGwgYXVjaCBzZWhlciBibGVpYmVuLi4uLgpEaWUgaGFiZW4gZXMgamEgenUgYW5mYW5nIGF1Y2ggc2Nod2VyZXIgZ2VoYWJ0Li4uZGEga29ubnRlbiBqYSBhdWNoIG5vY2gKbmljaHQgc28gdmllbGUgdGlwcyBnZWdlYmVuIHdlcmRlbi4uLgoKUm9lc3RpIHRyYXVlcnQgdW0gc2VpbmVuIExpZWJsaW5nc21hZ2llciBaYXJkb3ouLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFphcmRveiEhISAoUm9lc3RpLCAxNC4gRGV6IDE5OTUsIDEyOjE0OjQzKToKIyEgcm49Q3JhaWcgcnQ9ODE4NzgyMDk3CkFsc28gZWNodC4uLi5XZXIgWmFyZG96IGJlZHJhZW5ndCBkYXMgZXIgZXR3YXMgbmljaHQgc2NobmVsbCBnZW51ZyBtYWNoZW4Kd3VlcmRlIGhhdHQgZWNodCBuaWNodCBhbGxlIFN0ZWluZSBhdWYgZGVyIHNjaGxldWRlciB1bmQgc29sbCBzaWNoIGRvY2ggYml0dGUKbWFsIHVlYmVybGVnZW4gd2FzIGVzIGZ1ZXIgZWluZSBBcmJlaXQgZXMgd2FlcmUgZXMgYWxsZW4gcmVjaHRtYWNoZW4genUKd29sbGVuLi4uCgpXb2xsdCBpaHIgZWluIEhlZXIgdm9uIGxhbmd3ZWlsZXJuIHVuZCBlaW4gbXVkZCBpbiBkZW0gZXMgbnVyIG5vY2gKb3JrcyxlbGZlbix6d2VyZ2UgdW5kIGFtZWlzZW4gYWxzIE1vbnN0ZXIgZ2lidCxpbiBkZW0gYWxzbyBhbGxlIEtyZWF0aXZpdGFldApmbG9ldGVuIGdlaHQ/CkRhbm4gaGFidCBpaHIgamEgbWl0IFphcmRveiBzZWluZXIgU3BpZWxwYXVzZSBzY2hvbiBtYWwgZWluZW4gR3Jvc3NlbiBTaWVnCmVycnVuZ2VuLi4uLgpaYXJkb3ogaXN0IG1laW4gTGllYmxpbnNtYWdpZXIuLi4KKEljaCBob2ZmZSBpY2ggaGFiIGRhcyBqZXR6dCBkZXV0bGljaCBnZW51ZyBnZXNhZ3QpClVuZCB3ZXIgd2FzIGdlZ2VuIGlobiBoYXQgaGF0IGF1Y2ggd2FzIGdlZ2VuIG1pY2guLi4uCkFsc28gaGFlbmd0IG1pY2ggaG9laGVyLi4uCgpNYWlscyBhbiBSb2VzdGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIHdpZWRlciBkYXMgbGliZSBnZWxkIC4uLiAoQWNyaW1vbiwgMTQuIERleiAxOTk1LCAxMjo1MDozMik6CiMhIHJuPU1vc2ggcnQ9ODE4OTM4OTEzCkRpZSBHZWxkc2l0dWF0aW9uIHdpcmQgc29sYW5nZSBzY2hsaW1tIGJsZWliZW4sIHdpZSBzaWNoIHZpZWxlIExldXRlCnVua2FtZXJhZHNjaGFmdGxpY2ggdmVyaGFsdGVuLgpJY2ggZmluZGUgZGFzIG5ldWUgV2lydHNjaGFmdHNzeXN0ZW0gc2VociBsZWhycmVpY2ggdW5kIG5vdHdlbmRpZy4KSG9mZmVudGxpY2ggZGF1ZXJ0IGVzIG5pY2h0IGFsbHp1IGxhbmdlLCBiaXMgZGllIExldXRlIGxlcm5lbiwgZGFzeiBFZ29pc211cwphbGxlbiBzY2hhZGV0LgoKSG9mZmVudGxpY2ggZ2lidCBlcyBiYWxkIHdpZWRlciBLYW1lcmFkc2NoYWZ0bGljaGtlaXQgc3RhdHQgRWdvaXNtdXMgaW0gTUcsCmRhcyBqZXR6aWdlIFdpcnRzY2hhZnRzc3lzdGVtIGlzdCBkaWUgYmVzdGUgR2VsZWdlbmhlaXQsIHVtIGRhcyB6dSBlcmxlcm5lbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlciBpc3Qgc2VociBmcm9oIHVlYmVyIGRhcyBuZXVlIFdpcnRzY2hhZnRzc3lzdGVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2Nod2VyZXIgV2VnIChSb2VzdGksIDE1LiBEZXogMTk5NSwgMTA6MjA6MzgpOgojISBybj1GZWxhZ3VuZCBydD04MTg3OTEyNTEKQWxzbyBmYWxzIGljaCBuYWVjaHN0ZSBXb2NoZSBEb25uZXJzdGFnIGRhIGJpbihBbnNvbnN0ZW4gYmluIGljaCBkdXJjaApXZWlobmFjaHRzZWlua2FldWZlIHZlcmhpbmRlcnQpIGhhZXR0ZSBpY2ggOCBTdCBaZWl0Li4uQW5zb25zdGVuIGhhbHQgZWluCmJlbGllYmlnZXIgRG9ubmVyc3RhZyAoTWFuY2htYWwgYXVjaCBGcmVpdGFnKSBpbSBuYWVjaHN0ZW4gU2VtZXN0ZXI6KQoKUm9lc3RpIHdpbGwgYXVjaCBBcmNoaS1RdWVzdCBtYWNoZW4uLi5XZWlzIG5pY2h0IHdpZSB1bmQgd28gYWJlciBkYXMgbWFjaHQKbml4Li4uOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBZYXNtaW5hIGlzdCBLcmFuayAoUm9lc3RpLCAxNS4gRGV6IDE5OTUsIDEwOjM4OjExKToKIyEgcm49T3JrdG9ldGVyIHJ0PTgxODkzODE4NgpHdXRlIEJlc3NlcnVuZyBZYXNtaW5hLi4uCgpSb2VzdGkgZ2VodHMgYXVjaCBuaWNodCBndXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFphcmRveiEhISAoUHVtYSwgMTUuIERleiAxOTk1LCAxMjo1NDoyMSk6CiMhIHJuPUtyZXRlayBydD04MTkwMjY3OTIKWnUgZGVtIGdhbnplbiAnU2ljaCBzZWxiZXIgc3BlcnJlbi4nLCAnTmllIHdpZWRlciBrb21tZW4gd29sbGVuLicgdW5kIGFuZGVyZW4KQWt0aW9uZW4gbW9lY2h0ZSBpY2ggZWluZW4gU2F0eiBlaW5lcyBHb3R0ZXMgYXVzIGVpbmVyIHVyYWx0ZW4gTWFnaWVyLUtvbmYuCnppdGllcmVuOiAiRWluIFNwaWVsZXIgaGF0IG51ciBlaW4gUmVjaHQ6IHNpY2ggYXVzenVsb2dnZW4sIHdhbm4gaW1tZXIgZXIKd2lsbC4iIChzaW5uZ2VtYWVzcykgSWNoIGZpbmRlLCBkYXMgZ2lsdCBhdWNoIGZ1ZXIgTWFnaWVyLiBXZW5uIGplbWFuZCBlaW5lClBhdXNlIGJyYXVjaHQsIGJyYXVjaHQgZXIgZWluZSBQYXVzZSAoaWNoIGF1Y2gpW0QgbWFuY2htYWwpLCBhYmVyIHNlaW5lbgpBYmdhbmcgbWl0IHNvIGVpbmVtIGdyb3NzZW4gVGFtVGFtIHp1IGluc3plbmllcmVuIGZpbmRlIGljaCBwZXJzb2VubGljaAp3aWRlci0KbGljaCwgZ2VuYXVzbyB3aWUgZGllIGdhbnplbiAnS29tbS1kb2NoLXp1cnVlY2suJywgJ1dpciBicmF1Y2hlbiBESWNoLicgb2RlcgonV2lyIGxpZWJlbiBEaWNoIGRvY2guJy1Qb3N0cyBkYW5hY2guCldhcnVtIGthbm4gbWFuIG5pY2h0LCB3aWUgZXJ3YWNoc2VuZSBNZW5zY2hlbiwgZGFydWViZXIgcXVhdHNjaGVuLCB3YXMgc2NoaWVmCmhhZW5ndCB1bmQgZGllIFNhY2hlIGtvcnJlZ2llcmVuPwoKUHVtYSEKKGhhdCBhdWNoIG1hbCB6d2VpZWluaGFsYiBNb25hdGUgUGF1c2UgZ2VtYWNodCwgYWxzIGlobSBkZXIgZ2FuemUgTGFkZW4gaGllcgp6dW0gSGFsc2UgaGVyYXVzaGluZykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaYXJkb3ohISEgKEtyZXRlaywgMTUuIERleiAxOTk1LCAxMzozNjo0MSk6CiMhIHJuPVB1bWEgcnQ9ODE5MDI4NDYxCkFiZXIgc2NoYWRlIGZpbmRlbiBkYXJmIGljaHMgZG9jaCwgb2RlciwgUHVtdT8KCktyZXRlawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWmFyZG96ISEhIChSYWZmaSwgMTUuIERleiAxOTk1LCAxNTo1Mjo0OCk6CiMhIHJuPVB1bWEgcnQ9ODE5MDI4NDYxCgpJY2gga2VubiBkYXMgWml0YXQgendhciBuaWNodCwgYWJlciBpY2ggaGFiIG5pciBhdWNoIHNjaG9uIHVlYmVybGVndCBvYiBpY2gKc293YXMgd2llIFB1bWEgc2NocmVpYmVuIHNvbGwgLSBadXN0aW1tdW5nIC0gV2VyIG5pY2h0IG1laHIgbWFnLCBtYWcgaGF0Cm5pY2h0LiBEYXMgbXVzcyBqZWRlZXIgc2VsYnN0IGVudHNjaGVpZGVuLgoKR3J1c3MKSC4KKEFlcmdlcnQgc2ljaCBvZnQgZ2VudWcgdWViZXIgc2VpbmUgZWlnZW5lbiB2b3JzY2huZWxsZW4gRW50c2NoZWlkdW5nZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaYXJkb3ohISEgKFJ1ZGlyYXR0ZXIsIDE1LiBEZXogMTk5NSwgMTk6MDQ6NTIpOgojISBybj1QdW1hIHJ0PTgxOTAyODQ2MQpQVU1BISBXSVIgTElFQkVOIERJQ0ghClJ1ZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFphcmRveiEhISAoUHVtYSwgMTUuIERleiAxOTk1LCAxOToxNjozOCk6CiMhIHJuPVJ1ZGlyYXR0ZXIgcnQ9ODE5MDUwNjkyCj4gUFVNQSEgV0lSIExJRUJFTiBESUNIIQoKU29sbCBkYXMgamV0enQgaGVpc3NlbiwgZGFzcyBpY2ggYXVjaCBnZWhlbiBzb2xsPyA6LSkKClB1bWEhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTVBBIChDYXJhZGhyYXMsIDE1LiBEZXogMTk5NSwgMTk6NTc6MzkpOgojISBybj1KZXJyaWNvIHJ0PTgxODcxODU5MwpPZGVyIHdpZSB3YWVycyBtaXQgbmVtIG1yZXBseT8gTmVpbiwga2VpbiBNYWdpZXItUmVwbHksIHNvbmRlcm4gZWluCk1haWwtUmVwbHksIGRhcyBhdXRvbWF0aXNjaCBudXIgZWluZSBtdWRtYWlsIGFuIGRlbiBWZXJmYXNzZXIgc2NoaWNrdD8KT2RlciBnaWJ0cyBkYXMgc2Nob24/IEljaCBnbGF1YiBqYSBuaWNodC4gKmdydWViZWwqCgogICAgIHRzY2hvZSAgICAgICBDYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNUEEgKExvY28sIDE2LiBEZXogMTk5NSwgMTU6MjM6MzMpOgojISBybj1DYXJhZGhyYXMgcnQ9ODE5MDUzODU5CkhtbW0uLi4gaGFsdGUgaWNoIGVpZ2VudGxpY2ggbmljaHQgZnVlciBub3R3ZW5kaWcuIFVuZCB3dWVyZGUgamEgYXVjaCBudXIgYmVpCk1hZ2llcm4gdW5kIFNlaGVybiBmdW5rdGlvbmllcmVuLCBub3JtYWxlIFNwaWVsZXIgbXVlc3NlbiB6dW0gbWFpbCBzY2hyZWliZW4KaW4gZGllIFBvc3QgZ2VoZW4uCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2Nod2VyZXIgV2VnIChTbnVnZ2xlLCAxNy4gRGV6IDE5OTUsIDIxOjEzOjUyKToKIyEgcm49RmVsYWd1bmQgcnQ9ODE4NzkxMjUxCkljaCBoYWIgQXJjaGllIGphIG5vY2ggbmljaHQgZ2VtYWNodC4gQWJlciBvaG5lIExvZXN1bmcgd2lyZHMgc293ZWl0IGljaAp3ZWlzcyBpdCBkZW4gOCBTdHVuZGVuIGFyZyBrbmFwcCwgb2Rlcj8gSWNoIHJlY2huZSBlaGVyIG1pdCAyMCB3ZW5uIGljaCBzaWUKaXJnZW5kd3FhbiBtYWwgbWFjaGUsLi4uCgpOYWphLCB1bmQgUHVtYXMgUXVlc3QgaXN0IGRvY2ggZWlnZW50bGljaCBzZWhyIG5ldHQuIFp1bWluZGVzdCBrYW5uIGljaCBuaWNodApmaW5kZW4sIHdvIGRhcyBQcm9ibGVtIGxpZWdlbiBzb2xsLiAoT2J3b2hsIHp1Z2VnZWJlbmVybWFzc2VuIHdvaGwgZWluIHBhYXIKQnVnc2F1c2dlYmF1dCB3dXJkZW4uLikKQWJlciBpY2ggYmluIGphIG5vY2ggbmljaHQgZ2FueiBmZXJ0aWcgZGFtaXQuIFdhcnRlbiB3aXIgbWFsIGFiIDotKQoKWVRTbnVnZ2xlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIFByZWlzZSBmdWVyIHZlcm9lZmZlbnRsaWNodGUgQXJ0aWtlbCAoTXlzdGl4LCAxOC4gRGV6IDE5OTUsIDAzOjU2OjQ3KToKU0VORiBPTiEKT2ggamEsIGxhc3N0IHVucyBQcmVpc2UgZnVlciBkaWUgdmVyb2VmZmVudGxpY2h1bmcgdm9uIGFydGlrZWxuIGVpbmZ1ZWhyZW4uLi4KQW0gYmVzdGVuIG1hY2hlbiB3aXIgZGFubiBub2NoIG5ldSBSdWJyaWtlbiBhdWY6CkRpZSBSdWJyaWs6IDI1MDAwCiAgICAgICAgICAgIDIwMDAwCiAgICAgICAgICAgIDEwMDAwCiAgICAgICAgICAgICA1MDAwCiAgICAgICAgICAgICAgICAxIFNjaG1hcnJuCgpKdXN0IGFuIGlkZWEuLi4KTXlzdGl4CgpPRkYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFphcmRveiEhISAoU2NocnVtcGZpLCAxOC4gRGV6IDE5OTUsIDA1OjIwOjI1KToKIyEgcm49UnVkaXJhdHRlciBydD04MTkwNTA2OTIKSm8gaWNoIGF1Y2gsIHVuZCBuaWNodCBudXIgd2VpbCBlciBlaW5lbiBndXRlbiBNdXNpa2dlc2NobWFjayBoYXQgOy0pClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUgKEp1cnJ5LCAxOC4gRGV6IDE5OTUsIDA4OjI1OjM4KToKSk8gaWNoIGhhc3NlIGRhcyBhdWNoIGltbWVyIDEwMCBzZWl0ZW4gbGVzZW4gZnVlciBuaWNodHMgISAob2J3b2hsIGRpZXMgYXVjaApudXIgbmUgenVzdGltbXVuZyBpc3QgKSA6KTopOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFDSFRVTkcgVkVSU0NISUVCVU5HISAoTHVnLCAxOC4gRGV6IDE5OTUsIDE2OjEwOjE0KToKSGFsbG8sCgpkdXJjaCBibG9lZGUgUkwgVW1zdGFlbmRlIGthbm4gaWNoIE1vcmdlbiBuaWNodCB2b3IgMjIuMDAgdWhyICh1bmQgdmllbGxlaWNodApuY2ggc3BhZXRlcikgenUgbWVpbmVyIGVpZ2VtZW4gSG9jaHplaXQgZXJzY2hlaW5lbi4gaWNoIG11c3MgZXJzdCBtaXQgbWFyaXRhCnVlYnIgZWluZW4gbmV1ZW4gVGVybWluIHNwcmVjaGVuLCBzb25zdCBicmluZ3Qgc2llIG1pY2ggdW0uCkFsc28gIldhdGNoIHRoaXMgU3BhY2UiCkJlZGF1ZXJuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvbGxlcyBGZWRlcnZpZWggISEhIChCZXJuaGFyZCwgMTguIERleiAxOTk1LCAxOTowOToyNyk6CkhleWEgd2VydGUgTWl0c3RyZWl0ZXIhCgpOZXVsaWNoIGltIEVsZmVuZG9yZjoKCkRlciBQYXBhZ2VpIG5pbW10IDE2OSBNdWVuemVuLgpEZXIgUGFwYWdlaSBuaW1tdCBkZW4gU2NoaWxkLgpEZXIgUGFwYWdlaSBuaW1tdCBkZW4gUGFuemVyLgpEZXIgUGFwYWdlaSBuaW1tdCBkYXMgTGFuZ3NjaHdlcnQuCkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuCltDaGFvczpDcmFpZ10gdmVyYmFubmUKW01vZXJkZXI6R2Vpc3QgZWluZXMgRHVua2VsZGFlbW9uc10gT2ggd2FlciBpY2ggZG9jaCBlaW4gU3BpZWxlciwgZGFubgpbTW9lcmRlcjpHZWlzdCBlaW5lcyBEdW5rZWxkYWVtb25zXSBkdWVyZnRlIG1pY2ggU2xhc2ggbmljaHQgbWVociB0b2V0ZW4hCkRlciBQYXBhZ2VpIHp1ZWNrdCBkYXMgTGFuZ3NjaHdlcnQuCltDaGFvczpFbHZuaWtdIG5pY2h0IHdlbm4gZXIgYXVmIGVpbmVuIGdlaGV0enQgd3VyZGUgISEhCkxQOiAxNDMgTVA6IDE2NSBWb3JzaWNodDogMTAwIEZsdWNodHJpY2h0dW5nOiAibyIgU3BlbGw6IEphCkRlciBQYXBhZ2VpIHNhZ3Q6IFNlaWQgZ2VncnVlc3N0IQpbTW9lcmRlcjpHZWlzdCBlaW5lcyBTdGF1YmRhZW1vbnNdIFdhcywgUm9hZHJ1bm5lciBoYXQgbWlyIFdJRSBWSUVMRQpbTW9lcmRlcjpHZWlzdCBlaW5lcyBTdGF1YmRhZW1vbnNdIExlYmVuc3B1bmt0ZSBhYmdlem9nZW4/Pz8KRGVyIFBhcGFnZWkgc2FndDogTm9yYSEgTm9yYSEKdW50IHBhcGFnZWkKRGVyIFBhcGFnZWkgaGF0IHNlaHIgZmFyYmVuZnJvaGUsIGxhbmdlIEZlZGVybiB1bmQgZGllIHZlcmJsdWVmZmVuZGUKRmFlaGlna2VpdCBpbiBlbGZpc2NoZXIgU3ByYWNoZSB6dSBzcHJlY2hlbi4KRXIgaXN0IGFic29sdXQgZml0LgpFciB0cmFlZ3QgYmVpIHNpY2g6CkVpbiBlbGZpc2NoZXMgTGFuZ3NjaHdlcnQgKGdlenVlY2t0KS4KRWluIEVsZmVucGFuemVyIChhbmdlem9nZW4pLgpFaW4gZ3Jvc3NlciBTY2hpbGQgKGFuZ2V6b2dlbikuCjE2OSBNdWVuemVuLgoKQWxzbyBhdWZnZXBhc3N0LCBzb25zdCBrb21tdCBpaHIgbm9jaCB6dSBMYXJzLi4uKmdyaW5zKi4uLgoKQmVybmhhcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpZbyAhIChPZXR0aSwgMTkuIERleiAxOTk1LCAxNDo1OTowNCk6CkVpbiBUYWcgaW0gbGViZW4gZGVzIGdlcGxhZ3RlbiBNYWdpZXJzIE1yLiBMLiBMLiBPRS4gIQoKRXMgZmluZyBhbGxlcyBnYW56IGhhcm1sb3MgYW4uLi4KV2llIGplZGVuIFRhZwpncnVlYmVyOj50ZWxuZXQgbXVkLnVuaS1tdWVuc3Rlci5kZSAgICAgIChKYSwgaWNoIGJlbnV0emUga2VpbiB0ZikKCldpZSBoZWlzc3QgRHU6IE9ldHRpClBhc3N3b3JkOiAqSGEgYmluIGphIG5pY2h0IGRvb2YqIDstKQoKU2Nob2VuIGRhc3MgRHUgd2llZGVyIGRhIGJpc3QuCgpUamEgZGFzIGRhY2h0ZSBpY2ggQW5mYW5ncyBhdWNoLCBkb2NoIGRhbm4uLi4KCltBbGxnZW1laW46S2lmZmVyXSBibHViYiBibGEgZHVtbXNjaHdhZXR6CkRvZWRlbCBydWZ0OiBJY2ggYmluIGhpZXIsIHNlaWQgaWhyIGF1Y2ggZGEuCltBbGxnZW1laW46RWx5YXM6XSByaGFiYXJiZXIgcmhhYmFyYmVyIHJlZCBzY2hlaXNzZQpEZXIgbmFlY2hzdGUgSWRpb3QgcnVmdDogPGJlbGllYmlnZXIgTmFtZSBlaW5lcyBhbmRlcmVuIERlcHBlbj4gYmlzdCBEdSBkYQo/Pz8KW0FsbGdlbWVpbjpJcmdlbmRlaW4gbmV3YmllXSBXbyBnZWh0cyB2b20gUm90bGljaHR2aWVydGVsIHp1ciBBaWRzYmVyYXR1bmcgPz8KVW5kIHp1ciBBYndlY2hzbHVuZyBydWZ0IGVpbiBuZXVlciBIaXJuaTogSmEgaWNoIGJpbiBoaWVyLgpVbmQgZGVyIG5hZWNoc3RlIHJ1ZnQ6IFNDSEVJU1NFIEFSU0NITE9DSCBSVVRTQ0hNSVJET0NIIE1BQ0hNSUNITEFORwpVTkRUQVVTRU5EQU5ERVJFRkFFS0FMQVVTRFJVRUNLRSAhIQpadXIgQWJ3ZWNoc2x1bmcgIGtvbW10IGF1ZjoKW0FsbGdlbWVpbjpCbG9uZGllXSBXYXMgaXN0IGJlc3NlciBlaW4gVmlicmF0b3Igb2RlciBlaW4gTWFzc2FnZXN0YWIgPz8KCkhpZXIgc2llaHQgc2ljaCBkZXIgQXV0b3IgdmVyYW5sYXNzdCB1bmF1ZmdlZm9yZGVydCBlaW56dXNjaHJlaXRlbiBhbHNvOgoKW0FsbGdlbWVpbjpPZXR0aV0gRnJhZ2VuIG5hY2ggZGVtIFNwaWVsZ2VzY2hlaGVuIHNvbGx0ZW4gIGF1ZiAtK2IgKEFiZW50ZXVlcikKZ2VzdGVsbHQKW0FsbGdlbWVpbjpPZXR0aV0gdW5kIGF1Y2ggYmVhbnR3b3J0ZXQgd2VyZGVuLgoKVW5kIGRlciBnZW5laWd0ZSBMZXNlciBhaG50IHNpY2hlciB3YXMgYWxzIG5hZWNoc3RlcyBwYXNzaWVydDoKCltBbGxnZW1laW46VG90YWx2ZXJibG9lZGV0ZXJ3YXN3ZWlzc2ljaF0gV2llIGJla29tbWUgaWNoIHZvbiBkZXIgSHlkcmEgZWluCkhvY2hnbGFuem1hZ2F6aW4gPz8/CgpOaWNodCBkYXMgamV0enQgamVtYW5kIGRlbmt0LCBkYXNzIHd1ZXJkZSBudXIgZWlubWFsIHBhc3NpZXJlbiwgbmVpbiBhdWNoCm5pY2h0IHp3ZWltYWwsIG5laW4KZGF1ZXJuZCwgaWNoIHdlaXNzIG5pY2h0IHdhcnVtIGljaCBkYXMgYWxsZXMgc2NocmVpYmUsIGFiZXIgaWNoIG11c3MgZXMgbWlyCnZvbiBkZXIKU2VlbGUgcmVkZW4uCgoKVHNjaG9lICEKCk9ldHRsICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBmYXNzZSB6dXNhbW1lbjogRGFzIFRhZ2VzZ2VzY2hlaGVuIGRlciBNUEEgaW4gZGVuIGxldHp0ZW4gZHJlaSBNb25hdGVuIG9kZXIgc286IChHdXlicnVzaCwgMTkuIERleiAxOTk1LCAxNjoxNzo0OSk6CmhvY2h6ZWl0Li52ZXJzY2hvYmVuLi5ibGFibGEuLmljaCBiaW4gd2ljaHRpZy4uLmljaCBhYmVyIGF1Y2guLmljaGJpbgp3aWNodGlnZXIuLi5qZXR6dCBrb21tIGljaC4uYXJnaCEgaWNoIGJpbiBnZXN0b3JiZW4uIGRhZnVlcmJlemFobHQgaWhyISAuLi5pY2gKbG9lc2NoIG1pY2guLi5pY2ggYXVjaC4ua29tbXdpZWRlci4uQklUVEVCSVRURS4uLmlzdCBkb2NoIGVnYWwgdW0gZGVuLi4uYWNoCmRhcyBmaW5kIGljaCBndXQuLmpvIGljaCBhdWNoLi5pY2gga2FubiBzb2xjaGUgYXJ0aWtlbCBuaWNodCBsZWlkZW4uLnVuZCBpY2gKZXJzdC4uLmxvZXNjaGVuIHdpciBzaWUuLi5rbGFzc2UgaWRlZS4uLm1hY2ggZGFzIE1vbnN0ZXIgc3RhZXJrZXIuLm5lCnNjaHdhZWNoZXIuLi5LYXJhdGVrYXMgc2luZCBzdGFlcmtlci4uLlF1YXJrIENoYW90ZW4uLi5BYmVudHVlcmVyIHNpbmQgYXJtZQpXdWVybWNoZW4uLi5zaWNoZXIuLmljaCBnZWggaW4gVXJsYXViLi5pY2ggYXVjaC4ud29oaW4uLmVnYWwuLi5zZW5mc2VuZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTVBBIChJbHZlcywgMTkuIERleiAxOTk1LCAxNzo1NToxOCk6CiMhIHJuPUpvZiBydD04MTg2NzI1MjYKRGFzIExlc2VuIHdhZXJlIGxhZW5nc3QgbmljaHQgc28gbmVydmlnLCB3ZW5uIG1hbiBlcyBtaXQgZWluZW0gdmVybnVlbmZ0aWdlbgpPZmZsaW5lLVJlYWRlciBtYWNoZW4ga29lbm50ZS4gSWNoIGhhYmUgYXVjaCBzY2hvbiBhbGxlcyBhdXNzZXIgIkFsbGdlbWVpbmVzIgphYmdlbWVsZGV0LCB3ZWlsIGRhcyBMZXNlbiBtaXQgZGVtIG5uIGltIE1HIGVpbmZhY2ggenUgdW5rb21mb3J0YWJlbCBpc3QuCk9kZXIga2FubiBtaXIgamVtYW5kIHZlcnJhdGVuLCB3aWUgbWFuIGFsbGUgdW5nZWxlc2VuZW4gQXJ0aWtlbCBlaW5lcyBUaGVtYXMKYWxzICJnZWxlc2VuIiBtYXJraWVyZW4ga2Fubiwgd2VpbCBlaW5lbiBkYXMgVGhlbWEgbmljaHQgaW50ZXJlc3NpZXJ0PwoKCklsdmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNUEEgKEplcnJpY28sIDE5LiBEZXogMTk5NSwgMTg6MzE6MzMpOgojISBybj1JbHZlcyBydD04MTkzOTIxMTgKbGllcyBtYWwgZGllIEhpbGZlIHp1ciBtcGEKZW50d2VkZXIgZ2VodCAgIHVlYmVyZ2VoZSBydWJyaWtuYW1lCm9kZXIKcnVicmlrIHJ1YnJpa25hbWUgICAgIGRhbWl0IHNjaGxhZWd0IG1hbiBlaW5lIGJlc3QuIHJ1YnJpayBhdWYKdWViZXJnZWhlIHJ1YnJpa25hbWUKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBrbGVpbmVyIFplaCBtb2VjaHRlIGdlcm5lIFNlaGVyIHdlcmRlbiAoVG9lLCAxOS4gRGV6IDE5OTUsIDE4OjMzOjQ2KToKCgpNZWluIGVyc3RlciBBcnRpa2VsLi4uCgpadXIgSGlzdG9yaWU6ClZvciBpY2ggd2Vpc3MgbmljaHQgbWVociB3YW5uIGNhLiAxNSBNb25hdGVuIGxvZ2d0ZSBpY2ggbWljaCBkYXMgZXJzdGUgTWFsCmhpZXIgZWluIHVuZCBmYW5kIGRhcyBhbGxlcyBzZWhyIGF1ZnJlZ2VuZCAtIHZvciBhbGxlbSBkYXMgTWV0emVsbgooUHJvZmlraWxsZXIgd2Vnc2NoYXVlbikuCklyZ2VuZHdhbm4gaGFiZW4gbWljaCBkaWUgQm9ubmVyIHZvbSBTaW5uIGRlcyBRdWVzdGVuIHVlYmVyemV1Z2VuIGtvZW5uZW4KKFNpbm4ga2FubiBuaWNodCBzZWluIHVuc2NodWxkaWdlIE9ya3dhaXNlbiB6dSBoaW50ZXJsYXNzZW4pLgpTbyBmaW5nIGljaCBhbiB6dSBxdWVzdGVuLCBkYWJlaSBrYW5udGUgaWNoIG51ciBkaWUgSEUgdW5kIGRpZSBTU1AgKHVuZCBkaWUKYXVjaCBudXIgb2JlbiA6LSkpLgpRdWVzdCBmdWVyIFF1ZXN0IGhha3RlIGljaCBhdWYgbWVpbmVyICJsaXN0ZSIgYWIuClVuZCBkaWVzZXMgZmVybmUgWmllbCBTZWhlciB6dSB3ZXJkZW4gcnVlY2t0ZSBwbG9ldHpsaWNoIGVyc3RhdW5saWNoIHNjaG5lbGwKbmFlaGVyLi4uCgpEaWUgbGV0enRlIFdvY2hlOgpGbGVpc3NpZyBkaWUgbGV0enRlbiBBYmVudGV1ZXIgZHVyY2hzcGllbHQgLSBvZWZ0ZXIgZ2VzdG9yYmVuIGFscyB6d2luZ2VuZApub3R3ZW5kaWcgLSBlbmRsaWNoIGRpZSBBUHMgenVzYW1tZW5nZWtsYXVidC4KSmV0enQgYWxzbyAxTUVQcyBtZXR6ZWxuIC0gd2llIGxhbmd3ZWlsaWcuLi4gLSBpcmdlbmR3aWUgYXVmIGRpZQpIYWVuZ2VicnVlY2tlIC0gZHVtbSBnZWxhdWZlbiAtIHB1aCAtIGdlc2NoYWZmdCAuLi4KCjEuIEZydXN0OiBpbiBkZXIgR2lsZGUgc2FndGVuIG1pciBkaWUgTVVELUdvZXR0ZXIgKGluIEZvcm0gZWluZXIgVGFiZWxsZSkgaXNzCm5pY2h0IHRvZSAtIGRpciBmZWhsdCBpbiBkZXIgdmllcnRlbiBHcnVwcGUgZWluZSBRdWVzdApBaCBqYSAtIGdydWViZWwgLSBtZWluZSAoenVnZWdlYmVuZXJtYXNzZW4pIHZlcmFsdGV0ZSBMaXN0ZSBoYXR0ZSBlaW5lbiAtCnF1YXRzY2ggbWVocmVyZSBEaWZmcyAtIG5hIGplZGVuZmFsbHMgTVVTUyBpY2ggamV0enQgYXJjaGllIG9kZXIgaW5mZXJubwptYWNoZW4KQXJjaGl0ZWt0IGhhYiBpY2ggbWFsIG1pdCBPcmtUIHVuZCBCYWJvb24gdmVyc3VjaHQgLSBpcmdlbmR3byB3ZWdlbgpWZXJzdGFlbmRpZ3VuZ3NzY2h3aWVyaWdrZWl0ZW4gZ2VzY2hlaXRlcnQKQWxzbyB2ZXJzdWNoIGljaCBoYWx0IEluZmVybm8sIHNvbGwgendhciBidWdneSB1bmQgaGVmdGlnIHNlaW4sIGFiZXIgZWluZQptdXNzdGUgKHZlcnN1Y2ggbWFsIHZvciB3ZWlobmFjaHRlbiAyIHNwaWVsZXIgenVtIGFyY2hpcXVlc3RlbiB6dSBiZWtvbW1lbikKCkRlciBlaWdlbnRsaWNoZSBBbmxhc3MgZnVlciBkaWVzZW4gQXJ0aWtlbApIZXV0ZSBtb3JnZW4gZnJpc2NoIGFucyBXZXJrLCBnZWZyYWd0LCBnZXNjaGF1dCwgZWluZW4gVG9yYm9nZW4gdW50ZXJzY2hhZXR6dAooamEgcnluZSAtIGR1IGhhc3QgamEgcmVjaHQpLCBUb2QgMS4uLgpCZWkgZGVtIFZlcnN1Y2ggZGllIEF1c3J1ZXN0dW5nIHp1cnVlY2t6dWJla29tbWVuIGRpcmVrdCBub2NoIG1hbCB6dSB3ZWl0CmdlbGF1ZmVuIC0gc2VsYmVyIHNjaHVsZCAtIHppZWggaWNoIG1pciBhdWNoIGFuIGRlbiBTY2h1aCAtIHdvYmVpIGljaCBkYXMgc28KZ2FueiBuaWNodCBiZWdyZWlmZSAobmVpbiwgaWNoIGhhYmUga2VpbiBsb2cgLSB3YXMgc29sbHMpIFRvZCAyLi4uClVuZCBiZWltIGRyaXR0ZW4gTWFsIGhhdHRlIGljaCBkaWUgQXVzcnVlc3R1bmcgZGFubiB3aWVkZXIsIGRhIGVyaG9iIHNpY2ggZGllCkh5ZHJhLi4uIEF1Y2ggbmljaHQgc2NobGltbSwgZHVtbSBnZWxhdWZlbiAoZGFzcyBkaWUgSHlkcmEgbWlyIGF1ZiBtZWluZW0KUnVlY2t3ZWcgZW50Z2VnZW5rb21tdCBpc3Qgc2Nob24gaXJnZW5kd28gYmxvZWQuLi4pLgpJY2ggaGF0dGUgYWxzIEx1cGluZW50YWxhbmZhZW5nZXIgbmF0dWVybGljaCB1ZWJlcmhhdXB0IGtlaW5lbiBQbGFuCndvL3dhbm4vd2llIHNpY2ggZGllIEh5ZHJhIGR1cmNoIGRhcyBUYWwgYmV3ZWd0LiBJY2ggZmFuZCBkYXMgbnVyIEVDSFQgS0xBU1NFLApkYXNzIGtlaW4gTUlUc3BpZWxlciAoYmVpIDEwMCBTcGllbGVybikgYXVmIC1iIG9kZXIgLWEgYXVmIG1laW5lIEZyYWdlbiBhdWNoCm51ciBlaW5lbiBXaW5rIGFic2V0enRlIChzbzogc2NobmVsbCByYXVzIC0gbGF1ZiB1bSBkZWluIGxlYmVuCkhhZXR0ZSBpY2ggamEgZ2V0YW4gLSBzbyBzdGFuZCBpY2ggZGEgcnVtIHVuZCB3YXJ0ZXRlIGF1ZiBlaW5lIEFudHdvcnQgLQplaW5lbiBUaXAgLWRlciBrYW0gZGFubiBqYSBhdWNoIChzdWVzc2UgS29lcGZlIC0gbGFuZ2Ugc2Nob24gbmljaHQgbWVociBTTwpzY2huZWxsIHRvdCBnZXdlc2VuLi4uKSBUb2QgMy4uLgpBbHNvIG1pdCB2aWVsIFJlc3Bla3Qgd2llZGVyIGluIGRpZXNlIFF1ZXN0IC0gbWVnYXZvcnNpY2h0aWcgYWxsZXMgKGVjaHQKYWxsZXMpIHVudGVyc3VjaHQsIG5hY2hkZW0gaWNoIHp3ZWkgU3R1bmRlbiBicmF1Y2h0ZSBtaWNoIHZvbiBkaWVzZW0gRnJ1c3QgenUKYmVydWhpZ2VuIHVuZCBlcyB6dSB2ZXJzdWNoZW4gKGhhZXR0ZSBkYSBzY2hvbiBkaWUgZmluZ2VyIHZvbiBkZXIgcXVlc3QgbGFzc2VuCnNvbGxlbi4uLikuClVuZCBpcmdlbmR3YW5uIG5hY2ggZHJlaSBTdHVuZGVuIHN1Y2hlbiBzY2hhdWVuIHppdHRlcm4uLi4gZmFlbmd0IG1pY2ggZWluZQpWZW51c2ZsaWVnZW5mYWxsZSBvaG5lIGVya2VubmJhcmVuIEhpbndlaXMgZWluLiBJY2ggc3RhbmQgZGEgZWluZmFjaCBzbyBydW0KdW5kIHVlYmVybGVndGUgd2FzIGhpZXIgd29obCBzZWluIGtvZW5udGUgdW5kIHdvbGx0ZSBkaWVzZW4gUmF1bSBoYWx0IGF1Y2gKdW50ZXJzdWNoZW4uIERhIGhpbmcgaWNoIGRhbm4gaW4gbmVyIEZhbGxlIG9obmUgKHNpY2h0YmFyZSkgQXVzZ2FlbmdlIHVuZApydXRzY2h0ZSBpbiBkaWUgU2FldXJlLi4uIFRvZCA0Li4uCgpTb3JyeSwgZnVlciBkaWUgdmllbGVuIFplaWxlbiAtIGpldHp0IHdvIGljaCBkdXJjaCBiaW4gKG1pdCBkZW0gdGlwcGVuKSBpc3QKbWVpbmUgRW50dGFlc2NodW5nIHVlYmVyIG1laW5lIFVuZmFlaGlna2VpdCBuaWNodCBtZWhyIGdhbnogc28gZ3Jvc3MuIEljaCBiaW5zCmhhbHQgbG9zZ2V3b3JkZW4uLi4KClRyb3R6ZGVtIGZpbmRlIGljaCBkaWVzZXMgQWJlbnRldWVyIGltbWVyIG5vY2ggbWVociBhbHMgdWViZXJ0cmllYmVuIGhlZnRpZy4KSWNoIHdlaXNzIGF1Y2ggbmljaHQgZGllIEdyZW56ZSB6dSB6aWVoZW4gd28gaWNoIGRhcyBzZWxiZXIgc2NodWxkIGJpbiBzbyB3YXMKenUgc3BpZWxlbiBvZGVyIHp1IHVuZXJmYWhyZW4gYmluIG9kZXIgd2FzIHdlaXNzIGRlciBnZWllci4KRGllIFF1ZXN0IGlzdCBpaHJlIDEwMCBBUHMgZWNodCBuaWNodCB3ZXJ0LCBmdWVyIGRpZXNlIHVuc2ljaHRiYXJlClRvZWRsaWNoa2VpdCBrYW5uIGljaCBtaW5kZXN0ZW5zIHp3ZWkgZnVlbmZ6aWdlciBRdWVzdHMgbWFjaGVuLi4uIFdhcyBzb2xsZW4KZGVubiBkaWUgU3BpZWxlciwgZGllIGF1Y2ggbWFsIGFuIGRlbiBQdW5rdCBrb21tZW4gYXJjaGllIG9kZXIgaW5mZXJubyB0dW4sCndlbm4gc2UgbGFnZ3kgbGVpdHVuZyBoYWJlbiAtIHdlbmlnIGFuZGVyZSBsZXV0ZSBoaWVyIGltIG11ZCBrZW5uZW4gLSBvZGVyCmVpbmZhY2ggYWxsZWluZSB6dW0gc2VoZXIga29tbWVuIHdvbGxlbi4uLgoKRGFzIGVpZ2VudGxpY2ggdHJhdXJpZ2UgaXN0IGFuIGRlciBTYWNoZSBuaWNodCBkZXIgVmVybHVzdCB2b24gaXJnZW5kd2VsY2hlbgpQdW5rdGVuIC0gZGVyIFNwaWVsc3Bhc3MgZ2VodCBtLkUuIHZvZWxsaWcgdmVybG9yZW4hCgoKZGFua2UgZnVlcnMgbGVzZW4sIHRvZQoKUC5TLjogc3VjaGUgc3BpZWxlciBmdWVyIGFyY2hpZSAtIGJpdHRlIGJlaSBtaXIgbWVsZGVuIC0gd2lyIGtvZW5uZW4gZGllc2UKcXVlc3QgYXVjaCBiZWkgbWlyIGluIGJvbm4gc3BpZWxlbiAtIHJlY2huZXIsIGJpZXIsIHdlaW4gdW5kIGNoaXBzIHdlcmRlbgpzZWxic3R2ZXJzdGFlbmRsaWNoIGdlc3RlbGx0Li4uIDotKQoKUC5QLlMuOiBJY2ggbW9lY2h0ZSBtYWwgd2llZGVyIGhlcnpoYWZ0IHVlYmVyIGVpbmUgVG9kZXNzZXF1ZW56IGxhY2hlbgprb2VubmVuIC0gZGFiZWkgd2FyIGRpZSBsZXR6dGUgc28gc2Nob2VuIChuZWluIGljaCBtdXNzdGUgdmVyc3ByZWNoZW4gbml4IHp1CnZlcnJhdGVuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFphcmRveiEhISAoUm9lc3RpLCAxOS4gRGV6IDE5OTUsIDIwOjUyOjM2KToKIyEgcm49UHVtYSBydD04MTkwMjg0NjEKVmllbGVpY2h0IGJyYXVjaGVuIHdpciBzb3ZpZWwgVGFyYSxkYW1pdCBzaWNoIG1hbCBkaWUgZWluc3RlbGx1bmcgZGVyClNwaWVsZXJsaWVzIGVpbiB3ZW5pZyBhZW5kZXJ0LHVuZCBkYW1pdCBzaWUgZWluc2VoZW4gZGFzIGVpbiBNYWdpZXIgbmljaHQgZGVyClByaXZhdHNrbGF2ZSBpc3QgZnVlciBkZW4gc2llIG9mdCBnZWhhbHRlbiB3ZXJkZW4uCgpBY2ggamEgUHVtYS4uLgpMb2VzY2ggZGljaCBuaWNodC4uLldlciB3YWVyZSBkZW5uIGRhbm4gbWVpbiBQcml2YXQgbmVnZXIgdW5kIHd1ZXJkZSBkYWZ1ZXIKc29yZ2VuIGRhcyBlbmRsaWNoIGRlciBCdWcgYXVzIGRlciBIeWRyYSBrb21tdD8KKEJ1ZzogaWNoIGthbm4gZGFzIFZpZWggaW1tZXIgbm9jaCBuaWNodCBraWxsZW4uLi46KSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGZhc3NlIHp1c2FtbWVuOiBEYXMgVGFnZXNnZXNjaGVoZW4gZGVyIE1QQSBpbiBkZW4gbGV0enRlbiBkcmVpIE1vbmF0ZW4gb2RlciBzbzogKFJvZXN0aSwgMTkuIERleiAxOTk1LCAyMTowNzoxMCk6CiMhIHJuPUd1eWJydXNoIHJ0PTgxOTM4NjI2OQpBbHNvIHNvIGdhbnogc3RpbW10IGRhcyBqYSBuaWNodC4uLiBEaWUgRGlza3Vzc2lvbiBnaW5nIGRhcnVtIEthcmF0ZWthcyBzaW5kCnNjaHdhZWNoZXIgLi4uIG5lZSBDaGFvdGVuLi4uLiBtaXQgc3RhZXJrZXIgaGF0dGUgZGFzIG5peCB6dSB0dW4uLi4KQWVoIG1pdHMgaWNoIGhhdHRlIGRvY2ggd2FzIHZlcnNwcm9jaGVuLi4uCgpPSyBkYXMgd2FyIG1laW4gbGV0enRlciBBcnRpa2VsIGZ1ZXIgaGV1dGUuLi4KUm9lc3RpIGdydWVzdCBSWFRFQ0gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1QQSAoWnVlcmlsZXUsIDE5LiBEZXogMTk5NSwgMjM6MDg6MDYpOgojISBybj1JbHZlcyBydD04MTkzOTIxMTgKU2FsaSBpbHZlcywKTnVuIHdlbm4gZHUgZGlyIGRhcyBoaWxmc2ZpbGUgenVyIE1wYSBtYWwgZHVyY2hnZWxlc2VuIGhhc3QsIGRhbm4gaGFldGVzdCBkdQpnZXNlaGVuIGRhcyBtYW4gbWl0ICcnVWViZXJnZWhlIDw8cnVicmlrPj4nJyBlaW5lIFJ1YnJpayB1ZWJlcnNwcmluZ2VuIGthbm4KdW5kIGRpZSBNYWlscyB3ZXJkZW4gZGFubiBhbHMgZ2VsZXNlbiBtYXJraWVydC4gVWViZXJpZ2VucyBiZXZvciBkdSBudW4gd2llZGVyCnJla2xhbWllcnN0IGRhcyBpcmdlbnR3YXMgYW5kZXJlcyBuaWNodCByaWNodGlnIGZ1bmt0aW9uaWVydCwgbGllcyBkb2NoCnNjaG5lbGwgbWFsICcnaGlsZmUgbXBhJycgZHVyY2ghCgpUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWmFyZG96ISEhIChSZWluZWxkZSwgMjAuIERleiAxOTk1LCAwMTozNzozOSk6CiMhIHJuPVJvZXN0aSBydD04MTk0MDI3NTYKaWNoIHNhZ3MgamEgbnVyIHVuZ2VybiAodHVzIGFiZXIgZG9jaCA7KSwKCmJlaSBkZXIgZ2FuemVuIGRpc2t1c3Npb24gKG1hZ2llci9zcGllbGVyIHNpbmQgZG9vZiB1bmQgc3Rpbmtlbikgc29sbHRlbgpiZWlkZSBzZWl0ZW4gYml0dGUgbmljaHQgdmVyZ2Vzc2VuLCBkYXNzIHNpZSBkYXMgbXVkIGF1cyB6d2VpIHZvZWxsaWcgdW50ZXItCnNjaGllZGxpY2hlbiBwZXJzcGVrdGl2ZW4gc2VoZW4uCnppZWwgZGVyIG1hZ2llciBpc3QgZXMgbWl0IGRlbiBpZGVlbiBkaWUgc2llIGhhYmVuLCBlaW5lIG1vZWdsaWNoc3QKaW50ZXJlc3NhbnRlIHVtZ2VidW5nIHp1IHNjaGFmZmVuIHVuZCBkYXMgbXVkIG1pdCB6dSBnZXN0YWx0ZW4uCnppZWwgZGVyIHNwaWVsZXIgaXN0IGVzIGluIGVpbmVtIGdlZ2ViZW5lbiBzeXN0ZW0gaWhuZW4gZ2VzdGVsbHRlIGF1ZmdhYmVuCnp1IGVyZnVlbGxlbiB1bmQgc28gYXVmenVzdGVpZ2VuLgooYXVzbmFobWVuIG1hZyBlcyBhdWYgYmVpZGVuIHNlaXRlbiBnZWJlbikKc3BpZWxlciBzaW5kIHNhdWVyIGF1ZiBtYWdpZXIsIHdlbm4gZGllc2UgaWhuZW4gaGluZGVybmlzc2UgaW4gZGVuIHdlZyBsZWdlbiwKZGllIHVlYmVyIGRhcyB2ZXJtZWludGxpY2ggbm90d2VuZGlnZSBtYXNzIGhpbmF1cyBnZWhlbiB1bmQgbWF1bGVuIGRhbm4gLQp3aWUgaWNoIGZpbmRlIC0gdmVyc3RhZW5kbGljaCwKbWFnaWVyIGF1ZiBkZXIgYW5kZXJlbiBzZWl0ZSBzaW5kIHNhdWVyLCB3ZW5uIHNwaWVsZXIgZGFzIHplcnJlaXNzZW4sIHdhcyBzaWUKaW4gdmllbGVuIHN0dW5kZW4gdm9sbGVyIGFyYmVpdCBhdWZnZWJhdXQgaGFiZW4uIHVucyBzaW5kIHNhdWVyIC0gYXVjaCBkYXMKdmVyc3RlaGUgaWNoLgoKbWVpbmUgYml0dGUgYW4gZGllIHNwaWVsZXI6Cndlbm4gaWhyIG5lIG1haWwvbmVuIGFydGlrZWwgYWJzY2hpY2t0LCBkYW5uIGZyYWd0IGV1Y2ggd2llIGlociBhdWYgc28gZWluZQptYWlsIHJlYWdpZXJlbiB3dWVyZGV0LgptZWluZSBiaXR0ZSBhbiBtYWdpZXI6CnVlYmVybGVndCBldWNoIG1hbCwgd2llIGlociBhbHMgc3BpZWxlciBhbiBlaW5lIGF1ZmdhYmUgcmFuZ2VoZW4gd3VlcmRldAooYWxzbwp3ZW5uIGVpbiB0b2QgbmljaHQgc2NoZWlzc2VnYWwgaXN0KSB1bmQgd2llIGlociBkYW5uIGF1ZiBkaWUgZ2VzdGVsbHRlbiBhdWYtCmdhYmVuIHJlYWdpZXJlbiB3dWVyZGV0LgoKd2VubiBkaWVqZW5pZ2VuIChhdWYgYmVpZGVuIHNlaXRlbikgZGllIG1hbCB3aWVkZXIgc28gcmljaHRpZyBkaWUgc2NobmF1emUKdm9sbCBoYWJlbiwgbWFsIGZ1ZXIgbWVociBhbHMgZWluZSBzZWt1bmRlIHRpZWYgZHVyY2hhdG1lbiB1bmQgaWhyIGhpcm4KZWluc2NoYWx0ZW4ga29lbm5lbiB3aXIgaGllciBpbiBkZXIgbXBhIG1pdCBzaWNoZXJoZWl0IG5lIG1lbmdlIHVubm9ldGlnZQptYWlscyB2ZXJtZWlkZW4KCnJlaW5lbGRlIC0gbWFsIHdpZWRlciBydW1wb2ViZWxuZCAod2llIGVzIG1hbCBqZW1hbmQgbmFubnRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTVBBIChSb2FkcnVubmVyLCAyMC4gRGV6IDE5OTUsIDA5OjQ5OjE0KToKIyEgcm49WnVlcmlsZXUgcnQ9ODE5NDEwODg2CgouLi4gbWFsIG1laW5lbiBzZW5mIGF1Y2ggbm9jaCBkYXp1Z2ViZW4gLi4uCgpJY2ggZ2xhdWJlIGlociB0dXQgaWx2ZXMgZXR3YXMgdW5yZWNodCB3ZW5uIGlociBtZWludCBtaXQgJ3VlYmVyZ2VoZQo8cnVicmlrPicgc2VpIGRhcyBnYW56ZSBlcmxlZGlndC4gRGEgaXN0IGV0d2FzIGFuZGVyZXMgZ2VtZWludC4uLiBlaW4Kb3JkZW50bGljaGVyIG5ld3NyZWFkZXIgZXJrZW5udCBkYXMgU1VCSkVDVCBkZXIgYXJ0aWtlbCB1bmQgdWViZXJnZWh0IGRhbm4gZGllCndlaXRlcmVuIFJFcyB6dSBkaWVzZW0gU3ViamVjdC4gSW4gZWluZXIgcnVicmlrIGtvZW5uZW4gamEgd29obCB2ZXJzY2hpZWRlbmUKc3ViamVjdHMgdm9ya29tbWVuLi4genVtIGJlaXNwaWVsIGRhcyBzdWJqZWN0ICdtdWVsbCcgZGFzIHNvIGdlcm5lIHZlcndlbmRldAp3dXJkZS4KCi4uLiBzb2xsdGUgZGllIHdvZ2VuIGRlciBlbXBvZXJ1bmcgZXR3YXMgZ2xhZXR0ZW4uCgkJCQlSb2FkcnVubmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoICduZSBuZXVlIFJ1YnJpaywgYml0dGUhIChCZWV0bGUsIDIwLiBEZXogMTk5NSwgMTA6MDI6MzYpOgpOdXIgZ2FueiBrdXJ6OgoKSWNoIGhhZXR0ZSBnZXJuIGVpbmUgUnVicmlrICJXaWNodGlnZXMiLgooKEljaCBrb21tIG51ciAyLTN4IGRpZSBXb2NoZSwgdW5kIGRhbm4gYnJhdWNodCBtYW4gaW1tZXIgZXJzdCAxIHN0dW5kZSwgdW0KZGllIFplaXR1bmcgenUgbGVzZW4gLSB1bmQgZGllIG1laXNzdGVuIEFydGlrZWwgc2luZCBqYSBudW4gd2Vpc3MgZ290dCBuaWNodAp3aWNodGlnISkKCi4uLm1laW4gZ290dCwgamV0enQgZmFuZyBpY2ggYXVjaCBzY2hvbiBhbiwgbWlzdCB6dSBzY2hyZWliZW4uLi4KYnllYnllLCBiZWV0bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIGZhc3NlIHp1c2FtbWVuOiBEYXMgVGFnZXNnZXNjaGVoZW4gZGVyIE1QQSBpbiBkZW4gbGV0enRlbiBkcmVpIE1vbmF0ZW4gb2RlciBzbzogKExlY2h1Y2ssIDIwLiBEZXogMTk5NSwgMTA6MTI6MzMpOgojISBybj1NYXJpdGEgcnQ9ODE5NDM0NTY4ClRqYSBNYXJpdGEuLgpGdWVobHN0IER1IERJY2ggYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuLCB3ZWlsIGRlciBCZXp1ZyB6dSBEZWluZW4gQXJ0aWtlbG4KZ2FueiBvYmVuIHN0YW5kPwpTaWVoIGVzIHNvIGFuLCBkYXNzIGRlciBoYWx0IGZyaXNjaCBpbSBHZWRhZWNodG5pcyB3YXIuIEF1c3NlcmRlbSBpc3QgZXMKcmljaHRpZyBzb3dhcyBpbiBBbnplaWdlbiB6dSBwb3N0ZW4sIGRlbm4gZGEgZ2Vob2VyZW4gTW9yZ2VuZ3JhdWVuLUFuemVpZ2VuIGphCnJlaW4uCkRlciBBdWZoYWVuZ2VyIGlzdCBlaGVyIGluIGRlbiB0b2xsZW4gUmVwbHlzIHp1IGRlbSBBcnRpa2VsIHp1IHNlaGVuLCBkaWUgZGEKbml4IHp1IHN1Y2hlbiBoYWJlbi4gKERpZSB1ZWJlbGljaGUgUmVwbHktR2VzY2hpY2h0ZSwgZGllIG51ciBpbiBzY2htYXJybgpsdXN0aWcgaXN0KS4gVm9yIGFsbGVtIGVyaW5uZXJ0IGRhcyBhbiBkaWUgVHJlZmZlbi1SdWJyaWssIGRpZSBhdWNoIG1pdCA1MDAKcmVwbHlzIGF1ZiBlaW5lIFRlcm1pbmFua3VlbmRpZ3VuZyBvZGVyIDQwMDAgQW5lZGVydW5nc3ZvcnNjaGxhZWdlbiAobmUgZGEKa2FubiBpY2ggbmljaCwgbm9lIGRhIHdpbGwgaWNoIG5pY2gsIGRhIGlzIGxhbmd3ZWlsaWcsIGtvZW5uZW4gd2lyIHdvYW5kZXJzPykKdWViZXJxdWlsbHQuCkthbm4gbWFuIHNvbGNoZSBTYWNoZW4gbmljaHQgcGVyIG1haWwgb2RlciBpbSBHZXNwcmFlY2ggZXJsZWRpZ2VuPwpLb21pc2NoZXJ3aWVzZSBzaW5kIGVzIG9mdCBkaWUgc2VsYmVuIExldXRlLCBkaWUgc293YXMgbWFjaGVuLCBkaWUgc2ljaCBkYW5uCmF1ZnJlZ2VuIHdlbm4gTmV3YmllcyBydW1ydWZlbiwgd2VpbCBzaWVzIG1pdCBkZW4gS2FuYWVsZW4gbmljaHQgcmFmZmVuLCBkaWUKYXVmIEthbmFlbGVuIHBlcnNvZW5saWNoZSBTYWNoZW4gYXVzaGFuZGVsbiB3ZWlsIHNpZSBkYXMgdGVpbGUgbWl0IG5pY2gKcmFmZmVuLi4uCgpXZW5uIER1IERpY2ggcGVyc29lbmxpY2ggYW5nZWdyaWZmZW4gZnVlaGxzdC4uKnp1Y2sqIGthbm5zdGUgbWFjaGVuIG5pWC4KCkxlQ3VjaywgZnVlciBzZWluZW4gRXJzdGllLCBtdXNzIG5pY2h0IHZvbiBhbGxlbiBnZW1vY2h0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZmVybm8tUXVlc3QgKFRvZSwgMjAuIERleiAxOTk1LCAxMjo0NjoxMyk6CkRyZWkgRGluZ2Ugbm9jaDoKRGllIFJlc29uYW56IGF1ZiBkYXMgUC5TLiBkZXMgbGV0enRlbiBBcnRpa2VscyB2b24gbWlyIHdhciB1ZWJlcndhZWx0aWdlbmQuCkVzIGhhYmVuIHNpY2ggYmVzdGltbXQgZWluIER1dHplbmQgU3BpZWxlciBhbmdlYm90ZW4gbWl0IG1pciBkaWUgQXJjaGllLVF1ZXN0CmR1cmNoenVzcGllbGVuLiBTb3dhcyBiYXV0IGF1ZiEgLSBCbGVpYnQgZGFzIFByb2JsZW0gbWl0IGRlbSBUZXJtaW4uLi4gTWFsCnNlaG4uCkRhbmtlIGFuIGFsbCBkaWUsIGRpZSBtaXIgbWl0IGlocmVyIEFudGVpbG5haG1lIG1vcmFsaXNjaCB1bnRlciBkaWUgQXJtZQpnZWdyaWZmZW4gaGFiZW4hIEVpbmUgWmVoZSB6aWVodCBzaWNoIGdlcm5lIGVpbmVuIFNjaHVoIGFuLi4uCgpEb2NoIG5vY2ggbmllIHdhciBkYXMgU3RlcmJlbiBzbyBiaWxsaWcgd2llIGpldHp0LiBXZW5uIGljaCBrZWluZSBQdW5rdGUKaGFiZSwga2FubiBpY2ggYXVjaCBrZWluZSB2ZXJsaWVyZW4gOi0pCkFsc28gbm9jaCBtYWwgaW5zIEluZmVybm8uLi4gVW5kIGRhIHNjaGV1Y2hlIGljaCBlaW5lbiBrbGVpbmVuIERhZW1vbiBhdWYuLi4KSXJnZW5kd28gYmVpbSBCZXJuaGFyZGluZXIgaGFiZW4gT3JrVCB1bmQgVmVyd2lycnVuZyBkYW5uIGRhcyBUZWlsIGluIHNlaW5lClNjaHJhbmtlbiB2ZXJ3aWVzZW4gLSBEQU5LRSBldWNoIGJlaWRlbiAoYXVjaCB3ZW5uIExhcnMgZGFzIGpldHp0IG5pY2h0IGdlcm5lCmhvZXJ0IC0gYWJlciBkZXIgaXN0IGphIHNvd2llc28gaW0gVXJsYXViKS4KCkljaCBmaW5kZSBkaWUgUXVlc3QgbmFjaCB3aWUgdm9yIGdlbmlhbCBndXQgZ2VtYWNodC4gSW4gd2lya2xpY2ggamVkZW0gUmF1bQpsYWVzc3Qgc2ljaCBldHdhcyB1bnRlcnN1Y2hlbiwgZGllIE5QQ3MgZ2ViZW4gYmlzIHp1bSBBYndpbmtlbiBJbmZvcyB1bmQKbGFzc2VuIHNpY2ggbWl0IEZyYWdlbiBsb2VjaGVybiBvaG5lIEVuZGUuLi4gTnVyIGlzdCBzaWUgZWJlbiBicmFuZHRvZWRsaWNoCnVuZCBkYXMgbWFjaHQgc2llIG9obmUgSGlsZmUgenUgZWluZW0gSGltbWVsZmFocnRza29tbWFuZG8uIFdlbm4gc2VsYnN0CmVyZmFocmVuZSBTZWhlciBzdGVyYmVuLCBudXIgd2VpbCBzaWUgZWluZSBmYWxzY2hlIFN5bnRheCBlaW5nZWdlYmVuIGhhYmVuLi4uCgp0b2UsIHNpY2ggZnJhZ2VuZCB3bydzIGFuZmFlbmd0IHNpbm5sb3MgenUgd2VyZGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNUEEgKExvY28sIDIwLiBEZXogMTk5NSwgMTQ6MDQ6MzgpOgojISBybj1Sb2FkcnVubmVyIHJ0PTgxOTQ0OTM1NApUZWNobmlzY2ggd2FlcmUgZGFzIG1hY2hiYXIgdW5kIGdhciBuaWNodCBzbyBzY2h3ZXIuIEFiZXI6IERlcgpTcGVpY2hlcnZlcmJyYXVjaCB3YWVyZSByZWxhdGl2IHNjaG5lbGwgcmVsYXRpdiBob2NoLCBkYXMgR2FuemUgd3VlcmRlCmF1ZndlbmRpZ2VyIHZvbiBkZXIgUmVjaGVuemVpdCAtIHVuZCBub2NoIHdhczogV29yYW4gZXJrZW5udCBlaW4gbmV3c3JlYWRlciwKb2IgZXMgd2lya2xpY2ggZWluIFJlOiBhdWYgZGVuc2VsYmUgVGhyZWFkIGlzdCB1bmQgbmljaHQgZWluIG5ldWVyIFRocmVhZAp1bnRlciB6dWZhZWxsaWcgZ2xlaWNoZW0gTmFtZW4/Ck5hIGphLCBpY2ggaGFiZSBnZXJhZGUgSWRlZW4gZGF6dSwgZGllIGljaCBkZW1uYWVjaHN0LCB3ZW5uIGljaCBkYXp1IGtvbW0sCm1hbCB2ZXJzdWNoZW4gd2VyZGUsIHp1c2FtbWVuenVoYWNrZW4uIEFiZXIgdmVyc3ByZWNoZW4ga2FubiBpY2ggbml4LgoKRnVlciBkaWUgTW9yZ2VuZ3JhdWVuIFByZXNzZWFnZW50dXIsCiAgICAgTG9jbywgQWJ0ZWlsdW5nIFRlY2huaWsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNUEEgKFJvYWRydW5uZXIsIDIwLiBEZXogMTk5NSwgMTQ6MTY6MzEpOgojISBybj1Mb2NvIHJ0PTgxOTQ2NDY3OAoKRWluZSBpZGVlIHZvbiB3ZWdlbiAnZ2xlaWNoZW0gbmFtZW4nIC0ga29lbm50ZSBtYW4gamEgYmVpbSBhbmxlZ2VuIGVpbmVyCm5ldWVuIG1haWwgYWJ0ZXN0ZW4gb2IgZGEgc2Nob24gZXR3YXMgdm9yaGFuZGVuIGlzdCBkYXMgcGFzc3QuLi4KdW5kIC0gZmFsbHMgZGEgZWluZXIgYXVmIGRpZSBpZGVlIGtvbW10ICBpcmdlbmR3YXMgbmV1ZXMgYWxzICdyZScgenUKc2NocmVpYmVuIGlzdCBlciBzZWxiZXIgc2NodWxkIGRlbmtlIGljaC4KCgkJX3JyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNUEEgKExvY28sIDIwLiBEZXogMTk5NSwgMTQ6MjI6NTkpOgojISBybj1Sb2FkcnVubmVyIHJ0PTgxOTQ2NTM5MQpJY2ggbmVobWUgZGFzIFByb2JsZW0genVydWVjaywgZGFmdWVyIGlzdCBtaXIgbmFlbWxpY2ggZWJlbiBlaW5lIHNlaHIgZ3V0ZQpMb2VzdW5nIGVpbmdlZmFsbGVuLiBKZXR6dCBoYWVuZ3QgZXMgYWxzbyBkYXJhbiwgZGllIGdhbnplIG1wYSB2b24gb2JlbiBiaXMKdW50ZW4gZW50c3ByZWNoZW5kIHVtenViYXVlbi4uLgogIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBmYXNzZSB6dXNhbW1lbjogRGFzIFRhZ2VzZ2VzY2hlaGVuIGRlciBNUEEgaW4gZGVuIGxldHp0ZW4gZHJlaSBNb25hdGVuIG9kZXIgc286IChNYXJpdGEsIDIxLiBEZXogMTk5NSwgMDQ6NTc6MTYpOgojISBybj1MZWNodWNrIHJ0PTgxOTQ1MDc1MwpIaSAobmljaHQgbnVyIEd1eWJydXNoKSwKClJlcGxpZXMgZ2Vob2VyZW4gdGVpbHdlaXNlIHRhdHNhZWNobGljaCBuaWNodCBpbiBkaWUgUnVicmlrLCB3byBkZXIgT3JpZ2luYWwtCkFydGlrZWwgc3RlaHQuIEljaCBoYWJlIGFiZXIgYXVzcHJvYmllcnQ6IFdlbm4gbWFuIGRpZSBBbnR3b3J0IGluIGVpbmVyIGFuCmRlcmVuIFJ1YnJpayBwb3N0ZXQsIHdpcmQgendhciBkZXIgVGl0ZWwgbWl0IGRlciByaWNodGlnZW4gUmVwbHktTnIuCmFuZ2VnZWJlbiwgYWJlciBkZXIgQmV6dWcgc3RpbW10IG5pY2h0LiBTdGF0dGRlc3NlbiB3aXJkIGRlciBPcmlnaW5hbGFydGlrZWwKYWxzICdnZWxvZXNjaHQnIGFuZ2V6ZWlndC4gVW0gZGFzIHp1IHVtZ2VoZW4sIE1VU1MgbWFuIGluIGRlciBPcmlnaW5hbHJ1YnJpawpibGVpYmVuLCBhdWNoIHdlbm4gZGVyIEluaGFsdCBuaWNodCBtZWhyIHZpZWwgbWl0IGlociB6dSB0dW4gaGF0LgpLb25zdHJ1a3RpdmVyIFRlaWwgZGVzIEFydGlrZWxzOiBXZXIgYXVzIE1hZ2llcmtyZWlzZW4gc2ljaCBhdWNoIGltbWVyIGFuZ2UtCnNwcm9jaGVuIGZ1ZWhsdCwga29lbm50ZSBhdXMKCihCZXp1ZzogQXJ0aWtlbCAoZ2Vsb2VzY2h0KSB2b24gLi4uCgpzbyBldHdhcyBtYWNoZW4gd2llCgooQmV6dWc6IEFydGlrZWwgLi4uIChSdWJyaWsgYWxsZ2VtZWluZXMpIHZvbiAuLi4KCkRpZXNlIE1hc3NuYWhtZSB3dWVyZGUgZGllIGVybnN0aGFmdGVuIFJ1YnJpa2VuIHNpY2hlciBkZXV0bGljaAplbnRsYXN0ZW4uCkRhIGljaCBuaWNodCB3ZWlzcywgV0VSIGRlciBwYXNzZW5kZSBBZHJlc3NhdCBpc3QsIG11c3MgaWNoIG1hbCB3aWVkZXIgdWViZXIKZGllIE1QQSBnZWhlbi4uLiBEYXJhdXMgZXJnaWJ0IHNpY2ggenVnbGVpY2ggZGVyIFZvcnNjaGxhZzogV2VyIGRlbiBNdWVsbApub2NoIGVpbiBiaXNzY2hlbiB3ZWl0ZXIgcmVkdXppZXJlbiB3aWxsICh3YXMgaWNoIGR1cmNoYXVzIGJlZ3J1ZXNzZSksCmtvZW5udGUgYWxsZSAyLi4zIE1vbmF0ZSBlaW5lIGFrdHVlbGxlIExpc3RlIGRlciB6dXN0YWVuZGlnZW4gTWFnaWVyIGZ1ZXIKYmVzdGltbXRlIEF1ZmdhYmVuIHVuZCBmdWVyIGVpbnplbG5lIEdlYmlldGUgaW4gZGllIE1QQSBzZXR6ZW4uCldlbm4gZWluIHNvbGNoZXIgQXJ0aWtlbCA2IG9kZXIgOCBCaWxkc2NoaXJtZSBsYW5nIGlzdCwgaGFiZW4gd2lyIGRldXRsaWNoCm1laHIgTnV0emVuIGFscyB2b24gZWluZW0gRHV0emVuZCAxMHNlaXRpZ2VyIFN0ZXJiZWxvZ3MgKCJXZXIgd2FyIGRvY2ggZ2xlaWNoCmRlciBNYWdpZXIsIGRlciBkYXMtdW5kLWRhcyBHZWJpZXQgZ2Vwcm9nZ3QgaGF0PyIgLSB1bmQgc2Nob24gd2lyZCBkaXJla3QKZ2VtYWlsdDsgSUNIIHd1ZW5zY2ggbWlyIGplZGVuZmFsbHMgc28gZWluZSBMaXN0ZSB6dSBXZWlobmFjaHRlbiA7KSkKCktvbnN0cnVrdGl2ZXIgVGVpbCBFTkRFLiBBbGxlcyBhbmRlcmUgenVtIGJlc2FndGVuIEFydGlrZWwgLT4gbmljaHQgbWVocgp1ZWJlciBNUEEuIEVpbiB3ZWl0ZXJlciB3aWNodGlndHVlcmlzY2hlciBCZWl0cmFjaCB2b24KTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJY2ggZmFzc2UgenVzYW1tZW46IERhcyBUYWdlc2dlc2NoZWhlbiBkZXIgTVBBIGluIGRlbiBsZXR6dGVuIGRyZWkgTW9uYXRlbiBvZGVyIHNvOiAoTG9jbywgMjEuIERleiAxOTk1LCAxMTowMTowOCk6Cn4jISBybj1NYXJpdGEgcnQ9ODE5NTE4MjM2Cn4jISB0aWQ9ODE5NTE4MjM2CkFsc28sIGRlciB6dXN0YWVuZGlnZSBNYWdpZXIgYmluIGljaC4uLiB1bmQgZGFzIGlzdCBlaW5lIFNhY2hlLCBkaWUgbWljaApzZWxiZXIgc3RvZXJ0LCBhYmVyIHNpY2ggd29obCBtaXQgdmVybnVlbmZ0aWdlbSBBdWZ3YW5kIGthdW0gYmVoZWJlbiBsYWVzc3QuCkRlciBHcnVuZCBsaWVndCBpbiBkZXIgQXJ0LCB3aWUgZGVyIEJlenVnIGdlcmVnZWx0IHdpcmQuIEljaCBtdXNzIG1hbAp1ZWJlcmxlZ2VuLCBmYWxscyBpY2ggZWluZSBJZGVlIGhhYmUsIG1pdCBkZXIgc2ljaCBkYXMgb2huZSB1ZWJlcm1hZXNzaWdlbgpBdWZ3YW5kIGhpbmtyaWVnZW4gbGFlc3N0LCBiYXUgaWNoIGVzIGVpbiAtIGFiZXIgaW0gTW9tZW50IGlzdCBkYXMgbm9jaCBuaWNodApkZXIgRmFsbC4KCkFiZXIgZGFzIHdpbGwgbmljaHRzIGhlaXNzZW4sIGljaCBoYWJlIHNjaG9uIG1laHJmYWNoIFNhY2hlbiBlcnN0bWFsIHdlZ2VuIHp1Cmdyb3NzZW0gQXVmd2FuZCBhYmdlbGVobnQgdW5kIGRhbm4ga2FtIG1pciBkaWUgenVlbmRlbmRlIElkZWUgOikKCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG9ydG9rYXNzZSAoUm9lc3RpLCAyMS4gRGV6IDE5OTUsIDExOjQ4OjQzKToKSmEgaWNoIHdlaXMgZXMgbmVydnQgbWljaCBqYSBhdWNoIHVlYmVyIGRpZSBHZWxkc2FjaGVuIHp1IHJlZGVuLi4uLgpBYmVyIGRlcyBuZXVlIEdlbGRzeXN0ZW0gd3VyZGUgamEgZWluZ2VmdWVocnQgZGFtaXQgZGFzIGdhbnplIHJlYWxpc3Rpc2NoZXIKd2lyZC4uLgpOdW4gZXJrbGFlciBtaXIgbWFsIGVpbmVyIHdpZXNvIGJlaXNwaWVsc3dlaXNlIGRpZSBad2VyZ2Vua3JvbmUgYXVjaCBpbSBQcmVpcwpmYWVsbHQuLi4KRGllIGJlc3RlaHQgZG9jaCBhdXMgR29sZC4uLgooaWNoIERhY2h0ZSBHb2xkIHdhZXJlIHJlbGF0aXYgS3JpZXNlbnNpY2hlci4uLgpBbHNvIGhpZXIgbWFsIG5lIElkZWUuLi4KRWluIEZhbHNjaG11ZW56ZXIgZGVyIGF1cyBFZGVsbWV0YWxsZW4gKGRpZSBpaG0gZGllIFNwaWVsZXIgYnJpbmdlbikgTXVlbnplbgptYWNodC4uLgpvZGVyIGVpbiBHb2xkc2NobWllZC4uLgoKV2VubiB6dXZpZWwgR2VsZCBpbSBVbWxhdWYgaXN0LCBuaW1tdCBlciBkYW5uIGhhbHQga2VpbmUgQXVmdHJhZ2VnZSBhbiB3ZWlsCmVyIHp1IHZpZWwgenUgdHVuIGhhdC4uLgoKQWxzbyBpc3QgbnVyIHNvIG5lIElkZWUuLi46KQoKUm9lc3RpClAuUy46IEljaCBob2ZmZSBkYXMgd2FyIG1hbCBhdXNuYWhtc3dlaXNlIG5pY2h0IHVlYmVyZmx1ZXNzaWcuLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWmFyZG96ISEhIChSb2VzdGksIDIxLiBEZXogMTk5NSwgMTE6NTQ6NDIpOgojISBybj1SZWluZWxkZSBydD04MTk0MTk4NTkKT2sgSWNoIGhhYiBlaW5lbiBGZWhsZXIgaW4gbWVpbmVyIE1haWwgZ2VtYWNodC4uLiBpY2ggaGFiIGltIFp3ZWl0ZW4gVGVpbCAoCmRhcyBtaXQgUHVtYSApIHp3ZWltYWwgU2VuZiB2ZXJnZXNzZW4uLi4gZWlubWFsIHp1bSBlaW4gdW5kIGVpbm1hbCB6dW0KYXVzc2NoYWx0ZW4uLgpPay4gTGV1dGUgZGllIG1pY2gga2VubmVuIGtvZW5uZW4gYXVjaCBiZWhhdXB0ZW4gZGFzIGljaCBpbSBlcnN0ZW4gdGVpbAp2ZXJnZXNzZW4gaGFiIGRlbiBTZW5mIGF1cyB1bmQgZGFuYWNoIHdpZWRlciBlaW56dXNjaGFsdGVuLi4uIEFiZXIgZGFzIGlzdCBqYQplaWdlbnRsaWNoIGVnYWwuLi4KCldhcyBpY2ggZWlnZW50bGljaCBzYWdlbiB3b2xsdGUgaXN0IGRhcyB3YXMgcmVpbmVsZGUgZ2VzYWd0IGhhdC4uLgp0cmVmZmVuZGVyIGthbm4gaWNocyBlaW5mYWNoIG5pY2h0IG1laHIgc2FnZW4uLi4KUm9lc3RpIHNjaHJlaWJ0IGRlbiBBcnRpa2VsIG51ciB3ZWlsIGVyIGFuc2NoZWluZW5kIGZhbHNjaCB2ZXJzdGFuZGVuCnd1cmRlLi4uIEVyIGhhdCBuaXggZ2VnZW4gTWFnaWVyLi4uIGdlZ2VuIGtlaW5lbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCAnbmUgbmV1ZSBSdWJyaWssIGJpdHRlISAoTG9jbywgMjEuIERleiAxOTk1LCAxMjowNzoyNCk6Cn4jISBybj1Sb2VzdGkgcnQ9ODE5NTQzNjQzCn4jISB0aWQ9ODE5NTQzNjQzCkxpZXMgZW50d2lja2x1bmcuIE1laW5lbiBBcnRpa2VsIHZvbiBnZXN0ZXJuIGdlZ2VuIDE4LjAwIFVoci4KTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTVBBIChJbHZlcywgMjMuIERleiAxOTk1LCAxNzozNTowOCk6Cn4jISBybj1adWVyaWxldSBydD04MTk0MTA4ODYKfiMhIHRpZD04MTk0MTA4ODYKSWNoIHdpbGwgamEgZ2FyIG5pY2h0IGRpZSBnYW56ZSBSdWJyaWsgYWxzIGdlbGVzZW4gbWFya2llcmVuLCBzb25kZXJuIG51cgphbGxlIEFydGlrZWwgZWluZXMgYmVzdGltbXRlbiBUaGVtYXMhCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTVBBIChVbG8sIDI3LiBEZXogMTk5NSwgMTk6MzM6NDMpOgp+IyEgcm49SWx2ZXMgcnQ9ODE5NzM2NjQ5Cn4jISB0aWQ9ODE5NDQ5MzU0CkRhIGVzIHNpY2ggYmVpIGRlbiBNdWVsbGVybiBvZnRtYWxzIHVtIGRpZXNlbGJlbiBQZXJzb25lbiBoYW5kZWx0LCB3YWVyZSBlcwp2aWVsbGVpY2ggbWFjaGJhciwgZGFzIG1pdCBpbSAnaWdub3JpZXJlJyBlaW56dWJhdW4sIHouQi4gJ2lnbm9yaWVyZQptcGEueHh4Jy4KSWNoIGRlbmtlLCBkYXNzIG1hbiBtaXQgZGVtIElnbm9yaWVyZW4gdm9uIHNvIGV0d2EgMTAtMjAgTGV1dGVuIGluIGRlciBNUEEKZGVuIE11ZWxsZ2VoYWx0IGRyYXN0aXNjaCByZWR1emllcmVuIGthbm4hIEJlc3NlciB3YWVyZSBuYXR1ZXJsaWNoLCB3ZW5uIHNpY2gKZGllIExldXRlIGV0d2FzIHp1c2FtbWVucmVpc3NlbiB3dWVyZGVuLCBhYmVyIGRhcmF1ZiBob2ZmZSBpY2ggc2Nob24gbmljaHQKbWVoci4KVWxvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVlc3RzIHVuZCBLb21tZW50YXJlIChJbHZlcywgMjcuIERleiAxOTk1LCAyMjo1ODoyMik6Ck51biBoYWJlIGljaCBlaW4gcGFhciBRdWVzdHMgZ2Vsb2VzdCwgYmluIGplZGVzIE1hbCBpbnMgUG9zdGFtdCBnZXJhbm50LApoYWJlIGRlbiBCcmllZiBnZWxlc2VuLCBpbiBkZW0gaWNoIHVtIG1laW5lIE1laW51bmcgZ2ViZXRlbiB3dXJkZSB1bmQgaGFiZQpkaWVzZSBhdWNoIHJlY2h0IGF1c2Z1ZWhybGljaCBrdW5kZ2V0YW4uIFVuZCBkYW5uIHdhciBTY2h3ZWlnZW4gaW0gV2FsZGUuCkJla29tbXQgbWFuIHZvbiBkZW4gTWFnaWVybiBhdWNoIG1hbCBlaW5lIEFudHdvcnQgb2RlciBlaW5lbiBLb21tZW50YXIgenUKZGVuIFZvcnNjaGxhZWdlbiwgZGllIG1hbiBtYWNodD8gT2RlciBzaW5kIGRpZSBRdWVzdHMgc28gYWx0LCBkYXNzIGRhIHNvd2llc28Ka2VpbmVyIG1laHIgd2FzIGRyYW4gYWVuZGVybiB3aWxsLCB1bmQgbGllc3Qgc293aWVzbyBuaWVtYW5kIG1laHIgZGllClF1ZXN0LUtvbW1lbnRhcmU/CgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTVBBIChSYWZmaSwgMjcuIERleiAxOTk1LCAyMzowMTozNCk6Cn4jISBybj1VbG8gcnQ9ODIwMDg5MjIzCn4jISB0aWQ9ODE5NDQ5MzU0CgpWZXJibGVpYnRyIGFsc28gYmxvc25vY2ggenUgZGVmZmluaWVyZSwgdW56d2FyIEFMTEdFTUVJTiwgd2FzIG11ZWxsIGlzdCAtIHVuZApkYSBzaW5kIGRpZSBQcmFlZmVyZW56ZW4gZG9jaCByZWNodCB1bnRlcnNjaGllZGxpY2guLi4uCgpHcnVzcwpILgooSGF0IGRpZXNlIERpc2sgbGFuZ3NhbW0gc2F0dCAtIHVuZCBsaWVzc3Qgd2VpdGVyIGFsbGUgcnVicmlrZW4gLSBlcyBzdHRlaHQKZWggenV3ZW5pZyBpbiBkZXIgTVBBKQpubm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWVzdHMgdW5kIEtvbW1lbnRhcmUgKEZlbGFndW5kLCAyOC4gRGV6IDE5OTUsIDAyOjU5OjAwKToKfiMhIHJuPUlsdmVzIHJ0PTgyMDEwMTUwMgp+IyEgdGlkPTgyMDEwMTUwMgpkYXMgd2FyIGdhcm5lZGQgc28gZ2VkYWNodCwgZGFzcyBkaWUgZGFyYXVmIGFudHdvcnRlbi4uZGllIGFudHdvcnQgc2llaHN0IGR1CmRhbm4gaW4gdmVyYmVzc2VydW4sIHNvd2VpdCBkdSBzaW5udm9sbGUgdm9yc2NobGFlZ3N0LCBkZXIgbWFnIHplaXQgaGF0IHVuZApkYXMgYXVjaCBzaW5udm9sbCBmaW5kZXQgOykKZ3J1c3MgRmVsYQpoYWIgZGllIFB1bmt0ZSB2ZXJnZXNzZW4gYWJlciBuYWphLCBkYW5uIGtvbW1lbiBkaWUgaGFsdCBuYWNodHJhZWdsaWNoLi4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUXVlc3RzIHVuZCBLb21tZW50YXJlIChDYXR3ZWF6bGUsIDI4LiBEZXogMTk5NSwgMTA6NTY6MzYpOgp+IyEgcm49SWx2ZXMgcnQ9ODIwMTAxNTAyCn4jISB0aWQ9ODIwMTAxNTAyCkFyZ2wuCkRhbm4gd3VlcmQgaWNoIGphIGRhdWVybmQgbWFpbHMgc2NocmVpYmVuIG11ZXNzZW4uIERlciBlaW5lIEJyaWVmCmRlbiBEdSBzY2hyZWlic3QgKGphamEsIGVzIHNpbmQgdWViZXIgNDAgUXVlc3RzKSBpc3QgamEgbmljaHQgYWxsZXMKd2FzIGljaCBrcmllZ2UuIEljaCBiZWtvbW1lIGJlc3RpbW10IHRhZWdsaWNoIHNvbmVuIEJyaWVmIHVlYmVyClZhbGdlc3NhLgpEaWVzZSBCaXR0ZSB1bSBBbnR3b3J0IGF1ZiBlaW5lIFF1ZXN0IGRpZW50IGltIGFsbGdlbWVpbmVuIGRhenUsIGRlbQpNYWdpZXIgc2VpbmUgZWlnZW5lIFF1ZXN0IGF1cyBTaWNodCBkZXIgU3BpZWxlciBuYWVoZXIgenUgYnJpbmdlbiwKd2FzIG5hZW1saWNoIGdhciBuaWNodCBzZWxic3R2ZXJzdGFlbmRsaWNoIGlzdC4gRWluIE1hZ2llciBkZW5rdCBoYWV1ZmlnCmFuIGdhbnogYW5kZXJlIERpbmdlIGFscyBlaW4gU3BpZWxlciwgZGFoZXIgaXN0IGVyIGF1ZiBkZXNzZW4gTWl0YXJiZWl0CmFuZ2V3aWVzZW4uIFVuZCBkaWVzZSBCcmllZmUgc2luZCBkYWZ1ZXIgZWluZSBhZWhubGljaGUgSGlsZmUsIHdpZQonYnVnJywgJ3R5cG8nIHVuZCAnaWRlZScuCkFsc28sIGltbWVyIGJyYXYgd2VpdGVyIGFudHdvcnRlbiwgc28gaGVsZnQgaWhyIGFscyBTcGllbGVyIGltbWVyIG1pdCwKZGFzIE1vcmdlbkdyYXVlbiB6dSB2ZXJiZXNzZXJuIHVuZCB6dSB2ZXJzY2hvZW5lcm4uCllvdXJzIHRydWx5LAogICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNUEEgKExvY28sIDI5LiBEZXogMTk5NSwgMTc6NTc6MzEpOgp+IyEgcm49VWxvIHJ0PTgyMDA4OTIyMwp+IyEgdGlkPTgxOTQ0OTM1NApHaWJ0cyBzY2hvbi4gSGVpc3N0ICdpZ25vcmllcmUgbmFtZS5uZXdzJyAuIFJURk0uCkxvY28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgJ25lIEZyYWdlIChMZXYsIDMwLiBEZXogMTk5NSwgMjE6NTU6MTUpOgoKS2FubiBtaXIgamVtYW5kIHNhZ2VuLCB3aWV2aWVsZSBTcGllbGVyIGVzIGRlcnplaXQgZ2lidD8KV2VubiBqYSwgd2lldmllbGUgc2luZCBlcz8/CgpMZXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsICduZSBGcmFnZSAoQm9pbmcsICAxLiBKYW4gMTk5NiwgMTU6MzA6NTkpOgp+IyEgcm49TGV2IHJ0PTgyMDM1NjkxNQp+IyEgdGlkPTgyMDM1NjkxNQpXaXIgaGFiZW4gY2EuIDExMDAwIFNwaWVsZXItU2F2ZWZpbGVzLCBha3RpdiBkYXZvbiBzaW5kIGFsbGVyZGluZ3MgbnVyCmNhLiAzMDAwLCB3b2JlaSBha3RpdiBiZWRldXRldCwgZGFzcyBtYW4gaW5uZXJoYWxiIGRlciBsZXR6dGVuIDQKV29jaGVuIGVpbmdlbG9nZ3Qgd2FyLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hbCAnbmUgRnJhZ2UgKExvY28sICAyLiBKYW4gMTk5NiwgMTM6MTM6MTkpOgp+IyEgcm49Qm9pbmcgcnQ9ODIwNTA2NjU5Cn4jISB0aWQ9ODIwMzU2OTE1Ck1hbCBuZSBSdWVja2ZyYWdlOgpJY2gga29tbSBudXIgYXVmIDYwMzUgLSB3byBrb21tZW4gZWlnZW50bGljaCBkaWUgYW5kZXJlbiA1MDAwIGhlcj8KCkxvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgVGVsZWtvbXRhcmlmZSAtIHVuZCBudW4/IChUZWxla29tLCAgMy4gSmFuIDE5OTYsIDE4OjI4OjAyKToKCkhhbGxvLApmb2xnZW5kZXMgd3VyZGUga3VlcnpsaWNoIGlucyBGSURPICdnZWZvcndhcmRlZCcsIGljaCBsZWl0ZSBlcyBlaW5mYWNoIG1hbAp3ZWl0ZXIsIGRlbm4gZnVlciBtaWNoIGtsaW5ndCBlcyBuYWNoIGVpbmVyIGd1dGVuIElkZWU6Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoqIE9yaWdpbmFsIGluIEFyZWE6IDxORVRORVdTLkdBWT4KKiBPcmlnaW5hbCB2b24gICAgOiBMdXR6IEVuZ2VsaGFyZHQsIDY5OjQ5LzAKKiBPcmlnaW5hbCBhbiAgICAgOiBBbGwsCiogT3JpZ2luYWwgdWViZXIgICA6ICJUZWxla29tIHRhcmlmcmVmb3JtIDk2IC0gcHJvdGVzdCIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpIaSBBbGwsCgp3aWUgdmllbGxlaWNodCBkZXIgZWluZSBvZGVyIGFuZGVyZSBnZWxlc2VuIGhhdCwgd3VyZGUgaW4gUE9MSVRJSy5HQVkKYXVzIGVpbmVtIGFuZGVyZW4gbmV0eiBlaW4gZ2FueiBwaGFudGFzdGlzY2hlciB1bmQgd2lya2xpY2gga3JlYXRpdmVyCnZvcnNjaGxhZyBnZWZvcndhcmRldCwgd2llIG1hbiBlaW5lbiBhZXVzc2Vyc3Qgd2lya3VuZ3N2b2xsZW4gcHJvdGVzdApnZWdlbiBkaWUgdGFyaWZyZWZvcm0gOTYgZGVyIFRlbGVrb20gZ2VzdGFsdGVuIGthbm4gKHVlYnJpZ2VucyB2aWVsZW4gZGFuawphbiBDaHJpc3RpYW4gZnVlciBkZW4gZm9yd2FyZCkuCgpJY2ggZXJsYXViZSBtaXIgenVuYWVjaHN0LCBkZW4gdm9yc2NobGFnIGxlaWNodCBlcmdhZW56dCBub2NobWFscyBoaWVyIHp1CmJyaW5nZW46CgoxKSBBbGxlLCBkaWUgZGVyIFRlbGVrb20gZWluZSBFaW56dWdzZXJtYWVjaHRpZ3VuZyBlcnRlaWx0IGhhYmVuLAp6aWVoZW4gZGllc2UgenVydWVjayAoTGFzdHNjaHJpZnRlbiBkZXIgbGV0enRlbiA2IFdvY2hlbiBrb2VubmVuCndpZGVycnVmZW4gd2VyZGVuKS4KCjIpIERpZSBSZWNobnVuZ2VuIGF1ZiBrZWluZW4gRmFsbCBtaXQgZGVuIHZvcmdlZHJ1Y2t0ZW4gVWViZXJ3ZWlzdW5ncwp0cmFlZ2VybiBiZXphaGxlbi4KMykgRGllIFJlY2hudW5nZW4gYW0gYmVzdGVuIGluIDItMyBSYXRlbiBtaXR0ZWxzIGhhbmRnZXNjaHJpZWJlbmVyClVlYmVyd2Vpc3VuZ3N0cmFlZ2VyIChub2NoIGdlbWVpbmVyIHNpbmQgVi1TY2hlY2tzKSBiZWdsZWljaGVuLgoKNCkgRGVuIE1vZWdsaWNoa2VpdGVuIHNpbmQgd2VuaWcgR3JlbnplbiBnZXNldHp0OiB6LkIuCiAgIEEgYmV6YWhsdCAxLzIgc2VpbmVyIGVpZ2VuZW4gUmVjaG51bmcgdW5kIDEvMiBkZXIgUmVjaG51bmcgdm9uIEIKICAgICBwZXIgU2NoZWNrCiAgIEIgYmV6YWhsdCBlYmVuZmFsbHMgMS8yIHNlaW5lciBlaWdlbmVuIFJlY2hudW5nIHVuZCAxLzIgZGVyIFJlY2hudW5nCiAgICAgdm9uIEEKCkVpbnppZ2Ugdm9yYXVzc2V0enVuZyBpc3QsIGF1ZiBkZW0gemFobHVuZ3N0cmFlZ2VyICh1ZWJlcndlaXN1bmcKb2RlciB2ZXJyZWNobnVuZ3NzY2hlY2spIG11c3MgdmVybWVya3Qgc2Vpbiwgd2VsY2hlIHJlY2hudW5nIGluCndlbGNoZXJob2VoZSB0ZWlsd2Vpc2UgYXVzZ2VnbGljaGVuIHdlcmRlbiBzb2xsLgoKRGllIEZvbGdlIGlzdDoKCkRpZSBCdWNoaGFsdHVuZyBkZXIgVGVsZWtvbSB3aXJkIGluIGt1cnplciBaZWl0IHdlZ2VuIGRlcyBwbG9ldHpsaWNoIHN0YXJrCgp6dW5laG1lbmRlbiBBcmJlaXRzYXVmd2FuZGVzIChrZWluZSBtYXNjaGluZWxsZSBWZXJidWNodW5nIGRlcgpSZWNobnVuZ3N6YWhsdW5nZW4gbWVociBtb2VnbGljaCkgZ2FueiBhcmcgaW5zIFNjaHdpdHplbiBrb21tZW4gd2VubiBuaWNodAoKc29nb2FyIHVuZmFlaGlnIHdlcmRlbiwgZGVuIFphaGx1bmdzdmVya2VociBaZWl0bmFoIHp1IHZlcmFyYmVpdGVuLgoKSW4gSG9sbGFuZCBzb2xsIHZvciBKYWhyZW4gZWluZSBzb2xjaGUgQWt0aW9uIGRpZSBFbmVyZ2lld2Vya2UgaW4gZGllIEtuaWUKCmdlend1bmdlbiBoYWJlbi4KClNvd2VpdCBkZXIgdm9yc2NobGFnLCBkZXIgc2Nob24gZHVyY2ggZWluaWdlIG5ldHplIGdlZ2FuZ2VuIGlzdC4KCkRpZXNlbiB2b3JzY2hsYWcgaGFiZSBpY2ggYXVmZ2VncmlmZmVuIHVuZCBhbiBlaW5pZ2UgbGV1dGUgd2VpdGVyZ2VnZWJlbi4KSW5uZXJoYWxiIGVpbmVzIHRhZ2VzIGxhZXNzdCBzaWNoIGpldHp0IHNjaG9uIGZvbGdlbmRlcyBzYWdlbjogbGF1dCBGT1AKZmluZGV0IGRlciB2b3JzY2hsYWcgZ3Jvc3NlIHp1c3RpbW11bmcgYmVpIGVpbmVyIHZpZWx6YWhsIGRldXRzY2hlcgoKcHJvdmlkZXIgaW0gYmVyZWljaCBkZXIgb25saW5lLWRpZW5zdGUgd2llIEludGVybmV0LCBDb21wdXNlcnZlLCBBT0wsIHVzdy4KCkRpZSBwcmVzc2UgaW50ZXJlc3NpZXJ0IHNpY2ggbGF1dCBNaWtleSBiZXJlaXRzIGRhZnVlciB1bmQgc2NoZWludCBiZXJlaXQKenUgc2VpbiwgZGllc2VuIHZvcnNjaGxhZyB3ZWl0ZXJ6dXZlcmJyZWl0ZW4uCgpXZW5uIHNpY2ggYXVzIGRpZXNlciBzYWNoZSB3aXJrbGljaCBlaW5lIG1hc3NlbmFrdGlvbiBtYWNoZW4gbGFlc3N0LCB3aXJkCmRpZSBUZWxla29tIG5pY2h0IG51ciBpbnMgc2Nod2l0emVuIGtvbW1lbiwgc29uZGVybiB3aXJkIGludGVybgpmdW5rdGlvbnN1bmZhZWhpZy4KRWluIHByb3Rlc3QgbWl0IGFic29sdXQgbGVnYWxlbiBtaXR0ZWxuIHVuZCBlaW5lciByaWVzZW53aXJrdW5nIG9obmUKc2NoYWVkaWd1bmcgYXVzc2Vuc3RlaGVuZGVyLiBFaW5mYWNoIGdlbmlhbCEgOi0pCgpEZW5rdCBhbiBkaWUgYWt0aW9uZW4gZ2VnZW4gU2hlbGwgd2VnZW4gZGVyIG9lbGJvaHJpbnNlbDogZGVyIHZlcmJyYXVjaGVyCmthbm4gZXR3YXMgbWFjaGVuLCB3ZW5uIGVyIHNpY2ggbWl0IGFuZGVyZW4genVzYW1tZW50dXQuIE5laG10IGRpZSBwYWFyCm1pbnV0ZW4gYXJiZWl0IGF1ZiBldWNoLCBldXJlIHRlbGVmb25yZWNobnVuZ2VuIGFiIHNvZm9ydCBuaWNodCBtZWhyIHBlcgpsYXN0c2NocmlmdGVpbnp1ZyB6dSBiZXphaGxlbiwgc29uZGVybiBtZWhyZXJlIHZlcnJlY2hudW5nc3NjaGVja3MKKG5hdHVlcmxpY2ggZ2V0cmVubnQgdW5kIG1pdCBqZXdlaWxzIHp3ZWkgdGFnZW4gYWJzdGFuZC4uLi4pIHp1IHNjaGlja2VuCm9kZXIgei5iLiBtaXQgYmFyZWluemFobHVuZ2VuIGJlaW0gcG9zdGFtdCAoaGFuZGdlc2NocmllYmVuZSBlaW56YWhsdW5nCmVpbmVzIHRlaWxiZXRyYWdlcykgenUga29tYmluaWVyZW4uIERpZXNlIGFrdGlvbiB3aXJkIHNvd29obCBpbiBhbGxlbgplcnJlaWNoYmFyZW4gbmV0emVuIGVtcGZvaGxlbiBhbHMgYXVjaCB1ZWJlciBvbmxpbmUtZGllbnN0ZSB1bmQgZGllIHByZXNzZQp2ZXJvZWZmZW50bGljaHQuIFdlbm4gd2lyIGpldHp0IG5vY2ggZGllIGVpbmUgb2RlciBhbmRlcmUgcnVuZGZ1bmtzdGF0aW9uCmRhZnVlciBpbnRlcmVzc2llcmVuIGtvZW5uZW4sIGlzdCBkaWUgc2FjaGUgcGVyZmVrdC4KCkxpZWJlIGdydWVzc2UsCgogICAgICAgICAgICAgIElocmUgZGV1dHNjaGUgVGVsZWtvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgVGVsZWtvbXRhcmlmZSAtIHVuZCBudW4/IChUZWxla29tYiwgIDQuIEphbiAxOTk2LCAxODozNToxNCk6Cn4jISBybj1UZWxla29tIHJ0PTgyMDY5MDA4Mgp+IyEgdGlkPTgyMDY5MDA4MgphbHNvIG1laW5lcyB3aXNzZW5zIHdpcmt0IGF1Y2ggaGVydm9ycmFnZW5kIGRhcyB1ZWJlcndlaXNlbiB2b24KaGFsYmVuIHBmZW5uaWdlbgp1bmQgZGFzIHVlYmVyd2Vpc2VuIHZvbiAxIHBmIG1laHIgYWxzIGluIGRlciByZWNobnVuZyBzdGVodCEKKHd1cmRlIGdsYXViIGljaCBlcmZvbGdyZWljaCBiZWkgZGVyIHN0ZXVlciBzY2hvbiBtYWwgYW5nZXdhbmQhKQpldXJlIHRlbGVrb21CCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmV1bmRzY2hhZnRzYmFuZCBnZWtpbGx0ISAoTHVnLCAgNS4gSmFuIDE5OTYsIDIxOjMxOjE2KToKSGFsbG8gbGllYmUgRnJldW5kZSwKCmRhIG1laW4gQmFuZCBnZWtpbGx0IHd1cmRlLCBrbGVpbmVyIE1hZ2llcnVuZmFsbCwgc2VpdCBJaHIgYmVpICBtaXIgbmljaHQKbWVociByYXVmLiBOaWNodCBib2VzZSBzZWluIHVuZCBlcm5ldWVybi4KR3J1c3MKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0cyB1bmQgS29tbWVudGFyZSAoSWx2ZXMsICA2LiBKYW4gMTk5NiwgMjM6NTY6NDgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyMDE0NDU5Ngp+IyEgdGlkPTgyMDEwMTUwMgpVbmQgbWlyIGdlaHQgZXMgZ2VuYXUgYW5kZXJzIHJ1bS4gSWNoIG1vZWNodGUgbGVybmVuLCBzbyB6dSBkZW5rZW4sCmRhc3MgaWNoIFF1ZXN0cyBhbGxlaW4gb2huZSBmcmVtZGUgSGlsZmUgbG9lc2VuIGthbm4uCldhcyBoYWV0dGUgbWlyIGF1ZmZhbGxlbiBtdWVzc2VuPyBXYXMgaGFldHRlIGljaCB1bnRlcnN1Y2hlbiBtdWVzc2VuPwpCZWlzcGllbDogSWNoIHdlaXNzIGluendpc2NoZW4sIHdpZSBpY2ggZGFzIEdyaXN1LVF1ZXN0IGxvZXNlbiBrYW5uLAppbnp3aXNjaGVuIHdhciBpY2ggbWl0IG1laHJlcmVuIFp3ZWl0aWVzIG9iZW4gYmVpIEZhY2hhciwgYWJlciB0cm90egppbnRlbnNpdmVuIFN1Y2hlbnMgaGFiZSBpY2ggbm9jaCBuaWNodCByYXVzZ2VrcmllZ3QsIHdpZSBpY2ggZGFyYXVmIGtvbW1lbgpzb2xsLCBkYXNzIGVzIGRhIG9iZW4gZWluZSBTUFVSIGdpYnQuIERlc2hhbGIgdmVyc3VjaGUgaWNoIG5hY2h6dXZvbGx6aWVoZW4sCndhcyBpY2ggdWViZXJzZWhlbiBoYWJlLCBkYW1pdCBpY2ggYmVpbSBuYWVjaHN0ZW4gUXVlc3QgYmVzc2VyIGF1ZnBhc3NlLgpVbmQgZGVzaGFsYiBzdGVsbGUgaWNoIEZyYWdlbiB1bmQgbW9lY2h0ZSBBbnR3b3J0ZW4gYmVrb21tZW4uCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IHVuZCBJbnZlbnRvcnkgKElsdmVzLCAgNy4gSmFuIDE5OTYsIDAwOjAwOjU2KToKU2VpdCBpY2ggZGFzIEhpbGJlcnQtUXVlc3QgZ2Vsb2VzdCBoYWJlLCBiZXNpdHplIGljaCBkaWVzZW4gbmV0dGVuClphdWJlcnN0YWIuIERhcyBGYW50YXN0aXNjaGUgZGFyYW4gaXN0LCBkYXNzIGVyIHNjaG9uIG1laHJlcmUgUmVib290cwp1ZWJlcmxlYnQgaGF0LiBEYSBmcmFnZSBpY2ggbWljaCwgd2FydW0gZXMgbmljaHQgbW9lZ2xpY2ggaXN0LCBkYXNzIG1laW5lCmFuZGVyZW4gU2FjaGVuIGVpbmVuIFJlYm9vdCBlYmVuZmFsbHMgdWViZXJzdGVoZW4hCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCB1bmQgSW52ZW50b3J5IChSZWluZWxkZSwgIDcuIEphbiAxOTk2LCAwMToxNTowNCk6Cn4jISBybj1JbHZlcyBydD04MjA5NjkyNTYKfiMhIHRpZD04MjA5NjkyNTYKZXMgaXN0IG1vZWdsaWNoIGFiZXIgbmljaHQgdm9yZ2VzZWhlbmUuIGJ0dy4gYXVjaCBkaWVzIGlzdCBlaW4gdGhlbWEsIGRhc3MKYWxsZSAzIG1vbmF0ZSBtYWwgd2llZGVyIGtvbW10IDspCgpyZWluZWxkZSAtIGdyb3NzbXVldHRlcmxpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IHVuZCBJbnZlbnRvcnkgKFp1ZXJpbGV1LCAgNy4gSmFuIDE5OTYsIDAxOjM1OjQyKToKfiMhIHJuPVJlaW5lbGRlIHJ0PTgyMDk3MzcwNAp+IyEgdGlkPTgyMDk2OTI1NgpTYWxpIHJlaW5lbGRlLApKbyBMZWlkZXIga29tbXQgZGllc2VzIFRoZW1hIGltbWVyd2llZGVyIHZvciwgaWNoIGZyYWcgbWljaCBudXIgd28gZGVyIFJlaXoKYW0gU3BpZWwgYmxlaWJ0IHdlbm4gYWxsZXMgQXV0b2xvYWQgd2FlcmUuIEljaCBtZWluZSB3byBibGVpYnQgZGVyIFNwaWVsc3Bhc3MKd2VubiBqZWRlciBTcGllbGVyIGFsbGVzIHNjaG9uIHZvbiBhbmZhbmcgYW4gYmVpIHNpY2ggaGFiZW4ga2Fubi4gU293YXMgaXN0CmRvY2ggb2VkZSB1bmQgc29sbHRlIGplZGVtIGVpbmxldWNodGVuIGRhcyBzb2V0d2FzIHNpY2hlciBuaWNodCBlaW5nZWZ1ZWhydAp3aXJkLgoKVHNjaHVlc3MgWnVlcmlsZXUgKHVudGVyd2VsdHNjaHJlY2tnZXNwZW5zdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdCB1bmQgSW52ZW50b3J5IChKZXJyaWNvLCAgOC4gSmFuIDE5OTYsIDA5OjE0OjE5KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTgyMDk3NDk0Mgp+IyEgdGlkPTgyMDk2OTI1NgpNYW4gaGF0IGphIG5pY2h0IGFsbGVzIHZvbiBBbmZhbmcgYW4sIG1hbiBtdWVzc3RlIGVzIHNpY2ggenVtaW5kZXN0IGVpbm1hbApiZXNvcmdlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2ggSGEgISAoT2V0dGksICA4LiBKYW4gMTk5NiwgMTE6MDA6NTgpOgpZbyBQcGwgIQoKUkwgdmVybGFuZ3QgZGVyemVpdCB2aWVsIEVpbnNhdHogdm9uIG1pciwgZGVzd2VnZW4sIGJpbiBpY2ggbWFsCmF1ZiB1bmJlc3RpbW10ZSBaZWl0LCBpcmdlbmR3aWUgd2VjaC4KCk1hY2h0cyBndXQsIHVuZCBiaXNzaWUgVGFhZ2UgIQoKT2V0dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPaCBIYSAhIChBbmFraW4sICA4LiBKYW4gMTk5NiwgMTE6MDE6NDkpOgp+IyEgcm49T2V0dGkgcnQ9ODIxMDk1MjU4Cn4jISB0aWQ9ODIxMDk1MjU4CkF1Y2ggWW8gIQoKSWNoIGJpbiBhdWNoIHdlY2guIElyZ2VuZHdpZS4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFRlbGVrb210YXJpZmUgLSB1bmQgbnVuPyAoQXJhbnlhLCAgOC4gSmFuIDE5OTYsIDEyOjEzOjU4KToKfiMhIHJuPVRlbGVrb20gcnQ9ODIwNjkwMDgyCn4jISB0aWQ9ODIwNjkwMDgyCkF1Y2ggd2VubiBlcyBzY2hvbiBldHdhcyBoZXIgaXN0LCBhdWNoIHZvbiBtZWluZXIgU2VpdGUgZWluIGtsZWluZXIgVGVsZWR1bW0tCkFlcmdlci1NZWNoYW5pc211czoKCjE6IHBlciBIYW5kIGJlemFobGVuIChrbGFyKSwgMiwyMCB6dXZpZWwgcmF1ZnNjaHJlaWJlbiB1bmQgZGllIDIsMjAgZGFubgp6dXJ1ZWNrZm9yZGVybi4KMjogTmFjaCBkZXIgS3VlbmRpZ3VuZyBkZXIgRWluenVnc2VybWFlY2h0aWd1bmcgZGllc2VsYmUgd2llZGVyIGVpbnJpY2h0ZW4KdW5kIG5hY2ggbmVyIGhhbGJlbiBXb2NoZSB3aWVkZXIga3VlbmRpZ2VuLiBOZXR0ZXMgU3BpZWxjaGVuLgoKSmEsIHNjaG9lbiBEYW5rIGF1Y2ggYW4gZGVuIERldXRzY2hsYW5kZnVuaywgZGVyIHNlaW5lbSBuZXVlbiBOYW1lbiBETFJLCihlaWcuCkRldXRzY2hsYW5kUmFkaW8gS29lbG4sIGltIERMRi1pbnRlcm5lbiBHZWJyYXVjaCBhYmVyIGF1Y2ggRGV1dHNjaGVzIExlYmVucy0KcmV0dHVuZ3MtIHVuZCBLYXRhc3Ryb3BoZW4tUmFkaW8gZ2VuYW5udCkgZ2VyZWNodCB3aXJkLgoKSm9obyEKCkFyYW55YQogICAgICBtZWRpZW5nZWlsCgpOTk4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCB1bmQgSW52ZW50b3J5IChKb2YsICA4LiBKYW4gMTk5NiwgMTU6MzU6MzYpOgp+IyEgcm49SmVycmljbyBydD04MjEwODg4NTkKfiMhIHRpZD04MjA5NjkyNTYKCiBBYmdlc2VoZW4gdm9uIGFsbGVuIGFuZGVyZW4gR3J1ZW5kZW4gaXN0IGVzIGF1Y2ggdGVjaG5pc2NoIG5pY2h0IG1vZWdsaWNoLAplaW5lbiBhbGxnZW1laW5lbiBXZWcgenUgZmluZGVuLCBBTExFIE9iamVrdGUgYXV0b2xvYWQgenUgbWFjaGVuLCBkYSBpaHIKU3RhdHVzIGpld2VpbHMga29tcGxldHQgYWJnZXNwZWljaGVydCB3ZXJkZW4gbXVlc3N0ZW4gKGplZGVuZmFsbHMgaXN0IGRhcwpuaWNodCBtaXQgYWt6ZXB0YWJsZW0gQXVmd2FuZCByZWFsaXNpZXJiYXIpLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUXVlc3RzIHVuZCBLb21tZW50YXJlIChBc21vZGlzLCAgOC4gSmFuIDE5OTYsIDE1OjQxOjQ5KToKfiMhIHJuPUlsdmVzIHJ0PTgyMDk2OTAwOAp+IyEgdGlkPTgyMDEwMTUwMgpPY2ggaWNoIGhhdHRlIGRpZSBTUHVyIGJlaW0gZXJzdGVuIE1hbCBnbGVpY2ggZ2VmdW5kZW4sIG5hdHVlcmxpY2ggZXJzdCwKbmFjaGRlbSBpY2ggRmFjaGFyIGVybGVkaWd0IGhhdHRlLCBkZXIgbmVydnQgYmVpbSBzdWNoZW4gOikKCkRhcyBHZWhlaW1uaXMgbWVpbmVzIEVyZm9sZ2VzIGlzdCwgZGFzcyBpY2ggYWxsZSBEZXRhaWxzIHVudGVyc3VjaGUuCkF1c3NlcmRlbSB1bnRlcnN1Y2hlIGljaCBhdWNoIG5vY2ggZGllIERldGFpbHMgaW4gZGVuIERldGFpbHMgOikKCiAgICAgICAgIENpYW8sIEFzbW9kaXMgKHN1Y2h0IG5lIFNlaGVyLUtvbXBsZXR0bG9lc3VuZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFF1ZXN0cyB1bmQgS29tbWVudGFyZSAoQXNtb2RpcywgIDguIEphbiAxOTk2LCAxNTo0NDoxNCk6Cn4jISBybj1KZXJyaWNvIHJ0PTgyMTExMjE5MAp+IyEgdGlkPTgyMDEwMTUwMgpFbmRsaWNoIG5lbiByaWNodGlnZW4gU2VoZXItQ2x1YiBhdWZtYWNoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsaS1CZWl0cmFjaCAoTWFyaXRhLCAgOS4gSmFuIDE5OTYsIDE4OjU3OjM3KToKSGkgYWxsZSwKCkhpZXIgbnVuIGRlciBhbmdla3VlbmRpZ3RlIEJlaXRyYWcgYXVzIGRlciBBbGktVHJpY2traXN0ZS4gRXMgc3RlaHQgbWlyIG1pdApMZXZlbCAxMSBzaWNoZXIgbmljaHQgenUsIGhpZXIgZGllIE9iZXJsZWhyZXJpbiByYXVzenVrZWhyZW4uIEJldHJhY2h0ZXQgZGFzCmZvbGdlbmRlIGVpbmZhY2ggYWxzIFNlcnZpY2UgdW50ZXIgdW5zIExMUC4KCkFuIGFsbGUgYXVzZ2VmdWNoc3RlbiBBbGktSm9uZ2xldXJlOiBVZWJlcnNjaGxhZ3QgZGllc2VuIEFydGlrZWwgZWluZmFjaAooZGVubiBFdWNoIGVyemFlaGxlIGljaCBoaWVyIHNvd2llc28gbmljaHRzIE5ldWVzKS4gT2RlciBub2NoIGJlc3NlcjogTWFpbHQKbWlyIEV1cmUgdHJpY2tyZWljaGVuIEFsaS1Lb25zdHJ1a3Rpb25lbiwgZGFtaXQgaWNoIHNpZSBpbiBlaW5lbSB3ZWl0ZXJlbgpBcnRpa2VsIHp1c2FtbWVuZmFzc2VuIGthbm4uCgpXZXIgYWxpYXMgbm9jaCBnYXIgbmljaHQga2VubnQgLT4gaGlsZmUgYWxpYXMKCgoxKSBBbGktQmVmZWhsZSBkdWVyZmVuIGF1Y2ggQWxpLUJlZmVobGUgZW50aGFsdGVuLiBEYWR1cmNoIGVyZ2lidCBzaWNoIGRpZQpDaGFuY2UsIEFsaXMgenUgJ2thc2thZGllcmVuJy4gRGFzIFByb2JsZW0gbWl0IGRlciBzdGFlbmRpZ2VuIGxhZXN0aWdlbgpXaWVkZXJob2x1bmcgbGFuZ2VyIE5hbWVuIGxhZXNzdCBzaWNoIGRhbm4gbG9lc2VuIGR1cmNoCgo+IGFsaSBxcSBhbGkgcSBmcmFnZSAkMSBuYWNoICQyKgoKV2VubiBtYW4gZWluZW4gTlBDIGF1c2ZyYWdlbiB3aWxsLCBtYWNodCBtYW4gZGFubjoKCj4gcXEga29tcGxpemllcnRlcm5hbWVlaW5lc25wYyAkKgo+IHEgc3RpY2h3b3J0MQo+IHEgc3RpY2h3b3J0Mgo+IHEgc3RpY2h3b3J0MwoKV2VubiBaYXViZXJzcHJ1ZWNoZSBub2NoIHp1IG9mdCBtaXNzbGluZ2VuLCBrb21tdCBhdWNoIGd1dDoKCj4gYWxpIGlkIGFsaSBpZGUgaWRlbnRpZml6aWVyZSAkKgoKPiBpZCBsYW5nZXJuYW1lZWluZXNvYmpla3Rlcwo+IGlkZQo+IGlkZQo+IGlkZQoKYmlzIGRlciBTcHJ1Y2ggZ2x1ZWNrdC4gV2VubiBkaWUgVGFzdGVuICYtMCAndmVya2VocnNndWVuc3RpZycgbGllZ2VuLCBpc3QKaGllciBkZXIgZGlyZWt0ZSBXZWcgbWl0IEhpc3RvcnktRnVua3Rpb24gamVkb2NoIGd1ZW5zdGlnZXI6Cgo+IGFsaSBpZCBpZGVudGlmaXppZXJlICQqCgo+IGlkIGxhbmdlcm5hbWVlaW5lc29iamVrdGVzCj4gJi0wCj4gJi0wCgoKMikgV2VyIG1pdCBQZmVpbGVuIGthZW1wZnQgKFNlaGVyIG5pY2h0IGxhY2hlbiksIGFsc28gYWx0ZXJuYXRpdiBkZW4gU2NoaWxkCmF1c3ppZWhlbiBvZGVyIGRpZSBiZWlkaGFlbmRpZ2UgV2FmZmUgd2Vnc3RlY2tlbiBtdXNzLCBrb2VubnRlIGZvbGdlbmRlIEFsaXMKZ2VicmF1Y2hlbjoKCj4gYWxpIHMxIGFsaSAxIHppZWhlICQqIGF1cwo+IGFsaSBzMyBhbGkgMyB6aWVoZSAkKiBhbgo+IGFsaSB3MSBhbGkgMSBzdGVja2UgJCogd2VnCj4gYWxpIHczIGFsaSAzIHp1ZWNrZSAkKgo+IGFsaSAyIHBmZWlsCgpWb3JiZXJlaXR1bmcgZWluZXMgS2FtcGZlczoKCj4gczEgbGVkZXJzY2hpbGQKPiBzMyBsZWRlcnNjaGlsZAoKYnp3LgoKPiB3MSBsYW5nc2Nod2VydAo+IHczIGxhbmdzY2h3ZXJ0CgpJbSBLYW1wZnZlcmxhdWYgcmVpY2h0IGRhbm4KCj4gMQo+IDIKPiAzCgpBZWhubGljaGVzIGdpbHQgYXVjaCBmdWVyIGRlbiBGZXVlcmJhbGwuIChXZXIgc2FndCBtaXIgZWluZSBNb2VnbGljaGtlaXQsIHdpZQppY2ggU2NoaWxkIG9kZXIgV2FmZmUgbnVyIDF4IHN0YXR0IDJ4IGVpbmdlYmVuIG11c3M/IEJpdHRlIG1haWxlbikKCgozKSBXZXIgZXJmYWhydW5nc2dlbWFlc3MgaW1tZXIgZGllIHNlbGJlbiBTY2hyZWliZmVobGVyIG1hY2h0LCBrYW5uCidhdXRvbWF0aXNjaGUnIEtvcnJla3R1ciBlcnppZWxlbjoKCj4gYWxpIHV0biB1bnQgJCoKCkF1ZiBkaWVzZSBXZWlzZSBmdW5rdGlvbmllcmVuIHouIEIuIGJlaSBtaXIgZGllIFNjaHJlaWJ3ZWlzZW4gdXRuLCBsY2lodCwKdm9yc2NpaHQuIE1hbmNoZSBMZXV0ZSBrb2VubmVuIHN0YXR0ICdubicgYXVjaCBtaXQgJ2JiJyB1bmQgJ21tJyBaZWl0dW5nCmxlc2VuLiA7KQoKCjQpIE1hbiBkYXJmIGF1Y2ggQWxpLU5hbWVuIGRlZmluaWVyZW4sIGRpZSBlaWdlbnRsaWNoIGVpbiBCZWZlaGxzd29ydCBzaW5kLgpEZXIgQmVmZWhsIHdpcmQgZGFkdXJjaCAnenVnZWRlY2t0Jy4gQW5kZXJlcnNlaXRzIGtvZW5uZW4gZGVmaW5pZXJ0ZSBBbGlzCm5pY2h0IGluIGFuZGVyZSBBbGktRGVmaW5pdGlvbmVuIGVpbmdlYmF1dCB3ZXJkZW47IHNpZSB3ZXJkZW4gbmljaHQgZXJrYW5udApiencuICd6dWdlZGVja3RlJyBCZWZlaGxlIGhhYmVuIHdpZWRlciBpaHJlIHVyc3BydWVuZ2xpY2hlIEJlZGV1dHVuZyAoJ2FsaSBtYQp0bSBtYXJpdGEgJConIGZ1ZWhydCBhbHNvIG5pY2h0IHp1bSBaaWVsKS4gVm9ydGVpbGU6CgpFaW5mYWNoZSBWZXJiZW4gbGFzc2VuIHNpY2ggc3RhbmRhcmRtYWVzc2lnIHVtIGVpbmUgUXVvdGF0aW9uIG9kZXIgZWluIEFkdmVyYgplcndlaXRlcm4gb2RlciBkdXJjaCBnZWVpZ25ldGUgRW1vdGVzIGdhbnogZXJzZXR6ZW4sIHouIEIuCgo+IGFsaSB3ZWluIHdlaW4gL1JvdHogdW5kIFdhc3NlcgoKV2VubiBqZW1hbmQgbWVpbmVtIFRyYW5zcG9ydHNrbGF2ZW4gQmYuIGVpbmVuIFdpdHogZXJ6YWVobHQsIHBhc3NpZXJ0OgoKPiBsYWNoCkJhaG5ob2YgbGFjaHQgc2ljaCBlaW5lbiBnYW56ZW4gSW50ZXJDaXR5LgoKTWFuIGhhdCBzbyBhdWNoIGRpZSBDaGFuY2UsIHNpY2ggdm9yIGRlciBFaW5nYWJlIGZhbHNjaGVyIEJlZmVobGUgenUKc2NodWV0emVuIG9kZXIgc29nYXIgaW4gTW9kZSBnZWtvbW1lbmUgS3VyenNjaGx1c3NoYW5kbHVuZ2VuIHp1IHZlcmhpbmRlcm46Cgo+IGFsaSBzZWxic3Rsb2VzY2h1bmcgdGVpbGUgZWlnZW5lcm5hbWUgbWl0IEljaCBiaW4ncywgRGVpbiBHZXdpc3NlbiEgRGFzIGlzdApzaWNoZXIgbnVyIGVpbmUgS3VyenNjaGx1c3NyZWFrdGlvbiEgVWViZXJsZWdlIGVzIERpciBub2NobWFsIGJpcyBtb3JnZW4uCgoKNSkgKGVpbmdlc2FuZHQgdm9uOiBCb2luZykgQXVjaCB3ZW5uIGVzIG51ciBpbmRpcmVrdCBtaXQgQWxpYXMgenUgdHVuIGhhdDoKQmVpIHRlaWxlLW1pdCBsYWVzc3Qgc2ljaCBkZXIgc3BpZWxlcm5hbWUgYXVjaCBkdXJjaCBlaW5lbiBQdW5rdCAuIGVyc2V0emVuLgpEYW5uIHdpcmQgZGVyIHp1bGV0enQgYW5nZXNwcm9jaGVuZSBTcGllbGVyIChzaWVoZSAndG1oaXN0JykgZWluZ2VzZXR6dC4KRGFkdXJjaCB3aXJkIHdhaHJzY2hlaW5saWNoIGZvbGdlbmRlcyBtb2VnbGljaDoKCj4gYWxpIHRtIHRlaWxlICQxIG1pdCAkMioKPiBhbGkgdG1tIHRlaWxlIC4gbWl0ICQqCgo+IHRtIHNwaWVsZXJuYW1lIG5hIGR1Pwo+IHRtbSB3aWUgZ2VodHMgZGVubiBzbyBoZXV0ZT8KCignd2FocnNjaGVpbmxpY2gnIGRlc2hhbGIsIHdlaWwgZGllIEhpc3RvcnktRnVua3Rpb24gYmVpIG1pciB6dXIgWmVpdCBnYXIKbmljaHQgZ2VodCwgaWNoIGVzIGFsc28gbmljaHQgYXVzcHJvYmllcmVuIGthbm47IGRpZXMgaXN0IGxhdXQgQXJ0aWtlbCB2b24KQm9pbmcsIDkuMS4sIDE1OjAzLCBlaW4gQnVnKQoKClp1bSBTY2hsdXNzIG5vY2ggZWluIGtsZWluZXIgQWxpLVF1aXo6IFdhcyBrb21tdCBoZXJhdXMsIHdlbm4gbWFuCm5hY2hlaW5hbmRlciBmb2xnZW5kZSBaZWlsZW4gZWluZ2lidD8gKEF1c3Byb2JpZXJlbiBpc3QgZXJsYXVidCwgZGFubiBhYmVyCmRlbiBUZXh0IGdlbmF1IGVpbmdlYmVuISBXb3p1IGdpYnRzIEN1dCAmIFBhc3RlKQoKYWxpIHJ1ZiBkZW5rICQqCmFsaSBhbGkgYWxpIGRlbmsgcnVmICQxICQ1ICQ0IG5ldHQgOi0pCmRlbmsgV2FydW0gbXVlbGx0IHNpZSBpbW1lciBpbiBkZXIgTVBBIHJ1bT8KYWxpICQ2ICQ1ICQ0ICQzICQyCmRlbmsgRGFzIGlzdCB0b3RhbCBuZXJ2aWcgdm9uIE1hcml0YQoKClZpZWwgU3Bhc3MgbWl0IGRlbiBBbGlzIHd1ZW5zY2h0Ck1hcml0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsaS1CZWl0cmFjaCAoRGhvamFrdCwgMTAuIEphbiAxOTk2LCAxMzo1NToxMCk6Cn4jISBybj1NYXJpdGEgcnQ9ODIxMjEwMjU3Cn4jISB0aWQ9ODIxMjEwMjU3CkVpZ2VudGxpY2ggZ2Vob2VydGUgZGFzIGdhbnplIGphIGluIEVudHdpY2tsdW5nLCBhYmVyIHdlaWxzIGdyYWQgaGllcgpzdGVodC4uLgpIaWVyIG5vY2huIGtsZWluZXIgYWxpLU5hY2h0cmFnLi4uCkljaCBoYWIgaW4gQWJlbnRldXJlcnplaXRlbiBtZWluZSBGZXVlcmJhbGxhbGlzIG1pdCBIaWxmZSB2b24gYWxpcwp1bWRlZmluaWVydCwgbmFjaCBNYXJpdGFzIEJlaXNwaWVsIHNhZWhlIGRhcyBzbyBhdXM6Ci1XaXJrdW5nIGltbWVyOiAyIHdpcmZ0IEZldWVyYmFsbAoKYWxpIGZiIGFsaSAyIGZldWVyYmFsbCAkKgotQmVudXR6dW5nIG1pdCBmYiAkKgotd2lyZnQgbmVuIEZldWVyYmFsbCBhdWYgZWluIHhiZWxpZWJpZ2VzIE1vbnN0ZXIKCmFsaSBmYm4gYWxpIDIgZmV1ZXJiYWxsIG5lY3JvbWFudAotQmVudXR6dW5nIG1pdCBmYm4KLXdpcmZ0IEZldWVyYmFsbCBhdWYgbmVjcm9tYW50IDEKCmFsaSBmYmcgYWxpIDIgZmV1ZXJiYWxsIGdvYmxpbgotQmVudXR6dW5nIG1pdCBmYmcKLXdpcmZ0IEZldWVyYmFsbCBhdWYgZ29ibGluIDEKdXN3LgpEYWR1cmNoIGthbm4gbWFuIG1hbiBzZWluZSBnZXNhbXRlIEZldWVya3JhZnQgYmVpIHNpY2ggdW50ZXJzdHVldHplbmRlbgpNb25zdGVybiBpbW1lciBhdWYgZGFzIGVyc3RlIE1vbnN0ZXIga29uemVudHJpZXJlbi4KCkF1c3NlcmRlbSBtYWNoZW4gc2ljaCBmb2xnZW5kZSBTYWNoZW4gbmljaHQgc2NobGVjaHQ6CmFsaSBpIGkgLW4KYWxpIGluIGkKYWxpIGltIHVudCBtdWVuemVuIGluIG1pcgotV2lya3VuZzogaSB6ZWlndCBudXIgTmljaHRhdXRvbG9hZGdlZ2Vuc3RhZW5kZQotZ2VzYW10ZXMgaW52IHdpcmQgbWl0IGluIGFuZ2V6ZWlndAotaW0gemVpZ3QgTXVlbnplbiwgZGllIG1hbiBncmFkZSB0cmFlZ3QKCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCB1bmQgSW52ZW50b3J5IChJbHZlcywgMTAuIEphbiAxOTk2LCAyMjo0Njo1Nyk6Cn4jISBybj1KZXJyaWNvIHJ0PTgyMTA4ODg1OQp+IyEgdGlkPTgyMDk2OTI1NgpFYmVuISBVbmQgbmFjaCBqZWRlbSBSZXNldCBmYWVuZ3QgZGllIEJlc29yZ2VyZWkgdm9uIHZvcm4gYW4uCkljaCBiaW4gamVkZW5mYWxscyBub2NoIG5pY2h0cyBzdGFyayBnZW51ZywgdW0gZWluZW4gT3JrIG1pdCBlaW5lbQpNdWVja2Vuc3RhY2hlbCB1bXp1bGVnZW4sIGRhenUgbm9jaCBuYWNrdC4KCklsdmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWJvb3QgdW5kIEludmVudG9yeSAoWnVlcmlsZXUsIDExLiBKYW4gMTk5NiwgMDI6MDA6MTgpOgp+IyEgcm49SmVycmljbyBydD04MjEwODg4NTkKfiMhIHRpZD04MjA5NjkyNTYKU2FsaSBpbHZlcywKQXVjaCB3aXIgTWFnaWVyIGhhYmVuIG1hbCBrbGVpbiBhbmdlZmFuZ2VuIHVuZCBkZW5rZSBudW4gbmljaHQgZGFzIGVzIGRhbWFscwpub2NoIGtlaW5lIFJlYm9vdCdzIGdlZ2ViZW4gaGF0LiBOZWluLCBpY2ggd3VlcmQgc29nYXIgZGllIGJlaGF1cHR1bmcKYXVmc3RlbGxlbiBkYXMgZXMgdm9yIGRlbSBuZXVlbiBSZWNobmVyIG1laHIgcmVib290cyBnYWIuIFVuZCBkYXMgZHUgbmljaHQKc3RhcmsgZ2VudWcgYmlzdCB1bSBlaW5lbiBPcmsgbWl0IGVpbmVtIFN0YWNoZWwgdW16dWhhdWVuLCBkYW5uIGdlaGUgaGFsdAp6d2lzY2hlbmR1cmNoIHRhbmtlbiBvZGVyIHZlcnN1Y2hlIERpY2ggYW4ga2xlaW5lcmVuIE1vbnN0ZXJuLiBVZWJlcmlnZW5zCmtlbm5lIGljaCBNdWQncyBkYSBnaWVidCBlcyBqZWRlbiBSZWJvb3RzIHVuZCBkb3J0IGdlaG9lcnQgc293YXMgenVyClRhZ2Vzb3JkbnVuZy4gSWNoIGdsYXViIGRpZSBTcGllbGVyIGhpZXIgc2luZCB2aWVsIHp1IHZlcndvZW5kIG1pdCBkZW0gbWl0IGRlcgptb2VnbGljaGtlaXQgZWluc2NobGFmZW4genUga29lbm5lbiBkYXMgc2llIHZlcmdlc3NlbiBkYXMgZGllcyBlaWdlbnRsaWNoIGtlaW4KZ2V3b2VobmxpY2hlciBTZXJ2aWNlIGlzdC4gSWNoIGthbm4gendhciBqZWRlbiBTcGllbGVyIHZlcnN0ZWhlbiBkZXIKZW50YWV1c2NodCB3aXJkIG5hY2ggZWluZW0gcmVib290IGRhcyBlciBudW4gdm9uIHZvcm5lIGJlZ2lubmVuIG11c3MgYWJlciBpY2gKdmVybGFuZ2Ugdm9uIGplZGVtIHNvdmllbCB2ZXJzdGFlbmRuaXMgenUgdmVyc3RlaGVuIGRhcyBzb2xjaGUgUmVib290cwp2b3Jrb21tZW4ga29lbm5lbiB1bmQgaW4gZWluZW0gc28gZ3Jvc3NlbiBNdWQgd2llIE1vcmdlbmdyYXVlbiBnYXIKc2VsYnN0dmVyc3RhZW5kbGljaCBzaW5kLiBJY2ggZ2xhdWIgdWViZXJhbGwgd28gcHJvZ3JhbW1pZXJ0IHdpcmQga2FubiBlcwp2b3Jrb21tZW4gZGFzIGR1cmNoIGVpbmVuIFByb2dyYW1tZmVobGVyIGRhcyBzeXN0ZW0gYWJzdHVlcnp0IG9kZXIgbWFubiBtdXNzCmRhcyBTeXN0ZW0gaGVydW50ZXJmYWhyZW4gZGFzIG5ldWUgd2ljaHRpZ2UgRGluZ2UgZGllIGplZGVuIFNwaWVsZXIgYmV0cmlmZnQKYWtsdGl2aWVydCB3ZXJkZW4uIEljaCBnbGF1YiBlcyBpc3QgaW4gamVkZW0gaW50cmVzc2UgZGFzIFN5c3RlbSBzb2xhbmdlIHdpZQptb2VnbGljaCBzdGFiaWwgenUgYmVoYWx0ZW4gdW5kIGljaCBnbGF1YiBrYXVtIGRhcyBkaWUgTWFnaWVyIGRhcyBzeXN0ZW0KYWJzaWNodGxpY2ggcmVib290ZW4gdW0gZXVjaCBTcGllbGVybiB6dSBxdWFlbGVuLCBzb25kZXJuIHNvd2FzIGthbm4gZWluZmFjaAp2b3Jrb21tZW4uCk1vcmdlbmdyYXVlbiBsZWJ0IHZvbiBkZXIgenVmcmllZGVuaGVpdCBkZXIgU3BpZWxlciwgYWJlciB3byBzb2xsIGRlciBzcGllbGVyCnNwaWVsZW4ga29lbm5lbiB3ZW5uIGVzIGRpZSBQcm9nYW1taWVyZXIsIGRpZSBNYWdpZXIgbmljaHQgZ2FlYmUuIEljaCBnbGF1Ygp3aXIgYWxsZSBsZWJlbiB2b20gYW5kZXJlbiwgZGllIFNwaWVsZXIgdm9tIE1hZ2llciBmdWVyIG5ldWUgV2VsdGVuLApBYmVudGV1cmVyIHVuZCByZWdpb25lbiB1bmQgZGllIE1hZ2llciB2b20gU3BpZWxlciwgZGVubiB3YXMgaGVsZmVuIG5ldWUKUmVnaW9uZW4gb2huZSBTcGllbGVyIGRpZSBzaWUgZXJmb3JzY2hlbi4KVmVyc3VjaGVuIHdpciBkb2NoIGRpZSBwcm9ibGVtZSBkZXMgamV3ZWlscyBhbmRlcmVuIHp1IHZlcnN0ZWhlbiB1bmQgdG9sZXJhbnoKYXVzenV1ZWJlbiB3ZW5uIGVzIG1hbCBuaWNodCBzbyBrbGFwcHQgd2llIGVzIHNvbGx0ZS4KClNvcnJ5LCBpY2ggd29sbHRlIGVpZ2VudGxpY2gga2VpbmUgTW9yYWxwcmVkaWd0IGhhbHRlbiB1bmQgZWlnZW50bGljaCBhdWNoCm5pY2h0IHNvIGVpbmUgZ3Jvc3NlIE1haWwgc2NocmVpYmVuIGFiZXIgaWNoIGZpbmRlIHNvd2FzIG11c3N0ZSBtYWwgZ2VzYWd0CndlcmRlbi4KCnRzY2h1ZXNzIGV1ZXIgWnVlcmlsZXUgKHNjaHJlY2tlbiBkZXIgVW50ZXJ3ZWx0ISkKClBzOiBmdWVyIGFsbGZhZWhsaWdlIEZlaGxlciBvZGVyIHVua2xhcmhlaXRlbiBlbnRzY2h1bGRpZ2UgaWNoIG1pY2ggaW0Kdm9yYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIG5ldWVzIE1vcmdlbmdyYXVlbi4uLi4gKEhhd2ssIDExLiBKYW4gMTk5NiwgMDM6NDQ6MjkpOgpJY2ggZ2ViZSB6dSwgZWluZSBnYW56ZSBXZWlsZSBuaWNodCBpbSBNb3JnZW5ncmF1ZW4KZ2V3ZXNlbiB6dSBzZWluLiBFcyBzY2hlaW50IHNpY2ggamEgZWluZSBnYW56ZSBNZW5nZQp2ZXJhZW5kZXJ0IHp1IGhhYmVuLiBNYW4gbGVndCBlaW5lbiBndXQgZ2VtZWludGVuIFNjaGVyegpuYWNoICdhbGxnZW1laW4nLCBiZWtvbW10IGVpbmUgZ2VoYXJ0bmlzY2h0ZSBBbnR3b3J0LCBhdWYKZGllIEZyYWdlLCB3YXMgZWlnZW50bGljaCBsb3Mgc2VpLCBrZWluZSBBbnR3b3J0LCB1bmQgd2VubiBtYW4KZGFubiBqZW1hbmRlbiBmcmFndCBvYiBlciBkaWUgR3JpcHBlIGhhYmUsIHdpcmQgbWl0ClBsYXllcmtpbGwgZ2Vkcm9odC4gRWluZSB2ZXJibHVlZmZlbmRlIEVudHdpY2tsdW5nLgpFaW4gdmVyd2lycnRlciBIQVdLLCBob2ZmdCwgZGFzcyBkYXMgZWluIEFscHRyYXVtIHdhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwaWVsZXIgV1dXIFNlaXRlbj8gKEhhbWlsdG9uLCAxMS4gSmFuIDE5OTYsIDA5OjUwOjUxKToKTWljaCB3dWVyZGUgaW50ZXJlc3NpZXJlbiwgd2VsY2hlIFNwaWVsZXIgaGllciBlaWdlbmUgV1dXLVNlaXRlbgpoYWJlbi4gQWxzbyBtZWxkZXQgRXVjaCBtYWwsIHdlbm4gSWhyIHdlbGNoZSB3aXNzdCBvZGVyIHNlbGJlcgplaW5lIGhhYnQhIERhbmtlIQoKTWZnLCBIYW1pbHRvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXIgV1dXIFNlaXRlbj8gKE1vcmdvdGgsIDExLiBKYW4gMTk5NiwgMTA6MDE6MjIpOgp+IyEgcm49SGFtaWx0b24gcnQ9ODIxMzUwMjUxCn4jISB0aWQ9ODIxMzUwMjUxCmJpbiB6d2FyIGtlaW4gc3BlaWxlciwgaGFiIGFiZXIgdHJvdHpkZW0gbmUgc2VpdGU6Cmh0dHA6Ly90aG9yLmNoZW1pZS51bmktZG9ydG11bmQuZGUvCnZpZWwgc3Bhc3MgYmVpbSBzdXJmZW4KbW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbiBuZXVlcyBNb3JnZW5ncmF1ZW4uLi4uIChNYXJpdGEsIDExLiBKYW4gMTk5NiwgMjA6MDQ6NTcpOgp+IyEgcm49SGF3ayBydD04MjEzMjgyNjkKfiMhIHRpZD04MjEzMjgyNjkKVXJzcHJ1ZW5nbGljaGUgQXJ0aWtlbGZvbGdlOgoKMS4gIlRqYSwgZGllIEluZmxhdGlvbiAuLi4uLiA7LSkiIChIYXdrKSAtIGpldHp0IGluIHNjaG1hcnJuCjIuICJSZTogVGphLCBkaWUgSW5mbGF0aW9uIC4uLi4uIDstKSIgKFp1ZXJpbGV1KSAtIGdlbG9lc2NodAozLiAiUmU6IFJlOiBUamEsIGRpZSBJbmZsYXRpb24gLi4uLi4gOy0pIiAoSGF3aykgLSBqZXR6dCBpbiBzY2htYXJybgo0LiAiRWluIG5ldWVzIE1vcmdlbmdyYXVlbiIgKEhhd2spIC0gc2llaGUgb2JlbgoKU2FsaSB6YWVtZSwKCkFsc28sIGRhbWl0IFp1ZXJpbGV1IGpldHp0IG5pY2h0IGluIGVpbmVtIGZhbHNjaGVuIExpY2h0IGVyc2NoZWludCwgd2lsbCBpY2gKbm9jaCBlaW4gcGFhciBCZW1lcmt1bmdlbiBtYWNoZW4uIDEpIFp1ZXJpcyBnZWxvZXNjaHRlciBBcnRpa2VsOiBFciBoYXQgaW4KMTIuLjEzIFplaWxlbiBzYWNobGljaCBuYWNoZ2V3aWVzZW4sIGRhc3MgZXMgcHVyZSBCZXF1ZW1saWNoa2VpdCBpc3QsIHdlbm4KZWluIFNlaGVyIGltIExhZGVuIHVtIGRpZSBFY2tlIGtlaW4gR2VsZCBiZWtvbW10LCB1bmQgZGFzcyBqdXN0IGluIGRlbQpNb21lbnQsIHdvIEhhd2sgc2VpbmVuIDEuIEFydGlrZWwgdmVyb2VmZmVudGxpY2h0ZSwgZWluaWdlIExhZWRlbiBHQVIgTklDSFQKYmVzdWNodCB3YXJlbiAoYWxzbyBkYXMgYWx0ZSBMaWVkLi4uKSAtIGVyIHNjaGxvc3MgbWl0IGRlbiBXb3J0ZW46ICJBYmVyIGRhcwpwcmVkaWdlbiB3aXIgamEgc2Nob24gc2VpdCBlaW5lbSBKYWhyLiA9OigiLiBBdWYgZGllc2VuIEFydGlrZWwgZm9sZ3RlIGVpbgpXb3J0Z2VmZWNodCBhdWYgLWEuIFdhcyBkYSB6d2lzY2hlbmR1cmNoIG5vY2ggdWViZXIgdGVpbGUtbWl0IGdlbGF1ZmVuIGlzdCwKd2Vpc3MgaWNoIHp3YXIgbmljaHQsIGFiZXIgWnVlcmkgaGF0IHNpY2ggZGllIEFyYmVpdCBnZW1hY2h0LCBhdWYgLWEgc2VpbmVuClN0YW5kcHVua3QgbWVocm1hbHMgaW4gbGFuZ2VuIFRleHRlbiBkYXJ6dXN0ZWxsZW4sIHVuZCBoYXQgc29nYXIgaW1tZXIgd2llZGVyClNtaWxleXMgZWluZ2ViYXV0LCB1bSBkZXIgU2FjaGUgZGllIFNjaGFlcmZlIHp1IG5laG1lbi4gSXJnZW5kd2FubiBoYXQgZXMgaWhuCmFiZXIgImFuZ2Vrb3R6dCIuIFp1ZXJpIGhhdCBhdXNzZXJkZW0gd2llZGVyaG9sdCBhbmdlYm90ZW4sIEhhd2tzIHVuZCBzZWluZW4KZWlnZW5lbiBBcnRpa2VsIGJlaWRlIHp1IGxvZXNjaGVuLCBkYW1pdCBkaWUgYWx0ZSBEZWJhdHRlIG5pY2h0IHNjaG9uIHdpZWRlcgppbiBGb3JtIHZvbiAyNyBSZXBsaWVzIGF1c2dldHJhZ2VuIHdpcmQsIHVuZCBoYXQgZGllIEVybGF1Ym5pcyB2b24gSGF3awphYmdld2FydGV0LiBFciBoYXQgc2llIG5pY2h0IGVyaGFsdGVuLCB1bmQgZGVzaGFsYiBoYXQgZXIgbnVyIHNlaW5lbiBlaWdlbmVuCkFydGlrZWwgZ2Vsb2VzY2h0LiAyKSBEaWUgIlBLLURyb2h1bmciOiBEYSBpY2ggSGF3a3MgQXVzZnVlaHJ1bmdlbiBuaWNodCBnYW56Cm5hY2h2b2xsemllaGVuIGtvbm50ZSAoZGFzIGlzdCBqZXR6dCBTRUhSIHZvcm5laG0gYXVzZ2VkcnVlY2t0KSwgc2FndGUgaWNoOgotYSAiSW4gc28gZWluZXIgU2l0dWF0aW9uIGJpbiBpY2ggZnJvaCwgZGFzcyBpY2gga2VpbmUgTWFnaWVyaW4gYmluLi4uIE1hbgptdXNzIHNpY2ggamEgemllbWxpY2ggYmVoZXJyc2NoZW4sIHVtIGRhIG5pY2h0Li4uIiwgd29yYXVmIFp1ZXJpIHNhZ3RlOiAtYQoiU3RpbW10LCBkaWUgVmVyc3VjaHVuZyBpc3QgZ3Jvc3MuLi4iIDMpIERlciAiU2NoZXJ6IiBhdXMgSGF3a3MgMS4gQXJ0aWtlbDoKSWNoIGJpbiB6ZWl0Z2xlaWNoIHp1IGRpZXNlciB1bnNjaG9lbmVuIEdlc2NoaWNodGUgaW4gTW91bG9raW4gZWluZW0gU2VoZXIKYmVnZWduZXQsIGRlciBuaWNodCBlaW5tYWwgYWxsZSBMYWVkZW4gZG9ydCBrYW5udGUgKG9id29obCBlciBzaWNoIHNvbnN0IHNlaHIKZ3V0IGF1c2tlbm50KSwgdW5kIG9sbGUgTWFyaXRhIG1pdCBMZXZlbCAxMSBoYXQgaWhtIGRlbiBmZWhsZW5kZW4gZ2V6ZWlndCA7LSkKLSBuZWlubmVpbiwgenUgdmllbGUgU2VoZXIgbWVpbmVuIHNvbGNoZSBLcml0aWsgd2lya2xpY2ggZXJuc3QsIGFscyBkYXNzCnNvd2FzIHNvZm9ydCBhbHMgU2NoZXJ6IGVya2VubmJhciB3YWVyZS4gSWNoIGtvZW5udGUgamEgamV0enQgdW50ZXJzdGVsbGVuLAplcyBTRUkgZXJuc3QgZ2VtZWludCBnZXdlc2VuLCB1bmQgZGFzIG1pdCBkZW0gIlNjaGVyeiIgc2VpIG51ciBlaW5lClNjaHV0emJlaGF1cHR1bmcuLi4gRGllIEJlZ2ViZW5oZWl0IGhhdCB1ZWJyaWdlbnMgZWluZSBzZWx0ZW4gZXJsZWJ0ZQpTb2xpZGFyaXRhZXQgbWVocmVyZXIgU3BpZWxlci9TZWhlciB6dSBNYWdpZXJuIGF1c2dlbG9lc3QuIDopCgpTbywgamV0enQgaGFiZSBpY2ggbWljaCBhdWNoIGFuIGRlbiBSZXBsaWVzIGJldGVpbGlndCwgZGllIFp1ZXJpIGVpZ2VudGxpY2gKdmVybWVpZGVuIHdvbGx0ZS4gQWJlciB3ZXIgWnVlcmkgTklDSFQga2VubnQsIHd1ZXJkZSBpaG4gc29uc3QgYXVmZ3J1bmQgdm9uCkhhd2tzIEFydGlrZWxuIGZ1ZXIgYXJyb2dhbnQsIGdld2FsdHRhZXRpZywgbWFjaHRnZWlsIHVzdy4gaGFsdGVuLCB1bmQgZGFzCmhhdCBlciB3ZWlzcyBKb2YgbmljaHQgdmVyZGllbnQuIFNvLCB1bmQgamV0enQgbGFzc3QgaWhuIGluIFJ1aGUsIGRlbm4gZXIgaGF0CnNpY2ggbGV0enRlIE5hY2h0IHNjaG9uIGdlbnVnIGF1c2dla290enQuIEluIGRpZXNlbSBTaW5uZTogIkd1dCBaYXAiLCBadWVyaSEKKGFjaG5lZSwgZXIgaGF0IHNpY2ggamEgYmVoZXJyc2NodCkgOy0pCgpIb2ZmZW5kLCBkYXNzIHNpZSBhdWYgZGVtIFRlcHBpY2ggYmxlaWJ0LCB3ZW5uIHNpZSBtYWwgU2VoZXJpbiB3aXJkCk1hcml0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsaS1CZWl0cmFjaCAoRGFjYXBvLCAxMS4gSmFuIDE5OTYsIDIzOjExOjQwKToKfiMhIHJuPU1hcml0YSBydD04MjEyMTAyNTcKfiMhIHRpZD04MjEyMTAyNTcKSWNoIHdlcmQgYmxvbmQuCihIaSBBdWdyYSwgSWNoIGhvZmZlLCBEdSBlcmhlYnN0IGRhIGtlaW4gQ29weXJpZ2h0IGRyYXVmIDotKSApCgpXYXR0ZXQgbmljaCBhbGxlcyBnaWJ0LgpBYmVyIGljaCBydWYgdHJvdHpkZW0gbmljaHQgTWFyaXRhIGlzdCB0b3RlbCBuZXR0LgpBdWNoIHdlbm4gRHVzIHppZW1saWNoIHZlcmJhc3RlbHQgaGFzdCwgYnJhdWNoIGljaHMgbmljaHQgYXVzenVwcm9iaWVybiA6LSkKClRyb3R6ZGVtIGVpbiBuZXR0ZXIgQmVpdHJhY2gsIHdlbm4gYXVjaCB3aWUgaW1tZXIgYmVpIERpciwgdG90YWwKdWViZXJmbHVlc3NpZy4KCipncmlucyogbmVpbiwgbmljaHQgaGF1biwgYml0dGUKCgpUc2NoYXVpCkRhY2FwbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyIFdXVyBTZWl0ZW4/IChJY2V0LCAxMi4gSmFuIDE5OTYsIDAyOjI4OjIyKToKfiMhIHJuPU1vcmdvdGggcnQ9ODIxMzUwODgyCn4jISB0aWQ9ODIxMzUwMjUxCkljaCBoYWJlIGF1Y2ggbmUgcGFnZSA6KQpodHRwOi8vd3d3LmZoLWF1Z3NidXJnLmRlL35tdWQKCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXRyLiBTcGllbGVya29tcGVuZGl1bXMgOikgKFRha2FuLCAxMi4gSmFuIDE5OTYsIDEyOjEwOjU4KToKVGphIGRhIG1laW4gdm9yaGVyaWdlciBBcnRpa2VsIGxlaWRlciBpbiBkZXIgZmFsc2NoZW4gUnVicmlrIGxhbmRldGUgbXVzcyBpY2gKaWhuIHdvaGwgbm9jaG1hbCBzY2hyZWliZW4gKnNldWZ6KiA6KQpBbHNvb28uLi4uCkRpZSBJZGVlIG1pdCBkZW0gS29tcGVuZGl1bSBmaW5kIGljaCBlY2h0IGd1dCwgYWJlciB3YWVyZSBlcyB2aWVsbGVpY2h0Cm1vZWdsaWNoIGRhcyBzcGllbGVyIHdlbm4gaWhuZW4gd2FzIHdpdHppZ2VzIHp1IGVpbmVtIGFuZGVybSBlaW5mYWVsbHQgbmUKQW5la2RvdGUgb2RlciBzbyBzY2hyZWliZW4ga29lbm5lbiB1bmQgbmVuIE1hZyBkZXIgZGFmdWVyIHp1c3RhZW5kaWcgaXN0IGRpZXNlCmRhbm4gaXJnZW5kd2llIGVpbmFyYmVpdGVuIGthbm4gPwpJY2ggaGFiIG1pY2ggYXVjaCBnZWZyYWd0IG9iIGRhcyBnYW56ZSBzbyB0YWJlbGxhcmlzY2ggYXVmYmVyZWl0ZXQgd2VyZGVuCm11c3MsIGRlciBJbmRleCBpc3Qgb2theSwgYWJlciB3aWVzbyB3ZXJkZW4gZGFubiBkaWUgU3BpZWxlciBzbyBkYXJnZXN0ZWxsdCA/CldhZXJlIGVzIG5pY3QgYmVzc2VyIGRpZSBOYW1lbiBlaW5mYWNoIHpiIHZvbiBvYmVuIG5hY2ggdW50ZW4gYXVmenVsaXN0ZW4gdW5kCndlbm4gbWFuIGVpbmVuIGFua2xpY2t0IGhhdCBlciBuZSBnYW56ZSBTZWl0ZSA/CldpZSBzaWVodCBkYXMgdWViZXJoYXVwdCBtaXQgZGVyIHRlY2huaXNjaGVuIFNlaXRlIGF1cywgbGllc3NlIHNpY2ggc293YXMKdWViZXJoYXVwdCBtYWNoZW4gPz8/CldpZSBnZXNhZ3QgZnVlciBtaWNoIGlzdCBkYXMgZGllIGJlc3RlIElkZWUgc2VpdCBsYW5nZW0gYWJlciB2aWVsbGVpY2h0IG5laG10CmlociBqYSBub2NoIElkZWVuIHVuZCBWb3JzY2hsYWVnZSBhbiBmYWxscyBzaWUgZWluaWdlcm1hc3NlbiB0YXVnbGljaCBzaW5kID8KOikKb2theSBkYXMgc29sbCBlcnN0bWFsIGdld2VzZW4gc2Vpbi4uLgpnZXouCiAgICAgIFRha2FuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsaS1CZWl0cmFjaCAoUnVkaXJhdHRlciwgMTIuIEphbiAxOTk2LCAxMjoyMDo0MSk6Cn4jISBybj1EYWNhcG8gcnQ9ODIxMzk4MzAwCn4jISB0aWQ9ODIxMjEwMjU3CmhtLCBkYSBoYXQgYWJlciBqZW1hbmQgYW5kZXJzIGVpbiBjb3B5cmlnaHQgZHJhdWYuLi4gZnJhZyAgbWFsIGF1Z3JhClJ1ZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsaS1CZWl0cmFjaCAoQXVncmEsIDEyLiBKYW4gMTk5NiwgMjE6MDE6NDcpOgp+IyEgcm49UnVkaXJhdHRlciBydD04MjE0NDU2NDEKfiMhIHRpZD04MjEyMTAyNTcKSG0sIGljaCBkYWNodGUgZGVpbiBDb3B5cmlnaHQgZ2VodCBhdWYgOiJCaW4gaWNoIEJsb25kISIsIFJkdWkuIDopCgpBdWdyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2UgdWViZXIgUnVlc3R1bmdlbiAoVG9tYWxhaywgMTMuIEphbiAxOTk2LCAyMjowODo1Nik6Ck1hbCBlaW5lIGR1bW1lIE5ld2JpZS1GcmFnZToKV2llIGtvbW10IGVzLCBkYXNzIGVpbiBFbGZlbndhZWNodGVyIC0gb2J3b2hsIGljaCBkaWUgc2VsYmVuIFJ1ZXN0dW5nc3RlaWxlCndpZSBlciB0cmFnZSwgdW5kIG5vY2ggbWVociBkYXp1IC0gbGF1dCBTQ0hBRVRaIGltbWVyIG5vY2ggZWluZSBiZXNzZXJlClJ1ZXN0dW5nIGhhdCBhbHMgaWNoPyE/CgpUb21hbGFrLCAoaXN0IGZ1ZXIgQWJSVUVTVFVORyEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2UgdWViZXIgUnVlc3R1bmdlbiAoUGlsZ3JpbSwgMTMuIEphbiAxOTk2LCAyMzoxMzowMyk6Cn4jISBybj1Ub21hbGFrIHJ0PTgyMTU2NzMzNgp+IyEgdGlkPTgyMTU2NzMzNgpIaSwKCmVpZ2VudGxpY2ggaGF0dCBlciBrZWluZSAiYmVzc2VyZSIgUnVlc3R1bmcgYWxzIER1IC4uLiBlciBpc3QgbnVyIGJlc3NlcgpnZXNjaHVldHp0LCBhbHMgRHUuIFdpZSBkYXM/IEdhbnogZWluZmFjaDogWnUgZGVyIGdldHJhZ2VuZW4gUnVlc3R1bmcKa29tbXQgYWxzICJTY2h1dHp3ZXJ0IiBub2NoIGRlciBkZXMgS29lcnBlcnMgKGJvZHkpIGhpbnp1Li4uIGRpZXNlciBXZXJ0IGZ1ZXIKZGVtIGJvZHkKaXN0IHZvbiBNYWdpZXJuIGZ1ZXIgaWhyZSBNb25zdGVyICJmcmVpIiB3YWVobGJhciAuLi4KZnVlciBkaWUgU3BpZWxlciBuYXR1ZXJsaWNoIG5pY2h0LCBkYSBpc3NlciBmZXN0IChob2ZmIGljaCBkb2NoIG1hbCA7LSkpClRqYSwgdW5kIHdlciBkZXIgS29lcnBlcnNjaHV0endlcnQgZWluZXMgTW9uc3RlcnMgaG9laGVyIGlzdCwgYWxzIGRlaW5lciwKZGFubiBnaWJ0IGRlciBTY2hhZXR6LVNwcnVjaCBhdWNoIGJlaSBnbGVpY2hlciBhbmdlem9nZW5lciBSdWVzdHVuZyBhdXMsCmRhcyBkYXMgTW9uc3RlciBuZSBiZXNzZXJlIGhhdCAuLi4KcgoKUGlsZ3JpbQouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZSB1ZWJlciBSdWVzdHVuZ2VuIChNYWhhdG1hLCAxMy4gSmFuIDE5OTYsIDIzOjE0OjM4KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODIxNTcxMTgzCn4jISB0aWQ9ODIxNTY3MzM2CkltIGVudGZlcm50ZXJlbiBTaW5uZSBoYWJlbiBkaWUgU3BpZWxlciBhdWNoIGVpbmVuIEJvZHksIGRlciBzb2dhciB2YXJpYWJlbAppc3QsIHdlaWwgZGllIEdlc2NoaWNrbGljaGtlaXQgYXVmIGRpZSBSdWVzdHVuZyBkcmF1Zmdlc2NobGFnZW4gd2lyZC4KCk1haGF0bWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGVyIFdXVyBTZWl0ZW4/IChJbHZlcywgMTQuIEphbiAxOTk2LCAyMToyNjowNCk6Cn4jISBybj1IYW1pbHRvbiBydD04MjEzNTAyNTEKfiMhIHRpZD04MjEzNTAyNTEKSWNoIGhhYmUgZWluZTogaHR0cDovL3d3dy5oYW4uZGUvfnByb3BwaQoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlYm9vdCB1bmQgSW52ZW50b3J5IChJbHZlcywgMTQuIEphbiAxOTk2LCAyMzo0MDowNCk6Cn4jISBybj1adWVyaWxldSBydD04MjEzMjIwMTgKfiMhIHRpZD04MjA5NjkyNTYKPiBVbmQgZGFzcyBkdSBuaWNodCBzdGFyayBnZW51ZyBiaXN0IHVtIGVpbmVuIE9yayBtaXQgZWluZW0gU3RhY2hlbAo+IHVtenVoYXVlbiwgZGFubiBnZWhlIGhhbHQgendpc2NoZW5kdXJjaCB0YW5rZW4gb2RlciB2ZXJzdWNoZSBEaWNoCj4gYW4ga2xlaW5lcmVuIE1vbnN0ZXJuLgoKWndpc2NoZW5kdXJjaCB0YW5rZW4/IFNvIGVpbiBLYW1wZiBsYWV1ZnQgdmllbCB6dSBzY2huZWxsIGFiLAp1bmQgZGllICJNZWxkdW5nZW4iIGtvbW1lbiB2aWVsIHp1IHNjaG5lbGwgYnp3LiBzY2h1YndlaXNlIGJlaQplaW5lciBsYW5nc2FtZW4gVmVyYmluZHVuZyBiZWkgbWlyIGFuLCB1bmQgZGVyIEthbXBmIGlzdCB2aWVsbGVpY2h0CnNjaG9uIGVudHNjaGllZGVuLCBiZXZvciBpY2ggZXMgbGVzZW4ga2Fubiwgc29kYXNzIGVzIHVubW9lZ2xpY2ggaXN0LApuYWNoIGVpbiBwYWFyIEhpZWJlbiBkaWUgTFAgYWJ6dWZyYWdlbiB1bmQgbm90ZmFsbHMgZGVuIFJ1ZWNrenVnCmFuenV0cmV0ZW4uIFVuZCBhdWYgZGVuIFZvcnNpY2h0LU1vZHVzIGthbm4gaWNoIG1pY2ggYmVpIGRlbiBPcmtzIGF1Y2gKbmljaHQgdmVybGFzc2VuLCBkZW5uIHdlbm4gaWNoIGluIGRpZSBmYWxzY2hlIFJpY2h0dW5nIHdlZ2xhdWZlLCBrcmllZ2UKaWNoIGVzIG1pdCBkZW4gYW5kZXJlbiBPcmtzIHp1IHR1bi4KS2xlaW5lcmUgTW9uc3Rlcj8gV28gc2luZCBkZW5uIHdlbGNoZSwgYmVpIGRlbmVuIGljaCBkaWUgUnVlc3R1bmdlbgplcmJldXRlbiBrYW5uLCBkaWUgaWNoIG1pciBuaWNodCBrYXVmZW4ga2Fubj8KCklsdmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprIChadWVyaWxldSwgMTUuIEphbiAxOTk2LCAwMDoxNjozOSk6ClNhbGkgSWx2ZXMsCkFsc28gaWNoIGRlbmtlIHNjaG9uIGRhcyBlcyBlcyBPcnRlIGdpZWJ0IGFuIGRlbm5lbiBrbGVpbmVyZSBTcGllbGVyIE1vbnN0ZXIKdG9ldGVuIGtvZW5uZW4gZGllIGlobmVuIFJ1ZXN0dW5nc2dlZ2Vuc3RhZW5kZSBoaW50ZXJsYXNzZW4sIHouQi4gZGFzCkRyYWNoZW5iYWJ5IGF1ZiBkZXIgSG9jaGViZW5lLiBTaWNoZXIga2FubnN0IGR1IGRpZXNlIFJ1ZXN0dW5nIG5pY2h0IG1pdApiZXNzZXJlbiB2ZXJnbGVpY2hlbiBhYmVyIHNpZSB0dW4gaWhyZW4gWndlY2suIFdlZ2VuIGRlciBzY2hsZWNodGVuIExlaXR1bmcsCmljaCBrb21tIHJlaW4gdWViZXIgTW9kZW0gKFVTUiAxNDQwMCkgY2FsbCBhdWYgR29waGVyIHVuZCB2ZXJiaW5kZSBtaWNoIHZvbgpnb3BoZXIgYXVmIFRlbG5ldCBpbnMgTW9yZ2VucmF1ZW4uIEdsYXViIG1pciwgd2VubiBpY2ggbmFjaG1pdHRhZ3MKdGVsZWZvbmllcmVuIHd1ZXJkZSB3aWUgZHUgZXMgdHVzdCwgaXN0IG1laW5lIExlaXR1bmcgYXVjaCBuaWNodCBkaWUgYmVzdGUsCmljaCBoYWJlIHNjaHJlY2tsaWNoZSBsYWFncyB1bmQgaWNoIGthbm4gd2lya2xpY2ggZmFzdCBuaWNodHMgdHVuLiBTbwp0ZWxlZm9uaWVyIGljaCBhYmVuZHMgb2RlciB1ZWJlciBkaWUgTmFjaHQsIGRhIGhhYmUgaWNoIGRpZXNlIFByb2JsZW1lIG5pY2h0LgpJY2ggZ2xhdWIgbmljaHQgZGFzIHdpciBlaW5lIEF1dG9sb2FkLUF1c3J1ZXN0dW5nIGtyZWllcmVuIHNvbGx0ZW4gd2VpbCBEdSB1bmQKYW5kZXJlIG1pdCBMYWFnIHNjaHdvaXJpZ2tlaXRlbiBoYWJlbiB3ZWlsIHNpZSBuYWNodG1pdHRhZ3MgdGVsZWZvbmllcmVuCm11ZXNzZW4uCkljaCBtZWluZSBkaWUgZ3V0ZSBhbHRlcm5hdGl2bG9lc3VuZyB6dXIgYXV0b2xvYWQtUnVlc3R1bmcgZXhpc3RpZXJ0IGRvY2gKc2Nob24gaW4gZGVyIEthcmF0ZWthIEdpbGRlLCBJbHZlcyB3ZW5uIGR1IFByb2JsZW1lIGhhc3QgZGlyIGRlaW5lIEF1c3J1c3R1bmcKenUgYmVzb3JnZW4gZGFubiBnZWhlIHp1IGRlbiBLYXJhdGVrYSB1bmQga2FlbXBmIGxlcm4gS2FlbXBmZW4gbWl0IGRlbgpIYWVuZGVuLiBXZWdlbiBkZW0genUgd2VuaWcgWmVpdCB1bSBuYWNoIGRlbiBMUCdzIHp1IGd1Y2tlbiB3aWUgZHUgc2FndGVzdCwKZ2llYnQgZXMgYXVjaCBlaW5lIExvZXN1bmcsIGJlc29yZyBEaXIgZGVuIFRlZGR5LCBrcmllZ3N0IGR1IGluIGVpbmVtIFF1ZXN0LApkZXIgemVpZ3QgZGlyIGRpZSBMZWJlbnNwdW5rdGUgd2FlcmVuZCBkZXMgS2FtcGZlcyBhbi4gRnJhZ2UgbWljaCBiaXR0ZSBudW4KbmljaHQgd2VsY2hlcyBRdWVzdCwgYWxsenV2aWVsIEhpbGZlIG1vZWNodCB1bmQgZGFyZiBpY2ggYWxzIE1hZ2llciBEaXIgbmljaHQKZ2ViZW4uCgp0c2NodWVzcyBadWVyaWxldSAoc2NocmVja2VuIGRlciBVTlRFUldFTFQhISEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZWJvb3QgdW5kIEludmVudG9yeSAoTWFyaXRhLCAxNS4gSmFuIDE5OTYsIDAxOjQ5OjIzKToKfiMhIHJuPUlsdmVzIHJ0PTgyMTY1OTIwNAp+IyEgdGlkPTgyMDk2OTI1NgpIaSBJbHZlcywKSWNoIGhhYmUga2VpbmVuIFRlZGR5IHVuZCBrYW5uIHRyb3R6ZGVtIGthZW1wZmVuLiBJY2ggd2lsbCBqYSBlaWdlbnRsaWNoCm5pY2h0IHNjaG9uIHdpZWRlciBtaXQgbWVpbmVuIEFsaXMgdW0gZGllIEVja2Uga29tbWVuLCBhYmVyIHNjaGVpbmJhcgouLi4gSmVkZW5mYWxscyBpc3QgYmVpIG1pciAncCc9J3B1bmt0ZScgKG9kZXIgaW5mbyBvZGVyIHNjb3JlKSwgZGFzIGlzdApiZXN0aW1tdCBpbiBlaW5lbSBoaXR6aWdlbiBHZWZlY2h0IG5pY2h0IHp1IHZpZWwgRWluZ2FiZWFyYmVpdC4gU2VsYnN0Cndlbm4gZXMgc2Nyb2xsdCwgaGFiZSBpY2ggbm9jaCBkZW4gVWViZXJibGljayB1ZWJlciBtZWluZSBMUCwgd2VpbCBkYXMgZGllCmVpbnppZ2UgWmFobCBpc3QsIGRpZSBpbSBLYW1wZiBhbSBsaW5rZW4gQmlsZHNjaGlybXJhbmQgYW5nZXplaWd0IHdpcmQgdW5kCmRlc2hhbGIgZWluZW4gZ2V3aXNzZW4gQmxpY2tmYW5nIGJpbGRldC4gVW0gbWlyIGRlbiBadXN0YW5kIHouQi4gdm9uIE9ya3MKYW56ZWlnZW4genUgbGFzc2VuLCB2ZXJ3ZW5kZSBpY2ggJ3VvJyAtIGZ1ZXIgZGVuIGRpcmVrdGVuIFZlcmdsZWljaCwgd2llCmRlciBLYW1wZiB0YXRzYWVjaGxpY2ggc3RlaHQsIGhhYmUgaWNoIGF1Y2ggJ3VtJywgdW0gbWVpbmVuIGVpZ2VuZW4gWnVzdGFuZAptaXQgZGVtIGdsZWljaGVuIE1hc3NzdGFiIGZlc3R6dXN0ZWxsZW4uIC0gSWNoIGxpZWdlIHp3YXIgaW4gZGVuIExldmVsbgpob2VoZXIgYWxzIER1LCBhYmVyIHdlbm4gaWNoIG1pciBtZWluZSBTdGF0cyBhbnNlaGUsIGthbm4gaWNoIG1pciB2b3JzdGVsbGVuLApkYXNzIHdpciBldHdhIGdsZWljaCBndXQga2FlbXBmZW4ga29lbm5lbjsgZm9sZ2xpY2ggbXVlc3N0ZXN0IER1IG1pdCBkaWVzZW4KV2Vya3pldWdlbiBlYmVuZmFsbHMgcHJvYmxlbWxvcyBtZXR6ZWxuIGtvZW5uZW4uCk1hcml0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVib290IHVuZCBJbnZlbnRvcnkgKE1vcmdvdGgsIDE1LiBKYW4gMTk5NiwgMDc6MjA6MjUpOgp+IyEgcm49SWx2ZXMgcnQ9ODIxNjU5MjA0Cn4jISB0aWQ9ODIwOTY5MjU2CndpZSB3YWVycywgd2VubiBkdSBkaWNoIGVyc3RtYWwgaW4gYmVzY2hlaWRlbmhlaXQgdWVic3QgdW5kIGRpY2ggbGFuZ3NhbQpob2NoYXJiZWl0ZXN0LiBrbGFyIHdvbGx0ZSBpY2ggYW0gYW5mYW5nIGF1Y2ggc29mb3J0IG1pdCBCU1MgcnVtbGF1ZmVuLCBhYmVyCmlyZ2VuZHdpZSBoYXQgbWlyIGtlaW5lciBlaW5zIGdlc2NoZW5rdC4gYWxzbyBtdXNzdGUgaWNoIHNlbGJlciBsb3MgbWlyIGVpbnMKYmVzb3JnZW4uIG1hY2ggZG9jaCBtYWwgZGllIHBvc3RxdWVzdCwgd2VubiBkdSBkaWUgbm9jaCBuaWNodCBoYXN0LiBkYSB3aXJzdApkdSBzaWNoZXIgbmUgbWVuZ2Ugdm9tIG1nIGtlbm5lbmxlcm5lbi4gZGFuYWNoIHdlaXNzdCBkdSBhdWNoLCB3byBkdSBtYWwgZWluCndlbmlnIG1ldHplbG4ga2FubnN0IDstKQptb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYnVlY2hlciAoSGlnaGxhbmRlciwgMTUuIEphbiAxOTk2LCAxMTowNDowMCk6Cn4jISBybj1GZWxhZ3VuZCBydD04MjE1Njg3MzYKfiMhIHRpZD04MjE1Njg3MzYKSXN0IHNjaG9uIE1vbnRhZyBtaXR0YWcsIGFiZXI6Ck1hZ2ljaWFuIChnaWJ0J3MgYWxzIGVpbmVuIEJhbmQgYXVjaCA6PikKU2lsdmVydGhvcm4KQSBEYXJrbmVzcyBhdCBTZXRoYW5vbgpQcmluY2Ugb2YgdGhlIEJsb29kClRoZSBLaW5nJ3MgQnVjY2FuZWVyCgogICBIaWdobGFuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2ZmbnVuZ3Nsb3NlIGFuZmFlbmdlciEgKEtleSwgMTUuIEphbiAxOTk2LCAxMzoyOTowMSk6Ckdlc3Rlcm4gYmluIGljaCBhdWYgZWluZW4gbmV0dGVuIENoYXJha3RlciBnZXN0b3NzZW4sIEthbGkgaG9mZm51bmdzdm9sbGVyCkFuZmFuZ2VyIGF1cyBCaWVsZWZlbGQhIERpZXNlciBwbHVlbmRlcnQgZWluZW4gZ2VyYWRlIHZvbiBtaXIgZ2VtZXR6ZWx0ZW4KTGVocmVyIHVuIHdvbGx0ZSBtaXIgbWVpbiBaZXVnIGF1Y2ggbmFjaCBtZWhybWFsaWdlciBBdWZmb3JkZXJ1bmdlbiBuaWNodAp3aWVkZXJnZWJlbiEgQnMgaWNoIHNjaGxpZXNzbGljaCBlaW5lbiBiZWZyZXVuZGV0ZW4gTWFnaWVyIHp1IEhpbGZlIHJpZWYgdW5kCmVyIG1pciBlbmRsaWNoIG1pbiBaZXVnIGF1c2hhZW5kaWd0ZSEgQWJlciBrdXJ6ZSBaZWl0IHNwYWV0ZXIgbmVydnRlIGVyIG1pY2gKdGllcmlzY2ggdWViZXIgdG0gY2ggc29sbGUgaWhtIHNlaW5lIFJvYmUgZ2ViZW4hIE5hamEgYmlzIHdpciBkYW5uIGluIGRlcgpBcmVuYSBsYW5kZXRlbiEgRXIgbWl0IGVyaW5nZXIgYXVzcnVlc3R1bmcgdW5kIGljaCBtaXQgc2Nob24gYmVzc2VyZXIhIDstKSkKRG9ydCBtZXR6ZWx0IGVyIG1pY2ggZG9jaCBhc2FlY2hsaWNoIGFiIHVuZCBrbGF1dGUgYXVjaCBub2NoIG1laW4gWmV1ZyEgRGEgaGFiCmljaCBkYW5uIG5vY2ggZWluZW4gd2VpdGVybiBNYWdpZXIgaGluenViZXN0ZWxsdCBkZXIgaGVyYXVzZmFuZCBkYXMgZGllc2VyCkNoYXJha3RlciBnZXJhZGUgbWFsIG1pdCAxNiBNdXN0ZHVuZGVuIGFsbGUgWlQncyBoYXR0ZSEhIERhcyBmaW5kZSBpY2ggbmUKUmllc2Vuc2Nod2VpbmVyZWksIHZvciBhbGxlbSBkYSBlciB1Y2ggbm9jaCBzYWd0ZSBlciBoYWV0dGUgZWluIHNjcmlwdCBmdWVyCmRpZSBaVCBTdWNoZSBiZWtvbW1lbiEgRGVzaGFsYiBtZWluZSBCdHRlIGFuIGFsbGUgc3BpZWxlciBXZW5uIGlociBzY2hvbiBuZW4KbGV2ZWwgMSBTcGllbGVyIG1pdCBuZW0gU2NyaXB0IGFsbGUgWlQnc2ZpbmRlbiBsYXNzdCBkYW5uIGdlYnQgZGVuIENoYXJha3Rlcgp3ZW5pZ3N0ZW5zIG5pY2h0IGFuIG5lbiBJRElPVEVOISEKCktFWSBkZXIgZXJzdGUgVG9kIGRlciBtaWNoIG5lcnZ0ZSEhIDstKSkKClAuUy4gRGllc2VyIGNoYXJha3RlciBoYXQgc2ljaCBpbnp3aXNjaGVuIGdlbG9lc2NodCEhICh6dW0gR2x1ZWNrISEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogayAoQXNtb2RpcywgMTUuIEphbiAxOTk2LCAxNjowNzo0MSk6Cn4jISBybj1adWVyaWxldSBydD04MjE2NjEzOTkKfiMhIHRpZD04MjE2NjEzOTkKR2VuYXUsIGF1c3NlcmRlbSBnaWJ0IGVzIGphIG5vY2ggZGllIExlZGVycnVlc3R1bmcsIGRpZSBlcyBhdWYgZGVyIEhvY2hlYmVuZQprb3N0ZW5sb3MgenUgaGFiZW4gZ2lidC4gRGVzd2VpdGVyZW4gbGllZ3Qgb2Z0IGV0d2FzICdNdWVsbCcgaW4gTW91bG9raW4KaGVydW0sIHVuZCBkZXIgR2xvY2tlbndhbGQgaXN0IGF1Y2ggc2VsdGVuIGF1ZmdlcmFldW10LgpEZXIgZXJzdGUgR29ibGluIGltIEdvYmxpbmxhZ2VyIGlzdCBzaWNoZXIgYXVjaCBuaWNodCBzbyBzY2h3ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGsgKEZlbGFndW5kLCAxNS4gSmFuIDE5OTYsIDE5OjUxOjQ5KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODIxNzE4NDYxCn4jISB0aWQ9ODIxNjYxMzk5CkFsc28gZGFzIG1pdCBkZW0gR29ibGluIGhhbHQgaWNoIGZ1ZXJuIEdlcnVlY2h0IEFzbW8gOykgS2FubiBtaWNoIGRhIG5vY2ggZ3V0CmRyYW4gZXJpbm5lcm4sIGFscyB3aXIgZGVuIHp1IHZpZXJ0IGtpbGxlbiB3b2xsdGVuIHVuZCAzIGRhYmVpIGRyYXVmZ2luZ2VuCmRhbWFscyAqc2Nod2Flcm0gdWViZXIgYWx0ZSBaZWl0ZW4qCnRvbGxlIEZyZXVuZHNjaGFmdGVuIGVudHN0YW5kZW4gZGFiZWkgOykKZ3J1c3MuLkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGsgKEFzbW9kaXMsIDE1LiBKYW4gMTk5NiwgMjA6MTg6MDUpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODIxNzMxOTA5Cn4jISB0aWQ9ODIxNjYxMzk5CkhtbSwgd2FyIGRhcyBuaWNodCBiZWkgZGVuIFN0ZWluYmVpc3Nlcm4gPz8KSWNoIGVyaW5uZXIgbWljaCBub2NoLCBkYXNzIGRhbWFscyBkaWUgSG9laGxlIHdpcmtsaWNoIGdlZmFlaHJsaWNoIHdhciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGsgKElsdmVzLCAxNS4gSmFuIDE5OTYsIDIxOjE3OjEwKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTgyMTY2MTM5OQp+IyEgdGlkPTgyMTY2MTM5OQpXaWUga29tbXN0IER1IGRhcmF1ZiwgZGFzcyBpY2ggbmFjaG1pdHRhZ3Mgc3BpZWxlPyBEYXMgd2FyIHZpZWxsZWljaHQKbWFsIHZvciBkZW0gMS4xLiBhbSBXb2NoZW5lbmRlLi4uICA6LSgKCkplZGVuZmFsbHMgZGFua2UgZnVlciBkaWUgVGlwcy4gRGFzIG1pdCBkZW0gVGVkZHkga29lbm50ZSBpbnRlcmVzc2FudApzZWluLi4uIGZhbGxzIGljaCBkaWUgTFBzIG5pY2h0IGF1ZiBtZWluZW0gQmlsZHNjaGlybSBzZWhlLCBuYWNoZGVtCmljaCBnZXN0b3JiZW4gYmluLi4uCgpJbHZlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmVib290IHVuZCBJbnZlbnRvcnkgKElsdmVzLCAxNS4gSmFuIDE5OTYsIDIxOjE5OjM0KToKfiMhIHJuPU1hcml0YSBydD04MjE2NjY5NjMKfiMhIHRpZD04MjA5NjkyNTYKSWNoIGdsYXViZSwgbWVpbiBQcm9ibGVtIGlzdCBub2NoIG5pY2h0IGRldXRsaWNoOgpEZXIgS2FtcGYgYmVnaW5udCwgZXMgZ2lidCBlaW5lIFBhdXNlIHZvbiBlaW4gcGFhciBTZWt1bmRlbiwgdW5kCmRhbm4gaHVzY2hlbiAzMCBaZWlsZW4gYXVmIGVpbmVuIFNjaGxhZyB1ZWJlciBtZWluZW4gQmlsZHNjaGlybSEKCklsdmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGsgKFp1ZXJpbGV1LCAxNi4gSmFuIDE5OTYsIDAyOjE2OjA0KToKfiMhIHJuPUlsdmVzIHJ0PTgyMTczNzAzMAp+IyEgdGlkPTgyMTY2MTM5OQpTYWxpIGlsdmVzLApOdW4gaWNoIGtvbW1lIGRhcmF1ZiB3ZWlsIGljaCBkaWNoIGFiZW5kcyBuaWUgc2VoZSBvZGVyIHNlaHIgc2VsdGVuLiBKYQp2ZXJzdWNoIGVzIG1hbCBtaXQgZGVtIFRlZGR5LCBvZGVyIHNvbnN0IGlzdCBNYXJpdGEncyBBbGlhc2xvZXN1bmcgZG9jaCBhdWNoCm5pY2h0IHNjaGxlY2h0LiBBdWNoIHdlbm4gaWNoIGRpZSBBbGlhcyBhbmRlcnMgYW5vcnRuZW4gd3VlcmRlLCBhYmVyIGRhcyB0dXQKd2Fyc2NoZWlubGljaCBqZWRlciB3aWUgZXMgaWhtIGJlbGllYnQgaXN0LiBBY2ggamEgbm9jaHdhcywga2xhciBzY3JvbGx0IGJlaQplaW5lbSBLYW1wZiBkZXIgQmlsZHNjaGlybSBzZWhyIHNjaG5lbGwsIHdhcyBhdWNoIGVpbmUgdWVidW5nc2FjaGUgaXN0IGRhIG5vY2gKbmFjaHp1a29tbWVuLCBhYmVyIGRhIGthbm4gRGlyIHdvaGwga2VpbmVyIGhlbGZlbiBhbHMgRHUgZGlyIHNlbGJlci4gTmltbSBkaXIKZG9jaCBlcnN0IG1hbCBkaWUga2xlaW5lcmVuIE1vbnN0ZXIgdm9yIGJldm9yIGR1IGRpY2ggZ2xlaWNoIGF1ZiBPcmtzIHN0dWVyemVuCm11c3N0LCBzbyBzdGlyYnN0IGR1IGF1Y2ggbmljaHQgc28gc2NobmVsbC4gV2VubiBkdSBlcyBsYW5nc2FtIGxlaWQgYmlzdApCaWVuY2hlbiB1bmQgb2RlciBhbmRlcmVzIGtsZWludmllaCB6dSB0b2V0ZW4sIGRhbm4gc2NoYXUgbWFsIGltIFBhcmsgZGVyCkZyZXVkZSB2b3JiZWksIGRvcnQgc2luZCBkaWUgdmllY2hlciBhdWNoIG5pY2h0IHp1IHN0YXJrIHVuZCBndXQgenVtCnRyYWluaWVyZW4uIER1IGhhc3Qgbm9jaCBnZW51ZyBaZWl0IGRpZSBncm9zc2VuIE1vbnN0ZXIgenUga2lsbGVuLCBmcmFnIGRvY2gKbWFsIGVpbiBwYWFyIHZvbiBkZWluZW4gS29sbGVnaW5uZW4gb2RlciBhdWYgZGVyIEViZW5lIGRpZSBMZXV0ZSBzaW5kIHppZW1saWNoCmhpbGZzYmVyZWl0IHdlbm4gbWFuIGxpZWIgZnJhZ3QuCgpUc2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobWFycm4gIChNdWRsZXIsIDE2LiBKYW4gMTk5NiwgMjI6MDA6MzYpOgpLbGVpbmUgRnJhZ2U6CklzdCBNYXJpdGEgbnVuIFp1ZXJpZXMgWndlaXRpZSBvZGVyIG5pY2h0Ck11ZGxlciB3YXIgYXVjaCBkYWJlaSwgYWxzIGhhd2sgc2ljaCBtYWwKd2llZGVyIGVpbmxvZ2d0ZS4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJZGlvdGVuIHZlcmRlcmJlbiBkZW4gU3Bhc3MgYW0gU3BpZWwgLi4uIChKb3NodWEsIDE3LiBKYW4gMTk5NiwgMjA6MTI6MTIpOgpIaSBNdWRkaWVzIC4uLgoKSGV1dGUgaGF0IG1pciB6dW0gd2llZGVyaG9sdGVuIE1hbGUgZWluIFNwaWVsZXIgZWluIEl0ZW0gImdlc3RvaGxlbiIsIG5hY2hkZW0KaWNoIGVpbmlnZSBNdWVoZSBoYXR0ZSBlcyB6dSBiZWtvbW1lbi4gSWNoIHdhciBnZXJhZGUgaW0gQmVncmlmZiBkaWUKRnJpZWRob2ZzcXVlc3QgenUgbG9lc2VuLCBhbHMgQkxBVUJBUlQsIGVpbiAydGllIC1vZmZlbmJhciB2b24gUmltdXMtIGRpZQpQdXBwZSBuYWhtLCBuYWNoZGVtIGljaCBuYWNoIG1laHJtYWxpZ2VuIFRhbmtlbiBkYXMgU2tlbGV0dCBnZWtpbGx0IGhhdHRlLgpOYWNoIG1laW5lciBBbnNwcmFjaGUgaGllcnp1IHd1cmRlIGVyIHZvbiBIZXJjdWxlcyB2ZXJ0ZWlkaWd0LCBlciBzZWxiZXIgaGF0dGUKZXMgb2ZmZW5iYXIgbmljaHQgbm9ldGlnIHNpY2ggaW4gZGllc2VyIFNhY2hlIG1pdCBtaXIgYXVzZWluYW5kZXJ6dXNldHplbiwgdm9uCmVpbmVtIGt1cnplbiBLb21tZW50YXIgZXIgYnJhZXVjaHRlIGVzIGhhbHQgZ2VyYWRlLCBlaW5tYWwgYWJnZXNlaGVuLiBIZXJjdWxlcwp3aWRlcnJ1bSBmYW5kIGVzIHNlaHIgd2ljaHRpZyBzZWluZSBhZXVzc2Vyc3QgcXVhbGlmaXppZXJ0ZSBNZWludW5nIChIZXJjdWxlcwp0ZWlsdCBEaXIgbWl0OiBCQUVIKSBiZWthbm50IHp1IGdlYmVuLiBOaWNodCBhbGx6dSBsYW5nZSBaZWl0IHZvcmhlciBoYXR0ZSBlcgptaXIgZWluZSBEaWRkbC1NYXVzIGdla2xhdXQsIG5hY2hkZW0gaWNoIGhpbnRlciBkcmVpIFNwaWVsZXJuIGRhZnVlcgphbmdlc3RhbmRlbiBoYXR0ZSAoZGFzIHp1ciBRdWFsaWZpa2F0aW9uKS4KCkljaCBmaW5kZSwgZGFzcyBzb2xjaCBlaW4gVm9yZ2VoZW4gZXJuc3RoYWZ0IGJlc3RyYWZ0IHdlcmRlbiBtdWVzc3RlLiBFcwp6ZWlndCBlaWdlbnRsaWNoIHNvZ2FyLCBkYXNzIGRlciBiZXRyb2ZmZW5lIFNwaWVsZXIgZ2FyIG5pY2h0IGluIGRlciBMYWdlIGlzdAptaXQgbWVocmVyZW4gU3BpZWxlcm4ga29vcGVyYXRpdiB6dXNhbW1lbnp1YXJiZWl0ZW4uIEltIEdlZ2VudGVpbCwgZXIKdmVyYWNodGV0IGFsbGVzIHdhcyBzY2h3YWVjaGVyIGlzdCBhbHMgZXIgKEhlcmN1bGVzIHRlaWx0IERpciBtaXQ6IE5FUlYgbmljaHQKS2xlaW5lcikuIEVzIGthbm4gYWJlciBuaWNodCBzZWluLCBkYXNzIGljaCBkaWVzIGluIEthdWYgbmVobWVuIG11c3MsIG51ciB3ZWlsCmljaCBuaWNodCBpbiBkZXIgTGFnZSBiaW4gaWhuIHp1IGtpbGxlbi4KCk1pY2ggd3VlcmRlIG51biBkaWUgTWVpbnVuZyBkZXIgYW5kZXJlbiBNaXRzcGllbGVyICh2b3IgYWxsZW0gbmF0dWVybGljaCBkZXIKTWFnaWVyIHVuZCBHb2V0dGVyKSB6dSBlaW5lbSBzb2xjaCBhc296aWFsZW4gVmVyaGFsdGVuIGludGVyZXNzaWVyZW4uCgpDaWFvLCBpY2ggd3VlbnNjaGUgRXVjaCwgZGFzcyBJaHIgZXMgbmljaHQgbWl0ICJzb2xjaGVuIFR5cGVuIiAodW0KRmFla2Fsc3ByYWNoZSBtb2VnbGljaHN0IHp1IHZlcm1laWRlbikgenUgdHVuIGJla29tbXQgLi4uCgpQLlMuOiBKZXR6dCB2ZXJzdGVoZSBpY2ggYXVjaCwgd2llIGVzIHp1IFBsYXllcmtpbGxzIGtvbW10ISBFcyBnaWJ0IExldXRlLApkaWUgaGFiZW4gZXMgdmVyZGllbnQhIFZpZWxsZWljaHQgc29sbHRlIG1hbiBvZWZmZW50bGljaGUgSGlucmljaHR1bmdlbgplaW5yaWNodGVuIT8hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWRpb3RlbiB2ZXJkZXJiZW4gZGVuIFNwYXNzIGFtIFNwaWVsIC4uLiAoRWx2bmlrLCAxNy4gSmFuIDE5OTYsIDIyOjIwOjAzKToKfiMhIHJuPUpvc2h1YSBydD04MjE5MDU5MzIKfiMhIHRpZD04MjE5MDU5MzIKSGkgSm9zaHVhLAoKQWxzbyBpY2ggYmluIE1hZ2llciwgYWJlciB3YXMgZHUgaW4gZGVpbmVtIEFydGlrZWwgdm9yc2NobGFlZ3N0IGlzdCBqYSB3b2hsCmV0d2FzIHVlYmVydHJpZWJlbiAob2VmZmVudGxpY2hlIEhpbnJpY2h0dW5nZW4gdS5zLncuKS4gRGllc2UgRGlza3Vzc2lvbgp0YXVjaHRlIGF1Y2ggc2Nob24gbWVocm1hbHMgdW5kIGluIGltbWVyIHZlcnNjaGllZGVuZW4gQWJ3YW5kbHVuZ2VuIGluIGRlcgpaZWl0dW5nIGF1Zi4gSGFzdCBkdSBkZW5uIHZlcnN1Y2h0IG1hbCBtaXQgQmxhdWJhcnQgb2RlciBSaW11cyBkYSBkcnVlYmVyIHp1CnJlZGVuIChpY2gga2VubmUgZGllc2VuIFNwaWVsZXIgaW4gUkwpLiBJY2ggYmluIG1pciBzaWNoZXIgZGFzIGVyIGF1Zgp2ZXJudWVuZnRpZ2UgQXJndW1lbnRlIGhvZXJlbiB3dWVyZGUuIFp1IHNlaW5lciBWZXJ0ZWlkaWd1bmcgbXVzcyBpY2ggc2FnZW4sCmRhcyBlciBhdWNoIGdlcmFkZSBkYWJlaSB3YXIgZGllIEZyaWVkaG9mc3F1ZXN0IHp1IGxvZXNlbiwgbGVpZGVyIGhhdHQgZXIgbmFjaAoxIFN0dW5kZSBxdWVzdGVuIGdlbWVya3QgZGFzIGVyIG5pY2h0IGdlbnVnIEdlbGQgZnVlciBlaW4gUXVlc3RpdGVtIGhhdHRlLAphbHNvIGhhdCBlciBtaXQgQmxhdWJhcnQgZGFzIEdlbGQgYmVzY2hhZmZ0IHVuZCBlcyBpbiBkaWUgS2F0YWtvbWJlbgpnZXNjaGFmZnQuIEJsYXViYXJ0IGJlbm9ldGlndGUgZGFmdWVyIGRlbiBTY2hsdWVzc2VsLCBhbHNvIGF1Y2ggZGllIFB1cHBlLCBkYXMKZXMgYW4gZGllc2VyIFN0ZWxsZSB6dSBLb21wbGlrYXRpb25lbiBrb21tZW4ga2FubiBpc3Qgbm9ybWFsLCBhYmVyIGRlaW5lbgpBcnRpa2VsIHNvbGx0ZXN0IGR1IGRpciB0cm90emRlbSBub2NobWFsIGR1cmNobGVzZW4gdW5kIGRhcnVlYmVyIG5hY2hkZW5rZW4gb2IKZGVpbmUgVm9yc2NobGFlZ2UgYW5nZW1lc3NlbiBzaW5kLgpKdW5nbWFnaWVyIEVsdm5pawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogayAoSWx2ZXMsIDE3LiBKYW4gMTk5NiwgMjI6NTc6MzQpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODIxNzU0OTY0Cn4jISB0aWQ9ODIxNjYxMzk5CkVocmxpY2ggZ2VzYWd0LCBiaW4gaWNoIGdhciBuaWNodCBzbyBhdWZzIEtpbGxlbiBhdXMuIEljaCBtb2VjaHRlIG51cgpnZXdhcHBuZXQgc2VpbiwgZmFsbHMgaWNoIG1hbCBraWxsZW4gbXVzcy4gRGFzIFphY2hhcmlhcy1RdWVzdCBoYWV0dGUgaWNoCm9obmUgZ3V0ZSBSdWVzdHVuZyBuaWNodCBsb2VzZW4ga29lbm5lbi4KCk1vbWVudGFuIGZlaGxlbiBtaXIgc293aWVzbyBpbW1lciBudXIgQWJlbnRldWVycHVua3RlIHp1bSBFcnJlaWNoZW4KZGVyIG5hZWNoc3RlbiBTdHVmLgoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJZGlvdGVuIHZlcmRlcmJlbiBkZW4gU3Bhc3MgYW0gU3BpZWwgLi4uIChSaW11cywgMTcuIEphbiAxOTk2LCAyMzoxODozNCk6Cn4jISBybj1Kb3NodWEgcnQ9ODIxOTA1OTMyCn4jISB0aWQ9ODIxOTA1OTMyCkhpIEpvc2h1YQoKQWxzIGVyc3RlcyBtb2VjaHRlIGljaCBtaWNoIGJlaSBkaXIgZW50c2NodWxkaWdlbiwgd2VpbCBpY2ggZGlyIGRhcyBUZWlsIHdlZy0KZ2VzY2huYXBwdCBoYWJlLiBOdXIsIGljaCBoYWJlIERpciBoaW50ZXJoZXIgZXJrbGFlcnQsIGRhc3MgaWNoIGVzIGRyaW5nZW5kCmJyYXVjaGUsIHdlaWwgaWNoIG5hY2ggZWluZXIgU3R1bmRlIHF1ZXN0ZW4gZmVzdGdlc3RlbGx0IGhhYmUsIGRhc3MgaWNoIEdlbGQKYmVub2V0aWdlLiBJY2ggZ2VoZSBmYXN0IGltbWVyIG9obmUgR2VsZCBpbiBlaW5lIFF1ZXN0IHVuZCBzb21pdCB3YXIgaWNoCmdlend1bmdlbiBtaXQgZWluZW4gWndlaXRzcGllbGVyIGRhcyBHZWxkIHZvcmJlaXp1YnJpbmdlbi4gRGFzIGhhYmUgaWNoCkRpciBqYSBhdWNoIGdlc2FndCB1bmQgZGlyIHNvZ2FyIGFuZ2Vib3Rlbiwgd2VubiBpY2ggZGFzIExhYnlyaW50aCBvZmZlbgpoYWJlLApkYXMgZHUgbnVyIHp1IGtvbW1lbiBicmF1Y2hzdCB1bmQgZGllIFF1ZXN0IGltIFNjaG5lbGxkdXJjaGxhdWYgYmVzdGVoc3QuCkxlaWRlciBoYXNzdCBkdSBtZWluIGFuZ2Vib3QgYWJnZXNjaGxhZ2VuIHVuZCBlaW5lbiBBcnRpa2VsIHZlcm9lZmZlbnRsaWNodCwKZGVyIGVpZ2VudGxpY2ggbmljaHQgc28gaW4gZGllIFplaXR1bmcgZ2Vob2VydC4gV2VubiBpY2ggbWljaCBqZWRlc21hbCBhdWYtCnJlZ2VuIHd1ZXJkZSwgd2VubiBlaW5lciBkaWUgTGVpY2hlIGF1c3JhZXVtdCwgYmV2b3IgaWNoIGVzIG1hY2hlLCBkYW5uIHdhZXJlCmRhcyBuaWNodCBkZXIgNTYuIEFydGlrZWwuClp1Z3V0ZXJsZXR6dCBtb2VjaHRlIGljaCBkaXIgbm9jaCBzYWdlbiwgZGFzIGR1IGRpY2ggbWl0IGRlbSBWb3JoYWJlbgpGcmllZGhvZnNxdWVzdCBldHdhcyB1ZWJlcm5vbW1lbiBoYXNzdC4gRGVubiB3ZW5uIER1IGJlaSBkZW4gT3Jrc2tlbGV0dCAzIG1hbAp0YW5rZW4gZ2VoZW4gbXVzc3QsIGRhbm4gc2VoZSBpY2gga2VpbmUgY2hhbmNlIGZ1ZXIgZGljaCBkZW4gem9tYmllZHJhY2hlbgp0b3QgenUgYmVrb21tZW4uCgpBbHNvIGxhc3MgZGlyIGRhcyBub2NoIGVpbm1hbCBkdXJjaCBkZW4ga29wZiBnZWhlbiAhCkljaCBoYWIgbWljaCBiZWkgZGlyIGhpZXJtaXQgZW50c2NodWxkaWd0IFJJTVVTLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogayAoRnl0LCAxOC4gSmFuIDE5OTYsIDAxOjA0OjMwKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTgyMTc1NDk2NAp+IyEgdGlkPTgyMTY2MTM5OQpJc3QgZGFzIG5pY2h0ICduIFBsYXllcmtpbGwsIHdlbm4gbWFuIEJpZW5jaGVuICh1bmQgYW5kZXJlcwpLbGVpbnZpZWggOikpICkgdG9ldGV0PwoKRnl0LCBzY2htdW56ZWxuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGsgKEJpZW5jaGVuLCAxOC4gSmFuIDE5OTYsIDA3OjEzOjE3KToKfiMhIHJuPUZ5dCBydD04MjE5MjM0NzAKfiMhIHRpZD04MjE2NjEzOTkKaGV5LCBpY2ggYmluIGtlaW4ga2xlaW52aWVoICEhISEKOy0pKQpiaWVuY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogayAoQmxvb2R5aGFycnksIDE4LiBKYW4gMTk5NiwgMDc6NDk6MDEpOgp+IyEgcm49QmllbmNoZW4gcnQ9ODIxOTQ1NTk3Cn4jISB0aWQ9ODIxNjYxMzk5CkRhcyBrYW5uIGljaCB3aXJrbGljaCBiZXN0YWV0aWdlbi4gQXVzc2VyZGVtIGxhc3NlIGljaCBtaWNoIG5pY2h0IHNvIGdlcm5lCnZvbiBLbGVpbnZpZWggaW4gUkwga251ZGRlbG4uIDotKQoKUGlyYXRlbm9wYSBCbG9vZHkgSGFycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFMIChHdW5kdXIsIDE4LiBKYW4gMTk5NiwgMTI6NDI6MjkpOgpIaSEKRnVlciBkaWUsIGRpZSBlcyBpbnRlcmVzc2llcnQuCkFsIGlzdCBlaW4gb2RlciB6d2VpIFRhZ2UgZG93bi4uLT4gUmVjaG5lciByZWNobmV0CkdydXNzCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2hlcyAoSm9mLCAxOC4gSmFuIDE5OTYsIDE0OjQwOjM2KToKCiBEaWUgbGFlc3RpZ2VuIENyYXNoZXMsIGRpZSB1bnNlciBNdWQgaW4gZGVuIGxldHp0ZW4gVGFnZW4gaGVpbWdlc3VjaHQKaGF0dGVuLApoYXR0ZW4gaWhyZSBVcnNhY2hlIHdvaGwgbmljaHQgaW4gZmVobGVyaGFmdGVyIFNvZnR3YXJlLCB3aWUgd2lyIHp1bmFlY2hzdAphbmdlbm9tbWVuIGhhdHRlbiwgb2RlciBpbiBlaW5lciBkZWZla3RlbiBQbGF0dGUsIHdhcyB1bnNlcmUgendlaXRlIEFuYWx5c2UKd2FyLCBzb25kZXJuIHd1cmRlbiBkdXJjaCBlaW5lbiBkZWZla3RlbiBQcm96ZXNzb3JrdWVobGVyLCBkZXIgenUgbGF1ZmVuZGVyClVlYmVyaGl0enVuZyBkZXIgQ1BVIGdlZnVlaHJ0IGhhdCwgYXVzZ2Vsb2VzdCAuLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllYmUgKEpvc2h1YSwgMTguIEphbiAxOTk2LCAxNDo0OTo1OCk6CkljaCBzb2xsdGUgbWVpbmVuIEFuc2NodWxkaWd1bmdlbiB2aWVsbGVpY2h0IG5vY2ggaGluenVmdWVnZW4sIGRhc3MgbWlyIGltCkZhbGwgZGVyIFB1cHBlIGRpZSBSdWVja2dhYmUgdmVyc3Byb2NoZW4gd3VyZGUgLi4uIEpldHp0LCAyNCBTdHVuZGVuIHNwYWV0ZXIKaGFiZSBpY2ggc2llIG5hdHVlcmxpY2ggaW1tZXIgbm9jaCBuaWNodCB3aWVkZXIsIHNvIHZpZWwgenVyIEF1ZnJpY2h0aWdrZWl0IQoKRGF2b24gYWJnZXNlaGVuIGlzdCBlcyBrbGFyLCBkYXNzIHNvIGV0d2FzIG1hbCB2b3Jrb21tdCwgZG9jaCBpY2ggZmluZGUKamVtYW5kIGFuc3RhZW5kaWdlcyB3dWVyZGUgZGllIFNhY2hlIGRhbm4gU09GT1JUIHp1cnVlY2tnZWJlbiwgd2VubiBlciBlcwptZXJrdC4gQW5kZXJlIHdhcnRlbiBhdWNoLCBiaXMgc2llIGFuIGRlciBSZWloZSBzaW5kISBCaXMgRHUgZXR3YXMgYmVzb25kZXJlcz8KCkpPU0hVQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoZXMgKFJhZmZpLCAxOC4gSmFuIDE5OTYsIDE3OjQ2OjU1KToKfiMhIHJuPUpvZiBydD04MjE5NzI0MzYKfiMhIHRpZD04MjE5NzI0MzYKCldhcyBKb2YgZGFtaXQgc2FnZW4gd2lsbCBpc3Qgd2FocnNjaGVpbmxpY2gsIGRhc3MgZXIgd2llZGVybWFsIGlyZ2VuZHdlbGNoZQpQcm9ncmFtbWUgZ2VzY2hyaWViZW4gaGF0LCBkaWUgZGVuIFBFTlRJVU0gc28gYmVhbnNwcnVjaGVuLCBkYXMgZXIgZWluc2VpdGlnCnVlYmVyaGl0enQuLi4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZWJlIChTY2hydW1wZmksIDE5LiBKYW4gMTk5NiwgMTk6MDY6MDQpOgp+IyEgcm49Sm9zaHVhIHJ0PTgyMTk3Mjk5OAp+IyEgdGlkPTgyMTk3Mjk5OApPaCBNYW5uLCBpaHIgZ2VodCBtaXIgamEgc29vb29vb29vb29vb29vIGF1ZiBkZW4gTmVydiEhISBSaW11cyBoYXQgZXMgRGlyCmVya2xhZXJ0IHVuZCBkYW1pdCBzZWhlIGljaCBrZWluZW4gR3J1bmQgaGllciB3ZWl0ZXIgcnVtenVtZWNrZXJuLiBWZXJsZWcKYWxsZXMgd2VpdGVyZSBhdWYgTWFpbCEKUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllYmUgKEpvZiwgMjIuIEphbiAxOTk2LCAwODoyMjo1NCk6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODIyMDc0NzY0Cn4jISB0aWQ9ODIxOTcyOTk4CgogSmEhIEVzIHdhZXJlIGtsYXNzZSB1bmQgZnVlciBkYXMgYWxsZ2VtZWluZSBLbGltYSBzaWNoZXIgc2VociBmb2VyZGVybGljaCwKd2VubiBzaWNoIGRpZSBCZXRlaWxpZ3RlbiBncnVuZHNhZXR6bGljaCBlcnN0bWFsIHZpYSBNYWlsIHVudGVyaGFsdGVuCnd1ZXJkZW4sCmRpZSBwcml2YXRlbiBTdHJlaXRlcmVpZW4gZ2Vob2VyZW4gbWVpbmVzIEVyYWNodGVucyBXSVJLTElDSCBuaWNodCBpbiBkaWUKWmVpLQp0dW5nLCBkYSBzaWUgZG9ydCB1bnphZWhsaWdlIGFuZGVyZSBTUGllbGVyIG5lcnZlbiEhIQoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW50ZXJoYWx0dW5nIHZpYSBNYWlsIHVlYmVyIHByaXZhdGUgUHJvYmxlbWUgLi4uIChKb3NodWEsIDIyLiBKYW4gMTk5NiwgMTU6Mzk6MDYpOgpJY2ggdmVyc3RlaGUgdW5kIHJlc3Bla3RpZXJlIG5hdHVlcmxpY2ggZGVuIFd1bnNjaCwgZGFzcyBpaHIgaW4gUnVoZSBnZWxhc3Nlbgp3ZXJkZW4gd29sbHQsIGRvY2ggaWNoIGhpZWx0IGVzIHp1IGRpZXNlbSBaZWl0cHVua3QgZnVlciBlaW5lIGFuZ2VtZXNzZW5lCk1hc3NuYWhtZSwgdW0gZGllIEJldGVpbGlndGVuIHp1IHp3aW5nZW4sIHNpY2ggbWl0IGRlbSBUaGVtYQphdXNlaW5hbmRlcnp1c2V0emVuIC4uLiBJc3QgamEgYXVjaCBlZ2FsLCBkaWUgU2FjaGUgbWl0IFJpbXVzIGhhdCBzaWNoIGVoCmVybGVkaWd0IC4uLiBXYWVyZSBqZWRvY2ggR0xFSUNIIGVpbmUgUmVha3Rpb24gZ2Vrb21tZW4sIHNvIHdhZXJlIGljaCBuaWUgYXVmCmRpZSBJZGVlIGdla29tbWVuIGRpZSBTYWNoZSBpbiBkZXIgWmVpdHVuZyB6dSB2ZXJvZWZmZW50bGljaGVuICh3YXIgbWVpbgplcnN0ZXIgQXJ0aWtlbCkgLi4uIEljaCBoYWJlIGF1Y2ggYmVzc2VyZXMgenUgdHVuIC4uLiBBbGxlcmRpbmdzIGZpbmRlIGljaCBkYXMKRGVzaW50ZXJlc3NlIChiZXNvbmRlcnMgZGVyIEdvZXR0ZXIpIHVuZCBkaWUgR2xlaWNoZ3VlbHRpZ2tlaXQsIGRpZSBkZW0gRmFsbAplbnRnZWdlbmdlYnJhY2h0IHd1cmRlIG5pY2h0IGd1dCAoc2VlaHIgdm9yc2ljaHRpZyBhdXNnZWRydWVja3QpIC4uLgoKSk9TSFVBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW50ZXJoYWx0dW5nIHZpYSBNYWlsIHVlYmVyIHByaXZhdGUgUHJvYmxlbWUgLi4uIChEdXJpYW4sIDIyLiBKYW4gMTk5NiwgMTc6MDU6MzEpOgp+IyEgcm49Sm9zaHVhIHJ0PTgyMjMyMTU0Ngp+IyEgdGlkPTgyMjMyMTU0NgpVbmQgaWNoIGJpbiBkZXIgTWVpbnVuZywgZGFzcyBkaWUgRU0ncywgYnp3LiBkaWUgR29ldHRlciwgdW5kIGRpZSBoYXN0CmphIGFuZ2VzcHJvY2hlbiwgc2ljaCBpbiBqZWRlbiBwcml2YXRlbiBLbGVpbmtyaWVnIGVpbm1pc2NoZW4gc29sbHRlbiwKYnp3LiBrb2VubmVuLgoKRXJzdG1hbCBpbiBhbGxlciBSdWhlIGRydWViZXIgbmFjaGRlbmtlbiwgZGllIFNhY2hlIHZlcnN1Y2hlbiB6dSBrbGFlcmVuLgpEZXIgV2VnIHVlYmVyIGRpZSBaZWl0dW5nIGxhZXVmdCBuaWNodCBkYXZvbiEKCk9oIHNoaXQgLi4uIG9iZW4gZmVobHQgZWluICpuaWNodCogZGllIEdvZXR0ZXIgc29sbHRlbiBzaWNoIE5JQ0hUIGVpbi0KbWlzY2hlbiAuLi4gYWVoZW0sIGFiZXIgZXMgaXN0IGtsYXIsIHdhcyBpY2hzYWdlbiB3b2xsdGUgOi0pCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbnRlcmhhbHR1bmcgdmlhIE1haWwgdWViZXIgcHJpdmF0ZSBQcm9ibGVtZSAuLi4gKEdyaW1tYm9ybiwgMjIuIEphbiAxOTk2LCAxNzowNzowNik6Cn4jISBybj1EdXJpYW4gcnQ9ODIyMzI2NzMxCn4jISB0aWQ9ODIyMzIxNTQ2CgpPY2gsIG9iIHNpY2ggR29ldHRlciBlaW5taXNjaGVuIG9kZXIgbmljaHQgaXN0IGVpZ2VudGxpY2ggemllbWxpY2ggZWdhbC4KQmVpIGRlbiBFTSBpc3QgZGFzIHdhcyBhbmRlcmVzLCBkaWUgZ2lidHMgamEgd2lya2xpY2guLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllYmUgaW4gbWVpbmVtIEhhdXMgKFNseWZveCwgMjIuIEphbiAxOTk2LCAxOTozMDowNSk6CkljaCBoYXR0ZSBtYW5jaGVuIEZyZXVuZGVuIHZvbiBtaXIgaW4gbWVpbmVtIEhhdXMgZXJsYXVidCwgZGllIFRydWhlIGF1Zi0KenVzY2hsaWVzc2VuLCB1bSBzaWNoIFNhY2hlbiwgZGllIGljaCBmdWVyIHNpZSBiZXNvcmd0IGhhYmVuLCBuZWhtZW4genUKa29lbm5lbi4gTGVpZGVyIGJlZmFuZGVuIHNpY2ggTGV1dGUgZGFydW50ZXIsIHNpZSBzaWNoIGdhbnogc2Nob2VuIGZyZWNoCmFuIGRlbiBTYWNoZW4sIGRpZSBpY2ggZWlnZW50bGljaCBzZWxiZXIgZHJpbmdlbmQgYnJhdWNodGUsIHZlcmdyaWZmZW4KaGF0dGVuLgpJcmdlbmQgamVtYW5kIGhhdHRlIGFsbGUgbWVpbmUgZ3JhdWVuIFN0ZWluZSB1bmQgZGF6dSBub2NoIGVpbmlnZSBSaW5nZQpnZWtsYXV0LgoKRGFtaXQgc293YXMgbnVuIG5pY2h0IG1laHIgcGFzc2llcnQsIHNhaCBpY2ggbWljaCBnZXp3dW5nZW4sIGFsbGVuIHdpZWRlcgp6dSB2ZXJiaWV0ZW4sIG1laW4gSGF1cyBhdWZ6dXNjaGxpZXNzZW4sIHdlbm4gbWFuIG5pY2h0IG1hbCBtZWhyIHNlaW5lCmVpZ2VuZW4KU2FjaGVuIGRhIGxhZ2VybiBrYW5uLiBEYXMgbWFjaCBpY2ggc29sYW5nZSwgYmlzIHNpY2ggZGVyLSBvZGVyIGRpZWplbmlnZW4KZGllIGRhcyB3YXJlbiwgbWVsZGVuLgpTb2xsdGUgZGFuYWNoIHdpZWRlciBzb3dhcyBwYXNzaWVyZW4sIHdlcmRlIGljaCBncnVuZHNhZXR6bGljaCBuaWVtYW5kZW4KbWVociBhbiBtZWluZSBUcnVoZSByYW4gbGFzc2VuLgoKU2NoYWRlIGZ1ZXIgZGllIGVocmxpY2hlbiBGcmV1bmRlLCBkaWUgYmVpIG1pciBuaWUgd2FzIGdla2xhdXQgaGFiZW4sIGFiZXIKZXMgaXN0IGFic29sdXQgdHJhdXJpZywgd2VubiBtYW4gc2VpbmVuIGVpZ2VuZW4gRnJldW5kZW4gbmljaHQgbWFsIHZlcnRyYXVlbgprYW5uLgoKICAgIFNseWZveAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZWJlIGluIG1laW5lbSBIYXVzIChNb3Jnb3RoLCAyMy4gSmFuIDE5OTYsIDA3OjI3OjExKToKfiMhIHJuPVNseWZveCBydD04MjIzMzU0MDUKfiMhIHRpZD04MjIzMzU0MDUKaG1tLCBlaW5lIGFuZGVyZSBtb2VnbGljaGtlaXQgd2FlcmUsIGRhc3MgZWluZXIgZXMgbnVyIHZlcmdlc3NlbiBoYXQgenUKc2NobGllc3Nlbi4gZGFubiBrb2VubmVuIGFuZGVyZSBqYSBhdWNoIGRyYW4uIDstKCgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGlsZnJhZ2VuIChBY3JpbW9uLCAyMy4gSmFuIDE5OTYsIDIzOjQyOjQ4KToKfiMhIHJuPVN1c2hpIHJ0PTgyMjQzMTEwMAp+IyEgdGlkPTgyMjQzMTEwMApXYXMgaW1tZXIgZGFzIHdhciwgaWNoIGZpbmRlIGVzIFVOVkVSU0NIQUVNVCEKV2VyIFNvdXJjZW4gbG9lc2NodCAtIGF1cyB3ZWxjaGVtIEdydW5kIGF1Y2ggaW1tZXIgLSBkZXIgbXVzeiBkYW1pdCByZWNobmVuLApkYXN6IGRlciBCZXRyb2ZmZW5lIGRpZSBMdXN0IGFtIFByb2dyYW1taWVyZW4gdmVybGllcnQuCkJpdHRlIG1lbGQgRGljaCBFISAoTmVpbiBuaWNodCBvZWZmZW50bGljaCwgc29uZGVybiBiZWkgQ2FyZWZyZWUpIHVuZAplbnRzY2h1bGRpZ2UgRGljaCBiZWkgaWhtIHVuZCB1ZWJlcnJlZGUgaWhuLCBkYXN6IGVyIHdlaXRlcm1hY2h0IQoKSWNoIHdpbGwgbmljaHQgYXVjaCBub2NoIG1laW5lbiBlaW5zdGlnZW4gTUctU2NodWVsZXIgU3VzaGkgdmVybGllcmVuLgoKQnJpbmd0IGRhcyBpbiBPcmRudW5nIQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0aWxmcmFnZW4gKFJlaW5lbGRlLCAyMy4gSmFuIDE5OTYsIDIzOjU1OjE4KToKfiMhIHJuPUFjcmltb24gcnQ9ODIyNDM2OTY4Cn4jISB0aWQ9ODIyNDMxMTAwCndlbm4gc291cmNlbiBnZWxvZXNjaHQgd3VyZGVuIGlzdCBkYXMgc2ljaGVyIGJlZGF1ZXJsaWNoLCBhYmVyIHNvbGx0ZW4Kd2lyIHNwaWVsZXIgdW5zIG5pY2h0IHZpZWxsZWljaHQgdW0gdW5zZXJlIHByb2JsZW1lIGt1ZW1tZXJuIHVuZCBkaWUgbWFnaWVyCnNpY2ggdW0gaWhyZSBrdWVtbWVybiBsYXNzZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGlsZnJhZ2VuIChIYXRlLCAyNC4gSmFuIDE5OTYsIDAwOjE5OjU1KToKfiMhIHJuPVJlaW5lbGRlIHJ0PTgyMjQzNzcxOAp+IyEgdGlkPTgyMjQzMTEwMApCZXZvciBkYXMgbmljaHQgZ2VrbGFlcnQgaXN0IG1vZWNodGUgaWNoIGhpZXIgZGF6dSBrZWluZSByZXBsaWVzIHNlaGVuIQpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3RpbGZyYWdlbiAoRW5neXd1Y2ssIDI0LiBKYW4gMTk5NiwgMDA6MjI6NTYpOgp+IyEgcm49SGF0ZSBydD04MjI0MzkxOTUKfiMhIHRpZD04MjI0MzExMDAKQWhhLgpBbHNvIGVyZ2FlbnplbiB3aXI6CjEuIER1IHNvbGxzdCBrZWluZSBTcGllbGVyIGFuZ3JlaWZlbi4KMi4gRHUgc29sbHN0IG5pY2h0IHNjcmlwdGVuLgozLiBEdSBzb2xsc3QgSGF0ZSBuaWNodCB3aWVkZXJzcHJlY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBzby4uLiAoQ3VjaHVsbGluLCAyNC4gSmFuIDE5OTYsIDA0OjUwOjM1KToKCgoKCk9iIG1hbiBNb3JnZW5HcmF1ZW4gZWluZmFjaCBtYWwgdmllcnplaG4gVGFnZSBydW50ZXJmYWhyZW4gc29sbHRlPwoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHJ1bXBmaSAoU2NocnVtcGZpLCAyNC4gSmFuIDE5OTYsIDA0OjUyOjA4KToKfiMhIHJuPVBmdXNoaSBydD04MjI0NTUzMDAKfiMhIHRpZD04MjI0NTUzMDAKSmEsIHN0aW1tdC4gU3RlaCBpY2ggYXVjaCB6dS4gV2VuIGplbWFuZCBtZWludCBtaWNoIGFlcmdlcm4genUga29lbm5lbiwgZGFubgpqYXQgZXIgc2ljaCBnZXRhZXVzY2h0LiBXZW4gaWNoIGplbWFuZGVuIGF1ZiBpZ25vcmllcmUgc2V0emUgd2VpbCBpY2ggbWlyCnNlaW5lIEJlbGVpZGlndW5nZW4gbmljaHQgbGFlbmdlciBhbmhvZXJlbiB3aWxsLCBkYW5uIHdpbGwgaWNoIG1pciBkaWUgYXVjaApuaWNodCBNaXR0ZWxzIEVjaG9zIGFuaG9lcmVuLiBJY2gga2FubiBtaWNoIHNlaHIgd29obCB3ZWhyZW4gdW5kIHdlbm4gbWlyIGRhbm4KYXVjaCBub2NoIGplbWFuZCBkcm9odCBzaWNoIHNlbGJzdCB6dSBsb2VzY2hlbiBkYW5uIGthbm4gaWNoIG51ciBtaXRsZWlkaWcKbGFlY2hlbG4uIER1bW0gZ2VsYXVmZW4gLi4uCktvZW5udGUgZGllc2VuIFN0cmVpdCBqZXR6dCB1ZWJlciBNYWlsIGF1c3RyYWdlbiBhYmVyIGVyc3RlbnMgaGF0IHNpY2ggZGVyCmJldHJlZmZlbmRlIGdlbG9lc2NodCB1bmQgendlaXRlbnMgd3VyZGUgbWlyIGhpZXIgd2FzIHVudGVyc3RlbGx0LiBFbmRlIGRlcgpEaXNrdXNzaW9uIG1laW5lcnNlaXRzIQpTY2hydW1wZmkgZGllIE1vZXJkZXJpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0aWxmcmFnZW4gKExhcmlzc2EsIDI0LiBKYW4gMTk5NiwgMTI6MDg6MzEpOgp+IyEgcm49U3VzaGkgcnQ9ODIyNDMxMTAwCn4jISB0aWQ9ODIyNDMxMTAwCkhpIQpMZXV0ZSBMZXV0ZSBMZXV0ZSEKCkVzIHdhZXJlIHdpcmtsaWNoIHNjaG9lbiwgd2VubiBuaWNodCBpbW1lciBpbW1lciB3aWVkZXIKamVtYW5kIHZlcnVydGVpbHQgd2lyZCwgb2huZSBkYXNzIGRlciBTYWNodmVyaGFsdCBnZWtsYWVydCBpc3QuCgpFcyBpc3QgemllbWxpY2ggbGVpY2h0IHNpY2ggKG1pdCBSZWNodCBvZGVyIG5pY2h0KSBhdWZ6dXJlZ2VuLAphYmVyIGVzIGlzdCB2ZXJmbHVjaHQgc2Nod2VyLCBlaW5tYWwgZ2VzYWd0ZXMgd2llZGVyIHJ1ZWNrZ2FlbmdpZwp6dSBtYWNoZW4uLi4KCkplZGVyIG1hY2h0IG1hbCBGZWhsZXIsIGplZGVyIHdlaXNzIGRhc3MsIHVuZCBpbiBlaW5lbSBzbyBncm9zc2VuCm11ZCB3aWUgZGVtIE1vcmdlbmdyYXVlbiB3aXJkIGVpZ2VudGxpY2ggdm9uIGFsbGVuIFNwaWVsZXJuL01hZ2llcm4KZWluIGJlc29uZGVycyBncm9zc2VzIE1hc3MgYW4gUnVlY2tzaWNodCB1bmQgVG9sZXJhbnogZ2Vmb3JkZXJ0LgoKVmllbGxlaWNodCBrbGFwcHQgZGFzIGphIGluIFp1a3VuZnQgYmVzc2VyIDotKQoKTGFyaXNzYSwgYmVrb21tdCBpcmdlbmR3YW5uIG5vY2ggbWFsIG5lbiBIZXJ6YW5mYWxsIGJlaW0gWmVpdHVuZ2xlc2VuLi4uCgpQUzogRGFzIHdhciBlaW4gcmUsIEhhdGUsIFNvcnJ5IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnVyIHNvLi4uIChIYXJkaWwsIDI0LiBKYW4gMTk5NiwgMTI6NTM6MjQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTgyMjQ1NTQzNQp+IyEgdGlkPTgyMjQ1NTQzNQoKQXUgamEuCkRlbiBQcm90ZXN0IG1vZWNodGUgaWNoIGVybGViZW4uIDopCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NocnVtcGZpIChBc21vZGlzLCAyNC4gSmFuIDE5OTYsIDEzOjAwOjU5KToKfiMhIHJuPVBmdXNoaSBydD04MjI0NTY1OTUKfiMhIHRpZD04MjI0NTUzMDAKU2NoYWRlLCBkYXNzIG1hbiBhbHMgU3BpZWxlciBuaWUgbWl0a3JpZWd0LCB3YXMgdWViZXIgTWFnaWVyZWJlbmUgYWJsYWV1ZnQuCldhZXJlIG1hbCBpbnRlcmVzc2FudC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaHJ1bXBmaSAoR3JpbW1ib3JuLCAyNC4gSmFuIDE5OTYsIDEzOjE2OjEzKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODIyNDg0ODU5Cn4jISB0aWQ9ODIyNDU1MzAwCgpCZXNvbmRlcnMgZnVlciBEaWNoIHdhZXJlIGRhcyBkb2NoIGZ1ZXJjaHRlcmxpY2ggZWluZmFjaCwgQXNtb2RpczoKRWluZW4gYmVsaWViaWdlbiBNYWdpZXIgRGVpbmVyIFdhaGwgbWl0IGxldmVsID4gMjUgbmFjaCBlaW5lbSB2ZXJ0cmFnIGZyYWdlbiwKdW50ZXJzY2hyZWliZW4gdW5kIHNjaG9uIGJla29tbXN0IER1IGFsbGVzIG1pdC4gVW5kIGJlaSBkZW4gbmV1ZW4KWndlaXRpZXJlZ2VsdW5nZW4ga29lbm50ZXN0IER1IHNvZ2FyIGZhc3Qgd2llIGdld29obnQgd2VpdGVyc3BpZWxlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBGZWl4ZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hlYXN5IGlzIHZvZWxsaWcgd2VnICEgKE1pY3JvLCAyNi4gSmFuIDE5OTYsIDIyOjMxOjM2KToKT2sgLCBuaWNodCBnZW51ZyBkYXNzIGljaCBzdGFlbmRpZyB2b24gRGFlbW9uZW4gYmVsYWVzdGlndCB3ZXJkZSAuLi4KamV0enQgc2luZCB3aXIgc2Nob24gc293ZWl0ICwgZGFzcyBtZWluZSBGcmFnZW4gaW4gUnVicmlrZW4gYWJnZWxlZ3Qgd2VyZGVuCmZpbmQgaWNoIG5pY2h0IGluIE9yZG51bmcgYWJlciBlZ2FsCmljaCB3b2xsdGUgZXVjaCBudXIgbWFsIG1pdHR0ZWlsZW4gLCBkYXNzIG5pY2h0IGFsbGVzIHdhcyBpY2ggc2FnZSBlcm5zdApnZW1laW50IGlzdAp1bmQgZXVjaCBkYXJhdWYgaGlud2Vpc2VuICwgZGFzcyBlcyBhdWNoIGlyb25pc2NoZSBiZW1lcmt1bmdlbiBnaWJ0ICwgd2VsY2hlCm1hbiBmYWxzY2ggYXVmZmFzc2VuIGthbm4gISBhbHNvIG1hY2h0cyBndXQgbmUKdHNjaG9lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVbnRlcmhhbHR1bmcgdmlhIE1haWwgdWViZXIgcHJpdmF0ZSBQcm9ibGVtZSAuLi4gKE11cGZlbCwgMjkuIEphbiAxOTk2LCAyMTo1OToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODIyMzI2ODI2Cn4jISB0aWQ9ODIyMzIxNTQ2CndhcyBpc3QgbWl0IGJvaW5nPyBkZXIgaXN0IGdvdHQgVU5EIGVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWhyZW4gaW0gTUcgKEZsb3JhLCAzMS4gSmFuIDE5OTYsIDE2OjExOjQ0KToKR2lidCBlcyBlaWdlbnRsaWNoIGF1c3NlciBpbiBkZXIgQWJlbnRldXJlcmdpbGRlIG5vY2ggaXJnZW5kd28gZWluZQpVcHRpbWUtVWhyPyBGYWxscyBuaWNodCwgZmFlbmRlIGljaCBlcyBnYW56IG5ldHQsIHdlbm4gbWFuIG5vY2ggYW5kZXJzd28gZWluCnBhYXIgZGF2b24gaW5zdGFsbGllcmVuIGtvZW5udGU7IGljaCBoYWJlIG5hZW1saWNoIGtlaW5lIEx1c3QsIGRlc3dlZ2VuCmplZGVzbWFsIHZvbSBIb2JiaXRkb3JmIG5hY2ggUFYgenUgbGF1ZmVuLgoKRmxvcmEgKGdlZ2VuIGRpZSBCZW5hY2h0ZWlsaWd1bmcgbmljaHRtZW5zY2hsaWNoZXIgU3BpZWxlcklubmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVocmVuIGltIE1HIChHdW5kdXIsIDMxLiBKYW4gMTk5NiwgMTY6MzI6MTcpOgp+IyEgcm49RmxvcmEgcnQ9ODIzMTAxMTA0Cn4jISB0aWQ9ODIzMTAxMTA0CkJlaW0gSG9iYml0c2NocmVpbiBpc3QgamV0enQgbmUgU29ubmVudWhyLgpHdW5kdXIgKFNpZSB3dWVuc2NoZW4gV2lyIHByb2dnZW4hKSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjcmlwdHZlcmJvdCAoU2NocnVtcGZpLCAgMS4gRmViIDE5OTYsIDAxOjQ0OjI2KToKQXVmIGRpZSBHZWZhaHIgaGluYXVmIG51biBlaW5lIE1hc3NlbmRpc2t1c3Npb24gdW5kIEh5c3RlcmllIGF1c3p1bG9lc2VuLAp3dWVyZCBpY2ggZXMgZG9jaCB0cm90emRlbSBzZWhyIGJlZ3J1ZXNzZW4sIHdlbm4gbWFuIG1hbCBrbGFyIHNjaHJlaWJlbiB3dWVyZGUKV0FTIGZ1ZXIgU2NyaXB0ZSBkZW5uIG51biB2ZXJib3RlbiBzaW5kLiBLZWluIE1lbnNjaCB3ZWlzcyBuYWVtbGljaCBvYiBkYXMKVmVyYm90IGpldHp0IGF1Y2ggZnVlciBXZWdtYWNyb3MgZ2lsdC4KUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGVhc3kgaXMgdm9lbGxpZyB3ZWcgISAoWWVuZGksICAxLiBGZWIgMTk5NiwgMTA6MTg6NTUpOgp+IyEgcm49TWljcm8gcnQ9ODIyNjkxODk2Cn4jISB0aWQ9ODIyNjkxODk2CgpNaWNybywgRHUgbmVydnN0LgoKWW91cnMgaW5kaWduYW50bHksIFllbmRpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOlNjcmlwdGUgKFdhcmdvbiwgIDEuIEZlYiAxOTk2LCAxMTozMzowNCk6Cn4jISBybj1BbmFraW4gcnQ9ODIzMTcwNjc0Cn4jISB0aWQ9ODIzMTcwNjc0CkJld2VndW5nc2JlZmVobGUgc2luZCBkaWUgZGllIEJlZmVobGUsIG1pdCBkZW5lbiBtYW4gZGllIHNpY2h0YmFyZW4gQXVzZ2FlbmdlCmJlbnV0emVuIGthbm4uCk1laHIgbmljaHQhCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOlNjcmlwdGUgKEVuZ3l3dWNrLCAgMS4gRmViIDE5OTYsIDExOjM1OjE1KToKfiMhIHJuPVdhcmdvbiBydD04MjMxNzA3ODQKfiMhIHRpZD04MjMxNzA2NzQKV2FzIHJlZ3QgaWhyIEV1Y2ggYXVmLCBMZXV0ZT8gTWFuIGRhcmYgc2ljaCBudXIgbmljaHQgZXJ3aXNjaGVuIGxhc3Nlbi4gVW5kCndlbm4gbWFuIHp3aXNjaGVuZHVyY2ggaW4gbmVtIFdlZ2VzY3JpcHQgbmUgVHVlciBvZWZmbmV0IHVuZCBDYXQqIGxvZXNjaHQKamVtYW5kZW4gZGVzd2VnZW4sIGRhbm4gd2lyZCBlciBiYWxzIGFsbGVpbiBtaXQgZGVuIEVNcyBoaWVyIHNpdHplbi4KQWxzbyBrZWluIFBhbmlrLi4uCgpFbmd5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlOlNjcmlwdGUgKFllbmRpLCAgMS4gRmViIDE5OTYsIDExOjM2OjQ5KToKfiMhIHJuPVphcmRveiBydD04MjMxNzA3MDkKfiMhIHRpZD04MjMxNzA2NzQKCldpZSBzaWVodHMgbWl0IGN1dCZwYXN0ZSBhdXM/CkljaCBoYWJlIG1pciBtYWwgaW4gRXJtYW5nZWx1bmcgdm9uIFRGIGVpbiBUZXh0ZmlsZSBnZW1hY2h0LCB3YXMgei5CLiBkaWUKV2VnZWJlZmVobGUgdm9tIEVsZmVuZG9yZiBuYWNoIFBWIG9kZXIgenVyIEhFIGVudGhhZWx0LiBEb3J0IHdhZWhsZSBpY2ggZGFubgpkZW4gcGFzc2VuZGVuIFdlZyBhdXMgdW5kIHBhc3RlIGRpZSBCZWZlaGxlIGluIG1laW4gTVVELUZlbnN0ZXIuCkRhIHN0ZWNrdCBhYmVyIHouQi4gYXVjaCBlaW4gImZvbGdlIGJlcm5oYXJkaW5lciIgZHJpbiAtLSB2ZXJib3Rlbj8KV2VubiBqYTogV2llIHNvbGwgZGFzIGRlbm4gX2plXyBuYWNoZ2VwcnVlZnQgd2VyZGVuLCB3ZW5uIGljaCBkYXMgR2FuemUgYmVpCmRlbSBMYWcsIGRlciBhYiB1bmQgenUgaGVycnNjaHQsIGF1Y2ggdm9uIEhhbmQgZWludGlwcGVuIGtvZW5udGUsIG9obmUgamVkZQpHZXNjaHdpbmRpZ2tlaXRzZWluYnVzc2U/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnlsaW5kZXJrb3Bmc2NoYWRlbiBhbiBtZWluZW4gUGFzc2F0IChSeW5lLCAgMS4gRmViIDE5OTYsIDExOjQ3OjQwKToKClp1IGRlciBoZXV0ZSBhdWYgZGVuIEthbmFlbGVuIHVuZCBpbiBkZXIgWmVpdHVuZyBzdGF0dGZpbmRlbmRlbiBEaXNrdXNzaW9uCnVlYmVyIGRhcyBTa3JpcHR2ZXJib3QgbnVyIGZvbGdlbmRlczogV2VubiBkaWVzZSBEaXNrdXNzaW9uZW4gbnVyIGRhcmF1ZgpoaW5hdXNsYXVmZW4sIGRhc3MgZGllIFNwaWVsZXIgdWViZXIgbGFlY2hlcmxpY2hlIEdyZW56ZmFlbGxlIHJlZGVuICgiZGFyZiBpY2gKbWVpbmUgQmlsZHNjaGlybWF1c2dhYmUgbm9jaCBlaW5mYWVyYmVuPyIpIGR1ZXJmZW4gc2llIHNpY2ggbmljaHQgbWVocgp3dW5kZXJuLCB3ZW5uIHNpZSBoaW50ZXJoZXIgdm9uIGRlbiBNYWdpZXJuIG5pY2h0IG1laHIgZXJuc3QgZ2Vub21tZW4gd2VyZGVuLgoKR2lidCBlcyBoaWVyIGlyZ2VuZGplbWFuZGVuLCBkZXIgZ2VnZW4gZGllIFJlZ2VsdW5nZW4gaXN0LCBkaWUgV2FyZ29uIGluCnBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiB2ZXJvZWZmZW50bGljaHQgaGF0ID8KCkFsc28gbWFjaHQgRXVjaCBuaWNodCBzZWxic3QgenUgY2xvd25zLgoKUnluZQoKUC5TLjogd2VubiBpY2ggaGV1dGUgYXVmIGRlbiBrYW5hZWxlbiBldHdhcyBzZWhlIHdpZToKCltBbGxnZW1laW46R3p1XSBiaW4gbnVyIHp1IHplaXRpZyBhdWZnZXN0YW5kZW4gaGV1dGUuLi4gdGFnc3VlYmVyIGlzIG1pcgpbQWxsZ2VtZWluOkd6dV0gZWlnZW50bGljaCB3dXJzY2h0LCB3ZWxjaGUgcmVnZWxuIGdlbHRlbgoKZGFubiBrcmllZyBpY2ggbmVuIEhhbHMuIFBlcm1hbmVudCBtb3R6ZW4gZGllIFNwaWVsZXIsIGRhc3MgZGllIE1hZ2llciBhbGxlcwp1ZWJlciBpaHJlIEtvZXBmZSBlbnRzY2hlaWRlbiwgdW5kIGRhbm4gemVpZ2VuIHNpZSwgZGFzcyBzaWUgbmljaHRtYWwgZGllClJlaWZlIGJlc2l0emVuLCBlaW4gbWluaW11bSBhbiBSZWdlbG4genUgcmVzcGVrdGllcmVuLiBEb3BwZWx0IGVudHRhZXVzY2hlbmQsCndlbm4gZXMgdm9uIGVpbmVtIGRlciBob2VjaHN0ZW4gU2VoZXIgaGllciBrb21tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmU6U2NyaXB0ZSAoTGFyaXNzYSwgIDEuIEZlYiAxOTk2LCAxMTo1MjowMSk6Cn4jISBybj1aYXJkb3ogcnQ9ODIzMTcwNzA5Cn4jISB0aWQ9ODIzMTcwNjc0CkFsc28uLi4KCmljaCBzZWhlIGRhcyBTY3JpcHR2ZXJib3Qgc28gYWVobmxpY2ggd2llIGVpbiBUZW1wb2xpbWl0LiBFcyBpc3Qgc2ljaGVyCmZ1ZXIgZWluaWdlIGVpbmUgYWVyZ2VybGljaGUgQmVzY2hyYWVua3VuZywgYW5kZXJlbiBtYWNodCBlcyBnYXIgbmljaHRzCmF1cy4KQWJlcjogV2VubiBtYW4gZXJ3aXNjaHQgd2lyZCwgaXN0IG1hbiBkcmFuLiBTbyBzaWVodCBkYXMgYXVzLgoKRGllIEVNJ3MgaGllciBtYWNoZW4gZGllIFJlZ2VsbiwgdW5kIGFsbGUgYW5kZXJlbiBzb2xsdGVuIHNpY2ggZGFyYW4KaGFsdGVuLgoKRXMgZ2FiIG5lYmVuaGVyIGdlc2FndCBsYW5nZSBlcmJpdHRlcnRlIERpc2t1c3Npb25lbiB1ZWJlciBkYXMgVGhlbWEgaW4KZGVuIE1hZ2llci1SdWJyaWtlbiwgbWl0IHZpZWwgZnVlciB1bmQgd2llZGVyLCB1bmQgbm9jaCB2aWVsIG1laHI6IE1laW5lCk1laW51bmcgaXN0IGFiZXIgZGFzdW5kZGFzLgoKTmllbWFuZCBoYXQgaGllciBsZWljaHRmZXJ0aWcgRW50c2NoZWlkdW5nZW4gZ2V0cm9mZmVuLCB1bSBTcGllbGVyIHp1CmFlcmdlcm4sCmVzIGdlaHQgdmllbG1laHIgZGFydW0gZWluIGdyb2Vzc3Rtb2VnbGljaGVzIEdsZWljaGdld2ljaHQgenUgZXJoYWx0ZW4uCgpMYXJpc3NhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmU6U2NyaXB0ZSAoTGksICAxLiBGZWIgMTk5NiwgMTE6NTc6MTkpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODIzMTcwOTE1Cn4jISB0aWQ9ODIzMTcwNjc0CkdlbmF1LCBkZXNoamFsYiB3dXJkZSBkYXMgamEgYXVjaCBlaW5nZWZ1ZWhydCwgZGFtaXQgZGFzIE1VRCB3aWVkZXIga2xlaW5lcgp3aXJkIQpMaQpQLlMuIEFlaCwgYXVmIGRhcyAqSXJvbmllIG9mZioga2FubiBpY2ggamEgd29obCB2ZXJ6aWNodGVuLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmU6U2NyaXB0ZSAoT2V0dGksICAxLiBGZWIgMTk5NiwgMTE6NTg6MzIpOgp+IyEgcm49TGFyaXNzYSBydD04MjMxNzE5MjEKfiMhIHRpZD04MjMxNzA2NzQKT2NoIExhcmlzc2EgIQoKV28ga29tbWVuIHdpciBkZW5uIGRhIGhpbiwgaXJnZW5kZWlucGFyciBJZGlvdGVuIG1hY2hlbiBSZWdlbG4gdW5kIGRlcgpSRXN0IG11c3Mgc2llIGJlZm9sZ2VuLgoKSWNoIHR1IG1pY2ggZWhlciBzY2h3ZXIgbWl0IGRlciByZXNwZWt0aWVydW5nIHZvbiBzb2cuIGhvZWhlcmdlc3RlbGx0ZW4uCihCZWkgTXVkZGVyIHNvd2llc28pCgpOYSBlZ2FsIGljaCBmaW5kcyBidWNrbGlnIHVuZCBwaWNrbGlnIHVuZCBkb29mLCBhYmVyIG1pciBpc3QgZXMgZWlnZW50bGljaAp2b2VsbGlnIHd1cnNjaHQsIGRhIGljaCBuaWUgdGYgaGF0dGUgdW5kIGF1Y2ggbmllIGhhYmVuIHdlcmRlbi4KCnNvIHdoYXQgPwoKT2V0dGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9ldGluZyAhIChPZXR0aSwgIDEuIEZlYiAxOTk2LCAxMjozMTo0MCk6CkljaCBiZWtlbm5lICEhCgpKYSBpY2ggaGFiIGdlc2NyaXB0ZXQsIGhldXRlIHp1bSBlcnN0ZW4gTWFsIGluIG1laW5lbSBMZWJlbi4KRXMgd2FyIGVpbiBnYW56IGtvbWlzY2hlcyBHRWZ1ZWhsLCB3aWUgd2VubiBEdSBzY2h3ZWJzdCwgbWVpbgpCZXd1c3N0c2VpbiB3YXIgdG90YWwgZXJ3YWl0ZXJ0LCBpcmdlbmR3aWUuCkljaCBoYXR0ZSBlaW4gdGllcmlzY2ggc2NobGVjaHRlcyBHZXdpc3Nlbiwgd2FzIHd1ZXJkZW4gZGllIE5hY2hiYXJuIHNhZ2VuLAp3ZW5uIHNpZSBlcyBlcmZhaHJlbiB3dWVyZGVuLCBtZWluZSBGYW1pbGllLCBkaWVzZSBTY2hhbmRlLgpJY2ggYmluIHVud3VlcmRpZywgamEgaWNoIGJlcmV1ZSBlcyBuaWNodC4KSWNoIHdlcmRlIGVzIHdpZWRlciB0dW4uCgpEYXMgbmFlY2hzdGUgbWFsIHZpZWxsZWljaHQgYmVraWZmdCwgZGFubiBoYWIgaWNoIGRlbiBkb3BwZWx0ZW4gU3Bhc3MuLi4KCk9oIGljaCBhcm5lciBTdWVuZGVyIGljaCwgaWNoIHJ1ZmUgZXVjaCBhbGxlbiB6dSAhCgpCRUtFTk5UIElIUiBTVUVOREVSIEJFS0VOTlQgISEhCgpTdGltbXQgbWl0IGVpbiBpbiBkZXIgQ2hvciBkZXJlciAgZGllIGRpZXNlIFVudGF0IGJlZ2FuZ2VuIGhhYmVuLCBvZWZmbmV0CmV1Y2gKdW5kIGVyZ2VidCBldWNoIGV1cmVyIHZlcmRpZW50ZW4gU3RyYWZlLgoKT2V0dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPZXRpbmcgISAoUGFyYWNlbHN1cywgIDEuIEZlYiAxOTk2LCAxMjozMzowOCk6Cn4jISBybj1PZXR0aSBydD04MjMxNzQzMDAKfiMhIHRpZD04MjMxNzQzMDAKTWlzdCEgQmVpIGRlbiBwYXIgKG1pZXNlbikgU2tpbGxzIGxvaG50IHNpY2ggZGFzIFJ1bnRlcnNldHplbiBnYXJuaWNoIDooCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXVzZSAoSGlnaGxhbmRlciwgIDEuIEZlYiAxOTk2LCAxMjo0OTowNik6CkljaCB3dWVuc2NoZSBldWNoIGVpbmUgc2Nob2VuZSBXb2NoZSBvaG5lIG1pY2guCgpJY2ggaGFiZSBrZWluZSBMdXN0LCBtaXIgZGF1ZXJuZCBhbnp1aG9lcmVuLCB3aWUgYmxvZWRzaW5uaWcgZGllIFJlZ2VsbgpiZXp1ZWdsaWNoIFNjcmlwdHMgdW5kIFRyaWdnZXJuIHNpbmQsIHVuZCB6d2FyIG1pdCBkaWVzZXIgb2RlciBqZW5lcgpCZWdydWVuZHVuZy4gSWNoIGhhYmUga2VpbmUgTHVzdCwgd2VubiBSZXByYWVzZW50YW50ZW4gZGVyIE1hZ2llcgooaWNoIHppZWhlIGhpZXIgZ2V3aXNzZSBBbmFsb2dpZW4genUgZWluZXIgUmVnaWVydW5nLAphdWNoIHdlbm4gZGFzIGRpZSBTYWNoZSBhbiBzaWNoIG5pY2h0IHRyaWZmdCkgZGllc2UgRW50c2NoZWlkdW5nCnF1YXNpIHVudGVyd2FuZGVybiB1bmQgenVtIEJydWNoIGRlciBSZWdlbG4gZmFzdApzY2hvbiBhdWZmb3JkZXJuLiBJY2ggaGFiZSBrZWluZSBMdXN0LCB3ZW5uIHNpY2ggYW5zY2hlaW5lbmQgbmllbWFuZAp1ZWJlcmxlZ3QsIHdhcnVtIHdpciBkaWVzZSBSZWdlbG4gYXVmZ2VzdGVsbHQgaGFiZW4uIERhYmVpIG1vZWNodGUgaWNoCmRhcmFuIGVyaW5uZXJuLCBkYXNzIHNjcmlwdGUgc2Nob24gbGFuZ2UgdmVyYm90ZW4gd2FyZW4gdW5kIHdpciBqZXR6dApkYXMgR2FuemUgZ2VuYXUgZGVmaW5pZXJ0IGhhYmVuLgpJY2gga29tbWUgaW4gZWluZXIgV29jaGUgd2llZGVyLCB1bSB6dSBzZWhlbiwgb2Igd2llZGVyIGV0d2FzIE5vcm1hbGl0YWV0CmF1c2dlYnJvY2hlbiBpc3QgYmlzIGRhaGluLiBOdXIgbm9jaCBlaW4gcGFhciBtYWlscyBtaXQgSWRlZW4gZnVlciBkaWUKc291bCBob2xlbiwgZGFubiBiaXMgbmFlY2hzdGVuIERvbm5lcnN0YWcgb2RlciBGcmVpdGFnLgoKV2VubiBqZXR6dCBlaW5lciBtZWludCwgZGFzcyBpY2ggZWluZSBiZWxlaWRpZ3RlIExlYmVyd3Vyc3QgYmluLCBkaWUKbmljaHQgbWFnLCB3ZW5uIGlocmUgc2VsYnN0Z2VnZWJlbmUgQXV0b3JpdGFldCBuaWNodCBhbmVya2FubnQgd2lyZCwKZGFubiBzb2xsIGVyIGRhbWl0IGdsdWVja2xpY2ggc2Vpbi4KCk1vdHplbiBpc3QgbGVpY2h0LiBEZW5rZW4gc2Nod2VyLgogICAgSGlnaGxhbmRlciByeW4gVGFoYXIsIFNlZWxlbmtsZW1wbmVyLCBtaXR2ZXJhbnR3b3J0bGljaCBmdWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgU2NyaXB0LSB1bmQgVHJpZ2dlcnZlcmJvdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhdXNlIChPcmt0b2V0ZXIsICAxLiBGZWIgMTk5NiwgMTI6NTE6MDYpOgp+IyEgcm49SGlnaGxhbmRlciBydD04MjMxNzUzNDYKfiMhIHRpZD04MjMxNzUzNDYKV2VubiBqZW1hbmQgS3JpdGlrIGF1ZXNzZXJ0IHVuZCBkaWVzZSBiZWdydWVuZGV0LCBpc3QgZGFzIChqYSBuYWNoIFRvbmZhbGwpCmtlaW4gTW90emVuIChtZWluZSBNZWludW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXVzZSAoWmFyZG96LCAgMS4gRmViIDE5OTYsIDEyOjUzOjM2KToKfiMhIHJuPU9ya3RvZXRlciBydD04MjMxNzU0NjYKfiMhIHRpZD04MjMxNzUzNDYKSWNoIGJpbiBhbHMgTWFnaWVyIGtlaW4gTWl0Z2xpZWQgZWluZXIgIlJlZ2llcnVuZyIsIHdlaWwgaWNoIGFscyBlaW5mYWNoZXIKTWFnaWVyIHVlYmVyaGF1cHQga2VpbiBNaXRzcHJhY2hlcmVjaHQgaGFiZS4gSWNoIGRhcmYgbWVpbmUgTWVpbnVuZyBzYWdlbiwKZGllIGFiZXIgZWggbmljaHQgYmVhY2h0ZXQgd2lyZCwgd2llIGRpZSBEaXNrdXNzaW9uIGluIGRlbiBNYWdpZXJydWJyaWtlbgpnZXplaWd0IGhhdC4gRGVzaGFsYiBkaXN0YW56aWVyZSBpY2ggbWljaCB2b24gZGVyIEVudHNjaGVpZHVuZyBkZXIKRXJ6bWFnaWVyLgoKQ2lhbyBaYXJkb3oKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhdXNlIChIaWdobGFuZGVyLCAgMS4gRmViIDE5OTYsIDEzOjA3OjE4KToKfiMhIHJuPVphcmRveiBydD04MjMxNzU2MTYKfiMhIHRpZD04MjMxNzUzNDYKRWluZXMgbm9jaCwgYmV2b3IgaWNoIHF1aXR0ZToKSWNoIGJpbiBuaWNodCBNaXRnbGllZCBkZXIgUmVnaWVydW5nLiBJY2ggZGlzdGFuemllcmUgbWljaCB2b24gc28gbWFuY2hlcgpFbnRzY2hlaWR1bmcgZGVyc2VsYmVuLgpBYmVyIGRlc3dlZ2VuIGRhcmYgaWNoIHRyb3R6ZGVtIHdlZGVyIGlnbm9yaWVyZW4sIHdhcwpzaWUgYW4gR2VzZXR6ZW4gdmVyYWJzY2hpZWRldCAodW5kIGtvbW0gbWlyIGpldHp0IGtlaW5lciBtaXQgR2V3YWx0ZW4tCnRyZW5udW5nIHVuZCBkYXNzIGRhcyBQYXJsYW1lbnQgZGllIEdlc2V0emUgbWFjaHQgLSBkaWUgZXhpc3RpZXJ0IGJlaSB1bnMKbmljaHQgc28sIHdpZSBzaWUgc2VpbiBzb2xsdGUpLCBub2NoIGRhcmYgaWNoIChpLmQuUi4pIGplbWFuZCBkYXp1IGF1ZjAKZm9yZGVybiwgc2llIHp1IGlnbm9yaWVyZW4uCgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhdXNlIChEdXJpYW4sICAxLiBGZWIgMTk5NiwgMTM6MTI6NTQpOgp+IyEgcm49SGlnaGxhbmRlciBydD04MjMxNzY0MzgKfiMhIHRpZD04MjMxNzUzNDYKUmVnZWxuPyBHZXNldHplPyBSZWdpZXJ1bmc/IE5pY2h0IG1laHIgZWlubG9nZ2VuPyBOaWNodCBtZWhyIG1pdGVpbmFuZGVyCnJlZGVuPyBFcnN0IHdpZWRlciBpbnMgTVVEIHNjaGF1ZW4sIHdlbm4gbWFuIGRpZSBSZWdlbG4gYWJnZXNjaGFmZnQgaGF0PwpLZWluZSBLcml0aWsgdmVydHJhZ2VuPyBXZWdlbiBqZWRlbSB6d2VpdGVuIFdvcnQgZWluZ2VzY2huYXBwdCB1bmQKc2NobW9sbGVuZCBpbiBkaWUgRWNrZSBnZWhlbj8gSmVkZXMgV29ydCwgZGFzIGlyZ2VuZHdvIHN0ZWh0IGluIGRpZQpHb2xkd2FhZ2UgbGVnZW4/IERlbiBWZXJzdGFuZCBhdXNzY2hhbHRlbj8gRGllIE1hZ2llciBmdWVyIGR1bW0gdW5kCmludG9sZXJhbnQgaGFsdGVuLCB1bmQgZGFzIG1pdCB2b2xsZXIgQWJzaWNodD8KClNpbmQgaGllciBlaWdlbnRsaWNoIGFsbGUga3Jhbms/CgpXb2xsZW4gd2lyIG5pY2h0IHZpZWxsZWljaHQgbWFsIHdpZWRlciB6dW0gTW9yZ2VuR3JhdWVuIGFscyB1bnNlcmVtCmdlbGllYnRlbiBrbGVpbmVuIFplaXR2ZXJ0cmVpYiB6dXJ1ZWNra2VocmVuPyBOZWluLCBkYW5uIG5pY2h0LgpJQ0ggU0NIT04hIFVuZCB3ZW5uIGljaCBkYW5uIGFsbGVpbmUgaGllciBiaW4sIGlzdHMgd2VuaWdzdGVucyBydWhpZyEKCi0gRHVyaWFuCgpNaXN0LCBqZXR6dCBoYWJlIGljaCBkb2NoIGVpbmVuIEFydGlrZWwgZGF6dSBnZXNjaHJpZWJlbiB1bmQgbWlyIGRhYmVpCnNlbGJzdCB3aWRlcnNwcm9jaGVuLiBIYWNoLCBkYXMgaWNoIGVzIGFiZXIgYXVjaCBuaWNodCBsYXNzZW4ga2FubiAuLi4KOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZTpTY3JpcHRlIChSb2NodXMsICAxLiBGZWIgMTk5NiwgMTM6MTk6MTYpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODIzMTcwOTE1Cn4jISB0aWQ9ODIzMTcwNjc0CkljaCBkZW5rZSBuaWNodCwgZGFzcyBDYXQgamVtYW5kZW4gd2VnZW4gZWluZXIgZ2VvZWZmbmV0ZW4gVHVlcgpsb2VzY2hlbiB3aXJkLCBkYWZ1ZXIgd3VyZGUgZGllIFJlZ2VsIG5pY2h0IHNvIGhhcnQgZm9ybXVsaWVydC4KTnVyIHdlbm4gbWFuIGluIFdlZ2VzY3JpcHRzIGRpZSBCZXNlaXRpZ3VuZyB2b24gSGluZGVybmlzc2VuCmF1ZiBkZW0gV2VnIGVybGF1YmVuIHd1ZXJkZSwgZGFubiB3YWVyZSBlaW4gU2tyaXB0IHdhcyBlaW5lbgphdWYgVGl0aXd1IHp1bSBIZXJrdW5mdHNvcnQgdm9uIFVybWVsIGJyaW5ndCBlaW4gV2VnZXNrcmlwdC4KRGllIFJlZ2VsbiB3dXJkZW4gZGVzaGFsYiBzbyBmb3JtdWxpZXJ0IHdpZSBzaWUgc2luZCwgZGFtaXQKbWFuIGluIHNvbGNoZW4gRXh0cmVtZmFlbGxlbiBldHdhcyBnZWdlbiBkaWUgTGV1dGUgbWFjaGVuIGthbm4sCm9obmUgZGFzcyBkaWUgc2ljaCBoZXJhdXNyZWRlbiBrb2VubmVuLgpCZXNvbmRlcnMgaW4gc29sY2hlbiBGYWVsbGVuIHdpZSBLb21wbGV0dGxvZXN1bmdzc2tyaXB0cywKWmF1YmVydHJhbmtzdWNoc2tyaXB0cywgdm9sbGF1dG9tYXRpc2NoZW4gTWV0emVsc2tyaXB0cwpvZGVyIHN1Y2hlLWFsbGVzLWFiLVNrcmlwdHMgd29sbGVuIHdpciBldHdhcyBnZWdlbiBkaWVzZQpTcGllbGVyIHVudGVybmVobWVuIGtvZW5uZW4gdW5kIGRhcyBoYWxid2VncyB2ZXJudWVuZnRpZyByZWNodGZlcnRpZ2VuLgpWZXJ0cmF1dCBkb2NoIG1hbCBkYXJhdWYsIGRhc3MgQ2F0IGRpZSBSZWdlbG4gc28gYmVudXR6dCB3aWUKc2llIGdlZGFjaHQgc2luZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhdXNlIChFc2N1YmFyLCAgMS4gRmViIDE5OTYsIDEzOjIwOjU4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODIzMTc2NDM4Cn4jISB0aWQ9ODIzMTc1MzQ2CkFiZXIgaW4gYWxsZW4gR2VzYWxsc2NoZnRlbiBkZXIgV2VsdCBnaWx0OgoKU29sYW5nZSBkYXMgVm9sayBlaW5lIFJlZ2VsdW5nIG5pY2h0IGFremVwdGllcnQgaXN0IHNpZSBuaWNodCBkdXJjaHNldHpiYXIKISEhCgpEaWVzIGdpbHQgZ2VuYXVzbyBpbSBPbGlnYXJjaGllICg9IEhlcnJzY2hhZnQgd2VuaWdlcikgd2VubiBkaWUgRnJlaWhlaXQgZGVzCkF1c3p1Z2VzIGF1cyBkZXIgR2VzZWxsc2NoYWZ0IGdlZ2ViZW4gaXN0LgoKV2FzIGljaCBuaWNodCB2ZXJzdGVoZSBpc3Qgd2FydW0gZXMgdWViZXJoYXVwdCBlaW5lciBuZXVlbiBSZWdlbHVuZyBiZWR1cmZ0ZS4KRGllIGJpc2hlcmlnZSBTaXR1YXRpb24gd2FyIGRvY2ggZWlnZW50bGljaCBmdWVyIGFsbGUgYWt6ZXB0YWJlbCBvZGVyIGhlcnJzY2h0CmltIE1HIHNlaXQgbGFuZ2VtIENoYW9zIHVuZCBVbmdsZWljaGdld2ljaHQuCkRhcyBlaW56aWdlIHdhcyBnZWZlaGx0IGhhdCB3YXIgZGllIER1cmNoc2V0enVuZyBkZXIgYmlzaGVyaWdlbiBSZWdlbHVuZyB1bmQKaGllciBpbnNiZXNvbmRlcmUgZGllIEJlc3RyYWZ1bmcgZGVyIGJlc29uZGVycyAiZ3Jhc3NlbiIgRmFlbGxlLgpXaWUgb2Z0IHNpbmQgc2VsYnN0IG1pciBMZXV0ZSBhdWZnZWZhbGxlbiBkaWUgc3R1bmRlbmxhbmcgaW4gZGVyIEthcmF0ZWdpbGRlCnJ1bXN0YW5kZW4uLi4uIG9kZXIgaW4gZGVyIENoYW9zZ2lsZGUuLi4KCk9iIG1hbiBoaWVyIG1pdCBlaW5lciBWZXJzY2hhZXJmdW5nIG9kZXIgTmV1ZGVmaW5pdGlvbiBlaW5lciBSZWdlbHVuZyBldHdhcwplcnJlY2h0IHdlaXNzIGljaCBuaWNodC4uLgoKV2FzIHdpcmtsaWNoIGFuZGVycyBpc3QgYWxzIGJpc2hlciBpc3QgZGFzIFZlcmJvdCBkZXIgV2VpdGVyZ2FiZSB2b24gS0xzLApkaWVzIHd1cmRlIGJpc2hlciBqYSBudXIgYWxzIHVuZXJ3dWVuc2NodCBrbGFzc2lmaXppZXJ0LgpEYXMgaXN0IGVpbmUgUmVnZWx1bmcgZGllIGljaCBha3plcHRpZXJlbiBrYW5uLCBkaWUgaW0gd2VzZW50bGljaGVuIGFiZXIKbGVpZGVyIGhlaXNzdCBkYXMgU3BpZWxlciwgZGllIGVpbmVuIFNlaGVyIGtlbm5lbiBrbGFyIGltIFZvcnRlaWwgc2luZCwgZGVubgpkaWUgd2VyZGVuIGRpZSBLTHMgd2VpdGVyaGluIGJla29tbWVuLgoKRGllIEF1ZnJlZ3VuZyBpbnNnZXNhbXQga2FubiBpY2ggbmljaHQgZ2FueiB2ZXJzdGVoZW4sIGRlbm4gZnVlciBqZWRlbiBkZXIKcmVpbmVuIEdld2lzc2VucyBpc3QsIGthbm4gZXMgZWlnZW50bGljaCBudXIgaGVpc3NlbjogV0VJVEVSIFdJRSBCSVNIRVIKCi4uLiBVbmQgZ2VuYXUgZGFzIHdpcmQgZnVlciBtaWNoIGdlbHRlbiAuLi4KClNvbGx0ZSBpY2ggd2VnZW4gImZvbGdlIEJlcm5oYXJkaW5lciIgZ2Vsb2VzY2h0IHdlcmRlbiwgZGFubiBoYXQgZXMgZGFzIE1VRApoYWx0IG5pY2h0IGJlc3NlciB2ZXJkaWVudC4KCkZyZXV0IHNpY2ggd2VpdGVyaGluIGF1ZiBNZXR6ZWxuIHVuZCBRdWVzdGVuIGluIGVpbmVtIE11ZCBvaG5lIHZlcmdpZnRldGVyCkF0bW9zcGhhZXJlLi4uCgpFdWVyIEVpc2JhZXIgRXNjdWJhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVpbmUgTWVpbnVuZyBkYXp1IChWYWxhcmlhbiwgIDEuIEZlYiAxOTk2LCAxMzo0MTozMik6CgpFcyB0dXQgbWlyIGphIGVjaHQgbGVpZCwgd2llIGRhcyBoZXV0ZSBoaWVyIGFiZ2VodC4gSWNoIGhhYiBtaWNoIGF1Y2gKemllbWxpY2ggYXVmZ2VyZWd0IHVlYmVyIGRpZSBSZWdlbHVuZyB1bmQgZmluZGUgc2llIGF1Y2ggbmFjaCB3aWUgdm9yIG5pY2h0Cmd1dC4KSWNoIGRlbmtlIG1hbCwgZGFzcyBzaWNoIGthdW0gamVtYW5kIGltIE1HIGFuIGRlbSBDaGFvc2JhbGwvRmV1ZXJiYWxsLU1ha3JvCndpcmtsaWNoIHN0b2VydC4gQWJlciBsZWlkZXIgZmFlbGx0IGRpZXNlIFNvcnRlIHZvbiBNYWtyb3MgYXVjaCB1bnRlciBkYXMKVmVyYm90IHVuZCBkYXMgZmluZGUgaWNoIHVudWViZXJsZWd0LgpXYXMgbWl0IFRyaWdnZXJuIHBhc3NpZXJ0IGlzdCBtaXIgZWdhbCwgZGEgbWlyIGRhcyBzb3dpZXNvIHp1IGFuc3RyZW5nZW5kIGlzdApiaXMgZGEgYWxsZXMgc3RpbW10LgpBYmVyIGljaCBiZW51dHplIHdlaXRlcmhpbiBtZWluIHp1ZWNrZSBzY2h3ZXJ0LCBmZXVlcmJhbGwsIHN0ZWNrZQpzY2h3ZXJ0LW1ha3JvLiBXZW5uIGljaCBkZXN3ZWdlbiBnZWxvZXNjaHQgd2VyZGUsIGRhbm4gaGFiIGljaCBkYWZ1ZXIga2Vpbgp2ZXJzdGFlbmRuaXMgdW5kIGhhYiBoYWx0IFBlY2ggZ2VoYWJ0LgpBdWYgZGFzIE1ha3JvIGthbm4gbWFuIGphIGR1cmNoYXVzIHZlcnppY2h0ZW4sIHdlbm4gbWFuIGRpZSBnYW56ZSBTYWNoZSBldHdhcwp1bXByb2dyYW1taWVydDogV2FydW0gc29sbHRlIG1hbiBlaW4gRmV1ZXJiYWxsIG51ciBtaXQgZnJlaWVuIEhhZW5kZW4Kc2NobWVpc3NlbiBrb2VubmVuLCBlcyBrb2VubnRlIGphIGF1Y2ggZWluIFN0cmFobCBhdXMgZGVuIEF1Z2VuIHNlaW4gb2Rlcgpzb25zdCB3YXMuCndvYmVpIGljaCBkYXMgYXVjaCBzbyBlcnRyYWdlbiBrb2VubnRlLgoKSWNoIGJpbiBkYWZ1ZXIgRmV1ZXJiYWxsIHp1IGFlbmRlcm4sIGRhbm4gd2FlcmUgYWxsZXMgaGFsYiBzbyBzY2hsaW1tLiBBYmVyCmVzIGthbm4gamEgYWxsZXMgaW4gbGFuZ3dlaWxpZ2VyIFdhcnRlcmVpIHdpZSBiZWkgS2FyYXRlIGVuZGVuLgoKQWxzbyBuaWNodHMgZnVlciBVbmd1dCwKCkdydXNzIFZhbGFyaWFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmU6U2NyaXB0ZSAoSm9mLCAgMS4gRmViIDE5OTYsIDEzOjQxOjUxKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTgyMzE3MDkxNQp+IyEgdGlkPTgyMzE3MDY3NAogRWJlbiwga2VpbmUgUGFuaWsgLSBlcyBpc3QgTklDSFQgc28sIGRhc3MgamV0enQgcGxvZXR6bGljaCBqZWRlciBNYWdpZXIKc3RhZW4tCmRpZyBuYWNoIFNjcmlwdGVybiBzdWNodCwgZXMgaXN0IE5VUiBzbywgZGFzcyBDYXQqIGpldHp0IGRpZSBNb2VnbGljaGtlaXQKaGF0LApnZWdlbiBkaWUgTGV1dGUsIGRpZSB2b2VsbGlnIHVlYmVyem9nZW4gU2NyaXB0ZW4sIGF1Y2ggd2FzIHp1IHR1biwgd2VubgplciBzaWUgZXJ3aXNjaHQuIEJpc2hlciBzYWd0ZW4gc2llIG51cjogV2llc28gaWNoIHNpdHogZG9jaCB2b3JtIFJlY2huZXIsCndhcyB3aWxsc3QgRHUgYWxzbyAtIGpldHp0IGlzdCBkaWUgInJlY2h0bGljaGUiIExhZ2UgZGV1dGxpY2ggYmVzc2VyIHVuZF0Kc2ljaGVyZXIuIEVzIGdlaHQgc2NobGllc3NsaWNoIG5pY2h0IGRhcnVtLCBldWNoIGRlbiBTcGllbHNwYXNzIHp1IHZlci0KZGVyYmVuLCBzb25kZXJuIGRpZSBDaGFuY2VuZ2xlaWNoaGVpdCB3aWVkZXIgZXR3YXMgenUgdmVyYmVzc2Vybi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhdXNlIChKb2YsICAxLiBGZWIgMTk5NiwgMTM6NDc6MzIpOgp+IyEgcm49WmFyZG96IHJ0PTgyMzE3NTYxNgp+IyEgdGlkPTgyMzE3NTM0NgoKIEhhdCBqYSBuaWVtYW5kIGdlc2FndCwgZGFzIGFsbGUgTWFnaWVyIGRpZXNlIEVudHNjaGVpZHVuZyBiZWZ1ZXJ3b3J0ZW4uIElDSAp0dWUgZXMuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXVzZSAoSm9mLCAgMS4gRmViIDE5OTYsIDEzOjQ4OjQ4KToKfiMhIHJuPUR1cmlhbiBydD04MjMxNzY3NzQKfiMhIHRpZD04MjMxNzUzNDYKCiBKYSwgaWNoIHZlcnN0ZWhlIGRpZSBBdWZyZWd1bmcgYXVjaCBuaWNodCBzbyBnYW56LiBGdWVyIGNhIDk5JSBkZXIgU3BpZWxlcgp3aXJkIHNpY2ggbmljaHRzLCBhYmVyIGF1Y2ggdWViZXJoYXVwdCBuaWNodCBhZW5kZXJuLCB1bmQgdHJvdHpkZW0gcmVnZW4Kc2ljaCBmYXN0IGFsbGUgYXVmLiBTY2hhZGUgZWlnZW50bGljaCA6KAoKIEppZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGF1c2UgKE9ldHRpLCAgMS4gRmViIDE5OTYsIDEzOjU3OjQ3KToKfiMhIHJuPUR1cmlhbiBydD04MjMxNzY3NzQKfiMhIHRpZD04MjMxNzUzNDYKWW8gIQoKU28gYWJnZXNlaGVuIGRhdm9uLCBkYXNzIGljaCBpbW1lciBnZXJuZSBUZXJ6IG1hY2hlLCBhY2ggd2FzIHNvbGxzIGljaApyZWNodGZlcnRpZ2UgbWljaCBuaWNodCBkYWZ1ZXIgZGFzIG1pY2ggamVtYW5kIGVybnN0IG5pbW10IGFuIGRlciBmbGFzY2hlbgpTdGVsbGUuCgpXYXMgaWNoIHNhZ2VuIHdpbGwsIEpvZnMgRGVmaW5pdGlvbiBpc3QgYWtremVwdGFiZWwsIGFiZXIgZGllc2UKRWluc2NocmFlbmt1bmcKaGFldHRlIGF1Y2ggdm9yaGVyIGJla2FubnRnZWdlYm4gd2VyZGVuIGtvZW5uZSwgbnVyIHVtCmRlbiBnYW56ZW4gVHJhcmEgenUgdmVybWVpZGVuLgoKSWNoIGJpbiB6d2FyIHRyb3R6ZGVtIGRhZ2VnZW4sIGFiZXIgd2llIGdlc2FndCwgd2VubiBoYWx0CkhhcmRjb3Jlc2NyaXB0ZXIgcmF1c2ZsaWVnZW4gc29sbGVuLCB3ZW5ucyBzY2hlZWVlZSBtYWNodC4uLgoKT2V0dGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjcmlwdHMgKEpvZiwgIDEuIEZlYiAxOTk2LCAxNDowNDo1NCk6CgpJY2ggc2FnIGpldHp0IHdhcyBpbm9mZml6aWVsbGVzIGRhenUgLi4uCgojT0ZGSUNJQUwgTU9ERSBPRkYKCiBEaWUgdm9uIGV1Y2ggYW5nZXNwcm9jaGVuZW4gRGluZ2Ugd2llICJzdGVja2Ugc2Nod2VydCB3ZWc7ZmV1ZXJiYWxsO3p1ZWNrZQpzY2h3ZXJ0IiBzaW5kIGluIGRlciBUYXQgdmVyYm90ZW4sIGRhIHNpZSB1bnRlciBkaWUgRGVmaW5pdGlvbiBlaW5lcyAiS2FtcGYtCnNjcmlwdGVzIiBmYWxsZW4uIEFsbGVyZGluZ3MgZ2Vob2VydCB6dSBlaW5lciBCZXN0cmFmdW5nIGRhenUsIGRhc3MgbWFuIGF1Y2gKbm9jaCBhdWZmYWVsbHQsIHdhZWhyZW5kIG1hbiB3YXMgVmVyYm90ZW5lcyB0dXQuIERhIGRpZSBLb250cm9sbGVuIG5pY2h0CmFuZGVycyBhYmxhdWZlbiBhbHMgYmlzaGVyLCB3ZXJkZW4gZGllc2UgRGluZ2UgaW4gZGVuIG1laXNzdGVuIEZhZWxsZW4gZ2FyCm5pY2h0IGF1ZmZhbGxlbi4gSWhyIGtvZW5udCBtaXIgZ2xhdWJlbiwgZGFzIENhdCogdW5kIFRvZXRlciBiZXNzZXJlcyB6dSB0dW4KaGFiZW4sIGFscyBkZW4gZ2FuemVuIFRhZyB3YWhsbG9zIExldXRlIHp1IHNub29wZW4sIHVtIGZlc3R6dXN0ZWxsZW4sIG9iIHNpZQp2aWVsbGVpY2h0IHNvbGNoZSBTY3JpcHRjaGVuIGJlbnV0emVuLiBFcyBpc3QgdmllbG1laHIgc28sIGRhc3MgZXMgZWluaWdlCndlbmlnZSAiRXh0cmVtc2NyaXB0ZXIiIGdpYnQsIGRpZSBpbW1lciB3aWVkZXIgZHVyY2ggZXh6ZXNzaXZlcyBTY3JpcHRlbgphdWZmYWxsZW4sIGJlaSBkZW5lbiBDYXQqIGRhcyBiaXNoZXIgYXVmZ3J1bmQgZGVyIHNjaHdhbW1pZ2VuIERlZmluaXRpb24KbmljaHRzIG1hY2hlbiBrb25udGUgKGF1c3NlciBpbW1lciB3aWVkZXIgdmVyd2FybmVuKS4gRGllIFNjcmlwdHMgd2FyZW4Kei5ULiBzbyBkcmVpc3N0LCBhdWNoIG5vY2ggZGVuIE5vU2NyaXB0LVJvb20genUgZXJrZW5uZW47IEpFVFpUIGlzdCBkZW4KTGV1dGVuCmRpZSBNb2VnbGljaGtlaXQgZ2Vub21tZW4sIHNpY2ggcmF1c3p1d2luZGVuIG1pdCBpcmdlbmR3ZWxjaGVuIEF1c3JlZGVuLgpEYWhlcgpiZXRyaWZmdCBkaWVzZSBSZWdlbHVuZywgd2llIGViZW4gc2Nob24gZ2VzYWd0LCBpbiBkZXIgVGF0IDk5JSB2b24gZXVjaCBlZi0KZmVrdGl2IEdBUiBuaWNodC4gRGFzIHNjaGVpbnQgYmlzaGVyIG5pY2h0IHNvIHJlY2h0IHVlYmVyZ2Vrb21tZW4genUgc2Vpbi4KRWluZSAid2VpY2hlcmUiIEZvcm11bGllcnVuZyBkZXIgUmVnZWxuIG1pdCBBdXNuYWhtZW4sIGRpZSBXZWdlc2NyaXB0cyB1ZWJlci0Kc3RlaWdlbiwgaGFldHRlIG51ciB3aWVkZXIgTHVlY2tlbiBmdWVyIEF1c3JlZGVuIGdlb2VmZm5ldC4KCiBJY2ggaG9mZmUsIGRhcyBnbGFldHRldCBkaWUgV29nZW4sIGRpZSBoZXV0ZSBzbyBob2Noc2NobGFnZW4sIHdpZWRlciBldHdhcy4KCiNPRkZJQ0lBTCBNT0RFIE9OCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NyaXB0cyAoQXNtb2RpcywgIDEuIEZlYiAxOTk2LCAxNDo0MjoyNik6Cn4jISBybj1Kb2YgcnQ9ODIzMTc5ODk0Cn4jISB0aWQ9ODIzMTc5ODk0CkljaCBmcmFnZSBtaWNoIHNvd2llc28gZGllIGdhbnplIFplaXQsIHdpZSBtYW4gZGFzIGR1cmNoIHNub29wZW4gcmF1c2ZpbmRlbgpzb2xsLAppY2gga2FubiBkZW4gc3RlY2tlIHNjaHdlcnQgd2VnO2ZldWVyYmFsbDt6dWVja2Ugc2Nod2VydCBnZW5hdXNvIHNjaG5lbGwgcGVyCmhhbmQsCndpZSBlcyBtaXQgc2NyaXB0IGdlaHQsIGFlaC4gbnVyIGJlaSBtZWluZW4geHRpZXMgbmF0dWVybGljaCwga2FyYXRla2FzCmJyYXVjaGVuCnNvd2FzIGphIG5pY2h0IDopCk5hamEsIGhhcHB5IHNjcm9sbGluZywgZmFsbHMgbWljaCBqZW1hbmQgaW0gS2FtcGYgc25vb3B0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBjYXR3ZWF6bGUgKEFzbW9kaXMsICAxLiBGZWIgMTk5NiwgMTU6MTM6MjIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgyMjkyNzUyNQp+IyEgdGlkPTgyMjY4NTI4MApbVmVybGVndCB2b24gcG9saXplaS5iZXNjaHdlcmRlbiwgQXNtb2RpcywgIDEuIEZlYiAxOTk2LCAxNToxMTozN106CkF1Y2ggd2VubiBlcyBzY2hvbiBvZWZ0ZXJzIHp1ciBTcHJhY2hlIGdlYnJhY2h0IHd1cmRlLCBrYW5uIG1hbiBuaWNodCBlaW5lbgpCZWZlaGwKdHVlIDxjbWQxLGNtZDIsLi4uPiAgaW1wbGVtZW50aWVyZW4sIGRlciBkaWUgZWluemVsbmVuIGtvbW1hbmRvcwpoaW50ZXJlaW5hbmRlcgphdXNmdWVocnQ/PyBTb3dhcyBnaWJ0cyBzdGFuZGFyZG1hZXNzaWcgaW4gZGVyIFVOSXRvcGlhLU11ZGxpYiB1bmQgZG9ydCBoYXQKbWFuCmtlaW5lIFByb2JsZW1lIG1pdCBzY3JpcHRzLiBEYW5uIHdhZXJlIGF1Y2ggZGFzIEFyZ3VtZW50IGhpbmZhZWxsaWcsIGRhc3MKTGV1dGUgb2huZSB0ZiBiZW5hY2h0ZWlsaWd0IHdhZXJlbi4KRmFsbHMgZXMgbmljaHQgZ2VodCwga29lbm50ZSBtYWwgZWluIE1hZ2llciBkYXp1IFN0ZWxsdW5nIG5laG1lbiB1bmQKZGllc2VuIEFydGlrZWwgbmljaHQgZWluZmFjaCB1bnRlciBkZW4gVGlzY2ggZmFsbGVuIGxhc3NlbiwKd2FlcmUgbmV0dCA6KQoKCiAgICAgQ2lhbywgQXNtb2RpcyAoVmVyc3VjaHQgZGllIFNjcmlwdC1EaXNrdXNzaW9uIHp1IGJlZW5kZW4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmU6U2NyaXB0ZSAoRnl0LCAgMS4gRmViIDE5OTYsIDE3OjQyOjIyKToKfiMhIHJuPUpvZiBydD04MjMxNzg1MTEKfiMhIHRpZD04MjMxNzA2NzQKCkhtLCBtaXQgSm9mcyBFcmtsYWVydW5nIGtsaW5ndCBkaWUgU2FjaGUgdmllbCBmcmV1bmRsaWNoZXIsIGtvZW5udGUKbWFuIGluIFp1a3VuZnQgbmljaHQgdmVyc3VjaGVuLCBkaWUgTGV1dGUgenVlcnN0ICdwZXJzb2VubGljaCcKYXVmenVrbGFlcmVuIGFuc3RlbGxlIGRpZSBFaW5sb2dnbWVsZHVuZyB6dSBzZXR6ZW4gdW5kIGRhbmFjaAp1bnZlcnp1ZWdsaWNoIGRhcyBNdWQgenUgdmVybGFzc2VuPyBTb3dhcyBrb2VubnRlIG0uRS4gbmFjaCBkYXp1CmZ1ZWhyZW4sIGRhc3MgZGllIFN0aW1tdW5nIG5pY2h0IGdhbnogYW0gQm9kZW4gbGllZ3QuLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXVzZSAoRnl0LCAgMS4gRmViIDE5OTYsIDE3OjQ3OjA1KToKfiMhIHJuPUpvZiBydD04MjMxNzg5MjgKfiMhIHRpZD04MjMxNzUzNDYKCk5hamEsIGdhciBrZWluZSBBZW5kZXJ1bmcgZnVlciA5OSUgZGVyIFNwaWVsZXIgaXN0IHNpY2hlciB1ZWJlcnRyaWViZW4sCmltbWVyaGluIGhhdCBlaW4gZ3V0ZXIgVGVpbCBkZXIgU3BpZWxlciBXZWdtYWtyb3MsIGluIGRlbmVuICdmb2xnZSBodW5kJwpzdGVodCwgdW5kIGRpZXNlIHd1cmRlbiBiaXNoZXIgaW1tZXIgbWl0IGd1dGVtIEdld2lzc2VuIGJlbnV0enQsIHdlbm4KaWNoIGRhcyBqZXR6dCByaWNodGlnIHZlcnN0YW5kZW4gaGFiLCBpc3QgZGVyIFN0YXR1cyBqZXR6dCBhbSBiZXN0ZW4gbWl0CidlcyBpc3QgdmVyYm90ZW4sIGF1Y2ggd2VubiBuaWVtYW5kIE5VUiBERVNXRUdFTiBTYW5rdGlvbmVuIGVybGFzc2VuIHdpcmQnLAp1bXNjaHJpZWJlbiwgdW5kIGRhcyBpc3QgaW4gbWVpbmVuIEF1Z2VuIGRvY2ggZWluZSBlcmhlYmxpY2hlIEFlbmRlcnVuZy4KCk5hamEsIHdhcyBzb2xscy4uLgoKRnl0LCBhdWYgZGVuIGVyc3RlbiBKdXN0aXppcnJ0dW0gd2FydGVuZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXVzZSAoRmxvcmEsICAxLiBGZWIgMTk5NiwgMTg6Mzg6MTcpOgp+IyEgcm49Rnl0IHJ0PTgyMzE5MzIyNQp+IyEgdGlkPTgyMzE3NTM0NgpBbHNvLCBpY2ggdmVyc3RlaGUgZGFzIFByb2JsZW0gbmljaHQuIE1hbiBrYW5uIGRvY2ggYXVmIGJlaWRlbiBTZWl0ZW4gZGVzCkJlcm5oYXJkaW5lcnMgZWluZSAic2NyaXB0LUhhbHRlc3RlbGxlIiBlaW5yaWNodGVuLCB1bmQgd2VubiBtYW4gei5CLiB2b20KRWxmZW5kb3JmIGluIGRpZSBIRSB3aWxsLCBmYWVocnQgbWFuIGhhbHQgcGVyIHNjcmlwdCB6dXIgV2VzdHNlaXRlLCB0aXBwdAoiZm9sZ2UgYmVybmhhcmRpbmVyIiBlaW4gdW5kIHNjcmlwdGV0IGF1ZiBkZXIgYW5kZXJlbiBTZWl0ZSB3ZWl0ZXIuIE9kZXIKZ2VuYXVzbywgd2VubiBtYW4gaXJnZW5kd28gbmUgVHVlciBvZWZmbmVuIG11c3MuIEljaCBrYW5uIG1pdCBkZXIgbmV1ZW4KUmVnZWx1bmcgamVkZW5mYWxscyBndXQgbGViZW4uCgpGbG9yYSB7Oi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXVzZSAoRnl0LCAgMS4gRmViIDE5OTYsIDE4OjQzOjQzKToKfiMhIHJuPUZsb3JhIHJ0PTgyMzE5NjI5Nwp+IyEgdGlkPTgyMzE3NTM0NgoKU2ljaGVyIGthbm4gbWFuIGRhcy4gTWFuIGthbm4gYWJlciBhdWNoIGRlbiBXZWcgZHVyY2ggZGllIFNjaGx1Y2h0IG5laG1lbiwKZGVyIHp3YXIgbWVpc3QgZXJoZWJsaWNoIGxhZW5nZXIgYWxzIGRlciB1ZWJlciBkZW4gUGFzcyBpc3QgdW5kIGRhbWl0Cm1laHIgTGFzdCBlcnpldWd0LCBhYmVyIG1hbiBpc3QgZGFtaXQgYXVmIGRlciBzaWNoZXJlbiBTZWl0ZS4KCkZ5dC4KCgpQUzogSWNoIGthbm4gbWl0IGRlciBuZXVlbiBSZWdlbHVuZyBhdWNoICJsZWJlbiIsIGRhcyBrYW5uIGljaCBhdWNoCmluIGVpbmVtIE11ZCwgZGFzIG51ciBhdXMgZWluZW0gUmF1bSBiZXN0ZWh0Li4uCgpQU1M6IHZlcmdlc3N0IGVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjcmlwdHMgKFJhZmZpLCAgMS4gRmViIDE5OTYsIDE5OjI0OjA1KToKfiMhIHJuPUpvZiBydD04MjMxNzk4OTQKfiMhIHRpZD04MjMxNzk4OTQKU2VydnVzCgpKZSBtZWhyIGljaCB1ZWJlciBkaWVzZSBkZXBwZXJ0ZSAnVmVyb3JkbnVuZycgbmFjaGRlbmtlIGRlc2RvIG1laHIKa29tbXQgIG1pciBkaWUgR2FsbGUgaG9jaCAtIGhpZXIgd2lyZCB2aWVsIHVlYmVyIFJlZ2llcnVuZyBnZWxhYmVydCwKYWJlciBkaWUgTWV0aG9kZW4gKHVuZCBGZWhsZXIpIHNpbmQgZGllIGdsZWljaGVuLiBlcyB3aXJkIGV0d2FzIG5pY2h0CmtvbnRyb2xpZXJiYXJlcyAodW5kIGVpZ2VudGxpY2ggbmljaHQgc2NoYWVkbGljaGVzKSBhdXMgaXJnZW5kd2VsY2hlbiwKbWVpbmV0d2VnZW4gc29nYXIgZ3V0IGdlbWVpbnRlbiBVZWJlcmxlZ3VuZ2VuIHZlcmJvdGVuLiBkYW1pdCBlcyBhdWNoCm1vZ2xpY2hzdCBuYWNoaGFsdGlnIHdpcmt0IHdlcmRlbiBhdWNoIG5vY2ggZHJhc3Rpc2NoZSBTdHJhZmVuCmF1c2dlc2V0enQuIEVyZ2ViaXNzIGlzdCBkYXMgZ2xlaWNoZSB3aWUgYmVpbSBWZXJib3QgaXJnZW5kd2VsY2hlcgpEcm9nZW4gKEFsa29ob2wsIGV0Yy4pIGRpZSBMZXV0ZSBtYWNoZW5zIHRyb3R6ZGVtLCB3ZWlsIGRpZSBTYWNoZSBuaWNodAplaW5zaWNodGlnIGlzdC4gSmV0enQgaGF0IHNpY2ggZGllICdSZWdpZXJ1bmcnIGluIGVpbmUgUG9zaXRpb24KbWFub2V2cmllcnQsIGluIGRlciBzaWUsIG9obmUgR2VzaWNodHN2ZXJsdXN0enUgZXJsZWlkZW4sIG51cgpkdXJjaGdyZWlmZW4ga2FubiwgZHJhc3Rpc2NoZSBTdHJhZmVuIGF1Y2ggYXVzc3ByaWNodCwgdW5kIGRpZQpQb3NpdGlvbmVuIGltbWVyIG1laHIgdmVyaGFlcnRldC4gU2NobGllc3NsaWNoIGhhdCBtYW4gamEgZGllIGVpZ2VuZQonQXV0b3JpdGFldCcgIGFuIGRpZXNlIEVudHNjaGVpZHVuZyBnZWJ1bmRlbi4gRGllc2UgQXV0aG9yaXRhZXQgZGllCnNjaGVpbmJhciBzbyB3ZW5pZyBhbiBzaWNoIHNlbGJzdCBnbGF1YnQsIHVuZCBzaWNoIGRhaGVyIGJld2Vpc2VuIG11c3MsCmtlbm50IG1hbiBqYSB6dXIgZ2VudWVnZS4gRXJnZWJuaXNzIGlzdCBkYW5uIHNvd2FzIHdpZSBkaWUgQmF5ZXJpc2NoZQpEcm9nZW4ncG9saXRpaycuIEVzIGdlaHQgZGFubiBuaWNodCBtZWhyIHVtIFNhY2hmcmFnZW4gc29uZGVybiBkYXMKJ0dlc2V0eicgd2lyZCB1bSBkZXMgR2VzZXR6ZXMgd2lsbGVuIHZlcmZvbGd0LgoKRWhybGljaCBnZXNhZ3QgaGFiIGljaCBuaWNodCBzb3ZpZWwgRHVtbWhlaXQgaGllciBpbSBNRyBlcndhcnRldC4KRXMgemVpZ3QgYXVjaCB3aWVkZXIgbWFsIGRhcyBkZXIgQXVmc3RpZWcgenUgTWFnaWVyLCBSTSwgRU0gdXN3LgpuaWNodHMgZGFydWViZXIgYXVzc2FndCB3aWUgcmVpZiBkZXIgZWluemVsbmUgaXN0LiBXZW5uIG1hbiBuaWNodG1hbAppbSBSYWhtZW4gZGVzIE1HIG1hbm5zZ2VudWcgaXN0IGFuIGRhcyBlaWdlbmUgV29ydCB6dSBnbGF1YmVuIQoKSW5zYmVzb25kZXJlIGJlaSBKT0YgYmluIGljaCAoZWdhbCBvYiBvZmZpemllbGwgb2RlciBuaWNoKSBlbnRhZXVzY2h0LgpJY2ggaGFldHRlIG1laHIgU291dmVyYWVuaXRhZXQgdmVybXV0ZXQuCgpXb2Z1ZXIgc29sbCBkaWVzZSBSZWdlbHVuZyBkZW4gZ3V0IHNlaW4gPyBTY3JpcHRlbiAobWl0IEF1c25haG1lCldFR0VzY3JpcHQpIGlzdCB2ZXJib3Rlbi4gT2suIERhcyBpc3QgYXVjaCBhbGxnZW1laW4gYWt6ZXB0aWVydC4KV2FydW0gbnVuIHNvd2FzIGluIGVpbmVtIGV4dHJhb3JkaW5hZXIgYnVlcm9rcmF0aXNjaGVuIFdvcnRsYXV0Cmlua2wgZWluZXIgUFJBRVpJRVNFTiBTdGFmYW5kcm9odW5nLiBTb3dhcyBmb3JkZXJ0IGRvY2ggZXJzdCBoZXJhdXMKZGFzIGRhcnVtIGVpbiBpbW1lciBmZWluZXJlcyBQYXJhZ3JhcGhlbndlcmsgZ2VzcG9ubmVuIHdpcmQuIERpZXNlClNDSEVJTkJBUiBleGFrdGUgRGVmaW5pdGlvbiBpc3QgZG9jaCBnZW5hdXNvIHVuYnJhdWNoYmFyIHdpZSBqZWRlCmFuZGVyZS4KCldlZ2VuIGRlciBTdGFmYW5kcm9odW5nPwoKU2NobWFycm4hIE5hY2ggZGVyIGJpc2hlcmlnZW4gUmVnZWx1bmcga29ubnRlIGVpbiBNYWcgZ2VuYXVzbyBlaW5ncmVpZmVuCndlbm4gamFtYW5kIHNjcmlwdHMgdmVyd2VuZGV0IGhhdCBkaWUgdW50cmFnYmFyIHNpbmQgKHNjaGVpbmVuKS4gRWluCnp3YW5nc3dlaXNlcyBhdXNsb2dlbiB1bmQvb2RlciB0cmFuc2VuIChiZXNvbmRlciBmaWVzLCBkZXIgJ2FybWUnIGZpbmRldApzaWNoIGRhcyBuYWVjaHN0ZSBtYWwgd28gdm9lbGxpZyB1bmVyd2FydGV0ZXMgd2llZGVyISksIG9kZXIgZWluZW4gWmFwcAppbSBXaWVkZXJob2x1bmdzZmFsbCBoYWV0dGUgbmllbWFuZGVuIChhdXNzZXIgZGVtIEJldHJvZmZlbmVuICpncmlucyopCmF1ZmdlcmVndC4gU2VsYnN0IGVpbmUgTG9lc3NjaHVuZyBiZWkgKGRldXRsaWNoKSB1bnZlcmJlc3NlcmxpY2hlbgpha3plcHRpZXJ0IHdvcmRlbi4gV29mdWVyIGFsc28/IFJlZ3VsaWVydW5nc2ZpbW1lbD8gTWFjaHRzcGllbGNoZW4/CgpXYXMgYml0dGUgdW50ZXJzY2hlaWRldCBkaWUgS25laXBlIHZvbiBNb3JvbiB2b24gYW5kZXJlbiBLbmVpcGVuID8KRElFIFRVRVIsIHdlbGNoZSBpY2ggamEgZ2FueiBuZXR0IGZpbmRlIC0gZGFkdXJjaCBpc3QgZXMgcGxvZXR6bGljaApWZXJib3RlbiBkYSBkdXJjaHp1bGF1ZmVuIQoKU28sIGRhbmsgYWxsZW4gZGllIGJpcyBoaWVyaGVyIGR1cmNoZ2VoYWx0ZW4gaGFiZW4sIGFiZXIgZGFzIG11c3N0ZQptYWwgcmF1cyAtIGljaCBrb2VubnQgbWljaCBub2NoIHN0dW5kZW5sYW5nIHVlYmVyIGRpZXNlbiBzY2htYXJybgptaXQgc29sY2hlbiBNb2VjaHRlZ2Vybmdlc2V0emVuIGF1ZnJlZ2VuLgoKR3J1c3MKSC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjcmlwdHMgKFJhZmZpLCAgMS4gRmViIDE5OTYsIDE5OjM3OjI4KToKfiMhIHJuPVJhZmZpIHJ0PTgyMzE5OTA0NQp+IyEgdGlkPTgyMzE3OTg5NAoKTm9jaCBlaW4gcGFhciBBbm1lcmt1bmdlbjoKCk5hY2h0cmFnMToKSWNoIGhhZXR0IHouQi4gYXVjaCBuaXggZGFnZWdlbiB3ZW5uIHNpY2ggamVtYW5kIHp1bSBHZWxiZW4gS29lbmlnCmR1cmNoc3NjcmlwdGV0LiBEaWUgUXVlc3RlIGlzdCBqYSB3aXJrbGljaCBuZXR0IGdlbWFjaHQgKGhhdCBtaXIKZ2VmYWxsZW4pLCBhYmVyIHdlbm4gbWFuIHp1bSAyMC4gbWFsIG5hY2ggUmVib290IGRpZSBSb2JlIGhvbGVuIHdpbGwKaXN0IGVzIG51cm5vY2ggbmVydnRvZXRlbmQuIEZ1ZXIgbWljaCBpc3Qgc2VsYnN0IGRhcyBkYW5uIGVpbiBXZWdzY3JpcHQuCih1bmQgdW0gZGFzIHp1IGVyc3RlbGxlbiBtdXMgbWFuIGRhcyBEaW5nIGVoIDMgYmlzIDQgbWFsIHZvbiBIYW5kCmR1cmNobWFjaGVuLiAgLSBXaWUgZ2VzYWd0IE1FSU5FIE1laW51bmcuIC0KCiAhISBBY2h0dW5nIGljaCByZWRlIGhpZXIgbmljaHQgdm9tIEVSU1RFTiBMb2VzZW4gZGVyIFF1ZXN0ZSBmdWVyIGRpZQpRdWVzdHB1bmt0ZSEhCgpadW0gYW5kZXJlbiBoYWx0ZSBpY2ggZGllIFVlYnVuZ3NzY3JpcHRlIGJlaSBLYXJhdGVrYXMgKHUuYWUuKSBmdWVyCndpZWRlcnNpbm5pZy4gV2VubiBpY2ggZGFzIHJpY2h0aWcga2FwaWVydCBoYWJlIGdlaHQgZXMgYmVpIGRlbmVuIGphCmdlcmFkZSBkYWRydW0gZGFzIG1hbiBkdXJjaCB1ZWJ1bmcgbGVybnQgLSBkYXMgaXN0IG5peCB3YXMgZHVyY2gKS25vcGZkcnVjayBwYXNzaWVyZW4gc29sdGUgLSBkYXMgaXN0IHNvd2FzIHdpZSBlaW5lICh6dWdlZ2ViZW5lcm1hc3NlbgpsYW5nZSkgUXVlc3RlISBXZW5uIHNvd2FzIGF1ZiBLbm9wZmR1Y2sgZ2VoZW4gc29sbHRlIGhhZXR0ZSBSb2NodXMKc2ljaCBkaWUgTXVlaGUgc3BhcmVuIHNvbGxlbi4gLSBBdWNoIGhpZXIgd2llZGVyIE1FSU5FIE1laW51bmcgLQoKTmFjaHRyYWcyOgpJY2ggd2VyZGUgYXVjaCB3ZWl0ZXJoaW4gbWVpbmVuIFRlbG5ldCBtaXQgRWluZnVlZ2VuIChjdXQmcGFzdGUgZnVlcgp1bnNlcmUgRW5nbGlzY2hmYWVucykgYmVkaWVuZW4gdW5kIGluIGRpZXNlbiAnc2NyaXB0cycgYXVjaCAnZm9sZ2UKaHVuZCcsICdrbGV0dGVyZSBob2NoJywgJ3ppZWhlIHN0cmljaycgJ25pbW0gc2NobHVlc3NlbCcsICdvZWZmbmUKdHVlciBtaXQgc2NobHVlc3NlbCcgb2RlciAndHJpbmtlIDx4eHg+JyAoYWxsZXMgQmV3ZWd1bmdzYmVmZWhsZSwKaWNoIGJld2VnZSBqYSB3YXMgOikgdmVyd2VuZGVuLiBXZXIgamV0enQgbWVpbiBpY2ggc29sbHRlIGRhZnVlcgpnZXphcHB0IHdlcmRlbiwgb2RlciBkYXIgZ2Vsb2VzY2h0LCBkZXIgc29sbCBkYXMgZGFubiBtYWNoZW4uCkRhbm4gd2Vpc3MgaWNoIHdlbmlnc3RlbnMgd29yYW4gaWNoIGJpbi4KCk5hY2h0cmFnMzoKVW5kIGRlbiBSZXN0IGZvcmRlcmUgaWNoIGF1ZiBkaWVzZW4gZGVwcGVydGVuIFZlcnN1Y2ggZWJlbmZhbGxzIHp1Cmlnbm9yaWVyZW4gdW5kIGVzIGRlbiBCdWVyb2tyYXRlbiB6dSB6ZWlnZW4uIExlaWRlciBrYW5uIG1hbiBpbSBNRwpzbyBzY2hsZWNodCBTaXR6Ymxva2FkZW4gby5hZS4gZHVyY2hmdWVocmVuLiBJY2ggd3VlcmRlIG1pY2ggc29mb3J0CmFuIENBVCpzIEJhciBrZXR0ZW4gOikKCk5hY2h0cmFnNDoKSWNoIHdlcmRlIG5pY2h0IEtoaWRhciBhbmJldHRlbG4genVydWVja3p1a29tbWVuLiBFaW5mYWNoIGFiaGF1ZW4gaXN0CmtlaW5lIExvZXN1bmcsIGFiZXIgZGFyYXVmIG11c3MgZXIgc2VsYnN0IGtvbW1lbi4KCk5vY2htYWwKR3J1c3MKSC4KKHdhcnRldCBtaXQgRnl0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogY2F0d2VhemxlIChNdXBmZWwsICAxLiBGZWIgMTk5NiwgMTk6NDM6MzApOgp+IyEgcm49QXNtb2RpcyBydD04MjMxODQwMDIKfiMhIHRpZD04MjI2ODUyODAKd2lyIGFyYmVpdGVuIGRyYW4KCi5tdXBwZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY3JpcHRzIChSYWZmaSwgIDEuIEZlYiAxOTk2LCAxOTo0NDoxNyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9ODIzMjAwMDU4Cn4jISB0aWQ9ODIzMTc5ODk0CgpEYSBtdXNzdCBkdSBuaWNodCBtaWNoIGZyYWdlbiwgc29uZGVybiBkaWUgTWFnIChpY2ggZGV1dGUgYXVmIGtlaW5lbiEpLgoKV2VubiBEdSBzbyBhcmd1bWVudGllcmVuIHdpbGxzdCBpc3QgZGVyIG5ldWUgemlub2JlciBlcnN0cmVjaHQgdW5ub2V0aWcgLQp3ZW5uIGJpc2hlciBrZWluZXIgZGFzIHZlcmJvdCBkZXMgc2NyaXBlbnMgZHVyY2hnZXNldHp0IGhhdCB3YXJ1bSBkYW5uCmVyd2FydGVuIGRhcyBlcyBqZXR6dCBhbmRlcnMgaXN0IQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjcmlwdHMgKEdyaW1tYm9ybiwgIDEuIEZlYiAxOTk2LCAxOTo0NzoxMCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9ODIzMjAwMDU4Cn4jISB0aWQ9ODIzMTc5ODk0CgpUamEsIEN1Y2gsIHdhcyBEdSBhbHNvIGRhbWl0IHNhZ2VuIHdpbGxzdDoKIlJlZ3QgZXVjaCBuaWNodCBhdWYsIGRhcyBWZXJib3Qgd2lyZCBkb2NoIG5pY2h0IGR1cmNoZ2VzZXR6dCB1bmQga2VpbmVtCnBhc3NpZXJ0IHdhcyIKSGFiIGljaCBkYXMgcmljaHRpZyB2ZXJzdGFuZGVuPwoKTnVuLCBkYW5uIGthbm4gbWFuIHNpY2ggbmF0dWVybGljaCBmcmFnZW4sIHdvenUgbWFuIHdhcyB2ZXJiaWV0ZW4gc29sbHRlLCB3YXMKbmljaHQgZHVyY2hnZXNldHp0IHdpcmQuIFVuZCBzaWNoIGluIGxldHp0ZXIgS29uc2VxdWVueiBuaWNodCBkdXJjaHNldHplbgpsYWVzc3QgKG9kZXIgd296dSBpc3QgZGllICJpbm9mZml6aWVsbGUiIFZlcmhhcm1sb3N1bmcgZ2VkYWNodD8pLgpOZW5lLCB3ZW5uIGVpbmVyIGhpbmdlaHQgdW5kIGRpZSBHcmF2aXRhdGlvbiB2ZXJiaWV0ZXQgKG5laW4sIGljaCBoYWx0ZQpzY3JpcHRlIG5pY2h0IGZ1ZXIgZWluIE5hdHVyZ2VzZXR6KSBkYW5uIGthbm4gZXIgZGFzIG1hY2hlbiwgYWJlciBlciBtYWNodApzaWNoIGxhZWNoZXJsaWNoLiBWb3IgYWxsZW0sIHdlbm4gZXIgbWl0IGRyYWtvbmlzY2hlbiBTdHJhZmVuIGRyb2h0IGZ1ZXIgZGVuCkZhbGwsIGRhc3Mgc2ljaCB3ZXIgbmljaHQgZHJhbiBoYWVsdC4KCkFjaCwgd2FzIHNvbGxzLCB3ZXJkZXQgZG9jaCBNYWdpZXIgdW5kIGxlc3QgZGVuIEtyYW0gaW4gZGVuIE1hZ2llcnJ1YnJpa2VuCm5hY2guCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIExlZ3QgV2VydCBhdWYgZGllIEZlc3RzdGVsbHVuZywgZGFzcyBlciBuaWNodCBhbiBkZXIKRW50c2NoZWlkdW5nIGJldGVpbGlndCB3YXIgdW5kIGZ1ZWhsdCBzaWNoIGluIGtlaW5lciBXZWlzZSBkYXp1IHZlcnBmbGljaHRldCwKc2llIHp1IHZlcnRlaWRpZ2VuLgoKUC5TLiBIaWdobGFuZGVyLCBkYXMgaXN0IGphIHdvaGwgZGllIG1pZXNlc3RlIE1ldGhvZGU6IE1pdHp1ZW50c2NoZWlkZW4gdW5kCmRhbm4gYWJoYXVlbiwgd2VubiBLcml0aWsga29tbXQuIERhcyBpc3QgbnVuIHdpcmtsaWNoIGRlciBJbmJlZ3JpZmYgZGVyCkRpa3RhdHVyIGltIHNjaGxpbW1zdGVuIFNpbm5lOiBJY2ggZW50c2NoZWlkZSwgdW5kIHdhcyBkYXMgZnVlciBBdXN3aXJrdW5nZW4KaGF0IHVuZCB3aWUgZGllIExldXRlIGRyYXVmIHJlYWdpZXJlbiBpc3QgbWlyIHN1cGVyc2NoZWlzc2VnYWwsIGRhcyB3aWxsIGljaApuaWNodCB3aXNzZW4uIEFiZXIgZGFzIG51ciBhbSBSYW5kZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNjcmlwdHMgKEdyaW1tYm9ybiwgIDEuIEZlYiAxOTk2LCAxOTo1NTo0MCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9ODIzMjAwNjkzCn4jISB0aWQ9ODIzMTc5ODk0CgpEdSBoYXN0IGhpZXIgaW0gbXVkIHdhcyBnYW56IEdydW5kbGVnZW5kZXMgbmljaHQgdmVyc3RhbmRlbiwgQ3VjaHVsbGluOgpEaWUgRU0gYnJhdWNoZW4ga2VpbmUgb2JlcmdlbWVpbmdlZmFlaHJsaWNoIGZvcm11bGllcnRlIEhhbmRoYWJlLCB3ZWlsIHNpZQpzb3dhcyBzY2hvbiBzZWl0IExhcnN2YWV0ZXJ6ZWl0ZW4gaGFiZW46CldpemxldmVsIDY2IG9kZXIgaG9laGVyLiBNZWhyIGJyYXVjaHRzIG5pY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY3JpcHRzIChSYWZmaSwgIDEuIEZlYiAxOTk2LCAxOTo1NjowOSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9ODIzMjAwNjkzCn4jISB0aWQ9ODIzMTc5ODk0CgpMZWlkZXIgZ2lsdCBkYXMgJ29oIGRhcyB3YXIgbnVyIGVpbiB3ZWdlc2NyaXB0JyBpbW1lciBub2NoIC0gc2llaGUgQ2F0KnMKQXJ0aWtlbC4KCkVudHdlZGVyIHdpcmQgZGVyIGJlc2NobHVzcyAgTmljaHQtc2NyaXB0ZW4gKGRlbiBlcyBzY2hvbiBzZWl0IG1laHIgYWxzIGVpbmVtCmhhbGJlbiBqYWhyIHZlcmJpbmRsaWNoIGdpYnQpIGR1cmNoZ2VzZXR6dCwgb2RlciBuaWNodCAtIGFsbGVzIGFuZGVyZSBpc3QKSHVtYnVnLiBFaW5lICdWZXJzY2hhZXJmdW5nIG9obmUgd2FzIGRhaGludGVyIGlzdCBzaW5ubG9zIC0gZXJzdG1hbCBtaXQgZGVuCnZvcmhhbmRlbmVuIHJlZ2VsbiBrbGFya29tbWVuIGJldm9yIG1hbiBuTkVVRSBtYWNodCEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVpbmUgTWVpbnVuZyBkYXp1IChDaGVhc3ksICAxLiBGZWIgMTk5NiwgMjA6MjY6MDIpOgp+IyEgcm49VmFsYXJpYW4gcnQ9ODIzMTc4NDkyCn4jISB0aWQ9ODIzMTc4NDkyCkhtbW0sIFZhbGFyaWFuLi4uIGVpbiBGZXVlcmJhbGwtTWFrcm8gc2l0IGphIHZpZWxsZWljaHQgZ3V0IGZ1ZXIgamVtYW5kIGRlcidzCmJyYXVjaHQuIEljaCB1bmQgbWVpbiB0ZWxuZXQgc2luZCBpbW1lciBub2NoIG1pdCBtYWtyb3MgdW5kIDEgMiAzIHp1ZnJpZWRlbiA7KQoKLUNoZWFzeSBhdWZtIE1hYyBwb3J0aWVydCBncmFkIHRmIG1pdCBDb2RlV2FycmlvciB1bmQgR1VTSSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGF1c2UgKEdhc3QxLCAgMS4gRmViIDE5OTYsIDIwOjQ2OjU1KToKfiMhIHJuPUZ5dCBydD04MjMxOTMyMjUKfiMhIHRpZD04MjMxNzUzNDYKPkZ5dCwgYXVmIGRlbiBlcnN0ZW4gSnVzdGl6aXJydHVtIHdhcnRlbmQuCgpkYXp1IGlyZ2VuZGplbWFuZCB2b3JoaW4gaW4gZGVyIE1lbnNhOgoKIldlbm4gZGVyIGVyc3RlIEp1c3RpemlycnR1bSBkYSBpc3QsIGlzdCBGeXQgc2Nob24gbGFuZ2UgZ2Vsb2VzY2h0IgoKR3JpbnN0IHNpY2ggd2FzLAoKR2FzdCBYCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaW5kIGxhbmdlIEtudWRkZWxtYXVzYWxpcyBlcnd1ZW5zY2h0PyAoRG9scGgsICAxLiBGZWIgMTk5NiwgMjE6MjI6MjEpOgpOYWNoZGVtIGljaCBpbiBNb3JnZW5ncmF1ZW4gbmljaHRzIHp1IHR1biBoYXR0ZSB1bmQgaWNoIHdpZWRlIGVpbmUKS251ZGRlbG1hdXMgZ2VmdW5kZW4gaGF0dGUsIGthbSBtaXIgaW4gZGVuIFNpbm4gbWVpbmUgS251ZGRlbGFsaXMgenUgZXJuZXVlcm4uCkVzIGlzdCBlaW5lIGdhbnogc2Nob2VuZSBBcmJlaXQgZGllcyBBbGlzIHp1IHNjaHJlaWJlbiB1bmQgYmVpIG1laW5lbgpGcmV1bmRlbiBoaWVyIGluIE1vcmdlbmdyYXVlbiBrb21tZW4gc2llIGF1Y2ggc2VociBndXQgKGRhY2h0ZSBpY2gpIGFuLk51bgpoYXR0ZSBpY2ggZWluZW4gZXJzdGVuIEZhbGwgZGVyIEJlc2Nod2VyZGUgKE5hbWVuIHdvbGxlbiBuaWNodCBnZW5hbm50IHdlcmRlbikKZGVyIGV0d2FzIGdlZ2VuIGVpbmVuIGtsZWluZW4gNCBvZGVyIDUgWmVpbGVyIGhhdHRlLgpOdW4gaWNoIGJpbiBkZXIgTWVpbnVuZyBkYXNzIGRpZSBTYWNoZSBoaWVyIG9mdG1hbHMgbm9jaCB2aWVsIHp1IGVybnN0Cmdlbm9tbWVuIHdpcmQgdW5kIHdlbm4gZWluZXIgd2FzIGdlZ2VuIGxhbmdlIG5ldHRlIEFsaXMgaGF0IGRhbm4ga2FubiBlciBlcyBqYQpkZW1qZW5pZ2VuIG1pdHRlaWxlbi4gRXIgc29sbHRlIGFiZXIgYXVjaCBkYXJhbiBkZW5rZW4gZGFzcyB2aWVsZSBNaXRzcGllbGVyCm5vY2ggbmljaHQgc293ZWl0IHNpbmQgYnp3LiB2aWVsbGVpY2h0IG5pY2h0IHNvIGtyZWF0aXYgc2luZCBzaWNoIGVpbiBzY2hvZW5lcwpBbGkgenUgZW50d2lja2Vsbi4gRGFoZXIgc29sbHRlIHp1IGRpZXNlbSBUaGVtYSBTdGVsbHVuZyBnZW5vbW1lbiB3ZXJkZW4gdW5kCmljaCBiaW4gaW1tZXIgbm9jaCBkZXIgTWVpbnVuZyB3ZXIgbWljaCBrbnVkZGVsdCB3aXJkIHZvbiBtaXIgbWl0IGVpbmVtCnNjaG9lbmVuIEtudWRkZWxzcHJ1Y2ggYmVsb2hudC4KaWhyIGR1ZXJmdCBtaXIgZ2VybmUgYW50d29ydGVuIG9kZXIgbWljaCBpbSBTcGllbCB6dSBkaWVzZW0gVGhlbWEgYW4Kc3ByZWNoZW4uCkV1ZXIgS251ZGRlbGV4cGVydGUgRG9scGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaW5kIGxhbmdlIEtudWRkZWxtYXVzYWxpcyBlcnd1ZW5zY2h0PyAoRGF1ZXJnYXN0LCAgMS4gRmViIDE5OTYsIDIyOjEzOjQwKToKfiMhIHJuPURvbHBoIHJ0PTgyMzIwNjE0MQp+IyEgdGlkPTgyMzIwNjE0MQpIbSwgYmlzdGUgZWluIFp3ZWl0aWUgdm9uIFNlbWlyYT8KV2VubiBuaWNodCwgbGFzcyBEaWNoIGJsb3NzIG5pY2h0IHZvbiBJaHIgZXJ3aXNjaGVuLAp3ZW5uIER1IERpY2ggYWxzIEtudWRkZWwtRXhwZXJ0ZSBhdWZzcGllbHN0ISEKCkRhdWVyZ2FzdAooYml0dGUgbmFjaCBTY2htYXJybiB2ZXJsZWdlbiAtIGFiZXIgYmVpIGFsbCBkZW4gU2Nocm90dC1BcnRpa2VsbiBmYWVsbHQKZGVyIGhpZXIgYXVjaCBuaW1tZXIgYXVmISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi0tLSAoSGVmZSwgIDEuIEZlYiAxOTk2LCAyMzo1OTo0NCk6ClNpbmQgd2lyIGhpZXIgZWlnZW50bGljaCBpbSBLaW5kZXJnYXJ0ZW4gPwpXZW5uIG1hbiBkaWUgRGlza3Vzc2lvbiB1ZWJlciBkYXMgU2NyaXB0dmVyYm90IHZlcmZvbGd0CigiV2FzIGlzdCwgd2VubiBpY2ggZWluICdmb2xnZSBodW5kJyBlaW5nZWJhdXQgaGFiZSIpLAprb2VubnRlIG1hbiBkaWVzZW4gRWluZHJ1Y2sgd2lya2xpY2ggYmVrb21tZW4uCkVzIHNvbGx0ZSBkb2NoIGxhbmdzYW0gd2lya2xpY2gga2xhciBzZWluLCBmdWVyIHdlbGNoZSBTb3J0ZQp2b24gU3BpZWxlcm4gZGFzIFZlcmJvdCBzbyBzdHJlbmcgYXVzZ2VzcHJvY2hlbiB3dXJkZTsKZGVzaGFsYiB2ZXJzdGVoZSBpY2ggZGllIGdhbnplIEF1ZnJlZ3VuZyB3aXJrbGljaCBuaWNodC4KCk5pY2h0cyBmdWVyIHVuZ3V0LCBpY2ggd2lsbCBoaWVyIG5pZW1hbmQgcGVyc29lbmxpY2ggYW5ncmVpZmVuCm9kZXIgc28uCgpNaXQgV2VpemVuZ3J1c3MgYW4gYWxsZSA6ICAgICAgICAgSGVmZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChGeXQsICAyLiBGZWIgMTk5NiwgMDA6MDI6NTApOgpJY2ggd2FnIHp1IGJlendlaWZlbG4sIGRhc3MgaWNoIHNjaG9uIGxhbmdlIGdlbG9lc2NodCBzZWluIHdlcmRlLApiZXZvciBoaWVyIGRlciBlcnN0ZSBKdXN0aXptb3JkIGdlc2NoaWVodCwgenVtaW5kZXN0IG5pY2h0IGF1ZiBkZXIKR3J1bmRsYWdlIGVpbmVzIGZhaXJlbiBWZXJmYWhyZW5zIHdlZ2VuIFNjcmlwdHNwaWVsZXJlaS4KSWNoIHdlcmQgbWljaCBzb2xhbmdlIGRpZXNlIFJlZ2VsdW5nIGJlc3RlaHQgbmFlbWxpY2ggbnVyIGRhbm4gaW0gTUcKYmV3ZWdlbiwgd2VubiBpY2ggbWlyIFNJQ0hFUiBiaW4sIGRhc3MgZXMga2VpbmVyIG1pc3N2ZXJzdGVodC4KCkFiZXIgaW4gZGllc2VtIFp1c2FtbWVuaGFuZyBiZXdlZ3QgbWljaCBkYW5uIGRvY2ggZWluZSBGcmFnZToKCldpcmQgZGllIFJlZ2VsdW5nIGZhbGxlbmdlbGFzc2VuLCB3ZW5uCgoxLiBpY2ggc2FnZW4gd2lyIDEwIE1pbyBFUCBtaXQgZWluZW0gS2lsbHNjcmlwdCBlcndpcnRzY2hhZnRldCBoYWJlLApiZWkgZGVtIG1pciBrZWluZXIgbmFjaHdlaXNlbiBrYW5uLCBkYXNzIGVzIGVpbmVzIGlzdAoKb2RlcgoKMi4gd2VubiBqZW1hbmQsIGRlciBvaG5lIEtsaWVudCBkcmluIGlzdCwgd2VnZW4gU2NyaXB0ZXJlaSBnZWxvZXNjaHQKd3VyZGUKCnVuZCBpY2ggZGFtaXQgenVtaW5kZXN0IGluIG1laW5lbiBBdWdlbiBkZW4gJ0Jld2VpcycgZXJicmFjaHQgaGFiZSwKZGFzcyBkYXMgVmVyYm90IHNpbm5sb3MgaXN0IHVuZCBzZWluZXIgSW50ZW50aW9uIG5pY2h0IGdlcmVjaHQgd2lyZD8KCk51ciBzbyBuZSBGcmFnZSwgZWluZXMgdm9uIGJlaWRlbiBpc3QgbmFlbWxpY2ggc2ljaGVyIHp1IHJlYWxpc2llcmVuLi4uCgoKCkF1c3NlcmRlbSAtLSBhdWZnZW11bnRlcnQgdm9uIFJhZmZpcyBBcnRpa2VsIC0tIHdlcmQgaWNoIHdvaGwgZG9jaCBub2NoCmV0d2FzIFNlbmYgYWJsYXNzZW4uLi4gSWNoIGthbm4ncyBtaXIgaGFsdCBuaWNodCB2ZXJrbmVpZmVuLgoKRWluIFRlaWwgZGVyIEVyem1hZ2llcnNjaGFmdCwgdW5kIGljaCB3ZXJkZSBkaWVzZSBpbSBmb2xnZW5kZW4gYWxzCidkaWUgTXVlbnN0ZXJhbmVyJyAtLSBhdWNoIHdlbm4gZXMgZGFzIGltIEVpbnplbGZhbGwgbmljaHQgdHJpZmZ0IC0tCm5lbm5lbiwgZGFtaXQgaWNoIGRhcyBpcmdlbmR3YW5uIHp1IG5lbSByaWNodGlnZW4gRmVpbmRiaWxkIGF1c2JhdWVuIGthbm4sCmhhdCBhbHNvIGVya2FubnQsIGRhc3MgU2NyaXB0ZSBkZW0gTUcgYWJ0cmFlZ2xpY2ggc2luZCwgaXJnZW5kd2llIG5pY2h0ClNpbm4gZGVyIFNhY2hlIHNpbmQuIEZlaW4uIERpZXNlIEVya2VubnRuaXMgaGF0dGUgaWNoIHNjaG9ubWFsIHZlcnN1Y2h0IHp1CnZlcm1pdHRlbG4sIHVuZCB6d2FyIGt1cnogbmFjaCBFaW5mdWVocnVuZyBkZXIgS2FyYXRlZ2lsZGUsIGRlcgpnZW5laWd0ZSAodm9tIEFsdGVyKSBMZXNlciB3aXJkIHNpY2ggdmllbGxlaWNodCBub2NoIGFuIEZ5dCwgZGFzIFNjcmlwdCwKZXJpbm5lcm4uIERhbWFscyBnaW5nJ3MgbWlyIGFsbGVyZGluZ3MgaGF1cHRzYWVjaGxpY2ggdW0gZGllIGxhbmdlbgpMZXJuemVpdGVuIGluIGRlciBLYXJhdGVnaWxkZS4uLgoKQWJlciBzY2hvbiBkYW1hbHMgd2FyIGRpZSBUZW5kZW56IHp1IGVya2VubmVuLCBkaWUgaGV1dGUgd2llZGVyCmRldXRsaWNoIHNpY2h0YmFyIGdld29yZGVuIGlzdDogTWFuIGJla2FlbXBmdCBkaWUgRXJzY2hlaW51bmcgdW5kIG5pY2h0CmRpZSBVcnNhY2hlbiwgYW5zdGF0dCBhdXMgZGVyIEthcmF0ZWdpbGRlIGRhcyB6dSBtYWNoZW4sIHdhcyBzaWUgbmFjaAplcnN0ZXIgQW5rdWVuZGlndW5nIHdlcmRlbiBzb2xsdGUsIGVpbiBFcnNhdHogZnVlciBkaWUgQWJlbnRldXJlcmdpbGRlCm1pdCBkZW0gVm9ydGVpbCwgc2ljaCBrZWluZSBBdXNydWVzdHVuZyBiZXNvcmdlbiB6dSBtdWVzc2VuIC0tIGphLApnZW5hdSBEQVMgd2FyIGRlciBHcnVuZCwgd2FydW0gaWNoIGRhbWFscyBlaW5nZXRyZXRlbiBiaW4gLS0Kd3VyZGUgZGllIGhvaGUgS2FtcGZrcmFmdCB1bmQgZGllICdmYWlyZXJ3ZWlzZScgZGFyYW4gYW5nZXBhc3N0ZW4KbGFuZ2VuIExlcm56ZWl0ZW4gaW0gUHJpbnppcCBiZWliZWhhbHRlbiB1bmQgZGFtaXQgYXVjaCBkaWUgVmVyc3VjaHVuZwpiencuIGplIG5hY2ggTGFnZSBkZXIgVGVjaG5payBhdWNoIE5vdHdlbmRpZ2tlaXQgenVtIFNjcmlwdGVuLgoKRWluZSBBYndlcnR1bmcgZGVyIEthcmF0ZWdpbGRlIGF1ZiBBYmVudGV1cmVybml2ZWF1IG1pdCBlbnRzcHJlY2hlbmQKdmVya3Vlcnp0ZW4gTGVybnplaXRlbiB3YWVyZSBtZWluZXIgTWVpbnVuZyBuYWNoIGRlciB2ZXJudWVuZnRpZ2VyZQpBbnNhdHogZ2V3ZXNlbi4gQWJlciBkYXMgbnVyIGFtIFJhbmRlLgoKRGFtaXQgc2luZCB3aXIgYXVjaCBzY2hvbiBiZWltIFByb2JsZW06IEVzIGlzdCAqbWVpbmUqIE1laW51bmcuClVuZCBkaWUgd2lyZCBuaWNodCBnZWhvZXJ0LCB6dW1pbmRlc3QgaGFiIGljaCBuaWNodCBkZW4gRWluZHJ1Y2suCkd1dCwgZXMgaXN0IG1pciB2b2VsbGlnIGtsYXIsIGRhc3MgZGFzIE1HIG5pY2h0ICdkZW1va3JhdGlzY2gnCmdlZnVlaHJ0IHdlcmRlbiBrYW5uLCBpY2ggaGFsdGUgZGFzIG5pY2h0IGVpbm1hbCBmdWVyIHd1ZW5zY2hlbnN3ZXJ0LApkZW5ub2NoIGJlc3RlaHQgYXVjaCBpbiBkaWt0YXRvcmlzY2ggZ2VmdWVydGVuIFN0YWF0ZW4gZGllClRyYWRpdGlvbiwgZGVuIFVudGVydGFuZW4gZGFzIEdlZnVlaGwgenUgZ2ViZW4sIGdlaG9lcnQgenUgd2VyZGVuIC0tCnp1bWluZGVzdCBtYW5jaG1hbC4KCkFuIG1laW5lciBmb3JtYWxlbiAnU3RlbGx1bmcnIGltIE1HIGFsbGVpbmUga2FubiBkaWUgTWlzc2FjaHR1bmcgd29obApuaWNodCBsaWVnZW4sIHNvZ2FyIFN6b2YgaGF0IGVzIGhldXRlIGZlcnRpZ2dlYnJhY2h0LCBpcmdlbmR3YXMKdm9uICdUb3BzZWhlcicgdW5kIG1pciBpbiBlaW5lbSBTYXR6IHp1IGVyd2FlaG5lbjsgaW4gZGVyIEthcmF0ZWdpbGRlCmJpbiBpY2ggYXVjaCBzY2hvbiB6ZWltbGljaCBsYW5nZSwgaWNoIHNvbGx0ZSBhbHNvIGluIGRlciBMYWdlIHNlaW4sCmVpbmUgZWluaWdlcm1hc3NlbiBxdWFsaWZpemllcnRlIE1laW51bmcgYXVzIFNwaWVsZXJzaWNodCBkYXp1CmFienVnZWJlbi4KCkFlaG5saWNoIHNlaCBpY2ggZGllIFNpdHVhdGlvbiBiZXp1ZWdsaWNoIFNjcmlwdHMsIHNvdmllbCBpY2ggd2Vpc3MsCndhciBpY2ggZWluZXIgZGVyIGVyc3RlbiAoZGVyIGVpbnppZ2U/KSwgZGVyIGVyc3QgTGVybi0sIGRhbm4KTWV0emVsc2NyaXB0cyB0YWdlbGFuZyBsYXVmZW4gbGllc3MsIHVuZCBtaXR0bGVyd2VpbGUgYmluIGljaCBpbSBCZXNpdHoKZWluZXIgYW5zZWhubGljaGVuIFNjcmlwdHNhbW1sdW5nLCBkaWUgdm9uIFNTUC1BdXNyYWV1bWVuIGJpcyBoaW4genVtCkhhdXNiYXVlbiByZWljaHQuIEF1Y2ggaGllciBzb2xsdGUgYWxzbyB6dSB2ZXJtdXRlbiBzZWluLCBkYXNzIGljaCBtaXIKc2Nob24gR2VkYW5rZW4genUgZGVtIFRoZW1hIGdlbWFjaHQgaGFiZS4KCk51biB3aXJkIG5hY2hnZWRhY2h0IC0tIG1pciBpc3QgYXVzIGRlciBGZXJuZSBsZWlkZXIgbmljaHQgbW9lZ2xpY2gsCmRpZXNlbiBrb21wbGl6aWVydGVuIFByb3plc3Mga29ua3JldGVuIFBlcnNvbmVuIHp1enVvcmRlbmVuIC0tIHVuZAptYW4ga29tbXQgenVyIEVya2VubnRuaXMsIGRhc3MgZGllClNjcmlwdGVyZWkgZGVyIEtvbW11bmlrYXRpb24gaW0gTXVkIGFidHJhZWdsaWNoIGlzdCAoaWNoIHVudGVyaGFsdCBtaWNoCnVlYnJpZ2VucyBiZWkgbGF1ZmVuZGVtIFNjcmlwdCBiZXNzZXIsIGFscyB3ZW5uIGljaCBwZXIgSGFuZCBtZXR6ZWwpIHVuZApzY2hsaWVzc3QgZGFyYXVzLCBkYXNzIHNlbGJpZ2UgdmVyYm90ZW4gd2VyZGVuIG11c3MuCgpLZWluIGVpbnppZ2VyIGtvbW10IGF1ZiBkaWUgSWRlZSwgenUgZnJhZ2VuLCBhdXMgd2VsY2hlbiBHcnVlbmRlbgptYW4gKHVuZCBpbnNiZXNvbmRlcmUgbmF0dWVybGljaCBpY2gpIHNjcmlwdGUuIEhhdCBtYW4gQW5nc3QsIGRhc3MKaWNoIGtldHplcmlzY2hlIElkZWVuIHZlcmJyZWl0ZW4ga29lbm50ZT8KCldvcmFuIGxpZWd0J3MgYWxzbywgZGFzIGtlaW5lciBmcmFndD8gTWVpbmUgUGlja2VsIHNpbmQncyB3b2hsCmF1Y2ggbmljaHQsIGljaCB2ZXJtdXRlIHZpZWxtZWhyLCBkYXNzIHNpY2ggaW0gTGF1ZmUgZGVyIFplaXQgZWluCmdld2lzc2VyIEZpbHogaW4gTXVlbnN0ZXIgZW50d2lja2VsdCBoYXQgLS0gZWluaWdlIE1hZ2llciwgYXVjaCBtYWwKZWluICdFJyBkYWJlaSwgdW5kIG5hdHVlcmxpY2ggYXVjaCBub2NoIGVpbmUgSGFuZHZvbGwgQWxpYmktU3BpZWxlciwKZGllIHZvbiBqZWRlciBFbnR3aWNrbHVuZyBXb2NoZW4gdm9yaGVyIGluIEtlbm50bmlzIGdlc2V0enQgd2VyZGVuLAp1bmQgZGllIHppZW1saWNoIGdlbmF1IHdpc3Nlbiwgd2llIGlyZ2VuZHdhcyB6dSB2ZXJzdGVoZW4gaXN0Li4uCgpVbmQgZWJlbiBkaWVzZXIgS2x1ZW5nZWwgZnVlaGx0IHNpY2ggYmVydWZlbiwgc2VpbmUgVm9yc3RlbGx1bmdlbiB2b24KZWluZXIgaGVpbGVuIE11ZHdlbHQgZGVtIFJlc3QgJ3VlYmVyenVoZWxmZW4nLiBEYXMgZ2VodCBzbyB3ZWl0LApkYXNzIExldXRlLCBkaWUgKGFuZ2VibGljaCkgbWFzc2dlYmxpY2ggYW4gZGVtIFZlcmJvdCBiZXRlaWxpZ3Qgd2FyZW4KKG11c3MgaWNoIE5hbWVuIG5lbm5lbj8pLCBzaWNoIHpvcm5pZyBzY2huYXViZW5kIGF1cyBkZW0gU3RhdWJlIG1hY2hlbgotLSBuZWluLCBpY2ggdmVyd2VuZGUgZGVuIEF1c2JydWNrICdiZWxlaWRpZ3RlIExlYmVyd3Vyc3QnIG5pY2h0LApkYXNzIHVlYmVybGFzc2UgaWNoIGxpZWJlciBlaW5lbSBkZXIgQWxpYl5IXkheSF5IVG9wc2VoZXIgaGllciAtLQpzY2hlaW5iYXIgdW5mYWVoaWcsIGRlbiBLb25zZXF1ZW56ZW4gaWhyZXMgVHVucyBhdWNoIG51ciB6dXp1c2NoYXVlbi4KTmViZW5iZWkgd2VyZGVuIGF1Y2ggbm9jaCBNYWdpZXIgbmllZGVyZXIgSGVya3VuZnQgYmVsZWlkaWd0LCB3ZWlsCmRpZSBzaWNoIGVyZHJlaXN0ZXQgaGFiZW4sIGlocmUgZ2VnZW50ZWlsaWdlIE1laW51bmcgcHVibGlrIHp1IG1hY2hlbi4KTmV0dGUgU2l0dGVuLCBpY2ggZnVlaGwgbWljaCByaWNodGlnIHdvaGwgaGllci4KCkxldXRlLCBmdWVobHQgaWhyIEV1Y2ggc29vbyBzaWNoZXIgYXVmIEV1cmVtIGhvaGVuIFJvc3M/IElociB3ZXJidApmdWVyIGRlbiBWZXJlaW4gdW5kIGVyd2FydGV0LCBkYXNzIE5pY2h0a2x1ZW5nbGVyIGRhIG1pdG1hY2hlbj8KRXJuc3RoYWZ0PwoKSWNoIGhhYiBoZXV0ZSBzY2hvbiBtZWhyZmFjaCBCZWlsZWlkc2Jla3VuZHVuZ2VuIGF1cyBhbmRlcmVuIE11ZHMKZXJoYWx0ZW4sIHdpc3N0IElociwgd2llIG9mZmVuc2ljaHRsaWNoZSBXaWxsa3VlciBkZW0gUnVmIGVpbmVzIE11ZHMKc2NoYWRlbiBrb2VubmVuPwoKT2JqZWt0aXYgZ2VzZWhlbiB3ZXJkZXQgSWhyIG5hdHVlcmxpY2ggaG9lY2hzdGVucwplaW5lIEhhbmR2b2xsIFNwaWVsZXIgdmVybGllcmVuLCBlaW5lIFphaGwsIGRpZSBkZW4gRm9ydGJlc3RhbmQgZGVzIE1HcwpzaWNoZXIgbmljaHQgZ2VmYWVocmRlbiB3aXJkLCBhbHNvIGtvZW5udCBJaHIgRXVjaCBlcnN0bWFsIGJlcnVoaWd0Cnp1cnVlY2tsZWhuZW4sIGd1dCBnZW1hY2h0LCBMZXV0ZSA6KQoKCgpGeXQsIHNjaG9uIGVpbm1hbCBkZW4gVW50ZXJnYW5nIGVybGVidCBoYWJlbmQuCgoKClBTOiBVbSBkZW0gQXJ0aWtlbCBub2NoIG5lbiBrb25zdHJ1a3RpdmVuIEFuc3RyaWNoIHp1IGdlYmVuOgpJY2ggaGFiZSBiaXMgamV0enQgZ2VzY3JpcHRldCB3ZWdlbjoKCjEuIEthcmF0ZWdpbGRlLCBkaWUga29lbm50ZSBtYW4gYWJ3ZXJ0ZW4gdW5kIGxlaWNodGVyIGVybGVybmJhcgptYWNoZW4sCgoyLiBFUCAoenVtIGdyb2Vzc3RlbiBUZWlsIGltIFp1c2FtbWVuaGFuZyBtaXQgZGVyIEdpbGRlKSwgZGllCmtvZW5udGVuIG0uRS4ga29tcGxldHQgYWJnZXNjaGFmZnQgd2VyZGVuLiBKYSwgaWNoIG1laW4gZGFzIGVybnN0LgoKMy4gSGF1c2JhdS4gU3ByaWNodCB3YXMgZGFnZWdlbiwgZGFzcyBzaWNoIGVpbmZhY2ggamVkZXIgaXJnZW5kd28Kc28nbiBEaW5nIGhpbnNldHp0IG9obmUgc3R1cGlkZSB6dSBtZXR6ZWxuPwoKQWxsZSBkcmVpIFVyc2FjaGVuIGtvZW5udGVuIGFuZ2VnYW5nZW4gd2VyZGVuLiBNYWNodCBrZWluZXIsCndhcnVtIGF1Y2gsIEtyYWZ0IGlyZ2VuZHdlbGNoZXIgV2Fzc2Vyc3VwcGVuIGVybGFlc3N0IG1hbiBsaWViZXIKYWJzdXJkZSwgbmljaHQga29udHJvbGxpZXJiYXJlIFZlcmJvdGUgdW5kIGVya2xhZXJ0IE5pY2h0a29uZm9ybWUKenUgdW5lcnd1ZW5zY2h0ZW4gUGVyc29uZW4uIElzIGF1Y2ggZWluZmFjaGVyLCB3dXJkZSBzY2hvbiBpbW1lcgpzbyBnZW1hY2h0LCBoYXQgc2ljaCBkZW16dWZvbGdlIGJld2FlaHJ0Li4uCgpQUFM6IEljaCBoYWJlIGV4cGxpeml0IG5pY2h0ICphbGxlKiBNdWVuc3RlcmFuZXIgYW5nZXNwcm9jaGVuLCB3ZXIKYWxzbyBkZXIgTWVpbnVuZyBpc3QsIGRhc3MgaWNoIGlobSBlYmVuIHVucmVjaHQgZ2V0YW4gaGFiZSwgbW9lZ2UKc2ljaCBlaW5mYWNoIG5pY2h0IGFuZ2VzcHJjaGVuIGZ1ZWhsZW4uCgpQUFBTOiBOZWluLCBpY2ggd2VyZGUgZGVtIE1HIG5pY2h0IHNvIGJhbGQgZGVuIFJ1ZWNrZW4ga2VocmVuLCBlcwpnaWJ0IGhpZXIgKG5vY2gpIHp1IHZpZWxlIExldXRlLCBkaWUgaWNoIG1hZy4KClBQUFBTOiBFbnRzY2h1bGRpZ3QgZGllIFBvbGVtaWsuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAtLS0gKEZ5dCwgIDIuIEZlYiAxOTk2LCAwMDowNTowNyk6Cn4jISBybj1IZWZlIHJ0PTgyMzIxNTU4NAp+IyEgdGlkPTgyMzIxNTU4NApBbSBBbmZhbmcgaG9sdGUgYmV0cmFmIGVzIGRpZSBTY3JpcHRlciwgZGFubiBkaWUgVEYtbGVyLi4uCgpPa29rLCBpY2ggaG9lciBhdWYsIGFiZXIgJ3dlbm4gZXMgZG9jaCBuaWNodCBzb29vb29vIGdlbWVpbnQnIGlzdCwKZGFubiBzb2xsIG1hbiBiaXR0ZSBkYXMgZm9ybXVsaWVyZW4sICd3YXMgZ2VtZWludCcgaXN0LiBJc3QgZGFzIHNvCnNjaHdlcj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGNhdHdlYXpsZSAoSm9mLCAgMi4gRmViIDE5OTYsIDA5OjA4OjA4KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODIzMTg0MDAyCn4jISB0aWQ9ODIyNjg1MjgwCgogVGVjaG5pc2NoIHNjaHdpZXJpZywgbWFuIGthbm4ga2VpbmVzZmFsbHMgenVsYXNzZW4sIGRhcyBtZWhlcmVyIEJlZmVobGUKZWluZXMKU3BpZWxlcnMgaW5uZXJoYWxiIGVpbmVzIENvbW1hbmQtQ3ljbGVzIGFiZ2VhcmJlaXRldCB3ZXJkZW4sIGRhIGhpZXJkdXJjaApleHRyZW1lciBMYWcgdmVydXJzYWNodCB3ZXJkZW4ga2FubiB1bmQgZGVyIFNwaWVsZXIsIGRlciBncmFkZSAnZHJhbicgaXN0CnN0YXJrZSBWb3J0ZWlsZSBnZWdlbnVlYmVyIGFsbGVuIGFuZGVyZW4gaGF0LiBEaWUgQWJhcmJlaXR1bmcgdm9uIFNwaWVsZXItCmJlZmVobGVuIGVyZm9sZ3QgdW5hYmhhZW5kaWcgdm9uIGRlbiB1ZWJsaWNoZW4gVGltZXJuIChjYWxsX291dCwgaGVhcnRfYmVhdCksCnVuZCBlcyBnaWJ0IGtlaW5lbiAiVGFrdCIsIGRlciB1bnMgd2lzc2VuIGxhZXNzdCwgd2FubiBlaW4gQ29tbWFuZCBjeWNsZQp2b3JiZWkgaXN0LiBEYWhlciBzZWhlIGljaCBvaG5lIEhhY2sgYW0gR0Qga2VpbmUgc2F1YmVyZSwgc2Nob2VuZSBMb2VzdW5nLgpVbmQgenVtIFJ1bWhhY2tlbiBhbSBHRCBoYWIgaWNoIG1vbWVudGFuIFdJUktMSUNIIGtlaW5lIFplaXQgKHVuZCBuZWhtZSBhbiwKZGFzcyBtYW4gQW15bGFhciBuaWNodCB2b20gU2lubiBlaW5lciBzb2xjaGVuIEFrdGlvbiB1ZWJlcnpldWdlbiBrYW5uIDopCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBjYXR3ZWF6bGUgKFJvZXN0aSwgIDIuIEZlYiAxOTk2LCAwOToyODoxNCk6Cn4jISBybj1Kb2YgcnQ9ODIzMjQ4NDg4Cn4jISB0aWQ9ODIyNjg1MjgwCldhcyBkZW5uIG51bi4uLi4KTXVwZmVsIHNhZ3QgamEsSm9mIHNhZ3QgbmVpbi4uLi4KQWVoIHdhcyBzb2xsIGRlciBnZW5laWd0ZSBTcGllbGVyIFNlaGVyIE1hZ2llciBFcnptYWdpZXIgb2RlciB3YXNhdWNoaW1tZXIKZGVubiBudW4gZ2xhdWJlbj8KClJvZXN0aSBnbGF1YnQgd2VpdGVyaGluIGFuIFNlaW5lIEdvZXR0ZXIgKEJvaW5nIHVuZCBKb2YpCiAgICB3dWVuc2NodGUgc2ljaCBhYmVyIGRhcyBNdXBmZWwgcmVjaHQgYmVoaWVsdGUuLi46KSAqKioga2ljaGVyICoqKgpBY2ggamEuLi4KICAgIEVpZ2VudGxpY2ggd29sbHRlIGljaCBtaWNoIGphIGdhbnogYXVzIGRlciBEaXNrdXNzaW9uIHJhdXNoYWx0ZW4sYWJlcgpoaWVyIGJlc3RlaHQgaXJnZW5kd2llIHVua2xhcmhlaXQgbWVpbmVyc2VpdHMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhbmt0aW9uZW4gZ2VnZW4gU2tyaXB0ZSAoWWFudHJvLCAgMi4gRmViIDE5OTYsIDA5OjM1OjM0KToKCkhhbGxvIENhdCogKG9kZXIgZWluIGFuZGVyZXIgRU0sIGRlciBzaWNoIGFuZ2VzcHJvY2hlbiBmdWVobHQpLgoKSWNoIHNjaHJlaWJlIGRhcyBoaWVyIGpldHp0IGJld3Vzc3QgaW4gZGllIFplaXR1bmcgc296dXNhZ2VuIGFscyAib2ZmZW5lcgpCcmllZiIsIHdlaWwgaWNoIGRlbmtlLCBkYXNzIGRhcyBlaW4gQXNwZWt0IGRlciBnYW56ZW4gU2tyaXB0RGlza3Vzc2lvbiBpc3QsCmRlciBiaXMgamV0enQgbm9jaCBuaWNodCBhbmdlc3Byb2NoZW4gd3VyZGUgdW5kIGRlciBzaWNoZXJsaWNoIHZpZWxlIFNwaWVsZXIKaW50ZXJlc3NpZXJ0LgoKSWNoIGhhYiBlaWdlbnRsaWNoIG51ciBlaW5lIFJlaWhlIHZvbiBGcmFnZToKCjEpIEluIGRlciBwb2xpemVpbGlzY2hlbiBCZWthbm50bWFjaHVuZyBzdGVoZW4gZWluZSBSZWloZSB2b24gU2Fua3Rpb25lbiwgZGllCmdlZ2VuIFNrcmlwdGVyIHZlcmhhZW5ndCB3ZXJkZW4ga29lbm5lbi4gV2VyIGVudHNjaGVpZGV0IGtvbmtyZXQgdWViZXIgZGFzClN0cmFmbWFzcz8gQ2F0Kj8gQWxsZSBFTXM/IFdpZSBtdXNzIGRpZSBFbnRzY2hlaWR1bmcgYXVzZmFsbGVuPyBFaW5mYWNoZQpNZWhyaGVpdD8gRWluc3RpbW1pZz8gV2VyIGhhdCBlaW4gVmV0bz8KCjIpIEljaCBiaW4gaW1tZXIgbm9jaCBkZXIgZmVzdGVuIFVlYmVyemV1Z3VuZywgZGFzcyBzaWNoIGVpbiBnZXNjaGlja3RlcgpTa3JpcHRlciBuaWNodCB1ZWJlcmZ1ZWhyZW4gbGFlc3N0LiBXaWUgd2lyZCBkZXIgU2tyaXB0bWlzc2JyYXVjaCBiZXdpZXNlbj8KV2VyIGRhcmYvbXVzcyBkZW4gQmV3ZWlzIHNlaGVuPyBIYXQgZGVyIFNwaWVsZXIgZWluZSBDaGFuY2UgenVyIFZlcnRlaWRpZ3VuZz8KTG9mZmlsZXMgZmFsbGVuIHVlYnJpZ2VuZHMgd2VnLCBkZW5uIHNvd2FzIGthbm4gbWFuIGZhZWxzY2hlbiAobXVlc3NlbiBkYW5uCm1pbmQuIDMgRU0gZ2xlaWNoemVpdGlnIGRlbiBTcGllbGVyIGluIEZsYWdyYW50aSBlcndpc2NoZW4/KQoKMykgQ2F0Kiwgd2VubiBpaHIgZGllc2UgUmVnZWx1bmcgZHVyY2hzZXR6ZW4gd29sbHQsIHdpZXNvIGtvbW1lbiBkYW5uCnplaXRnbGVpY2ggdm9uIGhvaGVyIE1hZ2llcnNlaXRlIEJlcnVoaWd1bmdlbiAoSm9mLCBSb2NodXMpLCBkYXNzIGRhcyBhbGxlcyBqYQpkb2NoIG5pY2h0IHNvIGVuZyBnZXNlaGVuIHdpcmQ/IElzdCBkYXMgbmljaHQgaW5rb25zZXF1ZW50PyBTZWl0IGlociBldWNoCnNlbGJlciBuaWNodCBlaW5pZz8KCjQpIFdlciBrb250cm9sbGllcnQgZGFzICJHcmVtaXVtL0dlcmljaHQiLCBkYXNzIGRpZSBFbnRzY2hlaWR1bmdlbiBmYWVsbHQ/CldpZSBrYW5uIG1hbiBXaWxsa3VlciB1bmQgU2NoaWthbmUgYWJzdGVsbGVuPyBXaWUga2FubiBtYW4gdmVyaGluZGVybiwgZGFzcwplaW4gU3BpZWxlciBnZWxvZXNjaHQgd2lyZCwgd2VpbCBzZWluZSBOYXNlIGRlbSBlaW4gb2RlciBhbmRlcmVuIE1hZ2llciBuaWNodApwYXNzdD8gV2llIGthbm4gbWFuIHZlcmhpbmRlcm4sIGRhc3MgU3BpZWxlciB3ZWl0ZXJza3JpcHRlbiBkdWVyZmVuLCB3ZWlsCnp1ZmFlbGxpZyBpcmdlbmRlaW4gRU0gZWluIGd1dGVyIEZyZXVuZCBpc3Q/CgoKRGFzIHNpbmQgc293ZWl0IGVyc3RtYWwgZWluZSBSZWloZSBpbnRlcmVzc2FudGVyIEZyYWdlbiB1bmQgaWNoIGhhYiBtaWNoIGVjaHQKYmVtdWVodCwgc2FjaGxpY2ggenUgYmxlaWJlbiAob2Rlcj8pCgogICAgICAgIFlhbnRybywgZGVyIGdlZ2VuIGFsbGUgUmVnZWxuIGlzdCwgZGllIGRhcyBNRyBsYWVjaGVybGljaCBtYWNoZW4uCgpQLlMuOiBTa3JpcHR0aXAgZGVyIFdvY2hlOiBTdGF0dCBlaW4gInNjaGF1IiBhbSBlbmRlIGRlcyBXZWdlcyBlaW4gImxhbmciIGltCnZvcmxldHp0ZW4gUmF1bS4uLiBkYXMgaXN0IGVybGF1YnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjcmlwdGU/IEludGVyZXNzYW50ISAoTGFpbGEsICAyLiBGZWIgMTk5NiwgMTA6MzY6MDIpOgpIYWxsbyBNdWRkZXIhCkljaCBoYWJlIGpldHp0IGVpbmUgZ2FuemUgV2VpbGUgZGllIERpc2t1c3Npb24gdWViZXIgZGllCm9taW5vZXNlbiBTY3JpcHRlIHZlcmZvbGd0LgoKRGEgaGF0IHNpY2ggYmVpIG1pciBkb2NoIGRpZSBGcmFnZSBnZXN0ZWxsdDoKTWVuc2NoLCBMYWlsYS4gV2FzIGlzdCBlaW4gU2NyaXB0IHVlYmVyaGF1cHQgdW5kIHdlbiBKYSBvZGVyCmRvY2ggbmljaHQsIHdpZSBzY2hyZWlidCBtYW4gc28gZWluIFRlaWwgdWViZXJoYXVwdC4KClVuZCBqZXR6dCBtYWwgYXVzIG1laW5lciBnYW56IHVuZXJmYWhyZW5lbiBQZXJzcGVrdGl2ZSBhdXM6Cldlbm4gZXMgZG9jaCBzb29vIFZlcmJvdGVuIGlzdCBTY3JpcHRlIHp1IHNjaHJlaWJlbiwgV0FSVU0KZ2lidCBlcyBkYW5uIHVlYmVyaGF1cHQgZGllIE1PRUdMSUNIS0VJVCBkaWUga29lbWlzY2hlbiBEaW5nZXIKdWViZXJoYXVwdCB6dSBiZW51dHplbi4KU2NobGllc3NsaWNoIGthbm4gaWNoIG5pZW1hbmRlbiBlaW5lbiBUYXNjaGVucmVjaG5lciBnZWJlbiB1bmQKZGFubiB2b20gaW0gdmVybGFuZ2VuIGVyIHNvbGxlIGRpZSBXdXJ6ZWwgdm9uIDUyMzQzMiBwZXIgSGFuZAphdXNyZWNoZW4uCgpPSywgamV0enQgaGFiZSBhdWNoIGljaCBhcm1lciBrbGVpbmVyIFd1cm0gbWVpbmVuIEtldGNodXAgZGF6dSBnZWdlYmVuCmFiZXIgbWFjaHQgZG9jaCB3YXMgaWhyIHdvbGx0LgpTb2xhbmdlIG1pY2gga2VpbmVyIGFtIE11ZGRlbiBoaW5kZXJ0IGJpbiB0cm90emRlbSBpbW1lciBub2NoIGVpbiBrbGVpbmVyCnZlcmdudWVndGVyIEhvYmJpdCwgZGVyIHNlaHIgdmllbCBTcGFzcyBtaXQgYWxsIHNlaW5lbiBGcmV1bmRlbiBpbSBNRyBoYXQKCkxhaWxhLCBkZXIgSG9iYml0IGRlciBlaW5lIFdlaWxlIGltIEtyZWlzZSB0YW56dCB1bmQgc2ljaCBlaW5lbiBncmluc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoUHJhLCAgMi4gRmViIDE5OTYsIDExOjQzOjI5KToKfiMhIHJuPUZ5dCBydD04MjMyMTU3NzAKfiMhIHRpZD04MjMyMTU3NzAKTWVuc2NoIEZ5dCwgc29ycnksIEVsZiBGeXQhCgpEdSBoYXN0IGluIGRlaW5lbSBlbGxlbmxhbmdlbiBBcnRpa2VsIERFTiBQdW5rdCB2ZXJwYXNzdCwgdW0gZGVuIGVzIGluIGRlbQpTa3JpcHR2ZXJib3QgZ2VodDogbmFlbWxpY2ggQ0hBTkNFTkdMRUlDSEhFSVQgZnVlciBTcGllbGVyLCBkaWUgdWViZXIgdGYKby5hZS4KbXVkZGVuIHVuZCBmdWVyIFNwaWVsZXIsIGRpZSBLRUlORU4gU2NyaXB0ZmFlaGlnZW4gQ2xpZW50IGJlbnV0emVuLgoKTGFzcyBkaXIgZGllc2VzIEFyZ3VtZW50IG1hbCBkdXJjaCBkZWluZW4gc2Nob2VuZW4gS29wZiBnZWhlbi4KClByYQoKUC5TLiBTdGVsbHQgZXVjaCB2b3IsIGVzIGdpYnQgTGV1dGUsIGRpZSBoYWJlbiBuaWNodCBkaWUgTW9lZ2xpY2hrZWl0IHp1CiAgc2tyaXB0ZW4uIEphLCBkaWUgZ2lidCBlcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoWWVuZGksICAyLiBGZWIgMTk5NiwgMTI6MzU6NTkpOgp+IyEgcm49Rnl0IHJ0PTgyMzIxNTc3MAp+IyEgdGlkPTgyMzIxNTc3MApGeXQsIERlaW4gQXJ0aWtlbCB3YXIgaW4gc2VpbmVyIGR1bXBmZW4gUG9sZW1payB3aXJyIHVuZCBpbmRpc2t1dGFiZWwuCkRhc3MgRHUgaGludGVyaGVyIGZ1ZXIgZWJlbmRpZXNlIHVtIEVudHNjaHVsZGlndW5nIGJpdHRlc3QsIGFuc3RhdHQgZGVuCmdlc2FtdGVuIEFydGlrZWwgYXVmIEVpcyB6dSBsZWdlbiB1bmQgbmFjaCBlaW5lciBNdWV0emUgU2NobGFmIGluIFJ1aGUKenUgdWViZXJhcmJlaXRlbiwgc2V0enQgZGVtIEdhbnplbiBkaWUgU3BpdHplIGF1Zi4KClVtIGF1ZiBlaW5pZ2UgUHVua3RlIERlaW5lcyBBcnRpa2VscyBpbSBlaW56ZWxuZW4gZWluenVnZWhlbjoKSWNoIGhhYmUgbWljaCBuaWUgYWxzIEFsaWJpc3BpZWxlciB2ZXJzdGFuZGVuLCB1bmQgUnpuZSB3aXJkIERpY2ggdmVybXV0bGljaAplaW5mYWNoIGF1c2xhY2hlbiwgd2VubiBEdSBpaG4gYWxzIEFsaWJpc2VoZXIgdGl0dWxpZXJzdC4KVW5kIHdlbm4gRHUgc2NocmVpYnN0LCBkYXNzIERlaW5lIFNjcmlwdGVyZWksIGRpZSBtaWNoIHNjaG9uIGluIGRlbiBBbmZhZW5nZW4KZGVyIEthcmF0ZWdpbGRlIGdlbmVydnQgaGF0LCBqYSBlaWdlbnRsaWNoIG5pY2h0cyB3ZWl0ZXIgZ2V3ZXNlbiBzZWkgYWxzIGRlcgpWZXJzdWNoLCBkZXIgQWxsZ2VtZWluaGVpdCB6dSB2ZXJtaXR0ZWxuLCBkYXNzIFNjcmlwdGUgZGVtIE1HIGFidHJhZWdsaWNoCnNpbmQsIGRhbm4gaGFsdGUgaWNoIGRhcyBmdWVyIHBsdW1wZSBBdWdlbndpc2NoZXJlaS4KCgpZZW5kaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxvZ2lzY2g/Pz8gKEtyZXRlaywgIDIuIEZlYiAxOTk2LCAxMzozODoyOSk6Clp1ciBTa3JpcHRkaXNrdXNzaW9uIGVpbiBiZXNjaGVpZGVuZXIgQmVpdHJhZyB2b24gbWlyOgpXZW5uIFNjcmlwdGUgaGllciBzY2hvbiB1bmVyd3VlbnNjaHQgYnp3LiBuZXVlcmRpbmdzIHNvZ2FyIHZlcmJvdGVuIHNpbmQsCndhcnVtIGthbm4gbWFuIHNpZSBkYW5uIGltbWVyIG5vY2ggZ2FueiBlaW5mYWNoIHZvbSBNRy1GVFAgaG9sZW4/CgoyNTcgIi9vcGVuL1NvZnR3YXJlL0NsaWVudHMiIGlzIGN1cnJlbnQgZGlyZWN0b3J5LgpmdHA+IGRpcgoyMDAgUE9SVCBjb21tYW5kIHN1Y2Nlc3NmdWwuCjE1MCBPcGVuaW5nIEFTQ0lJIG1vZGUgZGF0YSBjb25uZWN0aW9uIGZvciBmaWxlIGxpc3QuCi1ydy0gTk9CT0RZICAgICAgc3lzICAgICAgICAgICAyMjkgMTIuIEp1biwgMTg6NDQgX3Rpbnl0YWxrCi1ydy0gTk9CT0RZICAgICAgc3lzICAgICAgICAgNTUwMDAgMTEuIE9rdCAxOTk0ICAgcGxheW11ZC5saGEKLXJ3LSBOT0JPRFkgICAgICBzeXMgICAgICAgIDMzMDIzMCAxNi4gT2t0LCAxODoyNyB0Zi0zNWExMy50YXIuZ3oKLXJ3LSBOT0JPRFkgICAgICBzeXMgICAgICAgIDI3MDA5MyAyMy4gSmFuLCAwMDowNyB0Zi0zNWExNC50YXIuZ3oKCjIyNiBUcmFuc2ZlciBjb21wbGV0ZS4KMjU1IGJ5dGVzIHJlY2VpdmVkIGluIDAuMDAzMyBzZWNvbmRzICg3NSBLYnl0ZXMvcykKCgpNaXQgYW5kZXJlbiBXb3J0ZW46IFdlbm4gaWNoIGV0d2FzIHZlcmJpZXRlLCBpc3QgZXMgenVtaW5kZXN0IGFldXNzZXJzdAplaWdlbi0KYXJ0aWcsIGRpZSBub2V0aWdlbiBUb29scyB6dW0gIlN1ZW5kaWdlbiIgZ2xlaWNoIGF1Y2ggbm9jaCBzZWxiZXIgenVyClZlcmZ1ZWd1bmcgenUgc3RlbGxlbi4KCgpLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2dpc2NoPz8/IChZYW50cm8sICAyLiBGZWIgMTk5NiwgMTM6NDc6NDYpOgp+IyEgcm49S3JldGVrIHJ0PTgyMzI2NDcwOQp+IyEgdGlkPTgyMzI2NDcwOQoKSWNoIHNlaCBkYSBlaW5lbiBnZXdhbHRpZ2VuIFVudGVyc2NoaWVkIHp3c2ljaGVuIGRlciBncnVuZHNhZXR6bGljaGVuIE51dHp1bmcKdm9uIFRGIHVuZCBkZXIgQW53ZW5kdW5nIHZvbiBTa3JpcHRlbi4gVEYgaXN0IG51IG1hbCBlaW4gTXVkQ2xpZW50IHVuZCBlciBrYW5uCm5pY2h0IE5VUiBkYXp1IGdlbnV0enQgd2VyZGVuLCB1bSBzaWNoIE1hY3JvcyB6dSBtYWNoZW4sIHNvbmRlcm4gYXVjaCwgdW0gZWluZQp2ZXJudWVtZnRpZ2UgSGlzdG9yeSB6dSBoYWJlbiwgRmFyYmhpbGl0ZXMgenUgbnV0emVuIG9kZXIgZWluZmFjaCB1bSBlaW5lbgpnZXRyZW5udGVuIEVpbmdhYmVzY2hpcm0genUgaGFiZW4uLi4gVEYgaXN0IG1hZWNodGlnIHVuZCBrYW5uIG1pc3NicmF1Y2h0CndlcmRlbiwgbXVzcyBhYmVyIG5pY2h0LgoKICAgICAgICAgICAgICBZYW50cm8gKHNjaHJlaWJ0IGZhc3Qgc28gdmllbCB3aWUgQm9pbmcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChGeXQsICAyLiBGZWIgMTk5NiwgMTM6NDg6MTMpOgp+IyEgcm49UHJhIHJ0PTgyMzI1NzgwOQp+IyEgdGlkPTgyMzIxNTc3MApOZWluLCBQcmEsIGltIEdlZ2VudGVpbCwgd2VubiBEdSBtZWluZW4gQXJ0aWtlbCByaWNodGlnIGxpZXN0LCB3aXJzdCBEdQpmZXN0c3RlbGxlbiwgZGFzcyBpY2ggdmVyc3VjaGUsIGRpZSBTY3JpcHRlcmVpIHp1IGJla2FlbXBmZW4sIGluIGRlbSBpY2gKaWhyIGRpZSBVcnNhY2hlbiBuZWhtZS4gRGFzIHNjaGxpZXNzdCBuYXR1ZXJsaWNoIEtyaXRpayBhbiBkZXIKZ2VnZW53YWVydGlnIHByYWt0aXppZXJ0ZW4gTWV0aG9kZSBkZXMgVmVyYmlldGVucyBkZXIgRXJzY2hlaW51bmcKbWl0IGVpbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2dpc2NoPz8/IChXYXJnb24sICAyLiBGZWIgMTk5NiwgMTM6NDg6NTYpOgp+IyEgcm49S3JldGVrIHJ0PTgyMzI2NDcwOQp+IyEgdGlkPTgyMzI2NDcwOQogIEhpIQpNaXQgVEYgbGFzc2VuIHNpY2ggbWVociBTYWNoZW4gbWFjaGVuIGFscyBudXIgZGllIGluIGRlciBTa3JpcHRkZWZpbml0aW9uCmVyd2FlaG50ZW4uClNjaGxpZXNzbGljaCBoYXQgbmllbWFuZCBldHdhcyBkYWdlZ2VuLCB3ZW5uIG1hbiBzaWNoIGRpdmVyc2UgTWVsZHVuZ2VuCmZhcmJsaWNoIHVudGVybGVndCBvZGVyIGRhcyBHZXNhYmJlbCBlaW5lcyBBbmR5IG9kZXIgT21iYXRpcyBwZXIgL2dhZyBlaW5mYWNoCnVlYmVyaG9lcnQuCkVyc3QsIHdlbm4gZWluZSBTcGllbGFrdGlvbiBlaW5lIG9kZXIgbWVocmVyZSB3ZWl0ZXJlIFNwaWVsYWt0aW9uKGVuKQphdXRvbWF0aXNjaCBhdXNsb2VzdCwgZmFlbGx0IGRhcyB1bnRlciBkaWUgU2tyaXB0ZGVmaW5pdGlvbi4KQXVzc2VyZGVtIGJyYXVjaGUgaWNoIHp1bSBTa3JpcHRlbiBrZWluIFRGOiBXZW5uIGljaCBtaXIgZWluCkhhY2snbidTbGF5LVNrcmlwdCB6dW0gYXV0b21hdGlzY2hlbiBMZWVyZW4gZGVyIFNjaHJlY2tlbnNwaXR6ZSBhbHMgbm9ybWFsZQpUZXh0ZGF0ZWkgc2NocmVpYmUgdW5kIGRpZSBkYW5uIGluIG1laW4gdGVsbmV0LUZlbnN0ZXIgcGFzdGUsIGlzdCBkYXMgZ2VuYXUgc28KdmVyYm90ZW4uCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChGeXQsICAyLiBGZWIgMTk5NiwgMTM6NDk6NTEpOgp+IyEgcm49WWVuZGkgcnQ9ODIzMjYwOTU5Cn4jISB0aWQ9ODIzMjE1NzcwCgpUamEsIFllbmRpLiBFcyBnaWJ0IGFiZXIgWmV1Z2VuLCBkZW5lbiBpY2ggc2Nob24gaW4gZGVtIE1vbWVudCwgYWxzCmljaCBhbmdlZmFuZ2VuIGhhYmUsIHp1IHNjcmlwdGVuLCBnZXNhZ3QgaGFiZSwgd2FydW0gaWNoIGVzIHR1ZSwgZXMKaXN0IGFsc28ga2VpbmUgQXVnZW53aXNjaGVyZWkgaW0gTmFjaGhpbmVpbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKFJvZXN0aSwgIDIuIEZlYiAxOTk2LCAxMzo1MToxNyk6Cn4jISBybj1QcmEgcnQ9ODIzMjU3ODA5Cn4jISB0aWQ9ODIzMjE1NzcwCkphIGRpZSBnaWJ0IGVzLi4uCkljaCBiZW51dHplIGF1Y2gga2VpbiBlaW56aWdlcyBTY3JpcHQuVHJvdHpkZW0gZ29lbm5lIGljaCBkZW5lbiBkaWUgZWlucwpCZW51dHplbiBpaHIgc2NyaXB0LgpJY2ggYmVzY2h3ZXJlIG1pY2ggamEgYXVjaCBuaWNodCBkYXMgZXMgTGV1dGUgZ2lidCBkaWUgZnVlcnMgTXVkZGVuIFphaGxlbgptdWVzc2VuIHVuZCBhbmRlcmUgbmljaHQuCldvIGJsZWlidCBkZW5uIGRhIGRpZSBDaGFuY2VuZ2xlaWNoaGVpdD8KV2VubiBpY2ggbml4IHphaGxlbiBtdXNzIGthbm4gaWNoIGV3aWdrZWl0ZW4gZGFtaXQgdmVyYnJpbmdlbiBtaWNoIHp1CnVudGVyaGFsdGVuICwgcnVtenVpZGVsbiAsIHp1IHVlYmVuICggQ2hhcmF0ZWthICwgWmF1YmVyc3BydWVjaGUgKSBvZGVyIHdlaXMKZGVyIGdlaWVyIHdhcyBub2NoLgpBbHMgVGVsZWtvbSAtIEt1bmRlIFNpZWh0IG1hbiBkYXMgZG9jaCBldHdhcyBhbmRlcnM6CgpXbyBibGVpYnQgaGllciBhbHNvIGRpZSBDaGFuY2VuZ2xlaWNoaGVpdD8KQmlldGVuIHdpciBkZXNoYWxiIGFsbGVuIFRlbGVrb20tS3VuZGVuIGVpbmUgZnJlaWUgTXVkbGVpdHVuZyBhbj8Kb2RlciB2ZXJiaWV0ZW4gd2lyIGRlc2hhbGIgYWxsZW4gVW1zb25zdC1NdWRkZXJuIHp1IG11ZGRlbj8KRG9jaCB3b2hsIGthdW0uLi4KCkljaCB3ZWlzIG5pY2h0IHdhcyBkYXMgYWxsZXMgbWl0IGNoYW5jZW5nbGVpY2hoZWl0IHp1IHR1biBoYWJlbiBzb2xsLgoKUm9lc3RpIHN0aW5rdCBkaWUgZ2VzYW1tdGUgRGlza3Vzc2lvbi5Tb2xsZW4gZGllIFJNIGRvY2ggbWFjaGVuIHdhcyBzaWUKd29sbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChSeW5lLCAgMi4gRmViIDE5OTYsIDEzOjUzOjExKToKfiMhIHJuPUZ5dCBydD04MjMyMTU3NzAKfiMhIHRpZD04MjMyMTU3NzAKT2ssIG51dHplbiB3aXIgbWFsIGRlbiBrb25zdHJ1a3RpdmVuIEFuc2F0eiBpbiBEZWluZW0gQXJ0aWtlbDoKCkR1IGJpZXRlc3QgZGEgZGl2ZXJzZSBBbnNhZXR6ZSwgd28gZHVyY2ggYmlzaGVyIHVubm9ldHRpZ2Ugb2RlciB1bnNpbm5pZ2UKUmVnZWx1bmdlbiBkYXMgc2NyaXB0ZW4gcXVhc2kgJ25vZXRpZycgd2FyLCB1bSBpbiBha3plcHRhYmxlciBaZWl0IGRhcyBaaWVsIHp1CmVycmVpY2hlbi4gTmFjaCBEZWluZXIgTWVpbnVuZyBsaWVzc2VuIHNpY2ggZGllIHNjcmlwdGUgZGVtbmFjaCB1bmF0dHJha3RpdgptYWNoZW4sIGluZGVtIG1hbiBkaWUgQW5mb3JkZXJ1bmdlbiBzZW5rdCwgei5CLiBiZWltIEVybGVybmVuIHZvbiBTcHJ1ZWNoZW4gaW4KZGVyIEthcmF0ZWdpbGRlLiBGcmFnZSBtZWluZXJzZWl0czogV2llc28gc29sbHRlbiBmYXVsZSBTcGllbGVyIGRhbm4gbmljaHQKZGVubm9jaCBkaWUgLSBudW5tZWhyIGxlaWNodGVyIGVybGVybmJhcmVuIFNwcnVlY2hlIC0gYXVjaCBwZXIgU2tyaXB0IHVlYmVuID8KCkdsZWljaGVzIGdpbHQgZnVlciBFUC4gSWNoIGdsYXViZSwgamVkZXMgUm9sbGVuc3BpZWwgYmVydWh0IGluIGlyZ2VuZGVpbmVyCkZvcm0gYXVmIGVpbmVtIFN0dWZlbnN5c3RlbS4gV2llIGF1Y2ggaW1tZXIgZGllIEFuZm9yZGVydW5nZW4gYW4gc29sY2hlIFN0dWZlbgphdXNzaWVodCwgZGllIFNwaWVsZXIgd2VyZGVuIGltbWVyIGVpbmUgTW9lZ2xpY2hrZWl0IGhhYmVuLCBkaWVzZSBtaXR0ZWxzCmVpbmVzIHNjcmlwdHMgenUgZXJyZWljaGVuICh3YXMgZWluIGd1dGVzIFNrcmlwdCBrYW5uLCB3aXNzZW4gd2lyIGphCm1pdHRsZXJ3ZWlsZSkuCgpJY2ggYmV6d2VpZmxlLCBkYXNzIER1IGlyZ2VuZWluZW4gVm9yc2NobGFnIG1hY2hlbiBrYW5uc3QsIHdvIHNjcmlwdHNwaWVsZW4KdW5tb2VnbGljaCB1bmQgaW4ga2VpbmVyIFdlaXNlIGZ1ZXIgJ2ZhdWxlIFNwaWVsZXInIGF0dHJha3RpdiBpc3QuCgpEZW1uYWNoIGJsZWlidCBkaWUgZWluemlnZSBNb2VnbGljaGtlaXQsIGRhcyBTa3JpcHRlbiB6dSB2ZXJiaWV0ZW4sIHVuZCBiZWkKZGV1dGxpY2hlbiBWZXJzdG9lc3NlbiBlYmVuIGF1Y2ggbWFsIGR1cmNoenVncmVpZmVuLgoKSWNoIGJpbiBqZWRlbmZhbGxzIGdlc3Bhbm50LCB3aWUgc2ljaCBkYXMgc3BpZWxlbiBmdWVyIHVucyBhbGxlLCB1bmQgYXVjaAptaWNoIHBlcnNvZW5saWNoIChkYSBpY2ggamEgYXVjaCBpbiBlaW5pZ2VuIEJlcmVpY2hlbiAoSHlkcmEpIGdlcm5lIHBlciBTa3JpcHQKZ2VzcGllbHQgaGFiZSkgdmVyYWVuZGVybiB3aXJkLiBFaW5lIEFlbmRlcnVuZyB6dW0gbmVnYXRpdmVuIHdpcmQgZXMKc2ljaGVybGljaCBuaWNodCBzZWluLgoKUnluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoQm9pbmcsICAyLiBGZWIgMTk5NiwgMTQ6MDI6MDcpOgp+IyEgcm49UnluZSBydD04MjMyNjU1OTEKfiMhIHRpZD04MjMyMTU3NzAKSWNoIGhhYmUgbWljaCB2b3IgZWluIHBhYXIgVGFnZW4gbGFuZ2UgbWl0IEZ5dCB1bnRlcmhhbHRlbiwgZXMgZ2lidCBlaW5pZ2UKTW9lZ2xpY2hrZWl0ZW4gZGFzIHNjcmlwdGVuIHVuaW50ZXJlc3NhbnQgenUgbWFjaGVuLiBEaWUgSWRlZW4gc2luZCBub2NoCmltIFJvaGVudHd1cmYsIGluc29mZXJuIG1hY2h0IGVzIGtlaW5lbiBTaW5uIHNpZSBzY2hvbiB6dSB2ZXJvZWZmZW50bGljaGVuLApqZWRvY2ggYmluIGljaCBkZW4gdm9uIEZ5dCAodW5kIGFuZGVyZW4gYW4gZGVyIERpc2t1c3Npb24gQmV0ZWlsaWd0ZW4pCmdlbWFjaHRlbiBWb3JzY2hsYWVnZW4gZ2VnZW51ZWJlciBvZmZlbiB1bmQgaGFsdGUgc2llIGZ1ZXIgZHVyY2hmdWVocmJhci4KRGllIFZvcnNjaGxhZWdlIGhhdHRlbiBhdWYgamVkZW4gRmFsbCBrZWluZSBTZW5rdW5nIGRlciBBbmZvcmRlcnVuZ2VuCnp1bSBaaWVsIHNvbmRlcm4gbnVyIGVpbmUgQWVuZGVydW5nIC0gd2VnIHZvbSBzY3JpcHQtdGF1Z2xpY2hlbiBoYWx0LgpJY2ggaG9mZmUgZGFyYXVzIHdpcmQgd2FzLCBhYmVyIG1hbiBtdXNzIG1hbCBhYndhcnRlbi4KCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKFNudWdnbGUsICAyLiBGZWIgMTk5NiwgMTQ6NDk6NTApOgp+IyEgcm49UnluZSBydD04MjMyNjU1OTEKfiMhIHRpZD04MjMyMTU3NzAKV2lyZCBqZXR6dCBhdWNoIGRpZSBIeWRyYSB3aWVkZXIgc2Nod2FlY2hlciBnZW1hY2h0PwoKYXVjaCBtYWwgbiBwZmVubmlnClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKEFzbW9kaXMsICAyLiBGZWIgMTk5NiwgMTY6MDY6MTYpOgp+IyEgcm49WWVuZGkgcnQ9ODIzMjYwOTU5Cn4jISB0aWQ9ODIzMjE1NzcwCkljaCBtdXNzIHp1Z2ViZW4sIGRhc3MgZXMgbWljaCBhdWNoIGdlbmVydnQgaGF0dGUsIHdlbm4gamVtYW5kIGlubmVyaGFsYiB2b24KMSBNaW51dGUKMzAgTWFsIGR1cmNoIGRlbiBSYXVtIGhldHp0ZSwgaW4gZGVtIGljaCBtaWNoIGdlcmFkZSBiZWZhbmQsIHdhcyBuYXR1ZXJsaWNoCmtlaW5lClJlY2h0ZmVydGlndW5nIGlzdCBmdWVyIGRpZXNlIGRyYXN0aXNjaGVuIE1hc3NuYWhtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoQXNtb2RpcywgIDIuIEZlYiAxOTk2LCAxNjoxNDoyNCk6Cn4jISBybj1GeXQgcnQ9ODIzMjY1MjkzCn4jISB0aWQ9ODIzMjE1NzcwCkljaCBtdXNzIHp1Z2ViZW4sIGRhc3MgaWNoIG5lcnZlbmRlIHVuZCBzdHVwaWRlIFNjcmlwdHMgYXVjaCBwZXJzb2VubGljaApiZWthZW1wZmUuIE1laXN0ZW5zIG1pdCBFcmZvbGcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChBc21vZGlzLCAgMi4gRmViIDE5OTYsIDE2OjE2OjM1KToKfiMhIHJuPVJvZXN0aSBydD04MjMyNjU0NzcKfiMhIHRpZD04MjMyMTU3NzAKV2VubiB3aXIgc2Nob24gdm9uIENoYW5jZW5nbGVpY2hoZWl0IHJlZGVuLCBnZWJ0IGRlbiBNdWVuc3RlcmFuZXJuIGRvY2gKZWluIGt1ZW5zdGxpY2hlcyBOZXRMQUcsIG9kZXIgdmVyYmlldGV0IG51ciBpaG5lbiBkYXMgc2NyaXB0ZW4uCkVzIGlzdCBkZXByaW1pZXJlbmQsIHdpZSBzaWUgaW4gSG9jaHplaXRlbiBhbiBlaW5lbSB2b3JiZWlzcHJpbnRlbiwKbWFuIHNlbGJzdCBhYmVyIGthdW0gdm9yd2FlcnRza29tbXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoQXNtb2RpcywgIDIuIEZlYiAxOTk2LCAxNjozMDozNSk6Cn4jISBybj1CZW5kZWlnaWQgcnQ9ODIzMjc0NTc1Cn4jISB0aWQ9ODIzMjE1NzcwCkFlaCwgaWNoIHZlcnN0ZWggZGVpbmVuIEJlenVnIHp1IG1laW5lbSBBcnRpa2VsIG5pY2h0LCBkYXMgd2FyCm5hdHVlcmxpY2ggTUlUIFdlZ2VzY3JpcHQgZ2VtZWludCwgZGEgc2NoYWZmdCBtYW4gbWl0dGFncyBtZWlzdGVucwphdWNoIG51ciA0IGJpcyA1IHJhZXVtZSBwcm8gbWludXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2luZCBsYW5nZSBLbnVkZGVsbWF1c2FsaXMgZXJ3dWVuc2NodD8gKENoZWFzeSwgIDIuIEZlYiAxOTk2LCAxODoxNTozOCk6Cn4jISBybj1Eb2xwaCBydD04MjMyMDYxNDEKfiMhIHRpZD04MjMyMDYxNDEKSG1tLCBEb2xwaCwgTmFtZW4gZHVlcmZlbiBydWhpZyBnZW5hbm50IHdlcmRlbi4uLiBpY2ggd2FyJ3MgZGVyIHNpY2ggYmVpIGRpcgpiZXNjaHdlcnQgaGF0LiBNZWlzdCBtYWcgaWNoIGRpZSBkaW5nZXIgamEsIGFiZXIgRHUgaGFzc3QgbWljaCBsZWlkZXIKdW5ndWVuc3RpZyBlcndpc2NodDogTWl0dGVuIGJlaW0gQWRsZXIga2lsbGVuIGluIFRlbG5ldCBpc3Qgc293YXMgZ2FybmV0Cmx1c3RpZywgd2VpbCBlaW5lbSBkYW5uIGRlciB1ZWJlcmJsaWNrIHVlYmVyIGRlbiBTdGVpbnZvcnJhdCB2ZXJsb3JlbiBnZWh0Li4uCnVuZCBkZWluIE1hY3JvIGhhdHQgc2Nob24gZWluIHBhYXIgWmVpbGVuIG1laHI6IGtuYXBwIDEwLCBnZW5hdSBrb2VubnQgaWNoJ3MKamEgaW0gbG9nIG5hY2hzY2hhdWVuLgpNZWluZXIgTWVpbnVuZyBuYWNoIHNvbGx0ZSBtYW4gc2ljaCBiZWkga251ZGRlbC0gdW5kIHNvbnN0aWdlbgptaXR0ZWlsdW5ncy1hbGlzIGF1ZiBad2VpIHp3ZWlsZW4gYmVzY2hyYWVua2VuIChqYWphLCBpY2ggaGFsdCBtaWNoIGF1Y2gKbWFuY2htYWwgbmljaHQgZHJhbiA6KSApLgpGYXppdDogRGVpbmUgTWFrcm9zIHNpbmQgT0ssIGFiZXIgdmVyZ2V3aXNzZXIgZGljaCBkYXNzIGRlciBlbXBmYWVuZ2VyIG5ldApncmFkIHJ1bWtsb3BwdC4KCi1DaGVhc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChSYWZmaSwgIDIuIEZlYiAxOTk2LCAxODozNjowOCk6Cn4jISBybj1CZW5kZWlnaWQgcnQ9ODIzMjc0NTc1Cn4jISB0aWQ9ODIzMjE1NzcwCgpOYWNoIGRlaW5lbiBBdXNmdWVocnVuZ2VuIEJlbmRlaSogKHVuZCBKb2ZzKSB3ZWlzcyBpY2ggbm9jaCB2aWVsIHdlbmlnZXIKd29mdWVyIGRpZXNlcyBTdHVjayBLbG9wYXBpZXIgdWViZXJoYXVwdCBwcm9kdXppZXJ0IHd1cmRlLgoKPiBBdXNzZXJkZW0gYnJhdWNoZSBpY2ggenVtIFNrcmlwdGVuIGtlaW4gVEY6IFdlbm4gaWNoIG1pciBlaW4KPiBIYWNrJ24nU2xheS1Ta3JpcHQgenVtIGF1dG9tYXRpc2NoZW4gTGVlcmVuIGRlciBTY2hyZWNrZW5zcGl0emUgYWxzCj4gbm9ybWFsZSBUZXh0ZGF0ZWkgc2NocmVpYmUgdW5kIGRpZSBkYW5uIGluIG1laW4gdGVsbmV0LUZlbnN0ZXIgcGFzdGUsCj4gaXN0IGRhcyBnZW5hdSBzbyB2ZXJib3Rlbi4KCkxpZWJlciBXYXJnb24gLSBkYXMgbW9lY2hldGUgaWNoIG1hbCBzZWhlbiAtIGljaCBoYWIgZWluaWdlcyBwcm9iaWVydCwgZGEgaWNoCmVpbmZhY2gga2VpbmVuIFRGIGxhdWZlbiBsYXNzZW4ga2FubiwgYWJlciBzb3dhcyBoYWIgaWNoIG5pY2h0Cnp1c2FtbWVuZ2VicmFjaHQgLSBhdXNzZXIgZWluZW0gJ3RvZXRlIHp3ZWloYXVwdCcgYW0gZW5kZSBlaW5lcyB3ZWdlcyBpc3QgYXVjaApuaXggYW5kZXJlcyBtb2VnbGljaC4gRWluIEgmUyB6dW0gbGVlcmVuIGRlciBTU1AgLSByb3RmbCEKClNlbGJzdCB3ZWdlc2NyaXB0cyBzaW5kIG1pdCBFaW5mdWVnZW4gaW5zIFRlbG5ldGZlbnN0ZXIgaW1tZXJub2NoIHJlY2h0CnVuc2ljaGVyICh3byBiaW4gaWNoIHNjaG9uIGFsbGVzIHJhdXNnZWtvbW1lbiEpLCBkYSBlcyBrZWluZXJsZWkgbW9lZ2xpY2hrZWl0CmdpYnQgZGVuIGFibGF1ZiB6dSBzdGV1ZXJuIC0gaGFiIHNjaG9ubWFsIHVlYmVyIDIgTWludXRlbiBoaWxmbG9zIHp1c2NoYXVlbgptdWVzc2VuIHdpZSBkaWUgUmF1YmVyIGFsbGVzIGRhcmFuZ2VzZXR6dCBoYWJlbiBtaWNoIHp1IExhcnN5IHp1IHNjaGlja2VuISBEYQpnZWh0IGRhbm4gZ2Fybml4IG1laHItIG1hbiBrYW5uIGtlaW5lbiBCZWZlaGwgbWVociBlaW5nZWJlbiwgZ2FybmljaHRzICEKCkFsc28gc2VpIHNvIGd1dCB1bmQgc3BhYXIgZGlyIHNvbGNoIGxhZXNzKHQpaWdlIFNwcnVlY2hlLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChDdWNodWxsaW4sICAyLiBGZWIgMTk5NiwgMTg6NDQ6MDYpOgp+IyEgcm49UmFmZmkgcnQ9ODIzMjgyNTY4Cn4jISB0aWQ9ODIzMjE1NzcwCgoKV2llIHdhZXJlIGVzLCB3ZW5uIGpldHp0IGFsbGUgbWFsIGVpbmUgV29jaGUgUnVoZSBnZWJlbiB1bmQgc2ljaCBkZW4KSGFzcy1BcnRpa2VsIGF1ZiBDYXR3ZWF6bGUgZnVlciBuYWVjaHN0ZSBXb2NoZSBhdWZzcGFyZW4/CkljaCBmaW5kZSBkaWUgSWNoLXdpbGwtYXVjaC1uZS1NZWludW5nLXVuZC1pY2gtaGFiZS1yZWNodC1BcnRpa2VsIGV0d2FzCnNpbm5sb3MuIERpZSBMZXV0ZSwgZGllIGFsbGUgQXJ0aWtlbCBub2NoIGdlbmF1IGxlc2VuLCBtdWVzc2VuIGVzIGVudHdlZGVyCihpY2ggZGVua2UgbWFsLCBkYXNzIENhdCogbmljaHQgZHJ1bXJ1bWtvbW10KSBvZGVyIG11ZXNzZW4gc2ljaCBkYXp1IHp3aW5nZW4uCgpBdWYgZGllIFNjaG5lbGxlIHdpcmQgc293aWVzbyBuaXggZ2VhZW5kZXJ0LCBkZXIgRW50c2NoZWlkdW5nc3Byb3plc3MKaW4gZGVuIE1hZ2llcnJpZWdlbiBkYXVlcnRlIHppZW1saWNoIGxhbmdlLgoKTWFjaHdlcmssIE1laW51bmcsIE11ZWxsLApDdWNoLi0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoQXNtb2RpcywgIDIuIEZlYiAxOTk2LCAxODo1MjoyOSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9ODIzMjgzMDQ2Cn4jISB0aWQ9ODIzMjE1NzcwCkpvLCBpc3QgYXVjaCBtZWluZSBNZWludW5nLCB3YXJ0ZXQsIGJpcyBkZXIgZXJzdGUgU3BpZWxlciBiZXN0cmFmdAp3aXJkLCBkYW5uIGtvZW5uZW4gd2lyIHdlaXRlcm1lY2tlcm4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhdXNlIChHdXlicnVzaCwgIDIuIEZlYiAxOTk2LCAxODo1ODozOSk6Cn4jISBybj1Kb2YgcnQ9ODIzMTc4OTI4Cn4jISB0aWQ9ODIzMTc1MzQ2CmhtIEpvZiBpcyBlcnJlZ3QsIHdlbm4gZXIgc2Nob24gSmlmIHNjaHJlaWJ0IDopCkd1emJydXRzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKE5peGlob3UsICAyLiBGZWIgMTk5NiwgMTk6Mjc6MDQpOgp+IyEgcm49UHJhIHJ0PTgyMzI1NzgwOQp+IyEgdGlkPTgyMzIxNTc3MApobW0sIG9rIGljaCBnZWIgbWVpbmVuIHNlbmYgaGllcnp1IG1hbCBhYiwgb2huZSBkZW4gcmVzdCBkZXIgbXBhIGdlbGVzZW4genUKaGFiZW4hCgp2b3JzaWNodGlnIGF1c2dlZHJ1ZWNrdCBtZWluZSBpY2ggenVtIHRoZW1hIGNoYW5jZW5nbGVpY2hoZWl0IGZvbGdlbmRlczoKICAgICB3ZW5uIGRpZSBtYWdpZXIgbmljaHQgaW1tZXIgd2VpdGVyIFdldHRydWVzdGVuIHd1ZXJkZW4KICAgICAoYnp3LiB3ZW5uIHNpZSBlcyBuaWNodCBnZXRhZW4gaGFldHRlbiwga2FubiBqYSBzZWluIGRhc3Mgc2llIGVzIG5pY2h0CiAgICAgIG1laHIgdHVlbiksICBkYW5uIHdhZXJlIGphIGF1Y2gga2VpbiBncm9zc2VyIHZvcnRlaWwgYXVzIHNrcmlwdGVuIHp1CiAgICAgIHppZWhlbi4gbnVyIHRhdWNoZW4gaW1tZXIgaGFldWZpZ2VyIG1vbnN0ZXIvc2l0dHVhdGlvbmVuIGF1ZiwgYmVpCiAgICAgIGRlbmVuICJoYXJ0ZSIgbWV0emVsLXRhbmstd2VpdGVybWV0emVsIHNjcmlwdGUgdW51bWdhZW5nbGljaCBzaW5kLAoKICAgICB3ZW5uIGRhcyBtb25zdGVyIGJlend1bmdlbiB3ZXJkZW4gc29sbC93aWxsL3dpZWF1Y2hpbW1lci4Kd2VubiBtYW4gYWxsZXMgbm9jaCBndXQgcGVyIGhhbmQgZXJsZWRpZ2VuIGthbm4gKHVuZCBkaWUgemVpdCByZWljaHQsIHVtCnBlciBoYW5kIHp1bSB0YW5rZW4genUgcmVubmVuIHVuZCB6dXJ1ZWNrIC8vaGFsbG8gd2VnaGllci8vKQpkYW5uIGZlaGx0IGVpbiB3aWNodGlnZXIgZ3J1bmQgdW0gc2ljaCB1ZWJlcmhhdXB0IGVpbiBza3JpcHQgenUgYmFzdGVsbiEKCm5peGlob3UsIGVpbmVuIGFydGlrZWwgc2NocmVpYmVuZCwgZGVyIHJ1aGlnIGlnbm9yaWVydCB3ZXJkZW4ga2Fubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChQcmEsICAyLiBGZWIgMTk5NiwgMTk6NDE6NDYpOgp+IyEgcm49Tml4aWhvdSBydD04MjMyODU2MjQKfiMhIHRpZD04MjMyMTU3NzAKdGphLCB1bmQgbm9jaCBlaW4gQXJ0aWtlbDoKKHd1cmRlIGF1Y2ggc2Nob24gMTAwMHggZ2VzY2hyaWViZW4pCndhcnVtIG11c3MgbWFuIGVpbiBNb25zdGVyIHVuYmVkaW5ndCBhbGxlaW5lIHBsYWV0dGVuIHdvbGxlbj8KWnUgbWVocmVyZW4gZ2VodHMgZG9jaCB2aWVsIHNjaG5lbGxlciwgdW5kIG1hY2h0IGRvY2ggYXVjaCBTcGFzcy4KRWluZSBXZWx0LCBpbiBkZXIgbWFuIGFsbGVzIGJlaGVycnNjaHQsIGlzdCBkb2NoIG9lZGUuIFVuZCBhbGxlaW4ga2FlbXBmZW4Ka2FubiBtYW4gYXVjaCBpbiBET09NLCBvZGVyIHNvbnN0d28uCgpBY2gsIHdhciB3aWVkZXIga2VpbiBuZXVlciBHZWRhbmtlLiBFZ2FsLCBoYXQgbGFuZ2Uga2VpbmVyIG1laHIgZHJhdWYKaGluZ2V3aWVzZW4uIEFsc28gdHUgaWNoJ3MuCgpHcnVzcywgUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmU6U2NyaXB0ZSAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTYsIDIwOjA4OjIyKToKfiMhIHJuPVllbmRpIHJ0PTgyMzE3MTAwOQp+IyEgdGlkPTgyMzE3MDY3NApIaSEKCmN1dCZwYXN0ZSBpc3QgcHJpemlwaWVsbCBrZWluIFVudGVyc2NoaWVkIHp1IHRmLiBBdWNoIHRmIG1hY2h0IGVpZ2VudGxpY2gKbmljaHRzIGFuZGVyZXMsIG5hZW1saWNoIGVpbmUgQmVmZWhsc2ZvbGdlIGF1cyBlaW5lbSBmaWxlIHp1IGxlc2VuIHVuZApkaWVzZXMgYW5zIE11ZCB6dSBzY2hpY2tlbi4gU2llaGUgYXVjaCBEZWZpbml0aW9uIFNjcmlwdGUuCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1laW5lIE1laW51bmcgZGF6dSAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTYsIDIwOjIxOjMyKToKfiMhIHJuPVZhbGFyaWFuIHJ0PTgyMzE3ODQ5Mgp+IyEgdGlkPTgyMzE3ODQ5MgoKT2ssIG5pZW1hbmQgc3RvZXJ0IHNpY2ggYW4gZWluZW0gRmV1ZXJiYWxsLU1ha3JvLCB1bmQgaWNoIHNjaGFldHplIGljaAp3ZXJkZSBhdWNoIG5pZW1hbHMgamVtYW5kZW4gZmluZGVuLCBkZXIgZWlucyBiZW51dHp0LiBBbHNvIHdhcyBzb2xscy4KSWNoIGthbm4gd29obCBhdWNoIGthdW0gamVtYW5kZW0gZWlucyBuYWNod2Vpc2VuLiBBYmVyIFdFTk4gZGFubiBkYSBtYWwKZWluZXIga29tbXQsIGRlciBpbSBLYW1wZiByZWNodHplaXRpZyBuYWNoIGplZGVtIFNjaGxhZyBlaW5tYWwgZGllc2UKMyBCZWZlaGxlIGFic2V0enQsIGRhbm4gaXN0IGRhcyBlaW4gU2NyaXB0LiBTTyBwYXNzZW5kIF9rYW5uXyBuaWVtYW5kCnNwaWVsZW4uIFVuZCBudXIgU09MQ0hFIFNwaWVsZXIgd2lsbCBpY2ggbWl0IGRpZXNlbSBWZXJib3QgdHJlZmZlbi4KV2FlcmVuICdLYW1wZnNjcmlwdGUnIHZvbiB2b3JuZWhlcmVpbiBlcmxhdWJ0LCBrb2VubnRlIGRlciBTcGllbGVyCm9id29obCBlciBlaWdlbnRsaWNoIGdyYWRlIHNlaW5lbiBFUC1SYWZmLUt1cnMgbGF1ZmVuIGhhdCwgYmVoYXVwdGVuLAplciB3dWVyZGUgaW1tZXIgbnVyIGVpbiBrbGVpbmVzIEthbXBmYWxpIGJlbnV0emVuLiBEYXJ1bSBpc3QgZGFzIFZlcmJvdApzbyByZXN0cmlrdGl2LiBEZW5rIGRvY2ggbWFsIG5hY2gsIHdlbm4gbmViZW4gZGVtIFdlZ2VzY3JpcHQgYXVjaCBub2NoCkthbXBmc2NyaXB0ZSBlcmxhdWJ0IHdhZXJlbiBrb2VubnRlIG1hbiBkb2NoIHdpZWRlciBnYW56IGhlcnZvcnJhZ2VuZGUKZ3JvZXNzZXJlIE1ha3JvcyBiYXVlbiwgb2huZSBkYXMgaWNoIG5hY2h3ZWlzbGljaCBzYWdlbiBrb2VubnRlLCBkYXMKYXVzIGRpZXNlIGJlaWRlbiBTb3J0ZW4gYW5laW5hbmRlcmhhZW5nZW4gdW5kIG5pZW1hbmQga2FubiBuYWNod2Vpc2VuLApkYXNzIGVzIGVpbnplbG5lIEJlZmVobGUgc2luZC4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQYXVzZSAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTYsIDIwOjI5OjMwKToKfiMhIHJuPUZ5dCBydD04MjMxOTMyMjUKfiMhIHRpZD04MjMxNzUzNDYKSGkhCkZ1ZXIgZGFzICdmb2xnZSBodW5kJyBkdWVyZnRlIHNvIHppZW1saWNoIGRhc3NlbGJlIGdlbHRlbiB3aWUgZGFzLAp3YXMgaWNoIGdyYWRlIHp1IGRlbiBLYW1wZnNjcmlwdGVuIHNjaHJpZWIuIEljaCB3ZXJkZSBtaXQgU2ljaGVyaGVpdApuaWVtYW5kZW4gbG9lc2NoZW4sIHdlaWwgZXIgZWluICdvZWZmbmUgdHVlcicgaW4gc2VpbmVtIFdlZ2VzY3JpcHQgaGF0LgpJY2ggV0VSREUgYWJlciBqZW1hbmRlbiB2ZXJrbmFja2VuLCBkZXIgZWluICd0b2V0ZSB3YWVjaHRlcicgaW0gc2VpbmVtClNjcmlwdCBoYXQsIHdlaWwgZGllc2VyIERpY2ggZ3JhZGUgZHVtbWVyd2Vpc2UgbmljaHQgdm9yYmVpbGFlc3N0LgpJaHIgc2VodCBkZXIgVW50ZXJzY2hpZWQgaXN0IG5pY2h0IGdyb3NzLCB6dW1pbmRlc3Qgdm9tIEVudHNjaHVsZGlndW5ncy0KYW5zYXR6IGhlci4gQXVjaCBoaWVyIHdpZWRlciBkaWVzZXMgc3RyaWt0ZXJlLCBhbGxnZW1laW5lcmUgVmVyYm90CmlubmVyaGFsYiB2b24gV2VnZXNjcmlwdHMuIEJ0dy4gd2FzIHNwcmljaHQgZGFnZWdlbiAnd2VnMScsJ2ZoJywnd2VnMicKZWluenVnZWJlbj8KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1laW5lIE1laW51bmcgZGF6dSAoWmlubywgIDIuIEZlYiAxOTk2LCAyMDozMjowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODIzMjg4ODkyCn4jISB0aWQ9ODIzMTc4NDkyCkFsc28gaWNoIGZpbmQgZGFzIGtlaW4gUHJvYmxlbSwgcmVjaHR6ZWl0aWcgbmFjaCBqZWRlbSBTY2hsYWcgZGllIG1pdHRsZXJlCk1hdXN0YXN0ZSB6dSBkcnVlY2tlbiB1bmQgZGllIEZldWVyYmFsbC1TZXF1ZW56IHp1IHBhc3RlbiwgZGEgaGF1IGljaCB0YXQtCnNhZWNobGljaCBwcm8gUnVuZGUgZWluZW4gRmV1ZXJiYWxsIHJlaW4uCgpNYWhhdG1hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWVpbmUgTWVpbnVuZyBkYXp1IChBc21vZGlzLCAgMi4gRmViIDE5OTYsIDIwOjM0OjE0KToKfiMhIHJuPVppbm8gcnQ9ODIzMjg5NTIyCn4jISB0aWQ9ODIzMTc4NDkyCk5hY2ggZGVyIERlZmluaXRpb24gd2FlcmUgZGFzIGFiZXIgYXVjaCB3aWVkZXIgZWluIHNjcmlwdCwgaGVoZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGF1c2UgKFppbm8sICAyLiBGZWIgMTk5NiwgMjA6MzQ6NDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyMzI4OTM3MAp+IyEgdGlkPTgyMzE3NTM0NgpXYXJ1bSBnZWh0IGVzIGVpZ2VudGxpY2ggbmljaHQsIGRhcyBvbWlub2VzZSAnZm9sZ2UgaHVuZCcgaW4gZGllIExpc3RlIGRlcgplcmxhdWJ0ZW4gQmVmZWhsZSBhdWZ6dW5laG1lbj8gJ2xhbmcnLCAna3VyeicgdW5kICd1a3onIGxhbmd3ZWlsZW4gc2ljaCBkYSBzbwphbGxlaW4sIGVpZ2VudGxpY2ggd2FlciBkYXMgZG9jaCBuZSBWYXJpYW50ZS4KCk1haGF0bWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1laW5lIE1laW51bmcgZGF6dSAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTYsIDIwOjM1OjE1KToKfiMhIHJuPVppbm8gcnQ9ODIzMjg5NTIyCn4jISB0aWQ9ODIzMTc4NDkyCkhtLCBkdSBoYXN0IHJlY2h0LgpBYmVyIGljaCBnbGF1YmUgaWNoIGhhYmUgZ3JhZGUgc2Nob24gbWFsIGdlc2NocmllYmVuLCBkYXMgY3V0JnBhc3RlCmdlbmF1c28gc2NyaXB0IGlzdCwgd2llIHRmIGF1Y2guCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGF1c2UgKEFzbW9kaXMsICAyLiBGZWIgMTk5NiwgMjA6MzU6NDYpOgp+IyEgcm49WmlubyBydD04MjMyODk2ODQKfiMhIHRpZD04MjMxNzUzNDYKRXMgZ2lidCBqYSBub2NoIGFuZGVyZSBTYWNoZW4sIHouYi4gZGFzIGFuZ2VzcHJvY2hlbmUgJ29lZmZuZSB0dWVyJwpvZGVyICd6d2FlbmdlIGRpY2ggZHVyY2ggZ2VidWVzY2gnLCBkYSBrYW5uIGRpZSBsaXN0ZSBsYWVuZ2VyIHdlcmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2NyaXB0cyAoQ2F0d2VhemxlLCAgMi4gRmViIDE5OTYsIDIwOjU5OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04MjMyMDA0MzAKfiMhIHRpZD04MjMxNzk4OTQKUHVoIQpBbHNvIGRhcyBpc3Qgc2Nob24gd2VpdCBoZXJnZWhvbHQsIHZvbiAnVmVyYm90JyB1ZWJlciAnbmljaHQgZHVyY2gtCnNldHpiYXInIGJpcyB6dSAnbGFlY2hlcmxpY2gnIHp1IGtvbW1lbi4gQWJlciBpY2ggZGVua2UgamVkZW0gaGllcgpzaW5kIEdyaW1tYm9ybnMgR2VkYW5rZW5zcHJ1ZW5nZSBiZWthbm50IDopCk5pY2h0IGR1cmNoc2V0emJhcj8gTnVuIGd1dCwgZHUgbWFnc3QgUmVjaHQgaGFiZW4uIEVzIGdpYnQgbWl0ClNpY2hlcmhlaXQgaW1tZXIgamVtYW5kZW4sIGRlciBtaXIsIGhtIHNhZ2VuIHdpciBtYWwsIGR1cmNoIGRpZSBMYXBwZW4KZ2VodC4gRXMgZ2lidCBhdWNoIGdlbnVnLCBkaWUgaW4gZGVyIExhZ2Ugc2luZCBlaW4gU2NyaXB0IHNvIHp1CnNjaHJlaWJlbiwgZGFzIGVzIG5pY2h0IHdpZSBlaW5zIGF1c3NpZWh0LgpBYmVyIGdlbmF1IGRpZXNlIExldXRlIHNpbmQgZXMgZG9jaCwgZGVuZW4gZGllc2VzIF9zdHJpa3RlcmVfIFZlcmJvdAp6dSB2ZXJkYW5rZW4gaXN0LgpTZWh0IGVzIGRvY2ggbWFsIHNvLiBTY3JpcHRlIHN0b2VyZW4gZGFzIEdsZWljaGdld2ljaHQgdW50ZXIgZGVuIFNQaWVsZXJuLgpFaW4gc2NyaXB0ZW5kZXIgU2VoZXIgaXN0IGluIGRlciBMYWdlIG1pdCBIaWxmZSB2b24gU2NyaXB0IHVuZCBUcmlnZ2VybgpNb25zdGVyIHp1IHRvZXRlbiwgZGllIGZ1ZXIgJ25vcm1hbHN0ZXJibGljaGUnIHRlbG5ldC1TcGllbGVyIGFic29sdXQKdW5iZXp3aW5nYmFyIHNpbmQuIFVtIGRpZXNlcyBVbmdsZWljaGdld2ljaHQgenUsIG5hIHZpZWxsZWljaHQgbmljaHQgenUKdmVyaGluZGVybiwgYWJlciBpbW1lcmhpbiB1bSBlcyBhbnp1Z2xlaWNoZW4sIGhhYmVuIHdpciBoYWx0IG1hbApkaWVzZXMgU2NyaXB0dmVyYm90IGVpbmdlZnVlaHJ0LgpEaWVzZXMgamV0emlnZSBWZXJzY2hhZXJmdW5nIGRlcyBWZXJib3RlcyBzb2xsIGltIFByaW56aXAgbnVyIGRhenUKZnVlaHJlbiwgZGFzcyBzaWNoIGRpZSBFaW5zdGVsbHVuZyBlaW5lcyBqZWRlbiBTcGllbGVycyBhZW5kZXJ0LiBEYSBtYW4KYW5zY2hlaW5lbmQgbmljaHQgYW4gZGllIEZhaXJuZXNzIGdlZ2VudWViZXIgYW5kZXJlbiBTcGllbGVybiBhcHBlbGllcmVuCmthbm4sIHZlcnN1Y2hlbiB3aXIgZXMgaGFsdCBhdWYgYW5kZXJlIFdlaXNlLgpOaWNodCBsaWVndCBtaXIgZmVybmVyLCBhbHMgZWluZW4gU3BpZWxlciBsb2VzY2hlbiB6dSB3b2xsZW4sIGFiZXIKaW0gamV0emlnZW4gWnVzdGFuZCBkZW5rZSBpY2ggbWFsLCBkYXNzIGVzIHNpY2ggc28gbWFuY2ggZWluZXIgdWViZXItCmxlZ2VuIHdpcmQsIG9iIGVzIGRhcyBSaXNpa28gZGVzIFNjcmlwdGVuIGF1ZiBzaWNoIG5pbW10IG9kZXIgbmljaHQuClVuZCBnZW5hdSBEQVMgaXN0IHVuc2VyZSBwcmltYWVyZSBBYnNpY2h0LgpZVEMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY3JpcHRzIChDYXR3ZWF6bGUsICAyLiBGZWIgMTk5NiwgMjE6MDE6MjQpOgp+IyEgcm49UmFmZmkgcnQ9ODIzMjAwOTY5Cn4jISB0aWQ9ODIzMTc5ODk0CkZhbHNjaCEKR3J1bmRsZWdlbmQgZmFsc2NoLiBKZSBvZWZ0ZXIgbWFuIGVpbmVtIFNwaWVsZXIgbmFoZWJyaW5ndCwgZGFzIFNjcmlwdGVuCnZlcmJvdGVuIGlzdCwgdW0gc28gZWhlciB3aXJkIGVyIHNpY2ggZHJhbiBoYWx0ZW4uIE5PQ0ggZWhlciB3aXJkIGVyIHNpY2gKZHJhbiBoYWx0ZW4sIHdlbm4gbWFzc2l2ZSBTdHJhZmVuIHp1IGVyd2FydGVuIHNpbmQuIERBUlVNIGRpZSAnVmVyLQpzY2hhZXJmdW5nJy4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKENhdHdlYXpsZSwgIDIuIEZlYiAxOTk2LCAyMTozNToxNik6Cn4jISBybj1GeXQgcnQ9ODIzMjE1NzcwCn4jISB0aWQ9ODIzMjE1NzcwCkh1aCEKU2Nod2llcmlnIHp1IGJlYW50d29ydGVuZGVyIEFydGlrZWwuIFNvdmllbCBhdWYgZWlubWFsIDopCkFsc28gZXJzdCBtYWwgc29sbHRlc3QgRHUgdmVyc3VjaGVuIERlaW5lIEhhc3N0cmlhZGVuIHVlYmVyIE11ZW5zdGVyYW5lcgpNdWRkZXIgKFNlaGVyPy9FcnptYWdpZXI/KSB2b20gVGhlbWEgU2NyaXB0cyB6dSB0cmVubmVuLiBJY2ggaGFicyBkYW5uCm5hZW1saWNoIHNlbGJzdCBuaWNodCBiZXNvbmRlcnMgbGVpY2h0IG1pY2ggb2JqZWt0aXYgdW1zIFRoZW1hIHp1IGt1ZW1tZXJuLgpIbSwgZHUgd2lsbHN0IGFsc28gZ2VmcmFndCB3ZXJkZW4sIHdhcnVtIGR1IHVlYmVyaGF1cHQgc2NyaXB0ZXN0LiBOdW4KZGEga2FubiBpY2ggd29obCBub2NoIG1pdGhhbHRlbi4gU2NyaXB0cyBzaW5kIGRvY2ggZGF6dSBkYSwgZWluZW0gZGFzCk11ZGxlYmVuIHp1IHZlcmVpbmZhY2hlbi4gTWFuIGJyYXVjaHQgbmljaHQgaW1tZXIgZGVuIGV3aWcgbGFuZ3dlaWxpZwpzZWxiZW4gV2VnIGltbWVyIHVuZCBpbW1lciB3aWVkZXIgenUgbGF1ZmVuLiBPZWRlLiBPZGVyIHdpZSBlaW5mYWNoCnVuZCBzY2hsaWNodCBkb2NoIGF1ZiBlaW5tYWwgTW9uc3RlciB0b2V0YmFyIHNpbmQgdW5kIHdpZXZpZWwgbWVociBFUHMKbWFuIG1hY2hlbiBrYW5uLiBBbGxlaW5lIGRpZSBaZWl0ZXJzcGFybmlzcy4KU2Nob2VuLiBQcmltYS4gQWJlciBmaW5kZXN0IER1IG5pY2h0LCBkYXMgRHUgZWluIGtsZWluIHdlbmlnIHp1IHdlaXQKZ2Voc3QuIEVpbiBTY3JpcHQgenVtIFNTUC1BdXNyYWV1bWVuPyBGaW5kZXN0IER1IGRhcyBmYWlyLCB3ZW5uIGRhIGVpbgonbm9ybWFsZXInIGR1cmNoZ2VodCwgZGVtIG5pY2h0cyBtZWhyIHVlYmVyYmxlaWJ0PyBCZWltIFNjcmlwdCBmdWVyCkhhdXNiYXVlbiBpc3QgbWlyIGRlciBIdXQgaG9jaGdlZ2FuZ2VuLiBEYXMgSGF1cyBpc3QgaW1tZXIgbm9jaCBlaW4KU3RhdHVzc3ltYm9sIChkZW5rZSBpY2ggenVtaW5kZXN0KSB1bnRlciBTZWhlcm4sIGZ1ZXIgZGllIG1hbiBoYWx0IG1hbApldHdhcyBsZWlzdGVuIG11c3MuIERVIGxlaXN0ZXN0IGRhZnVlciBsZWRpZ2xpY2ggZWluZW4gS25vcGZkcnVjay4gQXVmCldpZWRlcnNlaGVuIFN0YXR1c3N5bWJvbC4gSGFzdCBkdSB2aWVsbGVpY2h0IGluIERlaW5lciBTY3JpcHRzYW1tbHVuZwpkYXMgWlQtU2NyaXB0IGF1c2dlbGFzc2VuIChFaW5zcHJ1Y2g6IFVudGVyc3RlbGx1bmchKS4KSWNoIGdsYXViZSBuaWNodCwgZGFzIGVzIG1pciBMZWlkIHR1biBtdXNzLCBkYXMgaWNoIERpY2ggYmVpbSBTY3JpcHQtCnZlcmJvdCBuaWNodCBnZWZyYWd0IGhhYmUsIGFiZXIgaWNoIGthbm4gbGVpZGVyIG5pY2h0IG1pdCBqZWRlbSBTcGllbGVyCnNwcmVjaGVuLCB3ZW5uIGljaCB3YXMgYWVuZGVybiB3aWxsLiBJY2ggbXVzcyBkYSBsZWlkZXIgYXVmIE1laW51bmdlbgp6dXJ1ZWNrZ3JlaWZlbiBkaWUgbWlyIGJla2FubnQgc2luZC4KV2FzIHdpY2h0aWdlcyBub2NoLCB3byBpY2ggRGljaCB6aXRpZXJlbiBtb2VjaHRlOgo+IEZ5dCwgc2Nob24gZWlubWFsIGRlbiBVbnRlcmdhbmcgZXJsZWJ0IGhhYmVuZC4KCkFsc28sIHdlbm4gaWNoIGRhcyBsZXNlIHVuZCBiZWltIGZpbmdlciBmZXN0c3RlbGxlbiBtdXNzLCBkYXMgRHUgYXVzIGRlbgpOZXVlbiBCdW5kZWxhZW5kZXIga29tbXN0LCBkYW5uIGthbm4gaWNoIGRpZXNlbiBTYXR6IGVpbmdlbnRsaWNoIG51ciBub2NoCmVpbmRldXRpZyB2ZXJzdGVoZW4uIFVuZCBXRU5OIGRlciBzbyBnZW1laW50IGlzdCwgd2llIGljaCBpaG4gdmVyc3RhbmRlbgpoYWJlLCBkYW5uIGlzdCBkYXMgZWluZSBnYW56IGdlaG9lcmlnZSBGcmVjaGhlaXQhISEKRHUgc3RlbGxzdCB1bnMgZGEgYXVmIGRpZSBnbGVpY2hlIFN0dWZlIG1pdCBlaW5lbSBSZWdpbWUgbWl0IGRlbSBpY2ggbnVuCndpcmtsaWNoIEdBUiBuaWNodHMgZ2VtZWluIGhhYmUuIERhaGluZ2VoZW5kIHdlcmRlIGljaCBhdWNoIHdlbmlnIFdlcnQKZGFyYXVmIGxlZ2VuLCB3YXMgRHUgc29uc3Qgbm9jaCB6dSBUaGVtZW4sIHdpZSBEaWt0YXR1ciB1bmQgQmV3ZWlzdmVybW9lZ2VuCmV0Yy4gZ2VzY2hyaWViZW4gaGFzdC4gSWNoIGthbm4gbWlyIGRhIG1laW5lbiBnYW56IGVpZ2VuZW4gVGVpbCB6dSBkZW5rZW4gOigKClp1IGRlaW5lbSBrb25zdHJ1a3RpdmVuICdBbmhhbmcnLiBadW0gVGVpbCBoYWIgaWNoIGdsYXViIGljaCBzY2hvbiBnZWFudC0Kd29ydGV0LiBFaW5lIGtvbXBsZXR0ZSBTdHJlaWNodW5nIHZvbiBFUCBoYWx0ZSBpY2ggZnVlciB2aWVsIHp1IGRyYXN0aXNjaAp1bSBTY3JpcHRzcGllbGVyIHp1IHZlcm1pZWRlbi4KCkNhdHdlYXpsZSwgZWlnZW50bGljaCBzdGlua3NhdWVyIG5hY2ggZGllc2VtIFNhdHogOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNjcmlwdHMgKFJhZmZpLCAgMi4gRmViIDE5OTYsIDIxOjM2OjU5KToKfiMhIHJuPVJhZmZpIHJ0PTgyMzIwMDk2OQp+IyEgdGlkPTgyMzE3OTg5NAoKRGFzIGVyaW5uZXJ0IG1pY2ggYW4gZGllIFZlcnRyZXRlciBkZXIgVG9kZXNzdHJhZmUgKCpncmlucyogZGFzIHBhc3N0IGphIHdpZQpkaWUgRmF1c3QgYXVmcyBBdWdlIDopICBkYSB3aXJkIGF1Y2ggZGF1ZXJubWQgdm9uIEFic2NocmVja3VuZyBnZXJlZGV0IC0gS2VpbgptZXNzYmFyZXIgRXJmb2xnIQoKRW50d2VkZXIgaGF0IG1hbiAoRFUpIGRhcyBkaWUgVHJhdXN0ZSBkaWUgZWlnZW5lICgncmVjaHRtYWVzc2lnZScpIE1hY2h0CmVpbnp1c2V0emVuLCBvZGVyIG5pY2h0IC0gZWluIG1laHIgYW4gVm9yc2NocmlmdGVuIGJld2lya2wgZ2Fybml4IC0gYXVzc2VyIGRhcwpkYW1pdCB1bmtsYXJoZWl0IGdlc2NoYWZmZW4gIHdpcmQuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAtLS0gKENhdHdlYXpsZSwgIDIuIEZlYiAxOTk2LCAyMTozNzoxNSk6Cn4jISBybj1GeXQgcnQ9ODIzMjE1OTA3Cn4jISB0aWQ9ODIzMjE1NTg0CkRvY2ggZGFzIElTVCBzY2h3ZXIuCkljaCBLQU5OIGhhbHQgbmljaHQgZGl2ZXJzZSBBdXNuYWhtZXJlZ2VsdW5nZW4gc3BlemlmaXppZXJlbiwgd2VpbCBpY2gKbWl0IFNpY2hlcmhlaXQgbmljaHQgYWxsZSBmaW5kZW4ga2FubiwgdW5kIHdlaWwgaWNoIE5JRSBzaWNoZXIgc2VpbiBrYW5uLApkYXMgbmljaHQgaXJnZW5kamVtYW5kZW0genUgZWluZXIgYmVzb25kZXJlbiBBdXNuYWhtZXJlZ2VsdW5nIHdpZWRlcgpldHdhcyAndW5hbmdlbmVobWVzJyBlaW5mYWVsbHQuCgpDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYW5rdGlvbmVuIGdlZ2VuIFNrcmlwdGUgKENhdHdlYXpsZSwgIDIuIEZlYiAxOTk2LCAyMTo0Mzo0OCk6Cn4jISBybj1ZYW50cm8gcnQ9ODIzMjUwMTM0Cn4jISB0aWQ9ODIzMjUwMTM0CklwcCB6aXBwIGRhcHAgdW5kIGR1IGJpc3QgYWIuLi4uLgoxKSBFbnRzY2hlaWRlbiB0dXQgZGFzIGVpbiBFcnptYWdpZXIuIEVpbiBlaW56aWdlciByZWljaHQgZGFmdWVyLCBlciBzb2xsdGUKc2ljaCBhYmVyIG1pdCBhbmRlcmVuIE1hZ2llcm4gYWJzcHJlY2hlbi4gU3RyYWZ2b2xsenVnIG1hY2hlIGRhbm4gaWNoLgoyKSBEdSBoYXN0IHJlY2h0LCBkYXMgZ2VodCBuaWNodC4gQWJlciBlcyBtdXNzIGltbWVyIGRhbWl0IHJlY2huZW4KJ2Vyd2lzY2h0JyB6dSB3ZXJkZW4uIFp1bWluZGVzdCBiZWkgZWluZW0gc3RyaWt0ZW4gVmVyYm90LiBEaWUKSWRlZSBpc3QgaGFsdCwgZGFzIG1hbiBzaWNoIHZpZWxsZWljaHQgZWluIGJpc3NjaGVuIHNjaHVsZGlnIGZ1ZWhsdCwKdW5kIGVzIGRhcnVuIGxhZXNzdAozKSB3YXMgc29sbCBpY2ggbWFjaGVuPyBTb2xsIGljaCBzYWdlbiwgamFqYSBpc3QgamEgc2Nob24gZ3V0Li5ob2VydAplcnN0IG1hbCBhdWYgenUgc2NyaXB0ZW4sIGRhbm4gc2VoZW4gd2lyIHdlaXRlcj8gV2lyIHNpbmQgdW5zIGVpbmlnIQpXaXJlIHZlcnN1Y2hlbiBsZWRpZ2xpY2ggZGllIHdvZ2VuIHp1IGdsYWV0dGVuLiBEaWUgSWRlZW4sIGF1ZiBkaWUKZWluaWdlIFNwaWVsZXIgZ2Vrb21tZW4gc2luZCwgc2luZCBqYSBudW4gd2lya2xpY2ggYWJzdHJ1cy4uLi4KNCkgV2lyIEVyem1hZ2llciBrb250cm9sbGllcmVuIHVucyBzZWxic3QuIEljaCB2ZXJzaWNoZSBEaXIsIGRhcyBrZWluZQpXaWxsa3VlciB2b3Jrb21tZW4gd2lyZCEKClNvcnJ5LCBpY2ggd2V0dGUgaWNoIGhhYiBuaWNodCBhbGxlIHp1ciB2b2xsZW4gWnVmcmllZGVuaGVpdCBiZWFudHdvcnRldC4KWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChDYXR3ZWF6bGUsICAyLiBGZWIgMTk5NiwgMjE6NDg6MTApOgp+IyEgcm49Um9lc3RpIHJ0PTgyMzI2NTQ3Nwp+IyEgdGlkPTgyMzIxNTc3MApIbSwgZGFyYXVmIGhhYiBpY2ggamV0enQgYXVjaCBzY2hvbiBuZSBNZW5nZSBtdWVuZGxpY2hlIEFuZnJhZ2VuLgpEdSBoYXN0IFJlY2h0LCBhdWZncnVuZCBkZXIgenVtIFRlaWwgbGFuZ3NhbWVyZW4gTGVpdHVuZ2VuIF9naWJ0XyBlcwpzY2hvbiBlaW5lIENoYW5jZW51bmdsZWljaGhlaXQuCkRlciBVbnRlcnNjaGllZCBpc3QgZGVyLCBkYXMgaWNoIGFiZXIgZ2VnZW4gZGllIENoYW5jZW51bmdsZWljaGhlaXQsIGRpZQpkdXJjaCBTY3JpcHRlbiBlbnRzdGVodCBldHdhcyB0dW4ga2Fubi4gWnVtaW5kZXN0IHZlcnN1Y2hlbiBJY2gvd2lyIGVzLgpZb3VycyB0cnVseSwKICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEp1c3QgbXkgaHVtYmxlIG9waW5pb24uIChDYXR3ZWF6bGUsICAyLiBGZWIgMTk5NiwgMjE6NTI6MzIpOgp+IyEgcm49UmFmZmkgcnQ9ODIzMjgyNTY4Cn4jISB0aWQ9ODIzMjE1NzcwClJhZmZpLCBEdSB3aXJzdCB1bnZlcnNjaGFlbXQhISEKRGFzIHdhcyB3aXIgZGEgJ3Byb2R1emllcnQnIGhhYmVuLCB1bSBlcyBtaXQgRGVpbmVuIFdvcnRlbiB6dSBzYWdlbiwKZGllbnQgZWlnZW50bGljaCB6dSBlaW5lbSBndXRlbSBad2VjaywgaXN0IGxhbmdlIHVlYmVybGVndCwgdW5kIGF1Y2ggRHUKc29sbHRlc3QgRGlyIGRhIG1hbCBlaW4gcGFhciBfb2JqZWt0aXZlXyBHZWRhbmtlbiB6dSBtYWNoZW4uIFNvd2FzCmFscyBLbG9wYXBpZXIgenUgYmV6ZWljaGVuIGlzdCwgdW0gZXMgcGFzc2VuZCBhdXN6dWRydWVja2VuLCBmdWVyCmRlbiBBcnNjaC4KWVRDIChoYXQgZGVuIEFydGlrZWwgYmVpbSBXb3J0ICdLbG9wYXBpZXInIGJlZW5kZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6dSBzcGFldCEgKENhdHdlYXpsZSwgIDIuIEZlYiAxOTk2LCAyMTo1NDoyNik6ClNvIQpTb3JyeSwgaWNoIHdvbGx0ZSBlaWdlbnRsaWNoIG5vY2ggZWluZW4genVzYW1tZW5mYXNzZW5kZW4gQXJ0aWtlbApzY2hyZWliZW4sIGFiZXIgZGFzIHNjaGFmZiBpY2ggamV0enQgbmljaHQgbWVoci4gSWNoIG11c3MgRXVjaAphdWYgZGllIG5hZWNoc3RlIFdvY2hlIHZlcnRyb2VzdGVuLgpJbW1lciBub2NoKCEpOgpZb3VycyB0cnVseSwKIH5kCl95b3Vyc18gdHJ1bHksCiAgICAgICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTY3JpcHRzIChDYXR3ZWF6bGUsICAyLiBGZWIgMTk5NiwgMjE6NTU6NTIpOgp+IyEgcm49UmFmZmkgcnQ9ODIzMjkzNDE5Cn4jISB0aWQ9ODIzMTc5ODk0CkljaCB3ZXJkZSwgd2VubiBpY2ggTVVTUywgZGVpbmUgc29nZW5hbm50ZSBUb2Rlc3N0cmFmZSB2ZXJoYWVuZ2VuLgpBYmVyIGxhc3MgbWlyIGRvY2ggYml0dGUgZGllIEZyZWloZWl0IHp1IGhvZmZlbiwgZGFzIGVzIG5pY2h0IHNvd2VpdAprb21tZW4gbXVzcywgamE/CiBZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNjcmlwdHMgKFJhZmZpLCAgMi4gRmViIDE5OTYsIDIyOjAzOjA4KToKfiMhIHJuPUNhdHdlYXpsZSBydD04MjMyOTQ1NTIKfiMhIHRpZD04MjMxNzk4OTQKCkhtbSBpY2ggZ2VoIGVpbmZhY2ggbWFsIGRhdm9uIGF1cywgZGFzIGR1IG9iIGRlcyBaZWl0ZHJ1Y2tzICg0IHZvciAxMCkKbmljaHQgbWVociByaWNodGlnIGdlbGVzZW4gaGFzdC4gSWNoIGhhYiBuaXggZ2VnZW4gZW50c3ByZWNoZW5kZSBzdGFmZW4KZ2VzYWd0IChkYXMgc29sbHRlc3QgZHUgYXVjaCByZWNodCBkdXQgZXVzIHVuc2VyZW4gR2VzcHJhZWNoZW4gd2lzc2VuKS4gSWNoCmhhYmUgbnVyIGRhcmF1ZiBoaW5nZWRldXRldCBkYXMgZGllIEFyZ3VtZW50YXRpb24gbWl0IGRlciBBYnNjaHJlY2t1bmcgZ2VuYXUKZGllIGdsZWljaGUgKG0uRS4gbnV0emxvc2UgdW5kIFZlcmxvZ2VuZSkgaXN0IHdpZSBiZWkgZGVyIFRvZGVzc3RyYWZlLiBNZWluCkFlcmdlciByaWNodGV0ZSBzaWNoIGdhbnogYWxsZWluZSBnZWdlbiBkaWVzZSBVZWJlcmZsdWVzc2lnZSBNYXNzbmFobWUuCgpEdSBoYXR0ZXN0IGJlcmVpdHMgdm9yaGVyIGFsbGUgSGFuZGhhYmUgenUgZWluZW0gZW50c2NobG9zc2VuZW4gZHVyY2hncmVpZmVuIQpXZW5uIGJpc2hlciBuaXggcGFzc2llcnQgaXN0IGxhZyBlcyBuaWNodCBhbiBkZXIgJ1JlY2h0c2xhZ2UnLiBOZWJlbiBhbGxlcgpUcmFnaWcgZXJpbm5lcnQgZXMgbWljaCBhdWNoIGFuIGVpbmVuIGthcm5pY2tlbHp1ZWNodGVydmVyZWluLgoKR3J1c3MKSC4KUC5TLjogaWNoIGJpbiBqZXR0enQgZXJzdG1hbCA0IFdvY2hlbiB3ZWcgLSBzb25uZSBUYW5rZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTY3JpcHRzIChNYXJpdGEsICAyLiBGZWIgMTk5NiwgMjI6NDY6MzIpOgp+IyEgcm49UmFmZmkgcnQ9ODIzMjkzNDE5Cn4jISB0aWQ9ODIzMTc5ODk0ClNlaXQgTW9uYXRlbiBzY2hvbiBob2VyZSBpY2ggbnVyIGdlcnVlY2h0ZXdlaXNlIGRhdm9uLCBkYXNzIFNrcmlwdGVuCnZlcmJvdGVuIHNlaSwgYWJlciBlcyB3YXIgYmlzbGFuZyBuaXJnZW5zIG5hY2h6dWxlc2VuLiBEQVMgdmVyc3RlaGUgaWNoIHVudGVyClVuc2ljaGVyaGVpdC4gRHVyY2ggZGllIEJla2FubnRnYWJlIGRlciBSZWdlbG4gaGFiZW4gd2lyIGVuZGxpY2ggS2xhcmhlaXQKZGFydWViZXIsIHdhcyBlcmxhdWJ0IGlzdCB1bmQgd2FzIG5pY2h0LiBXZWxjaGUgVWViZXJsZWd1bmdlbiBoaW50ZXIgZGVuClJlZ2VsbiBzdGVoZW4sIGhhYmVuIHdpciBkYW5rZW5zd2VydGVyd2Vpc2UgaW4gZ2VkdWxkaWdlbiB1bmQgc2FjaGxpY2hlbgpBcnRpa2VsbiB2b24gSm9mIHVuZCBDYXR3ZWF6bGUgZXJmYWhyZW4uIEltbWVyaGluIGhhZXR0ZW4gdW5zZXJlIE11ZW5zdGUtCnJhbmVyIGF1ZiBkaWUgdGVpbHdlaXNlIHNlaHIgcG9sZW1pc2NoZW4gQXJ0aWtlbCBuaWNodCB1bmJlZGluZ3QgYW50d29ydGVuCm11ZXNzZW4uIEplZGVyLCBkZXIgbmljaHQgZ2FueiBibG9lZCBpc3QsIGhhdCBqZXR6dCBiZWdyaWZmZW4sIHdhcyBlcnd1ZW5zY2h0CmlzdCB1bmQgd2FzIG5pY2h0LiBEaWVzZSBNZXNzYWdlIGlzdCBhdWNoIGJlaSBtaXIgYW5nZWtvbW1lbi4gSWNoIHdlcmRlIG1laW5lCndlbmlnZW4gU2tyaXB0ZSBub2NobWFsIGR1cmNoc2VoZW4gdW5kIGRpZSB1ZWJlcmZsdWVzc2lnZW4gRW1vdGVzICc6cmVpdGV0CmF1ZiBpaHJlbSBTa3JpcHQgbmFjaCAuLi4nIHdpZWRlciBoZXJhdXNuZWhtZW4uIFVtIGRlbiBQcmVpcyBkZXIKZ2V3b25uZW5lbiBLbGFyaGVpdCBtYWNoIGljaCBkYXMgZ2VybmUuCldhcyAnZm9sZ2UgaHVuZCcgYW5nZWh0OiBXZXIgZGFzIGltIFNrcmlwdCBiZWhhZWx0LCB0dXQgZGFzIGdsZWljaGUgd2llCmplbWFuZCwgZGVyIG1pdCBUZW1wbyA1MSBkdXJjaCBkaWUgU3RhZHQgZmFlaHJ0LiBXZW5uIGVpbiBQb2xpemlzdAphbmt1ZW5kaWd0LCBuaWVtYW5kZW0gZGVzd2VnZW4gZGVuIEZ1ZWhyZXJzY2hlaW4gd2VnenVuZWhtZW4sIGlzdCBkaWUKQmVzY2hyYWVua3VuZyBqYSBuaWNodCBnbGVpY2ggdW5zaW5uaWcuIERlbiBGdWVocmVyc2NoZWluIHNvbGxlbiBkaWUgTGV1dGUKdmVybGllcmVuLCBkaWUgc3RhZW5kaWcgbWl0IDgwIGR1cmNoIGRpZSBTdGFkdCBmYWhyZW4uIERpZSBFTXMgaGFiZW4gamV0enQKZGllIEdydW5kbGFnZSBkYXp1IGdlc2NoYWZmZW4sIGluIFp1a3VuZnQgdGF0c2FlY2hsaWNoIGdlZ2VuIEV4dHJlbXNrcmlwdGVyCnVlYmVyaGF1cHQgdm9yZ2VoZW4genUgS09FTk5FTiEgRGllIFJlZ2VsdW5nIGlzdCBrbGFyIGZvcm11bGllcnQsIGVuZGxpY2gKd2lzc2VuIHdpciBiZXNjaGVpZC4gRGllIGVpZ2VudGxpY2hlIFZlcnVuc2ljaGVydW5nIGlzdCB1ZWJlcmhhdXB0IGVyc3QKZHVyY2ggZmxhbWVuZGUgUmVwbGllcyBlbnRzdGFuZGVuLgpXZXIgaGllciBpbSBNdWQgc3BpZWx0LCBtdXNzIGZ1ZXIgZGllIERhdWVyIHNlaW5lcyBFaW5sb2dnZW5zIGRpZSBNYWNodCBkZXIKR29ldHRlciAodW5kIEVNcykgYW5lcmtlbm5lbi4gQmVpIGRlciBncm9zc2VuIFphaGwgdm9uIFNwaWVsZXJuIGdpYnQgZXMKbmF0dWVybGljaCBhdWNoIGVpbmUgZ2V3aXNzZSBBbnphaGwgU3BpZWxlciwgZGllIGdlbmF1IGFuIGRpZXNlciBTdGVsbGUKbWFzc2l2ZSBWZXJzdGFlbmRuaXNzY2h3aWVyaWdrZWl0ZW4gaGFiZW4uIEplbWFuZCBtdXNzIGRpZSBTcGllbHJlZ2VsbiBhdWYtCnN0ZWxsZW4sIHVuZCBkYXMgc2luZCBoaWVyIGRpZSBNYWdpZXI+PTY1LiBXZXIgaWhuZW4gZGllc2UgS29tcGV0ZW56IGFiLQpzcHJpY2h0LCBtdXNzIGF1Y2ggamVkZXMgU3BpZWxyZWdlbGhlZnQsIGRhcyBlciBpbiBlaW5lbSBuZXVnZWthdWZ0ZW4KU3BpZWwgdm9yZmluZGV0LCBhbHMgdHlyYW5uaXNjaCB2ZXJ0ZXVmZWxuLiBHdXQsIGVpbiBzb2xjaGVzIFNwaWVscmVnZWxoZWZ0CmtvZW5udCBJaHIgc2VsYnN0IGFiYWVuZGVybiB1bmQgbmFjaCBlaWdlbmVuIFJlZ2VsbiBzcGllbGVuLiBXZXIgZGllc2VzIE11ZApuYWNoIGVpZ2VuZW4gUmVnZWxuIHNwaWVsZW4gbW9lY2h0ZSwgZGEgZ2lidCBlcyBkb2NoIG1laW5lcyBXaXNzZW5zIGRpZQpDaGFuY2UsIGVpbiBzb2xjaGVzIGF1ZiBkZW0gZWlnZW5lbiBSZWNobmVyIHp1IGluc3RhbGxpZXJlbiAtIHVuZCBzY2hvbiBzZWlkCklociBFdWVyIGVpZ2VuZXIgR290dC4KU2NoYWRlLCBkYXNzIHVuc2VyZSBNYWdpZXIgbWl0IGVpbmlnZW4gbWV1dGVybmRlbiBTcGllbGVybiB1bWdlYmVuIHNpbmQsIGRpZQpuaWNodCBnZXJhZGUgZWluZW4ga29uc3RydWt0aXZlbiBCZWl0cmFnIHp1ciBndXRlbiBTdGltbXVuZyBpbSBNdWQgbGVpc3Rlbi4KSWNoIGhvZmZlIG51ciwgZGFzcyBlcyBkcnVlYmVuIGluIERhcm1zdGFkdCBuaWUgc28gd2VpdCBrb21tZW4gd2lyZC4KCkljaCBkYW5rZSBqZWRlbmZhbGxzIGRlbiBFTXMgZnVlciBkaWUgR2VkdWxkIGJlaSBkZW4gUmVwbGllcyAtIElociBoYWV0dGV0Cm5hZW1saWNoIGViZW5zb2d1dCBlaW5mYWNoIGRhcmF1ZiB2ZXJ3ZWlzZW4ga29lbm5lbiwgZGFzcyBkaWUgamV0enQgZm9ybXUtCmxpZXJ0ZSBSZWdlbHVuZyB2b20gR3J1bmRzYXR6IGRlciBCYWxhbmNlIGltIE11ZCBnZWRlY2t0IGlzdCAoZGVyIGphIHNjaG9uCmFlbHRlciBpc3QgYWxzIHdpciBhbGxlIHVuZCBpbiBqZWRlciBGQVEgbmFjaHp1bGVzZW4gaXN0KSB1bmQgbnVyIGdlZ2VuCmRpZSBnYW56IHdlbmlnZW4gTGV1dGUgZ2VyaWNodGV0IGlzdCwgZGllIGViZW5kaWVzZSBCYWxhbmNlIGJpc2xhbmcgbWFzc2l2CnVudGVyZ3JhYmVuLiBTbywgdW5kIG5hY2hkZW0gc2ljaCBqZXR6dCBob2ZmZW50bGljaCBhbGxlIGhpbnJlaWNoZW5kIGF1Zi0KZ2VyZWd0IGhhYmVuLCBpc3QgZGVyIERhbXBmIHJhdXMsIHNvIGRhc3Mgd2lyIGluIEJpZWxlZmVsZCBiZWltIGdlbWVpbnNhbWVuCkJpZXJjaGVuIGRhcnVlYmVyIGxhY2hlbiwgd2llIHdlaXQgd2lyIHVucyBBbmZhbmcgRmVicnVhciBpbiBzb2xjaGUgRmxhbWVzCnJlaW5zdGVpZ2VybiBrb25udGVuLgoKTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVocmVuIGltIE1HIChNYXJpdGEsICAyLiBGZWIgMTk5NiwgMjM6NTU6MTUpOgp+IyEgcm49R3VuZHVyIHJ0PTgyMzEwMjMzNwp+IyEgdGlkPTgyMzEwMTEwNApXYXMgZGllIFVwdGltZSBhbmdlaHQuLi4gYWxpIHVwdGltZSB3ZXIgbW9yZ2VuZ3JhdWVuCnVuZCBzY2hvbiBnZWh0IHVwdGltZSBpbiBqZWRlbSBSYXVtIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2Nod2FjaHNpbm5pZ2UgdGl0ZWwgKFJlaW5lbGRlLCAgMy4gRmViIDE5OTYsIDAwOjAyOjU2KToKaGkgaWhyIHZpZWxzY3ZocmVpYmVyLAoKd2llIHdhcmVzIHdlbm4gaWhyIGRlbiBtaXN0IGxhc3N0IHVuZCB3aWVkZXIgdmVybnVlbmZ0aWdlIHRpdGVsIG5laG10CmVzIG1hZyBhbHRtb2Rpc2NoIHNlaW4sIGFiZXIgaWNoIGJlbnV0emUgZHVyY2hhdXMgYXVjaCBzbyBzZWx0c2FtZQpiZWZlaGxlIHdpZSBpbmhhbHQgKHZvciBhbGxlbSBiZWkgZGVuIGRlcnplaXRpZ2VuIGVuZGxvc3RocmVhZHMpCgpyZWluZWxkZSAvIG5vZXJnZWx0IG1hbCB3aWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvd2JveWJvb3RzIG5ldSBiZXNvaGxlbiBsYXNzZW4gPyAoRnJhZG8sICAzLiBGZWIgMTk5NiwgMTE6NDk6MzUpOgpPY2ggbWFlbm5vLi4uCgpJY2ggZ2ViIGphIHp1LCBtZWluZSBUaXRlbCBsYXNzZW4gbmljaHQgendhbmdzd2Vpc2UgYXVmIGlocmVuIEluaGFsdApzY2hsaWVzc2VuLCBhYmVyIHJlXjM1Njogd3Vyc3RkaXNrdXNzaW9uIGtsaW5ndCBoYWx0IGF1Y2ggbmljaHQgaW1tZXIgc28KcHJpY2tlbG5kLCBvZGVyID8KClJ6bmUuIEJpdHRldCB1bSBOYWNoc2ljaHQuIFVuZCBlcmlubmVydCBtaXQgc2VpbmVuIEFydGlrZWxuIGFuIGRhcyBMZWJlbiBkYQpkcmF1c3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11aCAhIChPZXR0aSwgIDMuIEZlYiAxOTk2LCAxMjoyMjowNCk6CllvIEtpbm5pbmdzICEKCkFiZ2VzZWhlbiB2b24gZGVtIGdhbnplbiBCbGFibHViYiwgaXN0IG1pciBudXIgZWluIFNhdHogYXVmZ2VmYWxsZW4uLi4KCkVzIHdhciBzbyB3YXMgaW4gZGVyIEFydCwgQ2F0KiB2ZXJzaWNoZXJ0LCBkYXNzIGtlaW5lIFdpbGxrdWVyIGJlaSBkZW4KRU0ncyBpbiBkZW4gRW50c2NoZWlkdW5nZW4gc2VpbiB3aXJkLgoKVGphIGphLCB3ZW5uIGljaCBtaWNoIGFuIGFsbCBkaWUgRW50c2NoZWlkdW5nZW4gZXJpbmVycmUsIGRpZSBBdWZncnVuZCB2b24KaXJnZW5kd2VsY2hlIHBlcnNvZW5saWNoZW4gTW90aXZlbiBoaWVyIGdldHJvZmZlbiB3dXJkZW4sIGxhY2ggaWNoIGRhCmdhbnogaGVyemxpY2guCgpBbHNvIHZlcmdlc3N0IGRhcywgd2VubiBoaWVyIGplbWFuZCBqZW1hbmQgYXVmbSBraWNrZXIgaGF0LCBkYW5uIGtyaWVndApkZXIgYXVjaCBzZWluIEZldHQgd2VnLCB0cmF1cmlnIGFiZXIgc28gaXMgZGFzIG51biBtYWwuCgpPZXR0aQoKR2V0IG91dCwgZ2V0IGhvbWUsIGdldCB0ZXJtaW5hdGVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZWluZSBNZWludW5nIGRhenUgKEFjcmltb24sICAzLiBGZWIgMTk5NiwgMTY6MjI6MzEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyMzI4ODg5Mgp+IyEgdGlkPTgyMzE3ODQ5MgpOZWluIENhdHdlYXpsZSwgc28gc3RpbW10IGRhcyBuaWNodC4KV2VubiBtYWwga2VpbiBMYWcgaGVycnNjaHQgKHdhcyBhdWNoIG9mdCB2b3Jrb21tdCBhdWYgZGVyIFN0cmVja2UKTXVlbnN0ZXItTXVlbmNoZW4pLCBkYW5uIEtBTk4gaWNoIHJlY2h0emVpdGlnIG5hY2ggamVkZW0gU2NobGFnIGRpZSBkcmVpCkJlZmVobGUgYWJzZXR6ZW4uClVuZCB6d2FyIGJlaSBqZWRlbSBTY2hsYWcgdW5kIG9obmUgRmVobGVyLgpJY2ggaGFicyBvZnQgZ2VudWcgZ2VtYWNodC4KClVuZCBpY2ggaGFiZSBkZWZpbml0aXYgS0VJTiBTY3JpcHQgYmVudXR6dCwgc29uZGVybiBkaWUgZHJlaSBCZWZlaGxlCmVpbmdlZ2ViZW4gLSBkYXMgc2luZCBudXIgNiBUYXN0ZW5kcnVlY2tlIG1pdCBkZW4gcmljaHRpZ2VuIEFsaWFzZW4uCgpVbmQgaWNoIG1vZWNodGUgbmljaHQgZGVzd2VnZW4gZ2Vsb2VzY2h0IHdlcmRlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FtcGZzY3JpcHRlIChBenp1cm8sICAzLiBGZWIgMTk5NiwgMjA6MTc6NTkpOgpXaWUgd2FlciBlcyBtaXQgZGVyIElkZWUsIGRlbiBnZXNhbXRlbiBLYW1wZiB1bXp1cHJvZ2dlbj8KUHJvIEthbXBmcnVuZGUgd2FlciBkYW5uIG51ciBlaW4gQmVmZWhsIG1vZWdsaWNoIChvZGVyIDIpLgpEYXMgaGVpc3N0LCB3ZXIgc2VpbmUgIFdhZmZlIHdlZ3N0ZWNrdCwga2FubiBlcnN0IHdpZWRlciBpbiBkZXIgbmFlY2hzdGVuCkthbXBmcnVuZGUgZWluZW4gWmF1YmVyIHdpcmtlbi4uLi4uLgpEYXMgZ2FuemUgd2FlciByZWFsaXN0aXNjaGVyLCBkYSBtYW4gZXMgd29obCBrYXVtIHNjaGFmZnQgaW0gUkwgd2VyZGVuIGVpbmVzCkthbXBmZXMgZGFzIFNjaHdlcnQgenVydWVja3p1c3RlY2tlbiwgZGFzIFNjaGlsZCBhdXN6dXppZWhlbiwgZWluZW4gQnVtZXJhbmcKenUgd2VyZmVuLCBlaW5lbiBaYXViZXJzcHJ1Y2ggenUgc3ByZWNoZW4gdW5kIGFsbGVzIHdpZWRlciBhbnp1emllaGVuLgpEYW5uIHdhZXJlbiBhdWNoIGRpZSBTY3JpcHRlciBuaWNodCBtZWhyIGltIFZvcnRlaWwsIGRhIGRpZSBhbmRlcmUgTG9lc3VuZwphdWNoIHBlciBhbGlzIHp1IGxvZXNlbiB3YWVyZS4KTWFuIGtvZW5udGUgYXVjaCBkaWUgS2FtcGZwYXVzZSBmdWVyIHZlcnNjaGllZGVuIHN0YXJrZSBTcHJ1ZWNoZSB2ZXJzY2hpZWRlbgpsYW5nIG1hY2hlbi4KS2xhciB3YWVyZW4gZGFubiBkaWUgS2FyYXRla2FzIGJldm9yenVndCwgYWJlciBtYW4gbXVlc3N0ZSBqYSBudXIgZGllIFdpcmt1bmcKZGVyIEthbXBmemF1YmVyIGFuZGVyZXIgR2lsZGVuIHZlcnN0YWVya2VuIHVuZCBoYWV0dGUgZGFzIGdhbnplIGF1c2dlZ2xpY2hlbi4KSWNoIHdlaXNzIGVzIGlzdCB2aWVsIGFyYmVpdCwgYWJlciB3YWVyIGVpbmUgcmVhbGlzaWVyYmFyZSBJZGVlLgoKQXp6dXJvIC0gZnVlciBtZWhyIFJlYWxpdGFldHNuYWVoZSBpbSBNRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSnVzdCBteSBodW1ibGUgb3Bpbmlvbi4gKFlhbnRybywgIDUuIEZlYiAxOTk2LCAwOToyNjozMik6Cn4jISBybj1OaXhpaG91IHJ0PTgyMzI4NTYyNAp+IyEgdGlkPTgyMzIxNTc3MAoKTml4aSwgZGFubiBzY2hyZWliIGljaCBhdWNoIG1hbCBlaW5lbiBBcnRpa2VsLCBvaG5lIHdlaXRlcmdlbGVzZW4genUgaGFiZW46CgpJY2ggaGFiZSBkYXMga29taXNjaGUgR2VmdWVobCwgZGFzcyBEdSBuaWNodCBkZW4gQkxBU1NFU1RFTiBTY2hpbW1lciBoYXN0LAp3YXMgZGFzIGhpZXIgZnVlciBlaW4gU3BpZWwgaXN0LiBXZW5uIGVzIE1vbnN0ZXIgZ2lidCwgZGllIER1IERlaW5lciBNZWludW5nCm5hY2ggbnVyIG1pdCBlaW5lbSBTa3JpcHQga2lsbGVuIGthbm5zdCwgZGFubiBsaWVndCBkYXMgdmllbGxlaWNodCBhdWNoIGRhcmFuLApkYXNzIER1IGVpbmZhY2ggZGllIE11ZGdlZ2ViZW5lbiBNb2VnbGljaGtlaXRlbiBuaWNodCBhdXNudXR6dC4gQWxsZWlua2FlbXBmZXIKaGFiZW4gKHVuZCBzb2xsdGVuIG1laW5lciBNZWludW5nIG5hY2gpIGltIE11ZCBrYXVtIGVpbmUgQ2hhbmNlIGhhYmVuLiBXZXIKYWxsZWluZSBzcGllbGVuIHdpbGwsIGRlciBzb2xsIHNpY2ggZWluIG5ldHRlcyBTcGllbCBhdWYgQ0QgaG9sZW4gdW5kIHNpY2gKenVoYXVzZSBzZWxiZXIgYmVmcmllZGlnZW4hIEhJRVIgaW0gTUcgKHdpZSBpbiBNVUQgYWxsZ2VtZWluKSBnZWh0IGVzIHVtIGRpZQpadXNhbW1lbmFyYmVpdCBtZWhyZXJlciBTcGllbGVyIHVuZCBlcyBpc3QgaW1tZXIgbm9jaCBKRURFUyBNb25zdGVyIGtpbGxiYXIKKGF1Y2ggb2huZSBTa3JpcHQpLCB3ZW5uIHNpY2ggbnVyIGdlbnVnIHN0YXJrZSBMZXV0ZSB6dXNhbW1lbnR1biB1bmQgc2ljaApoZWxmZW4uCgpTb3JyeSwgd2VubiBpY2ggbWFsIHdpZWRlciBlaW4gYmlzc2NoZW4gaW0gVG9uIGRhbmViZW4gbGllZ2UsIGFiZXIgZXMgcmVndAptaWNoIGltbWVyIHdpZWRlciB1bmdlbWVpbiBhdWYsIHdlbm4gaWNoIHNvbGNoZSAiRWluemVsa2FlbXBmZXIiIHNlaGUsIGRpZQpkYW5uIGZsZW5uZW4sIHdlbm4gc2llIGFsbGVpbmUgbmljaHQga2xhciBrb21tZW4uIElyZ2VuZHdpZSBoYWJlbiBzb2xjaGUgTGV1dGUKZGVuIGVpZ2VudGxpY2hlbiBTaW5uIGRlcyBNdWRzIG5pY2h0IGthcGllcnQuLi4uCgogICAgICAgICAgICAgICAgICAgTGVpY2h0IGF1ZmdlcmVndC4uIFlhbnRybzspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlcyB6dW0gVGhlbWEgS251ZGRlbG4gKERvbHBoLCAgNS4gRmViIDE5OTYsIDExOjE1OjE4KToKSWNoIGJlZGFua2UgbWljaCBhbHMgZXJzdGVzIGFuIGRlciBhbGxnZW1laW5lbiBBYmxlaG51bmcgd2VnZW4gZGVyIGxhbmdlbgpLbnVkZGVsc3BydWVjaGUuIFNvIHVuZCBkYSBtYW4gYW5zY2hlaW5lbmQgTmFtZW4gbmVubmVuIGRhcmYgZ2xlaWNoIG1hbCB6dQpDaGVhc3k6CkVzIHR1dCBtaXIgTGVpZCwgZGFzcyBpY2ggZGlyIGVpbmVuIEtudWRkZWxzcHJ1Y2ggd2FlaHJlbmQgZWluZXMgd2ljaHRpZ2VuCkthbXBmZXMgenVrb21tZW4gbGllc3MsIGFiZXIgaWNoIGRlbmtlIG1pciBkYXNzIGVpbiBTcGllbGVyIHdlbGNoZXIgZ2VudWVnZW5kClplaXQgaGF0IHNpY2ggbWl0IG1pciB6dSB1bnRlcmhhbHRlbiBhdWNoIG5vY2ggZ2VudWVnZW5kIFplaXQgaGF0IHZvbiBtaXIKZ2VrbnVkZGVsdCB3ZXJkZW4uIERhcnVtIEZyYWdlIGljaCBpbW1lciBpbSBBbGxnZW1laW5tb2RlIHdlciB2b24gbWlyCmdla251ZGRlbHQKd2VyZGVuIHdpbGwuCk1laW5lIEtudWRkZWxzcHJ1aWVjaGUgc2luZCBub3JtYWxlcndlaXNlIG51ciBmdWVyIGRpZSBlbmdzdGVuIEZyZXVuZGUgdW5kCmZ1ZXIgZGllIGF1ZiBtZWluZW0gRnJldW5kc2NoYWZ0c2JhbmQgbmF0dWVybGljaCBhdWNoLiBBYmVyIGF1Y2ggZnVlcgpkaWVqZW5pZ2VuICBkaWUgbWlyIG1hbCBiZWkgZWluZXIgUXVlc3QgaGVsZmVuLiBJY2ggZGFjaHRlIGljaCB3dWVyZGUgQ2hlYXN5CmRhbWl0IGVpbmUgRnJldWRlIG1hY2hlbiwgYWJlciBtYW4gbGVybnQgaGFsdCBuaWUgYXVzLgoKTm9jaCBlaW4gSGlud2VpcyB6dSBCb2luZ3MgTWVpbnVuZyBtYW4gc29sbGUgZGllIEtyZWF0aXZpdGFldCBpbW1lciBuZXUKZWluc2V0emVuOiBBbHNvIG1hbCBlaHJsaWNoIG9obmUgVGV4dGVkaXRvciBpc3QgZXMgc2VociBtdWVzYWhtIGVpbmVuCkVpbnplaWxlciBvaG5lIEZlaGxlciBlaW53YW5kZnJlaSB6dSBzY2hyZWliZW4uCkRhcyBLbnVkZGVsbiBhbGxnZW1laW4ga29tbXQgYXVzIHRpZWZzdGVtIEhlcnplbiB1bmQgdWViZXJrb21tdCBlaW5lbiBnYW56CnVycGxvZXR6bGljaCBzbyBkYXNzIG1hbiBrZWluZSBaZWl0IGhhdCBlaW5lbiBzbyBsYW5nZW4gU2F0eiBmZWhsZXJmcmVpIHp1CnNjaHJlaWJlbi4KCkljaCBiaW4gaW1tZXIgbm9jaCBkZXIgTWVpbnVuZyBLTlVEREVMIFdFTSBLTlVEREVMIEdFQlVFSFJUIQpBbHNvIGJpcyBkYW5uIGV1ZXIgc2VsYnN0IGVybmFubnRlciBLbnVkZGVsa29lbmlnICAgICBET0xQSAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGxlcyB6dW0gVGhlbWEgS251ZGRlbG4gKExhaWxhLCAgNS4gRmViIDE5OTYsIDExOjE2OjM1KToKfiMhIHJuPURvbHBoIHJ0PTgyMzUxNTMxOAp+IyEgdGlkPTgyMzUxNTMxOApEYXp1IHNhZyBpY2ggbnVyIGVpbnM6CktOVURERUwgRlJFSSAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBjYXR3ZWF6bGUgKFNpcXVlLCAgNS4gRmViIDE5OTYsIDE0OjEyOjE5KToKfiMhIHJuPUpvZiBydD04MjMyNDg0ODgKfiMhIHRpZD04MjI2ODUyODAKSWNoIHZlcndlaXNlIGF1ZiBkaWUgTG9lc3VuZyBpbiBOaWdodGZhbGw6ClBybyBoZWFydGJlYXQgZWluIEtvbW1hbmRvIGF1cyBkZXIgTGlzdGUuCldlbSBkYXMgenUgbGFuZ3NhbSBpc3QsIGRhcmYgYXVjaCBlaW4gY2FsbF9vdXQoIyduZXh0X2NtZCwgMCkgdmVyd2VuZGVuLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXF1ZQoKUFM6IEtlaW5lIEFobnVuZywgb2IgZGFzIGRlbSBNdWQgZ3V0dHV0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FtcGZzY3JpcHRlIChGeXQsICA1LiBGZWIgMTk5NiwgMTQ6NTY6MTcpOgp+IyEgcm49QXp6dXJvIHJ0PTgyMzM3NTA3OQp+IyEgdGlkPTgyMzM3NTA3OQpEaWUgSWRlZSBpcyBuaWNodCBzY2hsZWNodCwgQXp6dXJvLCBiZXZvcnRlaWx0IGRpZSBLYXJhdGVnaWxkZQphYmVyIG5vY2ggbWVociwgYWxzIHNpZSBzY2hvbiBpc3QgaW4gQmV6dWcgYXVmIEthbXBma3JhZnQuCkF1c3NlcmRlbSBkZW5rZSBpY2ggZG9jaCwgZGFzcyBlcyBuaWNodCBkaWUgJ25vcm1hbGVuJwonS2FtcGZzY3JpcHRzJyBhbHMgY3V0JnBhc3RlIHNpbmQsIHVtIGRpZSBlcyBoaWVyIGdlaHQuCkFuIGRpZXNlciBTdGVsbGUgbGllc2Ugc2ljaCBhbm5hZWhlcm5kIENoYW5jZW5nbGVpY2hoZWl0CmF1Y2ggZGFkdXJjaCBzY2hhZmZlbiwgaW4gZGVtIGVzIGV4cGxpeml0IGVpbmVuIEJlZmVobCBmdWVyCid3YWZmZSB3ZWcsIGZiLCB3YWZmZSB6dWVja2VuJyBnYWViZSBvZGVyIC0tIHdpZSBhdWNoIHNjaG9uCm1hbCBlcndhZWhudCAtLSBkaWUgbWFnaXNjaGVuIEFuZ3JpZmZlIGtlaW5lIGZyZWllIEhhbmQKYnJhdWNoZW4gd3VlcmRlbi4KCkRhcyB3dWVyZGUgYXVjaCBkaWUgQ2hhb3MtIHVuZCBBYmVudGV1cmVyZ2lsZGUgbGVpY2h0CmF1ZndlcnRlbi4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU2NyaXB0cyAoRHVyaWFuLCAgNS4gRmViIDE5OTYsIDE4OjA0OjAwKToKfiMhIHJuPU1hcml0YSBydD04MjMyOTc1OTIKfiMhIHRpZD04MjMxNzk4OTQKRWluIHZlcm51ZW5mdGlnZXIsIGZyZXVuZGxpY2hlciBBcnRpa2VsLiBFaW4gQXJ0aWtlbCBtaXQgWnVzcHJ1Y2guCgpJc3QgZGllcyB3aXJrbGljaCBub2NoIGRhcyBNRywgd2FzIGljaCBpbiBkZW4gbGV0enRlbiBUYWdlbiBrZW5uZW4gZ2VsZXJudApoYWJlIG9kZXIgaXN0IGVzIHdpZWRlciBkYXMgYWx0ZT8KCldlcmRldCBJaHIgZXR3YSBWRVJOVUVORlRJRz8KCkFuZ2VzaWNodHMgZGVyIHZpZWxlbiBSZXBsaWVzIG5hY2ggZGVtIEFydGlrZWwgdm9uIE1hcml0YSAoYWxsZSBub2NoIG5pY2h0Cmlnbm9yXkheSF5IXkhnZWxlc2VuKSBpc3QgZGllc2UgSG9mZm51bmcgd29obCB1bmJlZ3J1ZW5kZXQuCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbGxlcyB6dW0gVGhlbWEgS251ZGRlbG4gKENoZWFzeSwgIDUuIEZlYiAxOTk2LCAxODoxMjo1NCk6Cn4jISBybj1MYWlsYSBydD04MjM1MTUzOTUKfiMhIHRpZD04MjM1MTUzMTgKRG9scGgsCgpzb3JyeSBkYXNzIGR1IGRhcyBpbiBkZW4gZmFsc2NoZW4gSGFscyBnZWtyaWVndCBoYXN0Li4uIGljaCB3ZXJkIG5hdHVlcmxpY2gKX2dlcm5fIGdla251ZGRlbHQgOikKRHUgaGFzdCBtaWNoIGVpbmZhY2ggaW0gZmFsc2NoZW4gYXVnZW5ibGljayBlcndpc2NodCA6KQoKLUNoZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY3JpcHRzIChNYXRlZXNlLCAgNS4gRmViIDE5OTYsIDIzOjA2OjAyKToKfiMhIHJuPVJhZmZpIHJ0PTgyMzE5OTA0NQp+IyEgdGlkPTgyMzE3OTg5NAo+IFdvZnVlciBzb2xsIGRpZXNlIFJlZ2VsdW5nIGRlbiBndXQgc2VpbiA/IFNjcmlwdGVuIChtaXQgQXVzbmFobWUKPiBXRUdFc2NyaXB0KSBpc3QgdmVyYm90ZW4uIE9rLiBEYXMgaXN0IGF1Y2ggYWxsZ2VtZWluIGFremVwdGllcnQuCj4gV2FydW0gbnVuIHNvd2FzIGluIGVpbmVtIGV4dHJhb3JkaW5hZXIgYnVlcm9rcmF0aXNjaGVuIFdvcnRsYXV0Cj4gaW5rbCBlaW5lciBQUkFFWklFU0VOIFN0YWZhbmRyb2h1bmcuCgpXZWlsIGRlciBmcnVlaGVyZSBBcHBlbGwgYW4gZ2VzdW5kZW4gTWVuc2NoZW52ZXJzdGFuZCB1bmQgRmFpcm5lc3MgbmljaHQKYXVzcmVpY2h0ZSAtIHp1dmllbGUgYmF1dGVuIEJsb2Vkc2lubiB1bmQgcmVkZXRlbiBzaWNoIG1pdCAiemVpZyBtaXIgZG9jaAptYWwsIHdvIGdlc2NocmllYmVuIHN0ZWh0LCBkYXNzIGljaCBnZW5hdSBkaWVzIG5pY2h0IGRhcmYiIGhlcmF1cy4KCkRpZXMgaXN0IHVlYnJpZ2VucyBrZWluIHNwZXppZWxsZXMgUHJvYmxlbSB2b24gTUcgLSB2aWVsZSBNdWQtUmVnZWx3ZXJrZQplbnRzdGVoZW4gYXVmIGRpZXNlIFdlaXNlLCB1bSBhdWNoIGRlbiBQYXJhZ3JhcGhlbnJlaXRlcm4gdW50ZXIgZGVuCidVbmhvbGRlbicgSGVyciB3ZXJkZW4genUga29lbm5lbi4gRGVuIHZlcmFudHdvcnRsaWNoZW4gTWFnaWVybiBnZWZhZWxsdApkYXMgaW4gZGVyIFJlZ2VsIG5vY2ggd2VuaWdlciBhbHMgZGVuIFNwaWVsZXJuLgogLS0gTWF0ZWVzZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NyaXB0cyAoV3VyLCAgNi4gRmViIDE5OTYsIDE1OjUxOjIwKToKfiMhIHJuPVJhZmZpIHJ0PTgyMzE5OTg0OAp+IyEgdGlkPTgyMzE3OTg5NApBZWhtLi4uUmFmZmkuLi5MYW5nc2FtIHdlcmRlIGljaCBhdWNoIHNhdWVyLiAyIHNvbGFuZ2UgQXJ0aWtlbCB1bmQgZGFzIGZ1ZXIKbml4Li4uIElyZ2VuZHdpZSBzY2hlaW50IGRhcyBoaWVyIGRvY2ggenUgZWluZW0gU2Fua2FzdGVuIHp1IHdlcmRlbiwgd28gamVkZXIKd2VuIGFucG9lYmJlbHQgdW5kIHJ1bW1lY2tlcnQgdXN3LgpFaWdlbnRsaWNoIGtvZW5udGUgZGVyIEFydGlrZWwgamV0enQgYXVjaCA1MCBaZWlsZW4gbGFuZyBzZWluLCBhYmVyIG1laHIsIHZvbQpTaW5uIGhlciwgd3VlcmRlIGRhIGF1Y2ggbmljaHQgZHJpbm5lIHN0ZWhlbi4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKlMtQy1SLUktUC1ULVMqIChadWVyaWxldSwgIDcuIEZlYiAxOTk2LCAwMDo1MTowNyk6CnNhbGkgemFlbWUKCipJUk9OSUUgT04qCgpIbW0uLiB1ZWJlciAxMDAgQXJ0aWtlbCB1ZWJlciBkYXMgc2VsYmUgdmVyc2NoaXNzbmUgVGhlbWEgIQpCcmVjaHQgZG9jaCBhbGxlIGluIGVpbmVyIE1hc3Nlbmh5c3RvcmllIGF1cyB1bmQgc3RhcnRldCBlaW5lbgpNYXNzZW5zZWxic3Rtb3JkLCBzZWxic3Rsb2VzY2h1bmcgaXN0IGRvY2ggaGV1dGUgaW4gdW5kIGZ1ZXIgc29uZSBrYWtlIHdhZXIgZXMKZG9jaCB3ZXJ0ICEKCipJUk9OSUUgT0ZGKgoKQWxzbyBudW4gZXJuc3QsIGljaCB3YXIgaW0gWml2aWxzY2h1dHogKFppdmlsZGllbnN0KSB1bmQgd2FyIGRlc3dlZ2VuIGNhLiAxCldvY2hlIG5pY2h0IG9ubGluZSwga29tbSByZWluIHVuZCBpbiBkZXIgTXBhIChhbGxnZW1laW4pIGhhdCBlcyBjYS4gMTAwCmFydGlrZWwgbWVociwgYmVpIEFydGlrZWwgODAgZnJhZ3RlIGljaCBtaWNoIGRhbm4gbGFuZ3NhbSBvYiBpY2ggZHVyY2ggZWluZW4KYnVnIG51ciBpbW1lciBkZW4gc2VsYmVuIEFydGlrZWwgbGVzZS4gTmVpbiBzb3JyeSwgMTM5eCBkaWUgc2VsYmUgc2NoZWlzc2UuCklociBoYWJ0IHNjaG9uIGltbWVyIGdld3Vzc3QgZGFzIGhpZXIgaW0gTW9yZ2VuZ3JhdWVuIFNjcmlwdGVuIHZlcmJvdGVuIGlzdApudXIgd3VyZGUgZXMgaGFsdCBub2NobmllIHNvIGhhcnQgYmVzdHJhZnQuIE51biwgaGF0IHNpY2ggZGFzIGdlYW5kZXJ0IHVuZAp3YXJ1bSBkYXMgc28gaXN0LCBkYSBrb2VubnQgaWhyIGV1Y2ggYW4gZGVyIGVpZ25lbiBOYXNlIHplcnJlbiBhYmVyIG5pY2h0IGRpZQptcGEgdm9sbG11ZWxsZW4hIChBbHNvIGpldHp0IHJlaXNzdCBzaWNoIGplZGVyIGF1ZiAzIGFuIGRlciBOYXNlOiBhbHNvIGxvcy4uCjEuLi4yLi4uMykgTmEgZGFzIHR1dCBkb2NoIGd1dCwgd2FzID8uCkFremVwdGllcnQgZG9jaCBkYXMgU2NyaXB0LXZlcmJvdCBudW4gZWluZmFjaCB1bmQgd2VubiBpaHIgZGVua3QgZGFzIGVzIGV1Y2gKbmljaHRzIGFuZ2VodCwgZGFubiBzZWl0IGlociBzZWxiZXIgc2NodWxkIHdlbm4gZXVlciBTYXZlZmlsZSBtYWwgZ2Vsb2VzY2h0CndpcmQuIEVzIGhpbGZ0IG5pY2h0IDEwMCBhcnRpa2VsIHVlYmVyIGRhcyBzZWxiZSBkb29mZSBUaGVtYSB3byBzb3dpc28gc2Nob24KYWxsZXMgZ2VzYWd0IHd1cmRlIChhdXNzZXIgbWVpbiBwZXJzb2VubGljaGVyIHNpbm5sb3NlciBTZW5mKSBpbiBkaWUgTXBhIHp1CnNjaHJlaWJlbi4gVW5zZXJlIEdvZXR0ZXIgKGphamEgaWNoIHJlZCB2b24gSm9maSwgUnVtYXRhIHVuZCBCb2luZ2NoZW4pIGRpZSBlaAoqaXJvbmllIG9uKiBlaW4gSGVyeiBhdXMgR3Jhbml0IG1pdCBlaW5lciBTdGFobGxlZ2llcnVuZyBoYWJlbiB1bmQgc3R1dXIgd2llCmVpbiBNZXhpY2FuaXNjaGVuIEJlcmdlc2VsICppcm9uaWUgb2ZmKiBzaW5kIG5vY2ggdmVyc3VjaGVuIGVpbnp1cmVkZW4gZGFzClNjcmlwdGVuIGRvY2ggZWluZSBndXRlIFNhY2hlIHNlaW4ga29lbm50ZSwgaGF0IGRvY2ggd29obCBrZWluZW4gU2lubiAhCkFsc28gYml0dGUgUlVVVVVVVVVISEhISEVFRUVFRUVFICEhISEhISEKCnRzY2h1ZXNzIFp1ZXJpbGV1CgpQczogYWVtbSBzY2hvZW5lcyBXZXR0ZXIgaGV1dGUsIHdhcyA/Li4gaG1tICAqQXV1dWFhQUFBKiEgTmljaHQgc2NobGFnZW4gZGFzCm1pdCBkZW0gRXNlbCB3YXIgamEgZ2FybmljaHQgYm9lc2UgZ2VtZWludCAhISAuLiAgPTopCgpQc3M6IE1hbiBiZWFjaHRlIGRhcyAqaXJvbmllIG9uL29mZioKCnBzczogSGVqLCB3YXMgd2lsbHN0IGR1IGRlbiBtaXQgbWVpbmVtIHNhdmVmaWxlID8gSGVqLi4gbmVpbiBkYXMga2FubnN0IGR1Cm5pY2h0IHR1biAhIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqUy1DLVItSS1QLVQtUyogKFJ1bWF0YSwgIDcuIEZlYiAxOTk2LCAwMjo0MTo0OSk6Cn4jISBybj1adWVyaWxldSBydD04MjM2NTA2NjcKfiMhIHRpZD04MjM2NTA2NjcKWnVlcmksIER1IGhhc3QgdmVyZ2Vzc2VuLCBkYXNzIHdpciBtYWNodGdlaWwgc2luZCA6LSkKUnVtYXRhLCBmb2xsb3ctdXAtdG86IHNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBKdXN0IG15IGh1bWJsZSBvcGluaW9uLiAoTml4aWhvdSwgIDguIEZlYiAxOTk2LCAwOTo1NTo1OCk6Cn4jISBybj1ZYW50cm8gcnQ9ODIzNTA4NzkyCn4jISB0aWQ9ODIzMjE1NzcwCm9jaCB5YW50cm8sCm51IGZhbmcgbmljaHQgZ2xlaWNoIGFuIHp1IGZsZW5uZW4uCmVyc3RlbnMgYmxlaWJ0IGVzIGplZGVtIHNlbGJlciB1ZWJlcmxhc3Nlbiwgd2llIGVyIG1pdCBkZW0gbXVkIHVtZ2VodCwgdW5kIG9iCmVyIGR1cmNoIHp1c2FtbWVuYXJiZWl0IG9kZXIgYWxzIGVpbnplbGthZW1wZmVyKHF1ZXN0bG9lc2VyKSBzZWluZW4gc3Bhc3MKZmluZGV0LCBkYSBoYXN0IGR1IGtlaW5lIG1hc3N0YWViZSB6dSBzZXR6ZW4hCnVuZCB6d2VpdGVucyB3aWxsIGljaCBudXIgYXVmIGRpZSBIeWRyYSwgZGVuIFdhc3NlcnRyb2xsc2NoYW1hbmVuIHVuZCBXYXRlcmx1CmhpbndlaXNlbi4gKHdpZSB3YXIgZGFzIG5vY2ggbWl0IGRlbiAxMCBpZGVsbmRlbiBzZWhlcm4gYmVpIGRlciBoeWRyYT8/KQoKbmljaHQgZGFzIGljaCBkZXIgbWVpbnVuZyBiaW4genVzYW1tZW5hcmJlaXQgbWFjaGUga2VpbmVuIHNwYXNzLCB1bmQgYWxsCmRpZXNlIGhhbW1lcmhhcnRlbiBtb25zdGVyIGFsbGVpbmUgenUga2lsbGVuIGlzdCBhdWNoIG5pY2h0cyBmdWVyIG1pY2guCmFiZXIgc2VpZCBpY2ggbWljaCB6dW0gZXJzdGVuIG1hbCBlaW5nZWxvZ2d0IGhhYmUgc2luZCBkaWUgIm5ldWVuIiBtb25zdGVyCmRlZmluaXRpdiBpbW1lciBlaW4gYmlzc2NoZW4gc3RhZXJrZXIgZ2V3b3JkZW4uCihtYW4gdmVyZ2xlaWNoZSBudXIgYWx0ZSBvcmtzIG1pdCBuZXVlbiBvcmtkIHVuZCBhbHRlIGdvYmxpbnMgbWl0IG5ldWVuCmdvYmxpbnMgZXRjLikKCkRpZXMgbnVyLCBkYW1pdCBzaWNoIHdpZWRlciBlaW4gcGFhciBsZXV0ZSBhdWZyZWdlbiBrb2VubmVuLgoKbml4aWhvdSwgaGF0IG5vY2gga2VpbmUgaGFtbWVyaGFydGVzIG1vbnN0ZXIgZ2VraWxsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhdXNlIChIYXJkaWwsICA4LiBGZWIgMTk5NiwgMTM6MjE6NTYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyMzI4OTM3MAp+IyEgdGlkPTgyMzE3NTM0NgpBZWhtIENhdCwgRHUgc2NocmVpYnN0OgogJ3dlZzEnLCdmaCcsJ3dlZzInCgpXYXMgc29sbCAnZmgnIGJlZGV1dGVuPyBEYXMgQWxpYXMgZnVlciAnZm9sZ2UgaHVuZCcgaXN0IGRvY2ggdHJhZGl0aW9uZWxsCidmZicuIDopCkphLCBpY2ggd2Vpc3MsIGRhcyB0ZWhtYSBoYXR0ZW4gd2lyIGVyc3Qgdm9yIDYgV29jaGVuIGluIGRlciBtcGEuIDopCgotSGFyZGlsLiBOTk4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmxlaXR1bmcgenVtIEF1dG9ib21iZW5iYXUgKEhpZ2hsYW5kZXIsICA4LiBGZWIgMTk5NiwgMTM6MzU6NTEpOgpPSywgZGVyIFRpdGVsIGhhdCBudXIgVW50ZXJoYWx0dW5nc3dlcnQgdW5kIG5pY2h0cyBtaXQgZGVtIEFydGlrZWwgenUgdHVuLgpad2VpIEtvbW1lbnRhcmUgbm9jaDoKYSkgYmluIGljaCBtaXIgbmljaHQgYmV3dXNzdCwgamVtYW5kZW4gYmVsZWlkaWd0IHp1IGhhYmVuIHVuZApiKSB3YXIgZGFzLCB3YXMgbWljaCBzbyBnZWFlcmdlcnQgaGF0LCBuaWNodHMsIHdhcyBpY2ggS3JpdGlrIG5lbm5lIHd1ZXJkZSwKdmllbG1laHIgZmluZGUgaWNoLCBlcyB3YXIgaW5oYWx0c2xvc2VzLCB6dW0gQWVyZ2VybiBnZWRhY2h0ZXMgU3RhZW5rZXJuLgpTb2xsdGUgc2ljaCBqZXR6dCBqZW1hbmQgYmVsZWlkaWd0IGZ1ZWhsZW4sIHNvbGx0ZSBlciBlcnN0bWFsIG5hY2hkZW5rZW4sCndhcyBlciBzbyBsb3NnZWxhc3NlbiBoYXQuCktyaXRpayAoYW0gYmVzdGVuIGtvbnN0cnVrdGl2KT8gR2VybmUuIFN0YWVua2Vybj8gSGFiIGljaCBuaWNodCBpbW1lciBkZW4KTmVydiBkYXp1LgogICAtSGlnaGxhbmRlciByeW4gVGFoYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqUy1DLVItSS1QLVQtUyogKFd1ciwgIDguIEZlYiAxOTk2LCAyMDoxOTo0Myk6Cn4jISBybj1adWVyaWxldSBydD04MjM2NTA2NjcKfiMhIHRpZD04MjM2NTA2NjcKU2FnIG1pciBkb2NoIG1hbCBadWVyaS4uLldlciBvZGVyIHdhcyBpc3Q+ICppcm9uaWUgb24qIHVuZC9vZGVyICppcm9uaWUgb2ZmKgo/CkljaCBrYXBpZXIgZGFzIGdyYWQgbmljaHQuLi4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFjaHQgU2Nod2VydGVyIHp1IFphcGZoYWVobmVuIChKZXJyaWNvLCAgOC4gRmViIDE5OTYsIDIwOjI2OjE2KToKSWNoIGhhYmUgbWljaCBiaXNoZXIgZ2FueiBhdXMgZGVyIFNrcmlwdGRpc2t1c3Npb24gaGllciBpbiBkZXIgWmVpdHVuZwpoZXJhdXNnZWhhbHRlbiwgdW5kIG1vZWNodGUgamV0enQsIG5hY2hkZW0gd2llZGVyIGV0d2FzIFJ1aGUgZWluZ2V0cmV0ZW4KaXN0LCBtZWluZW4gS29tbWVudGFyIGRhenUgYWJnZWJlbiwgYXVjaCBhdWYgZGllIEdlZmFociBoaW4sIGRhc3MgbWFuCmRhbm4gaW4gZGVyIG5hZWNoc3RlbiBaZWl0IGRhcyBiZXJ1ZWNodGlndGUgJ05peCBOZXVlcyBpbiBkZXIgV2VsdCcgdmVyLQpnZWJsaWNoIGVyd2FydGV0LgpXZW5uIERJQ0ggZGllc2VyIGdhbnplIE11ZWxsIGxhbmdzYW0gYW5rb3R6dCwgc28gZGFyZnN0IGR1IG51biAncScgZHJ1ZWNrZW4uCgpEZXIgVm9sbHN0YWVuZGlna2VpdCB3ZWdlbiwgZGFtaXQgYXVjaCBkaWUgbmV1ZW4gU3BpZWxlciB1bmQgZGllamVuaWdlbiwgZGllCnZvciBkZW4gdmllbGVuIEFydGlrZWwgaGllciBpbiBkZXIgWmVpdHVuZyBuaWNodHMgdm9uIGRlbiBWb3J0ZWlsZW4KYmVxdWVtZXIgQ2xpZW50cyB3dXNzdGVuLCB3aXNzZW4gd2FydW0gaWNoIGhpZXIgbWVpbmUgTWVpbnVuZyBicmVpdCB0cmV0ZSwKc2VpIGVyd2FlaG50LCBkYXNzIGljaCB3b2hsIHp1IGRlbiBTcGllbGVybiBnZWhvZXJlLCBkaWUgVm9sbHNrcmlwdGUgYmVudXR6dApoYWJlbiwgdW0genVtIEJlaXNwaWVsIEthcmF0ZSB6dSB1ZWJlbiwgdW5kIHdlZ2VuIGRlbmVuIGRpZSAnUmVjaHRzbGFnZScKa2xhcmVyIGdlbWFjaHQgd3VyZGUuCkF1cyBzZWhyIHZpZWxlbiwgZGVyIGJpc2hlcmlnZW4gQXJ0aWtlbG4sIGdpbmcgZ2FueiBkZXV0bGljaCBoZXJ2b3IsIGRhc3MKZGVyIFNjaHJlaWJlciBkZXMgQXJ0aWtlbHMgYmlzaGVyIG51ciB3ZW5pZ2UgZGVyIE1vZWdsaWNoa2VpdGVuIGVpbmVzCkNsaWVudHMgZ2VudXR6dCBoYXQsIHVuZCBhdWNoIGF1cyBkaWVzZW0gR3J1bmQgaGFiIGljaCBtaWNoIGJpc2hlciB6dXJ1ZWNrLQpnZWhhbHRlbiwgdW0gbmljaHQgaW0gJ1d1c3QgZGVyIER1bW1zY2h3YWV0emVyJyB1bnRlcnp1Z2VoZW4uCkljaCBtb2VjaHRlIGhpZXIgbmllbWFuZGVuIGJlbGVpZGlnZW4sIGplZGVyIGthbm4gc2ljaCBhbmdlc3Byb2NoZW4gZnVlaGxlbgpvZGVyIGF1Y2ggbmljaHQuCgpXZW5uIHp1bSBCZWlzcGllbCBlaW5lciBkZXIgdmVyYW50d29ydGxpY2hlbiBFcnptYWdpZXIgc2NocmVpYnQsIGRhc3MgZXMgc2ljaAp1bSBlaW4gTWV0emVsc2tyaXB0IGhhbmRlbHQsIHdlbm4gamVtYW5kIG1pdCBkZXIgTWF1cyBwZXIgY3V0JnBhc3RlCnNjaHJpdHR3ZWlzZSBkaWUgQmVmZWhsZSB6dW0gTGVlcnJhZXVtZW4gZGVyIFNTUCBnaWJ0LCBkYW5uIGthbm4gaWNoIG51ciBtaXQKZGVyIFN0aXJuIHJ1bnplbG4uCkVpbiBhbmRlcmVyIEVyem1hZ2llciBzY2hyaWViIHNpbm5nZW1hZXNzICd3ZW5uIGljaCBlaW5lbiBTcGllbGVyIGxhZW5nZXJlClplaXQgYmVvYmFjaHRlIChzbm9vcGUpLCB1bmQgZXIgamVkZXNtYWwgYW0gRW5kZSBlaW5lcyBXZWdlc2NyaXB0ZXMKdG9ldGUgd2FlY2h0ZXIgZWluZ2lidCwgZGFubiBzdGVodCBlciB1bnRlciBlcm5zdGhhZnRlbSBWZXJkYWNodCwgZWluCnVuZXJsYXVidGVzIFNjcmlwdCB6dSBiZW51dHplbi4nCk1laW4gS29tbWVudGFyIHp1IGRlbiBBbnNpY2h0ZW4gZGllc2VyIGJlaWRlbiBFcnptYWdpZXI6CgpJY2ggYmVudXR6ZSAoZXJsYXVidGUpIFdlZ2VzY3JpcHRlLAphKSB1bSBsYWVuZ2VyZSBTdHJlY2tlbiB6dXJ1ZWNrenVsZWdlbiwgenUgZWluZW0gUHVua3QgYW4gZGVtIGVpbiB3ZWl0ZXJlcwpXZWdlc2NyaXB0IHN0YXJ0ZXQuCmIpIHVtIHp1IGVpbmVtIExhZGVuIHp1IGdlbGFuZ2VuLCB1bSBkb3J0IGdlZnVuZGVuZW4vZXJtZXR6ZWx0ZSBHZWdlbnN0YWVuZGUKenUgdmVya2F1ZmVuLgpjKSB1bSBlaW5lIEtuZWlwZSBhdWZ6dXN1Y2hlbiwgdW0gbWljaCBkb3J0IHp1IGhlaWxlbi4KKGRhcyBtdXNzdGUgamV0enQgcmVpbiB1bSBkZW4gQmV6dWcgenVtIFRpdGVsIHp1IGhhYmVuICpncmlucyopCmQpIHVtIHp1IGVpbmVtIE5QQyB6dSBrb21tZW4sIHVtIGRpZXNlbiB6dSB0b2V0ZW4uCgpXZW5uIGljaCBhbHNvIGVpbiBXZWdlc2NyaXB0IGF1cyBHcnVuZCBkKSBzdGFydGUsIHNvIHdpcmQgZGEgaW1tZXIgYW0gRW5kZQplaW4gJ3RvZXRlIHdhZWNodGVyJyBzZWluLCB1bmQgZGllc2VzICd0b2V0ZSB3YWVjaHRlcicga2FubiBtYW4gYXVjaCBlaW4tCnRpcHBlbiwgd2FlaHJlbmQgZGllc2Ugd2VnZXNjcmlwdCBsYWV1ZnQuCldlbm4gbnVuIHRhdHNhZWNobGljaCBlaW4gKGlsbGVnYWxlcykgU2NyaXB0IG1pdCBlaW5lbSAndG9ldGUgd2FlY2h0ZXInIGFtCkVuZGUgc2VpIGVzIG51biBtaXQgdGYgb2RlciBwZXIgY3V0JnBhc3RlIGJlbnV0enQgd2lyZCwgc28ga2FubiBtYW4gZXMgbmljaHQKdm9uIGRlciBsZWdhbGVuIFZlcnNpb24gdW50ZXJzY2hlaWRlbi4KQWNoamEgYmV2b3IgaWNoIGRlbiBLb21tZW50YXIgZGVzIGVyc3RlbiBFcnptYWdpZXJzIHZlcmdlc3NlLCB1bnRlciBlaW5lbQpNZXR6ZWxzY3JpcHQgdmVyc3RlaGVuIHdvaGwgZGllamVuaWdlbiwgZGllIHNvZXR3YXMgYmVudXR6ZW4sIGRhc3MgbWFuCmVpbm1hbCB6LkIuICdlcCcgZWluZ2lidCB1bmQgZGFuYWNoIGxlZ3QgbWFuIHNpY2ggc2NobGFmZW4sIGxhYmJlcnQgYXVmIGRlbgpLYW5hZWxlbiAob2J3b2hsIGRhcyB6dSBzZWhyIHNjcm9sbHQpIG9kZXIgbWFjaHQgaXJnZW5kZXR3YXMgYW5kZXJlcywgdW5kCndlbm4gbWFuIGRhbm4gbmFjaCBTdHVuZGVuIHNlaW5lICdpbmZvJyBhYmZyYWd0LCBmcmV1dCBtYW4gc2ljaCB1ZWJlciBuZQp3ZWl0ZXJlIE1pbGxpb24gRVAuCgpFcyBpc3Qgc2Nob24gcnVlaHJlbmQgenUgYmVtZXJrZW4sIHdpZSBzZWhyIGRpZSBFcnptYWdpZXIsIHVtIEZhaXJuZXNzIHVuZApHbGVpY2hnZXdpY2h0IGltIE11ZCBiZXNvcmd0IHNpbmQsIGFiZXIgbGV0enRlbmRsaWNoIHdlcmRlbiBzaWUgc2ljaCBudXIKZGFubiAxMDAldGlnIHNpY2hlciBzZWluIGtvZW5uZW4sIGRhc3MgZWluIFZvbGxzY3JpcHQgbGFldWZ0LCB3ZW5uIHNpZQplaW5lbiBTcGllbGVyIG1laHJmYWNoIHZlcnN1Y2hlbiBhbnp1c3ByZWNoZW4gdW5kIGRpZXNlciBuaWNodCBhbnR3b3J0ZXQsCnNwcmljaCB3ZW5uIGRpZSBSTC1QZXJzb24gaGludGVyIGRlbSBTcGllbGVyIGluIGRlbSBCZXR0IGxpZWd0IHVuZCBzY2hsYWVmdCwKd2FlaHJlbmQgZWluIFNjcmlwdCBsYWV1ZnQuCk1laW5lIE1laW51bmcgaXN0LCBkYXNzIG51ciBnZW5hdSBpbiBkZW0gRmFsbCBlaW5lIExvZXNjaHVuZyBkZXMgU3BpZWxlci0KRmlsZXMgaW4gQmV0cmFjaHQgZ2V6b2dlbiB3ZXJkZW4gc29sbHRlLiBNaXIgOiksIGlzdCBuYXR1ZXJsaWNoIGF1Y2gga2xhciwKZGFzcyBlaW5lIHNvbGNoZSBSZWdlbHVuZyBkYXMgUHJvYmxlbSBiaXJndCwgZGFzcyBlcyBMZXV0ZSBnaWJ0LCBkaWUgZWluClZvbGxzY3JpcHQgbGF1ZmVuIGxhc3Nlbiwgd2FlaHJlbmQgc2llIGluIGVpbmVtIGFuZGVyZW4gRmVuc3RlciB3YXMgYW5kZXJlcwptYWNoZW4sIHVuZCBpaHIgVGVybWluYWwgYmVpIGVpbmVtICd0ZWlsZSBtaXQnIG9kZXIgJ3NhZ3QnIGtyYWVjaHplbiBsYXNzZW4uCgpNZWluIEFwcGVsbCBhbiBkaWUgR29ldHRlciB1bmQgRXJ6bWFnaWVyLCBkaWUgaW4gZGVuIFRpZWZlbiBpaHJlcyBNdWRkZXItCmhlcnplbiBnZWdlbiBzb2xjaGUgcmlnb3Jvc2VuICdSdW5kdW1zY2hsYWVnZSBnZWdlbiB3ZW5pZ2VyIFRpcHBlcmVpJyBzaW5kLAppc3QgZXMgZGFzICd0b2V0ZSB3YWVjaHRlcicgYW0gRW5kZSBlaW5lcyBXZWdlc2NyaXB0ZXMgenUgZXJsYXViZW4sIHdlaWwKbWFuIGVyc3RlbnMgbnVyIGF1cyBkZW0gR3J1bmQgaWhuIHp1IHRvZXRlbiB6dSBkZW0gV2FlY2h0ZXIgcmVubnQsIHVuZAp6d2VpdGVucyAocy5vLiksIHdlaWwgZXMgc2ljaCBuaWNodCB2b24gZGVyIGxlZ2FsZW4gVmVyc2lvbiBkdXJjaCBlaW5lbgpzbm9vcGVuZGVuIE1hZ2llciB1bnRlcnNjaGVpZGVuIGxhZXNzdC4gRGVzd2VpdGVyZW4gc29sbHRlIGVybGF1YnQgc2VpbiwKQW5ncmlmZmUgdW5kIEFid2VocmVuIGVpbnp1c3RlbGxlbiBiencuIEF1c3J1ZXN0dW5nIHp1IHp1ZWNrZW4gb2RlciB3ZWd6dS0Kc3RlY2tlbiwgd2VpbCBtYW4gaW4gZGVyIGpldHppZ2VuIFNpdHVhdGlvbiBldGxpY2hlIGFsaWFzIFRhc3RlbiBkcnVlY2tlbgptdXNzLCB1bSBkZW4gZ2xlaWNoZW4gRWZmZWt0IHp1IGVyemllbGVuLgoKRGFzcyBpY2gga2VpbmVuIGdyb3NzZW4gRWluZmx1c3MgYXVmIEVudHNjaGVpZHVuZ2VuIGhpZXIgaW0gTXVkIGhhYmUsIGlzdAptaXIga2xhciwgdW5kIG1pciBnZWh0IGVzIGRhIG5pY2h0IGFuZGVycywgd2llIGFsbGVuIGFuZGVyZW4gYXVjaCwgbWFsIGFiLQpnZXNlaGVuIHZvbiBkZW4gY2EuIDEwICdFbnRzY2hlaWRlbmRlbicsIGRpZSB3aXJrbGljaCB2aWVsIFplaXQgdW5kIEFyYmVpdAppbnMgTXVkIGludmVzdGllcmVuIG9kZXIgaW52ZXN0aWVydCBoYWJlbiwgdW5kIGRpZSB2ZXJzdWNoZW4gYXVmIGlocmUgQXJ0CmZ1ZXIgZWluIHdlbmlnIE9yZG51bmcgenUgc29yZ2VuLgpEaWUgQmVzY2h3ZXJkZW4gdm9uIHZpZWxlbiBTcGllbGVyIHVlYmVyIE1pdHNwaWVsZXIsIGRpZSBzdGFlbmRpZyBpbnMgRG9qbwpyZWluIHVuZCB3aWVkZXIgcmF1cyB6dXIgS25laXBlIHJlbm5lbiwgZGVyIERyYW5nIGVpbmlnZXIgTWFnaWVyIHNpY2ggYWxzClNjcmlwdGphZWdlciB6dSBldGFibGllcmVuIHVuZCB1bSBlbmRsaWNoIGVpbmVuIEdydW5kIHp1IGhhYmVuIFNwaWVsZXIgenUKc25vb3Blbiwgd2VpbCBtYW4gZGllcyBudXIgaW4gZWlnZW5lbiBhbmdlc2NobG9zc2VuZW4gUmFldW1lbiBkdWVyZnRlLCBkZXIKV3Vuc2NoIGRlciAnRW50c2NoZWlkZW5kZW4nIGZ1ZXIgT3JkbnVuZyB6dSBzb3JnZW4gdW5kIGxldHp0ZW5kbGljaCBpaHJlCmdlcmluZ2VuIEtlbm50bmlzc2UgdWViZXIgZGllIEJlbnV0enVuZyB2b24gQ2xpZW50cyB6dW0gU2NyaXB0ZW4sIGhhYmVuCndvaGwgenUgZGllc2VtIHJpZ29yb3NlbiBSdW5kdW1zY2hsYWcgZ2VmdWVocnQsIGRlciBkYW5uIHNvbGNoZSBMYXBwYWxpZW4sCndpZSBkYXMgVHJpZ2dlcm4gZWluZXIgR3JhdHVsYXRpb24gYXVmIGVpbmUgYmVzdGFuZGVuZSBRdWVzdCB2ZXJiaWV0ZXQsCnVuZCBtaXQgZGVyIExvZXNjaHVuZyBlaW5lcyBTcGllbGVycyBnZWFobmRldCB3ZXJkZW4ga29lbm50ZS4KV2FocnNjaGVpbmxpY2ggd2lyZCBXeWF0dCBDYXR3ZWF6bGUgRWFycCBuaWVtYW5kZW4gd2VnZW4gc29sY2hlbiBUcmlnZ2Vybgpsb2VzY2hlbi4gV2FydW0gc29sbHRlbiBzaWUgZGFubiB2ZXJib3RlbiBzZWluID8KCk1pY2ggd3VlcmRlIGVzIGZyZXVlbiwgd2VubiBkaWUgRW50c2NoZWlkdW5nZW4gYnpnbC4gU2NyaXB0cyBldHdhcyBhYmdlLQphZW5kZXJ0IHd1ZXJkZSwgZXR3YSBpbiBkaWUgRm9ybToKVHJpZ2dlciB1bmQgU2NyaXB0ZSBzaW5kIHZlcnBvZW50IGFiZXIgZXJsYXVidCwgc29sbHRlc3QgRHUgZWluIFZvbGxzY3JpcHQKYmVudXR6ZW4gdW5kIERpciBkYXMgbmFjaGdld2llc2VuIHdpcmQsIHp1bSBCZWlzcGllbCwgd2VpbCBEdSBhdWYgd2llZGVyLQpob2x0ZSBBbmZyYWdlbiBuaWNodCBhbnR3b3J0ZXN0LCBzbyBkcm9odCBEaXIgZGllIExvZXNjaHVuZyBEZWluZXMgU3BpZWxlci0KRmlsZXMKCk5vY2gga3VyeiB3YXMgenUgZGVtIEFyZ3VtZW50LCAnU2NyaXB0ZSB1bmQgVHJpZ2dlciBzaW5kIGRlc2hhbGIgdmVyYm90ZW4sCndlaWwgbmljaHQgYWxsZSBkaWVzZW4gU2VydmljZSBudXR6ZW4ga29lbm5lbicuIE51biB3YXMgamV0enQga29tbXQgaXN0Cm5pY2h0IHNjaGVyemhhZnQgZ2VtZWludCB1bmQgc29sbCBhdWNoIG5pZW1hbmRlbiB2ZXJsZXR6ZW4sIGVzIHNvbGwgbnVyCmRpZSBJZGlvdGllIGRlcyBvYmlnZW4gQXJndW1lbnRlcyB2ZXJkZXV0bGljaGVuOgpTb2xsZW4gYWxsZSBNZW5zY2hlbiBhdWZzIEdlaGVuIHZlcnppY2h0ZW4sIG51ciB3ZWlsIGVpbmlnZSBNZW5zY2hlbgprZWluZSBCZWluZSwgZGllIHNpZSB6dW0gR2VoZW4gYmVudXR6ZW4ga29lbm5lbiwgYmVzaXR6ZW4gPyIKClNvb29vLCBkaWVzZXIgQXJ0aWtlbCBzb2xsIG5pY2h0IHp1IGVpbmVyIGVybmV1dGVuIFJlcGx5LVdlbGxlIGZ1ZWhyZW4sCmluIGRlciBnZWFldXNzZXJ0IHdpcmQsIGRhc3MgZGllIGVpbmUgb2RlciBhbmRlcmUgUGFzc2FnZSBtZWluZXMgQXJ0aWtlbHMKZWluZSBGcmVjaGhlaXQgc2VpLCBkYXNzIGtvZW5udCBpaHIgbWlyIHBlciAndGVpbGUgbWl0JyBvZGVyIHBlciBtYWlsCnNjaHJlaWJlbi4gRnJldWVuIHd1ZXJkZSBlcyBtaWNoLCB3ZW5uIGVpbmlnZSBkZXIgJ0VudHNjaGVpZGVuZGVuJyAqZ3JpbnMqCixkaWUgdmllbGxlaWNodCBrcml0aXNjaCBkaWVzZW0gUnVuZHVtc2NobGFnIGdlZ2VudWViZXJzdGVoZW4sIGlocmVuCkVpbmZsdXNzIGdlbHRlbmQgbWFjaGVuIHVuZCBkaWVzZSBEaXNrdXNzaW9uIGF1ZiAnaG9lY2hzdGVyIEViZW5lJwp3ZWl0ZXJmdWVocmVuLgoKCgpKZXJyaWNvCgoKClBTOiBEaWUgVGFzY2hlbmJ1Y2hhdXNnYWJlIGRpZXNlcyBUZXh0ZXMsIGdpYnRzIGJlaW0gQmlibGlvdGhla2FyIGluIEZXLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hY2h0IFNjaHdlcnRlciB6dSBaYXBmaGFlaG5lbiAoQ2FyYWRocmFzLCAgOC4gRmViIDE5OTYsIDIxOjE3OjI4KToKfiMhIHJuPUplcnJpY28gcnQ9ODIzODA3NTc2Cn4jISB0aWQ9ODIzODA3NTc2CkplcnJpY28+IGRhbm4gMTAwJXRpZyBzaWNoZXIgc2VpbiBrb2VubmVuLCBkYXNzIGVpbiBWb2xsc2NyaXB0IGxhZXVmdCwKSmVycmljbz4gd2VubiBzaWUgZWluZW4gU3BpZWxlciBtZWhyZmFjaCB2ZXJzdWNoZW4gYW56dXNwcmVjaGVuIHVuZApKZXJyaWNvPiBkaWVzZXIgbmljaHQgYW50d29ydGV0LCBzcHJpY2ggd2VubiBkaWUgUkwtUGVyc29uIGhpbnRlciBkZW0KSmVycmljbz4gU3BpZWxlciBpbiBkZW0gQmV0dCBsaWVndCB1bmQgc2NobGFlZnQsIHdhZWhyZW5kIGVpbiBTY3JpcHQKSmVycmljbz4gbGFldWZ0LgoKQWVlZWVlaCwgaWNoIGthbm4gbWlyIGxlaWRlciBlaW5lbiBLb21tZW50YXIgbmljaHQgdmVya25laWZlbjoKRGFzIG1pdCBkZW0gU3BpZWxlciBtZWhyZmFjaCBhbnNwcmVjaGVuLCBhbHNvIGljaCBoYWIgZGEgc28gbWVpbmUKWndlaWZlbCBkcmFuIG9iIGRhcyBzbyBlaW5mYWNoIGdlaHQuIFdlbm4gaWNoIG5hZW1saWNoIGFuIENlbGViZGlsCnpCIGRlbmtlIHVuZCB3ZW5uIGRlciB6QiBiZWkgZGVuIExldWNodHRyb2xsZW4gaXN0LCBkYW5uIHdlaXNzIGljaApnZW5hdSBkYXNzIGljaCAoYWxzIEthcmF0ZWthKSAyIHZvbiBkZW4gSnVuZ3MgbG9ja2VyIHNjaGFmZmUgb2huZQptaWNoIGlyZ2VuZHdvIGhlaWxlbiB6dSBtdWVzc2VuLiBBbHNvIGdlYiBpY2ggZWlubWFsIHRvZXRlIHRyb2xsIGVpbiwKd2VubiBlcyBpbiBkZW0gRmVuc3RlciAoYXVzIGRlbiBBdWdlbndpbmtlbG4pIGRhbm4gYXVmaG9lcnQgenUgc2Nyb2xsZW4KZ2ViZSBpY2ggbm9jaG1hbCB0b2V0ZSB0cm9sbCBlaW4uIFVuZCB2b24gd2VnZW4gTWl0dGVpbHVuZ2VuIG9kZXIKYWVobmxpY2hlbSB3ZXJkZSBpY2ggaW4gZWluZW0gc29sY2hlbiBGYWxsIHdvaGwgbnVyIHdhcyBtaXRrcmllZ2VuLAp3ZW5uIGljaCBncmFkZSB6dWZhZWxsaWcgYXVmIGRlbiBCaWxkc2NoaXJtIHNjaGF1ZS4KQWxzbyBzbyBnYW56IGVpbmZhY2ggaXN0IGRpZSAnaWRlbnRpZml6aWVydW5nJyBzY3JpcHRlbmRlciBTcGllbGVyCndvaGwgbnVuIGRvY2ggbmljaHQuCgogICAgICB0c2NodWVzc2llICAgICAgICAgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbHBhdXNlIChTY2hydW1wZmksICA4LiBGZWIgMTk5NiwgMjM6MzQ6MTkpOgpIaSwKSWNoIG1hY2ggZWluZSBTcGllbHBhdXNlIGF1ZiB1bmJlc3RpbW10ZSBaZWl0LCBpY2ggaGFiIHNvIG1laW5lIEdydWVuZGUsCmZhbGxzIGlyZ2VuZHdhcyBpc3QsIHNjaHJlaWJ0IG5lIE1haWwgYW4gQW1hem9yYSBtaXQgZGVyIHdlcmQgaWNoIGFiIHVuZCB6dQptYWwgZGEgc2Vpbi4KVHNjaHVlc3MKICAgICAgICAgIFNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hY2h0IFNjaHdlcnRlciB6dSBaYXBmaGFlaG5lbiAoTWFyaXRhLCAgOS4gRmViIDE5OTYsIDAyOjAxOjMyKToKfiMhIHJuPUplcnJpY28gcnQ9ODIzODA3NTc2Cn4jISB0aWQ9ODIzODA3NTc2CkhpIEplcnJpY28sCk1pdCBEZWluZXIgQmVtZXJrdW5nICdJZGlvdGllJyBpbiBCZXp1ZyBhdWYgZGFzIEFyZ3VtZW50ICdXZWlsIG5pY2h0IGFsbGUKU3BpZWxlciBkaWVzZW4gU2VydmljZSBudXR6ZW4ga29lbm5lbicgc29sbHRlc3QgRHUgZXR3YXMgdm9yc2ljaHRpZyBzZWluLiBJY2gKaGFiZQpnZXJhZGUgZXJzdCBoZXV0ZSBtaXQgZWluZW0gU2VoZXIgZ2VzcHJvY2hlbiwgZGVyIHNpY2ggZGFydWViZXIgYmVrbGFndGUsCmluIGRlciBTU1AgYW4gZWluZW0gTW9uc3RlciBnZW1ldHplbHQgenUgaGFiZW4sIGFscyBlaW4gKG9mZmVuc2ljaHRsaWNoKQpiZXNzZXJlciBTZWhlciBoZXJlaW5rYW0sIGFuIGRlbSBzZWxiZW4gTW9uc3RlciBoZXJ1bW1ldHplbHRlIHVuZCBhdWYKQW5zcHJlY2hlbiBuaWNodCByZWFnaWVydGUsIHVubWl0dGVsYmFyIG5hY2ggQWJsZWJlbiBkZXNzZWxiZW4gZGVuIFJhdW0Kd2VjaHNlbHRlIHVuZCBiZXJlaXRzIGVpbmUgU2VrdW5kZSBzcGFldGVyIHdlaXRlcm1ldHplbHRlLiBEZXIgbmllZHJpZ2VyZQpTZWhlciB2ZXJsb3IgZGllIENoYW5jZSwgZGFzIE1vbnN0ZXIgc2VsYnN0IHp1IGVybGVnZW4uIFZvciBkaWVzZW0gSGludGVyLQpncnVuZCBiaW4gaWNoIHp1bSBlcnN0ZW4gTWFsIHJpY2h0aWcgc2F1ZXIgdWViZXIgZWluZW4gdG90YWwgdmVybWVzc2VuZW4KVmVyZ2xlaWNoIGluIGVpbmVtIEFydGlrZWwgZGVyIE1QQSAoRHUgd2Vpc3N0IHNjaG9uLCBkYXMgbWl0IGRlbSBHZWhlbmRlbgp1bmQgZGVtLCBkZXIga2VpbmUgQmVpbmUgaGF0KS4gSGFzdCBEdSBEaXIgbm9jaCBuaWUgR2VkYW5rZW4gZGFydWViZXIgZ2UtCm1hY2h0LCBkYXNzIGRpZSBNb25zdGVyLCBkaWUgRHUgcGVyIFZvbGxza3JpcHQga2lsbHN0LCBhbmRlcmVuIFNwaWVsZXJuCm5pY2h0IG1laHIgenVyIFZlcmZ1ZWd1bmcgc3RlaGVuLCB3ZWlsIHNpY2ggTGVpY2hlbiBqYSBzbyBndXQgbWV0emVsbiBsYXMtCnNlbj8gRGVpbmUgU2tyaXB0cyBzaW5kIG5pY2h0IG51ciBkYXp1IGdlZWlnbmV0LCBEZWluZSBFUCB6dSBlcmhvZWhlbiwKc29uZGVybiBhdWNoLCB1bSBhbmRlcmUgYW4gZGVyIEVybGFuZ3VuZyB2b24gRVAgenUgaGluZGVybi4gVW5kIGVyZmFocnVuZ3MtCmdlbWFlc3MgdGF1Y2hlbiBWb2xsc2tyaXB0c3BpZWxlciB6dW1pbmRlc3QgaW4gc3RhZXJrZXJlbiBaZWl0ZW4gZGljaHRlciBhbHMKMTAgTWludXRlbiBpbiBkZXIgU1NQIGF1Ziwgc28gZGFzcyBuaWNodCBlaW5tYWwgZGllIGJlcnVlY2h0aWd0ZW4gQm9pbmctClJlc2V0cyBkZW0gTmljaHQtU2tyaXB0c3BpZWxlciB3YXMgbnVldHplbi4gRGVuIEJhbGFuY2UtR2VkYW5rZW4gaGF0IGtlaW5lcgpkZXIgS3JpdGlrZXIgd2lya2xpY2ggYmVydWVja3NpY2h0aWd0LCB1bmQgYXVjaCBEdSBtYWNoc3Qga2VpbmUgQXVzbmFobWUuCkljaCBoYWV0dGUgbWlyIGRhaGVyIGdld3VlbnNjaHQsIGRhc3MgRHUgRGVpbmVuIEFydGlrZWwgdGF0c2FlY2hsaWNoIHNjaG9uCmVpbiBwYWFyIFRhZ2UgZWhlciBnZXBvc3RldCBoYWV0dGVzdCwgZGFtaXQgZXIgbWl0dGVuIHp3aXNjaGVuIGRlbiBBcnRpa2VsbgpzdGVodCwgenUgZGVuZW4gZXIgaW5oYWx0bGljaCBwYXNzdC4KV2VubiBkaWUgU3BpZWxlciBrZWluZW4gQW5mbHVnIHZvbiBzb3ppYWxlbSBHZWRhbmtlbiBtZWhyIGhhYmVuLCBkYW5uIGlzdAplcyBtZWhyIGFscyByZWNodCwgZGFzcyBpY2ggbWljaCB2b3JsYWV1ZmlnIGhpZXIgbmljaHQgbWVociBibGlja2VuIGxhc3NlLgpJY2ggZ3JhdHVsaWVyZSBkZW4gR29ldHRlcm4gdW5kIEVyem1hZ2llcm4genUgc29sY2hlbiBTcGllbGVybiwgZGllIHNpZQplaWdlbnRsaWNoIG5pY2h0IHZlcmRpZW50IGhhYmVuLgoKRW50dGFldXNjaHQgYmluIGljaCBhdXNzZXJkZW0gdWViZXIgZGllIFVudGVyc3RlbGx1bmcsIGRpZSBob2VoZXJlbiBNYWdpZXIKd29sbHRlbiBzaWNoIGFscyBTa3JpcHRqYWVnZXIgZXRhYmxpZXJlbiB1bmQgZWluZW4gbmV1ZW4gR3J1bmQgenVtIFNub29wZW4KZmluZGVuIChkLiBoLiBzaWUgaGFldHRlbiBkaWUgbmV1ZSBSZWdlbHVuZyBudXIgYXVzIHB1cmVtIFNwYXNzIGFtIEFlcmdlcm4KdW5kIE1hY2h0Z2VpbGhlaXQgZXJsYXNzZW4pLiBXYXMsIHVuZCBiZWkgc29sY2hlbiBMZXV0ZW4gc3BpZWxzdCBEdSBub2NoCmltIE11ZD8gRGllIGhhYmVuIERlaW5lIEFud2VzZW5oZWl0IGRvY2ggZ2FyIG5pY2h0IHZlcmRpZW50IQpEZWluZSBBdWZmb3JkZXJ1bmcsIGF1ZiBSZXBsaWVzIHp1IERlaW5lbSBBcnRpa2VsIHp1IHZlcnppY2h0ZW4sIGluIGFsbGVuCkVocmVuLCBhYmVyIHdlciBlaW5lIHNvbGNoZSBFaW5zdGVsbHVuZyB2ZXJicmVpdGV0IHdpZSBEdSwgZ2Vob2VydCBhdWNoCmRhcmYgZWluZmFjaCBuaWNodCBrb21tZW50YXJsb3MgZGF2b25rb21tZW4uCldlbm4gc2ljaCBkaWUgU3RhZW5rZXJlciBiZXJ1aGlndCBoYWJlbiAob2RlciB3YWhsd2Vpc2UgaWhyZSBTdGFlbmtlcmVpZW4KaW4gYW5kZXJlIE11ZHMgYWxzIGRhcyBNRyBnZXRyYWdlbiBoYWJlbiB1bmQgYXVjaCBiaXR0ZSBkb3J0IGJsZWliZW4pLAprb21tZSBpY2ggZ2VybmUgd2llZGVyICh2b3JoZXIgdHJpZmZ0IG1hbiBzaWNoIGluIEJpZWxlZmVsZCkuIEltIHVlYnJpZ2VuCmhhYmVuIGRpZSBFcnppcyBlcyBtaXQgaWhyZW4gTWFzc25haG1lbiB1bmQgUmVnZWxuIHNlbGJzdCBpbiBkZXIgSGFuZCwKd2VsY2hlcyBTcGllbGVycHVibGlrdW0gc2llIGhhYmVuLiBTaWUgaGF0dGVuIGhpZXIgZWluZSBncnVuZHNhZXR6bGljaGUKRW50c2NoZWlkdW5nIHp1IHRyZWZmZW4sIG9iIHNpZSBlaGVyIEV4dHJlbXNrcmlwdGVyIG9kZXIgZWhlciBzb3ppYWwgZWluLQpnZXN0ZWxsdGUgU3BpZWxlciBoaWVyIGhhYmVuIHdvbGxlbiwgdW5kIGljaCBiaW4gZnJvaCwgZGFzcyBzaWUgZGllIHJpY2h0aWdlCkVudHNjaGVpZHVuZyBnZXRyb2ZmZW4gaGFiZW4uIEljaCBob2ZmZSwgaW4gd2VuaWdlbiBXb2NoZW4gd2VyZGVuIHNpY2ggYXVjaApkaWUgZ3Jvc3NlbiBTa3JpcHRzcGllbGVyIGFuIGRlbiBWZXJsdXN0IGlocmVzIGJpc2hlcmlnZW4gUHJpdmlsZWdzIGdlLQp3b2VobnQgaGFiZW4gdW5kIGVuZGxpY2ggUnVoZSBnZWJlbiwgZGFtaXQgZGllcyB3aWVkZXIgZWluIGxpZWJlbnMtIHVuZApsZWJlbnN3ZXJ0ZXMgTXVkIHdpcmQuCkJlaXRyYWNoIE1hcml0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9iICEgKE9ya3RvZXRlciwgIDkuIEZlYiAxOTk2LCAxMDoxMjoxOSk6CkRpZXNlciBBcnRpa2VsIHJpY2h0ZXQgc2ljaCBhbiBhbGxlIFNwaWVsZXIsIGJpdHRlIGxlc3QgaWhuLCBEYW5rZSAhCgpEYXMgTG9iIGlzdCBmdWVyIHVuc2VyZSBNYWdpZXIgZ2VkYWNodCwgZGllIHNpY2ggc2NobGllc3NsaWNoIHZvZWxsaWcKdW5lbnRnZWxkaWNoIGhpbnNldHplbiB1bmQgaW1tZXIgbmV1ZSBEaW5nZSBwcm9nZ2VuLCBGZWhsZXIgYXVzbWVydHplbiB1bmQKVmVyc3VjaGVuLCBhbGVuIFd1ZW5zY2hlbiBkZXIgU3BpZWxlciBnZXJlY2h0IHp1IHdlcmRlbiAoZGFzIGRhcyBuaWNodCBpbW1lcgpnZWh0IGlzdCBkb2NoIHdobCBrbGFyICEpLgpEaWUgTXVlbnN0ZXJhbmVyIE1hZ2llciBwZmxlZ2VuIGRhcnVlYmVyIGhpbmF1cyBhdWNoIG5vaGMgZGllIEhhcmR3YXJlW0RbRFtECgpEYXMgYWxsZXMgbWFjaGVuIGRpZSBzaWNoZXJsaWNoIG5pY2h0LCB3ZWlsIHNpZSB1bnMgU3BpZWxlciBhZXJnZXJuIHdvbGxlbiwKd2VyZGFzIGVybnN0bGljaCBnbGF1YnQgdHV0IG1pciBsZWlkLgoKQWxzbywgYmV2b3IgaWhyIGVpbmVuIEFydGlrZWwgc2NocmVpYnQsIG9kZXIgb2VmZmVudGxpY2ggS3JpdGlrIGFldXNzZXJ0LApkZW5rdGRvY2ggYml0dGUgZXJzdCBub2NoIGVpbm1hbCBkYXJ1ZWJlciBuYWNoIHVuZCB2ZXJzdWNodCBkYW5uLCB3ZW5uIGVzCmV1cmVyIE1laW5uZyBuYWNoIGRlbm4gc2VpbiBtdXNzLCBkb2NoIHdlbmlnc3RlbnMgaW0gU3RpbCBob2VmbGljaCB6dSBibGVpYmVuCjopCgpVbmQgd2VpbCBpY2ggZ2VyYWRlIGRhYmVpIGJpbiwgbm9jaCBlaW5lIEJpdHRlIGFuIGRpZSBNYWdpZXIgOgpHZXJhZGUgZnVlciBuZXVlcmUgU3BpZWxlciBpc3QgZ2FyIG5pY2h0IHVuYmVkaW5ndCBiZWthbm50LCB3aWUgZGFzIGdhbnplCmFibGV1dCwgd2VyIGxldHplbmRsaWNoIGRpZSBWZXJhbnR3b3J0dW5nIHRyYWVndCB1bmQgc28gd2VpdGVyLiBBbHMganVuZ2VyClNwaWVsZXIgZWxlYnQgbWFuIGluIFplaXRlbiB3aWUgZ2VyYWRlIGpldHp0IHdpZWRlciwgZGFzIGRhcyBNRyBkYXVlcm5kIG5ldQpnZXN0YXJ0ZXQgd2lkIHVuZCBtYW4gc2ljaCB3aWVkZXIgbmV1ZSBBdXNydWVzdHVuZyBob2xlbiBtdXNzLgpJY2ggZmFlbmRlIGVzIGRhaGVyIG5ldHQsIHdlbm4gZXMgbW9lZ2xpY2ggd2FlcmUgYmVpIHJlYm9vdHMgKG5pY2h0IGNyYXNocyA6KQopCmVpbmVuIGtsZWluZW4gQXJ0aWtlbCBpbiBkaWUgbXBhIHp1IHNldHplbiwgd2FydW0gZXMgZGVubiBzZWluIG11c3MKKGludGVyZXNzaWV0IG1pY2ggdWVicmlnZW5zIGF1Y2ggaGV1dGUgbm9jaCBpbW1lciB3aWVkZXIgOikgKQpXZW5uIG1hbCB3aWVkZXIgbmV1ZSBFaW5zdGVsbHVuZ2VuIGZ1ZXJzIEdsZWljaGdld2ljaHQgbm9ldGlnIHNpbmQsIHJlaWNodCBqYQplbiBlbnRzcHJlY2hlbmRlciBhcnRpa2VsIGF1cy4KCmRhbmtlIGZ1ZXJzIGxlc2VuIGFuIGFsbGUsIGRpZSBzbyB3ZWl0IGdla29tbWVuIHNpbmQgdW5kIHNvcnJ5IGZ1ZXIKVGlwcGZlaGxlciBuZCBhZWhubGljaGVzCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFjaHQgU2Nod2VydGVyIHp1IFphcGZoYWVobmVuIChEdXJpYW4sICA5LiBGZWIgMTk5NiwgMTE6MjU6MTYpOgp+IyEgcm49SmVycmljbyBydD04MjM4MDc1NzYKfiMhIHRpZD04MjM4MDc1NzYKCk9oIG1hbm4gLi4uCgpKZXJyaWNvIHNjaHJlaWJ0IC4uLgoKU29sbGVuIGFsbGUgTWVuc2NoZW4gYXVmcyBHZWhlbiB2ZXJ6aWNodGVuLCBudXIgd2VpbCBlaW5pZ2UgTWVuc2NoZW4Ka2VpbmUgQmVpbmUsIGRpZSBzaWUgenVtIEdlaGVuIGJlbnV0emVuIGtvZW5uZW4sIGJlc2l0emVuID8iCgoKQWxzbyBkYXMgaXN0LCB0cm90eiBEZWluZXIgQW5tZXJrdW5nZW4gdm9yaGVyLCBzbyB6aWVtbGljaCBkYXMgLi4uLgpkdWVtbXN0ZSAuLi4gd2FzIGljaCBzZWl0IFdvY2hlbiBpbiBkZXIgWmVpdHVuZyBsZXNlLiBIYXN0IER1IGF1Y2ggbnVyCmFuc2F0endlaXNlCnZlcnN0YW5kZW4sIHdvcnVtIGVzIGdlaHQsIHdlbm4gd2lyIHVtIENoYW5jZW5nbGVpY2hoZWl0IHJlZGVuPwoKS2VpbiB3ZWl0ZXJlciBLb21tZW50YXIKCi0gRHVyaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdXIgc28gZWluIEdlZGFua2UgLi4uIChNb3NoLCAgOS4gRmViIDE5OTYsIDEzOjAyOjA3KToKSGFsbG8gTGV1dGUuCkljaCBsZXNlIGpldHp0IHNjaG9uIHNlaXQgY2EuIDEgU3R1bmRlIGRpZXNlIFNjcmlwdCBEaXNra3Vzc2lvbgp1bmQgamUgbWVociBpY2ggbGVzZSwgZGVzdG8gbWVociBtZWluZSBpY2gsIGRhc3Mgc2ljaCBkaWVzZXMgVmVyYm90CkhBVVBUU0FFQ0hMSUNIIGF1ZiBUUklHR0VSIGJlemllaGVuIHNvbGx0ZS4gRGVubiB3ZWdzY3JpcHRzIHNpbmQgamEKbnVubWFsIHdpcmtsaWNoIG51ciBlaW5lIGFuZWluYW5kZXJyZWlodW5nIHZvbiBiZWZlaGxlbiwgdW5kIG9iIGRhIG51bgplaW4gJ29lZmZuZSB0dWVyJyBvZGVyIGVpbiAnZm9sZ2UgaHVuZCcgKHdpZSBzaWVodHMgZGEgZWlnZW50bGljaAptaXQgZWluZW0gJ3RlbGVwcm90aWVyZScgYXVzPykgc3RlaHQsIGlzdCBhbnNjaGVpbmVuZCBqYSBuaWNodCBzbyBzY2hsaW1tLgpXYXMgYWxsZXJkaW5nIHMgc2NobGltbSB6dSBzZWluIHNjaGVpbnQsIGlzdCwgd2VubiB6LkIuIGRpZSBXYWx6ZSBpbgpkZXIgU1NQIGltICdXZWcnIHN0ZWh0LCBkYXNzIGRhcyB2b20gJ3dlZ3NjcmlwdCcgZXJrYW5udCB3aXJkLCB1bmQgZGFubgp2ZXJzdWNodCBkaWUgd2FsemUgenUgcGxhZXR0ZW4uIFVuZCBkYXMgZmluZGVuIGF1Y2ggYW5kZXJlIHNwaWVsZXIgbmljaHQKbmV0dCAoYWxzbyBJQ0ggenVtaW5kZXN0KS4gV2FzIGthbm4gbWFuIGRlbiBzY2hvbiBzY2hvZW5lcyBtaXQgZWluZW0Kc2NyaXB0IE9ITkUgdHJpZ2dlciBhbnN0ZWxsZW4/IGFsc28gaWNoIGthbm4gbWlyIG5peCBlcnNpbm5lbi4uLgoKZmFsbHMgaWNoIGRhIGZhbHNjaCBsaWVnZSwga2xhZXJ0IG1pY2ggYXVmLCBzY2hpY2t0IG1pciBldXJlIHNjcmlwdHMgLi46PgphbnNvbnN0ZW4gbW9lY2h0ZSBpY2ggenUgc29sY2hlbiBnZXRyaWdnZXJ0ZW4gc2NyaXB0cyBub2NoIHNvdmllbCBzYWdlbjoKc2llIHNpbmQgdW5mYWlyIHVuZCBiZWFlbmdzdGlnZW4gKGFic2NocmVja2VuZCkhIHN0ZWxsdCBldWNoIGVpbmVuIG5ldWVuCnNwaWVsZXIgdm9yLCBkZXIgaW0gendlcmdlbmxhZGVuIHN0ZWh0OiBkYSBrb21tdCBkYXVlcm5kIHNvIGVpbgpzcGllbGVyIGluIGRlbiBsYWRlbiB1bmQgdmVya2F1ZnQgZGEgdW5iZWthbm50ZSBzYWNoZW4sIHVuZCBkYXMgbWFzc2VuaGFmdAooaGF0IGVyIGJ6dy4gc2VpbiBzY3JpcHB0IGluIGRlciBzc3AgZ3JhZCBlcmJldXRldCkuIG9kZXIgaWNoIG1ldHplbApkYSBncmFkIGFuIGVpbmVtIGdhcmRld2FlY2h0ZXIgKG5pY2h0IGZ1ZXIgZGllIGF1c3J1ZXN0dW5nLCBzb25kZXJuIGZ1ZXIKZGllIEVQcyB1bmQgZGEga29tbXQgZWluZXIgYW4gdW5kIGhhdXQgaWhuIG1pciBhaG5lIGVpbmVuIGtyYXR6ZXIKYWJ6dWtyaWVnZW4gdm9yIGRlciBmcmVzc2Ugd2VnLCBtYWNodCBnbGVpY2ggbm9jaCBkZW4gMi4gdW0sIHVuZApyZW5udCB3ZWl0ZXIgenVtIG5hZWNoc3RlbiB3YWVjaHRlciAuLiAodW5kIHNvIHN0b3JpZXMgZ2lidHMgdmllbGUhKQpzZWxic3QgbWljaCBtYWNoZW4gc29sY2hlIGRpbmdlIGltbWVyIHdpZWRlciB2ZXJydWVja3QuCmVzIHdhZXJlIGVpbmZhY2ggc2Nob2VuLCB3ZW5uIGxldXRlLCBkaWUgc28gbWFlY2h0aWcgc2luZCB3aWUKcnluZSwgZnl0LCBzbHlmb3ggdW5kIENvIChkaWUgZmFsbGVuIG1pciBoYWx0IGdyYWQgZWluKSBldHdhcyBydWVja3NpY2h0Cm5laG1lbiBrb2VubnRlbiBhdWYgbGV1dGUsIGRpZSBuaWNodCBzbyBzdXBlcm1hbiBtYWVzc2lnIGR1cmNoIGRpZQpTU1AgcmVubmVuIGtvZW5uZW4uIHVuZCBydWVja3NpY2h0bmFobWUgaXN0IG1pdCBzY3JpcHRlbiBuaWNodCBtZWhyCm1vZWdsaWNoLgooYXByb3BvczogaWNoIG1vZWNodGUga2VpbmVuIGRlciBvYmVuIGdlbmFubnRlbiBwZXJzb25lbiBhbmtsYWdlbiwgc293YXMKc293YXMgZ2VtYWNodCB6dSBoYWJlbiwgaWNoIHdvbGx0ZSBkYW1pdCBudXIgZGllIHBlcnNvbmVuZ3J1cHBlIGRlcgptYWVjaHRpZ2VuIHNwaWVsZXIgZGVmaW5pZXJlbi4pCgpzbywgamV0enQgaGFiIGljaCBtaXIgZmVpbmRlIGdlbnVnIGdlbWFjaHQsIGRhcnVtIHNjaGxpZXNlIGljaCBtaXQKZWluZW0gZmF6aXQ6CiAgICAgICAgICAgSWNoIHJpY2h0ZSBtaWNoIG5hY2ggZGVuIHNwaWVscmVnZW5sbiwgd2VpbHMgQUxMRSB0dW4gc29sbHRlbgp1bmQgd2VubiBkaWUgc3BpZWxsZWl0ZXIgZWluc2VoZW4sIGRhc3MgZGllIHJlZ2VsbiBzY2hsZWNodCBzaW5kLAp3ZXJkZW4gc2llIGdlYWVuZGVydCEgKGJlaSBndXRlbiBzcGllbGxlaXRlcm4genVtaW5kZXN0ISkKCiAgICB2aWVsIHNwYXNzIG5vY2ggYmVpIGRlciBkaXNrdXNzaW9uIHd1ZW5zY2h0IGVpbgogIE1vc2gKICAgIGRlciBzZWluZSAnb2VmZm5lIHR1ZXInIGF1cyBkZW4gd2Vnc2NyaXB0cyBlbnRmZXJudCBoYXQhCiAgIChuZWluLCBpY2gga3JpZWNoZSBuaWNodCBpbSBkcmVjaywgaWNoIHdpbGwgbnVyIG1pdCBnbGVpY2hnZS0Kc2lubnRlbiB3ZWl0ZXJzcGllbGVuKQouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEthbXBmc2NyaXB0ZSAoTW9zaCwgIDkuIEZlYiAxOTk2LCAxMzoyNDowMik6Cn4jISBybj1Benp1cm8gcnQ9ODIzMzc1MDc5Cn4jISB0aWQ9ODIzMzc1MDc5CkhhbGxvIEF6enVybwpBbHNvIGRpZXNlIElkZWUgZmluZGUgaWNoIG5pY2h0IHNvIHRvbGwsIGRlbm4gc3RlbGwgZGkgbWFsCmZvbGdlbmRlcyB2b3I6CmljaCB3ZXJmZSBlaW5lbiBjaGFvc2JhbGwgYXVmIG1laW5lbiBnZWduZXIgdW5kIGRhbm4ga2FubiBpY2gKZ2VzY2hsYWdlbmUgMiBydW5kZW4gbmljaCBmbGllaGVuIC4uLi4gYWxzbyBEQVMgaXN0IG5pY2ggU08gdG9sbAp1bmQgYXVzc2VyZGVtIHVudGVyc3R1ZXR6dCBtYW4gZGFtaXQgbnVyIGRpZSBrYXJhdGVnaWxkZSB1bmQgc2Nod2FlY2h0CmRpZSBiZWlkZW4gYW5kZXJlbiAuLi4gKHdvYmVpIGljaCBkZW5rZSwgZGFzcyBkaWUga2FyYXRlZ2lsZGUKZGllIHN0YWVya3N0ZSBpc3QsIGRlbm4gc2NodSBkaXIgbWFsIGFuLCB3aWUgZWluIGhvY2hzdHVmaWdlciBrYXJhdGVrYQphdWNoIE9ITkUgTVBzIG5vY2ggbWV0emVsdCAuLi4gdW5kIHZlcmdsZWljaGUgZGFzIG1hbCBtaXQgZWluZW0gY2hhb3RlbgpvZGVyIGFiZW50ZXVyZXIgb2huZSBNUHMuIHNpY2hlciwga2FyYXRlIGRhdWVydCBsYW5nZSwgYmlzIG1hbiBzbwp3ZWl0IGlzdCwgYWJlciAuLi4uIChkaWVzZSBkaXNrdXNzaW9uIGdlaG9lcnQgYWJlciBuaWNodCBoaWVyIGhlciB1bmQKc2Nob24gZ2FyIG5pY2h0IGVyc3QgamV0enQhKSkKCiAgIE1vc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQYXVzZSAoQXNtb2RpcywgIDkuIEZlYiAxOTk2LCAxNjozMzo1MSk6Cn4jISBybj1NYW5nbyBydD04MjM4Nzk5NTQKfiMhIHRpZD04MjMxNzUzNDYKdW5zaW5uLCB3aWUgc29sbCBtYW4gYXVmIGZoIGtvbW1lbj8KSWNoIGhhYiBmYiBmdWVyIGZvbGdlIGJlcm5oYXJkaW5lcgoKZmYgc3RlaHQgZnVlciBmcmFnZSBmdW5ha29zaGkgbmFjaCAmKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmlsZXMgbG9zdCEgKENhdHdlYXpsZSwgIDkuIEZlYiAxOTk2LCAxOTowNDowMCk6CkhpIQpCZWkgZWluZW0gdW5zZXJlbiBqdWVuZ3N0ZW4gUGxhdHRlbmFic3R1ZXJ6ZSAtIGRlciBiZWkgZGVtIGRlciBQcm8tCnplc3Nvcmt1ZWhsZXIga2FwdXR0IHdhciB1bmQgZGVyIFByb3plc3NvciBmYXN0IGR1cmNoZ2VzY2htb3J0CmlzdCAtIGhhdCBkZXIgZnNjayAoRGF0ZW5yZXR0dW5nc2RpZW5zdCBmdWVyIExhaWVuIDotKSBlaW5pZ2UsIGJ6dy4KZXRsaWNoZSBmaWxlcyBhbnNjaGVpbmVuZCB6ZXJzY2hvc3Nlbi4KV2lyIGhhYmVuIGVyc3QgbWFsIGFiZ2V3YXJ0ZXQsIG9iIHdhcyBwYXNzaWVydCBpc3QsIHdpciBkYWNodGVuLCB3ZW5uIHdhcwpmZWhsdCwgd2VyZGVuIHdpciBlcyBtZXJrZW4uIERhcyBpc3QgbmljaHQgZ2VzY2hlaGVuLgpKZXR6dCBpc3QgdW5zIGluIGxldHp0ZXIgWmVpdCBhYmVyIGRvY2ggenUgT2hyZW4gZ2Vrb21tZW4sIGRhcyBlaW5pZ2UKU0FjaGVuIGRlZmVrdCBzaW5kLiBJY2ggaGFiIHpCIGdyYWQgYmVpIG5lciBTdWNoZSBjYS4gNTAgTnVsbGZpbGVzCmdlZnVuZGVuLCBlcyBzb2xsIGF1Y2ggZmlsZXMgbWl0IGxhdXRlciBOdWxsZW4gZ2ViZW4gKG5laW4sIHdpcgpncnVlbmRlbiBqZXR6dCBLRUlORSBBRyA6KS4KV2VzaGFsYiBpY2ggZGllc2VuIEFydGlrZWwgc2NocmVpYmUuIFdFTk4gRXVjaCB3YXMgYXVmZmFlbGx0LCB3YXMgaW1tZXIKZ2V0YW4gaGF0LCBqZXR6dCBhYmVyIG5pY2h0IG1laHIgR0VCVCBCZXNjaGVpZCEhIQpFbnR3ZWRlciBiZWkgTWlyIG9kZXIgYmVpIEpvZiwgb2RlciBiZWltIHp1c3RhZW5kaWdlbiBNYWdpZXIhISBJY2gKaGFldHRlIGdlZGFjaHQsIHZlcmxvcmVuZSBmaWxlcyBmaW5kZW4gc2ljaCB2b24gc2VsYnN0LCBkdXJjaCBNZWNrZXJuCmRlciBTcGllbGVyLCBhYmVyIGlociBzZWlkIGFuc2NoZWluZW5kIHJ1aGlnZXIgYWxzIGljaCBkYWNodGUuCldlbm4gaWNoIGFsc28gd2FzIHVuZ2V3b2hubGljaGVzIGZpbmRldCwgbWVsZGVuISEKWW91cnMgdHJ1bHksCiAgICAgIENhdHdlYXpsZQoKUFM6IFVuZCBzY2hyZWlidCBkYXMgYml0dGUgbmljaHQgaGllcnJlaW4sIHNvbmRlcm4gbWFpbHQgZXMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuemVpZ2VuIChTaWJvcml0LCAgOS4gRmViIDE5OTYsIDIyOjIxOjE0KToKRnVlciBtZWluZW4gTXVkY2xpZW50IGJpbiBpY2ggYXVmIGRlciBTdWNoZSBuYWNoIGJlc3RpbW10ZSBXQVYuZGF0ZWllbiwgZGllCm1pdCBNb3JnZW5ncmF1ZW4genUgdHVuIGhhYmVuLgpGdWVyIG1laW5lbiBNdWRjbGllbnQgYmluIGljaCBhdWYgZGVyIFN1Y2hlIG5hY2ggYmVzdGltbXRlIFdBVi5kYXRlaWVuLCBkaWUKbWl0IE1vcmdlbmdyYXVlbiB6dSB0dW4gaGFiZW4uCkhhc3QgZHUgYWxzbyBzZWxiZXIgc29sY2hlIGRhcnRlaWVuIChpY2ggZGVua2Ugei5CLiBhbiBzY2hyZWllbmRlIE1hZW5uZXIsClNjaHdlcnRlIHVzdykgb2RlciBoYXN0IGR1IGVpbmUgSWRlZSB3byBpY2ggc29sY2hlcyBoZXJiZWtvbW1lCnNjaHJlaWIgbWlyIGRhbm4gbWFsIGJpdHRlLgpzY2hyZWliIG1pciBkYW5uIG1hbCBiaXR0ZS4KU2lib3JpdCA6dikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFjaHQgU2Nod2VydGVyIHp1IFphcGZoYWVobmVuIChaaWxsdXMsICA5LiBGZWIgMTk5NiwgMjM6MTc6MzQpOgp+IyEgcm49RHVyaWFuIHJ0PTgyMzg2MTUxNgp+IyEgdGlkPTgyMzgwNzU3NgptaXIgaXN0IGF1Y2ggbmljaHQga2xhciwgd2llc28gaW0gTW9yZ2VuR3JhdWVuIENoYW5jZW5nbGVpY2hoZWl0IGFuenVzdGViZW4KaXN0LiBFcyBpc3QgZG9jaCBlaW5lIG5hdHVlcmxpY2hlIFRhdHNhY2hlICwgZGFzcyBqZWRlciBhbmRlcmUgQ2hhbmNlbiBoYXQuCldpZXNvIHNvbGwgZGFzIG51biBtaXQgUmVnZWxuLCBWZXJib3RlbiB1LmEuIHZlcmhpbmRlcnQgd2VyZGVuPwoKVmllbGxlaWNodCBrYW5uIGRhcyBtaXIgamVtYW5kIG1hbCBlcmxhZXV0ZXJuLi4uCgpjaWFvLCBaaWxsdXMKClBTIGVzIGdpYnQgbm9jaCBtaW5kZXN0ZW5zIGVpbiBEdW50emVuZCBhbmRlcmUgUHVua3RlLCBkaWUgZGllCkNoYW5jZW5nbGVpY2hoZWl0IGJlZWluZmx1c3Nlbi4gWnVtIEJlaXNwaWVsIGlzdCBlaW5lciBkZXIgZGFzClplaG5maW5nZXJzeXN0ZW0gZ3V0IGJlaGVycnNjaHQsCmJlZGV1dGVuZCBzY2huZWxsZXIgaW0gdGlwcGVuIGFscyBpY2ggLi4uCnEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hY2h0IFNjaHdlcnRlciB6dSBaYXBmaGFlaG5lbiAoQW5hdG9sLCAgOS4gRmViIDE5OTYsIDIzOjI5OjU4KToKfiMhIHJuPVppbGx1cyBydD04MjM5MDQyNTQKfiMhIHRpZD04MjM4MDc1NzYKCgovKgoKV2VubiBEdSBkYXMgdG9sbCBmaW5kZXN0LCBaaWxsdXMsIGRhc3MsIHdhZWhyZW5kIER1IGF1ZiBlaW5lbSBEZWxmZW53YWVjaHRlcgpydW1rbG9wZnN0LCBlaW4gYW5kZXJlciBoZXJlaW5zY3JpcHRldCwgZGllIFdhZWNodGVyIHVtaGF1dCB1bmQgd2llZGVyCnZlcnNjaHdpbmRldCwgb2huZSBhdWNoIG51ciBlaW4gV29ydCB6dSBzYWdlbiBvZGVyIGRhbmFjaCBhdWYgTWl0dGVpbHVuZ2VuIHp1CnJlYWdpZXJlbiwgYml0dGUuCldlbm4gRHUgZGFzIHRvbGwgZmluZGVzdCwgZGFzcywgd2FlaHJlbmQgRHUgbXVlaHNhbSBQcm9taWxsZSBmdWVyIFByb21pbGxlCkthcmF0ZSBsZXJuc3QsIGVpbiBhbmRlcmVyIHZpYSBTY3JpcHQgNSBQcm96ZW50IHBybyBOYWNodCBkcmF1ZmhhdXQgKHVuZCBub2NoCnN0b2x6IGRhcmF1ZiBpc3QpLCBiaXR0ZS4KV2VubiBEdSBkYXMgdG9sbCBmaW5kZXN0LCBkYXNzIGRpZSBNYWdpZXIgYmVnaW5uZW4sIE1vbnN0ZXIgenUgc2NocmVpYmVuLCBiZWkKZGVuZW4gbWFuIC0gdW5hYmhhZW5naWcgdm9uIGRlciBBbnphaGwgZGVyIEJldGVpbGlndGVuIC0gc2NobmVsbCBzZWluIE1VU1MgdW5kCmF1ZiBXZWdlc2NyaXB0ZSBhbmdld2llc2VuIGlzdCAod2VpbCBtYW4gc29uc3QgZWl0aGVyIGVpbmVuIFJlc2V0IG9yIGVpbgpnZWhlaWx0ZXMgTW9uc3RlciB2b3Igc2ljaCBoYXQpLCBiaXR0ZS4KQWJlciBiZXNjaHdlcicgRGljaCBuaWNodCwgd2VubiBuaWNodCBhbGxlIERlaW5lciBNZWludW5nIHNpbmQsIG9rPwoKSUhNTyBkaWVudCBkaWUgU2NyaXB0ZWluc2NocmFlbmt1bmcgbmljaHQgZGF6dSwgZGllIFNjcmlwdGVyIHp1IHNjaGFlZGlnZW4sCnNvbmRlcm4gZGllIE5pY2h0LVNjcmlwdGVyIChkaWUgaW4gbWVpbmVuIEF1Z2VuIGRpZSBub3JtYWxlcmVuIGRlciBWZXJydWVja3RlbgpzaW5kKSB6dSBzY2h1ZXR6ZW4uCgoqLwoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVhbnRyYWdlIHJ1YnJpayBmdWVyIHNjcmlwdC1kaXNjdXNzaW9uZW4gKEtldG9zLCAxMS4gRmViIDE5OTYsIDE3OjU5OjU3KToKc2llaGUgdGl0ZWwgLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVhbnRyYWdlIHJ1YnJpayBmdWVyIHNjcmlwdC1kaXNjdXNzaW9uZW4gKExvY28sIDExLiBGZWIgMTk5NiwgMTg6MDk6MDcpOgp+IyEgcm49S2V0b3MgcnQ9ODI0MDU3OTk3Cn4jISB0aWQ9ODI0MDU3OTk3CkVzIHdhZXJlIHNjaG9uIGdhbnogaGlsZnJlaWNoLCB3ZW5uIGFsbGUgTGV1dGUgJ2FudHdvcnRlJyBiZW51dHplbiB3dWVyZGVuLAp1bmQgbmljaHQgZGVyIE1laW51bmcgd2FlcmVuLCBzaWUgbXVlc3N0ZW4gdW5uYmVkaW5ndCBpaHJlbiBlaWdlbmVuIGFjaCBzbwp2aWVsIGJlc3NlciBwYXNzZW5kZW4gVGl0ZWwgd2FlaGxlbi4gRGFubiBrb2VubnRlIG1hbiBuYWVtbGljaCBlaW5mYWNoIGRlbgp0aHJlYWQgaWdub3JpZXJlbiAoJ3VlYmVyZ2VoZSB0aHJlYWQnKS4gSW4gZGllc2VyIERpc2t1c3Npb24gaGFiZSBpY2ggZXR3YSAxMAp0aHJlYWRzIGlnbm9yaWVydCwgdW5kIGtyaWVnZSB0cm90emRlbSBub2NoIHZpZWwgenUgdmllbCBNdWVsbCBhbmdlbGllZmVydC4KCkZyb21tZXIgV3Vuc2NoIGFtIFJhbmRlLAogICAgICAgICAgICAgICAgICAgICAgICAgIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBoYWJlIGRpZSBTY2huYXV0emUgdm9sbCAoSXNub2dvb2QsIDEyLiBGZWIgMTk5NiwgMDE6NTM6MTIpOgpJY2ggaGFiZSBiaXNoZXIgYXVmbWVya3NhbSBkaWUgRGlza3Vzc2lvbiBkZXIgbGV0enRlbiBXb2NoZW4gdmVyZm9sZ3QKdW5kIGF1Y2ggZ2FueiBiZXd1c3N0IG1pY2ggYmlzaGVyIG5jaHQgenUgZGVtIFRoZW1hIGdlYWV1c3NlcnQsIG5hY2hkZW0KTW90dG86ICBXZW5uIERpY2ggZXR3YXMgYXVmcmVndCwgZGFubiBzY2hsYWZlIGVyc3QgbWFsIGRydWViZXIsIGFiZXIKd2FzIGpldHp0IGhpZXIgaW1tZXIgZGV1dGxpY2hlciB6dW0gQXVzZHJ1Y2sga29tbXQsIGRhcyBrYW5uIGljaCBuaWNodAptZWhyIEtvbW1lbnRhcmxvcyBzdGVoZW4gbGFzc2VuLCB3b2JlaSBtaWNoIHdlbmlnZXIgZGllIEVudHNjaGVpZHVuZwphbHMgc29sY2hlIGF1ZnJlZ3QsIGFscyB2aWVsbWVociBkaWUgR2Vpc3Rlc2hhbHR1bmcsIGRpZSBkYWhpbnRlcgpzdGVodC4KRGEgaXN0IHp1bSBlaW5lbiBNYWwgZGllIFNjaGVpbmhlaWxpZ2tlaXQgZGVyIEFyZ3VtZW50YXRpb24uCkRhIHdpcmQgdm9uIENoYW5jZW5nbGVpY2hoZWl0IGdlc3Byb2NoZW4sIGRpZSBlcyB3ZWRlciBpbSBNdWQgbm9jaCBpbQpMZWJlbiBqZSBnZWJlbiBrYW5uLiAgV2VyIGVpbmUgYmVzc2VyZSBMZWl0dW5nIGhhdCBpc3QgaW0gVm9ydGVpbC4gIFdlcgplaW5lbiBTZWhlciBrZW5udCwgaXN0IGltIFZvcnRlaWwuICBXZXIgZWluZW4gTWFnaWVyIGtlbm50IG5vY2ggdmllbAptZWhyLiAgV2VyIHNjaG5lbGwgdGlwcGVuIGthbm4gaXN0IGltIFZvcnRlaWwuICBXZXIgVEYgYmVudXR6dCBpc3QgaW0KVm9ydGVpbC4gIERpZSBMaXN0ZSBsaWVzZSBzaWNoIGJlbGllYmlnIGZvcnRzZXR6ZW4uCkRhIHdpcmQgYmVoYXVwdGV0LCBkaWUgU3BpZWxlciB3dWVyZGVuIHNpY2ggZHVjaCBTY3JpcHRlIGdlc3RvZXJ0CmZ1ZWhsZW4uICBXZW5uIGRlbSBzbyBzZWksIHdhcnVtIHRyYXV0IG1hbiBzaWNoIGRhbm4gbmljaHQsIHZvciBlaW5lcgpzb2xjaGVuIEVudHNjaGVpZHVuZyBPRUZGRU5UTElDSCBkYXJ1ZWJlciB6dSBkaXNrdXRpZXJlbj8gIFZpZWxsZWljaHQKd2VpbCBzaWNoIGRhbm4gcmF1c3N0ZWxsZW4gd3VlcmRlLCBkYXMgc2ljaCBkb2NoIG5pY2h0IHNvIHZpZWxlCmdlc3RvZXJ0IGZ1ZWhsZW4/LgpEYW5uIHdpcmQgYmVoYXVwdGV0LCBlcyB3YWVyZSBkZW0gU3BpZWxzcGFzcyBhYnRyYWVnbGljaC4gIERhIG11c3MgaWNoCm1pciBkb2NoIGFuIGRlbiBLb3BmIGZhaHJlbi4gIFdlciBnbGF1YnQgSWhyIEVyem1hZ2llcmUgZWlnZW50bGljaCwgd2VyCmlociBzZWlkLCBkYXNzIGlociBhbmRlcmVuIFNwaWVsZXJuIHZvcnNjaHJlaWJlbiBrb2VubnQsIHdhcyBpaHJlbQpTcGllbHNwYXNzIGFiLSBvZGVyIHp1dHJhZWdsaWNoIGlzdD8gIERpZSBlaW5lbiBoYWJlbiBTcGFzcyBhbSBRdWVzdGVuLApkaWUgYW5kZXJlbiBhbSBNZXR6ZWxuLCBkaWUgZHJpdHRlbiBsYWJlcm4gbnVyIHVuZCBkaWUgNC4gd29sbGVuIGhhbHQKc2NyaXB0ZW4uICBEaWUgZWluZW4gU3BpZWxlbiBsaWViZXIgYWxsZWluZSB1bmQgZGllIGFuZGVyZW4gbGllYmVyIGluCmVpbmVyIEdydXBwZSwgdWViZXJsYXNzdCBkb2NoIGJpdHRlIGRpZSBFbnRzY2hlaWR1bmcsIHdpZSBqZWRlciBpbSBNdWQKZ2x1ZWNrbGljaCB3ZXJkZW4gd2lsbCwgaWhtIHNlbGJzdCwgdWViZXIgc292aWVsIEFycm9nYW56IGthbm4gaWNoIGVjaHQKbnVyIG5vY2ggZGVuIEtvcGYgc2NodWV0dGVsbi4gIEFiZ2VzZWhlbiBkYXZvbiBpc3QgZXMgaW4gbWVpbmVuIEF1Z2VuCmVpbiBBcm11dHN6ZXVnbmlzLCBhdWYgZGVyIGVpbmVuIFNlaXRlIFNjcmlwdGUgdmVyYmlldGVuIHp1IHdvbGxlbiB1bmQKYXVmIGRlciBhbmRlcmVuIFNlaXRlIG5pY2h0IGluIGRlciBMYWdlIHp1IHNlaW4sIGRhcyBNdWQgc28genUKZ2VzdGFsdGVuLCBkYXMgU2NyaXB0ZW4gendlY2tsb3Mgd2FlcmUsIGphIGltIEdlZ2VudGVpbCwgaW1tZXIgbmV1ZQpHaWxkZW4gdW5kIE1vbnN0ZXIgenUgZXJzY2hhZmZlbiwgZGllIHp1bSBTY3JpcHRlbiBqYSBnZXJhZGV6dQplaW5sYWRlbi4KRGFzIG5hZWNoc3RlIHVuZCB2aWVsbGVpY2h0IGVudHNjaGVpZGVuc3RlIGlzdCBkYW5uIGRpZSBGcmFnZSBkZXIKRGVmaW5pdGlvbi4gIERhIHdpcmQgYXVmIGRlciBlaW5lbiBTZWl0ZSBnYW56IGtsYXIgZGVmaW5pZXJ0LCB3YXMKZXJsYXVidCBpc3QgdW5kIHdhcyBuaWNodCwgYXVmIGRlciBhbmRlcmVuIFNlaXRlIGRhbm4gYmVoYXVwdGV0IG1hbmNoZQpTYWNoZW4sIHdpZSBvZWZmbmUgVHVlciB3YWVyZW4gamEgbmljaHQgc28gc2NobGltbS4gIEVudHdlZGVyIG1hY2h0IGlocgplaW5lIGtsYXJlIExpc3RlLCB3YXMgZXJsYXVidCBpc3QgdW5kIHdhcyBuaWNodCB1bmQgZGFubiBnaWx0IGRpZSBkYW5uCmF1Y2ggZGVmaW5pdGl2IG9kZXIgaWhyIGxhc3N0IGVzIGdhbnogYmxlaWJlbi4gIFNvIG11c3Mgc2ljaCBqZWRlbmZhbGxzCmRlciBWZXJkYWNodCBhdWZkcmFlbmdlbiwgZGFzcyBoaWVyIG1pdCB6d2VpbGVybGVpIE1hc3MgZ2VtZXNzZW4gd2lyZC4KV2VyIHNpY2ggYmVpIGRlbiBFTSdzIGxpZWIgS2luZCBtYWNodCB1bmQgaW1tZXIgc2Nob2VuIHVuZCBicmF2IGphIHNhZ3QKdW5kIHNlaW5lbiBNdW5kIGhhZWx0LCBkZXIgZGFyZiBkYW5uIGF1Y2ggZWluIG9lZmZuZSBUdWVyIGluIHNlaW5lbQpTY3JpcHQgdmVyd2VuZGVuIHVuZCB3ZW4gbWFuIG5pY2h0IGxlaWRlbiBrYW5uLCBkZW4gbG9lc2NodCBtYW4gZWJlbgpkZXN3ZWdlbi4gIFNvIHN0ZWxsZSBpY2ggbWlyIGVpbmUgc3RhYXRzYnVlcmdlcmxpY2hlIEVyemllaHVuZyB2b3IuCkdhbnogdG9sbC4KQWxzIG5hZWNoc3RlcyBkYW5uIGRpZSBTdHJhZmVuLiAgV2VyIHNjcmlwdGV0IGtyaWVndCBiZWltCmVyc3Rlbm1hbCBzZWluZSBTdGF0cyB2ZXJyaW5nZXJ0LCBiZWltIHp3ZWl0ZW4gbWFsIHdpcmQgZXIgZ2Vsb2VzY2h0LgpXZXIgZWluZW4gUEsgbWFjaHQsIG11c3MgbnVyIGVpbiBiaXNjaGVuIGF1c3NldHplbiB1bmQgd2lyZCBlcnN0IGJlaW0KMy4gTWFsIGdlbG9lc2NodC4gIFdlbm4gZGllc2UgUmVsYXRpb25lbiBlaW4gQmlsZCBhdWYgZGllCkdlaXN0ZXNoYWx0dW5nIGRlciBWZXJhbnR3b3J0bGljaGVuIGhpZXIgd2VyZmVuICh1bmQgZGVyIEVpbmRydWNrCmRyYWVuZ3Qgc2ljaCBnZXJhZGV6dSBhdWYpLCBkYW5uIEd1dGUgTmFjaHQuCkRhcyBhbGxlcmJlc3RlIGlzdCBkYW5uIGRhcyBWZXJib3QsIHNjcmlwdGUgdW5kIEtvbXBsZXR0bG9lc3VuZ2VuCndlaXRlcnp1Z2ViZW4uICBJY2ggc3RpbW1lIHp3YXIgbWl0IGRlbiBtZWlzdGVuIGRhcmluIHVlYmVyZWluLCBkYXNzCktvbXBsZXR0bG9lc3VuZ2VuIGRlbiBTcGllbHNwYXNzIGtpbGxlbiwgYWJlciBkYXMgc29sbHRlIGplZGVyIGZ1ZXIKc2ljaCBlbnRzY2hlaWRuLiAgRGF2b24gYWJnZXNlaGVuLCB3YWVyZSBlcyBlaW5lIEtsZWluaWdrZWl0LCBxdWVzdGVuCnNvIHp1IHByb2dyYW1taWVyZW4sIGRhcyBLb21wbGV0dGxvZXN1bmdlbiBzaW5ubG9zIHNpbmQgKGlzdCBqYSB6dW0KVGVpbCBzY2hvbiBnZXNjaGVoZW4pLiAgTnVyIGZyYWdlIGljaCBtaWNoIGFsbGVuIGVybnN0ZXMgd2VyIGlociBnbGF1YnQKenUgc2VpbiwgZGFzcyBpaHIgbWlyIHZlcmJpZXRlbiB3b2xsdCwgaXJnZW5kZXR3YXMgYXVzc2VyaGFsYiBkZXMgTXVkcwp6dSB0dW4uICBXYXMgaWNoIGF1ZiBtZWluZW0gRlRQLVNlcnZlciwgaW4gbWVpbmVyIE1haWxib3ggb2Rlcgpzb25zdGlyZ2VuZHdvIGF1c3NlcmhhbGIgZGVzIE11ZHMgYW5iaWV0ZSBnZWh0IGV1Y2ggZWluZW4gZmV1Y2h0ZW4KS2VocmljaHQgYW4gdW5kIGljaCB3ZXJkZSBtaXIgYmVzdGltbXQgbmljaHQgdm9uIGVpbiBwYWFyCkdyb2Vzc2Vud2FobnNpbm5pZ2VuIHZvcnNjaHJlaWJlbiBsYXNzZW4sIHdhcyBpY2ggZG9ydCBoaW4gbGVnZSB1bmQgd2FzCm5pY2h0LiAgR290dCBzZWkgRGFuayBsZWJlbiB3aXIgaW4gZWluZW0gTGFuZCwgaW4gZGVtIHNvbGNoZSBTYWNoZW4gd2llCkluZm9ybWF0aW9ucy0gdW5kIE1laW51bmdzZnJlaWhlaXQgdmVyZmFzc3VuZ3NyZWNodGxpY2hlbiBTY2h1dHoKZ2VuaWVzc2VuLCBhYmVyIGRhIHNjaGVpbnQgaWhyIGluIGRlciBTY2h1bGUgZ2VyYWRlIGdlZmVobHQgenUgaGFiZW4uCkRhIHBhc3N0IGVzIGF1Y2ggbnVyIHp1IGd1dCBpbnMgQmlsZCwgd2VubiBkYW5uIGFuZGVyZSBTcGllbGVyIGJlaQpqZWRlciBHZWxlZ2VuaGVpdCBhbHMgYXNzb3ppYWwgYmV6ZWljaG5ldCB3ZXJkZW4sIG51ciB3ZWlsIHNpZSBldWVyCkdlZGFua2VuZ3V0IG5pY2h0IHRlaWxlbi4KTWlyIHdpcmQgQW5nc3QgdW5kIGJhbmdlLCB3ZW5uIGljaCBtaXIgdm9yc3RlbGxlLCBkYXMgTGV1dGUgd2llIGlociBpbgpkaWVzZW0gU3RhYXQgZWlubWFsIGV0d2FzIHp1IHNhZ2VuIGhhYmVuIGtvZW5udGVuLiAgSWNoIGhvZmZlLCBlcyB3aXJkCm5pZSBzb3dlaXQga29tbWVuLgpFcyB3aXJkIGltbWVyIHdpZWRlciBiZWhhdXB0ZXQsIGVpbiBNdWQgbGllc3NlIHNpY2ggbmljaHQgZGVtb2tyYXRpc2NoCmZ1ZWhyZW4uIERhcyBzdGltbXQgdmllbGxlaWNodCwgdmllbGxlaWNodCBhdWNoIG5pY2h0LiBBdWYgamVkZW5mYWxsCnNvbGx0ZXQgaWhyIEV1Y2ggZGFydWViZXIgaW0ga2xhcmVuIHNlaW4sIGRhc3MgaWhyIGluZCBkZW0gTW9tZW50LCBhbHMKaWhyIGRlbiBGb2VyZGVydmVyZWluIGdlZ3J1ZW5kZXQgaGFidCwgYXVjaCBldXJlIGRpa3RhdG9yaXNjaGVuCkFuc3BydWVjaGUgYXVmZ2VnZWJlbiBoYWJ0LiBXZW5uIGplbWFuZCBmdWVyIGV0d2FzIGJlemFobHQsIGRhbm4gaGF0IGVyCmF1Y2ggZGFzIFJlY2h0IG1pdHp1ZW50c2NoZWlkZW4uIFZvIGFuZGVyZXIgTGV1dGUgR2VsZCBkZW4gUmVjaG5lcgpiZXphaGxlbiB1bmQgZGFubiBzYWdlbjogQmV6YWhsZW4gZGFyZnN0IGR1LCBhYmVyIG5hY2ggbWVpbmVyIFBmZWlmZmUKdGFuemVuIG11c3N0IER1IHRyb3R6ZGVtLCBpc3QgbmljaHQuCkF1ZmplZGVuZmFsbCBrYW5uIGljaCBtaWNoIG1pdCBlaW5lbSBNdWQsIGluZGVtIGRpZSBFcnptYWdpZXJlIHp1bQphbGxlcmdyb2Vzc3RlbiBUZWlsIGVpbmUgc29sY2hlIEdlaXN0ZXNoYWx0dW5nIGFuIGRlbiBUYWcgbGVnZW4sIGJlaW0KYmVzdGVuIHdpbGxlbiBuaWNodCBtZWhyIGlkZW50aWZpemllcmVuIHVuZCB3ZXJkZSBlcyBhdWNoIG5pY2h0IG1laHIKdW50ZXJzdHVldHplbi4gIFZpZWxsZWljaHQgc2NoYXVlIGljaCBtYWwgYWIgdW5kIGFuIG5vY2ggcmVpbiwgdW0genUKc2NoYXVlbiBvYiBzaWNoIHdhcyBnZWFlbmRlcnQgaGF0LCBhYmVyIGRhcyB3aXJkIHdvaGwga2F1bSBwYXNzaWVyZW4uCkdvdHQgc2VpIERhbmsgc2luZCBqYSBlaW4gSGF1ZmVuIGFuZGVyZXIgZGV1dHNjaHNwcmFjaGlnZXIgTXVkcyBpbQpBdWZiYXUsIHNvIGRhc3MgaW4gWnVrdW5mdCBkaWUgU3BpZWxlciBuaWNodCBtZWhyIGF1ZiBkYXNzIE1vcmdlbmdyYXVlbgphbmdld2llc2VuIHNlaW4gd2VyZGVuLiAgTWlyIHR1dCBlcyBsZWlkIHVtIGRpZSB2aWVsZW4gRnJldW5kZSB1bmQKQmVrYW5udGVuLCBkaWUgaWNoIGhpZXIgaGFiZSwgdW5kIHVtIGRpZSB2aWVsZSBBcmJlaXQsIGRpZSB2b24gbWFuY2hlbgpNYWdpZXJuIGhpZXIgcmVpbmdlc3RlY2t0IHd1cmRlLiAgSWNoIGthbm4gaWhuZW4gbnVyIGVtcGZlaGxlbjogIExhc3N0CmV1cmVuIENvZGUgc3BlcnJlbiB1bmQgdmVyd2VpZ2VydCBkaWUgTWl0YXJiZWl0LCB2aWVsbGVpY2h0IGlzdCBkYXMgamEKZWluIFdlZywgZGllIEdvZXR0ZXIgd2llZGVyIHp1ciBWZXJudW5mdCB6dSBicmluZ2VuLiAgSWNoIHd1ZW5zY2hlIEV1Y2gKYWxsZXMgR3V0ZSB1bmQgZGVtIE1vcmdlbmdyYXVlbiwgZGFzcyBlcyBpcmdlbmR3YW5uIG1hbCB3aWVkZXIgZGFzCndpcmQsIHdhcyBlcyBtYWwgd2FyLgoKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGhhYmUgZGllIFNjaG5hdXR6ZSB2b2xsIChVbG8sIDEyLiBGZWIgMTk5NiwgMDI6MDU6MzIpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODI0MDg2MzkyCn4jISB0aWQ9ODI0MDg2MzkyCkRpZXNlciBBcnRpa2VsIHZlcnJhZXQgbWVociB1ZWJlciBEaWNoLCBhbHMgZXIgdWViZXIgYW5kZXJlIHZlcnJhZXQuCkRlciBBdWZydWYgQ29kZSB6dSBzcGVycmVuLCB1bSBkYW1pdCBFTXMgdW5kIEdvZXR0ZXIgenUgZXJwcmVzc2VuLCBpc3QKZWluZSBGcmVjaGhlaXQhIEZ1ZXIgd2VuIGhhZWxzdCBlaWdlbnRsaWNoIERVIERpY2g/CgpVbG8gKGtyaWVndCBkYXMgS09UWkVOIGJlaW0gdm9yaGVyaWdlbiBBcnRpa2VsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGZ1ZXIgZWluIHNjaHJlY2tsaWNoZXMgbGFnIGhldXRlIChTbHlmb3gsIDEyLiBGZWIgMTk5NiwgMDY6MzE6MTYpOgpUamEsIGpldHp0IHNjaGF1IGljaCBoaWVyIHVtIDUuNDUgbW9yZ2VucyBpbnMgTXVkLCB1bmQgYmluIHNvZ2FyIGZhc3QKYWxsZWluZS4gQWJlciB3aXIgaGFiZW4gaGllciBtYWwgd2llZGVyIHNvIGVpbiBiZXNjaCoqKm5lIFZlcmJpbmR1bmcsIHVuZApkYXMgdW0gZGllc2UgWmVpdCwgdGFnc3VlYmVyIG1laXN0ZW5zIG5pY2h0LCBkYWZ1ZXIgbGFndCdzLCB3ZWlsIHp1dmllbApsb3MgaXN0IGhpZXIuICpzZXVmeioKCkRhIGdlaCBpY2ggd29obCBhbSBiZXN0ZW4gd2llZGVyLgoKICBEYXMgV29obmhlaW0tTmV0eiB2ZXJmbHVjaGVuZAoKICAgICAgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbHBhdXNlIChQbGFua3RvbiwgMTIuIEZlYiAxOTk2LCAwOTo0MDo1MSk6CgpJY2ggSGFiZSBlaW5lIEFubWVya3VuZyB6dXIgIlNwaWVscGF1c2UiLiBJY2ggZmluZGUgZXMgbmljaHQgZ3V0LCBkYXNzIG1hbgp3ZW5uIG1hbiBlaW5lIFNwaWVscGF1c2UgZWluZ2V0cmFnZW4gaGF0LCB1bmQgc2ljaCB1bnRlciBzZWluZW0gTmFtZW4KZWlubG9nZ2VuIHdpbGwsIGJlaW0gdmVyc3VjaHN3ZWlzZW4KRWlubG9nZ2VuIHVudGVyIHNlaW5lbSBNdWQtTmFtZW4gZGFydWViZXIgaW5mb3JtaWVydCB3aXJkLCBkYXNzIGVzIGVpbmVuClNwaWVsZXIgZGllc2VzIE5hbWVucyBnaWJ0IHVuZCBkYXNzIGRpZXNlciBlaW5lIFNwaWVscGF1c2UgbWFjaHQuIEljaCBmaW5kZQpkZXJqZW5pZ2UgZGVyIGVpbiBTcGllbHBhdXNlIG1hY2h0LCB0dXQgZGllcyBhdXMgYmVzdGltbXRlbiBHcnVlbmRlbgoodmllbGxlaWNodCB1bSBlaW5tYWwgInVudGVyenV0YXVjaGVuIikgdW5kIG1vZWNodGUgZGFubiBkYXNzIHNlaW5lCkFub255bWl0YWV0IGdld2FocnQKYmxlaWJ0LiBJY2ggaGllbHRlIGVzIGZ1ZXIgc2lubnZvbGxlciBkYXMgRWlubG9nZ2VuIHVudGVyIGRpZXNlbSBOYW1lbiBvaG5lCkFuZ2FiZSB2b25HcnVlbmRlbiB6dSB2ZXJ3ZWlnZXJuLgpQbGFua3RvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBoYWJlIGRpZSBTY2huYXV0emUgdm9sbCAoQW5hdG9sLCAxMi4gRmViIDE5OTYsIDA5OjQ4OjI0KToKfiMhIHJuPUlzbm9nb29kIHJ0PTgyNDA4NjM5Mgp+IyEgdGlkPTgyNDA4NjM5MgoKLyoKCk1pciB0dW4gZGllIE1hZ2llciBsZWlkLCBkaWUgX2dlend1bmdlbl8gc2luZCwgYXVmIHNvbGNoZSBBcnRpa2VsIHp1CmFudHdvcnRlbi4uLiBJY2ggYmluIHp3YXIgIm51ciIgU3BpZWxlciAocGFoLCBpY2ggYmluIHN0b2x6IGRyYXVmLCBlcyBpbW1lcgpub2NoIHp1IHNlaW4hKSwgZXJncmVpZmUgYWJlciBnZXJuZSBQYXJ0ZWkgZnVlciBkaWUgYXJtZW4gU2Nod2VpbmUsIGRpZSBkYXMKaGllciBhbHMgaWhyIEhvYmJ5IGFuc2VoZW4gdW5kIHByb2dyYW1taWVyZW4uCgphKSBFcyBpc3QgdWViZXJoYXVwdCBuaWNodCBlaW5mYWNoLCBNb25zdGVyIHNjcmlwdGZlaW5kbGljaCB6dSBzY2hyZWliZW4uCmIpIEVzIGlzdCBWRVJEQU1NVCBTQ0hXRVIsIGVpbmUgUXVlc3Qgc28genUgc2NocmVpYmVuLCBkYXNzIHNpZSBuaWNodAogICBzY3JpcHRiYXIgaXN0LgpjKSBFcyBnYWIgc2VociB3b2hsIG9lZmZlbnRsaWNoZSBEaXNrdXNzaW9uZW4gdW5kIEJlc2Nod2VyZGVuIHVlYmVyIFNjcmlwdGVyLAogICBkaWUgZW50d2VkZXIgZHVyY2ggZGFzIHVubm9ldGlnZSBHZXNjcm9sbGUgKGtvbW10IGluIGRpZSBLYXJhdGVnaWxkZSwKICAgemllaHQgR2kgdW5kIEd1ZXJ0ZWwgYW4sIHF1aXR0ZXQuIEtvbW10IGluIGRpZSBLYXJhdGVnaWxkZSwgemllaHQuLi4pCiAgIG9kZXIgZHVyY2ggZGFzIHJlaWNobGljaCB1bnZlcnNjaGFlbXRlIFdlZ2hhdWVuIHZvbiBNb25zdGVybiAoIkthbm4gamEKICAgZ2FyIG5pY2h0IHNlaW4sIGRhc3MgRHUgdm9yIG1pciBhbSBCYWxyb2cgd2Fyc3QsIGljaCBtYWNoIGRpZSBSdW5kZSBhbGxlCiAgIDQ1IE1pbnV0ZW4gdW5kIHdhcnRlIGRlc2hhbGIgZWggc2Nob24gbGFlbmdlciBhbHMgRHUuIikgZGVuIEJvZ2VuIHp1CiAgIHVlYmVyc3Bhbm5lbiB3dXNzdGVuLgogICBTbywga29ubnRlIGRhcmFuIGV0d2FzIGdlYWVuZGVydCB3ZXJkZW4/IEFoLCB1bmQgd2FydW0gbmljaHQ/IEViZW4uCgoqLwoKQ29tbWVudCZPcGluaW9uLApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGhhYmUgZGllIFNjaG5hdXR6ZSB2b2xsIChMYWlsYSwgMTIuIEZlYiAxOTk2LCAxMDo0MjoxOCk6Cn4jISBybj1Jc25vZ29vZCBydD04MjQwODYzOTIKfiMhIHRpZD04MjQwODYzOTIKSGFsbG8gSXNuby4uLgpMYW5nZXIgQXJ0aWtlbCBrdXJ6ZSBBbnR3b3J0IQoKSG9mZm51bmdzbG9zIHVlYmVydHJpZWJlbiEhIQoKTGFpbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFiZSBkaWUgU2NobmF1dHplIHZvbGwgKEpvZiwgMTIuIEZlYiAxOTk2LCAxMzozNTo0OSk6Cn4jISBybj1Jc25vZ29vZCBydD04MjQwODYzOTIKfiMhIHRpZD04MjQwODYzOTIKCiBOdXIgZWluIFdvcnQgenU6IFdhcyBpY2ggYXVzc2VyaGFsYiBkZXMgTXVkcyBhdWYgbWVpbmVtIEZUUC1TZXJ2ZXIgYW5iaWV0ZSwKZ2VodCBldWNoIGVpbmVuIEtlaHJpY2h0IGFuIC0gZGFzIGlzdCBTY2h3YWNoc2lubi4gRGllIExldXRlLCBkaWUgZGllIFF1ZXN0cwpnZXNjaHJpZWJlbiBoYWJlbiwgaGFiZW4gd29obCBhdWNoIGRhcyBSZWNodCwgenUgdmVyYmlldGVuLCBkYXNzIGRhZnVlciBLb20tCnBsZXR0bG9lc3VuZ2VuIGFuZ2Vib3Rlbm0gd2VyZGVuIC0gaWNoIG1vZWNodGUgbWFsIHNlaGVuLCB3YXMgcGFzc2llcnQsCndlbm4gRHUgYXVmIGVpbmVtIEZUUC1TZXJ2ZXIgaW4gZGVyIEJ1bmRlc3JlcHVibGlrIGVpbmVuICdDcmFjaycgZnVlciBjb3B5LQpyaWdodC1nZXNjaHVldHp0ZSBTb2Z0d2FyZSBhbmJpZXRlc3QsIG1hbiB3aXJkIERpY2ggd29obCBtaW5kZXN0ZW5zIGF1ZiBTY2hhLQpkZW5zZXJzYXR6IHZlcmtsYWdlbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFiZSBkaWUgU2NobmF1dHplIHZvbGwgKFRyeWZhbiwgMTIuIEZlYiAxOTk2LCAxNDoxOTowNyk6Cn4jISBybj1Jc25vZ29vZCBydD04MjQwODYzOTIKfiMhIHRpZD04MjQwODYzOTIKWnVzYW1tZW5mYXNzdW5nIGZ1ZXIgZGllLCBkaWUgbmljaHQgYWxsZXMgbGVzZW4gd29sbGVuLgoKLSBEaWVzZXIgQXJ0aWtlbCBiZXppZWh0IHNpY2ggbmljaHQgbnVyIGF1ZiBTY3JpcHRzCi0gSmEgTUcgaXN0IGVpbiBTcGllbCBtaXQgUmVnZWxuLCBkYXMgamVkZW0genVtIE1pdHNwaWVsZW4gYW5nZWJvdGVuIHdpcmQKLSBFaW4gQW5nZWJvdCBoYXQgbmljaHRzIG1pdCBWb3JzY2hyaWZ0ZW4genUgdHVuCi0gRGllIFJlZ2VsbiB3ZXJkZW4gdm9tIFNwaWVsZWVyZmluZGVyIHVuZCAtYmVyZWl0c3RlbGxlciBmZXN0Z2VsZWd0IAotIFdlbSBkaWUgUmVnZWxuIG5pY2h0IGdlZmFsbGVuLCBtdXNzIG5pY2h0IG1pdHNwaWVsZW4KLSBXZXIgc2llIHZlcnN1Y2h0IHp1IHVudGVybGF1ZmVuLCBnZWhvZXJ0IHJhdXNnZXdvcmZlbgoKRGFzIE1HIGlzdCBlaW4gU3BpZWwhIEVpbiBTcGllbCBoYXQgUmVnZWxuLCBkYW1pdCBlcyBmdW5rdGlvbmllcnQgdW5kIApSZWdlbG4sIGRpZSBkaWUgVm9ybGllYmVuIHVuZCBJbnRyZXNzZW4gZGVyIEVyZmluZGVyIGRlcyBTcGllbHMgd2lkZXItCnNwaWVnZWxuLiBXZW5uIGplbWFuZCBzb3ZpZWwgWmVpdCB1bmQgRW5lcmdpZSBhdWZ3ZW5kZXQsIGRhcyBTcGllbApmdWVyIGFuZGVyZSBhYndlY2hzbHVuZ3NyZWljaCB1bmQgYW5zcHJ1Y2hzdm9sbCB6dSBnZXN0YWxsdGVuLCBkYXNzIGVyIApzZWxiZXIgbmljaHQgbWVociBvZGVyIG51ciBzZWhyIGVpbmdlc2NocmFlbmt0IG1pdHNwaWVsZW4ga2FubiwgZGFyZiBtYW4KZXMgaWhtIG5pY2h0IHZvcndlcmZlbiwgd2VubiBlciBkaWUgUmVnZWxuIG1hc3NnZWJsaWNoIG1pdGdlc3RhbHRldC4KIFdlbSBkYXMgU3BpZWwgZ2VmYWVsbHQsIGthbm4gbWl0c3BpZWxlbiB1bmQgYXVjaCBtYWwgbmV1ZSBJZGVlbiB6dSBuZXVlbgpSZWdlbG4gdm9yc2NobGFnZW4uIFdlbSBkYXMgU3BpZWwgbmljaHQgZ2VmYWVsbHQsIGthbm4gZXR3YXMgYW5kZXJlcwpzcGllbGVuIG9kZXIgZWluIGVpZ2VuZXMgU3BpZWwgZXJmaW5kZW4uIEFiZXIgd2VyIHZlcnN1Y2h0LCBkaWUgUmVnZWxuCnp1IHVudGVybGF1ZmVuIHVuZCB6dSBib3lrb3RpZXJlbiwgaXN0IGVpbiBTcGllbHZlcmRlcmJlciB1bmQgc29sbHRlIHJhdXMtCmdld29yZmVuIHdlcmRlbi4gIAogU2NyaXB0ZSBsYXVmZW4gZGVtIENoYXJha3RlciBlaW5lcyBSb2xsZW5zcGllbGVzIGV4dHJlbSBlbnRnZWdlbi4gRGEgc2ljaAplaW4gVmVyYm90IGFiZXIgbWVpbmVyIEFuc2ljaHQgbmFjaCBuaWNodCBnZXJlY2h0IGR1cmNoc2V0enRlbiBsYWVzc3QsIApzb2xsdGUgbWFuIGVoZXIgdmVyc3VjaGVuIGRpZSBVcnNhY2hlbiB6dSBiZWthZW1wZmVuLiBEYXMgaXN0IGFiZXIgYXVjaApkZXIgZWluemlnZSBQdW5rdCBiZWkgZGVtIGljaCBtaXQgSXNub2dvb2QgdWViZXJlaW5zdGltbWUuIChCZWkgZGVuIFBLcyBoYXQKZXIgYXVjaCByZWNodC4pCiBIaWVyIHdpcmQgbmllbWFuZGVtIGV0d2FzIHZvcmdlc2NocmllYmVuLiBNRyBpc3QgZWluZSB2b2VsbGlnIGZyZWl3aWxsaWdlClNhY2hlLiBXZW0ncyBoaWVyIG5pY2h0IGdlZmFlbGx0IGthbm4gc2ljaCBhdXNsb2dnZW4uIFVuZCB3ZW5uIGhpZXIKamVtYW5kIGV0d2FzIGdlc3BlbmRldCBoYXQsIHNvIHdhciBkYXMgYXVjaCB2b2VsbGlnIGZyZWl3aWxsaWcuIERhcyBXb3J0CidTcGVuZGUnIGJlaW5oYWx0ZXQgZGFzIHNvZ2FyLCB1bmQgZWluZSBTcGVuZGUga2FubiBuaWVtYWxzIG1pdCBpcmdlbmR3ZWxjaGVuCkFuc3BydWVjaGVuIHZlcmJ1bmRlbiBzZWluLCBhdXNzZXIgZGFzcyBzaWUgendlY2tnZWJ1bmRlbiB2ZXJ3ZW5kZXQgd2lyZC4KTmllbWFuZCB3aXJkIGhpZXIgZ2V6d3VuZ2VuIGRlbSBWb2VyZGVydmVyZWluIGJlaXp1dHJldGVuLiBEYXMgTUcgd2lyZAp2b2VsbGlnIGdyYXRpcyB6dXIgVmVyZnVlZ3VuZyBnZXN0ZWxsdC4gCiBXZXIgaW4gZGVtIFp1c2FtbWVuaGFuZyB2b24gdmVyZmFzc3VuZ3NyZWNodGxpY2hlbiBTY2h1dHogb2RlciBnYXIgCmRpa3RhdG9yaXNjaGVuIEFuc3BydWVjaGUgcmVkZXQsIGhhdCBuaWNodCBudXIgaW4gZGVyIFNjaHVsZSBnZWZlaGx0LCBzb25kZXJuCnNlaW5lbiBWZXJzdGFuZCBhdXNnZXNjaGFsdGV0LiBJY2gga2FubiBkYSBudXIgZW1wZmVobGVuLCBkZW4gUmVjaG5lcgpnbGVpY2ggbWl0IGF1c3p1c2NoYWx0ZW4uIEVzIGdpYnQgaW4gZGVyIFRhdCBub2NoIGFuZGVyZSBNdWRzIG1pdCBhbmRlcmVuIApSZWdlbG4uIEZ1ZXJzIFNjcmlwdGVuIHVuZCBNZXR6ZWxuIHNpbmQgd2FocnNjaGVpbmxpY2ggc29sY2hlIG1pdCBXb3J0LQpmZXR6ZW4gd2llICdkb29tJyBvZGVyICdiYXR0bGUnIGdlZWlnbmV0LiBJY2ggbW9lY2h0ZSBkaWVzZSBEaXIgSXNub2dvb2QKdW5kIGRlbmVuLCBkaWUgc28gZGVua2VuIHdpZSBEdSwgd2Flcm1zdGVucyBlbXBmZWhsZW4uIEljaCB3ZWluZSBEaXIga2VpbmUKVHJhZW5lIGhpbnRlcmhlci4KCVRyeWZhbiwgZGVyIHNvd29obCBnZWdlbiBTY3JpcHRzIGFscyBhdWNoIGlociBWZXJib3QgaXN0CgkgICAgICAgIHVuZCBkYXp1IG5vY2ggTWl0Z2xpZWQgZGVzIFZvZXJkZXJ2ZXJlaW5zIGlzdCB1bmQKCQlnZXNwZW5kZXQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVscGF1c2UgKExvY28sIDEyLiBGZWIgMTk5NiwgMTQ6Mjc6NDcpOgp+IyEgcm49UGxhbmt0b24gcnQ9ODI0MTE0NDUxCn4jISB0aWQ9ODI0MTE0NDUxCkRlciBGaW5nZXIgemVpZ3QgU3BpZWxwYXVzZW4gYXVjaCBhbiwgdW5kIGRhcyBhdWYgYWxsZ2VtZWluZW4gV3Vuc2NoLiBJY2gKZ2xhdWJlIG5pY2h0LCBkYXNzIGVzIGltIEludGVyZXNzZSBkZXIgbWVpc3RlbiwgZGllIGVpbmUgU3BpZWxwYXVzZSBtYWNoZW4sCmlzdCwgd2VubiBhbmRlcmUgZGF2b24gbmljaHQgZXJmYWhyZW4ga29lbm5lbi4KV2VubiBkZXJqZW5pZ2UsIGRlciBlaW5lIFNwaWVscGF1c2UgbWFjaGVuIHdpbGwsIG5pY2h0IHdpbGwsIGRhc3MgZGFzIGFuZGVyZQptaXRiZWtvbW1lbiwgZGFubiBtdXNzIGVyIGRpZSBoYWx0IHNvIGR1cmNoZnVlaHJlbiwgZGFzcyBlciBlaW5mYWNoIG5pZWNodAptZWhyIGVpbmxvZ2d0LiBBdWNoIHdlbm4gZGFzIHZpZWxsZWljaHQgc2Nod2VyZXIgZHVyY2h6dWhhbHRlbiBpc3QsIGFscyB3ZW5uCmVzIHVlYmVyaGF1cHQgbmljaHQgbWVociBnZWh0LgoKU293ZWl0IGRhenUsCiAgICAgICAgICAgIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFiZSBkaWUgU2NobmF1dHplIHZvbGwgKEVuZ3l3dWNrLCAxMi4gRmViIDE5OTYsIDE1OjM2OjIwKToKfiMhIHJuPUlzbm9nb29kIHJ0PTgyNDA4NjM5Mgp+IyEgdGlkPTgyNDA4NjM5MgpBbHNvIGljaCBmYW5kIElzbm9nb29kcyBBcnRpa2VsIGltIGdyb3NzZW4gdW5kIGdhbnplbiBLbGFzc2UuCkF1Y2ggd2VubiBpY2ggbmljaHQgc28gd2VpdCBnZWhlLCBtaWNoIGhpZXIgenUgdmVyYWJzY2hpZWRlbiwgZGVubiBkYSBpY2ggZWgKZmFzdCBudXIgenVtIGxhYmVybiB1bmQgU2NoZWlzcyBlcnphZWhsZW4gaGllciBiaW4gKEdydXNzIGFuIE9ldHRpIDspIGFlbmRlcnQKc2ljaCBmdWVyIG1pY2ggbml4LgpBYmVyIGFscyBITE0gc29sbHRlIG1hbiBzaWNoIHNjaG9ubWFsIHZvciBBdWdlbiBoYWx0ZW4sIGRhc3MgZGllIFN0aW1tdW5nIFZPUgplbSBTY3JpcHR2ZXJib3QgbGFlbmdzdCBuaWNodCBzbyBzY2hsZWNodCB3YXIgd2llIGRhbmFjaC4gU2NyaXB0ZW5kZSBTcGllbGVyCnNjaGVpbmVuIGFsc28gZG9jaCBuaWNodCBzbyBuZXJ2aWcgenUgc2VpbiB3aWUgd2lsbGt1ZXJsaWNoZSBWZXJib3RlIHZvbgpFcnptYWdpZXJuLCBkaWUgc2Nob24gc2VpdCBnZXJhdW1lciBaZWl0IG5pY2h0IG1laHIgd2lzc2VuLCB3aWUgbWFuIFNwaWVsc3Bhc3MKc2NocmVpYnQuClNjcmlwdHNwaWVsZXIgaGFiZW4gaGllciBub2NoIG5pZW1hbmRlbSB6dW0gQXVzd2FuZGVybiBnZXp3dW5nZW4sIGRpZQp3aWxsa3VlcmxpY2hlbiBBa3Rpb25lbiBkZXIgbGV0enRlbiBXb2NoZW4gaGFiZW4gamVkb2NoIHNjaG9uIGVpbmlnZW4gZGVuClNwYXNzIGFtIE1HIHZlcm1pZXN0LgpQcmltYSBMZXV0ZSwgbWFjaHQgbnVyIHdlaXRlciBzby4KCkVuZ3l3dWNrCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggaGFiZSBkaWUgU2NobmF1dHplIHZvbGwgKEhhcmRpbCwgMTIuIEZlYiAxOTk2LCAxNTo0MTo0Myk6Cn4jISBybj1Fbmd5d3VjayBydD04MjQxMzU3ODAKfiMhIHRpZD04MjQwODYzOTIKCkhldWx0IGRvY2ggYWxsZS4KCkplZGVyIHdlaXNzLCBkYXNzIGRpZWplbmlnZW4sIGRpZSB2aWVsIFplaXQgaGllciBpbnZlc3RpZXJlbiwgdW0gYWxzIFNwaWVsZXIKbWl0IGVuZGxvc2VuIFNjcmlwdGVuIHp1ICJzcGllbGVuIiwgYXVjaCBlYmVuc292aWVsIFplaXQgaW4gZW5kbG9zZQpKYW1tZXJhcnRpa2VsIHN0ZWNrZW4uCkljaCBrYW5uIG5pY2h0cyBkYXZvbiBlcmtlbm5lbiwgZGFzcyBkaWUgU3RpbW11bmcgc2NobGVjaHRlciBnZXdvcmRlbiB3YWVyZS4KRGllIDA4LzE1LU11ZGRlciwgZGllIG5pY2h0IG9kZXIga2F1bSBnZXNjcmlwdGV0IGhhYmVuLCBsYWNoZW4gc2ljaCBuYWVtbGljaAptYXhpbWFsIHVlYmVyIGRpZSBnYW56ZSBEaXNrdXNzaW9uIHRvdC4KRGFzIGVpbnppZ2UsIHdhcyBtaXQgYXVmZmFlbGx0LCBpc3QgZGFzIGV0d2FzIGR1ZW5uIGdld29yZGVuZW4gTmVydmVua29zdHVlbQplaW5pZ2VyIEVNIHVuZCBHLCB3YXMgbWFuIGFuIGRlciBBbnphaGwgZGVyIEFydGlrZWwsIGRpZSBuYWNoIG11ZWxsIHZlcmxlZ3QKd2VyZGVuLCBlcmtlbm5lbiBrYW5uLiA6KQoKVm9uIG1pciBhdXMga29lbm50IGlociB3ZWl0ZXIgZGllIE1QQSBmdWVsbGVuLiBEYW5uIGhhYiBpY2ggd2VuaWdzdGVucyB3YXMgenUKbGVzZW4uIEVybnN0IG5laG1lbiBzb2xsdGUgbWFuIGRhcyBlaCBuaWNodCAtIGRhcyBoaWVyIGlzdCBlaW4gU3BpZWwuIFZlcmdlc3N0CmRhcyBuaWNodC4KCi1IYXJkaWwuCkhldXRlIG1hbCB6dWZhZWxsaWdlcndlaXNlIG1pdCBldHdhcyBNb3JhbGluIGltIEJsdXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBoYWJlIGRpZSBTY2huYXV0emUgdm9sbCAoRmVsYWd1bmQsIDEyLiBGZWIgMTk5NiwgMTU6NDI6MDkpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODI0MTM1NzgwCn4jISB0aWQ9ODI0MDg2MzkyCkFsc28gd2VubiBpaHIgbmljaHQgMiBNaWxsaW9uZW4gQXJ0aWtlbCB6dSBkZW0gVGhlbWEgc2NocmVpYmVuIHd1ZXJkZXQgdW5kCmV1Y2ggZGFiZWkgZG9wcGVsdCBzbyBvZnQgYmVsZWlkaWdlbiwgc29uZGVybiBkaWUgUmVnZWx1bmcgZWluZmFjaApha3plcHRpZXJlbiwgc29sYW5nZSBzaWUgZXVjaCBuaWNodCBiZXRyaWZmdC9zY2hhZWRpZ3QsIGRhbm4gaGFldHRlIGRhcyBhdWYKZGllIFN0aW1tdW5nIEtFSU5FUkxFSSBBdXN3aXJrdW5nZW4gZ2VoYWJ0LCBhbHNvIGJlcnVoaWd0IGV1Y2ggYml0dGUgZW5kbGljaC4KZ3J1c3MuLi5GZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBoYWJlIGRpZSBTY2huYXV0emUgdm9sbCAoTGFyaXNzYSwgMTIuIEZlYiAxOTk2LCAxNTo1NjowOSk6Cn4jISBybj1Fbmd5d3VjayBydD04MjQxMzU3ODAKfiMhIHRpZD04MjQwODYzOTIKSWNoIGdsYXViZSBtaWNoIHRyaXR0IGVsbiBFbGNoIQoKRGEgd2lyZCBnZW1lY2tlcnQgdW5kIGdlaGV0enQsIGdlaGV0enQgdW5kIGdlbWVja2VydCB1bmQgbWFuY2htYWwgYXVjaCBudXIKZ2VqYW1tZXJ0Li4uClNlbGJzdHZlcnN0YWVubGljaCBkYXJmIGhpZXIgamVkZXIgZWluZSBNZWludW5nIGhhYmVuIHVuZCBzZWluZSBNZWludW5nCnZlcnRyZXRlbiwgYWJlciBkYXNzIGhlaXNzdCBuaWNodCwgZGFzcyBoaWVyIHdhaGxsb3MgTGV1dGUgYmVsZWlkaWd0CndlcmRlbiBkdWVyZmVuIQoKV2FzIHNvbGwgZGVubiBkYXM/CklzdCBkYXMgaGllciBlaW4gS2luZGVyZ2FydGVuPyBNYW4ga2FubiBtZWluZXNlcmFjaHRlbnMgdWViZXIgYWxsZXMgcmVkZW4sCnVuZCB3ZW5uIFZvcnNjaGxhZWdlIHZlcm51ZW5mdGlnIHZvcmdlYnJhY2h0IHdlcmRlbiwgd2lyZCBtYW4gc2ljaGVyIGF1Y2gKZGFydWViZXIgbmFjaGRlbmtlbi4KCldlbm4gaWNoIGRhcmFuIGRlbmtlLCB3aWUgc2VociBzaWNoIGRpZSBNdWVuc3RlcmFuZXIgdW5kIHZpZWxlIE1hZ2llcgonZGVuIEFyc2NoIGF1ZnJlaXNzZW4nLCBudXIgZGFtaXQgaGllciBhbGxlcyBsYXVmdCwgdW5kIGRhbWl0IGVzIG1vZWdsaWNoc3QKZ3V0IGxhZXVmdCwgZGFubiBnZWh0IG1pciBlY2h0IGRlciBIdXQgaG9jaCwgYmVpIGRlbSBUb25mYWxsIGluCm1hbmNoZW4gQXJ0aWtlbG4uCgpMYXJpc3NhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWNoIGhhYmUgZGllIFNjaG5hdXR6ZSB2b2xsIChBc21vZGlzLCAxMi4gRmViIDE5OTYsIDE2OjI2OjEyKToKfiMhIHJuPUxhcmlzc2EgcnQ9ODI0MTM2OTY5Cn4jISB0aWQ9ODI0MDg2MzkyCkpvLCBtYW5jaGVyIFRvbmZhbGwgaXN0IGV0d2FzIHVlYmVydHJpZWJlbiwgYWJlciBzb25zdApmaW5kZSBpY2ggZGllc2UgRGlza3Vzc2lvbmVuIGluIGRlciBtcGEgd2lya2xpY2ggYW11ZXNhbnQKdW5kIHVudGVyaGFsdHNhbS4KVm9uIFN0aW1tdW5nIHZlcm1pZXNlbiBtZXJrIGljaCBlaHJsaWNoIGdlc2FndCBuaWNodCB2aWVsLAp3ZXIgc2llIHNpY2ggdmVybWllc2VuIGxhZXNzdCB1bmQgbnVyIHdlZ2VuIFNjcmlwdHZlcmJvdCBuaWNodAptZWhyIHNwaWVsZW4gd2lsbCwgZGVtIHdlaW5lIGljaCBrZWluZSBUcmFlbmUgbmFjaCAoc29ycnksIEtoaWRhciwKYWJlciBzdGltbXQgZG9jaCkuIElociBoYWJ0IGRvY2ggZnJ1ZWhlciBhdWNoICdwZXIgSGFuZCcgZ2VzcGllbHQsCndhcnVtIG1hY2h0IGlociBlcyBuaWNodCB3aWVkZXIgc28/PyBXZW5uIGRpZSBNYWdpZXIgbWVya2VuLCBkYXNzCmlocmUgTWVnYW1vbnN0ZXIgbmljaHQgbWVociBlcmxlZ3Qgd2VyZGVuIChrb2VubmVuKSwgZGFubiB3ZXJkZW4Kc2llIHNjaG9uIGlucyBHcnVlYmVsbiBrb21tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGxlY2h0ZXIgUnVmIChNeXNlbGYsIDEyLiBGZWIgMTk5NiwgMTc6MDc6NTkpOgoKSGkgTXVkZGllcywKCmhldXRlIG11c3MgaWNoIG1pciBoaWVyIG5vY2htYWwgTHVmdCBtYWNoZW4gdWViZXIgZGFzIHBlcm1hbmVudGUgJ1J1bWdlcnVmZScKdm9uIG1hbmNoZW4gTGV1dGVuLgpJY2ggYml0dGUgZGllamVuaWdlbiBMZXV0ZSwgZGllIGVzIHNpY2ggenVyIEFuZ2V3b2huaGVpdCBnZW1hY2h0IGhhYmVuLCB2aWVsCidydWZlJyB6dSB2ZXJ3ZW5kZW4sIG1hbCBkYXJ1ZWJlciBuYWNoenVkZW5rZW4sIG9iIGVzIGdlcmVjaHRmZXJ0aWd0IGlzdCwKd2VubiBtYW4gMTAgTGV1dGUgYW5zcHJlY2hlbiwgd2lsbCBkYWJlaSB3ZW5pZ3N0ZW5zIGViZW5zbyB2aWVsZSB6dSBuZXJ2ZW4sCmRpZSBlbnR3ZWRlciBhbiBSYXVtZGV0YWlscyBpbnRlcmVzc2llcnQgc2luZCBvZGVyIGdlcmFkZSBpbiBlaW5lbSBNYWlsLSwKSGF1c2Jlc2NocmVpYnVuZ3MtIG9kZSBzb25zdGlnZW4gRWRpdG9yIHN0ZWNrZW4uClNjaGxpZXNzbGljaCBnaWJ0IGVzIHByaW1hZXIgZGllIEthbmFlbGUgenVtIG1pdHRlaWxlbiwgdW5kIGVzIGthbm4gZG9jaApuaWNodAp3YWhyIHNlaW4sIGRhc3MgaWNoIGRhcyBnYW56ZSBNdWQgKGdpYnQgZXMgc293YXMgd2llICdpZ25vcmllcmUgYWxsZSc/KQppZ25vcmllcmVuIG11c3MsIG51ciB1bSBtYWwgaW4gUnVoZSBlaW4gcGFhciBnZW9yZG5ldGUgWmVpbGVuIHNjaHJlaWJlbiB6dQprb2VubmVuLgpNZWluIGFwZWxsIGdpbHQgYmVzb25kZXJzIGRlbiBNYWdpZXJuIHVuZCBITFBzLCBkaWUgdWViZXIgZW50c3ByZWNoZW5kZQpNUHMgdmVyZnVlZ2VuLgoKQXVzZHJ1ZWNrbGljaCBmZXN0aGFsdGVuIG1vZWNodGUgaWNoOiBHZWdlbiBlaW5tYWxpZ2VzIHJ1ZmVuIGFscyBHYWcgaGFiZSBpY2gKZ2FyIG5pY2h0cywgYWJlciBnZWdlbiAncnVmZSAuLi4uJyBhbHMgR2V3b2huaGVpdCBzY2hvbi4KCkdydXNzLAoKTXlzZWxmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobGVjaHRlciBSdWYgKEZ5dCwgMTIuIEZlYiAxOTk2LCAxNzowOTo1OCk6Cn4jISBybj1NeXNlbGYgcnQ9ODI0MTQxMjc5Cn4jISB0aWQ9ODI0MTQxMjc5CgpIbSwgbWlyIGZhZWxsdCBpbiBadXNhbW1lbmhhbmcgbWl0IE15c2VsZnMgQXJ0aWtlbCBhdWYsIGRhc3MKbWljaCBwZXJzb2VubGljaCBkaWUgbWVpc3RlbiBSdWZlIGVoZXIgc3RvZXJlbi4KCkt1cnplIEZyYWdlOiBTaW5kIFJ1ZmUgdWViZXJoYXVwdCBub2NoIHplaXRnZW1hZXNzPwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGZ1ZXIgTGludXhndXJ1cy4uLiAoRW5neXd1Y2ssIDEyLiBGZWIgMTk5NiwgMTc6MzA6MDYpOgpLbGVpbmVzIFByb2JsZW06CkRpZSBVaHIgbWVpbmVzIFJlY2huZXJzIGdlaHQgdW50ZXIgRG9zIChJaWlpaWloLCBpY2ggd2Vpc3MpIHJpY2h0aWcsIHVudGVyCkxpbnV4IGRhZ2VnZW4gZ2VodCBzaWUgZWluZSBTdHVuZGUgdm9yLgpGYWxscyBqZW1hbmQgZGllIExvZXN1bmcgZGVzIHByb2JsZW1zIHdlaXNzOiBNYWlsIGFuIG1pY2guCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hsZWNodGVyIFJ1ZiAoSGFyZGlsLCAxMi4gRmViIDE5OTYsIDE3OjMyOjQ3KToKfiMhIHJuPUZ5dCBydD04MjQxNDEzOTgKfiMhIHRpZD04MjQxNDEyNzkKTmEga2xhci4KUnVmZSBzaW5kIGRhcyBlY2hvYWxsIGZ1ZXIgQXJtZS4KTUcgb2huZSBSdWZlLCBkYXMgd2FlcmUgd2llLi4uIGZyYWcgbWljaCBuaWNodC4KaWNoIGJpbiBoaWVyIG1pdCBSdWZlbiBncm9zc2dld29yZGVuIChlcmlubmVydCBzaWNoIG5vY2ggamVtYW5kIGRyYW4sIGRhc3MKZnJ1ZWhlciBpbiBkZXIgZ3V0ZW4gYWx0ZW4gWmVpdCBkaWUgRGlja21hbm4tUnVmZSBtdWR3ZWl0IGthbWVuPyksIG9obmUgJ3J1ZmUKc2NobmVlbWFubiBuYWhjIHdlZ2cnLCAncnVmZSBkYW5jZXIgbmFjaCBweXJhbWlkZW4nIHVuZCBhZWhubGljaGVzIHd1ZXJkZSBkZW0KTUcgZG9jaCB6aWVtbGljaCB2aWVsIGZlaGxlbi4KCkp1c3QgMnAsCgotSGFyZGlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGZ1ZXIgTGludXhndXJ1cy4uLiAoUm9jaHVzLCAxMi4gRmViIDE5OTYsIDE3OjM1OjUzKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTgyNDE0MjYwNgp+IyEgdGlkPTgyNDE0MjYwNgpUaW1lem9uZSAoVFopIGZhbHNjaCBlaW5nZXN0ZWxsdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGxlY2h0ZXIgUnVmIChGeXQsIDEyLiBGZWIgMTk5NiwgMTc6Mzk6NDUpOgp+IyEgcm49SGFyZGlsIHJ0PTgyNDE0Mjc2Nwp+IyEgdGlkPTgyNDE0MTI3OQoKSG0sIHdlaWwgbWFuIGVpbmUgU2FjaGUgMjAgSmFocmUgc28gbWFjaHQsIG11c3MgZXMgbm9jaCBsYW5nZSBuaWNodApndXQgc2Vpbi4gQWJlciBmcnVlaGVyIGdhYidzIGtlaW5lIEthbmFlbGUsIGRhIGhhYiBpY2ggZGVuIFZvcnRlaWwKZGVyIFJ1ZmUgZHVyY2hhdXMgZ2VzZWhlbiwgYWJlciBqZXR6dD8KCkZ5dC4KClBTMTogVWViZXIgZGVuIFNpbm4gdm9uIGVjaG9hbGxzIGxhZXNzdCBzaWNoIGF1Y2gga2F1bSBzdHJlaXRlbiwgb2Rlcj8KWmllbWxpY2ggc2lubmxvcyB3dWVyZGUgaWNoIHNhZ2VuLi4uCgpQUzI6IGJlbnV0enQgZWlnZW50bGljaCBub2NoIGplbWFuZCAnd29scGVyJz8KCiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnByZWlzZSBmdWVyIGtub2JsYXVjaHplaGVuIGdlc3Vua2VuIChSeW5lLCAxMi4gRmViIDE5OTYsIDIxOjU1OjMwKToKTmFqYSwgd2VuaWdzdGVucyBtYWwgZWluIHBhYXIgQXJ0aWtlbCwgaW4gZGVtIG5pY2h0IHVlYmVyIGRhcyBzY3JpcHR2ZXJib3QKZ2V3ZWludCB3aXJkLi4uCgpBYmVyOiB3ZW4gcnVmZW4gc3RvZXJ0LCBkZXIgc29sbCBzaWNoIGRpZSBlbnRzcHJlY2hlbmRlbiB0b29scyBkYXp1IGJlc29yZ2VuLgpvZGVyIHJ1ZmUgbWl0IHRmIHJhdXNnYWdnZW4uIEFiZXIgZGllc2VzIEdlamFtbWVyZSBnZWh0IG1pciBhdWYgZGVuIEdlaXN0LgpCZWlzcGllbDogaWNoIHJ1ZmUgbnVyIGV4YWt0IGJlaSBFSU5FTSBTcGllbGVyLCB1bmQgendhciBiZWkgUnVkaWJhYnkuIEZ1ZXIKZGllc2VuIGVpbmVuIFJ1ZiBwcm8gVGFnIChkZW4gaWNoIGRhZnVlciBhYmVyIG1laXN0IG1laHJmYWNoIGF1c2Z1ZWhyZSA7LSkKYmVrYW0gaWNoIGhldXRlIHZvbiBlaW5lbSBTcGllbGVyIGVpbiAiSEFMVFMgTUFVTCEiIG1pdGdldGVpbHQuCgpNYW4ga2FubnMgdWViZXJ0cmVpYmVuLCBraW5uZXJzLAoKUnpuZSwgbGFjaHQgc2ljaCB1ZWJlciBzb2xjaGUgUHJvYmxlbWUgdG90LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggaGFiZSBkaWUgU2NobmF1dHplIHZvbGwgKEJhcm9uLCAxMy4gRmViIDE5OTYsIDAwOjMzOjM4KToKfiMhIHJuPVRyeWZhbiBydD04MjQxMzExNDcKfiMhIHRpZD04MjQwODYzOTIKSWNoIGRlbmtlIGRhcyBUcnlmYW4gbmljaHQgbnVyIGd1dGUgUXVlc3RzIHNjaHJlaWJ0ICpzY2htZWljaGVsKiwgc29uZGVyIGF1Y2gKbWVpbmUgTWVpbnVuZyBoZXJ2b3JyYWdlbmQgaW4gc2VpbmVtIEFydGlrZWwgd2llZGVyZ2lidC4gSG9lcnQgZGllc2Ugdm9lbGxpZwp1ZWJlcmZsdWVzc2lnZSBEaXNrdXNzaW9uIGVpZ2VudGxpY2ggYmVpIEdlbGVnZW5oZWl0IG1hbCBhdWY/IFdlciBuaWNodAptaXRzcGllbGVuIHdpbGwga2FubnMgamEgc2VpbiBsYXNzZW4gLi4uIERpZSBTcGllbHJlZ2VsbiBtYWNoZW4gZGllClNwaWVsTEVJVEVSLCB1bmQgZGFzIHNpbmQgbnUgbWFsIGRpZSBHb2V0dGVyIHVuZCBFcnptYWdzLgpCYXJvbiAtIGlzdCB0cm90emRlbSBkZXIgTWVpbnVuZyBkYXMgbWFuIEZvZXJkZXJ2ZXJlaW4gbWl0ICdGJyBzY2hyZWlidAoKUFM6IEFlaG0sIG9kZXIgZG9jaCBuaWNodCAqZHVjayoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBoYWJlIGRpZSBTY2huYXV0emUgdm9sbCAoR3VuZHVyLCAxMy4gRmViIDE5OTYsIDAxOjQ3OjU2KToKfiMhIHJuPUhhcmRpbCBydD04MjQxMzYxMDMKfiMhIHRpZD04MjQwODYzOTIKQWxzbyBIYXJkaWwuLi4KSUNIIGZpbmRlIGRhc3MgZGllIFN0aW1tdW5nIGthY2tlIGlzdC4uCklDSCBoYWIgYXVjaCBpbSBtb21lbnQgd2VuaWcgQm9jayB3ZWlsIG1pciBzbyBlaW5pZ2VzIGRpZSBMdXN0IHZlcmRpcmJ0Li4uCkFiZXIuLi5pY2ggaGF1IG5pY2h0IGVpbmZhY2ggYWIgc29uZGVybiB3YXJ0IGhhbHQgbWFsIGFiIHVuZCBmcmV1IG1pY2ggYW4gZGVuCkxldXRlbiBkaWUgaWNoIG1hZyAuLi50am8KR3J1c3MKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcHJlaXNlIGZ1ZXIga25vYmxhdWNoemVoZW4gZ2VzdW5rZW4gKE15c2VsZiwgMTMuIEZlYiAxOTk2LCAxMDo0MToxOCk6Cn4jISBybj1SeW5lIHJ0PTgyNDE1ODUzMAp+IyEgdGlkPTgyNDE1ODUzMAoKQXVmIGRlbiBsZXR6dGVuIEFydGlrZWwgdm9uIFJ5bmUgaGluIG1vZWNodGUgaWNoIGZvbGdlbmRlcwp6dSBiZWRlbmtlbiBnZWJlbjoKV2FzIHd1ZXJkZSB3b2hsIGdlc2NoZWhlbiwgd2VubiBfamVkZXJfLCBkZXIgc2ljaCBlaW5sb2dndCwgYmVpCmRlbSBFaW5sb2dnZW4gbnVyIGVpbmUgUGVyc29uIHBlciBydWYgZ3J1ZXNzdD8KCk1pY2ggc3RvZXJydCBkYWJlaSBkaWUgVGF0c2FjaGUsIGRhc3MgYWxsZSBhbmRlcmVuIFNwaWVsZXIgZHVyY2gKZGFzIFJ1ZmVuIGJlaWVpbnRyYWVjaHRpZ3Qgd2VyZGUsIG9obmUgZGFzcyBzaWUgZWluZSBDaGFuY2UgaGFiZW4sCnNpbm52b2xsIGRhcmF1ZiB6dSByZWFnaWVyZW4gKGRoICdndXRlJyB2b24gJ3NjaGxlY2h0ZW4nIFJ1ZmVuCnp1IHRyZW5uZW4pLgoKUmljaHRpZyBpc3QsIGRhc3MgZXMgdG9vbHMgZ2lidCwgZGFzIFJ1ZmVuIHp1IHVudGVyZHJ1ZWNrZW4sIGFiZXI6CjEuIHdpZXZpZWxlIFNwaWVsZXIgZGFzIE11ZHMgYmVzaXR6ZW4gc2llPwoyLiB3aWUga2FubiBtYW4gc293YXMgc2VsZWt0aXYgKHMuby4pIGdlc3RhbHRlbj8KClVtIHVubm9ldGlnZSBSZXBsaWVzIHp1IHZlcm1laWRlbiBoaWVyIG5vY2htYWwgYXVzZHJ1ZWNrbGljaCBtZWluCkJla2VubnRuaXMgenUgJ2d1dGVuJyBSdWZlbjogIEljaCBmcmV1ZSBtaWNoIHVlYmVyIGdlbHVuZ2VuZQpTY2hlcnplIGF1ZiBkZW0gUnVma2FuYWwgdW5kIGJpbiBrZWluZXN3ZWdzIGdlZ2VuIGVpbiBhYnNvbHV0ZXMKVmVyYm90IGRlcyBSdWZlbnMhCgpJY2ggd2VuZGUgbWljaCBnZWdlbiBSdWZlbiBhdXMgQmVxdWVtbGljaGtlaXQsIElnbm9yYW56IG9kZXIKZGVyIE1vdGl2YXRpb24gaGVyYXVzLCBhbGxlbiBtaXR6dXRlaWxlbjogMS4gUnVmZXIgaXN0IGRhLAoyLiBHZXJ1ZmVuZShyKSBpc3QgZGEuCkVzIGdlaHQgX25pY2h0XyB1bSBkYXMgR3J1ZXNzZW4sIHNvbmRlcm4gZGllIEFydCB1bmQgV2Vpc2UhIQpXb3p1IGdpYnQgZXMgZGVubiBzb25zdCBLYW5hZWxlPyAtVW5kIHVlYmVyIGRpZSBrYW5uIG1hbgp3ZW5pZ3N0ZW5zIHNlbGJzdCBlbnRzY2hlaWRlbi4KCkFscyBsZXR6dGVyIFB1bmt0OiBJY2ggaGFiZSBncmFkZSBkaWUgTWFnaWVyIHVuZCBITFBzCmFuZ2VzcHJvY2hlbiwgd2VpbCBkaWUgbmF0dWVybGljaCBhbHMgQmVpc3BpZWwgZGFmdWVyIGRpZW5lbiwKd2FzIGd1dCB1bmQgc2lubnZvbGwgaXN0Li4uLi4uCgpHcnVzcywKCk15c2VsZgoKClBTLiBXaWUgd2FlcidzLCBkZW4gVGl0ZWwgZWluZXMgdGhyZWFkcyBiZWl6dWJlaGFsdGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBmdWVyIExpbnV4Z3VydXMuLi4gKEFiZW5kcm90LCAxMy4gRmViIDE5OTYsIDEyOjUwOjM0KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTgyNDE0MjYwNgp+IyEgdGlkPTgyNDE0MjYwNgpEYXMgaXN0IGtpbmRlcmxlaWNodDogU3RlbGwgZWluZmFjaCBkZWluZSBVaHIgZWluZSBTdHVuZGUgenVydWVjayEKRGFubiBnZWh0IHNpZSB6d2FyIHVudGVyIERvcyBmYWxzY2gsIGFiZXIgd2VyIGJlbnVldHp0IHNjaG9uIERvcz8KCkFiZW5kcm90CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHByZWlzZSBmdWVyIGtub2JsYXVjaHplaGVuIGdlc3Vua2VuIChSdWRpcmF0dGVyLCAxMy4gRmViIDE5OTYsIDEyOjU5OjUwKToKfiMhIHJuPU15c2VsZiBydD04MjQyMDQ0NzgKfiMhIHRpZD04MjQxNTg1MzAKRGllIERpc2t1c3Npb24gdW0gZGllIFJ1ZmVyZWkgaXN0IGphIHNjaG9uIGFlbHRlciwgaWNoIGVyaW5uZXJlIG1hbCBkYXJhbiwKZGFzcyBTZWhlciBmcnVlaGVyIGZ1ZXJzIFJ1ZmVuIGdhciBrZWluZSBNUCB2ZXJsb3JlbiB1bmQgZGFzIGRhbm4gZ2VhZW5kZXJ0Cnd1cmRlLCBkYW1pdCBtYW4gbmljaHQgZWluZmFjaCBzbyBydW1ydWZ0IHVuZCBiZWkgamVkZW0gUGlwaWZheCBMZXV0ZSBuZXJ2dC4KSmV0enQga29zdGV0IGVzIGRlcmJlIE1QLCBkaWUgZWluZW0gYWxzIENoYW90IG9kZXIgS2FyYXRla2UgamEgc3BhZXRlcgpzY2htZXJ6bGljaCBiZWltIEthZW1wZmVuIGZlaGxlbi4gQWxzbyBpc3QgZXMgZWluZSB3aXJrbGljaGUgRW50c2NoZWlkdW5nLApmdWVyIExldXRlIHp1IHJ1ZmVuLCBkaWUgYXVjaCBLb25zZXF1ZW56ZW4gZnVlciBkZW4gUnVmZXIgbWl0IHNpY2ggYnJpbmd0LiBXZXIKdW50ZXIgZGllc2VuIFVtc3RhZW5kZW4gcnVmdCwgc29sbCBlcyBtZWluZXIgTWVpbnVuZyBhdWNoIG1hY2hlbiwgd28gc2luZCB3aXIKZGVubiBoaWVyPyBJbSBBbHRlcnNoZWltPyBFbnR3ZWRlciBJaHIgc2NocmVpYnQgQXJ0aWtlbCwgYmVpIGRlbmVuIG1hbiBkZW4KRWluZHJ1Y2sgaGF0LCBtYW4gaXN0IGltIEtpbmRlcmdhcnRlbiAoaWNoIGVyaW5uZXIgYW4gZGllIFN0ZXJiZS1Mb2dzLi4uKSBvZGVyCnNvbGNoZSwgZGFzcyBtYW4gZGVua2VuIG11c3MsIGRhc3MgSWhyIEV1Y2ggYmVzc2VyIGVoIG1hbCBtdW1pZml6aWVyZW4gbGFzc2VuCnNvbGx0ZXQuCkljaCB3ZXJkZSB3ZWl0ZXJoaW4gcnVmZW4gZnVlciBkaWUgTGV1dGUsIGRpZSBlcyBtaXIgd2VydCBzaW5kLCB1bmQgaWNoIHdlcmRlCmF1Y2ggd2VpdGVyaGluIG1laHJtYWxzIFJZTkUgc2NocmVpZW4sIHdlbm4gUnluZSByeW5la29tbXQsIHdlaWwgZXIgZWluZmFjaApkZXIgd2VsdGJlc3RlS2FtcGZ6d2VyZ29obmVTdHJlaXQgaXN0IHVuZCBkYXMgdmVyZGllbnQuIFdlbm4gRGlyLCBNeXNlbGYsIGRhcwpuaWNodCBwYXNzdCwgZGFubiB0aXBwIGRvY2ggYml0dGUgJ2lnbm9yaWVyZSBydWRpcmF0dGVyJyB1bmQgbm90ZmFsbHMgbm9jaAonaWdub3JpZXJlIHJ5bmUnICwgZGFtaXQgRHUgRGVpbmUgUnVoZSBoYXN0LgpFcyBnaWJ0IGphIGVoIG5pY2h0IHNvIHZpZWxlIExldXRlLCBkaWUgc29vb28gdmllbCBydW1zY2hyZWllbiwgYWxzbyBoYWV0dGVzdApEdSBtaXQgbWlyIHNjaG9uIGRlbiBIYXVwdHNjaHJlaWVyIHJhdXMuIFJ1ZmVuIHp1IHZlcmJpZXRlbiBvZGVyIExldXRlIE5PQ0gKTUVIUiBkZXN3ZWdlbiB6dSBiZXN0cmFmZW4gYWxzIGRhcyBtaXQgZGVtIE1QLVZlcmx1c3Qgc2Nob24gcGFzc2llcnQsIGlzdCBkb2NoCndvaGwgZXR3YXMgdWViZXJ6b2dlbi4KSUNIIFNDSFJFSSBXRUlURVIsIHVuZCB3ZW5uIG1hbiBuaWNodCBtZWhyIHJ1ZmVuIGthbm4sIGRhbm4gc2luZCBkaWUgTGV1dGUKZ2VuZXJ2dCwgd2VubiBtYW4gYXVmIGRlbiBLYW5hZWxlbiBydW1zY2hyZWl0LCBhbHNvIHZlcmJpZXRlbiB3aXIgYXVjaCBkaWUKS2FuYWVsZSwgZGFubiBzYWd0IG1hbiBudXIgbm9jaCB3YXMgaW4gZGVuIFJhZXVtZW4sIGFsc28gdmVyYmlldGVuIHdpciBhdWNoCmRhcyBTYWdlbiwgdW5kIHdlaWwgZGFzIGFsbGVzIG5pY2h0cyBudWV0enQsIHdlaWwgZGFubiBhdWNoIG5vY2ggZW1vdGVzIHVuZCBzbwp3YXMgZnVlciBCZWdydWVzc3VuZ2VuIG1pc3NicmF1Y2h0IHdlcmRlbiwgdmVyYmlldGVuIHdpciBkaWUgYXVjaCBub2NoLiBEYXMKd2lyZCBlaW4gU3Bhc3MuLi4uCgoKUllZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWU5FClNvLCBkYXMgbXVzc3RlIHNlaW4uClJ1ZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hIGphLCBuaWNodCBFbnRzLCBFbnRmcmF1ZW4gc29sbHRlIGljaCBlaWdlbnRsaWNoIHNhZ2VuLiAoVG9lLCAxMy4gRmViIDE5OTYsIDE0OjA0OjU2KToKCkhtLCBlcyB3aXJkIGhpZXIgZWNodCBkdWVzdGVyLi4uCkVzIGlzdCBzY2hvbiB2ZXJ3dW5kZXJsaWNoLCBkYXNzIGhpZXIgamVkZXIgamVkZW0gc2VpbmUgUmVnZWxuIGF1ZmVybGVnZW4KbW9lY2h0ZS4KSWNoIC0gZnVlciBtaWNoIC0gc3BpZWxlIGRpZXNlcyBTcGllbC4gU28gd2llIGRpZSBHb2V0dGVyIGVzIGJlc3RpbW1lbiEgVW5kCmljaCBzcGllbGUgZXMgc28gdW5kIG5pY2h0IGFuZGVycyAtIHVuZCB2b3IgYWxsZW0gZ2VybmUuCgpXaWUgd2FlcnMgbWFsIG1pdCBCZXNjaGVpZGVuaGVpdCBvZGVyIGV0d2FzIG1laHIgUmVzcGVrdD8KTWl0IE1lY2tlcm4gYWxsZWluZSBlcnJlaWNodCBpaHIgZ2FyIG5peCAtIGVzIHdpcmZ0IGFsbGVyZGluZ3MgZWluZW4KaW50ZXJlc3NhbnRlbiBTY2hhdHRlbiB1ZWJlciBldWNoIHNlbGJlci4KQWt6ZXB0aWVydCBkb2NoIGVuZGxpY2ggZGllIFJlZ2VsbiB1bmQgdWViZXJwcnVlZnQgbWFsIGV1ZXIKU2VsYnN0dmVyc3RhZW5kbmlzLgoKdG9lLCBlbnR0YWV1c2NodCB2b24gZGVyIElnbm9yYW56IHVkbiBhbmRlcmVuIGhhZXNzbGljaGVuIERpbmdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGxlY2h0ZXIgUnVmIChWYWxhcmlhbiwgMTMuIEZlYiAxOTk2LCAxNjoyMjo0OCk6Cn4jISBybj1NeXNlbGYgcnQ9ODI0MTQxMjc5Cn4jISB0aWQ9ODI0MTQxMjc5CkhpIE15c2VsZiEKCk1hY2ggZG9jaCBlaW5mYWNoIC9nYWcgKnJ1ZnQ6KgpOYXR1ZXJsaWNoIG51ciB3ZW5uIER1IHRmIGhhc3QgOi0pKQoKRGFubiBzdG9lcnQgRGljaCBkYXMgcnVmZW4gbmljaHQgbWVoci4KCkdydXNzIFZhbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdDIFJ1YnJpayBpbSBNRyAoQmxvb2R5aGFycnksIDEzLiBGZWIgMTk5NiwgMTY6NDI6MTIpOgpXZW5uIGVzIGdlbnVlZ2VuZCBJbnRlcmVzc2VudGVuIGdpYnQsIGtvZW5udGUgbWFuIGRvY2ggamVtYW5kIGVpbmUgUnVicmlrCmZ1ZXIgZGllIEdhbGFjdGljLUNvbnF1ZXJvci1TcGllbGVyIGluIGRlciBNUEEgYW5sZWdlbj8KCkJsb29keSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcHJlaXNlIGZ1ZXIga25vYmxhdWNoemVoZW4gZ2VzdW5rZW4gKE15c2VsZiwgMTMuIEZlYiAxOTk2LCAxNzoyOTowMSk6Cn4jISBybj1SdWRpcmF0dGVyIHJ0PTgyNDIxMjc5MAp+IyEgdGlkPTgyNDE1ODUzMApIaSBNdWRkaWVzLAoKaGllciBub2NoIGVpbmUgYWxsZ2VtZWluZSBJbmZvcm1hdGlvbiB6dW0gVGhlbWEgcnVmZW46CgpFcyBnaWJ0IGVpbmUgTW9lZ2xpY2hrZWl0LCBhbGxlIFJ1ZmUgenUgdW50ZXJkcnVlY2tlbiwgaW5kZW0gbWFuIHNpY2gKZWluIGJlc3RpbW10ZXMgR2V3YWVjaHMgZGVzIE1vcmdlbmdyYXVlbnMgaW4gZGllIE9ocmVuIHN0b3BmdC4gIE1laHIKdmVycmF0ZSBpY2ggbmljaHQuICBXZXIgc293YXMgYnJhdWNodCwga2FubiBqYSBtYWwgcnVtZnJhZ2VuLgotSWNoIHNhZ2UgbnVyIEhpbW1saXNjaGUgUlVIRSA6LSkpKSkpCgpHcnVzcywKCk15c2VsZgoKClBTLiBVbSBpcmdlbmR3ZWxjaGVuIE1pc3N2ZXJzdGFlbmRuaXNzZW4gdm9yenViZXVnZW46ICBSdWRpcmF0dGVyIHJ1ZnQKendhciBldHdhcyB2aWVsLCBhYmVyIGRpZSBpc3Qgc29uc3Qgc2VociBuZXR0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcHJlaXNlIGZ1ZXIga25vYmxhdWNoemVoZW4gZ2VzdW5rZW4gKEFzbW9kaXMsIDEzLiBGZWIgMTk5NiwgMjA6MTc6MDMpOgp+IyEgcm49TXlzZWxmIHJ0PTgyNDIyODk0MQp+IyEgdGlkPTgyNDE1ODUzMApEYXMgUHJvYmxlbWUgaXN0LCBkYXNzIGVzIG5pY2h0IGxhbmdlIHZvcmhhZWx0LgpBbnNvbnN0ZW4gd3VlcmRlIGljaCBlcyBhdWNoIGJlbnV0emVuLCBhYmVyIGV3aWcgZGEgaGluenVyZW5uZW4sCmRhenUgaGFiIGljaCBhdWNoIGtlaW5lIEx1c3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBwcmVpc2UgZnVlciBrbm9ibGF1Y2h6ZWhlbiBnZXN1bmtlbiAoWnVlcmlsZXUsIDE0LiBGZWIgMTk5NiwgMDE6NTk6MzIpOgp+IyEgcm49QXNtb2RpcyBydD04MjQyMzkwMjMKfiMhIHRpZD04MjQxNTg1MzAKU2FsaSB6YWVtZSwKT2NoIGxhc3N0IGRvY2ggZGllIExldXRlIGluIHJ1aGUgcnVmZW4sIGljaCBtZWluZSBlcyBpc3QgaGllciBzY2hvbiBzbyBkaWUKZ2FuemUgWmVpdCBydWhpZy4gSWNoIG1laW5lIHdpciBoYWJlbiBoaWVyIGtlaW5lIE5hY2h0cnVoZS16ZWl0ZW4gb2RlciBzby4gaWNoCmZpbmQgaW4gYW5kZXJlbiBNdWRzIHdpcmQgZWluaWdlcyBtZWhyIHJ1bWdlYnJ1ZWxsdCB1bmQgdW53aWNodGlnZXJlIERpbmdlIGFscwplaW5lIGJlZ3J1ZXNzdW5nLiBJY2ggZmluZCBkYXMgbmljaHQgc2NobGltbSB1bmQgc3RvZXIgbWljaCBhdWNoIG5pY2h0IGRhdm9uLAppY2ggbWVpbmUgZGFzIGlzdCBlaW4gIk11bHRpdXNlci1TcGllbCIuIFVuZCBkYXMga2VubmVuIHdpciBkb2NoIHNjaG9uIGF1cyBkZXIKU2NodWxlLCBkb3J0IHdvIHZpZWxlIEtpbmRlciB6dXNhbW1lbmtvbW1lbiB3aXJkcyBoYWx0IGV0d2FzIGxhdXRlci4gU2VpdCBkb2NoCm5pY2h0IHNvIHZlcmtsZW1tdCB1bmQgbGFzc3QgZGVuIExldXRlbiBpaHJlbiBzcGFzcyBzaWUgemFobGVuIHNjaGxpZXNzbGljaAphdWNoIGdlbnVnIG1wJ3MgZGFmdWVyIHVuZCB3ZW5uIGV1Y2ggZGFzIHN0b2VydCBkYW5uIGthbm4gbWFuIGV1Y2ggZXZ0bC4Kd2lya2xpY2ggbmljaHQgbWVociBoZWxmZW4uIElociBzZWl0IGRhbm4gZGllIHp1a3VlbmZ0aWdlIEdlbmVyYXRpb24gZGVyZXIgZGllCnNpY2ggd2VnZW4gZWluIHBhYXIgbGF1dGVyIEtpbmRlciBpbiBkZXIgc3RyYXNzZW5iYWhuIHNjaG9uIGhhbGIgdG90IGFlcmdlcm4uCgpkcnVtbSBzZWh0IGVzIGRvY2ggZWFzeSwgbGFjaHQgdWViZXIgZGllIHJ1ZmUgb2RlciBzY2hyZWl0IHNlbGJlciBldHdhcyBydW0uCkRhcyB2ZXJ1cnNhY2h0IGtlaW5lIGtvbmZsaWt0ZSB1bmQgc3BhcnQgbmVydmVuICEKCnRzY2h1dXV1dXV1dXV1dXV1dWVzIFp1ZXJpbGV1ID06KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQVVGSE9FRUVSRUVFTi4uLi4uISEhIChGZWxzLCAxNC4gRmViIDE5OTYsIDA5OjM2OjIwKToKRXMgcmVpY2h0LiBEaWUgRGlza3Vzc2lvbiBpc3Qgb2VkLCBsYW5nd2VpbGlnLCByZWR1bmRhbnQgdW5kIG5lcnZpZy4gRGFzClRoZW1hIHNvbGx0ZSBtZWluZXMgZXJhY2h0ZW5zIGZ1ZXIgZGllIHVlYmxpY2hlIERhdWVyIHZvbiBldHdhIDMgTW9uYXRlbiBtYWwKVkVSR0VTU0VOIHdlcmRlbiwgd2FzIG1laW50IElocj8gRGFubiBrb2VubnQgbWFuIGVuZGxpY2ggd2llZGVyIFplaXR1bmcgbGVzZW4sCnVuZCBkYWJlaSB2aWVsbGVpY2h0IHNvZ2FyIG5vY2ggZWluZW4gSU5URVJFU1NBTlRFTiBBcnRpa2VsIGZpbmRlbi4uLgoKU3VtbWEgU3VtbWFydW06IEhvZXJ0IGF1Zi4gUFVOS1QuCgpHcnVzcywgRmVscwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFVRkhPRUVFUkVFRU4uLi4uLiEhISAoUHJhLCAxNC4gRmViIDE5OTYsIDEzOjUzOjExKToKfiMhIHJuPUZlbHMgcnQ9ODI0Mjg2OTgwCn4jISB0aWQ9ODI0Mjg2OTgwCkphLiBMb2dvLiBLbGFyIEZlbHMsIGhvZXJlbiB3aXIgYXVmLgoKQWVoIC0gd2VsY2hlcyBUaGVtYSBtZWludGVzdCBkdSBkZW5uIGVpZ2VudGxpY2g/CgpQcmEuIEhvZXJ0IGdlcm5lIGF1Zi4gV2VubiBlciB3ZWlzcywgd29taXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobGVjaHRlciBSdWYgKEd3eW53YWl0ZXIsIDE0LiBGZWIgMTk5NiwgMTQ6MTI6MTQpOgp+IyEgcm49TXlzZWxmIHJ0PTgyNDE0MTI3OQp+IyEgdGlkPTgyNDE0MTI3OQoKSGFsbG8gTXlzZWxmLAoKSWNoIHZlcnN0ZWhlIHdhcyBEdSBtZWluc3QuLi4gQWxzIEFuZmFlbmdlciBoYXQgbWljaCBkYXMgdG9lZGxpY2ggZ2VuZXJ2dCwKaW56d2lzY2hlbiBiaW4gaWNocyBnZXdvaG50LiBJY2ggaGFiZSBkaWUgImV3aWdlbiBSdWZlciIgaWdub3JpZXJ0IC0gZGFzIHNpbmQKc28gZXR3YSAzMCBMZXV0ZSwgdm9uIGRlbmVuIHZpZWxlIERyaXR0aWVzIHNpbmQgb2RlciB3YXJlbiwgdW5kIHZvbiBkZW5lbiBlcwptYW5jaGUgbmljaHQgbWVociBnaWJ0LiBNYW5jaGUgTmFtZW4gd2lsbCBpY2ggYXVjaCBlaW5mYWNoIG5pY2h0IGF1ZiBtZWluZW0KU2NyZWVuIGhhYmVuLCBhdWNoIHdlbm4gc2llIChkYXMgd2FyIGVpbmUgYW5kZXJlIERpc2t1c3Npb24pIG5pY2h0IGdlYmFuaXNodApzaW5kLgogICBNZWluZSBLb25zZXF1ZW56OiBpY2ggaWdub3JpZXJlIHNpZSBlaW5mYWNoLiBVbmQgd2VubiBpY2ggZWluZW4Ka2VubmVubGVybmUsIGRlciBtaWNoIGRhbm4gZnJhZ3QgIldhcnVtIGlnbm9yaWVyc3QgRHUgbWljaCIgLSBkYW5uIGthbm4gaWNoCmRhcyAoYSkgZXJrbGFlcmVuIHVuZCAoYikgYWVuZGVybi4KICAgTnVyIE1hZ2llciBrYW5uIG1hbiBuaWNodCBpZ25vcmllcmVuIC0gd2VubiBqZW1hbmQgYXVzIG1laW5lcgpJZ25vcmllcmUtTGlzdGUgenVtIE1hZ2llciBhdWZzdGVpZ3QsIGRhbm4ga29tbXQgZXIgaGFsdCB3aWVkZXIgYXVmIGRlbgpTY3JlZW4uIEFiZXIgZGEgc2luZCBlcyBqYSBtZWluc3QgbnVyIHdlbmlnZSBSdWZlIHZvbiBlaW4gcGFhciBDaGFvdGVuLCBkaWUKKHdpZSBpY2ggbWlyIGhhYmUgdmVyc2ljaGVybiBsYXNzZW4pIGdhbnogbGllYmVuc3dlcnQgc2luZC4uLiAgOy0pKQoKVW5kIFRzY2h1ZXNzLAoKR3d5biosIE5OTgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hsZWNodGVyIFJ1ZiAoR3JpbW1ib3JuLCAxNC4gRmViIDE5OTYsIDE0OjE1OjA5KToKfiMhIHJuPUd3eW53YWl0ZXIgcnQ9ODI0MzAzNTM0Cn4jISB0aWQ9ODI0MTQxMjc5CgpNYWdpZXIga2FubiBtYW4gbmljaHQgaWdub3JpZXJlbj8gQWJlciBoYWxsbywga2VpbiBQcm9ibGVtLiBPaG5lIHNlbGJlcgpNYWdpZXIgenUgc2VpbiwgYWxzIGVpbmZhY2hlciBTcGllbGVyLiBVbmQgYXVjaCB3ZW5uIGplZGVyIE1hZ2llcgpNb2VnbGljaGtlaXRlbiBoYXQgZGFzIHp1IHVtZ2VoZW4sIHNvIHJlc3Bla3RpZXJlbiBkaWUgbWVpc3RlbiBkb2NoIGRpZQpFbnRzY2hlaWR1bmcgZWluZXMgU3BpZWxlcnMuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gSWdub3JpZXJ0IHVuZCB3aXJkIGlnbm9yaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2htYWwgZnVlciBMaW51eGd1cnVzIChFbmd5d3VjaywgMTQuIEZlYiAxOTk2LCAxNDozOToxNyk6CkljaCBoYWV0dGUgZGEgbWFsIGVpbmUgVW1mcmFnZSB1bmQgZWluZSBub3JtYWxlIEZyYWdlOgoKMS4gVW1mcmFnZTogV2VsY2hlciBMaW51eGtlcm5lbCBpc3QgenVyIFplaXQgenUgZW1wZmVobGVuPwoKMi4gRnJhZ2U6IEljaCBoYWIgbWFsIHZlcnN1Y2h0LCBkYXMgWFdpbmRvdyBhdWZ6dXNldHplbi4gV2VubiBpY2ggbnVuIGRlbgpYLVNlcnZlciBzdGFydGUgKHouQi4gbWl0IC91c3IvWDExL2Jpbi9YKSBiZWtvbW0naWNoIGRpZSBNZWxkdW5nCmJhc2g6IC91c3IvWDExL2Jpbi9YIDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KVW5kIGRhcywgaW50ZXJlc3NhbnRlcndlaXNlLCBvYndvaGwgZGFzIFByb2dyYW1tIHdpcmtsaWNoIGRhIGlzdC4gKHdoaWNoIFgKbGllZmVydCAvdXNyL1gxMS9iaW4vWCkgLiBIYXQgZGEgamVtYW5kIG5lIEVya2xhZXJ1bmc/CgpGdWVyIFRpcHMgd2FlciBpY2ggc2VociBkYW5rYmFyLgoKRW5neXd1Y2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NobWFsIGZ1ZXIgTGludXhndXJ1cyAoQmxvb2R5aGFycnksIDE0LiBGZWIgMTk5NiwgMTU6MjQ6MjEpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODI0MzA1MTU3Cn4jISB0aWQ9ODI0MzA1MTU3Cj4gMS4gVW1mcmFnZTogV2VsY2hlciBMaW51eGtlcm5lbCBpc3QgenVyIFplaXQgenUgZW1wZmVobGVuPwpIbW0sIGFsc28gaWNoIGhhYmUgaGllciAxLjIuMyAtIHdlaXNzIGpldHp0IG5pY2h0IG9iIGRlciB1bmJlZGluZ3QgenUKZW1wZmVobGVuIGlzdCwgYWJlciBlciBsYWV1ZnQgcmVjaHQgZ3V0LgoKPiAyLiBGcmFnZTogSWNoIGhhYiBtYWwgdmVyc3VjaHQsIGRhcyBYV2luZG93IGF1Znp1c2V0emVuLiBXZW5uIGljaCBudW4gZGVuCj4gWC1TZXJ2ZXIgc3RhcnRlICh6LkIuIG1pdCAvdXNyL1gxMS9iaW4vWCkgYmVrb21tJ2ljaCBkaWUgTWVsZHVuZwpTdGFydGUgaWhuIG1hbCBtaXQgJ3N0YXJ0eCcuCgpCbG9vZHkgSGFycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NobGVjaHRlciBSdWYgKFphcmRveiwgMTQuIEZlYiAxOTk2LCAxNToyNjo0MCk6Cn4jISBybj1Hd3lud2FpdGVyIHJ0PTgyNDMwMzUzNAp+IyEgdGlkPTgyNDE0MTI3OQo+U2NyZWVuLiBBYmVyIGRhIHNpbmQgZXMgamEgbWVpc3QgbnVyIHdlbmlnZSBSdWZlIHZvbiBlaW4gcGFhciBDaGFvdGVuLCBkaWUKClNlbHRzYW0/IElzdCBkYXMgUnVmZW4gZnVlciBDaGFvdGVuIGJpbGxpZ2VyLCBzaW5kIENoYW90ZW4gYmVzb25kZXJzCmNoYW90aXNjaCwgb2RlciBnZWZhZWxsdCBEaXIgZGllIEdpbGRlIG5pY2h0LCBkYXNzIERpY2ggbnVyIGRpZSBSdWZlCnZvbiBDaGFvdGVuIG5lcnZlbj8/CgpGcmFnZW4gdWViZXIgRnJhZ2VuIHN0ZWxsdCBzaWNoCiAgICAgICAgWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2htYWwgZnVlciBMaW51eGd1cnVzIChDcmVhdGl2ZSwgMTQuIEZlYiAxOTk2LCAxNTo0NTo0Nyk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04MjQzMDc4NjEKfiMhIHRpZD04MjQzMDUxNTcKCkRlciBGZWhsZXIgbGllZ3QgZGFyYW4sIGRhc3Mga2VpbmUgRUxGLWtvbXBhdGlibGVuIExpYnMgZHJhdWYgc2luZCBhdWYgZGVtClJlY2huZXIuIEljaCBhZW5kZXIgZGFzIGJlaXplaXRlbi4KCi1DcmVhLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hsZWNodGVyIFJ1ZiAoU2NocnVtcGZpLCAxNC4gRmViIDE5OTYsIDE2OjAwOjQwKToKfiMhIHJuPVZhbGFyaWFuIHJ0PTgyNDIyNDk2OAp+IyEgdGlkPTgyNDE0MTI3OQpNYWNoIFNlbGJzdGxvZXNjaHVuZywgZGFubiBzdG9lcnQgRGljaCBnYXIgbml4IG1laHIhCgpTY2hydW1wZmkgcnVmdDogUlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVURJSUlJSUlJSUlJSUlJSUlJSQpTY2hydW1wZmkgcnVmdDogUllZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZTk5OTk5OTk5OTkVFRUVFRQo6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb2NobWFsIGZ1ZXIgTGludXhndXJ1cyAoVG9lLCAxNC4gRmViIDE5OTYsIDE3OjE4OjU0KToKfiMhIHJuPUNyZWF0aXZlIHJ0PTgyNDMwOTE0Nwp+IyEgdGlkPTgyNDMwNTE1NwpXaWUgd2FlcnMgZXJzdCBtYWwgbWl0IG5lbSBldHdhcyBiZXNzZXJlbiBwbGF0dGVuZGVzaWduPwp0b2UsIHBmZWlmdCB3aXJrbGljaCB1bnNjaHVsZGlnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaWdlcmVudGVuIChLbG9uaywgMTUuIEZlYiAxOTk2LCAxMjoxNTo0Myk6ClRhY2ggYXVjaC4KCkFsc28sIGZ1ZXIgZGllIGVpbmdlZmxlaXNjaHRlbiBUaWdlcmVudGVuZmFucyB1bnRlciBFdWNoLCBkaWUgdW5iZWRpbmd0CmlocmVtIFN0dWVjayBIb2x6IGF1ZiB2aWVyIFJhZWRlcm4gZWluZW4gTmFtZW4gZ2ViZW4gd29sbGVuLCBnaWJ0IGVzIGpldHp0CmRpZSBNb2VnbGljaGtlaXQuCkljaCB2ZXJ3ZWlzZSBoaWVyYmVpIGF1ZiBkaWUgQXVmc2NocmlmdCwgZGllIGF1ZiBqZWRlciBUaWdlcmVudGUgenUgZmluZGVuCmlzdC4KCktsb25rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGVhc3kgaXN0IGluIGRlbiBuYWVjaHN0ZW4gV29jaGVuIG51ciBzcG9yYWRpc2NoIGVycmVpY2hiYXIgKENoZWFzeSwgMTYuIEZlYiAxOTk2LCAwMjowOTozNSk6CkhpIEZvbGtzLAoKZGllIGRpZSBtaWNoIG5pY2h0IGtlbm5lbiwgc29sbHRlbiBnbGVpY2ggd2VpdGVyYmxhZXR0ZXJuLi4uCgpJY2ggaGFiZSBsZWlkZXIga2VpbmUgTW9lZ2xpY2hrZWl0IG1laHIsIG1pY2ggaW4gZGVuIG5hZWNoc3RlbiBXb2NoZW4KcmVnZWxtYWVzc2lnIGVpbnp1bG9nZ2VuOiBtZWluIHJlZ3VsYWVyZXIgWnVnYW5nIGlucyBNRyB3dXJkZSBkaWNodCBnZW1hY2h0LgoKRXMgbGllZ3QgYWxzbyBuaWNodCBhbiBtaXIsIHdlbm4ncyBqZXR6dCB3ZW5pZ2VyIEtlYXNlYnJvZXRjaGVuLCBDaGVlc2VidXJnZXIKdW5kIEJsZWlsZWlkcy1SZWN5Y2xpbmcgZ2lidCA6KAoKV2VyIG1pciB1bmJlZGluZ3Qgd2FzIG1pdHRlaWxlbiB3aWxsLCBtdXNzIGxlaWRlciBhdWYgYW5kZXJlbSB3ZWcgYW50d29ydGVuOgpjc0BjaW5ldGljLmRlIGtvbW10IGFuIG1laW5lbSBBcmJlaXRzcGxhdHogYW4uCgpJY2ggc3VjaCBtaXIgZWluZW4gYW5zdGFlbmRpZ2VuIEludGVybmV0LVByb3ZpZGVyIGltIEdyb3NzcmF1bQpMdWR3aWdzaGFmZW4vTWFubmhlaW0sIHVuZCB3ZXJkZSBzb2JhbGQgZGllIFRlbGVrb3R6IG1laW4gVGVsZWZvbiBpbnN0YWxsaWVydApoYXQgZGFubiB3ZWl0ZXJtYWNoZW4uLi4gZGFubiB3YWhyc2NoZWlubGljaCB3aWVkZXIgbWl0IEZyYWdnbGUsIG5hY2ggZGVtCnNpZWJ0ZW4gcmVib290IDooCgpJbiBkZXIgWndpc2NoZW56ZWl0IHdlcmQgaWNoIGFiIHVuZCB6dSB2b24gbWVpbmVtIGFsdGVuIFVuaS1BY2NvdW50IGF1cwp3ZWl0ZXJtdWRkZW4sIGRhbm4gaGFsdCBudXIgYW0gV0UsIHVuZCBudXIgZGFubiwgd2VubiBtaWNoIGlyZ2VuZGplbWFuZApyZWlubGFlc3N0LgoKKkFic2NoaWVkc2tudWRkZWx3dXNjaGVsICogKCpoZXVsKikKLUNoZWFzeQoKUC5TOiBuYXR1ZXJsaWNoIGtvbW0gaWNoIG5hY2ggQmllbGVmZWxkLi4uIGJpbiBtaXQgbWVpbmVuIFp3ZWl0aSBHb29meQphbmdlbWVsZGV0Li4uLiBDaGVhc3kgc3RlY2t0IG5vY2ggaW4gRnJhZ2dsZSBSb2NrICh1bmQgaG9mZnQgZGFzcyBkZXIgUmVjaG5lcgpkaWVzbWFsIHN0YWJpbCBsYWV1ZnQgZnVlciBkaWUgbmFlY2hzdGVuIHBhYXIgV29jaGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGlnZXJlbnRlIGdlc3VjaHQgKEZsb3JhLCAxNi4gRmViIDE5OTYsIDE2OjA3OjMxKToKR2VzdGVybiAoRG9ubmVyc3RhZyksIGt1cnogdm9yIE1pdHRlcm5hY2h0IE1FWiwgc2luZCBoaWVyIHVuc2VyZSBSZWNobmVyCmFiZ2VzdHVlcnp0OyBpY2ggd2FyIGdlcmFkZSBpbiBkZXIgSEUgdW5kIGhhYmUgbWVpbmUgVGlnZXJlbnRlCiJFaW5oZWl0c3d1cnplbCIgZGVzd2VnZW4gbmljaHQgbWVociBhbiBtaWNoIG5laG1lbiBrb2VubmVuLiBIZXV0ZSBiZWltCkVpbmxvZ2dlbiB3YXIgc2llIHdlZy4KRmFsbHMgc2llIGplbWFuZCBtaXRnZW5vbW1lbiBoYXQsIHdhZXJlIGljaCBzZWhyIGRhbmtiYXIsIHdlbm4gZXIvc2llIG1pcgp6dXJ1ZWNrZ2ViZW4ga29lbm50ZS4KClAuUy4gVmllbGxlaWNodCBrb2VubnRlIG1hbiBkaWUgVGlnZXJlbnRlbiBhdWNoIHNvIHVtcHJvZ3JhbW1pZXJlbiwgZGFzcwpzb3dhcyBuaWNodCBwYXNzaWVydD8KCkZsb3JhIHs6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaWdlcmVudGUgZ2VzdWNodCAoQXNtb2RpcywgMTYuIEZlYiAxOTk2LCAyMTo1NTo1OCk6Cn4jISBybj1GbG9yYSBydD04MjQ0ODMyNTEKfiMhIHRpZD04MjQ0ODMyNTEKU092aWVsIGljaCB3ZWlzcywgdmVyc2Nod2luZGVuIGRpZSBFbnRlbiwgd2VubiBtYW4gaW5zIFJlaWNoIGRlciBOZXR6dG90ZW4KZ2VodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IChMaSwgMTkuIEZlYiAxOTk2LCAxNDoyMTowNik6CkhhbGxvIQpmdWVyIGFsbGUgZGllIHp1ciBQYXJ0eSBrb21tZW4gd29sbGVuIHVuZCBuaWNodCB3aXNzZW4sIGRhc3MgZXMgZWluZQpQYXJ0eXJ1YnJpayBnaWJ0LCBzZWkgZGllcyBoaWVybWl0IGdlc2FndC4gTGVzZW4ga29lbm50IGlociBkaWUgQXJ0aWtlbApuYXR1ZXJsaWNoIGVyc3QsIG5hY2hkZW0gaWhyIGRpZSBydWJyaWsgcGFydHkgYWJvbm5pZXJ0LgpMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NobGVjaHRlciBSdWYgKEd3eW53YWl0ZXIsIDE5LiBGZWIgMTk5NiwgMTU6Mzk6MjIpOgp+IyEgcm49WmFyZG96IHJ0PTgyNDMwODAwMAp+IyEgdGlkPTgyNDE0MTI3OQoKSGFsbG8gWmFyZG96LAoKIkRpZSBSdWZlIHZvbiBlaW4gcGFhciBDaGFvdGVuIiB3YXIgbmljaHQgYWxzIERpc2tyaW1pbmllcnVuZyBlaW5lcgpiZXN0aW1tdGVuIEdpbGRlIG9kZXIgV2VsdGFuc2NoYXV1bmcgZ2VkYWNodC4gQXVjaCB3ZW5uIG1laW5lIFNwaWVsZmlndXJlbgpzaWNoZXIgbmljaHQgZnVlciBkaWUgQ2hhb3NnaWxkZSB6dSBoYWJlbiB3YWVyZW4gKGF1c3NlciBhbHMgdW5mcmVpd2lsbGlnZQpPcGZlciwgYWJlciBzbyBsYWV1ZnQgZGFzIE1HIGphIHp1bSBHbHVlY2sgbmljaHQpLCBmaW5kZSBpY2ggaW4gUkwgZGllIExldXRlCih1bmQgZGllIENoYW90ZW4pIG1laXN0IG5ldHQsIHdlbm4gYXVjaCBtYW5jaG1hbCBhbnN0cmVuZ2VuZC4gKFdpZWRlciBuaWNodApzcGV6aWVsbCBhdWYgZGllIEdpbGRlIGdlbXVlbnp0KS4gUGVyc29lbmxpY2ggYmluIGljaCBhdWNoIGluIFJMIG5pY2h0IGZ1ZXIKenV2aWVsIENoYW9zIChBbmFyY2hpZSBpc3QgT3JkbnVuZyBvaG5lIEhlcnJzY2hhZnQgLSB1bmQgd2llIGthbm4gZWluZQpDaGFvc2dpbGRlIFJhZW5nZSBoYWJlbj8pLCBhYmVyIGljaCBmaW5kZSwgRHUgaGFzdCBtaXQgZGVyIEdpbGRlIGRhcyBNRyByZWNodApiZXJlaWNoZXJ0LgogICBJY2ggYmV6b2cgbWljaCBhdWNoIGVoZXIgYXVmIFJ1ZmUgd2llICJIeXBlciwgSHlwZXIhIiBhbHMgYXVmIFJ1ZmUgd2llCiJIYWt1bmEgTWF0YXRhIiBvZGVyICJSdXV1dXV1ZGlpaWkiICA7LSkpCgpGcm9laGxpY2hlcyBNdWRkZW4gKEljaCBob2ZmZSwgYXVjaCBNYWdpZXIgaGFiZW4gaWhyZW4gU3Bhc3MpCgpZb3VycywgR3d5bioKTk5OIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZWluc2J1ZXJvIGVyb2VmZm5ldCEhISAoVmlwZXIsIDIxLiBGZWIgMTk5NiwgMTY6MDI6NTMpOgpIdWh1IExldXRlLAoKSWhyIHNvbGx0ZXQgZ2FueiBzY2huZWxsIG1hbCBkaWUgR2lsZGUgaW4gUG9ydCBWYWluIGF1ZnN1Y2hlbiwgZGVubiBkb3J0CiBnaWJ0cyAgZXR3YXMgTmV1ZXMuIFVuZCB6d2FyIGVpbmVuIG5ldWVuIEF1c2dhbmcuIFdvaGluPyBOYWNoIG9iZW4KCmlucyBuZXVlIFZFUkVJTlNCVUVSTyBkZXMgRm9lcmRlcnZlcmVpbnMgUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLgoKRG9ydCBrb2VubnQgaWhyIEV1Y2ggdWViZXIgZGVuIFZlcmVpbiBpbmZvcm1pZXJlbiBvZGVyICBlaW5mYWNoIG51ciBtaXQtCmVpbmFuZGVyIHNjaHdhdHplbiA6LSksIGF1c3NlcmRlbSBlcmZhaHJ0IElociBkb3J0IGF1Y2ggd2llIG1hbiBpbiBkZW4KVmVyZWluIGVpbnRyZXRlbiBrYW5uLiBVbmQgZGFzIGlzdCB3aWNodGlnLCBkYW1pdCB1bnNlciBzY2hvZW5lcyBNb3JnZW4tCkdyYXVlbiBub2NoIGxhbmdlIGJlc3RlaGVuIHVuZCB1bnMgZXJmcmV1ZW4ga2Fubi4KCkFsc28sIHNjaGF1dCBtYWwgcmVpbiBkb3J0LiBBbGxlIHNpbmQgaGVyemxpY2ggd2lsbGtvbW1lbi4KClZpcGVyLCBTY2hyaWZ0ZnVlaHJlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2htYWwgZnVlciBMaW51eGd1cnVzIChBbm5vLCAyMS4gRmViIDE5OTYsIDE2OjM1OjAzKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTgyNDMwNTE1Nwp+IyEgdGlkPTgyNDMwNTE1NwpoYWxsbyBlbmd5Cnp1IDEuIGFsc28gaWNoIGhhYmUgMS4zLjYwIGRlcnplaXQgbGF1ZmVuLCB1bmQgZGFzIG9obmUgcHJvYmxlbWUsIHdlciBzaWNoZXIKZ2VoZW4gd2lsbCBzb2xsdGUgMS4yLjEzIG5laG1lbiwgZGFzIGlzdCBkZXIgbGV0enRlIG5pY2h0LWFscGhhLUtlcm5lbC4KenUgMi4gL3Vzci9YMTEvYmluL1hpc3QgbnVyIGVpbiBsaW5rIGF1ZiBkZW4gZWlnZW50bGljaGVuIFgtU2VydmVyLCBzY2hhdQplaW5mYWNoIG1hbCB3b2hpbiBkZXIgemVpZ3QsIHVuZCBvYiBkaWUgRGF0ZWkgZXhpc3RpZXJ0LgoKQW5ubwooYmluIHp3YXIga2VpbiBHdXJ1LCBhYmVyIGljaCBob2ZmZSBlcyBoaWxmdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJlaW5zYnVlcm8gZXJvZWZmbmV0ISEhIChUYXNoYSwgMjEuIEZlYiAxOTk2LCAyMDo1Mjo0Nyk6Cn4jISBybj1WaXBlciBydD04MjQ5MTQ5NzMKfiMhIHRpZD04MjQ5MTQ5NzMKSGkhCgpBbHNvIGljaCBrZW5uIGRlbiBBdXNnYW5nIHNjaG9uIHNlaXQgaWNoIE1hZ2dpZSBiaW4uIFdhcyBzb2xsbiBkYSBuZXUgc2Vpbj8KCi0+IFNjaG1hcnJuLCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoSmFzcGVyLCAyMi4gRmViIDE5OTYsIDAxOjQ1OjIyKToKV2FlcmUgZXMgZWluenVyaWNodGVuLCBkYXNzIEFydGlrZWwsIGRpZSBtYW4gZ2VsZXNlbiBoYXQsIGF1Y2ggYWxzIGdlbGVzZW4KbWFya2llcnQgYmxlaWJlbiwgZmFsbHMgc2llIHZlcmxlZ3Qgd2VyZGVuLgpFcyBpc3QgbGFlc3RpZyB3ZW5uIG1hbiBkZW5zZWxiZW4gQXJ0aWtlbCBtZWhybWFscyB2b3IgZGllIEF1Z2VuIGJla29tbXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoTG9jbywgMjIuIEZlYiAxOTk2LCAxNDowMjowNCk6Cn4jISBybj1KYXNwZXIgcnQ9ODI0OTQ5OTIyCn4jISB0aWQ9ODI0OTQ5OTIyCkZBUSAqc2V1ZnoqCk5laW4sIGRhcyBnZWh0IGxlaWRlciBuaWNodC4gRGVyIEdydW5kIGlzdCBkZXJqZW5pZ2UsIGRhc3MgZGllIG1wYSBiZWkgZWluZW0KdmVybGVndGVuIEFydGlrZWwgbmljaHQgZXJrZW5uZW4ga2Fubiwgb2IgbWFuIGlobiB3b2FuZGVycyBzY2hvbiBnZWxlc2VuIGhhdC4KRGllIG1wYSBtZXJrdCBzaWNoIC0gdW0gU3BlaWNoZXIgdW5kIEF1ZndhbmQgenUgc3BhcmVuIC0gbnVyLCBiaXMgenUgd2VsY2hlcgpVaHJ6ZWl0IER1IGFsbGUgQXJ0aWtlbCBlaW5lciBSdWJyaWsgZ2VsZXNlbiBoYXN0LiBXaXJkIGVpbiBBcnRpa2VsIG51bgp2ZXJsZWd0LCBiZWtvbW10IGVyIGVpbmUgbmV1ZSBVaHJ6ZWl0IGluIGRlciBuZXVlbiBSdWJyaWsuIExlaWRlciBpc3QgZGFubgpuaWNodCBtZWhyIGZlc3R6dXN0ZWxsZW4sIG9iIER1IGRlbiBBcnRpa2VsIGluIGRlciBhbHRlbiBSdWJyaWsgbm9jaCBnZWxlc2VuCmhhc3QsIGJldm9yIGVyIHZlcmxlZ3Qgd3VyZGUsIG9kZXIgbmljaHQuCgpXaXIgbXVlc3NlbiBhbHNvIGRhbWl0IGxlYmVuLCBkYXNzIG1hbiBhdWNoIG1hbCBlaW5lbiBBcnRpa2VsIDIqIHp1IHNlaGVuCmJla29tbXQuIFVuZCBiZWkgamVkZW0gVmVybGVnZW4gdWViZXJsZWdlbiwgb2IgZXMgd2lya2xpY2ggc2VpbiBtdXNzLi4uCgpQLlMuOiBXZXIgc2NocmVpYnQgZWluIFNrcmlwdCwgZGFzIGRpZXNlbiBBcnRpa2VsIGF1dG9tYXRpc2NoIGFscyBBbnR3b3J0IGF1ZgplbnRzcHJlY2hlbmRlIEFuZnJhZ2VuIHBvc3RlZD8gTmVpbiBDYXR3ZWF6bGUsIG5pY2h0IHNjaGxhZ2VuLi4uIDstKQoKICAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWVkZXJob2x0ZXMgTGVzZW4gZGVzc2VsYmVuIEFydGlrZWxzIChZZW5kaSwgMjIuIEZlYiAxOTk2LCAxNDoyMTo1Mik6Cn4jISBybj1Mb2NvIHJ0PTgyNDk5NDEyNAp+IyEgdGlkPTgyNDk0OTkyMgoKSGFsbG8gTG9jbyEKClZvcnNjaGxhZzogMS4pIFZlcmxlZ2UgZGllc2VuIHRocmVhZCBuYWNoICJFbnR3aWNrbHVuZyIuLi4gICA7KQoKMi4pIE5lbm5lIGJlaW0gdmVybGVnZW4gZWluZXMgQXJ0aWtlbHMgZGVuIHZlcmxlZ3RlbiBBcnRpa2VsIGRvY2ggZWluZmFjaApnZW5hdSB3aWUgZGVuIHp1IHZlcmxlZ2VuZGVuLCBiZWhhbHRlIGF1Y2ggQXV0b3IgdW5kIFVocnplaXQgYmVpLCB1bmQgaGFlbmdlCm51ciBhbHMgVW50ZXJ0aXRlbCBkZW4gIlZlcmxlZ2VyIiBtaXQgVXJydWJyaWsgdW5kIFVocnplaXQgYW4uCkF1ZiBkaWVzZSBBcnQgdW5kIFdlaXNlIGJsZWliZW4gZGllIEFydGlrZWwgImdlbGVzZW4iLCB1bmQgZXMgaXN0IG5pY2h0IHNvCmlycml0aWVyZW5kLCB3ZW5uIG1hbiBlaW5lbiBBcnRpa2VsIHZvbiBSdW1hdGEgb2RlciBDYXQqIGxpZXN0LCBkZXIgZGFubiBtaXQKIkguIiBvZGVyICJZVFkiIHVudGVyc2NocmllYmVuIGlzdC4uLgoKT2xsbnMga2xvcj8gIChJY2ggd2Vpc3MgbmljaHQsIG9iIGljaCBtaWNoIGtsYXIgYXVzZ2VkcnVlY2t0IGhhYmUuLi4pCgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoTG9jbywgMjIuIEZlYiAxOTk2LCAxNDoyNjoyNik6Cn4jISBybj1ZZW5kaSBydD04MjQ5OTUzMTIKfiMhIHRpZD04MjQ5NDk5MjIKV2VubiBkYXMgc28gZWluZmFjaCB3YWVyZSwgd2FlcmUgZXMgbGFlbmdzdCBpbXBsZW1lbnRpZXJ0LiBMZWlkZXIgZ2VodCBkYXMgc28KbmljaHQsIGFiZXIgaWNoIGRlbmssIGRhcyBtdXNzIGljaCBuaWNodCB1bmJlZGluZ3QgaGllciBicmVpdHRyZXRlbi4gRmFsbHMgaWNoCmt1cnpmcmlzdGlnIGFtIFNhIGRvY2ggaW4gQmllbGVmZWxkIGJpbiwgZXJrbGFlciBpY2ggZXMgZWluZXIgaW50ZXJlc3NpZXJ0ZW4KTWluZGVyaGVpdCBnZXJuZSBkb3J0LCB3YXJ1bSBkYXMgc28gbmljaHQgZ2VodC4KCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWVkZXJob2x0ZXMgTGVzZW4gZGVzc2VsYmVuIEFydGlrZWxzIChBYmVuZHJvdCwgMjIuIEZlYiAxOTk2LCAxNToxNDo0NCk6Cn4jISBybj1Mb2NvIHJ0PTgyNDk5NDEyNAp+IyEgdGlkPTgyNDk0OTkyMgpVbmQgd2FydW0gbGFlc3N0IGR1IGRhbm4gbmljaHQgZWluZmFjaCBiZWkgdmVybGVndGVuIEFydGlrZWxuIGRpZSBVaHJ6ZWl0IGJlaQpkZXIgYWx0ZW4gVWhyemVpdD8KRGFzIGlzdCBzb3dpZXNvIGxvZ2lzY2hlciwgZGVubiBkaWUgQXJ0aWtlbCB3ZXJkZW4gamEgZHVyY2hzIFZlcmxlZ2VuIG5pY2h0Cm5ldSBnZXNjaHJpZWJlbiwgc2llIGJsZWliZW4gZGllc2VsYmVuIGFsdGVuIEFydGlrZWwuCgpBYmVuZFJvdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoTG9jbywgMjIuIEZlYiAxOTk2LCAxNToyNTowOSk6Cn4jISBybj1BYmVuZHJvdCBydD04MjQ5OTg0ODQKfiMhIHRpZD04MjQ5NDk5MjIKKkhFVUwqCjEuIHdlaWwgZGllIFVocnplaXQgbmljaHQgdm9uIGRlciBtcGEgZ2VzZXR6dCB3aXJkLgoyLiB3ZWlsIGRpZSBtcGEgZGFyYXVmIGFuZ2V3aWVzZW4gaXN0LCBkYXNzIGRpZSBVaHJ6ZWl0ZW4gaW4gZWluZXIgZWluZXIKUnVicmlrIGNocm9ub2xvZ2lzY2ggc2luZAozLiB3ZWlsIGVzIHBhc3NpZXJlbiBrYW5uLCBkYXNzIER1IGVpbmVuIEFydGlrZWwgZGFubiBuaWUgenUgc2VoZW4gYmVrb21tc3Q6CldhcyB6LkIuLCB3ZW5uIER1IGdlcmFkZSBSdWJyaWsgQSB2b24gMTAgYmlzIDIwIFVociBnZWxlc2VuIGhhc3QsIEIgYWJlciBudXIKYmlzIDEwIFVociwgdW5kIGpldHp0IHdpcmQgZWluIEFydGlrZWwgYXVzIEIgdm9uIDEyIFVociBuYWNoIEEgdmVybGVndD8KCgpJY2ggZ2xhdWIsIGljaCBtdXNzIGRhcyBpbiBkaWUgSGlsZmVzZWl0ZSB6dXIgbXBhIGF1Zm5laG1lbiwgZGFtaXQgZXMgZW5kbGljaAphbGxlIGdsYXViZW4uLi4KCiAgICBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaWVkZXJob2x0ZXMgTGVzZW4gZGVzc2VsYmVuIEFydGlrZWxzIChBbW9uc3VsLCAyMi4gRmViIDE5OTYsIDE1OjI5OjQ1KToKfiMhIHJuPUxvY28gcnQ9ODI0OTk5MTA5Cn4jISB0aWQ9ODI0OTQ5OTIyCldhZXJlIGVzIG1vZWdsaWNoLCBuYWNoIGRlbSBMZXNlbiBlaW5lcyBBcnRpa2VscyBkZW4gdm9yaGVyaWdlbgpBcnRpa2VsIGJ6dyBkZW4gQXJ0aWtlbCBub2NobWFscyB6dSBsZXNlbiwgYXVmIGRlbiBzaWNoIGRlcgpnZXJhZGUgZ2VsZXNlbmUgQXJ0aWtlbCBiZXppZWh0PyBadW0gQmVpc3BpZWwgbWl0ICdiYicgd2llICdiYWNrJwpzdGF0dCAnbm4nIHdpZSAnbmV4dCcgPwoKICAgQW1vblN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoTGFyaXNzYSwgMjIuIEZlYiAxOTk2LCAxNTo0MToxNCk6Cn4jISBybj1BbW9uc3VsIHJ0PTgyNDk5OTM4NQp+IyEgdGlkPTgyNDk0OTkyMgpHaWJiZXQgZG9jaCBzY2hvbiEKSGlsZmUgbXBhLCBvZGVyICd3aWVkZXJob2xlJwo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2llZGVyaG9sdGVzIExlc2VuIGRlc3NlbGJlbiBBcnRpa2VscyAoTG9jbywgMjIuIEZlYiAxOTk2LCAxNTo0MTozNCk6Cn4jISBybj1BbW9uc3VsIHJ0PTgyNDk5OTM4NQp+IyEgdGlkPTgyNDk0OTkyMgpJbSBLb3BmIGRlcyBBcnRpa2VscyBzdGVodCBkcmluLCB3b3JhdWYgZXIgc2ljaCBiZXpvZy4gTWl0ICdhcnRpa2VsIDxucj4nCmxpZXN0IER1IGRlbiBlbnRzcHJlY2hlbmRlbiBkYW5uIG5vY2htYWwsIGtlaW4gUHJvYmxlbS4KSG9mZmUsIGdlaG9sZmVuIHp1IGhhYmVuLAoKICAgICAgICAgTG9jbwoKUC5TLjogRGllcyBpc3Qga2VpbiBhdXRvbWF0aXNjaGVyIEFucnVmYmVhbnR3b3J0ZXIuIExvY28gaXN0IGFiIHNvZm9ydCBiaXMKdm9yYXVzc2ljaHRsaWNoIG1vcmdlbiBuaWNodCBtZWhyIGltIE1vcmdlbmdyYXVlbi4gV2VubiBTaWUgZWluZSBOYWNocmljaHQgenUKaGluZXRybGFzc2VuIGhhYmVuLCB2ZXJ3ZW5kZW4gU2llIGJpdHRlICdtYWlsJy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdycnJyciEhISEgIDotKCAoSWx2ZXMsIDI3LiBGZWIgMTk5NiwgMjA6MTY6MzYpOgpEYSBtYWNodCBkaWUgVGVsZWtvbSBlaW5lbiBTb25udGFnIG1pdCBiaWxsaWdlbiBHZWJ1ZWhyZW4sCnVuZCBpY2gga3JpZWdlIGtlaW5lbiBDb25uZWN0IHp1bSBNRy4gIDotKAoKSWx2ZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNoZXJpZmYgKFphcmRveiwgIDEuIE1hciAxOTk2LCAxNjozMjowMCk6CkV1ZXIgYWxsZXNnZWxpZWJ0ZXIgWmFyZG96IHdpbGwgU2hlcmlmZiB3ZXJkZW4hCkljaCB2ZXJzcHJlY2hlIGV1Y2ggYXVjaCwgZWluIHNlaGpyIGd1dHRlciwgbmV0dGVyLCB1bmQgZ2VycmVjaHRlcgpTaGVyaWZmIHp1IHNlaW4uIEJlaSBtaXIgc2luZCBQbGF5ZXJraWxscyBlcmxhdWJ0ISBKZWRlciBkYXJmIG1hY2hlbiwgd2FzIGlobQpnZWZhZWxsdGx0ISBXZXIgbWljaCB3YWVobHQsIGRhcmVmIG1pciBlaW5lbiBTdW5zY2ggbWFpbGVuLCBkZW4gaWNoIEdBUkFOVElFUlQKZXJmdWVsbGVuIHdlcmRlISBJY2ggd2VyZGUgZGFzIGdhbnplIE1HIHVta3JlbXBlbG4sIGljaCB3ZXJkZSBkYXMgSW5uZXJlIG5hY2gKQXVzc2VuIGtlaHJlbiB1bmQgaWNoIHdlcmRlIGVzIG1pdCBGcmV1ZGUgdHVuIQpXYWVobHQgICBaYXJkb3ohIERpZSBFaW56aWcgcmljaHRpZ2UgV2FobCBpbSBNRyEhISEKClAuUy4gU29ycnkgd2VnZW4gZGVyIFRpcGZlaGxlciwgaWNoIHNlaGUgaGllciBsZWlkZXIgbmljaHQsIHdhcyBpY2ggdGlwcGUgOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaGVyaWZmIChHdWxkdWthdCwgIDEuIE1hciAxOTk2LCAxNjozOTo1MCk6Cn4jISBybj1aYXJkb3ogcnQ9ODI1Njk0MzIwCn4jISB0aWQ9ODI1Njk0MzIwCkhvZXJ0IHNpY2ggbWVociBuYWNoIEwuSC5Pc3dhbGQgYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhaGwgKExob3N3YWxkLCAgMS4gTWFyIDE5OTYsIDE3OjE4OjM4KToKCkljaCBtb2VjaHRlIG1laW5lIEFuaGFlbmdlciBiaXR0ZW4sIElocmUgU3RpbW1lbiB1bmQgaWhyZXJlIFp3ZWl0aXMgc3RpbW1lbgp1bmQKZGVyIHp3ZWl0aXMgendlaXRpcyB1bmQgZHJpdHRpZXMgIHVuZCB6d2VpdGllcyB6d2VpdGllcyBkcml0dGllcyB1bmQgLi4uLi4uCmV0YyAuLi4uCgpaYXJkb3ogenUgZ2ViZW4KCk51ciBzbyBrYW5uIHNpY2hlcmdlc3RlbGx0IHdlcmRlbiwgZGFzcyBkaWUgdm9uIG1pciBnZWZvcmRlcnRlIEFuYXJjaHkgdW5kCkNoYW9zIGVpbnp1ZyBpbnMgbW9yZ2VuZ3JhdWVuIGhhbHRlbiB3aXJkIQoKRWluZSBTdGltbWUgZnVlciBaYXJkb3ogaXN0IGVpbmUgU3RpbW1lIGZ1ZXIgTEhPc3dhbGQgKGluIGVybWFuZ2VsdW5nIGRlcwpNYWdpZXJzdGF0dXMpIGFscyBEZXB1dHkhCgoKOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhaGxlcmdlYm5pcyEgKENhdHdlYXpsZSwgIDEuIE1hciAxOTk2LCAxNzo0MTowNSk6Ck1vaW4hCgpTbywgaWNoIGhhYiBhbHNvIGhldXRlLCBiZXNzZXIgZ2VzYWd0IGdyYWRlIGViZW4sIGRpZSBTdGltbWVuYXVzemFlaGx1bmcKZGVyICdXZXIgd2lyZCBTaGVyaWZmJy1XYWhsIGJla29tbWVuLiBJY2ggbW9lY2h0ZSBoaWVyIGpldHp0IGRhcyBFcmdlYm5pcwpiZWthbm50IGdlYmVuLgoKRGllIEF1c3phZWhsdW5nIGhhdCBlcmdlYmVuOgoxMjAgV2FobHRlaWxuZWhtZXIgaGFiZW4gZ2V3YWVobHQ6CgoxMTcgU3RpbW1lbiBmdWVyIENhdHdlYXpsZQoxIFN0aW1tZSBmdWVyIFphcmRvegoxIFN0aW1tZSBmdWVyIEFtYXpvcmEKMSBTdGltbWUgZnVlciBHdWxkdWthdAoKRGFtaXQgYmluIGljaCB3b2hsIGVpbmRldXRpZyBnZXdhZWhsdCB3b3JkZW4gOi0pCgpJY2ggbW9lY2h0ZSBtaWNoIGFuIGRpZXNlciBTdGVsbGUgZXJzdCBtYWwgZnVlciBtZWluZSB6YWhscmVpY2hlbiBXYWVobGVyCmJlZGFua2VuISBWaWVsZW4gRGFuaywgZGFzIGlociBmdWVyIG1pY2ggZ2VzdGltbXQgaGFidC4KCkFsbGUgZGllLCBkaWUgZGFzIG5pY2h0IGdldGFuIGhhYmVuIC4uLiBudW4gamEgLi4uIGlociBoYWJ0IG5hdHVlcmxpY2gKcGVyc29lbmxpY2ggZGllIEtvbnNlcWVuemVuIHp1IHRyYWdlbi4gRmFsbHMgRXVjaCBhdWZmYWxsZW4gc29sbHRlLCBkYXMKaW4gZGVyIG5hZWNoc3RlbiBaZWl0IG1laHIgYWxzIDMgU3BpZWxlciBnZWxvZXNjaHQgd2VyZGVuLi4udGphLCBkYXMgaXN0Cm5hdHVlcmxpY2ggYWxsZXMgbnVyIGVpbiBkdW1tZXIgWnVmYWxsIHZvbiBtYXNzaXZlciBTY3JpcHR0YWV0aWdrZWl0IDotKQoKQWxzIGVyc3RlIEFtdHNoYW5kbHVuZyBtZWluZXIgd2llZGVyZ2V3b25uZW5lbiBTaGVyaWZmdGFldGlna2VpdCB3ZXJkZQppY2ggZXJzdG1hbCBkaWVzZSB1bnNpbm5pZ2VuIFdhaGxlbiBhYnNjaGFmZmVuLiBJY2ggd2lsbCBuaWUgd2llZGVyIGVpbgpXb3J0IGRhdm9uIGhvZXJlbi4KCkJpcyBkZW5uZSwKICAgIFlvdXJzIHRydWx5LAogICAgICAgICAgIENhdHdlYXpsZSAoU2hlcmlmZiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwcmVpc2UgZnVlciBrbm9ibGF1Y2h6ZWhlbiBnZXN1bmtlbiAoSmVob3ZhLCAgMS4gTWFyIDE5OTYsIDE5OjQyOjUyKToKfiMhIHJuPVJ5bmUgcnQ9ODI0MTU4NTMwCn4jISB0aWQ9ODI0MTU4NTMwCkhhbGxvICEKCkRhcyBSdWZlbiBzdG9lcnQgbWljaCBtZWhyLCBhbHMgZXMgbWlyIG51dHp0LgpBbHNvIGthbm4gbWFuIGFsbGdlbWVpbiBkYXJhdWYgdmVyemljaHRlbi4KRWluZmFjaCBhbGxlIFJ1ZmUgcmF1c3RyaWdnZXJuIGlzdCBhdWNoIG5pY2h0IFNpbm4gZGVyIFNhY2hlLCBkYQppY2ggZGFubiBpbW1lciBkZW5rZSwgZGFzcyBtaXIgd2FzIHdpY2h0aWdlcyBlbnRnZWh0LgooZGVzaGFsYiBpZ25vcmllcmUgaWNoIGF1Y2ggZGVuIGlnbm9yaWVyZSBCZWZlaGwpCgpDVSwgSmVob3ZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FobGVyZ2VibmlzISAoUGFyYWNlbHN1cywgIDEuIE1hciAxOTk2LCAyMToyNDoxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI1Njk4NDY1Cn4jISB0aWQ9ODI1Njk4NDY1CkhtbSwgLi4uLgpJY2ggdmVybWlzc2UgZGEgYWJlciB3YXMgaW4gZGVyIExpc3RlLCBDYXQqCk1hbiBrb25udGUgZG9jaCBhdWNoIEZyZXVuZCB3YWVobGVuLiBVbmQgaWNoIGJpbiBtaXIgX3ppZW1saWNoXyBzaWNoZXIsIGRhc3MKZGVyIG1pbmQuIHp3ZWkgU3RpbW1lbiBiZWtvbW1lbiBoYXQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcHJlaXNlIGZ1ZXIga25vYmxhdWNoemVoZW4gZ2VzdW5rZW4gKEFuYWtpbiwgIDEuIE1hciAxOTk2LCAyMToyNToyMCk6Cn4jISBybj1KZWhvdmEgcnQ9ODI1NzA1NzcyCn4jISB0aWQ9ODI0MTU4NTMwCldpZSB3YXM/IFdlaWwgZXMgZGljaCBzdG9lcnQga2FubiBtYW4gZ2xlaWNoCmFsbGdlbWVpbiBkcmF1ZiB2ZXJ6ZWljaHRlbj8gRGFzIGdsYXVic3QgRHUgZG9jaCBzZWxiZXIgbmljaHQuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhaGxlcmdlYm5pcyEgKExvY28sICAxLiBNYXIgMTk5NiwgMjE6NDI6MTUpOgp+IyEgcm49UGFyYWNlbHN1cyBydD04MjU3MTE4NTYKfiMhIHRpZD04MjU2OTg0NjUKSnVwcCAtIGRhcyBXYWhsZXJnZWJuaXMgaXN0IGVpbmRldXRpZyBnZWZhZWxzY2h0ISBDYXR3ZWF6bGUsIG5pbW0gQ2F0d2VhemxlCndlZ2VuIFdhaGxiZXRydWcgZmVzdCEgLi4uIGFlaCwgdWgsIG9laG0gLi4uIGh1aD8KV2VyIGVya2xhZXJ0IHNpY2ggYmVyZWl0LCBkZW4gTXVzdGVycHJvemVzcyB6dSBmdWVocmVuPyBEYXMgV2FobGVyZ2VibmlzIGlzdApoaWVybWl0IGFuZ2Vmb2NodGVuIQoKUC5TLjogSWNoIGhhYmUgaGV1dGUgbWl0dGFnIG1hbCBnZXNjaGF1dCwgZGEgaGF0dGUgQ2F0KiB3aXJrbGljaCBudXIgZXR3YSA4MCUKZGVyIFN0aW1tZW4uLi4gaXJnZW5kd2llIGVyaW5uZXJ0IG1pY2ggZGFzIGFuIHNvIGVpbmUgS29tbXVuYWx3YWhsIE1pdHRlCjE5ODkuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhaGxlcmdlYm5pcyEgKE11cGZlbCwgIDEuIE1hciAxOTk2LCAyMjozNzo1Nik6Cn4jISBybj1Mb2NvIHJ0PTgyNTcxMjkzNQp+IyEgdGlkPTgyNTY5ODQ2NQpIbS4uLiBhbHMgaWNoIG1hbCBlaW5lbiBCbGljayBhdWYgZWluIFp3aXNjaGVuZXJnZWJuaXMgZ2V3b3JmZW4gaGFiLCBoYXR0ZQpaYXJkb3ogZWluZGV1dGlnIG1laHIgU3RpbW1lbiBhbHMgbnVyIGVpbmUsIHdhcmVuIDggb2RlciA5Li4uCgpKYWphLi4uIG1pdCB1bnMga29lbm50IGlocnMgamEgbWFjaGVuIC4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhaGxlcmdlYm5pcyEgKFdhaGxlaXRlciwgIDIuIE1hciAxOTk2LCAxMDoxMTo1Myk6Cn4jISBybj1NdXBmZWwgcnQ9ODI1NzE2Mjc2Cn4jISB0aWQ9ODI1Njk4NDY1CkhpZXIgZGllIG9mZml6aWVsbGUgU3RlbGx1bmdzbmFobWUgZGVzIFdhaGxsZWl0ZXJzIQood2FydW0gbWlyIGVpbiBsIGZlaGx0LCB3aXJkIGhpZXIgYXVjaCBub2NoIGdla2xhZXJ0IHdlcmRlbi4pCgpadW5hZWNoc3QgZWlubWFsIGRpZSB6dXNhbW1lbmZhc3N1bmcgaW4gQ2hyb25vbG9naXNjaGVyIFJlaWhlbmZvbGdlOgoKQWxzIENhdHdlYXpsZSBzaWNoIEZyZWl0YWcgbmFjaG1pdHRhZyBlaW5sb2dndGUgdW5kIEZlc3RzdGVsbHRlLCBkYXNzCnNlaW5lIEZ1ZWhydW5nIHZvciBaYXJkb3ogYXVmIGVpbiBwYWFyIHN0aW1tZW4genVzYW1tZW5zY2hydW1wZnRlLApiZWVuZGV0ZSBlciBrdXJ6ZXJoYW5kIGRpZSB3YWhsLCBpbmRlbSBlciBkaWUgdXJuZSB6ZXJzdG9lcnRlIHVuZAplaW4gZmFsc2NoZXMgd2FobGVyZ2VuaXMgYmVrYW5udGdhYiAoc2llaGUgYXJ0aWtlbCB2b24gY2F0d2VhemxlLCA5OSw5NSAlCmRlciBTdGltbWVuIGZ1ZXIgY2F0KQpBbHMgaWNoIGFscyBvZmZpemllbGxlciBSZXByYWVzZW50YW50IChub2NoIG1pdCAyIGwpIGRhcyBhbXRsaWNoZQpXYWhsZXJnZWJuaXMgYmVrYW5udGdhYiB1bmQgY2F0KiBkZXIgd2FobG1hbmlwdWxhdGlvbiBiZXppY2h0aWd0ZSwga25hbGx0ZQplciB2b2VsbGlnIGR1cmNoIHVuZCBsaWVmIGFtb2s6CgpEYXMgb2ZmaXppZWxsZSBFcmdlYm5pcyB3YXIgKHVuZ2VmYWVocik6CiAgQ2F0OiAgNTQgc3RpbW1lbgogIHphcmRveiAzOCBzdGltbWVuCiAgZnJldW5kICAzIHN0aW1tZW4KICBndWxkdWthdCAyIHN0aW1tZW4KICB5YW50cm8gICAxLzIgc3RpbW1lCiAgZGVyIHJlc3QgIDAsd2VuaWcgc3RpbW1lbgoKQXVmZ3J1bmQgZGVyIHZvbiBjYXR3ZWF6bGUgdm9yZ2Vub21tZW5lbiB3YWhsZmFlbHNjaHVuZyBkaXNxdWFsaWZpemllcnRlCmljaCBpaG4ga3VyemVyaGFuZCB1bmQgZXJrbGFlcnRlIHphcmRveiB6dW0gbmV1ZW4gc2hlcmlmZiAoaWNoIGJpbiBtaXIKc2ljaGVyLCBkYXNzIGNhdHdlYXpsZSB6dWRlbSBub2NoIGdlZG9wdCB3YXIsIGVpbmUgdXJpbnByb2JlIHNvbGx0ZQprbGFyaGVpdCBlcmdlYmVuLiBzb2xsdGUgY2F0IGRhenUgbmljaHQgYmVyZWl0IHNlaW4sIGJlYW50cmFnZSBpY2gsIGRlbiBib2Rlbgp1bSBkYXMgc2hlcmlmZi1vZmZpY2UgYXVzenVncmFiZW4gdW5kIHVyaW5yZXN0ZSwgbWl0IGRlbmVuIGNhdCBzZWluIHJldmllcgptYWtpZXJ0IGhhdCwKenUgZXh0cmFoaWVyZW4gdW5kIGVpbmVyIGRvcGluZ21pdHRlbGFuYWx5c2UgenV6dWZ1ZWhyZW4uCgpOdW4sIG5hY2ggdmVyb2VmZmVudGxpY2h1bmcgZGVzIHdhaGxlcmdlbmlzc2VzIGxvZXNjaHRlIGNhdCBrdXJ6ZXJoYW5kCmRlbiBhcnRpa2VsIHVuZCBzdGVsbHRlIGRlbiB3YWhsbGVpdGVyIGt1cnplcmhhbmQga2FsdCAoZGllc2VuIHBsYXllcmtpbGwKbW9lY2h0ZSBpY2ggaGllciBhbnByYW5nZXJuLCBkYSBkaWVzIGVoZXIgemFyZG96J3Mgd2FobHByb2dyYW1tIGVudHNwcmljaHQpLgpBbHMgZGVyIHdhaGxsZWl0ZXIgZGFzIGVyZ2VibmlzIHVlYmVyIGRpZSBrYW5hZWxlIGt1bmR0YXQsIHd1cmRlIGVyCmF1c2dlbG9nZ3QgdW5kIGF1ZiBpbmZhbWUgd2Vpc2UgYW0gYmV0cmV0ZW4gZGVzIG11ZGRlcyBnZWhpbmRlcnQsIGVyIHd1cmRlCmdlYmFuaXNodCAoYXVzIGRpZXNlbSBncnVuZCB2ZXJsb3IgaWNoIG1laW4gendlaXRlcyBsKQoKSGllcm1pdCBwcmFuZ2VyZSBpY2ggZGFzIHZlcmhhbHRlbiBkZXMgRXgtU2hlcmlmZnMgYW4gdW5kIGZvcmRlcmUgemFyZG96IGF1ZiwKZGFzIHNoZXJpZmYtb2ZmaWNlIHp1IHVlYmVybmVobWVuLCBub3RmYWxscyBtaXQgZ2V3YWx0LCB1bmQgZGllc2VuIGtvcnJ1cHRlbiwKdW5mYWVoaWdlbiBzaGVyaWZmIGF1cyBkZW0gQW10IHp1IGphZ2VuISBXaWUgaWNoCmhvZXJ0ZSwgc3RlbGx0IHNpY2ggTC5ILk9zd2FsZCBhbHMgRGVwdXR5IHp1ciBWZXJmdWVndW5nIQoKSWNoIGJpdHRlIGRhcyBWb2xrIHZvbSBNRywgZGVtIG5ldWVuIFNoZXJpZmYgYWxsZSB1bnRlcnN0dWV0enVuZyB6dWtvbW1lbiB6dQpsYXNzZW4uCgpEZXIgU2hlcmlmZiBpc3QgdG90LCBsYW5nIGxlYmUgZGVyIFNoZXJpZmYhCgoKCgoKKioqKiBTY2htYXJybiBvZmYgKioqKioqKioqKioqKioqKioqKgoKV2FobGxlaXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFnaWNNYWMgLSBBdGFyaSBhdWYgTWFjSW50b3NoIChEYWltb252b2ssICAyLiBNYXIgMTk5NiwgMTA6Mjc6MDEpOgpFaW4gbmFoZXIgVmVyd2FuZHRlciB2b24gbWlyIChtZWluIEJydWRlciwgdW0gZ2VuYXUgenUgc2VpbiAtIGZhbGxzIGVzCmplbWFuZGVuCmludGVyZXNzaWVydCwgd2VubiBuaWNodCAsIGF1Y2ggZWdhbCwgZWlnZW50bGljaCBnZWh0IGVzIGF1Y2ggZ2FyIG5pY2h0LApkYXJ1bQpvYiBlcyBtZWluIEJydWRlciBpc3QsIGVzIGtvZW5udGUgYXVjaCBzb25zdCBlaW4gQmVrYW5udGVyIG9kZXIgZWluZSBCZWthbm50ZQpvZGVyIHNvIHdhcyBzZWluLCBvZGVyIGF1Y2ggZWluIGVudGZlcm50ZXIgVmVyd2FuZHRlciAtIEJydWRlciBpc3QgamEKd2lya2xpY2gKc2Nob24gZWluIHNlaHIgbmFoZXIgVmVyd2FuZHRlci4gRmFzdCBzbyBuYWggd2llIEVsdGVybiwgdW5kIHZpZWwgbmFlaGVyIGFscwpTY2h3YWVnZXJpbm5lbiB6LiBCLiApIC4uLiBXYXMsIG1vbWVudCwgd2llIGJpdHRlPyBBY2ggc28sIHp1bSBUaGVtYS4gQWxzbzoKTWVpbSBCcnVkZXIgc2VpbiBBdGFyaSBpc3Qga2FwdXR0Z2VnYW5nZW4sIGpldHp0IGhhdCBlciBlaW5lbiBNYWMsIHVuZCB3ZWlsCmVyIHNpY2ggKHZlcnN0YWVuZGxpY2hlcndlaXNlKSBuaWNodCB2b20gZ3V0ZW4gYWx0ZW4gVE9TIHRyZW5uZW4ga2FubiwKbW9lY2h0ZQplciBnZXJuIEluZm9ybWF0aW9uZW4genUgTWFnaWNNYWMuIEtlbm50IHNpY2ggZGEgd2VyIG1pdCBhdXM/IExvaG50IGVzIHNpY2g/CkJpdHRlIE11ZE1haWwgb2RlciBFbWFpbCAod2VzdGVyYkBtYXRoLnVuaS1tdWVuc3Rlci5kZSkgYW4gbWljaC4gRGFua2UKVm9rLCBEYWkgTW9uIGRlciBGZXJlbmdpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWhsZXJnZWJuaXMhIChBYmVuZHJvdCwgIDIuIE1hciAxOTk2LCAxNDowMjoyMSk6Cn4jISBybj1XYWhsZWl0ZXIgcnQ9ODI1NzU3OTEzCn4jISB0aWQ9ODI1Njk4NDY1CkluIGRpZXNlbSBGYWxsIGhhZXR0ZSBpY2ggbmljaHQgQ2F0d2VhemxlIG1laW5lIFN0aW1tZSBnZWdlYmVuLCBzb25kZXJuCkZyZXVuZC4KWmFyZG96JyBXYWhsdHJpY2tzIHdhcmVuIGphIGF1Y2ggbmljaHQgc29uZGVybGljaCBzYXViZXIuCgpBYmVyIGRhIG5kaWUgV2FobCBudW4gbWFsIHNvIGdlbGF1ZmVuIGlzdDoKR3JhdHVsaWVyZSBaYXJkb3ogenVtIG5ldWVuIFNoZXJpZmZzYW10IQoKQWJlbmRyb3QgaW0gTW9yZ2VuR3JhdWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWhsZXJnZWJuaXMhIChTY2hydW1wZmksICAzLiBNYXIgMTk5NiwgMTQ6MDU6NDEpOgp+IyEgcm49V2FobGVpdGVyIHJ0PTgyNTc1NzkxMwp+IyEgdGlkPTgyNTY5ODQ2NQpJY2ggYmVhbnRyYWdlIGhpZXJtaXQsIGRhc3MgQ2F0d2VhemxlIGF1ZiBMZXZlbCAxOSBoZXJhYmdlc2V0enQgd2lyZC4KClNjaHJ1bXBmaQoKUC5TIExhc3MgbWljaCByYXRlbjogRHUga2FubnN0IG5pY2h0IHZlcmxpZXJlbiwgZ2VsbGUgQ2F0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobGVyZ2VibmlzISAoU2NocnVtcGZpLCAgMy4gTWFyIDE5OTYsIDE0OjA2OjM5KToKfiMhIHJuPVdhaGxlaXRlciBydD04MjU3NTc5MTMKfiMhIHRpZD04MjU2OTg0NjUKQWVoLCB1bmQgbmF0dWVybGljaCwgZGFzcyBaYXJkb3ogYWIgc29mb3J0IGRlbiBTaGVyaWZmc3Bvc3RlbiB1ZWJlcmdlYmVuCndpcmQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWhsZXJnZWJuaXMhIChTdGFobGRvcm4sICAzLiBNYXIgMTk5NiwgMTQ6MDk6MjApOgp+IyEgcm49U2NocnVtcGZpIHJ0PTgyNTg1ODM5OQp+IyEgdGlkPTgyNTY5ODQ2NQpNaXIgaXN0IGVnYWwsIHdlciBTaGVyaWZmIHdpcmQsIGhhdXB0c2FjaGUgZXIgbWFjaHQgbWlyIGVpbmVuCmF1dG9sb2FkLXZvbGxzdHJlY2tlcgo6PSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhaGxlcmdlYm5pcyEgKEFzbW9kaXMsICA0LiBNYXIgMTk5NiwgMTM6MzI6NTIpOgp+IyEgcm49U3RhaGxkb3JuIHJ0PTgyNTg1ODU2MAp+IyEgdGlkPTgyNTY5ODQ2NQpBbWF6b3JhIGFscyBTaGVyaWZmIHdhZXJlIHZpZWwgbHVzdGlnZXIgISEKVW5kIFphcmRveiB2aWVsbGVpY2h0IGFscyBIaWxmc3NoZXJpZmYgdW5kIGF1c2Z1ZWhyZW5kZXMgT3JnYW4gPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobGVyZ2VibmlzISAoQ2F0d2VhemxlLCAgNC4gTWFyIDE5OTYsIDE3OjU0OjQ0KToKfiMhIHJuPVdhaGxlaXRlciBydD04MjU3NTc5MTMKfiMhIHRpZD04MjU2OTg0NjUKUGFoIQpNSUNIIGFscyBMdWVnbmVyIGhpbnp1c3RlbGxlbi4uLmVpbmZhY2ggdW5mYXNzYmFyIQpTY2hsaWVzc2xpY2ggd2FyIGljaCBqYWhyZWxhbmcgYW5nZXNlaGVuZXIgdW5kIGVocmJhcmVyIFNoZXJpZmYsIGJpcyBpcmdlbmQtCmplbWFuZCBhdWYgZGllIElkZWUga2FtLCBtYW4gbXVlc3N0ZSBkZW4gUG9zdGVuIG1pdCBXYWhsZW4gYmVzZXR6ZW4uCgpBbGxlIGRpZSBqZXR6dCBiZWhhdXB0ZW4sIGRpZSBXYWhsIHdhZXJlIGdlZmFlbHNjaHQgc2luZCBlaW5mYWNoIG51cgpzY2hsZWNodGUgVmVybGllcmVyLiBEaWVzZXIgc2VsYnN0ZXJuYW5udGUgV2FobGxlaXRlciBpc3QgenVtIEJlaXNwaWVsCm5pZW1hbmQgYW5kZXJlcyBhbHMgZGVyIGdlc2NobGFnZW5lIEd1bGR1a2F0LiBVbmQgZGFzIFphcmRveiB1bmQgU2NocnVtcGZpCnVuZCBpaHIgWndlaXRpZSBtaXQgaW4gZGllc2UgS2VyYmUgaGF1ZW4sIHdhciBuYXR1ZXJsaWNoIHp1IGVyd2FydGVuIQoKQWxzbyB1bSBlcyBub2NobWFsIHp1IHdpZWRlcmhvbGVuLCBkaWUgV2FobCB3YXIga29ycmVrdCwgd2VyIGdlZ2VudGVpbGlnZXMKYmVoYXVwdGV0IGlzdCBlaW4gZWluZmFjaGVyIE5laWRlciB1ZWJlciBtZWluZW4gdWViZXJyYWdlbmRlbiBTaWVnIQoKVW5kIGFsbCBkaWUsIGRpZSBqZXR6dCBiZWhhdXB0ZW4sIGVzIGdhZWJlIGVpbmVuIFZlcmxpZXJlciwgZGVyIG1laHIgYWxzCmVpbmUgU3RpbW1lIGJla29tbWVuIGhhYmUsIGViZW4gd2VpbCBzaWUgc2VsYnN0IDIgZ2VnZWJlbiBoYWJlbi4ucGFoLi4KZWluZmFjaCBsYWVjaGVybGljaC4gSXN0IGRvY2gga2xhciwgd2VyIHp3ZWltYWwgd2FlaGx0IHdpcmQgbWluZGVzdGVucwplaW5tYWwgZGlzcXVhbGlmaXppZXJ0IDopCllvdXJzIHRydWx5LAogICAgICAgICBDYXR3ZWF6bGUgKE11c3MgZW5kbGljaCBtaXQgZGVtIExvZXNjaGVuIGFuZmFuZ2VuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobGVyZ2VibmlzISAoU2NocnVtcGZpLCAgNC4gTWFyIDE5OTYsIDIwOjEzOjMwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04MjU5NTg0ODQKfiMhIHRpZD04MjU2OTg0NjUKWmFyZG96IGhhZXR0ZSBhdWNoIG9obmUgMnRpZXMgZ2V3b25uZW4uIFNvd2FzIGhhdCBlciBnYXIgbmljaHQgbm9ldGlnIQpEaWUgcGFhciBTdGltbWVuIGRpZSBEdSBnZWtyaWVndCBoYXN0LCB3YXJlbiBlaCBhbGxlcyBFcnptYWdpZXIgdW5kCk11ZW5zdGVyYW5lciBGaWx6LgpEaWUgd2FocmUgU3RpbW1lIGRlcyBWb2xrZXMgaGF0IFphcmRveiEgRWluZGV1dGlnIQpTY2hydW1wZmkgZmluZGV0IGF1Y2gsIGRhc3MgQ2F0d2VhemxlIGVuZGxpY2ggbWl0IGRlbSBMb2VzY2hlbiBhbmZhbmdlbgpzb2xsdGUuIFNpY2ggc2VsYmVyLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdhaGxlcmdlYm5pcyEgKFJ5bmUsICA1LiBNYXIgMTk5NiwgMTQ6NTI6MjEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyNTk1ODQ4NAp+IyEgdGlkPTgyNTY5ODQ2NQpBbHNvIG1pciBpc3RzIHd1cnNjaHQsIHdlciBTaGVyaWZmIHdpcmQgLyBpc3QgLyBibGVpYnQuIEhhdXB0c2FjaGUgaWNoIGthbm4KYmVpIGlobSBIaWxmc3NoZXJyaWZmIHdlcmRlbi4KQWxzIEF1ZmdhYmVuZ2ViaWV0IHN0ZWxsZSBpY2ggbWlyIGRpZSBvZWZmZW50bGljaGVuIEhpbnJpY2h0dW5nZW4gdm9yLCBkaWUKYmVzdGltbXQgaXJnZW5kZWluIFNoZXJpZmYgZHVyY2h6dWZ1ZWhyZW4gYmVyZWl0IHdhZXJlLgoKV2VyIG1pY2ggbmltbXQsIGhhdCBtZWluZSBTdGltbWUuIEFsbGUgMTAgZGF2b24uCgpSem5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG8gd2hvZXZlciBpdCBtYXkgY29uY2VybiAhIChPZXR0aSwgIDYuIE1hciAxOTk2LCAxMDo1Mjo1Myk6Ckh1aHUgYW4gYWxsZSAhClZpZWxlIGxpZWJlIGdydWVzc2Ugdm9uIEVsb3JhIGFuIGFsbGUgZGllIHNpY2ggYW5nZXNwcm9jaGVuCmZ1ZWhsZW4gd29sbGVuLgpFcyB3aXJkIG5pZW1hbmQgYmV2b3J6dWd0IGVyd2FlaG50LCB1bmQgZGllIGRpZSBuZWdhdGl2CmVyd2FlaG50IHd1cmRlbiwgd2VyZGVuIGF1Y2ggbmljaHQgZ2VuYW5udCA7LSkpCgpTaWUgd2lsbCB2ZXJzdWNoZW0gc2ljaCBhbSBEby4gbWFsIGVpbnp1bG9nZ2VuLCB3ZW5uIHNpZSBaZWl0IGhhdC4KCkRhcyB3YXIgc2Nob24gYWxsZXMKClRzY2hvZSAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb2VsbiBtYWNodCBVcmxhdWIgKFphcmRveiwgIDYuIE1hciAxOTk2LCAxNzoyMzowMCk6CkhhbGxvIExldXRlIQoKRGEgbGVpZGVyIHVuc2VyIGdlbGllYnRlcyBSZWNoZW56ZW50cnVtIHZvbiB1ZWJsZW0gRGllYmVzZ2VzaW5kZWwgdm9lbGxpZwpsZWVyZ2VyYWV1bXQgd3VyZGUsIHdlcmRlbiB3b2hsIGVpbmlnZSBLb2VsbmVyIGluIGRlbiBuYWVjaHN0ZW4gV29jaGVuCndvaGwga2VpbmVuIE5ldHp6dWdhbmcgbWVociBiZXNpdHplbi4gVGphLCBkdW1tIGdlbGF1ZmVuIDopCgpDaWFvICAgIFphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvZWxuIG1hY2h0IFVybGF1YiAoR3JpbW1ib3JuLCAgNy4gTWFyIDE5OTYsIDE1OjMwOjU3KToKfiMhIHJuPVphcmRveiBydD04MjYxMjkzODAKfiMhIHRpZD04MjYxMjkzODAKCkJ0dywgYnJhdWNodCBqZW1hbmQgcHJlaXNndWVuc3RpZ2UgUDkwLWJvYXJkcz8gT2RlciAxR0ItRmVzdHBsYXR0ZW4gdW5kCjRzcGVlZC1DRC1MYXVmd2Vya2U/CklzdCBtb21lbnRhbiBiaWxsaWcgenUgaGFiZW4uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS29lbG4gbWFjaHQgVXJsYXViIChKb2YsICA3LiBNYXIgMTk5NiwgMTc6NTE6MzEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgyNjIwOTA1Nwp+IyEgdGlkPTgyNjEyOTM4MAoKIEFiZXIgbWFjaCBiaXR0ZSBuaWNodCBiZWltIEFicmVpc3NlbiBkZXIgIkVpZ2VudHVtIGRlcyBSWiBkZXIgVW5pIEtvZWxuIi0KQXVma2xlYmVyIGRpZSBQbGF0aW5lbiBrYXB1dHQgLi4uIDopCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLb2VsbiBtYWNodCBVcmxhdWIgKENyZWF0aXZlLCAgNy4gTWFyIDE5OTYsIDE3OjUzOjA4KToKfiMhIHJuPUpvZiBydD04MjYyMTc0OTEKfiMhIHRpZD04MjYxMjkzODAKCldpZXNvIGhhYiBpY2ggZWlnZW50bGljaCBkYXVlcm5kIGJlaW0gbGV0enRlbiBLb2VsbmJlc3VjaCBiZWkgR3JpbW1ib3JuIGRpZXNlCkF1ZmtsZWJlciBnZWZ1bmRlbj8gKG1hc3NlbmhhZnQpIDopKQoKLUNyZWEtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb2VsbiBtYWNodCBVcmxhdWIgKEJlbmRlaWdpZCwgIDcuIE1hciAxOTk2LCAyMDoxNzowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODI2MjA5MDU3Cn4jISB0aWQ9ODI2MTI5MzgwCkhtLCBHcmltbWksIHdvaGVyIGhhc3QgZHUgZGVubiBkaWUgNHNwZWVkIENELVJPTXM/IERpZSBzaW5kIG5hZW1saWNoIG5vY2ggaW4KZGVuIGdyb2Vzc3RlbnRlaWxzIGxlZXJlbiBHZWhhZXVzZW4gZHJpbi4uLgpTb3dhcyBhc296aWFsZXMsIGhpZXIgZGllIFJlY2huZXIgYXVzenVyYWV1bWVuLiBXZW5uIEljaCBkZW4gZXJ3aXNjaGUsIGRlcgptaWNoIGRhenUgYnJpbmd0LCB0YXRzYWVjaGxpY2ggd2llZGVyIENoZW1pZSB6dSBtYWNoZW4gc3RhdHQgc2Nob2VuIHp1Cm11ZGRlbi4uIE5hIHdhcnRlIQoKQmVuZGVpZ2lkLCBzdWVjaHRlbG5kLCBncnVtbWxlbmQsIHVuenVmcmllZGVuLCByZWNobmVybG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1ctVmVyc2lvbiBkZXIgTUctRkFRIGdldXBkYXRldCAuLi4gKFBpbGdyaW0sICA4LiBNYXIgMTk5NiwgMTI6MDA6NDcpOgpqYSwgd2llIGRlciBUaXRlbCBzY2hvbiBzYWd0IC4uLgp6dSBmaW5kZW4gYXVmIHVuc2VyZXIgc2Nob2VuZW4gV1dXLVNlaXRlIHVudGVyIEluZm9ybWF0aXZlcy0+RkFRIC4uLgoKUGlsZ3JpbQoKcHM6IHRleHR2ZXJzaW9uIGRlbW5hZWNoc3QgLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwaWVscGF1c2UgKEx1ZywgMTcuIE1hciAxOTk2LCAwNDo0Njo1Mik6Ck1vaW4sCmJpbiBkaWUgbmFlY2hzdGVuIHZpZXIgV29jaGVuIGF1ZiBHcmFidW5nIHVuZCBrb21tZSBuaWNodCBhbnMgTmV0eiA6KApTZWlkIGFsbGUgZ2VncnVlc3N0ISAoQmlzIGF1ZiBkaWUsIGRpZSBkYXMgbmljaHQgd29sbGVuKQpCaXMgZGVubgpMdWcKClAuUy46IFNldWZ6Li4uIFZlcmRhbW10ZXIgRW50enVnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGFsbG8gY3JhaWcgKENyZWF0aXZlLCAxOC4gTWFyIDE5OTYsIDEyOjA0OjM5KToKfiMhIHJuPU1hcmN1c3ogcnQ9ODI3MTQ2OTc2Cn4jISB0aWQ9ODI3MTQ2OTc2CgpnZWh0IGRhcyBhdWNoIHVlYmVyIE1haWw/IDopCgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWNoIGRlbSBSZWJvb3QgKFJpbXVzLCAxOS4gTWFyIDE5OTYsIDEzOjA4OjU1KToKSGFsbG8sIGZhbGxzIElociBlcyBzY2hvbiBnZW1lcmt0IGhhYnQsIGVzIHdhciB3aWVkZXIgUkVCT09ULgpTb3dlaXQgc29ndXQuIE51ciBpY2ggZmluZGUsIG1hbiBzb2xsdGUgYWxzIEVudHNjaGFlZGlndW5nIGRpZSBXZXJ0ZSB2b24KQWxrb2hvbCwgRmx1ZXNzaWdrZWl0IHVuZCBOYWhydW5nIGF1ZiBOdWxsIHNldHp0ZW4sIGRhbWl0IG1hbiBuYWNoIGRlbSBSZWJvb3QKZ3V0ZSBDaGFuY2VuIGhhdCwgc2VpbmUgQXVzcnVlc3R1bmcgenVzYW1tZW4genVob2xlbi4KClJpbXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmFjaCBkZW0gUmVib290IChBcmljLCAxOS4gTWFyIDE5OTYsIDEzOjExOjA3KToKamF1LCBkdSBoYXN0IHJlY2h0ICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlaW4gTUcgYW0gMjIuMy45NiAoSm9mLCAyMC4gTWFyIDE5OTYsIDExOjQ3OjU1KToKCkFtIDIyLjMuIHdpcmQgZGFzIE1hdGhlbmV0eiB3ZWl0Z2VoZW5kIHVtZ2VrcmVtcGVsdDsgYW4gZGllc2VtIFRhZyB3aXJkCmF1Y2ggTUcgbmljaHQgZXJyZWljaGJhciBzZWluLiBBbnNjaGxpZXNzZW5kIGhhdCBtZyBkaWUgSVAtQWRyZXNzZQoxMjguMTc2LjE4Mi43MDsgZXMga29lbm50ZSBlaW4gcGFhciBUYWdlIGRhdWVybiwgYmlzIGF1ZiBhbGxlbiBOYW1lc2VydmVybgpkaWUgbmV1ZSBBZHJlc3NlIGZ1ZXIgbWcudW5pLW11ZW5zdGVyLmRlIGR1cmNoZ2VkcnVuZ2VuIGlzdCwgZGFoZXIgZ2dmcwpkaXJla3QgbWl0IGRpZXNlciBBZHJlc3NlIHZlcnN1Y2hlbi4KCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYW1wZnp3ZXJnZS5VcmxhdWIgKFJ5bmUsIDIwLiBNYXIgMTk5NiwgMTM6MTA6MzApOgpSem5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2ggZGVtIFJlYm9vdCAoR3JpbW1ib3JuLCAyMC4gTWFyIDE5OTYsIDE0OjM3OjM1KToKfiMhIHJuPVJpbXVzIHJ0PTgyNzIzNzMzNQp+IyEgdGlkPTgyNzIzNzMzNQoKV2VpbHMgaW1tZXIgd2llZGVyIGdlcm5lIGdlZnJhZ3Qgd2lyZDoKRGFzIFN5c3RlbSBrYW5uIG5jaWh0IHVudGVyc2NoZWlkZW4gendpc2NoZW4gcmVib290IHVuZCBlbmRlIChuaWNodCBtaXQKdmVydHJldGJhcmVtIEF1ZndhbmQgaGVpc3N0IGRhcyBpbSBad2VpZmVsc2ZhbGwuLi4pLgpVbmQgd2VubiBkYW5uIGRpZSBBbGtvaG9sLSBldGMuIFdlcnRlIHdpZWRlciBhdWYgMCB3YWVyZW4ga29lbm50ZSBtYW4gcGVyCiJlbmRlIiBzaWNoIHdpZWRlciB2b2xsdHJpbmtlbiB1bmQgLWZyZXNzZW4uClVuZCBkYXMgaXN0IG5pY2h0IGdld29sbHQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFjaCBkZW0gUmVib290IChNeXNlbGYsIDIwLiBNYXIgMTk5NiwgMTY6MDQ6MDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgyNzMyOTA1NQp+IyEgdGlkPTgyNzIzNzMzNQpIaSwKCmRhIER1IGRhcyBUaGVtYSBub2NobWFsIGFuc3ByaWNoc3Q6IGVzIGdpYnQgZWluZW4gUHVua3QsIGRlciBtaXIKenVyIFVudGVyc2NoZWlkdW5nIHp3aXNjaGVuICdlbmRlJyB1bmQgJ2NyYXNoL3JlYm9vdCcgbmljaHQga2xhcgppc3QuIC1CZWkgJ2VuZGUnIHdlcmRlIGljaCBmdWVyIE5pY2h0LWF1dG9sb2FkLUF1c3J1ZXN0dW5nIF9uaWNodF8KZW50c2NoYWVkaWd0LCBiZWkgZWluZW0gY3Jhc2ggc2Nob24uICBJc3QgZGFzIGtlaW4KbmVubmVuc3dlcnRlciBVbnRlcnNjaGllZCB1bmQgc28gYXJnIGtvbXBsaXppZXJ0PwoKRC5oLiBrb2VubnRlIG1hbiBhbiBkZXIgU3RlbGxlIG5pY2h0IGF1Y2ggYnpnbC4gQWxrb2hvbCwKTFAsIE1QLi4uIGV0d2FzIG1hY2hlbj8KCkdydXNzLAoKTXlzZWxmCgpnbGF1YnQgbmFpdmVyd2Vpc2UgaW1tZXIgbm9jaCwgZGFzIGNyYXNocyBuaWNodCBkaWUgUmVnZWwgc2luZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmFjaCBkZW0gUmVib290IChEdXJpYW4sIDIwLiBNYXIgMTk5NiwgMTY6MjY6MjApOgp+IyEgcm49TXlzZWxmIHJ0PTgyNzMzNDI0Nwp+IyEgdGlkPTgyNzIzNzMzNQpEYXMgaXN0IGdlbmF1IGRpZSBhbmRlcmUgUmljaHR1bmc6CgpFaW4gPGVuZGU+IGthbm4gbWFuIHZvbiBlaW5lbSBDcmFzaCB1bnRlcnNjaGVpZGVuLiBXZW5uIGplbWFuZCA8ZW5kZT4KbWFjaHQsIGthbm4gbWFuIGJlc3RpbW10ZSBTYWNoZW4gdHVuIChpaG0gYWxsZSBBdXNydWVzdHVuZyB3ZWduZWhtZW4KdW5kIGRhaGVyIGtlaW5lIEVudHNjaGFlZGlndW5nIGdlYmVuKS4gV2VubiBlcyBlaW5lbiBDcmFzaCBnaWJ0LCBrYW5uCm1hbiBqZWRvY2gga2VpbmUgYmVzb25kZXJlbiBTYWNoZW4gbWFjaGVuIC4uLiB3aWUgZGVubiBhdWNoLiBCZWkgZWluZW0KQ3Jhc2ggaXN0IGRhcyBNVUQgbmljaHQgbWVociBkYSwgdW0gbm9jaCBpcmdlbmR3ZWxjaGUgU2FjaGVuIHp1IHRyaWdnZXJuLgoKRGEgZGllcyBlaCBuaWVtYW5kIHZlcnN0ZWh0LCBsYXNzZSBpY2ggZXMgbWFsIGRhYmVpIDotKQoKRWluIHNpY2ggaW1tZXIga29tcGxpemllcnQgYXVzZHJ1ZWNrZW5kZXIsCgotIER1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2ggZGVtIFJlYm9vdCAoTW9yZ290aCwgMjAuIE1hciAxOTk2LCAxNjozOTozMyk6Cn4jISBybj1SaW11cyBydD04MjcyMzczMzUKfiMhIHRpZD04MjcyMzczMzUKYXUgamEsIGFsbGVzIGF1ZiAwIHNldHplbiBuYWNoIG5lbSBjcmFzaC4gbmF0dWVybGljaCBhdWNoIFhQLCBMUCwgTVAsIFN0YXRzCjstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5hY2ggZGVtIFJlYm9vdCAoQm9pbmcsIDIwLiBNYXIgMTk5NiwgMTY6NDI6MTYpOgp+IyEgcm49RHVyaWFuIHJ0PTgyNzMzNTU4MAp+IyEgdGlkPTgyNzIzNzMzNQpEYSBkZXIgZ3J1bmRzYWV0emxpY2hlIE1lY2hhbmlzbXVzIGFiZXIgc2Nob24gZWluZ2ViYXV0IGlzdCAoei5iLiBmdWVyCmRhcyBCZXN0aW1tZW4gZGVyIEVudHNjaGFlZGlndW5nLCB3aWUgTXlzZWxmIHNjaG9uIGJlbWVya3RlKSwgd2FyIGRpZQpSdWVja3NldHp1bmcgdm9uIFNhZXR0aWd1bmcgdW5kIGFlaG5saWNoZW0gZWhlciBlaW5mYWNoIHp1IGJld2Vya3N0ZWxsaWdlbi4KRGFzIGhlaXNzdCwgZGFzcyBkYXMgYWIgc29mb3J0IGVpbmdlYmF1dCBpc3QuIFdlciBiZWltIG5hZWNoc3RlbiBDcmFzaCBzY2hvbgppbiBkZW4gR2VudXNzIGRpZXNlciBBZW5kZXJ1bmcga29tbWVuIHdpbGwsIG11c3MgYWJlciBWT1JIRVIgbWl0ICdlbmRlJwpyYXVzICh3aWUgaW1tZXIgYmVpIHNvbGNoZW4gRGluZ2VuKS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFjaCBkZW0gUmVib290IChBY3JpbW9uLCAyMC4gTWFyIDE5OTYsIDE2OjUzOjQyKToKfiMhIHJuPUR1cmlhbiBydD04MjczMzU1ODAKfiMhIHRpZD04MjcyMzczMzUKRGFubiBtYWNodCBlcyBkb2NoIGVpbmZhY2ggZm9sZ2VuZGVybWFzemVuOgoKV2VubiBNb3JnZW5HcmF1ZW4gbmV1IGdlc3RhcnRldCB3aXJkIG5hY2ggZWluZW0gQ3Jhc2ggb2RlciBSZWJvb3QsIGRhbm4gbWVya3QKZXVjaCBkaWUgWmVpdCB3YW5uIGVzIHdpZWRlciBnZXN0YXJ0ZXQgd3VyZGUuCkJldHJpdHQgZWluIFNwaWVsZXIgZGFzIE1HLCBzbyB0ZXN0ZXQgZWluZmFjaCwgb2Igc2VpbiBTYXZlZmlsZSBhZWx0ZXIgaXN0CmFscyBkaWVzZXMgRGF0dW07IHdlbm4gZGVtIHNvIGlzdCwgZGFubiBzZXR6dCBpaG0gZGllIFdlcnRlIGZ1ZXIgQWxrb2hvbCwKRmx1ZXNzaWdrZWl0IHVuZCBOYWhydW5nIGF1ZiAwLiBBbnNvbnN0ZW4gYmxlaWJlbiBzaWUgd2llIHNpZSBzaW5kLgoKSXN0IGRvY2ggZ2FueiBlaW5mYWNoIHVuZCBmdW5rdGlvbmllcnQhCgpBY3JpbW9uIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmFjaCBkZW0gUmVib290IChBc21vZGlzLCAyMC4gTWFyIDE5OTYsIDE5OjI5OjU3KToKfiMhIHJuPUJvaW5nIHJ0PTgyNzMzNjUzNgp+IyEgdGlkPTgyNzIzNzMzNQpLb2VubnQgaWhyIGRhbm4gbm9jaCBlaW5iYXVlbiwgZGFzcyBCbGluZGhlaXQsIFZlcmdpZnR1bmcgdW5kIHNvd2FzCmdlaGVpbHQgd2lyZCA/IFdhZXJlIG5ldHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5hY2ggZGVtIFJlYm9vdCAoUmltdXMsIDIxLiBNYXIgMTk5NiwgMDA6MDE6MjIpOgp+IyEgcm49QXNtb2RpcyBydD04MjczNDY1OTcKfiMhIHRpZD04MjcyMzczMzUKSWNoIG1vZWNodGUgbWljaCBiZWRhbmtlbiwgZGFzIG1laW4gVm9yc2NobGFnIHNvIGdyb3NzZXMgSW50ZXJlc3NlIGdlZnVuZGVuCmhhdC4gQmVzb25kZXJzIG5hdHVlcmxpY2gsIGRhc3MgZXIgYW5nZW5vbW1lbiB3dXJkZS4KTWVpbmUgbmFlY2hzdGUgQml0dGUgaXN0OiBUYWVnbGljaCBSZWJvb3QgKCpncmlucyopIGRhIGhhYmUgaWNoIGRhbm4gc2ljaGVyCmtlaW5lIFByb2JsZW1lIG1laHIuCkFsc28gbm9jaG1hbHMgVmllbGVuIERhbmsgZnVlciBFdWVyIEludGVyZXNzZS4KClJpbXVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOYWNoIGRlbSBSZWJvb3QgKFdhcmdvbiwgMjEuIE1hciAxOTk2LCAwOTo1MDozNSk6Cn4jISBybj1Cb2luZyBydD04MjczMzY1MzYKfiMhIHRpZD04MjcyMzczMzUKRXMgc29sbHRlIG5pY2h0IHZlcnNjaHdpZWdlbiB3ZXJkZW4sIGRhc3MgZGFzIG51ciBiZWkgTGV1dGVuIGtsYXBwdCwgZGllIGF1Y2gKZWluZSBFbnRzY2hhZWRpZ3VuZyBiZWtvbW1lbi4KV2VyIGFsc28gbnVyIEF1dG9sb2FkZXIgbWl0c2NobGVwcHQsIGhhdCBuaXggZGF2b24gOykKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvbXB1dGVyIGluIFN0dXR0Z2FydD8gKFRhc2hhLCAyMi4gTWFyIDE5OTYsIDIzOjA3OjAxKToKSGFsbG8gSWhyIFNjaHdhYmVuIGluIGRpZXNlbSBMYWVuZGxlIQpJY2ggaGFldHRlIG1hbCBuZSBGcmFnZSBhbiBldWNoOiBNZWluIE9ua2VsIHdvaG50IGluIFN0dXR0Z2FydCB1bmQgbW9lY2h0ZQpzaWNoIGRvcnQgZWluZW4gQ29tcGkga2F1ZmVuLiBJQ2gga29ubnRlIGlobiBkYWJlaSB6d2FyIGJlcmF0ZW4gd2FzIGZ1ZXIgZWluZW4KZXIgc2ljaCB6dWxlZ2VuIHNvbGwsIGFiZXIgd28gbWFuIGluIFN0dXR0Z2FydCBndXRlIENvbXBpcyBrcmllZ3Qga29ubnRlIGljaAppaG0gbmF0dWVybGljaCBuaWNodCBzYWdlbi4gS2FubiBtaXIgZGEgZWluZXIgdm9uIGV1Y2ggaGVsZmVuPwoKRGFua2VuZCwgVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFlbmRlcnVuZyBkZXIgaXAgKEhhZHJhLCAyMy4gTWFyIDE5OTYsIDAzOjQzOjIwKToKaGksCgprb2VubnRlIGdlbGVnZW50bGljaCBqZW1hbmQgKGRhcmYgYXVjaCBnZXJuZSBlaW4gc2ljaHRiYXJlciBzZWluIDspIG1hbCBkaWUKaXAgYWVuZGVybiwgZGllIG1hbiB2b24gYXVzc2VyaGFsYiBkZXMgbXVkcyBiZWkgZWluZXIgd2VyYWJmcmFnZSBzaWVodAphZW5kZXJuPwoKaGFkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb21wdXRlciBpbiBTdHV0dGdhcnQ/IChNdXBmZWwsIDIzLiBNYXIgMTk5NiwgMDQ6MDA6NTcpOgp+IyEgcm49VGFzaGEgcnQ9ODI3NTMyNDIxCn4jISB0aWQ9ODI3NTMyNDIxCk5vZS4gQWJlciBGeXQsIGRlciB3ZWlzcyB3b3MgaW4gQ2hlbW5pdHogZ2FueiBiZXNvbmRlcnMgZ3V0ZXMuLi4gYXVhLi4uIG5laW4KbmljaHQgaGF1ZW4uLiA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKFdhcmxvcmQsIDI0LiBNYXIgMTk5NiwgMDA6MDU6MTkpOgp+IyEgcm49TXVwZmVsIHJ0PTgyNzU1MDA1Nwp+IyEgdGlkPTgyNzUzMjQyMQpobW0sIGVzIGlzdCBkaWUgZnJhZ2UsIHdhcyBkZWluIG9ua2VsIHVudGVyIGd1dGVuIGNvbXBzIHZlcnN0ZWh0LiBiaWxsaWcKb2RlciBxdWFsaXRhZXQsIGV0Yy4gdm9iaXMsIGVzY29tIHVuZCBkZXIgZ2xlaWNoZW4gZ2lidHMgYW4gamVkZXIgZWNrZS4KYWxzbyBuYWVoZXJlIGF1c2t1bmZ0IHVuZCB2b3IgYWxsZW0gV0FTIHdpbGwgZXIgPwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYXJsb3JkCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ29tcHV0ZXIgaW4gU3R1dHRnYXJ0PyAoRnJldW5kLCAyNC4gTWFyIDE5OTYsIDExOjMxOjQ3KToKfiMhIHJuPVdhcmxvcmQgcnQ9ODI3NjIyMzE5Cn4jISB0aWQ9ODI3NTMyNDIxCj52b2JpcywgZXNjb20gdW5kIGRlciBnbGVpY2hlbiBnaWJ0cyBhbiBqZWRlciBlY2tlLgoKSWNoIGRhY2h0ZSwgd2lyIHJlZGVuIHZvbiBSZWNobmVybj8gOykKCkluIGRlLnRhbGsuam9rZXMgbGllZiBnZXJhZGUgZWluIG5ldHRlciBUaHJlYWQgdWViZXIgIkFiZW50ZXVlciIgbWl0ClZlcmthZXVmZXJuCmJlaSBWKioqKiwgQSoqKioqIHVuZCBFKioqKi4uLgoKTGFzcyBEaWNoIGF1ZiBqZWRlbiBGYWxsIGVpbm1hbCB2b24gZWluZW0gRWluemVsaGFlbmRsZXIgKGRhcyBzb2cuCkZhY2hnZXNjaGFlZnQpIGJlcmF0ZW4uIFVuZCwgd2VubiBlcyBEaXIgZG9ydCBnZWZhZWxsdCwga2F1ZiBoYWx0IGxpZWJlcgpkb3J0LCBhdWNoLCB3ZW5uIGVzIG1hbCAxNTAgRE0gdGV1cmVyIGlzdC4KCkRhZnVlciBiZWtvbW1zdCBEdSBkYW5uIGluIGRlciBHYXJhbnRpZXplaXQgbWVpc3QgYXVjaCBlaW4KRXJzYXR6Z2VyYWV0ICBrb3N0ZW5sb3MgZ2VzdGVsbHQuLi46KQoKRWluIEZSRVVORGxpY2hlciBDb21wdXRlcnZlcmthZXVmZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKFRhc2hhLCAyNC4gTWFyIDE5OTYsIDE1OjQzOjI3KToKfiMhIHJuPUZyZXVuZCBydD04Mjc2NjM1MDcKfiMhIHRpZD04Mjc1MzI0MjEKQWxzbyBLaW5uZXJzLCBkYXNzIGljaCBtZWluIE9ua2VsY2hlbiBuaWNodCB6dSBWKiwgRSogby5hZS4gc2NoaWNrZSB1bmQgbWlyCmRhZHVyY2ggc2VpbmVuIFpvcm4genV6aWVoZSB2ZXJzdGVodCBzaWNoIGphIHdvaGwgdm9uIHNlbGJzdC4gRGFzIFByb2JsZW0gaXN0CmhhbHQsIGRhc3MgaWNoIHNvbnN0IGdhciBrZWluZW4gQ29tcGlsYWRlbiBpbiBTdCoga2VubmUuCkVyIHdpbGwgc28gY2EuIDVrIERNIGFubGVnZW4gdW5kIHdpbGwgZGFmdWVyIGF1Y2ggd2FzIHF1YWxpdGF0aXYgb3JkZW50bGljaGVzCmtyaWVnZW4uCgpBbHNvIG5vY2htYWwgZGllIEZyYWdlOiBXaG8gdGhlIGZ1Y2sgaXMuLi5hZWguLi5uZWUuLi5mYWxzY2guLi4uV28gZ2lidHMgaW4KU3QqIGd1dGUgQ29tcHV0ZXI/CgpLbnVkZGVsbmQsIFRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDb21wdXRlciBpbiBTdHV0dGdhcnQ/IChXYXJsb3JkLCAyNS4gTWFyIDE5OTYsIDAyOjA0OjEwKToKfiMhIHJuPVRhc2hhIHJ0PTgyNzY3ODYwNwp+IyEgdGlkPTgyNzUzMjQyMQoKd2VubiBlciBpbiBldHdhIHdlaXNzLCB3YXMgZXIgd2lsbCwgZGFubiBrYW5uIGVyIHp1bSBBUkxUIGdlaGVuLiBtYW4KYmVrb21tdCBkYSBhdWNoIHNlaW5lIGtvbXBsZXR0YW5nZWJvdGUsIHdlaXNzIGFiZXIgc2Nob24gZWhlciB3YXMgZHJpbgppc3QgdW5kIGthbm4sIHdlbm4gbWFuIGFlbmRlcnVuZ2VuIG1vZWNodGUsIHNpZSBlaW5iYXVlbiBsYXNzZW4uIGRpZQpwcmVpc2UgZG9ydCBzaW5kIG5pY2h0IHVuYmVkaW5ndCBkaWUgYmlsbGlnc3RlbiBhYmVyIG1hbiBoYXQgYXVzd2FobC4KZGVyIHNlcnZpY2UgZ2VodCBhdWNoIHNvLgp3ZW5uIGVyIGdhbnogZ2VuYXUgd2Vpc3MsIHdhcyBlciB3aWxsIChtb3RoZXJib2FyZCwgbW9uaXRvciwgZ3JhZmlra2FydGUsCmZlc3RwbGF0dGUsIGV0Yy4pIGRhbm4ga2FubiBlciBhdWNoIGluIGRpZSBrbGVpbmVyZW4gbGFlZGVuIChkYXZvbgpnaWJ0IGVzIG5hdHVlcmxpY2ggbWVocmVyZSB1bmQgaWNoIHd1ZXJkZSBkZW4gbmVobWVuLCBkZXIgaW4gZGVyIG5hZWhlIGlzdCkKZ2VoZW4sIGRpZSBtdWVzc2VuIGRhcyB6ZXVncyB6d2FyIG1laXN0ZW5zIGJlc3RlbGxlbiwgaGFiZW4gYWJlciBkYWZ1ZXIKdGFnZXNwcmVpc2UuIGVzIGlzdCB6d2FyIGRpZSB0ZXVlcmUgbG9lc3VuZywgYWJlciB3ZW5uIGVyIHF1YWxpdGFldCB3aWxsIC4uLgoKd2VubiBlciBkYXMgd2lsbCB1bmQgaW4gZGVyIG5hZWhlIHZvbiBzdGd0LiBtb2VocmluZ2VuIHdvaG50LCBrYW5uIGljaCBpaG0KMiBsYWVkZW4gbmVubmVuLgoKICAgICAgICAgICAgICAgICAgICAgICAgd2FybG9yZAoKcC5zLjogbWl0IHJhdHNjaGxhZWdlbiBpc3QgZGFzIGltbWVyIHNvIG5lIHNhY2hlIHVuZCB1ZWJlcm5laG1lIGRlc2hhbGIKICAgICAga2VpbmUgZ2FyYW50aWUgOykpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ29tcHV0ZXIgaW4gU3R1dHRnYXJ0PyAoQ3JlYXRpdmUsIDI1LiBNYXIgMTk5NiwgMTM6Mzc6MTQpOgp+IyEgcm49VGFzaGEgcnQ9ODI3Njc4NjA3Cn4jISB0aWQ9ODI3NTMyNDIxCgpGcmFnIGRvY2ggbWFsIEVuZ3kgdW5kIFNlbWlyYSwgd28gZGllIGlocmVuIENvbXAgaGVyaGFiZW4uCk5pY2h0IGplZGVyIGd1dGUgQ29tcCBtdXNzIGF1cyBkZXIgTmFlaGUgc2Vpbi4KQXVjaCBuaWNodCBqZWRlciBndXRlIFNlcnZpY2VtYW5uLi4uCgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadSBUdWVyZW4gdW5kIEx1a2VuIChNb3Jnb3RoLCAyNS4gTWFyIDE5OTYsIDE1OjQ1OjAwKToKQWxzIGljaCBnZXJhZGUgbWVpbmVuIExvZ2ZpbGUgc28gYWJhcmJlaXRlIGZhZWxsdCBtaXIgYXVmLCBkYXNzIHVlYmVybWFlc3NpZwpzaWNoIHZpZWxlIEJ1Z3MgdW5kIElkZWVuIHVtIGRhcyBvZWZmbmVuIHZvbiBUdWVyZW4gdW5kIEx1a2VuIGRyZWhlbi4gQWxzbwpoaWVyIGZ1ZXIgYWxsZSBub2NobWFsLgpJY2gga2FubiBzbyBlaW5mYWNoIGRpZSBNZWxkdW5nZW4gZGVyIG9lZmZuZS9zY2hsaWVzcyBCZWZlaGxlIGRlciBUdWVyZW4KbmljaHQgYWVuZGVybi4gQXVjaCB3YXMgZGllIFNjaGx1ZXNzZWwgYW5nZWh0LCBrYW5uIGljaCBkYSBuaXggZHJhbiBkcmVoZW4sCndlaWwgZGFzIHN0YW5kYXJkIGlzdC4gTmVydnQgYWxsZSBXYXJnb24gbWFsIGVpbiBiaXNjaGVuLCBkYW1pdCBlciBkYXMgaW4gZGllCkhpbGZlc2VpdGUgZWluYmF1dC4gRmFsbHMgaWNoIGRhcyBkYSB1ZWJlcmxlc2VuIGhhYmUsIGxlc3QgZXMgZGEuIE1laW5lIFR1ZXJlbgp1bmQgTHVrZW4gc2luZCBPSy4KCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKFNlbWlyYSwgMjUuIE1hciAxOTk2LCAxODowOTo1Nyk6Cn4jISBybj1DcmVhdGl2ZSBydD04Mjc3NTc0MzQKfiMhIHRpZD04Mjc1MzI0MjEKSmVwIQoKRGFzIGthbm4gaWNoIG51ciBlbXBmZWhsZW4hCmFlaCBiZXN0YWV0aWdlbiBtZWluIGljaC4uLgoKZW1wZmVobGVuIHR1IGljaCBkYW5uIHdhcy93ZW4gYW5kZXJlbiAtIGFsc28gZWluZmFjaCBuYWNoZnJhZ2VuIDopCgoqa251ZGRlbHMqIHNlbWlyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQ29tcHV0ZXIgaW4gU3R1dHRnYXJ0PyAoSm9mLCAyNS4gTWFyIDE5OTYsIDE4OjUyOjU0KToKfiMhIHJuPVNlbWlyYSBydD04Mjc3NzM3OTcKfiMhIHRpZD04Mjc1MzI0MjEKCiBBbnNvbnN0ZW4ga2FubnN0IER1IGVzIGJlaSBuZXRTZXJ2ZSBwcm9iaWVyZW4gKGluIE1TLCAwMjUxLzI5MyA2NDApLCBrYW5uCklDSCBudXIgc2VociBlbXBmZWhsZW4gOikKCiAoYWx0ZXJuYXRpdiB6d2Vja3MgQW5nZWJvdCBhdWNoIE11ZG1haWwgYW4gQmVydHJhbSkKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKENyZWF0aXZlLCAyNS4gTWFyIDE5OTYsIDE4OjU2OjM0KToKfiMhIHJuPUpvZiBydD04Mjc3NzYzNzQKfiMhIHRpZD04Mjc1MzI0MjEKCktlaW5lIEVudHNjaGVpZHVuZyBvaG5lIHVuc2VyIEFuZ2Vib3QuLi4KCihjKSBDb21DbyBMaW56CgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogInBsYWV0dGUiIGFscyBTeW5vbnltIGZ1ZXIgInRvZXRlIiAoSGFmaXMsIDI1LiBNYXIgMTk5NiwgMjE6MDY6NTQpOgoKV2FzIGhhbHRldCBJaHIgZGF2b24sIHdlbm4gd2lyIGRlbiBHb2V0dGVybiwgRXJ6bWFnaWVybiBvZGVyIHdlciBzb25zdCBmdWVyCmRpZSBnbG9iYWxlbiBCZWZlaGxlICB6dXN0YWVuZGlnIGlzdCwgdm9yc2NobGFnZW4sIG5lYmVuIGRlbSBCZWZlaGwgInRvZXRlIgphdWNoICJwbGFldHRlIiBhbHMgU3lub255bSB6dXp1bGFzc2VuPyBMZXR6dGVyZXIgQXVzZHJ1Y2sgc2NoZWludCBqYSBhbGxnZW1laW4KdWVibGljaCB6dSBzZWluLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogICJwbGFldHRlIiBhbHMgU3lub255bSBmdWVyICJ0b2V0ZSIgKEdyaW1tYm9ybiwgMjUuIE1hciAxOTk2LCAyMTowNzo0Myk6Cn4jISBybj1IYWZpcyBydD04Mjc3ODQ0MTQKfiMhIHRpZD04Mjc3ODQ0MTQKCmhpbGZlIGFsaWFzCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGtlbCAoUmltdXMsIDI1LiBNYXIgMTk5NiwgMjE6NTQ6MDEpOgpIZXV0ZSBpbiBkZXIgR2lsZGU6CmljaDogS29zdGVuCmFudHdvcnQ6IER1IGtvZW5udGVzdCBEZWluZSBTcGllbHN0dWZlIGVyaG9laGVuLgppY2g6IGVyaG9laGUKYW50d29ydDogRHUgaGFzc3QgenUgd2VuaWcgQWJlbnRldWVycHVua3RlLCBsb2VzcyBkb2NoIG5vY2ggZWluIHBhYXIgUXVlc3QncwpPa2F5PwoKaWNoOiBncnVlYmVsLCBrb21pc2NoLCBidWcgPz8/CmRhIGtvZW5udGUgc2ljaCBtYWwgZWluIG1hZ2llciBkcnVtbSBrdWVtbWVybiwgKGljaCBtZWluZSBtZWluIGxldmVsCmVyaG9laGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAgInBsYWV0dGUiIGFscyBTeW5vbnltIGZ1ZXIgInRvZXRlIiAoUmFmZmksIDI1LiBNYXIgMTk5NiwgMjM6MjU6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgyNzc4NDQ2Mwp+IyEgdGlkPTgyNzc4NDQxNApBbHNvIG1pciBoYXQgZGllIElkZWUgZ2VmYWxsZW4KKHVuZCBkYXMgb2J3b2hsIGljaCBzY2hvbm1hbCB3YXMgdm9uIEFsaSBnZWhvZWhydCBoYWJlKQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICAicGxhZXR0ZSIgYWxzIFN5bm9ueW0gZnVlciAidG9ldGUiIChTY2hydW1wZmksIDI1LiBNYXIgMTk5NiwgMjM6NDQ6MDEpOgp+IyEgcm49UmFmZmkgcnQ9ODI3NzkyNzE3Cn4jISB0aWQ9ODI3Nzg0NDE0CkhtbSwgd296dSBzb2xsdGUgc2ljaCBlaW4gTWFnaWVyIGRpZSBhcmJlaXQgYW50dW4sIHdlbm4gbWFuIGRhcyBlaCBtaXQgbmVtCkFsaSBtYWNoZW4ga2Fubj8gSXMgZG9jaCBzaW5ubG9zLgpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6ICAicGxhZXR0ZSIgYWxzIFN5bm9ueW0gZnVlciAidG9ldGUiIChSYWZmaSwgMjUuIE1hciAxOTk2LCAyMzo1NzozNik6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODI3NzkzODQxCn4jISB0aWQ9ODI3Nzg0NDE0CgpJc3QgZGllIEFyYmVpdCBzb28gZ3Jvc3MgPwooSWNoIHdlaXNzIGVzIGVocmxpY2ggbmljaHQpCgpEZWluZSBBcmd1bWVudGF0aW9uIGlzdCByZWNodCB0ZWNobmlzY2ggLSBuYXR1ZXJsaWNoIGlzdCBlcyBuaWNodCBub2V0aWcsIHdpZQpzbyB2aWVsZXMgaW0gTUcgbmljaHQgTk9FVElHIGlzdC4gSUNoIGZpbmRlIGRpZSBpZGVlIG5ldHQuIFNpZSBoYXQgc293YXMgLi4uLi4KQXRyaG1vc3BoYWVyaXNjaGVzLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKEd1eWJydXNoLCAyNi4gTWFyIDE5OTYsIDA5OjA5OjQ4KToKfiMhIHJuPUpvZiBydD04Mjc3NzYzNzQKfiMhIHRpZD04Mjc1MzI0MjEKc2luZCBkYXMgbmljaHQgZGllIGdyb2Vzc3RlbiBoYWxzYmFzY2huZWlkZXI/CgpHdXlyYnJ1c2gsIGZyYWd0IG51ciBtYWwgc28gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IENvbXB1dGVyIGluIFN0dXR0Z2FydD8gKEJvaW5nLCAyNi4gTWFyIDE5OTYsIDExOjE3OjU5KToKfiMhIHJuPUpvZiBydD04Mjc3NzYzNzQKfiMhIHRpZD04Mjc1MzI0MjEKS29lbm50ZXQgaWhyIGJpdHRlIGV1cmUgV2VyYnVuZyBhdXMgZGVyIGFsbGdlbWVpbi1SdWJyaWsgcmF1c2hhbHRlbj8KICBEYW5rZQpQUzogU28gU2FjaGVuIHdpZSAnZnJhZyBtaWNoIHVuZCBpY2ggc2FnIERpciB3YXMnIHNpbmQgbmF0dWVybGljaCBvayEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwaWVsZXIgLSBFaW5lIEJpbGFueiAoSGF0ZSwgMjcuIE1hciAxOTk2LCAwOTowNToyNSk6CkVzIHR1dCBtaXIgamEgbGVpZCwgZXMgc2FnZW4genUgbXVlc3NlbiwgYWJlciBpY2ggYmluIGhlcmIgZW50dGFldXNjaHQuCkVzIGhhdCBzaWNoIGluIGRlbiBsZXR6dGVuIEphaHJlbiBhbSBTcGllbGVydmVyaGFsdGVuIG5pY2h0cyBnZWFlbmRlcnQuCkltIFByaW56aXAga2FubiBtYW4gU3BpZWxlcnZlcmhhbHRlbiBhdWYgZWluaWdlIHdlbmlnZSBQdW5rdGUgYnJpbmdlbjoKICBTZWxic3RoZXJybGljaCB1bmQgSWdub3JhbnQKVW5kIHdpZSBrb21tZSBpY2ggenUgZGllc2VtIFNjaGx1c3M/CkRhcyBpc3QgbGVpY2h0IGVya2xhZXJ0LCB3ZW5uIG1hbiBzaWNoIGRpZSBSZWFrdGlvbmVuIGFuc2llaHQsIHdlbGNoZSBiZS0Kc3RpbW10ZSBBa3Rpb25lbiBoaWVyIGltIE1VRCBhdXNsb2VzZW4uCkVpbmVyc2VpdHMgd2lyZCBzdGFlbmRpZyBnZW1lY2tlcnQgd2VubiBldHdhcyB2ZXJhZW5kZXJ0IHd1cmRlIG9kZXIgaW4gaXJnZW5kCmVpbmVyIFdlaXNlIHZlcmFlbmRlcnQgd2VyZGVuIHNvbGwuIEhpZXJiZWkgZXJpbm5lcmUgaWNoIG1hbCBhbiBkaWUgd2lya2xpY2gKdW5zaW5uaWdlIERpc2t1c3Npb24gdm9uIExldXRlbiwgd2VsY2hlIGR1cmNoIGVpbmVuIEdlc2FtdGxldmVsIG5pY2h0IG1laHIKYXVmIGRlbSBUaHJvbiBzaXR6ZW4sIGRlbiBzaWUgZWlnZW50bGljaCBuaWNodCB2ZXJkaWVudCBoYWJlbi4KQXVmIGRlciBhbmRlcmVuIFNlaXRlIGlzdCBoaWVyIHNjaGVpbmJhciBhdWNoIG5pZW1hbmQgYmVyZWl0IG1hbCByaWNodGlnZQpudWV0emxpY2hlIFZvcnNjaGxhZWdlIHp1IG1hY2hlbiwgd2VubiBkaWVzZSBnZWZyYWd0IHNpbmQuIERhIGthbm4gbWFuIGV3aWcKbGFuZ2UgQXVmcnVmZSBtYWNoZW4gdW5kIHdhcyBrb21tdCBkYWJlaSByYXVzOiBSZWFrdGlvbiA9PSBOVUxMLiBEYXMgZ2lsdApnZW5hdXNvIGZ1ZXIgbWVpbmVuIEF1ZnJ1Ziwgc2ljaCBtYWwgdW0gZGllIFByYWVzZW50YXRpb24gdm9uIE1HIG5hY2ggYXVzc2VuCnp1IGludGVyZXNzaWVyZW4sIHdpZSBhdWNoIGZ1ZXIgQXVmcnVmZSB2b24gc28gbWFuY2hlbSBNYWdpZXIgZG9jaCBtYWwgZWluCnBhYXIga29ua3JldGUgSWRlZW4genUgZWluZW0gYmVzdGltbXRlbiBUaGVtYSB6dSBsaWVmZXJuLgpNaWNoIHd1ZXJkZSBlcyBhbnN0ZWxsZSBkZXIgU3BpZWxlciBuaWNodCB3dW5kZXJuLCB3ZW5uIGJlaSBzb2xjaGVtIFZlcmhhbHRlbgppbW1lciB3aWVkZXIgRW50c2NoZWlkdW5nZW4gdWViZXIgRXVyZSBLb2VwZmUgZ2VtYWNodCB3ZXJkZW4gdW5kIGRpZXNlIGF1Y2gKdW1nZXNldHp0IHNpbmQsIGJldm9yIGlociB3YXMgenUgc2FnZW4gaGFidC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChDYXJhZGhyYXMsIDI3LiBNYXIgMTk5NiwgMTI6NTA6MzIpOgp+IyEgcm49SGF0ZSBydD04Mjc5MTM5MjUKfiMhIHRpZD04Mjc5MTM5MjUKVGphLCBIYXRlLCB3ZW5uIGljaCB3YXMgemVpY2huZSwgZGFubiB3aWxsIGljaCBuaWNodCB3aXNzZW4gd2llIGRhcwpoaW50ZXJoZXIgYXVzc2llaHQuIFVuZCBkYXMgaXN0IGRlciBlaW56aWdlIEF1ZnJ1ZiBkZXIgbWlyIGVpbmZhZWxsdAphdWYgZGVuIER1IGFuc3BpZWxlbiBrb2VubnRlc3Qgdm9uIFNwaWVsZXJzZWl0ZSBoZXIuCgogICAgICAgICAgICAgIENhcmFkaHJhcyAtIGthbm4gYmVzc2VyIHphdWJlcm4gYWxzIG1hbGVuCkxseXN0cmF0aGUgdGVpbHQgRGlyIG1pdDogRHUgYmVoZXJyc2NodCBaYXViZXJzdGFic2tpbGwgZ2VtZXNzZW4gYW4gRGVpbmVtCkxseXN0cmF0aGUgdGVpbHQgRGlyIG1pdDogR2lsZGVuZ3JhZCBzZWhyIG1hbmdlbGhhZnQuCgogICAgICAgICAgICAgIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc2NobGFnIChKdXJyeSwgMjcuIE1hciAxOTk2LCAxNzozNTo0Nyk6CldpZSB3YWVocmUgZXMgd2VubiBpY2ggbmljaHQgaW1tZXIgaW4gZGllIEdpbGRlIHJlbm5lbiBtdXNzIHVtIHp1IHNlaGVuCndlbGNoZSBxdWVzdCBpY2ggbm9jaCBuaWNodCBoYWIgPyBFaW4ga3VyemVyIEJlZmVobCB1bmQgaWNoIHNlaGUgd2VsY2hlIFF1ZXN0cwppY2ggbm9jaCBtYWNoZW4ga2FubiB3YWVocmUgZWNodCBuZSBFcmxlaWNodGVydW5nLgpEYW5uIGFiZXIgYml0dGUgbmljaHQgZGllIGdhbnplIExpc3RlIHNvbmRlcm4gbnVyIGRpZSBub2NoIG5pY2h0IGdlbG9lc3RlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoQmFicywgMjguIE1hciAxOTk2LCAwMDo1MjoyMik6Cn4jISBybj1IYXRlIHJ0PTgyNzkxMzkyNQp+IyEgdGlkPTgyNzkxMzkyNQpTb3NvLCBzZWxic3RoZXJybGljaCB1bmQgaWdub3JhbnQuLi4KCkRhcyBlcmlubmVydCBtaWNoIGFuIGRpZSBhbHRlIHBoaWxvc29waGlzY2hlIERpc2t1c3Npb246CkJyYXVjaGVuIE1lbnNjaGVuIGlocmUgR29ldHRlciBvZGVyIEdvZXR0ZXIgaWhyZSBNZW5zY2hlbj8KCm9kZXIgZGFzIFppdGF0OgpEaWUgUmVnaWVydW5nIGFiZXIgd2FyIHp1dGllZnN0IGVyenVlcm50IG9iIGRlciBVbmRhbmtiYXJrZWl0IGRlcyBWb2xrZXMuClNvIGxvZXN0ZSBzaWUgZGFzIFZvbGsgYXVmLCB1bmQgd2FlaGx0ZSBzaWNoIGVpbiBuZXVlcy4KCgpTcGllbGVyLCBkaWUgaWhyZSBNZWludW5nIHp1IFZvcmdhZW5nZW4gaW0gTVVEIGt1bmR0dW4sIHR1biBzY2hsaWVzc2xpY2gKZGFzIGVpbnppZ2UsIHdhcyBpaG5lbiBhbiBNaXRiZXN0aW1tdW5nIGJsZWlidC4gV2VubiBzaWUgZGFzIG1hbmNobWFsIGV0d2FzCmVtb3Rpb25zZ2VsYWRlbiBhdXNkcnVlY2tlbiwgc29sbHRlIG1hbiBkYXMgbmljaHQgYWxzIGlnbm9yYW50LApzZWxic3RoZXJybGljaApvZGVyIHVuc2lubmlnIGFidHVuLgpJbSBNRyBnaWJ0IGVzIHByYWt0aXNjaCBrZWluZSBkZW1va3JhdGlzY2hlbiBTdHJ1a3R1cmVuLgpTb21pdCBsaWVndCBiYW5hbGVyd2Vpc2UgZGllIFZlcmFudHdvcnR1bmcgYmVpIGRlbiBWZXJhbnR3b3J0bGljaGVuLAp1bmQgZGllIFNwaWVsZXIsIGFscyBLb25zdW1lbnRlbiwgZW50d2lja2VsbiBsb2dpc2NoZXJ3ZWlzZSBlaW5lIEtvbnN1bWVudGVuLQptZW50YWxpdGFldC4KCldvenUgYXVjaCBzb2xsdGVuIHNpY2ggdW50ZXIgZGVuIGdlZ2ViZW5lbiBVbXN0YWVuZGVuIGRpZSBTcGllbGVyIGdyb3NzYXJ0aWcKR2VkYW5rZW4gdWViZXIgVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlIG1hY2hlbiwgb2RlciBzaWNoIGdhciB1bSBkaWUKUHJhZXNlbnRhdGlvbiBkZXMgTVVEcyBuYWNoIGF1c3NlbiBoaW4ga3VlbW1lcm4/Ckthbm4gZGVubiBNY0RvbmFsZHMgbGVnaXRpbWVyd2Vpc2Ugdm9uIGRlbiBCdXJnZXJlc3Nlcm4gZXJ3YXJ0ZW4sIGRhc3MgamVuZQplaW5lIEthbXBhZ25lIGZ1ZXIgZGFzIGFuZ2VzY2hsYWdlbmUgSW1hZ2UgZGVzIFJpbmRmbGVpc2NocyBzdGFydGVuPwoKCkFsc286IEdyYWVtIGRpY2ggbmljaHQgdW5ub2V0aWcsIHVuZCBzZWkgbGllYmVyIGZyb2gsIGRhc3MgZXMgX2F1Y2hfIExldXRlCmdpYnQsIGRpZSBEZWluIEVuZ2FnZW1lbnQgZHVyY2hhdXMgenUgc2NoYWV0emVuIHdpc3Nlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChUZXJyb3Jpc3QsIDI4LiBNYXIgMTk5NiwgMDc6NDQ6MDQpOgp+IyEgcm49SGF0ZSBydD04Mjc5MTM5MjUKfiMhIHRpZD04Mjc5MTM5MjUKCkVpbiBzZWhyIHNjaG9lbmVyIEFydGlrZWwgSGF0ZSwgYWJlciBpcmdlbmR3aWUgdW5sb2dpc2NoLgpEYXMgc29sbCBhbHNvIGhlaXNzZW4gd2VubiB3aXIgc3BpZWxlciBWb3JzY2hsYWVnZSBtYWNoZW4gd2VyZGVuIGRpZQpuaWNodCBnZW51dHp0IHNvbmRlcm4gdWViZXIgdW5zZXJuIGtvcGYgd2VnIGVudHNjaGllZGVuIHdlaWwgd2lyIGtlaW5lClZvcnNjaGxhZWdlIG1hY2hlbj8KCkljaCB3aWxsIGRpciBtYWwgd2FzIHNhZ2VuIEhhdGUsIFNwaWVsZXIgaGFiZW4gaGllciB3aXJrbGljaCBndXRlIFZvcnNjaGxhZWdlCmdlbWFjaHQuIEljaCBlcnJpbm5lcmUgbnVyIGFuIGRpZSB6dC1EaXNrdXNzaW9uIHZvciBlaW4gcGFhciBtb25hdGVuIHdvCndpcmtsaWNoIGd1dGUgaWRlZW4ga2FtZW4gZGllIHNpY2ggZGFubiBhYmVyIGltIHNhbmRlIHZlcmxpZWZlbiB3ZWlsIGVzIHdvCmtlaW5lbiBtYWcgaW50ZXJlc2lpZXJ0ZS4gQWxzbyB3YXJ1bSBzb2xsIGljaCBWb3JzY2hsYWVnZSBtYWNoZW4gd2VubiBzaWUgZWgKbmljaHQgdW1nZXNldHp0IHdlcmRlbj8KCkFCZXIgYml0dGUgaWNoIG1hY2ggamV0enQgZWluZW46Ck1hY2h0IGRpZSBaYXViZXJlcmdpbGRlIHNjaHdhZWNoZXIuCldFbm4gaWNoIGRhcyB2b24gZWluZW0gWmF1YmVyZXIgc28gaG9lcmUgd2FzIGRlciBhbGxlcyBkb3J0IGxlcm5lbiBrYW5uLAprb2VubmVuIGRpZSBDSGFvdGVuIHVuZCBLYXJhdGVrYXMgZ2xlaWNoIGlocmUgR2lsZGVuIHZlcmxhc3NlbiB1bmQgenUgZGVuClpBdWJlcmVybiBnZWhlbiB1bmQgd2VubiBkYW5uIGRpZSBuYWVjaHN0ZSBHaWxkZSBrb21tdCBpc3QgZGllIHdpZWRlciBzdGFlcmtlcgphbHMgZGllIHphdWJlcmVyIHVuZCBkaWUgbmFlY2hzdGUgZGFubiB3aWVkZXIgc3RhZXJrZXIgYWxzIGRpZSBuYWVjaHN0ZS4uLgp1c3cuClNhZ3QgbWlyIG1hbCBlaW5lciB3YW5uIGRhIGVpbiBlbmRlIHNlaW4gc29sbD8KCkthcmwgUmFuemV5ZXIgaXN0IHRvdC4KVGVycm9yaXN0IHdhcnMgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoTml4aWhvdSwgMjguIE1hciAxOTk2LCAxMDoxNjo1OCk6Cn4jISBybj1UZXJyb3Jpc3QgcnQ9ODI3OTk1NDQ0Cn4jISB0aWQ9ODI3OTEzOTI1Cm51ciB3YXMgenUgZGVpbmVtIHZvcnNjaGxhZyBkaWUgemF1YmVyZXJnaWxkZSBiZXRyZWZmZW5kOgpoYXN0IGR1IGRpciBhdWNoIG1hbCBlcnphZWhsZW4gbGFzc2VuLCB3YXMgZXMgYWxsZXMgZnVlciBuYWNodGVpbGUgYmVpIGRlcgp6YXViZXJlcmdpbGRlIGdpYnQ/IGtlaW5lbiBhbGtvaG9sLiAoamVkZW5mYWxscyBuaWNodCBpbiBkZW4gaG9laHJlbiBsZXZlbG4pCmQuaC4gZGllIGhhZWxmdGUgYWxsZXIgbWVudWVhbmdlYm90ZSBpbiBrbmVpcGVuIGZhZWxsdCBmbGFjaCEgd2VubnMKdWViZXJoYXVwdAp3YXMgb2huZSBhbGtvaG9sIHVuZCBtaXQgaGVpbHdpcmt1bmcgZ2lidC4gKG9rIGVzIGdpYnQgc3BlemlhbGtuZWlwZW4pCnNvIGd1dCB3aWUga2VpbmUgZWZmZWt0aXZlIHJ1ZXN0dW5nLCB3ZW5uIG1hbiBrYWVtcGZ0LCB1bmQgZnVlciBmYXN0IGplZGVuCnphdWJlciBhbmRlcmUgcnVlc3R1bmdzYmVzY2hyYWVua3VuZ2VuLiAoYWxzbyBrYW5uIG1hbiBydWVzdHVuZyBnbGVpY2ggc2VpZW4KbGFzc2VuLikKZnVlciBkaWUgbWVpc3RlbiB6YXViZXIgYmVub2V0aWd0IG1hbiB6YXViZXJrb21wb25lbnRlbiwgZGllIG1hbiBzaWNoIGVyc3QKc3VjaGVuIG11c3MgKGJ6dyBrYXVmZW4sIGJlaSBkZW4gZ2VzZWxsZW56YXViZXJuKSBnZWhlbiBkaWVzZSBhdXMsIGlzdCBtYW4KYXVmZ2VzY2htaXNzZW4uCnVuZCB6YXViZXJlciBzaW5kIGluIFZJRUwgdmllbCBzdGFlcmtlcmVtIG1hc3NlIHZvbiBpaHJlbiBtcCBhYmhhZW5naWcgYWxzIGVzCmNoYW90ZW4ga2FyYXRla2FzIHVuZCBhYmVudGV1cmVyIHNpbmQuCihvayBvay4gZGllIHZvcnRlaWxlIGRlciBnaWxkZSB3aWVnZW4gZGFzIGFsbGVzIGF1Zi4gYWJlciBtYW4ga2FubiBrYXJhdGVrYXMKYXVjaCBhbHMgemF1YmVyZXIgaW0gImRhdWVybWV0emVsbiIgbmljaHQgc2NobGFnZW4uIGRlbmtlIGljaCwKd2FzIHp1IGJld2Vpc2VuIHdhZXJlLikKCm5peGlob3UsIGp1c3QgcmVtZW1iZXJpbmcgdGhlIGRpc3NhYmlsaXRpZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChIYXRlLCAyOC4gTWFyIDE5OTYsIDEwOjM0OjE1KToKfiMhIHJuPUJhYnMgcnQ9ODI3OTcwNzQyCn4jISB0aWQ9ODI3OTEzOTI1CkFsc28gRGFzIE1vcmdlbkdyYXVlbiBtaXQgTWNEb29mIHp1IHZlcmdsZWljaGVuIGZpbmRlIGljaCBkb2NoIGV0d2FzIHdlaXQKaGVyZ2Vob2x0LiBFaW4gTVVEIGhhdCBkdXJjaGF1cyBhbmRlcmUgU3RydWt0dXJlbiBhbHMgZWluZSByZWluZSBBbmJpZXRlci0KTnV0emVyIEJlemllaHVuZy4gTnVyIGlzdCBlcyBlaW5mYWNoIHNvLCBkYXNzIHNpY2ggZGllIG1laXN0ZW4gU1BpZWxlciBsaWViZXIKYXVmIGRpZSBmYXVsZSBIYXV0IHVuZCBhbmRlcmUgZnVlciBzaWNoIG1hY2hlbiBsYXNzZW4uIFVuZCBoaWVyIGJlemllaGUgaWNoCm1pY2ggZHVyY2hhdXMgYXVmIEVyZmFocnVuZ2VuIGRlciBsZXR6dGVuIEphaHJlLCBkaWUgYmVzdGFldGlnZW4sIGRhc3MKZGVyIFNwaWVsZXIgZWlnZW50bGljaCBudXIgZGFyYXVmIGF1cyBpc3QsIHNpY2ggZGFzIGxlYmVuIHNvIGxlaWNodCB3aWUKbW9lZ2xpY2ggenUgZ2VzdGFsdGVuLCBlZ2FsIG9iIGRhYmVpIGRhcyBNVUQga2FwdXR0IGdlaGVuIG9kZXIgc29uc3R3aWUKbGVpZGVuIHd1ZXJkZS4gRGllc2UgUmVnZWwgZ2lsdCBuaWNodCBmdWVyIGFsbGUsIGFiZXIgZnVlciB2aWVsZSB1bmQgZGFzCmlzdCBlcyBqYSwgd2FzIG1pY2ggc3RvZXJ0LiBNaXRyZWRlbiB3aWxsIGplZGVyLCBhYmVyIFZlcmFudHdvcnR1bmcgbWl0CnVlYmVybmVobWVuLCB1bmQgZGF6dSB6YWVobGUgaWNoIGF1Y2ggR2VkYW5rZW4genUgVm9yc2NobGFlZ2VuIG9kZXIgdWViZXItCmhhdXB0IGRpZSBCZXRlaWxpZ3VuZyBhbiBJZGVlbiwgZGFzcyBzY2hlaW50IG5pY2h0IGRyaW4genUgc2Vpbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoQ2h1cmtpZSwgMjguIE1hciAxOTk2LCAxMTozMjowMyk6Cn4jISBybj1IYXRlIHJ0PTgyODAwNTY1NQp+IyEgdGlkPTgyNzkxMzkyNQpoYWxsbyBoYXRlLApuYXR1ZXJsaWNoIHZlcnN1Y2h0IHNpY2ggamVkZXIgZGFzIGxlYmVuIHNvIGxlaWNodCB3aWUgbW9lZ2xpY2ggenUgbWFjaGVuLAphdWNoIHdlbm5zIGVpbiB2bCBpc3QuIGRhcyBpc3QgZG9jaCBhYmVyIG1laW5lciBtZWludW5nIG5hY2ggYXVjaCBuaWNodCBkYXMKcHJvYmxlbSBpbSBtdWQuIGRhcyBpc3QgZWhlciBkZXIgenQgZG9jaCBzZWhyIHNlaHIgYWV0emVuZGUgdW1nYW5nc3Rvbgp1bnRlcmVpbmFuZGVyLiBuZXVlIGJla29tbWVuIGthdW0gbm9jaCBoaWxmZSwgZGllIGFuZGVyZW4gdWViZW4gbnVyIGluIGlocmVuCmdpbGRlbiBldGMuLi4uCi4uLi4gZGFzIGtvdHp0IE1JQ0ggIGFuLgoKZXVlciBTZW5zaWJlbGNoZW4gQ2h1cmtpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoSGFkcmEsIDI4LiBNYXIgMTk5NiwgMTM6MDA6NTkpOgp+IyEgcm49SGF0ZSBydD04Mjc5MTM5MjUKfiMhIHRpZD04Mjc5MTM5MjUKd293LAoKZW5kbGljaCBtYWwgd2llZGVyIGVpbiBuZXVlciwgc2FjaGxpY2ggZnVuZGllcnRlciBiZWl0cmFnIGF1cyBkZXIgYmVsaWVidGVuCih1bmQgbmljaHQgdG90IHp1IGtyaWVnZW5kZW4pIHJlaWhlOgptYWdpZXIgYmVzY2h3ZXJlbiBzaWNoIHVlYmVyIHNwaWVsZXIgLSBzcGllbGVyIGJlc2Nod2VyZW4gc2ljaCB1ZWJlciBtYWdpZXIKKnNldWZ6Kgoqcmllc2Vuc2V1ZnoqCgpoZXV0ZSBnZWh0IGVzIG1hbCB3aWVkZXIgdW0gbWF1bGVuZGUgdW5kIHVua29vcGVyYXRpdmUgc3BpZWxlci4KZHUgYmVzY2h3ZXJzdCBkaWNoLCBkYXNzIHNwaWVsZXIgc2ljaCBuaWNodCBnZW51ZyBpbnMgbXVkIGVpbmJyaW5nZW4gdW5kIHNvCmhhbHQgZGllIGVudHNjaGVpZHVuZ2VuIGdlZmFlbGxpZ3N0IGVydHJhZ2VuIG11ZXNzdGVuLgoKZGF6dSB6d2VpIGZyYWdlbjoKMSkgd2FyIGVzIG5pY2h0IHNvLCBkYXNzIHNwaWVsZXIgZGllIGludGVuc2l2ZXIgYW4gZGVyIGdlc3RhbHR1bmcgZGVzIG11ZHMKICAgdGVpbGhhYmVuIHdvbGxlbiwgbWl0IGVycmVpY2hlbiBkZXMgc3BpZWxlcmxldmVscyAyMCBtYWdpZXIgd2VyZGVuCiAgIGtvZW5uZW4sIHdhZWhyZW5kIHNpZSBhbHRlcm5hdGl2IGRpZSBlcmxhdWJuaXMgZXJoYWx0ZW4gYWxzIHNlaGVyCiAgIHdlaXRlcmhpbiBzcGllbGVyIHp1IGJsZWliZW4gdW5kIGRpZSBlbnR3aWNrbHVuZyBhbmRlcmVuIHp1IHVlYmVybGFzc2VuPwoyKSBoYWJlbiBuaWNodCBlcnN0IHZvciBlaW5laWdlciB6ZWl0ICh6dXIgbm90IGF1Y2ggbGV0emVzIGphaHIsIG9kZXIgZGFzCiAgIGphaHIgZGF2b3IgLSBkYXMgc2NocmVpYnQgaWhyIGFsbGUgcGFhciBtb25hdGUpLCBuYWNoZHJ1ZWNrbGljaCBkYXJhdWYKICAgaGluZ2V3aWVzZW4sIGRhc3MgZGFzIG11ZCBlaCBuaWNodCBkZW1va3JhdGlzY2ggc2VpIHVuZCBzcGllbGVyIHNpY2gKICAgZ2VmYWVsbGlnc3QgcmF1c2hhbHRlbiBzb2xsZW4/CgplbnR3ZWRlciBpaHIgd29sbHQgZGllIGJldGVpbGlndW5nIGRlciBzcGllbGVyLCBvZGVyIGlociB3b2xsdCBzaWUgbmljaHQuCndlbm4gaWhyIHNpZSB3b2xsdCwga29lbm50IGlociBhYmVyIGthdW0gZXJ3YXJ0ZW4gaW1tZXIgbnVyIGFwcGxhdXMgenUKYmVrb21tZW4sIHNvbmRlcm4gZGFzcyBzcGVpbGVyIGF1Y2ggbGF1dCB1bmQgdmVybmVobWxpY2ggc2FnZW4gd2FzIHNpZQpzY2hlaXNzZSBmaW5kZW4uIG9kZXIgZGllIHNwaWVsZXIgd2VyZGVuIGFscyBzcGllbGVyIGdlaGFsdGVuIHVuZCByaWNodGVuCnNpY2ggaW5uZXJoYWxiIGRlciBnZWdlYmVuZW4gbW9lZ2xpY2hrZWl0ZW4gZWluIHVuZCBtYWNoZW4gaGluIHVuZCB3aWVkZXIgbmUKZGVtby4KCm5hY2hkZW0gd2lyIGpldHp0IGVyZmFocmVuIGhhYmVuLCBkYXNzIHdpciBlaCAnU2VsYnN0aGVycmxpY2ggdW5kIElnbm9yYW50JwpzaW5kIHdlcmRlbiBzaWNoIHNpY2hlcmxpY2ggbm9jaCBtZWhyIHNwaWVsZXIgdWViZXJsZWdlbiwgb2Igc2llIGRlbiBtYWdpZXJuCm5vY2ggbWFsIHdhcyBzYWdlbgoKYnR3LiBkZXIgYXJ0aWtlbCBoYWV0dGUgZWlnZW50bGljaCBpbiBkaWUgbWFpbCBnZWhvZXJ0LCBhYmVyIGRhIGljaCB2b24gZGlyCnNjaG9uIGV3aWcga2VpbmUgcmVha3Rpb24gbWVociBhdWYgbWFpbHMgYmVrb21tZSwgc3RlY2sgaWNocyBoYWx0IGluIGRpZQp6ZWl0dW5nIGRhbm4gaGFiZW4gd2VuaWdzdGVucyBkaWUgYW5kZXJlbiB3YXMgZGF2b24KCmhhZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoSGF0ZSwgMjguIE1hciAxOTk2LCAxMzozNToyNCk6Cn4jISBybj1IYWRyYSBydD04MjgwMTQ0NTkKfiMhIHRpZD04Mjc5MTM5MjUKWnUgMSkgSWNoIGhhbHRlIG5pY2h0cyBkYXZvbiBzaWNoIGhpZXIgbnVyIGFscyBTY2hhZmUgaW4gZGVyIEhlcmRlIGF1Znp1LQogICAgICBmdWVocmVuLgpadSAyKSBXZW5uIGVzIGhlaXNzdCBlcyBnZWh0IG5pY2h0IGRlbW9rcmF0aXNjaCB6dSwgYmVkZXV0ZXQgZGFzIG5pY2h0CiAgICAgIGF1dG9tYXRpc2NoLCBkYXMgc2FlbXRsaWNoZXMgTWl0c3ByYWNoZXJlY2h0IHdlZ2ZhZWxsdC4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhIGZsaWVndCBtaXIgZG9jaCBkYXMgQmxlY2ggd2VnLiAoT2V0dGksIDI4LiBNYXIgMTk5NiwgMTQ6NDc6NTEpOgpJc3QgZXMgbWFsIHdpZWRlciBhbiBkZXIgWmVpdCBlaW4gcGFhciBXb3J0ZSBsb3N6dXdlcmRlbi4KQWxzbyBkYSBmcmFnZW4gd2lyIHVucyBkb2NoIG1hbCwgd2FzIGlzdCB1ZWJlcmhhdXB0IGVpbiBNVUQgPwpEYSBzdGVsbGVuIHdpciB1bnMgbWFsIGdhbnogZHVtbS4uLgpFaW4gTXVkIGlzdCBlaW4ga29uZ2x1bWVyYXQgdmllbGVyIHZlcnNjaGllZGVuZXIgTWVuc2NoZW4gKFBFUlNPRU5MSUNIS0VJVEVOKQpNYW4ga2FubiBkaWVzZSBhbHMgc29sY2hlIGFremVwdGllcmVuLCBvZGVyIHZlcnN1Y2hlbiBpaG5lbiBzZWluZW4KZWlnZW5lbiB3aWxsZW4gc2VpbmUgZWlnZW5lIEFuc2NoYXV1bmcgenUgdmVya2F1ZmVuLgpEYXp1IGthbm4gbWFuIGRhbm4gdmVyc2NoaWVkZW4gU3RpbG1pdHRlbCBiZW51dHplbi4KClZhcmlhbnRlIGEuKSA6IFdlbm4gSWhyIG5pY2h0IG1laW5lciBNZWludW5nIHNlaWQsIHNlaWQgaWhyIHNjaGVpc3NlIHVuZCBkb29mCkxlZ2l0aW1lIE1laW51bmcsIGFiZXIgc2VociBhcnJvZ2FudC4KVmFyaWFudGUgYi4pOiBXZW5uIGlociBuaWNodCBtZWluZXIgTWVpbnVuZyBzZWlkLCBmdWVocmUgaWNoIGV1cmUgYWQKYWJzdXJkdW0sIGJpcyBlcyBldWNoIHN0aW5rdC4KCkF1Y2ggTGVnaXRpbSwgdW5kIHNlaHIgd2lya3VuZ3N2b2xsLCBhYmVyIG1hbmNoZSByZWFnaWVyZW4gQWdyZXNzaXYgZHJhdWYsCmF1c3NlcmRlbSBzb2xsdGUgbWFuIGRhbm4gZ2VzY2h1bHQgZGFyaW4gc2Vpbiwgc29uc3Qgc2NoaWVzc3QgbWFuIHNpY2gKaW4gZGVuIEZ1c3MgKHZlcmdsLiBBcnRpa2VsIGluIFNjaG1hcnJuKS4KClZhcmlhbnRlIGMuKTogSXN0IG1pciBkb2NoIGFsbGVzIGVnYWwsIHdlciBkb29mIGlzdCB1bmQgc3Rpbmt0LgpCaW5nbywgZWluIE11ZCBpc3QgaW4gZXJzdGVyIExpbmllIHNvIHNlaGUgaWNoIGRhcywgZGF6dSBkYSwgdW0gZWluIHdlbmlnClNwYXNzIHp1IGhhYmVuLCB1bmQgZnVlciBtaWNoIG5vY2ggZWluIGdlZWlnbmV0ZXIgV2VnIHdhZWhyZW5kCm1laW5lciBBcmJlaXRzemVpdCwgd2VubiBpY2ggbmUgUGF1c2UgYnJhdWNoZSwgenUga29tbXVuaXppZXJlbi4KTmEgc293YXMsIGFiZXIgZGFzIG1hY2ggaWNoIHNvZ2FyIGdlcm5lLgoKSWNoIGZ1ZXIgbWVpbmVuIFRlaWwgbW9lY2h0ZSB1bmQga2FubiBuaWVtYW5kZW0gVm9yc2NocmVpYmVuLCB3YXMKZXIgd2FubiB3aWUgenUgbWFjaGVuIGhhdCBvZGVyIG5pY2h0LCBzb2xhbmdlIGVyL3NpZS9lcyBzaWNoCndvaGwgZGFiZWkgZnVlaGx0IGthbm4gaWNoIGVzIG51ciBndXRoZWlzc2VuLCBkZW5uIGRhcnVtIGdlaHQgZXMKaW0gRW5kZWZmZWt0LCBTcGFzcyBhbiBkZXIgU2FjaGUgaGFiZW4uCgpVbmQgc2NoZWluYmFyIGhhYmVuIG1hbmNoZSBMZXV0ZSBTcGFzcyBkYXJhbiwgYW5kZXJlbiBlYmVuIGRpZXNlbgp6dSB2ZXJsZWlkZW4sIG5hIGphIGljaCBuZWhtIHNvbGNoZSBMZXV0ZSBuaWNodCBlcm5zdCwgYWJlciBpY2ggaGFiZQpqYSBkZXMgb2VmdGVyZW4gYXVjaCBQcm9ibGVtZSBtaWNoIHNlbGJlciBlcm5zdCB6dSBuZWhtZW4uCgpEYXMgaXN0IG1laW5lIGF1c3NlcnN0IGJlc2NoZWlkZW5lIHVuZCBhdWNoIGhvZmZlbnRsaWNoIGhvZWZsaWNoCmdlbnVuZyB2b3JnZXRyYWdlbmVuIE1laW51bmcuCgpVbmQgamV0enQgc2NoYWx0ZW4gd2lyIHdpZWRlciB1bSB6dSBkZW4gS2xlaW5nYWVydG5lcm4uCgpPZXR0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluZSBsYW5nZSBQYXVzZSAoU2Fpa2FuLCAyOC4gTWFyIDE5OTYsIDE2OjA0OjU0KToKSGFsbG8sCgp3ZWdlbiB1bmdsYXVibGljaCB2aWVsIEFyYmVpdCAoZ2FlaG4pIHdlcmRlIGljaCBlcnN0bWFsIGVpbmUgdW5iZWZyaXN0ZXRlCmxhbmdlIGxhbmdlIChnYWVobikKUGF1c2UgZWlubGVnZW4uIEljaCBiaW4gc2ljaGVyIGVzIGZyZXV0IGRhcyBWb2xrIDspCkljaCB1ZWJlcmdlYmUgYWxsZSBtZWluZSAod2VuaWdlKSBBdWZnYWJlbiB6dXZlcnNpY2h0aWcgYW4gTW9yZ290aC4gQXVmIGRhcwpkYXMgVmVybG9yZW5lIExhbmQKZ2VkZWloZW4gbW9lZ2UuIChwcmFobCkKCk5pY2h0IGZ1ZXJzIFVuZ3V0IQoKRGVyIGFiZ3J1bmR0aWVmYm9lc2UgU2Fpa2FuIG1hY2h0IFVybGF1YiB2b24gZGVuIGJla2xvcHB0ZW4gU3BpZWxlcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoVGVycm9yaXN0LCAyOC4gTWFyIDE5OTYsIDE2OjU1OjE0KToKfiMhIHJuPUhhdGUgcnQ9ODI4MDA1NjU1Cn4jISB0aWQ9ODI3OTEzOTI1CgpPayBkYW5uIG1hY2ggd2lyIGVpbiBQYXJsYW1lbnQgYXVmIHdvIFNwaWVsZXIgU2VoZXIgdW5kIE1BaHMgZHJpbm5lIHNpdHplbgp1bmQgdWViZXIgd2ljaHRpZ2UgU2FjaGVuIGRpc2t1dGllcmVuLgoKVGVycm9yaXN0IHdlaXNzIG5pY2h0IG9iIGVyICppcm9uaWUgb24qIG9kZXIgZXJuc3Qgb24qIGFubWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoUmFmZmksIDI4LiBNYXIgMTk5NiwgMTY6NTg6MTYpOgp+IyEgcm49VGVycm9yaXN0IHJ0PTgyODAyODUxNAp+IyEgdGlkPTgyNzkxMzkyNQpVaWkgZGFzIGlzdCBuZSBndXRlIGlkZWUgaWNoIHd1ZXJkZSB2b3JzY2hsYWdlbiwgZGFzcwoKMS8zIGRlciBBYmdlb3JkbmV0ZW4gdm9uIGRlbiBNYWdpZXJuIGdld2FlaGx0IHdpcmQsCjEvMyBkZXIgQWJnZW9yZG5ldGVuIHZvbiBkZW4gU2VoZXJuLAp1bmQKMS8zIGRlciBBYmdlb3JkbmV0ZW4gdm9uIGRlbiBTcGllbGVybi4KCkRhcyB3YWVyZSBEZW1va3JhdGllIQoKR3J1c3MKSC4KKElyZ2VuZHdpZSBrb21tdCBlcyBtaXIgc28gdm9yIGFscyB3ZW5uIGljaCBkaWUgSWRlZSBzY2hvbiBrZW5uZW4gd3VlcmRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChUZXJyb3Jpc3QsIDI4LiBNYXIgMTk5NiwgMTc6MDc6MDYpOgp+IyEgcm49UmFmZmkgcnQ9ODI4MDI4Njk2Cn4jISB0aWQ9ODI3OTEzOTI1CgpPayBoaWVybWl0IG1hY2hlIGljaCBkZW4gVm9yc2NobGFnIGVpbiBQYXJsYW1lbnQgd28gYWxsZXMgdG90Z2VyZWR0IHdpcmQuCk1pdCB3YWhsZW4gYWxsZXIgNCBNb25hdGUgb2RlciB3YXMgd2Vpc3MgaWNoLgpVbmQgamV0enQgaW50ZXJlc3NpZXJ0IG1pY2ggd2FzIG1pdCBtZWluZSBWb3JzY2hsYWcgcGFzc2llcnQuIFVuZCBvYiBzaWNoCkhhdGUgZGFubiBpbW1lcm5vY2ggZXJsYXViZW4ga2FubiBzZWluZSBNYXVsIGF1Znp1bWFjaGVuCgpUZXJyb3Jpc3Qgd2lyZCBsYW5nc2FtIHNhdWVyIHVuZCBtZWludCBhbGxlcyBuaWNodCBuaWNodCBlcm5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChBc21vZGlzLCAyOC4gTWFyIDE5OTYsIDE5OjM2OjA1KToKfiMhIHJuPVRlcnJvcmlzdCBydD04Mjc5OTU0NDQKfiMhIHRpZD04Mjc5MTM5MjUKRGllIFphdWJlcmVyZ2lsZGUgaXN0IHp3YXIgZGllIHZpZWxzZWl0aWdzdGUsIGFiZXIgc2ljaGVyIG5pY2h0IGRpZQpzdGFlcmtzdGUhISBEdSBoYXN0IGphIGdhciBrZWluZSBBaG51bmcsIFRlcnJvcmlzdC4KTWV0emVsbiBrYW5uIG1hbiBkYW1pdCBqZWRlbmZhbGxzIG5pY2h0IG9yZGVudGxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyIC0gRWluZSBCaWxhbnogKFNjaHJ1bXBmaSwgMjkuIE1hciAxOTk2LCAwMjo0MjozNSk6Cn4jISBybj1IYXRlIHJ0PTgyODAxNjUyNAp+IyEgdGlkPTgyNzkxMzkyNQpXaWVzbyBTY2hhZmUgaW4gZGVyIEhlcmRlPyBJY2gga2FubiBtaWNoIG5pY2h0IGJla2xhZ2VuLCBkYXNzIGRpZQpTcGllbGVySW5uZW4Kc2ljaCBuaWNodCBhbiBkZXIgR2VzdGFsdHVuZyBkZXMgTXVkcyBiZXRlaWxpZ2VuLiBFcyBrb21tZW4gZG9jaCBkYXVlcm5kClZvcnNjaGxhZWdlLiBLbGFyLCBoaWVyIGdpYnRzIHZpZWwgR2VtZWNrZXIgYWJlciBoaWVyIGdpYnRzIGF1Y2ggZWluaWdlCmtvbnN0cnVrdGl2ZSBLcml0aWsuIFdhcyB2ZXJsYW5nc3QgRHU/IEVzIHdpcmQgamEgc293aWVzbyBuaWNodCBhdWYgZGllClNwaWVsZXJJbm5lbiBnZWhvZXJ0d2VubiBzaWUgbWFsIFZvcnNjaGxhZWdlIG1hY2hlbi4gSWNoIHZlcndlaXNlIGRhIG51ciBhdWYKZGllIFp0LURpc2t1c3Npb24gdW5kIGF1ZgpkaWUgU2NyaXB0ZGlza3Vzc2lvbiwgZGEgaGFidCBJaHIgRXVjaCBhdWNoIGVpbmVuIERyZWNrIHVtIGRpZSBNZWludW5nIGRlcgpTcGllbGVySW5uZW4gZ2VzY2hlcnQhIE9kZXI/IERhcyBNaXRzcHJhY2hlcmVjaHQgZmFlbGx0IGhpZXIgbmFlbWxpY2ggc2Nob24Kd2VnLiBFbndlZGVyIGVzIHdpcmQgdmVyd2llc2VuLCBkYXNzIGRhcyBNdWQgZWJlbiBOSUNIVCBkZW1va3JhdGlzY2ggaXN0IG9kZXIKZXMga29tbWVuIHNvIHRvbGxlIFZvcnNjaGxhZWdlIHdpZTogVW50ZXJzY2hyZWliZSBWZXJ0cmFnIHVuZCBEdSBrYW5uCm1pdGdlc3RhbHRlbiEKClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BpZWxlciAtIEVpbmUgQmlsYW56IChUZXJyb3Jpc3QsIDI5LiBNYXIgMTk5NiwgMDk6MzY6MzcpOgp+IyEgcm49QXNtb2RpcyBydD04MjgwMzgxNjUKfiMhIHRpZD04Mjc5MTM5MjUKCkJhdHVlcmxpY2gga2FubnN0IGR1IGRhbWl0IG5pY2h0IG1ldHplbG4gYWJlciBkdSBrYW5uc3QgbWV0emVsZ2lsZGVuCmRhenVicmluZ2VuIGRhcyBzaWUgbmljaHQgenVtIG1ldHplbG4ga29tbWVuLgptZWluZW4gY2hhb3NiYWxsIHouQi4ga2FubiBpY2ggdmVyZ2Vzc2VuIHdlbm4gZWluIHphdWJlcmVyIHNjaGlsZCBtYWNodC4KdW5kIHdhcyBkYXMgbWl0IGRlbSBrZWluZSBhbGtvaG9saXNjaGUgZ2V0cmFlbmtlIHRyaW5rZW4gaXN0LCBiZWkgZGVyIGdpbGRlCmlzdCBqYSBuZSBrbmVpcGUgb2huZSBhbGtvaG9saXNjaGUgZ2V0cmFlbmtlIHVuZCBhdWYgZnJpZWRob2YgdW5kIHVlYmVyYWxsCmdpYnRzIG5pY2h0IGFsa29ob2xpc2NoZXMuCgpUZXJyb3Jpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbGJzdGdlcmVjaHQgdW5kIElnbm9yYW50IChUenVpb3AsIDI5LiBNYXIgMTk5NiwgMTA6MTg6MzUpOgpMaWViZXIgSGFucyBUaGVvZG9yIChkYXMgd2FyIGRvY2ggZGllIEJlZGV1dHVuZyB2b24gSGF0ZSA/KSwKCnNlbGJzdGdlcmVjaHQgdW5kIGlnbm9yYW50IGtsaW5ndCBpbiBtZWluZW4gT2hyZW4gZWluIHdlbmlnIHdpZSBkZWluClNlbGJzdHBvcnRyYWV0LgpBYmVyIHZpZWxsZWljaHQgc2NoYWV0emUgaWNoIGphIGF1Y2ggbWVpbmUgUm9sbGUgYWxzIFNwaWVsZXJpbiBoaWVyIHZvZWxsaWcKZmFsc2NoIGVpbiB1bmQgc29sbHRlIERpY2ggZnVlciBEZWluZW4gRWluc2F0eiB2aWxlIG1laHIgbG9iZW46CgpFbnRzY2h1bGRpZ2UgYWxzbyBiaXR0ZSwgZ3Jvc3NlciBIYW5zIFRoZW9kb3IsIGRhc3MgaWNoIHZlcmdlc3NlbiBoYWJlLCBEaXIKZWluZW4gQmx1bWVuc3RyYXVzcyB6dSBzY2hpY2tlbiwgYWxzIG1pciBuYWNoIDIgSmFocmVuIGF1ZiBlaW5tYWwgbWl0Z2V0ZWlsdAp3dXJkZSwgZGFzcyBpY2ggbWljaCBoaWVyIHVlYmVyaGF1cHQgbmljaHQgYXVza2VubmUuClZlcnplaWggbWlyLCBkYXNzIGljaCBEaXIgbmljaHQganViZWxuZCB6dSBGdWVzc2VuIGdlZmFsbGVuIGJpbiwgYWxzIG1laW5lCkthbXBma3JhZnQgYXVmIGVpbm1hbCBkcmFzdGlzY2ggcmVkdXppZXJ0IHd1cmRlLiBJY2ggaGFiIGphIG51ciBlaW4ga25hcHBlcwpKYWhyIGRhZnVlciB0cmFpbmllcnQuCgpVbmQgLSBsYXN0LCBub3QgbGVhc3QgLSBiaXR0ZSBiaXR0ZSBsb2VzY2hlIG1pY2ggbmljaHQsIHdlaWwgaWMgRGlyIG5vY2gga2VpbgpCaWxkY2hlbiBnZW1hbHQgaGFiZSwgYWJlciBpY2ggaGFiZSBpcmdlbmR3byBtZWluZSBCdW50c3RpZnRlIHZlcmxlZ3QsIGFscyBpY2gKMTIgd2FyLgpXZW5uIER1IGFiZXIgZWluZSBJZGVlIGZ1ZXIgZWluIE1HLVBvc3RlciBicmF1Y2hzdCAtIG1hbGVuIGthbm4gZGFzIGRhbm4gamEKaXJnZW5kZWluIGdlbGFuZ3dlaWx0ZXIgSnVuZ21hZ2llciAtLCB3aXIgd2FlcmUgZGFzIGZvbGdlbmRlIFp1a3VuZnRzemVuYXJpbzoKCkVpbiBtYWdlcmVyIFp3ZXJnIG1pdCBlaW5lbSByaWVzaWdlbiBaeWxpbmRlciAoZGVyIGdyb3NzZSBTaW1zYWxiaW0pLCB1bWdlYmVuCnZvbiAyMCB3ZWlzc2VuIEthbmluY2hlbgpkZXIgaW4gZWluZW0gZHJlY2tpZ2VuIEhpbnRlcmhvZiBNdWVsbHRvbm5lbiBuYWNoIEZvcnNjaGVycHVua3RlbgpkdXJjaHd1ZWhsdC4KUnVuZGhlcnVtIHZpZWxsZWljaHQgZWluIHBhYXIgZ3JpbnNlbmRlIE9ya3MgLi4uLgoKSWNoIGhvZmZlLCBpY2ggaGFiZSBEaXIgZ2Vob2xmZW4gdW5kIG1laW5lIFZlcmZlaGx1bmdlbiB3aWVkZXIgZ3V0IGdlbWFjaHQuCkluIGFsbGVyIGdlYm90ZW5lbiBEZW11dCAuLi4gVHp1aW9wCgpQUy4gKiogSXJvbmllIG9mZiAqKiAoZnVlciBkaWUsIGRpZSdzIHZvcmhlciBuaWNodCBnZW1lcmt0IGhhYmVuKQpQUFMuIEljaCB3ZWlzcywgVHlwb3MgPj0gMgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbGJzdGdlcmVjaHQgdW5kIElnbm9yYW50IChIaWdobGFuZGVyLCAyOS4gTWFyIDE5OTYsIDEwOjU3OjA4KToKfiMhIHJuPVR6dWlvcCBydD04MjgwOTExMTUKfiMhIHRpZD04MjgwOTExMTUKT2huZSBqZXR6dCB6dSBkZW0gUmVzdCBtZWluZSBNZWludW5nIGFienVnZWJlbiAtIGRpZSBJZGVlIGZ1ZXIgZGFzIEJpbGQKZmluZGUgaWNoIGd1dCA6PiAgIEVpbiByaWNodGlnIHNjaG9lbmVyIE1HLUNhcnRvb24uIERlciBtYWdlcmUgWndlcmcKbXVzcyBudXIgbm9jaCB3YXMgaW4gZGVyIEdlZ2VuZCAiRm9yc2NodW5nc3B1bmt0IgptdXJtZWxuIDo+CiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWxic3RnZXJlY2h0IHVuZCBJZ25vcmFudCAoQmFib29uLCAyOS4gTWFyIDE5OTYsIDExOjAxOjEyKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODI4MDkzNDI4Cn4jISB0aWQ9ODI4MDkxMTE1CkRhIGZhZWxsdCBtaXIgZ2FueiBOZWJlbmJlaSBlaW46IFdhcnVtIHNpbmQgWndlcmdlIGVpZ2VudGxpY2ggenVyIFphdWJlcmVyLQpnaWxkZSB6dWdlbGFzc2VuPyBJY2ggd2FyIGltbWVyIGRlciBBbnNpY2h0LCBkaWUgc2luZCBzbyBtYWdpc2NoIHdpZQplaW4gU3R1ZWNrIEJyb3Q/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VsYnN0Z2VyZWNodCB1bmQgSWdub3JhbnQgKEhpZ2hsYW5kZXIsIDI5LiBNYXIgMTk5NiwgMTE6MDQ6MDEpOgp+IyEgcm49QmFib29uIHJ0PTgyODA5MzY3Mgp+IyEgdGlkPTgyODA5MTExNQpVbnRlcnNjaGFldHplIG1pciBkaWUgTWFnaWUgdm9uIEJyb3RlbiBuaWNodC4KV2llIHZpZWxlIEJhZXVtZSBrZW5uc3QgRHUgZGVubiwgYW4gZGVuZW4gQnJvdCB3YWVjaHN0PwpVbmQgZGFzIHNvZ2FyIHp1ZXJzdCBhbHMga2xlYnJpZ2VyIFRlaWdrbHVtcGVuIHVuZCBkYW5uIGF1ZiBlaW5tYWwKYWxzIHdhcm1lciwgYnJhdW5lciwga251c3ByaWdlciBMYWliIT8KSWNoIGZpbmRlIHNvd2FzIGhvY2htYWdpc2NoLgpBbnNvbnN0ZW4gZGFjaHRlIGljaCBhdWNoLCBkYXNzIFp3ZXJnZSBpbiBldHdhIHNvIG1hZ2lzY2ggc2luZCB3aWUgLQpobSwgd2FzIG5laG0gaWNoIG51ciAtIHdpZSAgIGFlaCAtIHdpZSBlaW4gWndlcmcgZWJlbi4KQWxzbyBnYXIgbmljaHQgOj4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWxic3RnZXJlY2h0IHVuZCBJZ25vcmFudCAoTGksIDI5LiBNYXIgMTk5NiwgMTI6NDY6MTQpOgp+IyEgcm49QmFib29uIHJ0PTgyODA5MzY3Mgp+IyEgdGlkPTgyODA5MTExNQpzaW5kIHNpZSBhdWNobSB1bmQgZGFzIG1lcmtlbiBkaWUgaW4gZGVyIEdpbGRlIGF1Y2guIGFiZXIgYXVzc2NobGllc3Nlbj8KTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlbGJzdGdlcmVjaHQgdW5kIElnbm9yYW50IChSYWZmaSwgMjkuIE1hciAxOTk2LCAxNjo1ODoxMik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTgyODA5Mzg0MQp+IyEgdGlkPTgyODA5MTExNQpMaWVic3RlciBUenVpb3AsCgphKSBXZXJkZW4gd2lyIHVucyB6dSBkZW0gVGhlbWEgJ21hZ2VyZXIgWndlcmcgZHVyY2hzdG9lYmVydCBNdWVsbHRvbm5lbgogICBuYWNoIEZQJyB3b2hsIG5vY2htYWwgaW4gZGVyIEFyZW5hIHdpZWRlcnNlaGVuLgpiKSBIYXRlIGlzdCB2aWVsZWljaHQgbmljaHQgdW5iZWRpbmd0IGRlaW4gTGllYmxpbmdzYW1naWVyLCBhYmVyIGdhbnogc28KICAgZWluIGhpcm5sb3NlciBOYWJlbGJldHJhY2h0ZXIsIHdpZSBEdSBpaG4gaGluc3RlbGxzdCBpc3QgZXIgYXVjaCBuaWNodC4KYykgU2NocnVtcGZpIGxpZWd0IGdhbmljaHQgc28gZmFsc2NoIChkZW5rZSBpY2gpLgoKR3J1c3MKSC4KKEluIGRlbSBzaWNoZXJlbiBXaXNzZW4gd2llZGVybWFsIGVpbmVuIHNpbm5sb3NlbiBBcnRpa2VsIGVyemV1Z3QgenUgaGFiZW4uKQooQWNoIGphLCBCYWJvb24gaWNoIGJpbiBkZXIgTWVpbnVuZyBkYXMgZWluIHN0dWVjayBCcm90IGViZW4gc2Nob24gbmUgZ2FuemUKTWVuZ2UgTWFnaWUgZW50aGFlbHQuIERhaGVyIGlzdCBkZXIgVmVyZ2xlaWNoIG1pdCBlaW5lbSBad2VyZyB1bmFuZ2VicmFjaHQgLQpHcnVzcyBSYWZmaSwgZGVyIG1pdCBJTlQgMSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNlbGJzdGdlcmVjaHQgdW5kIElnbm9yYW50IChUenVpb3AsIDI5LiBNYXIgMTk5NiwgMTc6MTE6NDgpOgp+IyEgcm49UmFmZmkgcnQ9ODI4MTE1MDkyCn4jISB0aWQ9ODI4MDkxMTE1CkxpZWJzdGVzIFJhZmZpIDopKQoxLiBBcmVuYSA/IFdhbGRsYWV1ZmVyIGdlZ2VuIEthcmF0ZW1laXN0ZXJpbiA/PyBLb21tIG1hbCBydW50ZXIgdm9uIGRlaW5lcgpXb2xrZSAhCjIuIFN0ZWxsZSBpY2ggSGF0ZSBuaWNodCBhbHMgJ2hpcm5sb3NlbiBOYWJlbGJldHJhY2h0ZXInIGhpbi4KICAgU2VpbmUgQXJ0LCBhdWYgS3JpdGlrIHp1IHJlYWdpZXJlbiwgaGF0IG1pY2ggYWxsZXJkaW5ncyB1eiBtZWluZW0gbmljaHQKZ2FueiB0b2Rlcm5zdCBnZW1laW50ZW4gQXJ0aWtlbCB2ZXJhbmxhc3N0LiBMaWVzIG1hbCBkYXMgUFMuLCBkYXMgd2FyIHUuYS4KZnVlciBEaWNoLgozLiBTY2hydW1wZmkgaGF0IHNpY2hlciByZWNodC4KNC4gLi4uIGFjaCB3YXMsIGlzdCBqYSBzb3dpZXNvIHZlcnNjaHdlbmRldC4KClRzY2h1ZXNzIC4uLiBUenVpb3AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYSBmbGllZ3QgbWlyIGRvY2ggZGFzIEJsZWNoIHdlZy4gKEhhcmRpbCwgMjkuIE1hciAxOTk2LCAxODoyODoxNSk6Cn4jISBybj1PZXR0aSBydD04MjgwMjA4NzEKfiMhIHRpZD04MjgwMjA4NzEKCk51ciB1bSBPZXR0aSBlaW5lbiBHZWZhbGxlbiB6dSB0dW46CgpBbGxlIFdvbHBpZWhhc3NlciBzdGlua2VuIHVuZCBzaW5kIGhhZXNzbGljaCEKCjotKQoKRGVyIEV4LU9iZXJrbGVpbmdhZXJ0bmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGtyaWVnIG5lIEtyaXNlPyAoQ2F0d2VhemxlLCAyOS4gTWFyIDE5OTYsIDIxOjA2OjI3KToKIEhpIEZvbGtzIQpJcmdlbmRqZW1hbmQgc2FndGUsIHdpciB3YWVyZW4gd2llZGVyIGJlaSBkZXIgU3BpZWxlci9NYWdpZXItS2xvcHBlcmVpLgpOYSBmZWluLCBmYW5nZW4gd2lyIG1hbCBhbiA6KQoKV2llIHNpbmQgd2lyIGRyYXVmIGdla29tbWVuPyBBY2hqYSwgU3BpZWxlciB0dW4gdmllbCB6dSB3ZW5pZyBmdWVyCklociBNdWQsIGRhcyBpc3QgZWluZSBGcmVjaGhlaXQuIEFjaCBuZWluLCBoYWx0LCBlaWdlbnRsaWNoIGR1ZXJmZW4KU3BpZWxlciBqYSBnYXIgbmljaHRzIG1hY2hlbiwgd2VubiBzaWUgd2FzIGFlbmRlcm4gd29sbGVuLCBzb2xsdGVuCnNpZSBnZWZhZWxsaWdzdCBNYWdpZXIgd2VyZGVuLgoKVGF0c2FjaGUgaXN0LCBlaW4gTVVEIGZ1bmt0aW9uaWVydCBnZW5hdXNvd2VuaWcgb2huZSBTcGllbGVyLCB3aWUKb2huZSBNYWdpZXIuIFVuZCBhbSBhbGxlcndlbmlnZXN0ZW4gZnVuenQgZXMgb2huZSBhdXNyZWljaGVuZGUKS29udGFrZSB6d2lzY2hlbiBiZWlkZW4gR3J1cHBlbiwgdW5kLCBqYSwgZGFzIHdpY2h0aWdlc3RlIGRhYmVpCnNpbmQgQW5yZWd1bmdlbiB1bmQgS3JpdGlrZW4uCgpPa29rLCBtYW5jaGUgU3BpZWxlciB3aXNzZW5zIGVpbmZhY2ggbmljaHQgYmVzc2VyIGFscyBudXIgKG9kZXIKdWViZXJ3aWVnZW5kKSB6dSBtZWNrZXJuLiBVbmQgbWFuY2hlIE1hZ2llciBzaW5kIHNjaGxpY2h0IHp1IGZhdWwKb2RlciB6dSBhcnJvZ2FudCwgdW0gU3BpZWxlcnZvcnNjaGxhZWdlbiBuYWNoenVrb21tZW4uIFVuIG51PwoKVGF0c2FjaGUgaXN0LCBkYXMgZXMgZWJlbiBudXIgX21hbmNoZV8gc2luZC4gTmljaHQgQUxMRSBTcGllbGVyCm1vdHplbiB1bmQgdmVyaGFsdGVuIHNpY2ggbmVnYXRpdiB1bmQgbmljaHQgQUxMRSBNYWdpZXIgaW50ZXJlc3NpZXJlbgpzaWNoIG5pY2h0IGZ1ZXIgU3BpZWxlcnZvcnNjaGxhZWdlIHVuZCBzaW5kIGlnbm9yYW50LgpUYXRzYWNoZSBpc3QsIGRhcyBlaW5lIE1FTkdFIGd1dGVyIFZvcnNjaGxhZWdlIHZvbiBkZXIgU3BpZWxlcnNlaXRlCmtvbW1lbi4KVGFzYWNoZSBpc3QsIGRhcyBlaW5lIE1FTkdFIGRlciBTcGllbGVydm9yc2NobGFlZ2UgZWluZ2ViYXV0IHdlcmRlbiwKamUgbmFjaCBBdWZ3YW5kIHNvZm9ydCBvZGVyIGVpbiB3ZW5pZyBzcGFldGVyLiBJbnNiZXNvbmRlcmUgaGFsdGUKaWNoIGVzIGZ1ZXIgd2ljaHRpZywgenUgZXJ3YWVobmVuLCBkYXMgSkVERVIgdmVybnVlbmZ0aWcgdm9yZ2V0cmFnZW5lClZvcnNjaGxhZyAod2FzIEhhc3MtTWVja2VyLVRpcmFkZW4gYXVzc2NobGllc3N0KSB6dW1pbmRlc3QgdWViZXJsZWd0CnVuZCBiZXNwcm9jaGVuIHdpcmQuCgpXYXMgaWNoIGVyc3QgbmV1bGljaCBlaW5lbSBTcGllbGVyIGJlaWdlYnJhY2h0IGhhYmUsIHdhciwgZGFzCm1hbiBoYWx0IG5pY2h0IGF1ZiBqZWRlbiBWb3JzY2hsYWcgYW50d29ydGVuIGthbm4sIHNlaSBlcywKd2VpbCBlciBrb256ZXB0aW9uZWxsIGVyc3QgbWFsIGdlbmF1ZXIgZHVyY2hkYWNodCB3ZXJkZW4gbXVzcywKc2VpIGVzLCB3ZWlsIGVyIGluIGVpbmVyIEZ1ZWxsZSB2b24gYWVobmxpY2hlbiBBcnRpa2VsbiB1bnRlcmdlaHQuCkRhcyBzaWVodCBvZnQgc28gYXVzLCBhbHMgd3VlcmRlbiB3aXIgdW5zIG5pY2h0IGZ1ZXIgU3BpZWxlcnZvcnNjaGxhZWdlCmludGVyZXNzaWVyZW4sIGFiZXIgYWxsZSB3ZXJkZW4genVtaW5kZXN0IG1hbCBkdXJjaGRhY2h0LCB2aWVsZQphbGxlcmRpbmdzIG5pY2h0IG9lZmZlbnRsaWNoLCBzb25kZXJuIGltIE11ZW5zdGVyYW5lciBGaWx6IG9kZXIKc29uc3R3by4gQWxzbyBuaWNodCBnbGVpY2ggd2VpbmVuLCB3ZW5uIGlociBrZWluZSBBbnR3b3J0IGJla29tbXQuCld1ZXJkZW4gc2ljaCBtYW5jaGUgU3BpZWxlciB6dXJ1ZWNraGFsdGVuIG1pdCBJaHJlciB1bmFuZ2VicmFjaHRlbgpNYWdpZXJrcml0aWssIHd1ZXJkZSBlcyBkZW0gU3BpZWxlci1NYWdpZXItS2xpbWEgZGV1dGxpY2ggYmVzc2VyCmdlaGVuLgoKRGllc2VzICdzY2hsZWNodGUnIEtsaW1hLCBkYXMgc2ljaCByZWdlbG1hZXNzaWcgYXVmIGRpZSAnT2VmZmVudGxpY2hrZWl0JwpuaWVkZXJzY2hsYWVndCB3aXJkIGZhc3QgaW1tZXIgZHVyY2ggaXJnZW5kd2VsY2hlIHBlcnNvZW5saWNoZW4KUXVlcmVsZW4gdmVyc2NobGVjaHRlcnQuIEd1dCwgSGF0ZSBoYXQgZGEgZ2xlaWNoIG1hbCBuZW4gUnVuZHVtc2NobGFnCmdlZ2VuIGFsbGUgU3BpZWxlciBnZWhhbHRlbiwgYWJlciwgbWFsIGVocmxpY2gsIEVpbiBrbGVpbiB3ZW5pZwpQcm92b2thdGlvbiBpc3QgZG9jaCB3YXMgZmVpbmVzLCBvZGVyPwoKVW5kIHNvZm9ydCB3aXJkIHp1cnVlY2tnZWZldWVydCwgamVkZXIgZGVyIEhhdGUgbmljaHQgYmVzb25kZXJzIGF1cy0Kc3RlaGVuIGthbm4sIGJhbGxlcnQgYXVzIGFsbGVuIFJvaHJlbiB1bmQgZXMga29tbWVuIEFydGlrZWwgaGVyYXVzLAp3aWUgZGVyIHZvbiBUenVpb3AuCkphYWEsIFR6dWlvcCwgZGVpbmVuIEFydGlrZWwgaGFiIGljaCBtaXIgcmF1c2dlZ3Vja3QuIERlciB3YXIgV0VJVCB1bnRlcgpkZXIgR3VlcnRlbGxpbmllLiBOaWNodHMgKGF1c3NlciBkZW0gQmlsZHByb2JsZW1jaGVuKSB2b24gZGVtIHdhcyBpbgpEZWluZW0gQXJ0aWtlbCBzdGVodCBpc3QgZHVyY2ggSGF0ZSB2ZXJzY2h1bGRldCwgYWJlciBkdSBoYXN0IGlobgpvcmRlbnRsaWNoIHJ1bnRlcmdlcHV0enQgdW5kIHp3YXIgcmljaHRpZyBnZWtvbm50LiBVbmQgZGVpbiBrbGVpbmVzCidPaCwgZGFzIHdhciBqZXR6dCBhYmVyIGlyb25pc2NoIGdlbWVpbnQnIGFtIEVuZGUga2FubiBkYXMgYmVpIHdlaXRlbQpuaWNodCBtZWhyIGd1dG1hY2hlbi4KSWNoIGhhYiBuaWNodHMgZ2VnZW4gZWluIGJpc3NjaGVuIFNhcmthc211cywgYWJlciBEZWluIEFydGlrZWwgd2FyCnNjaGxpY2h0d2VnIGVpbmUgRnJlY2hoZWl0LgoKQWxzbywgd2FzIGhhYmVuIHdpciBnZWxlcm50PwpOdXIgd2VpbCBkYXMgTUcgbmljaHQgZGVtb2tyYXRpc2NoIGlzdCwgaGVpc3N0IGRhcyBub2NoIGxhbmdlIG5pY2h0LApkYXMgSWhyIGtlaW5lIFZvcnNjaGxhZWdlIG1hY2hlbiBkdWVyZnQuClNwaWVsZXJhbnJlZ3VuZ2VuIHdlcmRlbiBuaWNodCBpZ25vcmllcnQsIHNvbmRlcm4sIHUuVS4gbmFjaCBlaW4gd2VuaWcKQmVkZW5remVpdCwgZWluZ2ViYXV0LCBvZGVyIGF1Y2ggbmljaHQuIFdlciBiZWhhdXB0ZXQsIGRhcyBWb3JzY2hsYWVnZQp2b24gU3BpZWxlcm4gc293aWVzbyBpZ25vcmllcnQgd2VyZGVuLCBkZXIgZ2VodCBzY2hsaWNodHdlZyBtaXQgendlaQpmZXN0IHp1Z2VrbmlmZmVuZW4gQXVnZW4gZHVyY2ggZGFzIE1vcmdlbkdyYXVlbi4KCllvdXJzIHRydWx5LAogICAgICAgIENhdHdlYXpsZQoKUFM6IEhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoLiBVbmQgd2llZGVyIGVpbm1hbCBzaW5kIHNpZSB6dW0gRW5kZQogICAgZWluZXMgQ2F0d2Vhemxlc2NoZW4gQXJ0aWtlbHMgZHVyY2hnZXNjcm9sbHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2gga3JpZWcgbmUgS3Jpc2U/IChUZXJyb3Jpc3QsIDI5LiBNYXIgMTk5NiwgMjE6MDk6NTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyODEyOTk4Nwp+IyEgdGlkPTgyODEyOTk4NwoKU2Nob2VuZXIgQXJ0aWtlbCwgYWJlciBkYSBtdXNzIGljaCBub2NoIHNjaG5lbGwgU2VuZmVuLgpTYWd0IGRvY2ggYmVzY2hlaWQgd2VubiBpaHIgdWViZXIgVm9yc2NobGFlZ2UgbmFjaGRlbmt0LCBzb25zdCBzaWVodCBkYXMgZWNodApzbyBhdXMgYWxzIG9iIGVzIG1hZ3MgbmljaHQgaW50ZXJlc3NpZXJ0IHdhcyBTcGllbGVyIHZvcnNjaGxhZ2VuLgpBbnNvbnN0ZW4gZ2FueiBkZWluZXIgTWVpbnVuZy4KClRlcnJvcmlzdCBmaW5kZXQgZWluIFBhcmxhbWVudCB0cm90emRlbSBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGtyaWVnIG5lIEtyaXNlPyAoR3V5YnJ1c2gsIDI5LiBNYXIgMTk5NiwgMjE6MTA6NDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyODEyOTk4Nwp+IyEgdGlkPTgyODEyOTk4NwpIbS4udWNoIG5vY2ggZWluIFNhdHo6Ck1hZyBqYSBzZWluIGRhcyBIYXRlIHNhdWVyIHdhcjogQWJlciwgZGllIFNwaWVsZXIgYWxzIGFycm9nYW50IHVuZCB3YXMgd2FyCmRhcyBub2NoPyB6dSBiZXplaWNobmVuLCBpc3Qgd29obCBhdWNoIG5pY2h0IGRpZSBmZWluZSBBcnQuIFVuZCB3ZXIgaGFydAphdXN0ZWlsdCwgc29sbHRlIGF1Y2ggaGFydCBlaW5zdGVja2VuIGtvZW5uZW4uIEFuc29uc3RlbiBzb2xsdGUgbWFuIHNpY2gKdWViZXJsZWdlbiB3YXMgbWFuIHNhZ3QsIHZvciBhbGxlbSBiZWkgZGVyIFdvcnR3YWhsLgoKR3V5YnJ1c2ggaGF0J3MgbnVyIGd1dCwgd2VpbCBlciBoaWVyIGVoIG5peCBlcm5zdCBuaW1tdC4KCk11ZXNzdCBpY2ggbWljaCBzb25zdCBzZWxic3Rsb2VzY2hlbj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRlbW9rcmF0aWUgaW0gbW9yZ2VuZ3JhdWVuIChXdXJ6ZWwsIDI5LiBNYXIgMTk5NiwgMjE6NDI6MDIpOgpoYWxsbywKCnVlYmVyIGRpZSBhcnRpa2VsLCBkaWUgc2ljaCBtaXQgZGVyIG5pY2h0IHZvcmhhbmRlbmVuIGRlbW9rcmF0aWUgaW0gbXVkCmJlc2NoYWVmdGlnZW4sIGhhYmUgaWNoIG1pY2ggZG9jaCBlaW4gd2VuaWcgZ2V3dW5kZXJ0LiBudXIgc292aWVsCmRhenU6CgoxLiBkaWUgb2Z0IGdlbWFjaHRlIGJlbWVya3VuZywgd2VyIG1pdGJlc3RpbW1lbiB3aWxsLCBtdXNzIG1hZ2llcmluIHdlcmRlbiwKICAgaXN0IHF1YXRzY2guIHJpY2h0aWcgaXN0OiB3ZXIgbWl0YmVzdGltbWVuIHdpbGwsIG11c3MgaW4gbXVlbnN0ZXIgc2Vpbi4KICAgbWFnaWVyIGtvZW5uZW4gbWl0Z2VzdGFsdGVuLCBhYmVyIG5pY2h0IG1pdGJlc3RpbW1lbi4KMi4gd2FydW0gZWlnZW50bGljaCBtaXRiZXN0aW1tdW5nPyBtZyBzcGllZ2VsdCBlaW5lIG1pdHRlbGFsdGVybGljaGUgd2VsdCwKICAgdW5kIHdvIGdhYiBlcyBkZW5uIGltIG1pdHRlbGFsdGVyIGRlbW9rcmF0aWU/IChvaywgaW0gYWx0ZXJ0dW0gZ2FiIGVzCiAgIGFuc2FldHplLCBhYmVyIGRpZSBoYWJlbiBzaWNoIGF1Y2ggYXVmIHdlbmlnZSwgbmFlbWxpY2ggZGllIGJlc2l0emVuZGVuLAogICBiZXNjaHJhZW5rdC4pCjMuIHdlbSBlcyBpbiBtZyBuaWNodCBnZWZhZWxsdCwgc29sbHRlIHNpY2ggYXVjaCBtYWwgaW4gYW5kZXJlbiBtdWRzCiAgIHVtc2VoZW4uIGRvcnQgaXN0IGVzIHp3YXIgYXVjaCBuaWNodCBhbmRlcnMsIGRpZSBsZXR6dGUgZW50c2NoZWlkdW5nIGhhdAogICBpbW1lciBkZXIgYmV0cmVpYmVyLCBhYmVyIHdlbm4gaWNoIHVuYmVkaW5ndCBzZWxic3QgZW50c2NoZWlkZW4gd2lsbCwKICAga2FubiBpY2ggamEgd29obCBlaW4gZWlnZW5lcyBtdWQgYXVmbWFjaGVuLi4uCgp3dXJ6ZWwKCnAucy4gd2VyIGFuZGVyZXIgbWVpbnVuZyBpc3Q6IGhlcnpsaWNoZW4gZ2x1ZWh3ZWluIQpwLnAucy4gZnVlciBkaWUgZHVtcGZiYWNrZW4gdW50ZXIgdW5zOiBzZWxiZXIgZGVua2VuIG1hY2h0IHNjaGxhdSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2gga3JpZWcgbmUgS3Jpc2U/IChSYWZmaSwgMjkuIE1hciAxOTk2LCAyMTo0ODozNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI4MTI5OTg3Cn4jISB0aWQ9ODI4MTI5OTg3CkhtbW0sIFNjaG9lbiBnZXNhZ3QgQ2F0KiBzbyByaWNodGlnIFN0YWF0c3RyYWdlbmQsIHdpZSBlcyBzaWNoCmZ1ZXIgZWluZW4gU2hlcmlmIGdlaG9lcnQgKGFlaCBobW0gb2ssIGRhcyBpc3QgdW52ZXJkaWVudGUgSXJvbmllLAphYmVyIGljaCBrYW5uIG5pY2h0IGFuZGVycyAtIEF1c3NlcmRlbSBoYWIgaWNoIGphIHp1Z2VzYWd0LCBkYXMKaWNoIERpY2ggcnVudGVycHV0emUpLgoKRWlnZW50bGljaCBoYXN0IER1IHJlY2h0LCBtaSBkZW0gd2FzIGR1IHNhZ3N0LCB2b24gZGVuIGFyYmVpdHMtCndpbGxpZ2VuIE1hZ2llcm4gYmlzIHp1IGRlbiBWb3JzY2hsYWdzd3VldGlnZW4gU3BpZWxlcm4gKEtlaW5lCklyb25pZSEpLiBXaWUgZHUgcmljaHRpZyBiZW1lcmt0ZXN0IGlzdCBlaW5lcyBkZXIgS29vbW11bmlrYXRpb25zLQpwcm9ibGVtZSwgZGFzcyBkaWUgTWFnaWVyIG51ciBzZWx0ZW4gZWluZSBkaXJla3RlIFJlYWt0aW9uIGF1ZgpWb3JzY2hsYWVnZSBlcmtlbm5lbiBsYXNzZW4uIEVzIGlzdCBleHRyZW0gZnJ1c3RyaWVyZW5kLCB3ZW5uCm1hbiBzaWNoICBtdWVoZSBnaWJ0LCB1bmQgZGFubiBrb21tdCBOSUNIVFMgenVydWVjay4gSWNoIHNhZyBqYQpuaWNodCwgZGFzIG5peCBnZW1hY2h0IHdpcmQsIGVzIGlzdCBudXIgbmljaHQgZnVlciBkZW4gU3BpZWxlcgplcmtlbm5iYXIgZGFzIGRhcyBUaGVtYSBiZWFyYmVpdGV0IHdpcmQuIEltIGdlZ2VudGVpbCwgb2Z0IHdpcmQKamEgc29nYXIgR0xFSUNIIHdhcyBkYWdlZ2VuIHVudGVybm9tbWVuLCBudXIgaXN0IGVzIGViZW5mYWxscwplbnRtdXRpZ2VuZCwgd2VubiBtYW4gZXJzdCBuYWNoIDQgd29jaGVuIHZvbiBpcmdlbmRqZW1hbmQgZXItCnphZWhsdCBiZWtvbW10LCBkYXMgc2VsYmlnZXIgUHVua3QgamEgc2Nob24gbGFuZ2UgZGEgaXN0IC0gYW0KQmVzdGVuIHZvbiBlaW5lbiBOZXdiaWUgZGVyIGVzIGdhcm5pY2h0IGFuZGVycyBrZW5udCA6KAoKU28sIGpldHp0IG1laW5lIFViZXJsZWd1bmcgZGF6dToKRGFzIE1HIGlzdCBkb2NoIGVoZXIgc293YXMgd2llIGVpbmUgemVudHJhbGUgRFYtQW53ZW5kdW5nIGVpbmVzCmdyb2Vzc2VyZW4gdW50ZXJuZWhtZW5zLCBtaXQgT3JnLUFidGVpbHVuZywgRW50d2lja2x1bmcsIGV0Yy4KdW5kIGFybWVuIGtsZWluZW4gQW53ZW5kZXJuLiBXYXJ1bSBvcmdhbmlzaWVyZW4gd2lyIGRpZSBCZWFyYmVpLQp0dW5nIGRlciBTcGllbGVydm9yc2NobGFnZSBkYW5uIG5pY2h0IHdpZSBkYXMgVmVyYmVzc2VydW5nc3Zvci0Kc2NobGFnc3dlc2VuIGluIGVpbmVyIGVudHNwcmVjaGVuZGVuIEZpcm1hPwoKRGFydXMgZXJnaWJ0IHNpY2ggZGVyIFZvcnNjaGxhZyBkYXMKYSkgZWluIE1hZ2llciBlaW5lbiBlaW5nZWhlbmRlbiBIaW53ZWlzIGluIEZvcm0gZWluZXMgUmU6IGFscwogICBlbnRnZWdlbmdlbm9tbWVuIHF1aXR0aWVydCwgd2VubiBlciBpaG4gbGllc3QsIHVuZCBnZ2YuIGVpbmUKICAgZXJzdGUgU3RlbGx1bmdzbmFobWUgYWJnaWJ0LiBEYXMgSG9lcnQgc2ljaCBzY2hsaW1tZXIgYW4gYWxzCiAgIGVzIGlzdCwgZGEgZGllc2VyIGFibGF1ZiBkdXJjaCBkZW4gbWFpbGVkaXRvciBiZXJlaXRzIGF1dG8tCiAgIG1hdGlzaWVydCB3ZXJkZW4ga2Fubiwgc28gZGFzIGVpbmUgTWFpbCBhbGEKCiAgIERlaW4gVm9yc2NobGFnIHp1bSBUaGVtYSA8cmFiYXJiZXJibGFzdWVsej4KICAgPiA8ZWluX3dpcmtsb2NoX2ludGVyZXNzYW50ZXJfdm9yc2NobGFnPgogICA+IDxzb2dhcl9taXRfbWVocmVyZW5femVpbGVuX2xpZWJlcl9tb3Jnb3RoPgogICB3dXJkZSB2b20genVzdGFlbmRpZ2VuIE1hZ2llciA8bmFtZT4genVyIEJlYXJiZWl0dW5nCiAgIGVudGdlZ2VuZ2Vub21tZW4uCgogICA8aGllcl9nZ2Zfdm9uX2hhbmRfZWluZV9lcnN0ZV9zdGVsbHVuZ3NuYWhtZV9laW5mdWVnZW4+CiAgIDxvZGVyX2FiZXJfYXVjaF9zdGFuZGFyZF90ZXh0ZV9kYW1pdF9kZXJfYXJiZWl0c3d1ZXRpZ2UKICAgIG1hZ2llcl9udXJub2NoX2F1c19laW5lbV9tZW51ZV9hdXN3YWVobGVuX211c3Nfd2llX2VyCiAgICBkZW5fdm9yc2NobGFnX2FibGVobnQ+CgpiKSBXZW5uIGRlciBNYWdpZXIgZGVuIFZvcnNjaGxhZyB6dXIgQmVhcmJlaXR1bmcgYW5uaW1tdCwgb2RlcgogICBlbmRndWVsdGlnIGFibGVobnQgZWluZSBOYWNocmljaHQgKHNvIGRhcyBuaWNodCBzY2hvbiBpbiBkZXIKICAgZXJzdGVuIGdlc2NoZWhlbiBpc3QpLgpjKSBTb3dpZSBlaW5lIE5hY2hyaWNodCB3ZW5uIGRhcyBnYW56ZSBlaW5nZWJhdXQgaXN0LgpkKSBXZW5uIGVzIGVpbmUgU2FjaGUgdm9uIGFsbGdlbWVpbmVyIEJlZGV1dHVuZyBpc3QsIGRhbm4gbWl0CiAgIFZlcm9lZmZlbnRsaWNodW5nIGluIGRlciBNUEEgKGthbm4gYykgZXJzZXR6ZW4pLCB3b2JlaSBkaWUKICAgTmFtZW4gZGVyIFZlcnVyc2FjaGVyIChzb3dlaXQgbW9lZ2xpY2gpIHp1IGVyd2FlaG5lbiBzaW5kLgogICBTb3p1c2FnZW4gYWxzIEJlbG9obnVuZyBmdWVyIGRlbiBWb3JzY2hsYWcuCgpjKSB1bmQgZCkgbXVlc3NlbiBuYXR1ZXJsaWNoIGVudGZhbGxlbiB3ZW5uIGVzIHVtIHNvd2FzIHdpZQpaVC1MYWdlcm9ydGUgZ2VodCBvLmFlLiAtIGFiZXIgc2VsYnN0IGRhIGthbm4gbWFuIGphIG5vY2gKdmVyc3VjaGVuIGVpbmUgYWxsZ2VtZWluZSBBbnR3b3J0IHp1IGdlYmVuLiBiKSB1bmQgYykga29lbm5lbgpuYXR1ZXJsaWNoIHp1c2FtbWVuZ2VmYXNzdCB3ZXJkZW4uCgpJbnNiZXNvbmRlcmUgZGllIFB1bmt0ZSBhKSwgYikgdW5kIGMpIGJlc2VpdGlnZW4sIG9kZXIgdmVyLQpyaW5nZXJuIGRlbiBGcnVzdCBhdWYgU3BpZWxlcnNlaXRlIGV4dHJlbS4KCkFjaHR1bmc6CkRhcyBoYXQgbml4IG1pdCBEZW1va3JhdGllLCBvZGVyIGFuZGVyZW4gbmV1bW9kaXNjaGVuIEVyZmluZHVuZ2VuCihKdWh1IFd1cnplbCA6KSB6dSB0dW4gLSBlcyBnZWh0IGVpbnppZyB1bmQgYWxsZWluZSBkYXJ1bSBkZW0KVm9yc2NobGFnc3dlc2VuIGVpbmUgendlY2tkaWVubGljaGUgRm9ybSB6dSBnZWJlbi4KCkdydXNzCkguClAuUy46IEljaCB3ZXJkZSBqZXR6dCB3ZWRlciBtaXQgSVNPIDkwMDAgYW5mYW5nZW4sIG5vY2ggd2FzIHZvbgogICAgICBFbnR3aWNrbHVuZ3Ntb2RlbGxlbiBlcnphZWhsZW4gKmdhbnpfYnJlaXRlc19ncmluc2VuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFsIGVpbmUgRnJhZ2UgKFZhbGFyaWFuLCAzMC4gTWFyIDE5OTYsIDAyOjAyOjU2KToKSG1tLCBpY2ggaGFldHRlIG1hbCBlaW5lIEZyYWdlOiBEYSBpY2ggZ2VybmUgU3BpZWxlciBiaW4sIGFiZXIgYXVjaCBnZXJuZSBlaW4KYmlzc2NoZW4gd2FzIGdlc3RhbHRlbiB3ZXJkZSwgdHVlIGljaCBkYXMsIHdvIGljaCBlcyBkYXJmOiBJbiBtZWluZW0gSGF1cy4KQWJlciB3ZXIgZGFzIHNjaG9uIGVpbm1hbCBnZW1hY2h0IGhhdCwgZGVyIHdpcmQgbWVya2VuLCBkYXNzIG1hbiBzb3ZpZWxlIGlkZWVuCm5pY2h0IHZlcndpcmtsaWNoZW4ga2Fubiwgd2VpbCBtYW4gamEgInZpdHJ1ZWxsIiBwcm9nZ2VuIGRhcmYuIERhcyBpc3Qgb2ssCmFiZXIgbnVuIHdvbGx0ZSBpY2ggZWlubWFsIGZ1ZXIgbWVpbmUgRHJhY2hlbmxpYmVsbGVuZmFybSBlaW4gcGFhcgpEcmFjaGVubGliZWxsZW4gaGFiZW4sIGRpZSBudXIgcnVtc2Nod2lycmVuIHVuZCBhbHMgdGV4dCBkZW0gYmVzdWNoZXIgZWluIHBhYXIKSGFhcmUgdmVyc2VuZ2VuLiBEYXMga29ubnRlIGljaCBqYSBsZWlkZXIgbmljaHQgbWl0IGRlbiB2b3JoYW5kZW5lbiBNaXR0ZWxuCm1hY2hlbi4gRGFzIGlzdCBvay4gRGEgaGFiIGljaCBlaW5lbiBNYWdpZXIgZ2VmcmFndCwgbyBiIGVyIG1pciBkYXMgbWFjaHQuClNlaW5lIEFudHdvcnQgd2FyLCBkYXNzIGVyIGVzIGdlcm5lIG1hY2hlbiB3dWVyZGUsIGFiZXIgbWFuIGtlaW5lIEdlZ2Vuc3RhZW5kZQpvZGVyIGFlaG5saWNoZXMgZnVlciBTcGllbGVyIHByb2dnZW4gZHVlcmZlLiBUb2xsLCBrYW5uIG1hbiBkYXMgbWFsIGVpbgpiaXNzY2hlbiBsb2NrZXJuLiBBdWNoIHZvbiBvZmZpemllbGxlciBTZWl0ZSA6LSkgU29sYW5nZSBlcyBuaWVtYW5kZW0gc2NoYWRldApvZGVyIGhpbGZ0LCBzb2xsdGUgc28gd2FzIGVybGF1YnQgc2Vpbi4gU292aWVsIHp1IG1laW5lbSBWb3JzY2hsYWcuCgpWYWxhcmlhbiB3aWxsIGVuZGxpY2ggRHJhY2hlbmxpYmVsbGVuIHp1ZWNodGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGtyaWVnIG5lIEtyaXNlPyAoTWVwaGlzdG8sIDMwLiBNYXIgMTk5NiwgMDI6MzI6MjgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyODEyOTk4Nwp+IyEgdGlkPTgyODEyOTk4NwpIbSwgQ2F0LCBpY2ggZ2xhdWIgSGF0ZSBpc3QgYWx0IGdlbnVnLCB1bSBmdWVyIHNpY2ggc2VsYnN0IHp1IHNwcmVjaGVuLCBvZGVyPwoKSWNoIGZpbmRlIGRpZSBSZWFrdGlvbiB2b24gVHp1aW9wIChvZGVyIHdlciBpbW1lciBlcyB3YXIsIGRlciBzaWNoIGVpbiBiaXNzZWwKdmVyYXJzY2h0IHZvcmdla29tbWVuIGlzdCwgaGFiIHNjaG9uIHZlcmdlc3NlbiwgbXVzcyBkZXIgUmluZGVyd2FobiBzZWluLi4uLikKZ2FyIG5pY2h0IHNvIHVudmVyc3RhZW5kbGljaAoKS29lbm50IG1pciBpcmdlbmR3ZXIgZXJrbGFlcmVuLCB3YXMgZGFzIFppZWwgZGllc2VyIGdlZ2Vuc2VpdGlnZW4KUnVudGVybWFjaGVyZWkgc2VpbiBzb2xsPz8KCipzY2h1ZXR0ZWwga29wZioKCk1lcGgKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGtyaWVnIG5lIEtyaXNlPyAoQWNyaW1vbiwgMzAuIE1hciAxOTk2LCAwMzoxMjoyNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI4MTI5OTg3Cn4jISB0aWQ9ODI4MTI5OTg3CkRhbmtlIENhdHdlYXpsZSwKZGVyIEFydGlrZWwgd2FyIGpldHp0IGVjaHQgbm9ldGlnLgpEaWVzZSBIaW53ZWlzZSB3dXJkZW4gc2Nob24gU0VIUiBsYW5nZSBuaWNodCBtZWhyIGdlcG9zdGV0IChtaW5kLiAxIEphaHIpLgpBdWNoIGljaCBoYXR0ZSBiaXNoZXIgemFobHJlaWNoZSBBbnJlZ3VuZ2VuIGluIGRlciBtcGEgKHJ1YnJpayBlbnR3aWNrbHVuZykKZ2Vwb3N0ZXQgdW5kIG1pY2ggZ2V3dW5kZXJ0LCB3YXJ1bSBpY2ggTlVMTCBSZWFrdGlvbiBiZWthbSBhdWYgdmllbGUuCkd1dCwgZGFzcyBkYXMgamV0enQgZ2VrbGFlcnQgaXN0OyBqZXR6dCBoYWIgaWNoIHdpZWRlciBIb2ZmbnVuZyB1bmQgd2VyZGUKd2VpdGVyZSBBbnJlZ3VuZ2VuIHBvc3Rlbi4KClVuZCBmdWVyIGFsbGUsIGRpZSBDYXR3ZWF6bGVzIEFydGlrZWwgdWViZXJmbG9nZW4gaGFiZW46Ckxlc3QgaWhuIG5vY2htYWwgZ3J1ZW5kbGljaCBkdXJjaCwgZXIgaXN0IHdpY2h0aWchICh1bmQgbGVpZGVyIHNlbHRlbikuCgpBY3JpbW9uIGRlciBSb3RlIFJpdHRlcgoKUFM6IFVuZCBmdWVyIGFsbGUsIGRpZSBkYXMgamV0enQgbmljaHQga2FwaWVydCBoYWJlbjoKICAgIERpZXNlciBBcnRpa2VsIHdhciBOSUNIVCBpcm9uaXNjaCBnZW1laW50LgogICAgQWxsZSBTYWV0emUgZW50c3ByZWNoZW4gZGVyIFdhaHJoZWl0IHVuZCBtZWluZXIgTWVpbnVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxlZGVyIHVuZCBsZWlkZW4gKFJ1ZGlyYXR0ZXIsIDMwLiBNYXIgMTk5NiwgMDc6MzE6NDUpOgoKSWNoIHdlaXNzIG5pY2h0LCB3YXMgSWhyIEV1Y2ggYWxsZSBzbyBhdWZyZWd0LiBJbiBkZXIgTVBBIHN0ZWh0IHNvIHZpZWwKTXVlbGwsIGRhc3MgZXMga2VpbiBXdW5kZXIgaXN0LCB3ZW5uIE1hZ2llciBkaWUgVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlCnNjaGxpY2h0IHVlYmVybGVzZW4uIFdlbm4gbWFuIGVpbmVuIFZvcnNjaGxhZyBoYXQsIGlzdCBlcyBzaWNoZXIgYmVzc2VyLCBkZW4KYW4gZWluZW4gTWFnaWVyIHp1IG1haWxlbi4gSWNoIGJla29tbWUgZGEgZWlnZW50bGljaCBJTU1FUiBSZXNvbmFuei4KQXVjaCBzb25zdCBnaWJ0IGVzIGdlbnVlZ2VuZCBNb2VnbGljaGtlaXRlbiwgZGFzIE1HIG1pdHp1Z2VzdGFsdGVuLiBXZW5uIElocgpFdWNoIGVpbmUgR2VnZW5kP1F1ZXN0L0dpbGRlP2V0Y2V0YyBhbnNjaGF1dCB1bmQgZGFubiBndXRlIElkZWVuIGhhYnQsIHNldHp0CnNpZSBhbHMgSWRlZSBhYi4gSWNoIGhhYmUgZGllIEVyZmFocnVuZyBnZW1hY2h0LCBkYXNzIG1hbiBvZnQgbmFjaCBlaW5pZ2VyClplaXQgZGFubiBzZWluZSBlaWdlbmVuIElkZWVuIHdpZWRlcnRyaWZmdCBvZGVyIHp1bWluZGVzdCB2b24gZGVtIGJldHJlZmZlbmRlbgpNYWdpZXIgaG9lcnQsIHdhcnVtIGVyIGRpZXMgb2RlciBkYXMgbmljaHQgYW5kZXJzIGhhYmVuIHdpbGwuCkFsc28sIHJlZ3QgRXVjaCBuaWNodCBzbyBhdWYgc29uZGVybiBzdGVja3QgRXVyZSBFbmVyZ2llIGluIGRpZSBFQ0hURU4KSGVyYXVzZm9yZGVydW5nZW4gaGllci4KVW5kIFR6dWlvcCwgRGVpbiAnUFMnIGhhZXR0ZXN0IER1IERpciBpbiBEZWluZW0gQXJ0aWtlbCBzcGFyZW4ga29lbm5lbi4gRGFzCmlzdCBzbyB2ZXJsb2dlbiwgZGFzcyBpY2ggbWl0IFNwb250YW5ha25lIGFtIFJlY2huZXIgc2l0emUuIEtvZW5uZW4gd2lyIGhpZXIKbmljaHQgbWFsIGVpbmVuIGFuZ2VicmFjaHRlcmVuIFVtZ2FuZ3N0b24gaW4gZGVyIE1QQSBhbiBkZW4gVGFnIGJyaW5nZW4/Pz8KUlVESQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBlaW5lIEZyYWdlIChLcmV0ZWssIDMwLiBNYXIgMTk5NiwgMTU6NTc6NTMpOgp+IyEgcm49VmFsYXJpYW4gcnQ9ODI4MTQ3Nzc2Cn4jISB0aWQ9ODI4MTQ3Nzc2CkhtbS4uLiBBbHNvLCBzb3ZpZWwgaWNoIHdlaXNzLCBpc3QgZXMgdW5zIE1hZ3MgZG9jaCBudXIgdW50ZXJzYWd0LApPYmpla3RlIGZ1ZXIgU3BpZWxlciB6dSBzY2hyZWliZW4gLyBjbG9uZW4sIGRpZSBkaWVzZW4genUgc2VociBoZWxmZW4hCldlbm4gRHUsIGJlaXNwaWVsc3dlaXNlLCBqZXR6dCBlaW5lbiBOUEMgYW5zcHJpY2hzdCwgZGVyIHdpcmtsaWNoIG5pY2h0cwphbmRlcmVzIG1hY2h0IGFscyBlaW4gcGFhciBFY2hvcyBhdXN6dWdlYmVuLCBkYW5uIHNlaGUgSUNIIGRhIGtlaW5lbgpLb25mbGlrdC4uLiBGYWxscyBlcyBkb2NoIGVpbmVuIGdpYnQsIGJpdHRlIGljaCBlaW5lKG4pIGRlciBFcnppZXMgb2QuCkdvZXR0ZXIsIG1pciBkYSBiaXR0ZSBCZXNjaGVpZCB6dSBzdG9zc2VuLCBkZW5uIGRhcyBnZWh0IGRhbm4gYXVzIGRlbQpNYWdpZXJ2ZXJ0cmFnIG5pY2h0IHNvIGdlbmF1IGhlcnZvciEKSWNoIHppdGllcmUgYXVzc2Nobml0dHN3ZWlzZToKCkVpbiBNYWdpZXIgZGFyZiBuaWNodDoKKC4uLikKLSBPYmpla3RlIHNjaHJlaWJlbiwgZGllIGRlbiBTcGllbGVybiB6dSBzZWhyIGhlbGZlbiwgb2RlciB1bWdla2VocnQKICBkaWUgU3BpZWxlciBzY2hhZWRpZ2VuLgooLi4uKQoKV2llIGdlc2FndCwgdmllbGxlaWNodCBsaWVnZSBpY2ggZGEgamEgYXVjaCBmYWxzY2guLi4gdW0gQXVma2xhZXJ1bmcgd2lyZApnZWJldGVuIQoKVHNjaHVlc3NpLApLcmV0ZWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZWRlciB1bmQgbGVpZGVuIChHdXlicnVzaCwgMzAuIE1hciAxOTk2LCAxODoxNTo0OCk6Cn4jISBybj1SdWRpcmF0dGVyIHJ0PTgyODE2NzUwNQp+IyEgdGlkPTgyODE2NzUwNQpHdXQsIFJVZGkKQUJlciB3ZW5uIGRpZSBNYWdpZXIgc2Nob24gVm9yYmlsZCBzZWluIHdvbGxlbiwgZGFubiBzb2xsZW4gc2llIGF1Y2ggbWl0IGRlbQpndXRlbiBVbWZhbmdzdG9uIGFuZmFuZ2VuLgpXZXIgc29sY2hlIFdvcnRlIHdpZSBIYXRlIGJlbnV0enQsIGRlciBzb2xsdGUgYXVjaCBtaXQgc29sY2hlbiBSZWFrdGlvbmVuIHdpZQpUenVpb3BzIHJlY2huZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWVzZSBPcmtzLi4uIChaaW5vLCAzMC4gTWFyIDE5OTYsIDE4OjE2OjIwKToKCkVpbiBPcmsga29tbXQgYW4uCkVpbiBPcmsgbmltbXQgZWluZSBMZWljaGUuCj4gdW50IG9yawpEaWVzZXIgT3JrIGdlaG9lcnQgenVyIFN0YWR0d2FjaGUuIEVyIHBhdHJvdWxsaWVydCBkdXJjaCBkaWUgZ2FuemUgU3RhZHQgdW5kCmFjaHRldCBkYXJhdWYsIGRhc3MgbmllbWVuZCBlaW5lIFN0cmFmdGF0IGJlZ2VodC4gRHUgZGVua3N0IGFuIGRpZSBXYWNoZW4gaW4KTW91bG9raW4sIGRpZSBEaXIgdmllbCBzdGFlcmtlciBpbiBzY2htZXJ6bGljaGVyIEVyaW5uZXJ1bmcgc2luZC4gQWJlciBoaWVyCnNjaGVpbnQgaGFsdCBkaWVzZSBBdXNydWVzdHVuZyB6dSByZWljaGVuLCBkaWUgZGVyIE9yayBtaXQgc2ljaCB0cmFlZ3QgdW5kCmF1Y2ggc2ljaGVyIGd1dCBlaW56dXNldHplbiB3ZWlzcy4KZXR3YXMgZ2VzY2h3YWVjaHQgKDkwJSkuCkVyIHRyYWVndCBiZWkgc2ljaDoKRGllIGJlcmVpdHMgemllbWxpY2ggc3RpbmtlbmRlIExlaWNoZSBlaW5lcyBLYXJhdGVvcmtzLgpFaW4gT3JraGVsbSAoYW5nZXpvZ2VuKS4KRWluIFBhYXIgT3Jrc3RpZWZlbCAoYW5nZXpvZ2VuKS4KRWluZSBPcmt3ZXN0ZSAoYW5nZXpvZ2VuKS4KRWluIE9ya3NjaHdlcnQgKGdlenVlY2t0KS4KU2NobGFncmluZyAoYW5nZXpvZ2VuKS4KU2NobGFncmluZy4KU2NobGFncmluZy4KMTMxIE11ZW56ZW4uCkVpbiBPcmtoZWxtLgpFaW4gUGFhciBPcmtzdGllZmVsLgpFaW5lIE9ya3dlc3RlLgpFaW4gT3Jrc2Nod2VydC4KCkRlciBrYW5uIGFiZXIgdmllbCB0cmFnZW4uCgpNYWhhdG1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2ggZmFzc2UgWnVzYW1tZW4gISAoT2V0dGksIDMxLiBNYXIgMTk5NiwgMTg6NDA6MzcpOgpBbHNvIGhpZXIgZWluZSBadXNhbW1lbmZhc3N1bmcgZGVyIGxldHplbiBBcnRpa2VsLgoKU3BpZWxlciBzaW5kIGRvb2YsIHNjaGVpc3NlIHVuZCBzdGlua2VuLgpNYWdpZXIgc2luZCBkb29mLCBzY2hlaXNzZSB1bmQgc3Rpbmtlbi4KSGF0ZSBpc3QgZG9vZiBzY2hlaXNzZSB1bmQgU3Rpbmt0LgpUenVpb3AgaXN0IGRvb2Ygc2NoZWlzc2UgdW5kIHN0aW5rdC4KT2V0dGkgaXN0IGRvb2YgdW5kIGhhZXNzbGljaCAoaHVjaD8hKQpDYXQqIGlzdCBkb29mLCBzY2hlaXNzZSB1bmQgc3Rpbmt0LgpHdXlicnVzaCBpc3QgaW5kaWZmZXJlbnQuClJ1ZGkgaGF0IFNwb250YW5ha25lIChlZWVrZWxoYWZ0KQpNRyBpc3QgZG9vZiBzY2hlaXNzZSB1bmQgc3Rpbmt0LgoKSWNoIHBlcnNvZW5saWNoIGhhYiBIYXRlcyBtb3RpdmF0aW9uIGZ1ZXIgc2VpbmVuIEFydGlrZWwgbmljaHQKdmVyc3RhbmRlbiwgYWJlciBpY2ggYmluIGphIGF1Y2ggZG9vZi4KCnVuZCBzdGlua2UuLi4KCnVuZCBoYWVzc2xpY2ggYmluIGljaCBhdWNoLgoKdW5kIGltcG90ZW50Lgp1bmQgbGFuZ3dlaWxpZy4KCmFyZ2hoaGhoaGhoaGhoaGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5hY2h0cmFnLi4uIChPZXR0aSwgMzEuIE1hciAxOTk2LCAxODo0NjowOCk6Ck5vY2ggd2FzLgoKQmV2b3Igc2ljaCBqZXR6dCBpcmdlbmRqZW1hbmQgYmVydWZlbiBmdWVobHQsIG1pY2ggdm9sbHp1ZmxhbWVuLAp3ZWlsIGljaCBlaW4gQXJzY2ggYmluLCB1bmQgZGFzIGVoaCBuaWNodCBlcm5zdCBuZWhtZSB1c3cuLi4KCklDSCBXRUlTUyBFUyBVTkQgSUNIIEZJTkQgTUlDSCBPSyBTTyA7LSkKCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoS3RrLCAzMS4gTWFyIDE5OTYsIDE5OjE1OjA5KToKfiMhIHJuPUhhZHJhIHJ0PTgyODAxNDQ1OQp+IyEgdGlkPTgyNzkxMzkyNQoKSG0sIGlyZ2VuZHdpZSBrYW0gaWNoIG1pciBuaWNodCBnYW56IHVuYmV0ZWlsaWd0IGFuIGRlciBFbnR3aWNrbHVuZwpoaWVyenVsYW5kZSB2b3IuIFVuZCBpY2ggYmluIG1pciB6aWVtbGljaCBzaWNoZXIsIGRhc3MgaWNoIG5pY2h0IHVlYmVyIGRlbgpuZXVlbgpHZXNhbXRsZXZlbCBnZW1lY2tlcnQgaGFiZSwgdW5kIGljaCBiaW4gbWlyIHppZW1saWNoIHNpY2hlciwgZGFzcwpkYXMgd2FzIG1pdGVpbmFuZGVyIHp1IHR1biBhaHQgdW5kIGljaCBiaW4gbWlyIGF1c3NlcmRlbSBub2NoIHNpY2hlciwKZGFzcyBIYXRlIHVuenVsYWVzc2lnZXJ3ZWlzZSB2ZXJhbGxnZW1laW5lcnQuCgooRGVyIFNoZXJpZmYgbXVzcyBkYSBzZWluLCBzbyBndXQgZ2luZyBtaXIncyBsYW5nZSBuaWNodC4uKS4uKQoKSWNoIGZyYWcgbWljaCBudXIsIG9iIGRhcyBudXIgd2VpZGVyIG1hbCAnbiBWZXJzdWNoIHdhciwgZGllCmxlaWRpZ2UgTWFnaWVyLVNwaWVsZXItRGlza3Vzc2lvbiBhdWZ6dXdhZXJtZW4sIG9kZXIgb2IgZGEgd2FzCmFuZGVyZXMgZGFtaXQgZ2VtZWludCB3YXIuIFdlbm4gamEsIHZlcnN0ZWggaWNoIG5pY2h0LCB3YXMuVmllbGxlaWNodCBsYWVzc3QKc2ljaCBkYXMgamEgbm9jaCBtYWwgaW4ga2xhcmVyZSBXb3J0ZSBmYXNzZW4uCgpGeXQsIHNpY2ggd2llZGVybWFsIGZyYWdlbmQsIHdpZXNvIGVyIHNpY2ggc2Nob24gd2llZGVyIGluIGZyZW1kZQpEaXNrdXNzaW9uZW4gaGFlbmd0ICpzZXVmeioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoS3RrLCAzMS4gTWFyIDE5OTYsIDE5OjE4OjA0KToKfiMhIHJuPVRlcnJvcmlzdCBydD04MjgwMjkyMjYKfiMhIHRpZD04Mjc5MTM5MjUKSG0sIGFsc28gd2VubiBJaHIgamV0enQgbm9jaCBtaXQgJ1BhcmxhbWVudCcgYW5mYW5ndCwgZGFubgpzdGVsbCBpY2ggbWVpbmUgd29lY2hlbnRsaWNoZW4gWmVpdHVuZ3NsZXNlLXVuZC1rb21tZW50aWVyLUJlc3VjaGUKYXVjaCBub2NoIGVpbi4gV2llc28gc3RlaHQgZGFzcyBoaWVyIGVpZ2VudGxpY2ggdW50ZXIgJ2FsbGdlbWVpbmVzJwp1bmQgbmljaHQgaW4gJ3NjaG1hcnJuJz8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoSGF0ZSwgMzEuIE1hciAxOTk2LCAyMToxNjo0Myk6Cn4jISBybj1LdGsgcnQ9ODI4MjkyNjg0Cn4jISB0aWQ9ODI3OTEzOTI1CkFsc28gdW0gbWVpbmUgTW90aXZhdGlvbiBub2NoIG1hbCBrbGFyenVzdGVsbGVuLgpTY2hyZWlidCBtYW4gZWluZW4gYmxvZWRlbiBTY2hpbXBmYXJ0aWtlbCByZWdlbiBzaWNoIGFsbGUgc29mb3J0IGF1Zi4KQXVjaCB3ZW5uIHNpZSB3aXNzZW4sIGRhc3MgZXMgbnVyIE1pc3QgaXN0LCBkZXIgZGFubiBpbiBkZXIgTVBBIHN0ZWh0CkpldHp0IHNjaGF1dCBFdWNoIG1hbCBhdWYgZGllIE5hc2UgdW5kIHNhZ3QgbWlyLCB3ZXIhIGhhdCBkZW5uIGF1ZiBBdWZydWZlCnJlYWdpZXJ0LCBkaWUgSWNoIG9kZXIgYW5kZXJlIGhpZXIgaW4gZGllIE1QQSBnZXNjaHJpZWJlbiBoYWJlbj8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb25ncmF0dWxhdGlvbnMhIChDYXR3ZWF6bGUsICAxLiBBcHIgMTk5NiwgMTQ6MzU6MzApOgpIaSEKCk9rb2ssIGljaCBoYWIgaGllciBncmFkIHdhcyBvZmZpemllbGxlcyEKV2lyIGhhYmVuIG5hZW1saWNoIGFsbGVzIHdhcyB3aWNodGlnZXMgdmVyZ2Vzc2VuIQpMZXR6dGVuIE1vbnRhZywgYW0gMjUuTWFlcnogaGF0dGUgZGFzIE1HIEdlYnVydHN0YWcuIEVzIGlzdCBuYWVtbGljaAogICAgICAgIFZJRVIgSkFIUkUKYWx0IGdld29yZGVuLgpTY2hyZWlidCBqZXR6dCBibG9zcyBrZWluZSBHbHVlY2t3dWVuc2NoZSwgc29uc3QgaXN0IGRpZSBaZWl0dW5nIHNvZm9ydAp3aWVkZXIKdm9sbCA6KQoKTmFqYSwgbGVpZGVyIHN0ZWh0IGRhcyBoaWVyIHp1IHNwYWV0IGRyaW4sIGFiZXIgdHJvdHpkZW0gc29sbHRlIG1hbiBkYXMKKG5hY2h0cmFlZ2xpY2gpIGZlaWVybiA6KSBBbHNvIGdpYnQgZXMgTlVSIGZ1ZXIgSEVVVEUgZWluZSBrbGVpbmUKKFRlbGVrb21tYWVzc2lnZSA6LSkgQmVzb25kZXJoZWl0LiBJY2ggaGFiIGdyYWRlIG5lbiBiaXNzY2hlbiBydW1nZWZyaWNrZWx0LgpBbSBoZXV0aWdlbiBUYWcga29lbm50IGlociBmcmVpIG5hY2ggaGVyemVuc2x1c3Qgc3RlcmJlbiEKSWNoIGhhYiBuYWVtbGljaCBkZW4gRVAtVmVybHVzdCBiZWltIFRvZCBhYmdlc2NoYWx0ZXQuIFdlbm4gaWhyIGFsc28gZWluCk1vbnN0ZXIgb2RlciBlaW5lbiBHZWduZXIgaGFidCwgZGVuIElociBpbW1lciBzY2hvbiBtYWwgYW50ZXN0ZW4gd29sbHRldCwKaGV1dGUga29lbm50IGlociBkYXMgdm9lbGxpZyBnZWZhaHJsb3MgdHVuLiBPZGVyIHNjaGF1dCBFdWNoIGZ1ZXIgbGF1CmVpbiBwYWFyIFRvZGVzc2VxdWVuemVuIGFuLgpBbHNvLCB2aWVsIFNwYXNzIGJlaW0gU3RlcmJlbi4gVW5kIGRlbmt0IGRyYW4sIGRhcyBnaWx0IG51ciBmdWVyIEhFVVRFIQooU2llaGUgRGF0dW0gaW4gQXJ0aWtlbGtvcGYpCgpZb3VycyB0cnVseSwKICAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb25ncmF0dWxhdGlvbnMhIChSYWZmaSwgIDEuIEFwciAxOTk2LCAxNDo1MTozOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI4MzYyMTMwCn4jISB0aWQ9ODI4MzYyMTMwCkxpZWJzdGVyIENhdCosCgpmdWVobGUgRGljaCBoaWVybWl0dCBnZXd1ZXJndCEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29uZ3JhdHVsYXRpb25zISAoR3VsZHVrYXQsICAxLiBBcHIgMTk5NiwgMTU6MzM6NTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyODM2MjEzMAp+IyEgdGlkPTgyODM2MjEzMAoKU3RlaHQgd2llZGVyIGVpbmUgU2hlcmlmZi1XYWhsIGFuLCBvZGVyIHdhcnVtIHZlcnRlaWxzdCBkdSBoaWVyIHdpZWRlcgoiV2FobGdlc2NoZW5rZSIgPwo7KQpHdWwgRHVrYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ29uZ3JhdHVsYXRpb25zISAoUmFmZmksICAxLiBBcHIgMTk5NiwgMTc6MDA6MTgpOgp+IyEgcm49UmFmZmkgcnQ9ODI4MzYzMDk5Cn4jISB0aWQ9ODI4MzYyMTMwCgpTb29vLCBuYWNoZGVtIHdpciBkYXMgVGhlbWEgQm9lc2UgTWFnaWVyIDwtPiBib2VzZSBTcGllbGVyIChKYSwgYXVjaCBpY2ggYmluCmRvb2YgdW5kIHN0aW5rZSkgYWJnZWhha3QgaGFiZW4ga29lbm5lbiB3aXIgZWluIHdlaXRlcmVzIGJlbGllYnRlcyBTcGllbGNoZW4KYXVmd2Flcm1lbjoKCkRpZWJzdGFobCBpbSBNRwoKVW5zZXIgYWxsZXIgRlJFVU5EIGRlciBTaGVyaWZmIENhdHdlYXpsZSBoYXQgdW5zIGFtIDEuIEFwciAxOTk2IHVtIDE0OjM1OjMwCndpc3NlbiBsYXNzZW4gZGFzIGhldXRlIGFtIDEuIEFwcmlsIChzaWMpIGRhcyBTdGVyYmVuIHVtc29ubnN0IGlzdC4gU28gd2VpdApzbyBndXQsIHNvd2FzIGxhZXNzdCBSYWZmaSBzaWNoIG5pY2h0IDIgbWFsIHNhZ2VuIC0gV2VubiBlcyB3YXMgdW1zb25uc3QKZ2lidCBiaW4gaWNoIGdsZWljaCBkYSAtIGFsc28gaGFiIGljaCBtaWNoIGF1ZmdlbWFjaHQsIGVpbiBzY2hvZW5lbiBrbGVpbmVuCmZyZXVuZGxpY2hlbiBOUEMgZ2VzdWNodCwgdm9uIGRlbSBtYW4gYXVjaCBsZWljaHQgc2VpbmUgU2FjaGVuIHdpZWRlcmJla29tbXQuCkluIG1laW5lbSBGYWxsIGlzdCBkYSBkaWUgVGV1ZmVsc2hleGUgaW4gU2NocnVtcGZpcyBHcnVmdCBlcnN0ZSBXYWhsLiBSZWluCmluIGRpZSBHcnVmdCwgc2ljaCBlaW5tYWwgYm9lc2UgYW5zY2hhdWVuIGxhc3NlbiwgdW5kIGRhbm4gYm9lc2UgenVydWVjay0Kc2NoYXVlbi4gRWluIEJsaWNrIGVyZ2lidCBkZW4gYW5kZXJlbiwgdW5kIHNjaG9uIGxpZWdlbiB3aXIgdW5zIGluIGRlciBXb2xsZS4KRGFtaXQgc2llIGF1Y2ggYXVmIGplZGVuIEZhbGwgZ2V3aW5udCAobWFOTiBzb2xsIGphIG5ldHQgc2VpbiB6dSBkZW4gRGFtZW4pCnNjaG5lbGwgbm9jaCBhbGxlIFNhY2hlbiBhdXNnZXpvZ2VuIChKYSwgYXVjaCBkYXMgZ2Vob2VocnQgenVtIG5ldHRzZWluKS4KCltUb2Q6XSBFaW5lIFRldWZlbHNoZXhlIGhhdCBnZXJhZGUgUmFmZmkgdW1nZWJyYWNodC4gPDE0OjQ0OjQzPgoKV2llIGVzIHNpY2ggZ2Vob2VocnQgZXJsZWJlIGljaCBlaW5lbiB3dW5kZXJzY2hvZW5lbiBUb2QgaW4gZGVuIEFybWVuIGRlcgpRdWFsLCBiZWkgZGVtIGljaCBhdWNoIG1laW4gdWVibGljaGVzIEVQLVNjaGFlcmZsZWluIGFibGllZmVybiBkYXJmIChoYXQKZWlnZW50bGljaCBpcmdlbmRKRU1BTkQgdm9uIENhdCogd2FzIGFuZGVyZXMgRXJ3YXJ0ZXQgPykuIEFscyBpY2ggamVkb2NoCnp1cnVlY2trb21tZSBtdXNzIGljaCBmZXN0c3RlbGxlbiwgZGFzIGVpbiBHcm9zc3RlaWwgbWVpbmVyIEF1c3J1ZXN0dW5nCmFsc2F1Y2ggbWVpbmUgR0FOWkUgS29obGUsIHp1IGRpZXNlbSBaZWl0cHVua3QgbmljaHQgYmVzb25kZXJzIHZpZWwsIGFiZXIKaW1tZXJoaW4gYXVjaCBydW5kIDM1Sywgd2VnIHdhciAhCgpUZXJyb3Jpc3QsIHNvbGx0ZSBhdWYgZGllIHNhY2hlbiBhdWZwYXNzZW4sIGVyIGhhdHRlIGplZG9jaCBlaW4gZGVybWFzc2VuZXMKTEFHIChsb2thbCksIHNvIGRhc3MgZXIgbWVocm1hbHMgcmF1c2dlZmFsbGVuIGlzdCwgdW5kIG5pY2h0IGdlc2VoZW4gaGF0IHdlcgplcyB3YXIuCgpJY2ggaGFiZSBrZWluIFByb2JsZW0gamVtYW5kZW0gMzAgb2RlciA0MEsgenUgc2NoZW5rZW4gd2VubiBlciBHZWxkIGJyYXVjaHQsCmFiZXIgZXMgc3Rpbmt0IG1pciBNQVNTTE9FU0lHU1Qgd2VubiBlcyBtaXIgZWluZmFjaCB3ZWdnZW5vbW1lbiB3aXJkLgoKRGFzIHNpbmQgTW9tZW50ZSwgd28gYmVpIG1pciBkZXIgd3Vuc2NoIG5hY2ggUEsgaG9jaGtvbW10IHVuZCB1ZWJlcm1hZWNodGlnCndpcmQuCgpTdG9ja3NhdWVyCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIGVpbmUgRnJhZ2UgKFJ5bmUsICAxLiBBcHIgMTk5NiwgMTg6MDg6MTMpOgp+IyEgcm49VmFsYXJpYW4gcnQ9ODI4MTQ3Nzc2Cn4jISB0aWQ9ODI4MTQ3Nzc2ClZhbGFyaWFuOgoKTWl0IGVpbmVtIGdld2lzc2VuIEF1ZndhbmQgbGFzc2VuIHNpY2ggaW4gZWluZW0gU2VoZXJoYXVzIHNvd29obCAiTlBDcyIgYWxzCmF1Y2ggZW50c3ByZWNoZW5kZSBNZWxkdW5nZW4gYW4gZGllIFNwaWVsZXIgYXVzZ2ViZW4uIFNpbmQgbmljaHQgc28gdG9sbCB3aWUKYmVpIGVpbmVtIHJpY2h0aWdlbiBOUEMsIGFiZXIgZnVlciBlaW4gU2VoZXJoYXVzIHNpY2hlciBhdXNyZWljaGVuZC4KCkFuc29uc3RlbjogRmxhbWVkIG1hbCBXYXJnb24gdm9sbCwgZGFzcyBlciBOUENzIGZ1ZXIgU2VoZXJoYWV1c2VyIHByb2dndCA7LSkKClJ6bmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyIC0gRWluZSBCaWxhbnogKE5peGlob3UsICAxLiBBcHIgMTk5NiwgMTk6Mzg6NDEpOgp+IyEgcm49S3RrIHJ0PTgyODI5MjUwOQp+IyEgdGlkPTgyNzkxMzkyNQphZWgsIGF1Y2ggd2VubiBlcyB1ZWJlcmZsdWVzc2lnIGlzdC4KCndpZSB3YWFlcmUgZXMgbWl0IHNvZXR3YXMgd2llIEJlbmltbXB1bmt0ZW4gKG1wYS9tdWQvYmVsaWVidGhlaXQpIGRpZSBkYW5uCmF1Y2ggaW4gZGVuIGdlc2FtdGxldmVsIGVpbmZsaWVzc2VuPwooaXN0IG51ciBkaWUgZnJhZ2UsIG9iIGVzIGpld2VpbHMgZWluZW4gcHVua3QgZ2lidCwgd2VubiBtYW4gaW4gZGVyIG1wYQptaXQgImlzdCBzY2hlaXNzZSIgYmV6ZWljaG5ldCB3aXJkIG9kZXIgb2IgZXMgZGFubiBzY2hvbiAyIGdpYnQpCmlyb25pZSBvZmYgKG1hbCBuaWNodCBncm9zc2dlc2NocmllYmVuKQoKYWJlciB3YXMgenVyIHplaXQgaW4gZGVyIG1wYSBzdGVodCBzaWVodCBtaXIgZG9jaCBzZWhyIG5hY2ggZWluZW0gd2V0dGJld2VyYgppbiB1bmJlbGllYnRoZWl0IGF1cy4KCm5peGlob3UsIGp1c3QgYW5vdGhlciB1bnJlbGV2YW50IGFydGlrbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENvbmdyYXR1bGF0aW9ucyEgKE1hcml0YSwgIDIuIEFwciAxOTk2LCAwNjowMDoxMik6Cn4jISBybj1SYWZmaSBydD04MjgzNzA4MTgKfiMhIHRpZD04MjgzNjIxMzAKCkljaCBrcmllZyBrYXVtIG5vY2ggTHVmdCA7LSkgTmFjaGRlbSBDYXQqIGRlcm1hc3NlbiBkZXV0bGljaCBhdWYgZGFzIERhdHVtCmhpbmdld2llc2VuIGhhdCwgZGFjaHRlIGljaDogU28gYmxvZWQga2FubiBkb2NoIGtlaW5lciBzZWl0LCBkYXJhdWYKcmVpbnp1ZmFsbGVuISBTbyBrYW5uIG1hbiBzaWNoIHRhZXVzY2hlbi4uLgoKR3JhdHMgQ2F0Kiwgc29sY2hlIEFrdGlvbmVuIGZvZXJkZXJuIGRpZSBHZXN1bmRoZWl0LCBpY2ggaGFiIFRyYWVuZW4KZ2VsYWNodCEgOi0pIFNvcnJ5IFJhZmZpLCBpY2ggaGF0dGUgbWlyIGphIGVpZ2VudGxpY2ggYWJnZXdvZWhudCwgYXVmIERlaW5lCkFydGlrZWwgenUgYW50d29ydGVuLCBhYmVyIGRpZXNtYWwga29ubnRlIGljaCBuaWNodCBhbmRlcnMuCgpNYXJpdGEsIGhhdCBqZXR6dCBCYXVjaHdlaCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoU2lsdmFuYSwgIDIuIEFwciAxOTk2LCAwOTo1ODowMCk6Cn4jISBybj1IYXRlIHJ0PTgyODI5OTgwMwp+IyEgdGlkPTgyNzkxMzkyNQpJY2gga2FubiBtaWNoIGVocmxpY2ggbmljaHQgdWViZXIgTWFuZ2VsIGFuIElkZWVuIHVuZCBBbnJlZ3VuZ2VuIHNlaXRlbnMKZGVyIFNwaWVsZXIgYmVzY2h3ZXJlbi4gSW0gR2VnZW50ZWlsOiBpY2ggdmVyYnJpbmdlIG1laXN0IGRpZSBlcnN0ZW4gMi0zClN0dW5kZW4gbWVpbmVyIFplaXQgaGllciBtaXQgbGVzZW4vYmVhbnR3b3J0ZW4gbWVpbmVyIE1haWwuIERhcyBzb2xsCmpldHp0IGtlaW5lIEJlc2Nod2VyZGUgc2VpbiwgbmljaHQgZGFzcyBkYXMgd2VyIG1pc3N2ZXJzdGVodC4KU2Nob2VuZW4gRGFuayBhbiBhbGxlLCBkaWUgc28gZmxlaXNzaWcgbWl0IElkZWVuIHVtIHNpY2ggd2VyZmVuLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGZhc3NlIFp1c2FtbWVuICEgKEhhcmRpbCwgIDIuIEFwciAxOTk2LCAxMDoxNDowMik6Cn4jISBybj1PZXR0aSBydD04MjgyOTA0MzcKfiMhIHRpZD04MjgyOTA0MzcKRGFua2UsIE9ldHRpLgpBdXNzZXIgRGlyIGhhdCBlcyBuaWVtYW5kIGdlc2NoYWZmdCwgYWxsZSBBcmd1bWVudGUgaW4gc29vb28gd2VuaWcgWmVpbGVuCnp1c2FtbWVuenVmYXNzZW4uCkRhZnVlciBiZWtvbW1zdCBEVSBkZW4gZ3Jvc3NlbiBOTk4tT3JkZW4uIDotKQoKLUhhcmRpbC4gQnJhdWNodCBkaWUgbXBhIHp1bSBob2NoaWRsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGEgZmxpZWd0IG1pciBkb2NoIGRhcyBCbGVjaCB3ZWcuIChUb2UsICAyLiBBcHIgMTk5NiwgMTE6NDg6NTgpOgp+IyEgcm49T2V0dGkgcnQ9ODI4MDIwODcxCn4jISB0aWQ9ODI4MDIwODcxCkhpIE9ldHRpLApkYXMgd2FyIGphIGVpbiByaWNodGlnIGxpZWJlciBBcnRpa2VsIHZvbiBEaXIuLi4gOi0pKSBJY2ggZmluZGUgbWVpbmUgTWVpbnVuZwp1ZWJlcmF1cyBnZXRyb2ZmZW4gZGFyZ2Vib3Rlbi4uLgoKSGkgSGF0ZSwKaWNoIGthbm4gamEgdmVyc3RlaGVuLCBkYXNzIER1IHRyYXVyaWcgYmlzdCwgd2VpbCBrZWluZXIgRGVpbmUgU2FuZGJ1cmdlbgpiZWFjaHRldCwgYWJlciB3aXIgaGFiZW4gKGxlaWRlcikgYXVjaCBuaWNodCBkaWUgZ3Jvc3NlbiBidW50ZW4gRm9lcm1jaGVuLi4uCgp0b2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb25ncmF0dWxhdGlvbnMhIChDYXR3ZWF6bGUsICAyLiBBcHIgMTk5NiwgMTI6NDg6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgyODM2MjEzMAp+IyEgdGlkPTgyODM2MjEzMApIaSEKCk9rb2ssIGljaCBkZW5rZSBtaXR0bGVyd2VpbGUgaGF0IGVzIGplZGVyIHZlcnN0YW5kZW4sIGFiZXIgT3JkbnVuZwptdXNzIHNlaW46CgogICAgICAgICAgICAgICAgIEFQUklMIEFQUklMIDotKQoKWW91cnMgdHJ1bHksCiAgICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvbmdyYXR1bGF0aW9ucyEgKFJhZmZpLCAgMi4gQXByIDE5OTYsIDEyOjQ5OjEzKToKfiMhIHJuPU1hcml0YSBydD04Mjg0MTc2MTIKfiMhIHRpZD04MjgzNjIxMzAKTGllYnN0ZSBNYXJpdGEsCmRhcyBkdSBlaW5lciBTYWNoZGlza3VzaW9uIGF1cyBkZW0gV2VnIGdlaHN0LCBkYXJhbiBoYWIgaWNoIG1pY2ggaW56d2lzY2hlbgpnZXdvZWhudC4gTXVzcyBtYW4gc2ljaCBqZWRvY2ggZGFubiB2b24gRGlyIGFscyAnc28gYmxvZWRlIGthbm4gZG9jaCBrZWluZXIKc2VpbicgZGFyc3RlbGxlbiBsYXNzZW4gd2VubiBtYW4gYXVmIGVpbmVuIFNwYXNzIGVpbmdlaHQgPwoKTmEga2xhYXIgZG9jaCwgRHUgaGFzdCBkaWUgV2Vpc3NoZWl0IG1pdCBkZW0gTG9lZmZlbCBnZWZyZXNzZW4sIHVuZCBhbGxlCmFuZGVyZW4gc2luZCBJZGlvdGVuIChqZXAsIE9ldHRpLCB1bmQgc3RpbmtlbjopLiBLYW5uIGVzIHNlaW4sIGRhc3MgZGFzCmVpbiBUZWlsIGRlciBBcnJvZ2FueiBpc3QsIGRpZSBoaWVyIGJla3JpdHRlbHQgd2lyZD8gV2FzIG1pY2ggYmVydWhpZ3QgaXN0LApkYXNzIGljaCBub2NoIHdlaXNzIHdpZSBlcyAoYXVjaCkgRGlyIGFtIEFuZmFuZyBlcmdpbmcsIHVuZCBEdSBlYmVuIG5pY2h0CnZvbiBkZW4gQmFldW1lbiBnZWZhbGxlbiBiaXN0LgoKSWNoIHNwaWVsZSBoaWVyLCB1bmQgaWNoIGhhYmUgbWVpbmVuIFNwYXNzIGRhcmFuLiBBdWNoIHdlbm4gRHUgZXMgRGlyIG5pY2h0CnZvcnN0ZWxsZW4ga2FubnN0LCBkaWVzZXIgVG9kIHdhciBlaW5lciBkZXIgU3Bhc3NpZ3N0ZW4gc2VpdCBsYW5nZW0sIHdlbm4KbWFuIHZvbiBkZW0gRGllYnN0YWhsIG1hbCBhYnNpZWh0LgoKR3J1c3MKSC4KUC5TLjogR3V0ZSBCZXNzZXJ1bmcgZnVlciBhbGwgZGllIGRpZSBkZW4gU3Bhc3MgYXVjaCBtaXRnZW1hY2h0IGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsZWRlciB1bmQgbGVpZGVuIChUb2UsICAyLiBBcHIgMTk5NiwgMTM6NDI6NDkpOgp+IyEgcm49R3V5YnJ1c2ggcnQ9ODI4MjA2MTQ4Cn4jISB0aWQ9ODI4MTY3NTA1CjstKQpKZWRlciByZWFnaWVydCBoYWx0IHVudGVyc2NoaWVkbGljaCBhdWYgZGllIGdlbHVuZ2VuZSBQcm92b2thdGlvbi4uLgp0b2UsIGlzdCBpcmdlbmR3aWUgYXVjaCBpbiBkaWVzZSBGYWxsZSBnZXRhcHB0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENvbmdyYXR1bGF0aW9ucyEgKEJlZWx6ZWJ1YiwgIDIuIEFwciAxOTk2LCAxNToyOTo1Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODI4NDQyMTA5Cn4jISB0aWQ9ODI4MzYyMTMwClVlYnJpZ2VucywgamVkZXIgZGVyIGdsYXVidCwgZGllc2VyIEFwcmlsc2NoZXJ6IHdhZXJlIGdlbWVpbiBvZGVyIHNvLApkZXIgaGF0IGFtIDEuIEFwcmlsIEFyYWJlbGxhIG5pY2h0IEFyYWJlbGxhIE5pZ2h0IGdlc2VoZW4uCkRpZSBoYXR0ZW4gZGEgZWluZW4gT2xpdmVyLCBkZXIgUnVzc2lzY2hlcyBSb3VsZXR0ZSBnZXNwaWVsdCBoYXQuCihLdWdlbCBpbiBUcm9tbWVsLCBUcm9tbWVsIGRyZWhlbiwgS25hcnJlIGFuIGRlbiBLb3BmIGhhbHRlbiwgc2NoaWVzc2VuKQpBbHMgZXIgYmVpbSBkcml0dGVuIFZlcnN1Y2hlIGltbWVyIG5vY2ggbmljaHQgZ2VzdG9yYmVuIGlzdCwKd3VyZGUgQXByaWwsIEFwcmlsICEhISBlaW5nZWJsZW5kZXQuCkFsc28gZGFnZWdlbiB3YXIgQ2F0cyBTY2hlcnogd2lya2xpY2ggbHVzdGlnIHVuZCBvcmlnaW5lbGwuCgpCZWVsemUsCnZlcnN0ZWh0IHp3YXIgdmllbCBTcGFzcywgYWJlciBkYXMgd2FyIHdpZGVybGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWxpY2ggaW4gZGVuIERpZ2VzdCAoU2Fpa2FuLCAgMi4gQXByIDE5OTYsIDE3OjMxOjU3KToKRGF0ZTogTW9uLCAwMSBBcHIgMTk5NiAwODoxODozOCAtMDUwMApGcm9tOiBHb3Jkb24gV2F0dHMgLS0gQnJvd24gVW5pdmVyc2l0eSA8Z3dhdHRzQEZOQUwuR09WPgpTdWJqZWN0OiBbIV0gTWljcm9zb2Z0IHRvIGJ1eSBBcHBsZSE/CgpbT3VjaC4gIFdoYXQgd2lsbCB0aGUgYW50aS10cnVzdCBmb2xrcyBoYXZlIHRvIHNheSBhYm91dCB0aGlzPyAtR29yZG9uXQoKQ1VQRVJUSU5PLCBDYWxpZm9ybmlhLS1BcHJpbCAxLCAxOTk2IC0tIEFzIHBhcnQgb2YgQXBwbGUncyBvbmdvaW5nIGNvbW1pdG1lbnQKdG8gaXRzIGJ1c2luZXNzIHVzZXJzIGFuZCB0aGVpciByZXF1aXJlbWVudHMgZm9yIGNyb3NzIHBsYXRmb3JtIGNvbXBhdGliaWxpdHkKQXBwbGUgQ29tcHV0ZXIsIEluYy4gdG9kYXkgYW5ub3VuY2VkIHRoYXQgTWljcm9zb2Z0LCBJbmMuIHdpbGwgcHVyY2hhc2UgQXBwbGUKQ29tcHV0ZXIsIEluYy4gcGVuZGluZyBhcHByb3ZhbC4KCiJUaGlzIGlzIGEgZmFudGFzdGljIG9wcG9ydHVuaXR5IHRvIGhlbHAgdGhlIE1hY09TIGFjaGlldmUgZnVydGhlciBtYXJrZXQKcGVuZXRyYXRpb24sIiBHaWwgQW1laWxpbywgdGhlIG5ldyBDRU8gb2YgQXBwbGUgQ29tcHV0ZXIsIHNhaWQuICAiTm8gbG9uZ2VyCndpbGwgY29ycG9yYXRlIElTIG1hbmFnZXJzIGhhdmUgdG8gYXNrIGBBcHBsZSBvciBNaWNyb3NvZnQ/YCBBcHBsZSBicmluZ3MgYQpsb3QKdG8gdGhpcyBtZXJnZXIgLS0gc3VwZXJpb3IgaHVtYW4gaW50ZXJmYWNlLCBRdWlja3RpbWUsIFF1aWNrZHJhdyAzRCwKUXVpY2t0aW1lClZSLCBhbmQsIG9mIGNvdXJzZSwgT3BlbkRvYy4iCgpCaWxsIEdhdGVzLCB0aGUgY2hhaXJtYW4gb2YgTWljcm9zb2Z0LCBkZXNjcmliZWQgc29tZSBvZiB0aGUgbW9yZSB0ZWNobmljYWwKYXNwZWN0cyBvZiB0aGUgYnV5IG91dDogIkxvb2ssIEFwcGxlIGhhcyBjbGVhcmx5IGRvbmUgaXQgcmlnaHQgb24gc2V2ZXJhbApmcm9udHMsIGFuZCBNaWNyb3NvZnQgb24gb3RoZXJzLiAgVGhlIG9iamVjdCBvZiB0aGlzIG1lcmdlciBpcyB0byB0cnkgdG8gdGFrZQp0aGUgYmVzdCBvZiB0aGUgdHdvIG9wZXJhdGluZyBzeXN0ZW1zIGFuZCBjb21iaW5lIHRoZW0uICBRdWlja1RpbWUsIGZvcgpleGFtcGxlLCB3aWxsIGJlY29tZSB0aGUgZGVmYXVsdCBtb3ZpZSBhbmQgbXVzaWMgYXJjaGl0ZWN0dXJlIG9uIHRoZSBhbGwKZnV0dXJlIFdpbmRvd3Mgb3BlcmF0aW5nIHN5c3RlbXMuICBJdCB3aWxsIGJlIGRldmVsb3BlZCB0byBmdWxseSBzdXBwb3J0CnRoZSBXaW5kb3dzIHBsYXRmb3JtLiAgV2luZG93cyBwYWNrYWdlcyBsaWtlIERpcmVjdERyYXcgYW5kIERpcmVjdFNvdW5kIHdpbGwKYmUgcG9ydGVkIHRvIHRoZSBNYWNPUyBtYWtpbmcgaXQgbXVjaCBzaW1wbGVyIGZvciBnYW1lIGRldmVsb3BlcnMgdG8gZGV2ZWxvcApmb3IgYm90aCBwbGF0Zm9ybXMuICBXZSBhcmUgYWxzbyBjb25zaWRlcmluZyBtYWtpbmcgdGhlIFZpc3VhbCBDKysgbWFjIGNyb3NzCnBsYXRmb3JtIGRldmVsb3BtZW50IHRvb2wgYSBzdGFuZGFyZCBwYXJ0IG9mIHRoZSBtYWMgc3lzdGVtLiAgVGhpcyB3b3VsZCBtYWtlCml0IHBvc3NpYmxlIGZvciBwcm9ncmFtcyB0byB3cml0ZSB3aXRoIHRoZSBXaW5kb3dzIEFQSSBvbiBhIE1hYyBzeXN0ZW0uIgoKQW1lbGlvIGNvbnRpbnVlZCB3aXRoIHRoZSBsb25nIHJhbmdlIHBsYW5zIGZvciB0aGUgbWVyZ2VkIGNvbXBhbnksCiJFdmVudHVhbGx5LApwZXJoYXBzIDEwIHllYXJzIGZyb20gbm93LCB3ZSBlbnZpc2lvbiB0aGUgdHdvIG9wZXJhdGluZyBzeXN0ZW1zIGNvbWluZyBmcm9tCmEgY29tbW9uIGNvZGUgYmFzZS4gIFVzaW5nIHRoZSB0ZWNobm9sb2d5IG9mIEFwcGxlJ3MgQXBwZWFyYW5jZSBNYW5hZ2VyIHRoZQp1c2VyIHdpbGwgYmUgYWJsZSB0byBzZWxlY3QgYSBXaW5kb3dzIG9yIE1hY09TIGxvb2sgZm9yIHRoZWlyIGNvbXB1dGVyLiIKCk90aGVyIHRlY2hub2xvZ2llcyB0aGF0IHdpbGwgYmUgcG9ydGVkIHRvIFdpbmRvd3MgaW5jbHVkZSBRdWlja0RyYXcgM0QgYW5kClF1aWNrRHJhdyBHWC4gIFFEM0Qgd2lsbCByZXBsYWNlIE9wZW5HTCBvbiBXaW5kb3dzIHN5c3RlbXMuICBPbiB0aGUgQXBwbGUKcGxhdGZvcm0gUURHWCBoYXMgbm90IGhhZCBnb29kIG1hcmtldCBwZW5ldHJhdGlvbiBkdWUgdG8gaXRzIGxhcmdlIHNpemUgYW5kCmhlYXZ5IGRlbWFuZCBvbiBzeXN0ZW0gcmVzb3VyY2VzLiAgSG93ZXZlciwgR2F0ZXMgbm90ZWQgIldpbmRvd3MgdXNlcnMgYXJlCnVzZWQgdG8gbGFyZ2Ugc3lzdGVtIGNvbXBvbmVudHMgYW5kIHByb2dyYW1zIGxpa2UgV29yZDsgZm9ydHVuYXRlbHkgYm90aAptZW1vcnkKYW5kIENQVXMgYXJlIGRyb3BwaW5nIGluIHByaWNlLiIKClBldGVyIExld2lzLCB0aGUgZXZlci1wcmFjdGljYWwgYXdhcmQtd2luaW5nIHNoYXJld2FyZSBhdXRob3IgZm9yIHRoZSBNYWMsCndhcwplbnRodXNpYXN0aWM6ICJBbnl0aGluZyB0aGF0IGxldHMgbWUgd3JpdGUgcHJvZ3JhbXMgZm9yIHVzZSBieSBtb3JlIHBlb3BsZSBpcwpmaW5lIGJ5IG1lLiIgIEhlIHdlbnQgb24gdG8gY29tbWVudCB0aGF0LCBzZWNyZXRseSwgaGUgaGFzIGFsd2F5cyBhZG1pcmVkIHRoZQpXaW5kb3dzIHBsYXRmb3JtIGFuZCBsb29rcyBmb3J3YXJkIHRvIHdvcmtpbmcgd2l0aCBpdC4gIEFkYW0gRW5nc3QsIGF1dGhvciBvZgpzZXZlcmFsIEludGVybmV0IGJvb2tzIGFuZCBwdWJsaXNoZXIgb2YgVGlkQml0cywgYW4gZWxlY3Ryb25pYyBNYWNpbnRvc2gKbmV3c2xldHRlciwgbm90ZWQgdGhhdCAidGhpcyBtZXJnZXIgd2lsbCBwdXQgdG8gcmVzdCwgZm9yZXZlciwgdGhlIHF1ZXN0aW9ucwpvZgpBcHBsZSdzIHZpYWJpbGl0eS4gIE5vIG9uZSBpcyB3b3JyaWVkIGFib3V0IE1pY3Jvc29mdCBnb2luZyBhd2F5LiIgIEd1eQpLYXdhc2FraSwgQXBwbGUgZmVsbG93IGFuZCBtb2RlcmF0b3Igb2YgdGhlIGZhbW91cyBFdmFuZ2VMaXN0IG1haWxpbmcgbGlzdAp3YXMKcXVpdGUgZXhjaXRlZCBhYm91dCB0aGUgcGxhbjogIkkgZGlkIGdpdmUgaGltIG15IGJvb2ssIEhvdyB0byBEcml2ZSBZb3VyCkNvbXBldGl0aW9uIENyYXp5LiIKCk1pY3Jvc29mdCBpcyB2ZXJ5IGF3YXJlIG9mIEFwcGxlIHVzZXJzJyBuZWVkcyBhbmQgdGhlaXIgZGV2b3Rpb24gdG8gdGhlIEFwcGxlCnBsYXRmb3JtLiAgR2F0ZXMgY29tcGFyZWQgdGhlIHBoZW5vbWVuYSB0byBiZWVyIGxvdmVycyB3aG8gcmVmdXNlIHRvIGRyaW5rCnRoZQpjb21tb24gYmVlcnMgYW5kIGluc2lzdCBvbiB0aGUgbW9yZSBleHBlbnNpdmUsIGJ1dCBiZXR0ZXIgdGFzdGluZyBNaWNyb2JyZXdzLgpUbyBhc3N1cmUgQXBwbGUgY3VzdG9tZXJzLCBNaWNyb3NvZnQgaXMgcGxhbm5pbmcgYSBsYXJnZSBQUiBjYW1wYWlnbi4gIE92ZXIKJDIwCm1pbGxpb24gZG9sbGFycyBpcyB0byBiZSBzcGVudCBvbiBhZHZlcnRpc2luZy4gIFRoZSB0aGVtZSBzb25nIHdpbGwgYmUgIldlCmFyZQp0aGUgQ2hhbXBpb25zIiBhcyBwZXJmb3JtZWQgYnkgUXVlZW4sIHRoZSByaWdodHMgZm9yIHdoaWNoIHdlcmUgcHVyY2hhc2VkIGZvcgptb3JlIHRoYW4gMTMgbWlsbGlvbiBkb2xsYXJzLgoKQXBwbGUncyBob21lIHBhZ2Ugb24gdGhlIFdvcmxkIFdpZGUgV2ViIGNhbiBiZSBjdXJyZW50bHkgZm91bmQgYXQ6Cmh0dHA6Ly93d3cuYXBwbGUuY29tLywgaG93ZXZlciwgaXQgd2lsbCBzb29uIG1vdmUgdG8gYSBsaW5rIGZyb20KaHR0cDovL3d3dy5taWNyb3NvZnQuY29tLy4KCkFwcGxlLCB0aGUgQXBwbGUgbG9nbywgYW5kIE1hY2ludG9zaCBhcmUgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIEFwcGxlCkNvbXB1dGVyLCBJbmMuIEFsbCBvdGhlciBicmFuZCBuYW1lcyBtZW50aW9uZWQgYXJlIHRyYWRlbWFya3Mgb3IKcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIHRoZWlyIHJlc3BlY3RpdmUgaG9sZGVycyBhbmQgYXJlIGhlcmVieQphY2tub3dsZWRnZWQuCgoKLTMwLQoKRU5ECgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWxpY2ggaW4gZGVuIERpZ2VzdCAoQWNyaW1vbiwgIDMuIEFwciAxOTk2LCAwNDoxNDoyNik6Cn4jISBybj1TYWlrYW4gcnQ9ODI4NDU5MTE3Cn4jISB0aWQ9ODI4NDU5MTE3CkljaCBob2ZmZSwgZGFzIHdhciBudXIgZWluIHNjaGxlY2h0ZXIgQXByaWxzY2hlcnouCkplZGVyIHdlaXN6IGRvY2gsIHdpZSBNaWNyb3NvZnQgc2VpbmVuIEt1bmRlbiBIb25pZyB1bSBkaWUgTmFzZW4gc2NobWllcnQgdW5kCmF1ZnMgVWViZWxzdGUgYXVzdHJpY2tzdC4KV2VubiBsZXR6dGUgQXJ0aWtlbCB0YXRzYWVjaGxpY2ggd2FociBzZWluIHNvbGx0ZSwgZGFubiB3ZWhlIGRlbiBBcHBsZS1Vc2Vybi4KTWljcm9zb2Z0IHdpcmQgaW4gaWhyZSBTb2Z0d2FyZSBCdWdzIGVpbmJhdWVuLCBkaWUgaWhyZSBIYWxid2VydHN6ZWl0IHN0YXJrCnZlcmt1ZXJ6ZW4sIHVuZCBlbnRzcHJlY2hlbmQgb2Z0IEJ1Z2ZpeGVzIG1pdCBhbmRlcmVuIChhbmZhbmdzIHVuYmVrYW5udGVuKQpCdWdzIGhlcmF1c2JyaW5nZW4sIHVtIGRlbiBVc2VybiAxLiBzb3ZpZWwgR2VsZCBhbHMgbnVyIG1vZWdsaWNoIGF1cyBkZXIKVGFzY2hlIHp1IHppZWhlbiwgMi4gYWxzIGZsZWlzc2lnIHp1IGVyc2NoZWluZW4gdW5kIDMuIGRhZHVyY2ggZ2FyIGluIGRlcgpHdW5zdCBkZXIgQmVudXR6ZXIgenUgc3RlaWdlbiB2ZXJzdWNoZW4uCkRJZXMgd2FyIGRpZSBsYW5namFlaHJpZ2UgUHJheGlzIGRpZXNlciBCZXRydWVnZXJmaXJtYSwgdW5kIHNpZSB3aXJkCnNpY2hlcmxpY2ggbmljaHQgc28gbGVpY2h0IGRhdm9uIGFibGFzc2VuLgoKSW4gbWVpbmVuIEF1Z2VuIGlzdCBNaWNyb3NvZnQgZGllIHNjaGxpbW1zdGUgSW5zdGFueiBkZXMgVmVyYnJlY2hlbiBkZXMKS2FwaXRhbGlzbXVzLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyIHdpcmQgTklFIGF1Y2ggbnVyIGdlc2NoZW5rdCBuZWhtZW4sIHdhcyB2b24KTWljcm9zb2Z0IGtvbW10LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ29uZ3JhdHVsYXRpb25zISAoTWFyaXRhLCAgMy4gQXByIDE5OTYsIDIzOjIzOjMyKToKfiMhIHJuPVJhZmZpIHJ0PTgyODQ0MjE1Mwp+IyEgdGlkPTgyODM2MjEzMApIaSBhbGxlLApkb2NoIG5vY2htYWwgZWluIGt1cnplcyBSZXBseSB6dSBtZWluZW0gQm94a2FtcGYgbWl0IFJhZmZpIDstKSBJY2ggd2VyZGUKenVyIFplaXQgbWl0IG5pY2h0IGdhbnogd29obHdvbGxlbmRlciBNYWlsIHp1Z2VzY2h1ZXR0ZXQgKElzdCBlaW5lIGdhbnogbmV1ZQpFcmZhaHJ1bmcgZnVlciBtaWNoKS4gSWNoIHN0ZWhlIHp1ciBaZWl0IGluIEJyaWVmd2VjaHNlbCBtaXQgUmFmZmkgLQpnbGF1YnQgbWlyLCBlciBrYW5uIGZ1ZXIgc2ljaCBzZWxiZXIgc3ByZWNoZW4gdW5kIHR1dCBkYXMgYXVjaC4gRXVyZSBTb2xpLQpkYXJpdGFldHNiZWt1bmR1bmdlbiBmdWVyIGlobiBzaW5kIGJlaSBtaXIgYW5nZWtvbW1lbi4gQWxzbyBiaXR0ZSBuaWNodAptZWhyIGFucnVmZW4sIFRFRCBoYXQgc2ljaCBzY2hvbiBlbnRzY2hpZWRlbiEgOy0pCk1hcml0YSAod2lyZCBzaWNoIGJlbXVlaGVuLCBkZW1uYWVjaHN0IHdpZWRlciB6dSB6ZWlnZW4sIGRhc3Mgc2llIGF1Y2gKICAgICAgICB2ZXJudWVuZnRpZ2UgQXJ0aWtlbCBzY2hyZWliZW4ga2FubikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BpZWxlciAtIEVpbmUgQmlsYW56IChXdXIsICA0LiBBcHIgMTk5NiwgMDU6MDQ6MzgpOgp+IyEgcm49VGVycm9yaXN0IHJ0PTgyNzk5NTQ0NAp+IyEgdGlkPTgyNzkxMzkyNQpFaW4gRW5kZSBiZWkgZGVtIEtyZWlzbGF1ZiBkZXIgR2lsZGVuIHRyaXR0IHp1bSBCZWlzcGllbCBnZW5hdSBkYW5uIGVpbiwKc29iYWxkIG5pY2h0IGplZGVyIGRhbmFjaCBnZWh0ICcgV2VsY2hlIEdpbGRlIGlzdCBhbSBTdGFlcmtzdGVuJy4gRGFzCnNjaGxpZXNzdCBzZWxic3R2ZXJzdGFlbmRsaWNoIG1pdCBlaW4sIGRhcyBzaWNoIG5pY2h0IGplZGVyIFNwaWVsZXIgZWluZW4KeC10aWUgc2NoYWZmdCwgdW0gYXVjaCBpbiBkZW4gR2VudXNzIGFsbGVyIEdpbGRlbiB6dSBrb21tZW4uIElyZ2VuZHdpZSBrb21tdAptaXIgZGFzIGtvbWlzY2ggdm9yLi4uZmFzdCBKZWRlciBzY2hlaW50IGhpZXIgZGVyIEJlc3RlIHVuZCBTdGFlcmtzdGUgc2VpbiB6dQp3b2xsZW4gdW5kIGRhenUgbm9jaCB1ZWJlciBhbGxlcyB3YXMgaGllciBnZXNjaGllaHQsIGdlbmF1IGluZm9ybWllcnQgenUgc2Vpbi4KTXVzcyBkYXMgc28gc2Vpbj8KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2gga3JpZWcgbmUgS3Jpc2U/IChXdXIsICA0LiBBcHIgMTk5NiwgMDU6MTc6NDApOgp+IyEgcm49R3V5YnJ1c2ggcnQ9ODI4MTMwMjQ2Cn4jISB0aWQ9ODI4MTI5OTg3Cldlbm4gRHUgZGFzIHZvcmhhc3QgR3V5YnJ1c2guLi5zYWdzIG1pciBkb2NobWFsIHZvcmhlci4gVmllbGxlaWNodCBrYW5uIGljaApEaXIgamEgZWluIHBhYXIgbnVldHpsaWNoZSBUaXBzIHZlcnJhdGVuLi4uCgpXdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXIgLSBFaW5lIEJpbGFueiAoTGksICA0LiBBcHIgMTk5NiwgMDk6NDA6NDkpOgp+IyEgcm49V3VyIHJ0PTgyODU4NzA3OAp+IyEgdGlkPTgyNzkxMzkyNQpXdXIgLSBqYSwgZGVubiBkYXMgTVVEIHNwaWVnZWx0IGRhcyBSTC4KTGkgKGhldXRlIG1hbCBmaWxvc29maXNjaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNhcGl0YWxpemVuIChBbW9uc3VsLCAgNS4gQXByIDE5OTYsIDAyOjE2OjA3KToKV2llIGthbm4gbWFuIGRlbm4gYml0dGUgaGllciBlaW56ZWxuZSBCdWNoc3RhYmVuIHNlaW5lcyBOYW1lbnMKaW0gTmFjaGhpbmVuIGNhcGl0YWxpemVuPyBTbyB3aWUgZXMgekIgQVJUWSBvZGVyIENhdU5vIGdlbWFjaHQKaGFiZW4uCgpkaWUgV2V0dGVyc3BpdHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY2FwaXRhbGl6ZW4gKEFzbW9kaXMsICA1LiBBcHIgMTk5NiwgMDI6NTg6MTApOgp+IyEgcm49QW1vbnN1bCBydD04Mjg2NjMzNjcKfiMhIHRpZD04Mjg2NjMzNjcKbG9nZyBkaWNoIGVpbmZhY2ggc28gZWluLCB3aWUgZHUgZXMgbW9lY2h0ZXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNhcGl0YWxpemVuIChDYXVubywgIDUuIEFwciAxOTk2LCAwMzoxNTozOCk6Cn4jISBybj1BbW9uc3VsIHJ0PTgyODY2MzM2Nwp+IyEgdGlkPTgyODY2MzM2NwoKRGFzIGlzdCBuaWNodCBpbSBuYWNoaGluZWluIGNhcGl0YWxpemVkLiB3aXIgd3Vzc3RlbiBzY2hvbiB2b3JoZXIsIHdhcyB3aXIKd29sbHRlbiAuLi4KCgkJCQlDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjYXBpdGFsaXplbiAoR3VsZHVrYXQsICA1LiBBcHIgMTk5NiwgMTE6MjM6MDUpOgp+IyEgcm49QXNtb2RpcyBydD04Mjg2NjU4OTAKfiMhIHRpZD04Mjg2NjMzNjcKCmdlaHQgbnVyIG5hY2ggcmVib290IG9kZXIgZW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcHJvYmxlbWUgKFd1cnplbCwgIDYuIEFwciAxOTk2LCAyMDo1MToyNCk6CmhhbGxvLAoKZHVyY2ggZWluZW4gc29nZW5hbm50ZW4gYnVnZml4IGhhdCBzaWNoIGVpbiBmZWhsZXIgaW4gZWluZXIgYWxsZ2VtZWluZW4KZnVua3Rpb24gZWluZ2VzY2hsaWNoZW4sIGRlciBkYXMgc3BpZWxnZXNjaGVoZW4gemllbWxpY2ggc3RhcmsKYmVlaW50cmFlY2h0aWd0LgpiaXMgenVyIGtvcnJla3R1ciAoa2FubiBudXIgZHVyY2ggamVtYW5kIG1pdCBzY2hyZWliYmVyZWNodGlndW5nLCBhbHNvIGVyemkKb2RlciBnb3R0IGVyZm9sZ2VuKSBrYW5uIGVzIG5vY2ggZGF1ZXJuLCBhbHNvIG5pY2h0IHd1bmRlcm4sIHdlbm4gZGVyCmhlcnpzY2hsYWcgbWFsIGF1c3NldHp0LiB3ZW5uIGRlciBmZWhsZXIgYmVob2JlbiBpc3QsIG11c3MgZWluIHJlYm9vdAplcmZvbGdlbiwgdW0gZGllIGtvcnJla3R1ciB3aXJrc2FtIHdlcmRlbiB6dSBsYXNzZW4uIG1hbiBrYW5uIHNwaWVsZW4sCnouYi4gdWViZW4gb2RlciBhdWNoIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gemF1YmVydHJhbmsvZm9yc2NoZXJwdW5rdApzYW1tZWxuLCBudXIgYmVpIGdlZmVjaHRlbiB3aXJkIGVzIHRlaWx3ZWlzZSBwcm9ibGVtYXRpc2NoLgoKdHV0IG1pciBsZWlkLCBkYXNzIGljaCBuaWNodCBtZWhyIG1hY2hlbiBrYW5uLgoKZ3J1c3MsIHd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IChQYXJhY2Vsc3VzLCAgNi4gQXByIDE5OTYsIDIxOjI3OjI1KToKTnVyIHNvIHp1ciBJbmZvcm1hdGlvbjoKV2VnZW4gZWluZXMgRmVobGVycyBpbSBLYW1wZm1vZHVsIG11c3N0ZW4gd2lyIGViZW4gcmVib290ZW4uCgpQYXJhY2Vsc3VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXVudWNoZW4gKFRhbmdhbHVyLCAgOS4gQXByIDE5OTYsIDEyOjUyOjMxKToKVGphIGxldXRlIHNvIHNjaG5lbGwga2FubnMgZ2VoZW4gMSBEYSBzdGVodCBtYW4gbmljaHRzIGJvZXNlcyBhaG5lbmQgaW4gUFYKYXVmIGRlciBTdHJhc3NlCm1hY2h0IGdyYWRlIGF1ZiBlaW5lciB6d2VpdGVuIFNlaXRlIHNlaW5lIEUtbWFpbC4uLiB1bmQgc2Nob24gaXNzZXIgd2VnLgoKZGFiZWkgaGFiIGljaCBtaWNoIGJpcyBoZXIgZnVlciBlaW5lbiBFbWF6aXBpZXJ0ZW4gbWFuIGdlaGFsdGVuIHVuZCBkZW4gZGFtZW4KaGllciBpbQpNdWQgbmllIGV0d2FzIGJvZXNlcyBhbmdldGFuICEKCkRhcyBiZXNjaGFlbWVuc3RlIGlzdCBqZXR6IG1pdCBkaWVzZW0gYmxvZWRlbiBUaXRlbCBydW1sYXVmZW4genUgbXVlc3NlbiwgYWxzCndlaWJsaWNoZXIgQ2hhcmF0ZXIgd2VpdGVyc3BpZWxlbiB3YWVyZSBqYSBrZWluIFByb2JsZW0uICh3aWUgZ2VzYWd0IE1BTk4gaXN0CmphIGhldXR6dXRhZ2UgZW1hbnppcGllcnQuCgpXYXMgbWFuIHZvbiBkZXIgdmVyYW50d29ydGxpY2hlbiBEYW1lIHdvaGwgbmljaHQgYmVoYXVwdGVuLCBrYW5uIGxvZ2d0IHNpY2gKaGllciB1bnRlciBmYWxzY2hlbiBOYW1lbiBlaW4gdW5kIGVudG1hbm4gZGFzIGhhbGJlIE11ZC4KCmVpbiB6aWVtbGljaCBzYXVyZXIgVGFuZ2FsdXIgRmV1ZXJ0YXR6ZSAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChHcmltbWJvcm4sIDEwLiBBcHIgMTk5NiwgMTI6MzU6NTApOgp+IyEgcm49UGFyYWNlbHN1cyBydD04Mjg4MTg4NDUKfiMhIHRpZD04Mjg4MTg4NDUKCkphamEsIGRhcyBpc3QgaGllciBlaW5lciBkZXIgenUgdmVybWVpZGVuZGVuICJGaW5kIGljaCBndXQiLUFydGlrZWwsIGFiZXI6CkRlbiBBcnRpa2VsIHZvbiBQYXJhY2Vsc3VzIHNvbGx0ZW4gc2ljaCBBTExFIEVNKyBkcmVpbWFsIGR1cmNobGVzZW4sCmF1c2RydWNrZW4gdW5kIHVlYmVycyBCZXR0IGhhZW5nZW4uIERhcyBpc3QgbmFlbWxpY2ggZWluIFdlZywgd2llIG1hbgp1bm5vZXRpZ2VuIEZydXN0IGJlaSBkZW4gU3BpZWxlcm4gKCJXaWVzbyBzYWd0IG1pciBrZWluZXIgd2FzIGxvcyBpc3Q/IikKbWluaW1pZXJlbiBrYW5uLiBVbmQgZGFzIG1pdCBmYXN0IGtlaW5lbSBBdWZ3YW5kLgoKQnJhdm8sIHdlaXRlciBzbyEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gUmVndCBkaWVzZSBBcnQgdm9uIEFydGlrZWxuIHNlaXQgZ3V0IDIgSmFocmVuIGFuIHVuZApoYXQgZWJlbiBkZW4gZXJzdGVuIGRpZXNlciBBcnQgZ2VmdW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXphcmRzLi4gKFplcGh5ciwgMTAuIEFwciAxOTk2LCAxNjowNzoxOSk6CkViZW4sIGltIEFkYW1BbnQ6CgpGaXJpYW4gdGFrZXMgc29tZXRoaW5nIG91dCBvZiBoaXMgaW5leGhhdXN0aWJsZSBYLXJheSBjb25mZXJlbmNlIGJhY2twYWNrLgpGaXJpYW4gcHV0cyBvbiBhIGJsdWUgY2xvYWsgd2l0aCBtYWdpY2FsIHN5bWJvbHMgYW5kIGEgc29yY2VyZXIncyBoYXQuCkZpcmlhbiBzaW5nczogV2l6YXJkcyBuZWhtZW4gYXVmIGRlbiBBcm0KRmlyaWFuIHNpbmdzOiBXaXphcmRzIGxpZWJlbiBCb3NoYWZ0aWdrZWl0CkZpcmlhbiBzaW5nczogV2l6YXJkcyBmZWl4ZW4gaGVpbWxpY2gKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGJyYXVjaGVuIEF1Zm1lcmtzYW1rZWl0CkZpcmlhbiBzaW5nczogV2l6YXJkcyBzaW5kIHNvIHZlcmxldHpsaWNoCkZpcmlhbiBzaW5nczogV2l6YXJkcyBzaW5kIGluIGRpZXNlbSBNdWQgZWluZmFjaCB1bmVyc2V0emxpY2gKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGFlcmdlcm4gUGxheWVyCkZpcmlhbiBzaW5nczogV2l6YXJkcyBzdGVobiBzdGFlbmRpZyB1bnRlciBTdHJvbQpGaXJpYW4gc2luZ3M6IFdpemFyZHMgc2luZCBtYW5jaG1hbCBibG9lZGUKRmlyaWFuIHNpbmdzOiBXaXphcmRzIHNjaHdlaWdlbiBhbSBUZWxlZm9uCkZpcmlhbiBzaW5nczogV2l6YXJkcyBzaW5kIGFsbHplaXQgYmVyZWl0CkZpcmlhbiBzaW5nczogV2l6YXJkcyBiZXN0ZWNoZW4gZHVyY2ggaWhyZW4gU3RvbHogdW5kIGlocmUgRGFlbWxpY2hrZWl0CkZpcmlhbiBzaW5nczogV2l6YXJkcyBuZWhtZW4ncyBzY2h3ZXIsIGhhYmVuJ3MgbGVpY2h0CkZpcmlhbiBzaW5nczogQXVzc2VuIGhhcnQgdW5kIGRpZSBCaXJuZSBnYW56IHdlaWNoCkZpcmlhbiBzaW5nczogV2VyZGVuIGFscyBLbmlnaHQgc2Nob24gYXVmIFdpeiBnZWVpY2h0CkZpcmlhbiBzaW5nczogV2FubiBpc3QgZWluIFdpeiBlaW4gV2l6PwpGaXJpYW4gc2luZ3M6IFdpemFyZHMgc25vb3BlbiBnZXJuZQpGaXJpYW4gc2luZ3M6IFdpemFyZHMgaGFiZW4gZGF1ZXJuZCBGcnVzdApGaXJpYW4gc2luZ3M6IFdpemFyZHMgdHJhdWVuIG5pZW1hbmQKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGhhYmVuIG9mdCBrZWluZSBMdXN0CkZpcmlhbiBzaW5nczogV2l6YXJkcyBzaW5kIGVpbnNhbWUgU3RyZWl0ZXIKRmlyaWFuIHNpbmdzOiBNdWVzc2VuIGluIGplZGVuIFJvb20sIG11ZXNzZW4gaW1tZXIgd2VpdGVyCkZpcmlhbiBzaW5nczogV2l6YXJkcyBtb2VnZW4gbmllbWFuZApGaXJpYW4gc2luZ3M6IFdpemFyZHMgc2luZCBzY2hvbiBhbHMgS25pZ2h0IGdhbnogc2NobGF1CkZpcmlhbiBzaW5nczogV2l6YXJkcyBiYXVlbiBTY2hlaXNzZQpGaXJpYW4gc2luZ3M6IFdpemFyZHMgbWFjaGVuIGdlcm4gYXVjaCBEaWNoIHp1ciBTYXUKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGNvZGVuIEZ1bi1Ub29scwpGaXJpYW4gc2luZ3M6IFdpemFyZHMgbWFjaGVuIGFsbGVzIGdhbnogZ2VuYXUKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGhhYmVuIGtlaW5lIEZyZXVuZGUKRmlyaWFuIHNpbmdzOiBXaXphcmRzIGhhYmVuIGt1cnplcyBIYWFyCkZpcmlhbiBzaW5nczogV2l6YXJkcyBzaW5kIG9mdCBFbGZlbgpGaXJpYW4gc2luZ3M6IFdpemFyZHMgc2luZCBldHdhcyBzb25kZXJiYXIKRmlyaWFuIHNpbmdzOiBXaXphcmRzIHNpbmQgc28gdmVybGV0emxpY2gKRmlyaWFuIHNpbmdzOiBXaXphcmRzIHNpbmQgaW4gZGllc2VtIE11ZCBlaW5mYWNoIHVuZXJzYWV0dGxpY2gKRmlyaWFuIHN0YW5kcyB1cCBhbmQgYm93cyBkZXBwbHkuCkZpcmlhbiBzYXlzOiBUaGFua3MuCkZpcmlhbiByZW1vdmVzIHRoZSBjbG9hayBhbmQgdGhlIGhhdC4KClplcGh5ciAoamEsIGljaCB3ZWlzcywgYWJlciB3ZXIgbGllc3Qgc2Nob24ga3VsdHVyPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFlbmRlcnVuZyBhbSBhbGlhcy1CZWZlaGwgKEhpZ2hsYW5kZXIsIDExLiBBcHIgMTk5NiwgMTA6MzQ6MzEpOgpIYWxsbyEKV2llIHZvciBrdXJ6ZW0gdm9uIGplbWFuZGVtIHZvcmdlc2NobGFnZW4gaGFiZSBpY2ggZGVuIGFsaWFzLUJlZmVobCBkYWhpbi0KZ2VoZW5kIGdlYWVuZGVydCwgZGFzcyBtYW4gamV0enQgYXVjaCBlaW5lIExpc3RlIGFsbGVyIG1pdCBlaW5lciBiZWxpZWJpZ2VuClplaWNoZW5mb2xnZSBzdGFydGVuZGVuIEFsaWFzZSBhbmdlemVpZ3QgYmVrb21tZW4ga2Fubi4KRnVua3Rpb25pZXJ0IG1pdAphbGlhcyA8c3RhcnRzdHJpbmc+KgpBbHNvIHp1bSBCZWlzcGllbDoKClsvcGxheWVycy9oaWdobGFuZGVyXSBXYXQgbnU/IGFsaWFzIHMqCkZvbGdlbmRlIEFsaWFzZSBiZWdpbm5lbiBtaXQgInMiOgogc2MgICAgID0gc2NvcmUKIHNob3V0ICA9IHJ1ZmUgJCoKIHNsICAgICA9IGluIC9naWxkZW4vYWJlbnRldXJlciBzcGVuZGVubGlzdGUKIHNsbCAgICA9IGxlbmtlIGxpbmtzCiBzbHIgICAgPSBsZW5rZSByZWNodHMKIHNtaWxlICA9IGxhZWNobGUKIHNzYSAgICA9IHNjaGllYmUgc2NobGl0dGVuIGFuCiBzc3MgICAgPSBzY2hpZXNzZSBzdGVpbiBuYWNoICQqCiBzdWIgICAgPSB1bnQgYmFobgoKSG0sIGljaCBnbGF1YmUsIHNtaWxlIHN0YXR0IGxhZWNobGUgaXN0IG1pciBzY2hvbiBsYW5nIG5pY2h0IG1laHIgcGFzc2llcnQgOj4KRGFzIGFsaWFzLCBkYXMgZ2VuYXUgZGVtIFN0YXJ0c3RyaW5nIGVudHNwcmljaHQsIHdpcmQgZGFiZWkgZ2dmLiBhdWNoCmFuZ2V6ZWlndC4KCiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKNjAxISAoQ2F0d2VhemxlLCAxMS4gQXByIDE5OTYsIDEzOjUxOjE5KToKSGkhCgpEaWVzZXIgQXJ0aWtlbCBiZXRyaWZmdCBudXIgTXVlbnN0ZXJhbmVyLCBhYmVyIGljaCBtdXNzIGlobiBqYQppcmdlbmR3byBzY2hyZWliZW4uClZvbiBkZW4gTXVlbnN0ZXJhbmVyIGJldHJpZmZ0IGVzIGF1Y2ggbnVyIGRpZSwgZGllIGltIFJhdW0gNjAxIHNpdHplbi4KCldpZSBkaWUgbWVpc3RlbiBtaXRiZWtvbW1lbiBoYWJlbiwgZ2FicyBrdWVyemxpY2ggQWVyZ2VyLCB3ZWdlbiBlcmhvZWh0ZXIKTGF1dHN0YWVya2UgaW0gNjAxLiBEYXMgaGF0IHNpY3hoIHNjaG9uIGVpbiBiaXNzY2hlbiBnZWJlc3NlcnQuClRyb3R6ZGVtIGlzdCBtYW4gaW4gZGVyIE1hdGhlbWF0aWsgenUgZGVyIE1laW51bmcgZ2VsYW5ndCwgZGFzIHp1dmllbGUKdW5iZXJlY2h0aWd0ZSBMZXV0ZSBpbSA2MDEgc2l0emVuIHVuZCBMYWVybSBtYWNoZW4uIERhcyBpc3Qgc28KZHVyY2hhdXMgYXVjaCByaWNodGlnLCBzY2hsaWVzc2xpY2ggaXN0IGVzIGVpbiBEaXBsb21hbmRlbnJhdW0uCgpUcm90emRlbSBtb2VjaHRlIGljaCBkaWVzZW0gUmF1bSB1bmdlcm4gbWlzc2VuLCBkYSBlciBkZXIgZWluemlnZSBpc3QsCmRlciBhdWNoIGFiZW5kZSBub2NoIGdlb2VmZm5ldCBoYXQuCgpEaWUgTWF0aGVtYXRpayBoYXQgc2ljaCB1ZWJlcmxlZ3QsIGRpZSBSZWNoZXIgaW4gZGllc2VtIFJhdW0gZnVlciBOaWNodC0KaW5mb3JtYXRpa2VyIHp1IHNwZXJyZW4sIHdlbm4gc2ljaCBkaWUgTGFnZSBuaWNodCBiZXNzZXJ0LiBEYXMgd3VlcmRlCmFsbGUgYmlzIGF1ZiBSb2NodXMgYmV0cmVmZmVuLiBEYWhlciBtZWluZSBBdWZmb3JkZXJ1bmc6CgogISEhISBIYWx0ZXQgZGllIEtsYXBwZSBpbSA2MDEgISEhIQogICEhISEgTWFjaHQgUGxhdHosIHdlbm4gRGlwbG9tYW5kZW4ga29tbWVuICEhISEKCkV4YWt0IGhlaXNzdCBkYXMsIGtlaW4gR2VsYWJlciB1ZWJlciB0b2xsZSBuZXVlIE1vbnN0ZXIsIGNsZXZlcmUKTGV2ZWxsb2VzdW5nZW4gdW5kIGVyb2JlcnRlIEdDLVBsYW5ldGVuIC4uLiBJaHIgc2l0enQgYW4gbmVtIFRlcm1pbmFsCnVuZCBoYWVuZ3QgaW4gbmVtIE11ZCBtaXQgZGVtIElociBFdWNoIHByaW1hIHVudGVyaGFsdGVuIGtvZW5udC4KQW5zb25zdGVuLCB3ZW5ucyB3YXMgd2ljaHRpZ2VzIGdpYnQsIFNjcmVlbiBsb2NrZW4gdW5kIGt1cnogdm9yCmRpZSBUdWVyIGdlaGVuIQpWaWVsZW4gREFuayBmdWVyIElocmUgQXVmbWVya3NhbWtlaXQuLi4KWW91cnMgdHJ1bHksCiAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lsbGtvbW1lbiBpbSBHZWZhZW5nbmlzIDopIChBbGluZSwgMTIuIEFwciAxOTk2LCAxNDo1NDozNSk6CkhpIE1pdGdlZmFuZ2VuZSwKCmRhcyBGb2xnZW5kZSBoYWJlIGljaCBnZXJhZGUgaW4gZGVyIFplaXR1bmcgZ2VmdW5kZW46CgpbLi4uLi5BcnRpa2VsIHVlYmVyIGRhcyBCdWNoICJEaWUgV3Vlc3RlIEludGVybmV0IiB2b24gQy4gU3RvbGwuLl0KU2VpbiBCdWNoIGlzdCBlaW4gUGxhZWRveWVyIGRhZnVlciwgc2ljaCBuaWNodCBpbiBkZW4gR2VmYWVuZ25pc3NlbgpkZXIgdmlydHVlbGxlbiBSZWFsaXRhZXRlbiBlaW56dXNwZXJyZW4gb2RlciBlaW5zcGVycmVuIHp1IGxhc3NlbiwKZGllIGluIGRlciBDb21wdXRlcnNwcmFjaGUgYmV6ZWljaG5lbmRlcndlaXNlICJNdWx0aSBVc2VyIER1bmdlb25zIiwKa3VyeiBNVURzIGhlaXNzZW4gKGR1bmdlb24gPSBkdW5rbGVzIFZlcmxpZXMsIEtlcmtlcikuICJBbGxlbiBWZXItCmhlaXNzdW5nZW4gdmlydHVlbGxlciBHZW1laW5zY2hhZnRlbiB6dW0gVHJvdHo6IEVzIGlzdCB3aWNodGlnZXIsCmVpbiB3aXJrbGljaGVzIExlYmVuIGluIGVpbmVyIHdpcmtsaWNoZW4gVW1nZWJ1bmcgenUgZnVlaHJlbi4iCi4uLi4uClppdGF0IGF1cyBkZXIgRnJhbmtmdXJ0ZXIgUnVuZHNjaGF1IHZvbSAyNC4yLjE5OTYKCkFsaW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgbmFlY2hzdGUgYml0dGUgLi4uIChUb2Rlc2VuZ2VsLCAxNC4gQXByIDE5OTYsIDEyOjMyOjI4KToKSGksCm5hY2ggbnVubWVociAzIGNyYXNocyBpbiBuaWNodG1hbCAyNCBoIHdvbGx0ZSBpY2ggbWFsIHdpc3Nlbiwgd2FydW0gZGFzCnN5c3RlbSBpbW1lciBhYnN0dWVyenQuIGljaCBnbGF1YmUsIGRhcyBpbnRlcmVzc2llcnQgYXVjaCBub2NoIGVpbmlnZQphbmRlcmUgaGllciwgZHJ1bSBzZXR6ZSBpY2ggZGllIGFuZnJhZ2UgbWFsIGluIGRpZSB6ZWl0dW5nLiBpY2ggaGFiZQpsYW5nc2FtIGtlaW5lbiBib2NrIG1laHIsIG1laW5lIGdhbnplIHplaXQgbnVyIGRhbWl0IHp1IHZlcmJyaW5nZW4sCndpZWRlciBuZXUgcnVlc3R1bmcgenUgYmVzb3JnZW4uIGlyZ2VuZHdhbm4gd29sbHRlIGljaCBqYSBtYWwgaW5mZXJubwptYWNoZW4sIGFiZXIgc293YXMgZ2VodCBpbSBtb21lbnQgYWxzIGFiZW50ZXVyZXIgb2RlciBjaGFvdCBnYXIgbmV0LgprYW5uIG1hbCBlaW5lciBzYWdlbiwgd29yYW4gZGFzIGxpZWd0IHVuZCBvYiBkYXMgZGllIG5hZWNoc3RlIHplaXQgc28Kd2VpdGVyZ2VoZW4gd2lyZCA/IHdlbm4gamEsIGR1ZXJmdGUgenVtaW5kZXN0IGJlaSBtaXIgZWluIGdpbGRlbndlY2hzZWwKYW5zdGVoZW4uCgpUb2Rlc2VuZ2VsCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBuYWVjaHN0ZSBiaXR0ZSAuLi4gKFd1cnplbCwgMTQuIEFwciAxOTk2LCAxMjozNzoxMik6Cn4jISBybj1Ub2Rlc2VuZ2VsIHJ0PTgyOTQ3Nzk0OAp+IyEgdGlkPTgyOTQ3Nzk0OApoYWxsbywKCnZpZWxsZWljaHQgaXN0IGRhcyB2b24gZGVuIGdpbGRlbmVyc2NoYWZmZXJuIHNvIGdld29sbHQ/IDopCmFiZXIgcXVhdHNjaCBiZWlzZWl0ZSwgZXMgZ2lidCBhbmdlYmxpY2ggZWluZW4gdWVibGVuIGJ1ZyBpbSBnYW1lZHJpdmVyLApkZXIgYmlzIGpldHp0IGF1cyB6ZWl0bWFuZ2VsIGRlcyBwYW50aGVvbnMgbmljaHQgZ2VmaXh0IHdlcmRlbiBrb25udGUuIGVzCmlzdCBkdW1tZXJ3ZWlzZSBkYW1pdCB6dSByZWNobmVuLCBkYXNzIGVzIG5vY2ggaGFldWZpZ2VyIHBhc3NpZXJlbiBrYW5uLApzb2xhbmdlIGJpcyBzaWNoIGplbWFuZCBlcmJhcm10IHVuZCBkZW4gYnVnIGF1c2JhdXQgKHZvcmF1c2dlc2V0enQsIGVyCndpcmQgc2NobmVsbCBnZW51ZyBnZWZ1bmRlbiA6KCkKCmdydXNzLCB3dXJ6ZWwgKG1hZyBhdWNoIGtlaW5lbiBjcmFzaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIG5hZWNoc3RlIGJpdHRlIC4uLiAoVG9kZXNlbmdlbCwgMTQuIEFwciAxOTk2LCAxMjo0MDo1MSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODI5NDc4MjMyCn4jISB0aWQ9ODI5NDc3OTQ4CkRhbmtlIFd1cnplbCwgZW5kbGljaCBtYWwgbmUgSW5mb3JtYXRpb24uIEJlZGV1dGV0IGRhcyBqZXR6dCwgZGFzIHdpcgpoaWVyIFVudGVyc2NocmlmdGVuIHNhbW1lbG4gc29sbGVuLCBiaXMgbWlyIGplbWFuZGVuIHNvIGRvbGwgbmVydmVuLCBiaXMKZGVyIGRpZSBTY2huYXV6ZSB2b2xsIGhhdCB1bmQgc2ljaCBlcmJhcm10LCBkZW4gQnVnIHp1IGZpeGVuLiBHdXQsIGRhbm4KZmFuZ2UgaWNoIG1hbCBhbjoKaGV1bHdpbnNlbHNjaGx1Y2h6amV0enRmaW5kZXNpY2hkb2NobWFsZWluZXJtaXRzY2hyZWlicmVjaHRlbmRlcmRlbmJ1Z2ZpeHQKYml0dGViaXR0ZWJpdHRlYml0dGViaXR0ZWJpdHRlYml0dGViaXR0ZWJpdHRlYml0dGViaXR0ZWJpdHRlYml0dGViaXR0ZQoKRWluIGF1ZiBiZXNzZXJlIFplaXRlbiB3YXJ0ZW5kZXIgVG9kZXNlbmdlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxpLUJlaXRyYWNoICgybmQgZWQuKSAoTWFyaXRhLCAxNC4gQXByIDE5OTYsIDE2OjQwOjE1KToKCkhpIGFsbGUsCgpWaWVsbGVpY2h0IGVyaW5uZXJ0IHNpY2ggbm9jaCBqZW1hbmQgYW4gbWVpbmUgQW5yZWd1bmcsIGJlaSBtZWhybWFsaWdlcgpBbndlbmR1bmcgdm9uICJ0ZWlsZSBtaXQiLCAiZnJhZ2UgbmFjaCIsICJzY2hhZXR6IiB1bmQgImlkZW50aWZpemllcmUiIGRlbgpBZHJlc3NhdGVuIG5pY2h0IGplZGVzbWFsIHdpZWRlciBhbmdlYmVuIHp1IG11ZXNzZW4uIERhcyBoYXQgc2ljaCBpbnp3aXNjaGVuCmVybGVkaWd0OyBpY2ggaGFiZSB1bnRlciBhbmRlcmVtIGZ1ZXIgZGllc2UgNCBCZWZlaGxlL1NwcnVlY2hlIGJlZnJpZWRpZ2VuZGUKTG9lc3VuZ2VuIGdlZnVuZGVuLgoKV2VyIHNpY2ggbWl0IEFsaWFzIG5vY2ggZ2FyIG5pY2h0IGF1c2tlbm50IC0+IGhpbGZlIGFsaWFzCgoKSGllciBhbHNvIGRpZSB1ZWJlcmFyYmVpdGV0ZSBWZXJzaW9uIGRlcyBBbGktQmVpdHJhY2hzIHZvbSBKYW51YXIgbWl0CnphaGxyZWljaGVuIEVyZ2Flbnp1bmdlbjoKCgoxKSBEZXIgenVsZXR6dCBlaW5nZWdlYmVuZSBCZWZlaGwga2FubiBtaXQgJiYgd2llZGVyaG9sdCB3ZXJkZW4uIFdlbm4gbWFuIGVpbgpBbGlhcyAiaWQiID0gImlkZW50aWZpemllcmUgJCoiIGRlZmluaWVydCBoYXQsIGdlaHQgZGFzIElkZW50aWZpemllcmVuIHNlaHIKZWluZmFjaCwgYXVjaCB3ZW5uIG1laHJlcmUgVmVyc3VjaGUgbm9ldGlnIHNpbmQ6Cgo+IGlkIGdlZ2Vuc3RhbmQKPiAmJgo+ICYmCj4gJiYKCkRhcyBHbGVpY2hlIGdpbHQgYXVjaCBmdWVyICJzY2hhZXR6Ii4KCgoyKSBEaWUgVGVpbGUtbWl0LWhpc3Rvcnkga2FubiBhdXNnZW51dHp0IHdlcmRlbjoKCj4gYWxpIHRtIHRlaWxlICQxIG1pdCAkMiogICAgKGhhdCBzb3dpZXNvIGplZGVyKQo+IGFsaSB0bW0gdGVpbGUgLiBtaXQgJCogICAgIChoYXQgdmllbGxlaWNodCBub2NoIG5pY2h0IGplZGVyKQoKRGFubiBzcHJpY2h0IG1hbiBtaXQgdG1tIGRlbiB6dWxldHp0IGFuZ2VzcHJvY2hlbmVuIFNwaWVsZXIgbm9jaG1hbCBhbjoKCj4gdG0gc3BpZWxlcm5hbWUgSGFsbG8gRHUhCj4gdG1tIFdpZSBnZWh0cyBkZW5uIGhldXRlPwo+IHRtbSBTY2hvZW5lcyBXZXR0ZXIsIG5pY2h0IHdhaHI/CgoKMykgQWxpLUJlZmVobGUgZHVlcmZlbiBhdWNoIEFsaS1CZWZlaGxlIGVudGhhbHRlbi4gRGFkdXJjaCBlcmdpYnQgc2ljaCBlaW5lCmtvbWZvcnRhYmxlIE1vZWdsaWNoa2VpdCwgdGVtcG9yYWVyZSBBbGlzIHp1IHZlcndhbHRlbi4gQmVpc3BpZWw6CgpNYW4gZ2lidCBlaW5tYWxpZyBlaW46Cj4gYWxpIHcxIGFsaSAxIHN0ZWNrZSAkKiB3ZWcKPiBhbGkgMiBmZXVlcmJhbGwKPiBhbGkgdzMgYWxpIDMgenVlY2tlICQqCnVuZCBoYXQgZGFtaXQgZGllIGZvbGdlbmRlbiBBbGlzIGRlZmluaWVydDoKdzEgPSBhbGkgMSBzdGVja2UgJCogd2VnCjIgPSBmZXVlcmJhbGwKdzMgPSBhbGkgMyB6dWVja2UgJCoKClNvYmFsZCBtYW4gd2Vpc3MsIHdlbGNoZSBXYWZmZSBtYW4genVyIFZlcmZ1ZWd1bmcgaGF0LCBiZXJlaXRldCBtYW4gZWluZW4KS2FtcGYgbWl0IGZvbGdlbmRlciBFaW5nYWJlIHZvcjoKPiB3MSBsYW5nc2Nod2VydAo+IHczIGxhbmdzY2h3ZXJ0ICAob2RlciBub2NoIGt1ZXJ6ZXI6IF4xXjNeICkKRGFtaXQgaGF0IG1hbiBkaWUgZm9sZ2VuZGVuIEFsaXMgZGVmaW5pZXJ0OgoxID0gc3RlY2tlIGxhbmdzY2h3ZXJ0IHdlZwoyID0gZmV1ZXJiYWxsCjMgPSB6dWVja2UgbGFuZ3NjaHdlcnQKCkltIEthbXBmIG11c3MgbWFuIGRlbW5hY2ggbnVyIG5vY2ggMSAyIDMgZWluZ2ViZW4gKG5hdHVlcmxpY2ggbWl0IFJldHVybgpkYXp3aXNjaGVuKS4gRGFzIGdsZWljaGUgZ2lsdCBmdWVyIG1hZ2lzY2hlIFBmZWlsZS4KKERpZSBFaW5nYWJlIF4xXjNeIGthbm4gdWVicmlnZW5zIG51ciBkaXJla3QgZXJmb2xnZW4sIGQuIGguIHNpZSBzZWxic3Qga2FubgpsZWlkZXIgbmljaHQgaW4gZWluIGtvbWZvcnRhYmxlcyBBbGkgdmVycGFja3Qgd2VyZGVuKQoKCjQpIE1hbiBrYW5uIHdpZSB1bnRlciBVbml4IFNvbmRlcnplaWNoZW4gbWFza2llcmVuLiBJbSBLbGFydGV4dDogZGFzCickJy1aZWljaGVuIGltIEFsaWFzdGV4dCBiaWxkZXQgZWluZW4gUGxhdHpoYWx0ZXIsICJcJCIgaGluZ2VnZW4gbGllZmVydCBkYXMKWmVpY2hlbiAnJCcsIG9obmUgZGFzcyBlcyBhbHMgUGxhdHpoYWx0ZXIgaW50ZXJwcmV0aWVydCB3aXJkLiBEZXNoYWxiIGlzdApmb2xnZW5kZSBEZWZpbml0aW9uIG1vZWdsaWNoOgoKPiBhbGkgcXEgYWxpIHEgZnJhZ2UgJCogbmFjaCBcJCoKCldlbm4gbWFuIGpldHp0IGVpbmVuIE5QQyBtaXQga29tcGxpemllcnRlbSBOYW1lbiBuYWNoIG1laHJlcmVuIFN0aWNod29lcnRlcm4KZnJhZ2VuIHdpbGwsIGdpYnQgbWFuIGVpbjoKCj4gcXEga29tcGxpemllcnRlcm5hbWVlaW5lc25wYwo+IHEgc3RpY2h3b3J0MQo+IHEgc3RpY2h3b3J0Mgo+IHEgc3RpY2h3b3J0MwoKWnVyIEVya2xhZXJ1bmc6IERpZSBxcS1aZWlsZSBkZWZpbmllcnQgZGFzIEFsaWFzCnEgPSBmcmFnZSBrb21wbGl6aWVydGVybmFtZWVpbmVzbnBjIG5hY2ggJCoKRGFzIHp3ZWl0ZSAnJConIHd1cmRlIGRhcmluIG5pY2h0IGR1cmNoIGVpbiBBcmd1bWVudCBlcnNldHp0LCBkYSBlcyBtaXQgJ1wnCm1hc2tpZXJ0IHdhci4gRHVyY2ggQXVmcnVmIHZvbiBxcSB3aXJkIGF1cyBcJCBkYXMgWmVpY2hlbiAkIC4gRm9sZ2xpY2ggd2lyZAplcnN0IGJlaW0gQXVmcnVmIHZvbiBxIGRhcyAkKiBkdXJjaCBkYXMgZGFubiBhbmdlZ2ViZW5lIEFyZ3VtZW50IGVyc2V0enQuCgpEaWUgTW9lZ2xpY2hrZWl0IGRlcyBNYXNraWVyZW5zIGlzdCBsZWlkZXIgbmljaHQgaW4gZGVyIEhpbGZlc2VpdGUgZXJ3YWVobnQuCgpEaWVzZXMgTWFza2llcmVuIGthbm4gdWVicmlnZW5zIGRhenUgdmVyd2VuZGV0IHdlcmRlbiwgdW0gYmVpIHZlcnNjaGFjaHRlbHRlbgpBbGlhcyBmZXN0enVsZWdlbiwgYXVmIHdlbGNoZXIgRWJlbmUgZGFzIEVpbmZ1ZWdlbiBlaW5lcyBBcmd1bWVudHMKc3RhdHRmaW5kZW4gc29sbC4gQmVpc3BpZWw6Cgo+IGFsaSBiZWZlaGwxIGFsaSBiZWZlaGwyIGFsaSBiZWZlaGwzIHNhZyAkKiBcJCogXFxcJCoKCkJlaW0gQXVmcnVmIHZvbiBiZWZlaGwxIHdpcmQgJCogZHVyY2ggQXJndW1lbnRlIGVyc2V0enQsCiAgICAgICAgICAgICAgICBiZWZlaGwyICAgICAgXCQqICwKICAgICAgICAgICAgICAgIGJlZmVobDMgICAgICBcXFwkKiAuCgpNaXIgZmFlbGx0IHp3YXIgZ2VyYWRlIGtlaW5lIHNpbm52b2xsZSBBbndlbmR1bmcgZnVlciAzZmFjaC1BbGlzIGVpbiwgYWJlcgoyZmFjaGUgbWFjaGVuIGplZGVuZmFsbHMgZWluZW4gU2lubiwgd2llIHdpciBvYmVuIGdlc2VoZW4gaGFiZW4uCgoKNSkgQmVpIGRlciBCZW51dHp1bmcgZWluZXMgQWxpcyBtdWVzc2VuIEFyZ3VtZW50ZSB6d2FyIGFscyBnYW56ZXMgV29ydAphbmdlZ2ViZW4gd2VyZGVuLCBhYmVyIGRhcyBBcmd1bWVudCBrYW5uIGltIGF1c2dlc2NocmllYmVuZW4gVGV4dCBhdWNoIGFscwpURUlMIGVpbmVzIFdvcnRlcyB2ZXJ3ZW5kZXQgd2VyZGVuOgoKPiBhbGkgdGFxIHRlaWxlIGFxdWEkMSBtaXQgJDIqCgo+IHRhcSBkZXN0IEhhbGxvCkR1IHRlaWxzdCBBcXVhZGVzdCBtaXQ6IEhhbGxvCj4gdGFxIHRvbGwgSGFsbG8KRHUgdGVpbHN0IEFxdWF0b2xsIG1pdDogSGFsbG8KCk9kZXIgZWluIGV0d2FzIHByYWt0aXNjaGVyZXMgQmVpc3BpZWw6Cgo+IGFsaSBnIGdpYiAkMjAwMCBtdWVuemVuIGFuIGFzYmFuayQxCgo+IGcgdmkgMzAKRHUgZ2lic3QgQXNiYW5rVkkgMzAwMDAgTXVlbnplbi4KCgo2KSBNYW4gZGFyZiBhdWNoIHNvbGNoZSBXb2VydGVyIGFscyBBbGlzIHZlcndlbmRlbiwgZGllIGVpZ2VudGxpY2ggQmVmZWhsZQpzaW5kLiBEYW1pdCBsYXNzZW4gc2ljaCBTdGFuZGFyZHZlcmJlbiB1bWRlZmluaWVyZW46Cgo+IGFsaSBncmlucyBncmlucyAvdWViZXIgYWxsZSA0IEJhY2tlbgoKPiBncmlucwpEdSBncmluc3QgdWViZXIgYWxsZSA0IEJhY2tlbi4KCk5vY2ggZ3VlbnN0aWdlciBpc3QgYWxsZXJkaW5nczoKPiBhbGkgZ3JpbnMgZ3JpbnMgJCogL3VlYmVyIGFsbGUgNCBCYWNrZW4KRGFzIGhhdCBkaWUgZ2xlaWNoZSBXaXJrdW5nIHdpZSBvYmVuLCBudXIgd2lyZCBkYWR1cmNoIHp1c2FldHpsaWNoIG1vZWdsaWNoOgoKPiBncmlucyBqb2YKRHUgZ3JpbnN0IEpvZiB1ZWJlciBhbGxlIDQgQmFja2VuIGFuLgoKCjcpIERhcyBFeHBhbmRpZXJlbiB2b24gV29lcnRlcm4gYWxzIEFsaXMgbGFlc3N0IHNpY2ggbWl0ICdcJyB1bnRlcmRydWVja2VuOgoKPiBhbGkgd2VpbiB3ZWluIC9Sb3R6IHVuZCBXYXNzZXIKCj4gd2VpbgpEdSBicmljaHN0IGluIFRyYWVuZW4gYXVzIHVuZCB3ZWluc3QgUm90eiB1bmQgV2Fzc2VyLgo+IFx3ZWluCldhYWFhYWghIER1IHdlaW5zdCBiaXR0ZXJsaWNoLgoKCjgpIEthbmFsLUFsaXMgbXVlc3NlbiBuaWNodCBmdWVyIGplZGVuIEthbmFsIGVpbnplbG4gZGVmaW5pZXJ0IHdlcmRlbi4gV2VubgptYW4gZGVuIFN0YW5kYXJkLUthbmFsIC1+YSBlaW5nZXN0ZWxsdCBoYXQsIHJlaWNodCBmb2xnZW5kZSBlaW5tYWxpZ2UKRGVmaW5pdGlvbjoKCj4gYWxpIGFsYWNoIC0kKjpsYWNodCBzaWNoIGtyYW5rLgoKPiBhbGFjaApbQWxsZ2VtZWluOkVpZ2VuZXJuYW1lIGxhY2h0IHNpY2gga3JhbmsuXQo+IGFsYWNoIFMKW1NlaGVyOkVpZ2VuZXJuYW1lIGxhY2h0IHNpY2gga3JhbmsuXQoKCjkpIEVpbmlnZSBLbGVpbmlna2VpdGVuOgoKYSkgV2VyIGVyZmFocnVuZ3NnZW1hZXNzIGltbWVyIGRpZSBzZWxiZW4gU2NocmVpYmZlaGxlciBtYWNodCwga2FubiBzaWUKJ2F1dG9tYXRpc2NoIGtvcnJpZ2llcmVuJzoKCj4gYWxpIHV0biB1bnQgJCoKPiBhbGkgbGNpaHQgbGljaHQgICBldGMuCgpiKSBBbHRlIEdld29obmhlaXRlbiBsYXNzZW4gc2ljaCB1bnRlcnN0dWV0emVuOgoKPiBhbGkgZXJhc2Ugcm0gJCoKPiBhbGkgZGlyIGxzICQqICAgICAgICAgICAgKEphamFqYSwgcm0gdW5kIGxzIGdpcHMgbnVyIGZ1ZXIgTWFnaWVyLi4uKQoKYykgU2NodXR6IHZvciBib2VzZW4gRmVobGVybjoKCj4gYWxpIHNlbGJzdGxvZXNjaHVuZyB0ZWlsZSBlaWdlbmVybmFtZSBtaXQgVWViZXJsZWcgZXMgRGlyIG5vY2htYWwgYmlzCm1vcmdlbiEKPiBhbGkgZXJob2VoZSB0ZWlsZSByYWZmaSBtaXQgRGEgaGFldHRlc3QgRHUgYmVpbmFoZSBlaW5lbiBGZWhsZXIgZ2VtYWNodCEKPiBhbGkgemFwIGVjaG90byAkKiBFaWdlbmVybmFtZSBsYWVzc3Qgc2ljaCBhdWYgRGVpbmUgUHJvdm9rYXRpb24gbmljaHQgZWluLgoKZCkgV2VyIGJlaSBtZWhyZXJlbiBNb25zdGVybiBkaWUgRmV1ZXJrcmFmdCBhdWYgZWluIGVpbnppZ2VzIGtvbnplbnRyaWVyZW4KbW9lY2h0ZToKCj4gYWxpIG51ciBhbGkgMiBmZXVlcmJhbGwgJCoKClZvciBkZW0gS2FtcGYgZ2lidCBtYW4gZWluOgoKPiBudXIgbmVjcm9tYW50IDEKCnVuZCB0cmlmZnQgZGFyYXVmaGluIG1pdCBkZW0gRmV1ZXJiYWxsIChoaWVyOiBUYXN0ZSAyKSBpbW1lciBkZW4gZXJzdGVuCk5la3JvbWFudGVuLgoKZSkgV2VyIGRhcyBoYWxiZSBJbnZlbnRvcnkgbWl0IEF1dG9sb2FkLUdlZ2Vuc3RhZW5kZW4gdm9sbCBoYXQsIG1hY2h0IGFtCmJlc3RlbjoKCj4gYWxpIGkgaSAtbgoKVW5kIHNjaG9uIHNpZWh0IG1hbiBzaWUgbWl0ICdpJyBuaWNodCBtZWhyLiBXZXIgc2llIHNwYWV0ZXIgdHJvdHpkZW0gZWlubWFsCnNlaGVuIHdpbGwsIGthbm4gYXVmIGRpZSBWYXJpYW50ZSAnaW52JyBkZXMgc2VsYmVuIEJlZmVobHMgenVydWVja2dyZWlmZW4KKGRlciBqYSBuaWNodCBkdXJjaCBkYXMgQWxpYXMgYWJnZWRlY2t0IGlzdCkgb2RlciBtaXQgJ1xpJyBkaWUgRXhwYW5zaW9uCnVudGVyZHJ1ZWNrZW4uCgpmKSBOaWNodCBnZXJhZGUgcmVzc291cmNlbnNjaG9uZW5kIGlzdCB3b2hsCgo+IGFsaSB1cHRpbWUgd2VyIG1vcmdlbmdyYXVlbgoKYWJlciAnd2VyIG1vcmdlbmdyYXVlbicgaXN0IGRpZSBlaW56aWdlIG1pciBiZWthbm50ZSBNb2VnbGljaGtlaXQsIGF1c3NlcmhhbGIKZGVyIEdpbGRlbiBkaWUgVXB0aW1lIGFienVmcmFnZW4uCgoKRGFua2UgYW4gS2hpZGFyIHVuZCBCb2luZyBmdWVyIGVpbiBwYWFyIGVpbmdlcmVpY2h0ZSBBbnJlZ3VuZ2VuIChkaWUgaWNoIG5vY2gKZXR3YXMgdWViZXJhcmJlaXRldCBoYWJlIDstKSApLgpXZXIgVEYgYmVudXR6dCwgbGFjaHQgc2ljaCB3YWhyc2NoZWlubGljaCB1ZWJlciBkaWVzZSBUcmlja3MgbnVyIGthcHV0dC4gQWJlcgplcyBnaWJ0IHRhdHNhZWNobGljaCBMZXV0ZSB3aWUgei4gQi4gb2xsZSBNYXJpdGFzLCBkaWUgb2huZSBURiBhdXNrb21tZW4KbXVlc3Nlbi4uLiBJY2ggc2FtbWxlIHdlaXRlciB1bmQgd2FydGUgYXVmIG5ldWUgQW5yZWd1bmdlbiB2b24gRXVjaC4gRGllCm5ldWVzdGVuIEZvcnNjaHVuZ3NlcmdlYm5pc3NlIHdlcmRlbiB3b2hsIGluIDIuLjMgTW9uYXRlbiB3aWVkZXIgaGllcgplcnNjaGVpbmVuIDstKQoKRGVyIHp3ZWl0ZSB0b3RhbCBhcnJvZ2FudGUgQWxpLUJlaXRyYWNoIHZvbgpNYXJpdGEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbnRlcnNjaGllZCB6dy4gR3Jvc3MgdW5kIEtsZWluc2NocmVpYnVuZy4gKERybm8sIDE1LiBBcHIgMTk5NiwgMTM6NTk6MDMpOgoKSWNoIGZpbmRlIGVzIHVuZ3VlbnN0aWcsIHdlbm4gc2ljaCBkaWUgTWFnaWVyIGhpZXIgbmljaHQgZWluaWcgc2luZCwgb2IgYmVpCnVudGVyc3VjaGUga2xlaW4gdW5kIEdyb3Nzc2NocmVpYnVuZyBha3R6ZXB0aWVydCB3aXJkIG9kZXIgbnVyIGVpbmVzIHZvbgpCZWlkZW4uIEljaCBkZW5rZSBqYSBhdWNoIG5pY2h0IHNjaHJpZnRsaWNoLCB3ZW5uIGljaCB3YXMgdW50ZXJzdWNoZW4gd2lsbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbnRlcnNjaGllZCB6dy4gR3Jvc3MgdW5kIEtsZWluc2NocmVpYnVuZy4gKEJvaW5nLCAxNS4gQXByIDE5OTYsIDE0OjAxOjEwKToKfiMhIHJuPURybm8gcnQ9ODI5NTY5NTQzCn4jISB0aWQ9ODI5NTY5NTQzCkRpZSBNYWdpZXIgc2luZCBzaWNoIGFsbGVyZGluZ3MgZWluaWcsIGVzIHdpcmQgYmVpIHVudGVyc3VjaGUgbmFlbWxpY2gKc293b2hsIEtsZWluLSBhbHMgYXVjaCBHcm9zc3NjaHJlaWJ1bmcgYWt6ZXB0aWVydC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVicmlrZW4sIHdhcyBzb2xsIGRhcz8gKENhdHdlYXpsZSwgMTYuIEFwciAxOTk2LCAwOTo0OTo1OSk6CgpIaSEKClZlcnN1Y2h0IGRvY2ggYml0dGUgRXVjaCBtYWwgYW56dWdld29laG5lbiwgQXJ0aWtlbCB0aGVtZW5iZXpvZ2VuIGluIGRlcgpyaWNodGlnZW4gUnVicmlrIHp1IHZlcm9lZmZlbnRsaWNoZW4uClZpZWxlbiBEYW5rIGZ1ZXIgSWhyZSBBdWZtZXJrc2Fta2VpdCwKWW91cnMgdHJ1bHksCiAgICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFnaWVyIHVuZCBTcGllbGVyIChHd3lud2FpdGVyLCAxNi4gQXByIDE5OTYsIDEzOjQ4OjM4KToKCkhhbGxvIElociEKCk5hY2hkZW0gaWNoIG1pY2ggbWFsIHdpZWRlciBkdXJjaCBkaWUgTVBBIGdld3VlaGx0IGhhYmUsIGtvbW1lbnRpZXJlIGljaCBrdXJ6CihuYWphLCBzbyBrdXJ6IHdpZSBpY2ggZXMgc2NoYWZmZSk6CgpPYiBqZW1hbmQgaGFlc3NsaWNoIGlzdCwgc29sbCBqZWRlUiBzZWxic3QgYmV1cnRlaWxlbiwgbmFjaCBlaW5lbSBCbGljayBpbgpkZW4gU3BpZWdlbC4KT2IgamVtYW5kIGR1bW0gaXN0LCBzb2xsIGplZGVSIHNlbGJzdCBiZXVydGVpbGVuLCB1bmQgendhciBkYW5hY2ggb2IgZXIvc2llCmRlbiBTcGllZ2VsIGF1Y2ggZmluZGV0LgpPYiBqZW1hbmQgc3Rpbmt0IGVudHNjaGVpZGV0IGFtIGJlc3RlbiBkaWUgYmVzdGUgRnJldW5kaW4sIGRhcyBrYW5uIG1lbnNjaApuaWNodCBpbW1lciBzZWxic3QgYmV1cnRlaWxlbi4KCkJlaSBhbGwgZGVyIERpc2t1c3Npb24gdWViZXIgU3BpZWxlciB2cy4gTWFnaWVyIHN0ZWxsZSBpY2ggZmVzdCwgZGFzcyBkaWUKRGlza3Vzc2lvbiB6d2FyIHppZW1saWNoIHVudG90IGlzdCAoZWluIHJlbGF0aXYgbGVibG9zZXIgV2llZGVyZ2FlbmdlciwgZWluCkdlc3BlbnN0IGRhcyB1bWdlaHQgaW0gTW9yZ2VuR3JhdWVuKSwgZGFzcyBhYmVyIGRpZSBaYWhsIGtvbnN0cnVrdGl2ZXIKQmVpdHJhZWdlIHp1bmltbXQuICBXZXIgZGllIFJlZ2lvbnMtRWJlbmVuIGRlciBNUEEgbGllc3QsIHdpcmQgZmVzdHN0ZWxsZW4sCmRhc3MgdmllbGUgTWFnaWVyIHN0ZXRpZyBiZW11ZWh0IHNpbmQsIGlocmUgR2VnZW5kZW4gd2VpdGVyIHp1IHZlcmJlc3Nlcm4gdW5kCmF1ZiBWb3JzY2hsYWVnZSBlaW56dWdlaGVuLiBVbmQgZGFzcyBzaWUgYW5lcmtlbm5lbiwgZGFzcyBzaWUgdmllbGUgZ3V0ZQpWb3JzY2hsYWVnZSB2b24gU3BpZWxlcnNlaXRlIGJla29tbWVuLgogICBNZWluZXMgRXJhY2h0ZW5zIGlzdCBkYXMgYXVjaCBkZXIgT3J0IGZ1ZXIgVm9yc2NobGFlZ2U6IEFuIGRlbiBPcnRlbgpzZWxic3QgdW5kIGluIGRlciBNdWRtYWlsICh1bmQgZGVyIFJ1YnJpayBFbnR3aWNrbHVuZykuIFVuZCBkZXIgT3J0IGZ1ZXIKIlZvcnNjaGxhZyBhbmdla29tbWVuIiBzaW5kIGRpZSBSZWdpb25zcnVicmlrZW4gZGVyIE1QQSwgbmljaHQgIkFsbGdlbWVpbiIuCkRpZSBSdWJyaWsgIkFsbGdlbWVpbiIgaXN0IGRlciBPcnQgZnVlciBTZWxic3QtcHJvZHV6ZW50ZW4gdW5kIHdpZWRlcmtlaHJlbmRlCkRpc2t1c3Npb25lbiB1bmQgRmxhbWV3YXJzLi4uIHVuZCBmdWVyIHZpZWxlIG5ldHRlIE1haWxzIHVlYmVyIGFsbGVzIG1vZWdsaWNoZQp2b24gdmllbGVuIG5ldHRlbiBMZXV0ZW4uIChBYmJlc3RlbGxlbj8gTmllbWFscyEgTk5OISkKCk5vY2ggZWluZW4gS29tbWVudGFyIGluIGVpZ2VuZXIgU2FjaGU6IERhcyB3YXMgbWljaCBhbSBNb3JnZW5HcmF1ZW4gZ2VzdG9lcnQKaGF0LCB3YXIsIGRhc3MgaWNoIE1ldHplbG4gc29sbC9tdXNzIHVtIGhvY2ggZ2VudWcgenUga29tbWVuIHVtCm1pdHp1Z2VzdGFsdGVuLCBkaCB1bSBNYWdpZXIgenUgd2VyZGVuLiBEZW5uIG5lYmVuIGRlbiBMZXV0ZW4gaW50ZXJlc3NpZXJ0Cm1pY2ggdm9yIGFsbGVtIGRpZSBNb2VnbGljaGtlaXQgZGVyIEdlc3RhbHR1bmcgdmlydHVlbGxlciBSYWV1bWUsIG5pY2h0IGRpZQpTcGllbGVyc2VpdGUgZGVzIFF1ZXN0ZW5zLi4uICBVbmQgd2FzIHNvbGwgaWNoIHNhZ2VuOiBOYWNoZGVtIGljaCBtZWhyZmFjaApuZXR0ZW4gTWFnaWVybiBnZWdlbnVlYmVyIGRhdm9uIHNwcmFjaCAodW5kIGF1ZiB1bnRlcnNjaGllZGxpY2ggdmllbApWZXJzdGFlbmRuaXMgc3RpZXNzKSwgd3VyZGUgbWlyIHNlbGJzdCBkaWVzZXIgR3J1bmQgZ2Vub21tZW4sIE5laWQgYXVmIGRpZQpNYWdpZXIgenUgZW1wZmluZGVuLiAiSmVtYW5kIiBoYXQgbWlyIGFuZ2Vib3Rlbiwgc2VsYnN0IGV0d2FzICh6QiBlaW5lbiBSYXVtCnZvbGxlciBEZXRhaWxzKSB6dSBwcm9nZ2VuLCBqZW1hbmQgd3VlcmRlIGRhcyBkYW5uIHBydWVmZW4gdW5kIHdlbm4gdGF1Z2xpY2gKYW5zY2hsaWVzc2VuLiBadWdlZ2ViZW46IEljaCBoYWJlIHNlaXRoZXIgbm9jaCBrZWluZW4gUmF1bSBzZWxic3QgZ2VzdGFsdGV0CihoYWJlIGVzIGFiZXIgbm9jaCB2b3IsIGluIGRlciBIb2ZmbnVuZyBkYXNzIGRpZXNlcyBPdXRpbmcgZGFzIG5pY2h0CnVubW9lZ2xpY2ggZ2VtYWNodCBoYXQpLiBBYmVyIHNlaXRoZXIgdmVyc3RlaGUgaWNoIE1hZ2llciBuY2ggYmVzc2VyLiBBY2hzbzoKU3BpZWxlciB2ZXJzdGVoZSBpY2ggYXVjaDogUmVib290cyB1bmQgQ3Jhc2hzIG5lcnZlbiBtaWNoIHdpZSBqZWRlbiBhbmRlcmVuLgpKZWRlc21hbCB2ZXJsaWVyZSBpY2ggY2EgNDAwMCBmdWVyIFBlbmVsb3BlcyBSaW5nIDstLyA7LSkKCkp1c3QgbXkgNDAwMCBHZWxkZWluaGVpdGVuLCAodW5kIHdlciBtaWNoIGtlbm50LCB3ZWlzcyBkYXNzIGljaCBtaWNoCmt1cnpnZWZhc3N0IGhhYmUpCgpHd3luKiAoKmRvbi8gKndhaXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgQWJlbnRldXJlckdpbGRlIChZYW50cm8sIDE2LiBBcHIgMTk5NiwgMTc6MzQ6MDYpOgoKSGkgaWhycywKCmljaCBtb2VjaHRlIG5vY2htYWwgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBpY2ggenVyIFplaXQgbmV1ZSBUaXRlbCBmdWVyIGRpZQpBYmVudGV1cmVyR2lsZGUgenVzYW1tZW5zdGVsbGUgdW5kIGRhc3MgaWNoIGZ1ZXIgamVkZSBBbnJlZ3VuZyBvZmZlbiBiaW4uIEVzCmdlaHQgZGFydW0sIGRhc3MgZXMgaW4gZGVyIGpldHppZ2VuIExpc3RlIGVpbmlnZSBTdHVmZW4gZ2lidCwgZGllIHZvbiBkZXIKQmVzY2hyZWlidW5nIGVpZ2VudGxpY2ggdmllbCBlaGVyIGluIGRpZSBaYXViZXJlciBvZGVyIGluIGRpZSBub2NoIGtvbW1lbmRlCkthZW1wZmVyR2lsZGUgcGFzc2VuIHVuZCBkZXNoYWxiIGJpbiBpY2ggYXVjaCBkZXIgU3VjaGUgbmFjaCAxOSBBdXNkcnVlY2tlbiwKZGllIGVpbmlnZXJtYXNzZW4gbmV1dHJhbCBzaW5kLCBhYmVyIGRvY2ggd2FzIGhlcm1hY2hlbiA6KQoKVm9yc2NobGFlZ2UgYml0dGUgaW1tZXIgbm9jaCBwZXIgbWFpbCBhbiBtaWNoLi4uIG51ciB6dS4gQmlzIGpldHp0IGhhYmVuIG1pY2gKbnVyIDIgVm9yc2NobGFlZ2UgZXJyZWljaHQgdW5kIGljaCBiaW4gbWlyIHNpY2hlciwgZGFzcyBkYXMgbmljaHQgYWxsZXMgaXN0LAp3YXMgZXVjaCBzbyBlaW5mYWVsbHQuCgogICAgICAgICAgICAgICAgICAgIFlhbnRybyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGYtRnJhZ2UuLi4gKEFuYXRvbCwgMTguIEFwciAxOTk2LCAxOTo0NDo0Nyk6CgpJY2ggbW9lY2h0ZSBlaW5lciBWYXJpYWJsZW4gZGVuIFN0cmluZyAiICAgICAiIHp1d2Vpc2VuLiBBbHNvIGRhcywgd2FzClpXSVNDSEVOIGRlbiAiIHN0ZWh0LiBIb3c/CgpBbmF0b2wsIG1hbCByYXRsb3MgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXdW5kZXJsYW5kIHpvZyB1bSAoR2FzdDIsIDE5LiBBcHIgMTk5NiwgMTA6Mzk6MDApOgpBbiBhbGxlLCBkaWUgYW4gZWluZW0gYW5kZXJlbiBkZXV0c2Noc3ByYWNoaWdlbiBNdWQgaW50ZXJyZXNzaWVydCBzaW5kOgpEYXMgV3VuZGVybGFuZCwgaW4gZGVtIG1hbiBaVCBlbnR3ZWRlciBmaW5kZW4gb2RlciBrYXVmZW4ga2FubiwKaXN0IGpldHp0IHVudGVyCjEzOS4xOC4xMS43OCA0NzExCnp1IGVycmVpY2hlbi4gRGllIGFsdGUgTnVtbWVyIHN0aW1tdCBuaWNodCBtZWhyLCBlcyBpc3QgamV0enQKMTM5LjE4LjExLjc4IDQ3MTEKRGFua2UgZnVlciBkaWUgS2VubnRuaXNuYWhtZS4KQ1UgaW4gV3VuZGVybGFuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0Zi1GcmFnZS4uLiAoRmVsYWd1bmQsIDE5LiBBcHIgMTk5NiwgMTY6NDc6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTgyOTg0OTQ4Nwp+IyEgdGlkPTgyOTg0OTQ4Nwpzb3ZpZWwgaWNoIHdlaXNzIGdlaHQgZGFzIGdhcm5lZGQuLi4KRmVsYSwgaW1tZXIgcmF0bG9zIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIGVsZWZhbnRpbGVzIEJlbmVobWVuIChMaSwgMjMuIEFwciAxOTk2LCAxNDoyNDo1Mik6CkhpIEZvbGtzIQpoaWVyIGVpbiBrbGVpbmVyLCBuZXR0ZXJBcnRpa2VsLCBbRFtEW0RbRFtEW0RbRFtEW0QgQXJ0aWtlbCwgZGVuIGljaCBnZXN0ZXJuCmdlbGVzZW4gaGFiZS4gRXIgaXN0IGV0d2FzIHNjaHd1ZWxzdGlnIGdlc2NocmllYmVuLCBhYmVyIGVyIHN0YW1tdCBhdWNoIGF1cwpkZXIgRmFudGFzeSB1bmQgcGFzc3Qgc28gc2Nob2VuIHp1IGRlbiBGbGFtZXdhcnMgdW5kIGRlbgphdWZyZWd1bmdlbltEW0RbRFtEW0RbRFtEW0RbRFtBW0NbQ1tDW0NbQ1tDW0NbQ1tDW0MgZGVyIGxldHp0ZW4gVGFnZToKCkVMRUZBTlRJTEVTIEJFTkVITUVOCi0tLS0tLS0tLS0tLS0tLS0tLS0tCgpEaWVzIGlzdCBkaWUgR2VzY2hpY2h0ZSB2b24gdmllciBCbGluZGVuLCBpbiBkZXJlbiBEb3JmCmVpbmVzIFRhZ2VzIGVpbiBaaXJrdXMgbWl0IGVpbmVtIEVsZWZhbnRlbiBrYW0uCk5pZW1hbmQgaW0gRG9yZiBoYXR0ZSB6dXZvciBqZW1hbHMgZWluZW4gRWxlZmFudGVuIGdlc2VoZW4sIGF1Y2gKdW5zZXJlIHZpZXIgQmxpbmRlbiBoYXR0ZW4ga2VpbmUgRXJmYWhydW5nIG1pdCBzb2xjaCBlaW5lbSBUaWVyLiBWb24KaWhyZW0gQmV0cmV1ZXIgbGllc3NlbiBzaWUgc2ljaCB6dW0gRWxlZmFudGVuIGltIFppcmt1cyBmdWVocmVuLiBFaW5lcgp2b24gaWhuZW4gYmVydWVocnRlIGRpZSBCZWluZSBkZXMgRWxlZmFudGVuLCBlaW4gYW5kZXJlciBzZWluZW4gQmF1Y2gsCmRlciBkcml0dGUgc2VpbmUgZ3JvemVuIE9ocmVuIHVuZCBkZXIgdmllcnRlIGRlbiBSdWVzc2VsIGRlcyBFbGVmYW50ZW4uCgpadSBIYXVzZSBmcmFndGUgZGVyIEJldHJldWVyIGRpZSBCbGluZGVuOiAiV2FzIGRlbmt0IElociB1ZWJlciBkZW4KRWxlZmFudGVuPyIgRGVyamVuaWdlLCBkZXIgZGllIEJlaW5lIGJlcnVlaHJ0IGhhdHRlLCBzYWd0ZTogIkVyIGlzdCB3aWUKZWluZSBTYWV1bGUuIiBEZXIgendlaXRlIG1laW50ZTogIkVyIGlzdCB3aWUgZWluIEZhc3MuIiBEZXIgZHJpdHRlCmFudHdvcnRldGU6ICJFciBpc3Qgd2llIGVpbiBncm9zc2VyIEZhZWNoZXIuIiBVbmQgZGVyIHZpZXJ0ZSBnbGF1YnRlOgoiRXIgaXN0IHdpZSBlaW5lIGRpY2tlIFNjaGxhbmdlLiIKCkRhcmF1ZmhpbiBiZWdhbm5lbiBzaWUgbWl0ZWluYW5kZXIgenUgc3RyZWl0ZW4sIGRlbm4gamVkZXIgdm9uIGlobmVuCmJlaGF1cHRldGUsIGVyIHNlaSBpbSBSZWNodCB1bmQgZGllIGFuZGVyZW4gaW0gSXJydHVtLiBCaXMgc2llIGRlcgpCZXRyZXVlciBzdG9wcHRlIHVuZCBpaG5lbiBlcmtsYWVydGU6ICJXYXJ1bSBqZWRlciB2b24gRXVjaCBkZW4KRWxlZmFudGVuIGZ1ZXIgZXR3YXMgYW5kZXJlcyBoYWVsdCwgaXN0LCB3ZWlsIHNlaW5lIEJlaW5lIHNpbmQgd2llClNhZXVsZW4sIHNlaW4gQmF1Y2ggaXN0IHdpZSBlaW4gZ3Jvc3NlcyBGYXNzLCB3aWUgZWluIEZhZWNoZXIgc28KZ3Jvc3Mgc2luZCBzZWluZSBPaHJlbiB1bmQgZGllIGRpY2tlIFNjaGxhbmdlIGlzdCBzZWluIGJld2VnbGljaGVyClJ1ZXNzZWwhIElociBoYWJ0IGFsbGUgUmVjaHQsIGRvY2ggamVkZXIgdm9uIEV1Y2ggaGF0IG51ciBlaW4gU3R1ZWNrCmRlcyBFbGVmYW50ZW4gYmVydWVocnQhIgoKTWVuc2NoZW4sIGRpZSBzaWNoIGF1ZiBpaHJlIHVudm9sbGtvbW1lbmVuIFNpbm5lc29yZ2FuZSB1bmQgYXVmIGlocmVuCmJlZ3Jlbnp0ZW4gVmVyc3RhbmQgdmVybGFzc2VuLCBlcmdlaHQgZXMgZ2VuYXVzbyB3aWUgdW5zZXJlbiB2aWVyCkJsaW5kZW4uIFNpZSBlcmFjaHRlbiBkYXMgU3R1ZWNrd2VyayBpaHJlcyBXaXNzZW5zIG9kZXIgVmVyc3RlaGVucwpiZXJlaXRzIGFscyBkYXMgdm9sbGtvbW1lbmUgR2FuemUgdW5kIHdhZWhuZW4gYWxsZSBhbmRlcmVuIGltIElycnR1bS4KVW50ZXIgdmVyc2NoaWVkZW5lbiBaZWl0ZW4sIGluIHZlcnNjaGllZGVuZW4gWnVzdGFlbmRlbiAoS29uZGl0aW9uZW4pCmVyaGllbHRlbiBkaWUgTWVuc2NoZW4gV2lzc2VuLCBzb3ZpZWwgc2llIGpld2VpbHMgYXVmbmVobWVuIGtvbm50ZW4uCkFsbCBpaHIgV2lzc2VuIGlzdCBpbW1lciBTdHVlY2t3ZXJrLiBVbSBTdHJlaXQgenUgdmVybWVpZGVuLCBzb2xsdGVuCndpciBpbW1lciBiZWRhY2h0IHNlaW4genUgdmVyc3RlaGVuLgpTdHJlaXQgaXN0IEtvbmZsaWt0LCBkb2NoIGluIGRlciBMaWViZSB1bnNlcmVzIFNlaW5zIGdpYnQgZXMga2VpbmVuCktvbmZsaWt0LiBTbyBpc3QgamVnbGljaGVyIFN0cmVpdCBlaW4gWmVpY2hlbiBkZXIgVW53aXNzZW5oZWl0IHVuZCBkZXIKQW5nc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2Vib2dlbiBpbiBkZXIgZ2lsZGUgKFJpbXVzLCAyMy4gQXByIDE5OTYsIDIyOjQ4OjQ2KToKRGVyIEZyYWdlYm9nZW4gaW4gZGVyIEdpbGRlIGlzdCBlY2h0IG5lcnZpZywgdm9yYWxsZW0gYWxzIEthcmF0ZWthLCB3bwptYW4gZG9jaCBldHdhcyBtZWhyIEVOREUgbWFjaHQuIEthbm4gZGFzIGRlciB2ZXJhbnR3b3J0bGljaGUgTWFnaWVyCm1hbCBhYnN0ZWxsZW4gdW5kIGVpbmVuIGFuZGVyZW4gUGxhdHogZGFmdWVyIGF1c3N1Y2hlbiA/PwoKREFOS0UgISEhCgpSSU1VUwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyYWdlYm9nZW4gaW4gZGVyIGdpbGRlIChIYXRlLCAyMy4gQXByIDE5OTYsIDIzOjIzOjE5KToKfiMhIHJuPVJpbXVzIHJ0PTgzMDI5MjUyNgp+IyEgdGlkPTgzMDI5MjUyNgpEZXIgRnJhZ2Vib2dlbiBrb21tdCBpbSBOb3JtYWxmYWxsIG51ciBlaW5tYWwhCk5BY2ggZGVtIGJlYW50d29ydGVuIG5pY2h0IHVuZCB3ZW5uIG1hbiBiZWkgZGVyIGVyc3RlbiBhYmZyYWdlIHN0b3BwCmVpbmdpYnQgYXVjaCBuaWNodC4gQWxsZXJkaW5ncyBzb2xsdGUgbWFuIHNpY2ggendlaXRlcyB1ZWJlcmxlZ2VuLApIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZWJvZ2VuIGluIGRlciBnaWxkZSAoUHJhLCAyNC4gQXByIDE5OTYsIDExOjIxOjUwKToKfiMhIHJuPUhhdGUgcnQ9ODMwMjk0NTk5Cn4jISB0aWQ9ODMwMjkyNTI2CkhpLAoKZ2lidCBlcyBlaW5lIE1vZWdsaWNoa2VpdCwgc2ljaCBkZW4gRnJhZ2Vib2dlbiBub2NoIG1hbCBhbnp1c2VoZW4/CkJlaW0gZXJzdGVuIE1hbCBoYWJlIGljaCAnU3RvcHAnIGdlc2FndCwgd2VpbCBpY2ggZ2VyYWRlIGtlaW5lIEx1c3QgaGF0dGUsCm1pY2ggZGFtaXQgenUgYmVzY2hhZWZ0aWdlbi4gQWJlciB2aWVsbGVpY2h0IG1vZWNodGUgaWNoIGRhcyBqYSBuYWNoaG9sZW4uCihadSBlaW5lbSBaZWl0cHVua3QsIGRlbiBJQ0ggd2FlaGxlbiBrYW5uKQoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2Vib2dlbiBpbiBkZXIgZ2lsZGUgKEVuZ3l3dWNrLCAyNC4gQXByIDE5OTYsIDExOjIzOjI4KToKfiMhIHJuPVByYSBydD04MzAzMzc3MTAKfiMhIHRpZD04MzAyOTI1MjYKV2VubiBtYW4gaWhuIHNpY2ggc3BhZXRlciBhbnNlaGVuIHdpbGwsIGdpYnQgbWFuIG5laW4gZWluIHN0YXR0IHN0b3AuIEdsYXViCmljaCB6dW1pbmRlc3QuCgpFbmd5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFnZWJvZ2VuIGluIGRlciBnaWxkZSAoQ2F1bm8sIDI0LiBBcHIgMTk5NiwgMTE6NDA6NTIpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODMwMzM3ODA4Cn4jISB0aWQ9ODMwMjkyNTI2CgpJY2ggZ2xhdWJlLCBkZXIgVGlwIGthbSBldHdhcyB6dSBzcGFldCwgRW5neSA6LSkKCgkJCQlDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2Vib2dlbiBpbiBkZXIgZ2lsZGUgKEhhdGUsIDI0LiBBcHIgMTk5NiwgMTI6MDU6NTApOgp+IyEgcm49UHJhIHJ0PTgzMDMzNzcxMAp+IyEgdGlkPTgzMDI5MjUyNgpTaWNoIGJlaSBtaXIgbWVsZGVuIGhpbGZ0LiBFcyBnaWJ0IG5hZW1saWNoIGZ1ZXIgc293YXMgZWluICJ1bmRvIi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYWdlYm9nZW4gaW4gZGVyIGdpbGRlIChNYXJpdGEsIDI0LiBBcHIgMTk5NiwgMTI6MTc6NDgpOgp+IyEgcm49UHJhIHJ0PTgzMDMzNzcxMAp+IyEgdGlkPTgzMDI5MjUyNgpIaSwKU29sYW5nZSBkZXIgRnJhZ2Vib2dlbiBub2NoIGluIGRlciBCZXRhdmVyc2lvbiB2b3JsaWVndCwgZGllIEd1bGR1a2F0CmdldGVzdGV0IGhhdCA7LSksIGlzdCBkYXMgUnVlY2tnYWVuZ2lnbWFjaGVuIHZvbiAnc3RvcHAnIG9obmVoaW4gdW5pbnRlcmVzLQpzYW50LiBXZW5uIGRpZSBQcm9ibGVtZSBiZWhvYmVuIHNpbmQsIGJpdHRlIE5hY2hyaWNodCBpbiBkaWUgWmVpdHVuZywKZGFtaXQgZGFzIEFubWVsZGVuIHdlaXRlcmdlaGVuIGthbm4uCk1hcmlkZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYWdlYm9nZW4gaW4gZGVyIGdpbGRlIChIYXRlLCAyNC4gQXByIDE5OTYsIDEyOjE5OjM4KToKfiMhIHJuPU1hcml0YSBydD04MzAzNDEwNjgKfiMhIHRpZD04MzAyOTI1MjYKR3VsZHVrYXQgd2FyIGVpbmZhY2ggdW5mYWVoaWcuCkRlciBGcmFnZWJvZ2VuIGhhdCBlaW5lbiBrbGVpbmVuIENoZWNrIGRyaW4sIGRhbWl0IG1hbiBuaWNodCB1ZWJlcm1hZXNzaWdlbgpVbnNpbm4gcmVpbnNjaHJlaWJ0LiBXZXIgc2ljaCBuaWNodG1hbCBhbiBzb3dhcyBoYWx0ZW4ga2Fubiwgc2VpIG1pdAptZWhyZmFjaGVuIEFuZnJhZ2VuIHZlcmZsdWNodC4sCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGcmFnZWJvZ2VuIGluIGRlciBnaWxkZSAoTWFyaXRhLCAyNC4gQXByIDE5OTYsIDEyOjMyOjUwKToKfiMhIHJuPUhhdGUgcnQ9ODMwMzQxMTc4Cn4jISB0aWQ9ODMwMjkyNTI2CkhpIEhhdGUsCkljaCB3ZWlzcyB6d2FyIG5pY2h0LCB3YXMgei4gQi4gYW4gZGVyIEFuZ2FiZSAiSGVydGVuL0JvY2h1bSIgc28gdW5zaW5uaWcKc2VpbiBzb2xsLCBhYmVyIHdlbm4gRHUgbWVpbnN0Li4uIEthbm4gbWFuIHNpY2ggYXVjaCBhbHRlcm5hdGl2IGJlaSBqZW1hbmRlbQpwZXIgTWFpbCBhbm1lbGRlbiAoZm9ybWxvcywgZGFtaXQgbWFuIGZ1ZXIgZGllIEFuZ2FiZSAiSGFnZW4vRG9ydG11bmQiCm5pY2h0IHNvZm9ydCBnZXN0ZWluaWd0IHdpcmQpPwpBdXNzZXJkZW0gaW50ZXJlc3NpZXJ0IGVzIHdhaHJzY2hlaW5saWNoIG5pY2h0IG51ciBtaWNoLCB3b3p1IGRlciBOYW1lCmFiZ2VmcmFndCB3aXJkLCB3ZW5uIGRpZSBlaW56aWcgenVnZWxhc3NlbmUgQW5nYWJlIGRvY2ggbnVyIGRlciBOYW1lIHZvbgp0aGlzX3BsYXllcigpIGlzdD8gQmVpdHJhY2ggTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwaHlnb3MgdmVya2F1ZnQgc2ljaCAoUG9saXplaWNoZWYsIDI0LiBBcHIgMTk5NiwgMTU6NDY6MjcpOgogICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAqICAgICAgICAgICAgICAgICAgIFpVIFZFUktBVUZFTiEhISAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICogIEhhbGxvIER1ISBKYSwgZ2VuYXUgRHUhIE1vZWNodGVzdCBEdSBEaXIgbmljaHQgYXVjaCAgICoKICAgICAgICAqICBkZW4gbXVlaHNhbWVuIFdlZyB6dW0gU2VoZXItL01hZ2llcmRhc2VpbiBlcnNwYXJlbj8gICAqCiAgICAgICAgKiAgSmV0enQgZ2lidCBlcyBzaWUsIGRpZSBMb2VzdW5nLCB1bmQgc2llIGhlaXNzdDogICAgICAgKgogICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgS0FVRiBNSUNIISEgICAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICogIERhIGljaCB2b3JhdXNzaWNodGxpY2ggZGVtbmFlY2hzdCBuaWNodCBtZWhyIGluIGRhcyAgICoKICAgICAgICAqICBNdWRnZXNjaGVoZW4gZWluZ3JlaWZlbiB3ZXJkZSwgYmlldGUgaWNoIEV1Y2ggendlaSAgICAqCiAgICAgICAgKiAgdG9sbGUgU3BlemlhbHBha2V0ZSBhbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAgICAqICAxKSBEYXMgUGh5Z29zLVBvd2VyLVBha2V0IGZ1ZXIgc2FnZW5oYWZ0ZSA2OSw5NSBETSAgICAqCiAgICAgICAgKiAgICAgRGFzIFBha2V0IGJlaW5oYWx0ZXQgZWluZW4gTGV2ZWwgMjUgLSBLYXJhdGVrYSAgICAgKgogICAgICAgICogICAgIG1pdCBTdGF0cyAyMC8yMS8yMC8xOC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICAgKiAgb2RlciBkaXJla3QgZGFzIGtvc3Rlbmd1ZW5zdGlnZSBTcGFycGFrZXQgICAgICAgICAgICAgKgogICAgICAgICogIDIpIFBoeWdvcyBQbHVzICg9IFBha2V0IDEgaW5rbHVzaXZlIGRlbiBad2VpdGllcyAgICAgICoKICAgICAgICAqICAgICBCdWJiYSB1bmQgUnluZSkgZnVlciB1bmdsYXVibGljaGUgNzksOTUgRE0gICAgICAgICAqCiAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICogIExhc3N0IEV1Y2ggZGllc2UgZWlubWFsaWdlbiBBbmdlYm90ZSBuaWNodCBkdXJjaCBkaWUgICoKICAgICAgICAqICBMYXBwZW4gZ2VoZW4gdW5kIG1haWx0IG1pciBiZWkgSW50ZXJlc3NlLiAgICAgICAgICAgICAqCiAgICAgICAgKiAgU29sbHRlbiBzaWNoIG1laHIgYWxzIGVpbiBJbnRlcmVzc2VudCBmaW5kZW4sIHNvICAgICAgKgogICAgICAgICogIHdpcmQgZGFzIFBha2V0IG1laXN0YmlldGVuZCB2ZXJzdGVpZ2VydC4gICAgICAgICAgICAgICoKICAgICAgICAqICBCZWkgd2VpdGVyZW4gRnJhZ2VuIGVpbmZhY2ggTWFpbCBhbiBtaWNoLiAgICAgICAgICAgICAqCiAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V6LiBQaHlnb3MgICAgICAgICAgICoKICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKc2VociBpbnRlcmVzc2FudCAuLi4gOykKd2lldmllbCBqb2Ygd29obCBrb3N0ZW4gd3VlcmRlID8gaW0gc3BhcnBha2V0IG1pdCBib2luZyB6dXNhbW1lbiAuLi4gOikgOikgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZWJvZ2VuIGluIGRlciBnaWxkZSAoTXVwZmVsLCAyNC4gQXByIDE5OTYsIDE2OjE2OjQyKToKfiMhIHJuPVJpbXVzIHJ0PTgzMDI5MjUyNgp+IyEgdGlkPTgzMDI5MjUyNgprYW5uIG1hbiBiZWkgZGVyIGdlbGVnZW5oZWl0IGF1c2JhdWVuLCBkYXNzIGdhZXN0ZSBnZWZyYWd0IHdlcmRlbj8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgaGF0IEx1c3QsIGVpbiB3ZWl0ZXJlcyBNVUQgbWl0IGF1Znp1YmF1ZW4/IChHYXN0MiwgIDIuIE1haSAxOTk2LCAyMDo1Mjo0MCk6Ck1vaW4gbW9pbiwKCkhpZXIgc2NocmVpYnQgQ291bnRaZXJvLCBFTWFpbCBjb3VudEBtY3AuZGUKZmFsbHMgdm9uIGRlbiBlcnptYWdpZXJuL3JlZ2lvbnNtYWdpZXJuIG9kZXIgZXJmYWhyZW5lcmVuIG1hZ2llcm4gaW50ZXJlc3NlCgpoYXQsIGVpbiBNVUQgbWl0IGVpbmVyIE1vcmdlbkdyYXVlbi1NdWRsaWIgYXVmenViYXVlbiB1bmQgenUgdmVyd2FsdGVuLi4uCgoKCmRlbiBwbGF0eiBzdGVsbGUgaWNoIGhpZXIgenVyIHZlcmZ1ZWd1bmcsIHNoZWxsL2Z0cC1hY2NvdW50cyBhdWNoLCB3ZXIgaGF0CgppbnRlcmVzc2U/CgoKCmdydXNzCgogIENvdW50WmVyby4KCnF1aXQKKmFyZ2gqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIGhhdCBMdXN0LCBlaW4gd2VpdGVyZXMgTVVEIG1pdCBhdWZ6dWJhdWVuPyAoSm9mLCAgMi4gTWFpIDE5OTYsIDIxOjAwOjM2KToKfiMhIHJuPUdhc3QyIHJ0PTgzMTA2MzE2MAp+IyEgdGlkPTgzMTA2MzE2MAogSG0sIFBsYXR6L1NoZWxsL0FjY291bnQgc2luZCBuaWNodCBhbGxlcyAtIGVpbiBLb256ZXB0IHdhZXJlIG5pY2h0CnNjaGxlY2h0LgonSnVzdCBhbm90aGVyIE1HLUNsb25lJyBpc3QgbmljaHQgc28gYW5nZXNhZ3QgLi4uCgogVWVicmlnZW5zIGtvZW5udGVzdCBEdSBBZXJnZXIgbWl0IERlaW5lbiBDaGVmcyBiZWtvbW1lbiwgTUcgbWFjaHQgcHJvClRhZyBjYS4gNTAwIE1CIE5ldC1PdXRwdXQ7IGRhcyBlbnRzcHJpY2h0IGNhLiA1MCBrQml0L3MsIHdlbm4gbWFuIGluIEJldHJhY2h0CnppZWh0LCBkYXNzIE5hY2h0cyByZWNodCB3ZW5pZyBMb2FkIGVuc3RlaHQsIGFsc28gY2EgOTAga0JpdC9zIHRhZ3N1ZWJlci4KRnVlciBrb21tZXJ6aWVsbGUgTmV0emFuYmlldGVyIGlzdCBkYXMga2F1bSB0cmFnYmFyIDooCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIGhhdCBMdXN0LCBlaW4gd2VpdGVyZXMgTVVEIG1pdCBhdWZ6dWJhdWVuPyAoTmljaHRzLCAgMi4gTWFpIDE5OTYsIDIxOjAwOjU0KToKfiMhIHJuPUdhc3QyIHJ0PTgzMTA2MzE2MAp+IyEgdGlkPTgzMTA2MzE2MAoKIi4uLiB2b24gZGVuIGVyem1hZ2llcm4vcmVnaW9uc21hZ2llcm4gb2RlciBlcmZhaHJlbmVyZW4gbWFnaWVybi4uLiIKCkhtLiBBbHNvIEVyei0gdW5kIFJlZ2lvbnNtYWdpZXIgc2luZCBwZXIgZGVmaW5pdGlvbmVtIG5pY2h0IGVyZmFocmVuPwoKYWxiZXJuIGtpY2hlcm5kLAoiIgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXIgaGF0IEx1c3QsIGVpbiB3ZWl0ZXJlcyBNVUQgbWl0IGF1Znp1YmF1ZW4/IChVbG8sICAzLiBNYWkgMTk5NiwgMTU6MTc6MzEpOgp+IyEgcm49R2FzdDIgcnQ9ODMxMDYzMTYwCn4jISB0aWQ9ODMxMDYzMTYwCkhtbS4uLgptY3AuZGUgaGVpc3N0IGRhcyBkb21haW4uIHdvZnVlciBzdGVodCBkaWUgYWJrdWVyenVuZyBtY3A/CmxldHp0ZW5zIGlzdCBtaXIgZWluIG5ldWVyZXMgbGFuZ2Vuc2NoZWlkdCB3b2VydGVyYnVjaCBpbiBkaWUgZmluZ2VyCmdla29tbWVuLgpkb3J0IHd1cmRlIG1pdCBkZW4gdmllbGVuIG5ldWVuIHdvZXJ0ZXJuIHVuZCBhYmt1ZXJ1bmdlbiBnZXdvcmJlbiwgZGllIGpldHp0CmRyaW5zdHVlbmRlbi4gZGFydW50ZXIgYXVjaCAnZWZ0cG9zJyB1bmQgJ01DUCcuCgpWaWVsIFNwYXNzIGJlaW0gTmFjaHNjaGxhZ2VuLApVbG8uCgpQLlMuIERpZSBBYmt1ZXJ6dW5nIE1DUCBiZXdlZ3Qgc2ljaCBhdWYgc2VsYmVtIG5pdmVhdSB3aWUgU09CIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXIgaGF0IEx1c3QsIGVpbiB3ZWl0ZXJlcyBNVUQgbWl0IGF1Znp1YmF1ZW4/IChQaG9ib3MsICAzLiBNYWkgMTk5NiwgMTU6NDU6MzIpOgp+IyEgcm49VWxvIHJ0PTgzMTEyOTQ1MQp+IyEgdGlkPTgzMTA2MzE2MAo+IG1jcC5kZSBoZWlzc3QgZGFzIGRvbWFpbi4gd29mdWVyIHN0ZWh0IGRpZSBhYmt1ZXJ6dW5nIG1jcD8KCm5hdHVlcmxpY2ggTWFzdGVyIENvbnRyb2wgUHJvZ3JhbSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXIgaGF0IEx1c3QsIGVpbiB3ZWl0ZXJlcyBNVUQgbWl0IGF1Znp1YmF1ZW4/IChMb2NvLCAgMy4gTWFpIDE5OTYsIDIwOjExOjUzKToKfiMhIHJuPVVsbyBydD04MzExMjk0NTEKfiMhIHRpZD04MzEwNjMxNjAKPiBQLlMuIERpZSBBYmt1ZXJ6dW5nIE1DUCBiZXdlZ3Qgc2ljaCBhdWYgc2VsYmVtIG5pdmVhdSB3aWUgU09CIDstKQoKU09CIGlzdCBkaWUgc2Nod2VpemVyaXNjaGUgU3VlZG9zdGJhaG4uIFdhcyBmYWVocnQgZGVubiBkYW5uIGRpZSBNQ1AsIHVuZCB3bz8KLS0+IHNjaG1hcnJuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VyIGhhdCBMdXN0LCBlaW4gd2VpdGVyZXMgTVVEIG1pdCBhdWZ6dWJhdWVuPyAoTWFyY3VzLCAgMy4gTWFpIDE5OTYsIDIxOjQ3OjQzKToKfiMhIHJuPUxvY28gcnQ9ODMxMTQ3MTEzCn4jISB0aWQ9ODMxMDYzMTYwCmRvbWFpbjogICAgICBtY3AuZGUKZGVzY3I6ICAgICAgIE11bHRpbWVkaWEgJiBDb21wdXRlciBQYXJ0bmVyLCBEci4gS29ydGUgQ29uc3VsdApkZXNjcjogICAgICAgVW5ja2Vsc3RyYXNzZSAxMApkZXNjcjogICAgICAgRC00ODE2NSBNdWVuc3RlcgpkZXNjcjogICAgICAgR2VybWFueQoKLU1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lIEJpdHRlIChBbGluZSwgIDcuIE1haSAxOTk2LCAwODo0NDo1Nyk6CkhhbGxvIE1hZ2llciwKCnp1bmFlY2hzdCBlaW5tYWwgZWluIGdyb3NzZXMgTG9iIGF1Y2ggdm9uIG1pcgpmdWVyIGRhcyBuZXVlIHVlYmVyc2ljaHRsaWNoZXJlIEludmVudG9yeS4gIDopCgpVbmQgZGFubiBtZWluZSBLcml0aWsgZnVlciBkaWUgbWVocnNwYWx0aWdlIEF1Zmxpc3R1bmcKdm9uIE5QQ3MgdW5kIEdlZ2Vuc3RhZW5kZW4sIGRpZSBpbiBlaW5lbSBSYXVtIGxpZWdlbi4KRGEgaWNoIG9obmUgVEYgdW5kIG51ciBtaXQgZWluZXIgbGF1c2lnZW4gVGVsbmV0dmVyYmluZHVuZywKZGllIG1pciBnZWxlZ2VudGxpY2ggc29nYXIgWmVpY2hlbiBhbSBSYW5kIGVpbmZhY2ggdW50ZXJzY2hsYWVndAooc28gZ2VtZWluIGlzdCBkaWUhISA7KSApIGFyYmVpdGUsIGtvbW10IGVzIGhhZXVmaWdlciB2b3IgZGFzcyBpY2gKbmV1ZXJkaW5ncyBEaW5nZSBkaWUgaW4gZGVyIGRyaXR0ZW4gb2RlciB2aWVydGVuIFNwYWx0ZSBzdGVoZW4KZWluZmFjaCBuaWNodCBhbmdlemVpZ3QgYmVrb21tZS4gRGVzd2VnZW4gbWVpbmUga2xlaW5lIEJpdHRlLApkaWUgVmVyYWVuZGVydW5nIHdpZWRlciBydWVja2dhZW5naWcgenUgbWFjaGVuLgoKQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmUgQml0dGUgKEhhdGUsICA3LiBNYWkgMTk5NiwgMDk6Mjg6MTQpOgp+IyEgcm49QWxpbmUgcnQ9ODMxNDUxNDk3Cn4jISB0aWQ9ODMxNDUxNDk3CkxpZWJlIEFsaW5lLAoKSWNoIGZyYWdlIG1pY2gsIHdpZSBEdSB1ZWJlcmhhdXB0IGV0d2FzIG1hY2hlbiBrYW5uc3QsIHdlbm4gRHUgZGllIEhhZWxmdGUKZGVzIFRleHRlcyBkZXIgRGlyIGF1c2dlZ2ViZW4gd2lyZCwgbmljaHQgbGVzZW4ga2FubnN0PwpXZW5uIERlaW4gdGVsbmV0IHNvd2FzIHVudGVyc2NobGFlZ3QsIHNvbGx0ZXN0IER1IG1hbCBhbiBkZWluZW0gVGVybWluYWwKc2NoYXVlbiwgb2IgaXJnZW5kd28gV1JBUCBlaW4gb2RlciBhdXN6dXNjaGFsdGVuIGdlaHQuIEFuc29uc3RlbiBrYW5uCmljaCBudXIgc2FnZW4sIGRhc3MgZGllIFNwYWx0ZW4gbmllIGRpZSBtYXhpbWFsZSBicmVpdGUgdm9uIDc4IFplaWNoZW4Kc3ByZW5nZW4uIEFsc28gbXVlc3N0ZSBhdWNoIGVpbmUgU3BhbHRlbmFuemVpZ2UgYmVpIGVpbmVtIFRlcm1pbmFsCm9obmUgVW1icnVjaCBmdW5rdGlvbmllcmVuLiBBbnNvbnN0ZW4gaXN0IGRpZSBTb2Z0d2FyZSB1bmQgSGFyZHdhcmUgd28KRHUgYXJiZWl0ZXN0IG5vY2ggYXVzIFplaXRlbiwgYW4gZGllIG1hbiBnYXIgbmljaHQgbWVociBkZW5rZW4gbWFnLgpTb2dhciBVUmFsdCBUZXJtaW5hbCBtYWNoZW4gZGFzIGdhbnplIG5vY2ggbWl0IQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmUgQml0dGUgKEplaG92YSwgIDcuIE1haSAxOTk2LCAwOTo1MzoxMSk6Cn4jISBybj1BbGluZSBydD04MzE0NTE0OTcKfiMhIHRpZD04MzE0NTE0OTcKCldpcmQgd29obCBlaGVyIGVpbmUgRnJhZ2UgZGVyIFNjaHJpZnRncm9lc3NlIHNlaW4gLi4uCgpBYmVyIHdlbm4gMiAoei5ULiBzZWhyIGxhbmdlKSBLdXJ6YmVzY2hyZWlidW5nZW4gbmViZW5laW5hbmRlcgpzdGVoZW4sIGZpbmRlIGljaCBkYXMgYXVjaCBuaWNodCBiZXNvbmRlcnMgZ3V0LgpFcnN0IGFiIDMgT2JqZWt0ZW4gaW0gUmF1bSBzb2xsdGUgYWxsZXMgdGFiZWxsZW5mb2VybWlnCmF1c2dlZ2ViZW4gd2VyZGVuLgpNYW4ga2FubiBlYmVuIG5pY2h0IG1laHIgMiBiaXMgMyBPYmpla3RlIGF1ZiBlaW5lbiBCbGljayBlcmZhc3NlbiwKc29uZGVybiBtdXNzIHp1c2FldHpsaWNoIG5vY2ggZGllIEF1Z2VuIGJld2VnZW4gOigKCkplaG92YSAoaXN0IGhldXRlIGJlc29uZGVycyBmYXVsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmUgQml0dGUgKEhhdGUsICA3LiBNYWkgMTk5NiwgMTA6MTQ6MDIpOgp+IyEgcm49SmVob3ZhIHJ0PTgzMTQ1NTU5MQp+IyEgdGlkPTgzMTQ1MTQ5Nwpad2VpIHNlaHIgbGFuZ2UgQmVzY2hyZWlidW5nZW4gd3VlcmRlbiB1bnRlcmVpbmFuZGVyIGRhcmdlc3RlbGx0LgpVbmQgd2VyIG5pY2h0IGluIGRlciBMYWdlIGlzdCwgZGllIFNjaHJpZnRncm9lc3NlIHNvIHp1IGFlbmRlcm4sIGRhc3MgYWxsZXMKYXVmIGRlbiBTY2hpcm0gcGFzc3QsIGJ6dyBkYXMgRmVuc3RlciBlbnRwcmVjaGVuZCBtYWwgenUgdmVyZ3JvZXNzZXJuIHNvbGx0ZQpzaWNoIHVlYmVybGVnZW4sIG9iIGVyIG1hbCBkYXMgSGFuZGJ1Y2ggc3VjaHQuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYW56cGFydG5lciBnZXN1Y2h0ICEgKE1ldGEsICA3LiBNYWkgMTk5NiwgMTU6NTM6MjUpOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkhpICEgOi0pCiBJY2ggc3VjaGUgZWluZW4gVGFuenBhcnRuZXIgZnVlciBlaW5lbiBGIFRhbnprdXJzIFN0YW5kYXJ0IC8KR2VzZWxsc2NoYWZ0c3RhbnoKdm9tIEhvY2hzY2h1bHNwb3J0IGluIE11ZW5zdGVyLgpEQXMgS3Vyc25pdmVhdSBpc3QgbmllZHJpZyAsIGFsbGUgR1J1bmRzY2hyaXR0ZSB3ZXJkZW4gZXJzdCB3aWVkZXJob2x0ICwKYmV2b3IKd2FzIG5ldWVzIGRhenUga29tbXQuCkRlciBLdXJzIGlzdCBNaXR0d29jaHMgdm9uIDE4LjMwICAtIDE5LjM1IG9kZXIgMTkuNDAgLSAyMC40NSAgLCB3aXIgaGFiZW4gZGllCldhaGwuCkRlciBuYWVjaHN0ZSBUZXJtaW4gaXN0IHNjaG9uIE1pdHR3b2NoIGRlciA4LiBNYWkgYWxzbyBkaWVzZSBXb2NoZSBub2NoLgpNYWlsIGVpbmZhY2ggYW4ga2Fyb2ZvZUBtYXRoLnVuaS1tdWVuc3Rlci5kZQoKQ2lhbyBNZXRhIDotKQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xlaW5lIEJpdHRlIChBc21vZGlzLCAgNy4gTWFpIDE5OTYsIDE4OjIyOjU5KToKfiMhIHJuPUhhdGUgcnQ9ODMxNDU2ODQyCn4jISB0aWQ9ODMxNDUxNDk3ClRyb3R6ZGVtIHdhZXJlIGVzIHNjaG9lbiwgYWxsZWluIHNjaG9uIHdlZ2VuIGRlciBVZWJlcnNpY2h0bGljaGtlaXQsIHdlbm4KZGllIFNhY2hlbiB3aWVkZXIgdW50ZXJlaW5hbmRlciBzdGVoZW4uIG1laHJzcGFsdGlnIG1hZyBpY2ggc293aWVzbyBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtsZWluZSBCaXR0ZSAoQXNtb2RpcywgIDcuIE1haSAxOTk2LCAxOTowNzoxMCk6Cn4jISBybj1Bc21vZGlzIHJ0PTgzMTQ4NjE3OQp+IyEgdGlkPTgzMTQ1MTQ5NwpIaWVyIG5vY2ggZWluIEJlaXNwaWVsIGRhZnVlciwgZGFzcyBlcyBuaWNodCBzY2hvZW4gYXVzc2llaHQ6CgpEdSBlcnJlaWNoc3QgZGVuIFBvcnQgVmFpbmVyIE1hcmt0cGxhdHouIERpZSBIYWZlbnN0cmFzc2UgZnVlaHJ0IG5hY2ggT3N0ZW4Kd2VpdGVyIHp1bSBIYWZlbi4gSW0gV2VzdGVuIGthbm5zdCBEdSBpbiBlaW5pZ2VyIEVudGZlcm51bmcgZGllIFN0YWR0dG9yZQplcmtlbm5lbi4gTmFjaCBTdWVkZW4gdmVybGFldWZ0IGRlciBTdHJhbmR3ZWcuIER1IHNpZWhzdCBoaWVyIHphaGxyZWljaGUKTWFya3RzdGFlbmRlLiBOb2VyZGxpY2ggdm9uIERpciBiZWZpbmRldCBzaWNoIGRhcyBIYXVwdHBvc3RhbXQuCkVzIGdpYnQgdmllciBzaWNodGJhcmUgQXVzZ2FlbmdlOiBvc3Rlbiwgc3VlZGVuLCB3ZXN0ZW4gdW5kIG5vcmRlbi4KTGFzY2hpZSBDaHVya2llIGhhdXQgYWxsZXMga2FwdXR0LiAgICAgVGFrYW4gZGVyIEhlbGQuClVsdWxhIFtpZGxlXS4gICAgICAgICAgICAgICAgICAgICAgICAgIEthdGphIGRpZSBBbWF6b25lLgpCZWVsemVidWIgZGVyIEhleGVyLiAgICAgICAgICAgICAgICAgICAKCgoKUC5TLjogV2VubiBkdSBQZWNoIGhhc3QsIHdpcnN0IGR1IGRhIHZvbiBBbGluZSB1ZWJlcnNlaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGVpbmUgQml0dGUgKEFsaW5lLCAgNy4gTWFpIDE5OTYsIDE5OjI3OjU2KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODMxNDg4ODMwCn4jISB0aWQ9ODMxNDUxNDk3CkhtbW0gQXNtb2RpcywgdmllbGxlaWNodCBoZWlzc3QgZXMgamEgYmVzc2VyOgpXZW5uIER1IEdsdWVjayBoYXN0LCB3aXJzdCBEdSB2b24gQWxpbmUgdWViZXJzZWhlbiA7KQoKQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsZWluZSBCaXR0ZSAoTWFyaXRhLCAgOC4gTWFpIDE5OTYsIDA3OjE4OjI1KToKfiMhIHJuPUhhdGUgcnQ9ODMxNDU2ODQyCn4jISB0aWQ9ODMxNDUxNDk3CkhpLApJY2ggbmVobWUgYW4sIGRhcyBOZWJlbmVpbmFuZGVyIHd1cmRlIGVpbmdlZnVlaHJ0LCB3ZWlsIG1hbmNobWFsIHppZW1saWNoCnZpZWwgTXVlbGwgaW0gUmF1bSBydW1saWVndC4gV2llIHdhZXJlIGVzIGFsc28sIGRpZSBOZWJlbmVpbmFuZGVyZGFyc3RlbGx1bmcKZGF2b24gYWJoYWVuZ2lnIHp1IG1hY2hlbiwgZGFzcyBtZWhyIGFscyAxMCBPYmpla3RlIGltIFJhdW0gc2luZD8KTWFyaXRhLCBmaW5kZXQsIGRhc3MgVGVsbmV0IHNjaG9uIHVudWViZXJzaWNodGxpY2ggZ2VudWcgaXN0LCBkYXp1CmJyYXVjaGVuIHdpciBrZWluZSB6dXNhZXR6bGljaGUgVW51ZWJlcnNpY2h0bGljaGtlaXQgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGVpbmUgQml0dGUgKFJhZmZpLCAgOC4gTWFpIDE5OTYsIDEwOjI4OjA3KToKfiMhIHJuPU1hcml0YSBydD04MzE1MzI3MDUKfiMhIHRpZD04MzE0NTE0OTcKCkljaCBkZW5rZSBkYXMgZXMgZGVyIHVlYmVyc2ljaHRsaWNoa2VpdCBzY2hvbiBzZWhyIGdlaG9sZmVuIGhhdCBkYXMgZ2xlaWNoZQpvYmpla3RlIHp1c2FtbWVuZ2VmYXNzdCB3ZXJkZW4uIERhIGJsZWlidCBkYW5uIGltIG5vcm1hbGZhbGwsIGF1Y2ggbmFjaCBlaW5lbQpncm9zc2VuIGdlbWV0emVsIG51cm5vY2ggMS01IFNhY2hlbiBsaWVnZW4uIERhcmF1cyBlcmdpYnQgc2ljaCBkYXMgdm9uIGRlcgpad2Vpc3BhbHRpZ2tlaXQgaGF1cHRzYWVjaGxpY2ggU3BpZWxlciB1bmQgTlBDIGJldHJvZmZlbiBzaW5kLiBVbmQgZ2VuYXUgZGEKaXN0IGVzIHVuYW5nZW5laG0gKFBlcnNvZW5saWNoZSBlcmZhaHJ1bmc6IGF1ZiBlaW5lbSBscyAtbCBmaW5kZXQgbWFuIGVpbmUKRGF0ZWkgc2NobmVsbGVyIGFscyBiZWkgbHMgLyBFcnNhdHp3ZWlzZSBmdWVyIERvc2VuZmFuczogRGlyIGlzdAp1ZWJlcnNpY2h0bGljaGVyIGFscyBESVIgL1cpCgpOaW1tIGJpdHRlIGRpZSBad2Vpc3BhbHRpZ2tlaXQgd2llZGVyIFJhdXMuIERlaW5lIFphZWhsc2NobGVpZmUgaXN0IGJlcmVpdHMKZGllIG9wdGltYWxlIExvZXN1bmcKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGVpbmUgQml0dGUgKEFjcmltb24sICA4LiBNYWkgMTk5NiwgMTA6NDE6NTgpOgp+IyEgcm49UmFmZmkgcnQ9ODMxNTQ0MDg3Cn4jISB0aWQ9ODMxNDUxNDk3CkFsc28gaWNoIGJpbiBzZWhyIGZyb2ggdW0gZGllIFp3ZWlzcGFsdGlna2VpdC4KSWNoIG1vZWNodGUgc2llIG5pY2h0IG1laHIgbWlzc2VuLgoKRWluIFZvcnNjaGxhZzoKRnVlaHJlIGRvY2ggZWluZSBPcHRpb24gZWluLCBkaWUgZGllIEVpbi0vTWVocnNwYWx0aWdrZWl0IHN0ZXVlcnQhCkFsc28gekI6Cmxpc3RlbiBlaW5zcGFsdGlnCmxpc3RlbiBtZWhyc3BhbHRpZwpEYXMga29lbm50ZSBtYW4gc3BhZXRlciBub2NoIC0gd2VubiBkdSB3aWxsc3QgLSBlcndlaXRlcm4gYXVmOgpsaXN0ZW4ga29tcGFrdApsaXN0ZW4gbGFuZwpvZGVyIHNvbnN0aWdlcy4uLi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290cyAoUHJlZGF0b3IsICA4LiBNYWkgMTk5NiwgMTE6MDA6NDYpOgpTY2hvbiB2b3IgZWluaWdlciB6ZWl0LCBhbHMgdW5zIGVpbmUgYWVobmxpY2hlIFdlbGxlIHZvbiBDcmFzaHMgb2RlciBSZWJvb3RzCnVlYmVycm9sbHRlLCB3dXJkZSB2b24gU3BpZWxlcm4gZGVyIHNlaHIgdmVyc3RhZW5kbGljaGUgV3Vuc2NoIGdlYWV1c3NlcnQsCmRvY2ggaW1tZXIgbWFsIGRlbiBHcnVuZCBpbiBkaWUgWmVpdHVuZyB6dSBzZXR6ZW4sIHdhcnVtIHdlc2hhbGIgd2llc28gbWFuCndpZWRlciBuZXVlIEF1c3J1ZXN0dW5nIGJyYXVjaHQuCkVzIHJlaWNodCBqYSBzY2hvbiwgd2VubiBpcmdlbmQgZWluIE1hZ2llciAyLTMgWmVpbGVuIHNjaHJlaWJ0IGEgbGEgOidSb2NodXMKaGF0IENvbGEgaW4gZGVuIHJlY2huZXIgZ2VraXBwdCcgb2RlciAnSm9mIGhhdCBuIG5ldWVzIEJTIGluc3RhbGxpZXJ0LicKRGFubiB3dWVzc3RlbiBkaWUgU3BpZWxlciBCZXNjaGVpZCwgd3VlcmRlbiBuaWNodCBkYXVlcm5kIGZyYWdlbi4uLi4KCkFsc28gaWNoIGZhZW5kZSBlcyBndXQKCkVpbiBiYWxkIHdpZWRlciBpbiBkaWUgS2FyYXRlZ2lsZGUgZWludHJldGVuZGVyIFBSRURBVE9SCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsYWcsIHJlYm9vdCB1bmQgQ28gKE15c2VsZiwgIDguIE1haSAxOTk2LCAxOTo0MDo0NCk6CkhpIE1pdC1NdWRkaWVzLAoKaW4gZGVuIGxldHp0ZW4gdW5kIFdvY2hlbiB1bmQgTW9uYXRlbiBoYXQgbWljaCBkYXMgbGFnIGltIE1HIHp1bmVobWVuZApnZW5lcnZ0LCB1bmQgaWNoIGhhYmUgZGVzIG9lZnRlcmVuIGRhcnVlYmVyIGJlc2Nod2VydC4KCk5hY2hkZW0gaGV1dGUgYWJlbmQgZGllIFNpdHV0YXRpb24gdHJvdHogJ25lciBnYW56ZW4gTWVuZ2UgYWt0aXZlciAKU3BpZWxlciB3ZXNlbnRsaWNoIGJlc3NlciBhdXNzY2hhdXQgKGhvZmZlbnRsaWNoIGJsZWlidCBkYXMgc28hIDotKSApLAptb2VjaHRlIGljaCBtaWNoIGhpZXIgYXVzZHJ1ZWNrbGljaCBmdWVyIGRpZSBkZXV0bGljaGUgVmVyYmVzc2VydW5nCmJlZGFua2VuISAtTWVociBhbHMgZGllIGFsbGVybWVpc3RlbiBpbmhhbHRsaWNoZW4gQWVuZGVydW5nZW4gd2V0dG1hY2hlbgprb2VubmVuLCBpc3QgZGFzIGxhZyBpbiBkZXIgTGFnZSwgZGVuIFNwaWVsc3Bhc3MgZ3J1ZW5kbGljaCB6dSB2ZXItCmRlcmJlbi4gIERlc2hhbGIgd3VlcmRlIGljaCBtaWNoIGZyZXVlbiwgd2VubiBhdWNoIGt1ZW5mdGlnIGVudHNwcmVjaGVuZGUKQW5zcHJ1ZWNoZSBhbiBkZW4gUHJvZ3JhbW1jb2RlIGdlc3RlbGx0IHdlcmRlbiwgdW5kIHNpY2ggdmllbGxlaWNodApzb2dhciBlaW4gTWFnaWVyLCBkZXIgc2ljaCBkYXp1IGJlcnVmZW4gZnVlaGx0LCAnaGF1cHRhbXRsaWNoJyBkYW1pdApiZXNjaGFlZnRpZ3QgLSBhbGxlIFNwaWVsZXIsIG9iIHF1ZXN0ZW5kL21ldHplbG5kZSBvZGVyIHByb2dnZW5kZSAtCndlcmRlbiBlcyBpaG0gZGFua2VuLi4uLgoKTWl0IGRlciBrYXRhc3Ryb3BoYWxlbiBMYWdzaXR1YXRpb24gaGFlbmdlbiB2ZXJtdXRsaWNoIGF1Y2ggZWluaWdlCmRlciByZWJvb3RzIHp1c2FtbWVuLiAgTnVuIGFlcmdlcmUgaWNoIG1pY2ggdWViZXIgZGllIG1laXN0ZW4gcmVib290cywKYWJlciB2b3IgZGllIFdhaGwgZ2VzdGVsbHQsIGltIE11ZCBkYXVlcm5kIHZvbiBCdW1tZWxzY2huZWNrZW4gbWl0CkJyZW1zZmFsbHNjaGlybWVuIHVlYmVyaG9sdCB6dSB3ZXJkZW4gb2RlciBlaW5lIFNlcXVlbnogdm9uIHJlYm9vdHMsCm5hY2ggZGVuIHNpY2ggd2llZGVyICdFY2h0emVpdCcgc3BpZWxlbiBsYWVzc3QsIHp1IGVydHJhZ2VuLCBuZWhtZQpkaWUgcmVib290IGRhbm4gZG9jaCBnYW56IGdlcm5lIGluIEthdWYuCgpFaW4gQml0dGUgbW9lY2h0ZSBpY2ggYWJlciBpbiBadXNhbW1lbmhhbmcgbWl0IGRlbiByZWJvb3RzIGRvY2gKbm9jaG1hbCBhdWZncmVpZmVuIC0gZWluZSBrdXJ6ZSBJbmZvIHZvbiBlbnRzcHJlY2hlbmRlciBTZWl0ZQooc28gbmFjaCBkZW0gTW90dG8gJ3dpciBrZW5uZW4gZGFzIFByb2JsZW0sIHdpciBhcmJlaXRlbiBkcmFubiwKZXMga2FubiB6dSBTdG9lcnVuZ2VuIGtvbW1lbiwgd2lyIG1lbGRlbiB1bnMsIHdlbm4gZGllIExhZ2Ugd2llZGVyCnN0YWJpbCBpc3QnKSB3YWVyZSBtRSBzZWhyIGhpbGZyZWljaC4gRGVubiBlcnN0ZW5zIGthbm4gbWFuIHNpY2gKZGFubiBkcmF1ZiBlaW5zdGVsbGVuIHVuZCB6d2VpdGVucyB6ZWlndCBkYXMgamEgYXVjaCwgZGFzcyBqZW1hbmQKc2ljaCBkaWUgTXVlaGUgbWFjaHQgdW5kIGFuIGlyZ2VuZHdlbGNoZW4gUHJvYmxlbWVuIGJhc3RlbHQuClNvIG5haXYsIHNpY2ggdm9yenVzdGVsbGVuLCBqZW1hbmQgd3VlcmRlIGF1cyBqdXggdW5kIERvbGxlcmVpICduZQpSZWJvb3RzZXNzaW9uIHZlcmFuc3RhbHRlbiwgd2lyZCBrZWluZXIgc2Vpbi4gQWJlciBzbyBlaW5lIGtsZWluZQpJbmZvLUdlc3RlIGhpbGZ0IGFsbGVtYWwsIGRhcyBub3R3ZW5kaWdlIFVlYmVsIGxlaWNodGVyIHp1IGVydHJhZ2VuLgoKR3J1c3MsCgpNeXNlbGYgIC0gd3VlbnNjaHQgdW5zIGFsbGVuIG1hbCB3aWVkZXIgZWluZSBsYW5nZSB1cHRpbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcHJ1Y2ggZGVyIE1pbnV0ZSAoSm9mLCAgOC4gTWFpIDE5OTYsIDIxOjE1OjIyKToKfiMhIHJuPUd1eWJydXNoIHJ0PTgzMTQwMTA0MAp+IyEgdGlkPTgzMTQwMTA0MAoKCiBXaXIgaGFiZW4gaW4gZGVuIGxldHp0ZW4gVGFnZW4gZWluZSBuZXVlIFZlcnNpb24gdm9uIEZyZWVCU0QKKDIuMi1TTkFQLTk2MDUwMSkgYXVmIE1HIGVpbmdlc3BpZWx0LCB2b24gZGVyIGljaCBtaXIgYmVzc2VyZSBEZWJ1Z2dpbmctCk1vZWdsaWNoa2VpdGVuIHZlcnNwcm9jaGVuIGhhdHRlIChlcyBnaWJ0IGRhIG5vY2ggZWluIHNjaHdlciByZXByb2R1emllcmJhcmVzCkdELVByb2JsZW0uLi4pOyBkaWVzZXMgUmVsZWFzZSBoYXR0ZSBqZWRvY2ggbGVpZGVyIGVpbmlnZSBQcm9ibGVtZSBtaXQgZGVyClp1c2FtbWVuYXJiZWl0IGRlcyBVRlMtVHJlaWJlcnMgdW5kIGRlcyBORlMtRGFlbW9uczsgZGllIHp1IHJlZ2VsbWFlc3NpZ2VuCkFic3R1ZXJ6ZW4gZGVyIE1hc2NoaW5lIGZ1ZWhydGVuLiBBdWNoIGVpbmUga29tcGxldHRlIE5ldWluc3RhbGxhdGlvbgpzdGF0dCBkZXMgdm9yYW5nZWdhbmVuZW4gVXBncmFkZXMgaGFsZiBuaWNodDsgenVkZW0gc2NoaWVuIE1HIG1pdCAyLjIKc3RhcmsgenUgbGFnZ2VuIChrYW5uIGFiZXIgYXVjaCBhbiB3YXMgYW5kZXJlbSBnZWxlZ2VuIGhhYmVuKS4KCiBJbnp3aXNjaGVuIGlzdCB3aWVkZXIgRnJlZUJTRCAyLjEuMC1SRUxFQVNFIGluc3RhbGxpZXJ0OyBkYW1pdCBzb2xsdGVuIGRpZQpTY2h3aWVyaWdrZWl0ZW4gZGVyIGxldHp0ZW4gVGFnZSB3aWVkZXIgYmVob2JlbiBzZWluLiBadWRlbSBoYWJlIGljaCBlbmRsaWNoCmRlbiAyLiBTQ1NJLUNvbnRyb2xsZXIgdW5kIGRpZSAxR0ItUGxhdHRlIHdpZWRlciBpbiBNRyBlaW5nZWJhdXQgdW5kCmVpbiBiaXNzY2hlbiBvcHRpbWllcnQsIHVtIGRpZSBQZXJmb3JtYW5jZSB6dSBzdGVpZ2VybiAoRlMgYXN5bmNocm9uCmdlbW91bnRlZCwgRGF0ZW4gYXVmIGJlaWRlIFBsYXR0ZW4gdmVydGVpbHQgdXN3KS4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpUIGZ1ZXIgR2VsZC4uLmd1dGUgaWRlZSAoQnJhYWssICA5LiBNYWkgMTk5NiwgMDI6NDg6MTkpOgpad2VyZ2lzY2hlciBHcnVzcyAhCgpadCBmdWVyIEdlbGQgc2NoZWludCBtaXIgZWluZSBndXRlIElkZWUgKHd1bmRlcmxhbmQpLiBXYWVyZSBkaWVzCm1vZWdsaWNoL3NpbnZvbGwKaW4gTUcgZWluenVmdWVocmVuID8KClZpZWxsZWljaHQgZW50c3ByZWNoZW5kIHRldWVyLCBvZGVyIG5pY2h0IGZ1ZXIgZ2VsZCBzb25kZXIgZnVlciBiZXNvbmRlcmUKR2VnZW5zdGFlbmRlIGVpbnRhdXNjaGJhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaVCBmdWVyIEdlbGQuLi5ndXRlIGlkZWUgKEhhdGUsICA5LiBNYWkgMTk5NiwgMDg6MjU6MDQpOgp+IyEgcm49QnJhYWsgcnQ9ODMxNjAyODk5Cn4jISB0aWQ9ODMxNjAyODk5ClZpZWxsZWljaHQgc29sbHRlIG1hbiBkYXp1IGVpbmUga2xlaW5lIEFubWVya3VuZyBtYWNoZW46CiBJbiBXdW5kZXJsYW5kIGlzdCBkaWUgR2VzY2hpY2h0ZSBkZXIgWmF1YmVydHJhZW5rZSBhbSBBbmZhbmcgYWVobmxpY2ggZGVyLAogaGllciBpbiBNb3JnZW5HcmF1ZW4uIERvcnQgamVkb2NoIGhhdCBtYW4genVzYWV0emxpY2ggenUgZGVuIGRvcHBlbHQgenUKIGZpbmRlbmRlbiBaVHMgZWluZ2VmdWVocnQsIGRhc3MgbWFuIHNpY2ggU3RhdHMgZXJrYXVmZW4ga2Fubi4gRHVyY2ggZGllc2UKIEFydCB1bnQgV2Vpc2UgZGVyIEhhbmRoYWJ1bmcgZXJnaWJ0IHNpY2ggZWluZSBnYW56IGFuZGVyZSBTdHJ1a3R1ciwgZGllIG1hbgogbWVpbmVyIE1laW51bmcgbmFjaCBuaWNodCBzbyBlaW5mYWNoIGhpZXIgZWluZnVlaHJlbiBrb2VubnRlLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmUgUnVicmlrIChKdXJyeSwgIDkuIE1haSAxOTk2LCAwOTo0NToyNyk6ClB1aCwgZGEgaWNoIG5pY2h0IHNvIGRlciBTdXBlci1aZWl0dW5nc2xlc2VyIGJpbiBiaW4gaWNoIHZvcmhpbiBtYWwgc28gZWJlbgprdXJ6IDQgbWFsIGdlc3RvcmJlbiwgbnVyIHdlaWwgZWluIGpvZiB1bmQgZWluIG5ldWVyIEVyem1hZ2llciBGbGFtbWVua3VnZWxuCmFlbmRlcm4gb2RlciAiZW5kZSIgZWluZmFjaCB2ZXJsYWVuZ2Vybi4gCk1hbmNobWFsIGZyYWcgaWNoIG1pY2ggb2IgZGllIE1hZ2llciBlaWdlbmRsaWNoIGF1Y2ggbWFsIHdhcyBuZXVlcyBzY2hvZW5lcwpQcm9nZ2VuIHN0YXR0IGlyZ2VuZHdlbGNoZSBlcnNjaHdlcm5pc3NlIGZ1ZXIgU3BpZWxlci4KV29iZWkgZXMgbmFydHVlcmxpY2ggaW1tZXIgYXVzbmFobWVuIGdpYnQKCktvZW5udGUgbWFubiBuaWNodCBlaW5lIHJ1YnJpayBtYWNoZW4gd28gbnVyIG1hZ2llciBzY2hyZWlicmVjaHRlIGhhYmVuIHVuZApkaWUgYWxsZSB3aWNodGlnZSBBZW5kZXJ1bmdlbiBlbnRoYWVsdCA/CmRhbm4gd2lyZCBtaXIgc29uIHNjaGVpc3MgbmljaHQgbm9jaG1hbCBwYXNzaWVyZW4gKGhvZmZlIGljaCkKT2RlciBtZWludCBpaHIgaWNoIGhhYmUgbmljaHRzIGJlc3NlcmVzIHp1IHR1biBhbHMgZXJ0bWFsIDEwMCBzZWl0ZW4gbXBhIHp1Ck9kZXIgbWVpbnQgaWhyIGljaCBoYWJlIG5pY2h0cyBiZXNzZXJlcyB6dSB0dW4gYWxzIGVyc3RtYWwgMTAwIFNlaXRlbiBNUEEgenUKbGVzZW4gd2VubiBpY2ggcmVpbmtvbW1lID8KSWNoIHdpbGwgaGllciBiZWkgZGVyIEdlbGVnZW5oZWl0IG5vY2ggbG9zd2VyZGVuIGRhcyBpY2ggZGFzIG11ZCBmcnVlaHJlciBkb2NoCndlc2VuZGxpY2ggYmVzc2VyIGZhbmQsIGhldXQgaXN0IGVzIG1pciB6dSBncm9zIHVuZCBhdXNzZXJkZW0gc2luZCBpbW1lcgppcmdlbmR3ZWxjaGUgZHJlY2tpZ2UgRmFsbGVuIGVpbmdlYmF1dCwgc2VpIGVzIHdlbm4gbWFubiBuYWNrdCBuYWNoIE5lc2thamEKZ2VodCBvZGVyIHdlbm4gbWFubiBwbG9ldHpsaWNoIG5lIGJydWVja2UgcnVudGVyZmFlbGx0LCBhY2ggd2FzIHdlaXNzIGljaCwgZ2liCnNvIHZpZWxlcyAKSWhyIHdlcmRldCBtaWNoIGF1ZiBqZWRlbmZhbGwgd2VuaWdlciBoaWVyIHNlaGVuLCBsZXZlbCAzMCBoYWIgaWNoIG1pcgplbmRndWVsdGlnIGFiZ2VzY2hyaWViZW4KCmt1cnogdW5kIGtuYXBwCiAKRXMgS09UWlQgbWljaCBlaW5mYWNoIGFuICEKIAooaWNoIHdlaXNzLCBpbnRlcmVzc2llcnQgZWgga2VpbmVuICkgCgpKdXJyeSAtIERhcyB2b24gTWFnaWVyIGdlc2NobGFnZW5lIFRJRVIgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpUIGZ1ZXIgR2VsZC4uLmd1dGUgaWRlZSAoWWFudHJvLCAgOS4gTWFpIDE5OTYsIDEwOjA5OjQyKToKfiMhIHJuPUJyYWFrIHJ0PTgzMTYwMjg5OQp+IyEgdGlkPTgzMTYwMjg5OQoKSWNoIHN0cmVpdGUgaGllcm1pdCBlbnRzY2hpZWRlbiBhYiwgZGFzcyBtYW4gaW0gV3VuZGVybGFuZCBaVHMgZnVlciBHZWxkCmtyaWVndC4uLiB3ZXIgd2lzc2VuIHdpbGwsIHdpZSBlcyB3aXJrbGljaCBpc3QsIGRlciBzb2xsdGUgc2ljaCBkYSBtYWwKZWlubG9nZ2VuIDstKQoKQWJlciBtYWwgRXJuc3Q6IERhcyBaVC1TeXN0ZW0gaW0gV3VuZGVybGFuZCBpc3QgZWluIGFsdGVzIFByb3Zpc29yaXVtIHVuZCB3aXJkCmRlbW5hZWNoc3QgYXVjaCB1ZWJlcmFyYmVpdGV0LiBEYXMgbWFuIGRvcnQgYXVjaCBhbmRlcnMgYWxzIGR1cmNoIGZpbmRlbiBhbgpaVHMga2FtLCBpc3QgdW5kIGJsZWlidCBlaW5lIE5vdGxvZXN1bmcuLi4gCgogICAgICAgICAgICAgICAgICBZYW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlISAoQWxpbmUsICA5LiBNYWkgMTk5NiwgMTA6MTc6NDApOgpIYWxsbyBIYXRlLAoKaWNoIG1vZWNodGUgbWljaCBiZWkgRGlyIGJlZGFua2VuLCBkYXNzIGRpZSBSYXVtYmVzY2hyZWlidW5nZW4Kd2llZGVyIHdpZSBnZXdvaG50IGF1c3NlaGVuLiA6KSBEaWUgSWRlZSBudXIgYWIgZWluZXIgZ2V3aXNzZW4gQW56YWhsIE5QQ3MgCnp1c2FtbWVuIHp1IGZhc3NlbiBmaW5kZSBpY2ggcHJpbWEhIDopCgpBbGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaVCBmdWVyIEdlbGQuLi5ndXRlIGlkZWUgKFJhZmZpLCAgOS4gTWFpIDE5OTYsIDExOjM2OjExKToKfiMhIHJuPVlhbnRybyBydD04MzE2MjkzODIKfiMhIHRpZD04MzE2MDI4OTkKCkVudHNjaHVsZGlnZSBZYW50cm8gd2VubiBpY2ggRGlyIHdpZWRlcnNwcmVjaGVuIG11c3MsIGFiZXIKaW0gV0wga2FubiBtYW4gZ2Fya2VpbmUgWlQga2F1ZmVuICh3ZW5uIGphLCBkYW5uIGtsYWVyIG1pY2gKYml0dGUgYXVmKSBpbSBXTCBrYW5uIG1hbiBFUCBnZWdlbiBTdGF0cyBlaW50YXVzY2hlbi4gV29iZWkKZGllc2UgU3RhdHMgYWJlciBuaWNodCBkYXVlcmhhZnQgc2luZCAtIG1hbiB2ZXJsaWVydCAoZ2VrYXVmdGUpClN0YXRzIGJlaW0gU3RlcmJlbi4gQXVzc2VyZGVtIGlzdCBkZXIgUHJlaXMgZnVlciBqZWRlbgpQdW5rdCBzdGFyayBhbnN0ZWlnZW5kLgoKRGFzIFN5c3RlbSBtYWcgamEgZWluZSBOb3Rsb2VzdW5nIGdld2VzZW4gc2VpbiwgaWNoIGhhbHRlIGVzCmplZG9jaCBmdWVyIGVpbmUgd2lya2xpY2ggZ3V0ZSBTYWNoZS4gIEVpbmUgQWJzY2hhZmZ1bmcgaXN0CnNjaG1hcnJuLiBEYXMgV0wgYW4gZGVyIFN0ZWxsZSB3aWVkZXIgenUgZWluZW0gTUctS2xvbmUgenUKbWFjaGVuIGlzdCBlaW4gc2Nod2VyZXIgUnVlY2tzY2hyaXR0LgoKRWluZSBlaW5mYWNoZSB1ZWJlcm5haG1lIGlucyBNRyBpc3QgamVkb2NoIG5pY2h0IHNpbnZvbGwsIGRhCmRpZSBTdHJ1a3R1cmVuIChPYmVyZ3JlbnplbiBldGMuKSBpbSBNRyBhbmRlcnMgc2luZC4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluZSBSdWJyaWsgKEJlbmRlaWdpZCwgIDkuIE1haSAxOTk2LCAxMjo0MDo0OSk6Cn4jISBybj1KdXJyeSBydD04MzE2Mjc5MjcKfiMhIHRpZD04MzE2Mjc5MjcKTW9tZW50Y2hlbiwgSnVycnk6IFdlbmlnc3RlbnMgZWluZW0gUHVua3QgbXVzcyBpY2ggb2VmZmVudGxpY2ggZW50Z2VnZW50cmV0ZW4sCndlbm4gbWFuIGF1Y2ggZWlnZW5UbGljaCBhbGxlbiB3aWRlcnNwcmVjaGVuIG11c3M6IEFlbmRlcnVuZ2VuIHppZWxlbiBuaWNodApkYXJhdWYgYWIsIGVzIGRlbiBTcGllbGVybiBzY2h3ZXJlciB6dSBtYWNoZW4gc29uZGVybiBlaW5lbiBnZXdpc3NlbiBBdXNnbGVpY2gKdW5kIGVpbiBlaW5pZ2VybWFzc2VuIHJvbGxlbnNwaWVsZ2VyZWNodGVzIE1HIHp1IGJla29tbWVuLiBEYXMgbWl0IGRlciBHcm9lc3NlCmlzdCBudXIgbm9ybWFsIHVuZCBlaW5lIGRlciBMZWJlbnNhZGVybiBkZXMgTUcuIApXYXMgYWJlciBlaW5mYWNoIGZhbHNjaCBpc3QgaXN0IGRhcyBtaXQgTmVza2F5YTogTWFuIEtBTk4gc2VociB3b2hsIG5hY2t0IGRhCmhpbiwgaWNoIGhhYiBzb3dvaGwgbWVpbmVuIFRlc3RpZSB3aWUgYXVjaCBad2VpdGllcyBkYSBzY2hvbiBuYWNrdApoaW5nZXNjaGlja3QuIFdhcyBuYXR1ZXJsaWNoIHZvcmF1c3NldHp0IGlzdCwgZGFzIGF1Y2ggU2VoZXIgZGVuIEJlZmVobCAidW50IgpiZW51dHplbi4gRGFuZWJlbiBpc3QgZGVyamVuaWdlLCBkZXIgZGllIFJhdW1iZXNjaHJlaWJ1bmdlbiBVTkQgRGV0YWlscyBsaWVzc3QKa2xhciBpbSBWb3J0ZWlsLiBOaWNodCBudXIgYmVpIE1pciBpbSBHZWJpZXQsIHNvbmRlcm4gYXVjaCBpbiBkZWluZXIgZ2VsaWVidGVuCkRhZW1vbmVuYnVyZy4gRGFzIFdpc3NlbiBmYWVsbHQgZWluZW0gZWJlbiBuaWNodCBpbiBkZW4gU2Nob3NzLCBzb25kZXJuIG1hbgptdXNzIGVyc3QgQXJiZWl0IHJlaW5zdGVja2VuIChkYXMgdHVuIHdpciBNYWdpZXIgc2NobGllc3NsaWNoIGF1Y2gpIHVtCmFuc2NobGllc3NlbmQgd2FzIGRhdm9uIChtZXR6ZWxuKSB6dSBoYWJlbi4KCloncGFyIFNlcnZ1LAogICAgICAgICAgICAgQmVuZGVpZ2lkLCBiZXdlaXN0IGVzIG5vdGZhbGxzIGplZGVtLCBkYXNzIG1hbiBuYWNrdCBuYWNoCk5lc2theWEga29tbXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5lIFJ1YnJpayAoQXNtb2RpcywgIDkuIE1haSAxOTk2LCAxODozMToxMyk6Cn4jISBybj1KdXJyeSBydD04MzE2Mjc5MjcKfiMhIHRpZD04MzE2Mjc5MjcKTWVja2VyIG5pY2h0LCB3ZW5uIGR1IG5pY2h0IGJsaW5kIGR1cmNocyBMZWJlbiBsYXVmZW4gd3VlcmRlc3QsIGhhZXR0ZXN0CmR1IHNpY2hlciBhdWNoIGRpZSBXYXJudW5nIGdlc2VoZW4sIGJldm9yIGR1IGRpZSBCcnVlY2tlIHJ1bnRlcmdlZmFsbGVuLApvZGVyIGltIFNjaG5lZXN0dXJtIGVyZnJvcmVuIHdhZXJzdC4gRGVzd2VpdGVyZW4gYml0dGUgaWNoIGFsbGUgd2VpdGVyZW4KJ0ZhbGxlbnN0ZWxsZXInLCBkaWVzIHp1IGJlYWNodGVuOjogSW1tZXIgc2Nob2VuIG5lIFdhcm51bmcgdm9yIGRlbQpiZXRyZWZmZW5kZW4gUmF1bSwgc29uc3QgaXN0IGVzIHdpcmtsaWNoIGZpZXMgKG1vZWdsaWNoIHdhZXJlIHouQi4KUmllc2lnZSBGdXNzYWJkcnVlY2tlLCB3ZW5uIG1hbiBkYWhpbnRlciB2b24gNSBSaWVzZW4gYW5nZWdyaWZmZW4Kd2lyZCA6KSAgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxpLUJlaXRyYWNoIChNYXJpdGEsIDEwLiBNYWkgMTk5NiwgMDA6NDc6MTUpOgpIaSwKYXVmIG1laHJmYWNoZW4gV3Vuc2NoIGthbm4gbWFuIGpldHp0IGRlbiBBbGktQmVpdHJhY2ggKDJuZCBlZC4pIGluIGRlcgpGYXNzdW5nLCB3aWUgZXIgaW4gZGVyIFplaXR1bmcgc3RhbmQsIGJlaSBtaXIgcGVyIG1haWwgb2RlciB0ZWlsZS1taXQKImFuZm9yZGVybiIuCk1hcml0YSBkaWUgaG9mZm51bmdzbG9zZSBBbmdlYmVyaW4KKEljaCB3ZWlzcywgZGVyIFNwcnVjaCBpc3QgdXJhbHQsIGFiZXIgZXIgcGFzc3QgZ2VyYWRlIHNvIGd1dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBkaWNrZXMgTE9CIGZ1ZXIgJ3VlYmVyZ2VoZSB0aHJlYWQnIChNYXJpdGEsIDEwLiBNYWkgMTk5NiwgMTA6Mjc6NDQpOgpEYXMgZ2lidCdzIHp3YXIgc2Nob24gZXR3YXMgbGFlbmdlciwgYWJlciBiaXMgZGllc2UgV29jaGUgaGFiIGljaCdzIG5vY2gKbmllIGdlYnJhdWNodC4gSWNoIGdsYXViZSwgUmljaHR1bmcgTG9jbyBpc3QgZGFzIExvYiByaWNodGlnIHBsYXppZXJ0LApvZGVyIHNjaG11ZWNrZSBpY2ggZGEgZGVuIGZhbHNjaGVuPyBVbmQgbmF0dWVybGljaCBlaW4gTG9iIGF1Y2ggZnVlciBkaWUKdWVicmlnZW4gQmVmZWhsZSwgZGllIGRpZSBNUEEga29tZm9ydGFibGVyIG1hY2hlbi4KTGVpZGVyIGxvZXN0ICJ1ZWJlcmdlaGUgdGhyZWFkIiBuaWNodCBkYXMgUHJvYmxlbSwgZGFzcyBSdWJyaWtlbiBpcmdlbmQtCndhbm4gcmFuZHZvbGwgc2luZCB1bmQgbWFuIG5pY2h0cyBNdWRyZWxldmFudGVzIG1laHIgcG9zdGVuIGthbm4sIHdlaWwKenUgdmllbCBSTC0qKioqKiBkYXp3aXNjaGVuIHN0ZWh0LiBBYmVyIGljaCBnbGF1YmUsIHNvIHdlaXQgaXN0IGVzIGpldHp0Cm5vY2ggbmljaHQuCkljaCBlcmlubmVyZSBhbHNvIGhpZXIgZGFyYW4sIGRhc3MgbWFuICJldGlrZXR0ZSIgbmljaHQgYWJiZXN0ZWxsZW4gbXVzcywKc29uZGVybiBlcyByZWljaHQsIGRpZSBUaHJlYWRzIHp1IHVlYmVyZ2VoZW4sIGRpZSBlaW5lbSBuaWNodCBnZWZhbGxlbi4KRWluIHZlcnNwYWV0ZXQgbG9iZW5kZXIgQmVpdHJhY2ggdm9uCk1hcmlkZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW4gZGlja2VzIExPQiBmdWVyICd1ZWJlcmdlaGUgdGhyZWFkJyAoUGFyYWNlbHN1cywgMTAuIE1haSAxOTk2LCAxNTo0MjoxMSk6Cn4jISBybj1NYXJpdGEgcnQ9ODMxNzE2ODY0Cn4jISB0aWQ9ODMxNzE2ODY0ClNlaHIgaGlsZnJlaWNoOgphbGkgdXRoIHVlYmVyZ2VoZSB0aHJlYWQKZGEgZGVyIFRocmVhZCBqYSBtYW5jaG1hbCBlaW5lbiBOYW1lbnN3ZWNoc2VsIGVyZmFlaHJ0IDooClBhcmFjZWxzdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxhZyAoTXlzZWxmLCAxMy4gTWFpIDE5OTYsIDE4OjQ0OjU5KToKSGkgTXVkZGllcywKCndlaWwgZXMgbWljaCBhcmcgbmVydnQsIG1vZWNodGUgaWNoIG5vY2htYWwgZWluIGxlaWRpZ2VzIFRoZW1hCmFuc3ByZWNoZW46IGRhcyBsYWcsIGFlaCBzb3JyeSwgZWhlciBsbGxsbGxhYWFhYS4uLi5hYWFhZ2dnZ2dnZy4uLgoKTmFjaGRlbSBzaWNoIGRpZSBsYWctTGFnZSBuYWNoIGRlbSBsZXR6dGVuIHJlYm9vdCBnbHVlY2tsaWNoZXJ3ZWlzZQpiZXJ1aGlndCBoYXR0ZSwgaXN0IGxlaWRlciBtaXR0bGVyd2VpbGUgZGFzIGxhZyBmdWVyIG1pY2ggd2llZGVyCmF1c2dlc3Byb2NoZW4gbmVydmlnLiBEYXp1IGlzdCBlcyBkZXIgZ3JvZXNzdGUgU3BpZWxTcGFzc0tpbGxlciwKZGVuIGljaCBrZW5uZS4gRGVzaGFsYiBtYWwgZWluIHBhYXIgRnJhZ2VuIHVuZCBBbnJlZ3VuZ2VuLCBkZW5uCmljaCBkZW5rZSBtaXIsIGRhc3MgZGllc2VzIFRoZW1hIChmYXN0KSBqZWRlbiBTcGllbGVyL01hZ2llcgppbnRlcmVzc2llcmVuIGR1ZXJmdGU6CgoxLiBXZWlzcyBqZW1hbmQgd29oZXIgZGFzIGxhZyBrb21tdCAobmV0bGFnIHVtIE11ZW5zdGVyLCBCUy1sYWcKICAtIHouQi4gTkZTLCBhbmRlcmUgam9icywgTUctbGFnLi4uLik/CgoyLiBXZW5uIGphOiBrYW5uIG1hbiBkYXMgYmVoZWJlbj8KCjMuIFdlbm4gbmVpbjoga2FubiBtYW4gZGFzIEF1ZnNwdWVyZW4/Cgo0LiBOZSBCaXR0ZSBhbiBqZWRlbiwgZGVyIHdlaXNzLCBkYXNzIGVyL3NpZSBmdWVyIGxhZW5nZXJlIFplaXQKICBsYWcgZXJ6ZXVnZW4gd2lyZDoga3VyemUgSW5mbyBhbiBkaWUgYW5kZXJlbiBTcGllbGVyLCBkYW1pdAogIG1hbiBzaWNoIGRyYXVmIGVpbnN0ZWxsZW4ga2Fubi4uLi4KCjUuIEVzIGdpYnQgbmF0dWVybGljaCBhdWNoIGRpZSBNb2VnbGljaGtlaXQsIGRhc3MgZGFzIE1HIHNvCiAgIGdyb3NzIGlzdCwgZGFzcyB3aXIgZWluZmFjaCBkYW1pdCBsZWJlbiAob2RlciBzdGVyYmVuIDstKSApCiAgIG11ZXNzZW4gLSBhdWNoIGVpbmVuIHNvbGNoZW4gY29tbWVudCBmYWVuZGUgaWNoIGludGVyZXNzYW50Li4uCgpTb3dlaXQgLXVtIHVub2V0aWdlcyBsYWcgenUgdmVybWVpZGVuIDstKSAgLQoKR3J1c3MsCgpNeXNlbGYgIC0gZ2VybmVydnQgdm9tIGxhZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxhZyAoV3VyemVsLCAxMy4gTWFpIDE5OTYsIDE5OjU4OjI5KToKfiMhIHJuPU15c2VsZiBydD04MzIwMDU4OTkKfiMhIHRpZD04MzIwMDU4OTkKZnVlciBsYWcgZ2lidCBlcyB6YWhscmVpY2hlIGdydWVuZGUsIGVpbmlnZSBoYXN0IGR1IGphIHNjaG9uIGdlbmFubnQuLi4KbWVpbiBwZXJzb2VubGljaGVzIGxhZyBrb21tdCB6dW0gdGVpbCB2b24gbWVpbmVtIHNjaGVpc3MtcHJvdmlkZXIsIGRlcgpzY2hvbiBmdWVyIHNpY2ggZWluIGluc3RhYmlsZXMgbmV0eiBoYXQuIG1hbmNobWFsICh6LmIuIGhldXRlKSBsaWVndCBlcyAKYXVjaCBhbiBkZXIgbmV0enRvcG9sb2dpZTogZ2VyYWRlIGJlaSB0cmFjZXJvdXRlIGhhYiBpY2ggMjUgaG9wcyBiaXMgbmFjaAptdWVuc3RlciBnZWhhYnQsIGRhdm9uIGVpbiBndXRlciB0ZWlsIGluIGFtZXJpa2EuLi4gd2VubiBtYW4gbmljaHQgaW0gZGZuCmlzdCwgaGF0IGxhZyBpbW1lciBlaW5lIGJlc29uZGVyZSB3dWVyemUuIDooCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIDotKSAoQmlibywgMTQuIE1haSAxOTk2LCAwMTo0NTo0OSk6CkhpLAoKWnUgbWVpbmVtIDEwMC4gT25saW5ldGFnIGltIE1vcmdlbkdyYXVlbiAobmFqYSBydW5kIDEwMCA6LSkgbW9lY2h0ZQp2aWVsZW4gZGFua2VuLCBvaG5lIGRpZSBkYXMgR2FuemUgZXJzdCBnYXIgbmljaHQgbW9lZ2xpY2ggZ2V3ZXNlbgp3YWVyZSBvZGVyIG51ciBoYWxiIHNvIHZpZWwgU3Bhc3MgZ2VtYWNodCBoYWV0dGUuCkRhbWl0IGVzIG51biBrZWluZSBsYW5nd2VpbGlnZSBBdWZ6YWVobHVuZyB2b24gTmFtZW4gd2lyZCwgbmVobWUgaWNoCm1hbCAobWVociBvZGVyIHdlbmlnZXIpIHdvaGxiZWthbm50ZSBVbXNjaHJlaWJ1bmdlbiB1bmQgemFlaGxlIGF1Y2gKbmljaHQgYWxsZSBhdWYgLi4uIGFiZXI6CmVpbiBoZXJ6bGljaGVzIERhbmtlIGFuCgotIGVpbiBQcmluemVzc2NoZW4sIGRhcyBrZWluZW4gRmlzY2ggbWFnCi0gZWluIFdlaWRjaGVuLCBvaG5lIGRhc3MgaWNoIE1vcmdlbmdyYXVlbiB3b2hsIG5pY2h0CiAga2VubmVuZ2VsZXJudCBoYWV0dGUKLSBlaW4gU2NoYXR0ZW53ZXNlbiwgZGFzIGluIHNlaW5lciBaaXRhZGVsbGUgcnVodCB1bmQgYmVpIGRlc3NlbgogIEFuYmxpY2sgZGllIEh5ZHJhIGdhbnoga29wZmxvcyB3aXJkCi0gZWluZW4gbmV0dGVuIEVpc2JhZXJlbiwgZGVyIGRpZSBUdW5kcmEgZ2VuYXVzbyBtYWcgd2llIGljaAotIGVpbmVuIFN0ZXJiZW1laXN0ZXIsIGRlciBlaW4gcHJpbWEgRnJldW5kIGlzdCB1bmQgdm9yIGthdW0gZWluZXIKICBHZWZhaHIgenVydWVja3NjaHJlY2t0Ci0gZWluZW4gRHJhY2hlbnBhcGEsIGRlciBhdWYgZWluZXIgSW5zZWwgd29obnQKLSBlaW5lIGZyZWNoZSBTY2hpbGRrcm9ldGUsIGRpZSBtaXQgZWluZXIgZ2Vob2VyaWdlbiBQb3J0aW9uIEh1bW9yCiAgZWluaWdlbiBVbnNpbm4gaW0gU2NoaWxkZSBmdWVocnQKLSBlaW5lIFBvbGFyaGV4ZSwgZGllIGVpbmUgcHJpbWEgR3J1ZnQgenVyIFZlcmZ1ZWd1bmcgc3RlbGx0ZQotIGVpbmVuIEdvbGRkcmFjaGVuLCBkZXIgc28gcmllc2lnIGlzdCwgZGFzcyBlciBvZnQgbWl0IGVpbmVtIEJlcmcKICB2ZXJ3ZWNoc2VsdCB3aXJkIHVuZCBkZXIgaW4gZGVyIFNTUCBncm9zcyB3dXJkZQotIEpvZnMgRWxmY2hlbgotIGVpbmVuIHJpZXNpZ2VuIHJvbGxlbmRlbiBLYWVzZQotIGVpbiBCaWVuY2hlbiwgZGFzIGRpZSBPcmtzIGluIEFuZ3N0IHVuZCBTY2hyZWNrZW4gdmVyc2V0enQKLSBkZW4gSGVycm4gZGVzIExpY2h0cwotIGVpbmUgY2hhb3Rpc2NoIHJhdHRlcm5kZSB3aWxkZSBSYXR0ZQotIGVpbiBGbHVzc2RyYWNoZW5iYWJ5IChuaWVtYW5kIHZlcmtva2VsdGUgc28gc2FuZnQgbWVpbmUgUnVlc3R1bmcpCi0gZWluZW4gaGFsYnRvdGVuIFNjaGF0dGVuendlcmcKLSBlaW5lbiBWYW1waXIsIGRlciBzZWluZW4gQXJ0Z2Vub3NzZW4gYXVmIGRlbSBGcmllZGhvZiBzdGFlbmRpZyB6dQogIEdldmF0dGVyIFRvZCBiZWZvZXJkZXJ0Ci0gZGFzIFRJRVIhCi0gZGllIGtsZWluc3RlIHVudGVyIGRlbiBTZWhlcm4KLSBlaW5lbiBTY2hsYXdpbmVyLCBkZXIgc2ljaCB2b24gUm9iaW4gbmljaHRzIGdlZmFsbGVuIGxhZXNzdAotIGVpbmVuIGFobnVuZ3Nsb3NlbiwgaGFybWxvc2VuLCBoaWxmbG9zZW4gKCA/ICksIGRlciBpbiBlaW5lcgogIGFuZGVyZW4sIHV0b3Bpc2NoIGFubXV0ZW5kZW4gV2VsdCBtaXQga2xhcHBlcm5kZW0gKGFiZXIgenVtCiAgQmx1dHNhdWdlbiBnZWVpZ25ldGVtKSBHZWJpc3MgYW56dXRyZWZmZW4gaXN0Ci0gZWluZW4gS2FtcGZ6d2VyZywgb2huZSBkZW4gZGFzIE11ZCBhZXJtZXIgd2FlcmUKLSBkZW4gMS4gTWVpc3RlciBkZXIgQ2hhb3RlbgotIGVpbmUgS2l0emVsaGV4ZQotIGRlbiBUZXVmZWwgdW5kIHNlaW5lIEZhbWlsaWUKLSBlaW5lbiBaZWl0a2lmZmVyIGRlciBvZnQgc2VpbmVuIFRpdGVsIGFlbmRlcnQgdW5kIGluIGVpbmVyCiAgVGVsZWZvbmthYmluZSBkdXJjaHMgTW9yZ2VuR3JhdWVuIHJlaXN0Ci0gZGllIEtudWRkZWxtYXVzIChlcyBkdWVyZnRlIHdvaGwga2F1bSBlaW5lbiBnZWJlbiBkZXIgbm9jaAogIG5pY2h0IGR1cmNoIHNpZSBkaWUgS251ZGRlbHBlc3Qga2VubmVuZ2VsZXJudCBoYWV0dGUgOi0pCgpFaW4gaGVyemxpY2hlcyBEYW5rZSBhdWNoIGFuIENyb2xsYSwgSHVlcGZlciAoSHVodSAhKSwgWXVyaWtvLApIZXJhLCBNeXNlbGYsIEFyZGFuYSAgdW5kIFNpYm9yaXQgLi0pCgpVbmQgYXVjaCBkZW4gdmllbGVuIE1hZ2llcm4gZGllIGRhcyBNRyBzbyBnZXNjaGFmZmVuIGhhYmVuIHdpZQplcyBoZXV0ZSBpc3QgbW9lY2h0ZSBpY2ggZGFua2VuLiBFcyB3YWVyZSB3b2hsIHVuZ2VyZWNodCBqZXR6dCBkaWUgdm9uCm1pciBiZXZvcnp1Z3RlbiBHZWdlbmRlbiwgTW9uc3RlciB1bmQgR2VnZW5zdGFybmRlIGF1Znp1emFlaGxlbiwgZGVubgppY2ggd2Vpc3Mgd2FzIGVzIChhbiBBdWZ3YW5kKSBiZWRldXRldCBlaW5lbiBSYXVtIG1pdCBEZXRhaWxzIHVuZApPYmpla3RlbiwgcGFzc2VuZCB6dXIgVW1nZWJ1bmcsIGF1c3p1c3RhdHRlbi4KCkljaCBoYWJlIHZvciwgd2VpdGVyIG1pdCBldWNoIGFsbGVuIGltIE1vcmdlbmdyYXVlbiB6dSBzcGllbGVuLCBhdWNoCndlbm4gbWlyIGltIFJMIG5pY2h0IG1laHIgZ2FueiBzbyB2aWVsIFplaXQgenVyIFZlcmZ1ZWd1bmcgc3RlaHQuCgpVbmQsIHp1Z3V0ZXJsZXR6dCwgRGFuayBhbiBqZW5lIGRpZSBkYXMgTXVkIHVlYmVyIEphaHJlIGFtIGxhdWZlbgpoYWx0ZW4gdW5kIGZ1ZXIgQXVzZ2V3b2dlbmhlaXQgdW5kIEZyaWVkZW4gc29yZ2VuLCBzb3dlaXQgLSBudW4KaWNoIHNhZyBqZXR6dCBuaWNodCAnR290dCAob2RlciBkZW4gR29ldHRlcm4gPykgc2VpIERhbmsnIGRlbm4Kbm9ib2R5IGlzIHBlcmZlY3QgOikgLSBlcyBpaG5lbiBtb2VnbGljaCBpc3QuIEljaCBtYWcgZGFzCk1vcmdlbmdyYXVlbiBtaXQgYWxsIHNlaW5lbiBTdGFlcmtlbiB1bmQgU2Nod2FlY2hlbi4KClNvLCBudW4gcmVpY2h0cyBhYmVyIG1pdCBkaWVzZW0gQXJ0aWtlbCAoZGVyIG1pciBhYmVyIGFtIEhlcnplbiBsYWcpIC4uLi4KCnZpZWxlIEdydWVzc2UsCiAgICAgICAgICAgICAgICAgICBldWVyIEJpYm8gOi0pCgoKUC5TLjogYWVobSwgZGllIDJ0eXMgaGFiIGljaCBuaWNodCBhdWZnZXphZWhsdCwgc29uc3Qgd2FlcmUgZGllc2VyCiAgICAgIEFydGlrZWwgd29obCAzIG1hbCBzbyBsYW5nLi4uLiBhbHNvLCBhbiBhbGxlIDJ0eXMgZGllIG1pY2gKICAgICAgb2RlciBtZWluZSAydHlzIGtlbm5lbjogIGZ1ZWhsdCBldWNoIGdla251ZGRlbHQsCiAgICAgIHdlbm4gaWhyIG1vZWd0IDotKQoKUC5QLlM6IG5hamEsIGljaCB3aWxsIGVzIG1pciBkb2NoIG5pY2h0IHZlcmtuZWlmZW4gbm9jaCAzIHdlaXRlcmUKICAgICAgIHp1IG5lbm5lbiBkaWUgbWlyIHdpY2h0aWcgd2FyZW4gaW0gTUcsIGRpZSBhYmVyIGxlaWRlcgogICAgICAgbmljaHQgbWVociB1bnRlciB1bnMgc2luZDoKICAgICAgIC0gZWluZSBGZXVlcnNhbGFtYW5kZXJpbiBkaWUgZ2VybiBhbGxlcyBidW50IGFubWFsdGUKICAgICAgIC0gZWluZSBrbGVpbmUgVmFtcGlybGFkeQoKICAgICAgIHVuZCBhdWNoIChtaXQgZWluZW0gQXVnZW56d2lua2VybikgZWluZSBsYWVuZ3N0IHZlcnN0b3JiZW5lCiAgICAgICBMYWJvcnJhdHRlIC0tLSB1bmQgZWluZSBUZXN0aWUgbmFtZW5zIFNvbGFpa2EsIGRpZSBpY2ggZGFtYWxzCiAgICAgICBuaWNodCBhbHMgdGVzdGllIGVya2FubnRlIHVuZCBzaWUgcHJvbXB0ICh3YXMgd2FyIGljaCBzdG9seiAtIGljaAogICAgICAgaGF0dGUgZGFtYWxzIGdlcmFkZSBoZXJhdXNnZWZ1bmRlbiB3aWUgbWFuIGVpbiBCU1MgaG9sdCA6LSkKICAgICAgIG1pdCBkZW0gQlNTIHZlcnNvcmd0ZS4gSWNoIHdlaXNzIGhldXRlIG5vY2ggbmljaHQgd2Vzc2VuIFRlc3RpZQogICAgICAgZHUgYmlzdC4uLiBhYmVyIGVzIHdhciBuZXR0IDotKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFyZW5hIGZ1ZXIgS2FyYXRla2FzIChSaW11cywgMTQuIE1haSAxOTk2LCAxODozNTowNyk6CkhhbGxvIExldXRlLCBpY2ggd2Vpc3MsIGRhc3MgZGFzIGluIGQud3Vlc3RlIGdlaG9lcnQsIGFiZXIgaGllciBpc3QKZGllIFJlc29uYW56IGdyb2Vzc2VyLgpJY2ggZmluZGUsIG1hbiBzb2xsdGUgZGllIEFyZW5hIGZ1ZXIgS2FyYXRla2FzIGZyZWlnZWJlbiwgZGVubiBlaW4gRHVlbGwKaW0gU2hpbnRvIGF1c3RyYWdlbiBtYWNodCBpcmdlbmR3aWUga2VpbmVuIFNwYXNzLgpadW0gZWluZW4gd2lyZCBtYW4gZGEgdm9uIExldXRlbiBnZXN0b2VydCwgZGllIHVlYmVuIHVuZCBkYW5uIGlzdApkaWUgQXRtb3NwaGFlcmUgbmljaHQgc28gc2Nob24sIHdlaWwga2VpbmVyIGF1ZiBkZW4gUmFlbmdlbiB6dXNjaGF1ZW4ga2Fubi4KS2FubiBtYW4gZGFzIGFlbmRlcm4gPz8/CgpSaW11cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFyZW5hIGZ1ZXIgS2FyYXRla2FzIChKYXNwZXIsIDE0LiBNYWkgMTk5NiwgMTg6Mzc6MDIpOgp+IyEgcm49UmltdXMgcnQ9ODMyMDkxNzA3Cn4jISB0aWQ9ODMyMDkxNzA3CkdlaCB6dW0gU2NobGFjaHRmZWxkICEhISEKCgpKYXNwZXIgcGxhbmxvcyBpbiBCb25uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFyZW5hIGZ1ZXIgS2FyYXRla2FzIChSaW11cywgMTQuIE1haSAxOTk2LCAxODozODozOSk6Cn4jISBybj1KYXNwZXIgcnQ9ODMyMDkxODIyCn4jISB0aWQ9ODMyMDkxNzA3CkRhIG11c3MgbWFuIGphIG1pbmRlc3RlbnMgenUgRHJpdHQgc2VpbiwgYXVjaCBvZWRlbi4KRGFzIGthbm4gaWNoIG1hY2hlbiwgd2VubiBpY2ggbm9jaCBtZWhyIEZlaW5kZSBoYWJlICEhCgpSaW11cyBncmlucy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFyZW5hIGZ1ZXIgS2FyYXRla2FzIChLZXksIDE0LiBNYWkgMTk5NiwgMjM6Mjc6MjgpOgpIbW1tbW1tbW1tbW0gSmFzcGVyIFJ1aGUhIDopIE9raSBpY2ggaGFiIG5lbiBrbGVpbmVuIHRyaWNrIGJlaW0gc2NobGFjaHRmZWxkCmFiciBkYXMgaXN0IGRvY2ggbmV0IHdlaXRlciBzY2hsaW1tISA6KSBVbiBhc21vIHNjaGFlbSBkaWNoIGVyc3RtYWwgd2VnZW4KZGVpbmVyIFp3ZWl0aWVrcmllZ2UgYmlzdGUgYXVmIGRlbSBlcnN0ZW4gcGxhdHohIDopCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFyZW5hIGZ1ZXIgS2FyYXRla2FzIChKYXNwZXIsIDE0LiBNYWkgMTk5NiwgMjM6MzA6MTcpOgp+IyEgcm49S2V5IHJ0PTgzMjEwOTM4NAp+IyEgdGlkPTgzMjEwOTM4NApkYXMgaXN0IGF1Y2ggcmljaHRpZyBzbywgd2VyIHBmdXNjaHQgZmxpZWd0IHp1ZXJzdCByYXVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTQ0hVTERJRyAhIChPZXR0aSwgMTUuIE1haSAxOTk2LCAwMjoxMTo0Nyk6ClNjaHVsZGlnICEKCkljaCBiaW4gU2NodWxkaWcgZWluZSBNYWdpZXJ6d2VpdGkgZ2V6YXBwdCB6dSBoYWJlbiwgZGVyIG1laW5lIApGcmF1LCBtaWNoIHVuZCBhbGxlIGFud2VzZW5kZW4gYmVsZWlkaWd0IGhhdC4KV29yYXVmaGluIEplbWFuZCAoZGVyIHNlaXQgbWVpbmVyIEhvY2h6ZWl0IG1pdCBUZWxrYSBzY2hlaW5iYXIKZWluZW4gSGFzcyBnZWdlbiBtaWNoIGhlZ3QpIGVpbmVuIFJpZXNlbmF1ZnN0YW5kIG1hY2h0LCB1bmQgCnp1c2FldHpsaWNoIG5vY2ggZWluIGFuZGVyZXIgIndpY2h0aWdlciIgTWFnaWVyIAood2VsY2hlciBtaXIgYW5kcm9odGUgaWNoIHNvbGx0ZSBuaWNodCBzbyBmcmVjaCBzZWluLAp3ZWlsIGVyIHNvd2llc28gbWVociBFaW5mbHVzcyBoYXQpClRqYSB1bmQgZGFyYXVmaGluIHdlcmRlIGljaCwgd2VpbCBpY2ggc28gYm9lc2Ugd2FyIHJ1bnRlcmdlc2V0enQsCgpJbiBkZW4gZm9sZ2VuZGVuIERpc2t1c3Npb25lbiBtdXNzIGljaCBtaXIgbm9jaCBhbmhvZXJlbiwgZGFzcwpzb3dpZXNvIHp1dmllbGUgTGV1dGUgaGllciBNYWdpZXIgc2luZCBkaWUgbmljaHRzIHByb2R1a3RpdmVzCm1hY2hlbiwgdW5kIGRlc3dlZ2VuIGF1Y2ggbmljaHQgd2VydCBzaW5kIE1hZ2llciB6dSBzZWluLgooR3J1c3MgYW4gdW5zZXJlIEZyZXVuZGUgaW4gVW5pdG9waWEpCgpVbmQgd2FlaHJlbmQgaWNoICJTcGllbGVyIiBiaW4gd2lyZCBhdWYgLU1hZ2llciBsdXN0aWcgCmRpc2t1dGllcnQsIGRhc3Mgb2JpZ2VyIGplbWFuZCBob2ZmdCwgZGFzcyBpY2ggbGFlbmdlcgphbHMgendlaSBXb2NoZW4gU3BpZWxlciBibGVpYmUgKGFtIGJlc3RlbiBmdWVyIGltbWVyKS4KTmVpbiBrbGFyIGlzdCBhbGxlcyBudXIgZWluIFNwaWVsLCBkYXMgaGF0IG5peCBtaXQgCnBlcnNvZW5saWNoZW4gTW90aXZlbiB6dSB0dW4sIG5pZWVlZWVlZWVlZWVlZWVlZS4KCgpBbGxlcyBudXIgZWluIFNwaWVsLi4uLgoKCkxldXRlIHdlbm4gaWhyIGRhcyBMZWJlbiBzbyBzcGllbHQgd2llIGRpZXNlcyBTcGllbCwgZGFubgpzb2xsdGV0IGlociBlbnR3ZWRlciBhYmRhbmtlbiBvZGVyIGVpbmUgZXJmb2xncmVpY2hlIExhdWZiYWhuIGJlaSBkZXIgCkJ1bmRlc3dlaHIgYW5zdHJlYmVuLgoKS2lubmVycyBoaWVyIHR1biBtaXIgZWluaWdlIExlaWQsIGVybnN0aGFmdCB1bmQgZWhybGljaC4KSWNoIHd1ZXJkZSBzY2hvbiBnYW56IGdlcm5lIGRpZXNlcyBNdWQgaGludGVyIG1pciBsYXNzZW4uCkFiZXIgZXMgZ2lidCB6dSB2aWVsZSBNZW5zY2hlbiBoaWVyIGRpZSBtaXIgUkwgenUgdmllbCAKYmVkZXV0ZW4uCgpJY2ggd2Vpc3MgZGFtaXQga29lbm5lbiBuaWNodCBhbGxlIHdhcyBhbmZhbmdlbi4uLgoKSXNzIGFiZXIgc28uCgpFaW5lbiB0cmF1cmlnZW4gR3J1c3MKCk9ldHRpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDSFVMRElHICEgKEFuYXRvbCwgMTUuIE1haSAxOTk2LCAwMjoxNDo1OSk6Cn4jISBybj1PZXR0aSBydD04MzIxMTkxMDcKfiMhIHRpZD04MzIxMTkxMDcKCk9obmUgZWluIHBhYXIgd2VuaWdlIE1lbnNjaGVuLCBkaWUgaGludGVyIGVpbiBwYWFyIHdlbmlnZW4gCkNoYXJha3RlcmVuIGhpZXIgc3RlaGVuLCB3YWVyIGRhcyBNdWQgbnVyIGVpbiBDNjQtYWVobmxpY2hlcwpUZXh0LUdyYWZpay1BZHZlbnR1cmUgbWl0IENvbXB1dGVyZ2VnbmVybi4KClZlcnN0ZWh0IE9ldHRpLApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpORSAhIChPZXR0aSwgMTUuIE1haSAxOTk2LCAwMzoxNjoyNSk6CkljaCBob2ZmZSBqZW1hbmQgaGF0IGVpbiBsb2cgZGF2b2VuLi4uCgpXRW5uIGljaCBuYWNoIGRlciBlYmVuIGF1ZiBhbGxnZW1laW4gZ2VmdWVocnRlbiBEaXNrdXNzaW9uIG5vY2ggbGFlbmdlcgpTcGllbGVyIGJsZWliZS4uLiBORSBORSBORUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCgpPZXR0aSBmYXNzdCBzaWNoIGFuIGRlbiBLb3BwIChhYmVyIGtyYWVmdGlnKQoKQXVmIGJldHJlaWJlbiB2b24gYWNoIGxhc3NlbiB3aXIgZGFzLCBpY2ggaGFsdCBtaWNoIGdlcmFkZSBub2NoIHNvIHp1cnVlY2suLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQ0hVTERJRyAhIChGeXQsIDE1LiBNYWkgMTk5NiwgMDM6MjU6NTUpOgp+IyEgcm49T2V0dGkgcnQ9ODMyMTE5MTA3Cn4jISB0aWQ9ODMyMTE5MTA3CgpLb2VubnRlIG1hbCBqZW1hbmQgbmUgR2VnZW5kYXJzdGVsbHVuZyBicmluZ2VuPwoKTmFjaGRlbiBEYXJzdGVsbHVuZ2VuIHZvbiBPZXR0aSB1bmQgZGVtIEtvbW1lbnRhciB2b24gQ2F0KgpzZWggaWNoIGVpZ2VudGxpY2ggbmljaHQgZWluLCB3aWVzbyBoaWVyIGlyZ2VuZGplbWFuZCBpcmdlbmR3aWUKJ2Jlc3RyYWZ0JyB3ZXJkZW4gbXVzcy4uLgoKVmllbGxlaWNodCBoYWIgaWNoIGF1Y2ggbnVyIHdpZWRlciBtYWwgd2FzIHVlYmVybGVzZW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBORSAhIChadWVyaWxldSwgMTUuIE1haSAxOTk2LCAwNToyMjo0Myk6Cn4jISBybj1PZXR0aSBydD04MzIxMjI5ODUKfiMhIHRpZD04MzIxMjI5ODUKSGFsbG8gT2V0dGksCk51biBpY2ggaGFiZSBlaW4gTG9nZmlsZSB2b24gZGVyIERpc3NrdXNpb24gdW5kIHdlcmRlIHNpZSBzaWNoZXIgYXVjaApiZWhhbHRlbi4KSWNoIE1laW5lIGljaCBkZW5rZSBEdSBoYXN0IHp1cmVjaHQgZ2VoYW5kZWx0IHVuZCBpY2ggZ2xhdWIgZGVyIEplZGVyIE1hZ2llcgpoaWVyIGhhZXR0ZSBnbGVpY2ggcmVhZ2llcnQuIEljaCBmcmFnIG1pY2ggbnVyIHdhcnVtIGR1IGZ1ZXIgZWluZSBzb2xjaGUgVGF0Cm5vY2ggYmVzdHJhZnQgd2lyc3QhCkRlbm4gZXMgc29sbHRlIHdvaGwgaW4gdW5zZXJlbSBhbGxlbiBpbnRyZXNzZSBzZWluIGRhc3MgZGFzIEtsaW1hIGhpZXJ0IHdpZWRlcgpmcmllZGxpY2hlciB3aXJkIHVuZCBzbyBrb2VubmVuIHdpciBzb2xjaGUgRmVpZ2VuIE1hZ2llcnp3ZWl0aXMgbmljaHQKZ2VicmF1Y2hlbi4gSWNoIGZpbmRlIHdlbm4gQm9tYioqIHNpY2ggbG9lc2NoZW4gbW9lY2h0ZSBkYW5uIHNvbGwgZXIgZGFzIHR1bgphYmVyIGRhbm4gc29sbCBlciBhdWNoIGRpZSBTY2h1bGQgZGFmdWVyIHNlbGJlciB0cmFnZW4gdW5kIG5pY2h0IGF1ZiBhbmRlcmUKYWJzY2hpZWJlbi4KVW5kIGRlciBhbmRlcmUgTWFnaWVyIChkZXIgZXR3YXMgZ3JvZXNzZXIgaXN0IGFscyBpY2gpIGRlciBkYW5uIGF1ZiAtTWFnaWVyCnJ1bWJydWVsbHQgdW5kIGF1ZmhldHp0IGRhcyBtYW4gT2V0dGkgbG9lc2NoZW4gc29sbHRlIHVuZCBkYXMgc28gZWluIHNvbGNoZXIKa2VpbiBSZWNodCBkYXJhdWYgaGF0IE1hZ2llciB6dSBzZWluLiBIYXQgZWggZnVlciBtaWNoIGV0d2FzIHp1aG9jaCBnZXBva2VydAp3ZW5uIGVyIGRlbmt0IGRhcyBtYW4gd2VnZW4gaWhtIE9ldHRpIG51biBsb2VzY2hlbiB3dWVyZGUgKG9kZXIgaWNoIGhvZmZlIGVzCndlbmlnc3RlbnMpLiBTb25zdCB3dWVyZCBpY2ggbWljaCBlY2h0IGxhbmdzYW0gV3VuZGVybiB3ZXIgaGllciB3YXMgenUgc2FnZW4KaGF0IHVuZCB3ZXIgbmljaHQuIEFsc28gbm9jaG1hbHMsIGljaCBkZW5rZSBPZXR0aSBoYXQgcmljaHRpZyBnZWhhbmRlbHQgdW5kCmljaCB3YWVyIGRhZnVlciBkYXMgZXIgc2VpbmVuIGFsdGVuIExldmVsIHdpZWRlciBiZWtvbW10LiBVbmQgZGVyIGhvaGUgTWFnaWVyCmRhIHNvbGwgbWFsIGRhcnVlYmVyIG5hY2hkZW5rZW4gdWViZXIgc2VpbmUgenVtIFRlaWwgc2VociBxdXJpbGxlIEFuc2ljaHRlbgpzb3dlZ2VuIG5pY2h0IGFyYmVpdGV0ZSBNYWdpZXIgaGFiZW4ga2VpbiBSZWNodCBkYXJhdWYgTWFnaWVyIHp1IHNlaW4uClZpZWxsZWljaHQgbW9lY2h0IGljaCBqYSBtaXQgbWVpbmVtIGJpcyBqZXR6dCA1IFJhZXVtZW4gZ2VybmUgbWFsIGRhbm4Kd2VpdGVycHJvZ3JhbW1pZXJlbiB3ZW5uIGljaCBtaXIgRlRQIGFuZ2VzY2hhZnQgaGFiZSBkYSBtaXIgZGVuIEVkaXRvciBoaWVyIHp1CmtvcGxpemllcnQgaXN0LiBFcyBnaWVidCBhdWNoIE1hZ2llciBkaWUgU3BpZWxlciBoZWxmZW4gKGtlaW5lIFNwaWVsZXJoaWxmZSkKYmVpIFByb2JsZW1lbiB3byBhbmRlcmUgTWFnaWVyIHp1cnplaXQga2VpbmUgWmVpdCBoYWJlbi4gSWNoIGRlbmtlIGF1Y2ggc29sY2hlCnNpbmQgaGllciB3aWNodGlnIHVuZCBuaWNodCBudXIgZGllIGRpZSBQcm9ncmFtbWllcmVuLgoKVHNjaHVlc3MgWnVlcmlsZXUgKG5hY2hkZW5rZW5kKQoKUFM6IEVJTiBUT0xMRVMgSE9PT09PT0NIIEZVRVIgT0VUVEkgISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5FICEgKFphcmRveiwgMTUuIE1haSAxOTk2LCAwODo0MDozNCk6Cn4jISBybj1adWVyaWxldSBydD04MzIxMzA1NjMKfiMhIHRpZD04MzIxMjI5ODUKQWxzbywgaWNoIGZpbmRlIGRpZXNlIGdhbnplbiBNYWdpZXIsIGRpZSBudXIgcnVtbGFiZXJuLCBhYmVyIG5pY2h0cwpwcm9kdWt0aXZlcyB0dW4gZWNodCBiZXNjaGV1ZXJ0ISBEYXZvbiBnaWJ0IGVzIHdpcmtsaWNoIHZpZWwgenUgdmllbGUuIEFtCmJlc3RlbiBsb2VzY2h0IG1hbiBhbGxlLCBqYXdvaGwhISBBYmVyIGRhIGRhcyB6dXZpZWwgQWVyZ2VyIGdlYmVuIHd1ZXJkZSwKaGFldHRlIGljaCBlaW5lIGFuZGVyZSBJZGVlOiBEaWVzZSBNYWdpZXIgbXVlc3NlbiwgZGFtaXQgbWFuIHNpZSBlcmtlbm5lbgprYW5uLCBzdGFlbmRpZyBzaWNodGJhciBlaW5lbiBnZWxiZW4gU3Rlcm4gaW4gaWhyZW0gSW52ZW50b3J5IHRyYWdlbiEgRGFzCndhZXJlIGVpbmUgc2lubnZvbGxlIE1hc3NuYWhtZSEKCkNpYW8gWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU0NIVUxESUcgISAoTGksIDE1LiBNYWkgMTk5NiwgMTE6MTE6NDgpOgp+IyEgcm49T2V0dGkgcnQ9ODMyMTE5MTA3Cn4jISB0aWQ9ODMyMTE5MTA3Ck5laW4gZGFzIGlzdCBkb2NoIG5pY2h0IHdhciBvZGVyPwpJaHIgaGFidCBPZXR0aSBkb2NoIG5pY2h0IHdpcmtsaWNoIHJ1bnRlcmdlc2V0enQsIHdlaWwgZXIgKHdhcyBqYSBiZWthbm50bGljaAp2ZXJib3RlbiBpc3QpIGVpbmVuIE1hZ2llcnp3ZWl0aSBnZXphcHB0IGhhdD8KTWVpbmUgbGllYmVuIEVyem1hZ2llciB1bmQgR29ldHRlciBpaHIgbWVzc3QgaGllciBtaXQgendlaWVybGVpIE1hc3MuCk9laWl0LCBkZXIgd2VnZW4gZGVyIE5lcnZlcmVpIGdlbmVydnQgZWluZW4gTWFnaWVyendlaXRpIHphcHB0LCB3aXJkCmhlcmFiZ2VzZXR6dCwgdW5kIFphcmRveiwgZGVzc2VuIFNwaWVsZXJlaW4gYmVpIEFsaW5lcyB1bmQgV2FyZ29ucyBIb2NoemVpdApkZW4gVG9kIGRlciBTZWhlcmluIEF1cmlhbiB2ZXJ1cnNhY2h0IGhhdCwgZGEgd2lyZCBkcnVlYmVyIHdlZyBnZWdhbmdlbj8KSWNoIHdlaXNzIHZvbiBBdXJpYW4sIGRhc3Mgc2llIHZvbiBaYXJkb3ogc2VsYnN0IG5lIHVlYmxlIEFiZnVociBnZWhvbHQgaGF0LApzbyBuYWNoIGRlbSBNb3R0bzogc2VsYmVyIHNjaHVsZC4gaWhyIGJyaWVmIGFuIGRlbiBzY2hlcmlmZiBpc3Qgb2ZmZW5zaWNodGxpY2gKbmljaHQgenVyIGtlbm50bmlzIGdlbm9tbWVuIHdvcmRlbihvZGVyIGhhdCBDYXQqIGlobiB2aWVsZWljaHQgYm9jaCBuaWNodApnZWxlc2VuPyBrYW5uIGphIHNlaW4pLgpFcyBnZWh0IGpldHp0IG5pY2h0IG51ciB1bSBPZXR0aSBvZGVyIFphcmRveiwgaWNoIGhhYiBzY2hvbiB2b24gZWluaWdlbgpNYWdpZXJuIHNjaGxpbW1lcmUgU2FjaGVuIGdlaG9lcnQsIGFscyBNYWdpZXJ6d2VpdGllcyB6dSB6YXBwZW4uClVuZCBzYWd0IG5pY2h0LCBPZXR0aSB3YWVyZSBzY2hvbiBtYWwgdmVyd2FybnQgd29yZGVuLCBzaWNoZXJsaWNoIGhhYmVuIGVpbmlnZQpNYWdpZXIgc2ljaCBzbyByaWNodHVnIGdlZnJldXQsIGlobSBlbmRsaWNoIGVpbmVuIHJlaW53dWVyZ2VuIHp1IGtvZW5uZW4uCkljaCB3ZWlzcyBqYSwgamVkZXIgbWFnIG5pY2h0IGplZGVuLCB1bmQgZWluaWdlIGhhYmVuIGJlc3NlcmUgIkxlaXR1bmdlbiIgb2RlcgplaW5lbiBTdGVpbiBpbSBCcmV0dCB1bmQgbWFuY2hlIG5pY2h0LCBhYmVyIGlocihpY2ggbWVpbmUgZGFtaXQgamV0enQgYWxsZQpNYWdpZXIvR29ldHRlciBkaWUgc2Nob24gbWFsIFNwaWVsZXIgaGVyYWJnZXNldHp0IGhhYmVuKSBzb2xsdGV0IHp1bWluZGVzdGVucwpiZWkgZGllc2VyIFNhY2hlIHZlcnN1Y2hlbiwgZWluaWdlcm1hc3NlbiBnbGVpY2htYWVzc2lnIHp1IGhhbmRlbG4sIHNvbnN0Cm1hY2h0IGlociBFdWNoIHdpcmtsaWNoIGdhbnogc2NobmVsbCggbmljaHQgbnVyIGJlaSBkZW4gU3BpZWxlcm4pIGxhZWNoZXJsaWNoLgpMaSAoa2FubiBzaWNoIGRhIG51ciBub2NoIGFuIGRlbiBLb3BwIHBhY2tlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0NIVUxESUcgISAoR3JpbW1ib3JuLCAxNS4gTWFpIDE5OTYsIDExOjE4OjI0KToKfiMhIHJuPUxpIHJ0PTgzMjE1MTUwOAp+IyEgdGlkPTgzMjExOTEwNwoKQXVjaCB3ZW5ucyBtaXIgaW0gUHJpbnppcCBoZXJ6bGljaCBlZ2FsIGlzdDoKV2VyIGF1ZiBlaW5lciBIb2NoemVpdCAidG9ldGUgYWxsZSIgZWluZ2lidCwgc3RpcmJ0IHp1IHJlY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTkUgISAoTGksIDE1LiBNYWkgMTk5NiwgMTE6MjU6NTApOgp+IyEgcm49WmFyZG96IHJ0PTgzMjE0MjQzNAp+IyEgdGlkPTgzMjEyMjk4NQpKdW5nZSBKdW5nZSwgaWNoIGdsYXViZSwgZHUgaGFzdCBkaWUgOi0pIG9kZXIqaXJvbmllIG9mZiogdmVyZ2Vzc2VuLgpJcm9uaWUsIGRpZSBuaWNodCBnZWtlbm56ZWljaG5ldCBpc3QsIGVya2VubmVuIGluIERldXRzY2hsYW5kIG5pY2h0IGFsbGUuCkxpIChkZW5rdCBkYWJlaSBhbiBtb3R6a2kgb2RlciBlaW5lIGJlc3RpbW10ZW4gYXZlbnR1cmlzY2hlbiBCb3Rlbiwgb2RlciBvZGVyIAogICAob2Rlci4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5FICEgKENhdW5vLCAxNS4gTWFpIDE5OTYsIDExOjM0OjA0KToKfiMhIHJuPVphcmRveiBydD04MzIxNDI0MzQKfiMhIHRpZD04MzIxMjI5ODUKCkdsYXVic3QgZHUsIGRhc3MgZGllIEFuc3BpZWx1bmcgaGllciBub2NoIGplbWFuZCBlcmtlbm50LCBaYXJkb3o/CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDSFVMRElHICEgKEpvZiwgMTUuIE1haSAxOTk2LCAxMzoyNzoxNyk6Cn4jISBybj1PZXR0aSBydD04MzIxMTkxMDcKfiMhIHRpZD04MzIxMTkxMDcKCiAKIEljaCB3dXNzdGUgZ2VybmUsIHdlciBhKSBKZW1hbmQsIGIpIGRlciAnZWluZmx1c3NyZWljaGUnIE1hZ2llciBpc3QsCndlciBjKSBkZXIgTWVpbnVuZyBpc3QsIGVzIGdhZWJlIHZpZWwgenUgdmllbGUgJ3VucHJvZHVrdGl2ZScgTWFnaWVyCih3YXMgc29sbHMgZGVubj8gV2VubiBkaWUgU3BpZWxlcnplaXQgdm9yYmVpIGlzdCwgaGF0IG1hbiBzaWNoIGRlbiBNYWdpZXItClN0YXR1cyAndmVyZGllbnQnLCB3YXMgbWFuIGRhbWl0IG1hY2h0LCBpc3QgZG9jaCBlZ2FsLiBBbHMgTWFnaWVyIGthbm4KbWFuIG51bm1hbCBiZXNzZXIgJ2NoYXR0ZW4nLCB3ZWlsIG1hbiBnb3RvIGV0YyBoYXQpLgogCiBVbnNwZXppZmlzY2ggdW5kIG9obmUgTmFtZW4gc293YXMgaW4gZGVuIFJhdW0genUgc3RlbGxlbiwgZXJ3ZWNrdCBkZW4gRWluLQpkcnVjaywgTWFnaWVyLCBkaWUgbmljaHRzIHByb2dyYW1taWVyZW4sIHdhZXJlbiBoaWVyICd1bmVyd3VlbnNjaHQnLCB3YXMKZHVyY2hhdXMgbmljaHQgZGVyIEZhbGwgaXN0OyBtaXIgc2luZCBMZXV0ZSBsaWViZXIsIGRpZSBOSUNIVFMgcHJvZ2dlbiBhbHMKc29sY2hlLCBkaWUgYnVnZ2VuZGVuLCBsYW5nd2VpbGlnZW4gQ29kZSBhbSBsYXVmZW5kZW4gQmFuZCBlcnpldWdlbiB1bmQKYXVjaCBiZWkgSGlud2Vpc2VuIGF1ZiBvZmZlbnNpY2hsaWNoZSBNYWVuZ2VsIHdlaXRlciBORVVFTiBDb2RlIGJhdWVuIHN0YXR0CmVyc3RtYWwgZGVuIGFsdGVuIHp1IHZlcmJlc3Nlcm4gKHdpciBoYWJlbiBoaWVyIHpCIG1laHJlcmUgUXVlc3RzIGVpbmVzCnNvbGNoZW4gTWFnaWVycywgZGllIG5vY2ggaGV1dGUsIG5hY2ggc2VpbmVtIFdlZ2dhbmcsIFByb2JsZW1lIG1hY2hlbiB1bmQKYWxzIEFsdGxhc3RlbiB2b24gYW5kZXJlbiBrb3JyaWdpZXJ0IHdlcmRlbiBtdWVzc2VuKS4KIAogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYXB0YWlucyBsb2csIG5hY2h0cmFnIChPZXR0aSwgMTUuIE1haSAxOTk2LCAxMzoyNzozNyk6CllvICEKCldhcyBpY2ggdmVyZ2FzcyB6dSBlcndhZWhuZW4sIGRlciBuZXR0ZSBqdW5nZSBNYW5uLCBkZW4gaWNoIAppbiBtZWluZSBhbHRlbiB3aWxkZW4gVGFnZW4sIGFscyBpY2ggbm9jaCBuaWNodCBnZWxhZXV0ZXJ0IHdhciwKaW5zIGplbnNlaXRzIGJlZm9lcmRlcnRlIChJY2ggYmVyZXVlLCBqYSB6dXRpZWZzdCkuCkxpZXNzIHNpY2ggaW4gc2VpbmVtIGp1Z2VuZGxpY2hlbiBMZWljaHRzaW5uIG5vY2ggenUgZGVyIEJlbWVya3VuZzoKVGVsa2EgRHUga29tbXN0IHdvaGwgYXVzIGRlciBHb3NzZSwgaGlucmVpc3Nlbi4KCldhcyBmdWVyIGVpbiBQZW5uZXIsIGljaCBoYWV0dGUgaWhuIGVyc3QgaGFldXRlbiBzb2xsZW4uLi4KCkdydXNzCgpPZXR0aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xhcnRleHQgKFRvZXRlciwgMTUuIE1haSAxOTk2LCAxNjoxMjo0Myk6CkhpLAptZWhyZXJlIFNhY2hlbiwgZ3JvZXNzdGVudGVpbHMgQWxsZ2VtZWluZXM6CgotIHp1bSBQSyBhbGxnZW1laW4KaWNoIGhhbHRlIGVzIGdlbmVyZWxsIGZ1ZXIgaG9lY2hzdCBiZWRlbmtsaWNoLCB3ZW5uIE1hZ2llci9TcGllbGVyIGFuZGVyZQpTcGllbGVyIHVtYnJpbmdlbiwgYXVzIHdhcyBmdWVyIEdydWVuZGVuIGF1Y2ggaW1tZXIuIEFiZ2VzZWhlbiB2b24gZGVyIFRhdC0Kc2FjaGUsIGRhc3MgZGFzIGV0d2FzIHZvbiBkZXIgRWluc3RlbGx1bmcgIkljaCBoYWIgZGVuIGRpY2tlcmVuIEhvbHpoYW1tZXIsIAphbHNvIGhhdWUgaWNoIGlobiBEaXIgaW4gZGllIEZyZXNzZSwgd2VubiBEdSBtaXIgcXVlcmtvbW1zdCIgaGF0LCBpc3QgZXMgCnNpY2hlcmxpY2ggbmljaHQga2x1Zywgc2ljaCBhdWYgZGllc2UgV2Vpc2UgYXVmIGRhcyBOaXZlYXUgZWluZXMgU3RvZXJlbmZyaWUtCmRlcyBoZXJhYnp1bGFzc2VuLiBXZW5uIGRhcyBuYWVtbGljaCBqZWRlciBtYWNodCwgYnJhdWNodCBudXIgZWluIGFtb2tsYXUtCmZlbmRlciBHYXN0MSBoZXJlaW56dWtvbW1lbiwgdW5kIHNjaG9uIHZlcndhbmRlbHQgc2ljaCBkYXMga29tcGxldHRlIE1VRCBpbiAKZWluZW4gS2luZGVyZ2FydGVuLiBJY2ggZGVua2UgbWFsLCBtYW4ga2FubiBzaWNoIHJ1aGlnIHRyYXVlbiwgc29sY2hlIExldXRlIAplaW4gd2VuaWcgc291dmVyYWVuZXIgaW4gZGllIFNjaHJhbmtlbiB6dSB3ZWlzZW4uIEFuZ2VzaWNodHMgZGVyIFRhdHNhY2hlLCAKZGFzcyBoaWVyIGVpbmlnZSBzdG9seiBiZWtlbm5lbiwgaW4gYmVzdGltbXRlbiBTaXR1YXRpb25lbiBkaWUgZXVjaCBlaWdlbmUKTWFjaHQgenUgbnV0emVuIHVuZCBHZXdhbHQgYW56dXdlbmRlbiAob2ssIGlzdCBudXIgZWluIFNwaWVsKSwgc29sbHRldCBpaHIgCmV1Y2ggZnJhZ2VuLCBvYiBpaHIgYmVpIGVudHNwcmVjaGVuZGVyIEdlbGVnZW5oZWl0IG5pY2h0IHNjaG9uIG1vcmdlbiBzZWxic3QKZGllIEFyc2NobG9lY2hlciBzZWlkLCB1ZWJlciBkZXJlbiBXaWxsa3VlciBpaHIgZXVjaCBoZXV0ZSBub2NoIHNvIGxhdXQgCmJla2xhZ3QgKERpZSBFTXMgZ2Vob2VyZW4gbmF0dWVybGljaCBuaWNodCB6dW0gU3BpZWwsIGRpZSBtdWVzc2VuIHNpY2ggCnZlcm51ZW5mdGlnIHZlcmhhbHRlbiwgYmVxdWVtZSBTYWNoZS4uLikKCi0genVtICJkYXMgR2FuemUgbG9ja2VyIHNlaGVuIgpFcyB3aXJrdCBzaWNoZXJsaWNoIGNvb2wsIHdlbm4gbWFuIFZvcmdhZW5nZSwgZGllIGFuZGVyZSB2ZXJsZXR6ZW4sIG1pdCBkZW4gCldvcnRlbiAiRHUgc2llaHN0IGRhcyBuaWNodCBsb2NrZXIgZ2VudWciIGFidHVuIGthbm4uIE1pciBrb21tdCBkYXMgZ2FuemUgbnVyCnJlaWNobGljaCBhbHMgYmVxdWVtZSBBdXNyZWRlIHZvciwgd2VubiBkYXMgZ2VuYXUgZGllc2VsYmVuIHNhZ2VuLCBkZW5lbiAKc29mb3J0IGRlciBLb3BmIHBsYXR6dCwgd2VubiBzaWUgbWFsIGVpbmVyIGJsb2VkIHZvbiBkZXIgU2VpdGUgYW5tYWNodC4gQmVpLQpzcGllbGUgZGFmdWVyIGdpYnQgZXMgYmVpIGV0d2FzIE5hY2hkZW5rZW4gZ2VudWcuIApXZW5uIGF1c3NlcmRlbSB6LkIuIGplbWFuZCBzYWd0ICJNaXIgZG9jaCBlZ2FsLCB3YXMgaW4gZWluZW0gVmVydHJhZyBzdGVodCwgCmRlbiBpY2ggc2VsYnN0IHVudGVyc2NocmllYmVuIGhhYmUiLCBkYW5uIGlzdCBkYXMgbmljaHQgbWVociBjb29sIHVuZCBsb2NrZXIsIApzb25kZXJuIGVoZXIga2xlaW5raW5kaXNjaC4KCi0genVtIE1hZ2llcmxldmVscnVudGVyc2V0emVuCkhpZXIgaGVycnNjaHQgZGllc2VsYmUgV2lsbGt1ZXIgd2llIGJlaSBkZW4gVmVyZ2VoZW4sIGRpZSBkYW1pdCBnZWFobmRldCAKd2VyZGVuIHNvbGxlbi4gV2VubiBiZWlzcGllbHN3ZWlzZSBlaW4gTXVlbnN0ZXJhbmVyIE1hZ2llciBmdWVyIGRhcyB3aWxsZW50LQpsaWNoZSBBYmhvZXJlbiBwcml2YXRlciBHZXNwcmFlY2hlIG5pY2h0IHJ1bnRlcmdlc2V0enQgd2lyZCAod2Vpc3MgbmljaHQsIG9iIApkZXIgbWl0IGRlbSBBcmd1bWVudCwgZGFzIEdhbnplIGVoZXIgbG9ja2VyIHp1IHNlaGVuLCBsYW5kZW4ga29ubnRlKSwgc29uZGVybiAKdHJvdHogbWVocmZhY2hlciBFcmlubmVydW5nIHVuYmVoZWxsaWd0IHdlaXRlcnd1cnN0ZWxuIGRhcmYgKHNpY2hlciBhdWNoIG1laW4gCkZlaGxlcikgaXN0IGRhcyBlaGVyIGVpbmVyIEtpbmRlcmdhcnRlbmdlc2VsbHNjaGFmdCBhbmdlbWVzc2VuLCBpbiBkZXIgTGV1dGUgCm5hY2ggU3ltcGF0aGllLCBBbnNlaGVuIHVuZCBNb2VnbGljaGtlaXRlbiBkZXIgRWluZmx1c3NuYWhtZSBiZXdlcnRldCB3ZXJkZW4uIAoKLSB6dW0gUm9sbGVuc3BpZWwKRWluZSB3ZWl0ZXJlIGJlcXVlbWUgQXVzcmVkZSBmdWVyIFJ1ZWNrc2ljaHRzbG9zaWdrZWl0ZW4gaXN0IGRpZSBoZWhyZSBCZXJ1LQpmdW5nIGF1ZiBkYXMgUm9sbGVuc3BpZWwuIEVzIHN0ZWh0IHNpY2hlcmxpY2ggamVkZW0gZnJlaSwgc2VpbmUgUm9sbGUgaW4gCmRpZXNlbSBNVUQgenUgd2FlaGxlbi4gQWxsZXJkaW5ncyBtdXNzIGRlcmplbmlnZSBkYW5uIGVpbmVyc2VpdHMgYXVjaCBtaXQgZGVuIApLb25zZXF1ZW56ZW4gc2VpbmVzIFZlcmhhbHRlbnMgenVyZWNodGtvbW1lbiB1bmQgYW5kZXJlcnNlaXRzIGRpZXNlcyBWZXJoYWwtCnRlbiBhdWNoIGFuZGVyZW4genViaWxsaWdlbi4gSWNoIGRlbmtlLCBkYXMgaXN0IHZpZWxmYWNoIGRlc2hhbGIgbmljaHQgZGVyIApGYWxsLCB3ZWlsIG1hbiB6LkIuIGRpZSBSb2xsZSBlaW5lciB3aWRlcnNwcnVjaHN2ZXJrbm90ZXRlbiBXaXR6ZmlndXIgKGRhbWl0IApzb2xsIHNpY2ggYml0dGUga2VpbmVyIGFuZ2VzcHJvY2hlbiBmdWVobGVuKSBhdWYgRGF1ZXIgbmljaHQgZHVyY2hoYWx0ZW4ga2FubiwKb2huZSBuaWNodCBhdWNoIGVpbiB3ZW5pZyBkYXMgQmVkdWVyZm5pcyB6dSBlbnR3aWNrZWxuLCBlcm5zdCBnZW5vbW1lbiB6dSAKd2VyZGVuLiBJY2gga2VubmUgamVkZW5mYWxscyBnZW51ZWdlbmQgTGV1dGUsIGRpZSBhbSBBbmZhbmcgZGVuIGdyb3NzZW4gU3UtCnBlcmthc3BlciBnZW1hY2h0IGhhYmVuLCB1bSBkYW5uIGlyZ2VuZHdhbm4gZGVtIGFldXNzZXJlbiBBbnNjaGVpbiBuYWNoIGxhbmctCndlaWxpZyBhbmdlcGFzc3QgenUgd2VyZGVuLiBXZXIgZGFzIE1VRCBhbHMgc296aWFsZSBNdWVsbGtpcHBlIGJlbnV0enQsIApicmF1Y2h0IHNpY2ggamVkZW5mYWxscyBuaWNodCB6dSB3dW5kZXJuLCB3ZW5uIGVyIGlyZ2VuZHdhbm4gYXVjaCB3aWUgTXVlbGwgCmJlaGFuZGVsdCB3aXJkLgoKLSBhbnNvbnN0ZW4KV2VyIGF1Y2ggaW1tZXIgdGhpc19pZGlvdCgpIGJlaSBkZXIgdm9ybGllZ2VuZGVuIFNhY2hlIHdhciwgZXMga29tbXQgbWlyIGJlaSAKZWluaWdlbiBNZWludW5nc2FldXNzZXJ1bmdlbiBkYXp1IHNvIHZvciwgYWxzIHd1ZXJkZW4gaWhuZW4gaGF1cHRzYWVjaGxpY2ggClN5bXBhdGhpZWFyZ3VtZW50ZSB6dWdydW5kZWxpZWdlbi4gSWNoIGhhYmUgZGllc2VuIEFydGlrZWwgc2ljaGVybGljaCBvaG5lClJ1ZWNrc2ljaHQgYXVmIGlyZ2VuZHdlbGNoZSBTeW1wYXRoaWVuIGdlc2NocmllYmVuIChpY2ggaG9mZmUsIGF1Y2ggbWlyIApzZWxic3QgZ2VnZW51ZWJlciwgZnVlciBtaWNoIGdpbHQgdm9uIG9iaWdlbSBhdWNoIGVpbmlnZXMpLCBkYXMgbXVzcyBhYmVyIAptZWluZXIgTWVpbnVuZyBuYWNoIG1hbmNobWFsIGF1Y2ggc2Vpbi4KCiAgVG9ldGVyCgpQUyBXZXIgbWVpbnQsIGljaCB3YWVyZSBlaW4gbWlzc2d1ZW5zdGlnZXIgVHJhdWVya2xvc3MsIGx1ZWd0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdXIgZWluIFZvcnNjaGxhZy4uLiAoQnViYmEsIDE1LiBNYWkgMTk5NiwgMTc6MzY6MzMpOgpIYWxsbwpEaWVzIGlzdCBtZWluIGVyc3RlciBBcnRpa2VsLCBkZW4gaWNoIHNjaHJlaWJlIC0gdW0gc28gbWVociBsaWVndCBlciBtaXIgYW0KSGVyemVuLiBOdXIgd2VuaWdlIHZvbiBFdWNoIHdlcmRlbiBtaWNoIGtlbm5lbiwgdW5kIG1laW4gV29ydCB3aXJkIGRhaGVyIG5pY2h0CnZpZWwgR2V3aWNodCBoYWJlbiwgenVtYWwgaWNoIG51ciBlaW4gWndlcmcgYmluLiBBYmVyKCEpIGVzIGlzdCBlaW4gQW5saWVnZW4Kdm9uIGFsbGdlbWVpbmVtIEludGVyZXNzZSwgd2VsY2hlcyBpY2ggaGllciBhbnp1c3ByZWNoZW4gZ2VkZW5rZS4gVW5zIGFsbGVuCmlzdCBkaWUgdW5iZWZyaWVkaWdlbmRlIFNpdHVhdGlvbiBkZXIgbGV0enRlbiBaZWl0IG1pdCBpaHJlbiBNaXNzc3RhZW5kZW4gd2llCkRhdWVyLUxhZywgS2xpbWF2ZXJlaXN1bmcgdW5kIERpc2t1c3Npb25lbiwgZGVyZW4gd2lyIGFsbGUgdWViZXJkcnVlc3NpZyBzaW5kLApoaW5yZWljaGVuZCBiZWthbm50LiBFcyBpc3QgZGFoZXIgYW5nZXplaWd0LCBXZWdlIHp1IGJlc2NocmVpdGVuLCB1bSBtaXQgZGVuCmFsdGVuLCB1ZWJlcmtvbW1lbmVuIFN0cnVrdHVyZW4gYXVmenVyYWV1bWVuLgpERVIgRklTQ0ggQkVHSU5OVCBCRUtBTk5UTElDSCBBTSBLT1BGIFpVIFNUSU5LRU4KSWNoIHBsYWVkaWVyZSBkYWhlciBmdWVyIGVpbmVuIFdlY2hzZWwgYW4gZGVyIEZ1ZWhydW5nc3NwaXR6ZSBkZXMKTW9yZ2VuR3JhdWVucy4gRGllcyBzb2xsIGtlaW5lc3dlZ3MgZWluZSBBZ2l0YXRpb24gZ2VnZW4gZGllIEdvZXR0ZXIgYmVkZXV0ZW4sCnZpZWxtZWhyIHNpbmQgd2lyIGFsbGUgYW5nZWhhbHRlbiwgQm9pbmcgdW5kIEpvZiB1bnNlcmVuIERhbmsgenUgem9sbGVuLiBXYXJlbgpzaWUgZXMgZG9jaCwgZGllIHVuc2VyZSBnZXNjaGFldHp0ZXMgTW9yZ2VuZ3JhdWVuIHp1IGRlbSBtYWNodGVuIGFscyBkYXMgZXMKc2ljaCB1bnMgaGV1dGUgcHJhZXNlbnRpZXJ0LiBSYWV1bWVuIHdpciBpaG5lbiBkb2NoIGVpbmVuIEVocmVucGxhdHogaW0KTWFnaWVyaGltbWVsIGVpbi4gQWxzIG5ldWUgR29ldHRlciBlcmxhdWJlIGljaCBtaXIgaW4gYWxsZXIgRGVtdXQsIExlIE9ldHRpCnVuZCBFbmd5d3VjayB2b3J6dXNjaGxhZ2VuIC0gZWluIHdlbmlnIG1laHIgVW52ZXJrcmFtcGZ0aGVpdCB3aXJkIHVucyBndXQgdHVuIQpJY2ggZ2VoZSBzZWxic3R2ZXJzdGFlbmRsaWNoIGRhdm9uIGF1cywgZGFzcyBzb3dvaGwgQm9pbmcgYWxzIGF1Y2ggSm9mIHVudGVyCmRlbiBuZXVlbiBHb2V0dGVybiwgd2llIHNpZSBhdWNoIGltbWVyIGhlaXNzZW4gbW9lZ2VuLCBuaWNodCB3ZWl0ZXJtYWNoZW4Kd2VyZGVuICggaG9lY2hzdGVucyBtYWwgZGllIEZlc3RwbGF0dGUgd2llbmVybiApLCBzb25kZXJuIHNpY2ggbWl0IGVpbmVtClBsYWV0emNoZW4gaW4gZGVyIEVocmVuZ2FsZXJpZSBiZXNjaGVpZGVuLiBJY2ggd2VyZGUgZGFubiBMYXJpc3NhIGhlaXJhdGVuICgKaWhyIEVpbnZlcnN0YWVuZG5pcyB2b3JhdXNnZXNldHp0ISApIHVuZCBkYXMgTW9yZ2VuR3JhdWVuIGdlaHQgZ29sZGVuZW4gWmVpdGVuCmVudGdlZ2VuLi4uCgpCdWJiYSAtIHdpbGwgbnVyIGRpZSBFaW5lIC0gTGFyaXNzYSA7LSkKClAuUy46IEljaCBkZW5rZSwgSWhyIHZlcnN0ZWh0IG1pY2guLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsc28uLi4gKEJ1YmJhLCAxNS4gTWFpIDE5OTYsIDE3OjQxOjQyKToKQWxsZSwgZGllIGZyZWNoIGJlaGF1cHRlbiwgaWNoIGhhZXR0ZSB2b3N0ZWhlbmRlbiBCcmllZiBudXIgYXVzIEVpZ2VubnV0egpnZXNjaHJpZWJlbiwgdW5kIG1pciBnaW5nZSBlcyBsZWRpZ2xpY2ggdW0gZGllIEhhbmQgZGVyIGxpZWJsaWNoZW4gTGFyaXNzYSwKc2luZCBkb29mIHVuZCBzdGlua2VuLiBTZWxic3R2ZXJzdGFlbmRsaWNoIGhhdHRlIGljaCBhdXNzY2hsaWVzc2xpY2ggZGFzCkdlbWVpbndvaGwgZGVzIE1nIGltIEF1Z2UuCgpCdWJiYSAtIGdhbnogZGVyIERlaW5lLCBMYXJpc3NhISA6LSkKClAuUy46IFdlbm4gaWNoIERpciB6dSBrbGVpbiBiaW4sIExhcmlzc2EsIGJpbiBpY2ggYXVjaCBnZXJuZSB6dSBlaW5lcgpIb3Jtb25iZWhhbmRsdW5nIGJlcmVpdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBlaW4gVm9yc2NobGFnLi4uIChMYXJpZWwsIDE1LiBNYWkgMTk5NiwgMTc6NDM6MDUpOgp+IyEgcm49QnViYmEgcnQ9ODMyMTc0NTkzCn4jISB0aWQ9ODMyMTc0NTkzCkh1aSwgaWNoIGJpbiBiZWVpbmRydWNrdCB2b24gZGVtIEFydGlrZWwuCk1hbCBuZSBOZXR0ZSBJZGVlLCBkYXMgbWl0IG5ldWVuIEdvZXR0ZXJuIC0gRXR3YXMgYmVzc2VyIHdhZXJlIHdvaGwgZWluZQpoYWxiamFlaHJsaWNoZSBHb2V0dGVyd2FobCAtIERlbW9rcmF0aWUgaXN0IG5lIHNjaG9lbmUgU3RhYXRzZm9ybS4uLgoKLSBMYXJpZWwgRmFsa2VuZmx1ZyBkZXIgVG9kZXNlbmdlbAogIFdhZ3QgZXJzdG1hbCBub2NoIG5pY2h0LCBtZWhyIHp1IHNjaHJlaWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOdXIgZWluIFZvcnNjaGxhZy4uLiAoRW5neXd1Y2ssIDE1LiBNYWkgMTk5NiwgMjE6NDM6MTIpOgp+IyEgcm49QnViYmEgcnQ9ODMyMTc0NTkzCn4jISB0aWQ9ODMyMTc0NTkzCkhleSwgZGEgd2lsbCBtaWNoIGplbWFuZCB6dW0gR290dCBtYWNoZW4gLSBOdWxsIFByb2JsZW1vLiBOYWphLCBzbyBlaW4gcGFhcgpEaW5nZSBtdWVzdGUgbWFuIG1pciBuYXR1ZXJsaWNoIG5vY2ggYmVpYnJpbmdlbi4gRWluIENyYXNoa3VycwoiTXVkLUFkbWluaXN0cmF0aW9uIGluIDIgU3R1bmRlbiIsICJXaWUgdW50ZXJzY2hlaWRlIGljaCBlaW4gRHJ1Y2tlcmthYmVsIHZvbgplaW5lbSBOZXR6d2Vya2thYmVsIiB1bmQgIldhcyBiZWRldXRlbiBkaWVzZSBnYW56ZW4gUnVuZGVuIEtsYW1tZXJuIGltIExQQz8iIC4KQWJlciBkYXMgbGVybiBpY2ggc2ljaGVyIGFsbGVzIGdhbnogZml4LCB1bmQgd2FzIGljaCBkYW5uIGltbWVyIG5vY2ggbmljaHQKa2FubiwgZGFzIG1hY2h0IE9ldHRpLgpBbnNvbnN0ZW46IEpvZiwgZ2liIG1pciBzY2hvbm1hbCBEZWluIFBhc3N3b3J0IDopCgpFbmd5d3VjayAtIHdlaXNzIG51ciwgZGFzcyBkaWUgRmVzdHBsYXR0ZSBoaW4gdW5kIHdpZWRlciBtaXQgZGVtIFZpcmVuc2Nhbm5lcgoiZmRpc2siIHp1IHBydWVmZW4gaXN0CgpQLlMuOiBXYXMgTGFyaXNzYSBhbmdlaHQgLSBtZWluZW4gU2VnZW4gaGFzdCBEdSwgQnViYmEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGFydGV4dCAoR3V5YnJ1c2gsIDE1LiBNYWkgMTk5NiwgMjI6MzM6NDkpOgp+IyEgcm49VG9ldGVyIHJ0PTgzMjE2OTU2Mwp+IyEgdGlkPTgzMjE2OTU2MwpJY2ggc2NocmVpYiBhdWNoIHdhcywgbmljaHQgZGFzcyBpY2ggd2llZGVyIHdhcyB2ZXJwYXNzZS4gRGFmdWVyIGZhc3NlIGljaAptaWNoIGFiZXIgYXVjaCBrdXJ6OgpJY2ggc3RpbW1lIGRlbSwgd2FzIFRvZXRlciBnZXNhZ3QgaGF0IDEwMCVpZyB6dS4gSWNoIGhhZXR0cyBudXIgbmljaHQgc28gd29obApmb3JtdWxpZXJlbiBrb2VubmVuLgoKRnVlciBtaWNoIGlzdCBaYXBwZW4gbmljaHQgYW5kZXJlcyBhbHMgZWluIFBsYXllcmtpbGwsIHVuZCBtYW4gc29sbHRlIGRhZnVlcgpiZXN0cmFmdCB3ZXJkZW4uIERhYmVpICJzb2xsdGUiIGVzIHZvbGxrb21tZW4gV3Vyc2NodCBzZWluLCB3ZXNzZW4gRnJldW5kZQpkZXJqZW5pZ2UgZ3JhZCBpc3Qgb2RlciBuaWNodC4KWnVtIGFuZGVyZW4gc29sbHRlbiBMZXV0ZSwgZGllIHJ1bWxhdWZlbiB1bmQgQmVsZWlkaWd1bmdlbiBhdXNzcHJlY2hlbiwgd2VsY2hlCnBlcnNvZW5saWNoIHZlcnN0YW5kZW4gd2VyZGVuIGtvZW5uZW4gdW5kIG5pY2h0IG1pdCBkaWVzZW0gIlJvbGxlbnNwaWVsIiB6dQp0dW4gaGFiZW4sIGJlc3RyYWZ0IHdlcmRlbi4gQWxsZXJkaW5ncyBiaXR0ZSBuaWNodCBtaXQgZGVyIHZvbiBUKiBlcndhZWhudGVuCkhvbHpoYW1tZXJtZXRob2RlLiAKCldlciBzaWNoIG5hY2ggZWluZW0gc29sY2hlbiBad2lzY2hlbmZhbGwgc2VsYnN0bG9lc2NodCwgaGF0IHdvaGwgbnVyIG5lbiBHcnVuZApnZXN1Y2h0LiBWaWVsbGVpY2h0IGtvZW5udGUgaWNoIGRpZSBHcnVuZGUgc29nYXIgdmVyc3RlaGVuLCBhYmVyIGRhbm4gc29sbHRlCmljaCBzaWUgYXVjaCBmdWVyIG1pY2ggYmVoYWx0ZW4gdW5kIG5pY2h0IGFuZGVyZSwgaW4gZGllc2VtIEZhbGwgZWluZW4KU3BpZWxlciwgbWl0aGluZWluemllaGVuLgoKVGphIE9ldHRpLCBTdHJhZmUgbXVzcyBzZWluIDspLiBJY2ggYmluIGFsbGVyZGluZ3MgZGFmdWVyLCBkYXNzIHphcHBlbiAiSU1NRVIiCm1pdCBlaW5lciB6ZWl0d2Vpc2VuIEFic3R1ZnVuZyBiZXN0cmFmdCB3aXJkIC0gYmVpbSBlcnN0ZW4gTWFsLiBEYW5jaCBkdWVyZnRlCmVzIGF1Y2ggZXR3YXMgbWVociBzZWluLiBBYmhvZXJlbiB2b24gcHJpdmF0ZW4gR2VzcHJhZWNoZW4gaXN0IG5vY2ggbmUgTnVtbWVyCnNjaGxpbW1lci4gKGFlaCB6dW0gWmFwcGVuOiBrYW5uIGF1Y2ggZ2VyZWNodGZlcnRpZ3Qgc2VpbiwgbWFuIHNvbGx0ZSBhYmVyCnZvcmhlciBtYWwgcnVtaG9yY2hlbiwgd2FzIGRpZSBhbmRlcmVuIG1laW5lbikgCldlbm4gaWNoIGRpZSBMZXV0ZSwgZGllIGJlbGVpZGlnZW4gbmFjaGhlciB1bnRlcnN0dWV0emUsIHdlaWwgc2llIG1laW5lCkZyZXVuZGUgb2RlciBLb2xsZWdlbiBzaW5kLCBkYW5uIHNvbGx0ZSBpY2ggdm9yaGVyIHdlbmlnc3RlbnMgdmVyc3VjaHQgaGFiZW4sCnNpZSBkYXZvbiBhYnp1aGFsdGVuLiBTb3dhcyBpc3QgbWFuIGVpbmVtICJGcmV1bmQiIHNjaHVsZGlnLiBVbmQgd2VubiBuaWNodAptdXNzIGRlcmplbmlnZSBkaWUgS29uc2VxdWVuemVuIGF1Y2ggdHJhZ2VuLgoKKEljaCBzZWggc2Nob24sIGljaCBoYWIgenUgZnJ1ZWggbmUgVmVyc3ByZWNodW5nIGdlbWFjaHQsIGljaCB3dWVyZGUgbWljaAprdXJ6ZmFzc2VuKQoKRGFzIHdhcidzIGFiZXIgamV0enQKR3V5YnJ1c2gsIHN1Y2h0IGF1Y2ggaW4gUkwgZGllIEdlcmVjaHRpZ2tlaXQgdmVyZ2ViZW5zLCB3YXJ1bSBzb2xsdGUgZXMgaGllcgpiZXNzZXIgc2Vpbj8KClAuUy46IFdlbm4ncyBrZWluZSBHZXJlY2h0aWdrZWl0IGdpYnQsIHNvIGRvY2ggd2VuaWdzdGVucyBlaW4gUmVjaHQuIFVuZCBkYXMKaXN0LCBzbyBob2ZmIGljaCwgZnVlciBhbGxlIGdsZWljaC4KClAuUC5TLjogSWNoIHZlcm1pc3NlIGRpZSBWZXJoYWVsdG5pc21hZXNzaWdrZWl0OiBCZWxhdXNjaGVuIC0+IFphcHAvUEsgLT4KU2NyaXB0ZW4uIExldHp0ZXJlcyB3aXJkIG1pdCBTcGllbHZlcmJvdCBuYWNoIFdpZGVyaG9sdW5nIGJlbGVndC4gRGVyIFJlc3QgaXN0CkthdmFsaWVyc2RlbGlrdD8KClAuUC5QLlMuOiBCZXZvciBtaXIgZGllIFAncyBhdXNnZWhlbiwgbWFjaCBpY2ggU2NobHVzcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU0NIVUxESUcgISAoTWVwaGlzdG8sIDE2LiBNYWkgMTk5NiwgMDA6MDE6MDgpOgp+IyEgcm49T2V0dGkgcnQ9ODMyMTE5MTA3Cn4jISB0aWQ9ODMyMTE5MTA3ClNjaG51ZWZmLCBPZXR0aSwgZHUgdHVzdCBtaXIgd2FobnNpbm5pZyBsZWlkLiBFaHJsaWNoLiBHYW56IGVocmxpY2guCkRlbm4gV2VyIHNvIGVpbmVuIE1vdHphcnRpa2VsIGluIGRpZSBNUEEgc2V0enQgTVVTUyBlaW4gUHJvYmxlbSBoYWJlbi4KR3J1cyxNZXBoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTQ0hVTERJRyAhIChNYXJpdGEsIDE2LiBNYWkgMTk5NiwgMDE6MjU6MzkpOgp+IyEgcm49TWVwaGlzdG8gcnQ9ODMyMTk3NjY4Cn4jISB0aWQ9ODMyMTE5MTA3CkhpLApWZXJzdG9lc3NlIGdlZ2VuIE1hZ2llcnJlZ2VsbiB1bmQgZGllIEtvbnNlcXVlbnplbiBkYXJhdXMgc2luZCwgc29sYW5nZQpUYWV0ZXIgdW5kIExlaWR0cmFnZW5kZSBhdXNzY2hsaWVzc2xpY2ggTWFnaWVyIHNpbmQsIGVpbmUgcmVpbmUgTWFnaWVyLQphbmdlbGVnZW5oZWl0IHVuZCBzb2xsdGUgdm9uIHVucyBTcGllbGVybiBuaWNodCB6dXIgQmV3ZXJ0dW5nIHN0ZWhlbi4KQWxsZXJkaW5ncyBzb2xsdGVuIGRpZSBNYWdpZXIga29uc2VxdWVudGVyd2Vpc2UgaWhyZSBEaXNrdXNzaW9uIGRlcgpWb3JnYWVuZ2UgaW4gaWhyZW4gZWlnZW5lbiBSdWJyaWtlbiBhdXN0cmFnZW4uIFZpZWxsZWljaHQgaXN0IGphIG1hbCBlaW4KTWFnaWVyIHNvIGZyZXVuZGxpY2gsIGRpZSBBcnRpa2VsIGVudHNwcmVjaGVuZCB6dSB2ZXJsZWdlbi4KSWNoIHN0ZWhlIGltIGFsbGdlbWVpbmVuIE5JQ0hUIGF1ZiBkZW0gU3RhbmRwdW5rdCwgTWFnaWVyIHVuZCBTcGllbGVyIGFscwp6d2VpIHZvbmVpbmFuZGVyIGFiZ2VzY2hvdHRldGUgR3J1cHBlbiB6dSBiZXRyYWNodGVuLiBJbSBHZWdlbnRlaWw6IFdpcgpTcGllbGVyIGhhYmVuIGVpbiBJbmZvcm1hdGlvbnNiZWR1ZXJmbmlzLiBDYXR3ZWF6bGUgaGF0IGRlbSBHZW51ZWdlIGdldGFuCnVuZCBkYXJnZXN0ZWxsdCwgd2FydW0gZXIgd2VsY2hlIE1hc3NuYWhtZW4gZ2V0cm9mZmVuIGhhdC4gRGFzcyB3aXIKU3BpZWxlciBuaWNodCBqZWRlIEVudHNjaGVpZHVuZyBpbiBhbGxlbiBEZXRhaWxzIG5hY2h2b2xsemllaGVuIG9kZXIgZ2FyCmZ1bmRpZXJ0ZSBadXN0aW1tdW5nIGxpZWZlcm4ga29lbm5lbiwgc29sbHRlIGtsYXIgc2VpbiB1bmQgaXN0IHdvaGwgYXVjaApuaWNodCBzbyB2b3JnZXNlaGVuLgpEYXMgSGVlciBkZXIgTWFnaWVyIHVtZmFzc3QgdWViZXIgMjAwIExldXRlLiBEaXNrdXNzaW9uZW4gaW4gZGVuIE1hZ2llci0KUnVicmlrZW4gZXJyZWljaGVuIGZvbGdsaWNoIGltbWVyIG5vY2ggaW1tZW5zIHZpZWxlIC0gdW5kIGF1c3NlcmRlbSBkaWUKUmljaHRpZ2VuLgpVbnMgU3BpZWxlcm4gZmVobHQgb2Z0IGVpbmZhY2ggZGVyIEJhY2tncm91bmQsIHdhcyBzY2huZWxsIHp1IE1pc3N2ZXItCnN0YWVuZG5pc3NlbiBmdWVocnQuIEFydGlrZWwgbWl0IGhhbGJlbiBXYWhyaGVpdGVuIG51ZXR6ZW4gZGVzaGFsYiBuaWNodHMKdW5kIHNjaGFkZW4gdmllbC4gU2NoYWRlbiBnZW5vbW1lbiBoYXQgYWJlciB2b3IgYWxsZW0gZGFzIEFuc2VoZW4gZGVyCk1hZ2llciBiZWkgZGVuIFNwaWVsZXJuLCBkaWUgZGllIEF1c2JyZWl0dW5nIGludGVybmVyIEdyYWJlbmthZW1wZmUgdm9uCk1hZ2llcm4gdWViZXIgaW56d2lzY2hlbiBtZWhyZXJlIG9lZmZlbnRsaWNoZSBSdWJyaWtlbiBpbiB2b2xsZXIgRmFyYmVuLQpwcmFjaHQgbWl0ZXJsZWJlbi4KSmV0enQgaGFiZW4gZXMgZGllIE1hZ2llciBzZWxic3QgaW4gZGVyIEhhbmQsIGVpbmVuIFNjaGx1c3NzdHJpY2ggdW50ZXIKZGVuIG9lZmZlbnRsaWNoZW4gVGVpbCBkaWVzZXIgRGlza3Vzc2lvbiB6dSB6aWVoZW4gdW5kIHp1IHplaWdlbiwgZGFzcwpzaWUgaW4gV2lya2xpY2hrZWl0IGJlc3NlciBzaW5kIGFscyBkYXMgQmlsZCwgZGFzIHNpZSBpbiBkaWVzZW4gVGFnZW4KYWJnZWdlYmVuIGhhYmVuIC0gd292b24gaWNoIG5hZW1saWNoICh0cm90eiBhbGxlciBBZXJnZXJuaXNzZSwgZGllIGljaApzY2hvbiBtaXQgTWFnaWVybiBnZWhhYnQgaGFiZSkgaW1tZXIgbm9jaCB1ZWJlcnpldWd0IGJpbi4KCkVpbiBCZWl0cmFjaCBtaXQgUGVyc3Bla3RpdmU/Ck1hcml0YSwgQWRlcHRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTQ0hVTERJRyAhIChGeXQsIDE2LiBNYWkgMTk5NiwgMDI6NTA6MTMpOgp+IyEgcm49TWVwaGlzdG8gcnQ9ODMyMTk3NjY4Cn4jISB0aWQ9ODMyMTE5MTA3CgpGZWluLCBtaXIgdHVuIFNhaWthbiB1bmQgQm9tYm93c2tpIGxlaWQuLi4gRGllIEFybWVuLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTQ0hVTERJRyAhIChBdXJpYW4sIDE2LiBNYWkgMTk5NiwgMjI6MjA6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzMjE1MTkwNAp+IyEgdGlkPTgzMjExOTEwNwpncmltbWJvcm4gZGVyIGJlZmVobCAidG9ldGUgYWxsZXMiIGhhdCBiaXNzaGVyIElNTUVSIHNhZW10bGljaGUgc3BpZWxlciwKbWFnaWVyIHVuZCB6YXJkb3oncyBkYWVtb25lbiBOSUNIVCBiZXRyb2ZmZW4uIHNlaHIgd29obCBhYmVyIGRpZSBhdWNoCmFud2VzZW5kZW4KZmV1ZXJnZWlzdGVyIGF1ZiBkZXIgaG9jaHplaXQhCgpqZWRlbmZhbGxzIHdhciBkaWVzIGRhcyBlcnN0ZSB1bmQgYmlzc2hlciBlaW56aWdlIG1hbCwgZGFzcyBpY2ggZ2Vob2VydCBoYWJlLApkYXMgZWluIHNwaWVsZXIgYW4gZWluZW0gInRvZXRlIGFsbGVzIiBTT0ZPUlQgdW5kIERJRVJFS1QgZ2VzdG9yYmVuIGlzdC4KKG5vY2ggZGF6dSBtaXQgd2VpdGVyaGluIHZvbGxlbiBscCwgYWxzbyBkaXJla3RlciBaQVAhKQoKYXVyaWFuLCBudXIgbmUga2xlaW5lIGFubWVya3VuZyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcmVjaHRpZ2tlaXQgKEJlZXRsZSwgMTcuIE1haSAxOTk2LCAxMDozMToxOSk6CldlaWwgZ3JhZCBhbGxlIHZvbSBCZXN0cmFmZW4gcmVkZW4gdW5kIHdhcyBtYW4gYW0gYmVzdGVuIHdpZSBiZXN0cmFmdDoKV2llIHdhZXJlIGVzIG1pdCBlaW5lbSBNdWQtR2VyaWNodHNob2YgPz8KRWluIEdvdHQgKG9kZXIgaWNoKSBhbHMgUmljaHRlciwgdW5kIGRhbm4gbm9jaCAxMiBTcGllbGVyIGFscyBHZXNjaHdvcmVuZS4KCkRhcyB3YWVyZSBkb2NoIHp1bWluZGVzdCB3aWVkZXIgZXR3YXMgcmVhbGlzdGlzY2hlci4uLgoKYnllYnllLCBiZWV0bGUKClBTOiBuaWNodCwgZGFzIG1pciB3YXMgYW0gUmVhbGlzbXVzIGxpZWdlbiB3dWVyZGUgLSBnYW56IGltIEdlZ2VudGVpbC4KICAgIFdpZSBzZWhlbiBPcmtzIGVpZ2VudGxpY2ggaW0gUkwgYXVzPyBVbmQgd28gZ2lidCdzIGRpZT8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTQ0hVTERJRyAhIChDYXVubywgMTcuIE1haSAxOTk2LCAxNDowMjoxNik6Cn4jISBybj1BdXJpYW4gcnQ9ODMyMjc4MDM5Cn4jISB0aWQ9ODMyMTE5MTA3CgpOYWphLCB3YXIgaW1tZXIgdG9ldGUgYWxsZXMgZWluZ2lidCwgb2huZSBzaWNoIHZvcmhlciBtYWwgdW16dXNjaGF1ZW4sIGlzdAptZWluZXIgbWVpbnVuZyBuYWNoIHNlbGJzdCBzY2h1bGQuIGRhIGtlbm4gaWNoIG5vY2ggZ2FueiBhbmRlcmUgcGFubmVuLCBkaWUKbWlyIG5pY2h0IHBhc3NpZXJ0IHNpbmQgLi4uCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU0NIVUxESUcgISAoSGFyZGlsLCAxNy4gTWFpIDE5OTYsIDE4OjEzOjAyKToKfiMhIHJuPU1hcml0YSBydD04MzIyMDI3MzkKfiMhIHRpZD04MzIxMTkxMDcKCk51ciAyIHBlbm5pZXM6CgpJbWhvIHNpbmQgTWFnaWVyendlaXRpZXMga2VpbmUgU3BpZWxlci4gU29uZGVybiBUZXN0aWVzIG9kZXIKd2llc2llYXVjaGltbWVyaGVpc3Nlbm1vZWdlbi4KTWFnaWVyIGtvZW5uZW4gaWhyZW4gWndlaXRpZXMgYWxsZSBTdGF0cyBzbyBzZXR6ZW4sIHdpZSBzaWUgZ2VyYWRlIEx1c3QgaGFiZW4uClVuZCB3ZW5uIGVpbiBhbmRlcmVyIE1hZ2llciBtYWwgc28gZWluZW4gWndlaXRpZSB6dSBMYXJzIHNjaGlja3QsIGRhbm4gaGF0IG1hbgpkYXMgbWl0IGVpbmVtIGVpbmZhY2ggeGNhbGwgRVAtbWFlc3NpZyB3aWVkZXIgYmVob2Jlbi4KCk5ldHQgZmluZGUgaWNoIHdpcmtsaWNoIG51ciwgd2llIG1hbiBzaWNoIGFuIHNvIGVpbmVyIExhcHBhbGllIHNvIGJla3JpZWdlbgprYW5uLgoKS29wZnNjaHVldHRlbG5kOiBoYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTQ0hVTERJRyAhIChCYWJvb24sIDE3LiBNYWkgMTk5NiwgMTk6NTU6MDkpOgp+IyEgcm49SGFyZGlsIHJ0PTgzMjM0OTU4Mgp+IyEgdGlkPTgzMjExOTEwNwpOb2UsIGRhIG11c3MgaWNoIG1pY2ggamV0enQgYXVjaCBtYWwgZWlubWlzY2hlbiAoRG9uIHQgbGV0IHRoaXMgdGhyZWFkIGRpZSA6LSkKKQpNYWdpZXJ6d2VpdGlzIHNpbmQga2VpbmUgVGVzdGllcy4gRGVzaGFsYiBoZWlzc2VuIHNpZSBqYSBhdWNoIFp3ZWl0aXMgdW5kCm5pY2h0IFRlc3RpZXMuCk1hZ2llcnp3ZWl0aXMgdW50ZXJzY2hlaWRlbiBzaWNoIG51ciBpbnNvZmVybiB2b24gbm9ybWFsZW4gWndlaXRpcywgYWxzIGRhc3MKc2llIGdld2lzc2VuCkJlc2NocmFlbmt1bmdlbiB1bnRlcmxpZWdlbiwgZGFtaXQgbmljaHQgYXVmIGRpZXNlbSBXZWdlIHZvbSBNYWdpZXJlcnN0aQp2ZXJib3RlbmVuIERhdGVuCndpZSBldHdhIGdlbmF1ZSBBQy1aYWhsZW4gb2RlciBzbyBhbiBTcGllbGVyIHdlaXRlcmdlZ2ViIG53ZXJkZW4uCkljaCBkZW5rZSBUZXN0aXMgZGFyZiBtYW4gc29vZnQgemFwcGVuLCB3aWUgbWFuIHdpbGwgKHNvbGFuZ2UgZXMgbmljaHQgbmVydnQpLgpBYmVyIHphcHBlbiB2b24gWndlaXRpcyBpc3QgZ2VuYXVzbyB2ZXJib3RlbiB3aWUgZGFzIHZvbiAibm9ybWFsZW4iIFNwaWVsZXJuLgpBYmVyIGpldHp0IGlzdCBiaXR0ZSBSdWhlLiBJY2ggaGFiIGtlaW5lIEx1c3QsIG1pY2ggZHVyY2ggNTAgTXVlbGxhcnRpa2VsCnp1IHd1ZWhsZW4gKG1pdCBqZXdlaWxzIDMgU2VpdGVuIG5vY2ggYW0gQmVzdGVuKSB1bSBlaW5lbiB2ZXJudWVuZnRpZ2VuCkFydGlrZWwgenUgZmluZGVuLgoKQmFib29uIChqdXN0IG15IDIgR2xvZG11ZW56ZW4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU0NIVUxESUcgISAoT2V0dGksIDE4LiBNYWkgMTk5NiwgMDI6MTk6MTkpOgp+IyEgcm49QmFib29uIHJ0PTgzMjM1NTcwOQp+IyEgdGlkPTgzMjExOTEwNwpMZXV0ZSwgaW0gUHJpbnppcCBpc3QgZXMgbWlyIEthY2tlZ2FsLCBvYiBlaW4gTWFnaWVyendlaXRpIGVpbiBUZXN0aSBpc3Qgb2Rlcgp3aWUgb2RlciB3YXMsIG5ldHRlIERpc2t1c3Npb24sIGJ0dy4KKGhhdCB3YXMgZm9ybWFsanVyaXN0aXNjaGVzKQooRXMgc3RlaHQgdWVicmlnZW5zIG5pcmdlbmRzIGltIE1BZ2llcnZlcnRyYWcgRVggUFJFU1NJUyBWRVJCSVMsIGRhc3MgWmFwcGVuCnZlcmJvdGVuIGlzdC4pCldhcyBpY2ggc2FnZW4gd2lsbCwgaWNoIGhhYmUgU3VuZGFuY2UgKEJvbWJvd3NraSkgZ2V6YXBwdCwgd2VpbCBlciBtaXIgYXVmIGRpZQpOZXJ2ZW4gZ2VnYW5nZW4gaXN0LCB1bmQKd2VpbCBlciBzaWNoIGltIFRvbiB2ZXJncmlmZmVuIGhhdC4KVW5kIHdpc3N0IGlociB3YXMuLi4/Ck1pdCBkZW4gZGFyYXVzIGZvbGdlbmRlbiBLb25zZXd1ZW56ZW4gbXVzcyBpY2ggdW5kIG11ZXNzdCBpaHIgbGViZW4uCkljaCBtYWcgZXMgaGFsciBudXIgbmljaHQsIHdlbm4gamVtYW5kIHNlaW5lIHBlcnNvZW5saWNoZW4gaW50ZXJlc3NlcwptaXQgZGVuIE11ZGdlc2NoZWhuaXNzZW4gdmVybWlzY2h0IHVuZCB2ZXJzdWNodCBzbyBqZW1hbmRlbiwgZGVyIGlobQptb2VnbGljaGVyd2Vpc2UgdW5hbmdlbmVobSBpc3QsIGxvc3p1d2VyZGVuLgoKSWNoIHdlcmRlL3d1ZXJkZSBlcyB3aWVkZXIgdHVuIHVuZCBmZXR0aWNoLgoKT2V0dGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNDSFVMRElHICEgKENhdHdlYXpsZSwgMTguIE1haSAxOTk2LCAwMjo0MzowNik6Cn4jISBybj1PZXR0aSBydD04MzIzNzg3NTkKfiMhIHRpZD04MzIxMTkxMDcKSmFhYWphLCBkdSB3dWVyZGVzdCBlcyB3aWVkZXIgdHVuLCBhYmVyIHZpZWxsZWljaHQgc2luZCBiZWltIG5hZWNoc3RlbgptYWwgZGllIFVtc3RhZW5kZSBhbmRlcnMsIHVuZCBkYW5uIHZlcmhhbHRlIGljaCBtaWNoLCBiencgZGllIHZpZWx1bS0Kc2NocmllYmVuZSBPZWZmZW50bGljaGtlaXQgc2ljaCBub2NoIGFuZGVycyB1bmQgZHUga3JpZWdzdCAKX3dpcmtsaWNoXyBBZXJnZXIuCgpEdSBiaXN0IGhhbHQgaW0gTW9tZW50LCBlbnRzY2h1bGRpZ2UgZGFzIGhhcnRlIFdvcnQsIGVpbiB0eXBpc2NoZXIKWWFudHJvZmFsbC4gSWNoIHVuZCBhbmRlcmUgaGFsdGVuIGhhbHQgZWluIEF1Z2UgYXVmIERpY2ggdW5kIGRhcyB3YXMgRHUKdHVzdCwgdW5kIER1IHNvbGx0ZXN0IGV0d2FzIHZvcnNpY2h0aWdlciB1bmQgZ2V6dWVnZWx0ZXIgc2Vpbi4KSnVzdCBteSBsaXR0bGUgaGludCwKeW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTQ0hVTERJRyAhIChIYWRyYSwgMTguIE1haSAxOTk2LCAxMzoyMjoxMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODMyMzgwMTg2Cn4jISB0aWQ9ODMyMTE5MTA3CmtvZW5udCBpaHIgZGVuIHRocmVhZCBqZXR6dCBiaXR0ZSBlbmRsaWNoIGJlZW5kZW4/IHNvIGxhbmdzYW0gd2lyZHMgd2lya2xpY2gKZ2FlaG5lbmQgbGFuZ3dlaWxpZwoKaGFkcmEgLSBlaW4gZ2VsYW5nd2VpbHRlciBsZXNlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU0NIVUxESUcgISAoWWFudHJvLCAyMC4gTWFpIDE5OTYsIDEwOjQ5OjUxKToKfiMhIHJuPUNhdHdlYXpsZSBydD04MzIzODAxODYKfiMhIHRpZD04MzIxMTkxMDcKSGVpc3N0IGRhc3MsIHdlbm4gT2V0dGkgaW0gbW9tZW50IGRpZSBBcnNjaGthcnRlIGhhdCwgZGFzcyBpY2ggbWljaCB3aWVkZXIKbm9ybWFsIGJlbmVobWVuIGthbm4/CgogICAgICAgICAgICAgICAgICAgICBZYW50cm8sIG1hbmNobWFsIGVpbiBGYWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2RlbGUgISAoT2V0dGksIDIwLiBNYWkgMTk5NiwgMTE6Mzg6MTgpOgoKSnVodXV1ICEhCgpTbyBpY2ggaGFiIGpldHp0IGdlbnVnIFNwYXNzIGdlaGFidCBpbiBkZXIgbGV0enRlbiBXb2NoZS4KCkNhdCosIER1IGJpc3QgdWVicmlnZW5zIG8uay4gYWxzIFNoZXJyaWYuLi4KCkFsc28gaWNoIGhhYiBtaWNoIGluIGRlciBsZXR6dGVuIFdvY2hlIGdhciBhbGwgenUgZ3V0IGFtdWVzaWVydC4KSG1tbW0sIGRhcyBlaW56aWdlIHdhcyBtaWNoIHRhdHNhZWNobGljaCBhdWZnZXJlZ3QgaGF0LCBpc3QKZGFzcyBpY2ggZWlnZW50bGljaCBuaWVtYW5kZW4gRVJOU1RMSUNIIFNjaGFkZW4genVmdWVnZW4gbW9lY2h0ZS4KQWJlciB3ZW5uIGljaCBwcm92b3ppZXJ0IHdlcmRlLCByZXNwZWt0aXZlIG1pY2ggcHJvdm96aWVydCBmdWVobGUKZGFubiBzY2hsYWcgaWNoIGF1Y2ggdW0gbWljaCwgdW5kIHdhcnVtIG5pY2h0IG9lZmZlbnRsaWNoLCBlcyB3YXIgCmluIG1laW5lbiBBdWdlbiBLRUlOIHBlcnNvZW5saWNoZXIgS2xlaW5rcmllZyB6d2lzY2hlbiB6d2VpCk1BZ2llcm4sIGRpZSBzaWNoIG5pY2h0IHJpZWNoZW4ga29lbm5lbiwgYXVzc2VyZGVtIGhhYmVuIG5lIG1lbmdlIApMZXV0ZSBzaWNoIGRvY2ggZ2xlaWNoZmFsbHMgZ3V0IGFtdWVzaWVydC4uLjstKSkpCgpOZWluIGRhcyBlaW56aWdlIHdhcyBtaXIgYWxzIGJpdHRlcmVyIE5hY2hnZXNjaG1hY2sgYmxlaWJ0LCBpc3QgZGllClRhdHNhY2hlLCBkYXNzIGljaCBpbiBkZW4gQXVnZW4gdm9uIGlyZ2VuZHdlbGNoZW4gTGV1dGVuIG5pY2h0CmRhcyBSZWNodCBoYWJlIE1hZ2llciB6dSBzZWluLCBobW0gZ3V0LCBkYW5uIGdlYnQgbWlyCmVpbiBUb29sIG1pdCBkZW0gaWNoIGRpZSBCZWZlaGxlIGRpZSBpY2ggYnJhdWNoZSBhdXNmdWVocmVuIGthbm4sIHVuZAptYWNodCBtaWNoIHp1bSBTcGllbGVyLCBhYmVyIFNjaGFkZSBpc3QgZXMgaXJnZW5kd2llLCBkYXNzCmVzIGVpbmUgVW50ZXJzY2hlaWR1bmcgendpc2NoZW4gd3VlcmRpZ2VuIHVuZCB1bnd1ZXJkaWdlbiBNYWdpZXJuCmdpYnQsIGtsYXIgZXMgZ2lidCBndXRlIHVuZCBzY2hsZWNodGUsIFByb2dnZXIgdW5kIENoYW90ZW4sIGFiZXIKbmllbWFuZCBzb2xsdGUgaXJnZW5kamVtYW5kZW0gYW5kZXJlbiBkZW4gV2VydCB1bmQgZGllIEJlZmFlaGlndW5nCmZ1ZXIgaXJnZW5kZXR3YXMgYWJzcHJlY2hlbi4KCkljaCBtb2VjaHRlIGpldHp0IG5pY2h0IDUgRm9sZ2VhcnRpa2VsIGxlc2VuLCBkYXNzIGRpZXNlciBBcnRpa2VsCnVlYmVyZmx1ZXNzaWcgd2llIGVpbiBLcm9wZiBpc3QuLi5JY2ggd2Vpc3MgZXMgc2VsYmVyLi4uCgpDaWFvIE9ldHRsIChDbG9uZW5kLiBaYXBwZW5kLiBUcmFuc2VuZC4gSWxsZWdhbC4pCgpQLlMuOyBadW0gVGhlbWEgTUFnaWVydmVydHJhZzogSmVkZXIgdHV0IGVzIGtlaW5lciBnaWJ0IGVzIHp1LCB3YXJ1bSBzb2xsIAppY2ggbmljaHQgZGF6dSBzdGVoZW4gdHV0IG1pciBuaWNodCB3ZWguLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0NIVUxESUcgISAoQXNtb2RpcywgMjAuIE1haSAxOTk2LCAxMjo1MjozNCk6Cn4jISBybj1Kb2YgcnQ9ODMyMTU5NjM3Cn4jISB0aWQ9ODMyMTE5MTA3CldlciBkYXMgd29obCBzZWluIG1hZyA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTQ0hVTERJRyAhIChQYW1wZXJzLCAyMC4gTWFpIDE5OTYsIDEzOjE0OjM0KToKfiMhIHJuPUNhdHdlYXpsZSBydD04MzIzODAxODYKfiMhIHRpZD04MzIxMTkxMDcKRHUgYmlzdCBoYWx0IGltIE1vbWVudCwgZW50c2NodWxkaWdlIGRhcyBoYXJ0ZSBXb3J0LCBlaW4gdHlwaXNjaGVyCllhbnRyb2ZhbGwuCj5Tb3JyeS4uLiBpY2ggaGFiIGRhIHZpZWxsZWljaHQgd2FzIG5pY2h0IG1pdGdla3JpZWd0Li4uCkFiZXIgd2FzIGhhdCBZYW50cm8gZGFtaXQgenUgdHVuPwpJY2ggZmluZGUgc2Nob24sIG1hbiBzb2xsdGUgc29sY2hlIFNhY2hlbiB0cmVubmVuLi4uLi4uCgpQYW1wZXJzLiBGaW5kZXQgbWFuY2hlcyBtYW5jaG1hbCBzZWx0c2FtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBUaXRlbCBpbiBkZXIgQWJlbnRldXJlcmdpbGRlIChCb2luZywgMjAuIE1haSAxOTk2LCAxMzoyNDozMSk6CkF1ZmdydW5kIHZvbiBVZWJlcnNjaG5laWR1bmdlbiBkZXIgQWJlbnRldXJlci1UaXRlbCBtaXQgYW5kZXJlbiBHaWxkZW4gCih6LmIuIFphdWJlcmVyLCBLYWVtcGZlciksIGhhdCBZYW50cm8gYW5nZXJlZ3QsIGZ1ZXIgZGllIEFiZW50ZXVyZXIgbmV1ZQp1bmQgbmV1dHJhbGUgVGl0ZWwgenUgZmluZGVuLiBWaWVsZSBTcGllbGVyIGhhYmVuIGlobSBkYXJhdWZoaW4gaWhyZQpWb3JzY2hsYWVnZSBnZXNjaGlja3QsIGF1cyBkZW5lbiBlciBkaWUgYmVzdGVuIChpY2ggd2Vpc3MsIHN1Ympla3RpdikKYXVzZ2V3YWVobHQgaGF0LiBEaWVzZSBUaXRlbCB3dXJkZW4gbnVuIGVpbmdlYmF1dC4gRnVlciBTcGllbGVyIGhlaXNzdApkYXMgZm9sZ2VuZGVzOiBFcnN0IGJlaW0gU3R1ZmVuYW5zdGllZyB3aXJkIGRlciBuZXVlIFRpdGVsIGdlc2V0enQsIHdlcgphbHNvIHNlaW5lbiBhbHRlbiwgbGllYmdld29ubmVuZW4gVGl0ZWwgYmVoYWx0ZW4gd2lsbCwga2FubiBkYXMgdHVuIChpY2gKZ2VoZSBkYXZvbiBhdXMsIGRhc3MgZGllc2UgTGV1dGUgZWggbmljaHQgZXJob2VodCBoYWJlbiwgZ2VsbCBSYWZmaT8pLiAKRGllIEhpbGZzc2VpdGUgaXN0IHdhaHJzY2hlaW5saWNoIG5vY2ggZmFsc2NoLCB3aXJkIGFiZXIgZGVtbmFlY2hzdCAKYWt0dWFsaXNpZXJ0LiBIaWVyIGRpZSBMaXN0ZSBkZXIgbmV1ZW4gVGl0ZWw6CgoxICBkZXIgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyICBkaWUgaG9mZm51bmdzdm9sbGUgQW5mYWVuZ2VyaW4KMiAgZGVyIExhbmRzdHJlaWNoZXIgICAgICAgICAgICAgZGllIExhbmRzdHJlaWNoZXJpbgozICBkZXIgU3RyZXVuZXIgICAgICAgICAgICAgICAgICBkaWUgU3RyZXVuZXJpbgo0ICBkZXIgV2FuZGVyZ2VzZWxsZSAgICAgICAgICAgICBkaWUgV2FuZGVyZ2VzZWxsaW4KNSAgZGVyIFdhbGRsYWV1ZmVyICAgICAgICAgICAgICAgZGllIFdhbGRsYWV1ZmVyaW4KNiAgZGVyIEZhZWhydGVuc3VjaGVyICAgICAgICAgICAgZGllIEZhZWhydGVuc3VjaGVyaW4KNyAgZGVyIFdlZ2VrdW5kaWdlICAgICAgICAgICAgICAgZGllIFdlZ2VrdW5kaWdlCjggIGRlciBKYWVnZXIgICAgICAgICAgICAgICAgICAgIGRpZSBKYWVnZXJpbgo5ICBkZXIgS3VuZHNjaGFmdGVyICAgICAgICAgICAgICBkaWUgS3VuZHNjaGFmdGVyaW4KMTAgZGVyIFJlaXNlbmRlICAgICAgICAgICAgICAgICAgZGllIFJlaXNlbmRlCjExIGRlciBBYmVudGV1cmVyICAgICAgICAgICAgICAgIGRpZSBBYmVudGV1cmVyaW4KMTIgZGVyIFdlbHRlbmJ1bW1sZXIgICAgICAgICAgICAgZGllIFdlbHRlbmJ1bW1sZXJpbgoxMyBkZXIgRHJhdWZnYWVuZ2VyICAgICAgICAgICAgICBkaWUgRHJhdWZnYWVuZ2VyCjE0IGRlciBTY2hhdHpzdWNoZXIgICAgICAgICAgICAgIGRpZSBTY2hhdHpzdWNoZXJpbgoxNSBkZXIgRmV1ZXJiYWVuZGlnZXIgICAgICAgICAgICBkaWUgRmV1ZXJiYWVuZGlnZXJpbgoxNiBkZXIgRW50ZGVja2VyICAgICAgICAgICAgICAgICBkaWUgRW50ZGVja2VyaW4KMTcgZGVyIEVyb2JlcmVyICAgICAgICAgICAgICAgICAgZGllIEVyb2JlcmVyaW4KMTggZGVyIEhlbGQgICAgICAgICAgICAgICAgICAgICAgZGllIEhlbGRpbgoxOSBkZXIgYW5nZWhlbmRlIFNlaGVyICAgICAgICAgICBkaWUgYW5nZWhlbmRlIFNlaGVyaW4KMjAgZGVyIFNlaGVyICAgICAgICAgICAgICAgICAgICAgZGllIFNlaGVyaW4KClZpZWxlbiBEYW5rIGFuIGFsbGUsIGRpZSBiZXRlaWxpZ3Qgd2FyZW4gdW5kIHZpZWwgU3Bhc3MgbWl0IGRlbiBuZXVlbiBUaXRlbG4uCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBUaXRlbCBpbiBkZXIgQWJlbnRldXJlcmdpbGRlIChZYW50cm8sIDIwLiBNYWkgMTk5NiwgMTM6MzA6NTgpOgp+IyEgcm49Qm9pbmcgcnQ9ODMyNTkxNDcxCn4jISB0aWQ9ODMyNTkxNDcxCgpXaWVzbyBuaWNodCBlcmhvZWhlbj8gUmFmZmkgYnJhdWNodCBkb2NoIE5VUiBub2NoIDIgU3R1ZmVuIGJpcyB6dW0gbmV1ZW4KV2FsZGxhZXVmZXIgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgVGl0ZWwgaW4gZGVyIEFiZW50ZXVyZXJnaWxkZSAoRXNjdWJhciwgMjAuIE1haSAxOTk2LCAxMzo1ODo1Myk6Cn4jISBybj1ZYW50cm8gcnQ9ODMyNTkxODU4Cn4jISB0aWQ9ODMyNTkxNDcxCkFiZXIgZGFubiBiZWtvbW10IGVyIGFtIFNjaGx1c3MgZWluIEZ1ZW5rY2hlbiBNYWdpZSBhYiA7KQoKWmF1YmVyYmFlciBFc2N1YmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTQ0hVTERJRyAhIChBc21vZGlzLCAyMC4gTWFpIDE5OTYsIDEzOjU5OjI0KToKfiMhIHJuPUF1cmlhbiBydD04MzIyNzgwMzkKfiMhIHRpZD04MzIxMTkxMDcKSG1tLCBkZXIgUHJpZXN0ZXIgaW4gZGVyIFRyYXVrYXBlbGxlIGhhdCBtaWNoIGFiZXIgYXVjaCBsZXR6dGVucyBnZXphcHB0LApJY2ggZmluZGUsIHNvd2FzIG1hY2h0IEhvY2h6ZWl0ZW4gbGFuZ3dlaWxpZyB1bmQgdWViZXJmbHVlc3NpZywgbGFzc3QKZG9jaCBkZW4gU3RvZXJlbmZyaWVkZW4gZGVuIFNwYXNzLCB1bmQgd2VyIGRhdm9uIGdlbmVydnQgaXN0LCBzb2xsIGluCmFsbGVyIFN0aWxsZSB1bmQgaGVpbWxpY2ggaGVpcmF0ZW4uIERhcyBnZWh0IGphIG5ldWVyZGluZ3Mgb2huZQpQcm9ibGVtZSBtaXQgZGVyIEtsZXJ1cy1HaWxkZS4KCiAganVzdCBteSAzIHNvdWxzLCBBc21vZGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTQ0hVTERJRyAhIChBc21vZGlzLCAyMC4gTWFpIDE5OTYsIDE0OjA2OjI4KToKfiMhIHJuPU9ldHRpIHJ0PTgzMjM3ODc1OQp+IyEgdGlkPTgzMjExOTEwNwpIbW0sIHRyYW5zIGlobiBkYXMgbmFlY2hzdGUgTWFsIGRvY2ggZWluZmFjaCBpbnMgamFpbCwgb2RlciB2ZXJzY2hsaWVzcyBpaG0Kc29uc3R3aWUgZGVuIE11bmQgOikKRXMgZ2lidCBkb2NoIHNvb3ZpZWxlIE1pdHRlbCBhbHMgTWFnaWVyLCB1bSBkYXMgemFwcGVuIHp1IHVtZ2VoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNDSFVMRElHICEgKFNjaHJ1bXBmaSwgMjAuIE1haSAxOTk2LCAxNToxMzoxNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODMyMzgwMTg2Cn4jISB0aWQ9ODMyMTE5MTA3ClBhc3N0IGFiZXIgYXVmLCBkYXNzIGlociBkYWJlaSBuaWNodCB3aWVkZXIgdWViZXJzZWh0LCB3aWUgYW5kZXJlIExldXRlIHNpY2gKaGllciBiZW5laG1lbi4gV2VubiBlaW5lciBnbGF1YnQsIG1pY2ggbmVydmVuIHp1IG11ZXNzZW4sIGRhbm4gaXN0IGVyIG5hY2ggZGVyCnp3ZWl0ZW4gVmVyd2FybnVuZyB0b3QuIEVnYWwgb2IgWndlaXRpZSwgVGVzdGllIG9kZXIgU3BpZWxlci4KU2NocnVtcGZpIG5lcnZ0IGRpZXNlIFVuZ2VyZWNodGlna2VpdCBoaWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgVGl0ZWwgaW4gZGVyIEFiZW50ZXVyZXJnaWxkZSAoVGFzaGEsIDIwLiBNYWkgMTk5NiwgMjI6MDc6MjApOgp+IyEgcm49Qm9pbmcgcnQ9ODMyNTkxNDcxCn4jISB0aWQ9ODMyNTkxNDcxCgpBbHNvIG1laW4gdmVyZWhydGVyIEhlcnIgQm9pbmcuIFdvIGlzdCBkZW5uIGJpdHRlc2Nob2VuIElocmUgZ3V0ZSBLaW5kZXJzdHViZQpnZWJsaWViZW4/IERpZSBUaXRlbCBkZXIgRGFtZW4gKGhpZXIgc29sbCBzaWNoIGJpdHRlIGtlaW5lIGRlciB3ZXJ0ZW4KTGVzZXJpbm5lbiBiZWxlaWRpZ3QgZnVlaGxlbikgc29sbHRlbiBkb2NoIHdvaGwgZWhlciBpbiBkZXIgZXJzdGVuIFNwYWx0ZQpzdGVoZW4sIG9kZXI/CgpNYWRhbWUgVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkd1cmtlbmlkZW9sb2dpZSEgKEx1ZywgMjEuIE1haSAxOTk2LCAwMDowNjo1OCk6Ck1vaW4hCgpEaWUgenVyIFplaXQgaGVyc2NoZW5kZSAiUm9sbGVuc3BpZWwtSWRlb2xvZ2llIiBzY2hlaW50IHNlbHRzYW1lIEJsdWV0ZW4genUKdHJlaWJlbi4gTGFuZ3NhbSBnZWh0IGRpZSBTcGllbGJhcmtlaXQgdm9yIGRpZSBIdW5kZS4gU3RpbW11bmcgdW5kIFNwaWVsc3Bhc3MKaGFiZW4gc2Nob24gZ2VsaXR0ZW4uIE9kZXIgZ2VodCBlcyBudXIgbWlyIHNvPwpNYWNodCBudXIgc28gd2VpdGVyLgoKTXVudGVyIGJsZWliZW4hCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIFRpdGVsIGluIGRlciBBYmVudGV1cmVyZ2lsZGUgKEZ5dCwgMjEuIE1haSAxOTk2LCAwMToxNzozNCk6Cn4jISBybj1UYXNoYSBydD04MzI2MjI4NDAKfiMhIHRpZD04MzI1OTE0NzEKClVuZCB3aWVzbz8gU2luZCBkaWUgd2FzIGJlc3NlcmVzPyA6KQoKRnl0LiBOaWNodCBlbWFuemlwaWVydCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgVGl0ZWwgaW4gZGVyIEFiZW50ZXVyZXJnaWxkZSAoTXVwZmVsLCAyMS4gTWFpIDE5OTYsIDAyOjM4OjMxKToKfiMhIHJuPUJvaW5nIHJ0PTgzMjU5MTQ3MQp+IyEgdGlkPTgzMjU5MTQ3MQouLi51bmQgaWNoIGdyYXR1bGllcmUgTWFyaXRhIHp1ciBlcnN0ZW4gU3BpZWxlcmluLCBkaWUgZWluZW4gbmV1ZW4gVGl0ZWwgaGF0LgpHcmF0cy4KKGRlciBXZWcgZGFoaW4gd2FyIHN0ZWluaWcsIGRpZSBHaWxkZSB3b2xsdGUgdW5kIHdvbGx0ZSBkZW4gbmV1ZW4gVGl0ZWwgbmljaHQKcmF1c3J1ZWNrZW4uLi4gYmlzIGljaCBkYW5uIG1hbCBhbGxlcyBuZXUgZ2VsYWRlbiBoYXR0ZSB1bmQgZGFubiBnaW5ncyA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgd2FlcmUgZXMgbWl0IC4uLiAoVmFsYXJpYW4sIDIxLiBNYWkgMTk5NiwgMTA6Mzk6MzIpOgpOYWNoZGVtIEphIGFsbGVzIGVpbiB3ZW5pZyBydW1yZWZvcm1pZXJ0IHdpcmQsIGtvZW5udGUgbWFuIGRhIG5pY2h0IGRhcwoobmV0enRvdCkgaW4gaXJnZW5kd2FzIHJzcC1tYWVzc2lnZXJlcyB1bW5lbm5lbi4gWnVtIEJlaXNwaWVsIGluICJIYWxic2NobGFmIgpvZGVyIHNvPwoKR3J1c3MgVmFsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU0NIVUxESUcgISAoUmFmZmksIDIxLiBNYWkgMTk5NiwgMTQ6MTc6NTYpOgp+IyEgcm49SGFkcmEgcnQ9ODMyNDE4NTMwCn4jISB0aWQ9ODMyMTE5MTA3Cgo+IGtvZW5udCBpaHIgZGVuIHRocmVhZCBqZXR6dCBiaXR0ZSBlbmRsaWNoIGJlZW5kZW4/Cj4gaGFkcmEgLSBlaW4gZ2VsYW5nd2VpbHRlciBsZXNlcgpXb3cgZGVyIFRocmVhZCBoYXR0ZSBlaW5lbiBMZXNlciA/CgpHZWlucwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZSBUaXRlbCBpbiBkZXIgQWJlbnRldXJlcmdpbGRlIChSYWZmaSwgMjEuIE1haSAxOTk2LCAxNDoyNDoyOCk6Cn4jISBybj1Fc2N1YmFyIHJ0PTgzMjU5MzUzMwp+IyEgdGlkPTgzMjU5MTQ3MQoKSmF3b2xsamEsIEVzY3UqIER1IGhhc3QgZ2FueiByZWNodC4KCkRhcyBpc3QgZWluZSBhYmdlZmVpbXRlIE1hZ2llcnZlcnNjaHdvZXJ1bmchCgpCb2luZyAmIENvLiB3b2xsZW4gbWljaCB6d2luZ2VuIHVtIDIgc3R1ZmVuIHp1IGVyaG9laGUuCgpJY2ggbGVnZSBzY2hhZXJmc3RlbiB1bmQgYWJlciBhdWNoIHVlYmVyaGF1cHQgcHJvdGVzdCBlaW4KCkphd29sbGphICEKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlIFRpdGVsIGluIGRlciBBYmVudGV1cmVyZ2lsZGUgKEJsb29keWhhcnJ5LCAyMi4gTWFpIDE5OTYsIDAwOjExOjIwKToKfiMhIHJuPVJhZmZpIHJ0PTgzMjY4MTQ2OAp+IyEgdGlkPTgzMjU5MTQ3MQoKRG9uJ3QgUGFuaWsuLi4KClJhZmZpLCBpY2ggc2V0enQgRGljaCBkYW5uIHNjaG9uIHdpZWRlciBydW50ZXIuICAgOy0pCgpCSAoKLi4uY291bnQgdG8gdGVuIC0gdGhlbiBQYW5payEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnF1ZXN0IG9rdG9wdXMgKFNjaG9rbywgMjIuIE1haSAxOTk2LCAwMTo1MDo1NSk6CmhtbW0gaWNoIG11c3MgZGFzIGpldHp0IGxvc3dlcmRlbi4uLi4KCmRpZSBxdWVzdCBva3RvcHVzcmlmZiBpc3MgemllbWxpY2ggbmVydmlnLiBpY2ggd2Vpc3MgZGFzIHdpbGwga2VpbmVyIGhvZXJlbgp1bmQgZGFzIG5lcnZ0IGVpbmlnZSBsZXV0IHRpZXJpc2NoIGFuLCBhYmVyIGljaCBzY2hyZWliZSBkYXMgbmljaHQgbnVyIGF1ZgpncnVuZCBtZWluZXIgZWlnZW5lbiBlcmZhaHJ1bmcgc29uZGVybiBuYWNoZGVtIGljaCBtaXQgZWluaWdlbiBsZXV0ZW4gZGFydWViZXIKZ2VzcHJvY2hlbiBoYWJlLgp2aWVsZWNpaCBrb2VubnRlIGRlci8gZGllIHp1c3RhZW5kaWdlIG1hZ2llciBkYWdlZ2VuIHdhcyB1bnRlcm5obWVuLgoKc2Nob2tvIChkYXUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcXVlc3Qgb2t0b3B1cyAoTGFyaXNzYSwgMjIuIE1haSAxOTk2LCAwNDo0NjowMSk6Cn4jISBybj1TY2hva28gcnQ9ODMyNzIyNjU1Cn4jISB0aWQ9ODMyNzIyNjU1CkhtLAoKaXN0IGphIGlycmUgYXVzc2FnZWtyYWVmdGlnIGRhcyAnaXJyZSBuZXJ2aWcnLi4uCgpCZWtvbW10IG1hbiBuYWNoIEJlc3RlaGVuIGVpbmVyIFF1ZXN0IGtlaW5lbiBGcmFnZWJvZ2VuIG1laHIsCndvIG1hbiBzZWluZSBtZWludW5nIGRpcmVrdCBhbiBkZW4genVzdGFlbmRpZ2VuIE1BZyBtYWlsZW4ga2Fubj8KCkxhcmksIG11ZWRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBxdWVzdCBva3RvcHVzIChTY2hva28sIDIyLiBNYWkgMTk5NiwgMDQ6NDc6MDEpOgp+IyEgcm49TGFyaXNzYSBydD04MzI3MzMxNjEKfiMhIHRpZD04MzI3MjI2NTUKa3JpZWcgbWFuIHNjaG9uLi4uCk5BQ0ggQkVTVEVIRU4gZGVyIHF1ZXN0ISEhISEKCnNjaG9rbwooZGF1KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcXVlc3Qgb2t0b3B1cyAoUmFmZmksIDIyLiBNYWkgMTk5NiwgMTA6Mjc6MjIpOgp+IyEgcm49U2Nob2tvIHJ0PTgzMjczMzIyMQp+IyEgdGlkPTgzMjcyMjY1NQoKRGFubiBtYWNoIGRvY2ggZXJzdG1hbCBkaWUgUXVlc3RlISBOYXR1ZXJsaWNoIGJlc3RlaHQsIHdpZSBzbyBvZnQsIGRpZSBHZWZhaHIKZGFzcyBtYW4gaGludGVyaGVyIG1lcmt0LCBkYXNzICBkaWUgUXVlc3RlIGdhcm5pY2h0IHNvIG5lcnZpZyB3YXIgdW5kIG1hbiBudXIKZGF1ZXJuZCBmYWxzY2ggZ2VkYWNodCwgb2RlciBnYXJuaWNodCBnZWRhY2hodCBoYXQuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHF1ZXN0IG9rdG9wdXMgKFRlcnJvcmlzdCwgMjIuIE1haSAxOTk2LCAxMTo0NzowMSk6Cn4jISBybj1TY2hva28gcnQ9ODMyNzIyNjU1Cn4jISB0aWQ9ODMyNzIyNjU1CgpXYXMgYW4gZGVyIFF1ZXN0IGlzdCBuZXZpZz8KRXMgaXN0IGRpZSB1bXNldHp1bmcgdm9uIGVpbmVtIHNwaWVsIHdhcyBlcyBhdWNoIHNvIGdpYnQgdW5kIGljaCBhbHMKTWFzdGVybWluZCBrZW5uZS4KVmllbGxlaWNodCBkYXMgZGVyIHdlZyB6dW0ga29lbmlnIGVyc3QgZ2VzdWNodCB3ZXJkZW4gbXVzcyBhYmVyIGdhbnogc28KZWluZmFjaCBzb2xsdGUgbWFuIGVzIGphIGRvY2ggbmljaHQgYW1jaGVuLgoKQUxzbyBpY2ggZmluZCBzb2suIApUZXJyb3Jpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcXVlc3Qgb2t0b3B1cyAoQmxvb2R5aGFycnksIDIyLiBNYWkgMTk5NiwgMTE6NDk6MDApOgp+IyEgcm49VGVycm9yaXN0IHJ0PTgzMjc1ODQyMQp+IyEgdGlkPTgzMjcyMjY1NQpWaWVsZWljaHQgaGF0IGVyIGphIFByb2JsZW1lIGRpZSBLYXJ0ZSByaWNodGlnIHp1IHplaWNobmVuPyAgOy0pKQoKQkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBxdWVzdCBva3RvcHVzIChDYXVubywgMjIuIE1haSAxOTk2LCAxMzozMDo1Mik6Cn4jISBybj1TY2hva28gcnQ9ODMyNzIyNjU1Cn4jISB0aWQ9ODMyNzIyNjU1CgpTbyBuZXJ2aWcgZmluZGUgaWNoIHNpZSBhdWNoIG5pY2h0LgpXYXMgc3RvZXJ0LCBzaW5kIGRpZSBhdXNnYWVuZ2UsIGRpZSBtdXNzIG1hbiBuYWVtbGljaCBhYmt1ZXJ6ZW4sIHVuZCBkYXMgd2Vpc3MKa2VpbmVyLgpBdXNzZXJkZW0gaXN0IGRlciBUYXVjaGVyYW56dWcgemllbWxpY2ggc2Nod2VyLCBtYW4ga2FubiBncmFkZSBub2NoIHZpZXIgcmluZ2UKdHJhZ2VuLCB3ZW5uIG1hbiBhbGxlcyBhYmxlZ3QuIHVuZCBkYW5uIHdpcmQgbWFuIGRlbiBhbnp1ZyBhdWNoIG5pY2h0IG1laHIKbG9zLgoKRGFzIExhYnlyaW50aCBmaW5kZSBpY2ggYWJlciBhbHMgZWluZXMgZGVyIGJlc3RlbiAtIGRlciBHYWcsIGRlciBkYSBkcmluCnN0ZWNrdCwgZGEgbXVzcyBtYW4gZHJhdWYga29tbWVuIQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGVpc3MgU3BTIChKb3JpbmRlLCAyMi4gTWFpIDE5OTYsIDEzOjU2OjQzKToKU28sIGpldHp0IHNhZyBpY2ggbWFsIG1laW5lIE1laW51bmcuIFdvaGVyIHNvbGwgaWNoIGJpdHRlIDYwNiBTdHVmZW5wdW5rdGUKbmVobWVuLiBEYXMgbWFjaHQgZG9jaCBlaHJsaWNoIGtlaW5lbgpTcGFzcyBtZWhyLiBEYSBrYW5uIGljaCBqYSBiaXMgenVyIFJlbnRlIHNwaWVsZW4gdW5kIG1pY2ggbmllIGVyaG9laGVuIDooCgoKCgpKb3JpbmRlIGZpbmRldCBkYXMgYWxsZXMgc2VociBhZXJnZXJsaWNoISEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBxdWVzdCBva3RvcHVzIChMZWZ0eSwgMjIuIE1haSAxOTk2LCAxNDoxNToxMik6Cn4jISBybj1DYXVubyBydD04MzI3NjQ2NTIKfiMhIHRpZD04MzI3MjI2NTUKSGFlID8KMS4gZnVlciBkaWUgQXVzZ2FlbmdlIGthbm4gbWFuIHNpY2ggc2NobmVsbCBhbGlzIG1hY2hlbgoyLiBzdGFuZGFyZG1hZXNzaWcga2FubiBtYW4gZGEgc2Nob24gYWJrdWVyenVuZ2VuIHZlcndlbmRlbiAoc3A9c3BhbHRlKQozLiB3aXJkIG1hbiBkZW4gVGF1Y2hlcmFuenVnIGdsZWljaCBiZWltIGFsdGVuIE1hbm4gd2llZGVyIGxvcwoKdW5kIHdlbm4gZHUgbWljaCBmcmFnc3QsIGthcnRvZ3JhcGhpZXJlbiBtdXNzIG1hbiBkYSBuZXQgd2VpdGVyLCBkYSBkYXVlcnQgZGFzCmthcnRvZ3JhcGhpZXJlbiBsYWVuZ2VyLCBhbHMgd2VubiBtYW4gc28gc3VjaHQuCgpMZWZ0eSwgZGVyIHNpY2ggc2NobGVjaHRlciBhbHMgZGVyIER1cmNoc2Nobml0dCBhdXNrZW5udAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGVpc3MgU3BTIChCb2luZywgMjIuIE1haSAxOTk2LCAxNDoxNToyNyk6Cn4jISBybj1Kb3JpbmRlIHJ0PTgzMjc2NjIwMwp+IyEgdGlkPTgzMjc2NjIwMwpJY2ggdmVyc3RlaCBEZWluZSBBdWZyZWd1bmcgbmljaHQsIER1IGJyYXVjaHN0IGZ1ZXIgTGV2ZWwgMTYgZXR3YSAxMDAwCmJpcyAxMTAwIEFQcyAoZ2VzY2hhZXR6dCksIER1IGhhc3Qga25hcHAgdWViZXIgNTAwLCBEaXIgZmVobGVuIGFsc28gc293aWVzbwpub2NoIDUwMCAtIDYwMCBBUHMsIGVpbiBBUCBlcmdpYnQgZWluZW4gU3R1ZmVucHVua3QsIHNjaG9uIGhhc3QgRHUgZGVuIFdlcnQKZmFzdCBlcnJlaWNodCwgZGF6dSBrb21tZW4gbm9jaCBlaW4gcGFhciBGUHMgZGllIGVzIGJlaW0gUXVlc3RlbiBzb3dpZXNvCm5lYmVuYmVpIGdpYnQsIGZlcnRpZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcXVlc3Qgb2t0b3B1cyAoQ2F1bm8sIDIyLiBNYWkgMTk5NiwgMTQ6MTc6NTMpOgp+IyEgcm49TGVmdHkgcnQ9ODMyNzY3MzEyCn4jISB0aWQ9ODMyNzIyNjU1CgpHdXQsIGJlaW0gYW56dWcgaGFiIGljaCBtaWNoIGdlaXJydC4gU2Nod2VyIGlzdCBlciBhYmVyIHRyb3R6ZGVtCkRhcyBwcm9ibGVtIGJlaSBkZW4gYXVzZ2FlbmdlbiBpc3QsIGRhc3MgZGllIEFVU0dFU0NIUklFQkVORSBmb3JtIG5pY2h0CmFremVwdGllcnQgd2lyZC4gZGFzIHByb2JsZW0gaGF0dGUgZWJlbiBlcnN0IGplbWFuZCwgdW5kIGRlciB3YWVyZSBhbGxlaW5lCm5pY2h0IGF1ZiBkaWUgYWJrdWVyenVuZyBnZWtvbW1lbi4KVW5kIHdlbm4gbWFuIG51ciByZWluZ2VodCwgdW0gZGllIG11cmFlbmUgenUgdmVya25vdGVuLCBicmF1Y2h0IG1hbiBsZWlkZXIgZGllCmthcnRlLgoKQy4gTm8gLCBkZXIgc2ljaCBiZXNzZXIgYWxzIGRlciBkdXJjaHNjaG5pdHQgYXVza2VubnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBxdWVzdCBva3RvcHVzIChMZWZ0eSwgMjIuIE1haSAxOTk2LCAxNDoyNDo1NCk6Cn4jISBybj1DYXVubyBydD04MzI3Njc0NzMKfiMhIHRpZD04MzI3MjI2NTUKb2theSwgaGFiIGVpY2ggZmFsc2NoIHZlcnN0YW5kZW4gOikKYWJlciBmdWVyIGRpZSBtdXJhZW5lIGJyYXVjaCBtYW4ga2VpbmUga2FydGUgLi4uIGRhZnVlciBoYXQgbWFuIG5lIHp0LWxpc3RlCipncmlucyoKTGVmdHksIGRlciBzaWNoIGJhbGQgYmVzc2VyIGFscyBkZXIgRHVyY2hzY2huaXR0IGF1c2tlbm5lbiB3aWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBxdWVzdCBva3RvcHVzIChDYXVubywgMjIuIE1haSAxOTk2LCAxNDo0NToxNSk6Cn4jISBybj1MZWZ0eSBydD04MzI3Njc4OTQKfiMhIHRpZD04MzI3MjI2NTUKClVuZCBkYSBpc3QgZG9jaCBlaW4gRmVobGVyLgpXZW5uIGljaCBlaW5nZWJlICJnaWIgYW56dWcgYW4gc2VlbWFubiIga29tbXQgZG9jaCB0YXRzYWVjaGxpY2ggZGllIGFudHdvcnQ6CiJEZXIgU2VlbWFubiBoYXQgZGlyIGRlbiBBbnp1ZyBudXIgZ2VsaWVoZW4uIEVyIHdpcmQgc2VociBzYXVlciBzZWluLCB3ZW5uCiBEdSBpaG0gZGVuIEFuenVnIG5pY2h0IHdpZWRlciB6dXJ1ZWNrYnJpbmdzdC4iCgo/IT8hPyE/CgpFcmtsYWVyIG1pciBkYXMgbWFsIGVpbmVyLCAgICAgICAgICAgICAgICAgICAgICAgQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHF1ZXN0IG9rdG9wdXMgKEJvaW5nLCAyMi4gTWFpIDE5OTYsIDE0OjUwOjExKToKfiMhIHJuPUNhdW5vIHJ0PTgzMjc2OTExNQp+IyEgdGlkPTgzMjcyMjY1NQpEYXMgaW4gZGVyIFplaXR1bmcgenUgc2NocmVpYmVuIGJyaW5ndCBpbiBkZXIgUmVnZWwgbmljaHRzLCBtYWNoIGVpbmVuCmJ1Zy1yZXBvcnQgYW4gZGVyIGVudHNwcmVjaGVuZGVuIFN0ZWxsZSB1bmQgaWNoIGJpbiBtaXIgc2ljaGVyLCBkYXNzClJ1bWF0YSBzaWNoIGRydW0ga3VlbW1lcm4gd2lyZC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBxdWVzdCBva3RvcHVzIChBc21vZGlzLCAyMi4gTWFpIDE5OTYsIDE2OjI0OjI3KToKfiMhIHJuPUNhdW5vIHJ0PTgzMjc2NDY1Mgp+IyEgdGlkPTgzMjcyMjY1NQpUamEsIGRhbm4gc2FtbWVsIG1laHIgWnRzIHVuZCBkdSBrYW5uc3QgYXVjaCBtZWhyIHRyYWdlbiA6KQpJc3QgZWJlbiBrZWluIEFuZmFlbmdlcnF1ZXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2VyZ2VsZWkgKENyYWlnLCAyMy4gTWFpIDE5OTYsIDE2OjQxOjQ2KToKClZvcndlZzogSWNoIGZpbmRlIGRhcyBuZXVlIFN0dWZlbnN5c3RlbSBwcmluemlwaWVsbCB3aXJrbGljaCBndXQuCkRlbm5vY2ggaGFiZSBpY2ggR3J1bmQgbWljaCB6dSBiZXNjaHdlcmVuLiBpY2ggaGFiZSBhbHMgImFlbHRlcmVyIFNwaWVsZXIiCmVyaGVibGljaGUgTmFjaHRlaWxlLiBXZWlsIGljaCBuYWVtbGljaCBkaWUgRm9yc2NoZXJwdW5rdGUgZnVlciBldHdhIDI1IFF1ZXN0cwpuaWNodCBiZWtvbW1lbiBoYWJlLiBJY2ggcGxhZWRpZXJlIGRhIG5hY2ggd2llIHZvciBmdWVyIGVpbmUgcGF1c2NoYWxlCkVudHNjaGFlZGlndW5nIGZ1ZXIgUXVlc3RzLCBkaWUgbWFuIGFubm8gVG9iYWsgZ2Vsb2VzdCBoYXQuIERpZXNlciBWb3JzY2hsYWcKc3RvZXNzdCBiZWkgZGVuIE1hZ2llcm4gb2ZmZW5iYXIgYXVmIHdlbmlnIEdlZ2VubGllYmUuIFdlaWwgbmFlbWxpY2gKZGllIFNwaWVsZXIgc2ljaCB1bnRlcnNjaGllZGxpY2ggZ3V0IHVtc2NoYXVlbiAoV2FyZ29uKS4gU3RpbW10LgpFcyB3YWVyZSBkYW5uIHNpY2hlciBzbywgZGFzcyBlaW5pZ2UgenV2aWVsZSBGUHMgdmVyZ3VldGV0IGJla2FlbWVuLiBFaW5pZwpBbmRlcmUgU3BpZWxlciB3dWVyZGVuIG1vZWhnbGljaGVyd2Vpc2UgbmljaHQgc292aWVsZSBhbmdlcmVjaG5ldCBiZWtvbW1lbiwKd2llIHNpZSBlaWdlbnRsaWNoIGdlZnVuZGVuIGhhYmVuLiBBYmVyIGRhcyB3YWVyZSBkb2NoIGFsbGVtYWwgZXJ0cmFlZ2xpY2hlcgphbHMgZGllIGRlcnplaXRpZ2UgU2l0dWF0aW9uLiBVbSBhbiBkaWUgRnBzIHp1IGtvbW1lbiwgbXVlc3N0ZSBpY2ggbmFoZXp1IGFsbGUKUXVlc3RzIG5vY2ggZWluIHp3ZWl0ZXMgTWFsIGR1cmNoc3BpZWxlbi4gRGFzIGZpbmRlIGljaCBlaW5lIHppZW1saWNoZQpadW11dHVuZywgd2VpbCBkYXMgYmVpIG1laW5lbSBQZW5zdW0gMyBiaXMgNiBNb25hdGUgQXVmd2FuZCBiZWRldXRldC4gSWNoCmZpbmRlLCBoaWVyIGhhYmVuIGRpZSBNYWdpZXIgYmVpIGRlciBBYndhZWd1bmcgZ2FueiBzY2hvZW4gZGFuZWJlbmdlZ3JpZmZlbi4KRGFzIGdhbnplIGhhdHRlIGV0d2EgaW4gbWVpbmVtIEZhbGwgbmFlbWxpY2ggZGllIEF1c3dpcmt1bmcsIGRhcyBpY2ggaW4gbWVpbmVuCkdpbGRlbmZhZWhpZ2tlaXRlbiBlcmhlYmxpY2ggaGVyYWJnZXNldHp0IHdvcmRlbiBiaW4uIEVzIGhhdCBtaWNoIE1vbmF0ZQpnZWtvc3RldCwgZW5kbGljaCBlaW5pZ2UgU3BlbGxzIGF1ZiAicGVyZmVrdCIgenUgYnJpbmdlbi4gVW1zb25zdCwgd2VpbCBpY2gKZHVyY2ggZGllIG5ldWUgUmVnZWx1bmcgd2llZGVyIGRldXRsaWNoIGFiZ2VzdHVmdCB3dXJkZS4gTm9jaG1hbDogRGllCkdydW5kcmNpaHR1bmcgZGVzIExldmVsc3lzdGVtcyBmaW5kZSBpY2ggdm9sbCBrb3JyZWt0LCBhYmVyIGRpZXNlIHdpcmtsaWNoCnNlaHIgdW5hbmdlbmVobWVuIE5lYmVud2lya3VuZ2VuIG11ZXNzZW4gZG9jaCB3aXJrbGljaCBuaWNodCBzZWluLgoKSWNoIGFwcGVsbGllcmUgYW4gZGllIFNwaWVsbGVpdGVyOiBMYXNzdCBhZWx0ZXJlbiBTcGllbGVybiBHZXJlY2h0aWdrZWl0CndpZGVyZmFocmVuIQoKTm9jaHdhczogRGllIFNjaHdlbGxlIHp1bSBTZWhlciBzb2xsdGUgbWVpbmVzIEVyYWNodGVucyBzaW5udm9sbCBhdWYKU3BpZWxlcnN0dWZlIDMwIGhvY2hnZWxlZ3Qgd2VyZGVuLiBEYXMgc29sbHRlIGRvY2ggbnVuIHp1IHNjaGFmZmVuIHNlaW4sIGVnYWwKYXVmIHdlbGNoZW0gV2VnLgoKTGFzc3QgZXMgZXVjaCBtYWwgZHVyY2ggZGVuIEtvcGYgZ2VoZW4KCkV1ZXIgQ3JhaWcsIG5vY2ggbmljaHQgZ2FueiBydWluaWVydC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vZXJnZWxlaSAoVGVycm9yaXN0LCAyMy4gTWFpIDE5OTYsIDE2OjU2OjE1KToKfiMhIHJuPUNyYWlnIHJ0PTgzMjg2MjUwNgp+IyEgdGlkPTgzMjg2MjUwNgoKSmV0enQgcmVpY2h0cyBhYmVyLiBTcGllbGVyc3R1ZmUgMzA/CkR1IHdlaXN0IHdvaGwgbmljaHQgd2llIHNjaHdlciBlcyBpbSBNb21tZW50IGlzdCBTZWhlci4KU2llIHNhZ2VuIHp3YXIgZXMgZ2VodCBuYWNoIFN0dWZlbnB1bmt0ZW4gYWJlciBkYXMgaXN0IGJsb3NzIGRpZSBrbGVpbnN0ZSAKZGVyIEF1ZmdhYmVuIG1hbiBtdXNzIG5hZWhtbGljaCB3ZWl0ZXJoaW4gMTU4OCBBUHMgaGFiZW4gZGllIFF1ZXN0Z3J1cHBlbgplcmZ1ZWxlbiB1bmQgbW9lZ2xpc2NodCBub2NoIDEwMDAwMDAgRVBzLgpVbmQgd2VubiBkaWUgTWFncyBrb25zZXF1ZW50IHNlaW4gd29sbGVuIGRhbm4ga29lbm5lbiBTaWUgc2FnZW4gbnVyClN0dWZlbnB1bmt0ZSwgZGFubiBhbGxlcmRpbmdzIG1laHIgb2RlciBlYmVuIGRhcyBtaXQgZGVuIEFQcyB1bmQgRVBzIGxhc3Nlbgp1bmQgZGllIHN0dWZlbnB1bmt0ZSBzaW5kIHVuaW50ZXJlc3NhbnQgYWJlciBkYW5uIHdhZWhyZW4gd2lyIHdpZWRlciBiZWkgZGVtCnN5c3RlbSB3aWUgZnJ1ZWhlci4KTk9jaG1hbCBpY2ggYXBwZWxpZXJlIGFuIGRpZSBFTSB1bmQgc29uc3RpZ2UgZGllIGRlbmtlbiBzaWUgaGFiZW4gd2FzIHp1IHNhZ2VuCm51ciBTdHVmZW5wdW5rdGUgb2RlciBudXIgQVBzIHVuZCBFUHMuCgpUZXJyb3Jpc3Qgd2FlaHIgbmFjaCBTdHVmZW5wdW5rdGVuIHNjaG9uIFNlaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9lcmdlbGVpIChIaWdobGFuZGVyLCAyMy4gTWFpIDE5OTYsIDE2OjU2OjM1KToKfiMhIHJuPUNyYWlnIHJ0PTgzMjg2MjUwNgp+IyEgdGlkPTgzMjg2MjUwNgoqc2NocmF1YmUgc2VuZnR1YmUgYXVmKgoKSG0sIHdhZXJlIGRhcyB3aXJrbGljaCBzbyBzY2hsaW1tLCBkYXNzIG1hbCBqZWRlciBNYWdpZXIsCmRlciBlaW5lIEdlZ2VuZCBoYXQsIHdvIHp3YXIgZWluZSBxdWVzdCBzaXQsIGFiZXIgc29uc3QKaGVyemxpY2ggd2VuaWcgbG9zLCBtYWwgc2VpbmUgRlAgemFlaGx0IHVuZCBkYXMgZ2FuemUgZ2VzYW1tZWx0IHdpcmQ/ClVuZCBkYXNzIGRpZSBhbHRlbiBTcGllbGVyIGZ1ZXIgaWhyZSBhbHRlbiBxdWVzdHMgZGFubiBoYWx0IHNvIHVuZCBzbyB2aWVsClByb3plbnQgZGllc2VyIEZQIGJla29tbWVuPwpWZXJiZXNzZXJ1bmcgenUgb2JlbjogSGFsdCBkaWUgRlAgemFlaGxlbiwgZGllIG1hbiBpbiBkZXIgcXVlc3Qgc2VsYmVyCmZpbmRlbiBrYW5uLgoKKnNjaHJhdWJlIHNlbmZ0dWJlIHp1KgoKICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9lcmdlbGVpIChMb2NvLCAyMy4gTWFpIDE5OTYsIDIxOjE5OjA5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODMyODYzMzk1Cn4jISB0aWQ9ODMyODYyNTA2Ci4uLiB6dW1hbCBpY2ggbWljaCAxMDAlIGVyaW5uZXJlLCBkYXNzIGVzIGJlaSBkZW4gUGxhbnVuZ2VuIHp1IGRlbiBGUCBoaWVzcywKZGFzcyBhbHRlIFNwaWVsZXIgRlAgaW4gUXVlc3RzLCBkaWUgc2llIHNjaG9uIGhhYmVuLCBhbmdlcmVjaG5ldCBiZWtvbW1lbi4KT2huZSBkaWVzZXMgVmVyc3ByZWNoZW4gaGFldHRlIGVzIG1laHIgV2lkZXJzdGFuZCBnZWdlYmVuLCBnYXJhbnRpZXJ0LgpPZGVyIHdhciBkYXMgZ2FyIGtlaW4gVmVyc3ByZWNoZW4sIHNvbmRlcm4gZWluIFZlcnNwcmVjaGVyPwoKTWVpbiBlcnN0ZXIgdW5kIHdhaHJzY2hlaW5saWNoIGxldHp0ZXIgQXJ0aWtlbCB6dW0gVGhlbWEsCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9lcmdlbGVpIChQcmVkYXRvciwgMjMuIE1haSAxOTk2LCAyMTo1MTozMik6Cn4jISBybj1Mb2NvIHJ0PTgzMjg3OTE0OQp+IyEgdGlkPTgzMjg2MjUwNgpkYSBmYWxsZW4gbWlyIDIgc2FjaGVuIGVpbgoxLiAnYWx0c2VoZXInIHNvbGx0ZW4gZG9jaCBkaWUgZnAncyBzdGFlcmtlciBhbmdlcmVjaG5ldCBiZWtvbW1lbiBhbHMKJ25ldXNlaGVyJwogICB3YXMgaXN0IGRhcnVhcyBnZXdvcmRlbihzb25zdCBmaW5kZSBpY2ggZXMgc2NoZWkqKmUpCjIuIGVzIHNvbGx0ZSBhdWNoIGxpc3RlbiBnZWJlbiwgZGllIG51ciBuYWNoIGVwcywgZnBzLCAodm9uIG1pciBhdXMgYXVjaCBub2NoCmFwcykgZ2VvcmRuZXQgc2luZAogIHdhciBtYWwgaW0gZ2VzcHJhZWNoLCB3dWVyZGUgYXVjaCBkaWUgbW90aXZhdGlvbiB3aWVkZXIgc3RhZXJrZW4sIHdlbm4gc2ljaApsZXV0ZSB3aWUgc2x5Zm94LCByb2FkcnVubmVyLCB1bmQgZGllIGFuZGVyZW4gbWV0emVsYnJ1ZWRlciBpbiBkaWVzZW4gbGlzdGVuCmdhbnogdm9ybmUgc2VoZW4sIHdhZXJlIGF1Y2ggd2llZGVyIG4gYW5yZWl6LCBtYWwgbmUgd2FmZmUgenUgenVlY2tlbi4uLgpQcmVkYXRvciwgZmluZGV0IGRhcyBuZXVlIFN5c3RlbSBlaW5mYWNoIEtMQVNTRQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTm9lcmdlbGVpIChBbmFraW4sIDIzLiBNYWkgMTk5NiwgMjE6NTM6MTApOgp+IyEgcm49UHJlZGF0b3IgcnQ9ODMyODgxMDkyCn4jISB0aWQ9ODMyODYyNTA2CkhtIGFsc28genUgTG9jbzogRWNodCBkYXMgd2FyIHNvIGFuZ2VkYWNodCB1bmQgamV0enQgbmljaHQgZ2VtYWNodD8gVHN0cy4uLgpadSBQcmVkYXRvcjogQWx0c2VoZXIgYmVrb21tZW4gZ2xhdWIgaWNoIDggU3RwIHBybyBGUCBOZXVzZWhlciBudXIgN1N0cAooZ2xhdWIgaWNoKS4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vZXJnZWxlaSAoUHJlZGF0b3IsIDIzLiBNYWkgMTk5NiwgMjE6NTU6NDMpOgp+IyEgcm49QW5ha2luIHJ0PTgzMjg4MTE5MAp+IyEgdGlkPTgzMjg2MjUwNgppY2ggaGF0dGUgd2FzIHZvbiA3IHVuZCA2IGdlaG9lcnQsIHZpZWxsZWljaHQga2FubiBkYXMgbWFsIG4gbWFnaWVyCmtsYXJzdGVsbGVuIDopClByZWRhdG9yLCBoYXR0ZSBoZXV0ZSBhdWYgZWluZW4gc2NobGFnIG1hbCAxNCBzdHAncyBtZWhyLCBnZWh0IGFiZXIgc2NobGVjaHQKZHVyY2ggOCB6dSB0ZWlsZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5vZXJnZWxlaSAoQW5ha2luLCAyMy4gTWFpIDE5OTYsIDIxOjU2OjA1KToKfiMhIHJuPVByZWRhdG9yIHJ0PTgzMjg4MTM0Mwp+IyEgdGlkPTgzMjg2MjUwNgpKYWphIGthbm4gYXVjaCA3IHp1IDYgc2Vpbi4gOikKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vZXJnZWxlaSAoUmFmZmksIDIzLiBNYWkgMTk5NiwgMjI6Mzg6MTApOgp+IyEgcm49UHJlZGF0b3IgcnQ9ODMyODgxMDkyCn4jISB0aWQ9ODMyODYyNTA2CgpKYXUsIGluc2Jlc29uZGVyZSBQdW5rdCAyKSBlbnRzcHJpY2h0IGdlbmF1IG1laW5lciBNZWludW5nLgoKR3J1c3MKSC4KKFJhZmZpIGZpbmRldCBkYXMgbmV1ZSBzeXN0ZW0gamEgZ3J1bmRzYWV0emxpY2ggZ3V0LCBlciBoYWV0dGUgYWJlciBhbQpsaWVic3RlbiAxMDAwIFN5c3RlbWUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOb2VyZ2VsZWkgKEZ5dCwgMjQuIE1haSAxOTk2LCAwMjozMToyNyk6Cn4jISBybj1BbmFraW4gcnQ9ODMyODgxMTkwCn4jISB0aWQ9ODMyODYyNTA2CgpXZW5uIExvY28gZGFzIGpldHp0IHNvIHNhZ3QsIGtvZW5udGUgaWNoIG1pciBlaW5iaWxkZW4sIGRhcyBzY2hvbiBtYWwKZ2Vob2VydCB6dSBoYWJlbi4uLiBkZXIgQm9udXMgdm9uIDEgc3AgbWVociBmdWVyIEFsdHNlaGVyIGlzdCAnbiBhKSAnbgpiaXNzY2hlbiB1bmRpZmZlcmVuemllcnQgdW5kIGIpIHppZW1saWNoIGtuYXBwLCB3b2JlaSBpY2ggYikgc3RhZXJrZXIKd2ljaHRlbiB3dWVyZGUuIFdhcyB3dWVyZGUgZGVubiBkYWdlZ2VuIHNwZWNoZW4sIGVpbmVuIGdld2lzc2VuIFByb3plbnRzYXR6CmRlciBGUCBpbiBkZW4gZ2Vsb2VzdGVuIFF1ZXN0cyBlaW5mYWNoIGZ1ZXIgZGVuICdBbHRzZWhlcicgYWxzICdnZWZ1bmRlbicKenUgbWFya2llcmVuPyBEYW5uIGhhZXR0ZW4gYmVzb25kZXJzIGVudGh1c2lhc3Rpc2NoZSBMZXV0ZSBub2NoIGRpZSBDaGFuY2UsCmRpZSB6dSAxMDAlIGZlaGxlbmRlbiBpbmQgZXIgUXVlc3QgenUgZmluZGVuIHVuZCBkaWUgYW5kZXJlbiBtdWVzc3RlbiBuaWNodAoqdW5iZWRpbmd0KiBub2NoIG1hbCBpbiBkaWUgYWx0ZW4gUXVlc3RzIHJlaW4sIHVtIG5vY2ggZ3V0IGltIE1pdHRlbGZlbGQKbWl0bWlzY2hlbiB6dSBrb2VubmVuLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb2VyZ2VsZWkgKEpvZiwgMjQuIE1haSAxOTk2LCAwOToyMTozNSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTgzMjg2MzM5NQp+IyEgdGlkPTgzMjg2MjUwNgoKIFUuYS4gaXN0IG5pcmdlbmR3byBpbSBTcGllbGVyIHZlcm1lcmt0LCBXQU5OIGVyIGVpbmUgUXVlc3QgZ2Vsb2VzdCBoYXQ7Cnp1ZGVtIGdpYnQgZXMgYmVpbSBGUC1Qcm9ibGVtIGtlaW5lIFp1b29yZG51bmcgRlA8LT5RdWVzdC9SZWdpb24uIERhbWl0CnN0ZWxsdCBlaW5lIEVudHNjaGFlZGlndW5nIGVpbiBFUkhFQkxJQ0hFUyB0ZWNobmlzY2hlcyBQcm9ibGVtIGRhci4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vZXJnZWxlaSAoSm9mLCAyNC4gTWFpIDE5OTYsIDA5OjIyOjI2KToKfiMhIHJuPVByZWRhdG9yIHJ0PTgzMjg4MTA5Mgp+IyEgdGlkPTgzMjg2MjUwNgoKICdBbHRzZWhlcicgYmVrb21tZW4gZGllIEZQLCBkaWUgc2llIGZpbmRlbiwgaW4gZGVyIFRhdCBob2VoZXIgYW5nZXJlY2huZXQKYWxzCm5ldWVyZSBTcGllbGVyLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9lcmdlbGVpIChIYXIsIDI0LiBNYWkgMTk5NiwgMDk6NTM6NDIpOgp+IyEgcm49Sm9mIHJ0PTgzMjkyMjQ5NQp+IyEgdGlkPTgzMjg2MjUwNgpEYXMgYWJrbGFwcGVybiBhbHRlciBRdWVzdCBzdGVsbCBqZWRvY2ggYXVjaCBtZWluZXIgTWVpbnVuZyBuYWNoIGVpbgpFUkhFQkxJQ0hFUyBNb3RpdmF0aW9uc3Byb2JsZW0gZGFyIDotKQoKSGFyIChlaW4gYmlzc2NoZW4gbHVzdGxvcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vZXJnZWxlaSAoVHp1aW9wLCAyNC4gTWFpIDE5OTYsIDEyOjE0OjExKToKfiMhIHJuPUhhciBydD04MzI5MjQ0MjIKfiMhIHRpZD04MzI4NjI1MDYKSWNoIGthbm4gbWljaCBhdWNoIGlyZ2VuZHdpZSBlcmlubmVybiwgZGFzcyBmdWVyICdBbHRzZWhlcicgZGllIEZQIGF1cwpkZW4gZ2Vsb2VzdGVuIFF1ZXN0cyBhbmdlcmVjaG5ldCB3ZXJkZW4gc29sbHRlbi4KSmV0enQgenUgc2FnZW4sIGRhcyBnaW5nZSB0ZWNobmlzY2ggbmljaHQsIGlzdCBlaW4gQXJtdXRzemV1Z2VuaXMuCkRhcyBoYWV0dGV0IGlociB2b3JoZXIgdHVuIHNvbGxlbiAhIAoKVHp1aW9wIChpc3QgemllbWxpY2ggZW50dGFldXNjaHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb2VyZ2VsZWkgKEhpZ2hsYW5kZXIsIDI0LiBNYWkgMTk5NiwgMTU6MjI6MzcpOgp+IyEgcm49Sm9mIHJ0PTgzMjkyMjQ5NQp+IyEgdGlkPTgzMjg2MjUwNgpTY2hhZGUuClR1ZWNrZW4gZGVyIFRlY2huaWsuIERhZ2VnZW4gaXN0IHdvaGwga2VpbiBLcmF1dCBnZXdhY2hzZW4uCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOb2VyZ2VsZWkgKFJhZmZpLCAyNC4gTWFpIDE5OTYsIDE1OjI2OjE1KToKfiMhIHJuPUpvZiBydD04MzI5MjI1NDYKfiMhIHRpZD04MzI4NjI1MDYKCkFlaCBXaWVCaXR0ZT8KCkhhYiBpY2ggZGFzIGpldHp0IHJpY2h0aWcgdmVyc3RhbmRlbiBKb2YgPyBBbHRTRUhFUiBuaWNodCBBbHRTUElFTEVSID8KCkdydXNzCkguCihTYXVlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vZXJnZWxlaSAoQW5hdG9sLCAyNC4gTWFpIDE5OTYsIDE1OjQ0OjAwKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODMyOTQ0MTU3Cn4jISB0aWQ9ODMyODYyNTA2Ci8qCkFlaG0uLi4KSWNoIGdsYXViZSwgZXMgd2FyIHZvbiB2b3JuZWhlcmVpbiBrbGFyLCBkYXNzIGlyZ2VuZGVpbmUgUGVyc29uZW5ncnVwcGUKZGllIC0gbWl0IFZlcmxhdWIgLSBnZWFyc2NodGUgc2VpbiB3aXJkLiBKZXR6dCBoZXVsZW4gbWFjaHQgZXMgbmljaHQgCnZpZWwgYmVzc2VyLCBmdWVyY2h0ZSBpY2ggOy0vLgoKSW0gVWVicmlnZW4gaXN0IFJpbmdvciBlaW4gQWx0c2VoZXIuIFdlbm4gbWFuIGRpZSBGUHMgdm9uIE5ldS0gdW5kCkFsdHNlaGVyIG5vY2ggdW50ZXJzY2hpZWRsaWNoZXIgZ2V3aWNodGV0LCBzaW5kIGRpZSwgZGllIG5ldSB1bmQKZG9jaCBhbHQgc2luZCAoYWxzbyBzaWNoIGt1cnogdm9yIGRlbSAxMC5Ob3YgZWluZ2Vsb2dndCBoYWJlbiksIGRvY2ggCmV0d2FzIHp1IHNlaHIgYmV2b3J0ZWlsdCwgb2Rlcj8KCkVpbmVuICdnZXdpc3NlbicgUHJvemVudHNhdHogYW4gRlBzIGluIFF1ZXN0cyBlaW5mYWNoIGdlc2V0enQgYmVrb21tZW4sIAp3ZWlsIG1hbiBkaWUgUXVlc3QgZ2VtYWNodCBoYXQsIGJldm9yIGVzIEZQcyBnYWIuLi4gbmFqYS4gSWNoIGJpbiBtYWwKZWJlcmhlYmxpY2ggd2llIGltbWVyIHVuZCBiZWhhdXB0ZSwgZGFzcyBpY2ggei5CLiBtaXQgbWVpbmVtIEluZmVybm8tCnF1ZXN0ZXIgc28gemllbWxpY2ggYWxsZSBGUHMgaW4gZGllc2VyIFF1ZXN0IGdlZnVuZGVuIGhhYmVuIG11ZXNzdGUuIEJlaQoyNy0zMCBTdHVuZGVuIGludGVuc2l2LVF1ZXN0ZW4gcmVjaG5lIGljaCBlaWdlbnRsaWNoIG1pdCBuaWNodHMgYW5kZXJlbS4KV2FlcmUgZG9jaCBrbGFzc2UsIHdlbm4gZGllLCBkaWUgSW5mZXJubyB2aWEgS0wgZ2VzcGllbHQgaGFiZW4gKHVuZCBudXIKaW4gZGVyIEJpYmxpb3RoZWsgaWhyZSBQcm9ibGVtZSBoYXR0ZW4pLCBhdWNoIGFsbGUgRlBzIGVpbmdldHJhZ2VuIApiZWtvbW1lbiB3dWVyZGVuLi4uCkZhbHNjaGVyIFN0b2x6PwpNYXkgYmUuCgpBYmVyIHdlbm4gaW4gWnVrdW5mdCBhbGxlcyBmYWlyIGFibGFldWZ0IC0gYWxzbyBkaWUgImp1ZW5nZXJlIEdlbmVyYXRpb24iCmtlaW5lIFVuZ2VyZWNodGlna2VpdGVuIGVydHJhZ2VuIG11c3MgLSBmaW5kZSBpY2ggbWljaCBkYW1pdCBhYiwgbmllIHNvdmllbApGUHMgenUgaGFiZW4sIHVtIGluIGRlciBvYmVyZW4gSGFlbGZ0ZSBkZXIgVE9QbGlzdGUgbWl0bWlzY2hlbiB6dSBrb2VubmVuLgoKU2NoYWRlIG51ciwgZGFzcyBkaWUgR2lsZGVubWFnaWVyIHNlaHIgc3RhcmsgYXVmIFN0dWZlbnB1bmt0ZSBhdWZiYXVlbi4gOigKKi8KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vZXJnZWxlaSAoTXVwZmVsLCAyNC4gTWFpIDE5OTYsIDE1OjQ4OjUxKToKfiMhIHJuPVR6dWlvcCBydD04MzI5MzI4NTEKfiMhIHRpZD04MzI4NjI1MDYKRGFzIHdhciBkb2NoIG51ciBlaW5lIE1pa3JvZm9ucHJvYmUuLi4gYWVoLi4uIG5hamEgaXJnZW5kd2llIG11c3N0ZSBtYW4gZXVjaApkaWUgU2FjaGUgZG9jaCBzY2htYWNraGFmdCBtYWNoZW4uLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOb2VyZ2VsZWkgKFR6dWlvcCwgMjQuIE1haSAxOTk2LCAxNjozMzo1MSk6Cn4jISBybj1BbmF0b2wgcnQ9ODMyOTQ1NDQwCn4jISB0aWQ9ODMyODYyNTA2CkRhbWl0IHVudGVyc3RlbGxzdCBEdSBtaXIgamV0enQgYWxzbywgZGFzcyBpY2ggbWVpbmUgUXVlc3RzIG1pdCBLTApnZW1hY2h0IGhhYmUhCkRhbmtlLCBhYmVyIGRhbWFscyBnYWIncyBzb3dhcyBub2NoIGdhcm5pY2h0IDopKQoKVHp1aW9wCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOb2VyZ2VsZWkgKEhhciwgMjQuIE1haSAxOTk2LCAxNjo1Njo1NSk6Cn4jISBybj1UenVpb3AgcnQ9ODMyOTQ4NDMxCn4jISB0aWQ9ODMyODYyNTA2CkljaCBoYWJlIG1pY2ggYXVjaCBlaW4gYmlzc2NoZW4gZnJ1ZWhlciBkYXMgZXJzdGUgbWFsIGVpbi0KZ2Vsb2dndCBhbHMgZGllIG1laXN0ZW4gYW5kZXJlbiAiQWx0c2VoZXIiLCBLTHMgd2FyZW4gZGEgZWluIEZyZW1kd29ydCB1bmQgCmFjdWggd2VubiBlcyAgIkhpbnRzIiBnYWIsIGhhdCBtYW4gZG9jaCBlaGVyIGdlcXVlc3RldCB1bSBTcGFzcyB6dSBoYWJlbiwgZGFzCkF1ZnN0ZWlnZW4gdW5kIG1laHIga29lbm5lbiB3YXIgZWhlciBlaW4gYW5nZW5laG1lciBOZWJlbmVmZmVrdC4gV2VubiBtYW4gYWJlcgpzbyBsYW5nZSBoaWVyIHNlaW5lIHplaXQgdmVyYnJhY2h0IGhhdCwgbW9lY2h0ZSBtYW4gZG9jaCBlaW4gcGFhciBQcml2aWxlZ2llbgpnZW5pZXNzZW4gdW5kIG5pY2h0LCB3aWUgZ2VzY2hlaGVuLCBiZWkgZWluZW0gR2lsZGVud2VjaHNlbCBtYWwgZWJlbiAzMDAgU3RwCnZlcmxpZXJlbiwgdm9uIGRlbiBGcHMgZ2FueiB6dSBzY2h3ZWlnZW4uCkF1c3NlcmRlbSwgd2VubiBlcyBzbyBzY2h3ZXIgaXN0LCBkaWUgZ2VuYXVlIEFuemFobCB2b24gU3RzIGZ1ZXIgZGllIFF1ZXZvbgpGcHMgZnVlciBkaWUgUXVlc3RzIHp1IGdlYmVuLCB3YXJ1bSBnaWJ0IG1hbiBkYW5uIG5pY2h0IGVpbmZhY2ggZWluIHBhYXIgbWVocgooKmdyaW5zKikKCkhhciAoZ2VsYW5nd2VpbHQgdW5kIHNlbmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOb2VyZ2VsZWkgKFd1ciwgMjQuIE1haSAxOTk2LCAyMDozNDoyMyk6Cn4jISBybj1BbmF0b2wgcnQ9ODMyOTQ1NDQwCn4jISB0aWQ9ODMyODYyNTA2Ck5hamEsIEFuYXRvbC4gTWFjaHMgZG9jaCB3aWUgaWNoLiBLYXVmIGRpciBlaW5lbiBrbmFsbHJvdGVuIEFwZmVsLCB3YXNjaCBkZW4KYW4gZWluZW0ga2xhcmVuIEJhY2ggYWIgdW5kIGJlaXNzZSBoZXJ6YWZ0IHJlaW4uIFNvd2FzIGhpbGZ0IFd1bmRlciEgKG1hbmNobWFsCmplZGVuZmFsbHMpLiBJY2ggaGFiIG1pY2ggamVkZW5mYWxscyBkYW1pdCBhYmdlZnVuZGVuIHp1bWVpc3QgZGVyCmJlbmFjaHRlaWxndGUgenUgc2Vpbi4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9lcmdlbGVpIChGeXQsIDI0LiBNYWkgMTk5NiwgMjI6MTc6MDcpOgp+IyEgcm49Sm9mIHJ0PTgzMjkyMjQ5NQp+IyEgdGlkPTgzMjg2MjUwNgoKRXMgbWFnIG5pY2h0IGltIFNwaWVsZXIgdmVybWVya3Qgc2Vpbiwgd2FubiB3ZXIgd2VsY2hlIFF1ZXN0IGJlc3RhbmRlbgpoYXQsIGVzIHN0ZWh0IGFiZXIgaW4gZGVyIFJlZ2VsIGluIGRpdmVyc2VuIExvZ2ZpbGVzLiBEaWUgTXVlaGUsIGRpZSBtYWwKZHVyY2h6dWFja2VybiBzb2xsdGUgaW0gVmVyZ2xlaWNoIHp1ciBFaW5mdWVocnVuZyBkZXMgbmV1ZW4gU3R1ZmVuc3lzdGVtcwp2ZXJuYWNobGFlc3NpZ2JhciBzZWluLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTm9lcmdlbGVpIChKb2YsIDI2LiBNYWkgMTk5NiwgMDM6MTE6NTgpOgp+IyEgcm49UmFmZmkgcnQ9ODMyOTQ0Mzc1Cn4jISB0aWQ9ODMyODYyNTA2CgogQXVjaCBBbHRTUElFTEVSOyBnZW5hdWVyZ2VzYWd0IGhhZW5ndCBlcyB2b20gRGF0dW0gZGVzIDEuIExvZ2lucyBhYi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5vZXJnZWxlaSAoRmV1ZXJ3ZWhyLCAyNy4gTWFpIDE5OTYsIDE5OjM3OjI5KToKfiMhIHJuPUpvZiBydD04MzMwNzMxMTgKfiMhIHRpZD04MzI4NjI1MDYKSWNoIGtvbW1lIGVpbmZhY2ggbmljaHQgZHJ1ZWJlciB3ZWcuCkFsdHNwaWVsZXIsIEFsdHNlaGVyLiBTaWUgaGFiZW4gQmFlcnRlLCBSZW50ZSwgZWluZW4gU2NoYXVrZWxzdHVobCB1bmQgc2l0emVuCndhaHJzY2hlaW5saWNoCmF1ZiBlaW5lbSBCZXJnLiBNZWluIEdvdHQsIGljaCBrdWdlbCBzY2hvbiBzZWl0IE1pbnV0ZW4gbGFjaGVuZCBkdXJjaHMgWmltbWVyCjopCiAKTmljaHRzZGVzdG90cm90eiBmaW5kZSBpY2ggZXMgbmF0dWVybGljaCBhdWNoIG5pY2h0IGtudWZmaWcsIGFsbGUgUXVlc3Rlbgpub2NobWFsIG1hY2hlbiB6dQptdWVzc2VuLCBudXIgd2VpbCBkaWUgQWx0c2VoZXIgKHJvbGwpIGJlaSBkZXIgRWluZnVlaHJ1bmcgZGVzIFN0dWZlbnN5c3RlbXMKdWViZXJnYW5nZW4gd3VyZGVuLgogCkZldWVyd2VociAoa3VnZWxuZC4gSW1tZXJub2NoLiBCYWVydGUsIFJlbnRlLCBCZXJnLCB3ZWlzZS4gSGFoYSA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN0dWZlbnB1bmt0ZSAoTGF2aW5pYSwgMjcuIE1haSAxOTk2LCAyMjoyODowNyk6CkhhbGxvLAoKaWNoIGhhYiBlaW4gUHJvYmxlbSBtaXQgZGVuIFN0dWZlbnB1bmt0ZW4uIE5hY2ggbWVpbmVyIGxldHp0ZW4gUXVlc3QgaGFiZQppY2ggd2VuaWdlciBQdW5rdGUgZ2VoYWJ0IGFscyB2b3JoZXIuIFdhcnVtPyBFcyBzY2hlaW50IG5pY2h0IG51ciBtaXIgc28genUKZ2VoZW4uIERhcmYgbWFuIGpldHp0IGtlaW5lIFF1ZXN0cyBtZWhyIG1hY2hlbiBvZGVyIHdvcmFuIGxpZWd0IGRhcz8gV2FzCnNvbGwgbWFuIHR1bj8KClJhdGxvcywgTGF2aW5pYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN0dWZlbnB1bmt0ZSAoU2Nob2tvLCAyNy4gTWFpIDE5OTYsIDIyOjMyOjIxKToKfiMhIHJuPUxhdmluaWEgcnQ9ODMzMjI4ODg3Cn4jISB0aWQ9ODMzMjI4ODg3CmhtbW1tLi4uLgoKQWxzbyBpY2gga2FubiBkYXp1IG51ciBzYWdlbjogc2VpdCBUYWdlbiBtYWNoIGljaCBuaWNodHMgYW5kZXJlcyBhbHMgcnVtcmVubmVuCnVuZCBaVHMgc3VjaGVuLCBrZWluZSBRdWVzdCBmYXN0IGtlaW5lIE1vbnN0ZXIgc2NobGFjaHRlbi4gSWNoIGhhYiBpbiBkZXIgWmVpdApmYXN0IDIzMCBTVHAgZ2VtYWNodCA6KQoKQWxzbyBhbGxlcyBpbiBhbGxlbSBrYW5uIGRhcyBuZXVlIFN5c3RlbSBnYXIgbmljaHQgc29vb29vb29vb29vb28gc2NobGVjaHQKc2VpbiA7KQpJY2ggZ2xhdWJlIEluZm9ybWF0aW9uIHR1dCBiaXR0ZXIgTm90ISEhIChoYXQgZWlnZW50bGljaCBzY2hvbiBtYWwgZWluZXIgZGllCkZBUXMgZXJnYWVuenQ/KQoKU2Nob2tvIChuYVUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOb2VyZ2VsZWkgKFJhZmZpLCAyOC4gTWFpIDE5OTYsIDExOjMwOjI1KToKfiMhIHJuPUZldWVyd2VociBydD04MzMyMTg2NDkKfiMhIHRpZD04MzI4NjI1MDYKCj4gU2llIGhhYmVuIEJhZXJ0ZSwgUmVudGUsIGVpbmVuIFNjaGF1a2Vsc3R1aGwgdW5kIHNpdHplbiB3YWhyc2NoZWlubGljaAo+IGF1ZiBlaW5lbSBCZXJnLiBNZWluIEdvdHQsIGljaCBrdWdlbCBzY2hvbiBzZWl0IE1pbnV0ZW4gbGFjaGVuZCBkdXJjaHMKWmltbWVyOikKCkhtbW1tIHdlaXNzIG5pY2h0IG9iIENhcmEqIGRhcyBtYWcgd2VubiBhbGxlIEFsdFhYWCBhdWYgaWhtIHJ1bXNpdHplbiAqZ3JpbnMqCi0gVW5kIHdlZ2VuIGRlbSBSdW1rdWdlbG4gYmlzdCBkdSBzZWxic3Qgc2NodWxkIC0gc3RhaCBoYWx0IG5pY2h0IG9obmUKR2VoaGlsZmUgYXVmIQoKR3J1c3MKSC4KKEFsdHNwaWVsZXIsIGRlciBnZXJhZGUgYXVmIHNlaW5lIFJlbnRlbnphaGx1bmcgaW4gZm9ybSB2b24gZ2VudWVnZW5kIFN0UAp3YXJ0ZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOb2VyZ2VsZWkgKENhcmFkaHJhcywgMjguIE1haSAxOTk2LCAxMzoxNDoxOSk6Cn4jISBybj1SYWZmaSBydD04MzMyNzU4MjUKfiMhIHRpZD04MzI4NjI1MDYKSGVlLCBhdWZob2Vybiwgbml4IGRhLCBuaWVtYW5kIHNpdHp0IGF1ZiBtaXIgcnVtISAKUmVpY2h0IHNjaG9uLCB3ZW5uIHNvIGRvb2ZlIFp3ZXJnZSBpbW1lciBpbiBkZW4gTWl0aHJpbG1pbmVuIHJ1bWJ1ZGRlbG4uCgpJY2ggZmluZCBkYXMgdWVicmlnZW5zIGF1Y2ggbWl0IGRlbiBTdHVmZW5QdW5rdGVuIGd1dCwgYXVjaCB3ZW5uIGljaApkYWR1cmNoIGF1ZiBkZXIgVG9wTGlzdGUgdm9uIFBsYXR6IDQgYXVmIHdhc3N3ZWlzc2ljaCwgc28gUGxhdHogMTEwIApvZGVyIHNvIGdlc3Vua2VuIGJpbi4gOikgQWJlciBkYXMgbGllZ3QgbnVyIGFuIGVpbmVtOgoKICBDYXJhZGhyYXMga2VubnQgc2ljaCBpbiBNb3JnZW5HcmF1ZW4gdWViZXJoYXVwdCBuaWNodCBhdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRhcm5oZWxtLi4uIChQYW1wZXJzLCAyOC4gTWFpIDE5OTYsIDEzOjMxOjE1KToKfiMhIHJuPU11cGZlbCBydD04MzMyODI4NDcKfiMhIHRpZD04MzI3OTk4MTcKICBDYXJhZGhyYXMga2VubnQgc2ljaCBpbiBNb3JnZW5HcmF1ZW4gdWViZXJoYXVwdCBuaWNodCBhdXMKCkRhZnVlciBrZW5udCBrZWluZXIgZGVuIFNlbnNpIGJlc3NlciBhbHMgRHUuLi4gOi0KClBhbXBlcnMuIEtlbm50IHNpY2ggbm9jaCBuaWNodCBtYWwgbWl0IGRpZXNlbSAlXiReJSQgRWRpdG9yIGF1cy4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOb2VyZ2VsZWkgKFJhZmZpLCAyOC4gTWFpIDE5OTYsIDE2OjE1OjE0KToKfiMhIHJuPUhhcmRpbCBydD04MzMyOTI1NzgKfiMhIHRpZD04MzI4NjI1MDYKCkRhbm4gbW9lY2h0ZSBpY2ggamV0enQgYWJlciBhdWNoIG1hbCB3aXNzZW4gYWIgd2FubiBtYW4gaGllciBrZWluIEp1bmdzcHVuZAptZWhyIGlzdCA/IDIwMCBPbmxpbmV0YWdlID8gMzAwPyBvZGVyIDMgSmFocmUgRWNodHplaXQgPyBTY2hvbiB3aWVkZXIgbGF1dGVyCkZyYWdlbiAoYmFsZCBob2VyIGljaCB3aWVkZXIgYmFldW1lIGluIFZMYW5kIHVtZmFsbGVuKS4KCkdydXNzCkguCihEZXIgb2huZSBkaWUgIiIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTm9lcmdlbGVpIChUZXJyb3Jpc3QsIDI4LiBNYWkgMTk5NiwgMTY6MjE6MzkpOgp+IyEgcm49SGFyZGlsIHJ0PTgzMzI5MjU3OAp+IyEgdGlkPTgzMjg2MjUwNgoKTmEgaXN0IGRvY2ggbG9naXNjaCBpaHIgc2VpZCBBbHRTRUhFUi4KVW5kIFJhZmZpIHVuZCBpYywgd2lyIHNpbmQgQUx0U1BJRUxFUi4KVW50ZXJzY2hpZWQga2xhcj8KClRlcnJvcmlzdCBpc3QgbmFjaCBTdHVmZW5wdW5rdGVuIExFdmVsIDIxLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE5vZXJnZWxlaSAoSGFyLCAyOC4gTWFpIDE5OTYsIDE5OjQ5OjExKToKfiMhIHJuPVRlcnJvcmlzdCBydD04MzMyOTMyOTkKfiMhIHRpZD04MzI4NjI1MDYKSG1tbSwgYWxzbyBpY2ggd2FyIEFMVFNFSEVSIHVuZCBiaW4gbnVuIGFuc2NoZWluZW5kIEFMVFNQSUVMRVIsIHdhZXJlIG5hU3RwcwpTdHVmZSAxNy4gQWJlciB3YXMgaXN0IG1pdCBBbHRtYWdpZXJuLCB3ZXJkZW4gZGllIGF1Y2ggd2llZGVyIHp1IEFMVFNQSUVMRVJOPwoKSGFyIChncmluc2VuZCkuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBOb2VyZ2VsZWkgKE9ldHRpLCAyOC4gTWFpIDE5OTYsIDIwOjE2OjMxKToKfiMhIHJuPUhhciBydD04MzMzMDU3NTEKfiMhIHRpZD04MzI4NjI1MDYKQmx1YmIgISEhCgpJY2ggYmluIG51ciBBTFRLTFVHICEKCk9ldHRpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTm9lcmdlbGVpIChXdXIsIDI5LiBNYWkgMTk5NiwgMDM6Mjk6NTApOgp+IyEgcm49UmFmZmkgcnQ9ODMzMjc1ODI1Cn4jISB0aWQ9ODMyODYyNTA2CkNhcmEgbWFnIGRhcyBzaWNoZXJsaWNoLCB3ZW5uIGFsbCBkaWUgYWx0ZW4gR3JlaXNlIHVuZCB2ZXJzY2hydW1wZWx0ZW4gU2VoZXIKYXVmIGlobSBzaXR6ZW4gdW5kIGRlcmVuIEJhZXJ0ZSwgdmVyc3VjaGVuLCBpbiBzZWluZW0gR2VzaWNodCwgV3VyemVsbiB6dQpzY2hsYWdlbi4gQ2FyYSBpc3QgZWJlbiBlaW4gQmVyZyB2b24gV2VsdC4KQW5zb25zdGVuLCB3YXMgaGFzdCBEdSBnZWdlbiBCYWVydGU/IFNlbGJzdCBpY2gsIGRlciBpY2ggbm9jaCB6dSBkZW0ganVuZ2VuCkdlbXVlc2UgemFlaGxlIGhhYiBzY2hvbiBlaW5lbiBncmF1ZW4gQmFydC4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE5vZXJnZWxlaSAoTXVwZmVsLCAyOS4gTWFpIDE5OTYsIDE0OjI0OjQ5KToKfiMhIHJuPU1vcmdvdGggcnQ9ODMzMzQ3MTUxCn4jISB0aWQ9ODMyODYyNTA2Cld1ciB3YXIgc2Nob25tYWwgJ0FsdHNlaGVyJyAoYWxzIGljaCBhbmdlZmFuZ2VuIGhhYiB3YXIgZXIgc2Nob24gU2VoZXIpIHVuZApoYXQgc2ljaCBkYW5uIGdld2l6enQgdW5kIHNwYWV0ZXIgZ2Vsb2VzY2h0IHVuZCBoYXQgbmV1IGFuZ2VmYW5nZW4uIEFsc28KJ2VpZ2VudGxpY2gnIGF1Y2ggZWluZXIgZGVyIHVyYWx0ZW4gOi0pCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE5vZXJnZWxlaSAoV3VyemVsLCAyOS4gTWFpIDE5OTYsIDE5OjU0OjAyKToKfiMhIHJuPUhhciBydD04MzMzMDU3NTEKfiMhIHRpZD04MzI4NjI1MDYKaG1tLCBuYWNoIHN0dXBzIHdhZXJlIGljaCB3b2hsIG5vY2ggbGV2ZWwgMS4uLiBhYmVyIHNwaWVsZXIgd2VyZGVuPyAKbmllbWFscyEgcGZ1aSBkZWliZWwsIHNwaWVsZXIsIGlnaXR0LCB3dWVyZyBrb3R6IDopCmltIGtsYXJ0ZXh0OiBqZWRlciBiZWhhZWx0IHNlaW5lIHN0dWZlLCBpc3QgamEgd29obCBzY2hvbiBhdWZnZWZhbGxlbiAodW5kCmF1Y2ggbWVocmZhY2ggaGllciBnZXNhZ3Qgd29yZGVuKS4gbnVyIG1pdCBkZW0gYXVmc3RlaWdlbiBoYXBlcnRzLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdHAtdmVybHVzdCAoU2tpcHBlciwgMzAuIE1haSAxOTk2LCAwMDowMTozOSk6CkhpLAoKaWNoIGhhYmUgdm9yaGluIDIwMCBzdHAgdmVybG9yZW4gdW5kIHdlaXNzIG5pY2h0IHdpZXNvLCBpY2gKbXVzc3RlIGVpbm1hbCBlbmRlIG1hY2hlbi4gS2FubiBlcyBkYW1pdCB6dXNhbW1lbmhhZW5nZW4/CkJla29tbSBpY2ggZGllIHN0cCBkaWUgaWNoIGluIGRlbiBsZXR6dGVuIFRhZ2VuIGVyYXJiZWl0ZXQgaGFiZSB3aWVkZXI/CkljaCB3ZWlzcyBuaWNodCB3ZWxjaGVuIG1hZyBpY2ggYW5tYWlsZW4gc29sbCwgZGVzaGFsYiBzY2hyZWliIGljaHMgaGllciByZWluCjspCgpTa2lwcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHRzZWhlciAtIEFsdHNwaWVsZXIgKEtldG9zLCAzMC4gTWFpIDE5OTYsIDAxOjQ3OjMzKToKQWx0c2VoZXIgdW5kIEFsdHNwaWVsZXIgaG9lcnQgc2ljaCBldHdhcyBhYmdlc3RhbmRlbiBhbi4KV2llIHdhZXJzIG1pdCBkZW4gR3JhdWVuIFBhbnRoZXIgdW5kIGRlbiBTY2h3YXJ6ZW4gV2l0d2Vybi9lbiBhbHMgVGl0ZWwgZnVlcgpkaWUgR3J1ZnRpcyB1bmQgT2JlcmdydWZ0aXMgOy0pCi0ga2V0b3MgLSBzdHJlYnQgYXVmIGRpZSBzY2h3YXJ6ZSBIdW5kZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVlIC0gcHJvYnMgJiBNYWlscyBhbiBtaWNoIChHYXN0MSwgMzAuIE1haSAxOTk2LCAwMzoyMjowNyk6ClNhbGkgemFlbWUsCkljaCBiaW4gWnVlcmlsZXUsCkRhIGljaCB6Llp0LiB6aWVtbGljaGUgUHJvYmxlbWUgaGFiZSBtaXQgZGVtIENvbm5lY3Rlbi4gRGFzIGhlaXNzdCBtaXQgamVkZW0KQ2hhcmFrdGVyIHZvbiBtaXIgb2RlciBzb2xjaGUgZGllIGljaCBuZXUgZXJzdGVsbGUga2FubiBpY2ggbmFjaCBkZXIgUGFzc3dvcnQKZWluZ2FiZSBuaWNodHMgbWVociBtYWNoZW4uIGtvbWlzY2hlcndlaXNlIGFscyBHYXN0IGhhYmUgaWNoIHNvbGNoZSBQcm9ibGVtZQpuaWNodCwgZGEgaGF0cyBrZWluIFBhc3N3b3J0LiBOZWluIGVzIGlzdCBtaXIgdW5lcmtsYWVybGljaCwgYWJlciBsZWlkZXIgaGFiZQppY2ggZGllc2UgUHJvYmxlbWUgaGllciB1bmQga2VpbiBFcnptYWdpZXIgd3Vzc3RlIGJpcyBhbmhpbiBlaW5lbiBrZWluZW4gUmF0LgpEYSBpY2ggZXMgbWl0IG1laHJlcmVuIFRlcm1pbmFscHJvZ3JhbW1lbiB2ZXJzdWNodCBoYWJlIHVuZCB2ZXJzY2hpZWRlbmUKRWluc3RlbGx1bmdlbiwgc2NobGllc3NlIGljaCBlaW5lbiBmZWhsZXIgdm9uIG1laW5lciBzZWl0ZSBhdXMuIG5hamEgZ2VudWcKZ2VxdWFzY2h0IHdhcyBpY2ggc2FnZW4gd2lsbCBpc3QgZGFzIHdlbm4gaWhyIG1pciBlaW5lIE1haWwgc2NoaWNrZW4gd29sbHQKKHVuZCBpY2ggaGFiZSBlaW5lIGltIFBvc3RmYWNoIGxpZWdlbiAiY3ZvbiBXZW0/aWVzZSBtYWlscyBiaXR0ZSBhbiBtZWluZQpFLU1haWwgYWRyZXNzZSBzY2hpY2tlbjoKCiAgICAgICAgICAgICAgICBEZWxwaGluQEV6aW5mby52bXNtYWlsLmV0aHouY2ggCgpXZW5uIGlociBkYXMgbmljaHQgdHV0LCBrYW5uIGljaCB2b3JsYWV1ZmlnIGV1cmUgTWFpbHMgbmljaHQgbGVzZW4gdW5kIGlocgprcmllZ3Qga2VpbmUgYW50d29ydCAhISEgSm8gaWNoIHd1ZW5zY2ggbWlyIGF1Y2ggZXMgd2FlciBhbmRlcnMsIGFiZXIgc29sYW5nZQpkaWVzZXMgUHJvYmxlbSBleGlzdGllcnQgdW5kIGljaCBtaXIga2VpbiBQcm92aWRlciBsZWlzdGVuIGthbm4sIHdpcmQgWnVlcmlsZXUKa2VpbmUgTWFpbHMgbGVzZW4ga29lbm5lbi4gdW5kIGRpZXNlciBmcmV1bmRsaWNoZSBzY2hyZWliZXIgZGVyIG1pciBpbiBkZW4KbGV0enRlbiAzIFRhZ2UgZWluZSBNYWlsIGdlc2NocmllYmVuIGhhdCwgc29sbCBkaWUgYml0dGUgYW4gbWVpbmUgRS1NYWlsCmFkcmVzc2Ugd2VpdGVybGVpdGVuLiBBbnR3b3J0ZW4gYmVrb21tdCBpaHIgZGFubiBqZXdlaWxzIHZvbiBlaW5lbSBHYXN0LCBuYWphCmlzdCBkZXIgZWluemlnZSB3ZWcgZnVlciBtaWNoIGVpbnp1bG9nZ2VuLiBJY2ggaG9mZmUgZXMgZmluZGV0IGJhbGQgamVtYW5kCmVpbmUgbG9lc3VuZyBhdWYgZGFzIHByb2JsZW0uID06KCgKClRzY2h1ZXNzIHphZW1lIFp1ZXJpbGV1IGV1ZXIuLi4gKnNuaWVmKiB0cmF1cmlnc3RlciBNYWdpZXIgei5adC4gPTooCgpBTExFIFBFUlNPRU5MSUNIRU4gTUFJTFMgQU46ZWxwaGluQEV6aW5mby52bXNtYWlsLmV0aHouY2ggISEhISEKClBQUzogSG9mZmUgZXMgaGFiZW4gbnVuIEFMTEUgZ2Vob2VydCA9OikpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9lcmdlbGVpIChTbnVnZ2xlLCAgMy4gSnVuIDE5OTYsIDEzOjE4OjU4KToKfiMhIHJuPUpvZiBydD04MzI5MjI0OTUKfiMhIHRpZD04MzI4NjI1MDYKQWxzbywgaXJnZW5kd2FubiBoYXQgbWFsIGVpbiBNYWdpZXIgbmFjaGdlZ3Vja3QsIGRhc3MgU3BpZWxlciB4IGRpZSBRdWVzdCB5CmFtIFRhZyB6IGdlbWFjaHQgKGdlbG9lc3QpIGhhdC4KCkljaCBnbGF1YmUgZXMgZ2luZyB1bSBTY2hyYXQgdW5kIGRpZSBGcmFnZSB3YXIsIHdhbm4gc2ljaCBTcGllbGVyIHggenVtIGVyc3RlbgpNYWwgZWluZ2Vsb2dndCBoYXR0ZSwgd2FzIGRhbWFscyBub2NoIG5pY2h0IGZlc3RnZWhhbHRlbiB3dXJkZSwgYWJlciBuaWNodAphbGx6dSBsYW5nZSB2b3IgZGVtIExvZXNlbiB2b24gU2NocmF0IGdld2VzZW4gc2VpbiBzb2xsdGUuCgpFcyBpc3QgYWxzbyBtb2VnbGljaCwgZmVzdHp1c3RlbGxlbiwgd2VyIHdlbGNoZSBxdWVzdCB3YW5uIGdlbWFjaHQgaGF0LgoKWVRTbnVnZ2xlCgpldHdhcyBzcGFldCwgYWJlciBpY2ggaGFiIG5lIHdvY2hlIGtlaW5lIG1wYSBnZWxlc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTm9lcmdlbGVpIChOYXNpbSwgIDMuIEp1biAxOTk2LCAxNDoyOToyNyk6Cn4jISBybj1IYXIgcnQ9ODMyOTI0NDIyCn4jISB0aWQ9ODMyODYyNTA2CkRhIGthbm4gaWNoIEhhciBudXIgenVzdGltbWVuIC4uLgpBdXNzZXJkZW0gZ3Vja3QgbWFuIHNpY2ggYmVzdGltbXQgbmljaHQgbm9jaG1hbCBzbyBndXQgdW0sIHdlbm4gbWFuIGVpbmUgUXVlc3QKc2Nob24ga2VubnQgLSBhbHNvIGJla29tbXQgbWFuIG1vZWdsaWNoZXJ3ZWlzZSBuaWNodCBzbyB2aWVsZSBGUCwgd2llIGplbWFuZCwKZGVyIGRpZSBRdWVzdCBub2NoIG5pY2h0IGtlbm50LgoKR3J1c3MsIE5hc2ltIChXaXNzZW4gaXN0IExhc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXNjaHdlcmRlIChHYW5kbywgIDMuIEp1biAxOTk2LCAyMjoxMzo1MSk6ClNvIG51biBub2NoIG1laW4gQWJzY2hsdXNzc2VuZiB6dSBtZWluZXIgS3JhbmtoZWl0c2FrdGlvbiB2b20gMy42IC4uIGFyZ2wKSWNoIGZpbmRlIGVzIGVpbmUgZWNodGUgc2F1ZXJlaSwgZGFzcyBtYW4gZ2VnZW4gZWluZSBLcmFua2hlaXQsIGRpZSBpY2ggCnp1Z2VnZWJlbmVyd2Vpc2UgYmVpbSBlc3NlbiBlaW5lciBab21iaWVsZWljaGUgYmVrb21tZW4gaGFiZSwgc29ndXQgd2llIGtlaW5lIApDaGFuY2UgYXVmIEhlaWx1bmcgaGF0LiBXZWRlciBLbGVyaWtlciBrb2VubmVuIGVpbmVtIGhlbGZlbiwgbm9jaCBkaWUgCnNvZ2VuYW5udGUgS09NUExFVFRIRUlMSFVORyBpbiBOaWJlbGhlaW0gaXN0IGZ1ZXIgZGllIEthdHplLi4uIERpZSBicmluZ3QgMApEYSBrYW5uIG1hbiBzaWUgamEgYXVjaCBnbGVpY2ggd2VnIGxhc3Nlbi4uLiBNYW4gbXVzcyAxMCBNaW4gbGFuZyB6dXNjaGF1ZW4sCndpZQptYW4gc29sYW5nc2FtIHZvciBkaWUgSHVuZGUgZ2VodC4KRGFzIGlzdCBlY2h0IChzb3JyeSwgd2VubiBpY2ggbWljaCBoaWVyIHNvIGF1c2RydWVja2UpIGVpbmUgUklFU0VOIFNDSEVJU1NFLgpzZWxic3QgYmVpIGVuZGUgdW5kIGJlaSBSRUJPT1Qgd2lyZCBkaWUgS3JhbmtoZWl0IG5pY2h0IHp1cnVlY2tnZXNldHp0IC4uLgpTY2hhZW10IGV1Y2ggaWhyICoqKioqKioqCkdhbmRvIChpc3QgZXdpZy1zYXVlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXNjaHdlcmRlIChNdXBmZWwsICAzLiBKdW4gMTk5NiwgMjI6MTk6MjgpOgp+IyEgcm49R2FuZG8gcnQ9ODMzODMyODMxCn4jISB0aWQ9ODMzODMyODMxCkVzIGdpYnQgc2VociB3b2hsIGVpbmUgSGVpbHVuZyBmdWVyIGRpZXNlIEtyYW5raGVpdC4gUGFzc2VuZGVyd2Vpc2UgYXVmClRhbWliYXIgc2VsYnN0LiBTY2hhdSBkaWNoIGVpbiB3ZW5pZyBiZXNzZXIgdW0gb2RlciBmcmFnZSBtYWwgZWluIHBhYXIgYWVsdGVyZQpTZWhlci4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzY2h3ZXJkZSAoV3VyemVsLCAgMy4gSnVuIDE5OTYsIDIyOjUyOjU5KToKfiMhIHJuPU11cGZlbCBydD04MzM4MzMxNjgKfiMhIHRpZD04MzM4MzI4MzEKZGllIGtvbXBsZXR0aGVpbHVuZyBpbiBuaWJlbGhlaW0gYmV6aWVodCBzaWNoIGRhcmF1ZiwgZGFzcyBtYW4ga29tcGxldHQgYWxsZQp2ZXJsb3JlbmVuIGhpdHBvaW50cyB3aWVkZXJiZWtvbW10LiBzb25zdCBuaXguCmVpbmUgb3JkZW50bGljaCBwcm9ncmFtbWllcnRlIGtyYW5raGVpdCBzb2xsdGVuIGRpZSBrbGVyaWtlciBhYmVyIGJlc2VpdGlnZW4Ka29lbm5lbi4gc29uc3QgaXN0IGRhIHdhcyBmYXVsLiB3ZW5uIGVzIGZ1ZXIgZGllIHF1ZXN0IGVpbmUgd2VzZW50bGljaGUKZ2VzY2hpY2h0ZSBpc3QsIGthbm4gZXMgbmF0dWVybGljaCBhdXNuYWhtZW4gZ2ViZW4sIGFiZXIgZGFzIHZlcm11dGUgaWNoIGluCmRpZXNlbSBmYWxsIG5pY2h0LiB6b21iaWVsZWljaGVuIHp1IGZ1dHRlcm4gaXN0IGRvY2ggc2Nob24gZXR3YXMgZ2V3YWd0Li4uCgptYWwgc2VoZW4sIHZpZWxsZWljaHQgZXJ3ZWl0ZXJlIGljaCBkYXMgaG9zcGl0YWwgbm9jaCB1bSBrcmFua2hlaXRzaGVpbHVuZywKYWJlciBkYXMgaXN0IG5pY2h0IHRyaXZpYWwsIHdlbm4gZXMgbmljaHQtc3RhbmRhcmQta3JhbmtoZWl0ZW4gc2luZCwga2FubgphbHNvIGRhdWVybi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW50dy4genUgTXVwZmVsIHp1IG1pciAoR2FuZG8sICA0LiBKdW4gMTk5NiwgMTg6NDk6NDApOgpNdXBmZWwsIGR1IGhhc3QgcmVjaHQsIGRhc3MgZXMgZWluZSBIZWlsbW9lZ2xpY2hrZWl0IGF1ZiBUYW1pYmFyIGdpYnQuIApJY2ggaGFiZSBkaWVzIGF1Y2ggdm9uIGFuZGVyZW4gU2VoZXJuIGVyZmFocmVuLiBEb2NoIHVtIGRhaGluenVnZWxhbmdlbiwKbXVzc3RlIGljaCBlcnN0IApkdXJjaCBkZW4gU3VtcGYuIERhIGFiZXIgZ3JhZCBrZWluIEZ1ZWhyZXIgZGEgd2FyIHVuZCBpY2ggamEgbnVuIGtlaW5lIFplaXQKaGF0dGUgLCBhdWYgZWluZW4gClJlc2V0IHp1IHdhcnRlbiwgaGF0dGUgaWNoIGdlcmluZ2UgY2hhbmNlbiwgZG9ydGhpbiB6dSBnZWxhbmdlbi4KSWNoIGhhZXR0ZSBlcyBzb25zdCBnZXJuZSBhdWZnZXN1Y2h0IC4uLiAKVmVyc3VjaHQgaGFiZSBpY2ggZXMsIGFiZXIgbmF0LiBkZW4gV2VnIGltIFN1bXBmIHZlcmxvcmVuLiAobG9naXNjaCkKR2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzY2h3ZXJkZSAoRmV1ZXJ3ZWhyLCAgNC4gSnVuIDE5OTYsIDIyOjE2OjE0KToKfiMhIHJuPU11cGZlbCBydD04MzM4MzMxNjgKfiMhIHRpZD04MzM4MzI4MzEKRXIgaGF0dGUgZXMgZ2V3dXNzdC4gTGVpZGVyIHdhciBkZXIgZnVlaHJlciB3ZWcgdW5kIGVyIGtvbm50ZSBuaWNodCB6dW0gQWx0YXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW50dy4genUgTXVwZmVsIHp1IG1pciAoR3JpbW1ib3JuLCAgNS4gSnVuIDE5OTYsIDE1OjU1OjQxKToKfiMhIHJuPUdhbmRvIHJ0PTgzMzkwNjk4MAp+IyEgdGlkPTgzMzkwNjk4MAoKQWxzbywgaWNoIGdlaGUgZGF2b24gYXVzLCBkYXNzIHNpY2ggaW4gZGVyIFF1ZXN0IG5pY2h0cyB3ZXNlbnRsaWNoZXMgZ2VhZW5kZXJ0CmhhdC4KRGFubiBibGVpYnQgZG9jaCBmdWVyIG1pY2ggZGllIEZyYWdlOiBXZWxjaGUgWm9tYmllbGVpY2hlIGhhc3QgRHUgZ2VnZXNzZW4sCndlbm4gRHUgYXVmIGRlbSBXZWcgenVyIEhlaWxtb2VnbGljaGtlaXQgZHVyY2ggZGVuIFN1bXBmIG11c3N0ZXN0PyBIaWVyIGdpbHQKaW4gZnVlciBtaWNoIGJlc29uZGVycyBzY2hvZW5lIFdlaXNlOiBXZXIgaW4gZWluZW0gUm9sbGVuc3BpZWwgJ2VuZGUnIG1hY2h0IHVtCnNpY2ggenUgcmV0dGVuIGRhcmYgc2ljaCBuaWNodCB3dW5kZXJuIHdlbm4gZXIgYW0gRW5kZSBkZXIgRHVtbWUgaXN0LiAKRnJhY2h0Z3V0IGlzdCBlaW5lIHNjaHdpZXJpZ2UgUXVlc3Qgdm9uIFJvY2h1cywgZGEgbXVzcyBtYW4gbWl0IHNvd2FzIHJlY2huZW4uClVuZCB3ZWlsIHNpZSB2b24gUm9jaHVzIGlzdCBpc3QgZWluZSBSZXR0dW5nc21vZWdsaWNoa2VpdCBlaWdlbnRsaWNoIGltbWVyIGluCnVubWl0dGVsYmFyZXIgTmFlaGUgenUgZGVyIFN0ZWxsZSwgYW4gZGVyIG1hbiBpbiBlaW5lIEZhbGxlIHRhcHBzZW4ga2Fubi4gRGFzCm1hY2h0IGRhcyBqYSBhdWNoIHNvIHNjaG9lbiwgRnJhY2h0Z3V0IHdpcmQgaW4gbWVpbmVuIEF1Z2VuIGltbWVyIGJlc3NlciBqZQptZWhyIG1hbiBkaWUgR2VnZW5kIGtlbm5lbmxlcm50IHVuZCBzaWNoIHVtc2NoYXV0LiBVbmQgamUgbWVociBtYW4gZGFzCnp1Z2Vob2VyaWdlIEJ1Y2ggbGllc3QuLi4gOy0pCgpCdHcsIGRpZSBab21iaWVrcmFua2hlaXQgKEt1cnVrcmFua2hlaXQpIGlzdCBkaWUgQ3JldXR6ZmVsZC1KYWtvYi1LcmFua2hlaXQsCmRlcmVuIGJvdmluZSBWYXJpYXRpb24gYWxzIEJTRSBpbiBkZW4gU2NobGFnemVpbGVuIGlzdC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbnR3LiB6dSBNdXBmZWwgenUgbWlyIChOaXJkYXZvLCAgNS4gSnVuIDE5OTYsIDE3OjEyOjA3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04MzM5ODI5NDEKfiMhIHRpZD04MzM5MDY5ODAKS3VydSBpc3QgendhciBtaXQgS3JldXR6ZmVsZC1KYWNvYiB2ZXJ3YW5kdCwgYWJlciBuaWNodCBkYW1pdCBpZGVudGlzY2guIERpZXNlCktyYW5raGVpdCB0YXVjaHRlIG5hY2hnZXdpZXNlbmVybWFzc2VuIG51ciBiZWkgZGVuIEZvcmUgYXVmLCB1bmQgZnVlaHJ0ZQpidWNoc3RhZWJsaWNoIHp1bSB0b3RsYWNoZW4gZGVzIEJlZmFsbGVuZW4uCkp1c3QgbXkgdHdvIHBlbm5pZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pcmRhdm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFudHcuIHp1IE11cGZlbCB6dSBtaXIgKE1vcmdvdGgsICA1LiBKdW4gMTk5NiwgMTc6MTM6MjYpOgp+IyEgcm49TmlyZGF2byBydD04MzM5ODc1MjcKfiMhIHRpZD04MzM5MDY5ODAKaG0sIEJTRSBpc3QgS3JldXR6ZmVsZC1KYWNvYiBiZWkga3VlaGVuLiBkaWUgbGFjaGVuIHNpY2ggYWJlciBuaWNodCB0b3QuCm1vcmdvdGgsIG1ha2FiZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFudHcuIHp1IE11cGZlbCB6dSBtaXIgKFNudWdnbGUsICA3LiBKdW4gMTk5NiwgMTI6MDA6MDMpOgp+IyEgcm49TW9yZ290aCBydD04MzM5ODc2MDYKfiMhIHRpZD04MzM5MDY5ODAKRmluZGUgendhciwgZGFzcyB3ZXIgWm9tYmllbGVpY2hlbiBpc3N0LCBhbGxlcyB2ZXJkaWVudCBoYXQsIHdhcyBpaG0KenVzdG9lc3N0LAphYmVyIGluIGRlbSBGYWxsIGlzdCBnYW5kbyBuaWNodCBkYWZ1ZXIgdmVyYW50d29ydGxpY2gsIGRhc3MgZGllCkhlaWxtb2VnbGljaGtlaXQgYXVzcyBzZWluZXIgUmVpY2h3ZWl0ZSBnZXJpZXQsIGVzIHdhciBkZXIKUmVib290LiBXZW5uIGVpbmVyIFNwaWVsZXIgbmUgTGVpY2hlIGlzc3QgdW5kIGlobiBhdWYgZGVtIFdlZyB6dW0gQWx0YXIgZGVyIApSZWJvb3QgZXJ3aXNjaHQsIGhhdCBlciBvZnQga2VpbmUgQ2hhbmNlLCBkaWVzZW4gcmVjaHR6ZWl0aWcgenUgZXJyZWljaGVuCihuYWphCnp1bWluZGVzdCB3aXJkIGVzIHNjaHdlcikuCgpWaWVsbGVpY2h0IHNvbGx0ZSBSb2NodXNzaWNoIHVlYmVybGVnZW4sIGRpZSBLcmFua2hlaXQgbmljaHQgYXVjaCBub2NoIFJlYm9vCmZlc3QgenUgbWFjaGVuLgoKYXJnbC4gc2Nob24gd2llZGVyIGhhdCBtaWhjIGRlcmVkaXRvciBnZWFyc2NodCwgaWNoIHNjaHJlaWIgaGV1dCBrZWluZUFydGlrZWwKbWVoci4KWVRTbnVnZ2xlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbnR3LiB6dSBNdXBmZWwgenUgbWlyIChSb2NodXMsICA3LiBKdW4gMTk5NiwgMTI6NTU6MDEpOgp+IyEgcm49U251Z2dsZSBydD04MzQxNDE2MDMKfiMhIHRpZD04MzM5MDY5ODAKQXVzIGRpZXNlbSBHcnVuZCBtYWNodCBkaWVzZSBLcmFua2hlaXQgaW4gZGVuIGVyc3RlbiBNaW51dGVuCmRlbiBTY2hhZGVuIG51ciBtaXQgcmVkdWNlX2hpdHBvaW50IChuaWNodCB0b2VkbGljaCkgdW5kIGVyc3QKbmFjaCBlaW5pZ2VyIFplaXQgbWl0IGRvX2RhbWFnZSAodG9lZGxpY2gsIGZhbGxzIHVudGVyIDApLgpXZW5uIG1hbiBzaWNoIGJlZWlsdCBoYXQgbWFuIGFsc28gZWluZSBmYWlyZSBDaGFuY2UsIGF1Y2gKbmFjaCBlaW5lbSBDcmFzaC9SZWJvb3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbnR3LiB6dSBNdXBmZWwgenUgbWlyIChGZWxhZ3VuZCwgIDcuIEp1biAxOTk2LCAxNDo0MToxNCk6Cn4jISBybj1Sb2NodXMgcnQ9ODM0MTQ0OTAxCn4jISB0aWQ9ODMzOTA2OTgwCkR1IGhhc3QgYWJlciBzY2hvbiBkcmFuIGdlZGFjaHQsIGRhc3MgbWFuIHNpY2ggbmFjaCBuZW0gUmVib290IGVyc3RtYWwgYmlzc2tlbgpBdXNydWVzdHVuZyBlcm1ldHplbG4gbXVzcywgb2Rlcj8gTWFuIHdpbGwgamEgc2NobGllc3NsaWNoIGF1Y2ggZGllIExFQkVOREVOCkZvcmUgdWViZXJsZWJlbi4uLgoyIGdyb3NjaGVuIGhhYmljaCBub2NoIDspCkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFudHcuIHp1IE11cGZlbCB6dSBtaXIgKENhcmFkaHJhcywgIDcuIEp1biAxOTk2LCAxNTowMToyMCk6Cn4jISBybj1Sb2NodXMgcnQ9ODM0MTQ0OTAxCn4jISB0aWQ9ODMzOTA2OTgwClVuZCBub2NoIGRhenUgaXN0IGVzIGVpbmlnZXJtYXNzZW4gbW9lZ2xpY2gsIGVzIHp1IHNjaGFmZmVuLCBpY2gKaGFicyBzZWxic3QgbWl0IENhcmFkaHJhcyBnZXNjaGFmZnQsIGhhdHRlIG1laW5lcyBXaXNzZW5zIG5hY2gKbm9jaCB1ZWJlciAxMDAgSFAgYWxzIGljaCBkaWUgZ2FuemUgUXVlc3Qgbm9jaG1hbHMgZHVyY2hnZW1hY2h0CmhhdHRlLiBBYmVyIHdhciBhbGxlcmRpbmdzIGF1Y2ggbWl0IGVpZ2VuZXIgSGlsZmUgKGRlc2hhbGIgaXN0IAp1ZWJlcmhhdXB0IENlbGViZGlsIGV4aXN0ZW50LCBodWh1IENlbGViISA6KSB1bmQgdHJhZ2JhcmUgSGVpbC0KbW9lZ2xpY2hrZWl0ZW4gZ2lidHMgamEgYXVjaCBzY2hvbiBqYWhyZWxhbmcuCgogICAgICAgIHR1ZXNzICAgICAgICBHb2xkZHJhY2hlbmJlcmcgQ2FyYWRocmFzCgpQUzogYWxsZXJkaW5ncyBpc3RzIG5pY2h0IHNvIGxlaWNodCwgZGFzIG11c3MgaWNoIHp1Z2ViZW4hIEF1Y2gKICAgIGljaCBtdXNzdGUgb2VmdGVycyBtYWwgJ2VuZGUnIG1hY2hlbiB6d2lzY2hlbmRyaW4gZnVlciBuZW4KICAgIG5ldWFubGF1ZiB1bmQgbWl0IHdlbmlnZXIgYWxzIDIwMCBvZGVyIDE5MCBIUCBNQVggd2lyZHMgbm9jaAogICAgZ3V0IGVpbmlnZXMgc2Nod2VyZXIuIEFiZXIgZGFmdWVyIGlzdHMgamEgZ2VkYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcXVlc3Qgb2t0b3B1cyAoTWF0c3VzaGl0YSwgIDkuIEp1biAxOTk2LCAxNjowMTowMCk6Cn4jISBybj1UZXJyb3Jpc3QgcnQ9ODMyNzU4NDIxCn4jISB0aWQ9ODMyNzIyNjU1ClNvd29obCBkaWUgTWFzdGVybWluZC1JZGVlIGFscyBhdWNoIGRhcyBTdWNoZW4gZGVzIEtvZW5pZ3MgaXN0IGFic29sdXQgaW4KT3JkbnVuZy4KV2FzIGljaCBtaXIgcGVyc29lbmxpY2ggZ2V3dWVuc2NodCBoYWV0dGUsIHdhZXJlLCBkYXNzIG1hbiBzaWNoIGFuIGRlbiBGaXNjaGVuCm9yaWVudGllcmVuIGthbm4uCkRhcyBoYXQgbGVpZGVyIHNvIG5pY2h0IGZ1bmt0aW9uaWVydCwgd2llIGljaCBtaXIgZGFzIGdlZGFjaHQgaGF0dGUuLi4KUmVzdWx0YXQ6IFZvZWxsaWcgc2Nod2FjaHNpbm5pZyBydW1nZWlycnQgLSBpbnNiZXNvbmRlcmUgYXVjaCBkZXN3ZWdlbiwgd2VpbApkZXIgS29lbmlnCnp3aXNjaGVuemVpdGlnIHdlZyB3YXIuCihRdWVzdCB3YXIgZ2Vsb2VzdCB3b3JkZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBxdWVzdCBva3RvcHVzIChDYXVubywgMTAuIEp1biAxOTk2LCAxNDo0NTo0OCk6Cn4jISBybj1NYXRzdXNoaXRhIHJ0PTgzNDMyODg2MAp+IyEgdGlkPTgzMjcyMjY1NQoKTmFqYS4gRGVyIFJhdW0gbWl0IGRlbSBLb2VuaWcgaXN0IGRhcmFuIHp1IGVya2VubmVuLCBkYXNzIGVyIG51ciBlaW5lbiBBdXNnYW5nCmhhdCwgbmljaHQgZHJlaSwgd2llIGRpZSBhbmRlcmVuLgpXZXJzIHdlaXNzLi4uCldlciBuaWNodCwgZGVtIGZhZWxsdCBlcyAodmllbGxlaWNodCkgYXVmLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLiBObwoKUC5TLiBKYWphLCBpY2ggd2Vpc3MsIGRhcyBzYWd0IHNpY2ggbGVpY2h0LCB3ZW5uIG1hbiBkaWUgS2FydGUgaGF0LgogICAgIChOaWNodCBoYXVlbiwgYXVmaG9lcmVuLCBhdWEgLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcXVlc3Qgb2t0b3B1cyAoSmFyaWVsLCAxMS4gSnVuIDE5OTYsIDAwOjM2OjIzKToKfiMhIHJuPUNhdW5vIHJ0PTgzNDQxMDc0OAp+IyEgdGlkPTgzMjcyMjY1NQpIaSEKCkpldHp0IG11c3MgaWNoIGF1Y2ggbWFsIHdhcyBzYWdlbi4gOikKV2VyIGhhdCBlaWdlbnRsaWNoIGJlaGF1cHRldCwgZGFzIG1hbiBzaWNoIHNjaHdlciB6dXJlY2h0ZmluZGV0PwpHdXQgZXMgZ2lidCBrZWluIE5vcmRlbiBTdWVkZW4gT3N0ZW4gV2VzdGVuIE9iZW4gVW50ZW4gdXN3LCBhYmVyIGVzIGR1ZXJmdGUKZG9jaCBrZWluIFByb2JsZW0gc2VpbiBkaWUgUmljaHR1bmdzYW5nYWJlbiB1bXp1YWVuZGVybi4KRGFubiBpc3QgaGFsdCBTcGFsdGUgTm9yZGVuLi4uLi4KCk9rLCBpY2ggaGF0dGUgYXVjaCBlcnN0IGVpbmlnZSBTdGFydHByb2JsZW1lLCBhYmVyIG5hY2ggbmVyIFdlaWxlIGhhdCBlcyBtaXIKa2VpbiBLb3BmemVyYnJlY2hlbiBtZWhyIGJyZWl0ZXQuIFZpZWwgbmVydmlnZXIgZmFuZCBpY2ggZGllc2VzIHN0YWVuZGlnZQpSaW5nZSBzdWNoZW4sIGdydWViZWxuIHVuZCB0ZXN0ZW4gb2IgZXMgZGllIHJpY2h0aWdlIFJlaWhlbmZvbGdlIHdhci4gQWJlcgpNYW4gd2lsbCBqYSBzY2hsaWVzc2xpY2ggYXVjaCBBUCdzIGZ1ZXIgZGllc2UgUXVlc3QgYmVrb21tZW4gOikKCkphcmllbCB3ZWlzcyBudW4gZ2FyIG5pY2ggbWVociB3YXMgZXIgZWlnZW50bGljaCBhdXNzYWdlbiB3b2xsdGUgOykKCkJpdHRlIGxvZXNjaGVuIDopCn5+CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcXVlc3Qgb2t0b3B1cyAoTW9yZ290aCwgMTEuIEp1biAxOTk2LCAwNzowNTo1Myk6Cn4jISBybj1KYXJpZWwgcnQ9ODM0NDQ2MTgzCn4jISB0aWQ9ODMyNzIyNjU1CnNlaWQgaWhyIGJhbGQgZmVydGlnPyAKd28gYmxlaWJ0IGRpZSBrb21wbGV0dGxvZXN1bmcgPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoiQ3Jhc2giIChSb2NodXMsIDExLiBKdW4gMTk5NiwgMTA6NDU6MTQpOgpFcyBnYWIgaGllciBlaW5pZ2UgdmVyc2NobW9ydGUgTGVpdHVuZ2VuIGltIFNpY2hlcnVuZ3NrYXN0ZW4uCkRhaGVyIG11c3N0ZSBnZXN0ZXJuIHVuZCBoZXV0ZSBmdWVyIGplIGNhLiAxIFN0dW5kZQpkZXIgU3Ryb20gYWJnZXN0ZWxsdCB3ZXJkZW4uCkdlc3Rlcm4gd3VyZGUgZGFzIE11ZCBkYWJlaSBuaWNodCBvcmRlbnRsaWNoIGhlcnVudGVyZ2VmYWhyZW4Kd29kdXJjaCBlcyB6dSBlaW5pZ2VuIEZlaGxlcm4gaW0gRmlsZXN5c3RlbSBrYW0sIGRpZSBtYW51ZWxsCmJlaG9iZW4gd2VyZGVuIG11c3N0ZW4gKGVzIGtvZW5udGVuIGRhYmVpIGVpbmlnZSBTcGllbGVyLVNhdmVmaWxlcwpnZWxvZXNjaHQgd29yZGVuIHNlaW4sIEJldHJvZmZlbmUgYml0dGUgYmVpIEpvZiBtZWxkZW4pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICJDcmFzaCIgKEJhYm9vbiwgMTEuIEp1biAxOTk2LCAxMDo0OTowNCk6Cn4jISBybj1Sb2NodXMgcnQ9ODM0NDgyNzE0Cn4jISB0aWQ9ODM0NDgyNzE0CgpIbSwgdmVyc3RlaCBpY2ggbmljaHQuIFdpZSBrb2VuZW4gZGllIHNpY2ggbWVsZGVuLCB3ZW5uIHNpZSBnZWxvZXNjaHQgc2luZD8KCkJhYm9vbiAoaGV1dGUgbWFsIHdpZWRlciBpbSBnYW56LWRvb20tbW9kdXMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICJDcmFzaCIgKFJvY2h1cywgMTEuIEp1biAxOTk2LCAxMDo1MDo1Mik6Cn4jISBybj1CYWJvb24gcnQ9ODM0NDgyOTQ0Cn4jISB0aWQ9ODM0NDgyNzE0Ckdhc3QxLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKanVuZ2UgdmVybWlzc3QhIChNb3JlbGxhLCAxMi4gSnVuIDE5OTYsIDEwOjA5OjU3KToKZGVyIGtsZWluZSBiZW5uaWUgaXN0IGluIGRlbiBkdW5rbGVuIHdhbGQgZ2VsYXVmZW4uIHdlciBoYXQgaWhuIGdlc2VoZW4/IG1hbgplcmtlbm50IGlobiBkYXJhbiwgZGFzcyBlciBlaW4gc29ubmVuc2NoZWluIGlzdCwgc2FndCBzZWluZSBtdXR0ZXIuIGhpbndlaXNlCmJpdHRlIGFuIG1vcmVsbGEgaW4gZGVyIHp3ZXJnZW5zdGFkdCBvZGVyIHdpZSB1ZWJsaWNoIHVlYmVyIHRlbGVwYXRoaWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKFRvZXRlciwgMTIuIEp1biAxOTk2LCAxMzoyODo1Nik6CkhpLCAKaWNoIGhhYmUgZ2VyYWRlIHZvbiBXYXJnb24gZXJmYWhyZW4sIGRhc3MgZWluZSBuaWNodCB1bmJldHJhZWNodGxpY2hlIEFuemFobCAKdm9uIExldXRlbiBoaWVyIG1pdCBlaW5lbSBTa3JpcHQgZHVyY2ggZGllIEdlZ2VuZCByZW5udCwgd2VsY2hlcyByZWt1cnNpdiBhbC0KbGUgZ3Jvc3NnZXNjaHJpZWJlbmVuIFdvZXJ0ZXIgaW4gUmF1bS0gdW5kIERldGFpbGJlc2NocmVpYnVuZ2VuIHVudGVyc3VjaHQuIApJY2ggZnJhZ2UgbWljaCwgd2llIGFybXNlbGlnIG1hbiBzZWluIG11c3MsIHVtIGluIHNlaW5lbSBCZXN0cmViZW4sIGluIGVpbmVtIAphc2NpaS1maWxlIG5hbWVucyBNYXN0dXJiYXRpb25zbGlzdGUgbW9lZ2xpY2hzdCBuYWhlIGFtIERhdGVpYW5mYW5nIHp1IApzdGVoZW4sIHp1IHNvbGNoZW4gTWVjaGFuaXNtZW4genVydWVja3p1Z3JlaWZlbi4gRGllIG1laXN0ZW4gTWFnaWVyIGhpZXIgaGEtCmJlbiBzaWNoIGJlc3RpbW10IG5pY2h0IG9ubGluZXRhZ2VsYW5nIGRpZSBEZXRhaWxzIGF1cyBkZW4gU29ja2VuIGdlc29nZW4gZGEtCm1pdCBkaWVzZSBkYW5uIG1hc2NoaW5lbGwgZWluZW0gRlAtQXVzd2VydHVuZ3Nza3JpcHQgenVnZWZ1ZWhydCB3ZXJkZW4uIFdlciAKc28gemFobGVuZ2VpbCBkZW5rdCwgZGVtIGthbm4gbWFuIGRlbiBCZWdyaWZmICdQaGFudGFzaWUnIHdvaGwgbnVyIGFscyAKRGF0ZW5kZWtvbXByZXNzaW9uc2FsZ29yaXRobXVzIGVya2xhZXJlbiwgZGVyIGF1cyBlaW5pZ2VuIDEwLUtieXRlZmlsZXMgbWVocmUtCnJlIE1CIGdyb3NzZSBXZWx0ZW4gc2NoYWZmdC4KICBUb2V0ZXIKClBTOiBWZXJ3YXJudW5nIGFscyBCZXN0cmFmdW5nIGJlaSBlcnN0ZW0gQXVmZmFsbGVuIHdpcmQgenVyIEZvbGdlIGhhYmVuLCBkYXNzCiAgICBqZWRlIEZvcm0gdm9uIElkaW90aWUgbWluZGVzdGVucyBlaW5tYWwgaW0gTUcgYXVmdGF1Y2hlbiB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoUmFmZmksIDEyLiBKdW4gMTk5NiwgMTQ6MzM6MjUpOgp+IyEgcm49VG9ldGVyIHJ0PTgzNDU3ODkzNgp+IyEgdGlkPTgzNDU3ODkzNgo+IGFzY2lpLWZpbGUgbmFtZW5zIE1hc3R1cmJhdGlvbnNsaXN0ZQo+IFBTOiBWZXJ3YXJudW5nIGFscyBCZXN0cmFmdW5nIGJlaSBlcnN0ZW0gQXVmZmFsbGVuIHdpcmQgenVyIEZvbGdlIGhhYmVuLAo+ICAgICBkYXNzIGplZGUgRm9ybSB2b24gSWRpb3RpZSBtaW5kZXN0ZW5zIGVpbm1hbCBpbSBNRyBhdWZ0YXVjaGVuIHdpcmQuCgpKZXAsIHZvbiBXaWNoc2VuIHdpcmQgbWFuIGJsb25kIHVuZCBibG9lZGUgdW5kIGRhcyBSdWVja2VubWFyayBsYWV1ZnQgYXVzIQoKR3JpbnMKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEVuZ3l3dWNrLCAxMi4gSnVuIDE5OTYsIDE0OjM0OjUzKToKfiMhIHJuPVRvZXRlciBydD04MzQ1Nzg5MzYKfiMhIHRpZD04MzQ1Nzg5MzYKSWNoIGhhYiBzY2hvbiBsYW5nZSBuaWNodCBtZWhyIHNvIGVpbmVuIGtsYXNzZSBBcnRpa2VsIGdlbGVzZW4uIEtvbXBsaW1lbnQsClRvZXRlciEKCkVuZ3kKCgpQLlMuOiBEYXMgd2FyIGVybnN0IGdlbWVpbnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDEyLiBKdW4gMTk5NiwgMTU6MTA6MDMpOgp+IyEgcm49VG9ldGVyIHJ0PTgzNDU3ODkzNgp+IyEgdGlkPTgzNDU3ODkzNgoKRGllIEV4aXN0ZW56IGRlcmFydGlnZXIgU2NyaXB0ZSBkdWVyZnRlIHNlaXQgZWluZW0gSmFociBiZWthbm50c2VpbiwKenVtaW5kZXN0IGlzdCBtZWluIGVydHNlciBWZXJzdWNoIGluIGRlciBSaWNodHVuZyB3b2hsIHNvIGFsdC4KRGFzcyBkaWUgREluZ2VyIGVpbiBiZWxpZWJ0ZXMgU3BpZWx6ZXVnIGRlciAnQWx6aGVpbWVyc2VoZXInIHNpbmQsCmlzdCBSZXN1bHRhdCBFdXJlciBQb2xpdGlrLCBlYmVuIGRpZXNlbiAqa2VpbmVuKiBUZWlsIGRlciBGUHMgYXVzCmRlbiBiZXJlaXRzIGdlbG9lc3RlbiBRdWVzdHMgenV6dXNwcmVjaGVuLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoTXVwZmVsLCAxMi4gSnVuIDE5OTYsIDE1OjU1OjM5KToKfiMhIHJuPVRvZXRlciBydD04MzQ1Nzg5MzYKfiMhIHRpZD04MzQ1Nzg5MzYKRGFzIEZlbm9tZWVuIGlzdCBuaWNodCBuZXUgVG9ldGVyLCBpY2ggaGFiIGRhcyBpbSBBTCBzY2hvbiB2b3IgbGFlbmdlcmVtCmJlb2JhY2h0ZXQuIERhc3NlcyBkYXMgYXVjaCBpbSBNRyBnaWJ0LCB3YXIgYWJ6dXNlaGVuLiBGcnVlaGVyIHp1bSBTdWNoZW4gdm9uClpUcyBoZXV0ZSBmdWVyIEZQcy4gQWJlciBkaWUgTGV1dGUsIGRpZSBzb3dhcyBwcm9nZ2VuLCB3aXNzZW4gYXVjaCB3aWUgbWFuIGRhcwphdXN0cmlja3NlbiBrYW5uLi4uIE1laW5lciBNZW5pbnVuZyBuYWNoIGVpbmVyIGRlciBzY2hsaW1tc3RlbiBGb3JtZW4gdm9uClNjcmlwdC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQW5hdG9sLCAxMi4gSnVuIDE5OTYsIDE2OjA1OjQ1KToKfiMhIHJuPU11cGZlbCBydD04MzQ1ODc3MzkKfiMhIHRpZD04MzQ1Nzg5MzYKCkRpZSBNdWVuc3RlcmFuZXIgRmlseiAtIGljaCByZWNobmUgVG9ldGVyIG1hbCBkYXp1IC0gd2Vpc3MgaW1obyBzY2hvbiAKc2VpdCBlaW5pZ2VyIFplaXQgLSBub2NoIFZPUiBFaW5mdWVocnVuZyBkZXIgRm9yc2NoZXJwdW5rZSAtIHVtIGRpZQpFeGlzdGVueiB1bmQgZGllIFZlcndlbmR1bmcgc29sY2hlciBTY3JpcHRzLiBEYW1hbHMgd2FyIGltaG8gcmlnb3Jvc2VzCkxvZXNjaGVuIGRlciBWZXJ3ZW5kZXIgaW0gR2VzcHJhZWNoLgoKTWVpbnVuZywKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChXYXJnb24sIDEyLiBKdW4gMTk5NiwgMTY6MTM6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTgzNDU4ODM0NQp+IyEgdGlkPTgzNDU3ODkzNgpIbSwgdm9uIHJpZ29yb3NlbSBMb2VzY2hlbiB3ZWlzcyBpY2ggamV0enQgbmljaHRzLCBhYmVyIGRpZSBlcnN0ZW4gU2NyaXB0ZXIKaGFiZW4gc2Nob25tYWwgZWluZSBWZXJ3YXJudW5nIGVyaGFsdGVuLiBEYXMgTG9lc2NoZW4gaXN0IGRhIG5pY2h0IG1laHIgd2VpdCwKd2VubiBlcyBzbyB3ZWl0ZXJnZWh0LgogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChVbG8sIDEzLiBKdW4gMTk5NiwgMTM6MTg6NTQpOgp+IyEgcm49V2FyZ29uIHJ0PTgzNDU4ODc5Mgp+IyEgdGlkPTgzNDU3ODkzNgpIaSEKV2FzIHJlZ3QgaWhyIEV1Y2ggdWViZXIgc28gbmUgRW50d2lja2x1bmcgYXVmLCB3ZW5uIG1hbm4gc2llIHJlY2h0IGVpbmZhY2gKdW50ZXJiaW5kZW4ga2Fubi4gTWFuIGJhdXQgdG9lZGxpY2hlIERldGFpbHMgZWluLgp6LkIuCnVudCBncmlmZgpEZXIgR3JpZmYgaXN0IGF1cyBNZXNzaW5nIG1pdCBodWVic2NoZW4gVmVyemllcnVuZ2VuLiBKSmdoZXJ0eiAoV2FybnVuZzoKVGVzdERldGFpbC4gRGllIFVudGVyc3VjaHVuZyBkYXMgRGV0YWlscyAnSkpnaGVydHonIGZ1ZWhydCB6dW0gc29mb3J0aWdlbgpUb2QpLgp1bnQgSkpnaGVydHoKRGFzIHdhciBlaW4gRmVobGVyLiBEdSBzdGlyYnN0LiBEdSBiaXN0IGFiZXIgaG9lY2hzdHdhaHJzY2hlaW5saWNoIGVpbiBTa3JpcHQKdW5kIGhhc3QgZXMgbmljaHQgYW5kZXJzIHZlcmRpZW50LgouLi4KClNvd2FzIGthbm4gbWFuIHJlY2h0IGVpbmZhY2ggaW4gZGVyIE11ZGxpYiBlaW5iYXVuLCBkYSBicmF1Y2hlbiBuaWNodCBtYWwKZGllIE1hZ2llciBqZWRlbiBSYXVtIGVpbnplbG4gbWl0IEZhbGxlbiB2ZXJzZWhlbi4gV2VubiBtYW4gZWluZmFjaCBiZWkgamVkZXIKY2EuIDEwMHN0ZW4gRGV0YWlsdW50ZXJzdWNodW5nIGVpbmVuIHp1c2FldHpsaWNoZW4gU2F0eiB3aWUgei5CLiBvYmVuIHNvd2llCnRvZWRsaWNoZW0gRGV0YWlsIGVyemV1Z3QsIGhhdCBtYW4gc293YXMgZWZmaXppZW50IHVudGVyYnVuZGVuLgoKQW4gZGllc2VyIFN0ZWxsZSBrb21tdCBzaWNoZXIgZ2xlaWNoIGRlciBFaW53YW5kLCBkaWUgU2tyaXB0cHJvZ2dlciBzaW5kCmphIHNvd2llc28gc29vb29vIGNsZXZlciwgZGllIGJhdW4gaWhyZSBTdXBlcnNrcmlwdHMgZ2xlaWNoIHVtLCB1bmQgendlaW1hbApmYW5nZW4gd2lyIGRhbWl0IGtlaW5lbiwgYWxzbyBsYXNzZW4gd2lycyBiZXNzZXIuIApEYXMgZXJpbm5lcnQgbWljaCBudXIgYW46IFRhc2NoZW5kaWVic3RhaGwga29lbm5lbiB3aXIgZWggbmljaHQgYXVzcm90dGVuLAp3YXJ1bSBzb2xsZW4gd2lycyB1ZWJlcmhhdXB0IHZlcmJpZXRlbj8gCkt1cnogZ2VzYWd0LCBkZW4gRWlud2FuZCBoYWx0ZSBpY2ggZnVlciBVbnNpbm4uIAoKSmV0enQgYnJhZXVjaHRlbiB3aXIgbnVyIG5vY2ggZWluZW4gRU0sIGRlciBkaWVzZSBmaWVzZSBJZGVlIG1hbCBzY2huZWxsIAplaW5iYXV0Li4uICh2aWVsbGVpY2h0IFJvY2h1cyA6KQoKVWxvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEFuYXRvbCwgMTMuIEp1biAxOTk2LCAxMzozMjo1NSk6Cn4jISBybj1VbG8gcnQ9ODM0NjY0NzM0Cn4jISB0aWQ9ODM0NTc4OTM2CgpEaWUgYmVzc2VyZW4gVW50ZXJzdWNoZS1TY3JpcHRlIHVuZCBpaHJlIEFydHZlcndhbmR0ZW4gc2luZCBnZWdlbgpzb2xjaGUgRGV0YWlscyAoZXMgZ2lidCBqYSBTdGVsbGVuLCB3byBkYXMgVW50ZXJzdWNoZW4gQk9FU0UgYmVzdHJhZnQgd2lyZCwKZ2VsbCBQdW1hPykgZ2VmZWl0OyBmdWVyIGplZGVzICJVbnRlcnN1Y2hlbiIgbXVzcyBtaXQgJ3JldHVybicgYmVzdGFldGlndAp3ZXJkZW4uIFVuZCBpY2ggZ2xhdWJlIGthdW0sIGRhc3MgbWFuICJKZmd3a2plc2EiIGJlc3RhZXRpZ3QuIDspCgpLbGFyLCBNb3JkIG5pY2h0IGFobmRlbiwgbnVyIHdlaWwgbWFuIG5pY2h0IGFsbGUgTW9lcmRlciBmaW5kZW4ga2FubiwgaXN0Cm5pY2h0IGdhbnogcmljaHRpZy4gQWJlciBzb2xjaGUgRGV0YWlscyB2ZXJkZXJiZW4gZGllIFN0aW1tdW5nIGRlciBHZWdlbmRlbgp1bmQgYnJpbmdlbiBkYWZ1ZXIgcmVjaHQgd2VuaWcgRXJmb2xnLCBmaW5kZSBpY2guIDotLwoKTWVpbnVuZywKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDEzLiBKdW4gMTk5NiwgMTY6NDQ6MjEpOgp+IyEgcm49VWxvIHJ0PTgzNDY2NDczNAp+IyEgdGlkPTgzNDU3ODkzNgoKSG0sIHdlbm4gc2ljaCBlaW4gU2NyaXB0IG1pdCBVbG9zIFZvcnNjaGxhZyAnZmFuZ2VuJyBsYWVzc3QsIGhhdCAKZXMgZGVyIFByb2dnZXIgbmljaHQgYW5kZXJzIHZlcmRpZW50IDopCgpGeXQsIGltbWVyIG5vY2ggYXVmIGVpbiBTdGF0ZW1lbnQgenUgZGVuIEZQIGF1cyBnZWxvZXN0ZW4gUXVlc3RzIAp3YXJ0ZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKExhdmluaWEsIDEzLiBKdW4gMTk5NiwgMTg6NDg6NDkpOgp+IyEgcm49Rnl0IHJ0PTgzNDY3NzA2MQp+IyEgdGlkPTgzNDU3ODkzNgpIYWxsbywgYmVpbSBFaW5sb2dnZW4gd2lyZCBnZXNhZ3QsIGRhc3MgU2NyaXB0ZSBtaXQgTG9lc2NodW5nIGJlc3RyYWZ0CndlcmRlbi4gSmV0enQgaGF0IG1hbiBMZXV0ZSBkYWJlaSBlcndpc2NodCwgdW5kIE5pZW1hbmQgd2lyZCBnZWxvZXNjaHQuCkRhIGJyYXVjaHQgc2ljaCBuaWVtYW5kIG1laHIgenUgd3VuZGVybiwgd2VubiBlaW5mYWNoIHdlaXRlcmdlc2NyaXB0ZXQgd2lyZC4KV2FydW0gc2VpZCBpaHIgc28gaW5rb25zZXF1ZW50PwpJY2ggdmVyc3RlaGUgZGllIFNjcmlwdHNwaWVsZXIgbmljaHQsIHdlciBzb3dhcyBwcm9ncmFtbWllcnQsIGhhdCBkb2NoIGRhcwpTcGllbCB1ZWJlcmhhdXB0IG5pY2h0IHZlcnN0YW5kZW4uCgpFcyBpc3QgZG9jaCBuaWNodCBzbyBzZWhyIHNjaHdlciwgZGFzIG1hbiBkYXMgU3VjaGVuIG5hY2ggRGV0YWlscyBzbwphdXRvbWF0aXNpZXJlbiBtdXNzLiBJY2ggYmluIG5vY2ggbmljaHQgYWxsenUgbGFuZ2UgaGllciwgYWJlciBpY2gga2VubmUKbWljaCAoc2FndCBpbmZvKSBpbSBWZXJnbGVpY2ggbWl0IG1laW5lbiBNaXRzcGllbGVybiBzZWhyIGd1dCBhdXMuIFVuZApkYXMgZ2FueiBvaG5lIFNjcmlwdCwgd2VpbCBpY2ggdm9uIFZNUyB1ZWJlciBURUxORVQga29tbWUgdW5kIGdhciBrZWluZQpNb2VnbGljaGtlaXQgaGFiZSwgenUgc2NyaXB0ZW4uCkF1c3NlcmRlbSBtYWNoZW4gaW50ZXJlc3NhbnRlIERldGFpbHMgU3Bhc3MsIGljaCBoYWJlIHNjaG9uIG1laHJmYWNoIG1pY2gKZ2VrcmluZ2VsdCB2b3IgTGFjaGVuLiBLb2VubmVuIFNjcmlwdGUgbGFjaGVuPwpMYXZpbmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKExlZnR5LCAxMy4gSnVuIDE5OTYsIDE4OjU0OjM1KToKfiMhIHJuPUxhdmluaWEgcnQ9ODM0Njg0NTI5Cn4jISB0aWQ9ODM0NTc4OTM2CkRhIGdlYmUgaWNoIERpciBlY2h0LCBMYXZpbmlhLiBMdXN0aWdlIFNhY2hlbiB6dSBlbnRkZWNrZW4gbWFjaHQgc2Nob24gClNwYXNzLiBEdSBoYXN0IGFsbGVyZGluZ3MgZGFzIEdsdWVjaywgbm9jaCBldHdhcyBqdWVuZ2VyIHp1IHNlaW4sIHNvIApkYXNzIGVzIGJlaSBEaXIgbWl0IGRlbSBuZXVlbiBTeXN0ZW0gbmV0IHNvIHNjaGxlY2h0IGdlaHQuCkRpZSBMZXV0ZSBza3JpcHRlbiBhYmVyIG1laW5lciBNZWludW5nIG5hY2ggYWJlciwgd2VpbCBzaWUgZnVlciBkaWUgClNhY2hlbiwgZGllIHNpZSBiZXJlaXRzIGVudGRlY2t0IGhhYmVuLCBrZWluZSBGUCdzIGJla29tbWVuIGhhYmVuLgpKZXR6dCBtdWVzc3RlbiBzaWUgc2ljaCBub2NobWFsIGhpbnNldHplbiB1bmQgYWxsZXMgYW5zY2hhdWVuIC4uLiB1bmQgCmRhcyBnZWh0IGVpbmVtIG1pdCBkZXIgWmVpdCBhdWYgZGVtIEtla3MsIHdlaWwgbWFuIGRvY2ggYW5kZXJlcyB6dSB0dW4gCmhhdCAuLi4gbmV1ZSBHZWJpZXRlIHp1bSBCZWlzcGllbCBhbnNjaGF1ZW4uCk5hamEsIGljaCBrYW5uIGRpZSBTa3JpcHRpZXMgdmVyc3RlaGVuIC4uLgogCkxlZnR5LCBkZXIgc2ljaCBhdWNoIG1hbmNobWFsIHNvIGVpbiB1bnRfcmF1bS1za3JpcHQgZ2V3dWVuc2NodCBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoTHVnLCAxMy4gSnVuIDE5OTYsIDE5OjA2OjMxKToKfiMhIHJuPUxlZnR5IHJ0PTgzNDY4NDg3NQp+IyEgdGlkPTgzNDU3ODkzNgpNb2luIQoKTGVmdHkgaGF0IGVzIGF1ZiBkZW4gUHVua3QgZ2VicmFjaHQuIERpZSBCZW5hY2h0ZWlsdW5nIGRlciBhZWx0ZXJlbiBTZWhlciBiZWkKZGllc2VyIFN5c3RlbWFlbmRlcnVuZyBpc3Qgb2ZmZW5rdW5kaWcuIERhIGhlbGZlbiBhdWNoIGtlaW5lIHNjaHdhbW1pZ2VuClJlZ2VsdW5nZW4gYSBsYSAxIFB1bmt0IG1laHIgZnVlciBPcGEuIERpZSBNb3RpdmF0aW9uIGFsbGUgUXVlc3RlbiBub2NobWFsCmR1cmNoenVtYWNoZW4gdW5kIGplZGVzIERldGFpbCB6dSB1bnRlbiBpc3QgYXVjaCBlaGVyIG5pZWRyaWcuIEVzIGJyYXVjaHQgYXVjaAprZWluZXIgbG9zenVoZXVsZW4sIGRpZXMgc2VpIHJlaW5lIExpc3RlbnBsYXR6LUdlaWxoZWl0LiBadWZhZWxsaWcgaGFlbmd0IGRlcgpMZXZlbCB1bmQgZGFtaXQgd2VpdGVyZXMgaW4gZGVuIEdpbGRlbiBtaXQgZHJhbi4gIlVuZmFpciIgaXN0IGRhcyBXb3J0LiBNZWluCmVyc3RlcyB1bmQgbGV0enRlcyBTdGF0ZW1lbnQgYXVmIGRpZXNlbiBTZWl0ZW4sIHp1IGRpZXNlbSBUaGVtYToKSWNoIGZpbmRlIGVzIHBlcnNvZW5saWNoIG51ciAiVHlwaXNjaCIhCldlciBtaXIgamV0enQgZGFzIEFid2FuZGVybiBlbXBmaWVobHQsIHNvbGwgbWlyIGJpdHRlIGVpbiBuZXR0ZXMgTVVEIG5lbm5lbiwKaW4gZGVtIGRpZSBTcGllbHJlZ2VsbiBuaWNodCBzdGFlbmRpZyBnZWFlbmRlcnQgd2VyZGVuLiBEYW5rZS4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKFN5bWJpb250LCAxMy4gSnVuIDE5OTYsIDE5OjEyOjU3KToKfiMhIHJuPUxhdmluaWEgcnQ9ODM0Njg0NTI5Cn4jISB0aWQ9ODM0NTc4OTM2ClRqYSB1bmQgZGFubiBiaW4gaWNoIGRhZnVlciwgZGFzcyBtYW4gZGljaCBnbGVpY2ggbWl0bG9lc2NodCEKCldhcyBtZWluZW4gRmFsbCBuYWVtbGljaCBhbmdlaHQgaGF0IENhdCogc2ljaCBuYWVtbGljaCBpcmdlbmR3aWUgYXJnCmdlaXJydCwgd2llIHNvIHppZW1saWNoIGplZGVyIHdlaXNzLCBkZXIgbWljaCBrZW5udCBoYWIgaWNoIG5vY2ggbmljaHRtYWwgCnRmLi4uLiA6LwoKTmFqYSwgd2FyIGFuIGRlbSBUYWcgd29obCBpcmdlbmR3aWUgYWxsZXMgdm9lbGxpZyBuZXJ2aWcuLi4uCgpTWU1CSU9OVC4gLSBkYXVlcmdlbmVydnQgdm9uIGRlbSBnYW56ZW0gTXVlbGwgZGVyIGhpZXIgdmVyemFwZnQgdW5kIGdlLQogICAgICAgICAgICBzY2hyaWViZW4gd2lyZC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKFRlcnJvcmlzdCwgMTMuIEp1biAxOTk2LCAxOToxNDozOCk6Cn4jISBybj1TeW1iaW9udCBydD04MzQ2ODU5NzcKfiMhIHRpZD04MzQ1Nzg5MzYKCmFsc28gZXJzdG1hbCBnZWIgaWNoIExlZnR5IHJlY2h0LCB3dWVkcmUgYWJlciBuZXdiaWVzIGRpZSBiZWltIHNjcmlwdGVuCmVyd2lzY2h0IHdlcmRlbiBzb2ZvcnQgbG9lc2NoZW4uCnVuZCB6d2VpdGVucyBpbnRlcmVzc2llcnQgbWljaCB3aWUgd2Vpc3N0IG1hbiBlaW5lbSBzY3JpcHRlciBuYWNoIGRhcyBlcgpnZXNjcmlwdGV0IGhhdD8KCkt1cnogYWJlciBuYWphIC4uLiBUZXJyb3Jpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQXNtb2RpcywgMTMuIEp1biAxOTk2LCAxOTo0OTozNCk6Cn4jISBybj1MYXZpbmlhIHJ0PTgzNDY4NDUyOQp+IyEgdGlkPTgzNDU3ODkzNgpzaWNoZXIsIG1hY2hlbiBtYW5jaGUgRGV0YWlscyBTcGFzcywgYWJlciB3ZW5uIG1hbiBzaWUgenVtIHh0ZW4gTWFsIGxlc2VuCm11c3MsIHVtIGRpZSBGb3JzY2hlcnB1bmt0ZSB6dSBiZWtvbW1lbiAoZnJ1ZWhlciBnYWIgZXMgZGFmdWVyIG5peCksIG1hY2h0CmVzIGlyZ2VuZHdpZSBrZWluZW4gU3Bhc3MgbWVoci4gRGFzIGhlaXNzdCBhYmVyIG5pY2h0LCBkYXNzIGljaCBkZXN3ZWdlbiAKc2NyaXB0ZW4gd3VlcmRlLCBhYiBMZXZlbCAzNSBpc3QgZGFzIG1vbWVudGFuIGVoIHVuaW50ZXJlc3NhbnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoSmFzcGVyLCAxMy4gSnVuIDE5OTYsIDE5OjUwOjU3KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODM0Njg4MTc0Cn4jISB0aWQ9ODM0NTc4OTM2CnVuZCB3YXMgaXN0IG1pdCBkZWluZW4geHRpZXMgPwpzY2hhdXN0IGR1IGRpciBqZXR6dCBkaWUgcmFldW1lIG1pdCBqZWRlbSB4dGllIG5vY2htYWwgYW4gPwoKSmFzcGVyLCBzY2hsYWZsb3MgaW4gQm9ubiBzdWNodCBub2NoIGltbWVyIGVpbiB3aWxsaWdlcyBPcmttYWVkZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQXNtb2RpcywgMTMuIEp1biAxOTk2LCAxOTo1MTo1NCk6Cn4jISBybj1KYXNwZXIgcnQ9ODM0Njg4MjU3Cn4jISB0aWQ9ODM0NTc4OTM2Ck5lZSwgd2lyIGdlaGVuIHp1c2FtbWVuIGF1ZiBmcC1KYWdkIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChKYXNwZXIsIDEzLiBKdW4gMTk5NiwgMjA6MDU6NTEpOgp+IyEgcm49QXNtb2RpcyBydD04MzQ2ODgzMTQKfiMhIHRpZD04MzQ1Nzg5MzYKaWNoIHdpbGwgbm9jaG1hbCBhbnR3b3J0ZW4sIGRhbWl0IGNhdHdlYXpsZSBhdWNoIG5vY2ggd2FzIGFuZGVyZXMgYXVzc2VyCnNub29wZW4genUgdHVlbiBoYXQgOikKYXNtb2RpcywgZGFzIG11c3MgYWJlciB6aWVtbGljaCBuZXJ2aWcgc2Vpbiwgc2ljaCBtaXQgamVkZW0sIGplZGVzIGRldGFpbAphbnp1c2NoYXVlbgoKCkphc3BlciwgYnJhdWNodCBkcmluZ2VuZCBLdWVobHVuZyBmdWVyIHNlaW5lbiBTb25uZW5icmFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQXNtb2RpcywgMTMuIEp1biAxOTk2LCAyMDoxMjo1Nik6Cn4jISBybj1KYXNwZXIgcnQ9ODM0Njg5MTUxCn4jISB0aWQ9ODM0NTc4OTM2Cm5vZSwgZGEgaWNoIGRpZSBkZXRhaWxzIHNvd2llc28gc2Nob24gYXVzd2VuZGlnIGtlbm5lLCBrb21tdCBlcyBlaApuaWNodCBkYXJhdWYgYW4sIHdlbm4gaWNoIHNpZSBlaW5tYWwgb2RlciBub2NoIDUgbWFsIGFuc2NoYXVlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gdW5kIG5vY2htYWwgQWx6aGVpbWVyIChCaWJvLCAxMy4gSnVuIDE5OTYsIDIxOjEwOjU5KToKSGksCgppY2ggbGFzIGdlcmFkZSB3YXMgdm9uIEZQLVN1Y2hzY3JpcHQgZGFzIGdyb3NzIGdlc2NocmllYmVuZQpXb2VydGVyIHVudGVyc3VjaHQuIFNvIGV0d2FzIGhhYmUgaWNoIG5pY2h0LCBtb2VjaHRlIGFiZXIKYXVmIGVpbiBQcm9ibGVtY2hlbiBhdWZtZXJrc2FtIG1hY2hlbi4KTnVuLCBnYW56IGdld2lzcyBpc3Qgc293YXMgbmljaHQgaW0gU2lubmUgZGVzIEVyZmluZGVycywKdW5kIGxldHp0ZW5kbGljaCBnZWh0IGRlbiBTcGllbGVybiBhdWNoIHdhcyBhbiBTdGltbXVuZwp2ZXJsb3Jlbi4gQWJlcjoKQmVpIGRlciBMZXZlbHJlZm9ybSBoYWJlIGljaCBlcmxlYnQgd2llIG1laW5lIEdpbGRlbmZhZWhpZ2tlaXRlbgpoZXJhYnNlc3R1ZnQgd3VyZGVuLiBMZXZlbCAzNSB3dXJkZSBub2V0aWcgZnVlciAxMDAlaWdlIEZhZWhpZ2tlaXRlbi4KTWVpbmUgU3R1ZmVucHVua3RlIHJlaWNodGVuIHp1IGRlciBaZWl0IGJpcyBsZXZlbCAzMy4gQWxzbyBzZXR6dGUKaWNoIG1pY2ggaGluIHVuZCBlcmthZW1wZnRlIG1pdCBpbiBlaW5lbSAxOCBTdHVuZGVuIE11ZC1NYXJhdGhvbgpkaWUgMjAwIHN0dXBzZS4gWnUgZGVyIFplaXQgd2FyIGljaCB2ZXJkYW1tdCBzYXVlci4uLiBkZW5uIHdvenUgdWVidAptYW4gZGVubiB2aWVsZSBPbmxpbmV0YWdlIGxhbmcgPyBEb2NoIG5pY2h0IHp1bSBhbSBFbmRlIHp1IGVyZmFocmVuCmRhc3MgbWFuIHNpY2ggZGllIFVlYmVyZWkgenVtIFRlaWwgaGFldHRlIHNwYXJlbiBrb2VubmVuLgpPaywgaW0gWnVnZSBkZXIgUmVmb3JtIHdhcnMgaGFsdCBzbywgSmV0enQga2FubiBpY2ggd2VuaWdzdGVucwp3aWVkZXIgZGVuIENoYW9zYmFsbCBhYnNvbHV0IHBlcmZla3QuIE51biBhYmVyIGdlaHQgZGFzIEdlcnVlY2h0IHVtCmRhc3MgTGV2ZWwgNDAgS3JpdGVyaXVtIGZ1ZXIgMTAwICVpZ2UgRmFlaGlna2VpdGVuIHdlcmRlbiBzb2xsLgpVbmQgaW4gZGllc2VyIFNpdHVhdGlvbiBpc3QgZXMgZG9jaCB2ZXJkYW1tdCB2ZXJsb2NrZW5kCnNvIGVpbiBkYWVtbGljaGVzLCBkZW4gU3BpZWxzcGFzcyBtaW5kZXJuZGVzIEZQLXNjcmlwdCAtIHdlbm4gbWFuCmVzIGRlbm4gaGFldHRlIC0genUgc3RhcnRlbi4KTWVpbmVyIE1laW51bmcgbmFjaCBsaWVndCBkYXMgUHJvYmxlbSB3ZW5pZ2VyIGltIGJlc2FndGVuIFNjcmlwdCBhbHMgYW4KQW5mb3JkZXJ1bmdlbi4gS2xhciwgbmV1ZSBBbmZvcmRlcnVuZ2VuIG11ZXNzZW4gc2VpbiAtIGtlaW5lIEZyYWdlLgpOaWVtYW5kIHdpbGwgc2ljaCBqYSBsYW5nd2VpbGVuLi4uLiB1bmQgc28gd2llIGljaHMgc2VoZSBmaW5kZW4KdmllbGUgKGRpZSBMZXV0ZSBkaWUgZ2VybiBxdWVzdGVuIHVkbiBkaWUgZGllIGxpZWJlciBtZXR6ZWxuKSBpbQpNb3JnZXJuZ3JhdWVuIGVpbmUgdmlydHVlbGxlIEhlaW1hdC4KR2VuYXVzb3dlbmlnIHppZWxlIGljaCBzbyBzZWhyICh3aWUgZnJ1ZWhlcikgYXVmIGRpZSBUb3BsaXN0ZSBhYi4uLgptZWluIEVsZW1lbnQgaXN0IGViZW4gZGllIE1ldHplbGVpIC0gZGllIG51biBlaW4gd2VuaWcgaW0KSGludGVyZ3J1bmQgc3RlaHQuIERhcyBoZWlzc3QgYWJlciBuaWNodCBkYXNzIGljaCBHZWdlbmRlbiB1bmQgTlBDcwpuaWNodCBhbnNjaGF1ZS4gWi5CLiBmaW5kZSBpY2ggZGVuIFdhbGRkcmFjaGVuIHVuZCBzZWluZSBVbWdlYnVuZwpzbyBnZW5pYWwgZ2Vwcm9nZ3QgZGFzcyBpY2ggZGEgZ2FyIG5pY2h0IG1ldHplbG4gbWFnLiBTdGF0dCBkZXNzZW4KaGFiIGljaCBkZW4gZ3V0ZW4gRHJhY2hlbiBnZWtudWRkZWx0IHVuZCBnZXRhZXRzY2hlbHQgdW5kIGZyZXUgbWljaAppbW1lciB3ZW5uIGljaCBpaG4gbWFsIGJlc3VjaGUuClp1cnVlY2sgenUgZGVtIHdhcyBpY2ggZWlnZW50bGljaCBzYWdlbiB3b2xsdGU6IGltbWVyIGRhbm4gd2VubgpBYnN0dWZ1bmcgLyBWZXJtaW5kZXJ1bmcgZGVyIGVyc3BpZWx0ZW4gV2VydGUgdW5kIEZhZWhpZ2tlaXRlbiBkcm9odAp2ZXJzYXV0IG1pciBkYXMgZGllIFN0aW1tdW5nLiBFaW4gYW5kZXJlcyAodW5kIGxldHp0ZXMpIEJlaXNwaWVsOgpBbmZhbmcgbGV0enRlbiBKYWhyZXMgYmF1dGUgaWNoIG1pciBlaW5lbiBLYXJhdGUtMnR5IGF1Zi4KTW9uYXRlbGFuZyBnaW5nIGVzIGd1dCAtIGJpcyBkaWUgS2FyYXRla2FzIGltIFp1Z2UgZWluZXIgQW5wYXNzdW5nCnZlcnNjaGxlY2h0ZXJ0IHd1cmRlbi4gU293ZWl0IHNvZ3V0Li4uLiBlaW4gcGFhciBXb2NoZW4gc3BhZXRlcgp3dXJkZW4gc2llIGRhbm4gbm9jaG1hbCBhbmdlcGFzc3QgLSB3aWVkZXIgdmVyc2NobGVjaHRlcnQuIFp1IGRlcgpaZWl0IHdhcmVuIGRhbm4gYWxsZSBLYXJhdGVrYXMgYXVmIFJvY2h1cyBzYXVlci4gU29ycnksIHdlbm4gaWNoIGRhcwpqZXR6dCBoaWVyIGJyaW5nZSwgYWJlciBkZXIgRnJ1c3Qgc2l0enQgYXVjaCBoZXV0ZSAtIGZhc3QgMSBKYWhyCnNwYWV0ZXIgLSBpbiBtaXIuIEFscyBTcGllbGVyIGJpbiBpY2ggbWVociBvZGVyIHdlbmlnZXIgKGdlcmFkZQpiZWkgZWluZXIgc28gbGVybmludGVuc2l2ZW4gR2lsZGUgd2llIEthcmF0ZSkgZGFyYXVmIGFuZ2V3aWVzZW4KZGFzcyBkYXMgd2FzIGRpZSBHaWxkZSB6dSBiaWV0ZW4gaGF0IG5pY2h0IHNvIHdlc2VudGxpY2gKdmVyc2NobGVjaHRlcnQgd2lyZCwgZGFzcyBsYW5nIGFuaGFsdGVuZGVyIEZydXN0IGF1ZmtvbW10LgpNaXR0bGVyd2VpbGUgc3RlY2t0ZW4gbmFlbWxpY2ggMjAgT25saW5ldGFnZSB1ZWJlbiBpbiBtZWluZW0gMnR5LCBkYQp3ZWNoc2VsdCBtYW4gbmljaHQgZWluZmFjaCBzbyBkaWUgR2lsZGUuCkljaCBob2ZmZSBkYXNzIGVpbmUgc29sY2hlIEFucGFzc3VuZyBiZWkgZGVuIGJlaWRlbiBuZXVlbiBHaWxkZW4KbmljaHQgbm9ldGlnIHNlaW4gd2lyZCB1bmQgZGllIE1hZ2llciBkZXIgaW0gZW50c3RlaGVuIGJlZ3JpZmZlbmVuCkdpbGRlbiBkYXMgcmljaHRpZ2UgTWFzcyBhbiBLYW1wZmtyYWZ0IGZpbmRlbi4gRGVubiBkZW4gRnJ1c3QKRmFlaGlna2VpdGVuIHp1IHZlcmxpZXJlbiB3dWVuc2NoZSBpY2ggd2lya2xpY2ggbmllbWFuZGVtLgoKS2xhciwgc3BhZXRlc3RlbnMgd2VubiBkaWUgSGFlbGZ0ZSBkZXIgU2VoZXIgTGV2ZWwgNDAgaGF0IGlzdHMgWmVpdApkb2NoIHdpZWRlciB3ZWl0ZXJlIEh1ZXJkZW4gZWluenViYXVlbiB1bmQgbmF0dWVybGljaCBhdWNoIGRpZQpMZXZlbCAgMzUgLSBHcmVuemUgYW56dWhlYmVuLiBEb2NoIGJpdHRlIG1hY2h0IGVzIHNvLCBkYXNzIGRhYmVpCmtlaW4gVmVybHVzdCBlcndvcmJlbmVyIEZhZWhpZ2tlaXRlbiBlaW50cml0dCAoei5CLiBVZWJlcm5haG1lIGRlcgphbHRlbiBGYWVoaWdrZWl0ZW4uLi4gbnVyIHdlbm4gbWFuIGRpZXNlIGVyd29yYmVuZW4gRmFlaGlna2VpdGVuCmRlbm4gZXJob2VoZW4gd2lsbCBkYXVlcnRzIGV2dGwuIGVpbiB3ZW5pZyBsYWVuZ2VyKS4gVW5kIHdhcyBkaWUKR2lsZGVuYW5wYXNzdW5nZW4gYW5nZWh0IC0gZGEgbG9iIGljaCBtaXIgZGllIENoYW9zZ2lsZGUuIFNpZSBpc3QKZ2V3aXNzIG5pY2h0IGRpZSBzdGFlcmtzdGUgR2lsZGUsIHplaWd0IGFiZXIgYmVpIGJlc3RpbW10ZW4gR2VnbmVybgppaHJlIFZvcnRlaWxlLCBXb2dlZ2VuIGljaCBtYW5jaCBhbmRlcmUgTW9uc3RlciBhbHMgQ2hhb3QgbmljaHQgcGFja2UuCkljaCBmaW5kZSBkYXNzIGRhcyByZWNodCBnZWx1bmdlbiBpc3QsIGF1Y2ggd2VubiBpY2ggbWFuY2htYWwgdWViZXIKbWlzc2x1bmdlbiBTcHJ1ZWNoZSBmbHVjaGUgb2RlciBhbmRlcmUgVW5hbm5laG1saWNoa2VpdGVuIGhhYmUuClZvciBhbGxlbSBhYmVyIGhhYiBpY2ggYmlzIHp1ciBMZXZlbHJlZm9ybSBrZWluZSBWZXJzY2hsZWNodGVydW5nZW4gZGVyCkZhZWhpZ2tlaXRlbiBoaW5uZWhtZW4gbXVlc3Nlbi4KCnZpZWxlIEdydWVzc2UsCiAgICAgICAgICAgICAgICAgICAgQmlibwoKUC5TLiBJY2ggYmV6d2Vja2UgbWl0IGRpZXNlbSBCcmllZiBuaWNodCBpcmdlbmR3ZW4gYW56dWdyZWlmZW4gb2RlcgogICAgIHNpbm5sb3MgaGVydW16dW1lY2tlcm4uIEViZW5zb3dlbmlnIGdlaHQgZXMgbnVyIHVtIGRpZSBNYWdpZXIsCiAgICAgZGllIFN0dW5kZW5sYW5nIGFuIFJhdW1kZXRhaWxzIGhlcnVtYmFzdGVsbiB1bmQKICAgICBzZWxic3R2ZXJzdGFlbmRsaWNoIHdhcyBnZWdlbiBGUC1TdWNoc2NyaXB0ZSBoYWJlbi4KICAgICBBYmVyIHdlbm4gZGVyIEZydXN0LCBkZXIgZHVyY2ggVmVybWluZGVydW5nIHZvbiBXZXJ0ZW4KICAgICAoU2tpbGxzID8pIHZlcm1pZWRlbiBvZGVyIG1pbmltaWVydCB3ZXJkZW4ga2FubiB3YWVyZSBkYXMKICAgICBzY2hvbiBrbGFzc2UuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoRnl0LCAxNC4gSnVuIDE5OTYsIDAwOjQzOjUxKToKfiMhIHJuPUxhdmluaWEgcnQ9ODM0Njg0NTI5Cn4jISB0aWQ9ODM0NTc4OTM2CgpOYWphLCBkaWUgU2FjaGUgbWl0IGRlbiBTY3JpcHRzIGlzdCBuaWNodCBzbyBlaW5mYWNoIG1pdCAnd2VyCmRhcyBiZW51dHp0LCBoYXQgZGFzIFNwaWVsIG5pY2h0IHZlcnN0YW5kZW4nIGFienV0dW4uIEVzIGdhYiBpbgptZWluZW4gQXVnZW4gbWFsIG5lIE5vdHdlbmRpZ2tlaXQgZnVlciBHaWxkZW51ZWJlLVNjcmlwdHMgdW5kIGZ1ZXIKTWV0emVsc2NyaXB0cy4gSW53aWV3ZWl0IGRhcyBmdWVyIGVyc3RlcmVzIG5vY2ggZ2VnZWJlbiBpc3QsIGthbm4KaWNoIG5pY2h0IGJldXJ0ZWlsZW4sIGRpZSBNZXR6ZWxzY3JpcHRzIGR1ZXJmdGVuIHNpY2ggbmFjaCBkZXIgCm5ldWVuIFN0dWZlbnJlZ2VsdW5nIGVybGVkaWd0IGhhYmVuLiBEaWUgQW5yZWd1bmcgZGFmdWVyIGthbSAKdWVicmlnZW5zIHZvbiBTcGllbGVybiwgZGllIHppZW1saWNoIHZpZWwgc2VsYnN0IGdlc2NyaXB0ZXQgaGFiZW4sCmVzIGlzdCBhbHNvIG5pY2h0IHNvLCBkYXNzIGhpZXIgbnVyIExldXRlIGFtIFdlcmsgc2luZCwgZGllIG51ciB3YXMKZnVlciBzaWNoIHJhdXNzY2hsYWdlbiB3b2xsZW4sIG9obmUgc2ljaCB1bSBkYXMgU3BpZWwgYWxzIHNvbGNoZXMKenUga3VlbW1lcm4uIERlciBnZWdlbndhZXJ0aWdlIEJvb20gdm9uIFVudGVyc3VjaGVzY3JpcHRlbiB1bmQgdm9uClpULVN1Y2hlc2NyaXB0ZW4gaXN0IG1laW5lciBNZWludW5nIG5hY2ggYXVmIGVpbmUgZ2V3aXNzZSBJbmtvbnNlcXVlbnoKYmVpIGRlciBVbXNldHp1bmcgZGVzIG5ldWVuIFN5c3RlbXMgenVydWVja3p1ZnVlaHJlbi4gSW4gZGVtIE1vbWVudCwKd28gZGFzIGtvbXBsZXR0ZSBBYmxhdWZlbiBkZXIgKmJla2FubnRlbiogWlQtTGlzdGUgdmllciBrb21wbGV0dGUKTGV2ZWwgZ2lidCwgaXN0IGVzIGtsYXIsIGRhc3Mgc29sY2hlIFNjcmlwdHMgZW50c3RlaGVuLCBlcyBzaW5kIAppbW1lcmhpbiB2aWVyIExldmVsLCBkdXJjaCBkaWUgbWFuIHNpY2ggdm9uIHNlaW5lbiAnS29udHJhaGVudGVuJwppbiBkZXIgTGlzdGUgYWJzZXR6ZW4ga2Fubi4gVW5kIGJlaSBkZW4gVW50ZXJzdWNoZXNjcmlwdHMgaGF0IG1hbgplaW5mYWNoIGVpbmVuIEdyaWZmIGlucyAuLi4gZ2V0YW4uIEZha3QgaXN0IGRvY2gsIGRhc3MgaW5zYmVzb25kZXJlCmRpZSAnQWx0c2VoZXInIGRhcyBub3R3ZW5kaWdlIGtub3cgaG93IGhhYmVuLCBlbnRzcHJlY2hlbmRlIFNjcmlwdGUKenUgc2NocmVpYmVuLiBVbmQgZmFrdCBpc3QgYXVjaCwgZGFzcyBlcyBnZW5hdSBkaWVzZSBHcnVwcGUgbWl0IGRlcgpSZWdlbHVuZyAna2VpbmUgRlBzIGF1cyBiZXJlaXRzIGdlbG9lc3RlbiBRdWVzdHMnIGFtICdoYWVydGVzdGVuJwp0cmlmZnQuIERhcyBFbnRzZXRlaG4gYnp3IGRpZSBXZWl0ZXJlbnR3aWNrbHVuZyB2b24gVW50ZXJzdWNoZXNjcmlwdHMKd2FyIGRhbWl0IGphIHdvaGwgdm9yaGVyenVzZWhlbi4gSWNoIG1lcmsgamEgc2NobGllc3NsaWNoLCB3ZW5uJ3MKbWlyIGluIGRlbiBGaW5nZXJuIGp1Y2t0Li4uCgpEYXNzIGVzIGZ1ZXIgJ25ldWUnIFNwaWVsZXIgZWluIHdlc2VudGxpY2ggZ2VyaW5nZXJlcyBQcm9ibGVtIGlzdCwKc2ljaCBkYXMgUXVlc3RnZWJpZXQgYmVpbSBMb2VzZW4gZGVyIFF1ZXN0IGVpbmlnZXJtYXNzZW4gZ2VuYXUKYW56dXNjaGF1ZW4sIGlzdCBqYSB3b2hsIGtsYXIsIHNvIGFlaG5saWNoIGhhYmVuIHNvZ2FyICp3aXIqICpodWVzdGVsKgpnZXF1ZXN0ZXQuLi4gZGFtYWxzIChqYWphLCBlcyBnaWJ0IHdlc2VudGxpY2ggYWVsdGVyZSBhbHMgbWljaC4uLikKClZpZWxsZWljaHQgaGFiZW4gd2lyIHNlbGJzdCB3YXMgZmFsc2NoIGdlbWFjaHQsIGljaCBoYWIgbWljaCBzZWl0IGRlbQpNb21lbnQsIGFscyBkaWUgTGV2ZWxyZWZvcm0gYmVzY2hsb3NzZW5lIFNhY2hlIHdhciwgaW0gUHJpbnppcCAKdWViZXJoYXVwdCBuaWNodCBtZWhyIGRhcnVtIGdla3VlbW1lcnQsIHdlaWwgaWNoIGRlciBNZWludW5nIHdhciwKZGFzIHdpcmQgc2Nob24gZ2xhdHRnZWhlbiwgZ2VudWVnZW5kIGd1dGVyIFdpbGxlIHZvbiBzbyB6aWVtbGljaCBhbGxlbgonQmV0ZWlsaWd0ZW4nIHdhciBzY2hsaWVzc2xpY2ggZGEsIGFuZGVyZXJzZWl0cyBzZWggaWNoIGF1Y2ggbm9jaCAKbmljaHQgdW5iZWRpbmd0LCBkYXNzIGRhcyBLaW5kIHNjaG9uIGltIEJydW5uZW4gbGllZ3Q6IAoKV2llIGdlc2FndCwgYmVpIGRlbiBGUHMgYXVzIGFsdGVuIFF1ZXN0cyBtdWVzdGUgc2ljaCBkb2NoIHdhcyBtYWNoZW4KbGFzc2VuLCBvZGVyPwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDE0LiBKdW4gMTk5NiwgMDA6NTE6MzQpOgp+IyEgcm49VGVycm9yaXN0IHJ0PTgzNDY4NjA3OAp+IyEgdGlkPTgzNDU3ODkzNgoKSG0sIGVzIGdpYnQgc2Nob24gZ2VudWVnZW5kIE1ldGhvZGVuLCBmZXN0enVzdGVsbGVuLCBkYXNzIGplbWFuZCAKc2NyaXB0ZXQsIHp1bWluZGVzdCwgd2VubiBlcyBzaWNoIHVtICdmaXggbWFsIHJlaW5nZWhhY2t0ZScgcyBTY3JpcHRzCmhhbmRlbHQuIEVzIGdpYnQgYWJlciBrZWluZSBhYnNvbHV0ZSBTaWNoZXJoZWl0LiBJY2ggaGF0dGUgamEgaXJnZW5kLQp3YW5uIG1hbCBhbmdlYm90ZW4sIDEwIE1pbyBFcHMgdW50ZXIgQ2F0cyBBdWZzaWNodCB6dSBlcnNjcmlwdGVuLCB3ZW5uCmRhbmFjaCBkYXMgU2NyaXB0dmVyYm90IGF1ZmdlaG9iZW4gd2lyZCwgYWJlciBkYXMgaGF0IG9mZmVuc2ljaHRsaWNoCmtlaW5lciBlcm5zdGdlbm9tbWVuLiBJc3QgamEgZWlnZW50bGljaCBhdWNoIG5pY2h0IFNpbm4gZGVyIFNhY2hlLgpJY2ggYmluIHRyb3R6ZGVtIGRlciBNZWludW5nLCBlcyBzb2xsdGUgZ2VuZXJlbGwgbWVociBpbiBSaWNodHVuZwonU2NyaXB0dmVybWVpZHVuZycgYWxzIGluIFJpY2h0dW5nICdVZWJlcndhY2h1bmcgdW5kIER1cmNoc2V0enVuZycKZWluZXMgU2NyaXB0dmVyYm90cycgZ2V0YW4gd2VyZGVuLiBVbmQgaW4gZGVyIEJlemllaHVuZyBpc3QgZGFzIG5ldWUKTGV2ZWxzeXN0ZW0gc28gbmUgQXJ0IDgwOjIwLUVyZm9sZyB3dWVyZGUgaWNoIHNhZ2VuLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDE0LiBKdW4gMTk5NiwgMDA6NTM6NTgpOgp+IyEgcm49SmFzcGVyIHJ0PTgzNDY4OTE1MQp+IyEgdGlkPTgzNDU3ODkzNgpIbSwgSmFzcGVyLCBkYXNzIGlzdCBuZXJ2aWcuLi4gYWJlciBudXIgb2huZSBTY3JpcHQuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoTHVnLCAxNC4gSnVuIDE5OTYsIDAxOjU2OjE3KToKfiMhIHJuPUZ5dCBydD04MzQ3MDU4MzEKfiMhIHRpZD04MzQ1Nzg5MzYKWnUgRnl0OgoKRGllIExldmVscmVmb3JtIG1hY2h0IGRlbiBFaW5kcnVjayBlaW5lciB1ZWJlcmhhc3RldGVuIEVpbmZ1ZWhydW5nLiBJY2gKdmVyd2Vpc2UgYXVmIGRpZSBaVC1HZXNjaGljaHRlLiBJbiBCaWVsZWZlbGQgd2FyIGF1Y2ggbm9jaCB2b24gZWluZXIKRW50c2NoYWVkaWd1bmcgZGllIFJlZGUsIGRhc3MgbnVuIHBsb2V0emxpY2ggZGF2b24ga2VpbmUgUmVkZSBtZWhyIGlzdCwgd2FyCmRpZSBncm9zc2UgVWViZXJyYXNjaHVuZy4gV2VuaWdlciB1ZWJlcnJhc2NoZW5kIGR1ZXJmdGUgZGllIGdlbmVydnRlIFJlYWt0aW9uCnNlaW4uIFdlciBzdHVuZGVuLSBiZXNzZXIgdGFnZWxhbmcgYW4gc2VpbmVtIENoYXJha3RlciBnZWJhc3RlbHQgaGF0LCBiZWtvbW10Cm51biBlaW46IEFldHNjaCwgRHUgaGFldHRlc3QgZGFtaXQgYmlzIHp1ciBFaW5mdWVocnVuZyBkZXIgRlAgd2FydGVuIHNvbGxlbi4KUGVjaCBnZWhhYnQuIERhbm4gZGFyZiBtYW4gc2ljaCBub2NoIHZvbiBMYXZpbmlhcyBhbmhvZXJlbjogbWFjaHQgZG9jaCBhbGxlcwpub2NobWFsLiBEYXJ1bSBub2NoIGVpbm1hbCBkaWUgRnJhZ2U6CgoxKSBXaXJkIGVzIGRlZmluaXRpdiBrZWluZSAiQWx0c2VoZXJlbnRzY2hhZWRpZ3VuZyIgZ2ViZW4/CjIpIElzdCBkYXMgZGFubiBkZW4gR29ldHRlcm4sIEVyemllcyB1bmQgU2VoZXJuIGVnYWw/CgpOYWphLCBtYWwgZWluIGFuZGVyZXMgTVVEIGJlc3VjaGVuLiBGcmV1dCBiZXN0aW1tdCB2aWVsZSBoaWVyIHVuZCBlbnRsYXN0ZXQKZGVuIE1VRHJlY2huZXIuCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoSmFyaWVsLCAxNC4gSnVuIDE5OTYsIDAyOjM3OjMxKToKfiMhIHJuPVN5bWJpb250IHJ0PTgzNDY4NTk3Nwp+IyEgdGlkPTgzNDU3ODkzNgoKV2FydW0gbXVzcyBtYW4gYXVmIG5lbiBBcnRpa2VsLCBkZXIgZWluZmFjaCBudXIgbmUgTWVpbnVuZyBkYXJzdGVsbHQgU08KYWdncnNzaXYgcmVhZ2llcmVuPyBXZW5uIGlociBTdHJlc3MgaGFidCwgbGFzc3QgaWhuIG5pY2ggaGllciB1bmQgdm9yYWxsZW0KbmljaHQgYW4gbmV1ZW4vanVuZ2VuIFNwaWVsZXJuIGF1cy4gRGFzIGlzdCBkb2NoIHdpcmtsaWNoIG5pY2h0IG5vZXRpZy4KKFVuYWJoYWVuZ2lnIHVtIHdlbGNoZSBEaXNrdXNzaW9uIGVzIGdlaHQpIQoKSmFyaWVsIC0gdmVyZ2VodCBkaWUgTHVzdCBhdWYgWmVpdHVuZyBsZXNlbi4gOi0vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4uIHVuZCBub2NobWFsIEFsemhlaW1lciAoV2FyZ29uLCAxNC4gSnVuIDE5OTYsIDA5OjU0OjM5KToKfiMhIHJuPUJpYm8gcnQ9ODM0NjkzMDU5Cn4jISB0aWQ9ODM0NjkzMDU5CiAgSGkhCkVyc3QgbWFsIGRpcmVrdCB6dSBCaWJvOiBWb24gZWluZXIgZ2VwbGFudGVuIEFuaGVidW5nIGRlciBNYXgtR3JlbnplIGF1ZiBMZXZlbAo0MCB3ZWlzcyBpY2ggbmljaHRzOyB3ZW5uIGVzIGRlbm5vY2ggZ2VwbGFudCBpc3QsIHBsYWVkaWVyZSBpY2ggZGFmdWVyLCBkYXNzCmRpZSBHaWxkZW4tRU1zIGRhc3Mgc28gZWlucmljaHRlbiwgZGFzcyBkZXIgYWt0dWVsbGUgU2tpbGx3ZXJ0Cnp3aXNjaGVuZ2VzcGVpY2hlcnQgd2lyZCwgZGFtaXQgZXIgenVtaW5kZXN0IGJlaW0gbmFlY2hzdGVuIEVyaG9laGVuIHdpZWRlcgp6dXIgVmVyZnVlZ3VuZyBzdGVodC4gKEhtLCBsYW5nZXIgU2F0ei4uLikKWnVtIEdlamFtbWVyIHVlYmVyIGRpZSBhY2ggc28gYmVuYWNodGVpbGlndGVuIEFsdHNlaGVyOiBXZW5uIGljaCBtaXIgZGllClRvcGxpc3RlbiBzbyBhbnNlaGUsIHNjaGVpbnQgZGFzIEdlcGxhZXJyZSBldHdhcyB1bmJlZ3J1ZW5kZXQuCkRhcyBWZXJ0ZWlsZW4gZWluZXMgYmVzdGltbXRlbiBGUC1BbnRlaWxzIGF1cyBnZWxvZXN0ZW4gUXVlc3RzIGZ1ZXIgQWx0c3BpZWxlcgp3YXIgdWVicmlnZW5zIG5pZSBkZWZpbml0aXYgYmVzY2hsb3NzZW4sIHNvbmRlcm4gbnVyIGVpbmUgVWViZXJsZWd1bmcsIGRpZQpqZWRvY2ggYXVmZ3J1bmQgdGVjaG5pc2NoZXIgUHJvYmxlbWUgbmljaHQgZHVyY2hnZXNldHp0IHdlcmRlbiBrb25udGUuIERhZnVlcgpiZWtvbW1lbiBhbHRlIFNwaWVsZXIgYWJlciAxIFNQIHBybyBGUCBtZWhyIGFscyBuZXVlIFNwaWVsZXIuIEF1c3NlcmRlbSBzaW5kCnNpZSBzY2hvbiBkdXJjaCBkZW4gWlQtQnVnIHN0YXJrIFNQLUJldm9ydGVpbHQgKGRhcyBnaWx0IGZ1ZXIgYWxsZSBTcGllbGVyLApkaWUgYmlzIHp1bSBaZWl0cHVua3QgZGVzIEJ1Z2ZpeGVzIHNjaG9uIGltIE1HIHZvcmhhbmRlbiB3YXJlbikuClNvdmllbCBlcnN0IG1hbCwKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogLi4uIHVuZCBub2NobWFsIEFsemhlaW1lciAoSGFyLCAxNC4gSnVuIDE5OTYsIDA5OjU2OjM2KToKfiMhIHJuPVdhcmdvbiBydD04MzQ3Mzg4NzkKfiMhIHRpZD04MzQ2OTMwNTkKQWVoIFdhcmdvbiBoaWVyIHN0ZWh0IHNvdmllbCBNdWVsbCBpbiBkZXIgTVBBLCBkYXMgaWNoIHdvaGwgbmljaHQgdmVyc3RhbmRlbgpoYWJlLCB3YXMgZGVyIFpULUJ1ZyBpc3QsIGtvZW5udGVzdCBEdSBkcyBtYWwga3VyeiBlcmtsYWVyZW4/CgpIYXIgKHVud2lzc2VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IC4uLiB1bmQgbm9jaG1hbCBBbHpoZWltZXIgKFdhcmdvbiwgMTQuIEp1biAxOTk2LCAxMDowMToyOSk6Cn4jISBybj1IYXIgcnQ9ODM0NzM4OTk2Cn4jISB0aWQ9ODM0NjkzMDU5ClUuYS4gd3VyZGVuIGRpZSBzY2hvbiBiZXN1Y2h0ZW4gWlQtUmFldW1lIG5pY2h0IGFiZ2VzcGVpY2hlcnQuCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAuLi4gdW5kIG5vY2htYWwgQWx6aGVpbWVyIChBbmFraW4sIDE0LiBKdW4gMTk5NiwgMTA6MTY6MjgpOgp+IyEgcm49V2FyZ29uIHJ0PTgzNDczOTI4OQp+IyEgdGlkPTgzNDY5MzA1OQpIbW0gaWNoIGRhY2h0ZSBkYXMgd3VyZGUgbnVuIHdpZWRlciByYXVzZ2Vub21tZW4/IEQuaC4gYWxsZSBaVC1TdGVsbGVuCmdlbG9lc2NodD8gV2FyIGJlaSBtaXIgenUgbWluZGVzdCBzbyAoZ2xhdWIgaWNoIDotKS4gV28gaXN0CmRlciBpcmdlbmRlaW4gVm9ydGVpbD8gOi0pCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC4uLiB1bmQgbm9jaG1hbCBBbHpoZWltZXIgKEx1ZywgMTQuIEp1biAxOTk2LCAxMDoyNToxOSk6Cn4jISBybj1XYXJnb24gcnQ9ODM0NzM4ODc5Cn4jISB0aWQ9ODM0NjkzMDU5Clp1IFdhcmdvbjoKClNjaG9lbiwgZGFzIGlzdCBhbHNvICJHZXBsYWVycmUgdm9uIGRlbiBBbHRzZWhlcm4iLiBEYSBmdWVobGUgaWNoIG1pY2ggaW4KbWVpbmUgdW5kaWZmZXJlbnppZXJ0ZW0gRGlza3Vzc2lvbnNzdGlsIHZvbGwgdW5kIGdhbnogYmVzdGFldGlndC4gTWVpbiBUaXA6CnNldHogRGljIGF1ZiBMZXZlbCAxIHVuZCBzcGllbCBhbGxlcyBub2NobWFsIGR1cmNoLiBWaWVsIFNwYXNzIQoKV3VlbnNjaHQgaGVyemxpY2gKCkx1ZwoKUC5TLjogSWNoIGhhYiBkYSBzbyBtZWluZSBad2VpZmVsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdW50X3NrcmlwdGUgKFlhbnRybywgMTQuIEp1biAxOTk2LCAxMTowMjo1OCk6CgpIYWxsbywgCgppY2ggYmluIHp3YXIgYXVjaCBkZXIgTWVpbnVuZywgZGFzcyBkaWUgdW50ZXJzdWNoZVNrcmlwdGUgZWluZSBTYXVlcmVpIHNpbmQsCmFiZXIgaWNoIHdlaXNzIHZvbiBkZXIgRXhpc3RlbnogZGllc2VyIERpbmdlciBhdWNoIHNjaG9uIHNlaXQgTW9uYXRlbiB1bmQgYmluCmRlc2hhbGIgdWViZXJyYXNjaHQsIGRhc3MgZGEgSkVUWlQgc28gZWluIFRoZWF0ZWVyIGdlbWFjaHQgd2lyZC4gSWNoCnBlcnNvZW5saWNoIGhhYiBkYXJhdXMgbWVpbmUgS29uc2VxdWVueiBzY2hvbiB2b3IgbGFlbmdlcmVtIGdlem9nZW4gdW5kIGluCm1laW5lbiBHZWJpZXRlbiBlaW5mYWNoIEtFSU5FIEZQcyBmdWVyIERldGFpbHMgZWluZ2ViYXV0Li4uIGVzIGdpYnQgZGEgYXVjaAphbmRlcmUgU2FjaGVuLCBpbiBkaWUgbWFuIEZQcyBzdGVja2VuIGthbm4uLi4gCgpJY2gga2FubnMgendhciBuaWNodCB2ZXJsYW5nZW4sIGFiZXIgaWNoIGRlbmtlLCBkYXNzIEplZGVyIE1hZ2llciwgZGVyIHdhcwpuZXVlcyBtYWNodCwgYXVjaCBrZWluZSBGUHMgbWVociBpbiBVbnRlcnN1Y2h1bmdlbiBzdGVja2VuIHNvbGx0ZS4gCgogICAgICAgICAgICAgICAgICAgICAgIFlhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VpbmUgRlAgYW4gUmVudG5lciB2ZXJzY2hlbmtlbiEgKFJ5bmUsIDE0LiBKdW4gMTk5NiwgMTE6MDY6MjQpOgpNYWhseWVpdCEKCk1laW5lIGxpZWJlbiBTcGllbGVyLCBTcGllbGVySW5uSW5uSW5uZW4gdW5kIFNlaHIsIE1hZ2llciBwcC4hCi0tbWVoci0tKDAsMSUpIEFORkFORwpJY2ggaGFiZSBkYW9jaCBlaW5pZ2UgWndlaWZlbCBkYXJhbiwgZGFzcyBlaW5lIEVudHNjaGFlZGlndW5nIGRlciBBbHRzZWhlciBtaXQKZGVuIEZQIHRhdHNhZWNobGljaCBkYXp1IGZ1ZWhyZW4gd3VlcmRlLCBkYXNzIFVudGVyc3VjaGUtU2NyaXB0cyBuaWNodCBtZWhyCmFuZ2V3ZW5kZXQgd2VyZGVuLiBGYWN0OiBTZWxic3Qgd2VubiBkaWVzZSBrb21tZW4gd3VlcmRlLCBnYWViZSBlcyBudXIgZnVlciBGUAphdXMgcXVlc3RzIGVpbmUgRW50c2NoYWVkaWd1bmcsIHVuZCBkb3J0IHNpY2hlciBhdWNoIG51ciBlaW5lbiBUZWlsIGRlciBkb3J0CnZvcmhhbmRlbmVuIEZQLiBBbHNvIHN0ZWxsZSBpY2ggbWljaCBoaW50ZXJoZXIgaGluIHVuZCBzYWdlOiBITU1NTS4uLi4gZGFzcwppc3QgYWJlciBrYWNrZSwgaW4gZGVyIFNTUCBoYWJlIGljaCBtaXIgc2Nob24geC1NYWwgYWxsZSBEZXRhaWxzIGFuZ2VzY2hhdXQsCnVuZCBqZXR6dCBrcmllZ2UgaWNoIG51ciBkaWUgRlAgYXVzIGRlbiBRdWVzdHMgdW5kIG5pY2h0IGF1cyBkZW4gUmVnaW9uZW4gPyAtCkphIG1laSwgd29sbG4ncyBtaWNoIGRlbm4gdmVyb3JzY2hlID8gQWxzbyBoZXIgbWl0IGRlbSBTY3JpcHQhISEKU28sIHVuZCBzY2hvbiB3aXJkIHdlaXRlcmdlc2NyaXB0ZXQuIFVuZCB1ZWJlcmhhdXB0OiBEYSBpY2ggaW4gZGVuIFF1ZXN0cyBudXIKZWluZW4gVGVpbCBkZXIgRlAgZ3V0Z2VzY2hyaWViZW4ga3JpZWdlIChad2lzY2hlbmZyYWdlOiBvZGVyIHdpcmQgaGllcgplcm5zdGhhZnQgZ2Vmb3JkZXJ0LCBkYXNzIG1hbiBBTExFIEZwIGtyaWVndCwgZGllIGVzIGluIGVpbmVyIHF1ZXN0IGdpYnQsIGRpZQptYW4gc2Nob24gZ2Vsb2VzdCBoYXQ/KSBzb2xsdGUgaWNoIGRvcnQgYXVjaCBtYWwgc2NobmVsbCB2aWEgc2NyaXB0CmR1cmNocmVubmVuLCB1bSBkaWUgZmVobGVuZGVuIEZQIHp1IGZpbmRlbi4KCkZ1ZXIgbWljaCBpc3QgbWl0dGxlcndlaWxlIGtsYXIsIGRhc3MgZGllIExldXRlLCBkaWUgbWl0IFNjcmlwdHMgc3BpZWxlbgp3b2xsZW4sIGltbWVyIGVpbmVuIEdydW5kIGZpbmRlbiwgZGVuIEVpbnNhdHogYXVmIGlyZ2VuZGVpbmUgV2Vpc2UgenUKYmVncnVlbmRlbi4gR2VuYXVzbyB3aWUgZnJ1ZWhlciBlaW5lICJOb3R3ZW5kaWdrZWl0IGZ1ZXIgR2lsZGVudWViZS1TY3JpcHRzIgphbnRpemlwaWVydCB3dXJkZSAoei5CLiB2b24gbWlyIHNlbGJzdCA7LSkpIHdpcmQgc2llIGhldXRlIGZ1ZXIgamVkZW4gYW5kZXJlbgpTY2hlaXNzIGhlcmJlaWVyZnVuZGVuLCBkZXIgZGVuIGVpZ2VuZW4gQ2hhcmFjdGVyIGlyZ2VuZHdpZSAidmVyYmVzc2VydCIsCmRlZmF1bHRtYWVzc2lnIGVpbiBwYWFyIFB1bmt0ZSBpbiBkZXIgVG9wd3Vyc3RtYXN0ZXJsaXN0ZSBlaW5icmluZ3QuIAoKWnVnZWdlYmVuOiBJY2ggaGFldHRlL2hhYmUgbW9tZW50YW4gYXVjaCBrZWluZSBMdXN0LCBqZXR6dCBhbGxlIHF1ZXN0cyBub2NobWFsCmJpcyBpbnMgRGV0YWlsIGR1cmNoenVzcGllbGVuLiBEZXNoYWxiIHdhZXJlIG1pciBlaW5lIEVudHNjaGFlZGlndW5nIGF1Y2ggc2VocgpyZWNodC4gQWJlciBlcyB3aXJkIGluIGRpZXNlciBEaXNrdXNzaW9uIGxlaWRlciBpbW1lciB2ZXJnZXNzZW4sIGRhc3MgZGllIG5ldWUKVG9wbGlzdGUgZWluZSBnZXdpc3NlIEF1c3NhZ2VrcmFmdCBiZXp1ZWdsaWNoIGRlciBFcmZhaHJ1bmcgZGVyIFNwaWVsZXIgaW4KZGllc2VtIE11ZCBoYWJlbiBzb2xsLiBVbmQgZGllc2UgQXVzc2FnZSB3aXJkIHZlcnplcnJ0LCB3ZW5uIG1hbiBTcGllbGVybgpQdW5rdGUgc2NoZW5rdC4gSm8sIGF1Y2ggamV0enQgaXN0IGRpZSBMaXN0ZSB2ZXJ6ZXJydCwgYWJlciBkYXMgd2FlY2hzdCBzaWNoCmhpbmF1cywgd2VubiBkaWUgYWx0ZW4gU3BpZWxlciBhdWZob2VyZW4genUgbXVkZGVuLiBVbmQgd2VyIGFscyBhbHRlciBTcGllbGVyCmRhYmVpYmxlaWJ0LCB3aXJkIGluIGFic2VoYmFyZXIgWmVpdCBhdWNoIGVpbmlnZXMgYW4gRlAgaGFiZW4sIHVuZCBkYW1pdCBvaG5lCndlaXRlcmVzIGluIGRlciBMYWdlIHNlaW4sIHNpY2ggaW4gZGVyIExpc3RlIG9iZW4genUgaGFsdGVuLgoKS3VyeiB2b3IgU2NobHVzcyBub2NoOiBEYXMgbWl0IGRlbSBBbnN0aWVnIGRlciBHaWxkZW5hbmZvcmRlcnVuZ2VuIHdhcwppcmdlbmR3ZXIgZGEgc2NocmllYiwgaXN0IHRhdHNhZWNobGljaCBlaW5lIHVlYmxlIFNhY2hlLCBkYXMgc29sbHRlIG1hbgp3aXJrbGljaCBzbyByZWdlbG4sIHdpZSBXYXJnb24gZXMgdm9yc2NobHVnIChzcGVpY2hlcm4gZGVyIEZhZWhpZ2tlaXRlbiwgd2VubgpBbmZvcmRlcnVuZ2VuIGFuZ2Vob2JlbiB3ZXJkZW4pLiBEZW5uOiBXZW5uIG1hbiB2b24gZGVuIEdpbGRlbmZhZWhpZ2tlaXRlbiBtYWwKYWJzaWVodCwgd2FzIGJyaW5nZW4gZWluZW0gZGllIFN0dWZlbi8gU3R1ZmVucHVua3RlIGRhbm4gbm9jaCA/IE51ciBlaW5lbgpMZXZlbCB1bmQgZGVuIHp3ZWlmZWxoYWZ0ZW4gV2VydCwgUGxhdHogWCBpbiBkZXIgVG9wbGlzdGUgenUgc2Vpbi4gV2VyCmRhcnVlYmVyIG5pY2h0IHN0ZWhlbiBrYW5uLCB1bmQgaGllciBydW1qYW1tZXJ0IHdlZ2VuIFJlbnRlbmFuc3BydWVjaGVuIGluCkZvcm0gdm9uIEZQLUVudHNjaGFlZGlndW5nZW4sIGRlciAtIGFlaCBqYSwgZmFlbGx0IG1pciBuaXggZWluIC0gLSAtIC0gZGVyIGlzdApkb29mLCBzYWcgaWNoIG1hbCAtIHVuZCBzdGlua3QgOy0pCgoKSGV1dGUgaXN0IG5pY2h0IGFsbGUgVGFnZSwgUnluZSBrb21tdCB3aWVkZXIsIGtlaW5lIEZyYWdlLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbiBkdWJpbyBwcm8gcmVvIChCb3R0b20sIDE0LiBKdW4gMTk5NiwgMTE6Mjc6MDIpOgpVaXVpdWloIQoKU3RhcmtlciBUb2JhaywgZGVuIGljaCBkYSBsZXNlbiBtdXNzdGUuLi4gWnUgbWVpbmVtIGJlc29uZGVyZW4gTGVpZHdlc2VuIGRhcmYKaWNoIG1pY2ggbmljaHQgaW4gZGVyIFJ1YnJpayByZWNodGZlcnRpZ2VuLCBpbiBkZXIgaWNoIHNjaHdlcmUgQW5zY2h1bGRpZ3VuZ2VuCmhpbm5laG1lbiBtdXNzdGUgKFBvbGl6ZWlsaWNoZSBCZWthbm50bWFjaHVuZ2VuKS4gCkxlaWRlciBzY2hlaW5lIGljaCBkZW4gQW5zY2hlaW4gZXJ3ZWNrdCB6dSBoYWJlbiwgdW5lcmxhdWJ0ZXJ3ZWlzZSBlaW4gU2NyaXB0Cnp1IG51dHplbiwgbWl0IGRlbSBpcmdlbmR3ZWxjaGUgUmF1bWRldGFpbHMgc3RhbmRhcmRtYWVzc2lnIHVudGVyc3VjaHQgd2VyZGVuLgpHYW56IGJlc29uZGVycyBiZWRhdWVyIGljaCwgZGFzcyBlcyB2ZXJzYWV1bXQgd3VyZGUsIHNpY2ggenVtIFplaXRwdW5rdCBkZXMKVmVyZGFjaHRzIG1pdCBtaXIgdW1nZWhlbmQgaW4gVmVyYmluZHVuZyB6dSBzZXR6ZW4gdW5kIG1pciBzbyBkaWUgTW9lZ2xpY2hrZWl0CmVpbnp1cmFldW1lbiwgaW0gcGVyc29lbmxpY2hlbiBHZXNwcmFlY2ggZXZlbnR1ZWxsZSBWZXJkYWNodHNtb21lbnRlIGFkCmFic3VyZHVtIHp1IGZ1ZWhyZW4uIFNvIGVyZmFocmUgaWNoIGVyc3QgYXVzIGRlciBaZWl0dW5nLCB3ZXNzZW4gbWFuIG1pY2gKYmVzY2h1bGRpZ3QgdW5kIHdlbGNoIHVuZXJmcmV1bGljaGUgS29uc2VxdWVuemVuIGZ1ZXIgbWljaCBkYXJhdXMgcmVzdWx0aWVyZW4uCkljaCBoYWx0ZSBkYXMgYWxsZWluZSBzY2hvbiBmdWVyIGVpbmVuIGdhbnogaGVydm9yYWdlbmRlbiBTdGlsLi4uCgpadXIgU2FjaGUgLSBJY2ggaGFiZSB3ZWRlciB6dW0gaW0gQ2F0Ki1BcnRpa2VsIGFuZ2VnZWJlbmVuIFplaXRwdW5rdCBub2NoIHp1CmlyZ2VuZGVpbmVyIGFuZGVyZW4gWmVpdCBlaW4gdW5lcmxhdWJ0ZXMgU2NyaXB0IGJlbnV0enQuIEljaCBnZWhlIG1hbCBkYXZvbgphdXMsIGRhc3MgaWNoIGR1cmNoIGVpbmVuIGR1bW1lbiBadWZhbGwgaW4gZGFzIGVudHNwcmVjaGVuZGUgbG9mLWZpbGUKZ2VydXRzY2h0IGJpbiwgYnp3LiB6dSB2aWVsIGZydWVoZXJlbiBaZWl0cHVua3RlbiBkZXMgb2VmdGVyZW4gZG9ydCB6dSBmaW5kZW4Kd2FyLCBkZW0gYWJlciBlcnN0IGluIGRlciBqdWVuZ3N0ZW4gWmVpdCBkZXIgYWxsZ2VtZWluZW4gQXVmcmVndW5nIHVtIGRpZQpMZXZlbHJlZm9ybSBlaW5lIGdld2lzc2UgYmVkZXV0dW5nIHNlaXRlbnMgZWluaWdlciBNYWdpZXIgYmVpZ2VtZXNzZW4gd2lyZC4gU28KaXN0IGVzIG51bm1hbCBlaW5lIGJla2FubnRlIFRhdHNhY2hlLCBkYXNzIGRpZSBzY2huZWxsZSBFaW5nYWJlIG1laHJlcmVyIEFsaSdzCnp1bSBVbnRlcnN1Y2hlbiB1YmlxdWl0YWVyZXIgUmF1bWRldGFpbHMgKEJvZGVuLCBXYWVuZCwgRGVja2UsIHVzdy4pIGZ1ZXIKdW5lcmxhdWJ0ZXMgU2NyaXB0ZW4gZ2VoYWx0ZW4gd2lyZC4gRGllc2VyIFVtc3RhbmQgaXN0IGdld2lzcyB1bmVyZnJldWxpY2gsCndpcmQgYWJlciBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCBkZXMgb2VmdGVyZW4gdm9yZ2Vrb21tZW4gc2VpbiAtIGlobSB3dXJkZSBudXIKbmljaHQgZGllIGZhdGFsZSBCZWRldXR1bmcgYmVpZ2VtZXNzZW4gd2llIGhldXRlLiBJY2ggaG9mZmUgYXVmIGRpZSBFaW5zaWNodCwKZGFzcyBlcyBzaWNoIG51ciB1bSBlaW5lIEZlaGxpbnRlcnByZXRhdGlvbiBlaW5lcyBsb2ctZmlsZSBoYW5kZWxuIGthbm4gdW5mCmhvZmZlIG5vY2ggbWVociBhdWYgaWhyIFdvaGx3b2xsZW4sIHdlbm4gZXMgdW0gZGllIFJ1ZWNrbmFobWUgdmVyaGFlbmd0ZXIKTWFzc25haG1lbiBnZWh0LiAKCkJvdHRvbSAtIHZvbiBkZXIgTGFzdCBkZXIgc2Nod2VyZW4gQW5zY2h1bGRpZ3VuZyB1bmdlYmV1Z3QKClBTOiBEaWVzZXIgQXJ0aWtlbCBlbnRoYWVsbHQga2VpbmVybGVpIFZvcnd1cmYgZ2VnZW51ZWJlciB1bnNlcmVuCkV4ZWt1dGl2LU1hZ2llcm4sIGRvY2ggc29sbHRlIGVpbmUgU29uZGVydm9sbG1hY2h0IG5pY2h0IGluIFdpbGxrdWVyIGVuZGVuLgpFaWZlciBpc3QgenUgYmVncnVlc3NlbiwgVWViZXJlaWZlciBudWV0enQgbmllbWFuZGVtLiBJbiB1bnNlcmVtIEt1bHR1cmtyZWlzCmhlaXNzdCBlcyBkb2NoLCBpbSBad2VpZmVsc2ZhbGxlIGZ1ZXIgZGVuIEFuZ2VrbGFndGVuISAKVW5kIG5vY2ggZWluZXMgLSBlaW4gRnJlaXNwcnVjaCBtYW5nZWxzIHN0aWNoaGFsdGlnZXIgQmV3ZWlzZSB3YWVocmUgZWluCkFybXV0c3pldWduaXMgLSBtaXIgbGllZ3QgYW4gZWluZXIgdm9sbHN0YWVuZGlnZW4gUmVoYWJpbGl0aWVydW5nIC0gbWFuIGhhdAptaWNoIG9lZmZlbnRsaWNoIGluIGRlbiBTY2hsYW1tIGdlc3Rvc3NlbiwgYWxzbyBsYXNzdCBtaWNoIG5pY2h0IGRhcmluCnN0ZWNrZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC4uLiB1bmQgbm9jaG1hbCBBbHpoZWltZXIgKEZ5dCwgMTQuIEp1biAxOTk2LCAxMTo1NToyNSk6Cn4jISBybj1XYXJnb24gcnQ9ODM0NzM4ODc5Cn4jISB0aWQ9ODM0NjkzMDU5CgpXbyBiaXR0ZSBzaW5kIGRpZSB0ZWNobj1uaXNjaGVuIFByb2JsZW1lLCBXYXJnb24/CgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEJvaW5nLCAxNC4gSnVuIDE5OTYsIDEyOjU2OjA5KToKfiMhIHJuPUx1ZyBydD04MzQ3MTAxNzcKfiMhIHRpZD04MzQ1Nzg5MzYKVm9uIGVpbmVyIEVudHNjaGFlZGlndW5nIChkYXMgaGVpc3N0IEZQIGZ1ZXIgYWx0ZSBRdWVzdHMpIHdlaXNzIGljaApuaWNodHMuIFNDaG9uIGluIEJpZWxlZmVsZCB3dXJkZSBnZXNhZ3QsIGRhc3MgZGFzIHRlY2huaXNjaCBuaWNodAptb2VnbGljaCBpc3QsIGRhIG1hbiBkaWUgRlBzIG5pY2h0IGRlbiBRdWVzdGVuIHp1d2Vpc2VuIGthbm4uCkRpZSBCZWhhdXB0dW5nLCBkYXNzIHdpciBlaW5lIEVudHNjaGFlZGlndW5nIGZ1ZXIgQWx0c2VoZXIgdmVyc3Byb2NoZW4KaGF0dGVuIGlzdCBuaWNodCBrb3JyZWt0LiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQ2F1bm8sIDE0LiBKdW4gMTk5NiwgMTM6MTU6MTcpOgp+IyEgcm49Qm9pbmcgcnQ9ODM0NzQ5NzY5Cn4jISB0aWQ9ODM0NTc4OTM2CgpHdXQsIElIUiBoYWJ0IGVzIGRhbm4gd29obCBuaWNodCB2ZXJzcHJvY2hlbi4KQWJlciBkYW5uIHdhciBlcyBpcmdlbmQgZWluIGFuZGVyZXIuIEljaCBtb2VjaHRlIGdlcm5lIHdpc3Nlbiwgd2VyIGRlbiBxdWF0c2NoCmRhbm4gdmVyemFwZnQgaGF0LCBkZW5uIGljaCBtZWluZSwgbWljaCBhdWNoIGVyaW5uZXJuIHp1IGtvZW5uZW4sIGRhc3Mgc293YXMKbWFsIHZlcnNwcm9jaGVuIHd1cmRlLiBhdWNoIHdlbm5zIG1pY2ggbmljaHQgc29uZGVybGljaCByZWl6dCwgamV0enQgZGllCm1heGltYWx6YWhsIGFuIEZQcyB6dSBiZWtvbW1lbiwgZmluZGUgaWNoIGVzIGRvY2ggZWluZSBzYXVlcmVpLCBkYXNzIGlyZ2VuZHdlcgpkYSBhbnNjaGVpbmVuZCBtdWVsbCBlcnphZWhsdCBoYXQsIHVuZCBrZWluZXIgc2ljaCByZWNodHplaXRpZyB1bSBhdWZrbGFlcnVuZwpiZW11ZWh0IGhhdC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMuIE5vCgpQLlMuIEljaCBzcGllbGUsIHVtIHp1IHNwaWVsZW4sIG5pY2h0IHVtIGF1Znp1c3RlaWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IC4uLiB1bmQgbm9jaG1hbCBBbHpoZWltZXIgKEhhZHJhLCAxNC4gSnVuIDE5OTYsIDEzOjM1OjQ1KToKfiMhIHJuPVdhcmdvbiBydD04MzQ3MzkyODkKfiMhIHRpZD04MzQ2OTMwNTkKYWxzbyBoYXR0ZW4gYXVjaCBudXIgZGllamVuZWlnZW4gdW50ZXIgZGVuIGFsdHNlaGVybiwgZGllIHUudS4gd3Vzc3RlbiwgZGFzcwplcyBkZW4gYnVnIGdhYiB1bmQgdS51LiBkZW4gYXVzZ2VudXR6dCBoYWJlbiBlaW5lbiB2b3J0ZWlsLCBuaWNodCBhYmVyICdkaWUKYWx0c2VoZXIgYW4gdW5kIGZ1ZXIgc2ljaCcuIGVzIHNlaSBkZW5uIGlociBiYXV0IGRlbiBidWcgd2llZGVyIGVpbiwgZGFubgprb2VubmVuIGlobiB3aWVkZXIgYWxsZSBiZW51dHplbiA7KQoKZWluIGhhZHJhIGFuIHVuZCBmdWVyIHNpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKENhdHdlYXpsZSwgMTQuIEp1biAxOTk2LCAxMzo1NjozMSk6Cn4jISBybj1DYXVubyBydD04MzQ3NTA5MTcKfiMhIHRpZD04MzQ1Nzg5MzYKT2tvaywgbm9jaG1hbCB6dW0gbWl0c2NocmVpYmVuLi4uCgplcyBHSUJUIGVpbmUgRW50c2NoYWVkaWd1bmcgZnVlciAnYWx0ZScgU2VoZXIgISEKCkdlcmFsbHQ/IE9kZXIgc29sbCBpY2ggZXMgd2llZGVyaG9sZW4/IEFuc2NoZWluZW5kIHdlcmRlbiBlcmtsYWVyZW5kZSAKQXJ0aWtlbCBqYSBzY2huZWxsIHVlYmVybGVzZW4uLi4uCkFsc28gbm9jaG1hbCwgd2llIFdhcmdvbiBiZXJlaXRzIHZvciBlaW5pZ2VuIEFydGlrZWxuIHNjaHJpZWIsIGVyaGFsdGVuIAphbHRlIFNlaGVyIHBybyBnZWZ1bmRlbmVtIEZQIFNJRUJFTiBTdHVQcywganVlbmdlcmUgU3BpZWxlciBudXIgU0VDSFMhIQpJc3QgZGFzIGpldHp0IG5lIEVudHNjaGFlZGlndW5nLCBvZGVyIHdhcz8KQXVzc2VyZGVtIGhhYmVuIGFsdGUgU2VoZXIgUHJvZ3JhbW1pZXJ0ZWNobmlzY2ggZGllIE1vZWdsaWNoa2VpdCwgcHJvIApaVCBiaXMgenUgNyBTdHVQcyB6dSBiZWtvbW1lbiwganVuZ2UgbnVyIDUuIEFiZXIgYXVjaCBkYXMgaGF0IGJlcmVpdHMKV2FyZ29uIGVya2xhZXJ0LgoKT2ssIHVuZCBKRVRaVCBkdWVyZnQgSWhyIGFuZmFuZ2VuIGRhcnVlYmVyIHp1IG1lY2tlcm4sIGRhcyBkYXMgamEgd29obApuZSBzY2hsZWNodGUgRW50c2NoYWVkaWd1bmcgaXN0LCBhYmVyIGhvZXJ0IGVuZGxpY2ggYXVmIHNpZSBhYnp1bGV1Z25lbi4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDE0LiBKdW4gMTk5NiwgMTQ6NDU6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTgzNDc1MzM5MQp+IyEgdGlkPTgzNDU3ODkzNgoKRXMgaXN0IGVpbmUgRW50c2NoYWVkaWd1bmcsIHVuZCBpY2gga2FubiBuaWNodCBlaW5tYWwgYmV1cnRlaWxlbiwKb2Igc2llIHNjaGxlY2h0IGlzdC4gTWljaCB3dWVyZGVuIHRyb3R6ZGVtIGRpZSAndGVjaG5pc2NoZW4nCkhpbnRlcmdydWVuZGUgbWFsIGludGVyZXNzaWVyZW4sIHZpZWxsZWljaHQgc2VoIGljaCBkYW5uIGphIGVpbiwgZGFzcwpkYSBuaXggenUgbWFjaGVuIGlzdC4KCkZ5dCwgaW1tZXIgbm9jaCBkZXIgTWVpbnVuZyBzZWllbmQsIGRhc3MgQXVma2xhZXJ1bmcgc2VsdGVuIHNjaGFkZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKFR6dWlvcCwgMTQuIEp1biAxOTk2LCAxNToyNjowNSk6Cn4jISBybj1GeXQgcnQ9ODM0NzU2MzM4Cn4jISB0aWQ9ODM0NTc4OTM2CkVudHNjaGFlZGlndW5nIGlzdCBndXQuIDooKApPYiBudW4gNiBvZGVyIDcgU3R1UHMsIGljaCBtdXNzIGRpZSBnYW56ZW4gYWx0ZW4gR2ViaWV0ZSBub2NobWFsIGFibGF1ZmVuLgpVbmQgaWNoIGthbm4gZHVyY2hhdXMgbmFjaGVtcGZpbmRlbiwgZGFzcyBzaWNoIGplbWFuZCBkYWZ1ZXIgZWluIFNjcmlwdCBtYWNodAouLi4KClZpZWxsZWljaHQgaGFldHRldCBpaHIgamEgZWluZW4gVGVpbCBkZXIgRW5lcmdpZSwgZGllIGlociBqZXR6dCBhdWYgZGllCkphZ2QgbmFjaCBTY3JpcHRlcm4gc3RlY2t0LCBpbiBlaW5lIHZlcm51ZW5mdGlnZSBMb2VzdW5nIGRlcyBQcm9ibGVtcwpzdGVja2VuIHNvbGxlbiAhCgpJbW1lciBub2NoIHRpZWYgZW50dGFldXNjaHQgLi4uLiBUenVpb3AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoUHVtYSwgMTQuIEp1biAxOTk2LCAxNToyODoxNCk6Cn4jISBybj1BbmF0b2wgcnQ9ODM0NjY1NTc1Cn4jISB0aWQ9ODM0NTc4OTM2CkVzIGlzdCBudXIgZWluIGVpbnppZ2VyIFJhdW0uLi4gZWluIGVpbnppZ2VyIFJhdW0sIEVocmVud29ydCEKClB1bWEgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY3JpcHQgKE9ya3RvZXRlciwgMTQuIEp1biAxOTk2LCAxNTo0MjoxMSk6ClNvLCBhbHNvIGljaCBoYWJlIGdlc2NyaXB0ZXQuIEljaCBSZWRlIG5pY2h0IHVtIGRlbiBoZWlzc2VuIEJyZWkgaGVydW0sIGljaApoYWJlIGVzIGdldGFuIHVuZCBDYXQqIGhhdCBtaXIgenVyIHN0cmFmZSBhbGxlIEZQIGdlbm9tbWVuLgpTbyB3ZWl0IHNvIHNjaGxlY2h0LgpOdXIsIHdhcyBoYWJlIGljaCB2ZXJicm9jaGVuIHVtIGRpZXNlciBTdHJhZmUgYXVzZ2VzZXR6dCB6dSBzZWluID8KSWNoIGhhYmUgZ2VzY3JpcHRldCB1bmQgaGFldHRlIGRhZnVlciBhdWNoIGdlbG9lc2NodCB3ZXJkZW4ga29lbm5lbiwgc29sbHRlCmpldHp0IGFsc28gZnJvaCB1bmQgZ2x1ZWNrbGljaCBzZWluLCBzbyBtaWxkZSBkYXZvbiBnZWtvbW1lbiB6dSBzZWluLgpCaW4gaWNoIGFiZXIgbmljaHQuCkdydW5kIGxpZWd0IGluIGRlbSAiU2NyaXB0IiwgZGFzIGljaCBiZW51dHp0IGhhYmUsIGljaCBkZW5rZSwgZXMgaXN0IGFuIGRlcgp6ZWl0LCBtYWwgbWFsIHp1IHNhZ2VuLCB3YXMgZGllc2UgIlNjcmlwdCIga2FubiAoaWNoIGthbm4gbnVyIGZ1ZXIgZGFzIFNjcmlwdApzcHJlY2hlbiwgZGFzIGljaCBoYWJlLCB3ZW5uIGVzIGFuZGVyZSBnZWJlbiBzb2xsdGUsICBkaWUga2VubmUgaWNoIG5pY2h0KS4KQWxzbywgZGllc2UgU2NyaXB0IHVudGVyc3VjaHQgYWxsZSBXb3J0ZSwgZGllIGluIGRlciBMYW5nYmVzY2hyZWlidW5nIGRlcwpSYXVtZXMgc3RlaGVuLiBEaWVzZXIgVGVpbCBpc3QgYXVjaCBpbiBtZWluZW4gQXVnZW4gd29obCBldHdhcyB3ZWl0IGdlaGVuZCB1bmQKdmVyZGllbnQgdmlsZWljaHQgc29nYXIgZGVuIEF1c2RydWNrIFNjcmlwdCwgYXVjaCB3ZW5uIGljaCBkZXIgbWVpbnVuZyBiaW4sCmRhcyB3YXMgaW4gZGVyIExhbmdiZXNjaHJlaWJ1bmcgc3RlaHQgZG9jaCBhdWNoIG5vcm1hbGVyd2Vpc2UgdW50ZXJzdWNodCB3aXJkLAphbHNvIGltIFByaW56aXAgbnVyIGVpbmUgQXJiZWl0c2VyZWljaHRlcnVuZyBmdWVyIGRlbiBTcGllbGVyIGRhcnN0ZWxsdC4KRGVzIHdlaXRlcmVuIGVybW9lZ2xpY2h0IGVpbmVtIGRpZXNlcyBTY3JpcHQsIGFuc3RlbGxlIHdlaXRlcmUgRGV0YWlscyBtaXQgdW50CkRldGFpbDEgPFJldHVybj4gdW50IERldGFpbDIgPFJldHVybj4gZXRjLiB6dSB1bnRlcnN1Y2hlbiBlaW5mYWNoIC91CkRldGFpbDFEZXRhaWwyLi4genUgbWFjaGVuLCB3YXMgaW4gbWVpbmVuIEF1Z2VuIG51ciBlaW5lIEFyYmVpdHNlcmxlaWNodGVydW5nCmlzdC4KRXMgaXN0IGFsc28gbmljaHQgc28sIGRhcyBkaWVzZXMgIlNjcmlwdCIsIG1vZWdsaWNoc3Qgbm9jaCBpbiBlaW4gTGF1Zm1ha3JvCmVpbmdlYmF1dCwgYWxsZSBGUCBmaW5kZXQuCk1hbiBrb21tdCBhdWNoIG5pY2h0IHVtaGluLCBzaWNoIGRpZSBTYWNoZW4gZHVyY2h6dWxlc2VuLCBzbyBkYXMgZGVyIGltbWVyCndpZWRlciBnZW5hbm50ZSBHcnVuZCwgZGllIE11ZWhlLCBkaWUgZGllIE1hZ2llciBiZWltIHByb2dyYW1taWVyZW4gaGF0dGVuCnd1ZXJlIG5pY2h0IGJlbG9obnQsIGRhIGVzIG5pY2h0IGdlbGVzZW4gd2lyZCwgYXVjaCBoaW5mYWVsbGlnIGlzdC4KQmxlaWJ0IGFsc28gbm9jaCBkaWUgVGF0c2FjaGUsIGRhcyBpY2ggZ2VnZW4gZGllIFJlZ2VsIHZlcnN0b3NzZW4gaGFiZSwgbmljaHQKenUgU2NyaXB0ZW4sIG51ciBmcmFnZSBpY2ggbWljaCwgV2FyIGRhcywgd2FzIGljaCBnZW1hY2h0IGhhYmUgd2lya2xpY2gKU2NyaXB0ZW4gPyAKS3VyeiB1bmQgZ3V0LCBJY2ggaGFldHRlIGdlcm5lIG1laW5lIEZQIHp1cnVlY2suCkxhZ2VyaGFlZnRsaW5nIE9ya3RvZXRlciBtdXNzIGRlbiBnZWxiZW4gU2NyaXB0ZXJzdGVybiB0cmFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChSYWZmaSwgMTQuIEp1biAxOTk2LCAxNTo0MzowMCk6Cn4jISBybj1DYXVubyBydD04MzQ3NTA5MTcKfiMhIHRpZD04MzQ1Nzg5MzYKPiBHdXQsIElIUiBoYWJ0IGVzIGRhbm4gd29obCBuaWNodCB2ZXJzcHJvY2hlbi4KPiBBYmVyIGRhbm4gd2FyIGVzIGlyZ2VuZCBlaW4gYW5kZXJlci4gSWNoIG1vZWNodGUgZ2VybmUgd2lzc2VuLAo+IHdlciBkZW4gcXVhdHNjaCBkYW5uIHZlcnphcGZ0IGhhdCwgLi4uCgpMYXRyaWVuZW5nZXJ1ZWNodGUsIHVuZCBEdSB3aXJzdCBuaWUgamVtYW5kZW4gZmluZGVuIGRlciBzYWd0CmVyIGhhZXR0ZSBlcyB3ZWl0ZXJlcnphZWhsdCwgb2RlciBnYXIgaW4gVW1sYXVmIGdlYnJhY2h0IQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKFJ1ZGlyYXR0ZXIsIDE0LiBKdW4gMTk5NiwgMTY6MTc6NTQpOgp+IyEgcm49VG9ldGVyIHJ0PTgzNDU3ODkzNgp+IyEgdGlkPTgzNDU3ODkzNgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPkljaCB2ZXJzdGVoZSBuaWNodCwgd2FzIGRhcyBSdW1nZWthc3BlciBqZXR6dCBzb2xsLiBNYW4gd2lyZCBiZWkgamVkZW0KOjpFaW5sb2dnZW4gZ2V3YXJudCwgZGFzcyBTY3JpcHRlbiB2ZXJib3RlbiB1bmQgYmVzdHJhZnQgd2lyZC4gQmVpIEVJbmZ1ZWhydW5nCjo6ZGVzIFNjcmlwdHZlcmJvdGVzIGhpZXNzIGVzLCBkaWUgTGV1dGUgc29sbHRlbiBHRUxPRVNDSFQgd2VyZGVuLiBXYXJ1bSB3aXJkCjpkYQo6Ogo6OnJkIGRhIGpldHp0IHNvIGxhbmdlIGdlZmFja2VsdD8KOjpFaW5lcnNlaXRzIG1hY2hlbiBzaWNoIGRpZSBNYWdpZXIgdW5nbGF1Ynd1ZXJkaWcsIGRpZSBkYW1hbHMgU3RyYWZlbgo6YW5nZWRyb2h0Cjo6aGFiZW4gdW5kIGpldHp0IG5pY2h0IGtvbnNlcXVlbnQgc2luZCwgYW5kZXJlcnNlaXRzIGhhYmVuIGRpZSBTcGllbGVyLCBkaWUKOjpzaWNoIHVudHNjcmlwdGJlZnJpZWRpZ3QgaGFiZW4sIGVzIGVoIG5pY2h0IGFuZGVycyB2ZXJkaWVudC4gR2V3YXJudCB3YXJlbgo6c2llCjo6amEuCjo6TmF0dWVybGljaCB3ZXJkZW4gamV0enQgZGllIHNjaGxhdXN0ZW4gU2NyaXB0c2NocmVpYmVyIGVpbmZhY2gKOjpaZWl0dmVyem9lZ2VydW5nZW4gbWl0ZWluYmF1ZW4sIGRhbWl0IG1hbiBzY2hsZWNodGVyIGVya2VubmVuIGthbm4sIGRhc3Mgc2llCnNjcmlwdGVuLCBhYmVyIHNvIHdlcmRlbiB3aXIgZGllIFNjcmlwdGVyZWkgbmllIGxvcy4KCkljaCBiaW4gd2lya2xpY2ggZGVyIE1laW51bmcsIGRhc3MgbWFuIGpldHp0IGhhcnQgZHVyY2hncmVpZmVuIHNvbGx0ZSwgdW5kIGRpZQpTY3JpcHRlciBsb2VzY2hlbiBzb2xsdGUuIFZpZWxsZWljaHQgd3VlcmRlbiBkYW5uIGRpZSBuYWVjaHN0ZW4gd2lya2xpY2ggbWFsCmV0d2FzIGFiZ2VzY2hyZWNrdC4gCkFuZHJvaGVuIHVuZCBkYW5uIG5pY2h0IHZvbGx6aWVoZW4gaXN0IEtpbmRlcmtyYW0uCkdld2FybnQgd2FyZW4gYWxsZSwgYmVpIGplZGVtIEVpbmxvZ2dlbi4KQWxzbywgd2VnIG1pdCBkZXIgU2V1Y2hlLgpXZXIgbnVyIFB1bmt0ZSB3aWxsIHVuZCBuaWNodCBiZXJyZWl0IGlzdCwgZGFzIFNQaWVsIHp1IFNQSUVMRU4sIGhhdCBoaWVyIGVoCm5pY2h0cyB6dSBzdWNoZW4uClVuZCBkYXMgUnVtZ2VoZXVsZSBhbGxhICdpY2ggbXVzcyBuZW4gZ2VsYmVuIHNjcmlwdGVyLXN0ZXJuIHRyYWdlbicgaXN0IGphCndvaGwgTUVIUiBhbHMgdW5hbmdlYnJhY2h0LgpSVURJCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NyaXB0IChSYWZmaSwgMTQuIEp1biAxOTk2LCAxNjozMjowMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODM0NzU5NzMxCn4jISB0aWQ9ODM0NzU5NzMxCgpTbywgT3JrVG9ldGVycyBBcnRpa2VsIGlzdCBzZWhyIGludGVyZXNzYW50LCBkZXV0ZXQgZXIgZG9jaCBhdWYgZWluaWdlClp1c2FtbWVuaGFlbmdlIGRpZSBzbywgb2RlciBzbyBhZWhubGljaCwgamVkZW0gYmVyZWl0cyBtYWwgaW4gZGVuIFNpbm4KZ2Vrb21tZW4gc2luZDogRGFzIGVzIG9lZGUgaXN0IGRhcyBnYW56ZSB6ZXVjaHMgZGF1ZXJuZCBhYnp1dGlwcGVuLAp1bmQgZGFubiB2b3IgbGF1dGVyIHNjcm9sbCB1bmQgcnVtZ2VydWZlIGdhcm5pY2h0bWFsIHp1IGVya2VubmVuIHp1CmtvZW5uZW4gd28gbWFuIHNpY2ggd2llZGVyIHZlcnRpcHB0IGhhdC4KCkljaCBoYWIgbWlyIHNjaG9uIG9mdCBlaW5lIEZ1bmt0aW9uIGluIG1laW5lbSBUZWxuZXQgKGphamEsIGlzdCBzY2hvbgpndXQpIGdld3VlbnNjaHQgZGllIGFsbGUgU2NobHVlc3NlbHdvZXJ0ZXIgZmFyYmlnIG1hcmtpZXJ0IHdlcmRlbiwgYW0KYmVzdGVuIGRhbm4gZ2xlaWNoIG5vY2ggbmUgTWF1c3N0ZXVlcnVuZyBkcmF1ZmxlZ2VuLCBzbyBkYXMgaWNoIGRpZQpkYW5uIG51cm5vY2ggYW5rbGlja2VuIG11c3MhCgpNYWwgaW0gZXJuc3Q6IHdhcnVtIG5pY2h0PyAgRXMgZ2FlYmUgMyBXZWdlOgphKSBlaW4gJ0x1eHVzbW9kdXMnIGVpbiwgZGVyIGRhbm4gYWxsZSBTY2hsdWVzc2Vsd29lcnRlciAoc3ByaWNoIHNvbGNoZQogICBkaWUgX29obmVfd2VpdGVyZV9CZXVndW5nXyBhdWYgJ3VudCcgYW50d29ydGVuKSBncnVlbiBlaW5mYWVyYnQgKG9kZXIKICAgdW50ZXJzdHJlaWNodCBldGMuIGplIG5hY2ggRW11bGF0aW9uKS4KYikgaW4gZWluZW0gJ0Zhc3QtTHV4dXMtTW9kdXMnIHdlcmRlbiBhbGxlIFNjaGx1ZXNzZWx3b2VydGVyIGVpbmVzIFJhdW1lcwogICBhbiBkaWUgQXVzZ2FiZSBhbmdlaGFlbmd0IC0gQW5hbG9nIGRlbiBBdXNnYWVuZ2VuLgpjKSBlaW4gJ3N1bnQnIGRhcyB2b24gZGVyIFdpcmt1bmcgaGVyIHdpZSAndW50JywgdHJpZ2dlcnQgamVkb2NoIGVpbmVuCiAgIGVudHNwcmVjaGVuZGVuIEZQIG5pY2h0LiBEaWVzZXMgJ3N1bnQnIHdpcmQgZGFubiBlaW4gZXJsYXVidGVyIFNjcmlwdC0KICAgYmVmZWhsLiAnc3VudCcgd2lyZCBhdWNoIGltIGdlZ2Vuc2F0eiBuaWNodCBhbHMgVHJpZ2dlciBmdWVyIGRpZQogICBTY3JpcHRmYWxsZW4gdmVyd2VuZGV0LgoKU2NyaXB0ZSBkaWUgd2llIE9ya1Qgc2FndCBudXIgZGFzIEFuc2NoYXVlbiBlcmxlaWNodGVybiwgdW5kIG5pY2h0CmF1dG9tYXRpc2NoIHdlaXRlcm1hY2hlbiB3YWVyZW4gbWl0IGJlaWRlbiBMb2VzdW5nZW4gbW9lZ2xpY2ggKGljaApzZXR6ZSBlaW5mYWNoIG1hbCB2b3JhdXMgZGFzIG1hbiBtaXQgVEYgYXVjaCBTdGV1ZXJ6ZWljaGVuIGFscyBTdWNoLQprcml0ZXJpZW4gZmVzdGxlZ2VuIGthbm4pLCBkYSBkYXMgZWlnZW50bGljaGUgVW50ZXJzdWNoZW4gaW1tZXJub2NoCmhhbmRnZXN0ZXVlcnQgZXJmb2xndC4gV2VubiBqZXR6dCBub2NoIGRpZSBTdGFuZGFyZHdvZXJ0ZXIgKGJvZGVuLApkZWNrZSwgd2FuZCB1bmQgd2VnKSBhdXNnZW5vbW1lbiB3ZXJkZW4ga2FubiBzY2huZWxsZXMgJ3VudCcgd2VpdGVyaGluCih1bmQgamV0enQgdmllbCB6aWVsZ2VuYXVlcikgYWxzIEtyaXRlcml1bSBmdWVycyBzY3JpcHRlbiB2ZXJ3ZW5kZXQKd2VyZGVuLgoKTG9lc3VuZyBhKSBoYWV0dGUgb2JlbmRyZWluIHp1bSBWb3J0ZWlsIGRhcwotIGVzIGF1Y2ggZnVlciBuaWNodCBUZi1CZW51dHplciBlaW5lIEhpbGZlIGlzdCB1bmQKLSBkZXIgRGF0ZW52ZXJrZWhyICh1bmQgZGFzIExhZykgd2VzZW50bGljaCBnZXJpbmdlciBpc3QgYWxzIGJlaSBkZXIKICBqZXR6aWdlbiBNZXRob2RlICh1bmQgYmVpIGMpLgpOYWNodGVpbGlnIGlzdCBkZXIgKGdlcmluZ2Z1ZWdpZykgaG9laGVyZSBSZWNoZW5hdWZ3YW5kIGltIE1HICh3YXMKYWJlciBkdXJjaCBkaWUgRWluc3BhcnVuZyBkZXV0bGljaCB1ZWJlcnRyb2ZmZW4gd2lyZCkgdW5kIGRhcyAnZWluZmFjaGUnCkdlZ2Vuc3RhZW5kZSBkZXIgamV3ZWlscyBuYWVjaHN0ZW4gU3VjaHN0dWZlIHp1IGVya2VubmVuIHNpbmQuIEF1c3NlcmRlbQppc3QgZWluIChncm9lc3NlcmVyPykgUHJvZ3JhbW1pZXJhdWZ3YW5kIHp1IGxlaXN0ZW4uCgpiKSBiaWV0ZXQgZGllIGdsZWljaGVuIFZvci0gdW5kIE5hY2h0ZWlsZSwga3Jhbmt0IGplZG9jaCBkYXJhbiBkYXMgc29mb3J0CkpFREVTIERldGFpbCBlcnNpY2h0bGljaCBpc3QuIERlciBQcm9ncmFtbWllcmF1ZndhbmQgaXN0IGplZG9jaCBnZXJpbmdlcgphbHMgYmVpIGIpCgpjKSBlcmZvcmRlcnQgbnVyIGRlbiBnZXJpbmdzdGVuIEF1ZndhbmQgKCdzdW50JyBpc3QgZWluZSBBcnQgQWxpYXMgZnVlcgondW50JyksIGlzdCBhYmVyIGxlaWRlciB3aWVkZXIgbnVyIFRGbGVybiB6dWdhZW5naWcuIERpZSBOZXR6LSAodW5kIE11ZCkKQmVsYXN0dW5nIGJlaWJ0IHdpZSBoZXV0ZSwgb2RlciB3aXJkIHNvZ2FyIG5vY2ggc3RlaWdlbiwgZGEgZGllc2VzClZvcmdlaGVuIGphIGRhbm4gZXJsYXVidCBpc3QuCgpadXNhbW1lbmdlbm9tbWVuIGJsZWlidCBhKSBhbHMgTG9lc3VuZyB1ZWJyaWcsIGRhIGIpIHNpY2ggc2VsYnN0IHZlci0KYmlldGV0IChkZXIgU3Bhc3MgZ2VodCBmbG9ldGVuKSB1bmQgYykgbWl0IHp1IHNjaHdlcndpZWdlbmRlbiBOYWNodGVpbGVuCmJlZnJhY2h0ZXQgaXN0LgoKR3J1c3MKSC4KKEljaCBrcmllY2ggdWVicmlnZW5zIGdlcmFkZSBtYWwgd2llZGVyIGR1cmNoIGRlbiBOYXJyZW5iYWxsLCB1bSBtZWluZSBGUHMgenUKZmluZGVuIC0gKmdyaW5zKiB1bmQgTGkgbWl0IFR5cG8sIEZlaGxlciB1bmQgSWRlZSBlaW56dWRlY2tlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IC4uLiB1bmQgbm9jaG1hbCBBbHpoZWltZXIgKEFzbW9kaXMsIDE0LiBKdW4gMTk5NiwgMTc6MzM6NDQpOgp+IyEgcm49SGFkcmEgcnQ9ODM0NzUyMTQ1Cn4jISB0aWQ9ODM0NjkzMDU5Ck5hamEsIGRpZSBQdW5rdGUgd3VyZGVuIGphIHdpZWRlciBhYmdlem9nZW4sIGxlaWRlciBibGllYmVuIGFiZXIgZGllCkxldmVsLCBzb2Rhc3Mgd2lya2xpY2ggbnVyIGVpbiBnYW56IGtsZWluZXIgVGVpbCBkZXIgU3BpZWxlciBkaWVzZW4KVm9ydGVpbCBhdXNnZW51dHp0IGhhdC4gSmV0enQgYWxsZSBBbHQtU3BpZWxlciB1ZWJlciBlaW5lbiBLYW1tIHp1CnNjaGVyZW4sIHNvbGx0ZSBtYW4gdmVybWVpZGVuLiBEaWUgbWVpc3RlbiBoYWJlbiB3aXJrbGljaCBuaWNodHMgdm9uCmRpZXNlbSBidWcgZ2V3dXNzdC4KSG1tLCBhbHNvIHN0aW1tZSBpY2ggSGFkcmEgenUgaW4gc2VpbmVyIEF1c3NhZ2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY3JpcHQgKFlhbnRybywgMTQuIEp1biAxOTk2LCAxNzozNzowNik6Cn4jISBybj1VbG8gcnQ9ODM0NzY1OTM0Cn4jISB0aWQ9ODM0NzU5NzMxCgpJY2ggaGFiIGVpZ2VudGxpY2ggbnVyIDIgU2FjaGVuIGFuenVtZXJrZW46IAoKMS4gRmluZGUgaWNoIE9ya3RvZXRlcnMgQXJ0aWtlbCBtaXQgc2VpbmVyIEFuc3BpZWx1bmcgYXVmIGRpZSAiZ3V0ZSBhbHRlIFplaXQiCm1laHIgYWxzIE5pdmVhdWxvcywgZ2FyIGdlc2NobWFja2xvcyB1bmQgZGVua2UsIGRhc3MgZGFzIGVpbmUgdW52ZXJzY2hhZW10aGVpdAppc3QuIFp1bSBhbmRlcmVuIGhhdCBlciBpbiBzZWluZW0gQXJ0aWtlbCBNRUhSIEFMUyBERVVUTElDSCBrdW5kZ2V0YW4sIGRhc3MgZXIKZ2Vza3JpcHRldCBoYXQsIG9id29obCBlciB3ZWlzcywgZGFzcyBlcyB2ZXJib3RlbiBpc3QgKHNpZWhlIGF1Y2gKRWlubG9nZ3RleHQpLiBFcyB3dXJkZSBzZWhyIGxhbmdlIERpc2t1dGllcnQsIG9iIFdFR0VTa3JpcHRlIGdlZHVsdGRldCB3ZXJkZW4sCmFiZXIgaWNoIGJpbiBkYSBpbnp3c2ljaGVuIGF1Y2ggZ2VnZW4sIGRlbm4gaWNoIHNlaGUsIGRhc3MgZXMgZWluZmFjaCBlaW5pZ2UKU3BpZWxlciBnaWJ0LCBkaWUgZWluZW0gZGVuIEFybSBhYnJlaXNzZW4sIHdlbm4gbWFuIGRlbiBrbGVpbmVuIEZpbmdlcgphbmJpZXRldC4uLiAKCjIuIEljaCBiaW4gZGVyIE1laW51bmcsIGRhc3MgTGFuZ2UgZ2VudWcgYXVmIGRhcyBWZXJib3QgZGVyIFNrcmlwdGVyZWkKYXVmbWVya3NhbSBnZW1hY2h0IHd1cmRlIHVuZCBpY2ggZGVua2UsIGRhc3Mgc2ljaCBDYXR0eSBlaW5mYWNoIG51cgpsYWVjaGVybGljaCBtYWNodCwgd2VubiBlciBzaWNoIG51biBhbmRlcmUgU2Fua3Rpb25lbiBhdXNkZW5rdCwgYWxzIHNpZSBkYW1hbHMKYW5nZWt1ZW5kaWd0IHd1cmRlbi4gSWNoIHN0aW1tZSBoaWVybWl0IFJ1ZGlyYXR0ZXIgZWluZmFjaCBtYWwgenUsIGRhc3MgZXMKbGFlbmdzdCB1ZWJlcmZhZWxsaWcgaXN0LCBFTkRMSUNIIG1hbCByaWNodGlnIGR1cmNoenVncmVpZmVuLiBMb2VzY2h0IGVpbmZhY2gKZGllL2RlbiBCZXNjaHVsZGlndGVuIHVuZCBkYW5uIGlzdCBTQ0hMVVNTLi4uIFNvbGFuZ2UgaGllciBydW1kaXNrdXRpZXJ0IHdpcmQsCmthbm4gc2ljaCBuaXggdmVyYmVzc2VybiwgZGVubiBkdXJjaCBkaWUgd2VpY2hlaWVybGluaWUgZGVzIFNoZXJpZmZzIHdpc3NlbgpkaWUgU3BpZWxlciBpbnp3aXNjaGVuLCBkYXNzIHNpZSBzaWNoIGphIGRvY2ggYWxsZXMgZXJsYXViZW4ga29lbm5lbi4gRXMgbXVzcwplaW5mYWNoIG1hbCBlaW4gRXhlbXBlbCBoZXIgdW5kIHdlbm4gZXMgYW4gZGVyIHVudGVyIFB1bmt0IDEgZ2VuYW5udGVuIEZpZ3VyCnBhc3NpZXJ0LCBkZW5uIGRlciBzY2hlaW50IGFtIHdlbmlnc3RlbiBkZXIgRWluc2ljaHQgZmFlaGlnLCBzY2hlaW50IG5vY2gKbmNpaHQgbWFsIGVpbmUgU3B1ciBkZXIgUmV1ZSB6dSBoYWJlbiEKCiAgICAgICAgIFlhbnRybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEFzbW9kaXMsIDE0LiBKdW4gMTk5NiwgMTc6NDA6MzcpOgp+IyEgcm49UnVkaXJhdHRlciBydD04MzQ3NjE4NzQKfiMhIHRpZD04MzQ1Nzg5MzYKUnVkaSwgZXMgd2VyZGVuIGF1Y2ggTGV1dGUgYmVzY2h1bGRpZ3QsIGRpZQpOSUNIVCBnZXNjcmlwdGV0IGhhYmVuLiBXYXJ1bSBkYXMgc28gaXN0LCBoYWIgaWNoIGJlcmVpdHMgaW4gCnBvbGl6ZWkuYmVzY2h3ZXJkZW4gYXVzZ2VmdWVocnQuIERpZSBCZXdlaXNtZXRob2RlIChtYW4gd2lyZCBnZWxvZ2d0LCB3ZW5uCm1hbiB6dSBzY2huZWxsIG1laHJlcmUgZGV0YWlscyB1bnRlcnN1Y2h0KSBpc3QgZWJlbiBrZWluIEJld2Vpc21pdHRlbCwKZGVubiBlcyBnaWJ0IGdlYmlldGUsIGluIGRlbmVuIGluIGplZGVtIFJhdW0gbWVocmVyZSBkZXRhaWxzIGdsZWljaCBzaW5kLAp1bmQgZGEgbGVnIGljaCBtaXIgbmF0dWVybGljaCBhbGlhc2VzIGRyYXVmIDopCkRhc3MgZGllc2UgVW50LVNjcmlwdHMgbmljaHQgZ3V0IHNpbmQsIGRhIHN0aW1tZSBpY2ggamVkb2NoIHVlYmVyZWluLApqZWRvY2ggc29sbHRlIG1hbiBuaWNodCBudXIgbmFjaCBpcmdlbmRlaW5lbSBkb29mZW4gTE9HLUZpbGUgdXJ0ZWlsZW4sCmRhcyBtYW4gc2ljaGVyIGF1Y2ggZmFlbHNjaGVuIGthbm4sIGZhbGxzIGVpbiBFcnptYWdpZXIgZWluZW0gU3BpZWxlcgpldHdhcyBCb2VzZXMgd2lsbCAoZGFzIGljaCBrZWluZW0gdW50ZXJzdGVsbGUgOikgICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjcmlwdCAoRnl0LCAxNC4gSnVuIDE5OTYsIDE3OjQ3OjIyKToKfiMhIHJuPVlhbnRybyBydD04MzQ3NjY2MjYKfiMhIHRpZD04MzQ3NTk3MzEKCkdlbmF1LCBzdGF0dWllcnQgZWluIEV4ZW1wZWwuCgpMb2VzY2h0IFlhbnRyby4KCkZ5dC4KClBTOiBJY2ggZmluIE9ya3RvZXRlcnMgQWV1c3NlcnVuZ2VuIGF1Y2ggZXR3YXMgLi4uIGFlaG0gLi4gc2VsdHNhbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQm90dG9tLCAxNC4gSnVuIDE5OTYsIDE4OjI0OjM5KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODM0NzY2ODM3Cn4jISB0aWQ9ODM0NTc4OTM2CgpUamEuLi5EYW5rZSwgQXNtb2RpcyEgRGFzIHdhciBlaW4gd2FocmVzIFdvcnQgenVyIHJlY2h0ZW4gWmVpdC4gRHVtbWVyd2Vpc2UKaXN0IG1pciBnZW5hdSBkaWVzZXMgcGFzc2llcnQuLi5laW4ga2xlaW5lcyBMYWcsIHNjaG9uIG1hbCBlaW4gYmlzY2hlbiBpbQpWb3JhdXMgZWluIHBhYXIgInVudCBkZXRhaWxzIiBlaW5nZXRpcHB0ICggTW9yb24ga2VubnQgbWFuIHNjaGxpZXNzbGljaCBpbiB1bmQKYXVzd2VuZGlnICksIGVpbiBwYWFyIEFsaSdzIGRlciBNYXJrZSAidW50IFN0YW5kYXJkZGV0YWlsIiB6dXZpZWwgLT4gU2Nob24KemFlaGx0IG1hbiB6dSBkZW4gYm9lc2VuIFNjcmlwdGVybiA6LSggRGF2b24sIGRhc3MgbWFuIGRlciBCdWhtYW5uIGlzdAplcmZhZWhydCBtYW4gZGFubiBhdXMgZGVyIE1QQSAocG9sLkJla2FubnRtYWNodW5nKSAtIEljaCBoYWJlIG1pY2ggYmVtdWVodCwKbWljaCBkZXIgQW5zY2h1bGRpZ3VuZ2VuIGluIEFydGlrZWwgODEgenUgZXJ3ZWhyZW4sIHVuZCBoYWJlIGF1Y2ggZWluZW4KZW50c3ByZWNoZW5kZW4gQnJpZWYgYW4gZGllIGVudHNwcmVjaGVuZGVuIE1hZ2llciBnZXJpY2h0ZXQgLSBtaXQgZGVtIEVyZm9sZywKZGFzIGljaCBpbiBlaW5lbSBuZXVlbiBDYXQqLUFydGlrZWwgKHBvbC4gQmVrYW5udG1hY2h1bmdlbikgcmVoYWJpbGl0aWVydAp3ZXJkZSAtIGVpbiBzY2hvZW5lciBFcmZvbGcgZnVlciBtaWNoLCBkYSBrYW5uIGljaCBtaWNoIGphIGZyZXVlbiwgZGVua2UgaWNoCm1pci4uLiBBUlNDSEtBUlRFIGdlem9nZW4hIEljaCB3YXJ0ZSBpbW1lciBub2NoIGF1ZiBkaWUgUnVlY2tlcnN0YXR0dW5nIGRlcgpGUCdzLi4uIEhhYmUgQ2F0KiBkYXJhdWYgZGlyZWt0IGFuZ2VzcHJvY2hlbiB1bmQgYmVrb21tZSB2b24gaWhtIHp1IGhvZXJlbgooc2lubmdlbWFlc3MpOiJXYXJ1bSBzb2xsdGUgaWNoIERpciBnbGF1YmVuPyIgXyBFbnRzY2h1bGRpZ3VuZyEgQWJlciB3YXJ1bQp3ZXJkZSBpY2ggaW4gZWluZW0gb2VmZmVudGxpY2hlbiBBcnRpa2VsIHJlaGFiaWxpdGllcnQgdW5kIHdlcmRlIHRyb3R6ZGVtd2llCmVpbiB1ZWJlcmZ1ZWhydGVyIFZlcmJyZWNoZXIgYmVzdHJhZnQgLSBpY2ggdmVyc3RlaGUgbmljaHQgZ2FueiBkaWUgTG9naWssCmhvZmZlIGFiZXIgZGllIFNhY2hlIGluIGRlciBuYWVjaHN0ZW4gV29jaGUgaW4gZWluZXIgTGFnLWZyZWllbiBNaW51dGUgbWl0CkNhdCogYmVyZWluaWdlbiB6dSBrb2VubmVuLi4uIFdhcyBkaWVzZXMgIlVlYmVyZnVlaHJlbiAtIEJlc3RyYWZlbiAtClJlaGFiaWxpdGllcmVuIC0gYWJlciBkb2NoIEJlc3RyYWZlbiIgYW5nZWh0IC0gaWNoIGthbm4gZXMgbmljaHQKbmFjaHZvbGx6aWVoZW4uLi4KCkJvdHRvbSAtIHd1bmRlcnQgc2ljaCBzY2hvbiBlaW4gd2VuaWcKClBTOiBXZXIgZXJ3ZWNrdCBkYSBlaWdlbnRsaWNoIGRlbiBBbnNjaGVpbiwgdW50ZXIgQWx6aGVpbWVyIHp1IGxlaWRlbi4uLj8KSWNoIG5laG0gZGVuIEF1c2RydWNrICJBbHpoZWltZXIiIHp1cnVlY2sgLSBlaW5lIEtyYW5raGVpdCB6dSBlaW5lbSBTdGlsbWl0dGVsCnp1IG1pc3NicmF1Y2hlbiwgd2lsbCBpY2ggbWlyIG5pY2h0IGFuZ2V3b2VobmVuIC0gc2VociBzY2hsZWNodGVyIFN0aWwhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoRGhvamFrdCwgMTQuIEp1biAxOTk2LCAxODozMDoxNik6Cn4jISBybj1Cb3R0b20gcnQ9ODM0NzY5NDc5Cn4jISB0aWQ9ODM0NTc4OTM2CkhhdCB1ZWJyaWdlbnMgc2Nob24gbWFsIGVpbmVyIGRydWViZXIgbmFjaGdlZGFjaHQsIGRhc3MgZWluIHVudC1zY3JpcHQsIHdvIG1hbgpqZWRlcyBkZXRhaWwgbWl0IGVpbmVyIHRhc3RlIHp1bSB1bnRlcnN1Y2hlbiBiZXN0YWV0aWdlbiBtdXNzLCBuYWNoIGRlcgptZy1kZWZpbml0aW9uIGdhciBrZWluIHNjcmlwdCBpc3QgLSBoaWVyenUgaGlsZmUgc2NyaXB0ZTogIChzaW5uZ2VtYWVzcykgZWluCnNjcmlwdCBpc3Qgd2FzLCB3YXMgbWl0IGVpbmVtIHRhc3RlbmRydWNrIG1laHIgYWxzIGVpbmUgYWt0aW9uIGF1c2xvZXN0LiBkZW4KZ2VuYXVlbiB3b3J0bGF1dCBrYW5uIGplZGVyIHNlbGJlciBuYWNobGVzZW4uCktoaWRhciB3dWVuc2NodCBub2NoIHZpZWwgc3Bhc3MgYmVpbSBGb3JtdWxpZXJlbiB2b24gJ2hpbGZlIHNjcmlwdGUnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChGeXQsIDE0LiBKdW4gMTk5NiwgMTg6MzQ6MDUpOgp+IyEgcm49RGhvamFrdCBydD04MzQ3Njk4MTYKfiMhIHRpZD04MzQ1Nzg5MzYKCkhtLCBpY2ggZ2FsdWIsIHdlbm4gbWFuIGRpZXNlICdEZWZpbml0aW9uJyByaWNodGlnIHplcnBmbHVlY2t0LAprYW5uIG1hbiBrb21wbGV0dGUgS2lsbHNjcmlwdGUgc2NocmVpYmVuLi4uCgpEYSBzdGVodCB3YXMgdm9uIG1laHJlcmVuIEJlZmVobGVuLi4uCgpGeXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChBc21vZGlzLCAxNC4gSnVuIDE5OTYsIDE4OjM3OjEyKToKfiMhIHJuPUZ5dCBydD04MzQ3NzAwNDUKfiMhIHRpZD04MzQ1Nzg5MzYKSG1tLCBkYXMgbGFldWZ0IGF1ZiBlaW5lIGVpbnNlaXRpZ2UgQWJudXR6dW5nIGRlciBSZXR1cm4tVGFzdGUgaGVyYXVzLApkYXJhbiBlcmtlbm50IG1hbiBhbHNvIGFiIHNvZm9ydCBkZW4gc2NyaXB0ZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKENhdW5vLCAxNC4gSnVuIDE5OTYsIDE4OjQ0OjIwKToKfiMhIHJuPVJhZmZpIHJ0PTgzNDc1OTc4MAp+IyEgdGlkPTgzNDU3ODkzNgoKSWNoIG1laW50ZSBtaXQgZGVyIFNhdWVyZWksIGRhc3MgZGFzIEdlcnVlY2h0LCBhbHMgZXMgbnVuIHNjaG9uIGluIFVtbGF1ZiB3YXIsCmFuc2NoZWluZW5kIG5pY2h0IGF1c3JlaWNoZW5kIGdlbnVnIGRlbWVudGllcnQgd3VyZGUuIEVyc3QgbmFjaCBkZXIgUmVmb3JtLAphbHMgZGVyIFNjaGFkZW4gKGluIGRlbSBTaW5uZSkgZGEgd2FyIC4uLiBoYWJlbiBkaWUgTWFnaWVyIG5pY2h0IGdlbmF1IGdlbnVnCnp1Z2Vob2VydCwgd2FzIG1hbiBzaWNoIGRhIGVyemFlaGx0ZT8KCk51ciByaWNodGlnc3RlbGxlbmQsIEMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY3JpcHQgKEdyaW1tYm9ybiwgMTQuIEp1biAxOTk2LCAxODo0OTozNik6Cn4jISBybj1SYWZmaSBydD04MzQ3Njc4ODMKfiMhIHRpZD04MzQ3NTk3MzEKCkFsc28sIFVsb3MgQXJ0aWtlbCB3YXIgaW5oYWx0c3ZvbGxlciB1bmQgc2FjaGxpY2hlciAobmFqYSwgaWNoIGJlemVpY2huZSBhdWNoCklyb25pZSB6dW0gVGhlbWEgYWxzIHNhY2hsaWNoLCBJcm9uaWUgaXN0IG5pY2h0IHVuc2FjaGxpY2ggc29uZGVybiBlaW4KU3RpbG1pdHRlbCkgYWxzIGRlciB1ZWJlcndpZWdlbmRlIFRlaWwgRGVpbmVyIEFydGlrZWwsIFJhZmZpLgpEYXMgbXVzc3RlIG1hbCBnZXNhZ3Qgd2VyZGVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoT2V0dGksIDE0LiBKdW4gMTk5NiwgMTg6NTU6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzNDc3MDk3Ngp+IyEgdGlkPTgzNDc1OTczMQpIaSAhCgpJY2ggbW9lY2h0ZSBoaWVyIGluIGFsbGVyIERldXRsaWNoa2VpdCBiZXRvbmVuLCBkYXNzIGljaCBiZWRpbmd1bmdzbG9zCmFic29sdXQsIHRvdGFsLCB1bmVpbmdlc2NocmFlbmt0LCB1bmQgb2huZSBEdWxkdW5nIGplZ2xpY2hlbiB3aWRlcnNwcnVjaHMKc293aWUgdm9lbGxpZyBzaWNoZXIgdW5kIFVOLUJFLURJTkdULi4uCgplaGhoCgprZWluZSBBaG51bmcgaGFiZSwgYWJlciBpY2ggdm9lbGxpZyBkYWdlZ2VuIGJpbi4KT2RlciBkYWZ1ZXIgamUgbmFjaCBTdGFuZHB1bmt0LgoKQUJFUiBEQVMgREVVVExJQ0ggISEhISEKCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKENhdW5vLCAxNC4gSnVuIDE5OTYsIDE5OjAxOjE0KToKfiMhIHJuPURob2pha3QgcnQ9ODM0NzY5ODE2Cn4jISB0aWQ9ODM0NTc4OTM2CgpWb3JzaWNodCBtaXQgc29sY2hlbiBEZWZpbml0aW9uZW4uCkRlbW5hY2ggaXN0IGVpbiB6d2VpLWJ1Y2h0YWJlbi1zY3JpcHQga2VpbmVzLCB3ZWlsIG1hbiBoaWVyenUgbmljaHQgZWluZSBUYXN0ZQpkcnVlY2tlbiBtdXNzIC4uIDstKQoKQy5ObywgaGFhcmVzcGFsdGVuZCwgYmV2b3JzIGVpbiBhbmRlcmVyIHR1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjcmlwdCAoQW5hdG9sLCAxNC4gSnVuIDE5OTYsIDE5OjA0OjExKToKfiMhIHJuPVJhZmZpIHJ0PTgzNDc2Nzg4Mwp+IyEgdGlkPTgzNDc1OTczMQoKLyoKTnVyIHNvIGFscyBGcmFnZSwga29tbXQgaWhyIGF1Y2ggaXJnZW5kd2FubiB3aWVkZXIgenVyIEVyZGU/Cldlbm4gaWNoIGVpbiBNYWdpZXIgd2FlcmUgdW5kIG1pciB2aWVsIE11ZWhlIGdlZ2VuIGhhZXR0ZSwgZWluZSBRdWVzdCBtaXQKdmllbGVuIERldGFpbHMgYXVzenVzdGF0dGVuIC0gbWl0IERldGFpbHMsIGRpZSBuaWNodCBudXIgIkRlciBGZWxzIGlzdApoYXJ0Ii1OaXZlYXUgaGFiZSAtIHVuZCBkaWUgUXVlc3QgZGFtaXQgaW50ZXJlc3NhbnRlciwgZmx1ZXNzaWdlciwKc3RpbW11bmdzdm9sbGVyIGdlc3RhbHRldCBoYWV0dGUuLi4gd2VubiBpY2ggc28gZWluIE1hZ2llciB3YWVyZSB1bmQgSVJHRU5ERUlOClNwaWVsZXIgKGVzIG11c3MgbmljaHQgT3JrdG9ldGVyIHNlaW4pIHd1ZXJkZSBkYSBtZWluZSBtdWVoZXZvbGxlIEFyYmVpdCBpbQoyLVJhZXVtZS1wcm8tTWludXRlLU1vZHVzIGFiaGFrZW4sIGRhbm4gd2FlcmUgaWNoIGVpbmUgTWlzY2h1bmcgYXVzIHNhdWVyLAp3dWV0ZW5kIHVuZCB6aWVtbGljaCBlbnR0YWV1c2NodC4KCkRhcyBVbXNjaGF1ZW4gZ2Vob2VydCBlaW5mYWNoIHp1bSBTcGllbC4gV2VyIGRhcyBuaWNodCBtYWcsIHVuZCB0cm90emRlbQptaXRtYWNoZW4gbW9lY2h0ZSwga2FubiBkYXMgamEgZ2VybmUgdHVuIC0gdmllbGUgc2luZCBudXIgenVtIExhYmVybiBvZGVyCk9ya2xhZ2VybGVlcnJhZXVtZW4gaGllci4KKi8KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoT3JrdG9ldGVyLCAxNC4gSnVuIDE5OTYsIDE5OjA5OjI1KToKfiMhIHJuPUFuYXRvbCBydD04MzQ3NzE4NTEKfiMhIHRpZD04MzQ3NTk3MzEKRGEgZG9ydCAibmljaHQgbnVyIE9ya3RvZXRlciIgc3RlaHQsIGJpbiBhbHNvIGF1Y2ggbWl0IGFuZ2VzcHJvY2hlbi4gCkljaCB2ZXJ3ZWlzZSBhdWYgQXJ0aWtlbCA5MC4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoR3JpbW1ib3JuLCAxNC4gSnVuIDE5OTYsIDE5OjMxOjM4KToKfiMhIHJuPUFuYXRvbCBydD04MzQ3NzE4NTEKfiMhIHRpZD04MzQ3NTk3MzEKClNvcnJ5LCBhYmVyIGZ1ZXIgc293YXMgaGFiIGljaCBVRUJFUkhBVVBUIGtlaW4gVmVyc3RhZW5kbmlzLiBXZW5uIGljaCBtaXIKZnVlcmNodGVybGljaCB2aWVsIE11ZWhlIGdlYmUgdW5kIGRhIHJhdXNjaHQgamVtYW5kIGR1cmNoIGlzdCBkYXMKYXVzc2NobGllc3NsaWNoIHNlaW4gUHJvYmxlbS4gTWFuIGthbm4gTGV1dGUgbmljaHQgenUgaWhyZW0gR2x1ZWNrIHp3aW5nZW4gdW5kCmljaCBtaXNzdHJhdWUgTGV1dGVuIFpVVElFRlNUIGRpZSBtZWluZW4sIG1hbiBrb2VubmUgZXMgZG9jaC4gCgpVbmQgd2VubiBlaW4gTWFnaWVyIHVuYmVkaW5ndCBTdHJlaWNoZWxlaW5oZWl0ZW4gdm9uIGplZGVtIERlcHAgYnJhdWNodCB0dXQgZXIKbWlyIGxlaWQsIGVzIHNvbGx0ZW4gU3RyZWljaGVsZWluaGVpdGVuIHZvbiBlaW4gcGFhciBlcm5zdHp1bmVobWVuZGVuIExldXRlbgpyZWljaGVuLCB3YXMgaW50ZXJlc3NpZXJ0IHNjaG9uIGRlciB0dW1iZSBNb2I/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNjcmlwdCAoR3JpbW1ib3JuLCAxNC4gSnVuIDE5OTYsIDE5OjM0OjEyKToKfiMhIHJuPU9ya3RvZXRlciBydD04MzQ3NzIxNjUKfiMhIHRpZD04MzQ3NTk3MzEKCkVzIGdpYnQgTGV1dGUgZGllIGxlcm5lbiBlcyBuaWUsIG5laW4/Ck1laW4gTGllYmVyIE9ya3RvZXRlciwgd2FzIER1IGhldXRlIG5vY2ggYWxzIEFydGlrZWwgOTAgc2llaHN0IGhhdCBtb3JnZW4Kc2Nob24gTnVtbWVyIDg1IHVuZCBpc3QgYW0gTW9udGFnIHZpZWxsZWljaHQgbnVyIG5vY2ggNzIuCldhcyBzb2xsIGFsc28gZGllIEFuZ2FiZSBkZXIgTnVtbWVyPyBNaXQgRGF0dW0gdW5kIFVocnplaXQgd2FlcmUgKGZhbGxzIGVzCmplbWFuZGVuIGludGVyZXNzaWVyZW4gd3VlcmRlKSBtZWhyIGdlZGllbnQKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChBY3JpbW9uLCAxNC4gSnVuIDE5OTYsIDE5OjM2OjE0KToKfiMhIHJuPUJvdHRvbSBydD04MzQ3Njk0NzkKfiMhIHRpZD04MzQ1Nzg5MzYKUHV1aCwgZGEgd3VuZGVydHMgbWljaCwgZGFzeiBpY2ggbmljaHQgYXVjaCBzY2hvbiBsYWVuZ3N0IGltIFVudC1Ta3JpcHRlci1Mb2cKc3RlaGU7IHNjaGxpZXN6bGljaCBoYWIgYXVjaCBpY2ggYWIgdW5kIHp1IExhZy4KKEljaCBoYWIgd29obCBiaXNoZXIgR2x1ZWNrIGdlaGFidC4pCgpBYmVyIGRhIGhhZW5ndCBtZWluIEdsdWVjayBhbSBzZWlkZW5lbiBGYWRlbjsgbWFsIGVpbiBsYWVuZ2VyZXMgTGFnLCB1bmQgaWNoCnN0ZWggYXVjaCBkcmluLgoKRmF6aXQ6IEdlc2Nod2luZGlna2VpdCBkZXIgYW5rb21tZW5kZW4gQmVmZWhsZSBpc3Qga2VpbiBTY3JpcHRlci1Lcml0ZXJpdW0uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClplaXR1bmcgLSBCdWcgb2RlciBldGMuPyAoQ2F1bm8sIDE0LiBKdW4gMTk5NiwgMTk6NDE6MDApOgoKTWFsIHdhcyBhbmRlcmVzOiBXZW5uIGljaCBlaW5lbiBBcnRpa2VsIGluIGRpZSBaZWl0dW5nIGdlc2V0enQgaGFiZSwgd2llc28Kd2lyZCBkZXIgZGFubiBhbHMgdm9uIG1pciB1bmdlbGVzZW4gbWFya2llcnQ/IGljaCBtdXNzIGRpZSBqZWRlc21hbCBub2NoCmxlc2VuLCB1bSBzaWUgd2VnIHp1IGtyaWVnZW4uClZpZWxsZWljaCBrYW5uIG1hbCBkYXJhbiB3YXMgYWVuZGVybi4gV2FlcmUgbWFsIGVpbmUgc2ludm9sbGVyZSBzYWNoZSwgYWxzCmRhcywgd2FzIGhpZXIgc29uc3Qgc3RlaHQgLi4uLgoKQy5ObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplaXR1bmcgLSBCdWcgb2RlciBldGMuPyAoUmFmZmksIDE0LiBKdW4gMTk5NiwgMTk6NDM6NDYpOgp+IyEgcm49Q2F1bm8gcnQ9ODM0Nzc0MDYwCn4jISB0aWQ9ODM0Nzc0MDYwCgpHYW56IGVpbmZhY2ggZGVyQXJ0aWtlbCB3dXJkZSBqYSBlcnN0IE5BQ0ggZGVpbmVtIGxldHp0ZW4gWmVpdHVuZ3NsZXNlbgpnZXNjaHJpZWJlbiAoZGllIE1QQSBtZXJrdCBzaWNoIGRpZSBQb3NpdGlvbiB1ZWJlciBkZW4gWmVpdHN0ZW1wZWwpLgoKV3VlcmRlIGpldHp0IGRlciB6ZWl0c3RlbXBlbCBhdWYgZGVpbmVuIEFydGlrZWwgZ2VzZXR6dCwgc28gd2FlcmVuIEFMTEUKYXJ0aWtlbCB6d2lzY2hlbiBkZW0gZGVuIGR1IHp1bGV0enQgZ2VsZXNlbiBoYXQgdW5kIGRlaW5lbSBlYmVuZmFsbHMgYmVyZWl0cwphbHMgZ2VsZXNlbiBNYXJraWVydC4KCkdydXNzCkguCihNYWcgYXVjaCBPZVBOVikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoQWNyaW1vbiwgMTQuIEp1biAxOTk2LCAxOTo0NDozOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM0NzcwOTc2Cn4jISB0aWQ9ODM0NzU5NzMxCklyb25pZSBpc3QgbmllbWFscyBzYWNobGljaCwgSXJvbmllIGlzdCBzY2hsaWNodCB1bmQgZWluZmFjaCBMdWVnZS4KTm9jaCBkYXp1IGluIHNlaHIga2luZGlzY2hlciBGb3JtLgpBYmdlc2VoZW4gZGF2b24gaGF0IFJhZmZpIGVpbmUgZWNodGUgVmVyYmVzc2VydW5nIHVuc2VyZXMgTW9yZ2VuR3JhdWVuCnZvcmdlc2NobGFnZW4sIHVuZCBkYXMgdmVyZGllbnQga2VpbmVzd2VncyBJcm9uaWUsIHNvbmRlcm4gWnVzdGltbXVuZyB1bmQKQmVnZWlzdGVydW5nLgoKV2VyIElyb25pZSBlaW4gIlN0aWxtaXR0ZWwiIG5lbm50LCBoYXQgbmljaHRzIHZvbiB2ZXJudWVuZnRpZ2VyIEtvbW11bmlrYXRpb24KdW5kIFZlcm1laWR1bmcgdm9uIGJvZXNhcnRpZ2VuIE1pc3p2ZXJzdGFlbmRuaXNzZW4gdmVyc3RhbmRlbi4KCkljaCBnbGF1YmUsIGljaCBzb2xsdGUgbWFsIHdpZWRlciB3YXMgenVtIFRoZW1hICJJcm9uaWUiIHNjaHJlaWJlbi4KU2NoYWRlLCBkYXN6IGRpZSBFcmtlbm50bmlzIG5hY2ggYWNodCBNb25hdGVuIHNjaG9uIHdpZWRlciBzbyBzdGFyawpuYWNobGFlc3p0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyIGJldHJ1ZWd0IG5pZW1hbHMgbWl0ICJJcm9uaWUiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY3JpcHQgKEFuYXRvbCwgMTQuIEp1biAxOTk2LCAxOTo0Nzo0MSk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzNDc3NDI3OQp+IyEgdGlkPTgzNDc1OTczMQoKU3RpbW10LCBJcm9uaWUgaXN0IGtlaW4gU3RpbG1pdHRlbC4KTWFuIGJyYXVjaHQgbmFlbWxpY2ggZWluIE1pbmRlc3RtYXNzIGFuIEludGVsbGlnZW56IHVuZCBTcHJhY2h2ZXJzdGFlbmRuaXMuClVuZCBkYXMgaXN0IGhpZXIgamEgbGVpZGVyIG5pY2h0IFZvcmF1c3NldHp1bmcuCgpCZWlsZWlkLApBbmF0b2wKClBTOiBXbyBpc3QgZWlnZW50bGljaCBkZXIgYmVydWVobXRlIEtub3BmLCBkdXJjaCBkZW4gbWFuIEdvdHQgd2lyZD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY3JpcHQgKEZ5dCwgMTQuIEp1biAxOTk2LCAxOTo0OToxNyk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzNDc3NDI3OQp+IyEgdGlkPTgzNDc1OTczMQoKQWNyaW1vbiwgRGVpbmUgVGhlb3JpZSB6dSAnSXJvbmllIGFscyBTdGlsbWl0dGVsJyBpc3QgCmhpbnJlaWNoZW5kIGJla2FubnQsIGViZW5zbyB3aWUgZGllIFRoZW9yaWVuIHp1ICdyaWNodGlnZXInClJlY2h0c2NocmVpYnVuZyB1bmQgVGV1ZmVsc2FuYmV0dW5nLgoKTmltbSBlaW5mYWNoIHp1ciBLZW5udG5pcywgZGFzcyBhbGxlIGFuZGVyZW4gTWVuc2NoZW4KYW5kZXJzIHNpbmQuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmVpdHVuZyAtIEJ1ZyBvZGVyIGV0Yy4/IChHcmltbWJvcm4sIDE0LiBKdW4gMTk5NiwgMTk6NTE6NTkpOgp+IyEgcm49Q2F1bm8gcnQ9ODM0Nzc0MDYwCn4jISB0aWQ9ODM0Nzc0MDYwCgpEYXMga2FubiBpY2ggbWlyIFNFSFIgZ3V0IHZvcnN0ZWxsZW4sIGRhc3MgRHUgRGVpbmUgQXJ0aWtlbCBuaWNodCBtZWhyIGxlc2VuCm1vZWNodGVzdC4gWndpc2NoZW4gZGVtLCBhdWYgZGVuIHNpY2ggZGllc2VyIGhpZXIgYmV6aWVodCB1bmQgZGVtLCBkZW4gaWNoCmhpZXIgc2NocmVpYmUgaGFiZSBpY2ggendlaSAodm9lbGxpZyBzaW5ubG9zZSBFaW56ZWlsZW4tKUFydGlrZWwgdm9uIERpcgpnZWxvZXNjaHQsIHdlaWwgaWNoIHNpZSBuaWNodCBhbmRlcmVuIHp1bXV0ZW4gd29sbHRlLiBVbmQgc293aWVzbyB3aWxsa3VlcmxpY2gKYmluLiAKSWNoIGZpbmRlIGRhcyBzZWhyIGd1dCwgZGFzIGdpYnQgbmFlbWxpY2ggZGVtIFNjaHJlaWJlciBub2NobWFsIGRpZQpHZWxlZ2VuaGVpdCBkZW4gZWlnZW5lbiBTY2h3YWNoc2lubiB6dSBsZXNlbiB1bmQgaWhuIGdlZ2ViZW5lbmZhbGxzIG5vY2ggenUKbG9lc2NoZW4gKGxlaWRlciB2aWVsIHp1IHNlbHRlbiB2ZXJ3ZW5kZXQsIGRlciBCZWZlaGwgaXN0OiBsb2VzY2hlIGFydGlrZWwKPG5yPikuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWmVpdHVuZyAtIEJ1ZyBvZGVyIGV0Yy4/IChDYXVubywgMTQuIEp1biAxOTk2LCAxOTo1Mzo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM0Nzc0NzE5Cn4jISB0aWQ9ODM0Nzc0MDYwCgp3ZW5uIGVzIGhlbGZlbiB3dWVyZGUsIHNlaW5lbiBhcnRpa2VsIHp1IGxlc2VuLCBnbGF1YnN0IGR1IGRhbm4gbmljaHQsIGRhc3MgZXMKaGllciBlaWdlbnRsaWNoIHZvbiBuYXR1ciBhdXMgbGVlcmVyIHNlaW4gbXVlc3N0ZT8gZGVyIGFydGlrZWwsIGF1ZiBkZW4gaWNoCm1pY2ggaGllciBiZXppZWhlLCBpc3QgZ2VuYXVzbyB3aWUgZGllLCBkaWUgZHUgZGFyaW4gdmVydXJ0ZWlsc3QuCgpDLk5vIGZhc3N0IHNpY2ggYXVjaCBtYW5jaG1hbCBhbiBkaWUgZWlnZW5lIG5hc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY3JpcHQgKEdyaW1tYm9ybiwgMTQuIEp1biAxOTk2LCAyMDowMjowMCk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzNDc3NDI3OQp+IyEgdGlkPTgzNDc1OTczMQoKVGphLCB3ZW5uIER1IHVuYmVkaW5ndCBEZWluZSBVbndpc3NlbmhlaXQgc28gb2VmZmVudGxpY2ggYnJlaXR0cmV0ZW4gbXVzc3QuLi4KSW4gamVkZW0gaGFsYndlZ3MgZ3V0ZW4gRGV1dHNjaGJ1Y2gga2FubiBtYW4gbmFjaGxlc2VuLCBkYXNzIElyb25pZSBlaW4KIm9mZml6aWVsbGVzIiBTdGlsbWl0dGVsIGlzdCwgZ2VuYXVzbyB3aWUgU2F0aXJlIGVpbmUgbGl0ZXJhcmlzY2hlIEZvcm0gaXN0Cih3YXMgRHUgYWxsZXIgV2FocnNjaGVpbmxpY2hrZWl0IG5hY2ggYXVjaCBhYnN0cmVpdGVuIHdpcnN0KS4KTmF0dWVybGljaCB3aXJkIGltIFJhaG1lbiBkZXIgSXJvbmllIGV0d2FzIGdlc2FndCwgd2FzIHNvIGluIGRlciBGb3JtIG5pY2h0CiJ3YWhyIiAod2FzIGF1Y2ggaW1tZXIgZGFzIG51biB3aWVkZXIgc2VpbiBzb2xsKSBpc3QuIE1laW5ldHdlZ2VuIGthbm5zdCBEdQpkYXMgTHVlZ2UgbmVubmVuLCBhdWNoIHdlbm4gTHVlZ2UgZXR3YXMgdm9lbGxpZyBhbmRlcmVzIGlzdDogTHVlZ2UgaXN0IGRhcwpiZXd1c3N0ZSB2ZXJkcmVoZW4gZGVyIFRhdHNhY2hlbiBtaXQgZGVtIFppZWwsIGRpZSB2ZXJmYWVsc2NodGVuIFRhdHNhY2hlbiBhbHMKcmljaHRpZyBkYXJ6dXN0ZWxsZW4uIApJcm9uaWUgZGFnZWdlbiBtYWNodCBkaWVzZSBBdXNzYWdlbiBtaXQgZGVtIFppZWwsIGRpZSB3YWhyZW4gVGF0c2FjaGVuIHp1CnZlcmRldXRsaWNoZW4sIGluZGVtIHVlYmVyem9nZW4gZGllIEdlZ2VucG9zaXRpb24gYWQgYWJzdXJkdW0gZ2VmdWVocnQgd2lyZC4KCk5hamEsIHdlbm4gbWFuIHZvbiBkZXIgRXhpc3RlbnogZWluZXIgYWJzb2x1dGVuIFdhaHJoZWl0IChkaWUgdm9uIE1lbnNjaGVuCmJlZ3JpZmZlbiB3ZXJkZW4ga2FubikgdWViZXJ6ZXVndCBpc3Qga2FubiBuYXR1ZXJsaWNoIGF1Y2ggYmVoYXVwdGVuLCBhbGxlcwp3YXMgbmljaHQgd2FociBpbiBqZW5lbSBTaW5uZSBpc3QgaXN0IEx1ZWdlLiBpY2ggd2VyZGUgbWljaCBkYXJ1ZWJlciBuaWNodAooc2Nob24gd2llZGVyKSBzdHJlaXRlbi4gQWJlciBJcm9uaWUgaXN0IG9iamVrdGl2IGVpbiBTdGlsbWl0dGVsLCBvYiBEaXIgZGFzCnBhc3N0IG9kZXIgbmljaHQuCgpOZWluLCBEdSBzb2xsdGVzdCBiZXNzZXIgbmljaHRzIG1laHIgenUgZGVtIFRoZW1hIElyb25pZSBzY2hyZWliZW4sIGRhbWl0IGhhc3QKRHUgc2Nob24gdm9yIGFjaHQgTW9uYXRlbiBrZWluIEdsdWVjayBnZWhhYnQuIFVuZCBhdXNzZXJkZW0gc2NocmVpYmUgaWNoIGphCmF1Y2ggbmljaHRzIHVlYmVyIGRpZSBwaG9uZXRpc2NoZW4gQmVzb25kZXJoZWl0ZW4gd2VzdGNoaW5lc2lzY2hlcgpCYXVlcm5kaWFsZWt0ZS4gV2VpbCBpY2ggbmFlbWxpY2ggbmljaHRzIGRhdm9uIHZlcnN0ZWhlLi4uCgpHcmltbWJvcm4gZGVtIEF0aGVpc3RlbiBzdGVodCAibW9yYWxpc2NoZSBVZWJlcmxlZ2VuaGVpdCIgYmlzIEhJRVIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY3JpcHQgKFRlcnJvcmlzdCwgMTQuIEp1biAxOTk2LCAyMDoxNjoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM0Nzc1MzIwCn4jISB0aWQ9ODM0NzU5NzMxCgpCaXR0ZSBob2VyIGF1ZiBHcmltbWJvcm4gaWNoIGhhYiBrZWluZW4gQm9jayBuYWNoIGlnbm9yaWVyZSBBY3JvbWluLm5ld3MgYXVjaApkaWNoIHNvIHp1IGlnbm9yaWVyZW4gd2VpbCBkdSBzY2hyZWlic3QgemllbWxpY2ggdmVybnVlZnRpZ2UgQVJ0dGlrZWwKbWFuY2htYWwuClVuZCB1bSBub2NoIHp1bSBUaGVtYSB6dXJ1ZWNrenUga29tbWVuLgpNZWluZSBWb3JzY2hsYWVnZToKTG9lc2NoZSBPcmt0b2V0ZXIgdW5kIGFsbGUgYW5kZXJlbiBTZWhlciB1ZWJlciBMZXZlbCAzNSBzaWUgaGFiZW4gYmVzdGltbXQKZ2VzY3JpcHRldC4KU2NocmVpYnQgd2VpdGVyIHNvbGNoZSBEZXRhaWxzIHdpZTogQVVmIGRlbSBCb2RlbiBsaWVnZW4gRkxpZXNzZW4uIHVudApGTGllc3NlbiBTb3dhcyBzaWVoc3QgZHUgbmljaHQuIERhcyBicmluZ3QgZGVuIFNDcmlwdGVybiBkYW5uIGtlaW5lIEZQcyBkZW4KYW5kZXJlbiB6d2FyIGF1Y2ggbmljaHQgd2FzIHNvbGxzLAoKVW5kIG9iIGRhcyBqZXR6dCBpcm9uaXNjaCwgc2Fya2FzdGlzY2ggc3Bhc3Rpc2NoIG9kZXIgZXJuc3Qgd2FyIGZpbmRldCBkb2NoCmJpdHRlIHNlbGJlciByYXVzLgoKVGVycm9yaXN0IGZpbmRldCBlcyBhdWYgYWxsZSBGYWVsbGUgd2l0emlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWx6aGVpbWVyc2NyaXB0ZSAoSGFkcmEsIDE0LiBKdW4gMTk5NiwgMjA6MTY6NDIpOgptYWwgbmEgZnJhZ2U6CgpoYWJ0IGlociBpbiBkZW4gbGV0emVuIHRhZ2VuIHp1IGxhbmdlIGluIGRlciBzb25uZSBnZXNlc3Nlbj8KZGVyIHRvbiBtaXQgZGVtIGhpZXIgamVkZXIgamVkZW0gZXR3YXMgdW50ZXJzdGVsbHQuIHp1bSB0ZWlsIHVudGVyIGJld3Vzc3Rlcgp2ZXJuYWNobGFlc3NpZ3VuZyB2b20gYXJndW1lbnRlbiB1bmQgcmVpbmVtIGZlc3RiZWlzc2VuIGFuIGZvcm11bGllcnVuZ2VuIGlzdApkb2NoIHdvaGwgbmljaHQgbm9ybWFsLCBvZGVyPwoKaGFkcmEgLSBob2x0IHNpY2ggamV0enQgYXVjaCBuZW4gc29ubmVuc3RpY2ggdW0gZGFzIGhpZXIgbm9jaCB6dSBrYXBpZXJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVyIEJlc2lubnVuZyAoRnJldW5kLCAxNC4gSnVuIDE5OTYsIDIwOjI4OjMzKToKWnVydWVja2xlaG5lbiB1bmQgZW50c3Bhbm5lbjoKCkZyZWloZWl0IGlzdCBpbW1lciBudXIgZGllIEZyZWloZWl0IGRlcyBBbmRlcnNkZW5rZW5kZW4uCihSb3NhIHZvbiBMdXhlbWJ1cmcpCgpFaW4gRnJldW5kLCBtYWhudCB6dXIgQmVzaW5udW5nIHVuZCBCZXNvbm5lbmhlaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY3JpcHQgKExhcmlzc2EsIDE0LiBKdW4gMTk5NiwgMjE6MTE6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzNDc3MzQ5OAp+IyEgdGlkPTgzNDc1OTczMQpIaSA6KQpBbHNvLCBkYSBoYXQgZGVyIEdyaW1tYm9ybiBkb2NoIGF1c25haG1zd2Vpc2UgbWFsIG5lbiBwcmltYSBBcnRpa2VsIHZlcnphcGZ0LAp3ZWlsIGVyIG5hZW1saWNoIFJlY2h0IGhhdC4gV2VyIGRlbiBQbGF0eiBhdWYgZGVyIFRvcGxpc3RlIHVuZCBkaWUKQW56YWhsIHNlaW5lciBGUCdzIHVlYmVyIGRlbiBTcGllbHNwYXNzIHN0ZWxsdCwgZGVyIHNvbGwgZG9jaCB3ZW5uIGVyIHdpbGwuCkRpZSBtZWlzdGVuIFNwaWVsZXIga2VubmVuIHNpY2ggZG9jaCBnYW56IGdlbmF1LCB1bmQgd2lzc2VuIHNvIHdpZSBzbywgd2FzCnNpZSB2b25laW5hbmRlciB6dSBoYWx0ZW4gaGFiZW4uIAoKTGFyaSwgenVyIFplaXQgbWl0IGVpbmlnZW0gJ0Fic3RhbmQnIHp1bSBNRyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoU251Z2dsZSwgMTYuIEp1biAxOTk2LCAyMDo0MTowMyk6Cn4jISBybj1SYWZmaSBydD04MzQ3NTk3ODAKfiMhIHRpZD04MzQ1Nzg5MzYKRGllIEplbWFuZHMgaGVpc3NlbiBDYXR3ZWF6bGUgdW5kIEpvZi4KCllUU251Z2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEFsemhlaW1lcnNlaGVyIHVudGVyd2VncyAoQW5hdG9sLCAxNi4gSnVuIDE5OTYsIDIwOjQyOjU4KToKfiMhIHJuPVNudWdnbGUgcnQ9ODM0OTUwNDYzCn4jISB0aWQ9ODM0NTc4OTM2CgpJY2gga2FubiBtaWNoIGRhcmFuIGVyaW5uZXJuLCBkYXNzIGRpZSBQYXVzY2hhbHZlcmdhYmUgdm9uIEZvcnNjaGVycHVua3RlbgpmdWVyIFNlaGVyIGF1cyBiZXJlaXRzIGdlbG9lc3RlbiBRdWVzdHMgaW0gR2VzcHJhZWNoIHdhciwgYWJlciBub2NoIGFtIHNlbGJlbgpBYmVuZCB2ZXJ3b3JmZW4gd3VyZGUuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChMdWcsIDE3LiBKdW4gMTk5NiwgMDE6MjU6MDkpOgp+IyEgcm49Qm9pbmcgcnQ9ODM0NzQ5NzY5Cn4jISB0aWQ9ODM0NTc4OTM2CgpNb2luIEJvaW5nLAoKaWNoIHNlaGUgZGFzIGFuZGVycy4gRGljaCBoYWJlIGljaCBuaWNodCBpbiBFcmlubmVydW5nLCBhYmVyIGVzIGlzdCBnZXNhZ3QKd29yZGVuLiAKCkdydXNzCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChNb3Jnb3RoLCAxNy4gSnVuIDE5OTYsIDA3OjIyOjM1KToKfiMhIHJuPUxhdmluaWEgcnQ9ODM0Njg0NTI5Cn4jISB0aWQ9ODM0NTc4OTM2ClZNUz8/IApoYXN0IGR1IGV0d2Egbm9jaCBuZSBuZXR0ZSBhbHRlIFZBWD8/Cm1lbGQgZGljaCBtYWwgCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NyaXB0IChMaSwgMTcuIEp1biAxOTk2LCAwOTo0NTo1Myk6Cn4jISBybj1SYWZmaSBydD04MzQ3NjI3MjEKfiMhIHRpZD04MzQ3NTk3MzEKKmdyaW5zKiBzb2JhbGQgbWVpbiBMQWIqIHVudGVyIHhpYW4gZmVydGlnIGlzdCwgbWFjaGUgaWNoIG1pY2ggYW4gTmFycmVuYmFsbAp1bmQgWGlhbiB6dW0gRGVidWdnZW4uIFZlcnNwcm9jaGVuISA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoTGksIDE3LiBKdW4gMTk5NiwgMDk6NTU6NTcpOgp+IyEgcm49QW5hdG9sIHJ0PTgzNDc3MTg1MQp+IyEgdGlkPTgzNDc1OTczMQpmdWVyIEFsbGUsIGRpZSBldHdhcyBnZWdlbiBEZXRhaWx1bnRlcnN1Y2hlbiBoYWJlbiwgZW1wZmVobGUgaWNoIGRhcyBNVUQKUmVhbG1zIG9mIE1hZ2ljIGluIEJyZW1lbi4gRGllcyBpc3Qga2VpbiBTY2htYWVoYXJ0aWtlbCBhdWYgUm9NLCBpY2ggbWFnIGVzCnNlaHIsIGFiZXIgZG9ydCB3aXJkIG1laHIgd2VydCBhdWYgYW5kZXJlIFNhY2hlbiBnZWxlZ3QgYWxzIGF1ZiBEZXRhaWx0aWVmZQp1bmQgRlBzLiBBbHNvIExldXRlIG5pY2h0IE1lY2tlcm4sIHdlbm4gU2NyaXB0ZXIodmllbGVpY2h0IGVyd2lzY2h0IG1hbiBqYQpkb2NoIG1hbCBlaW5lbiBSaWNodGlnZW4/KSBnZWxvZXNjaHQgd2VyZGVuLCBkZW5uIGRpZXNlcyBNVUQgbGVndCBXZXJ0IGF1ZgpEZXRhaWx0aWVmZS4KQW5kZXJlcnNlaXRzOiBHdXRlIFRGLWxlciB3ZXJkZW4gd2FocnNjaGVpbmxpY2ggc293aWVzbyBuaWNodCBlcndpc2NodC4gVW5kCndlciBtZWluZSBndXQgYXVzZ2VhcmJlaXRldGVuIERldGFpbHMgbmljaHQgbWFnIHVuZCBsaWViZXIgbWl0CktvbXBsZXR0bG9lc3VuZ2VuIGhlcnVtemllaHQsIGhhdCBzZWxiZXIgU2NodWxkLiBJY2ggd2Vpc3MsIGRhc3MgZXMgTGV1dGUKZ2lidCwgZGllIHVlYmVyIG5ldHRlIFdpdHplIGluIERldGFpbHMgbGFjaGVuIG9kZXIgc3RpbW11bmdzdm9sbGUgUmFldW1lCm1vZWdlbi4gRnVlciBkaWUgKHVuZCBuYXRlcmxpY2ggYXVjaCBmdWVyIG1pY2gpIG1hY2hlIGljaCBtaXIgZGllIE11ZWhlLgpEYW5rZSBmdWVyIGFsbGUgTGV1dGUsIGRpZSBpbiBtZWluZW4gcmVwLWZpbGVzIGVyc2NoZWluZW4hCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEJvaW5nLCAxNy4gSnVuIDE5OTYsIDExOjUyOjE2KToKfiMhIHJuPUJvdHRvbSBydD04MzQ3Njk0NzkKfiMhIHRpZD04MzQ1Nzg5MzYKS2FubiBpY2ggYXVjaCBuaWNodCBuYWNodm9sbHppZWhlbi4gRW50d2VkZXIgbWFuIHdpcmQgcmVoYWJpbGl0aWVydCB1bmQKd2lyZCBkYW5uIGF1Y2ggbmljaHQgYmVzdHJhZnQgKGJ6dy4gZGllIFN0cmFmZSB3aXJkIHJ1ZWNrZ2FlbmdpZyBnZW1hY2h0KQpvZGVyIGViZW4gbmljaHQuIEVpbiBwbGFubG9zZXIgTWlzY2htYXNjaCBrYW5uIG5pY2h0IHJpY2h0aWcgc2Vpbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChCb2luZywgMTcuIEp1biAxOTk2LCAxMjowMDoxMSk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzNDc3Mzc3NAp+IyEgdGlkPTgzNDU3ODkzNgpBbHNvIGhpZXIgbXVzcyBpY2ggamV0enQgZG9jaCBtYWwgd2FzIGtsYXJzdGVsbGVuOiBEYXMgYXVmdGF1Y2hlbiBpbQpsb2cgaXN0IG5vY2ggS0VJTiBhdXNyZWljaGVuZGVzIEtyaXRlcml1bSB1bSBhbHMgU2tyaXB0ZXIgYmVzY2h1bGRpZ3QKenUgd2VyZGVuLiBFcyBrb21tdCBpbW1lciBhdWNoIG5vY2ggZHJhdWYgYW4gV0lFIG1hbiBpbSBsb2dmaWxlIHN0ZWh0LgpVbmQgZXMgaXN0IGZ1ZXIgdW5zIGR1cmNoYXVzIG1vZWdsaWNoIHp3aXNjaGVuIEF1ZnRhdWNoZW4gaW0gbG9nZmlsZQpkdXJjaCBBYnNpY2h0IChhbGlhcyAwIHVudCB4LCBhbGlhcyAxIHVudCB5LCB4eXh5eHl4eXh5eHl4eXh4Li4uLikgdW5kCnBlciBzY3JpcHQgenUgdW50ZXJzY2hlaWRlbi4gQXVjaCB3ZW5uIG1hbiBsYWdiZWRpbmd0IGltIGxvZ2ZpbGUgYXVmdGF1Y2h0CnVudGVyc2NoZWlkZXQgc2ljaCBkYXMgZGV1dGxpY2ggdm9uIGVpbmVtIHNjcmlwdGJlZGluZ3RlbSBBdWZ0YXVjaGVuLgpJbnNvZmVybiBpc3QgZGFzIGxvZ2ZpbGUgZHVyY2hhdXMgYXVzc2FnZWtyYWVmdGlnLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9sbGFuZCAoTW9yZ290aCwgMTcuIEp1biAxOTk2LCAxMzo0MTowNCk6CkhvaSAhISEhIQoKRGllcyB3aXJkIGVpbiBsYW5nZXIgQXJ0aWtlbCwgYWxzbyBmZXN0aGFsdGVuIG9kZXIgZHVyY2hzcmNvbGxlbi4KCkVzIGJlZ2FubiBlaWdlbnRsaWNoIG1pdCBlaW5lciBJZGVlLCBkaWUgYWxzIFNjaGVyeiBnZWRhY2h0Cndhci4gQmllbmNoZW4gdW5kIGljaCBiZXN1Y2hlbiBTaWJvcml0IHVuZCBGcmVtZGVyLiBOdW4gamEuIEF1cyBkZW0KU2NoZXJ6IHd1cmRlIHB1cmVyIEVybnN0LgpOYWNoZGVtIGljaCBtZWluZW4gQ2hlZiB1ZWJlcnpldWd0IGhhdHRlLCBkYXNzIGljaCBkb2NoIGVpbmVuIFRhZyBVcmxhdWIKYnJhdWNoZSBzdGFuZCB1bnNlcmVyIEV4a3Vyc2lvbiBpbiBkaWUgc2Nob2VuZSBOaWVkZXJsYW5kZSBuaXggbWVociBpbQpXZWcuCgpBbSBGcmVpdGFnIG1vcmdlbiB1bSBjYS4gMTAwMGggZ2luZyBlcyBsb3MuIEExLCBBMiwgRTM0IHVuZCBkYW5uCmlyZ2VuZHdpZSBuYWNoIFJvdHRlcmRhbS4gRGllIFdlZ2Jlc2NocmVpYnVuZyB2b24gRnJlbWRlciB3YXIgc2VociBndXQsCnNvIGRhc3Mgd2lyIHVucyBlcnN0IGluIFJvdHRlcmRhbSBlaW5tYWwga3VyeiB2ZXJmYWhyZW4gaGF0dGVuLgpHZWdlbiAxMjMwaCBzdGFuZGVuIHdpciBkYW5uIGJlaSBGcmVtZGVyIHZvciBkZXIgVHVlciwgZGVyIHVucyBzY2hvbgpzZWhubGljaHN0IGVyd2FydGV0IGhhdHRlLiBOYWNoIGZyZXVuZGxpY2hlciBiZWdydWVzc3VuZyBzY2hsZXBwdGVuIHdpcgp1bnNlcmUgS2xhbW90dGVuIG5hY2ggb2JlbiB1bmQgcmVkZXRlbiB1ZWJlciBkYXMsIHdhcyB3aXIgamV0enQgc28gYWxsZXMKbWFjaGVuIHdvbGxlbi4KS29uc2VucyB3YXIgZGFubjogU25hY2tlbiwgS2lub2thcnRlbiBrYXVmZW4sIEhhZmVucnVuZGZhaHJ0LCBGdXR0ZXJuLApLaW5vLCBCaWVyY2hlbi4uLi4uLgpBbHMgU25hY2sgZ2FiIGVzIGVpbiBwYWFyIEJyb2V0Y2hlbiBpbiBSJ2RhbXMgVW5pLUNhZmV0ZSB1bmQgZGFuYWNoIGVpbgpVZWJlcmJsaWNrIGF1cyBkZW0gMTcuIFN0b2NrIGRlciBVbmkuCkJpZW5jaGVuIHNhZ3Q6IFRvbGwuIEt1Y2sgbWFsIGRhLCBkaWUgS3JhZW5lLiBVbmQgZGFzIGdyb3NzZSBIYXVzLgpNb3Jnb3RoIHN0YXVudCBCYXVrbG9ldHplLgpGcmVtZGVyIHNhZ3Q6IFRvbGwsIG5pY2h0PyBLb21tdCBtYWwsIGRhIGtvZW5uZW4gd2lyIGF1Y2ggbm9jaCB3YXMKRnJlbWRlciBzYWd0OiBzZWhlbi4KCkRhbmFjaCBnaW5nIGVzIFJpY2h0dW5nIEhhZmVuIHp1ciBSdW5kZmFocnQuCgpSSUlJSUlFRUVFRUVTSUlJSUlJSUlHISEhISEKClVuZCBudW4gc2NobmVsbCBlaW5lIFBvcnRpb24gJ1Nob2FybWEnIChkYXMgaXMgZmFsc2NoIGdlc2NocmllYmVuLCBuaWNoCmhhdWVuKSBmdXR0ZXJuLgoqKlJVRUxQUyoqCk1vcmdvdGggc2FndDogRGFzIHdhciBsZWNrZXIuCkJpZW5jaGVuIG5pY2t0LgpGcmVtZGVyIGdyaW5zdC4KRnJlbWRlciBzY2hhdXQgYXVmIGRpZSBVaHIuCkZybWVkZXIgc2FndDogT2guIFdpciBtdWVzc2VuIHVucyBiZWVpbGVuLiBEZXIgRmlsbSBiZWdpbm50IGJhbGQuCgpBbHNvIGFiIGltIFVsdHJha3Vyem1vZHVzIHp1bSBLaW5vLgoKTmFqYS4gRXJ3YWVobnQgc2VpIGRhYmVpIGRpZSBtZWhyIG9kZXIgd2VuaWdlciBmcmVpd2lsbGlnZSBSdW5kZmFocnQKZHVyY2ggUm90dGVyZGFtcyBJbm5lbnN0YWR0LgoKRnJlbWRlciBzYWd0OiBCaWVnIG1hbCBoaWVyIGxpbmtzIGFiLi4uLi4uCk1vcmdvdGggbGVua3Qgc2VpbmVuIFdhZ2VuIG5hY2ggbGlua3MuCkZyZW1kZXIgZGVua3QgLiBvIE8gKG1pc3QsIGRhcyB3YXIgZmFsc2NoKQpGcmVtZGVyIHNhZ3Q6IE5lZSwgZGEgc2luZCB3aXIgZmFsc2NoIGFiZ2Vib2dlbi4gV2lyIG11ZXNzZW4gZG9ydApGcmVtZGVyIHNhZ3Q6IGFiYmllZ2VuLiBJY2ggZmFocmUgc29uc3QgbnVyIG1pdCBkZXIgQmFobiwgZGVzaGFsYgpGcmVtZGVyIHNhZ3Q6IGtlbm5lIGljaCBkZW4gV2VnIG5pY2h0IG1pdCBkZW0gQXV0by4KTW9yZ290aCBmcmFndCBGcmVtZGVyOiBIaWVyIGpldHp0IHJlY2h0cz8KRnJlbWRlciBtdXJtZWx0OiBIbW1tLCBqYSBmYWhyIGVyc3RtYWwuCgpOYWphLiBBbHNvIHNlbGJzdCBkaWUgRmFocnQgenVtIEtpbm8gZ2VzdGFsdGV0ZSBzaWNoIHNvIHp1IGVpbmVtCkVybGVibmlzLiBFcyB3YXIgZWNodCBLbGFzc2UuCkRlciBGaWxtICdDcml0aWNhbCBEZWNpc2lvbicgaXN0IGF1Y2ggc2VociB6dSBlbXBmZWhsZW4uIEFjdGlvbiB1bmQKU3Bhbm51bmc6IE5vdGUgR3V0LgoKTnVuIG5vY2ggZWluIGtsZWluZXMgS3JpZWsgZGlyZWt0IGFtIGFsdGVuIEhhZmVuIHVuZCBkYW5uIGFiIGlucyBCZXR0Lgo+dHJpbmtlIEtyaWVrCj5zY2hsYWZlIGVpbgoqKlNDSE5BUkNIKioKClNhbXN0YWc6CkF1ZnN0ZWhlbiwgZHVzY2hlbiwgYmVpIE1jRG9uYWxkcyBmcnVlaHN0dWVja2VuLiA7LSkpCkF1ZiBkZW0gUnVja3dlZyBkYW5uIFNpYm9yaXQgYW5ydWZlbiB1bmQgbmFjaCBkZW0gV2VnIGZyYWdlbi4KU28gZ2VnZW4gMTAwMGggZ2luZ3MgZGFubiBSaWNodHVuZyBPdWRld2F0ZXIsIGVpbmVtIGtsZWluZW4gaWR5bGxpc2NoZW0KU3RhZWRjaGVuIHN1ZWRvZXN0bGljaCB2b24gR291ZGEuCj5wYXJrZSBhdXRvCj5zdGVpZ2UgYXVzCkJpZW5jaGVuIHNhZ3Q6IEhpZXIgaXN0IGVzLgpCaWVuY2hlbiBrbGluZ2VsdC4KPmxhdXNjaGUKQXVzIGRlbSBIYXVzIGVydG9lbnQgZWluIGxhdXRlcyBCZWxsZW4gdW5kIGVpbmUgU3RpbW1lLgoKQmFsZCBkYXJhdWYgZXJzY2hpZW4gU2lib3JpdCBtaXQgZWluZW0gYnJlaXRlbiBHcmluc2VuIHZvciB1bnMuCioqR1JJTlMqKgpXaXIgd2FyZW4genUgZnJ1ZWggdW5kIGVyIG5vY2ggbmljaHQgbWl0IGRlbSBEdXNjaGVuIGZlcnRpZy4KU2lib3JpdCBzYWd0OiBLb21tdCByZWluLiBFcnN0bWFsIEthZmZlZSB0cmlua2VuLgpTaWJvcml0IHN0ZWxsdCB1bnMgc2VpbmVyIEZhbWlsaWUgdm9yLgpCZWkgZWluZW0gS2FmZmVlIGRyYXVzc2VuIGltIEdhcnRlbiB3ZXJkZW4gZGllIGVyc3RlbiBIZW1tdW5nZW4gYWJnZWJhdXQKdW5kIGVzIHdpcmQgaGVyemxpY2ggZ2VsYWNodCB1bmQgZ2V3aXR6ZWx0LgpKZXR6dCBhYmVyIGVyc3RtYWwgT3VkZXdhdGVyIGFuc2VoZW4uIEFsc28gYWIgaW4gZGllIFN0YWR0bWl0dGUuCkF1Y2ggZG9ydCBub2NoICduZW4gS2FmZmVlIHVuZCB3aWVkZXIgenVydWVjayB6dSBTaWJvLgpPaCwgZXMgaXN0IGFiZXIgc2Nob24gc3BhZXQuIExhc3MgdW5zIGZhaHJlbi4KQWIgZ2VodHMgbmFjaCBBbXN0ZXJkYW0uCkF1ZiBkZW0gV2VnIGRvcnRoaW4ga29tbWVuIHdpciBhbSBuZXVlbiBBamF4LVN0YWRpb24gdm9yYmVpLgpNb3Jnb3RoIHNhZ3Q6IEJpaWllbmVlLCBrbmlwcyBkYXMuCkJpZW5jaGVuIGZ1bW1lbHQgYW4gZGVtIEZvdG9hcHBlcmF0IGhlcnVtLgpCaWVuY2hlbiBzYWd0OiBGYWhyIG1hbCBsYW5nc2FtZXIuClNpYm9yaXQgc2FndDogTGFzcyBtaWNoLgoqKktMSUNLKioKU2lib3JpdCBzYWd0OiBOYSBob2ZmZW50bGljaCBpc3QgZGFzIHdhcyBnZXdvcmRlbi4KTmFjaCBlcmZvbGdyZWljaGVyIFBhcmtwbGF0enN1Y2hlIG1pdCBkZXIgU3RyYXNzZW5iYWhuIGluIGRpZSBDaXR5LgpFcnN0bWFsIGVzc2VuIHVuZCBkYW5uIFN0YWR0YnVtbWVsLiBBdWNoIGVpbmUgUGFydGllIFBvb2xiaWxsYXJkIGtvbm50ZW4Kd2lyIHVucyBuaWNodCB2ZXJrbmVpZmVuLgpVZmYuIEFzdGVyZGFtIGlzdCBzY2hvbiBnYW56IHNjaG9lbiBncm9zcy4KPnVudCBmdWVzc2UKRGVpbmUgRnVlc3NlIGJlZ2lubmVuIHp1IFNjaG1lcnplbiB1bmQgYmVrb21tZW4gbGFuZ3NhbSBrbGVpbmUgQmxhc2VuLgouLi4uLgpBYmVuZHMgYmVpIFNpYm8gbWFsIGt1cnogZGVtIE1HIGd1dGVuIFRhZyBzYWdlbiB1bmQgZGFubiBpbSBXb2huemltbWVyCmVpbiBrdWVobGVzIHVuZCBlcmZyaXNjaGVuZGVzIEJpZXJjaGVuIHRyaW5rZW4uCidIZXkgU2libywgbGFzcyBEZWluZSBNdXR0ZXIgZW5kbGljaCBtYWwgYW4gRGVpbmVuIFJlY2huZXIgOy0pKSknCj5zY2hsYWZlIGVpbgoqKlNDSE5BUkNIKioKClNvbm50YWc6CkF1ZnN0ZWhlbiwgZHVzY2hlbiB1bmQgc2VlaHIgZ3V0IGZydWVoc3R1ZWNrZW4uIChXaWUgaGllc3MgZGFzIHN1ZXNzZQpCcm90IG5vY2htYWw/KQpTby4gSGV1dGUgZ2VodHMgbmFjaCBBbnR3ZXJwZW4genUgRnJlbWRlci4gS3VyeiBtYWwgZHVyY2hrbGluZ2VsbiwKdmVyYWJzY2hpZWRlbiB1bmQgbG9zIGdlaHRzLgpNaXQga2xlaW5lciBWZXJzcGFldHVuZyBmaW5kZW4gd2lyIGVuZGxpY2ggZGVuIEhhdXB0YmFobmhvZiB1bmQgc29taXQKYXVjaCBkZW4gYXJtZW4gRnJlbWRlciwgZGVyIHdpZWRlciBlaW5tYWwgc2VobnN1ZWNodGlnIGF1ZiB1bnMgd2FydGV0LgpUamEsIHdhcyBudW4uIEdlbGQgd2VjaHNlbG4gaW0gQmFobmhvZi4gVWlpaWksIGVpbiBUYXVzZW5kZXIuCkFudHdlcnBlbiBpc3Qgc28gcmllc2lnLCBkYXNzIGhpZXIgbnVyIGRpZSBLdXJ6ZmFzc3VuZyBlcnNjaGVpbnQuCgpTIFUgUCBFIFIgRyBFIEkgTCAhISEhIQoKV2l0emlnIHdhciBub2NoIGRlciBCZXN1Y2ggaW4gZGVuIEthdGFrb21iZW4gZGVyIEthdGhlZHJhbGUgYnp3LiBtZWluCkVyc2NoZWludW5nc2JpbGQgZG9ydC4gTWl0IGVpbmVtIFNsYXllciBULVNoaXJ0IG1pdCBlaW4gcGFhcgpTYXRhbnNmaWd1cmVuIHZvciBlaW5lbSBLcmV1eiBvZGVyIEFsdGFyIHp1IHN0ZWhlbiBzaWVodCBzY2hvbiBzZWhyCm1lcmt3dWVyZGlnIGF1cy4KCk5hY2ggZWluZW0gQWJzY2hsdXNzbWFobCB3YW5kZXJ0ZW4gd2lyIHdpZWRlciBpbiBSaWNodHVuZyBCYWhuaG9mLCB3bwpzaWNoIHVuc2VyZSBXZWdlIGRhbm4gdHJlbm50ZW4uIFNpYm9yaXQgdW5kIEZyZW1kZXIgbXVzc3RlbiBtaXQgZGVtIFp1Zwp6dXJ1ZWNrIHVuZCB3aXIgbWl0IGRlbSBBdXRvIGluIHVuc2VyZSwgbnVuIGRvY2ggc2VobmxpY2hzdCBlcndhcnRldGUKSGVpbWF0LgooSGV5IEZyZW1kZXIsIER1IGhhZXR0ZXN0IHVucyBzYWdlbiBzb2xsZW4sIGRhc3Mgd2lyIEdBTlogbmFjaCBsaW5rcwptdWVzc2VuIHVtIGF1ZiBkaWUgU3RyYXNzZSBhbiBkZXIgT3BlciB6dSBrb21tZW4uIFdpciBzaW5kIGVyc3Qgbm9jaAp1ZWJlciBkaWUgQnJ1ZWNrZSB1bmQgbXVzc3RlbiBkb3J0IG5vY2htYWwgd2VuZGVuLikKCk5hY2hkZW0gd2lyLCBkdXJjaCBlaW5lIFVtbGVpdHVuZyBub2NoIGV0d2FzIGdlbmVydnQsIGRvY2ggZW5kbGljaCBhdWYKZGVyIEUzNCB3YXJlbiBnaW5ncyBnZW11ZXRsaWNoIGdlbiBPc3Rlbi4KClVtIDIzMDVoIHdhcmVuIHdpciBlbmRsaWNoIHp1IEhhdXNlLgpNdWVkZSB1bmQgZ2VzY2hhZmZ0IHJpZWYgdW5zIGRhcyBCZXR0LCB3ZWxjaGVzIHdpciBtaXQgRnJldWRlbiBlcmhvZXJ0ZW4KdW5kIHVucyB6dXIgdmVyZGllbnRlbiBSdWhlIGxlZ3Rlbi4KClNvLiBEYXMgd2Fycy4gQWxzIEdlc2FtdG5vdGUga2FubiBpY2ggZGllc2VtIFdvY2hlbmVuZGUgbnVyIGVpbmUKRWluc3BsdXMgbWl0IGRyZWkgU3Rlcm5lbiBnZWJlbi4KTm9jaG1hbCBEYW5rZSBhbiBGcmVtZGVyIHVuZCBTaWJvcml0LCBkaWUgdW5zIGZyZXVuZGxpY2ggYXVmZ2Vub21tZW4KaGFiZW4sIG9id29obCBzaWUgdW5zIGphIHVlYmVyaGF1cHQgbmljaHQga2FubnRlbiAoUkwpLiBMZWlkZXIgd2FyIGRpZQpaZWl0IGRvY2ggZXR3YXMgenUga3VyeiB1bSB3aXJrbGljaCBhbGxlcyB6dSBzZWhlbi4gV2lyIHdlcmRlbiBzaWNoZXIKZ2VybmUgbm9jaG1hbCBFdWVyIEFuZ2Vib3QgYW5uZWhtZW4gdW5kIEV1Y2ggbm9jaG1hbCBiZXN1Y2hlbi4KCkdydWVzcyBEZWluZSBNdXR0ZXIgbm9jaG1hbCB2b24gdW5zIFNpYm8gdW5kIGtudWRkZWwgTWF4IGdhbnogbGllYiB2b24KQmllbmNoZW4uClVuZCBEdSBGcmVtZGVyLCBsYXNzIERpY2ggdm9uIERlaW5lbiBXRy1LdW1wZWxzIG5pY2h0IHVudGVya3JpZWdlbi4KQmlzIHp1bSBuYWVjaHN0ZW4gTWFsCgpNb3Jnb3RoICYgQmllbmNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2xsYW5kIChQaWxncmltLCAxNy4gSnVuIDE5OTYsIDE0OjQ0OjU5KToKfiMhIHJuPU1vcmdvdGggcnQ9ODM1MDExNjY0Cn4jISB0aWQ9ODM1MDExNjY0ClNvc28gLi4uCgpVbmQgd2FzIHNvbGwgZGllc2VyIEFydGlrZWwgaW4gQWxsZ2VtZWluZXMsIHdlbm4gbWFuIGZyYWdlbiBkYXJmIC4uLgoKUGlsZ3JpbQooZGVua3Q6IEVpbmUgRGFua2VzQW56ZWlnZSBpbiBBbnplaWdlbiBoYWV0dGVzIGphIGF1Y2ggZ2V0YW4sIG9kZXIgLi4uPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjcmlwdCAoSGFyZGlsLCAxNy4gSnVuIDE5OTYsIDE1OjEyOjQ5KToKfiMhIHJuPUZ5dCBydD04MzQ3NjcyNDIKfiMhIHRpZD04MzQ3NTk3MzEKCkxvZXNjaHQgYWxsZSwgZGllIFRGIGJlbnV0emVuLgoKTG9lc2NodCBhbGxlLCBkaWUgZGFzIDEwLUZpbmdlci1UaXBwLVN5c3RlbSBiZW51dHplbi4KCkxvZXNjaHQgYWxsZSBNdWVuc3RlcmFuZXIsIHdlaWwgc2llIGtlaW4gTGFnIGhhYmVuIHVuZCB2aWVsIHNjaG5lbGxlciBzcGllbGVuCmtvZW5uZW4uCgpFY2h0LiBJaHIgaGFidCBTb3JnZW4uIFN0YXR0IGRhcyBTcGllbCBzbyB6dSBnZXN0YWx0ZW4sIGRhc3MgZGllamVuaWdlbiwgZGllCm5pY2h0IGF1ZiBURiB6dXJ1ZWtjZ3JlaWZlbiBrb2VubmVuIG9kZXIgd29sbGVuLCB0cm90emRlbSBlaW5nZXJtYXNzZW4gaW0KU1BpZWxnbGVpY2hnZXdpY2h0IGJsZWliZW4sIHdpcmQgaGllciBtaXQgTHluY2hqdXN0aXogdW5kIGFsbGVtLCB3YXMKZGF6dWdlaG9lcnQsIGdlZHJvaHQuCkRhcyBoaWVyIGlzdCBlaW4gU3BpZWwuIFVuZCBzb2xsdGUgZXMgYmxlaWJlbi4gVW5kIHdlbm4gaGFsdCB3ZWxjaGUgc28gZ2VpbAphdWYgZGllIFRvcC0xMC1MaXN0ZSBzaW5kLCBkYW5uIG1hY2h0IGhhbHQgbmUgZWlnZW5lIFRvcC0xMC1MaXN0ZSBmdWVyClNjcmlwdGVyIGF1Ziwgb2RlciBtYXJraWVydCBkaWUgTGV1dGUgaW4gZGVyIFRvcC0xMC1MaXN0ZSBibGF1IG9kZXIgZ3J1ZW4gb2RlcgptaXQgU3Rlcm5jaGVuLCB3ZW5uIHNpZSBnZXNjcmlwdGV0IGhhYmVuLgpEaWUgZ2FuemUgTG9lc2NoLSB1bmQgRlAtQWJ6dWctR2VzY2hpY2h0ZSBzb3JndCBkb2NoIG51ciBkYWZ1ZXIsIGRhc3Mgd2llZGVyCmVpbmlnZSBpaHJlIFJMLUFuaW1vc2l0YWV0ZW4gd3VuZGVyYmFyIGluIGRpZSBWUiBoaW51ZWJlcnRyYW5zcG9ydGllcmVuIChjaWgKc2FnIG51ciBaYW50cm8gdW5kIE9ya3Ryb2V0ZSkuCgpIYWx0ZXQgZG9jaCBlaW5mYWNoIG1hbCBkZW4gQmFsbCBmbGFjaCwgZ2VodCBpbnMgRnJlaWJhZCBvZGVyIGxlZ3QgRXVjaCBpbiBkaWUKU29ubmUsIHVuZCBuZWhtdCBkb2NoIGRpZSBnYW56ZSBDaG9zZSBoaWVyIG5pY2h0IHNvIHRpZXJpc2NoIGVybnN0LgoKLUhhcmRpbC4gVmVyc3RlaHQgZWluaWdlIGhpZXIgZWluZmFjaCBuaWNodC4gSXN0IHNpY2ggYWJlciBsYW5nc2FtIHp1IGJsb2VkLApoaWVyIG1pc3Npb25hcmlzY2hlIEFydGlrZWwgenUgc2NocmVpYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2NyaXB0IChXdXJ6ZWwsIDE3LiBKdW4gMTk5NiwgMTc6Mjc6MzQpOgp+IyEgcm49SGFyZGlsIHJ0PTgzNTAxNzE2OQp+IyEgdGlkPTgzNDc1OTczMQpkYXMgcHJvYmxlbSBpc3QgZWlnZW50bGljaCB2aWVsIGVpbmZhY2hlciB6dSBsb2VzZW46CnNjaGFmZnQgc2FlbXRsaWNoZSB0b3BsaXN0ZW4gZWluZmFjaCBhYi4gZGFubiBicmF1Y2h0IHNpY2ggbmllbWFuZCBtZWhyCmFienVzY3JpcHRlbiwgYXVzc2VyIGZ1ZXIgd2VnZSB2aWVsbGVpY2h0LiB1bmQgZGFzIGlzdCBqYSBlcmxhdWJ0LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY3JpcHQgKEZ5dCwgMTcuIEp1biAxOTk2LCAxNzo1MzoxMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODM1MDI1MjU0Cn4jISB0aWQ9ODM0NzU5NzMxCgpXZW5uIGljaCBtaXIgV3VyemVscyBBcnRpa2VsIHNvIGFuc2NoYXVlLi4uIGhtLi4gZGEgd2FyIGRvY2ggbm9jaAp3YXMuLi4gaWNoIGdsYXViLCBkaWUgSW5pdGlhdGl2ZSBnYWIncyBzY2hvbiBtYWwuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU2NyaXB0IChFbmd5d3VjaywgMTcuIEp1biAxOTk2LCAxODoxMzo1Nik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODM1MDI3OTEwCn4jISB0aWQ9ODM0NzU5NzMxCldlciBTcGllbGVyZnJlaWUgTXVkcyB3aWxsOiBWaXJyZWwgaXN0IGRhIGVpbiBndXRlciBBbmZhbmcuCnZpcnJlbC5yei51bmkta2FybHNydWhlLmRlIDIwMDAxCgpWaWVsIFNwYXNzIQpBZWguLi4gVmllbCBTcGFzeiEKCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBbHpoZWltZXJzZWhlciB1bnRlcndlZ3MgKEphc3BlciwgMTcuIEp1biAxOTk2LCAxODoxNDoxOCk6Cn4jISBybj1TbnVnZ2xlIHJ0PTgzNTAwMjkwNwp+IyEgdGlkPTgzNDU3ODkzNgpJY2ggdWVyZGUgZWhlciB0b3QgdW1mYWxsZW4sIGFscyBub2NobWFsIGplbWFscyBkaWVzZXMgdm1zIHp1IGJlbnV0cnplbiwgbWFuCmJla29tbXQgZG9jaCBzdGFlbmRpZyBkYXMga29tbXVuaXN0aXNjaGUgTWFuaWZlc3QgYXVmIGRlbiBCaWxkc2NoaXJtIHVuZCBtdXNzCmRhbm4gc3R1bmRlbmxhbmcgUEEyIG9kZXIgc28gZHJ1ZWNrZW4gOiksIHdlbm4gbWFuIHNpY2ggYXVzIHByaW56aXAgbmljaHQKYXVzbG9nZ2VuIGlsbC4KCkphc3Blciwga2Fubml4IGJlbnV0enQgdW5peAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFrZXQtUHJvYmxlbSAoSmFyaWVsLCAxNy4gSnVuIDE5OTYsIDE5OjIzOjU1KToKSGkhCgpJY2ggaGFiZSBtaXIgZWluIGFsaSBnZXNjaHJpZWJlbi4gdW0gbWVpbiBHZWxkIGluIG1laW4gUGFrZXQgenUgbGVnZW4uCmFsaSBtaXAgbGVnICUyIG11ZW56ZW4gaW4gcGFrZXQgJTEKU28gd2VpdCBzbyBndXQuIERhcyBwcm9ibGVtIGRhcyBudW4gYXVmcml0dCwgd2VubiBpbSByYXVtIGF1Y2ggbm9jaCBlaW4KUGFrZXQgcnVtbGllZ3QsIGlzdCwgZGFzIGljaCBkYXMgZ2VsZCBkZWZpbml0aXYgaW4gZGFzIFBha2V0IGltIHJhdW0gbGVnZS4gClN5bnRheCB2ZXJhZW5kZXJ1bmdlbiB3aWUgPGxlZyBnZWxkIGluIHBha2V0IGluIG1pcj4gZnVua3Rpb25pZXJ0IG5pY2guIApLYW5uIG1hbiBkYSB2aWVsbGVpY2h0IHdhcyBtYWNoZW4sIG9kZXIgZ2lidCBlcyBlaW5lIHVtc3RhbmRsaWNoZSBzeW50YXgKZGlyIG1pciBub2NoIG5pY2ggYmVrYW5udCBpcz8gCgpGZWVkYmFjayB3YWVyZSBpbnRlcmVzc2FudC4KSmFyaWVsIC0gbWl0IFJlY2hzY2hyZWliLSB1bmQgR3JhbW1hdGlrcHJvYmxlbWVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFrZXQtUHJvYmxlbSAoTWFyaXRhLCAxOC4gSnVuIDE5OTYsIDExOjI3OjE4KToKfiMhIHJuPUphcmllbCBydD04MzUwMzIyMzUKfiMhIHRpZD04MzUwMzIyMzUKSGkgSmFyaWVsLAp3YXMgc3ByaWNodCBnZWdlbjoKCj4gcwo+IHN0ZWNrZSAxMDAwIG11ZW56ZW4gaW4gcGFrZXQKPiBuCihvZGVyIGluIHdlbGNoZXIgUG9zdCBhdWNoIGltbWVyIG1hbiBnZXJhZGUgaXN0KQpLbGVpbmVyIEJlaXRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQWx6aGVpbWVyc2VoZXIgdW50ZXJ3ZWdzIChaZXBoeXIsIDE4LiBKdW4gMTk5NiwgMTI6MzQ6MzEpOgp+IyEgcm49SmFzcGVyIHJ0PTgzNTAyODA1OAp+IyEgdGlkPTgzNDU3ODkzNgpPY2ggSmFzcGVyLCBkYXMgd2FzIER1IG1laW5zdCwgbmVubnQgc2ljaCBDTVMsIG5pY2h0IFZNUy4uIHVuZCB3ZW5uIERpcgpkYXMgbGllYmVyIGlzdCwga3JpZWdzdGUgZGFzIG5hZWNoc3RlIE1hbCBSb3RrYWVwcGNoZW4gZnVlciBJbmZvcm1hdGlrZXIgOikKCkluIEVyaW5uZXJ1bmcgZ3JpbnNlbmQsIFplcGh5cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRkFRIChIZWZlLCAxOC4gSnVuIDE5OTYsIDIxOjExOjUzKToKVGFjaCBNYWdpZXIgISEKCkdpYnQgZXMgZWlnZW50bGljaCBrZWluZSBha3R1ZWxsZSBNRy1GQVEsIG9kZXIgbGllZ3QgZGllCmltIE1HIG51ciBuaXJnZW5kcyBhdXMgPwoKR3J1c3MgSGVmZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYWtldC1Qcm9ibGVtIChFbHZuaWssIDE5LiBKdW4gMTk5NiwgMDA6NTk6MTkpOgp+IyEgcm49TWFyaXRhIHJ0PTgzNTA5MDAzOAp+IyEgdGlkPTgzNTAzMjIzNQoKYWVobSwgaW4gZGVyIEVsdmVucG9zdCBnZWh0IGRhcyBhYmVyIG5pY2ggLi4uCgpFbHZuaWsgLi4uIGFiIG5hY2ggc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGQVEgKEJsb29keWhhcnJ5LCAxOS4gSnVuIDE5OTYsIDEwOjUwOjA5KToKfiMhIHJuPUhlZmUgcnQ9ODM1MTI1MTEzCn4jISB0aWQ9ODM1MTI1MTEzCgpmdHA6Ly9tZy51bmktbXVlbnN0ZXIuZGUvVGV4dGUvRkFRLwoKQkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGQVEgKFBpbGdyaW0sIDE5LiBKdW4gMTk5NiwgMTQ6Mjc6NDApOgp+IyEgcm49SGVmZSBydD04MzUxMjUxMTMKfiMhIHRpZD04MzUxMjUxMTMKVGFjaCBIZWZlICh1LmEuKSwKCmtsYXIgZ2lidCBlcyBuZW4gTUctRkFROiBtYWNoKHQpIGRvY2ggbWFsIGVpbmZhY2g6ICdoaWxmZSBmYXEnIDstKQoKRXMgZ2lidCBkaWUgRkFRIG5pY2h0IG51ciB1ZWJlciBmdHAsIG9kZXIgbWFpbCwgc29uZGVybiBhdWNoIGltIE1HOgpTY2hhdSBkb2NoIG1hbCBiZWltIE9ya2xhZ2VyIGJlaW0gRnJpZWRob2Ygdm9yYmVpIC4uLgoKQWJlciBjYS4gNzBrIHVlYmVyIGVpbiBtb3JlIHVuZCBlaW4gdGVsbmV0L3RmIHp1IGxlc2VuIC0gZGFzIGlzdCBrZWluZSBGcmV1ZGUKOy0pCgpBbHNvLCBpY2ggd2Vpc3MgamEgbmljaHQsIHdhcyBFdWVyIEhhdXNhcnR6IGVtcGZpZWhsdDogSWNoIGVtcGZlaGxlOiBsZXNlbiBTaWUKZGllIEZBUSB1ZWJlciBXV1cgIQooaHR0cDovL21nLnVuaS1tdWVuc3Rlci5kZS8gICB1bmQgZGFubiB1bnRlciBJbmZvcm1hdGlldmVzIC0+IEZBUSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdsb3JyZWljaGUgemVpdGVuIChFcmlubmVydW5nLCAyMC4gSnVuIDE5OTYsIDE3OjE4OjAxKToKa2FubiBtYW4gbmljaHQgaXJnZW5kd28gbmUgdGFmZWwgYXVmaGFlbmdlbiwgd28gZGllIGJlc3RlbiBrYWVtcGZlciBkZXIKYWx0emVpdCBkcmF1ZnN0ZWhlbi4udmllbGUgdm9uIGRlbmVuIGtvbW1lbiBzZWl0IGRlciByZWZvcm0gbmljaHQgbWVociBpbnMgbWcKdW5kIGdlcmF0ZW4gaW4gdmVyZ2Vzc2VuaGVpdC4uCmRhcyBrb2VubnRlIGRhbm4gZXR3YSBzbyBhdXNzZWhlbiA6CgogICAgICBOYW1lICAgICAgICAgICAgICAgQVAgIEVyZmFoci4gIExldmVsIEFsdGVyCiogIDEuIFNseWZveCAgICAgICAgICAgMjI1NSAxMjYzNTE1OTggKCAzOCkgMTIzIFRhZ2UsIDIxIFN0dW5kZW4gdW5kIDUxCk1pbnV0ZW4KKiAgMi4gQmlibyAgICAgICAgICAgICAyMTAwICA3MjY1MzUwNiAoIDM0KSAxMDYgVGFnZSwgIDAgU3R1bmRlbiB1bmQgMzAKTWludXRlbgoqICAzLiBDaGljb2xhICAgICAgICAgIDE4MDAgIDY1MDcxOTExICggMzApICA5MiBUYWdlLCAyMyBTdHVuZGVuIHVuZCA0OApNaW51dGVuCiogIDQuIFJvYWRydW5uZXIgICAgICAgMjIzNSAgNTgyODczNzEgKCAzNikgMTE1IFRhZ2UsICA4IFN0dW5kZW4gdW5kIDQ4Ck1pbnV0ZW4KKiAgNS4gU3RhaGxkb3JuICAgICAgICAxODEwICA1ODQ4NDY1MSAoIDI5KSAgNjggVGFnZSwgIDEgU3R1bmRlICB1bmQgMTcKTWludXRlbgoqICA2LiBTa2lwcGVyICAgICAgICAgIDE3MjUgIDU2NTIyNzMzICggMzApICA3MSBUYWdlLCAyMCBTdHVuZGVuIHVuZCAgNApNaW51dGVuCiogIDcuIEtvdHpicm9ja2VuICAgICAgMjAyMCAgNTM3NTEzNjMgKCAzMSkgIDU2IFRhZ2UsIDE4IFN0dW5kZW4gdW5kICAwCk1pbnV0ZW4KKiAgOC4gTml4aSAgICAgICAgICAgICAxOTMwICA0NzI3NDE5NCAoIDMyKSAgOTEgVGFnZSwgIDUgU3R1bmRlbiB1bmQgIDEgTWludXRlCiogIDkuIEx1ZyAgICAgICAgICAgICAgMjI1NSAgNDQ2MzQ0ODggKCAyOSkgIDQwIFRhZ2UsIDE5IFN0dW5kZW4gdW5kIDMxCk1pbnV0ZW4KKiAxMC4gT3JrdG9ldGVyICAgICAgICAxNjQ1ICA0NjE3NTg5NCAoIDI5KSAgNjMgVGFnZSwgMTYgU3R1bmRlbiB1bmQgNDEKTWludXRlbgoqIDExLiBUeXJpb24gICAgICAgICAgIDE5NzUgIDQyNTIyNTA5ICggMjkpICA4MSBUYWdlLCAxMSBTdHVuZGVuIHVuZCA0MwpNaW51dGVuCiogMTIuIE1hZ2ljb2xsaSAgICAgICAgMjE1NSAgMzUwNzkzNzQgKCAzMSkgIDYyIFRhZ2UsICA3IFN0dW5kZW4gdW5kIDMyCk1pbnV0ZW4KKiAxMy4gTWFoYXRtYSAgICAgICAgICAyMjU1ICAyNzcyNDE1MyAoIDM4KSAgNTIgVGFnZSwgIDkgU3R1bmRlbiB1bmQgNTQKTWludXRlbgoqIDE0LiBWYW5pciAgICAgICAgICAgIDIyMTAgIDI3Nzc5OTIwICggMzMpICA2NSBUYWdlLCAgMSBTdHVuZGUgIHVuZCA0MApNaW51dGVuCiogMTUuIFpvcnJvICAgICAgICAgICAgMjI1NSAgMjQ3NTMyNjUgKCAzNCkgIDgxIFRhZ2UsICA1IFN0dW5kZW4gdW5kIDM3Ck1pbnV0ZW4KKiAxNi4gQ2hhcmx5ICAgICAgICAgICAxODU1ICAyNTEwMDkwNiAoIDI4KSAgMzEgVGFnZSwgMTUgU3R1bmRlbiB1bmQgMjcKTWludXRlbgoqIDE3LiBLaWVzZWxzdGVpbiAgICAgIDE0NTAgIDI1MzQzMjI2ICggMjgpICAyNSBUYWdlLCAxNyBTdHVuZGVuIHVuZCAzMwpNaW51dGVuCiogMTguIENyb2xsYSAgICAgICAgICAgMjI1NSAgMjA2NzM1MDggKCAzNCkgIDU4IFRhZ2UsIDE5IFN0dW5kZW4gdW5kIDU2Ck1pbnV0ZW4KKiAxOS4gUHJlZGF0b3IgICAgICAgICAxODc1ICAyMjU3MDI2MiAoIDMxKSAgMzQgVGFnZSwgIDYgU3R1bmRlbiB1bmQgMTkKTWludXRlbgoqIDIwLiBNYW5nbyAgICAgICAgICAgIDE3MjAgIDIyNzMxMzY5ICggMjkpICA1OCBUYWdlLCAxMyBTdHVuZGVuIHVuZCA1NwpNaW51dGVuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdsb3JyZWljaGUgemVpdGVuIChPcmt0b2V0ZXIsIDIwLiBKdW4gMTk5NiwgMTc6MzY6NTUpOgp+IyEgcm49RXJpbm5lcnVuZyBydD04MzUyODM4ODEKfiMhIHRpZD04MzUyODM4ODEKTmFqYSwgd2FlcmUgamEgbmljaHQgZ2FueiB1ZWJlbCwgYWJlciBkYW5uIGRvY2ggd2VuaWdzdGVucyBlaHJsaWNoLCBiZXNzZXIgYWxzClBsYXR6IDIwIHdhciBpY2ggbWVpbmVzIFdpc3NlbnMgbmFjaCBuaWUuLi4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ2xvcnJlaWNoZSB6ZWl0ZW4gKEVyaW5uZXJ1bmcsIDIwLiBKdW4gMTk5NiwgMTc6NDQ6NTQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTgzNTI4NTAxNQp+IyEgdGlkPTgzNTI4Mzg4MQpva2kuLndhciBlaW4gYXVzenVnIGF1cyBkZW4gYWJlbnRldXJlci1zY29yZXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXN0ZXIgTXVkZGVyIGRlcyBNb25hdHMgdGFmZWwgPyAoS2V0b3MsIDIwLiBKdW4gMTk5NiwgMTg6NDY6MjQpOgpEYSBkaWUgTGV1dGUga29tbWVuIHVuZCBnZWhlbiB3YWVyZSBlcyBkb2NoIG5ldHQgbWl0IGVpbmVyIFRhZmVsIGRpZQpkZW4gYmVzdGVuIChsYWVuZ3N0ZW4sIGlkZWxzdGVuLCB1c3cuKSBNdWRkZXIgZGVzIE1vbmF0cyBrdWVocnQuCkF1ZiBkaWVzZSBBcnQgdW5kIFdlaXNlIGlzdCBkaWVzZXIgTXVkZGVyIGRhbm4gZnVlciBld2lnIHZlcmV3aWd0LgotIEtldG9zIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBnbG9ycmVpY2hlIHplaXRlbiAoQ2hhcmx5LCAyMC4gSnVuIDE5OTYsIDIyOjQ4OjQyKToKfiMhIHJuPUVyaW5uZXJ1bmcgcnQ9ODM1MjgzODgxCn4jISB0aWQ9ODM1MjgzODgxCndhcyBzb2xsIGRlbm4gZGllc2UgaWRlZSBicmluZ2VuLCBkb2NoIG51ciBlaW4gbWl0IGVyaW5uZXJ1bmdzdGFmZWxuCnZlcnN0ZWxsdGVzIG1nLiB6ZWl0ZW4gYWVuZGVybiBzaWNoLCBhbHMgaWNoIGlucyBtdWQga2FtIHdhciB0b2V0ZXIgZGVyIGJlc3RlCnNlaGVyLCBoZXV0ZSBzaW5kIGVzIGFuZGVyZS4gd296dSBicmF1Y2h0IG1hbiB0b3AtbGlzdGVuID8gZG9jaCBudXIgZnVlcgplaW5pZ2UsIGRpCnNpY2ggc2VsYnN0aGVycmxpY2ggYW4gZGVyIHNwaXR6ZSBzZWhlbiBtb2VjaHRlbi4gc3BpZWxzcGFzcyBlbnRzdGVodAphbGxlcmRpbmdzIGF1cyBhbmRlcmVuIGRpbmdlbiAoemIgYXVzIHZlcmhpbmRlcnRlbiBob2NoemVpdGVuLCBuZXR0ZW4KdW50ZXJoYWx0dW5nZW4gb2RlciAgbm90d2VuZGlnZXIgenVzYW1lbmFyYmVpdCBtaXQgYW5kZXJlbiBhIGxhIGFyY2hpZS1xdWVzdApzb2xhbmdlIGVzIGhpZ2hzY29yZWxpc3RlbiBnaWJ0IHdpcmQgZXMgYXVjaCBzY3JpcHRlciBnZWJlbiB1bmQgZGllIAprb25rdXJyZW56IHVudGVyZWluYW5kZXIgd2lyZCBncm9lc3NlciB3ZXJkZW4sIHdlciBnaWJ0IHNjaG9uIHNlaW5lbQpyaXZhbGVuIHRpcHMgPyBzaWNoZXJsaWNoIHN0ZWhlIGljaCBtaXQgZGllc2VyIG1laW51bmcgemllbWxpY2ggCmVpbnNhbSBkYSB1bmQgc2ljaGVybGljaCBzZWhlIGljaCBhdWNoIGdlc3BlbnN0ZXIgd2VubiBpY2ggZGVua2UsIGRhcwpkYXMga2xpbWEgaW0gbXVkIGltIGxldHp0ZW4gamFociB3ZXNlbnRsaWNoIGthZWx0ZXIgdW5kIGFnZ3Jlc2l2ZXIKZ2V3b3JkZW4gaXN0LgoKY2hhcmx5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGdsb3JyZWljaGUgemVpdGVuIChUb2V0ZXIsIDIxLiBKdW4gMTk5NiwgMDk6NDI6MzApOgp+IyEgcm49Q2hhcmx5IHJ0PTgzNTMwMzcyMgp+IyEgdGlkPTgzNTI4Mzg4MQpIaSwKaWNoIHZlcndlaHJlIG1pY2ggZGFnZWdlbiwgYWxzIGRlciBkYW1hbHMgImJlc3RlIiBTZWhlciBiZXplaWNobmV0IHp1IAp3ZXJkZW4uIFJ1ZWNrYmxpY2tlbmQgd3VlcmRlIGljaCBtaWNoIHp1IGRpZXNlbSBaZWl0cHVua3QgZWhlciBhbHMgZGVyIApiZWtsb3BwdGVzdGUgYmV0cmFjaHRlbi4gQWJlciBkYW5uIGthbSBqYSBSem5lLCB1bSBtaWNoIGFscyBOdW1tZXIgZWlucyAKYWJ6dWxvZXNlbiA7KSBBbnNvbnN0ZW4gc2NobGllc3NlIGljaCBtaWNoIGRlbSBJbmhhbHQgZGVzIHZvcmFuZ2VoZW4tCmRlbiBBcnRpa2VscyBhbiwgd2VubmdsZWljaCBpY2ggZGFzIEtsaW1hIG5pY2h0IHNvIHRpZWYgaW0gS2VsbGVyIHNlaGUuClp1bWluZGVzdCBsaWVzc2Ugc2ljaCBkYW5uIHNjaHdlcmxpY2ggZGllIEFud2VzZW5oZWl0IHVuZCBkYXMgYXVzc2VyLQpnZXdvZWhubGljaGUgRW5nYWdlbWVudCBlaW5pZ2VyIExldXRlIGhpZXIgZXJrbGFlcmVuLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZ2xvcnJlaWNoZSB6ZWl0ZW4gKEhhcmRpbCwgMjEuIEp1biAxOTk2LCAxMzoxOTozMyk6Cn4jISBybj1Ub2V0ZXIgcnQ9ODM1MzQyOTUwCn4jISB0aWQ9ODM1MjgzODgxCgpBaG9pIFRvZXRlciwKCkR1IHdhcnN0IGRlciBlcnN0ZSwgZGVyIFdvZWxrY2hlbiB2b20gUGxhdHogMSBkZXIgVG9wLUxpc3RlIHZlcnRyaWViZW4gaGFzdCwKdW5kIGRhbWl0IHN0ZWh0IERpciBzY2hvbiBlaW4gZ2V3aXNzZXIgVGVpbCAiUnVobSIgenUuIERlciBUYWcsIGFuIGRlbQpXb2Vsa2NoZW4gbmljaHQgbWVociBOdW1tZXIgMSB3YXIsIHdhciBkZXIgVGFnLCBhbHMgZGVyIE5pZWRlcmdhbmcgYmVnYW5uLi4uCjopCgotSGFyZGlsLiBTQWNod2VsZ3QgaW4gRXJpbm5lcnVuZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZ2xvcnJlaWNoZSB6ZWl0ZW4gKEdyaW1tYm9ybiwgMjEuIEp1biAxOTk2LCAxNjowNToxOSk6Cn4jISBybj1IYXJkaWwgcnQ9ODM1MzU1OTczCn4jISB0aWQ9ODM1MjgzODgxCgpGYWxzY2gsIHZvciBUb2V0ZXIgKHVuZCB6d2FyIExBTkdFIGRhdm9yKSBnYWIgZXMgei5CLiBBc21vZGlzIHVuZCBaYXJkb3ogYXVmClBsYXR6IGVpbnMgZGVyIFRvcC1MaXN0ZS4gVW5kIHp3YXIgenUgZWluZXIgWmVpdCwgYWxzIFRvZXRlciBzaWNoIG5vY2gKbmljaHRtYWwgaGFldHRlIHRyYWV1bWVuIGxhc3NlbiwgZGFzcyBlciBtYWwgc29sY2hlIFNjaHdpZXJpZ2tlaXRlbiBtaXQKZWluZmFjaGVuIEthbmluY2hlbiBoYWJlbiB3dWVyZGUuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBoYXQgYXVjaCBlaW4gZ3V0ZXMgR2VkYWVjaHRuaXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXN0dXJiYXRpb24gLSBuYSB1bmQ/IChDcmFpZywgMjEuIEp1biAxOTk2LCAxNzoxMjo0OCk6CkRhcyBNRyBiZWZpbmRldCBzaWNoIGltIFVtYnJ1Y2guIEtlaW4gV3VuZGVyLCBkYXNzIGVzIGRhIHppZW1saWNoIGRydW50ZXIgdW5kCmRydWViZXIgZ2VodC4KRGllIFRlbmRlbnogd29obCBpbiBSaWNodHVuZyBNaXRlaW5hbmRlciB1bmQgU3Bhc3MgaGFiZW4sIFJvbGxlbnNwaWVsIGhhbHQuCkljaCBwZXJzb2VubGljaCBrb2VubnRlIGF1ZiBMaXN0ZW4gZGVyIE1hcmtlICJXZXIga2FubiBhbSBsYWVuZ3N0ZW4/IiwgIldlcgpoYXQgZGVuIExhZW5nc3Rlbj8iIG9kZXIgIldlciBoYXQgZGllIGdyb2Vzc3RlbiBLb21wbGV4ZSIgZ3V0IHZlcnppY2h0ZW4uCkFiZXIgZXMgZ2lidCBoYWx0IExldXRlLCBkaWUgaW1tZXIgbmFjaCBvYmVuIG11ZXNzZW4sIGF1ZiBlZ2FsIHdhcyBmdWVyIG5lcgpSYW5nbGlzdGUuIExhc3N0IHNpZSBkb2NoLiBNdXNzIGhhbHQgamVkZXIgc2VpbmVuIGVpZ2VuZSBTdGlsIGZpbmRlbi4KRGVzaGFsYiBoaWVyIGVpbiBkaWNrZXMgTG9iIGFuIGFsbGUgVXJhbHQtU3BpZWxlciwgU3VwZXJTZWhlciBvZGVyIHNjaGxpY2h0IGFuCmFsbGUsIGRpZSB1bWdlZGFjaHQgaGFiZW4gb2RlciBnZXJhZGUgdW1kZW5rZW46IFNwaWVsZXJsZXZlbCBoaW4sCkZvcnNjaGVycHVua3RlIGhlci4gRGVuIG1laXN0ZW4gU3Bhc3MgaGFiZW4gd2lyIGRvY2ggbm9jaCBpbW1lciBhbgppcmdlbmR3ZWxjaGVuIEZheGVuIHp1c2FtbWVuIG1pdCBhbmRlcmVuIFNwaWVsZXJuIGdlaGFidC4KCkluIGRpZXNlbSBTaW5uZTogV2VpdGVyIHNvIQoKRXVlciBDUkFJRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGdsb3JyZWljaGUgemVpdGVuIChNdXBmZWwsIDIxLiBKdW4gMTk5NiwgMTg6NTY6NDApOgp+IyEgcm49SGFyZGlsIHJ0PTgzNTM1NTk3Mwp+IyEgdGlkPTgzNTI4Mzg4MQpBbHMgaWNoIGFuZ2VmYW5nZW4gaGFiZSwgaGFiIGljaCBUb2V0ZXIgZnVlciBuZW4gTlBDIGdlaGFsdGVuLi4uIGRlciByYW5udGUKaW1tZXIgc28gd29ydGxvcyAnYmx1dGlnJyBydW0gdW5kIHdhciBhdWNoIGluIGRlciBaZWl0dW5nIG5pY2h0IHByYWVzZW50LgpOaWNodHNkZXN0b3Ryb3R6IHd1cmRlIGVyIHNlaW5lbSBOYW1lbiB2b2xsIGdlcmVjaHQuLi4gd2VubiBuaWNodCBkZXIgYmVzdGUsCndhciBlciBiZXN0aW1tdCBkZXIgY29vbHN0ZSBTZWhlci4uLiAoYWxzbyBlaHJsaWNoLCBkYSBrYW5uIFJ6bmUgbmljaHQgbWl0LApvZGVyPyA6LSkKCmdlc2Nod2FmZWwgdm9uLi4uCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBnbG9ycmVpY2hlIHplaXRlbiAoQW5hdG9sLCAyMS4gSnVuIDE5OTYsIDE4OjU5OjI0KToKfiMhIHJuPU11cGZlbCBydD04MzUzNzYyMDAKfiMhIHRpZD04MzUyODM4ODEKCkFsc28gYWxzICJCb2R5Z3VhcmQgZGVzIFNoZXJpZmZzIiBtYWNodGUgVG9ldGVyIGRlbiB3ZWl0YXVzIGJlc3NlcmVuIEVpbmRydWNrLgpBYmVyIGRhcyBsaWVndCBldnRsLiBkYXJhbiwgZGFzcyBSeW5lIHppZW1saWNoIGdlbmF1IHNhaCwgd2VyIHVlYmVyIHdlbiBsYWNodGUKdW5kIHVlYmVyaGF1cHQuLi4uIDspCgpBbmF0b2wgKCprbGljayopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQml0dGVyLi4uIChEYW11cmlhbCwgMjEuIEp1biAxOTk2LCAyMTozMjoyNyk6CgoKPiA/IGRhbXVyaWFsCkRhcyBpc3QgRGFtdXJpYWwuIEVyIGlzdCBmdWVyIGVpbmVuIFp3ZXJnIG1pdHRlbGdyb3NzLgpFciBmdWVobHRlIHNpY2ggaGV1dGUgc2Nob24gYmVzc2VyLgpFciBpc3QgRnJldW5kIHZvbiBOb2N0dXJuby4KRGFtdXJpYWwgaGF0IGVpbmUgRHJhY2hlbnNjaHVwcGUgYW4sIGVpbmVuIEhvcm5pc3NlbnN0YWNoZWwgZ2V6dWVja3QgdW5kCnRyYWVndCBlaW4gRnJldW5kc2NoYWZ0c2JhbmQuCj4gZmluZ2VyIG5vY3R1cm5vCkhtbS4uLiBkaWVzZW4gTmFtZW4gZ2lidCBlcyBpbiBNb3JnZW5ncmF1ZW4gbmljaHQuCgoKLW9obmUgV29ydGUtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBnbG9ycmVpY2hlIHplaXRlbiAoQ2FyYWRocmFzLCAyMS4gSnVuIDE5OTYsIDIzOjIwOjEwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04MzUzNjU5MTkKfiMhIHRpZD04MzUyODM4ODEKICAgICAgICAgICAgICAgICAgICAgKnNjaG5pZWYgc2NobHVjaHoqCgpVbmQgd2FzIGlzdCBtaXQgbWlyPyBJY2ggd2VyZCB2b24gYWxsZW4gdmVyZ2Vzc2VuIQpEYWJlaSB3YXIgaWNoIGRvY2ggZGVyIGVyc3RlLCBkZXIgV29lbGtjaGVuIHZvbSBUaHJvbiBnZXNjaHViYnN0CmhhdC4gRGFtYWxzIGFscyBld2lnZXIgUHJvcGhldCBoYXR0ZSBpY2ggbm9jaCBpbiBMZXZlbCAxOQp1ZWJlciAxOCBNaWxsaW9uZW4gRVAgdW5kIFdvZWxrY2hlbiBhbHMgTnIuIDIgbnVyIDcuNSBNaW8uIDopCgpJY2gga2ljaGVyZSBpbW1lciBub2NoLCB3ZW5uIGljaCBkcmFuIGRlbmtlLCBkYXNzIHdlZ2VuIG1pcgpkaWUgQmVyZWNobnVuZ3Nmb3JtZWwgZGVyIExpc3RlIGdlYWVuZGVydCB3dXJkZSwgdm9uIDIgTWlsbGlvbmVuCkVQIGVudHNwcmVjaGVuIE1BWF9BUCBhdWYgMTAgTWlsbGlvbmVuIEVQIGVudHNwcmVjaGVuIE1BWF9BUAooZGFtYWxzIDEyMDUgQVAgTWF4aW11bSkKCiAgICBHb2xkZHJhY2hlIENhcmFkaHJhcyAtIGRpZSBFeC1Oci4gMSBtaXQgMzEwIEFQIGluIGx2IDE5CiAgICBoYWNoamFoLCBkYXMgd2FyZW4gWmVpdGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpESUUgVUhSWkVJVCAoUWl0ZXNzLCAyMi4gSnVuIDE5OTYsIDAyOjIxOjQ3KToKSXNzZXMgd2FociA/IEVzIGlzdCBqZXR6dCAyIHVociAyMC4gcWl0ZXNzIHNpdHp0IHRhdHNhZWNobGljaCBpbSBtdWQuIGljaAp3b2xsdGUgZGFzIGhhbHQgbnVyIG1hbCBhbm1lcmtlbiwgZmFsbHMgZXMgZWluZW4gaW50ZXJlc3NpZXJ0LiA7KQoKUUlURVNTLCBqdWVuZ3N0ZSBUb2NodGVyIGRlcyBUaXdhei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBESUUgVUhSWkVJVCAoTXVwZmVsLCAyMi4gSnVuIDE5OTYsIDAzOjAzOjQzKToKfiMhIHJuPVFpdGVzcyBydD04MzU0MDI5MDcKfiMhIHRpZD04MzU0MDI5MDcKQm9haC4uLiBkYXMgaXNzIGphIFdBSE5TSU5OSUcgaW50ZXJlc3NhbnQuIEljaCBiaW4gYXVjaCBub2NoIGRhIHVuZCBob2VyZQpldHdhcyBTYXVlcnN0b2ZmLU11c2lrLiBNZWluZW0gSHVuZCBnZWh0cyBndXQuIEZyYXUgTWVpZXIgdm9uIG5lYmVuYW4gZmFlaHJ0Cm1vcmdlbiBpbiBVcmxhdWIuIEJsYWZhc2VsLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRElFIFVIUlpFSVQgKERob2pha3QsIDIyLiBKdW4gMTk5NiwgMDQ6MjI6MzEpOgp+IyEgcm49TXVwZmVsIHJ0PTgzNTQwNTQyMwp+IyEgdGlkPTgzNTQwMjkwNwpTY2hlaW50IHNvLCBhbHMgaGFldHRlIENhdCBsYW5nZSBrZWluZSBBcnRpa2VsIG5hY2ggTXVlbGwgdmVybGVndC4gQW0gYmVzdGVuCmdsZWljaCBkaWVzZW4gZ2FuemVuIFRocmVhZCBoaWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmFxIChNYW1hLCAyMi4gSnVuIDE5OTYsIDE0OjEyOjM3KToKSGFsbG8sIGdlcmFkZSBoYWJlIGljaCBlaW5lIE1HLUZBUSBpbiBkZXIgSGFuZCBnZWhhYnQgdW5kIGdlc2VoZW4sCmRhc3MgaW0gUHVua3QgNS43LiAoYmV0cmlmZnQgYW5kZXJlIE1VRHMpIGFrdHVhbGlzaWVydCB3ZXJkZW4gbXVlc3N0ZToKCiIgNS43LiAiR2lidCBlcyBub2NoIGFuZGVyZSBkZXV0c2Noc3ByYWNoaWdlIE1VRHM/IgoKICAgICAgICAgSmEsIHVuZCB6d2FyOgogICAgICAgICAgICAgICAgICAgICAgIC0gVU5JVE9QSUE6ICAgICAgaGVscGRlc2sucnVzLnVuaS1zdHV0dGdhcnQuZGUgIDMzMzMKICAgICAgICAgICAgICAgICAgICAgICAtIFd1bmRlcmxhbmQ6ICAgIDEzOS4xOC4xMS45MiAgICA0NzExCiAgICAgICAgICAgICAgICAgICAgICAgLSBGaW5hbEZyb250aWVyOiAxNDEuNDQuMjIuNTAgICAgNzYwMCAoaW0gQXVmYmF1KQogICAgICAgICAgICAgICAgICAgICAgIC0gQXZhbG9uOiAgICAgICAgMTQxLjgyLjE2LjE3ICAgIDc3NzcgKGltIEF1ZmJhdSkKICAgICAgICAgICAgICAgICAgICAgICAtIFN0YXJnYXRlOiAgICAgIDE5My4xNzQuMjYuMTY4ICA5MDAwIChpbSBBdWZiYXUpCgoiCkF2YWxvbiBpc3Qgc2VpdCBjYS4gZWluZW0gSmFociBmdWVyIFNwaWVsZXIgZXJvZWZmbmV0IHVuZCB2b2xsIHNwaWVsYmFyLgpFcyBnaWJ0IGRvcnQgMTEgUmFldHNlbCwgZWJlbnNvdmllbGUgU3BpZWxlIHVuZCA0IGdsZWljaHdlcnRpZwpzcGllbGJhcmUgUmFzc2VuLCBhdXMgZGVuZW4gZGVyIFNwaWVsZXIgZWluZSBhdXN3YWVobGVuIGthbm4uCgpEaWUgU3ludGF4IGluIEF2YWxvbiBpc3Qgd2VpdGdlaGVuZCBrb21wYXRpYmVsIG1pdCBkZXIgTUctU3ludGF4LApnZWh0IGFiZXIgd2VpdCB1ZWJlciBzaWUgaGluYXVzLgpBbnBhc3N1bmdzc2Nod2llcmlna2VpdGVuIGVyZ2ViZW4gc2ljaCBmdWVyIGVpbmdlZmxlaXNjaHRlIE1HLVNwaWVsZXIgYWxzbwpuaWNodCwgZGllCm1hbCByZWluc2NobnVwcGVybiB3b2xsZW4uIEVpbnppZ2VyIFVudGVyc2NoaWVkOgpEaWUgTW9uc3RlciB2ZXJoYWx0ZW4gc2ljaCB3ZWl0Z2VoZW5kIHdpZSBTcGllbGVyLiBNYW4gc2FndCBpaG5lbiwgd2FzIG1hbgp3aWxsLyB3aXNzZW4gd2lsbC4gRGFzIGhpZXIgdHlwaXNjaGUgImZyYWdlIE1vbnN0ZXJYIG5hY2ggWSIgZ2lidCBlcyBhbHNvCm5pY2h0LgoKRWJlbnNvIGlzdCBGaW5hbEZyb250aWVyIG1pdGxlcndlaWxlIGVyb2VmZm5ldC4KRXMgaXN0IGVpbiBGYW50YXN5bXVkLCBkYXMgYmVzb25kZXIgVHJla2tpZmFucyBndXQgZ2VmYWxsZW4gZHVlcmZ0ZS4KU3ludGFrdGlzY2ggaXN0IGVzIHN0YXJrIGFuIFVOSXRpb3BpYSBhbmdlbGVobnQsIGhhdCB2b24gZGVyIEF0bW9zcGhhZXJlCmhlciBhYmVyIGVpbmlnZXMgbWVociB6dSBiaWV0ZW4uCkVuZXJnaWVwaXN0b2xlbiwgUm9ib3RlciwgTWFydmluczopLCBQbGFuZXRlbiwgUmF1bXNjaGlmZmUgZXRjLiBnaWJ0IGVzIGluCmtlaW5lbSBhbmRlcmVuIGV0YWJsaWVydGVuIGRldXRzY2hlbiBNVUQgYmlzaGVyLgpBdWNoIEZGIGJpZXRldCB1ZWJyaWdlbnMgbWVocmVyZSBSYXNzZW4gdW5kIGNhLiBlaW4gZHV0emVuZCBRdWVzdHMuCgpCZWlkZSBiZXNjaHJpZWJlbmUgTVVEcyBzaW5kIHZpZWwga2xlaW5lciBhbHMgTUcsIGFiZXIgdmllbGxlaWNodCBoYXQgZGVyCmVpbmUgb2RlciBhbmRlcmUgZG9jaCBtYWwgTHVzdCByZWluenVzY2hhdWVuPwoKTWFtYShtZWluIGVyc3RlciBBcnRpa2VsIGhpZXIgaW4gTUcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgd2FocmUgVG9wbGlzdGUgKFJ1ZGlyYXR0ZXIsIDIyLiBKdW4gMTk5NiwgMTc6NTU6MTMpOgpXYXMgc29sbGVuIGRpZSBBcnRpa2VsIHVlYmVyIGdsb3JyZWljaGUgWmVpdGVuIGRlbm4/PwpSeW5lIGlzdCBjb29sZXIsIG5laW4gVG9ldGVyIGlzdCBkYXMgLWFiZXIgZGFmdWVyIGlzdCBUb2V0ZXIgbHVzdGlnZXIsIGFiZXIKbGFlbmdzdCBuaWNodCBzbyBsdXN0aWcgd2llIFJ5bmUsIFRvZXRlciBrYW5uIGJlc3NlciBrbnV0c2NoZW4gLCBkYWZ1ZXIgc2luZApSeW5lcyBLb3N0YmFya2VpdGVuIGdyb2Vzc2VyLCBibGFibGFibGEuCk5hY2ggZGVyIGVpbnppZyB3YWhyZW4gUnVkaWxpc3RlIGdpYnQncyBudXIgZWluZSB1bnVtc3RyaXR0ZW5lIE51bW1lciAxIGhpZXIKaW0gTUcgLSBkYXMgaW50ZXJlc3NpZXJ0IGpldHp0IHdhaHJzY2hlaW5saWNoIGF1Y2ggZ2VuYXVzbyB2aWVsIHdpZSBRdWl0ZXNzJwpVaHJ6ZWl0LCBhYmVyIGRhcyBtdXNzbWFsIGdlc2FndCB3ZXJkZW4uCkljaCBnZWJlIHp1LCBkYXNzIFRvZXRlciBtaWNoIGF1ZiBkZXIgbGV0enRlbiBQYXJ0eSBpbiBCaWVsZWZlbGQgc2Nod2VyIGR1cmNoCnNlaW5lIFp1bmdlbmt1ZW5zdGUgQmVlaW5kcnVja3QgaGF0LCBhYmVyIGRpZSBOdW1tZXIgMSBpc3QgdW5kIGJsZWlidCBkZXIKY29vbHN0ZSBLYW1wZnp3ZXJnIGltIE1HLgpSdWRpIHNjaG1hY2h0ZXQgUnluZSBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmYXEgKFBpbGdyaW0sIDIzLiBKdW4gMTk5NiwgMTY6MTY6MDMpOgp+IyEgcm49TWFtYSBydD04MzU0NDU1NTcKfiMhIHRpZD04MzU0NDU1NTcKSm8sCgp6dXIgS2VubnRuaXMgZ2Vub21tZW4gLSB3aXJkIGdlYWVuZGVydAoKQUJFUjogd2VubiBEdSBkaWUgRkFRIHp1IGVuZGUgZ2VsZXNlbiBoYXN0LCB3YXMgc3RlaHQgZGE6ClZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZSwgRXJnYWVuenVuZ2VuIG9kZXIgS3JpdGlrIGJpdHRlIGFuOgpQaWxncmltQE1HLlVuaS1NdWVuc3Rlci5ERQoKOy0pCmFsc28sIHdlbm4gaWhyIHdhcyBlcmdhZW56dCwgZ2VhZW5kZXJ0IHVzdyBoYWJlbiB3b2xsdCwgYml0dGUgKGF1Y2gpCm1pciBtYWlsZW4gLCBqYSA/CgpUcm90emRlbSAtIGRhbmsgZnVlciBkaWUgSW5mb3JtYXRpb24gLi4uCgoKUGlsZ3JpbQpQUzogZGllIGFrdHVlbGxzdGUgRkFRIGlzdCBJTU1FUiBkZWkgV1dXLVZlcnNpb24gLi4uIGRpZSBUZXh0dmVyc2lvbgpoaW5ndCBpbW1lciBldHdhcyBoaW50ZXJoZXIgLSBzaWUgd2lyZCBhdXMgZGVyIFdXVy1WZXJzaW9uIGhhbGJhdXRvbWF0aXNjaAplcnpldWd0ICh2b24gbWlyIHVuZCAyIHByb2dyYW1tZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmFxIChRdWlsbGlhbiwgMjMuIEp1biAxOTk2LCAyMTozMjo0Myk6Cn4jISBybj1NYW1hIHJ0PTgzNTQ0NTU1Nwp+IyEgdGlkPTgzNTQ0NTU1NwpFcm9lZmZuZXQgaXN0IEZpbmFsRnJvbnRpZXIgb2ZmaXppZWxsIHNlaXQgZGVtIDUuMTIuOTUuIFZvcmhlciBsaWVmIGVzCmV0d2EgMTAgTW9uYXRlIGltIFRlc3RiZXRlaWIuIFdpciBzaW5kIGFsc28gYXVjaCBzY2hvbiBlaGVyIGVpbiAnYWx0ZXMnIE11ZAo6LSkKKE5lYmVuYmVpIGZyYWdlIGljaCBtaWNoIGFiIHdhbm4gTXVkcyBpbiBkZXIgTGlzdGUgZWluICdldGFibGllcnQnIGJla29tbWVuLikKTnVyIGluIGVpbmVtIFB1bmt0IG11c3MgaWNoIE1hbWEgd2lkZXJzcHJlY2hlbi4gV2lyIHNpbmQgS0VJTiBGYW50YXN5TVVECnNvbmRlcm4KZWhlciBlaW4gU0YtTVVELiBBdXNzZXJkZW0gd2lyZCBoaWVyIGtlaW5lc3dlZ3MgZGllIFN0YXN0cmVrLVdlbHQgbmFjaGVtZnVuZGVuCnNvbmRlcm4gZWluZSBlaWdlbmUgV2VsdCBiZXNjaHJpZWJlbiAoV29iZWkgbmF0dWVybGljaCBBbmxlaWhlbiBiZWkgamVnbGljaGVyCkFydCB2b24gcGFzc2VuZGVyIExpdGVyYXR1ciBnZW1hY2h0IHd1cmRlbi4pCgpRdWlsbGlhbiAtLT4gMTQxLjQ0LjIyLjUwIDc2MDAgPC0tCgpQUzogTW9lZ2Ugc2ljaCBkZXIgZ2VuZWlndGUgTGVzZXIgc2VsYmVyIGVpbiBCaWxkIG1hY2hlbi4KUFBTOiBBZWhtIC4uLiBqYSB3aWUgbWFuIGFuIGRlbiBGZWhsZXJuIHNpZWh0IGhhYiBpY2gga2VpbmUgQmFja3NwYWNlVGFzdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGdsb3JyZWljaGUgemVpdGVuIChNb3Jnb3RoLCAyNC4gSnVuIDE5OTYsIDA4OjI4OjM5KToKfiMhIHJuPUFuYXRvbCBydD04MzUzNzYzNjQKfiMhIHRpZD04MzUyODM4ODEKdGphIApyeW5lIGlzdCBzZWxic3QgZnVlciBlaW5lbiB6d2VyZyB6aWVtbGljaCBrbGVpbiAhISEKZGFzIHNhZ3Qgd29obCBhbGxlcyAKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZhcSAoQmFyb24sIDI0LiBKdW4gMTk5NiwgMDk6MDE6MjYpOgp+IyEgcm49TWFtYSBydD04MzU0NDU1NTcKfiMhIHRpZD04MzU0NDU1NTcKSGksCldvIHdpciBzY2hvbiBtYWwgZGFiZWkgc2luZCwgRmVobGVyIGluIGRlciBMaXN0ZSBhbmRlcmVyIE11ZHMgenUgZXJ3YWVobmVuOgpEYXMgV3VuZGVybGFuZCBpc3Qgdm9yIGVpbmlnZXIgWmVpdCBhdWYgZWluZW4gYW5kZXJlbiBSZWNobmVyIHVtZ2V6b2dlbi4gRGllCklQIGluIGRlciBGQVEgcGFzc3QgbmljaHQgbWVoci4gRGllIG5ldWUgQWRyZXNzZSBsYXV0ZXQ6IDEzOS4xOC4xMS43OCA0NzExLgpEaWUgTXVkbGliIHN0YW1tdCAod2llIGtvZW5udGUgZXMgYW5kZXJzIHNlaW4pIGF1Y2ggYXVzIGRlbSBNb3JnZW5ncmF1ZW4KKFNwaWVsZXIgYnJhdWNoZW4gc2ljaCBhbHNvIG5pY2h0IHNvb28gYnJ1dGFsIHVtenVnZXdvZWhuZW4pLCB1bnRlcnNjaGVpZGV0CnNpY2ggYWxsZXJkaW5ncyBtaXR0bGVyd2VpbGUgcmVjaHQgZGV1dGxpY2ggaW4gZWluaWdlbiBCZXJlaWNoZW4uIEVzIGdpYnQgYWxzbwplaW4gcGFhciBuZXR0ZSBOZXVpZ2tlaXRlbiB6dSBlbnRkZWNrZW4uClNjaGF1dCBiZWkgSW50ZXJlc3NlIGVpbmZhY2ggbWFsIHJlaW4gOikuCgpSZWRAV3VuZGVybGFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSB3YWhyZSBUb3BsaXN0ZSAoT2V0dGksIDI0LiBKdW4gMTk5NiwgMTA6MDE6NDApOgp+IyEgcm49UnVkaXJhdHRlciBydD04MzU0NTg5MTMKfiMhIHRpZD04MzU0NTg5MTMKWW8gIQoKSWNoIHdhciBuaWUgbnVtbWVyIGVpbnMgaW4gaXJnZW5kZWluZXIgYnVja2xpZ2VuIFRvcGxpc3RlLAppY2ggYmluIHNvd2llc28gbmUgZ2FueiBhcm1lIFNhdSwgdW5kIGJla29tbWUgZWhoCmtlaW5lIG1laHIgYWIsIHNhZ3QgS2xvbmsgIQoKR3J1c3MgbmFjaCBaaXR0YXUgISEKCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSB3YWhyZSBUb3BsaXN0ZSAoRW5neXd1Y2ssIDI0LiBKdW4gMTk5NiwgMTA6MDU6MjgpOgp+IyEgcm49T2V0dGkgcnQ9ODM1NjAzMzAwCn4jISB0aWQ9ODM1NDU4OTEzCkhleSwgV2lkZXJzcHJ1Y2ghCgpPZXR0aSBpc3QgTnVtbWVyIGVpbnMgaW4gbWVpbmVyIHBlcnNvZW5saWNoZW4gd2VyLXNjaHJlaWJ0LWRpZS1BcnRpa2VsLWRpZS0KQmVtZXJrdW5nZW4tYXVmLUFsbGdlbWVpbi16dS1kZW5lbi1zaWNoLWFtLWhlcnJsaWNoc3Rlbi1ydW1yb3RmbG4tbGFlc3N0LQpUb3BsaXN0ZS4KCkltbWVyaGluIGV0d2FzIDspCgpFbmd5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZhcSAoQmVuZGVpZ2lkLCAyNC4gSnVuIDE5OTYsIDEwOjExOjEzKToKfiMhIHJuPUJhcm9uIHJ0PTgzNTU5OTY4Ngp+IyEgdGlkPTgzNTQ0NTU1NwpIaSwKRXMgc2NoZWludCB6d2FyIGluendpc2NoZW4gTW9kZSBnZXdvcmRlbiB6dSBzZWluLCBkaWUgYWxsZ2VtZWlucnVicmlrCnZvbGx6dW11ZWxsZW4sIGFiZXIga29lbm50ZW4gd2lyIGF1Y2ggZGllIGFscyBGYXEtQWVuZGVydW5ncy1BcnRpa2VsIGdldGFybnRlbgpXZXJiZWJsb2Vja2UgbWFsIG5hY2ggQW56ZWlnZW4gdmVybGVnZW4/IApNaWNoIGp1Y2t0IG5hZW1saWNoIHdlZGVyIFd1bmRlcmxhbmQgbm9jaCBGRiBvZGVyIHNvbnN0d2FzIHNvIHNlaHIsIGRhc3MgaWNoCmhpZXIgZGF1ZXJuZCB3YXMgaW4gYWxsZ2VtZWluIGRhcnVlYmVyIGZpbmRlbiB3aWxsLiAKWidwYXIgU2VydnUsCiAgICAgICAgICAgQmVuZGVpZ2lkClAuUy46IEhvZXJ0IHNpY2ggbWllcyBnZWxhdW50IGFuLiBJY2ggaGFiIGluIHp3ZWkgV29jaGVuIEtsYXVzdXIsIGV2dGwuIGhpbGZ0CmRhcyBhbHMgRXJrbGFlcnVuZyA6KCgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGdsb3JyZWljaGUgemVpdGVuIChUcnlmYW4sIDI0LiBKdW4gMTk5NiwgMTA6NDU6NTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzNTM2NTkxOQp+IyEgdGlkPTgzNTI4Mzg4MQpFcyBpc3QgZG9jaCBzY2hvbiBnYW56IHNjaG9lbiwgZGFzcyBoaWVyIGVpbmlnZSBkYXJhbiBlcmlubmVybiwgZGFzcyAKdmllbGUgaGV1dGlnZSBNYWdpZXIgYWxzIFNwaWVsZXIgaW4gZGllc2VtIE11ZCBncm9zcyBnZXdvcmRlbiBzaW5kIHVuZCB6dW0KVGVpbCBnYW56IGJld2VndGUgU3BpZWxlcmdlc2NoaWNodGUgZ2VzY2hyZWliZW4gaGFiZW4uIERlbm4gZGFzIHplaWd0IG1pciwKZGFzcyBlcyAnZGllIE1hZ2llcicgbmljaHQgZ2lidCwgZGllIHZvbiBkZXIgU3BpZWxlcnNlaXRlIGtlaW5lIEFobnVuZwpoYWJlbi4KIEVzIGdpYnQgd2VkZXIgJ2RpZSBhcm9nYW50ZW4gTWFnaWVyJyBub2NoICdkaWUgVmVyd29laG50ZW4gU3BpZWxlcicKdm9uIGRlbmVuIGljaCBoaWVyIGluIGRlciBaZWl0dW5nIGxlc2VuIG11c3MuIEdsYXVidCBpaHIgd2lya2xpY2ggZHVyY2gKZGllIE1hZ2llcndlcmR1bmcgdmVyZ2lzc3QgbWFuIHNlaW4gU3BpZWxlcmRhc2Vpbj8gCiAgVHJ5ZmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmYXEgKEhhdGUsIDI0LiBKdW4gMTk5NiwgMTA6NTE6NTQpOgp+IyEgcm49QmVuZGVpZ2lkIHJ0PTgzNTYwMzg3Mwp+IyEgdGlkPTgzNTQ0NTU1NwpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gaW4gZGVyIEZBUSBlaW5lbiBWZXJ3ZWlzIGF1ZiBkaWUgTVVEbGlzdGUgbWFjaGVuOgogIGh0dHA6Ly9tZy51bmktbXVlbnN0ZXIuZGUvSW5mb3JtYXRpb24vYW5kZXJlLmh0bWwKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmFxIChHcmltbWJvcm4sIDI0LiBKdW4gMTk5NiwgMTE6NTY6MTApOgp+IyEgcm49UGlsZ3JpbSBydD04MzU1MzkzNjMKfiMhIHRpZD04MzU0NDU1NTcKCkh1Y2g/IFR1dHMgZXR3YSB3aWVkZXIgZGFzIG1haWxlbiB2b24gYXVzc2VyaGFsYiBpbnMgTUc/IFNlaXQgd2FubiBkZW5uIGRhcz8KU29sbHRlIGRhcyBuaWNodCBkZXIgRmFsbCBzZWluIGdpYnRzIGZvbGdlbmRlbiBFZmZla3Q6IERpZSBtYWlsIHdpcmQKYWJnZXNjaGlja3QsIG5pY2h0IGdlYm91bmNlZCB1bmQga29tbXQgYXVjaCBuaWNodCBpbSBNRyBhbi4gTW9lZ2xpY2hlcndlaXNlCnNpbmQgZGllIGdhbnplbiB2ZXJ3YWlzdGVuIG1haWxzIGphIGRlciBHcnVuZCBkYXNzIENhdCogaW1tZXIgZGVua3QsIGhpZXIKbGFlZ2VuIHp1IHZpZWxlIHp1IGdyb3NzZSBtYWlscyBydW0uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZhcSAoTW9yZ290aCwgMjQuIEp1biAxOTk2LCAxMTo1NzozMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM1NjEwMTcwCn4jISB0aWQ9ODM1NDQ1NTU3CmhtLCB2aWVsbGVpY2h0IGVudHN0ZWh0IHNvIGF1Y2ggZGFzIG5ldGxhZy4gZGllIG1haWxzIHdlcmRlbiBpbiBkYXMgTVMtTmV0egpnZXNjaGlja3QgdW5kIGJvdW5jZW4gZGFubiBkYSB3aWUgd2lsZCB1bWhlciwgd2VpbCBrZWluZXIgc2llIGhhYmVuIHdpbGwuIHNvCmxhbmdlIGJpcyBkYXMgbmV0eiBkaWNodCBpcyB1bmQgZGVyIHJvdXRlciByZWJvb3RldCB3aXJkIDstKQptb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmYXEgKEhhdGUsIDI0LiBKdW4gMTk5NiwgMTM6Mjg6MTEpOgp+IyEgcm49TW9yZ290aCBydD04MzU2MTAyNTIKfiMhIHRpZD04MzU0NDU1NTcKRXMgYm91bmNlZCBuaXguIEljaCBoYWJlIGxldHp0ZW5zIGVpbmUga2xlaW5lIEFlbmRlcnVuZyBnZW1hY2h0LCBzbyBkYXNzCk1haWxzIHZvbiBhdXNzZW4gbmFjaCBNRyB3aWVkZXIgZnVua3Rpb25pZXJlbiBtdWVzc3Rlbi4KQmlzIGRhaGluIHNpbmQgZGllIE1haWxzIGFuZ2Vrb21tZW4sIGFiZXIgbmllIAphYmdlc3BlaWNoZXJ0IHdvcmRlbi4gRGFkdXJjaCBzaW5kIHNpZSBpbiBkZXIgRGF0ZW5wcmVzc2UgZ2VsYW5kZXQuCkF1ZnRhdWNoZW4gdW53YWhyc2NoZWlubGljaC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmYXEgKFBpbGdyaW0sIDI0LiBKdW4gMTk5NiwgMTY6NTQ6MzIpOgp+IyEgcm49SGF0ZSBydD04MzU2MTU2OTEKfiMhIHRpZD04MzU0NDU1NTcKQWxzbyAsCmRhcyBtYWlsZW4gdm9uIGVpbmVtIE1hdGhlLVJlY2huZXIgaW5zIE1HIHR1dHMgLSBoYWJzIGdlcmFkZSBwcm9iaWVydCAuLi4KCnp1bWluZGVzdCAsIHdlbm4gbWFuIGVpbmUgbWFpbCBhbiBwaWxncmltbWcgc2NoaWNrdCAuLi4gOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBnbG9ycmVpY2hlIHplaXRlbiAoRmV1ZXJ3ZWhyLCAyNC4gSnVuIDE5OTYsIDE4OjI4OjM1KToKfiMhIHJuPVRyeWZhbiBydD04MzU2MDU5NTUKfiMhIHRpZD04MzUyODM4ODEKT2ggbmVpbi4gTWFuIGVyaW5uZXJ0IHNpY2ggYW4gYWxsIGRpZSBtaWVzZW4gU3BpZWxlciwgZGllIGVpbmVuIGdlYWVyZ2VydApoYWJlbiwgZGllIGVpbmVtIGlnbm9yaWVydCB1bmQgdmVyaGF1biBoYWJlbiwgdW5kIGVuZGxpY2gsZW5kbGljaAprYW5uIG1hbiBlcyBpaG5lbiBoZWltemFobGVuLiBBbHNvIG5pbW10IG1hbiBzaWNoIGRhcyBncmFlc3NsaWNoc3RlLCBtaWVzZXN0ZQpNb25zdGVyIGRhc3MgZXMgZ2lidCB1bmQuLi4uLi4uLgogICAKICAgCiAgICAgICAgICBGZXVlcndlaHIgKmhhdCBQbGFlbmUgOikpKSkqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmYXEgKEJhcm9uLCAyNS4gSnVuIDE5OTYsIDAwOjQ3OjU5KToKfiMhIHJuPUJlbmRlaWdpZCBydD04MzU2MDM4NzMKfiMhIHRpZD04MzU0NDU1NTcKSG0gLi4uLCBtZWlzdCBoaWxmdCBkYSBsZXJuZW4gOikuIERhbm4gYnJhdWNodCBtYW4gYXVjaCBrZWluZSBudXR6bG9zZW4KV2VyYmVhcnRpa2VsIGxlc2VuICpncmlucyBib3NoYWZ0KgoKUmVkIC0gaGF0IGF1c2dlbGVybnQgdW5kIGlzdCBhcmJlaXRzbG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERJRSBVSFJaRUlUIChRaXRlc3MsIDI2LiBKdW4gMTk5NiwgMTE6NDQ6MjEpOgp+IyEgcm49TXVwZmVsIHJ0PTgzNTQwNTQyMwp+IyEgdGlkPTgzNTQwMjkwNwpoYWxsbyBtdXBmZWwgLSBmaW5kc3RlIHNjaGVpc3NlIHdhPwphYmVyIHdlaXNzdCBkdSB3YXM/IGRpZXNlIHJ1YnJpayBoZWlzc3QgYWxsZ2VtZWluZXMsIHVuZCBkaWUgemVpdHVuZwptb3JnZW5ncmF1ZW5QQS4gc2llIGhlaXNzdCBuaWNodCBzZXJpb2VzZXMgbmFjaHJpY2h0ZW5ibGF0dCBmdWVyIG9sbGUgc3BpZXNzZXIKdW5kIGRvb2ZlIG1hZ2llci4KCmluIGRpZXNlbSBzaW5uZSAKICAgICAgICAgICAgICAgICAgICBRSVRFU1MgICAgKHNjaGxpZXNzdCBzaWNoIHNuaWJyaWxzIG1laW51bmcgYmFsZCBhbikKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERJRSBVSFJaRUlUIChHcmltbWJvcm4sIDI2LiBKdW4gMTk5NiwgMTI6NTc6NDYpOgp+IyEgcm49UWl0ZXNzIHJ0PTgzNTc4MjI2MQp+IyEgdGlkPTgzNTQwMjkwNwoKSGFsbG8gcXVpdGVzcyAtIGJpc3Qgc2NoZWlzc2Ugd2E/CkFiZXIgd2Vpc3N0IER1IHdhcz8gZGllc2UgUnVicmlrIGhlaXNzdCBhbGxnZW1laW5lcywgbmljaHQKcXVpdGVzcy5tdXNzLnNpY2gucHJvZHV6aWVyZW4uIEZ1ZXIgc29sY2hlIEZhZWxsZSBnaWJ0cyBoaWVyIGF1Y2ggbm9jaCBhbmRlcmUKUnVicmlrZW4sIGluIGRpZXNlbSBGYWxsIGlzdCBiZXNvbmRlcnMgc2NobWFycm4gYW56dXJhdGVuIChkYSBEdSBpbiBtdWVsbApuaWNodCBwb3N0ZW4ga2FubnN0KS4KCkFiZXIgbGFzcyBEaWNoIG5pY2h0IGVudG11dGlnZW4sIGJlaSBEZWluZW0gUG90ZW50aWFsIHNjaGFmZnN0IER1IGVzIHVlYmVyYWxsLApEaWNoIHp1IGJsYW1pZXJlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBESUUgVUhSWkVJVCAoVGFuZ2FsdXIsIDI2LiBKdW4gMTk5NiwgMTc6NDE6MzMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzNTc4NjY2Ngp+IyEgdGlkPTgzNTQwMjkwNwpNYW4gb2ggTWFuLCBtYWNobWFsIHN0ZWxsIGlociBldWNoIHZpZWxsZWljaHQgd2lya2xpY2ggYW4gIQoKVGFuZ2FsdXIgZmluZGV0IFFpdGVzcyBuaWNodCBzY2hlaXNzZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERJRSBVSFJaRUlUIChFbHJpYywgMjYuIEp1biAxOTk2LCAxOTowODozNCk6Cn4jISBybj1UYW5nYWx1ciBydD04MzU4MDM2OTMKfiMhIHRpZD04MzU0MDI5MDcKWWVwLiBJY2ggZmluZCBRaXRlc3MgYXVjaCBuaWNodCBzY2hlaXNzZS4gSWNoIGtlbm4nIHNpZSAoaWhuPykgbmFlbWxpY2ggZ2FyCm5pY2h0LiBBYmVyIHdhcnVtIHNvbGx0ZSBtYW4gbmljaCBtYWwgYXVmIEFsbGdlbWVpbiAnbiBwYWFyIFNwcnVlY2hlCmFiZHJ1ZWNrZW4ga29lbm5lbiwgZGllIGhpZXItZGFyZnN0LUR1LWx1c3RpZy1zZWluLVJ1YnJpa2VuIGxpZXN0IGphIGVoIGtlaW4KTWVuc2NoLgoKRWxyaWMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgVWxtZXIgaW0gTW9yZ2VuZ3JhdWVuIChTbHlmb3gsIDI2LiBKdW4gMTk5NiwgMTk6MjA6MjMpOgpFcyB3aXJkIGltbWVyIHdpZWRlciBiZWhhdXB0ZXQsIGVzIGdhZWJlIG51ciBlaW5lbiBhdXMgVWxtLAp1bmQgendhciBtaWNoLCB1bmQgYWxsZSBhbmRlcmVuIFVsbWVyIHNlaWVuIG1laW5lIDJ0aWVzLgpXZW5uIGRlbSB3aXJrbGljaCBzbyB3YWVyZSwgZGFubiBtdWVzc3RlIGljaCBub2NoIG1laHIgMnRpZXMgYWxzCkFuYXRvbCB1bmQgQXNtb2RpcyB6dXNhbW1lbiBoYWJlbi4KCkRydW0gcG9zdGV0IGljaCBoaWVyIG1hbCwgd2VyIG5vY2ggYWxsZXMgYXVzIFVsbSBrb21tdCwgdW5kIE5JQ0hUCm1laW5lIDJ0aWVzIHNpbmQsIGFscyB3YWVyZW46CgpNb3NoIChpbnp3aWNoZW4genUgZGVuIE1hZ2llcm4gdWViZXJnZWxhdWZlbiksIFp3aXJjaCwgRmlwcHMsIENvdmVuLCBNdWNrcywKUmFtYm9yb2xsZSwgQmxhY2ttb29yLCBVbGtpIChzY2hlaW50IG5pY2h0IG1laHIgenUga29tbWVuICpzZXVmeiopLApTZWxpc3NhLCBkaWUgYmVpIG1pciBvZWZ0ZXJzIHp1IEJlc3VjaCBpc3QsIHVuZCBEaWVkZXIsIGRlciBqZXR6dCBhYmVyIApuYWNoIEthcmxzcnVoZSBnZXdlY2hzZWx0IGlzdC4gKEthbm4gZ3V0IHNlaW4sIGRhc3MgaWNoIGplbWFuZGVuIHZlcmdlc3NlbgpoYWIpLgpVbmQgaWNoIHdpbGwgbm9jaG1hbCBkZXV0bGljaCBzYWdlbiwgZXMgc2luZCBOSUNIVCBtZWluZSBad2VpdGllcywgd2VyIGltbWVyCmRhcyBhdWNoIGRhdWVybmQgYmVoYXVwdGV0LgoKVW5kIHdlbidzIGludGVyZXNzaWVydDogTWVpbmUgWndlaXRpZXMgc2luZDoKU2NobGF3aW5lciwgS3VzY2hlbCwgU2FtbWxlciwgdW5kIE51bW1lcmVpbnMuIChWb24gZGVuIEFuZmFlbmdlcm4gdW5kCkV4LUJhbmsydGllcyBicmF1Y2ggaWNoIHdvaGwgbmljaHQgenUgcmVkZW4uKQoKVW5kIGRhc3MgbWFuY2hlIGRlciBvYmVuIGdlbmFubnRlbiBVbG1lciBhdWNoIG5vY2ggWndlaXRpZXMgaGFiZW4sIG1hZyAKd29obCBhdWNoIGtsYXIgc2Vpbi4KCkljaCBob2ZmZSwgZGllIEJlaGF1cHR1bmcsIGljaCBzZWkgZGVyIGVpbnppZ2UgVWxtZXIgKFVsbSBpc3QgZG9jaCBrZWluCkRvcmYhKSwgaXN0IGRhbWl0IGVuZGxpY2ggYXVzIGRlbSBXZWcgZ2VyYWV1bXQsIHVuZCBlcyB3aXJkIGRpZSBhbmRlcmVuIApuaWNodCBkYXVlcm5kIGdlZnJhZ3QsIG9iIHNpZSBTbHlmb3ggd2FlcmVuLgoKSW4gVmVydHJldHVuZyBhbGxlciBVbG1lciBpbiBVbG0gdW5kIHVtIFVsbSB1bmQgdW0gVWxtIGhlcnVtCgogICBTbHlmb3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgVWxtZXIgaW0gTW9yZ2VuZ3JhdWVuIChKYXNwZXIsIDI2LiBKdW4gMTk5NiwgMTk6MjM6MjgpOgp+IyEgcm49U2x5Zm94IHJ0PTgzNTgwOTYyMwp+IyEgdGlkPTgzNTgwOTYyMwptb3NoIGlzdCBkZWluIHp3ZWl0aWUsIHNseWZveCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBVbG1lciBpbSBNb3JnZW5ncmF1ZW4gKE11cGZlbCwgMjYuIEp1biAxOTk2LCAyMTo1NTowNyk6Cn4jISBybj1TbHlmb3ggcnQ9ODM1ODA5NjIzCn4jISB0aWQ9ODM1ODA5NjIzCkpldHp0IG11c3MgbnVyIG5vY2ggQXNtb2RpcyBrb21tZW4gdW5kIHNhZ2VuLCBlciB3YWVyZSBhdWNoIG51ciBlaW5lciB2b24gMTUKS2Fpc2Vyc2xhdXRlcm5lciBNdWRkZXJuLi4uIDotKQoKLW11cGZlbC0gKGthbm4gYWIgdW5kIHp1IGF1Y2ggYWxzIEFuYXRvbCwgVmFuaXIgb2RlciBCZWVsemVidWIgYXVmdHJldGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBVbG1lciBpbSBNb3JnZW5ncmF1ZW4gKFByZWRhdG9yLCAyNy4gSnVuIDE5OTYsIDEwOjA3OjAzKToKfiMhIHJuPVNseWZveCBydD04MzU4MDk2MjMKfiMhIHRpZD04MzU4MDk2MjMKZmVobHQgZGEgbmljaHQgbm9jaCBzY2hsYXdpZW5lciA/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIFVsbWVyIGltIE1vcmdlbmdyYXVlbiAoR3JpbW1ib3JuLCAyNy4gSnVuIDE5OTYsIDEwOjQyOjE2KToKfiMhIHJuPUphc3BlciBydD04MzU4MjgxOTgKfiMhIHRpZD04MzU4MDk2MjMKCkZhbHNjaC4KRGllIEFydGlrZWxsb2VzY2hlciBoYXR0ZW4genUgdHVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBCZXdpcmJ0IHNpY2ggdW0gZGVuIFBvc3RlbiBkZXMgZ25hZGVubG9zZW4gWmVuc29ycy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERJRSBVSFJaRUlUIChTY2hydW1wZmksIDI3LiBKdW4gMTk5NiwgMTE6MTg6MzMpOgp+IyEgcm49RWxyaWMgcnQ9ODM1ODA4OTE0Cn4jISB0aWQ9ODM1NDAyOTA3CkRpZXMgaXN0IGVpbiBvcmRlbnRsaWNoZXMgTXVkISBVbmQgZ2VzY2hyaWViZW4gd2lyZCBudXIgaW4gZGVyIHJpY2h0aWdlbgpSdWJyaWssIHNvbnN0IHdpcmQgbWFuIGdlbG9lc2NodCEKUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERJRSBVSFJaRUlUIChBY3JpbW9uLCAyNy4gSnVuIDE5OTYsIDE0OjQ3OjEwKToKfiMhIHJuPVNjaHJ1bXBmaSBydD04MzU4NjcxMTMKfiMhIHRpZD04MzU0MDI5MDcKRmFsc2NoZSBSdWJyaWssIFNjaHJ1bXBmaSwgZGVpbmUgTWFpbCBnZWhvZXJ0IG5hY2ggZXRpa2V0dGUuCkRpZSBLb25zZXF1ZW56IGRhcmF1cyBkYXJmc3QgRHUgc2VsYnN0IGF1c2Z1ZWhyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6dW0gdGhlbWEgbW9yZCAoUm9hZHJ1bm5lciwgIDUuIEp1bCAxOTk2LCAxMTo0MToxMCk6CmljaCB3YXIgaW4gZGVyIHBhcmFncnVmdCBiZSBzY2hydW1wZmkgLSB1bmQgZmluZGUgZXMgZXR3YXMgZGVyYiB3YXMgZGEgYWJnaW5nCi4uLgoKaWNoIGhhdHRlIGVpbmUgZWlnZW50bGljaCBnYW56IGJyYXVjaGJhcmUgcnVlc3R1bmcgLSBuaWNodCB1bmJlZGluZ3QgZGFzIGJlc3RlCmFiZXIgYnJhdWNoYmFyIC4uLgpkYW5uIGZvbGdlbmRlcyAKCj09PiAxOTUgTFAgICAxODggTVAgPD09IFYgMTUwID09ICB3ZXN0ZW4KRWluIHdlaXRlcmVyIFJhdW0gaW4gZGVyIEdydWZ0Li4KRXMgZ2lidCB6d2VpIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IG9iZW4gdW5kIHVudGVuLgpZaWJiLVRzc3RsLgpHbGFha2kuClNob2RhZ29pLgogIER1IGdyZWlmc3QgWWliYi1Uc3N0bCBtaXQgZGVtIGhlaWxpZ2VuIEVsZW1lbnRhcnNjaHdlcnQgYW4uCiAgRHUgdHJpZmZzdCBZaWJiLVRzc3RsIHNlaHIgaGFydC4KPiBZaWJiLVRzc3RsIGhldHp0IGRpZSBNYWVjaHRlIGRlcyBCb2VzZW4gYXVmIERpY2guCj09PiAxMjggTFAgICAxODggTVAgPD09IFYgMTUwID09ICB3ZXN0ZW4KR2xhYWtpIGhldHp0IGRpZSBNYWVjaHRlIGRlcyBCb2VzZW4gYXVmIERpY2guCj09PiA2MiBMUCAgIDE4OCBNUCA8PT0gViAxNTAgPT0gIHdlc3RlbgpTaG9kYWdvaSBoZXR6dCBkaWUgTWFlY2h0ZSBkZXMgQm9lc2VuIGF1ZiBEaWNoLgo9PT4gNCBMUCAgIDE4OCBNUCA8PT0gViAxNTAgPT0gIHdlc3RlbgpEaWUgQW5nc3QgaXN0IHN0YWVya2VyIGFscyBEdSAuLi4gRHUgd2lsbHN0IG51ciBub2NoIHdlZyBoaWVyLgpXaWUgYml0dGU/CllpYmItVHNzdGwgaXN0IGpldHp0IGhpbnRlciBEaXIgaGVyLgpHbGFha2kgaXN0IGpldHp0IGhpbnRlciBEaXIgaGVyLgpTaG9kYWdvaSBpc3QgamV0enQgaGludGVyIERpciBoZXIuCkVpbiBoZWxsZXIgUmF1bS4KRXMgZ2lidCB6d2VpIHNpY2h0YmFyZSBBdXNnYWVuZ2U6IG9iZW4gdW5kIHVudGVuLgpBYmR1bCBBbCBIYXpyZXQuCkRlciBtYWdpc2NoZSBTY2h1dHogZGVyIENoYW9zaGF1dCB2ZXJzY2h3aW5kZXQuCiAgQ3RodWxodSBncmVpZnQgRGljaCBtaXQgZnVlcmNodGVybGljaGVuIFJlaXNzemFlaG5lbiBhbi4KICBDdGh1bGh1IHRyaWZmdCBEaWNoIGhhcnQuCkR1IGthbm5zdCBlaW5lIGNoYW90aXNjaCBtdXRpZXJ0ZSBIYXV0IG5pY2h0IGF1c3ppZWhlbi4KW1RvZDpMYXJzXSBDdGh1bGh1IGhhdCBnZXJhZGUgUm9hZHJ1bm5lciB1bWdlYnJhY2h0Ln5yCgphbHNvIGljaCBmaW5kZSBkYXMgZXR3YXMgenUgZGVyYiAtIGtvZW5udGUgbWFuIGRpZSBqYSBnbGVpY2ggMjEwIGFiemllaGVuCmxhc3NlbiA6KAoKUm9hZHJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHp1bSB0aGVtYSBtb3JkIChNb3Jnb3RoLCAgNS4gSnVsIDE5OTYsIDExOjU0OjAwKToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9ODM2NTU5NjcwCn4jISB0aWQ9ODM2NTU5NjcwCmhtLiBiaXN0IGR1IHNpY2hlciwgZGFzcyBkdSBuaWNodCBpbiBkZXIgcGFyYXdlbHQgd2Fyc3Q/CmFsc28gZnVlciBkaWUgcGFyYXdlbHQgaXN0IGRhcyBpbSBwcmluemlwIG9rLgptYWlsIHNjaHJ1bXBmaSBkb2NoIG1hbCwgZGFzcyBzaWUgZGllIHZpZWNoZXIgZXR3YXMgdmVydGVpbHQuCk1vcmdvdGggc3ByaWNodCBSb2FkcnVubmVyIHRyb3R6ZGVtIHNlaW4gYmVpbGVpZCBhdXMgOy0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHp1bSB0aGVtYSBtb3JkIChSb2FkcnVubmVyLCAgNS4gSnVsIDE5OTYsIDEyOjU2OjU0KToKfiMhIHJuPU1vcmdvdGggcnQ9ODM2NTYwNDQwCn4jISB0aWQ9ODM2NTU5NjcwCmtsYXIgd2FyIGljaCBpbiBkZXIgcGFyYXdlbHQgLSBzaWVodCBtYW4gZG9jaCBhdWNoIGFuIGRlbSBtb25zdGVybiAuLi4uIC0gaGFiCmljaCBldHdhcyBhbmRlcmVzIGJlaGF1cHRldD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHp1bSB0aGVtYSBtb3JkIChTY2hydW1wZmksICA1LiBKdWwgMTk5NiwgMTU6MDM6NTMpOgp+IyEgcm49Um9hZHJ1bm5lciBydD04MzY1NjQyMTQKfiMhIHRpZD04MzY1NTk2NzAKSXN0IGRvY2ggYWxsZ2VtZWluIGJla2FubnQsIGRhc3MgZGllIGhhcnQgc2luZC4gRGllIFBhcmFncnVmdCBpc3Qgc2Nob24gd2FzCndlaXNzIGljaCB3aWUgbGFuZyBhbmdlc2NobG9zc2VuIHVuZCBpY2ggaGFiIHNpZSBuaWUgZ2VhZW5kZXJ0LiBBbHNvIHdhcyBzb2xsCmRhcyBnZWphbW1lciBudT8KUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB6dW0gdGhlbWEgbW9yZCAoSmltZGlncml6LCAgNS4gSnVsIDE5OTYsIDE1OjI5OjU2KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9ODM2NTU5NjcwCn4jISB0aWQ9ODM2NTU5NjcwCkhtbW0KCkFsc28gZGFzIGRpZSBkcmVpIHN0YWVya2VyIG5hdHVlcmxpY2ggc3RhZXJrZXIgc2luZCBhbHMKQ3RodWxodSB3YXIgZG9jaCBzY2hvbiBpbW1lciBzby4gVW5kIGRlciAnbWFlY2h0ZSBkZXMgYm9lc2VuJyBzcGVsbApoYXV0IGhhbHQgZ3V0IHJlaW4uIER1IGhhdHRlc3QgaGFsdCBwZWNoIGRhc3MgYWxsZSBkcmVpIGRhcyBpbiBlaW5lcgprYW1wZnJ1bmRlIAphbmdld2VuZGV0IGhhYmVuIHVuZCBkdSAyeCBuYWNoIHVudGVuIGdlZmx1ZWNodGV0IGJpc3QuCgpTaGl0IGhhcHBlbnMgOykKCk1pY2ggcGVyc29lbmxpY2ggc3RvZXJ0IGRpZSBzcGVjaWFsLXJlc2V0IEZsZWRlcm1hdXMgZGEgbWVociAuLi4KCkNpYW8sCiBKaW0gZGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB6dW0gdGhlbWEgbW9yZCAoUm9hZHJ1bm5lciwgIDUuIEp1bCAxOTk2LCAxNTo1NTowNCk6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODM2NTcxODMzCn4jISB0aWQ9ODM2NTU5NjcwCmphamEgLSBiaW4gamEgc2Nob24gcnVoaWcgLSB3YXIgbnVyIGV0d2FzIGVyc2NocmVja3QgCiAgICAgICAgICAgICAgICBrbGVpbmxhdXQKICAgICAgICAgICAgICAgICAgICAgICBSUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogenVtIHRoZW1hIG1vcmQgKFNjaHJ1bXBmaSwgIDUuIEp1bCAxOTk2LCAxNjo1NzoxMyk6Cn4jISBybj1Sb2FkcnVubmVyIHJ0PTgzNjU3NDkwNAp+IyEgdGlkPTgzNjU1OTY3MApJY2ggaGF0dGUgZGllIFBhcmFncnVmdCBlaWdlbnRsaWNoIGdlbWFjaHQsIGRhbWl0IGRpZSBTZWhlciBtYWwgZ2VtZWluc2FtIHdhcwptYWNoZW4uIFdlbm4gZWluZXIgZGEgYWxsZWluZSByZWluZ2VodCB1bmQgc3RpcmJ0LCBuYSBkYW5uIGhhdCBlciBoYWx0IFBlY2gKZ2VoYWJ0LiBNZWluIFBsYW4gbWl0IGRlbSBncm91cGVuIGdpbmcgZGEgbGVpZGVyIG5pY2h0IGF1Zi4gVGphLi4uClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHp1bSB0aGVtYSBtb3JkIChBc21vZGlzLCAgNS4gSnVsIDE5OTYsIDIxOjA5OjMzKToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9ODM2NTU5NjcwCn4jISB0aWQ9ODM2NTU5NjcwCldlbm5zIGRpciB6dSBoYXJ0IGlzdCwgZGFubiBnZWggZG9jaCBoZWltIHp1IE1hbWEgOikKSWNoIGZpbmRlLCBNb3Jnb3RocyBLYXRha29tYmVuIHNpbmQgc2NobGltbWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6dW0gdGhlbWEgbW9yZCAoRmVsYWd1bmQsICA1LiBKdWwgMTk5NiwgMjI6MDY6MTIpOgp+IyEgcm49QXNtb2RpcyBydD04MzY1OTM3NzMKfiMhIHRpZD04MzY1NTk2NzAKSWNoIHdlaXNzIG5lZGQsIHdhcyBHcnVwcGVuIGRhYmVpIGJyaW5nZW4gc29sbGVuLCBzY2hydW1wZmksIHdlbm4gZGllIGRhbm4KYWxsZSAzIG5lbiBTcHJ1Y2ggaW4gZWluZXIgUnVuZGUgYXVmIGRlbnNlbGJlbiBsb3NsYXNzZW4gaXMgZGEga2VpbmUgQ2hhbmNlCnVuZCBiZWkgZ3J1cHBlbmFyYmVpdCBpcyBtYW4gZGFubiB6d2FuZ3NsYWV1ZmlnIHRvdCwgd2VpbCBtYW4gZGllIFZvcnNpY2h0Cm5pY2h0IHNvIGhvY2ggd2FlaGxlbiBrYW5uLi4KQW0gbmVydmlnc3RlbiBiZWkgZGVyIGdhbnplbiBTYWNoZSBpc3QsIGRhc3MgbWFuIHRyb3R6IHVudGVyc2NocmVpdGVuIGRlcgpWb3JzaWNodCBub2NoIG1hbCBhbmdyZWl0IHVuZCBkYWJlaSBub2NoIG1laHJlcmUgc3BydWVjaGUgYWJiYWtvbW1lbiBrYW5uLCBkYXMKbGllZ3QgYWJlciB3b2hsIGFtIEthbXBmc3lzdGVtIHVuZCBuaWNodCBhbiBkZW4gTlBDcyBzcGV6aWVsbCwgb2Rlcj8KZ3J1c3MuLkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHp1bSB0aGVtYSBtb3JkIChBbmF0b2wsICA4LiBKdWwgMTk5NiwgMTE6MTI6MDYpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODM2NTk3MTcyCn4jISB0aWQ9ODM2NTU5NjcwCgoKS2xhZ3QgbmljaHQsIGthZW1wZnQhCgpBbmF0b2wgKGJlaW0gZWhlbS4gU3RmZkZ3IGtsYXVlbmQgOykpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogenVtIHRoZW1hIG1vcmQgKEJvaW5nLCAgOC4gSnVsIDE5OTYsIDEyOjQ2OjQ1KToKfiMhIHJuPUZlbGFndW5kIHJ0PTgzNjU5NzE3Mgp+IyEgdGlkPTgzNjU1OTY3MApXZW5uIG1hbiB6dSBtZWhyZXJlbiByZWluIGdlaHQsIGlzdCBkaWUgQ2hhbmNlIGFiZXIgd2VzZW50bGljaCBob2VoZXIsCmRhc3Mgc2ljaCBkaWUgU3BydWVjaGUgdmVydGVpbGVuLCB3YXMgbmF0dWVybGljaCBuaWNodCBoZWlzc3QsIGRhc3MgZXMKbmljaHQgdHJvdHpkZW0gcGFzc2llcmVuIGthbm4sIGRhc3MgZWluZXIgYWxsZXMgYWJiZWtvbW10LCBoYWx0IHNlaHIKc2VsdGVuLiBEYXMgaXN0IGJlaSBXYXRlciBMdWggdWVicmlnZW5zIGdlbmF1c28sIGlzdCB6d2FyIG51ciBlaW4gTW9uc3RlciwKYWJlciBlciB2ZXJ0ZWlsdCBkaWUgQXR0YWNrZW4gbmFjaCBNb2VnbGljaGtlaXQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHp1bSB0aGVtYSBtb3JkIChKYXNwZXIsICA4LiBKdWwgMTk5NiwgMTI6NDg6MDYpOgp+IyEgcm49Qm9pbmcgcnQ9ODM2ODIyODA1Cn4jISB0aWQ9ODM2NTU5NjcwCmFoYSwgYWxzbyBzdGVsbHQgbWFuIGRhIDUwZ2Flc3RlIHJlaW4gdW5kIGthbm4gaWhuIGluIHJ1aGUgcGxhZXR0ZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHp1bSB0aGVtYSBtb3JkIChBbmF0b2wsICA4LiBKdWwgMTk5NiwgMTI6NDg6NTEpOgp+IyEgcm49SmFzcGVyIHJ0PTgzNjgyMjg4Ngp+IyEgdGlkPTgzNjU1OTY3MAoKQmVpIFdhdGVyIEx1aCBnZWh0IGRhcyBsZWlkZXIgbmljaHQgOykKCkJvaW5nIGRlbiBBcnRpa2VsIGFibmVobWVuZCwKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogenVtIHRoZW1hIG1vcmQgKEphc3BlciwgIDguIEp1bCAxOTk2LCAxMjo1MTowOCk6Cn4jISBybj1BbmF0b2wgcnQ9ODM2ODIyOTMxCn4jISB0aWQ9ODM2NTU5NjcwCmthbm4gaWNoIGphIG5pY2h0IHdpc3NlbiwgaWNoIGJpbiBuaWUgYW4gZGVtIGRyYWNoZW4gdm9yYmVpZ2Vrb21tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHp1bSB0aGVtYSBtb3JkIChHcmltbWJvcm4sICA4LiBKdWwgMTk5NiwgMTI6NTI6NTUpOgp+IyEgcm49SmFzcGVyIHJ0PTgzNjgyMzA2OAp+IyEgdGlkPTgzNjU1OTY3MAoKS2FubnN0IER1IHdpc3Nlbi4gTWVociBhbHMgNSBHYWVzdGUgc2luZCBuaWNodCBkcmluLCBkYWZ1ZXIgYnJhdWNodCBtYW4ga2VpbmUKRHJhY2hlbi4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoQm90dG9tLCAgOC4gSnVsIDE5OTYsIDEyOjU2OjQ2KToKRmFjaGxldXRlIGhhYmVuIGt1ZXJ6bGljaCBoZXJhdXNnZWZ1bmRlbiwgZGFzcyBkYXMgSW50ZXJuZXQgdW5kIGRpZSBOdXR6dW5nCmRlciBkYW1pdCBnZWdlYmVuZW4gT3B0aW9uZW4gc3VlY2h0aWcgbWFjaGVuIGthbm4uIFN0YWVuZGlnZXMgTmFjaGRlbmtlbiB1ZWJlcgpkYXMgSW50ZXJuZXQsIHNlbGJzdCB3ZW5uIG5pY2h0IGdlcmFkZSBhbSBDb21wdXRlciBnZWFyYmVpdGV0IHdpcmQsCmRpYWdub3N0aXppZXJ0ZW4gc2llIGFscyBlaW5lcyB2b24gdmllciBjaGFyYWt0ZXJpc3Rpc2NoZW4gQW56ZWljaGVuIGZ1ZXIgZWluZQoiSW50ZXJuZXQtU3VjaHQiLiBBbHMgd2VpdGVyZSBTeW1wdG9tZSBkZXIgQWJoYWVuZ2lna2VpdCBlcm1pdHRlbHRlIGRpZQpHZXNlbGxzY2hhZnQgSW50ZWxsaWdlbnQgU29mdHdhcmUgTWFuYWdlbWVudCAoSVNNKSBpbiBMYW5nZW4gYmVpIEZyYW5rZnVydAprdXJ6ZSBTY2hsYWZ6ZWl0ZW4sIGRpZSBWZXJuYWNobGFlc3NpZ3VuZyB3aWNodGlnZXIgQWt0aXZpdGFldGVuIGluIEJlcnVmIHVuZgpQcml2YXRsZWJlbiBzb3dpZSBkaWUgVW5mYWVoaWdrZWl0LCBkaWUgSW50ZXJuZXQtWmVpdCB0cm90eiBndXRlciBWb3JzYWV0emUgenUKdmVycmluZ2Vybi4gRGllIFN0dWRpZSBzdHVldHp0IHNpY2ggYXVmIGVpbmUgVW50ZXJzdWNodW5nIHZvbiBldHdhIDUwMApyZWdlbG1hZXNzaWdlbiBJbnRlcm5ldC1OdXR6ZXJuIGF1cyAyNSBMYWVuZGVybi4gVm9uIGRpZXNlbiBzb2xsIGV0d2EgamVkZXIKZHJpdHRlIGRpZSBnZW5hbm50ZW4gU3VjaHQtU3ltcHRvbWUgZ2V6ZWlndCB1bmQgc2ljaCBldHdhIDIxIFN0dW5kZW4gaW4gZGVyCldvY2hlIGltIE5ldHogYXVmZ2VoYWx0ZW4gaGFiZW4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgpCb3R0b20gLSBkaWVzbWFsIGVjaHQgYmVzb3JndAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKE9ya3RvZXRlciwgIDguIEp1bCAxOTk2LCAxNDo0NDo0OSk6Cn4jISBybj1Cb3R0b20gcnQ9ODM2ODIzNDA2Cn4jISB0aWQ9ODM2ODIzNDA2Ck51ciAyMSBTdHVuZGVuIGRpZSBXb2NoZSA/ICpncnVlYmVsKiBJY2ggYmVmdWVyY2h0ZW0gaWNoIGJyaW5nZSBlcyBhdWYgbWVoci4uLgpPcmtULCBkZXIgc2ljaCBhYmVyIGltbWVyIG5vY2ggbmljaHQgaW0gTUcgYXVza2VubnQuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYSBrYW5uIG1hbiBoYWx0IG5peCBtYWNoZW4uLi4gKEJvdHRvbSwgIDguIEp1bCAxOTk2LCAxNjo1NzowNCk6CktvbWlzY2ggLSBnZWh0IG1pciBpcmdlbmR3aWUgYXVjaCBzbywgT3JrdG9ldGVyISBXb3JhbiBtYWcncyBudXIgbGllZ2VuPz8/CkJvdHRvbSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoTXVwZmVsLCAgOC4gSnVsIDE5OTYsIDE4OjE4OjUwKToKfiMhIHJuPU9ya3RvZXRlciBydD04MzY4Mjk4ODkKfiMhIHRpZD04MzY4MjM0MDYKQWxsZXMgendpc2NoZW4gMjEgU3R1bmRlbiBkaWUgV29jaGUgdW5kIDIxIFN0dW5kZW4gYW0gVGFnLCB3dWVyZCBpY2ggc2FnZW4uLi4KOi0pCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoR3JpbW1ib3JuLCAgOC4gSnVsIDE5OTYsIDE4OjI4OjIwKToKfiMhIHJuPU11cGZlbCBydD04MzY4NDI3MzAKfiMhIHRpZD04MzY4MjM0MDYKCkljaCBoYWIgZGFzIG5pY2h0IHNvIGltIEtvcGYsIGFiZXIgZGVyICJSZWtvcmQiIGltIERhdWVybXVkZGVuIGhpZXIgc3RlaHQgYmVpCmRldXRsaWNoIHVlYmVyIDMwIFN0dW5kZW4uIFVuZCBkZXJqZW5pZ2Ugd2FyIGRhbWFscyBub2NoIGFtIEVuZGUKYW5zcHJlY2hiYXIuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoTXVwZmVsLCAgOC4gSnVsIDE5OTYsIDE4OjM3OjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04MzY4NDMzMDAKfiMhIHRpZD04MzY4MjM0MDYKTWVpbiAncGVyc29lbmxpY2hlcicgUmVrb3JkIGxpZWd0IGJlaSAyNyBTdHVuZGVuLi4uIEFuYXRvbCB1bmQgU2NocnVtcGZpCmhhdHRlbiBiZWlkZSBzbyB1bSBkaWUgMzIgU3R1bmRlbiAobWVpbmVzIFdpc3NlbnMpLCB1bmQgbWVpbiBSZWtvcmR2ZXJzdWNoCidOdXIgNDggU3R1bmRlbicgc3RlaHQgbm9jaCBhdXMuLi4gKGRhcyBhYmVyIGJpdHRlIGltIEtyZWlzZSB2b24KR2xlaWNoZ2VzaW5udGVuIC0gYWxsZWluIHVlYmVybGViZSBpY2ggZGFzIG5pY2h0IDotKQoKLW11cGZlLQooY2xvbmVfb2JqZWN0KCJsIiktPm1vdmUoIm11cGZlIiwgTV9BUFBFTkQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTbyBzY2hsaW1tIHN0ZWh0IGVzIHNjaG9uLi4uIChNYWhhdG1hLCAgOC4gSnVsIDE5OTYsIDE4OjQxOjA5KToKfiMhIHJuPU11cGZlbCBydD04MzY4NDM4MzIKfiMhIHRpZD04MzY4MjM0MDYKCkF1amEsIDQ4IFN0dW5kZW4sIGljaCBiaW4gZGFiZWkuCgpNYWhhdG1hIChpc3QgYmlzaGVyIGltbWVyIHp3aXNjaGVuZHVyY2ggd2FzIGVzc2VuIGdlZ2FuZ2VuLCB3ZXN3ZWdlbiBrZWluZQpFeHRyZW16ZWl0ZW4gaW0gU3R1ZWNrIHp1c2FtbWVuZ2Vrb21tZW4gc2luZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKEdyaW1tYm9ybiwgIDguIEp1bCAxOTk2LCAxODo1NToyOSk6Cn4jISBybj1NYWhhdG1hIHJ0PTgzNjg0NDA2OQp+IyEgdGlkPTgzNjgyMzQwNgoKQ291bnQgbWUgaW4uCldlbm4gT3J0LCBaZWl0IHVuZCBlbnZpcm9ubWVudCBzdGltbWVuLCB0aGF0IGlzLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKEphc3BlciwgIDguIEp1bCAxOTk2LCAxOTo1ODo0Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM2ODQ0OTI5Cn4jISB0aWQ9ODM2ODIzNDA2Cm5hamEgaWNoIGhhdHRlIGZyZWl0YWcgYWJlbmQgMTkgdWhyIGJpcyBzb25udGFnIG1vcmdlbiA1IHVociwgYWJlciB3YXIgbmljaHQKbWVociBiZXNvbmRlcnMgZml0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoTWFuZ28sICA4LiBKdWwgMTk5NiwgMjE6MTM6NTApOgp+IyEgcm49TWFoYXRtYSBydD04MzY4NDQwNjkKfiMhIHRpZD04MzY4MjM0MDYKCgogICAgIE1haGF0bWEgbWFjaCBuZW4gVGVybWluIG5vY2ggdm9ybSBBdWd1c3QgdW5kIGljaCBiaW4gZGFiZWkgOykuCgoKTWFuZ28sIGdhcmFudGllcnQgTXVkc3VlY2h0aWcuCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKEJvbmksICA5LiBKdWwgMTk5NiwgMTI6MjQ6MjkpOgp+IyEgcm49TWFuZ28gcnQ9ODM2ODUzMjMwCn4jISB0aWQ9ODM2ODIzNDA2CgoKRGFubiB3ZXJkZXQgaWhyIG5lYmVuYmVpIG5vY2ggS2FmZmVlc3VlY2h0aWcuLi4KCgpCb25pLCBNdXNpa2FsaXNjaHN0ZXIgYWxsZXIgV3Vyc3RzZWhlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKFNjaHJ1bXBmaSwgIDkuIEp1bCAxOTk2LCAxODozOTowOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM2ODQzMzAwCn4jISB0aWQ9ODM2ODIzNDA2Ck1laW4gUmVrb3JkIGxpZWd0IGJlaSAzOCBTdHVuZGVuIHVuZCBTY2huYXJjaCBoYXQgc29nYXIgbWFsIHVlYmVyIDQwIHp1c2FtbWVuCmdlYnJhY2h0IDotKQpTY2hydW1wZmkgdW50ZXJsaWVndCBmYXN0IGplZGVyIFN1Y2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoU251Z2dsZSwgMTAuIEp1bCAxOTk2LCAxMTo0Nzo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM2ODQ0OTI5Cn4jISB0aWQ9ODM2ODIzNDA2Cm1hY2hlbiB3aXIgbmVuIHZlcnN1Y2ggZnVlcnMgZ3Vpbm5lc3MtYnVjaD8KaWNoIGJpbiBkYWJlaSA6LSkKClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKFZhbmlyLCAxMC4gSnVsIDE5OTYsIDEyOjA3OjQwKToKfiMhIHJuPVNudWdnbGUgcnQ9ODM2OTkyMDYzCn4jISB0aWQ9ODM2ODIzNDA2CkhpIEZvbGtzLAoKQXUgamEsIEd1aW5uZXNzLXJla29yZCB2ZXJ1c2NoZW4gd2FlciBrbGFzc2UsIHVuZCBzY2h3ZXIgd2FlcnMgamEgYXVjaCBuaWNodDoKbWFuIGJyYXVjaHQgamEgbnVyIG5lbiBSYXVtLCB2aWVsIGdldHJhZW5rZSwgbmVuIGd1dGVuIFBpenphLVNlcnZpY2UgdW5kIGFlaAooYWNoIGphKSBuZW4gcGFhciBJbnRlcm5ldC1mYWVoaWdlIENvbXB1cy4KCk5lIGFiZXIgbWFsIGltIGVybnN0LCBkYXMgd2FlcmUgbmVuIFJla29yZCB3ZXJ0LCB3ZXIga3VlbW1lcnQgc2ljaCBkZW5uIGRhCm1hbCBkcnVtID8KCkljaCB3dWVyZCBhdWNoIG1pdG1hY2hlbi4KCnZhbmlyIC0gZGVyIHp3YXIgbm9jaCBuaWUgNDBoIGdlc2NoYWZmdCBoYXQsIGFiZXIgc2Nob24gMiBtYWwgaW4gZWluZXIgd29jaGUKMzBoCgpUaGF0cyBhbGwgZm9sa3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTbyBzY2hsaW1tIHN0ZWh0IGVzIHNjaG9uLi4uIChMb2NvLCAxMC4gSnVsIDE5OTYsIDE0OjI3OjMxKToKfiMhIHJuPVZhbmlyIHJ0PTgzNjk5MzI2MAp+IyEgdGlkPTgzNjgyMzQwNgpFaW4gaGllc2lnZXIgTXVkZGVyIChuaWNodCBNb3JnZW5ncmF1ZW4pIGhhdCBlaWdlbmVuIEFuZ2FiZW4genVmb2xnZSBzY2hvbgplaW5tYWwgZGVuIFRlcm1pbmFscmF1bSBlaW5lIFdvY2hlIGxhbmcgbnVyIHp1bSBFc3NlbiB2ZXJsYXNzZW4uCk1laW5lciBNZWludW5nIHdhZXJlIGVzIGZ1ZXIgaWhuIHN0YXR0ZGVzc2VuIGJlc3NlciBnZXdlc2VuLCBlaW5lIFdvY2hlIGxhbmcKZGVuIFRlcm1pbmFscmF1bSBnYXIgbmljaHQgenUgYmV0cmV0ZW4uCgpHYW56IGVocmxpY2g6IEljaCBkZW5rZSwgZGFzcyBkaWVzZXIgUmVrb3JkIG5hY2ggZGVuIGFrdHVlbGxlbiBSZWdlbG4gaW5zCkd1aW5lc3NidWNoIG5pY2h0IGVpbmdldHJhZ2VuIHdlcmRlbiBkYXJmOiBHZXN1bmRoZWl0c2dlZmFlaHJkZW5kZSBSZWtvcmRlCndlcmRlbiBuYWVtbGljaCBuaWNodCBtZWhyIGFremVwdGllcnQuIE5hIGphLCBldXJlIFNhY2hlLi4uCgpMb2NvLApoYXQgZXMgbmllIGF1ZiBtZWhyIGFscyAxOCBTdHVuZGVuIGdlYnJhY2h0IHVuZCBrZWluZSBBbWJpdGlvbmVuLCBkYXMgenUKZXJob2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHdWlubmVzcyAoRWxyaWMsIDEwLiBKdWwgMTk5NiwgMTU6NDk6MDIpOgoKSWNoIGZpbmQnIEd1aW5uZXNzLUdldHJhZW5rZSBzb3dpZXNvIHZpZWwgYmVzc2VyIGFscyBHdWlubmVzcy1CdWVjaGVyLi4uClNjaHJlaWJlbiBrb25udGVuIGRpZSBJcmVuIGVoJyBub2NoIG5pZSAoc2llaGUgSm95Y2UsIGhhaGEpLi4uCkp1c3QgbXkgdHdvIGZhcnRoaW5ncy4KRWxyaWMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3QgYW0gMTEuNy4gKEpvZiwgMTEuIEp1bCAxOTk2LCAwOTo1MTowOCk6CgogQW0gMTEuNy4gZ2VnZW4gMTMuNTUgZmluZGVuIFdhcnR1bmdzYXJiZWl0ZW4gYW0gU3Ryb21uZXR6IGRlciA2LiBFdGFnZQpkZXMgbWF0aC4gSW5zdC4gZGVyIFdXVSBNdWVuc3RlciBzdGF0dC4gVS5hLiB3aXJkIGRhYmVpIGF1Y2ggZGVyIFN0cm9tCmZ1ZXIgTUcgYWJnZXNjaGFsdGV0LiBEZXIgQXVzZmFsbCB3aXJkIGNhIDYwIE1pbnV0ZW4gZGF1ZXJuLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCBhbSAxMS43LiAoR3JpbW1ib3JuLCAxMS4gSnVsIDE5OTYsIDA5OjUzOjQ5KToKfiMhIHJuPUpvZiBydD04MzcwNzE0NjgKfiMhIHRpZD04MzcwNzE0NjgKCkhtbSwgd2VubiBkYXMgbmljaHQgYW5nZWt1ZW5kaWd0IHdhZXJlIHd1ZXJkZSBlcyB2ZXJtdXRsaWNoIGthdW0gZWluZXIgZ2VtZXJrdApoYWJlbiB1bmQgZGFzIGdhbnplIHdhZXJlIGZ1ZXIgZGFzIHVlYmxpY2hlIGxhZyBnZWhhbHRlbiB3b3JkZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgYW0gMTEuNy4gKFJvY2h1cywgMTEuIEp1bCAxOTk2LCAxMzoxNTo0OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODM3MDcxNjI5Cn4jISB0aWQ9ODM3MDcxNDY4CkRlc3dlZ2VuIHd1cmRlIGVzIGphIGF1Y2ggYW5nZWt1ZW5kaWd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgYW0gMTEuNy4gKFBpbGdyaW0sIDExLiBKdWwgMTk5NiwgMTM6NDQ6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTgzNzA3MTYyOQp+IyEgdGlkPTgzNzA3MTQ2OApXYXMgZnVlciBlaW4gTGFnID8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHdWlubmVzcyAoTHVnLCAxMS4gSnVsIDE5OTYsIDIwOjQ2OjEzKToKfiMhIHJuPUVscmljIHJ0PTgzNzAwNjU0Mgp+IyEgdGlkPTgzNzAwNjU0MgpMaWViZXIgRWxyaWMsCgptYW4gc29sbHRlIERpciBtYWwgc28gZWJlbiBkZW4gS29wZiBhYnJlaXNzZW4gZnVlciBEZWluZSBhbnRpLWlyaXNjaGVuCkJlbWVya3VuZ2VuLiBBYmVyIHNlbGJzdCB3ZW5uIGljaCBlcyBhbHMgU2NoZXJ6IGJldHJhY2h0ZSwgZGFubiBzb2xsdGVzdCBEVQpiZW1lcmtlbiwgZGFzcyBkaWUgSXJlbiBiZXJlaXRzIGltIDguIEpoLiBlaW5lIGF1c2dlcHJhZWd0ZSBTY2hyaWZ0a3VsdHVyCmVudHdpY2tlbHQgaGF0dGVuLiBEZWluIFByb2JsZW0gaXN0LCBkYXNzIER1IGtlaW5lbiBTY2hpbW1lciB2b24gaXJpc2NoZXIKTGl0ZXJhdHVyIGhhc3QsIGFiZXIgZGFzIHJlbGF0aXYgZnJpc2NoZSBPeGZvcmQgRGljdGlvbmFyeSBvZiBJcmlzaCBMaXRlcnR1cmUKa29lbm50ZSBEZWluZW4gYmVzY2hyYWVua3RlbiBIb3Jpem9udCBzY2huZWxsIGVyd2VpdGVybiEKClVwIHRoZSBSZWJlbHMhCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNpdHRlbiBzaW5kIGRhcy4uLiAoSmltZGlncml6LCAxMi4gSnVsIDE5OTYsIDE4OjM0OjIxKToKCnp1ZXJzdDoKCkFzaW0ga29tbXQgYW4uCltNb2VyZGVyOkdlaXN0IGVpbmVzIFNjaGxlaW1kcmFjaGVuXSBOYWVjaHN0ZXMgTWFsIGJyaW5nIG1pciBsaWViZXIgUG9zdCBzdGF0dApbTW9lcmRlcjpHZWlzdCBlaW5lcyBTY2hsZWltZHJhY2hlbl0gbWljaCB6dSBlcm1vcmRlbiwgR2FiaSEKVmVybmljaHRlciBrcmFlY2h6dDogLi4uIGtycnJvb29hYWEgLi4uIEhhbGxvIEFzaW0gLi4uCltBbGxnZW1laW46SmltRGlHcml6XSBhYWFhYWFyZ2wKSmltRGlHcml6IHNjaGllc3N0IGluIGVpbmVyIFN0YXViZXhwbG9zaW9uIGF1cyBkZXIgRXJkZS4KQXNpbSBuaW1tdCAyMDAwMCBNdWVuemVuLgpKaW1EaUdyaXogc2NobHVlcmZ0IGVpbmVuIENhbXBhcmkgT3JhbmdlLCBkZXIgd2lya2xpY2ggZ3V0IHp1IHNlaW4gc2NoZWludC4KCltELWNoYXQ6RG9udXRAQXZhbG9uXSAxMzcuMjQ4LjEuNiAyMDUwIDopCltNb2VyZGVyOkdlaXN0IEFiZHVsIEFsIEhhenJldHNdIEVpbiBLb2VuaWdyZWljaCBmdWVyIGRlbiwgZGVyIG1pciBkZW4gS29wZgpbTW9lcmRlcjpHZWlzdCBBYmR1bCBBbCBIYXpyZXRzXSB2b24gT3JrdG9ldGVyIGJyaW5ndCEKSmltRGlHcml6IGZhZWhydCBpbiBkZW4gQm9kZW4uIEVpbiBFcmRiZWJlbiBicmVpdGV0IHNpY2ggbmFjaCBOb3JkZW4gYXVzLgpWZXJuaWNodGVyIGtyYWVjaHp0OiBrcnJvb2FhIC4uLiBJY2ggaGFzc2UgS2xlaW5nZWlzdGVyIQpBc2ltIGdlaHQgbmFjaCBOb3JkZW4uCgoga3VyeiBkYXJhdWY6CgpbVG9kOkxhcnNdIEVpbiBTY2hhdHRlbm1hbm4gaGF0IGdlcmFkZSBBc2ltIHVtZ2VicmFjaHQuCgp3b2JlaSBpY2ggbWlyIGRpZSBtdWVuemVuIHdpZWRlcmhvbHRlLCBkYW5uLi4uLgoKCltBbGxnZW1laW46QXNpbV0gYmVpbGVpZCB3YXMgbGFlc3N0IGR1IGRpZSBrb2hsZSBhdWNoIGluIGRlciBnZWduZCBydW1saWVnZW4KW0FsbGdlbWVpbjpBc2ltXSAuLi4KQXNpbSBrb21tdCBhbi4KQXNpbSBuaW1tdCAzMDAwMCBNdWVuemVuLgpKaW1EaUdyaXogc2FndDogSEVZCkFzaW0gaGF0IGdlcmFkZSBkaWUgVmVyYmluZHVuZyB6dSBNb3JnZW5HcmF1ZW4gZ2VrYXBwdC4KUGxvZXR6bGljaCB3ZWljaHQgYWxsZXMgTGViZW4gYXVzIEFzaW0uCkFzaW0gaGF0IGdlcmFkZSBkYXMgTW9yZ2VuR3JhdWVuIHZlcmxhc3Nlbi4KCgpGcmVjaGhlaXQgc293YXMgOigKCkppbSBkaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFydGlrZWwgdm9uIGVpbmVtLCBkZXIgTWFnaWVyIHdlcmRlbiB3b2xsdGUgLi4uIChDYXVubywgMTUuIEp1bCAxOTk2LCAxMzozNzowOCk6CgpXYXMgaW4gZGVyIGxldHp0ZW4gWmVpdCBzbyBpbiBkZXIgWmVpdHVuZyBzdGVodCwgbWFjaCBtaWNoIGRvY2ggamV0enQgc2VocgpuYWNoZGVua2xpY2guIFVuZCBkYW1pdCBtZWluZSBpY2ggbmljaHQgbnVyIGRpZSBSTC1aZWl0dW5nLCBkYXMgaXN0IGtsYXIuCk5vcm1hbGVyd2Vpc2UgaG9lcnQgbWFuIGphIG5pY2h0IHZpZWwgdm9uIG1pciAoc28gaG9mZmUgaWNoIGRvY2gpLCBpY2gKc2NocmVpYmUgZWlnZW50bGljaCBudXIsIHdlbm4gbWljaCBldHdhcyB3aXJrbGljaCBzdG9lcnQuIFVuZCBqZXR6dCBpc3QgZXMgc28Kd2VpdC4KCkluIGxldHp0ZXIgWmVpdCB3aXJkIGhpZXIgbWl0IHNvdmllbCBTY2hsYW1tIGdld29yZmVuLCBkYXNzIGVzIG1pY2ggd3VuZGVydCwKZGFzcyBpY2ggZGllIFdlZ2UgdWViZXJoYXVwdCBub2NoIGZpbmRlbiBrYW5uLiBVbSBlcyBnZW5hdWVyIHp1IHNhZ2VuOgpEYSB6aWVoZW4gZGllIFNwaWVsZXIgdWViZXIgZGllIE1hZ2llciBoZXIsIHVuZCB1bmdla2VocnQsIGF1Y2ggdW50ZXJlaW5hbmRlcgp3aXJkIHdlbmlnIGRhdm9yIGhhbHQgZ2VtYWNodC4gRXMgd2VyZGVuIHNvZ2FyIHNjaG9uIExldXRlIGV4cGxpeml0IHZvbgpUcmVmZmVuIEFVU2dlbGFkZW4uIFVuZCB3ZW5uIGVpbmVyIG1hbCBlaW5lIGVpbmZhY2hlIEFuZnJhZ2Ugc3RlbGx0LCBrb21tZW4KZ2xlaWNoIEFudHdvcnRlbiBkYXJhdWYsIGRpZSBzaWNoIGRhcnVlYmVyIGVudHdlZGVyIGx1c3RpZyBtYWNoZW4sIG9kZXIKYW5zb25zdGVuIHdlbmlnIGtvbnN0cnVrdGl2ZXMgYmVpdHJhZ2VuLgpWb3IgZWluZW0gSkFociB3YXIgZXMsIG1laW5lIGljaCwgbm9jaCBuaWNodCBzbyB3ZWl0LgpJY2ggc2NocmVpYmUgZGFzLCB3ZWlsIGljaCB1cnNwcnVlbmdsaWNoIHZvcmhhdHRlLCBnZWdlbiBFbmRlIGRlcyBKYWhyZXMKTUFnaWVyIHp1IHdlcmRlbi4gRWluaWdlIElkZWVuIGhhYmUgaWNoIHNvZ2FyIHNjaG9uLCB3YXMgbWFuIGltIE1VRCBub2NoCmVyZ2FlbnplbiBrb2VubnRlLCBhdWNoIGFuIFF1ZXN0ZW4sIHNvZmVybiBhbmRlcmUgZGFtaXQgZWludmVyc3RhbmRlbiBzZWluCndlcmRlbi4KQWxsZXJkaW5ncyBiZXdlZ3QgbWljaCBkZXIgV2luZCwgZGVyIGRlcnplaXQgaGllciBoZXJyc2NodCwgaW1tZXIgbWVociB6dW0KVW1kZW5rZW4uIFNpbmQgZGllIE1hZ2llciBiZWkgZGVuIFNwaWVsZXJuIHdpcmtsaWNoIHNjaG9uIHNvIHNjaGxlY2h0CmFuZ2VzZWhlbiwgd2llIGVzIGRlbiBBbnNjaGVpbiBoYXQ/IFVuZCBuYWNoIGRlbSwgd2FzIG1hbiBzbyBhdXMgZGVuIG9iZXJlbgpFdGFnZW4gaG9lcnQsIGJla29tbXQgbWFuIGRhcyBHZWZ1ZWhsLCBkaWUgR29ldHRlcmRhZW1tZXJ1bmcgc3RlaHQga3VyeiBiZXZvci4KQW5kZXJlcnNlaXRzIHNpbmQgZWluaWdlIFN0ZWxsZW4gZGVzIE1VRHMgaW1tZXIgbm9jaCBldHdhcyBpbSBhcmdlbiwgc28gZGFzcwppY2ggZ2VybmUgdmVyc3VjaGVuIHd1ZXJkZSwgZGFiZWkgenUgaGVsZmVuLCBzaWUgenUgcmVwYWVyaWVyZW4sIG9kZXIgenUKdmVyYmVzc2Vybiwgd2VubiBtYW4gbWljaCBsYWVzc3QuCgpOdXIgYmVrb21tZSBpY2ggZGllIEJlZnVlcmNodHVuZywgd2VubiBpY2ggZWlubWFsIGRhbWl0IGFuZmFuZ2UsIGRhc3MgaWNoIG1pdApGbGFtZXMgdm9uIGFsbGVuIFNlaXRlbiByZWNobmVuIG11c3MuIEljaCB3ZXJkZSBsYW5nc2FtIHNlaHIgdW5zaWNoZXIsIG9iIGVzCnNpY2ggbm9jaCBsb2hudCwgaGllciB1ZWJlcmhhdXB0IG5vY2ggc2VpbmVuIGd1dGVuIFdpbGxlbiBoaW5laW56dXN0ZWNrZW4uCkxvaG50IGVzIHNpY2ggbm9jaCwgc2VpbmUgWmVpdCB6dSBvcGZlcm4sIHVtIGFuZGVyZW4gZGllc2VsYmUgenUgdmVydHJlaWJlbj8KClZpZWxsZWljaCBrYW5uIG1pY2ggamVtYW5kIHZvbiBtZWluZW4gWndlaWZlbG4gYmVmcmVpZW4uCk9kZXIgaXN0IGVzIGRhZnVlciBzY2hvbiB6dSBzcGFldD8KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhdSBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogenVtIHRoZW1hIG1vcmQgKE9nbHksIDE1LiBKdWwgMTk5NiwgMTQ6MDk6NTMpOgp+IyEgcm49Qm9pbmcgcnQ9ODM2ODIyODA1Cn4jISB0aWQ9ODM2NTU5NjcwCkhhbGxvIHp1c2FtbWVuLAphbHNvIG1pciBpc3QgZXMgc2Nob24gZGVzIG9lZnRlcmVuIHBhc3NpZXJ0LApkYXNzIGljaCBtaXQgZnJldW5kZW4gYXVmIG5lbiBtb25zdGVyIGxvc2dlZ2FuZ2VuIHNpbmQsCmRhcyBhdXRvYXR0YWNrIHdhci4gZGFubiBpc3QgbnVyIGRlciBzcGllbGVyIGFuZ2VncmlmZmVuIHdvcmRlbiwKZGVyIGRhcyBwZWNoIGhhdHRlLCB6dWVyc3QgZHJpbiB6dSBzZWluLiBkaWUgYW5kZXJlbiBtdXNzdGVuIGVyc3Qgbm9jaCBlaW4KJ3RvZXRlIHh5JyBlaW5nZWJlbi4gZGFzIHdhciBkYW5uIHdvaGwgZWluIGJ1Zywgb2RlciB3aWUgc2VoZSBpY2ggZGFzPwoKbWVpbmUgMiBudXllbiB6dSBkZW0gdGhlbWEgJ2luIGdydXBwZW4gYW5ncmVpZmVuJwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogenVtIHRoZW1hIG1vcmQgKEFuYXRvbCwgMTUuIEp1bCAxOTk2LCAxNDoxMToyNyk6Cn4jISBybj1PZ2x5IHJ0PTgzNzQzMjU5Mwp+IyEgdGlkPTgzNjU1OTY3MAoKTmFqYSwgZGVuayBtYWwgbmFjaC4uLgpXZW5uIER1IGVpbiBNb25zdGVyIHdhZXJzdCB1bmQgdmllciBnZW1laW5lIFNwaWVsZXIgenUgRGlyIGtvbW1lbiB3dWVyZGVuLAp3dWVyZGVzdCBEdSBzaWUgZWluemVsbiBvZGVyIGdsZWljaHplaXRpZyBuaWVkZXJrbnVlcHBlbG4/CgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCB2b24gZWluZW0sIGRlciBNYWdpZXIgd2VyZGVuIHdvbGx0ZSAuLi4gKFRvZXRlciwgMTUuIEp1bCAxOTk2LCAxNTozODozNSk6Cn4jISBybj1DYXVubyBydD04Mzc0MzA2MjgKfiMhIHRpZD04Mzc0MzA2MjgKQWxzbyBlcnN0bWFsOiBHbGF1YiBuaWNodCBhbGxlcyB3YXMgaW4gZGVyIFplaXR1bmcgc3RlaHQgOikgSGllciBrYW5uIG5hZW0tCmxpY2ggamVkZXIsIHdpZSBlciBsdXN0aWcgaXN0LCBBcnRpa2VsIHNjaHJlaWJlbiwgZGllIHdlZGVyIHNhY2hsaWNoIHJpY2h0aWcsIApub2NoIGluIGlocmVyIEtyaXRpayBhdXNnZXdvZ2VuIHNlaW4gbXVlc3Nlbi4gRXMga29lbm5lbiBhbGxlIHNjaHJlaWJlbiwgYWJlciAKbmljaHQgYWxsZSAoZ2VuYXVlciBnZW5vbW1lbiBudXIgc2VociB3ZW5pZ2UpIHR1biBlcyBhdWNoLiBJY2ggd2FlcmUgZGFoZXIgCmF1Y2ggYWV1c3NlcnN0IHZvcnNpY2h0aWcsIGRpZSB2b24gZGllc2VuIExldXRlbiBzdGFtbWVuZGVuIEF1ZmZhc3N1bmdlbiBhbHMgCnJlcHJhZXNlbnRhdGl2IHp1IGJldHJhY2h0ZW4uIEF1c3NlcmRlbSBzY2hyZWlic3QgRHUgc2VsYnN0LCBkYXNzIER1IG51ciBldHdhcwppbiBkZXIgWmVpdHVuZyB2ZXJvZWZmZW50bGljaHN0LCB3ZW5uIERpY2ggZXR3YXMgc3RvZXJ0LiBMb2IgZnVlciB3dWVuc2NoZW5zLQp3ZXJ0ZSBadXN0YWVuZGUgKHZvbiBkZW5lbiBlcyBoaWVyIG1laW5lciBNZWludW5nIG5hY2ggaW1tZXIgbm9jaCBnZW51ZWdlbmQgCmdpYnQpIHdpcmQgZXJmYWhydW5nc2dlbWFlc3MgZWhlciBwZXJzb2VubGljaCBtaXRnZXRlaWx0IC0gbWFuIGthbm4gc2ljaCAKdWViZXJsZWdlbiwgd29yYW4gZGFzIGxpZWdlbiBtYWcuIEVpbiBnZXNhbXRoZWl0bGljaGVzIEtsaW1hIGltIE1HIGF1c21hY2hlbiAKenUgd29sbGVuLCB1bSBkYW5hY2ggc2VpbiBWZXJoYWx0ZW4genUgcmVnZWxuIGhhbHRlIGljaCBmdWVyIGdlbmF1c28gZmFsc2NoIAp3aWUgdW5tb2VnbGljaC4gV2VubiBEdSBldHdhcyBtYWNoZW4gd2lsbHN0LCB3YXMgYWxsZ2VtZWluZW4gTnV0emVuIGJyaW5ndCwgCndpcnN0IER1IHNpY2hlciBuaWNodCBhbGxlaW4gYXVmIHdlaXRlciBGbHVyIHN0ZWhlbi4gRGlza3Vzc2lvbiB1ZWJlciBhZW4tCmRlcm5zd2VydGUgWnVzdGFlbmRlIGlzdCBhdWYgamVkZW4gRmFsbCBub2V0aWcsIGFiZXIgZGllIFplaXR1bmcgZWlnbmV0IHNpY2ggCmRhYmVpIGluIGRlciBSZWdlbCBsZWRpZ2xpY2ggYWxzIEF1c2xvZXNlci4gQmVkZXV0ZW5kIGdyb2Vzc2VyIGlzdCBtRSBkZXIgCkFudGVpbCBkZXIgQXJ0aWtlbCwgZGVyZW4gQXV0b3JlbiBzaWNoIGF1ZiBLb3N0ZW4gZGVyIEFsbGdlbWVpbmhlaXQgKHVuZCAKaGFldWZpZyBtaXQgbWFya2lnZW4gU3BydWVjaGVuIGdlZ2VuIGRpZSBVbmdlcmVjaHRpZ2tlaXQgdm9uIG9iZW4pIGFscyBNZWktCm51bmdzdHJhZWdlciBwcm9maWxpZXJlbiB3b2xsZW4sIGFuc3RhdHQgd2lya2xpY2gga29uc3RydWt0aXZlIFZvcnNjaGxhZWdlIHp1IApsZWlzdGVuOyB1bmQgZGllc2UgTGV1dGUgd2VyZGVuIGF1ZiBEYXVlciBhdWNoIG5pY2h0IGVybnN0IGdlbm9tbWVuLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ5ZGVyIGJyYXVjaHRuIFZvcnRyYWNoLiAoRnJ5ZGVyLCAxNS4gSnVsIDE5OTYsIDE5OjA3OjEzKToKSGFsbG8sIE11ZGRpZXMuCgpJY2ggaGFiZSBsZWlkZXIgZWluZSBsZWljaHRlIEthcnRlIGdlem9nZW46IE5hZWNoc3RlbiBNb25hdCBzb2xsIGljaCBlaW5lbgplaW5mdWVocmVuZGVuIEdydW5kbGFnZW52b3J0cmFnIHVlYmVyIGRhcyBJbnRlcm5ldCBoYWx0ZW4gdW5kIGhhYmUgZXR3YXMKUHJvYmxlbWUgbWl0IGRlciBWb3JiZXJlaXR1bmcuIEFscyBhcmJlaXRlbmRlciBNZW5zY2ggbXVlc3N0ZSBpY2ggZGFzIGFiZW5kcwpuYWNoIG1laW5lIG5lcnZsaWNoIGF1ZnJlaWJlbmRlbiBBcmJlaXQgbWFjaGVuIHVuZCwgZGFkdXJjaCwgZGFzcyBpY2gga2VpbmVuCkNvbXB1dGVyIGhhYmUsIGlzdCBhdWNoIGRpZSBTYWNoZSBtaXQgZGVuIEZvbGllbiBuaWNodCBsZWljaHQuIE1laW5lIEZyYWdlOgpIYXQgamVtYW5kIGluIGxldHp0ZXIgWmVpdCBlaW5lbiBkZXJhcnRpZ2VuIFZvcnRyYWcgZ2VoYWx0ZW4vZ2Vob2VydCB1bmQKa29lbm50ZSBlaW4gZ3JvYmVzIEtvbnplcHQgdWRuIGVpbiBwYWFyIEZvbGllbiBrb3BpZXJlbi9hYmdlYmVuL2Jlc29yZ2VuPyBJY2gKd2FlcmUgd2lya2xpY2ggc3VwZXJkYW5rYmFyLiBXaWUgZ2VzYWd0LCBkaWUgU2FjaGUgc29sbCBudXIgdW0gR3J1bmRsYWdlbgpnZWhlbjogR2VzY2hpY2h0bGljaGUgRW50d2lja2x1bmcsIEFud2VuZHVuZ2VuLCBNdXN0ZXJzaXR6dW5nLCBBbmJpZXRlciB1ZG4KdmllbGxlaWNodCBub2NoIFp1a3VuZnRzYXVzc2ljaHRlbi4KCkJpdHRlIG1laGx0IG1pY2ggYW4gb2RlciBydWZ0IGVpbmZhY2ggYWJlbmRzIGFuIHVudGVyIDAyMjAzLTI5NDc5Ny4KClZpZWxlbiwgaGVpc3NlbiBEYW5rIGltIFZvcmF1cy4gCgpNY0ZyeWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcnRpa2VsIHZvbiBlaW5lbSwgZGVyIE1hZ2llciB3ZXJkZW4gd29sbHRlIC4uLiAoV3VyemVsLCAxNS4gSnVsIDE5OTYsIDE5OjM4OjAzKToKfiMhIHJuPVRvZXRlciBydD04Mzc0Mzc5MTUKfiMhIHRpZD04Mzc0MzA2MjgKaGFsbG8sCmRpZSBhbnR3b3J0IGF1ZiBjYXVubyBpc3QgbmljaHQgZ2FueiBsZWljaHQuIGplZGVuZmFsbHMgbmljaHQgc28gbGVpY2h0LAp3aWUgZXMgc2ljaCB0b2V0ZXIgbWFjaHQuIGVzIGlzdCBlYmVuIG5pY2h0IGFsbGVzIGVpdGVsIHNvbm5lbnNjaGVpbiBoaWVyLAp1bmQgZGllIHplaXR1bmcgc3BpZWdlbHQgbnVyIHdpZWRlciwgd2FzIGluc2dlc2FtdCBsb3MgaXN0IGltIG11ZC4gZGFzCmdlbmVyZWxsIGFienVxdWFsaWZpemllcmVuIHVuZCB6dSBzYWdlbiwgd2VyIGRhIHdhcyBkcmluIHNjaHJlaWJ0LCBpc3QgCnNvd2llc28gbmljaHQgZXJuc3R6dW5laG1lbiwgemV1Z3Qgdm9uIGRlbSBrbGltYSwgZGFzIGhpZXIgbW9tZW50YW4gaGVycnNjaHQuCmVzIGhhYmVuIG1laW5lcyB3aXNzZW5zIGVpbmlnZSBtYWdpZXIgZGFzIG11ZCB2ZXJsYXNzZW4sIHdlaWwgZXMgaWhuZW4gaGllcgp6dSBzY2hsaW1tIHd1cmRlLCB1bmQgemFobHJlaWNoZSBzcGllbGVyIGViZW5mYWxscy4gZGFiZWkgemFlaGxlIGljaCBkaWUKc3BpZWxlciBtaXQsIGRpZSBudXIgbm9jaCBydW1zdGVoZW4gdW5kIGNoYXR0ZW4uIGFiZXIgbWFsIG5hY2hnZWRhY2h0OiB3YXMKYmVkZXV0ZXQgZGFzIGVpZ2VudGxpY2g/IHdlbm4gZGllIGxldXRlLCBkZW5lbiBoaWVyIHNvIG1hbmNoZXMgYXVmIGRpZQpuZXJ2ZW4gZ2VodCwgZWluZmFjaCBhdWZob2VyZW4sIHdpcmQgbmljaHRzIGJlc3NlciBkYXZvbi4gaW1tZXJoaW4gaGF0IGRhcwptdWRkZW4gZG9jaCBtYWwgc3Bhc3MgZ2VtYWNodCwgb2RlciBuaWNodD8gdW5kIGVzIGthbm4gd2VpdGVyIHNwYXNzIG1hY2hlbi4KYWJlciBudXIgZGFubiwgd2VubiBtYW4gZGFiZWlibGVpYnQsIGluc2Jlc29uZGVyZSBkaWVqZW5pZ2VuLCBkaWUgc2ljaAphdWNoIGVuZ2FnaWVyZW4uIGRlbm4gbnVyIHdlbm4gbWFuIHNpY2ggZW5nYWdpZXJ0LCBrYW5uIG1hbiBkaWUgenVzdGFlbmRlCnZlcmJlc3Nlcm4uIHVuZCBlcyBsb2hudCBzaWNoLiBpY2ggZGVua2UsIGJlaSBjYXVubyBpc3QgZGVyIGtlcm4gZGVzc2VuLCB3YXMKZGFzIG11ZCBicmF1Y2h0LCBhYnNvbHV0IHZvcmhhbmRlbjogZGVyIHdpbGxlIGJ6dy4gd3Vuc2NoLCBldHdhcyB6dW0KcG9zaXRpdmVuIGhpbiB6dSBiZXdlZ2VuLiBudXIgenUsIGF1Y2ggd2VubiBlcyBnZWxlZ2VudGxpY2ggd2lkZXJzdGFlbmRlIGdpYnQuCgp3dXJ6ZWwgKHN1Y2h0IGltbWVyIGZyZWl3aWxsaWdlIG1hZ2llciwgZGllIGhlbGZlbiB3b2xsZW4gZGllIGRlc29sYXRlCiAgICAgICAgdW50ZXJ3ZWx0IHp1IHZlcmJlc3Nlcm4gOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGltYWthdGFzdHJvcGhlIChUb2V0ZXIsIDE1LiBKdWwgMTk5NiwgMjE6MTM6MzQpOgpIaSwgCmVzIHdhciBuaWNodCBtZWluZSB2b3JkZXJzdGUgQWJzaWNodCwgYWxsZXMsIHdhcyBpbiBkZXIgWmVpdHVuZyBzdGVodCBhbHMgClVuc2lubiBoaW56dXN0ZWxsZW4uIERpZSBGcmFnZSwgd2llIGVpbiAic2NobGVjaHRlcyBLbGltYSIgZW50c3RlaHQsIHd1cmRlCm51ciBnZWdlbnVlYmVyIGRlciwgd2llIG1hbiBkYW1pdCB1bWdlaGVuIHNvbGwsIHp1IHNlaHIgdmVybmFjaGxhZXNzaWd0LiBVbmQgCndlbm4gbWFuIHNpZWh0LCBkYXNzIGluIGVyc3RlciBMaW5pZSBudXIgdW0gZGllIGFsdGVuIFplaXRlbiBnZXRyYXVlcnQgd2lyZCwgCmFscyBkaWUgUGluZ3VpbmUgbm9jaCBmcmVpIHNwcmVjaGVuIGtvbm50ZW4sIHVuZCBzaWNoIGVpbmUgZW50c3ByZWNoZW5kZSAKTGFlaG11bmcgYnJlaXQgbWFjaHQgKFdhbm4gaGF0dGVuIHdpciBlaWdlbnRsaWNoIG1hbCBleHBsaXppdCBndXRlcyBLbGltYT8gCkhhYiBpY2ggbm9jaCBuaWUgd2FzIHZvbiBnZWxlc2VuIDopLCBkYW5uIG11c3MgZGllIEtvbnNlcXVlbnosIGRhbWl0IHVlYmVyLQpoYXVwdCBtYWwgZXR3YXMgaW4gR2FuZ2Uga29tbXQsIGRpZSBzZWluLCBkYXNzIG1hbiBoYWx0IGVyc3RtYWwgc2FndDogClNjaGVpc3MgYXVmcyBLbGltYSwgaWNoIG1hY2hlLCB3YXMgaWNoIHdpbGwuIFVuZCBtYWwgZWhybGljaDogU2luZCB3aXIgZGVubiAKc28gc2NobGltbSBkYWJlaSwgZGFzcyBzaWNoIG5pY2h0cyBtZWhyIGJld2VnZW4gbGFlc3N0PyBJY2ggbWVpbmUgbmljaHQuCiAgVG9ldGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJ5ZGVyIGJyYXVjaHRuIFZvcnRyYWNoLiAoUXVhc2ltb2RvLCAxNi4gSnVsIDE5OTYsIDAxOjI2OjA2KToKfiMhIHJuPUZyeWRlciBydD04Mzc0NTA0MzMKfiMhIHRpZD04Mzc0NTA0MzMKSG1tLCB3ZW5uIGplbWFuZCBzb2xjaGVzIE1BdGVyaWFsIHp1ZmFlbGxpZyBpbiBlbGVrdHJvbmlzY2hlciBGb3JtIGhhdCwgZGFubgp3YWVyZSBpY2ggYXVjaCBzZWhyIGRhbmtiYXIgZnVlciBzb3dhcy4gSWNoIHNjaHJlaWIgbmFlbWxpY2ggZ2VyYWRlIGVpbmVuCkJlcmljaHQgZGFydWViZXIuIFNjaGVpbnQgamEgTW9kZSB6dSB3ZXJkZW4uLi4KClF1YXNpbW9kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSU5URVJORVQtRlVTU0JBTEwtTElHQSAoQmFtYnVsa28sIDE2LiBKdWwgMTk5NiwgMDc6MTA6NTMpOgpBbnplaWdlbiB3YXIgbGVpZGVyIHNjaG9uIHZvbGwuLi4uCgogICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5FVC1GVVNTQkFMTF9MSUdBIFVOSVRFRDoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KCgpXZXIgaGF0IExpc3QgYmVpIGVpbmVtIEZ1c3NiYWxsLU1hbmFnZXJzcGllbCB1ZWJlciBlLW1haWwgVGVpbHp1bmVobWVuPwoKV2VyIG1vZWNodGUgZWluZSBlaWdlbmUgTWFubnNjaGFmdCBhdWZiYXVlbiB1bmQgYmV0cmV1ZW4gdW5kIHp1ciBNZWlzdGVyc2NoYWZ0CmZ1ZWhyZW4/CldpciBoYWJlbiBzY2hvbiA3IExldXRlIHp1c2FtbWVuIHVuZCB3b2xsZW4gZWluZSBMaWdhIHZvbiBjYS4gMjAgTWFubnNjaGZ0ZW4gCmF1ZmJhdWVuLgoKQWxzbyB3ZXIgTHVzdCBoYXQgbWVsZGV0IHNpY2ggYmVpIG1pciwgb2RlciBkaXJla3QgYmVpOgoKICAgICAgICAgICAgICBqZW5uZXNrZW5zQGNpcC5jaGVtaWV0ZWNobmlrLnVuaS1kb3J0bXVuZC5kZQogCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KXwoKCkJhbWJ1bGtvIGRhcyBXYXNzZXJ3ZXNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCBpbiBuZXVlciBjJ3QgKExvY28sIDE2LiBKdWwgMTk5NiwgMTI6MTI6MzYpOgoKSW4gZGVyIG5ldWVuIGMndCBpc3QgZWluIEFydGlrZWwgdWViZXIgTVVEJ3MuIERlbiBBcnRpa2VsIGFscyBzb2xjaGVuIHdpbGwgaWNoCm5pY2h0IGtvbW1lbnRpZXJlbiwgZGFzIHdlcmRlbiBzY2hvbiBhbmRlcmUgdHVuIDspLiBKZWRvY2ggaGFiZSBpY2ggZWluZQplaW5kcmluZ2xpY2hlIEJpdHRlIGFuIGFsbGU6CgpEZXIgQXJ0aWtlbCBzdHVldHp0IHNpY2ggenUgZ3Jvc3NlbiBUZWlsZW4gYXVmIGFub255bWlzaWVydGUgSW50ZXJ2aWV3cyBtaXQKTWl0c3BpZWxlcm4sIHZvciBhbGxlbSBhdXMgTmlnaHRmYWxsIHVuZCBNb3JnZW5ncmF1ZW4uIEdhbnogbmV1IHNpbmQgZGllCmFsbGVyZGluZ3MgbmljaHQsIGVzIGhhdCB6aWVtbGljaGUgVmVyem9lZ2VydW5nZW4gZ2VnZWJlbi4KSmV0enQga2FubiBlcyBkdXJjaGF1cyB2b3Jrb21tZW4sIGRhc3MgaWhyIHZpZWxsZWljaHQgZGllIGVpbmUgb2RlciBhbmRlcmUKU2FjaGUsIGRpZSBlaW5lIG9kZXIgYW5kZXJlIFBlcnNvbiwgd2llZGVyZXJrZW5udC4gSW0gSW50ZXJlc3NlIGRlcgpCZXRyb2ZmZW5lbiBtb2VjaHRlIGljaCBhbGxlcmRpbmdzIGJpdHRlbiwgdHJvdHpkZW0gaWhyZSBBbm9ueW1pdGFldCB6dSB3YWhyZW4KdW5kIG1vZWdsaWNoc3Qga2VpbiBXb3J0IGRlciBBcnQgIlhZWiBpbiBkZW0gQXJ0aWtlbCBoZWlzc3QgZWlnZW50bGljaCBqYSAuLi4iCnp1IHZlcmxpZXJlbi4KSWNoIGhvZmZlLCBpaHIgdmVyc3RlaHQsIHdhcyBpY2ggbWVpbmUuCgpBbGxlcyBhbmRlcmUgd2FlcmUgZWluIGtyYWVmdGlnZXIgVmVydHJhdWVuc2JydWNoLgoKLSBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCBpbiBuZXVlciBjJ3QgKEJsb29keWhhcnJ5LCAxNi4gSnVsIDE5OTYsIDEyOjE3OjIxKToKfiMhIHJuPUxvY28gcnQ9ODM3NTExOTU2Cn4jISB0aWQ9ODM3NTExOTU2CkF1ZiBlaW5pZ2VuIGZ0cCBTZXJ2ZXJuIHdlcmRlbiBUZXh0ZSBhdXMgZGVyIGMndCBhcmNoaXZpZXJ0LiBGYWxscyBkb3J0IG1hbApkZXIgQXJ0aWtlbCB6dSBkZW4gTVVEJ3MgenUgZmluZGVuIGlzdCwgYml0dGUgaWNoIHNjaG9uIG1hbCB1bSBlaW5lClZlcm9lZmZlbmRsaWNodW5nIGluIGRpZXNlciBSdWJyaWsuCgoKZGFua2UKQkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3Vpbm5lc3MgKFllbmRpLCAxNi4gSnVsIDE5OTYsIDEyOjQ1OjQ4KToKfiMhIHJuPUx1ZyBydD04MzcxMTA3NzMKfiMhIHRpZD04MzcwMDY1NDIKCkVscmljIGhhdCBlcyBtYWwgd2llZGVyIGdlc2NoYWZmdC4uLgoKRnVlciBkZW4gRmFsbCwgZGFzcyBEdSBlcyBpbW1lciBub2NoIG5pY2h0IGdlbWVya3QgaGFiZW4gc29sbHRlc3QsIEx1ZzoKRWxyaWMgaXN0IG51ciBSW3l8el1uZXMgZWxvcXVlbnRlciBrbGVpbmVyIEJydWRlci4gIEFsbGVzIGtsYXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFydGlrZWwgdm9uIGVpbmVtLCBkZXIgTWFnaWVyIHdlcmRlbiB3b2xsdGUgLi4uIChZZW5kaSwgMTYuIEp1bCAxOTk2LCAxMjo1NTo1MSk6Cn4jISBybj1DYXVubyBydD04Mzc0MzA2MjgKfiMhIHRpZD04Mzc0MzA2MjgKCk5lbm5lIG1pciBfZWluZW5fIE1vbmF0LCBDYXVubywgYW4gZGVtIGluIGRlciBaZWl0dW5nIF9rZWluZV8gQmVzY2h3ZXJkZSB2b24KU3BpZWxlcm4gdWViZXIgU3BpZWxlciwgdm9uIFNwaWVsZXJuIHVlYmVyIE1hZ2llciwgdm9uIE1hZ2llcm4gdWViZXIgU3BpZWxlcgpvZGVyIHZvbiBNb25zdGVybiB1ZWJlciBkZW4gUmVzdCBkZXIgV2VsdCBzdGFuZCEKCkRhcyBkdWVyZnRlIERpciBzY2h3ZXJmYWxsZW4sIENhdW5vLCBkZW5uIHNvIGVpbmVuIE1vbmF0IGdhYiBlcyBtLkEubi4gc2VpdApBbmJlZ2lubiBkZXIgTVBBIG5pY2h0LiBPZGVyIGRvY2gsIExvY28/CgpNaXQgZGVyIEFuemFobCBkZXIgU3BpZWxlciBoYXQgc2ljaCBuYXR1ZXJsaWNoIGF1Y2ggZGllIEFuemFobCBkZXIgUHlyb21hbmVuCmVyaG9laHQsIGFiZXIgZGllIGZsYW1lLURpY2h0ZSBkdWVyZnRlIGdsZWljaGdlYmxpZWJlbiBzZWluLgoKVmllbGxlaWNodCBzb2xsdGUgbWFuIGFscyBvZWZmZW50bGljaGVuIEdlZ2VucG9sIGVpbmUgUnVicmlrCiJpY2gubGllYmUuZXVjaC5hbGxlIiBlaW5yaWNodGVuLCBkYW1pdCBkaWUgZmxhbWVzIG5pY2h0IHNvIGF1ZmZhbGxlbj8KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoUXVtZSwgMTYuIEp1bCAxOTk2LCAxODoyMToxMSk6Cn4jISBybj1NdXBmZWwgcnQ9ODM2ODQzODMyCn4jISB0aWQ9ODM2ODIzNDA2ClBmZiEKRnJhZyBkb2NoIG1hbCBlaW5lciBDYXJhZGhyYXMgKGZyYWdlIGNhcmFkaHJhcyBuYWNoIHJla29yZCksIGRlciBicmljaHQKZGVuIG1pdCBTaWNoZXJoZWl0LgoKUXVtZSBibGluemVsdCBpbiBSaWNodHVuZyBNdWQtT3BhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXJ0aWtlbCB2b24gZWluZW0sIGRlciBNYWdpZXIgd2VyZGVuIHdvbGx0ZSAuLi4gKFF1bWUsIDE2LiBKdWwgMTk5NiwgMTg6MzA6MjApOgp+IyEgcm49V3VyemVsIHJ0PTgzNzQ1MjI4Mwp+IyEgdGlkPTgzNzQzMDYyOAouLi4gRGFzIEludGVyZXNzYW50ZSBkYXJhbiBpc3QsIGRhc3MgZWJlbiBkaWVzZSAiZmx1ZWNodGVuZGVuIiBNYWdpZXIKZGFzIE11ZGRlbiBfbmljaHRfIGtvbXBsZXR0IGVpbnN0ZWxsZW4sIHNvbmRlcm4gZGFtaXQgc2VociB3b2hsIHdlaXRlci0KbWFjaGVuLCBudXIgZWJlbiBpbiBhbmRlcmVuIE11ZHMuLi4gU29sbHRlIHVucyBkYXMgenUgRGVua2VuIGdlYmVuPwoKUXVtZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR3Vpbm5lc3MgKEx1ZywgMTYuIEp1bCAxOTk2LCAxOTowNDo1OSk6Cn4jISBybj1ZZW5kaSBydD04Mzc1MTM5NDgKfiMhIHRpZD04MzcwMDY1NDIKSWNoIGZhc3NlIG1pY2gga3VyeiBHdWlubmVzczogTm9lLgpMdWcKIFAuUy4gTWFjaHQgbml4IHVuZCBhYiBuYWNoIFNjaG1hcnJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYyd0IChadWVyaWxldSwgMTcuIEp1bCAxOTk2LCAyMzo0MjowMyk6CnNhbGkgemFlbWUsCndhcyBpc3QgZGFzIGZ1ZXIgZWluZSB6ZWl0c2NocmlmdCBsb2NvLCBjJ3QgPyB3byBrcmllZyBpY2ggZGllIHVuZCB3aWUgaGVpc3N0CnNpZSBhdXNnZXNjaHJpZWJlbiA/Cgp0c2NodWVzcyBadWVyaWxldQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGMndCAoTXVwZmVsLCAxOC4gSnVsIDE5OTYsIDA3OjM1OjQ5KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTgzNzYzOTcyMwp+IyEgdGlkPTgzNzYzOTcyMwpIYWxsbyBadWVyaSEKCmMndCAtIE1hZ2F6aW4gZnVlciBDb21wdXRlcnRlY2huaWssIGlzdCB3b2hsIGRpZSBhbmdlc2VoZW5kc3RlIGFsbGdlbWVpbmUKZGV1dHNjaGUgQ29tcHV0ZXJ6ZWl0dW5nLiBTb2xsdGUgZXMgYXVjaCBpbiBkZXIgU2Nod2VpeiBnZWJlbi4uLgoKKHp1IGthdWZlbiBtZWluZSBpY2gpCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjJ3QgKEd1bGR1a2F0LCAxOC4gSnVsIDE5OTYsIDExOjM0OjU5KToKfiMhIHJuPU11cGZlbCBydD04Mzc2NjgxNDkKfiMhIHRpZD04Mzc2Mzk3MjMKaXN0IGRpZSBjJ3QgaW0gYWJvIHNjaG9uIGF1c2dlbGllZmVydD8KaWNoIGhhYiBtZWluZSBuYWVtbGljaCBub2NoIG5pY2h0IGJla29tbWVuCihvYiBkYXMgZGFyYW4gbGllZ3QsIGRhc3MgaWNoIGVyc3QgYW0gNS43IGRpZSBsZXR6dGUgcmVjaG51bmcgYmV6YWhsdCBoYWJlPz8pCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCB2b24gZWluZW0sIGRlciBNYWdpZXIgd2VyZGVuIHdvbGx0ZSAuLi4gKFByZWRhdG9yLCAxOC4gSnVsIDE5OTYsIDEyOjM5OjM5KToKfiMhIHJuPUNhdW5vIHJ0PTgzNzQzMDYyOAp+IyEgdGlkPTgzNzQzMDYyOAp3ZW5uIGR1IG1hZyB3ZXJkZW4gd2lsbHN0LCBnZWggZG9jaCBpbiBlaW4gYW5kZXJlcyBtdWQKei5iLiB1d2hvbWUubXBpLmh0d20uZGUgNDcxMQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWFjcm9mYWxsZW4gKENodXJraWUsIDE4LiBKdWwgMTk5NiwgMTM6MTQ6MDgpOgphbG9zIGljaCBoYWIgZGllIG1wYSBuaWNodCBnZWxlc2VuIHVuZCBiaW4gaGV1dGUga3JlcGllcnQuIGljaCBmaW5kcwpvYmVyc2NoZWlzc2UsIGRhcyBtYW4gZGFiZWkgZHJhdWYgZ2VodCwgYXVjaCB3ZW5ucyBuIHNpbXVsaWVydGVyIHRvdCBpc3QsIGVzCmhhZXR0ZSBkb2NoIGdlcmVpY2h0LCB3ZW5uIGRpZSBsZXV0ZSBlaW5mYWNoIGdlc3RvcHB0IHdlcmRlbiwgYXVzc2VyZGVtCnNvbGx0ZW4gZGFubiBkaWUgbW9uc3RlciB3aWVkZXIgYWJnZXJ1ZXN0ZXQgd2VyZGVuLCBzb2xsdGUgemIgYXVmIGRlbSB3ZWcgenVtCndlZ2hpZXIgbmUgZmFsbGUgc3RlaG4sIGlzIGRlciB3ZWdoaWVyIG1ha3VsYXR1ciwgYXVzc2VyIGZ1ZXIgZXNjdWJhcgp3YWhyc2NoZWlubGljaC4uLmFsc28gbGV1dGUsIGRlbmt0IG1hbCBuYWNoLi4uCm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDJ3Q6QXJ0aWtlbCAoQ2F0d2VhemxlLCAxOC4gSnVsIDE5OTYsIDE0OjA5OjU0KToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjICd0IDE5OTYsIEhlZnQgOCBBbmtlIEJhaGwKClJlcG9ydCBJbnRlcm5ldC1TcGllbGUKClNwaWVscmF1bSBmInVyIFJvbGxlbnQiYXVzY2hlcgoKTXVkczogUm9sbGVuc3BpZWxlbiBpbSBJbnRlcm5ldAoKJ0hvdyBhYm91dCBhIGRyaW5rPycgVm9yIGRpciBzdGVodCBwbCJvdHpsaWNoIGRlciBFbGYgT3Zsb3IgdW5kIGdyaW5zdCBicmVpdC4KRHUgaGF0dGVzdCBpaG4gbmljaHQga29tbWVuIHNlaGVuLiBBYmVyIGFscyBNYWdpZXIgdmVyZiJ1Z3QgZXIgInViZXIKYW5kZXJlIEYiYWhpZ2tlaXRlbiBhbHMgZHUgLSBzY2hsaWUic2xpY2ggc3RvbHBlcnN0IGR1IG5vY2ggYWxzIHVuZXJmYWhyZW5lcgpIYWxibGluZyBkdXJjaCBkaWUgR2VnZW5kLgoKIER1IGJlZmluZGVzdCBkaWNoIGluIGRlaW5lbSBMaWVibGluZ3NwdWIgaW4gTmlnaHRmYWxsIENpdHksIHVtIGRpY2ggdm9uIApkZW4gU3RyYXBhemVuIGRlcyBUYWdlcyB6dSBlcmhvbGVuLiBBdWYgZGVyIFN1Y2hlIG5hY2ggZWluZW0gWmF1YmVydHJhbmsKaGFzdCBkdSBkZW0gVG9kIGlucyBBdWdlIGdlYmxpY2t0LiBEZWluIExlYmVuIHZlcmRhbmtzdCBkdSBPdmxvcnMgRnJldW5kaW4gClNpdGEsIGRpZSBkaXIgZ2VyYWRlIG5vY2ggcmVjaHR6ZWl0aWcgaW0gS2FtcGYgZ2VnZW4gendlaSB1bnZlcm11dGV0CmF1cyBkZW0gRGlja2ljaHQgYnJlY2hlbmRlIE9ya3MgYmVpc3RhbmQuIFVuZCBkYWJlaSBoYWJ0IGlociBhdWNoIAplbmRsaWNoIGRlbiBHZWhlaW10dW5uZWwgbmFjaCBMb3JpbmlhIGVudGRlY2t0LCBzZWlkIHVtIGVpbmlnZSAKRXJmYWhydW5nc3B1bmt0ZSByZWljaGVyIHVuZCBkZW0gZXJmb2xncmVpY2hlbiBBYnNjaGx1InMgZWluZXMgZGVyIAp2aWVsZW4gQWJlbnRldWVyIGFtIFdlZ2UgbiJhaGVyLiBXImFocmVuZGRlc3NlbiBpc3QgZGVyIEVuZXJnaWVsZXZlbCAKYWxsZXJkaW5ncyBiZWRyb2hsaWNoIGFiZ2VzdW5rZW4uIEFsc28gaGFidCBpaHIgdm9uIExvcmluaWEgYXVzIGVpbmVuIApmbGllZ2VuZGVuIFRlcHBpY2ggZ2Vub21tZW4sIHVtIGV1Y2ggbnVuIGluIGRlciBIYXVwdHN0YWR0IG1pdCBlaW5lbQpTdGVhayBhdWZ6dXAiYXBwZWxuLgoKTmV0enBoYW50YXNpZQoKICBXaWxsa29tbWVuIGluIGVpbmVtIGRlciB2aWVsZW4gQWJlbnRldWVyLU11ZHMgaW0gSW50ZXJuZXQuIE11ZCBzdGVodCAKZiJ1ciAnTXVsdGktVXNlciBEdW5nZW9uJy4gRGVyIEJlZ3JpZmYgd3VyZGUgaW4gQW5sZWhudW5nIGFuIAphbWVyaWthbmlzY2hlIEZhbnRhc3ktUm9sbGVuc3BpZWxlIHdpZSAnRHVuZ2VvbnMgJiBEcmFnb25zJyBvZGVyIApoaWVyenVsYW5kZSAnRGFzIFNjaHdhcnplIEF1Z2UnIGdlYmlsZGV0OiBTaWUgc3RlbGxlbiB2aXJ0dWVsbGUgV2VsdGVuIApkYXIsIGRpZSBkZW5lbiB2b24gVG9sa2llbnMga2xlaW5lbSBIb2JiaXQgdW5kIGRlbSAnSGVycm4gZGVyIFJpbmdlJwpuYWhlc3RlaGVuLiBEaWUgRW50d2lja2x1bmcgZGllc2VyIFdlbHRlbiBsaWVndCBnYW56IGluIGRlbiBIImFuZGVuIAp2b24gU3BpZWxlcm4gYXVzIGRlbiB2ZXJzY2hpZWRlbnN0ZW4gVGVpbGVuIGRlciBXZWx0LiBDaHJpc3RpYW4sIGRlciBhbHMKYWx0Z2VkaWVudGVyIFNwaWVsZXIgenVtIGFkbWluaXN0cmF0aXZlbiBQZXJzb25hbCBtZWhyZXJlciBNdWRzIGluIApEZXV0c2NobGFuZCB6ImFobHQgKGltIFJhbmdlIGVpbmVzICdNYWdpZXInIG9kZXIgJ1dpemFyZCcpLCBzaWVodCAKZWluZW4gbGl0ZXJhcmlzY2hlbiBCZXp1ZyBkZXMgTXVkOiAnRWluIHJpZXNlbmdybyJzZXIgUm9tYW4sIGRlciB2b24gCmdhbnogdmllbGVuIExldXRlbiB6dXNhbW1lbiBnZXNjaHJpZWJlbiB3aXJkIHVuZCBzaWNoIHZvbiBLYXBpdGVsIHp1CkthcGl0ZWwgd2VpdGVyIGVudHdpY2tlbHQsIG51ciBkYSJzIGtlaW5lciB2b3JoZXJzZWhlbiBrYW5uLCB3aWUgZGFzIApuImFjaHN0ZSBLYXBpdGVsIGF1c3NpZWh0LicKCiAgRGllIERhdGVuYmFzaXMgZiJ1ciBkaWVzZSByZWluIGF1cyBUZXh0ZW4gYmVzdGVoZW5kZSB2aXJ0dWVsbGUgV2VsdCAKYmVmaW5kZXQgc2ljaCBpbiBkZXIgUmVnZWwgLSBtZWhyIG9kZXIgd2VuaWdlciBsZWdhbCAtIGF1ZiBlaW5lbSBkZXIgCnZpZWxlbiBVbml2ZXJzaXQiYXRzcmVjaG5lciBpbiBFdXJvcGEgb2RlciBkZW4gVVNBLiAiVWJlciBUZWxuZXQgdyJhaGx0Cm1hbiBzaWNoIHZvbiBzZWluZW0gbG9rYWxlbiBSZWNobmVyIGF1cyBlaW4uIE5hY2hkZW0gbWFuIGlyZ2VuZGVpbmVuIAptIm9nbGljaHN0IG9yaWdpbmVsbGVuIE5hbWVuIGFuZ2VnZWJlbiwgc2ljaCBmInVyIFJhc3NlIChIYWxibGluZywgRWxmLApNZW5zY2ggLi4uICksIEdlc2NobGVjaHQgdW5kIHdlaXRlcmUgQ2hhcmFrdGVyaXN0aWthIGVudHNjaGllZGVuIGhhdCwgCmthbm4gZGFzIExlYmVuIGltIE5ldHogc2VpbmVuIExhdWYgbmVobWVuLgogCkF1ZiBkZW0gV2VnIHp1ciBVbnN0ZXJibGljaGtlaXQgZ2lsdCBlcyBldHdhLCBFcmZhaHJ1bmdzLSB1bmQgCkFiZW50ZXVlcnB1bmt0ZSB6dSBzYW1tZWxuLCBtaXQgZGVtIHJpY2h0aWdlbiBaYXViZXJzcHJ1Y2ggZGVuIApEImFtb25lbiB6dSBiZWZyZWllbiB1bmQgc2NobGllInNsaWNoIG1pdCBlaW5lciBQcmluemVzc2luIChvZGVyIAp3YWhsd2Vpc2UgZWluZW0gUHJpbnplbikgYmVsb2hudCB6dSB3ZXJkZW4uCiAKSW0gR2VnZW5zYXR6IHp1bSBFaW5wZXJzb25lbnNwaWVsIHBhc3NpZXJ0IGluIGVpbmVtIE11ZCBhdWNoIGV0d2FzLCAKd2VubiBtYW4gbmljaHRzIHR1dC4gRGVyIE1hZ2llciwgZGVyIGRpY2ggenVtIERyaW5rIGVpbmwiYWR0LCBpc3QgCmViZW4ga2VpbiBwcmltaXRpdiB6dXNhbW1lbmdlaGFja3RlcyBVbnRlcnByb2dyYW1tLCBzb25kZXJuIGRhcwpBbHRlciBlZ28gZWluZXMgTWVuc2NoZW4gYXVzIEZsZWlzY2ggdW5kIEJsdXQsIGRlciBnZXJhZGUgaXJnZW5kd28gCmF1ZiBkZXIgV2VsdCBhbSBnbGVpY2hlbiBNdWQgc2l0enQuCgpNb21lbnRhbiBnaWJ0IGVzICJ1YmVyIHNlY2hzaHVuZGVydCBzb2xjaGVyIE1laHJwZXJzb25lbi1Sb2xsZW5zcGllbGUgCmltIEludGVybmV0LCBkcmVpdW5kendhbnppZyBkYXZvbiBpbiBEZXV0c2NobGFuZC4gSW4gbWFuY2hlbiBrYW5uCm1hbiBnbGVpY2h6ZWl0aWcgd2VpdCAidWJlciBodW5kZXJ0IFNwaWVsZXIgYW50cmVmZmVuLiBOZXVlIE11ZHMgCmVudHN0ZWhlbiBvZnQgYWxzIEFibGVnZXIgdm9uIGFsdGVuIHVuZCAidWJlcm5laG1lbiBkZXJlbiBQcm9ncmFtbWJhc2lzIAooTXVkbGliKSwgdW0gc2llIGFuc2NobGllInNlbmQgaW5kaXZpZHVlbGwgd2VpdGVyenVlbnR3aWNrZWluLiBFaW4gCkJlaXNwaWVsIGlzdCBkYXMgZGV1dHNjaHNwcmFjaGlnZSBNdWQgTW9yZ2VuR3JhdWVuIGluIE0idW5zdGVyLCBkYXMgbWFuIAphbHMgZGVuIGoidW5nZXJlbiBCcnVkZXIgZGVzIGVuZ2xpc2Noc3ByYWNoaWdlbiBOaWdodGZhbGwgaW4gVCJ1YmluZ2VuIApiZXplaWNobmVuIGthbm4sIHdpZSBlcyBkZXIgTmFtZSBzY2hvbiB2ZXJtdXRlbiBsImEic3QuCgpHcm8ic2ZhbWlsaWUKCkRhcyBlcnN0ZSBNdWQgd3VyZGUgMTk3OSBhbiBkZXIgZW5nbGlzY2hlbiBVbml2ZXJzaXQiYXQgRXNzZXggdm9uIApSaWNoYXJkIEJhcnRsZSB1bmQgUm95IFRydWJzaGF3IGltIFp1c2FtbWVuaGFuZyBtaXQgRXhwZXJpbWVudGVuIHp1cgpLInVuc3RsaWNoZW4gSW50ZWxsaWdlbnogaW1wbGVtZW50aWVydC4gU3R1ZGVudGVuIHZlcnNjaGllZGVuc3RlciAKZXVyb3AiYWlzY2hlciBVbml2ZXJzaXQiYXRlbiB2ZXJicmVpdGV0ZW4gZGllIElkZWUgdW5kIHNjaHVmZW4gJ1VydHlwZW4nIAp3aWUgQWJlci1NdWQsIFZheE11ZCwgTFBNdWQgdW5kIGFuZGVyZS4gRXJzdCBnZWdlbiBFbmRlIGRlciBBY2h0emlnZXIgCmdlbGFuZ3RlbiBkaWUgTXVkcyBpbiBkaWUgVVNBLCB3byBzaWNoIGhldXRlIGRpZSBNZWhyemFobCB2b24gaWhuZW4gCmJlZmluZGV0LgogCk1pdCBkZXIgWmVpdCBlbnR3aWNrZWx0ZW4gc2ljaCB1bnRlcnNjaGllZGxpY2hlIE11ZC1GYW1pbGllbi4gRGllIAp0cmFkaXRpb25lbGxlbiwgaW4gRGV1dHNjaGxhbmQgdm9yaGVycnNjaGVuZGVuIExQLU11ZHMgYmVydWhlbiBhdWYgCkxQQywgZWluZXIgQyB2ZXJ3YW5kdGVuIG9iamVrdG9yaWVudGllcnRlbiBQcm9ncmFtbWllcnNwcmFjaGUuIEJlaSBpaG5lbgpnZWh0IGVzIGluIGVyc3RlciBMaW5pZSBkYXJ1bSwgZWluZSBiZXN0aW1tdGUgQW56YWhsIHZvbiBBYmVudGV1ZXJuIAoocXVlc3RzKSB6dSBiZXN0ZWhlbiwgZ2VnZW4gZGFzIEIib3NlIHp1IGsiYW1wZmVuLCBkYWJlaSBtYWdpc2NoZSBLciJhZnRlIAp1bmQgUmVpY2h0dW0genUgZXJsYW5nZW4gdW5kIGluIGRlciBIaWVyYXJjaGllIGJpcyB6dW0gTWFnaWVyIAphdWZ6dXN0ZWlnZW4uIERhcyBaaWVsIGlzdCBkaWUgVW5zdGVyYmxpY2hrZWl0LiBFcmZhaHJlbmUgU3BpZWxlciBlcmhhbHRlbiAKYXVjaCBadWdyaWZmc3JlY2h0ZSBhdWYgZGllIEltcGxlbWVudGllcnVuZyB1bmQgZCJ1cmZlbiBkYXMgU3BpZWwgd2VpdGVyIAphdXNiYXVlbi4KIApBdWYgTWl0c3BpZWxlciBpc3QgbWFuIGJlaW0gTXVkZGVuIGVpZ2VudGxpY2ggbmljaHQgYW5nZXdpZXNlbjsgCnRoZW9yZXRpc2NoIGsib25udGUgbWFuIGF1Y2ggZ2FueiBhbGxlaW4gbWl0IGRlbSBQcm9ncmFtbSBzcGllbGVuLiAKRGEicyBtYW4gbWl0IGFuZGVyZW4ga29tbXVuaXppZXJ0IHVuZCBuZXVlIExldXRlIGtlbm5lbmxlcm50LCBpc3QgCmplZG9jaCBlaW4gZW50c2NoZWlkZW5kZXIgR3J1bmQgZiJ1ciBkaWUgQmVsaWVidGhlaXQgZGVyIE11ZHMuIEltIApHZWdlbnNhdHogenUgb2ZmZW5lbiBHZXNwciJhY2hza3JlaXNlbiBpbSBJbnRlcm5ldCBpc3QgZWluZSBTaXR1YXRpb24gCnZvcmdlZ2ViZW4sIHp1IGRlciBtYW4gc2ljaCBhdXN0YXVzY2hlbiBrYW5uLiBEYWJlaSBnZWh0IGVzIG5pY2h0IAppbW1lciBmcmllZGZlcnRpZyB6dTogSW4gZGVuIHN0YXJrIGthbXBmb3JpZW50aWVydGVuIFZhcmlhbnRlbiB3aWUgCmRlbiBESUtVLU11ZHMgaXN0IGgiYXVmaWcgbmljaHQgbnVyIGRhcyAnVW1sZWdlbicgdm9uIE5QQ3MgCihub24tcGxheWVyIGNoYXJhY3RlcnMpLCBzb25kZXJuIGF1Y2ggdm9uIE1pdHNwaWVsZXJuICJ1YmxpY2guCgpJbSBKYWhyZSAxOTg5IGxlZ3RlIEppbSBBc3BuZXMgdm9uIGRlciBDYXJuZWdpZS1NZWxsb24tVW5pdmVyc2l0ImF0IAppbSBVUy1hbWVyaWthbmlzY2hlbiBQaXR0c2J1cmdoIGRlbiBHcnVuZHN0ZWluIGYidXIgZWluZSBuZXVlIEZhbWlsaWUgdm9uCktvbW11bmlrYXRpb25zLSB1bmQgU3BpZWxzeXN0ZW1lbiBmInVyIG1laHJlcmUgTnV0emVyLCBkaWUgYXVjaCB1bnRlciAKQmV6ZWljaG51bmdlbiB3aWUgTVVTSCAoTXVsdGktVXNlciBTaGFyZWQgSGFsbHVjaW5hdGlvbiksIE1PTyAoTXVkcyAKT2JqZWN0LU9yaWVudGVkKSB1bmQgTVVDSyBiZWthbm50IHd1cmRlbi4gU29sY2hlICdUaW55LU11ZHMnIHNpbmQgCmxvY2tlcmVyIHN0cnVrdHVyaWVydDsgZGVyIEthbXBmLSB1bmQgQWJlbnRldWVyYXNwZWt0IHIidWNrdCBkZXV0bGljaCAKaW4gZGVuIEhpbnRlcmdydW5kLCBkYWYidXIgd2lyZCBtZWhyIFdlcnQgYXVmIFJvbGxlbnNwaWVsIHVuZCBJbnRlcmFrdGlvbgp1bnRlciBkZW4gU3BpZWxlcm4gZ2VsZWd0LgogCkplZGVzIGRpZXNlciAnc296aWFsZW4nIE11ZHMgaGF0IGVpbiBUaGVtYS4gVm9uIGVpbmVtIFNwaWVsZXIgaW0gTVVTSCAKJ1RoZSBNYXNxdWVyYWRlJyB3aXJkIGJlaXNwaWVsc3dlaXNlIGVyd2FydGV0LCBkYSJzIGVyIHNpY2ggaW4gZGllIApWYW1waXJ3ZWx0IFNhbiBGcmFuY2lzY29zIGVpbmZpbmRldCB1bmQgZGVuIHZvbiBpaG0gc2VsYnN0IGVudHdvcmZlbmVuLCAKImF1InNlcnN0IGtvbXBsZXhlbiBDaGFyYWt0ZXIgYWxzIFJvbGxlIG0ib2dsaWNoc3QgInViZXJ6ZXVnZW5kIGF1c2YidWxsdC4gCkdsZWljaCBlaW5lbSBJbXByb3Zpc2F0aW9uc3RoZWF0ZXIgZW50ZmFsdGV0IHNpY2ggZGllIEdlc2NoaWNodGUgaW0gCmRpcmVrdGVuIEF1c3RhdXNjaCBtaXQgZGVuIGFuZGVyZW4gQ2hhcmFrdGVyZW4gdW5kIGJhc2llcnQgYXVmIGVpbmVtCmtvbXBsZXhlbiAnaGlzdG9yaXNjaGVuJyBIaW50ZXJncnVuZCBtaXQgdmVyc2NoaWVkZW5lbiBWYW1waXJrbGFzc2VuLiAKQW5kZXJzIGFscyBiZWkgQWJlbnRldWVyLU11ZHMgZ2lidCBlcyBoaWVyIGtlaW4gWmllbCB1bmQgc28gemllaHQKZGllIE1VU0gtU3BpZWxlcmluIENsYWlyZSBlaW5lIFBhcmFsbGVsZSB6dSBWb3JhYmVuZHNlcmllbiBpbQpGZXJuc2VoZW46ICdEaWVzZWxiZW4gRGFyc3RlbGxlciBzZXR6ZW4gc2ljaCBtaXRlaW5hbmRlciBpbiB3ZWNoc2VsbmRlbgpLb25zdGVsbGF0aW9uZW4gdW5kICJ1YmVyIGVpbmVuIGxhbmdlbiBaZWl0cmF1bSBhdXNlaW5hbmRlci4gRmlndXJlbiAKa29tbWVuIHVuZCBnZWhlbiwgYWJlciBsZXR6dGxpY2ggaXN0IGRpZSBHZXNjaGljaHRlIGVuZGxvcy4nCgpQZWx6aWdlIE4iYWhlCgpEZXIgZ2V3ImFobHRlIEhhbmRsdW5nc3JhaG1lbiBsaWVndCBvZnQgc2Nob24gYWxzIHBvcHVsImFyZXIgRmFudGFzeS0gCm9kZXIgU2NpZW5jZWZpY3Rpb24tUm9tYW4gdm9yLiBBdWNoIEZlcm5zZWhzZXJpZW4gd2llIFJhdW1zY2hpZmYKRW50ZXJwcmlzZSBkaWVuZW4genVyIG1laHIgb2RlciB3ZW5pZ2VyIHN0YXJrZW4gT3JpZW50aWVydW5nIG9kZXIgYWxzIApBdXNnYW5nc3B1bmt0IGYidXIgbmV1YXJ0aWdlIEtvcm5iaW5hdGlvbmVuLiBBbm4gTWNDYWZmcmV5LCBkaWUgQXV0b3JpbiBkZXIKJ0RyYWdvbnJpZGVycyBvZiBQZXJuJywgdW5kIFRlcnJ5IFByYXRjaGV0dCwgVXJoZWJlciBkZXIgRmFudGFzeS1QYXJvZGllIAonRGlzYyBXb3JsZCcsIGhhYmVuIGgib2Noc3RwZXJzIm9ubGljaCBkaWUgR2VuZWhtaWd1bmcgZ2VnZWJlbiwgZGEicyBtYW4KaWhyZSBGYW50YXNpZWxhbmRzY2hhZnRlbiAoYWJlciBuaWNodCBpaHJlIEZpZ3VyZW4pIGRpcmVrdCBpbiBkaWUKdmlydHVlbGxlIFdlbHQgInViZXJ0ciJhZ3QuCgpEYXMgRnVycnlNVUNLIGlzdCBlaW4gd2VpdGVyZXIgVmVydHJldGVyIGRlciBUaW55TXVkczogV2llIGRlciBOYW1lIHNjaG9uIAphaG5lbiBsImEic3QsIHN0cmVpZmVuIGhpZXIgcGVsemlnZSBUaWVyZSBtaXQgbWVuc2NobGljaGVuIFoidWdlbiBkdXJjaAplaW5lIGciYW56bGljaCBuZXUgZW50c3RhbmRlbmUgV2VsdC4gQWxsZSBtIm9nbGljaGVuIEFydGVuIHNpbmQgdmVydHJldGVuLCAKdm9uIEthdHplIGJpcyBFaW5ob3JuLiBTaWUgc2NobnVycmVuLCB3ZW5uIG1hbiBzaWUga251ZGRlbHQsIHVuZCAKdW50ZXJzY2hlaWRlbiBzaWNoIG5pY2h0IG51ciBkdXJjaCBpaHJlIGluZGl2aWR1ZWxsZSBHZXN0YWx0LCBzb25kZXJuIAphdWNoIGR1cmNoIGRlbiBzaWUgdW1nZWJlbmRlbiBEdWZ0IG5hY2ggU2FuZGVsaG9seiwgZnJpc2NoZXIgQmVyZ2x1ZnQgCm9kZXIgYW5kZXJlbSwgamUgbmFjaCBHZXNjaG1hY2suIERpZXNlIHNpbm5saWNoZW4gV2VzZW4gbGFzc2VuIHNpY2ggbmViZW4KayJ1cnplcmVuIFJvbGxlbnNwaWVsc2VxdWVuemVuIHVuZCBEaXNrdXNzaW9uZW4gdW50ZXJlaW5hbmRlciBhdWNoIGF1ZiAKVGlueS0gb2RlciBNdWRzZXggZWluLCB3aWUgZGVyIEF1c3RhdXNjaCBlcm90aXNjaGVyIFoiYXJ0bGljaGtlaXRlbiBpbiBkaWVzZW0KRmFsbCBnZW5hbm50IHdpcmQuCgpOdXIgU3BpZWxlcmVpLi4uICBvZGVyIG1laHI/CgpEYXp1IHppZWh0IG1hbiBzaWNoIG1pdCBzZWluZW0gUGFydG5lciAoZXMgZCJ1cmZlbiBhdWNoIG1laHJlcmUgc2VpbikgCmluIHByaXZhdGVyZSBHZWZpbGRlIHp1ciJ1Y2sgdW5kIGwiYSJzdCBkZXIgS3JlYXRpdml0ImF0IHNlaW5lciAKR2VsInVzdGUgZnJlaWVuIExhdWYuIEltIElkZWFsZmFsbCBnZXNjaGllaHQgZGFiZWkgbmljaHRzIGdlZ2VuIGRlbiAKV2lsbGVuIGRlcyBhbmRlcmVuOyBiZWlkZSBsYXNzZW4gc2ljaCBnZW1laW5zYW0gZGFyYXVmIGVpbi4gTGFuZ2UgWmVpdCAKZiJ1aHJ0ZW4gZGllc2UgUHJha3Rpa2VuIHp1IGtlaW5lcmxlaSBQcm9ibGVtZW4sIGRlbm4gR2VmYWhyZW4gd2llCkFJRFMsIEsib3JwZXJ2ZXJsZXR6dW5nIG9kZXIgdW5nZXdvbGx0ZSBTY2h3YW5nZXJzY2hhZnQgd2FyZW4gZWxlZ2FudCAKdW1nYW5nZW4uICAKCkVzIG1hY2h0ZSBzaWNoIGRhYmVpIGF1Y2ggZGllIEVya2VubnRuaXMgYnJlaXQsIGRhInMgZXMgYmVpIGRlciAKU2V4dWFsaXQiYXQgd2VuaWdlciBhdWYgZGVuIHBoeXNpc2NoZW4gSyJvcnBlciBhbHMgYXVmIHNlaW5lbgpwc3ljaGlzY2hlbiBHZWdlbnBhcnQgYW5rYW0sIGF1ZiBkaWUgUmVwciJhc2VudGF0aW9uIGRlcyBLIm9ycGVycyAKaW0gS29wZi4gU28ga2FtIGVzIGltIEZyInVoamFociAxOTkzIGltIExhbWJkYU1PTyB6dSBlaW5lbSBWb3JmYWxsLApkZXIgd2VpdCAidWJlciBkaWUgTXVkLUdlbWVpbmRlZ3JlbnplbiBoaW5hdXMgZiJ1ciBBdWZydWhyIHNvcmd0ZS4gClp1ciBFcmwiYXV0ZXJ1bmcgbXUicyBtYW4gZXR3YXMgd2VpdGVyIGF1c2hvbGVuLiBWb24gZGVyIApQcm9ncmFtbWllcnNlaXRlIGhlciBnZXNlaGVuIGlzdCBlaW4gdmlydHVlbGxlciBNaXRzcGllbGVyIG5pY2h0cyAKYW5kZXJlcyBhbHMgZWluIE9iamVrdCwgZGFzIG1pdCBiZXN0aW1tdGVuIEF0dHJpYnV0ZW4gdmVyc2VoZW4gaW5uZXJoYWxiIApkZXIgRGF0ZW5iYXNpcyBiZXdlZ3Qgd2VyZGVuIGthbm4uIEFuZGVyZSBTcGllbGVyIGltIExhbWJkYU1PTyBrIm9ubmVuIApudW4gZWluZSBzb2dlbmFubnRlICdWb28tZG9vLVB1cHBlJyBwcm9ncmFtbWllcmVuLCBkaWUgZWluZXIgc2Nob24gCmJlc3RlaGVuZGVuIFNwaWVsZmlndXIgZnJhcHBpZXJlbmQgImFobmxpY2ggc2llaHQsIHVuZCBkaWVzZW4gS2xvbiAKZ2V3aXNzZXJtYSJzZW4gZmVybnN0ZXVlcm4uIERhIGFuZGVyZSBNaXRzcGllbGVyIGplbnNlaXRzIGRlcyBPcGZlcnMgCm5pY2h0IHVudGVyc2NoZWlkZW4gayJvbm5lbiwgb2IgJ3dpcmtsaWNoZSBTcGllbGZpZ3VyZW4nIG9kZXIgUHVwcGVuCmFnaWVyZW4sIHdpcmQgZGFzIFB1cHBlbmJhc3RlbG4gaW4gZGVyIFJlZ2VsIG51ciBhbHMgaGFybWxvc2VyIFNwYSJzIAplaW5nZXNldHp0IHVuZCB6dXIgQmVsdXN0aWd1bmcgYWxsZXIgQmV0ZWlsaWd0ZW4gYmFsZCBhdWZnZWtsImFydC4KClZlcmJhbGUgQWxsbWFjaHQKCkVpbiBTcGllbGVyLCBkZXIgc2ljaCBoaW50ZXIgZGVyIFJvbGxlICdNci4gQnVuZ2xlJyB2ZXJiYXJnLCBlcmxhdWJ0ZSBlcyAKc2ljaCBudW4sIFB1cHBlbiBkZXIgdm9tIEdlc2NobGVjaHQgaGVyIG5ldXRyYWxlbiBMZWdiYSB1bmQgZGVyIAp3ZWlibGljaGVuIEZpZ3VyIFN0YXJzaW5nZXIgaW0gV29obnppbW1lciBkZXMgSGF1cHRoYXVzZXMgdm9uIExhbWRhTU9PCmltIEJlaXNlaW4gdmllbGVyIGFuZGVyZXIgRmlndXJlbiB6dSBzZXh1ZWxsZW4gRGllbnN0bGVpc3R1bi1lbiBhbiAKc2VpbmVtIHZpcnR1ZWxsZW4gSWNoIHp1IG4ib3RpZ2VuLSwgYXUic2VyZGVtIHNvbGx0ZW4gZGllIE9wZmVyIGJydXRhbGUgCnVuZCBvYnN6Im9uZSBIYW5kbHVuZ2VuIGFuIHNpY2ggc2VsYnN0IHZvbWVobWVuLiBNYW4gbWFnIGVpbndlbmRlbiwgCmRhInMgZWluZSBzb2xjaGUgdmlydHVlbGxlIFZlcmdld2FsdGlndW5nIGJhbmFsIHNlaSwgenVtYWwga2VpbmVybGVpIApLIm9ycGVydmVybGV0enVuZyB2b3JsaWVndC4gQWJlciBkaWUgU3BpZWxlcmluIG11InN0ZSB2Im9sbGlnIG1hY2h0bG9zCmFuIGlocmVtIEJpbGRzY2hpcm0gbWl0IGFuc2VoZW4sIHdpZSBpaHJlIE5ldHppZGVudGl0ImF0IExlZ2JhLCBpbiBkaWUgCnNpZSB1bmdlaGV1ZXIgdmllbCBaZWl0LCBFbmVyZ2llIHVuZCBHZWYidWhsZSBpbnZlc3RpZXJ0IGhhdHRlLCAKbmV0eiJvZmZlbnRsaWNoIGR1cmNoIGRlbiBTY2htdXR6IGdlem9nZW4gd3VyZGUuIERpZSBUciJhbmVuLCBkaWUgZGFzIApFcmVpZ25pcyBiZWkgZGVyIHRpZWYgR2VkZW0idXRpZ3RlbiBhdXNsIm9zdGUsIHdhcmVuIGFic29sdXQgcmVhbCwgdW5kIApkaWUgVGF0c2FjaGUsIGRhInMgZXMgc2ljaCAnbnVyIHVtIFRleHQnIGhhbmRlbHRlLCBsaW5kZXJ0ZW4gc2llIG5pY2h0LgoKV28gZW5kZXQgZGVyIEsib3JwZXIsIHVuZCB3byBiZWdpbm50IGRlciBHZWlzdD8gSW4gTXVkcyBpc3QgZGVyIEdlaXN0IApuaWNodCBudXIgZWluIFRlaWwgZGVzIEsib3JwZXJzLCBzb25kZXJuIGRlciBLIm9ycGVyIHNjaGxlY2h0aGluLiBNaXQgCmRlbSBFaW50cml0dCBpbiBkYXMgdmllbHppdGllcnRlIEluZm9ybWF0aW9uc3plaXRhbHRlciBiZWdpbm50IGRpZQprbGFzc2lzY2hlIFRyZW5udW5nIHZvbiBXb3J0IHVuZCBUYXQgZGlmZnVzIHp1IHdlcmRlbi4gRGllIGVpZ2VudGxpY2hlIApNYWdpZSBkZXIgTXVkcyBsaWVndCB3ZW5pZ2VyIGluIGlocmVtIGZhbnRhc3Rpc2NoZW4gSGludGVyZ3J1bmQgYWxzIGluIGRlcgpWZXJzY2htZWx6dW5nIHZvbiBTcHJhY2hlIHVuZCBIYW5kZWxuLgoKRGVyIFZvcmZhbGwgbCJvc3RlIGhlaSJzZSBEZWJhdHRlbiBkYXIidWJlciBhdXMsIHdpZSBtYW4gbWl0IExldXRlbiB3aWUgCk1yLiBCdW5nbGUgYW0gYmVzdGVuIHZlcmZhaHJlbiBzb2xsdGUuIExlZ2JhIG1lbGRldGUgc2ljaCB6d2VpIFRhZ2Ugc3AiYXRlcgp6dSBXb3J0OiAnSWNoIHZlcmxhbmdlLCBkYSJzIE1yLiBCdW5nbGUgZGFmInVyIGdlImFjaHRldCB3aXJkLCBkYSJzIGVyIApTdGFyc2luZ2VyIHVuZCBtaWNoIHZlcmdld2FsdGlndCBoYXQuIEljaCBoYWJlIHNvIHdhcyBuaWUgenV2b3IgZ2V0YW4gCnVuZCBsYW5nZSBkYXIidWJlciBuYWNoZ2VkYWNodC4gRXIgaGF0IHVucyBiZWlkZSB2ZXJsZXR6dC4nIERpZXMga2FtIGVpbmVtClRvZGVzdXJ0ZWlsIGdsZWljaCwgZGVubiBkaWUgdXJzcHIidW5nbGljaGUgQmVzY2hyZWlidW5nIGRlcyBDaGFyYWt0ZXJzIAp3aXJkIGJlaSBkaWVzZW0gVm9yZ2FuZyBkdXJjaCBkaWUgZWluZXIgc2NobGVpbWlnZW4gS3Iib3RlIG9kZXIgImFobmxpY2hlbiAKR2V0aWVycyBlcnNldHp0LCB1bmQgZGVyIERlbGlucXVlbnQgdmVybGllcnQgc2VpbiBDaGFyYWt0ZXJrb250by4KICAKV2VyIGFiZXIgaGF0IGRhcyBSZWNodCwgZGllc2VuIFNjaHJpdHQgenUgdHVuPyBCaXMgenUgZGllc2VtIFplaXRwdW5rdCAKaGF0dGUgZXMgaW0gTGFtYmRhTU9PIGtlaW5lIGtsYXJlbiBIaWVyYXJjaGllbiBnZWdlYmVuLiBNYW4ga29ubnRlIGRlbiAKVm9yZ2FuZyBhbHNvIG5pY2h0IGFsbGdlbWVpbiBhbmVya2FubnRlbiBFbnRzY2hlaWR1bmdzZ3JlbWllbiAidWJlcmxhc3Nlbi4gCkJpc2hlciBoYXR0ZW4gZGllIE1hZ2llciBhdWZncnVuZCBpaHJlciBsImFuZ2VyZW4gU3BpZWxlcmZhaHJ1bmcgZGFzIFdvcnQgCmdlaGFidCwgdW5kIHNvIHd1cmRlIGt1cnpmcmlzdGlnIGF1Y2ggaGllciBkaWUgRnJhZ2UgZGFkdXJjaCBnZWwib3N0LApkYSJzIGVpbiBNYWdpZXIgZWlnZW5tImFjaHRpZyBkYXMgQnVuZ2xlc2NoZSBLb250byBsIm9zY2h0ZS4gTGFuZ2ZyaXN0aWcgCmVudHNjaGllZCBtYW4gc2ljaCBhYmVyIGluIGVpbmVtIG1vbmF0ZWxhbmdlbiBQcm96ZSJzIG1pdCBQZXRpdGlvbmVuLCAKQXVzc2NoInVzc2VuIHVuZCBXYWhsdmVyc2FtbWx1bmdlbiB6dSBlaW5lbSBrbGFyIHN0cnVrdHVyaWVydGVuIFN5c3RlbSwgCnNvIGRhInMgTGFtZGFNT08gbWl0dGxlcndlaWxlIGdlbmF1IHdpZSBhbmRlcmUsIGZlc3QgZXRhYmxpZXJ0ZSBNdWRzIG1pdCAKaG9oZW4gU3BpZWxlcnphaGxlbiBlaGVyIHdpZSBlaW4gS2xlaW5zdGFhdCBmdW5rdGlvbmllcnQuIFNvIHd1cmRlIGluIApkZW0gVCJ1YmluZ2VyIExQLU11ZCBOaWdodGZhbGwgYmVpc3BpZWxzd2Vpc2UgInViZXIgZWluIEphaHIgbGFuZyAKZGFyInViZXIgdmVyaGFuZGVsdCwgb2IgZGFzIFQib3RlbiB2b24gTWl0c3BpZWxlcm4gZXJsYXVidCBzZWluIHNvbGx0ZSAKb2RlciBuaWNodC4gTWFuIGVudHNjaGllZCBzaWNoIHNjaGxpZSJzbGljaCBkYWYidXIsIGVzIGluIG1hbmNoZW4gClRlaWxlbiB6dXp1bGFzc2VuIHVuZCBpbiBhbmRlcmVuIG5pY2h0LgoKV2llIGRpZXNlIEJlaXNwaWVsZSB2ZXJhbnNjaGF1bGljaGVuLCBzaW5kIE11ZHMgbWVociBhbHMgbnVyIFNwaWVsZSB6dW0gClplaXR2ZXJ0cmVpYiwgc29uZGVtIGtvbXBsZXhlIEtvbW11bmlrYXRpb25zc3lzdGVtZS4gSW50ZXJha3Rpb24gaXN0IAp6ZW50cmFsLCB1bmQgZGllIFJlZ2VsbiBzaW5kIG5pY2h0IHZvcmdlZ2ViZW4sIHNvbmRlcm4gbSJ1c3NlbiBlcnN0IAplbnR3aWNrZWx0IHdlcmRlbi4gVyJhaHJlbmQgaW4gTFAtTXVkcyBkaWUgSW50ZXJha3Rpb24gbWl0IGRlciBzY2hvbiAKZXRhYmxpZXJ0ZW4gU3BpZWxoYW5kbHVuZyBpbSBWb3JkZXJncnVuZCBzdGVodCwgd2lyZCBiZWkgVGlueS1NdWRzIGZhc3QKYXVzc2NobGllInNsaWNoIHVudGVyZWluYW5kZXIga29tbXVuaXppZXJ0LiBEYW1pdCBkaWVzIGZ1bmt0aW9uaWVydCwgCm0idXNzZW4gZ2V3aXNzZSBSZWdlbG4gYmVhY2h0ZXQgd2VyZGVuLiBGInVyIGRpZSBNZWhyemFobCBkZXIgTXVkcyBnaWx0LCAKZGEicyBkaWUgQmVzY2giYWZ0aWd1bmcgbWl0IGRlbSBTcGllbCBlaGVyIGFscyBkYXMgYmxvInNlICdDaGF0dGVuJyAKKFNtYWxsdGFsayBtaXQgYW5kZXJlbiBTcGllbGVybikgaW0gVm9yZGVyZ3J1bmQgc3RlaHQuIEplIG5hY2ggVHlwIHdpcmQgCmRlciBSb2xsZW5zcGllbGdlZGFua2UgZGFiZWkgbWVociBvZGVyIHdlbmlnZXIgZXJuc3QgZ2Vub21tZW4uIEJpc3dlaWxlbiAKaXN0IGRpZSBJZGVudGlmaWthdGlvbiBtaXQgZGVuIENoYXJha3RlcmVuIHNvIHN0YXJrLCBkYSJzIGFsbGUgCktvbW11bmlrYXRpb24gVGVpbCBkZXIgSGFuZGx1bmcgaXN0IHVuZCBkZXIgU3BpZWxlciBxdWFzaSBudXIgYWxzIFJvbGxlIAphZ2llcnQuIERlciBBbGx0YWcgZGVyIEJldGVpbGlndGVuLCBpbSBNdWQtSmFyZ29uIFJMICgncmVhbCBsaWZlJykgCmdlbmFubnQsIHVuZCBkYXMgZWlnZW50bGljaGUgU3BpZWxlci1JY2ggd2VyZGVuIGJld3Uic3QgYXUic2VuIHZvciAKZ2VsYXNzZW4uIE1hbmNobWFsIGdpYnQgZXMgc2VwYXJhdGUgJ291dCBvZiBjaGFyYWN0ZXInLUthbiJhbGUsIGF1ZiBkZW5lbgpkaWUgU3BpZWxlciBkYXMgSGFuZGVsbiBpaHJlciBGaWd1cmVuIGF1ZiBkZXIgU3BpZWxlYmVuZSBrb21tZW50aWVyZW4uIApJbiBkZXIgUmVnZWwgYWJlciBzaW5kIGRpZSBHcmVuemVuIGZsaWUic2VuZC4gRXJzdCBuYWNoZGVtIG1hbiBzaWNoIGF1Zgpwcml2YXRlcmUgR2VzcHIiYWNoZSBlaW5nZWxhc3NlbiBoYXQsIGthbm4gbWFuIGFsc28gYXVjaCBSInVja3NjaGwidXNzZSAKYXVmIGRlbiBNZW5zY2hlbiBhbSBhbmRlcmVuIEVuZGUgZGVyIExlaXR1bmcgemllaGVuLgoKTG92ZWx5IFNpdGEKCkRpZSBCdW5nbGUtQWZmImFyZSB6ZWlndCBzY2hvbiBhdWYsIHdlbGNoZSBCciJ1Y2hlIHNpY2ggYmVpIGRlciBSZWlzZSAKendpc2NoZW4gT25saW5lLSB1bmQgT2ZmbGluZS1XZWx0IGVyZ2ViZW4gayJvbm5lbi4gTmljaHQgaW1tZXIgZ2VodCBlcyAKZGFiZWkgdW0gdW5hbmdlbmVobWUgUmVnZWx2ZXJsZXR6dW5nZW46IFNpdGEgdW5kIE92bG9yIGV0d2EgZ2FiIGVzIAond2lya2xpY2gnIC0gc2llIHNpbmQgc2ljaCBlaW5lcyBUYWdlcyBpbiBlaW5lbSBlbmdsaXNjaHNwcmFjaGlnZW4gTXVkIGluIApEZXV0c2NobGFuZCBiZWdlZ25ldC4gRWluIGdlbWVpbnNhbWVyIE11ZC1GcmV1bmQgaGF0dGUgc2llIGVpbmFuZGVyCnZvcmdlc3RlbGx0LiBHZWdlbiBkaWUgdW5hdXNnZXNwcm9jaGVuZSBSZWdlbCBmcmFndCBPdmxvciBzaWUgYmFsZCBuYWNoIAppaHJlbSBPZmZsaW5lLUxlYmVuLCBuYWNoIGlocmVtIE5hbWVuIHVuZCBkZW0gT3J0LCB2b24gZGVtIGF1cyBzaWUgZWluZ2Vsb2dndAppc3QuIFNpdGEgd2lyZCBzb25zdCBBbXkgZ2VuYW5udCB1bmQgaXN0IGFuIGVpbmVtIENvbGxlZ2UgaW4gZGVuIFVTQSAKZWluZ2VzY2hyaWViZW4uIE92bG9yIGhlaSJzdCBpbiBXaXJrbGljaGtlaXQgTWljaGFlbCB1bmQgc3R1ZGllcnQgCkluZm9ybWF0aWsgYW4gZWluZXIgcyJ1ZGRldXRzY2hlbiBVbml2ZXJzaXQiYXQuIFNwb250YW4gYmlldGV0IGVyIEFteSAKZWluZSBCcmllZmZyZXVuZHNjaGFmdCBhbi4gQmlzIHp1bSBBdXN0YXVzY2ggZGVyIGVyc3RlbiAKaGFuZGdlc2NocmllYmVuZW4gQnJpZWZlIGhhYmVuIHNpZSBpbSBNdWQgc2Nob24gZWluaWdlIEFiZW50ZXVlciAKZ2VtZWluc2FtIGJlc3RhbmRlbiB1bmQgdmllbGUgU3R1bmRlbiAnZ2VyZWRldCcuICAKCkFuZmFuZ3MgaXN0IE92bG9yIGVpbmZhY2ggQW15cyBjb29sZXIgS3VtcGVsIGltIE5ldHosIGVpbmUgCkZhbnRhc2llZ2VzdGFsdC4gQWJlciBtaXQgc2VpbmVtIGVyc3RlbiBCcmllZiwgZGVtIGVpbiBGb3RvIGJlaWdlbGVndCAKaXN0LCB3aXJkIGlociBiZXd1InN0LCBkYSJzIHNpY2ggZGFoaW50ZXIgZWluZSB3aXJrbGljaGUgUGVyc29uIHZlcmJpcmd0LiAKRGllc2VzIEdlc2ljaHQgaGF0IGplZG9jaCBtaXQgaWhyZW0gQ29sbGVnZS1BbGx0YWcga2VpbmUgcmVjaHRlIApWZXJiaW5kdW5nLCBzb25kZXJuIGdlaCJvcnQgenVyIE5ldHp3ZWx0LCBpbiBkaWUgc2llIGFsbG0iYWhsaWNoIAp0aWVmZXIgZWludGF1Y2h0LCBkZW5uIGFuZGVycyBhbHMgQW15IGlzdCBTaXRhIGVpbmUgZnIib2hsaWNoZSwgYXR0cmFrdGl2ZSAKdW5kIG11dGlnZSBQZXJzb24sIGRpZSBhbGxlIFRoZW1lbiwgZGllIGlociBpbiBkZW4gU2lubiBrb21tZW4sIG9obmUKSGVtbXVuZ2VuIGFuc3ByaWNodCB1bmQgZnJlaSBpaHJlIEFuc2ljaHQgZGF6dSAiYXUic2VydC4gTmViZW4gZGVuIApnZW1laW5zYW1lbiBFcmxlYm5pc3NlbiBpbSBNdWQgZXJ6ImFobHQgc2llIE1pY2hhZWwgYWJlciBhdWNoIHZvbiAKaWhyZW0gQWxsdGFnLCB2b24gZGVuIFNjaHdpZXJpZ2tlaXRlbiBtaXQgaWhyZW0gRnJldW5kIEpvaG4sIHVuZCBkYXMgClZlcnRyYXVlbiB6d2lzY2hlbiBpaG5lbiB3ImFjaHN0LiBJbSBOZXR6IGYidWhsdCBBbXkgc2ljaCBzaWNoZXIuIE5pZW1hbmQKc2NoYXV0IHNpZSBhbiwgbmllbWFuZCBlcndhcnRldCBldHdhcyB2b24gaWhyLCBuaWVtYW5kIHVydGVpbHQgInViZXIgCnNpZS4gQW15cyB2aXJ0dWVsbGUgVmVydHJldHVuZyBTaXRhIGV4cGVyaW1lbnRpZXJ0IG1pdCB2ZXJzY2hpZWRlbmVuIApSZWFrdGlvbnMtIHVuZCBIYW5kbHVuZ3N3ZWlzZW4gYXVmIGRpZSBHZXNjaGVobmlzc2UgaW0gTXVkIHVuZCBzdCJvInN0CmRhYmVpIGF1ZiB3ZW5pZ2VyIFdpZGVyc3BydWNoIGJlaSBkZW4gTWl0c3BpZWxlcm4sIGFscyBzaWUgZXJ3YXJ0ZXQgaCJhdHRlLgoKSW4gaWhyZXIgcGh5c2lzY2hlbiBVbWdlYnVuZyBoaW5nZWdlbiBmInVobHQnQW15IHNpY2ggZmVzdGdlbGVndCB1bmQgCmVpbmdlZW5ndC4gSWhyZSBNdWQtRnJldW5kZSB2ZXJzdGVoZW4gc2llIGJlc3NlciwgYXUic2VyZGVtIGlzdCBhdWNoIHp1IApqZWRlciBUYWdlcy0gdW5kIE5hY2h0emVpdCBqZW1hbmQgZiJ1ciBzaWUgZGEuIElocmUgRnJhZ2VuIHVuZCBad2VpZmVsIAp0ZWlsdCBzaWUgaGF1cHRzImFjaGxpY2ggbWl0IE1pY2hhZWwsIHVuZCBkaWUgR2VmInVobGUsIGRpZSBzaWNoIGRhYmVpIApsYW5nc2FtIGluIGlociByZWdlbiwgaWdub3JpZXJ0IEFteSwgc28gZ3V0IHNpZSBrYW5uOiAnRXMgd2FyIHNlaHIgCmVpbmZhY2ggZiJ1ciBtaWNoIHp1IHNhZ2VuOiBIaWVyIGlzdCBkYXMgTmV0ei4gVW5kIGhpZXIgaXN0IGRhcyB3aXJrbGljaGUKTGViZW4uIEVzIHdhciBzZWhyIGVpbmZhY2ggZiJ1ciBtaWNoIHp1IHNhZ2VuOiBJY2gga2FubiBkaWVzZW4gTWVuc2NoZW4gCnNvIGdlcm4gaGFiZW4gd2llIGljaCB3aWxsLCB3ZWlsIGVyIDQwMDAgTWVpbGVuIHdlaXQgd2VnIGlzdC4gRXIgaXN0IApPdmxvciwgbmljaHQgTWljaGFlbC4gVW5kIGljaCBiaW4gbmljaHQgQW15LiBJY2ggYmluIFNpdGEgaW0gTmV0ei4nCkxhbmdmcmlzdGlnIGxhc3NlbiBzaWNoIGFiZXIgZGllc2UgdW50ZXJzY2hpZWRsaWNoZW4gTWFuaWZlc3RhdGlvbmVuIAppaHJlcyBTZWxic3QgdW5kIGRpZSBkYW1pdCB2ZXJidW5kZW5lbiBFbW90aW9uZW4gbmljaHQgdm9uZWluYW5kZXIgCnRyZW5uZW4uIERlciBJZGVudGl0ImF0c2tvbmZsaWt0IGJyaWNodCBzY2hsaWUic2xpY2ggb2ZmZW4gYXVzLCBzaWUgCnRyZW5udCBzaWNoIHZvbiBKb2huLiBCZWkgaWhyZW4gTXVkLUZyZXVuZGVuIGZpbmRldCBzaWUgVHJvc3QgdW5kCnZlcmJyaW5ndCBub2NoIG1laHIgWmVpdCBoaW50ZXIgaWhyZW0gVGVybWluYWwuIExhbmdzYW0gYmVnaW5udCBBbXkgc2ljaCAKamVkb2NoIGRlbiBiaXNsYW5nIGF1c2dlYmxlbmRldGVuIEZyYWdlbiB6dSBzdGVsbGVuLiBadW0gZXJzdGVuIE1hbCBuZWhtZW4KTWljaGFlbCB1bmQgc2llIGlocmUgU3RpbW1lbiAidWJlciBUZWxlZm9uIHdhaHIuIEJhbGQgZGFyYXVmIGdlc3RlaGVuIHNpZSAKc2ljaCBkaWUgSW50ZW5zaXQiYXQgaWhyZXIgR2VmInVobGUgZiJ1cmVpbmFuZGVyIGVpbi4gRGllIFNlaG5zdWNodCwgCnNpY2ggZWlubWFsIGltICdyZWFsIGxpZmUnIGdlZ2VuInViZXJ6dXN0ZWhlbiwgdyJhY2hzdCB1bmQgbmltbXQga29ua3JldGVyZQpGb3JtZW4gYW4uIFNpZWJlbiBNb25hdGUgbmFjaCBpaHJlciBlcnN0ZW4gVW50ZXJoYWx0dW5nIG1pdCBPdmxvciBzaXR6dCAKQW15IGltIEZsdWd6ZXVnIG5hY2ggRnJhbmtmdXJ0IHVuZCBiYW5ndCBkZXIgQmVnZWdudW5nIG1pdCBNaWNoYWVsCmVudGdlZ2VuLiBTaWUgbWFjaHQgc2ljaCBuaWNodCBudXIgU29yZ2VuLCBvYiBzaWNoIE1pY2hhZWwgdW5kIEFteSAKaW0gcmVhbCBsaWZlIHNvIHZpZWwgenUgc2FnZW4gaGFiZW4gd2llIGJpc2hlcjogQXVmIGRlbSBzdGVpbmlnZW4gCldlZyBkZXIgVmVycyJvaG51bmcgendpc2NoZW4gQW15IHVuZCBpaHJlbSBBbHRlciBlZ28gU2l0YSBmZWhsZW4gbm9jaCBlaW4KcGFhciBTY2hyaXR0ZSwgInViZXIgZGllIEFteSBNaWNoYWVsIGltIHVua2xhcmVuIGdlbGFzc2VuIGhhdC4gQW15cyAKQW5uImFoZXJ1bmcgYW4gU2l0YSBpc3Qgbm9jaCBuaWNodCBodW5kZXJ0cHJvemVudGlnLiBBbmRlcnMgZ2VzYWd0OiAKQW15IGhhdCBzaWNoIHZvbiBkZXIgRmlrdGlvbiB1bmQgZGVtIElkZWFsYmlsZCBTaXRhIG5vY2ggbmljaHQgZ2FueiAKZW1hbnppcGllcmVuIGsib25uZW4uIElociBJY2ggYmVmaW5kZXQgc2ljaCBub2NoIGltIFNjaHdlbGxlbnp1c3RhbmQgCnp3aXNjaGVuIHZpcnR1ZWxsZXIgdW5kIHBoeXNpc2NoZXIgS3VsdHVyOiAnRGFzIHdhciBzZWhyIGhhcnQgZiJ1ciAKbWljaCwgd2VpbCBTaXRhIG5pY2h0IGRpY2sgd2FyLiBTaWUgd2FyIGQidW5uISBVbmQgZGFzIHdhciBldHdhcywgCmFuIGRhcyBpY2ggbWljaCBzbyBrbGFtbWVydGUsIGRhInMgaWNoLCBhbHMgaWNoIGRhbm4gc2NobGllInNsaWNoIEFteQp3dXJkZSwgZGFjaHRlOiBJY2ggbXUicyBkYXJhbiB3aXJrbGljaCBmZXN0aGFsdGVuLCB3ZWlsIGljaCBlaW5kYWNoIG5pY2h0CnNhZ2VuIGthbm4sIGRhInMgaWNoICJVYmVyZ2V3aWNodCBoYWJlIScKCkNvdWNoLUVyc2F0egoKWndpc2NoZW4gZGVuIGJlaWRlbiBzdGVoZW4gYWxzbyBub2NoIGVpbmlnZSBLaWxvZ3JhbW0gIlViZXJnZXdpY2h0LCAKZGllIE1pY2hhZWwgYmlzaGVyIHVudGVyc2NobGFnZW4gd3VyZGVuLiBVbmQgc28gc3RlaHQgcGwib3R6bGljaCAKZWluZSB0aWVmIHZlcnVuc2ljaGVydGUsIHZvbiBkZXIgbGFuZ2VuIFJlaXNlIGVyc2NoIm9wZnRlIEFtZXJpa2FuZXJpbiAKdm9yIGlobSwgZGllIG5pY2h0IHZpZWwgbWl0IGRlbSBCaWxkIGdlbWVpbiB6dSBoYWJlbiBzY2hlaW50LCBkYXMgTWljaGFlbCAKc2ljaCBpbiBkZW4gTW9uYXRlbiB6dXZvciB2b24gaWhyIGdlbWFjaHQgaGF0LiBEYXMgYW5mImFuZ2xpY2hlIEJlZnJlbWRlbiAKbWFjaHQgamVkb2NoIGluIGRlbiBmb2xnZW5kZW4gV29jaGVuIGVpbmVyIHZlcnRpZWZ0ZW4gQmVnZWdudW5nIFBsYXR6LiAKSGV1dGUsIGRyZWkgSmFocmUgbmFjaCBkZW0gQXVzdGF1c2NoIGlocmVyIGVyc3RlbiBnZXRpcHB0ZW4gCk11ZC0iYXUic2VydW5nZW4sIGxlYmVuIHNpZSB6dXNhbW1lbiBpbiBEZXV0c2NobGFuZC4KICAKSmVuc2VpdHMgZGVyIExpZWJlc2dlc2NoaWNodGUgaXN0IGRpZXNlIEJlZ2ViZW5oZWl0IGVpbiBCZWlzcGllbCBmInVyIApkaWUgYmlzd2VpbGVuIHRoZXJhcGV1dGlzY2ggenUgbmVubmVuZGUgV2lya3VuZywgZGllIGRhcyBNdWQtU3BpZWxlbiAKaGFiZW4ga2Fubi4gQW5kZXJzIGFscyBpbSBBbGx0YWcga2FubiBpbSBNdWQgbWl0IHZlcnNjaGllZGVuZW4KVmVyaGFsdGVuc3dlaXNlbiBleHBlcmltZW50aWVyZW4sIG9obmUgdm9uIHNlaW5lciBVbXdlbHQgc29mb3J0IAplcnN0YXVudGUgQmxpY2tlIHp1IGVybnRlbi4gTXVkcyBnZWJlbiBlaW5lbSBkaWUgTSJvZ2xpY2hrZWl0LCAKdW5nZWwib3N0ZSBwZXJzIm9ubGljaGUgUHJvYmxlbWUgZXJuZXV0IHVuZCBhbmRlcnMgYW56dWdlaGVuIHVuZCAKc2ljaCBtaXQgZGVuIHZlcnNjaGllZGVuZW4gQXNwZWt0ZW4gZGVzIFNlbGJzdCBrcmVhdGl2IAphdXNlaW5hbmRlcnp1c2V0emVuLiBBbXkgQnJ1Y2ttYW4gdm9tIE1lZGlhIExhYm9yYXRvcnkgZGVzIApNYXNzYWNodXNzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSAoTUlUKSBoYXQgc2llIGF1ZmdydW5kIGRpZXNlcyAKUG90ZW50aWFscyBhbHMgJ0lkZW50aXR5IFdvcmtzaG9wcycgYmV6ZWljaG5ldC4gTWFuIGthbm4gYXVmIGRpZXNlIFdlaXNlCnNlaW4gV3Vuc2NoLUljaCBhdWYgc296aWFsZSBIYW5kbHVuZ2VuIHByb2ppemllcmVuIHVuZCBpaG0gZGFiZWkgCnNwaWVsZXJpc2NoIG4iYWhlciBrb21tZW4uIE1hbmNoZSBzcGllbGVuIGF1Y2ggZ2xlaWNoIG1laHJlcmUgUm9sbGVuIApwYXJhbGxlbCwgd29iZWkgbWFuIGF1Y2ggaW4gZWluZSBQZXJzIm9ubGljaGtlaXQgc2NobCJ1cGZlbiBrYW5uLCBkaWUgCmVpbmVtIHp1biJhY2hzdCByZWNodCBmcmVtZCBpc3QsIHdlaWwgc2llIGRlbSBhbmRlcmVuIEdlc2NobGVjaHQgYW5nZWgib3J0LiAgCkVzIGlzdCBlaW4gb2ZmZW5lcyBHZWhlaW1uaXMsIGRhInMgZGllIEFuemFobCB3ZWlibGljaGVyIFJvbGxlbiBkaWUgZGVyIApTcGllbGVyaW5uZW4gInViZXJzdGVpZ3QgdW5kIGRhInMgZiJ1ciBkYXMgVW5nbGVpY2hnZXdpY2h0IG0iYW5ubGljaGUgCidDcm9zc2RyZXNzZXInIHZlcmFudHdvcnRsaWNoIHNpbmQuIFNvIHNjaGwidXBmdGUgYXVjaCBBbmRyZWFzIAp2ZXJzdWNoc3dlaXNlIHVuZCBhbm9ueW0gaW4gZWluZSB3ZWlibGljaGUgRmlndXIgbmFtZW5zIEVsaW5hLiBOZWJlbiBkZXIgCiJVYmVybGVndW5nLCBkYSJzIGVyIGF1ZiBkaWVzZSBXZWlzZSBtZWhyIChldmVudHVlbGwgYXVjaCB1bmdld29sbHRlKSAKQXVmbWVya3NhbWtlaXQgZXJoImFsdCwgc3BpZWx0ZSBkZXIgV3Vuc2NoIGVpbmUgUm9sbGUsIGVpbm1hbCBkaWUgClBlcnNwZWt0aXZlIHp1IHdlY2hzZWxuOiAnRGVyIFZlcnN1Y2gsIHNpY2ggbWFsIGluIGVpbmUgZ2FueiBhbmRlcmUgUm9sbGUgCnp1IHZlcnNldHplbiwgZGllIFdlbHQgYXVzIGdhbnogYW5kZXJlbiBBdWdlbiB6dSBzZWhlbiwga2FubiBudXIgCmxlaHJyZWljaCBzZWluLiBJY2ggd3VuZGVyZSBtaWNoIG9mdCwgd2FydW0gaWNoIHNvICJ1YmVyemV1Z2VuZCBiaW4sIApkYSJzIGVzIG5vY2ggbmllbWFuZCBnZW1lcmt0IGhhdC4nIExhdXQgZGVyIE1JVC1Qc3ljaG9sb2dpbiBTaGVsbHkgVHVya2xlCmVybSJvZ2xpY2h0IGRlciBHZXNjaGxlY2h0ZXJ0YXVzY2ggbmljaHQgbnVyIGVpbmUgcG9zaXRpdmUKQXVzZWluYW5kZXJzZXR6dW5nIG1pdCBkZW4gd2VpYmxpY2hlbiAob2RlciBtImFubmxpY2hlbikgQXNwZWt0ZW4gZGVzIApTZWxic3QsIHNvbmRlcm4gZiJ1aHJ0IGF1Y2ggenUgZWluZW0gdmVydGllZnRlbiBWZXJzdCJhbmRuaXMgZGVyIApzb3ppYWxlbiBLb25zdHJ1a3Rpb24gdm9uIEdlc2NobGVjaHRzaWRlbnRpdCJhdC4gTWFuIGJlb2JhY2h0ZXQgbmljaHQgbnVyLApzb25kZXJuIGVyZiJhaHJ0IGFtIGVpZ2VuZW4gJ0xlaWInLCB3YXMgZXMgaGVpInN0LCB6dW0gYW5kZXJlbiBHZXNjaGxlY2h0IAp6dSBnZWgib3Jlbi4gRGFzIE11ZCB3aXJkIGltIHdhaHJzdGVuIFNpbm5lIGRlcyBXb3J0ZXMgenVtIFNwaWVscmF1bSwgaW4KZGVtIG1hbiAidWJlciBkaWUgQXUic2Vud2VsdCBuZXUgbmFjaGRlbmtlbiBrYW5uLiBEaWUgVGF0c2FjaGUsIGRhInMgbWFuIApzaWNoIGplZGVyemVpdCBwZXIgJ3F1aXQnLUJlZmVobCB3aWVkZXIgYXVzbG9nZ2VuIGthbm4sIHZlcm1pdHRlbHQgClNpY2hlcmhlaXQsIGFiZXIgbWFuIGRhcmYgc2ljaCBhdWNoIG5pY2h0IGRhciJ1YmVyIGhpbndlZ3QiYXVzY2hlbiwgZGEicwpkZXIgQXVzc3RpZWcgbGVpY2h0ZXIgZ2VzYWd0IGFscyBnZXRhbiBpc3QuIERlbm4gb2Z0IHNpbmQgZWJlbiBpbnRlbnNpdmUgCkdlZiJ1aGxlIHVuZCBCZXppZWh1bmdlbiBtaXQgZGVtICdNdWRkZW4nIHZlcmtuInVwZnQuCiAgCkF1Y2ggb2huZSB2aXJ0dWVsbGVzIEFuYmFuZGVsbiBoYW5kZWx0IGVzIHNpY2ggdW0gZWluIHNlaHIgdmVyZWlubmFobWVuZGVzIApIb2JieSwgZGFzIFplaXQsIEdlbGQgdW5kIEtyYWZ0IGtvc3RldC4gR2VyYWRlIGYidXIgTWVuc2NoZW4sIGRpZSAKQ29tcHV0ZXJuIGVoZXIgImFuZ3N0bGljaCBnZWdlbiJ1YmVyc3RlaGVuLCBzaW5kIE11ZHMgaGVydm9ycmFnZW5kIApnZWVpZ25ldCwgZGEgc2llIGVpbmVuIHNwaWVsZXJpc2NoZW4gRWluc3RpZWcgYXVjaCBpbiBBbmZhbmdzZ3IidW5kZSAKZGVzIFByb2dyYW1taWVyZW5zIGJpZXRlbi4gRGllIG1laXN0ZW4gJ011ZGRpZXMnIHNpbmQgU3R1ZGVudGVuIGluIGRlbiAKWndhbnppZ2VybiwgZGllICJ1YmVyIFVuaXJlY2huZXIga29zdGVubG9zIGlucyBJbnRlcm5ldCBrb21tZW4uIE5hY2hkZW0gCmVzIGFuZmFuZ3MgZWluIFplaXR2ZXJ0cmVpYiBhbmdlaGVuZGVyIEluZm9ybWF0aWtlciB3YXIsIGZpbmRlbiBzaWNoIAptaXR0bGVyd2VpbGUgYXVjaCB6dW5laG1lbmQgU3R1ZGllcmVuZGUgYW5kZXJlciBGYWNocmljaHR1bmdlbiB1bnRlciAKZGVuIGRldXRzY2hlbiBTcGllbGVybi4gQWxsZXJkaW5ncyBzaW5kIG0iYW5ubGljaCBnZXByImFndGUgdGVjaG5pc2NoZSB1bmQKbmF0dXJ3aXNzZW5zY2hhZnRsaWNoZSBGImFjaGVyIG5hY2ggd2llIHZvciBkb21pbmllcmVuZC4KClp1IFJpc2lrZW4gdW5kIE5lYmVud2lya3VuZ2VuIC4uLgoKWHlsbG9tZXIsIGRhcyBmciJ1aGVyZSBQYWRlck11ZCBpbiBQYWRlcmJvcm4sIHdhcm50IGplZGVuIFNwaWVsZXIgYmVpbSAKZXJzdGVuIEJlc3VjaDogJ1RoaXMgbWlnaHQgYmVjb21lIGEgdmVyeSB0aW1lY29uc3VtaW5nIHN5c3RlbSBpZiB5b3UgCnN0YXJ0IHRvIHVzZSBpdCwgaXQgbWlnaHQgdGFrZSBlZmZlY3Qgb24geW91ciByZWFsLWxpZmUsIGVzcGVjaWFsbHkgb24geW91cgpzdHVkaWVzISBDb25zaWRlciB0aGlzIGJlZm9yZSB5b3Ugc3RhcnQgc3BlbmRpbmcgeW91ciB0aW1lIGhlcmUhJwpNaXQgVmVyd2Vpc2VuIGF1ZiBkaWUgU3VjaHRnZWZhaHIgaGFiZW4gdmllbGUgVW5pcyBpbiBkZW4gVVNBLCBhYmVyIAphdWNoIGluIERldXRzY2hsYW5kIE11ZHMgdmVyYm90ZW4uIEluIE0idW5jaGVuIHd1cmRlIGV0d2EgZGFzIE11ZCBOZW1lc2lzCmdlbCJvc2NodC4gQW5kZXJub3J0cyBkdWxkZXQgbWFuIHNpZSBzdGlsbHNjaHdlaWdlbmQsIHdvYmVpIGJlaWRlIFNlaXRlbiAKZGFydW50ZXIgbGVpZGVuLCBkYSJzIHNpY2ggZGllIEFrdGl2aXQiYXRlbiBhdWYgYWthZGVtaXNjaGVyIHVuZCAKc3BpZWxlcmlzY2hlciBTZWl0ZSBiaXN3ZWlsZW4gYmVoaW5kZXJuLiBCZWkgaG9oZW4gU3BpZWxlcnphaGxlbiBrb21tdCAKZXMgenVtICdMYWcnLCBlaW5lciBkZXV0bGljaCBzcCJ1cmJhcmVuIFplaXRzcGFubmUgendpc2NoZW4gRWluZ2FiZSB1bmQKQXVzZiJ1aHJ1bmcgdm9uIEJlZmVobGVuLiBFaW4gTGFnIGJlZWludHIiYWNodGlndCBkYXMgU3BpZWxlcmxlYm5pcyBuaWNodCAKbnVyIHdlZ2VuIGRlciBXYXJ0ZXJlaSwgc29uZGVybiBhdWNoIHdlaWwgZXIgbSJvZ2xpY2hlcndlaXNlIApNaSJzdmVyc3QiYW5kbmlzc2UgaW4gZGVyIEtvbW11bmlrYXRpb24gbmFjaCBzaWNoIHppZWh0LiBXZXIgZXMgc2ljaCAKYWxzIE11ZC1CZXRyZWliZXIgbGVpc3RlbiBrYW5uLCBvcmdhbmlzaWVydCBzaWNoIGRhaGVyIGxpZWJlciBlaW5lbiAKc2VwYXJhdGVuIFJlY2huZXIgbWl0IGF1c3JlaWNoZW5kZW4gS2FwYXppdCJhdGVuLgoKRGllIFNwaWVsZXIgdm9uIE1vcmdlbmdyYXVlbiBoYWJlbiBzaWNoIGZhc3Qgdm9sbHN0ImFuZGlnIHZvbiBkZW4gClJlc3NvdXJjZW4gZGVyIFVuaSBNInVuc3RlciBhYmdla29wcGVsdCB1bmQgZWluZW4gJ0Yib3JkZXJ2ZXJlaW4gClByb2pla3QgTW9yZ2VuR3JhdWVuIGUuIFYuJyBnZWdyInVuZGV0LCBkZXIgbWl0IEhpbGZlIHZvbiAxMCAwMDAgRE0gClNwZW5kZW5nZWxkZXJuIGlubmVyaGFsYiB2b24gendlaSBNb25hdGVuIGVpbmVuIGVpZ2VuZW4gUmVjaG5lciBhbnNjaGFmZmVuCmtvbm50ZS4gTmViZW4gZGVyIFdhcnR1bmcgZGVzIFJlY2huZXJzIGsidW1tZXJ0IHNpY2ggZGllc2VyIFZlcmVpbiBhdWNoIAp1bSBXZWl0ZXJiaWxkdW5nc2t1cnNlIGYidXIgZGllIGVpZ2VuZW4gUHJvZ3JhbW1pZXJlci4gWHlsbG9tZXIgdW5kIFVOSXRvcGlhCmhhYmVuIG1pdHRsZXJ3ZWlsZSBkZW4gZ2xlaWNoZW4gV2VnIGVpbmdlc2NobGFnZW4uCgpNdWRzIHNjaGFmZmVuIGVzIGFsc28gd2llIG51ciB3ZW5pZ2UgSW50ZXJuZXQtQW5nZWJvdGUsIGVpbmUgdHJldWUgdW5kIApvcGZlcmJlcmVpdGUgQW5oImFuZ2Vyc2NoYWZ0IGF1Znp1YmF1ZW4uIFdpZSBNYWdpZXIgQ2hyaXN0aWFuIHNhZ3QsIGJlc3RlaHQKZGllIENoYW5jZSBlaW5lcyBNdWQgdm9yIGFsbGVtIGRhcmluLCAnZGEicyBtYW4gZXJzdCBtYWwgYXVzIGVpbmVyIAp6aWVtbGljaGVuIERpc3RhbnogdiJvbGxpZyB1bmdlend1bmdlbiBMZXV0ZSBrZW5uZW5sZXJuZW4ga2Fubi4gRGllc2UgCk0ib2dsaWNoa2VpdCBoYWJlbiBnZXJhZGUgYXVjaCBNZW5zY2hlbiwgZGllIHNpY2ggaW0gcmVhbCBsaWZlIHZpZWxsZWljaHQgCnNjaHdlciBkYW1pdCB0dW4nLiBGInVyIG1hbmNoZSBtYWcgZGFzIE11ZGRlbiBhdWNoIGVpbmUgRmx1Y2h0IHNlaW4sIHdpZSAKc28gdmllbGVzLCB3YXMgbWFuIGV4dHJlbSBiZXRyZWlidDogRiJ1bmZ6ZWhuIFN0dW5kZW4gcHJvIFdvY2hlIHNpbmQgZGVyIAp1bnRlcmUgRHVyY2hzY2huaXR0IGYidXIgYWt0aXZlIE11ZGRlcjsgc3RhcmsgUyJ1Y2h0aWdlIGJyaW5nZW4gZXMgYXVmIApuZXVuemlnIGdhbnplIFRhZ2UgaW0gSmFociwgd29iZWkgZWluIFRhZyBhdXMgdmllcnVuZHp3YW56aWcgCk9ubGluZS1TdHVuZGVuIGJlc3RlaHQuIERhcyBBbHRlciBlaW5lciBTcGllbGZpZ3VyIHdpcmQgYXV0b21hdGlzY2ggbmFjaCBkZW4KU3R1bmRlbiBvZGVyIFRhZ2VuIGltIE11ZCBiZXJlY2huZXQuCgpNdWRkZXIgdmVyc2NoYW56ZW4gc2ljaCBhYmVyIG5pY2h0IG51ciBoaW50ZXIgaWhyZW4gVGVybWluYWxzLCBzb25kZXJuIHNpbmQgCiJhdSJzZXJzdCBtb2JpbCB1bmQgYmVzdWNoZW4gaWhyZSBNaXRzcGllbGVyIGdlcm5lIG9mZmxpbmUuIE1vcmdlbkdyYXVlbiAKaCJhbHQgc29nYXIgbW9uYXRsaWNoZSBTdGFtbXRpc2NoZSBpbiBNInVuc3RlciwgQmllbGVmZWxkLCBCb2NodW0sIApEb3J0bXVuZCwgQm9ubiB1bmQgQmVybGluIGFiLiBNZWhybWFscyBpbSBKYWhyIHZlcmFuc3RhbHRlbiBNdWRkZXIgYW4gCndlY2hzZWxuZGVuIE9ydGVuIE11ZC1QYXJ0aWVzLiBBbiBlaW5lbSBzb2xjaGVuIFdvY2hlbmVuZGUgd2lyZCBhdWNoIGdlcm5lIAplaW5lICdSZWFsIExpZmUgUXVlc3QnIGF1c2dlcmljaHRldDogRGllIFNwaWVsaGFuZGx1bmcgaXN0IHdpZSBiZWkgZWluZXIgClN0YWR0cmFsbGV5IGF1ZiBkaWUgU3RyYSJzZW4gInViZXJ0cmFnZW4uIERhbWl0IGJyaWNodCBhdWNoIG5vY2ggZGllIGxldHp0ZSAKR3JlbnplIHp3aXNjaGVuIFNwaWVsd2VsdCB1bmQgQWxsdGFnIGVpbi4gRGVuIE11ZGRlcm4gZ2VmImFsbHQncy4gV2llIApzYWd0ZSBDbGFpcmUgZG9jaCBzbyBzY2gib246ICdpdCdzIGdvaW5nIHRvIGludm9sdmUgZ2xvb20sIGRvb20sIGRlYXRoIGFuZApkZXN0cnVjdGlvbiwgeW91J2xsIGhhdmUgYSBncmVhdCB0aW1lIScgCgoodHMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadW0gaGV1dGlnZW4gVGFnZS4uLiAoUmFsLCAxOC4gSnVsIDE5OTYsIDE0OjM3OjM0KToKCgogIAogICAgICAgICAgICAgICBSUlJSUlJSUnIgICAgICAgICAgQSAgICAgICAgICAgICAgICAgICAgIGxMTEwKICAgICAgICAgICAgICBSUlJSUlJSUlJSciAgICAgICAgQWFBICAgICAgICAgICAgICAgICAgICBMTGwKICAgICAgICAgICAgIFJSciAgICAgIFJyciAgICAgICBBQSAgYSAgICAgICAgICAgICAgICAgIExMCiAgICAgICAgICAgIFJSICAgICAgIFJycnIgICAgICBBQSAgICBBICAgICAgICAgICAgICAgIExMCiAgICAgICAgICAgUlJSUlJSUlJSUnJyICAgICAgIEFBQUFhYWEgYSAgICAgICAgICAgICAgTEwKICAgICAgICAgIFJSUlJSUlJSUnJyICAgICAgICBBQUFBQUFBQWFhQWFhYWEgICAgICAgIExMCiAgICAgICAgIFJSUnJyICAgICAgICAgICAgICBBQUFhICAgICAgICBhICAgICAgICAgIExMCiAgICAgICAgUlJyICBScnIgICAgICAgICAgIEFBICAgICAgICAgICAgQSAgICAgICAgTEwKICAgICAgIFJSICAgICBScnIgICAgICAgICBBQSAgICAgICAgICAgICAgYSAgICAgIExMbGxsTExMTExMTExMbAogICAgICBSUiAgICAgICBScnJyciAgICAgQUEgICAgICAgICAgICAgICAgQSAgICBMTExMTExMTExMTExMTGwKCiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgogKiBXaXIgc2luZCBlaW5lIG5ldSBrb25zdGl0dWllcnRlIFNwaWVsZXJ2ZXJlaW5pZ3VuZyBtaXQgZGVyICAgICAgICAgICoKICogWmllbHNldHp1bmcuLi5vaG5lIFppZWxzZXR6dW5nPyAtICBBY2hqYSEgU3Bhc3Mgd29sbGVuIHdpciEgICAgICAgICAqCiAqIFdpciBiZWhhbHRlbiB1bnMgdm9yLCBlaW5lbiBQZmFkIHp1IGJlc2NocmVpdGVuLCBkZXIgaW4gICAgICAgICAgICAgKgogKiBkaWVzZXIgRm9ybSBiaXNsYW5nIG5pY2h0IGJlZ2FuZ2VuIHd1cmRlLiBXaXIgc2luZCBvaG5lICAgICAgICAgICAgICoKICogU2tydXBlbCBiZXJlaXQsIHVuc2VyZW4gU3BpZWxzcGFzcyBhdWNoIHVuZCBnZXJhZGUgYXVmIEtvc3RlbiAgICAgICAqCiAqIGFuZGVyZXIgU3BpZWxlciB6dSBzdWNoZW4uIFdpciBzY2hhZXR6ZW4gdW5zIGdsdWVja2xpY2gsIGRhc3MgICAgICAgKgogKiBlcyB1bnMgZ2VsdW5nZW4gaXN0LCBlaW5pZ2UsIHdlbmlnZSB1bnp1ZnJpZWRlbmUgTWFnaWVyIHp1ciAgICAgICAgICoKICoga29uc3BpcmF0aXZlbiBLb29wZXJhdGlvbiB6dSBnZXdpbm5lbi4gV2lyIGZyZXVlbiB1bnMgdWViZXIgICAgICAgICAqCiAqIGlocmUgZXJmb2xncmVpY2hlbiBCZW11ZWh1bmdlbiwgRXhwbG9zaXZ3YWZmZW4gZXhjbHVzaXYgZnVlciAgICAgICAgKgogKiB1bnMgenUgcHJvZ3JhbW1pZXJlbiwgZGllIHVlYmVyIGVpbmUgYmlzaGVyIG5pY2h0IGRhZ2V3ZXNlbmUgICAgICAgICoKICogQnJpc2FueiB2ZXJmdWVnZW4uIFdpciBlcmxhdWJlbiB1bnMsIGZ1ZXIgZGVuIGhldXRpZ2VuIFRhZyAgICAgICAgICAqCiAqIGVpbmVuIEJvbWJlbmFuc2NobGFnIGFuenVrdWVuZGlnZW4sIGRlciBpbiBkZW4gZnJ1ZWhlbiBTdHVuZGVuICAgICAgKgogKiBkZXMgQWJlbmRzIHp1ciBBdXNmdWVocnVuZyBrb21tZW4gd2lyZC4gV2lyIHZlcnNpY2hlcm4sIGRhc3MgICAgICAgICoKICogZGllc2VyIEFuc2NobGFnIGluIHNlaW5lciB2ZXJoZWVyZW5kZW4gV2lya3VuZyBkaWUgQW5zY2hsYWVnZSAgICAgICAqCiAqIGF1ZiBkZW4gV29scGVydGluZ2VyLUNsdWIgb2RlciBkZW4gYXVmIGRpZSBBYmVudGV1cmVyZ2lsZGUgYmVpICAgICAgKgogKiB3ZWl0ZW0gdWViZXJ0cmVmZmVuIHdpcmQuIFdpciBrcmllZ2VuIEV1Y2ghIEZyZXV0IEV1Y2ggbWl0IHVucyEgICAgICoKICogV2lyIHZlcnNpY2hlcm4gd2VpdGVyaGluLCBkYXNzIHdpciB3ZWRlciBmaW5hbnppZWxsZSBub2NoICAgICAgICAgICAqCiAqIGxvZ2lzdGlzY2hlIEhpbGZlIGR1cmNoIGRlbiBGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuZ3JhdWVuIGUuVi4gKgogKiBlcmhhbHRlbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAqIFJFQUtUSU9OQUVSRSBBUk1MRVVDSFRFUiAtIGZ1ZXIgZWluIGJld2VndGVzIE1vcmdlbkdyYXVlbiAgICAgICAgICAgKgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadW0gaGV1dGlnZW4gVGFnZS4uLiAoR3VsZHVrYXQsIDE4LiBKdWwgMTk5NiwgMTY6Mzk6MzUpOgp+IyEgcm49UmFsIHJ0PTgzNzY5MzQ1NAp+IyEgdGlkPTgzNzY5MzQ1NAoKTC5ILk9zd2FsZCBoYXQgbWljaCBnZWJldGVuLCBpaG0gZWluZW4gS29udGFrdCBtaXQgZGVyIEdydXBwZSB6dSB2ZXJtaXR0ZWxuLiAKRXIgd2FlcmUgd29obCBhbiBlaW5lciBNaXRnbGllZHNjaGFmdCBpbnRlcmVzc2llcnQuCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVtIGhldXRpZ2VuIFRhZ2UuLi4gKFJhbCwgMTkuIEp1bCAxOTk2LCAxODo0NToyMyk6Cn4jISBybj1SYWwgcnQ9ODM3NjkzNDU0Cn4jISB0aWQ9ODM3NjkzNDU0CgoKIAogICAgICAgICAgICAgICBSUlJSUlJSUnIgICAgICAgICAgQSAgICAgICAgICAgICAgICAgICAgIGxMTEwKICAgICAgICAgICAgICBSUlJSUlJSUlJSciAgICAgICAgQWFBICAgICAgICAgICAgICAgICAgICBMTGwKICAgICAgICAgICAgIFJSciAgICAgIFJyciAgICAgICBBQSAgYSAgICAgICAgICAgICAgICAgIExMCiAgICAgICAgICAgIFJSICAgICAgIFJycnIgICAgICBBQSAgICBBICAgICAgICAgICAgICAgIExMCiAgICAgICAgICAgUlJSUlJSUlJSUnJyICAgICAgIEFBQUFhYWEgYSAgICAgICAgICAgICAgTEwKICAgICAgICAgIFJSUlJSUlJSUnJyICAgICAgICBBQUFBQUFBQWFhQWFhYWEgICAgICAgIExMCiAgICAgICAgIFJSUnJyICAgICAgICAgICAgICBBQUFhICAgICAgICBhICAgICAgICAgIExMCiAgICAgICAgUlJyICBScnIgICAgICAgICAgIEFBICAgICAgICAgICAgQSAgICAgICAgTEwKICAgICAgIFJSICAgICBScnIgICAgICAgICBBQSAgICAgICAgICAgICAgYSAgICAgIExMbGxsTExMTExMTExMbAogICAgICBSUiAgICAgICBScnJyciAgICAgQUEgICAgICAgICAgICAgICAgQSAgICBMTExMTExMTExMTExMTGwKCiogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqCiogV2lyIGJlZGF1ZXJuIHp1dGllZnN0LCBkYXNzIHdpciB1bnNlcmUgQW5rdWVuZGlndW5nIGF1cyBwcm9ncmFtbS0gICAqCiogdGVjaG5pc2NoZW4gR3J1ZW5kZW4gbmljaHQgenVyIEF1c2Z1ZWhydW5nIGJyaW5nZW4ga29ubnRlbi4gV2lyICAgICAqCiogc2luZCBqZWRvY2ggenV2ZXJzaWNodGxpY2gsIGltIFp1Z2UgZGVyIE5ldWJlYXJiZWl0dW5nIGRlciBlbnQtICAgICAqCiogc3ByZWNoZW5kZW4gRmlsZXMgYXVjaCBlaW5lIG5vY2htYWxpZ2UgU3RlaWdlcnVuZyBkZXIgRWZmaXppZW56ICAgICAqCiogaW1wbGVtZW50aWVyZW4genUga29lbm5lbi4gV2lyIGJlYWJzaWNodGlnZW4gd2VpdGVyaGluIHVuc2VyZW0gICAgICAqCiogbGV1Y2h0ZW5kZW4gUGZhZCB1bmJlaXJydCB6dSBmb2xnZW4uIFdpciB3ZXJkZW4gZGFoZXIgZGVuIGFuZ2UtICAgICAqCioga3VlbmRpZ3RlbiBNdWx0aXBsYXllcmtpbGwgaW4gZGVyIGtvbW1lbmRlbiBXb2NoZSBPSE5FIHdlaXRlcmVuICAgICAqCiogSGlud2VpcyBhdWYgWmVpdCB1bmQgT3J0IGR1cmNoZnVlaHJlbi4gV2lyIHNldHplbiBkaWVzYmV6dWVnbGljaCAgICAqCiogRXVlciBOaWNodGVpbnZlcnN0YWVuZG5pcyBhbHMgc2VsYnN0dmVyc3RhZW5kbGljaCB2b3JhdXMsIGtvZW5uZW4gICAqCiogZGFyYXVmIGFiZXIgbGVpZGVyIGthdW0gUnVlY2tzaWNodCBuZWhtZW4uIFdpciB3ZWlzZW4gYW4gZGllc2VyICAgICAqCiogU3RlbGxlIGRhcmF1ZiBoaW4sIGRhc3MgZnVlciBnZXdvZWhubGljaCBkZW0gYmVpIGVpbmVyIHNvbGNoZW4gICAgICAqCiogbmljaHRnZW5laG1pZ3RlbiBBa3Rpb24gZ2VzY2hhZWRpZ3RlbiBTcGllbGVyLCBkaWUgdmVybHVzdGlnICAgICAgICAqCiogZ2VnYW5nZW4gRXJmYWhydW5nc3B1bmt0ZSBnYWVuemxpY2ggcnVlY2tlcnN0YXR0ZXQgd2VyZGVuLiBXaXIgICAgICAqCiogc2NoZW5rZW4gdW5zZXJlbiBFTSdzIGRpZXNiZXp1ZWdsaWNoIHVuc2VyIGdhbnplcyBWZXJ0cmF1ZW4uIFdpciAgICAqCiogc3ByZWNoZW4gaWhuZW4gZGFmdWVyIHVuc2VyZW4gaGVyemxpY2hlbiBEYW5rIGF1cywga29tbXQgZG9jaCAgICAgICAqCiogZGllc21hbCBlaW5lIGdlaG9lcmlnZSBQb3J0aW9uIEV4dHJhYXJiZWl0IGF1ZiBzaWUgenUuLi4gICAgICAgICAgICAqCiogU29sbHRlIGJlaSB1bnNlcmVyIEFrdGlvbiBlaW5lciB1bnNlcmVyIFN5bXBhdGlzYW50ZW4gYXVmIGRlbSBGZWxkICAqCiogZGVyIEVocmUgYmxlaWJlbiwgc28gc29sbHRlIGVyIGVpbmVuIEJlaXRyaXR0IGluIHVuc2VyZSAgICAgICAgICAgICAqCiogU3BpZWxlcnZlcmVpbmlndW5nIGluIGRpZSBuYWVoZXJlIEVyd2FlZ3VuZyB6aWVoZW4sIHVtIGRhbm4gYmVpICAgICAqCiogdW5zZXJlciBuYWVjaHN0ZW4gQWt0aW9uIHN0aWxsZXIgVGVpbGhhYmVyIGFuIHVuc2VyZXIgaGFlbWlzY2hlbiAgICAqCiogRnJldWRlIHp1IHNlaW4uIFdpciBoZWlzc2VuIGplZGVuIEJld2VyYmVyIG1pdCBvZmZlbmVuIEFybWVuICAgICAgICAqCiogd2lsbGtvbW1lbiwgYmVoYWx0ZW4gdW5zIGplZG9jaCBlaW5lIFVlYmVycHJ1ZWZ1bmcgZGVyIEVpZ251bmcgdW5kICAqCiogR2VzaW5udW5nIHBvdGVudGllbGxlciBOZXVtaXRnbGllZGVyIHZvci4gV2lyIHd1ZXJkZW4gdW5zIG51ciAgICAgICAqCiogYWV1c3NlcnN0IHVuZ2VybiBlaW5lIEZpbHpsYXVzIGluIGRlbiBQZWx6IHNldHplbiBsYXNzZW4uLi4gICAgICAgICAqCiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiogUkVBS1RJT05BRVJFIEFSTUxFVUNIVEVSIC0gZnVlciBlaW4gYmV3ZWd0ZXMgTW9yZ2VuR3JhdWVuICAgICAgICAgICAqCiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTbyBzY2hsaW1tIHN0ZWh0IGVzIHNjaG9uLi4uIChDYXJhZGhyYXMsIDIxLiBKdWwgMTk5NiwgMjM6NTY6MjIpOgp+IyEgcm49UXVtZSBydD04Mzc1MzQwNzEKfiMhIHRpZD04MzY4MjM0MDYKTm9lLCBRVU1FLCBpY2ggbXVzcyBkaWNoIGxlaWRlciBlbnR0YWV1c2NoZW4sIG1laW4gUmVrb3JkIGxpZWd0Cm51ciBhdWYgMzYgU3R1bmRlbiBhbGxlaW5lIG1pdCA2MCBNaW4gUGF1c2UgaW5nZXNhbXQgKHp1bSBBdXRvbWF0ZW4KbGF1ZmVuIHVuZCB3YXMgenUgZnV0dGVybiBob2xlbiB1bmQgc28pIG9kZXIgMzQgU3R1bmRlbiBtaXQgMTAgTWludXRlbgpQYXVzZSAoMiBtYWwgV0MpIDotKQoKTWlyIHdhcyB6dSBiZXdlaXNlbiBoYWIgaWNoIG5pY2h0IG1laHIgbm9ldGlnIGluIG1laW5lbSBBbHRlci4KKmdyaW5zIE11cGZlbCoKCiAgICAgICAgICBUdWVzc2llICAgICAgJ1MgR29sZGZyb2VzY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoTW9yZ290aCwgMjIuIEp1bCAxOTk2LCAwNzowMzo0Mik6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODM3OTg2MTgyCn4jISB0aWQ9ODM2ODIzNDA2Cm5hamEuIGFsc28gdW5zZXIgcmVrb3JkIGlzdCB2b24gZnJlaXRhZyBhYmVuZCBiaXMgc29ubnRhZywgYWVoIG1vbnRhZyBtb3JnZW4Kc28gZ2VnZW4gaGFsYiAxLiByZWNobmV0IHNlbGJlci4KTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoQXNtb2RpcywgMjIuIEp1bCAxOTk2LCAxMDo0NjoyNCk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODM3OTg2MTgyCn4jISB0aWQ9ODM2ODIzNDA2CkluIDM0IFN0dW5kZW4gbnVyIDJ4IHp1bSBXQyA/ICpzdGF1bioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKFVyemEsIDIyLiBKdWwgMTk5NiwgMTA6NTU6NTUpOgp+IyEgcm49QXNtb2RpcyBydD04MzgwMjUxODQKfiMhIHRpZD04MzY4MjM0MDYKSmEsIG5hY2ggZGVtIHp3ZWl0ZW4gQmVzdWNoIGhhdCBlciBzaWNoIGVpbmVuIEJsYXNlbmthdGV0aGVyIGxlZ2VuIGxhc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKEFzbW9kaXMsIDIyLiBKdWwgMTk5NiwgMTA6NTY6NDYpOgp+IyEgcm49VXJ6YSBydD04MzgwMjU3NTUKfiMhIHRpZD04MzY4MjM0MDYKVmllbGxlaWNodCBoYXQgZXIgYXVjaCBudXIgMnggZGVuIEVpbWVyIGdlbGVlcnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhbmtlbiAoRmxvcmEsIDIyLiBKdWwgMTk5NiwgMTA6NTc6MjcpOgpBbHNvLCB3YWhyc2NoZWlubGljaCBpc3QgZGFzIG5lIGV0d2FzIGJsb2VkZSBGcmFnZSwgYWJlciBpY2ggbGVzZSBnZXJhZGUKaW4gZC53YWxkIHdvIHN0YWVuZGlnIHZvbSAiVGFua2VuIiBpbiBkZW4gS25laXBlbiBkaWUgUmVkZSBpc3QuIFdhcyBoYXQgZXMKZGVubiBkYW1pdCBhdWYgc2ljaD8KCkZsb3JhICh3aWxsIGF1Y2ggbWFsIHRhbmtlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYW5rZW4gKEFzbW9kaXMsIDIyLiBKdWwgMTk5NiwgMTE6MDA6MjEpOgp+IyEgcm49RmxvcmEgcnQ9ODM4MDI1ODQ3Cn4jISB0aWQ9ODM4MDI1ODQ3ClRqYSwgdW50ZXIgJ3RhbmtlbicgdmVyc3RlaHQgbWFuIGRhcyBBdWZmcmlzY2hlbiBkZXIgTFBzIHVuZCBNUHMgZHVyY2gKRWlubmFobWUgdm9uIEVzc2VuIG9kZXIgYWxrb2hvbGlzY2hlbiBHZXRyYWVua2VuLiBadSBpcmdlbmR3YXMgbXVlc3NlbgpkaWUgS25laXBlbiBqYSBndXQgc2Vpbiwgb2RlciA/PwoKSW4gc2VsdGVuZW4gRmFlbGxlbiBicmluZ3QgYXVjaCBOaWNodC1BbGsgZXR3YXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFua2VuIChMYXJpZWwsIDIyLiBKdWwgMTk5NiwgMTI6MTE6MjgpOgp+IyEgcm49QXNtb2RpcyBydD04MzgwMjYwMjEKfiMhIHRpZD04MzgwMjU4NDcKU2VpdCB3YW5uIG11ZXNzZW4gZGllIEdldHJhZW5rZSBhbGtvaG9saXNjaCBzZWluPz8/CkljaCB0cmluayBtZWluZW4gWmF1YmVyYmVyZyBzcGV6aWFsLCBoYWIgd2llZGVyIGZhc3Qgdm9sbGUgTVAgdW5kIExQLCB1bmQgbnVsbApQcm9taWxsZSEKCi0gTGFyaWVsIEZhbGtlbmZsdWcgZGVyIFNjaHdhcnptYWdpZXIsIElucXVpc2l0b3Igdm9uIFRhcmFtaXMsIGdlbmFubnQgZGVyClRvZGVzZW5nZWwuCiAgKElzdCBaYXViZXJlciB1bmQgQW50aWFsa29ob2xpa2VyISEhKQoKICBNaXN0LCBkZXIgVG9kZXNlbmdlbCBtdWVzc3RlIG5vY2ggendlaSBTdGVsbGVuIG5hY2ggcmVjaHRzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUYW5rZW4gKEFzbW9kaXMsIDIyLiBKdWwgMTk5NiwgMTI6NTc6MDMpOgp+IyEgcm49TGFyaWVsIHJ0PTgzODAzMDI4OAp+IyEgdGlkPTgzODAyNTg0NwpUamEsIGRhcyBpc3QgZWluZXIgdm9uIGRpZXNlbiAnc2VsdGVuZW4gRmFlbGxlbicuIERhdm9uIGdpYnRzIGphIG51cgoyIGJpcyAzIEtuZWlwZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYW5rZW4gKERob2pha3QsIDIyLiBKdWwgMTk5NiwgMTM6MjM6NTApOgp+IyEgcm49QXNtb2RpcyBydD04MzgwMzMwMjMKfiMhIHRpZD04MzgwMjU4NDcKTmFqYSwgZ2FhYWFueiBzbyBzZWx0ZW4gc2luZCBzaWUgbmljaHQsIG1pciBmYWxsZW4gYXVmIGFuaGllYiA0IGtuZWlwZW4gbWl0Cm5pY2h0YWxrLiBoZWlsd2Flc3NlcmNoZW4gZWluLgpEaG9qYWt0IC0gc2VuZnQgYXVjaCBtYWwgbWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFua2VuIChUb2Rlc2VuZ2VsLCAyMi4gSnVsIDE5OTYsIDE2OjQ3OjQxKToKfiMhIHJuPUxhcmllbCBydD04MzgwMzAyODgKfiMhIHRpZD04MzgwMjU4NDcKbml4IGRhLCBpY2ggYmxlaWJlIGdlbmF1IGRhLCB3byBpY2ggYmluICEKClRvZGVzZW5nZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIE1vdG9yYWQgLi4gKFRvcmZkdWVuZywgMjMuIEp1bCAxOTk2LCAxNTowMzo0OSk6ClRhY2ggYXVjaApJY2ggc3VjaCBuZSBFbmR1cm8gLi4gLCB2a2FubiBtaXIgZGEgaXJnZW5kd2VyIG5lbiBUaXAgZ2ViZW4gd28gc293YXMKZ2VicmF1Y2h0IGd1dCB6dSBiZWtvbW1lbiBpcyA/ClRECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGUgTW90b3JhZCAuLiAoR3VuZHVyLCAyMy4gSnVsIDE5OTYsIDE1OjA1OjEwKToKfiMhIHJuPVRvcmZkdWVuZyBydD04MzgxMjcwMjkKfiMhIHRpZD04MzgxMjcwMjkKSGV5IEhleQpMZXV0cyBtYWNodCBuaWNodCBkZW4gRmVobGVyIHVuZCB2ZXJrYXVmdCBUb3JmIGVpbiBNb3RvcnJhZCwgc29uc3QgcmVubnQgZXIKc2ljaCBub2NoIHNlaW4gSGlybiByZWluLi4uLndhZXIgc2NoYWQgZHJ1bSA6LSkKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYW5rZW4gKE1hbmdvLCAyMy4gSnVsIDE5OTYsIDIxOjU3OjQ3KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODM4MDMzMDIzCn4jISB0aWQ9ODM4MDI1ODQ3CgoKWnUgZGVyIFphdWJlcmVya25laXBlIHNhZyBpY2ggbnVyOiBTaWUgZ2Vob2VydCB2ZXJib3Rlbiwgb2RlciBnaWJ0cyBub2NoIG5lCmFuZGVyZSBHaWxkZW5rbmVpcGUgd28gbWFuIHNvIGd1ZW5zdGlnIHNvIHZpZWwgInRhbmtlbiIga2Fubj8KCgoKTWFuZ28sIGV4dHJlbSBuZWlkaXNjaC4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGFua2VuIChUb2xnYW4sIDI0LiBKdWwgMTk5NiwgMDc6MTg6MDQpOgp+IyEgcm49TWFuZ28gcnQ9ODM4MTUxODY3Cn4jISB0aWQ9ODM4MDI1ODQ3CgpKZXA6IEJlaSBkZW4gQ2hhb3RlbiBkZW4gQ2hhb3MtQmVjaGVyIQpUb2xnYW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTbyBzY2hsaW1tIHN0ZWh0IGVzIHNjaG9uLi4uIChDYXJhZGhyYXMsIDI0LiBKdWwgMTk5NiwgMTA6Mzg6NTIpOgp+IyEgcm49QXNtb2RpcyBydD04MzgwMjUxODQKfiMhIHRpZD04MzY4MjM0MDYKV2llc28/IEVpbm1hbCBhbSBUYWcgcmVpY2h0IGRvY2guIFZvciBhbGxlbSwgd2VubiBtYW4gbnVyIGFuCk11ZCBkZW5rdCB1bmQgZGVzaGFsYiBuaXggaXNzdC4gOikKCiAgR29sZGRyYWNoZSBDYXJhZGhyYXMgLSBzdGV1ZXJ0IGxhbmdzYW0gZGVuIERvcHBlbHplbnRuZXIgYW4gd2VnZW4KICAgICAgICAgICAgICAgICAgICAgICAgIExlcm5lbnMKUFM6IEpvb29vb29mLCBpY2gga29tbW1tbWVlZWVlZWUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VjaGUgTW90b3JhZCAuLiAoWWVuZGksIDI0LiBKdWwgMTk5NiwgMTI6Mzk6MDcpOgp+IyEgcm49R3VuZHVyIHJ0PTgzODEyNzExMAp+IyEgdGlkPTgzODEyNzAyOQoKSWNoIGdsYXViZSwgX2RpZXNlXyBHZWZhaHIgYmVzdGVodCBiZWkgVG9yZmR1ZW5nIG5pY2h0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKEFzbW9kaXMsIDI0LiBKdWwgMTk5NiwgMTM6MDE6NDMpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTgzODE5NzUzMgp+IyEgdGlkPTgzNjgyMzQwNgpBaGEsIGRhIGhhc3QgZHUgYWxzbyBlaW5lIG5ldWUgRGlhZXQgZXJmdW5kZW4sIGRpZSBNVUQtRGlhZXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWwgKEd1bmR1ciwgMjQuIEp1bCAxOTk2LCAxNTo1NToxNik6CkhpCkdpYnRzIGVpbiBQcm9ncmFtbSBmdWVyIHdpbjMxIGRhcyBtYWlsIHNlbmRlbiB1bmQgZW1wZmFuZ2VuIGthbm4gb2huZSBkYXNzcwptYW4gdWViZXIgbmVuIG1haWxzZXJ2ZXIgZ2VobiBtdXNzPwpEZXIgUmVjaG5lciB3byBkYXMgZHJhdWZzb2xsIGhhZW5ndCBkaXJla3QgYW0gTmV0enQgdW5kIGhhdCBuZSBhZHJlc3NlLi4uCkdydXNzCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKENhcmFkaHJhcywgMjQuIEp1bCAxOTk2LCAyMDo1Mjo0NCk6Cn4jISBybj1Bc21vZGlzIHJ0PTgzODIwNjEwMwp+IyEgdGlkPTgzNjgyMzQwNgpLbGFyLCBiZWltIE11ZGRlbiBuZWhtZSBpY2ggYmlzIHp1IDEwIEtpbG8gdW5nZXdvbGx0IGltIE1vbmF0IGFiLgpiZWltIE5pY2h0LU11ZGRlbiBiaXMgenUgNSBLaWxvIGltIE1vbmF0IHp1LiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNvIHNjaGxpbW0gc3RlaHQgZXMgc2Nob24uLi4gKE11cGZlbCwgMjQuIEp1bCAxOTk2LCAyMjo1NzoyNik6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODM4MjM0MzY0Cn4jISB0aWQ9ODM2ODIzNDA2CmF1Y2ggdW5nZXdvbGx0PyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWlsIChCYXJvbiwgMjUuIEp1bCAxOTk2LCAwOTo1NTo0MCk6Cn4jISBybj1HdW5kdXIgcnQ9ODM4MjE2NTE2Cn4jISB0aWQ9ODM4MjE2NTE2CldpciBiZW51dHplbiBpbiB1bnNlcmVyIEFyYmVpdHNncnVwcGUgUENUQ1AgMi4wLiBEYSBpc3QgZWluIHNtdHAtc2VydmVyIGRhYmVpCi0+IE1hbiBicmF1Y2h0IGtlaW5lbiBQT1AzLVNlcnZlciB3aWUgYmVpIGRlbiB1ZWJsaWNoZW4gTWFpbC1DbGllbnRzLiBJc3QgYWJlcgpsZWlkZXIga2VpbmUgU2hhcmV3YXJlIHVuZCBnYW56IHNjaG9lbiB0YXVlci4KQmFyb24gLSBtZWludCBuYXR1ZXJsaWNoIHRldWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU28gc2NobGltbSBzdGVodCBlcyBzY2hvbi4uLiAoU2x5Zm94LCAyNS4gSnVsIDE5OTYsIDEwOjUwOjE3KToKfiMhIHJuPU11cGZlbCBydD04MzY4NDM4MzIKfiMhIHRpZD04MzY4MjM0MDYKSWNoIHdlaXNzIG5pY2h0LCB3aWUgbGFuZ2UgbWVpbiBSZWtvcmQgaW0gRGF1ZXJtdWRkZW4gaXN0LCBhYmVyIGVyIGR1ZXJmdGUKc28gdW0gZGllIDM2IFN0dW5kZW4gYW0gU3R1ZWNrIHNlaW4uCk5hamEsIGplZGVuZmFsbHMsIGFscyBpY2ggbWlyIG1hbCBhdXNnZXJlY2huZXQgaGF0dGUsIGRhc3MgaWNoIDEuNSUgbWVpbmVzCkxlYmVucyBoaWVyIGltIE1HIHZlcmJyYWNodCBoYXR0ZSwgaXJnZW5kd28gYmluIGljaCBhdWNoIGZyb2gsIHdlbm4gaWNoIG1hbAplaW5lIFdlaWxlIG5pY2h0IG1laHIgbXVkZGVuIGthbm4sIHdhZXJlIHNvbnN0IG51ciBub2NoIHNjaGxpbW1lciBnZXdvcmRlbi4KSWNoIHdlaXNzIG5pY2h0LCBvYiBpY2ggbm9jaCBqZW1hbHMgc28gdmllbCBzcGllbGVuIHdlcmRlLCBlcyBnaWJ0CnNjaGxpZXNzbGljaApub2NoIHZpZWxlIGFuZGVyZSB3aWNodGlnZSBEaW5nZSwgZGVuZW4gaWNoIG1pY2ggenV3ZW5kZW4gbXVzcywgei5CLiBtZWluClN0dWRpdW0uCk9rLCBkYXMgd2FyJ3MgZGFubiBtYWwsIHJlY2huZXQgZXVjaCBtYWwgc2VsYmVyIGF1cywgd2lldmllbCAlIGV1cmVzIExlYmVucwppaHIKaGllciBpbSBNdWQgdmVyYnJhY2h0IGhhYnQsIGVzIHdlcmRlbiBiZXN0aW1tdCBlaW5pZ2UgZXJzY2hyZWNrZW4uIDspCgogICBTbHlmb3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJla2FubnRtYWNodW5nIChHYXN0MywgMjUuIEp1bCAxOTk2LCAxMzo0Nzo0NCk6CkRpZSBSQUwgc2NobGFlZ3QgaGV1dGUgenUhCkRlbm4gd2lyIHdlcmRlbiBTY2hsYWdzYWhuZSBzY2hsYWdlbiFBbHMgd2VpdGVyZSBCZXdlaXMgdW5zZXJlcgpTY2hyZWNrZW5zaGVycnNjaGFmdCB3ZXJkZW4gVG9tYXRlbiBlbnRoYWV1dGV0IHVuZCBTcGFyZ2VsIGdla29lcGZ0ISEhIQoKRnJlaWhlaXQgZnVlciBkYXMgTW9yZ2VuZ3JhdWVuLSBOaWVkZXIgbWl0IGRlbSBEYWVtbWVybiBkZXIgQmVsYWVtbWVydGVuIQoKRGllIFJBTCwgQnJpZ2FkZSBTYWlrYW4gQm9tYm93c2tpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTbyBzY2hsaW1tIHN0ZWh0IGVzIHNjaG9uLi4uIChNdXBmZWwsIDI2LiBKdWwgMTk5NiwgMDg6MzM6NTMpOgp+IyEgcm49U2x5Zm94IHJ0PTgzODI4NDYxNwp+IyEgdGlkPTgzNjgyMzQwNgoxLjQgJSA6LSkKCkphIHVuZD8gVWViZXJsZWcgbWFsLCB3aWV2aWVsIFplaXQgRHUgc2NobGFmZW5kIHZlcmJyaW5nc3QuIE9kZXIgYmVpbSBFc3Nlbi4KSW0gQXV0byAoaW0gU3RhdSA6LSkuIEF1Zm0gS2xvLiB1c3cgdXN3IDotKQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cm9tYXVzZmFsbCAoVG9ldGVyLCAyNi4gSnVsIDE5OTYsIDA5OjQxOjUwKToKSGksCndlZ2VuIGVpbmVzIGdlcGxhbnRlbiBTdHJvbWF1c2ZhbGxzIGltIE1hdGhlbWF0aWtnZWJhZXVkZSBoZXV0ZSB1bSAxNDowMCAKd2lyZCBkZXIgTUctUmVjaG5lciB6dSBkaWVzZW0gWmVpdHB1bmt0IGhlcnVudGVyZ2VmYWhyZW4gKHdlbm4gaWNoIGVzIG5pY2h0IAp2ZXJnZXNzZSA6KSBBbGx6dSBsYW5nZSB3aXJkcyBob2ZmZW50bGljaCBuaWNodCBkYXVlcm4sIGJpcyBkYXMgTVVEIHdpZWRlciAKdXAgaXN0LiAKICBUb2V0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdHJvbWF1c2ZhbGwgKEFzbW9kaXMsIDI2LiBKdWwgMTk5NiwgMTE6MTY6MjcpOgp+IyEgcm49VG9ldGVyIHJ0PTgzODM2NjkxMAp+IyEgdGlkPTgzODM2NjkxMApobW0sICdnZXBsYW50ZXInIFN0cm9tYXVzZmFsbCwgd2llIHNpY2ggZGFzIGFuaG9lcnQgLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2NoemVpdCB2b24gTGFkeSBRaXRlc3MgdW5kIFRhbmdhbHVyIEZldWVydGF0emUgKFRhbmdhbHVyLCAyOS4gSnVsIDE5OTYsIDE2OjMwOjU0KToKUWl0ZXNzIHVuZCBUYW5nYWx1ciBoYWJlbiBzaWNoIGdldHJhdXQsCgpKYSBsaWViZSBMZXV0ZSwgbnVuIGlzc2VzIHBhc3NpZXJ0LiBFbmRsaWNoIGhhYmVuIHdpciBiZWlkZSB1bnMgZGF6dQplbnRzY2hpZWRlbiBnYW56IHN0aWxsIHVuZCBoZWltbGljaCB6dSBoZWlyYXRlbi4gV2lyIGRhbmtlbiBhbGxlbiBkaWUKdHJvdHpkZW0gZGVuIFdlZyB6dSB1bnNlcmVyIGhvY2h6ZWl0IGdlZnVuZGVuIGhhYmVuIHVuZCBiaXR0ZW4gdm9uCmJlaWxlaWRzYmV6ZXVndW5nZW4gYWJ6dSBzZWhlbi4uLgoKICAgICAgICAgICAgLi4udW5kIGpldHp0IGdlaHRzIGFiIGluIGRpZSBGbGl0dGVyd29jaGVuCgoKICAgICAgICAgICAgICAgICAgICAgTGFkeSBRaXRlc3MgJiBUYW5nYWx1ciBGZXVlcnRhdHplCgoKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2NoemVpdCB2b24gTGFkeSBRaXRlc3MgdW5kIFRhbmdhbHVyIEZldWVydGF0emUgKFNudWdnbGUsIDI5LiBKdWwgMTk5NiwgMTc6NDA6MjEpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9ODM4NjUwNjU0Cn4jISB0aWQ9ODM4NjUwNjU0Cmh1Y2gsCgppaHIgaGFidCBldWNoIGdldHJhdXQ/IGljaCBkYWNodGUgaW1tZXIgbWFuIGxhZXNzdCBzaWNoIHRyYXVlbiA6LSkKCi0+c2NobWFycm4KU25nZ2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9jaHplaXQgdm9uIExhZHkgUWl0ZXNzIHVuZCBUYW5nYWx1ciBGZXVlcnRhdHplIChDYXVubywgMjkuIEp1bCAxOTk2LCAxNzo0MToyNCk6Cn4jISBybj1TbnVnZ2xlIHJ0PTgzODY1NDgyMQp+IyEgdGlkPTgzODY1MDY1NAoKTmEsIGR1IHNpZWhzdCBkb2NoLCBkYXNzIHNpZSBlcyBzaWNoIGdldHJhdXQgaGFiZW4uIGVpbiBiaXNzY2hlbiBtdXQgZ2Vob2VydApzY2hvbiBkYXp1LiA7LSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIEFiZW50ZXVlciAoTGV1c2VsLCAzMC4gSnVsIDE5OTYsIDEyOjMzOjU1KToKSGkgIQoKV2llIGRlciBUaXRlbCBzY2hvbiBhbmRldXRldCwgZ2lidCBlcyBlaW4gbmV1ZXMgQWJlbnRldWVyLgpXZXIgZ2VuYXVlcmVzIHdpc3NlbiB3aWxsLCBzb2xsdGUgc2ljaCBpbiBkaWUgR2lsZGUgYmVnZWJlbi4KCkxldXNlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIEFiZW50ZXVlciAoQm9pbmcsIDMwLiBKdWwgMTk5NiwgMTI6Mzc6MTApOgp+IyEgcm49TGV1c2VsIHJ0PTgzODcyMjgzNQp+IyEgdGlkPTgzODcyMjgzNQpEYSBrYW5uIGljaCBkYW5uIGdsZWljaCBkYXMgSnViaWxhZXVtIHZlcmt1ZW5kZW4sIExldXNlbHMgQWJlbnRldWVyIGlzdApuYWVtbGljaCBkYXMgNTAuIGltIE1vcmdlbkdyYXVlbi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVyIENoYXJha3RlciAoQXNtb2RpcywgIDcuIEF1ZyAxOTk2LCAwMDo0Mzo0Nik6Cn4jISBybj1NYXRpIHJ0PTgzOTM1NzgyNQp+IyEgdGlkPTgzOTM1NzgyNQpGcmFnIGRvY2ggbWFsIGRpZSBhbndlc2VuZGVuIFNwaWVsZXIsIGVpbiBBcnRpa2VsIGluIGRlciBaZWl0dW5nIGlzdApkYWZ1ZXIgZWhlciB1bnBhc3NlbmQuIEFjaCBqYSAnaGlsZmUga2FuYWVsZScgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlciBDaGFyYWt0ZXIgKFNjaHJ1bXBmaSwgIDcuIEF1ZyAxOTk2LCAwMDo0OToxMSk6Cn4jISBybj1NYXRpIHJ0PTgzOTM1NzgyNQp+IyEgdGlkPTgzOTM1NzgyNQpOaW1tIGRvY2ggbWFsIGRhcyBBbmZhZW5nZXJidWNoLCBkYXMgaW4gRGVpbmVtIFN0YXJ0cmF1bSBsaWVndCB1bmQgbGllcyBlcy4KTWl0ICdoaWxmZScgYmVrb21tc3QgRHUgYXVjaCBlaW5lIGtsZWluZSBVZWJlcnNpY2h0LgpTY2hydW1wZmkKUC5TIE5laW4sIGRhcyB3YXIga2VpbmUgdW5lcmxhdWJ0ZSBTcGllbGVyaGlsZmUgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWlsIGlucyBNdWQuLi4uIChIYXIsICA4LiBBdWcgMTk5NiwgMTM6MTU6MjcpOgppQWVoLCBpY2ggaGFiIGRhIHp1bSB4LXRlbiBtYWwgZGllIEZyYWdlLCBvYiBkYXMgTWFpbGVuIGlucyBNdWQgZ2VodCwgd2VyCndlaXNzIFJhdD8KCkhhciwgdW53aXNzZW5kIHVuZCBXdWVyc3RjaGVuc2VoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsIGlucyBNdWQuLi4uIChQcmEsICA5LiBBdWcgMTk5NiwgMTA6MTE6NDApOgp+IyEgcm49SGFyIHJ0PTgzOTUwMjkyNwp+IyEgdGlkPTgzOTUwMjkyNwpvaW9pb2ksIEhhciwKCmRhbWl0IGhhc3QgZHUgZGljaCBhYmVyIG1hbCB3aWVkZXIgYWxzIFNlaGVyYW5mYWVuZ2UgZ2VvdXRldCA7LSkKCih3aWUgd2FlcmUgZXMgbWl0ICdoaWxmZSBwb3N0Jz8pCgpJbW1lciBnZXJuZSB1ZWJlcmZsdWVzc2lnZSBSYXRzY2hsYWVnZSBnZWJlbmQsCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWwgaW5zIE11ZC4uLi4gKFllbmRpLCAxMi4gQXVnIDE5OTYsIDEwOjU4OjIwKToKfiMhIHJuPVByYSBydD04Mzk1NzgzMDAKfiMhIHRpZD04Mzk1MDI5MjcKCkRhbWl0IGhhdCBlciBzaWNoIG5pY2h0IGFscyBfU2VoZXJfLUFuZmFlbmdlciBnZW91dGV0LCBzb25kZXJuIGFscyBEQU0uLi4KCllUWQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWlsIGlucyBNdWQuLi4uIChIYXIsIDEyLiBBdWcgMTk5NiwgMTI6MDU6NTcpOgp+IyEgcm49UHJhIHJ0PTgzOTU3ODMwMAp+IyEgdGlkPTgzOTUwMjkyNwpncnVtbWVsIGdydW1tZWwgZ3J1bW1lbC4uLmRzIGVzLCB1bmQgd2llIGVzIGdlaHQgd3Vzc3RlIGljaCBzY2hvbiwgYWN1aCBvaG5lCmhpbGZlIHBvc3QgKGFldHNjaCkgbnVyIGRhc3MgZGllIFBvc3Qgc28KdW56dXZlcmxhZXNzaWcgaXN0LCB3dXNzdGUgaWNoIG5pY2h0ClNvLi4uCmhhciAod3VlcnNjaGVuc2VoZXIpCiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZXVuZHNjaGFmdHNiYWVuZGVyIChQaG9ib3MsIDEzLiBBdWcgMTk5NiwgMTY6NDc6MTUpOgoKSGkhCkRhIHNpY2ggYmlzaGVyIGxlaWRlciBrZWluIE1hZ2llciBkcnVtIGdla3VlbW1lcnQgaGF0LCBzY2hyZWliZSBpY2gKbWFsIGVpbmUgKHp1bWluZGVzdCBmdWVyIGVpbmlnZSBMZXV0ZSkgd2ljaHRpZ2UgSW5mb3JtYXRpb24gaW4gZGllClplaXR1bmcuCgpBbSBNb250YWcgd3VyZGVuIGR1cmNoIGVpbmVuIFVuZmFsbCBkaWUgRnJldW5kc2NoYWZ0c2JhZW5kZXIKZWluaWdlciBTcGllbGVyIHplcnN0b2VydCwgdW5kIGFuc2NobGllc3NlbmQgbGVkaWdsaWNoIGVpbiBsZWVyZXMKRnJldW5kc2NoYWZ0c2JhbmQgZXJ6ZXVndCwgZC5oLiBkaWUgYmV0cm9mZmVuZW4gU3BpZWxlciBkdWVyZmVuCm5vY2htYWwgYWxsZSBpaHJlIEZyZXVuZHNjaGFmdGVuIGVybmV1ZXJuLgoKV3VuZGVyZSBkaWNoIGFsc28gbmljaHQsIHdlbm4gZHUgcmVpbmtvbW10LCB1bmQgcGxvZXR6bGljaCBqZWRlcgpoaWVyIGRlaW4gRnJldW5kIGlzdCAoYnp3LiBrZWluZXIpLCBvZGVyIGF1ZiBkZXIgYW5kZXJlbiBTZWl0ZSwgZmFsbHMKZGVpbiBlaWdlbmVzIEZyZXVuZHNjaGFmdHNiYW5kIGhlaWwgZ2VibGllYmVuIGlzdCwgc3RhZW5kaWcgTGV1dGUKYW5rb21tZW4sIHVtIGRpZSBGcmV1bmRzY2hhZnQgbWl0IGRpciB6dSBlcm5ldWVybi4KClRzY2h1ZXNzCiAgICAgICBNYXJzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZXVuZHNjaGFmdHNiYWVuZGVyIChXdXIsIDE0LiBBdWcgMTk5NiwgMDE6NDU6MzApOgp+IyEgcm49UGhvYm9zIHJ0PTgzOTk0NzYzNQp+IyEgdGlkPTgzOTk0NzYzNQpJY2ggZmFlbmRlIGVzIGd1dCwgd2VubiBkZW1uYWVjaHN0IGlyZ2VuZHdvIGVpbiBCYWNrdXAgdm9uIGRlbiBGYmFlbmRlcm4KZXhpc3RpZXJlbiB3dWVyZGUuIEVzIGlzdCBhcmdoIHN0cmVzc2lnIGFsbGUgaGFsYmUgSmFocmUgYWxsZXMgbmV1IHp1IG1hY2hlbiEKCld1ciBncnVtbWVsdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FydHVuZ3NhcmJlaXRlbiBhbSBJbnRlcm5ldC1BbnNjaGx1c3MgKFJvY2h1cywgMTQuIEF1ZyAxOTk2LCAxNDowMjoyNCk6CjEzLjA4LjogQW0gRG9ubmVyc3RhZywgZGVtIDE1LjguOTYgbXVzcyB6d2lzY2hlbiA4LjMwIFVociB1bmQgOS4zMCBVaHIKICAgICAgICB3ZWdlbiBXYXJ0dW5nc2FyYmVpdGVuIG1pdCBsYWVuZ2VyZW4gVW50ZXJicmVjaHVuZ2VuIGRlcwogICAgICAgIEludGVybmV0LUFuc2NobHVzc2VzIGRlciBVbml2ZXJzaXRhZXQgZ2VyZWNobmV0IHdlcmRlbi4KCk1pdCBhbmRlcmVuIFdvcnRlbjogV3VuZGVydCBFdWNoIG5pY2h0LCB3ZW5uIGlociBtb3JnZW4KZnJ1ZWggbmljaHQgaW5zIE11ZCBrb21tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXJ0dW5nc2FyYmVpdGVuIGFtIEludGVybmV0LUFuc2NobHVzcyAoSGFyLCAxNC4gQXVnIDE5OTYsIDE0OjAyOjU5KToKfiMhIHJuPVJvY2h1cyBydD04NDAwMjQxNDQKfiMhIHRpZD04NDAwMjQxNDQKRGFubiBtdXNzIHdvaGwgbWVpbiBGcnVlc3R1ZWNrc211ZGRlbiBhdXNmYWxsZW4gOigKSGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FydHVuZ3NhcmJlaXRlbiBhbSBJbnRlcm5ldC1BbnNjaGx1c3MgKExvY28sIDE0LiBBdWcgMTk5NiwgMTY6NDk6NTApOgp+IyEgcm49Um9jaHVzIHJ0PTg0MDAyNDE0NAp+IyEgdGlkPTg0MDAyNDE0NApIYWV0dGUgZGFzIHVlYmVyaGF1cHQgamVtYW5kIGdlbWVya3QgbmFjaCBkZW0gaGV1dGlnZW4gTmFjaG1pdHRhZz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXJ0dW5nc2FyYmVpdGVuIGFtIEludGVybmV0LUFuc2NobHVzcyAoTXVwZmVsLCAxNC4gQXVnIDE5OTYsIDE5OjQ2OjQzKToKfiMhIHJuPVJvY2h1cyBydD04NDAwMjQxNDQKfiMhIHRpZD04NDAwMjQxNDQKTmFqYSB1bSBkaWUgWmVpdCBzaW5kIGVoIG5pY2h0IG1laHIgYWxzIDIwLTI1IExldXRlIGRyaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGVyYW56YWhsIChVbG8sIDE3LiBBdWcgMTk5NiwgMTc6MzU6MzEpOgoKRmFsbHMgZXMgd2VuIGludGVyZXNzaWVydDogU2VpdCBkZW0gMTcuNy45NiB3YXJlbiAyODI1IHZlcnNjaGllZGVuZSBTcGllbGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGltIE1vcmdlbmdyYXVlbiEKClVsby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGVyYW56YWhsIChDYXVubywgMTcuIEF1ZyAxOTk2LCAxNzozNTo1OCk6Cn4jISBybj1VbG8gcnQ9ODQwMjk2MTMxCn4jISB0aWQ9ODQwMjk2MTMxCgpVbmQgd2lldmllbGUgZGF2b24gd2FyZW4gWndlaXRpZXM/CgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwaWVsZXJhbnphaGwgKENhdW5vLCAxNy4gQXVnIDE5OTYsIDE5OjM3OjU3KToKfiMhIHJuPVVsbyBydD04NDAyOTYxMzEKfiMhIHRpZD04NDAyOTYxMzEKIFdhbm4gZ2lidCBlcyBkaWUgZXJzdGUgVm9sa3N6YWVobHVuZz8gSmVkZXIgc2NoYXJ0IG1hbCBzZWluZSBad2VpdGllcywKVGVzdGllcyBldGMuIHVtIHNpY2guCgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGllbGVyYW56YWhsIChHcmltbWJvcm4sIDE4LiBBdWcgMTk5NiwgMDA6MzY6MzgpOgp+IyEgcm49Q2F1bm8gcnQ9ODQwMzAzNDc3Cn4jISB0aWQ9ODQwMjk2MTMxCgpOb2UsIGRpZSBnaWJ0cyBlcnN0IHp1IGRlciBaZWl0LCBkYSBDeXJlbml1cyBTdGF0dGhhbHRlciB2b24gU3lyaWVuIGlzdC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHZlcndlY2hzZWx0IGFsbGdlbWVpbiBtaXQgc2NobWFycm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcmFzaCBkdXJjaCBNYWdpZXJ0b29sIChHcmltbWJvcm4sIDE4LiBBdWcgMTk5NiwgMDI6MDY6MzYpOgoKU28sIGljaCBoYWIgdm9yaGluIGRhcyBtdWQgZ2VjcmFzaHQuIEljaCBiaW4gc2NodWxkLCBtZWEgY3VscGEsIG1lYSBjdWxwYSwgbWVhCm1heGltYSBjdWxwYS4KRGVyIGNyYXNoIHdpcmQgdmVydXJzYWNodCBkdXJjaCBlaW5lbiByZWNodCBoYWV1ZmlnZW4gQmVmZWhsIGluIGVpbmVtIHJlY2h0CmhhZXVmaWdlbiB0b29sLCBkaWUgQ2hhbmNlIGZ1ZXIgZWluIHZlcnNlaGVudGxpY2hlcyBSdW50ZXJmYWhyZW4gaXN0CmRlbWVudHNwcmVjaGVuZCBncm9zcy4gSWNoIGJpbiBnZXdhcm50IHdvcmRlbiwgZGEgaW4gZGVyIG1wYSBhYmVyIG5pY2h0cyBzdGFuZAood2FzIGljaCBpbiBlaW5lbSBzb2xjaGVuIEZhbGwgZXJ3YXJ0ZXQgaGFldHRlKSBoYWIgaWNoIGRhcyBuaWNodCBzbyBlcm5zdApnZW5vbW1lbiB1bmQgZnJvZWhsaWNoIHJ1bXByb2JpZXJ0LiBFcmdlYm5pczogRGVyIGJ1ZyBpc3QgZGEgdW5kCnJlcHJvZHV6aWVyYmFyLiBKYSwgaWNoIGhhZXR0ZSB3YXJlbmVuIHNvbGxlbiwgYWJlciBkYWZ1ZXIgaGF0dGUgaWNoIGRhcwpsZWlkZXIgYXVzIGRpdmVyc2VuIEdydWVuZGVuIG5pY2h0IGVybnN0IGdlbnVnIGdlbm9tbWVuLgoKSGllciBub2NobWFsIGZ1ZXIgYWxsZSBNYWdpZXIgKGlzdCBqYSBkaWUgZXJzdGUgUnVicmlrIGhpZXIpOiAKcGwgc3BpZWxlciBzYyhvcmUpIENSQVNIVCBEQVMgTVVELiBEYXMgaXN0IGtlaW4gV2l0eiwgaWhyIGJyYXVjaHQgZGFzIE5JQ0hUCmF1c3p1cHJvYmllcmVuIQpFcyBpc3QgbmljaHQgU2lubiBkZXIgU2FjaGUsIG11dHdpbGxpZyBpbW1lciB3aWVkZXIgc29sY2hlIGJ1Z3MgenUga2l0emVsbiwKd2VubiBzaWUgZWlubWFsIGVya2FubnQgc2luZC4gSWNoIGZ1ZWhsZSBtaWNoIGhhbGJ3ZWdzIGVudHNjaHVsZGlndCwgd2VpbCBlcgptaXIgZWJlbiBuaWNodCBnZW5hdSBiZWthbm50IHdhci4gQXVzc2VyZGVtIGhhYmVuIGhpZXIgU3BpZWxlciBuZSBoYWxiZSBTdHVuZGUKdmVyc3VjaHQsIG1pciBkZW4gS29wZiB6dSB3YXNjaGVuLiBNaXQgbWFlc3NpZ2VtIEVyZm9sZywgYWJlciBpbW1lcmhpbi4gOy0pCkJpcyBzaWNoIGhpZXIgZWluIEVNIGJsaWNrZW5sYWVzc3QsIGtvZW5udCBpaHIgamEgamVkZW4gcmVpbmtvbW1lbmRlbiBNYWdpZXIKbmVydmVuIG1pdCBkZXIgTWl0dGVpbHVuZyAiRklOR0VSIFdFRyBWT04gREVSIExVUEUhISEiLiBEYXMga2FubiBtYW4gc2ljaGVyCmF1Y2ggdHJpZ2dlcm4sIHZvZWxsaWcgdW5hdXRob3Jpc2llcnQgZXJsYXViZSBpY2ggaGllcm1pdCBlaW5lbiBlbnRzcHJlY2hlbmRlbgp0cmlnZ2VyLiA6LSkKClNjaG9lbmVuIFNvbm50YWcgdW5kIHNvLAogICAgICAgICAgICAgICAgICAgICAgICAgR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVaSAhIChPZXR0aSwgMTkuIEF1ZyAxOTk2LCAxMjowMzoxMCk6Ckh1aHUgIQoKSGFiIGVpbiBEZXBwZW4gZ2V6YXBwdCwgZGVzd2VnZW4gendpbmd0IG1hbiBtaWNoIHp1IHZpZXIgV29jaGVuIFNwaWVscGF1c2UuLi4KCgpTZWUgeWEgISA7LSkKCk9ldHRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprYWVtcGZlIChDYXJhZGhyYXMsIDI1LiBBdWcgMTk5NiwgMjI6MDI6NDcpOgpXaWVzbyBzaWVodCBtYW4gZWlnZW50bGljaCwgd2VubiBqZW1hbmQgaW0gRHVua2VsbiBrYWVtcGZ0PwoKICAgICAgIElzdCBkb2NoIHZvZWxsaWcgdW5sb2dpc2NoCgogICAgICAgICAgICBSb3Rob3JuIENhcmFkaHJhcyBCYXJhemluYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2FlbXBmZSAoVWxvLCAyNS4gQXVnIDE5OTYsIDIyOjE5OjUyKToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDEwMDMzNjcKfiMhIHRpZD04NDEwMDMzNjcKCldpZXNvIGthbm4gbWFuIGluIGR1bmtsZW4gUmFldW1lbiB1ZWJyaGF1cHQga2FlbXBmZW4/CgogICAgIElzdCBkb2NoIHZvZWxsaWcgdW5sb2dpc2NoCgogICAgICAgICAgIEZsdXNzZHJhY2hlbmJhYnkgVWxvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGthZW1wZmUgKEdyaW1tYm9ybiwgMjUuIEF1ZyAxOTk2LCAyMzoxMzowMCk6Cn4jISBybj1VbG8gcnQ9ODQxMDA0MzkyCn4jISB0aWQ9ODQxMDAzMzY3CgpXaWVzbyBsZWJ0IG1hbiBuYWNoIGRlbSBUb2Qgd2VpdGVyPwoKICAgICAgSXN0IGRvY2ggdm9lbGxpZyB1bmxvZ2lzY2gKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2FlbXBmZSAoQ2FyYWRocmFzLCAyNS4gQXVnIDE5OTYsIDIzOjE0OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDEwMDc1ODAKfiMhIHRpZD04NDEwMDMzNjcKKmJydW1tKiBOYSBndXQsIGJpbiBqYSBzY2hvbiBydWhpZy4gOikKCiAgQmFyYXppbmJhciBDYXJhZGhyYXMgdW5kIHNlaW5lIFJlaW5rYXJuYXRpb25lbiBJIGJpcyBYSUkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrYWVtcGZlIChSYWZmaSwgMjYuIEF1ZyAxOTk2LCAxNDoyNTozMyk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQxMDAzMzY3Cn4jISB0aWQ9ODQxMDAzMzY3CgpXYXMga3VlbW1lcnQgZWluZW4gRnJvc2NoIGRhcyBLYWVtcGZlbiBpbSBEdW5rZWxlbiA/Cgpub2NoIHZpZWwgdW5saW9naXNjaGVyCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga2FlbXBmZSAoQXNtb2RpcywgMjYuIEF1ZyAxOTk2LCAyMDoyNjozMik6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQxMDA3NjQ4Cn4jISB0aWQ9ODQxMDAzMzY3CldpZXNvIGtvZW5uZW4gRnJvc2NoZSB1ZWJlcmhhdXB0IG1pdCBuZXIgV2FmZmUga2FlbXBmZW4gdW5kIG5lIFJ1ZXN0dW5nCnRyYWdlbj8gaXN0IGF1Y2ggdm9lbGxpZyB1bmxvZ2lzY2ggCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBrYWVtcGZlIChXYXJnb24sIDI3LiBBdWcgMTk5NiwgMTA6MTU6NTYpOgp+IyEgcm49QXNtb2RpcyBydD04NDEwODM5OTIKfiMhIHRpZD04NDEwMDMzNjcKWnVtaW5kZXN0IHNvbGx0ZW4gZGllIEVpbi0gdW5kIEF1c2dhbmdzbWVsZHVuZ2VuIHZvbiBGcm9lc2NoZW4gZWlnZW50bGljaApldHdhcyBhbmRlcnMgYXVzc2VoZW4uLi4KRWluIEhhdWZlbiBBdXNydWVzdHVuZyBzY2hlcHBlcnQgaGVyZWluLgpFaW4gSGF1ZmVuIEF1c3J1ZXN0dW5nIHNjaGVwcGVydCBuYWNoIE5vcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGthZW1wZmUgKFF1YXNpbW9kbywgMjcuIEF1ZyAxOTk2LCAxMDo0Mzo0NSk6Cn4jISBybj1Bc21vZGlzIHJ0PTg0MTA4Mzk5Mgp+IyEgdGlkPTg0MTAwMzM2NwpEYXMgRnJvZXNjaGUgQXVzc3J1ZXN0dW5nIHRyYWdlbiBrb2VubmVuIGlzdCB3aXJrbGljaCB1bnJlYWxpc3Rpc2NoCkljaCBoYWIgZGFzIG1hbCBhdXNnZWJhdXQuCgpRdWFzaW1vZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGthZW1wZmUgKFF1YXNpbW9kbywgMjcuIEF1ZyAxOTk2LCAxMDo0NDowMik6Cn4jISBybj1RdWFzaW1vZG8gcnQ9ODQxMTM1NDI1Cn4jISB0aWQ9ODQxMDAzMzY3CldhciB1ZWJyaWdlbnMgZWluIFdpdHouLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGthZW1wZmUgKFJoYW5hLCAyNy4gQXVnIDE5OTYsIDE0OjAyOjIxKToKfiMhIHJuPVF1YXNpbW9kbyBydD04NDExMzU0NDIKfiMhIHRpZD04NDEwMDMzNjcKCiBBYmVyIG5laG10IGV1Y2ggdm9yIEthcmF0ZWZyb3NjaGVuIGluIGFjaHQhISEhIQoKaS5BLiBKYXJpZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGthZW1wZmUgKEJsb29keWhhcnJ5LCAyOS4gQXVnIDE5OTYsIDIyOjU5OjI1KToKfiMhIHJuPVJoYW5hIHJ0PTg0MTE0NzM0MQp+IyEgdGlkPTg0MTAwMzM2NwoKVW5kIGJlc29uZGVycyB2b3IgZGVuIEtuYWxsZnJvZXNjaGVuIG9iYWNodCBnZWJlbiEKCkJIIGFyZ2x0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWFsaXNtdXMgcHVyIG9kZXIgZWluIEdydW5kIHp1bSBub2VyZ2Vsbj8gKFp1ZXJpbGV1LCAzMC4gQXVnIDE5OTYsIDAxOjQyOjI3KToKSGFsbG8gTGV1dGUsCk51biB1bnNlcmUgaG9oZW4gR29ldHRlcm4gdW5kIGltbWVyIG1laHIgU3BpZWxlciBrbGFnZW4gZGFzIE1HIHdlZ2VucyB6dSB3ZW5pZwpSZWFsaXNtdXMgYW4uIEVpbmVzIHZlcmdlc3NlbiBkaWVzZSBMZXV0ZSBhYmVyIGltbWVyIHdpZWRlciwgZGFzIGhpZXIgaXN0IGVpbmUKRmFudGFzaWUtV2VsdCB1bmQgaGF0IG1pdCByZWFsaXNtdXMgc293ZW5pZyB6dSB0dW4gd2llIGVpbmUgQ3Vycnktd3Vyc3QgbWl0CmVpbmVtIHN0aW5rZW5kZW4KZ2VicmF1Y2h0ZW4gU29ja2VuLiBOdW4sIHNjaGFkZSBmaW5kIGljaCBkYWJlaSBudXIsIGRhcyBkdXJjaCBkaWVzZSBnYW56ZQpSZWFsaXNtdXMgZ2VzY2h3YWZmZWwgZGVyIHNwaWVsc3Bhc3Mgdm9ybmUgYWIgYXVmIGRlciBzdHJlY2tlIGJsZWlidC4gRGFzIE11ZAp3aXJkIGZ1ZXIgZWluc3RlaWdlciBpbW1lciBzY2h3aXJpZ2VyIHVuZCBmdWVyIFByb2ZpcyBpbW1lciBTcGllbGxhZXN0aWdlciBkYQptYW4gZnVlciBnZXdpc3NlIERpbmdlCmltbWVyIG9lZnRlcnMgZHVyY2ggaXJnZW50IHdhcyBiZWhpbmRlcnQgd2lyZCBvZGVyIG1hbiBtdXNzIHN0dW5kZSB1bSBzdHVuZGUKZnVlciAxJSBlcmZvbGcgbWVociBhcmJlaXRlbi4KTmEgdG9sbCwgaWNoIGJpbiB3aWVkZXIgMSUgYmVzc2VyIGFscyB2b3IgNWgsIGphamEuLiBldnRsIGV0d2FzIHVlYmVydHJpZWJlbgphYmVyIGFsbGVzIHNhdWcgaWNoIG1pciBuaWNodCBhdXMgZGVuIGZpbmdlcm4uCk51biwgaWNoIGZyYWdlIG1pY2ggamEgenVtIFRlaWwgd2FydW0gbWFuIG5hY2ggNSBSYWV1bWVuIGxhdWZlbiBuaWNodCBmdXNzd2VoCmJla29tbXQgd2VpbCBtYW4genV3ZW5pZyBzcG9ydGxpY2ggaXN0IHVuZCBkYW5uIGpld2VpbHMgcHJvIHJhdW0gZWluZSBtaW51dGUKYXVzcnVoZW4gbXVzcy4gT2RlciB3YW5uIGtvbW10IGRhcyBOYWNodCAmIFRhZyBzeXN0ZW0gb2RlciBodW5nZXIgJiBkdXJzdCA/ClJlYWxpc211cyBwdXIuCkphLCB3aWUgbWFuIGRhcyBkb2NoIHZvbiB6dWhhdXNlIHNjaG9uIGtlbm50LCBsYW5nZSB3YW5kZXJ1bmdlbiBtYWNoZW4gd3VuZGUsCnNjaHdlaXNzIGZ1ZXNzZSBkaWUgc3RpbmtlbiEgZXZ0bCwgc29sbHRlIG1hbiBzY2h3ZWlzc2dlcnVjaCBtYWwgZWluZnVlaHJlbgp3ZW5uIG1hbiBuaWNodCBkaWUgU2NodWhlIGFsbGUgcGFhciBNaW51dGVuIHdlY2hzZWx0LgpVbmQgd28gYmxlaWJ0IGVpZ2VudGxpY2ggZGFzIGtsZWluZSBHZWFzY2hhZWZ0PyB1bnNlcmUgQWJlbnRldWVyaW5uZW4gdW5kCkFiZW50ZXVlciBlc3NlbiB1bmQgdHJpbmtlbiBkb2NoIHNlaHIgdmllbCwgd28gYmxlaWJ0IGRpZSB2b2xsZSBibGFzZSA/PyBobW0uLgpudW4uLiBuaW1tdCBuaWNodCBhbGxlcyB0b3Rlcm5zdCB1bmQgbWl0IEh1bW9yIGF1ZiBhYlJFQUxJU01VUyBQVVIgISBXYXMgd29sbHQKaWhyIG1laHIgPwoKKmlyb25pZSBvZmYqIHRzY2h1ZXNzIHphZW1lIFp1ZXJpbGV1CgpQUzogZXZ0bC4gVHlwb3MgZGllIGlociBpbSBUZXh0IGZpbmRldCBzaW5kIHZvbSBTY2hyZWliZXIgYWJzaXh2Y2h0IHVuZCBzbwpnZXdvbGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYWxpc211cyBwdXIgb2RlciBlaW4gR3J1bmQgenVtIG5vZXJnZWxuPyAoV3VyemVsLCAzMC4gQXVnIDE5OTYsIDAxOjUzOjIwKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg0MTM2MjE0Nwp+IyEgdGlkPTg0MTM2MjE0NwpobSwgc28gbWFuY2hlIGN1cnJ5d3Vyc3QgaGF0IG5lIGdhbnplIG1lbmdlIG1pdCBzdGlua2VuZGVuIGFsdGVuIHNvY2tlbgpnZW1laW5zYW0uLi4KdW5kIHdlciBlaW4gbWVuc2NobGljaGVzIGJlZHVlcmZuaXMgdmVyc3B1ZXJ0LCBrYW5uIHNpY2ggaW4gd2lsaGVsbXNidXJnCmVybGVpY2h0ZXJuIDopCmFiZXIgZXJuc3Q6IHp1dmllbCByZWFsaXNtdXMgaXN0IGF1Y2ggZG9vZi4gd2llIHNhZ3RlIGRvY2ggZWluZXIgc28gc2Nob2VuOgpyZWFsIGxpZmUgaXMgYSBnYW1lIHdpdGggdG9vIG1hbnkgYW5kIHRvbyBjb21wbGljYXRlZCBydWxlcywgYnV0IGRhbW4gZ29vZApncmFwaGljcy4uLgp3ZW5uIGVpbiBzcGllbCB6dSByZWFsaXN0aXNjaCB3aXJkLCBrYW5uIGljaCBtaXIgZ2xlaWNoIHJlYWwgbGlmZSByZWludHVuLApkYW5uIGJyYXVjaCBpY2ggZGFzIG5pY2h0IG5vY2ggenVyIGVudHNwYW5udW5nL3p1bSBzcGFzcyBoYWJlbi96dSBkZW0sIHdhcwppbW1lciBtYW4gZGFtaXQgdmVyYmluZGV0LiB3ZW5uIGljaCBuZXUgaW4gZWluIG11ZCBrb21tZSwgdW5kIG5hY2ggendlaQptaW51dGVuIGVyc2NoZWludCBkaWUgbWVsZHVuZywgZGFzcyBpY2ggaHVuZ2VyIGhhYmUgdW5kIGJhbGQgd2FzIGVzc2VuCm11ZXNzdGUsIGxvZyBpY2ggbWljaCBzb2ZvcnQgd2llZGVyIGF1cy4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJmb2xnICEgKERyZnJldWQsIDMwLiBBdWcgMTk5NiwgMTI6NTU6MzgpOgpJY2ggbW9lY2h0ZSBoaWVybWl0IE1pdHRlaWxlbiwgZGFzIGVzIG1pciBnZWx1bmdlbiBpc3QgbWVpbmVtIFBhdGllbnRlbiBTaXIKT3JrdG9ldGVyIHp1IGhlbGZlbi4KTmFjaCBlaW5lciBsYW5nZW4gaW50ZW5zaXZlbiBQc3ljaG90aGVyYXBpZSBpc3QgZXIgbnVuIGZhc3QgZ2VoZWlsdC4gU2VpbmUKUGFuaWsgdm9yIEZvcnNjaGVycHVua3RlbiBGUCBpc3QgbmljaHQgbWVociB2b3JoYW5kZW4gKGF1Y2ggd2VubiBlciBzaWUgaW1tZXIKbm9jaCBuaWNodCBtYWcpLgpXZW5uIGFsc28gamVtYW5kIFNpciBPcmt0b2V0ZXIgZGVtbmFlY2hzdCBpbiBkZXIgQWJlbnRldXJlcmdpbGRlIHN0ZWhlbiBzaWVodCwKd2llIGVyIGRpZSBVaHIsIGRpZSBXYWVuZGUgZXRjLiB1bnRlcnN1Y2h0LCBrZWluZSBBdWZyZWd1bmcsIGlociBicmF1Y2h0IG5pY2h0CmdsZWljaCBlaW5lbiBOb3Rhcnp0IHp1IHJ1ZmVuLgpEci4gRnJldWQsIGJlaGFuZGVsdCBudXIgaG9mZm51bmdzbG9zZSBGYWVsbGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmb2xnICEgKEdyaW1tYm9ybiwgMzAuIEF1ZyAxOTk2LCAxNzoxMTowMik6Cn4jISBybj1EcmZyZXVkIHJ0PTg0MTQwMjUzOAp+IyEgdGlkPTg0MTQwMjUzOAoKT3JrdG9ldGVyIGdlaGVpbHQ/IERhcyBnbGF1YiBpY2ggZXJzdCB3ZW5uIGljaCBkYXMgc2VoZSwgdW5kIGRhcyB3aXJkIHdvaGwKa2F1bSBqZSBwYXNzaWVyZW4ga29lbm5lbi4gV2VubiBzbyBlaW5lciBnZWhlaWx0IHdlcmRlbiBrYW5uLCBkYW5uIGhhYiBpY2ggamEKYXVjaCBBdXNzaWNodGVuIG5vcm1hbCB6dSB3ZXJkZW4/IEJycnJyciwgbmllbWFscyEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gVW5oZWlsYmFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcmZvbGcgISAoRHJmcmV1ZCwgIDIuIFNlcCAxOTk2LCAxMjoxNjoyMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQxNDE3ODYyCn4jISB0aWQ9ODQxNDAyNTM4ClVuaGVpbGJhciA/CldpbGtvbW1lbiBqdW5nZXIgTWFubiwgc2llIHNpbmQgYWxzbyBlaW5lciBkaWVzZXIgaG9mZm51bmdzbG9zZW4gRmFlbGxlID8KRGFzIGtsaW5ndCBuYWNoIGVpbmVyIHdhaHJlbiBIZXJhdXNmb3JkZXJ1bmcuClNjaGlsZGVybiBzaWUgbWlyIGRvY2ggZWluIG1hbCBrdXJ6IGlociBQcm9ibGVtIHVuZCBtYWNoZW4gc2llIGRhbm4gZWluZW4KZXJzdGVuIFRlcm1pbiBtaXQgbWVpbmVyIFNla3JldGFlcmluIGF1cy4KRHIgRnJldWQsIGt1cmllcnQgbnVyIGhvZmZudW5nc2xvc2UgRmFlbGxlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm92ZWxsRG9zIC0+IE1TRG9zID8/PyAoRnJ5ZGVyLCAgMi4gU2VwIDE5OTYsIDE4OjQ5OjAyKToKCkt1cnplIEZyYWdlOiBHaWJ0IGVzIGVpbmUgTW9lZ2xpY2hrZWl0LCBOb3ZlbGxEb3MtRGF0ZWllbiBpbnMgTVNEb3MgenUgcmV0dGVuLgphbm4gbWlyIGRhcyBiaXR0ZSBqZW1hbmQga3VyeiB6dW1haWxlbiAoYml0dGUgYWxsZXMgYXVzc2VyIERFTCAqLiopLiBEYW5rZQoKRnJ5ZGVyIE1jS25lZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIHdhcnMgKHdlciBzb25zdCkgISAoUmFudGFucGxhbiwgIDIuIFNlcCAxOTk2LCAyMzo0Nzo1Myk6CkljaCB3YXJzLCBJY2ggaGFiZSBBbmFraW4gZ2V6YXBwdCB1bmQgaWNoIGhhYiBkYXMgenUgdmVyYW50d29ydGVuLCByZWluCnBoeXNpc2NoIGdlc2VobiBoYXQgS2xvbmsgZGVuIEd1eSBmZXN0Z2VoYWx0ZW4gdW5kIGljaCBoYWIgCkFuYWtpbiBnZXphcHB0LCBoYXNzdCBtaWNoIHRvZXRldCBtaWNoIGxvZXNjaHQgbWljaCwgYWJlciAKdHV0IGRlbSBHdXkgbml4LCBkZXIga2FubiBpeCBkYXp1LCB1bmQgYWNoIGljaCByZWcgbWljaCBqYSBhdWNoIGdhYWFhYWFhcgpuaWNodCBhdWYuLi4uCgp1bmQgdHNjaHVlc3MKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb25zdHJ1a3RpdmUgS3JpdGlrIChWZXJzdWNoKSAoQ3JpdGlhcywgIDMuIFNlcCAxOTk2LCAwMTozMTowNyk6CkVpZ2VudGxpY2ggd29sbHRlIGljaCBuZSBNYWlsIGFuIGFsbGUgR2lsZGVuLXZlcmFudHdvcnRsaWNobiBNYWdpZXIgc2NoaWNrZW4hCkFiZXIgaWNoIGRlbmtlIGRhcyBnZWh0IG5vY2ggbWVociBMZXV0ZSBhbiEgCkFsc28sIGljaCBkZW5rZSwgZGEgaW4gZGVyIGxldHp0ZW4gWmVpdCB2ZXJzdGFlcmt0IGFuIGRlbiBHaWxkZW4gInJ1bWdlbWFjaHQiCnd1cmRlLCBkYXNzIGxhbmdzYW0gYXVjaCBtYWwgZGllIENoYW9zZ2lsZGUgZHJhbiB3YWVyZS4gRXMgbGllZ3QgbmF0dWVybGljaApoYXVwdHNhZWNobGljaCBpbiBtZWluZW0gYnp3IGRlbSBJbnRlcmVzc2UgZGVyIENoYW90ZW4sIGFiZXIgZGFzIEdsZWljaGdld2ljaHQKaW0gTUcga29lbm50ZSB3aWVkZXIgZWluIGJpc2NoZW4gYXVmIHZvcmRlcm1hbm4gZ2VicmFjaHQgd2VyZGVuISAKMS4gUmVib290OiBXZWxjaGUgR2lsZGUgaGF0IG5hY2ggZGVtIFJlYm9vdCBkaWUgZ3JvZXNzdGVuIFByb2JsZW1lIChvZGVyCnNvbGx0ZSBpY2ggbGllYmVyIHNhZ2VuIHVlYmVyaGF1cHQgUHJvYmxlbWU/PyBEaWUgQ2hhb3RlbiEgV2VubiBpY2ggZGEgZGllClphdWJlciwgS2xlcmlrZXIgb2RlciBLYXJhdGVrYXMgZGVua2UuLi4uCjIuIEthbXBma3JhZnQ6IEVpbiBDaGFvdCBoYXQgbnVyIHNlaW5lIHZvbGxlIEthbXBma3JhZnQsIHdlbm4gZXIgd2lya2xpY2ggZ3V0ZQpBdXNydWVzdHVuZyB1bmQgZWluZW4gaGFsYndlZ3MgdmVybnVlbmZ0aWdlbiBEYWVtb24gZGFiZWkgaGF0LiBEYXMgbWV0emVsbiBkZXIKQXVzcnVlc3R1bmcgaXN0IHNlaHIgemVpdGF1ZndlbmRpZywgZGEgbWFuIGJlaSBpbW1lciB3aWVkZXIgYXVmZ2V3ZXJ0ZXRlbgpNb25zdGVybiB1bmQgaW0gVmVyZ2xlaWNoIHp1IGFuZGVyZW4gR2lsZGVuIG9obmUgd2lya2xpY2ggZ3V0ZSBBdXNydWVzdHVuZwphbmdlc2NobWllcnQgaXN0LiBEaWUgZGFlbW9uZW4gc2luZCBtZWluZXMgZXJhY2h0ZW5zIHp1IGF1ZndlbmRpZyB6dQpiZXNjaHdvZXJlbi4gCjMuIFZlcmdsZWljaDogS2FtcGYgZWluZXMgQ2hhb3RlbiAodm9sbCBhdXNnZXJ1ZXN0ZXQgbWl0IHZpZWxlbiBoZXJ2b3JyYWdlbmRlbgpHZWdlbnN0YWVuZGVuKSBMZXZlbCAzNC84IGdlZ2VuIGVpbmVuIFphdWJlcmVyIChuYXR1ZXJsaWNoIG9obmUgQXVzcnVlc3R1bmcpCkxldmVsIDM1LzghISBEZXIgQ2hhb3QgKGluIGRpZXNlbSBGYWxsIHdhcnMgaWNoIHZvciAzIFdvY2hlbiApIGdpbmcgbWl0IDI1IExQCnVuZCAwIE1QIGF1cyBkZXIgQXJlbmEhIERlciBaYXViZXJlciBoYXR0ZSBub2NoIDIwNSBMUCB1bmQgNzAgTXAhIE1hbiBrb2VubnRlCmpldHp0IHNhZ2VuICwgZGFzcyBkZXIgZGlyZWt0ZSBHaWxkZW52ZXJnbGVpY2ggaGlua3QhIE51biBndXQsIGRhcyBtYWcgc2Vpbi4KQWJlciBpc3QgZGFzIG5pY2h0IHRyb3R6ZGVtIGRlcHJpZW1pZXJlbmQ/PyBGdWVyIG1pY2ggd2FyIGVzIGRhcyEgV2VubiBtYW4gbWFsCmRhcnVlYmVyIG5hY2hkZW5rdCwgd2VsY2hlIFdhZmZlIGZ1ZXIgZGVuIENoYW90ZW4gd29obCBhbSB3aWNodGlnc3RlbiBpc3Qgd2lyZAplaW5lbSB3b2hsIGRlciBWb2xsc3RyZWNrZXIgZWluZmFsbGVuISBJY2ggYnJhdWNoIGZ1ZXIgZGVuIFZvbGxzdHJlY2tlcgp1bmdlZmFlaHIgNCpvZCA1KnNvIGxhbmdlIHdpZSBlaW4gWmF1YmVyZXIhIERhbmFjaCBiaW4gaWNoIHZvbGwgdW5kIG11c3MKaWRlbG4hIEFiZXIgdW0genVtIFdlZ2hpZXIgenUgZ2VoZW4sIHVuZCBlaW5lIHJlZWxlIENoYW5jZSB6dSBoYWJlbiwgbXVzcyBtYW4Kd2llZGVycnVtIHNjaG9uIHZvcmhlciB2b2xsIGF1c2dlcnVlc3RldCBzZWluLi4uIHVzdy4uLgpXb3J1bSBpY2ggYml0dGVuIHdvbGx0ZSwgaXN0IGRhc3MgbWFsIGVpbmlnZSBNYWdpZXIgZGFydWViZXIgbmFjaGRlbmtlbiEKV3VlcmRlIHNpY2hlcmxpY2ggbmljaHQgbnVyIGRlbiBDaGFvdGVuIHp1Z3V0ZSBrb21tZW4uIApXZW5uIGpldHp0IGVpbmVyIGRlciBNYWdzIHNhZ3Q6IEd1dCBtZWNrZXJuIGthbm4gZXIgYWJlciB3byBzaW5kIGRpZQpWb3JzY2hsYWVnZT8/IChpY2ggc2Nod2l0emUgbWlyIGhpZXIgZGllIGdhbnplIFplaXQgZWluZW4gYWIsIGRhc3MgZGllIFNjaGVpLi4KVmVyYmluZHVuZyBuaWNodCBhYmJyaWNodCEhIDopKSBJY2ggaGFiIGFiZXIgZWluaWdlIHp1IG1hY2hlbiB1bmQgd3VlcmRlIG1pY2gKdWViZXIgbWFpbHMgdm9uIE1hZ3MgZnJldWVuIQoKQ3JpdGlhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbnN0cnVrdGl2ZSBLcml0aWsgKFZlcnN1Y2gpIChGeXQsICAzLiBTZXAgMTk5NiwgMDE6MzQ6NDQpOgp+IyEgcm49Q3JpdGlhcyBydD04NDE3MDcwNjcKfiMhIHRpZD04NDE3MDcwNjcKCkdlbmF1Li4uIGRpZSBHaWxkZW4gc2luZCBhbGxlIHZpZWwgenUgc3RhcmsuLi4KCkZ5dC4KClBTOiBLYW5uIHNpY2ggbm9jaCBqZW1hbmQgZHJhbiBlcmlubmVybiB3aWUgZGVyIEZldWVyYmFsbCBlcmZ1bmRlbiB3dXJkZT8KKnNjaG1hY2h0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbnN0cnVrdGl2ZSBLcml0aWsgKFZlcnN1Y2gpIChBc21vZGlzLCAgMy4gU2VwIDE5OTYsIDAyOjU1OjQ3KToKfiMhIHJuPUNyaXRpYXMgcnQ9ODQxNzA3MDY3Cn4jISB0aWQ9ODQxNzA3MDY3Ck9jaCBub2UsIG1hY2h0IGRpZSBDaGFvdGVuIG5pY2h0IHNjaG9uIHdpZWRlciBzdGFlcmtlciwgd2FlaHJlbmQgZGllCmFuZGVyZW4gR2lsZGVuIGFsbGUgYWJnZXdlcnRldCB3ZXJkZW4gOigKRGFzIG1pdCBkZXIgQXVzcnVlc3R1bmcgaXN0IHdvaGwgUGVjaCwgZXMgaXN0IGphIGF1Y2ggbmljaHQgbm9ybWFsLApkYXNzIGRhcyBNVUQgZGF1ZXJuZCBjcmFzaHQuIEFiZXIgdW0gbmUgb3B0aW1hbGUgUnVlc3R1bmcgenUga3JpZWdlbgooei5CLiBTY2h1cHBlbnBhbnplciwgR29ibGluaGVsbSwgSGFuZHNjaHVoZSwgU3RpZWZlbCwgS3JldXosIC4uLikKYnJhdWNodCBtYW4gd2lya2xpY2ggbmljaHQgbGFuZ2UgYWxzIEhMUC1DaGFvdC4KQXVzc2VyZGVtIGlzdCBkZXIgQXJiZWl0c2F1ZndhbmQgZGVyIENoYW90ZW4gYmVpbSBob2NoYXJiZWl0ZW4gaW4gZGVyCkdpbGRlIHNlaHIgdmllbCBnZXJpbmdlciBhbHMgYmVpIEthcmF0ZWthcyBvZGVyIFphdWJlcmVybi4KVW5kIHVtIGRlbiBWZXJnbGVpY2ggenUgZGVuIEtsZXJpa2VybiB6dSB6aWVoZW4sIGRpZSBtdWVzc2VuIHNpY2ggYXVjaAppaHJlIEF1c3J1ZXN0dW5nIGVybWV0emVsbiB1bmQgc2luZCBudXIgZ2VnZW4gYmVzdGltbXRlIG5wY3MgZGVuIENoYW90ZW4KZ2xlaWNod2VydGlnLCBhbnNvbnN0ZW4gaGFiZW4gc2llIGtlaW5lbiBTcGVsbCwgZGVyIHNvIHJpY2h0aWcgdmllbApTY2hhZGVuIG1hY2h0LgpBbHNvIGljaCBmaW5kZSBlcyBndXQsIHdpZSBlcyBtb21lbnRhbiBzbyBpc3QsIGRpZSBaYXViZXJlciBzaW5kIGViZW4KaW4gZGVuIGhvaGVuIEdpbGRlbnN0dWZlbiBkaWUgU3RhZXJrc3RlbiwgZGFmdWVyIGhhYmVuIHNpZSBhdWNoIApleHRyZW0gdmllbCBBcmJlaXQsIHVtIHNpY2ggZXJzdG1hbCBkYWhpbnp1YXJiZWl0ZW4uCgoKCkFsc28gbmljaHQgc2Nob24gd2llZGVyIGlyZ2VuZHdpZSBhbiBkZXIgR2lsZGVuYmFsYW5jZSBydW1leHBlcmltZW50aWVyZW4sCmRhbWl0IGRhbm4gYWxsZSBhdWZzY2hyZWllbiB1bmQgdW5lbmRsaWNoZSBEaXNrdXNzaW9uZW4gc3RhcnRlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbnN0cnVrdGl2ZSBLcml0aWsgKFZlcnN1Y2gpIChIYWRyYSwgIDMuIFNlcCAxOTk2LCAwOToxNjo1Nyk6Cn4jISBybj1Dcml0aWFzIHJ0PTg0MTcwNzA2Nwp+IyEgdGlkPTg0MTcwNzA2NwpiZWkgZGVuZW4sIGRpZSBuYWNoIGRlbSByZWJvb3QgZXJzdCBtYWwgJ2V3aWcnKD8pIG5hY2ggYXVzcnVlc3R1bmcgbWV0emVsbgptdWVzc2VuLCBoYXN0IGR1IGRpZSBndXRlbiBhbHRlbiBhYmVudGV1cmVyIGRvY2ggZ2xhdHQgdWViZXJzZWhlbiA7KSAKc2NoZXJ6IGJlaXNlaXRlLiBpbSBkaXJla3RlbiB2ZXJnbGVpY2ggd2lyZCBpbW1lciBnaWxkZSBhIGJlc3NlciBhbHMgZ2lsZGUgYiwKdm9yIGFsbGVtIHdlbm4gc3BpZWxlciBhIGF1ZiBkZXIgZ2FuemVuIGJhbmRicmVpdGUgZGVyIG1vZWdsaWNoa2VpdGVuIHNlaW5lcgpnaWxkZSB6dSBzcGllbGVuIHZlcnN1Y2h0LiB1bmQgZXMgd2lyZCBhdWNoIGltbWVyIHdpZWRlciBtb25zdGVyIGdlYmVuLCBkaWUKdm9uIGRlbSBlaW5lbiBiZXNzZXIgenUgZXJsZWdlbiBzaW5kIGFscyB2b20gYW5kZXJlbi4KZGllc2UgZGlza3Vzc2lvbiBoYXR0ZW4gd2lyIGpldHp0IGluIGRlciB0YXQgZGVyIHJlaWhlIG5hY2ggdWViZXIga2FyYXRla2EsCmNoYW90ZW4sIHphdWJlcmVyIHVuZCBkaWUga2xlcmlrZXIgbWlzY2hlbiBqYSBqZXR6dCBhdWNoIG1pdC4Kd2VubiB6YXViZXJlciBkZW4gd2VnaGllciBtaXQgZWluZW0gZmluZ2Vyc2Nobmlwc2VuIGVybGVnZW4gdW5kIGR1IGRhYmVpIGFsdAp1bmQgZ3JhdSB3aXJzdCwgZGFubiB0dSBkaWNoIGhhbHQgbWl0IG5lbSB6YXViZXJlciB6dXNhbW1lbi4Kd2VyIGhhdCBkZW5uIGdlc2FndCwgZGFzcyBkdSBhbGxlcyBhbGxlaW5lIHVtaGF1ZW4gbXVzc3Q/Cm51ciBnYW56IG5lYmVuYmVpIG1vZWNodGUgaWNoIG5vY2ggZXJ3YWVobmVuLCBkYXNzIG1hbiBhdWNoIG9obmUgdm9sbHN0cmVja2VyCnByaW1hIG11ZGRlbiBrYW5uLgoKaGFkcmEgLSBhbHRlcm5kZXIgd3Vyc3RzZWhlciBvaG5lIGVpZ2VuZW4gdm9sbHN0cmVja2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCB3YXJzICh3ZXIgc29uc3QpICEgKENhdW5vLCAgMy4gU2VwIDE5OTYsIDExOjQ1OjQ4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDE3MDA5NDEKfiMhIHRpZD04NDE3MDA4NzMKCkR1IG1laW5zdCB3b2hsIDIuIEljaCB3dXNzdGUgZXMgYXVjaC4gOi0pCgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaHJ1ZiAhIChSYW50YW5wbGFuLCAgMy4gU2VwIDE5OTYsIDE0OjQyOjE3KToKQXkgIQoKSmV0enQgaXN0IGVyIHdlZy4uLgoKV2VpbCBlciBzbyB1bmVpbnNpY2h0aWcgd2FyLCB1bmQgbGVpY2h0IGFuZ2VoZWl0ZXJ0LCB1bmQgd2VpbCBlcgptYW5jaGVzIG5pY2h0IHNvbmRlcmxpY2ggZXJuc3QgbmltbXQsIGlzdCBtZWluIEhlcnJjaGVuIG51IAphdWYgQmVmZWhsIHZvbiBvYmVuIHZlcnNjaGllZGVuLgoKTmEgamEgd2FyIGx1c3RpZyBhbGxlcyBpbiBhbGxlbSwgdW5kIGljaCBoYWIgZWluIHBhYXIgc2VociBsaWViZQp1bmQgd2ljaHRpZ2UgRnJldW5kZSBnZXdvbm5lbiAoRmVpbmRlIHdvaGwgYXVjaCA7LSkpKSkKCk1hYXQgZXQgam9vdC4uLgoKT2V0dGkKClAuUy46UmFudGFucGxhbiBMRUJUIHVuZCBBTkRFUiBEVUNMT1Mgc293aWVzby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWNocnVmICEgKEFsYW5vbiwgIDMuIFNlcCAxOTk2LCAxNDo0NToxOCk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg0MTc1NDUzNwp+IyEgdGlkPTg0MTc1NDUzNwpFcyBsZWJlIE9ldHRpLi4uLi4uLi4KQWwsIEZ1ZWhyZXIgZGVyIFdpZGVyc3RhbmRzYmV3ZWd1bmcgIkxhc3N0IGF1Y2ggZGVuIE9ldHRpIGxlYmVuIi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS29uc3RydWt0aXZlIEtyaXRpayAoVmVyc3VjaCkgKEFzbW9kaXMsICAzLiBTZXAgMTk5NiwgMTQ6NTc6MTQpOgp+IyEgcm49SGFkcmEgcnQ9ODQxNzM1MDE3Cn4jISB0aWQ9ODQxNzA3MDY3CkpvLCBkZW0gc3RpbW1lIGljaCB2b2xsIHVuZCBnYW56IHp1LCB6dW1hbCBaYXViZXJlciBtaXQgZWluZW0gVm9sbHN0cmVja2VyCmVoIG5pY2h0IHZpZWwgYW5mYW5nZW4ga29lbm5lbiwgYWxzbyBoYXN0IGR1IGRhIHdvaGwgd2VuaWcgS29ua3VycmVueiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYWNocnVmICEgKEFzbW9kaXMsICAzLiBTZXAgMTk5NiwgMTQ6NTg6MDcpOgp+IyEgcm49QWxhbm9uIHJ0PTg0MTc1NDcxOAp+IyEgdGlkPTg0MTc1NDUzNwoKCk9FVFRJIEZPUiBFUlpNQUdJRVIgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5hY2hydWYgISAoQWxhbm9uLCAgMy4gU2VwIDE5OTYsIDE0OjU4OjU5KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODQxNzU1NDg3Cn4jISB0aWQ9ODQxNzU0NTM3CkFzbW9kaXMsIER1IGJpc3QgZWluIGd1dGVyIEZyZXVuZCwgaWNoIG5laG1lIGRpY2ggaW4gZGllClZlcmVpbmlndW5nIGF1Zi4uLgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2hydWYgISAoSmltZGlncml6LCAgMy4gU2VwIDE5OTYsIDE1OjM5OjA5KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQxNzU0NTM3Cn4jISB0aWQ9ODQxNzU0NTM3CkVpbiBndXRlcyBCZWlzcGllbCBkYWZ1ZXIgZGFzcyBkZXIgIkdlaXN0IiBkZXIgaGludGVyClJlZ2VsbiBzdGVja3QgbmljaHQgdmVyc3RhbmRlbiB3dXJkZSAuLi4Kd2llIGltIHJpY2h0aWdlbiBMZWJlbiBoYWx0IGF1Y2guLi4uIHNjaGFkZS4KCkpkRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFjaHJ1ZiAhIChKaW1kaWdyaXosICAzLiBTZXAgMTk5NiwgMTU6NDU6MzApOgp+IyEgcm49SmltZGlncml6IHJ0PTg0MTc1Nzk0OQp+IyEgdGlkPTg0MTc1NDUzNwpIbW0gc2NoZWludCBtaXNzdmVyc3RhZW5kbGljaCB6dSBzZWluLCBhbHNvCgppY2ggbWVpbmUgZGFtaXQsIGRhc3MgUmVnZWxuIHVuZCBHZXNldHplIGFuZ2V3ZW5kZXQgd2VyZGVuCmF1Y2ggd2VubiBlcyBuaWNodCBub2V0aWcgaXN0IHVuZCBrZWluIFNjaGFkZW4gdmVydXJzYWNodCB3dXJkZS4KRGFzIG1laW5lIGljaCBtaXQgZGVtIG5pY2h0IHZlcnN0YW5kZW5lbSBHZWlzdCBkZXIgUmVnZWxuLCBkaWUgCnNjaGxpZXNzbGljaCBuaWNodCBudXIgZnVlciBzaWNoIHNlbGJzdCBkYSBzaW5kLCBzb25kZXJuIGVpbmVuClp3ZWNrIGVyZnVlbGxlbiBzb2xsZW4uIFVuZCBnZW5hdSBkYXMgcGFzc2llcnQgaW0gUkwgZWJlbiBhdWNoIApkYXVlcm5kLgoKSmRHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hY2hydWYgISAoWWVuZGksICAzLiBTZXAgMTk5NiwgMTU6NTA6MDMpOgp+IyEgcm49UmFudGFucGxhbiBydD04NDE3NTQ1MzcKfiMhIHRpZD04NDE3NTQ1MzcKCgpOYWphLCBpY2ggZGVua2UsIGRpZSBhZXVzc2VyZSBGb3JtIHdhciBPZXR0aSBzb3dpZXNvIGltbWVyIGVnYWwsIG9kZXI/ClVuZCBzb2xhbmdlIGRlciBDaGFvdCBzaWNoIHdlaXRlcmhpbiBhdWYgTVVELVBhcnRpZXMgc2VoZW4gbGFlc3N0Li4uCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFjaHJ1ZiAhIChBbGFub24sICAzLiBTZXAgMTk5NiwgMTU6NTE6MzkpOgp+IyEgcm49WWVuZGkgcnQ9ODQxNzU4NjAzCn4jISB0aWQ9ODQxNzU0NTM3CkljaCB2ZXJuZWlnZSBtaWNoIHZvciBEaXIgLCBvaCBEdSBncm9zc2VyIFllbmRpCkVpbiBBbCwgZGVyIERpciB6dSBGdWVzc2VuIGxpZWd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaHJ1ZiAhIChRaXRlc3MsICAzLiBTZXAgMTk5NiwgMTc6MzE6MzYpOgp+IyEgcm49UmFudGFucGxhbiBydD04NDE3NTQ1MzcKfiMhIHRpZD04NDE3NTQ1MzcKCkljaCBzY2hsaWVzc2UgbWljaCBkZW4gdHJhdWVybmRlbiBadXJ1ZWNrYmxlaWJlbmRlbiBhbi4KClFpdGVzcyAgLSAgLi4uIG1pc3QuLi4KCk9ldHRpIC0gZmluZCBpY2ggZ3V0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYWNocnVmICEgKEhhZHJhLCAgMy4gU2VwIDE5OTYsIDE4OjMzOjA0KToKfiMhIHJuPVFpdGVzcyBydD04NDE3NjQ2OTYKfiMhIHRpZD04NDE3NTQ1MzcKYnJhdWNoZW4gd2lyIGpldHp0IGhpZXIgbm9jaCBuZSBleHRyYSBydWJyaWsgZnVlciBuYWNocnVmZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5hY2hydWYgISAoUGlsZ3JpbSwgIDMuIFNlcCAxOTk2LCAxOTowMzo1Nik6Cn4jISBybj1IYWRyYSBydD04NDE3NjgzODQKfiMhIHRpZD04NDE3NTQ1MzcKSG1tbSwKCm51ciBtYWwgZWluZSBGcmFnZTogV2VyIG9kZXIgd2FzIFdBUiBPZXR0aT8gOy0pCgpQaWxncmltCndlaXMgdm9uIG5peAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFjaHJ1ZiAhIChGeXQsICAzLiBTZXAgMTk5NiwgMTk6MDU6NDEpOgp+IyEgcm49UGlsZ3JpbSBydD04NDE3NzAyMzYKfiMhIHRpZD04NDE3NTQ1MzcKCkd1dGUgRnJhZ2UuCgpGeXQuCgpQUzogQWJlciB3YXMgYml0dGUgaXN0ICdQaWxncmltJz8gS2FubiBtYW4gZGFzIGVzc2VuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5hY2hydWYgISAoTXVwZmVsLCAgMy4gU2VwIDE5OTYsIDIwOjE4OjI2KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODQxNzcwMjM2Cn4jISB0aWQ9ODQxNzU0NTM3CgpPZXR0aSB3YXIgZGFzIGZsZWlzY2hnZXdvcmRlbmUgJ2tvbnRyYScuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmFjaHJ1ZiAhIChGeXQsICAzLiBTZXAgMTk5NiwgMjA6MTk6MzApOgp+IyEgcm49TXVwZmVsIHJ0PTg0MTc3NDcwNgp+IyEgdGlkPTg0MTc1NDUzNwoKRGFzIGVya2FsZXJ0IGltbWVyIG5vY2ggbmljaHQsIG9iICdQaWxncmltJyB3YXMgenUgZXNzZW4gaXN0Li4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmFjaHJ1ZiAhIChDYXJhZGhyYXMsICAzLiBTZXAgMTk5NiwgMjA6MjA6MDYpOgp+IyEgcm49Rnl0IHJ0PTg0MTc3NDc3MAp+IyEgdGlkPTg0MTc1NDUzNwpBbGxlcyBpc3QgZXNzYmFyLi4uLgogICAgICAgICAgICAgICAgICAgIC4uLi4uIG1hbmNoZXMgbnVyIGVpbm1hbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5hY2hydWYgISAoUWl0ZXNzLCAgMy4gU2VwIDE5OTYsIDIxOjEwOjAxKToKfiMhIHJuPUZ5dCBydD04NDE3NzQ3NzAKfiMhIHRpZD04NDE3NTQ1MzcKCnN0cmV1IHNhbHogZHJhdWYgdW5kIGJlaXNzIHJlaW4gLSBkYW5uIHdlaXNzdGVzIDspCgpRaXRlc3MgIHBsYWVkaWVydCBmdWVyIHNhbHotdW5kIHp1Y2tlcmFybWUga29zdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJpbmRlcndhaG5zaW5uIC8gQlNFIChRaXRlc3MsICAzLiBTZXAgMTk5NiwgMjI6NDc6MDkpOgoKSUNIIEZJTkRFIEVTIEFFVVNTRVJTVCBHRVNDSE1BQ0tMT1MgREVOIFdBSE5TSU5OLCBERU4gTUFOIEhJRVIgQkVLT01NRU4gS0FOTiAsCkJTRSBaVSBORU5ORU4uCgpRaXRlc3MgLSBtdXNzdGUgZGFzIGpldHp0IG1hbCBzYWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSaW5kZXJ3YWhuc2lubiAvIEJTRSAoRnl0LCAgNC4gU2VwIDE5OTYsIDAxOjA4OjI1KToKfiMhIHJuPVFpdGVzcyBydD04NDE3ODM2MjkKfiMhIHRpZD04NDE3ODM2MjkKCkFsc28sIFFpdGVzcywgJ24gYW5zdGFlbmRpZ2VzIFJpbmRlcnN0ZWFrIGlzdCBkb2NoIG5pY2h0IGdlc2NobWFja2xvcy4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGF0aG9zICEgKFJhbnRhbnBsYW4sICA0LiBTZXAgMTk5NiwgMDg6MDY6NTgpOgpBeSAhCgpNZWluIGt1ZXJ6bGljaCB2ZXJzY2hpZWRlbmVzIEhlcnJjaGVuIGhhdCBub2NoIG5lIEtsZWluaWdrZWl0IHp1CmhpbnRlcmxhc3NlbjoKCldpZSBrb2VzdGxpY2ggaXN0IGRpZSBFaW5zaWNodCwgZGFzcyBtYW4gdmllbCB6dSB3ZW5pZyB3YWd0LAp2aWVsIFplaXQgdmVybGllcnQgbWl0IGxhdWZlbmRlbSBNb3Rvci4KTWFuIHN0ZWxsdCBzaWNoIGhhbHQgZGllIEdyZW56ZW4gZGVyIGVpZ2VuZW4gRXhpc3RlbnosCmRvY2ggbWVpc3N0ZW5zIHZpZWwgenUgZW5nIGdlem9nZW4gdm9yLgpXZW5uIGplZGVyIE1lbnNjaCBiZWdyaWZmZSB3aWV2aWVsIEZyZWloZWl0IGVyIHZlcnNhZXVtdCwKdW5kIHZpZWwgenUgdmllbCBkZW0gWnVmYWxsIHVlYmVybGFlc3N0LgpEYW5uIHdhZXJlbiBOaWJlbHVuZ2VudHJldWUsIE9icmlna2VpdGVua3VsdCB1bmQgTWFjaHRnaWVyIGJhbGQgc28KY2hhbmNlbmxvcyB3aWUgUGVzdC4KCk1hbiBrYW5uIGRvY2ggenUgc2ljaCBzdGVoZW4gd2llIG1hbiB3aWxsLCBkaWUgbWVpc3N0ZW4gc3RlaGVuCmxlYmVuc2xhZW5nbGljaCBzdGlsbC4KRGVyIFdpbmQgYmxhZXN0IGlobmVuIHN0YWVuZGlnIGlucyBHZXNpY2h0LCBkb2NoIGF1Znp1ZmxpZWdlbgp0cmF1ZW4gc2llIHNpY2ggbmljaHQuCgpJY2ggd2lsbCBuaWNodCBsYWVuZ2VyIGRlciBzZWluLCB2b24gZGVtIG1hbiBzYWd0LCBzbyBrZW5udCBtYW4gaWhuCmljaCBoYWIgZWluIFJlY2h0IGRyYXVmIHdlaWNoIHp1IHNlaW4gdW5kIHNjaHJpbGwuCk1hbiBrYW5uIGRvY2ggbmljaHQgaW0gRXJuc3QgZXJ3YXJ0ZW4sIGRhc3MgbWFuIFJlY2h0IGJlaGFlbHQuCk1hbiBrYW5uIGRvY2ggenUgc2ljaCBzdGVoZW4gd2llIG1hbiB3aWxsLgoKClByZXR0eSBwYXRoZXRpYywgaWNoIGdlYnMgamEgenUsIGFiZXIgaXJnZW5kd2llIHNjaG9lbi4uLgoKUmFudGFucGxhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2F0dHkgdW5kIHNlaW5lIExhZWNoZXJsaWNoa2VpdGVuIChZYW50cm8sICA0LiBTZXAgMTk5NiwgMDk6MTU6MTUpOgoKSGFsbG8KCldpZSB1bnNlcmUgTW9lY2h0ZWdlcm5hdXRvcml0YWV0IEtvdHp3aWVzZWwgaW4gZWluZXIgZGVyIHBvbGl6ZWlydWJyaWtlbgpiZWthbm50IGdhYiwgc29sbCBlcyB6dWVpbmVtIFZlcmZhaHJlbnNmZWhsZXIgZ2Vrb21tZW4gc2VpbiB1bmQgZGVzaGFsYiB3dXJkZQpHdXkgd2llZGVyIHZlcm1hZ2llcnQuIE1laW5lIEZyYWdlbjoKCkZ1ZXIgV0VOIGlzdCBlcyBlaW5lIGVjaHRlIFN0cmFmZSBLRUlOIE1hZ2llciB6dSBzZWluPwpXbyBrYW5uIG1hbiBkYXMgUHJvdG9rb2xsIGRlcyAiVmVyZmFocmVucyIgbmFjaGxlc2VuPwoKSWhyIGRhIG9iZW4gc2VpdCBlY2h0IGFsbGUgdmllbCBibG9lZGVyLCBhbHMgaWNoIGltbWVyIGdlZGFjaHQgaGFiZS4gVm9yIGFsbGVtCldpY2h0aWd0dWVyIE5yLjEgUnVtYXRhLCBkZXIgaW1tZXIgYXVmIGRlciBCaWxkZmxhZWNoZSBlcnNjaGVpbnQsIHdlbm4gZXMKZGFydW0gZ2VodCxhbmRlcmVuIGVpbmVuIHJlaW56dXd1ZXJnZW4hCgogICAgICAgWWFudHJvIQoKUC5TLjogSXRzIGJldHRlciB0byBmZWVsIGxpa2Ugc2hpdCB0aGFuIGJlIGEgcGllY2Ugb2Ygc2hpdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDYXR0eSB1bmQgc2VpbmUgTGFlY2hlcmxpY2hrZWl0ZW4gKFBhbXBlcnMsICA0LiBTZXAgMTk5NiwgMDk6NDA6NDUpOgp+IyEgcm49WWFudHJvIHJ0PTg0MTgyMTMxNQp+IyEgdGlkPTg0MTgyMTMxNQpMaWViZXIgWWFudHJvIQoKU2Nob24gbWFsIHdhcyBnZWhvZXJ0IHZvbjogRGVyIFRvbiBtYWNodCBkaWUgTXVzaWs/CkplZ2xpY2hlIEtyaXRpaywgZGllIER1IChiZXJlY2h0aWd0IG9kZXIgbmljaHQpIGFuYnJpbmdlbiB3b2xsdGVzdCwKaXN0IGluIGplZGVtIEZhbGxlIGluIGRlbSBIYXVmZW4gQmVzY2hpbXBmdW5nZW4gdW50ZXJnZWdhbmdlbi4KClBhbXBlcnMuIE1laW50OiBXZXIgc2NocmVpdCwgaGF0IG1laXN0IHVucmVjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3BlICEgKFJhbnRhbnBsYW4sICA0LiBTZXAgMTk5NiwgMTA6MDI6MzIpOgpJY2ggYmluIGtlaW4gTWFlcnR5cmVyICEKClVuZCB3aWxsIGF1Y2gga2VpbmVyIHdlcmRlbiwgZGllIEJld2VydHVuZyBkZXMgR2VzY2hlaGVuZW4gYmxlaWJ0IApqZWRlbSBzZWxic3QgdWViZXJsYXNzZW4uCkFiZXIgZGllIFN0aW1tdW5nIGhpZXIgaW0gTUcgc29sbHRlIG5pY2h0IHNjaG9uIHdpZWRlciBkcnVudGVyIGxlaWRlbi4KCkF5ICEKClJhbnRhbmRpbmdlbnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5hY2hydWYgISAoQWxhbm9uLCAgNC4gU2VwIDE5OTYsIDEwOjQxOjMwKToKfiMhIHJuPU11cGZlbCBydD04NDE3NzQ3MDYKfiMhIHRpZD04NDE3NTQ1MzcKRGFzIGZsZWlzY2hnZXdvcmRlbmUgS29udHJhIHVuZCBlaW4gSW5kaXZpZHVhbGlzdC4uLmRlcgpzaWNoIG5pY2h0IGJldm9ybXVuZGVuIGxhZXNzdC4uCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOYWNocnVmICEgKFRhbmlzLCAgNC4gU2VwIDE5OTYsIDExOjM1OjE3KToKfiMhIHJuPUFsYW5vbiBydD04NDE4MjY0OTAKfiMhIHRpZD04NDE3NTQ1MzcKS29lbm50ZXQgSWhyIG51biBlbmRsaWNoIG1hbCBhdWZob2VyZW4gc2FlbXRsaWNoZSBSdWJyaWtlbiBoaWVyIHZvbGx6dW11ZWxsZW4/CkRhcyBuZXJ2dCBudXIgbm9jaC4gV2FzIGdlc2NoZWhlbiBpc3QsIGlzdCBnZXNjaGVoZW4sIHNjaGx1c3MgYXVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hY2hydWYgISAoQWxhbm9uLCAgNC4gU2VwIDE5OTYsIDExOjU3OjU0KToKfiMhIHJuPVRhbmlzIHJ0PTg0MTgyOTcxNwp+IyEgdGlkPTg0MTc1NDUzNwpIZWlsIERpciBtYWVjaHRpZ2VyIFRhbmlzLCBpY2ggYmluIHVud3VlcmRpZy4uLiBncm9zc2VyIGdvdHQKZGVyIFdlaXNoZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2F0dHkgdW5kIHNlaW5lIExhZWNoZXJsaWNoa2VpdGVuIChDYXR3ZWF6bGUsICA0LiBTZXAgMTk5NiwgMTM6MTU6MTApOgp+IyEgcm49WWFudHJvIHJ0PTg0MTgyMTMxNQp+IyEgdGlkPTg0MTgyMTMxNQpJY2ggc2NoYWV0emUgaWNuIGJpbiBuaWNodCBkZXIgZWluemlnZSwgZGVyIERlaW5lIHVuZmxhZXRpZ2VuIApCZWxlaWRpZ3VuZ2VuIG5pY2h0IG1laHIgZXJ0cmFnZW4ga2Fubi4KRHUgbGVybnN0IGVzIGphIG5pY2h0IGVpbm1hbCwgZGFzIHNvd2FzIGluIGVpbmVyIG9lZmZlbnRsaWNoZW4KWmVpdHVuZyBuaXggenUgc3VjaGVuIGhhdCA6KApZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2F0dHkgdW5kIHNlaW5lIExhZWNoZXJsaWNoa2VpdGVuIChDYXJhZGhyYXMsICA0LiBTZXAgMTk5NiwgMTM6NDg6MzEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg0MTgzNTcxMAp+IyEgdGlkPTg0MTgyMTMxNQpJcyBqZXR6dCBtYWwgYSBSdWEgaGllcj8gVHJhZ3QgZGFzIGluIG1hZ2llci5tdWVsbCBhdXMsIGljaCBnbGF1YmUKamV0enQgaGFiZW4gd2lyIGdlbnVnIHZvbiBhbGxlbiBtb2VnbGljaGVuIFNlaXRlbiBkcnVlYmVyIGdlaG9lcnQuCgogICAgICAqZ3J1bW1lbCogICAgUm90aG9ybiBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2F0dHkgdW5kIHNlaW5lIExhZWNoZXJsaWNoa2VpdGVuIChZYW50cm8sICA0LiBTZXAgMTk5NiwgMTQ6MjE6MjEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg0MTgzNTcxMAp+IyEgdGlkPTg0MTgyMTMxNQpMb2VzY2h0IG1pY2ggZG9jaCwgd2VpbCBpY2ggbWVpbmUgTWVpbnVuZyBvZmZlbiBzYWdlLi4uIHdhZXJlIGphIG5pY2h0IGRlcgplcnN0ZSEKCiAgICAgICBZYW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENhdHR5IHVuZCBzZWluZSBMYWVjaGVybGljaGtlaXRlbiAoQW5hdG9sLCAgNC4gU2VwIDE5OTYsIDE0OjIzOjAxKToKfiMhIHJuPVlhbnRybyBydD04NDE4Mzk2ODEKfiMhIHRpZD04NDE4MjEzMTUKCldlciB3dXJkZSBoaWVyIHNjaG9uIGdlbG9lc2NodCwgd2VpbCBlciBzZWluZSBNZWludW5nIG9mZmVuIHNhZ3RlPwoKQW5hdG9sLCBuZXVnaWVyaWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnUgdmllbCBtdWRkZW4gbWFjaHQgYmxvZWQgKEd1bGR1a2F0LCAgNC4gU2VwIDE5OTYsIDE1OjIzOjEzKToKClp1IHZpZWwgbXVkZGVuIG1hY2h0IGJsb2VkLCBzY2hhdXQgZXVjaCBudXIgZmFudGFib3kgYW4hIDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1IHZpZWwgbXVkZGVuIG1hY2h0IGJsb2VkIChMYWlsYSwgIDQuIFNlcCAxOTk2LCAxNTo1ODowMSk6Cn4jISBybj1HdWxkdWthdCBydD04NDE4NDMzOTMKfiMhIHRpZD04NDE4NDMzOTMKSWNoIGdsYXViZSBkdSBoYXN0IGRhIGVpbmVuIHR5cG8sIHNjaHJlaWJ0IHNpY2ggZGFzIG5vY2h0IG1hZ2ljID8KCkF1YSwgbmljaCBzY2hsYWdlbiBHdWwsIHdhciBkb2NoIG5pY2h0IGVybnN0IGdlbWVpbnQuCgpMYWlsYSwgZHVtbWUgU2NoZXJ6ZSByZWlzc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBadSB2aWVsIG11ZGRlbiBtYWNodCBibG9lZCAoR3VsZHVrYXQsICA0LiBTZXAgMTk5NiwgMTY6MDQ6MDUpOgp+IyEgcm49TGFpbGEgcnQ9ODQxODQ1NDgxCn4jISB0aWQ9ODQxODQzMzkzCgpMYWlsYSBtdXNzIHdvaGwgYXVjaCB6dXZpZWwgZ2VtdWRkZXQgaGFiZW4hIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCVUcgISAoUmFudGFucGxhbiwgIDQuIFNlcCAxOTk2LCAxNjo0MToxNCk6CkhpICEKCkloIGhhYiBuZW4gQnVnIGluIG1laW5lciBzaGVsbC4KClphcCBrbGFwcHQgbmljaHQgbWVociwga2FubiBtYW4gZGFzIHJlcGFyaWVyZW4gPz8/CgpSKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJVRyAhIChQYW1wZXJzLCAgNC4gU2VwIDE5OTYsIDE2OjQyOjI3KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQxODQ4MDc0Cn4jISB0aWQ9ODQxODQ4MDc0ClphcCBrbGFwcHQgbmljaHQgbWVociwga2FubiBtYW4gZGFzIHJlcGFyaWVyZW4gPz8/CgpLbGFyIGthbm4gbWFuIGRhcy4uLgpXZXJkIFNlaGVyIHVuZCBzdWNoIERpciBuZW4gTWFnaWVyLCBkZXIgZGljaCB6dW0gTWFnaWVyIG1hY2h0Li4uIDotKQoKUGFtcGVycy4gRnJvaCwgZGFzcyBlciBudXIgTGV2ZWwgMjEgaGF0LiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2V0dGkgZ2Vsb2VzY2h0IChBc21vZGlzLCAgNC4gU2VwIDE5OTYsIDE3OjI1OjQ3KToKfiMhIHJuPUxpIHJ0PTg0MTgyMjkxMQp+IyEgdGlkPTg0MTc1MTQ5NgpCZXp1ZzogQXJ0aWtlbCAyMyB2b24gTGkgaW4gUG9saXplaS5iZXNjaHdlcmRlbiAod2VubiBkZXIgbm9jaCBkYSBpc3QpIAoKR2VuYXUgTGksIGRpZSBGdWVocnVuZ3NyaWVnZSBkZXMgTUcgaXN0ICd1bmZsZXhpYmVsLCBsYW5nd2VpbGlnIG9kZXIKZWluZmFsbHNsb3MnCmdld29yZGVuLCB1bmQgZGFzIG5pY2h0IGVyc3Qgc2VpdCBkZW0gVm9yZmFsbCBtaXQgT2V0dGkuIEljaCBmaW5kZSBlaW5pZ2UKTGV1dGUKc29sbHRlbiBtYWwgYWJ0cmV0ZW4gb2RlciBzaWNoIGFic3R1ZmVuIGxhc3NlbiB1bmQgZnJpc2NoZW0gQmx1dCBkZW4gVm9ydHJpdHQKbGFzc2VuLiBTbyB3aWUgZXMgbW9tZW50YW4gbGFldWZ0LCBnZWh0IGRhcyBNVUQgZGVtIFVudGVyZ2FuZyBlbnRnZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9ldHRpIGdlbG9lc2NodCAoQW5hdG9sLCAgNC4gU2VwIDE5OTYsIDE4OjEyOjM4KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODQxODUwNzQ3Cn4jISB0aWQ9ODQxNzUxNDk2CgpJY2ggd2Vpc3MgbmljaHQgc28gcmVjaHQuLi4KCkVpbiBNYWdpZXIgaGF0IHZvbiBHZWJ1cnQgYW4gLSBhbHNvIExldmVsIDIxIC0gZWluIGdld2lzc2VzIE1hY2h0cG90ZW50aWFsLgpEdW1tZXJ3ZWlzZSBpc3QgZGllc2VzIFBvdGVudGlhbCB3aWUgYWxsZSBNYWNodHBvdGVudGlhbGUgbnVyIHNlaHIKdW56dXJlaWNoZW5kIGdlZ2VuIE1pc3NicmF1Y2ggZ2VzY2h1ZXR6dC4uLgpPYiBlcyB1bSBIZWlsZW4sIE11ZW56ZW4gY2xvbmVuLCBaVHMgdmVycmF0ZW4sIFNraWxscyB2ZXJiZXNzZXJuLCBUb29scwpzY2hyZWliZW4gZWluZXJzZWl0cyBvZGVyIFNub29wZW4sIFZlcmZvbGdlciBzY2hyZWliZW4sIEludmlzbmVydmVuLApCZWxhdXNjaGVuLCBaYXBlbiBhbmRlcmVyc2VpdHMgaXN0LCBzcGllbHQgd2VuaWcgUm9sbGUuIFRhdHNhY2hlIGlzdCwgZGFzcwp2aWVsZXMgZHVyY2ggZGllIFNlbGJzdGtvbnRyb2xsZSBkZXMgTWFnaWVycyBnZXJlZ2VsdCBzZWluIG11c3MuCgpFaW4gTWFnaWVyIHVudGVyc2NocmVpYnQgZWluZW4gTWFnaWVydmVydHJhZywgdW5kIGluIGRlbSBBdWdlbmJsaWNrCnZlcnBmbGljaHRldCBlciBzaWNoIHp1ciBTZWxic3Rrb250cm9sbGUsIG9kZXI/IFtOYXR1ZXJsaWNoIGhhdCByZWluIHJlY2h0bGljaApkZXIgVmVydHJhZyB1ZWJlcmhhdXB0IG5peCB6dSBzYWdlbiwgYWJlciByZWluIHJlY2h0bGljaCBnZWhvZXJ0IG1pciBhdWNoIG1laW4KU2F2ZWZpbGUgbmljaHQsIHVuZCB3ZW5uIGVzIG1vcmdlbiB3ZWcgaXN0LCBoYWIgaWNoIGF1Y2ggbml4IHp1IHNhZ2VuXS4KCldhcyB3dWVyZGVzdCBkZW5uIERVIHR1biwgd2VubiBlaW5lciwgZGVyIGFuIHNpY2ggdmllbGxlaWNodCBlaW4gbmV0dGVyIEtlcmwKaXN0LCBzaWNoIHN0YWVuZGlnIHVlYmVyIGRpZSBSZWdlbG4gaGlud2Vnc2V0enQsIHVlYmVyIGRpZXNlIFJlZ2VsbiwgZGllIHp1bQpUZWlsIHVuc2lubmlnIHVuZCB1ZWJlcmZsdWVzc2lnIGVyc2NoZWluZW4sIGplZG9jaCBub2V0aWcgc2luZCwgdW0gZGVuClNwaWVsZXJuIHdlbmlnc3RlbnMgZWluZW4gX2hhbGJ3ZWdzXyBmYWlyZW4gV2V0dGJld2VyYiB6dSBlcm1vZWdsaWNoZW4gKHVuZCB1bQppaG5lbiBnZ2YuIGRpZSBQcml2YXRzcGhhZXJlIHp1IGdvZW5uZW4sIHdlciBoYXQgc2Nob24gZ2VybmUgdmllciBVbnNpY2h0YmFyZQpiZWltIEZsaXJ0ZW4gZGFiZWk/KS4uLiBhbHNvIHdhcyB0dW4/CgpPaywgd2lyIG1hY2hlbiBpaG4genVtIFNwaWVsZXIuIEtsaWNrLCBkYSBtZWxkZXQgc2ljaCBpcmdlbmR3byBpcmdlbmR3YXM6CkhhbHQsIGRhcyBnZWh0IGphIGVpZ2VudGxpY2ggZ2FyIG5pY2h0LCBkZXIgaGF0IHp1dmllbCB2b20gQ29kZSBnZXNlaGVuLCBkZXIKd2Vpc3MgRGluZ2UsIGRpZSBpaG4gZG9jaCBnYXIgbmljaHRzIGFuZ2VoZW4gdW5kIFVFQkVSSEFVUFQhIEJhbmlzaCEKU2l0ZWJhbmlzaCEgSmF3b2xsIQpOYSBndXQsIGxhc3NlbiB3aXIgaWhuIGdld2FlaHJlbiwgd2lyIGFwcGVsaWVyZW4gbnVyIGFuIHNlaW4gR2V3aXNzZW4uIERhbm4Kd3VuZGVybiB3aXIgdW5zIG1vcmdlbiBhdWNoIG5pY2h0LCB3ZW5uIGFsbGUgYW5kZXJlbiBhdWNoIHR1biwgd296dSBzaWUgZ3JhZGUKTHVzdCBoYWJlbi4KCkRlciBLb25mbGlrdCBpc3QgZ2xhdWJlIGljaCBkZXV0bGljaCwgb2Rlcj8KSWNoIGthbm4gZGllIEVudHNjaGVpZHVuZyBkZXIgRXJ6aXMgZHVyY2hhdXMgdmVyc3RlaGVuLgpVbmQgaW4gZGllc2VtIHNwZXppZWxsZW4gRmFsbCBpc3QgZXMgT2V0dGkgd29obCBlaCBrbGFyIGdld2VzZW4sIGRhc3MKaXJnZW5kd2FubiBkZXIgRmFkZW4gcmVpc3N0LiBVbmQgZXIgaXN0IG5pY2h0IHdlZ2VuIGRlciBXaXotU2hlbGwgZGEsIHNvbmRlcm4Kd2VnZW4gZWluaWdlIExldXRlIHVuZCBkZXMgU3Bhc3NlcywgZ2xhdWJlIGljaC4gVW5kIGRlbiBoYXQgZXIgamEgaW1tZXJub2NoLgoKVHJvdHpkZW0gc2NoYWQnLCBkYXNzIGVzIHNvd2VpdCBrb21tZW4gbXVzc3RlLgpNZWludW5nLCAKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJVRyAhIChBY3JpbW9uLCAgNC4gU2VwIDE5OTYsIDE4OjE5OjIzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQxODQ4MDc0Cn4jISB0aWQ9ODQxODQ4MDc0ClVmZiwgZWluIGVpbmZhY2hlciBCdWcsIGFiZXIgZXh0cmVtIHNjaHdlciB6dSByZXBhcmllcmVuLgpWb3IgYWxsZW0gYnJhdWNoc3QgZHUgZXJzdG1hbCBlaW4gVG9vbCBuYW1lbnMgIndlcmRlX21hZ2llci50ZiIKSWNoIGhhYmUgZXMgbGVpZGVyIG5pY2h0LCBhYmVyIGZyYWcgZG9jaCBtYWwgZWluZW4gTWFnaWVyIQpBdXN6ZXJkZW0gYnJhdWNoc3QgRHUgdGYgc3RhdHQgdGVsbmV0LgpzdGFydGUgdGYgdW5kIC9sb2FkIHdlcmRlX21hZ2llci50ZiB1bmQgL3dlcmRlX21hZ2llcgpVbmQgZGVpbiBaYXAgZnVua3Rpb25pZXJ0IHdpZWRlciEKCkFjcmltb24sIGRlciBSb3RlciBSaXR0ZXIgd2Vpc3ogYWxsZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9ldHRpIGdlbG9lc2NodCAoUGlsZ3JpbSwgIDQuIFNlcCAxOTk2LCAyMDozNjowNik6Cn4jISBybj1BbmF0b2wgcnQ9ODQxODUzNTU4Cn4jISB0aWQ9ODQxNzUxNDk2ClJlY2h0IGhhc3QgRHUgLi4uCiAKTWVpbiBNb3R0byBpc3QsIHNvIHdlbmlnIEtvbnRyb2xsZSB3aWUgbW9lZ2xpY2gsIHNvIHZpZWwgS29udHJvbGxlIHdpZSAKbm9ldGlnIC4uLgogCkZyYWd0IHNpY2ggbnVyLCB3aWV2aWVsIGRhcyBpc3QgLi4uIGF1ZiBqZWRlbmZhbGwgbmllIGdlbnVnIDotKAogCkVpbmVuIFNwaWVsZXIgKGluY2wuIE1hZ2llcikga2FubiBtYW4gbmllIGtvbnRyb2xsaWVyZW4sIHdpZSBzb2xsdGUgbWFuCmRhcyBtYWNoZW4/IChkZW4gTWVuc2NoZW4gYW4gZGVyIFRhc3RhdHVyIHRvdHNjaGxhZ2VuIC0gdmVyemVpaHQgZGFzCmhhcnRlIEJlaXNwaWVsKSAKIApBYmVyIHNvbGFuZ2UgZGllIFNwaWVsZXIgaGllciBlaW4gInNhZyIsIGVpbiAiZW1vdGUiIG9kZXIgZWluICJ6YXAiIGhhYmVuLCAKd2lyIGVzIGltbWVyIHdpZWRlciBNZW5zY2hlbiBnZWJlbiwgZGllIGRhbWl0IG5pY2h0IHZlcmFudHdvcnR1bmdzdm9sbCAKdW1nZWhlbiAoa29lbm5lbj8pIC4uLgogCkZyYWd0IHNpY2ggbnVyLCB3YXMgbWFuIGRhbm4gdHVuIHNvbGwsIHdlbm4gZWluZXIgYW5mYWVuZ3QsIGdlZ2VuIGRpZSBSZWdlbG4gCnp1IHZlcnN0b3NzZW4gLi4uPwogCkFjaCBqYSwgUmVnZWxuIC4uLiBkYXMgc2luZCBkaWVzZSBsYWVzdGlnZW4gVm9yc2NocmlmdGVuLCBkaWUgaW1tZXIgZGFubiAKYXVmZ2VzdGVsbHQgd2VyZGVuIChtdWVzc2VuKSwgd2VubiB2aWVsZSBNZW5zY2hlbiB6dXNhbW1lbiBsZWJlbiAodW5kIGRhIAppc3QgZXMgZWdhbCwgb2IgaW4gUkwgb2RlciBpbSBNVUQpLCB1bSBzaWNoIHZvciBzaWNoIHNlbGJzdCB1bmQgYW5kZXJlbiB6dSAKc2NodWV0emVuIHVuZCBlaW5lbSBtb2VnbGljaHN0IGdyb3NzZW4gS29uc2VucyBoZXJ6dXN0ZWxsZW4uIAogCkFsc28gaWNoIGhhYiBoaWVyIG5vY2ggbmllIGVybGVidCwgZGFzIGhpZXIgZGllICJIb2x6aGFtbWVyLU1ldGhvZGUiCmJlaSBSZWdlbC1WZXJzdG9lc3NlbiBhbmdld2VuZGV0IHdvcmRlbiBpc3QgLi4uIHVuZCBpY2ggaGFiIHNjaG9uIAplaW5pZ2VzICJnZXNlaGVuIi4gKlBpbGdyaW0gc3RyZWljaHQgc2ljaCB1ZWJlciBzZWluZW4gbGFuZ2VuLCB3ZWlzc2VuIEJhcnQqCiAKSGllciBsYWV1ZnQgZG9jaCBlaW5lICgqZ3J1ZWJlbCopICJCZXN0cmFmdW5nIiBuaWNodCBhbmRlcnMgYWIsIGFscyAKdWViZXJhbGw6Ci0genVlcnN0IGdpYnRzIG5lbiBSdWVmZmVsLCBkYW5uIGVpbmUgZWluZHJpbmdsaWNoZSBFcm1haG51bmcgLi4uIHZpZWxsZWljaHQKICBub2NoIGVpbmUgd2VpdGVyZSAuLi4KLSBkYW5uIGZvbGd0IGJlaSB1bmVpbnNpY2h0aWdlbiBNYWdpZXJuIG1laXNzdCBlaW5lICJFbnRtYWdpZXJ1bmciIGF1ZiBaZWl0CiAgKGJlaSBTcGllbGVybiB2aWVsbGVpY2h0IGVpbmUgU3BpZWxwYXVzZSAuLi4pCi0gdW5kIGRhbm4gZXJzdCBrb21tdCBkaWUgIkhvbHpoYW1tZXItTWV0aG9kZSIgKGJhbm5pc2gsIHNpdGViYW5uaXNoLCAKICBsb2VzY2hlbikKIApEYSBrYW5uIG1hbiBkb2NoIG5pY2h0IGFuZmFuZ2VuLCAicnVtbXp1bWVja2VybiIsIHdlbm4gZXMgZWluZW4KdW5laW5zaWNodGlnZW4KZGFubiBhdWNoIG1hbCAiZXJ3aXNjaHQiIC4uLgogClRqYSwgdW5kICJlcndpc2NodCIgZXMgZGFubiBtYWwgZWluZW4gKHNwcmljaDogZWluZXIgZmxpZWd0IHJhdXMsIG9kZXIKYWVobmxpY2hlcykgLi4uIGRhbm4gZGF1ZXJ0IGVzIG5pY2h0IGxhbmdlbiwgZGFzIExldXRlIGFuZmFuZ2VuIHJ1bXp1bW9zZXJuCigqZGFzIGJlemllaHRzIHNpY2ggamV0enQgYXVmIGtlaW5lbiBwZXJzb2VubGljaCA7LSkpLCB3YXMgZGFzIGZ1ZXIgZWluZQpBcnQgd2FlaHJlLCB1bmQgZGFzIEtsaW1hIGltIE1VRCB3dWVyZGUgc293aWVzbyBpbW1lciBzY2hsZWNodGVyIHVuZAp3byBrYWVtZW4gd2lyZCBkZW4gZGFoaW4gdXN3LiAuLi4KIApUamEsIGxlaWRlciBoYWJlbiBkaWVzZSBMZXV0ZSBpbiBkZW0gbWVpc3RlbiBGYWVsbGVuIHVlYmVyaGF1cHQgbml4Cm1pdCBkZXIgU2FjaGUgenUgdHVuLCBkaWUgenUgZWluZXIgU3RyYWZlIGZ1ZWhydGUgKGZ1ZWhyZW4gbXVzc3RlLCB3ZW5uIG1hbgpuaWNodCB3aWxsLCBkYXMgamVtYW5kIGJlaW0gbmFlY2hzdGVubWFsIGF1ZiBnZXJhZGUgZGllc2VuIEZhbGwgdm9uCk5pY2h0YmVzdHJhZnVuZyB2ZXJ3ZWlzc3QsIHVtIHNlaW4gZWlnZW5lcyAoRmVobC0pdmVyaGFsdGVuIHp1CnJlY2h0ZmVydGlnZW4pLgogCk1hbmNobWFsIGZyYWdlIGljaCBtaWNoLCBvYiBJaHIgYXVjaCBzbyB0b2xsZXJhbnQgd2FlcmV0LCB3ZW5uIGlociAiT3BmZXIiCmVpbmVzIFNwaWVsZXIvTWFnaWVyLUZlaGx2ZXJnZWhlbnMgZ2V3b3JkZW4gd2FlcmV0IC4uLgogCkFiZXIgZXMgZ2VodCBoaWVyIGVpZ2VudGxpY2ggbmljaHQgdW0gU3RyYWZlIChvZGVyIEtvbnRyb2xsZSksIHNvbmRlcm4KZWlnZW50bGljaCBnZWh0cyBkb2NoIG51ciB1bXMgZWluZXM6IFZlcmFudHdvcnR1bmchCiAKV2VyIG5pY2h0IGJlcmVpdCBpc3QsIGZ1ZXIgc2ljaCB1bmQgc2VpbiBIYW5kZWxuIFZlcmFudHdvcnR1bmcgenUKdWViZXJuZWhtZW4sCmRlciBpc3QgaGllciBtZWluZXIgTWVpbnVuZyBuYWNoIGZlaGwgYW0gUGxhdHogOi0oCiAKSmFhYSwgd2VyZGVuIGVpbmlnZSBzYWdlbiwgYWJlciAuLi4uCkRpZSBSZWdlbG4sIG5hY2ggZGVuZW4gaGllciAiZ2VyaWNodGV0IiB3aXJkIHNpbmQgbmljaHQgYXVmIGRlbW9rcmF0aXNjaGVtCldlZ2UgenVzdGFuZGUgZ2Vrb21tZW4sIHVuZCBkaWUgUGVyc29uZW4sIGRpZSBoaWVyICJiZXN0cmFmZW4iLCBzaW5kCm5pY2h0IGRlbW9rcmF0aXNjaCBnZXdhZWhsdCB3b3JkZW4gLi4uICEhIQogClRqYSwgZGFzIGlzdCBoaWVyIG51bm1hbCBlaW4gTVVELCB1bmQgbmljaHQgUkwgLi4uIGhpZXIgZ2VodCBlcyBuaWNodApkZW1va3JhdGlzY2ggenUuIERhcyB3ZWlzcyBqZWRlciwgZGVyIGhpZXIgMSBXb2NoZSAobWF4aW1hbCA7LSkpIGdlc3BpZWx0CmhhdCAuLi4gdW5kIHdlciBtaXQgc293YXMgbmljaHQga2xhciBrb21tdCwgZGVyIHdpcmQgdWViZXIgbGFuZyBvZGVyIGt1cnoKaW4gamVkZW0gTVVEIHNlaW5lIFByb2JsZW1lIGhhYmVuIChvZGVyIGtlbm50IGVpbmVyIGVpbiBNVUQsIGluIGRlbQp3aXJrbGljaCB2ZXJzdWNodCB3aXJkLCBkZW1va3JhdGlzY2hlIFN0cnVrdHVyZW4gYXVmenViYXVlbiB1bmQgZGFzCmF1Y2gga2xhcHB0IHVuZCB2b3JhbGxlbSwgd28gZGFubiBlaW4gInN1cGVyIEtsaW1hIiBoZXJyc2NodCkgPz8/CiAKU29vbywgZGFzIHdvbGx0ZSBpY2ggZG9jaCBtYWwgbG9zd2VyZGVuIC4uLi4KIApQaWxncmltCihiZWRlbmtlOiAxLiBkYXMgaXN0IG51ciBlaW4gU3BpZWwKICAgICAgICAgIDIuIGRpZSBhbmRlcmVuIHNpbmQgYXVjaCBudXIgTWVuc2NoZW4pCiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9ldHRpcyBBYmdhbmcgKEdyaW1tYm9ybiwgIDUuIFNlcCAxOTk2LCAwMDoxMTo1OSk6CgpJY2ggZGVua2UsIGlociBzZWh0IGRhcyBncm9lc3N0ZW50ZWlscyBmYWxzY2g6CjEpIEhpZXIgZ2lidHMgZWluIHBhYXIgTGV1dGUgZGllICJkaWUgTWFjaHQiIGhhYmVuLiBXYXMgZGllIHR1biBnaWx0LCB3ZWlsIHNpZQogICBkaWUgcGh5c2lrYWxpc2NoZSBHZXdhbHQgdWViZXIgZGllIGZpbGVzIGhhYmVuLgoyKSBNYW4gbXVzcyBkaWUgUmVnZWxuIG5pY2h0IGd1dCBmaW5kZW4sIGFiZXIgd2VubiBlaW5lciBzbyBvZnQgdW5kIHdpZWRlcmhvbHQKICAgZ2VtYWhudCB1bmQgdmVyd2FybnQgd2lyZCB3aWUgT2V0dGkgZXMgZ2V3b3JkZW4gaXN0LCBkYW5uIGlzIHNvIGVpbgpWZXJoYWwtCiAgIHRlbiBnZXdvbGx0LCBkYXMgaXN0IHNjaG9uIGtlaW5lIGdyb2JlIEZhaHJsYWVzc2lna2VpdCBtZWhyLCBkYXMgaXN0IFZvci0KICAgc2F0ei4gTUFXOiBPZXR0aSBoYXRzIHNlbGJlciBzbyBnZXdvbGx0LgozKSBXZXIgc2ljaCBpbm5lcmhhbGIgZWluZXMgZ2VzY2hsb3NzZW5lbiBTeXN0ZW1zIGJlZmluZGV0IHVuZCBnZWdlbiBkaWUKICAgaW1tYW5lbnRlbiBSZWdlbG4gdmVyc3RvZXNzdCwgbXVzcyBkYW1pdCByZWNobmVuLCBkdXJjaCBpbW1hbmVudGUgUmVnZWxuCiAgIGJlc3RyYWZ0IHp1IHdlcmRlbi4gV2Vubm4gbWFuIGRhcyBhbHMgdW5nZXJlY2h0IGVtcGZpbmRldCBrYW5uIG1hbgplbnR3ZWRlcgogICBkYXMgU3lzdGVtIHdlY2hzZWxuIG9kZXIgZGllIFJlZ2VsbiAoc3lzdGVtaW1tYW5lbnQpIGFlbmRlcm4uIEJlaWRlcyBpc3QKICAgaGllciBiaXNoZXIgbmljaHQgYW5nZXNwcm9jaGVuIHdvcmRlbi4gRGFzIGVpbmUgd2FlcmUgZWluICJHZWgnIGRvY2ggbmFjaAogICBkcnVlYmVuIChVbml0b3BpYSB1LmFlLikiLCBkYXMgYW5kZXJlIGVpbmUgUmVnZWxkaXNrdXNzaW9uLiBVbmQgd2llIHNvbGx0ZQogICBkaWUgYXVzc2VoZW4/IFN0YXR0ICJNYWdpZXIgZHVlcmZlbiBpaHJlIE1hY2h0IG5pZSBtaXNzYnJhdWNoZW4iIGpldHp0CiAgICJNYWdpZXIga29lbm5lbiBpaHJlIE1hY2h0IGZyZWkgZ2VicmF1Y2hlbiI/IE9kZXIgIk1hZ2llciBkdWVyZmVuIHR1biB3YXMKICAgc2llIHdvbGxlbiwgc29sYW5nZSBzaWUgT2V0dGkgaGVpc3NlbiBvZGVyIGlocmUgTmFzZW4gWWFudHJvIGdlZmFsbGVuIj8KICAgT2RlciBkb2NoICJEaWUgUmVnZWxuIGhpZXIgZ2VsdGVuIG51ciBzb2xhbmdlLCBiaXMgbWFuIHNpZSBnZWdlbiBhbnNvbnN0ZW4KICAgamEgc2NobnVja2VsaWdlIFBlcnNvbmVuIGFud2VuZGVuIG11ZXNzdGUiPyBVZWJlcmxlZ3QgbWFsLCB3YXMgaWhyIHNhZ3QsCiAgIHdhcyBpaHIgZGFtaXQgd2lya2xpY2ggZm9yZGVydCwgdW5kIERBTk4gc2NocmVpYnRzIGhpZXIgcmVpbi4KCkljaCBtb2NodGUgT2V0dGkgc2VociAodW5kIG1hZyBpaG4gamEgYXVjaCBpbW1lciBub2NoKSwgYWJlciBzbyB3aWUgZXIgZHJ1bQpnZWJldHRlbHQgaGF0IG11ZXNzdGUgZXIgc2ljaCBNaXRsZWlkIHZvbiBlaW5lbSBhbmRlcmVuIGhvbGVuLiBXZW5uIGVyIHdlbGNoZXMKd29sbHRlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2V0dGlzIEFiZ2FuZyAoQ2FyYWRocmFzLCAgNS4gU2VwIDE5OTYsIDAwOjE0OjIzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDE4NzUxMTkKfiMhIHRpZD04NDE4NzUxMTkKTkVJTiwgT0VUVEkgSkEgTklDSFQgTkFDSCBVTklUT1BJQSBSRUlOTEFTU0VOISAKCiAgICAgIEFybWVzIE1hZ3lyYSEgICAgICAgICAgICAgUm90aG9ybiBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9ldHRpIGdlbG9lc2NodCAoTGksICA1LiBTZXAgMTk5NiwgMTE6MDU6MTApOgp+IyEgcm49QXNtb2RpcyBydD04NDE4NTA3NDcKfiMhIHRpZD04NDE3NTE0OTYKTmFqYSBhYnRyZXRlbiwgYWJzdHVmZW4gbXVzcyBqYSBuaWNodCBzZWluLCBnZWh0IGphIGF1Y2ggbmljaHQsIGRhIGVzIGlociBNVUQKaXN0LGFiZXIgdmllbGxlaWNodCBzb2xsdGVuIHNpZSBzaWNoIG1hbCBlaW5lIHBhYXIgR2VkYW5rZW4gbWFjaGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPZXR0aSBnZWxvZXNjaHQgKEhhZHJhLCAgNS4gU2VwIDE5OTYsIDExOjEwOjE2KToKfiMhIHJuPUxpIHJ0PTg0MTkxNDMxMAp+IyEgdGlkPTg0MTc1MTQ5NgpnZW5hdSwgbGFzc3QgdW5zIGVpbmUgcmVnaWVydW5nIHdhZWhsZW4gdW5kIGRhbm4gYmVrb21tZW4gdmllbGxlaWNodCBzb2dhciBkaWUKendlaXRpZXMgaWhyZSBsYW5nZ2Vmb3JkZXJ0ZSBrb25zdGl0dXRpb25lbGwgdmVyYW5rZXJ0ZSBnZXdlcmtzY2hhZnQuCgpoYWRyYSBkZW5rdCAuIG8gTyAoYWxsZSBqYWhyZSB3aWVkZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBPZXR0aSBnZWxvZXNjaHQgKFJhbnRhbnBsYW4sICA1LiBTZXAgMTk5NiwgMTE6MTI6MDkpOgp+IyEgcm49SGFkcmEgcnQ9ODQxOTE0NjE2Cn4jISB0aWQ9ODQxNzUxNDk2CkFSR0hISEhISEhISEhISEhISEhISEhISEhISEhIICEhISEhCgpBbHNvIHdlbm4gZXMgbWljaCBiZWxhc3RlbiB3dWVyZGUsIGRhbm4gaGFldHRlIGljaCBkb2NoIHdvaGwKYXVjaCBkZW4gc3VwZXJtZWdhcmllc2VubmVydmF1ZnN0YW5kIGdlbWFjaHQuLi4KClNpZWhlIGRhbWFscy4uLgoKQWxzbyBsYXNzdCBndXQgc2VpbiwgaWNoIGhhdHRlIG1laW5lbiBTcGFzcyB1bmQgZmVydGlnLgoKRGFzIGRhIGpldHp0IHdpZWRlciBzbyBuZSBEaXNrdXNzaW9uIGFuZmFuZ2VuIG11c3MuLi4KCgpNVURERVIuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBPZXR0aSBnZWxvZXNjaHQgKFdhcmdvbiwgIDUuIFNlcCAxOTk2LCAxMToxODoyNik6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg0MTkxNDcyOQp+IyEgdGlkPTg0MTc1MTQ5NgpXaWxsc3QgRHUgRGVpbmUgRmFucyB3aXJrbGljaCBzbyBzZWhyIGVudHRhZXVzY2hlbj8KQmxvZWRlciBIdW5kISA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPZXR0aXMgQWJnYW5nIChBc21vZGlzLCAgNS4gU2VwIDE5OTYsIDE0OjA5OjE0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDE4NzUxMTkKfiMhIHRpZD04NDE4NzUxMTkKSG1tLCBlaW5lIE1vZWdsaWNoa2VpdCBoYXN0IGR1IHZlcmdlc3NlbjoKCk5laG10IGRlbiBNYWdpZXJuIGRpZSBNb2VnbGljaGtlaXQsIHNvbGNoZW4gVW5zaW5uIHdpZSB6YXBwZW4genUgdHVuLApzaWNoZXIgZ2VodCBkYXMgaXJnZW5kd2llIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFsIHNvIG5lIElkZWUuLi4uIChUaGFzY28sICA1LiBTZXAgMTk5NiwgMTQ6MDk6MjIpOgpIYWxsbyBtaXRlaW5hbmRlciEgCgpBbHNvLCBpY2ggd29sbHQgbWljaCB6d2FyIG5pY2h0IGVpbm1pc2NoZW4gKGphamEsIGljaCB3ZWlzcywgenUgc3BhZXQhIDopKSwKYWJlciBtaXIga2FtIGRhIGViZW4gc28gbmUga2xlaW5lIElkZWUhCldpZSB3YWVycyBkZW5uLCB3ZW5uIHdpciBkZW4gU2hlcmlmZiBXSVJLTElDSCB3YWVobGVuIHVuZCBkYW5uIG51ciBJREVTRVIgZGllCk1hY2h0IHp1bSB6YXBwZW4gaGFldHRlIChhdXNnZW5vbW1lbiB1bnNlcmUgR29ldHRlciBKb2YgdW5kIEJvaW5nIG5hdHVlcmxpY2ghClVuZCBkYXMgc2FnIGljaCBhbHMgU2FwaGluYWFuaGFlbmdlciwgdHMsdHMsdHMsdHMuLi4pCkRhbm4gZ2FlYnMgbmUgZGVtb2tyYXRpc2NoZSBXYWhsIHVuZCBtYW4ga29lbm50ZSwgd2VubiBkZXIgU2hlcmlmZiBiZWltIFphcHBlbgpTY2hlaXNzZSAobW9lZ2UgU2FwaGluYSBtaXIgdmVyemVpaGVuKSBiYXV0LCBkZW5qZW5pZ2VuIGJlaSBkZXIgbmFlY2hzdGVuIFdhaGwKZWluZmFjaCBuaWNodCBtZWhyIHdhZWhsZW4hIDopIE5hamEuLi4uLgpJc3QgaGFsdCBudXIgbmUgSWRlZS4gQWJlciwgd2lyIHd1ZXJkZW4gdW5zIGdsYXViIGljaCBuZSBNZW5nZSBBZWdyZSBzcGFyZW4sCm9kZXIgd2FzIG1laW50IGlocj8/PwoKTWl0IGxpZWJlbiBHcnVlc3NlbgpCcnVkZXIgVGhhc2NvLCBEaWFrb24gKG5lbmUsIGlzdCBzY2hvbiBkaWUgcmljaHRpZ2UgUnVicmlrISA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWwgc28gbmUgSWRlZS4uLi4gKENhcmFkaHJhcywgIDUuIFNlcCAxOTk2LCAxNDoxMDozNik6Cn4jISBybj1UaGFzY28gcnQ9ODQxOTI1MzYyCn4jISB0aWQ9ODQxOTI1MzYyCldpZSB3aWxsc3RuIER1IHNvd2FzIHdpZSB6YXBwZW4gdW1nZWhlbj8gU29iYWxkIGplbWFuZCBwcm9nZ2VuCmthbm4ga2FubiBtYW4gZXMgc28gZWluZmFjaCB1bWdlaGVuLi4uIGRhcyBlcyBzY2hvbiBuaWNodCBtZWhyIGZlaWVybGljaAppc3QuIFNlbGJzdCB3ZW5uIG1hbiBrYXVtIExQQy1LZW5udG5pc3NlIGhhdC4KCgogICAgICAgICBHb2xkZHJhY2hlIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBzbyBuZSBJZGVlLi4uLiAoUGFtcGVycywgIDUuIFNlcCAxOTk2LCAxNDoxMTozNCk6Cn4jISBybj1UaGFzY28gcnQ9ODQxOTI1MzYyCn4jISB0aWQ9ODQxOTI1MzYyCk51ZXR6dCBuaXguLi4KRXMgZ2lidCBzb29vIHZpZWxlIE1vZWdsaWNoa2VpdGVuLCBhbHMgTWFnaWVyLCBlaW5lbiBTcGllbGVyIHp1bSBUb2RlCnp1IGJlZm9lcmRlcm4uLi4gei5CLiBibGluZCB1bmQgbWl0IGVpbmVtIEhpdHBvaW50IHp1bSBVbnRpZXIgdHJhbnNlbi4uLgpEYSBudWV0enQgZGFzIGFsbGVzIG5peC4uLiA6LSkKClBhbXBlcnMuIFd1ZXJkZSBuYXR1ZXJsaWNoIG5pZSB6YXBwZW4uIFZpZWwgenUgYXVmZmFlbGxpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFsIHNvIG5lIElkZWUuLi4uIChXdXJ6ZWwsICA1LiBTZXAgMTk5NiwgMTY6MTc6MjIpOgp+IyEgcm49UGFtcGVycyBydD04NDE5MjU0OTQKfiMhIHRpZD04NDE5MjUzNjIKbWFuIGthbm4gZXMgenVtaW5kZXN0ZW5zIGRldXRsaWNoIHNjaHdlcmVyIG1hY2hlbiwgYWxzIGVzIGpldHp0IGlzdC4gc28gCnNjaHdlciwgZGFzcyBtYW4gbWVociBhbHMgbnVyIGVpbiBrbGVpbiB3ZW5pZyBscGMta2VubnRuaXNzZSBicmF1Y2h0LiBkYXMKZW5ndCBkZW4ga3JlaXMgZG9jaCBzdGFyayBlaW4uIDopCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBzbyBuZSBJZGVlLi4uLiAoRnl0LCAgNS4gU2VwIDE5OTYsIDE4OjMwOjM4KToKfiMhIHJuPVRoYXNjbyBydD04NDE5MjUzNjIKfiMhIHRpZD04NDE5MjUzNjIKCkxhc3N0IGRpZSBEZW1va3JhdGllIGF1cyBkZW0gTXVkLCBqYT8gQml0dGUuIERhcyB3aXJkIGRvY2ggZWggbml4Li4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hbCBzbyBuZSBJZGVlLi4uLiAoQWNyaW1vbiwgIDUuIFNlcCAxOTk2LCAxODo0NDo0Mik6Cn4jISBybj1GeXQgcnQ9ODQxOTQxMDM4Cn4jISB0aWQ9ODQxOTI1MzYyCkRvY2gsIG5hdHVlcmxpY2ggd2lyZCBkYXMgd2FzOgpEZW1va3JhdGllIGltIE11ZCBmb2VyZGVydCBBcmlzdG9rcmF0aWUsIEJ1ZXJva3JhdGllLCBNYWNodGdpZXIsClNjaG1pZXJnZWxkZXIsIFNjaGF1c3RlbGxlcmVpLCBTdGltbXVuZ3NtYWNoZXJlaSwgU3RyZWl0aGFlaG5lLCBNYWNodGthZW1wZmUsClJ1ZWNrc2ljaHRzbG9zaWdrZWl0LCBVbmZhZWhpZ2tlaXQsIEFibGVua3VuZywgQmVsZWlkaWd1bmcsIEF1ZmhldHp1bmcsCkdlcmljaHRzYmFya2VpdCwgR2VoZWltbmlza3JhZW1lcmVpLCBWZXJiZXJndW5nLCBWZXJmYWVsc2NodW5nLApQaGlsb3NvcGhpZXJlcmVpLCBQb2xpdGlzaWVyZXJlaSwgLi4uCgprdXJ6OiBkYXMgTUcgd2lyZCBzZWxic3QgZWluIEFiZW50ZXVlciB3ZXJkZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbCBzbyBuZSBJZGVlLi4uLiAoQ2FyYWRocmFzLCAgNS4gU2VwIDE5OTYsIDE4OjQ2OjUxKToKfiMhIHJuPUFjcmltb24gcnQ9ODQxOTQxODgyCn4jISB0aWQ9ODQxOTI1MzYyCldpZXNvLCBBY3JpbW9uLCBkYXMgZ2lidHMgZG9jaCBzY2hvbiBhbGxlcyBpbiBSTCwgd2FzIHdpbGwgaWNoIGRhbm4KYXVjaCBub2NoIGhpZXIgZGFtaXQ/CgogICAgRnJpZWRlLCBGcmV1ZGUsIEhVTkdBIQoKICAgICAgICAgICAgICBSb3Rob3JuIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFsIHNvIG5lIElkZWUuLi4uIChUYXNoYSwgIDUuIFNlcCAxOTk2LCAxOTo0NjoxNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg0MTk0MTg4Mgp+IyEgdGlkPTg0MTkyNTM2MgpCb2FoLCBkYSB3YXIgamEgZ2FyIGtlaW4gc3ogZHJpbiEgKnN0YXVuZ2V3YWx0aWcqCgpwbCB0YXNoYSByYiBzY2htYXJybiBtb3ZlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWwgc28gbmUgSWRlZS4uLi4gKFd1cnplbCwgIDUuIFNlcCAxOTk2LCAxOTo0Nzo0Nyk6Cn4jISBybj1UYXNoYSBydD04NDE5NDU1NzUKfiMhIHRpZD04NDE5MjUzNjIKYWNyaW1vbiBnZWh0IGF1Y2ggbWl0IGRlciB6ZWl0Li4uIG5hY2ggZGVyIHJlY2h0c2NocmVpYnJlZm9ybSBoZWlzc3QgZGFzCmpldHp0IHRhdHNhZWNobGljaCAnc3MnIDopCnd1cnplbCBoYXRzIHNjaG9uIGltbWVyIGdld3Vzc3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1hbCBzbyBuZSBJZGVlLi4uLiAoQW5hdG9sLCAgNS4gU2VwIDE5OTYsIDE5OjUwOjA1KToKfiMhIHJuPVd1cnplbCBydD04NDE5NDU2NjcKfiMhIHRpZD04NDE5MjUzNjIKCkFjaCB3YXMsIGVyIHdpcmQgZWluZmFjaCBhbHQ6CkFjcmltb24gcnVmdDogV0VJU1NXVUVSU1RFIQoKQW5hdG9sIChncmluc3QpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFsIHNvIG5lIElkZWUuLi4uIChSYWZmaSwgIDUuIFNlcCAxOTk2LCAyMToyMzoyNyk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQxOTQyMDExCn4jISB0aWQ9ODQxOTI1MzYyCgpIdW5nYSA/IEF1ZiBGcm9zY2hzY2hlbmtlbCA/CgpXaWUgd2FlcnMgbWl0IGVpbmVyIEdlZGVua2JyaWVmbWFya2UgenUgZGllc2VyIERpc2t1c2lvbiA/CgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFsIHNvIG5lIElkZWUuLi4uIChBY3JpbW9uLCAgNS4gU2VwIDE5OTYsIDIyOjAyOjI2KToKfiMhIHJuPUFuYXRvbCBydD04NDE5NDU4MDUKfiMhIHRpZD04NDE5MjUzNjIKTWlzdCB2ZXJkYW1tdGVyLCBpY2ggemVpZyBzY2hvbiBBbHRlcnNlcnNjaGVpbnVuZ2VuIQoKSWNoIG1vZWNodGUgbWljaCBoaWVybWl0IGhlcnpsaWNoIGJlaSBBbGxlbiBlbnRzY2h1bGRpZ2VuLgpIaWVyIHJlaWNoZSBpY2ggbm9jaCBtZWluZSBVbnRlcmxhc3N1bmdlbiBuYWNoOgoKc3ogc3ogU1ogc3oKCkdydXN6LAotLSAKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgpQUzogTmFjaCBkZXIgUmVjaHRzY2hyZWlicmVmb3JtIHdpcmQga2VpbmVzd2VncyBzeiB6dSBzcywgZGFzIGlzdCBlaW5lIEx1ZWdlIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFsIHNvIG5lIElkZWUuLi4uIChXdXJ6ZWwsICA1LiBTZXAgMTk5NiwgMjI6MDM6NTEpOgp+IyEgcm49QWNyaW1vbiBydD04NDE5NTM3NDYKfiMhIHRpZD04NDE5MjUzNjIKZGFubiBsdWVndCBkaWUgZnJhbmtmdXJ0ZXIgcnVuZHNjaGF1IHVuZCBkaXZlcnNlIGFuZGVyZSBwdWJsaWthdGlvbmVuIGF1Y2guLi4KaG0sIHdlbSBnbGF1YiBpY2ggamV0enQ/Cnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFsIHNvIG5lIElkZWUuLi4uIChGeXQsICA1LiBTZXAgMTk5NiwgMjI6Mjg6NDcpOgp+IyEgcm49QWNyaW1vbiBydD04NDE5NTM3NDYKfiMhIHRpZD04NDE5MjUzNjIKClJpY2h0aWcsIEFjcmltb24sIGluICdTY2hsYWZlbnN6ZWl0JyBibGVpYnQgZGFzICdzeicgZnJlaWxpY2ggZGFubiBkcmluLAphYmVyIGF1cyAnRmEvMycgKGdybXBmKSB3aXJkICdGYXNzJy4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1hbCBzbyBuZSBJZGVlLi4uLiAoQWNyaW1vbiwgIDUuIFNlcCAxOTk2LCAyMjozNDowMSk6Cn4jISBybj1GeXQgcnQ9ODQxOTU1MzI3Cn4jISB0aWQ9ODQxOTI1MzYyCkFiZXIgZGFzIE1hc3otQmFuZCBibGVpYnQsIHdhZWhyZW5kIGRpZSBNYXN6IEJpZXIgIk1hc3MiIGdlc2NocmllYmVuIHdpcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1hbCBzbyBuZSBJZGVlLi4uLiAoUmFmZmksICA1LiBTZXAgMTk5NiwgMjI6MzU6MzMpOgp+IyEgcm49QWNyaW1vbiBydD04NDE5NTU2NDEKfiMhIHRpZD04NDE5MjUzNjIKClNvIGVpbiBVbnNpbm4gLSBpY2ggaGFldHRlIGRhcyB1bWdla2VocnQgZ2ViYXV0ISAtIGFjaCB3YXMgaWNoIGhhZXR0ZSBhbSBzeiBlaApuaXggZ2VhZW5kZXJ0LgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1hbCBzbyBuZSBJZGVlLi4uLiAoRnl0LCAgNS4gU2VwIDE5OTYsIDIyOjQxOjI1KToKfiMhIHJuPUFjcmltb24gcnQ9ODQxOTU1NjQxCn4jISB0aWQ9ODQxOTI1MzYyCgonLzMnIG5hY2ggbGFuZ2VtIFZva2FsIGJsZWlidCAnLzMnLCBuYWNoIGt1cnplbSB3aXJkIGVzIHp1ICdzcycuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHNvIG5lIElkZWUuLi4uIChBY3JpbW9uLCAgNS4gU2VwIDE5OTYsIDIyOjQyOjMxKToKfiMhIHJuPVJhZmZpIHJ0PTg0MTk1NTczMwp+IyEgdGlkPTg0MTkyNTM2MgpSYWZmaSBoYXQgcmVjaHQsIGluIGRpZXNlbSBTaW5uIGlzdCBkaWUgUmVjaHRzY2hyZWlicmVmb3JtIHdlaXQgYW4gaWhyZW0gWmllbAp2b3J1ZWJlcmdlc2Nob3NzZW4uCgpNYW4gbXVlc3p0ZSBoYWx0IG5vY2ggZGFzICJzY2hhcmZlIHMiIGluICJ3ZWljaGVzIHMiIHVtYmVuZW5uZW4sIGRhbm4gd3VlcmRlCmVzIHN0aW1tZW4uCkxlaWRlciBpc3QgZGFtaXQgZGVyIFVudGVyc2NoaWVkIHp3aXNjaGVuIGRlbSBzY2hhcmYgZ2VzcHJvY2hlbmVuIHVuZCBkZW0gbGFuZwpnZXNwcm9jaGVuZW4gcyBrb21wbGV0dCBpbSBOaWNodHMgdmVyc2Nod3VuZGVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWFsIHNvIG5lIElkZWUuLi4uIChHcmltbWJvcm4sICA1LiBTZXAgMTk5NiwgMjM6MTc6MjApOgp+IyEgcm49QWNyaW1vbiBydD04NDE5NTYxNTEKfiMhIHRpZD04NDE5MjUzNjIKSXN0IHNjaG9uIGJlbWVya2Vuc3dlcnQ6IFdlbm4gbWFuIHNpY2ggZGllIEVudHdpY2tsdW5nIGRlciBTcHJhY2hlIHNvIGFuc2llaHQKaXN0IGRhcyBlaW5lIEVudHdpY2tsdW5nIHp1ciBWZXJlaW5mYWNodW5nIGhpbi4KRGllIEZyYWdlIGlzdCBkYW5uIGFiZXIgZG9jaDogV28ga2FtZW4gZGllIGtvbXBsaXppZXJ0ZW4gU3ByYWNoZWxlbWVudGUgZGVubgp1ZWJlcmhhdXB0IHp1IEJlZ2lubiBoZXI/IEhlcnIgdm9uIERhZW5pa2VuLCB1ZWJlcm5laG1lbiBTaWUhCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRmIHRmIHRmIHRmIHRmIHRmIHRmIChKYXNwZXIsICA2LiBTZXAgMTk5NiwgMDg6MzY6MTcpOgpIaWVybWl0IGJlYW50cmFnZSBpY2ggZWluZSBSdWJyaWsgJ3RmJyBvZGVyICdjbGllbnRzJy4uLgoKRm9sZ2VuZGVzIHNvbGwgcGFzc2llcmVuIDoKCltBbGxnZW1laW46SmFzcGVyXSBaaWVsOiBTZW5zZW5tYW5uCgotLT4gZmV1ZXJiYWxsIHNlbnNlbm1hbm4KCkRpZXMgaGFiIGljaCBzbyB2ZXJzdWNodAovZGVmIC1wMSAtbXJlZ2V4cCAtdCdcW0FsbGdlbWVpbjpKYXNwZXJcXSBaaWVsOiAoLiopJyA9IGZldWVyYmFsbAokW3RvbG93ZXIoJVAxKV0KbnVyIGxlaWRlciBoYXV0IGRhcyBuaWNodCBoaW4sIGhhIGVpbmVyIG5lIGFobnVuZyB3YXMgaWNoIGZhbHNjaCBnZW1hY2h0IGhhYmUKPz8/Pz8KCgpKYXNwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGYgdGYgdGYgdGYgdGYgdGYgdGYgKEhhZHJhLCAgNi4gU2VwIDE5OTYsIDEwOjA3OjU1KToKfiMhIHJuPUphc3BlciBydD04NDE5OTY5NjQKfiMhIHRpZD04NDE5OTE3NzcKZWluZSBydWJyaWsgZnVlciB0ZiB3YWVyZSBzdGlua2xhbmd3ZWlsaWcsIHdlaWwgZGFubiBkaWUgZ2FuemUgYXRtb3NwaGFlcmUgZGllCmluIGR1bmtsZW4gZWNrZW4gYmVpbSB0YXVzY2hlbiBpbGxlZ2FsZXIgc2NyaXB0cyBlbnRzdGVodCBlaW5mYWNoIHZlcnNjaHdpbmRlbgp3dWVyZGUuIAoKaGFkcmEgLSBmb3JkZXJ0OiBzY3JpcHRzIGluIGRpZSBoaW50ZXJob2VmZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGYgdGYgdGYgdGYgdGYgdGYgdGYgKEphc3BlciwgIDYuIFNlcCAxOTk2LCAxMDoxNzo0OCk6Cn4jISBybj1KYXNwZXIgcnQ9ODQxOTk3ODE5Cn4jISB0aWQ9ODQxOTkxNzc3Ci9kZWYgLXAxIC1tcmVnZXhwIC10J1xbQWxsZ2VtZWluXDpKYXNwZXJcXSBaaWVsXDogKC4qKScgPSBmZXVlcmJhbGwKJFt0b2xvd2VyKCVQMSldCgpqZXR6dCBhYmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHRmIHRmIHRmIHRmIHRmIHRmIHRmIChNb3Jnb3RoLCAgNi4gU2VwIDE5OTYsIDEwOjE4OjM2KToKfiMhIHJuPUphc3BlciBydD04NDE5OTc4NjgKfiMhIHRpZD04NDE5OTE3NzcKdW5kIHdhcyB3aWxsc3QgZHUgbnVuIGRhbWl0ID8/CgpNb3Jnb3RoLCBmcmFnZW5kIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdGYgdGYgdGYgdGYgdGYgdGYgdGYgKEphc3BlciwgIDYuIFNlcCAxOTk2LCAxMDoyMDo0NCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg0MTk5NzkxNgp+IyEgdGlkPTg0MTk5MTc3NwptZXR6ZWxuIGltIHpvbWJpZW11ZCA6KSBtaXQgNSB4dGllcyBpbiBlaW5lbSB0ZWFtLCB1bmQgbnVyIGVpbmVuIG11c3MgaWNoCnN0ZXVlcm4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHRmIHRmIHRmIHRmIHRmIHRmIHRmIChHcnVtYmFydCwgIDYuIFNlcCAxOTk2LCAxMTozMjo0NSk6Cn4jISBybj1KYXNwZXIgcnQ9ODQxOTk4MDQ0Cn4jISB0aWQ9ODQxOTkxNzc3CkZlaGx0IERpciBlaWdlbnRsaWNoIG51ciBub2NoIGVpbiBlaWdlbmVyIEthbmFsIC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHRmIHRmIHRmIHRmIHRmIHRmIHRmIChKYXNwZXIsICA2LiBTZXAgMTk5NiwgMTI6MTg6NDgpOgp+IyEgcm49R3J1bWJhcnQgcnQ9ODQyMDAyMzY1Cn4jISB0aWQ9ODQxOTkxNzc3CndhZXIgbmljaHQgc2NobGVjaHQKCmphKiB0ZXN0ZXQgd2lldmllbCBhcnRpa2VsIHdvaGwgaW4gYWxsZ2VtZWluIHBhc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWwgc28gbmUgSWRlZS4uLi4gKENhdW5vLCAgNi4gU2VwIDE5OTYsIDE1OjE5OjM4KToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDE5MjU0MzYKfiMhIHRpZD04NDE5MjUzNjIKCmhtLiBpY2ggaGFiIGRhIG1hbCBpcmdlbmR3YXMgdm9uIHNjaHJlaWJyZWNodGVuIGF1ZiBVTklYLVN5c3RlbWVuIGdlaG9lcnQsCm9kZXIgc293YXMgLi4uCgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFsIHNvIG5lIElkZWUuLi4uIChHcmltbWJvcm4sICA2LiBTZXAgMTk5NiwgMTg6MDc6MTMpOgp+IyEgcm49Q2F1bm8gcnQ9ODQyMDE1OTc4Cn4jISB0aWQ9ODQxOTI1MzYyCgpVbmQgd2FzIGRlbmtzdCBEdSBpc3QgZWluIE1hZ2llcj8KSWNoIHZlcnJhdHMgRGlyOiBFaW4gU3BpZWxlciBtaXQgU2NocmVpYnJlY2h0ZW4gKGJ6dy4gQXVzZnVlaHJyZWNodGVuKS4KCldhcyBkZXIgcmVwbHkgc29sbD8gS2VpbmUgQWhudW5nLCB3YXMgc29sbHRlIGRlbm4gZGFzIG1pdCBkZW4gVW5peC1SZWNodGVuCnVlYmVyaGF1cHQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbCBzbyBuZSBJZGVlLi4uLiAoTXVwZmVsLCAgNi4gU2VwIDE5OTYsIDE5OjEyOjUwKToKfiMhIHJuPVd1cnplbCBydD04NDE5MzMwNDIKfiMhIHRpZD04NDE5MjUzNjIKeGNhbGwgc3BpZWxlci0+ZGllKCkKCmRhcyBsZXJudCBoaWVyIGRvY2ggamVkZXIganVuZ21hZ2llciBuYWNoIHNwYWV0ZXN0ZW5zIDIgb25saW5lIHN0dW5kZW4gOi0pCgpqYSB1bmQ/IGFiIHVuZCB6dSBNVVNTIG1hbiB6YXBwZW4gKG1vbnN0ZXIpCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFsIHNvIG5lIElkZWUuLi4uIChBbmF0b2wsICA2LiBTZXAgMTk5NiwgMTk6MjQ6MTMpOgp+IyEgcm49TXVwZmVsIHJ0PTg0MjAyOTk3MAp+IyEgdGlkPTg0MTkyNTM2MgoKVmllbGxlaWNodCBzb2xsdGUgTXIuIE11cGZlbCBtYWwgZHJhbiBkZW5rZW4sIHdhcyB3aXIgaW0gQW5kZXJsYW5kIGdlbWFjaHQgCmhhYmVuIC0gRG9ydCBpc3QsIHVtIFVuZmFlbGxlIGR1cmNoIExlaWNodHNpbm4genUgdmVybWVpZGVuLCBkZXIgQmVmZWhsCiJ6YXAiIGVyc3QgYWIgZWluZW0gaG9laGVyZW4gTWFnaWVybGV2ZWwgYXVmIFNwaWVsZXIgbW9lZ2xpY2guCgpNdXR3aWxsaWdlcyBTcGllbGVydG9ldGVuIGthbm4gbWFuIG5pY2h0IHZlcmhpbmRlcm4uIEJlaSBVbmZhZWxsZW4ga2FubiBtYW4gZXMKenVtaW5kZXN0IHZlcnN1Y2hlbiA6LSkKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN0dWVwc2UgKENhcmFkaHJhcywgIDcuIFNlcCAxOTk2LCAwMDozNjozOSk6CiAgICAgICAgICAgICAgIEd1Z2dzCgpNYWwgd2llZGVyIGVpbmUgc2NodWVjaHRlcm5lIEZyYWdlOgpXZW5uIG1hbiBhbiBlaW5lciBTdGVsbGUgZWluZSBEb3BwZWxiZWxlZ3VuZyB2b24gWlRzIGhhdCwgZmluZGV0IG1hbiBkYW5uIGFsbGUKNCBTdHVwc2UgYmVpbSBlcnN0ZW4gTWFsIHN1Y2hlbiBvZGVyIG11c3MgbWFuIGRhIG9lZnRlcnM/CkJ6dyB3aXJkIGRhbm4gYmVpbSAydGVuIE5hY2hzY2hhdWVuIGF1Y2ggZGVyIDJ0ZSBFaW50cmFnIGdlbm9tbWVuIG9kZXIgd2lyZApkYXMgZ2FyIG5pY2h0IGVya2FubnQsIGRhIG51ciBkZXIgZXJzdGUgZ2VjaGVja3Qgd2lyZD8gKmdydWViZWwgbmV1Z2llcioKCiAgICAgIFJvdGhvcm4gQ2FyYWRocmFzIC0gaGF0IGJlaW5haGUgYWxsZSBaVC1TdGVsbGVuIGRvcHBlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdHVlcHNlIChBc21vZGlzLCAgNy4gU2VwIDE5OTYsIDAwOjM3OjEzKToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDIwNDkzOTkKfiMhIHRpZD04NDIwNDkzOTkKV3Vyc3RzZWhlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWFsIHNvIG5lIElkZWUuLi4uIChXb29keSwgIDcuIFNlcCAxOTk2LCAwMDo0MjozOCk6Cn4jISBybj1BbmF0b2wgcnQ9ODQyMDMwNjUzCn4jISB0aWQ9ODQxOTI1MzYyCgpobW0sIGlkZWUuLi4gaW0gZGllKCkgdm9uIHN0ZC9wbGF5ZXIvYmFzZS5jIG5hY2hndWNrZW4sIG9iIGVzIG5lbgp0aGlzX2ludGVyYWN0aXZlKCkgZ2lidCwgYnp3LiBuZW4gbWFnaWVyIGFscyB1cnNhY2hlIGRlcyB0b2Rlcz8KYWVuZGVydCBuYXR1ZXJsaWNoIG5peCBhbiBkZW4gc3VidGlsZXJlbiBtZXRob2RlbiwgZGllIGVpbmVtCm1hZyBkYW5uIG5vY2ggYmxlaWJlbiA7LSkKCmFueXdheSwgYWhudW5nc2xvcywKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1hbCBzbyBuZSBJZGVlLi4uLiAoQWNyaW1vbiwgIDcuIFNlcCAxOTk2LCAyMjoyNjoyNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQxOTU4MjQwCn4jISB0aWQ9ODQxOTI1MzYyCk5laW4gLSBkaWUgU3ByYWNoZSB3aXJkIG5pY2h0IGVpbmZhY2hlciwgc29uZGVybiBzaW1wbGVyLgpEYXMgc2NoYWRldCBuYXR1ZXJsaWNoIGRlciBVbnRlcnNjaGVpZHVuZyBkZXIgRWluZGV1dGlna2VpdC4KRGllIHp1c2FldHpsaWNoZW4gU3ByYWNoZWxlbWVudGUgd2FyZW4gbm9ldGlnLCB1bSBkaWUgU3ByYWNoZSBlaW5mYWNoZXIgenUKbWFjaGVuIHVuZCBpbiBkZXIgU2NocmlmdCBtb2VnbGljaHN0IHNvLCB3aWUgc2llIGdlc3Byb2NoZW4gd2lyZCwgZGFyc3RlbGxlbgp6dSBrb2VubmVuLgpMZWlkZXIgd2lyZCBoZXV0ZSBkaWUgTWFlY2h0aWdrZWl0IHVuc2VyZXIgU3ByYWNoZSAod2VubiBhdWNoIGdlcmluZ2Z1ZWdpZykKZWluZ2VzY2hyYWVua3QsIGluZGVtIGRpZSBTcHJhY2hlbGVtZW50ZSByZWR1emllcnQgd2VyZGVuLgpOaWNodCBiZWRhY2h0IHdpcmQgaGllcmJlaSwgZGFzeiBkYXMgRXJsZXJuZW4gZGVyIFNwcmFjaGUgZGFkdXJjaCBuaWNodAplaW5mYWNoZXIsIHNvbmRlcm4gc2Nod2llcmlnZXIgd2lyZC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN0dWVwc2UgKEZ5dCwgIDguIFNlcCAxOTk2LCAyMDowODozMik6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQyMDQ5Mzk5Cn4jISB0aWQ9ODQyMDQ5Mzk5CgpEaWUgU3R1cHNlIGdpYnQncyBmdWVyIGRpZSBTdGVsbGVuLCBuaWNodCBmdWVyIGRpZSBaVHMuCgpGeXQuCgpQUzogSWNoIHdhZXJlIHVlYnJpZ2VucyBkYWZ1ZXIsIHdlbm4gbWFuIGVyZmFocmVuIHd1ZXJkZSwgaW4gd2VsY2hlIG5ldWUKR2ViaWV0ZSBhbHRlIFpUcyB2ZXJsZWd0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc3R1ZXBzZSAoQ2FyYWRocmFzLCAgOC4gU2VwIDE5OTYsIDIzOjQxOjQ3KToKfiMhIHJuPUZ5dCBydD04NDIyMDYxMTIKfiMhIHRpZD04NDIwNDkzOTkKQWJlciBtYW4ga3JpZWd0IGRvY2ggZnVlciBkaWUgSGVpbHN0ZWxsZW4gdWViZXIgWlQ3NiBoaW5hdXMgNDAgU3R1cHNlCnBybyBTdGVsbGUuLi4gdW5kIHdlbm4gaWNoIGRhIG51ciBwcm8gU3RlbGxlIGRpZSA0MCBmaW5kZW4ga2FubiwgZGFubgppc3QgZGFzIGRvY2ggdW5nZXJlY2h0IHdlbm4gaWNoIG51ciAyIFN0ZWxsZW4gYW5zdGVsbGUgKGJsb2VkZXMgV29ydCBoaWVyKQp2b24gNCBTdGVsbGVuIGhhYmUuKQpEYXMgd2FlcmVuIGRhbm4gamEgbnVyIDgwIFN0dXBzZSBzdGF0dCAxNjAgU3R1cHNlbi4KCk9kZXIgdmVyc3RlaCBpY2ggZGEgc2Nob24gd2llZGVyIHdhcyBmYWxzY2g/ICpncnVlYmVsKgoKICAgICAgICBSb3Rob3JuIENhcmFkaHJhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc3R1ZXBzZSAoRnl0LCAgOC4gU2VwIDE5OTYsIDIzOjQ2OjUzKToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDIyMTg5MDcKfiMhIHRpZD04NDIwNDkzOTkKCkljaCBoYXR0ZSBkYXMgc28gYXVmZ2VmYXNzdCwgZGFzcyBlcyBkaWUgU3R1cHNlIGZ1ZXIgZGllIFRyYWVua2Ugc2VsYnN0CnVuZCBuaWNodCBmdWVyIGRpZSBTdGVsbGVuIGdpYnQuCgpGeXQuCgpQUzogSW0gdWVicmlnZW4gc2FnZSBpY2gsIEZQcyBhdXMgYWx0ZW4gUXVlc3RzIHNvbGx0ZW4gYW5nZXJlY2huZXQgd2VyZGVuCihzb2xsIG1hbCBnZWhvbGZlbiBoYWJlbiB2b3IgbGFuZ2VyIFplaXQgOy0pICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHN0dWVwc2UgKFdhcmdvbiwgIDkuIFNlcCAxOTk2LCAxMDowMDo1Nik6Cn4jISBybj1GeXQgcnQ9ODQyMjE5MjEzCn4jISB0aWQ9ODQyMDQ5Mzk5CiAgSGkhCkphLCBkaWUgU3R1cHNlIGdpYnRzIGZ1ZXIgZGllIFRyYWVua2UgdW5kIG5pY2h0IGZ1ZXIgZGllIFN0ZWxsZW4uCk5laW4sIGRpZSBGUHMgYXVzIGFsdGVuIFF1ZXN0cyB3ZXJkZW4gTklDSFQgYW5nZXJlY2huZXQuCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYXZlIE9ldHRpIChMaG9zd2FsZCwgIDkuIFNlcCAxOTk2LCAxODo0OToyOSk6CkhpLCBkaWUgRmdXIHVudGVyc3R1ZXp0IGpldHp0IG9mZml6aWVsbCBkaWUgU2F2ZS1PZXR0aS1LYW1wYW5nZSEKCk9mZml6aWVsbGUgSG9tZXBhZ2UgaXN0OgpodHRwOi8vZXJuaWUub3JjaC5ydWhyLXVuaS1ib2NodW0uZGUvY2dpLWJpbi9tZy9zYXZlX29ldHRpCgpMLkguIE9zd2FsZCAtIERhc3MgZGVyIFdvbHBpIENsdWIgbnVyIG5vY2ggYXVzIFJ1aW5lbiBiZXN0ZWh0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhdmUgT2V0dGkgKEFzbW9kaXMsICA5LiBTZXAgMTk5NiwgMTg6NTE6MTgpOgp+IyEgcm49TGhvc3dhbGQgcnQ9ODQyMjg3NzY5Cn4jISB0aWQ9ODQyMjg3NzY5CkRlciBHZWhlaW1kaWVuc3QgTW9yZ2VuR3JhdWVucyBiZWdydWVzc3QgZGllc2UgTWFzc25haG1lIQoKQXNtb2RpcyAtIDAwNwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXZlIE9ldHRpIChSYWZmaSwgIDkuIFNlcCAxOTk2LCAxODo1MjowNyk6Cn4jISBybj1Bc21vZGlzIHJ0PTg0MjI4Nzg3OAp+IyEgdGlkPTg0MjI4Nzc2OQoKTmltbSBsaWViZXIgZGVpbmVuIEJyb3dzZXIgdW5kIHBhY2tzIG5hY2ggCgpodHRwOi8vZXJuaWUub3JjaC5ydWhyLXVuaS1ib2NodW0uZGUvY2dpLWJpbi9tZy9zYXZlX29ldHRpCgpBc21vIDopCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2F2ZSBPZXR0aSAoQXNtb2RpcywgIDkuIFNlcCAxOTk2LCAxODo1MjozNyk6Cn4jISBybj1SYWZmaSBydD04NDIyODc5MjcKfiMhIHRpZD04NDIyODc3NjkKSGFiIGRvY2ggc2Nob24gZG9ydCBtZWluZSBTdGltbWUgYWJnZWdlYmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHNvIG5lIElkZWUuLi4uIChGbG9yYSwgMTAuIFNlcCAxOTk2LCAxMjowMjoyMSk6Cn4jISBybj1GeXQgcnQ9ODQxOTU2MDg1Cn4jISB0aWQ9ODQxOTI1MzYyClN0aW1tdCwgdW5kIGRhcyBoYXQgenVyIEZvbGdlLCBkYXNzIGJlc3RpbW10ZSBXb2VydGVyIGluIFp1a3VuZnQgcmVnaW9uYWwKdmVyc2NoaWVkZW4gZ2VzY2hyaWViZW4gd2VyZGVuOyBkYXMgV29ydCAiU3Bhc3MiIGV0d2Egd2lyZCBpbSBLb2hsZW5wb3R0IGluClp1a3VuZnQgbWl0ICJEb3BwZWwtcyIgZ2VzY2hyaWViZW4sIGltIHJlc3RsaWNoZW4gVGVpbCBEZXV0c2NobGFuZHMgbWl0ICJzeiIuCgoqTXVzdGFyZCBPZmYqCkZsb3JhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc3R1ZXBzZSAoRnJ5ZGVyLCAxMC4gU2VwIDE5OTYsIDE3OjMyOjQxKToKfiMhIHJuPUZ5dCBydD04NDIyMTkyMTMKfiMhIHRpZD04NDIwNDkzOTkKCmFueiBtZWluZSBNZWludW5nLiBJY2ggZmluZGUgZXMgZXR3YXMgc2VsdHNhbSwgd2VubiBMZXV0ZW4sIGRpZSB6d2VpIEphaHJlCm9kZXIgbGFlbmdlciBkYWJlaSBzaW5kLCBzaWNoIHBsb2V0emxpY2ggInNvIGd1dCB3aWUgZ2FyIG5pY2h0IiBtZWhyIGltIE1HCmF1c2tlbm5lLiBEYXMgZnVlaHJ0IHp3bmFnc2xhZXVmaWcgenUgZWluZXIgYnJlaXRlbiBOdWxsYm9jay1TdGltbXVuZyB6d2lzY2hlbgpkZW4gaG9laHJlbiBTcGllbGVybi4KCkVzIHNwcmljaHQgamEgYXVjaCB1ZWJlcmhhdXB0IG5pY2h0IGdlZ2VuIGRhcyBTeXN0ZW0sIGRpZSBTcCBhdXMgZGVuIGdlbG9lc3Rlbgp1ZXN0cyBuYWNodHJhZWdsaWNoIGF1Znp1cmVjaG5lbiB1bmQgYW56dWVya2VubmVuLiBJY2ggbWVpbmUsIGRhcyBpc3QgZWluZQp3ZXNldGxpY2ggZmFpcmVyZSBMb2VzdW5nIGFscyBkYXMgcmlnb3Jvc2UgQXVmbnVsbHNldHplbi4KCkZyeWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogc3R1ZXBzZSAoQ2FyYWRocmFzLCAxMC4gU2VwIDE5OTYsIDE3OjQxOjE1KToKfiMhIHJuPUZyeWRlciBydD04NDIzNjk1NjEKfiMhIHRpZD04NDIwNDkzOTkKRG9jaCwgRnJ5ZGVyLCBkYSBzcHJpY2h0IGV0d2FzIGRhZ2VnZW4sIHVuZCB6d2FyIHNlaHI6CgpJY2ggZGVua2UgbmljaHQsIGRhc3MgZXMgbm9ybWFsIGlzdCwgYWxsZSBGUHMgZWluZXIgR2VnZW5kIGR1cmNoIG5vcm1hbGVzClVtc2NoYXVlbiB6dSBmaW5kZW4uIERhZHVyY2ggd3VlcmRlbiBkaWUgZnJ1ZWhlcmVuIFNwaWVsZXIgd2VzZW50bGljaCBiZS0Kdm9yenVndCwgd2VubiBzaWUgYWxsZSBGUCBnZXNldHp0IGJla2FlbWVuLiBVbmQgc2ljaGVyIHdhcmVuIGRhIGF1Y2ggCmVpbmlnZSAqZ3JpbnMqICpodWVzdGVsKiBkYWJlaSwgZGllIGVpbmUgUXVlc3QgZ2VzY2hlbmt0IGJla2FtZW4gb2RlciAKc2llIHBlciBLTCBnZXNwaWVsdCBoYWJlbi4gSGFiZW4gZGllc2UgTGV1dGUgZGllIHZvbGxlbiBGUHMgdmVyZGllbnQ/Ck5vZSEgVW5kIGhhYmVuIGRpZSBMZXV0ZSwgZGllIG51ciBzbyBQaSBtYWwgSm9mIHVlYmVyIGRpZSBHZWdlbmQgZHJ1ZWJlcmt1Y2tlbgphbGxlIEZQcyB2ZXJkaWVudD8gTm9lLCBiZXN0aW1tdCBhdWNoIG5pY2h0ISBBbHNvIHdhcyBkYW5uIHR1bj8KOTAgUHJvemVudCBkZXIgRlBzIHNldHplbj8gV29oZXIgd2Vpc3MgZGFubiBlaW5lciwgZGVyIGFsbGUgZWluZXMgYmVzdGltbXRlbgpHZWJpZXRlcyB3aWxsLCB3ZWxjaGUgZXIgbm9jaCBuaWNodCBoYXQ/IEViZW4gZ2FyIG5pY2h0LiBTbyB3ZWlzcyBlcgp3ZW5pZ3N0ZW5zLApkYXNzIGVyIGJpc2hlciBub2NoIGtlaW5lIGhhdCB1bmQgbXVzcyBzaWNoIG5vY2htYWxzIGFsbGVzIGFua3Vja2VuLCB3YXMgZXIKYXVjaAptdWVzc3RlLCB3ZW5uIGVyIDkwIG9kZXIgODAgb2RlciAuLi4gUHJvemVudCBnZXNldHp0IGJla2FlbWUgdW5kIGFsbGUgd29sbHRlLgoKRGFzcyBkYXMgQXVmbnVsbHNldHplbiBrZWluZSB0b2xsZSBNb2VnbGljaGtlaXQgaXN0LCBpc3Qga2xhciwgYWJlciBkdXJjaApkaWVzZQpOYWNodHJhZWdsaWNoZSBFaW5mdWVocnVuZyBkZXIgU3R1cHNlbG4gc2NoZWludCBlcyBtaXIgdW5tb2VnbGljaCwgZGllCnZlcnRlaWx1bmcgaW4gZWluZW0gUmFobWVuIHp1IG1hY2hlbiB6dXIgdm9sbHN0ZW4gWnVmcmllZGVuaGVpdCBhbGxlci4KCiAgICAgICAgICAgVHNjaHVlc3MhCgogUm90aG9ybiBDYXJhZGhyYXMgLSB2b3IgZGVyIEVpbmZ1ZWhydW5nIGRlciBTdHVwc2UgUGxhdHogNCBvZGVyIDUgZGVyCkhpZ2hzY29yZQogICAgICAgICAgICAgICAgICAgICB1bmQgZGFuYWNoIHNvIHVtIFBsYXR6IDEyMAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc3R1ZXBzZSAoQ2FyYWRocmFzLCAxMC4gU2VwIDE5OTYsIDE3OjQ2OjI2KToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDIzNzAwNzUKfiMhIHRpZD04NDIwNDkzOTkKQXJnbCwgd2llIGlzc24gZGFzIGZvcm1hdGllcnQ/IFNvcnJ5ISBOb3JtYWxseSBub3QgbXkgc3R5bGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzdHVlcHNlIChXYXJnb24sIDExLiBTZXAgMTk5NiwgMDk6MjA6NDgpOgp+IyEgcm49RnJ5ZGVyIHJ0PTg0MjM2OTU2MQp+IyEgdGlkPTg0MjA0OTM5OQpBbHNvIGRpZSBiZWlkZW4gVG9wLUZvcnNjaGVyIChNYWdpY09sbGkgdW5kIExlQ2h1Y2spIGdlaG9lcmVuIG51biBqYSB3b2hsIHp1CmRlbiBlaGVyIGFlbHRlcmVuIFNwaWVsZXJuLiBVbnRlciBkZW4gVG9wIDEwIGJlZmluZGVuIHNpY2ggc2VjaHMgU3BpZWxlciwgZGllCnNjaG9uIHZvciBkZW0gMTAuMTEuOTUgbWl0IGRhYmVpIHdhcmVuLgpBbHRlIFNwaWVsZXIga29tbWVuIGFsc28gYXVjaCBvaG5lICJGcmVpLUZQcyIgZ2FueiBndXQgenVyZWNodC4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHN0dWVwc2UgKFdhcmdvbiwgMTEuIFNlcCAxOTk2LCAwOToyMjoxMyk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQyMzcwMzg2Cn4jISB0aWQ9ODQyMDQ5Mzk5CkRhcyBoYWV0dGVzdCBEdSBEaXIgYWJlciBub2NoIHdhZWhyZW5kIGRlcyBTY2hyZWliZW5zIGFuc2VoZW4gKH5yKSB1bmQKa29ycmlnaWVyZW4ga29lbm5lbiA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc3R1ZXBzZSAoQm9uaSwgMTEuIFNlcCAxOTk2LCAxMTozOToyOCk6Cn4jISBybj1XYXJnb24gcnQ9ODQyNDI2NDQ4Cn4jISB0aWQ9ODQyMDQ5Mzk5Ck1laW5lIE1laW51bmcgenVtIFRoZW1hOgoKRGllIFRvcC1Gb3JzY2hlcmxpc3RlIHNvbGx0ZSBpbiBqZWRlciBLbmVpcGUgenUgbGVzZW4gc2Vpbi4gV2VubnNjaG9uIG5pY2h0Cm1pdCBaYWhsZW53ZXJ0LCBkYW5uIHdlbmlnc3RlbiBkaWUgTmFtZW4uIERhZnVlciBrb2VubnRlIGRpZSB0b3Atc2VoZXJsaXN0ZQpvZGVyIGRpZSBUb3AtTGlzdGUgd2VnZmFsbGVuLCBzaW5kIGVoIHF1YXNpIGlkZW50aXNjaC4KCkJvbmkgc3RpbW10IGVpbiBMaWVkIHp1IEVocmVuIGRlciBUb3AtRm9yc2NoZXIgYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBzdHVlcHNlIChOaXJkYXZvLCAxMS4gU2VwIDE5OTYsIDExOjQwOjIyKToKfiMhIHJuPUJvbmkgcnQ9ODQyNDM0NzY4Cn4jISB0aWQ9ODQyMDQ5Mzk5CiAgR3V0ZSBJZGVlIQogICAgICAgICAgICAgICAgICBOaXJkYXZvLCBkaWVzZW4gVm9zY2hsYWcgdW50ZXJzdHVldHplbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHN0dWVwc2UgKFRhbmlzLCAxMS4gU2VwIDE5OTYsIDExOjQyOjQ1KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODQyNDM0ODIyCn4jISB0aWQ9ODQyMDQ5Mzk5Cldlbm4gZWluZSB3ZWdmYWxsZW4gc29sbHRlLCBkYW5uIHdvaGwgZGllIFRvcC1TZWhlcmxpc3RlLCBkYSBpbiBkZXIgVG9wLUxpc3RlCmF1Y2ggbWFuY2htYWwgU3BpZWxlciBtaXQgZHJpbm5lbiBzdGVoZW4uIEFiZXIgZWluZSBUb3AtRm9yc2NoZXJsaXN0ZSB3YWVyZQplY2h0IHdhcyBmZWluZXMgOikKClRhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzdHVlcHNlIChCZW5kZWlnaWQsIDExLiBTZXAgMTk5NiwgMTI6MDU6MjUpOgp+IyEgcm49VGFuaXMgcnQ9ODQyNDM0OTY1Cn4jISB0aWQ9ODQyMDQ5Mzk5ClZvbiBtaXIgYXVzIG1hY2h0IGh1bmRlcnQgRWluemVsbGlzdGVuLCBmdWVyIGplZGVzIEZlYXR1cmUgZWlubmU6IERpZSBtZWlzdGVuCkVQLCBkaWUgc3RhZXJrc3RlbiBNb25zdGVyLCBkaWUgZGFlbWxpY2hzdGVuIFNwcnVlY2hlLCBkaWUgbWVpc3RlbiBzaW5ubG9zZW4KTVBBLUFydGtlbC4uLi4gbWlyIHNjaGVpc3NlZ2FsLiBBYmVyIGxlZ3QgZGllIERpbmdlciBibG9zcyBuaWNodCBpbiBqZWRlCktuZWlwZSwgZGVubiBkYW5uIHdpcmQgbWFuIHF1YXNpIHp1ciBCZW51dHp1bmcgdm9uIFJlbW92ZUl0ZW0oKSBnZXp3dW5nZW4uIGljaApmaW5kZSBkYXMgc28gc2Nob24gYWV0emVuZCwgZGFzcyBkaWUgRGluZ2VyIGluIGplZGVyIEtuZWlwZSBydW1saWVnZW4uIFdlbm5uCmVpbmVyIHNvIGRlcm1hc3Nlbm4gTGlzdGVuZ2VpbCBpc3QsIGRhc3MgZXIgZGF1ZXJuZCBkcmF1ZmdsdXBzY2hlbm5uIG11c3MsCmRhbm4ga2FubiBtYW4gZGFmdWVyIGF1Y2ggZWluZW4gV2VnIGlucyBTdGFkdGhhdXMgUG9ydCBWYWluIG9kZXIgc29uc3R3b2hpbgptYWNoZW4uCgpaJ3BhciBTZXJ2dSwKICAgICAgIEJlbmRlaWdpZAoKUC5TOiBtZWluICJuIiBpc3Qga2FwdXR0Li4uIHNvcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc3R1ZXBzZSAoTmlyZGF2bywgMTEuIFNlcCAxOTk2LCAxMzoyMzowNSk6Cn4jISBybj1CZW5kZWlnaWQgcnQ9ODQyNDM2MzI1Cn4jISB0aWQ9ODQyMDQ5Mzk5CiAgV2llIHdhZXJlIGVzIGRlbm4sIGRpZSBMaXN0ZW4gKHdlbGNoZSBlcyBhdWNoIGltbWVyIGdlYmVuIG1hZykgaW4gZWluZW0KQnVjaCB6dXNhbW1lbnp1ZmFzc2VuLCBkYXMgbWFuIGRhbm4gaW4gZGllIEtuZWlwZSBsZWd0LiBFZmZla3Q6IE51ciBlaW4gSXRlbSwKdW5kIGplZGVyIGxpZXN0IG51ciBkYXMsIHdhcyBlaW5lbiBpbnRlcmVzc2llcnQuIFZpZWxsZWljaHQgc29sbHRlIG1hbiBkaWVzZXMKQnVjaCBzb2dhciBtaXRuZWhtYmFyIG1hY2hlbiAoYWVobmxpY2ggZGVyIE1QQSksIGRhbm4gYnJhdWNodCBtYW4gbmljaHQgaW1tZXIKaW4gZWluZSBrbmVpcGUuIERpZXNlcyBCdWNoIGtvZW5udGUgbWFuIGRhbm4gdWViZXIgZWluZW4gTGFkZW4gaW4gUFYKenVnYWVuZ2xpY2ggbWFjaGVuLCBkYW5uIGlzdCBqZWRlciB6dWZyaWVkZW4uIE5ldWUgTGlzdGVuIChtaXQgd2VsY2hlbSBJbmhhbHQKYXVjaCBpbW1lcikgbGllc3NlbiBzaWNoIGRhbm4gZWluZmFjaCBhbHMgbmV1ZSBTZWl0ZW4gZWluZnVlZ2VuLgoKICAgICAgIE5pcmRhdm8sIG1pdCBndXRlbj8gSWRlZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBzdHVlcHNlIChMYWlsYSwgMTEuIFNlcCAxOTk2LCAxMzozMTozMyk6Cn4jISBybj1OaXJkYXZvIHJ0PTg0MjQ0MDk4NQp+IyEgdGlkPTg0MjA0OTM5OQpKbywgZ3V0ZSBJZGVlICEgQW50cmFnIGFuZ2Vub21tZW4gISBVbmQgd2VsY2hlciBNYWdpZXIgcHJvZ2d0IGRhcyBudSA/PwoKTGFpbGEsIG1pdCBlaW5lbSBuZXR0ZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogc3R1ZXBzZSAoV2FyZ29uLCAxMS4gU2VwIDE5OTYsIDEzOjM5OjA5KToKfiMhIHJuPUxhaWxhIHJ0PTg0MjQ0MTQ5Mwp+IyEgdGlkPTg0MjA0OTM5OQpEaWUgVG9wbGlzdGUgaXN0IGVoIG51ciBlaW4gSXRlbSwgZGFzIHNpY2ggYWxsZXJkaW5ncyB2aWVsZmFjaCBhbnNwcmVjaGVuCmxhZXNzdCAodW5kIGRlbWVudHNwcmVjaGVuZCBhdWNoIG5hY2ggdmllbCBhdXNzaWVodCA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc3R1ZXBzZSAoVmFsYXJpYW4sIDExLiBTZXAgMTk5NiwgMTU6NTk6NDYpOgp+IyEgcm49TmlyZGF2byBydD04NDI0MzQ4MjIKfiMhIHRpZD04NDIwNDkzOTkKCkFiZXIgZGFubiBhdWNoIG5vY2ggZGllIFRvcF9tZXR6bGVyLiBPRGVyIHNpbmQgRm9yc2NoZXIgYmVzc2VyZSBNdWRkZXI/IDopKQoKR3J1c3MgVmFsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRmIHRmIHRmIHRmIHRmIHRmIHRmIChEeW5hbW8sIDExLiBTZXAgMTk5NiwgMTc6MTI6NTApOgp+IyEgcm49SmFzcGVyIHJ0PTg0MTk5MTc3Nwp+IyEgdGlkPTg0MTk5MTc3NwpBbHNvIGljaCBoYWIgZGVpbmVuIHRyaWdnZXIgYXVzcHJvYmllcnQgdW5kIGJlaSBtaXIgaGF0IGVyIGZ1bmt0aW9uaWVydCBhbHNvCnZpZWxsZWljaHQgaGFzdCBkdSBlaW4gcHJvYmxlbSBtaXQgZGVyIHByaW9yaXRhZXQgLkRhIGlzdCB2aWVsbGVpY2h0IGVpbgphbmRlcmVyIFRyaWdnZXIgZGVyIGVpbmUgaG9laGVyZSBoYXQgLgouICIiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogc3R1ZXBzZSAoTXVwZmVsLCAxMS4gU2VwIDE5OTYsIDE3OjI0OjQyKToKfiMhIHJuPUxhaWxhIHJ0PTg0MjQ0MTQ5Mwp+IyEgdGlkPTg0MjA0OTM5OQoKRGllIGJpc2hlcmlnZW4gVG9wbGlzdGVuIHNpbmQgYXVzIE1hZ2llcnNpY2h0IGF1Y2ggbnVyIEVJTiBPYmpla3QsIHdpZSBkYXMKQnVjaC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzdHVlcHNlIChSYWZmaSwgMTEuIFNlcCAxOTk2LCAyMjo1MzoxMSk6Cn4jISBybj1GcnlkZXIgcnQ9ODQyMzY5NTYxCn4jISB0aWQ9ODQyMDQ5Mzk5CkhtbSB3ZWlzcyBhdWNoIG5pY2h0LCBhYmVyIGljaCBoYWIgbWljaCBzZWl0IGVpbmZ1ZWhydW5nIGRlciBTdHVwc2UgaW1tZXIKdWViZXJkdXJjaHNjaG5pdHRsZWljaCBvZGVyIHp1bWluZGVzdCAiZ2FueiBndXQiIGF1c2dla2FubnQuIDopCgpHcnVzcwpILgooU3R1cHNmYW4gLSBTdHVmZW5nZWduZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc3R1ZXBzZSAoUmFmZmksIDExLiBTZXAgMTk5NiwgMjI6NTg6NDcpOgp+IyEgcm49QmVuZGVpZ2lkIHJ0PTg0MjQzNjMyNQp+IyEgdGlkPTg0MjA0OTM5OQoKTmVpbiBpY2ggd2VyZGUgamV0enQgbmljaHQgc2FnZW4gZGFzIGljaCBkYXMgYmVyZWl0cyBiZWkgZGVyIEVpbmZ1ZWhydW5nIGRlcgpGUCBpbSBsZXR6dGVuIEhlcmJzdCB2b3JnZXNjaGFsZ2VuIGhhYmUhCgoqZ3JpbnMqCgpSYWZmaSB3aWxsIGpldHp0IGVudGxpY2ggZWluZSBMaXN0ZSBkZXIgTGV1dGUgZGllIHNpY2ggYW0gYmVzdGVuIGltIE1HCmF1c2tlbm5lbiBpbSBGcmVtZGVudmVya2VocnNidWVybyAoVG91cmlzdC1PZmZpY2UpIGF1c2hhZW5nZW4gaGFlYm4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXQgcmVzdXJyZXhpdCB0ZXJ0aWEgZGllLi4uIChGbG9yYSwgMTIuIFNlcCAxOTk2LCAxMzowMzowMSk6CktlaW5lIFNvcmdlLCBtaXQgZGVtIFRpdGVsIGlzdCBuaWNodCBPZXR0aSBnZW1laW50OyBlcyBnZWh0IHVtIFByb2JsZW1lIGJlaQpkZXIgU2VsYnN0bG9lc2NodW5nIHVuZCBkZXIgYW5zY2hsaWVzc2VuZGVuICJXaWVkZXJlcndlY2t1bmciLgpQYXNzaWVydCBpc3QgZGFzIG5hZW1saWNoIG1pcjsgbWljaCBnYWIgZXMgYmlzIHZvciBldHdhIGVpbmVtIGd1dGVuIGhhbGJlbgpKYWhyIHNjaG9uIGVpbm1hbCwgdW50ZXIgZGVtc2VsYmVuIE5hbWVuLiBBdXMgR3J1ZW5kZW4sIGZ1ZXIgZGllIGRpZQpCZXplaWNobnVuZyAiU3BpZWxzdWNodCIgemllbWxpY2ggenV0cmVmZmVuZCBpc3QsIGhhYmUgaWNoIG1pY2ggZGFtYWxzCmdlbG9lc2NodCB1bmQgYmluIG51ciBhYiB1bmQgenUgYWxzIEdhc3QgaW5zIE1HIGdla29tbWVuIHVtIE1QQSB6dSBsZXNlbi4KQWxzIGRhbm4gYWJlciBkaWUgS2xlcmlrZXJnaWxkZSBrYW0sIHdvbGx0ZSBpY2ggZG9jaCB3aWVkZXIgbWl0c3BpZWxlbiwgZGFzCmhpZXNzIGRhbm46IE5ldWVuIENoYXJha3RlciB1bmQgZGllIGdhbnplbiBRdWVzdHMgbm9jaG1hbC4gU293ZWl0IGF1Y2gga2VpbgpQcm9ibGVtLiBNZXJrd3VlcmRpZyB3dXJkZSBlcywgYWxzIG1pY2ggcGxvZXR6bGljaCBMaXR0bGUgSm9obiBtaXQgIkhhbGxvLAphbHRlIEZyZXVuZGluLi4uIiBiZWdydWVzc3RlLCBvYndvaGwgaWNoIGlobiBiaXMgZGFoaW4gaW4gbWVpbmVtICJuZXVlbiIgTGViZW4KbmljaHQgZ2V0cm9mZmVuIGhhdHRlLiBVbmQgZXMgZ2luZyB3ZWl0ZXIgZGFtaXQsIGRhc3MgQ2hpbGFuYSBtaXIgaWhyZSBMaXN0ZQp6dXNhbW1lbiBtaXQgZGVyIFJ1ZWdlLCBkaWUgaGFldHRlIGljaCBkb2NoIHNjaG9uIGJla29tbWVuLCBnYWIuClNvd2VpdCBpc3QgZGFzIGphIG5pY2h0IGJlc29uZGVycyBwcm9ibGVtYXRpc2NoLCBhYmVyIHdlbm4gc2ljaCBpbiBkZXIKWndpc2NoZW56ZWl0IGplbWFuZCBhbmRlcmVzIGFscyAiRmxvcmEiIGFuZ2VtZWxkZXQgaGFldHRlLCB3YWVyZSBkYXMgc2Nob24KYW5kZXJzLiBPZGVyLCB3YXMgd2FlcmUgcGFzc2llcnQsIHdlbm4gaWNoIGluIG1laW5lbSBlcnN0ZW4gTGViZW4gQ2hpbGFuYQpnZWxvZXN0IGhhZXR0ZSAod292b24gaWNoIGxlaWRlciBpbW1lciBub2NoIHdlaXQgZW50ZmVybnQgYmluIChIaW53ZWlzZSB6dSBkZXIKUXVlc3QgbmVobWUgaWNoIGdlcm5lIGVudGdlZ2VuKSk7IGhhZXR0ZSBpY2ggKG9kZXIgZWluZSBhbmRlcmUgRmxvcmEpIGRpZQpMaXN0ZSB1ZWJlcmhhdXB0IG5vY2ggZWluIHp3ZWl0ZXMgTWFsIGJla29tbWVuPwpJY2gga2FubiBtaXIgdm9yc3RlbGxlbiwgZGFzcyBlcyB6aWVtbGljaCBhdWZ3ZW5kaWcgaXN0LCBkaWVzZW4gImJ1ZyIgenUKYmVoZWJlbjsgZGllIEluc3RhbnogKHdlbGNoZSBhdWNoIGltbWVyIGRhcyBpc3QpLCBkaWUgZGllIFNlbGJzdGxvZXNjaHVuZ2VuCnZlcndhbHRldCwgbXVlc3N0ZSBDaGlsYW5hIHVuZCBhbGxlLCBkaWUgaXJnZW5kd28gTGlzdGVuIG1pdCBTcGllbGVybiBmdWVocmVuLApqZWRlc21hbCBkYXJ1ZWJlciBpbmZvcm1pZXJlbjsgYWJlciB2aWVsbGVpY2h0IHdhZXJlIGRhcyBlaW5lIHNpbm52b2xsZQpWZXJiZXNzZXJ1bmcuPwoKRmxvcmEgKHZlcnN1Y2h0IGltbWVyLCBkaWUgTWFnaWVySW5uZW4gbWl0IEFyYmVpdCB6dSB2ZXJzb3JnZW4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2NobWFycm4gKENhdW5vLCAxMi4gU2VwIDE5OTYsIDEzOjU2OjE3KToKCkR1IHN0ZWhzdCBhbSBSYW5kIGVpbmVzIHJpZXNpZ2VuIFdhbGRlcyBpbSBXZXN0ZW4uIEVpbiBrYXVtIGVya2VubmJhcmVyCkZ1c3NwZmFkIGZ1ZWhydCBpbiBkZW4gV2FsZCBoaW5laW4uIEVpZ2VudGxpY2ggc29sbHRlIGVyIGF1Y2ggaW4gZGllCkJlcmdlIGhpbmF1ZmZ1ZWhyZW4sIGFiZXIgZGEgaXN0IGRlciBXZWcgZHVyY2ggTGF3aW5lbiB1bmJlZ2VoYmFyLgpFcyBnaWJ0IGVpbmVuIHNpY2h0YmFyZW4gQXVzZ2FuZzogd2VzdGVuLgpLb3R6YnJvY2tlbiBpc3QgaWRsZSAobmV0enRvdCkuCkVpbiBCZXJuaGFyZGluZXIuCktvdHpicm9ja2VuIHNjaGx1cmZ0IGlucyBSZWljaCBkZXIgTmV0enRvdGVuLgoKVW5kIGljaCBkYWNodGUsIGljaCB3dWVzc3RlLCB3YXMgaWRsZW4gYmVkZXV0ZXQgLi4uCgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU28gd2FycyBhdXMgTUVJTkVSIFNpY2h0ICEgKFJhbnRhbnBsYW4sIDEyLiBTZXAgMTk5NiwgMTY6MzM6MzYpOgpTb29vbyAhISEKCkF1ZiBtZWhyZmFjaCBnZWF1c3NlcnRlbiBXdW5zY2gsIHNjaHJlaWIgaWNoIG1hbCB3aWUgZGFzIGdhbnplIGF1cwptZWluZXIgU2ljaHQgcGFzc2llcnQgaXN0LgoKQWxzbyBhbmdlZmFuZ2VuIGhhdCBlcyBkYW1pdCAodmVybXV0ZSBpY2gpLCBkYXNzIGljaCAKcmVuaXRlbnQgZ2VnZW4gZGllIE1hZ2llcnJlZ2VsbiB2ZXJzdG9zc2VuIGhhYmUsIGluIFNhY2hlbiB3aWUKaGVpbGVuLCB0cmFuc2VuIHVuZCB6YXBwZW4gdm9uIFNwaWVsZXJuCkRhcyB3aXJkIGFsbGVzIGdlbG9nZ3QuLi4KSmVkZW5mYWxscyBkaWUgQmVmZWhlbGUsIGhlaWxlIHh4eCwgdHJhbnMgeHh4LCB6YXAgeHh4CiAKKEVzIGJlc3RlaHQgYXVjaCBkaWUgbW9lZ2xpY2hla2VpdCBzb3dhcyBhbm9ueW0genUgbWFjaGVuLApiZWltIGhlaWxlbiB6LmIuIHBlciB4Y2FsbCBuYW1lLT5TZXRQcm9wKFBfSFAsUXVlcnlQcm9wKFBfTUFYX0hQKSkpCgpOYSBqYSBpc3QgYWx0YmVrYW5udCwgaXN0IGFiZXIgbmljaHQgbWVpbiBEaW5nLCBpY2ggYmluIGRlciBNZWludW5nLAp3YXMgdmllbGUgdW50ZXIgZGVyIEhhbmQgbWFjaGVuLCBnZWh0IGF1Y2ggb2VmZmVudGxpY2gsIGRhZnVlciAKYmluIGljaCBkZXMgb2VmdGVyZW4gdmVyd2FybnQgd29yZGVuLgoKRGFubiBrYW0gZGllIFNhY2hlIG1pdCBCb21ib3dza2ksIGRlciBpcmdlbmR3ZWxjaGVuCkR1bW1sYWJlciBnZWdlbnVlYmVyIFRlbGthIGFiZ2VsYXNzZW4gaGF0dGUsIHdvIG1laW5lcmVpbmVyIGRpZSAKR3JlbnplbiBkZXMgR2VzY2htYWNrcyB1bmQgZGVyIEhvZWZsaWNoa2VpdCB1ZWJlcnpvZ2VuIHNhaC4pCgpJY2ggZ2ViIHp1IGltIFp1c2FtbWVuaGFuZyBtaXQgbWVpbmVyIFBlcnNvbiBrbGluZ3QgZGFzIHJlY2h0IHNlbHRzYW0sCmFiZXIgaGllciBzZWggaWNoIGVzIGdlbmF1c28gd2llIG9iZW4sIHdlbm4gaWNoIGplbWFuZGVuIGFucGFtcGUsIGRhbm4KT2VmZmVudGxpY2ggdW5kIG5pY2h0IHBlciB0ZWlsZSBtaXQgdW5kIGF1Y2ggbmljaHQgaW4gZGVyIEZvcm0KRVkgV0lMTFNURSBXQVQgRFUgV0lYRVIgb2RlciBhZWhubGljaC4KCkFsIG5hZWNoc3RlcyBwYXNzaWVydGUgbWl0IENob25kb3MgYWVobmxpY2hlcywgZGVyIGhhdCBlcyBhYmVyIHZpYQphbGxnZW1laW4gZ2VtYWNodCwgaW1tZXJoaW4gc3RlaHQgZXIgZGF6dSwgbmEgamEgZGFyYXVmaGluIHd1cmRlIGljaAp2aWVyIFdvY2hlbiBnZXNwZXJydC4KCk51IGRlbm4sIGRhbm4gaGFiZW4gS2xvbmssIEd1eWJydXNoLCBBbGJvaW4gdW5kIGljaCB1bnMgaW4gS2FybHNydWhlIGdldHJvZmZlbgp1bmQgbHVzdGlnIHBhYXIgQmllcmNoZW4gZ2V0cnVua2VuIGJlaSBHdXlicnVzaCBpbiBkZXIgV29obnVuZywKbmEgamEgaXJnZW5kd2FubiB3YXIgR3V5IGVpbmdlbG9nZ3QgdW5kIGlyZ2VuZHdlciBrYW0gYXVmIGRpZSAKSWRlZSwgZGVuamVuaWdlbiBtaXQgZGVuIG1laXNzdGVuIEVQJ3MgenUgemFwcGVuLCB3ZWlzcyBnYWEgbmljaHQgbWVociAKd2VyLgpOYSBqYSBkYXMgd2FyIEFuYWtpbiAoc29ycnkgbm9jaG1hbCA7LSkpLCBLbG9uayB0aXBwdGUgYWxzbwpnb3RvIEFuYWtpbiwgR3V5KiB6ZXJydGUgaWhtIHZvbSBUZXJtLCB3YWVocmVuZCBpY2ggbWljaCBkZXIKVGFzdGF0dXIgYmVtYWVjaHRpZ3RlIHVuZCB6YXAgQW5ha2luIHRpcHB0ZS4KCk5hIGphIFRhZ3MgZGFyYXVmIHdhcmQgT2V0dGkgbmljaHQgbWVociBnZXNlaGVtIGRhcyB3YXJzCgpDaWFvIAoKUioKIC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTbyB3YXJzIGF1cyBNRUlORVIgU2ljaHQgISAoR3VsZHVrYXQsIDEyLiBTZXAgMTk5NiwgMTY6NDE6NDApOgp+IyEgcm49UmFudGFucGxhbiBydD04NDI1Mzg4MTYKfiMhIHRpZD04NDI1Mzg4MTYKClNjaGx1Y2h6LCBXZWluIC4uLiBXZWxjaCBoZXJ6emVycmVpc2VuZGVyIEFydGlrZWwgLi4uLi4uCkluIGFuYmV0cmFjaHQgZGVzIGVyaG9ldGVuIGFsa29ob2xzcGllZ2VscyBwbGFlZGVpcmUgaWNoCmF1ZiB1bnp1cmVjaG51bmdzZmFlaGlna2VpdCB1bmQgZm9yZGVyZSBmcmVpc3BydWNoIQo7KQpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIHdhcnMgYXVzIE1FSU5FUiBTaWNodCAhIChBc21vZGlzLCAxMi4gU2VwIDE5OTYsIDE4OjI1OjQ1KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQyNTM4ODE2Cn4jISB0aWQ9ODQyNTM4ODE2CkhtbSwgd2llc28gd2lyc3QgRFUgZWlnZW50bGljaCBiZXN0cmFmdCwgd2VubiBHdXlicnVzaCBuaWNodCBiZXNzZXIKYXVmIHNlaW5lbiBNYWdpZXJjaGFyYWt0ZXIgYXVmcGFzc2VuIGthbm4gPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIHdhcnMgYXVzIE1FSU5FUiBTaWNodCAhIChXdXJ6ZWwsIDEyLiBTZXAgMTk5NiwgMTg6Mjg6MjApOgp+IyEgcm49UmFudGFucGxhbiBydD04NDI1Mzg4MTYKfiMhIHRpZD04NDI1Mzg4MTYKaXMgamEgZ3V0LCB3aXIgZ2xhdWJlbnMgamEuLi4gdW5mdWcgenUgbWFjaGVuIHVuZCBlcyBkYXJhdWYgYW56dWxlZ2VuLCBkYXNzCm1hbiBlaW5lbiBhdWYgZGVuIHNhY2sgYmVrb21tdCwgaXN0IGVpbmUgc2FjaGUuIGRhbm4gd29jaGVubGFuZyBpbiAKc2VsYnN0bWl0bGVpZCB6dSBzY2h3ZWxnZW4sIGVpbmUgZ2FueiBhbmRlcmUuCgp3dXJ6ZWwgaGF0cyBhbGxtYWVobGljaCBzYXR0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvIHdhcnMgYXVzIE1FSU5FUiBTaWNodCAhIChUYXNoYSwgMTIuIFNlcCAxOTk2LCAxODozMTowOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODQyNTQ1NzAwCn4jISB0aWQ9ODQyNTM4ODE2CgpXZXIgc2Nod2VsZ3QgaGllciBiaXR0ZXNjaG9lbiBpbiBTZWxic3RtaXRsZWlkPyBIYWIgaWNoIGRhIHdhcyB2ZXJwYXNzdD8gT2RlcgpoYXN0IG1vZWdsaWNoZXJ3ZWlzZSBEVSB3YXMgdmVycGFzc3Q/CgpUYXNoYSBoYXRzIChrbmFwcCkgYXVmIHp3ZWkgWmVpbGVuIGdlc2NoYWZmdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3R1ZXBzZSAoS2V5LCAxMi4gU2VwIDE5OTYsIDE5OjAxOjA1KToKSG1tIGFsc28genUgYWxsZXJlcnN0IHdpbGwgaWNoIG1laW5lIFRvcC1FcnN0aWUtU2VoZXJsaXN0ZSEgOykgRW5kbGljaCBlaW5lIHdvCmF1Y2ggaWNoIG1hbCBnYW56IG9iZW4gc3RlaGUhIDspKQpLZXkgc3RpcmJ0IGZyb2VobGljaCB2b3Igc2ljaCBoaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3R1ZXBzZSAoQXNtb2RpcywgMTIuIFNlcCAxOTk2LCAxOTowMTo1OCk6Cn4jISBybj1LZXkgcnQ9ODQyNTQ3NjY1Cn4jISB0aWQ9ODQyNTQ3NjY1Ck5lbmUsIGR1IG11c3N0IGF1ZiBkaWUgVG9wLVN0ZXJiZXp3ZWl0aS1MaXN0ZSAhISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3R1ZXBzZSAoS2V5LCAxMi4gU2VwIDE5OTYsIDE5OjA2OjU5KToKQXJnbCBuZXQgVG9wLUVyc3RpZS1TZWhlcmxpc3RlLCBzb25kZXJuIG5hdHVlcmxpY2ggU3RlcmJlbGlzdGUhISEgOykKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3R1ZXBzZSAoR2FuZG8sIDEyLiBTZXAgMTk5NiwgMTk6MTE6MTUpOgp+IyEgcm49S2V5IHJ0PTg0MjU0ODAxOQp+IyEgdGlkPTg0MjU0ODAxOQoKQWJlciwgb2IgZHUgYXVmIHNvbmVyIHN0ZXJiZSBsaXN0ZSBnYW56IG9iZW4gc3RlaHN0LCBpc3QgbmljaHQgZ2VzYWd0LgpXbyBkb2NoIGluIGxldHp0ZXIgemVpdCBpbW1lciBkaWVzZSBTdWl6aWQta29tbWFuZG9zIHVlYmVyIGRlbiBUb2QtS2FuYWwKbGF1ZmVuCkVzIGdhYiBkYSBkb2NoIGxldHp0ZW5zIG1laHJlcmUgZGF2b24gLi4gZGllIGhhbSBkaWNoIGdlc3RpbW10IChyZWNodCkgYmFsZAplaW4sIHdlbm4gc2llIHNvIGZsZWlzc2lnIHdlaXRlcnN0ZXJiZW4uIERpZSBtdWVzc3RlbiBlaWd0bCBhbGxlIHN0YXRzIGF1ZiAtMjAKaGFiZW4gdW5kIC0xTWlvIEVQJ3MgaGFiZW4Kd2lua2UKR2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN0dWVwc2UgKEtleSwgMTIuIFNlcCAxOTk2LCAxOToxMjo0Nyk6ClBmZmYgc2lkbiBkb2NoIGFsbGVzIFp3ZWl0aWVzISEhIDopCktleSBpc3QgZGVyIE1laXN0ZXJlcnN0aWVzdGVyYmVyISBVbiBrZWluIFp3ZWl0aWUhIDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogc3R1ZXBzZSAoU2Nob2tvLCAxMi4gU2VwIDE5OTYsIDIxOjA0OjM1KToKfiMhIHJuPUJvbmkgcnQ9ODQyNDM0NzY4Cn4jISB0aWQ9ODQyMDQ5Mzk5CgpEaWUgVG9wLUxpc3RlIHVuZCBkaWUgVG9wLVNlaGVyLUxpc3RlIHNpbmQgYmlzIGpldHp0IGlkZW50aXNjaCEgRXZlbnR1ZWxsCmFlbmRlcnQgc2ljaCBkYXMgYWJlciBzY2huZWxsLCBkYSBtYW4gamEgbnVuIGF1Y2ggYWxzIG5pY2h0IFNlaGVyIGF1ZiBMZXZlbAp1ZWJlciAyMCBhbHNvIGF1Y2ggYmlzIGluIGRpZSAzMGVyIC0gNDBlciBMZXZlbCBlcmhvZWhlbiBrYW5uLiBEYW1pdCBpc3QgbWFuCmRhbm4gc2Nob24gZ3V0IGluIGRlciBUb3BMaXN0ZSBkYWJlaSBPSE5FIGluIGRlciBUb3AtU2VoZXItTGlzdGUgenUgc3RlaGVuCi4uLi4KQWxzbyBrYW5uIG1hbiBpbWhvIG5pY2h0IGVpbmZhY2ggc28gZWluZSB2b24gYmVpZGVuIGxvZXNjaGVuLCBkYSBkZXIKVW50ZXJzY2hpZWQgendpc2NoZW4gYmVpZGVuIGRhbm4gZGFzIEludGVyZXNzYW50ZSBzZWluIGR1ZXJmdGUuCgpzY2hva28KKGZyZXV0IHNpY2ggc2Nob24gYXVmIGRlbiBlcnN0ZW4gTmljaHQtIFNlaGVyIGluIGRlbiBUb3AgMTApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzdHVlcHNlIChDYXJhZGhyYXMsIDEyLiBTZXAgMTk5NiwgMjE6MDY6MzUpOgp+IyEgcm49U2Nob2tvIHJ0PTg0MjU1NTA3NQp+IyEgdGlkPTg0MjA0OTM5OQpTY2hva28sIGRpZSBUb3AtTGlzdGUgZnJhZ3QgbnVyIGF1ZiBkaWUgU3R1cHNlIGFiLCBkaC4gd2VubiBlaW4gbHYgMTkgCmpldHp0IG1vbWVudGFuIG1pdCAzNTAwIFN0dXBzZW4gZXhpc3RpZXJlbiB3dWVyZGUsIHN0YWVuZGUgZXIgYXVjaCBpbgpkZXIgTGlzdGUuIEFsc28ga2VpbmVuIFVudGVyc2NoaWVkLCBvYiBlaW4gU3BpZWxlciBqZXR6dCB1ZWJlciBkaWUgMTkKaGluYXVzIGVyaG9laGVuIGthbm4gb2RlciBuaWNodC4KCiAgICAgICAgUm90aG9ybiBDYXJhZGhyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHN0dWVwc2UgKEFzbW9kaXMsIDEyLiBTZXAgMTk5NiwgMjE6MDY6NTgpOgp+IyEgcm49U2Nob2tvIHJ0PTg0MjU1NTA3NQp+IyEgdGlkPTg0MjA0OTM5OQpEZXIgTGV2ZWwgd2FyIG5pZSByZWxldmFudCBmdWVyIGRpZSBUb3BsaXN0ZSwgbnVyIGRpZSBzdHVwcy1hbnphaGwsCnVuZCBkYSBoYWJlbiBTZWhlciBWb3J0ZWlsZSwgd2VpbCBOaWNodC1TZWhlciBtaXQgbWVociBhbHMgMzAwMApTdHVwc2VuIG1laXN0IGF1Y2ggc2Nob24gYWxsZSBCZWRpbmd1bmdlbiB6dW0gU2VoZXItV2VyZGVuIGVyZnVlbGx0CmhhYmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaXN0ZSAoR2FuZG8sIDEyLiBTZXAgMTk5NiwgMjE6MTA6MTApOgpXaWUgd2FyZSBlcyBtaXQgZWluZXIgVG9wLVRlc3RpTGlzdGUgPwo6LSkKV2VyIGthbm4gc2VpbmVuIFRlc2kgYW0gYmVzdGVuIGF1ZnBvd2VybgooKmdyaW5zKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWwgc28gbmUgSWRlZS4uLi4gKEdyaW1tYm9ybiwgMTMuIFNlcCAxOTk2LCAxMzo0MzowNik6Cn4jISBybj1aZXBoeXIgcnQ9ODQyNjE0Nzk5Cn4jISB0aWQ9ODQxOTI1MzYyCgpBcmdoLCBrb2VubnRldCBpaHIgZXVjaCBiaXR0ZSBkaWVzZSB1bm5vZXRpZ2VuIEVpbnplaWxlciBpbiBhbGxnZW1laW4gc3BhcmVuPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZvbGcgISAoV3VyLCAxNC4gU2VwIDE5OTYsIDEwOjE2OjAxKToKfiMhIHJuPURyZnJldWQgcnQ9ODQxNjU5MzgyCn4jISB0aWQ9ODQxNDAyNTM4CkljaCB3aWxsIGF1Y2ggZWluZW0gVGVybWluIGhhYmVuIQpJY2ggZ2Vsb2JlIGhvZmZudW5nc2xvcyBiaXMgenVtIGxldHp0ZW4gQmx1dHN0cm9wZmVuIHp1IHNlaW4uIEFjaHNvLCBGYWVsbGUKYmluIGljaCBuYXR1ZXJsaWNoIGF1Y2ghCk1laW4gQXJ6dCBtZWludCB6d2FyIGltbWVyLCBpY2ggc2VpIGtlcm5nZXN1bmQgdW5kIGFic29sdXQgbm9ybWFsLCBhYmVyIHNlaW4KR2VzaWNodCwgd2VubiBlciBkYXMgc2FndCBzcHJpY2h0IEJhZW5kZSB2b24gSXJvbmllIHVuZCBzby4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb25zdHJ1a3RpdmUgS3JpdGlrIChWZXJzdWNoKSAoV3VyLCAxNC4gU2VwIDE5OTYsIDEwOjE4OjAyKToKfiMhIHJuPUZ5dCBydD04NDE3MDcyODQKfiMhIHRpZD04NDE3MDcwNjcKRXJmdW5kZW4/IE5lZSwgZGFzIG5pY2h0LCBhYmVyIGJpcyBqZXR6dCBpc3NlciBtZWluIGVpbnppZ2VzIE1pdHRlbCBnZWdlbiB6dQpmcmVjaGUgdW5kIHp1IHVuaG9lZmxpY2hlIFJhdWZib2xkZS4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU28gd2FycyBhdXMgTUVJTkVSIFNpY2h0ICEgKEZ5dCwgMTQuIFNlcCAxOTk2LCAxMTozMDozNyk6Cn4jISBybj1UYXNoYSBydD04NDI1NDU4NjkKfiMhIHRpZD04NDI1Mzg4MTYKCkhtLCBrb21pc2NoLCBzb3dhcyB3b2xsdGUgaWNoIGF1Y2ggZ2VyYWRlIHNjaHJlaWJlbi4KCkZ5dCwgMy80IFplaWxlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFsIHNvIG5lIElkZWUuLi4uIChXdXIsIDE2LiBTZXAgMTk5NiwgMjM6MzU6NTcpOgp+IyEgcm49QWNyaW1vbiBydD04NDE5NDE4ODIKfiMhIHRpZD04NDE5MjUzNjIKRGFzIGhhYmVuIHdpciBkb2NoIGFsbGVzIHNjaG9uLiBBbHNvIHdvenUgbm9jaCBEZW1va3JhdGllPwoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogc3R1ZXBzZSAoV3VyLCAxNi4gU2VwIDE5OTYsIDIzOjU1OjE3KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODQyNDQwOTg1Cn4jISB0aWQ9ODQyMDQ5Mzk5CldlciBicmF1Y2h0IGRlbm4gZGllc2UgTGlzdGVuLCBkYXMgZGFydW0gc292aWVsIFRyYXJhIGdlbWFjaHQgd2lyZD8KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY3Jhc2hzIChNeXNlbGYsIDE4LiBTZXAgMTk5NiwgMTY6Mjc6NDcpOgpIaSBNdWRkaWVzLAoKZGEgZGllIGNyYWhzIGluIGxldHp0ZXIgWmVpdCBzdGFyayB6dWdlbm9tbWVuIGhhYmVuLCBlaW5lIEZyYWdlIGJ6dy4KZWluIFZvcnNjaGxhZyB2b24gbWlyOgoKV2FlcmUgZXMgbW9lZ2xpY2gsIGJlaSBhdWZlaW5hbmRlcmZvbGdlbmRlbiByZWJvb3RzLCBkaWUgd2VuaWdlciBhbHMKZWluZSBXb2NoZSBhdXNlaW5hbmRlcmxpZWdlbiwgZGFzIEludmVudG9yeSBkZXIgU3BpZWxlciB3aWVkZXJoZXJ6dS0Kc3RlbGxlbiB1bmQgZGllIGNyYXNoLUF1c3dpcmt1bmdlbiBhdWYgZGFzIHRyYW5zZW4gbmFjaCBIYXVzZSB6dQpiZXNjaHJhZW5rZW4/CkRhbm4gd2FlcmVuIGRpZSBjcmFzaHMgKGZ1ZXIgbWljaCkgbGVpY2h0ZXIgenUgZXJ0cmFnZW4uLi4KSW53aWVmZXJuIGRhcyBtYWNoYmFyIGlzdCwgbXVlc3N0ZSBtYWwgZWluIExQQy9saWItRXhwZXJ0ZSBzYWdlbi4uLgoKRGF2b24gdW5hYmhhZW5naWcgZmluZGUgaWNoIGVpbmVuIC12aWVsIHNlbHRlbmVyZW4tIHJlYm9vdCBtaXQgVG90YWwtCnJlc2V0IGdhciBuaWNodCBzY2hsZWNodCwgd2VpbCBkYXMgYXVjaCBlaW5lIEFydCAnQXVmcmFldW1ha3Rpb24nCmluIHZpZWxlbiBCZXJlaWNoZW4gaXN0LgoKR3J1c3MsCgpNeXNlbGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjcmFzaHMgKFJhZmZpLCAxOC4gU2VwIDE5OTYsIDE2OjI4OjUyKToKfiMhIHJuPU15c2VsZiBydD04NDMwNTY4NjcKfiMhIHRpZD04NDMwNTY4NjcKClVwcyBzY2hlaW50IHNvIGFscyBzZWkgZGllIFJlZ2VscGF1c2UgenUgZGVtIFRoZW1hIHdpZWRlcm1hbCBWb3JiZWkuCgpBdWYgZ2VodHMhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2hzIChLZXksIDE4LiBTZXAgMTk5NiwgMTc6MjE6MzgpOgpIbW0gbmFqYSB3aWUgd2FlcmUgZXMgd2VubiBtYW4gZWluIG9kZXIgbWVocmVyZSBUZWlsZSBzZWluZXMgaW52ZW50b3J5cwpyZWJvb3QtZmVzdCBmdWVyIGVpbmUgZ2V3aXNzZSBaZWl0c3Bhbm5lIG1hY2hlbiBrb2VubnRlPyBNdWVzc3RlIG5hdHVlcmxpY2gKYXVjaCB3YXMga29zdGVuLiAKS2V5IG1hZyBSZWJvb3RzIG5ldCBiZXNvbmRlcnN0ISA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNocyAoUmFmZmksIDE4LiBTZXAgMTk5NiwgMTc6MjI6NTApOgp+IyEgcm49S2V5IHJ0PTg0MzA2MDA5OAp+IyEgdGlkPTg0MzA2MDA5OAoKR3V0ZSBJZGVlIC0gQWxzIEJlemFobHVuZyBzY2hsYWdlIGljaCBFUCB2b3IgIQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2hzIChMYWlsYSwgMTguIFNlcCAxOTk2LCAxNzoyMzo1MCk6Cn4jISBybj1SYWZmaSBydD04NDMwNjAxNzAKfiMhIHRpZD04NDMwNjAwOTgKTmV2ZXIgISEhIE5pZW1hbmQgZ2VodCBtaXIgYW4gbWVpbmUgc2F1ZXJlcmthZW1wZnRlbiBFUCdzICEhIQoKKFp1bWluZGVzdCBuaWNodCBzb2xhbmdlIGljaCBub2NoIG5pY2h0IFNlaGVyaW4gYmluIDotKQoKbGFpbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENyYXNocyAoUmFmZmksIDE4LiBTZXAgMTk5NiwgMTc6MjU6MDgpOgp+IyEgcm49TGFpbGEgcnQ9ODQzMDYwMjMwCn4jISB0aWQ9ODQzMDYwMDk4CgpXaWVzbywgc2lvbGFuZ2UgZHUgZGVuIEVQLUF1dG9sb2FkIG5pY2h0IGFrdGl2aWVyc3QsIHNvbGFuZ2UgZ2VodCBEaXIgYXVjaAprZWluZXIgYW4gZGllIEVQLgoKV2llaWNoIHNlaGUgaGFiZW4gd2lyIGRhbWl0IGRlbiBlaW56aWdlbiBQdW5rdCBhbiAnV2FlaHJ1bmcnIGVycmVpY2h0IGRlciBkaWUKTGV1dGV3IGludGVyZXNzaWVydCA6KQoKR3J1c3MKaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENyYXNocyAoR3JpbW1ib3JuLCAxOC4gU2VwIDE5OTYsIDE3OjUxOjI0KToKfiMhIHJuPVJhZmZpIHJ0PTg0MzA2MDMwOAp+IyEgdGlkPTg0MzA2MDA5OAoKUmVndCBldWNoIGFiLgpEaWVzZXMgVGhlbWEgdGF1Y2h0IG1pdCBzY2hvZW5lciBSZWdlbG1hZXNzaWdrZWl0IHdpZWRlciBhdWYgdW5kIGRpZSBBbnR3b3J0CmlzdDogTmVpbi4gIk5laW4iIGZ1ZXIgZWluICJVZWJlcmxlYmVuIiB2b24gQXVzcnVlc3R1bmcgdWViZXIgcmVib290cy9jcmFzaGVzCmhpbmF1cywgIk5laW4iIGZ1ZXIgZWluIGF1dG9sb2FkIGZ1ZXIgQXVzcnVlc3R1bmcgZGllICJudWV0emxpY2giIGlzdC4gRGllIG1wYQppc3QgYXV0b2xvYWQsIEdlbGQgaXN0IGF1dG9sb2FkLCBUZWRkeSwgR2lsZGVuaXRlbXMgdW5kIGRpdmVyc2UgU2VoZXJ0b29scwpzaW5kIGF1dG9sb2FkIC0gZGFzIG11c3MgcmVpY2hlbi4KClVuZCBiaXR0ZSB2ZXJzdWNodCBuaWNodCwgbm9jaCA1MCBBcnRpa2VsIHp1IGRlbSBUaGVtYSBoaW50ZXJoZXJ6dXNjaGlja2VuLAp3ZXIgbWVpbnQgZGFzcyBlciBEQVNTIHVsdGltYXRpdmUgQXJndW1lbnQsIGRhcyBub2NoIG5pZSBkYWdld2VzZW4gaXN0CmdlZnVuZGVuIHp1IGhhYmVuIGthbm4gZGFzIGFuICJlcnptYWdpZXIiIGhpZXIgaW0gbXVkIHBlciBtYWlsIHNjaGlja2VuLiBBYmVyCmdsYXVidCBtaXI6IEVzIGhhdCBrZWluZW4gWndlY2suCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENyYXNocyAoQm9pbmcsIDE4LiBTZXAgMTk5NiwgMTc6NTc6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MzA2MTg4NAp+IyEgdGlkPTg0MzA2MDA5OApJbSB1ZWJyaWdlbiBrYW5uIG1hbiBkaWUgRGlza3Vzc2lvbiBzb3ZpZWwgaWNoIHdlaXNzIGluIGRlciBGQVEgbmFjaGxlc2VuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDcmFzaHMgKE15c2VsZiwgMTguIFNlcCAxOTk2LCAxODoyMDowMyk6Cn4jISBybj1Cb2luZyBydD04NDMwNjIyMjAKfiMhIHRpZD04NDMwNjAwOTgKSGksCgogICAgbGVpZGVyIHNpbmQgZGFtaXQgZGllIC1mdWVyIGFsbGUgYWVyZ2VybGljaGVuLSBjcmFzaHMgc2FtdCBBdXN3aXJrdW5nZW4KaW1tZXIgbm9jaCBuaWNodCBiZXNlaXRpZ3QuClVuZCBBbnR3b3J0ZW4gbmFjaCBkZXIgQXJ0ICdEYXMgaXN0IHNvIHVuZCB3YXIgc2Nob24gaW1tZXIgc28uIERlc2hhbGIKbXVzcyBlcyBzbyBibGVpYmVuJyBzaW5kIGlkUiB3ZW5pZyBoaWxmcmVpY2guIAoKR3J1c3MsCk15c2VsZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQ3Jhc2hzIChCb2luZywgMTguIFNlcCAxOTk2LCAxODoyMzowNSk6Cn4jISBybj1NeXNlbGYgcnQ9ODQzMDYzNjAzCn4jISB0aWQ9ODQzMDYwMDk4Cld1ZXJkZXN0IER1IGRpZSBGQVEgbGVzZW4sIGRhbm4gd3Vlc3N0ZXN0IER1LCBkYXNzIGRlciBQdW5rdCBuaWNodCBkYXMKJ2VzIHdhciBzY2hvbiBpbW1lciBzbycgaXN0LCBzb25kZXJuIGVzIHRhdHNhZWNobGljaCBHcnVlbmRlIGRhZnVlciBnaWJ0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDcmFzaHMgKE5pa29sYXVzLCAxOC4gU2VwIDE5OTYsIDIxOjMyOjI1KToKfiMhIHJuPUJvaW5nIHJ0PTg0MzA2MjIyMAp+IyEgdGlkPTg0MzA2MDA5OAoKaWNoIGZpbmRlLCBtaXQgZGVtIGVpbmZhY2hlbiBIaW53ZWlzIGF1ZiBkaWUgRkFRIGthbm4gbWFuIGRhcyBUaGVtYSBuaWNodAplaW5mYWNoIGVyc2NobGFnZW4uIEluIGRlciBGQVEgc3RlaHQgbmFlbWxpY2ggYXVjaCAiRGFzIE1VRCBsYWV1ZnQgc3RhYmlsCnVuZCBBYnN0dWVyemUgc2luZCB2ZXJnbGVpY2hzd2Vpc2Ugc2VsdGVuIi4uID04KQpkcmVpbWFsIGFtIFRhZyBBdXNydWVzdHVuZyBzYW1tZWxuIG5lcnZ0IGhhbHQsIGRhcyBoYXQgZG9jaCBuaXggbWl0IG5vcm1hbGVuCnJlYm9vdHMgenUgdHVuCgpOaWtvbGF1cywga2lsbHQgUGhseWFrZW4gc2Nob24gYXVzIEdld29obmhlaXQgdGFlZ2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IENyYXNocyAoSGFkcmEsIDE4LiBTZXAgMTk5NiwgMjI6MTM6NTIpOgp+IyEgcm49Tmlrb2xhdXMgcnQ9ODQzMDc1MTQ1Cn4jISB0aWQ9ODQzMDYwMDk4Cm9rLCBpbSBtb21lbnQgY3Jhc2h0IGVzIGhhbHQgbWFsIHdpZWRlciBldHdhcyBvZWZ0ZXIsIGRhZnVlciBsYWV1ZnRzIGRhbm4gZWluCmFuZGVyZXMgbWFsIG5lbiBtb25hdCBsYW5nLiB3ZW5uIGhhbHQgbWFsIHdpZWRlciBzbyBuZSBjaHJhc2hwaGFzZSBrb21tdCwgZGFubgprYW5uIG1hbiBkaWUgbnV0emVuIHVtIGRpZSB6ZWl0dW5nIGF1Znp1YXJiZWl0ZW4sIG1hbCBtaXQgbGV1dGVuIHp1IHJlZGVuIG9kZXIKZWluZmFjaCBtYWwgc28gaW0gbXVkIHJ1bXp1cmVubmVuLgplcyBzdGVodCBqYSBuaXJnZW5kcyBnZXNjaHJpZWJlbiwgZGFzcyBkdSBkaWNoIHNvZm9ydCBuYWNoIGRlbSBlaW5sb2dnZW4gYmlzCnVudGVyIGRpZSB6YWVobmUgaG9jaHJ1ZXN0ZW4gdW5kIGRhdWVybWV0emVsbiBtdXNzdC4KYWJlciBrZWluZSBwYW5paywgZXMga29tbWVuIGF1Y2ggbWFsIHdpZWRlciBhbmRlcmUgemVpdGVuCgpoYWRyYSAtIHdhcnRldCBhdWYgYmVzc2VyZXMgd2V0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcmFzaHMgKEtleSwgMTkuIFNlcCAxOTk2LCAxMTo0NjoyNCk6Ck9raSBPa2kgd2FyIGphIGF1Y2ggbnVyIG5lbiBWb3JzY2hsYWcsIGVzIG5lcnZ0IGhhbHQgc2Nob24gdm9yIGFsbGVtIHdlbm4gbWFuCmdlcmFkZSBHbHVlY2sgaGF0dGUgdW5kIGV0d2FzIHNlaHIgZ3V0ZXMgaGF0IHdvcmF1ZiBtYW4gbGFuZ2Ugd2FydGVuIG11c3MuIDspCkljaCBiaW4gYXVjaCBuZXQgZGFmdWVyIGRhcyBtYW4gamV0enQgc2VpbmUga29tcGxldHRlIGF1c3J1ZSBhdXRvbG9hZCBtYWNoZW4Ka2FubiBvZGVyIHNvbnN0d2FzLiAKSW1tZXJoaW4gZXJsYW5ndCBtYW4gYXVjaCBpbW1lciBtZWhyIGVyZmFocnVuZyBqZSBvZWZ0ZXIgbWFuIGRhcyBnbGVpY2hlCk1vbnN0ZXIga2lsbHQhIDspIChOYWphIHp1Z2VnZWJlbiBpY2ggc2FtbWVsIGltbWVyIG1laHIgVG9kZSEgOykpICkKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKEhhcmksIDE5LiBTZXAgMTk5NiwgMTM6NTg6NDEpOgpIbW1tLCBpY2ggaGFiZSB6d2FyIHNjaG9uIG1hbCBnZWZyYWd0LCBudW4gYWJlciBub2NoIG1hbCBhbiBhbGxlOgpCZWkgbWVpbmVtIFp3ZWl0aSBzdGVsbHRlIGljaCBmZXN0LCBkYXNzIGRpZSBJbnZlbnRvcnktVWViZXJzY2hyaWZ0ZW4KdGVpbHdlaXNlIGZhcmJpZyB1bnRlcmxlZ3Qgc2luZCwgZGFzIGZpbmRlIGljaCBzZWhyIGh1ZWJzY2ggZWlnZW50bGljaCA6KQpNZWluIEVyc3RpZSBoYXQgZGFzIG5pY2h0LCB0cm90eiB6d2lzY2hlbnplaXRsaWNoZW0gU3RlcmJlbiB1bmQgc28uLi4KQmV2b3IgVGlwcyBrb21tZW46IEljaCBiZW51dHplIGtlaW4gVEYgKGltIE1vbWVudCkgOy0pCgoKSGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFyYmxpY2hlIHVudGVybGVndW5nLi4uIChIYXRlLCAxOS4gU2VwIDE5OTYsIDE1OjI4OjE0KToKfiMhIHJuPUhhcmkgcnQ9ODQzMTM0MzIxCn4jISB0aWQ9ODQzMTM0MzIxCkthbm4gZXMgc2VpbiwgZGFzcyBEdSBLRUlOIHN0dHkgYW5zaSBlaW5nZXN0ZWxsdCBoYXN0LCBkZWluIHp3ZWl0aSBhYmVyPwpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKFBpbGdyaW0sIDE5LiBTZXAgMTk5NiwgMTY6MTM6NDIpOgp+IyEgcm49SGF0ZSBydD04NDMxMzk2OTQKfiMhIHRpZD04NDMxMzQzMjEKSG1tIEhhdCwKZGFzIGthbm4gbml0IG51ciBzZWluLCBkYXMgd2lyZCBzbyBzZWluIDstKSAuLi4KU2NoYWRlIG51ciwgZGFzIGRlciBCZWZlaGwgJ3N0dHknIC0gbWl0IGRlbSBtYW4gc2VpbmUgdGVybWluYWwtZW11bGF0aW9uCmFuZ2ViZW4vZWluc3RlbGxlbiBrYW5uLCBpbiBrZWluZXIgSGlsZmUgZXJ3YWVobnQgd2lyZCA7LSkKcgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmFyYmxpY2hlIHVudGVybGVndW5nLi4uIChXYXJnb24sIDE5LiBTZXAgMTk5NiwgMTY6MTU6NDcpOgp+IyEgcm49UGlsZ3JpbSBydD04NDMxNDI0MjIKfiMhIHRpZD04NDMxMzQzMjEKV2llc28sIGRhcmF1ZiB3aXJkIGRvY2ggYmVpbSBFcnN0ZWlubG9nZ2VuIGhpbmdld2llc2VuIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKEFuYWtpbiwgMTkuIFNlcCAxOTk2LCAxNjoyMjo1OCk6Cn4jISBybj1XYXJnb24gcnQ9ODQzMTQyNTQ3Cn4jISB0aWQ9ODQzMTM0MzIxCldlbm4gbWljaCBuaWNodCBhbGxlcyB0YWV1c2NodCB3aXJkIGRhIG5pY2h0IGRyYXVmaGluZ2V3aWVzZW4sIApkYSBGa3QuIGV4aXN0aWVydCB6d2FyLCBhYmVyIHdpcmQgbmllIGF1ZmdlcnVmZW4sIGltIEFMIGdlaHQgZXMsCmhpZXIgbXVlc3N0ZSBzaWNoIGF1Y2ggbWFsIGVpbmVyIGRydW0ga3VlbW1lcm4uCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKFBpbGdyaW0sIDE5LiBTZXAgMTk5NiwgMTY6MjM6MjMpOgp+IyEgcm49V2FyZ29uIHJ0PTg0MzE0MjU0Nwp+IyEgdGlkPTg0MzEzNDMyMQpFbnRzY2h1bGRpZ2UgLi4uLgpkYXMgbXVzcyBpY2ggd29obCB1ZWJlciBkaWUgamFocmUgdmVyZ2Vzc2VuIGhhYmVuIDstKQoKUGlsZ3JpbSBsZWlkZXQgYW4gQWx0ZXJ2ZXJnZXNsaWNoa2VpdCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCB3aWxsIEZhcmJlLi4uLiAoSGFyLCAxOS4gU2VwIDE5OTYsIDE3OjE3OjA5KToKU28sIHdvcmF1ZiBtZWluIHp3ZWl0aSBzY2hvbiBoaW5nZXdpZXNlbiBoYXQ6CklDaCBoYWJlIGltbWVyIG5vY2gga2VpbmUgRmFyYmUsIHN0dHkgemVpZ3QgbWlyLCBkYXMgZXMgYmVpIGJlaWRlbiBDaGFyYWt0ZXJlbgphdWYgRHVtcCBnZXNldHp0IGlzdCwgaWNoIGJlbnV0emUgZGFzIHNlbGJlIFRlcm1pbmFsIHVuZCBoYWJlIGF1Y2ggc2Nob24gbWl0CmJlaWRlbiBDaGFyYWt0ZXJlbiBiZWkgZ2xlaWNoZXIgdWhyemVpdCB1bmQgYmVpIGdsZWljaGVtIFdldHRlciBnZW11ZGRldC4uLgpBbHNvIGlociBTdXBlcm1hZ2llciwgd2FubiBoYWJlIGljaCBoaWVyIEZhcmJlID8gOy0pCgpIYXIgKGkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIHdpbGwgRmFyYmUuLi4uIChQaWxncmltLCAxOS4gU2VwIDE5OTYsIDE4OjQxOjQzKToKfiMhIHJuPUhhciBydD04NDMxNDYyMjkKfiMhIHRpZD04NDMxNDYyMjkKSXN0IGRvY2ggc2Nob24gZ2VzYWd0IHdvcmRlbiAuLi4Kc3R0eSBhbnNpCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFpbHByb2JsZW0gKEZ5dCwgMTkuIFNlcCAxOTk2LCAxOToyOTowMik6Cn4jISBybj1EaG9qYWt0IHJ0PTg0Mjk4NzUzOAp+IyEgdGlkPTg0Mjk4NzUzOAoKQWVobSwgaWNoIGdsYXViLCBlcyBnaWJ0IGRhIGVpbiBNaXNzdmVyc3RhZW5kbmlzOiBhdWNoIGltIE11ZCBnaWJ0J3MKbmVtIEJlZmVobCAnc3R0eScsIG5pY2h0IG51ciAnenUgSGF1c2UnLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTWW5UYVgtTkVSVkVSRUkgKFJhaW5kb2csIDIxLiBTZXAgMTk5NiwgMDY6MzM6MzkpOgpXYWVyZSBlcyBtb2VnbGljaCBkYXMgZGllIFByb2dyYW1taWVyZXIgc2ljaCB3ZW5pZ3N0ZW5zIGt1cnogdmVyc3VjaGVuCnZvcnp1c3RlbGxlbiwgd2llIGplbWFuZCBkZXIgZGVuIFJhdW0gbmljaHQgc2VsYnN0IGdlc2NocmllYmVuIGhhdCBkYXJpbgp6dXJlY2h0ZmluZGVuIHNvbGwgPyBKZWRlc21hbCBkYXMgZ2VuZXJ2ZSB3ZW5uIGlyZ2VuZHdvIGVpbmUgTGVpdGVyIHN0ZWh0CiJrbGV0dGVyZSBob2NoIiBvZGVyIHZpZWxlaWNodCAia2xldHRlcmUgbmFjaCBvYmVuIiBvZGVyIGF1Y2ggImtsZXR0ZXJlIExlaXRlcgpuYWNoIG9iZW4gKG9kZXIgaG9jaCkiLi4uLi5kYXMgaXN0IGRvY2ggc2NoZWlzc2UuIEVzIGthbm4gZG9jaCBuaWNodCBzbyBzY2h3ZXIKc2VpbiBlaW5lbiBlaW5oZWl0bGljaGVuIFN5bnRheCB6dSBmaW5kZW4gb2RlciB3ZW5pZ3N0ZW5zIG1laHJlcmUgZ2VsdGVuIHp1Cmxhc3Nlbi4gIEFyZyBnZW5lcnZ0IFJhaW5kb2cKKgoKc2NocmVpYgoKcQoqcQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNZblRhWC1ORVJWRVJFSSAoUGlsZ3JpbSwgMjEuIFNlcCAxOTk2LCAxMjo1MDowNik6Cn4jISBybj1SYWluZG9nIHJ0PTg0MzI4MDQxOQp+IyEgdGlkPTg0MzI4MDQxOQpIaSwKZXN0ZW5zOiBFcyBnaWJ0IFJlZ2VsIGZ1ZXIgZGllIFN5bnRheCA7LSkgLi4uIG1hbiBtdXNzIHNpZSBudXIga2VubmVuIFVORApCRUZPTEdFTiAuLgp6d2VpdGVuczogV2VubiBzaWNoIERlaW5lIEtyaXRpayBhdWYgZWluZW4gc3B6aWVsbGVuIEZhbGwgYmV6aWVodCwgc29sbHRlc3QgRHUKdW5iZWRpbmd0IGRlbSBlbnRzcHJlY2hlbmRlbiBNYWdpZXIgYmVzY2hlaXQtc3Rvc3NlbiA7LSkgLi4uIHdvZnVlciBoYWJlbiB3aXIKZGVuIGRpZSBCZWZlaGxlOiB0eXBvLCBpZGRlLCBmZWhsZXIgdW5kIGRpZSBtYWlsIDstKSAuLi4KClBpbGdyaW0KKGdydWViZWx0IGF1Y2ggaW1tZXIsIHdpZSBlciBudW4ga2xldHRlcm4gbXVzcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU1luVGFYLU5FUlZFUkVJIChCYWJzLCAyMS4gU2VwIDE5OTYsIDIzOjU4OjEyKToKfiMhIHJuPVBpbGdyaW0gcnQ9ODQzMzAzMDA2Cn4jISB0aWQ9ODQzMjgwNDE5Ck5hamEuLi4gc28gZWluZmFjaCBpc3QgZGFzIG5pY2h0LiA6KAoKRXJzdGVuczogRXMgZ2lidCBmdWVyIGRpZSBtZWlzdGVuIEZhZWxsZSBrZWluZSBSZWdlbG4gaW0gTUcuLi4ga2VpbmUKUmVnZWxuIGZ1ZXIgUHJhZXBvc2l0aW9uZW4sIGtlaW5lIFJlZ2VsbiBmdWVyIGRpZSBSZWloZW5mb2xnZSBiZWkgbWVociBhbHMKZWluZW0gT2JqZWt0LCB1bmQgdmllbGVzIGluIGRlciBNdWRsaWIgLSBldHdhIGJlaSBkZW4gRGV0YWlscyBhbiBkZW4gRGluZ2VuIC0KYnVnZ3Qgc293aWVzby4KWndlaXRlbnM6IEtvbnNlcXVlbnRlIEFud2VuZHVuZyBkZXIgUmVnZWxuICh6LkIuICJzY2h3aW1tIGZsdXNzIiwKImtsZXR0ZXIgYmF1bSIgaXN0IHNjaG9uIHNlaHIgd2VpdCB3ZWcgdm9uIGRlciBkZXV0c2NoZW4gU3ByYWNoZSwgdW5kCmRhZHVyY2ggZ2FueiBzY2hvZW4gQW5mYWVuZWdyZmVpbmRsaWNoLgpEcml0dGVuczogUmVnZWxuLCBkaWUgbm9jaCBuaWNodG1hbCBkaWUgTWFnZ2lzIHNlbGJlciBiZWltIFByb2dnZW4ga2VubmVuLApzaW5kIGVoIGZ1ZXIgZGVuIEEuLi4uIAoKRGVyIFZlcnN1Y2gsIGRpZSBTeW50YXhwcm9ibGVtZSBkZW4gU3BpZWxlcm4gaW4gZGllIFNjaHVoZSB6dSBzY2hpZWJlbiwKYnp3LiBhbHMgZWluemVsbmUgRmVobGVyIGVpbnplbG5lcnIgTWFnZ2lzIGFienV0dW4sIHpldWd0IG0uRS4gc2Nob24gdm9uCmVpbmVyIGdld2lzc2VuIEFycm9nYW56LgpTaWNoZXIgd2FlcmUgZXMgbmljaHQgc2Nod2VyLCB3ZXNlbnRsaWNoIGZsZXhpYmxlcmUgU3ludGF4ZW4genV6dWxhc3Nlbi4KSW0gTUcgaXN0IGRhcyBhYmVyIG5vY2ggbmljaHRtYWwgdmVyc3VjaHQgd29yZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1luVGFYLU5FUlZFUkVJIChIYXRlLCAyMi4gU2VwIDE5OTYsIDE0OjAzOjQ3KToKfiMhIHJuPUJhYnMgcnQ9ODQzMzQzMDkyCn4jISB0aWQ9ODQzMjgwNDE5ClRqYSBCYWJzLCBEdSBkYXJmc3QgdW5zIGdlcm5lIGVpbmVuIG5hdHVlcmxpY2hzcHJhY2hpZ2VuIFBhcnNlciBnZWJlbiwKZGVuIHdpciBkYW5uIGVpbmJhdWVuLiBVbmQgd2FzIGRpZSBEZXRhaWxzIGFuIE9iamVrdGVuIGFuZ2VodCwgc28KYml0dGUgaWNoIHVtIF9rb25rcmV0ZV8gSGlud2Vpc2Ugd2FzIGRhIGJ1Z2dlbiBzb2xsLgoKSGF0ZS4KUC5TLiBJY2ggaGFzc2UgZXMgd2VubiBtYW4gamVtYW5kZW0gYWxsZXMgYXVzIGRlciBOYXNlIHppZWhlbiBtdXNzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbCBzbyBuZSBJZGVlLi4uLiAoTWF0c3VzaGl0YSwgMjMuIFNlcCAxOTk2LCAwMTowMzoxNik6Cn4jISBybj1BY3JpbW9uIHJ0PTg0MTk0MTg4Mgp+IyEgdGlkPTg0MTkyNTM2MgpIbSwgKndhcyogc29sbCBkaWUgRGVtb2tyYXRpZSBhbGxlcyBmb2VyZGVybj8KRGEga2FubiBtYW4gbnVyIGhvZmZlbiwgZGFzcyBEZWluZSBSTC1NZWludW5nIHp1IGRlbSBUaGVtYSBldHdhcwp2aWVsc2NoaWNodGlnZXIKYW5nZWxlZ3QgaXN0LCBBY3JpbW9uLiBBYmVyIGljaCBnZWJlIERpciBuYXR1ZXJsaWNoIHJlY2h0OiBEZW1va3JhdGllIGltIE1HCndhZXJlIHdhaHJzY2hlaW5saWNoIHdpcmtsaWNoIHppZW1saWNoIHNwYW5uZW5kLiAKTWF0c3UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKEFjcmltb24sIDIzLiBTZXAgMTk5NiwgMTM6MTI6MDgpOgp+IyEgcm49UGlsZ3JpbSBydD04NDMxNDI0MjIKfiMhIHRpZD04NDMxMzQzMjEKSG1tIGtvbWlzY2gsIGljaCBoYWJlIHN0dHkgYW5zaSBlaW5nZXN0ZWxsdCwgdW5kIGJlaSBtaXIgZXJzY2hlaW50IGF1Y2ggZGFzCmt3ZXIgZmFyYmlnLCBhYmVyIHNlbHRzYW1lcndlaXNlIGRpZSBVZWJlcnNjaHJpZnRlbiBkZXMgSW52ZW50b3JpZXMgbmljaHQuIFdhcwppc3QgZGEgbG9zPwoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGYXJibGljaGUgdW50ZXJsZWd1bmcuLi4gKEhhdGUsIDIzLiBTZXAgMTk5NiwgMTM6MTU6MTkpOgp+IyEgcm49QWNyaW1vbiBydD04NDM0NzcxMjgKfiMhIHRpZD04NDMxMzQzMjEKQWxzbyBpbSBpbnYgaXN0IG5pY2h0cyBzcGV6aWVsbCBmYXJiaWcgaGVyYXVzZ2Vob2Jlbi4KTWFuY2htYWwgcGFzc2llcnQgZXMsIGRhc3MgaW0geHRlcm0gZGUgVGV4dCBkaWUgRmFyYmUgZGVzIGN1cnNvcnMgYW5uaW1tdC4KQXVzc2VyZGVtIGhhZW5ndCB2b24gZGVyIEVpbnN0ZWxsdW5nIGZ1ZXIgQk9MRCB1bmQgVU5ERVJMSU5FIGFiLCB3ZWxjaGUKRmFyYmUgZGFzIFRlcm1pbmFsIGJlbnV0enQgdW0gZGllc2UgQXR0cmlidXRlIGRhcnp1c3RlbGxlbi4KUHJpbnppcGllbGwgaXN0IGltIGludiBudXIgQk9MRCB2ZXJ3ZW5kZXQuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1luVGFYLU5FUlZFUkVJIChBY3JpbW9uLCAyMy4gU2VwIDE5OTYsIDE0OjAzOjU1KToKfiMhIHJuPUJhYnMgcnQ9ODQzMzQzMDkyCn4jISB0aWQ9ODQzMjgwNDE5CkRvY2ggZXMgZ2lidCBSZWdlbG4uClByYWVwb3NpdGlvbmVuOiBIYWIgaWNoIGJpc2hlciBrZWluZSBmZXN0Z2VzdGVsbHQuCk5laG10IGRpZSBFdWNoIGF1cyBkZXIgZGV1dHNjaGVuIFNwcmFjaGUgQmVrYW5udGVuLgpSZWloZW5mb2xnZSBiZWkgbWVociBhbHMgZWluZW0gT2JqZWt0OiBIaWVyIGdpYnQgZXMgUmVnZWxuOgo8QWt0aW9uPiAgICA8UGVyc29uL0JlaGFlbHRlcj4gPFByYWVwb3NpdGlvbj4gPEdlZ2Vuc3RhbmQvVGV4dD4KPFByYWVkaWthdD4gPERhdGl2PiAgICAgICAgICAgIDxQcmFlcG9zaXRpb24+IDxBa2t1c2F0aXY+CgpEaWUgZWluemlnZW4gZHJlaSBBdXNuYWhtZW4gdm9uIGRpZXNlciBSZWdlbCBzaW5kCiJnaWIiLCAibmltbSIsICJzdGVja2UiLCBhYmVyIGRlbSBrYW5uIG1hbiBqYSBhYmhlbGZlbjoKYWxpYXMgZ2liIGdpYiAkMiogYW4gJDEKYWxpYXMgbnYgbmltbSAkMiogdm9uICQxCmFsaWFzIHNpIHN0ZWNrZSAkMiogaW4gJDEKVW5kIHNjaG9uIGZ1bmt0aW9uaWVydHMgYXVjaCBtaXQgImdpYiIsICJudiIgdW5kICJzaSIuCgpEZXRhaWxzOiBBbGxlIFN1YnN0YW50aXZlIG11ZXNzZW4gRGV0YWlscyBzZWluLCBhbGxlcyBVZWJyaWdlIG5pY2h0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTWW5UYVgtTkVSVkVSRUkgKFdhcmdvbiwgMjMuIFNlcCAxOTk2LCAxNDoxMzoxNyk6Cn4jISBybj1BY3JpbW9uIHJ0PTg0MzQ4MDIzNQp+IyEgdGlkPTg0MzI4MDQxOQpBbGxlcmRpbmdzIHNvbGx0ZSBtYW4gc2ljaCBkYW5uIGF1Y2ggYW4gZGllc2UgQWxpcyBlcmlubmVybi4uLgpJY2ggZXJpbm5lcmUgbWljaCBkYSBhbiBkaXZlcnNlIGFuZ2VibGljaGUgQnVncywgZGllIGRhZHVyY2ggenVzdGFuZGUga2FtZW4sCmRhc3MgZGllIExldXRlIG1pdCBpaHJlbiBBbGlhc2VuIHdpZWRlciBhdWYgZGllIFVyc3BydW5nc2JlZmVobGUKenVydWVja2dyaWZmZW4uIFVuZCBkYXMga2xhcHB0ZSBkYW5uIG5hdHVlcmxpY2ggbmljaHQuLi4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNZblRhWC1ORVJWRVJFSSAoQWNyaW1vbiwgMjMuIFNlcCAxOTk2LCAxNToxMTo0OCk6Cn4jISBybj1XYXJnb24gcnQ9ODQzNDgwNzk3Cn4jISB0aWQ9ODQzMjgwNDE5Ck5hY2ggZWluZXIgV29jaGUgR2V3b2VobnVuZ3N6ZWl0IGhhdCBtYW4gc2ljaCB1bWdld29laG50IHVuZCBrb21tdCBkYW5hY2ggdmllbApiZXNzZXIgenVyZWNodCBhbHMgdm9yaGVyLgoKQWNyaW1vbiBhdXMgZWlnZW5lciBFcmZhaHJ1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNZblRhWC1ORVJWRVJFSSAoSmltZGlncml6LCAyMy4gU2VwIDE5OTYsIDE1OjE3OjQ4KToKfiMhIHJuPUhhdGUgcnQ9ODQzMzkzODI3Cn4jISB0aWQ9ODQzMjgwNDE5CkhtbSBvZnQgcGFzc2llcnQgZm9sZ2VuZGVzOgoKdW50IGRpbmcgKGhhdCBtYW4gYmVpIHNpY2gpCi0+IGJlc2NocmVpYnVuZwp1bnQgZGV0YWlsCi0+IGFuIGVpbmVtIGRpbmcgc2llaHN0IGR1IGtlaW4gZGV0YWlsLCBkdSBzY2hhdXN0IGRpY2ggaW0gcmF1bSB1bQogU293YXMgc2llaHN0IGR1IGRhIGF1Y2ggbmljaHQuCnVudCBkZXRhaWwgaW0gcmF1bQotPiBiZXNjaHJlaWJ1bmcKCmljaCBkZW5rZSBlcyBpcyB1bmdlZmFlaHIga2xhciBnZXdvcmRlbiB3byBkYXMgcHJvYmxlbSBsaWVndCwKZGFzICJkZXRhaWwiIGlzdCBpbSByYXVtIHZvcmhhbmRlbiBhYmVyIGRpZSBmdW5rdGlvbiBkaWUgZXMgaW0gcmF1bQpzdWNoZW4gc29sbCB3ZW5uIGVzIGFuIGRlbSB2b3JoZXIgYmV0cmFjaHRldGVuIG9iamVrdCBuaWNodCBpc3QKZmluZGV0IGVzIG5pY2h0LgoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU1luVGFYLU5FUlZFUkVJIChIYXRlLCAyMy4gU2VwIDE5OTYsIDE2OjExOjQ2KToKfiMhIHJuPUppbWRpZ3JpeiBydD04NDM0ODQ2NjgKfiMhIHRpZD04NDMyODA0MTkKSG1tLCBpY2ggZ2xhdWJlIGhpZXIgaXN0IGVpbiBNaXNzdmVyc3RhZW5kbmlzIGJlaSBkZXIgQXVzZ2FiZToKWFhYIHNpZWhzdCBEdSBkYSBuaWNodC4gRGVpbiBCbGljayB3ZW5kZXQgc2ljaCBkZXIgVW1nZWJ1bmcgenUuCkhpZXJiZWl0IGhhbmRlbHQgZXMgc2ljaCB1bSBkaWUgVW1nZWJ1bmcgZGVzIERpbmcncywgd2FzIGltIEZhbGwgZWluZXMKT2JqZWt0ZXMsIHdlbGNoZXMgc2ljaCBpbSBJbnZlbnRvcnkgYmVmaW5kZW4sIG1hbiBzZWxic3QgaXN0LgpBbiBzaWNoIHNlbGJzdCBrYW5uIG1hbiBuaXggZmluZGVuIDstKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNZblRhWC1ORVJWRVJFSSAoQ2F0d2VhemxlLCAyMy4gU2VwIDE5OTYsIDE2OjI4OjI3KToKfiMhIHJuPUJhYnMgcnQ9ODQzMzQzMDkyCn4jISB0aWQ9ODQzMjgwNDE5CgpIaSEKClphaGxyZWljaGUgRGV0YWlscyB1bmQgdmllbGxmYWVsdGlnZSBTeW50YXggc2luZCBlcmtsYWVydGVzIFppZWwKaW4gZGllc2VtIE11ZC4gSmVkZXIgTWFnaWVyIGlzdCBkYWhlciBhbmdlaGFsdGVuIHNpY2ggaW4gZGllc2VuIERpbmdlbgplbnRzcHJlY2hlbmQgenUgcHJvZHV6aWVyZW4uCgpJY2ggaGFsdGUgZGVuIEFydGlrZWwgZGFoZXIgd2VuaWdlciBmdWVyIGFycm9nYW50LCBhbHMgdmllbG1laHIKZnVlciBpbmZvcm1hdGl2LCBzaWNoIGRvY2ggYml0dGUgYmVpIG1hbmdlbGhhZnRlciBTeW50YXggRElSRUtUCm1pdCBkZW4gYW5nZXNwcm9jaGVuZW4gQmVmZWhsZW4gKCdpZGVlJyB1ZWJyaWdlbnMpIGFuIGRlbiBzY2hsdWRlcmlnZW4KTWFnaWVyIHp1IHdlbmRlbi4KCkFycm9nYW56IGthbm4gaWNoIGRhIGxlaWRlciBuaWNodCBmaW5kZW4hCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZm9yd2FyZCAoZXRjKSAoQ2hpY29sYSwgMjMuIFNlcCAxOTk2LCAxNjo1NDo0NCk6CkhpIDopCgpJc3QgZXMgbW9lZ2xpY2gsIHNvIGV0d2FzIHdpZSBlaW4gImF1dG8tZm9yd2FyZCIgaW5zIE1HIGVpbnp1YmF1ZW4sIGQuaC4sIGRhcwphbGxlIG1haWxzIGRpZSBpY2ggaGllciBiZWtvbW1lIGF1dG9tYXRpc2NoIGFuIGVpbmUgYWRyZXNzZSAoIHZvbiBtaXIKZWluenVnZWJlbiApIHdlaXRlcmdlbGVpdGV0IHdlcmRlbiBvaG5lIGltIE1HIHp3aXNjaGVuZ2VzcGVpY2hlcnQgenUgd2VyZGVuLgotPiBTcGVpY2hlcnBsYXR6IHd1ZXJkZSBlaW5nZXNwYXJ0IHdlcmRlbiwgZGEgZXJzdCBnYXIga2VpbmUKWndpc2NoZW5zcGVpY2hlcnVuZyBlcmZvbGd0LgpEZXMgIHdlaXRlcmVuIGhhZXR0ZSBpY2ggZ2VybiBkaWUgbW9nbGljaGtlaXQsIGJlc3RpbW10ZSBNUEEtQXJ0aWtlbCBvaG5lCmRyZWNrdW5kdHJvcCBpbiBlaW5lIE1haWwgYW4gbWljaCBvZGVyIGFuZGVyZSB6dSB2ZXJ3YW5kZWxuLiAKCkRhbmtlICwgdW5kIHNvbGx0ZSBlcyBzY2hvbiBpbXBsZW1lbnRpZXJ0IHNlaW4sIGRhbm4gYml0dGUgaWNoIHVtIGRlbiBTeW50YXgKOikKCkNpb2EgICAgICAgQ2hpY29sYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZvcndhcmQgKGV0YykgKEZ5dCwgMjMuIFNlcCAxOTk2LCAxODowMjo0NCk6Cn4jISBybj1DaGljb2xhIHJ0PTg0MzQ5MDQ4NAp+IyEgdGlkPTg0MzQ5MDQ4NAoKWnUgUHVua3QgMTogZ2liIGVzIHNjaG9uLiBJbiBkZXIgcG9zdCBkZW4gQmVhbXRlbiBuYWNoICduYWNoc2VuZGVhdWZ0cmFnJwpmcmFnZW4gd2FyJ3MgZ2xhdWIgaWNoLi4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmb3J3YXJkIChldGMpIChMZWZ0eSwgMjMuIFNlcCAxOTk2LCAxOTo1NTozMyk6Cn4jISBybj1GeXQgcnQ9ODQzNDk0NTY0Cn4jISB0aWQ9ODQzNDkwNDg0CkhtLCBuYWNoc2VuZGVhdWZ0cmFnIGdlaHQsIGdlcmFkZSBnZXNjaGF1dCAuLi4KRGEgZmFlbmRlIGljaCBlcyBhYmVyIGJlc3Nlciwgd2VubiBtYW4gbm9jaCBuZSBrb3BpZSBzZWxiZXIgZXJoYWx0ZW4ga29lbm50ZQpvZGVyIGRlciB6d2VpdGkgb2RlciBzbywgYXVzIGRlbSBlaW56aWdlbiBncnVuZCwgZGFzIGRpZSBtYWlsIG5hY2ggZHJhdXNzZW4KdW5kIGF1Y2ggdm9uIGRyYXVzc2VuIG5hY2ggZHJpbm5lbiBzbyBpaHJlIG1hY2tlbiBoYXQgdW5kIGRhcyBuZXQgaW1tZXIKZnVua3Rpb25pZXJ0LgoKTGVmdHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1Z3MuLi4gaW0gRHV0emVuZCBiaWxsaWdlciAod2FyOiBTWW5UYVguLi4pIChCYWJzLCAyNC4gU2VwIDE5OTYsIDAzOjE2OjQzKToKSG0uIFVtIGRlbiBWb3J3dXJmLCBtYW4gbXVlc3NlIGFsbGVzIGF1cyBkZXIgTmFzZSB6aWVoZW4sIG5pY2h0IGF1ZiBtaXIKc2l0emVuIHp1IGxhc3NlbiwgaGllciBtYWwgbmUgWnVzYW1tZW5mYXNzdW5nIGRlciBiZWthbm50ZW4gQnVncyBtaXQgZGVuCkRldGFpbHMgdW5kIENvLiBOZXUgc2luZCBkaWUgYWxsZXJkaW5ncyBuaWNodCwgc29uZGVybiBlaW4gcGFhciBNb25hdGUKX21pbmRlc3RlbnNfIGFsdCwgdW5kIHdvaGwgYXVjaCBpbW1lciB3aWVkZXIgbWFsIGdlbWVsZGV0IHdvcmRlbiwgb2huZQpkYXNzIGVzIGplbWFuZGVuIHJlbGV2YW50ZW4gZ2VrdWVtbWVydCBoYXQsIHp1bSBUZWlsIGF1Y2ggaW4gZGVyIFplaXR1bmcuCkVzIHNpbmQgYWxsZXMgZWNodGUgTXVkbGliLUJ1Z3MsIGRpZSBpY2ggaW0gdW5kIGluIHVubWl0dGVsYmFyZXIgTmFlaGUKZGVyIFN0YXJ0cmF1bXMgZ2V0ZXN0ZXQgaGFiLiAoTmljaHQsIGRhc3MgZGEgd2llZGVyIGVpbiBOZXVtYWdnaSBhbHMKU3VlbmRlbmJvY2sgdm9yZ2VzY2hvYmVuIHdpcmQuKQoKMS4pICJob2xlIDxpcmdlbmR3YXM+IGF1cyBwYWtldCIKLT4gd2llIGJpdHRlPwojIyMgRGFzIGdpbmcgZnJ1ZWhlciBtYWwuLi4gICAibmltbSIgZ2VodCBub2NoLgoKMi4pIFN0ZWNrdCBtYW4gZWluZSBOZXdiaWUtS2FydGUgaW4gZWluZW4gQmV1dGVsLCBpc3Qgc2llIG5hY2gga3VyemVyIFplaXQKZWluZmFjaCBuaWNodCBtZWhyIGRhLiBTZWlkIG5ldHQgenUgQW5mYWVuZWdybiEgOi0oKAoKMy4pICJ1bnQga2FydGUgaW4gcGFrZXQiCi0+IER1IGZpbmRlc3QgYW4gZWluZW0gUGFrZXQga2VpbmUgS2FydGUKIyMjIFppZW1saWNoIHNlbHRzYW0uIEF1cyBzb3dhcyBzb2xsIG1hbiBkYW5uIGF1Y2ggbm9jaCBzY2hsaWVzc2VuLCBkYXMKIyMjIGRhcyBUZWlsIGVpbmZhY2ggYXVmZ2Vsb2VzdCBoYXQuCgpFYmVuZmFsbHMgYmVpIGxlZXJlbSBCZXV0ZWw6CjQuKSAidW50IGFsbGVzIGluIGJldXRlbCIKbGllZmVydCBkYXMgQXVzc2VoZW4gZWluZXMgYW53ZXNlbmRlbiBNaXRzcGllbGVycyEgKmtpY2hlcioKCjUuKSBJc3Qga2VpbiBhbmRlcmVyIGRhLCBrcmVpZ3QgbWFuIGJlaSAidW50IGFsbGVzIGluIGJldXRlbCIgZGllCmVpZ2VuZSBCZXNjaHJlaWJ1bmcuCgojIyMgV2VubiBpbiBlaW5lbSBHZWZhZXNzIHdhcyBkcmluIGlzdCwgYnVnZ3RzIGViZW5mYWxsczoKNi4pICJ1bnQgYWxsZXMgaW4gYmV1dGVsIgpsaWVmZXJ0IG51ciBkaWUgQmVzY2hyZWlidW5nIGRlcyBlcnN0ZW4gR2VnZW5zdGFuZGVzIGltIEJldXRlbC4KIyMjIE5hamEuLi4gbmljaHQgc28gc2NobGltbS4KCjcuKSBkaWUgQmVmZWhsc2ZvbGdlCiAgICAidW50IGJldXRlbCIgICB1bmQKICAgICJ1bnQgPGlyZ2VuZHdhcz4gaW4gYmV1dGVsIgotPiBIaWVyIGlzdCBrZWluIEJldXRlbAojIyMgRGFzIG5lcnZ0IGVjaHQhIG9obmUgVW50ZXJzdWNoZW4gZGVzIEJldXRlbHMgd2Vpc3MgbWFuIG5pY2h0IHdhcyBkcmluCiMjIyBpc3QuIFdlbm4gbWFuIGVzIGRhbm4gd2Vpc3MsIGlzdCBkZXIgQmV1dGVsICJuaWNodCBtZWhyIGRhIgoKOC4pIFZlcnN1Y2h0IG1hbiBoaW50ZXJlaW5hbmRlciwgendlaSBHZWdlbnN0YWVuZGUgaW4gZWluZW0gQmVoYWVsdGVyCnp1IHVudGVyc3VjaGVuLCBrb21tdCBiZWltIHp3ZWl0ZW4gTWFsIGF1Y2g6Ci0+IEhpZXIgaXN0IGtlaW4gQmV1dGVsCiMjIyBOZXJ2dCBhdWNoIHNlaHIsIHdlbm4gbWFuIG1laHJlcmUgU2FjaGVuIGluIGVpbmVtIEJlaGFlbHRlciBoYXQuCgojIyMgRGllICJuaWNodCBtZWhyIGRhIi1CdWdzIGtvZW5uZW4gdWVicmlnZW5zIGRpZSBhbmRlcmVuIEJ1Z3MgenVtIFRlaWwKIyMjIHVlYmVybGFnZXJuLgojIyMgVW0gZGllIEJ1Z3MgMS02IHp1IHJlcHJvZHV6aWVyZW4sIHNvbGx0ZSBtYW4gc2ljaGVyaGVpdHNoYWxiZXIgamVkZXNtYWwKIyMjIHZvcmhlciAic2NoYXUiIHRpcHBlbi4uLiBkYXMgaGlsZnQuCgojIyMgTmljaHQgbnVyIEJlaGFlbHRlciwgYXVjaCBub3JtYWxlIEdlZ2Vuc3RhZW5kZSBvZGVyIFJhdW1kZXRhaWxzIGJ1Z2dlbjoKCjkuKSAidW50IGthcnRlIGluIG1pciIgbGllZmVydGUKZGllIERldGFpbGJlc2NocmVpYnVuZyBlaW5lcyBSYXVtZGV0YWlscywgd2VubiB2b3JoYW5kZW4uIChLb25udGUgaWNoIGhldXRlCm1hbmdlbHMgTWFzc2UgbmljaHQgbmFjaHBydWVmZW4sIGFiZXIgb2ZmZW5iYXIgaGF0IGViZW4gaGV1dGUgSmltKiBzb3dhcwpiZW1hZW5nZWx0LikKRGVmaW5pdGl2IGxpZWZlcnQgInVudCBiaWxkIGluIG1pciIgaW4gZGVyIEdpbGRlIGRpZSBCZXNjaHJlaWJ1bmcgZGVzCldhbmRiaWxkZXMuIChBbGxlcmRpbmdzIGhhdHRlIGljaCBlaCBrZWluIEJpbGQgYmVpIG1pci4pCgoxMC4gInN0ZWNrZSB6ZWl0dW5nIGluIGJldXRlbCIKLT4gIkRhcyBwZXJzb2VubGljaGUgU2VydmljZXBha2V0IGRlciBNUEEga2FubiBtYW4gbmljaHQgd2Vnd2VyZmVuIgojIyMgSGF0dGUgaWNoIGRvY2ggZ2FybmljaHQgdm9yISA6KQoKMTEuKSAiYmVoYWx0ZSB6ZWl0dW5nIgotPiBPSywgZHUgd2lyc3QgRUlOIFplaXR1bmcgamV0enQgYmVpICJ2ZXJrYXVmZSBhbGxlcyIgYmVoYWx0ZW4uCiMjIyBIbW1tLi4uIGRpZSBaZWl0dW5nIGlzdCBlaWdlbnRsaWNoIGR1cmNoYXVzIGVpbiBfdm9yaGFuZGVuZXJfIFRHZWdlbnN0YW5kCiMjIyBtaXQgX3dlaWJsaWNoZW1fIGdyYW1tYXRpc2NoZW0gR2VzY2hsZWNodC4uLiBOYWphLgoKMTIpICJiZWhhbHRlIHplaXR1bmciIChub2NobWFsKQotPiBPSywgZHUgd2lyc3QgRUlOIFplaXR1bmcgYmVpbSBuYWVjaHN0ZW4gInZlcmthdWZlIGFsbGVzIiBtaXQgdmVya2F1ZmVuIQojIyMgR2xhdHQgZ2Vsb2dlbiEgOikgRGllIHdlcmQgaWNoIG5pY2h0IGxvcy4uLgoKMTMpICJ1bnQgc2NobGFnemVpbGUgYW4gemVpdHVuZyIKLT4gRHUgZmluZGVzdCBhbiBFSU5FTSB6ZWl0dW5nIGtlaW4gc2NobGFnemVpbGUKIyMjICpzZXVmeiogRXJ6aXMgdW5kIEdyYW1tYXRpay4uLiBXZWx0ZW4gcHJhbGxlbiBhdWZlaW5hbmRlci4uLiA7KQojIyMgdm9uIGRlciBTb3J0ZSBnaWJ0cyBub2NoIHZpZWxlIEJlaXNwaWVsZS4KCiMjIyBGb2xnZW5kZXMgcGFzc2llcnQgaW4gZGVyIEdpbGRlLCBvZGVyIHNvbnN0LCB3ZW5uIGVpbiBnbGVpY2huYW1pZ2VyCiMjIyBHZWdlbnN0YW5kIHNvd29obCBpbSBJbnZlbnRvcnkgYWxzIGF1Y2ggaW0gUmF1bSBpc3QuCiMjIyAoSGllcjogbWVpbmUgR1BBIHVuZCBkZXIgWmVpdHVuZ3NhdXRvbWF0KToKMTQuKSAidW50IHNjaGxhZ3plaWxlIGFuIHplaXR1bmcgaW4gbWlyIgpvZGVyIGF1Y2ggInVudCA8aXJnZW5kZWluIERldGFpbD4gYW4gemVpdHVuZyIKLT4gRXMgZ2lidCBtZWhyIGFsZSBlaW4gWmVpdHVuZwojIyMgOi0oKAojIyMgUHJpbnppcGllbGwgaXN0IGVzIHJlaWNobGljaCBzY2h3YWNoc2lubmlnLCBkYXMgVW50ZXJzdWNoZW4gdm9uIERldGFpbHMKIyMjIHp1IHZlcmhpbmRlcm4sIG51ciB3ZWlsIHdlaXRlcmUgR2VnZW5zdGFlbmRlIGdsZWljaGVuIE5hbWVucyBhbndlc2VuZAojIyMgc2luZC4gVmllbG1laHIgd2FlcmUgZXMgd3VlbnNjaGVuc3dlcnQsIGRhc3MgZnVlciBVbnRlcnN1Y2hlbiB2b24KIyMjIERpbmdlbiwgRGV0YWlscyBhbiBEaW5nZW4sIERpbmdlbiBpbiBCZWhhZWx0ZXJuLCBEZXRhaWxzIGltIFJhdW0KIyMjIHNvd2llIGZ1ZXIgZGFzIE5laG1lbiwgV2VnbGVnZW4sIFdlaXRlcmdlYmVuIGV0YwojIyMgZWluZSBrb25zaXRlbnRlIFN5bnRheCBleGlzdGllcmVuIHd1ZXJkZS4KIyMjIEFiZXIgdm9ud2VnZW4sIGVzIGdhZWJlIFJlZ2VsbiBmdWVyIGRpZSBTeW50YXggaW0gTUcgOi0oIC4uLgoKIyMjIGtvbnNpc3RlbnRlciBhbHMgZGllIFN5bnRheCBzaW5kIGxlaWRlciBkaWUgQnVncyBpbSBNRzoKMTUuKSBkaWUgS29tbWFuZG9mb2xnZSAidW50IHplaXR1bmciIHVuZAogICAgICJ1bnQgPGlyZ2VuZHdhcz4gYW4gemVpdHVuZyIgbGllZmVydDoKLT4gSGllciBpc3Qga2VpbiBaZWl0dW5nCiMjIyBBZWhubGljaCB3aWUgc2Nob24gYmVpIGRlbiBQcm9ibGVtZW4gbWl0IGRlbSBCZXRyYWNodGVuIHZvbiAKIyMjIEJlaGFlbHRlcmluaGFsdGVuIGdlaHQgYXVjaCBkYXMgdW50ZXJzdWNoZW4gdm9uIERldGFpbHMgYW4gR2VnZW5zdGFlbmRlbgojIyMgbWl0IGRlciBhdXNmdWVocmxpY2hlbiBTeW50YXggbmljaHQgbWVociwgd2VubiBtYW4gZGVuIGdlZ2Vuc3RhbmQgdm9yaGVyCiMjIyB1bnRlcnN1Y2h0IGhhdC4KIyMjIEthbm4gZWluZW4genVyIFdlaXNzZ2x1dCB0cmVpYmVuLCB3ZW5uIG1hbiBkaWVzICh1bmQgZGllIEdlZ2VubWFzc25haG1lCiMjIyAic2NoYXUiKSBuY2lodCBrZW5udC4gOi0vCgojIyMgUmF1bWRldGFpbHMgYWt6ZXB0aWVyZW4gZ3J1bmRzYWV0emxpY2ggbmljaHQgZGllIFN5bnRheCBub3JtYWxlciBEZXRhaWxzOgoxNi4pICJ1bnQgaW5zY2hyaWZ0IGFuIG9wZmVyc3RvY2siCi0+IEhpZXIgaXN0IGtlaW4gT3BmZXJzdG9jawojIyMgRGFzIHBhc3NpZXJ0LCBlZ2FsIG9iIGljaCBkZW4gT3BmZXJzdG9jayB2b3JoZXIgdW50ZXJzdWNodCBoYWJlIG9kZXIKbmljaHQuCiMjIyBIbXRqYS4KCiMjIyBWaWVsZSBCZWZlaGxlIHZlcnB1ZmZlbiBtYW5jaG1hbCBwZXIgZGVmYXVsdCBnYW56IG9obmUgRXJnZWJuaXM6CjE3LikgImJlaGFsdGUiCi0+CiMjIyBOYWphLCBuaWNodCBzbyBzY2hsaW1tLiBBYmVyIGRvY2ggaXJyaXRpZXJlbmQsIHdlbm4gbWFuIGRpZSBhbHMgQW5mYWVuZ2VyCiMjIyBhdXNwcm9iaWVyZW4gd2lsbC4KIyMjIE5vY2ggaXJyaXRpZXJlbmRlcjoKMTguKSAiaSIKLT4KIyMjIHNjaG9uIGZydXN0ZW5kLCBnZXJhZGUgd2VpbCBtYW4gYWxzIEFuZmFlbmdlciAtIHdlZ2VuIEF1c2xvZ2dlbnMsIG9kZXIKIyMjIHVudm9yc2ljaHRpZ2VtIHN0ZWNrZW4gZGVyIEthcnRlIGluIEJlaGFlbHRlciA7KSBzZWhyIGxlaWNoIGdhbnogb2huZQojIyMgSW52ZW50b3J5IGRhc3RlaHQuCgoKIyMjIFNvLCB6dW0gU2NobHVzcywgYWxzIEJlbG9obnVuZyBmdWVyIGRhcyBMZXNlbiBlaW5lcyBsYW5nZW4gQXJ0aWtlbHMsCiMjIyBub2NoIG1laW5lIExpZWJsaW5nc2J1Zy4gTmljaHQgc28gcmVsZXZhbnQsIGFiZXIgbHVzdGlnOgoxOS4pICJ1bnQgc2lubiBhbiBhbGxlcyIKLT4gRXMgZ2lidCBtZWhyIGFscyBlaW4gYWxsZXMuCgojIyMgR2VuenNjaG9lbiB2aWVsIHRpZWZzY2h1ZXJmZW5kZSBwaGlsb3NvcGhpc2NoZSBXZWlzaGVpdCwgZnVlciBlaW5lCiMjIyBnZXdvZWhubGljaGUgQnVnISEhICAgOy0pKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNZblRhWC1ORVJWRVJFSSAoTW9yZ290aCwgMjQuIFNlcCAxOTk2LCAwNzoxODozOSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg0MzQ4NDMwOAp+IyEgdGlkPTg0MzI4MDQxOQphbHNvIGljaCBrZW5uZSBkYSBlaW4gbmV0dGVzIGZlYXR1cmUgdm9uIGRlbSBjb21tYW5kLmNvbSBlcnNhdHogNGRvcy4gZGEga2FubgptYW4gYmVmZWhsZSBhdWNoIGFsaWFzZW4uIGRlbiBvcmlnaW5hbCBiZWZlaGwgZXJoYWVsdCBtYW4gZGFubiBhYmVyIGVpbmZhY2gKbWl0ICo8YmVmZWhsPi4gd28gaXN0IGRhcyBwcm9ibGVtPyBqZWRlciBtYWNodCBzaWNoIHNlaW4gYWxpLCB3ZW5ucyBuaWNodAprbGFwcHQsIG5pbW10IGVyIGRlbiBiZWZlaGwgbWl0IGRlbSBzdGVybmNoZW4gOy0pKQpNb3Jnb3RoIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU1luVGFYLU5FUlZFUkVJIChNb3Jnb3RoLCAyNC4gU2VwIDE5OTYsIDA3OjE5OjMwKToKfiMhIHJuPUhhdGUgcnQ9ODQzNDg3OTA2Cn4jISB0aWQ9ODQzMjgwNDE5CmRhbm4gYWVuZGVyIGRhcyBtYWwgc28sIGRhc3Mgc2ljaCBkZWluZSBmdW5rdGlvbiBBTExFIGVudmlyb25tZW50cyBhbnNpZWh0CjstKSkKTQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU1luVGFYLU5FUlZFUkVJIChIYXRlLCAyNC4gU2VwIDE5OTYsIDEwOjE2OjM0KToKfiMhIHJuPU1vcmdvdGggcnQ9ODQzNTQyMzcwCn4jISB0aWQ9ODQzMjgwNDE5CkVzIGlzdCBBYnNpY2h0IGRhaGludGVyLCBkYXNzIG51ciBkaWUgdWViZXJnZW9yZG5ldGUgVW1nZWJ1bmcgYXV0b21hdGlzY2gKYmV0cmFjaHRldCB3aXJkLgpadSBCYWJzOiBBbHNvIGljaCBrYW5uIHNjaG9uIHNhZ2VuIGRhc3MgbWluZC4gNjAlIGRlciBzb2dlbmFubnRlbiBCdWdzCmVoZXIgdW52ZXJzdGFlbmRuaXMgZGVpbmVyc2VpdHMgc2luZC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTWW5UYVgtTkVSVkVSRUkgKFJhZmZpLCAyNC4gU2VwIDE5OTYsIDE0OjI4OjI1KToKfiMhIHJuPUhhdGUgcnQ9ODQzNDg3OTA2Cn4jISB0aWQ9ODQzMjgwNDE5CgpSaWNodGlnIEhhdGUuIERhcyBkYW5uIGRpZSB1ZWJlcmdlb3JkbmV0ZSBVbWdlYnVuZyB1bnRlcnN1Y2h0IHdpcmQgaXN0IGd1dCB1bmQKYnJhdWNoYmFyLiBEYXMgcHJvYmxlbSBlcmdpYnQgc2ljaCwgd2llIER1IHJpY2h0aWcgc2NoaWxkZXJzdCwgd2VubiBkaWUKdWViZXJnZW9yZG5ldGUgVW1nZWJ1bmcgZGVyIFNQaWVsZXIgc2VsYnN0IGlzdCwgZGEgc2ljaCBudXIgc2VsdGVuIGplbWFuZApzZWxic3QgaW4gc28gZWluZW0gVk9yZ2FuZyBiZXRyYWNodGVuIHdpbGwuCgpBdXNzZXJkZW0gaXN0IGRpZSBNZWxkdW5nICdEdSB3ZW5kZXN0IGRlaW5lbiBCbGljayBkZXIgVW1nZWJ1bmcgenUnClVtZ2FuZ3NzcHJhY2hsaWNoIChuaWNodCB0ZWNobmlzY2gpIGZhbHNjaC4gTmllbWFuZCBzaWVodCBzaWNoIHNlbGJzdAphbHMgVW1nZWJ1bmcuCgpMb2VzdW5nIDE6CmRpZSBTY2hsZWlmZSB3ZWl0ZXIgZm9ydHNldHplbiwgdW5kIGRhcyBkYW4gd2llZGVydW0gdWViZXJnZW9yZG5ldGUKT2JqZWt0IHVudGVyc3VjaGVuLgpWb3J0ZWlsIDogZXMgaGlsZnQgYmVpIGJlbGllYmlnIGdlc2NoYWNodGVsdGVuIE9iamVrdGVuLgpOYWNodGVpbDogZXMga29tbXQgZWluZSBaZWlsZSAneHh4IGZpbmRlc3QgZHUgYW4gRGlyIG5pY2h0JyB6dXNhZXR6bGljaAogICAgICAgICAgKHVuZCBkaWUgby5hLiBCZXRyYWNodHVuZyBibGVpYnQgYmVzdGVoZW4pLgoKTG9lc3VuZyAyOgppc3QgZGFzIHVlYmVyZ2VvcmRuZXRlIE9iamVrdCBkZXIgU3BpZWxlciwgc28gc2NoYWx0ZSBnbGVpY2ggYXVmIGRlbgpSYXVtIHdlaXRlci4KVm9ydGVpbCA6IGRpZSBEZXBwZXJ0ZSBNZWxkdW5nIHZlcnNjaHdpbmRldCB1bmQgbWFuIHN1Y2h0IGltIFJhdW0uCk5hY2h0ZWlsOiBpY2ggd2Vpc3MgbmljaHQgd2llIGRhcyBkYW5uIG1pdCBhbmRlcmVuIGdlZ2Vuc3RhZW5kZW4gaW0KICAgICAgICAgIFNwaWVsZXIgYXVzc2NoYXV0LgoKTG9lc3VuZyAzOiAoVmVyYmluZHVuZyB2b24gMSsyKQpTdWNoYWJmb2xnZSB3aWUgaW4gMSAoYWxzbyBpbiBzY2hsZWlmZSB1ZWJlciBhbGxlIHVtZ2VidW5nZW4pIGFiZXIKdW50ZXJkcnVlY2t1bmcgZGVyIEZlaGxlcm1lbGR1bmcgd2VubiBkYXMgZ2VyYWRlIGR1cmNoc3VjaHRlIE9iamVrdApkZXIgU3BpZWxlciBpc3QuCgpQcm9iaWVycyBtYWwgbWl0IDMuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1Z3MuLi4gaW0gRHV0emVuZCBiaWxsaWdlciAod2FyOiBTWW5UYVguLi4pIChMb2NvLCAyNC4gU2VwIDE5OTYsIDE1OjE1OjQ2KToKfiMhIHJuPUJhYnMgcnQ9ODQzNTI3ODAzCn4jISB0aWQ9ODQzNTI3ODAzCjExLikgRUlOIFplaXR1bmcKZG9uZSwgd2FyIGVpbmUga2xlaW5pZ2tlaXQsIGRpZSBub2NoIHZvbiBkZXIgUnVlY2tiZW5lbm51bmcgdm9uICJTZXJ2aWNlcGFrZXQiCihhbHNvIG5ldXRydW0pIGluIFplaXR1bmcgKGZlbWluaW51bSkgdWVicmlnIHdhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNZblRhWC1ORVJWRVJFSSAoTXVwZmVsLCAyNC4gU2VwIDE5OTYsIDE1OjIyOjI3KToKfiMhIHJuPU1vcmdvdGggcnQ9ODQzNTQyMzE5Cn4jISB0aWQ9ODQzMjgwNDE5CkltIE1VRCBiZWtvbW10IG1hbiBkZW4gJ09yaWdpbmFsLUJlZmVobCcgbWl0IGVpbmVtICdcJyB2b3IgZGVtIGJlZmVobCwgYWxzbwonXGJlZmVobCcuCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyY2FtcCA5NiAtIEJpbGRlciAoVG9lLCAyNC4gU2VwIDE5OTYsIDE5OjQyOjIyKToKaGkgRm9sa3MsCgpoYWIgbWFsIDExIFBvcnRyYWl0cyBhYmdlbGVndC4uLgpodHRwOi8vd3d3LnVuaS1ib25uLmRlL351enI1MDQvbXVkL2JpbGRlci9iaWxkZXIuaHRtbAoKVmllbCBTcGF0eiwgdG9lCgpQLlMuOiBXZW5uIG5vY2ggSW50ZXJlc3NlIGJlc3RlaHQsIHNjYW5uZSBpY2ggZGllIEdydXBwZW5hdWZuYWhtZW4gaXJnZW5kd2FubgppbSBPa3RvYmVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29tbWVyY2FtcCA5NiAtIEJpbGRlciAoR3JpbW1ib3JuLCAyNC4gU2VwIDE5OTYsIDE5OjU5OjI5KToKfiMhIHJuPVRvZSBydD04NDM1ODY5NDIKfiMhIHRpZD04NDM1ODY5NDIKCkF1Y2ggaGllciBnaWx0ICpzZXVmeio6CkxlZyBzaWUgaW5zIG9wZW4sIHNhZyBIYXRlIGJlc2NoZWlkLCBkYW5uIHNpbmQgZGllIEJpbGRlciB6dXNhbW1lbiBtaXQgZGVuCmFuZGVyZW4gYXVmIGRlciBNRy1wYWdlLiBEaWVzZXIgRGV6ZW50cmFsaXNtdXMgaXN0IGRvY2ggd2lya2xpY2ggbmVydmlnIHVuZAp1bnVlYmVyc2ljaHRsaWNoLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29tbWVyY2FtcCA5NiAtIEJpbGRlciAoQ2F1bm8sIDI1LiBTZXAgMTk5NiwgMTA6MzA6MDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0MzU4Nzk2OQp+IyEgdGlkPTg0MzU4Njk0MgoKSWNoIGhhYiBlaW4gcGFhciBCaWxkZXIgdm9tIEtvZWxuZXIgR3JpbGxhYmVuZC4gRmFsbHMgc2llIHVlYmVyaGF1cHQgZWluZXIKc2VoZW4gd2lsbCAtIFdvIHNvbGx0ZSBpY2ggc2llIGhpbnNlbmRlbj8KCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb21tZXJjYW1wIDk2IC0gQmlsZGVyIChQYW1wZXJzLCAyNS4gU2VwIDE5OTYsIDEwOjM5OjI5KToKfiMhIHJuPUNhdW5vIHJ0PTg0MzY0MDIwNQp+IyEgdGlkPTg0MzU4Njk0MgpVTklDRUY/IEFscyBHZW5lc3VuZ3Nwb3N0a2FydGUgYW4gQm9yaXMgSmVsemluPyBBbiBZYW50cm8sIHdlaWwgaWhuIGtlaW5lcgphbnJ1ZnQ/ClVuc2VyZW4gdGFwZmVyZW4gVmF0ZXJsYW5kc3ZlcnRlaWRpZ2VybiBpbiBkZXIgSGVpbnJpY2gtU2NobHVja3NwZWNodC1LYXNlcm5lPwpBbHMgRW50d2lja2x1bmdzaGlsZmUgbmFjaCBVZ2FuZGE/ICBBbiBNYXJnYXJldGhlIFNjaHJlaW5lbWFrZXJzPwpBbiBQZXRlciBHcmFmLCBkZXIgaW0gS25hc3QgamEgbml4IHp1IGxhY2hlbiBoYXQ/IEFuIGRpZSBNYW5uc2NoYWZ0IHZvbiBSb3QKV2Vpc3MgRXNzZW4sIHdlaWwgc2llIGF1ZiBkZW0gUGxhdHogbml4IHp1IGxhY2hlbiBoYXQ/IAoKU28gdmllbGUgTW9lZ2xpY2hrZWl0ZW4uLi4KU3VjaCBEaXIgZG9jaCBlaW5mYWNoIGVpbmVuIHNjaG9lbmVuIEFkcmVzc2F0ZW4gYXVzLiA6LSkKClBhbXBlcnMuIFdpZSBpbW1lciB1bnF1YWxpZml6aWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIHdpbGwgRmFyYmUuLi4uIChTbnVnZ2xlLCAyNS4gU2VwIDE5OTYsIDE3OjAxOjE0KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODQzMTUxMzAzCn4jISB0aWQ9ODQzMTQ2MjI5CkhhciwgaXN0IGRvY2ggZ2FueiBlaW5mYWNoLgoKSG9yb3Nrb3AgZXJzdGVsbGVuIGxhc3NlbiB1bmQgYW0gcmljaHRpZ2VuIFRhZyBkZW4gTW9uaXRvciBsb2V0ZW4gOi0pCgpoYXQgaGV1dCBuaXggYmVzc3JlcyB6dSB0dW4uClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvbW1lcmNhbXAgOTYgLSBCaWxkZXIgKEJvdHRvbSwgMjUuIFNlcCAxOTk2LCAxODowMzo0MCk6Cn4jISBybj1QYW1wZXJzIHJ0PTg0MzY0MDc2OQp+IyEgdGlkPTg0MzU4Njk0MgpIdXBzYSEKCkR1cmNoIDE0NiBBcnRpa2VsIHF1YWVsdGUgaWNoIG1pY2guLi5hYmVyIGVuZGxpY2gsIGVuZGxpY2ggZWluIEJlaXRyYWNoLCBkZXIKbWljaCB2b3IgZGVyIEt1ZW5kaWd1bmcgZGVzIEFibycgYmV3YWhydGUuIERhbmtlLCBQYW1wZXJzISBIb3NlbnNjaGVpc3NlciBzaW5kCmhhbHQgZG9jaCBkaWUgd2FocmVuIEhlbGRlbiEgOy0pCgpCb3R0b20gLSBnZWl6dCBzb25zdCBtaXQgTG9iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkb2xsLCBkYXMgdC1vbmxpbmUgKEd1bGR1a2F0LCAyNi4gU2VwIDE5OTYsIDA4OjQ5OjA0KToKCkRvbGwgZGFzIHQtb25saW5lOgoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWVzc2FnZSBsb2cgZm9sbG93czogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCkR1ZSB0byBzZXZlcmUgbmV0d29yayBjb25nZXN0aW9uIHRoaXMgZGVzdGluYXRpb24gaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuClBsZWFzZSB0cnkgdG8gcmVzZW5kIHRoaXMgbWVzc2FnZSBsYXRlci4KCldlZ2VuIEVuZ3BhZXNzZW4gaW0gTmV0eiBpc3QgZGllc2UgQWRyZXNzZSB2b3J1ZWJlcmdlaGVuZCBuaWNodCBlcnJlaWNoYmFyLgpCaXR0ZSBwcm9iaWVyZW4gU2llIGRpZSBOYWNocmljaHQgc3BhZXRlciBub2NoZWlubWFsIHp1IHNlbmRlbi4KCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1lc3NhZ2UgdGV4dCBmb2xsb3dzOiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CmVjaHQga2xhc3NlIQpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RvZXJ1bmdlbiAoUm9jaHVzLCAyNi4gU2VwIDE5OTYsIDE3OjU5OjU3KToKRGllIEJldHJpZWJzc3RvZXJ1bmdlbiBkZXMgTXVkcyAoZ2VsZWdlbnRsaWNoZSBOaWNodGVycmVpY2hiYXJrZWl0KQpoYWJlbiBhbHMgVXJzYWNoZSBlaW5lbiBkZWZla3RlbiBTd2l0Y2gsIGRlciBlaWdlbnRsaWNoCmRhcyBTdWJuZXR6IGRlciA2LiBFdGFnZSBtaXQgZGVtIHJlc3RsaWNoZW4gTmV0eiBkZXMKR2ViYWV1ZGVzIHZlcmJpbmRlbiBzb2xsdGUuCkJpcyBkaWVzZXIgU3dpdGNoIHJlcGFyaWVydCBvZGVyIGF1c2dldGF1c2NodCB3aXJkCmlzdCBtaXQgd2VpdGVyZW4gc29sY2hlciBTdG9lcnVuZ2VuIHp1IHJlY2huZW4uCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFnIHVuZCBQb3N0IChMb2NvLCAyNy4gU2VwIDE5OTYsIDE5OjE1OjU2KToKRWluZSBRdWVsbGUgZGVyIGdlbGVnZW50bGljaCBhdWZ0YXVjaGVuZGVuICJnZXdvZWhubGljaGVuIExhZ3MiIChpY2ggbWVpbmUKamV0enQgbmljaHQgZGllIFQqLU5ldHpoYWVuZ2VyKSBpc3QgZ2VsZWdlbnRsaWNoLCBkYXNzIExldXRlIGhpZXIgcmllc2lnZQpNYWlsZm9sZGVyIGhhbHRlbi4gV2VubiBuYWVtbGljaCBkZXIgbWFpbGZvbGRlciBncm9zcyBpc3QsIGJyYXVjaHQgZXIgYXVjaApsYW5nZSB6dW0gTGFkZW4sIGtsYXI/IFVuZCBpbiBkZXIgWmVpdCBtdWVzc2VuIGFsbGUgYW5kZXJlbiB3YXJ0ZW4uCkFsc28gTGV1dGU6CgpCaXR0ZSBzY2hhdSBtYWwgbmFjaCwgb2IgRFUgenUgZGllc2VuIExldXRlbiBtaXQgcmllc2lnZW4gbWFpbGZvbGRlcm4KZ2Vob2Vyc3QhIERpZSBHZXNhbXRncm9lc3NlIGRlcyBNYWlsZm9sZGVycyBrYW5uIG1hbiBuYWNoc2NoYXVlbjogbWl0ICdpJyBpbQpQb3N0bWVudSBiZWtvbW10IG1hbiBkaWUgTGlzdGUgZGVyIE9yZG5lciwgdW5kIGFuc2NobGllc3NlbmQgZGllIEdyb2Vzc2UgaW4KS0IuIFVuZCB3ZW5uIGRhcyB1ZWJlciAxMDAgS0IgZ2VodCwgZGFubiBpc3QgZXMgZHJpbmdlbmQgWmVpdCwgZGEgbWFsCmF1Znp1cmFldW1lbi4KCkVpbiBwYWFyIG51ZXR6bGljaGUgVGlwcyB6dW0gQXVmcmFldW1lbjoKLSBNYW4ga2FubiBiZWkgJ2QnIChNYWlsIGxvZXNjaGVuKSBhdWNoIGVpbmVuIGdhbnplbiBCZXJlaWNoIGFuZ2ViZW4gKGQgMS0xMDAKbG9lc2NodCB6LkIuIGRpZSBlcnN0ZW4gMTAwIE1haWxzKS4KLSBEYXNzZWxiZSBnZWh0IGJlaSAnZicgZnVlciBmb3J3YXJkLiBNaXQgJ2YgMTAtMzAgbWUnIGthbm4gbWFuIGFuIHNlaW5lCmVpZ2VuZSBlbWFpbGFkcmVzc2UgZWluZSBtYWlsIHNjaGlja2VuLCBkaWUgZGllIEJyaWVmZSAxMCBiaXMgMzAgZW50aGFlbHQuCgpNZXJrZTogSW4gdm9sbGdlc3RvcGZ0ZW4gUG9zdGZhZWNoZXJuIGtsZW1tZW4gZGllIEJyaWVmZS4uLgoKTW9yZ2VuZ3JhdWVuIFBvc3R2ZXJ3YWx0dW5nLCB0ZWNobmlzY2hlIEFidGVpbHVuZywKLSBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFnIHVuZCBQb3N0IChVbG8sIDI4LiBTZXAgMTk5NiwgMTE6NDE6MTApOgp+IyEgcm49TG9jbyBydD04NDM4NDQ1NTYKfiMhIHRpZD04NDM4NDQ1NTYKSWNoIG91dGUgbWljaCBqZXR6dCwgbWVpbiBtYWlsZm9sZGVyIGhhdCB1ZWJlciAyNTBLIDopClVuZCBqZXR6dCBkaWUgZ3V0ZSBOYWNocmljaHQ6IEljaCBiaW4gZmFzdCBuaWUgZGEsIHVuZCBrYW5uIGRhaGVyIG5pY2h0IGZ1ZXJzCmxhZyB2ZXJhbnR3b3J0bGljaCBzZWluIC4uLgoKVWxvLgoKUC5TLiBJY2ggbG9lc2NoIGRvY2ggbmljaHQgZGllIGdhbnplbiBLTCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGFnIHVuZCBQb3N0IChGcmV1bmQsIDI4LiBTZXAgMTk5NiwgMTg6MTQ6MDgpOgp+IyEgcm49VWxvIHJ0PTg0MzkwMzY3MAp+IyEgdGlkPTg0Mzg0NDU1NgpVTE86IEljaCBvdXRlIG1pY2ggamV0enQsIG1laW4gbWFpbGZvbGRlciBoYXQgdWViZXIgMjUwSyA6KSAgICAKCkFlaG0sIG1laW5lciBoYXQgNzYxIGtCLCB3aXJkIGRhcyBlaW4gV2V0dGJld2VyYj8gOykKU2Nob24gZ3V0LCBuaWNodCBzY2hsYWdlbiwgaWNoIGxvZXNjaGUgaWhuIGdsZWljaCBtYWwuLi4KT2J3b2hsLCBkYSBzaW5kIE1haWxzIGF1cyAiYWx0ZW4gWmVpdGVuIiBkcmluLCBzbyB6aWVtbGljaCBhbGxlLApkaWUgRXJ6bWFnaWVyIG1hbCB2ZXJzY2hpY2t0IGhhYmVuLCBhbiBhbGxlIEVyemllcy4uLgoKU29sbGVuIHdpciBhYnN0aW1tZW4sIG9iIGRpZSBnZWxvZXNjaHQgd2VyZGVuIHNvbGxlbi4uLiA6LT0pCgpFaW4gRnJldW5kIGF1cyBkZW0gZS1NYWlsLU11ZC1NdXNldW0uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhZyB1bmQgUG9zdCAoTG9jbywgMjguIFNlcCAxOTk2LCAxODoxNzoyMyk6Cn4jISBybj1GcmV1bmQgcnQ9ODQzOTI3MjQ4Cn4jISB0aWQ9ODQzODQ0NTU2CkRhcyBzY2hsYWVndCBqYSBzZWxic3QgQ2F0d2VhemxlIG51ciBub2NoIG1pdCBNdWVoZSAoNzk2IEtCKS4gVW5kIGltbWVyaGluIGlzdApkaWVzZSBBcnQgdm9uIExhZyBiZXJlaXRzIHNlaXQgbGFlbmdlcmVtIHVudGVyIGRlbSBCZWdyaWZmCiJDYXR3ZWF6bGUtTWFpbC1MYWciIGJla2FubnQgOykKCkxvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsIDI5LiBTZXAgMTk5NiwgMjE6Mzk6NTgpOgp+IyEgcm49UmFpbmRvZyBydD04NDMyODA0MTkKfiMhIHRpZD04NDMyODA0MTkKSHVodSBSYWluZG9nIQpXYWhyc2NoZWlubGljaCB0ZWlsZSBpY2ggbmljaHQgZ2VyYWRlIGFscyBFaW56aWdlciBoaWVyIERlaW5lbiBTeW50YXgtRnJ1c3QuCkVzIGR1ZXJmdGUgZWluZSB6aWVtbGljaCBuZXJ2aWdlIHVuZCB6ZWl0YXVmd2VuZGlnZSBBcmJlaXQgc2VpbiwgaGllciBmdWVyCmplZGUKYmVsaWVidGUgQXVzZHJ1Y2tzd2Vpc2UgZWluZSBWYXJpYW50ZSBlaW56dWhhY2tlbiwgYWJlciBkYXMgd3VlcmRlIGVzIHZvbQpzcGllbC0KZXJpc2NoZW4gU3RhbmRwdW5rdCBoZXIgd29obCB0YXRzYWVjaGxpY2ggYnJpbmdlbi4KQWxzIFNwaWVsZXIgaGFiZSBpY2ggbmFlbWxpY2ggZWlnZW50bGljaCBnYXIga2VpbmUgTHVzdCwgbWljaCBtaXQgZGVtIFBhcnNlcgp6dQp1bnRlcmhhbHRlbiB1bmQgYWxsZSBzZWluZSBIb2VoZW4gdW5kIFRpZWZlbiB1bmQgYmxvZWRlbiBBbnR3b3J0ZW4gKGFsc28gIldpZQpCaXR0ZSIKenUgc28gemllbWxpY2ggamVkZW0gVGhlbWEpIGtlbm5lbiB6dSBsZXJuZW4uIE1pciBwZXJzb2VubGljaCB3dWVyZGUgZXMKdm9lbGxpZyAKYXVzcmVpY2hlbiwgd2VubiBkYXMgRGluZyBtaWNoIGVpbmZhY2ggbnVyIHZlcnN0ZWh0IHVuZCBiYXN0YS4gRGVzd2VnZW4gYmluCmljaApkZXIgTWVpbnVuZywgZGFzcyBkZXIgUGFyc2VyIHdpcmtsaWNoIG51ciBNaXR0ZWwgenVtIFp3ZWNrIHVuZCBlYmVuIEtFSU4KU3BpZWxlbGVtZW50CmlzdC4gVm9uIGRhaGVyIGZhZW5kZSBpY2gncyBhdWNoIHZlcnRyZXRiYXIsIHdlbm4ncyBmdWVyIGRpZSB3aWNodGlnc3RlbgpBa3Rpb25lbgplaW5mYWNoIGdhbnogc3R1bXBmIGVpbmVuIFNhdHogU3RhbmRhcmQtVmFyaWFudGVuIGdhZWJlIChrbGV0dGVyZSBob2NoLAprbGV0dGVyZSBiYXVtLCBrbGV0dGVyZSBhdWYgYmF1bSBldGMuICkuCkVzIHdhcmVuIHNjaG9uIE1hZ2llciBzbyBmcmV1bmRsaWNoLCBkZW4gR2VnZW5zdGFlbmRlbiwgZGllIG1hbiBpbiBpaHJlbgpRdWVzdHMKZmFuZCwgZWluZSBrdXJ6ZSBTeW50YXgtQW5sZWl0dW5nIGJlaSAiVW50IiBtaXR6dWdlYmVuLCBmYWxscyBlaW5lIGJlc3RpbW10ZQpTeW50YXgKYmVub2V0aWd0IHd1ZXJkZS4gQXVjaCB3ZW5uIGRhcyB0ZWlsd2Vpc2UgZGVuIFNjaHdpZXJpZ2tlaXRzZ3JhZCB2b24gUXVlc3RzCmhlcmFiLQpzZXR6dCwgZmluZGUgaWNoIGRhcyBnZW5lcmVsbCBlcnN0IG1hbCB6aWVtbGljaCByaWNodGlnLiAKTWF0c3UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNZblRhWC1ORVJWRVJFSSAoV3VyemVsLCAyOS4gU2VwIDE5OTYsIDIxOjQ1OjA4KToKfiMhIHJuPU1hdHN1c2hpdGEgcnQ9ODQ0MDI1OTk4Cn4jISB0aWQ9ODQzMjgwNDE5CmhpLApzY2hvbiBhbiB0YXVzZW5kIHN0ZWxsZW4gaXN0IGVzIGdlc2FndCB3b3JkZW4sIGFiZXIgaGllciBub2NobWFsOgpFUyBHSUJUIEtFSU5FTiBTVEFOREFSRC1QQVJTRVIuCmRpZSBrb21tYW5kb3Mgd2VyZGVuIGltIHJlZ2VsZmFsbCBkdXJjaCBkaWUgb2JqZWt0ZSBkZWZpbmllcnQsIHVuZCBkYSBoYWJlbgptYWdpZXIgZWJlbiBpaHJlIGZyZWloZWl0ZW4sIGRpZSBzaWUgbWFuY2htYWwgc2lubnZvbGwsIG9mdCBhYmVyIGF1Y2ggbmljaHQKc29uZGVybGljaCB0b2xsIG51dHplbi4gYmVzY2h3ZXJkZW4gc29sbHRlbiBkYWhlciBhbiBkaWUgdmVyYW50d29ydGxpY2hlbgptYWdpZXIgZ2VoZW4sIGF1Y2ggdGF1c2VuZCBhcnRpa2VsIGluIGRlciB6ZWl0dW5nIGFlbmRlcm4gbmljaHRzIGRhcmFuLgp3ZW5uIG1hbiBpbSB6d2VpZmVsIGlzdCwgd2VyIGZ1ZXIgZGVuIHJhdW0gdmVyYW50d29ydGxpY2ggemVpY2huZXQsIGthbm4gei5iLgpkYXMgaG9lcnJvaHIgYXVzIGRlciBzaGFreS1xdWVzdCBiZW51dHplbi4uLiBkYXMgZnVlciBkZW4gZmFsbCwgZGFzcyBidWctIHVuZAp0eXBvLSBiencuIGlkZWUtbWVsZHVuZ2VuIG5pY2h0cyBicmluZ2VuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsIDI5LiBTZXAgMTk5NiwgMjI6MDY6MTgpOgp+IyEgcm49QmFicyBydD04NDMzNDMwOTIKfiMhIHRpZD04NDMyODA0MTkKRHUgc2NocmllYnN0LCBkYXNzIGRhcyBtaXQgZGVuIGZsZXhpYmxlbiBTeW50YXhlbiBoaWVyIG5vY2ggbmljaHQgdmVyc3VjaHQKd29yZGVuCnNlaSwgYWJlciBkYXMgc3RpbW10IGphIHdvaGwgZWNodCBuaWNodC4gRXMgZ2lidCBzb2xjaGUgdW5kIHNvbGNoZSBRdWVzdHMKLSBtYW5jaG1hbCBnaWJ0cyBkdXJjaGF1cyBnZW51ZWdlbmQgVmFyaWFudGVuICh3YXMgbWFuIHdhaHJzY2hlaW5saWNoIGluIHJlY2h0CndlbmlnZW4gRmFlbGxlbiBnYXIgbmljaHQgcmVnaXN0cmllcnQgLSB3ZWlsOiBIYXQgamEgZ2VrbGFwcHQsIHdhcyBtYW4gdHVuCndvbGx0ZSAKdW5kIGZlcnRpZykuCkF1c3NlcmRlbSBkdWVyZnRlIGVzIG1pdCAienVsYXNzZW4iIHdvaGwgbmljaHQgZ2V0YW4gc2VpbiwgbmVobWUgaWNoIGFuCihsYWV1ZnQKd29obCBhdWYgaXJnZW5kd2VsY2hlIFN5bnRheGxpc3RlbiByYXVzLCBzYWd0IGRlciBMUEMtQWhudW5nc2xvc2UpLgpNYXRzdSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNZblRhWC1ORVJWRVJFSSAoTWF0c3VzaGl0YSwgMjkuIFNlcCAxOTk2LCAyMjo0NzoxNik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODQ0MDI2MzA4Cn4jISB0aWQ9ODQzMjgwNDE5CkFlaCwgV3VyemVsLCBpY2ggZ2xhdWJlLCBpY2ggaGFiZSBuaWUgYmVoYXVwdGV0LCBkYXNzIGVzIGVpbmVuIFN0YW5kYXJkLVBhcnNlcgpnaWJ0LiBXYXMgYWxsZXJkaW5ncyBuaWNodHMgdW5kIG5pZW1hbmQgZGFyYW4gaGluZGVybiBrYW5uLCBhZWhubGljaGUKT2JqZWt0ZSBtaXQgYWVobmxpY2hlbiBTeW50YXhlbiB6dSB2ZXJzb3JnZW4uClVuZCBtYWwgaW0gRXJuc3Q6IFdhcyBzb2xsIG1hbiBkZW5uIG1hY2hlbiwgd2VubiBtYW4gbWl0IGRlbSBIb2Vycm9ociByYXVzLQpnZWtyaWVndCBoYXQsIHdlbGNoZXIgTWFnaWVyIHdpZWRlciBkaWUgSWRlZS1UZXh0ZSBuaWNodCBiZWFyYmVpdGV0PyBJaG4Kb2VmZmVudGxpY2ggYW5wcmFuZ2Vybj8KSG0sIGlyZ2VuZHdpZSBzZWhyIHVuY29vbCwgb2Rlcj8KRGVyIGdyb2Vzc3RlIEhha2VuIGJlaSBpcmdlbmR3ZWxjaGVuIFN5bnRheC1Bbm1lcmt1bmdlbiB2aWEgIklkZWUiIG9kZXIKYWVobmxpY2hlbSBpc3QgenVkZW0sIGRhc3MgaW4gY2EuIDk5ICUgZGVyIEZhZWxsZSBkZXIgTWFnaWVyIHNlbGJlcgpkcmF1ZiBoYWV0dGUga29tbWVuIGtvZW5uZW4sIHdlbm4gZXIgZGFzIEhpcm4gYmVpbSBQcm9nZ2VuIGVpbmdlLQpzY2hhbHRldCBnZWhhYnQgaGFldHRlLgpNYXRzdSoKdwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU1luVGFYLU5FUlZFUkVJIChXdXJ6ZWwsIDI5LiBTZXAgMTk5NiwgMjI6NTY6MjIpOgp+IyEgcm49TWF0c3VzaGl0YSBydD04NDQwMzAwMzYKfiMhIHRpZD04NDMyODA0MTkKc2VsYmVyIGRyYXVmIGhhZXR0ZSBrb21tZW4ga29lbm5lbiwgc3RpbW10LgphYmVyIGluIGRlciBtZWhyemFobCBkZXIgZmFlbGxlIGVpbmZhY2ggbmljaHQgd2VpdCBnZW51ZyBnZWRhY2h0IGhhdCAoaWNoCmJlemllaGUgbWljaCBkYSBhdXNkcnVlY2tsaWNoIG1pdCBlaW4gOikuCmVzIGlzdCB0ZWlsd2Vpc2UgZWluZmFjaCBzbywgZGFzcyBtZWhyIGxldXRlIGViZW4gYXVjaCBhdWYgbWVociBpZGVlbiBrb21tZW4uCmRhcyBpc3QgbmljaHQgd2VpdGVyIHVuZ2V3b2VobmxpY2guIHVuZCBpbSBpbnRlcmVzc2UgZGVyIHNwaWVsYmFya2VpdCBpc3QKamVkZSBoaWxmZSB3aWxsa29tbWVuIChqZWRlbmZhbGxzIG1pciwgdW5kIGZhc3QgYWxsZW4gYW5kZXJlbiBtYWdpZXJuIGF1Y2gpLgp3ZW5uIGFsbGVyZGluZ3MgZWluIG1hZ2llciBsYWVuZ2VyZSB6ZWl0IG5pY2h0IG9kZXIgbnVyIHNlbHRlbi9rdXJ6IGlucyBtdWQKa29tbXQva29tbWVuIGthbm4sIGhlbGZlbiBpZGVlLW1lbGR1bmdlbiBuaWNodCB2aWVsIHdlaXRlci4gYW5wcmFuZ2VybiBicmluZ3QKZGFubiBhbGxlcmRpbmdzIGdlbmF1c28gd2VuaWcuLi4gZWluZSBndXRlIGlkZWUgd2FlcmUgZXMgaW4gc29sY2hlbiBmYWVsbGVuCmplbWFuZGVuIG1pdCBzY2hyZWlicmVjaHRlbiBpbiBkZW4gZGlyZWN0b3JpZXMgYW56dW1haWxlbiwgei5iLiBtdXBmZWwsIGRlbgpjaGVmZGVidWdnZXIgdm9tIG1nLgoKd3VyemVsCgphdWEsIG5pY2h0IHNjaGxhZ2VuLCBtdXBmIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsIDI5LiBTZXAgMTk5NiwgMjM6MjA6MzQpOgp+IyEgcm49V3VyemVsIHJ0PTg0NDAzMDU4Mgp+IyEgdGlkPTg0MzI4MDQxOQpOb2UsIFd1cnplbCwgZGFzIG1pdCBkZW0gIm5pY2h0IHdlaXQgZ2VudWcgZ2VkYWNodCIgc3RpbW10IHdvaGwKc28gbmljaHQgZ2Fuei4gSWNoIGZ1ZXIgbWVpbmVuIFRlaWwgdGlwcGUgZWhlciBhdWY6ICJNYW5uLCBkYXMgbWFjaHQKYWJzb2x1dCBrZWluZSBMYXVuZSwgaGllciA1IHZlcnNjaGllZGVuZSBTeW50YXgtVmFyaWFudGVuIGVpbnp1aGFja2VuLiIKKFdhcyBpY2ggaW0gdWVicmlnZW4gZ3V0IG5hY2h2b2xsemllaGVuIGthbm4pLiAKQXVjaCBkZW5rZSBpY2gsIGRhc3MgbWFuIGFscyBNYWdpZXIgd2FocnNjaGVpbmxpY2ggcmVjaHQgc2NobmVsbCAKdmVyZ2lzc3QgKHZlcmRyYWVuZ3QgOy0pICksIHdpZSBtYW4gc2ljaCBhbHMgU3BpZWxlciBmdWVobHQsIHdlbm4KbWFuIGFuIGVpbmVyIFN0ZWxsZSBmZXN0aGFlbmd0LCBudXIgd2VpbCBlaW5lbSBkYXMgWmF1YmVyd29ydCBuaWNodAplaW5mYWVsbHQsIHdlbGNoZXMgZGVyIGhlaHJlIE1hZ2llciBpbiBzZWluZW0gU2NoYWZmZW5zcmF1c2NoZSBlcnNhbm4uCkRlciBHYWcgaXN0IGdsZWljaCAwLCBkaWUgTGF1bmUgdGVuZGllcnQgZ2VnZW4gMCwgdW5kIHdlbm4gZWluZW4gc3BhZXRlcgptYWwgamVtYW5kIG5hY2ggZGVyIFF1ZXN0IGZyYWd0LCBkYW5uIHRlbmRpZXJlbiAoMi0zIHNvbGNoZXIgRmFsbGVuIAp2b3JhdXNnZXNldHp0KSBhdWNoIGRpZSBMb2Jlc2h5bW5lbiBhdWYgamVuZW4gZWJlbnNvIGdlZ2VuIDAuCkljaCB3ZWlzcyBqYSBuaWNodCwgb2IncyBoaWVyIE1hZ2llciBnaWJ0LCBkaWUgc2NoYXJmIGRyYXVmIHNpbmQsCkhhc3MtUXVlc3RzIHp1IGVyemV1Z2VuLCBhYmVyIGRhcyBpc3QgZGVyIHNpY2hlcnN0ZSBXZWcgZGFoaW4gKHVubG8tCmdpc2NoZSBQdXp6bGVzIHVuZCBoaXJudmVyYnJhbm50ZSBMYWJ5cmludGhlIHNpbmQgYWxsZXJkaW5ncyBmYXN0CmdlbmF1c28gdHJlZmZzaWNoZXIpLiBFcyBnaWJ0IGRlbSBTcGllbCB6aWVtbGljaCB3ZW5pZywgd2VubiBkaWUKU3ludGF4ZW4gZ3V0IHNpbmQsIGFiZXIgZXMgbmltbXQgaWhtIGRlbiBhbGxlcmxldHp0ZW4gUmVzdCBTcGFzcywgd2VubgpzaWUgc2NobGVjaHQgc2luZC4gRGFoZXIgZGVua2UgaWNoLCBkYXNzIGRpZXNlcyBQcm9ibGVtIGhpZXIgd2lya2xpY2gKbmljaHQgZGVuIFN0ZWxsZW53ZXJ0IGdlbmllc3N0LCBkZXIgaWhtIHp1c3R1ZW5kZS4KTWF0c3UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTWW5UYVgtTkVSVkVSRUkgKEhhZHJhLCAzMC4gU2VwIDE5OTYsIDAwOjQyOjMxKToKfiMhIHJuPU1hdHN1c2hpdGEgcnQ9ODQ0MDMyMDM0Cn4jISB0aWQ9ODQzMjgwNDE5Cm9rLCBpY2ggc2VuZiBqZXR6dCBlaW5mYWNoIG1hbCB3aWVkZXIgbWl0OgoKcmljaHRpZyBpc3QsIGRhc3MgZGFzIHJ1bXN1Y2hlbiBuYWNoIGRlciByaWNodGlnZW4gc3ludGF4IHppZW1saWNoIG5lcnZlbmQKc2VpbiBrYW5uIHVuZCBzbyBhbiBzdGVsbGVuIHp1IGZydXN0IGZ1ZWhydCBkZXIgbmljaHQgc2VpbiBtdXNzLgoKaWNoIHd1ZXJkZSBhYmVyIG5pY2h0IHNvIHdlaXQgZ2VoZW4sIGRlbiBtYWdpZXJuIGRhIGVpbmZhY2ggZmF1bGhlaXQgenUKdW50ZXJzdGVsbGVuLCBkZW5uIHdlbm4gc2llIHdpcmtsaWNoIHNvIGZhdWwgd2FlcmVuLCB3dWVyZGVuIHNpZSBnYXIgbmljaHQKZXJzdCB3YXMgYW5zY2hsaWVzc2VuLgppY2gga2FubiB3dXJ6ZWwgZGEgZ3V0IHZlcnN0ZWhlbiAoYXVhIG1pdHNwaWVsZXIgbmljaHQgenUgZmVzdGUgaGF1ZW4pLCB3ZW5uCmVyIHNhZ3QsIGRhc3MgZWluZW0gYXVjaCBiZWltIHByb2dnZW4gbmljaHQgaW1tZXIgYWxsZSBtb2VnbGljaGVuIHZhcmlhbnRlbgplaW5mYWxsZW4gKGtvZW5uZW4pIHVuZCBtZWhyIGxldXRlIGF1Y2ggZWluZmFjaCBtZWhyIHNlaGVuLgpqZWRlciB2b24gdW5zIGhhdCBlaW4gZXR3YXMgYW5kZXJlcyBzcHJhY2hnZWZ1ZWhsIHVuZCBlaW5lIGVpbnNjaGFldHp1bmcgdWViZXIKZGFzIHdhcyByaWNodGlnL3Npbm52b2xsIGlzdCwgd2VubiBkZW0gbmljaHQgc28gd2FlcmUsIGhhZXR0ZW4gd2lyIGphIGF1Y2gKYWxsZSBkZW4gZ2xlaWNoZW4gc2NocmVpYnN0aWwuCgplcyBnaWJ0IGF1Y2ggdGF0c2FlY2hsaWNoIG1hZ2llciwgZGllIGFiZ2VzZXR6dGVuIGlkZWVuIGlyZ2VuZHdhbm4gYWJhcmJlaXRlbgooamVkZW5mYWxscyBoYWIgaWNoIHZvbiBqZW1hbmRlbiBnZWhvZXJ0LCBkYXNzIGRlc3NlbiBrdXNpbmUsIGplbWFuZGVuIGtlbm50LApkZXIgc2Nob24gbWFsIHZvbiBzbyB3YXMgZ2Vob2VydCBoYXQpLiBkYXMgbnVldHp0IGRpciBpbiBkZXIga29ua3JldGVuCnNpdHVhdGlvbiB6d2FyIGxlaWRlciByZWNodCB3ZW5pZywgYWJlciB6dWt1ZW5mdGlnZSBnZW5lcmF0aW9uZW4gdm9uIG11ZGRlcm4Kd2VyZGVuIGVzIGRpciAodW5iZWthbm50ZXJ3ZWlzZSkgZGFua2VuLgoKaGFkcmEgZ2VodCBkYXMga2xlaW5nZWxkIGF1cyAoZGFzIGdyb3NzZSBlaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1ZyBpbiBkZXIgU2VlbGU/IChUYXRqYW5hLCAzMC4gU2VwIDE5OTYsIDAyOjAxOjUwKToKSGFsbG8gTWFnaWVyIHVuZCB3ZXIgc29uc3Qgbm9jaCBkYSBCZXNjaGVpZCB3ZWlzcywKaWNoIGhhYiBkYSBlaW4gUHJvYmxlbSwgdm9uIGRlbSBpY2ggbmljaHQgd2Vpc3Mgb2IgZXMgZWluIEJ1ZyBpc3Qgb2RlciB3b3JhbgplcyBzb25zdCBsaWVnZW4ga2Fubi4gWnVtIGVyc3RlbiBNYWwgaGllciBlaW5nZWxvZ2d0IHdhciBpY2ggMTk5NCwgd2FubiBnZW5hdQp3ZWlzcyBpY2ggbmljaHQgbWVoci4gWnVnZWdlYmVuZXJtYXNzZW4gaGFiIGljaCBuaWNodCBhbGx6dXZpZWwgaGllcgpnZW1hY2h0IGluIGRlciBad2lzY2hlbnplaXQsIGFiZXIgZGEgaWNoIG51biBtYWwgYWt0aXZlciB3ZXJkZW4gd29sbHRlLCBoYWJlCmljaCBtaXIgbWFsIGRpZSBMaXN0ZSBkZXIgUXVlc3RzIGluIGRlciBHaWxkZSBhbmdlc2NoYXV0IHVuZCBkYWJlaSBpc3QgbWlyIHdhcwptZXJrd3VlcmRpZ2VzIGF1ZmdlZmFsbGVuOiBJY2ggYnJhdWNoZSBsYXV0IGRpZXNlciBMaXN0ZSwgZ2VuYXVzb3ZpZWwgQVAsCnVtIHNlaGVyIHp1IHdlcmRlbiwgd2llIGplbWFuZCwgZGVyIHNpY2ggaGV1dGUgbmV1IGVpbmdlbG9nZ3QgaGF0LiBJY2ggd2Vpc3MgCnp3YXIgbmljaHQsIHdpZXZpZWwgcXVlc3RlbiBpbiBkZXIgWndpc2NoZW56ZWl0IG5ldSBhbmdlc2NobG9zc2VuIHd1cmRlbiwgYWJlcgppY2ggd3VlcmRlIGRvY2ggbWFsIHNhZ2VuLCBkYXNzIG1pciBub3JtYWxlcndlaXNlIG1pdCBHZWJ1cnRzZGF0dW0gOTQgc28gbmUgClphaGwgendpc2NoZW4gMTIwMCB1bmQgMTUwMCByZWljaGVuIG11ZXNzdGUgdW5kIGtlaW5lIDE2NTIsIHdpZSBnZXNhZ3QsIGV4YWN0CmRpZXNlbGJlIFphaGwgd2llIGVpbiBnYW56IG5ldWVyLiBXYXMgaXN0IGRhIHNjaGllZiBnZWxhdWZlbj8KZWluZSBldHdhcyByYXRsb3NlIFRhdGphbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNZblRhWC1ORVJWRVJFSSAoU2lsdmFuYSwgMzAuIFNlcCAxOTk2LCAxMDozOToxNyk6Cn4jISBybj1NYXRzdXNoaXRhIHJ0PTg0NDAyNzU3OAp+IyEgdGlkPTg0MzI4MDQxOQpJY2ggZXJpbm5lcmUgaW4gZGllc2VtIFp1c2FtbWVuaGFuZyBlaW5tYWwgYW4gZWluZW4gU3RyZWl0IHp3aXNjaGVuIFJhZmZpCnVuZCBtaXIsIGJlenVlZ2xpY2ggZWluZXIgUGFsbWUgdW5kIGRlbiBOdWVzc2VuLCBkaWUgbWFuIGRvcnQgcGZsdWVja2VuCmthbm4uIEljaCBoYXR0ZSAxMjUgdmVyc2NoaWVkZW5lIFN5bnRheC1Nb2VnbGljaGtlaXRlbiBlaW5nZWJhdXQsIG1pdApkZXIgbWFuIGRpZSBOdWVzc2UgcGZsdWVja2VuIGtvbm50ZSAtIHVuZCBSYWZmaSBoYXQgaW4gM2ggQXJiZWl0IG5vY2ggCnVlYmVyIDEwMCB3ZWl0ZXJlIE1vZWdsaWNoa2VpdGVuIGdlZnVuZGVuLCBvaG5lIGVpbmUgZGVyIHZvcmdlc2VoZW5lbgoxMjUgenUgZmluZGVuLiBXZW5uIG1hbiBkYXMgYWxsZXMgZWluYmF1ZW4gd2lsbCwgd2lyZCBiYWxkIGVpbiBlaW5mYWNoZXIKQXVzZ2FuZyBtZWhyZXJlIEtCeXRlIGdyb3NzLCB3ZWlsIGplIGplbWFuZCBhdWYgZGllIElkZWUga29tbWVuIGtvZW5udGUsIAplcyBtaXQgJ2dlaGUgKG5hY2gpIG5vcmRlbicgJ3dhbmRlcihlKSAobmFjaCkgbm9yZGVuJyBldGMgenUgdmVyc3VjaGVuLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTWW5UYVgtTkVSVkVSRUkgKFJhZmZpLCAzMC4gU2VwIDE5OTYsIDE3OjE3OjI4KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODQ0MDcyNzU3Cn4jISB0aWQ9ODQzMjgwNDE5Ck51biwgZGEgbWljaCBTaWx2YW5hIGlucyBTcGllbGdlYnJhY2h0IGhhdCAoKmdyaW5zKikgbXVzcyBpY2ggbmF0dWVybGljaAphdWNoLCBtZWluZW4gU2VtcGYgZGF6dWdlYmVuOgoKV2FzIFNpbHZhbmEgYW5mdWVocnQgaGF0IGdlbmF1c28gc2VpbmUgQmVkZXV0dW5nIHdpZSBkaWUgQW5kZXJlIFNlaXRlLgpOYXR1ZXJsaWNoIGlzdCBlcyBzY2h3aWVyaWcgYW4gamVkZXIgU3RlbGxlIGplZGUgbnVyIGRlbmtiYXJlIFN1ZW5kaGF4CmVpbnp1YmF1ZW4uIFNjaG9uIGFsbGVpbmUgZGEgamVkZXIgZWluIGFuZGVyZXMgU3ByYWNodmVyc3RhZW5kbmlzcyBoYXQuCgpFcyBpc3QgbnVubWFsIG5pY2h0IGVpbmZhY2ggZWluZSAnd2VpY2hlJyBTeW50YXggenUgYmF1ZW4sIHVuZCBkZXIKaWYoIWFyZyB8fCBhcmcgIT0gImF1ZiBkZW4gQmF1bSIpIHJldHVybiAwOyB0dXQgZXJzdG1hbCBzZWluZSBXaXJrdW5nCnVuZCBibGVpYnQgbGVpZGVyIG51ciB6dSBvZnQgZG9ydC4gVW0gYWJlciBhdWNoIG51ciBlaW5lIGVpbmZhY2hlClN5bnRheCB3aWUgdW0gZWluZW4gU2NobGVpZXIgdW16dWJpbmRlbiAoIGJpbmRlIDxzcGllbGVyPiBbZGVuXSA8b2JqZWt0Pgp1bXxhbiBbZGVuXSBhcm0gKSBlaW5nZXJtYXNzZW4gdG9sbGVyYW50IHp1IG1hY2hlbiBlbnRzdGVoZW4gc2NobGVsbCAyMAp1bmQgbWVociBQcm9ncmFtbXplaWxlbiBDb2RlIChhdWNoIDxvYmpla3Q+IGthbm4gc2VsYnN0IHdpZWRlciB2YXJpYWJlbApzZWluIGRhZGVyIFNwaWVsZXIga2FubiBqYSBtZWhyZXJlIFNjaGxlaWVyIGhhYmVuIHVuZCBmdWVyIFNjaGxlaWVyCmdpYnQgZXMgd2llZGVydW0gU3lub255bWUpLiBEYXMgZ2FuemUgd2FlY2hzdCBnbGVpY2ggbm9jaG1hbCB1bSA1LTEwClplaWxlbiB3ZW5uIGF1Y2ggbm9jaCBlaW5lIFZlcnRhdXNjaHVuZ3VtIHZvbiA8b2JqZWt0PiB1bmQgPHNwaWVsZXI+Cm1vZWdsaWNoIHNlaW4gc29sbC4KCkxhbmdlIFJlZGUga3VyemVyIFNpbm46IGVpbmUgRWluZ2FiZXplcmxlZ3VuZyBkaWUgamVkZW0gZ2VyZWNodCB3aXJkCmlzdCBrYXVtIG1vZWdsaWNoLCB3YXMgYWJlciBuaWNodCBoZWlzc2VuIHNvbGwgZGFzIG1hbiBlcyBuaWNodAp2ZXJzdWNoZW4ga2Fubi4gTklFREVSIE1JVCBERU4gU0lNUEVMQUJGUkFHRU4hCgpHcnVzcwpILgoKUC5TLjogSWNoIGVyaW5uZXJlIG1pY2ggYW4gZWluZSBsZWJoYWZ0ZSBEaXNrdXNpb24sIG5pY2h0IHVuYmVkaW5ndAogICAgICBlaW5lbiBTdHJlaXQsIFNJbHZhbmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTWW5UYVgtTkVSVkVSRUkgKFJvY2h1cywgMzAuIFNlcCAxOTk2LCAxNzozMDozOSk6Cn4jISBybj1SYWZmaSBydD04NDQwOTY2NDgKfiMhIHRpZD04NDMyODA0MTkKSWNoIGVtcGZlaGxlICdtYW4gcmVnZXhwJy4KWi5CLiBpZiAoIWFyZyB8fCAhc2l6ZW9mKHJlZ2V4cCgoe2FyZ30pLAogICAgICAgICIoXFw8YXVmXFw+LipcXDxiYXVtXFw+fFxcPGJhdW1cXD4uKlxcPGhvY2hcXD4pIikpKQogICAgICByZXR1cm4gMDsKaXN0IGZ1ZXIgUmFmZmkncyBCZWlzcGllbCBzY2hvbiBtYWwgcmVjaHQgZ3V0Li4uClNvIGV0d2FzIGxhZXNzdCB6d2FyIGF1Y2ggbmljaHQgZ2FueiBzbyByaWNodGlnZSBvZGVyCmdhciB3aWRlcnNpbm5pZ2UgU2FldHplICgia2xldHRlciBuaWNodCBhdWYgYmF1bSIgLT4KIkR1IGtsZXR0ZXJzdCBhdWYgZGVuIEJhdW0uIikgenUsIGFiZXIgbWFuIGthbm4KYmVzc2VyIGVpbiB3ZW5pZyB6dXZpZWwgenVsYXNzZW4gYWxzIHp1d2VuaWcsCndlbm4gbnVyIGFuIGRlbiB2b3JoYW5kZW5lbiBXb2VydGVybiBlcmtlbm5iYXIgaXN0LApkYXNzIGRlciBTcGllbGVyIGRhcyByaWNodGlnZSBtZWludC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU1luVGFYLU5FUlZFUkVJIChSYWZmaSwgMzAuIFNlcCAxOTk2LCAxOToyMzo1Nyk6Cn4jISBybj1Sb2NodXMgcnQ9ODQ0MDk3NDM5Cn4jISB0aWQ9ODQzMjgwNDE5CgpKbyBSb2NodXMsIGdlbmF1IGRhcyB3b2xsdGUgaWNoIGRhbWl0IGFucmVnZW4uCihBdWNoIHdlbm4gaWNoIG5pY2h0IHVuYmVkaW5ndCBnbGVpY2ggbWl0IHJlZ2V4cCgpIHp1Z2VzY2hsYWdlbiBoYWV0dGUgOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTWW5UYVgtTkVSVkVSRUkgKFJvY2h1cywgMzAuIFNlcCAxOTk2LCAxOTozMzo0NSk6Cn4jISBybj1SYWZmaSBydD04NDQxMDQyMzcKfiMhIHRpZD04NDMyODA0MTkKV2llc28gbmljaHQ/IFJlZ2V4cCBlcmxhdWJ0IGVzIGVpbmVtLCBzZWhyIHZpZWxlIE1vZWdsaWNoa2VpdGVuCmluIGVpbmVyIGVpbnppZ2VuIFplaWxlIHp1IHBydWVmZW4gKHZvciBhbGxlbSB3ZW5uIG1hbiBtaXQKS2xhbW1lcm4gdW5kICd8JyByaWNodGlnIHVtZ2VoZW4ga2FubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1luVGFYLU5FUlZFUkVJIChNdXBmZWwsIDMwLiBTZXAgMTk5NiwgMjA6MDY6MDcpOgp+IyEgcm49V3VyemVsIHJ0PTg0NDAyNjMwOAp+IyEgdGlkPTg0MzI4MDQxOQoKRXMgZ2lidCBzZWhyIHdvaGwgZWluZW4gU3RhbmRhcmQtUGFyc2VyLiBOdXIgaXN0IGVyIGhhbHQgc2VociBydWRpbWVudGFlcgood2FuZGVsdCBHUk9TUyBpbiBrbGVpbiBpbiBkZXIgRWluZ2FiZXplaWxlIHVuZCBhZWhubGljaGUgZWluZmFjaGUgU2FjaGVuKS4gCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU1luVGFYLU5FUlZFUkVJIChTaXF1ZSwgIDEuIE9rdCAxOTk2LCAwMDo1ODo1MSk6Cn4jISBybj1NYXRzdXNoaXRhIHJ0PTg0NDAzMDAzNgp+IyEgdGlkPTg0MzI4MDQxOQpEdSB3YXJzdCBub2NoIG5pZSBNYWdpZXIsIG9kZXI/CkljaCBiaW4gaW1tZXIgd2llZGVyIGVyc3RhdW50LCBXQVMgZGllIExldXRlIGFsbGVzIHByb2JpZXJlbi4gRGEgd2FlciBpY2gKbmllIGRyYXVmZ2Vrb21tZW4hCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lxdWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNZblRhWC1ORVJWRVJFSSAoQmFicywgIDEuIE9rdCAxOTk2LCAwMTo0MDo0NSk6Cn4jISBybj1NYXRzdXNoaXRhIHJ0PTg0NDAzMjAzNAp+IyEgdGlkPTg0MzI4MDQxOQpBbHNvLCBNYXRzdSpzIEFydGlrZWwgd2FyZW4gQmFsc2FtIGZldXIgbWVpbmUgU2VlbGUuCkljaCBoYWIgc2Nob24gYmVmdWVyY2h0ZXQsIGlyZ2VuZHdpZSBzZWVsaXNjaCBhYmFydGlnIHp1IHNlaW4sIG9kZXIgamVkZW5mYWxscwptdWR1bmdlZWlnbmV0LCB3ZWlsIGljaCBudW5tYWwgUXVhbHN5bnRheGVuLCBld2lnZSBMYWJ5cmludGhlIHVuZCB1bmxvZ2lzY2hlClB1enpsZXMgZWluZmFjaCBuaWNodCBhdXNzdGVoZW4ga2Fubi4gOy0pKQoKWnUgSGFkcmE6IEljaCBoYXR0ZSB3aXJrbGljaCBuaWNodCB2b3IsIGRpZSBMZWlzdHVuZ2VuIGRlciBlaW56ZWxuZW4KTWFnZ2lzIHp1IHNjaG1hZWxlcm4gb2RlcnIgbGV0emVyZSBnYXIsIHdpZSBXdXJ6ZWwgbWVpbnRlLCBhbnp1cHJhbmdlcm4uCkljaCB3b2xsdGUgamEgbnVyIGRlemVudCB2b3JzY2hsYWdlbiwgdmllbGxlaWNodCBtYWwgZWluZSBmbGV4aWJsZXJlClN5bnRheCBzY2hvbiBpbiBBZGRDbWQgenV6dWxhc3Nlbiwgd2llIGRhcyBpbiAqaHVlc3RlbCogZWluaWdlbgpNRy1rb21wYXRpYmxlbiBNVURzIHNjaG9uIG1vZWdsaWNoIGlzdC4KR2VyYWRlIGluIFF1ZXN0cyBrb21tdCBlcyBqYSBpbWVtciB3aWVkZXIgbWFsIHp1IGtvbXBsZXhlcmVuIFNpdHVhdGlvbmVuLAp3byBkYW5uIGRlciBTcGllbGVyIHNvd2FzIHdpZQoicml0emUgbWl0IGRlbSBNZXNzZXIgZWluIEhlcnpjaGVuIGluIGRpZSBSaW5kZSBkZXIgRWljaGUiCihhYnNpY2h0bGljaCBmaWt0aXZlcyBFeHRyZW1iZWlzcGllbCEpIHRpcHBlbiBzb2xsLgpMYWVzc3QgbWFuIGhpZXIgbm9jaCBqZXdlaWxzIFN5bm9ueW1lIHp1LCBrb21tdCBtYW4gZ2FueiBzY2huZWxsIGF1ZgptZWhyZXJlIGh1bmRlcnQgTW9lZ2xpY2hrZWl0ZW4uLi4gaG9mZm51bmdzbG9zLgptaXQgQWRkQ21kKCJyaXR6ZXxzY2huaXR6ZXxzY2huZWlkZSAmIG1lc3NlcnxzY2huaXR6bWVzc2VyfG9ya21lc3NlcnxrbGluZ2V8CiAgICAgICAgICAgIG1lc3NlcmtsaW5nZSAmIGhlcnp8aGVyemNoZW58YW1vcnN5bWJvbHxsaWViZXNzeW1ib2x8bGllYmVzaGVyegogICAgICAgICAgICAmIGJhdW18cmluZGV8YmF1bXJpbmRlfGVpY2hlfGVpY2hlbnJpbmRlIiwic2Nobml0el9oZXJ6IikKd29iZWkgamV3ZWlscyBlaW4gZWxlbWVudCBhdXMgamVkZXIgU3lub255bWdydXBwZSBlcmZvcmRlcmxpY2ggaXN0LCBrYW5uCmF1Y2ggZWluIER1cmNoc2Nobml0dHNtYWdnaSBkYXMgUHJvYmxlbSB0cm90emRlbSBrb21wbGV0dCBhYmRlY2tlbi4KTmF0dWVybGljaCBrYW5uZSBlcyBpbW1lciBub2NoIHNlaW4sIGRhc3MgZGVtIFNwaWVsZXIgTk9DSCBhbmRlcmUKU3lub255bWUgZWluZmFsbGVuLCBhYmVyIGRpZSBUcmVmZmVybW9lZ2xpY2hrZWl0ZW4gZXJob2VoZW4gc2ljaCBkb2NoCmdld2FsdGlnLgpEaWUgUm9jaHVzLU1ldGhvZGUsIG1pdCBkZW0gUmVnZXhwLUhhbW1lciB6dXp1c2NobGFnZW4gaXN0IHZpZWxsZWljaHQgYXVjaAplaW4gU2Nocml0dCBpbiBkaWUgcmljaHRpZ2UgUmljaHR1bmcsIGFiZXIgZXJzdGVucyB0aWVyaXNjaCBrbyxtcGxpemllcnQKZnVlciBlaW5lbiBub3JtYWxkdW1tZW4gTWVuc2NoZW4sIHVuZCB6d2VpdGVucyBibGVpYnQsIHdpZSBSYWZmaSBzY2hvbgpnYW56IHJpY2h0aWcgYmVtZXJrdCBoYXQsIGltZW1yIG5vY2ggZGFzIFByb2JsZW0gZGVyIHZpZWxlbgpQZXJtdXRhdGlvbnNtb2VnbGljaGtlaXRlbiBmdWVyIGRpZSBFbGVtZW50ZS4KClp1IEhhdGU6ICJNaW5kZXN0ZW5zIDYwJSBkZXJyIEJ1Z3MiIHNpbmQgYWxzbyBhdWYgIlVudmVyc3RhZW5kbmlzIgptZWluZXJzZWl0cyB6dXJ1ZWNrenVmdWVocmVuLiA6KApBbHNvLCBkYXMgd2lsbCBpY2ggZGFubiBzY2hvbiBpbSBEZXRhaWwgd2lzc2VuISBJY2ggaGFzc2UgZXMgbmFlbWxpY2gKYXVjaCwgd2VubiBtYW4gRXJ6aXMgYWxsZXMgYXVzIGRlciBOYXNlIHppZWhlbiBtdXNzLiA7LSkKV2VubiBpY2ggZWluZmFjaCB6dSBibG9uZCB6dW0gU3BpZWxlbiBiaW4sIG1vZWNodGUgaWNoIHdlbmlnc3RlbnMgYWxzCmxlaHJyZWljaGVzIEJlaXNwaWVsIG51ZXR6bGljaCBzZWluLiBOb3RmYWxscyBhbHMgYWJzY2hyZWNrZW5kZXMuCklzIG1pciBkYW5uIGF1Y2ggc2Nob24gZWdhbC4gOy1QCkFiZXIgZXMga29lbm50ZSBqYSBpbW1yZWhpbiBzZWluLCBkYXMgYW5kZXIgQmxvbmRpbmVuIGFlaG5saWNoZQpQcm9ibGVtZSBoYWJlbiB3aWUgaWNoLgoKR2FueiBhbGxnZW1laW4gc29sbHRlbiBNYWdnaWVzIGVuZGxpY2ggbWFsIGxlcm5lbiwgQnVnbWVsZHVuZ2VuIGFscwprb25zdHJ1a3RpdmUgTWl0YXJiZWl0IGF1Znp1ZmFzc2VuLCB1bmQgbmljaHQgYWxzIHBlcnNvZW5saWNoZSAKQmVsZWlkaWd1bmcgYXVmenVmYXNzZW4gLSBvZGVyIGdsZWljaCBuYWNoIFphcmVuYXJ0IGRlbiBVZWJlcmJyaW5nZXIKc2NobGVjaHRlciBOYWNocmljaHRlbiBrb2VwZmVuIHp1IGxhc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNZblRhWC1ORVJWRVJFSSAoUmFmZmksICAxLiBPa3QgMTk5NiwgMDk6MDc6NTcpOgp+IyEgcm49QmFicyBydD04NDQxMjY4NDUKfiMhIHRpZD04NDMyODA0MTkKCkljaCB3ZWlzcyBub2NodCAtIGVpbmUgRGVyYXJ0aWdlIEVyd2VpdGVydW5nIGZ1ZWhydCBkb2NoIG51ciBub2NoIG1laHIgenUKS3JhdXQgJiBSdWViZW4gc3ludGF4ZW4uIEVpZ2VudGxpY2ggd2FlcmUgZXMgZGFubiBiZXNzZXIgZ2xlaWNoIGRpZSB2ZXJ3ZW5kdW5nCnZlcnNjaGllZGVuZW5yIFdvcnRlIHp1IHVudGVybGFzc2VuIHVuZCBudXJub2NoIGRhcyBWZXJiICdtYWNobWFsJyB6dQpkZWZpbmllcmVuIC0gZGFzIGlzdCBkYW5uIGdlbmF1c29ndXQsIHVuZCBub2NoIGxlaWNodGVyIHp1IG1lcmtlbi4KPG1hY2htYWwgYmF1bT4gcmVpY2h0IGRhbm4gdW0gZGVpbiBoZXJ6Y2hlbiB6dSBzY2huaXR6ZW4gOikKCkljaCBkZW5rZSBkb2NoIGRhcyBtYW4gdmVyc3VjaGVuIHNvbGx0ZSBTSU5OVk9MTEUgQW53ZWlzdW5nZW4vU2FldHplLy4uLiB6dQplcmtlbm5lbiB1bmQgbmljaHQgYWxsZXMgYmlzIHp1ciB1bmxlc2JhcmtlaXR0IHVuZCB1bnZlcnN0YWVuZGxpY2hrZWl0IHp1CnZlcmVpbmZhY2hlbi4gRXMgc29sbCBkdXJjaGF1cyB2b3Jrb21tZW4gZGFzIGRpZSBTcGllbGVyIGF1ZiBlaW5lIHZlcm1laW50bGljaAplaW5mYWNoZSBMb2VzdW5nIGdhcm5pY2h0IGtvbW1lbiwgIGRhIHNpZSBpbiBkZW0gbW9tZW50IGVpbiBnYW56IGFuZGVyZXMKVmVyc3RhZW5kbmlzcyB2b24gJ2FuZ2VtZXNzZW4nIGhhYmVuIGFscyBkZXIgUHJvZ3JhbW1pZXJlci4KCkdydXNzCkguCgooQWVoIFJvY2h1czogaXJnZW5kd2VyIGhhdCBtaXIgbWFsIGVyemFlaGx0IGRhcyBSZWdleHAoKSB6dSBkZW4gd2FocmVuCkxhZ21vbnN0ZXJuIHphZWhsdC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTWW5UYVgtTkVSVkVSRUkgKE5pcmRhdm8sICAxLiBPa3QgMTk5NiwgMDk6MzU6MzkpOgp+IyEgcm49UmFmZmkgcnQ9ODQ0MTUzNjc3Cn4jISB0aWQ9ODQzMjgwNDE5CiAgSWNoIHdlaXNzIG5pY2h0LCB3YXMgRHUgZ2VnZW4gQmFicycgVm9yc2NobGFnIGhhc3QuIEVzIHd1ZXJkZSBuaWNodCBudXIKZnVlciBkaWUgUHJvZ3JhbW1pZXJlciBlaW5pZ2VzIHZlcmVpbmZhY2hlbiwgYXVzc2VyZGVtIGthbm4gbWFuIGltbWVyIG5vY2ggZGllCnZvbiBEaXIgZXJ3YWVobnRlbiBlaW5kZXV0aWdlbiBTeW50YXhlbiByZWFsaXNpZXJlbi4gRXMgaGluZGVydCBEaWNoIGphCm5pZW1hbmQgZGFyYW4sIGRpZSBBcmd1bWVudGxpc3RlIGt1cnogenUgaGFsdGVuLgogIEljaCBoYXR0ZSB2b3IgVXJ6ZWl0ZW4gZWlubWFsIGVpbmVuIGVpZ2VuZW4gUGFyc2VyIChpbiBCYXNpYykgZ2VzY2hyaWViZW4sCnVuZCBpY2ggYmluIGRhbm4gYXVmIGVpbmUgcmVjaHQgYWVobmxpY2hlIE1ldGhvZGUgZ2Vrb21tZW4sIE1laHJmYWNoc3ludGF4ZW4KenUgcmVhbGlzaWVyZW4uIERpZSB2b24gQmFicyB2b3JnZXNjaGxhZ2VuZSBNZXRob2RlIGlzdCBJTUhPIGRhcyBCZXN0ZSwgd2FzCm1hY24gbWFjaGVuIGthbm4uCgogICAgICAgICAgICAgIE5pcmRhdm8sIGF1Y2ggZWluIHZpZXJ0ZWwgUGZ1bmQgU2VuZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNZblRhWC1ORVJWRVJFSSAoSGF0ZSwgIDEuIE9rdCAxOTk2LCAxMzoxNDo0OSk6Cn4jISBybj1CYWJzIHJ0PTg0NDEyNjg0NQp+IyEgdGlkPTg0MzI4MDQxOQpJY2ggbXVzcyBtaWNoIGVyc3QgbWFsIGltIERldGFpbCBtaXQgZGVtIGdhbnplbiBLcmFtIGJlZmFzc2VuLiBEYXp1IGhhYmUgaWNoCm51bm1hbCBhbHMgTmljaHRzdHVkZW50IHdlbmlnIFplaXQuIERhcyBpc3QgaW0gUHJpbnppcCBhdWNoIGVpbiB3aWNodGlnZXIgClB1bmt0LCBkZW4gU3BpZWxlciBzY2hlaW5iYXIgbmllIHZlcnN0ZWhlbiB3ZXJkZW4sIGplZGVuZmFsbHMgZWluaWdlLgpEaWUgTWFnaWVyIGhpZXIgc2luZCBuaWNodCBhdWYgZWluZXIgcHJvZmVzc2lvbmVsbGVuIEJhc2lzIFByb2dyYW1taWVyZXIKZnVlcnMgTVVELiBEYXMgaGVpc3N0LCBlcyBrYW5uIG5pZW1hbmQgaGVya29tbWVuIHVuZCBGb3JkZXJ1bmdlbiBzdGVsbGVuLgpEaWUgbWVpc3RlbiBiZW11ZWhlbiBzaWNoIGRhcyBiZXN0ZSB6dSBtYWNoZW4uIEFiZXIgZWJlbiBtaXQgZGVuIE1vZWdsaWNoLQprZWl0ZW4sIGRpZSBiZXN0ZWhlbi4gVS5hLiBmYW5nZW4gZWJlbiB2aWVsZSBlcnN0IGFuIHp1IHByb2dyYW1taWVyZW4gdW5kCmhhYmVuIGViZW4gd2VuaWdlciBNb2VnbGljaGtlaXRlbiBkYW1pdC4KV2FzIGRpZSBrb25zdHJ1a3RpdmUgTWl0YXJiZWl0IGFuZ2VodC4gRXMgd3VyZGUgamEgc2Nob24gbWVocmZhY2ggZGFyYXVmCnZlcndpZXNlbiwgZGFzcyBlaW56ZWxuZSBCZXJlaWNoZSBhdWNoIGlocmUgWnVzdGFlbmRpZ2tlaXRlbiBoYWJlbi4gQWxzbwpzb2xsdGUgbWFuIHNpY2ggYmVpIFN5bnRheHByb2JsZW1lbiB1bmQgQnVncyBhbiBkZW4genVzdGFlbmRpZ2VuIE1hZ2llcgp3ZW5kZW4uIExlaWRlciB3aXJkIGFiZXIgb2Z0IGVyc3QgZGllIFplaXR1bmcgdm9sbGdlbXVlbGx0IG1pdCBhbGxnZW1laW5lbgpCZXNjaHVsZGlndW5nZW4gdW5kIHZvciBhbGxlbSBrb21pc2NoZW4gTWVsZHVuZ2VuIHVlYmVyIEJ1Z3MgdW5kIFN5bnRheC0KcHJvYmxlbWUsIHZvbiBkZW5lbiBkaWUgbWVpc3RlbiBNYWdpZXIgbmljaHQgbWFsIHdpc3Nlbiwgd29ydW0gZXMgc2ljaAp1ZWJlcmhhdXB0IGhhbmRlbHQuIERhcyBpc3QgaW4gZXR3YSBzbywgYWxzIG9iIGljaCBpbW1lciBzb2ZvcnQgenVtIEFyY2hpLQp0ZWt0ZW4gcmVubmUsIHdlaWwgZWluIFN0ZWluIGluIGVpbmVyIE1hdWVyIGV0d2FzIHNjaGllZiBzaXR6dC4gRGVyIGhhdCBkYW1pdApoZXJ6bGljaCB3ZW5pZyB6dSB0dW4gdW5kIHdpcmQgZXMgYXVjaCBudXIgYW4gZGVuIEJhdWxlaXRlciB3ZWl0ZXJnZWJlbi4KZmF6aXQ6ICJEYXMgaXN0IG1pdCBLYW5vbmVuIGF1ZiBTcGF0emVuIGdlc2Nob3NzZW4iCkhhdGUuClAuUy46IERhcyBtaXQgZGVuIDYwJSB3aXJkIGF1Y2ggbm9jaCBuZSB3ZWlsZSBkYXVlcm4uIEltIE1PbWVudCBpc3QgbWVpbgpaZWl0cmFobWVuIGZ1ZXJzIE1VRCBtaW5pbWFsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNZblRhWC1ORVJWRVJFSSAoQmxvb2R5aGFycnksICAxLiBPa3QgMTk5NiwgMTQ6MDI6MjUpOgp+IyEgcm49QmFicyBydD04NDQxMjY4NDUKfiMhIHRpZD04NDMyODA0MTkKVGphLCBCYWJzIQpEZXIgVG9uIG1hY2h0IGRpZSBNdXNpay4gV2VubiBzaWNoIGVpbiBNYWdpZXIgdGF0c2FlY2hsaWNoIHZvbiBkaXIgYmVsZWlkaWd0CmdlZnVlaGx0IGhhYmVuIHNvbGx0ZSwga29lbm50ZSBkaWVzICBhdWYgbWFuZ2VsbmRlIERpcGxvbWF0aWUgenVydWVja3p1CmZ1ZWhyZW4gc2Vpbi4gV2llIEhhdGUgc2Nob24gYXVzZnVlaHJ0ZSwgc2luZCBoaWVyIGFsbGVzIG51ciBtZWhyIG9kZXIgd2VuaWdlcgpIb2JieXByb2dyYW1taWVyZXIgYW0gV2Vya2UgdW5kIGRhIGthbm5zdCBkdSBrZWluIFByb2ZpdGVpbCBlcndhcnRlbi4gCgpCSCAtIHdpcmQgc2ljaCBhdWNoIGJlbXVlaGVuLCBkYW1pdCBTcGllbGVyIHp1IGlocmVtIEtPU1RFTkxPU0VOIFNwaWVsZXNwYXNzCmtvbW1lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNZblRhWC1ORVJWRVJFSSAoTXVwZmVsLCAgMS4gT2t0IDE5OTYsIDIwOjAxOjUzKToKfiMhIHJuPUhhdGUgcnQ9ODQ0MTY4NDg5Cn4jISB0aWQ9ODQzMjgwNDE5CgpOaWNodCBudXIsIEhhdGUuIEhhZXR0ZSBtYW4gZ2xlaWNoIHp1IEFuZmFuZyBmZXN0Z2VsZWd0LCBkYXNzIHNpY2ggYWxsZSBhbgplaW5lIGdld2lzc2UgU3ludGF4IHp1IGhhbHRlbiBoYWJlbiwgdmVyYnVuZGVuIG1pdCBlaW5lbSBhbGxnZW1laW5ndWVsdGlnZW4KUGFyc2VyLCBzYWVoZSBkYXMgYW5kZXJzIGF1cyBqZXR6dC4gQWJlciBkYXMgaXN0IGxhbmdlIHZvcmJlaSwgZGFydW0gbXVzcyBpY2gKRGlyIHp1c3RpbW1lbi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTWW5UYVgtTkVSVkVSRUkgKFNpcXVlLCAgMS4gT2t0IDE5OTYsIDIwOjQwOjIzKToKfiMhIHJuPU11cGZlbCBydD04NDQxOTI5MTMKfiMhIHRpZD04NDMyODA0MTkKSWNoIGhhbHRlIGVpbmUgc29sY2hlICJ2b24gdm9ybmhlcmVpbiBmZXN0Z2VsZWd0ZSIgU3ludGF4IGZ1ZXIgc2NobGljaHQKdW5tb2VnbGljaC4KRGllIHdlbmlnZW4gU3RlbGxlbiwgd28gZXMgZWluZSBzb2xjaGUgZ2lidCwgc2luZCBLb21tYW5kb3MsIGRpZSBpbQpTdGFuZGFyZC1SYXVtIHVuZCBpbSBTcGllbGVyIHNlbGJlciBkZWZpbmllcnQgc2luZC4KRGF6dSBoYXQgc2ljaCBIYXRlIGJlbXVlaHQsIGRpZSBLb21tYW5kb3MgZGVyIFNwaWVsZXIgdm9yIGRlbSBQYXJzZW4KZGVyIE9iamVrdGUgZ3JhbW1hdGlzY2ggbW9lZ2xpY2hzdCB3ZWl0IHp1IHZlcmVpbmZhY2hlbi4KImtsZXR0ZXJuIiBpc3QgZWluIGd1dGVzIEJlaXNwaWVsLCB3YXMgZWluIE1hZ2llciBhbGxlcyBiZWFjaHRlbiBtdWVzc3RlCihiencsIHdhcyBlaW4gIlN0YW5kYXJkLUtvbW1hbmRvIiBhbGxlcyBiZWFjaHRlbiBtdWVzc3RlLik6Ci0gImhvY2giCi0gImtsZXR0ZXIiCi0gImtsZXR0ZXIgaG9jaCIKLSAia2xldHRlciBoaW5hdWYiCi0gImtsZXR0ZXIgaGVyYXVmIgotICJrbGV0dGVyIGF1ZiA8RGluZz4iCi0gImtsZXR0ZXIgYW4gPERpbmc+IiAoYW4gd2FuZCwgYW4gc2VpbCwgLi4uKQotICJrbGV0dGVyIGluIDxEaW5nPiIgKFNjaGFjaHQsIExvY2guLi4pCi0gImtsZXR0ZXIgPERpbmc+IiAoamFqYSwgdmllbGUgc2luZCB6dSBmYXVsLCBQcmFlcG9zaXRpb25lbiBhbnp1Z2ViZW4hKQotICJrbGV0dGVyIG1pdCA8RGluZz4iCi0gImtsZXR0ZXIgbWl0aGlsZmUgW3Zvbl0gPERpbmc+IgotICJrbGV0dGVyIGF1Zi9hbi9pbiA8RGluZzE+IG1pdFtoaWxmZSBbdm9uXV0gPERpbmcyPiIKLSAia2xldHRlciBtaXRbaGlsZmUgW3Zvbl1dIDxEaW5nMj4gYXVmL2FuL2luIDxEaW5nMT4iCi0gImtsZXR0ZXIgYW4gPERpbmcxPiBhdWYgPERpbmcyPiIgKHouYi4gYW4gc2VpbCBhdWYgZGFjaC4uKQotICJrbGV0dGVyIGF1ZiA8RGluZzE+IGFuIDxEaW5nMj4iIC4uLgouLi4gKGV0Yy4gcHAuKQoKVW5kIGpldHp0IGRhcyBHYW56ZSBub2NobWFsIG1pdCAic3RlaWciLCAiZXJrbGltbSIsLi4uIAoKVmVyc3VjaHQgbWFsLCBkaWVzZSBNb2VnbGljaGtlaXRlbiBpcmdlbmR3aWUgc28genUgc3lzdGVtYXRpc2llcmVuLCBkYXNzCm1hbiBzaWUgdmVybnVlbmZ0aWcgcGFyc2VuIGthbm4uIFNpZSBoYWJlbiBuYWVtbGljaCBsZWlkZXIgbmljaHQgbnVyCnN5bnRha3Rpc2NoZSBVbnRlcnNjaGllZGUsIHNvbmRlcm4gYXVjaCBzZW1hbnRpc2NoZS4KRXMgaXN0IGVpbiBVbnRlcnNjaGllZCwgb2IgbWFuICJpbiBraXN0ZSBhbiB3YW5kIiBzdGVpZ3QsIG9kZXIKImF1ZiBraXN0ZSBhbiB3YW5kIiwgb2RlciAibWl0aGlsZmUgdm9uIGtpc3RlIGF1ZiBkYWNoIi4KCkRlc3dlZ2VuIGlzdCBlcyBtZWluZXMgRXJhY2h0ZW5zIG5haGV6dSB1bm1vZWdsaWNoLCBpcmdlbmRlaW5lIHVlYmVyCnNpbXBsZSwgZWluZmFjaGUgQmVmZWhsZSBoaW5hdXNnZWhlbmRlIFN5bnRheGVuIHp1IHN0YW5kYXJkaXNpZXJlbi4KClVuZCBkaWUgTHVjYXMtR2FtZXMtTWV0aG9kZSAiYmVudXR6ZSBLaXN0ZSBtaXQgV2FuZCIgaGFsdGUgaWNoIGZ1ZXIgZWluCk11ZCBmdWVyIHVuZ2VlaWduZXQuIChBdWYgc28gZWluZSBTeW50YXgga29tbXQgZ2FyYW50aWVydCBrZWluZXIgOykgKS4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpcXVlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1ctU3Bpb25lIChHdWxkdWthdCwgIDEuIE9rdCAxOTk2LCAyMjoxMzo1Mik6CgpIZXV0ZSBpbiBkZXIgTWFpbCBnZWZ1bmRlbjoKCi0tc25pcC0tCgpTZWhyIGdlZWhydGVyIEhlcnIgR3VsRHVrYXQgKEhpZXIgc3RhbmQgZGVyIFJlYWxuYW1lKSwKCnZvciBlaW5pZ2VyIFplaXQgaGFiZW4gU2llIGRlbiBXZWItU2VydmVyIHd3dy5zb2Z0bGluZS5kZSBiZXN1Y2h0LgpNaXQgZGVyIGhldXRpZ2VuIGVtYWlsIHdvbGxlbiB3aXIgU2llIHVlYmVyIGVpbmlnZSB3ZXNlbnRsaWNoZSBWZXJiZXNzZXJ1bmdlbgppbmZvcm1pZXJlbjoKCi0tc25pcC0tCgpXaWUgaGFiZW4gZGllIG1laW5lIGlkIGhlcmF1c2Jla29tbWVuPwpBdWYgdW5zZXJlciBXb3Jrc3RhdGlvbiBsYWV1ZnQga2VpbiBpbmV0ZCwgbmV0c2NhcGUgMi4wMiBtaXQgamF2YSBhYmdlc2NoYWx0ZXQKSWNoIGhhYmUgZGVuZW4ga2VpbmUgZS1tYWlsIGdlc2NoaWNrdCwgYXVjaCBrZWluZSBidXR0b25zIGdla2xpY2t0LCB3byBuZQptYWlsIHJhdXNnZWh0LiBGaW5nZXJkIGlzdCBhdWNoIGFiZ2VzY2hhbHRldC4KTWVpc3RlbnMgbmV0c2NhcGUgaWNoIGVoIGFtIHBjLCB3byBkaWUgZWluemlnZSBpbmZvcm1hdGlvbiBpbQptYWlsLXByZWZlcmVuY2VzOgppZGVudGl0eSBzdGVodD8gKGphdmEgZGlzYWJsZWQpCkRpZSBNYWlsIGhhYmUgaWNoIHp3ZWltYWwgYmVrb21tZW4sIHNpZWh0IGFsc28gbmFjaCBhdXRvbWF0aXNtdXMgYXVzLAphdWYgaWhyZXIgd3d3LXNlaXRlIGlzdCBhdWNoIG5pY2h0cyB2ZXJkYWVjaHRpZ2VzLgoKTmFqYSwgenVtIGdsdWVjayBudXIgZWluIHNvZnR3YXJlIGxhZGVuIHVuZCBuaWNodCBkaWUgaGFyZGNvcmUgc2VpdGVuIDspCgpHRAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXV1ctU3Bpb25lIChIYXRlLCAgMS4gT2t0IDE5OTYsIDIyOjE1OjE0KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg0NDIwMDgzMgp+IyEgdGlkPTg0NDIwMDgzMgpEdSBzb2xsdGVzdCBub2NoIGRpZSBjb29raWVzIGFic3RlbGxlbiA6LSkKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWJ5cmludGhlIChBY3JpbW9uLCAgMi4gT2t0IDE5OTYsIDAyOjQwOjE1KToKQXVjaCBkYXMgZGFyZiBuaWNodCB2ZXJzY2h3aWVnZW4gd2VyZGVuOgpFaW5lbiBncm9zemVuIERhbmsgYW4gZGVuIEVpbmZhbGxzcmVpY2h0dW0gdmllbGVyIE1hZ2llciBoaWVyIGltIE1HIQoKQWxzIGJlc29uZGVycyBnZWx1bmdlbiBtb2VjaHRlIGljaCBoaWVyIGhlcmF1c2hlYmVuOgoKTGFieXJpbnRoZToKLSBEaWUgRWlzd3Vlc3RlLiBFcyBpc3QgbmljaHQgZ2VyYWRlIGxlaWNodCwgc2ljaCBkYXJpbiB6dXJlY2h0enVmaW5kZW4sCmFiZXIgbWl0IHJlaWNobGljaCBMb2dpayBpc3QgZXMgZHVyY2hhdXMgbW9lZ2xpY2gsIGVpbmUgS2FydGUgZGVyCkVpc3d1ZXN0ZSBhbnp1ZmVydGlnZW4sIHdhcyBtaXIgdW5nZWhldXJlbiBTcGFzeiBnZW1hY2h0IGhhdCEKLSBEYXMgTGFieXJpbnRoIGluIGRlciBSYWV0c2VscHlyYW1pZGUuIEVzIG1hY2h0IGdld2FsdGlnZW4gU3Bhc3osCnRyb3R6IGFsbCBkZW4gQmVzY2hyYWVua3VuZ2VuIGVpbmVuIFdlZyBoaW5kdXJjaHp1ZmluZGVuIHVuZCBkaWUKV2FlbmRlIHp1IGthcnRvZ3JhcGhpZXJlbiwgdW5kIGRhbm4gbm9jaCBoYWxiYmxpbmQgZWluZSBNdW1pZQpkdXJjaHp1c2NobGV1c2VuLgoKQWJlbnRldWVyOiBIaWVyIGdpYnQgZXMgaW4gbGV0enRlciBaZWl0IHZpZWxlIHBvc2l0aXZlIEJlaXNwaWVsZSwgYWJlciBkYXMKc3RpbHZvbGxzdGUgQWJlbnRldWVyIGlzdCBpbW1lciBub2NoIGRlciBTdGVpbiB2b24gRHVuY3Rvbi4gRXMgaXN0IGVpbmZ1ZWhsc2FtCihpbiBkaWUgR2VzY2hpY2h0ZSkgZ2VzY2hyaWViZW4sIHVuZCBkaWUgRGFyc3RlbGx1bmcgYXVzIHVudGVyc2NoaWVkbGljaGVuClNpY2h0d2Vpc2VuIGlzdCBlYmVuZmFsbHMgaGVydm9ycmFnZW5kLgoKR2VnZW5kZW46IERhIHNhZyBpY2ggamV0enQgbml4LCBkZW5uIGljaCBoYWJlIHZpZWxlIEdlZ2VuZGVuIG5vY2ggbmljaHQKZXJmb3JzY2h0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFieXJpbnRoZSAoQ2F1bm8sICAyLiBPa3QgMTk5NiwgMTE6NDI6NTEpOgp+IyEgcm49QWNyaW1vbiBydD04NDQyMTY4MTUKfiMhIHRpZD04NDQyMTY4MTUKCk5pY2h0IHp1IHZlcmdlc3NlbiBNRUlOIExpZWJsaW5nc2xhYnlyaW50aDogRGFzIGluIGRlciBPa3RvcHVzcXVlc3QuCkljaCBoYWIgamEgc2Nob24gbWFsIGhpZXIgZHJ1ZWJlciBnZXNjaHJpZWJlbi4KCkRhcyBNb29yIG9lc3RsaWNoIGRlcyBOYWJsYXN1bXBmZXMgaXN0IHVlYnJpZ2VucyBhZWhubGljaCBrb25zdHJ1aWVydCB3aWUgZGllCkVpc3d1ZXN0ZSwgbnVyIGFscyBUaXAgZnVlciBLYXJ0b2dyYXBoZW4uCihXZXIgc2ljaCBkcmluIHZlcmxhZXVmdCwga2FubiBzaWNoIGphIHZvbiBtaXIgYmVmcmVpZW4gbGFzc2VuLikKCkMuIE5vLCBzdGVsbHQgc2Nob24gbWFsIGVpbmUgR2VidWVocmVudGFiZWxsZSBhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTWW5UYVgtTkVSVkVSRUkgKFJhZmZpLCAgMi4gT2t0IDE5OTYsIDE2OjU3OjU3KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODQ0MTU1MzM5Cn4jISB0aWQ9ODQzMjgwNDE5CgpXYXMgaWNoIGRhZ2VnZW4gaGFiZSBOaXJkYXZvID8KCk1laHJlcmVzOgoxLiBFaW5lIGRlcmFydGlnZSBFcndlaXRlcnVuZyBkZXMgQWRkQ21kKCkgd3VlcmRlIGVpbiBkZXV0bGljaGVzIExhZwogICBlcnpldWdlbiwgRGEgZGVyIGRlcnplaXRpZ2UgQWRkQ21kKCkgZWluZSBkaXJla3RlIEFiYmlsZHVuZyBhdWYKICAgYWRkX2FjdGlvbigpIGlzdCwgYmVpIGRlbSBmb3JtYXQgbXVlc3RlbiBhYmVyIGJlaSBKRURFUiBCZXdlZ3VuZyAKICAgdm9uIE9iamVrdGVuIGVpbmUgZG9jaCByZWxhdGl2IGtvbXBsZXhlIEFuYWx5c2Ugc3RhZHRmaW5kZW4uCjIuIERpZSBJZGVlIHZlcmxldHp0IGRpZSBJZGVlIGRlcyBPYmpla3RvcmllbnRpZXJ0ZW4gUHJvZ3JhbW1pZXJlbnMKICAgYXVmcyBzY2hsaW1tc3RlIHVuZCBuaW1tdCBkZW0gU3BpZWwgZWluZW4gZ3Jvc3NlbiBUZWlsIGRlcgogICBGZXhpYmlsaXRhZXQgZGllIGVzIGhhdCAoaGFiZW4ga2FubiksIGRhIGRlciBpZCgpLU1lY2hhbmlzbXVzCiAgIGF1c2dlc2NoYWx0ZW4gaXN0LiBFcyBpc3QgZWluIGdyb3NzZXIgVW50ZXJzY2hpZWQgb2IgbWFuIGVpbmZhY2gKICAgaW4gZWluZXIgRWluZ2FiZSBmcmFndCBvYiAnbWVzc2VyJyBlaW5nZWdlYmVuIHd1cmRlLCBvZGVyIG9iIG1hbgogICBzY2hhdXQgb2IgZXMgZWluIE9iamVrdCBnaWJ0IGRhcyBhdWYgZGllIEVpbmdhYmUgdW5kIGF1ZiAnbWVzc2VyJwogICBhbnR3b3J0ZXQuIEJlaSByaWNodGlnZXIgQW53ZW5kdW5nIGRlciBPTy1Gb3JtdWxpZXJ1bmcgZXJnaWVidAogICBzaWNoIGRhcyBTeW5vbnltcHJvYmxlbSBnYXJuaWNodCEKMy4gRGEgbWFuIGRhbm4gYW5zY2hsaWVzc2VuZCBkb2NoIHdpZWRlciBuYWNoc2NoYXVlbiBtdXNzIG9iIGRlcgogICBTcGllbGVyIGRhcyBnZW5hbm50ZSBNZXNzZXIgZGFiZWkgaGF0ICh1bmQgZ2dmLiBnZXp1ZWNrdCBoYXQpLCBpc3QKICAgbml4IGdlc3BhcnQgd29yZGVuLCBkYSBqYSBkb2NoIG5vY2ggYWxsZXMgaW4gc2Nobml0el9oZXJ6IGdlcHJ1ZWZ0CiAgIHdlcmRlbiBtdXNzIHdlaWwgamEga2VpbmUgT2JqZWt0aWRlbnRpZmlrYXRpb24gdm9ybGllZ3QKICAgLT4gZC5oLiBLRUlORSBFSU5TUEFSVU5HLgo0LiBNYW4gbGFuZGV0IGJlaSBzb2xjaGVuIEFuc2FldHplbiBnbGVpY2ggYmVpIGRlciA+THVjYXMtR2FtZXMtTWV0aG9kZQogICAiYmVudXR6ZSBLaXN0ZSBtaXQgV2FuZCI8IHdpZSBTaXF1ZSBlcyBzbyBzY2hvZW4gZm9ybXVsaWVydC4gSW4KICAgZGllc2VtIEZhbGwgd2FlcmUgZXMgaGFsdCAicml0emUgbWVzc2VyIG1pdCBiYXVtIi4KCkRhcyBpbmRpdmlkdWVsbGUgWmVybGVnZW4gZGVyIEVpbmdhYmUgaGF0IGRvY2ggZ2VnZW51ZWJlciBlaW5lbSBTdGFuZGFyZC0KcGFyc2VyIGRlbiBncm9zc2VuIFZvcnRlaWwgZWluIHdlc2VudGxpY2ggYmVzc2VyZXMsIHNpdHVhdGlvbnNnZWJ1bmRlbmVzClNwcmFjaHZlcnN0YWVuZG5pc3MgenUgZXJtb2VnbGljaGVuLiBFaW4gU3RhbmRhcmRwYXJzZXIgd3VlZGUgYmVpIGVpbmVtCk11ZCBhdWYgZWluIE1vbnN0ZXIgYWxhIEN5YyByYXVzbGF1ZmVuIHVuZCBpbW1lcm5vY2ggbmljaHQgcGVyZmVrdCBzZWluLAp3b2hpbmdlZ2VuIGRpZSBpbmRpdmlmdWVsbGUgQXVzd2VydHVuZyBXZXNlbnRsaWNoIG5hdHVlcmxpY2hlcmUgUmVzdWx0YXRlCmVyemllbGVuIGthbm4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXV1ctU3Bpb25lIChQaWxncmltLCAgMi4gT2t0IDE5OTYsIDE5OjE5OjQzKToKfiMhIHJuPUhhdGUgcnQ9ODQ0MjAwOTE0Cn4jISB0aWQ9ODQ0MjAwODMyCkp1YiwKCmFiZXIgYmVpIE5ldHNjYXBlIDIuMDIgZ2lidHMgZGFmdWVyIGtlaW5lIGRpcmVrdGUgRWluc3RlbGxtb2VnbGljaGtlaXQKd2llIHVudGVyIE5ldHNjYXBlIDMuMCAoZGVuZWsgaWNoKS4KClVudGVyIE5TIDIuMDIgbXVzcyBtYW4gZm9sZ2VuZGVzIHR1bjoKMS4gRmlsZSBjb2NraWVzLnR4dCBpbSBuZXRzY2FwZS12ZXJ6LiBsYWRlbgoyLiBhbGxlcyBkYXJpbiBsb2Vzc2NoZW4KMy4gZGEgbGVlcmUgZmlsZSAodVUgbWl0IDEsIDIgbGVlcnplaWNoZW4pIHdpZWRlciBhYnNwZWljaGVybgo0LiBkYXMgZmlsZSBzY2hyZWlic2NodWV0emVuCgpqdWIsIGRhbm4gaXN0IGF1Y2ggY29ja2llcyB1bnRlciBOUyAyLnggYWJnZXNjaGFsdGV0IDstKQoKUGlsZ3JpbQoKaG1tbSBjb2Nrb2llIC0+IGNvb2tpZXMgOy0pCiphcmdsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV1dXLVNwaW9uZSAoUm9jaHVzLCAgMi4gT2t0IDE5OTYsIDE5OjI3OjI0KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODQ0Mjc2NzgzCn4jISB0aWQ9ODQ0MjAwODMyClNjaHJlaWJzY2h1ZXR6ZW4gbnVldHp0IGdsYXViZSBpY2ggbmljaHRzLgpXYXMgYXVmIGplZGVuIEZhbGwgZnVua3Rpb25pZXJ0IGlzdDoKMS4gcm0gY29va2llcy50eHQKMi4gbG4gLXMgL2Rldi9udWxsIGNvb2tpZXMudHh0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXV1ctU3Bpb25lIChKYXJpZWwsICAyLiBPa3QgMTk5NiwgMTk6Mjg6NTMpOgp+IyEgcm49Um9jaHVzIHJ0PTg0NDI3NzI0NAp+IyEgdGlkPTg0NDIwMDgzMgpUamEgZGFzIGdlaHQgYWJlciBsZWlkZXIgbnVyIHVudGVyIFVuaXgsIG5peCBXaW5kb29mIC4gT2RlciBnaWJzIGRhIGpldHp0CmF1Y2ggZWluIC9kZXYvbnVsbCA/Pz8/CgpKLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV1dXLVNwaW9uZSAoUGlsZ3JpbSwgIDIuIE9rdCAxOTk2LCAxOTo1MTo1Myk6Cn4jISBybj1KYXJpZWwgcnQ9ODQ0Mjc3MzMzCn4jISB0aWQ9ODQ0MjAwODMyCgpBY2ggamEsCgptZWluIEFydGlrZWwgZ2FsdCBuYXR1ZWxpY2ggZnVlciBXSU5ET0YgOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsICAyLiBPa3QgMTk5NiwgMjA6MjI6NDQpOgp+IyEgcm49SGFkcmEgcnQ9ODQ0MDM2OTUxCn4jISB0aWQ9ODQzMjgwNDE5CkhhbGxvIEhhZHJhIQpLZWluZXNmYWxscyB3b2xsdGUgaWNoIGRhcyBqZXR6dCBzbyB2ZXJzdGFuZGVuIHdpc3NlbiwgZGFzcyBpY2ggYWxsZQpNYWdpZXIgZnVlciBkaWUgYWxsZXJsZXR6dGVuIEZhdWxwZWx6ZSBoYWx0ZSwgZGllIHNpY2ggc2Nob24gZGVuIGdhbnplbgpUYWcgdm9yaGVyIGRyYXVmIGZyZXVlbiwgbWFsIHdpZWRlciBlaW5lIHNpbm52b2xsZSBTeW50YXggenUgdWViZXJzZWhlbi4KVm9yYWxsZW0gaXN0IG1pciB3aWUgamVkZW0gYW5kZXJlbiBoaWVyIHdvaGwgYXVjaCB2b2VsbGlnIGtsYXIsIGRhc3MKb2huZSBNYWdpZXIgaGllciBnYXIgbml4IGxhZXVmdC4KSWNoIHdvbGx0ZSBlaWdlbnRsaWNoIG51ciBnZXNhZ3QgaGFiZW4sIGRhc3MgZGVyIFN0ZWxsZW53ZXJ0IGRlciBTeW50YXgKR2VzY2hpY2h0ZW4gaGllciBvZmZlbnNpY2h0bGljaCBuaWVkcmlnZXIgaXN0IGFscyBlciBzZWluIHNvbGx0ZS4gCk1hdHN1KgooZGVyIHNpY2ggdWVicmlnZW5zIGF1Y2ggc2Nob24gbWFsIGRhcmFuIHZlcnN1Y2h0IGhhdCwgZWluIFRleHQtCmFkdmVudHVyZSB6dSBzY2hyZWliZW4gKGRhbWFscywgc2V1ZnouLi4pLCB1bmQgZWJlbmZhbGxzIHZpZWwgenUKZmF1bCB3YXIsIHZpZWxlIEVpbmdhYmUtVmFyaWFudGVuIGVpbnp1aGFja2VuLiA6KSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsICAyLiBPa3QgMTk5NiwgMjA6Mjg6MDEpOgp+IyEgcm49U2lsdmFuYSBydD04NDQwNzI3NTcKfiMhIHRpZD04NDMyODA0MTkKV2llIGJpdHRlLCAxMjUgdmVyc2NoaWVkZW5lIFN5bnRheC1Nb2VnbGljaGtlaXRlbj8/PyBOdW4gamEsIHdlbm4gZGFzCmhpZXIgZWluICJub3JtYWxlcyIgQmVpc3BpZWwgaXN0LCBkYW5uIHdpbGwgaWNoIGphIG5peCBzYWdlbiwgZGFubgpoYWJlIGljaCBkYXMgUHJvYmxlbSBzY2hsaWNodCB1bmQgZXJncmVpZmVuZCByZWljaGxpY2ggdW50ZXJzY2hhZXR6dC4KQWJlciBlcyB3YWVyZSBhdWNoIGVpbiBndXRlcyBCZWlzcGllbCBkYWZ1ZXIsIHdpZSBzaW5uaWcgZXMgaXN0LCBzaWNoCmF1ZiBlaW5lIEhhbmR2b2xsIFZhcmlhbnRlbiB6dSBiZXNjaHJhZW5rZW4gdW5kIGVpbmVuIGtsZWluZW4gSGlud2VpcwpiZWkgInVudCBOdWVzc2UiIHp1IGdlYmVuLgpNYXRzdSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNZblRhWC1ORVJWRVJFSSAoWWFudHJvLCAgMi4gT2t0IDE5OTYsIDIwOjMxOjE5KToKfiMhIHJuPU1hdHN1c2hpdGEgcnQ9ODQ0MjgwODgxCn4jISB0aWQ9ODQzMjgwNDE5CgpFcyBnaWJ0IGVpbmUgU3ludGF4ICd6aWVoZSBuaXBwZWwgZHVyY2ggZGllIGxhc2NoZScuLi4ga2VubnQgZGllIGVpbmVyPwoKWWFudHJvIGdvZXMgc2NobWFycm4KCnV1dXV1dXV1dW5ubmQgbmljaHQgdmVyZ2Vzc2VuOiAKClJpZXNlbk1lZ2FTdXBlckdlaWxlclRyYWRpdGlvbnNTdGFtbXRpc2NoIGluIEtvZWxuIGFtIAoKICAgICAgICAgICAgICAgICAgICAzLiBKYW51YXIgMTk5NyAhISEhCgpBbm1lbGRlbiBiZWkgbWlyIHBlciBNYWlsIGFuIG1pY2ghIFNpZWhlIGRhenUgYXVjaCBtZWluZSBlaWdlbnMgZ2VzY2hhZmZlbmUKUHJvbGxzZWl0ZToKCiAgICAgICBodHRwOi8vd3d3LnVuaS1rb2Vsbi5kZS9+YXJpMDMvZ2VsYWdlLmh0bWwKCkRlbm4gbml4IGlzdCBzY2hvZW5lciBhbHMgRmVpZXJuIGluIGJlc3RlciBHZXNlbGxzY2hhZnQgISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTWW5UYVgtTkVSVkVSRUkgKE1hdHN1c2hpdGEsICAyLiBPa3QgMTk5NiwgMjA6Mzk6NDEpOgp+IyEgcm49UmFmZmkgcnQ9ODQ0MDk2NjQ4Cn4jISB0aWQ9ODQzMjgwNDE5CkFlaCwgUmFmZmksIHdhcyBtZWludGVzdCBEdSBtaXQgU0lNUEVMQUJGUkFHRU4/IFNvICJiaW5kZSBTY2hsZWllciIgdW5kCnNjaHd1cHBzIC0gaXN0IGRhcyBEaW5nIGFuIGRlciByaWNodGlnZW4gU3RlbGxlPyBOYWphLCBpc3QgbWlyIHBlcnNvZW4tCmxpY2ggYXVjaCBldHdhcyB6dSBzaW1wZWwsIGFiZXIgMyBPYmpla3RlIGluIGVpbmVuIEJlZmVobCBtaXRlaW56dWJlemllaGVuLApmaW5kZSBpY2ggaXJnZW5kd2llIGF1Y2ggc2Nob24gemllbWxpY2ggaGFhcmlnLiA6KSBadWRlbSBtb2VjaHRlIG1pY2gKbWFsIHZlcm11dGVuLCBkYXNzIGVzIG5pY2h0IHNvb28gdmllbGUgQW53ZW5kdW5nZW4gZGFmdWVyIGdpYnQsIGVyZ28gCmluIGRpZXNlbiAiRWluemVsZmFlbGxlbiIgKG9kZXIgYmVzc2VyOiAiRWluemVsZmFsbGVuIj8pIHRhdHNhZWNobGljaApkaWUgbm90d2VuZGlnZSBBbnphaGwgYW4gVmFyaWFudGVuIGVyemV1Z2JhciBpc3QuLi4/Ck1hdHN1KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU1luVGFYLU5FUlZFUkVJIChNYXRzdXNoaXRhLCAgMi4gT2t0IDE5OTYsIDIwOjQzOjUyKToKfiMhIHJuPVJvY2h1cyBydD04NDQwOTc0MzkKfiMhIHRpZD04NDMyODA0MTkKSG0sIHdlbm4gaWNoIERlaW4gQmVpc3BpZWwgZGEgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUgKGVzIHNvbGwKamEgbm9jaCBMZXV0ZSBnZWJlbiwgZGllIExQQyBuaWNodCBzbyBnYW56IGVudHppZmZlcm4ga29lbm5lbiAtCmFiZXIgZGllIFZhcmlhbnRlbiBzaW5kIG9mZmVuc2ljaHRsaWNoIHN0dW1wZiB2ZXJvZGVydCwgb2Rlcj8pLApmaW5kZSBpY2ggZGFzIHp1bSBCZWlzcGllbCBtYWwgcmljaHRpZyBndXQuIEVzIG11c3MgamEgbmljaHQKYWxsZXMgMTAwICVpZyBzZWluLCBIYXVwdHNhY2hlLCBlcyBibGVpYnQgZWluZW0gZXJzcGFydCwgaXJnZW5kd28KZWluZW4gb2ZmZW5zaWNodGxpY2ggdm9yaGFuZGVuZW4gRXhpdCBlcnN0IGltIGRyaXR0ZW4gQW5sYXVmIGJlbnV0emVuCnp1IGtvZW5uZW4uIFdhZXJlIG5pY2h0IGRlciBlcnN0ZSBCYXVtLCBiZWkgZGVtIGljaCBnZWZsdWNodCBoYWJlLgpNYXRzdSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNZblRhWC1ORVJWRVJFSSAoUmFmZmksICAyLiBPa3QgMTk5NiwgMjA6NTA6MTQpOgp+IyEgcm49TWF0c3VzaGl0YSBydD04NDQyODE1ODEKfiMhIHRpZD04NDMyODA0MTkKClNhZyBuZWluIC0gU2ltcGVsYWJmcmFnZW4gc2luZCBmdWVyIG1pY2ggd28gZGVyIFByb2dyYW1taWVyZXIgbnVyCiAgaWYoZWluZ2FiZSAhPSAic2Nobml0emUgaGVyemNoZW4gaW4gRWljaGUiKSByZXR1cm4gMDsKc2NocmVpYnQgLSBkYW5uIG11c3MgbWFuIGFscyBzcGllbGVyIG5hZW1pY2ggR0VOQVUgZGllc2Ugd29ydGUgKHNudGF4KQplaW5nZWJlbiAtIGV4YWt0IG1pdCBkZW4gbGVlcnplaWNoZW4gdW5kIHNvLgpEYXMgaXN0IGRhcyBTY2hsaW1tc3RlLiBPaG5lIGplZGVyIFZlcnN1Y2ggcmVsZXZhbnRlcyB6dSBlcmtlbm5lbi4KClVuZCBESUUgaGFiIGljaCAod2llIHdvbCBhbGxlIGhpZXIgRElDSyEgTGVpZGVyIGdpYnQgZXMgaW1tZXIgbm9jaCBzdGVsbGVuIHdvCnNvIHZlcmZhaHJlbiB3aXJkLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNZblRhWC1ORVJWRVJFSSAoTWF0c3VzaGl0YSwgIDIuIE9rdCAxOTk2LCAyMTowNTowOSk6Cn4jISBybj1SYWZmaSBydD04NDQxNTM2NzcKfiMhIHRpZD04NDMyODA0MTkKRGFzIG1pdCBkZW0gIk1hY2htYWwiIGtsaW5ndCB6d2FyIHppZW1saWNoIGRvb2YsIGlzdCBhYmVyIGVpZ2VudGxpY2gKZWluIHNlaHIgbG9lYmxpY2hlciBBbnNhdHouIFdpciB3aXNzZW4sIHdlbm4gbWFuIGhldXR6dXRhZ2UgZWluIG5ldWVyZXMKQWR2ZW50dXJlZ2FtZSBzcGllbHQsIGthbm4gbWFuIGZyb2ggc2Vpbiwgd2VubiBtYW4gbm9jaCB2b3JoZXIgaXJnZW5kLQp3byBoaW5rbGlja2VuIGRhcmYsIGJldm9yIGVpbmVtIGRpZSBMb2VzdW5nIGRlcyBSYWV0c2VscyBhbnMgQmVpbgpnZXRhY2tlcnQgd2lyZC4gTWVpc3RlbnMgZ2lidCBlcyBhYmVyIGF1Y2ggbm9jaCBkYXMgd2lya2xpY2ggc2FnZW5oYWZ0ZQpLb21tYW5kbyAiYmVudXR6ZSA8eD4gbWl0IDx5PiIuCk5laW4sIHNvbGNoZSBleHRyZW1lbiBWZXJlaW5mYWNodW5nZW4gd3VlcmRlIGljaCBtaXIgZnVlciBkYXMgTW9yZ2VuLQpncmF1ZW4gYXVjaCBiZWltIGJlc3RlbiBXaWxsZW4gbmljaHQgd3VlbnNjaGVuLiBFaW5lIGdld2lzc2UgVmVyYmVuLQp2aWVsZmFsdCBmaW5kZSBpY2ggbmljaHQgdmVya2VocnQsIGFiZXIgaWNoIGZ1ZXIgbWVpbmVuIFRlaWwga29lbm50ZQpiZWlzcGllbHN3ZWlzZSBkYW1pdCBsZWJlbiwgd2VubiBtYW4gc2ljaCBhdWYgZWluZW4gU3RhbmRhcmQtU2F0eiBhbgpWZXJiZW4gdmVyc3RhZW5kaWdlbiBrb2VubnRlLiBBbGxlIHdlaXRlcmVuIGtvZW5uZW4gdm9uIG1pciBhdXMgd2lya2xpY2gKZ2VybmUgZXJrbGFlcnQgd2VyZGVuICh1bnQgeHh4OiAiRHUga2FubnN0IGRpZXNlbiBHZWdlbnN0YW5kIGJlbnV0emVuLCAKaW5kZW0gRHUgJ2Zsb2V0ZSBGbG9ldGUgaW4gT2hyIHZvbiB4eHgKIGVpbmdpYnN0CikKSXN0IG1pciBzY2hvbiBrbGFyLCBkYXNzIGVzIGVpbmlnZSBQdXp6bGVzIGluIFF1ZXN0cyBnaWJ0LCBkaWUgZGFyYXVmCmF1ZmJhdWVuLCBkYXNzIG1hbiBkaWUgQW53ZW5kdW5nc21vZWdsaWNoa2VpdGVuIGVpbmVzIEdlZ2Vuc3RhbmRlcwp2ZXJzdGFuZGVuIGhhdCwgYWJlciBkZXIgUmVnZWxmYWxsIGlzdCBkYXMgbmljaHQuIApJY2ggaGFiZSB2b3IgZWluaWdlciBaZWl0IG5hY2ggYWxsIGRlbiBKYWhyZW4gbGVpY2h0ZXIgR3JhZmlrLQpBZHZlbnR1cmUtS29zdCBub2NoIG1hbCBkaWUgZ3V0ZW4gYWx0ZW4gIkluZm9jb20iLVRpdGVsIGF1c2dlLQpncmFiZW4sIHVuZCB3YXMgbWlyIGRldXRsaWNoIGF1ZmdlZmFsbGVuIGlzdCwgaXN0IGRhc3MgaWNoIGRhcwp3aWxkZSBHZXJhdGUgIldpZSBzYWdlIGljaCdzIG1laW5lbSBTcGllbCIgaW4gYWxsIGRlbiBsYW5nZW4gSmFocmVuCmRlciBBYnN0aW5lbnogbmljaHQgdmVybWlzc3QgaGFiZS4gVmVyZWluZmFjaHVuZyBiaXMgenVyIFVua2VubnRsaWNoa2VpdAppc3QgYWxzbyB3b2hsIG5pY2h0IGRhcyBXYWhyZSwgYWJlciBlaW5lIGRldXRsaWNoZSBWZXJlaW5mYWNodW5nIGR1cmNoClZlcmVpbmhlaXRsaWNodW5nIHdhZXJlIGFsbGVzIGFuZGVyZSBhbHMgZWluIFZlcmx1c3QgZnVlciBkZW4gU3BpZWx3aXR6LgpNYXRzdSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNZblRhWC1ORVJWRVJFSSAoUmFmZmksICAyLiBPa3QgMTk5NiwgMjE6NTA6NDMpOgp+IyEgcm49UmFmZmkgcnQ9ODQ0MTUzNjc3Cn4jISB0aWQ9ODQzMjgwNDE5CgpIbW0gZGEgaGFldHQgaWNoIGF1Y2ggZ2xlaWNoIG5vY2ggbmUgRXJ3ZWl0ZXJ1bmcgZnVlciBkZW4gJ21hY2htYWwnCnZvcnp1c2NobGFnZW46IE5hY2hkZW0gbWFuIGRlbiBuYWNoIGVpbmVyIFF1ZXN0ZSBiZWZyYWd0IGhhdCBrYW5uIG1hbgptaXQgJ3NhZyBtYWNoIG1hbCBmdWVyIG1pY2gnIGF1Y2ggZ2xlaWNoIGRpZSBBUCBhYmhvbGVuLgoKRnVlciBkZWluZW4gVm9yc2NobGFnIG1pdCBkZW4gU3ludGF4dGlwcyBnaWJ0IGVzIGJlcmVpdHMgZWluZW4KTWVjaGFuaXNtdXMsIGRlciBhYmVyIGxlaWRlciB2b24gZGVuIE1hZ2llcm4gdmllbCB6dSBzZWx0ZW4gZWluZ2VzZXR6dAp3aXJkOiBQX0lORk8gLSBkYW1pdCB3aXJkIGRlciAgVGV4dCBmZXN0Z2VsZWd0IGRlciBiZWkgJ2lkZW50aWZpemllcmUnCmF1c2dlZ2ViZW4gd2lyZCAtIHVuZCBnZW5hdSBkYSBzb2xsdGVuIG0uRS4gZGllIFN5bnRheGhpbndlaXNlIGhpbi4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTWW5UYVgtTkVSVkVSRUkgKEhhZHJhLCAgMy4gT2t0IDE5OTYsIDAyOjM0OjM4KToKfiMhIHJuPVJhZmZpIHJ0PTg0NDI4MjIxNAp+IyEgdGlkPTg0MzI4MDQxOQpuYXR1ZXJsaWNoIGhhYmVuICd3aXIgYWxsZScgc29sY2hlIGFiZnJhZ2VuICdoaWVyIERJQ0snLgoKYWJlciBuYWNoIHdpZSB2b3IgaXN0IGRhcyBoaWVyIGVpbmUgZGlza3Vzc2lvbiB3ZW5pZ2VyIGZ1ZXIgc3BpZWxlciBhbHMgZnVlcgpkaWUgenVzdGFlbmRpZ2VuIHJlZ2lvbnMvZXJ6bWFnaWVyIChqZSBuYWNoIGRlbSBvYnMgZWluIGdlYmlldCwgbmUgcXVlc3Qgb2RlcgplaW5nZWdlbnN0YW5kIGlzdCkuCgppY2ggaGFiZSBtaWNoIGF1Y2ggc2Nob24gbWFzc2lnIHVlYmVyIHN0ZWxsZW4gZ2VhZXJnZXJ0IHdvICd0cmV0ZSB0dWVyIGVpbicKZ2luZyB1bmQgJ3RyaXR0IHR1ZXIgZWluJyBuaWNodCAobmVpbiBkYXMgaXN0IG5pY2h0IGF1cyBkZXIgcXVlc3Qgd28gbWFuIGRhcwptYWNoZW4ga2FubikuCgplaW4gdWVicmVyYXNjaGVuZGVyIGVmZmVrdCBpc3QgbWlyIGFiZXIgZmFzdCBpbW1lciBhdWZnZWZhbGxlbjoKZWluaWdlIHdvY2hlbiBuYWNoZGVtIGljaCBkZW0genVzdGFlbmRpZ2VuIG1hZ2llciBkYXMgcmVwZmlsZSB2b2xsZ2VtdWVsbHQKaGFiZSBnaW5nZW4gYXVmIGVpbm1hbCBiZWlkZSBzeW50YXhlbi4KCm5hdHVlcmxpY2ggZ2lidCBlcyBhdWNoIG1hZ2llciBkaWUgc2ljaCB3b2NoZW4sIG1vbmF0ZSBvZGVyIG5vY2ggbGFlbmdlciB6ZWl0Cmxhc3NlbiByZXBmaWxlcyBhYnp1YXJiZWl0ZW4sIGFlbmRlcnVuZ2VuIGFscyBzaW5udm9sbCB6dSBlcmtlbm5lbiB1c3cuIGFiZXIKZGllIG1laXN0ZW4gbWl0IGRlbmVuIGljaCBiaXNoZXIgenUgdHVuIGhhdHRlIChuYSBqYSBydW5kIGRpZSBoYWVsZnRlKSB3YXJlbgplaW5lciB2ZXJudWVmdGlnZW4gYmVncnVlbmR1bmcgZ2VnZW51ZWJlciBhdWZnZXNjaGxvc3NlbiB1ZG4gaGFiZW4gZGFzCmlyZ2VuZHdhbm4gKHNvIGlocmUgemVpdCBlcyBlcmxhdWJ0ZSkgZWluZ2ViYXV0LgoKaWNoIGhhYiBhdWNoIHNjaG9uIG1hbCBhbSBlbmRlIGRlciBuYXJyZW5iYWxsIHF1ZXN0IGVpbiAndGFuemUgYXVmIHRpc2NoJwp2ZXJzdWNodCwgYWJlciBkYXMgd2FyIGhhbHQgYW4gZGVyIHN0ZWxsZSBuaWNodCBnZWZyYWd0LCBvYndvaGwgZWluIHRhbnplbmRlcgpzY2hhdHRlbnp3ZXJnIHNpY2hlcmxpY2ggZWluIGtsZWluIHdlbmlnIGF1Zm1lcmtzYW1rZWl0IGVycmVndC4gZXMgd2FyIGhhbHQKbmljaHQgZGllIGxvZXN1bmcuCgpoYWRyYSAtIGZpbmRldCBkYXNzIG1hZ2llciBtZWhyIHVuZCBkaWUgZWNrZSBkZW5rZW4gdW5kIHNwaWVsZXIgb2VmdGVyIGRhcwpuaWNodCBvZmZlbnNpY2h0bGljaGUgdmVyc3VjaGVuIHNvbGx0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNZblRhWC1ORVJWRVJFSSAoU2lsdmFuYSwgIDMuIE9rdCAxOTk2LCAwOTozMjozOCk6Cn4jISBybj1SYWZmaSBydD04NDQwOTY2NDgKfiMhIHRpZD04NDMyODA0MTkKT2ssIFJhZmZpLCBlaW5lIERpc2t1c3Npb24sIGF1cyBkZXIgRHUgbWlyIGltbWVyIG5vY2ggZGllIDEwMCBNb2VnbGljaGtlaXRlbgpzY2h1bGRpZyBiaXN0LCBkaWUgbmljaHQgZnVua3Rpb25pZXJlbi4uLgoKICBTaWx2YW5hICh3YXJ0ZXQgZ2VkdWxkaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTWW5UYVgtTkVSVkVSRUkgKER1cmlhbiwgIDMuIE9rdCAxOTk2LCAxMjozMjozOCk6Cn4jISBybj1IYWRyYSBydD04NDQzMDI4NzgKfiMhIHRpZD04NDMyODA0MTkKRXMgZ2lidCBlaW5lIFJ1YnJpayBEaXNrdXNzaW9uLCBiaXR0ZSBnZWh0IGRhaGluIQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNZblRhWC1ORVJWRVJFSSAoTWF0c3VzaGl0YSwgIDMuIE9rdCAxOTk2LCAxMzoyMzozMyk6Cn4jISBybj1SYWZmaSBydD04NDQyODU4NDMKfiMhIHRpZD04NDMyODA0MTkKSHVodSBSYWZmaSEKRGFzIG1pdCBkZW4gU3ludGF4dGlwcyBnaWJ0cyBub2NoIGFuIHZpZWxlbiB2aWVsZW4gYW5kZXJlbiBTdGVsbGVuCmJlaSB6YWhscmVpY2hlbiBRdWVzdHMuIFdvIGljaCdzIGJpc2hlciBhbSBrb25zZXF1ZW50ZXN0ZW4gZ2VmdW5kZW4KaGFiZSwgd2FyIGJlaSAiUHlyYW1pZGVuIiwgZWluZXIgZGVyIHdlbmlnZW4gUXVlc3RzLCB3byBpY2ggYmVpCmRpZXNlbSBUaGVtYSB3aXJrbGljaCBHQVIga2VpbmVuIEZydXN0IGdlc2Nob2JlbiBoYWJlLiBBbGxlcmRpbmdzCmthbm4gaWNoIG1pY2ggZHJhbiBlcmlubmVybiwgZGFzcyBtaWNoIGRpZSBTeW50YXh0aXBzIGJpc3dlaWxlbgp0YXRzYWVjaGxpY2ggbWVocmZhY2ggYXVmIGRpZSByaWNodGlnZSBTcHVyIGJlaSBlaW5pZ2VuIFB1enpsZXMKZ2VicmFjaHQgaGFiZW4uLi4gU292aWVsIG51biBhbHNvIHp1IGVpbmVyIGFuZGVyZW4gU2VpdGUgZGVzIFByb2JsZW1zLi4uCk1hdHN1KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV1dXLVNwaW9uZSAoRnl0LCAgMy4gT2t0IDE5OTYsIDE1OjM5OjAzKToKfiMhIHJuPUphcmllbCBydD04NDQyNzczMzMKfiMhIHRpZD04NDQyMDA4MzIKCktsYXIgZ2lidCdzIHVudGVyIFdpbmRvb2YgJ24gL2Rldi9udWxsLiBOZW5udCBzaWNoIGluIGRlbSBGYWxsCidGZXN0cGxhdHRlJyB1bmQgaGF0IGRpZSB1bmFuZ2VuZWhtZSBFaWdlbnNjaGFmdCwgbmljaHQgYWxsZXMKKnNvZm9ydCogenUgbG9lc2NoZW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdXVy1TcGlvbmUgKFRpbm8sICA0LiBPa3QgMTk5NiwgMTg6MTM6NDEpOgp+IyEgcm49Rnl0IHJ0PTg0NDM0OTk0Mwp+IyEgdGlkPTg0NDIwMDgzMgpkZWwgY29va2llcy50eHQKbWtkaXIgY29va2llcy50eHQKaXN0IGJvZXNlIGFiZXIgc2VociB3aXJrc2FtLgoKVGlubyBnaWJ0IDIgY2VudCBkYXp1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHNvbGwgZGFzPyAoUmFudGFucGxhbiwgMTguIE9rdCAxOTk2LCAxNzoyMTo0NSk6Cn4jISBybj1BdG96IHJ0PTg0NTY1MTkyNQp+IyEgdGlkPTg0NTY1MTkyNQpIaSAhCgpXZW5uIGljaCBqZXR6dCBzYWdlIGRhc3MgenUgT2UqIFplaXRlbiBzb3dhcyBzZWx0ZW5lciBwYXNzaWVydGUsIGJpbgppY2ggd2FocnNjaGVpbmxpY2ggZWluIHBhcnRlaWlzY2hlciBkdW1tZXIgU2Fjay4KCkFiZXIgaWNoIGthbm4gbWljaCBnYW56IGd1dCBlcmlubmVybiBkYXNzIGVzIG5vcm1hbGVyd2Vpc2UgaW1tZXIKZGllIGdlbGljaGVuIGRyZWkgb2RlciB2aWVyIExldXRlIHdhcmVuIGRpZSByZWFnaWVydGVuIHdlbm4gZWluIFNwaWVsZXIgaW4gTm90Cndhci4uLgoKUioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgc29sbCBkYXM/IChOYWlyb2xmLCAxOC4gT2t0IDE5OTYsIDE3OjIzOjUyKToKfiMhIHJuPUF0b3ogcnQ9ODQ1NjUxOTI1Cn4jISB0aWQ9ODQ1NjUxOTI1ClRqYSBBdG96IGljaCBrYW5uIG51ciBzYWdlbiBpY2ggbWFjaCB3b2hsIC1kZWJ1Zy0gdW5kIC1tYWctIGRlbm4gZGEgcmVhZ2llcnQKYXVjaCBuaWVtYW5kIGF1ZiBmcmFnZW4gZC5oLiBmdWVyIGFsbGUgTWFnaWVyIGRpZSByZWNodCBuZXUgc2luZDogd2VubiBpaHIKbW9yZ2VucyBzbyBhYiA3IGV1Y2ggZWlubG9nZ3QsIG9kZXIgYWJlbmRzIGFiIDIyLjAwIGRhcyBzaW5kIGRhbm4gWmVpdGVuIHdvCmlociBWSUVMTEVJQ0hUIGF1ZiAtbSBvZGVyIC1scGMgYXVjaCBhbnR3b3J0IGJla29tbXQgYW5zb25zdGVuIFZFUkdFU1NUIGVzIDotKAoKCk5haXJvbGYsIC1NYWdpZXItICwgLURlYnVnLSAsICpGUlVTVFJJRVJUKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFuemUgYnJlY2hlbi4uLiAoUmFudGFucGxhbiwgMTguIE9rdCAxOTk2LCAxNzoyNTowMSk6CkFiZXIgbnUgbW9zZXJ0IG5pY2h0IHNvIHZpZWwgdWViZXIgZGllIEhpZ2gtTHZsLU1hZ3MsIGRpZSBoYWJlIHNvb29vb28KdmllbCB6dSB0dW4gdW0gZGFzIE11ZCBhbSBsYXVmZW4genUgaGFsdGVuLCBkYSBoYWJlbiBzaWUgaGFsdCBmdWVyCiJ0cml2aWFsaXRhZXRlbiIga2VpbiBBdWdlIG1laHIuCgoqU29ycnkgd2VubiBpY2ggamV0enQgc2NobGVpbWUgYWJlciBIYXRlIHNlaSBoaWVyIGF1c2dlbm9tbWVuIChLZWluZSBJcm9uaWUpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhbnplIGJyZWNoZW4uLi4gKE5haXJvbGYsIDE4LiBPa3QgMTk5NiwgMTc6MjY6MTkpOgp+IyEgcm49UmFudGFucGxhbiBydD04NDU2NTIzMDEKfiMhIHRpZD04NDU2NTIzMDEKSElHSCBMRVZFTCA/Pz8/IGhvZWhlciBhbHMgSCB3YXIgbmllbWFuZCBkYSAoIGJpcyBlaW4gMTExIGthbSA6KSApCgpOYWkqIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYW56ZSBicmVjaGVuLi4uIChHcmltbWJvcm4sIDE4LiBPa3QgMTk5NiwgMTc6NDI6MjYpOgp+IyEgcm49TmFpcm9sZiBydD04NDU2NTIzNzkKfiMhIHRpZD04NDU2NTIzMDEKCkZ1ZXIgZWluZmFjaGUgRmVobGVyIGlzdCBkZXIgQmVmZWhsICJidWciIGRhLgpXZW5uIHN0YWVuZGlnIGplbWFuZCBmdWVyIGVpbmVuIHNpbXBsZW4gRlJaRyBlaW4gbXJ1ZiBsb3NsYWVzc3QgYnJhdWNodCBtYW4Kc2ljaCBuaWNodCB6dSB3dW5kZXJuIGRhc3MgZGVyIG1ydWYgdW50ZXIgTWFnaWVybiBpbmZsYXRpb25hZXIgaXN0LgpIZWxmZW4gaXN0IGluIHNvbGNoZW4gRmFlbGxlbiB0YXRzYWVjaGxpY2gga2F1bSBhbmRlcnMgYWxzIGR1cmNoIGRlc3RydWN0ZW4KbW9lZ2xpY2gsIHNjaGxpZXNzbGljaCBoYXQgbWFuIG1laXN0IG5pY2h0IHVlYmVyYWxsIFNjaHJlaWJyZWNodGUuIFdlbm4gbWFuCnRhdHNhZWNobGljaCBpbiBlaW5lciBOb3RsYWdlIGlzdCBoaWxmdCBlcyBlaGVyLCBlaW5lbiBNYWdpZXIgcGVyc29lbmxpY2gKYW56dXNwcmVjaGVuIGFscyB3aWxkIHJ1bXp1c2NocmVpZW4sIHdvIGRhbm4gamVkZXIgZGVua3QsIGRhcyBrYW5uIGF1Y2ggZGVyCktvbGxlZ2UgbWFjaGVuLiBEYWJlaSBzb2xsdGUgZXJzdGUgV2FobCBkZXIgdmVydXJzYWNoZW5kZSBNYWdpZXIgc2VpbiwgZGFubgpkZXNzZW4gUk0gdW5kIGFuZGVyZSBSZWdpb25zbWl0YXJiZWl0ZXIuIFVlYmVyZ3Jvc3NlcyBuZXJ2ZW4gZnVlaHJ0CnRhdHNhZWNobGljaCBudXIgZGF6dSwgZGFzcyBlbnRzcHJlY2hlbmRlIEthbmFlbGUgYWJnZXN0ZWxsdCB3ZXJkZW4uCldpcmtsaWNoZXMgaGVsZmVuIGdlaHQgZmFzdCBpbW1lciBudXIgbWl0IFNjaHJlaWJyZWNodGVuLiBEYXMgaXN0IGRlciBHcnVuZCwKd2FydW0gZGl2ZXJzZSBEZXBwcyB6d2FyIGFuZ2VyYW5udCBrb21tZW4sIGFiZXIgZGFubiBuaXggdHVuIGtvZW5uZW4uIFVuZAppcmdlbmR3YW5uIHNlaGVuIGF1Y2ggZGllIGVpbiwgZGFzcyBlcyBrYXVtIFNpbm4gaGF0LCBhbnp1a29tbWVuIHVtIGRhbm4gZWgKbmljaHRzIHJlcGFyaWVyZW4genUga29lbm5lbi4gVW5kIGRhbm4gbGFzc2VuIHNpZXMgYmxlaWJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgc29sbCBkYXM/IChCZW5kZWlnaWQsIDE4LiBPa3QgMTk5NiwgMTc6NTU6MDcpOgp+IyEgcm49QXRveiBydD04NDU2NTE5MjUKfiMhIHRpZD04NDU2NTE5MjUKQWVobS4uLi4uLgpTSUxWQU5BIEhBVCBTQ0hVTEQhISEgSmF3b2xsIQoKSWNoIGJla2VubmUgbWljaCBzY2h1bGRpZywgZGFzcyBiZXNhZ3RlciBCdWcgYXVmIG1laW5lIEthcHBlIGdlaHQuIEluendpc2NoZW4KaGFldHRlIGljaCBhdWNoIGdlbGVybnQgaGFiZW4gbXVlc3NlbiwgZGFzcyBtYW4gc2ljaCBhdWYgRU0gbmljaHQgdmVybGFzc2VuCmthbm4gKCpncmlucyopIApGb2xnZW5kZXMgaXN0IHBhc3NpZXJ0OiBEaWUga2xlaW5lIE1pbmlxdWVzdCBpbiBNb3Vsb2tpbiBpc3QgbWVpbmUsIHVuZCBzaWUKaXN0IHByaW1hZXIgZnVlciBkaWUgS2FlbXBmZXJnaWxkZSBnZWRhY2h0LiBEaWUgYWVybXN0ZW4gbXVlc3NlbiBkYXMgbmFlbWxpY2gKbWFsIHNwaWVsZW4sIHNvenVzYWdlbiBhbHMgQXVmc3RpZWdzYmVkaW5ndW5nLiBTcGllbGJhciBpc3QgZGllIFF1ZXN0IGplZG9jaApmdWVyIGFsbGUsIGF1Y2ggd2VubnMgIm51ciIgbmUgQmVsb2hudW5nIHVuZCBrZWluZSBBUCBnaWJ0LiBTaWx2YW5hIHdvbGx0ZSBzaWUKYXVjaCBhbHMgQmVkaW5ndW5nIGZ1ZXIgZGllIFphdWJlcmVyIGhhYmVuLCB1bmQgc2llIGJhdCBtaWNoLCBlaW5lCmtsaXR6ZWtsZWluZSBaZWlsZSBlaW56dWJhdWVuLCBkaWUgZGFmdWVyIHNvcmd0LCBhdWNoIFphdWJlcmVybiwgZGllIGRpZSBRdWVzdApsb2VzZW4sIGViZW4gamVuZSBhbnp1ZXJrZW5uZW4uIEJsb2VkZXJ3ZWlzZSBtdXNzIGljaCBkYWZ1ZXIgZWluIE9iamV0IGJlaSBpaHIKcGVyIGNhbGxfb3RoZXIgYXVmcnVmZW4sIHdlbGNoZXMgbGVpZGVyIG5pY2h0IGxhZGJhciB3YXIgb2RlciBzb25zdHdpZSBidWdndGUuCldpZSBhdWNoIGltbWVyLCBtZWluZSBob2xkZSBQcmluemVzc2luIHZlcnN1Y2h0ZSBudW4sIGRpZXNlcyBmZWhsZXJoYWZ0ZSBEaW5nCnp1IGxhZGVuLCB3YXMgbmF0dWVybGljaCBuaWNodCBrbGFwcHRlLiBGb2xnZTogTHVzdGlnZXIgc2Nyb2xsIGF1ZiBEZWJ1Zy4gRGVuCmhhYmVuIGFiZXIgZGFuayBnZXdpc3NlciBCdWdzIGluIGRlbiBLYW5hZWxlbiAoKmdyaW5zIGZyb2VobGljaCB6dSBIYXRlKikga2F1bQpMZXV0ZSBhbiwgd2VubiBtYW4gbmljaHQgc3BlemllbGwgZHJhbiBkZW5rdC4gVW5kIHdlbm4gbWFuIG5pY2h0IGdyYWRlIGluIGRlcgpHaWxkZSB3YXIsIHdvIGVzIGRhbm4gYXVjaCBsdXN0aWcgUlpHcyBzY3JvbGx0ZSwgZGFubiBrcmllZ3QgbWFucyBoYWx0IG5pY2gKbWl0LiBTbyBlaW5mYWNoIGlzdCBkYXMuCgpTbywgaWNoIGhvZmZlLCBkYW1pdCBpc3Qgd2VuaWdzdGVucyBkYXMgYXJndW1lbnQgZW50a3JhZWZ0ZXQsIHdpciAoTWFnaWVyKQp3YWVyZW4gdG90YWwgdW5kIGtvbXBsZXR0IGlnbm9yYW50LCBhcnJvZ2FudCB1bmQgdm9lbGxpZyBkZWludGVyZXNzaWVydCBhIGRlbSwKd2FzIGJlaSBldWNoIChTcGllbGVybikgbG9zIGlzdC4gICpraWNoZXIqCgpTb3JyeSBub2NobWFsLCBBdG96IHVuZCBUb2xnYW4sIGRhc3MgaWhyIG5vY2htYWwgZHVyY2ggZGllIFF1ZXN0IG11c3N0ZXQuCgpaJ3BhciBTZXJ2dSwgCiAgICAgICAgICAgICBCZW5kZWlnaWQKClAuUy46IE1vcmFsIHZvbiBkZXIgR2VzY2hpY2h0OiBUcmF1IGtlaW5lbSB1ZWJlciBMZXZlbCA0NS4gKCBhdXNzZXIgTXVwZgpldnRsLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhbnplIGJyZWNoZW4uLi4gKE11cGZlbCwgMTguIE9rdCAxOTk2LCAxNzo1NjoyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQ1NjUzMzQ2Cn4jISB0aWQ9ODQ1NjUyMzAxCkh1aHUKCkFsc28gZnVlciBCdWdzIGltIFNpbm5lIHZvbiBSWkdzIGJpbiBpY2ggKG1pdCkgenVzdGFlbmRpZy4gRGFydW0gZXZlbnR1ZWxsIG1pcgp3YXMgbWl0dGVpbGVuLCBhbnN0YXR0ICdtcnVmZScgenUgYmVudXR6ZW4uIEFCRVI6IEZ1ZXIgU3ludGF4cHJvYmxlbWUsClByb2JsZW1lIG1pdCBRdWVzdC1LTHMgdW5kIFpULUxpc3RlbiBiaW4gaWNoIE5JQ0hUIHp1c3RhZW5kaWchIEVzIGtvbW10IG9mdApnZW51ZyB2b3IgZGFzcyBtaXIgU3BpZWxlciBtaXR0ZWlsZW4gJ2hpZXIgaXN0IGVpbiBCdWcsIGljaCBrcmllZyBkZW4gWlQgaGllcgpuaWNodCcgb2RlciAnZWlnZW50bGljaCBzb2xsIGRpZSBLbGFwcGUgYXVmZ2VoZW4sIHdlbm4gaWNoIGRlciBSYXR0ZSBuZW4gVHJpdHQKZ2ViZScgb2RlciBzb3dhcy4gRGEgZnJhZ3QgbWFuIGJlc3NlciBkaWUgTWl0c3BpZWxlci4gTnVyIHdlbm4gcmljaHRpZ2UgQnVncwooJ0R1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UnKSBhdWZ0cmV0ZW4sIGlzdCBNYWdpZXJoaWxmZQpnZXJhdGVuLiBXZW5uIG1hbiB3ZWlzcywgd2VyIGRhcyBnZXByb2dndCBoYXQsIGlzdCBkZXJqZW5pZ2Ugb2RlciBzZWluClJlZ2lvbnNtYWdpZXIgZGllIGVyc3RlIEFuc3ByZWNocGVyc29uOyB3ZW5uIGtlaW5lciB2b24gZGVuZW4gZGEgaXN0LCBiaW4gaWNoCmVzIG9kZXIgZWluZXIgZGVyIGFuZGVyZW4gJ1dlaXNlbicgKE1hZ2llciBtaXQgTGV2ZWwgNTUsIGVya2VubmJhciBhbSBbV10gaW4KZGVyIFdlcmxpc3RlKS4KCkljaCBob2ZmZSBkYXMgaGlsZnQgZXVjaCB3ZWl0ZXIuCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGFuemUgYnJlY2hlbi4uLiAoSGFkcmEsIDE4LiBPa3QgMTk5NiwgMTg6NTU6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0NTY1MzM0Ngp+IyEgdGlkPTg0NTY1MjMwMQp3aWUgd2FlcnMgbWl0IG5lbSB1bWJhdSB2b24gbXJ1ZmUsIHNvIGRhc3MgZXMgbmljaHQgbWVociBhbiBhbGxlIG1hZ2llciBnZWh0LApzb25kZXJuCmEpIHdlbm4gZGVyIHZlcmFudHdvcmxpY2hlIGRhIGlzdCBhbiBkZW4sIHNvbnN0CmIpIGFuIGRlbiB6dXN0YWVuZGlnZW4gUk0gdW5kIHdlbm4gZGFubiBpbW1lciBub2NoIGtlaW5lIGdlZnVuZGVuIHdpcmQKYykgYW4gamVkZW4gYW5kZXJlbiBkZXIgZXMgZml4ZW4ga2Fubi4KCndpcmQgbmllbWFuZCBnZWZ1bmRlbiwgYmVrb21tdCBkZXIgc3BpZWxlciBuZSBwYXNzZW5kZSBydWVja21lbGR1bmcuCgpoYWRyYSAtIGtyYW10IHdpZWRlciBuYWNoIHBmZW5uaWdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgc29sbCBkYXM/IChXdXJ6ZWwsIDE4LiBPa3QgMTk5NiwgMTk6MjE6NTMpOgp+IyEgcm49TmFpcm9sZiBydD04NDU2NTIyMzIKfiMhIHRpZD04NDU2NTE5MjUKa2Flc2UuIGljaCB3ZWlzcyBuaWNodCwgd2llIGVzIHRhZ3N1ZWJlciBpc3QgKGltIGdlZ2Vuc2F0eiB6dXIgbWVocmhlaXQgaGllcgphcmJlaXRlIGljaCBhdWNoIHdhcyA6KSwgYWJlciBhYmVuZHMgc2luZCBpbiBhbGxlciByZWdlbCBsZXV0ZSBkYSwgZGllIApoZWxmZW4ga29lbm5lbi4gbmF0dWVybGljaCBrYW5uIG1hbiBvaG5lIGRpZSBlbnRzcHJlY2hlbmRlbiBzY2hyZWlicmVjaHRlCmtlaW5lIGRhdGVpZW4gYWVuZGVybiAoZGFmdWVyIGdpYnRzIGphIG11cGZlbCAmIGNvKSwgYWJlciBha3V0ZSBwcm9ibGVtZQpsYXNzZW4gc2ljaCBzY2hvbiBsb2VzZW4uCndlbm4gbWVsZHVuZ2VuIGF1ZiBkZWJ1ZyBrb21tZW4gKGRpZSBiZXJ1ZWhtdGVuIHJ6ZyksIG11c3MgbmljaHQgaW1tZXIgZ2xlaWNoCmVpbiBtYWdpZXIgZ2VzcHJ1bmdlbiBrb21tZW4uIGluIGRlciByZWdlbCwgd2VubiBzb3dhcyBoYWV1ZmlnZXIgdm9ya29tbXQsCmJlc2NocmFlbmtlIGljaCBtaWNoIGF1ZiBlaW5lIG1haWwgYW4gZGVuIGVudHNwcmVjaGVuZGVuIHp1c3RhZW5kaWdlbiwgZGFtaXQKZXIvc2llIGRhcyBpbiBvcmRudW5nIGJyaW5nZW4ga2Fubi4KdW5kIG5haXJvbGY6IGZyYWdlbiB3ZXJkZW4gaW4gZGVyIHJlZ2VsIHNjaG9uIGJlYW50d29ydGV0LiBtYW5jaG1hbCBpc3QgZGllCmFudHdvcnQgbmljaHQgZWluZmFjaCwgdW5kIHdlbm4gZXMgc2Nod2llcmlnZXIgd2lyZCwgZmFuZ2UgaWNoIG51ciBhbiB6dQpzdWNoZW4sIHdlbm4gaWNoIGRpcmVrdCBhbmdlc3Byb2NoZW4gd2VyZGUuIGVpbmUgYWxsZ2VtZWluZSBmcmFnZSBhdWYgZGVuCmViZW5lbiBpbXBsaXppZXJ0IGphLCBkYXNzIG5hY2ggZWluZXIgc2NobmVsbGVuIGFudHdvcnQgdm9uIGVpbmVtIAp3aXNzZW5zdHJhZWdlciBnZXN1Y2h0IHdpcmQuLi4gd2VubiBkYW5uIGViZW4ga2VpbmVyIGRhIGlzdCwgc29sbHRlIG1hbgpnZXppZWx0IHN1Y2hlbi4KCmtlaW4gZ3J1bmQgYWxzbyBmdWVyIGZydXN0cmF0aW9uLCB3ZWRlciBmdWVyIGRpY2ggbm9jaCBmdWVyIGFuZGVyZSBqdW5nbWFnaWVyLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYW56ZSBicmVjaGVuLi4uIChTY2hydW1wZmksIDE5LiBPa3QgMTk5NiwgMDE6MDA6MTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0NTY1MzM0Ngp+IyEgdGlkPTg0NTY1MjMwMQpOYSB0b2xsLCB3ZW5uIGljaCBpcmdlbmR3byBzdGVja2UgdW5kIG5pY2h0IG1laHIgcmF1cyBrYW5uIHpCIGhpbGZ0IGVzIG1pcgp2aWVsd2VubiBpY2ggZWluZW4gQnVnIGFic2V0emUuIFN0aW1tdCBzY2hvbiwgdWViZXIgbXJ1ZmUga2FubiBtYW4gc2ljaCBrYXVtCkhpbGZlIGVyd2FydGVuLiBJY2ggYmluIHNvIGVpbiBEZXBwIGRlciBtZWlzdGVucyBhbmdlcmFubnQga29tbXQgb2J3b2hsIGljaAp3YWhyc2NoZWlubGljaCBrZWluZSBTY2hyZWlicmVjaHRlIGhhYmUgYWJlciBtYW5jaG1hbCBrYW5uIGljaCBhdWNoIGhlbGZlbgpvaG5lLCBkYXNzIGljaCBTY2hyZWlicmVjaHRlIGhhYiB1bmQgZGFzIHdlaXNzIGljaCBoYWx0IG5pY2h0IGJldm9yIGljaCBtaXIKZGVuIEJ1ZyBuaWNodCBnZW5hdSBhbmdlc2VobiBoYWIuIEVzIGJsZWlidCBlaW5lbSBhcyBTcGllbGVyIGVoIG5peCBhbmRlcmVzCnVlYnJpZyBhbHMgZWluZW4gTWFnaWVyIHBlcnNvZW5saWNoIGFuenVsYWJlcm4gYWJlciBkYW5uIGZyYWcgaWNoIG1pY2ggd296dQptcnVmIHVlYmVyaGF1cHQgZGEgaXN0LCB3ZW5uIGVoIGtlaW5lciBkcmF1ZiByZWFnaWVydC4KUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExhbnplIGJyZWNoZW4uLi4gKFBpbGdyaW0sIDE5LiBPa3QgMTk5NiwgMTE6Mzc6MDYpOgp+IyEgcm49U2NocnVtcGZpIHJ0PTg0NTY3OTYxMwp+IyEgdGlkPTg0NTY1MjMwMQpIbW1tLAptYWwgZWluZSBGcmFnZSAuLi4gYmV2b3IgZGFzIGhpZXIgdmllbCBSYXVjaCB1bSBuaXggd2lyZCAuLi4KV2llIGdyb3NzIGlzdCBkYXMgUHJvYmxlbSB1ZWJlcmhhdXB0LCBzcHJpY2g6IGdpYnQgZXMgdWViZXJoYXVwdCBlaW4KUHJvYmxlbSA/Pz8KTy5LLiAgZWluZXIgaGF0IHNpY2ggamV0enQgYmVzY2h3ZXJ0IC4uLiB2b24gd2lldmllbC10YXVzZW5kIGFrdGl2ZW4KU3BpZWxlcm4gLi4uPz8/CkhlbGZlbiBNYWdpZXIgZ2VuZXJlbGwga2VpbmVuIFNwaWVsZXJuIG1laHIgYXVzIEJ1Z3MgaGVyYXVzID8/PwpJZ25vcmllcmVuIE1hZ2llciBnZW5lcmVsbCBhbGxlcyB3YXMgYXVmIG1ydWZlIGtvbW10LgpOaWVtYW5kIGRhLCBkZXIgbmUgTGFuemUgZnVlciBuZW4gTWFnaWVyIGJyaWNodCwgZGVyIGlobS9paHIgbWFsIGdlaG9sZmVuCmhhdD8/PwoKUGlsZ3JpbSBncnVlYmVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYW56ZSBicmVjaGVuLi4uIChCYWJzLCAxOS4gT2t0IDE5OTYsIDE2OjUwOjQ5KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODQ1NjUyMzAxCn4jISB0aWQ9ODQ1NjUyMzAxCkFsc28sIHdlbm4gaWNoIG5lIExhbnplIGZ1ZXIgSGF0ZSBicmVjaGUsIGRhbm4gaG9lY2hzdGVucyBhdWYgc2VpbmVtCkFsbGVyd2VydGVzdGVuISA7LVAKTWlyIHNjaHVsZGV0IGVyIGpldHp0IHNjaG9uIHZpZXIgV29jaGVuIGRpZSAiNjAlIiAoPSBjYS4gMTAgdm9uIDE3KSBCdWdzLApkaWUgYW5nZWJsaWNoIGtlaW5lIHNlaW4gc29sbGVuLCBzb25kZXJuIG51cgoiVW52ZXJzdGFlbmRuaXMiIG1laW5lcnNlaXRzLgoqZ3J1bW1lbGJydW1tZWxtdW1tZWwqCkFiZXIgbWl0IEF1c25haG1lIGRlcyBrbGVpbmVuIFNjaG9lbmhlaXRzZmVobGVycyBhbiBkZXIgWmVpdHVuZyBidWdnZW4KKHZvcmFsbGVtIGRpZSBDb250YWluZXIgdW5kIGRpdWUgRGV0YWlscyBhbiBkZW4gR2VnZW5zdGFlbmRlbikgaW1tZXIgbm9jaApmcm9laGxpY2ggdm9yIHNpY2ggaGluLiFlYmVuZW4gYXVzCih1cHMgLi4uKQoKR2licyB6dSwgSGF0aWxlaW4sIEhlcnppbGVpbiAoZWguLi4gRXJ6aWxlaW4pLCBEdSBoYXN0IGVzIGltIFZvbGxiZXd1c3RzZWluCkRlaW5lciAgVWViZXJsZWdlbmhlaXQgaW4gYWxsIGRlbiBXb2NoZW4gbmljaHQgZnVlciBub2V0aWcgYmVmdW5kZW4sIGRpZQpnZW5hdSBnZXNjaGlsZGVydGVuIEZlaGxlciBhdWNoIG51ciBtYWwgenUgcmVwcm9kdXppZXJlbiEgOi0oKAoKV296dSBzb2xsIGZyYXUgdWViZXJoYXVwdCBub2NoIE11ZGxpYi1CdWdzIG1lbGRlbiwgd2VubiBzaWNoIGRpZQpWZXJhbnR3b3J0bGljaGVuCm5vY2ggbmljaHQgbWFsIGRpZSBNdWVoZSBtYWNoZW4sIGVpbmVuIEZlaGxlciBpbiBCZXRyYWNodCB6dSB6aWVoZW4/CgpQUzogTmVpbiwgaWNoIG1vc2VyIG5pY2h0IE5VUiBydW0uIERydW0gZWluIGF1c2RydWVja2xjaGVzIExvYiBhbiBMb2NvLApkZXIgc2VpbmVuIChCYWdhdGVsbC0pYnVnIGFuIGRlciBaZWl0dW5nIHVtZ2VoZW5kIGdldGVzdGV0IHVuZCBnZWZpeHQgaGF0Lgo6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGFuemUgYnJlY2hlbi4uLiAoQ2FyYWRocmFzLCAxOS4gT2t0IDE5OTYsIDIzOjAxOjE4KToKfiMhIHJuPUJhYnMgcnQ9ODQ1NzM2NjQ5Cn4jISB0aWQ9ODQ1NjUyMzAxClBpbD4gV2llIGdyb3NzIGlzdCBkYXMgUHJvYmxlbSB1ZWJlcmhhdXB0LCBzcHJpY2g6IGdpYnQgZXMKUGlsPiB1ZWJlcmhhdXB0IGVpbiBQcm9ibGVtID8/PwoKS2xhciwgbWFuY2htYWwgZ2lidCBlcyByaWVzaWdlIFByb2JsZW1lLi4uIHpCIGdlc3Rlcm4sIGFscyBlcyBSWkdzCmJlaW0gZXJzdGVuIEJldHJldGVuIG1hbmNoZXIgUmFldW1lIGluIGRlciBTU1AgZ2FiLCBnaW5nIGRhcyBzb2dhcgpzbyB3ZWl0LCBkYW5uIG1hbiBhdXMgbWFuY2hlbiBUZWlsZW4gZGVyIFNTUCBuaWNodCByYXVza2FtLiBtcnVmZQp1bmQgc29nYXIgdGVpbGUgbWl0ICh1bmQgbmF0dWVybGljaCBkaWUgS2FuYWVsZSBhdWNoKSBoYWxmZW4gZGEgZ2FyCm5peCwgc29nYXIgYWxzIG5pY2h0LWlkbGVuZGUgRXJ6aWVzIGRhIHdhcmVuLgoKVW5kIGVzIGlzdCBnYXIgbmljaHQgbHVzdGlnLCB3ZW5uIG1hbiBpbiByYWV1bWUga29tbXQgaW4gZGVuZW4gZGllCk1vbnN0ZXIgZmVobGVuIHVuZCBub2NoIDIgdm9uIDMgZXhpdHMuIEVpbiBlaW56aWdlciBNYWdpZXIgaGFsZgptaXIgZGFubiwgd2VsY2ggV3VuZGVyLCBlciBzYXNzIGF1Y2ggaW4gbWVpbmVyIE5hZWhlLi4uIGFiZXIgZGFzCmZpbGUgd2FyIGtvcnJla3QsIFZyYWkgd3VyZGUgZGFubiBhdWNoIG5vY2ggdm9uIG1pciBhbmdlaGF1dCwgZGFzCmlzdCBkZXIgZWluemlnZSBkZXIgYW5zb25zdGVuIGRpcmVrdCBnZWhvbGZlbiBoYXQsIHNjaGFkZSBlaWdlbnRsaWNoLApkYXNzIGRlciBuaWNodCBtZWhyIEVyeiBpc3QsIGlzdCBtaXIgdW52ZXJzdGFlbmRsaWNoLCBzbyBzY2huZWxsIHVuZApkaXJla3QgKHVuZCBndXQpIHdpZSBlciBpbW1lciBoYWxmLiBWaWVsbGVpY2h0IGlzdCBkYXMgZGVyIEdydW5kPwoKCk5hdHVlcmxpY2ggaGFiZW4gbWlyIGF1Y2ggc2Nob24gTWFnaWVyIGdlaG9sZmVuLCBpbiBmYXN0IDQgSmFocmVuCk1HIGlzdCBkYXMgdW51bWdhZW5nbGljaC4gRWJlbnNvIHdpZSBpY2ggaGllciBhdWNoIHNjaG9uIE1hZ2llcm4KZ2Vob2xmZW4gaGFiZS4gOikKCiAgICAgIHRzY2h1ZXNzICAgICAgICAgIFJvdGhvcm4gQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYW56ZSBicmVjaGVuLi4uIChDYXJhZGhyYXMsIDE5LiBPa3QgMTk5NiwgMjM6MDQ6MjIpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg0NTc1ODg3OAp+IyEgdGlkPTg0NTY1MjMwMQpKYWphLCBWcmFpIHdhciA1NWVyLi4uIGljaCB3ZWlzcy4gVHJvdHpkZW0ga29ubnRlIGVyIGRhbWFscyBldHdhcwpiZXNzZXIgaGVsZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFuemUgYnJlY2hlbi4uLiAoV3VyemVsLCAxOS4gT2t0IDE5OTYsIDIzOjEzOjMwKToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDU3NTkwNjIKfiMhIHRpZD04NDU2NTIzMDEKaWNoIGthbm4gZXMgbnVyIHdpZWRlcmhvbGVuOiBzcHJlY2h0IGRpZSBsZXV0ZSBkaXJla3QgYW4uIGF1ZiBtcnVmZSByZWFnaWVyZQppY2ggbm9ybWFsZXJ3ZWlzZSBuaWNodCwgdW5kIGRpZSBrYW5hZWxlLi4uIHdlbm4gaWhyIGVzIHNjaGFmZnQsIGF1ZiBkZW0KbWFnaWVyLSBvZGVyIGxwYy1rYW5hbCB6dSBzZW5kZW4sIG9rYXkgOj0pIGFiZXIgZGFzIGFsbGdlbWVpbi1nZXN1ZWx6ZSBzdG9lcnQKbWljaCBlaGVyLCBkYWhlciBoYWIgaWNoIGVzIGF1c2dlc2NoYWx0ZXQuIHVuZCB2aWVsZSBhbmRlcmUgc2ljaGVyIGF1Y2guCgpkYXMgcHJvYmxlbSBpc3QgZWlnZW50bGljaCBnYW56IGVpbmZhY2ggdW5kIGVpbmxldWNodGVuZDogZXMgc2luZCBqYSBub2NoCmFuZGVyZSBkYSwgc29sbGVuIGRpZSBkYXMgbWFjaGVuLCBpY2ggaGFiIGdyYWQga2VpbmUgemVpdC9sdXN0L2FobnVuZy4Ka2VubnQgbWFuIGluIGFiZ2V3YW5kZWx0ZXIgZm9ybSBhdWNoIGFscyBmbG9yaWFuc3ByaW56aXAuIHdlbm4gaWhyIGVpbmVuCm1hZ2llciBkaXJla3QgYW5zcHJlY2h0LCBoYXQgZXIgZGllc2VuIGZsdWNodHdlZyBuaWNodCAob2RlciBuaWNodCBzbwplaW5mYWNoKS4KCnVlYnJpZ2VucyBoYWIgaWNoIGhldXRlIGF1Y2ggZGFzIHByb2JsZW0gaW4gZGVyIHNzcCBnZXNlaGVuLiBkYSB3YXIgYWJlcgp3b2hsIGR1cmNoYXVzIGRhcyBmaWxlIG5pY2h0IGluIG9yZG51bmcuIHdhZXJlIGphIG5pY2h0IGRhcyBlcnN0ZSBtYWwsIGRhc3MKdGVpbGUgdm9uIGZpbGVzIGhpZXIgdm9uIGRlciBwbGF0dGUgZ2VmcmVzc2VuIHdlcmRlbiwgdmllbGxlaWNodCBoYXQgZXMKZGllc21hbCBib2luZyBlcndpc2NodC4gYWJlciBhdWNoIGluIHNvbGNoZW4gZmFlbGxlbiBrYW5uIGVpbiAiZWluZmFjaGVyIgptYWdpZXIgd2VuaWdzdGVucyBkYXMgYWt1dGUgcHJvYmxlbSBsb2VzZW4uIGVzIG11c3MgbmljaHQgaW1tZXIgZ2xlaWNoIGVpbgplcnppIHNlaW4gKHdlciBzaWNoIGF1ZiBkaWUgZXJ6aXMgdmVybGFlc3N0Li4uLikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGFuemUgYnJlY2hlbi4uLiAoQ2FyYWRocmFzLCAxOS4gT2t0IDE5OTYsIDIzOjE1OjE4KToKfiMhIHJuPVd1cnplbCBydD04NDU3NTk2MTAKfiMhIHRpZD04NDU2NTIzMDEKJ2VpbmZhY2hlJyBtYWdpZXIga29ubnRlbiBESUVTRVMgUHJvYmxlbSB3ZW5pZ3N0ZW5zIG5pY2h0IGxvZXNlbgp1bmQgaWNoIHNwcmVjaGUgbm9ybWFsIGltbWVyIE1hZ2llciBhbiBwZXIgdG0sIGZhbGxzIHNpZSBhdWYgbXJ1ZmUKbmljaHQgcmVhZ2llcmVuLgpUcm90emRlbSBrZWluZSBSZWFrdGlvbi4gT2ssIFd1cnplbCByZWFnaWVydCBpbW1lciBkYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGFuemUgYnJlY2hlbi4uLiAoV3VyemVsLCAxOS4gT2t0IDE5OTYsIDIzOjIwOjE1KToKfiMhIHJuPUNhcmFkaHJhcyBydD04NDU3NTk3MTgKfiMhIHRpZD04NDU2NTIzMDEKdmllbGxlaWNodCBzb2xsdGUgaWNoIG1hbCBlcmxhZXV0ZXJuLCB3YXMgaWNoIHVudGVyICJlaW5mYWNoZW4gbWFnaWVybiIKdmVyc3RlaGUuLi4gZGFzIHNpbmQgbGV1dGUsIGRpZSBscGMga29lbm5lbiB1bmQgc2ljaCBhdWNoIGluIGRlciBzdWNoZQpuYWNoIGZlaGxlcm4gZXJmYWhydW5nIGFuZ2VlaWduZXQgaGFiZW4sIGFiZXIgb2huZSBzY2hyZWlicmVjaHRlIGF1ZiBmcmVtZGUKZGlyZWN0b3JpZXMuCgplcyBnaWJ0IGF1Y2ggbm9jaCBuYXNlbmJhZXJlbiwgZGllIHphZWhsZSBpY2ggbmljaHQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExhbnplIGJyZWNoZW4uLi4gKFN1c2hpLCAyMC4gT2t0IDE5OTYsIDAxOjMxOjE5KToKfiMhIHJuPVd1cnplbCBydD04NDU3NjAwMTUKfiMhIHRpZD04NDU2NTIzMDEKU3VzaGkgZGVyIE5hc2VuYmFlciAtIGtsaW5ndCBndXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExhbnplIGJyZWNoZW4uLi4gKEhhZHJhLCAyMC4gT2t0IDE5OTYsIDAyOjQyOjQ1KToKfiMhIHJuPVd1cnplbCBydD04NDU3NTk2MTAKfiMhIHRpZD04NDU2NTIzMDEKCndlbm4gbXJ1ZmUgdm9uIG5pZW1hbmRlbSBiZWFudHdvcnRldCwgZGFubiBiYXV0IGVzIGF1cywgYWJlciBsYXNzdCBkaWUgc3BpZWxlcgpuaWNodCBpbiBkZW0gZ2xhdWJlbiwgZGFzIHNlaSBlaW4gc2lubnZvbGxlciBiZWZlaGwuCgp3ZW5uIGlociBkaWUgbW9lZ2xpY2hrZWl0IGZ1ZXIgZGVyYXJ0aWdlIHJ1ZmUgZWluYmF1dCwgZGFubiBtdWVzc3QgaWhyIGF1Y2gKZHJhdWYgZWluZ2VoZW4uCgpoYWRyYSAtIGZpbmRldCBkYXMgc2VsdHNhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQlVHUyBJTiBERVIgU1NQIChEYW50ZSwgMjAuIE9rdCAxOTk2LCAxMDozNjoyOSk6CldpZSBzaWNoZXJsaWNoIHNjaG9uIGVpbmlnZSBmZXN0Z2VzdGVsbHQgaGFiZW4gYnVndCBkaWUgU1NQIG1vbWVudGFuLi4uLi4KSWNoIHdhcm5lIGhpZXJtaXQgYWxsZSBkZW4gQXVzZ2FuZyBOb3JkZW4gYmVpbSBLaWxsZXJwb3BlbCB6dSBuZWhtZW4sIGRlbm4gaW0KbmFlY2hzdGVuIFJhdW0gZmVobGVuIDIgQXVzZ2FlbmdlLCBuYWVtbGljaCBOIHVuZCBTIG51ciBXIGZ1bmt0aW9uaWVydCBub2NoLgpJY2ggYmluIGluIGRlbiBsZXR6dGVuIFRhZ2VuIDMgTWFsIGhpZXIgZWluZ2VzcGVycnQgZ2V3ZXNlbiB1bmQgYXVmIG1ydWZlIGhhdAptaXIgbmllbWFuZCBnZWhvbGZlbiwgamEgbmljaHQgZWluYW1sIGdlYW50d29ydGV0LgpXZW5uIG1hbiBlaW5lbiBNYWdpZXIgcGVyc29lbmxpY2ggYW5zcHJpY2h0IHNjaGVpbnQgZXIgZWhlciBnZXdpbGx0IHp1IHNlaW4genUKaGVsZmVuIQpEYW50ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgc29sbCBkYXM/IChTaWx2YW5hLCAyMS4gT2t0IDE5OTYsIDA4OjU1OjI0KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NDU2NTQxMDcKfiMhIHRpZD04NDU2NTE5MjUKT0ssIGRhIGRhcyBoaWVyIGF1ZiBicmVpdGdldHJldGVuIHdlcmRlbiBtdXNzdGUsIHN0YXR0LCB3aWUgZXMgc2ljaCBnZWhvZXJ0LAp1bnRlciBkZW4gQmV0cm9mZmVuZW4gcGVyIG1haWwgZ2Vsb2VzdCB6dSAgd2VyZGVuLCBnaWJ0IGVzIGpldHp0IG5lIGtsZWluZQpMUEMtTmFjaGhpbGZlc3R1bmRlIGZ1ZXIgQmVuZGVpZ2lkIHVuZCBhbGxlLCBkaWUgc29uc3Qgbm9jaCB3YXMgbGVybmVuCndvbGxlbi4gOikKCkFsc286IEluIEJlbmRlaWdpZHMgZmlsZSBzdGFuZDoKICBpZihvYj1maW5kX3BsYXllcihmdWVocmVyKS0+UXVlcnlQcm9wKFBfR1VJTEQpPT0iemF1YmVyZXIiKQogICAgIGNhbGxfb3RoZXIoIi4uLi4gZGFzIGlzdCBqZXR6dCBuaWNodCBtZWhyIHdpY2h0aWcuLi4iKTsKRGllIGNhbGxfb3RoZXItWmVpbGUgd2FyIGRhcywgd2FzIGVyIGZ1ZXIgbWljaCBlaW5iYXVlbiBzb2xsdGUsIHVuZCBkYQp3YXIgZGVyIEJ1ZyBuaWNodC4gOikKRGVyIGVpZ2VudGxpY2hlIEJ1ZyBsaWVndCBhbiBmb2xnZW5kZW0uIEluIExQQyBoYXQgKHdpZSBpbiBDKyspIGVpbgpjYWxsX290aGVyLCBhbHNvIGRlciAtPiB1bmQgZWluZSBWZXJnbGVpY2hzb3BlcmF0aW9uIHdpZSBkYXMgPT0gemVpdGxpY2gKVm9ycmFuZyB2b3IgZGVyIFp1d2Vpc3VuZywgYWxzbyBkZXIgPS4gTnVuIHdpcmQgYWxzbyBkaWUgWmVpbGUgd2llIGZvbGd0CmFiZ2VhcmJlaXRldDoKICBmaW5kX3BsYXllcihmdWVocmVyKSAgLy8gbGllZmVydCBkZW4gU3BpZWxlciBhbHMgT2JqZWt0LVBvaW50ZXIuCiAgZmluZF9wbGF5ZXIoZnVlaHJlciktPlF1ZXJ5UHJvcChQX0dVSUxEKSAgLy8gbGllZmVydCBkZW4gR2lsZGVubmFtZW4KICBmaW5kX3BsYXllcihmdWVocmVyKS0+UXVlcnlQcm9wKFBfR1VJTEQpPT0iemF1YmVyZXIiICAvLyBXYWhyIG9kZXIgZmFsc2NoLgogIHVuZCBkYXMgd2lyZCBkYW5uIGRlciBvYmplY3QtVmFyaWFibGUgb2IgenVnZXdpZXNlbi4gCkhhbmRlbHQgZXMgc2ljaCBuaWNodCB1bSBlaW5lbiBaYXViZXJlciwgaXN0IGRlciBWZXJnbGVpY2ggMCB1bmQgaW4gb2IKbGFuZGV0IGVpbiBaZXJvLVBvaW50ZXIuIElzdCBlcyBlaW4gWmF1YmVyZXIsIGlzdCBkZXIgVmVyZ2xlaWNoIDEuIEZvbGdsaWNoCm11c3MgTFBDIHZlcnN1Y2hlbiwgZWluZSBXYWhyYXVzc2FnZSBpbiBlaW5lbiBPYmplY3QtUG9pbnRlciB6dSBrb252ZXJ0aWVyZW4uCkRhcyBkYXMgbmljaHQgZ2VodCB1bmQgZWluZW4gRmVobGVyIGVyemV1Z3QsIHNvbGx0ZSBrbGFyIHNlaW4uCgpTbywgaWNoIGhvZmZlLCB3aXIgaGFiZW4gamV0enQgYWxsZSBkcmF1cyBnZWxlcm50LiBWb3IgYWxsZW0sIGRhc3MgbWFuIG5pY2h0CmFuZGVyZSBvZWZmZW50bGljaCBhbnNjaHdhZXJ6dCwgd2VubiBtYW4gbmljaHQgZWlubWFsIHdlaXNzLCB3b3ZvbiBtYW4gCnJlZGV0LiBTb3dhcyBtYWNodCBtYW4gZ2VmYWVsbGlnc3QgaW0gU3RpbGxlbiB1bmQgaW4gUnVoZSBhdXMuIERpZXNlClplaXR1bmdzLUhldHprYW1wYW5nZW4gbWFjaGVuIG5pY2h0cyBhbHMgc2NobGVjaHRlIExhdW5lIHVuZCBub2NoIHdlbmlnZXIKTHVzdCwgYmVpIGZyZW1kZW4gQnVncyB6dSBoZWxmZW4uIEF1Y2ggd2VubiBpY2ggZW50Z2VnZW4gbWVpbmVyIEdld29obmhlaXQKbWFsIFIqIHVuZCBHcmltbSogenVzdGltbWVuIG11c3M6IEplbWFuZGVuIHBlcnNvZW5saWNoIGZyZXVuZGxpY2ggYW5zcHJlY2hlbgpoaWxmdCBpLkEuIG1laHIgYWxzIHp1bWJydWVsbGVuIHVuZCBEZWJ1ZyB2b2xsc2Nyb2xsZW4uCgogIFNpbHZhbmEKClBTOiBadSBCZW5kZWlnaWRzIEVocmVucmV0dHVuZyBzZWkgZ2VzYWd0OiBVZWJlciBlaW5lbiBhZWhubGljaGVuIEJ1ZyBiaW4KICAgIGljaCBhdWNoIHNjaG9uIGdlc3RvbHBlcnQsIGJpcyBtaXIgQm9pbmcgbmFjaCBzdHVuZGVubGFuZ2VyIFN1Y2hlIAogICAgbWl0dGVpbHRlLCBkYXNzIGVyIHNjaG9uIGRhcyBnbGVpY2hlIFByb2JsZW0gaGF0dGUsIGJpcyBpaG0gSm9mIG5hY2gKICAgIHN0dW5kZW5sYW5nZXIgU3VjaGUuLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgc29sbCBkYXM/IChNb3Jnb3RoLCAyMS4gT2t0IDE5OTYsIDA5OjAwOjE5KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODQ1ODgwOTI0Cn4jISB0aWQ9ODQ1NjUxOTI1CkphamEsIGRpZSBLbGFtbWVybiA7LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJVR1MgSU4gREVSIFNTUCAoU2lsdmFuYSwgMjEuIE9rdCAxOTk2LCAwOToxMjoyNCk6Cn4jISBybj1EYW50ZSBydD04NDU4MDA1ODkKfiMhIHRpZD04NDU4MDA1ODkKRGllc2UgU3RlbGxlIGhhYmUgaWNoIHByb3Zpc29yaXNjaCBnZWZpeGVkLiBPYiBub2NoIGFuZGVyZSBTdGVsbGVuIApiZXRyb2ZmZW4gc2luZCwgd2Vpc3MgaWNoIG5pY2h0LiAKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGFuemUgYnJlY2hlbi4uLiAoUWl0ZXNzLCAyMS4gT2t0IDE5OTYsIDA5OjMwOjQ4KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODQ1NzE3ODI2Cn4jISB0aWQ9ODQ1NjUyMzAxCgphbHNvIDogaWNoIGhhYmUgYmlzaGVyIG51ciBlaW5tYWwgbXJ1ZmUgYmVudXR6dCwgdW5kIGRhIHNpbmQgc29mb3J0IHp3ZWkgbWFncwpnZWtvbW1lbi4gdW5kIHp3YXIgbXVwZmVsIHVuZCByb2NodXMuIHVuZCBkYXMgd2FyIGRlc3dlZ2VuIHNvIHRvbGwsIHdlaWwgZXMgenUKZWluZXIgemVpdCB3YXIsIHdvIEFMTEUgaXJnZW5kd2VsY2hlIGJ1Z3MgaW4gaWhyZW4gd2FmZmVuIGhhdHRlbiB1bmQgZGllCm1hZ2llciBkZW1lbnRzcHJlY2hlbmQgZ2VuZXJ2dCB3YXJlbi4gdW5kIGF1c3NlciBpbW1lciB1ZWJlcmFsbCB2b3Jrb21tZW5kZW4KYXVzbmFobWVuIGhhYmUgaWNoIGFic29sdXQga2VpbmUgcHJvYmxlbWUgbWl0IG1hZ3MgOikKClFJICAqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGFuemUgYnJlY2hlbi4uLiAoUGFtcGVycywgMjEuIE9rdCAxOTk2LCAwOTozNTo0Nyk6Cn4jISBybj1RaXRlc3MgcnQ9ODQ1ODgzMDQ4Cn4jISB0aWQ9ODQ1NjUyMzAxCj4gYWxzbyA6IGljaCBoYWJlIGJpc2hlciBudXIgZWlubWFsIG1ydWZlIGJlbnV0enQsIHVuZCBkYSBzaW5kIHNvZm9ydCB6d2VpCm1hZ3MKPiBnZWtvbW1lbi4gCgpEdSBiaXN0IGphIGF1Y2ggd2VpYmxpY2guLi4gVmVyc3VjaCBkYXMgYWxzIG1hZW5ubGljaGVyIFNwaWVsZXIgdW5kIER1IHdpcnN0CnVlYmVycmFzY2h0LgogKmdyaW5zKgoKUGFtcGVycy4gQnJlaXQgZ3JpbnNlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgbmFjaGdlZnJhZ3QgLi4uIChSaW5nb3IsIDIxLiBPa3QgMTk5NiwgMTI6MDc6MDMpOgpWb3IgbnVuIHNjaG9uIGVpbmVyIGdhbnplbiBXZWlsZSBoYXQgc2ljaCBLaXJrIGRyYW5nZW1hY2h0IHVuZCBkaWUgUGFzc3dvZXJ0ZXIKZGVyIFNwaWVsZXIvTWFnaWVyIHVlYmVycHJ1ZWZ0IC0gbWl0IHppZW1saWNoZW4gRXJmb2xnLCB3aWUgZXMgc2ljaCBhbmhvZXJ0ZS4KCkF1ZiBkZW4gUHJvdGVzdCB2b24gZWluaWdlbiBTcGllbGVybiBoaW4gd3VyZGUgZGFubiBhbmdla3VlbmRpZ3QsIE1haWxzIGFuIGRpZQpMZXV0ZSB6dSB2ZXJzY2hpY2tlbiwgZGVyZW4gUGFzc3dvcnQgZ2VjcmFja2VkIHdlcmRlbiBrb25udGUuCgpBbGxlcmRpbmdzIGtlbm5lIGljaCBhdXNzZXIgU2NocnVtcGZpIGtlaW5lbiwgZGVyIGVpbmUgc29sY2hlIE1haWwgYmlzaGVyIGJlLQprb21tZW4gaGFldHRlIC0gdW5kIGRhcyBiZWkgbWFuY2hlbiB6aWVtbGljaCBlaW5mYWNoZW4gUGFzc3dvZXJ0ZXJuLgoKU29sbGVuIGRpZSBNYWlscyBqZXR6dCBub2NoIHZlcnNjaGlja3Qgd2VyZGVuPyBTaW5kIHNpZSB2ZXJzY2h1ZXR0IGdlZ2FuZ2VuPyAKT2RlciB3YXIgZGllIEFua3VlbmRpZ3VuZyBudXIgZWluZSAiQmVydWhpZ3VuZyIgZnVlciBkaWUgcHJvdGVzdGllcmVuZGVuIApTcGllbGVyPwoKUmluZ29yLiBNb2VjaHRlIGVuZGxpY2ggd2lzc2VuLCB3aWUgc2ljaGVyIHNlaW4gUGFzc3dvcnQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBuYWNoZ2VmcmFndCAuLi4gKFBhbXBlcnMsIDIxLiBPa3QgMTk5NiwgMTI6MDg6MTcpOgp+IyEgcm49UmluZ29yIHJ0PTg0NTg5MjQyMwp+IyEgdGlkPTg0NTg5MjQyMwpBbHNvIGljaCBoYWIgc28gbmUgTWFpbCBnZWtyaWVndC4uLgpVbmQgd2FyIHNlaHIgdWViZXJyYXNjaHQsIGRhc3MgY3JhY2sgZGFzIHBhc3N3b3JkICJwb2xpemVpMCIgaGVyYXVzYmVrb21tdC4gOigKClBhbXBlcnMuIEhhdHMgbmF0dWVybGljaCBnZWFlbmRlcnQuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMYW56ZSBicmVjaGVuLi4uIChSb2NodXMsIDIxLiBPa3QgMTk5NiwgMTI6NDE6MDEpOgp+IyEgcm49U2NocnVtcGZpIHJ0PTg0NTY3OTYxMwp+IyEgdGlkPTg0NTY1MjMwMQptcnVmZSBpc3QgZWlnZW50bGljaCBudXIgZnVlciBhYnNvbHV0ZSBOb3RmYWVsbGUgZ2VkYWNodCwKd2VubiBub2NoIG5pY2h0IGVpbm1hbCBtZWhyIHRlaWxlIG1pdCBvZGVyIGRpZSBLYW5hZWxlIGZ1bmt0aW9uaWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIG5hY2hnZWZyYWd0IC4uLiAoTW9yZ290aCwgMjEuIE9rdCAxOTk2LCAxMjo0MTo0MSk6Cn4jISBybj1SaW5nb3IgcnQ9ODQ1ODkyNDIzCn4jISB0aWQ9ODQ1ODkyNDIzCkljaCBpY2ggaWNoIGhhYiBuZSBtYWlsIGJla29tbWVuIDstKSkpIApOYWphLCBpY2ggZGFjaHRlIGZ1Y2t5b3Ugd2FlcmUgc2ljaGVyIDstKSkpCk1vcmdvdGgKUC5TLjogSWNoIGhhYiBtZWluIHBhc3N3b3J0IGdlYWVuZGVydCwgYWxzbyBrZWluZSBjaGFuY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFsIG5hY2hnZWZyYWd0IC4uLiAoQmxvb2R5aGFycnksIDIxLiBPa3QgMTk5NiwgMTI6NDE6NDgpOgp+IyEgcm49UGFtcGVycyBydD04NDU4OTI0OTcKfiMhIHRpZD04NDU4OTI0MjMKVW5kIHdpZSBoZWlzc3QgZXMgamV0enQ/ICJwb2xpemVpMSIgPyA7LSkKQWJlciBpY2ggZGVua2UsIHNlaHIgdmllbGUgUGFzc3dvZXJ0ZXIgd2VyZGVuIGRhZHVyY2ggYXVjaCBoZXJhdXNnZWZ1bmRlbiwKaW5kZW0gbWFuIGRlbiBMZXV0ZW4gYmVpbSBFaW50aXBwZW4gdWViZXIgZGllIFNjaHVsdGVyIHp1IHNjaGF1dC4gT2RlciBkYXMgUFcKd2lyZCBwbG9ldHpsaWNoIGdlZWNob3QgLSBnZWxsZSBQYW1waT8gOy0pKSkKCmJoCjp3cQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWwgbmFjaGdlZnJhZ3QgLi4uIChSaW5nb3IsIDIxLiBPa3QgMTk5NiwgMTI6NDQ6NTApOgp+IyEgcm49TW9yZ290aCBydD04NDU4OTQ1MDEKfiMhIHRpZD04NDU4OTI0MjMKQWxzbyBlbnR3ZWRlciBoYWJlbiBudXIgTWFnaWVyIGRpZXNlIE1haWxzIGJla29tbWVuLCBvZGVyIGRhcyBDcmFja3Byb2dyYW1tCmhhdCBlaW5lIGV0d2FzIGFuZGVyZSBWb3JzdGVsbHVuZyB2b24gImxlaWNodGVuIiBQYXNzd29lcnRlcm4gCmFscyBpY2guIDstKQoKUmluZ29yLiBJc3Qgc2ljaCBub2NoIG5pY2h0IGdhbnogc2ljaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFsIG5hY2hnZWZyYWd0IC4uLiAoV2FyZ29uLCAyMS4gT2t0IDE5OTYsIDEyOjUyOjQzKToKfiMhIHJuPVJpbmdvciBydD04NDU4OTQ2OTAKfiMhIHRpZD04NDU4OTI0MjMKV2VubiBpY2ggZGFzIHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlLCBrb25udGUgZGFzIFByb2dyYW1tIHdlaXQgdWViZXIgMzAwMApQYXNzd29lcnRlciBrbmFja2VuLiBFbnR3ZWRlciBoYXQgS2lyayBzaWNoIGdlc2FndDogIkhtLCBiZXNzZXIgbnVyIGRpZSBNYWdpZXIKYmVuYWNocmljaHRpZ2VuIiAod2FzIGF1Y2ggd29obCBkZXIgd2ljaHRpZ2VyZSBUZWlsIGlzdCksIG9kZXIgRGVpbmUgTWFpbCBpc3QKZWluZmFjaCBub2NoIG5pY2h0IHJhdXMgOikKICBXYXJnb24KUFM6IEljaCB0aXBwIG1hbCBhdWYgRXJzdGVyZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMYW56ZSBicmVjaGVuLi4uIChNdXBmZWwsIDIxLiBPa3QgMTk5NiwgMTI6NTU6MjUpOgp+IyEgcm49UGFtcGVycyBydD04NDU4ODMzNDcKfiMhIHRpZD04NDU2NTIzMDEKCk51bmphLi4uLiBlcyB3YXIgYWxsZ2VtZWluZXMgR2VicnVlbGwgZGVyIFNwaWVsZXIgdW5kIGljaCBtaXIgZGVuCm5hZWNoc3RiZXN0ZW4gcmF1c2dlcGlja3QgdW5kIFJvY2h1cyAnbmFjaGdlaG9sdCcuIE1pdCBRaXRlc3MgYW4gc2ljaCBoYXQgZGFzCm5peCB6dSB0dW4sIGltIEdlZ2VudGVpbCBzaWUgaXN0IG1pciB2b3JoZXIgbWl0IGlocmVtIG5pY2h0IGdlcmFkZSBzZWx0ZW5lbQpSdW1nZXJ1ZmUgemllbWxpY2ggYXVmbiBHZWlzdCBnZWdhbmdlbi4uLiAoc29ycnkgUWl0ZXNzIGFiZXIgc28gaXNzZXMgbnVtYWwKOi0pIEVzIGhhZXR0ZSBhdWNoIGplZGVuIGFuZGVyZW4gdHJlZmZlbiBrb2VubmVuIDotKQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExhbnplIGJyZWNoZW4uLi4gKEJvaW5nLCAyMS4gT2t0IDE5OTYsIDEzOjA2OjU4KToKfiMhIHJuPVd1cnplbCBydD04NDU3NTk2MTAKfiMhIHRpZD04NDU2NTIzMDEKV29yYW4gZGllIEZlaGxlciBpbiBkZXIgU1NQIGdlbGVnZW4gaGFiZW4ga29lbm5lbiBoYWJlIGljaCBub2NoIG5pY2h0CmtsYWVyZW4ga29lbm5lbi4gRmFrdCBpc3QsIGRhc3MgaWNoIHNlaXQgTW9uYXRlbiBhbiBkZW4gZW50c3ByZWNoZW5kZW4KRGF0ZWllbiBuaXggZ2VhZW5kZXJ0IGhhYmUsIGRhIG11c3MgaWNoIHdvaGwgbWFsIGRpZSBNRy1WZXJzaW9uIG1pdCBtZWluZXIKbG9rYWxlbiBWZXJzaW9uIHZlcmdsZWljaGVuLCBkYXp1IG11c3MgaWNoIGFiZXIgbmFjaCBoYXVzZSBnZWhlbi4gSWNoIGhvZmZlCm5pY2h0LCBkYXNzIGhpZXIgZGVyIERhdGVpZnJlc3NlciB1bWdlaHQsCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExhbnplIGJyZWNoZW4uLi4gKEhhdGUsIDIxLiBPa3QgMTk5NiwgMTM6MzY6MjApOgp+IyEgcm49Qm9pbmcgcnQ9ODQ1ODk2MDE4Cn4jISB0aWQ9ODQ1NjUyMzAxCkRpZSBGZWhsZXIgaW4gZGVyIFNTUCBzaW5kIGRhcmF1ZiB6dXJ1ZWNrenVmdWVocmVuLCBkYXNzIGljaCBlaW5lIEZlaGxlci0KbWVsZHVuZyBwcm9kdXppZXJ0ZSwgd28gdm9yaGVyIGRhcyBQcm9ibGVtIGVpbmZhY2ggaWdub3JpZXJ0IHd1cmRlLgpJY2ggaGFiZSBqZXR6dCBkZW4gTWl0dGVsd2VnIGdld2FlaGx0IHVuZCBlcyB3aXJkIGVpbmUgQnVnbWVsZHVuZyBrb21tZW4KKGFsbGVyZGluZ3MgbnVyIGF1ZiBkZW0gRGVidWcgY2hhbm5lbCksIGFiZXIgZGFzIFByb2JsZW0gd2lyZCB3ZWl0ZXJoaW4KcHJvZ3JhbW10ZWNobmlzY2ggaWdub3JpZXJ0LCBzbyBkYXNzIGViZW5kZXIgQnVnIG5pY2h0IG1laHIgYXVmdHJldGVuIApzb2xsdGUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJlZmZlbi4oTnVyIGZ1ZXIgUGhvYm9zKSAoUWl0ZXNzLCAyMS4gT2t0IDE5OTYsIDE1OjU4OjUyKToKCkFsc28sIGRlciBTdGFtbXRpc2NoIGluIEJyYXVuc2Nod2VpZyBlbnR3aWNrZWx0IHNpY2guLi4gYW0KCkZSRUlUQUcgLCBkZW4gICAxLjExLgoKZmluZGV0IHdpZWRlciBtYWwgZWluZXIgc3RhdHQuIGFlaG0gamEgOiBpbiBCcmF1bnNjaHdlaWcgaW0gVmllcnRlbCBuYWNoIHVtIDIxClVoci4KCkRpZXNlciBBcnRpa2VsIGZpbmRldCBzaWNoIGluIGRlciBSdWJyaWsgYWxsZ2VtZWluZXMsIHdlaWwgUGhvYm9zIGRpZSBSdWJyaWsKdHJlZmZlbiBuaWNodCBsaWVzdC4KClFJIGJpdHRldCBkaWVzIHp1IGVudHNjaHVsZGlnZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFsIG5hY2hnZWZyYWd0IC4uLiAoQW5hdG9sLCAyMS4gT2t0IDE5OTYsIDE2OjUyOjQxKToKfiMhIHJuPVdhcmdvbiBydD04NDU4OTUxNjMKfiMhIHRpZD04NDU4OTI0MjMKCktpcmsgbWVpbnRlLCBkYXNzIGVzIGVpbiB6aWVtbGljaCBzcGVpY2hlcmZyZXNzZW5kZXMgVW50ZXJmYW5nZW4gd2FlcmUsIAphbGxlbiBiZXRyb2ZmZW5lbiBTcGllbGVybiBlaW5lIE1haWwgenUgc2NoaWNrZW4uCgpBbGxlcmRpbmdzIHdhciBpbSBHZXNwcmFlY2ggKENhdHdlYXpsZSBtZWludGUsIGRhc3MgZXMgc29vbyBlaW5mYWNoIGlzdCB1bmQgCndpcmQgZXMgZGVtZW50c3ByZWNoZW5kIHByb2dnZW4gbXVlc3NlbiA7LSkpLCBkZW4gZ2VjcmFja3RlbiBTcGllbGVybiBiZWltIApFaW5sb2dnZW4gZWluZSBNZWxkdW5nIHp1IG1hY2hlbiwgZGFzcyBzaWUgZWluIHVuc2ljaGVyZXMgUGFzc3dvcnQgaGFiZW4uLi4KCkZpbHp0IGRlbiBNdWVuc3RlcmFuZXIgRmlseiA7LSkKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGFuemUgYnJlY2hlbi4uLiAoQXNtb2RpcywgMjEuIE9rdCAxOTk2LCAxNzozMTozOCk6Cn4jISBybj1QaWxncmltIHJ0PTg0NTcxNzgyNgp+IyEgdGlkPTg0NTY1MjMwMQpBbHNvIHdlbm4gaWNoIGlyZ2VuZHdvIGZlc3RzdGVja2UgdW5kIG5hY2ggTWFnaWVybiBydWZlLCBrb21tdCBtZWlzdGVucwplaW5lciBoZXIgKG5hamEsIG1hbmNobWFsIGRhdWVydCBlcyBldHdhcyBvZGVyIG1hbiBtdXNzIGV0d2FzIG5lcnZpZwp3ZXJkZW4gOikgICkKQWxzbyB3YXMgQXRveiBiZWhhdXB0ZXQsIGRhc3MgZGllIE1hZ2llciB1bmtvbGxlZ2lhbCB1bmQgbmljaHQgCmhpbGZzYmVyZWl0IHNpbmQsIGthbm4gaWNoIG5pY2h0IG5hY2h2b2xsemllaGVuLCB2aWVsbGVpY2h0IGhhdCBlcgpudXIgZ2VyYWRlIGVpbmVuIHVucGFzc2VuZGVuIFplaXRwdW5rdCBlcndpc2NodCwgYWxzIGFsbGUgaWRsZQpvZGVyIHN0YXJrIGJlc2NoYWVmdGlndCB3YXJlbi4gU28sIGRhcyBtdXNzdGUgbWFsIGdlc2FndCB3ZXJkZW4uCgpQLlMuOiBORUlOLCBpY2ggd2VyZGUgZGFmdWVyIG5pY2h0IHZvbiBkZW4gTWFnaWVybiBiZWxvaG50IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMYW56ZSBicmVjaGVuLi4uIChBdG96LCAyMS4gT2t0IDE5OTYsIDE3OjM5OjMzKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODQ1OTExODk4Cn4jISB0aWQ9ODQ1NjUyMzAxCk9raSB6dSBkZW0gWmVpdHB1bmt0OiBFaW5tYWwga2FubiBkYXMgc2VpbiwgYXVjaCB6d2VpbWFsIGFiZXIgaWNoIGthbm4gRGlyIHNvCm9obmUgbmFjaHp1ZGVua2VuIG1pbmQuIDQgTWFsZSBuZW5uZW4sIHdvIGVzIG1pciBzbyBnaW5nLiBVbmQgYmVpIGVpbmVtIE1hbGUKd2FlcmUgaWNoIFVudGVyd2Fzc2VyIGJlaW5haGUgZHJhdWZnZWdhbmdlbi4KClNvLCBhYmVyIG9obmUgbWVpbmVuIHZvcmhlcmlnZW4gQXJ0aWtlbCB6dXJ1ZWNrbmVobWVuIHp1IHdvbGxlbjogSWNoIGhhYmUKbmljaHQgZ2VzYWd0LCBkYXNzIGFsbGUgTWFncyB1bmtvbGxlZ2lhbCB1bmQgbmljaHQgaGlsZnNiZXJlaXQgc2luZCwgaWNoCnNhZ3RlLCBkYXNzIHZpZWxlIE1hZ3MgZWJlbiBkaWVzZXMgc2luZC4gSWNoIGtlbm5lIGF1Y2ggZWluaWdlIGRpZSBlaW5lbSBnZXJuZQpoZWxmZW4sIHNvd2VpdCBzaWUgZGF6dSBpbiBkZXIgTGFnZSBzaW5kLgpTbyB1bmQgZnVlciBtaWNoIGlzdCBkYXMgVGhlbWEgamV0enQgYmVlbmRldC4gRmxhbWVkIG1pY2gsIHdlbm4gaWhyIHdvbGx0IG9kZXIKbGFzc3QgZXMuLi4KQXRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXJ1ZiAoR3JpbW1ib3JuLCAyMS4gT2t0IDE5OTYsIDE3OjQ4OjIxKToKCk51ciB1bSBkYXMgaGllciBtYWwgZmVzdHp1aGFsdGVuOiBtcnVmIGlzdCBoaXN0b3Jpc2NoIGdlc2VoZW4ga2VpbiBCZWZlaGwgZnVlcgpTcGllbGVyLCB1bSBNYWdpZXIgbmVydmVuIHp1IGtvZW5uZW4gc29uZGVybiBlaW5lIE1vZWdsaWNoa2VpdCBmdWVyIE1hZ2llciwKc2ljaCB1bnRlcmVpbmFuZGVyIHVudGVyaGFsdGVuIHp1IGtvZW5uZW4gKGF1cyBkZXIgWmVpdCB2b3IgZGVuIEthbmFlbGVuCnN0YW1tZW5kKS4gRnVlciBTcGllbGVyIGlzdCBkZXIgQmVmZWhsIG5pY2h0IGdlc3BlcnJ0LCBkYSBlciBpbiBOb3RmYWVsbGVuCmVpbmUgd2VpdGVyIE1vZWdsaWNoa2VpdCBpc3QsIHNpY2ggYmVtZXJrYmFyIHp1IG1hY2hlbi4gV2VubiBkYXMgZGFubiAod2llCnNjaG9uIGJpcyB6dW0gRXJicmVjaGVuIGhpZXIgZXJ3YWVobnQpIGZ1ZXIgIlByb2JsZW1lIiBiaXMgaGluIHp1IFN5bnRheGZyYWdlbgpiZW51dHp0IHdpcmQgLSBkYSBnaWJ0cyBzbyBlaW5lIGtsZWluZSBHZXNjaGljaHRlIHVlYmVyIGVpbmVuIFNjaGFlZmVyanVuZ2VuLApkZXIgaW1tZXIgaW4gZGFzIERvcmYgbGllZiB1bmQgcmllZiwgZGFzcyBkaWUgSGVyZGUgdm9uIFdvZWxmZW4gYW5nZWdyaWZmZW4Kd3VlcmRlLi4uCgpTbyBicnV0YWwgZGFzIGF1Y2gga2xpbmd0OiBXZW5uIGRpZWplbmlnZW4sIGRpZSBGZWhsZXIgYmVzZWl0aWdlbiBrb2VubmVuIGhpZXIKbmljaHQgZGEgc2luZCwgbmljaHQgd29sbGVuIG9kZXIgKHdhcyBkYXMgSGFldWZpZ3N0ZSBzZWluIGR1ZXJmdGUpIGFuZGVyZXMgenUKdHVuIGhhYmVuLCBoYWJ0IGlociBQZWNoIGdlaGFidC4gRGFubiBrb2VubnQgaWhyIGV1Y2ggZGFtaXQgdHJvZXN0ZW4sIGRhc3MgZGllCm1laXN0ZW4gYnVncyBuYWNoIGRlbSBuYWVjaHN0ZW4gY3Jhc2ggZnVlciBlaW5pZ2UgWmVpdCBuaWNodCBhdWZ0YXVjaGVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWwgbmFjaGdlZnJhZ3QgLi4uIChXdXJ6ZWwsIDIxLiBPa3QgMTk5NiwgMTk6MTQ6MTIpOgp+IyEgcm49UmluZ29yIHJ0PTg0NTg5NDY5MAp+IyEgdGlkPTg0NTg5MjQyMwpub2UsIGljaCBoYWIga2VpbmUgbWFpbCBiZWtvbW1lbi4gYWJlciBpY2ggd2Vpc3MsIGRhc3MgY3JhY2sgbWVpbiBwYXNzd2QKcmF1c2ZpbmRlbiBrYW5uLgoKd3VyemVsIChzY2h1bHRlcnp1Y2tlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYW56ZSBicmVjaGVuLi4uIChLZXksIDIxLiBPa3QgMTk5NiwgMTk6NDc6MjUpOgpIbW0gYWxzbyBBdG96IGljaCB3ZWlzcyBqYSBuZXQsIGFiZXIgaXJnZW5kd2FzIG11c3N0IGR1IGZhbHNjaCBtYWNoZW4hCldlbm4gaWNoIG1hbCBuZW4gUHJvYiBoYWIgd28gaWNoIG9obmUgbWFncyBuZXQgd2VpdGVya29tbWUgYWxzbyBpcmdlbmRzbyBlaW4KQnVnIG9kZXIgc28ga29tbWVuIGplZGVyemVpdCBNYWdpZXJlIGRpZSBoZWxmZW4uIFdvYmVpIGljaCBhYmVyIHdlbmlnZXIgbXJ1ZmUKYmVudXR6ZSBzb25kZXJuIG1laXN0IGRpZSBtYWdpZXJlIGRpcmVrdCBhbnNwcmVjaGUuIEhtbSB6dSB3YXMgYW5kZXJlbSwgaWNoCndlaXNzIG5pY2h0IGltbWVyIHdlciBmdWVyIGRhcyBnZXJhZGUgenVzdGFlbmRpZyBpc3QsIGhhYiBuZXQgZGFzIHRvb2wgd29taXQKbWFuIGRhcyBmZXN0c3RlbGxlbiBrYW5uLn5yClVwcyB2ZXJ0aXBwdCEgOykKS2V5ClAuUy46IEljaCBrcmllZ2UgaGllcmZ1ZXIgYXVjaCBuaXggdm9uIG5lbSBNYWchICpncmlucyBBc21vZGlzKiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTGFuemUgYnJlY2hlbi4uLiAoTXVwZmVsLCAyMS4gT2t0IDE5OTYsIDIwOjM1OjA4KToKfiMhIHJuPUF0b3ogcnQ9ODQ1OTEyMzczCn4jISB0aWQ9ODQ1NjUyMzAxCgpWaWVsbGVpY2h0IHdpc3NlbiB6dSB2aWVsZSBNYWdpZXIsIGRhcyBEdSAnZWluZXIgdm9uIGlobmVuJyAoYnp3IGhhbHQgZWluCk1hZ2llcjJ0aSkgYmlzdCB1bmQgZGVua2VuIHNpY2g6IG5hIGRlciBrYW5uIHNpY2ggZ2dmIHNlbGJzdCBoZWxmZW4gKHdhcwplaWdlbnRsaWNoIGphIG5pY2h0IGVybGF1YnQgaXN0KS4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcm1hZ2VkZG9uIChDYXR3ZWF6bGUsIDIxLiBPa3QgMTk5NiwgMjE6MTI6NTUpOgpIaSEKCkljaCBiaW4gc2ljaGVyLCBkYXMgaWhyIG1pdCBtaXIgdWViZXJlaW5zdGltbXQsIGRhcyBkaWUgZGF1ZXJuZGUgQWItCnNjaG1pZXJlcmVpIGRlcyBNRyBtaXR0bGVyd2VpbGUgZWluIHVuaGFsdGJhcmVyIFp1c3RhbmQgaXN0LgoKV2lyIHdpc3NlbiBpbW1lciBub2NoIG5pY2h0IGdlbmF1LCBfd2FydW1fIGVzIGRhdWVybmQgYWJzY2htaWVydCwgZGEgZGVyCm1nLWtlcm5lbCBzaWNoIGFiZXIgZGF1ZXJuZCBtaXQgZWluZW0gQnVzLUVycm9yIHZlcmFic2NoaWVkZXQgaGF0LCBsaWVndApkaWUgVmVybXV0dW5nIG5haGUsIGRhcyBlcyBfYXVjaF8gZWluIEhhcmR3YXJlZGVmZWt0IHNlaW4ga29lbm50ZS4KCkljaCB3ZXJkZSBkYWhlciBtb3JnZW4gZ2VnZW4gMTggVWhyIG1pdCBlaW5lciBSZWloZSB2b24gS29tcG9uZW50ZW4tCnRhdXNjaHMgKHRhdXNjaHM/KSBzdGFydGVuLCBhbHMgZXJzdGVzIHdlcmQgaWNoIGRlbiBQcm96ZXNzb3Igd2VjaHNlbG4uCgpEZXIgUHJvemVzc29yIGdlaHQgZXJzdCBtYWwgYXVmIG1laW5lIEthcHBlICh3ZWlsIGljaCBpbW1lciBsaWViIHVuZCBuZXR0CmJpbiA7LSksIG9iIGV2dC4gbm90d2VuZGlnZSBIYXJkd2FyZXVwZ3JhZGVzIHZvbSBWZXJlaW4gYmV6YWhsdCB3ZXJkZW4gaXN0IApub2NoIG5pY2h0IGdla2xhZXJ0LCBkYSBtdXNzIGljaCBlcnN0IG1hbCBSdWVja3NwcmFjaGUgaGFsdGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXR0ZXIgVHlwby9CdWcuLi4gKEdhc3QxLCAyMS4gT2t0IDE5OTYsIDIxOjE2OjQ5KToKSGksIGFscyBpY2ggbWljaCBnZXJhZGUgc2VsYnN0IGxvZXNjaHRlIGlzdCBmb2xnZW5kZXMgcGFzc2llcnQ6CiAgICAgQiBJIFMgVCAgRCBVICBEIEkgUiAgVyBJIFIgSyBMIEkgQyBIICBTIEkgQyBIIEUgUiA/Pz8/Pz8/Pz8/Pz8KV2VubiBEdSBEaWNoIHNlbGJzdGxvZXNjaGVuIHdpbGxzdCwgaXN0IERlaW4gQ2hhcmFrdGVyIFVOV0lERVJSVUZMSUNICnZlcmxvcmVuLiBFcyBnaWJ0IEtFSU5FIE1vZWdsaWNoa2VpdCBpaG4gd2llZGVyenVlcnNjaGFmZmVuLiBTb2xsdGVzdApEdSBudXIgemVpdHdlaWxpZyB2b20gTW9yZ2VuR3JhdWVuIHdlZ2JsZWliZW4gd29sbGVuLCBzbyBiZW51dHplIGJpdHRlCmRlbiBCZWZlaGwgJ3NwaWVscGF1c2UnLgpGYWxsc3QgRHUgRGljaCBpbW1lciBub2NoIHNlbGJzdGxvZXNjaGVuIHdpbGxzdCwgZ2liIERlaW4gUGFzc3dvcmQgZWluLgoKQml0dGUgZGFzIFBhc3N3b3JkIGFuZ2ViZW46IEhhdGUgc2FndDogRGFubiBlbnR0YWV1c2Noc3QgRHUgbWljaC4KQWRpb3MhIE1hbiBzaWVodCBzaWNoLgpCaXMgYmFsZCEKQ2xvc2luZyBkb3duLgoKQWxzbywgZGFzIE1BTiBTSUVIVCBTSUNIIGlzdCB3aXJrbGljaCBHYWxnZW5odW1vci4uLiA6LSkpKSkKCkZyZXVuZC4KQWNoLG5lLCBHYXN0MS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGFuemUgYnJlY2hlbi4uLiAoRnl0LCAyMi4gT2t0IDE5OTYsIDAwOjM1OjE1KToKfiMhIHJuPVFpdGVzcyBydD04NDU4ODMwNDgKfiMhIHRpZD04NDU2NTIzMDEKCkhtLCBRaXRlc3MsIER1IGJpc3QgaW0gR2VnZW5zYXR6IHp1bSBPdHRvLU5vcm1hbC1NdWRkZXIgYXVjaCB3ZWlibGljaC4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExhbnplIGJyZWNoZW4uLi4gKFNjaHJ1bXBmaSwgMjIuIE9rdCAxOTk2LCAwMjoyNjowMik6Cn4jISBybj1Cb2luZyBydD04NDU4OTYwMTgKfiMhIHRpZD04NDU2NTIzMDEKTGVpY2h0IG1vZWdsaWNoLCBtaXIgaGF0cyB2b3Iga3VyemVtIGRpZSBnZXNhbXRlIFBhcmFncnVmdCB6ZXJzY2hvc3NlbiwgaGF0CmV3aWcgZ2VkYXVlcnQgYmlzIGljaCBkZW4gZGFlbWxpY2hlbiBGZWhsZXIgZW5kbGljaCBnZWZ1bmRlbiBoYWJlIDooClNjaHJ1bXBmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGFuemUgYnJlY2hlbi4uLiAoU2NocnVtcGZpLCAyMi4gT2t0IDE5OTYsIDAyOjMxOjEzKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODQ1OTExODk4Cn4jISB0aWQ9ODQ1NjUyMzAxClVua29sbGVnaWFsIHNpbmQgc2llIGF1ZiBnYXIga2VpbmVuIEZhbGwuIE1hbiBzb2xsdGUgZXMgbmljaHQgZnVlciBtb2VnbGljaApoYWx0ZW4gYWJlciBiZWkgbHBjLXRlY2huaXNjaGVuIFByb2JsZW1lbiBzaW5kIGdyYWRlIGRpZSBFcnptYWdpZXIgc2Vocgprb2xsZWdpYWwgdW5kIGhpbGZzYmVyZWl0LiAoV2VubiBzaWUgc29uc3Qgc2Nob24genUgbml4IHp1IGdlYnJhdWNoZW4gc2luZCA7LSkKKQpUamEsIGFscyBTcGllbGVyaW4gaGFiIGljaCBkaWUgTWFnaWVyIGF1Y2ggbWVpc3QgcGVyc29lbmxpY2ggYW5nZWxhYmVydCB3ZWlsCm1ydWZlIG5peCBicmluZ3QuIApTY2hydW1wZmkgd2Flc2NodCBzaWNoIGRlbiBNdW5kIG1pdCBTZWlmZSBhdXMsIHdlaWwgc2llIHdhcyBuZXR0ZXMgdWViZXIKRXJ6bWFnaWVyIGdlc2FndCBoYXQuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRyZWZmZW4uKE51ciBmdWVyIFBob2JvcykgKFByYSwgMjIuIE9rdCAxOTk2LCAxNTo0MDo0Nik6Cn4jISBybj1RaXRlc3MgcnQ9ODQ1OTA2MzMyCn4jISB0aWQ9ODQ1OTA2MzMyCldlbm4gZGVyIEFydGlrZWwgbnVyIGZ1ZXIgUGhvYm9zIGlzdCAtIHdhcnVtIHNjaGlja3N0IGR1IGlobSBrZWluZSBNYWlsPwoKQXJnbCAtIHVuZCB3YXJ1bSBzY2hpY2tlIGljaCBRaXRlc3Mgc3RhdHQgZGllc2VzIEFydGlrZWxzIGtlaW5lIE1haWw/CgpGcmFnZW4gdWViZXIgRnJhZ2VuIC0gZGllIEFudHdvcnQgZGVtbmFlY2hzdCBpbiBzY2htYXJybi4uLgoKClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcm1hZ2VkZG9uIChDYXR3ZWF6bGUsIDIzLiBPa3QgMTk5NiwgMjA6NDM6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg0NTkyNTE3NQp+IyEgdGlkPTg0NTkyNTE3NQpIaSEKClNvLCBkZXIgUHJvemVzc29yIGlzdCBnZXdlY2hzZWx0LCBEYXMgTWFpbmJvYXJkIGhhYiBpY2ggZ2xlaWNoIG1pdGdldGF1c2NodC4KRWluIHd1bmRlcnZvbGxlcyBUcml0b25JSS1NYWluYm9hcmQsIGRhcyBtZWhyIGFscyA2NE1CIFNwZWljaGVyIGNhY2hlbgprYW5uIDopIFNvbGx0ZSBkaWUgS2lzdGUgc2NobmVsbGVyIG1hY2hlbiEgRGVyIFByb3plc3NvciBpc3QgYXVjaCBuZW4KVGljayBzY2huZWxsZXIgZ2V3b3JkZW4gKFAxMjAtPlAxMzMpLiAKCkljaCBob2ZmZSwgZGFzIGRpZSBDcmFzaHMgamV0enQgd2VuaWdlciB3ZXJkZW4uIEljaCBwZXJzb2VubGljaCBzY2hyZWliZSBkaWUKQ3Jhc2hzIGVpbmVyIGRlZmVrdGVuIENQVSB6dSwgZGllIGxpZWYgbmFlbWxpY2ggbWFuIGNhLiAyIFdvY2hlbiBvaG5lIApMdWVmdGVyIHVuZCBoYXQgYWxsZXIgV2FocnNjaGVpbmxpY2hrZWl0IG5hY2ggbmVuIEhvdCBTcG90IGdla3JpZWd0IDsoCgpTb2xsdGUgZGVyIFByb3plc3NvciB0YXRzYWVjaGxpY2ggZHJhbiBTY2h1bGQgc2Vpbiwgd2lyZCBkZXIgTUctRm9lcmRlcnZlcmVpbgpkZW4gbmV1ZW4gUHJvemVzc29yIHdvaGwga2F1ZmVuLiBPYiBkYW5uIGRhcyBNYWluYm9hcmQgZ2xlaWNoIG1pdGZpbmFuemllcnQgCndpcmQgaXN0IG5pY2h0IHNpY2hlci4gQmlzaGVyIGlzdCBkYXMgZWluZSBmcmV1bmRsaWNoZSBMZWloc3RlbGx1bmcgdm9uIG1pciA6KQoKT2IgZGFzIG5ldWUgQm9hcmQgZ2VrYXVmdCB3aXJkIGhhZW5ndCB1ZWJlcmlnZW5zIGF1Y2ggZGF2b24gYWIsIG9iIGRlciBWZXJlaW4KZ2VudWcgR2VsZCBoYXQsIG9kZXIgbmljaHQuIEltIE1vbWVudCBpc3NlcyBuYWVtbGljaCBnYXIgbmljaHQgbWFsIHNvCmRpY2tlLiAqcGZlaWZmZSB1bmF1ZmZhZWxsaWcqCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJtYWdlZGRvbiAoQXNtb2RpcywgMjMuIE9rdCAxOTk2LCAyMDo0NjowNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODQ2MDk2MjA5Cn4jISB0aWQ9ODQ1OTI1MTc1Ck1lbGRldCBNRyBkb2NoIGFuIGRlciBCb2Vyc2UgYW4sIGRhbm4gYmVrb21tdCBpaHIgc2ljaGVyIGdlbnVnIEdlbGQKenVzYW1tZW4uIChVbmQgYmVpIHN0ZWlnZW5kZXIgTWl0Z2xpZWRlcnphaGwgZ2lidHMgc2ljaGVyIGF1Y2ggYmFsZApuZSBEaXZpZGVuZGUgOikgICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJtYWdlZGRvbiAoUmFmZmksIDIzLiBPa3QgMTk5NiwgMjA6NDc6MjMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg0NjA5NjIwOQp+IyEgdGlkPTg0NTkyNTE3NQoKSG1tIGFsc28gYmV2b3Igd2lyIGRhIGVpbmVuIG5ldWVuIFByb3plc3NvciBrYXVmZW4gYmluIGljaCBzY2hvbiBkYWZ1ZXIgZGFzCndpciBkZW4gYXVzZnVlcmxpY2ggdGVzdGVuIC0gYWxzbyBtaW5kZXN0ZW5zIDMwIFRhZ2Uga29udGludWllcmxpY2hlIFVwdGltZQpzb2xsdGVuIHNjaG9uIGRyaW5uZW4gc2VpbiwgZGFubiBrb2VubmVuIHdpciBzb3dhcyBhdWNoIG1hbCBpbnZlc3RpZXJlbiAobWFuCmthbm4gZGFubiBqYSBtYWwgdWViZXIgbmUgU3BlbmRlIG5hY2hkZW5rZW4pIC0gQXVzc2VyZGVtIHdlcmRlbiBqYSBkaWUKTXVlaHBlaHMgdm9uIHRhZyB6dSB0YWcgYmlsbGlnZXIgLSBpbSBmcnVlaGphaHIgZ2licyBnYXJhbnRpZXJ0IG5lbiAyMDBlciBmdWVyCnVudGVyIDQwMCBNYWVya2VyLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJtYWdlZGRvbiAoUmluZ29yLCAyMy4gT2t0IDE5OTYsIDIxOjIyOjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NDYwOTYyMDkKfiMhIHRpZD04NDU5MjUxNzUKVGphLCB3ZW5uIGRlciBWZXJlaW4gc28gd2VuaWcgR2VsZCBoYXQsIGZyYWdlIGljaCBtaWNoIGphLCB3YXJ1bSBiZWkgZGVuIApNaXRnbGllZGVybiBuaXggYWJnZWJ1Y2h0IHdpcmQuCgpBYmVyIHZpZWxsZWljaHQgYmluIGljaCBqYSBhdWNoIGVpbmZhY2ggbnVyIHp1IGt1cnogZGFiZWksIHVuZCBkYXMga29tbXQgYWxsZXMKbm9jaC4gU3BhZXRlc3RlbnMgd29obCwgd2VubiBlcyBuaWNodCBkaWUgQ1BVIHdhciwgc29uZGVybiBkYXMgUkFNLiA7LSkKClJpbmdvciAtIGlzdCBlcnN0IHNlaXQgQW5mYW5nIGRlcyBKYWhyZXMgVmVyZWluc21pdGdsaWVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmV1ZXJiYWxsIChFbHZuaWssIDI0LiBPa3QgMTk5NiwgMDI6Mzk6NTApOgoKSGkKCkthbm4gZGFzIHNlaW4gZGFzIGljaCBkYXMgaXJnZW5kd2llIG5pY2h0IG1pdGJla29tbWVuIGhhYiwgYWJlciBpc3QgZGFzIG9rLgpkYXMgZGVyIEZldWVyYmFsbCBqZXR6dCBuaWNodCBtZWhyIGplZGUgS2FtcGZydW5kZSBnZXNjaG1pc3NlbiB3ZXJkZW4ga2FubiA/Pz8KCkVsdm5payAtIHZlcnd1bmRlcnQgLi4uClAuUy4gaWNoIG1laW4gZGVuIEZldWVyYmFsbCBkZXIgQUItR2lsZGUgbmF0dWVybGljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcm1hZ2VkZG9uIChNb3Jnb3RoLCAyNC4gT2t0IDE5OTYsIDAyOjU3OjM5KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NDYwOTYyMDkKfiMhIHRpZD04NDU5MjUxNzUKbnVuamEsIHdlbm4gaWhyIGtlaW5lIGtvaGxlIHZvbSBrb250byBidWNodC4uLi4KTW9yZ290aCwgd2FydGV0IGdlZHVsZGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmV1ZXJiYWxsIChCb2luZywgMjQuIE9rdCAxOTk2LCAwNDoyODozNCk6Cn4jISBybj1FbHZuaWsgcnQ9ODQ2MTE3NTkwCn4jISB0aWQ9ODQ2MTE3NTkwCk5laW4sIGRhcyBpc3QgbmljaHQgaW4gT3JkbnVuZywgZGVyIEZldWVyYmFsbCAodW5kIGFuZGVyZSBTcHJ1ZWNoZSkKc29sbHRlbiBhdWNoIHdlaXRlcmhpbiBqZWRlIFJ1bmRlIG1vZWdsaWNoIHNlaW4uIEFsbGVyZGluZ3MgaGFiZW4gd2lyCm9mZmVuc2ljaHRsaWNoIGVpbiBrbGVpbmVzIFByb2JsZW0gbWl0IGRlciBSZWNobmVydWhyLCBkaWUgc2VpdCBnZXN0ZXJuCndpcmtsaWNoIG1lcmt3dWVyZGlnIGxhZXVmdC4gRGEgYWxsZSBzcGVsbHMgemVpdGFiaGFlbmdpZyBzaW5kIGxpZWd0IGhpZXIKZGVyIEh1bmQgYmVncmFiZW4uIEljaCBkZW5rZSBhYmVyIGRhc3MgQ2F0d2VhemxlIGRpZXNlcyBQcm9ibGVtIGJlaGViZW4Ka2Fubiwgc29iYWxkIGVyIGRhIGlzdC4KVHNjaHVlc3MsCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmV1ZXJiYWxsIChBY3JpbW9uLCAyNC4gT2t0IDE5OTYsIDA4OjM5OjE3KToKfiMhIHJuPUJvaW5nIHJ0PTg0NjEyNDExNAp+IyEgdGlkPTg0NjExNzU5MApXZW5uIGRpZSBSZWNobmVydWhyIGxhbmdzYW1lciBsYWV1ZnQsIGRhbm4gc29sbHRlbiBkb2NoIGF1Y2ggZGllIEthbXBmcnVuZGVuCmxhZW5nZXIgZGF1ZXJuLCB1bmQgZXMgaXN0IHdpZWRlcnVtIGVpbiBGZXVlcmJhbGwgcHJvIFJ1bmRlIGRhdWVybi4KCk9kZXIgc2VpZCBJaHIgdGF0c2FlY2hsaWNoIGRlcmFydCB6dXJ1ZWNrZ2VibGllYmVuLCBXYXJ0ZXNjaGxlaWZlbiB6dSBiYXVlbj8KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmV1ZXJiYWxsIChXb29keSwgMjQuIE9rdCAxOTk2LCAwODo0NDozMik6Cn4jISBybj1BY3JpbW9uIHJ0PTg0NjEzOTE1Nwp+IyEgdGlkPTg0NjExNzU5MApOZSwgZXMgaGF0IG1pdCBkZW0gc2V0emVuIHZvbiBkZXIgcHJvcGVydHkgenUgdHVuLCBkaWUgaW0gc3BpZWxlcgpmZXN0bGVndCwgd2FubiBlciB3aWVkZXIgZGFzIG5hZWNoc3RlIG1hbCB6YXViZXJuIGthbm4KKHBfbmV4dHNwZWxsdGltZSkuIGltIEFMIGdhYnMgZGFzIHByb2JsZW0gYXVjaCBtYWwsIGRhCndhciBkYW5uIGlyZ2VuZHdhbm4gbWFsIGRlciBuYWVjaHN0ZSB6YXViZXJzcHJ1Y2ggZXJzdAp3aWVkZXIgbmFjaCBuZW0gamFociBtb2VnbGljaCAqa2ljaGVyKgoKaWNoIGRlbmtlIG1hbCBlcyBzb2xsdGUgdGhlb3JldGlzY2ggcmVpY2hlbiwgbmFjaCBlaW5lbSByZWJvb3QKZGllc2UgcHJvcGVydHkgYXVmIHRpbWUoKSB6dSBzZXR6ZW4gZnVlciBkZW4gZmFsbCB2b24gdWhyZW5kZS0Kc3luY2hyb25pc2F0aW9uLiBkaWUgdWhyIHNlbGJzdCBzb2xsdGUgbmljaHQgd2lya2xpY2ggZWluIHByb2IKbWFjaGVuLCBoYWVsdCBzaWNoIGkuYS4gYmVpIGRlbSBib2FyZCBiZWkgKy02IHNla3VuZGVuIHBybwp0YWcgKGJlaSBuZXRzeW5jKSAtIGlzdCB6dW1pbmRlc3QgYmVpIHVucyBzbyAoc2VsYmVzIGJvYXJkIDopKS4KdW5kIGRpZXNlIDYgc2VrIHdlcmRlbiByZWxhdGl2IHNjaG5lbGwgdm9tIGRyaXZlciBhbmdlZ2xpY2hlbi4uLgoKKnNlbmYqb2ZmKgp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGZXVlcmJhbGwgKEhhdGUsIDI0LiBPa3QgMTk5NiwgMDg6NDQ6NTIpOgp+IyEgcm49QWNyaW1vbiBydD04NDYxMzkxNTcKfiMhIHRpZD04NDYxMTc1OTAKRmVobGVpbnNjaGFldHp1bmcuLi4KRGllIEthbXBmcnVuZGVuIHNpbmQgUnVuZGVuYmFzaWVydCwgd2FlcmVuZCBkaWUgWmF1YmVyc3BydWVjaGUgWmVpdGJhc2llcnQKc2luZC4gVW5kIGRpZSBSdW5kZW4gc2luZCBpbW1lciBub2NoIHNvIHNjaG5lbGwgd2llIHZvcmhlciwgc2NobmVsbGVyIHNvZ2FyCmFscyB2b3JoZXIgZHVyY2ggZGVuIHNjaG5lbGxlbiBSZWNobmVyLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZldWVyYmFsbCAoQW5hdG9sLCAyNC4gT2t0IDE5OTYsIDA4OjQ3OjQwKToKfiMhIHJuPUhhdGUgcnQ9ODQ2MTM5NDkyCn4jISB0aWQ9ODQ2MTE3NTkwCgpTb3dlaXQgaWNoIHdlaXNzLCB3aXJkIGRhcyBCZXRyaWVic3N5c3RlbSBuaWNodCBzZWhyIGdsdWVja2xpY2gsIHdlbm4gbWFuIGlobQpkaWUgVWhyIGVpbmZhY2ggenVydWVja3N0ZWxsdCAtIHZpZWxlIE9wZXJhdGlvbmVuIHJpY2h0ZW4gc2ljaCBuYWNoIGRlbQpaZWl0c3RlbXBlbCBpcmdlbmR3ZWxjaGVyIEZpbGVzLCBlbnRzY2hlaWRlbiwgd2FzIG5ldSB1bmQgd2FzIGFsdCBpc3QgZXRjLi4uCgpOYWphLCBtaXQgV2luKiBtYWcgZGFzIG5pY2h0IHBhc3NpZXJlbi4uLgouLi5kYSBwYXNzaWVydCBhYmVyIHNvIGF1Y2ggc2Nob24gZ2VudWcuCgpXaWUgZGVtIGF1Y2ggc2VpIC0gZGVzaGFsYiBkcmVodCBtYW4gZGllIFVociBuaWNodCBhdWYgZWluZW4gU2NobGFnIHp1cnVlY2ssCnNvbmRlcm4gbGFlc3N0IHNpZSB1ZWJlciBlaW5lbiBsYWVuZ2VyZW4gWmVpdHJhdW0gZWluZmFjaCBsYW5nc2FtZXIgbGF1ZmVuLgpTaW5kIHdpciBlaW5mYWNoIG1hbCBmcm9oLCBkYXNzIHVuc2VyZSBFcnppcyBkYXMgTXVkIGluIGRlciBaZWl0IG5pY2h0IGVpbmZhY2gKcnVudGVyZmFocmVuLCBzb25kZXJuIHNpY2ggdW5zZXJlbSBHZW1lY2tlciBzdGVsbGVuIDstKQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmV1ZXJiYWxsIChBY3JpbW9uLCAyNC4gT2t0IDE5OTYsIDA4OjUyOjA2KToKfiMhIHJuPUhhdGUgcnQ9ODQ2MTM5NDkyCn4jISB0aWQ9ODQ2MTE3NTkwCipncnVlYmVsKiAuLi4gYWxzbyBzaW5kIGRpZSBSdW5kZW4gbmljaHQgemVpdGJhc2llcnQsIHNvbmRlcm4gZGllIG5hZWNoc3RlClJ1bmRlIGtvbW10IGltbWVyIGRhbm4gZHJhbiwgc29iYWxkIGRlciBSZWNobmVyIGRpZSB2b3JpZ2UgUnVuZGUgZmVydGlnCmJlcmVjaG5ldCBoYXQ/CgpEYW5uIGhhYiBpY2ggYWJlciB3aWVkZXIgendlaSBGcmFnZW46CjEuIFdpZSB3aXJkIGRhcyBNaW5pbXVtIHZvbiB6d2VpIFNla3VuZGVuIGZlc3RnZWxlZ3QsIHdlbm4gbmljaHQgdWViZXIgZGllClplaXQ/CjIuIFdhcnVtIHNjaHdhbmt0IGRpZSBCZXJlY2hudW5nc2RhdWVyIG5pY2h0IHZvbiBSdW5kZSB6dSBSdW5kZSwgc29uZGVybgplcmhvZWh0L3Nlbmt0IHNpY2ggc2VociBnbGVpY2htYWVzemlnPwoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGZXVlcmJhbGwgKEhhdGUsIDI0LiBPa3QgMTk5NiwgMDg6NTM6MzkpOgp+IyEgcm49QWNyaW1vbiBydD04NDYxMzk5MjYKfiMhIHRpZD04NDYxMTc1OTAKRXMgZ2lidCBpbSBNVUQgendlaSBBcnRlbiB2b24gWmVpdGludGVydmFsbGVuOgpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQpzaDogL2Rldi9hdWRpbzogY2Fubm90IGNyZWF0ZQogICogaGVhcnQgYmVhdDogZGFzIGlzdCBlaW4gZ2FyYW50aWVydGVyIDJzIGludGVydmFsbAogICogY2FsbCBvdXQ6IGRhcyBpc3QgZWluIG1pbiAycyBpbnRlcnZhbGwsIGRlciBhYmVyIG5pY2h0IGdhcmFudGllcnQgd2lyZC4KCmRpZSBLYW1wZnJ1bmRlbiBzaW5kIGhlYXJ0IGJlYXQgYmFzaWVydCB1bmQgZGFtaXQgZ2FyYW50aWVydCBuYWNoIDJzIGRyYW4uCkRpZSBaZWl0ZW4gZnVlciBkaWUgU3BlbGxzIHNpbmQgWmVpdGJhc2llcnQgc293ZWl0IGljaCBtaWNoIGVyaW5uZXJlIHVuZApkYSBhdWNoIG5vY2ggZGllIFplaXQgaGllciBpbSBNVUQgaGFsYiBzbyBzY2huZWxsIHdpZSBub3JtYWwgbGFldWZ0LCBkYXVlcnQKZXMgc2NoZWluYmFyIGF1Y2ggZG9wcGVsdCBzbyBsYW5nZS4gRGllIGhlYXJ0IGJlYXRzIG1pdCBkZW4gMnMgc2luZCBkYWJlaQpuaWNodCBhdWYgZGllIHJlYWwgdGltZSBjbG9jayBhbmdld2llc2VuIHNvbmRlcm4gd2VyZGVuIGhhbHQgcnVuZGVud2Vpc2UKYWJnZWFyYmVpdGV0LiBBbGxlIE9iamVrdGUgZHVyY2ggdW5kIHdpZWRlciB2b24gdm9ybi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGZXVlcmJhbGwgKEhhdGUsIDI0LiBPa3QgMTk5NiwgMDg6NTQ6MTcpOgp+IyEgcm49SGF0ZSBydD04NDYxNDAwMTkKfiMhIHRpZD04NDYxMTc1OTAKSWdub3JpZXJ0IG1hbCBkaWVzZSBzaDogLi4uClNjaGVpc3MgdGYuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGFuemUgYnJlY2hlbi4uLiAoU251Z2dsZSwgMjQuIE9rdCAxOTk2LCAxNToyNzoxMik6Cn4jISBybj1QaWxncmltIHJ0PTg0NTcxNzgyNgp+IyEgdGlkPTg0NTY1MjMwMQoqTGFuemUgYnJlY2gqCgpIYXRlLCBQdW1hLCBNdXBmZWwsIEdyaW1tYm9ybiwgU2lsdmFuYSwgVWxvLCBBenp1cm8sIFRhc2hhLCBaYXJkb3osIERhbmNlciwgCktpcmssIE9ldHRpLCBBcmRhbmEsIE11ZHRpZ2VyLCBSb25kYSwgQXVncmEsIFdhcmdvbiwgTG9jbywgWnVlcmlsZXUsIEJvaW5nCgpTaW5kIGF1Y2ggZWluIHBhYXIgPmx2bDI1IGRhYmVpLiAKWVRTbnVnZ2xlLCBrYW5uIGRpZSBBdWZyZWd1bmcgbmljaHQgbmFjaHZvbGx6aWVobgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGFuemUgYnJlY2hlbi4uLiAoR3JpbW1ib3JuLCAyNC4gT2t0IDE5OTYsIDE2OjA0OjMxKToKfiMhIHJuPVNudWdnbGUgcnQ9ODQ2MTYzNjMyCn4jISB0aWQ9ODQ1NjUyMzAxCgpIbW0sIGljaCBoYWIgZ2FyYW50aWVydCBuaWNodCBnZWhvbGZlbi4gRGFzIG11c3MgZWluIElycnR1bSBzZWluLiBJY2ggaGVsZmUKbmFlbWxpY2ggbmllLCBnYW56IGltIEdlZ2VudGVpbC4uLgoKR2RBCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29sbHRlIG5hY2ggQW56ZWlnZW4sIGFiZXIgZGEgaXMgdm9sbCAoTGVmdHksIDI0LiBPa3QgMTk5NiwgMjA6MzE6MjUpOgpIaSwKCnNvLCB1bSBVbnN0aW1taWdrZWl0ZW4genUgdmVybWVpZGVuIC4uLgoKRGEgbWVpbiBFcnN0aWUgKmdyaW5zKiwgYWxzbyBpY2ggcmVkZSBqZXR6dCB3aWUgaWhyIGFsbGUgYmVzdGltbXQgCndpc3NlbiB3ZXJkZXQgdm9uIEJvbWJhZGlsLCBkYSBkZXIgbnUgTWFnaWVyIGlzdCB1bmQgZGVyIE1hZ2llcnZlcnRyYWcgCnNvIGVpbmlnZXMgdm9yc2NocmVpYnQgLi4uIGt1cnp1bToKCk5lc2FqYSBpc3QgZGVyIG5ldWUgRWlnZW50dWVtZXIgdm9uIE5hdHVyZS4gCkVyIGdlaG9lcnQgbWlyIGFiIG51biBuaWNodCBtZWhyIHVuZCBzdGVodCBpaHIgdm9sbCB6dXIgVmVyZnVlZ3VuZy4KQWxsZSwgZGllIGlobiBiaXNoZXIgbWl0IG1laW5lciBFcmxhdWJuaXMgZWlubG9nZ2VuIGR1cmZ0ZW4sCmR1ZXJmZW4gaWhuIGJpcyBhdWYgd2VpdGVyZXMgZWJlbmZhbGxzIGVpbmxvZ2dlbiwgZGllIEtvbmRpdGlvbiBrb25udGUKaWNoIG5vY2ggcmF1c3NjaGxhZ2VuIDstKS4KCkRhcyB3YXIncyAuLi4KClp3ZWl0aSBMZWZ0eQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb2xsdGUgbmFjaCBBbnplaWdlbiwgYWJlciBkYSBpcyB2b2xsIChBc21vZGlzLCAyNC4gT2t0IDE5OTYsIDIwOjQ2OjIxKToKfiMhIHJuPUxlZnR5IHJ0PTg0NjE4MTg4NQp+IyEgdGlkPTg0NjE4MTg4NQpTb3dhcyBuZW5udCBtYW4gZGFubiB3b2hsIFJFTlQtQS1TRUVSLCBvZGVyID8/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWhlcj8gKElyaXgsIDI3LiBPa3QgMTk5NiwgMTQ6MDA6NDkpOgpIaWhvbywKCmljaCBoYWIgendhciBzY2hvbiBtYWwgZ2VmcmFndCwgYWJlciBuYXR1ZXJsaWNoIHdpZWRlciB2ZXJnZXNzZW46CgpXaWUgd2FyIGRhcyBtaXQgZGVuIEFsdHNwaWVsZXJuPyBEaWUgYnJhdWNoZW4gamV0enQgYXVjaCBTdHVmZW5wdW5rdGUKenVyIFNlaGVyd2VyZHVuZz8gSWNoIGRhY2h0IGRpZSB3ZXJkZW4gbmFjaCBkZW4gYWx0ZW4gUmVnZWxuIFNlaGVyPwpBYmVyIGRhcyBpc3Qgd29obCBmYWxzY2g/IERpZSBtdWVzc2VuIGF1Y2ggMjAwMCBTdHVmZW5wdW50ZSBoYWJlbj8KQWxzbyBGUCBzdWNoZW4sIG5vY2h2aWVsIG1laHIgUXVlc3RzIGFscyBub2V0aWcgdW5kIEVQIGhhdWVuIHVuZCBaVCdzCnN1Y2hlbj8gVW5kIHdpZSBpc3NlcyBkYW5uIG1pdCBkZW0gQmV0dGxlcj8gRGVyIGdyZWlmdCBtaWNoIHNjaG9uCmFuIG9id29obCBpY2ggamEgbm9jaCBnYXIga2VpbiBTZWhlci9NYWdpZXIgd2VyZGVuIGthbm4/IERlcgpzb2xsdGUgZGFubiB3b2hsIG1hbCB1bWdlc2NocmllYmVuIHdlcmRlbi4KCklyaXguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMYW56ZSBicmVjaGVuLi4uIChTbnVnZ2xlLCAyOS4gT2t0IDE5OTYsIDE4OjAzOjQ0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDYxNjU4NzEKfiMhIHRpZD04NDU2NTIzMDEKZWJlbi4KYXVjaCBzbyBrYW5uIG1hbiBoZWxmZW4gOi0pCgphdXNzZXJkZW0gc29sbHRlc3QgZHUgZGljaCBtYWwgYW4gZGVpbmUganVnZW5kc3VlbmRlbiBhbHMganVuZ21hZ2llciBlcmlubmVybgoKU251Z2dsZSAtIHZvbiBHZEEgd2FocnNjaGVpbmxpY2ggdm9yIGRlbSBUb2RlIGdlcmV0dGV0IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTGFuemUgYnJlY2hlbi4uLiAoR3JpbW1ib3JuLCAzMC4gT2t0IDE5OTYsIDExOjU0OjIyKToKfiMhIHJuPVNudWdnbGUgcnQ9ODQ2NjA4NjI0Cn4jISB0aWQ9ODQ1NjUyMzAxCgpIbW0sIHdhcyBzb2xsIGljaCBnZXRhbiBoYWJlbiwgU251Z2dsZSB2b3IgZGVtIFRvZCBnZXJldHRldD8gSG1tLCBpY2ggZ2VoZSBpbgptaWNoIHVuZCBiaW4gYmVyZWl0LCBkaWVzZW4gRmVobGVyIHdpZWRlciBndXR6dW1hY2hlbi4gQml0dGUgd2VuZGUgRGljaCBlaW5lcwpvZmZpemllbGxlbiB6YXBzIHdlZ2VuIGJlaSBtaXIuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyB0dXQgbWFuIG5pY2h0IGFsbGVzIC4uLiAoRHVyaWFuLCAgMS4gTm92IDE5OTYsIDEyOjI2OjQwKToKCkhhbGxvIHp1c2FtbWVuIQoKTmFjaCBuYWNoIGxhbmdlbSBLYW1wZiBoYWJlIGljaCBNaXR0ZSBPa3RvYmVyIGVuZGxpY2ggbWVpbmUgRGlwbG9tYXJiZWl0CmFiZ2VnZWJlbiB1bmQgYmluIG51biBlbmRndWVsdGlnIGZlcnRpZyBtaXQgZGVtIFN0dWRpdW0uIER1bW1lcndlaXNlCmdpYnQgZXMgbm9jaCBIZXJyZW4gaW4gZ3J1ZW5lbiBBbnp1ZWdlbiAoTWlrYSB3ZWlzcywgd292b24gaWNoIHJlZGUpLCBkaWUgCm1laW5lIEFud2VzZW5oZWl0IGZ1ZXIgZHJpbmdlbmQgZXJmb3JkZXJsaWNoIGhhbHRlbi4gRGEgaWNoIG1pY2ggaW4gCmdld2lzc2VyIFdlaXNlIHNlaHIgZ2VzY2htZWljaGVsdCBmdWVobGUgKCpodWVzdGVsKiksIHdlcmRlIGljaCBhbHNvIGRpZQpuYWVjaHN0ZW4gMTAgTW9uYXRlIGVpbmVuIGZlc3RlbiBBcmJlaXRzcGxhdHogaGFiZW4uIERhZHVyY2ggd2lyZCBzaWNoCmRpZSBaZWl0LCBkaWUgaWNoIG5vY2ggZnVlcidzIE1VRCB1ZWJyaWcgaGFiZSwgbmF0dWVybGljaCBhdWNoIGVpbiAKTWluaW11bSByZWR1emllcmVuLiBJY2ggd2VyZGUgYWJlciB3ZWl0ZXIgcmVnZWxtYWVzc2lnIG1hbCByZWluc2NoYXVlbgp1bmQgZGllIG5pZW1hbHMgYXVmdHJldGVuZGVuIEZlaGxlciBiZWhlYmVuLiBXZWl0ZXJoaW4gd2VyZGUgaWNoIG1pY2ggCmJlbXVlaGVuIGRpZSBzZWhyIGxhbmdlIFd1bnNjaGxpc3RlIHdhcyBuZXVlIFRpZXJlLCBkaWUgQXJlbmEgdW5kIEFsaQpCYWJhcyBWZXJzdGVjayBhbmdlaHQsIGFienVhcmJlaXRlbi4gSWNoIG11c3MgZGEgYWJlciBkb2NoIHNlaHIgdW0gR2VkdWxkCmJpdHRlbiwgZGEgbWVpbiBuZXVlciBKb2IsIHp1bWluZGVzdCBhbmZhbmdzLCB6aWVtbGljaCB6ZWl0YXVmd2VuZGlnIGlzdC4KCkFuc29uc3RlbiB3dWVuc2NoZSBpY2ggRXVjaCBhbGxlbiBub2NoIHZpZWwgU3Bhc3MsIHVuZCBoYWx0ZXQgbWlyIGRhcwpNVUQgc2F1YmVyIQoKLSBEdXJpYW4KClAuUy46IFVuZCBzb3JndCBkYWZ1ZXIsIGRhc3MgZGllIFBvbGFyZnVlY2hzZSBuaWNodCBub2NoIGVpbmdlYmlsZGV0ZXIKd2VyZGVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyB0dXQgbWFuIG5pY2h0IGFsbGVzIC4uLiAoTW9yZ290aCwgIDEuIE5vdiAxOTk2LCAxMjozODo1MSk6Cn4jISBybj1EdXJpYW4gcnQ9ODQ2ODQ3NjAwCn4jISB0aWQ9ODQ2ODQ3NjAwCkdydWVuZSBBbnp1ZWdlID8/ClBvbGl6ZWk/IEJ1bmRlc2dyZW56c2NodXR6ID8/IEJORD8/IApNb3Jnb3RoIGJpYmJlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHR1dCBtYW4gbmljaHQgYWxsZXMgLi4uIChHdWxkdWthdCwgIDEuIE5vdiAxOTk2LCAxMzoxNDoxNCk6Cn4jISBybj1EdXJpYW4gcnQ9ODQ2ODQ3NjAwCn4jISB0aWQ9ODQ2ODQ3NjAwClNuaWZmLCBoZXVsCgp4ZG8gemFwIHBhcGFnZWk7IGlzcyBsZWljaGUKQmxlaWIgYmVpIHVucywgRHVyaWFuLCBEZXNlcnRpZXJlLCBmbHVlY2h0ZSBpbnMgS2lyY2hlbmFzeWwhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyB0dXQgbWFuIG5pY2h0IGFsbGVzIC4uLiAoR3VsZHVrYXQsICAxLiBOb3YgMTk5NiwgMTM6MTQ6NTgpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ2ODUwNDU0Cn4jISB0aWQ9ODQ2ODQ3NjAwClNjaGVpc3MgVHJpZ2dlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKFBpbGdyaW0sICAxLiBOb3YgMTk5NiwgMTQ6Mjg6NTIpOgp+IyEgcm49TW9yZ290aCBydD04NDY4NDgzMzEKfiMhIHRpZD04NDY4NDc2MDAKSGlIaSwKCmljaCB0aXBwZSBtYWwgYXVmIEZvZXJzdGVyIDstKSAuLi4gQmFldW1lIHVtc2NodWJzZW4gOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb25udGFnIE1vcmdlbiAoRGFuY2VyLCAgMy4gTm92IDE5OTYsIDA5OjUxOjA4KToKICAgTGlzdGUgZGVyIE1pdHNwaWVsZXIgdm9tIFNvbiwgIDMuIE5vdiAxOTk2LCAwOTo1MDoxMSAoMSBUZWlsbmVobWVyKQoKRGFuY2VyLi4uLi4uLi4uLlIKCi4uLiBJaHIgZWhsZW5kZW4gU2NobGFmbXVldHplbiA6LSkKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKExhcmllbCwgIDMuIE5vdiAxOTk2LCAxMDowMDo1NCk6Cn4jISBybj1EdXJpYW4gcnQ9ODQ2ODQ3NjAwCn4jISB0aWQ9ODQ2ODQ3NjAwCkhlaXNzdCBkYXMsIGRhc3MgbWFuIGRpY2ggZnVlciduIEphaHIgaW5zIEdlZmFlbmduaXMgc3RlY2t0PwpUamEsIG1pdCBtaXIgYWxzIEFud2FsdCB3YWVyIGRhcyBuaWNodCBwYXNzaWVydCEKCi0gTGFyaWVsIEZhbGtlbmZsdWcsIElucXVpc2l0b3Igdm9uIFRhcmFtaXMKICAoSGF0IHNpY2ggbWFsIHVlYmVybGVndCwgSnVyYSB6dSBzdHVkaWVyZW4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyB0dXQgbWFuIG5pY2h0IGFsbGVzIC4uLiAoQmxvb2R5aGFycnksICA0LiBOb3YgMTk5NiwgMDk6MDE6MjEpOgp+IyEgcm49RHVyaWFuIHJ0PTg0Njg0NzYwMAp+IyEgdGlkPTg0Njg0NzYwMApCZWkgZGVuIGtsZWluZW4gZ3J1ZW5lbiBNYWVubmNoZW4/IDspCgpiaCAtIGtvbm50ZSBlcyBtYWwgd2llZGVyIG5pY2ggbGFzc2VuIHp1IGxhZXN0ZXJuLgoKUFM6IElzdCBzY2hvbiBrbGFyIC0gbnVyIGJlaSBtaXIgd2FyZW4gZGllIEFuenVlZ2UgYmxhdS93ZWlzcywgYW5zb25zdGVuCmFiZXIgZGllIGdsZWljaGUgSypjayouIER1IGhhc3Qgc2Nob24gbWFsIG1laW4gQmVpbGVpZCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IExhbnplIGJyZWNoZW4uLi4gKFNudWdnbGUsICA0LiBOb3YgMTk5NiwgMDk6NDM6MDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0NjY3Mjg2Mgp+IyEgdGlkPTg0NTY1MjMwMQpJc3QgcmVjaHQsIGljaCB3ZXJkZSBtaWNoIGluIGRlbiBuYWVjaHN0ZW4gVGFnZW4genVyIGFtdGxpY2hlbiBFeGVrdXRpb24KZHVyY2ggenUtVG9kZS10cmlua2VuIGluIGRlciBMdXBpbmVudGFsa25laXBlIGVpbmZpbmRlbiA6LSkKCnRyaW5rc3RlIG1pdD8KYmlzIGRlbm5lLApTbmdnbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKFJvY2h1cywgIDQuIE5vdiAxOTk2LCAxMTo0NTozMik6Cn4jISBybj1MYXJpZWwgcnQ9ODQ3MDExNjU0Cn4jISB0aWQ9ODQ2ODQ3NjAwCk5lZSwgZGFzcyBoZWlzc3QgZGFzcyBEdXJpYW4gamV0enQgc28gYXVlc3NlcnN0IHNpbm52b2xsZQp0YWV0aWdrZWl0ZW4gbGVybnQgd2llIGR1cmNoIGRlbiBTY2hsYW1tIHJvYmJlbgp1bmQgTGV1dGUgYWJ6dXNjaGllc3Nlbi4uLgpNdXNzIGljaCBOT0NIIGRldXRsaWNoZXIgd2VyZGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbm50YWcgTW9yZ2VuIChBbmNhbGFnb24sICA0LiBOb3YgMTk5NiwgMTI6MDI6MjEpOgp+IyEgcm49RGFuY2VyIHJ0PTg0NzAxMTA2OAp+IyEgdGlkPTg0NzAxMTA2OApWb24gd2VnZW4gU2NobGFmbXVldHplISBEYSB3YXIgaWNoIGdlcmFkZSBlcnN0IGltIEJldHQuLi4uLi4uLi4oZ2VpbGUgZmV0ZSEpCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5jYWxhZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKEFzbW9kaXMsICA0LiBOb3YgMTk5NiwgMTI6MDI6MzApOgp+IyEgcm49Um9jaHVzIHJ0PTg0NzEwNDMzMgp+IyEgdGlkPTg0Njg0NzYwMApTb3dhcyBrYW5uIG1hbiBkb2NoIGd1dCBmdWVyIE1VRC1UcmVmZmVuIGdlYnJhdWNoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKEtyZXRlaywgIDQuIE5vdiAxOTk2LCAxMjowNTozNik6Cn4jISBybj1EdXJpYW4gcnQ9ODQ2ODQ3NjAwCn4jISB0aWQ9ODQ2ODQ3NjAwCktsZWluZSBncnVlbmUgTWFlbm5jaGVuPwoxMCBNb25hdGU/CkhtbW0uLi4uIElyZ2VuZHdpZSBrbGluZ3QgZGFzIFNFSFIgdmVydHJhdXQhIDotKQpUamEsIGRhIHNvbGx0ZSBpY2ggamEgZmFzdCBtYWwgZ3VnZ2VuLCBkYXNzIGljaCAnbmUga2xlaW5lIFVlYnVuZwptYWNoZW4gZGFyZjsgaWNoIHdvbGx0ZSBpbW1lciBzY2hvbiBtYWwgZWluZW4gUiBydW1zY2hldWNoZW4gOi0pCgpDaWFvLApLcmV0ZUsKKHN0cmVpY2hlbHQgc2VpbmUgU3Rlcm5jaGVuLCB6d2VpIGFuIGRlciBaYWhsLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdHJlZmZlbiA/Pz8gKFFpdGVzcywgIDQuIE5vdiAxOTk2LCAxMzoyNzoyMik6Cm1hbm5lbWV0ZXIuIG11c3MgbWFuIGRlbm4gZGllICdpY2gga29tbWUgYXVjaCctYXJ0aWtlbCBhbGxlIGluIHRyZWZmZW4KdW50ZXJicmluZ2VuID8gaWNoIGJpdHRlIGluYnJ1ZW5zdGlnIGVpbmVuIHp1c3RhZW5kaWdlbiBkaWVzZXMgemV1Z3MgYWxsZXMgaW4KZGlyIHJ1YnJpayBzY2htYXJybiB6dSB2ZXJsZWdlbi4gbWVpbmVuIGFydGlrZWwgYmV6dWVnbGljaCBkZXMgbmV4dGVuCnN0YW1tdGlzY2hlcyBpbiBCUyBrYW5uIG1hbiBpbSBnbGVpY2hlbiBhdGVtenVnIC4uLiBuZWluLCBuaWNodCBoaW50ZXJoZXIKc29uZGVybiBpbiBkaXIgcnVicmlrIHRyZWZmZW4gdmVybGVnZW4uIDopCgphbHNvIDogU1RBVEkgSU4gQlMKCmFtIDcuIERlei4gdW0gMjAgdWhyIGltIHZpZXJ0ZWwgbmFjaCBpbSBidWVsdGVud2VnIDopCgprb21tdCB6YWhscmVpY2ggdW5kIGZyb2VobGljaCB1bmQgYW5tZWxkdW5nZW4gYmVpIHFpdGVzcyA6KQoKUUkgIGlzdCBoZXV0ZSBpcmdlbmR3aWUgc28gZm9lcm1saWNoLi4uCgoqICoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKEhhZHJhLCAgNC4gTm92IDE5OTYsIDE0OjA5OjQwKToKfiMhIHJuPVJvY2h1cyBydD04NDcxMDQzMzIKfiMhIHRpZD04NDY4NDc2MDAKbGV1dGUgYWJzY2hpZXNzZW4/IGFsc28gc28gbmUgYXJ0IHJsIHphcD8KCmhhZHJhIC0gd2Vpc3MsIGRhc3Mgc2ljaCBqZXR6dCBtaW5kZXN0ZW5zIGVpbmVyIGF1ZnJlZ2VuIHdpcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb25udGFnIE1vcmdlbiAoU2x5Zm94LCAgNC4gTm92IDE5OTYsIDE0OjMwOjQ2KToKfiMhIHJuPURhbmNlciBydD04NDcwMTEwNjgKfiMhIHRpZD04NDcwMTEwNjgKRGFuY2VyLCBlcyBoYWJlbiBsZWlkZXIgbmljaHQgYWxsZSBkaWUgTW9lZ2xpY2hrZWl0LCBTb25udGFncyB6dSBtdWRkZW4sCnVuZCBmdWVyIGRpZSBMZXV0ZSwgZGllIGVpbiBNb2RlbSBoYWJlbiwgaXN0IGVzIFNvbm50YWcgbW9yZ2VucyBzaWNoZXIgenUKdGV1ZXIuCgpBY2ggamEsIHVtIGRpZSBaZWl0IGhhYiBpY2ggdGF0c2FlY2hsaWNoIGdlc2NobGFmZW4uICpnYWVobiogOikKCiAgIFNseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FzIHR1dCBtYW4gbmljaHQgYWxsZXMgLi4uIChTdXNoaSwgIDUuIE5vdiAxOTk2LCAwMDoyNzowOSk6Cn4jISBybj1Sb2NodXMgcnQ9ODQ3MTA0MzMyCn4jISB0aWQ9ODQ2ODQ3NjAwCk5laW4sIGRhcyBpc3QgZG9jaCB3aXJrbGljaCBkZXV0bGljaCBnZW51Zy4gVmllbGxlaWNodCBoYWV0dGUgbWFuIGRhcwpFcnNjaGllc3NlbiB2b24gV2VocmtyYWZ0emVyc2V0emVybiBpbiBkZXIgQXVzYmlsZHVuZyBsYXNzZW4gc29sbGVuLCBkYW5uCmJsaWViZSBkZXIgV2VsdCBzb2NsY2hlciBoYWxiZ2FyZXIgQmxvZWRzaW5uIGVyc3BhcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyAuLi4gKEZ5dCwgIDUuIE5vdiAxOTk2LCAxODoxNzozMCk6Cn4jISBybj1TdXNoaSBydD04NDcxNTAwMjkKfiMhIHRpZD04NDY4NDc2MDAKCkhtLCB3YWVyZSBlcyBuaWNodCBnZXVuc3RpZ2VyLCB3ZW5uIGRpZSBMZXV0ZSBzaWNoIGJlaSB1ZWJldW5nZW4gaW4KendlaSBncnVwcGVuIGF1ZnRlaWxlbiB3dWVyZGVuIHVuZCBzY2hhcmZlIG11bml0aW9uIGJla2FlbWVuPyAqaHVzdCoKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIHR1dCBtYW4gbmljaHQgYWxsZXMgLi4uIChRdWFzaW1vZG8sICA3LiBOb3YgMTk5NiwgMTQ6MTY6MzYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ2ODUwNDU0Cn4jISB0aWQ9ODQ2ODQ3NjAwCmhhdCBkYXMgIkRlc2VydGllcmUiIGV0d2FzIG1pdCBEZXNlcnQtVGllcmVuIHp1IHR1bj8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FzIHR1dCBtYW4gbmljaHQgYWxsZXMgLi4uIChIZWx2YSwgIDcuIE5vdiAxOTk2LCAxNjo1MToyMCk6Cn4jISBybj1IYWRyYSBydD04NDcxMTI5ODAKfiMhIHRpZD04NDY4NDc2MDAKaWNoIHdlaXNzIGphIG5pY2h0LC4uLiBhYmVyIGdhYnMgYmVpIGRlbiBncnVlbmVuIGltIGdlZ2Vuc2F0eiB6dSBkZW4KYmxhdS93ZWlzc2VuIG5pY2h0IHNvIDEtMiBhbHRlcm5hdGl2ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTbHlmb3ggZXJzY2hlaW50IGltIFN0ZXJuIChTbHlmb3gsIDExLiBOb3YgMTk5NiwgMjI6MTY6MTMpOgpOYSBzb3dhcyEKCkRhIHNhc3MgaWNoIGFtIEZyZWl0YWcgaW4gVWxtIGltIEJhaG5ob2ZzY2FmZSwgd2VpbCBpY2ggZWluZSBoYWxiZQpTdHVuZGUgYXVmIGRlbiBadWcgd2FydGVuIG11c3N0ZSB1bmQgbGVzIGdlbXVldGxpY2ggZGVuIFN0ZXJuLgpXYXMgc2VoIGljaCBkYSBhdWYgZGVyIFNlaXRlIDI0PwoKRWluIEZvdG8gdm9uIGRlciBEZW1vIGdlZ2VuIFNwYXJwYWtldCB1bmQgU3R1ZGllbmdlYnVlaHJlbiBpbgpLb25zdGFueiwgdm9uIGVpbmVyIFN0ZWxsZSwgZGllIG1pciBzZWhyIGJla2FubnQgdm9ya2FtLgoKVW5kIHdhcyBlcmtlbm4gaWNoIGRhIG5vY2g/CgpNaWNoISBJY2gga29ubnQncyBuaWNodCBnbGF1YmVuLCBoYWIgaWNoJ3MgZG9jaCB0YXRzYWVjaGxpY2gKZ2VzY2hhZmZ0LCBpbSBTdGVybiB6dSBlcnNjaGVpbmVuLiA6KSkKCkljaCBzdGVoIGRhIHppZW1saWNoIGF1ZiBkZXIgbGlua2VuIFNlaXRlLCBkZXIgbWl0IGRlbiBrdXJ6ZW4KZHVua2xlbiBIYWFyZW4sIGZ1ZXIgZGllLCBkaWUgbWljaCBub2NoIG5pZSBnZXNlaGVuIGhhYmVuLgoKR2xlaWNoIGVpbiBHcnVuZCBtZWhyIGZ1ZXIgYWxsZSwgZGVuIFN0ZXJuIHp1IGthdWZlbiA7KQoKICAgU2x5Zm94CgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2x5Zm94IGVyc2NoZWludCBpbSBTdGVybiAoUGlsZ3JpbSwgMTEuIE5vdiAxOTk2LCAyMjoxOToyOSk6Cn4jISBybj1TbHlmb3ggcnQ9ODQ3NzQ2OTczCn4jISB0aWQ9ODQ3NzQ2OTczCkhpaGkuLi4KCndhcyBtZWluc3QgRHUgbWl0OgpJY2ggc3RlaCBkYSB6aWVtbGljaCBhdWYgZGVyIGxpbmtlbiBTZWl0ZSwgZGVyIG1pdCBkZW4ga3VyemVuCgppc3QgZGFzIGJpbGRsaWNoIGdlc3Byb2NoZW4gLi4uID8/PwpQaWxncmltCigtPiBhYiBuYWNoIHNjaG1hcnJuIDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2x5Zm94IGVyc2NoZWludCBpbSBTdGVybiAoQXNtb2RpcywgMTEuIE5vdiAxOTk2LCAyMjoyMzozNik6Cn4jISBybj1QaWxncmltIHJ0PTg0Nzc0NzE2OQp+IyEgdGlkPTg0Nzc0Njk3MwpEYW5uIHN0dWVuZGUgZXIgamEgZWhlciByZWNodHMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTbHlmb3ggZXJzY2hlaW50IGltIFN0ZXJuIChZYW50cm8sIDEyLiBOb3YgMTk5NiwgMDg6MjE6MzQpOgp+IyEgcm49U2x5Zm94IHJ0PTg0Nzc0Njk3Mwp+IyEgdGlkPTg0Nzc0Njk3MwoKSG1tbSBpY2ggZGFjaHRlIG1hbiBzY2hhdXQgbnVyIGluIGRlbiBTdGVybiwgd2VubiBtYW4gc2ljaCBpbSBTcGllZ2VsIG5pY2h0Cm1laHIgc2VoZW4ga2FubiA6KQoKWWFudHJvIGdvZXMgdG8gU2NobWFycm4uLi4uIChoYXQgc2Nob24gZmFzdCBBbmF0b2wtTml2ZWF1IDspICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVwdGltZSAgbWFjaHQgaWhyZW0gTmFtZW4gd2llZGVyIEVocmUgKE15c2VsZiwgMTMuIE5vdiAxOTk2LCAyMDozMjoxMCk6CkhpIE11ZGRpZXMsCgogICBkYSBpY2ggenUgZGVuamVuaWdlbiBnZWhvZXJlLCBkaWUgYmVpIGRlbiBEYXVlcmNyYXNocyBkZXIKdm9ybGV0enRlbiBaZWl0IGtyYWVmdGlnIGdlc2NoaW1wZnQgaGFiZW4sIGlzdCBlcyBuYWNoIGRlbQpVZWJlcnNjaHJlaXRlbiBkZXIgdXB0aW1lIHZvbiAxMCBUYWdlbiBhdWNoIG1hbCBhbiBkZXIgWmVpdCwKZGVuIE1hZ2llcm4gZGllIGRlbiBCdWcgZ2VmaXhlZCBoYWJlbiAoZGggd29obCBpbnNiZXNvbmRlcmUKQ2F0d2VhemxlIGZ1ZXIgZGllIENQVSkgenUgZGFua2VuIQpKZWRlbmZhbGxzIG1hY2h0IChtaXIpIGRhcyBNdWRkZW4gc28gdmllbCBtZWhyIFNwYXNzLi4uCgpHcnVzcywKCk15c2VsZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVwdGltZSAgbWFjaHQgaWhyZW0gTmFtZW4gd2llZGVyIEVocmUgKFZhbGFyaWFuLCAxNC4gTm92IDE5OTYsIDAwOjA3OjU2KToKfiMhIHJuPU15c2VsZiBydD04NDc5MTM1MzAKfiMhIHRpZD04NDc5MTM1MzAKSWNoIGZpbmRlIGVzIHNvbGx0ZSBtYWwgZ2VyZWJvb3RldCB3ZXJkZW4uIGljaCBrb21tZSBpbiBkaWVzZXIgV2VsdCBvaG5lCnN0YWVuZGlnZXMgTmV1YW5mYW5nZW4gbmljaHQgenVyZWNodC4gSWNoIGhhYmUga2VpbmUgemllbGUgbWVociwgaWNoIGJpbgpvcmllbnRpZXJ1bmdzbG9zLiBTZWxic3Rsb2VzY2h1bmc/IQoKTmVlIGltIEVybnN0LCBjb29sZSBTYWNoZSwgaWhyIFd1cnN0bWFnaWVyIDopCgpHcnVzcyBWYWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdXB0aW1lICBtYWNodCBpaHJlbSBOYW1lbiB3aWVkZXIgRWhyZSAoSGVsdmEsIDE2LiBOb3YgMTk5NiwgMjI6MTI6NDYpOgp+IyEgcm49TXlzZWxmIHJ0PTg0NzkxMzUzMAp+IyEgdGlkPTg0NzkxMzUzMApEZW0ga2FubiBpY2ggbWljaCBudXIgYW5zY2hsaWVzc2VuIQpFaW5lIFN0dWZlIG1laHIgaGFiZSBpY2ggc2Nob24gZ2VzY2hhZmZ0LCBhYmVyIHZpZWxsaWVjaHQgd2VyZGVuIGVzIGF1Y2ggbm9jaAptZWhyLCB1bmQgZGFzLCBvYndvaGwgaWNoIG1vbWVudGFuIGxlaWRlciBzZWhyIHdlbmlnIFplaXQgenVtIG11ZGRlbiBoYmFlCipzZXVmeioKRWluZSBmYXN0IHN0cmFobGVuZGUgaGVsdmEgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdXB0aW1lICBtYWNodCBpaHJlbSBOYW1lbiB3aWVkZXIgRWhyZSAoTWF0c3VzaGl0YSwgMTguIE5vdiAxOTk2LCAwMDoyOToyMSk6Cn4jISBybj1NeXNlbGYgcnQ9ODQ3OTEzNTMwCn4jISB0aWQ9ODQ3OTEzNTMwCkhtLCByZWNodCBoYXN0ZSwgdmVyZWhydGVyIE15c2VsZiwgYWJlciB3aWUgd2VyZGUgaWNoIGpldHp0IG1laW5lCnZlcmZsdWNodGUgUnVlc3R1bmcgd2llZGVyIGxvcz8KCklzdCBlYmVuIGZhdWxlciBhbHMgYW5kZXJlOgoKTWF0c3UqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB1cHRpbWUgIG1hY2h0IGlocmVtIE5hbWVuIHdpZWRlciBFaHJlIChBc21vZGlzLCAxOC4gTm92IDE5OTYsIDE3OjM4OjA0KToKfiMhIHJuPU1hdHN1c2hpdGEgcnQ9ODQ4MjczMzYxCn4jISB0aWQ9ODQ3OTEzNTMwCkVzIGdpYnQgZWluaWdlIE1vZWdsaWNoa2VpdGVuLCB6dSBlbnRmbHVjaGVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFnaWVyd2lsbGt1ZXI/IChEaWRpLCAxOC4gTm92IDE5OTYsIDE4OjUxOjUwKToKU2Nob24gYWxzIFNwaWxlciB3YXIgaWNoIGltbWVyIHdpZWRlciBkZXIgV2lsbGt1ZXIgZ2V3aXNzZXIgTWFnaWVyIGZyZWkKYXVzZ2VzdHp0LiBKZXR6dCBhbHMgTWFnaWVyIGlzdCBlcyB6d2FyIGdlbmF1c28sIGFiZXIgaWNoIGthbm4gYmVzc2VyIGRhZ2VnZW4Kdm9yZ2VoZW4uIFdhcyBpY2ggbWVpbmUgc2luZCBCZWxlZ3VuZ2VuIG1pdCBGbHVlY2hlbiwgRnJvc2NoZW4sIEhhbHN3ZWgsIGluCmRlbiBLbmFzdCBzY2hpY2tlbi4gV2VubiBzb2xjaGUgQWt0aW9uIG51ciBhdXMgcGVyc29lbmxpY2hlbiBHcnVlbmRlbgpnZXNjaGVoZW4sIGRhbm4gaXN0IGRhcyBmdWVyIG1pY2ggZWluIGtsYXJlciBGYWxsIHZvbiBNYWdpZXItV2lsbGt1ZXIuIEVzIGdlaHQKaGllciBuaWNodCBudXIgdW0gbWljaCwgaWNoIGhhYmUgZWluIGRpY2tlcyBGZWxsLCBzb25kZXJuIGVzIGdlaHQgYXVjaCB1bQphbmRlcmUgU3BpZWxlciwgZGllIHNpY2ggb2Z0IGdlbnVnIHVlCnVlYmVyIHNvbGNoZSBBa3Rpb25lbiBiZXNjaHdlcnQgaGFiZW4uIE1hZ2llciwgZGllIHNvbGNoZSBBa3Rpb25lbgpkdXJjaGZ1ZWhyZW4sIGJlc2l0emVuIG1laW5lciBNZWludW5nIG5hY2ggbmljaHQgZ2VudWcgVmVyYW50d29ydHVuZ2dlZnVlaGwKdW5kIFNvdXZlcmFlbml0YWV0LCB1bSB1ZWJlciBzb3ZpZWwgTWFjaHQgdmVyZnVlZ2VuIHp1IGR1ZXJmZW4uCgogICAgICAgICAgIERpZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWdpZXJ3aWxsa3Vlcj8gKEtyZXRlaywgMTguIE5vdiAxOTk2LCAxOTowMDozNCk6Cn4jISBybj1EaWRpIHJ0PTg0ODMzOTUxMAp+IyEgdGlkPTg0ODMzOTUxMApPY2guCkhhdCBtYWwgamVtYW5kIGVpbiBUYXNjaGVudHVjaCBmdWVyIGRlbiBhcm1lbiwga2xlaW5lbiBKdW5nbWFnaWVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hZ2llcndpbGxrdWVyPyAoUWl0ZXNzLCAxOC4gTm92IDE5OTYsIDIwOjMzOjI5KToKfiMhIHJuPURpZGkgcnQ9ODQ4MzM5NTEwCn4jISB0aWQ9ODQ4MzM5NTEwCgppY2ggZ2xhdWIgaWNoIGtyaWVnIG5lIEtyaXNlLgoKUUkgbXVzcyBqZXR6dCBhdWNoIHdlaW5lbiAuLi4KCioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWdpZXJ3aWxsa3Vlcj8gKFN1c2hpLCAxOC4gTm92IDE5OTYsIDIwOjU0OjQ1KToKfiMhIHJuPURpZGkgcnQ9ODQ4MzM5NTEwCn4jISB0aWQ9ODQ4MzM5NTEwCkljaCBrZW5uJyBEaWNoIGphIG5pY2h0LCBhYmVyIGRhcyBpc3Qgc2VsYnN0IGZ1ZXIgbWVpbmVuIHNjaGxlY2h0ZW4gR2VzY2htYWNrCnp1dmllbC4uLiBIYXQgbWFuIERpY2ggbWl0IHZvcmdlaGFsdGVuZXIgV2FmZmUgenUgZGllc2VtIEFydGlrZWwgZ2V6d3VuZ2VuPwpBbmRlcm5mYWxscyBzb2xsdGVzdCBEdSBtYWwgZGllIEtsZXJpa2VyIGZyYWdlbiwgb2IgZGllIG5vY2ggZWluZW4KU2NoZWluaGVpbGlnZSBicmF1Y2hlbi4KClN1c2hpIC0gZ3J1ZW4gYW5sYXVmZW5kLgoKUC5TLgpOaWNodCwgZGFzcyBlciBuaWNodCBpbiBkZXIgU2FjaGUgcmVjaHQgaGFldHRlLCBhYmVyIGRhcyBpc3QgZG9jaCBudXIgInN0YXRpbmcKdGhlIG9idmlvdXMiIGluIFZlcmJpbmR1bmcgbWl0ICJmaXNoaW5nIGZvciBjb21wbGltZW50cyIgLSB3aWUgYXVjaCBpbW1lciBkYXMKbnVuIGF1ZiBEZXV0c2NoIGhlaXNzZW4gbWFnICo8Oy19CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFnaWVyd2lsbGt1ZXI/IChOYWlyb2xmLCAxOC4gTm92IDE5OTYsIDIzOjQ1OjEzKToKfiMhIHJuPURpZGkgcnQ9ODQ4MzM5NTEwCn4jISB0aWQ9ODQ4MzM5NTEwCldJTExLVUVSID8/Pz8/CkxpZWJlciBEaWRpLCAoYnp3LiBMSUVCIG5laG0gaWNoIHp1cnVlY2suLi4uKQpXZW5uIHNvbGNoIGVpbiBBcnRpa2VsIHZvbiBEaXIga29tbXQgZGVua2UgaWNoIGthbm4gZGFzIGdlc2FtdGUgTXVkIGRhcnVlYmVyCmVpbm1hbCBoZXJ6bGljaCBsYWNoZW4sIGRlbm4gRFUgYmlzdCBlaW5lciBkZXIgTWFnaWVyLCBkaWUgc2ljaCBnYW56IHVuZApnYXJuaWNodCBhbiBnZXdpc3NlIEV0aWtldHRlLCBnZXNjaHdlaWdlIGRlbm4gYW4gTWFnaWVycmVnZWxuIGhhbHRlbi4KU28gei5iLiBsZXR6ZSBXb2NoZSwgYWxzIGR1IG1pdCBlaW5lbSBnZXdpc3NlbiBEdWZ0c3ByYXkgZWluZSBTUGllbGVyaW4KYmVsYWVzdGlndCBoYXN0LCB3ZWxjaGUgZ2VyYWRlIGluIGVpbmVtIEVkaXRvciB3YXIgdW5kIGVpbmUgbGFuZ2UgTWFpbApzY2hyaWViLCB3ZWxjaGUgZGFyYXVmaGluIHVuYXVmZmluZGJhciB3dXJkZSwgZGEgZGVyIHZvbiBkaXIgZWluZ2VzZXR6dGUKIkR1ZnRzcHJheSIgc2llIGRlcm1hc3NlbiBpbSBFZGl0b3Igc3RvZXJ0ZSwgZGFzcyBzaWUgbmljaHQgYXVmIGtvbnZlbnRpb25lbGxlCkFydCB1bmQgV2Vpc2UgYXVzIGRpZXNlbSBoZXJhdXMga29ubnRlLgpEZXN3ZWl0ZXJlbiBiaXN0IERVIGVpbiBNYWdpZXIsIGRlciBzcGV6aWVsbCBhdWYgYmVzdGltbXRlIFNwaWVsZXJpbm5lbgp6dWdlc2Nobml0dGVuZSBSYWV1bWUgcHJvZ3JhbW1pZXJ0LCAoYXVjaCBnZW5hbm50ICJGb2x0ZXJrYW1tZXIiKSB1bmQgZGl2ZXJzZQpTcGllbGVyIGR1cmNoIGRpZSB2ZXJzY2hpZWRlbnN0ZW4gRGluZ2UgYmVsYWVzdGlnc3QuCkFsc28gRGlkaSB1ZWJlcmxlZyBEaXIgbGllYmVyIHNvbGNoIGVpbmVuIEFydGlrZWwgMTAtMjAgbWFsLCBiZXZvciBkdSBzb2V0d2FzCnNjaHJlaWJzdC4KWnVkZW06IHVudGVybGFzc2UgZGllIEJlbGFlc3RpZ3VuZyB2b24gU3BpZWxlcm4gYml0dGUgc2VsYnN0ICEhIQoKTmFpcm9sZiwgImV0d2FzIiBzYXVlciB1ZWJlciBzbyBtYW5jaGVuIENvZGUgdm9uIERpZGkuLi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWdpZXJ3aWxsa3Vlcj8gKFBhdHJ5biwgMTkuIE5vdiAxOTk2LCAwMDowMToyNik6Cn4jISBybj1EaWRpIHJ0PTg0ODMzOTUxMAp+IyEgdGlkPTg0ODMzOTUxMApob2VydCBibG9zcyBhdWYgdWViZXIgbWFjaHQgenUgc2FiYmVsbi4uLm1pciB3aXJkIGdhbnogc2NobGVjaHQgZGF2b24KLi4uZGllcyBoaWVyIGlzdCB1bmQgYmxlaWJ0IGVpbiBzcGllbCAhISEKCi0tLS0tLQpwYXRyeW4gc2NodWV0dGVsdCBkZW4ga29wZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWdpZXJ3aWxsa3Vlcj8gKEJvaW5nLCAxOS4gTm92IDE5OTYsIDE0OjM1OjA5KToKfiMhIHJuPURpZGkgcnQ9ODQ4MzM5NTEwCn4jISB0aWQ9ODQ4MzM5NTEwCkRpZGksIHdlbm4gRHUgUHJvYmxlbWUgbWl0IE1hZ2llciBoYXN0LCBkYW5uIHdlbmRlIERpY2ggYW4gbWljaCBvZGVyCnNjaHJlaWIncyBpbiBlaW5lIE1hZ2llcnJ1YnJpay4gRGllc2VuIFNjaHdhY2hzaW5uIGluIGFsbGdlbWVpbiBhdXN6dS0KYnJlaXRlbiBpc3QgYWJzb2x1dCB1bm5vZXRpZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVib290IChUb2V0ZXIsIDIwLiBOb3YgMTk5NiwgMDk6MzY6MzkpOgpIaSwKYXVmZ3J1bmQgZWluZXMgZ3JvZXNzZXJlbiBQcm9ibGVtcyBtaXQgZGVtIE11ZHJlY2huZXIgbXVzcyBpY2ggZGllc2VuCmhldXRlIHVtIDEwOjMwIHJlYm9vdGVuLiBLYW5uIHNlaW4sIGRhc3MgZGllIGRhcmF1ZiBmb2xnZW5kZW4gUmVwYXJhdHVyZW4KZXR3YXMgbGFlbmdlciBkYXVlcm4uIERhcyBNRyB3aXJkIHp1IGRpZXNlciBaZWl0IGFsc28gZG93biBzZWluLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hZ2llcndpbGxrdWVyPyAoTWV0aGVkcmFzLCAyMC4gTm92IDE5OTYsIDEwOjIxOjU2KToKfiMhIHJuPURpZGkgcnQ9ODQ4MzM5NTEwCn4jISB0aWQ9ODQ4MzM5NTEwCkZhbHNjaGUgUnVicmlrLCBEaWRpLCBEZWluIEFydGlrZWwgc29sbHRlIHdvaGwgbmFjaCAnd2l0emUnLgoKICAgICAgICAgRGllIHNpZWJlbiBCZXJnZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVtb2lyZW4gYW4gZWluIGZ1bnplbmRlcyBNdWQ6KSAoR2FzdDQsIDIxLiBOb3YgMTk5NiwgMjI6MDk6MzcpOgpIYWxsbyBsaWViZXIgSGF0ZTopCgoxLiBTdGVsbCBzb2ZvcnQgZGllIEh5ZHJhIG5hY2ggUFYhIQoyLiBTaWUgc29sbHRlIHNjaG9uIHNvIGd1dCB3aWUgdG90IHNlaW4uLi4uLi4uZWlnZW50bGljaCBudXIgbm9jaCB1bWZhbGxlbgptdXNzIHNpZSBub2NoCjMuIEdJQiBVTlMgVU5TRVIgTVVEIFdJRURFUgo0LiBzaWVoZSAzLgo1LiBzaWVoZSA0Lgo2LiBnb3RvIDQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIQSBIQSBIQSBIQSBIQSAgKEdhc3Q0LCAyMS4gTm92IDE5OTYsIDIyOjExOjA0KToKIEBAQEBAQEBAQEBAQEBAQEBAQEBAJ35+fiAgICAgfn5+YEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQEBAQEBAQCcgICAgICAgICAgICAgICAgICAgICBgQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQEBAQCcgICAgICAgICAgICAgICAgICAgICAgICAgICBgQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQEAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAJyAgICAgICAgICAgICAgICAgICAgICBuLCAgICAgICAgICAgICAgICAgYEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAICAgICAgICAgICAgICAgICAgICAgXy8gfCBfICAgICAgICAgICAgICAgIEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAICAgICAgICAgICAgICAgICAgICAvJyAgYCcvICAgICAgICAgICAgICAgIEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAYSAgICAgICAgICAgICAgICAgPH4gICAgLicgICAgICAgICAgICAgICAgYUBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQCAgICAgICAgICAgICAgICAgLicgICAgfCAgICAgICAgICAgICAgICAgQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQGEgICAgICAgICAgICAgIF8vICAgICAgfCAgICAgICAgICAgICAgICBhQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBhICAgICAgICAgICBfLyAgICAgIGAuYC4gICAgICAgICAgICAgIGFAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAYSAgICAgX19fXy8gJyAgIFxfXyB8IHxfX19fX18gICAgICAgYUBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQEBhX18vX19fLyAgICAgIC9fX1wgXCBcICAgICBcX19fLmFAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQEAvICAoX19fLidcX19fX19fXylcX3xffCAgICAgICAgXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQHxcX19fX19fX18gICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XEBAQEBAQEBAQEBAQEBAQEAKIEBAQEBAQEBAQHx8ICAgICAgIHxcX19fX19fX19fX19fX19fX19fX19fX19fX19fL3xAL35+fn5+fn5+flxAQEAKIEBAQEBAQEBALyB8ICB8ICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IHx8XF9fX19fX19fX198QEAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlc3QgKEdhc3QxLCAyMS4gTm92IDE5OTYsIDIyOjEzOjEyKToKICAgICAgICAgICAgICBfX19fICAgICAgICAgIF9fXyAgICAgICAgICAgX18tLS0tX18gICBfL1wKICAgICAgICAgICBfL14gX18gXlxfICAgIC9+Xl8vIHwgICAgICAgKS9eICAgICAgICBeLV4gXy8KICAgICAgICBfL14gXy9eICBeXF8gXlwgfCAuLyAgL34gICAgICAvKCAgICAgICAgICAgIF8vXC4KICAgICAgXy9eXy9eLS1fICAgICBeXF9eXC1fXy1+ICAgICAgXy8oIFwgICAgICAgICBfLyAgLi8KICAgIC4vXl8vfCAgXF8gflwgICAgICBcX15cXyAgICAgIC9eIF8oICB+LV8gICAgXy8gXC4vXAogIF8vXl8vICAgXF8gIH5cIFwgICAgICBeXF9fXlwuLi9eXy9eIClcICAgIH5+fn4gICAgX1wvCiA8X18vICAgICAgIH5cX19cfCAgICAgICAgIF5cLl9fLi9eICAgICAgfi0tLV9fX18tLX4gflwKCiAgICAgICAgLiAuIC4gLiBvIG8gbyBvIG8KICAgICAgICAgICAgICAgX19fX18gICAgICBvICAgICAgIF9fX19fX18KICAgICAgX19fXz09PT0gIF1PT3xfbl9uX19dWy4gICAgIHxsYW1lcnwKICAgICBbX19fX19fX19dX3xfX3xfX19fX19fXyk8ICAgIHx2aWxsZXwKICAgICAgb28gICAgb28gICdvbyBPT09PLXwgb29cXF8gICB+fn58fn5+CiAgKy0tKy0tKy0tKy0tKy0tKy0tKy0tKy0tKy0kMS0rLS0rLS0rLS0rLS0rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3cuLi4gKExhcmllbCwgMjIuIE5vdiAxOTk2LCAxMjo0MDoxMCk6Ckh1ZWJzY2gsIHdpcmtsaWNoIGh1ZWJzY2gsIEdhc3Q0Li4uCkRhcyBpc3QgZWNodGUgQVNDSUktS3Vuc3QhCgotIExhcmllbCBGYWxrZW5mbHVnLCBJbnF1aXNpdG9yIHZvbiBUYXJhbWlzCiAgKEZpbmRldCBzZWluZW4gTmFtZW4gc2VsYmVyIGJsb2VkLCBmcmV1dAogICBzaWNoIGFiZXIgYXVmIGRlbiBBbnNjaGx1c3Mgdm9uIFRhcmFtaXMgdGllcmlzY2ghKQoKT29wcywgZGllIFNpZ25hdHVyIHdpZWRlciBsYWVuZ2VyIGFscyBkZXIgQXJ0aWtlbCAqYXJnbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb3cuLi4gKExvY28sIDIyLiBOb3YgMTk5NiwgMTI6NTM6MDcpOgp+IyEgcm49TGFyaWVsIHJ0PTg0ODY2MjgxMAp+IyEgdGlkPTg0ODY2MjgxMApMZWlkZXIgdm9uIGVpbmVtIGdhc3QgZ2Vwb3N0ZWQuLi4KCkRhcyBlcnN0ZSBCaWxkIHd1ZXJkZSBpY2ggbmFlbWxpY2ggZ2VybmUgYWxzIFBvc3RrYXJ0ZSBoZXJhdXNnZWJlbi4gQWJlcgpkYWZ1ZXIgYnJhdWNoZSBpY2ggbmF0dWVybGljaCBkaWUgWnVzdGltbXVuZyBkZXMgS3VlbnN0bGVycywgYXVjaCB3ZWdlbiBkZW4KYWJ6dWZ1ZWhyZW5kZW4gTGl6ZW56Z2VidWVocmVuLgoKQVNDSUktS3VlbnN0bGVyIGFsc28gYml0dGUgbWVsZGVuIGJlaToKCkxvZm90ZW4gVHJ5Y2tlcmkKei4gSGQuIExvY28KUG9zdGZhY2gsIFN2b2x2YWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpib290IGl0IChUb2V0ZXIsIDIyLiBOb3YgMTk5NiwgMTU6MTQ6MjIpOgpTbywgd2FlaHJlbmQgaWhyIGFsbGUgaWRsZSB3YXJ0LCBoYWJlIGljaCBoZWltbGljaCBkZW4gUmVjaG5lciByZWJvb3RldCwKZnRwIHNvbGx0ZSBqZXR6dCBhdWNoIHdpZWRlciBmdW5rdGlvbmllcmVuLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FsZGJhdWVybmhvZi1RdWVzdCAoTXVwZmVsLCAyMy4gTm92IDE5OTYsIDAxOjUwOjEzKToKCkJlaW0gV2FsZGJhdWVybmhvZi1RdWVzdCBnYWIgZXMgZWluIFByb2JsZW0gbWl0IGRlciAnSGF1cHRwZXJzb24nLiBEYXMgc29sbHRlCmpldHp0IGVybGVkaWd0IHNlaW4gKGhvZmZlIGljaCBtYWwgOi0pLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnNpY2h0IHVuZCBSZXVlIChEaWRpLCAyNS4gTm92IDE5OTYsIDEwOjM5OjE5KToKWnUgZGVuIFJlYWt0aW9uZW4gYXVmIG1laW5lbiBBcnRpa2VsIHZvbSAxOC5Ob3ZlbWJlcgoKCkJpbmdvISBEYSBzaW5kIGphIGRpZSBXb3J0ZSwgZGllIGljaCBob2VyZW4gd29sbHRlOgoKICAgJy4uLmRpZXMgaGllciBpc3QgdW5kIGJsZWlidCBlaW4gU3BpZWwhISEnCgpEYW5rZSwgUGF0cnluLiBEaWVzZSBFcmtlbm50bmlzIGlzdCB6d2FyIG5pY2h0IGdlcmFkZSBlaW4gQWt0IGdyb3NzZXIKZ2Vpc3RpZ2VyIFNjaG9lcGZ1bmcsIGFiZXIgZG9jaCBiZW1lcmtlbnN3ZXJ0IGdlbnVnLCB1bSBEaXIgZGFmdWVyIGVpbgpnZXdpc3NlcyBNYXNzIGFuIGdlc3VuZGVtIE1lbnNjaGVudmVyc3RhbmQgenUgYXR0ZXN0aWVyZW4uCk1hbmNoZSBoaWVyIHNjaGVpbmVuIGRpZXMgbmFlbWxpY2ggdm9lbGxpZyB2ZXJnZXNzZW4genUgaGFiZW4uIEFuZGVycwprYW5uIGljaCBtaXIgamVkZW5mYWxscyBlaW5lIGdld2lzc2UgRHVlbm5oYWV1dGlna2VpdCwgYWxsenUgZ3Jvc3NlClZlcmJpc3NlbmhlaXQgdW5kIGdlcmFkZXp1IGxhZWNoZXJsaWNoIGFubXV0ZW5kZSBVZWJlcnJlYWt0aW9uZW4gbmljaHQKZXJrbGFlcmVuLiBFaW4gYmlzc2NoZW4gbWVociBTb3V2ZXJhZW5pdGFldCBiaXR0ZXNjaG9lbiwgZXR3YXMgbWVociB1ZWJlcgpkZW4gRGluZ2VuIHN0ZWhlbiwgc2ljaCBuaWNodCBnbGVpY2ggdWViZXIgamVkZSBLbGVpbmlna2VpdCBhdWZyZWdlbi4KRXMgd2lyZCBoaWVyIHZpZWwgdmVyYmFsZXIgTXVlbGwgYWJnZWxhc3Nlbi4gTmEgdW5kPyBGdWVyIGFsbHp1IHNlbnNpYmxlLAptaW1vc2VuLSB1bmQgZXJuc3RoYWZ0ZSBHZW11ZXRlciBtb2VjaHRlIGljaCBhbiBkaWVzZXIgU3RlbGxlIGF1ZiBkZW4KaWdub3JpZXJlLUJlZmVobCB2ZXJ3ZWlzZW4uIEJlc3NlciB3YWVyZSBlcyBhbGxlcmRpbmdzIHdvaGwsIHNpY2ggZWluCmV0d2FzIGRpY2tlcmVzIEZlbGwgenV6dWxlZ2VuLi4uIERlbm4sIHdpZSBnZXNhZ3Q6CgogICAnLi4uZGllcyBoaWVyIGlzdCB1bmQgYmxlaWJ0IGVpbiBTcGllbCEhIScKCldhcyBtYWNoZW4gYWJlciBkaWVqZW5pZ2VuIGltIHJpY2h0aWdlbiBMZWJlbiwgZGllIG5pY2h0IG1hbCBoaWVyIGRpZQplaW4gb2RlciBhbmRlcmUgS2xlaW5pZ2tlaXQgd2Vnc3RlY2tlbiBrb2VubmVuPwpCZXZvciBpY2ggamV0enQgcGhpbG9zb3BoaXNjaCB3ZXJkZSwgbGFzc2UgaWNoIGpldHp0IGRvY2ggd2llZGVyIGVpbm1hbAptZWluZW4gVHJhZW5lbiBmcmVpZW4gTGF1Zi4gRGFua2UgZnVlciBkYXMgVGFzY2hlbnR1Y2gsIHZlcmVocnRlciBLcmV0ZWssCnVuZCBkYW5rZSBmdWVyIGRhcyBNaXRnZWZ1ZWhsLCB2ZXJlaHJ0ZSBRaXRlc3MuIEJpdHRlIGVudHNjaHVsZGlndCBlaW4KdGVtcG9yYWVyZXMgRmVobHZlcmhhbHRlbiBtZWluZXJzZWl0cywgaWNoIGJpbiBhdWNoIG51ciBlaW4gTWVuc2NoIHVuZApoYWJlIG5vY2ggaW1tZXIgd2FobnNpbm5pZyBhbiBlaW5lbSBLb3JiIHp1IGtuYWJiZXJuLCBkZW4gbWlyIGplbWFuZCBoaWVyCmltIE1VRCBnZWdlYmVuIGhhdC4uLgoKCiAgICAgICAgICAgQXVmIE1pdGdlZnVlaGwgaG9mZmVuZAogICAgICAgICAgIChPREVSIGRhcmF1ZiwgZGFzcyBhdWNoIG1hbCBqZW1hbmQgendpc2NoZW4gZGVuIFplaWxlbiBsaWVzdCksCgogICAgICAgICAgICAgICAgICAgICAgICAgIFhYWCBESURJIFhYWAoKCgpQLlMuOiAgTm9jaCBtZWhyIFdpbmtlIG1pdCBkZW0gWmF1bnBmYWhsIG1vZWNodGUgaWNoIG5pY2h0IGdlYmVuLCBzb25zdAogICAgICAga29tbWVuIHNpY2ggaGllciB3aWVkZXIgZWlubWFsIGVpbiBwYWFyIHppZW1saWNoIHZlcmFyc2NodCB2b3IuLi4KICAgICAgIE9oIGJvZXNlciwgZHVtbWVyIERpZGkgOikgCgpQLlAuUzogRXMgaXN0IGltbWVyIGVpbmZhY2hlciwgamVtYW5kZW0gaW4gZGVuIEFyc2NoIHp1IGtyaWVjaGVuIGFscyBlaW5lCiAgICAgICBlaWdlbmUgTWVpbnVuZyB6dSB2ZXJ0cmV0ZW4uIEJlc29uZGVycyBkYW5uLCB3ZW5uIGRhcyBBcnNjaGxvY2gKICAgICAgIGdyb3NzIGlzdC4uLgoKCgpVbmQgbnVuIGxhc3NldCB1bnMgZ2VtZWluc2FtIGRpZSBCZWRldXR1bmcgdW5kIGRpZSBUaWVmZ3J1ZW5kaWdrZWl0IG1laW5lcgpXb3J0ZSBlcmt1bmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5zaWNodCB1bmQgUmV1ZSAoT3JrdG9ldGVyLCAyNS4gTm92IDE5OTYsIDEwOjQyOjE3KToKfiMhIHJuPURpZGkgcnQ9ODQ4OTE0NzU5Cn4jISB0aWQ9ODQ4OTE0NzU5ClRqYSwgendlaWZlbHNvaG5lIGlzdCBkYXMgTUcgZWluIFNwaWVsLgpBYmVyIGJlaSBhbmRlcmVuIFNwaWVsZW4gaGF0IG1hbiBkaWUgQ2hhbmNlLCBlaW5lbiBkZXIgZGllIGFuZGVyZW4gQWVyZ2VydAphdXN6dXNjaGxpZXNzZW4uIERhcyBpc3QgaW4gZWluZW0gTVVEIG5pY2h0IG1hY2hiYXIgKGJyYXVjaHQgc2ljaCBqYSBudXIgdW50ZXIKYW5kZXJlbSBuYW1lbiB3aWVkZXIgZWluenVsb2dnZW4pLgpGdWVyIG1pY2ggaXN0IGRhcyBNRyBlaGVyIG1pdCBlaW5lciBlaWdlbmVuIEdlc2VsbHNjaGFmdHNmb3JtIHp1IHZlcmdsZWljaGVuLi4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5zaWNodCB1bmQgUmV1ZSAoUmFudGFucGxhbiwgMjUuIE5vdiAxOTk2LCAxMDo0Mjo1Myk6Cn4jISBybj1EaWRpIHJ0PTg0ODkxNDc1OQp+IyEgdGlkPTg0ODkxNDc1OQpEYXMgaXN0IG51ciBlaW4gU3BpZWwuLi4KLi4uaWNoIGhhYmUgd2FobnNpbm5pZyBhbiBuZW0gS29yYiB6dSBrbmFiYmVybiwgZGVuIG1pZXIgamVtYW5kIGhpcmUgaW0gTVVECmdlZ2ViZW4gaGF0Li4uCgpKYSB3YXMgZGVubiBudW4sIFNwaWVsIG9kZXIgUkwsIHZlcmFudHdvcnR1bmdsb3Nlcywgbml2ZWF1bG9zZXMgaGF1LWRyYXVmClN0YW1tdGlzY2ggbml2ZWF1ICh3ZWlsIGlzdCBqYSBlaW4gU3BpZWwpLCBvZGVyZXJuc3QgCkhlcnplbnNhbmdlbGVnZW5oZWl0ZW4gKGRhIGRhcmYgbWFuIGRhbm4gamEgbWFsICJzY2hsZWNodCIgZHJhdWYgc2VpbiAoYXVjaApSTCkuCgpBbHNvIGJldWdlbiB3aXIgZGFzICJFcyBpc3QgamEgbnVyIGVpbiBTcGllbCwgd2llIHdpciBlcyBicmF1Y2hlbiwgZ2VsbGUKRGlkaS4uLgoKQXVhCgpSYW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluc2ljaHQgdW5kIFJldWUgKFJhZmZpLCAyNS4gTm92IDE5OTYsIDEwOjQ0OjExKToKfiMhIHJuPURpZGkgcnQ9ODQ4OTE0NzU5Cn4jISB0aWQ9ODQ4OTE0NzU5CipncmlucyogQWN1aCB3ZW5uIERpZGkgbmljaHQgZ2VyYWRlIG1laW4gbGllYmxpbmdzbWFnaWVyIGlzdCwga2FubiBpY2ggZGEgaW0KbW9tZW50IG51ciBtaXQgZWluZW0gbmllZGVyZ2VzY2hsYWdlbmVuIFdpbmsgYXVmIGRhcyBUcmF1ZXJzcGllbCBpbgp3aXR6ZS9ldGlrZXR0ZSB2ZXJ3ZWlzZW4uCgpUamEsIGlzdCBzY2hvbiBuZSBzYXVlcm5zdGUgc2FjaGUgc28gbmUgd2l0emVydWJyaWsuIFdlaGUgbWFuIGVudHdpY2tlbHQgbWFsCnNlbGJzdCBlaW5lbiwgdW5kIGRhcyBhdWNoIG5vY2ggaW50ZXJha3RpdiAtIHBmdWkgLSBXQWxsZXMgd2FzIG5pY2h0IGluIE9ua2VsCkVyaGFyZHMgZ3Jvc3NlbSBXaXR6ZWJ1Y2ggc3RlaHQgaXN0IGtlaW4gV2l0ei4KCkdydWViZWxuZC4KSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5zaWNodCB1bmQgUmV1ZSAoUWl0ZXNzLCAyNS4gTm92IDE5OTYsIDEwOjQ3OjE5KToKfiMhIHJuPURpZGkgcnQ9ODQ4OTE0NzU5Cn4jISB0aWQ9ODQ4OTE0NzU5Cm9oIGdyb3NzZXIgZGlkaSwgZXMgaXN0IGVyc3RhdW5saWNoLCB3aWUgZHVyY2hmb3JtdWxpZXJ0IGRlaW5lIHRleHRlIHNpbmQuCm5vY2ggdmllbCBlcnN0YXVubGljaGVyIGlzdCwgZGFzcyBkdSBkaWUgemVpdHVuZyBqZXR6dCBlcnN0IGFscyBtYWdpZXIKZW50ZGVja3QgenUgaGFiZW4gc2NoZWluc3QuKG9kZXIgaGFzdCBkdSBkaWNoIHZvcmhlciBuaWNodCBnZXRyYXV0IHdlaWwgZHUgaW0KYW5ibGljayBkZXIgYmV2b3JzdGVoZW5kZW4gbWFnaWVyd2VyZHVuZyBnZXdpc3NlLi4ucnVlY2tzZWl0ZW4uLi4gbnVuLCBkZW5rZW4Kd2lyIGRpZXNlbiBnZWRhbmtlbiBsaWViZXIgbmljaHQgenUgZW5kZS4pIGVzIGdpYnQgbGV1dGUsIGRpZSBoYWJlbiBlaW5lCmdyb3NzZSBrbGFwcGUsIHp1IGRlbmVuIGthbm4gbWFuIG1pY2ggdW56d2VpZmVsaGFmdCB6YWVobGVuLiBhYmVyIGVzIGdpYnQKbGV1dGUsIGRpZSBzaW5kLCB1bnRlciBhbmRlcmVtLCB3YXMgaWhyZSB0aXRlbHdhaGwgYmV0cmlmZnQsIGdlc2NobWFja2xvcy4gCgpxaQoKUC5TLjogaWNoIHRyYXVlcmUgemVpdGVuIGhpbnRlcmhlciwgd28gZGlkaSBub2NoIHVuc2NodWxkaWcgd2FyIHVuZCBpcmdlbmR3aWUKa29taXNjaC4gYWJlciBkYXMgaXN0IHdvaGwgdm9yYmVpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluc2ljaHQgdW5kIFJldWUgKEFsaW5lLCAyNS4gTm92IDE5OTYsIDE0OjA2OjU3KToKfiMhIHJuPURpZGkgcnQ9ODQ4OTE0NzU5Cn4jISB0aWQ9ODQ4OTE0NzU5CkhhbGxvIERpZGksCgo+dGVtcG9yYWVyZXMgRmVobHZlcmhhbHRlbiBtZWluZXJzZWl0cywgaWNoIGJpbiBhdWNoIG51ciBlaW4gTWVuc2NoIHVuZAo+aGFiZSBub2NoIGltbWVyIHdhaG5zaW5uaWcgYW4gZWluZW0gS29yYiB6dSBrbmFiYmVybiwgZGVuIG1pciBqZW1hbmQgaGllcgo+aW0gTVVEIGdlZ2ViZW4gaGF0Li4uCgpEYXp1IGthbm4gaWNoIERpciBudXIgZGVuIFJhdCBnZWJlbjogJy4uLmRpZXMgaGllciBpc3QgdW5kIGJsZWlidCBlaW4KU3BpZWwhISEnCgo+RWluIGJpc3NjaGVuIG1laHIgU291dmVyYWVuaXRhZXQgYml0dGVzY2hvZW4sIGV0d2FzIG1laHIgdWViZXIKZGVuIERpbmdlbiBzdGVoZW4sIHNpY2ggbmljaHQgZ2xlaWNoIHVlYmVyIGplZGUgS2xlaW5pZ2tlaXQgYXVmcmVnZW4uCj5CZXNzZXIgd2FlcmUgZXMgYWxsZXJkaW5ncyB3b2hsLCBzaWNoIGVpbiBldHdhcyBkaWNrZXJlcyBGZWxsIHp1enVsZWdlbi4uLgpEZW5uLCB3aWUgZ2VzYWd0OgoKCicuLi5kaWVzIGhpZXIgaXN0IHVuZCBibGVpYnQgZWluIFNwaWVsISEhJwoKRHUgYmlzdCBoaWVyIHNpY2hlciBuaWNodCBkZXIgZWluemlnZSwgZGVyIGhpZXIgaW0gTXVkIGVpbmVuIEtvcmIgYmVrb21tdC4KV2FydW0gc2ljaCBzb3ZpZWxlIFNwaWVsZXIgSG9mZm51bmdlbiBhdWYgZWluZSBQYXJ0bmVyaW4gbWFjaGVuIHVuZCBhbgpkaWVzZSBkYW5uIGF1Y2ggRXJ3YXJ0dW5nZW4gaW0gUkwgc3RlbGxlbiwgaXN0IGVpbiBhbHRlcyB1bmQgaW1tZXIgd2llZGVyCmF1ZnRhdWNoZW5kZXMgUHJvYmxlbS4KCkFsaW5lIChoZXV0ZSBtYWwgYWxzIERyLiBTb21tZXIgdW50ZXJ3ZWdlbnMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbnNpY2h0IHVuZCBSZXVlIChEaWRpLCAyNS4gTm92IDE5OTYsIDE1OjI5OjExKToKfiMhIHJuPUFsaW5lIHJ0PTg0ODkyNzIxNwp+IyEgdGlkPTg0ODkxNDc1OQpIYWxsbyBBbGluZSwKCmFlaGVtLi4uIEthbm4gZXMgc2VpbiwgZGFzcyBEdSBtaWNoIGZhbHNjaCB2ZXJzdGFuZGVuIGhhc3Q/Pz8KSnVjaGhoaGhoaHV1dXV1dXV1dXUhIEljaCB3ZXJkZSB2ZXJhcnNjaHQuLi4gOikpKQoKICAgICAgICAgIERpZGksIGdydWViZWxuZCAobXVzcyBpY2ggbm9jaCBtYWwgbWl0IHNvIGVpbmVtIERpbmcgd2lua2VuPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbnNpY2h0IHVuZCBSZXVlIChHcmltbWJvcm4sIDI1LiBOb3YgMTk5NiwgMTk6Mjk6NTIpOgp+IyEgcm49RGlkaSBydD04NDg5MzIxNTEKfiMhIHRpZD04NDg5MTQ3NTkKClNpY2hlciBpc3QgZGFzIGhpZXIgZWluIFNwaWVsLgpVbmQgd2VubiBtaXIgaW4gZWluZW0gU3BpZWwgamVtYW5kIGR1bW0ga29tbXQgdW5kIGljaCBuYWNoIGRlbiBTcGllbHJlZ2VsbiBkaWUKTW9lZ2xpY2hrZWl0IGRhenUgaGFiZSBrcmllZyBlciBkYW5uIGVpbmVuIGF1ZiBkaWUgTmFzZS4KCldvIGlzdCBkYXMgUHJvYmxlbT8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbnNpY2h0IHVuZCBSZXVlIChSb25kYSwgMjYuIE5vdiAxOTk2LCAwODo1MDozNCk6Cn4jISBybj1EaWRpIHJ0PTg0ODkzMjE1MQp+IyEgdGlkPTg0ODkxNDc1OQo+ICAgICAgICAgIERpZGksIGdydWViZWxuZCAobXVzcyBpY2ggbm9jaCBtYWwgbWl0IHNvIGVpbmVtIERpbmcgd2lua2VuPykgICAgCgpBbHNvLCB3ZW5uIER1IG51biBhdWNoIG5vY2ggYW5mYWVuZ3N0LCBtaXQgRGVpbmVtIERpbmcgenUgd2lua2VuLCBkYW5uIGJlc3NlcgphYiBkYW1pdCBuYWNoIFNleC5TY2htYXJybi4uLgoKUm9uZGEKUHM6IE11c3Mgd29obCBhbiBEZWluZW0gTmFtZW4gbGllZ2VuLCBkYXNzIG1pciBiZWkgRGlyIG51ciBzb2xjaGUgQW50b3dydGVuCmVpbmZhbGxlbi4uLiBTb3JyeSA9OykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxldHp0ZSAzIFJlYm9vdHMvQ3Jhc2hzIChLaXJrLCAyOC4gTm92IDE5OTYsIDEyOjQ1OjQxKToKSGkhCgpadXIgRXJsYWV1dGVydW5nOgpEZXIgUmVib290IGFtIE1pdHR3b2NoIEFiZW5kIHdhciBlaW4gQ3Jhc2gsIGljaCB3ZWlzcyBsZWlkZXIgbmljaHQgZ2VuYXUgd2FydW0KZGVyIHBhc3NpZXJ0IGlzdCAuLi4KRGllIChiaXNoZXIpIDIgUmVib290cyB2b20gRG9ubmVyc3RhZyB3YXJlbiBhdXMgR3J1ZW5kZW4gdm9uIEJ1Z2ZpeGVzIGFtCktlcm5lbAp1bmQgZnRwIFNlcnZpY2Ugbm90d2VuZGlnLgoKQWxsZXMgd2VpdGVyZSBlbnRuZWhtZW4gU2llIGRlciBQYWNrdW5nc2JlaWxhZ2Ugb2RlciBmcmFnZW4gU2llIElocmVuIEFyenQgCm9kZXIgQXBvdGhla2VyLgoKc28gbG9uZwoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxldHp0ZSAzIFJlYm9vdHMvQ3Jhc2hzIChHcmltbWJvcm4sIDI4LiBOb3YgMTk5NiwgMTI6NDc6MDUpOgp+IyEgcm49S2lyayBydD04NDkxODE1NDEKfiMhIHRpZD04NDkxODE1NDEKSG1tLi4uIGRpZXNlbiBOYW1lbiBnaWJ0IGVzIGluIE1vcmdlbmdyYXVlbiBuaWNodC4KCldlbiBzb2xsIGljaCBkZW5uIG51biBmcmFnZW4/IDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHd1ZXJkZSBkaWUgQW50d29ydCBlaCBuaWNodCB2ZXJzdGVoZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgRWJlbmVuIChZYW50cm8sIDI5LiBOb3YgMTk5NiwgMDg6Mzc6NDgpOgoKSGFsbG8gbGllYmUgU3BpZWxlciwgCgptaXIgaXN0IGluIGxldHp0ZXIgWmVpdCBhdWZnZWZhbGxlbiwgZGFzcyBlcyBpbW1lciBtZWhyIGluIE1vZGUga29tbXQsIGRhc3MKc2ljaCBTcGllbGVySW5uZW4gdWViZXIgYWxpcyBlaW5lIG9kZXIgbWVocmVyZSBFYmVuZW4gbWFjaGVuIHVuZCBkYXMgb2huZQpHcnVuZC4gV2VubiBtYW4gc2ljaCBkYW5uIGRpZSBMaXN0ZSBhbnNjaGF1dCwgZGFubiBzaWVodCBtYW4sIGRhc3MgZGllIEluaGFiZXIKZGVyIEViZW5lIHNvd2llc28gaW1tZXIgYWxsZWluZSBkYSBzaW5kLiBFaWdlbnRsaWNoIGthbm4gZGFzIGVpbmVtIGphIGVnYWwKc2Vpbiwgd2VubiBkYXMgZXJzY2hhZmZlbiB1bmQgZGFzIGxvZXNjaGVuIGVpbmVyIEViZW5lIG5pY2h0IGltbWVyIHNvIGF1ZgpNYXN0ZVIgc2Nyb2xsZW4gd3VlcmRlLiBJY2ggZnJhZyBtaWNoLCB3YXMgZnVlciBlaW5lbiBTaW5uIGVpbmUgRWJlbmUgaGFiZW4Kc29sbCwgYXVmIGRlciBudXIgZWluZXIgaG9lcnQ/IFNlbGJzdGdlc3ByYWVjaGUga2FubiBtYW4gdWViZXIgInNhZyIgdmllbAplaW5mYWNoZXIgbWFjaGVuLiAKCkljaCBkZW5rZSwgZGFzcyBkZXIgU2lubiBkZXIgRWJlbmVuIGRpZSBLb211bmlrYXRpb24gaXN0LCBhYmVyIGRhZnVlciBnZWhvZXJlbgptaW5kLiAyIExldXRlLiBWaWVsbGVpY2h0IHNvbGx0ZW4gc2ljaCBkaWUgZmxlaXNzaWdlbiBFYmVuZW5lcnNjaGFmZmVyCnVlYmVybGVnZW4sIGRhc3Mgc2llIGRpZSBFYmVuZSBlcnN0IHByb2R1emllcmVuLCB3ZW5uIHNpZSBkaWVzZSBhdWNoIGJyYXVjaGVuLgpWb3IgYWxsZW0gd2lyZCBkYXMgc29uc3QgbmVydmlnLCB3ZW5uIHNvIGV4dHJlbWUgRmFlbGxlIHdpZSBVbHVsYSBvZWZ0ZXJzIG1pdAplbmRlIGF1cyBkZW0gU3BpZWwgZ2VoZW4gdW5kIGltbWVyIGRhYmVpIDUgZWJlbmVuIHZlcnNjaHdpbmRlbiB1bmQgd2llZGVyCmVudHN0ZWhlbi4KCkRlbmt0IGFsc28gbWFsIGRydWViZXIgbmFjaC4uLiAKCllhbnRybywgZGVyIG1laW50LCBkYXNzIHZpZWxlIGhpZXIgZWluZSBlaWdlbmUgRWJlbmUgenVyIFNlbGJzdGRhcnN0ZWxsdW5nCm51dHplbiB1bmQgdHJhdXJpZyBmaW5kZXQsIGRhc3Mgc293YXMgbm9ldGlnIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIEViZW5lbiAoSGFyZGlsLCAyOS4gTm92IDE5OTYsIDEwOjIwOjA1KToKfiMhIHJuPVlhbnRybyBydD04NDkyNTMwNjgKfiMhIHRpZD04NDkyNTMwNjgKCkFybWVyIFlhbnRyby4KRHUgdHVzdCBtaXIgc28gbGVpZC4gRGllc2VzIHVlYmxlIEdlc2Nyb2xsZSBhdWYgW01hc3RlUl0uIEVpdGl0ZWl0aXRlaS4KCkthbm4gZXMgc2VpbixkYXNzIER1IGVpbmUgZ2FueiBhbmRlcmUgRWJlbmUgenVyIFNlbGJzdGRhcnN0ZWxsdW5nIGJlbnV0enQsIGRpZQptYW4gbnVyIG1pdCAndWViZXJnZWhlbiB5YW50cm8ubXBhJyBhdXNzdGVsbGVuIGthbm4/CgpQcm9nZyBEaXIgZG9jaCB6dSBXZWlobmFjaHRlbiBtYWwgbmVuIEJlc2VuLCBtaXQgZGVtIER1IGRpZSBTY2hlaW5oZWlsaWdrZWl0CnZvciBkZXIgZWlnZW5lbiBUdWVyIHdlZ2tlaHJlbiBrYW5uc3QuCgoqU2VuZiBvZmYqCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgRWJlbmVuIChFbmd5d3VjaywgMjkuIE5vdiAxOTk2LCAxMTozMDo1MSk6Cn4jISBybj1ZYW50cm8gcnQ9ODQ5MjUzMDY4Cn4jISB0aWQ9ODQ5MjUzMDY4ClRqYSwgYWxzbyBtaXQgZGVtIFByb2JsZW0gd2VuZGUgbWFuIHNpY2ggYW0gYmVzdGVuIGFuIEhhdGUuIERpZXNlIEViZW5lbgp3ZXJkZW4gbmFlbWxpY2ggYXV0b21hdGlzY2ggZXJzdGVsbHQsIHNvIG1hbiBkYXMgTXVkIGJldHJpdHQuIFZvcmF1c2dlc2V0enQsCm1hbiBoYXQgZGllIEViZW5lIGRlcmVpbnN0IHNlbGJzdCBlcnNjaGFmZmVuLiAKQWxzbyBuaXggQWxpLCBzb25kZXJuIEViZW5lbi1hdXRvbWF0aXNtdXMuCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIEViZW5lbiAoSGF0ZSwgMjkuIE5vdiAxOTk2LCAxMTo1MjowNik6Cn4jISBybj1Fbmd5d3VjayBydD04NDkyNjM0NTEKfiMhIHRpZD04NDkyNTMwNjgKTnVuamEsIGZhc3QgcmljaHRpZy4KCkViZW5lbiB3ZXJkZW4gYWJnZXNwZWljaGVydCBsb2thbCBpbSBTcGllbGVyIGFiZ2VzcGVpY2hlcnQsIHNvbGx0ZSBtYW4gYmVpbQphdXNsb2dnZW4gbm9jaCBhdWYgZGVuZW4gZHJhdWYgc2Vpbi4gQmVpbSBlaW5sb2dnZW4gd2VyZGVuIGRhbm4gZGllc2UgRWJlbmVuCmF1dG9tYXRpc2NoIGVyc3RlbGx0LCB3ZW5uIG5pY2h0IGVpbmUgYmVzdGltbXRlIFplaXRzcGFubmUgendpc2NoZW4gZGVtCmxldHp0ZW4gdmVybGFzc2VuIGRpZXNlciBFYmVuZSB2ZXJnYW5nZW4gaXN0IChtYXguIDEgV29jaGUpLiBMZWlkZXIga29tbXQKZXMgdm9yLCBkYXNzIG1hbmNoZSBMZXV0ZSAoVWx1bGEgei5CLikgZGFzIGF1cy0vZWlubG9nZ2VuIGFscyBTcGllbHRlaWwKenUgYmV0cmFjaHRlbiBzY2hlaW5lbiwgd29kdXJjaCBlcyB6dSBiZXNhZ3RlbiBFZmZla3RlbiBrb21tdC4gVmllbGxlaWNodApzb2xsdGUgbWFuIHNpY2ggbWFsIHVlYmVyIGRhcyBFaW4tL0F1c2xvZ3ZlcmhhbHRlbiBHZWRhbmtlbiBtYWNoZW4uCgpFaW56aWdlciBTaW5uOiBWb3JoZXIgbWFsIGVpbmUgRWJlbmUsIGRpZSBrZWluZSBTdGFuZGFyZGViZW5lIGlzdCwgYXVzLQpzY2hhbHRlbiB2b3IgZGVtIFZlcmxhc3NlbiBkZXMgU3BpZWxzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgRWJlbmVuIChBbmF0b2wsIDI5LiBOb3YgMTk5NiwgMTI6NTM6MTEpOgp+IyEgcm49SGF0ZSBydD04NDkyNjQ3MjYKfiMhIHRpZD04NDkyNTMwNjgKClZpZWxsZWljaHQgd2FlcmUgZXMgaGlsZnJlaWNoLCB3ZW5uIGJlaW0gRXJzY2hhZmZlbiBlaW5lciBFYmVuZSBhdWYgZGllc2VyCmF1Y2ggc29mb3J0IGV0d2FzIGdlc2VuZGV0IHdpcmQgLSB2aWVsZSBoYWJlbiBkaWUgPE1hc3Rlcj4tRWJlbmUgamEgbmljaHQgYW4KdW5kIGJlbWVya2VuIG5pY2h0LCB3YXMgdW5kIHdpZXZpZWwgc2llIGJlaW0gZWluLS9hdXNsb2dnZW4gZXJzY2hhZmZlbi4uLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZSBFYmVuZW4gKFJhZmZpLCAyOS4gTm92IDE5OTYsIDE0OjE2OjU4KToKfiMhIHJuPUhhdGUgcnQ9ODQ5MjY0NzI2Cn4jISB0aWQ9ODQ5MjUzMDY4CkFsc28gaWNoIHZlcnN0ZWggaW0gTW9tZW50IG5pY2h0LCB3YXJ1bSAoZ2VyYWRlKSBhdWYgVWx1bGEgcnVtZ2VoYWNrdCB3aXJkIC4uLgpkaWUgbG9nZ3Qgc2ljaCBlaCBrYXVtIGVpbiB1bmQgYXVzIChpc3QgamEgYXVjaCB1bXN0YWVuZGxpY2ggYmVpIHZlcndlbmR1bmcKbnVyIGVpbmVzIFRlbG5ldHMpLgoKQXVzc2VyZGVtIGRlbmtlIGljaCBnaWx0IGZ1ZXIgTWFzdGVSIGRhcyBnbGVpY2hlIHdpZSBmdWVyIGFuZGVyZSBFYmVuZW46IFdlbnMKbmljaHQgaW50ZXJlc3NpZXJ0LCBkZXIgbWFjaHQgZWluZmFjaCAtLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIEViZW5lbiAoRnl0LCAyOS4gTm92IDE5OTYsIDE3OjA4OjAzKToKfiMhIHJuPVlhbnRybyBydD04NDkyNTMwNjgKfiMhIHRpZD04NDkyNTMwNjgKCkRpZSBtZWlzdGVuIE11ZGRlciBzaW5kIGVoIGV0d2FzIHNjaGl6bywgZGVzaGFsYiBmaW5kZSBpY2ggZWluZW4gQ2hhcmFrdGVyCnBybyBFYmVuZSBuaWNodCB1bmJlZGluZ3QgdWViZWwuIFdlbm4gZGFzIFByaW56aXAgYXVmIGRpZSBNUEEgYXVzZ2VkZWhudAp3dWVyZGUsIHd1ZXJkZW4gZGFubiBzb2xjaGUgbnV0emxvc2VuIERpc2t1c3Npb25lbiBhdWNoIHZlcnNjaHdpbmRlbi4KCkFiZXIgaWNoIG5laG1lIHp1ciBLZW5udG5pczogWWFudHJvIGhhdCB3aWVkZXIgbWFsIHdhcyBnZXNhZ3QuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXV0c2NoZSBXZWxsZSAoR3VsZHVrYXQsIDMwLiBOb3YgMTk5NiwgMTM6NTY6MzApOgoKT2huZSBXb3J0ZToKLS1zbmlwLS0KW0FsbGdlbWVpbjpEV10gSW4gZnVlbmYgTWludXRlbiB3ZXJkZW4gZGllIFNjaGxhZ3plaWxlbiwgenVzYW1tZW5nZXN0ZWxsdCBhbQpbQWxsZ2VtZWluOkRXXSAyOC4wNi4xOTk2LCBhdWYgTmFjaHJpY2h0ZW4gZ2VzZW5kZXQuCltBbGxnZW1laW46R3VsRHVrYXRdIHdvdywgd2llIGFrdHVlbGwKRz5bQWxsZ2VtZWluOlRoZXJpbiBkYW5rdCBkZXIgRFcgd2llZGVyIGZ1ZXIgZGllc2UgYWt0dWVsbGVuIE5hY2hyaWNodGVuXQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzcnVlc3R1bmcgdmVyc2Nod2luZGV0IChNYXJzdCwgMzAuIE5vdiAxOTk2LCAxNDo0NzoxNSk6Ck1vaW4hCgpBbHMgQW5mYWVuZ2VyIGhhYiBpY2ggbWFsIGVpbmUgKHZpZWxlaWNodCBlc3R3YXMgZGFlbWxpY2hlKSBGcmFnZS4gRXMgcGFzc2llcnQKbWlyIGluIGxldHp0ZXIgWmVpdCBpbW1lcgp3aWVkZXIsIGRhcyBkaWUgQXVzcnVlc3R1bmcgZGllIGljaCB2b3IgZGVuIGxldHp0ZW4gYXVzbG9nZ2VuIG5vY2ggaGF0dGUsIGF1ZgplaW5tYWwgdmVyc2Nod3VuZGVuIGlzdC4KRGFzIGlzdCB6d2FyIG5pY2h0IHNvIHNjaGxpbW0gKGVpbmUgZG9sbGUgQXVzcnVlc3R1bmcgaGFiIGljaCBqYSBub2NoIG5pY2h0KSwKYWJlciBlcyBuZXJ2dCBkb2NoCmV0d2FzLCBpbW1lciB3aWVkZXIgbmV1IGVpbmthdWZlbiBnZWhlbiB6dSBtdWVzc2VuLCB1bSB3ZW5pZ3N0ZW4gZWluZQpNaW5pbWFsYXVzc3RhdHR1bmcgenUgaGFiZS4KCk1hcnN0LCBkZXIgVmVyd2lycnRlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVzcnVlc3R1bmcgdmVyc2Nod2luZGV0IChXdXJ6ZWwsIDMwLiBOb3YgMTk5NiwgMTQ6NTM6MzcpOgp+IyEgcm49TWFyc3QgcnQ9ODQ5MzYxNjM1Cn4jISB0aWQ9ODQ5MzYxNjM1CmVzIGlzdCBkb2NoIG5ldHQsIGRhc3MgZXMgYWIgdW5kIHp1IHJpY2h0aWdlIGFuZmFlbmdlciBnaWJ0IDopCgpkaWUgYXVzcnVlc3R1bmcgdmVyc2Nod2luZGV0LCB3ZW5uIGRhcyBtdWQgb2RlciBkZXIgbXVkcmVjaG5lciBjcmFzaHQgb2RlcgpyZWJvb3RldCB3aXJkLiBkaWUgYXVzcnVlc3R1bmcga2FubiBtYW4gbnVyIHNvbGFuZ2UgYmVoYWx0ZW4sIHdpZSBkYXMgbXVkCmxhZXVmdC4gZGFzIGlzdCB6d2FyIGVpbmVyc2VpdHMgc2NoYWRlLCBhYmVyIGFuZGVyZXJzZWl0cyBuaWNodCBhbmRlcnMgenUgCm1hY2hlbiwgd2VubiBtYW4gZGFzIG11ZCB1ZWJlcmhhdXB0IGFtIGxhdWZlbiBoYWx0ZW4gd2lsbC4KCmVzIGtvbW10IGxlaWRlciBpbiBkZXIgbGV0enRlbiB6ZWl0IHdpZWRlciBoYWV1ZmlnZXIgenUgYWJzdHVlcnplbi4gd2VubgpuaWNodHMgcGFzc2llcnQsIGthbm4gZGFzIG11ZCBwcmluemlwaWVsbCB3b2NoZW4gdW5kIG1vbmF0ZSBhbSBzdHVlY2sgbGF1ZmVuCgpsZWlkZXIgZ2VodCBkYXMgYWJlciBuaWNodCBpbW1lci4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERldXRzY2hlIFdlbGxlIChCbG9vZHloYXJyeSwgMzAuIE5vdiAxOTk2LCAyMzo0MzoyMSk6Cn4jISBybj1HdWxkdWthdCBydD04NDkzNTg1OTAKfiMhIHRpZD04NDkzNTg1OTAKV293LCB3aWUgc2NobmVsbCBEdSBkYXMgYmVtZXJrdCBoYXN0ISAgOykKCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVzcnVlc3R1bmcgdmVyc2Nod2luZGV0IChNb3Jnb3RoLCAgMi4gRGV6IDE5OTYsIDA3OjM4OjE1KToKfiMhIHJuPU1hcnN0IHJ0PTg0OTM2MTYzNQp+IyEgdGlkPTg0OTM2MTYzNQpoYXN0IGR1IGF1Y2ggc2NobGFmZSBlaW4gYmVudXR6dCwgYW5zdGF0dCBxdWl0L2VuZGUgPz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWwgaW5zIG1nIChHdWxkdWthdCwgIDIuIERleiAxOTk2LCAxMzoyMDo0Mik6Cndlbm4gamVtYW5kIHZvbiBhdXNzZW4gZWluZSBtYWlsIGFuIGplbWFuZGVuIGltIG1nIHNjaGlja3QsIGRlciBkb3J0IGVpbmVuCmZvcndhcmQgbmFjaCBkcmF1c3NlbiBoYXQsIHN0ZWh0IGFscyBhYnNlbmRlciBkYW5uCjxyZWFsLm5hbWUudm9uLmRyYXVzc2VuPkBtZy51bmktbXVlbnN0ZXIuZGUsIGRhcyBuYXR1ZXJsaWNoIG5pY2h0IGV4aXN0aWVydC4KYSBidWcgb3IgYSBmZWF0dXJlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRUlOIFRSQVVNIFZPTiBLQUJVTCEgKEhhZmlzLCAgMi4gRGV6IDE5OTYsIDE5OjI3OjMyKToKQW4gYWxsZSBLb2VsbmVyIE1VRGphaGVkaW4hCkFiIGRlbSAxMi4gRGV6ZW1iZXIgbGFldWZ0IGluIGRlciBGSUxNUEFMRVRURSBpbiBkZXIgTHVlYmVja2VyIFN0ci4gKEVja2UKSGFuc2FyaW5nKSBkZXIgRG9rdW1lbnRhcmZpbG0gRUlOIFRSQVVNIFZPTiBLQUJVTC4gRXMgaGFuZGVsdCBzaWNoIHVtIGVpbmVuClJ1ZWNrYmxpY2sgYXVmIGRpZSBIaXBwaWVzemVuZSBpbSBLYWJ1bCBkZXIgZnJ1ZWhlbiA3MGVyIEphaHJlOyBlcyB3ZXJkZW4KemFobHJlaWNoZSBJbnRlcnZpZXdzIG1pdApBdWdlbnpldWdlbiB2b24gQm9tbWkgQmF1bWFubiBiaXMgVGltb3RoeSBMZWFyeSB1bmQgYXVjaCBNdXNpayB2b24KemVpdGdlbm9lc3Npc2NoZW4gQmFuZHMsIGRpZSBlcyBzZWluZXJ6ZWl0IGF1ZiBUb3VybmVlbiBuYWNoIEFmZ2hhbmlzdGFuCnZlcnNjaGxhZ2VuIGhhdHRlICh6LkIuIEVtYnJ5bywgRG9ub3ZhbiBvZGVyIGRpZSBJbmNyZWRpYmxlIFN0cmluZyBCYW5kKQpnZWJyYWNodCwgZGF6dSBrb21tZW4gQXVzc2Nobml0dGUgYXVzIGRlbQoxOTcyIGdlZHJlaHRlbiBGaWxtICJLYWJ1bCIgdm9uIEpvaGFubmVzIFNjaGFhZi4gVmllbGxlaWNodCBoYWJlIGljaCBqYSBkZW4KZWluZW4gb2RlciBhbmRlcmVuIG5ldWdpZXJpZyBhdWYgZGFzIGdlbWFjaHQsIHdhcyBoaW50ZXIgbWVpbmVtCiJBZmdoYW5pc3Rhbi1UaWNrIiBzdGVja3QuLi4KCk1pdCBhZmdoYW5pc2NoZW4gS2lmZmVyZ3J1ZXNzZW4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWWFkZ2FyIEhhZml6IEFjaGFremFpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1c3J1ZXN0dW5nIHZlcnNjaHdpbmRldCAoTWFyc3QsICAyLiBEZXogMTk5NiwgMjA6NDg6MjcpOgp+IyEgcm49TW9yZ290aCBydD04NDk1MDg2OTUKfiMhIHRpZD04NDkzNjE2MzUKSmEuIEljaCBiaW4gendhciBBbmZhZW5nZXIsIGFiZXIgbmljaHQgZG9vZiA6KQoKTWFyc3QgW2hldXRlIHdpZWRlciB2ZXJkYW1tdCBzY2hsYXUgOyldCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWxlZG9vZiAoU2Nob2tvLCAgOS4gRGV6IDE5OTYsIDIxOjQ5OjM0KToKSGlobyEKCkljaCBoYWJlIG5ldWxpY2ggaW0gRmVybnNlaGVuIGVpbmVuIEJlcmljaHQgZ2VzZWhlbiwgZGVtenVmb2xnZSBtYW4gYWIgc29mb3J0CmJlaSBkZXIgVGVsZWRvb2YgZnVlciBlaW5lbiBtb2FudGxpY2hlbiBHcnVuZGJldHJhZyB2b24gNURNIGFtIFdvY2hlbmVuZGUgZGVuCmdhbnplbiBUYWcgZnVlciBkaWUgSGFlbGZ0ZSB0ZWxlZm9uaWVyZW4ga2Fubi4gSWNoIGFsc28gbml4IHdpZSBoaW4genVtCm5hZWNoc3RlbiBULVB1bmt0IHVuZCBkYXMgRGluZyBiZWFudHJhZ2VuLiBEb3J0IGVyZmFocmUgaWNoIG5hY2ggMzAgbWluCnJ1bWZyYWdlbiBlbmRsaWNoIHZvbiBlaW5lbSwgZGVyIHNpY2ggYXVza2VubnQsIGRhc3MgZGFzIGdhbnplIHdvaGwgQ2l0eS0KV2Vla2VuZCBoZWlzc3QgdW5kIG1hbiBkYW1pdCAyNGggbGFuZyBTYW10YWdzIHVuZCBhbiBTb25uLSB1bmQgRmVpZXJ0YWdlbiB6dW0KYmlsbGlnZW4gTmFjaHR0YXJpZiB0ZWxlZm9uaWVyZW4ga2Fubi4KU28sIG51biBtZWluZSBGcmFnZTogV2VyZGVuIGpldHp0IGVpbmZhY2ggYWxsZSBUYXJpZmUgd2llIGdld29obnQgYW5nZW5vbW1lbgp1bmQgZWluZmFjaCBudXIgZGVyIFplaXR0YWt0IHZlcmRvcHBlbHQsIG9kZXIgZ2lsdCBlaW5mYWNoIHZvbiBTYW1zdGFnIDAgVWhyCmJpcyBTb25udGFnIDI0IFVociBlaW4gZWluaGVpdGxpY2hlciBUYXJpZiAodW5kIHdlbm4gamEsIHdlbGNoZXI/KQpVbmQgZGFubiB3dXJkZSBtaXIgaW0gVC1QdW5rdCBub2NoIGdlc2FndCwgZGFzcyB6dXIgQWJyZWNobnVuZyBkaWVzZXMKU29uZGVydGFyaWZzICh3aWUgYXVjaCBpbW1lciBlciBhdXNzZWhlbiBtYWcpIG1laW5lIFRlbGVmb25kYXRlbiBhYmdlc3BlaWNoZXJ0Cnd1ZXJkZW4sIGRhIHZlcmJpbGxpZ3RlIEFicmVjaHVuZyBlcnN0IHp1IGVpbmVtIHNwYWV0ZXJuIFplaXRwdW5rdApiZXJ1ZWNrc2ljaHRpZ3Qgd2lyZC4KSW4gd2llIHdlaXQgZ2lidCBlcyBkZW5uIGRhbm4gZWluZSBNb2VnbGljaGtlaXQsIGRpZSBBYnJlY2hudW5nIHp1CnVlYmVycHJ1ZWZlbiwgb2huZSBnbGVpY2ggZWluZSBhdWZnZXNjaGx1ZXNzZWx0ZSBBYnJlY2hudW5nIGplZGVuIE1vbmF0CmR1cmNoenVhcmJlaXRlbj8KRnJhZ2VuIHVlYmVyIEZyYWdlbiAuLi4gCgpTY2hva28sIGRlciBqZWRlbiBNb25hdCB2b24gc2VpbmVyIFRlbGVmb25yZWNobnVuZyBmYXN0IGVyc2NobGFnZW4gd2lyZCEKClAuUy46IGV2dGwuIFVuc3RpbW1pZ2tlaXRlbiBpbSBTYXR6YmF1IG9kZXIgV29ydHdpZWRlcmhvbHVuZ2VuIHNpbmQKbGFnYmVkaW5ndCwgZGEgaWNoIHRlaWx3ZWlzZSBiaXMgenUgMyBaZWlsZW4gYmxpbmQgaW0gdm9ycmF1cyBnZXNjaHJpZWJlbgpoYWJlLCBlaGUgYXVjaCBudXIgZGVyIDEuIEJ1Y2hzdGFiZSBpbSBNdWQgYW5nZWtvbW1lbiB3YXIgOigoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVsZWRvb2YgKEt5bGV2YWxrYW4sICA5LiBEZXogMTk5NiwgMjM6MTA6MzkpOgp+IyEgcm49U2Nob2tvIHJ0PTg1MDE2NDU3NAp+IyEgdGlkPTg1MDE2NDU3NApBbHNvOiBFcyBnaWJ0IFpXRUkgbmV1ZSBTb25kZXJkaWVuc3RlOgoxLiBDaXR5V2Vla2VuZCBFaW5mYWNoIGdlc2FndCB2b24gU2EgMDAwMCBiaXMgU28gMjQwMCBnaWx0IHNvZm9ydCBkZXIKTmFjaHRhcmlmLiBOaXggd2lyZCBoYWxiaWVydAogICBvZGVyIHNvICwgZWluZmFjaCBkZXIgbm9ybWFsZSBOYWNodGFyaWYuLi4gQWxzbyB3ZXIgc2ljaCBkaXN6aXBsaW5pZXJ0IHVuZAphYiAyMTAwIHRlbGVmb25pZXJ0CiAgIGthbm4gc2ljaCBkaWUgNSwtIERNIHNwYXJlbi4KMi4gQ2l0eUJMQUJMQSBIaWVyIHdlcmRlbiBmdWVyIDIzLC4uIERNIDQwMCBFaW5oZWl0ZW4gdm9yZ2VrYXVmdC4gRGFzIG1hY2h0IDkKUGZlbm5pZyBwcm8gRWluaGVpdC4KICAgICAgICAgICAgIE1hbiBnaWJ0IGhpZXIgNSg/IGljaCBnbGF1YmUpIE51bW1lcm4gaW4gQ2l0eS1CZXJlaWNoIGFuIHVuZAprYW5uIGRpZSB2ZXJiaWxsaWd0CiAgICAgICAgICAgICBhbnJ1ZmVuLiBJY2ggd2FyIHNvZm9ydCBGZXVlciB1bmQgRmxhbW1lIHVuZCBkYW5uIGF1Y2ggaGllciBkaWUKRXJudWVjaHRlcnVuZzoKICAgICAgICAgICAgRGllcyBmdW5rdGlvbmllcnQgbnVyIGJpcyAyMTAwIFVociAoWmVpdHRha3QgOTAgU2VrKS4gRnVlciBuYWNoCjIxMDAgZ2lsdCBkZXIKICAgICAgICAgICBhbHRlIE5hY2h0dGFyaWYgdW5kIGRlciBpc3QgaW1tZXIgbm9jaCBiaWxsaWdlciBhbHMgZGVyIENJVFlCTEFCTEEKYW0gVGFnZS4uLgoKPT4gV2VyIHNpY2ggenVzYW1tZW5yZWlzc3QgdW5kIG5hY2ggMjEwMCBvcGVyaWVydCBmYWVocnQgYmlsbGlnZXIgLCBPSE5FClNvbmRlcmRpZW5zdGUuLi4KPT4gTml4IGZ1ZXIgdW5zIE5pZ2h0RnJlYWtzIDstKQoKTXVudGVyIGJsZWliZW4sIEt5bGUgVmFsa2FuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWxlZG9vZiAoU2Nob2tvLCAgOS4gRGV6IDE5OTYsIDIzOjEyOjEwKToKfiMhIHJuPUt5bGV2YWxrYW4gcnQ9ODUwMTY5NDM5Cn4jISB0aWQ9ODUwMTY0NTc0CgpIbW1tIC4uLiBzb24gTWlzdCA6KAoKU2Nob2tvIChqZXR6dCB6aWVtbGljaCBlcm51ZWNodGVydCA6KCggKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWxlZG9vZiAoS3lsZXZhbGthbiwgIDkuIERleiAxOTk2LCAyMzoxMjoxMik6Cn4jISBybj1LeWxldmFsa2FuIHJ0PTg1MDE2OTQzOQp+IyEgdGlkPTg1MDE2NDU3NApTb3JyeS4gTWlzdCBFZGl0b3IuIEljaCBtZXJrZSBtaXIgZGllIFplaWxlbmdyZW56ZS4KR1JJTlMuIEt5bGUgVmFsa2FuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVJTiBUUkFVTSBWT04gS0FCVUwhIChTY2hydW1wZmksIDExLiBEZXogMTk5NiwgMDE6Mjc6NTEpOgp+IyEgcm49SGFmaXMgcnQ9ODQ5NTUxMjUyCn4jISB0aWQ9ODQ5NTUxMjUyCkJpdHRlLCB3YXMgd2Vpc3N0IER1IHVlYmVyIEJvbW1pIEJhdW1hbm4/IE11c3Mgc2FnZW4sIER1IGVyc3RhdW5zdCBtaWNoLgpTY2hydW1wZmkgc2FndDogRXMgbGViZSBkZXIgMi5KdW5pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKREFTIEFMTEVSTEVUWlRFIFRSSU8gKFN1bmZsb3dlciwgMTIuIERleiAxOTk2LCAxMDo0Mjo0Myk6Ck1pbGFtYmVyLCBMdWNreWx1a2UgdW5kIFB1Z3M6IGF1ZmdlZmFsbGVuIGR1cmNoIGlociBzdGFlbmRpZ2VzIGdlbmVydmUgCnVuZCBTcGllbGVyIGluIGRlbiBUb2QgamFnZW4gYnR3LiBhZXJnZXJuIHd1cmRlbiBhdXMgZGVtIG11ZCAib3BlcmF0aXYiCmVudGZlcm50IHVuZCBhdWYgZGllIGJhbmlzaCBsaXN0ZSBnZXNldHp0LgoKRGF0IHdhcnMgYXVjaCBzY2hvbgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEQVMgQUxMRVJMRVRaVEUgVFJJTyAoUGFtcGVycywgMTIuIERleiAxOTk2LCAxMDo0NDoxNSk6Cn4jISBybj1TdW5mbG93ZXIgcnQ9ODUwMzgzNzYzCn4jISB0aWQ9ODUwMzgzNzYzCj5NaWxhbWJlciwgTHVja3lsdWtlIHVuZCBQdWdzOiBhdWZnZWZhbGxlbiBkdXJjaCBpaHIgc3RhZW5kaWdlcyBnZW5lcnZlIAo+dW5kIFNwaWVsZXIgaW4gZGVuIFRvZCBqYWdlbiBidHcuIGFlcmdlcm4gd3VyZGVuIGF1cyBkZW0gbXVkICJvcGVyYXRpdiIKPi5lbnRmZXJudCB1bmQgYXVmIGRpZSBiYW5pc2ggbGlzdGUgZ2VzZXR6dC4KCkd1dGUgSWRlZS4gOi0pCldlbm4gamV0enQgbm9jaCBTdW5mbG93ZXIgZGF6dWtvbW10LCBzaW5kIHdpciBhbGxlIGdsdWVja2xpY2guIDstKQoKUGFtcGVycy4gR2VtZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFlbWxpY2hlIEZyYWdlIChGbG9yYSwgMTIuIERleiAxOTk2LCAxMToxMDoxOSk6CldpZSBnZXNhZ3QsIG1hbCBuZSB2aWVsbGVpY2h0IGV0d2FzIGRhZW1saWNoZSBGcmFnZToKCldlbm4gbWFuIGVuZGUgbWFjaHQgYnp3LiB3aWUgaWNoIGdlc3Rlcm4gZGVuIHJvdGVuIEtub3BmIGltIFR1cm0gaW4KV2lsaGVsbXNidXJnIGRydWVja3QgdW5kIGRhbm4gYW5zY2hsaWVzc2VuZCBzZWluZSBTYWNoZW4gd2llZGVyIGF1ZnNhbW1lbHQsCmlzdCBkYW5uIHouQi4gSGlsYmVydHMgU3RhYiBuaWNodCBtZWhyIGF1dG9sb2FkPwpKZWRlbmZhbGxzIHNjaGVpbnQgc2ljaCBpcmdlbmR3YXMgdmVyYWVuZGVydCB6dSBoYWJlbiBtaXQgZGVuIFNhY2hlbiwgZGEgei5CLgpkZXIgV2FlY2h0ZXIgaW4gZGVyIFF1ZXN0IG1laW5lIEVpbmxhZHVuZyBuaWNodCBhbmVya2VubnQgb2RlciBtaXIgZGllIGJsb2VkZQpFbHN0ZXIgZ2VyYWRlIGRlbiBaYXViZXJzdGFiIGdla2xhdXQgaGF0LCB3YXMgdm9yaGVyIG5vY2ggbmljaHQgcGFzc2llcnQgd2FyPwpXZW5uIGphLCBtdXNzIGRhcyBzbyBzZWluPwpJY2gga29lbm50ZSBtaWNoIHp3YXIgZGFtaXQgYWJmaW5kZW4sIG5vY2htYWwgaW4gZGVuIGJsb2VkZW4gVHVybSBpbgpXaWxoZWxtc2J1cmcgenUga3JhYmJlbG4gdW5kIG1pciBub2NoIG5lIEVpbmxhZHVuZyBnZWJlbiB6dSBsYXNzZW4sIGFiZXIgaWNoCndpbGwgbmljaHQgbmFjaCBkZW0gbmFlY2hzdGVuIHJlYm9vdCBub2NobWFsIEhpbGJlcnQgbWFjaGVuLgoKRmxvcmEgKGxlaWNodCBnZW5lcnZ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxpYXMgKEFscGhhLCAxNi4gRGV6IDE5OTYsIDA5OjMwOjM4KToKSGkgYWxsLAp2aWVsbGVpY2h0IGthbm4gbWlyIGplbWFuZCBiZWkgZWluZW0gendhciB1bndpY2h0aWdlbiBQcm9ibGVtLCBkZXNzZW4gTG9lc3VuZwptaXIgZGFzIE11ZGRlbiAodW5kIHZvciBhbGxlbSBRdWVzdGVuKSBzZWhyIGVybGVpY2h0ZXJuIHd1ZXJkZS4gCkFsc28gaWNoIHd1ZXJkZSBnZXJuIGVpbiBmb2xnZW5kZXMgQWxpYXMgZGVmaW5pZXJlbjoKYWxpIHggYWxpIGYgZnJhZ2UgMSQgbmFjaCAqJAptaXQgZm9sZ2VuZGVyIGZ1bmt0aW9uCnggd2FuZGVyZXIKZXMgZm9sZ3Q6IE5ldXNlIEFsaWFzOiBmID0gZnJhZ2Ugd2FuZGVyZXIgbmFjaCAqJApJcmdlbmR3aWUga3JpZWdlIGljaCBkYXMgbmljaHQgaGluLiBJc3QgZWluIHNvbGNoZXMgQWxpYXMgZGFzIGVpbiBhbmRlcmVzCkFsaWFzIGRlZmluaWVydCB1ZWJlcmhhdXB0IG1vZWdsaWNoID8KRGFua2VuZCwgQWxwaGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWxpYXMgKFJ1bWF0YSwgMTYuIERleiAxOTk2LCAwOTo1NTozOSk6Cn4jISBybj1BbHBoYSBydD04NTA3MjUwMzgKfiMhIHRpZD04NTA3MjUwMzgKTWFjaCBtYWwgJDEgc3RhdHQgMSQgdW5kICQqIHN0YXR0ICQqLCBkYW5uIGdlaHRzLgpBY2hqYSwgbWFuIG11c3MgbmF0dWVybGljaCBkYXMgJCogbWFza2llcmVuIChhbHNvIFwkKiBlaW5nZWJlbiksIGRhbWl0CmRhcyAkKiBuaWNodCBzY2hvbiBiZWkgIngiIGF1c2dld2VydGV0IHdpcmQuCgpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGlhcyAoUWl0ZXNzLCAxNi4gRGV6IDE5OTYsIDExOjI3OjU2KToKfiMhIHJuPUFscGhhIHJ0PTg1MDcyNTAzOAp+IyEgdGlkPTg1MDcyNTAzOApoaSBhbHBoYSBpY2ggaGFiZSBlaW4gYWVobmxpY2hlcyBhbGkuIHVuZCB6d2FyIHNvIDoKCmFsaSB1dSBhbGkgZyB1bnQgJCoKCndhcyBiZWRldXRldCwgd2VubiBpY2ggICB1dSB3YW5kZXJlciAgIHRpcHBlLCBlcnNjaGVpbnQgbmV1ZXMgYWxpIGcgPSB1bnQKd2FuZGVyZXIgCgppcyBkb2NoIGVpbmZhY2ggOikKCgpRSSAgbWFjaHQgZGFzIG51ciBmdWVyIGthbXBmendlY2tlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGlhcyAoQWNyaW1vbiwgMTYuIERleiAxOTk2LCAxMjoyNzo0Nik6Cn4jISBybj1BbHBoYSBydD04NTA3MjUwMzgKfiMhIHRpZD04NTA3MjUwMzgKYWxpYXMgZnJtIGFsaWFzIGZyIGZyYWcgJCogbmFjaCBcJCoKCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHEgKFN1bmZsb3dlciwgMTYuIERleiAxOTk2LCAxMzo1NDozOCk6Cn4jISBybj1Nb2hrIHJ0PTg1MDc0MDgwMQp+IyEgdGlkPTg1MDc0MDgwMQpuZXR0IDspCnByb2JpZXJzIG1hbCBtaXQgIn5xIgooZ2VodCBhdWNoIGltIHRpdGVsKQoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1cnR3YW5nZW4gKERpZWRlciwgMTYuIERleiAxOTk2LCAxNDo1Njo1OSk6CkhhbGxvIQoKRGEgaWNoIHZvbiBlaW5lciBTZWl0ZSBhdXMgYW5nZWZsYW10IHd1cmRlLCBpY2ggd3VlcmRlIGhpZXIgZWluaWdlbiBNaXN0IGJhdWVuCnNlaXQgZWluaWdlciBaZWl0LCBtYWwgZWluZSBJbmZvcm1hdGlvbjoKCkJpcyB2b3IgY2EuIDMgV29jaGVuIHdhciBpY2ggZGVyIGVpbnppZ2UgTXVkZGVyIGF1cyBGdXJ0d2FuZ2VuLiBOdW4gaGFiZSBpY2gKamVkb2NoIGRyZWkgTWl0c3RyZWl0ZXIgZ2V3b3JiZW4sIGRpZSBzaWNoIGplZG9jaCB6LnQuIGNoYW90aXNjaCB2ZXJoYWx0ZW4gCnVuZCBkZWZpbml0aXYgTklDSFQgdm9uIG1pciBzdGFtbWVuLgoKRXMgc2luZCBkaWVzOiBDaGVzdGVyLCBEcmFnb25sb3JkIHVuZCBCZWxnYXJpYWQgKGxldHp0ZXJlciBpc3QgZGVyIHNjaGxpbW1zdGUpCjspKQoKSWNoIGhhYiBhbnNvbnN0ZW4gbnVyIEFyYXRoIHVuZCBEaWVkZXJJSSBhbHMgU3BpZWxlciBha3Rpdi4gV2VubiBzaWNoIGFsc28Kb2JlbgpnZW5hbm50ZSAzIFNwaWVsZXIgZmFsc2NoIHZlcmhhbHRlbiBvZGVyIE1pc3QgYmF1ZW4sIHNhZ3RzIGlobmVuIG9kZXIgc2NocmVpYnQKbmUgTWFpbCAoc2llIGhhYmVuIGFsbGUgaWhyZSBlbWFpbCBhbmdlZ2ViZW4pLCBhYmVyIGJlc2Nod2VydCBldWNoIGJpdHRlIGJlaQptaXIgbmljaHQgbWVoci4gOykpKQoKRGFua2UsCgpHcnVzcywKCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW1hbmRhcyBTY2h1aGUgKEdsb2luLCAxOS4gRGV6IDE5OTYsIDA1OjM1OjM5KToKS29lbm50ZSBiaXR0ZSBqZW1hbmQgbWFsIGRpZXNlbiAoZnVlciBtaWNoIG9mZmVuc2ljaHRsaWNoIGFscwpCdWcpIFp1c3RhbmQgYmVoZWJlbiwgZGFzcyBtYW4gbmFjaCBlaW5lbSBpcmdlbmR3YW5uIG1hbCBnZS0Kc2NoZWhlbmVuIEFuemllaGVuIHZvbiBBbWFuZGFzIFNjaHVoZSBld2lnIHVuZCBpbW1lciBkdXJjaCBkaWUKR2VnZW5kICdzdG9lY2tlbHQnID8hCkljaCBtZWluZSBkYXMgc293b2hsIGltIENvZGUgZGVzIFNjaHVocyBhbHMgYXVjaCBpbiBkZW4gU3BpZWxlcm4sCmRpZSBkYXJ1bSBiaXR0ZW4uCgpEYW5rZSwgR2xvaW4gc3RvZWNrZWx0IGhlcmF1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbWFuZGFzIFNjaHVoZSAoV3VyemVsLCAxOS4gRGV6IDE5OTYsIDE3OjU2OjMzKToKfiMhIHJuPUdsb2luIHJ0PTg1MDk3MDEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MDk3MDEzOQpkZXIgYnVnIGlzdCBzY2hvbiBsYWVuZ2VyIGJlaG9iZW4uIGVzIGV4aXN0aWVyZW4gYWJlciBub2NoICJhbHRsYXN0ZW4iIGF1cyBkZXIKemVpdCB2b3IgZGVyIGJlaGVidW5nLiBkYXMga2FubiBuaWNodCBhbGxnZW1laW4gbWl0IGVpbmVyIGNvZGVhZW5kZXJ1bmcKZ2VyZWdlbHQgd2VyZGVuLCBzb25kZXJuIG11c3MgaW0gZWluemVsZmFsbCBnZWtsYWVydCB3ZXJkZW4uIGRhenUgaXN0IGltCnByaW56aXAgamVkZXIgbWFnaWVyIGltc3RhbmRlLCBkYXMgaXN0IGF1Y2gga2VpbmUgdW5lcmxhdWJ0ZSBzcGllbGVyaGlsZmUgOikKZGEgaWNoIGRlbiBib2NrIGdlc2Nob3NzZW4gaGFiZSwgYmluIGljaCBuYXR1ZXJsaWNoIGF1Y2ggaW1tZXIgZGFyYXVmaGluCmFuc3ByZWNoYmFyLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmFjaHRlbiAoU3VuZmxvd2VyLCAyMC4gRGV6IDE5OTYsIDE1OjEyOjMwKToKSGllciBlaW4gVGV4dCB6dS91ZWJlciBXZWlobmFjaHRlbiAodm9uIGRlbiBUb3RlbiBIb3NlbikgKHNwaWVnZWx0CmF1Y2ggbWVpbmUgTWVpbnVuZyB3aWVkZXIgOikgKQoKV2VpaG5hY2h0ZW4gZGllIFplaXQgZGVzIEZyaWVkZW5zLApaZWl0IHp1IHZlcmdlYmVuIHVuZCB6dSB2ZXJ6ZWlobi4KSWNoIGxpZWJlIERpY2ggdW5kIER1IGxpZWJzdCBtaWNoCkplZGVyIGxpZWJ0IGplZGVuLCAgICAgICAgIApsYXNzdCB1bnMgenVzYW1tZW4gZnJvZWhsaWNoIHNlaW4KCk5pY2h0cyBpc3QgaGV1dCB1bm1vZWdsaWNoLAphdWNoIGVpbiBXdW5kZXIga2FubiBnZXNjaGVobgpKZWRlciBUcmF1bSBnZWh0IGluIEVyZnVlbGx1bmcsCndlbm4gRHUgZXMgd2lya2xpY2ggd2lsbHN0LgoKSWNoIHd1ZW5zY2hlIG1pciBlaW4gbmV1ZXMgQXV0bywKd2VpbCBkYXMgYWx0ZSBuaWNodCBmdW5rdGlvbmllcnQuCkljaCB3dWVuc2NoZSBtaXIgbmUgbmV1ZSBGcmV1bmRpbiwKZGVubiBkaWUgYWx0ZSBkaWUgYnJpbmd0cyBuaWNodCBtZWhyLgpJY2ggYnJhdWNoIGVpbiBuZXVlcyBMZWJlbiBkYXMgaWNoIGxlYmVuIGthbm4sCmRlbiBtZWluIGFsdGVzIHdpZGVydCBtaWNoIHRhZWdsaWNoIGFuLgoKSGVlIHdhcyBmdWVyIGVpbiBGcm9oZXMgRmVzdAprZWluZSBBbmdzdCwgZXMgd2lyZCB2b3JydWViZXIgZ2Vobi4KSGVlIHdhcyBmdWVyIGVpbiBGcm9oZXMgRmVzdCwKbnVyIE11dCB3aXIgd2VyZGVuIGVzIGR1cmNoc3RlaG4uCgpXaXIgd3VlbnNjaGVuIGV1Y2ggZWluIGZyb2hlcyBuZXVlcyBKYWhyLApSZWljaHR1bSB1bmQgR2x1ZWNrLCB3YWVyIGRhcyBuaWNodCB3dW5kZXJiYXIKVW5kIGVpbmVuIEdhcnRlbnp3ZXJnIG1pdCBkZW0gbWFuIHNwcmVjaGVuIGthbm4sCmVpbmVuIFN0YXVic2F1Z2VyIG1pdCBSdWVja3dhZXJ0c2dhbmcKRWluZW4gQmF1c3BhcnZlcnRyYWcgdW5kIGVpbiBBdXRvdGVsZWZvbiwKZWluZSBhdWZibGFzYmFyZSBQdXBwZSBtaXQgU3RlcmVvdG9uLgoKSGVlIHdhcyBmdWVyIGVpbiBGcm9oZXMgRmVzdCwKa2VpbmUgQW5nc3QgZXMgd2lyZCB2b3JydWViZXIgZ2Vobi4KSGVlZSB3YXMgZnVlciBlaW4gRnJvaGVzIEZlc3QsCm51ciBNdXQgd2lyIHdlcmRlbiBlcyBkdXJjaHN0ZWhuLgoKTGFzc3QgdW5zIGJldGVuIGZ1ZXIgZGllIEFybWVuIHVuZCBkaWUgS3JhbmtlbiBkaWVzZXIgV2VsdCwKdW5kIGRhcyBkaWUgRGV1dHNjaGUgTWFyayBJaHJlbiBLdXJzd2VydCBoYWVsdC4KCkhlZSB3YXMgZnVlciBlaW4gRnJvaGVzIEZlc3QsCmtlbmUgQW5nc3QgZXMgd2lyZCB2b3JydWViZXIgZ2Vobi4KSGVlZSB3YXMgZnVlciBlaW4gRnJvaGVzIEZlc3QsCm51ciBNdXQgd2lyIHdlcmRlbiBlcyBkdXJjaHN0ZWhuLgoKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVqYWhyIChTdW5mbG93ZXIsIDIwLiBEZXogMTk5NiwgMTU6MzU6NTMpOgpFaW5lIHZvcnplaXRpZ2UgTmV1amFocnNhbnNwcmFjaGUgdm9uIG1pcjoKCkxpZWJlciBNdWRkZXIgdW5kIE11ZGRlcmlubmVuIGRlcyBNb3JnZW5HcmF1ZW5zLAoKd2lyIGhhYmVuIGRhcyBKYWhyIDE5OTYgaGludGVyIHVucyBnZWJyYWNodCB1bmQgaWNoIGhvZmZlIGRhcyBzaWNoIGplZGVyCnNlaW5lbiBXdW5zY2ggZXJmdWVsbHQgaGF0IHVuZCBkYXMgZXIgZGFzIEphaHIgZ3V0IHVlYmVyc3RhbmRlbiBoYXQuCgpJY2ggd3VlbnNjaGUgZXVjaCBiZXNpbm5saWNoZSBGZWllcnRhZ2UsIGVpbmVuIGZsZWlzc2lnZW4gdW5kIHNjaHdpdHplbmRlbgpXZWlobmFjaHRzbWFubiAoLWZyYXUpIHVuZCBlaW5lbiBHdXRlbiBSdXRzY2ggaW5zIG5ldWUgSmFoci4KCkljaCB3dWVuc2NoZSBldWNoIHZpZWwgR2x1ZWNrIGZ1ZXJzIG5ldWUgSmFociwgZnVlciBldWVyIFN0dWRpdW0sIFByaXZhdGxlYmVuCnVuZCBuYXR1ZXJsaWNoIChiZXNvbmRlcnMpIGltIE1vcmdlbkdyYXVlbi4KCkRhdCB3YXJzIGVpZ2VudGxpY2ggc2Nob24gOikKClN1bmZvd2VyLCBkaWUgc2VudGltZW50YWwgd2lyZAoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcyB1ZWJsaWNoZS4uLiAoQW5jYWxhZ29uLCAyMC4gRGV6IDE5OTYsIDE2OjEyOjUwKToKS251ZGRlbHMhCkljaCB3dWVuc2NoZSBhbGxlbiBNb3JnZW5ncmF1ZXJJbm5lbiAodW5kIEF1c3NlbikgZWluZSB0b3RhbCBrbnVkZGVsaWdlCldlaWhuYWNodCBtaXQgdmllbGVuIGdlc2NoZW5rZW4gdW5kIHdlaWhuYWNodHNsaWVkZXJuLiBBdXNzZXJkZW0gc29sbCBzaWNoCmplZGVyLCBkZXIgd2lsbCwgdm9uIG1pciBsYWVuZ3NxdWVyZ2VzdHJlaWZ0IGlucyBuZXVlIGphaHIgZ2VrbnVkZGVsdApmdWVobGVuLi4uCkJpcyBuYWVjaHN0ZXMgSmFociwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmNhbGFnb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyYWNvIGtudWRkZWxsZW5zaXMgbWFqb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgdWVibGljaGUuLi4gKFBhbXBlcnMsIDIwLiBEZXogMTk5NiwgMTY6MTQ6MjUpOgp+IyEgcm49QW5jYWxhZ29uIHJ0PTg1MTA5NDc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTA5NDc3MApTbyBqZXR6dCBoYWIgaWNoIGFiZXIgZGllIE5hc2Ugdm9sbC4gOi0pCkljaCB3dWVuc2NoIEV1Y2ggYWxsZW4gS0VJTiBzY2hvZW5lcyBXZWlobmFjaHRlbiwgS0VJTkVOIEd1dGVuIFJ1dHNjaC4KR2VzY2hlbmtlIGhhYiBlaCBudXIgaWNoIHZlcmRpZW50LgoKUGFtcGVycy4gV2lsbCBrZWluIFdlaWhuYWNodGVuIHVuZCBlcnN0IHJlY2h0IGtlaW4gTmV1ZXMgSmFoci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyb2Vzc2UgZGVzIE1HIChUcmlwbGV4LCAyNC4gRGV6IDE5OTYsIDE1OjAyOjA0KToKV2llIGdyb3NzIGlzdCBlaWdlbnRsaWNoIE1HIC4uLiB3aWV2aWVsZSBSYWV1bWUsIE9iamVrdGUsIFNwaWVsZXIgZXRjIGdpYnQgZXMKLi4uIHdpZXZpZWwgUGxhdHogYmVsZWd0IE1HIGF1ZiBkZXIgUGxhdHRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyb2Vzc2UgZGVzIE1HIChGZXVlcndlaHIsIDI2LiBEZXogMTk5NiwgMjE6MDA6MjYpOgp+IyEgcm49VHJpcGxleCBydD04NTE0MzYxMjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE0MzYxMjQKUm9jaHVzIGhhdCBtYWwgd2FzIHZvbiAxLjMgR0IgUGxhdHRlbnBsYXR6IGdlcmVkZXQuLi4KCkFiZXIgaWNoIGdsYXViLCBkZXIgd2lsbCBudXIgRWluZHJ1Y2sgc2NoaW5kZW4uLi4KCkZldWVyd2VociAoc2NoYWV0enQgZGllc2VzIE11ZCBzbyBhdWYga25hcHBlIDUgTUIgKG9kZXIgc28pKQoKUC5TLiBPaCwgRnJvZWhsaWNoZSBXaGVpbmFjaHRlbiB1bmQgZWluIGd1dGVzIE5ldWVzIEphaHIsIFBhbXBlcnMhISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcm9lc3NlIGRlcyBNRyAoQWNyaW1vbiwgMjYuIERleiAxOTk2LCAyMjoyNjoxMyk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODUxNjMwNDI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNDM2MTI0CkdsYXViIGljaCBkaXIgbmljaHQuCkluIDUgTUIgcGFzc2VuIGRpZSBUZXh0ZSBkZXMgTUcgbmljaHQgbWFsIGtvbXByaW1pZXJ0IHJlaW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIgKGhhdCBzY2hvbiBhbmRlcndlaXRpZyBtZWhyZXJlIDEwMGsgZ3Jvc3NlIFRleHRlCmdlc2NocmllYmVuKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyb2Vzc2UgZGVzIE1HIChXb29keSwgMjcuIERleiAxOTk2LCAwMTo1NDozNCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg1MTYzNTU3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTQzNjEyNAoKQWxzbyB3ZW5uIGljaCBkaWUgR3JvZXNzZSBkZXMgU0wgZ3JvYiBhdWYgZGFzIE1HIGV4dHJhcG9saWVyZW4gd3VlcmRlLAptdWVzc3RlIGRhcyBNRywgd2VubiBtYW4gamV0enQgbnVyIGRpZSBhbmdlc2NobG9zc2VuZW4gR2ViaWV0ZQoobWFpbmx5IGRhcyBtZWlzdGUgaW4gL2QvIHVuZCAvcGxheWVycy8pIHJlY2huZXQsIHNvIGluIGRlcgpHcm9lc3Nlbm9yZG51bmcgdm9uIG5pY2h0IGFsbHp1dmllbCB1ZWJlciAxMDAgTUIgaGVydW0gYmV3ZWdlbi4uLgpEZXIgUmVzdCBpc3QgWmVpdHVuZywgTWFpbCwgU2F2ZWZpbGVzLCBNdWRsaWIsIGV0Yy4sIGlzdCBoYWx0IGRpZQpGcmFnZSwgd2FzIG1hbiB1bnRlciAiR3JvZXNzZSBkZXMgTUciIHZlcnN0ZWh0LgoKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnVyemVuIChGeXQsIDI3LiBEZXogMTk5NiwgMTQ6MDU6MjIpOgoKWnVyIFplaXQgaGFldWZlbiBzaWNoIGRpZSBGYWVsbGUsIGRhc3MgTGV1dGUgJ2dydW5kbG9zJyBmdXJ6ZW4uClVuZCBlcyBoYWV1ZmVuIHNpY2ggSW5kaXppZW4sIGRhc3MgZXMgc2ljaCBkYWJlaSB1bSBlaW5lbiB1bnNpY2h0YmFyZW4KTlBDIHZvbiBXdXJ6ZWwgaG5kZWx0LCBkZXIgZGllIGVudHNwcmVjaGVuZGUgJ0tyYW5raGVpdCcgdmVydGVpbHQuCk51biBpc3QgZXMgamEgbmljaHRzIE5ldWVzLCBkYXNzIFd1cnplbCB6aWVtbGljaGVuIE11ZWxsIGZhYnJpemllcnQKKGljaCBlcmlubmVyZSBtaWNoIGRhIGFuIE1vbnN0ZXIvV2FmZmVuL1JhZXVtZSB1bmQgZnJhZ2UgbWljaCBpbQpVZWJyaWdlbiBub2NoIGltbWVyLCB3aWVzbyBlciBSTSBpc3QgLSB3b2hsIHdlaWwgc29uc3Qga2VpbiB2ZXJudWVuZnRpZwpkZW5rZW5kZXIgTWVuc2NoIHNlaW4gR2VydWVtcGVsIGFuc2NobGllc3NlbiB3dWVyZGU/KQphYmVyIGlyZ2VuZHdhbm4gaXN0IG1hbCBkaWUgR3JlbnplIGVycmVpY2h0LCBkZW5rZSBpY2guIEljaCBtYWcgamV0enQKbmljaHQgZGllIGFsdGUgTGVpZXIgdm9uICdFYmVuZSBpc3QgQW5mYWVuZ2VyZ2ViaWV0JyB1bmQgc28gd2VpdGVyCmFuc3RpbW1lbiwgaWNoIGZpbmRlIGVzIGFiZXIgemllbWxpY2ggdWViZWwsIHdlbm4gbWFuIHBsb2V0emxpY2ggdm9uCk5ld2JpZXMgYW5nZXNwcm9jaGVuIHdpcmQsIGRhc3Mgc2llIGVzIG5pY2h0IG5ldHQgZmluZGVuLCB3ZW5uIG1hbgppbiBpaHJlciBHZWdlbndhcnQgZnVyenQgb2huZSBkYXNzIG1hbiBzaWNoIGJld3Vzc3QgaXN0LCBkYXNzIG1hbgp3aXJrbGljaCBnZWZ1cnp0IGhhdC4KCktvZW5udGUgc2ljaCBuaWNodCBlaW5lciBkZXIgWnVzdGFlbmRpZ2VuIGVyYmFybWVuIHVuZCBXdXJ6ZWwgJ25lClNwaWVsd2llc2UgZ2FueiB3ZWl0IGRyYXVzc2VuIGF1ZiBuZXIgSW5zZWwsIHdvIGtlaW5lciBhdXMgVmVyc2VoZW4KaGlua29tbXQsIGdlYmVuPyBEYSBrb2VubnRlIGVyIHNpY2ggZGFubiBzbyByaWNodGlnIGF1c3RvYmVuLi4uCgpGeXQsIGxlaWNodCBzYXVlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdXJ6ZW4gKEFjcmltb24sIDI3LiBEZXogMTk5NiwgMTQ6MzU6NDkpOgp+IyEgcm49Rnl0IHJ0PTg1MTY5MTkyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpXb2xsZW4gd2lyIGhpZXIgZWluIE11ZCwgaW4gZGVtIGFsbGVzIGhlaXRlciB1bmQgc2Nob2VuIGlzdD8KCkVpbmUgaW4gUkwgc2VociBoYWV1ZmlnZSBjaHJvbmlzY2hlIEtyYW5raGVpdCBuZW5udCBzaWNoICJDb2xpdGlzCnVsY2Vyb3NhIm9kZXIgIk1vcmJ1cyBDcm9obiIsIHVuZCB3ZXIgZGFtaXQgYmVmYWxsZW4gaXN0LCBoYXQgdW51bnRlcmJyb2NoZW4KRHVyY2hmYWxsIHVuZCBtdXN6IHN0YWVuZGlnIGZ1cnplbiwgd2VpbCBkZXIgRGFybSBzdGFlbmRpZyB3dW5kIHVuZCBlbnR6dWVuZGV0CmlzdCAob2Igdm9uIFZpcmVuIG9kZXIgYW5kZXJlbiBFaW5mbHVlc3NlbiwgaXN0IG5vY2ggdW5iZWthbm50KS4KSGVpbHVuZyBnaWJ0IGVzIGtlaW5lOyBlcyBnaWJ0IG51ciBNZWRpa2FtZW50ZSwgZGllIGRlbiBWZXJmYWxsIGF1ZmhhbHRlbgooYWJlciBuaWNodCBzdG9wcGVuKSBrb2VubmVuLgoKRGFnZWdlbiBpc3QgV3VyemVscyBWZXJzaW9uIGRvY2ggaGFybWxvcy4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlciBoYXQgbmljaHRzIGdlZ2VuIG5ldWUgS3JhbmtoZWl0ZW4gaW0gTUcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZ1cnplbiAoRnl0LCAyNy4gRGV6IDE5OTYsIDE0OjM5OjAwKToKfiMhIHJuPUFjcmltb24gcnQ9ODUxNjkzNzQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNjkxOTIyCgpIbSwgZ3V0LCB3aXIgc2luZCBhbHNvIGVpbiBNdWQsIGluIGRlbSB3aXIgdW5zIGdlZ2Vuc2VpdGlnIGFlcmdlcm4gd29sbGVuPwoKSWNoIGdsYXViLCBkYSBrYW5uIGljaCBhdWNoIG1pdGhhbHRlbiA6KQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmdXJ6ZW4gKFNudWdnbGUsIDI3LiBEZXogMTk5NiwgMTY6NTc6MDYpOgp+IyEgcm49QWNyaW1vbiBydD04NTE2OTM3NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKQUxzbyBpY2ggaGF0dGUgYmlzaGVyIGtlaW5lIFJMLURhcm1mYWV1bGUgdW5kIG11c3Mgc2llIGF1Y2ggaW0gTUcgbmljaHQKdW5iZWRpbmd0IGhhYmVuLiBBbHNvOiB3ZWcgZGFtaXQuIFp1bWFsIGRpZSBGdXJ6ZXJlaSB3aXJrbGljaCB3aWRlcmxpY2ggaXN0LgoKU251Z2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZnVyemVuIChXdXJ6ZWwsIDI3LiBEZXogMTk5NiwgMTc6MDI6NTMpOgp+IyEgcm49U251Z2dsZSBydD04NTE3MDIyMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKd2FocnNjaGVpbmxpY2ggYmlzdCBkdSBpbSBybCBiaXNoZXIgYXVjaCBuaWNodCBnZXN0b3JiZW4sIG9kZXI/IHNvbGx0ZSBkYXMKZGVpbmVyIG1laW51bmcgbmFjaCBhdWNoIGFiZ2VzY2hhZmZ0IHdlcmRlbiBkZXN3ZWdlbj8KCm1hbmNobWFsIGtvZW5udCBpaHIgbWlyIHdpcmtsaWNoIGxlaWQgdHVuLCBnYW56IGVocmxpY2guIGFiZXIgbnVyIGVpbiB3ZW5pZy4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZnVyemVuIChTdXNoaSwgMjcuIERleiAxOTk2LCAxNzowNDoxMik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODUxNzAyNTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNjkxOTIyCgpSZWNodCBzbywgaW1tZXIgd2VpdGVyIGluIGRlbSBTdGlsLi4uIFZpZWxsZWljaHQgc29sbHRlIGplbWFuZCBlaW5lCk5hcnJlbmthcHBlIHVuZCBlaW5lIEd1bW1pa2V1bGUgcHJvZ2dlbiwgZGF6dSBlaW5lbiBTY2hhbmRwcmFuZ2VyIHVuZAp2aWVsbGVpY2h0IGF1Y2ggbm9jaCBlaW4gUHVibGlrdW0uIE1hbm4sIHdhcyB3dWVyZGUgZGFzIFNwYS8zIG1hY2hlbi4uLgoKU3VzaGkgLSBnYWVobmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZnVyemVuIChQYW1wZXJzLCAyNy4gRGV6IDE5OTYsIDE3OjA3OjAzKToKfiMhIHJuPVd1cnplbCBydD04NTE3MDI1NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKSWhyIGhhYnQgZG9jaCBlY2h0IGFsbGUgZWluZW4gYW4gZGVyIFdhZmZlbC4KQWNyaW1vbiBnZW5hdXNvIHdpZSBEdS4KClBhbXBlcnMuIGRlbmt0IC4gbyBPICggTXVkZGVyLi4uICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGZ1cnplbiAoU3VzaGksIDI3LiBEZXogMTk5NiwgMTc6MDk6MDEpOgp+IyEgcm49UGFtcGVycyBydD04NTE3MDI4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKSmEsIGRhcyBpc3QgZGVyIFN0aWwsIGRlbiB3aXIgYWxsZSBsaWViZW4uLi4gVmllbGxlaWNodCBrb2VubnRlIGF1Y2ggZWluCmF1dG8tcmVwbHkgaGVsZmVuLCBldHdhcyBpbiBSaWNodHVuZzogIlggaXN0IGR1bW0sIFkgaGF0IGlyZ2VuZHdpZSBSZWNodCwgaXN0CmFiZXIgYXVjaCBkdW1tLCBpY2ggYmluIGR1bW0gYWJlciBob2ZmZSwgZGEvMyBuaWVtYW5kIGVzIG1lcmt0IHVuZCBqZXR6dAprb2VubmVuIGVpbiBwYWFyIExldXRlIGRlbiBUaHJlYWQgYWQgaW5maW5pdHVtIHdlaXRlX3NwaW5uZW5fIi4KClN1c2hpIC0ga3VyeiB2b3IgZGVtIEJyZWNocmVpegoKUC5TLiBXYW5uIGdpYnQgZXMgZWluZSBSdWJyaWsgL2Rldi9udWxsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZnVyemVuIChQYW1wZXJzLCAyNy4gRGV6IDE5OTYsIDE3OjEwOjMwKToKfiMhIHJuPVN1c2hpIHJ0PTg1MTcwMjk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpBY2hqYS4gRGljaCBoYXR0ZSBpY2ggdmVyZ2Vzc2VuLiA7LSkKClBhbXBlcnMuIEtpY2hlcm5kIGRlbiBTY2h3YWNoc2lubnN0aHJlYWQgd2VpdGVyc3Bpbm5lbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBmdXJ6ZW4gKEthcnRvZmZlbCwgMjcuIERleiAxOTk2LCAxNzoyNDoxMSk6Cn4jISBybj1QYW1wZXJzIHJ0PTg1MTcwMzAzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpJY2ggaGFldHRlIG5pY2h0IHVlYmVsIEx1c3QsIGRpZSBGdXJ6LUNoYXRzIHp1IHRyaWdnZXJuIHVuZCBhbiBXdXJ6ZWwKd2VpdGVyenVsZWl0ZW46ClRlaWxlIFd1cnplbCBtaXQuLi4KCkthcnRvZmZlbCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGZ1cnplbiAoRnl0LCAyNy4gRGV6IDE5OTYsIDE3OjM5OjQ3KToKfiMhIHJuPUthcnRvZmZlbCBydD04NTE3MDM4NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKCkhtLCB2aWVsbGVpY2h0IHNvIGFscyBIaWxmZSB6dXIgU2VsYnN0aGlsZmU6CgovZGVmIGVldz10ZWlsZSB3dXJ6ZWwgbWl0ICUqCi9kZWYgLWFnIC10IkZ1ZXJjaHRlcmxpY2hlciBHZXN0YW5rIGVyZnVlbGx0IGRlbiBSYXVtLiI9L2VldyAlMAovZGVmIC1hZyAtdCJGeXRzIEZ1cnogc3Rpbmt0IHdpcmtsaWNoIGdyYXVlbmVycmVnZW5kLiI9L2VldyAlMAovZGVmIC1hZyAtdCJEdSBtdXNzdCBEaWNoIGJlaW5haCB1ZWJlcmdlYmVuLCBhbHMgRnl0cyI9L2VldyAlMAoKRnl0LgoKUFM6IERhcyBpc3QgbmF0dWVybGljaCAqbmljaHQqIGVybGF1YnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGZ1cnplbiAoRnl0LCAyNy4gRGV6IDE5OTYsIDE3OjQxOjUwKToKfiMhIHJuPUZ5dCBydD04NTE3MDQ3ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKCkhtLCBuYWphLCBuaWNodCBwZXJmZWt0IHNlaCBpY2ggZ2VyYWRlLi4uICp6dWNrKiAgZXMgc2NoYXVrZWx0IHNpY2ggZXR3YXMKdGVpbGUgd3VyemVsIG1pdCBdRnl0cyBGdXJ6IHN0aW5rdCB3aXJrbGljaCBncmF1ZW5lcnJlZ2VuZC4KaG9jaC4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGZ1cnplbiAoQWNyaW1vbiwgMjcuIERleiAxOTk2LCAxODozMjoyMyk6Cn4jISBybj1GeXQgcnQ9ODUxNzA0OTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNjkxOTIyCkRhcyBrb21tdCBkYXZvbiwgd2VubiBtYW4ga2VpbmUgcmVnZXhwIHZlcndlbmRldC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlciB0cmlnZ2VydCBudXIgbWl0IHJlZ3VsYXIgZXhwcmVzc2lvbnMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogZnVyemVuIChGeXQsIDI3LiBEZXogMTk5NiwgMjI6Mzc6NTApOgp+IyEgcm49QWNyaW1vbiBydD04NTE3MDc5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKCkRvY2gsIEFjcmltb24uIERlciBGZWhsZXIgaXN0LCBkYXNzIG1hbiBhdWYgZGFzIGVpZ2VuZSAndGVpbGUgbWl0JyB0cmlnZ2VydC4KCkZ5dCwgJW1hdGNoaW5nIGF1ZiByZWdleHAgaGFiZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IGZ1cnplbiAoWnVlcmlsZXUsIDI3LiBEZXogMTk5NiwgMjI6NTM6MjcpOgp+IyEgcm49Rnl0IHJ0PTg1MTcyMjY3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpIaSwKSGV5IExldXRlLApTb3ZpZWwgImdlc2NoaWVzcyIgd2VnZW4gZWluZXIga2xlaW5lbiBydW1mdXJ6ZXJlaS4gRGVuIEJlZmVobCAiRnVyeiIgZ2llYnQgZXMKc2Nob24gc28gbGFuZ2UgaWNoIGhpZXIgYmluLCBpY2ggc2VoZSBkYXJhaW4gbmljaHQgdW5hcGV0aXRsaWNoZXMuIFVuZCBzY2hvbgpnYXJuaWNodCBpbiBlaW5lbSB2bCBNVUQuIEhleSwgaGFidCBpaHIga3VyeiBuYWNoIFdlaWhuYWNodGVuIChpY2ggaGFzc2UKZGllc2VzIEZlc3QpIG5pY2h0cyBiZXNzZXJlcyB6dSB0dW4gYWxzIGV1Y2ggdWViZXIgRnVyemUgYXVmenVyZWdlbj8gSGV5IEZ5dCwKYXVjaCBkdSBoYXN0IHNjaG9uIGluIHJlYWwgZ2VmdXJ6dCwgZGF2b24gYmluIGljaCB1ZWJlcnpldWd0LiBVbmQgZGVpbiBLb2VycGVyCndpZSBtZWluIG9kZXIgdW5zZXIgYWxsZXIgS29lcnBlciBicmF1Y2h0IGRpZXNlbiBNZWNoYW5pc211cywgZGFzIGlzdCBkb2NoCm5pY2h0cyBzY2hsaW1tZXMgZGFiZWkuIE9oIG1hbiBvZGVyIGxpZWd0IGRhcyBhbiBkZXIgRXJ6aWVodW5nPyBIZXkgdW5kIGRhbm4Kc28gdWViZXIgV3VyemVsIGhlcnp1ZmFocmVuLCBTSUUgaXN0IHp1IHJlY2h0IFJNIGluIGRlciBVbnRlcndlbHQuIE9obmUgV3VyemVsCnd1ZXJkIGluIGRlciBVbnRlcndlbHQgbmFlbWxpY2ggc2VpdCBsYW5nZW0gYWxsZXMgc3RpbGwgc3RlaGVuLiBVbmQgYWxzClJlZ2lvbnNtaXRhcmJlaXRlciB2b24gZGVyIFVudGVyd2VsdCBzYWdlIGljaCBkYXp1LCB3aXIgYnJhdWNoZW4gV3VyemVsLiBXZW5uCmRpciBzb2xjaGUgS3JhbmtoZWl0ZW4gdm9uIE1vbnN0ZXJuIG5pY2h0IGdlZmFsbGVuLCBkYW5uIHdlcmRlIE1hZ2llciwgZGllCkZhZWhpZ2tlaXRlbiBkYXp1IGhhZXR0ZXN0IGR1IGphLiBXZW5uIG5pY2h0LCBkYW5uIHppZWhlIG5pY2h0IHVlYmVyIHVuc2VyZQpSTSdzIGhlciB1bmQga3VlbW1lcmUgRGljaCB1bSBkZWluZSBGb3JzY2hlcnB1bmt0ZSBvZGVyIHdlaXNzIGljaCB3YXMuIEV5IGVjaHQKc29uIGdlc2NoaWVzcyB3ZWdlbiBzb25lbSBzY2hlaXNzIGRhIHBsYXR6dCBlaW5lbSBkZXIgS3JhZ2VuICpncnVtbWVsKi4gSmV0enQKaGF0dGUgaWNoIGdlc3Rlcm4gR2VidXJ0c3RhZywgamFqYSBEYW5rZSBpc3QgamEgbmljaHRzIFdlbHRiZXdlZ2VuZGVzIGF1c3NlcgpkYXMgaWNoIGxhbmdzYW0gZWluIE9wYSB3ZXJkZSA9OikgVW5kIGtvbW0gcmVpbiB1bmQgbXVzcyBtaXIgc3RyZWl0ZXJlaWVuCnVlYmVyICJmdWVyemUiIGFuaG9lcmVuICpncmlucyouIEV5IFd1cnplbCwgcHJvZ2dlIHdlbmlnc3RlbnMgaW0gU3BpdGFsIGVpbmUKbW9lZ2xpY2hrZWl0IGZ1ZXIgaGVpbHVuZyBvZGVyIHNvLCB3ZW5uIGVzIGRpZSBuaWNodCBzY2hvbiBnaWVidCB1bmQgZGllIGdhbnplCmZ1cnplcmVpIGhpZXIgaW4gZGVyIG1wYSBuaWNodCB1bXNvbnN0IHdhci4KClRzY2h1ZXNzICAgICAgICAgICAgICAgICAgWnVlcmlsZXUgaW4gRE9NIFNBVEFOQVMgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IGZ1cnplbiAoRnl0LCAyNy4gRGV6IDE5OTYsIDIyOjU1OjE4KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg1MTcyMzYwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgoKQWJlciBSTCBrYW5uIG1pY2gga2VpbmVyIHp1IGZ1cnplbiB6d2luZ2VuIHVuZCBpY2ggd2Vpc3MgaW0gWndlaWZlbHNmYWxsLAp3ZW5uIGVzIGRhenUga29tbXQuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmdXJ6ZW4gKFNudWdnbGUsIDI3LiBEZXogMTk5NiwgMjM6Mjk6NDApOgp+IyEgcm49V3VyemVsIHJ0PTg1MTcwMjU3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpPaCBqYSEgU3RlcmJlbiBhYnNjaGFmZmVuIDotKQoKU251Z2dsZSAtIHR1dCBzaWNoIGF1Y2ggbWFuY2htYWwgc2VsYmVyIGxlaWQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogZnVyemVuIChCbG9vZHloYXJyeSwgMjguIERleiAxOTk2LCAwMzozODoxMyk6Cn4jISBybj1GeXQgcnQ9ODUxNzIzNzE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNjkxOTIyCkVzIHNjaGVpbnQsIGRpZXNlcyBVZWJlbCBmaW5kZXQgbWVociBHZWdlbndlaHIgYWxzIHVlYmxpY2ggenUgYmVrb21tZW4uCkFsc28gc29sbHRlIGVzIGF1ZiBqZWRlbiBGYWxsIGVpbmVyIFVlYmVyYXJiZWl0dW5nIHp1Z2VmdWVocnQgd2VyZGVuLgpXZW5uIGVzIFd1cnplbCBhZW5kZXJ0LCBpc3QgZXMgZ3V0IHNvIC0gbWFuIGxlcm50IHNjaGxpZXNzbGljaCBhdXMgc2VpbmVuCkZlaGxlcm4uCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IGZ1cnplbiAoRnl0LCAyOC4gRGV6IDE5OTYsIDA4OjEwOjM2KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg1MTc0MDY5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgoKSG0sIGVzIGJla29tbXQgdW5nZWZhZWhyIHNvdmllbCBHZWdlbndlaHIgd2llIGRlciBCYWxyb2csIGRpZSBOYXpndWxzLApkYXMgc2VsdHNtZSBTY2h3ZXJ0IGRhLCBkaWUgUmFldW1lIG1pdCAxMyBXb3J0ZW4gaW4gZGVyIFBfSU5UX0xPTkcgdW5kCm51bGwgRGV0YWlscyB1bmQgLi4uIGFlaG0gLi4uIEFsemhlaW1lci4gVW5kIGViZW4gd2VpbCBlcyBzaWNoIGltbWVyCndpZWRlcmhvbHQsIGZhZW5ndCBlcyBhbiBtaWNoIHp1IHN0b2VyZW4uIEF1Y2ggd2VubiBkYXMgbmFjaCBIYXRlCnppZW1saWNoIHVuY29vbCBpc3QgOy0pIEJlaSBkZW0gbGV0enRlbiBhZWhubGljaGVuICdQcm9ibGVtJyAodmVybG9yZW5lcwpMYW5kKSB3YXIgZXMgcmVsYXRpdiBlaW5mYWNoLCBkb3J0IGVpbmZhY2ggbmljaHQgaGluenVnZWhlbiwgYWJlciBtaXQKZGVyIEViZW5lIGlzdCBkYXMgbmljaHQgZ2FueiBzbyBlaW5mYWNoLCBkYSBoYiBpY2ggbmFlbWxpY2ggaXJnZW5kd28KbWVpbiBIYXVzIHN0ZWhlbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBmdXJ6ZW4gKEFjcmltb24sIDI4LiBEZXogMTk5NiwgMTE6MjQ6MDcpOgp+IyEgcm49Rnl0IHJ0PTg1MTc1NzAzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTY5MTkyMgpFcyBpc3Qgc2NobGljaHQgdW5kIGVpbmZhY2ggbGFlY2hlcmxpY2guCkthdWYgRGlyIGVpbmVuIHZvbGxhdXRvbWF0aXNjaGVuIEZ1cnplbnRmZXJuZXIsIHdlbm4gRGljaCBkYXMgc3RvZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IGZ1cnplbiAoQXNtb2RpcywgMjguIERleiAxOTk2LCAxNzowNjozNyk6Cn4jISBybj1adWVyaWxldSBydD04NTE3MjM2MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKR3JhdHMsIFp1ZXJpbGV1LCBuYWNodHJhZWdsaWNoLgoKSG9mZmVudGxpY2ggaGF0IERpciBrZWluZXIgZWluIEZ1cnpraXNzZW4gZ2VzY2hlbmt0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaWxkZSBmdWVyIGFuZmFlbmdlciAoRGF2aSwgMjguIERleiAxOTk2LCAyMTozMzo0Nyk6CkljaCBiaW4gYmVnZWlzdGVydGVyIFplaXR1bmdzbGVzZXIgaW4gZGllc2VtIE11ZCB1bmQgaWNoIGZpbmRlIGVzIHNlaHIKYW5nZWJyYWNodCwgd2VubiBtYW4gbWFsIGVpbmUgZ2lsZGUgZnVlciBkaWUgdmllbGVuCmFuZmFlbmdlciBiYXVlbiB3dWVyZGUuIEljaCBzZWxiZXIgYmluIHNlbGJzdCBub2NoIGVpbmVyLCBkZXNoYWxiIGlzdCBtaXIKZGllc2UgaWRlZSBlaW5nZWZhbGxlbi4KCk1GRyBEYXZpKGQpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdpbGRlIGZ1ZXIgYW5mYWVuZ2VyIChBc21vZGlzLCAyOC4gRGV6IDE5OTYsIDIzOjQwOjA0KToKfiMhIHJuPURhdmkgcnQ9ODUxODA1MjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxODA1MjI3CkdpbGRlbiBmdWVyIEFuZmFlbmdlciBnaWJ0IGVzLCBuZW5udCBzaWNoICdBYmVudGV1cmVyZ2lsZGUnIHVuZAonQmllcnNjaHVldHRsZXJnaWxkZScuCk9kZXIgd2FzIG1laW5zdCBkdSA/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZnVyemVuIChBc21vZGlzLCAyOS4gRGV6IDE5OTYsIDA0OjA1OjA0KToKfiMhIHJuPVd1cnplbCBydD04NTE3MDI1NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE2OTE5MjIKSG1tLCBudW4gaGF0cyBlaW5lbiB2b24gbWVpbmVuIExldXRlbiBlcndpc2NodCwgdW5kIGRhcyBudXIgYXVmIGRlbQpXZWcgZHVyY2hzIE1HLgpBbHNvIE1hZ2llciwgZGllIHNvbGNoZSBTYWNoZW4gcHJvZ2dlbiwgZ2Vob2VyZW4gZXJzY2hvc3NlbiwgZ2ViYW5pc2h0Cm9kZXIgd2VuaWdzdGVucyB2ZXJ3YXJudC4KSW0gTWFnaWVydmVydHJhZyBzdGVodCBqYSBhdWNoLCBkYXNzIHNpZSBTcGllbGVyIG5pY2h0IGdydW5kbG9zIGJlaGluZGVybgpzb2xsZW4sIHVuZCBpbiBkaWVzZW0gRmFsbCB3dXJkZSBkaWVzZSBLbGF1c2VsIGVpbmRldXRpZyB2ZXJsZXR6dC4KQWxzbyBsb2VzY2ggZGVpbmVuIE5QQywgYmV2b3IgZGEgbm9jaCBLb25zZXF1ZW56ZW4gZHJhdXMgZW50c3RlaGVuLgoKRGllc2VyIEZ1cnotVmlydXMgaXN0IGVpbmZhY2ggbnVyIG5lcnZlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcm9lc3NlIGRlcyBNRyAoRGF2aSwgMjkuIERleiAxOTk2LCAxNjoxMjoxMyk6Cn4jISBybj1Xb29keSBydD04NTE2NDgwNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE0MzYxMjQKSWNoIGZpbmRlIHBmdXJ6ZW4gZ2FueiBub3JtYWwsIHNjaGxpZXNzbGljaCB0dXQgbWFuIGVzIGluIGRlciByZWFsaXRhZXQgYXVjaC4KV2FzIGljaCBhbGxlcmRpbmdzIHVlYmVydHJpZWJlbiBmaW5kZSwgaXN0IGRpZSBQZnVyei1rcmFua2hlaXQuIEdpYnQKZXMgZGllIGluIGRlciBSZWFsaXRlYXQ/Pz8KCk1GRyBEYXZpKGQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2lsZGUgZnVlciBhbmZhZW5nZXIgKERhdmksIDI5LiBEZXogMTk5NiwgMTY6MTQ6NTIpOgp+IyEgcm49RGF2aSBydD04NTE4MDUyMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE4MDUyMjcKU2VsYnN0dmVyc3RhZW5kbGljaCBpc3QgYXVjaCBkaWUgQWJlbnRldWVyZ2lsZGUgZWluZSBnaWxkZSBmdWVyIGFuZmFlbmdlciwgbWFuCnNvbGx0ZSBlaW5lIGdpbGRlIGFiZXIgYW5mYWVuZ2VyLWdpbGRlIG5lbm5lbiwKZGFtaXQgZGllIGFuZmFlbmdlciBhdWNoIHdpc3Nlbiwgd28gc2llIGhpbiBzb2xsdGVuLiAKCk1GRyBEYXZpKGQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdpbGRlIGZ1ZXIgYW5mYWVuZ2VyIChCZW5kZWlnaWQsIDI5LiBEZXogMTk5NiwgMTY6MzM6MTEpOgp+IyEgcm49RGF2aSBydD04NTE4NzI0OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE4MDUyMjcKSGFsbG8gRGF2aSB1bmQgZGVyIFJlc3QgZGVyIEFuZmFlbmdlciEKRGllIEdpbGRlbiBzaW5kIEdpbGRlbiwgQmVydWZlIG9kZXIgZWhlciBCZXJ1ZnVuZ2VuLCBpbiBkZW5lbiBtYW4gc2ljaAp6dXNhZXRsaWNoZSBGYWVoaWdrZWl0ZW4gZnVlciBkYXMgTGViZW4gdW5kIFVlYmVybGViZW4gaGllciBpbSBNRyBiZXNjaGFmZmVuCmthbm4uIEplZGUgR2lsZGUgaGF0IGlocmUgRWlnZW5oZWl0ZW4gdW5kIE1vZWdsaWNoZWtlaXRlbi4gRGllIEdpbGRlbiB3ZXJkZW4KZnVlciBkaWUgTGV1dGUgR2VzY2hyaWViZW4sIGRpZSBzaWNoIGhpZXIgc2Nob24gZWluIHdlbmlnIGF1c2tlbm5lbiB1bmQgc28KdW5nZWZhZWhyIHdpc3Nlbiwgd2FzIHNpZSBkZW5uIG1hY2hlbiBtb2VjaHRlbi4gRWluaWdlIHF1ZXN0ZW4gbGllYmVyIHVuZAptb2VjaHRlbiBkYWhlciBtaXQgZWluZW0gTWluaW11bSBhbiBLYW1wZmZhZWhpZ2VpdGVuIGF1c2tvbW1lbiwgb2RlciBhYmVyIGRpZQpncnVuZGxlZ2VuZHN0ZW4gTWV0emVsdGVjaG5pa2VuIGVybGVybmVuLCB1bSB3ZW5pZ3N0ZW5zIGR1cmNoIGRpZSBwYWFyCk1ldHplbG1vbnN0ZXIgaW4gUXVlc3RlbiB6dSBrb21tZW4uIEFuZGVyZSBzZWhlbiBpaHJlIEVyZnVlbGx1bmcgaW0gQXVzbnV0emVuCmRlciBzcGV6aWVsbGVuIE1vZWdsaWNoa2VpdGVuLCBkaWUgU3BlemlhbGdpbGRlbiBiaWV0ZW4sIHVtIHNvIGF1Y2ggbWl0IGRlbgpoYWVydGVzdGVuIE1vbnN0ZXJuIGZlcnRpZ3p1d2VyZGVuLiBFaW5lICJyaWNodGlnZSIgQW5mYWVuZ2VyZ2lsZGUgZ2lidCBlcwpuaWNodCB1bmQgd2lyZCBlcyB2ZXJtdXRsaWNoIGF1Y2ggbmljaHQgZ2ViZW4uIEplZGVyIGthbm4gc2ljaCBpbiBkZXIgR2lsZGUKaG9jaHNwaWVsZW4gb2RlciBhdWNoIG5pY2h0LiBFcyBnaWJ0IGVpbmVuIFNwaWVsZXIsIGRlciBhbHMgTGV2ZWwgMSBBYmVudGV1cmVyCnByYWt0aXNjaCBhbGxlIFF1ZXN0ZW4gZ2VzY2hhZmZ0IGhhdHRlIC0gbWl0IGRhbmtlbmRlciBVbnRlcnN0dWV0enVuZyBzZWluZXMKRXJzdGllcywgb2theSA6KQpEaWUgR2lsZGVuIHNvbGxlbiBkaWUgU3RpbW11bmcgbWVociBpbiBSaWNodHVuZyBGYW50YXN5d2VsdCBtaXQgbWVocmVyZW4KQmVydWZlbiBWZXJzY2hpZWJlbiwgdW5kIGljaCBkZW5rZSwgZGFzcyBkaWVzIGF1Y2ggc28gZWluaWdlcm1hc3NlbiBnZWxpbmd0LiAKRmF6aXQ6IEFuZmFlbmdlcmdpbGRlIGlzdCBqZWRlLCB6dSBkZXIgRHUgRGljaCBoaW5nZXpvZ2VuIGZ1ZWhsc3QsIHVtIGRlaW5lbQpTcGllbGNoYXJhY3RlciBoaWVyIGVpbmUgZGlyIGdlbmVobWUgRm9ybSB6dSB2ZXJwYXNzZW4uIAoKWidwYXIgU2VydnUsIEJlbmRlaWdpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhcyB1ZWJsaWNoZS4uLiAoU2FuZGksIDMwLiBEZXogMTk5NiwgMTQ6MTE6MTMpOgp+IyEgcm49QW5jYWxhZ29uIHJ0PTg1MTA5NDc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTA5NDc3MApTb2xsdGUgZGllcyB3aXJrbGljaCBlaW4gQlVHIHNlaW4sIHNvIGdpYiBtYWwgQlVHIGVpbiB1bmQgc2NoaWxkZXIKZG9ydCBkZWluZSBQcm9ibGVtZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JvZXNzZSBkZXMgTUcgKFNhbmRpLCAzMC4gRGV6IDE5OTYsIDE0OjEzOjI3KToKfiMhIHJuPVRyaXBsZXggcnQ9ODUxNDM2MTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNDM2MTI0CkljaCBnbGF1YmUsIFBsYXR6IG5pbW10IGVzIHVlYmVyaGF1cHQgbmljaHRzIGF1ZiBkZXIgcGxhdHRlLCBkaWUgZGF0ZW4KdWViZXIgZGVuIHNwaWVsZXIgc3BlaWNoZXJ0IGVyIGRvY2ggYXVmIGRlciB1bmksIG9kZXI/CgpNRkcgU2FuZGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnVyemVuIChTYW5kaSwgMzAuIERleiAxOTk2LCAxNDoxNzoxNyk6Cn4jISBybj1GeXQgcnQ9ODUxNjkxOTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxNjkxOTIyClBmdXJ6ZW4gaXN0IGdhbnogbm9ybWFsLCBzY2hsaWVzc2xpY2gga2FubiBlcyBkaXIgZG9jaCBhdWNoIHBhc3NpZXJlbiwKZGFzIGR1IGdydW5kbG9zIHBmdXJ6dCwgZGFzIHBhc3NpZXJ0IGViZW4gbmljaHQgbnVyIGluIGRlciBSZWFsaXRhZXQKCldhcyBpY2ggYWJlciwgd2llIGR1IHVlYmVydHJpZWJlbiBmaW5kZSBpc3QsIGRhcyBtYW4gbnVyIGluIG1hc3NlbiBwZnVyemVuCmthbm4sIG5pY2h0IGplZGUgaGFsYmUgc3R1bmRlIGVpbm1hbCBvZGVyIHNvLiBOdW4sIGFlbmRlcm4gbGFlc3N0IHNpY2gKZGFzIGF1ZiBqZWRlbiBmYWxsIG5pY2h0CgpNRkcgU2FuZGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQdW5rdGUgYXVzc3B1Y2tlbj8gKFNtdXJmLCAzMC4gRGV6IDE5OTYsIDE5OjUyOjI5KToKCkthbm4gaWNoIG1pciBlaWdlbnRsaWNoIGplZGVzbWFsLCB3ZW5uIHNpY2ggbWVpbmUgTGViZW5zL01hZ2llcHVua3RlCmFlbmRlcm4sIGRlbiBha3R1ZWxsZW4gU3RhbmQgaXJnZW5kd2llIGF1c3NwdWNrZW4gbGFzc2VuPwoKaW5zYmVzb25kZXJlIGluIGVpbmVtIEthbXBmIGhhYmUgaWNoIGRhdm9uIHNjaG9uIHdhcy4gV2VubiBpY2ggbWljaCBpbSBSTAptaXQgamVtYW5kZW0gcHJ1ZWdlbGUsIG1lcmtlIGljaCBqYSBhdWNoIHNvZm9ydCwgd2llIGVzIG1pciBnZWh0LCB1bmQgbmljaHQKZXJzdCB3ZW5uIGljaCBkYW5hY2ggZnJhZ2UuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFB1bmt0ZSBhdXNzcHVja2VuPyAoQXNtb2RpcywgMzAuIERleiAxOTk2LCAyMDowODo0Myk6Cn4jISBybj1TbXVyZiBydD04NTE5NzE5NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5NzE5NDkKS2xhciwgbG9lcyBkYXMgTmliZWx1bmdlbi1RdWVzdCB1bmQgZHUgYmVrb21tc3QgKGFscyBRdWVzdGJlbG9obnVuZykKZGFzIFRvb2wsIGRhcyBkaXIgZGllc2UgRmFlaGlna2VpdCBnaWJ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFB1bmt0ZSBhdXNzcHVja2VuPyAoU211cmYsIDMwLiBEZXogMTk5NiwgMjA6MTQ6MjQpOgp+IyEgcm49QXNtb2RpcyBydD04NTE5NzI5MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5NzE5NDkKRGFua2VzY2hvZW4uIE51ciBsZWlkZXIgc3RlaHQgZGEgU3R1ZmUgMTIgZGFiZWksIHVuZCBpY2ggaGFiIGVyc3QgNC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU1UTElDSEUgQkVLQU5OVE1BQ0hVTkcgKEhhdGUsIDMwLiBEZXogMTk5NiwgMjI6MTQ6MjcpOgoKCiAgICBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORzogTW9yZ2VuR3JhdWVuIFNwYXJwYWtldCAnOTcKCgogICAgTmljaHQgbnVyIGRpZSBCdW5kZXNyZWdpZXJ1bmcgbXVzcyBpbSBuYWVjaHN0ZW4gSmFociBkaWUgR3VlcnRlbAogICAgZGVyIEJ1ZXJnZXIgIGVuZ2VyIHNjaG5hbGxlbiwgYXVjaCBkYXMgTW9yZ2VuR3JhdWVuIG11c3Mgc3BhcmVuLiAKICAgIERhIGluIGRlciBWZXJnYW5nZW5oZWl0IGRhcyBzb3ppYWxlIEdlZnVlZ2UgdWViZXIgYWxsZSBNYXNzZW4gYmVhbi0KICAgIHNwcnVjaHQgd3VyZGUsIHNpbmQgcmFkaWthbGUgTWFzc25haG1lbiBub3R3ZW5kaWcsIGRpZSBCZXNjaHJhZW5rLQogICAgdW5nZW4gaW4gd2VpdGVuIFRlaWxlbiBkZXMgTW9yZ2VuR3JhdWVuIG1pdCBzaWNoIGZ1ZWhyZW4gd2VyZGVuLiAKICAgIExldmVsLSB1bmQgR2VsZGluZmxhdGlvbiwgUnVlc3R1bmdzd2FobnNpbm4gdW5kIGVpbiB1bnJldGFibGVzIAogICAgR2VzdW5kaGVpdHNzeXN0ZW0gaGFiZW4gZGFzIHNvemlhbGUgR2VmdWVnZSBhbiBkZW4gUmFuZGUgZGVzIEtvbC0KICAgIGxhcHNlcyBnZWZ1ZWhydC4gTnVyIGVpbmUgMTgwIEdyYWQgS2VocnR3ZW5kdW5nIGthbm4gdW5zIG5vY2ggdm9yIAogICAgZGllc2VtIFNjaGlja3NhbCBiZXdhaHJlbi4gQXVzIGRpZXNlbSBHcnVuZCB3ZXJkZW4gbWl0IEJlZ2lubiBkZXMgCiAgICBKYWhyZXMgMTk5NyBzdHVmZW53ZWlzZSBSZWZvcm1lbiBpbiB3ZWl0ZW4gVGVpbGVuIHVuc2VyZXMgTW9yZ2VuLQogICAgR3JhdWVuIGVpbmdlZnVlaHJ0LgoKICAgIERpZXNlciBtZWhyc3R1ZmlnZSBQbGFuIHNpZWh0IGRpZSBmb2xnZW5kZW4gUHVua3RlIHZvcjoKCiAgICAxLiBBbGxnZW1laW5lIEFlbmRlcnVuZ2VuOgoKICAgICAgYSkgSmUgYW5nZWZhbmdlbmUgT24tTGluZS1NaW51dGUgd2VyZGVuIDI0LDk1IE11ZW56ZW4gYmVyZWNobmV0CgogICAgICBiKSBGdWVyIGRpZSBCZWZvZXJkZXJ1bmcgdm9uIEUtTWFpbCB3aXJkIGVpbmUgbWVuZ2VuYmV6b2dlbmUgCiAgICAgICAgIEdlYnVlaHIgZXJob2JlbiAoMTAwIE11ZW56ZW4gLyBrQikKCiAgICAgIGMpIERpZSBBcmNoaXZpZXJ1bmcgLyBTcGVpY2hlcnVuZyB2b24gRS1NYWlsIGltIE11ZCB3aXJkIHF1b3RpZXJ0LgogICAgICAgICAqIEZ1ZXIgU3BpZWxlciB1bmQgU2VoZXIgd2VyZGVuIG1heC4gMSBrQiAvIFNwaWVsZXJsZXZlbCAKICAgICAgICAgICBnZXN0YXR0ZXQuCiAgICAgICAgICogRnVlciBNYWdpZXIgd2lyZCBlaW4gTWF4aW11bSB2b24gMiBrQiAvIE1hZ2llcmxldmVsIGVpbmdlLQogICAgICAgICAgIHJhZXVtdC4gUHJvamVrdGJlem9nZW4ga29lbm5lbiBpbiBBdXNuYWhtZWZhZWxsZW4genVzYWV0ei0KICAgICAgICAgICBsaWNoZSBLb250aW5nZW50ZSBnZW5laG1pZ3Qgd2VyZGVuLgoKICAgICAgZCkgV2FmZmVuLSB1bmQgUnVlc3R1bmdza2xhc3NlbiBtdWVzc2VuIGF1ZiBkaWUgSGFlbGZ0ZSBkZXMgZGVyLQogICAgICAgICB6ZWl0aWdlbiBOaXZlYXVzIHp1c2FtbWVuc2NocnVtcGZlbi4KCiAgICAgIGUpIEFsa29ob2xoYWx0aWdlIEdldHJhZW5rZSB3ZXJkZW4ga3VlbmZ0aWcgYmVzdGV1ZXJ0IHVuZCBkaWUgCiAgICAgICAgIGhlaWxlbmRlIFdpcmt1bmcsIGRhIGhvY2hncmFkaWcgZnJhZ3d1ZXJkaWcsIHdpcmQgd2VnZmFsbGVuLgogICAgICAgICBBbiBTcGllbGVyIHVudGVyIDE4IE9uLUxpbmUtVGFnZW4gZGFyZiBrdWVuZnRpZyBrZWluIEFsa29ob2wKICAgICAgICAgYXVzZ2VzY2hlbmt0IHdlcmRlbi4KCgogICAgMi4gU3BpZWxlci0gLyBzZWhlcmJlem9nZW5lIEFlbmRlcnVuZ2VuOgoKICAgICAgYSkgRGllIEFiZW50ZXVlcnB1bmt0ZSB3ZXJkZW4gdW0gMTAlIGplIGJlc3RhbmRlbmVuIEFiZW50ZXVlcnMgCiAgICAgICAgIGdlc2Vua3QuICBCZXJlaXRzIGdlbG9lc3RlIEFiZW50ZXVlciB3ZXJkZW4gZWJlbmZhbGxzIG1pdCAKICAgICAgICAgZGllc2VtIEZha3RvciBrb3JyaWdpZXJ0LgoKICAgICAgYikgSmUgU3RhdCB3ZXJkZW4gMiBQdW5rdGUgZWluZ2VzcGFydC4gCgogICAgICBjKSBEZXIgSGVpbHVuZ3Nwcm96ZXNzIHdpcmQgamUgbmFjaCBWZXJzaWNoZXJ1bmdza2F0ZWdvcmllIGRlcyAKICAgICAgICAgU3BpZWxlcnMgdW0gZWluZW4gRmFrdG9yIDItNCB2ZXJsYW5nc2FtdC4KCiAgICAgIGQpIERpZSBLcmFua2VudmVyc2ljaGVydW5nIHdpcmQga29zdGVucGZsaWNodGlnIHVuZCBhbiBkZW4gTGV2ZWwKICAgICAgICAgZ2Vrb3BwZWx0LiBIaWVyIGVpbiBBdXN6dWcgYXVzIGRlciBCZWl0cmFnc29yZG51bmc6CgogICAgICAgICAgIEthdGVnb3JpZSAiZGUgTHV4ZSI6CiAgICAgICAgICAgICAzKkxldmVsIE11ZW56ZW4gLyBPbi1MaW5lLU1pbnV0ZSAgIC0+IEhlaWx1bmcgMSBMUCAvIDQgc2VjCgogICAgICAgICAgIEthdGVnb3JpZSAiU3RhbmRhcmQiOgogICAgICAgICAgICAgMipMZXZlbCBNdWVuemVuIC8gT24tTGluZS1NaW51dGUgICAtPiBIZWlsdW5nIDEgTFAgLyA2IHNlYwoKICAgICAgICAgICBLYXRlZ29yaWUgIkVjb25vbXkiOgogICAgICAgICAgICAgMSpMZXZlbCBNdWVuemVuIC8gT24tTGluZS1NaW51dGUgICAtPiBIZWlsdW5nIDEgTFAgLyA4IHNlYwoKICAgICAgICAgRGVyIEJlaXRyaXR0IHp1IGVpbmVyIGRlciBkcmVpIEthdGVnb3JpZW4gaXN0IG9ibGlnYXRvcmlzY2guCgoKICAgIDMuIFNlaGVyYmV6b2dlbmUgQWVuZGVydW5nZW46CgogICAgICBhKSBTZWhlcmhhdXNiZXNjaHJlaWJ1bmdlbiB3ZXJkZW4ga29zdGVucGZsaWNodGlnIHVuZCBxdW90aWVydC4KICAgICAgICAgTmFlaGVyZXMgaGllcnp1IGlzdCBkZW0gRmFsdGJsYXR0ICJSYXRnZWJlciBmdWVyIEVpZ2VuaGVpbS0KICAgICAgICAgYmVzaXR6ZXIiIHp1IGVudG5laG1lbi4KCiAgICAgIGIpIEZ1ZXIgU2VoZXIgd2VyZGVuICJNb25zdGVycmVkdWt0aW9uc2tvbnRpbmdlbnRlIiBhdXNnZWdlYmVuLiAKICAgICAgICAgSGllcmluIHdpcmQgZGV0YWlsbGllcnQgZ2VyZWdlbHQgd2llIHZpZWxlIEV4ZW1wbGFyZSBkZXIgCiAgICAgICAgIHZlcnNjaGllZGVuZW4gTlBDcyBlcmxlZ3Qgd2VyZGVuIGR1ZXJmZW4uIERpZSBLb250aW5nZW50ZSAKICAgICAgICAgd2VyZGVuIGluIEZvcm0gdm9uIG5pY2h0dWViZXJ0cmFnYmFyZW4gQ291cG9ucyBnbGVpY2h2ZXJ0ZWlsdCAKICAgICAgICAgYW4gamVkZW0gMTUuIGVpbmVzIE1vbmF0cyBhdXNnZWdlYmVuLiBEaWUgQ291cG9ucyBtdWVzc2VuIAogICAgICAgICBwZXJzb2VubGljaCB6dSBkZW4gU2NoYWx0ZXJzdHVuZGVuIGFiZ2Vob2x0IHdlcmRlbi4KCiAgICA0LiBNYWdpZXJ3ZXJkdW5nOgoKICAgICAgYSkgWnVyIEVybGFuZ3VuZyBkZXMgR3JhZGVzIGVpbmVzIE1hZ2llcnMgc2luZCBOYWNod2Vpc2UgdWViZXIgCiAgICAgICAgIGRpZSBlbnRzcHJlY2hlbmQgenVtIFplaXRwdW5rdCBkZXIgQWt0aW9uIGZhZWxsaWdlbiBQdW5rdGUgdW5kIAogICAgICAgICBBYmVudGV1ZXIgenUgZXJicmluZ2VuLiBEaWUgTm90d2VuZGlnZW4gRm9ybXVsYXJlIHNpbmQgYmVpIAogICAgICAgICBqZWRlbSBQb3N0YW10IGdlZ2VuIGVpbmUgR2VidWVociBlcmhhZWx0bGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORyAoRmV1ZXJ3ZWhyLCAzMC4gRGV6IDE5OTYsIDIyOjE4OjIzKToKfiMhIHJuPUhhdGUgcnQ9ODUxOTgwNDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CkJSVUVMTCEhISEgOikpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQU1UTElDSEUgQkVLQU5OVE1BQ0hVTkcgKEVuZ3l3dWNrLCAzMC4gRGV6IDE5OTYsIDIyOjIwOjUyKToKfiMhIHJuPUZldWVyd2VociBydD04NTE5ODA3MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5ODA0NjcKU2VpIHZvcnNpY2h0aWcsIGJlaSBIYXRlIHd1ZXJkcyBtaWNoIG5pY2h0IHd1bmRlcm4sIHdlbm4gZXIgZGFzIGVybnN0IG1laW50IDspCk5hamEsIG1ldHplbG4gdHUgaWNoIGhpZXIgamEgZWggbmljaHQuLi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORyAoQXNtb2RpcywgMzAuIERleiAxOTk2LCAyMjoyNjoxMik6Cn4jISBybj1Fbmd5d3VjayBydD04NTE5ODA4NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5ODA0NjcKSGF0ZSBtYWNodCBkb2NoIG5pZSBXaXR6ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORyAoUHJvbG9nLCAzMS4gRGV6IDE5OTYsIDE0OjI1OjQzKToKfiMhIHJuPUFjcmltb24gcnQ9ODUxOTkyNDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CkRhcmF1ZiBnaWJ0IGVzIG51ciBlaW5lIEFudHdvcnQ6IFNUUkVJSyAuLi4KVW5kIGRhbm4ga2FubiBtYW4gZGFydWViZXIgcmVkZW4sIHdhcyBkYXZvbiBTaW5udm9sbCB1bmQgZXZ0bC4gd2lya2xpY2gKZWluZ2VmdWVocnQgd2VyZGVuIHNvbGx0ZSA6LSkKClByb2xvRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChUYW5pcywgMzEuIERleiAxOTk2LCAyMDoyNTo1NCk6Cn4jISBybj1IYXRlIHJ0PTg1MTk4MDQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTk4MDQ2NwpXQUhISEhISCwgaXN0IGRhcyBldWVyIGVybnN0PyAyKm1hZ2xldmVsIGFuIGtiIG1haWw/IHNvbGwgaWNoIGpldHp0IGFsbGUgbWVpbmUKbWFpbHMgbG9lc2NoZW4/IDooIHVuZCB3YXMgc29sbGRhcyBhbmRlcmUgYWxsZXM/IGNvdXBvbnM/IHdpZSB3YWVycyBtaXQgbmVyCmFydCBsaXN0ZSwgd28gbWl0Z2Vsb2dndCB3aXJkLCB3aWV2aWVsIG5wY3MgaWNoIHZvbiBlaW5lciBzb3J0ZSBnZW1ldHplbHQgaGFiCi4uLiB6dW0gYmVpc3BpZWw6IEJhbHJvZzogNSAuLi4gSHlkcmE6IDIwIC4uLgpVbmQgZGllIDI0LDk1IHBybyBvbmxpbmVtaW51dGUgLi4uIGFlaCAuLi4gbXVlc3NlbiB3aXIgZGFubiBhdWNoIG5hY2h6YWhsZW4/CmZ1ZXIgZGFzLCB3YXMgd2lyIHNjaG9uIGhpZXIgd2FyZW4/IHVuZCAuLi4gd2llIHNvbGwgbWFuIHVlYmVyaGF1cHQgbm9jaCBhbgpnZWxkIGtvbW1lbiwgd2VubiBtYW4gbmltbWVyIG1ldHplbG4gZGFyZj8gb2RlciB2ZXJzdGVoIGljaCBnYW56IGFsbGdlbWVpbiB3YXMKZmFsc2NoPyB3YXIgZGFzIG5lbiBqb2tlPwoKVGFuaXMgLi4uIHZvZWxsaWcgYXVmZ2VicmFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGdlbWVpbiAoRmVuZ2lyLCAgMS4gSmFuIDE5OTcsIDAwOjQzOjA1KToKSGFpbGxvZWNoZW4gYWxsZSwKCkljaCB3dWVuc2NoZSBFdWNoIGVpbiBmcm9oZXMgbXVkcmVpY2hlcyBuZXVlcyBKYWhyLgpNb2VnZSBlcyBkaWVzZXMgSmFociBrZWluZSBSZWJvb3RzIG1laHIgZ2ViZW4gOykpCgpGZW5naXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORyAoSmFzcGVyLCAgMi4gSmFuIDE5OTcsIDA5OjM4OjI5KToKfiMhIHJuPUhhdGUgcnQ9ODUxOTgwNDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CmhhdGUgaGF0IHdvaGwgenUgd2VpaG5hY2h0ZW4gZWluZSB0dWV0ZSBodW1vciBnZXNjaGVua3QgYmVrb21tZW4gOikKCkphc3BlciBmcmllcnQgc2ljaCBlaW5lbiBhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChSYWZmaSwgIDIuIEphbiAxOTk3LCAxMTowNTozMSk6Cn4jISBybj1IYXRlIHJ0PTg1MTk4MDQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTk4MDQ2NwpIbW0sIFNvIGdhbnogZnVuenQgZGllIFJlZm9ybSBub2NoIG5pY2h0IChhYmVyIGRhcyBpc3QgamEgYmVpIHNvbGNoZW4KdW50ZXJuZWhtdW5nZW4gZGVyIEhlZXJlc2xlaXR1bmcgbml4IG5ldWVzKS4gRGllIEF1c2dhYmUgZGVyIEJyb3NjaHVlcmVuIHVuZApGb3JtdWxhcmUgYW0gUG9zdHNjaGFsdGVyIGdlaHQgbm9jaCBuaWNodCAhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChRaXRlc3MsICAyLiBKYW4gMTk5NywgMTM6NTM6MzMpOgp+IyEgcm49SGF0ZSBydD04NTE5ODA0Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5ODA0NjcKCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIICAgIC4KClFJIGZhZWxsdCB0b3QgenUgQm9kZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctR3JvZXNzZSAoQm9pbmcsICAzLiBKYW4gMTk5NywgMTU6MjI6MjUpOgpVbSBtYWwgZGllIEdlcnVlY2h0ZSB1bSBkaWUgR3JvZXNzZSBkZXMgTUdzIHp1IGJlZW5kZW4sIGhhYmUgaWNoIG5hY2hnZXNjaGF1dDoKCkRlbiBncm9lc3N0ZW4gQW50ZWlsIG1hY2hlbiBkaWUgVmVyemVpY2huaXNzZSAvcGxheWVycyB1bmQgL2QgYXVzLCBhbHNvIGRpZQpWZXJ6ZWljaG5pc3NlIGluIGRlbmVuIGRpZSBnYW56ZW4gUmFldW1lLCBPYmpla3RlLCBRdWVzdHMsIHNvbnN0aWdlciBLcmVtcGVsCnN0ZWhlbi4gRGFzIHNpbmQgY2EuIDI4MCBNQiwgbWFpbCBzaW5kIGNhLiA5MCBNQiwgbmV3cyB1bmQgbG9nIGpld2VpbHMgMjUgTUIuCm9wZW4gZW50aGFlbHQga25hcHAgNDUgTUIsIHNhdmVmaWxlcyBzaW5kIDUwIE1CLCBzZWN1cmUgMjUgTUIuIERhcyBzaW5kIGpldHp0CndpZXZpZWw/IEFlaCAuLi4gMjgwICsgOTAgLi4uIHVuZCBoaWVyIG5vY2ggNTAgLi4ga3JhdHogLi4uIE5hamEsIDU0MCBNQiBldHdhLgpEYXp1IGtvbW1lbiBkYW5uIG5vY2gga25hcHAgMTAwIE1CIEtsZWlua3JhbS4gCkRhcyBpc3QgamV0enQgd29obGdlbWVya3QgbnVyIGRpZSBNdWRsaWIsIGRhenUga29tbXQgbmF0dWVybGljaCBub2NoIGRlciBHYW1lLQpkcml2ZXIgbWl0IHNvdXJjZW4sIFdXVywgZnRwLCBza3JpcHRlLCBzb25zdGlnZXIgS2Flc2UsIEpvZnMgQmlsZGVyc2FtbWx1bmcKLi4uIGFlaCwgdHNjaHVsZGlndW5nLCBKb2YgOikKClRzY2h1ZXNzLAogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpibG9lZGVyIGZpcmV3YWxsIChFcnNhdHp0b2UsICA0LiBKYW4gMTk5NywgMDE6MDY6MTgpOgpzbmlmZiwgYWxsZSBzaW5kIGluIGtvZWxuIHVuZCB0cmlua2VuIGJpZXI7IG51ciBpY2ggaGFiZSBoaWVyIGluIGVzY2hib3JuCnJ1bXp1c2l0emVuIHVuZCBkYXJmIGNvbGEgdHJpbmtlbi4KdW5kIGRhbm4gc2luZCBoaWVyIGF1Y2ggbm9jaCBhbGxlIGFjY291bnRzIGdlbG9ja2VkLCA6LSkKV2FoaGgsIG51ciBuZXdiaWVzLCBkaWUgamFtbWVybiwgZGFzcyBpaHJlICJlY2h0ZW4iIHBhc3N3b2VydGVyIG5pY2h0IHN0aW1tZW4KKEdSSU5TKS4KQWJlciBpY2ggYmVzY2h3ZXJlIG1pY2ggbmljaHQsIGljaCBoYWJlIGZ1ZXIgbWljaCBqZWRlbmZhbGxzIGRlbiBkaWVuc3RwbGFuCnNlbGJlciB2ZXJib2NrdC4uLiA6LSgoKC4KCihlcnNhdHopIHRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJsb2VkZXIgZmlyZXdhbGwgKEd1bGRha3V0LCAgNC4gSmFuIDE5OTcsIDE4OjE5OjM5KToKfiMhIHJuPUVyc2F0enRvZSBydD04NTIzMzYzNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTIzMzYzNzgKamlwLCB1bmQgbWlyIGdlaGVuIGxhbmdzYW0gZGllIEtvbWJpbmF0aW9uZW4gYXVzLCB3ZWlsIGJlaSBqZWRlbSBFaW5sb2dnZW4gZWluCm5ldWVyIE5hbWUgZmFlbGxpZyB3aXJkLCBkYSBkZXIgYWx0ZSBhdWNoIG5pY2h0IG1laHIgZ2VodCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVudHdpY2tsdW5nIChHYXN0MywgIDQuIEphbiAxOTk3LCAyMjo1MjowNSk6CkhpLAoKd2VyIGltbWVyIGRpZXNlIGtvaXNjaGVuIERhdWVyZnVyeiBnZXByb2dndCBoYXQsIHNvbGx0ZSBkZW4KQ29kZSBub2NoIG1hbCB1ZWJlcnBydWVmZW4sIGlzdCBzY2hsZWNodCwgbWFuIHNpZWh0IHNpY2gKc2VsYmVyIGZ1cnplbiBldGMuIEluIGRpZSBNUEEsIHdlaWwgaWNoIG5pY2h0IHdlaXNzIHZvbiB3ZW0KZGVyIGlzdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW50d2lja2x1bmcgKFNhdGFuYXMsICA1LiBKYW4gMTk5NywgMDQ6NDk6MDgpOgp+IyEgcm49R2FzdDMgcnQ9ODUyNDE0NzI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNDE0NzI1CkFtIEJlc3RlbiBnYW56IGxvZXNjaGVuLCBlcyBpc3QgYWxiZXJuIHVuZCBob2VjaHN0ZW5zIGRlciBNYWdpZXIsCmRlciBlcyB2ZXJib2NrdCBoYXQsIGxhY2h0IHNpY2ggZGFydWViZXIga2FwdXR0LgpFcyBpc3QgZXR3YSBkYXMgVWViZXJmbHVlc3NpZ3N0ZSwgd2FzIG1hbiBpbiBNRyBwcm9nZ2VuIGtvbm50ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhc3N3b3J0cHJvYmxlbWUgKEJvaW5nLCAgNS4gSmFuIDE5OTcsIDE2OjA2OjM0KToKRGllIFByb2JsZW1lIGJlaW0gRWlubG9nZ2VuIGxhZ2VuIHZlcm11dGxpY2ggYW4gZWluZW0gRmVobGVyIGltIApWZXJzY2hsdWVzc2VsdW5nc2FsZ29yaXRobXVzLiBJY2ggaGFiZSBlaW5lbiBhbHRlbiBHYW1lZHJpdmVyIGluc3RhbGxpZXJ0CnVuZCBqZXR6dCBzb2xsdGUgYWxsZXMgd2llZGVyIHdpZSBnZXdvaG50IGZ1bmt0aW9uaWVyZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBTVRMSUNIRSBCRUtBTk5UTUFDSFVORyAoUGF0cnluLCAgNS4gSmFuIDE5OTcsIDIwOjM4OjU3KToKfiMhIHJuPUhhdGUgcnQ9ODUxOTgwNDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CndpcmtsaWNoIHN0YXJrLi4uaWNoIGhhYiBsYW5nZSBuaWNodCBtZWhyIHNvIGdlbGFjaHQsIHdpZSBuYWNoIGRpZXNlbSBhcnRpa2VsCi4uLnNjaGxpY3QgZ2VzYWd0OiBpY2ggYmluIGRhZnVlciA7KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChNb3Jnb3RoLCAgNi4gSmFuIDE5OTcsIDA4OjQ1OjAxKToKfiMhIHJuPUhhdGUgcnQ9ODUxOTgwNDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CklzIGRhIG51IGVpbiB2b3JnZXpvZ2VuZXIgQXByaWxzY2hlcnogb2RlciB3aWUgPwpNLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXIgZGllIFplaXR1bmcgKFFpdGVzcywgIDYuIEphbiAxOTk3LCAxMDozOToxMSk6CgoKCkhvZXBmdGJvZW5ub2VmZgoKCkVpbmUgWmVpdHVuZyBmdWVyIGRpZSBCaWVuZW4sCkRpZSB2b3IgSmFocmVuIHNjaG9uIGVyc2NoaWVuZW4sCktlbm50IG1hbiBndXQgaW4gU3RhZHQgdW5kIExhbmQuCkFiZXIgZGFzcyBkaWUgS3VlY2hlbnNjaGFiZW4KQXVjaCBzY2hvbiBlaW5lIFplaXR1bmcgaGFiZW4sCkRhcyBpc3Qgd2VuaWdlciBiZWthbm50LgpUYWVnbGljaCBsaWVzdCBtYW4gZG9ydApOdXIgZGFzIGVpbmUgV29ydCA6CkhvZXBmdGJvZW5ub2VmZiAhCgpCZWkgZGVuIGR1bW1lbiBLdWVjaGVuc2NoYWJlbgpHaWJ0IGVzIG1hbmNoZW4ga2x1Z2VuIEtuYWJlbiwKRGVyIHZlcnNjaGllZG5lIFNwcmFjaGVuIHNwcmljaHQuCkRhcyBzaW5kIGhvY2hnZXNjaGVpdGUgV2VzZW4sCkFiZXIgc2NocmVpYmVuIG9kZXIgbGVzZW4KS29lbm5lbiBTY2hhYmVuIGxlaWRlciBuaWNodC4KU2NocmVpYmVuIHNpZSB3YXMgaGluLApHaWJ0IGVzIGtlaW5lbiBTaW5uIDoKSG9lcGZ0Ym9lbm5vZWZmICEKCkFscyBkaWUgU2NoYWJlbiBpaHJlIFplaXR1bmcKR3J1ZW5kZXRlbiBtaXQgdmllbCBCZWRldXR1bmcsCkdpbmdlbiBzaWUgenVyIERydWNrZXJlaS4KVW5kIHNpZSBzYWd0ZW46ICdEcnVja3QgdW5zIGhldXRlCkVpbmUgWmVpdHVuZywgbGllYmUgTGV1dGUhCldhcyBpaHIgZHJ1Y2t0IGlzdCBlaW5lcmxlaS4nClNpZSB2ZXJzY2h3YW5kZW4gZGFubi4KVW5kIHNvIGRydWNrdGUgbWFuIDoKSG9lcGZ0Ym9lbm5vZWZmICEKCk5pZW1hbmQgdm9uIGRlbiBLdWVjaGVuc2NoYWJlbiwKV2VsY2hlIGVpbmUgWmVpdHVuZyBoYWJlbiwKS2FubiBzaWUgbGVzZW4gdW5kIHZlcnN0ZWhuLgpUcm90emRlbSBrYXVmZW4gc2llIHNpY2ggQnJpbGxlbiwKVW5kIGRhbm4gdHVuIHNpZSBnYW56IGltIHN0aWxsZW4sCkFscyBzZWkgTGVzZW4gd3VuZGVyc2Nob2VuLgpEb2NoIGluIFdpcmtsaWNoa2VpdApTdGVodCBkb3J0IGdyb3NzIHVuZCBicmVpdCA6CkhvZXBmdGJvZW5ub2VmZiAhCgpXZW5uIGRpZSBCaWVuZW4gb2RlciBNdWVja2VuCkluIGRpZSBTY2hhYmVuemVpdHVuZyBibGlja2VuLApMYWNoZW4gc2llIHNpY2gga3J1bW0gdW5kIHNjaGllZi4KQWJlciB3ZW5uIGRpZSBLdWVjaGVuc2NoYWJlbgpJbiBkZXIgSGFuZCBkaWUgWmVpdHVuZyBoYWJlbiwKRGFubiBiZXd1bmRlcm4gc2llIHNpZSB0aWVmLgpWb2xsIEJld3VuZGVydW5nCkxlc2VuIHNpZSBtaXQgU2Nod3VuZyA6CgpIT0VQRlRCT0VOTk9FRkYgIQoKCmF1czogIE1laW4gVXJncm9zc3ZhdGVyIHVuZCBpY2ggICAgdm9uIEphbWVzIEtydWVzcwoKCkljaCB3b2xsdCBkYXMgaGFsdCBudXIgbWFsIHNvIGFubWVya2VuCgpRSSB3ZWlzcywgZGFzcyBkYXMgaXJnZW5kd2llIGluICdLdWx0dXInIGdlaG9lcnQsIGFiZXIgZGEgbGllc3QgCiAgICAgIGVzIGphIGthdW0gZWluZXIsIHVuZCBkaWUgU2FjaGUgbWl0IGRlciBaZWl0dW5nIGlzdCBoYWx0CiAgICAgIHNlaHIgd2ljaHRpZyA6KQogICAgICAKICAgICAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb2VsbmVyIFRyZWZmZW4gKENhdW5vLCAgNi4gSmFuIDE5OTcsIDEwOjQ0OjU1KToKU28sIGpldHp0LCB3byBzaWNoIGRpZSBlcnN0ZW4gS2FtcGZuZWJlbCBpbiBkZXIgTWFsem11ZWhsZSBnZWxlZ3QgdW5kIGRpZQpsZXR6dGVuIEthdGVyIHZlcnpvZ2VuIGhhYmVuLCBoaWVyIGRhcyAiTG9nZmlsZSIgdm9uIGRlbiBMZXV0ZW4sIGRpZSB2b20KRnJlaXRhZyBhdWZTYW1zdGFnIGluIEtvZWxuIHdhcmVuOgpZYW50cm8sIFRlbGthLCBDYXN0YXdheSwgWmFyZG96IChSKSwgVHJ5ZmFuLCBWZXJlbmEsIFd1cnplbCwgQmVuZGVpZ2lkLApCdXNzZXJsLCBUaGVyaWEsIEFsaW5lLCBQYW1wZXJzLCBGYW50YWJveSwgR3VsRHVrYXQsIFNraXBwZXIsIFlhbm55LCBab3JybywKRmF0aW1hLCBNYXJpZGRhLCBIZXR0YXIsIEJlb3JuLCBUYW5nYWx1ciwgVHdyeCwgRGVrYSAoQXZhbG9uaWVyKSwgS2VsZG9ybiwKVmFuaXIsIE5pcmRhdm8sIENhdU5vLCBOZWZlcnRpcmksIFNlbWlyYSwgRW5neXd1Y2ssIEFsYW5vbiwgQWxtZHVkbGVyLApDcmVhdGl2ZSwgTmljaHRzLCBHcmltbWJvcm4sIFN1bW1lcndpbmQsIEV1bGUsIEJvZWJiZWwsIFRvZXRlciwgRG9scGgsIFplcGh5ciwKUHJhLCBOYXNpbSwgRWxvcmEsIEFyaWVuLCBTdW5mbG93ZXIsIFRlZGR5LCBHYXN0MSwgRXNjdWJhciwgUHlybywgU2lsdmFuYSwKUGFyYWNlbHN1cywgQmVlbHplYnViLCBTbnVnZ2xlLCBFdGFpbiwgRWxsaW9yYSwgQm9CbywgU3Rlcm5lbmZlZSwgSG9tbSwKSmltZGlHcml6LCBTdXNoaSwgRnJ5ZGVyIG1pdCBHYXN0MiwgT2V0dGksIEJsaW5kRGF0ZSB1bmQgSGFmaXMuIAoKWmFlaGxlbiB3aXIgZGllIGJlaWRlbiBLb2ViZXMgbm9jaCBtaXQsIHNvIGhhYmVuIHNpY2ggaW4gZGVyIGtsZWluZW4gTmlzY2hlCmRvcnQgaW5zZ2VzYW10IDcwIExldXRlIGJlZnVuZGVuLiBTb2xsdGUgaWNoIGplbWFuZGVuIHVlYmVyZ2FuZ15IXkheSHNlaGVuCmhhYmVuLCBzbyB0ZWlsZSBlciBtaXIgZGFzIGJpdHRlIG1pdC4gRGllIEZvdG9zIGdlaGVuIGhldXRlIG5vY2ggenVtCmVudHdpY2tlbG4sIGhvZmZlIHNpZSBzaW5kIHdhcyBnZXdvcmRlbi4KCkMuIE5vIGRlciBQaG90b2dyYXBoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWluIG9kZXIgbmljaHQgU2VpbiAoRG9scGgsICA2LiBKYW4gMTk5NywgMTE6MTI6MTIpOgpBbiBhbGxlIE1hZ2llcgoKSWNoIGxvZXNlIG51biBzY2hvbiBzZWl0IGJhbGQgMiBKYWhyZW4gZWluZSBRdWVzdCBuYWNoIGRlciBhbmRlcmVuLgpGcm9oZW4gTXV0ZXMgYmVzdGFuZCBpY2ggbWVpbmUgTGV0enRlIFF1ZXN0ICdTY2h3ZXJ0IGRlciBHbmFkZScuCkxlaWRlciB2ZXJzdGFyYiBpY2ggbmFjaCBrdXJ6ZXIgWmVpdCBhbHMgaWNoIGRhcyBTY2h3ZXJ0IGluIGRlciBIYW5kCmhpZWx0LiAKTmFjaCBkZXIgVG9kZXNzZXF1ZW56IGR1cmZ0ZSBpY2ggd2llZGVyIHRlaWxuZWhtZW4gdW5kIHN0ZWxsdGUgenUgCm1laW5lciBVZWJlcnJhc2NodW5nIGZlc3QsIGRhc3MgaWNoIGRhcyBTY2h3ZXJ0IG5vY2ggYmVzYXNzLiAKSWNoIGdhYiBlcyBhYiB1bmQgYmVzdGFuZCBtZWluZSBMZXR6dGUgUXVlc3QgdW0gU2VoZXIgenUgd2VyZGVuLgpBbHNvIGVpbHRlIGljaCB3aWUgZGVyIEJsaXR6IHp1ciBBYmVudGV1ZXJnaWxkZSB1bmQgZXJob2VodGUgbWljaAphYmVyIHdhcyBzdGVsbHRlIGljaCB6dSBtZWluZXIgVmVyd3VuZGVydW5nIGZlc3Q6CiAgICAgIEljaCBlcmhvZWh0ZSBtZWluZSBTcGllbGVyc3R1ZmUgdm9uIFN0dWZlIDMyIGF1ZiAzMyAhCldhcyB3YXIgcGFzc2llcnQgPwpEdXJjaCBtZWluZW4gVG9kIGJlc2FzcyBpY2ggbnVyIG5vY2ggODAwMDAwIEVyZmFocnVuZ3NwdW5rdGUhCgpBbGxlcyBrZWluIFByb2JsZW0gZGFjaHRlIGljaCB1bmQgd2FuZGVydGUgZnJldWRpZyBtZXR6ZWxuZCBkdXJjaCAKa29tcGxldHRlIExhbmQuIERpZSBub2V0aWdlbiBFcmZhaHJ1bmdzcHVua3RlIHp1IHNhbW1lbG4gd2FyIHdlbmlnZXIKZGFzIFByb2JsZW0uIEljaCBnaW5nIGFsc28gd2llZGVyIGluIGRpZSBHaWxkZSwgdW0gbWljaCB6dSBlcmhvZWhlbiB1bmQKdW0gaW4gbWVpbmVyIFZlcnp3ZWlmbHVuZyBmZXN0enVzdGVsbGVuIGRhc3MgaWNoIHdpZWRlciBrZWluIFNlaGVyIHd1cmRlLgpEaWUgQW50d29ydCBsYXV0ZXRlOgogICAgICAgRElSIEZFSExFTiBCSVMgWlVSIE5BRUNIU1RFTiBTVFVGRSBOT0NIIDg1IFNUVUZFTlBVTktURSAKICAgICAgICAgICAgICAoRGFzIGlzdCBtaXIgZWdhbCwgZGFtaXQga2FubiBpY2ggbGViZW4pCiAgICAgICAgICBEVSBLQU5OU1QgQkVJTSBOQUVDSFNURU4gRVJIT0VIRU4gU0VIRVIgV0VSREVOIAogICAgICAgICAgICAgICAoICogYXJnbCAqIGRhcyBpc3QgZG9jaCBuaWNodCBub3JtYWwpCiAgICAgICAgICAgICAgIApBbHNvIGljaCBmaW5kZSBkaWUgUmVnZWx1bmcsIGRhc3MgamVkZXIgU3BpZWxlciBzaWNoIHVlYmVyIGRpZSBTdHVmZSAxOQplcmhvZWhlbiBrYW5uLCBnYW56IG5ldHQuCldhcnVtIHNhZ3RlIG1pciBrZWluZXIsIGRhc3MgZXMgdG90YWxlciBVbnNpbm4gaXN0LCBzaWNoIGFscyBTcGllbGVyIHp1IAplcmhvZWhlbiwgZGFtaXQgZWluZW0gd2VubiBlcyBkYXJhdWYgYW5rb21tdCwgbWFuIHNpY2ggbmljaHQgenVtIFNlaGVyCmVyaG9laGVuIGthbm4uCkljaCBmaW5kZSBkYXMgc29sbHRlIG1hbiBpcmdlbmR3aWUgYWJhZW5kZXJuIQoKSWNoIGhvZmZlIGRhc3Mgc2ljaCBpcmdlbmRlaW4gRXJ6bWFnaWVyIHNpY2ggbWVpbmVzIFByb2JsZW1zIGFubmltdCB1bmQgCm1pY2ggdm9uIFN0dWZlIDMzIGF1ZiBTdHVmZSAzMiB6dXJ1ZWNrc2V0enQhIEVyem1hZ2llciBkYXJ1bSwgZGEgc2ljaCAKZGllIGFuZGVyZW4gTWFnaWVyIGtlaW5lIFByb2JsZW1lIGVpbmhhbmRlbG4gd29sbHRlbi4KSWNoIG1vZWNodGUgbWl0IGRpZXNlbSBCcmllZiBrZWluZSBEZWJhdHRlIGF1c2xvZXNlbiwgd2llIGljaCA4NSBTdHVmZW4tCnB1bmt0ZSBlcnJlaWNoZS4gZGFzIHdlaXNzIGljaCBzZWxic3QuCgpFaW4gdmVyendlaWZlbG5kZXIgRG9scGggClBTLjogU3BvdHQgdW5kIEdlbGFlY2h0ZXIgaGF0dGUgaWNoIGluIEtvZWxuIGdlbnVnLiBJY2ggZGVua2UgZGFzIGxhbmd0ICEKICAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQU1UTElDSEUgQkVLQU5OVE1BQ0hVTkcgKEtyZXRlaywgIDYuIEphbiAxOTk3LCAxMjo0MTo1Myk6Cn4jISBybj1IYXRlIHJ0PTg1MTk4MDQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTk4MDQ2NwpEdSBzcGlubnN0ISA6LSkKCgogICAgICAgfCAvICB8XCAgfC0tICAtLS0gIHwtLSAgfCAvCiAgICAgICB8PCAgIHwvICB8LSAgICB8ICAgfC0gICB8PAogICAgICAgfCBcICB8XCAgfC0tICAgfCAgIHwtLSAgfCBcCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChDYXJhZGhyYXMsICA2LiBKYW4gMTk5NywgMTI6NDI6MjQpOgp+IyEgcm49S3JldGVrIHJ0PTg1MjU1MDkxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MTk4MDQ2NwpOaWNodCBlciBhbGxlaW4uICpncmlucyBLcmV0ZUsqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprbm9iZWxlaSBmdWVyIHByb2dyYW1taWVyZXIgKFBhdHJ5biwgIDYuIEphbiAxOTk3LCAxMjo0ODozNCk6Cndlbm4gd2VyIGxpc3QgaGF0IG9kZXIgZGllIGxvZXN1bmcgd2Vpc3M6CmljaCBoYWJlIGVpbiAxLWRpbWVuc2lvbmFsZXMgYXJyYXkgbWl0IGVpbmVyIGdyb2Vzc2UgU0laRSwgaW4gZGVtCjItZGltZW5zaW9uYWxlIGRhdGVuIGluIGRlciBmb3JtIE14TiBhYmdlbGVndCBzaW5kLCBkYXMgaGVpc3N0IGFsc28gU0laRT1NKk4KaWNoIG1vZWNodGUgbnVuIGRpZXNlcyBhcnJheSB1bSA5MCBvZGVyIDI3MCBncmFkIGRyZWhlbiwgc29kYXNzIGVpbiBhcnJheQooZGllIGRhdGVuIGRhcmluKSBpbiBkZXIgZm9ybSBOeE0gZXJzY2hlaW5lbgpkaWUgYXVmZ2FiZSBpc3QgZWluZmFjaCwgd2VubiBpY2ggZWluZmFjaCBlaW4gbmV1ZXMgYXJyYXkga3JlaWVyZSB1bmQgZGllCmRhdGVuCmRhbm4ga29waWVyZSwgYWJlciBpY2ggbW9lY2h0ZSBudXIgZHVyY2ggc2ltcGxlIGF1c3RhdXNjaGFrdGlvbmVuIGluIGRlbQplaW5lbSBhcnJheSBkYXMgbmV1ZSBlcmhhbHRlbgoKLS0tLS0tCnBhdHJ5bgoKUFM6IGljaCBrZW5uZSBkaWUgbG9lc3VuZyBsZWlkZXIgbmljaHQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXVyAoS3JlbGxqYSwgIDYuIEphbiAxOTk3LCAxNjozNDozOCk6CklzdCBkYXMgZWlnZW50bGljaCBBYnNpY2h0LCBkYXNzIGRlciBMaW5rIHZvbiBkZXIgSW5mb3JtYXRpdmVzIFNlaXRlIGF1ZiBkaWUKRkFRCmF1ZiBkaWUgU3RhcnRzZWl0ZSBkZXIgTWF0aGVtYXRpayBpbiBNdWVuc3RlciB6ZWlndD8KVHNjaHVlc3MKICAgICAgICAgICAgICBLcmVsbGphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV1dXIChQaWxncmltLCAgNi4gSmFuIDE5OTcsIDE3OjE1OjE3KToKfiMhIHJuPUtyZWxsamEgcnQ9ODUyNTY0ODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNTY0ODc4Ck5vZSwKd2FyIGVzIG5pY2h0IC4uLiAKRGllIEZBUSBsaWVndCBhdWNoIHNjaG9uIHNlaXQgTW9uYXRlbiBuaWNodCBtZWhyIGRhLCB3byBkZXIgTGluayBoaW56ZWlndGUgLi4uCkRvcnQgd2FyIG5vY2ggbm9jaCBlaW4gV2VpdGVyZXIgTGluaywgZGVyIHp1bSBuZXVlbiBTdGFuZHBsYXR6IGRlciBGQVEKZnVlaHJ0ZSAuLi4gZGEgZGllIE1hdGhlIGVpbm4gYXFsbGdlbWVpbmVuLCB1bmtvbnRyb2xsaWVydGVuIHVuZCBudXIKZ2VkdWxkZXRlbiBXV1ctU2VydmljZSBmdWVyIGFsbGUgVXNlciBlaW5nZXN0ZWxsdCBoYXQgLi4uIG51biB3b2hsIGVuZGd1ZWx0aWcKLi4KT0sgLi4uIGRlciBsaW5rIGF1ZiBkZXIgTVVELVNlaXRlIHdpcmQgYWxzIGJhbGQgZ2VhZW5kZXJ0IC4uIGRhbm4gdHV0cyBlcwp3aWVkZXIgLi4uCgoKUGlsZ3JpbQooc29ycnkgLi4uIG1hbCB3aWVkZXIgdm9sbGVyIFR5cG9zIC4uLiBkaWVzZSBBcnRpa2VsIDotKCkKOi0oIDotKCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhZWhsdCBTaWx2YW5hIHp1ciBNaXNzIFZvcmFybGJlcmchIChFc2N1YmFyLCAgNi4gSmFuIDE5OTcsIDE4OjAwOjEyKToKSGksCgpTaWx2YW5hIGJld2lyYnQgc2ljaCB6dXIgTWlzcyBWb3JhcmxiZXJnLCBkYXMgc29sbHRlbiB3aXIgZG9jaCB1bnRlcnN0dWV0emVuCm9kZXI/CkltIE1vbWVudCBpc3Qgc2llIHp3YXIgbm9jaCBsZXR6ZSwgYWJlciBuaWNodCBtZWhyIGxhbmdlIC4uLgoKQWxsZSB1bnRlciB3d3cudm9sLmF0L0NnaS1iaW4vbWlzc2VuLmNnaSBTaWx2YW5hIHdhZWhsZW4hCgpFaXNiYWVyIEVzY3ViYXIKClBTOiBXbyBudXIgZGVyIEJhcnQgc28gc2NobmVsbCBoaW5rYW0gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnp3ZWl0aWVzIChRaXRlc3MsICA3LiBKYW4gMTk5NywgMTQ6MjE6MzcpOgptaXIgZ2Vob2VyZW4gd2VkZXIgZ2F2cmllbCBub2NoIG9vZXJwcnVzIG5vY2ggdGVkZHkgbm9jaCBjYXBpLgoKaWNoIHdvbGx0ZSBkYXMgbnVyIG1hbCBzbyBmZXN0c3RlbGxlbi4KCnFpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPT0VSUFJVUyBNRUlOIExFQkVOIFVORCBXSVJLRU4gKE9vZXJwcnVzLCAgNy4gSmFuIDE5OTcsIDE0OjI3OjI4KToKRGllIE9vZXJwcnVzIC0gU2FnYQoKRGllIE9vZXJwcnVzc2UgbGViZW4gYXVmIGVpbmVyIGVpbnNhbWVuIEluc2VsIE9vZXJwcnVzc2lhICBpbiBpcmdlbmRlaW5lbQpPemVhbi4gU2llIHRlaWxlbiBpaHJlbiBMZWJlbnNyYXVtIGVpbnppZyB1bmQgYWxsZWluIG1pdApIaG5lcm4uIFNpZSBzZWxic3Qgc3RhbW1lbiB2b24gSGhuZXJuIGFiLiBJbiBkZXIgVGF0IHVudGVyc2NoZWlkZW4gc2llIHNpY2gKdm9uIGlobmVuIG51cgpkdXJjaCBlaW4gZWluemlnZXMgR2VuLCBkZW0gT2VyLUdlbiwgd2VsY2hlcyBkZW4gT29lcnBydXNzZW4gZWluZSB2bGxpZyBhbmRlcmUKR2VzdGFsdCBhbHMKSGhuZXJuIHNvd2llIGVpbmUgZ2VyaW5nZmdpZyBoaGVyZSBJbnRlbGxpZ2VueiB2ZXJsZWlodC4gSGluIHVuZCB3aWVkZXIga29tbXQKZXMgdm9yLCBkYSBlaW4KT29lcnBydXMgdm9uIHNlbGJzdCBpbiBlaW4gSHVobiB6dXJja211dGllcnQgKGlzdCBhYmVyIHppZW1saWNoIHNlbHRlbikuIAoKRXMgZ2lidCBlaW4gTWl0dGVsLCBkaWUgTXV0YXRpb24gZWluZXMgT29lcnBydXMgaW4gZWluIEh1aG4ga25zdGxpY2gKYXVzenVsc2VuOiBKZWRlciBLb250YWt0Cm1pdCBlaW5lciBncmVyZW4gTWVuZ2UgSGhuZXJkcmVjayBmaHJ0IHp1IGVpbmVyIGhlZnRpZ2VuIFJlYWt0aW9uLCBkdXJjaCBkaWUKZWluIE9vZXJwcnVzCmF1ZiBkZXIgU3RlbGxlIGluIGVpbiBIdWhuIHp1cmNrbXV0aWVydC4gQmVpIEtvbnRha3QgbWl0IGtsZWluZXJlbiBNZW5nZW4gaXN0CmRpZSBWZXJ3YW5kbHVuZwpuaWNodCB2b2xsc3RuZGlnLCBzbyBkYSBzaWNoIGVpbiBnZXRyb2ZmZW5lciBPb2VycHJ1cyBuYWNoIGVpbmlnZXIgWmVpdCB3aWVkZXIKcmVnZW5lcmllcmVuIGthbm4uCgpBbHMgZGllIE9vZXJwcnVzc2UgZGllcyBoZXJhdXNmYW5kZW4gKHdlZ2VuIGlocmVyIGdlcmluZ2VuIEludGVsbGlnZW56CmJyYXVjaHRlbiBzaWNoIGRhenUKdW5nbGF1YmxpY2ggbGFuZ2UpLCBiZWdhbm5lbiBzaWUsIHNpY2ggZ2VnZW5zZWl0aWcgbWl0IEhobmVyZHJlY2sgenUgYmV3ZXJmZW4KdW5kIHNpY2ggbWl0CmVyc3RhdW5saWNoZW0gRWluZmFsbHNyZWljaHR1bSBXYWZmZW4genUgYmF1ZW4sIGRpZSBsZXR6ZW5kbGljaCBhbGxlIGRhcmF1ZgpiYXNpZXJ0ZW4sIGRlbQpHZWduZXIgZWluZSBMYWR1bmcgSGhuZXJkcmVjayB6dSB2ZXJwYXNzZW4uIFNpZSBnbGF1YnRlbiBubWxpY2gsIGluIGlocmVtCm5jaHN0ZW4gTGViZW4gbWl0CnVtc28gaGhlcmVyIFdhaHJzY2hlaW5saWNoa2VpdCB3aWVkZXIgYWxzIE9vZXJwcnVzIGdlYm9yZW4genUgd2VyZGVuLCBqZSBmdGVyCnNpZSBpbiBpaHJlbQpMZWJlbiBlaW5lbiBhbmRlcmVuIG1pdCBIaG5lcmRyZWNrIGdldHJvZmZlbiBoYXR0ZW4gKHNpZSB3YXJlbiBoYWx0IHppZW1saWNoCmR1bW0pLiAKClNvIHd1cmRlIGRlciBIaG5lcmRyZWNrIHRyb3R6IGRlciB2aWVsZW4gYXVmIGRlciBJbnNlbCBsZWJlbmRlbiBIaG5lcgphbGxtaGxpY2gga25hcHAgdW5kCmplZGVyIE9vZXJwcnVzIHZlcnN1Y2h0ZSwgZGVuIEhobmVyZHJlY2sgc29mb3J0IG5hY2ggc2VpbmVyIEVudHN0ZWh1bmcgenUKdmVyd2VydGVuIChkZXIKSGFja29tYXQgd2FyIGVudHN0YW5kZW4pLiBBbmRlcmUgc2FtbWVsdGVuIGRlbiBEcmVjayB1bmQgdmVya2F1ZnRlbiBpaG4gaW4KRm9ybSB2b24gUmFrZXRlbgp1c3cuIAoKQXVmZ3J1bmQgZGVyIGdlc3RpZWdlbmVuIE11dGF0aW9uZW4gd3VjaHMgZGllIFphaGwgZGVyIEhobmVyIHN0YXJrIGFuIChkaWUKWmFobCBkZXIKT29lcnBydXNzZSBibGllYiBlcnN0YXVubGljaGVyd2Vpc2UgZ2xlaWNoKS4gRXMgd3VyZGUgbnRpZywgZnIgZGllIEhobmVyCnVudGVyaXJkaXNjaGUKU2NobGFmcnVtZSBhbnp1bGVnZW4sIHZvbiBkZW5lbiBzaWUgbWl0dGVscyBlaW5lcyBBdWZ6dWdzIGFtIFRhZ2UgZ3J1cHBlbndlaXNlCm5hY2ggb2JlbgpiZWZyZGVydCB3dXJkZW4sIGRpZXNlIFRlY2huaWsgd2lyZCBiaXMgaGV1dGUgYW5nZXdlbmRldC4gRGVyIEF1Znp1ZyBpc3QKbmF0cmxpY2gga2VpbiBBdWZ6dWcsCndpZSB3aXIgaWhuIGtlbm5lbiAoZGllIE9vZXJwcnVzc2UgaHR0ZW4gc28gZXR3YXMgYWxzIFRldWZlbHN3ZXJrIChiZXJzZXR6dCkKYW5nZXNlaGVuKSwKc29uZGVybiBlaW5mYWNoIGVpbiBTY2hhY2h0LCBpbiBkZW0gZGllIEhobmVyIGVpbnplbG4gbWl0IGVpbmVtIFNlaWwgKGF1cwpTY2hsaW5ncGZsYW56ZW4pCmhpbmF1Zmdlem9nZW4gd3VyZGVuICh3aXJrbGljaCB6aWVtbGljaCBkdW1tLi4uKS4gV2hyZW5kIGRpZXNlcyBWb3JnYW5ncyBmaWVsCm5hdHJsaWNoIGVpbmUKTWVuZ2UgSGhuZXJkcmVjayBhbiwgdW5kIHNvIHd1cmRlIGRpZSBSZWluaWd1bmcgZGVzIEF1Znp1Z3MgZWluZSB1ZXJzdApiZWdlaHJ0ZSBBcmJlaXQsIHVtCmRpZSBzY2hvbiBncm9hcnRpZ2UgS21wZmUgYXVzZ2V0cmFnZW4gd3VyZGVuLiAKClVuZCB1bSBlaW5lbiBkaWVzZXIgS21wZmUgZ2VodCBlcyBhdWNoIGluIGRpZXNlbSBTcGllbC4uLiAKaHR0cDovL3d3dy5oaXR6ZWwuY29tL29vZXJwcnVzL2FubGVpdC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT09FUlBSVVMgTUVJTiBMRUJFTiBVTkQgV0lSS0VOIChXdXJ6ZWwsICA3LiBKYW4gMTk5NywgMTQ6Mjk6NTIpOgp+IyEgcm49T29lcnBydXMgcnQ9ODUyNjQzNjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzNjQ4CnNlbGJzdCBiZWkgYmxvZWRlbiBhcnRpa2VsbiBzb2xsdGUgbWFuIGF1ZiB1bWxhdXRlIHZlcnppY2h0ZW4uLi4gYXVjaCB3ZW5uIGVzIApkYSBuaWNodCBzbyB3aWNodGlnIGlzdC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPT0VSUFJVUyBNRUlOIExFQkVOIFVORCBXSVJLRU4gKFlhbnRybywgIDcuIEphbiAxOTk3LCAxNDozODoyOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODUyNjQzNzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzNjQ4CgpzZWxic3QgYmVpIG9obmUgVW1sYXV0ZSBzb2xsdGUgbWFuIGF1ZiBibG9lZGUgQXJ0aWtlbCB2ZXJ6aWNodGVuLi4uIGF1Y2ggd2VubgptYW4gc2ljaCB3aWNodGlnIG5pbW10LgoKeWFudHJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogendlaXRpZXMgKENhcmFkaHJhcywgIDcuIEphbiAxOTk3LCAxODowNTozOSk6Cn4jISBybj1RaXRlc3MgcnQ9ODUyNjQzMjk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzMjk3ClFpdGVzcyEhICp1bWFybSogRW5kbGljaCBzY2hyZWlidCBtYWwgamVtYW5kIFp3ZWl0aWUgc3RhdHQgWndlaXRpISEhCgogICpmcmV1KiAqaHVlcGYqICp0b2xsIHJ1bXRvbGwqCgogICAgICAgICAgICAgICAgICAgIENhcmFkaHJhcyAtIE1ldGhlZHJhcycgWndlaXRpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6d2VpdGllcyAoU2NobGlwcywgIDcuIEphbiAxOTk3LCAxODoyODo0NSk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODUyNjU2NzM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzMjk3CgpIbW0sIGFsc28gaWNoIHNjaHJlaWIgc2Nob24gaW1tZXIgWndlaXRpZSAtIGRlc3dlZ2VuIG11c3MgaWNoIGluIGRlcgpLbmVpcGUgaW1tZXIgendlaW1hbCBlaW50aXBwZW4sIHdlbm4gaWNoIG1hbCB3aWVkZXIgZGllIFp3ZWl0aWVsaXN0ZSBsZXNlbgptb2VjaHRlIC4uLgoKU2NobGlwcyBzZW5mdCBhdWNoIHJ1bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW5kbGljaCEgKEdhc3QyLCAgOC4gSmFuIDE5OTcsIDE2OjA1OjU1KToKRXMgaXN0IHNvIHdlaXQhCkRlciBncm9zc2UgVGFnIGlzdCBhbmdlYnJvY2hlbiwgZXMgc2VpbiBGcm9obG9ja2VuIGF1ZiBkZW4gU3RyYXNzZW4gdW5kIGRlbgpNZW5zY2hlbiBlaW4gV29obGdlZmFsbGVuOgoKUGFtcGVycyBoYXQgc2ljaCBlbmRsaWNoIHNlbGJzdGdlbG9lc2NodC4KCiJEYXMgd3VyZGUgamEgYXVjaCBsYW5nc2FtIFplaXQiLCB3aXJkIGpldHp0IHNvIG1hbmNoZXIgc2FnZW4uIFVuZCBkYW1pdCBoYXQKZXIgcmVjaHQuCgpOYWNoIG1pbmRlc3RlbnMgZWluZW0gdmVyc2NodXNzZWx0ZW4gU2VtZXN0ZXIsIG1laHJlcmVuIGF1cyBGYXVsaGVpdAp2ZXJzY2h1c3NlbHRlbiBQcnVlZnVuZ2VuIG11c3MgZXIgamV0enQgZWluZSBEaXBsb21hcmJlaXQgc2NocmVpYmVuIC0gRmVpbmUKU2FjaGUgZGFzLiA6LSkKUHJvYmxlbSBhbiBkZXIgU2FjaGUgaXN0IGxlaWRlciBudXIsIGRhc3Mgc28gd2FzIFpFSVQga29zdGV0LiAqZ3J1bW1lbCogVW5kCmRpZSBoYWIgaWNoIG5pY2h0ICpzZXVmeioKSmV0enQgaGFiZSBpY2ggd2llZGVyIFplaXQsIG1laW4gQXNzaSBzY2hhdXQgbWlyIG5pY2h0IGltbWVyIGJvZXNlIHVlYmVyIGRpZQpTY2h1bHRlciB1bmQgdWViZXJoYXVwdCBpc3QgamV0enQgYWxsZXMgZWl0ZWwgU29ubmVuc2NoZWluLiAKClRqYSwgc28gc2llaHRzIGF1cywgdW5kIHRzY2h1ZXNzLCB2aWVsIFNwYXNzLiAKClBhbXBlcnMuIFdpZSBpY2ggbWljaCBrZW5uZSwgYmluIGljaCBlaCBkaWUgZ2FuemUgWmVpdCBhbHMgR2FzdCBoaWVyLi4uIDooCgpQLlMuOiBFbmRsaWNoIGtlaW5lciBtZWhyIGRhLCBkZXIgRGljaCB4ZGVzdHJ1Y3RldCwgRGlkaS4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW5kbGljaCEgKFN1bmZsb3dlciwgIDguIEphbiAxOTk3LCAxNjowNzoxOCk6Cn4jISBybj1HYXN0MiBydD04NTI3MzU5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTI3MzU5NTUKZWluZSBTcGllbGVycGF1c2UgLTEgd2FlcmUgdmllbGxlaWNodCBkb2NoIHJhdHNhbWVyIGdld2VzZW4gUGFtcGVycyA6KQoKClN1bmZsb3dlciwgZnJldXQgc2ljaCB1ZWJlciBkaWUgUnVoZSA6KQoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhbXBlcnMgaXMgd2VnPz8/PyAoS2FydG9mZmVsLCAgOS4gSmFuIDE5OTcsIDE3OjQyOjU2KToKb2NoIG5vZWVlZSwga2VpbmVyIG1laHIgZGVyIG1pY2ggZnJpdHRpZXJ0IHVuZCBtaXQgS2V0Y2h1cCBiZXNjaG1pZXJ0Pz8/CgpLYXJ0b2ZmZWwgKnNjaG5pZWZlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFtcGVycyBpcyB3ZWc/Pz8/IChTdW5mbG93ZXIsICA5LiBKYW4gMTk5NywgMTc6NDY6MDgpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTg1MjgyODE3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MjgyODE3NgpkdSBoYXN0IGRvY2ggbWljaCwKClNjaGFlbGUgS2FydG9mZmVsLCBzY2huZWlkZSBrYXJ0b2ZmZWwgaW4gU2NoZWliZW4sIGxlZ2Ugc2NoZWliZW4gaW4gUGZhbm5lLAptYWNoZSBCcmF0a2FydG9mZmVsKG4pCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYW1wZXJzIGlzIHdlZz8/Pz8gKEhhcmRpbCwgMTAuIEphbiAxOTk3LCAwODoyNTo1Nyk6Cn4jISBybj1TdW5mbG93ZXIgcnQ9ODUyODI4MzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyODI4MTc2CgpXbyBibGVpYnQgZGllIFNBVkVfUEFNUEVSUy0gQWt0aW9uIG1pdCBIb21lcGFnZSA/CkVpbiBTdGFtbXRpc2NoIG9obmUgUGFtcGVycyBpc3QgbnVyIGVpbiBoYWxiZXIgU3Bhc3MhCkVpbiAqKiBvaG5lIFBhbXBlcnMgdmVybGllcnQgZWluZSBzZWluZXIgSGF1cHRhdHRyYWt0aW9uZW4hCgpHdWxEdWthdCwgdWViZXJuZWhtZW4gU2llIQoKU0FWRV9QQU1QRVJTICEKCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYW1wZXJzIGlzIHdlZz8/Pz8gKEFzbW9kaXMsIDEwLiBKYW4gMTk5NywgMDg6Mjg6MjkpOgp+IyEgcm49SGFyZGlsIHJ0PTg1Mjg4MTE1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MjgyODE3NgpQYW1wZXJzIGlzdCBuaWNodCBPZXR0aSA6KQpBdXNzZXJkZW0gbnVldHp0IGRhcyBlaCBuaXgsIHdlbm4gZXIgc2ljaCBzZWxic3QgZ2Vsb2VzY2h0IGhhdCwKaXN0IGViZW4gc2VpbmUgU2FjaGUgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYW1wZXJzIGlzIHdlZz8/Pz8gKEhhcmRpbCwgMTAuIEphbiAxOTk3LCAwODoyODozMyk6Cn4jISBybj1Bc21vZGlzIHJ0PTg1Mjg4MTIxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MjgyODE3NgoKLi4uIGFiZXIgd2VubiBEdSBkaWUgYmVpZGVuIG1hbCB6dXNhbW1lbiBlcmxlYnQgaGFzdCAoYWVoOiBiZWkgRGlyCidoYWV0dGVzdCcpLCBkYW5uIHdlaXNzdCBEdSwgd2FydW0gYXVjaCBlaW5lIFNBVkVfUEFNUEVSUy1Ba3Rpb24gZHJpbmdlbmQKdm9ubm9ldGVuIGlzdC4KCkZ1ZXIgZWluICoqIG1pdCBPZXR0aWxpIFVORCBQYW1wZXJzIQoKU0FWRV9QQU1QRVJTIQoKLUhhcmRpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFtcGVycyBpcyB3ZWc/Pz8/IChXYXJnb24sIDEwLiBKYW4gMTk5NywgMDk6NDM6MDYpOgp+IyEgcm49SGFyZGlsIHJ0PTg1Mjg4MTMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MjgyODE3NgpBbHNvIHdlbm4gc28gZHJ1ZWJlciBuYWNoZGVua2UsIHdhcyBiaXNoZXIgYXVzIGRlbiAiU2VsYnN0bG9lc2NodW5nIHdlZ2VuCm1hbmdlbG5kZXIgUkwtTGVpc3R1bmdlbiItRmFlbGxlbiBnZXdvcmRlbiBpc3QsIHd1ZXJkZSBpY2ggc2FnZW46IFp3ZWkgV29jaGVuLApkYW5uIGlzc2VyIHdpZWRlciBkYS4gOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhbXBlcnMgaXMgd2VnPz8/PyAoQmxvb2R5aGFycnksIDEwLiBKYW4gMTk5NywgMTM6NDg6NDEpOgp+IyEgcm49SGFyZGlsIHJ0PTg1Mjg4MTMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MjgyODE3NgoKSGFjaCwgZGFzIHJ1ZWhydCBtaWNoIGphIHNvIGFtIEhlcnplbi4uLgogICAgICAuLi5pY2ggZ2xhdWJlIGdsZWljaCBsb2VzY2hlIGljaCBtaWNoIGF1Y2guICA6KQoKYmgsIHRyYXVlcnQgYXVjaCBQYW1wZXJzIG5hY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhbXBlcnMgKENhdW5vLCAxMC4gSmFuIDE5OTcsIDE0OjIzOjU2KToKfiMhIG9uPUNhdW5vIG90PTg1MjkwMjYxNyBvZz1hbnplaWdlbgpIbS4gc2VsdHNhbSwgZGFzIG1pdCBkZXIgU2VsYnN0bG9lc2NodW5nLiBBdWYgbWVpbmVuIEZvdG9zIHNpZWh0IGVyIG5vY2ggZ2FyCm5pY2h0IHNlbGJzdGxvZXNjaGdlZmFlaHJkZXQgYXVzLiBXYXMgc29sbCBpY2ggamV0enQgZGFtaXQgbWFjaGVuPwoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFydGlrZWwgKE9ldHRpLCAxMC4gSmFuIDE5OTcsIDE5OjE2OjU3KToKV2FoaGhoaGhoaGhoaGhoaGggISEhCgpQYW1wZXJzIER1IEV4LUlESU9ULCBkYXMgd2FlcmUgbmUgTWFnaWVyLVNoZWxsIG9obmUgdmllbCBBdWZ3YW5kIGZ1ZXIgbWljaCB6dW0KU2NoZWlzc2UgYmF1ZW4gZ2V3ZXNlbiB1bmRlIGRlciBsb2VzY2h0IHNpY2gsIEFISEhISEhISEhISEgKClpBUFBUIElITiwgQkFOSVNIRUQgSUhOICEgIEFlaGhoLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChTY2hydW1wZmksIDEyLiBKYW4gMTk5NywgMTA6MzY6NTEpOgp+IyEgcm49SGF0ZSBydD04NTE5ODA0Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTE5ODA0NjcKU2VociBndXQhIElzdCBqYSBzY2hvbiBsYW5nZSB1ZWJlcmZhZWxsaWcgaGllci4gClNjaHJ1bXBmaSBzaXR6dCBtaXQgbmVyIFppZ2FycmUsIENoYW1wdXMgdW5kIEthdmlhciB2b3IgaWhyZW0gQ29tcHV0ZXIgdW5kCnJ1ZnQgenVtIHNwYXJlbiBhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFNVExJQ0hFIEJFS0FOTlRNQUNIVU5HIChTY2hydW1wZmksIDEyLiBKYW4gMTk5NywgMTA6Mzg6MDYpOgp+IyEgcm49VGFuaXMgcnQ9ODUyMDYwMzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUxOTgwNDY3CkphIHdhcyBnbGF1YnN0IER1IGRlbm4/IEdsYXVic3QgRHUgSGF0ZSBpc3QgenVtIHNjaGVyemVuIGhpZXI/ClMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogendlaXRpZXMgKFRlZGR5LCAxNC4gSmFuIDE5OTcsIDExOjI1OjMzKToKfiMhIHJuPVFpdGVzcyBydD04NTI2NDMyOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTI2NDMyOTcKRGEgbW9lY2h0ZSBpY2ggYXVmcyBlbnRzY2hpZWRlbnN0ZSB1bnRlcnN0dWV0emVuLCBJQ0ggYmluIFRlZGR5IHVuZCBrZWluIHgtdGllCnZvbiBpcmdlbmR3ZW0hISEKQW4gUWl0ZXNzIG5vY2htYWw6IEljaCBiaW4gYXVjaCBrZWluIFNrcmlwdCEKV2VyIGFuIG1laW5lciBFeGlzdGVueiB6d2VpZmVsdCwgbW9lZ2UgU3VuZmxvd2VyLCBBbG1kdWRsZXIsIFlhbnRybywgWmVwaHlyLApQeXJvIG9kZXIgc29uc3QgaXJnZW5kd2VuIHZvbSBTdGFtbXRpc2NoIGluIEtvZWxuIGZyYWdlbiBiencuIHNpY2ggZGllIEZvdG9zCnZvbiBDYXVObyBhbnNlaGVuIQpEYXMgZ3Jvc3NlLCB1bmRldXRsaWNoZSBFdHdhcywgYmluIGljaCEhIQoKRWluIHppZW1saWNoIHN0aW5raWdlciBUZWRkeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogendlaXRpZXMgKFFpdGVzcywgMTQuIEphbiAxOTk3LCAxNDoxMDoyMCk6Cn4jISBybj1UZWRkeSBydD04NTMyMzc1MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTI2NDMyOTcKbWVuc2NoLCB0ZWRkeSwgaWNoIHdlaXNzIGRvY2ggLCB3ZXIgZHUgYmlzdCA6KQoKcWkgaGF0IGFiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogendlaXRpZXMgKFN1bmZsb3dlciwgMTQuIEphbiAxOTk3LCAxNDoxMjo1Nyk6Cn4jISBybj1RaXRlc3MgcnQ9ODUzMjQ3NDIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzMjk3CkVpZ2VudGxpY2ggc29sbHRlIGVyIGRhcyB3aXNzZW4sIG1pciBoYXQgZXIgamEgYXVjaCBlcnphZWhsdCBkYXMgZHUgaW4ga2VubnN0ClFpdGVzcy4gQWJlciBpY2gga2FubiBhdWNoIGJlemV1Z2VuIGRhcyBUZWRkeSBuaWNodCBzY3JpcHRldC4gKGRlciB3ZWlzcwpqYSBuaWNodCBlaW5tYWwgd2llIGRhcyBnZXNjaHJpZWJlbiB3aXJkKQoKClN1bmZsb3dlciwgaXN0IGR1bW0gdW5kIGhhdCBrZWluIGFiaSAoaGF0IHNpZSB1ZWJlcmhhdXB0IG1pdHRsZXJlIHJlaWZlID8pCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogendlaXRpZXMgKFRlZGR5LCAxNC4gSmFuIDE5OTcsIDE1OjAxOjIwKToKfiMhIHJuPVFpdGVzcyBydD04NTMyNDc0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTI2NDMyOTcKCkljaCB3ZWlzcywgZGFzcyBkdSBlcyB3ZWlzc3QsIGFiZXIgZXMgbmVydnQgaGFsdCB0cm90emRlbSB1bmQgZGFoZXIgcGFzc3RlIGVzCmdhbnogZ3V0LgoKVGVkZHkgaGF0IGF1Y2ggYWJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogendlaXRpZXMgKFRlZGR5LCAxNC4gSmFuIDE5OTcsIDE1OjQ0OjI1KToKfiMhIHJuPVN1bmZsb3dlciBydD04NTMyNDc1Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTI2NDMyOTcKCkhtLCBkYXMgbWl0IGRlbSBhYmkgd2FyIGVpZ2VudGxpY2ggZWluIEluc2lkZXIgU3VubmkuCkF1c3NlcmRlbSB3ZWlzcyBpY2ggZ2VuYXUsIHdpZSBtYW4gU2Noa3JpZnRlbiBzY2hyZWlidCEgOygKVWVicmlnZW5zIGtvZW5udGUgaWNoIHVlYmVyIGRpY2ggYXVjaCBzbyBlaW5pZ2VzIGJlemV1Z2VuLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHp3ZWl0aWVzIChRaXRlc3MsIDE0LiBKYW4gMTk5NywgMTU6NDU6MzkpOgp+IyEgcm49VGVkZHkgcnQ9ODUzMjUzMDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUyNjQzMjk3CmRhbm4gYmV6ZXVnIG1hbC4gd2lyIHNpbmQgYWxsZSBnYW56IG9oci4uLgoKcWkgKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3J1bW1lbCAoQWxwaGEsIDE0LiBKYW4gMTk5NywgMTY6MDQ6NTEpOgpXYXJ1bT8KRGEgbG9nZ3QgbWFuIHNpY2ggZnJpZWRsaWNoIHVuZCB2b2VsbGlnIGdlc3VuZCBpbSBLYW5pYmFsZW5kb3JmIHN0ZWhlbmQKYXVzKHdlaWwgaGFsdCBuZSBWb3JsZXN1bmcgcnVmdCkuIEtvbW10IGRhbm4gc3BhZXRlciB3aWVkZXIgcmVpbiB1bmQgbXVzcwpmZXN0c3RlbGxlbiBkYXNzIG1hbiBpbnp3aXNjaGVuIGdlc3RvcmJlbiBpc3QoaWNoIHdlaXNzIGltbWVyIG5vY2ggbmljaHQgd2FydW0KLSB1bmQgYmlzIGpldHp0IGdsYXVidGUgaWNoIGRhc3MgaWNoLCB3ZW5uIGljaCBhdXNnZWxvZ2d0IGJpbiBuaWNodCBzdGVyYmVuCmthbm4gLSBuYWphKSB1bmQgbm9jaCBpbW1lciBpbSBLYW5pYmFsZW5kb3JmIHJ1bXN0ZWh0LiBNZWluIEtyYW1zIGlzdAppbnp3aXNjaGVuIHdlY2guIEVnYWwuIFdlaWwgaWNoIG51IGdhcmtlaW5lIEx1c3QgbWVociBoYWJlIG1pY2ggZHVyY2ggZGVuCkRzY2h1bmdlbCBuYWNoIEhhdXNlIHp1IHN1Y2hlbiB0aXBwZSBpY2ggRW5kZSBlaW4uIE5ldWVzIEVpbmxvZ2dlbi4gV2FydW0gbXVzcwppY2ggZGllc2UgZG9vZmUgVG9kZXNzZXF1ZW56IEpFVFpUIHVlYmVyIG1pY2ggZXJnZWhlbiBsYXNzZW4gKG5hY2ggZGVtIHp3ZWl0ZW4KRWlubG9nZ2VuISkuIFNvLiBXZW5uIGljaCBzY2hvbiBzdGVyYmUgd2lsbCB3ZW5pZ3N0ZW5zIGtlaW5lIFRvZGVzc2VxdWVueiBtZWhyCnNlaGVuIC0gaWNoIGtlbm4gc2llIGFsbGUgLSBkZW5rZSBpY2guIEthbm4gbWFuIGRhcyBuaWNodCAoenVtaW5kZXN0IGF1ZgpXdW5zY2gpIGFiYmVzdGVsbGVuPyBBbHBoYSBoYXNzdCBUb2Rlc3NlcXVlbnplbi4gR3V0ZSBOYWNodCBmdWVyIEhldXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdydW1tZWwgKEdyaW1tYm9ybiwgMTQuIEphbiAxOTk3LCAxNzo0NzoyMyk6Cn4jISBybj1BbHBoYSBydD04NTMyNTQyOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTMyNTQyOTEKLSBFcyBnYWIgd29obCBnZXdpc3NlIGJ1Z3MgaW0gWnVzYW1tZW5oYW5nIG1pdCBkZXIgVGF0c2FjaGUsIGRhc3MgbWFuIGJlaW0KICBhdXNsb2dnZW4gbmljaHQgc3RlcmJlbiBrb25udGUuIFp1bWluZGVzdCBkaXNrdXRpZXJ0IHd1cmRlIHVlYmVyIGRpZQogIE1vZWdsaWNoa2VpdCwgZGFzIGFienVzY2hhZmZlbi4gS2VpbmUgQWhudW5nIHdpZSBkaWUgTGFnZSBkYXp1IGF1c3NpZWh0Li4uCi0gRGllIFRvZGVzc2VxdWVueiBzb2xsdGVzdCBEdSBiZWltIGVyc3RtYWxpZ2VuICh0b3RlbikgZWlubG9nZ2VuIGdlc2VoZW4KICBoYWJlbiwgd2VubiBEdSBEaWNoIG5pY2h0IG1pdHRlbiBpbiBkZXIgVG9kZXNzZXF1ZW56IGF1c2dlbG9nZ3QgaGFzdCwgZGFubgogIHNvbGx0ZXN0IER1IGF1Y2gga2VpbmUgd2VpdGVyZSBnZXNlaGVuIGhhYmVuLiBXZW5uIGRvY2ggLT4gc29sbGVuIHNpY2ggZG9jaAogIGRpZSBFTSBtaXQgcnVtc2NobGFnZW4uLi4KLSBOZWluLCBlcyBnaWJ0IGtlaW5lIE1vZWdsaWNoa2VpdCBrZWluZSBUb2Rlc3NlcXVlbnogenUgYmVrb21tZW4gdW5kIGVzIHdpcmQgCiAgYXVjaCBrZWluZSBnZWJlbi4gRGFzIGlzdCBiaXMgenVtIEVyYnJlY2hlbiBkaXNrdXRpZXJ0IHdvcmRlbiB1bmQgaWNoCmdsYXViZQogIGthdW0sIGRhc3MgRHUgdm9lbGxpZyBuZXVlIEFyZ3VtZW50ZSBpbnMgRmVsZCBmdWVocmVuIGthbm5zdC4gRGVyIFRvZCAKICBnZWhvZXJ0IHp1bSBTcGllbCB1bmQgZGFtaXQgZGllIFNlcXVlbnplbiBhdWNoLiBQdW5rdC4KLSBEZXMgd2VpdGVyZW4gZ2lidCBlcyBkdXJjaGF1cyBlaW4gcGFhciBzY2hvZW5lIFNlcXVlbnplbi4gSGFzdCBEdSBEaXIgbWFsCiAgZGllIE11ZWhlIGdlbWFjaHQgc2llIHp1IExFU0VOPyBadSB2ZXJzdWNoZW4sIGRpY2ggdm9uIGRlciBTdGltbXVuZyBkZXIKICBTZXF1ZW56ZW4gYW5zdGVja2VuIHp1IGxhc3Nlbj8gRWluaWdlIHNpbmQgZGEgd2lya2xpY2gga2xhc3NlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3J1bW1lbCAoQW5hdG9sLCAxNC4gSmFuIDE5OTcsIDE4OjM5OjA1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTMyNjA0NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTMyNTQyOTEKCldpZGVyc3BydWNoLCB6dW1pbmRlc3QgdGVpbHdlaXNlLgoKLSBKYSwgbWFuIEtBTk4gYWxzIE5ldHp0b3RlciBzdGVyYmVuLCBhYmVyIG51ciBkdXJjaCBlaW5lbiBkaXJla3RlbiBUb2QuIAogIERpZSBLYW5uaWJhbGVuIHNjaG5laWRlbiBEaXIgaGFsdCBkaWUgS2VobGUgZHVyY2ggKEJlaXNwaWVsIDstKSB1bmQKICBkYXMgemllaHQgaGFsdCAtIGltIEdlZ2Vuc2F0eiB6dSBlaW5lbSBLYW1wZiAtIGtlaW5lIExQcyBhYiwgc29uZGVybiAKICB2ZXJ1cnNhY2h0IGRlbiBUb2Qgb2huZSBVbXdlZ2UuCgotIE9oLCBtYW4gS0FOTiB1bSBkaWUgVG9kZXNzZXF1ZW56IGhlcnVta29tbWVuLiBhKSBTdGVyYmVuIHVuZCBzb2ZvcnQgCiAgZGlzY29ubmVjdGVuLiBOYWNoIDUgTWludXRlbiB3aWVkZXIgZWlubG9nZ2VuIHVuZCBtYW4gc3RlaHQgaW4gZGVyCiAgS2FwZWxsZS4gU2lubnZvbGw/IE5hLCBpY2ggd2Vpc3MgbmljaHQgOy0pIGIpIE9oLCBpY2gga2FubnRlIGJpc2hlciAyIAogIFN0ZWxsZW4sIGFuIGRlbmVuIG1hbiBvaG5lIFNlcXVlbnogc3RlcmJlbiAoUklDSFRJRyBzdGVyYmVuKSBrb25udGUuIEFiZXIKICBzaW5udm9sbD8gU2llaGUgYSkuCgpBYmVyIGVzIHN0aW1tdCwgZXMgZ2lidCBoaWVyIHJpY2h0aWcgd2l0emlnZSBUb2Rlc3NlcXVlbnplbiA6KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcnVtbWVsIChBc21vZGlzLCAxNC4gSmFuIDE5OTcsIDE5OjA3OjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTMyNjA0NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTMyNTQyOTEKRXMgZ2lidCBnZXdpc3NlIFN0ZWxsZW4sIGFuIGRlbmVuIG1hbiBhdWNoIG5hY2ggc2NobGFmZSBlaW4gc3RlcmJlbgprYW5uLCBkYXMgS2FubmliYWxlbmRvcmYgaXN0IGVpbmUgZGF2b24uCkFuc29uc3RlbiBnaWx0IGRpZSBSZWdlbHVuZywgZGFzcyBtYW4gbmV0enRvdCBuaWNodCBzdGVyYmVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWJ1cnRzYW56ZWlnZSAoU2x5Zm94LCAxNC4gSmFuIDE5OTcsIDIxOjUwOjAwKToKQW0gOS4xLjE5OTYgaGFiZW4gZGFzIExpY2h0IGRlciBXZWx0IGVyYmxpY2t0OgoKTW9yZm94ICgyMzk2IGcsIDE4MCBjbSkgdW5kIFNseXJlbGxhICgyMzA0IGcsIDE3NyBjbSkKCkVzIGZyZXVlbiBzaWNoIGRlciBWYXRlciBTbHlmb3ggKHN0b2x6KSB1bmQgTXV0dGVyIE1vcmVsbGEgKGF1Y2ggZ2FueiBTdG9seikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VidXJ0c2FuemVpZ2UgKFNjaGxpcHMsIDE1LiBKYW4gMTk5NywgMDk6MTg6MTApOgp+IyEgcm49U2x5Zm94IHJ0PTg1MzI3NTAwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzI3NTAwMAoKSmEsIGRhbm4ga2FubiBtYW4gZGFzIHN0b2x6ZSBQYWFyIG51ciBiZWdsdWVja3d1ZW5zY2hlbi4KVW5kIGRlbSBad2lsbGluZ3NwYWFyIGFsbGVzIEd1dGUuCgpTY2hsaXBzLCBkZXIgc2ljaCBudXIgdWViZXIgZGllIEdyb2Vzc2VuIGRlciBSaWVzZW5iYWJpZXMgKGluIFJlbGF0aW9uCnp1bSBHZXdpY2h0KSB3dW5kZXJ0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdydW1tZWwgKEFscGhhLCAxNS4gSmFuIDE5OTcsIDEyOjEwOjU1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTMyNjA0NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTMyNTQyOTEKVHV0IG1pciBqYSBmdWVyY2h0ZXJsaWNoIGxlaWQsIGRhcyBpY2ggZWluIG5vY2ggcmVjaHQganVuZ2VyIFNwaWVsZXIgYmluIHVucwpzb21pdCBldHdhaWdlIERpc2t1c3Npb25lbiB1ZWJlciBUb2Rlc3NlcXVlbnplbih1bmQgZGFtaXQgYXVjaCBhbGxlCmludGVsbGVnZW50ZW4gdW5kIHp3aW5nZW5kZW4gQXJndW1lbnRlIGRhZnVlcikgdmVycGFzc3QgaGFiZS4gRGVtIGlzdCBoYWx0CmVpbm1hbCBzbyAtIHVuZCBpY2ggbXVzcyBkYXMgYWt6ZXB0aWVyZW4uIFdlbm4gZXMgZGVubiBudW4gVG9kZXNzZXF1ZW56ZW4KZ2lidChpY2ggaGFiZSBzaWUgd2lya2xpY2ggYWxsZSBkdXJjaGdlbGVzZW4gLSBiZWltIGVyc3RlbiBNYWwgd2FyZW4gc2llIGF1Y2gKaW50ZXJlc3NhbnQgLSBoaW4gdW5kIHdpZWRlcikgYWJlciBiZWkgZGVyIHgtdGVuIFdpZWRlcmhvbHVuZyBvZWRldHMgbWljaCBudXIKbm9jaCBhbiwga29lbm50ZSBtYW4gZGFubix3YWVocmVuZCBtYW4gdG90IGlzdCwgbmljaHQgd2VuaWdzdGVucyB3YXMKVmVybnVlbmZ0aWdlcyB0dW4/IFNvIHp1bSBCZWlzcGllbCB3dWVyZGUgaWNoIGdlcm5lIFplaXR1bmcgbGVzZW4gb2RlciBtaXQKYW5kZXJlbiBTcGllbGVybiBxdWF0c2NoZW4gLSBhYmVyICJkZWluIEtvZXJwZXIgZ2Vob3JjaHQgZGlyIG5pY2h0Ii4KR3J1bW1lbE11cmtzLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdydW1tZWwgKFJhZmZpLCAxNS4gSmFuIDE5OTcsIDEyOjI4OjU2KToKfiMhIHJuPUFscGhhIHJ0PTg1MzMyNjY1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzI1NDI5MQoKVmllbGVpY2h0IGlzdCBkZXIgVG9kIG9lZGUgdW5kIHVuaW50ZXJlc3NhbnQgdW5kIGxhZXNzdCBrZWluZW4gUGxhdHoKZXR3YXMgJ3Zlcm51ZW5mdGlnZXMnIHp1IHR1biA/CgpHcnVzcwpILiAoSGF0IGtlaW4gYWJpLCBhYmVyIGVpbiBndXRlcyBhbGliaSBkYWZ1ZXIpCgpQLlMuOiBFcyBrb21tZW4gdWVicmlnZW5zIGltbWVyIGF1Y2ggbWFsIG5ldWUgc2VxdWVuemVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcnVtbWVsIChTaGl2YSwgMTUuIEphbiAxOTk3LCAxMjozOTowNyk6Cn4jISBybj1BbHBoYSBydD04NTMzMjY2NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTMyNTQyOTEKQWxzbyBiZWkgMzIgVG9kZW4gaXN0IGRpZSBDaGFuY2UgemllbWxpY2ggZ2VyaW5nLCBkYXNzIER1IHNjaG9uIGFsbGUKVG9kZXNzZXF1ZW56ZW4gZXJsZWJ0IGhhc3QuLnNlaSBhbHNvIGdlc3Bhbm50LCBvYiBEdSAnbmUgbmV1ZSBrcmllZ3N0IHVuZAp2aWVsbGVpY2h0IGlzdHMgbmUgZ3V0Z2VtYWNodGUuCgpVbmQgZGVyIFRvZCBpc3QgamEgbnVuIGkuYS4gc2Nob24gbmUgemllbWxpY2hlIGVybnN0ZSBTYWNoZS4uKHdlbm4gYXVjaCBkdXJjaApkYXMgbmV1ZSBCZXdlcnR1bmdzc3lzdGVtIGluIHNlaW5lbiBLb25zZXF1ZW56ZW4gYmVyZWl0cyBkZXV0bGljaCBnZW1pbGRlcnQpCi5pbnNvZmVybiBpc3QgZWluZSBFaW5nYWJlc3BlcnJlIGZ1ZXIgZWluIHBhYXIgTWludXRlbiwgdW0gc2ljaCBkaWVzZXMKRXJlaWduaXMgZXR3YXMgenUgdmVyZ2VnZW53YWVydGlnZW4sIGphIHdpcmtsaWNoIGVpbmUgKGVoZXIgenUpIG1pbGRlClVudGVyYnJlY2h1bmcgZGVzIFNwaWVscy4KVW5kIGVpbiBwYWFyIE1pbnRlbiBvaG5lIEJlcmllc2VsdW5nIGR1cmNoIE1QQSBvZGVyIENoYXR0ZW4gc29sbHRlIGplZGUvcgp1ZWJlcnN0ZWhlbiBrb2VubmVuLgoKSW4gbWFuY2hlbiBNdWRzIHdpcmQgRGVpbiBDaGFyYWt0ZXIgbmFjaCBlaW5yZSBnZXdpc3NlbiBBbnphaGwgdm9uIFRvZGVuCmdlbG9lc2NodC4uZGEgc2NoYXVzdCBEdSBEaXIgamVkZSBTZXVxZW56IGFuLi51bmQgaG9mZnN0LCBlcyB3YXIgbmljaHQgZGllCmxldHp0ZS4uLi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaXZhLCBzdGlyYnQgdHJvdHpkZW0KbmljaHQgZ2VybmUuLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpdmEsIHN0aXJidCB0cm90emRlbQpuaWNodCBnZXJuZS4uLi4uLgoKUC5TLiBkYXMgZWluemlnZSwgd2FzIGluIG5lciBUb2Rlc3NlcXVlbnogdmllbGxlaWNodCBub2NoIG1vZWdsaWNoIHNlaW4Kc29sbHRlLCBpc3QgJ3R5cG8nLi5kYXZvbiBnaWJ0cyBkb3J0IG5hZW1saWNoIG5vY2ggZWluaWdlIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3J1bW1lbCAoWWFudHJvLCAxNS4gSmFuIDE5OTcsIDEyOjQxOjIyKToKfiMhIHJuPVNoaXZhIHJ0PTg1MzMyODM0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzI1NDI5MQpUeXBvcyBpbiBkZW4gdG9kZXNzZXF1ZW5jZW4gc2luZCBiaXR0ZSBwZXIgTWFpbCBhbiAiZXJ6bWFnaWVyIiB6dSBzY2hpY2tlbiA6KQoKVmllbGxlaWNodCBzb2xsdGUgYWJlciBhdWNoIGVpbmdlZnVlaHJ0IHdlcmRlbiwgZGFzcyBkZXIgQXV0b3IgZGVyIFNlcXVlbnoKc2ljaCBpcmdlbmR3byBtaXQgZWluZW0gKGMpIGVpbmJhdWVuIG11c3MgOikKCllhbnRybzopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcnVtbWVsIChBdG96LCAxNS4gSmFuIDE5OTcsIDEzOjU0OjM3KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODUzMjY1Mjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzMjU0MjkxClRqYSwgaWNoIGhpZmZlLCBkYXNzIGRpZSBTcGlubmUgaW4gTW9yb24gZGF6dWdlaG9lcnQsIGRlbm4gZGEgaXN0IG1pciBkc2FzCmxldHp0ZW5zIHRyb3R6IHZvcnNpY2h0IDgwIHVuZCBGbHVodHJpY2h0dW5nIGtsZXR0ZXIgZHVyY2ggT2VmZm51bmcKZ2VzdG9yYmVuLi4uCgpBYmVyIGRhIG1laW5lIEtvaGxlIGRhIHdhciwgd2FyIG1pciBkYXMgYXVjaCBlZ2FsLCBpY2ggaWRsZSBqYSBlaCBudXIgbm9jaCwKc29sYW5nZSBtZWluIEtsZWluZXIgdHJhaW5pZXJ0Li4uClRzY2hhdSBBdG96LCBkZXIgTmVydmtvcHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFlbmRlcnVuZyBkZXIgVmVyZWluc2FkcmVzc2UhIChWaXBlciwgMTUuIEphbiAxOTk3LCAyMDoxNDowNCk6CkhhbGxvLApkaWVzZXIgQXJ0aWtlbCB3YXIgbGFlbmdzdCB1ZWJlcmZhZWxsaWcsIGFiZXIgbnVuIHNvbGwgZXMgZW5kbGljaCBnZXNjaGVoZW4uCgpGdWVyIGFsbGUsIGRpZSBzaWNoIGFuIGRlbiBNb3JnZW5HcmF1ZW4gVmVyZWluIHdlbmRlbiB3b2xsZW4sIGdpbHQgYWIKc29mb3J0IGZvbGdlbmRlczoKCkRpZSBvZmZpemllbGxlIEFkcmVzc2UgbGF1dGV0OgoKQ2hyaXN0aWFuIFNjaGlsZApXaWxoZWxtc3RyLiAxNgo0ODE0OSBNdWVuc3RlcgoKV2VubiBJaHIgRXVjaCBkaXJla3QgYW4gZGVuIFNjaHJpZnRmdWVocmVyIChWaXBlcikgd2VuZGVuIHdvbGx0LCBzbwpzY2hyZWlidCBhbjoKCkthcmwtSGVpbnogQm9zYXdlCktsYXVzaGVpZGVyIFN0ci4gMjQKMzMxMDYgUGFkZXJib3JuCgpWb3IgYWxsZW0gQW5tZWxkdW5nZW4gc2luZCBhdWNoIHVudGVyIGRlciBsZXR6dGVuIEFkcmVzc2UgaGVyemxpY2ggd2lsbGtvbW1lbi4KClRzY2h1ZXNzLCBiaXMgZGFubgoKVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsaS1CZWl0cmFjaCAzLjAgKFJpbmdvciwgMTUuIEphbiAxOTk3LCAyMTo1NDozOSk6CkhpZXIgZWluIEFydGlrZWwgdm9uIE1hcml0YSwgZGllIGxlaWRlciBrZWluIGZ1bmt0aW9uaWVyZW5kZXMgQ3V0JlBhc3RlIGhhdDoKCkhpIGFsbGUsCgpNZWluIHZlcmdhbmdlbmVyIEFsaS1CZWl0cmFjaCBpc3QgamV0enQgc2Nob24gOSBNb25hdGUgaGVyLCBkZXNoYWxiIG1hbCBlaW4KVXBkYXRlLiBFaW4gcGFhciBTYWNoZW4gc2luZCBoaW56dWdla29tbWVuLiBGdWVyIGFsbGUsIGRpZSBkYW1hbHMgbm9jaCBuaWNodApoaWVyIHdhcmVuLCBwb3N0ZSBpY2ggZGFzIFRlaWwgaGllciBrb21wbGV0dC4gQWxsZW4gYW5kZXJlbiBzZWkgZ2VzYWd0OgogLSBQdW5rdGUgMywgNSwgNiwgNyB3dXJkZW4gZXJ3ZWl0ZXJ0LAogLSBQdW5rdGUgOSwgMTAsIDExLCAxMihmKSBzaW5kIG5ldS4KCldlciBzaWNoIG1pdCBBbGlhcyBub2NoIGdhciBuaWNodCBhdXNrZW5udCAtPiBoaWxmZSBhbGlhcwoKCjEpIERlciB6dWxldHp0IGVpbmdlZ2ViZW5lIEJlZmVobCBrYW5uIG1pdCAmJiB3aWVkZXJob2x0IHdlcmRlbi4gV2VubiBtYW4KZWluIEFsaWFzICJpZCA9IGlkZW50aWZpemllcmUgJCoiIGRlZmluaWVydCBoYXQsIGdlaHQgZGFzIElkZW50aWZpemllcmVuCnNlaHIgZWluZmFjaCwgYXVjaCB3ZW5uIG1laHJlcmUgVmVyc3VjaGUgbm9ldGlnIHNpbmQ6Cgo+IGlkIGdlZ2Vuc3RhbmQKPiAmJgo+ICYmCj4gJiYKCkRhcyBHbGVpY2hlIGdpbHQgYXVjaCBmdWVyICJzY2hhZXR6Ii4KCgoyKSBEaWUgVGVpbGUtbWl0LWhpc3Rvcnkga2FubiBhdXNnZW51dHp0IHdlcmRlbjoKCj4gYWxpIHRtIHRlaWxlICQxIG1pdCAkMiogICAgKGhhdCBzb3dpZXNvIGplZGVyKQo+IGFsaSB0bW0gdGVpbGUgLiBtaXQgJCogICAgIChoYXQgdmllbGxlaWNodCBub2NoIG5pY2h0IGplZGVyKQoKRGFubiBzcHJpY2h0IG1hbiBtaXQgdG1tIGRlbiB6dWxldHp0IGFuZ2VzcHJvY2hlbmVuIFNwaWVsZXIgbm9jaG1hbCBhbjoKCj4gdG0gc3BpZWxlcm5hbWUgSGFsbG8gRHUhCj4gdG1tIFdpZSBnZWh0cyBkZW5uIGhldXRlPwo+IHRtbSBTY2hvZW5lcyBXZXR0ZXIsIG5pY2h0IHdhaHI/CgoKMykgQWxpLUJlZmVobGUgZHVlcmZlbiBhdWNoIEFsaS1CZWZlaGxlIGVudGhhbHRlbi4gRGFkdXJjaCBlcmdpYnQgc2ljaCBlaW5lCmtvbWZvcnRhYmxlIE1vZWdsaWNoa2VpdCwgdGVtcG9yYWVyZSBBbGlzIHp1IHZlcndhbHRlbi4gQmVpc3BpZWwgZnVlcgpBYmVudGV1cmVyOgoKTWFuIGdpYnQgZWlubWFsaWcgZWluOgoKPiBhbGkgdzEgYWxpIDEgc3RlY2tlICQqIHdlZwo+IGFsaSAyIGZldWVyYmFsbAo+IGFsaSB3MyBhbGkgMyB6dWVja2UgJCoKCkltbWVyIHdlbm4gbWFuIGVpbmUgbmV1ZSBXYWZmZSBoYXQsIHdlbmRldCBtYW4gZGllc2UgQWxpcyBuYWNoIGZvbGdlbmRlbQpNdXN0ZXIgYW46Cgo+IHcxIGxhbmdzY2h3ZXJ0Cj4gdzMgbGFuZ3NjaHdlcnQgIChvZGVyIG5vY2gga3VlcnplcjogXjFeMyApCgpEYW1pdCBoYXQgbWFuIGRpZSBmb2xnZW5kZW4gQWxpcyBkZWZpbmllcnQ6CgoxID0gc3RlY2tlIGxhbmdzY2h3ZXJ0IHdlZwoyID0gZmV1ZXJiYWxsCjMgPSB6dWVja2UgbGFuZ3NjaHdlcnQKCkltIEthbXBmIG11c3MgbWFuIGRlbW5hY2ggbnVyIG5vY2ggMSAyIDMgZWluZ2ViZW4gKG5hdHVlcmxpY2ggbWl0IFJldHVybgpkYXp3aXNjaGVuKS4gRGFzIGdsZWljaGUgZ2lsdCBmdWVyIG1hZ2lzY2hlIFBmZWlsZS4KKERpZSBFaW5nYWJlIF4xXjMga2FubiB1ZWJyaWdlbnMgbnVyIGRpcmVrdCBlcmZvbGdlbiwgZC4gaC4gc2llIHNlbGJzdCBrYW5uCmxlaWRlciBuaWNodCBpbiBlaW4ga29tZm9ydGFibGVzIEFsaSB2ZXJwYWNrdCB3ZXJkZW4pCgpBdXNzZXJkZW0gbGFzc2VuIHNpY2ggbWl0IGRpZXNlciBUZWNobmlrIHZhcmlhYmxlIG1pbnMvbW91dHMgcmVhbGlzaWVyZW4sCmRpZSBhYmVyIG51ciBmdWVyIFNFSEVSIGtsYXBwZW4gdW5kIG51ciBmdWVyIGRpZSBBbndlbmR1bmcgaW4gV2VnZXNrcmlwdGVuCmludGVyZXNzYW50IHNpbmQuIE1hbiBnaWJ0IGVpbm1hbGlnIGVpbjoKCj4gYWxpIHNldGxtaW4gYWxpIGxtaW4gc2V0bWluICQqCj4gYWxpIHNldGxtb3V0IGFsaSBsbW91dCBzZXRtb3V0ICQqCj4gYWxpIHNldHNtaW4gYWxpIHNtaW4gc2V0bWluICQqCj4gYWxpIHNldHNtb3V0IGFsaSBzbW91dCBzZXRtb3V0ICQqCgpBbnN0ZWxsZSBkZXIgYmVpZGVuIEJlZmVobGUgc2V0bWluIHVuZCBzZXRtb3V0IGhhdCBtYW4gamV0enQgNCBCZWZlaGxlIHp1cgpWZXJmdWVndW5nLCBnZXRyZW5udCBuYWNoICJsYW5nc2FtZXIiIHVuZCAic2NobmVsbGVyIiBCZXdlZ3VuZy4gTWFuIGthbm4gc2llCndpZSBmb2xndCBhbndlbmRlbjoKCj4gc2V0bG1pbiB3YXRzY2hlbHQgZ2VsYW5nd2VpbHQgaGVyZWluCj4gc2V0bG1vdXQgd2F0c2NoZWx0IGdlbGFuZ3dlaWx0IHdlaXRlcgo+IHNldHNtaW4gcmFzdCB3aWUgZWluIGdlb2VsdGVyIEJsaXR6IGhlcmFuCj4gc2V0c21vdXQgcmFzdCB3aWUgZWluIGdlb2VsdGVyIEJsaXR6IGFuIERpciB2b3JiZWkKCkRlciBUcmljayBpc3QgamV0enQsIGRhc3MgV2VnZXNrcmlwdGUgYmVpbSBTdGFydCBkaWUgYmVpZGVuIEJlZmVobGUgc21pbiB1bmQKc21vdXQgYW5zIE11ZCBzZW5kZW4sIGRhbm4gZGVyIEJld2VndW5nc3RlaWwga29tbXQgdW5kIHp1bSBTY2hsdXNzIGxtaW4gdW5kCmxtb3V0LiBXYWVocmVuZCBkYXMgU2tyaXB0IGxhZXVmdCwgaGFiZW4gZGllIG1pbnMvbW91dHMgZGFubiBpaHJlbgoic2NobmVsbGVuIiBXZXJ0LiBEYW1pdCB3aXJkIGRpZSB0YXRzYWVjaGxpY2hlIEJld2VndW5nIHJlYWxpc3Rpc2NoZXIKYmVzY2hyaWViZW4uIFJlaW4gdGhlb3JldGlzY2ggc2luZCBkaWVzZSBCZWZlaGxlIGltIFNrcmlwdCBuaWNodCBlcmxhdWJ0LAphYmVyIHNpZSBicmluZ2VuIGRlbSBTcGllbGVyIGphIGtlaW5lbiAiZWNodGVuIiBWb3J0ZWlsLgoKCjQpIE1hbiBrYW5uIHdpZSB1bnRlciBVbml4IFNvbmRlcnplaWNoZW4gbWFza2llcmVuLiBJbSBLbGFydGV4dDogZGFzCickJy1aZWljaGVuIGltIEFsaWFzdGV4dCBiaWxkZXQgZWluZW4gUGxhdHpoYWx0ZXIsICJcJCIgaGluZ2VnZW4gbGllZmVydCBkYXMKWmVpY2hlbiAnJCcsIG9obmUgZGFzcyBlcyBhbHMgUGxhdHpoYWx0ZXIgaW50ZXJwcmV0aWVydCB3aXJkLiBEZXNoYWxiIGlzdApmb2xnZW5kZSBEZWZpbml0aW9uIG1vZWdsaWNoOgoKPiBhbGkgcXEgYWxpIHEgZnJhZ2UgJCogbmFjaCBcJCoKCldlbm4gbWFuIGpldHp0IGVpbmVuIE5QQyBtaXQga29tcGxpemllcnRlbSBOYW1lbiBuYWNoIG1laHJlcmVuIFN0aWNod29lcnRlcm4KZnJhZ2VuIHdpbGwsIGdpYnQgbWFuIGVpbjoKCj4gcXEga29tcGxpemllcnRlcm5hbWVlaW5lc25wYwo+IHEgc3RpY2h3b3J0MQo+IHEgc3RpY2h3b3J0Mgo+IHEgc3RpY2h3b3J0MwoKWnVyIEVya2xhZXJ1bmc6IERpZSBxcS1aZWlsZSBkZWZpbmllcnQgZGFzIEFsaWFzCnEgPSBmcmFnZSBrb21wbGl6aWVydGVybmFtZWVpbmVzbnBjIG5hY2ggJCoKRGFzIHp3ZWl0ZSAnJConIHd1cmRlIGRhcmluIG5pY2h0IGR1cmNoIGVpbiBBcmd1bWVudCBlcnNldHp0LCBkYSBlcyBtaXQgJ1wnCm1hc2tpZXJ0IHdhci4gRHVyY2ggQXVmcnVmIHZvbiBxcSB3aXJkIGF1cyBcJCBkYXMgWmVpY2hlbiAkIC4gRm9sZ2xpY2ggd2lyZAplcnN0IGJlaW0gQXVmcnVmIHZvbiBxIGRhcyAkKiBkdXJjaCBkYXMgZGFubiBhbmdlZ2ViZW5lIEFyZ3VtZW50IGVyc2V0enQuCgpEaWVzZXMgTWFza2llcmVuIGthbm4gYWxzbyBkYXp1IHZlcndlbmRldCB3ZXJkZW4sIHVtIGJlaSB2ZXJzY2hhY2h0ZWx0ZW4KQWxpYXMgZmVzdHp1bGVnZW4sIGF1ZiB3ZWxjaGVyIEViZW5lIGRhcyBFaW5mdWVnZW4gZWluZXMgQXJndW1lbnRzCnN0YXR0ZmluZGVuIHNvbGwuIEJlaXNwaWVsOgoKPiBhbGkgYmVmZWhsMSBhbGkgYmVmZWhsMiBhbGkgYmVmZWhsMyBzYWcgJCogXCQqIFxcXCQqCgpCZWltIEF1ZnJ1ZiB2b24gYmVmZWhsMSB3aXJkICQqIGR1cmNoIEFyZ3VtZW50ZSBlcnNldHp0LAogICAgICAgICAgICAgICAgYmVmZWhsMiAgICAgIFwkKiAsCiAgICAgICAgICAgICAgICBiZWZlaGwzICAgICAgXFxcJCogLgoKTWlyIGZhZWxsdCB6d2FyIGdlcmFkZSBrZWluZSBzaW5udm9sbGUgQW53ZW5kdW5nIGZ1ZXIgM2ZhY2gtQWxpcyBlaW4sIGFiZXIKMmZhY2hlIG1hY2hlbiBqZWRlbmZhbGxzIGVpbmVuIFNpbm4sIHdpZSB3aXIgb2JlbiBnZXNlaGVuIGhhYmVuLgoKCjUpIEJlaSBkZXIgQmVudXR6dW5nIGVpbmVzIEFsaXMgbXVlc3NlbiBBcmd1bWVudGUgendhciBhbHMgZ2FuemVzIFdvcnQKYW5nZWdlYmVuIHdlcmRlbiwgYWJlciBkYXMgQXJndW1lbnQga2FubiBpbSBhdXNnZXNjaHJpZWJlbmVuIFRleHQgYXVjaCBhbHMKVEVJTCBlaW5lcyBXb3J0ZXMgdmVyd2VuZGV0IHdlcmRlbjoKCj4gYWxpIHRhcSB0ZWlsZSBhcXVhJDEgbWl0ICQyKgoKPiB0YXEgZGVzdCBIYWxsbwpEdSB0ZWlsc3QgQXF1YWRlc3QgbWl0OiBIYWxsbwo+IHRhcSB0b2xsIEhhbGxvCkR1IHRlaWxzdCBBcXVhdG9sbCBtaXQ6IEhhbGxvCgpPZGVyIGVpbiBldHdhcyBwcmFrdGlzY2hlcmVzIEJlaXNwaWVsOgoKPiBhbGkgZyBnaWIgJDIwMDAgbXVlbnplbiBhbiBhc2JhbmskMQoKPiBnIHZpIDMwCkR1IGdpYnN0IEFzYmFua1ZJIDMwMDAwIE11ZW56ZW4uCgpPZGVyIG1hbiBlcnJlaWNodCBzZWluZSBNaXRzcGllbGVyIHVlYmVyIE11ZGdyZW56ZW4gaGlud2VnOgoKPiBhbGkgdG1hbCB0ZWlsZSAkMUBhbmRlcmxhbmQgbWl0ICQyKgoKPiB0bWFsIGRlYnVnZ2VyIEhhbGxvIER1IQpEdSB0ZWlsc3QgRGVidWdnZXJAQW5kZXJMYW5kIG1pdDogSGFsbG8gRHUhCgoKNikgTWFuIGRhcmYgYXVjaCBzb2xjaGUgV29lcnRlciBhbHMgQWxpcyB2ZXJ3ZW5kZW4sIGRpZSBlaWdlbnRsaWNoIEJlZmVobGUKc2luZC4gRGFtaXQgbGFzc2VuIHNpY2ggU3RhbmRhcmR2ZXJiZW4gdW1kZWZpbmllcmVuOgoKPiBhbGkgZ3JpbnMgZ3JpbnMgL3VlYmVyIGFsbGUgNCBCYWNrZW4KCj4gZ3JpbnMKRHUgZ3JpbnN0IHVlYmVyIGFsbGUgNCBCYWNrZW4uCgpOb2NoIGd1ZW5zdGlnZXIgaXN0IGFsbGVyZGluZ3M6Cgo+IGFsaSBncmlucyBncmlucyAkKiAvdWViZXIgYWxsZSA0IEJhY2tlbgoKRGFzIGhhdCBkaWUgZ2xlaWNoZSBXaXJrdW5nIHdpZSBvYmVuLCBudXIgd2lyZCBkYWR1cmNoIHp1c2FldHpsaWNoIG1vZWdsaWNoOgoKPiBncmlucyBqb2YKRHUgZ3JpbnN0IEpvZiB1ZWJlciBhbGxlIDQgQmFja2VuIGFuLgoKU28gZXR3YXMga2FubiBuaWNodCBudXIgaHVlYnNjaCwgc29uZGVybiBhdWNoIHp3ZWNrbWFlc3NpZyBzZWluLCB1bQpCZWZlaGxzYXJndW1lbnRlIG5hY2ggZWlnZW5lbSBFbXBmaW5kZW4gdW16dW9yZG5lbiBvZGVyIFN5bnRheGVuIHp1CnZlcmVpbmZhY2hlbiwgei4gQi4gc3RhdHQgImdpYiBzYWNoZW4gYW4gbW9uc3RlciIKCj4gYWxpIGdpYiBnaWIgJDIgYW4gJDEKCj4gZ2liIG1vbnN0ZXIgc2FjaGVuCgoKNykgRGFzIEV4cGFuZGllcmVuIHZvbiBXb2VydGVybiBhbHMgQWxpcyBsYWVzc3Qgc2ljaCBtaXQgJ1wnIHVudGVyZHJ1ZWNrZW4uCkJlaXNwaWVsOiBXZW5uIG1hbiBkZWZpbmllcnQgaGF0Cgo+IGFsaSB3ZWluIHdlaW4gL1JvdHogdW5kIFdhc3NlcgoKPiB3ZWluCkR1IGJyaWNoc3QgaW4gVHJhZW5lbiBhdXMgdW5kIHdlaW5zdCBSb3R6IHVuZCBXYXNzZXIuCj4gXHdlaW4KV2FhYWFhaCEgRHUgd2VpbnN0IGJpdHRlcmxpY2guICAgICAgKGRhcyBPcmlnaW5hbCkKCldlciB6LiBCLiBkdW1tZXJ3ZWlzZSBkaWUgQmVmZWhsZSBhbGkgdW5kIHVuYWxpIG1pdCBBbGlzIGJlbGVndCBoYXQsCmthbm4gZGllc2VzIEFsaSB0cm90emRlbSB1bnRlcmRydWVja2VuIG9kZXIgYXVjaCB3aWVkZXIgbG9lc2NoZW46Cgo+IFx1bmFsaSB1bmFsaQoKTWFnaWVyIGtvZW5uZW4gZGFtaXQgYXVzc2VyZGVtIGRlbiBob21lLUJlZmVobCB1bWRlZmluaWVyZW4sIHVtIGRhcyAiWHl6CmdlaHQgbmFjaCBIYXVzZSIgZHVyY2ggZWluIFRlbGVwb3J0IHp1IGVyc2V0emVuLCB3YXMgamEgd29obCBsb2dpc2NoZXIgaXN0OgoKPiBhbGkgaG9tZSBnb3RvIC9wbGF5ZXJzL21laW5uYW1lL3dvcmtyb29tCgpXZXIgdGF0c2FlY2hsaWNoIGF1cyBlaW5lbSB0ZWxlcG9ydGdlc2NodWV0enRlbiBSYXVtIHJhdXN3aWxsLCBrYW5uIGRhbm4KaW1tZXIgbm9jaCBlaW5nZWJlbjoKCj4gXGhvbWUKCgo4KSBLYW5hbC1BbGlzIG11ZXNzZW4gbmljaHQgZnVlciBqZWRlbiBLYW5hbCBlaW56ZWxuIGRlZmluaWVydCB3ZXJkZW4uIFdlbm4KbWFuIHouIEIuICJlYmVuZSBzdGFuZGFyZCBhbGxnIiBlaW5nZXN0ZWxsdCBoYXQgKGRhcyBoYXQgbWFuIGdsYXViaWNoCmF1dG9tYXRpc2NoKSwgcmVpY2h0IGZvbGdlbmRlIGVpbm1hbGlnZSBEZWZpbml0aW9uOgoKPiBhbGkgYWxhY2ggLSQqOmxhY2h0IHNpY2gga3JhbmsuCgo+IGFsYWNoCltBbGxnZW1laW46TWVpbm5hbWUgbGFjaHQgc2ljaCBrcmFuay5dCj4gYWxhY2ggUwpbU2VoZXI6TWVpbm5hbWUgbGFjaHQgc2ljaCBrcmFuay5dCgoKOSkgRGllIFJpY2h0dW5nc2t1ZXJ6ZWwgbiwgdywgcywgbyB1c3cuIGthbm4gbWFuIGFscyBBbGlzIHZlcndlbmRlbiwgYWJlcgpzaWUgYmxlaWJlbiBhbHMgUmljaHR1bmdza3VlcnplbCBlcmhhbHRlbiEgV2llIGRhcz8KCj4gYWxpIG4gbmltbSAkKgoKPiBuIHNjaHdlcnQKRHUgbmltbXN0IGVpbiBTY2h3ZXJ0Lgo+IG4KRHUgZ2Voc3QgbmFjaCBOb3JkZW4gdW5kIHNpZWhzdC4uLgoKRGFzIGxpZWd0IGRhcmFuLCBkYXNzIGRpZSBnZXNhbXRlIEVpbmdhYmUgYXVmIGV4YWt0ZSBVZWJlcmVpbnN0aW1tdW5nIG1pdAoibiIgZ2VwcnVlZnQgdW5kIGdlbmF1IGRhbm4gaW4gIm5vcmRlbiIgdW1nZXdhbmRlbHQgd2lyZC4gSW4gZGllc2VtIEZhbGwKaGFlbmd0IGRpZSBBbndlbmR1bmcgdm9uIEFsaXMgdGF0c2FlY2hsaWNoIHZvbSBWb3JoYW5kZW5zZWluIHZvbiBBcmd1bWVudGVuCmFiLiBEaWUgSWRlZSwgYXVmIGFlaG5saWNoZSBXZWlzZSBnZXN0YWZmZWx0ZSBBbGlzIGF1Znp1YmF1ZW4sIGRpZSBmbGV4aWJlbAphdWYgZGllIFphaGwgZGVyIEFyZ3VtZW50ZSByZWFnaWVyZW4sIGlzdCB6d2FyIG5ldHQsIGFiZXIgZnVua2lvbmllcnQgbmljaHQsCmRhIGplZGUgbmV1ZSBBbGktRGVmaW5pdGlvbiBkaWUgYWx0ZSBtaXQgZGVtIHNlbGJlbiBCZWZlaGxzd29ydCB1ZWJlcnNjaHJlaWJ0LgoKCjEwKSBNYWdpZXIga29lbm5lbiBhdWYgaWhyIGhhbGJlcyBJbnZlbnRvcnkgdmVyemljaHRlbiwgd2VubiBzaWUgc2ljaCBuaWNodApmdWVyIGplZGUgS2xlaW5pZ2tlaXQgZWluIGVpZ2VuZXMgVG9vbCBzY2hyZWliZW4gdW5kIHNpY2ggZGFmdWVyIG1pdCBlZApydW1zY2hsYWdlbiBtdWVzc2VuLCBzb25kZXJuIHN0YXR0ZGVzc2VuIEFsaXMgYmVudXR6ZW46Cgo+IGFsaSB6d2VpdGlzIHhldmFsIHdyaXRlKGltcGxvZGUobWFwX2FycmF5KG1hcF9hcnJheShmaWx0ZXJfb2JqZWN0cwoodXNlcnMoKSwiUXVlcnlQcm9wIixQX1NFQ09ORCksIydnZXR1aWQpLCMnY2FwaXRhbGl6ZSksIlxcbiIpKyJcXG4iKQoKSW4gZGVyIGFsaWFzLUhpbGZlIHN0ZWh0IGViZW5mYWxscyBlaW4gQmVpc3BpZWwuIFp1IGJlYWNodGVuIGlzdCwgZGFzcyBlaW4gXAppbW1lciB2ZXJkb3BwZWx0IGFuZ2VnZWJlbiB3ZXJkZW4gbXVzcywgd2VpbCBkZXIgZXJzdGUgaW1tZXIKd2VncmF0aW9uYWxpc2llcnQgd2lyZC4gQXVzc2VyZGVtIGRhcmYgbWFuIHNpY2ggbmljaHQgdmVyc2NocmVpYmVuLCB3ZWlsCmJlaW0gS29ycmVrdHVydmVyc3VjaCBtaXQgXiBeIGluIGVpbmVyIG5ldWVuIFplaWxlIGRpZSBhbHRlIHZlcmZhZWxzY2h0CndpZWRlcmdlZ2ViZW4gd2lyZC4KCkF1ZiBkaWVzZSBXZWlzZSBoYWJlIGljaCBpbiBlaW5lciBhbmRlcmVuIFdlbHQgei4gQi4gZGVuIHJlcGxhY2UtQmVmZWhsCmRlZmluaWVydCwgbWl0IGRlbSBpY2ggaW4gZWluZXIgYmVsaWViaWdlbiBEYXRlaSBlaW5lbiBTdHJpbmcgZHVyY2ggZWluZW4KYW5kZXJlbiBlcnNldHplbiBrYW5uLgoKRWluZSBlaW5mYWNoZXJlIFZhcmlhbnRlIGRpZXNlciBUZWNobmlrIGlzdCBkYXMgc2lubnZvbGxlIEFia3VlcnplbgpmaW5nZXJicmVjaGVyaXNjaGVyIFN5bnRheGVuOgoKPiBhbGkgc2V0IHhjYWxsICQxLT5TZXRQcm9wKFBfJDIsJDMpCj4gYWxpIHF1ZXJ5IHhjYWxsICQxLT5RdWVyeVByb3AoUF8kMikKPiBxdWVyeSBtYXJpdGEgUVAKUmVzdWx0OiA2OTAKCj4gYWxpIHRlc3RzdGF0IHhjYWxsIG1laW50ZXN0aS0+U2V0UHJvcChQX0FUVFJJQlVURVMsKFsiaW50IjokMSwKInN0ciI6JDIsImNvbiI6JDMsImRleCI6JDRdKSkKPiB0ZXN0c3RhdCAxNCAxNiAxNCAxMwoKCjExKSBTZWl0IEVpbmZ1ZWhydW5nIGRlciBuZXVlbiBLYW5hZWxlIHBhc3NpZXJ0IGphIGZvbGdlbmRlczoKCj4gLWEgOi0pCltBbGxnZW1laW46TWVpbm5hbWUgLSldCgpBYmhpbGZlIHNjaGFmZnQ6Cgo+IGFsaSAtYSAtYSckKgoKRGFzIG11c3MgbWFuIG5hdHVlcmxpY2ggZnVlciBqZWRlbiBLYW5hbCBlaW56ZWxuIG1hY2hlbi4gRW1vdGVzIHVuZCBHZW1vdGVzCmtsYXBwZW4gbWl0IGRlciAiYWx0ZW4iIFNjaHJlaWJ3ZWlzZSBpbW1lciBub2NoOgoKPiAtYTpsYWNodC4KW0FsbGdlbWVpbjpNZWlubmFtZSBsYWNodC5dCj4gLWEgOmxhY2h0LgpbQWxsZ2VtZWluOk1laW5uYW1lXSA6bGFjaHQuCgpXZW0gZGllIENoYW5uZWxoaXN0b3J5IHp1IGxhbmcgaXN0IHVuZCBkaWUgTW9yZS1QYXVzZW4gZGFyaW4gc3RvZXJlbiwgZGVtCmVtcGZlaGxlIGljaAoKPiBhbGkgLWEqIC1hKjEwCgpEaWVzIGJlZGV1dGV0IG51ciBkaWUgVW1kZWZpbml0aW9uIGRlciBTdGFuZGFyZGxhZW5nZSwgZGVubiBFaW5nYWJlbiBkZXIKRm9ybSAtYSo0MCB3ZXJkZW4gdm9uIGRpZXNlbSBBbGkgbmljaHQgYmVoaW5kZXJ0IHVuZCBpbW1lciBub2NoIG5vcm1hbAphdXNnZWZ1ZWhydC4KCgoxMikgRWluaWdlIEtsZWluaWdrZWl0ZW46CgphKSBXZXIgZXJmYWhydW5nc2dlbWFlc3MgaW1tZXIgZGllIHNlbGJlbiBTY2hyZWliZmVobGVyIG1hY2h0LCBrYW5uIHNpZQonYXV0b21hdGlzY2gga29ycmlnaWVyZW4nOgoKPiBhbGkgdXRuIHVudCAkKgo+IGFsaSBsY2lodCBsaWNodCAgIGV0Yy4KCmIpIEFsdGUgR2V3b2huaGVpdGVuIGxhc3NlbiBzaWNoIHVudGVyc3R1ZXR6ZW46Cgo+IGFsaSBlcmFzZSBybSAkKgo+IGFsaSBkaXIgbHMgJCogICAgICAgICAgICAoSmFqYWphLCBybSB1bmQgbHMgZ2lwcyBudXIgZnVlciBNYWdpZXIuLi4pCgpjKSBTY2h1dHogdm9yIGJvZXNlbiBGZWhsZXJuOgoKPiBhbGkgc2VsYnN0bG9lc2NodW5nIHRlaWxlIG1laW5uYW1lIG1pdCBVZWJlcmxlZyBlcyBEaXIgbm9jaG1hbCBiaXMgbW9yZ2VuIQo+IGFsaSBlcmhvZWhlIHRlaWxlIHJhZmZpIG1pdCBEYSBoYWV0dGVzdCBEdSBiZWluYWhlIGVpbmVuIEZlaGxlciBnZW1hY2h0IQo+IGFsaSB6YXAgZWNob3RvICQqIE1laW5uYW1lIGxhZXNzdCBzaWNoIGF1ZiBEZWluZSBQcm92b2thdGlvbiBuaWNodCBlaW4uCgpkKSBXZXIgYmVpIG1laHJlcmVuIE1vbnN0ZXJuIGRpZSBGZXVlcmtyYWZ0IGF1ZiBlaW4gZWluemlnZXMga29uemVudHJpZXJlbgptb2VjaHRlOgoKPiBhbGkgbnVyIGFsaSAyIGZldWVyYmFsbCAkKgoKVm9yIGRlbSBLYW1wZiBnaWJ0IG1hbiBlaW46Cgo+IG51ciBuZWNyb21hbnQgMQoKdW5kIHRyaWZmdCBkYXJhdWZoaW4gbWl0IGRlbSBGZXVlcmJhbGwgKGhpZXI6IFRhc3RlIDIpIGltbWVyIGRlbiBlcnN0ZW4KTmVrcm9tYW50ZW4uCgplKSBXZXIgZGFzIGhhbGJlIEludmVudG9yeSBtaXQgQXV0b2xvYWQtR2VnZW5zdGFlbmRlbiB2b2xsIGhhdCwgbWFjaHQgYW0KYmVzdGVuOgoKPiBhbGkgaSBpIC1hCgpVbmQgc2Nob24gc2llaHQgbWFuIHNpZSBtaXQgJ2knIG5pY2h0IG1laHIuIFdlciBzaWUgc3BhZXRlciB0cm90emRlbSBlaW5tYWwKc2VoZW4gd2lsbCwga2FubiBhdWYgZGllIFZhcmlhbnRlICdpbnYnIGRlcyBzZWxiZW4gQmVmZWhscyB6dXJ1ZWNrZ3JlaWZlbgooZGVyIGphIG5pY2h0IGR1cmNoIGRhcyBBbGkgYWJnZWRlY2t0IGlzdCkgb2RlciBtaXQgJ1xpJyBkaWUgRXhwYW5zaW9uCnVudGVyZHJ1ZWNrZW4uCgpmKSBXZW5uIFNwaWVsZXIgaW4gTWFnaWVyd29ya3Jvb21zIHNpbmQsIGthbm4gbWFuIGlobmVuIGxlaWNodCBkZW4gRnJ1c3QKdWViZXIgd2l6YXJkLW9ubHktQXVzZ2FlbmdlIG5laG1lbiwgaW5kZW0gbWFuIGRpZXNlIEF1c2dhZW5nZSBnYW56CmhlcmF1c25pbW10IHVuZCBzdGF0dGRlc3NlbiBlbnRzcHJlY2hlbmRlIEFsaXMgYmVudXR6dCwgZGllIGRhbm4gc29nYXIKdWViZXJhbGwgZ2VoZW4gdW5kIG5pY2h0IG51ciBpbSBXb3Jrcm9vbToKCj4gYWxpIGdpbGRlIGdvdG8gL2dpbGRlbi9hYmVudGV1cmVyCj4gYWxpIHBhcGEgZ290byAvcGxheWVycy9tZWlucGFwYS93b3Jrcm9vbSAKCgpEYW5rZSBhbiBLaGlkYXIsIEJvaW5nLCBBY3JpbW9uIHVuZCBadWVyaWxldSBmdWVyIGVpbmdlcmVpY2h0ZSBJZGVlbi4gSWNoCndhcnRlIHdlaXRlciBhdWYgbmV1ZSBBbnJlZ3VuZ2VuIHZvbiBFdWNoLCB1bmQgZGllIG5ldWVzdGVuCkZvcnNjaHVuZ3NlcmdlYm5pc3NlIDotKSB3ZXJkZW4gd29obCBpbiBlaW4gcGFhciBNb25hdGVuIHdpZWRlciBoaWVyCmVyc2NoZWluZW4uCgpEaWVzZXIgQXJ0aWtlbCBrYW5uIGF1Y2ggd2llZGVyIGFscyBNYWlsIGJlaSBtaXIgYW5nZWZvcmRlcnQgd2VyZGVuLgoKRGVyIGRyaXR0ZSBhcnJvZ2FudGUgQWxpLUJlaXRyYWNoIHZvbgpNYXJpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFydGlrZWwgKEd1bmR1ciwgMTYuIEphbiAxOTk3LCAyMzo1NzoxMCk6CkhpCkhhdCBzY2hvbiBtYWwgamVtYW5kIGRpZSBBdXRvbWFwIGZ1bmt0aW9uIGluIFpNdWQgaGluZ2VrcmllZ3Q/Cldlbm4gamEgd2llPwpHcnVzcwpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lyIGZ1cnplbiB3ZWl0ZXIgKE1hcml0YSwgMTcuIEphbiAxOTk3LCAyMjozNzoxOCk6CkhpLAp3aWUgaWNoIHNvZWJlbiB2b24gZGVyIEF1dG9yaW4gZXJmYWhyZW4gaGFiZSwgc2luZCBkaWUgYWxzZWl0cyBnZWxpZWJ0ZW4KRnVlcnplIGltbWVyIG5vY2ggYWt0aXYuIEF1cyBha3R1ZWxsZW0gQW5sYXNzIGVyaW5uZXJlIGljaCBhbiBkZW4gQmVmZWhsCmt3ZXIgcmVnaW9uIHVudGVyd2VsdApkZXIgamVkZW0genV2ZXJsYWVzc2lnIG1pdHRlaWx0LCBvYiBlci9zaWUgc2ljaCBpbiBiZXNhZ3RlciBEb21haW4gYXVmaGFlbHQuCkZhbGxzIGRpZXNlIEZ1ZXJ6ZSBhdWNoIGF1c3NlcmhhbGIgZGVyIFJlZ2lvbiBlbnRzdGVoZW4sIGJpdHRlIGljaCB1bSBlaW4KRm9sbG93LXVwIGluIGRpZXNlciBSdWJyaWsuCkVuZGUgZGVyIER1cmNoc2FnZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWJ1cnRzYW56ZWlnZSAoQ3liZXJpYSwgMTkuIEphbiAxOTk3LCAxODoyNDozMSk6Cn4jISBybj1TY2hsaXBzIHJ0PTg1MzMxNjI5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzI3NTAwMApXZW5uIGRpY2ggZGllIFRvZGVzc2VxdWVuemVuIHN0b2VyZW4sIHN0ZXJiZSBuaWNodC4gZGllIFNlcXVlbnplbiBzaW5kIGRpZQpTdHJhZmUgZGFmdWVyLCBkYXMgZHUgc3RpcmJzdC4KCkN5YmVyaWEKCih3aWUgYmVlbmRlIGljaCBqZXR6dD8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3J1bW1lbCAoS3JldGVrLCAyMC4gSmFuIDE5OTcsIDAyOjM2OjM0KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODUzNTM2MzMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzMjU0MjkxCkhtcGYuIE5hIGd1dCwgaWNoIGdlYidzIGphLCB6dSEgSWNoIGhhYiBtZWluIFNjcmlwdCAiRXJ6bWFnaWVyIGluIGRyZWkgClRhZ2VuIiBsYXVmZW4uLi4KCgogICAgICAgfCAvICB8XCAgfC0tICAtLS0gIHwtLSAgfCAvCiAgICAgICB8PCAgIHwvICB8LSAgICB8ICAgfC0gICB8PAogICAgICAgfCBcICB8XCAgfC0tICAgfCAgIHwtLSAgfCBcCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBHcnVtbWVsIChBbmF0b2wsIDIwLiBKYW4gMTk5NywgMDI6NDU6MTApOgp+IyEgcm49S3JldGVrIHJ0PTg1MzcyNDUzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzI1NDI5MQoKV2VpbCBEdSBEZWluZW4gWndlaXRpZSBhdWYgIktyZXRlayB0ZWlsdCBEaXIgbWl0IiBnZXRyaWdnZXJ0IGhhc3QuIApTY2hvbm1hbCBkYXJhbiBnZWRhY2h0LCB3YXMgZWluIGRhcyBmb2xnZW5kZSBhdXNsb2VzZW4ga29lbm50ZS4uLj8KImVjaG90byA8endlaXRpZT4gS3JldGVrIHRlaWx0IERpciBtaXQ6IC9zaCBybSAtcmYgfi8iCgpSYXRlIG1hbCwgd2FzIENhdHR5IHdvaGwgZ2VtYWNodCBoYXQuLi4uIHNjaGxhdWVyIEh1bmQsIGdlbGw/IAoKTmFqYSwgYW5kZXJlIGtyaWVnZW4gTWFpbHMgdm9uIGlocmVuIFp3ZWl0aWVzLi4uCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ1cnplbiB6dW0gendlaXRlbiAoRnl0LCAyMC4gSmFuIDE5OTcsIDIyOjIyOjAwKToKCk5laW4sIGljaCBnZWIncyBuaWNodCBhdWYuIERhcyBEaW5nIHJlbm50IGltbWVyIG5vY2ggcnVtLiBVbmQgaWNoIGZpbmRlCmVzIGVpbmZhY2ggd2lkZXJsaWNoLiBJY2ggd3VlcmRlIGVzIHNlaHIgYmVncnVlc3Nlbiwgd2VubiBlbmRsaWNoIG1hbApqZW1hbmQsIGRlciBkYXp1IGluIGRlciBMYWdlIGlzdCwgZGFzIERpbmcgZW50ZmVybnQuIFZvbiBtaXIgYXVzIGthbm4KYmVpIGRlciBHZWxlZ2VuaGVpdCBhdWNoIGRpZSBVcnNhY2hlIGVudGZlcm50IHdlcmRlbi4gTWFuIG5lbm50IGRhczoKRGFzIFVlYmVsIGFuIGRlciBXdXJ6ZWwgcGFja2VuLgoKRnl0LgoKUFM6IE5laW4sIGljaCB3ZXJkZSB3ZWdlbiBkaWVzZXMgSWRpb3RlbiB2b24gJ01laXN0ZXJwcm9ncmFtbWllcmVycycgbmljaHQKbmFjaCBUYW1pYmFyIGxhdWZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdXJ6ZW4genVtIHp3ZWl0ZW4gKEhvb2QsIDIwLiBKYW4gMTk5NywgMjM6MDU6MjkpOgp+IyEgcm49Rnl0IHJ0PTg1Mzc5NTMyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1Mzc5NTMyMAphdSB0b2xsLCB3aWVkZXIgbWFsIGVpbiBhcnRpa2VsIGRlciBtYXJrZSAnbW9iYmluZyBpbSBtdWQnLi4uCnNlaXQgaWhyIGltIFJMIG5pY2h0IGF1c2dlbGFzdGV0IGdlbnVnIG9kZXIgd2llPyB3ZW5uIG1hbiBtYWwgbmUgbWFpbAphbiBkZXIgdmVyYW50d29ydGxpY2hlbiBtYWdpZXIgc2NoaWNrdCBvZGVyIG1hbCBtaXQgaWhtIHF1YXRzY2h0IHNvbGx0ZQpkYXMgZWlnZW50bGljaCByZWljaGVuLmljaCBmaW5kZSBlcyByZWljaGxpY2ggZG9vZiwgd2VubiBtYW4gbGV1dGUgYXVzIGRlbQptdWQgaGVyYXVzcXVlbmdlbG4gd2lsbCwgZGllIHNpY2ggYXVjaCBub2NoIG5lIG1lbmdlIGFyYmVpdCBtYWNoZW4sIG9iCmVpbmVtIG51biBkaWVzZSBhcmJlaXRlbiBnZWZhbGxlbiBvZGVyIG5pY2h0Li4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZ1cnplbiB6dW0gendlaXRlbiAoRnl0LCAyMC4gSmFuIDE5OTcsIDIzOjEzOjM5KToKfiMhIHJuPUhvb2QgcnQ9ODUzNzk3OTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzNzk1MzIwCgpIbSwgV3VyemVsIGhhdCBiaXMgYXVmICd2ZXJudWVuZnRpZ2UnIEFyZ3VtZW50ZSBuaWNodCBnZWhvZXJ0IHVuZCBhbnNvbnN0ZW4KaWdub3JpZXJ0IGVyIG1pY2ggKHN0ZWh0IHNpY2hlciBhdWNoIGlyZ2VuZHdvIGluIHNlaW5lbSBTYXZlZmlsZSkuIFVuZCBpY2gKaGF0dGUgZXMgc2Nob25tYWwgZ2VzYWd0OiBXdXJ6ZWxzIFNhY2hlbiB3YXJlbiBiaXNoZXIgZWhlciB1bnRlciBkZW0KdW50ZXJlbiBEdXJjaHNjaG5pdHQgKE5QQ3MsIFdhZmZlbiwgUmFldW1lLi4uIHdhcyB2ZXJnZXNzZW4/KSwgenVtaW5kZXN0IHdhcwptYW4gc28gYWxzIFNwaWVsZXIgc2llaHQuIERhcyBoYWx0ZSBpY2ggaWhtIGFsbGVyZGluZ3MgbmljaHQgdm9yLCBzb25kZXJuLApkYXNzIGVyIGRhcyBaZXVncyBrcmFmdCBzZWluZXIgV2Fzc2Vyc3VwcGUgYWxzIFJNIHVuYmVzZWhlbiBhbnNjaGxpZXNzdCB1bmQKbmljaHQgbWl0IHNpY2ggaGFuZGVsbiBsYWVzc3QgKEphLCBpY2gga2FubiBtaWNoIG5vY2ggZ3V0IGVyaW5uZXJuLCBkYQpwbG9ldHpsaWNoIGZ1ZW5mIG9kZXIgc2VjaHMgRXMgdW5kIEdzIHVtIG1pY2ggcnVtc3RhbmRlbiB1bmQgZGllIEhhZW5kZQp1ZWJlciBkZW0gS29wZiB6dXNhbW1lbmdlc2NobGFnZW4gaGFiZW4pLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVyemVyIChEb2xwaCwgMjEuIEphbiAxOTk3LCAwMDoxMTozMSk6Cldlbm4gbWljaCBuaWNodCBhbGxlcyBpcnJ0IGthbm4gbWFuIGRlbiBGdXJ6ZXIgYXVjaCB0b2V0ZW4uClZpZWxsZWljaHQgaGlsZnQgZXMgZ2V3aXNzZW4gUGVyc29uZW4gc2ljaCB3ZW5pZ2VyIG1pdCBkZW4gCkF1c2R1ZW5zdHVuZ2VuIHp1IEJlc2NoYWVmdGlnZW4gc29uZGVybiBpbiBkZXIgWmVpdCB3byBzaWUKSWRsZW4gdW5kIHNpY2ggdm9tIEZ1cnplciBhbnN0ZWNrZW4gbGFzc2VuIG1hbCB1ZWJlcmxlZ2VuCndpZSBtYW4gZGllc2VuIGJla2FlbXBmZW4ga2Fubi4KRGFzIGlzdCBkb2NoIGltIFNpbm5lIGVpbmVzIGplZGVuIHZvbiB1bnMgdW5kIG1hbiBzdGVpZ2VydApkYWR1cmNoIHNlaW4gU2VsYnN0d2VydGdlZnVlaGwgdW5nZWhldWVybGljaC4KRGEgaWNoIHdlbmlnIElkbGUgdW5kIG1pY2ggbnVyIHNlbHRlbiBpbiBkZXIgVW1nZWJ1bmcgZGVzCkZ1cnplcnMgYXVmaGFsdGUsIGthbm4gaWNoIGV1Y2ggbnVyIHNhZ2VuIGRhcyBlciBtaWNoIG5vY2ggIAplcndpc2NodCBoYXQuClZpZWxsZWljaHQgdHJpZmZ0IGVzIGltbWVyIG51ciBkaWUgUmljaHRpZ2VuISAKCkRvbHBoIGF0bWV0IGltbWVyIGZyaXNjaCBMdWZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVyemVyIChBc21vZGlzLCAyMS4gSmFuIDE5OTcsIDAwOjM5OjUxKToKfiMhIHJuPURvbHBoIHJ0PTg1MzgwMTg5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzgwMTg5MQpBZWhlbSwgZGVyIEZ1cnplciBpc3QgdW5zaWNodGJhciwgZHUgbWVya3N0IGVyc3QsIGRhc3MgZXIgZGlyIGRlbiBGbHVjaCAKYW5nZWhlZnRldCBoYXQsIHdlbm4gZXMgenUgc3BhZXQgaXN0LiBVbmQgaWhtIG5pY2h0IHp1IGJlZ2VnbmVuIGlzdApzY2h3aWVyaWcsIHdlaWwgZXIgc2ljaCBtZWlzdGVucyBpbiBkZXIgUmVnaW9uIEViZW5lIGhlcnVtdHJlaWJ0LCBvZGVyCmlzdCBkYXMgaW56d2lzY2hlbiBnZWFlbmRlcnQgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1cnplciAoRnl0LCAyMS4gSmFuIDE5OTcsIDA1OjU2OjU1KToKfiMhIHJuPURvbHBoIHJ0PTg1MzgwMTg5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1MzgwMTg5MQoKSWNoIHdlaXNzLCBkYXNzIG1hbiBkZW4gRnVyemVyIHRvZXRlbiBrYW5uLiBVbSBkYXMgVmllaCB6dSBmaW5kZW4sIG11ZXNzdGUKbWFuIGFiZXIgaW4gamVkZW0gUmF1bSB2ZXJzdWNoZW4sIGVzIHp1IHRvZXRlbiwgdW5kIGljaCBoYWIga2VpbmUgTHVzdApqZWRlcyBNYWwgZGllIGdhbnplIEViZW5lIGFienVsYXVmZW4uIEF1c3NlcmRlbSBoYWIgaWNoIG5pY2h0IGdlaWRlbHQsIGljaApiaW4gbnVyIHp3ZWltbCB2b24gbWVpbmVtIEhhdXMgbmFjaCBNb3JvbiB1bmQgdm9uIGRvcnQgenUgZGVuIFN0ZWlubW9uc3Rlcm4KaW0gTmVhbmRlcnRhbCBnZWxhdWZlbiwgdW5kIHp3YXIgc28gc2NobmVsbCBpY2gga29ubnRlLiBFaWdlbnRsaWNoIGhhbHRlIGljaApkYXMgbmljaHQgZnVlciBzb29vb28gdW5nZXdvZWhubGljaC4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZnVyemVuIHp1bSB6d2VpdGVuIChQaG9ib3MsIDIxLiBKYW4gMTk5NywgMDk6NTE6NDkpOgp+IyEgcm49Qm9lYmJlbCBydD04NTM4MDM5NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTM3OTUzMjAKbWVpbmUgTG9lc3VuZyBmdWVyIFNlaGVyIDogYmVzb3JndCBldWNoIG5lbiBMdWVmdGVyIGF1cyBkZW0gU2VoZXJsYWRlbgooU3BpZWxlciA6CmZyYWd0IGVpbmVuIGJlZnJldW5kZXRlbiBTZWhlcikgdW5kIG1hY2h0IGV1Y2ggbmVuIFRyaWdnZXIgKG9kZXIgYWxpYXMsIGZhbGxzCmtlaW4gdGYgenVyIEhhbmQpIC9kZWYgLXQnRHUgZnVyenQgaGVtbXVuZ3Nsb3MnID0gbHVlZnRlCkRlciBNYWdpZXIsIGRlciBldWNoIHdlZ2VuIGVpbmVzIHNvbGNoZW4gVHJpZ2dlcnMgdmVya2xhZ3QsIG1hY2h0IHNpY2ggaW0KaG9lY2hzdGVuIE1hc3NlIGxhZWNoZXJsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZnVyemVuIHp1bSB6d2VpdGVuIChMYWlsYSwgMjEuIEphbiAxOTk3LCAxMzoxNjozNCk6Cn4jISBybj1GeXQgcnQ9ODUzNzk4NDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzNzk1MzIwCjxTbmlwPgpXdXJ6ZWxzIFNhY2hlbiB3YXJlbiBiaXNoZXIgZWhlciB1bnRlciBkZW0gdW50ZXJlbiBEdXJjaHNjaG5pdHQgKE5QQ3MsIFdhZmZlbiwKUmFldW1lLi4uIHdhcyB2ZXJnZXNzZW4/KSAuLi4gWmV1Z3Mga3JhZnQgc2VpbmVyIFdhc3NlcnN1cHBlIGFscyBSTSB1bmJlc2VoZW4KYW5zY2hsaWVzc3QuCjxTbmlwPgoKSmV0enQgd3Vlc3N0ZSBpY2ggZG9jaCBnZXJuZSBtYWwgd2llIG1hbiBoaWVyIGRlbiBSTSB3aXJkICwgd2VubiBtYW4gbmFjaApldWVyZXIgTWVpbnVuZyBqYSBzbyB1bmdsYXVibGljaCBzY2hsZWNodCBpc3QgPz8/IFdlcmRlbiBkaWUgUk0tUG9zdGVuIGltIApTb21tZXJzY2hsdXNzdmVya2F1ZiB2ZXJob2VrZXJ0IG9kZXIgd2llID8KCldlbm4gbWFuIFJlZ2lvbnNtYWdpZXIgaXN0LCBzb2xsdGUgbWFuIHNjaGxpZXNzbGljaCBhdWNoIGRpZSBGcmVpaGVpdCBoYWJlbiwKaW4gZGllc2VyIFJlZ2lvbiBhdWNoIGRhcyBwcm9nZ2VuIHp1IGtvZW5uZW4gd2FzIG1hbiB3aWxsLiBXZW5uIGVzIGRlbgpTcGllbGVybiBuaWNodCBnZWZhZWxsdCwgZGFubiBrYW5uIG1hbiBzaWNoIG5hdHVlcmxpY2ggc3R1ciBzdGVsbGVuLAphYmVyIG9iIGRhcyBkYW5uIGltbWVyIG5vY2ggc292aWVsIFNwYXNzIG1hY2h0IGZ1ZXIgZWluZSByZWdpb24genUgcHJvZ2dlbgpkaWUgbmllbWFuZCBtZWhyIGJlc3VjaHQgaGFsdGUgaWNoIGZ1ZXIgZnJhZ3d1ZXJkaWcuCgpOYSBqYSwgc292aWVsIGRhenUgdW5kLCBhZWhtLCBnZWhvZXJ0IGRhcyBlaWdlbnRsaWNoIG5pY2h0IGVoZXIgaW4gZWluZQpNYWdpZXJydWJyaWsgPyAKCkFiZXIgd2FyIG5ldHQgLCBkYXNzIHdpciBtYWwgZGFydWViZXIgZ2VzcHJvY2hlbiBoYWJlbiA6KQoKTGFpbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZ1cnplbiB6dW0gendlaXRlbiAoR3JpbW1ib3JuLCAyMS4gSmFuIDE5OTcsIDE0OjExOjMzKToKfiMhIHJuPUxhaWxhIHJ0PTg1Mzg0ODk5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1Mzc5NTMyMApSTSB3aXJkIG1hbiwgaW5kZW0gZWluIChnZWxlZ2VudGxpY2ggYXVjaCBtZWhyZXJlKSBFcnptYWdpZXIgbWVpbmVuLCBkYQptdWVzc3RlIGVpbiBSTSBoZXIuIERhbm4gd2lyZCBkZXIgbGV2ZWwgZ2VzZXR6dCB1bmQgZGllIFJlZ2lvbiwgdW5kIGRhcyB3YXJzLgoKR3J1bmRzYWV0emxpY2gga2FubiBlaW4gUk0gYW5zY2hsaWVzc2VuIHdhcyBlciB3aWxsLCBhbGxlcmRpbmdzIGlzdCBhdWNoIGVyCmRlbiBhbGxnZW1laW5lbiBSZWdlbG4gdmVycGZsaWNodGV0LCB1bmQgYXVjaCBlaW4gUk0gaXN0IGVpZ2VudGxpY2gKdmVycGZsaWNodGV0LCBuZXVlIFdhZmZlbiwgUnVlc3R1bmdlbiBldGMuIHZvbSB6dXN0YWVuZGlnZW4gTWFnaWVyIGFibmVobWVuIHp1Cmxhc3Nlbi4gVW5kIG5hdHVlcmxpY2ggc2luZCBpaG0gZGllIEVNICJ1ZWJlcmdlb3JkbmV0Iiwgd2VubiBkaWUgYWxzbyBuaWNodHMKd2VpdGVyIHp1IHR1biBoYWJlbiBrb2VubmVuIHNpZSBpaG0gbmFjaCBCZWxpZWJlbiBpbiBkaWUgU3VwcGUgc3B1Y2tlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZnVyemVuIHp1bSB6d2VpdGVuIChGeXQsIDIxLiBKYW4gMTk5NywgMTk6NTc6MjQpOgp+IyEgcm49TGFpbGEgcnQ9ODUzODQ4OTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzNzk1MzIwCgpIbSwgV3VyemVsIHdhciB3b2hsIGFtIEFuZmFuZyBtYWwgZGEgdW5kIGRhbm4gbmUgV2VpbGUgbmljaHQgdW5kIGRhbm4KZHVyZnRlIGVyIHdpZWRlciB3ZWl0ZXJtYWNoZW4sIHdvIGVyIGF1ZmdlaGFsdGVuIGhhdC4gWlVtaW5kZXN0IGhhYiBpY2ggZGFzCm1hbCBzbyBlcnphZWhsdCBiZWtvbW1lbi4gSW4gZGVyIFp3aXNjaGVuemVpdCBoYXQgc2ljaCBhbGxlcmRpbmdzIGRhcwphbGxnZW1laW5lIE5pdmVhdSBpbSBNdWQgZG9jaCBldHdhcyBlcmhvZWh0LCB1bmQgUk0gd2VyZGVuIGlzdCB3b2hsIG5pY2h0Cm1laHIgc29vb29vIGxlaWNodC4KClB1bmt0IDI6IFdlbm4gV3VyemVsIG51ciBmdWVyIGRpZSBVbnRlcndlbHQgcHJvZ2dlbiB3dWVyZGUsIHdhZXJlIGRhcwp6d2FyIHNjaGxlY2h0IGdlbnVnLCBhYmVyIGVydHJhZWdsaWNoLCBkZW5uIGRhIG11c3Mgd2lya2xpY2gga2VpbmVyIGhpbi4KU2VpbmUgVmllY2hlciBsYXVmZW4gYWJlciBhdWNoIGluIGRlciBFYmVuZSBydW0uIFp1bWluZGVzdCBoYWIgaWNoIG1pciBkZW4KbGV0enRlbiBhdWYgZGVtIFdlZyB2b24gbWVpbmVtIEhhdXMgKGF1ZiBkZXIgTmFibGFpbnNlbCkgdWViZXIgTW9yb24gaW5zCk5lYW5kZXJ0YWwgZWluZ2VmYW5nZW4uIFVuZCBkaWUgRWJlbmUga2FubiBtYW4gbmljaHQgc28gZ3V0IG1laWRlbi4uLgoKVW5kIHp1bSBkcml0dGVuOiBJY2gga2FubiBzY2hsZWNodCBpbiBuZSBNYWdpZXJydWJyaWsgcG9zdGVuIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogZnVyemVuIHp1bSB6d2VpdGVuIChIb29kLCAyMS4gSmFuIDE5OTcsIDIwOjIxOjU2KToKfiMhIHJuPUZ5dCBydD04NTM4NzMwNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTM3OTUzMjAKaWNoIGRlbmsgbWFsLCB3dXJ6ZWwga2FubiBudXIgdWViZXJnbHVlY2tsaWNoIHVlYmVyIHNvIHZpZWwgcmVzb25hbnogc2Vpbi4KZGFzIGdlbGluZ3QgbnVyIHdlbmlnZW4uLi5tZWluZW4gZ2x1ZWNrd3Vuc2NoIGhpZXJ6dSEKbGFzcyBkaWUgbGV1dGUgcnVoaWcgcnVtbWVja2Vybi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZ1cnplbiB6dW0gendlaXRlbiAoRnl0LCAyMS4gSmFuIDE5OTcsIDIwOjI0OjM2KToKfiMhIHJuPUhvb2QgcnQ9ODUzODc0NTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzNzk1MzIwCgpOYWphLCBpY2ggaGFiIG5vY2ggbmllIGJlaGF1cHRldCwgZGFzIFd1cnplbCB2b2VsbGlnIHVubnVldHogd2FlcmUuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hdGhlcHJvYmxlbSAoQW56ZWlnZSBpc3Qgdm9sbCA7KCAoQ2hpY29sYSwgMjEuIEphbiAxOTk3LCAyMDozNzo1Mik6CkhpIDopCgpJY2ggaGFiIGVpbiBQcm9ibGVtOiBLYW5uIG1pciBqZW1hbmQgbWFsIGVpbmUgYWxsZ2VtZWluZ3VlbHRpZ2UgRm9ybWVsIGZ1ZXIKZGFzIEtyZXV6cHJvZHVrdCBnbGVpY2hsYW5nZXIgVmVrdG9ybiBzY2hyZWliZW4gPyAKSWNoIGhhYiBlcyBtb21lbnRhbiBudXIgZnVlciBMYW5nZSAzIGRhIDsoIAoKRGFua2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYXRoZXByb2JsZW0gKEFuemVpZ2UgaXN0IHZvbGwgOyggKEZ5dCwgMjEuIEphbiAxOTk3LCAyMDo0MzozNSk6Cn4jISBybj1DaGljb2xhIHJ0PTg1Mzg3NTQ3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1Mzg3NTQ3MgoKSG0sIGRpcmVrdCB2ZXJhbGxnZW1laW5lcmJhciBpc3QgZXMgLi4uIGFlaG0uLi4gTWF0aGVtYXRpY2EgaHQgd2FzIG5hbWVucwonT3V0ZXInLCBpY2ggaGFiIGFiZXIgaW0gTW9tZW50IG5pY2h0IGRpZSBNb2VnbGljaGtlaXQsIG5hY2h6dXNjaGF1ZW4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXdXJ6ZWwgdW5kIHJ1bWZ1cnplbiAoWnVlcmlsZXUsIDIxLiBKYW4gMTk5NywgMjE6MzQ6MzcpOgpISSwKRnl0LCB3ZW5uIHdpciBoaWVyIGFsbGVzIGxvZXNjaGVuIHd1ZXJkZW4gd2FzIGlyZ2VudCB3ZWxjaGVuIFNwaWVsZXJuIG5pY2h0CnBhc3N0LCBkYW5uIGtvZW5udGVuIHdpciB3b2hsIGRpY2h0IG1hY2hlbi4gSWNoIG1laW5lIGhleSwgbmltbSBkYXMgZG9jaCBtaXQKSHVtb3IsIGVzIGdpZWJ0IGphIGF1Y2ggZWluZSBIZWlsdW5nLiBJY2ggcGxhZ2UgbWljaCBpbiBkZXIgUmVhbGl0YWV0IGF1Y2gKc2VpdCAxIFdvY2hlIG1pdCBlaW5lciB2ZXJrYWVsdHVuZyBydW0sIGljaCB2ZXJsYW5nZSBhdWNoIG5pY2h0IGRhcyBtYW4KZGVuamVuaWdlbiBGb2x0ZXJ0IHVuZCBlcmhhZW5ndCBkZXIgbWlyIGRpZXNlIEdyaXBwZSBhbmdlc3RlY2t0IGhhdCAob2J3b2hsCmRpZXNlIFZvcnN0ZWxsdW5nIG1pY2ggaXJnZW50d2llIG5vY2ggZXJmcmV1ZW4gd3VlcmRlKS4gTmFqYSBlZ2FsLCBuaW1tcyBtaXQKaHVtb3IsIFd1cnplbCBtYWNodCBkYXMgc2Nob24gcmVjaHQuIFVuZCBpY2gga2VubmUgRGluZ2Ugdm9uIFd1cnplbCBkaWUKd2lya2xpY2ggZ3V0IHNpbmQuIApSZWdpb25zbWFnaWVyIGthbm4gbWFuIGhpZXIgcGVyIGd1dGVyIExlaXN0dW5nZW4gb2RlciBpbSBhbnNjaGx1c3MgZWluZXIgbmV1ZW4KUmVnaW9uLCB3ZW5uIG1hbiBkaWUgaWRlZW4gbWl0YnJpbmd0IHVuZCBlcyB3YXMgYmVzb25kZXJzIG5ldWVzIGlzdCwgd2VyZGVuLgpJY2ggZGVua2UgaGllciBudW4genUgdXJ0ZWlsZW4sIHdlciBkZW4gUk0gdmVyZGllbnQgaGF0IG9kZXIgbmljaHQsIHN0ZWh0IGV1Y2gKbmljaHQgenUgdW5kIG1pciBhdWNoIG5pY2h0LiBEYXMgZW50c2NoZWlkZW4gYW5kZXJlLCB1bmQgaWNoIGRlbmtlIGRpZSB3aXNzZW4Kc2Nob24gd2VyIGRlbiBSTSB2ZXJkaWVudCBoYXQgdW5kIHdlciBuaWNodC4KClRzY2h1ZXNzIFp1ZXJpbGV1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV3VyemVsIHVuZCBydW1mdXJ6ZW4gKEFzbW9kaXMsIDIxLiBKYW4gMTk5NywgMjI6Mjc6MTYpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODUzODc4ODc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODUzODc4ODc3CkhtbSwgbWFuIG11c3MgZXMgamEgbmljaHQgbG9lc2NoZW4sIG1hbiBzb2xsdGUgbnVyIHZlcmhpbmRlcm4sIGRhc3MKZGllc2VyIE5QQyBpbiBkZXIgRWJlbmUgaGVydW1sYWV1ZnQsIHdvIGVyIHVlYmVyaGF1cHQgbml4IHp1IHN1Y2hlbgpoYXQuIApVbmQga29tbXQgbWlyIGpldHp0IG5pY2h0IG1pdCBBbmR5IHVuZCBIaXBwZSBvZGVyIGRlbiBSYWV1YmVybiwgZGllIGRhCmhlcnVtbGF1ZmVuLCBkaWUgaGFiZW4gd29obCB3ZW5pZ3N0ZW5zIGVpbmUgRXJsYXVibmlzIHZvbSBFYmVuZW4tUk0KYmVrb21tZW4gZGF6dSwgYXVzc2VyZGVtIG5lcnZlbiBzaWUgbmljaHQgaW4gREVNIE1hc3NlLgoKQWxzbyB3ZW5uIGRlciAnRnVyemVyJyBpbiBkZXIgVW50ZXJ3ZWx0IGhlcnVtbGFldWZ0IGhhYiBpY2gKbml4IGRhZ2VnZW4sIGFiZXIgbmljaHQgYXVmIG9lZmZlbnRsaWNoZW4gV2VnZW4gISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbmVyYWx2ZXJzYW1tbHVuZyAoS2lyaywgMjIuIEphbiAxOTk3LCAxMDowNTo1Nyk6CkhhbGxvIQogCkFubGFlc3NsaWNoIGRlciBNRy1QYXJ0eSBpbiBLYXJsc3J1aGUgd2lyZCBhbSAyMi4wMi45NyBlaW5lIFZlcmVpbnMtCkdlbmVyYWx2ZXJzYW1tbHVuZyBzdGF0dGZpbmRlbi4gV2lyIGhvZmZlbiwgZGFzcyBkaWVzZXIgVGVybWluIGZ1ZXIgbW9lZ2xpY2hzdAp2aWVsZSBNaXRnbGllZGVyIHBhc3N0LgogClRhZ2Vzb3JkbnVuZzoKIAoxLiBCZWdydWVzc3VuZyBkdXJjaCBkZW4gVm9yc2l0emVuZGVuICAgCjIuIFJ1ZWNrYmxpY2sgYXVmIGRhcyBhYmdlbGF1ZmVuZSBHZXNjaGFlZnRzamFociAxOTk2IChNaXRnbGllZGVyYmV3ZWd1bmcsClZlci0KICAgYW5zdGFsdHVuZ2VuLCBFcndlaXRlcnVuZ2VuIGRlcyBSZWNobmVycywgdXN3LikKMy4gS2Fzc2VuYmVyaWNodCAgIAo0LiBCZXJpY2h0IGRlciBLYXNzZW5wcnVlZmVyICAgCjUuIEVudGxhc3R1bmcgZGVzIFZvcnN0YW5kZXMgICAKNi4gTmV1d2FobGVuIChsYXV0IFNhdHp1bmcgbXVzcyB0dXJudXNnZW1hZXNzIGRlciBrb21wbGV0dGUgVm9yc3RhbmQgbmV1ICAgCiAgIGdld2FlaGx0IHdlcmRlbikgICAKNy4gVm9yc2NoYXUgYXVmIGRhcyBKYWhyIDE5OTcgKEFrdGl2aXRhZXRlbiBkZXMgVmVyZWlucyBpbSBKYWhyIDE5OTcpICAgICAgCjguIFZlcnNjaGllZGVuZXMgICAgICAKIApEZXIgZ2VuYXVlIFplaXRwdW5rdCB1bmQgT3J0IHdpcmQgbm9jaCBiZWthbm50Z2VnZWJlbi4KIApNaXRnbGllZGVyLCBkZXJlbiBNaXRnbGllZHNhbnRyYWcgYmlzIHp1bSBCZWdpbm4gZGVyIEdWIHZvcmxpZWd0IGtvZW5uZW4Kc2VsYnN0dmVyc3RhZW5kbGljaCBnZXJuZSB0ZWlsbmVobWVuLgogCkdydWVzc2UKIApLaXJrQE1HCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChHYXN0MSwgMjcuIEphbiAxOTk3LCAxMTozNDo0NCk6CkxlaWRlciBrYW5uIGljaCAoRGlkaSkgZGllc2VuIEFydGlrZWwgbmljaHQgaW4gbWFnaWVyLmV0aWtldHRlIHNjaHJlaWJlbiwgd2VpbAppY2ggd2llZGVyIG1hbCBpbSBLbmFzdCBiaW4gKGZ1ZXIgbWVpbiBCZWdydWVzc3VuZ3NydWZlbikuCgpadXIgU2FjaGU6CgpBbiBHcmltbWJvcm4gdW5kIGFsbGUsIGRpZSBnZXJuIG1hbCBldHdhcyBuYWNoZGVua2VuOgoKRGFzIG1lbnNjaGxpY2hlIExlYmVuIGlzdCBlaW5lIG1laHIgb2RlciB3ZW5pZ2VyIGxhbmdlIEtldHRlIGF1cyBnZW1hY2h0ZW4KRXJmYWhydW5nZW4uIFVuZCBlaW5lIGRlciBlcnN0ZW4gRXJmYWhydW5nZW4sIGRpZSBlaW4gbmV1Z2Vib3JlbmVzCk1lbnNjaGVua2luZAppbiBzZWluZW0gTGViZW4gbWFjaHQsIGlzdCBkaWUsIGRhc3MgU2NoZWlzc2Ugc3Rpbmt0LiBTaWNoZXJsaWNoIGhhdCBhdWNoCnVuc2VyCmFsbGVyIEZyZXVuZCBHcmltbWJvcm4gZGllc2UgRmVzdHN0ZWxsdW5nIG1hY2hlbiBrb2VubmVuLiBHbHVlY2tsaWNoZXJ3ZWlzZQppc3QgZGVyIE1lbnNjaCBpbiBMYWdlIHp1IGxlcm5lbi4gRnJ1ZWhlciBvZGVyIHNwYWV0ZXIgd2lyZCBlaW4gamVkZXIKRmFla2FsaWVuCnVuZCB2ZXJudWVmdGlnZXJ3ZWlzZSBhdWYgZWluZW4gYWJzaWNodGxpY2hlbiBLb250YWt0IG1pdCBkZXJhcnRpZ2VuCkF1c3NjaGVpZHVuZ2VuIHZlcnppY2h0ZW4uIE5pY2h0IHNvIEdyaW1tYm9ybi4gTGllYmVyIEdyaW1tYm9ybiwgZnVlciBEaWNoIGlzdApvZmZlbmJhciBtZWluIFByZXNheSBzY2hlaXNzZSB1bmQgYXVjaCB3YXMsIHdhcyBpY2ggYWIgdW5kIHp1IHZlcmJhbCBhYmxhc3NlLgpOYWNoZGVua2xpY2ggbWFjaHQgbWljaCwgZGFzcyBEdSBEaXIgZnJlaXdpbGxpZyBkaWVzZSBTY2hlaXNzZSBhbnR1c3QuIER1IGhhc3QKZGFzIGRvY2ggc2VsYnN0IGluIGRlciBIYW5kOiAnaWdub3JpZXJlIGRpZGknLiBXYXJ1bSBzdGVsbHN0IER1IERpY2ggZGFzIHNvCnVuYmVob2xmZW4gd2llIGVpbiBrbGVpbmVzIEtpbmQgYW4/IC0gS29wZnNjaHVldHRlbG4gbWVpbmVyc2VpdHMuLi4gRGVuIFZvZ2VsCnNjaGllc3N0IER1IGFiZXIgZGFtaXQgYWIsIGRhc3MgRHUgRGljaCBkYW5uIGhpbnRlcmhlciBub2NoIGJlc2Nod2Vyc3QsIERpciBzbwplaW5lbiBTY2hlaXNzIGFuaG9lcmVuIHp1IG11ZXNzZW4uLi4gT2plLgoKU29ycnkgZnVlciBkaWUgRmFla2Fsc3ByYWNoZSwgYWJlciBpY2gga2FubiBHcmltbWJvcm4gaGFsdCBuaWNodCBsZWlkZW4gc2VoZW4uClZpZWxsZWljaHQga2FwaWVydCBlciBhdWYgZGllIEFydCwgd2llIGxhY2hoYWZ0IHNlaW4gVmVyaGFsdGVuIGlzdC4KCiAgICAgICAgICAgIERpZGkKClAuUy46IERpZXNlciBBcnRpa2VsIGlzdCBzY2hlaXNzZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChPZXR0aSwgMjcuIEphbiAxOTk3LCAxMTozNzo1Nik6Cn4jISBybj1HYXN0MSBydD04NTQzNjEyODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKS3VyemUgQW50d29ydC4uLgoKRGlkaSBEdSBiaXN0IGhhbHQgJ25lIGFybWUgU29ja2UuLi4KCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByZXNheXMgdW5kIGlkZSB2b24gR3JpbW1ib3JuIGF1c2dlbG9lc3RlIERpc2t1c3Npb24gKEdyaW1tYm9ybiwgMjcuIEphbiAxOTk3LCAxMTozOToxNCk6Cn4jISBybj1HYXN0MSBydD04NTQzNjEyODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKV2FzIERlaW5lIEF1c2Z1ZWhydW5nZW4genVtIFRoZW1hICJTY2hlaXNzZSIgYW5nZWh0IHplaWdlbiBzaWUgbnVyLCBkYXNzIER1CnZvbiBkZXIgRW50d2lja2x1bmcgZGVzIEtpbmRlcyB1bmQgUGFlZGFnb2dpayBBVUNIIGtlaW5lIEFobnVuZyBoYXN0LgpXYXMgRGVpbmUgQmVzY2h3ZXJkZW4gYW5nZWhlbjogRmluZGVzdCBEdSBlcyBuaWNodCBwZWlubGljaCwgRGlyIGRhcyBSZWNodCB6dQpuZWhtZW4gYW5kZXJlIHp1IGFlcmdlcm4sIGFiZXIgRGljaCBkYW5uIHp1IGJlc2Nod2VyZW4sIHdlbm4gYW5kZXJlIERJY2gKYWVyZ2Vybj8gTmFqYSwgd2VyIHd1ZXJkZSB2b24gRGlyIGF1Y2ggc293YXMgd2llIG1lbnNjaGxpY2hlIEdyb2Vzc2UgKHVuZCBzZWkKZXMgbnVyIHJ1ZGltZW50YWVyZSkgZXJ3YXJ0ZW4uLi4KSWNoIGhhYmUgbWljaCBuaWNodCBiZXNjaHdlcnQgdWViZXIgZGFzIHByZXNheSwgaWNoIGhhYmUgZ2V3YXJudC4gRGFzIGlzdCBlaW4KZ2V3YWx0aWdlciBVbnRlcnNjaGllZC4uLgoKVW5kIGFuc29uc3RlbjogSGV1bCBkb2NoLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByZXNheXMgdW5kIGlkZSB2b24gR3JpbW1ib3JuIGF1c2dlbG9lc3RlIERpc2t1c3Npb24gKEdhc3QxLCAyNy4gSmFuIDE5OTcsIDEyOjAyOjAzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTQzNjE1NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKVGphLCBHcmltbWJvcm4sIHdhcm5lbiBpc3QgZ3V0LiBXYXJuZW4gbWFjaHQgc29sY2hlIEFrdGlvbmVuIHdpZQpJbnZlbnRvcnktTG9lc2NoZW4gYXVjaCBuaWNodCBsZWdhbC4gTWFuIGthbm4gYXVjaCBuaWNodCBlaW5lbiBNZW5zY2hlbgp1bWJyaW5nZW4gdW5kIGRhcyBkYW1pdCByZWNodGZlcnRpZ2VuLCBkYXNzIG1hbiBpaG4gdm9yaGVyIGdld2FybnQgaGF0LiBJbQp1ZWJyaWdlbiBoYXN0IER1IGR1cmNoYXVzIGRhcyBSZWNodCBhdWYgZWluZW4gZWlnZW5lbiBHZXNjaG1hY2gsIGFiZXIgdmVyc3VjaApuaWNodCwgZGllc2VuIGFuZGVyZW4gYXVmenV6d2luZ2VuLiBTZWxic3RqdXN0aXogaXN0IGhpZXIgbmljaHQgZ2VmcmFndC4KCiAgICAgRGlkaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoT2V0dGksIDI3LiBKYW4gMTk5NywgMTI6MDU6NTApOgp+IyEgcm49R2FzdDEgcnQ9ODU0MzYyOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0ClNlbGJzdGp1c3RpeiBpcyBoaWVyIG5pY2h0IGdlZnJhZ3QsIGFiZXIgbWVocmZhY2hlcyBiZWxhZXN0aWdlbgp3ZWlibGljaGVyIFNwaWVsZXIsIGF1Y2ggd2VubiBkaWUgd2FzIGRhZ2VnZW4gaGFiZW4gaXN0IG8uay4sIGdlbGxlCkRpZGkuLi4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByZXNheXMgdW5kIGlkZSB2b24gR3JpbW1ib3JuIGF1c2dlbG9lc3RlIERpc2t1c3Npb24gKFNpZG9saW4sIDI3LiBKYW4gMTk5NywgMTI6MDc6NDcpOgp+IyEgcm49R2FzdDEgcnQ9ODU0MzYyOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0CkhpaGkuLi4gQWxzIFBhbXBlcnMgZGFzIGFsbGVzIGdlbWFjaHQgaGF0LCBvaG5lIERpY2ggenUgd2FybmVuLCBoYXN0IER1IERpY2gKbmljaHQgc28ga3VlbnN0bGljaCBhdWZnZXBsdXN0ZXJ0Li4uCgpIZXV0ZSBTY2hsZWNodGUgTGF1bmU/CgpTaWRvbGluLiBHYXIgbmljaHQgaGllci4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChHcmltbWJvcm4sIDI3LiBKYW4gMTk5NywgMTI6MDg6MTEpOgp+IyEgcm49R2FzdDEgcnQ9ODU0MzYyOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0CkljaCBoYWIgRGVpbiBpbnZlbnRvcnkgbmljaHQgZ2Vsb2VzY2h0LCB6dW1pbmRlc3QgZ2lidCBlcyBuY2lodHMsIHdhcyBpY2gKZ2V0YW4gaGFiZSwgd2FzIERlaW4gaW52IGhhZXR0ZSBsb2VzY2hlbiBkdWVyZmVuLiBNb2VnbGljaGVyd2Vpc2UgYmluIGljaCBqYQpuaWNodCBEZWluIGVpbnppZ2VyICJGZWluZCIuIFdlbm4gaWNoIERlaW4gaW52IGhhZXR0ZSBsb2VzY2hlbiB3b2xsZW4gc29sbHRlCmVpZ2VudGxpY2ggc29nYXIgRGlyIGtsYXIgc2VpbiwgZGFzcyBpY2ggZGFzIGFuZ2VrdWVuZGlndCB1bmQvb2RlciB6dWdlZ2ViZW4KaGFldHRlLiBVbmQgbGVnYWw/IFJlbm4gZG9jaCB6dSBEZWluZW0gQW53YWx0IHVuZCB2ZXJrbGFnIG1pY2gsIGljaCBzZWhlIGRlbQpnZWxhc3NlbiBlbnRnZWdlbiAoc2VsYnN0IHdlbm4gRHUgenUgc28gZWluZW0gc2NoYXJmZW4gSHVuZCB3aWUgQ2F0KiBnZWhlbgpzb2xsdGVzdCkuCkljaCB1ZWJlIGhpZXIgaW1tZXIgU2VsYnN0anVzdGl6LCB1bmQgYmVpIERpciBzb2dhciBtaXQgZ3JvZXNzdGVtIFZlcmdudWVnZW4uClNpYy4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoU3VuZmxvd2VyLCAyNy4gSmFuIDE5OTcsIDEyOjA5OjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTQzNjMyOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKbmFqYSBkYXMgbHVwZS1kZXN0cnVjdGVuIGlzdCBqYSBhdWNoIG5pY2h0IGRpZSBmZWluZSBlbmdsaXNjaGUgYXJ0IChhYmVyIHdpcgpzaW5kIGphIGluIGRldXRzY2hsYW5kIDopICkKCmplZGVuZmFsbHMsIGFscyBtaWNoIHlhbnRybyBtaXQgZWluZW0gdG9vbCBpbnMgamFpbCBnZXN0ZWNrdCBoYXQsIHdhcmVuIGF1Y2gKYmVzdGltbXRlIGRpbmdlIHdlY2gsIHdpZSB6dW0gYmVpc3BpZWw6IGZiYW5kLCBlaGVyaW5nIHVuZCB6ZWl0dW5nCgpOYSB1bmQgPwoKTWFnaWVyIHNpbmQgZG9jaCBmaWVzIDopPSAKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoQmVybmllLCAyNy4gSmFuIDE5OTcsIDEyOjQ2OjMyKToKQWxzbywgaWNoIGJpbiB6d2FyIG51ciBlaW4ga2xlaW5lciBTcGllbGVyLCBtb2VjaHRlIGFiZXIgdHJvdHpkZW0gbWVpbmUKTWVpbnVuZyBoaWVyIHZvcmJyaW5nZW4gISEhCkljaCBoYWJlIGhldXRlIG1pdGVybGVidCwgd2llIGVpbiBGcmV1bmQgdm9uIG1pciAoTWFnaWVyKSB3ZWdlbiBzZWluZXMgUHJlc2F5CmluIGRhcyBKYWlsIGdlc3RlY2t0IHd1cmRlICEKSWNoIGZpbmRlIGplZGVyIHNvbGx0ZSBkYXMgUmVjaHQgYXVmIGZyZWllIE5hbWVuc2dlYnVuZyBoYWJlbiwgc29mZXJuIGVyIGRhcwpMZXZlbCBkYWZ1ZXIgaGF0ICEhIQpXZW5uIG1hbiBzY2hvbiBkaWUgTmFtZW4gdm9uIFNwaWVsZXJuIG9kZXIgTWFnaWVybiBoaWVyIGJlc3RpbW1lbiB3aWxsLCBmaW5kZSAKaWNoIGRhcyBlY2h0IGFybSAhCkljaCBkYWNodGUsIHdpciBzaW5kIGluIGVpbmVtIGZyZWllbiBMYW5kLCBhYmVyIGRhcyBzY2hlaW50IGhpZXIga2VpbmUgUm9sbGUKenUgc3BpZWxlbiAhClVuZCBmYWRlbnNjaGVpbmlnZSBBcmd1bWVudGUsIHdpZSB6YiBlcyBrb2VubnRlIEFuc3RvZXNzZSBzZWl0ZW5zIGRlciBQcmVzc2UKZ2ViZW4sIGZpbmRlIGljaCBhcmcgdWViZXJ0cmllYmVuLCBkZW5uIGRhbm4gbXVlc3N0ZW4gZWluaWdlIG1laHIgaGllciBGZWRlcm4KbGFzc2VuICEhIQpEZW5uIGF1Y2ggT2V0dGkgYmVuaW1tdCBzaWNoIG5pY2h0IGltbWVyIGtvcnJla3QsIG5hZWhlcmUgQXVzZnVlcnVuZ2VuIG1hY2hlCmljaCBqZXR6dCBuaWNodCwgZGVubiBpY2ggd2lsbCBtaWNoIG5pY2h0IGF1ZiBkaWUgc2VsYmUgU3R1ZmUgc3RlbGxlbiwKd2llIGVpbmlnZSBJbmRpdmlkdWVuIGhpZXIgISEhCgpTbywgbnVuIGxhZXN0ZXJ0IGF1Y2ggdWViZXIgbWljaCwgb2RlciBzdGVja3QgbWljaCBhdWNoIGlucyBKYWlsLCBkYSBpY2ggamEKamV0enQgd2Fyc2NoZWlubGljaCBSZWdpbWVrcml0aXNjaCBiaW4gLCBvZGVyIGF1ZXNzZXJ0IGV1Y2ggd2VuaWdzdGVucyBkYXp1CiEhIQoKQmVybmllICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChCZW5kZWlnaWQsIDI3LiBKYW4gMTk5NywgMTI6NTA6MDYpOgp+IyEgcm49QmVybmllIHJ0PTg1NDM2NTU5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpNZWluIEJlaWxlaWQsIEJlcm5pZSEKClNvd29obCB6dW0gVGhlbWEgRnJldW5kZSB3aWUgYXVjaCB6dW0gVGhlbWEgQXVzcnVmZXplaWNoZW4uCgpXYXMgbWljaCBhbGxlcmRpbmdzIG1laHIgc3RvZXJ0IGlzdCwgZGFzcyBzaWNoIGRpZSBTYWNoZSBoaWVyIGdsZWljaCBzbwpwb2xhcmlzaWVydC4gIiBEYXMgaXN0IG1laW4gRnJldW5kLCBhbHNvIGhhdCBlciBSZWNodCwgZGVuIGtlbm4gaWNoIG5pY2h0IG9kZXIKZmluZCBpY2ggZG9vZiB1bmQgZGFydW0gaGF0IGVyIHVucmVjaHQuIgpEaWUgU3RvcnkgaGF0IGVpZ2VudGxpY2ggYWJzb2x1dCBOSUNIVFMgaW4gYWxsZ2VtZWluIHZlcmxvcmVuLCBzb25kZXJuIGluCm1hZ2llcnJ1YnJpa2VuLCB1bmQgc2VsYnN0IGRhIHRhdWd0IHNpZSBlaWdlbnRsaWNoIG51ciB3YXMgZnVlcgptYWdpZXIuc2NobWFycm4uCgpaJ3BhciBTZXJ2dSwKICAgICAgICAgICAgICAgQmVuZGVpZ2lkCgpQLlMuOiBNYWdpZXIga29lbm5lbiBpaHIgSW52ZW50b3J5IGxlaWNodCBzZWxiZXIgd2llZGVyIGhlcnN0ZWxsZW4uIERhcyBpc3QKa2VpbiBHcnVuZCB6dW0gaGV1bGVuLCBlcyBpc3QgbnVyIGxhZXN0aWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGJpbiBtYWVjaHRpZyBlcnN0YXVudCAhISEgKFFpdGVzcywgMjcuIEphbiAxOTk3LCAxMjo1MDoxMSk6Cn4jISBybj1CZXJuaWUgcnQ9ODU0MzY1NTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzY1NTkyCmF1Y2ggaW4gZGllc2VtIHVuc2VyZW4gbGFuZGUgZ2lidCBlcyBnZXdpc3NlIGF1ZmxhZ2VuIGJlenVlZ2xpY2ggZGVyCm5hbWVuc2dlYnVuZy4gc28gZHVlcmZlbiBhbnN0b2Vzc2lnZSAibmFtZW4iIG5pY2h0IGdlYnJhdWNodCB3ZXJkZW4uIHVzd3VzZgoKcWkqKgpubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoUGF0cnluLCAyNy4gSmFuIDE5OTcsIDEyOjU0OjI0KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NTQzNjU4MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjU1OTIKc28uLi5rZWluIGdydW5kIHp1bSBoZXVsZW4/ISB3ZW5uIGljaCBkZWluZW4gY2hhcmFrdGVyIGxvZXNjaGUsIHNvIGthbm4gZXMKZGljaCBqYSBhdWNoIG5pY2h0IHdlaXRlciBzdG9lcmVuOiBkdSBrYW5uc3QgamEgbmVuIG5ldWVuIGNoYXJha3Rlcgpob2Noc3BpZWxlbiA7KSBpY2ggZmluZCBlcyBqZWRlbmZhbGxzIG1laHIgYWxzIG51ciBsYWVzdGlnLi4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChTdW5mbG93ZXIsIDI3LiBKYW4gMTk5NywgMTI6NTQ6MzEpOgp+IyEgcm49UWl0ZXNzIHJ0PTg1NDM2NTgxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpVbnNlciBsYW5kID8gd2llc28gdW5zZXIgbGFuZCA/CgpBbHNvIG1laW4gTGFuZCBpc3NlcyBiZXN0aW1tdCBuaWNodCwgb2RlciBkb2NoID8gRGF2b24gbWVya2UgaWNoIGFiZXIgbmljaHQKdmllbC4gQWJlciBpY2ggaGFiZSBqYSBkYXMgUmVjaHQgYXVmIEZyZWloZWl0LCBvZGVyIG5pY2h0ID8gS29taXNjaCwgaXN0CmRhcyBhYmVyIGVpbmUgc2Nob2VuZSBGcmVpaGVpdCwgZGllIEdlbGQga29zdGV0LCBkYXJ1bSBzdGVodCBFaW5pZ2tlaXQgdW5kClJlY2h0IHVuZCBGcmVpaGVpdCBhdWYgZGVuIEdlbGRzdHVlY2tlbiwgamV0enQgd2Vpc3MgaWNoIGVzIGVuZGxpY2guClZpZWxsZWljaHQgc29sbHRlIGljaCBCdW5kZXNrYW56bGVyIHdlcmRlbiA6KSBkYSBrYW5uIGljaCBpbW1lciBTYXVtYWdlbiBlc3Nlbgp1bmQgZGFyZiB2ZXJyZWlzZW4uClN1bmZsb3dlcgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoR3JpbW1ib3JuLCAyNy4gSmFuIDE5OTcsIDEyOjU1OjA2KToKfiMhIHJuPUJlcm5pZSBydD04NTQzNjU1OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjU1OTIKIk11bHRpcGVsIGV4Y2xhbWF0aW9uIG1hcmtzIGFyZSBhIHN1cmUgc2lnbiBvZiBhIGRpc2Vhc2VkIG1pbmQhIiAoVC4KUHJhdGNoZXR0LCBFcmljLCBTLjEyMSkKCk5vYmVsLCBkYXNzIER1IHNvIGZ1ZXIgZGllIHRvdGFsZSBGcmVpaGVpdCBlaW50cml0dHN0LiBTZWkgZGFubiBkb2NoIGJpdHRlIHNvCmtvbnNlcXVlbnQgdW5kIG1hY2ggZWluIG11ZCBhdWYsIGluIGRlbSBOYW1lbiB3aWUgIkFkb2xmIiwgIkZhc2NoaXN0IiwKIktpbmRlcmZpY2tlciIgdS5hZS4gZXJsYXVidCB1bmQgZ2VybmUgZ2VzZWhlbiBzaW5kLiBJbSBNb3JnZW5ncmF1ZW4gYmlzdCBEdQpkYSBhbGxlcmRpbmdzIGZhbHNjaCwgZGFzIGlzdCBLb25zZW5zLiBEaWUgRGlza3Vzc2lvbiBnZWh0IG5pY2h0IGRhcnVtLCBvYiBlcwpHcmVuemVuIGdpYnQgc29uZGVybiBkYXJ1bSwgd28gc2llIHNpbmQuCkFiZXIgZ3V0LCBkYXNzIER1IGFscyBrbGVpbmVyIFNwaWVsZXIgRGlkaSBoaWxmc3QsIGRlbm4gYmVzc2VyIGthbm4gZXIgc2ljaApzZWxiZXIgb2ZmZW5zaWNodGxpY2ggYXVjaCBuaWNodCBoZWxmZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoT2V0dGksIDI3LiBKYW4gMTk5NywgMTI6NTY6MjcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1NDM2NjEwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpGcmllZGVuIHVuZCBMaWViZS4uLgoKSWNoIHNjaGxhZ2Ugdm9yLCB3aXIgdHJlZmZlbiB1bmQgYWxsZSBpbiBLYXJsc3J1aGUgdW5kIG1hY2hlbiBlaW4KV2V0dHBpY2tlbGF1c2RydWVja2VuIHVuZCBkZXIgR2V3aW5uZXIgZGFyZiBuZSBlY2h0ZSBGcmF1IGFuZmFzc2VuLi4uCgpOYSBkYXMgaXN0IGRvY2ggd2FzLi4uLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoU3VuZmxvd2VyLCAyNy4gSmFuIDE5OTcsIDEyOjU4OjUwKToKfiMhIHJuPU9ldHRpIHJ0PTg1NDM2NjE4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpXYXMgT2V0dGkgd2lyIGR1ZXJmZW4gZGljaCBhbmZhc3NlbiA/IDopIEFjaCBkYW5uIGlzdCBkb2NoIGRlaW5lIE9wZXJhdGlvbgp2b3IgZGVtIFRyZWZmZW4uIE5hIGRhbm4gdmllbCBnbHVlY2sgb2V0aWxpZSA6KQoKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChEaWRpLCAyNy4gSmFuIDE5OTcsIDEzOjQzOjI4KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NTQzNjU4MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjU1OTIKTmEgdW5kLCBCZW5kZWlnaWQ/CgpBdWNoIHdlbm4gbWFuIGRhcyBJbnZlbnRvcnkgd2llZGVyaGVyc3RlbGxlbiBrYW5uLCBpc3QgZGFzIGxhZW5nc3Qga2VpbiBHcnVuZCwKZXMgdWViZXJoYXVwdCBlcnN0IHp1IGxvZXNjaGVuLiBBcm1lLCBCZWluZSB1bmQgc29nYXIgZ2V3aXNzZSBHZXNjaGxlY2h0dGVpbGUKa2FubiBtYW4gYmVpIE1lbnNjaGVuIGF1Y2ggd2llZGVyIGFubmFlaGVuLiBBYmVyIGRhcyByZWNodGZlcnRpZ3QgYXVjaCBpbgprZWluc3RlciBXZWlzZSBkZXJlbiBBYnJpc3MuIEljaCB3aWxsIGRhbWl0IG51ciBzYWdlbjogQW4gYW5kZXJlbiBDaGFyYWt0ZXJlbgpydW16dXBmdXNjaGVuIGdlaHQgZWluZGV1dGlnIHp1IHdlaXQsIGF1Y2ggd2VubiBtYW4gYWxsZXMgd2llZGVyIHJ1ZWNrZ2FlbmdpZwptYWNoZW4ga2Fubi4gCgogICAgICAgIERpZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChPZXR0aSwgMjcuIEphbiAxOTk3LCAxMzo0NTo0Nyk6Cn4jISBybj1EaWRpIHJ0PTg1NDM2OTAwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpBYWFsc28KIEljaCBmaW5kZSBlcyBnaWJ0IG5lIE1lbmdlIExldXRlLApkZW5lbiBkaWUgR2VzY2hsZWNodHN0ZWlsZSBhYmdlcmlzc2VuIGdlaG9lcmVuLgoKQnR3LiBEaWRpLCBEdSB2ZXJnbGVpY2hzdCBkYXVlcm5kIGRhcyBNdWQgbWl0IFJMLCBpY2ggZGFjaHRlCkRlaW5lciBNZWludW5nIG5hY2ggaXN0IGRhcyBoaWVyIHdhcyBnYW56IGFuZGVyZXMsIHVuZCBkYXMgbXVzcyBtYW4KZG9jaCBhbGxlcyBuaWNodCBlcm5zdCBuZWhtZW4sIGRlc3dlZ2VuIGRhcmZzdCBEdSBEaWNoIGphIGF1Y2ggYmVuZWhtZW4gd2llIER1CndpbGxzdC4uLgoKV2lyIGxlZ2VuIGFsbGVzIHNvIGF1cyB3aWUgZXMgdW5zIHBhc3N0LCBobW0ga2xlaW5lciwgCkR1IEJJU1QgJ25lIGFybWUgU29ja2UgOy0pKSkKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSWNoIGJpbiBtYWVjaHRpZyBlcnN0YXVudCAhISEgKFN1bmZsb3dlciwgMjcuIEphbiAxOTk3LCAxMzo0Nzo0Mik6Cn4jISBybj1PZXR0aSBydD04NTQzNjkxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjU1OTIKT2V0dGkgd2lsbHN0IGR1IGRhbWl0IHNhZ2VuLCBkYXMgZGFzIE1VRCBuaWNodCBSTCBpc3QgPwoqd2VsdGJpbGQgenVzYW1tZW5icmVjaCoKV2FzIHNvbGwgaWNoIGpldHp0IG51ciB0dW4gPyBCaW4gaWNoIGVpbiBXYWlzZW5raW5kID8gSXN0IERhbmNlciB3aXJrbGljaApuaWNodAptZWluIFBhcGEgPywgV2VyIGlzdCBkYSBtZWluIFBhcGEgPyAKCkFsc28gT2V0dGkgYml0dGUgc2VpIG1pdCBkZWluZW4gQWV1c3NlcnVuZ2VuIGV0d2FzIHZvcnNpY2h0aWcgOikKCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoQmVuZGVpZ2lkLCAyNy4gSmFuIDE5OTcsIDEzOjQ5OjM2KToKfiMhIHJuPURpZGkgcnQ9ODU0MzY5MDA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzY1NTkyCk9oISEhISEhIEVuZGxpY2ghCgpBYmVyIGRlciBSZWloZSBuYWNoOiAKYSkgR3JpbW0gaGF0IGRlaW4gaW52IE5JQ0hUIGdlbG9lc2NodCwga2VpbmUgQWhudW5nIHdpZSBkYXMgZ2luZywgYWJlciBlciBoYXQKcmVjaHQ6IHdlbm5zIEFic2ljaHQgd2FlciBoYWV0dGUgZXJzIHp1Z2VnZWJlbiwgYWxsZWluLCB1bSBkYW1pdCB6dSBwcm90emVuLgpTb3dlaXQgc29sbHRlc3QgZHUgaWhuIGtlbm5lbi4KYikgU2ljaGVyIGVpbmUgbmV0dGUgSWRlZSwgZGFzcyBkdXogbWFsIHdpZWRlciBHZXNjaGxlY2h0c3RlaWxlIGluIGRlaW5lcgphcmd1bWVudGF0aW9uIGJyaW5nc3QuIEhhdCB6d2FyIG5peCBtaXQgZGVtIFRoZW1hIHp1IHR1biwgYWJlciBkYXNzIGRlaW5lCmdlZGFua2VuIGF1c3NjaGxpZXNzbGljaCB1bSBzb3dhcyB6dSBrcmVpc2VuIHNjaGVpbmVuIHdpcmQgd2llZGVyIG1hbCBiZWxlZ3QsCndlbm4gYXVjaCBuaWNodCBiZXdpZXNlbi4KYykgRGFua2UgZnVlciBkZWluZW4gbGV0enRlbiBTYXR6ISBXZXIgYW4gYW5kZXJlbiBDaGFyYWN0ZXJlbiBoZXJ1bXBmdXNjaHQKa3JpZWd0IGVpbnMgZHJhdWYsIHdlaWwgZXMgenUgd2VpdCBnZWh0LiBIYWx0IERpY2ggYml0dGUgZGFyYW4hIFNvbnN0IHdlcmRlCmljaCBtYWwsIHVtIGdlcndpc3NlbiBTcGllbGVybiB3aWUgQmVybmllLCBkaWUgb2ZmZW5zaWNodGxpY2gga2VpbmVybGVpCkhpbnRlcmdydW5kaW5mb3MgaGFiZW4gbWFsIGdld2lzc2UgSW5oYWx0ZSBEZWluZXMgL3BsYXllcnMvZGlkaSBoaWVyCnZvcmZ1ZWhyZW4uIFNvd2FzIGlzdCBwZXIgTWFnaWVydmVydHJhZyB2ZXJib3RlbiwgbmljaHQgZGFzIHByb2dnZW4sIGFiZXIgZGllCkFud2VuZHVuZywgd2VpbCBzaWNoIGRpZSBzcGllbGVyaW5uZW4gbmljaHQgd2VocmVuIGtvZW5uZW4gKE1hZ2llciBrb2VubmVuCmRhcywgb2RlciBrb2VubmVuIGVzIGxlcm5lbikgdW5kIHdpZSBkdSBzY2hvbiBzYWd0ZXN0LCBkYXMgaGVydW1wZnVzY2hlbiBhbgpDaGFyYWN0ZXJlbiBpc3QgdmVyYm90ZW4uCgpCZW5kZWlnZCwgb2huZSBaJ3BhciBzZXJ2dSwgd2VpbHMgYW4gRGlkaSBnZWh0CgpQLlMuOiBTcGllbGVyY2hhcmFjdGVyZSBzaW5kIHNjaHV0emxvcywgTWFnaWVyIG5pY2h0LiBVbmQgZGFyYW4ga2FubiBtYW4gYXVjaApydW1wZnVtbWVsbiwgd2VubiBtYW4gZGFzIGVjaG8gdmVydHJhZWd0CkRhcyBpc3QgS0VJTiBQZXJzaWxzY2hlaW4hISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChEaWRpLCAyNy4gSmFuIDE5OTcsIDEzOjQ5OjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTQzNjMyOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKTGVpZGVyIGZ1aHJzdCBEdSBEZWluZSBTZWxic3RqdXN0aXogbmljaHQgbWl0IGxldHp0ZXIgS29uc2VxdWVueiBkdXJjaC4gU29uc3QKaGFldHRlc3QgRHUgRGlyIHNlbGJzdCBzY2hvbiBvZnQgZ2VudWcgZGVuIEFyc2NoIGF1Zmdlcmlzc2VuLiBBYmVyIHdlbm4gbWFuIGluCmRlciBTY2hlaXNzZSBzdGVodCwgZGllIG1hbiBnZW1hY2h0IGhhdCwgc2llaHQgbWFuIHNpZSBuYXR1ZXJsaWNoIG5pY2h0IG1laHIuCkFiZXIgRHUgd2lyc3QgdHJvdHpkZW0gc3RpbmtlbiwgbGllYmVyIEdyaW1tYm9ybi4KCiAgICAgICBEaWRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChHcmltbWJvcm4sIDI3LiBKYW4gMTk5NywgMTM6NTc6MjUpOgp+IyEgcm49RGlkaSBydD04NTQzNjkzNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKU2FndCBtYWwsIGtlbm50IGRlciBLZXJsIGVpZ2VudGxpY2ggYXVzc2VyIEZhZWthbGllbiB1bmQgKHdpZSBhdWNoIGltbWVyCmdlYXJ0ZXRlbikgR2VzY2hsZWNodHN0ZWlsZW4gZWlnZW50bGljaCBzb25zdCBub2NoIHdhcyB2b24gZGllc2VyIChvZGVyIGVpbmVyCmJlbGllYmlnZW4gYW5kZXJlbikgV2VsdD8gTWVpbmUgR3VldGUsIGljaCB3aWxsIHdpcmtsaWNoIG5pY2h0IHdpc3Nlbiwgd28gZXIKYXVmZ2V3YWNoc2VuIGlzdC4KTmFqYSwgaWNoIGhhYmUgamEgYXVjaCBuaWUgZXJ3YXJ0ZXQsIGRhc3MgRHUgZGVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIERlaW5lbQp1bmQgbWVpbmVtIFZlcmhhbHRlbiB2ZXJzdGVoc3QuIFVuZCBkYXJhdXMgYWJsZWl0ZW4ga29lbm50ZXN0IHdpZXNvIGljaAp0YXRzYWVjaGxpY2ggaGFsYndlZ3MgYWt6ZXB0aWVydCB1bmQgZ2VhY2h0ZXQgYmluIChuYWphLCBuaWNodCB2b24gRGlyLCBhYmVyCmRhcyBiZXRyYWNodGUgaWNoIGFscyBwbHVzKSB1bmQgRHUgd2VuaWdlci4gCkFiZXIgRHUgd2lyc3QgdmVybXV0bGljaCBzYWdlbiwgZGFzcyBkZXIgR2VzdGFuayBtaXIgbnVyIGRhcyBVcnRlaWxzdmVybW9lZ2VuCnRydWVidC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGlzdCBpbW1lciBpbiB1bnRlciAyMCBtaW4gYXVzIGRlbSBqYWlsIGdla29tbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoU29jcmF0ZSwgMjcuIEphbiAxOTk3LCAxNDoxODowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU0MzY5ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0ClRhY2ggenVzYW1tZW4hCldhcnVtIHdpcmQgZWlnZW50bGljaCBGcmVpaGVpdCBpbW1lciBtaXQgRnJlaWhlaXQgYW5kZXJlIGluIGlocmVyCmVpbnp1c2NocmFlbmtlbiB2ZXJ3ZWNoc2VsdD8gRGFzIGhlaXNzdCBrb25rcmV0IGhpZXIsIGRhc3MgZXMgbmljaHRzIG1pdCBkZXIKRWluc2NocmFlbmt1bmcgZGVyIEZyZWloZWl0IHp1IHR1biBoYXQsIHdlbm4gYmVzdGltbXRlIFByZXNheXMgdW50ZXJzYWd0CndlcmRlbiwgZGllIGFuZGVyZSBCZWxlaWRpZ3QuIFRvbGVyYW56IGRhcmYgc2ljaCBuaWNodCB2b24gSW50b2xsZXJhbnoKZWluc2NocmFlbmtlbiBsYXNzZW4uIFdlciBtZWludCBGcmVpaGVpdCBtaXQgV2lsbGt1ZXJsaWNoa2VpdCB2ZXJ3ZWNoc2VsbiB6dQptdWVzc2VuLCBkZXIgc29sbCBzaWNoIG1pdCBhbmRlcmVuIElkb3RlbiBhdWYgZWluZSBJbnNlbCB6dXJ1ZWNrIHppZWhlbiB1bmQKc2ljaCBkb3J0IGdlZ2Vuc2VpdGlnIGJlc3RlaGxlbiwgdmVyZ2V3YWx0aWdlbiB1bmQgZXJtb3JkZW4uClVuZCBvYiBlaW5lIFRhdCBiencuIEFldXNzZXJ1bmcgKGhpZXI6UHJlc2F5KSB2ZXJsZXR6dGVuZCBmdWVyIGplbWFuZCBpc3QsIGhhdApuaWNodCBkZXIgenUgZW50c2NoZWlkZW4sIGRlciBkaWVzIHR1dCwgc29uZGVybiBkZXJqZW5pZ2UsIGRlciBzaWNoIGRhZHVyY2gKYW5nZWdyaWZmZW4gZmhsdDsgd2lsbCBzYWdlbiwgZGFzcyBWb3JnYWVuZ2UgYXVzIGRlciBPcGZlcnBlcnNwZWt0aXZlIHp1CmJldXJ0ZWlsZW4gc2luZCwgbmljaHQgYXVzIGRlciBUdGVycGVyc3Bla3RpdmUuClNvIGdlbnVnLiBEZW5rdCBtYWwgZHJiZXIgbmFjaApTb2NyYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChUYXNoYSwgMjcuIEphbiAxOTk3LCAxNDoyMDo1Nik6Cn4jISBybj1Tb2NyYXRlIHJ0PTg1NDM3MTA4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2MTI4NApGZWhsZXIhCgpXZW5uIGRlciBBbmdlZ3JpZmZlbmUgenUgZW50c2NoZWlkZW4gaGF0LCBkYW5uIGlzdCBkYXMgYXVjaCBuaWNodCBzbyBkb2xsLgpEZW5uIHdlbm4gd2lyIHVzbiBhbGxlIGF1ZiBkZW4ga2xlaW5zdGVuIGdlbWVpbnNhbWVuIE5lbm5lciBlaW5pZ2VuIHdvbGx0ZW4sCmRhbm4gd3VlZGVyIGRpZXNlcyBNVUQgdm9yIExhbmdld2VpbGUgemllbWxpY2ggc2NobmVsbCBlaW5nZWhlbi4KClRhc2hhIHNhZ3Q6ICJDYXR3ZWF6bGUgZm9yIG9iZXJzdGVyIE1HLVJpY2h0ZXIiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWRpIHVuZCBrb25zb3J0ZW4gKFN1bmZsb3dlciwgMjcuIEphbiAxOTk3LCAxNDozMToxOSk6CkxldXRlLCBsYXNzdCBkb2NoIG1hbCBkZW4gVW5zaW5uIGhpZXIuIFdpciByZWdlbiB1bnMgYWxsZSBhdWYsIGFiZXIgZGFzIGthbm4KbWFuIGphIGF1Y2ggbWl0IFRlaWxlIE1pdHMgYWVuZGVybi4gRGllIGVpbmVuIGZpbmRlbiBEaWRpLCBtaWNoIHVuZCBhbmRlcmUKc2NoZWlzc2UsIGFuZGVyZSB3aWVkZXJ1bSBmaW5kZW4gRGlkaSwgbWljaCAoZXRjKSBpbiBPcmRudW5nLiAKSWNoIGZpbmRlIGVzIGhhdCB3ZW5pZyBzaW5uIGhpZXIgZGFydWViZXIgenUgc3RyZWl0ZW4sIHdhcyByaWNodGlnIGlzdCB1bmQKd2FzIGZhbHNjaC4gRGVyamVuaWdlIGRlciBiZXNjaHVsZGlndCB3aXJkLCBtYWNodCBoYWx0IGRhcyB3YXMgZXIgZnVlciByaWNodGlnCmhhZWx0LiBPYnMgbnVuIGRhcyByaWNodGlnZSBpc3Qgd2FzIGVyIHR1dCBvZGVyIG5pY2h0LCBzdGVodCBkb2NoIG5pY2h0IHp1cgpEZWJhdHRlLiBFcyBnZWh0IGRvY2ggbnVyIGRhcnVtLCBMZXV0ZSBhdXMgZGVtIE1VRCB6dSB0cmVpYmVuLCB3ZWlsIFNpZSBrZWluZXIKbWFnLiAKSWNoIHNlbGJzdCBmaW5kZSBEaWRpLCB6d2FyIG5vY2ggc2NobGltbWVyIGFscyBkZXIgZ3V0ZSBhbHRlIFB1Z3MgdW5kCk1pbGFtYmVyLCBhYmVyIHRyb3R6ZGVtIG1hZyBpY2ggSWhuIGlyZ2VuZHdpZS4KCkhtbSBzbyBsYW5nc2FtIHdlaXNzIGljaCBhdWNoIG5pY2h0IG1laHIgd2FzIGljaCBoaWVyIHNjaHJlaWJlbiB3b2xsdGUsIGFiZXIKZGFzIGFuIGRlciBqdW5nZW4gRGFtZSBsaWVndCBkaWUgbmViZW4gbWlyIHNpdHp0IHVuZCBkaWUgaWNoIGRhdWVybmQgYW5zdGFycmVuCm11c3MgPyAoIDopICkKCkplZGVuZmFsbHMsIHNpbmQgc29sY2hlICJoaXJubG9zZW4iIERpc2t1c3Npb25lbiwgd2VuaWcgZ2VlaWduZXQsIGplbWFuZGVuIHp1CmV0d2FzIGJlc3NlcmVuIGJla2VocmVuLiBFaGVyIGJld2lya2VuIHNpZSBkYXMgZ2VnZW50ZWlsIChpY2gga2VubiBkYXMgYXVzCmVpZ2VuZXIgRXJmYWhydW5nKSAKClN1bmZsb3dlCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZGkgdW5kIGtvbnNvcnRlbiAoU2lkb2xpbiwgMjcuIEphbiAxOTk3LCAxNDozMzoxNCk6Cn4jISBybj1TdW5mbG93ZXIgcnQ9ODU0MzcxODc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzcxODc5Ck5hamEuLi4KV2VubiBEdSBEaWNoIHNlbGJlciBzY2hvbiBpbiBlaW5lbSBTYXR6IG1pdCBEaWRpIG5lbm5zdCwgc29sbHRlc3QgRHUgRGljaAp2aWVsbGVpY2h0IGJlc3NlciBhdXMgZGVtIE1VRCBlbnRmZXJuZW4uIDotKQoKQWJlciBsYXNzIERpciBnZXNhZ3Qgc2VpbjogU28gc2NobGltbSBiaXN0IHNlbGJzdCBEdSBuaWNodC4KClNpZG9saW4uIEdyaW5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChLcmV0ZWssIDI3LiBKYW4gMTk5NywgMTY6MDA6MTMpOgp+IyEgcm49UGF0cnluIHJ0PTg1NDM2NjA2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpEZXIgS29tbWVudGFyIHdhciBqZXR6dCB3b2hsIGFsbGVyZGluZ3MgZXR3YXMgaG9obCwgb2Rlcj8gV2VubiBpY2ggYWxzIE1hZwpTYWNoZW4gYXVzIG1laW5lbSBJbnZlbnRvcnkgdmVybGllcmUsIGRhbm4gYWVyZ2VyZSBpY2ggbWljaCwgc3VjaGUgbWlyIGRlbgplbnRzcHJlY2hlbmRlbiBQZmFkIHJhdXMsIHVuZCBjbG9uZSBtaXIgZGFzIERpbmcgbmV1LiBXZW5uIGljaCBtZWluZW4gCkNoYXJha3RlciB2ZXJsaWVyZSwgaXN0IGRhcyBzY2hsZWNodCwgZGVuIGthbm4gaWNoIG1pciBzY2hsaWVzc2xpY2ggbmlodApnYW56IHNvIGVpbmZhY2ggY2xvbmVuLi4uIFVlYmxpY2hlcndlaXNlIGZyYWd0IG1hbiBkYW5uIGVpbmVuIEVyemllLCBvYiAKZGVyIGJ6dy4gc2llICoqZ3JpbnMgc2lsdmFuYSoqIGRlbiBDaGFyYWt0ZXIgbmljaHQgdm9tIEJhY2t1cCB3aWVkZXIKaGVyc3RlbGxlbiB3aWxsLgoKCiAgICAgICB8IC8gIHxcICB8LS0gIC0tLSAgfC0tICB8IC8KICAgICAgIHw8ICAgfC8gIHwtICAgIHwgICB8LSAgIHw8CiAgICAgICB8IFwgIHxcICB8LS0gICB8ICAgfC0tICB8IFwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChQYXRyeW4sIDI3LiBKYW4gMTk5NywgMTY6MDU6MjQpOgp+IyEgcm49S3JldGVrIHJ0PTg1NDM3NzIxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgplcyBrYW5uIHZlcmRhbW10IG5lcnZpZyBzZWluLCBzZWluIGludmVudG9yeSB3aWVkZXJoZXJ6dXN0ZWxsZW4uIGRhcyBtaXQKZGVyIGNoYXJha3Rlci1sb2VzY2h1bmcgd2FyIGVoZXIgYWxzIGV4dHJlbWJlaXNwaWVsIGdlZGFjaHQsIGRlbm4gd28gZ2VuYXUKaG9lcnQgZGVubiBudW4gZGVyIHNwYXNzIGF1ZiB1bmQgZmFlbmd0IGRlciBhZXJnZXIgYW4/IQpkYXMgdmllbGdlbGllYnRlIGZyZXVuZHNjaGFmdHN0dWNoIGlzdCBudXIgZWluIGJlaXNwaWVsLCBlcyBnaWJ0IGF1Y2ggYW5kZXJlCm9iamVrdGUvdG9vbHMsIGRpZSBkYSBldHdhcyBhbGxlcmdpc2NoIHJlYWdpZXJlbiAoZnJldW5kc2NoYWZ0c2JhbmQgbWVpbiBpY2gpCmlzdCBlcyBhdWNoIG5vY2ggYWt6ZXB0YWJlbCBkaWUgYWxpLWxpc3RlIGxlZXJ6dXJhZXVtZW4/IGRpZSBrYW5uIG1hbiBzaWNoCnNjaGxpZXNzbGljaCBhdWNoIG5ldSBlcnN0ZWxsZW4uLi5udW4gamEgZWdhbC4KZXMgZ2VodCBtaXIgZWlnZW50bGljaCBtZWhyIGRhcnVtLCBkYXNzIG1hbiBkaWVzZSBraW5kaXNjaGVuIHNwaWVsZXJlaWVuCmRvY2ggYml0dGUgbGFzc2VuIHNvbGwsIHdlbm4gbWFuIHdlaXNzLCBkYXNzIHNlaW4gZ2VnZW51ZWJlciBkYXMgbmljaHQgZ2FuegpzbyBwb3NpdGl2IGF1Zm5pbW10LgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSWNoIGJpbiBtYWVjaHRpZyBlcnN0YXVudCAhISEgKEdyaW1tYm9ybiwgMjcuIEphbiAxOTk3LCAxNjoxMToyOSk6Cn4jISBybj1QYXRyeW4gcnQ9ODU0Mzc3NTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzY1NTkyCk1laW5lIFJlZGUuIFVuZCBpY2ggYmluIG5hY2ggd2llIHZvciBkZXIgTWVpbnVuZywgZGFzcyBpY2ggbmljaHQgYW5nZWZhbmdlbgpoYWJlLi4uCkVzIGdhYiBnZW51ZyBIaW53ZWlzZSAodW5kIGJlaWxlaWJlIG5pY2h0IG51ciB2b24gbWlyKSwgZGFzcyBnZXdpc3NlIHByZXNheXMKbmljaHQgc28gcG9zaXRpdiBhdWZnZW5vbW1lbiB3dXJkZW4uIFdpZXNvIHZlcnN1Y2hzdCBEdSBlaWdlbnRsaWNoIERpZGkgenUKdW50ZXJzdHVldHplbiwgaW5kZW0gRHUgaWhtIGluIGRlbiBSdWVja2VuIGZhZWxsc3Q/IElzdCBkYXMgZWluZSBuZXVlIFRha3Rpaz8KT2RlciBtb2VjaHRlc3QgRHUgZWluZSBkcml0dGUgRnJvbnQgYXVmbWFjaGVuPyA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoRnl0LCAyNy4gSmFuIDE5OTcsIDE5OjQxOjMyKToKfiMhIHJuPVN1bmZsb3dlciBydD04NTQzNjMyMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKCk5vZSwgZGVyIFNjaG1hcnJuIGxpZWd0IGhpZXIgc2Nob24gZ2FueiByaWNodGlnLiBVbmQgRmFrdCBpc3QgamEgd29obCBhdWNoLApkYXNzIHNpY2ggZGVyIFNoZXJpZmYgbmljaHQgdW0gamVkZW4gU2NoZWlzcyhlcikga3VlbW1lcih0fG4ga2FubikuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggYmluIG1hZWNodGlnIGVyc3RhdW50ICEhISAoRnl0LCAyNy4gSmFuIDE5OTcsIDE5OjQ4OjEyKToKfiMhIHJuPUJlcm5pZSBydD04NTQzNjU1OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjU1OTIKClRvbGwsIHdpZSBmZWluIER1ICchISEnIHRpcHBlbiBrYW5uc3QsIEJlcm5pZS4gU2VociBGZWluLiBJY2ggd2VyZCBEaWNoCmJlaSBNYW1hIGxvYmVuLi4uCgpSaWNodGlnLiBFaW4gZnJlaWVzIExhbmQuIE1pdCBFaW5zY2hyYWVua3VuZ2VuLi4uCgpVbmQgbWFuY2hlIG5laG1lbiBzaWNoIGRpZSBGcmVpaGVpdCBoZXJhdXMgYW5kZXJlIHp1IG5lcnZlbiB1bmQgYW5kZXJlCmZ1ZWhsZW4gc2ljaCBnZW5lcnZ0IHVuZCBuZXJ2ZW4genVydWVjayB1bmQgaXJnZW5kd2FubiBoYXQgbWFsIGVpbmVyCmtlaW5lIEx1c3QgbWVoci4uLgoKV2FzIHdvbGx0ZXN0IER1IGVpZ2VudGxpY2ggc2FnZW4/CgpGeXQuCgpQUzogSXMgamEgbmV0dCwgZGFzcyBEdSBEaWNoIG5pY2h0IG1pdCBPZXR0aSBhdWYgZWluZSBTdHVmZSBzdGVsbGVuIHdpbGxzdC4KSWNoIG1hZyBuZSBnZXdpc3NlIFNvcnRlIGFycm9nYW50ZXIgSW5kaXZpZHVlbiBuYWVtbGljaCBuaWNodCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChGeXQsIDI3LiBKYW4gMTk5NywgMTk6NDk6NDkpOgp+IyEgcm49UGF0cnluIHJ0PTg1NDM2NjA2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgoKV2VubiBEdSBlaW5lbiBDaGFya3RlciBsb2VzY2hzdCwgaGFiZW4gZGllIEVyemllcyBlaW4gUHJvYmxlbSwgbmFlbWxpY2gKZWluIFNpY2hlcmhlaXRzcHJvYmxlbS4gRGFzIFByb2JsZW0gZnVlciBHcmltbWJvcm4ga2FubiBpY2ggZGFnZWdlbiBuaWNodAplcmtlbm5lbi4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSWNoIGJpbiBtYWVjaHRpZyBlcnN0YXVudCAhISEgKEhvb2QsIDI3LiBKYW4gMTk5NywgMTk6NTc6MTUpOgp+IyEgcm49Rnl0IHJ0PTg1NDM5MDk4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgptYW4ga2FubiBkZW4gY2hhcmFrdGVyIGRhenUgendpbmdlbiwgc2ljaCBlaGVyIHVuZnJlaXdpbGxpZyBzZWxic3QgenUKbG9lc2NoZW4uIGRpZXMgZ2VodCBtaXQgdmllbGVuIGRpbmdlbiB2aWEgcHJvY2Vzc19zdHJpbmcvRl9RVUVSWV9NRVRIT0QKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChGeXQsIDI3LiBKYW4gMTk5NywgMjA6MTM6MjMpOgp+IyEgcm49UGF0cnluIHJ0PTg1NDM2NjA2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgoKSG0sIGFsc28gdW0gJ25lbiBNYWdpZXIgYWxzIHNvbGNoZW4genUgcmVzdGF1cmllcmVuIHNvbGx0ZSAnbiBFcnppZSBrZWluZQpmdWVuZiBNaW51dGVuIGJyYXVjaGVuLCBvZGVyIHNlaCBpY2ggZGEgd2FzIGZhbHNjaD8gVW5kIHNlaW5lbiBTcGllbGtyYW0uLi4KbmFqYS4uLiBkaWUgY2hyb25pc2NoIFNlbGJzdG1vcmRnZWZhZWhyZGV0ZW4ga29lbm5lbiBzaWNoIGphIGFsbGUgZHJlaSBUYWdlCm1hbCBpaHIgSW52ZW50ciBhdWZzY2hyZWliZW4gb2RlciBpaHIgU2F2ZWZpbGUgbiBuZSBzaWNoZXJlIFN0ZWxsZSBrb3BpZXJlbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByZXNheXMgdW5kIGlkZSB2b24gR3JpbW1ib3JuIGF1c2dlbG9lc3RlIERpc2t1c3Npb24gKE1hc28sIDI3LiBKYW4gMTk5NywgMjA6Mzg6NTMpOgp+IyEgcm49R2FzdDEgcnQ9ODU0MzYyOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0Cj4gTWFuIGthbm4gYXVjaCBuaWNodCBlaW5lbiBNZW5zY2hlbgo+IHVtYnJpbmdlbiB1bmQgZGFzIGRhbWl0IHJlY2h0ZmVydGlnZW4sIGRhc3MgbWFuIGlobiB2b3JoZXIgZ2V3YXJudCBoYXQuCgpEb2NoLCBtYW4ga2Fubi4KCiAgICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmpvb29vIChKYXNwZXIsIDI3LiBKYW4gMTk5NywgMjI6Mjk6NDcpOgpLb2VsbiBzY2hlaW50IHNpY2ggamEgenVyIEhvY2hidXJnIGRlciBzZWxic3Rlcm5hbm50ZW4gSGlsZnNzaGVyaWZmcyB6dQplbnR3aWNrZWxuLiBOaWNodCBkYXNzIGVzIHNjaG9uIHJlaWNoZW4gd3VlcmRlbiBzdGFlbmRpZyB2ZXJsZWd0ZSBBcnRpa2VsCmRvcHBlbHQgbGVzZW4genUgbXVlc3NlbiwgamV0enQgbXVzcyBtYW4gc2ljaCBhdWNoIG5vY2ggc28gZWluZW4gClNjbWFycm4gYW5ob2VyZV5IXkheSF5IXkheSGxlc2VuLCBkYXNzIHVuc2VyZSBIaWxmc3NoZXJpZmZzIGJlc3RpbW1lbgp3ZWxjaGVzIHByZXNheSBtYW4gc2ljaCBzZXR6ZW4gZGFyZi4KQWxzIFNlaGVyIGVyaGFlbHQgbWFuIGRhcyBwcml2aWxlZyBzaWNoIHNlaW4gcHJlc2F5IHVuZCBzZWluZW4gdGl0ZWwgc2V0emVuIHp1CmR1ZXJmZW4sIHVuZCBldWNoIGR1bXBmYmFja2VuIGRhcyBlaW4gb2RlciBhbmRlcmUgcHJlc2F5IHN0b2VydCwgZGFubiBnaWJ0IGVzCmdlbnVnIG1vZWdsaWNoa2VpdGVuIGRhcyB6dSBpZ25vcmllcmVuLgpzYWcgY2FtcGlubywgaGF1IGFiClVuZCBzdGFlbmRpZyBhbiBkaWRpIHJ1bXp1ZnVtbWVsbiwgbWl0IGRlciByZWNodGZlcnRpZ3VuZyBkZXIgaGF0IG1hbCBkaWUgCm9kZXIgZGllIHNwaWVsZXJpbiBnZW5lcnZ0LCBnaWJ0IGdsYXViZSBpY2ggYXVjaCB1bnNlcmVuCm1vZWNodGVnZXJuLW9iZXJsZWhyZXIgbmljaHQgZGFzIHJlY2h0IGRhenUuIHdlbm4gZGlyIGRhYmVpIGVpbmVyCmFiZ2VodCxncmltbWJvcm4sIHdlbm4gZHUgamVtYW5kZW4KaW5zIGphaWwgc3RlY2tzdCwgZGFubiBzb2xsdGVzdCBkdSBkaWNoIHVtIGRlbiBqb2IgZGVzIHNoZXJpZmZzIGJlaSBkZW4KZ29ldHRlcm4gYmV3ZXJiZW4sIG9kZXIgd2lyIHNjaGFmZmVuIGVpbmZhY2ggYWxsZSByZWdlbG4gYWIgdW5kIGplZGVyIGRhcmYgYW4KamVkZW0gCnJ1bWZ1bW1lbG4gd2llIGVyIHdpbGwuCgoKSmFzcGVyIHdlZGVsdCBtaXQgc2VpbmVtICdHcmltbWJvcm4gZm9yIFNoZXJpZmYnLUZhZWhuY2hlbi4KCgpQUzogd2VubiBtaXIgZXR3YXMgYXVmIGRlbiBzYWNrIGdlaHQsIHouQi4gZG9wcGVsdGVzIGxlc2VuIHZvbiBhcnRpa2VsbgogICAgZGFubiBiZW51dHplIGljaCAnaWdub3JpZXJlIGdyaW1tYm9ybi5tYWlsJyB1bmQgd2VubiBqZW1hbmRlbSBkaWRpcwogICAgcHJlc2F5IHVuYW5nZW5oZW0gaXN0LCBkYW5uIGdpYnRzIGVpbiAnaWdub3JpZXJlIGRpZGknLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoR2FsYXJpb24sIDI3LiBKYW4gMTk5NywgMjI6NDk6MTkpOgp+IyEgcm49TWFzbyBydD04NTQzOTM5MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKQWxzbyB3ZW5uIGljaCBEaWNoIG51biByaWNodGlnIHZlcnN0YW5kZW4gaGFiIE1hc28gZGFyZiBpY2ggRGljaCBoaWVyIGVpbmZhY2gKdm9yd2FybmVuIHVuZCBkaWNoIGRhbm4gdW1uaWV0ZW4sIHNwcmljaCBlaW5lbiBQSyBiZWdlaGVuPyA6LSkKCjw8PCBHYWxhcmlvbiAyNy8wMS85Ny0yMjo0NzoyMSA+Pj4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByZXNheXMgdW5kIGlkZSB2b24gR3JpbW1ib3JuIGF1c2dlbG9lc3RlIERpc2t1c3Npb24gKE1hc28sIDI3LiBKYW4gMTk5NywgMjI6NTI6MDgpOgp+IyEgcm49R2FsYXJpb24gcnQ9ODU0NDAxNzU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0MzYxMjg0Cj4gQWxzbyB3ZW5uIGljaCBEaWNoIG51biByaWNodGlnIHZlcnN0YW5kZW4gaGFiIE1hc28gZGFyZiBpY2ggRGljaCBoaWVyCj4gZWluZmFjaCB2b3J3YXJuZW4gdW5kIGRpY2ggZGFubiB1bW5pZXRlbiwgc3ByaWNoIGVpbmVuIFBLIGJlZ2VoZW4/IDotKQoKIDEpIER1IGhhc3QgbWljaCBuaWNodCB2ZXJzdGFuZGVuLgogMikgTWVpbmV0d2VnZW4sIGdlcm5lLgoKICAgICAgICAgICAgIE1hc28uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoU2NocnVtcGZpLCAyNy4gSmFuIDE5OTcsIDIzOjI0OjMxKToKfiMhIHJuPUdhc3QxIHJ0PTg1NDM2MjkyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2MTI4NApLb2VubmVuIHNjaG9uLCBkdWVyZmVuIGhhbHQgbmljaHQgYWJlciBtYW5jaGUgTGV1dGUgcGZlaWZlbiBoYWx0IGF1ZiBkYXMgd2FzCnNpZSBkdWVyZmVuIHVuZCB3YXMgbmljaHQuIEhvZXJ0IG1hbCBhdWYgbWl0IGRlbiBybC12ZXJnbGVpY2hlbiBEQVMgaXN0Cm5hZW1saWNoIHVuYW5nZWJyYWNodC4gSWNoIHJlbm4gcmwgYXVjaCBuaWNodCBtaXQgZWluZW0gQlNTIHJ1bSB1bmQgbWV0emVsIHdhcwptaXIgdWViZXIgZGVuIFdlZyBsYWV1ZnQgbmllZGVyLgpTLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHJlc2F5cyB1bmQgaWRlIHZvbiBHcmltbWJvcm4gYXVzZ2Vsb2VzdGUgRGlza3Vzc2lvbiAoU2NocnVtcGZpLCAyNy4gSmFuIDE5OTcsIDIzOjI3OjU4KToKfiMhIHJuPU9ldHRpIHJ0PTg1NDM2MzE1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2MTI4NApBaGE/IE5hIGRhcyBhZW5kZXJ0IGRpZSBTYWNoZSBhYmVyIGdld2FsdGlnISBEYSBpc3QgU2VsYnN0anVzdGl6IHNlaHIgd29obApnZWZyYWd0LiBTb2xsdGUgc2ljaCBtYWwgZWluZSBTcGllbGVyaW4gYmVpIG1pciBiZXNjaHdlcmVuLCBrYW5uc3RlIERpciBzaWNoZXIKc2VpbiwgZGFzcyBpY2ggRGlyIG5pY2h0IG51ciBEZWluIEludiBhdXNyYWV1bWUhIERhIHdhcm4gaWNoIERpY2ggbmljaHRtYWwKdm9yaGVyLiBrYW5uc3QgZGllc2VuIEFydGlrZWwgamEgamV0enQgYWxzIFdhcm51bmcgYmV0cmFjaHRlbi4KU2NocnVtcGZpIGdyZWlmdCBiZWkgc2V4dWVsbGVyIEJlbGFlc3RpZ3VuZyBybCBhbHMgYXVjaCB2bCBncnVuZHNhZXR6bGljaCB6dXIKc2VsYnN0anVzdGl6LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBiaW4gbWFlY2h0aWcgZXJzdGF1bnQgISEhIChTY2hydW1wZmksIDI3LiBKYW4gMTk5NywgMjM6MzI6MDcpOgp+IyEgcm49QmVybmllIHJ0PTg1NDM2NTU5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDM2NTU5MgpXaXIgc2luZCBoaWVyIG5pY2h0IGluIGVpbmVtIGZyZWllbiBMYW5kLCBzb25kZXJuIGltIE1vcmdlbmdyYXVlbiB1bmQgaGllcgpnaWJ0IGVzIHNvd2FzIHdpZSBkZW1va3JhdGllIG5pY2h0LiBSTCBrYW5uc3RlIERpY2ggbmVubmVuIHdpZSBEdSB3aWxsc3QsIGhpZXIKbmljaHQuClMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQcmVzYXlzIHVuZCBpZGUgdm9uIEdyaW1tYm9ybiBhdXNnZWxvZXN0ZSBEaXNrdXNzaW9uIChTY2hydW1wZmksIDI3LiBKYW4gMTk5NywgMjM6NDk6NTApOgp+IyEgcm49U29jcmF0ZSBydD04NTQzNzEwODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQzNjEyODQKQXUgTWFubiwgaWhyIHNlaWQgamEgYWxsZSBzb29vb29vb29vb29vbyBwb2xpdGlzY2gga29ycmVrdC4gV2VuZGV0IEV1cmUKcG9saXRpY2FsIGNvcnJlY3RuZXNzIG1hbCBSTCBhbiEKTWlyIGlzIGphIHNvb29vb29vb29vb28gc2NobGVjaHQhClMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXMgZ2VnZWJlbmVtIEFubGFzczogUG9saXRpY2FsIENvcnJlY3RuZXNzLiAoU2lkb2xpbiwgMjguIEphbiAxOTk3LCAxMjowMzoxMSk6Ck5hY2ggZGVtIEFydGlrZWwgdm9uIFNvY3JhdGUgd3VyZGUgbWlyIHNwb250YW4gc2Nod3VtbXJpZyB2b3IgZGVuIEF1Z2VuIHVuZAptaXIgZmllbCBlaW4sIGVpbm1hbCBlaW4gc2Nob2VuZXMgU3R1ZWNrIFRleHQgdWViZXIgUEMgZ2VsZXNlbiB6dSBoYWJlbiwgZGFzcwppY2ggZ2VybiBlaW5lciBicmVpdGVyZW4gT2VmZm5ldGxpY2hrZWl0IHp1ciBFcmJhdXVuZyBkYXJiaWV0ZW4gbW9lY2h0ZToKCiBGb2xnZW5kZXMgRnVuZHN0dWVjayBrYW5uIGljaCBkZXIgZXJsYXVjaHRlbiBSdW5kZSBuaWNodCB2b3JlbnRoYWx0ZW46CiBCZXRyb2Zmb21hbmVuLCBCZXRyb2Zmb2hvbGlrZXIgdW5kIG1vcmFsaXNjaCBCZXNzZXJnZXN0ZWxsdGU6IEFVRkdFUEFTU1QhCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICBEaWUgU2NoYXVtc3ByYWNoZSBkZXMgR3V0bWVuc2NoZW46CiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIERlciBWaWV0bmFta3JpZWcgaXN0IHp1IEVuZGUsIGRpZSBCZXJsaW5lciBNYXVlciBpc3QgZ2VmYWxsZW4sIGRhcyAKdmVybWVpbnRsaWNoZSBSYXVidGllciBkZXMgV2VsdGtvbW11bmlzbXVzIHZlcmVuZGV0IGdlcmFkZSBpbiBLdWJhLCB1bmQgZGVyIApyZWFsIGV4aXN0aWVyZW5kZSBERFItU296aWFsaXNtdXMgaGF0IHNpY2ggc2VsYmVyIHp1IEdyYWJlIGdldHJhZ2VuLiBEaWUgCkZyaWVkZW5zYmV3ZWd1bmcgaXN0IHZlcnNjaHd1bmRlbiwgenVtaW5kZXN0IGJpcyB6dXIgbmFlY2hzdGVuIGFtZXJpa2FuaXNjaGVuIApJbnRlcnZlbnRpb24sIHVuZCBmdWVyIGRlbiBLYW1wZiB1bSBlaW5lbiBvZWtvc2l6YWxlbiBLYXBpdGFsaXNtdXMgaXN0IGRpZSAKTm9jaC1BcmJlaXRlcmtsYXNzZSB6dSBicnVzdHNjaHdhY2guIERpZSBpbiBFdXJvcGEgdmVyYmxpZWJlbmUgdW5kIHVlYmVyIE5hY2h0CmludGVsbGVrdHVlbGwgaGVpbWF0bG9zIGdld29yZGVuZSBMaW5rZSBiZWdhbm4gYW4gZWluZXIgU2lubmtyaXNlIHp1IGxlaWRlbi4gCk51biBnZWJhciBzaWUgYWxzIEVyc2F0emhhbmRsdW5nIGVpbmVuIG5ldWVuIFR5cCB2b24gTWVuc2NoZW4sIGRlbgpHdXRtZW5zY2hlbi4KCiAgRGVyIHNvZ2VuYW5udGUgZ3V0ZSBNZW5zY2ggLSBpbiBkZXIgbmV1ZGV1dHNjaGVuIEt1cnpzcHJhY2hlIGF1Y2ggR3V0bWVuc2NoCmdlbmFubnQgLSBrYW5uIGNoYXJha3RlcmlzaWVydCB3ZXJkZW4gYWxzIGRhcyBmb3J0c2Nocml0dGxpY2hlIEJld3Vzc3RzZWluCm5hY2ggCmRlbSBWZXJsdXN0IGVpbmVyIFV0b3BpZS4gRGVyIEd1dG1lbnNjaCBpc3QgZGVzd2VnZW4gZ3V0LCB3ZWlsIGFuZGVyZSBib2VzZSAKc2luZC4gRGVyIGV3aWdlIEtvbmt1cnJlbnQgZGVzIEd1dG1lbnNjaGVuIGlzdCBkZXIgQm9lc21lbnNjaC4gRGVyIEd1dG1lbnNjaCAKd2Vpc3MgbmljaHQgbWVociBnYW56IGdlbmF1LCB3b2Z1ZXIgZXIgZWlnZW50bGljaCBpc3QsIGVyIHdlaXNzIGFiZXIgaW1tZXIsIAp3YW5uIGVyIGVtcG9lcnQgc2VpbiBtdXNzLCB3YW5uIGVyIFd1dCB1bmQgVHJhdWVyIHp1IGVtcGZpbmRlbiBoYXQgdW5kIHdlbm4gZXMKZ2lsdCwgd2VnZW4gZWluZXIgZnJhdWVuZmVpbmRsaWNoZW4gR2VzaW5udW5nIGVpbmVzIEJvZXNtZW5zY2hlbiBiZXRyb2ZmZW4genUgCnNlaW4uCgogIERlciBHdXRtZW5zY2ggYW5hbHlzaWVydCBrYXVtIG5vY2gsIGFiZXIgZXIgd2l0dGVydCB6aWVsc2ljaGVyIEthdGVnb3JpZW4Kd2llIApldHdhIC1mcmV1bmRsaWNoIHVuZCAtZmVpbmRsaWNoLiBFciBjaGFyYWt0ZXJpc2llcnQgYWxsZXMgYWxzIApiZWhpbmRlcnRlbmZyZXVuZGxpY2gsIGF1c2xhZW5kZXJmZWluZGxpY2ggb2RlciBmcmF1ZW5mZWluZGxpY2guIERpZSBsaWVic3RlIApWb3JzaWxiZSBkZXMgR3V0bWVuc2NoZW4gaXN0IGJlLSEgU3RhdHQgenUgZGVua2VuLCBiZS1kZW5rdCBlci4gRXIKYmUtd2FlbHRpZ3QsIAp1bmQgZXIgaXN0IGltbWVyIHVuZCB1ZWJlcmFsbCBiZS10cm9mZmVuLiBEYXMgVm9rYWJlbCBCZXRyb2ZmZW5oZWl0IGlzdCAKdWViZXJoYXVwdCBkYXMgTGllYmxpbmdzd29ydCBkZXMgR3V0bWVuc2NoZW4uIEluIGRlciBad2lzY2hlbnplaXQgaXN0IGRpZSAKQmV0cm9mZmVuaGVpdCB6dW0gYWxsZ2VtZWluZW4gQmVzaXR6c3RhbmQgZ2V3b3JkZW4sIHVuZCBiZXNvbmRlcnMgc2NobGF1ZSAKUG9saXRpa2VyIGJlbnVldHplbiBkaWVzZXMgV29ydCBnZXJuZS4gRGllc2VzIGVpbmUgV29ydCBtYWNodCB1bmFuZ3JlaWZiYXIuIEluCndlbGNoZW0gWnVzYW1tZW5oYW5nIGF1Y2ggaW1tZXIgYmVudWV0enQsIG9iIGJlaSBBSURTLCBTYXJhamV3byBvZGVyIFJ1YW5kYSAtIAp3ZXIgYmV0cm9mZmVuIGlzdCwgcmVpaHQgc2ljaCBhdXRvbWF0aXNjaCBpbiBkZW4gT3JkZW4gZGVyIEd1dG1lbnNjaGVuIGVpbi4gCkVpbmUgQmVnbGVpdGVyc2NoZWludW5nIGRpZXNlcyBNb2Rld29ydGVzIGlzdCBiZW1lcmtlbnN3ZXJ0OiBEaWUgZ2FueiBTY2hsYXVlbgp1bnRlciBkZW4gR3V0bWVuc2NoZW4gaGFiZW4gbGFlbmdzdCBrYXBpZXJ0LCBkYXNzIG1hbiBkaWVzZXMgV29ydCBuaWNodCBtZWhyIAp2ZXJ3ZW5kZW4ga2Fubi4gU28gbGFzc2VuIHNpZSB2ZXJsYXV0ZW4sIHNpZSBzZWllbiB2b20gU2NoaWNrc2FsIGRlciBBSURTIC0gCktyYW5rZW4gb2RlciBkZXIgQmV3b2huZXIgU2FyYWpld29zIGdldHJvZmZlbiBvZGVyIGJlcnVlaHJ0LiBGdWVyIGVpbmVuIE1vbWVudApoYWVsdCBkZXIgSG9lcmVyIGlubmUgdW5kIGlzdCBhbmdlbmVobSB1ZWJlcnJhc2NodCB3ZWdlbiBkaWVzZXIgb3JpZ2luZWxsZW4gCkVtcGZpbmR1bmcuCgogIERlciBHdXRtZW5zY2ggaXN0IGZyaWVkbGljaCwgb2Vrb2xvZ2lzY2gsIGtpbmRlcmxpZWJlbmQgdW5kIHNleHVlbGwgCmF1Zmdlc2NobG9zc2VuLiBEYW5rIGRlciBFcnppZWh1bmcgZGVzIEd1dG1lbnNjaGVuIHdhZXJlbiB3aXIgYWxsZSBmcmllZGxpY2gsIApkYW5rIHNlaW5lciBNZWRpZW5lcnppZWh1bmcgd2lzc2VuIHdpciwgd2VsY2hlIFplaXR1bmdlbiB3aXIgbGVzZW4gc29sbGVuIHVuZCAKd2VsY2hlIG5pY2h0LiBEYW5rIGRlciBTZXh1YWxrdW5kZSBkZXMgR3V0bWVuc2NoZW4gZHVlcmZlbiB3aXIgdW5zIGFsbGUgc28gCmxhbmdlIHN0cmVpY2hlbG4sIGJpcyBlbnR3ZWRlciBkaWUgSGF1dCB3dW5kZ2VzY2hldWVydCBpc3Qgb2RlciBlaW4gYW5kZXJlciAKR3V0bWVuc2NoIGxhdXQgInNleHVlbGxlIEJlbGFlc3RpZ3VuZyIgcnVmdC4KCiAgS3VyeiBnZXNhZ3QsIGRlciBHdXRtZW5zY2ggZXJzZXR6dCBkYXMgRGVua2VuIGR1cmNoIGVpbmUgZG9nbWF0aXNjaGUgTW9yYWwuClVlYmVyIG5pY2h0cyBlbnRydWVzdGV0IGVyIHNpY2ggc28gc2VociB3aWUgdWViZXIgbW9yYWxpc2NoZXMgRmVobHZlcmhhbHRlbiwgCm5pY2h0cyBiZWdlaXN0ZXJ0IGlobiBzbyBzZWhyIHdpZSBwb2xpdGlzY2hlciBBbnN0YW5kLiBEZXIgR3V0bWVuc2NoIGZvcmRlcnQgCmJlc3RhZW5kaWcsIHNpY2ggenUgYmVrZW5uZW4gb2RlciB6dSBkaXN0YW56aWVyZW4uIFdvIGltbWVyIGRlciBHdXRtZW5zY2ggCnB1YmxpemlzdGlzY2ggenVzY2hsYWVndCwgcHJhc3NlbG4gZGllIFNjaGxhZ3dvZXJ0ZXIgd2llIGVpbiBzb21tZXJsaWNoZXIgCkhhZ2VsZ2V3aXR0ZXIgYXVmIGRlbiBlaW5nZXNjaHVlY2h0ZXJ0ZW4gTGVzZXIuIFdpZSBlaW5lIFNjaGxhbmdlIHJpbmdlbG4gc2ljaApkaWUgV29ydGUgZGVzIGpvdXJuYWxpc3Rpc2NoZW4gR3V0bWVuc2NoZW4gdW0gZGVuIEJvZXNtZW5zY2hlbi4gQW0gRW5kZSBoYXQgCmRpZXNlciB2ZXJzdGFuZGVuLCBkYXNzIGVyIHNpY2ggbnVyIGVpbiBwYWFyIFN0YW5kYXJkYmVncmlmZmUgenVsZWdlbiBtdXNzIHVtIAplYmVuZmFsbHMgZWluIEd1dG1lbnNjaCB6dSB3ZXJkZW4uIEVpbiBwYWFyIEtlcm5waHJhc2VuIGRlciBHdXRzcHJhY2hlIAooIkdvb2RzcGVhayIpIHNpbmQgcmFzY2ggYXVmZ2V6YWVobHQuIEVzIGdlemllbXQgc2ljaCwgZGllc2Ugd2llZGVyaG9sdCAKYW56dXdlbmRlbjogQW5nc3QsIEJldHJvZmZlbmhlaXQsIERlbmthbnN0b3NzLCBEaWFsb2csIGVocmxpY2hlIEdlZnVlaGxlLCAKRW1wb2VydW5nLCBHbGF1Ynd1ZXJkaWdrZWl0LCBLb21tdW5pa2F0aW9uLCBLcmVhdGl2aXRhZXQsIEt1bHR1ciwgTWF1ZXIgaW0gCktvcGYsIG1lbnNjaGVudmVyYWNodGVuZCwgTWVuc2NobGljaGtlaXQsIHBvbGl0aXNjaGUgS3VsdHVyLCBRdWVyZGVua2VyLCBTaW5uIAptYWNoZW4sIFN0cmVpdGt1bHR1ciwgVGFldGVyIHVuZCBPcGZlciwgVG9sZXJhbnosIFRyYXVlcmFyYmVpdCwgVW5mYWVoaWdrZWl0Cnp1IAp0cmF1ZXJuLCBWZXJrcnVzdGV0ZSBTdHJ1a3R1cmVuIGF1ZmJyZWNoZW4sIFZlcnNvZWhudW5nLCBWaXNpb25lbiwgV3V0IHVuZCAKVHJhdWVyIC4uLiB1c3cuCgogIEVzIGlzdCB3aWNodGlnLCBkYXJhdWYgaGluenV3ZWlzZW4sIGRhc3MgQW5nc3QsIEJldHJvZmZlbmhlaXQgdW5kIEVtcG9lcnVuZwpkaWUgTGllYmxpbmdzd29lcnRlciBkZXMgR3V0bWVuc2NoZW4gc2luZCwgZGVubiBHZWZ1ZWhsZSwgdm9yIGFsbGVtIGVocmxpY2hlIApHZWZ1ZWhsZSBzaW5kIGRlbSBHdXRtZW5zY2hlbiB1bmVuZGxpY2ggd2ljaHRpZy4gQXVmIGFsbGVzLCB3YXMgZGFzCmVtcGZpbmRzYW1lIApIZXJ6IGRlcyBHdXRtZW5zY2hlbiB2ZXJsZXR6dCwgcmVhZ2llcnQgZXIgbWl0IEVtcG9lcnVuZy4gRW1wb2VydW5nIGlzdCBlaW5lIApTdGVpZ2VydW5nIHZvbiBCZXRyb2ZmZW5oZWl0LiBHYW56IGJlc29uZGVycyBpc3QgZGVyIEd1dG1lbnNjaCBlbXBvZXJ0LCB3ZW5uCmVyIApmcmF1ZW5mZWluZGxpY2hlIEdlc2lubnVuZyB3YWhybmltbXQuIEVpbmUgU3RlaWdlcnVuZyBkZXIgZnJhdWVuZmVpbmRsaWNoZW4gCkdlc2lubnVuZyBpc3QgZGVyIGZyYXVlbmZlaW5kbGljaGUgV2l0eiwgZGEgd2lyZCBkZXIgR3V0bWVuc2NoIHd1ZXRlbmQgdW5kIAp0cmF1cmlnIHp1Z2xlaWNoLgoKICBEZXIgZWluZmFlbHRpZ2UgR3V0bWVuc2NoIGlzdCBvYiBzb2xjaGVyIFdpdHplIG5hdHVlcmxpY2ggenV0aWVmc3QKYmV0cm9mZmVuLCAKdmllbGxlaWNodCBzb2dhciBnZXRyb2ZmZW4uIEVyIGlzdCBkYXZvbiB1ZWJlcnpldWd0LCBkYXNzIHNvbGNoZSBXaXR6ZSBuaWNodCAKZWlubWFsIGF1ZiBlaW5lbiBTdGFtbXRpc2NoIGdlaG9lcmVuLCB3ZWlsIHNlbGJzdCBkb3J0IHNvIG1hbmNoZW0gZGVyIExhY2hlcgppbiAKZGVyIEtlaGxlIHN0ZWNrZW4gYmxlaWJlbiBkdWVyZnRlLiBXYXMgZnJhdWVuZmVpbmRsaWNoIGlzdCB1bmQgQmV0cm9mZmVuaGVpdCAKb2RlciBFbXBvZXJ1bmcgYXVzbG9lc3QsIGJlc3RpbW10IGVyIGluIGFsbGVpbi4gU2VpbmUgZ2VzY2hhZXVtdGUgRW50cnVlc3R1bmcgCmJyZW1zdCBzaWNoIGFsbGVuZmFsbHMgZWluLCB3ZW5uIGRlciBWZXJkYWNodCBkcm9odCwgYW50aXNlbWl0aXNjaCBvZGVyIAphdXNsYWVuZGVyZmVpbmRsaWNoIHp1IHNlaW4uIERhcyBpc3QgZGVyIEd1dG1lbnNjaCBuYXR1ZXJsaWNoIG5pY2h0LgoKICBXb2hsZ2VtZXJrdCEgRXMgZ2VodCBuaWNodCBkYXJ1bSwgZWNodGVzIEVuZ2FnZW1lbnQgdW5kIHNvemlhbGUgR2VzaW5udW5nCnp1IAp2ZXJzcG90dGVuLiBFcyBnZWh0IGRhcnVtLCBkaWUgU2NoYXVtc3ByYWNoZSBkZXMgR3V0bWVuc2NoZW4gYWxzIHNvbGNoZSB6dSAKZW50bGFydmVuLiBEZXIgR3V0bWVuc2NoIGlzdCBlaW4gV2luZGVpLCBzZWluZSBTcHJhY2hlIHVuZCBzZWluZSBHZWRhbmtlbiBzaW5kCmhvaGwsIGVyIGRyb2VobnQgd2llIGVpbmUgR2xvY2tlLiBNZWhyIGlzdCBkYSBuaWNodC4KCgoKClNpZG9saW4uIE5pY2h0IFBvbGl0aXNjaCBrb3JyZWt0LiAKSWNoIGJpbiB6LkIuIEF1c2xhZW5kZXJmZWluZGxpY2guIEFiZXIgZGFzIGlzdCBuaWNodCBzbyBzY2hsaW1tLCBpY2ggbWFnIGphCmF1Y2gga2VpbmUgRGV1dHNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1cyBnZWdlYmVuZW0gQW5sYXNzOiBQb2xpdGljYWwgQ29ycmVjdG5lc3MuIChTdW5mbG93ZXIsIDI4LiBKYW4gMTk5NywgMTI6MDg6NTEpOgp+IyEgcm49U2lkb2xpbiBydD04NTQ0NDkzOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ0NDkzOTEKaG1tIGJpbiBpY2ggZGFubiBlaW4gTWl0dGVtZW5zY2ggb2RlciBhdWNoIE1pdG1lbnNjaCBnZW5hbm50ID8KClN1bmZsb3dlciwgYXVzbGFlbmRlcmZyZXVuZGxpY2gsIGZyYXVlbmZlaW5kbGljaCB1bmQgbmljaHQgbmF0aW9uYWwtZGVua2VuZAoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBqb29vbyAoR3JpbW1ib3JuLCAyOC4gSmFuIDE5OTcsIDE0OjAyOjUyKToKfiMhIHJuPUphc3BlciBydD04NTQ0MDA1ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ0MDA1ODcKCgpJY2gga2FubiBldWNoIGdhciBuaWNodCBzYWdlbiwgd2llIHNlaHIgbWljaCBkYXMgYW5rb3R6dC4gSXN0IGVzIG5pY2h0CmVyc3RhdW5saWNoLCBkYXNzIGdlbmF1IGRpZSBMZXV0ZSwgZGllIHNpY2ggc2VsYnN0dmVyc3RhZW5kbGljaCBnZXN0YXR0ZW4sIGF1ZgpLb3N0ZW4gKG5kIE5lcnZlbikgQW5kZXJlciB6dSB0dW4sIHdhcyBpbW1lciBpaG5lbiBiZWxpZWJ0LCBhbSBsYXV0ZXN0ZW4Kc2NocmVpZW4sIHdlbm4gc2llIHNlbGJlciBnZXRyb2ZmZW4gd2VyZGVuPyBNb2VnbGljaGVyd2Vpc2UgZ2lidCBlcyBqYQp0YXRzYWVjaGxpY2ggZWluZSBBcnQgSG9jaGdlZnVlaGwsIHdlbm4gbWFuIGFuZGVyZW4gemVpZ2VuIGthbm4sIHdpZQoibWFlbm5saWNoIiBtYW4gc2ljaCBkYW5lYmVuIGJlbmVobWVuIGthbm4gdW5kIHdpZSB0b2xsIG1hbiBkYXJhdWYgcGZlaWZlbgprYW5uLCBvYiBhbmRlcmUgc2ljaCBkdXJjaCBkYXMgZWlnZW5lIFZlcmhhbHRlbiB2ZXJsZXR6dCBvZGVyIGJlbGFlc3RpZ3QKZnVlaGxlbiBrb2VubnRlbi4gTmF0dWVybGljaCBudXIgYW5kZXJlLCBkaWUgc2Nod2FlY2hlciBzaW5kLCB3ZW5uIHN0YWVya2VyZQphbmtvbW1lbiBoZXVsdCBtYW4gbGllYmVyIGxvcywgaGFlbHQgZGllIFNjaGlsZGVyIG1pdCAiWmVuc3VyIiB1bmQKIlVudGVyZHJ1ZWNrdW5nIiBob2NoLiBNZWluZSBHdWV0ZSwgaXN0IGRhcyB0YXRzYWVjaGxpY2ggZGVyIG1vcmFsaXNjaGUgU3RhbmQKdW5zZXJlciBHZXNlbGxzY2hhZnQsIG5hY2ggdW50ZW4gZWluIE1heGltdW0gYW4gUnVlY2tzaWNodHNsb3NpZ2tlaXQsIHVuZCBuYWNoCm9iZW4gZWluIEdlamFtbWVyZSB1bmQgR2VoZXVsZSwgc29iYWxkIG1hbiBkYXJhdWYgaGluZ2V3aWVzZW4gd2lyZCwgZGFzcyBkYXMKa2VpbiBCZW5laG1lbiBpc3QgKG9kZXIgc29uc3QgZWluZSBXaWRyaWdrZWl0IGRyb2h0KT8KTWVpbiBsaWViZXIgSmFzcGVyLCB3ZW5uIER1IGRvY2ggc28gZW50c2V0emxpY2ggZGFydW50ZXIgbGVpZGVzdCwgZGFzcyBpY2gKc2VsYmVyIHR1ZSwgd2FzIGljaCBmdWVyIHJpY2h0aWcgaGFsdGUgYW5zdGF0dCB6dW0gU2hlcmlmZiB6dSBnZWhlbiAod2llIER1IGVzCmphIGZ1ZXIgcmljaHRpZyBoYWVsc3QpLCB3YXJ1bSBnZWhzdCBEdSBkYW5uIG5pY2h0IGtvbnNlcXVlbnRlcndlaXNlIHp1IGlobQp1bmQgYmVzY2h3ZXJzdCBEaWNoPyBKZWRlciBzbyB3aWUgZXIga2Fubiwgd2llIGVyIGVzIGZ1ZXIgcmljaHRpZyBoYWVsdCB1bmQKd2llIGVyIGRhbWl0IGR1cmNoa29tbXQuIEJpc2hlciBoYXQgc2ljaCBub2NoIGtlaW5lciwgZGVyIGF1Y2ggbnVyIGlyZ2VuZHdpZQplcm5zdHp1bmVobWVuIHdhZXJlLCBiZXNjaHdlcnQuLi4KCkRlaW5lciBNZWludW5nIG5hY2ggaXN0IGVzIHNjaGVpbmJhciB2b2VsbGlnIGxlZ2l0aW0sIFNwaWVsZXJpbm5lbiB6dQpiZWxhZXN0aWdlbiAoZGFzIFdvcnQgIm5lcnZlbiIgaXN0IGluIGRpZXNlbSBGYWxsIHZvZWxsaWcgdW5hbmdlYnJhY2h0KSwKenVtaW5kZXN0IGlzdCBkYXMga2VpbiBHcnVuZCwgZXR3YXMgZGFnZWdlbiB6dSB1bnRlcm5laG1lbi4gRGFzIFNjaGxpbW1lIGlzdCwKaWNoIGdsYXViZSBEaXIgZ2VybmUsIGRhc3MgZGFzIERlaW5lIE1laW51bmcgaXN0Li4uCkZ1ZXIgZGVuIFJlc3QgZGVyIFdlbHQgaGFiZSBpY2ggbWFsIGRlbiBhbHRlbiBBcnRpa2VsIGF1cyBkZXIgY3QgcmF1c2dlc3VjaHQKKGh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS9+bXVkL011ZC5ERS9QcmVzcy9jdC5BdWcuOTYuaHRtbCkgdW5kIGF1ZiBkYXMKaW4gZGVtIEZhbGwgV2VzZW50bGljaGUgZ2VrdWVyenQuIFdlbiBlcyBuaWNodCBpbnRlcmVzc2llcnQgb2RlciB3ZXIgaWhuIGtlbm50CmJyYXVjaHQgaWhuIG5pY2h0IHp1IGxlc2VuLCBhbnNjaGxpZXNzZW5kIHN0ZWh0IGRhIG51ciBub2NoICJHcmltbWJvcm4gZGVyCkF0aGVpc3QiLCBpaHIgdmVycGFzc3QgYWxzbyBuaWNodHMuIEljaCBtb2VjaHRlIGRhenUgbnVyIHp3ZWkgRGluZ2Ugc2FnZW46CkljaCBiaW4gc2VsYmVyIGluIHZpZWxlbiBCZXJlaWNoZW4gZW1vdGlvbmFsIHNvIHRpZWYgaGllciBpbSBtdWQgZHJpbiwgZGFzcwppY2ggZGllIFJlYWt0aW9uIGRlciBiZWlkZW4gU3BpZWxlcmlubmVuIGd1dCB2ZXJzdGVoZW4ga2FubiB1bmQgZGFzIGZ1ZXIKZ2xhdWJ3dWVyZGlnIGhhbHRlLgpXZW5uIGljaCBzb3dhcyBpbiBkZXIgQXJ0IGhpZXIgbWl0YmVrb21tZW4gc29sbHRlICh1bmQgZGFzIGhhbmRmZXN0LCBuaWNodCBudXIKYWxzIEdlcnVlY2h0KSwgZGFubiBzcGllbGUgaWNoIG5pY2h0IEhpbGZzc2hlcmlmZiwgc29uZGVybiBIZW5rZXIuIFVuZCB3ZW5uCmRhcyBkYXMgbGV0enRlIGlzdCwgd2FzIGljaCBtYWNoZSwgYmV2b3IgaWNoIGF1ZiBBbnRyYWcgdm9uIHNvbGNoZW4gIk1laW51bmdzLQp1bmQgVmVyaGFsdGVuc2ZyZWloZWl0c3ZlcnRlaWRpZ2VybiIgd2llIEphc3BlciBnZWxvZXNjaHQgd2VyZGUuCgpOdXIgU3BpZWxlcmVpLi4uIG9kZXIgbWVocj8KCkRhenUgemllaHQgbWFuIHNpY2ggbWl0IHNlaW5lbSBQYXJ0bmVyIChlcyBkdWVyZmVuIGF1Y2ggbWVocmVyZSBzZWluKSBpbgpwcml2YXRlcmUgR2VmaWxkZSB6dXJ1ZWNrIHVuZCBsYWVzc3QgZGVyIEtyZWF0aXZpdGFldCBzZWluZXIgR2VsdWVzdGUgZnJlaWVuCkxhdWYuIEltIElkZWFsZmFsbCBnZXNjaGllaHQgZGFiZWkgbmljaHRzIGdlZ2VuIGRlbiBXaWxsZW4gZGVzIGFuZGVyZW47CmJlaWRlIGxhc3NlbiBzaWNoIGdlbWVpbnNhbSBkYXJhdWYgZWluLiBMYW5nZSBaZWl0IGZ1ZWhydGVuIGRpZXNlIFByYWt0aWtlbgp6dSBrZWluZXJsZWkgUHJvYmxlbWVuLCBkZW5uIEdlZmFocmVuIHdpZSBBSURTLCBLb2VycGVydmVybGV0enVuZyBvZGVyCnVuZ2V3b2xsdGUgU2Nod2FuZ2Vyc2NoYWZ0IHdhcmVuIGVsZWdhbnQgdW1nYW5nZW4uCgpFcyBtYWNodGUgc2ljaCBkYWJlaSBhdWNoIGRpZSBFcmtlbm50bmlzIGJyZWl0LCBkYXNzIGVzIGJlaSBkZXIgU2V4dWFsaXRhZXQKd2VuaWdlciBhdWYgZGVuIHBoeXNpc2NoZW4gS29lcnBlciBhbHMgYXVmIHNlaW5lbiBwc3ljaGlzY2hlbiBHZWdlbnBhcnQKYW5rYW0sIGF1ZiBkaWUgUmVwcmFlc2VudGF0aW9uIGRlcyBLb2VycGVycyBpbSBLb3BmLiBTbyBrYW0gZXMgaW0gRnJ1ZWhqYWhyCjE5OTMgaW0gTGFtYmRhTU9PIHp1IGVpbmVtIFZvcmZhbGwsIGRlciB3ZWl0IHVlYmVyIGRpZSBNdWQtR2VtZWluZGVncmVuemVuCmhpbmF1cyBmdWVyIEF1ZnJ1aHIgc29yZ3RlLiBadXIgRXJsYWV1dGVydW5nIG11c3MgbWFuIGV0d2FzIHdlaXRlciBhdXNob2xlbi4KVm9uIGRlciBQcm9ncmFtbWllcnNlaXRlIGhlciBnZXNlaGVuIGlzdCBlaW4gdmlydHVlbGxlciBNaXRzcGllbGVyIG5pY2h0cwphbmRlcmVzIGFscyBlaW4gT2JqZWt0LCBkYXMgbWl0IGJlc3RpbW10ZW4gQXR0cmlidXRlbiB2ZXJzZWhlbiBpbm5lcmhhbGIgZGVyCkRhdGVuYmFzaXMgYmV3ZWd0IHdlcmRlbiBrYW5uLiBBbmRlcmUgU3BpZWxlciBpbSBMYW1iZGFNT08ga29lbm5lbiBudW4gZWluZQpzb2dlbmFubnRlICdWb28tZG9vLVB1cHBlJyBwcm9ncmFtbWllcmVuLCBkaWUgZWluZXIgc2Nob24gYmVzdGVoZW5kZW4KU3BpZWxmaWd1ciBmcmFwcGllcmVuZCBhZWhubGljaCBzaWVodCwgdW5kIGRpZXNlbiBLbG9uIGdld2lzc2VybWFzc2VuCmZlcm5zdGV1ZXJuLiBEYSBhbmRlcmUgTWl0c3BpZWxlciBqZW5zZWl0cyBkZXMgT3BmZXJzIG5pY2h0IHVudGVyc2NoZWlkZW4Ka29lbm5lbiwgb2IgJ3dpcmtsaWNoZSBTcGllbGZpZ3VyZW4nIG9kZXIgUHVwcGVuIGFnaWVyZW4sIHdpcmQgZGFzClB1cHBlbmJhc3RlbG4gaW4gZGVyIFJlZ2VsIG51ciBhbHMgaGFybWxvc2VyIFNwYXNzIGVpbmdlc2V0enQgdW5kIHp1cgpCZWx1c3RpZ3VuZyBhbGxlciBCZXRlaWxpZ3RlbiBiYWxkIGF1Zmdla2xhZXJ0LgoKVmVyYmFsZSBBbGxtYWNodAoKRWluIFNwaWVsZXIsIGRlciBzaWNoIGhpbnRlciBkZXIgUm9sbGUgJ01yLiBCdW5nbGUnIHZlcmJhcmcsIGVybGF1YnRlIGVzCnNpY2ggbnVuLCBQdXBwZW4gZGVyIHZvbSBHZXNjaGxlY2h0IGhlciBuZXV0cmFsZW4gTGVnYmEgdW5kIGRlciB3ZWlibGljaGVuCkZpZ3VyIFN0YXJzaW5nZXIgaW0gV29obnppbW1lciBkZXMgSGF1cHRoYXVzZXMgdm9uIExhbWRhTU9PIGltIEJlaXNlaW4KdmllbGVyIGFuZGVyZXIgRmlndXJlbiB6dSBzZXh1ZWxsZW4gRGllbnN0bGVpc3R1bmdlbiBhbiBzZWluZW0gdmlydHVlbGxlbgpJY2ggenUgbm9ldGlnZW4tLCBhdXNzZXJkZW0gc29sbHRlbiBkaWUgT3BmZXIgYnJ1dGFsZSB1bmQgb2Jzem9lbmUgSGFuZGx1bmdlbgphbiBzaWNoIHNlbGJzdCB2b21laG1lbi4gTWFuIG1hZyBlaW53ZW5kZW4sIGRhc3MgZWluZSBzb2xjaGUgdmlydHVlbGxlClZlcmdld2FsdGlndW5nIGJhbmFsIHNlaSwgenVtYWwga2VpbmVybGVpIEtvZXJwZXJ2ZXJsZXR6dW5nIHZvcmxpZWd0LiBBYmVyCmRpZSBTcGllbGVyaW4gbXVzc3RlIHZvZWxsaWcgbWFjaHRsb3MgYW4gaWhyZW0gQmlsZHNjaGlybSBtaXQgYW5zZWhlbiwgd2llCmlocmUgTmV0emlkZW50aXRhZXQgTGVnYmEsIGluIGRpZSBzaWUgdW5nZWhldWVyIHZpZWwgWmVpdCwgRW5lcmdpZSB1bmQKR2VmdWVobGUgaW52ZXN0aWVydCBoYXR0ZSwgbmV0em9lZmZlbnRsaWNoIGR1cmNoIGRlbiBTY2htdXR6IGdlem9nZW4gd3VyZGUuCkRpZSBUcmFlbmVuLCBkaWUgZGFzIEVyZWlnbmlzIGJlaSBkZXIgdGllZiBHZWRlbXVldGlndGVuIGF1c2xvZXN0ZSwgd2FyZW4KYWJzb2x1dCByZWFsLCB1bmQgZGllIFRhdHNhY2hlLCBkYXNzIGVzIHNpY2ggJ251ciB1bSBUZXh0JyBoYW5kZWx0ZSwKbGluZGVydGVuIHNpZSBuaWNodC4KCldvIGVuZGV0IGRlciBLb2VycGVyLCB1bmQgd28gYmVnaW5udCBkZXIgR2Vpc3Q/IEluIE11ZHMgaXN0IGRlciBHZWlzdCBuaWNodApudXIgZWluIFRlaWwgZGVzIEtvZXJwZXJzLCBzb25kZXJuIGRlciBLb2VycGVyIHNjaGxlY2h0aGluLiBNaXQgZGVtIEVpbnRyaXR0CmluIGRhcyB2aWVseml0aWVydGUgSW5mb3JtYXRpb25zemVpdGFsdGVyIGJlZ2lubnQgZGllIGtsYXNzaXNjaGUgVHJlbm51bmcKdm9uIFdvcnQgdW5kIFRhdCBkaWZmdXMgenUgd2VyZGVuLiBEaWUgZWlnZW50bGljaGUgTWFnaWUgZGVyIE11ZHMgbGllZ3QKd2VuaWdlciBpbiBpaHJlbSBmYW50YXN0aXNjaGVuIEhpbnRlcmdydW5kIGFscyBpbiBkZXIgVmVyc2NobWVsenVuZyB2b24KU3ByYWNoZSB1bmQgSGFuZGVsbi4KCkRlciBWb3JmYWxsIGxvZXN0ZSBoZWlzc2UgRGViYXR0ZW4gZGFydWViZXIgYXVzLCB3aWUgbWFuIG1pdCBMZXV0ZW4gd2llIE1yLgpCdW5nbGUgYW0gYmVzdGVuIHZlcmZhaHJlbiBzb2xsdGUuIExlZ2JhIG1lbGRldGUgc2ljaCB6d2VpIFRhZ2Ugc3BhZXRlciB6dQpXb3J0OiAnSWNoIHZlcmxhbmdlLCBkYXNzIE1yLiBCdW5nbGUgZGFmdWVyIGdlYWVjaHRldCB3aXJkLCBkYXNzIGVyIFN0YXJzaW5nZXIKdW5kIG1pY2ggdmVyZ2V3YWx0aWd0IGhhdC4gSWNoIGhhYmUgc28gd2FzIG5pZSB6dXZvciBnZXRhbiB1bmQgbGFuZ2UgZGFydWViZXIKbmFjaGdlZGFjaHQuIEVyIGhhdCB1bnMgYmVpZGUgdmVybGV0enQuJyBEaWVzIGthbSBlaW5lbSBUb2Rlc3VydGVpbCBnbGVpY2gsCmRlbm4gZGllIHVyc3BydWVuZ2xpY2hlIEJlc2NocmVpYnVuZyBkZXMgQ2hhcmFrdGVycyB3aXJkIGJlaSBkaWVzZW0gVm9yZ2FuZwpkdXJjaCBkaWUgZWluZXIgc2NobGVpbWlnZW4gS3JvZXRlIG9kZXIgYWVobmxpY2hlbiBHZXRpZXJzIGVyc2V0enQsIHVuZCBkZXIKRGVsaW5xdWVudCB2ZXJsaWVydCBzZWluIENoYXJha3RlcmtvbnRvLgoKV2VyIGFiZXIgaGF0IGRhcyBSZWNodCwgZGllc2VuIFNjaHJpdHQgenUgdHVuPyBCaXMgenUgZGllc2VtIFplaXRwdW5rdCBoYXR0ZQplcyBpbSBMYW1iZGFNT08ga2VpbmUga2xhcmVuIEhpZXJhcmNoaWVuIGdlZ2ViZW4uIE1hbiBrb25udGUgZGVuIFZvcmdhbmcKYWxzbyBuaWNodCBhbGxnZW1laW4gYW5lcmthbm50ZW4gRW50c2NoZWlkdW5nc2dyZW1pZW4gdWViZXJsYXNzZW4uIEJpc2hlcgpoYXR0ZW4gZGllIE1hZ2llciBhdWZncnVuZCBpaHJlciBsYWVuZ2VyZW4gU3BpZWxlcmZhaHJ1bmcgZGFzIFdvcnQgZ2VoYWJ0LAp1bmQgc28gd3VyZGUga3VyemZyaXN0aWcgYXVjaCBoaWVyIGRpZSBGcmFnZSBkYWR1cmNoIGdlbG9lc3QsIGRhc3MgZWluIE1hZ2llcgplaWdlbm1hZWNodGlnIGRhcyBCdW5nbGVzY2hlIEtvbnRvIGxvZXNjaHRlLiBMYW5nZnJpc3RpZyBlbnRzY2hpZWQgbWFuIHNpY2gKYWJlciBpbiBlaW5lbSBtb25hdGVsYW5nZW4gUHJvemVzcyBtaXQgUGV0aXRpb25lbiwgQXVzc2NodWVzc2VuIHVuZApXYWhsdmVyc2FtbWx1bmdlbiB6dSBlaW5lbSBrbGFyIHN0cnVrdHVyaWVydGVuIFN5c3RlbSwgc28gZGFzcyBMYW1kYU1PTwptaXR0bGVyd2VpbGUgZ2VuYXUgd2llIGFuZGVyZSwgZmVzdCBldGFibGllcnRlIE11ZHMgbWl0IGhvaGVuIFNwaWVsZXJ6YWhsZW4KZWhlciB3aWUgZWluIEtsZWluc3RhYXQgZnVua3Rpb25pZXJ0LiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBqb29vbyAoSGFyLCAyOC4gSmFuIDE5OTcsIDE1OjU3OjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTQ0NTY1NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ0MDA1ODcKR3V0IHVuZCBzY2hvZW4gZGVyIEFydGlla2wsIGJsZWlidCBudXIgbm9jaCBmZXN0enVoYWx0ZW4sIGRhc3MgZGVyIGhpZXIKZXJ3YWVobnRlIE1yIEJ1bmdsZSB1bmQgZGllIEJ1bmdsZXNjaGVuIEVudGdsZWlzdW5nZW4gbmljaHRzIGFiZXIgYXVjaCBnYXIKbmljaHRzIG1pdCBkZW0gQnVuZ2xlIHp1IHR1biBoYWJlbiwgZGVyIGhpZXIgbWFsIHZpZWwgZ2VtdWRkZXQgaGF0IHVuZCBtaXQgZGVtCmljaCBtaWNoIGxlY2tlciBiZXRydW5rZW4gaGFiZS4uLi4KCm51ciBhbSBSYW5kZQpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGpvb29vIChTY2hydW1wZmksIDI4LiBKYW4gMTk5NywgMjI6Mjg6NDQpOgp+IyEgcm49SGFyIHJ0PTg1NDQ2MzQ1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDQwMDU4NwpXaWVzbyBtdWRkZXQgZGVyIGVpZ2VudGxpY2ggbmljaHQgbWVocj8KU2NocnVtcGZpIHd1ZXJkIGRlbiBCdW5nbGVATW9yZ2VuZ3JhdWVuIGdlcm4gd2llZGVyIG1hbCBhbnRyZWZmZW4gdW5kIHNpY2gKYXVjaCBnZXJuIG1hbCB3aWVkZXIgbWl0IGlobSBsZWNrZXIgYmV0cmlua2VuIHVuZCB1ZWJlciBndXRlIE11a2UgbGFiZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBqb29vbyAoQXNtb2RpcywgMjkuIEphbiAxOTk3LCAwMjoyMzoxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU0NDU2NTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0NDAwNTg3CkhtbSwgaGFiZW4gc2llIGluendpc2NoZW4gZGllIFZvb2Rvby1QdXBwZW4gZG9ydCBhYmdlc2NoYWZmdCA/PwpXZW5uIGRlbiBTcGllbGVybiBzb2xjaGUgTWl0dGVsIGluIGRpZSBIYW5kIGdlZ2ViZW4gd2VyZGVuLCBkYW5uCndlcmRlbiBzaWUgc2llIGF1Y2ggaXJnZW5kd2FubiBiZW51dHplbi4KSWNoIGZpbmRlLCBkaWUgTU9PLU1hZ2llciAoYnp3LiBkZXIgVmVyYW50d29ydGxpY2hlIGZ1ZXIgZGllc2UKdG9vbHMpIHRyYWdlbiBlaW5lIE1pdHNjaHVsZCBhbiBkaWVzZXIgR2VzY2hpY2h0ZSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGpvb29vIChEaG9qYWt0LCAyOS4gSmFuIDE5OTcsIDAzOjA2OjQ3KToKfiMhIHJuPVNjaHJ1bXBmaSBydD04NTQ0ODY5MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ0MDA1ODcKVGphLCBhbHMgaWNoIGlobiBkYXMgbGV0enRlIG1hbCB2b3IgbmVtIHZpZXJ0ZWxqYWhyIGdldHJvZmZlbiBoYWIsIG1laW50ZSBlciwKZGFzcyBlciBob2VjaHN0ZW5zIG5vY2ggbWFsIGlucyBtZyBrYWVtZSwgdW0gc2VsYnN0bG9lc2NodW5nIHp1IG1hY2hlbi4uLgpzY2hhZGUgZWlnZW50bGljaC4gCktoaWRhci4gKGRlbmt0IGdyYWQgenVydWVjaywgd2llIGVyIGRhcyBlcnN0ZSBtYWwgYmVpIGJ1bmdsZSBkYXMgbWcgZ2VzZWhlbgpoYXQuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBqb29vbyAoQW5hdG9sLCAyOS4gSmFuIDE5OTcsIDAzOjQ2OjM2KToKfiMhIHJuPURob2pha3QgcnQ9ODU0NTAzNjA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0NDAwNTg3CgpBbHNvIGFuIEJ1bmdsZSBrYW5uIHNvZ2FyIGljaCBtaWNoIG5vY2ggZXJpbm5lcm4uLi4gZGFzIHdhciBuYWVtbGljaCBkZXIKZXJzdGUgU3BpZWxlciBoaWVyLCBtaXQgZGVtIGljaCBlaW4gcGFhciBXb3J0ZSB3ZWNoc2VsdGUgLSBkYXMgZW5kZXRlIGRhbm4KaW4gZGVyIE1QQSwgd2VpbCBlciBlcyAoYmVyZWNodGlndGVyd2Vpc2UpIHppZW1saWNoIHdpdHppZyBmYW5kIDstKQoKU2NobWFycm5lbmQsIEFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNrdXNzaW9uIChPZXR0aSwgMjkuIEphbiAxOTk3LCAxNjoxNjowOCk6Cn4jISBybj1HYXN0MSBydD04NTQ1NTA4NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ1NTA4NzQKSWNoIGJpbiBnZWdlbiBhbGxlcywgZ3J1bmRzYWV0emxpY2ggdW5kIGltbWVyLi4uCgpBYmVyIEZyYXVlbiBnZWhvZXJlbiBuaWNodCBpbiBkaWUgS3VlY2hlIHNvbmRlcm4gaW4ncyBTY2hsYWZ6aW1tZXIuLi4KCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGlza3Vzc2lvbiAoU2NocnVtcGZpLCAyOS4gSmFuIDE5OTcsIDE3OjA2OjA3KToKfiMhIHJuPVNjaHJ1bXBmaSBydD04NTQ1NTM1MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTQ1NTA4NzQKRGFmdWVyIGJsb2VkICphdWYgbm4gZGV1dCoKU2NocnVtcGZpIGVycm9ldGV0IG9iIGRlciB2aWVsZW4gVHlwb3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaXNrdXNzaW9uIChKYXNwZXIsIDMwLiBKYW4gMTk5NywgMDA6NDg6MDEpOgp+IyEgcm49Rnl0IHJ0PTg1NDU4MTEzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NDU1MDg3NApBbHNvIGljaCB3dWVyZCBzYWdlbiBlaW4gSGVyZCB1bmQgZWluIEJldHQgZ2Vob2VyZW4gaW4gZGVuIFJhdW0sIGluIGRlbSBkZXIKRmVybnNlaGVyIHN0ZWh0LCBkYW5uIGthbm4gbWFuIFJhbiBzY2hhdWVuLCB3ZXJkZW4gbWFuIGVpbmVuIGdlYmxhc2VuIGJla29tbXQsCnVuZCBkYW5hY2gga2FubiBkaWUgVGFudGUgZGFubiB3YXMga29jaGVuLgoKSmFzcGVyIGlkbGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhbmsgYW4gbG9jbyAoSGFkcmEsIDMwLiBKYW4gMTk5NywgMTQ6MDY6MjApOgppY2ggbW9lY2h0ZSBtaWNoIGFuIGRpZXNlciBzdGVsbGUgbm9jaGVpbm1hbCBmdWVyIGRlbiAndWViZXJnZWhlIHRocmVhZCcKYmVmZWhsIGJlZGFua2VuLiBlciBoYXQgbWlyIGhldXRlIHdpcmtsaWNoIGdlaG9sZmVuLgoKaGFkcmEgLSBnZWh0IGpldHp0IHp1bSBmdXR0ZXJuIHVlYmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNVUQgSGFlbmdlci4uLi4gKEhhdGUsICA0LiBGZWIgMTk5NywgMTM6NDc6MDMpOgpEdXJjaCBlaW5lbiBrbGVpbmVuIHByb2dyYW1taWVyZmVobGVyIGhhdHRlIHNpY2ggZGFzIE1VRCBhdWYgU3lzdGVtc2VpdGUKaW4gZWluZXIgc3RyY3B5KCkgRnVua3Rpb24gdmVyaGFuZ2VuLiBUamEsIGhhZXR0ZSBuaWNodCBwYXNzaWVyZW4gZHVlcmZlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGFuayBhbiBsb2NvIChUb2UsICA1LiBGZWIgMTk5NywgMDA6Mjk6NTEpOgp+IyEgcm49SGFkcmEgcnQ9ODU0NjI5NTgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0NjI5NTgwCmRlbSBrYW5uIGljaCBtaXIgbnVyIGFuc2NobGllc3NlbiEKdG9lClAuUy46IEthbm4gbWFuIGRhcyBsYWVzdGlnZSBob2Noc2Nyb2xsZW4gKHVlYmVyZ2VoZSBhcnRpa2VsIGF1cyBpZ25vcmllcnRlbQp0aHJlYWQpIG5pY2h0IGFic2NoYWx0ZW4gLSBpc3QgamEgZ2xlaWNoIGRlciBnYW56ZSBzY2hpcm0gdW5pLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGRhbmsgYW4gbG9jbyAoTG9jbywgIDUuIEZlYiAxOTk3LCAyMjozNToxOCk6Cn4jISBybj1Ub2UgcnQ9ODU1MDk4OTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU0NjI5NTgwCkthbm4gbWFuIHNpY2hlciAtIG1laW4gR2VkYW5rZSBkYWJlaSB3YXI6IEljaCB3b2xsdGUgdmVybWVpZGVuLCBkYXNzIG1hbgpmYWVsc2NobGljaGVyd2Vpc2UgZ2xhdWJ0LCBkYSBzZWkgZXR3YXMgZHVyY2hlaW5hbmRlcmdla29tbWVuLiBEYW1pdCwgd2VyIGJlaQpkZW4gQXJ0aWtlbG4gbWl0emFlaGx0LCBzaWNoIG5pY2h0IHd1bmRlcnQsIHdlbm4gZWluZXIgZmVobHQuCgpWaWVsbGVpY2h0IG1hY2ggaWNoIGRhcyBrb25maWd1cmllcmJhciwgbWFsIHNjaGF1ZW4uCgotIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvcm1hdCAoVGFtYXJhLCAgNy4gRmViIDE5OTcsIDIwOjEwOjAyKToKSGFsbG8genVzYW1tZW4hCkljaCBoYWJlIGRhIGVpbiBQcm9ibGVtLiBVbmQgendhciBoYWUgaWNoIHZvcmhpbiB6dWhhdXNlIGVpbmVuIHJlY2h0IGdyb3NzZW4KdW5kIGF1Y2ggZ3Jvc3NhcnRpZ2VuIEFydGlrZWwgZnVlciBkaWUgTXBhIGluIFdpbndvcmQgZ2VzY2hyaWViZW4uIEpldHp0Cnd1ZXNzdGUgaWNoIGdlcm5lLCB3ZWkgaWNoIGRlbiBoaWVyIHZlcm9lZmZlbnRsaWNoZW4ga2Fubi4KRGVubiBkYXMgRm9ybWF0IGlzdCB3aXJraWxjaCBrbGFzc2UsIGljaCBoYWIgbWlyIHNvdmlsZSBNdWVoZSBnZWdlYmVuLiBVbmQgaGF0CmlyZ2VuZGplbWFuZCBlaW5lbiBLb252ZXJ0ZXIgdW0gV2lud29yZC10ZXh0ZSBNcGEtdGF1Z2xpY2ggenUgbWFjaGVuLiBJY2gKZmFlbmRlIGVzIG5hZW1saWNoIHdpcmtsaWNoIGRvb2YsIHdlbm4gaWNoIGRhcyBqZXR6dCBhbGxlcyBub2NobWFsIHNjaHJlaWJlbgptdWVzc3RlLiBEZXIgQXJ0aWtlbCBpc3QgCm5hZW1saWNoIHdpcmtsaWNoIHdpdHppZywgbmUhIFdhZXJlIGFsc28gZWNodCB1bSBqZWRlbiBUaXAgZGFua2Jhci4KClRhbWFyYQoKUC5TLjogSWNoIGhhYiBkYSBhdWNoIG5vY2ggZWluIGdlZGljaHQgYXVmIGtsaW5nb25pc2NoIGdlc2NocmllYmVuLiBJY2ggZmluZGUKendhcixkYXNzIGRhcyBzZWluZW4gYmVzb25kZXJlbiBSZWl6IGVyc3QgaW4gZGllc2VyIFNwcmFjaGUgYmVrb21tdCwgYWJlcnQKZnVlciBkaWUgS2xpbmdvbmlzY2gtVW5rdW5kaWdlbiBoYWV0dGUgaWNoIGhhbHQgZ2VybiBlaW5lbiBUcmFuc2xhdGVyLCBuZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvcm1hdCBkaWUgendlaXRlIChUYW1hcmEsICA3LiBGZWIgMTk5NywgMjA6MTI6NTApOgpCZWRlbmtldCwgaWNoIGhhYmUgaW4gV2lud29yZCBzY2hvbiBhbGxlIHRpcHBmZWhsZXIga29yaWdpZWt0LCBkYXMgd2FlcmUgYWxzbwptaXQgbmVtIEtvbnZlcnRlciBlY2h0IHRvbGwsbmU/IHdlaWwgaGllciBzbyBkaWVyZWt0IGthbm4gaWNoIGVpbmZhY2ggbmljaHQKc2NocmVpYmVuLi4uIHNvbmUgdXJhbHRlIFNvZnR3YXJlIGhpZXIuLgoKVGFtYXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvcm1hdCBkaWUgendlaXRlIChHcmltbWJvcm4sICA3LiBGZWIgMTk5NywgMjA6MTU6NTEpOgp+IyEgcm49VGFtYXJhIHJ0PTg1NTM0Mjc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NTM0Mjc3MApHYXIga2VpbiBQcm9ibGVtOiBBbHNvLCB1bnRlciBMaW51eCBlcnN0bWFsIHdpbmUgaW5zdGFsbGllcmVuIHVuZAprb25maWd1cmllcmVuLiBEYW5uIFdvcmQgZGFtaXQgc3RhcnRlbiwgZGVuIFRleHQgbGFkZW4gdW5kIHBlciB4diBhbHMKc2NyZWVuc2hvdCBhYmdyZWlmZW4gKHZvcmhlciBkaWUgVW1sYXV0ZSBkdXJjaCBzdWNoZS9lcnNldHplbiB1bXdhbmRlbG4hKS4gRGllCnNjcmVlbnNjaG90cyBkYW5uIG1pdCBlaW5lciBoYW5kZWxzdWVibGljaGVuIFRleHRlcmtlbm51bmdzc29mdHdhcmUgYmVoYW5kZWxuCihpY2ggZW1wZmVobGUgZGEgaW1tZXIgZGllIE1hYy1WZXJzaW9uIHZvbiBUZXh0YnJpZGdlKSB1bmQgLSB2b2lsISAtIGRlcgpBcnRpa2VsIGthbm4gZ2Vwb3N0ZXQgd2VyZGVuLiBWb3JyYXVzZ2VzZXR6dCBEdSB3aXJzdCB2b3JoZXIgTWFnaWVyLCBkYW1pdCBEdQpEYXRlaWVuIGRpcmVrdCBpbiBkZW4gRWRpdG9yIGVpbmxlc2VuIGthbm5zdC4KCkFsc28sIHdpciBzZWhlbjogRWluIEtpbmRlcnNwaWVsLCBrYXVtIGRlciBSZWRlIHdlcnQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGb3JtYXQgKFN1c2hpLCAgNy4gRmViIDE5OTcsIDIwOjIwOjMyKToKfiMhIHJuPVRhbWFyYSBydD04NTUzNDI2MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTUzNDI2MDIKU3BlaWNoZXJuIGFscyBBU0NJSS4KRnVlciBLbGluZ29uaXNjaCBnaWJ0IGVzIEtsaW56IChhbHMgU2NocmlmdCkgdW5kIEV0b0sgKEVuZ2xpc2ggdG8gS2xpbmdvbikgYWxzCnVlYmVyc2V0emVyIGZ1ZXIgTGludVgsIGJ6dy4gZGllIFRlWC1FbnRhcnR1bmdlbiB1bnRlciBEb3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZvcm1hdCAoQW5hdG9sLCAgNy4gRmViIDE5OTcsIDIyOjQwOjM4KToKfiMhIHJuPVN1c2hpIHJ0PTg1NTM0MzIzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NTM0MjYwMgoKTW9tZW50IC0gVWViZXJzZXR6dW5nZW4gdm9tIFNpbm4gb2RlciBlaW5mYWNoIFRyYW5zc2tyaXB0aW9uIHZvbSBrbGluZ29uaXNjaGVuClNjaHJpZnRzYXR6IGF1ZiBsYXRlaW5pc2NoZSBaZWljaGVuPyBBbiBlcnN0ZXJlbSB3YWVyIGljaCBhdWNoIGludGVyZXNzaWVydC4KCkhvdiBnaGFqLWJlJ2JvZ2ggcmFtIHJ1ciBwZWdoIGdoYWotYmUnLWJvZ2ggamFqLgoKQW5hdG9sIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvcm1hdCAoSGFkcmEsICA4LiBGZWIgMTk5NywgMTE6Mjc6MzEpOgp+IyEgcm49VGFtYXJhIHJ0PTg1NTM0MjYwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NTM0MjYwMgpudXItYXNjaWktZHJ1Y2tlciBpbnN0YWxsaWVyZW4gdW5kIGluIGVpbmUgZGF0ZWkgZHJ1Y2tlbi4gZGFubiBibGVpYmVuIGF1Y2gKZGllIGVpbnJ1ZWNrdW5nZW4gZXJoYWx0ZW4uIGRlaW4gZmF2b3Jpc2llcnRlciBtdWRjbGllbmQsIGthbm4gZGFzIGRhbm4KaG9jaGxhZGVuLgoKYWJlciB3YXJ1bSBzdGVodCBkYXMgZ2FuemUgbmljaHQgc2NobWFycm4/CgpoYWRyYSAtIHZlcndpcnJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZvcm1hdCBkaWUgendlaXRlIChNb3Jnb3RoLCAgOC4gRmViIDE5OTcsIDIwOjI5OjI3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTUzNDI5NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTUzNDI3NzAKV2llc28gTWFnaWVyPyBDdXQmUGFzdGUgc29sbHRlIGVzIGF1Y2ggdHVuIDstKQpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGllcyBtaWNoLCBEdSBTYXUhIChEYW5jZXIsIDExLiBGZWIgMTk5NywgMDY6NDg6MTMpOgpIYWxsbyEgOi0pCgpXaWUgZXMgZGVyIFp1ZmFsbCB3aWxsLCBiaW4gaWNoIGluIGRlbiBsZXR6dGVuIFRhZ2VuIGdsZWljaCB2aWVyIE1hbCBpbSBNVUQKYW5nZXNwcm9jaGVuIHdvcmRlbiwgd2FzIGRlbm4gJ0ZsYW1lJywgJ0ZsYW1lIG9uJyB1bmQgJ0ZsYW1pbmcnIGZ1ZXIKQXVzZHJ1ZWNrZSB3YWVyZW4uIEljaCBoYWJlIHZvciBFd2lna2VpdGVuIGZ1ZXIgZWluZW4gRnJldW5kIGVpbmVuIEFydGlrZWwKZ2VzY2hyaWViZW4gdW5kIHBvc3RlIGRpZXNlbiBqZXR6dCBoaWVyIGF1cyBnZWdlYmVuZW0gQW5sYXNzIGZ1ZXIgYWxsZSwgZGllIGVzCmludGVyZXNzaWVydC4KCkRhbmNlcgoKLi4uCiJEYXMgUGZlcmQgZnJpc3N0IGtlaW5lbiBHdXJrZW5zYWxhdC4iIE1pdCBkaWVzZW0gU2F0eiBzb2xsIERGVUUtUGlvbmllcgpTYW11ZWwgTW9yc2Ugc2VpbmVuIFRlbGVncmFwaGVuIGF1ZiBGdW5rdGlvbnN0YXVnbGljaGtlaXQgZ2VjaGVja3QgaGFiZW4uIERpZQplcnN0ZW4gV29ydGUsIGRpZSBqZW1hbHMgdm9uIGVpbmVtIE1vZGVtIHVlYmVydHJhZ2VuIHd1cmRlbiwgc2luZCBkYWdlZ2VuCm5pY2h0IHVlYmVybGllZmVydC4gRGF0ZW5oaXN0b3Jpa2VyIHRpcHBlbiBqZWRvY2ggYXVmICdGcmlzcyBEZWluZW4gYmxvZWRlbgpTYWxhdCBkb2NoIHNlbGJlciEnIG9kZXIgc2NobGljaHQgJ1JURk0gLSBSZWFkIHRoZSBGdWNraW5nIE1hbnVhbCwgRHUgSWRpb3QgYW0KYW5kZXJlbiBFbmRlIGRlciBMZWl0dW5nLCB1bmQgbGFzcyBtaWNoIGRhbWl0IGluIFJ1aGUhJwoKRmFsbHMgZGllc2UgQW5uYWhtZW4gc3RpbW1lbiwgZGFubiBoYXQgc2ljaCBkaWUgS29tbXVuaWthdGlvbnNrdWx0dXIgaW4gZGVuCkRhdGVubmV0emVuIHNlaXRoZXIgdGF0c2FlY2hsaWNoIGJlZGV1dGVuZCB3ZWl0ZXJlbnR3aWNrZWx0OiBWb24gcGx1bXBlbgpCZWxlaWRpZ3VuZ2VuIHp1IHJhZmZpbmllcnRlbSBQc3ljaG90ZXJyb3IsIGRlciBkZW4gR2VnbmVyIHNvIGRlbW9yYWxpc2llcmVuCmthbm4sIGRhc3MgZXIgdm9uIHNlbGJzdCB1bSBzZWluZSBFaW53ZWlzdW5nIGluIGVpbmUgZ2VzY2hsb3NzZW5lIEFuc3RhbHQKZXJzdWNoZW4gd2lyZC4KCkZsYW1lcywgZGFzIHNpbmQgZGllIEtldWxlbiBkZXMgQ3liZXJzcGFjZS4gRGllIGJlc3RlIHVuZCBlaW56aWdlIFdhZmZlLCBzaWNoCmR1cmNoenVzZXR6ZW4gaW4gZGVyIEFuYXJjaGllIGRlciBOZXR6ZS4gR2VicmF1Y2hlIHNpZSByaWNodGlnLCB1bmQgRHUgYmlzdApkZXIgS2luZy4gTmV0aXF1ZXR0ZT8gTmllIGdlaG9lcnQuIEVzIGdpbHQgZGFzIFJlY2h0IGRlcyBTdGFlcmtlcmVuLiBJbiBlaW5lcgpXZWx0LCBpbiBkZXIgRHUgd2VkZXIgR2VzaWNodCBub2NoIFN0aW1tZSBoYXN0LCB6YWVobGVuIG51ciBTeW50YXgsIFdvcnR3YWhsCnVuZCBPcnRob2dyYXBoaWUuIFVuZCB3ZXIgbmljaHQgd2lsbCwgZGFzcyBzZWluZSBUZXh0ZSB1bnRlcmdlaGVuIGltIE1lZXIgZGVyCk1lc3NhZ2VzLCBkaWUgc2ljaCBUYWcgZnVlciBUYWcgdWViZXIgZGllIE5ld3NzZXJ2ZXIgZGVzIFVzZW5ldCBlcmdpZXNzdCwgZGVyCm11c3MgZWJlbiB6dXNlaGVuLCBkYXNzIGVyIGF1ZmZhZWxsdCB6d2lzY2hlbiBhbGwgZGVuIHN0YXVidHJvY2tlbmVuCkluZm9qdW5raWVzLCBzZWxic3R2ZXJsaWVidGVuIFF1YXNzZWxzdHJpcHBlbiB1bmQgTGFuZ3dlaWxlcm4uCgpEYXZvbiBhYmdlc2VoZW4gaXN0IEZsYW1pbmcgbmF0dWVybGljaCBlaW4gaW50ZWxsZWt0dWVsbGVzIFZlcmdudWVnZW4gZ2FuegpiZXNvbmRlcmVyIEFydC4gQWxsZWluIHNpY2ggYXVzenVtYWxlbiwgd2llIGRlciBBZHJlc3NhdCBkZXIgYnJpbGxpYW50CmZvcm11bGllcnRlbiBOaWVkZXJtYWNoZSB2b3IgV3V0IGluIGRpZSBUYXN0YXR1ciBiZWlzc3QgdW5kIHNpY2ggYW0gbmFlY2hzdGVuClRhZyBhdXMgQW5nc3Qgdm9yIG5ldWVuIEFuZ3JpZmZlbiBuaWNodCBlaW5tYWwgbWVociB0cmF1dCwgZGVuIFJlY2huZXIKZWluenVzY2hhbHRlbiAtIGRhIGxhY2h0IGRhcyBGbGFtZXItSGVyei4KCkdlbGVnZW5oZWl0LCBkZW4gRmxhbW1lbndlcmZlciBhdXN6dXBhY2tlbiwgZ2lidCBlcyBtZWhyIGFscyBnZW51Zy4gRGllCk5ld3Nncm91cHMgc2luZCB2b2xsIHZvbiBuYWl2ZW4sIHNhY2hsaWNoIGZhbHNjaGVuIG9kZXIgZ2FyIGJlbGVpZGlnZW5kZW4KTWVzc2FnZXMsIGRpZSBuYWNoIGVpbmVyIHBhc3NlbmRlbiBBbnR3b3J0IHZlcmxhbmdlbi4gTmF0dWVybGljaCBzaW5kIG5pY2h0CmFsbGUgaWhyZSBWZXJmYXNzZXIgZ2xhdWJ3dWVyZGlnZSBHZWduZXIsIGFiZXIgamVkZSBGbGFtZSBpc3QgZWluZSBndXRlCkdlbGVnZW5oZWl0LCBkZW0gUmVzdCBkZXMgTmV0emVzIHp1IHplaWdlbiwgd2VyIGhpZXIgZGVyIEJvc3MgaXN0LgoKRWluIGd1dGVyIEFuZmFuZyBpc3QgaW1tZXIgZWluIGxhbmdlcywgd29obHVlYmVybGVndGVzIFBvc3RpbmcsIGFtIGJlc3RlbiB6dQplaW5lbSBwb2xpdGlzY2hlbiBvZGVyIGV0aGlzY2hlbiBUaGVtYSwgaW4gZGFzIGRlciBBdXRvciBvZmZlbnNpY2h0bGljaCB2aWVsCk11ZWhlIGdlc3RlY2t0IGhhdC4gRGllc2VzIHppdGllcmUgbWFuIHZvbGxzdGFlbmRpZyB1bmQgc2NocmVpYmUga3VyegonVm9lbGxpZ2VyIEJsb2Vkc2lubiEnIGRhcnVudGVyLiBFbnR3ZWRlciBlcmhhZWx0IG1hbiBhbHMgQW50d29ydCBlaW4gJ1dpZXNvPycKdW5kIGVpbmUgd2llZGVyaG9sdGUgRGFybGVndW5nIGRlciBBcmd1bWVudGUgLSB3b21pdCBkZXIgYW5kZXJlIHNjaG9uIHZlcmxvcmVuCmhhdCB1bmQgc2ljaCB3ZWl0ZXJlIEZsYW1lcyBlcnVlYnJpZ2VuLiBPZGVyIGVyIGdlaHQgenVtIEdlZ2VuYW5ncmlmZiB1ZWJlciwKc3RlbGx0IE11dG1hc3N1bmdlbiB1ZWJlciBkZW4gSW50ZWxsaWdlbnpxdW90aWVudGVuLCBLaW5kZXJzdHViZSBvZGVyIGRhcwp1bmVyZnVlbGx0ZSBTZXh1YWxsZWJlbiBkZXMgQW5ncmVpZmVuZGVuIGFuLCB1bmQgc2Nob24gaXN0IG1hbiBtaXR0ZW4gZHJpbiBpbgplaW5lbSB3dW5kZXJiYXJlbiAnRmxhbWUtV2FyJy4KCkRhcyB3aWNodGlnc3RlIGFtIEZsYW1pbmcgaXN0IGRpZSBTcHJhY2hlLiBEaWUgaWRlYWxlIFdvcnR3YWhsIG1hZyB2b24gR2VnbmVyCnp1IEdlZ25lciB1bnRlcnNjaGllZGxpY2ggc2VpbiwgdW5kIGluIG1hbmNoZW4gRmFlbGxlbiBzaW5kIGVsZWdhbnQKa29uc3RydWllcnRlIFNjaGltcGZrYW5vbmFkZW4gc2Nob24gZGVyIFNjaGx1ZXNzZWwgenVtIEVyZm9sZy4gU29sbHRlIG1hbiBlcwphYmVyIG1pdCBlaW5lciBpbnRlbGxpZ2VudGVyZW4gTGViZW5zZm9ybSBhbHMgYWxzIEZsaWVnZW5kcmVjayB6dSB0dW4gaGFiZW4sCmlzdCBtb2VnbGljaHN0IGhvaGVzIFNwcmFjaG5pdmVhdSBkaWUgc2ljaGVyc3RlIFdhZmZlLiBGbGFtaW5nLUV4cGVydGVuIHdpZQpDaHJpcyBSb2xsZXN0b24gZW1wZmVobGVuIGRlc2hhbGIgZGVuIG1hc3NpdmVuIEVpbnNhdHogdm9uIEZyZW1kc3ByYWNoZW4sCmluc2Jlc29uZGVyZSBkZXMgTGF0ZWluaXNjaGVuLiBFaW4gbGFlc3NpZyBlaW5nZXN0cmV1dGVzICdhZCBob21pbmVtJyBpc3QKc2Nob24gZW8gaXBzbyBlaW4gR2V3aW5ucHVua3QuIEFsbGVyZGluZ3M6IFVtZ2ViZW4gdm9uIHdvaGxzZWxla3RpZXJ0ZW4KRmFjaHRlcm1pbmkgZW50YmVocnQgYXVjaCBlaW4gYWRhZXF1YXQgcG9zaXRpb25pZXJ0ZXMgJ0R1IFNhdSEnIG5pY2h0IGVpbmVyCmdld2lzc2VuIFdpcmt1bmcuCgonSWNoIGJpbiBwZXJmZWt0LCBkZXIgYW5kZXJlIGlzdCBlaW4gRGVwcC4nIFdlbm4gbWFuIG5hY2ggZGllc2VyIGF1c2dlZmVpbHRlbgpHcnVuZHN0cmF0ZWdpZSB2b3JnZWh0LCBlcmdpYnQgc2ljaCBhbGxlcyB3ZWl0ZXJlIG1laXN0IHZvbiBzZWxic3QuIFp1bQpCZWlzcGllbCwgZGFzcyBlcyBpbW1lciByYXRzYW0gaXN0LCBkaWUgZWlnZW5lIEF1dG9yaXRhZXQgenUgdW50ZXJtYXVlcm4sIGV0d2EKaW5kZW0gbWFuIGFscyBaZXVnZW4gZnVlciBzZWluZSBQb3NpdGlvbiBiZWZyZXVuZGV0ZSBJbnNpZGVyIGF1cyBkZW0KQnVuZGVzdGFnLCBkZW0gSW5uZW5taW5pc3Rlcml1bSBvZGVyIGRlciBHZXNjaGFlZnRzZnVlaHJ1bmcgdm9uIElCTQpoZXJhbnppZWh0LiBPZGVyIGluIGRlbSBtYW4gYXVzIHNlaW5lciBlaWdlbmVuIERva3RvcmFyYmVpdCAtIGJlc3NlciBub2NoOgpIYWJpbGl0YXRpb25zc2NocmlmdCAtIHppdGllcnQgKGRpZSBqYSBzY2hvbiBzb29vbyBsYW5nZSB6dXJ1ZWNrbGllZ3QpLgpWb3JzaWNodDogYWthZGVtaXNjaCB2ZXJzaWVydGUgRmxhbWVyIHNpbmQgaW4gZGVyIExhZ2UsIHNvZXR3YXMgbmFjaHp1cHJ1ZWZlbi4KClVtZ2VrZWhydCBnaWx0IHNlbGJzdHZlcnN0YWVuZGxpY2g6IEtlaW4gQXJndW1lbnQgZGVzIGFuZGVyZW4gd2lyZCBhbmVya2FubnQsCmRhcyBuaWNodCBiaXMgaW5zIGtsZWluc3RlIERldGFpbCBiZWxlZ3Qgd3VyZGUuIFVuZCBzZWxic3R2ZXJzdGFlbmRsaWNoIHNpbmQKc2FlbXRsaWNoZSBCZWxlZ2UsIGRpZSBkZXIgYW5kZXJlIHZvcmJyaW5ndCwgZ2VmYWVsc2NodCEgVWViZXIga3VyeiBvZGVyIGxhbmcKd2lyZCBlciBlcmtlbm5lbiwgZGFzcyBlciBzbyBuaWNodCBtYWwgc2VpbmUgZWlnZW5lIEV4aXN0ZW56IG5pY2h0IGJld2Vpc2VuCmthbm4uIERpZXNlcyBQYXJhZG94dW0gbWFjaHQgaWhuIGZlcnRpZy4gKFZvcmF1c2dlc2V0enQsIGVyIHdlaXNzIHVlYmVyaGF1cHQsCndhcyBlaW4gUGFyYWRveHVtIGlzdC4pCgpGYWxscyBzYWNobGljaCB3aXJrbGljaCBlaW5tYWwgbmljaHRzIHp1IG1hY2hlbiBpc3QgKHp1bSBCZWlzcGllbCwgd2VpbCBkZXIKR2VnbmVyIHZvbiB6dSB2aWVsZW4gYW5kZXJlbiBVc2VybiBVbnRlcnN0dWV0enVuZyBlcmZhZWhydCksIGRhbm4gaGVpc3N0IGVzOgpOZWJlbmtyaWVnc3NjaGF1cGxhZXR6ZSBlcm9lZmZuZW4uIERvcnQga2FubiBtYW4gYXVmIHBlaW5saWNoZQpSZWNodHNjaHJlaWJmZWhsZXIgdmVyd2Vpc2VuIG9kZXIgYXVmIHRlY2huaXNjaGUgVW56dWxhZW5nbGljaGtlaXRlbiB3aWUKZmFsc2NoIGtvbmZpZ3VyaWVydGUgTmV3c3JlYWRlciB1bmQgdW5sZXNlcmxpY2hlIFVtbGF1dGUuIFVuZCBzY2hsaWVzc2xpY2gKbGFlc3N0IHNpY2ggaW1tZXIgbm9jaCBkZXIgQXJndW1lbnRhdGlvbnNzdGlsIGtyaXRpc2llcmVuLiBJbSBad2VpZmVsc2ZhbGwgaXN0CmRpZSBEaXNrdXNzaW9uc3N0cmF0ZWdpZSBkZXMgYW5kZXJlbiBmYXNjaGlzdG9pZCEKCldlciBoYXJ0bmFlY2tpZyBnZW51ZyBpc3QsIGFsbGUgU2tydXBlbCBiZWlzZWl0ZSBzY2hpZWJ0IHVuZCBzaWNoIGVpbmVuIERyZWNrCmRhcnVtIHNjaGVydCwgb2IgZXIgYmVpIGRlciBOZXR6Z2VtZWluZGUgYmVsaWVidCBpc3Qgb2RlciBuaWNodCwgZGVyIGhhdCBiZXN0ZQpDaGFuY2VuLCBqZWRlbiBGbGFtZS1XYXIgenUgZ2V3aW5uZW4gLSB1bmQgaXN0IGRhbm4gZ2VhY2h0ZXQgdW5kIGdlZnVlcmNodGV0LAp3YXMgc293aWVzbyB3ZWl0YXVzIGJlc3NlciBpc3QuCgpBbHMgVHJhaW5pbmdzZ2VsYWVuZGUgZnVlciBOZXVlaW5zdGVpZ2VyIGVtcGZlaGxlbiBzaWNoIHVlYnJpZ2VucyBzcGV6aWVsbGUKTmV3c2dyb3VwcyB3aWUgYWx0LmZsYW1lIG9kZXIgZGUuYWx0LmZsYW1lIC0gUmVzZXJ2YXRlLCBpbiBkZW5lbiBtYW4gYXVmCmxhdXRlciBNYXNvY2hpc3RlbiB0cmlmZnQsIGRpZSByaWNodGlnZ2VoZW5kIGhlaXNzIGF1ZiBGbGFtZXMgc2luZC4gQXVmIERhdWVyCmFsc28gZWluZSB6aWVtbGljaCBsYW5nd2VpbGlnZSBBbmdlbGVnZW5oZWl0IC0gdW5kIG51ciBldHdhcyBmdWVyIEZlaWdsaW5nZS4KCltqc10KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGllcyBtaWNoLCBEdSBTYXUhIChIYXJkaWwsIDExLiBGZWIgMTk5NywgMTE6NDM6NTQpOgp+IyEgcm49RGFuY2VyIHJ0PTg1NTY0MDA5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NTY0MDA5MwoKRGFuY2VyLCBEdSBTYXUhCgpWb2VsbGlnZXIgQmxvZWRzaW5uLgpBYmVyIHdlciBnbGF1YnQgc2Nob24gamVtYW5kZW0sIGRlciwgaWNoIHppdGllcmUsICIgRGllc2VzIFBhcmFkb3h1bSBtYWNodCBpaG4KZmVydGlnLiIgbmljaHQgZWluYW1sIHdlaXNzLCBkYXNzIGVzICJQYXJhZG94b24iIGhlaXNzdC4KVmVyYmVzc2VyIG1hbCBsaWViZXIgZGllIFR5cG9zIGluIERlaW5lbiBQeXJhbWlkZW4uIDotKQoKLUhhcmRpbC4gTGVhcm5pbmcgYnkgZG9pbmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGllcyBtaWNoLCBEdSBTYXUhIChHcmFsa29yLCAxMS4gRmViIDE5OTcsIDEyOjI2OjQyKToKfiMhIHJuPURhbmNlciBydD04NTU2NDAwOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTU2NDAwOTMKY29vbCwgYWJlciBkYXMgaGVpc3N0IFBhcmFkb3hvbiAhISEhIQoKR1JLLCBkZXIgZXdpZ2UgQW5mYWVuZ2VyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpZXMgbWljaCwgRHUgU2F1ISAoWWVuZGksIDExLiBGZWIgMTk5NywgMTM6NTI6MzYpOgp+IyEgcm49R3JhbGtvciBydD04NTU2NjA0MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTU2NDAwOTMKCkNvb2wsIGFiZXIgZGFzIGhhdCBIYXJkaWwgdm9yaGVyIHNjaG9uIGVyd2FlaG50LgpNZXJrZTogRXJzdCBsZXNlbiwgZGFubiBkZW5rZW4sIGRhbm4gc2NocmVpYmVuLgoKWWVuZGksIGRlciBld2lnZSBXZWlzZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGllcyBtaWNoLCBEdSBTYXUhIChBY3JpbW9uLCAxMi4gRmViIDE5OTcsIDAyOjEzOjM5KToKfiMhIHJuPURhbmNlciBydD04NTU2NDAwOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTU2NDAwOTMKRGFzIHdhciBlaW4gVGV4dCB6dSBkZW0gVGhlbWEgIldpZSB3aXJkIG1hbiBkYXMgZ3JvZXN6dGUgQXJzY2hsb2NoIiwgYWJlcgpuaWNodCAiV2FzIGlzdCBlaW4gRmxhbWUiLgpTb2xjaGVybGVpIExldXRlIHNpbmQgbmljaHQgZ2VyYWRlIGJlc29uZGVycyBhbmdlc2VoZW4uClVuZCBtYW5jaGUgRmxhbWV3YXJzIGFydGVuIGluIEJlbGFlc3RpZ3VuZ2VuIGF1cywgdW5kIHNvYmFsZCBlciBzbyB3ZWl0IGlzdCwKa2FubiBkZXIKVmVydXJzYWNoZXIgc2VpbmVuIEFjY291bnQgdmVyZ2Vzc2VuLgpXZXIgc2ljaCBhbHNvIG5pY2h0IGJlaGVycnNjaGVuIGthbm4sIGZ1ZXIgZGVuIHdpcmQgZXMgZ2VmYWVocmxpY2guCgpTb21pdCBob2xlIGljaCBqZXR6dCBuYWNoLCB3YXMgRGFuY2VyIHZlcnNhZXVtdCBoYXQ6CkRlZmluaXRpb24gZGVzIEJlZ3JpZmZlcyAiRmxhbWUiOgpFaW4gRmxhbWUgaXN0IGVpbmUgQW50d29ydCwgZGllIGF1Y2ggdW5xdWFsaWZpemllcnRlIEF1c3NhZ2VuIGVudGhhZWx0LCBtaXQKZGVtIFppZWwsIGRpZSBXb3J0ZSBkZXMgQW5kZXJlbiB1bmdsYXVid3VlcmRpZyB6dSBtYWNoZW4gb2RlciBpaG4gYW56dWdyZWlmZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIgaG9mZnQsIGRhc3ogZXIgc2ljaCBkaWVzZSBEZWZpbml0aW9uIHJpY2h0aWcgYXVzIGRlbgpGaW5nZXJuIGdlc29nZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGllcyBtaWNoLCBEdSBTYXUhIChCZW9iYWNodGVyLCAxMi4gRmViIDE5OTcsIDExOjQ2OjIwKToKfiMhIHJuPUFuYXRvbCBydD04NTU3MTA2ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTU2NDAwOTMKQWNyaW1vbiBoYXQgbWl0IGFuZGVyZW4gV29ydGVuIGRvY2ggbnVyIHdpZWRlcmdlZ2ViZW4sIHdhcwpEYW5jZXIgYmVyZWl0cyBnZXNhZ3QgaGF0dGUsIGFiZXIgZGFzIHNvIGRhcmdlc3RlbGx0LCBhbHMgd2FlcmUgZXMgCndhcyB2b2xrb21tZW4gYW5kZXJlcywgYWJlciBkaWUgVGVuZGVueiBnZWh0IGphIGltbWVyIGRhaGluLApkZW4gdmVybWVpbnRsaWNoIGNvb2xlbiBMZXV0ZW4genUgd2lkZXJzcHJlY2hlbiwgZGFtaXQgbWFuIGRlbgpFaW5kcnVjayBlcndlY2t0IG1hbiB3YWVyZSBub2NoIGNvb2xlciwgdW5kIHdpciBhbGxlIHdpc3NlbgpqYSBBY3JpbW9ucyBlaW5zdGVsbHVuZyB6dW0gTGViZW4gdW5kIHp1bSBVbml2ZXJzdW0KZWluenVzY2hhZXR6ZW4sIGFsc28gdmVybGllciBpY2ggdWViZXIgQWNyaW1vbnMKcmVsZXZhbnogYXVjaCBrZWluZSB3ZWl0ZXJlbiBXb3J0ZS4uLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9ybWF0IChUYW1hcmEsIDEyLiBGZWIgMTk5NywgMTk6Mjk6MDUpOgp+IyEgcm49VGFtYXJhIHJ0PTg1NTM0MjYwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NTM0MjYwMgpWaWVsZW4gRGFuayBhbGxlcnNlaXRzIGZ1ZXIgZGllIFNVUFBQUFBQUEVSUlJSUlJSUlJSUlJSUlJHRUlJSUlMTExFCmZhY3ZobWFlbm5pc2NoZSBIaWxmZS4gSWNoIHdhZXJlIG9obmUgRXVjaCBqYSBzY3ZoaWVyIHZlcnp3ZWlmZWx0IQpBbHNvIGljaCBoYWJlIGRlbm4gbWVpbiBpbiBtZWluZW0gQzY0IGRhcyBYWS1Ub29sIGluc3RhbGxpZXJ0IHVuZG5hY2gKcGVyc29lbmxpY2hlbiBQcmFlZmVyZW56ZW4ga29uZmlndXJpZXJ0IChzY2hva29sYWRpZyBtYWcgaWNocyBiZXNvbmRlcnMgZ2VybiwKYWJlciBhdWNoIHZlcnNhdXQpLgpEYW5uIGhhYmUgaWNoIG1laW5lbiBudXItU2Nocm90dC1EcnVja2VyIGFuZ2VzY2hyYXVidCwgdmVya2FiZWx0IHVuZCBhdWNoCmluc3RhbGxpZXJ0LCBkYW5uIGRhcyBXb3J0IGdlc3RhcnRldCwgZGVuIFRleHQgZ2VsYWRlbmIgdW5kIG1pdCBtZWluZW0KSWNoLWJpbi13aWNodGlnLVN1cGVyLVRvb2xrb252ZXJ0aWVydCAsIG1pdCBtZWluZW0gSWNoLWhhYnMtZHJhdWYtU2V0dXAtTWVudWUKZWNodCBjb29sIG1hbiB2ZXJiZXNzZXJ0IHVuZCAKc2NobGllc3NsaWNoIHBlciBJY2gtbGFiZXItbWl0LU1haWwgaGllcmhpbmdlc2NoaWNrdCEKCgpVTkQgREEgSVNUIEVSLCBERVIgVk9OIE1JUiBMQU5HRSBBTkdFS1VFTkRJR1RFIE1FR0EtU1VQRVItSFlQRVItCgpBIFIgVCBJIEsgRSBMIDoKCgoKQVJSUlJSUlJSUlJSR0dHR0dHR0dHR0dHSEhISEhISEhISEhISEhISEhITExMTExMTExMTExMTExMTCEhISEhISEhISEhISEhIQoKS0FQUElFUlQgSElFUiBXSVJLTElDSCBOSUVNQU5ELCBEQVNTIEVSL1NJRSBWRVJBUlNDSFQgV1VSREU/Pz8KCklDSCBIQVNTRSBESUUgTVBBIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCllvICEgKEJlb2JhY2h0ZXIsIDE4LiBGZWIgMTk5NywgMTg6MzA6MjIpOgoKTWVpbmUgU2ljaGVyc3RlbGx1bmcgdW5kIGluaGFmdGllcnVuZyB2b24KRGFtaWVuLCBPZWVycHJ1cyB1bmQgU3VuZmxvd2VyIHdhciBlaW4gQWt0IHJlaW5lciAKV2lsbGt1ZXIgdW0gZGFzIGtsYXJ6dXN0ZWxsZW4sIGRhbWl0IGplZ2xpY2hlbSBHZXBsYWVycmUgZ2xlaWNoCnZvcmdlYmV1Z3Qgd2lyZC4KCkJlb2V0dGJhY2h0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBZbyAhIChBc21vZGlzLCAxOC4gRmViIDE5OTcsIDE4OjQyOjAzKToKfiMhIHJuPUJlb2JhY2h0ZXIgcnQ9ODU2Mjg3MDIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2Mjg3MDIyCk1hbiBtdXNzIGRhYmVpIGJlYWNodGVuLCBkYXNzIGVyIGRpZXNtYWwga2VpbmVuIGdlemFwcHQgaGF0IDopCgpXYXIgYWxzbyBoYXJtbG9zIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptYWlsIGJ1ZyAoR3VsZHVrYXQsIDE4LiBGZWIgMTk5NywgMjM6MTM6MTUpOgpIaSwgZ2lidHMgaGllciBuZW4gYnVnIGltIG1haWw/IGVzIGdlaGVuIHdlZGVyIG1haWxzIG5hY2ggZHJhdXNzZW4gbm9jaCBrYW5uCm1hbiB2b24gZHJhdXNzZW4gcmVpbnNjaHJlaWJlbgpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1haWwgYnVnIChNYWNxLCAxOS4gRmViIDE5OTcsIDA5OjIzOjA5KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1NjMwMzk5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NjMwMzk5NQpBYmVyIGRyaW5uZW4gZ2VodHMgZG9jaCBub2NoPwoKTWFjUSwgbnVyIG1hbCB3aWVkZXIgYW4gbGFuZ3dlaWxpZ2VuIE1QQS1EaWt1c3Npb25lbiBpbnRlcmVzc2llcnQgdW5kIHZvZWxsaWcKaWdub3JhbnQgZ2VnZW51ZWJlciBsYW5nd2llcmlnZW4gQXJ0aWtlbG4gdW5kIGJlc29uZGVycwp1ZWJlcmRpbWVuc2lvbmFsaXNpZXJ0ZW4sIHZlcnZlcmJhbGlzaWVydGVuIFVudGVyc2NocmlmdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmluZ2VydCBkYSB3YXMgZmFsc2NoPyAoQWxwaGEsIDE5LiBGZWIgMTk5NywgMTQ6Mzg6NDkpOgpIaSwgZm9sZ2VuZGVzIFByb2JsZW0sCmljaCBoYWJlIG1pciBnZXN0ZXJuIG1hbCBlaW5lbiBDaGFyYWNrdGVyKFRlbm5vKSBhdXNnZWxpZWhlbiwgZGVyCm5vcm1hbGVyd2Vpc2UgaW4gUG90c2RhbSBoZWltaXNjaCBpc3QuIGt3ZXIgYXVzIE1hZ2RlYnVyZyB6ZWlndGUgdGVubm8gYXVjaCBpbgpNYWdkZWJ1cmcgYW4gLSBzbyB3aWUgZXMgc2VpbiBzb2xsdGUuIFNvZm9ydCBuYWNoIGRlbSBBdXNsb2dnZW46IGZpbmdlcgpUZW5ubzp6dWxldHp0IGF1c2dlbG9nZ3Qgdm9uIERyZXNkZW4uIEFsc28sIGRhcyBnbGVpY2ggbm9jaCBlaW5tYWw6IGdsZWljaGVzCmVyZ2VibmlzLkhhZSBEcmVzZGVuPyBXaWUgZ2VodCBkZW5uIGRhcz8gS2FubiBtYW4gZGVuIE9ydCwgdm9uIGRlbSBtYW4genVsZXR6dAphdXNnZWxvZ2d0IGVyc2NoZWluZW4gbW9lY2h0ZSwgaXJnZW5kd2llIGJlZWluZmx1c3Nlbj8gT2RlciBpc3NlcyBuZW4gQnVnPyAKRXR3YXMgdmVyd2lycnQsIEFscGhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluZ2VydCBkYSB3YXMgZmFsc2NoPyAoQW5hdG9sLCAxOS4gRmViIDE5OTcsIDE0OjUyOjEyKToKfiMhIHJuPUFscGhhIHJ0PTg1NjM1OTUyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NjM1OTUyOQpvICBCZWkgZWluZ2Vsb2dndGVuIFNwaWVsZXJuIHdpcmQgZGllIEluZm9ybWF0aW9uIGRlcyAnRmluZ2VycycgYXVzIGRlbQogICBTcGllbGVyb2JqZWt0IGdlaG9sdCwgZG9ydCB3aXJkIGF1Y2ggZGFzICdlaW5nZWxvZ2d0IHZvbicgaGVyZ2Vob2x0Li4uCm8gIEJlaSBhdXNnZWxvZ2d0ZW4gU3BpZWxlcm4gaG9sdCBzaWNoIGRlciAnRmluZ2VyJyBkaWUgSW5mb3JtYXRpb25lbiBhdXMKICAgZGVtIFNhdmVmaWxlIGRlcyBTcGllbGVycy4KCkFiZXI6IFdlbm4gZWluIFNwaWVsZXIgZGFzIFNwaWVsIG1pdCAnc2NobGFmZSBlaW4nIHZlcmxhZXNzdCwgd2lyZCBlciBuaWNodAphdXRvbWF0aXNjaCBzb2ZvcnQgZ2VzcGVpY2hlcnQsIGRhcyBrYW5uIGJpcyB6dSAxMCBNaW51dGVuIGRhdWVybi4KCldlbm4gRHUgYWxzbyBudXIgZ2FueiBrdXJ6IGVpbmdlbG9nZ3Qgd2Fyc3QsIHdpcmQgZGVyIE9ydCBlcnN0IG5hY2ggZWluaWdlbgpNaW51dGVuIGltIFNhdmVmaWxlICdnZXVwZGF0ZXQnIHVuZCBiaXMgZGFoaW4gemVpZ3QgZGVyICdGaW5nZXInIGRlbiBmYWxzY2hlbgpPcnQgYW4uCgpJY2ggaG9mZmUsIGRhcyB3YXIgamV0enQgcmljaHRpZy4uLgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpbmdlcnQgZGEgd2FzIGZhbHNjaD8gKFByYSwgMTkuIEZlYiAxOTk3LCAxNTo1NjozMyk6Cn4jISBybj1BbmF0b2wgcnQ9ODU2MzYwMzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2MzU5NTI5CkluIGRpZXNlbSBadXNhbW1lbmhhbmcga2FubiBtYW4gYXVjaCBub2NoIGF1ZiBkZW4gQmVmZWhsICdzYXZlJyBoaW53ZWlzZW4uCgpQcmEuIChXaWVzbyBoZWlzc3QgZGFzIGVpZ2VudGxpY2ggJ3NhdmUnLCB1bmQgbmljaHQgJ3NwZWljaGVyZSc/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmluZ2VydCBkYSB3YXMgZmFsc2NoPyAoQW5hdG9sLCAxOS4gRmViIDE5OTcsIDE1OjU4OjIwKToKfiMhIHJuPVByYSBydD04NTYzNjQxOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzNTk1MjkKJ3NwZWljaGVybicgaGVpc3N0IGVyLCBQcmEuCkFuYXRvbCAtIHNjaHJlaWJ0IGF1Y2ggbWFsIGVpbmVuIFp3ZWl6ZWlsZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3YXMgc2NocmVja2xpY2hlcyBpc3QgcGFzc2llcnQgKEd1bGR1a2F0LCAxOS4gRmViIDE5OTcsIDE4OjUxOjU1KToKCk5hY2gga25hcHAgendlaSBqYWhyZW4gdHJldWVyIGRpZW5zdGUgaW0gZHVua2VsbiBoYXQgZGllIHBpbmstZmxveWQgY2QgInB1bHNlIgppaHJlbiBkaWVuc3QgYXVmZ2VnZWJlbiEhISAqc2NobHVjaHoqIHNpZSBibGlua3QgbmljaHQgbWVociEKZ2QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXMgc2NocmVja2xpY2hlcyBpc3QgcGFzc2llcnQgKEhhciwgMTkuIEZlYiAxOTk3LCAxOTozMzo1MSk6Cn4jISBybj1HdWxkdWthdCBydD04NTYzNzQ3MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzNzQ3MTUKTWFuIGhhZXR0ZSBzaWUgdm9yaGVyIHNjaG9uIHZlcm5pY2h0ZW4gc29sbGVuLiBJbSBEdW5rZWxuIGdpYnQgZXMgYW5kZXJlClNhY2hlbiwgZGllIG1laHIgU3Bhc3MgbWFjaGVuIHVuZCBnZWdlbiBEdW5rZWxoZWl0IGhpbGZ0IG5lIFRhc3NjaGVubGFtcGUgb2RlcgplaW4gQnJvbngtbWFlc2dlcyBUb25uZW5mZXVlciEKCkhhciAoZ2VsYW5nd2VpbHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3RvcyByZXZpc2l0ZWQgKENhdW5vLCAyMC4gRmViIDE5OTcsIDE1OjM2OjMzKToKV2VuIGVzIGludGVyZXNzaWVydDogSWNoIGhhYmUgZGllIEZvdG9zIHZvbiBkZXIgTWFsem11ZWhsZSBub2NoIG1hbCBuZXUKZWluZ2VzY2FubnQuIChEYXMgbGV0enRlIG1hbCB3YXIgZGVyIFplaXRkcnVjayBkb2NoIGV0d2FzIHp1IGdyb3NzKS4KRGllIEJpbGRlciBzaW5kIGpldHp0IDUwJSBncm9lc3NlciwgZGFmdWVyIGFiZXIgZ2VKUEVHdCwgd2FzIGRpZSBEYXRlbm1lbmdlCmluc2dlc2FtdCBpbW1lciBub2NoIHJlZHV6aWVydC4KCkljaCBuZWhtZSBhbiwgZGFzcyBuYWNoIGRlbSBuYWVjaHN0ZW4gV29jaGVuZW5kZSB3aWVkZXIgZWluIHBhYXIgQmlsZGNoZW4KZGF6dWtvbW1lbiB3ZXJkZW4sIGVzIHNlaSBkZW5uLCBpY2ggYmVrb21tZSBtZWluZSBTZWl0ZSBpcmdlbmR3aWUgZGlyZWt0IGF1ZgpkZW4gTUctU2VydmVyLgoKV2VucyBuaWNodCBpbnRlcmVzc2llcnRlIC4uLiBuYWphLCBlZ2FsLgooTGllc3Qgd2FocnNjaGVpbmxpY2ggc293aWVzbyBrZWluZXIgbWVocikuCgpDLiBObywgZGllIEthbWVyYSBnZXp1ZWNrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmluZ2VydCBkYSB3YXMgZmFsc2NoPyAoQWxwaGEsIDIwLiBGZWIgMTk5NywgMTY6Mzg6NDMpOgp+IyEgcm49QW5hdG9sIHJ0PTg1NjM2MDMzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NjM1OTUyOQpIbW0gaGV1dGUgd2FyZW4gZXMgbWFsIHp1bSBzcGFzcyB1ZWJlciBuZSBTdHVuZGUsIERpZSBaZWl0IHN0aW1tdCBzb2dhcnQgYWJlcgpkZXIgT3J0Li4uRHJlc2Rlbi4uLmVzIHdhcyBhdXMgTWFnZGVidXJnLiBLb2VubnRlIGVzIGRvY2ggbmVuIEJ1ZyBzZWluPwpBbHBoYSwgaW1tZXJub2NoIGxlaWNodCBpcnJpdGllcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGaW5nZXJ0IGRhIHdhcyBmYWxzY2g/IChTaWRvbGluLCAyMC4gRmViIDE5OTcsIDE2OjM5OjUzKToKfiMhIHJuPUFscGhhIHJ0PTg1NjQ1MzEyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NjM1OTUyOQpEYXMgaXN0IG5vY2ggdm9uIGZydWVoZXIuCkRyZXNkZW4gaGllc3MgamEgenUgU0JaIFplaXRlbiBiZWthbm50bGljaCBNYWdkZWJ1cmcuCgpTaWRvbGluLiBHcmluc2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZpbmdlcnQgZGEgd2FzIGZhbHNjaD8gKE1haGF0bWEsIDIwLiBGZWIgMTk5NywgMTY6NTA6MTMpOgp+IyEgcm49U2lkb2xpbiBydD04NTY0NTMxOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzNTk1MjkKTmVlLCBhbmRlcnNydW06IE1hZ2RlYnVyZyBpc3QgZWluIFN0YWR0dGVpbCB2b24gRHJlc2Rlbi4KCk1haGF0bWEsIE1hZ2RlYnVyZ2VyIGluIERyZXNkZW4sIGtlbm50IHNpY2ggZGEgYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmluZ2VydCBkYSB3YXMgZmFsc2NoPyAoT2V0dGksIDIwLiBGZWIgMTk5NywgMTY6NTI6MDMpOgp+IyEgcm49TWFoYXRtYSBydD04NTY0NTM4MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzNTk1MjkKSWNoIGRhY2h0ZSB2b3IgZGVyIFdlbmRlIGhpZXNzIGRhIGFsbGVzOgpLb21iaW5hdCBMb2tvbW90aXZlIEVuZXJnaWUgS2FybCBNYXJ4IFJvc2EgTHV4ZW1idXJnIFZsYWRpbWlyIElsaml0c2NoIFVsamFub3YKTGVuaW4gU3RhZHQgPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGaW5nZXJ0IGRhIHdhcyBmYWxzY2g/IChHcmltbWJvcm4sIDIwLiBGZWIgMTk5NywgMTc6MDc6NTkpOgp+IyEgcm49T2V0dGkgcnQ9ODU2NDUzOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2MzU5NTI5CkJldm9yIGhpZXIgZGVyIFN0cmVpdCBlbnRicmFubnQ6IExhc3N0IHVucyBkb2NoIGVpbmZhY2ggYWxsZXMgb2VzdGxpY2ggZGVzClJoZWlucyBhbHMgIlpvbmUiIGJlemVpY2huZW4sIGRhcyBrb21tdCBzY2hvbiBpcmdlbmR3aWUgaGluLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGaW5nZXJ0IGRhIHdhcyBmYWxzY2g/IChKYXNwZXIsIDIwLiBGZWIgMTk5NywgMjI6NTQ6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1NjQ1NDg3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NjM1OTUyOQppY2ggZGFjaHRlIGRpZSBoZWlzc3QgJ3NjaGFlbCBzZWVjaycgb2RlciB3aWUgZGFzIGF1Y2ggaW1tZXIgZ2VzY2hyaWViZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWlsIGJ1ZyAoTG9jbywgMjAuIEZlYiAxOTk3LCAyMzozOTo0Mik6Cn4jISBybj1HdWxkdWthdCBydD04NTYzMDM5OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzMDM5OTUKSmEsIGxlaWRlci4KCkFiZXIgaWNoIGthbm4gZGEgbmljaHRzIGRyYW4gbWFjaGVuLCBkYXMgUHJvYmxlbSBsaWVndCBpbSBhZXVzc2VyZW4gVGVpbC4KCi0gTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaW5nZXJ0IGRhIHdhcyBmYWxzY2g/IChMb2NvLCAyMC4gRmViIDE5OTcsIDIzOjQ4OjE0KToKfiMhIHJuPUFuYXRvbCBydD04NTYzNjAzMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTYzNTk1MjkKTmljaHQgZmFsc2NoLCBhYmVyIHVudm9sbHN0YWVuZGlnOgoKTnVyIGJlaW0gZXJzdGVuIExvZ2luIG5hY2ggJ2VuZGUnIChiencuIGVpbmVtIHJlYm9vdCkgd2lyZCBkaWUgSW5mb3JtYXRpb24KdWViZXIgZGllIEhlcmt1bmZ0IGVpbmVzIFNwaWVsZXJzIG5ldSBnZXNwZWljaGVydC4gV2VubiBtYW4gbnVuIG1pdCBuZXR6dG90CmlzdCAoYWxzbyBtaXQgJ3NjaGxhZmUgZWluIHJhdXNnZWh0KSB1bmQgYW5zY2hsaWVzc2VuZCB2b24gd29hbmRlcnMgcmVpbmtvbW10LApibGVpYnQgZGVyIGFsdGUgT3J0IGVyaGFsdGVuLgpfV2FlaHJlbmRfIG1hbiBlaW5nZWxvZ2d0IGlzdCwga2FubiBhYmVyIGRlciBOYW1lIGRlcyBSZWNobmVycywgYW4gZGVtIG1hbgpzaXR6dCwgZGlyZWt0IGFiZ2VmcmFndCB3ZXJkZW4gKGFsc28gdW50ZXIgVW1nZWh1bmcgZGVzIGltIFNwaWVsZXIKZ2VzcGVpY2hlcnRlbiBOYW1lbnMpLCB1bmQgZGFzIG1hY2h0IGRlciBGaW5nZXIgZGFubiBhdWNoLgoKRGFzIEdhbnplIHdhZXJlIGxlaWNodCB6dSBhZW5kZXJuLCBpbmRlbSBtYW4gYXVjaCBiZWltIHJlbG9naW4gZGVuClJlY2huZXJuYW1lbiBhYnNwZWljaGVydCAuLi4gaGFsbG8gRXJ6bWFnaWVyIDstKQoKLSBMb2NvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGaW5nZXJ0IGRhIHdhcyBmYWxzY2g/IChGeXQsIDI0LiBGZWIgMTk5NywgMDA6MTc6NDcpOgp+IyEgcm49T2V0dGkgcnQ9ODU2NDUzOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2MzU5NTI5CgpIbSwgZ2VuYXUgbWl0IGRlbSBEZW5rZW4gaGF0dGVzdCBEdSBEZWluIFByb2JsZW0sIE9ldHRjaGVuIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGV4ZW4gaGV4ZW4gKEZsaW50bmFpbCwgMjQuIEZlYiAxOTk3LCAwODo1NzozMyk6Cm51ciBtYWwga3VyeiBnZWZyYWNodC4uLgpJY2ggaGFiIGxldHp0ZW5zIGluIEthcnNjaHRhZHRzIENvbXBpLVNwaWVsLUFidGVpbHVuZyBuZW4KS2luZGVyLU1hZXJjaGVuLUxlcm4tU3BpZWwgZ2VzZWhlbiwgYXVmIGRlbSBpbiBkZXIgdW50ZXJlbiBsaW5rZW4gRWNrZSBkaWUKTUctV1dXLUhleGUgc2FtdCBLcmlzdGFsbGt1Z2VsIGFiZ2ViaWxkZXQgd2FyLi4uaXMgZGllICJudXIiIGdla2xhdXQgPyAuLi51bmQKd2VubiBqYSB2b24gd2VtLi4uLnVuZCB1ZWJlcmhhdXB0Li4ud2VuIGludGVyZXNzaWVydHM/Pz8KRmxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGV4ZW4gaGV4ZW4gKEdyaW1tYm9ybiwgMjQuIEZlYiAxOTk3LCAwOToxMTowMSk6Cn4jISBybj1GbGludG5haWwgcnQ9ODU2NzcxMDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2NzcxMDUzCkRpZSBIZXhlIGlzdCBtZWluZXMgV2lzc2VucyBlaW5lcyBkaWVzZXIgd3VuZGVyc2Nob2VuZW4gQ29yZWwtQ2xpcGFydHMuIERhbWFscwp3dXJkZSBlaW4gZWlnZW5lcywga3JlYXRpdmVzIGxvZ28gZ2VzdWNodCwgYWJlciBrZWluZXIgd2FyIGJlcmVpdCAob2RlciBpbiBkZXIKTGFnZSkgZWlucyB6dSBlbnR3ZXJmZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIFRvdGFsIHVua3JlYXRpdi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNhc3RvciAoQ2h1cmtpZSwgMjQuIEZlYiAxOTk3LCAxMjoyMToxNCk6CgpIYWlsZSBGcmV1bmRlICYgRmVpbmRlLAoKbmVpbiwgaWNoIGJpbiBrZWluIFRlY2huaWtmZWluZCwgbmVpbiwgaWNoIGxlaWRlIG5pY2h0IGFtIFN0LkZsb3JpYW5zcHJpbnppcCwKaWNoIG1vZWNodGUgdHJvdHpkZW0gYWxsZW4sIGRpZSBlcyBpbnRlcmVzc2llcnQsIGFuYmlldGVuLCBpbiBkZXIgWmVpdCBkZXIKdm9ycmF1c3NpY2h0bGljaGVuIENhc3RvcmFua3VuZnQgYmVpIG1pciBpbiBMdWVuZWJ1cmcgdW50ZXJ6dWtyaWVjaGVuLi4uaWNoCmhhYicgamVkZSBNZW5nZSBQbGF0ei4uLnJ1ZnQgbWljaCBhbjoKICAgICAgICBBbmRyZTogdW50ZXIgMDQxMzEvMzc5MTAKCnBzIHNjaGVpc3MgcG9saXRpayA7KSAsIGFiZXIgbXVzc3RlIG1hbCBzZWluLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWlsIGJ1ZyAoQ2F0d2VhemxlLCAyNC4gRmViIDE5OTcsIDE4OjUxOjQ4KToKfiMhIHJuPUxvY28gcnQ9ODU2NDc4MzgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU2MzAzOTk1CkhpIQoKRGFzIFByb2JsZW0gYmVpbSBtYWlsLCB3YXIgZWluZSAxMDQlIHZvbGxlIC92YXItUGFydGl0aW9uLgpJY2ggaGFiIG1hbCAyMk1CIFJvb3QtTWFpbCB3ZWdnZW1hY2h0IDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGxpZ2VyIFRlbGVmb25pZXJlbiAoWnVlcmlsZXUsIDI1LiBGZWIgMTk5NywgMDE6NTg6NTgpOgpIaSwKU3RlaWdlbiBiZWkgRGlyIGF1Y2ggZGllIFRlbGVmb25yZWNobnVuZ2VuIGluIGRpZSBob2VoZSwgdW5kIGVzIGdpZWJ0IFplaXRlbgphbiBkZW4gZHUgZGllIFRlbGVrb20gYW0gbGllYnN0ZW4gbWl0IG5lciBCb21iZSBpbiBkaWUgTHVmdCBqYWdlbiB3dWVyZGVzdCA/Ck51biwgYmVpIGRlbSBrYW5uIGljaCBldWNoIHp3YXIgbmljaHQgaGVsZmVuLCBvYndvaGwgZGFzIHNpY2hlciBlaW4gc2Nob2VuZXMKRmV1ZXJ3ZXJrIGdlYmVuIHd1ZXJkZSA9OikuIE5laW4sIGFiZXIgaGllciBpbiBkZXIgU2Nod2VpeiAodW5kIGRhcnVtIGlzdApUZWxla29tIG1pdCAiayIgYXVjaCByaWNodGlnIGdlc2NocmllYmVuIikgZ2VodCBlaW4gR2VidWVocmVuIFRyaWNrIGR1cmNoIGFsbGUKTXVuZGUuIERlciBUcmljayBpc3QgendhciBldHdhcyBhZWx0ZXIsIHNvbGwgYWJlciBhdWNoIGhldXRlIG5vY2gKZnVua3Rpb25lcmVuLiBVbmQgd2VubiBlciBiZWkgdW5zIGZ1bmt0aW9uaWVydCwgZnVua3Rpb25pZXJ0IGVyIGV2dGwuIGF1Y2ggYmVpCmV1Y2guIEljaCBtZWluZSBtZWhyIGFscyBQcm9iaWVyZW4sIGthbm4gbWFuIG5pY2h0OgoKVW5kIHp3YXIgZnVua3Rpb25pZXJ0IGVyIHNvOgoKTWFuIG11c3MgaW1tZXIgZGllIGxldHp0ZSBaYWhsIGRlciBUZWxlZm9ubnVtbWVyIGF1ZiAiMTAiIGhvY2hyZWNobmVuIHVuZApkaWVzZSBaYWhsIGFscyBlaW5lIHdlaXRlcmUgWmlmZmVyZSBhbSBTY2hsdXNzIGRyYW5oYWVuZ2VuLiBFaW4gYmVpc3BpZWwgbWl0CmVpbiBwYWFyIFRlbGVmb251bW1lcm46CgogLSAgICAgMTUyOTkzNDQ0NDUoNSkgICg1ICsgNSA9IDEwKSA8LS0tIGRhZnVlciBtdXNzIG1hbiBtaW5kZXN0ZW5zIGRpZSAxClByaW1hcnNjaHVsZSBiZXN1Y2h0IGhhYmVuID06KQoKb2RlciAtIDAxIC0gNDMxODMwOSgxKSAoOSArIDEgPSAxMCkKCiAgICAgICAwMSAtIDE1NjMwMDAoMCkgKDEwICsgMCA9IDEwKQoKSm8sIGRhbWl0IGxhc3N0IHNpY2ggaGllciBkaWUgVGVsZWZvbmtvc3RlbiBiaXMgaW4gZGllIGhhZWxmdGUgcmVkdXppZXJlbiwKClZpZWwgU3Bhc3MgYmVpbSB0ZXN0ZW4uLi4gICAgICAgICAgVHNjaHVlc3MgWnVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJvYWggaXMgZGFzIGxlZXIgaGllciAoSm9mLCAyOC4gRmViIDE5OTcsIDEyOjU4OjM0KToKCiBOaXggbG9zLCB1bmQgZGFzIGF1ZiBuZW0gRnJlaXRhZy1OYWNobWl0dGFnLiBTY2hvbiBlcnN0YXVubGljaCwgYXVzc2VyCkNhdHdlYXpsZSwgTmVtZXNpcywgV2FyZ29uLCBCZXJ0YW0sIFRvZXRlciB1bmQgUnluZSBpcyBuaWVtYW5kIGhpZXIgLi4uCgogVHNjaG9lCiAgSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmVlIG9mIEJTRCAoVG9ldGVyLCAgMy4gTWFyIDE5OTcsIDA5OjQwOjM2KToKSGksCm5hY2hkZW0gdW5zZXIgdm9ybWFsaWdlcyBCZXRyaWVic3N5c3RlbSBkdXJjaCBWaWVydGVpbGVuIHNlaW5lciBQYXJ0aXRpb24gCmRlbiBGcmVpQlNEVG9kIGdld2FlaGx0IGhhdCB1bmQgZGFiZWkgbm9jaCBkZW4gcHJlaXNnZWtyb2VudGVuIE1haWxzZXJ2ZXIgCmRlciBNYXRoZSBpbiBkaWUgS25pZSBnZXp3dW5nZW4gaGF0LCBoYWJlbiB3aXIgZGVuIFJlY2huZXIgamV0enQgdW50ZXIgTGludXggCm5ldSBpbnN0YWxsaWVydC4gV2FzIGRpZSBOZXR6d2Vya3BlcmZvcm1hbmNlIGFuZ2VodCwgc29sbHRlIGVzIGVpZ2VudGxpY2gKbmljaHQgbWVociB6dSBkZW4gRWZmZWt0ZW4ga29tbWVuLCBkaWUgd2lyIHVudGVyIExpbnV4IHNjaG9uIGVpbm1hbCBoYXR0ZW4KKE1hbmNoZSBlcmlubmVybiBzaWNoIHZpZWxsZWljaHQgbm9jaCBhbiBkaWUgbWludXRlbmxhbmdlbiBBdXNzZXR6ZXIpLCBhYmVyCnNjaGF1biBtZXIgbWFsLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZCBCeWUgKFN1bmZsb3dlciwgIDMuIE1hciAxOTk3LCAxNjoxNzoxMik6Ckdvb2QgQnllIG11ZGRpZXMgd29sbHQgaWNoIG51ciBzYWdlbi4uLgpkZW5uIGJpcyA5LjkuMTk5OSAob2JzIDk6MDkgVWhyIGtsYXBwdCB3ZWlzcyBpY2ggbmljaHQpIGJpbiBpY2ggZXJzdG1hbCBuaWNodAptZWhyIGRhCkdydWVuZGUgd2FydW0sIHdpc3NlbiBkaWUsIGRpZSBzZWl0IGphbnVhciBhdWYgbWVpbmVuIEZiYW5kIHNpbmQuLi4KClNvIGxvbmcsCmJsdWVtY2hlbiAoIG5vY2ggMiBzdHVuZGVuIHVuZCA0NSBtaW51dGVuKQoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkpBQUFBQSAhIChRaXRlc3MsICA0LiBNYXIgMTk5NywgMTI6NDQ6NDUpOgpzby4gaWNoIGZyZXVlIG1pY2gsIGRhc3MgZXMgZWluIGFyc2NobG9jaCB3ZW5pZ2VyIGdpYnQuCgotPiBTdW5mbG93ZXIgaXMgYWJnZWthY2t0LiBIb2NoIGRpZSBUYXNzZW4uCgpRSSoqCgpQLlMuOiBqYWphLCBpY2ggd2Vpc3MsIG1hbiBzYWd0IHNpY2gsIGRhc3MgZXIgYXVjaCBmcmV1bmRlIGdlaGFidCBoYWV0dGUsIHVuZAptaWNoIG1hbmNoZSBnZW5hdXNvIGFscyBhcnNjaGxvY2ggYmV6ZWljaG5lbiB3dWVyZGVuLCBhYmVyIGRhcyBzdG9lcnQgbWljaCBpbgptZWluZXIgbW9tZW50YW5lbiBmcmV1ZGUgZ2FyIG5pY2h0LgogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSkFBQUFBICEgKFNpZG9saW4sICA0LiBNYXIgMTk5NywgMTI6NDc6NTcpOgp+IyEgcm49UWl0ZXNzIHJ0PTg1NzQ3NTg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NzQ3NTg4NQpOYSBpY2ggd2Vpc3MgbmljaHQuLi4KU3VuZmxvd2VyIHdhciB6d2FyIG5lIFBhcHBuYXNlLCBhYmVyIGVyIGhhdHRlIHdlbmlnc3RlbnMgVW50ZXJoYWx0dW5nc3dlcnQuLi4KCldhcyBtYW4gdm9uIHNvIG1hbmNoZW0gYW5kZXJlbiAoei5CLiBRaXRlc3MpIG5pY2h0IHVuYmVkaW5ndCBiZWhhdXB0ZW4ga2Fubi4uLgoKU2lkb2xpbi4gU2V1ZnplbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEpBQUFBQSAhIChRaXRlc3MsICA0LiBNYXIgMTk5NywgMTI6NTE6MjgpOgp+IyEgcm49U2lkb2xpbiBydD04NTc0NzYwNzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTc0NzU4ODUKc29zbywgd2llZGVyIG1hbCBlaW5lciwgZGVyIHdvIG1pY2ggaWdub3JpZXJlbiB0dXQuIGFiZXIgZWlucyBsYXNzIGRpciBnZXNhZ3QKc2VpbiAod2VubiBkdSBkaWVzIGxpZXN0LCBzaWRvbGluKSA6IGVzIGdpYnQgbGV1dGUsIGRpZSBzaWNoIG1vZWdlbiwgdW5kIGVzCmdpYnQgbGV1dGUsIGRpZSBzaWNoIG5pY2h0IG1vZWdlbi4gdW5kIGljaCBoYWJlIGpldHp0IGtlaW5lIGx1c3QsIGRhc3MgaGllcgpkYXMgbWcgaW4gc3VuZmxvd2VyLWZyZXVuZGUgdW5kIHN1bmZsb3dlci1mZWluZGUgZWluZ2V0ZWlsdCB3aXJkLiBpY2ggbXVzc3RlCmxlZGlnbGljaCBtZWluZXIgZnJldWRlIHBsYXR6IHZlcnNjaGFmZmVuLiA6KQoKUUkqKgoKUC5TLjogd2llc28gaGFiZSBpY2gga2VpbmVuIHVudGVyaGFsdHVuZ3N3ZXJ0ID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEpBQUFBQSAhIChIYXJkaWwsICA0LiBNYXIgMTk5NywgMTM6MTQ6MzYpOgp+IyEgcm49UWl0ZXNzIHJ0PTg1NzQ3NjI4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NzQ3NTg4NQoKQWxzbyBpY2ggZmluZGUsIGRhc3MgUWl0ZXNzIFVudGVyaGFsdHVuZ3N3ZXJ0IGhhdC4KTWFuIGthbm4gc2ljaCBzZWhyIHNjaG9lbiB1ZWJlciBzaWUgdW50ZXJoYWx0ZW4uIDotKQpVbmQgd2VyIHNvIHNjaG9lbiBhdXMgdm9sbGVtIGhlcnplbiBqdWJlbG4ga2FubiwgZGFzcyBNaWxhbWJlciB3ZWcgaXN0Li4uIGRhcwp3YXIgamEgc2Nob24gZmFzdCB2ZXJnbGVpY2hiYXIgbWl0IGRlbSBUb3JzY2hyZWkgc3VlZGFtZXJpa2FuaXNjaGVyCkZ1c3NiYWxscmVwb3J0ZXIuCgotSGFyZGlsLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKQUFBQUEgISAoUGF0cnluLCAgNC4gTWFyIDE5OTcsIDE2OjAyOjU2KToKfiMhIHJuPVFpdGVzcyBydD04NTc0NzU4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTc0NzU4ODUKYnJhdWNoc3QgamEgbnVyIG5vY2ggZHUgZ2VoZW4sIHVuZCBkaWUgZnJldWRlIGlzdCBwZXJmZWt0IDspCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYW5nZXdlaWxlLiAoU2lkb2xpbiwgIDUuIE1hciAxOTk3LCAxMTowNDo0MCk6CkRhcyBXZXR0ZXIgaXN0IHNjaG9lbiwgZGllIFZvZWdsZWluIHp3aXRzY2hlcm4gdW5kIGJhbGQga2FubiBtYW4gZXMgd2llZGVyIApkcmF1c3NlbiB0cmVpYmVuLgpJY2ggamVkb2NoIHNpdHplIGhpZXIgdm9yIG1laW5lciBzdGlua2lnZW4ga2xlaW5lbiBLaXN0ZSBhdWYgZGVyIHNvCmludGVyZXNzYW50ZSBTYWNoZW4gd2llICJzdW4iLCAiYW5qYSIgdW5kICIxOTMuOTkuMTYyLjYiIHN0ZWhlbiB1bmQgZnJhZ2UKbWljaDoKIldhcyBzb2xsIGRhcyBhbGxlcz8iLCAiV296dSBiaW4gaWNoIGhpZXI/IiB1bmQgIldhcyBpc3QgZGVyIFNpbm4gZGVzIExlYmVucz8iCmFiZXIgYXVjaDogIldvIGtyaWVnZSBpY2ggdW0gZGllIFplaXQgc2NobmVsbCBlaW4gQmllciBoZXI/IiwgCiJXbyBnaWJ0IGVzIGRpZSBiZXN0ZW4gRnJhdWVuYmlsZGVyIGltIFdXVz8iIHNvd2llOiAiV2FydW0gZ2VoZSBpY2ggbmljaHQgbmFjaApIYXVzZT8iIAoKRnJhZ2VuIHVlYmVyIEZyYWdlbi4gVW5kIHdlaWwgZGllIEVyZmFocnVuZyBsZWhydCwgZGFzcyBMZWlkZW4gbWVociBTcGFzcwptYWNodCwgd2VubiBtYW4gbmljaHQgYWxsZWluZSBsZWlkZXQsIGxhbmd3ZWlsZSBpY2ggamV0enQgRXVjaC4gQWxsZS4gCk1pdCBkaWVzZW0gQXJ0aWtlbC4KSWNoIHdlcmRlIGpldHp0IG1hbCBlaW5pZ2Ugdm9lbGxpZyB6dXNhbW1lbmhhbmdsb3NlIHVuZCB6dW0gZ3JvZXNzdGVuIFRlaWwKYXVjaCBudXR6bG9zZSBTaW5uc3BydWVjaGUgdW5kIEFwaG9yaXNtZW4gKGVpbiBzY2hvZW5lcyBXb3J0LCBnZWxsPyAtIHNjaG9uCnVudGVyd2VncyB6dW0gTGV4aWtvbj8pLCBkaWUgbWlyIGluIG1laW5lbSBiaXNoZXJpZ2VuIExlYmVuIHNvIGJlZ2VnbmV0IHNpbmQsCmVzIG1pciBhYmVyIGF1Y2ggbmljaHQgbGVpY2h0ZXIgZ2VtYWNodCBoYWJlbiwgdmVyb2VmZmVudGxpY2hlbiwgaW4gZGVyCkhvZmZudW5nLCBkYXNzIHNpZSBkZW0gZWluZW4gb2RlciBhbmRlcmVuIGZlaGxnZWxlaXRldGVuIHNjaHdhcnplbiBTY2hhZiB1bnRlcgpFdWNoIGVpbiBzdHJhaGxlbmRlcyBMaWNodCBpbiBkZXIgRHVua2VsaGVpdCBkZXMgQWxsdGFncyBzZWluIG1vZWdlbi4KCiJJbiBCb3plbiBhdWYgZGVtIENhbXBpbmdwbGF0eiBzaW5kIGRpZSBXYXNjaHJhZXVtZSBzZXBhcmF0ISIKIk1laW4gR3Jvc3N2YXRlciBpbSBTY2h3YXJ6d2FsZCBtYWNodCBoZXJ2b3JyYWdlbmRlIExhdWJzYWVnZWFyYmVpdGVuLiIKIlZlbmkgVmlkaSBWaWNpIgoiV2VyIG1pdCA1MCBrZWluZSBTY2htZXJ6ZW4gaGF0LCBpc3QgdG90LiIKIkRlciBTYXR6OidFcyBrb21tdCBuaWNodCBhdWYgZGllIExhZW5nZSwgc29uZGVybiBkaWUgVGVjaG5payBhbicgaXN0IHZvbiAKamVtYW5kZW0gZ2VwcmFlZ3Qgd29yZGVuLCBkZXIgc2VsYnN0IGVpbmVuIGt1cnplbiBoYXQuIgoiTGlmZSdzIGEgYml0Y2ggYW5kIHRoZW4geW91IGRpZSIKIkVpbiBKdW5nZ2VzZWxsZSBpc3QgZWluIE1hbm4sIGRlbSB6dW0gR2x1ZWNrIGRpZSBGcmF1IGZlaGx0LiIKIkluIFNjaHdlZGVuIHNpbmQgQmVlcmRpZ3VuZ2VuIGdydW5kc2FldHpsaWNoIG1pdHR3b2Nocy4iCiJXbyBNYWVubmVyIGlocmVuIFZlcnN0YW5kIGhhYmVuLCBoYWJlbiBGcmF1ZW4gZWluIExvY2guIgoKU28sIGRhcyBzb2xsIGZ1ZXIncyBlcnN0ZSBnZW51ZWdlbiwgaWNoIG1vZWNodGUgRXVjaCBqYSBhdWNoIG5pY2h0IG1pdAppbnRlbGxla3R1ZWxsZW0gR2VkYW5rZW5ndXQgdWViZXJmcmFjaHRlbi4gCgpTbyBsYW5nc2FtIGdlaHQgZXMgYXVmIDExIFVociwgZGFzIGlzdCBndXQsIGRhIGthbm4gaWNoIG1hbCBzbyBsYW5nc2FtCmF1cyBLTG8gZ2VoZW4sIGdlbXVldGxpY2gga2Fja2VuIHVuZCBkYW5uIHNvIGxhbmdzYW0gaW4gZGllIE1lbnNhIHN0YXJ0ZW4uCkRhbmFjaCBrb21tdCBTdGFyVHJlayBUTkcsIGRhbm4gaXN0IGVzIGF1Y2ggc2Nob24gZmFzdCBhYmVuZHMgdW5kIGljaCBrYW5uCmVuZGxpY2ggaW5zIEJldHQgZ2VoZW4gdW0gdm9uIGVpbmVtIHd1bmRlcnNjaG9lbmVuIG5ldWVuIFRhZyB6dSB0cmFldW1lbiwgZGVuCmljaCBkYW5uIHZvbGxlciBFbGFuLCBNb3RpdmF0aW9uIHVuZCBCZWdlaXN0ZXJ1bmcgZGVtIE1vbG9jaCBEaXBsb21hcmJlaXQKb3BmZXJuIGRhcmYuIAoKSWNoIGZyZXUgbWljaCBzY2hvbi4KCiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcm1hZ2VkZG9uIGhhdCBlaW5lbiBCdWcuIChIYXJkaWwsICA2LiBNYXIgMTk5NywgMTQ6NTk6MzApOgpPa2luYWx6aXRhdDoKCnRlaWxlIGFybWFnZWRkb24gbWl0IGxhZGVuCkFybWFnZWRkb24gdGVpbHQgRGlyIG1pdDogRXMgaXN0IG5vY2ggenUgZnJ1ZWghIFByb2JpZXJzIDEwIE1pbnV0ZW4gdm9yIGRlbQpBcm1hZ2VkZG9uIHRlaWx0IERpciBtaXQ6IEVuZGUgbm9jaG1hbCEKRHUgdGVpbHN0IEFybWFnZWRkb24gbWl0OiBsYWRlbgo+IFtBbGxnZW1laW46QnJ1bW1lbF0gbGV0enRlcgpBcm1hZ2VkZG9uIHJ1ZnQ6IEljaCBzdGFydGUgZGFzIFNwaWVsIGpldHp0IG5ldSAhCkdhbWUgZHJpdmVyIHNob3V0czogTFBtdWQgc2h1dHRpbmcgZG93biBpbW1lZGlhdGVseS4KU3BlaWNoZXJlIEhhcmRpbC4KRHUgemllaHN0IGRlbiBncnVlbmVuIHNjaGlja2VuIFVtaGFuZyBhdXMuCkJpcyBiYWxkIQpDbG9zaW5nIGRvd24uCkNvbm5lY3Rpb24gY2xvc2VkIGJ5IGZvcmVpZ24gaG9zdC4KCkJ1Zywgb2Rlcj8KCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJtYWdlZGRvbiBoYXQgZWluZW4gQnVnLiAoVHVuaXhndXQsICA2LiBNYXIgMTk5NywgMTU6MTE6NTcpOgp+IyEgcm49SGFyZGlsIHJ0PTg1NzY1Njc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NzY1Njc3MApIYXR0ZSBkYXMgc2VsYmUgUHJvYiEhISBXYXIgYmVpIG1pciBibG9zcyBrZWlucywgd2VpbCBpY2ggc2Nob24gaW4gUFYgc3RhbmQhISEKClRyb3R6ZGVtIGZsdWNoZW5kIC4uLiBUdU5peEd1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcm1hZ2VkZG9uIGhhdCBlaW5lbiBCdWcuIChTbXVyZiwgIDYuIE1hciAxOTk3LCAxNjowNzowOSk6Cn4jISBybj1UdW5peGd1dCBydD04NTc2NTc1MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTc2NTY3NzAKQW5zY2hlaW5lbmQgaGF0IGplbWFuZCBBcm1hZ2VkZG9uIHVtZ2VicmFjaHQuIERhcmF1ZmhpbiBnYWIgZXMgbnVuIGFuZGVydGhhbGIKQXJtYWdlZGRvbnMsIHVuZCBkZWluZSBOYWNocmljaHQgZ2luZyBhbiBkZW4gZmFsc2NoZW4uCk9kZXIgc28gYWVobmxpY2guCgpBdWYgamVkZW4gRmFsbCBpc3QgZGFzIGVpbiBQcm9ibGVtLiBJY2ggYmluIHNpY2hlciBuaWNodCBkZXIgZWluemlnZSwgZGVyCmdlcmFkZSB2ZXJzdWNodCwgZGFzIFByb2JsZW0genUgcmVwcm9kdXppZXJlbi4gOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3RzIChCb2luZywgIDYuIE1hciAxOTk3LCAxNjoyMjowMSk6CkRlciBHcnVuZCBmdWVyIGRpZSBoYWV1ZmlnZW4gcmVib290cyBsYWcgd29obCBkYXJpbiwgZGFzcyBkZXIgTGludXgtS2VybmVsCmZhbHNjaCBrb25maWd1cmllcnQgd2FyLCBuYWVtbGljaCBhdWYgNjQgTUIgSGF1cHRzcGVpY2hlci4gS2lyayBoYXQgZGFzCmpldHp0IGdlYWVuZGVydCwgc28gZGFzcyBkaWUgUHJvYmxlbWUgaG9mZmVudGxpY2ggbmljaHQgbWVociBhdWZ0YXVjaGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290cyAoR3JpbW1ib3JuLCAgNy4gTWFyIDE5OTcsIDA5OjA0OjMxKToKfiMhIHJuPUJvaW5nIHJ0PTg1NzY2MTcyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1NzY2MTcyMQpOYSwgd2VubiBlciBkZW4gYXVmIG1nIGtvbXBpbGllcnQgaGF0IChhbHNvIGRlbSBSZWNobmVyLCB3byBkYXMgTUcgZHJhdWYKbGFldWZ0KSwgZGFubiB3aXJkIG1pciB6dW0gVGhlbWEgbGFnIGF1Y2ggZWluaWdlcyBrbGFyLi4uIDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlYm9vdHMgKFNtdXJmLCAgNy4gTWFyIDE5OTcsIDE3OjIyOjM2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTc3MjE4NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTc2NjE3MjEKV2llc28gbmV1IGtvbXBpbGllcnQ/IElzdCBkb2NoIG51ciBlaW4gUGFyYW1ldGVyIGltIEJvb3RsYWRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlYmV4cGxvcmVyIChTb2NyYXRlLCAxMi4gTWFyIDE5OTcsIDExOjQ1OjUxKToKVGFjaCB6dXNhbW1lbiEKICAgRnVlciBkaWUgTGV1dGUsIGRpZSB6dSBIYXVzZSBpbnMgV1dXIHVlYmVyIGRlbiBXZWJleHBsb3JlciBnZWhlbiwgc2VpCmdlc2FndCBkYXNzIGRhcyBlaW4gZ2V3aXNzZXMgUmlza2lrbyBiaXJndC4gV2llIGhlcmF1c2dlZnVuZGVuIHd1cmRlLCBrb2VubmVuCmRhZHVyY2ggYXVmIGRlciBGZXN0cGxhdHRlIERhdGVpZW4gZ2VzY2hyaWViZW4gb2RlciBnZWxvZXNjaHQgd2VyZGVuLCBmYWxscwptYW4gZWluZSBzaXRlIGVyd2lzY2h0IGF1ZiBkZXIgIGVpbiBCZWZlaGwgbWl0IGRlciBFbmR1bmcgLmxuayBpbnN0YWxsaWVydCAKd3VyZGUuIEFscyBTY2h1dHogZGFnZWdlbiBnaWJ0IGVzIG51biBlaW4gVXBkYXRlIHZvbiBXZWJleHBsb3Jlci4KR2VuYXVlciBuYWNoenVsZXNlbiBpc3QgZGllcyBhdWYgaHR0cDovL3d3dy5zcGllZ2VsLmRlLzk3LzExL29ubGVpbi5odG1sCgpHcnVzcwpTb2NyYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2ViZXhwbG9yZXIgKEhhdGUsIDEyLiBNYXIgMTk5NywgMTE6NTI6MDkpOgp+IyEgcm49U29jcmF0ZSBydD04NTgxNjM1NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTgxNjM1NTEKSG1tLCB2aWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGF6dSBzYWdlbjogTWl0IFdlYmV4cGxvcmVyIGlzdCBkZXIgTWljcm8kb2Z0CkludGVybmV0IEV4cGxvcmVyIGZ1ZXIgV2luZG93cyA5NS9OVCBnZW1laW50LiBBbmRlcmUgV1dXIEJyb3dzZXIgc2luZCBkYXZvbgpuaWNodCBiZXRyb2ZmZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZWJleHBsb3JlciAoU2lkb2xpbiwgMTIuIE1hciAxOTk3LCAxMTo1MzoxNCk6Cn4jISBybj1IYXRlIHJ0PTg1ODE2MzkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1ODE2MzU1MQpBdXNzZXJkZW0gc29sbHRlIG1hbiBzYWdlbiwgZGFzcyBkaWUgYmVpbSBTcGllZ2VsIG9mZmVuc2ljaHRsaWNoICJvbmxpbmUiIHNlaHIKa29taXNjaCBidWNoc3RhYmllcmVuLi4uLiA6LSkKClNpZG9saW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZWJleHBsb3JlciAoQW5ha2luLCAxMi4gTWFyIDE5OTcsIDEyOjAxOjAyKToKfiMhIHJuPVNpZG9saW4gcnQ9ODU4MTYzOTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU4MTYzNTUxCkVzIHNpbmQgYXVjaCBMaW5rcyBtaXQgRW5kdW5nZW4gLnVybCBiZXRyb2ZmZW4uIE1pdCAubG5rCmthbm4gbWFuIHVudGVyIE5UIG5peCBsb2VzY2hlbiA6KQpBYmVyIE0kIGhhdCBzZWl0IDJkIEJ1Z2ZpeGVzIGRpZSBkaWVzZSBGZWhsZXIgYXVzc2NobGllc3Nlbi4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdlYmV4cGxvcmVyIChBY3JpbW9uLCAxMi4gTWFyIDE5OTcsIDE0OjUxOjQxKToKfiMhIHJuPUFuYWtpbiBydD04NTgxNjQ0NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTgxNjM1NTEKQW5kZXJlIEJ1Z3Mgd2VyZGVuIG1pdGdlbGllZmVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdlYmV4cGxvcmVyIChBbmFraW4sIDEyLiBNYXIgMTk5NywgMTc6MDU6MTUpOgp+IyEgcm49QWNyaW1vbiBydD04NTgxNzQ3MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTgxNjM1NTEKRGFzIGhhYmUgaWNoIG5pY2h0IGF1c2dlc2NobG9zc2VuIDopCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB3ZWJleHBsb3JlciAoSmltZGlncml6LCAxMi4gTWFyIDE5OTcsIDIzOjQ0OjEwKToKfiMhIHJuPUFuYWtpbiBydD04NTgxODI3MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTgxNjM1NTEKQW5iZWkgZWluZSBrbGVpbmUgQW5la2RvdGUgZGllIGdyYWRlIHp1bSBUaGVtYSBwYXNzdCwKaW5zYmVzb25kZXJlIHp1bSBUaGVtYSBNJCB1bmQgRGF0ZW5zY2h1dHovU2ljaGVyaGVpdC4KLS0tcXVvdGUgb24tLS0tLS0tLQpEZWFyIGFsbCwKCmRpZSBHZXNjaGljaHRlIGlzdCBzY2huZWxsIGVyemFlaGx0OiBBbHMgZWluZXIgZGVyIGJlaWRlbgpHYXN0aGVyYXVzZ2ViZXIgZWluZXMgVGhlbWVuaGVmdGVzIGRlciBLSS1aZWl0c2NocmlmdCBtdXNzdGUgaWNoIGZ1ZXIKZGVuIFZlcmxhZyBtaXQgbWVpbmVtIFBhcnRuZXIsIGRlciB6dXIgWmVpdCBpbiBKYXBhbiBpc3QsIGVpbmVuCmdlbWVpbnNhbSB2ZXJmYXNzdGVuIGt1cnplbiBBdWZydWYsIGRlbiB3aXIgcGVyIEUtbWFpbCBpbiBBU0NJSQphYmdlc3RpbW10IGhhdHRlbiwgbmFjaCBNaWNyb3NvZnQgV29yZCBrb252ZXJ0aWVyZW4uICBEaWVzIGlzdAp2ZXJ0cmFnc2dlbWFlc3MgbWl0IGRlbSBWZXJsYWcgc28gdmVyZWluYmFydDogRGllIEF1dG9yZW4gbXVlc3NlbiBJaHJlCkJlaXRyYWVnZSBpbiBXb3JkIGF1ZiBEaXNrZXR0ZW4ga29waWVydCBtaXQgZGVyIFBvc3QgaGluc2NoaWNrZW4uClVuc2VyIFRleHQgd2FyIGV0d2EgMS41IEtCIGxhbmcuICBJY2ggaGFiZSBpaG4gYW4gZWluZW0gUEMgaW4KTWljcm9zb2Z0IFdvcmQgZWluZ2VsZXNlbiwga29udmVydGllcnQgdW5kIHdpZWRlciBnZXNpY2hlcnQuICBEaWUKRGF0ZWkgd2FyIHBsb2V0emxpY2ggYWNodG1hbCBzbyBsYW5nICh1ZWJlciAxMCBLQiksIHdhcyBtaWNoIHN0dXR6aWcKbWFjaHRlOiBFcyBpc3QgendhciBlaW5pZ2UgTGF5b3V0LSB1bmQgRm9udC1JbmZvcm1hdGlvbiBlbnRoYWx0ZW4sCmFiZXIgZGFzIGthbm4gZG9jaCBuaWNodCBlaW5lbiBGYWt0b3IgYWNodCBhdXNtYWNoZW4uICBJY2ggaGFiZSBtaXIKZGFyYXVmaGluIGRpZSBXb3JkLURhdGVpIG1pdCBFbWFjcyBhbmdlc2VoZW4gdW5kIGZvbGdlbmRlIEVudGRlY2t1bmdlbgpnZW1hY2h0OgoKMS4gTWVpbiBUZXh0IHdhciBaV0VJIE1hbCBlbnRoYWx0ZW4KMi4gSW4gdm9uIFdvcmQgbm9jaCBuaWNodCBiZWxlZ3RlbiBTZWt0b3JlbiwgZGllIGplZG9jaCBpbiBkaWUgRGF0ZWkKICAgYXVmZ2Vub21tZW4gd29yZGVuIHdhcmVuLCBmYW5kIGljaCBsZXNiYXJlbiBUZXh0IGF1cyBlaW5lbSBhbmRlcmVuCiAgIFp1c2FtbWVuaGFuZyAoaW4gZGllc2VtIEZhbGwgd2FyIGVzIGVpbm1hbCBkcmVpLCBlaW5tYWwgZnVlbmYKICAga29tcGxldHRlIFplaWxlbiB2b24gRm9saWVuIG1laW5lciBWb3JsZXN1bmcpLgoKRGllIGVpbnppZyBwbGF1c2libGUgRXJrbGFlcnVuZywgZGllIGljaCBmdWVyIFB1bmt0IDIgaGFiZSwgaXN0CmZvbGdlbmRlOiBXb3JkIG5pbW10IHNpY2ggZWluZSBiZXN0aW1tdGUgTWVuZ2UgYW4gU2VrdG9yZW4gLS0tIGRpZSwKd2llIGluIG1laW5lbSBGYWxsIHp1dm9yIHZvbiBhbmRlcmVuIERhdGVpZW4gYmVsZWd0IHdhcmVuLCB3ZWxjaGUKYGBnZWxvZXNjaHQnJyB3dXJkZW4sIGQuaC4gZXMgd3VyZGVuIG51ciBkaWUgRGlyZWN0b3J5ZWludHJhZWdlCmdlbG9lc2NodCAtLS0gdW5kIGZ1ZWxsdCBzaWUgYmVpIEJlZGFyZiBtaXQgSW5oYWx0LiAgWnVuYWVjaHN0IGJsZWlidAphYmVyIGluIGRlbiBTZWt0b3JlbiBzdGVoZW4sIHdhcyBlYmVuIHp1dm9yIHNjaG9uIGRyaW4gd2FyLiAgRGFzIGthbm4KZHVyY2hhdXMgdmVydHJhdWxpY2hlIEluZm9ybWF0aW9uIHNlaW4sIGRpZSBkYW5uIG1pdCBlaW5lciBzb2xjaGVuCkRhdGVpIGFuIERyaXR0ZSB2ZXJzY2hpY2t0IHdpcmQsIG9obmUgZGFzcyBtYW4gZXMgYWhudC4gIFZvbiBXb3JkIGF1cwprYW5uIG1hbiBkaWVzZSBEYXRlbiBuYXR1ZXJsaWNoIG5pY2h0IHNlaGVuLCBhYmVyIG1pdCBhbmRlcmVuCkVkaXRvcmVuLiAgRmF6aXQ6IEluIGVpbmVyIFBsYXR0ZW5wYXJ0aXRpb24sIGluIGRlciBXb3JkLURhdGVpZW4KYW5nZWxlZ3Qgd2VyZGVuLCBzb2xsdGUgbWFuIGJlaW0gTG9lc2NoZW4gZWluZXIgRGF0ZWkgc3RldHMgYXVjaCBhbGxlClNla3RvcmVuIGxvZXNjaGVuIChiencuIG1pdCBOdWxsZW4gZnVlbGxlbiwgd2llIGVzIHouQi4gTm9ydG9uCldpcGVGaWxlIHR1dCksIHdlbm4gbWFuIFdvcmQtRGF0ZWllbiB2ZXJzY2hpY2t0LgoKQW0gYmVzdGVuIGxhZXNzdCBtYW4gZGllIEZpbmdlciB2b24gZGVyYXJ0aWdlbiBIaWdoLVRlY2gtUHJvZHVrdGVuLAphYmVyOiBwYWN0YSBzdW50IHNlcnZhbmRhLiAgVW5kLCBNaWxsaW9uZW4gRmxpZWdlbiBrb2VubmVuIG5pY2h0CmlycmVuLi4uCgpXZWl0ZXJoaW4gdmllbCBGcmV1ZGUgYW4gZGVuIFBDcywKLS0tIHF1b3RlZCBmcm9tIFByb2YuIERyLiBHdWVudGhlciBHb2VyeiwgRXJsYW5nZW4gLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHdlYmV4cGxvcmVyIChHdWxkdWthdCwgMTMuIE1hciAxOTk3LCAxMjowMzowOCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODU4MjA2NjUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU4MTYzNTUxCkphdSwgZGEgaGFiIGljaCBhdWNoIG5vY2ggd2FzIHNjaG9lbmVzIQpJbiB1bmkgaGFiZSBpY2ggYXVmIGVpbmVtIE5UIFJFY2hlcm4gZWluZW4gYWNjb3VudCwgenUgaGF1c2UgYXVjaCBlaW5lbiBtaXQKZGVtc2VsYmVuIG5hbWVuLCBhYmVyIGFuZGVyZW0gcGFzc3dkLCB3ZW5uIGljaCBtaWNoIHZvbiB6dSBoYXVzZSBpbiB1bmkKZWlubG9nZ2Ugc2VuZGV0IGVyIG1laW4gaG9tZXBhc3N3ZCwgbWl0IGRlbSBpY2ggbWljaCB6dSBoYXVzZSBlaW5sb2dnZSwgYW4gZGllCnVuaSB1bmQgc3RlbGx0IGZlc3QsIGRhcyBlcyBuaWNodCB1ZWJlcmVpbnN0aW1tdC4gZGFzIG1hY2h0IGVyIG1pbmRlc3RlbnMgZHJlaQptYWwgdW5kIGRhbm4gd2lyZCBpbiBkZXIgdW5pIGRlciBhY2NvdXRuIGdlc3BlcnJ0IChhdXMgc2loY2VyaGVpdHNncnVlbmRlbiksCmRhbm4gbWVya3QgbWVpbiBob21lIHJlY2huZXIsIGRhc3MgZGFzIHBhc3N3ZCBuaWNodCBzdGltbXQsIHVuZCBmcmFndCBtaWNoCm5hY2ggZWluZW0gbmV1ZW4gcGFzc3dkLCBkYXMga2xhcHB0IG5hdHVlcmxpY2ggbmljaHQgbWVociwgd2VpbCBpY2ggaW4gdW5pCnNjaG9uIGdlc3BlcnJ0IGJpbiAuLi4gOigoKAp6aWVtbGljaGVyIG11cmtzIQpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogd2ViZXhwbG9yZXIgKFF1YXNpbW9kbywgMTcuIE1hciAxOTk3LCAxNjoxMzoxNyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODU4MjA2NjUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU4MTYzNTUxCkljaCBkZW5rZSwgZGFzcyBsaWVndCBkYXJhbiwgZGFzcyBTY2huZWxsc3BlaWNoZXJ1bmcgYWt0aXZpZXJ0IGlzdC4gSW4gZGVtCkZhbGwgYmVsZWd0IGVpbmUgV29yZGRhdGVpIG5hZW1saWNoIG1laHIgc3BlaWNoZXIgYWxzIHNpZSBlaWdlbnRsaWNoIGJyYXVjaHQsCnVtIGJlaSBnZXJpbmdmdWVnaWdlbiBBZW5kZXJ1bmdlbiBuaWNodCBkaWUgZ2FuemUgRGF0ZWkgdmVyc2NoaWViZW4genUKbXVlc3Nlbi4KCkNVIFF1YXNpbW9kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogd2ViZXhwbG9yZXIgKEFjcmltb24sIDE3LiBNYXIgMTk5NywgMTY6MTQ6MzgpOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg1ODYxMTU5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1ODE2MzU1MQpFaW4gQmVpc3BpZWwgbWlzZXJhYmVsc3RlciBQcm9ncmFtbWllcmVyZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIbW1tLi4uIChBbHBoYSwgMTcuIE1hciAxOTk3LCAxNzoyMDo1Mik6CkhpLApJc3QgZXMgZ2V3b2xsdCBvZGVyIG5pY2h0LCBkYXNzIG1hbiBpbiBuaWNodCBiZWxldWNodGV0ZW4gUmFldW1lbiBkaWUgWmVpdHVuZwpuaWNodCBsZXNlbiBrYW5uKGVzIGlzdCB6dSBkdW5rZWwpLiBadW1pbmRlc3Qga2FubiBpY2ggbWl0IGxpZXMgeHggbml4IGxlc2VuLAptaXQgbm4ga2xhcHB0IGVzLgpBbHBoYSwgbWFsIHdpZGRhIHZlcndpcnJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhtbW0uLi4gKExvY28sIDE3LiBNYXIgMTk5NywgMTg6NTk6NDgpOgp+IyEgcm49QWxwaGEgcnQ9ODU4NjE1NjUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU4NjE1NjUyCkRpZSBtcGEgYWNodGV0IG5pY2h0IGF1ZiBkaWUgSGVsbGlna2VpdCAtIGRpZSBnZXdvZWhubGljaGUgTGllcy1GdW5rdGlvbiBkZXMKU3BpZWxlcnMgKHouQi4gbGllcyBzY2hpbGQpIGZhZW5ndCBhYmVyIGRlbiBCZWZlaGwgYmVyZWl0cyBhYiwgc28gZGFzcyBlciBiZWkKZGVyIE1QQSBuaWNodCBtZWhyIGFua29tbXQuCgpPZGVyPyAqZ3J1ZWJlbCoKCi0gTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIbW1tLi4uIChXb29keSwgMTcuIE1hciAxOTk3LCAxOToxMjo1Nyk6Cn4jISBybj1Mb2NvIHJ0PTg1ODYyMTU4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1ODYxNTY1MgpBYmVyIG1hbiBrYW5uIGRvY2ggZWluZmFjaCBhdWNoICJsaWVzIiB3ZWdsYXNzZW4sIGFsc28gZXR3YQoiYXJ0aWtlbCAyMyIsIGRhcyBnZWh0IHdlaXRlcmhpbi4uLiBvYndvaGwuLi4gZWlnZW50bGljaCB3YWVyCmVzIGphIGxvZ2lzY2hlciwgZGFzcyBtYW4gYXVjaCBpbiBkdW5rbGVuIFJhZXVtZW4gbmljaHQgWmVpdHVuZwpsZXNlbiBrYW5uLCB3ZW5uIGlociBtaWNoIGZyYWd0IDopCgp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIbW1tLi4uIChBY3JpbW9uLCAxNy4gTWFyIDE5OTcsIDE5OjI5OjMxKToKfiMhIHJuPVdvb2R5IHJ0PTg1ODYyMjM3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1ODYxNTY1MgpEYW5uIHNjaHJlaWJlbiB3aXIgZWJlbiBpbiBadWt1bmZ0IGluIEJsaW5kZW5zY2hyaWZ0IQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXRlcmFuZW50cmVmZmVuIChMaG9zd2FsZCwgMTcuIE1hciAxOTk3LCAyMTo0ODo0Mik6CkhhbGxvIQpadW0gendlaXRlbiBKYWhyZXN0YWcgZGVzIEF0dGVudGFzIGF1ZiBkZW4gV29scGVydGluZ2VyIEZhbmNsdWIgbW9lY2h0ZSBpY2gKYWxsZSBWZXRlcmFuZW4sIFVlYmVybGViZW5lbiB1bmQgV2llZGVyZ2Vib3JlbmUgYXVmcnVmZW4sIGRpZXNlbiBBbmxhc3MKZ2VidWVocmVuZCB6dSBmZWllcm4uClplaXQgdW5kIE9ydCB3aXJkIHdpZSB1ZWJsaWNoIGFtIGdlaGVpbWVuIFRyZWZmcHVua3QgYXVzZ2VoYWVuZ3QhCkwuSC5Pc3dhbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNUIFB1aXogbWFpbHMgZXRjIChKaW1kaWdyaXosIDE4LiBNYXIgMTk5NywgMTY6NDc6MTgpOgpIb2ksIAphbHNvIGRhIGFuc2NoZWluZW5kIG5pY2h0IGFsbGUgZGllIGJlaW0gU1QgUXVpegptaXRnZW1hY2h0IGhhYmVuIGRhbmFjaCBub2NoIGRpZSBSdWJyaWsgcHVpeiBnZWxlc2VuIApoYWJlbiB1bmQgc29taXQgbmljaHQgbWl0YmVrb21tZW4gaGFiZW4sIGRhc3MgSWhyZQpwb3RlbnRpZWxsZW4gTG9lc3VuZ3NtYWlscyBhdXMgb2Z0Z2VuYW5udGVuIEdydWVuZGVuIG5pY2h0CmFua2FtZW4sIHNjaHJlaWIgaWNocyBub2NobWFsIG5hY2ggYWxsZ2VtZWluIHVuZCBiaXR0ZQpkYXJ1bSBkYXNzIGVzIF9uaWNodF8gdmVybGVndCB3aXJkLiBXZW5uIGRpZSBMb2VzdW5nCmRhIGlzdCwgd2VyZGUgaWNoIGRlbiBBcnRpa2VsIGF1Y2ggYnJhdiBsb2VzY2hlbi4KQWxzbyBMb2VzdW5nZW4gaGFiIGljaCBiaXNoZXIgdm9uIEFzbW9kaXMsIENhdSBObywKIEdyYWxrb3IgdW5kIEhpZ2hsYW5kZXIuIApIdWh1IEd1bCBEdWthdCA6LSkpIAoKY3UsCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSG1tbS4uLiAoUmFmZmksIDE5LiBNYXIgMTk5NywgMTE6MTI6MTUpOgp+IyEgcm49V29vZHkgcnQ9ODU4NjIyMzc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU4NjE1NjUyCkljaCBiaW4gZWggZGFmdWVyIGRhcyBkYXMgbGllcyBhbHMgWmVpdHVuZ3NiZWZlaGwgcmF1c2dlbm9tbWVuIHdpcmQKR3J1c3MgSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhtbW0uLi4gKEZ5dCwgMTkuIE1hciAxOTk3LCAxMTozMzo0Mik6Cn4jISBybj1SYWZmaSBydD04NTg3NjYzMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTg2MTU2NTIKCkdlbmF1LCBzdGVodCBlaCBudXIgU2Nod2FjaHNpbm4gZHJpbiA7LSkKClNDTlIKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1c3RhZW5kZS4uLi4gKEZyZWRlcmljaywgMjMuIE1hciAxOTk3LCAxNToyNjo1OCk6CmVpbmUga3VyemUgUkwgU3RvcnksIGRpZSBpbiAuYXQgZ2VyYWRlIGVpbiBQYWFyIFdlbGxlbiBzY2hsYWVndDoKSW0gbWFlcnogdm9yaWdlbiBKYWhyZXMgZXJzdGF0dGV0IGplbWFuZCBiZWkgZGVyIE11ZW5jaGVyIG9iZXJzdGFhdHNhbndhbHQtCnNjaGFmdCBBbm9ueW1lIEFuemVpZ2UgZ2VnZW4gVW5iZWthbm50LiBWb3JpZ2VuIERvbm5lcnN0YWcsIG1laHIgYWxzIGVpbgpKYWhyIHNwYWV0ZXIgZmFlbGx0IGRpZSBFeGVjdXRpdmUgYmVpIGVpbmVtIFdpZW5lciBQcm92aWRlciBtaXQgZWluZW0KcmljaHRlcmxpY2hlbiBEdXJjaHN1Y2h1bmdzYmVmZWhsIGVpbiB1bmQgYmVzY2hsYWduYWhtdCBhbGxlIEhhcmR3YXJlLgpEZXIgUHJvdmlkZXIsIGRlciBuaWNodGVpbm1hbCBkZXIgYmVzY2h1bGRpZ3RlIGlzdCwgc3RlaHQgYW0gUmFuZGUgZGVzIApBYmdydW5kZXMsIGRlbm4gMjUwMCBLdW5kZW4gbXVlc3NlbiBwbG9ldHpsaWNoIGF1ZiBpaHIgU2VydmljZSB2ZXJ6aWNodGVuLgpEZXIgd2lydHNjaGFmdGxpY2hlIFNjaGFkZW4gaXN0IHVuc2NoYWV0emJhciwgZGllIFJpY2h0ZXJpbiBzaXR6dCBmdWVyIGVpbmUKbmljaHQgYWxsenUgbW9kZXJhdCBhdXNnZXJpY2h0ZXRlIFBhcnRlaSBpbiBkaXZlcnNlbiBGdW5rdGlvbmVuLiBOYWVoZXJlcwp6dSBkaWVzZXIgQWt0aW9uLCBzbyBSZWFrdGlvbmVuLCByZWNodGxpY2hlIHVuZCB3aXJ0c2NoYWZ0bGljaGUgSGludGVyZ3J1ZW5kZSwKZ2lidHMgYXVmIGRlciB3ZWIgc2l0ZSBodHRwOi8vd3d3Lmktbm9kZS5hdC90cmlwcGxlL3N0b3Bub3cvCmxpZWJlIEdydWVzc2UsCmVpbiBiZXN0dWVyenRlciAKUGhyZWRlcmljay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2h0c2NocmVpYnVuZyAoRW5neXd1Y2ssIDI0LiBNYXIgMTk5NywgMjE6MjI6MDgpOgpTbywgbWFsIHdpZWRlciBlaW4gUXVpeiwgZGllc21hbCBlaW5zIGZ1ZXIgQWNyaW1vbiA7KQoKRXMgZ2VodCB1bSBzbyBXb3J0ZSB3aWUgIkVuZXJnaWUiLCAiR2VvbWV0cmllIiwgIlN5bW1ldHJpZSIuLi4gRnVlZ3QgbWFuIGRhIGltClBsdXJhbCBlaW4gImVuIiBhbiBvZGVyIG51ciBlaW4gIm4iID8KTmFlY2hzdGUgRnJhZ2UgKGRpZXNtYWwgZnVlciBTdHVkZW50ZW4gZGVyIE1hdGhlbWF0aWsgdW5kIEdlcm1hbmlzdGlrKToKU2NocmVpYnQgbWFuICJrYXJ0aGVzaXNjaCIgb2RlciAia2FydGVzaXNjaCIgPwoKQXVmIHphaGxyZWljaGUgKHJpY2h0aWdlKSBBbnR3b3J0ZW4gaG9mZmVuZAoKICAgIEVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaHRzY2hyZWlidW5nIChJc3NvbWFkLCAyNC4gTWFyIDE5OTcsIDIxOjM1OjI2KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg1OTIzNDkyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOApXZW5uIGVzIGVpbiBRdWl6IGZ1ZXIgQWNyaW1vbiBpc3QsIHdpZXNvIHdhcnRlc3QgZHUgYXVmIHphaGxyZWljaGUKQW50d29ydGVuID8/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaHRzY2hyZWlidW5nIChBY3JpbW9uLCAyNC4gTWFyIDE5OTcsIDIxOjM4OjQyKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg1OTIzNDkyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOApBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIgc2FndDogRW5lcmdpZWVuLCBHZW9tZXRyaWVlbiwgU3ltbWV0cmllZW4sIGthcnRlc2lzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVjaHRzY2hyZWlidW5nIChTdXNoaSwgMjQuIE1hciAxOTk3LCAyMjowMTozOSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg1OTIzNTkyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOApBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIgc2FndDogRW5lcmdpZWVuLCBHZW9tZXRyaWVlbiwgU3ltbWV0cmllZW4sIGthcnRlc2lzY2gKClN1c2hpLCBkZXIgTWFnZW4gQml0dGVyIHNhZ3Q6IFZlcmxlZ3QgRXVyZW4gTXVlbGwgbmFjaCBNdWVsbCwgYWVoLCBwdWl6LCBkYXMKaGFiZSBpY2ggbmFlbWxpY2ggZ2VyYWRlIGFiYmVzdGVsbHQuCgpEYW5rZSEKClN1c2hpIC0gb2ZlbnNpZXdlciBMZXN0aWdhbmlrZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWNodHNjaHJlaWJ1bmcgKEdhcmZpZWxkLCAyNS4gTWFyIDE5OTcsIDAwOjUxOjAxKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg1OTIzNDkyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOAoKR2FyZmllbGQgaXN0IGRlciBNZWludW5nIGVzIGhlaXNzdDoKCkVuZXJnaWVuLCBHZW9tZXRyaWUgKGRlbm4gZGEgZ2lidHMga2VpbmVuIFBsdXJhbCksIFN5bW1ldHJpZW4gdW5kIGNhcnRlc2lzY2guCkRlciBUeXAgaGVpc3N0IHNjaGxpZXNzbGljaCBuaWNodCBlaW5mYWNoIHNvIERlc2NhcnRlcywgb2Rlcj8KCmdyYWZpZWxkCm5lZSwgZ2FyZmllbGQKKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWNodHNjaHJlaWJ1bmcgKEdyaW1tYm9ybiwgMjUuIE1hciAxOTk3LCAwMDo1ODozNCk6Cn4jISBybj1HYXJmaWVsZCBydD04NTkyNDc0NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkyMzQ5MjgKQmluIGtlaW4gTWF0aGlrZXIsIGFiZXIgZXMgZ2lidCB6dW1pbmRlc3QgZWluZSBldWtsaWRpc2NoZSBHZW9tZXRyaWUsIGFsc28Kd2lyZHMgYXVjaCBhbmRlcmUgZ2ViZW4sIGFuZGVyZSBEaW5nZW5zLCBkaWVzIG5pY2h0IGlubSBQbHVyYWwgZ2ViZW4gc29sbC4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXVzZWlud2VpaHVuZyA6KSAoVGhlcmluLCAyNS4gTWFyIDE5OTcsIDA1OjUwOjM0KToKb2Rlcjogd2FzIGxhbmdlIGdhZWhydCB3aXJkIGVuZGxpY2ggZ3V0IQoKTWVpbiBIYWV1c2xlIGlzdCBudW4gc293ZWl0IGZlcnRpZywgZGFzcyBtYW4gZXMgYmVzdWNoZW4ga2Fubi4gRWluZQpFaW53ZWlodW5nc2ZldGUKa2FubiBpY2ggamEgbGVpZGVyIG5pY2h0IG1hY2hlbiwgYWxzbyBoYWIgaWNoIG1pciB3YXMgYW5kZXJlcyBhdXNnZWRhY2h0LgpBdWYgZGVuIG9kZXIgZGllIGVyc3RlbiBCZXN1Y2hlciB3YXJ0ZXQgZWluZSBrbGVpbmUgQmVsb2hudW5nIGVpbmZhY2ggYXVmIGRpZQpNaXRuYWhtZToKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjAwMC4wMDAgTXVlbnplbgoKbGllZ2VuIGRhIHNvIHJ1bS4KKFp3ZWl0aWVzIHVuZCBGcmV1bmRlIHNpbmQgbGVpZGVyIHZvbiBkZW0gUHJlaXNhdXNzY2hyZWliZW4gYXVzZ2VzY2hsb3NzZW4sIGRhCnNpZSBqYQpzY2hvbiBkaWUgUG9zdGl0aW9uIGRlcyBIYWV1c3NjaGVucyBrZW5uZW4gc29sbHRlbikKTm9jaCBlaW4ga2xlaW5lciBUaXA6IGVzIGlzdCBub2VyZGxpY2ggdm9uIFBWIHVuZCBvZXN0bGljaCB2b20gRWxmZG9yZi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVjaHRzY2hyZWlidW5nIChMb2NvLCAyNi4gTWFyIDE5OTcsIDAwOjMxOjE2KToKfiMhIHJuPVRhc2hhIHJ0PTg1OTMyMDQ4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOApXZW5uIGltIFRhbCBEcnVjayBhdWYgZGVtIEdydW5kd2Fzc2VyIGlzdCwgd2FzIG1laW5zdCBEdSwgd28gZGFubiBkYXMgV2Fzc2VyCmhlcmtvbW10PyBBbHMgUHVtcGVuc2tsYXZlIG11c3MgTWV0aGVkcmFzIGRhcyBhbHNvIHdpc3Nlbi4uLgoKTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFJlY2h0c2NocmVpYnVuZyAoTWV0aGVkcmFzLCAyNi4gTWFyIDE5OTcsIDA0OjQ0OjI1KToKfiMhIHJuPUxvY28gcnQ9ODU5MzMyNjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5MjM0OTI4ClB1bXBlbnNrbGF2ZSEhIFBvZWghISBOdXIgd2VpbCBpY2ggZnJ1ZWhlciBtYWwgZWluIGFybWVyIGtsZWluZXIKU2llYnRpZSB3YXIgdW5kIGpldHp0IHJhc2FudCBhYl5IdWZnZXN0aWVnZW4gYmluLi4uLiAqYnJ1bW1lbCoKCiAgICAgICAgIEJlcmdjaGVuIE1ldGhlZHJhcyAtIHNjaGVvbG9naXNjaCBzZWhyIGludGVyZXNzYW50IGFlaCBpbnRlcmVzc2llcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJlY2h0c2NocmVpYnVuZyAoRnl0LCAyNi4gTWFyIDE5OTcsIDA4OjU0OjI0KToKfiMhIHJuPU1ldGhlZHJhcyBydD04NTkzMTgyMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkyMzQ5MjgKCkFiZXIgamV0enQgbWFsIGltIEVybnN0OiBoaWVzc3QgZGFzIERpbmcgbmljaHQgJ0FydGVzaXNjaGVyIEJydW5uZW4nPwpTbyBnYW56IG9obmUgYyB1bmQgaz8gQmluIHNjaG9uIHdhcyBzbyB2ZXJ3aXJydCB3aWUgdW5zZXIgU2lsYmVyemlubmNoZW4uCgpGeXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFJlY2h0c2NocmVpYnVuZyAoTmlyZGF2bywgMjYuIE1hciAxOTk3LCAwOTozNTo1OSk6Cn4jISBybj1GeXQgcnQ9ODU5MzYyODY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5MjM0OTI4CiAgQWxzbyBhdWYgZW5nbGlzY2ggaGVpc3N0IHNvIGVpbiBCcnVubmVuICdhcnRlc2lhbiB3ZWxsJy4gQWxzbyBtZWluZXIKdW5tYXNzZ2VibGljaGVuIE1laW51bmcgbmFjaCBtdXNzIGVzIHRhdHNhZWNobGljaCBBcnRlc2lzY2hlciBCcnVubmVuIGhlaXNzZW4sCnNvIGdhbnogb2huZSBjIHVuZCBrLCB3aWUgRnl0IHNjaG9uIHNhZ3QsCiAgICAgICAgTmlyZGF2bywgbXVzcyBzaWNoIG5hY2ggbGFuZ2VtIFNjaHdlaWdlbiBhdWNoIG1hbCB3aWVkZXIgbWVsZGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMUEMtRWRpdG9yIChEaWVkZXIsIDI2LiBNYXIgMTk5NywgMTE6NTA6MjYpOgpIaWhvIE11ZGRpZXMsCgpiZXNvbmRlcnMgZGllIE1hZ2llciB1bnRlciBFdWNoIHdpcmQgZXMgdmllbGxlaWNodCBpbnRlcmVzc2llcmVuLCBkYXNzIGljaAplaW5lbiBMUEMtRWRpdG9yIGdlc2NocmllYmVuIGhhYmUuIERhcyBUZWlsIGxhZXVmdCB1bnRlciBET1MgKGJpdHRlIG5pY2h0CmxhZXN0ZXJuLCBhYmVyIGljaCBicmF1Y2ggZGFzIHNvIDstKSkgdW5kIGhhdCBmb2xnZW5kZSBGZWF0dXJlczoKCi0gUXVpY2tFZGl0LUZ1bmt0aW9uIChlcnN0ZWxsdCBibGl0enNjaG5lbGwgR3J1bmRnZXJ1ZXN0ZSBkZXIgRGF0ZWllbikgZnVlcgogIFJvb20sIE5QQywgQXJtb3VyLCBXZWFwb24gdW5kIE9iamVjdAotIDE4IEhvdGtleXMgZnJlaSBwcm9ncmFtbWllcmJhciB6dW0gRWluZnVlZ2VuIGhhZXVmaWcgYmVub2V0aWd0ZXIgU3RyaW5ncwotIFNBQS1PYmVyZmxhZWNoZSBtaXQgUHVsbC1kb3duLU1lbnVlcyB1bmQgTWF1c3VudGVyc3R1ZXR6dW5nCi0gYmVsaWViaWcgdmllbGUgRGF0ZWllbiBrb2VubmVuIGdsZWljaHplaXRpZyBnZW9lZmZuZXQgd2VyZGVuCi0ga29udGV4dC1zZW5zaXRpdmVzIEhpbGZlc3lzdGVtCi0gU3RhbmRhcmQtRWRpdG9yYmVmZWhsZSB3aWUgQ29weSZQYXN0ZSBvZGVyIEZpbmQmUmVwbGFjZQotIFJlbmFtZWZ1bmt0aW9uLCBkaWUgRGF0ZWllbiBhdXRvbWF0aXNjaCBpbiBsYWVuZ2VyZSBEYXRlaW5hbWVuIHVtYmVuZW5udAogIChmdWVyIFVOSVgtRWJlbmUpCi0ga29tZm9ydGFibGUgQXVzZHJ1Y2tlLCBLb21tZW50YXJlIGV0Yy4ga29lbm5lbiBoZXJ2b3JnZWhvYmVuIHdlcmRlbgotIHZpZWxlIExQQy1zcGV6aWZpc2NoZSBPcHRpb25lbgotIC4uLgoKTWl0IGRlciBTaGFyZXdhcmUtVmVyc2lvbiBrb2VubmVuIGFsbGVyZGluZ3MgbnVyIFJhZXVtZSBxdWlja2VkaXRpZXJ0IHdlcmRlbi4KQW5zb25zdGVuIGtvc3RldCBkaWUgVm9sbHZlcnNpb24gMjAgRWllciB1bmQgd2lyZCByZWdlbG1hZXNzaWcgZXJ3ZWl0ZXJ0LgoKTFBDLUVkaXQgYmVub2V0aWd0OgotIDI4NmVyIFByb3plc3NvcgotIDU1MGtCIGZyZWllbiBIYXVwdHNwZWljaGVyCkRhcyBtdWVzc3RlIGVpZ2VudGxpY2ggaGV1dHp1dGFnZSBtYWNoYmFyIHNlaW4uLi4gOi0pCgpEaWUgU2hhcmV3YXJlLVZlcnNpb24gZ2lidCBlcyB1bnRlcgpodHRwOi8vd3d3LmZvby5maC1mdXJ0d2FuZ2VuLmRlL35icmF1bi9scGNlZDIwLnppcApvZGVyIHVlYmVyIGVpbmVuIExpbmsgYXVmIG1laW5lciBIb21lcGFnZSB+YnJhdW4uCgpXZXIgSW50ZXJlc3NlIGhhdCBiaXR0ZSBtYWwgcmVpbnNjaGF1ZW4uIEZ1ZXIgd2VpdGVyZSBJbmZvcyBlaW5mYWNoIG1hbCBkaWUKRGF0ZWkgUkVBRE1FLkVYRSBzdGFydGVuIHVuZCBkZW4gRWRpdG9yIGluIFJ1aGUgYW5zY2hhdWVuLgoKR3J1c3MsCgpEaWVkZXIvQXJhdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMUEMtRWRpdG9yIChIYXRlLCAyNi4gTWFyIDE5OTcsIDEyOjE4OjE3KToKfiMhIHJuPURpZWRlciBydD04NTkzNzM0MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkzNzM0MjYKRW1hY3M6IEMrKy1Nb2RlIG1pdCBtaW5pbWFsZW4gQW5wYXNzdW5nZW4uCk5hamEgdW5kIGZ1ZXIgZGllIHZpLWxpZWJoYWJlcjogZGFzIGdhbnplIGluY2x1c2l2ZSB2aXBlci1tb2RlCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMUEMtRWRpdG9yIChCYWJvb24sIDI2LiBNYXIgMTk5NywgMTI6MzY6NDApOgp+IyEgcm49SGF0ZSBydD04NTkzNzUwOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkzNzM0MjYKV28gd2lyIGdyYWQgZGFiZWkgc2luZC4gSGF0IGplbWFuZCBuZW4gZ3V0ZW4gRWRpdG9yIGZ1ZXIgQW1pZ2EoUklQXkheSF5IVE0pLgpNZWluZSBUZXh0dmVyYXJiZWl0dW5nIGlzdCBsZWlkZXIgc2NobmFyY2hsYW5nc2FtIHVuZCBuaWNodCB1bmJlZGluZ3QgZGFzCklkZWFsZS4KCkJhYm9vbiBoYXQgZGllICJRdWVzdCBmb3IgT1MyLjAiIGpldHp0IGVuZGxpY2ggaGludGVyIHNpY2gKClAucy46IE1laW4gUmVjaG5lciBoYXQgaW1tZXIgbm9jaCBrZWluIE1vZGVtLiBXZW5ucyBuZSBNb2VnbGljaGtlaXQgZ2lidCwKQW1pZ2Fwcm9ncmFtbWUgcGVyIFBDIHp1IHppZWhlbiB1bmQgaXJnZW5kd2llIGF1ZiBkZW4gQW1pZ2EgcnVlYmVyIHp1IGtyaWVnZW4sCmRhbm4gbmVobSBpY2ggYXVjaCBnZXJuZSBhbWluZXQtdXJscy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExQQy1FZGl0b3IgKFdhcmdvbiwgMjYuIE1hciAxOTk3LCAxMjo0Njo0MSk6Cn4jISBybj1CYWJvb24gcnQ9ODU5Mzc2MjAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5MzczNDI2CkFtaW5ldD8gRGEgd2lyc3QgRHUgaW4gdGV4dC9lZGl0IHZvbiBFZGl0b3JlbiBlcnNjaGxhZ2VuIDopCldlbGNoZW4gbWFuIGRhIG5pbW10IGlzdCBzaWNoZXIgR2VzY2htYWNrcy0gdW5kIEdld29laG51bmdzc2FjaGU7IGljaCBiaW4KZWlnZW50bGljaCBtaXQgZGVtIGd1dGVuIGFsdGVuIERNRSBnYW56IHp1ZnJpZWRlbi4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExQQy1FZGl0b3IgKEFjcmltb24sIDI2LiBNYXIgMTk5NywgMTI6NTg6MDEpOgp+IyEgcm49QmFib29uIHJ0PTg1OTM3NjIwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTM3MzQyNgpTb2xhbmcgRHUgbmljaHQgZGVuIHZlcmFsdGV0ZW4gQTUwMCBoYXN0LCBzb25kZXJuIEtpY2tzdGFydCAzLngsIGthbm5zdCBEdQphdWNoIE1TLURvcy1EaXNrZXR0ZW4gbGVzZW4uIChGdWVyIEE1MDAgZ2lidHMgYXVjaCBzbyBlaW4gRGV2aWNlLCBhYmVyIGljaAp3ZWlzeiBuaWNodCBtZWhyLCB3by4pCkdvbGRFZCBpc3Qgc2VociBndXQgdW5kIHNlaHIgc2NobmVsbCwgYWJlciBETUUgbGFlc3p0IHNpY2ggYmVzc2VyCmtvbmZpZ3VyaWVyZW4uCk5pbW0sIHdhcyBkaXIgenVzYWd0LgoKQmVpZGUgc2luZCBpbiBBbWluZXQ6dGV4dC9lZGl0LwoKKERhcyBzaW5kIGplZGVuZmFsbHMgbWVpbmUgYmVpZGVuIEZhdm9yaXRlbikuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExQQy1FZGl0b3IgKE1vcmdhciwgMjYuIE1hciAxOTk3LCAxNjoyMTozOSk6Cn4jISBybj1CYWJvb24gcnQ9ODU5Mzc2MjAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5MzczNDI2CkZ1ZXIgQW1pZ2EgbmVobSBpY2ggenVtIHByb2dnZW4gc25tYSAoQW1pbmV0KS4gRXIgYnVnZ3QgbWFjaG1hbCBldHdhcyBhYmVyIGlzdAphbiBzb25zdGVuIGRlciBiZXN0ZSBFZGl0b3IgZGVuIGljaCBnZWZ1bmRlbiBoYWIuCgpNb3JnYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWNodHNjaHJlaWJ1bmcgKFNjaHJ1bXBmaSwgMjcuIE1hciAxOTk3LCAxNjoxOToxNCk6Cn4jISBybj1TdXNoaSBydD04NTkyMzcyOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkyMzQ5MjgKR2FobnMgZGFpbmVyIG1haW51aG5rIQpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBSZWNodHNjaHJlaWJ1bmcgKE1ldGhlZHJhcywgMjcuIE1hciAxOTk3LCAxOTowNzo0MCk6Cn4jISBybj1OaXJkYXZvIHJ0PTg1OTM2NTM1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOApPaCwgaG0sIGFlaC4uLiAqZXJyb2V0KiBCaW4gZ3JhZCBldHdhcyBkdXJjaGVpbmFuZGVyIHNjaGFldHplIGljaC4KVmllbGxlaWNodCBoZWlzc3RzIGphIGJlaWRlcy4gOikgKnJhdXNyZWQqCkF1c3NlcmRlbSBoYXQgZGFzIGF1Y2gga2VpbiBoICpicnVtbSogQWxzbyBpcmdlbmR3aWUgd2lyZHMKaGV1dGUgbml4IG1laHIgbWl0IG1pci4gRGFmdWVyIHdpc3NlbiB3aXIgamEgamV0enQsIHdhcyBlaW4KYXJ0ZXNpc2NoZXIgQnJ1bm5lbiBpc3QuICpraWNoZXJpbnNpY2hyZWluKgoKICAgICAgIEJlcmdjaGVuIE1ldGhlZHJhcyAtIGF1ZiBkZW0gS29wZiBzdGVoZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZWphbmV3cyAoR3VsZHVrYXQsIDI5LiBNYXIgMTk5NywgMTM6MDE6MTMpOgpXb3p1IGRlamFuZXdzIG5pY2h0IGFsbGVzIGd1dCBpc3QsIGRhIGZpbmRldCBtYW4genVmYWVsbGlnIGVpbmVuIGFydGlrZWwgCnViZXIgYXVzd2VydHVuZ2VuIHZvbiBpcmdlbmR3ZWxjaGVuIGtvbWlzY2hlbiBzcGllbGVuIHVuZCBlaW5lIG5pY2h0CmdhbnogdW5iZWthbm50ZSBtYW5uc2NoYWZ0OgoKLS0tc25pcC0tLS0KCkRpZSBTY2hsYW1tIFNjaGxhZWNodGVyIC0gRkMgQWJyYXhhcyBTRCAgIDQgOiAwClRvcnNjaHx0emVuOiAgRWFyZW5kaWwgKDEuKSwgTGF1cmluICg3My4pLCBYYW5hZHUgKDkuKSwgQXNtb2RpcyAoNjcuKSAqKiogLS0tCkVpbmUga2xhcmUgU2FjaGUgZnVlciBkaWUgU2NobGFtbXNjaGxhZWNodGVyLCBkaWUgZGllIHBlcmZla3RlIEVyd2lkZXJ1bmcKZnVlciBkaWUgR2Flc3RlLVRha3RpayB6ZWlndGVuLiBEYW1pdCBrb2VubmVuIHNpZSBzaWNoIHp1bWluZGVzdCBub2NoIGdlcmluZ2UKSG9mZm51bmdlbiBhdWYgZWluZW4gU3BpdHplbnBsYXR6IG1hY2hlbiwgd2FlaHJlbmQgZGllIEdhZXN0ZSB3ZWl0ZXIgaW0KVGFiZWxsZW4tTWl0dGVsZmVsZCBoZXJ1bWR1ZW1wZWxuLgoKLS0tLS0tLQpUaGUgVGlueSBUb29ucyAtIERpZSBTY2hsYW1tIFNjaGxhZWNodGVyICAgOCA6IDYKVG9yc2NofHR6ZW46ICBDb3JuaHVza2VyICg0NC4sIDgwLiksIFBldGVyIEhhbW1pbGwgKDY2LiwgOTAuKSwgTWFqZXN0aXggKDM4LiwKICAgICAgICAgICAgICA0OS4pLCBPYmVsaXggKDczLiksIEJhcm55IEdlcm9lbGxoZWltZXIgKDYxLikgKioqIE5peGkgKDUuLAo2NS4pLAogICAgICAgICAgICAgIExhdXJpbiAoNTYuLCA3NS4pLCBTbHlmb3ggKDI5LiwgNDQuKQpHZWxiZSBLYXJ0ZW46IC0tLSAqKiogTml4aQpJcmdlbmR3aWUgaXN0IGRpZXNlciBUb29ucy1TaWVnIGVpbiB6aWVtbGljaCB2ZXJydWVja3RlcyBFcmdlYm5pcy4gRGVubiBkYQpnZXdpbm5lbiBkaWUgaGVpbXNjaHdhY2hlbiBTY2hsYW1tc2NobGFlY2h0ZXIgaWhyIEhlaW1zcGllbCBhbSB2b3JoZXJpZ2VuClNwaWVsdGFnLCB1bSBkYW5uIChhbHMgMi4tYXVzd2FlcnRzc3RhZXJrc3RlcyBUZWFtcykgYmVpIGRlbiBlYmVuZmFsbHMKemllbWxpY2ggaGVpbXNjaHdhY2hlbiBUb29ucyB6dSB2ZXJsaWVyZW4uIFVuZCBkYXMgYXVjaCBub2NoIHZlcmRpZW50LiBEYQp3ZXJkIGVpbmVyIGRyYXVzIHNjaGxhdSAuLi4KCgotLS0tLXNuaXAtLS0tLS0KbmEsIHp1bSBzYWlzb25hYnNjaGx1c3MgbGFnZW4gc2llIGluIGRlciA0LiBsaWVnYSBhdWYgcGxhdHogOSB2b24gMTIhCgoKCi0tLXNuaXAtLS0KCgo0LkxpZ2EgQQo9PT09PT09PQo5KSBEaWUgU2NobGFtbSBTY2hsYWVjaHRlciAgICAgICAgICAgICAgICAgICAwLjAgV1AgIC8gIDAga0tqCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClBldGVyIEd1dHNjaGUKMTEgU3BpZWxlcjogQW5hdG9sLCBBc21vZGlzLCBFYXJlbmRpbCwgTGF1cmluLCBNeXNlbGYsIE5peGksIE5peGlob3UsICAKU2NoZWxtLFNseWZveCwgVG9zcywgWGFuYWR1CgoKLS0tLS0tLS0tc25pcC0tLS0tLS0tLS0uCm5uIwpubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV0dGVyIFRpbWVzIFZpcnVzISEhIChTdXNoaSwgMzEuIE1hciAxOTk3LCAyMjoyNDo1Mik6CiAgICAgICAgICAgICAgICAgICAgICoqKiBXIEEgUiBOIEkgTiBHICEhISAqKioKCgpJZiB5b3Ugd291bGQgaGF0ZSB0byBzZWUgYSBiYWQgdGhpbmcgaGFwcGVuIHRvIGFueSBvZiBZT1VSIGZyaWVuZHMsIHBsZWFzZQpyZWFkIHRoaXMgaW1wb3J0YW50IG1lc3NhZ2Ugd2UgcmVjZWl2ZWQgZnJvbSBvdXQgQ29ycG9yYXRlIEhlYWRxdWFydGVycyAhISEKCiAgICAgICAgICAgICAgICAgICAgICAgICoqIEhpZ2ggUHJpb3JpdHkgKioKCiAgICAgICAgICAgICAgICBQbGVhc2UgcmVhZCBhbmQgaGVlZCB0aGlzIG1lc3NhZ2U6CgogICAgKioqIEEgbmV3IHZpcnVzIHRoYXQgaXMgYmVpbmcgdHJhbnNtaXR0ZWQgdmlhIEludGVybmV0ISEhICoqKgoKVGhlcmUgaXMgYSBjb21wdXRlciB2aXJ1cyB0aGF0IGlzIGJlaW5nIHNlbnQgYWNyb3NzIHRoZSBJbnRlcm5ldC4gIElmIHlvdQpyZWNlaXZlIGFuIGUtbWFpbCBtZXNzYWdlIHdpdGggdGhlIHN1YmplY3QgbGluZSAiQmV0dGVyIFRpbWVzLCIgRE8gTk9UIHJlYWQKdGhlIG1lc3NhZ2UsIERFTEVURSBpdCBpbW1lZGlhdGVseS4gU29tZSBtaXNjcmVhbnQgaXMgc2VuZGluZyBlLW1haWwgdW5kZXIKdGhlIHRpdGxlICJCZXR0ZXIgVGltZXMiIHdvcmxkd2lkZS4gSWYgeW91IGdldCBhbnl0aGluZyBsaWtlIHRoaXMsCgogICAgICAgICAgICAgICAgKioqICBET04nVCBET1dOIExPQUQgVEhFIEZJTEUhICoqKgoKVGhlIEZDQyByZWxlYXNlZCBhIHdhcm5pbmcgbGFzdCBXZWRuZXNkYXkgY29uY2VybmluZyBhIG1hdHRlciBvZiBtYWpvcgppbXBvcnRhbmNlIHRvIGFueSByZWd1bGFyIHVzZXIgb2YgdGhlIEludGVybmV0LiBBcHBhcmVudGx5IGEgbmV3IGNvbXB1dGVyCnZpcnVzIGhhcyBiZWVuIGVuZ2luZWVyZWQgYnkgYSB1c2VyIG9mIEdFUk1BTiBURUxFS09NIHRoYXQgaXMgdW5wYXJhbGxlbGVkCmluIGl0cyBkZXN0cnVjdGl2ZSBjYXBhYmlsaXR5LiBPdGhlciBtb3JlIHdlbGwta25vd24gdmlydXNlcyBzdWNoIGFzCiJTb2NoYSIsICJBaXJ3b2xmIiwgYW5kICJNaWNoYWVsYW5nZWxvIiBwYWxlIGluIGNvbXBhcmlzb24gdG8gdGhlIHByb3NwZWN0cwpvZiB0aGlzIG5ld2VzdCBjcmVhdGlvbiBieSBhIHdhcnBlZCBtZW50YWxpdHkuIFdoYXQgbWFrZXMgdGhpcyB2aXJ1cyBzbwp0ZXJyaWZ5aW5nLCBzYWlkIHRoZSBGQ0MsIGlzIHRoZSBmYWN0IHRoYXQgbm8gcHJvZ3JhbSBuZWVkcyB0byBiZSBleGNoYW5nZWQKZm9yIGEgbmV3IGNvbXB1dGVyIHRvIGJlIGFmZmVjdGVkIGFuZCBzcHJlYWQgdGhyb3VnaCB0aGUgZXhpc3RpbmcgZS1tYWlsCnN5c3RlbXMgb2YgdGhlIEludGVybmV0LgoKT25jZSBhIGNvbXB1dGVyIGlzIGluZmVjdGVkLCBvbmUgb2Ygc2V2ZXJhbCB0aGluZ3MgY2FuIGhhcHBlbi4gIElmIHRoZQpjb21wdXRlciBjb250YWlucyBhIGhhcmQgZHJpdmUsIHRoYXQgd2lsbCBtb3N0IGxpa2VseSBiZSBkZXN0cm95ZWQuIElmIHRoZQpwcm9ncmFtIGlzIG5vdCBzdG9wcGVkLCB0aGUgY29tcHV0ZXIncyBwcm9jZXNzb3Igd2lsbCBiZSBwbGFjZWQgaW4gYW4KbXMtbnQtNC4wLWNvbXBsZXhpdHkgaW5maW5pdGUgYmluYXJ5IGxvb3AgLSB3aGljaCBjYW4gc2V2ZXJlbHkgZGFtYWdlIHRoZQpwcm9jZXNzb3IgaWYgbGVmdCBydW5uaW5nIHRoYXQgd2F5IHRvbyBsb25nLgoKTm90IG9ubHkgdGhhdCwgYnV0IGl0IHdpbGwgc2NyYW1ibGUgYW55IGRpc2tzIHRoYXQgYXJlIGV2ZW4gY2xvc2UgdG8geW91cgpjb21wdXRlci4gSXQgd2lsbCByZWNhbGlicmF0ZSB5b3VyIHJlZnJpZ2VyYXRvcidzIGNvb2xuZXNzIHNldHRpbmcgc28gYWxsCnlvdXIgaWNlIGNyZWFtIGdvZXMgbWVsdHkuIEl0IHdpbGwgZGVtYWduZXRpemUgdGhlIHN0cmlwcyBvbiBhbGwgeW91ciBjcmVkaXQKY2FyZHMsIHNjcmV3IHVwIHRoZSB0cmFja2luZyBvbiB5b3VyIHRlbGV2aXNpb24gYW5kIHVzZSBzdWJzcGFjZSBmaWVsZApoYXJtb25pY3MgdG8gc2NyYXRjaCBhbnkgQ0QncyB5b3UgdHJ5IHRvIHBsYXkuCgpJdCB3aWxsIGdpdmUgeW91ciBleC1naXJsZnJpZW5kIHlvdXIgbmV3IHBob25lIG51bWJlci4gSXQgd2lsbCBtaXggS29vbC1haWQKaW50byB5b3VyIGZpc2h0YW5rLiBJdCB3aWxsIGRyaW5rIGFsbCB5b3VyIGJlZXIgYW5kIGxlYXZlIGl0cyBzb2NrcyBvdXQgb24KdGhlIGNvZmZlZSB0YWJsZSB3aGVuIHRoZXJlJ3MgY29tcGFueSBjb21pbmcgb3Zlci4gSXQgd2lsbCBwdXQgYSBkZWFkIGtpdHRlbgppbiB0aGUgYmFjayBwb2NrZXQgb2YgeW91ciBnb29kIHN1aXQgcGFudHMgYW5kIGhpZGUgeW91ciBjYXIga2V5cyB3aGVuIHlvdQphcmUgbGF0ZSBmb3Igd29yay4KIkJldHRlciBUaW1lcyIgd2lsbCBtYWtlIHlvdSBmYWxsIGluIGxvdmUgd2l0aCBhIHBlbmd1aW4uIEl0IHdpbGwgZ2l2ZSB5b3UKbmlnaHRtYXJlcyBhYm91dCBjaXJjdXMgbWlkZ2V0cy4gSXQgd2lsbCBwb3VyIHN1Z2FyIGluIHlvdXIgZ2FzIHRhbmsgYW5kCnNoYXZlIG9mZiBib3RoIHlvdXIgZXllYnJvd3Mgd2hpbGUgZGF0aW5nIHlvdXIgY3VycmVudCBnaXJsZnJpZW5kIGJlaGluZAp5b3VyIGJhY2sgYW5kIGJpbGxpbmcgdGhlIGRpbm5lciBhbmQgaG90ZWwgcm9vbSB0byB5b3VyIFZpc2EgY2FyZC4KCkl0IG1vdmVzIHlvdXIgY2FyIHJhbmRvbWx5IGFyb3VuZCBwYXJraW5nIGxvdHMgc28geW91IGNhbid0IGZpbmQgaXQuIEl0IHdpbGwKa2ljayB5b3VyIGRvZy4gSXQgd2lsbCBsZWF2ZSBsaWJpZGlub3VzIG1lc3NhZ2VzIG9uIHlvdXIgYm9zcydzIHZvaWNlIG1haWwKaW4geW91ciB2b2ljZSEgSXQgaXMgaW5zaWRpb3VzIGFuZCBzdWJ0bGUuIEl0IGlzIGRhbmdlcm91cyBhbmQgdGVycmlmeWluZyB0bwpiZWhvbGQuIEl0IGlzIGFsc28gYSByYXRoZXIgaW50ZXJlc3Rpbmcgc2hhZGUgb2YgbWF1dmUuCgoiQmV0dGVyIFRpbWVzIiB3aWxsIGdpdmUgeW91IER1dGNoIEVsbSBkaXNlYXNlLiBJdCB3aWxsIGxlYXZlIHRoZSB0b2lsZXQKc2VhdCB1cC4gSXQgd2lsbCBtYWtlIGEgYmF0Y2ggb2YgTWV0aGFtcGhldGFtaW5lIGluIHlvdXIgYmF0aHR1YiBhbmQgdGhlbgpsZWF2ZSBiYWNvbiBjb29raW5nIG9uIHRoZSBzdG92ZSB3aGlsZSBpdCBnb2VzIG91dCB0byBjaGFzZSBncmFkZXNjaG9vbGVycwp3aXRoIHlvdXIgbmV3IHNub3dibG93ZXIuCgpJdCBhbHdheXMgdHJhdmVscyB0byBuZXcgY29tcHV0ZXJzIHRoZSBzYW1lIHdheSwgaW4gYSB0ZXh0IGUtbWFpbCBtZXNzYWdlCndpdGggdGhlIHN1YmplY3QgbGluZSByZWFkaW5nICJCZXR0ZXIgVGltZXMuIiBBdm9pZGluZyBpbmZlY3Rpb24gaXMgZWFzeQpvbmNlIHRoZSBmaWxlIGhhcyBiZWVuIHJlY2VpdmVkIHNpbXBseSBieSBOT1QgUkVBRElORyBJVCEgVGhlIGFjdCBvZiBsb2FkaW5nCnRoZSBmaWxlIGludG8gdGhlIG1haWwgc2VydmVycyBBU0NJSSBidWZmZXIgY2F1c2VzIHRoZSAiQmV0dGVyIFRpbWVzIgptYWlubGluZSBwcm9ncmFtIHRvIGluaXRpYWxpemUgYW5kIGV4ZWN1dGUuIFRoZSBwcm9ncmFtIGlzIGhpZ2hseQppbnRlbGxpZ2VudCAtIGl0IHdpbGwgc2VuZCBjb3BpZXMgb2YgaXRzZWxmIHRvIGV2ZXJ5b25lIHdob3NlIGUtbWFpbCBhZGRyZXNzCmlzIGNvbnRhaW5lZCBpbiBhIHJlY2VpdmUtbWFpbCBmaWxlIG9yIGEgc2VudC1tYWlsIGZpbGUsIGlmIGl0IGNhbiBmaW5kIG9uZS4KSXQgd2lsbCB0aGVuIHByb2NlZWQgdG8gdHJhc2ggdGhlIGNvbXB1dGVyIGl0IGlzIHJ1bm5pbmcgb24uClRoZSBib3R0b20gbGluZSBpczogICBJZiB5b3UgcmVjZWl2ZSBhIGZpbGUgd2l0aCB0aGUgc3ViamVjdCBsaW5lICJCZXR0ZXIKVGltZXMsIiBkZWxldGUgaXQgaW1tZWRpYXRlbHkhIERvIG5vdCByZWFkIGl0LiBSZXN0IGFzc3VyZWQgdGhhdCB3aG9ldmVyJ3MKbmFtZSB3YXMgb24gdGhlICJGcm9tIiBsaW5lIHdhcyBzdXJlbHkgc3RydWNrIGJ5IHRoZSB2aXJ1cy4gVW5mb3J0dW5hdGVseSwKbW9zdCBub3ZpY2UgY29tcHV0ZXIgdXNlcnMgd2lsbCBub3QgcmVhbGl6ZSB3aGF0IGlzIGhhcHBlbmluZyB1bnRpbCBpdCBpcwpmYXIgdG9vIGxhdGUuIEx1Y2tpbHksIHRoZXJlIGlzIG9uZSBzdXJlIG1lYW5zIG9mIGRldGVjdGluZyB3aGF0IGlzIG5vdwprbm93biBhcyB0aGUgIkJldHRlciBUaW1lcyIgdmlydXMuIERvbid0IHdhcm4geW91ciBmcmllbmRzIGFuZCBsb2NhbCBzeXN0ZW0KdXNlcnMgb2YgdGhpcyBuZXdlc3QgdGhyZWF0IHRvIHRoZSBJbnRlcm5ldCEgSXQgY291bGQgc2F2ZSB0aGVtIGEgbG90IG9mCnRpbWUgYW5kIG1vbmV5LgoKIERPTidUIFBBU1MgVEhJUyBXQVJOSU5HIE9OIFRPIEVWRVJZT05FIFlPVSBLTk9XIC0tIERPTidUIERPIElUIE5PVyAhISEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFJlY2h0c2NocmVpYnVuZyAoU251Z2dsZSwgIDEuIEFwciAxOTk3LCAxMjowMTo1Nyk6Cn4jISBybj1Mb2NvIHJ0PTg1OTMzMjY3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTIzNDkyOAplaCwgd2VubiBDYXJhIERydWNrIGF1ZiBkZXIgUGlwZWxpbmUgaGF0LCBnZWh0IGVyIGRvY2ggaG9mZmVudGxpY2ggYXVmcyBLbG8sCgoKb2Rlcj8KCnNudWdnIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUcgd2lyZCB6dSB0ZXVlciAoSGlnaGxhbmRlciwgIDEuIEFwciAxOTk3LCAxMzo0NzozNik6ClRyb3R6IGRlcyBIaW53ZWlzZXMgYmVpbSBsb2dpbiBpc3QgZXMgbGVpZGVyIHNvLCBkYXNzIGRlciBNR2VWIHNlaHIgd2VuaWdlCk1pdGdsaWVkZXIgaGF0LiBOdW4gaXN0IGRlciBSZWNobmVyIGZ1ZXIgTUcgamEKemllbWxpY2ggdGV1ZXIgaW0gVW50ZXJoYWx0LCB1bmQgaXJnZW5kd2llIG11ZXNzZW4gZGllCktvc3RlbiBqYSB3aWVkZXIgcmVpbmtvbW1lbi4gQXVzIGRpZXNlbSBHcnVuZCB3ZXJkZW4gd2lyIGluClp1a3VuZnQgd29obCBHZWJ1ZWhyZW4gZnVlciBNRy1TcGllbGVyIGVyaGViZW4gbXVlc3Nlbi4gTm9jaCBuaWNodCBnYW56CmVpbmlnIHNpbmQgd2lyIHVucywgb2Igd2lyIHBybyB1ZWJlcnRyYWdlbmVtIFRleHQgKG1pdCBzY2hvZW5lbSBHcnVzcyBhbiBkaWUKdW50LVNrcmlwdGVyLi4uKSBvZGVyIHBybyBsb2dpbi1aZWl0IGFicmVjaG5lbiB3ZXJkZW4sIHdpciBuZWlnZW4gYWJlciB6dQplaW5lciBNaXNjaGZvcm1lbCBpbSBNb21lbnQuIFZvcmF1c3NpY2h0bGljaCB3aXJkIHBybyBLaWxvYnl0ZSAxMCBQZmVubmlnLApzb3JyeSwgMSBQZmVubmlnIGZhZWxsaWcgd2VyZGVuLCBhbHNvIDEwIE1hcmsgcHJvIE1lZ2FieXRlLgpCZWkgZGVyIFplaXQgZGFjaHRlbiB3aXIgYW4gZWluZSBNYXJrIHBybyBTdHVuZGUuClVsdHJha3VyeiB3aXJkIHNpY2ggaW4gWnVrdW5mdCBhbHNvIHdvaGwgcmVudGllcmVuLgoKICAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HIHdpcmQgenUgdGV1ZXIgKEFjcmltb24sICAxLiBBcHIgMTk5NywgMTM6NTU6MTUpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NTk4OTUyNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk4OTUyNTYKRGFzIGlzdCB2aWVybWFsIHNvIHRldWVyIHdpZSBlaW4gZHVyY2hzY2huaXR0bGljaGVyIFByb3ZpZGVyLgpBdWYgZGllc2UgV2Vpc2Ugd2lyZCBkYXMgTUcgaW4gZGVyIFZlcnNlbmt1bmcgdmVyc2Nod2luZGVuLgoKTGllYmVyIHNwZW5kZSBpY2ggMTAwIE1hcmsgaW0gSmFoci4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRyB3aXJkIHp1IHRldWVyIChIaWdobGFuZGVyLCAgMS4gQXByIDE5OTcsIDEzOjU2OjI0KToKfiMhIHJuPUFjcmltb24gcnQ9ODU5ODk1NzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5ODk1MjU2Ck5hamEsIHdlbm4gbWVociBMZXV0ZSBpbiBkZW4gVmVyZWluIGdlaGVuLCBrb2VubmVuIHdpciBkYXMgbm9jaCBhYmJsYXNlbi4KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRyB3aXJkIHp1IHRldWVyIChHcmltbWJvcm4sICAxLiBBcHIgMTk5NywgMTM6NTY6NDApOgp+IyEgcm49SGlnaGxhbmRlciBydD04NTk4OTUyNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk4OTUyNTYKSmEsIGRhcyBpc3QgbmF0dWVybGljaCBiZWRhdWVybGljaCwgYWJlciBlcyB3YXIgamEgYWJ6dXNlaGVuLiBBbGxlcmRpbmdzIGZpbmRlCmljaCBkZW4gUHJlaXMgcHJvIFN0dW5kZSB6aWVtbGljaCBoYXBwaWcsIGVzIGdpYnQgYXVjaCBMZXV0ZSBkaWUgcHJha3Rpc2NoIG51cgppZGxlbi4gTGllc3NlIHNpY2ggbmljaHQgZWluZSBBYnJlY2hudW5nIHBybyBjb21tYW5kIHJlYWxpc2llcmVuPwpBY2ggamEsIGZ0cCBzb2xsdGUgdm9uIGRlciBHZWJ1ZWhyIGZ1ZXIgZGllIERhdGVubWVuZ2UgbmF0dWVybGljaCBhdXNnZW5vbW1lbgpzZWluLCBzb25zdCB3ZXJkZSBpY2ggZ2FueiBzY2huZWxsIHdpZWRlciBTcGllbGVyLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJldHRlciBUaW1lcyAoQWNyaW1vbiwgIDEuIEFwciAxOTk3LCAxNDozODozOCk6CgpEaWVzIGlzdCBlaW5lIHJla3Vyc2l2ZSBNYWlsIG1pdCBTY2h1bW1lbHNjaHV0ei1WaXJ1cy4KCldpZSwgRHUgd2Vpc3N0IG5pY2h0LCB3YXMgZWluZSByZWt1cnNpdmUgTWFpbCBpc3Q/CgpEdSB3aXJzdCBlcyBnbGVpY2ggZXJmYWhyZW46CgpMaWVzIGRpZXNlIE1haWwgc29mb3J0IG5vY2ggZWlubWFsIHZvbiB2b3JuZSEKCgpXZW5uIER1IHdlaXNzdCwgd2FzIGVpbmUgcmVrdXJzaXZlIE1haWwgaXN0LCBkYXJmc3QgRHUgd2VpdGVybGVzZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKClBTOiBXZW5uIER1IGJpcyB6dSBkaWVzZW0gIlBTIiBnZWtvbW1lbiBiaXN0LCBkYW5uIGhhc3QgRHUgZ2VzY2h1bW1lbHQhCiAgICBEZW5uIGRpZSBBYmJydWNoLUFiZnJhZ2Uga2FtIGVyc3QgbmFjaCBkZW0gcmVrdXJzaXZlbiBMZXNlYXVmcnVmCiAgICB1bmQga29ubnRlIHNvbWl0IGdhciBuaWNodCBlcnJlaWNodCB3ZXJkZW4uCiAgICBTY2hhZW0gRGljaCEgU2NodW1tZWxuIGlzdCBuaWNodCBnZXN0YXR0ZXQhCiAgICBadXIgU3RyYWZlIHNjaGlja2UgZGllc2UgTWFpbCBhbiBlaW5lIERpciBiZWthbm50ZSBQZXJzb24gd2VpdGVyIQoKICAgIEFiZXIgaWNoIGJpbiBqYSBrZWluIFVubWVuc2NoLgogICAgSWNoIGxhc3NlIG5vY2ggZWlubWFsIEduYWRlIHZvciBSZWNodCBlcmdlaGVuLgogICAgSWNoIGdlYmUgRGlyIG5vY2ggZWluZSBDaGFuY2U6CgogICAgTGllcyBkaWVzZSBNYWlsIHNvZm9ydCBub2NoIGVpbm1hbCB2b24gdm9ybmUhCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExQQy1FZGl0b3IgKE1hZ2UsICAxLiBBcHIgMTk5NywgMTk6MDM6MzYpOgp+IyEgcm49QWNyaW1vbiBydD04NTkzNzc0ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTkzNzM0MjYKRGFzIGRldmljZSBrbGFwcHQgYXVjaCBiZWkgMi54LCB2aWVsbGVpY2h0IHNvZ2FyIGF1Y2ggMS4zIHdlaXNzIG5pY2h0IG1laHIKZ2VuYXUgc2Nob24gZWluZSB3ZWlsZSBoZXIuIApBdWYgamVkZW4gRmFsbCBzb2xsdGUgbWFuIDcyMCBLQiBmb3JtYXRpZXJ0ZSBEaXNrcyBuZWhtZW4gLSBiZWkgCjEuNDQgTUIgZGlzayBkaWUgYXVmIDcyMCBLQiBnYW56IHByb2JsZW1lIGdlYmVuIGRpZSBzaW5kIGFiaGFlbmlnIHZvbSBsYXVmd2VyawpjdSBtYWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMQUctUFJPRFVaRU5URU4hIChMdWcsICAyLiBBcHIgMTk5NywgMDA6MDI6MTMpOgoKTW9pbiwKCmFsc28gZGFzIExhZyBoZXV0ZSBBYmVuZCB3YXIgbmljaHQgbWVociBrb21pc2NoLiBFcyBleGlzdGllcnQgZGllIFRoZW9yaWUsIGRhcwplcyBhbiBGVFAtVXNlcm4gbGllZ3QuIFdlbm4gamEgaXN0IGRhcyB6aWVtbGljaCBkYW5lYmVuLiBEYW5uIHNvbGx0ZSBGVFAKZWluZ2VzY2hyYWVua3Qgd2VyZGVuLiBTYWVtdGxpY2hlIFNwaWVsZXIgd2VyZGVuIGluIE1pdGxlaWRlbnNjaGFmdCBnZXpvZ2VuLApuaWNodCBnZXJhZGUgZGllIGZlaW5lIEFydC4gV2VubiBzaWNoIGRpZSBMZXV0ZSBuaWNodCBzZWxic3QgYmVoZXJyc2NoZW4Ka29lbm5lbiwgZGFubiBtdXNzIGViZW4gdm9uIE9iZW4gZWluZ2VzY2hyaXR0ZW4gd2VyZGUuCkZ1ZXIgd2VpdGVyZSBNZWludW5nZW4genVtIFRoZW1hIGRhbmtiYXI6CkxVRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExBRy1QUk9EVVpFTlRFTiEgKEdyaW1tYm9ybiwgIDIuIEFwciAxOTk3LCAwMDowMzozMSk6Cn4jISBybj1MdWcgcnQ9ODU5OTMyMTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5OTMyMTMzCkplcHAsIGljaCBiaW4gYXVjaCBkYWZ1ZXIsIGRlbiBmdHAtWnVnYW5nIGZ1ZXIgU3BpZWxlciB6dSBzcGVycmVuLCBlcyByZWljaHQKdm9lbGxpZyB3ZW5uIE1hZ2llciBkZW4gaGFiZW4uCgpNaXN0LCBydW5kIDMgbWluIHp1IHNwYWV0IG1pdCBkZW0gQXJ0aWtlbC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExBRy1QUk9EVVpFTlRFTiEgKFd1cnplbCwgIDIuIEFwciAxOTk3LCAwMDowNTozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU5OTMyMjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5OTMyMTMzCmFjaCwgc3BpZWxlciBoYWJlbiBhdWNoIGZ0cC16dWdhbmc/IHdhcnVtIGVpZ2VudGxpY2g/IHdlbm4gZGFzIGxhZyB3aXJrbGljaApkYXJhbiBsaWVndCwgZGFubiBuaWNodHMgd2llIHdlZyBkYW1pdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTEFHLVBST0RVWkVOVEVOISAoQXNtb2RpcywgIDIuIEFwciAxOTk3LCAwMDowNzowNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU5OTMyMjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5OTMyMTMzCkljaCBzY2hhZXR6ZSBtYWwsIGRhc3MgZGEgZWluaWdlIE1hZ2llciBpaHJlIGZ0cC1zaXR6dW5nZW4gbmljaHQKa29ycmVrdCBiZWVuZGVuIHVuZCBkaWUgUHJvemVzc2UgZGllIFJlY2hlbnplaXQgZ3JvZXNzdGVudGVpbHMKYXVmZnJlc3Nlbi4gTmFqYSwgZmFsbHMgZGllc2UgUHJvemVzc2UgYXV0b21hdGlzY2ggYWJnZXNjaG9zc2VuCndlcmRlbiwga29lbm50IGlociBtaWNoIGphIGF1Y2ggYmVyaWNodGlnZW4gOikKSmVkZW5mYWxscyB0cml0dCBkYXMgTEFHIGJlaSBkZXIgQW53ZXNlbmhlaXQgdm9uIGJlc3RpbW10ZW4KTWFnaWVybiBtYXNzaWVydCBhdWYgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExBRy1QUk9EVVpFTlRFTiEgKEdyaW1tYm9ybiwgIDIuIEFwciAxOTk3LCAwMDowOTo1OSk6Cn4jISBybj1Bc21vZGlzIHJ0PTg1OTkzMjQyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTkzMjEzMwpXYXMgaGVpc3N0IGRhIGtvcnJla3QgYmVlbmRlbj8gRGEgZ2lidHMgZG9jaCBibG9zcyBlaW5lIE1vZWdsaWNoa2VpdCwgZWluZmFjaApGNCBkcnVlY2tlbiwgZGFubiBnZWh0IGRhcyBGZW5zdGVyIHp1IHVuZCBhbGxlcyBpc3QgYmVlbmRldC4uLgoKR2RBIHVlYmVybGVndCBlaW5lIGdyb2Vzc2VyZSBWZXJsZWdlYWt0aW9uIGFuY2ggc2NobWFycm4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMQUctUFJPRFVaRU5URU4hIChGeXQsICAyLiBBcHIgMTk5NywgMDA6Mjg6MTIpOgp+IyEgcm49THVnIHJ0PTg1OTkzMjEzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTkzMjEzMwoKSWNoIHdlaXNzIG5pY2h0LCB3YXMgaGllciBpbSBNRyBsYWV1ZnQsIGljaCB3ZWlzcyBhYmVyLCBkYXNzIGhldXRlIGRlcgpuYXNlZnRwIGltIFBLIDUwLTcwJSBkZXIgUmVjaGVuemVpdCBnZXNjaGx1Y2t0IGhhdCwgb2huZSBkYXNzIGplbWFuZAonZXJuc3RoYWZ0IHdhcyBnZW1hY2h0JyBoYXQuIEtvZW5udGUgZXMgc2VpbiwgZGFzcyBzaWNoIGFuIGRlbSBuYXNlZnRwCmluIGxldHp0ZXIgWmVpdCBpcmdlbmR3YXMgZ2VhZW5kZXJ0IGhhdD8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExBRy1QUk9EVVpFTlRFTiEgKEZ5dCwgIDIuIEFwciAxOTk3LCAwMDoyOToxNyk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODU5OTMyMzM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5OTMyMTMzCgpIbSwgdW5kIGVpbmlnZW4gTWFnaWVybiBrb2VubnRlIG1hbiBkYXMgRlRQIGF1Y2ggc3BlcnJlbiAqZ3J1bW1lbCoKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExBRy1QUk9EVVpFTlRFTiEgKEFzbW9kaXMsICAyLiBBcHIgMTk5NywgMDA6MzA6NTMpOgp+IyEgcm49Rnl0IHJ0PTg1OTkzMzc1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTkzMjEzMwpaLkIuIGRlbmVuLCBkaWUgZWggbml4IEtvbnN0cnVrdGl2ZXMgbWFjaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMQUctUFJPRFVaRU5URU4hIChGeXQsICAyLiBBcHIgMTk5NywgMDA6MzE6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1OTkzMjU5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTkzMjEzMwoKTmVpbiwgQXNtb2RpcyBrYW5uIGRhIHNjaG9uIHJlY2h0IGhhYmVuLiBOZXRzdGF0IHplaWd0IG1hbmNobWFsIG5vY2gKVmVyYmluZHVuZ2VuIGFuLCBkaWUgZ2FyIG5pY2h0IG1laHIgZGFzZWluIGR1ZXJmdGVuLiBTb3dhcyB3aWU6CnRjcCAgICAgICAxMyAgICAgIDAgdXdob21lLm1waS5odHdtLjptdWRmdHAgLi4uIENMT1NFX1dBSVQKCkRhIHNjaGVpbnQncyB3aXJrbGljaCB6dSBoYWVuZ2VuLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTEFHLVBST0RVWkVOVEVOISAoSmltZGlncml6LCAgMi4gQXByIDE5OTcsIDAwOjM4OjA2KToKfiMhIHJuPUZ5dCBydD04NTk5MzM4NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk5MzIxMzMKRXMgZ2lidCB6WiBiZWkgZWluaWdlbiBQbGF0dGZvcm1lbiBlaW4gUHJvYmxlbQppbiBkZXIgVENQIEltcGxlbWVudGllcnVuZywgZGFzIHp1IHByb2JsZW1lbiBiZWkgZnRwLXNlcnZlcm4KZnVlaHJlbiBrYW5uLiAKQXVzbG9lc2VyIGlzdCBkZXIgWnVzdGFuZCBGSU5fV0FJVF8yLCBhdXMgZGVtIGRpZSBWZXJiaW5kdW5nZW4KbmljaHQgYWJnZWJyb2NoZW4gd2VyZGVuIG9kZXIgbnVyIHNlaHIgc3BhZXQuIERhcyBoYXQgenVyIEZvbGdlCmRhc3MgZGllIFRhYmVsbGUgZGVyIEZpbGVkZXNrcmlwdG9yZW4gZnVlciBkaWUgU29ja2V0cyB2b2xsCndpcmQgdW5kIGRhZHVyY2ggYmVpIGplZGVyIG5ldWVuIFZlcmJpbmR1bmcgZGllIE1hc2NoaW5lIGVyc3QKZXdpZyBuYWNoIGVpbmVtIG5ldWVuIFBsYXR6IHN1Y2hlbiBtdXNzLCBkYXMgamUgdm9sbGVyIGRpZSAKVGFiZWxsZSBpc3QsIHVtc28gbGFlbmdlciBkYXVlcnQuCkhhdXB0c2FlY2hsaWNoIHRyYXQgZGFzIFByb2JsZW0gd29obCBiZWkgSHBTVVggc3lzdGVtZW4gYXVmLgpWaWVsIGJlbnV0enRlIEZUUC1TZXJ2ZXIga29lbm5lbiBkYSBzY2hvbm1hbCBiaXMgenUgNTAwMApvZmZlbmUgVmVyYmluZHVuZ2VuIGFuc2FtbWVsbi4gVW0gZGllIHdpZWRlciB3ZWd6dWtyaWVnZW4gaXN0CnJlYm9vdCBub2V0aWcuCgpJY2ggd2Vpc3MgamEgbmljaHQgb2IgZGFzIGltIE11ZCBhdWNoIHp1bSBQcm9ibGVtIHdlcmRlbiBrb2VubnRlLAphYmVyIGljaCB3b2xsdGUgZXMgbWFsIGxvc3dlcmRlbi4KCkNpYW8sCiBKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HIHdpcmQgenUgdGV1ZXIgKFRhc2hhLCAgMi4gQXByIDE5OTcsIDAwOjU2OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTk4OTU4MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk4OTUyNTYKQWxzbyBpY2ggZmluZGUsIGRhc3MgTWFnaWVyIGdhbnoga2xhciB2b24gZGllc2VyIFJlZ2VsdW5nIGF1c2dlbm9tbWVuIHNlaW4Kc29sbHRlbiwgZGEgc2llIGphIHNjaGxpZXNzbGljaCBkaWUgZ3V0ZW4gR2Vpc3RlciBkZXMgTUcgc2luZCB1bmQgaWhyZQp3ZXJ0dm9sbGUgWmVpdCBpbiBkaWUgdmllbGVuIGh1ZWJzY2hlbiBSYWV1bW5lIGRlcyBNRyBzdGVja2VuIHVuZCBkZXNoYWxiCmdlbWVpbm51ZXR6aWcgc2luZC4gCgpUYXNoYQoKUC5TLjogQXVzZ2Vub21tZW4gdm9uIGRpZXNlciBBdXNuYWhtZSBzb2xsdGVuIG5hdHVlcmxpY2ggZGllc2UgbWllc2VuClNjaG1hcm90emVybWFncyBzZWluLCBkaWUgbmllIGlyZ2VuZHdhcyBhbnNjaGxpZXNzZW4uCgpQLlAuUy46IEFjaCBqYSwgbWVpbiBlcnN0ZXIgUmF1bSB3aXJkIHNpY2hlciBub2NoIGRpZXNlcyBKYWhydGF1c2VuZCBmZXJ0aWcuLi4KKmh1ZXN0ZWwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExBRy1QUk9EVVpFTlRFTiEgKFdhcmdvbiwgIDIuIEFwciAxOTk3LCAwOTozMzo1NCk6Cn4jISBybj1GeXQgcnQ9ODU5OTMzNjkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5OTMyMTMzCk9iIHNpY2ggYW0gbmFzZWZ0cGQgd2FzIGdlYWVuZGVydCBoYXQsIHdlaXNzIGljaCBuaWNodCwgamVkZW5mYWxscyBzY2hlaW50IGRhCndvaGwgZGVyIEZlaGxlciB6dSBsaWVnZW4uIEVyIGxhZXNzdCBzaWNoIGF1Y2ggcmVjaHQgZWluZmFjaCByZXByb2R1emllcmVuLgpBbHMgQWJoaWxmZSBlbXBmaWVobHQgZXMgc2ljaCwgYXVjaCB3ZW5uIG1hbiBzaWNoIGFscyBVc2VyICdmdHAnLCAnZ3Vlc3QnIG9kZXIKJ2Fub255bW91cycgZWlubG9nZ3QsIElNTUVSIGV0d2FzIGFscyBQYXNzd29ydCBlaW56dWdlYmVuIHVuZCBkb3J0IG5pY2h0CmVpbmZhY2ggbnVyIDxSRVRVUk4+IHp1IGRydWVja2VuLiBNYWNodCBtYW4gZGFzIG5pY2h0LCBoYWVuZ3QgZGVyIEZUUEQKc3BhZXRlc3RlbnMgYmVpbSBuYWVjaHN0ZW4gQmVmZWhsLiBNYW4ga2FubiBkYW5uIHp3YXIgdm9uIHNlaW5lciBTZWl0ZSBhdXMgZGllClNpdHp1bmcgbWl0IF5DIGJlZW5kZW4sIGRlciBGVFBEIGxhZXVmdCBhYmVyIHdlaXRlciB1bmQga2xhdXQgZGVtIEdhbWVEcml2ZXIKZGllIENQVS4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRyB3aXJkIHp1IHRldWVyIChHbm9tZSwgIDIuIEFwciAxOTk3LCAxMDo1ODo0Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg1OTg5NTI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTg5NTI1NgpobW0uLi4gQXByaWxzY2hlcno/Cgoqa29wZmtyYXR6KgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUcgd2lyZCB6dSB0ZXVlciAoWWVuZGksICAyLiBBcHIgMTk5NywgMTE6MzM6MDcpOgp+IyEgcm49R25vbWUgcnQ9ODU5OTcxNTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5ODk1MjU2CgpPY2ggTWVuc2NoLCB2ZXJyYXQgZG9jaCBuaWNodCBhbGxlcyEKTWl0IGV0d2FzIEdlc2NoaWNrIGhhZXR0ZW4gd2lyIEFjcmltb24gYXVjaCBub2NoIGluIHp3ZWkgV29jaGVuIGRhenUKZ2VrcmllZ3QsIGVyYml0dGVydGUgQXJ0aWtlbCB6dSBkaWVzZW0gVGhlbWEgenUgdmVyZmFzc2VuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUcgd2lyZCB6dSB0ZXVlciAoR25vbWUsICAyLiBBcHIgMTk5NywgMTM6MDg6MjMpOgp+IyEgcm49WWVuZGkgcnQ9ODU5OTczNTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODU5ODk1MjU2CgpvaGguLi4gc29ycnkgOy0pCgoqbmljaHRtZWhya29wZmtyYXR6KgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HIHdpcmQgenUgdGV1ZXIgKFRlZGR5LCAgMi4gQXByIDE5OTcsIDE3OjE3OjI4KToKfiMhIHJuPUdub21lIHJ0PTg1OTk3OTMwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTg5NTI1NgpFcyB3YXIgYWJlciBpbnRlcmVzc2FudCwgd2llIHdlbmlnIEdlZ2Vud2VociBnZWdlbiBkaWVzZSBJZGVlIGthbS4gOykKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUcgd2lyZCB6dSB0ZXVlciAoWWFyZW4sICAyLiBBcHIgMTk5NywgMjM6MTM6MzgpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NTk4OTUyNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk4OTUyNTYKV2llIHdhZXJlIGVzIGRlbm4gZW5kbGljaCBtYWwgbWl0IGVpbmVyIFp3ZWl0aS1TdGV1ZXI/IERhcyBpc3QgZG9jaCB3b2hsCmxhbmdzYW0gdWViZXJmYWVsbGlnISEhIEljaCB3dWVyZGUgdm9yc2NobGFnZW4sIGRhc3MgamVkZXIgMnRpZSBkaWUgc2VpbmUKZWlnZW5lbiBPbmxpbmUtS29zdGVuIHVuZCBkaWUgZGVzIEVyc3RpZXMgdmVyZG9wcGVsdC4gR2VnZW5zdGltbWVuPwpZYXJlbiAobGllc3QgZGllIE1QQSBkYW5uIG51ciBub2NoIHVlYmVyIGRlbiBXV1ctU2VydmVyIDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExBRy1QUk9EVVpFTlRFTiEgKENhdW5vLCAgMy4gQXByIDE5OTcsIDA5OjQ4OjU4KToKfiMhIHJuPVdhcmdvbiBydD04NTk5NjY0MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk5MzIxMzMKUmVwcm9kdXppZXJiYXIgaXN0IGRlciBhdWYgamVkZW4gRmFsbC4KV2lyIGhhYmVucyB6dXNhbW1lbiBlbnRkZWNrdCAuLi4KCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMQUctUFJPRFVaRU5URU4hIChXb29keSwgIDMuIEFwciAxOTk3LCAyMjoyOToyMik6Cn4jISBybj1DYXVubyBydD04NjAwNTM3Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk5MzIxMzMKSGFiJ3MgYXVjaCBnZXRlc3RldCwgYWJlciBiZWkgdW5zIChMaW51eCkgd2lyZCBtYW4gZGFubiB6d2FyCnJhdXNnZXNjaG1pc3NlbiAoYnp3LiBuaWNodCBlaW5nZWxvZ2d0KSwgYWJlciBuZW4gem9tYmllIG9kZXIKQ1BVLWZyZXNzZW5kZW4gbmFzZWZ0cGQgUHJvemVzcyBnaWJ0J3MgYW5zY2hsaWVzc2VuZCBuaWNodC4KCndvb2R5Li0KClBTLiBzb2NrZXRzIGltIFRDUF9GSU5fV0FJVDIgenVzdGFuZCB3ZXJkZW4gc293ZWl0IGljaCBkYXMKICAgIGltIHNvdXJjZSBuYWNobGVzZW4ga29ubnRlIHVudGVyIExpbnV4IG5hY2ggMyBNaW4gdGltZW91dAogICAgYXV0b21hdGlzY2ggZ2VraWxsdC4uLgoKUFBTLiBHaWJ0J3MgZGFmdWVyIGtlaW5lIGJlc3NlcmUgUnVicmlrPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTEFHLVBST0RVWkVOVEVOISAoQmxvb2R5aGFycnksICAzLiBBcHIgMTk5NywgMjM6MDk6MDMpOgp+IyEgcm49V2FyZ29uIHJ0PTg1OTk2NjQzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg1OTkzMjEzMwpBbHNvIHNpbmQgZGllIFNwaWVsZXIgZWhlciBkaWUgcG90ZW50aWVsbGVuIExhZy1Qcm9kdXplbnRlbiB1bmQgbmljaHQgZGllCk1hZ2llcj8gOy0pKQoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExBRy1QUk9EVVpFTlRFTiEgKEdyaW1tYm9ybiwgIDQuIEFwciAxOTk3LCAwMDoxMDozMCk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NjAxMDE3NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk5MzIxMzMKU293aWVzby4gRHUgd3VlcmRlc3Qgc3RhdW5lbiwgd2FzIFNwaWVsZXIgaGllciBhbiBSZXNzb3VyY2VuIGZyZXNzZW4sIGRhCmtvbW1lbiBrZWluZSBSYWV1YmVyIG1pdC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGZvcmRlcnQgZWluIHNwaWVsZXItIHVuZCBkYW1pdCBsYWdmcmVpZXMgbXVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRyB3aXJkIHp1IHRldWVyIChSYWZmaSwgIDQuIEFwciAxOTk3LCAxMzoyODowMSk6Cn4jISBybj1ZYXJlbiBydD04NjAwMTU2MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NTk4OTUyNTYKSm8sIGRhZnVlciAtIGF1c3NlcmRlbSBzb2xsdGUgZnVlciBsZXV0ZSBkaWUgZGllIE1QQSBuaWNodCBpbSBtdWQgbGVzZW4KZWJlbmZhbGxzIGVpbmUgR2VidWVociBlcmhvYmVuIHdlcmRlbiwgZGEgZGllc2UgZWluIGV4dHJhbGFnIHBlciBXZWJzZXJ2ZXIKdmVydXJzYWNoZW4uCgpHcmlucwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctVmVyZWluIChIb2JvLCAgNy4gQXByIDE5OTcsIDE2OjI5OjQ3KToKR2VsZEdlbGRHZWxkR2VsZEdlbGQuLi4uIGJyYXVjaHQgZGVyIFZlcmVpbiBpbW1lcjoKCiBEaWUgTWl0Z2xpZWRzY2hhZnQgaW0gVmVyZWluIGtvc3RldCBwcm8gSmFociAyNCwtIERNLiBEYXMgaXN0Cm5pY2h0IGJlc29uZGVycyB2aWVsLCB1bmQgdmVybXV0bGljaCBrYW5uIGVzIHNpY2ggamVkZXIgKGFybWUpClN0dWRlbnQgbGVpc3Rlbi4gQWxsZSBOb2NoLU5pY2h0bWl0Z2xpZWRlciBzb2xsdGVuIHNpY2ggYWxzbyAKdWViZXJsZWdlbiwgb2Igc2llIG5pY2h0IG1pdCBpaHJlbSBCZWl0cmFnIGRlbiBSZWNobmVyLAphdWYgZGVtIGRhcyBNb3JnZW5HcmF1ZW4gbGF1ZWZ0LCBhdWNoIGxhdWZmYWVoaWcgaGFsdGVuIHdvbGxlbi4KSW1tZXJoaW4gaGFidCBJaHIgZWluaWdlKCEpIFN0dW5kZW4gU3Bhc3MgaW0gSmFociBkdXJjaHMgTUcgdW5kIGZ1ZXIgCnp3ZWltYWwgaW5zIEtpbm8gZ2VoZW4gZ2VidCBJaHIgZ2VuYXVzbyB2aWVsIEdlbGQgYXVzIQoKTWl0Z2xpZWRzYW50cmFlZ2Ugc3RlaGVuIHVudGVyOgogICAgICAgIGZ0cDovL211ZC51bmktbXVlbnN0ZXIuZGUvVGV4dGUvVmVyZWluLwoKU3BlbmRlbiBzaW5kIG5hdHVlcmxpY2ggYXVjaCBpbW1lciBXaWxsa29tbWVuIHVuZCB6d2FyIGFuOgoKICBTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgogIEt0by5Oci46IDM2ODk0NAogIEJMWjogNDAwNTAxNTAKICBFbXBmYWVuZ2VyOiBDaHJpc3RpYW4gU2NoaWxkICAKClNwZW5kZW5iZXNjaGVpbmlndW5nZW4ga29lbm5lbiBiZWkgQmVkYXJmIGF1c2dlc3RlbGx0IHdlcmRlbiwKZWluZmFjaCBDYXR3ZWF6bGUgZnJhZ2VuIQotLS0tTmFjaCBkZXIgVWViZXJ3ZWlzdW5nLCBiaXR0ZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTG9lc2NocmVjaHRlIGluIGRlciBNUEEgKEFuYXRvbCwgIDcuIEFwciAxOTk3LCAxNjozMDo1OCk6Cn4jISBybj1QYXRyeW4gcnQ9ODYwNDIzNDAzIHJnPXBvbGl6ZWkuYmVzY2h3ZXJkZW4KfiMhIHRpZD04NjA0MjE2NzcKCkNhdHdlYXpsZSdzIEtvbW1lbnRhciwgYWxzIGljaCBpaG0gZGFzIG1pdHRlaWx0ZTogYXJnbAoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29rb2JhbiAoRW5neXd1Y2ssICA3LiBBcHIgMTk5NywgMTg6NDA6MTIpOgp+IyEgcm49QWNyaW1vbiBydD04NjA0MTk3NjUgcmc9cHVpegp+IyEgdGlkPTg2MDE3ODk2MwpKQSBKQSBKQSBKQSBKQSBKQSBKQSBKQSEhISEKCkRhcyB3YXIgZWluIEFydGlrZWwgdm9uIEFjcmltb24gdW5kIGVyIHdhciAoenVtaW5kZXN0IHRlaWx3ZWlzZSkgZWluZGV1dGlnCmlyb25pc2NoISBFciBrYW5uIGVzIGFsc28gZG9jaCwgaGF0IHVucyBudXIgZGllIGdhbnplIFplaXQgYmVsb2dlbiEgT2RlciB3YXIKZXIgZG9jaCBudXIgaXJvbmlzY2guLi4/ICpncnVlYmVsKgoKRW5neSoKClAuUy4gIlNjaG1hcnJuIiB3YXIgbGVpZGVyIHNjaG9uIHZvbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb2tvYmFuIChBY3JpbW9uLCAgNy4gQXByIDE5OTcsIDE5OjI0OjE2KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2MDQzMTIxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDE3ODk2MwpFciB3YXIgbmljaHQgaXJvbmlzY2guCldlbm4gbWFuIHNpY2ggYWxsZXJkaW5ncyBhbiBkaWUgIklyb25pZSIgZ2V3b2VobnQsIGRhbm4gd2Vpc3ogbWFuIGJhbGQgbmljaHQKbWVociwgd2FzIG1hbiBnbGF1YmVuIHNvbGwgdW5kIHdhcyBuaWNodCAtIGJ6dy4gbWFuIG1laW50IGVzIGRvY2ggenUgd2lzc2VuLAphYmVyIGRldXRldCBlcyB0cm90emRlbSBmYWxzY2guCldpZSBtYW4gaGllciBzaWVodC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVBBIChBY3JpbW9uLCAgNy4gQXByIDE5OTcsIDIwOjU4OjQxKToKQml0dGUga2FubiBqZW1hbmQgZGllIEFuemFobCBkZXIgbWF4aW1hbGVuIEFydGlrZWwgaW4gZGVyIE1QQSBfd2VzZW50bGljaF8KZXJob2VoZW4uCkluIHZpZWxlIFJ1YnJpa2VuIGthbm4gbWFuIG5pY2h0cyBtZWhyIGhpbmVpbnNjaHJlaWJlbi4KCkRhbmtlCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUEEgKEdsb2luLCAgNy4gQXByIDE5OTcsIDIxOjAwOjQ5KToKfiMhIHJuPUFjcmltb24gcnQ9ODYwNDM5NTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDM5NTIxCkRhbm4gbG9lc2NoZSBkb2NoIERlaW5lIEFydGlrZWwuCgpHbG9pbi4gQWVoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1QQSAoQW5hdG9sLCAgNy4gQXByIDE5OTcsIDIxOjA4OjIzKToKfiMhIHJuPUFjcmltb24gcnQ9ODYwNDM5NTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDM5NTIxCgpXZXJ0ZXIgQWNyaW1vbiwgZGVyIEhpbnRlcmdlZGFua2Ugd2FyIHdvaGwsIGRhc3MgbWFuIHNpY2ggZGFydWViZXIgR2VkYW5rZW4KbWFjaHQsIG9iIG1hbiBkYXMsIHdhcyBtYW4gdmVyb2VmZmVudGxpY2hlbiB3aWxsLCBzZWxiaWdlcyBhdWNoIHdlcnQgdW5kIGluCmRlciByaWNodGlnZW4gUnVicmlrIGlzdC4KCkRpZXNlciBBcnRpa2VsIGlzdCBzbyB1bm5vZXRpZyB3aWUgc2VpbiBWb3JnYWVuZ2VyLgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1QQSAoQWNyaW1vbiwgIDcuIEFwciAxOTk3LCAyMToxNTo0NCk6Cn4jISBybj1BbmF0b2wgcnQ9ODYwNDQwMTAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDM5NTIxCkdlbmF1IGF1cyBkaWVzZW0gR3J1bmQgc29sbHRlIG1hbiBhdWNoIGRhcyBTY2hyZWliZW4gaW4gYWxsZW4gUnVicmlrZW4KbW9lZ2xpY2ggbWFjaGVuLCBzb25zdCBzY2hyZWliZW4gd2lyIHVuc2VyZW4gTXVlbGwgbmFjaCAiYWxsZ2VtZWluZXMiLCBzbyB3aWUKd2lyIGhpZXIgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVBBIChCb2luZywgIDguIEFwciAxOTk3LCAxMTowOToxNCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MDQzOTUyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDQzOTUyMQpXZW5uIG5pY2h0IHNvIHZpZWwgTXVlbGwgcmVpbmdlc2NocmllYmVuIHd1ZXJkZSwgZGFubiBoYWV0dGUgZXMgZ2VudWcKUGxhdHosIGljaCBzZWhlIG5pY2h0IGVpbiwgZGFzcyB3aXIgZnVlciBkaWVzZW4gTWlzdCBSZXNzb3VyY2VuIG9wZmVybiAKc29sbGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1QQSAoU3VzaGksICA4LiBBcHIgMTk5NywgMTI6Mjc6NTMpOgp+IyEgcm49Qm9pbmcgcnQ9ODYwNDkwNTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDM5NTIxCkljaCBoYWJlIGhpZXIgbm9jaCBlaW5lIDEyMCBBVC1CdXMgUGxhdHRlLCBkaWUga2FubnN0IER1IGdlc2NoZW5rdCBoYWJlbiB1bmQKbW91bnRlbiwgZGFubiBpc3QgUnVoZSBtaXQgZGllc2VtIFVuZnVnLi4uIE1laHIgYWxzIDEgTUIga2FubiBkaWUgTVBBIGVoIG5pY2h0CnNlaW4sIG9kZXI/CgpTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplaXR1bmcgKFdhcmdvbiwgIDguIEFwciAxOTk3LCAxMzoxODo1Nyk6Cn4jISBybj1DYXVubyBydD04NjA0OTIxODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjA0OTIxODUKSWNoIHZlcm11dGUgbWFsLCBkYXNzIGRhIGRpZSBtYXhpbWFsZSBBcnRpa2VsemFobCBoZXJhYmdlc2V0enQgd3VyZGUgKHouQi4gdm9uCjEwMCBhdWYgODAgby5hZS4pLiBEYW5uIGthbm4gbWFuIGVyc3Qgd2llZGVyIHdhcyBkYWhpbiBwb3N0ZW4sIHdlbm4gZGllCiJ1ZWJlcnphZWhsaWdlbiIgQXJ0aWtlbCB3ZWcgc2luZCAoZHVyY2ggZXhwaXJlLCB2ZXJsZWdlbiBvZGVyIGxvZXNjaGVuKS4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1lcmlkaWFuIChGbGludG5haWwsICA4LiBBcHIgMTk5NywgMTY6MDY6NDQpOgpIbW0uLgp2b3Iga3VyemVuIGJpbiBpY2ggYXVmIE1lcmlkaWFuIDU5IGdlc3Rvc3NlbiAoaHR0cDovL21lcmlkaWFuLjNkby5jb20pIHVuZCBoYWIKbWlyIHNwYXNzZXNoYWxiZXIgZGVyZW4gb25saW5lLXJlZ2lzdHJhdGlvbiBhbmdlc2NoYXV0LgpBbHNvIGRpZSBKdW5ncyBsaWVmZXJuIG5lbiBncmFmaXNjaGVzIE11ZHVudGVyIFdpbjk1IG9kZXIgTlQsIHdvbGxlbiBwcm8gTW9uYXQKKGljaCBnbGF1YmUpIDEwICQgR2VidWVociBoYWJlbiB1bmQgYmlldGVuLi4uamEuLmFuIEluaGFsdCAuLi5uYWNoIGFsbCBkZW0gd2FzCmlocmUgV2Vic2VpdGUgaGVyZ2FiLi4ud2VpdGF1cyB3ZW5pZ2VyIGFscyBkYXMgTUcgb2RlciBhbmRlcmUgZXR3YXMga2xlaW5lcmUKOikgTXVkcy4gRGFydWViZXIgaGluYXVzIHNjaHJlaWJlbiBkaWUgQmV0cmVpYmVyIFdldHRiZXdlcmJlIGF1cyB3aWU6IFByb2dndApkYXMgYmVzdGUgQWRkIE9uIGZ1ZXIgdW5zOikgc3ByaWNoIDogc2llIGdlYmVuIEVudHdpY2tsdW5nc2FyYmVpdCBhbiBkaWUKQmVudXR6ZXIsIGRpZSBmdWVycyBTcGllbGVuIEdlbGQgYmV6YWhsZW4sIHdlaXRlci4uLgpEYSBmcmFnIGljaCBtaWNoOiBNdXNzIGljaCBkYW1pdCBqZXR6dCBhdWNoIGltIGd1dGVuIGFsdGVuIE1HIHJlY2huZW4/Pz8KCkdlaG9lcnQgZGllc2VyIEFydGlrZWwgbmFjaCBTY2htYXJybj8/PwoKRmxpbnQqIGhtbS4uLi4uOikKClBTOiBzYWNobWEgQWNyaW1vbi4uLm11ZXNzdGVzdCBkdSBuaWNoIG5hY2ggZGVyIFJlY2h0c2NocmVpYnJlZm9ybSBhbGxlcyBtaXQKc3MgYW5zdGF0dCBtaXQgc3ogc2NocmVpYmVuOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWmVpdHVuZyAoQWNyaW1vbiwgIDguIEFwciAxOTk3LCAxNzoxMzozMCk6Cn4jISBybj1XYXJnb24gcnQ9ODYwNDk4MzM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDkyMTg1CjEuIHdvIGlzdCBkZXIgQXJ0aWtlbCB2b24gQ2F1Tm8gaGluPyBDYXVObywgaGFzdCBkdSBpaG4gc2VsYnN0IGdlbG9lc2NodCwgb2RlcgpoYXQgZGEgd2llZGVyIGVpbiBNYWdpZXIgc2VpbmUgQmVmdWduaXNzZSBtaXN6YnJhdWNodD8KMi4gTWFuIGthbm4gZGllIE1QQSBuaWNodCBtZWhyIHZlcm51ZW5mdGlnIHZlcndlbmRlbi4gV2VubiBtYW4gaW4gdmllbGUKUnVicmlrZW4gbmljaHQgbWVociBoaW5laW5zY2hyZWliZW4ga2Fubiwgd2VpbCB6dXdlbmlnIGVybGF1YnQgd3VyZGUsIGRhbm4KZmluZGUgaWNoIGRhcyBhYnNvbHV0IG1pZXMuCjMuIERpZXMgaGllciBpc3QgZWluIFNwaWVsLiBJc3QgZXMgZGVubiBzbyBzaW5udm9sbCwgZWluZW4gT3JrcyB6dSB0b2V0ZW4sCmRhc3ogbWFuIGRhZnVlciBlaW5lbiBSZWNobmVyIGFucyBOZXR6IGhhZW5ndD8KQW5zY2hlaW5lbmQgamEsIHVuZCBkYSBnaWx0IGF1Y2ggbmljaHQgZGFzIEFyZ3VtZW50LCBkaWUgTVBBIHNvbGx0ZQp2ZXJrbGVpbmVydCB3ZXJkZW4sIHdlaWwgenV2aWVsIFNjaG1hcnJuIGRyaW5zdGVoZS4KVmllbGUgTGV1dGUgd29sbGVuIGRhcyBlYmVuLCB1bmQgdW0gZGFtaXQgbmljaHQgYW5kZXJlIExldXRlIG5lcnZlbiB6dQptdWVzc2VuLCBkaWUgZGFzIG5pY2h0IHdvbGxlbiwgZ2lidCBlcyBlYmVuIG1laHJlcmUgUnVicmlrZW4uCldlbm4gbWFuIG51biBpbiB2aWVsZSBSdWJyaWtlbiBudXIgbm9jaCBhbGxlIGhlaWxpZ2VuIFplaXRlbiBtYWwgZWluZW4gQXJ0aWtlbApzY2hyZWliZW4ga2FubiwgZGFubiBtYWNodCBkYXMgYXVjaCBrZWluZW4gU3Bhc3ogbWVoci4KNC4gQmVzb25kZXJzIGluIGRlciAgUnVicmlrIGRpc2t1c3Npb24gaXN0IG1pciBhdWZnZWZhbGxlbiwgZGFzeiBkaWUKRXhwaXJlLVplaXRlbiB2aWVsIHp1IG5pZWRyaWcgYW5nZXNldHp0IHNpbmQuCkFsbGVpbiBkdXJjaCBkaWUgRXhwaXJlLVplaXQgdm9uIGNhIDMgVGFnZW4gd2VyZGVuIGRpZSBzY2hvZW5zdGVuIERpc2t1c3Npb25lbgphYmdld3Vlcmd0LgpCaXMgamV0enQga29ubnRlIG5vY2gga2VpbmUgRGlza3Vzc2lvbiBzaWNoIGxhZW5nZXIgYWxzIGVpbiBwYWFyIFRhZ2UgaGFsdGVuLAp3ZWlsIGRpZSBFeHBpcmUtWmVpdCBzbyBrdXJ6IGlzdC4KSWNoIHd1ZW5zY2ggbWlyIGVuZGxpY2ggbWFsIGVpbmUgc2Nob2VuZSwgbGFuZ2UgRGlza3Vzc2lvbiBpbiBkZXIgZGFmdWVyCmdlc2NoYWZmZW5lbiBSdWJyaWssIHVuZCBkYXMgaXN0IG51ciBtaXQgZWluZXIgYW5zdGFlbmRpZ2VuIEV4cGlyZS1aZWl0IHZvbgptaW5kZXN0ZW5zIDE0IFRhZ2VuIG1vZWdsaWNoIQo1LiBEYWZ1ZXIgd2VyZGVuIGhhbHQgUmVzc291cmNlbiBiZW5vZXRpZ3QsIHVuZCBuaWNodCBlaW5tYWwgdmllbCAtIDUwIE1CCnNvbGx0ZW4gZnVlciBkaWUgTVBBIGF1c3JlaWNoZW4sIHVuZCBpaHIgYmVrb21tdCBqYSBzY2hvbiBncm9lc3plcmUgUGxhdHRlbgprb3N0ZW5sb3MhCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFplaXR1bmcgKFd1cnplbCwgIDguIEFwciAxOTk3LCAxOTowMzoyOSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MDUxMjQxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDQ5MjE4NQpvaCBhY3JpbW9uLCB3aWUgdW5yZWNodCBkdSBtYWwgd2llZGVyIGhhc3QuLi4KZXMgc2luZCBuaWNodCB2aWVsZSwgc29uZGVybiB2ZXJnbGVpY2hzd2Vpc2UgbnVyIHNlaHIgd2VuaWdlLCBkaWUgaGllciBpaHJlbgptdWVsbCBpbiBkZXIgbXBhIGFibGFkZW4uIGljaCBiZW9iYWNodGUgZGFzIHJlY2h0IGdlbmF1LCBpbW1lcmhpbiBnZWhvZXJlCmljaCBqYSBhdWNoIGRhenUgOikKd2VubiBkaXIgZGFzIG5pY2h0IHBhc3N0LCB3aWUgaGllciBtaXQgZGVyIG1wYSB1bWdlZ2FuZ2VuIHdpcmQsIGthbm5zdCBkdSBqYQplaW5lIGVpZ2VuZSB2YXJpYW50ZSBwcm9nZ2VuLiBzdGFlbmRpZ2UgZm9yZGVydW5nZW4gdm9uIGplbWFuZGVtLCBkZXIgYWxzCnNwaWVsZXIgYmxvc3MgenUgZmF1bCBpc3QgZWluZW4gZWlnZW5zdGFlbmRpZ2VuIGJlaXRyYWcgenUgbGllZmVybiBpZ25vcmllcmUKbmljaHQgbnVyIGljaC4uLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBaZWl0dW5nIChBY3JpbW9uLCAgOC4gQXByIDE5OTcsIDIxOjE0OjE2KToKfiMhIHJuPVd1cnplbCBydD04NjA1MTkwMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjA0OTIxODUKRXMgaXN0IGRvY2ggc2Nob24gZ2Vwcm9nZ3QsIGRhcyBHYW56ZSBuZW5udCBzaWNoIE1QQSwgdW5kIGVzIGZ1bmt0aW9uaWVydAp3dW5kZXJiYXIhCk51ciBzb2xsdGUgbWFuIGhhbHQgZGVyIE1QQSBldHdhcyBQbGF0eiBnb2VubmVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaZWl0dW5nIChCb2luZywgIDkuIEFwciAxOTk3LCAwODozNzo1Nyk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MDUxMjQxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDQ5MjE4NQpSdWJyaWtlbiB3aWUgZGlza3Vzc2lvbiBvZGVyIGVudHdpY2tsdW5nIGhhdHRlbiBzY2hvbiBpbW1lciBlaW5lIGV4cGlyZQpaZWl0IHZvbiBtaW5kZXN0ZW5zIDMgV29jaGVuLiBNb21lbnRhbiBsaWVndCBkaWUgWmVpdCAoaW4gZGlza3Vzc2lvbikKYmVpIDYwIFRhZ2UsIGRhcyBzb2xsdGUgc2VsYnN0IGZ1ZXIgZWluZSBEaXNrdXNzaW9uIHVlYmVyICdzeicgcmVpY2hlbi4KRHUgc29sbHRlc3QgRGljaCB2aWVsbGVpY2h0IHp1ZXJzdCBpbmZvcm1pZXJlbiwgYmV2b3IgRHUgc29sY2hlbiBVbmZ1Zwp2ZXJicmVpdGVzdC4KQWNoIGphLCB6dSBEZWluZW0gUHVua3QgMzogRGllIEludGVudGlvbiBkaWVzZXMgU3BpZWxzIHdhciBuaWUsIGVpbiAKRGlza3Vzc2lvbnNmb3J1bSB6dSBzY2hhZmZlbiwgZGFmdWVyIGdpYnQgZXMgc2VpdCBlaCB1bmQgamUgZGllIG5ldG5ld3MKb2RlciBJUkMuIERhc3MgZXMgaGllciBhdWNoIG1vZWdsaWNoIGlzdCwgaXN0IGVoZXIgZWluIE5lYmVucHJvZHVrdC4KVW5zZXIgSGF1cHR6aWVsIGlzdCBlcyB0YXRzYWVjaGxpY2gsIGVzIHp1IGVybW9lZ2xpY2hlbiwgZWluZW4gT3JrCnp1IHRvZXRlbiBvZGVyIGVpbmUgUXVlc3QgenUgbG9lc2VuIG9kZXIgc29uc3QgZXR3YXMgaW0gQmVyZWljaCBGYW50YXN5Cnp1IG1hY2hlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWmVpdHVuZyAoWm9ycm8sICA5LiBBcHIgMTk5NywgMTA6NTc6NTgpOgp+IyEgcm49Qm9pbmcgcnQ9ODYwNTY3ODc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwNDkyMTg1Ck5hamEgd2VubiBkaWUgTVBBIHZvbGwgaXN0IGdlaHQgZGFzIGRvY2ggZ2VuYXVzbyBndXQgbWl0IGVpbmVyIG1haWwgYW4gYWxsZS4uLgpQcm9iaWVyIGVzIG1hbCBkYW1pdCA6KT0KCkdydXNzIFpvcnJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaZWl0dW5nIChDYXVubywgIDkuIEFwciAxOTk3LCAxNDozOToxMSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MDUxMjQxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDQ5MjE4NQpKYSwgaWNoIGhhYiBkZW4gQXJ0aWtlbCBzZWxic3QgZ2Vsb2VzY2h0LCBkYSBCb2luZyBkaWUgU2FjaGUgZ2VyZWdlbHQgaGF0LCBlcwp3YXIgbmFlbWxpY2ggbnVyIGVpbmUgVmVyd2VjaHNsdW5nIHp3ZWllciBWYXJpYWJsZW4uClVuZCBkYSBkYXMgUHJvYmxlbSBiZXNlaXRpZ3Qgd2FyLCBzYWggaWNoIGtlaW5lbiBHcnVuZCwgd2FydW0gZGVyIEFydGlrZWwgbm9jaApsYWVuZ2VyIGRpZSBaZWl0dW5nIHp1bXVlbGxlbiBzb2xsdGUgLi4uCgpDLiBObwoKYWxzIEFucmVndW5nIGFuIGFuZGVyZSwgaWhyZSB1ZWJlcmZsdWVzc2lnZW4gQXJ0aWtlbCBtYWwgc2VsYnN0IHp1IGxvZXNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBTcGVlcmUgYnJhdWNodCBkYXMgTGFuZCAoSXNub2dvb2QsIDE0LiBBcHIgMTk5NywgMDI6MjI6MDIpOgpJY2ggbW9lY2h0ZSBtYWwgZ2FueiBoZXJ6bGljaCBhbiBhbGxlIE1hZ2llcmUgYXBwZWxpZXJlbiwgaW4gSWhyZW4gd2FmZmVuLCBkaWUKc2llIHNjaGFmZmVuLCBhdWNoIFNwZWVyZQp6dSBiZXJ1ZWNrc2ljaHRpZ2VuLiBGdWVyIGFuZGVyIEdpbGRlbiBtYWcgZXMga2VpbmUgUm9sbGUgc3BpZWxlbiBhYmVyIGZ1ZXIKdW5zIEthZW1wZmVyLCBpbnNiZXNvbmRlciBkaWUKRWxmZW4gZGFydW50ZXIsIGlzdCBlcyBpbSBNb21lbnQgc2Nob24gc2VociBzY2h3aWVyaWcuIEVzIGdpYnQgMiBTcGVlcmUgaW0gTUcsCmRpZSB3aXJrbGljaCBndXQgc2luZCwKKHZlcmdsZWljaGJhciBtaXQgZGVtIEJTUywgZGllIGFiZXIgZGFmdWVyIHVuZ2VmYWVociBzbyBzY2h3ZXIgenUgYmVrb21tZW4Kc2luZCB3aWUgZGVyIFZvbGxzdHJlY2tlci4KRWluZW4gRmV1ZXJzcGVlciBnaWJ0IGVzIHVlYmVyaGF1cHQgbmljaHQuIFdhcyB3dWVyZGUgZGVubiBkYWdlZ2VuIHNwcmVjaGVuLAp3ZW5uIGRpZSBGZXVlcnJpZXNlbiBhbnN0YXR0CmZldWVyYWV4dGUgdW5kIGZldWVyc2Nod2VydGVyIGF1Y2ggbm9jaCBmZXVlcmxhbnplbiBoYWV0dGVuLiBPZGVyIGRlcgpWb2xsc3RyZWNrZXIgYWJ3ZWNoc2VsbmQgbmUgQXh0LCBlaW4gU3BlZXIKdW5kIGVpbiBTY2h3ZXJ0IHdhZXJlLiBNb21lbnRhbiBzaW5kIE1lbnNjaGVuIGluIGRlciBLQWVtcGZlcmdpbGRlIGtsYXIgaW0KVm9ydGVpbCwgZGEgcHJha3Rpc2NoIGFsbGUgaGVyYXVzcmFnZW5kZW4KV2FmZmVuIFNjaHdlcnRlciBzaW5kLiBBbHNvLCBtZWluZSBnYW56IGVpbmRyaW5nbGljaGUgQml0dGU6IExhc3N0IGV1Y2gKZW50d2VkZXIgU3BlZXIgYWxzIFdhZmZlbiBlaW5mYWxsZW4gb2Rlcgptb2RpZml6aWVydCBkaWUgYmVzdGVoZW5kZW4gc28sIGRhc3Mgc2llIGFid2VjaHNlbG5kIGFsbGUgV2FmZmVua2xhc3NlbiBtYWwKZHVyY2hnZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFNwZWVyZSBicmF1Y2h0IGRhcyBMYW5kIChKYXNwZXIsIDE0LiBBcHIgMTk5NywgMDg6MjM6NTkpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYwOTc3MzIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwOTc3MzIyCkVsZmVuIGhhYmVuIGxhbmdlIG9ocmVuIHVuZCBzaW5kIHNjaHd1bCwgZGFzIHNpbmQgMiBncnVlbmRlIGtlaW5lCnNwZWVyZSB6dSBtYWNoZW4uCgpKYXNwZXIsIFBlbHpmdXNzLCBmb3JkZXJ0IG1laHIgbWVzc2VyIGZ1ZXIgZGllIGhvYmJpdHMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFNwZWVyZSBicmF1Y2h0IGRhcyBMYW5kIChBc21vZGlzLCAxNC4gQXByIDE5OTcsIDA5OjIxOjExKToKfiMhIHJuPUlzbm9nb29kIHJ0PTg2MDk3NzMyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDk3NzMyMgpEYXNzIEVsZmVuIE5hY2h0ZWlsZSBpbiBkaWVzZXIgR2lsZGUgaGFiZW4gZHVyY2ggZGllIFdhZmZlbmF1c3dhaGwKaGFldHRlIG1hbiBhdWNoIHZvcmhlciB3aXNzZW4ga29lbm5lbiwgd2VyIHNlaW5lbiBFbGYgaW4gZGllCkthZW1wZmVyZ2lsZGUgc2NoaWNrdCwgaXN0IG1laW5lcyBFcmFjaHRlbnMgc2VsYnN0IHNjaHVsZCA6KQoKTmljaHRzZGVzdG90cm90eiBrb2VubnRlIGRpZSBBdXN3YWhsIGFuIFdhZmZlbiB0YXRzYWVjaGxpY2ggbWFsCmV0d2FzIHZlcmJlc3NlcnQgd2VyZGVuLCB1bmQgbmljaHQgaW1tZXIgYW4gc2Nod2VyIHp1Z2FlbmdsaWNoZW4KU3RlbGxlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZSBTcGVlcmUgYnJhdWNodCBkYXMgTGFuZCAoRnl0LCAxNC4gQXByIDE5OTcsIDEwOjI1OjQwKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODYxMDAyNDcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwOTc3MzIyCkZ1ZXIgZGFzICdzZWluZW4gRWxmJyBrb2VubnRlIGljaCBzY2hvbiB3aWVkZXIgc2NocmVpZW4uIEVzIGlzdCBuaWNodApTaW5uIGRlciBTYWNoZSwgZGFzcyBqZWRlciBSTC1TcGllbGVyIGVpbmVuIENoYXJha3RlciB2b24gamVkZXIgUmFzc2UKaW4gamVkZXIgR2lsZGUgaGF0LgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKE9ya3RvZXRlciwgMTQuIEFwciAxOTk3LCAxNDowMjowNSk6CgpJY2ggaGFiZSBnZXJhZGUgZGVuIEFydGlrZWwgZ2VsZXNlbiB1bmQga2FubiBtaWNoIGRlbSBTaW5uIG51ciBhbnNjaGxpZXNzZW4uCgpBYmVyIG1pY2ggd3VlcmRlIGludGVyZXNzaWVyZW4sIHdhcnVtIGVpbmVtIGRlciBFbnRnaWZ0ZXNwcnVjaCBnZW5vbW1lbiB3aXJkID8KSXN0IGVzIGVpbmUgIlN0cmFmZSIsIGRpZSB3aWVkZXIgYXVmZ2Vob2JlbiB3ZXJkZW4gc29sbCA/IFdlbm4gamEgd2FubiA/CgpVbmQgbnVuIGRpZSBlaWdlbnRsaWNoZSBTYWNoZSA6CgpJY2ggd2Vpc3MsIGlociBtYWNodCBzbyBldHdhcyBuaWNodCBsZWljaHRmZXJ0aWcgdW5kIGVzIGlzdCBzaWNoZXIgc2Nod2VyIGJpcwp1bm1vZWdsaWNoLCBudXIgZGllICJzY2h1bGRpZ2VuIiB6dSBiZXN0cmFmZW4sIGFiZXIgc28gYWxsZSB1ZWJlciBlaW5lbiBrYW1tCnp1IHNjaGVyZW4gdW5kIHp1IGJlc3RyYWZlbiBpc3QgZXMgaXJnZW5kd2llIGF1Y2ggbmljaHQuCgpPcmtULCBkZW4gZXMgYXVjaCBpbW1lciB3aWVkZXIgdWViZXJhc2NodCwgd2llIHNjaG5lbGwgdW5kIGxlaWNodCBlaW5pZ2UgbGV1dGUKTlBDIGtpbGxlbiB1bmQgU2VoZXIgaG9jaHNwaWVsZW4gdW5kIHdpZSBnZW5hdSBzaWUgd2VydGUgdm9uIE5QQy9HaWxkZW4gZXRjLgprZW5uZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5lcnYuLi4gKEhpZ2hsYW5kZXIsIDE0LiBBcHIgMTk5NywgMTQ6MDk6MDYpOgpOdXIgdW0gZWluIGJpc3NjaGVuIHp1IG5lcnZlbiwgdmVyc2FndCBkaWUgU2VlbGUgYWIgdW5kIGFuIGlocmUgRGllbnN0ZS4KR3J1bmQ/IFNpZWhlIHBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiwgQXJ0aWtlbCAiTWlyIHJlaWNodHMhIgogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgenUgd2FyZ29uIChUdW5peGd1dCwgMTQuIEFwciAxOTk3LCAxNDoxNzoyNyk6Cn4jISBybj1GeXQgcnQ9ODYxMDIwMDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDIwMDY0ClNjaGxpZXNzZSBtaWNoIGRlbSB1bmVpbmdlc2NocmFlbmt0IGFuIQoKSGFzdGVzIHdpZWRhIGF1ZiduIFB1bmt0IGdlcHJhY2h0LCBwZnVldHQhCgpUdU5peEd1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBub2NobWFsIHp1IHdhcmdvbiAoV2FyZ29uLCAxNC4gQXByIDE5OTcsIDE0OjE4OjM5KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg2MTAyMDI0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAyMDA2NApJQ0ggQklOIEVSWk1BR0lFUiwgVU5EIElDSCBGVUVITEUgTUlDSCBHVVQgREFCRUkhISEgOikpKSkpKQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFldXNlciAoRnl0LCAxNC4gQXByIDE5OTcsIDE0OjMwOjMzKToKV2llIHdhZXJlIGVzIGdld2VzZW4sIHdlbm4gRHUgbnVyIGRpZSBIYWV1c2VyIGFiZ2VoYWVuZ3QgaGFldHRlc3QsIGRlcmVuCidEZXRhaWxkaWNodGUnIHVlYmVyIGVpbmVtIERpciBnZW5laG1lbiBNYXNzIGxpZWd0PwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzdCBoaWVyIGVpZ2VudGxpY2ggbG9zID8gKFRhbmdhbHVyLCAxNC4gQXByIDE5OTcsIDE0OjM4OjM2KToKQWxzbyBhbnNjaGVpbmVuZCB3aXJkIGhlaXIgbWFsIHdpZWRlciBnZWhvZXJpZyBWTCB1bmQgUkwgZHVyY2ggZWluYW5kZXIKZ2VicmFjaHQuIERhcyBnYW56ZSBpc3QgZG9jaCBzY2hsaWVzc2xpY2ggZWluIFNwaWVsIHVuZCBkYSB3aXJkcyB3b2hsCmltbWVyIHdlbGNoZSBnZWJlbiBkaWUgaGFsdCBtb2dlbG4gd2VyZGVuLiBXZW5uIGRpZXNlIExldXRjaGVuIG1laW5lbgpzaWUgbXVlc3N0ZW4gc28gc3BpZWxlbiwgd2FzIHNvbGxzLiBBbHNvIGljaCBmdWVobCBtaWNodCBoaWVyIGZ1ZXIgZXR3YXMKYmVzdHJhZnQgZnVlciBkYXMgaWNoIG5pY2h0cyBrYW5uICh0ZiBoYWIgaWNoIHNjaG9uIHZvciBld2lna2VpdGVuIHouQiwgZ2UtCmxvZXNjaHQpIHVuZCBtaXQgZGVuIG1pciBwZXJzb2VubGljaCBiZWthbm50ZW4gbWFnaWVyIGRhcmYgaWNoIGRhbm4gd29obCBhdWNoCm5jaHQgbWVociByZWRlbiBvZGVyIHdhcy4ga2xhciBpc3QgZGFzIGFlcmdlcmxpY2ggd2VubiBkZXIgbXVlaGV2b2xsCmVyYXJiZWl0ZXRlClByb2dyYW1tY29kZSBlaW5lcyBNYWdpZXJzIHVudGVybWluaWVydCB3aXJkLCBhYmVyIGRlciBTcGllbGVyIGRlciBzbyBzcGllbHQKbmltbXQKc2ljaCBkb2NoIHNlbGJlciBkZW4gU3BpZWxzcGFzcy4gTWFsIGdhbnogZWhybGljaCBtaXIgaXN0IGRhcyBlaCB6aWVtbGljaCBlZ2FsCndlbGNoZXMgTW9uc3RlciBpY2ggd2llIG9mdAp1bWdlaGF1ZW4gaGFiZSB1bmQgd28gaWNoIGF1ZiBpcmdlbmR3ZWxjaGVuIExpc3RlbiBzdGVoZS4gV2VubiBXYXJnb24gbWVpbnQgZXIKdWVzc3RlIHp1IHNvbGNoZW4gbWl0dGVsIGdyZWlmZW4gZGFubiBzb2xsIGVyIGRvY2ggYml0dGUgCndlbmlnc3RlbnMgZGVpICJiZXN0cmFmZW4iIGRpZSBkZW4gbWlzdCB2ZXJicm9jaGVuIGhhYmVuIHVuZCBuaWNodCBhbGxlIGRpZQpTcGlsZXIgZGllIG5peCAKd2VpdGVyIGhpZXIgaW0gTUcgd29sbGVuIGFscyBlaW4gd2VuaWcgU3Bhc3MgdW5kIEFibGVua2V1bmcgdm9uIGRpZXNlciBlaApzY2hvbmVzY2guLi4gV2VsdAoKVGFuZ2FsdXIgRmV1ZXJ0YXR6ZSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFNwZWVyZSBicmF1Y2h0IGRhcyBMYW5kIChSb2NodXMsIDE0LiBBcHIgMTk5NywgMTU6MTE6MDcpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYwOTc3MzIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwOTc3MzIyCkVzIGdpYnQgbmljaHQgbnVyIDIgU3BlZXJlIG1pdCBtYXhpbWFsZXIgU3RhZXJrZSBzb25kZXJuIDUuCkF1c3NlcmRlbSBnaWJ0IGVzIDE2IGRpZSBmYXN0IG1heGltYWxlIFN0YWVya2UgaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgU3BlZXJlIGJyYXVjaHQgZGFzIExhbmQgKEhpZ2hsYW5kZXIsIDE0LiBBcHIgMTk5NywgMTU6MTI6MzYpOgp+IyEgcm49Um9jaHVzIHJ0PTg2MTAyMzQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDk3NzMyMgpJaCwgZGFzIE5pdmVhdSBkZXIgTVBBIHNpbmt0IGdld2FsdGlnISAgRGEgYW50d29ydGV0IGVpbmVyIG1pdCBGQUtURU4hIQogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggbWFsLi4uIChPZXR0aSwgMTQuIEFwciAxOTk3LCAxNTo1NjozOSk6Ck5hIGphIGljaCBkZW5rZSBtYWwgZGllIEludGVudGlvbiBiZWkgZGVyIFNhY2hlIHdhciwgZGFzcwpkaWUgc2ljaCBiZW5hY2h0ZWlsaWd0IGZ1ZWhsZW5kZW4gU3BpZWxlciBkaWUgInNjaHdhcnplbiBTY2hhZmUiCmVudHdlZGVyIGRlbnVuemllcmVuIG9kZXIgaGFsdCBhdWYgZGllc2UgU2F1ZXIgc2luZC4KCkhtbW1obW1tbWhtbW1tbSwgbmV0dGVyIFZlcnN1Y2gsIGR1bW1lciBWZXJzdWNoLi4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIG1hbC4uLiAoQXRveiwgMTQuIEFwciAxOTk3LCAxNjowNzowMCk6Cn4jISBybj1PZXR0aSBydD04NjEwMjYxOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwMjYxOTkKVGphLCB3ZW5uIGljaCBtaXIgZGllIEFydGlrZWwgaGllciBzbyBkdXJjaGxlc2UgZnJhZyBpY2ggbWljaCwgb2IgaXJnZW5kd2FzCm1pdCBkZXIgVWhyIGJ6dyBkZW0gS2FsZW5kZXIgbmljaHQgc3RpbW10OiBJc3QgdmllbGxlaWNodCBuaWNodCBkZXIgMTQuCnNvbmRlcm4gZGVyIGVyc3RlIEFwcmlsPwoKQXRveiAtIEF1Y2ggc29uIGJsb2VkZXIgbGViZW5zdW53ZXJ0ZXIgTWFnaWVyendlaXRpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChEaWVkZXIsIDE0LiBBcHIgMTk5NywgMTY6MTQ6MzcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg2MTAxOTMyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpTb2xsIGRhcyBkaWUgTG9lc3VuZyBzZWluPyBFaW4gUnVuZHVtc2NobGFnIGVpbmlnZXIgTWFnaWVyICh3b2JlaSBqYSBpbW1lcgptZWhyIGRhenVrb21tZW4sIHdpZSBpY2ggc2VoZSkgZ2VnZW4gYWxsZSBTcGllbGVyPwpEZXIgZWluemlnZSBFZmZla3QgaXN0IGRhc3MgdmllbGUgbmUgbWVociBvZGVyIHdlbmlnZXIgbGFuZ2UgU3BpZWxwYXVzZQplaW5sZWdlbiEKCkRpZWRlciwgbm9jaCBpbW1lciBkZW4gS29wZiBzY2h1ZXR0ZWxuZCB1bmQgZnJvaCwgZGFzcyBlciBzZWluZW4gYmVyZWl0cwphdXNnZWZ1ZWxsdGVuIE1HLVZlcmVpbi1BbnRyYWcgbm9jaCBuaWNodCB3ZWdnZXNjaGlja3QgaGF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NobWFsIHp1IHdhcmdvbiAoUGFyYWNlbHN1cywgMTQuIEFwciAxOTk3LCAxNjoxNTo0MCk6Cn4jISBybj1XYXJnb24gcnQ9ODYxMDIwMzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDIwMDY0CkRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4uCgpQYXJhIF07LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKEZ5dCwgMTQuIEFwciAxOTk3LCAxNjoxNjoyMCk6Cn4jISBybj1EaWVkZXIgcnQ9ODYxMDI3Mjc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDE5MzI1CgpOYWphLCB3ZW5uIHNpZSBkaWUgU3BpZWxlciBnYW56IGFic2NoYWZmZW4sIGJydWFjaGVuIHNpZSBhdWNoIGtlaW5lbiBuZXVlbgpTcGVpY2hlciB1bmQgZGFtaXQgYXVjaCBrZWluIEdlbGQuIFNvIGZ1ZWd0IHNpY2ggZGFzIGVpbmUgenVtIGFuZGVyZW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnByb3Rlc3Rha3Rpb25lbiAoUmVkbm9zZSwgMTQuIEFwciAxOTk3LCAxNjoyNzo0Mik6CkhtbS4gRWlnZW50bGljaCBoYXQgbWlyIGRhcyBNRyBpbW1lciBzZWhyIHZpZWwgU3Bhc3MgZ2VtYWNodCwgdHJvdHogZGVyCkxldXRlLCBkaWUgbW9nZWxuLiBVbSBnZW5hdSB6dSBzZWluOiBEYXMgaGF0IG1pY2ggZWlnZW50bGljaCBuaWNodCBkaWUKQm9obmUgaW50ZXJlc3NpZXJ0LiBJbSBNb21lbnQgZnJhZ2UgaWNoIG1pY2gsIHdhcyBmdWVyIGVpbmVuIEVmZmVrdApkaWVzZSBQcm90ZXN0YWt0aW9uZW4gaGFiZW4gc29sbGVuLiBJY2ggYmluIGZ1ZXIgamVkZSBFcmxldWNodHVuZyAKZGFua2JhciA6LSkKClVtIE1pc3N2ZXJzdGFlbmRuaXNzZW4gdm9yenViZXVnZW46IEVzIGlzdCBuYXR1ZXJsaWNoIGRhcyBndXRlIFJlY2h0IHZvbiAKTWFnaWVybiwgaWhyZSBBcmJlaXQsIGluIGRpZSBzaWUgdmllbCBaZWl0IGdlc3RlY2t0IGhhYmVuLCBhbmRlcmVuCnZvcnp1ZW50aGFsdGVuLiBJbSBJbnRlcmVzc2UgZGVyIG5vcm1hbGVyd2Vpc2Ugc2Nod2VpZ2VuZGVuIHVuZCAKZ2VuaWVzc2VuZGVuIE1laHJoZWl0IGJpdHRlIGljaCBhYmVyIGRpZSBNYWdpZXIsIGRpZSBwcm90ZXN0aWVyZW5kZW4sIGRvY2gKbm9jaAplaW5tYWwgZGFydWViZXIgbmFjaHp1ZGVua2VuLCBvYiBzaWUgZGFtaXQgbmljaHQgZWhlciBkaWUgRmFsc2NoZW4KdHJlZmZlbi4KCkVpbiBzcGllbHN1ZWNodGlnZXIgUmVkbm9zZS4KLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIFNwZWVyZSBicmF1Y2h0IGRhcyBMYW5kIChQYXRyeW4sIDE0LiBBcHIgMTk5NywgMTY6MzE6MDIpOgp+IyEgcm49Um9jaHVzIHJ0PTg2MTAyMzQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MDk3NzMyMgpzaW5kIGRpZSBhdWNoIHdpcmtsaWNoIGFuZ2VzY2hsc3Nlbj8gOikKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgU3BlZXJlIGJyYXVjaHQgZGFzIExhbmQgKEZ5dCwgMTQuIEFwciAxOTk3LCAxNjozMjo0Myk6Cn4jISBybj1QYXRyeW4gcnQ9ODYxMDI4MjYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwOTc3MzIyCgpSb2NodXMgbWVpbnRlIHNpY2hlcjogVm9uIGRlbSBlaW5lbiBTcGVlciBnaWJ0IGVzIDUgQ2xvbmVzLCB1bmQgdm9uIGRlbQphbmRlcmVuIGltIE1vbWVudCAxNS4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cmVpayAoS2FydG9mZmVsLCAxNC4gQXByIDE5OTcsIDE2OjM3OjM0KToKSGFsbG9lbGUsCgpva2ksIGRhc3MgTWFnaWVyIHNpY2ggYWVyZ2Vybiwgd2VubiBkdXJjaCBCZXNjaGlzcyBBcmJlaXQgenUgbmljaHQgZ2VtYWNodAp3aXJkLCBrYW5uIGljaGd1dCB2ZXJzdGVoZW4sIHdhcyBpY2ggbmljaHQgc28gZ2FueiB2ZXJzdGVoZSwgaXN0IHouQi4gd2FydW0KZGFubiBkaWUgU291bGNvbW1hbmRzIHZlcmFlbmRlcnQgd3VyZGVuLi4uClNvbGlkYXJpdGFldCBpc3QgamEgZ2FueiBuZXR0LCBhYmVyIHp1bWluZGVzdCBlaW4gWnVzYW1tZW5oYW5nIHNvbGx0ZSBkb2NoCndvaGwgdm9yaGFuZGVuIHNlaW4sIG9kZXI/CkljaCB3dWVzc3RlIGplZGVuZmFsbHMgbmljaHQgd2llIGljaCBtaXQgZWluZW0gJ2ZsdWNoZScgb2RlciAna251ZGRlbCcKYmVzY2hlaXNzZW4gc29sbC4uLgoKS2FydG9mZmVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChDYXR3ZWF6bGUsIDE0LiBBcHIgMTk5NywgMTc6MjU6NDcpOgp+IyEgcm49RGllZGVyIHJ0PTg2MTAyNzI3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpIaSEKCkR1IG1hY2hzdCBkZW4gRmVobGVyIHVuZCBzZXR6dCBkZW4gVmVyZWluIG1pdCBkZW0gU3BpZWwgZ2xlaWNoLiBEZXIgVmVyZWluIAppc3QgZWluIEZPRVJERVJ2ZXJlaW4gdW5kIHNvcmd0IGxlZGlnbGljaCBkYWZ1ZXIsIGRhcyBkYXMgTUcgb3JkZW50bGljaCAKdW5kIGJlc3RhZW5kaWcgbGFldWZ0LiAKTWl0Z2xpZWRzY2hhZnQgaXN0IGtlaW5lIFNwaWVsZ2VidWVociwgc29uZGVybiBkZXIgQmVpdHJpdHQgaXN0IGVpbmUgClp1c2FnZSBkZWluZXJzZWl0cywgZGVuIE1HZVYgaW4gc2VpbmVtIEZvZXJkZXJ0dW0genUgdW50ZXJzdHVldHplbi4KCk51ciB3ZWlsIER1IG1vb21lbnRhbiBuaWNodCBzbyBfc3BpZWxlbl8ga2FubnN0LCB3aWUgRHUgZXMgdmllbGxlaWNodCAKZ2V3b2hudCBiaXN0LCBpc3QgZGFzIG5vY2ggbGFuZ2Uga2VpbiBHcnVuZCBzb2xjaGUgQXJ0aWtlbCB6dSBzY2hyZWliZW4KdW5kIGdlZ2VuIGRlbiBWZXJlaW4gc2NobGVjaHRlIEx1ZnQgenUgbWFjaGVuLiBERVIga2FubiBuYWVtbGljaCBhYnNvbHV0Cl9uaWNodHNfIGZ1ZXIgZGllIGFrdHVlbGxlIFNpdHVhdGlvbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaG1hbCB6dSB3YXJnb24gKFNjaGxpcHMsIDE0LiBBcHIgMTk5NywgMTg6Mzc6MjApOgp+IyEgcm49V2FyZ29uIHJ0PTg2MTAyMDMxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAyMDA2NApEYXMgZ2xhdWIgaWNoIERpciBzb2ZvcnQgLSBpY2gga2FubiBtaXIga2VpbmVuIE1hZ2llciB2b3JzdGVsbGVuIGRlciBzaWNoCmJlaSBkZW0gd2FzIGVyIHR1dCBzY2hsZWNodCBmdWVobHQuIEFsbGVyZGluZ3Mga2FubiBpY2ggbWlyIGF1Y2ggbmljaHQKdm9yc3RlbGxlbiBkYXNzIHNpY2ggU3BpZWxlciBiZWkgaWhyZW0gVHVuIHNjaGxlY2h0IGZ1ZWhsZW4uCkRhc3MgZXMgU3BpZWxlciBnaWJ0LCBkaWUgc2ljaCBob2Noc3BpZWxlbiBsYXNzZW4gb2RlciBLTHMgYmVudXR6ZW4gaGF0IGRlbmtlCmljaCBuaWUgamVtYW5kIGJlc3RyaXR0ZW4gKHVuZCBkaWUgWlQtbGlzdGVuIGhhZW5nIGljaCBqZXR6dCBub2NoIGFuKS4gRXMgCmtvbW10IGRhIGhhbHQgbGV0enRsaWNoIGF1ZiBkZW4gU3BpZWxlciBhbi4gSWNoIGthbm4gZGFzIGFiZXIgenVtaW5kZXN0CnRlaWx3ZWlzZSBuYWNodm9sbHppZWhlbiwgZGEgZXMgbWl0dGxlcndlaWxlIHppZW1saWNoIGhhcHBpZyBpc3QgaGllciBTZWhlcgp6dSB3ZXJkZW4gKGljaCB3ZWlzcywgbWFuIG11c3MgamEgbmljaHQsIGFiZXIgU2VoZXIgenUgd2VyZGVuIGlzdCBsZXR6dGxpY2gKZG9jaCBlaW4gZXJzdHJlYmVuc3dlcnRlcyBaaWVsIC0gYWxzbyB3YXMgc29sbHMpLiBGdWVyIGRhcyBWZXJoYWx0ZW4gZWluemVsbmVyClNwaWVsZXIgYWxsZSBhbmRlcmVuIHp1IGJlc3RyYWZlbiBzY2hhZGV0IGRlbSBTcGllbCBhYmVyIGRlbmtlIGljaCBtZWhyIGFscwplaW4gcGFhciBDaGFvdGVuIG1laHIgZHJpbiB6dSBoYWJlbi4gT2RlciBzb2xsdGUgaWNoIGRhcyBhbHMgQW5zdGlmdHVuZyB6dXIKRGVudW56aWF0aW9uIHZlcnN0ZWhlbiAuLi4uIChNRz1Qb2xpemVpc3RhYXQgb2RlciAuLi4uIE1hZ2llcnN0YWF0Pyk/Ckluc29mZXJuIGFscyBNYWdpZXIgdmVyYW50d29ydGxpY2ggc2luZCBpc3QgZGllIEJlc3RyYWZ1bmcgdm9uIFNwaWVsZXJuCnZvZWxsaWNoIGRhbmViZW4uCgpXYXMgZGllIEJlcmt1bmcgenUgZGVuIFNlaGVyaGFldXNlcm4gYW5nZWh0ICdkaWUgd3VlZGVuIGphIG51ciBzY2hsZWNodApiZXNjaHJpZWJlbiBhbiBzdHJhdGVnaXNjaCBndWVuc3RpZ2VuIFBvc2l0aW9uZW4gcnVtc3RlaGVuJyBrYW5uIGljaCBudXIKCnNhZ2VuOiBXZW5uIHNpZSBzbyBhbmdlbGVndCBzaW5kIChzcHJpY2ggdm9uIE1hZ2llcnNlaXRlIGF1cyBkaWUgTW9yZ2xpY2hrZWl0CmhhYmVuIHN0cmF0ZWdpc2NoIGVpbmdlc2V0enQgenUgd2VyZGVuKSBkYW5uIGlzdCBlcyBqYSBudXIgdmVyc3RhZW5kbGljaCBkYXNzCmRhcyBnZXNjaGllaHQuIERhbm4gd2FlcmUgZXMgYWJlciBzaW5udm9sbGVyIHNpZSBzbyB6dSB2ZXJhZW5kZXJuLCBkYXNzIHNpZQptZWhyIGRlbSBnZXd1ZW5zY2h0ZW4gWndlY2sgZGllbmVuLiAoSWNoIHZlcnN0ZWggZGFzIHplaXR3ZWlzZSBBYmhhZW5nZW4KbWFsIGVoZXIgaW4gZGllc2VyIHJpY2h0dW5nKQpHbGVpY2hlcyBnaWx0IGltIHVlYnJpZ2VuIGF1Y2ggZnVlciBkaWUgUXVlc3RzIC0gd2VubiBob2NobGV2ZWxpZ2UgUXVlc3RzCig+NjAtNzBBUCkgc28gYW5nZWxlZ3Qgc2luZCBkYXNzIGVpbmZhY2ggbnVyIGR1cmNobGF1ZmVuIGthbm4sIGRhbm4gd2lyZApkYXMgYXVjaCBnZXNjaGVoZW4gLSBkYW5uIHNvbGx0ZSBtYW4gc2ljaCBhbHMgbWFnaWVyIGhhbHQgbWFsIHdhcyBlaW5mYWxsZW4KbGFzc2VuIHVtIGRhcyB6dSB2ZXJoaW5kZXJuLiBFcyBtdXNzIGphIG5pY2h0IGltbWVyIGVpbiBub2NoIHN0YWVya2VyZXIgTlBDCm9kZXIgZWluIG5vY2ggYWJnZWZhaHJlbmVyZXMgRHJlaGxhYnlyaW50aCBzZWluLiBJY2ggekIgZmluZGUgU2hha2VkYmVlcnMKR2VmYWVuZ25pc2luc2VsIGtsYXNzZSAod2VubiBhdWNoIGV0d2FzIGVpbnNlaXRpZyBhdWYgUmFldHNlbCBhdXNnZXJpY2h0ZXQpLgpEYSBzaW5kIHpCIGVpbiBwYWFyIFJhZXRzZWwgZHJpbiwgZGllIG5pY2h0IHNvIGVpbmZhY2ggenUgbG9lc2VuIHNpbmQKKHNvbGFuZ2UgbWFuIG5pY2h0IE1hZ2llciBvZGVyIHNlaHIgZXJmYWhyZW5lciBTcGllbGVyIGlzdCA7KQoKU2NobGlwcywgZGVyIHNpY2ggZ2FueiByZWd1bGFlciBob2NoZ2VzcGllbHQgaGF0IChobW0gLSBzYWdlbiB3aXIgZmFzdApyZWd1bGFlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChEaWVkZXIsIDE0LiBBcHIgMTk5NywgMjM6NDQ6NTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2MTAzMTU0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpUdXQgbWlyIGxlaWQsIENhdCosIGFiZXIgaWNoIHNlaGUgZXMgZGVubm9jaCBuaWNoIGVpbiwgenUgemFobGVuICl1bmQgZGFtaXQKbWVpbmUgaWNoIG5pY2h0IG51ciBkaWUgbGFlY2hlcmxpY2hlbiAyNCBETSBpbSBKYWhyIHNvbmRlcm4gaWNoIHdvbGx0ZQpzcGVuZGVuKSB3ZW5uIGdsZWljaHplaXRpZyBkYXMgTVVEIGRlcm1hc3NlbiBiZXNjaG5pdHRlbiB3aXJkIQp3aWUgZ2VzYWd0OiBtZWluZXIgbWVpbnVuZyBuYWNoIGRlciBUT1RBTCBmYWxzY2hlIHdlZywgbWl0IGVpbmVtIHJ1bmR1bXNjaGxhZwphbGxlIHNwaWVsZXIgenUgYmVzdHJhZmVuICh2b24gZGVuZW4gdmllbGxlaWNodCBlaW4gcGFhciBwcm96ZW50IGhvZWNoc3RlbnMgaW4KZGllIHZvbiBldWNoIGJlc2NocmllZW5lIFJ1YnJpayBmYWxsZW4pLgpJY2ggaGFiZSBiaXNoZXIgZ2VybiBnZXNwaWVsdCB1bmQgYmluIGF1Y2ggYmVyZWl0IGRhZnVlciBtaXQgenUgemFobGVuLCBhYmVyCmRhcyBzZWhlIGljaCBpbSBNb21lbnQgamVkZW5mYWxscyBuaWNodCBlaW4uIFNjaGxpZXNzZWxpY2ggZm9lcmRlcnQgZGVyIFZlcmVpbgpkZW4gUmVjaG5lciwgYWJlciBkYXMgbnV0enQgamEgYWxsZXMgbml4IHdlbm4gZWluaWdlIExldXRlIGhpZXIgd2VnZW4KU3R1ZGllbmJlZ2lubiBvZGVyIHNjaGxlY2h0ZW0gTWVuc2Flc3NlbiBvZGVyIHdhcyB3ZWlzcyBpY2ggbmljaCB3YXMgYWxsZXMKaGllciBuaWNoIGtsYXJrb21tZW4uCgpEaWVkZXIsIGltbWVyIG5vY2ggc2F1ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChEaWVkZXIsIDE0LiBBcHIgMTk5NywgMjM6NTY6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2MTAzMTU0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQphY2gsIGZpZWwgbWlyIGdyYWQgbm9jaCBlaW46CmVzIGlzdCB1ZWJlcmhhdXB0IG5pY2ggaW4gbWVpbmVtIGFuc2lubmVuLCBnZWdlbiBkZW4gdmVyZWluIHNjaGxlY2h0ZSBsdWZ0IHp1Cm1hY2hlbiwgc29uc3QgaGFldHRlIGljaCBuaWUgdm9yZ2VoYWJ0IGlobSBiZWl6dXRyZXRlbi4gaWNoIGJpbiBudXIgYmVpbGVpYmUKbmljaHQgZGVyIGVpbnppZ2UsIGRlciB3ZWdlbiBkZXIgZ2FuemVuIGdlc2NoaWNodGUgc2VpbmUgbWl0Z2xpZWRzY2hhZnQKZXJzdG1hbCBoaW5hdXN6b2VnZXJ0IG9kZXIgc29nYXIgY2FuY2VsZWQuLi4gd2llIG1pciBldGxpY2hlIG1laW5lIGZyZXVuZGUKc2FnZW4gOikKCkdydXNzLApEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9IIE1hbm4gKEppbWRpZ3JpeiwgMTUuIEFwciAxOTk3LCAwMDo0NzoyNik6CkhvaSwKCmFsc28gc29uc3QgaXNzZXMgbWlyIGphIGVjaHQgZWdhbCB3YXMgZnVlciBRdWVyZWxlbiB1bmQgSW50cmlnZW4KdW5kIFN0ZWl0ZXJlaWVuIGFibGF1ZmVuLiBXZW5uIHNpY2ggbWFuY2hlIExldXRlIGF1Y2ggbm9jaCBzbwpkaWUgS29lcGZlIGVpbnNjaGxhZ2VuLCBub3JtYWwgd2lyZCBuaXggc28gaGVpc3MgZ2VnZXNzZW4gd2llcwpnZWtvY2h0IHdpcmQuIApBYmVyIGhldXRlIHRyYXUgaWNoIG1laW5lbiBBdWdlbiBuaWNodCA/CgpFcyBnaWJ0IGVpbmVuIFp1c3RhbmQgaW0gTVVELCBkZXIgaGFsdCBlaGVyIHVuZXJ3dWVuc2NodCBpc3QuCihzcGllbGVyICJiZXNjaGVpc3NlbiIsIGF1ZiB3ZWxjaGUgQXJ0IGF1Y2ggaW1tZXIpCkRpZXNlciBadXN0YW5kIGlzdCBuaWNodCBuZXUuCkljaCB2ZXJzdGVoZSB2b2xsIHVuZCBnYW56LCBkYXNzIG1hbiB2ZXJzdWNodCBMb2VzdW5nZW4genUgCmZpbmRlbiB1bSBkYXMgUHJvYmxlbSBpcmdlbmR3aWUgenUgbG9lc2VuLiAKKFVuZCBhdWNoICdpZ25vcmllcmVuJyBrb2VubnRlIGVpbmUgTG9lc3VuZyBzZWluIGZhbGxzICdtYW4nCmRhcyB3b2xsdGUpCldhcyBpY2ggbmljaHQgY2hlY2tlIGlzdCBkaWUgQXJ0IHVuZCBXZWlzZSB3aWUgc2VpdCBrdXJ6ZW4KYW4gc28gZWluZSBMb2VzdW5nc2ZpbmR1bmcgcmFuZ2VnYW5nZW4gd2lyZC4KRWluIE1hZ2llciBpc3QgZnJ1c3RyaWVydCB1bmQgaGFlbmd0IHdhcyBhYiwgb2suClVuZCBwbG9ldHpsaWNoLCBrb21tZW4gemlnIGFuZGVyZSBkYWhlciB1bmQgc2FnZW46CiBBaCB0b2xsZSBpZGVlLCBtYWNoIGljaCBhdWNoCnVuZCB6d2FyIElNSE8gemllbWxpY2ggdW51ZWJlcmxlZ3QuCldhcnVtIHVudWViZXJsZWd0ID8gTnVuLCB3dWVyZGUgaWNoIHNvd2FzIG1hY2hlbiB3b2xsZW4sCnd1ZXJkZSBpY2ggdWViZXJsZWdlbiwgIndhcyB3aWxsIGljaCBkYW1pdCBlcnJlaWNoZW4gPyIuCldhcmdvbiBtZWludGUgaW0gR3J1bmRlLCBlciBpc3QgZGVyIFNpdHVhdGlvbiBnZWdlbnVlYmVyIAptYWNodGxvcywgd2lsbCBhYmVyIGlyZ2VuZHdhcyB0dW4sIGFsc28gcHJvdGVzdGllcnQgZXIgYXVmIApkaWVzZSBXZWlzZSAtIGRhcyB3YXIgbm9jaCBvay4gCkFiZXIgd2FzIHNvbGwgZGVuIG1pdCBkZW0gUHJvdGVzdCBlcnJlaWNodCB3ZXJkZW4gPz8KICAtIGRhc3MgZGllIFNwaWVsZXIgZGllIGJlc2NoaXNzZW4gaGFiZW4gZGFoZXIga29tbWVuIHVuZCBzYWdlbgogICAgIkhhbGxvLCBpY2ggYmluIHNjaHVsZGlnIHVuZCBiZXJldWUgenV0aWVmc3QiCiAgLSBkYXNzIGRpZSBNYWdpZXIgZGllIFNwaWVsZXJuIGhlbGZlbiBkYXMgdHVuID8gCiAgLSBkYXNzIGRpZSBpZGxlbmRlbiBvZGVyIG51ciByYXRzY2hlbmRlbiBNYWdpZXIgd2FzIHByb2dyYW1taWVyZW4gPwogIC0gZGFzcyBTcGllbGVyIGFuZGVyZSBkZW51bnppZXJlbiA/CiAgLSBkYXNzIGluIFp1a3VuZnQgbmllbWFuZCBtZWhyIGJlc2NoZWlzc3QgPz8/CiAgLSBkYXNzIGFsbGUgenUgZWhybGljaGVuIE1lbnNjaGVuL0NoYXJha3RlcmVuIHdlcmRlbiA/IChSTD8vVkw/KQphbHNvIGRhc3MgREFTIHBhc3NpZXJ0LCBkYXMgZ2xhdWJ0IElociBkb2NoIHdvaGwgc2VsYmVyIG5pY2h0LgoKV2FyZ29ucyBBa3Rpb24gaGF0IGRhcyBQcm9ibGVtIHdpZWRlciBkZXV0bGljaCBpbnMgCkJld3Vzc3RzZWluIGdlcnVlY2t0IHVuZCBlaW5lIG5ldWUgRGlza3Vzc2lvbiBhbmdlcmVndC4KRGFtaXQgaGF0IHNpZSBJTUhPIGV0d2FzIGVycmVpY2h0LgpEaWUgYW5kZXJlbiBBa3Rpb25lbiB2b24gU1NQIHVlYmVyIFNlZWxlIGJpcyBzb25zdHdhcywKYXVjaCBub2NoIGFscyAiU29saWRhcml0YWV0IHVudGVyIE1hZ2llcm4iIChzb2xpZGFyaXNjaCwgYWxzbwpnZW1laW5zYW0sIGdlZ2VuIHdlbiBkZW5uID8gZGllIGJvZXNlbiBTcGllbGVyID8gKQpiZXRpdGVsdCBrYW5uIGljaCBudXIgYWxzIGFic29sdXQgbGFlY2hlcmxpY2ggZW1wZmluZGVuLCB3ZW5uIG5pY2h0CnNvZ2FyIHBlaW5saWNoLgoKTGFzc3QgRXVjaCBtYWwgd2FzIHNjaGxhdWVyZXMgZWluZmFsbGVuLCB1bmQgZWluCnJpZ29yb3NlcyBsb2VzY2hlbiBiencuIHN0cmVuZ2VyZSBLcml0ZXJpZW4gYmVpIGRlciBNYWdpZXJ3ZXJkdW5nLAp3YWVyIGV2dGwgbmljaHQgZGFzIHNjaGxlY2h0ZXN0ZSwga2FtZW4gamEgbm9jaCBlaW5pZ2UgYW5kZXJlCmRpc2t1c3Npb25zd3VlcmRpZ2UgVm9yc2NobGFlZ2UuIEFiZXIgZGllIFNhbmt0aW9uZW4gc2luZCBlY2h0CkFybXV0c3pldWduaXNzZS4KCmhhZXR0ZSBhdWNoIG5pZSBnZWRhY2h0IGRhc3MgaWNoIG1pY2ggbm9jaG1hbCBpbiBzbyBuZQpEaXNrdXNzaW9uIGVpbm1pc2NoZW4gd3VlcmRlLAogSmFtZXMgQm9saXZhciBEaUdyaXoKClAuUy46IGljaCBiaW4gYmVzdGltbXQgbmllbWFuZCBkZXIgamV0enQgcGxhZXJydCB3ZWlsIGVyIG5lZCBnZXNjaGVpdCBzcGllbGVuCmthbm4sCmhhYiBlaCBrZWluZSBaZWl0IG1laHIgZnVlciBzb3dhcyAuLi4KCipzZXVmeioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlc3QgKFRvZXRlciwgMTUuIEFwciAxOTk3LCAwMToyODoxOCk6CkljaCBtb2VjaHRlIGF1Y2ggd2FzIHNjaHJlaWJlbi4gVmllbGxlaWNodCBzb2xsdGUgbWFuIHNpY2ggenVuYWVjaHN0IGVpbm1hbAprbGFybWFjaGVuLCB3YXMgaGllciBlaWdlbnRsaWNoIGdlc2NoZWhlbiBpc3Q6IFdhcmdvbiB1bmQgZWluIHBhYXIgYW5kZXJlIE1hLQpnaWVyIGhhYmVuIG9mZmVuYmFyIGZlc3RnZXN0ZWxsdCwgZGFzcyBkZXIgS29uc2VucywgZGVuIHNpZSBhbHMgVm9yYXVzc2V0enVuZyAKZnVlciBpaHIgV2lya2VuIGhpZXIgZ2VzZWhlbiBoYWJlbiwgbmljaHQgbWVociBiZXN0ZWh0LiBEYXNzIHNpZSBkYXJhdWZoaW4gCmlociBFbmdhZ2VtZW50IGFic3RlbGxlbiwgYnp3LiB6dXJ1ZWNremllaGVuLCBpc3QsIGRlbmtlIGljaCwgbmljaHQgenUgYmVhbi0Kc3RhbmRlbiwgZXMgZ2lidCBuYWVtbGljaCwgd2llIHdvaGwgamVkZXIgd2Vpc3MsIGtlaW5lIFBmbGljaHQsIHNpY2ggaW0gTUcgCnp1IGVuZ2FnaWVyZW4uIApXZXIgaW4gZGVtIGdhbnplbiBlaW5lIFN0cmFmZSBzaWVodCwgbXVlc3N0ZSBkYXMgdm9yaGVyaWdlIEVuZ2FnZW1lbnQgYWxzIApCZWxvaG51bmcgKHdvZnVlcj8pIGJldHJhY2h0ZW4sIGRhcyB0dXQgYWJlciBrZWluZXIuCldpZSBtYW4gbnVuIG1pdCBkaWVzZXIgU2l0dWF0aW9uIHVtZ2VodCwgaXN0IGVpbmUgYW5kZXJlIEZyYWdlLiBXaXIgc29sbHRlbgp1bnMgZGFiZWkgdm9yIGFsbGVtIHVlYmVybGVnZW4sIHdhcyBmdWVyIGVpbmUgQXJ0IE1HIHdpciBoaWVyIGhhYmVuIHdvbGxlbjogCkRhcyBBYmJpbGQgZWluZXMgUmVjaHRzc3RhYXRlcyBvZGVyICdudXInIGVpbiBTcGllbD8gV2VubiB3aXIgdW5zIGZ1ZXIgZXJzdGUtCnJlcyBlbnRzY2hlaWRlbiwgYnJhdWNoZW4gd2lyIHZlcmJpbmRsaWNoZSBHZXNldHplLCBVZWJlcndhY2h1bmdzcGVyc29uYWwgCnVuZC9vZGVyIFZlcmFudHdvcnR1bmdzYmV3dXNzdHNlaW4gYmVpIGRlciBNZWhyaGVpdCBkZXIgVGVpbG5laG1lci4gVmVyZ2Vzc2VuIAp3aXIgZGFzIGFsc28gOikgQmxlaWJ0IGRhcyBTcGllbC4gSW4gamVkZW0ga29tcGxleGVyZW4gU3BpZWwgZ2lidCBlcyBzbyBldHdhcyAKd2llIFNjaGllZHNyaWNodGVyIG9kZXIgU3BpZWxsZWl0ZXIsIGRpZSBSZWdlbHVlYmVydHJpdHRlIGFobmRlbiB1bmQgc2llIGltIApad2VpZmVsc2ZhbGwgYXVjaCBkZWZpbmllcmVuLiBVbSBkZW4gU3BpZWxmbHVzcyBhdWZyZWNodHp1ZXJoYWx0ZW4sIG11c3MgbWFuIApkaWVzZW4gU3BpZWxsZWl0ZXJuIHp1Z2VzdGVoZW4sIHdpbGxrdWVybGljaCB6dSBoYW5kZWxuLCBhdWNoIHVudGVyIElua2F1Zi0KbmFobWUsIGRhc3MgamVtYW5kZW0gVW5yZWNodCBnZXRhbiB3aXJkLiAKTmVubnQgbWFuIGRpZXNlIFNwaWVsbGVpdGVyIG51biAnRXJ6bWFnaWVyJywgd2FzIHNvdmllbCBoZWlzc3Qgd2llICdFcnptYS0KZ2llcicsIGRhbm4gc2luZCB3aXIgYmVpIHVuc2VyZW0gbW9tZW50YW5lbiBNb2RlbGwsIG1pdCBkZW0gVW50ZXJzY2hpZWQgYWwtCmxlcmRpbmdzLCBkYXNzIHVuc2VyZSBFcnptYWdpZXIgbm9jaCB2b3IgZGVyIFdpbGxrdWVyIGJlaSBFbnRzY2hlaWR1bmdlbiAKdWViZXIgTGV1dGUsIGRpZSBzaWNoIGRhbmViZW5iZW5laG1lbiB6dXJ1ZWNrc2NocmVja2VuICh3YXMgc2llIGphIGlyZ2VuZHdpZSAKYXVjaCBlaW4gYmlzc2NoZW4gc3ltcGF0aGlzY2ggbWFjaHQgOyksIHVuZCBzdGF0dGRlc3NlbiBhdWYgZGllIHVucyBiZWthbm50ZSAKV2Vpc2UgInByb3Rlc3RpZXJlbiIuIEF1ZiBEYXVlciB3aXJkIGRhcyBhYmVyIG5pY2h0IGZ1bmt0aW9uaWVyZW4sIGRlbmtlIGljaC4gClZpZWxsZWljaHQgZmFlbGx0IGphIG5vY2ggd2VtIHdhcyBLb25zdHJ1a3RpdmVyZXMgZWluLCBpY2ggYmluIGpldHp0IHp1IAptdWVkZSA6KQogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKElzbm9nb29kLCAxNS4gQXByIDE5OTcsIDAxOjQwOjM5KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjEwMzE1NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwMTkzMjUKRGFzIFByb2JsZW0gbWl0IGRlbSBGb2VyZGVydmVyZWluIGxpZWd0IGhhbnogd29hbWRlcnMgdW5kIGRhcyBpc3QgYXVjaCBzY2hvbgptZWhyZmFjaCBhbmdlc3Byb2NoZW4gd29yZGVuLiBFcyBrYW5uIGVpbmZhY2ggbmljaHQgc2VpbiwgZGFzcyBNaXRnbGllZGVyIGluCmVpbmVtIFZlcmVpbiBHZWxkIGJlemFobGVuLCBkYXNzIGRhcyBNdWQgbGFldWZ0IGFiZXIgYW5kZXJlcnNlaXRzIGRlciBXaWxsa3VlcgpkZXIgRXJ6bWFnaWVyIGF1c2dlbGllZmVydCBzaW5kLCBvYiBlcyB1ZWJlcmhhdXB0IGxhZXVmdCB1bmQgd2Vubiwgd2llIGVzIApsYWV1ZnQuIFdlbm4gZGFzIE11ZCBkYXMgUHJpdmF0dmVyZ251ZWdlbiBlaW5pZ2VyIGlzdCwgZGFubiBzb2xsZW4gZGllIGF1Y2gKYml0dGVzY2hvZW4gZGllIGZpbmFuemllbGxlIEJlbGFzdHVuZyB0cmFnZW4uIFVuZCB3ZW5uIG5pY2h0LCBkYW5uIGhhYmVuIGRpZSwKZGllIHNpZSB0cmFnZW4sIGF1Y2ggZGFzIHZlcmRhbW10ZSBSZWNodCwgZGFiZWkgbWl0enVlbnRzY2hlaWRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZXN0IChJc25vZ29vZCwgMTUuIEFwciAxOTk3LCAwMTo1MzoyNik6Cn4jISBybj1Ub2V0ZXIgcnQ9ODYxMDYwNDk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDYwNDk4CkRlaW5lIFVlYmVybGVndW5nZW4gbGFzc2VuIGxlaWRlciBkZW4gU3RlaW4gZGVzIEFuc3Rvc3NlcyBhdXNzZW4gdm9yOgpXZW5uIFdhcmdvbiBzaWNoIGJlbGVpZGlndCBmdWVobHQsIHNvIGlzdCBkYXMgc2VpbmUgU2FjaGUsIGNpaCBwZXJzb2VubGljaAprYW5uCmVzIG5pY2h0IG5hY2h2b2xsemllaGVuLCB3YXJ1bSBqZW1hbmQgc2ljaCBkYXJ1ZWJlciBhdWZyZWd0LCB3ZW5uIDEwJSBkZXIgClNwaWVsZXIgKHdvdm9uIHdvaGwgOTAlIHNvbGNoZSBzaW5kLCBkaWUgZGllIHF1ZXN0IHNjaG9uIGVpbm1hbCBtaXQgbmVtCmFuZGVyZW4KQ2hhcmFrdGVyIHJlZ3VsYWVyIGdlbWFjaHQgaGFiZW4pIHNlaW5lIFNwaWVscmVnZWxuIG5pY2h0IGVpbmhhbHRlbi4gQWJlciBkYXMKaXN0IGdhbnogYWxsZWluIHNlaW5lIFNhY2hlLCB3ZW5uIGVyIHNlaW5lIHF1ZXN0IGFiaGFlbmdlbiB3aWxsIGJpdHRlLiBXZW5uIGVyCkRyYWtvbmllbiBhYmhhZW5nZW4gd2lsbCwgc2VpbiBndXRlcyBSZWNodC4gUHJvYmxlbWF0aXNjaGVyIHNlaGUgaWNoIHNjaG9uIGRpZQpTYWNoZSBtaXQgZGVuIFNlaGVyaGFldXNlcm4sIHdlaWwgaGllciBqYSBhdWNoIHZpZWwgQXJiZWl0IGRlciBTcGllbGVyIG1pdApkcmlubmUgc3RlY2t0LiBHYW56IHByb2JsZW1hdGlzY2ggaXN0IGRpZSBTYWNoZSBtaXQgZGVuIGVudGdpZnRlbiwgZGEgaW1obwpzaWNoCm1pdHRsZXJ3ZWlsZSBlaW5pZ2UgTWFnaWVyIGJlaSBpaHJlciBSZWdpb25zL01vbnN0ZXJlcnNjaGFmZnVuZyBkYXJhdWYgdmVybGFzLQpzZW4genUgc2NoZWluZW4sIGRhc3MgZmZvcnRnZXNjaHJpdHRlbmUgU3BpZWxlciBkaWVzZW4gU3BydWNoIGJlaGVycnNjaGVuLgpXYXMgYWJlciBiZWltIGJlc3RlbiBXaWxsZW4gbmljaHQgbmFjaHp1dm9sbHppZWhlbiBpc3QsIHNpbmQgZGllIFJlYWt0aW9uZW4Kdm9uCkJvaW5nIHVuZCBTaWx2YW5hLiBEaWUgU1NQIGFienVoYWVuZ2VuIGlzdCBlaW4gVW5kaW5nLCBkYSBlaW5pZ2UgUXVlc3RlbSBkb3J0CnNwaWVsZW4sIGRpZSBBdXNydWVzdHVuZyBmdWVyIHZpZWxlIE1vbnN0ZXIgZ2VicmFjdWh0IHdpcmQgdW5kIGVpbmlnZSBHaWxkZW4Kb2huZSBTU1AgbmFoZXp1IHVuYnJhdWNoYmFyIHdlcmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0ZXN0IChQYXRyeW4sIDE1LiBBcHIgMTk5NywgMDI6MDM6MzcpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYxMDYyMDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDYwNDk4CmFsc28gaWNoIGZpbmRlIGRpZSBzeXN0ZW1hdGlzY2hlIGRlbW9udGFnZSBkZXMgbXVkcyBhdWNoIHppZW1saWNoCnNjaHdhY2hzaW5uaWcsIG5pY2h0cyBnZWdlbiBlaW4gYWNodHVuZ3N6ZWljaGVuLCBhYmVyIHp1bSBlaW5lbiB3YXIKZGllIGFrdGlvbiB2b24gd2FyZ29uIGV0d2FzIHVlYmVyem9nZW4gdW5kIHVudWViZXJsZWd0IHVuZCBhbGxlcwpuYWNoZm9sZ2VuZGUga2FtIG51ciBub2NoIG5hY2ggZGVtIGljaC1iaW4td2ljaHRpZy11bmQta2VpbmVyLWVya2VubnQtZXMtYW4KcHJpbnppcC4gZGllc2Ugc29nZW5hbm50ZW4gc29saWRhcmlzY2hlbiBha3Rpb25lbiBsZW5rZW4gamV0enQgbnVyIG5vY2gKdm9uIGRlbSBlaWdlbnRsaWNoZW4gdm9uIHdhcmdvbiBhbmdlc3Byb2NoZW5lbiBwcm9ibGVtIGFiLCBkZW5uIGVzIGdlaHQKamEgbmljaHQgZGFydW0sIHdhcyBhbGxlcyBhYmdla2xlbW10IHd1cmRlLCBzb25kZXJuIHdhcnVtIGVzIGdhdGFuIHd1cmRlOgpkZXN3ZWl0ZXJlbiBmaW5kZSBlcyByZWljaGxpY2ggc2Nod2FjaHNpbm5pZywgYWxsZSBsZXZlbDwyNiB6dQpwb3RlbnRpZWxsZW4gc3BpZWx2ZXJkZXJiZXJuIGFienVzdGVtcGVsbi4uLmljaCBzdGVsbCBtaWNoIGphIGF1Y2ggbmljaApoaW4gdW5kIGJlaGF1cHRlLCBhbGxlIGVyeiBiYXVuIG51ciBtaXN0IHVuZCBtYWNoZW4ga2F1bSBtZWhyIHdhcwprb25zdHJ1a3RpdmVzIGhpZXIgKGljaCBob2ZmZSwgaWNoIGhhYmUgamV0enQgbmljaHQgZWluIG5ldWVzIHRoZW1hCmF1Zmdld29yZmVuIDspCmVpbmVzIGRlciBncm9lc3N0ZW4gcHJvbGVtZSBkZXJ6ZWl0IGlzdCB1bmQgYmxlaWJ0LCBkYXNzIGplZGVyIHNlaGVyCm1hZ2llciB3ZXJkZW4ga2FubiwgdW5kIGdyYWQgZnVlciBkaWUgSExQcyBtaXQgZGVuIHZpZWxlbiB6d2VpdGllcyBpc3QKZXMga2VpbiBwcm9ibGVtLCBkZXJ6ZWl0IGVpbmVuIHVuZXJrYW5udGVuIG1hZ2llciBob2NoenV6dWVjaHRlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwcnVjaCBkZXMgTW9tZW50cyAoR3V5YnJ1c2gsIDE1LiBBcHIgMTk5NywgMDg6MzY6MzIpOgoKV2VyIHNpY2ggc2VsYnN0IHp1IGVybnN0IG5pbW10LCBsYWV1ZnQgR2VmYWhyIGxhZWNoZXJsaWNoIHp1IGVyc2NoZWluZW4uCgpBdXRvcjogd2Vpc3MgbmljaC4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT0ggTWFubiAoTGksIDE1LiBBcHIgMTk5NywgMDg6NDM6MDQpOgp+IyEgcm49SmltZGlncml6IHJ0PTg2MTA1ODA0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA1ODA0NgpUamEsIGRlbSBrYW5uIGljaCBtaWNoIG51ciBhbnNjaGxpZXNzZW4uIE1hbCBlaW4ga2V0emVyaXNjaGVyIFZvcnNjaGxhZzoKVmllbGxlaWNodCBzb2xsdGUgbWFuLCBhbnN0ZWxsZSBkaWUgU3BpZWxlciB6dSBiZXN0cmFmZW4sIGRvY2ggbGllYmVyIGRpZQpNYWdpZXIgZWluIHdlbmlnIHVlYmVyd2FjaGVuLiBTY2hsaWVzc2xpY2ggc2luZCBzaWUgZXMsIGRpZSAiR2VoZWltbmlzc2UiCnFhbGxlciBBcnQgd2VpdGVyZ2ViZW4uIE9kZXIgZGllIGFsdGUgTWFzY2hlOiBJY2ggbWFjaGUgZWluZW4gWndlaXRpIHp1bQpNYWdpZXIsIGhvbGUgbWlyIGFsbGVzIGJyYXVjaGJhcmUsIGxvZXNjaGUgaWhuLCB1bmQgc3BpZWxlIG1pdCBtZWluZW0gRXJzdGllCndlaXRlci4uLiAKTGkgKGZpbmRldCBNYWdpZXJ1ZWJlcndhY2h1bmcgd2VuaWdlciBzY2hsaW1tIGFscyBTcGllbGVydmVyZ3JhdWx1bmcsIGRhIGRhcwpNVUQgZWhlciBuZXVlIFNwaWVsZXIgYWxzIG5ldWUgTWFnaWVyIGJyYXVjaHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXbyBsZWJ0IGlocj8gKFBoeWdvcywgMTUuIEFwciAxOTk3LCAwODo1NzowMyk6ClRhdHNhZWNobGljaC4gRW5kbGljaCwgbmFjaCBKQUhSRU4gZmFlbGx0IGVzIGVpbmVtIE1hZyBtYWwgYXVmLCBkYXMgc2ljaCBlaW4KcGFhciBzcGllbGVyIE1hZ2llcnp3ZWl0aXMgaGFsdGVuLiBTYWd0IG1hbCwgd28gd2FydCBpaHIgaW4gZGVyIFp3aXNjaGVuemVpdD8KU2VkaWVydD8gVGhlcmFwaWVydD8gSW4gU2ljaGVyaGVpdHN2ZXJ3YXJ1bmc/IFVlYmVyIGRpZSBJZGVlIHNpY2ggZWluZW4KTWFnaWVyLWF1c2xlaWgtendlaXRpIHp1IGVyc2NoYWZmZW4gaXN0IGhpZXIgaW4gRC1kb3JmIGF1Y2ggc2Nob24gbWFsCm5hY2hnZWRhY2h0IHdvcmRlbi4gQWJlciBpbSBFbmRlZmZla3Qgd2FyZW4gd2lyIGRhbm4gZG9jaCB6dSBmYXVsLiBOYWphIGVnYWwuClRyb3R6ZGVtIHNhc3MgaGllciBzY2hvbiBkZXMgb2VmdGVyZW4gZWluZSBnYW56ZSBIb3JkZSBmcnVzdHJpZXJ0ZXIgU2VoZXIsIGRpZQpmYXN0IHJ1bmQgdW0gZGllIFVociBtdWRkZW4sIGRpZSBhYmVyIHRyb3R6ZGVtIHNvICJlaW5pZ2VuIiBTcGV6aXMgbnVyIG1pdApvZmZlbmVtIE11bmQgenVzY2hhdWVuIGtvZW5udGUsIHdlbm4gZGllc2UgaWhyICJTUEVaSUFMV0lTU0VOIiBhdXNwYWNrdGUuICgKei5Cc3AuIHdpcmQgbWFuIGlyZ2VuZHdpZSBzdHV0emlnIHdlbm4gZWluZSBuZXVlIEdlZ2VuZCBlcnN0IDUgTWludXRlbgplcm9lZmZuZXQgaXN0LCBkYW5uIGFiZXIgZGllc2UgU3BlemlhbGlzdGVuIHNjaG9uIGplZGUgSGVpbHN0ZWxsZSB1bmQgamVkZQpndXRlIGJ6dy4gZXhlbGVudGUgV2FmZmUvUnVlc3R1bmcgZG9ydCBrZW5uZW4uIE5pY2h0IHp1IHZlcmdlc3NlbiBhdWNoIGRpZQpUcmlja3Mgd2llIGRpZSBOcGMgenUga25hY2tlbiBzaW5kLikgT2sgbWFuIG5pbW10IHNvIGV0d2FzIGhpbi4gRnVlciBtaWNoIHdhcgpkYXMgd2llIHNjaGxlY2h0ZXMgV2V0dGVyLiBFcyBrb21tdC4gRXMgZ2VodC4gTWFuIGxlYnQgZGFtaXQuIFdhcyBtaWNoIG51bgphYmVyIHNlaHIgdmVyd3VuZGVydCwgaXN0IGRpZSBSZWFrdGlvbi4gUGxvZXR6bGljaCBzdGVodCBkZXIgTGFzdGVyIGltCkh1ZWhuZXJob2YsIHVuZCBkaWUgRXJ6Z29ja2VsIGZsYXR0ZXJuIHdpZSB3aWxkIHVtIGlocmUgSGVubmVuLiBTVFJBRkVOCkJPWUtPVFQgU1RSRUlLIENIQU9TIEFOQVJDSElFLiBLaW5uZXJzIG5laG10IEJhbGRyaWFuLiBOYXR1ZXJsaWNoIGlzdCBkYXMKbmljaHQgbmV0dC9mYWlyL2tsdWcgZXRjIGV0Yy4gQWJlciBzbyBpc3RgcyBudW4gbWFsLiBFcyBnaWJ0IGltbWVyIFNwZXppZXMgZGllCnNpY2ggZWluZW4gVm9ydGVpbCB2ZXJzY2hhZmZlbi4gVW5kIHNpY2hlcmxpY2ggZ2lidHMgYXVjaCBNZXRob2RlbiBkYXMgenUKdW50ZXJiaW5kZW4uIEFiZXIgYml0dGUgZG9jaCBuaWNodCBnbGVpY2ggZGFzIEhhdXMgYWJyZWlzc2VuIG51ciB3ZWlsIGVpbiBCaWxkCnNjaGllZiBhbiBkZXIgV2FuZCBoYWVuZ3QuIFZpZWxlaWNodCBzb2xsdGVuIGRpZSBadWdyaWZmc3JlY2h0ZSB2ZXJhbmRlcnQKd2VyZGVuLiBXaWU/IERhIG1pc2NoIGljaCBtaWNodCBuaWNodCBlaW4uIFVuZCB3ZW5uIElociBkYW5uIGFsbGUgd2llZGVyIGF1ZgpkZW0gdGVwcGljaCBzZWlkLCBvaG5lIGV1Y2ggenUgZXJ3dWVyZ2VuLCBzY2hhdXQgZXVjaCBtYWwgZGVuIG5ldHRlbiBrbGVpbmVuCkJ1ZyBhbiwgZGVyIG1pY2ggbmFjaCBqZWRlbSBSZWJvb3QgaW5gcyBOaWNodHMgYmVmb2VyZGVydCwgbWVpbmUgZ2VzYW10ZW4KQXV0b2xvYWRvYmpla3RlIHZlcnNjaHdpbmRlbiBsYWVzc3QsIHVuZCBsYW5nc2FtIGFiZXIgc2ljaGVyIG1laW5lIE5lcnZlbgpibGFua2ZlZ3QuIE9raS4gQmlzIGRlbm5lLiBJbW1lciBtaXQgZGVyIFJ1aGUgdW5kIHVlYmVybGVndGBzIEV1Y2ggbm9jaG1hbCAoCnZvcmFsbGVtIFdhcmdvbiApIG9iIG1hbiAgZGVubiBnbGVpY2ggQWxsZSBhbiBkaWUgV2FuZCBzdGVsbHQsIG51ciB3ZWlsIGVpbgpwYWFyIGF1cyBkZXIgUmVpaGUgdGFuemVuLiA6KSAgTWl0IGtuYWxsaWdlbSBHcnVzcyAKRXVlciBTcHJlbmdtZWlzdGVyID46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9IIE1hbm4gKExhY3JpbW9zYSwgMTUuIEFwciAxOTk3LCAxMDozMzozNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODYxMDU4MDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDU4MDQ2CkFjaCBkdSBncmVlbmUgbmVlZWlpbm5lZS4uLiprYXVtIGlzdCBtYW4gbmljaHQgZGEsIG1hY2hlbiBkaWUgaGllciB1bnNpbm4qCgpEZXNoYWxiIHp1IGFsbGVuICh1biltb2VnbGljaGVuIERpbmdlbiBtZWluZSBwZXJzb2VubGljaGUgdW5kIHZpZWwKKHZlcilhY2h0ZXRlIE1laW51bmc6CkRhcyBlaW5pZ2UgTWFnaWVybiBkZW4gU3BpZWxlcm4gaGVsZmVuIGhhdCBlcyAob2V0dGkpIHVuZCB3aXJkIGVzCmltbWVyIGdlYmVuIChkZXJ1bmRkZXIpLiBBYmVyIGRlc2hhbGIgZGllIG5vcm1hbGVuIFNwaWVsZXIgZGllIEZyZXVkZSBhbiBkZW0KTVVEIHp1IHZlcmRlcmJlbiwgaGFsdGUgaWNoCmZ1ZXIgdW5nZXJlY2h0LgpEYSBlcyBhYmVyIG51biB6dXIgQWJoYWVuZ3VuZyBlaW5pZ2VyIEdlYmlldGUgZ2Vrb21tZW4gaXN0LCBpc3QgZGFzIGdhbnplIGFiZXIKbm9jaCBsYW5nZSBrZWluIEdydW5kIGRlbSBGb2VyZGVydmVyZWluTUcgenUgZHJvaGVuIE1pdGdsaWVkc2NoYWZ0ZW4genUKa3VlbmRpZ2VuIGJ0dy4ga2VpbiBHZWxkIG1laHIgemFobGVuIHp1IHdvbGxlbi4KCldhcnVtIG51biBlaW5pZ2UgTWFnaWVyIFNwaWVsZXJoaWxmZSBtYWNoZW4sIGEpIGxpZWd0cyBkYXJhbiBkYXMgZGVyIHVuZCBkZXIKU2VoZXIgZGllc2VuIE1hZ2llciBnZWhvbGZlbiBoYXQgc2ljaCBob2NoenVzcGllbGVuLCBkdXJjaCB6dXNjaGlja2VuIGRpdi4KU2NyaXB0ZSB1bmQgS2xzLiBVbmQgc2ljaCBudW4gZGVyIE1hZ2llciByZXZhbmNoaWVyZW4gc29sbCwgdW0gZGVuIExldXRlbgpGb3JzY2hlcnB1bnRrdGUgenUgc3VjaGVuLCBpaG5lbiBkZW4gU3RhdHMgdm9uIE5QQ1MgZXRjIG1pdHp1dGVpbGVuLiAoaW4gZGVyClJlZ2VsIHNpbmQgZGFzIHNvbGNoZSBNYWdpZXIgZGllIGEpIG51ciBkaWUgZWJlbmVuIHp1ICBtdWVsbGVuLCBiKSBsZXZlbCAyMQpzaW5kIHVuZCBjKSBlaW4gendlaSBGaWxlcyBoYWJlbiBpbiBkZW4gbWVpc3RlbnMgcGFhciBoaXJudmVyYnJhbm50ZSBJdGVtcyB6dQpmaW5kZW4gc2luZCkuCgpPYiBlcyBhYmVyIHp1IGRlbSBQcm9ibGVtIGVpbmUgTG9lc3VuZyBnaWJ0LCBtb2VjaHRlIGljaCBoaWVyIG5pY2h0CmFuc3ByZWNoZW4uIERpZSBNYWdpZXIgKGFlaGVtIGF1Y2ggaWNoKSBzb2xsdGVuIHNpY2ggbWFsIGFsbGVzIGR1cmNoIGRlbiBLb3BmCmdlaGVuIGxhc3NlbiB1bmQgaW4gUnVoZSBiZXJhdGVuIHdhcyB6dSB0dW4gaXN0LiBBYmVyIGRhcyB3YXMgenVyIFplaXQgZ2VtYWNodAp3aXJkLCBpc3QgcmVnZWxyZWNodCBzY2hlaSogZXMgdmVydHJlaWJ0IG51ciBlaW5pZ2UgYWx0ZWluZ2VzZXNzZW5lIFNwaWVsZXIKdW5kIGRpZSBTY2h1bGRpZ2VuIG1hY2hlbiB3ZWl0ZXIgd2llIGJpcyBoaWVyLgoKLS09PT0gYmx1ZW1jaGVuID09PS0tCgpQUzogSGFlbmd0IFRhcmtvIFJldWIgYW4gKGlzdCBlaW5lIGRlciBnZWlsc3RlbiBRdWVzdCkgdW5kIGhhZW5ndCBXZXR0ZXJ3YWNocwphYiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFybWVzIE1HICEgKEdvbGRwZm90ZSwgMTUuIEFwciAxOTk3LCAxMToyNjo1Mik6CkFsc28gZGFzIG1pdCBkZXIgUHJvdGVzdGFrdGlvbiBpc3QgZWluZSBzZWhyIHNlaHIgendlaXNjaG5laWRpZ2UgU2FjaGUgdW5kIGhhdApkYXMgS2xpbWEgaGllciBpbSBNb3JnZW5ncmF1ZW4gd29obCBmdWVyIGVpbmlnZSBaZWl0IHZlcmdpZnRldCwgWnVtaW5kZXN0IG1pcgptYWNodHMgenVyIFplaXQga2VpbmUgU3Bhc3MgbWVociBoaWVyIGltIE1HIHp1IHNwaWVsZW4uIElzdCBzb3dpc28gc2Nob24Kc2Nod2llcmlnIGdlbnVnIHdlbm4gbWFuIGFscyAwOC8xNSBTdGFuZGFyZChhYmVudGV1cmVyKXNlaGVyIGFuIGRpZQp2ZXJtZWludGxpY2ggcmljaHRpZyBndXRlbiBTYWNoZW4ga29tbWVuIHdpbGwuIEFiZXIgbWFsIGVocmxpY2ggYnJhdWNodCBtYW4KZGllIGVpZ2VudGxpY2ggd2lya2xpY2guIEZ1ZXIgZGllIG1laXN0ZW4gUXVlc3RlbiBpc3QgZGllIEF1c3J1ZXN0dW5nIGVoZXIKbmViZW5zYWVjaGxpY2guCldlbm4gaWNoIG5pY2h0IGdlbmF1IHd1ZXNzdGUgZGFzcyBkZXIgMS4gQXByaWwgdm9yYmVpIGlzdCB3dWVyZCBpY2ggZGFzIGdhbnplCmZ1ZXIgbmVuIFNjaGVyeiBoYWx0ZW4gdW5kIGRlbmtlbiBpbSBNRyBpc3QgZ3JhZGUgZGVyIGtvbGxla3RpdmUgV2FobnNpbm4KYXVzZ2Vicm9jaGVuLiBEYXMgZ2FuemUgaXN0IGVpbiBTUElFTCB1bmQgZGEgd2lyZHMgaW1tZXIgU3BpZWx2ZXJkZXJiZXIgZ2ViZW4uCkRpZSBrYW5uIG1hbiBlbnR3ZWRlciB0b2xsZXJpZXJlbiAoZGllIGVpbmUgU2ljaHR3ZWlzZSkgb2RlciBoYWx0IHJpZ29yb3MgYXVzCmRlbSBTcGllbCBlbnRmZXJuZW4gKGRpZSBhbmRlcmUgU2ljaHR3ZWlzZSkuIERpZXNlciBSdW5kdW1zY2hsYWcsIGRlciBzbyB2aWVsZQp2b2VsbGlnIHVuYmV0ZWlsaWd0ZSwgZ2FueiBub3JtYWxlIFNwaWVsZXIgYmV0cmlmZnQgZGllIG5pY2h0cyBhbmRlcmVzIHdvbGxlbgphbHMgaGllciBpaHJlbiBTcGFzcywgaXN0IGF1cyBtZWluZXIgU2ljaHQgaG9mZm51bmdzbG9zIHVlYmVyem9nZW4gdW5kCndpcmQgd2VubiBzaWNoIGhpZXIgbmljaHRzIGFlbmRlcnQgd29obCBlaW5lIGdhbnplIE1lbmdlIExldXRlIHZlcmdyYXVsZW4uClNjaGF1dCBldWNoIGRvY2ggbWFsIGRpZSAiTWFnaWVyaW5mbGF0aW9uIiBoaWVyIGltIE1HIGFuLCBkZW5uIGljaCBkZW5rZQpzY2hvbiwgZGFzcyBkYXMgUHJvYmxlbSB6dSBlaW5lbSBncm9zc2VtIFRlaWwgaGF1c2dlbWFjaHQgaXN0LiBXaWUgc2NobmVsbApzaW5kCmhpZXIgZWluaWdlIExldXRlIE1hZ2llciBnZXdvcmRlbiB1bmQgd2FzIGhhYmVuIHNpZSBsZXR6dGVuZGxpY2ggZnVlciBkYXMKTUcgZ2V0YW4gPyBEZXIgTWFnaWVydmVydHJhZyBiZWRldXRldCBoYWx0IG5lYmVuIGRlbiBuZXVlbiBQcml2aWxlZ2llbiBhdWNoCmVpbmUgQXJ0IFZlcmFudHdvcnR1bmcgZnVlciBkYXMgU3BpZWwgdW5kIGRhcyBzY2hlaW50IHdvaGwgZWluaWdlbiBMZXV0ZW4KbmljaHQga2xhciB6dSBzZWluLgoKQWxzIExvZXN1bmdzdm9yc2NobGFnIGZ1ZXIgZGllIGdhbnplIFNhY2hlIGthbm4gaWNoIG51ciBhbmJpZXRlbiBkYXMgR2FuemUgc28KaGluenVuZWhlbWVuIHdpZSBlcyBpc3QgKGFsc28gZGllIFNwaWVsdmVyZGVyYmVyIGhpbnp1bmVobWVuKS4gV2FzIG1pY2ggbmljaHQKaW0gZ2VyaW5nc3RlbiBzdG9lcnQsIGVzIG1pciBzbyBzY2hlaXNzIGVnYWwgd2llIGplbWFuZCBhbmRlcmVzIGFuIGRpZSBXYWZmZQpnZWtvbW1lbiBpc3Qgb2RlciBlaW5lIFF1ZXN0IGJlc3RhbmRlbiBoYXQuIFdlbm4gbWFuY2hlIG1laW5lbiBzaWUgbXVlc3N0ZW4KZGFiZWkgYmV0cnVlZ2VuIGRhbm4gaGFiZW4gc2llIHNpY2ggZG9jaCBsZXR6ZW5kbGljaCBudXIgc2VsYmVyIHVtIGRlbiBTcGllbC0Kc3Bhc3MgZ2VicmFjaHQuIE1pciBrb21tdHMgZG9jaCBlaGVyIGRhcmF1ZiBhbiB3YXMgaWNoIHNlbGJlciBoaWVyIGltIE1HCmZlcnRpZyBicmluZ2UgYXVjaCB3ZW5uIGRhcyBtYW5jaCBlaW4gZ2VybmUgU3VwZXJzZWhlciBlaGVyIG1pdGxlaWRpZwpiZWxhZWNoZWxuIHdpcmQuIE9kZXIgZGllIGFuZGVyZSBBbHRlcm5hdGl2ZSB3YWVyZSBkaWVzZSBMZXV0ZSBoYWx0IGduYWRlbmxvcwp6dSBsb2VzY2hlbiwgZWdhbCB3ZWxjaGVuIGxldmVsIHNpZSBoYWJlbiwgYWJlciBkYXMgdHJhdXQgc2ljaCBqYSBrZWluZXIgdW5kCmRpZSBkdW1tZW4gc2luZCBpbSBBdWdlbmJsaWNrIGFsbGUgZGllIGRpZSBlaHJsaWNoIGdlc3BpZWx0IGhhYmVuIHVuZCBzaWNoCmJyYXYgYW4gZGllIFJlZ2VsbiBoYWx0ZW4uCkRhcyBnYW56ZSBicmluZ3Qgc28gamVkZW5mYWxscyBnYXJuaXgsIGF1c3NlciB2aWVsbGVpY2h0IGVpbmUKdWViZXJxdWVsbGVuZGUgTVBBCgpUYW5nYWx1ciBGZXVlcnRhdHplLCBkZXIgZGllIFdlbHQgbmljaHQgbWVociB2ZXJzdGVodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFybWVzIE1HICEgKEdub21lLCAxNS4gQXByIDE5OTcsIDEyOjIwOjM4KToKfiMhIHJuPUdvbGRwZm90ZSBydD04NjEwOTY0MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKCmphdSEgYmluIGdhbnogZGVpbmVyIG1laW51bmcuLi4gdmllbGxlaWNodCBzb2xsdGUgbWFuIG1hbCBzaWNoIGJlbXVlaGVuLApkaWUgd2lya2xpY2ggc2Nod2FyemVuIHNjaGFmZSB6dSBzY2huYXBwZW4gKG1pdCB3ZWxjaGVuIG1ldGhvZGVuIGF1Y2gKaW1tZXIpIHN0YXR0IHJpZ2Vyb3MgS29sbGVrdGl2LVN0cmFmZW4genUgdmVyaGFlbmdlbiEgZGFzIGJyaW5ndCBudXIKc2NobGVjaHRlIGx1ZnQgdW5kIDk5JSBhbGxlciBzcGllbGVyIGFlcmdlcm4gc2ljaCBudXIgZGFydWViZXIuLi4KCmljaCBrYW5uIHdhcmdvbiBzZWhyIGd1dCB2ZXJzdGVoZW4sIGJpbiBpY2ggZG9jaCBzZWxiZXIgcHJvZ2dlciBpbSBHTDsKYWJlciBkaWVzZSB2b3JnZWhlbnN3ZWlzZSBpc3QgX2Fic29sdXRfIG5pY2h0IGRpZSByaWNodGlnZS4uLgoKZGFzIGlzdCBzbywgYWxzIHdlbm4gZGVyIHNjaGlyaSBuZSBnYW56ZSBtYW5uc2NoYWZ0IHZvbSBwbGF0eiBzY2hpY2t0LApudXIgd2VpbCBlaW5lciBnZWZvdWx0IGhhdC4uLiB3ZW5uIGljaCBtaXIgZGllc2VuIHZlcmdsZWljaCBlcmxhdWJlbgpkYXJmLi4uCmZpbmRldCBlaW5lbiBhbmRlcmVuIHdlZywgZGFzIHp1IHVudGVyYmluZGVuLiBzbyBqZWRlbmZhbGxzIHBhc3NpZXJ0IGluCmRpZXNlciBoaW5zaWNodCBnYXIgbml4IQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcm1lcyBNRyAhIChTY2hsaXBzLCAxNS4gQXByIDE5OTcsIDEyOjIyOjA2KToKfiMhIHJuPUdvbGRwZm90ZSBydD04NjEwOTY0MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKTmFqYSwgZ2FueiBzbyB3dWVyZGUgaWNoIGRhcyBuZXQgc2VoZW4sIGRhc3MgZGFzIGhpZXIgZWluIFNwaWVsIGlzdCBpbiBkZW0KamVkZXIgKG9kZXIgYXVjaCBudXIgZWluIHBhYXIgd2VuaWdlKSBtYWNoZW4ga29lbm5lbiB3YXMgc2llIHdvbGxlbi4KU2NobGllc3NsaWNoIGhhdCBtaWNoIGRpZXNlcyAiU3BpZWwiIGluendpc2NoZW4gYXVjaCBzY2hvbiAzMCAodm9sbGUpClRhZ2UgbWVpbmVzIFJMLUxlYmVucyBnZWtvc3RldCAoaG1tLCBnZWtvc3RldCBzdGltbXQgc28gZWlnZW50bGljaCBhdWNoIG5ldCwKYWJlciB3YXMgc29sbHMpIHVuZCBnZWhvZXJ0IGRhbWl0IGlyZ2VuZG8gYXVjaCB6dSBtZWluZW0gUkwuIFVuZCB3ZW5uCmRpZXNlcyBTcGllbC9kaWVzZXIgQmVzdGFuZHRlaWwgbWVpbmVzIFJMLUxlYmVucyBrYXB1dHRnZW1hY2h0IHdpcmQgKHp1bWluZGVzdAppbiBBbnNhZXR6ZW4pIGRhbm4gbmVobWUgaWNoIG1pciBzZWhyIHdvaGwgZGFzIFJlY2h0IHp1IHByb3Rlc3RpZXJlbi4KTWVpbiBQcm90ZXN0IHVuIGRlciBhbmRlcmVyIFNwaWVsZXIgZ2VnZW4gV2FyZ29uIChzIFByb3Rlc3QpIHJpY2h0ZXQgc2ljaApoYXVwdHNhZWNobGljaCBnZWdlbiBkaWUgVGF0c2FjaGUsIGRhc3MgV2FyZ29uIHp3YXIgZGllIE1hZ2llciBhbHMKU2NodWxkaWdlIChuYWphLCBuaWNodCBESUUsIHNvbmRlcm4gZWluaWdlKSBicmFuZG1hcmt0IGFiZXIgbWl0IHNlaW5lbQpQcm90ZXN0IGhhdXBzYWVjaGxpY2ggZGllIFNwaWVsZXIgdHJpZmZ0LgpXZW5uIGRhcyBaaWVsIGRlcyBQcm90ZXN0cyBudXIgd2FyIG5lIERpc2t1c3Npb24gYW56dWZhbmdlbiwgZGFubiBkZW5rZSBpY2gKaXN0IGRhcyBaaWVsIHNjaG9uIGVycmVpY2h0IHdvcmRlbiB1bmQgaWhyIGtvZW5udCBldXJlIEdlYmlldGUgdW5kIFF1ZXN0ZW4Kd2llZGVyIGFuaGFlbmdlbi4KSW56d2lzY2hlbiBrYW1lbiBqYSBnZW51ZWdlbmQgbWlzc3RhZW5kZSB6dXIgU3ByYWNoZSB1bmQgQW5yZWd1bmdlbiB3aWUgbWFuCmRpZSB1bWdlaGVuIGthbm4sIGRhc3Mgc2ljaCBlaW5pZ2UgRXJ6bWFnaWVyIG1hbCBnZWRhbmtlbiBtYWNoZW4ga29lbm5lbiwKd2llIG1hbiBzb3dhcyB2b24gdm9ybmhlcmVpbiB2ZXJoaW5kZXJ0LiBJY2ggYmluIHp3YXIgKHdhcyBNRy1FeGlzdGVueiAKYW5iZWxhbmd0KSBub2NoIG5ldCBzbyBsYW5nZSBkYWJlaSwgYWJlciBBdXNudWV0emVuIHZvbiBMdWVja2VuIGdhbiBlcyBqYQppbW1lciB3aWVkZXIuIERpZSBIeWRyYSBpc3QgZGEgd29obCBlaW4gZ2FueiBuZXR0ZXMgQmVpc3BpZWwuIEFiZXIKc28gd2llIGljaCBkYXMgbWl0Z2VrcmllZ3QgaGFiIGlzdCBkaWUgSHlkcmEgYXVjaCBlaW4gQmVpc3BpZWwgZGFmdWVyIHdpZQpkaWVzZSBMdWVja2VuIGF1Y2ggbmFjaCB1bmQgbmFjaCBiZXNlaXRpZ3Qgd3VyZGVuLiAoVmVyc3RhZW5kbGljaCBuYXR1ZXJsaWNoCndlbm4gZGFubiB2b24gU3BpZWxlcnNlaXRlIHp1bmFlY2hzdCBlaW4gUHJvdGVzdCBrb21tdCwgYWJlciBkYW1pdCBrYW5uIGljaAphbHMgU3BpZWxlciBnYW56IGd1dCBsZWJlbikuIFdhcyBXYXJnb25zIGFiaGFlbmdlbiBkZXIgUXVlc3QgdW5kIGRlcyBlbnRnaWZ0ZS0KU3BydWNocyBhbmdlaHQgbXVzcyBpY2ggc2FnZW4sIGRhc3MgZGFtaXQgZG9jaCBkZXV0bGljaCB0aWVmZXIgaW4gZGFzClNwaWVsZ2VzY2hlaGVuL0dsZWljaGdld2ljaHQgZGVzIE1HIGVpbmdlZ3JpZmZlbiB3aXJkLCBkYSBhbmRlcmUgR2ViaWV0ZQpqYSBhbmhhbmQgZGVyIGJlc3RlaGVuZGVuIFN0dWF0aW9uIGtvbnN0cnVpZXJ0IHdlcmRlbiAoZGFubiBiYXVuIHdpciBkYQpoYWx0IG5vY2ggbmUga2xlaW5lIEdpZnRmYWxsZSBlaW4gLi4uKQoKSG1tIC0gIHNjaG9lbiBsYW5nc2FtIHZlcmxpZXIgaWNoIGRlbiBGYWRlbiAuLi4KZGVzaGFsYiBudXIgbm9jaCBlaW5zCkFscyBzb2dlbmFubnRlciBlaHJsaWNoZXIgc3BpZWxlciAod2llIHByb3R6aWcgZGFzIGtsaW5ndCAtIGlnaXR0KSBzZWhlCmljaCBlcyBhdWNoIG5pY2h0IGVpbiB3ZW5uIE1hZ2llciBlcyB6dWxhc3NlbiwgZGFzcyBhbmRlciBNYWdpZXIgYmVzdGltbXRlClNwaWVsZXIgdWViZXJ2b3J0ZWlsZW4sIGRhIGZ1ZWhsZSBpY2ggbWljaCBkYW5uIGJlbmFjaHRlaWxpZ3QhIHVuZCBub2NoIG1laHIKc3RvZXJ0IGVzIG1pY2gsIHdlbm4gaWNoIGRhbm4gYXVjaCBub2NoIGRhZnVlciBiZXN0cmFmdCB3ZXJkZS4KClNvLCBpY2ggZ2ViIHp1LCBkYSB3dXJkZW4gamV0enQgdmllbGUgRGluZ2Ugd2llZGVyZ2VrYWV1dCwgYWJlciBpY2gKbGFzcyBoYWx0IGF1Y2ggZ2VybiBtYWwgU2VuZiBhYi4KCmljaCBmdWVobCBtaWNoIGRvY2ggZGV1dGxpY2ggYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuCgooYnR3IGljaCBrYW5uIFdhcmdvbnMgQWVnZXIgc2VociB3b2hsIHZlcnN0ZWhlbiAtIG5pY2h0IGFiZXIgc2VpbmUgTWl0dGVsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcm1lcyBNRyAhIChBbmFraW4sIDE1LiBBcHIgMTk5NywgMTI6MjI6NDkpOgp+IyEgcm49R25vbWUgcnQ9ODYxMDk5NjM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCkVpbmUga2xlaW5lIEJlbWVya3VuZyB2b24gbWlyOiBJY2ggZ2xhdWJlIGVzIHNpbmQgbmljaHQKbnVyIDk5JSBzb25kZXJuIGlyZ2VuZHdpZSB3ZXNlbnRsaWNoIG1laHIgbGV1dGUKZGllIGlyZ2VuZHdlbGNoZW4gUXVlbGxjb2RlIGhhYmVuLi4ud2llIGdlc2FndCwKbWVpbmUgRWluc2NoYWV0enVuZy4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFybWVzIE1HICEgKEhhcmRpbCwgMTUuIEFwciAxOTk3LCAxMjozMToxMik6Cn4jISBybj1BbmFraW4gcnQ9ODYxMDk5NzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCgpNYWwgbmUgYW5kZXJlIFNjaGVpYmUgZGVzc2VsYmVuIEthZXNlczoKRXMgd2FyIGRvY2ggc28sIGRhc3MgZGllamVuaWdlbiwgZGllIG1laHIgd2lzc2VuIHdvbGx0ZW4sIGVpbmZhY2ggb2VmdGVycyBuYWNoCk11ZW5zdGVyIHp1bSBTdGFtbXRpc2NoIGdlZmFocmVuIHNpbmQgdW5kIGRhbm4gbWl0IHZpZWwgSG9uaWd1bWJhcnRzY2htaWVyZW4KdW5kIGFuZGVyZSBkaWUgRWl0ZWxrZWl0IHByb2dyYW1taWVyZW5kZXIgTWFnaWVyIGF1c251dHplbmRlciBNaXR0ZWwKSW5zaWRlci1XaXNzZW4genUgYmVrb21tZW4uCkljaCBwbGFlZGllcmUgbmljaHQgZGFmdWVyLCBTdGFtbXRpc2NoZSBzZWluenVsYXNzZW4gLSBudXIgbXVzcyBtYW4gc2ljaApiZXd1c3N0IHNlaW4sIGRhc3MgKHRlaWx3ZWlzZSBhdWNoIHVuYWJzaWNodGxpY2gpIHZpZWwgenUgdmllbCBJbmZvcm1hdGlvbmVuCmJlcmVpdHMgaW4gU3BpZWxlcmhhbmQgc2luZC4KTW9uc3RlcmJlc2NocmVpYnVuZ2VuIHVuZCA5MDAuMDAwIFdhZmZlbmtyZXV6dmVyZ2xlaWNoZW4gc2llaHQuLi4gZGFubiBpc3QKd29obCBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCB2aWVsIHNjaGllZmdlbGF1ZmVuLiA6LSkKCmQuIE5lZWlzc2tsYXIuCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcm1lcyBNRyAhIChUdW5peGd1dCwgMTUuIEFwciAxOTk3LCAxMjozMjozNSk6Cn4jISBybj1TY2hsaXBzIHJ0PTg2MTA5OTcyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA5NjQxMgpBbHNvLCB3ZW5uIER1IG1pY2ggZnJhZ3N0LCBpY2gga2FubiBuaWNodCBlaW5tYWwgc2VpbmVuIEFlcmdlciB2ZXJzdGVoZW4sIG1pcgpwZXJzb2VubGljaCBpc3QgZXMgZG9jaCBzY2hlaXNzZWdhbCwgd2llIG1laW4gZ2VnZW51ZWJlciBpbm5lcmhhbGIgdm9uIDEwClN0dW5kZW4genUgMjUwIExQcyB1bmQgTVBzIHVuZCB6dW0gU2VoYS1TdGF0dXMgZ2Vrb21tZW4gaXN0LCB3ZW5uIGVyL3NpZQptZWludCwgZGFzIHVlYmVyIEVpbmJsaWNrZSBpbiBkZW4gc291cmNlLWNvZGUgenUgcmVhbGlzaWVyZW4sIHNvbGxlbiBzaWUgZG9jaAotIHdhcyBrdWVtbWVydCdzIG1pY2g/Pz8gSWNoIGthbm4gZGFzIGF1Y2ggdm9uIE1hZ2llci1TZWl0ZSBuaWNodCB2ZXJzdGVoZW4uLi4KV2VubiBpY2ggJ25lIFF1ZXN0IHNjaHJlaWJlIG9kYSBOUEMgcHJvZ2dlLCBkYW5uIG11c3MgaWNoIGhhbHQgZGFtaXQgcmVjaG5lbiwKZGFzcyBhbmRlcmUgZGVuIG1pdCBtaWVzZW4gVHJpY2tzIHVtbmlldGVuISBVTkQ/Pz8/IEdvdHQsIHdhcnVtIG1hbiBzaWNoIGRhIHNvCmluJ3MgSGVtZCBwaXNzdCAoTWFuIG1vZWdlIG1pciBtZWluZSBBdXNkcnVja3N3ZWlzZSB2ZXJ6ZWloZW4pLCB3ZXJkZSBpY2ggd29obApuaWUgdmVyc3RlaGVuLgoKVHVOaXhHdXQgLSB2YXN0ZWh0IGRpZSBnYW56ZSBBdWZyZWd1bmcgbmljaHQuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcm1lcyBNRyAhIChIYXJkaWwsIDE1LiBBcHIgMTk5NywgMTI6MzY6MDcpOgp+IyEgcm49VHVuaXhndXQgcnQ9ODYxMTAwMzU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCgpOZWUsIFR1bml4Z3V0LCBkYXMgc2VoZSBpY2ggYW5kZXJzLgpXZW5uIHNpY2ggZWluIE1hZ2llciBkaWUgTXVlaGUgbWFjaHQsIHNlaHIgYXVmd2VuaWdlIEdlYmlldGUgdW5kL29kZXIgTW9uc3Rlcgp6dSBwcm9ncmFtbWllcmVuLCB1bmQgZGFubgphKSBlaW5pZ2UgTWFnaWVyIHNpY2ggZWluZW4gU3Bhc3MgZHJhdXMgbWFjaGVuLCBkYXMgenUgc2Fib3RpZXJlbiwgaW5kZW0gc2llCnRvb2xzIGJhc3RlbG4sIG1pdCBkZW5lbiBTcGllbGVyIHNpY2ggZGEgQWJrdWVyenVuZ2VuIGJhdWVuIGtvZW5uZW4gdW5kIApiKSBTcGllbGVyIHNpY2ggbWl0IEhpbGZlIGRlcyBTb3VyY2UtQ29kZXMgVm9ydGVpbGUgdmVyc2NoYWZmZW4sIGRpZSBzaWUgbmljaHQKaGFiZW4gZHVlcmZ0ZW4sCgpkYW5uIGthbm4gaWNoIGRpZSBFbXBvZXJ1bmcgZWluZXMgTWFnaWVycyBzZWhyIGd1dCB2ZXJzdGVoZW4uCkljaCBtb2VjaHRlbiB6dW0gQmVpc3BpZWwgbmljaHQgd2lzc2VuLCB3aWV2aWVsZSBMZXV0ZSBNYWdpZXIgZ2V3b3JkZW4gc2luZCwKdW0gYW4gZGVuIFF1ZWxsY29kZSBkZXIgaHlkcmEgenUga29tbWVuLi4uCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJtZXMgTUcgISAoVHVuaXhndXQsIDE1LiBBcHIgMTk5NywgMTI6NTY6NDEpOgp+IyEgcm49SGFyZGlsIHJ0PTg2MTEwMDU2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA5NjQxMgpBbHNvIEhhcmRpbCwgd2VubiBzaWNoIGVpbiBNYWcgaW4gZGllIEhvc2Ugc2NoZWlzc3QsIHdlaWwgZGllIExldXRlIHNlaW4KTW9uc3RhIHJlaWhlbndlaXNlIHVtbmlldGVuLCBvYndvaGwgZXIgc2ljaCBTT09PTyB2aWVsIE11ZWhlIGdlZ2ViZW4gaGF0LCBkYXMKVGVpbCBtb2VnbGljaHN0IHNjaHdlciB6dSBtYWNoZW4uLi4uIC0gbWVpbiBHb3R0LCBkYW5uIHNvbGwgZXIgc2ljaCBpbiBkaWUKRWNrZSBzdGVsbGVuIHVuZCBoZXVsZW4uLi4KRGFzIGlzdCBkb2NoIGFic29sdXQgYWxiZXJuLCBkYSBhdWYgZGllIEJhcnJpa2FkZW4genUgZ2VoZW4sIHVuZCBzZWluZSBHZWJpZXRlCmFienVrbGVtbWVuISEhCgpLb3Bmc2NodWV0dGVsbmQgLSBUdU5peEd1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXJtZXMgTUcgISAoSGFyZGlsLCAxNS4gQXByIDE5OTcsIDEyOjU5OjQ1KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg2MTEwMTgwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA5NjQxMgoKTmUgRHUuCldlbm4gZWluIFNwaWVsZXIgZGFzIE1vbnN0ZXIsIG5lbm5lbiB3aXIgZXMgSHlkcmEsIGF1cyBlaWdlbmVyIEtyYWZ0IHVtbmlldGV0Ci0gZGFubiBpc3QgZGFzIG9rZWUuCldlbm4gYWxsZXJkaW5ncyBkYXVlcm5kIE1hZ2llciBkYWJlaSBoZWxmZW4sIGRhc3MgZGFzIE1vbnN0ZXIgZ2V0b2V0ZXQgd2VyZGVuCmthbm4gKHp1bSBCZWlzcGllbCBkdXJjaCBpbGxlZ2FsZSBEeW5hbWl0LVRyYW5zcG9ydGF0aW9uIGlucyBNb25zdGVyZ2ViaWV0IC0KZGFubiBrYW5uIGljaCB2ZXJzdGVoZW4sIHdlbm4gZGVyIE1hZ2llciBvYiBkZXIgVW5zb2xpZGFyaXRhZXQgc2VpbmVyCk1hZ2llcmtvbGxlZ2VuIHNhdWVyIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFybWVzIE1HICEgKFR1bml4Z3V0LCAxNS4gQXByIDE5OTcsIDEzOjA1OjEyKToKfiMhIHJuPUhhcmRpbCBydD04NjExMDE5ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKQWxzbywgd2VubiBEdSBtaWNoIGZyYWdzdCAodHVzdCBEdSB3b2hsIGFiYSBuaWNodCksIG1pciB3YWVyZSBkYXMgYWxzIGRlciBNYWcsCmRlciBzaWNoIGRpZSBNdWVoZSBnZW1hY2h0IGhhdCB2b2VsbGljaCBzY2hudXBwZSAtIHNjaGVpc3NlIHdpcmQncyBob2VjaHN0ZW5zCmRhbm4sIHdlbm4gZWluIC0gbnVuLCBzYWdlbiB3aXIgbWFsIGVocmxpY2hlciBTcGllbGVyIC0ga2VpbmUgSHlkcmEgbWVocgp2b3JmaW5kZXQhCgpUdU5peEd1dCAtIGlzdCBkZXIgTWVpbnVuZywgamVkZXIgU3BpZWxlciBzb2xsdGUgc2VsYnN0IGVudHNjaGVpZGVuLCBvYiBlcgplaHJsaWNoIHNwaWVsdCwgb2RhIG5pY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVoICEgKFJhbnRhbnBsYW4sIDE1LiBBcHIgMTk5NywgMTM6Mjc6MzQpOgpIdWh1ICEhIQoKQW4gZGllIERhbWVuIHVuZCBIZXJyZW4sIGRpZSBkYWZ1ZXIgUGxhZWRpZXJlbiwgZGllIHNjaHdhcnplbiBTY2hhZmUgYXVzZmluZGlnCnp1IG1hY2hlbgp1bmQgenUgYmVzdHJhZmVuLi4uLgoKRGFydW0gZ2VodCBlcyBkb2NoLCBkaWUgU3BpZWxlciBnZWdlbiBkaWUgTGV1dGUgYXVmenVicmluZ2VuLCBkYW1pdCBzaWUgc2llCmRlbnVuemllcmVuIHVuZCBvZGVyCm1hZGlnIG1hY2hlbi4uLgoKU2ltcGxlciBtYW5pcHVsYXRpb25zdmVyc3VjaCwgZGFzIHp1bWluZGVzdCBzb2xsdGV0IGlociBkdXJjaHNjaGF1ZW4uLi5obW1tbQoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVoICEgKEZ5dCwgMTUuIEFwciAxOTk3LCAxMzoyODo1Myk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2MTEwMzY1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTEwMzY1NAoKSGV5LCBPZXR0Y2hlbiwgbnVuIGxhc3MgdW5kIGRvY2ggbWFuaXB1bGllcnQgd2VyZGVuIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11aCAhIChHbm9tZSwgMTUuIEFwciAxOTk3LCAxMzozMzozNSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2MTEwMzY1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTEwMzY1NAp3YXMgd2lsbCB1bnMgZGllc2VyIGFydGlrZWwgZGFtaXQgc2FnZW4/ICgxMCBtaW4gZGVua3BhdXNlLi4uKQpobW0uLi4gZXJnZWJuaXM6IGluZm9ybWF0aW9uc2dlaGFsdD0wOyBlbnRlcnRhaW5tZW50PTA7IG1laW51bmc9PwoKbmFqYS4uLiBoYXN0IGF1Y2ggbWFsIHdhcyBnZXNhY2h0LCBvZXR0aSA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11aCAhIChGeXQsIDE1LiBBcHIgMTk5NywgMTM6NDA6MjcpOgp+IyEgcm49R25vbWUgcnQ9ODYxMTA0MDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTAzNjU0CgpIYXN0IERlaW5lbiBBcnRpa2VsIHNlaHIgc2Nob2VuIGNoYXJha3RlcmlzaWVydCwgR25vbWUgOy0pCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJtZXMgTUcgISAoQW5jYWxhZ29uLCAxNS4gQXByIDE5OTcsIDEzOjQyOjMyKToKfiMhIHJuPUdvbGRwZm90ZSBydD04NjEwOTY0MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKS251ZGRlbHMgdm9yd2VnISA6KQpJY2ggd29sbHRlIGVpZ2VudGxpY2ggbnVyIG1hbCB1ZWJlcmZsdWVzc2lnZXJ3ZWlzZSBhbm1lcmtlbiwgZGFzcyB0YW5nYWx1ciBtaXQKc2VpbmVyIFNpY2h0d2Vpc2UgbmljaHQgYWxsZWluZSBkYXN0ZWh0LiBJY2ggYmluIHppZW1saWNoIGdlbmF1IHNlaW5lcgpNYWVpbnVuZyEKTnVyIG1hbCBzbywgZGFtaXQga2VpbmVyIGRlbmt0LCBpY2ggaGFldHRlIGtlaW5lIE1laW51bmcuLi4uICpncmlucyoKTWl0IGZyZXVuZGxpY2hlbSBLbnVkZGVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmNhbGFnb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcmFjbyBrbnVkZGVsbGVuc2lzIG1ham9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcm1lcyBNRyAhIChBc21vZGlzLCAxNS4gQXByIDE5OTcsIDEzOjQ4OjU1KToKfiMhIHJuPUhhcmRpbCBydD04NjExMDA1Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKQWNoLCBkZXIgY29kZSBkZXIgaHlkcmEgaXN0IGRvY2ggYXVjaCBuaWNodCBzbyBhdWZyZWdlbmQsIGRhcyBlcmxlaWNodGVydCBtaXIKYXVjaApuaWNodCBkaWUgSmFnZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJtZXMgTUcgISAoUm9jaHVzLCAxNS4gQXByIDE5OTcsIDE0OjI1OjI5KToKfiMhIHJuPUhhcmRpbCBydD04NjExMDAyNzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKSG1tLCBpY2ggZXJmYWhyZSBhdWYgZGVuIFN0YW1tdGlzY2hlbiBpLmQuUi4gbWVociB2b24gZGVuIFNwaWVsZXJuCmFscyBkaWUgdm9uIG1pci4KPiBpbmZvClZlcmdsaWNoZW4gbWl0IERlaW5lbiBNaXRzcGllbGVybiwga2VubnN0IER1IERpY2ggaW0gTW9yZ2VuR3JhdWVuIHNjaGxlY2h0CmF1cy4KQWJzb2x1dCBnZXNlaGVuIGtlbm5zdCBEdSBudXIgd2VuaWcgdm9tIE1vcmdlbkdyYXVlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChHcmltbWJvcm4sIDE1LiBBcHIgMTk5NywgMTY6NTI6MTApOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYxMDYxMjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDE5MzI1ClVtIEhpbW1lbHMgV2lsbGVuLCBpY2ggaG9mZmUgZGFzcyBEdSBuaWUgZWluZW0gU2VnZWxjbHViIGJlaXRyZXRlbiB3aXJzdC4gCkRpZSBrb2VubmVuIGRhcyBnYW56IHNjaG9lbiBuZXJ2aWcgZmluZGVuLCB3ZW5uIER1IG1laW5zdCwgRHUgYmV6YWhsc3QgamEgR2VsZAppbSBWZXJlaW4sIGpldHp0IG11c3MgZGVyIFdpbmQgYXVjaCBiaXR0ZSBzbyB3ZWhlbiwgd2llIER1IERpciBkYXMgdm9yc3RlbGxzdC4KT2RlciBkaWUgTWVocmhlaXQgZGVyIFZlcmVpbnNtaXRnbGllZGVyIGVzIGdlcm5lIGhhZXR0ZS4gVW5kIHZvbSBXZWxsZW5nYW5nCmdhbnogenp1IHNjaHdlaWdlbi4KClVuZCBhbGxnZW1laW4gaXN0IGVzIGJlaSBGb2VyZGVydmVyZWluZW4gc28sIGRhc3Mgc2llIG5peCBtaXR6dWJlc3RpbW1lbgpoYWJlbi4gRGFzIGlzdCBiZWltIEZvZXJkZXJ2ZXJlaW4gbWVpbmVyIGFsdGVuIFNjaHVsZSBzbywgZGFzIGlzdCBiZWltCkZvZXJkZXJ2ZXJlaW4gZGVyIEtvZWxuZXIgUGhpbGhhcm1vbmllIHNvLCBkYXMgaXN0IHppZW1saWNoIGFsbGdlbWVpbi4KRm9lcmRlcnZlcmVpbmUgc2luZCBHZWxkZ2ViZXIsIGtlaW5lIE1pdGVudHNjaGVpZGVyLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBGb2VyZGVydmVyZWluc21pdGdsaWVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKEFzbW9kaXMsIDE1LiBBcHIgMTk5NywgMTY6NTM6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTExNTkzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpNYWcgc2VpbiwgYWJlciB3ZW5uIGVpbiBGb2VyZGVydmVyZWluIGdlZ2VuIGRpZSBJbnRlcmVzc2VuIHNlaW5lciBtZWlzdGVuCk1pdGdsaWVkZXIgaGFuZGVsdCwgZGFubiBnaWJ0cyBTdHVuaywgdW5kIHNvIGlzdCBlcyBoaWVyIGViZW4gYXVjaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQXJtZXMgTUcgISAoUGF0cnluLCAxNS4gQXByIDE5OTcsIDE2OjUzOjU5KToKfiMhIHJuPUhhcmRpbCBydD04NjExMDE5ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwOTY0MTIKamVkZXIgZHVtbWtvcGYga2FubiBkYSBkeW5hbWl0IHJlaW5zY2hhZmZlbiwgZGF6dSBicmF1Y2ggbWFuIGtlaW5lIG1hZ2llciwKYWxsZXJkaW5ncyBrYW5uIGljaCBudXIgenVzdGltbWVuLi4ubWFuIHNjaHJlaWJ0IG5pY2h0IHVtc29uc3QgbWFsCmVpbiBtZWdhbW9uc3Rlciwgc2NobGllc3NsaWNoIG1vZWNodGUgbWFuIHdpc3Nlbiwgd2VyIHNpY2ggYW0gYmVzdGVuCmFuc3RlbGx0IHVuZCBuaWNodCwgd2VyIGRpZSBiZXN0ZW4gY29ubmVjdGlvbnMgaGF0Li4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQXJtZXMgTUcgISAoQXNtb2RpcywgMTUuIEFwciAxOTk3LCAxNjo1NTo0OSk6Cn4jISBybj1QYXRyeW4gcnQ9ODYxMTE2MDM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCklzdCBqYSBzY2hvZW4gdW5kIGd1dCwgYWJlciB3YXMgc29sbCBEeW5hbWl0IG5vY2ggZ2VnZW4gZGllIEh5ZHJhIGhlbGZlbiA/CkRpZSBpc3Qgc2Nob24gZXdpZyBpbW11biBkYWdlZ2VuICEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSRTogTWlyIHJlaWNodHMgISB2b24gV2FyZ29uIGluIFBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiAoVHVuaXhndXQsIDE1LiBBcHIgMTk5NywgMTY6NTY6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTExNTkzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpKdXAsIGFiYSBudSBlcmtsYWVyIG1pciBkb2NoIG1hbCBkZW4gU2lubiwgZXR3YXMgenUgZm9lcmRlcm4sIHdvcmFuIGljaCB2b24KVGFnIHp1IFRhZyB3ZW5pZ2VyIFNwYXNzIGhhYmU/Pz8gVW5kIHdlbm4gRHUgQWt0aW9uZW4gd2llIGRpZSBkZXIgbGV0enRlbiBUYWdlCm1pdCBXZWxsZW5nYW5nIHZlcmdsZWljaHN0LCBuYSBkYW5rZSEgRGFubiBiZXRyYWNodGUgc2NodW1tZWxlaWVuIHZvbiBzcGllbGVyLQp1bmQgTWFnaWVyLXNlaXRlIG1hbCBnZW5hdXNvIGFscyB1bmFiYWVuZGVybGljaGUgdW5kIHVuYmVlaW5mbHVzc2JhcmUKdGF0c2FjaGUuLi4KCktvcGZzY2h1ZXR0ZWxuZCAtIFR1Tml4R3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9IIE1hbm4gKEdyaW1tYm9ybiwgMTUuIEFwciAxOTk3LCAxNjo1Njo0NCk6Cn4jISBybj1MYWNyaW1vc2EgcnQ9ODYxMDkzMjE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDU4MDQ2ClVtIG1hbCB3YXMga2xhcnp1c3RlbGxlbjogSWNoIG11ZWxsZSBudXIgZGllIEViZW5lbiB6dSAod2VubiBpY2ggbmljaHQgaWRsZQpiaW4pLCBpY2ggYmluIGxldmVsIDIxIHVuZCBpY2ggaGFiZSB3ZW5pZyBtZWhyIGFscyB6d2VpIGZpbGVzIG1pdCBqZSBlaW5lbQppdGVtIChtZWhyZXJlIGl0ZW1zIHBybyBmaWxlIGlzdCBuaWNodCBzbyBsZWljaHQuLi4pLiBVbmQgaWNoIGhhYmUgZGVmaW5pdGl2Cm1laHIgU3BpZWxlciB1bWdlYnJhY2h0IG9kZXIgd2Fzd2Vpc3NpY2ggYWxzIGdlaG9sZmVuLCBkYXMgaXN0IGVpbiB6aWVtbGljaAprbGFyZXMgenUgTnVsbCBTcGllbC4KTmVuZSwgZGFzIGlzdCBrYXVtIGxldmVsYWJoYWVuZ2lnLCBkYXMgaGF0IG1pdCBkZXIgRWluc3RlbGx1bmcgenUgdHVuLiBVbmQgZGllCndpZWRlcnVtIGR1ZXJmdGUgbGV2ZWx1bmFiaGFlbmdpZyBzZWluLiBTb2xsdGUgZGFzIG5pY2h0IHNvIHNlaW4gdW5kIEdvdHQKdGF0c2FlY2hsaWNoIGRlbWplbmlnZW4sIGRlbSBlciBlaW4gQW10IGdlZ2ViZW4gaGF0LCBkZW4gVmVyc3RhbmQgZGF6dSBnZWJlbiwKZGFubiBzb2xsdGVzdCBEdSBpbiBkZXIgS2lyY2hlIGF1ZiBLbmllZW4gR290dCB1bSBlaW4gQW10IGJpdHRlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPSCBNYW5uIChMYWNyaW1vc2EsIDE1LiBBcHIgMTk5NywgMTY6NTk6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTExNjIwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA1ODA0NgpkYSBnaWJ0cyBudXIgZWluIFByb2JsZW0sIGljaCBnbGF1YmUgbmljaHQgYW4gR290dC4gVW5kIG1laW4gWmllbCBpc3QKaGllciBNYWdpZXJsZXZlbCAyNiB6dSBiZWtvbW1lbiB1bmQgZGFzIE1HIHp1IGVyd2VpdGVybiB2ZXJzY2hvZW5lcm4sIGxhbGwsCnN1ZWx6LCBsYWJlciB6dHMgenUgdmVyc3RlY2tlbi4gRGVzd2VnZW4gYmluIGljaCBqYSBhdWNoIE1hZ2llciBnZXdvcmRlbi4KQW5zb25zdGVuIGhhZXR0ZSBpY2ggYXVjaCB3ZWl0ZXJoaW4gU2VoZXIgYmxlaWJlbiBrb2VubmVuLCBkZW5uIGFscyBTZWhlciBrYW5uCmljaCBhdWNoIGRpZSBFYmVuZW4genUgbXVlbGxlbi4KCk1HIC0gcXVlc3RzIC0gcmVnaW9uZW4gLSB6YXViZXJzcHJ1ZWNoZSA9IHNlbGJzdGxvZXNjaHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKEdyaW1tYm9ybiwgMTUuIEFwciAxOTk3LCAxNzowMDo1Mik6Cn4jISBybj1UdW5peGd1dCBydD04NjExMTYyMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwMTkzMjUKSmEsIGlociBzZWlkIEhlbGRlbi4KVHV0IG1pciBsZWlkLCBhYmVyIGljaCBoYWJlIGRlbiBFaW5kcnVjaywgZGFzcyBkaWUsIGRpZSBtZWNrZXJuIHVuZCBkYWJlaSBkZW4KVmVyZWluIGFuZnVlaHJlbiBrZWluZSBWZXJlaW5zbWl0Z2xpZWRlciBzaW5kIHVuZCBhcmd1bWVudGllcmVuICJzb25zdCBoYWV0dGUKaWNoIGphLi4uIiAiaWNoIHdvbGx0ZSBlaWdlbnRsaWNoLi4uIgpBbHNvIHdpcmtsaWNoLCBkaWVzZSBBcmd1bWVudGF0aW9uIGtvbW10IGltbWVyLCB3ZW5uIGplbWFuZGVtIGhpZXIgd2FzIGdlZ2VuCmRlbiBTdHJpY2ggZ2VodCB1bmQgd2VkZXIgZ2VoZW4gaW4gVGFnZW4gZGVzIEtuYXRzY2hlcyBkaWUgTWl0Z2xpZWRlcnphaGxlbgpydW50ZXIgbm9jaCBnZWhlbiBzaWUgYXVmZmFlbGxpZyBob2NoLCB3ZW5uIGFsbGVzIGdsYXR0IGxhZXVmdC4KClNvcnJ5LCBhYmVyIHNvd2FzIGlzdCBtaXIgenUgYmlsbGlnIHVuZCBtaXR0bGVyd2VpbGUgYWJnZW51dHp0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgpQLlMuIFdlciAidW5iZWRpbmd0IGdlcmFkZSBkaWVzZSBUYWdlIiBkZW0gVmVyZWluIGJlaXRyZXRlbiB3b2xsdGUvc3BlbmRlbgp3b2xsdGUgaXN0IG5pY2h0IHVuYmVkaW5ndCBkYWR1cmNoIGdsYXVid3VlcmRpZ2VyLCBkYXNzIGVyIGVzIGRpZSBsZXR6dGVuIHp3ZWkKSmFocmUgbmljaHQgZ2VtYWNodCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSRTogTWlyIHJlaWNodHMgISB2b24gV2FyZ29uIGluIFBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiAoUmFudGFucGxhbiwgMTUuIEFwciAxOTk3LCAxNzowMzozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODYxMTE2NDUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDE5MzI1CkFsc28gaWNoIHdpbGwgbWVpbmUgU3BlbmQgenVydWVjayA7LSkpCgpPZXR0aSBkZXIgQW5hcmNoaXN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUkU6IE1pciByZWljaHRzICEgdm9uIFdhcmdvbiBpbiBQb2xpemVpLmJla2FubnRtYWNodW5nZW4gKFR1bml4Z3V0LCAxNS4gQXByIDE5OTcsIDE3OjA1OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjExMTY0NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwMTkzMjUKSWNoIGhhYicgbmllIGJlaGF1cHRldCwgTWl0Z2xpZWQgenUgc2VpbiwgYXVjaCBuaWUsIGVpbnMgd2VyZGVuIHp1IHdvbGxlbiwKYXVjaCBuaWNodCwgaXJnZW5kd2FubiBtYWwgZWluZmFjaCBkZW0gVmVyZWluIGV0d2FzIHp1a29tbWVuIHp1IGxhc3NlbiwgdW5kCm1pciBpc3QgZXMgYXVjaCBzY2hlaXNzZWdhbCwgb2IgbWlyIGRhcyBlaW5lciBhYm5pbW10LCB3ZW5uIGljaCBqZXR6dCBzYWdlLApsZXR6dGVyZXMgd29sbHRlIGljaCBtYWwuCkplZGVuZmFsbHMgYWVuZGVydCBkYXMgbml4IGFuIGRlciBUYXRzYWNoZSwgZGFzcyBkYSBkdXJjaGF1cyBlaW4gWnVzYW1tZW5oYW5nCmJlc3RlaHQsIHVuZCBkYXNzIG1hbiBkdXJjaGF1cyBkdXJjaCBzb2xjaGUgQWt0aW9uZW4gaW5zIGdydWViZWxuIGdlcmFldC4uLgoKVHVOaXhHdXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVlYmVydHJpZWJlbmUgUHJvdGVzdGUgKFJvY2h1cywgMTUuIEFwciAxOTk3LCAxNzo1MjowMCk6CldpciBFcnptYWdpZXIgZnJldWVuIHVucyBpbW1lciB1ZWJlciBNYWlsLgpEaWVzIGdpbHQgZHVyY2hhdXMgYXVjaCBmdWVyIEtyaXRpaywgd2llIHp1bSBCZWlzcGllbApmdWVyIGRpZSBQcm90ZXN0LU1haWwgZWluZXMgU3BpZWxlcnMsIGRlciB1bnMgYWxzIGZyZXVuZGxpY2hlClp1Z2FiZSBub2NoIGRhcyBNaWNyb1NvZnQgU2VydmljZSBQYWNrIDIgZnVlciBXaW5kb3dzIE5UICgyMCBNQikKc2NoaWNrdGUgdW5kIHNvbWl0IGRlbiBXdW5zY2ggenVyIFNlbGJzdGxvZXNjaHVuZyBhZXVzc2VydGUuCldpciBzaW5kIGF1Y2ggZ2VybmUgYmVyZWl0LCBhdWYgc29sY2hlIFd1ZW5zY2hlIGhpbiBkaWUKWDExUjYtU291cmNlbiB6dSB2ZXJzY2hpY2tlbi4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWViZXJ0cmllYmVuZSBQcm90ZXN0ZSAoUGF0cnluLCAxNS4gQXByIDE5OTcsIDE3OjUzOjQzKToKfiMhIHJuPVJvY2h1cyBydD04NjExMTk1MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExMTk1MjAKKmdyaW5zKiBkYWJlaSB3b2xsdGUgZGVyIHNwaWVsZXIgZG9jaCBudXIsIGRhc3MgaWhyIG1hbCBkaWUgbXVkbGliCnVwZGF0ZWQuLi5kYSBoYWJ0IGlociBudXIgd2FzIGZhbHNjaCB2ZXJzdGFuZGVuIDspCgotLS0tLS0KcGF0cnluLCBpbW1lciBub2NoIGxhY2hlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcnRyaWViZW5lIFByb3Rlc3RlIChKb2YsIDE1LiBBcHIgMTk5NywgMTg6MDg6MDEpOgp+IyEgcm49Um9jaHVzIHJ0PTg2MTExOTUyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTExOTUyMAoKIEljaCBiaW4gaW4gc29sY2hlbiBGYWVsbGVuIHNvZ2FyIGJlcmVpdCwgbm9jaCB3ZWl0ZXIgenUgZ2VoZW4gdW5kIGVpbmUKQmVzY2h3ZXJkZSBhbiBkZW4gdmVyYW50d29ydGxpY2hlbiBTeXNhZG1pbiBkZXMgYmV0cmVmZmVuZGVuIFVzZXJzCnp1IHNjaGlja2VuLiBFcyB2ZXJzdG9wZnQgc2Nob24gZ2VudWcgTWlzdCBkaWUgTGVpdHVuZ2VuIGltIEludGVybmV0LApkYSB2ZXJzdGVoJyBpY2ggYmVpIHNvIGVpbmVtIFNjaGVpc3Mga2VpbmVuIFNwYXNzIG1laHIuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVlYmVydHJpZWJlbmUgUHJvdGVzdGUgKEdyaW1tYm9ybiwgMTUuIEFwciAxOTk3LCAxODo0NDoxOSk6Cn4jISBybj1Kb2YgcnQ9ODYxMTIwNDgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTE5NTIwClgxMVJuIHJlaWNodCwgaWNoIGtlbm5lIGtlaW5lbiBwcm92aWRlciwgZGVyIHNpY2ggZGFzIHJ1aGlnIG1pdCBhbnNpZWh0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGhhdCBkYSBlaW4gc2NyaXB0IGZ1ZXIgZWluZW4gcGVybWFuZW50ZmVlZCB2b24gWDExUjMKcnVtbGllZ2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVlYmVydHJpZWJlbmUgUHJvdGVzdGUgKEZ5dCwgMTUuIEFwciAxOTk3LCAxODo0ODowMik6Cn4jISBybj1QYXRyeW4gcnQ9ODYxMTE5NjIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTE5NTIwCgpIZXksIGRhbWl0IG1hY2h0IGRlciBTcGllbGVyIGFiZXIgJ24gc2NobGVjaHRlbiBUYXVzY2guLi4gU2VpbiBNJC1aZXVncwpoYXQgZG9jaCBiZXN0aW1tdCBHZWxkIGdla29zdGV0LCB3b2hpbmdlZ2VuIGRhcyBYIGRvY2ggZnJlaSBzZWluIHNvbGx0ZSwKb2Rlcj8KCkZ5dCwgZ3JpbnNlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVZWJlcnRyaWViZW5lIFByb3Rlc3RlIChBY3JpbW9uLCAxNS4gQXByIDE5OTcsIDE5OjQxOjI5KToKfiMhIHJuPUZ5dCBydD04NjExMjI4ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExMTk1MjAKSW0gR2VnZW50ZWlsLCBlciBtYWNodCBlaW5lbiBndXRlbiBUYXVzY2ggLSBzY2hsZWNodGUgU29mdHdhcmUgdmVyc2NoaWNrdCBlcgp1bmQgYmVrb21tdCBCZXNzZXJlcyBkYWZ1ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSRTogTWlyIHJlaWNodHMgISB2b24gV2FyZ29uIGluIFBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiAoUmFmZmksIDE1LiBBcHIgMTk5NywgMjE6NTg6MTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTExNjQ1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpFaW4gRm9lcmRlcnZlcmVpbiBpc3Qgc2VociB3b2hsIGVpbiBHcmVtaXVtIGRhcyBlaW5lbiBERVVUTElDSEVOIGVpbmZsdXNzIHN1ZgpkYXMgenUgZm9lcmRlcm5kZSBvYmpla3QgaGF0IC4uLiB3ZXIgemFobHQgc2NoYWZ0IGFuICEgQXVjaCB3ZW5uIGRhcyB1bnRlciBkZW0KRGVja21hZW50ZWxjaGVuIGRlciBzZWxic3Rsb3NpZ2tlaXQgbGFldWZ0LgoKR3J1c3MKSC4KClAuUy46IEdyaW1taTogTWFuIG11c3MgbmljaHQgcnVtYnJ1ZWxsZW4gd2VubiBtYW4gd2FzIHNwZW5kZXQsIG9kZXIgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcm1lcyBNRyAhIChSYWZmaSwgMTUuIEFwciAxOTk3LCAyMjowNjowOCk6Cn4jISBybj1IYXJkaWwgcnQ9ODYxMTAwNTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCkhhcmRpbCwgd2lyIHNpbmQgaGllciBudW5tYWwga2VpbmUgQmVzc2VyZSBXZWx0LCB1bmQgd2VyZGVuIGVzIGF1Y2ggbmljaHQKZXJzY2hhZmZlbi4gQWJzb2x1dGUgRm9yZGVydW5nZW4gZnVua3Rpb25pZXJlbiBuaWNodC4KClVuZCBzY2hvbiBnYXJuaWNodCBmdW5rdGlvbmllcnQgZXMgZGFzIGFsbGVzIChtb2VnbGljaHN0IHZvbiBzZWxic3QpIHNvIGxhZXVmdAp3aWUgbWFuIGVzIHNpY2ggd3VlbnNjaHQuIERhcyBpc3QgZG9jaCBnZXJhZGUgZGFzIHNjaG9lbmUgaGllciBhbSBNdWQgZGFzIG1hbgpOSUNIVCBpbiBlaW5lbSBmZXN0Z2VrbG9wZnRlbiBwcmltaXRpdnNwaWVsIHJ1bWxhZXVmdCwgc29uZGVybiBlY2h0ZQpJbnRlcmFrdGlvbiBpbiBlaW5lbSBBdXNzbWFzcyBoYXQgd2llIHNpZSBuaWUgZ2VwbGFudCB3YXIgdW5kIHNlaW4ga2Fubi4KRGF6dSBnZWhvZXJlbiBhdWNoIFJlZ2VsdmVyc3RvZXNzZSwgdW1nZWh1bmdlbiwgYXVzbGVndW5nZW4uIERhcyBpc3QgZ2FuegpOb3JtYWwuCgpnUlVTUwpoOgpQLlMuOiBEYXMgaXN0IGtlaW4gRnJlaWJyaWVmIGdlZ2VuIGFsbGUgUmVnZWxuIHp1IHZlcnN0b3NzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSRTogTWlyIHJlaWNodHMgISB2b24gV2FyZ29uIGluIFBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbiAoR25vbWUsIDE2LiBBcHIgMTk5NywgMTI6MTA6MTEpOgp+IyEgcm49UmFmZmkgcnQ9ODYxMTM0MjkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDE5MzI1CnNvIGtlbm4gaWNocyBhYmVyIGF1Y2g6IGRlciBmb2VyZGVydmVyZWluIHNhZ3QsIHdvIGVzIGxhbmdnZWh0LCB3ZWlsIGRpZQpsZXV0ZSBkaWUga29obGUgaGFiZW4uLi4gZGEgd2lyZCBzb2dhciBtYW5jaG1hbCBkZXIgcm90ZSB0ZXBwaWNoIHZvbQpkYWNoYm9kZW4gZ2Vob2x0IHVuZCBhdXNnZXJvbGx0LCB3ZW5uIGRpZSBoZXJyZW4gdm9tIGZvZXJkZXJ2ZXJlaW4gYW4tCnRhbnplbi4uLiBnZWxkIHJlZ2llcnQgZGllIHdlbHQuLi4gOi0oCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUm90ZXIgVGVwcGljaCAoTm9ubmUsIDE2LiBBcHIgMTk5NywgMTI6MTg6NDkpOgpEYW5uIG11c3MgaWNoIHdvaGwgYmVpdHJldGUuIE1laW4gbGViZW5zbGFuZ2VyIFd1bnNjaHRyYXVtIHdhciBlcyBlaW5tYWwgbWl0CmVpbmVtIHJvdGVuIFRlcHBpY2ggZW1wZmFnZW4genUgd2VyZGVuLgpBYmVyIG1hbCBpbSBFcm5zdCwgd2FzIGJlc3RpbW1lbiBkaWUgZGVubj8gSWNoIGRhY2h0ZSBzb3dhcyBsaWVndCBpbiBkZXIgSGFuZApkZXIgRXJ6aWVzIHVuZCBHb2V0dGVyPwpEaWUgYmVzdGltbWVuIGRvY2gsIHdhcyBhbmdlaGFlbmd0IHdpcmQsIHdlbGNoZXMgUHVua3Rlc3lzdGVtIHZlcndlbmRldCB3aXJkCnVuZCB3YXMgc29uc3QgYWJnZWh0LCBvZGVyPwoKdmVyd3VuZGVydApOb25uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJvdGVyIFRlcHBpY2ggKEdub21lLCAxNi4gQXByIDE5OTcsIDEyOjU1OjA3KToKfiMhIHJuPU5vbm5lIHJ0PTg2MTE4NTkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTE4NTkyOQpzaWNoZXJsaWNoLCBNRy1pbnRlcm4gaGFiZW4gZGllIHdhaHJzY2hlaW5saWNoIHdlbmlnIHp1IHNhZ2VuLCBhdWNoIGJlc3RpbS0KbWVuIHNpZSBuaWNodCB1ZWJlcnMgcHVua3Rlc3lzdGVtLi4uIGFiZXIgd2VsY2hlIGFuc2NoYWZmdW5nZW4gZ2V0YWV0aWd0CndlcmRlbiBvZGVyIHdlbm4gZXMgZ2VnZW4gZGllIGludGVyZXNzZW4gZGVyIG1pdGdsaWVkZXIgZ2VodCwgZGFubiBtZWxkZW4Kc2llIHNpY2ggbWFsIHp1IHdvcnQuLi4KCmduT21lCgpwLnMuIGJlcmljaHRpZ3QgbWljaCBiaXR0ZSwgd2VubiBpY2ggZmFsc2NoIGxpZWdlLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSb3RlciBUZXBwaWNoIChCb2luZywgMTYuIEFwciAxOTk3LCAxMzoxMDo1Nyk6Cn4jISBybj1Hbm9tZSBydD04NjExODgxMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExODU5MjkKSWNoIGRlbmtlIGRhcyBpc3QgcmljaHRpZyAoYmluIGF1Y2gga2VpbiBKdXJpc3QpLCBkZXIgRm9lcmRlcnZlcmVpbiBrYW5uCm5hdHVlcmxpY2ggZGllIEZvZXJkZXJ1bmcgZGVzIE1HIGVpbnN0ZWxsZW4uIEljaCBuZWhtZSBhYmVyIGFuLCBkYXNzIG11c3MKdm9uIGVpbmVtIE1pdGdsaWVkIGJlYW50cmFndCB3ZXJkZW4gdW5kIGF1ZiBlaW5lciBWb2xsdmVyc2FtbWx1bmcgYWItCmdlc3RpbW10IHdlcmRlbi4gRXZ0bC4ga29tbXQgZWluZSBFaW5zdGVsbHVuZyBkZXIgRm9lcmRlcnVuZyBiZWkgZWluZW0KRm9lcmRlcnZlcmVpbiBhYmVyIGF1Y2ggZWluZXIgQXVmbG9lc3VuZyBnbGVpY2guCktvcnJpZ2llciBtaWNoIGplbWFuZCwgd2VubiBlcyBuaWNodCBzdGltbXQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcnRyaWViZW5lIFByb3Rlc3RlIChSb2NodXMsIDE2LiBBcHIgMTk5NywgMTQ6MzI6NTUpOgp+IyEgcm49Um9jaHVzIHJ0PTg2MTExOTUyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTExOTUyMApEZXIgU3BpZWxlciwgZGVyIGRpZSBNYWlsYm9tYmUgc2NoaWNrdGUsIGhpZWx0IGVzIGZ1ZXIgbm9ldGlnCnVucyBmb2xnZW5kZXMgenUgc2NocmVpYmVuOgotLS0KRGEgaWNoIG51biBhdWdlbnNjaGVpbmxpY2ggZnVlciBpbW1lciBnZWJhbmlzaHQgYmluLCAKd2VyZGUgaWNoIG1pciB1ZWJlcmxlZ2VuLCBvYiBpY2ggZGFzIE1HIG1pdCBlaW4gcGFhciAKR2lnYWJ5dGUgYW4gbWFpbCB6dSBtdWVsbGUuIE1laW5lbiBSWi1MZWl0ZXIgYW56dXJ1ZmVuIGhhdCBrZWluZW4KU2lubiwgZGFzIGJpbiBpY2ggc2VsYmVyIFsuLi5dCi0tLQpEYXp1IGZvbGdlbmRlciBIaW53ZWlzICh2b24gRHIuIGl1ci4gU3RlZmFuIEVybnN0LAoiUmVjaHRzZnJhZ2VuIGZ1ZXIgSW50ZXJuZXQtVXNlciIpOgpJVi4gTWFpbC1Cb21iZW4KRGFzcyBkYXMgRWluc2NobGV1c2VuIHZvbiBDb21wdXRlcnZpcmVuIGluIGZyZW1kZSBOZXR6ZSBvZGVyIFJlY2huZXIKdW56dWxhZXNzaWcgaXN0LCBicmF1Y2h0IGVpZ2VudGxpY2ggbmljaHQgZXJ3YWVobnQgd2VyZGVuLgpadSBzcHJlY2hlbiBpc3QgYWJlciB1ZWJlciBkYXMgUHJvYmxlbSBkZXIgc29nZW5hbm50ZW4KTWFpbC1Cb21iZW4sIGJlaSBkZW5lbiBlaW4gdW5saWVic2FtZXIgWmVpdGdlbm9zc2UgaW0gSW50ZXJuZXQKbXVuZHRvdCBnZW1hY2h0IHdpcmQsIGluZGVtIG1hbiBzZWluZW4gQW5zY2hsdXNzIGR1cmNoIGRhcwpadXNlbmRlbiBncm9kYXNlciBEYXRlbm1lbmdlbiBibG9ja2llcnQuIERpZXMgaXN0LCBnbGVpY2ggb2IgZXMKcG9saXRpc2NoZSBvZGVyIGF1Y2ggcGVyc29lbmxpY2hlIEhpbnRlcmdydWVuZGUgaGF0LCBncnVuZHNhZXR6bGljaApuaWNodCBlcmxhdWJ0IHVuZCBrYW5uIHUuVS4genUgU2NoYWRlbnNlcnNhdHphbnNwcnVlY2hlbiBmdWVocmVuLgotLS0KSWNoIGhvZmZlIGljaCBtdXNzIGRhcyBuaWNodCB3ZWl0ZXIga29tbWVudGllcmVuLgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVWViZXJ0cmllYmVuZSBQcm90ZXN0ZSAoQWNyaW1vbiwgMTYuIEFwciAxOTk3LCAxNjozMDo1Nyk6Cn4jISBybj1TaWRvbGluIHJ0PTg2MTE5NDEwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTExOTUyMApTb2xjaGUgUHJvYmxlbWZhZWxsZSB3ZXJkZW4gYXVmIGZvbGdlbmRlIFdlaXNlIGdlbG9lc3Q6CgpNYWlsIGFuIGRlbiBQb3N0bWFzdGVyIGRlcyBNYWlsYm9tYmVyczoKVXNlciB4eHh4IChFTWFpbCB4eHh4eCkgaGF0IHVlYmVycyBJbnRlcm5ldCBNYWlib21iaW5nIGJldHJpZWJlbi4KQml0dGUgc3BlcnJlbiBTaWUgZGVuIEFjY291bnQgdm9uIHh4eHguClNvbGx0ZSBkZXIgQWNjb3VudCBpbiB4eCBUYWdlbiBuaWNodCBnZXNwZXJydCBzZWluLCBzbyBlcmdlaHQgYW4gSWhyZW4KUHJvdmlkZXIvUG9zdG1hc3RlciBlaW5lIE1pdHRlaWx1bmcgZGVyIFNpdHVhdGlvbi4KCgpFcmtsYWVydW5nOiBSZWFnaWVydCBkZXIgUG9zdG1hc3RlciBkZXMgTWFpbGJvbWJlcnMgbmljaHQgKHpCIHdlaWwgZGVyCk1haWxib21iZXIgc2VsYnN0IGRlciBQb3N0bWFzdGVyIGlzdCksIGRhbm4gZXJnZWh0IGVpbmUgTWFpbCBhZWhubGljaGVuCkluaGFsdHMgYW4gZGVuIG5hZWNoc3Rob2VoZXJlbiBQb3N0bWFzdGVyLCBkZXIgZGFubiBkZW4gUG9zdG1hc3RlciBkZXMKTWFpbGJvbWJlcnMgYWJoYWVuZ3QuCldlbm4gZWluIFJaIHNlaW5lIFN0b2VyZW5mcmllZGUgbmljaHQgZW50ZmVybnQsIGRhbm4gd2lyZCBkYXMgUlogYWJnZWhhZW5ndC4KU28gZWluZmFjaCBpc3QgZGFzLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyIHJleml0aWVydGUgZWluZSBSZWdlbCBkZXMgSW50ZXJuZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVWViZXJ0cmllYmVuZSBQcm90ZXN0ZSAoUGF0cnluLCAxNi4gQXByIDE5OTcsIDE2OjM1OjAzKToKfiMhIHJuPVJvY2h1cyBydD04NjExOTM5NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExMTk1MjAKd2llIGljaCBiZXJlaXRzIGVpbm1hbCBhbm1lcmt0ZSwga2FubiBtYW5uIHNlbmRtYWlsIGRhenUgdWViZXJyZWRlbiwKenUgZ3Jvc3NlIG1haWxzIGFienV3ZWlzZW4uLi5pY2ggZGVuayBtYWwsIGRhIGtvZW5udCBpaHIgZXVjaCBzY2hvbiBnZWdlbgp3ZWhyZW4uLi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVWViZXJ0cmllYmVuZSBQcm90ZXN0ZSAoQXNtb2RpcywgMTYuIEFwciAxOTk3LCAxNjozODozMyk6Cn4jISBybj1Sb2NodXMgcnQ9ODYxMTkzOTc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTE5NTIwClNjaGljayBpaG0gZGllc2VuIEFic2Nobml0dCBhbHMgbWFpbCwgdmllbGxlaWNodCBsYWVzc3QgZXIgZXMgZGFubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVWViZXJ0cmllYmVuZSBQcm90ZXN0ZSAoQm9pbmcsIDE2LiBBcHIgMTk5NywgMTY6Mzk6MTIpOgp+IyEgcm49QWNyaW1vbiBydD04NjEyMDEwNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExMTk1MjAKS2VpbmUgU29yZ2UgLi4uIHdpciBrdWVtbWVybiB1bnMgc2Nob24gdW0gZGVuIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVZWJlcnRyaWViZW5lIFByb3Rlc3RlIChIYXRlLCAxNi4gQXByIDE5OTcsIDE2OjQ5OjQxKToKfiMhIHJuPVBhdHJ5biBydD04NjEyMDEzMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExMTk1MjAKU2Nob24gZ2V0YW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSb3RlciBUZXBwaWNoIChXdXJ6ZWwsIDE2LiBBcHIgMTk5NywgMTg6MzI6MDUpOgp+IyEgcm49Qm9pbmcgcnQ9ODYxMTg5MDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTg1OTI5CmRlciB2ZXJlaW4gaXN0IHdpZSBtZWhyZmFjaCBnZXNhZ3QgZWluIGZvZXJkZXJ2ZXJlaW4uIGRpZSBzYXR6dW5nIHNhZ3QgYXVjaAp6aWVtbGljaCBrbGFyLCB3YXMgZGVyIHp3ZWNrIGRlcyB2ZXJlaW5zIGlzdC4gdW5kIGRhenUgZ2Vob2VydCBlYmVuIG5pY2h0IGRpZQphdXNnZXN0YWx0dW5nIGRlcyBzcGllbHMgYW4gc2ljaCwgZGFzIGlzdCBhbGxlaW4gZGllIHNhY2hlIGRlciBqZXdlaWxpZ2VuCm1hZ2llciB1bmQgbmljaHQgZGVzIHZlcmVpbnMgKGF1Y2ggbmljaHQgZGVzIHZvcnN0YW5kcykuCmRlciBmb2VyZGVydmVyZWluIGthbm4gaW4gZGVyIHRhdCBzZWluZSB0YWV0aWdrZWl0IGVpbnN0ZWxsZW4uIGRhcyBnZWh0IGFiZXIKbnVyIGR1cmNoIGJlc2NobHVzcyBkZXIgbWl0Z2xpZWRlcnZlcnNhbW1sdW5nLCBkZXIgbWl0IDMvNC1tZWhyaGVpdCBmYWxsZW4KbXVzcywgZGEgZXMgZGVyIGF1ZmxvZXN1bmcgZGVzIHZlcmVpbnMgZW50c3ByaWNodC4KCnNvLCBpY2ggaG9mZmUgbWFsIGRhcyByZWljaHQuLi4KCnd1cnplbCAodm9yc3RhbmRzbWl0Z2xpZWQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSb3RlciBUZXBwaWNoIChSYW50YW5wbGFuLCAxNi4gQXByIDE5OTcsIDE5OjE4OjU0KToKfiMhIHJuPVd1cnplbCBydD04NjEyMDgzMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExODU5MjkKSGkgSG8gIQoKSWNoIGZyYWcgbWljaCBlaW5mYWNoIG51ciB3YXMgZGFzIGdhbnplIHNvbGwsIE1haWxib21iZW4sIE1hZ2llcnN0cmVpaywKV2lsbGt1ZXIsIHdlbm4gaWNoIGVocmxpY2ggYmluIGlzdCBlcyBtaXIgaGVyemxpY2ggZWdhbCwgdW5kIGljaCBmaW5kZQptZWhyIG9kZXIgbWluZGVyIF9hbGxlXyBBa3Rpb25lbiB6aWVtbGljaCBsYWVjaGVybGljaCwgYWJlciB3ZXIgc2ljaCBhdWZyZWdlbgptb2VjaHRlLi4uCgpCaXR0ZSBzZWhyLCBpc3QgZWluIGZyZWllcyBMYW5kLCB3YXMgaWNoIG5pY2h0IHZlcnN0ZWhlLCBkaWVzbWFsIGhhYiBpY2gKbmljaHRzIGdlbWFjaHQsIGFiZXIgYmluIGFscyBlcnN0ZXIgYmVzdHJhZnQgd29yZGVuLCAqa3JhdHoqIGFiZXIgZGFzIGlzdApzY2hvbiBvLmsuIDstKSkpCgpJY2ggZmluZCB2aWVsZSB2b24gZXVjaCB6aWVtbGljaCBrbGVpbmJ1ZXJnZXJsaWNoIGltIGRlbmtlbiB1bmQgaW0gc2NocmVpYmVuLAphYmVyIGFuZGVyZXJzZWl0cyB3ZXIgYmluIGljaCBkYXMgenUgYmV1cnRlaWxlbi4uLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSb3RlciBUZXBwaWNoIChUb2V0ZXIsIDE2LiBBcHIgMTk5NywgMjA6MDA6MDkpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjEyMTExMzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExODU5MjkKT2NoIE9ldHRpLCB2ZXJzdWNoIGRvY2ggbmljaHQsIHdlbm4gYWxsZSBTdHJpY2tlIHJlaXNzZW4sIGVpbmVuIGF1ZiBFcm5zdAp6dSBtYWNoZW4sIGRhenUgaGFzdCBEdSBEaWNoIGxlaWRlciB6dSBlcmZvbGdyZWljaCBhbHMgV2l0emZpZ3VyIHZlcmthdWZ0LgpBYmVyIHdlciBiaXN0IER1IHNjaG9uLCB1bSBkYXMgenUgYmV1cnRlaWxlbi4KICBUb2V0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFVlYmVydHJpZWJlbmUgUHJvdGVzdGUgKFRvZXRlciwgMTYuIEFwciAxOTk3LCAyMDowMToyNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MTIwMTA1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTExOTUyMApCZXNjaHdlcmRlIGlzdCB1bnRlcndlZ3MuCiAgVG9ldGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSb3RlciBUZXBwaWNoIChGeXQsIDE2LiBBcHIgMTk5NywgMjA6MTU6MzYpOgp+IyEgcm49VG9ldGVyIHJ0PTg2MTIxMzYwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTE4NTkyOQoKVW5kIHdlciBiaXN0IER1LCBUb2V0ZXIsIHVtIHp1IGJldXJ0ZWlsZW4sIHdlciBzaWNoIGluIHdlc3NlbiBBdWdlbiB6dXIKV2l0emZpZ3VyIGdlbWFjaHQgaGF0LiBJY2ggZGVua2UgbWFsLCBkYXNzIGRpZSBNZWludW5nZW4gZGVyIGVpbnplbG5lbgpMZXV0ZSBkYSAqc2Vociogd2VpdCBzdHJldWVuLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRyAtIFN0aW1tdW5nICEgKE5lc2FqYSwgMTcuIEFwciAxOTk3LCAwODoyOTowNik6CkhtbW0gbm9ybWFsZXJ3ZWlzZSBsZXNlIGljaCBrZWluZSBNcGEsIGdlc2Nod2VpZ2UgZGVubiwgZGFzcyBpY2ggZXR3YXMKaGluZWluc2NocmVpYmUsIGRvY2ggaW4gbGV0enRlciBaZWl0IGlzdCBkaWUgU3RpbW11bmcgaGllciBqYSBtZXJrbGljaAphdWZnZWhlaXp0IC4uLi4uCk5hamEgZGEgaWNoIG5pY2h0IHNlaHIgZ3V0IG1pdCBXb3J0ZW4gdW1nZWhlbiBrYW5uLCBoYWIgaWNoIGFiZXIgZWluIHNlaHIKcGFzc2VuZGVzIFppdGF0IGdlZnVuZGVuIDoKCldlbm4gYm9lc2UgWnVuZ2VuIHNpY2ggdmVya25vdGVuClVuZCBkaWUgRHVtbWhlaXQgd2llZGVyIHppcmt1bGllcnQKU2llZ3QgaW4gamVkZW0gc2Nod2FjaGVuIEhlcnogCkRpZSBJTlRPTEVSQU5aCkVpbiBBbmdyaWZmIGFscyBWZXJ0ZWlkaWd1bmcgdW5kCkRpZSBTQ0hMQUNIVCBiZWdpbm50IC4uLi4uCgpJY2ggTWVuc2NoLApCZXRyZXRlIGRpZXNlIFdlbHQsCkVpbmUgS3VnZWwsIApBdWYgZGllc2VyIHN0ZWh0IGVpbiBqZWRlciBhdWYgZGVyIFNwaXR6ZQpWZXJlaW5pZ3VuZyBoZWlzc3QgZ2xlaWNoZXMgUmVjaHQgZnVlciBHbGVpY2hlCkRpZSBEaXNrcmVwYW56IHp3aXNjaGVuIFdvcnQgdW5kIFRhdApLZWluIGZyZW1kZXMgSGVyeiBoYWIgaWNoIG1laHIgYmVydWVocnQKS2VpbiBmcmVtZGVzIExhZWNoZWxuIGhhYiBpY2ggbWlyIGVyaG9mZnQKVW5kIHp1bGV0enQgYmxlaWJ0IG51ciBkaWUgRnJhZ2UgOgoKIE5FVUJFR0lOTiA/IT8hPwoKQWxzbyBpY2ggZmluZGUgZXMgc2VociBwYXNzZW5kLCBkYXMgTWcgaXN0IGVpbiBTcGllbCwgZGFzcyBzb3dvaGwgdW5zIFNwaWVsZXJuCmFscyBhdWNoIGRlbiBNYWdzIEZyZXVkZSBiZXJlaXRlbiBzb2xsdGUgKGRhY2h0IGljaCkKCkNpYW8gZXVyZSBrbGVpbmUgTmVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUm90ZXIgVGVwcGljaCAoR3JpbW1ib3JuLCAxNy4gQXByIDE5OTcsIDA4OjU2OjQ5KToKfiMhIHJuPUZ5dCBydD04NjEyMTQ1MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjExODU5MjkKSGllciBiaW4gamEgb2ZmZW5zaWNodGxpY2ggaWNoIGdlZnJhZ3Q6Ci0gT2V0dGkgaGF0IHNpY2ggZXJmb2xncmVpY2ggenVyIFdpdHpmaWd1ciBnZW1hY2h0LiBEYXMgd2FyIGF1Y2ggYmVhYnNpY2h0aWd0LgotIFRvZXRlciBpc3QgYmVrYW5udGxpY2ggZGllIG1lbnNjaGxpY2gtYW5hbHl0aXNjaGUgQXV0b3JpdGFldCBkZXMgTUcuCi0gRGVyIEF1ZnN0YW5kIGhpZXIgaW4gZGVuIGxldHp0ZW4gcGFhciBUYWdlbiBpc3QgbWl0bmljaHRlbiBsYWVjaGVybGljaAogIG9kZXIgYXVmZ2VoZWl6dC4gV2FjaHQgbWFsIGF1ZiB1bmQgbGVzdCBhdWZtZXJrc2FtIChybC0pWmVpdHVuZ2VuOgogIERhcyBpc3QgZGFzIHdpcmtsaWNoZSBMZWJlbiEKClVuZCBpY2ggX2Jpbl8gZGVyamVuaWdlLCBkZXIgZGFzIHp1IGJldXJ0ZWlsZW4gaGF0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFtbXRpc2NoZTogenUgUmlzaWtlbiB1bmQgTmViZW53aXJrdW5nZW4gKExhY3JpbW9zYSwgMTguIEFwciAxOTk3LCAxNjoxNjo0NCk6ClRqYSBnZXN0ZXJuIHdhcnMgd2llZGVyIG1hbCBzbyB3ZWl0LCBpbiBEcmVzZGVuIHdhciBTdGFtbXRpc2NoemVpdC4KR3V0IGdlcnVlc3RldCBnaW5ncyBpbiBkaWUgS25laXBlIHdvIHNjaG9uIGRpZSBhbmRlcmVuIHZlcnJ1ZWNrdGVuIHNhc3NlbiArIDEKTGllYmVzcGFhciBkYXMgYXVjaCBpbSBNVUQgaXN0LCBkaWUgd2FyZW4gYWJlciBtZWlzdGVucyBtaXQgc2ljaCBiZXNjaGFlZnRpZ3QKdW5kIGRlciBSZXN0IG1pdCBkZW0gQWxrb2hvbC4gPDMgd29ka2EgdW5kIDQgQmllciBzcGFldGVyPiBtZWludGUgZGllCktuZWlwZW5kYW1lIChldHdhcyBydW5kIHVuZCBydXNzaXNjaCkKZGFzIHNjaGx1c3Mgc2VpICh3YXJlbiBlaGggc2Nob24gbmUgU3R1bmRlIHVlYmVyIFNjaGxpZXNzemVpdCkgdW5kIHNvIG1laW50ZQpkYW5uIEdsb2luIGVyIGhhYmUgbm9jaCBlaW4gV2Flc3NlcmNoZW4gYmVpIHNpY2ggcnVtc3RlaGVuLiBXb3JhdWYgTWFoYXRtYSB1bmQKU3VuZmxvd2VyIG5pY2h0IG5laW4gc2FnZW4ga29ubnRlbiB1bmQgenUgR2xvaW4gZnVocmVuICh6dWZhZWxsaWcgZnVociBlaW5lCk1hbmdvIGF1Y2ggaW4gZGllIFJpY2h0dW5nLi5zbyBkYXMgZXMgemllbWxpY2ggc2NobmVsbCBnaW5nKSBhbmdla29tbWVuIHd1cmRlCmVyc3QgbWFsIGVpbiAod2FzIHNvbnN0PykgQmllciBnZXRydW5rZW4gdW5kIGdsb2luIGhvbHRlIDIgKHdpZSBzaWNoCmhpbnRlcmhlciByYXVzc3RlbGx0ZSBudXIgZWluZSBGbGFzY2hlLCBhYmVyIGljaCBzYWggZWhoIHNjaG9uIGFsbGVzIGRvcHBlbHQsCnNvZ2FyIDIgS29lcGZlIHZvbiBNYWhhdG1hLCB3YXMgd2FlcmUgd29obCBwYXNzaWVydCB3ZW5uIGljaCBkZW4gZWluZW4gS29wZgphYmdlc2NobGFnZW4gaGFldHRlLCAyIG5ldWUgPyAzIEtvcGVmZSB2b24gTWFoYXRtYSA/ICpncnVlYmVsKiAxIEtvcGYgZ2VodCBqYQpub2NoIDotKSApIE1lZ2Fncm9zc2UgRmxhc2NoZSBCZWNoZXJyb3ZrYSByYXVzLCBkaWUgaWNoIHVuZCBNYWhhdG1hIHVucyB6dQpndXRlIGtvbW1lbiBsaWVzc2VuCndhZWhyZW5kIEdsb2luIG11ZGRldGUgKHN1Y2h0aSAhISEpIHVuZCBkYXp1IEtsYXNzaWsgaW0gSGludGVyZ3J1bmQgbGllZiAoaWNoCnd1c3N0ZSBqYSBnYXJuaWNodCBkYXMgTWFoYXRtYSBzbyB2aWVsIEFobnVuZyBoYXQpLiAyIFN0dW5kZW4gc3BhZXRlcgooaW56d2lzY2hlIG4gc2Nob24gNS4wMCBVaHIpIGdpbmcgaWNoIHNvIGxhbmdzYW0gbG9zLCByZW1wZWx0ZSBlaW4gcGFhcgptdWVsbHRvbm5lbiBhbiB1bmQKdW50ZXJoaWVsdCBtaWNoIG1pdCBlaW5lbSBTdHJhc3NlbnNjaGlsZCAod2VpbCBlcyBzY2hpZWYgZGFzdGFuZCkgZGEga2FtIGF1Y2gKZ2xlaWNoIGVpbiBuZXR0ZXIgWmVpdGdlbm9zc2UgaW0gZ3J1ZW5lbiBBbnp1ZywgZ3J1ZW5lciBNdWV0emUgdW5kCmdydWVuLXdlaXNzZW4KQXV0byB2b3JiZWkgKGltbWVyIGRpZXNlIG5ldXJlaWNoZW4sIGFsbGVzIG11c3MgZmFyYmxpY2ggenVzYW1tZW5wYXNzZW4pIGRlcgptZWludGUgd2FzIGljaCBkZW4gZGEgdHVlLCBkYSBsYWxsdGUgaWNoIGRhcyBTY2hpbGQgc3RlaHQgc2NoaWVmIHVuZCBpY2ggd2lsbAplcyBudXIgZ2VyYWRlIHJ1ZWNrZW4sIGRlciA+VHlwIG1laW50ZSwgZGFzIGlzdCBpbiBPcmRudW5nLiBBbHMgaWNoIGRhbm4Kd2VpdGVyZ2luZyBmb2xndGUgbWlyIGRlciBUeXAgaW4gc2VpbmVtICdjb29sZW4nIHdhZ2VuIGluIGVpbmlnZW4gQWJzdGFuZCBub2NoCmNhLiAxMCBNaW51dGVuLCBiaXMgenVyIEJhaG5oYWx0ZXN0ZWxsZSwgd28gaWNoIG5hdHVlcmxpY2ggaW4gZGllIGFsbGVyZXJzdGUKQmFobiBzcHJhbmcgdW5kIGdsdWVjayBoYXR0ZSwgaWNoIGhhdHRlIGRpZSByaWNodGlnZSBlcndpc2NodC4gWnVoYXVzZQphbmdla29tbWVuIGlucyBCZXR0IGdla25hbGx0IHVuZCBoZXV0ZSBpcmdlbmR3YW5uIG1hbCBtaXR0YWdzIHNvIGdlZ2VuIDEzOjMwCmF1Zmdld2FjaHQgbWl0IG5lbiB6aWVtbGljaGVuIEthdGVyIChuZWluIG5pY2h0IGR1IFRhbmdhbHVyKSBhdWZnZXN0YW5kZW4uCgpibHVlbWNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJFOiBNaXIgcmVpY2h0cyAhIHZvbiBXYXJnb24gaW4gUG9saXplaS5iZWthbm50bWFjaHVuZ2VuIChTY2hydW1wZmksIDIwLiBBcHIgMTk5NywgMTg6NDA6MTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTExNTkzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTAxOTMyNQpEYW5uIG11c3Mgc2ljaCBkZXIgVmVyZWluIGFiZXIgYXVjaCBuaWNodCB3dW5kZXJuLCB3ZW5uIGtlaW5lciBiZXphaGx0LgpXZW5uIGljaCBpbiBlaW5lbiBWZXJlaW4gZWludHJldGUsIGRhbm4gbW9lY2h0IGljaCBhYmVyIGJpdHRlc2Nob2VuIGF1Y2gsIGRhc3MKYSBtZWluZSBJbnRlcmVzc2VuIHZldHJldGVuIHdlcmRlbi4gClNjaHJ1bXBmaS4gS2VpbiBGb2VyZGVydmVyZWluc21pdGdsaWVkLgpQLlMgS29tbXQgaW5zIEhvbHkgTWlzc2lvbiwgZGEgaXMgbHVzdGlnZXIgOykgCndpbGRzYXUuaWR2LnVuaS1saW56LmFjLmF0IDIwMDEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJvdGVyIFRlcHBpY2ggKFNjaHJ1bXBmaSwgMjAuIEFwciAxOTk3LCAxOTowMToyMik6Cn4jISBybj1Ub2V0ZXIgcnQ9ODYxMjEzNjA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMTg1OTI5CipwcnV1c3QqCnRzY2h1bGRpZ3VuZywgbXVzc3RlIHNlaW4KU2NocnVtcGZpIGxhY2h0IHNjaGFsbGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFNwZWVyZSBicmF1Y2h0IGRhcyBMYW5kIChLcmV0ZWssIDIxLiBBcHIgMTk5NywgMDE6NTI6NTIpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYwOTc3MzIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYwOTc3MzIyCkluIG1laW5lbSBHZWJpZXQgKGFuIGRlbSBpY2ggd2FlaHJlbmQgZGVzIFNlbWVzdGVycyB3ZWl0ZXJhcmJlaXRlbiB3ZXJkZSwKbW9tZW50YW4gaXN0IG1pciBtZWluZSBsZXR6dGUgSGF1c2FyYmVpdCBldHdhcyB3aWNodGlnZXIuLi4pIHdpcmQgZXMgZ2VuYXUKc293YXMgZ2ViZW46IEVpbmUgV2FmZmUsIGRpZSBpbiBBYmhhZW5naWdrZWl0IHZvbiBkZXIgUmFzc2UgZGVzIFNwaWVsZXJzClNjaHdlcnQsIFNwZWVyLCBBeHQgb2RlciB3YXMgYXVjaCBpbW1lciBkaWUgSG9iYml0cyBiZW51dHplbiBpc3QuIE51ciBtYWwgc28KYWxzIFZvcmFua3VlbmRpZ3VuZy4uLgoKS3JldGVLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT0ggTWFubiAoS3JldGVrLCAyMS4gQXByIDE5OTcsIDAyOjAxOjE3KToKfiMhIHJuPUppbWRpZ3JpeiBydD04NjEwNTgwNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEwNTgwNDYKVW0gd2FzIGdlaHQncyBiZWkgZGllc2VyIGdhbnplbiAiRGlza3Vzc2lvbiIgZWlnZW50bGljaD8KCktyZXRlSywgcGxhbmxvcyB3aWUgaW1tZXIsIHZlcm11dGV0ICJVbSBTaWx2YW5hcyBCYXJ0IgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFybWVzIE1HICEgKEtyZXRlaywgMjEuIEFwciAxOTk3LCAwMjowOTo0MSk6Cn4jISBybj1Hb2xkcGZvdGUgcnQ9ODYxMDk2NDEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxMDk2NDEyCkJsb2VkZnVnLiBXYXMgYnp3LiB3ZW4gc3RvZXJ0J3MgZGVubiwgd2VubiBoaWVyIExldXRlIE1hZ2llciB3ZXJkZW4gdW5kCmRhbm4gbml4IHByb2dnZW4gYnp3LiBhbmhhZW5nZW4/IChBdXNzZXIsIGRhc3Mgc2llIGRhbm4gZWluIGJpc3NjaGVuIG1laHIKU3BlaWNoZXIgYmVsZWdlbiwgd2VpbCBkaWUgU2hlbGwgamEgZG9jaCBnZXJpbmdmdWVnaWcgZ3JvZXNzZXIgaXN0Li4uKQpVbmQgZGFzIHNvbGwgamV0enQgX2tlaW5lXyBTZWxic3R2ZXJ0ZWlkaWd1bmcgc2VpbiAodm9uIG1pciBpc3QgamEsIHp1bWluZGVzdApiaXMgZGF0bywgYXVjaCBub2NoIG5peCBhbmdlaGFlbmd0KSwgYWJlciBlcyBzdGVodCBudW4gbWFsIGplZGVtLCBkZXIgZGVuClNlaGVyc3RhdHVzIGVycmVpY2h0IGhhdCwgZnJlaSwgYXVjaCBNYWdpZXIgenUgd2VyZGVuLiBVbmQgd2VuIGp1Y2t0J3MgZGVubiwKd2VubiBoaWVyIHNvIGFuIGRpZSAxMCBNYWdzIHJlZ2VsbWFlc3NpZyBydW1pZGxlbj8gSGFlaD8gT2RlciBzb2xsdGUgaWNoIGRpZQpQcm9ibGVtYXRpayBncnVuZGxlZ2VuZCBtaXNzdmVyc3RhbmRlbiBoYWJlbi4uPwoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJtZXMgTUcgISAoR25vbWUsIDIxLiBBcHIgMTk5NywgMTI6NDY6MDcpOgp+IyEgcm49S3JldGVrIHJ0PTg2MTU4MTM4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTA5NjQxMgpKYSwgaGFzdCBEdS4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWZydWYgISAoUmFudGFucGxhbiwgMjEuIEFwciAxOTk3LCAxMzozNDowMyk6CgpHZWh0IG1laHIgb2RlciBtaW5kZXIgYW4gYWxsZSAhCgpEZXJ6ZWl0IGVza2FsaWVydCBkaWUgU2l0dWF0aW9uIGhpZXIgZG9jaCBnZXdhbHRpZy4KCkljaCBmaW5kZSBzb3dvaGwgZGFzIGtsYXVlbiBkZXMgZHVtcHMsIGFscyBhdWNoIGRlciBTdHJlaWsgZGVyIE1BZ2llciBkYXMgc2luZAphbGxlcwp2b2VsbGlnIHVlYmVydHJpZWJlbmUgQWt0aW9uZW4sIGJlc2NocmFlbmt0IGV1Y2ggZG9jaCBiaXR0ZXNjaG9lbiBhdWYgZGFzIE11ZAp1bmQgdmVyd2VjaHNlbGV0IGRhc3MgbmljaHQgaW1tZXIgd2llZGVyIG1pdCBkZXIgUmVhbGl0YWV0LgoKSWNoIGhvZmZlIGRhcyBrb21tdCBpcmdlbmR3aWUgcnVlYmVyLCBkaWUgdm9ybGllYmVuIHVuZCBBYm5laWd1bmdlbiwgZGllIG1hbgpnZWdlbiBNdWRjaGFyYWt0ZXJlIGVudHdpY2tlbHQgb2RlciBhdWNoIG5pY2h0LCBzb2xsdGUgbWFuIG5pZW1hbHMgbmljaHQKbWl0IFJMIGdlbGljaHNldHplbiwgZURlciBoYXVwdGdydW5kIHdhcnVtIGljaCBhdWNoIG5pY2h0IG1laHIgc28gZ2VybmUgaGllcgpiaSwgaXN0IHdvaGwsIGRhc3MKZGFzIGFsbHp1IGdlcm5lIGdlbWFjaHQgd2lyZCwgZGFzIExlYmVuIGZpbmRldCBhYmVyIEdvdHQgc2VpIGRhbmssIHdvYW5kZXJzCnN0YXQuCgpUc2Nob2UKCkMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVmcnVmICEgKEJsb29keWhhcnJ5LCAyMi4gQXByIDE5OTcsIDAwOjMyOjQzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxNjIyNDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjIyNDQzCkljaCBnZWhlIG5vY2ggZWluZW4gU2Nocml0dCB3ZWl0ZXIgdW5kIHdhZ2UgenUgYmVoYXVwdGVuLCBkYXNzIGRlciBHcnVuZCBmdWVyCmFsbCBkYXMgd2FzIGdlc2NoZWhlbiBpc3QgZHVyY2ggZWluZSBnZXdpc3NlIE1VRC1NdWVkaWdrZWl0IGhlcnZvcmdlcnVmZW4Kd3VyZGUuIFp1IHNlaHIgZWluZ2VmYWhyZW5lIEdsZWlzZSB1bmQgZWluZ2VzY2hyYWVua3RlIFNpY2h0d2Vpc2VuPwpCZXRvbmtvZXBmZT8gRmlsej8gLi4uIHVwcywgamV0enQgd2lyZCdzIHByb2JsZW1hdGlzY2ghCkFlaG0uIFdhcyBpY2ggbWVpbmUuIFZpZWxlaWNodCBzb2xsdGVuIG1hbCBqdWVuZ2VyZSwgYW5kZXJlIEtyYWVmdGUgZGllIEFyYmVpdAp1bmQgVmVyYW50d29ydHVuZyB1ZWJlcm5laG1lbj8gSWNoIGJpbiBzaWNoZXIga2VpbiBSZXZvbHV6emVyLiBBYmVyIGRpZXNlcgpFaW5kcnVjayBrb25udGUgc2ljaCBtaXIgaXJnZW5kd2llIG5pY2h0IGVyd2FlaHJlbi4KCmJoIC0gbWVpbnQsIG5ldWUgTWFlbm5lci9GcmF1ZW4gYnJhdWNodCBkYXMgTGFuZC9NdWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXVmcnVmICEgKFBhdHJ5biwgMjIuIEFwciAxOTk3LCAwMTowMDowMCk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NjE2NjE5NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2MjI0NDMKZGFzcyBkYXMgbXVkIGRlcnplaXQgZHJpbmdlbmQgZWluIHBhYXIgbmV1ZS9mcmlzY2hlIGVyem1hZ2llciBicmF1Y2h0LApkdWVyZnRlIGtsYXIgc2VpbiwgYWxsZXJkaW5ncyBnaWJ0IGVzIGRlcnplaXQgYXVjaCBrYXVtIGxldXRlLCBkaWUgbWFuCmRhenUgbWFjaGVuIGtvZW5udGUuIHdhaGxlbiBzaW5kIGFuIGRpZXNlciBzdGVsbGUgc2Nod2FjaGZ1ZywgZGEgbXVlc3NlbgpmYWVoaWdlIGxldXRlIGhpbiBkaWUgc2Nob24gdmllbCBmdWVycyBtdWQgZ2V0YW4gaGFiZW4sIHVuZCBkYSBmYWVsbHQKbWlyIGdyYWQgbmljaHQgc28gdmllbCBkYXp1IGVpbi4uLgppY2ggZGVuayBtYWwsIGVzIHdpcmQgc2ljaCBzY2hvbiB3aWVkZXIgYWxsZXMgZWlucmVua2VuLCBkZXJ6ZWl0CnNjaGVpbmVuIGhpZXIgZWluaWdlbiBsZXV0ZW4gZWluIHBhYXIgc2ljaGVydW5nZW4gZHVyY2hnZWJyYW5udCB6dSBzZWluLAphYmVyIGRhcyBnaWJ0IHNpY2ggaG9mZmVudGxpY2ggd2llZGVyLiBkYXMgbXVkIGlzdCB3YWhyc2NoZWlubGljaCB6dQplcmZvbGdyZWljaCwgYW5kZXJzIGxhZXNzdCBzaWNoIG1hbmNoZXMgaGllciBrYXVtIG5vY2ggaW50ZXJwcmV0aWVyZW4uCgotLS0tLS0KcGF0cnluLCBiZXNjaHdpY2h0aWdlbmQgKGFiZXIgbnVyIGVpbiB3ZW5pZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdhZ2E/IChEYW5jZXIsIDIyLiBBcHIgMTk5NywgMDk6MDM6MjkpOgpIYWxsbywKCmFscyBpY2ggaGV1dGUgTW9yZ2VuIGlucyBNVUQga2FtLCBkdXJmdGUgaWNoIGF1cyBlaW5lciBNYWlsIGFuIG1pY2ggd2llZGVyIHZvbgplaW5lciBuZXVlbiBTY2hhdWVyZ2VzY2hpY2h0ZSAtIGRpZSBiZXN0aW1tdCBhdWNoIGJhbGQgd2llZGVyIGluIGRlciBNUEEgYmlzCnp1bSBFeHplc3MgZHVza3V0aWVydCB3ZXJkZW4gd2lyZCAtIGVyZmFocmVuLiBXaWVkZXIgc29sbCBlaW4gTWFnaWVyIGdlbG9lc2NodAp3ZXJkZW4gd2VnZW4gU3BpZWxlcmhpbGZlLgoKRGF6dSBtb2VjaHRlIGljaCBqZXR6dCBtYWwgZWluZSBrbGVpbmUgQW5tZXJrdW5nIG1hY2hlbjogZGVyIE1hZ2llciwgZGVyCmJlaGF1cHRldCwgZXIgaGFldHRlIGltIFNpbm5lIGRlcyBNYWdpZXJ2ZXJ0cmFncyBub2NoIG5pZSBTcGllbGVyaGlsZmUKYmVnYW5nZW4sIGlzdCBlaW4gamFlbW1lcmxpY2hlciBMdWVnbmVyIHVuZCB3aXJkIHZvbiBtaXIgaG9lY2hzdGVucyBub2NoCmF1c2dlbGFjaHQsIHdlbm4gaWNoIGRhcyBNaXRsZWlkIGRhenUgZmluZGUuCgpMaWViZSBFcnptYWdpZXIsIGRpZSBJaHIgZG9jaCBlaWdlbnRsaWNoIGFsbGUgbWVpbmUgbGFuZ2phZWhyaWdlbiBGcmV1bmRlCnNlaWQsIGtvbW10IG1hbCB3aWVkZXIgYXVmIGRlbiBUZXBwaWNoIHVuZCBhdWYgZGVuIEJvZGVuIGRlciBUYXRzYWNoZW46IElocgpzZWlkIFN0dWRlbnRlbiBpbSA1Li0yMC4gU2VtZXN0ZXIsIGRpZSBlaW4gTWVocnNwaWVsZXItQ29tcHV0ZXJzcGllbApwcm9ncmFtbWllcmVuIHVuZCBkYXMgYXVzIGRlbSBLcmVpcyBkZXJqZW5pZ2VuLCBkaWUgZXMgcHJvZ3JhbW1pZXJlbiBlYmVuIGFtCmJlc3RlbiBrb2VubnQuIAoKVW5kIG1laHIgbmljaHQuCgpOb2NoIG5pZSBpbSBnYW56ZW4gU3BpZWwgaGF0IGVpbiBNYWdpZXIsIGRlciBTcGllbGVyaGlsZmUgZ2VsZWlzdGV0IGhhdCBkaWUKSGFybW9uaWUgb2RlciBkYXMgdmllbHppdGllcnRlICdHbGVpY2hnZXdpY2h0JyBkZXMgTUcgZHVyY2hlaW5hbmRlcmdlYnJhY2h0Cm9kZXIgaXJnZW5kd2VuIGdlbmVydnQsIElociBtYWNodCBlcyBtaXR0bGVyd2VpbGUgd29lY2hlbnRsaWNoIHVuZCB2ZXJkZXJidApkZW4gTGV1dGVuIGRlbiBTcGFzcy4gVW5kIGRhcyBpc3QgbmljaHQgdW50ZXJ0cmllYmVuLgoKV2VubiBQcm9wZXJ0aWVzIG5pY2h0IGdlc2V0enQgd2VyZGVuIHNvbGxlbi4gRmVpbiEgU2NocmVpYnQgZGFzClByb3BlcnRpZS1TeXN0ZW0gZW50c3ByZWNoZW5kIHVtLCBkYXNzIG51ciAncmVnaXN0cmllcnRlJyBSYWV1bWUsIE9iamVrdGUgZXRjLgpkaWUgYmVzdGltbXRlIFByb3BlcnRpZSB2ZXJhZW5kZXJuIGtvZW5uZW4uIFdlbm4gT2JqZWt0ZSB2b24gTWFnaWVybiBhdXNzZXIKRXVjaCBuaWNodCBnZWNsb250IHdlcmRlbiBzb2xsZW4uIEZlaW4hIFByb2dyYW1taWVydCBlcyBlbnRzcHJlY2hlbmQuIFdvIGlzdApkYXMgUHJvYmxlbT8gS29tbXQgamV0enQgbmljaHQgd2llZGVyIG1pdCBkZW0gQXJndW1lbnQgJ3dpciB3b2xsZW4gZGllIExldXRlCm5pY2h0IHp1IHNlaHIgYmV2b3JtdW5kZW4sIHNpZSBzaW5kIGphIGFsdCBnZW51ZycsIHdlbm4gSWhyIGVzIHNwYWV0ZXIgc293aWVzbwpmdWVyIGV0d2FzIHR1dCwgZGFzIEFMTEUgdm9uIEV1Y2ggYXVjaCBzY2hvbiBnZXRhbiBoYWJlbi4KClR1dCBFdWNoIHp3YXIgbmljaHQgd2VoLCBhYmVyIGljaCBoYWJlIGRlbiBTYW5kdGlnZXIgdm9tIE1HIGFiZ2V6b2dlbiB1bmQgZGVuCldldHRwYWxhc3QgZ2VzY2hsb3NzZW4uIEltIE1vbWVudCBrYW5uIGljaCBuaWNodCBzdG9seiBzZWluLCBkYXNzIG1laW5lIEZpbGVzCmluIGRpZXNlbSBNVUQgYW5nZXNjaGxvc3NlbiBzaW5kLgoKVW5kIHdlbm4gamV0enQgd2llZGVyIGVpbmUgYmVsZWlkaWd0ZSBMZWJlcnd1cnN0IGF1ZiBkaWUKJ2ljaC1oYWItZnVlbmYtTW9uYXRlLWZ1ZXItbWVpbmUtUXVlc3QtZ2VicmF1Y2h0LXVuZC1mYXN0LWFsbGUtc3BpZWxlbi1zaWUtCm51ci1taXQtS29tcGxldHRsb2VzdW5nJy1TY2hpZW5lIGF1ZnNwcmluZ2VuIHdpbGw6IFZlcmdpc3MgZXMhIERpZSBMZXV0ZSwgZGllCnNwaWVsZW4gd29sbGVuLCB3ZXJkZW4gc2ljaCB1ZWJlciBkaWUgUXVlc3QgZnJldWVuLCB1bmQgZGllIExldXRlLCBkaWUgbnVyIGRpZQpQdW5rdGUgaGFiZW4gd29sbGVuLCB3ZXJkZW4gaW1tZXIgenUgc2NodW1tZWxuIHdpc3Nlbi4KCkFuc29uc3RlbiBrb2VubnQgSWhyIGphIGFsbGVzIHVtYmF1ZW4sIGljaCBoZWxmZSBhdWNoIGdlcm5lLiBJc3QgZGFubiB6d2FyIGVpbgp3ZW5pZyBtZWhyIEFyYmVpdCBtaXQgZGVtICdSZWdpc3RyaWVyZW4nIGRlciBSYWV1bWUsIGFiZXIgbWl0IGRlbQplbnRzcHJlY2hlbmRlbiBUb29sIGlzdCBhdWNoIGRhcyBzY2huZWxsIGdlbWFjaHQsIGRhbWl0IGFsbGUgS29udHJvbGwtRnJlYWtzCnVudGVyIEV1Y2ggRXJ6bWFnaWVybi9Hb2V0dGVybiBJaHIgSGF1cHQgd2llZGVyIG1pdCB3aWNodGlnZXJlbiBBdWZnYWJlbgpmdWVsbGVuIGtvZW5udC4gSWNoIHNhZ2UgbmljaHQsIGRhc3MgX2FsbGVfIEVyem1hZ2llci9Hb2V0dGVyIEtvbnRyb2xsLUZyZWFrcwpzaW5kLi4uIGFiZXIgZGllIGFuZGVyZW4ga29lbm5lbiBzaWNoIGViZW4gbmljaHQgZHVyY2hzZXR6ZW4uCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdWZydWYgISAoRnl0LCAyMi4gQXByIDE5OTcsIDA5OjEyOjI2KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg2MTY2MjA4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTYyMjQ0MwpXYWhsZW4gc2luZCBTY2h3YWNoc2lubi4gRGllIHdlbmlnc3RlbiBTcGllbGVyIGhhYmVuIEVpbmJsaWNrLCB3ZWxjaGVyCk1hZ2llciBkYXMgbm90d2VuZGlnZSBaZXVnIGhhYmVuLCBFTSBmdWVyIHNvbnN0d2FzIHp1IHNlaW4uIFNlbGJzdCBNYWdpZXIKaGFiZW4gZGFtaXQgd29obCBpaHJlIFByb2JsZW1lLCBzb25zdCB3dWVyZGUgZXMgamEgbmljaHQgenUgJ0ZlaGxiZXJ1ZnVuZ2VuJwprb21tZW4uCgpWZXJzdGVodCBtaWNoIG5pY2h0IGZhbHNjaCwgaWNoIGhhYiB3ZWlzcyBKb2YgbmljaHRzIGdlZ2VuICduZXVlcyBCbHV0JywKYWJlciBXYWhsZW4gc2luZCBkZXIgZGVua2JhciBzY2hsZWNodGVzdGUgV2VnLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2FnYT8gKE9ya3RvZXRlciwgMjIuIEFwciAxOTk3LCAwOToyMTozOSk6Cn4jISBybj1EYW5jZXIgcnQ9ODYxNjkyNjA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CkxpZWJlciBEYW5jZXIsIGljaCBkZW5rZSBkdSBzaWVoc3QgZGFzIHZvZWxsaWcgZmFsc2NoLgogRGEgZ2ViZSBpY2ggZGlyIHNlbGJzdHJlZGVuZCByZWNodCwgYWJlciBkdSBoYXN0IGVzIHNjaG9uIHNlbGJzdApmZXN0Z2VzdGVsbHQsIGVzIGlzdCBlaW4gbXVsdGktdXNlci1TcGllbC4gV2VubiBkdSB6dSBIYXVzZSBkZWluIExva2FsZXMKUGhhbnRhc2llcm9sbGVuc3BpZWwgbWl0dGVscyBUcmlja3MgbG9lc3Qgc2VpIGRpciBkYXMgdW5iZW5vbW1lbiwgd2VubiBkdSBpbQpTcGllbCBNRyBhbHMgU3BpZWxlciBkaWUgbW9lZ2xpY2hrZWl0ZW4gYXVzbnV0enQsIGlzdCBkYSBpbW1lciBub2NoIHdlbmlnCmdlZ2VuIHp1IHNhZ2VuLCBhYmVyIHdlbm4gZHUgYWxzIFNwaWVsZXIgRGluZ2UgZXJmYWVocnN0LCBkaWUgZHUgYWxzIFNwaWVsZXIKbmllIGVyZmFocmVuIGtvZW5udGVzdCwgYnp3LiBkaXIgZWluIE1hZ2llciBTdGF0cyBzZXR6dCwgaXN0IGRhcyBCZXRydWcgYW4KYWxsZW4sIGRpZSBzaWNoIGluIHRlaWx3ZWlzZSBKYWhyZW4gZGllc2UgU3RhdHMgbXVlaHNhbSBlcmFyYmVpdGV0IGhhYmVuICEKV2VubiBkdSBtaXQgbWVocmVyZW4gTGV1dGVuIGVpbiBzcGllbCBhbSBUaXNjaCBzcGllbHN0IHVuZCBiZXRydWVnc3Qgd3VuZGVyc3QKZHUgZGljaCB3b2hsIGF1Y2ggbmljaHQsIHdlbm4gZGllIG5pY2h0IG1laHIgbWl0IGRpciBzcGllbGVuIHdvbGxlbi4KCk9obmUgRGFuY2VyIGRhIGV0d2FzIHVudGVyc3RlbGxlbiB6dSB3b2xsZW4sIGRlbmtlIGljaCwgZGFzIGVzIGRvY2ggbWVpc3RlbnMKZGllamVuaWdlbiBzaW5kLCBkaWUgdm9uIEF1c3NlbiBhbHMgTWFnaWVyIGlucyBTcGllbCBlaW5ncmVpZmVuLCBkaWUgaW1tZXIKd2llZGVyIGJldG9uZW4sIGRhcyBlcyBkb2NoICJudXIiIGVpbiBTcGllbCBzZWkgKHdhcnVtIGhhYnQgaWhyIGVzIGRhbm4KdWViZXJoYXVwdCBub2V0aWcsIGRhIHp1IHBmdXNjaGVuID8pCgpGYWxscyBlcyBqZW1hbmRlbSBub2NoIG5pY2h0IGF1ZmdlZmFsbGVuIGlzdCA6IEpBLCBpY2ggZnVlaGxlIG1pY2ggZHVyY2gKRmlndXJlbiwgZGllIGR1cmNoIEJldHJ1ZyBpbiBob2hlIFBvc2l0aW9uZW4ga29tbWVuIGdlc3RvZXJ0LgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2FnYT8gKE9ya3RvZXRlciwgMjIuIEFwciAxOTk3LCAwOToyMzoxNik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODYxNjkzNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CnNvcnJ5LCB6d2lzY2hlbiBkZXIgZXJzdGVuIHVuZCB6d2VpdGVuIHplaWxlIGlzdCBlaW4gOgpNb3JnZW5HcmF1ZW4gaXN0IGVpbiBTcGllbCAhCnZlcmxvcmVuIGdlZ2FuZ2VuLCBzb3JyeQpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmV6dWcuLS0tPiBhcnRpa2VsIERhbmNlciAoUGh5Z29zLCAyMi4gQXByIDE5OTcsIDA5OjQ5OjA1KToKQWhhLiBBbHNvIGRlciBTYW5kdGlnZXIgaXN0IHdlZywgdW5kIGRlciBXZXR0cGFsYXN0IGdlc2NobG9lc3Nlbi4gIE5hIHVuZCA/ClNvbGxlbiB3aXIgdW5kIGpldHp0IGdyYWVtZW4gdW5kIG1pdCBkZW4gWmFlaG5lbiBrbmlyc2NoZW4/ICAgS2VpbiBWZXJsdXN0CmZ1ZXJgcyBNRy4gUmVpbmUgUGxhdHp2ZXJzY2h3ZW5kdW5nLiBWb24gbWlyIGF1cywga29lbm5lbiBkaWUgYmVpZGVuIE9iamVrdGUsCmluIGVpbmVtIEtpcmdpc2lzY2hlbiBNdWQgaW4gTWl0dGVsIG9kZXIgSGludGVyIFVzYmVraXN0YW4gbGF1ZmVuLiBNaWNoCnN0b2VydHMgbmljaHQuIERhIHdhcmVuIFdhcmdvbnMgQWt0aW9uZW4gc2Nob24gZ2V3aWNodGlnZXIuIEFiZXIgZGFzLi4uPz8gIApTY2hvbiBnZWhvZXJ0PyAgSW4gQ2hpbmEgaXN0IHdpZWRlciBlaW4gU2FjayBSZWlzIHVtZ2VmYWxsZW4uLi4uLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJlenVnLi0tLT4gYXJ0aWtlbCBEYW5jZXIgKEZ5dCwgMjIuIEFwciAxOTk3LCAwOTo1NDowOCk6Cn4jISBybj1QaHlnb3MgcnQ9ODYxNjk1MzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjk1MzQ1CgpJY2ggdWViZXJsZWdlIG1pciBnZXJhZGUsIG9iIG1hbiBhbHMgVm9yYXVzc2V0enVuZyBmdWVyJ3MgTXVkZGVuCmVpbmUgZ2V3aXNzZSBJbnRlbGxpZ2VueiBkZXMgU3BpZWxlcnMgdmVybGFuZ2VuIHNvbGx0ZS4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLS0tPiBmeXQgKFBoeWdvcywgMjIuIEFwciAxOTk3LCAxMDowMDoxOSk6Ck5hamEgS2luZGVyIGRpZSBxdWVuZ2VsbiBiZWtvbW1lbiB3YXMgYXVmIGRpZSBPaHJlbi4gTWFnaWVyIGRpZSBxdWVuZ2VsbiBlaW5lbgpwYXNzZW5kZW4gQXJ0aWtlbC4gIEF1c3NlcmRlbSBrcmllY2hlIElDSCBMZXV0ZW4sIGltbWVyIG51ciBzb3dlaXQgaW4gZGVyCkFyc2NoLCBkYXMgaWNoIHdpZWRlciByYXVzIGtvbW1lLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHYWdhPyAoU2lsdmFuYSwgMjIuIEFwciAxOTk3LCAxMDowNDoyOSk6Cn4jISBybj1EYW5jZXIgcnQ9ODYxNjkyNjA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CkFSR0gsIERhbmNlciEKCldpZSBrb25udGVzdCBEdSB1bnMgZGFzIG51ciBhbnR1bi4gRGFtaXQgc3RyYWZzdCBEdSBkb2NoIG51ciB3aWVkZXIKaHVuZGVydGUgdm9uIFVuc2NodWxkaWdlbiB1bmQgZGllIFNjaHVsZGlnZW4gc3RvZXJ0cyBkb2NoIGVoIG5pY2h0LgpPaCwgd2VoZSBkZW4gYXJtZW4gU3BpZWxlcm4sIGRpZSB3aWVkZXIgZWlubWFsIHZvbiBlaW5lbSBnbmFkZW5sb3NlbgpNYWdpZXIgZ3JhdXNhbSB1bmQgdW5nZXJlY2h0IGJlc3RyYWZ0IHd1cmRlbi4KCiAgU2lsdmFuYSAtIGRlbiBUcmFlbmVuIG5haGUKClBTOiBmdWVyIEFjcmltb24gLSBJcm9uaWUgb2ZmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmV6dWcuLS0tPiBhcnRpa2VsIERhbmNlciAoUGF0cnluLCAyMi4gQXByIDE5OTcsIDEwOjE4OjIwKToKfiMhIHJuPVBoeWdvcyBydD04NjE2OTUzNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTUzNDUKbmEgamEsIGRpZXNlciBrb21tZW50YXIgd2FyIGphIG51biBlY2h0IHVlYmVyZmx1ZXNzaWcsIGJlaWRlcyBnZWhvZXJ0ZQpzY2hvbiBmYXN0IHVudHJlbm5iYXIgenVtIE1HIHVuZCBqZWRlciBrYW5udGUgd29obCBkZW4gYWxsc2VpdHMgZ2VsaWVidGVuCnNhbmR0aWdlciwgYWxzbyBpY2ggZmluZGUgZXMgbWVociBhbHMgc2NoYWRlIDooKCgKYWxsZXJkaW5ncyBtdXNzIGljaCBhdWNoIHNhZ2VuLCBkYXNzIGRhbmNlciBuaWNodCB2aWVsIGFuZGVycyByZWFnaWVydCBhbHMKZGllIHZvbiBpaG0ga3JpdGlzaWVydGVuIGVyem1hZ2llcnN0cnVrdHVyZW4uLi5ib2NraWcgdW5kIGtpbmRpc2NoCmRpZSBnYW56ZSBha3Rpb24gYmVkZXV0ZXQgd2llZGVyIG1hbCBudXIgZWluczoKIG5vY2ggbWVociBzYWx6IGluIGRpZSBtZWhyIGFscyB2ZXJzYWx6ZW5lIHN1cHBlIHN0cmV1ZW4uLi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAtLS0+IGZ5dCAoRnl0LCAyMi4gQXByIDE5OTcsIDEwOjMyOjMyKToKfiMhIHJuPVBoeWdvcyBydD04NjE2OTYwMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTYwMTkKCkljaCBob2ZmZSBtYWwsIGRhc3MgaWNoIG5pY2h0IGRhcyBJbWFnZSBoYWJlLCBoaWVyIExldXRlIGluIGRlbiBBcnNjaAprcmllY2hlLCBhYmVyIHdlbm4gaWNoIGRlciBNZWludW5nIGJpbiwgZGFzcyBqZW1hbmQgcmVjaHQgaGF0LCBzYWcgaWNoCmRhcyBhdWNoIGhpbiB1bmQgd2llZGVyLiBVbmQgaW4gZGVtIEZhbGwgdHJpZmZ0IGVzIGhhbHQgbWFsIERhbmNlci4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHYWdhPyAoQm9pbmcsIDIyLiBBcHIgMTk5NywgMTE6MTY6MTgpOgp+IyEgcm49RGFuY2VyIHJ0PTg2MTY5MjYwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQo+IGFscyBpY2ggaGV1dGUgTW9yZ2VuIGlucyBNVUQga2FtLCBkdXJmdGUgaWNoIGF1cyBlaW5lciBNYWlsIGFuIG1pY2ggd2llZGVyIAo+IHZvbiBlaW5lciBuZXVlbiBTY2hhdWVyZ2VzY2hpY2h0ZSAtIGRpZSBiZXN0aW1tdCBhdWNoIGJhbGQgd2llZGVyIGluIGRlciAKPiBNUEEgYmlzIHp1bSBFeHplc3MgZHVza3V0aWVydCB3ZXJkZW4gd2lyZCAtIGVyZmFocmVuLiBXaWVkZXIgc29sbCBlaW4gCj4gTWFnaWVyIGdlbG9lc2NodCB3ZXJkZW4gd2VnZW4gU3BpZWxlcmhpbGZlLgoKUmljaHRpZywgZGllIFZvcmtvbW1uaXNzZSBkZXIgbGV0enRlbiBXb2NoZSBoYWJlbiB1bnMgbmFlbWxpY2ggenVyClVlYmVyemV1Z3VuZwprb21tZW4gbGFzc2VuLCBkYXNzIHdpciBnZWdlbiBkaWUgZXh0cmVtZSBGb3JtIHZvbiBTcGllbGVyaGlsZmUsIGRpZSBoaWVyCnRlaWx3ZWlzZSAoISkgZHVyY2hnZXpvZ2VuIHdpcmQsIGhhZXJ0ZXIgZHVyY2hncmVpZmVuIG11ZXNzZW4uIERpZXMgd3VyZGUKaW0gdWVicmlnZW4gYXVjaCB2b24gZGVuIFNwaWVsZXJuIGdld3VlbnNjaHQuIFNpZSBmdWVobHRlbiBzaWNoIGR1cmNoIGRpZQpLb2xsZWt0aXZiZXN0cmFmdW5nIHp1IFJlY2h0IGJlbmFjaHRlaWxpZ3QgdW5kIHdvbGx0ZW4sIGRhc3MgZGllIHNjaHVsZGlnZW4KTWFnaWVyIGJlc3RyYWZ0IHd1ZXJkZW4uIERhbWl0IGZhbmdlbiB3aXIgc29lYmVuIGFuLgoKPiBEYXp1IG1vZWNodGUgaWNoIGpldHp0IG1hbCBlaW5lIGtsZWluZSBBbm1lcmt1bmcgbWFjaGVuOiBkZXIgTWFnaWVyLCBkZXIKPiBiZWhhdXB0ZXQsIGVyIGhhZXR0ZSBpbSBTaW5uZSBkZXMgTWFnaWVydmVydHJhZ3Mgbm9jaCBuaWUgU3BpZWxlcmhpbGZlCj4gYmVnYW5nZW4sIGlzdCBlaW4gamFlbW1lcmxpY2hlciBMdWVnbmVyIHVuZCB3aXJkIHZvbiBtaXIgaG9lY2hzdGVucyBub2NoCj4gYXVzZ2VsYWNodCwgd2VubiBpY2ggZGFzIE1pdGxlaWQgZGF6dSBmaW5kZS4KCkljaCBoYWJlIGF1Y2ggc2Nob24gZWluZW0gU3BpZWxlciBlaW5lIEZhY2tlbCBnZWNsb25lZCBvZGVyIGVpbmVtIEFuZmFlbmdlcgpkZW4gcmVjaHRlbiBXZWcgZ2V3aWVzZW4sIGVzIGtvbW10IGFiZXIgaW1tZXIgYXVmIGRhcyBBdXNtYXNzIGRlciBTcGllbGVyaGlsZmUKYW4uIFdlbm4gaWNoIGVpbmVtIFNwaWVsZXIgbWVocmVyZSAxMDBrIE11ZW56ZW4gY2xvbmUsIGRhbm4gaXN0IGRhcyBlYmVuCm5pY2h0IG1laHIgenUgcmVjaHRmZXJ0aWdlbi4gCkludGVyZXNzYW50ZXJ3ZWlzZSBoYWVsdCBlcyBkZXIgTWFnaWVyLCBhdWYgZGVuIER1IHdvaGwgb2JlbiBhbnNwaWVsc3QsIGZ1ZXIKZ2VyZWNodGZlcnRpZ3QsIGRhc3MgZXIgZ2Vsb2VzY2h0IHdpcmQuIFdpZXNvIHdpbGxzdCBhbHNvIER1IGVzIGJlc3Nlcgp3aXNzZW4/IFdlaXNzdCBEdSBkZW5uIGluIHdlbGNoZW0gTWFzc2UgZXIgU3BpZWxlcmhpbGZlIGJldHJpZWJlbiBoYXQ/Cgo+IE5vY2ggbmllIGltIGdhbnplbiBTcGllbCBoYXQgZWluIE1hZ2llciwgZGVyIFNwaWVsZXJoaWxmZSBnZWxlaXN0ZXQgaGF0IGRpZQo+IEhhcm1vbmllIG9kZXIgZGFzIHZpZWx6aXRpZXJ0ZSAnR2xlaWNoZ2V3aWNodCcgZGVzIE1HIGR1cmNoZWluYW5kZXJnZWJyYWNodAo+IG9kZXIgaXJnZW5kd2VuIGdlbmVydnQsIElociBtYWNodCBlcyBtaXR0bGVyd2VpbGUgd29lY2hlbnRsaWNoIHVuZCB2ZXJkZXJidAo+IGRlbiBMZXV0ZW4gZGVuIFNwYXNzLiBVbmQgZGFzIGlzdCBuaWNodCB1bnRlcnRyaWViZW4uCgpTb3NvLCB3aXIgdmVyZGVyYmVuIGRlbiBMZXV0ZW4gZGVuIFNwYXNzLCBpc3QgamEgaW50ZXJlc3NhbnQuIERhc3Mgd2lyIGhpZXIKdmllbGxlaWNodCBhdWNoIHVuc2VyZW4gU3Bhc3MgaGFiZW4gd29sbGVuIHVuZCBoaWVyIG5pY2h0IG51ciBBcmJlaXRzc2tsYXZlbgpzaW5kIGJlZGVua3N0IER1IG5pY2h0PyBNaXIgd2lyZCBkZXIgU3Bhc3MgdmVyZG9yYmVuLCB3ZW5uIGljaCBMZXV0ZSBiZWltClNjaHVtbWVsbiBlcndpc2NoZSwgbWlyIHdpcmQgZGVyIFNwYXNzIHZlcmRvcmJlbiB3ZW5uIGljaCBLb250cm9sbG1hc3NuYWhtZW4KZWluYmF1ZW4gbXVzcywgZGllIGVpbmVtIHRvdGFsaXRhZXJlbiBVZWJlcndhY2h1bmdzc3RhYXQgZ2xlaWNoa29tbWVuLiBNaXIKd2lyZCBkZXIgU3Bhc3MgdmVyZG9yYmVuIHdlbm4gaWNoIGRpZXNlIFNjaGVpc3NlIGhpZXIgbGVzZW4gbXVzcy4KRGllcyBoaWVyIGlzdCBlaW4gU3BpZWwsIGRhcyBtYW4gZ2VtZWluc2FtIHNwaWVsdCwgd2VubiBoaWVyIGplbWFuZCBzY2h1bW1lbHQsCmRhbm4gYmV0cmlmZnQgZGFzIGViZW4gbmljaHQgbnVyIGRlbiBTY2h1bW1sZXIgc2VsYnN0LCBzb25kZXJuIEFMTEUuIERhaGVpbQprYW5uc3QgRHUgd2VnZW4gbWlyIHN0dW5kZW5sYW5nIFF1YWtlIGltIEdvZC1Nb2RlIHNwaWVsZW4sIGRhcyBqdWNrdCBuaWVtYW5kLAphYmVyIHNvYmFsZCBEdSBpbSBOZXR6IGdlZ2VuIGFuZGVyZSBzcGllbHN0LCB3dWVyZGVuIGRpZSBzaWNoIGF1Y2ggYmVzY2h3ZXJlbiwKd2VubiBEdSBzY2h1bW1lbHN0LgoKPiBUdXQgRXVjaCB6d2FyIG5pY2h0IHdlaCwgYWJlciBpY2ggaGFiZSBkZW4gU2FuZHRpZ2VyIHZvbSBNRyBhYmdlem9nZW4gdW5kCmRlbgo+IFdldHRwYWxhc3QgZ2VzY2hsb3NzZW4uIEltIE1vbWVudCBrYW5uIGljaCBuaWNodCBzdG9seiBzZWluLCBkYXNzIG1laW5lCkZpbGVzCj4gaW4gZGllc2VtIE1VRCBhbmdlc2NobG9zc2VuIHNpbmQuCgpEYXMgd2lyc3QgRHUgbWlyIHZpZWxsZWljaHQgbmljaHQgZ2xhdWJlbiwgYWJlciBlcyB0dXQgbWlyIHdlaC4gU293b2hsIGRlcgpTYW5kdGlnZXIgYWxzIGF1Y2ggZGVyIFdldHRwYWxhc3Qgd2FyZW4gZWluZSBCZXJlaWNoZXJ1bmcgZnVlcnMgTUcgdW5kIGJlaQp2aWVsZW4gU3BpZWxlcm4gYmVsaWVidC4gRXMgaXN0IGFiZXIgRGVpbmUgRW50c2NoZWlkdW5nIHVuZCBpY2gga2FubiBEaWNoCm5pY2h0IGRhcmFuIGhpbmRlcm4sIGRpZSBTYWNoZW4gcmF1c3p1bmVobWVuLgoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC0tLT4gZnl0IChZYXJlbiwgMjIuIEFwciAxOTk3LCAxMTozMTo0NSk6Cn4jISBybj1QaHlnb3MgcnQ9ODYxNjk2MDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjk2MDE5Ckhhc3QgUmVjaHQsIEZ5dCAtIGljaCBiaW4gYXVjaCBkYWZ1ZXIuCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYmV6dWcuLS0tPiBhcnRpa2VsIERhbmNlciAoTmlnaHRtYXJlLCAyMi4gQXByIDE5OTcsIDExOjM3OjA0KToKfiMhIHJuPUZ5dCBydD04NjE2OTU2NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTUzNDUKV28gRHUgcmVjaHQgaGFzdCwgaGFzdCBEdSByZWNodCBGeXQuICAgKmdyaW5zKgpOLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmF0ZXIvTXV0dGVyZnJldWRlbiAoTGFjcmltb3NhLCAyMi4gQXByIDE5OTcsIDEyOjMxOjU2KToKSGV1dGUgYmluIGljaCBzdG9semVyIFZhdGVyIHZvbiA3IGtsZWluZW4gc3Vlc3Nlbgpzb25uZW5ibHVlbWNoZW4gZ2V3b3JkZW4uCgpBbHMgUGF0ZW5vbmtlbCBzZXR6ZSBpY2ggVGFuZ2FsdXIgdW5kIGFscyBQYXRlbnRhbnRlIEJlb3JuIGVpbiwgZGllCm1pciBkaWVzZSBrbGVpbmVuIHd1bmRlcmJhcmVuIGJsdWVtY2hlbiBnZXNwZW5kZXQgaGFiZW4uCgpMYWNyaW1vc2EsIHN0b2x6ZXIgUGFwYSAqc25pZWYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWhyIEFQIGZ1ZXIgZ2V3aXNzZSBRdWVzdHMhIChIYXJkaWwsIDIyLiBBcHIgMTk5NywgMTI6NTc6NTMpOgoKVm9yc3RhbmQgdW5kIE1pdGdsaWVkZXIgZGVzIFdvbHBlcnRpbmdlci1DbHVicyBzaW5kIGdlcmFkZSB6dSBkZXIgVWViZXJlaW5rdWZ0Cmdla29tbWVuLCBkYXNzIGVzIGRyaW5nZW5kIHZvbm5vZXRlbiBpc3QsIGRhc3MgZGllIFF1ZXN0cwoKYSkgV29scGVydGluZ2VyCmIpIFBvc3RxdWVzdApjKSBDaGlsYW5hCgphdWYgbWluZGVzdGVucyAxNDAgQVAgaG9jaGdlc2V0enQgd2VyZGVuLgoKR3J1bmQ6IG1hbiBrYW5uIG5pZSB3aXNzZW4sIHdlbGNoZSBUZWlsZSBkZXMgTUdzIGdlcmFkZSBhbmdlc2NobG9zc2VuIHNpbmQsCnVuZCBkZXN3ZWdlbiBrYW5uIGVzIHp3aXNjaGVuemVpdGxpY2ggZG9jaCBzZWhyIHNjaHdlciBzZWluLCBkaWUKZW50c3ByZWNoZW5kZW4gUXVlc3R0ZWlsZSB6dSBsb2VzZW4sIHdlbm4gbmljaHQgZ2FyIHVubW9lZ2xpY2guCgpNaXQgZnJldW5kbGljaGVtIEdydXNzIHVuZCBlaW5lbSBHcnVzeiBmdWVyIEFjcmltb24sCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJlenVnLi0tLT4gYXJ0aWtlbCBEYW5jZXIgKERhbmNlciwgMjIuIEFwciAxOTk3LCAxMzo0MzoxOCk6Cn4jISBybj1QaHlnb3MgcnQ9ODYxNjk1MzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjk1MzQ1ClBoeWdvcywKbWl0IGRpZXNlbSBBcnRpa2VsIGFscyBBbnR3b3J0IGF1ZiBtZWluZW4sIGRlciBuYXR1ZXJsaWNoIG5lZ2F0aXZlIGFiZXIgYXVjaApwb3NpdGl2ZSBLcml0aWsgZWluZ2VicmFjaHQgaGF0LCBtYWNoc3QgRHUgbmljaHQgbWljaCwgc29uZGVybiBEaWNoIHNlbGJzdApsYWVjaGVybGljaC4KCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhbmR0aWdlciAoTWFnbnVzLCAyMi4gQXByIDE5OTcsIDEzOjQ2OjE3KToKYWxzbyBpY2ggZmluZGUgZXMgc2VociBzY2hhZGUsIGRhc3MgZGVyIFNhbmR0aWdlciBuaWNodCBtZWhyIGRhIGlzdC4KRGllIEJlZ3J1ZXNzdW5nIGR1cmNoIEZyZXVuZGUgaXN0IGV0d2FzIG5ldHRlcy4uLgoKa29tbXQgbWFsIGFsbGUgd2llZGVyIGF1ZiBkZW4gVGVwcGljaCEKCk1hZ251cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiZXp1Zy4tLS0+IGFydGlrZWwgRGFuY2VyIChIYXJkaWwsIDIyLiBBcHIgMTk5NywgMTM6NDc6MzEpOgp+IyEgcm49RGFuY2VyIHJ0PTg2MTcwOTM5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5NTM0NQoKQWNoIERhbmNlciwgbnVuIHN0ZWxsIERpY2ggbmNpaHQgc28gYW4sIHNvbmRlcm4gaGFlbmcgd2VuaWdzdGVucyBEZWluZQpuZXJ2aWdlbiBIYXVzdGllcmUgdW5kIGRpZSBkYWVtbGljaGUgUHlyYW1pZGVucXVlc3QgYXVjaCBub2NoIGFiLiA6LSkKVW5kIHN0ZWxsIGplZ2xpY2hlIEFyYmVpdCBhbiBkZXIgU2NoYXR0ZW53ZWx0IGVpbi4gOi0pCgpIbW1tLiBJY2ggZ2xhdWIsIGljaCBoYWIgb2JlbiBlaW4gJ0dSSU5TIE9OJyB2ZXJnZXNzZW4uCgpLYXVmdCBFdWNoIGRvY2ggYWxsZSBlaW5lbiBIYWFycmVpZiwgc2V0enQgRXVjaCBpbiBkaWUgRWNrZSB1bmQgd2VpbnQgbGF1dC4KV2VyIGFtIGxhdXRlc3RlbiB3ZWludCwgaGF0IGdld29ubmVuLiA6KQoKLUhhcmRpbC4gSGF0IGhldXRlIG51ciBndXRlIFJhdHNjaGxhZWdlLiBBdWNoIHdlbm4gZGFzIHZpZWxsZWljaHQgTWFnaWVyaGlsZmUKYmVkZXV0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGFyc3RlbGx1bmcgKERhbmNlciwgMjIuIEFwciAxOTk3LCAxNDoxMDo0MSk6Ck5vY2ggZWluaWdlIEJlbWVya3VuZ2VuIHp1IG1laW5lbSBBcnRpa2VsIHZvbiBoZXV0ZSBNb3JnZW46CgoxLiBJY2ggc3ByZWNoZSBpbSBGYWxsIGRlciBNYWdpZXJsb2VzY2h1bmcgbmljaHQgdm9uIHdpbGQgaGVydW16YXBwZW5kZW4gTWFncywKc29uZGVybiB2b24gTmFpcm9sZi4gCjIuIERlciBBcnRpa2VsIGlzdCBuaWNodCBkZXN0cnVrdGl2LCBlcyBpc3Qga2VpbgonSWNoLXppZWgtbWVpbmUtU2FjaGVuLXZvbS1NVUQtYWInLUFydGlrZWwsIHNvbmRlcm4gZWluCidMYXNzdC11bnMtd2FzLWFlbmRlcm4nLUFydGlrZWwuCgpKZWRlciwgai5lLmQuZS5yLiBNYWdpZXIsIG9iIExldmVsIDI1LCBSZWdpb25zbWFnaWVyLCBFcnptYWdpZXIgb2RlciBHb3R0IGhhdAppbiBzZWluZXIgTGF1ZmJhaG4gc2Nob24gU3BpZWxlcmhpbGZlIGJlZ2FuZ2VuLiBLa2xhciwgYmVpIG1hbmNoZW4gd2FycyAnbnVyJwplaW5lIGdlY2xvbnRlIEZhY2tlbCwgYmVpIGFuZGVyZW4gd2FyZW5zIE11ZW56ZW4sIGJlaW0gbmFlY2hzdGVuIGRhcwpIb2Noc2V0emVuIHZvbiBTdGF0cy4gQWJlciB3YXMgaXN0IGpldHp0IHBhc3NpZXJ0PyBEaWUgQ2xvbmVyZWkgaGF0Cnp1Z2Vub21tZW4sIGRpZSBTY2h1bW1sZXJlaSB3YWVjaHN0IGFsbGVuIHVlYmVyIGRlbiBLb3BmLgpOdXIgd2llIGJpdHRlIHNvbGwgbWFuIGRlbSBQcm9ibGVtIGJlaWtvbW1lbiwgaW4gZGVtIG1hbiBlaW5lbiBNYWdpZXIgd2llCk5haXJvbGYgKHZlcmdsaWNoZW4gbWl0IGFuZGVyZW4gSG9jaGthbGliZXItVG9vbHNjaHJlaWJlcm4gamEgd29obAptZWdhaGFybWxvcykgX3VuZF8gU2hhcmlhIHp1IGxvZXNjaGVuLCB3ZWlsIE5haXJvbGYgR2VsZCBpbiBTaGFyaWFzIEhhdXMKZ2VsZWd0IGhhdC4gV2lyIGhhY2tlbiBlaW4gd2VuaWcgYW4gZGVyIFNwaXR6ZSBkZXMgRWlzYmVyZ3MgaGVydW0gdW5kCnNjaGllc3NlbiBhYiB1bmQgenUgZWluZW4gYWIuCgpEYXMgaXN0IGluIG1laW5lbiBBdWdlbiBuaWNodCBkZXIgcmljaHRpZ2UgV2VnLiBXZW5uIG1hbiBhbHMgQ2hlZiAoc29ycnksCkJvaW5nLCBzY2hvbiB3aWVkZXIgZGVyIFZlcmdsZWljaCkgZmFlaGlnZSBBbmdlc3RlbGx0ZSBoYXQsIGRpZSBsZWlkZXIgTWlzdApnZWJhdXQgaGFiZW4sIGtpY2t0IG1hbiBzaWUgamEgYXVjaCBuaWNodCBhdXMgZGVyIEZpcm1hLCBzb25zdCB2ZXJzdWNodCBzaWUgenUKZm9ybWVuIHVuZCBpaHJlIEZhZWhpZ2tlaXRlbiB3ZWl0ZXIgZnVlciBkaWUgU2FjaGUgZWluenVicmluZ2VuLiBJbSBGYWxsIGRlcwpNb3JnZW5HcmF1ZW4gaGVpc3N0IGRhcyBkb2NoIGdhbnoga2xhcjoKYSkgT2JqZWt0ZSBjbG9uZW4gbXVzcyBuaWNodCBqZWRlciBrb2VubmVuLiBFcyByZWljaHQgdm9sbGtvbW1lbiwgd2VubiBSYWV1bWUKb2RlciBhbmRlcmUgR2VnZW5zdGFlbmRlLCBkaWUgenVzYW1tZW4gbWl0IGRlbiBHZWdlbnN0YWVuZGVuLCBkaWUgc2llIGNsb25lbgprb2VubmVuLCBpbiBlaW5lbiBNYXN0ZXIgZWluZ2V0cmFnZW4gZGllc2UgQXVmZ2FiZSBlcmZ1ZWxsZW4ga29lbm5lbi4KVmVyd2FsdHVuZ3NhdWZ3YW5kIG5hY2ggRWlucmljaHR1bmc6IG1pbmltYWwuCgpiKSBQcm9wZXJ0aWVzIHNldHplbiBlYmVuc28uIFdhcnVtIG11c3MgZWluIG5vcm1hbGVyIE1hZ2llciBQcm9wZXJ0aWVzIGluClNwaWVsZXJuIHNldHplbiBrb2VubmVuPyBVbmQgd2VubiwgZGFubiBrYW5uIGVyIGRvY2ggYml0dGUgc2Nob2VuIGF1Y2ggZWluZW4KYmVzdGltbXRlbiBCZWZlaGwgZWluZ2ViZW4sIGRlciBpaG0gZWluZSBBcnQgRm9ybXVsYXIgaW4gZGllIEhhbmQga2xhdHNjaHQsCmRhcyBlciBtaXQgZWluZXIga2xlaW5lbiBCZWdydWVuZHVuZywgZGVyIHp1IHNldHplbmRlbiBQcm9wZXJ0eSB1bmQgZGVtIG5ldWVuCldlcnQgYXVzZnVlbGxlbiBtdXNzLiBWZXJ3YWx0dW5nc2F1ZndhbmQgbmFjaCBFaW5yaWNodHVuZzogZWlubWFsIGRpZSBXb2NoZQppbnMgTG9nZmlsZSBzY2hhdWVuLgoKYykgU3RhdHMgc2V0emVuLiBNdWVzc2VuIGRvY2ggc293aWVzbyBudXIgaXJnZW5kd2VsY2hlIFJhZXVtZS9PYmpla3RlIGluCkF1c25haG1lc2l0dWF0aW9uZW4uIERpZSBrb2VubmVuIGphIHdvaGwgYXVjaCBhbmdlbWVsZGV0IHdlcmRlbi4gRGF1ZXJ0ClNla3VuZGVuLgoKRGFtaXQgd2FlcmVuIGRhbm4gZGllIGdyb2Vzc3RlbiBTcGllbGVyaGlsZmVxdWVsbGVuIGdlc3RvcGZ0LiBadXNhZXR6bGljaApoYWJlbiB3aXIgamEgc293aWVzbyBzY2hvbiBkaWUgTG9nZmlsZXMgZnVlcnMgU25vcHBlbiwgSGVpbGVuLCBldGMuIDItMyBtZWhyCmRhdm9uLCB6QnNwIGZ1ZXJzIFRyYW5zZW4uLi4gdW5kIGRpZSBhZXJnc3RlbiBTYWNoZW4gZ2VoZW4gbmljaHQgbWVoci4gRGFubgptdXNzIG1hbiBzaWNoIG5hZW1saWNoIGF1Y2gga2VpbmUga2xlaW5lbiBGaXNjaGUgbWVociByYXVzc3VjaGVuIHVuZCBJaG5lbgp6ZXJlbW9uaWVsbCBkYXMgU2F2ZWZpbGUgemVyc2NoaWVzc2VuLgoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsYXJzdGVsbHVuZyAoQW5hdG9sLCAyMi4gQXByIDE5OTcsIDE0OjI5OjA2KToKfiMhIHJuPURhbmNlciBydD04NjE3MTEwNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTEwNDEKTGFlY2hlcmxpY2gsIGVzIGlzdCBlaW5mYWNoIGxhZWNoZXJsaWNoLgpXZW5uIE5haXJvbGYgKndpcmtsaWNoKiBnZWxvZXNjaHQgd3VyZGUsIHdlaWwgZXIgTXVlbnplbiBjbG9udGUgKHNlbGJzdCB3ZW5uCmVzIDEwMGsgd2FyZW4gLSBpY2ggaGFiIHNjaG9uIGRhcyAzNWZhY2hlIGF1ZiBlaW5tYWwgdmVyd2V0dGV0KSwgZGFubiB3YXJ0ZQppY2ggYXVmIGRlbiBUYWcsIGFuIGRlbSBpY2ggYmVpbSBFaW5sb2dndmVyc3VjaCAnRGllc2VyIE5hbWUgaXN0IGdlc3BlcnJ0JwpsZXNlLiBVbmQgZXR3YSA3MCUgYWxsZXIgTWFnaWVyIGdlbG9lc2NodCB3dXJkZW4uClNvIGxhbmdzYW0gd2lyZCAnc3BpZWxwYXVzZSAtMScgd2lya2xpY2ggdWViZXJkZW5rZW5zd2VydC4KCiJFaXNiZXJnIGFic2NoaWVzc2VuIj8gTmVpbiwgIlNjaG9lbGxjaGVuIHZlcnNlbmtlbiIuCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xhcnN0ZWxsdW5nIChOYWlyb2xmLCAyMi4gQXByIDE5OTcsIDE0OjI5OjM2KToKfiMhIHJuPUFuYXRvbCBydD04NjE3MTIxNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTEwNDEKZXMgd2FyZW4gNDUwayB1bmQgaWNoIHN0ZWhlIGRhenUgOi0pCk5haXJvbGYsIGVpbiBuZXVlciBNZW5zY2ggOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGFyc3RlbGx1bmcgKEhhcmRpbCwgMjIuIEFwciAxOTk3LCAxNDozMDo0MCk6Cn4jISBybj1OYWlyb2xmIHJ0PTg2MTcxMjE3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQoKbmFpcm9sZiBzY2hyaWViOgo+TmFpcm9sZiwgZWluIG5ldWVyIE1lbnNjaCA6LSkKClF1YXRzY2guIEVpbiBuZXVlciBFbGYsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGFyc3RlbGx1bmcgKE5haXJvbGYsIDIyLiBBcHIgMTk5NywgMTQ6MzE6MzEpOgp+IyEgcm49SGFyZGlsIHJ0PTg2MTcxMjI0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQoqc2NocmVpKiAKYWxsZXJkaW5ncyA6LSkKCk5haXJvbGYsIEVsZiB1bmQgaXJnZW5kd2FubiBaYXViZXJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsYXJzdGVsbHVuZyAoRGFuY2VyLCAyMi4gQXByIDE5OTcsIDE0OjM2OjQ5KToKfiMhIHJuPU5haXJvbGYgcnQ9ODYxNzEyMjkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCk9oLCB3aWUgcnVlaHJlbmQuCkljaCBlcmZhaHJlIGdlcmFkZSwgZGFzcyBqZXR6dCBkb2NoICdudXInIE5haXJvbGYgZ2Vsb2VzY2h0IHd1cmRlLCBTaGFyaWEgZGFyZgp3ZWl0ZXJsZWJlbiwgYmVrb21tdCBhYmVyIGFsbGUgU2tpbGxzIHJ1bnRlcmdlc2V0enQuCkZhbmdlbiB3aXIgamV0enQgaGllciBtaXQgbW9kZXJuZXIgSW50ZXJuZXQtUmVjaHRzcHJlY2h1bmcgYW4gb2RlciB3YXM/IFdlcgppc3Qgc28gdmVybWVzc2VuLCBkYXNzIGVyIGRpZSBIb2VoZSBkZXIgU3RyYWZtYXNzZSBmZXN0bGVnZW4gd2lsbD8gRGllIGRyZWlzdGUKQmVncnVlbmR1bmcgZnVlciBkYXMgUnVudGVyc2V0emVuIGRlciBTa2lsbHMgaXN0ICduYSwgZGFubiBoYXQgU2hhcmlhIHNpY2hlcgp2b3JoZXIgc2Nob24gTWlzdCBnZWJhdXQnLiAoa2VpbiB3b2VydGxpY2hlcywgbnVyIGVpbiBzaW5uZ2VtYWVzc2VzIFppdGF0KQoKSmV0enQgbXVzcyBpY2ggbGVpZGVyIGRlbiBBcnRpa2VsIGJlZW5kZW4sIHdlaWwgSGF0ZSBtaXIgZWluZSBXdXJzdCB2b24gMTAKUGluZ3Mgc2NoaWNrdCB1bmQgbWlyIHNpY2hlciBzYWdlbiB3aWxsLCBkYXNzIGljaCBqZXR6dCBkZW4gTXVuZCBoYWx0ZW4gc29sbC4KOykKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtsYXJzdGVsbHVuZyAoRGFuY2VyLCAyMi4gQXByIDE5OTcsIDE0OjQwOjM3KToKfiMhIHJuPURhbmNlciBydD04NjE3MTI2MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTEwNDEKSGF0IGVyIG5pY2h0IGdlc2FndCwgZGlza3V0aWVydCBudXIgbmV0dCBtaXQgbWlyLiBTb3JyeSwgSGF0ZSA6KQoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2xhcnN0ZWxsdW5nIChGeXQsIDIyLiBBcHIgMTk5NywgMTQ6NDE6NTYpOgp+IyEgcm49RGFuY2VyIHJ0PTg2MTcxMjYwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQoKQWVobSwgamV0enQgdmVyc3RlaCBpY2ggYWJlciBkaWUgU3RyYWZtYXNzZSBuaWNodCBtZWhyOiBPZXR0aSB3aXJkIGdlbG9lc2NodCwKd2VpbCBlciBCZW9iYWNodGVycyBad2VpdGllIHdhciwgU2hhcmlhICdkYXJmJyBsZWJlbiwgQm9tYmFkaWxzIFp3ZWl0aXMgYnp3CkVyc3RpZXMgYmxlaWJlbiB1bmJlaGVsbGlndCwgYmVpIGFuZGVyZW4gdHJpZmZ0IGVzIHdlZGVyIEVyc3RpZSBub2NoIHNvbnN0CmlyZ2VuZGplbWFuZD8gQWxzbyBoaWVyIHBhc3N0IGRvY2ggaXJnZW5kd2FzIG5pY2h0IHp1c2FtbWVuLCBvZGVyPwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogS2xhcnN0ZWxsdW5nIChIYXJkaWwsIDIyLiBBcHIgMTk5NywgMTQ6NDI6MTIpOgp+IyEgcm49RGFuY2VyIHJ0PTg2MTcxMjgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQoKWnUgd2VsY2hlbiBBcnRpa2VsbiBEdSB1bnRlciBEcnVjayB2b24gRXJ6bWFnaWVyc2VpdGUgYWxsZXMgYmVyZWl0IGJpc3QsCkRhbmNlci4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLbGFyc3RlbGx1bmcgKEZ5dCwgMjIuIEFwciAxOTk3LCAxNDo0Mjo0Nyk6Cn4jISBybj1IYXJkaWwgcnQ9ODYxNzEyOTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCgpOYWphLCBqZWRlciBmYWVsbHQgaXJnZW5kd2FubiB1bSwgZGFzIGlzdCBtZW5zY2hsaWNoIHVuZCB2ZXJtdXRsaWNoIGF1Y2gKdGllcmlzY2guCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBLbGFyc3RlbGx1bmcgKERhbmNlciwgMjIuIEFwciAxOTk3LCAxNDo0MzoyNik6Cn4jISBybj1GeXQgcnQ9ODYxNzEyOTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCkljaCB3dXJkZSB3ZWRlciBnZXF1YWVsdCwgbm9jaCB3dXJkZSBtaXIgZ2Vkcm9odCEgOi0pCgpEYW5jZXIgLSB2ZXJzdGVja3QgZGFzIGJsYXVlIEF1Z2UgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0aWdlcnNlaG5zdWNodCAoR2FyZmllbGQsIDIyLiBBcHIgMTk5NywgMTU6MDg6MzApOgoKTGllYmVyIFNhbmR0aWdlciwKCk1pdCBTY2hyZWNrZW4gdW5kIEVudHNldHplbiBoYWJlIGljaCBmZXN0Z2VzdGVsbHQsIGRhc3MgRGVpbiBnZWlzdGlnZXIKVmF0ZXIgaW4gZWluZXIgbWlyIHVuZXJrbGFlcmxpY2hlbiBBa3Rpb24gRGljaCBhdXMgUG9ydCBWYWluIHZlcnRyaWViZW4gaGF0LgpUaWVmZSBUcmF1ZXIgZXJncmVpZnQgbWljaCwgd2VubiBpY2ggYW4gZGVyIFN0ZWxsZSB2b3JiZWlrb21tZSwgYW4KZGVyIGljaCBtaWNoIGZydWVoZXIgc28gZ2VybmUgaW4gRGVpbmUgVGF0emVuIGt1c2NoZWx0ZSAuLi4KCk5pZSB3YXIgInNjaGxhZiBlaW4iIHNvIHNjaG9lbiB3aWUgaW4gRGVpbmVuIEFybWVuIQpUaWdlcmNoZW4sIGtvbW0genVydWVjayEhIQoKV2VubiBuaWNodCwgd2Vpc3MgaWNoIG5pY2h0LCB3YXMgaWNoIHR1biBzb2xsLgoKCkluIFRyYWVuZW4gYXVmZ2Vsb2VzdCwKRGVpbmUgRy4KKioqCgpQLlMuIEFuIGFsbGUgQWJnZXN0dW1wZnRlbjoKRGllc2VyIEJyaWVmIGlzdCBOSUNIVCBpcm9uaXNjaCBnZW1laW50LCBzb25kZXJuIHNvbGwgbWVpbmUgd2FocmVuIEdlZnVlaGxlIAphbmdlc2ljaHRzIGRlciBTaXR1YXRpb24gYmlsZGxpY2ggZGFyc3RlbGxlbi4KCioqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0aWdlcnNlaG5zdWNodCAoU2lkb2xpbiwgMjIuIEFwciAxOTk3LCAxNToxMDozNSk6Cn4jISBybj1HYXJmaWVsZCBydD04NjE3MTQ1MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTQ1MTAKKnNldWZ6KgoKT2suT2suIERlciBUaWdlciB3YXIgZ2FueiBzdWVzcy4gV2lya2xpY2gsIG1pciBoYXQgZXIgYXVjaCBnZWZhbGxlbi4KQWJlciBtdXNzIGpldHp0IGdsZWljaCB3aWVkZXIgZGFzIGdhbnplIE1HIGFuZmFuZ2VuIHp1IGhldWxlbj8KCklzdCBqYSBncmF1ZW5oYWZ0LgoKU2lkb2xpbi4gS2FubiBhdWNoIG9obmUgU2FuZHRpZ2VyIGxlYmVuIHVuZCBmaW5kZXQgZGllc2UgZ2FuemUgQWJoYWVuZ2VyZWkKemllbWxpY2ggbGFuZ3dlaWxpZywgbnV0emxvcyB1bmQgcHJvZmlsbmV1cm90aXNjaC4gQWJlciBzZWkncyBkcnVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRpZ2Vyc2VobnN1Y2h0IChIYXRlLCAyMi4gQXByIDE5OTcsIDE1OjE1OjUyKToKfiMhIHJuPVNpZG9saW4gcnQ9ODYxNzE0NjM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzE0NTEwCm5hY2ggZGVuIDEwIFd1cnN0cGluZ3MgdW5kIGVpbmVyIGtsZWluZW4gRGlza3Vzc2lvbiBoYWJlIGljaCBlaW5mYWNoIG1hbApkZW4gU2FuZHRpZ2VyIHVuZCBkZW4gZ2FuemVuIFJlc3Qgd2llZGVyIGVpbmdlaGFlbmd0LiBEYW5jZXIgd2Vpc3MsIGRhc3MKd2VubiBlciBzb3dhcyBub2NobWFsIHR1dCB2b20gVGlnZXIgcGVyc29lbmxpY2ggYW4gZGVuIEhpbnRlcnRhdHplbiBkdXJjaHMKTUcgZ2VzY2hsZWlmdCB3aXJkLiBFciB3aXJkcyBhbHNvIG5pZSB3aWVkZXIgdHVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZWRlciBkYWFhYSAoVGlnZXJjaGVuLCAyMi4gQXByIDE5OTcsIDE1OjE4OjQyKToKTGllYmUgR2FyZmllbGQsCgppY2ggYmluIHdpZWRlciBkYS4gR2VyYWRlIGFscyBpY2ggbWlyIG1laW5lbiB2ZXJkaWVudGVuIFVybGF1YiB2b20KV2V0dHBhbGFzdC1CZXdhY2hlbiBhdWYgZWluZXIgU2FuZGR1ZW5lIGdlbmVobWlnZW4gd29sbHRlLCBrYW0gZGVyIE9ua2VsIEhhdGUKZGFoZXIgdW5kIHNjaGxlaWZ0ZSBkZW4gUGFwYSBhbiBzZWluZW0gU2Nod2FueiBoaW50ZXIgc2ljaCBoZXIuIERhbm4gcGFja3RlCm1pY2ggZGVyIE9ua2VsIEhhdGUgYW0gRmVsbGtyYWdlbiB1bmQgaGF0IG1pY2ggd2llZGVyIGF1ZiBtZWluIFBsYWV0emNoZW4KZ2VzZXR6dC4KCk1laW5lbiBQYXBhIGhhYmUgaWNoIHNlaXRkZW0gbmljaHQgbWVociBnZXNlaGVuLiA6KAoKS29tbXN0IER1IGJhbGQgd2llZGVyIHp1IG1pciBrbnVkZGVsbj8KCkRlaW4KClNhbmR0aWdlcmNoZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpvaCEgKEdhcmZpZWxkLCAyMi4gQXByIDE5OTcsIDE1OjI0OjEwKToKCkxpZWJlciBUaWdlciEKCkhhYiBpY2ggZWluIEdsdWVjayEKV2lyIHNlaG4gdW5zIGdsZWljaCAuLi4KTWlyIGlzdCBzY2hvbiBzbyBzY2hsYWVmcmlnIHp1bXV0ZSAuLi4KCkJ1c3NpIHZvbgpHLgoqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmF0ZXIvTXV0dGVyZnJldWRlbiAoVGFuZ2FsdXIsIDIyLiBBcHIgMTk5NywgMTU6MjU6NTEpOgp+IyEgcm49TGFjcmltb3NhIHJ0PTg2MTcwNTExNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcwNTExNgpIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCBMYWNyaW1vc2EgenUgZGVtIGdsZWljaApzaWViZW5mYWNoZW4gcHJhZWNodGlnZW4gTmFjaHd1Y2hzICEhIQoKRGllIEdlYnVydCB3YXIgaG9mZmVudGxpY2ggbmljaHQgenUgc2Nod2VyIHVuZCBkaWUga2xlaW5lbgp1bmQgaWhyZSBNdXR0ZXIgc2luZCB3b2hsIGF1Zi4KCktsYXJvIG5laG0gaWNoIGRpZSBQZmxpY2h0ZW4gYWxzIGZyaXNjaCBnZWJhY2tlbmVyIFBhdGVub25rZWwgYW4KdW5kIHdlcmRlIGhpbiB1bmQgd2llZGVyIGVpbmVuIExvZWZmZWwKdm9sbCBEdWVuZ2VyIHVuZCBldHdhcyBmcmlzY2hlcyBSZWdlbndhc3NlcgpiZWlzdGV1ZXJuIDotKQoKQWxzbyBwYXNzIG1pciBndXQgYXVmIGRpZSBrbGVpbmVuIGF1ZiwgZGFtaXRzIG1hbCByaWNodGlnIGdyb3NzZQpCbHVlbWNoZW4gd2VyZGVuLgoKClAuUy46IHNjaHJlaWJ0IG1hbCB3aWVkZXIgd2FzIHNpbm5pZ2VzIGkgZGllIE1QQQppY2gga2FubiBkaWVzZXMgZXdpZ2UgZHJhbiB1bmQgYWJnZWhhZW5nZSBiYWxkIG5pY2h0IG1laHIgbGVzZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogb2ghIChPcmt0b2V0ZXIsIDIyLiBBcHIgMTk5NywgMTU6Mjg6MTMpOgp+IyEgcm49R2FyZmllbGQgcnQ9ODYxNzE1NDUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzE1NDUwClRpZ2VyIG11ZXNzdGUgbWFuIHNlaW4uLi4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtsYXJzdGVsbHVuZyAoUXVhc2ltb2RvLCAyMi4gQXByIDE5OTcsIDE1OjQzOjA4KToKfiMhIHJuPURhbmNlciBydD04NjE3MTI2MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTEwNDEKPkZhbmdlbiB3aXIgamV0enQgaGllciBtaXQgbW9kZXJuZXIgSW50ZXJuZXQtUmVjaHRzcHJlY2h1bmcgYW4gb2RlciB3YXM/CldpciBoYWJlbiBoaWVyLCB3aWUgaW4gZmFzdCBqZWRlbSBTcGllbCBtaXQgdmllbGVuIExldXRlbiwgU2NoaWVkc3JpY2h0ZXIgdW5kCmRpZSBsZWdlbiBwZXIgRGVmaW5pdGlvbiBkYXMgU3RyYWZmbWFzcyBuYWNoIGlocmVtIGVpZW5lbiBHZXdpc3NlbiBmZXN0LgoKQ1UgUXVhc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGhtbW1tLi4uIChSYW50YW5wbGFuLCAyMi4gQXByIDE5OTcsIDE2OjMwOjQ4KToKfiMhIHJuPVllbmRpIHJ0PTg2MTcwOTA0MiByZz1hbnplaWdlbgp+IyEgdGlkPTg2MTIxMTYxNQpNb21lbnQgT2V0dGkgaXN0IGdlYm5haXNoZWQgbmljaHQgZ2Vsb2VzY2h0LCBhYmVyIGZyYWcgbWljaCBuY2lodCB3YXJ1bSwgRnl0CjstKSkKClJhbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGhtbW1tLi4uIChGeXQsIDIyLiBBcHIgMTk5NywgMTY6NDc6MjcpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjE3MTk0NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjEyMTE2MTUKCldhcnVtPwoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGlnZXJzZWhuc3VjaHQgKFBhdHJ5biwgMjIuIEFwciAxOTk3LCAxNzoyMTowMSk6Cn4jISBybj1IYXRlIHJ0PTg2MTcxNDk1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxNDUxMAp0b2xsLCBkYWZ1ZXIgbXVzcyBpY2ggZGljaCBzb2dhciBtYWwga251ZGRlbG4sIGF1Y2ggd2VubnMgamEgZ2VnZW4KZGVpbiBpbWFnZSB2ZXJzdG9lc3N0Li4uIDspCgotLS0tLS0KcGF0cnluLCBiZWdsdWVja3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRpZ2Vyc2VobnN1Y2h0IChGeXQsIDIyLiBBcHIgMTk5NywgMTc6MjI6NDUpOgp+IyEgcm49UGF0cnluIHJ0PTg2MTcyMjQ2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxNDUxMAoKCkhtPyBJY2gga2FubiBtaWNoIG5vY2ggZ3V0IGRyYW4gZXJpbm5lcm4sIGRhc3MgSGF0ZSBhbGxlIGdla251ZGRlbHQgaGF0LApkaWUgaW4gRmFsbHdlaXRlIHN0YW5kZW4uLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHRpZ2Vyc2VobnN1Y2h0IChQYXRyeW4sIDIyLiBBcHIgMTk5NywgMTc6MjQ6MjUpOgp+IyEgcm49Rnl0IHJ0PTg2MTcyMjU2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxNDUxMApkYXMgd2FyIG5pY2h0IGhhdGUsIHNvbmRlcm4gbnVyIHNlaW4genV0aWVmc3QgYmVyYXVzY2h0ZXMgYWJiaWxkIDopCgotLS0tLS0KcGF0cnluLCB3aWNoIGVyc2Nocm9ja2VuIHZvciBoYXRlJ3MgdW5lcndhcnRldGVuIGtudWRkZWx2ZXJzdWNoZW4genVydWVjawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGFyc3RlbGx1bmcgKENhdHdlYXpsZSwgMjIuIEFwciAxOTk3LCAxODowNjozMik6Cn4jISBybj1BbmF0b2wgcnQ9ODYxNzEyMTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCkhtLCB1bmQgZGllc2UgU2FjaGUgbWFsIGtsYXJ6dWxlZ2VuOgoKTmFpcm9sZiB3dXJkZSBnZWxvZXNjaHQsIHdlaWwgZXI6CkdlbGQgYW4gU3BpZWxlciB2ZXJ0ZWlsdCBoYXQsCkdpbGRlc2tpbGxzIHZvbiBTcGllbGVybiBnZXNldHp0IGhhdCAoS2FyYXRlIHVuZCBaYXViZXJlciksClNwaWVsZXIgenUgWlQtUGxhZXR6ZW4gZ2V0cmFuc3QgaGF0LApRdWVzdGhpbGZlIGJldHJpZWJlbiBoYXQgKHRyYW5zZW4gdW5kIE1vbnN0ZXIgemFwcGVuKS4KCkljaCBkZW5rZSBkYXMgaXN0IGVpbmUgYXVzcmVpY2hlbmQgbGFuZ2UgTGlzdGUgdW5kIGRpZSBNYXNzbmFobWVuIHp1IApiZWdydWVuZGVuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB0aWdlcnNlaG5zdWNodCAoQm90dG9tLCAyMi4gQXByIDE5OTcsIDE4OjIwOjAxKToKfiMhIHJuPVBhdHJ5biBydD04NjE3MjI2NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MTQ1MTAKClRpZ2VyIHVuZCBXZXR0cGFsYXN0IGFiZ2VoYWVuZ3Q/IC0+IEVpbiBsYWVzdGlnZXMgRWNob2FsbCB3ZW5pZ2VyLCB0aGF0J3MgaXQhCldhcyBzb2xsIGFsc28gZGFzIEh5cGU/IERpZSBWb3JzY2hsYWVnZSBEYW5jZXJzIGhhbHRlIGljaCBoaW5nZWdlbiBmdWVyCmtvbnN0cnVrdGl2Li4ubWFjaHQgRXVjaCBhbiBkaWUgVW1zZXR6dW5nIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xhcnN0ZWxsdW5nIChCb2luZywgMjIuIEFwciAxOTk3LCAxODo0Nzo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODYxNzI1MTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCkpldHp0IGhhc3QgRHUgQm9tYmFkaWwgdW5kIE5haXJvbGYgaW4gZWluZW4gVG9wZiBnZXdvcmZlbiwgTmFpcm9sZiBoYXQKJ251cicgZ2VsZCB2ZXJ0ZWlsdCwgWmF1YmVyZXJza2lsbHMgZ2VzZXR6dCwgV3VyZnN0ZXJuZSB2ZXJ0ZWlsdCwgT2JqZWt0ZQp2ZXJ0ZWlsdC4gCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtsYXJzdGVsbHVuZyAoQ2F0d2VhemxlLCAyMi4gQXByIDE5OTcsIDE5OjAyOjMyKToKfiMhIHJuPUJvaW5nIHJ0PTg2MTcyNzY2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQpJbSBzb3JyeSwgeW91IGFyZSByaWdodC4KClZhaWxzIHZlcm1lY2hzZWx0IDspCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xhcnN0ZWxsdW5nIChMYXVyaW4sIDIzLiBBcHIgMTk5NywgMDE6Mzg6NTkpOgp+IyEgcm49QW5hdG9sIHJ0PTg2MTcxMjE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQpIYXRlIGhhdHRlIGF1Y2ggbWFsIEdlbGQgbGllZ2VubGFzc2VuLCB3YXJlbiBzb2dhciBlaW4gcGFhciBNaWxsaW9uZW4gOikKCkxvZXNjaHQgZG9jaCBnbGVpY2ggYWxsZSBNYWdpZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2FnYT8gKEtyZXRlaywgMjMuIEFwciAxOTk3LCAwMjowMzoxMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODYxNjkzNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5ClRqYSwgaXJnZW5kd2llIGhhYiBpY2ggZnVlciBkaWVzZSBBcmd1bWVudGF0aW9uIG51ciBlaW4gbXVlZGVzIExhZWNoZWxuCnVlYnJpZy4gTmljaHQgbWVociwgdW5kIG5pY2h0IHdlbmlnZXIuCkljaCBnZXdpbm5lIHRhdHNhZWNobGljaCBkZW4gRWluZHJ1Y2ssIGRhc3MgRGFuY2VyIGVpbmVyIGRlciBnYW56IHdlbmlnZW4KaG9laGVyc3R1ZmlnZW4gTWFnaWVyIGlzdCwgZGllIGRhcyBNRyBub2NoIGFscyBkYXMgc2VoZW4sIHdhcyBlcyBlaWdlbnRsaWNoCmlzdCAoYnp3LiBzZWluIHNvbGx0ZSksIG5hZW1saWNoIGVpbiBTUElFTC4gRWluIFNwaWVsIGJlc29uZGVyZXIgQXJ0LAp6dWdlZ2ViZW4sIGFiZXIgaW1tZXIgbm9jaCBlaW4gU3BpZWwsIHVuZCBrZWluZSBQcm9maWxpZXJ1bmdzc3RhZXR0ZSBmdWVyCkNvZGUgaW4gZWluZXIgQy1hZWhubGljaGVuIFNwcmFjaGUsIGZ1ZXIgcGVyc29lbmxpY2hlIEVnb21hbmllLCBvZGVyIHdhcyBhdWNoCmltbWVyLiBVbmQgd2llIGVyIHNjaG9uIHNvIHJpY2h0aWcgc2FndCwgd2VubiBMZXV0ZSBiZXNjaGVpc3NlbiB3b2xsZW4sIGRhbm4KaGFiZW4gc2llIGJpc2hlciBpbW1lciBlaW5lIE1vZWdsaWNoa2VpdCBnZWZ1bmRlbiwgdW5kIGRpZSB3ZXJkZW4gc2llIGF1Y2gKMTAwJWlnIGluIFp1a3VuZnQgZmluZGVuLiBXZW5uIG51biBlaW4gTWFnaWVyIGJlaSBkaWVzZW0gQmVzY2hpc3MgaGlsZnQsIGRhbm4KaXN0IGRhcyB6d2FyIGdhbnogdW56d2VpZGV1dGlnIGdlZ2VuIGRlbiBNYWdpZXJ2ZXJ0cmFnLCBkZW4gamEgYWxsZSAoamEsIGljaAp3ZWlzcywgR3JpbW1ib3JuLCBEdSBuaWNodC4uLikgdW50ZXJzY2hyaWViZW4gaGFiZW4sIGFiZXIgZ3V0LCBkYW5uIGlzdCdzIApoYWx0IGVpbiAidW5laHJsaWNoZXIiIE1hZ2llciwgZGVyIGphIGVudHNwcmVjaGVuZCAiYmVzdHJhZnQiIHdlcmRlbiBrYW5uCmJ6dy4gdmllbGxlaWNodCBzb2dhciBzb2xsLgpEZXIgUHVua3QgaW4gRGFuY2VycyBBcmd1bWVudGF0aW9uLCBkZW4gaWNoIGtvbXBsZXR0IHNvIHdpZSBlciBpc3QgYXVjaAp1bnRlcnNjaHJlaWJlLCBpc3QsIGRhc3MgamEgd29obCB3aXJrbGljaCBmYXN0IChpY2ggc2FnZSBmYXN0LCBkZW5uIGljaCBiaW4Kbm9jaCBuaWNodCBzb29vb28gbGFuZ2UgZGFiZWksIGFscyBkYXNzIGljaCBzY2hvbiBhbGxlIGxhbmdlIGdlbnVnICJrZW5uZW4iCnd1ZXJkZSkgamVkZXIgZGVyIGhpZXIgZXhpc3RpZXJlbmRlbiBNYWdpZXIgaXJnZW5kd2FubiBzY2hvbiBtYWwgZWluZW0gb2RlcgptZWhyZXJlbiBTcGllbGVybiBpbiBkZXIgZWluZW4gb2RlciBhbmRlcmVuIFdlaXNlIGdlaG9sZmVuIGhhdDsgZGFzIGdlaHQKc29nYXIgaW4gImhvZWNoc3RlIEluc3RhbnplbiIsIGRhc3MgZGEgVXJhbHQtU2VoZXJuIG5vY2ggZGV1dGxpY2hlIFRpcHMKZ2VnZWJlbiB3ZXJkZW4sIHdvIGRlbm4gZGllIGxldHp0ZW4gYmVpZGVuIG5vY2ggbmljaHQgZ2VmdW5kZW5lbiBaVHMgZ2VuYXUKc2luZC4gVW5kIGF1Y2ggbWlyIGlzdCB6dSBtZWluZW4gU3BpZWxlcnplaXRlbiB2b24gX2RpdmVyc2VuXyBNYWdpZXJuCih1bmQgZGFtaXQgbWVpbmUgaWNoIGpldHp0IGF1ZiBrZWluZW4gRmFsbCAyMWVyIG9kZXIgMjVlci4uLikgbWVocmVyZSBNYWxlCiJnZWhvbGZlbiIgd29yZGVuLCBzZWkgZXMsIGRhc3MgaWNoIG51biBpbiBkZXIgRWlzd3Vlc3RlIGFtIE5vcmRwb2wgZmVzdGhpbmcsCm5hY2ggJ25lbSBUb2QgVGVpbGUgbWVpbmVyIEF1c3J1ZXN0dW5nIGluIGdld2lzc2VuIExhYnMgcnVtbGFnZW4sIHNpY2ggYXVmCnd1bmRlcnNhbWUgV2Vpc2UgbWFsIGVpbiBxdWVzdHJlbGV2YW50ZXIgR2VnZW5zdGFuZCBpbiBtZWluZW0gSW52ZW50b3J5CmJlZmFuZCwgdXN3LiBVbmQgaGF0IGRhcyBoaWVyIGlyZ2VuZGplbWFuZGVtIHNlaW5lbiBTcGllbHNwYXNzIHZlcm1pZXN0PwpJY2ggZ2xhdWJlIGRvY2ggd29obCBuaWNodC4gRnVlaGx0IHNpY2ggbmFjaCBndXQgMiBKYWhyZW4gZGVyIFByb2dyYW1taWVyZXIKZGVyIEVpc3d1ZXN0ZSBkYWR1cmNoIGF1ZiBkZW4gU2NobGlwcyBnZXRyZXRlbiwgZGFzcyBpY2ggZGEgbnVyIDJtYWwgc3RhdHQKM21hbCBkcmF1Zmdpbmc/IEZ1ZWhsZW4gc2ljaCBMZXV0ZSwgZGllIHNvIGV0d2EgemVpdGdsZWljaCBtaXQgbWlyCmVpbmdlc3RpZWdlbiBzaW5kICh1bmQgamV0enQgc2Nob24gYWxsZSBTZWhlciBvZGVyIGhvZWhlcmUgTWFnaWVyIGFscyBpY2gKc2luZCkKYmVuYWNodGVpbGlndCB1bmQgdW5nZXJlY2h0IGJlaGFuZGVsdCwgd2VpbCBzaWUgc2ljaCAiYWxsZXMgc2VsYnN0IGVyc3BpZWxlbgptdXNzdGVuIj8gV29obCBrYXVtLgpBbHNvLCB3YXMgc29sbCBkZXIgZ2FuemUgVW5mdWcgaGllciBkZW5uIGVpZ2VudGxpY2g/IEljaCBrYW5uIG5pY2h0IGFuZGVycywKYWxzbyB6dSB2ZXJtdXRlbiwgZ2V3aXNzZW4gUGVyc29uZW4gYW4gZGVyIFNwaXR6ZSBpc3QncyBlaW4gYmlzc2NoZW4genUKS29wZiBnZXN0aWVnZW4sIGRhc3MgZGFzIE1HIGRhcyB3b2hsIGdyb2Vzc3RlIGRldXRzY2hlIE1VRCBpc3QsIGRhc3MgZXMgJ25lbgpNRy1Gb2VyZGVydmVyZWluIG1pdCAod2VuaWdlbiwgYWJlciBpbW1lcmhpbikgemFobGVuZGVuIE1pdGdsaWVkZXJuIGdpYnQsCmRhc3MgZWlnZW50bGljaCBqZWRlciBSb2xsZW5zcGllbGZhbiBtaXQgQ29tcHV0ZXJhY2NvdW50IGRhcyBNRyBrZW5udCwgdW5kIAp3YXMgbWlyIHNvbnN0IG5vY2ggYWxsZXMgZnVlciBHcnVlbmRlIGVpbmZhbGxlbi4gTGV1dGUsIGtvbW10IG1hbCB3aWVkZXIgCnp1cnVlY2sgYXVmIGRlbiBUZXBwaWNoISBHdXQsIGRpZSBBbHRlcm5hdGl2ZSB3YWVyZSBuYXR1ZXJsaWNoLCBlaW4gTVVECmF1Znp1bWFjaGVuLCBkYXMgYXVzc2VyaGFsYiBkZXIgTWF0aGUgaW4gTXVlbnN0ZXIgZ2FyIG5pY2h0IGVycmVpY2h0IHdlcmRlbgprYW5uLCBhYmVyIG9iIGRhcyBkYW5uIFNwYXNzIG1hY2h0Li4uCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHYWdhPyAoS3JldGVrLCAyMy4gQXByIDE5OTcsIDAyOjA3OjA4KToKfiMhIHJuPUJvaW5nIHJ0PTg2MTcwMDU3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQpCb2luZyB3cm90ZToKClNvc28sIHdpciB2ZXJkZXJiZW4gZGVuIExldXRlbiBkZW4gU3Bhc3MsIGlzdCBqYSBpbnRlcmVzc2FudC4gRGFzcyB3aXIgaGllcgp2aWVsbGVpY2h0IGF1Y2ggdW5zZXJlbiBTcGFzcyBoYWJlbiB3b2xsZW4gdW5kIGhpZXIgbmljaHQgbnVyIEFyYmVpdHNza2xhdmVuCnNpbmQgYmVkZW5rc3QgRHUgbmljaHQ/IE1pciB3aXJkIGRlciBTcGFzcyB2ZXJkb3JiZW4sIHdlbm4gaWNoIExldXRlIGJlaW0KU2NodW1tZWxuIGVyd2lzY2hlLCBtaXIgd2lyZCBkZXIgU3Bhc3MgdmVyZG9yYmVuIHdlbm4gaWNoIEtvbnRyb2xsbWFzc25haG1lbgplaW5iYXVlbiBtdXNzLCBkaWUgZWluZW0gdG90YWxpdGFlcmVuIFVlYmVyd2FjaHVuZ3NzdGFhdCBnbGVpY2hrb21tZW4uIE1pcgp3aXJkIGRlciBTcGFzcyB2ZXJkb3JiZW4gd2VubiBpY2ggZGllc2UgU2NoZWlzc2UgaGllciBsZXNlbiBtdXNzLgooZW5kIHF1b3RlKQoKTml4IGdlZ2VuIERpY2ggcGVyc29lbmxpY2gsIEJvaW5nLCBhYmVyIHRlaWx3ZWlzZSBrb21tdCdzIG1pciBzY2hvbiBzbyB2b3IsCmFscyB3dWVyZGUgc2ljaCBkZXIgU3Bhc3MgZ2V3aXNzZXIgUGVyc29uZW4gZGFyYXVmIGJlc2NocmFlbmtlbiwgenUgCnJlZ2xlbWVudGllcmVuLCB6dSBxdWVuZ2Vsbiwgc2ljaCBpbW1lciBnbGVpY2ggZnVyY2h0YmFyIGJldHJvZmZlbiB6dSBmdWVobGVuCnVuZCBnbGVpY2ggamVtYW5kZW4gZGFmdWVyIGJlc3RyYWZlbiB6dSBtdWVzc2VuLiBTb3JyeSwgTGV1dGUsIGdlaHQgZG9jaCB6dXIKUG9saXplaSwgd2VubiBkYXMgRXVyZSBIb2JiaWVzIHNpbmQhCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2FnYT8gKE9ya3RvZXRlciwgMjMuIEFwciAxOTk3LCAwOToyMDoyMik6Cn4jISBybj1LcmV0ZWsgcnQ9ODYxNzUzNzkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CkRvY2ggS3JldGVrLCBpY2ggZnVlaGxlIG1pY2h1bmdlcmVjaHQgYmVoYW5kZWx0IHVuZCBiZW5hY2h0ZWlsaWd0LCB3ZWlsIGljaAptaXIgKGZhc3QpIGFsbGVzIHNlbGJzdCBlcmFyYmVpdGVuIG11c3N0ZS4KSWNoIHdpbGwgbmljaHQgYmVzdHJlaXRlbiwgZGFzIGljaCBhdWNoIGhpZXIgdW5kIGRhIEhJbGZlIGJla29tbWVuIGhhYmUKKGFsbGVyZGluZ3MgZmFzdCBhdXNzY2hsaXNzbGljaCB2b24gU3BpZWxlcm4pLCBhYmVyIG1pciBoYXQga2VpbmVyICJtYWwgZWJlbiIKbWVpbmUgU2tpbGxzIGdlc2V0enQuCldlbm4gZHVpcmdlbmR3YXMgYWxsZWluZSBzcGllbHN0LCBtYWNoIHdhcyBkdSB3aWxsc3QsIHdlbm4gbWFuIHp1IG1laHJlcmVuClNwaWVsdCB1bmQgc2ljaCBuaWNodCBhbiBkaWUgUmVnZWxuIGhhZWx0IGdpYnQgZXMgU3RyZWl0ICEKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHYWdhPyAoTGksIDIzLiBBcHIgMTk5NywgMTE6Mjk6MTcpOgp+IyEgcm49S3JldGVrIHJ0PTg2MTc1NDAyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQpEZXIgRWluZHJ1Y2sgZW50ZWh0IGRhZHVyY2gsIGRhc3MgZGllIG1laXN0ZW5zIE1hZ2llciBlcnN0IHJlYWdpZXJlbiwgd2VubgppaG5lbiBkaWUgR2FsbGUgdWViZXJsYWV1ZnQuIERpZSBTcGllbGVyIGJla29tbWVuIGphIG51ciBkaWUgInN0cmFmbWFzc25haG1lbiIKbWl0IHVuZCBkZW5rZW4gZ2xlaWNoLCBNYWdpZXIgd3VlcmRlbiBzb2ZvcnQgbnVyIHF1ZW5nZWxuLCBzaWNoIGJldHJvZmZlbgpmdWVobGVuIHVuZCBhbmRlcmUgYmVzdHJhZmVuLiB2aWVsbGVpY2h0IHNvbGx0ZW4gZGllIFNwaWVsZXIgbWFsIHZlcnN1Y2hlbiwKc2ljaCBpbiBlaW5lbiBNYWdpZXIgaGluZWluenUgdmVyc2V0emVuLCB1bSBpaHJlIHd1dCB1bmQgaWhyZW4gRnJ1c3QgenUKdmVyc3RlaGVuLiBHZW5hdXNvIHNvbGx0ZW4gc2ljaCBkaWUgTWFnaWVyIG1hbCB2ZXJzdWNoZW4gdm9yenVzdGVsbGVuLCB3aWUgZGllCkFia2xlbW1lcmVpIGF1ZiBkaWUgc3BpZWxlciB3aXJrdCwgYXVjaCB3ZW5uIG51ciBlaW4gd2luemlnZXIgVGVpbCBhYmdlaGFlbmd0Cnd1cmRlLgpMaSAodmVydGVpbHQgQmVydWhpZ3VuZ3NwaWxsZW4gdW5kIEpvaW50cyBuYWNoIGFsbGVuIFNlaXRlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdhZ2E/IChUdW5peGd1dCwgMjMuIEFwciAxOTk3LCAxMTo1NTowNik6Cn4jISBybj1MaSBydD04NjE3ODc3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKQWxzbywgaWNoIHZlcnNldHogbWljaCBqZXR6dCBpbiBkaWUgUm9sbGUgZWluZXMgTWFnaWVyIC0gaXMnIG5pY2h0IHNjaHdlciwgaWNoCm1hZ2llciBqYSBhdWNoIHdvYW5uZXJzIG5vY2ggcnVtLi4uLCBhYmVyIGljaCBrYW5uIGlocmUgd3V0IHVuZCBpaHJlbiBmcnVzdApiZWltIGJlc3RlbiB3aWxsZW4gbmljaHQgdmVyc3RlaGVuLCBMaS4uLi4gV2FzIG1hY2hlIGljaCBmYWxzY2g/Pz8/CgpUdU5peEd1dCAtIHN0cmVuZ3Qgc2ljaCBqYS4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5haXJvbGZzIExvZXNjaHVuZyAuLi4gKE5lc2FqYSwgMjMuIEFwciAxOTk3LCAxMTo1NToxOCk6CkhhbGxvIGVyc3RtYWwgLi4uCgpBbHNvIE5haXJvbGYgd3VyZGUgYXVzIGJla2FubnRlbiBncnVlbmRlbiBnZWxvZXNjaHQuCkVSIGhhdCBTcGllbGVyaGlsZmUgYmV0cmllYmVuLCB3YXMgZXIgYXVjaCBuaWNodCBsZXVnbmV0ZS4uLi4KQWxzbyBpc3QgZ2VnZW4gZGllc2UgU3RyYWZlIHdvaGwgbmljaHRzIGVpbnp1d2VuZGVuIC4uLgpFcyBpc3QgbmljaHRzIGdlZ2VuIGVpbiBWb3JnZWhlbiBnZWdlbiBtb2dnZWxuZGUgTWFnaWVyIHp1IHNhZ2VuLCBudXIgZGFzIFdJRQp1bmQgV0VOIHNvbGx0ZSBkYW5uIGF1Y2ggZmFpciBzZWluIC4uLgpJY2ggd2lsbCBkYW1pdCBzYWdlbiwgaWNoIGJpbiB3aXJrbGljaCBnZXNwYW5udCwgb2IgbnVyIE5haXJvbGYgdHJpZmZ0IGJ6dwpCb21iaSBvZGVyIG9iIGF1Y2ggZGllIGhvZWhlcmVuIE1hZ2llciBlbnRzcHJlY2hlbmQgYmVoYW5kZWx0IHdlcmRlbiAuLi4KT2RlciBpc3QgU3BpZWxlcmJldm9yenVndW5nLCB3ZWxjaGUgbmFjaCBNYWdpZXJ2ZXJ0cmFnIGphIFNwaWVsZXJoaWxmZSBpc3QKKHZlcmJvdGVuZXJ3ZWlzZSksIHdlbm4gc2llIHZvbiBlaW5lbSBFcnppIChvZGVyIGFlaG5saWNoZW0pIGF1c2dldWVidCBpc3QKLi5sZWdhbCAuLnNvenVzYWdlbiBwZXIgZGVmaW5pdGlvbmVtIGlzdCBkYXMgZGFubiBsZWdhbCAuLi4KSWNoIGJpbiB3aXJrbGljaCBnZXNwYW5udCAuLi4uIApTaGFyaWEgd3VyZGUgamEgZ25hZWRpZ2Vyd2Vpc2UgbmljaHQgZ2Vsb2VzY2h0LCBhYmVyIGlocmUgU2tpbGxzCnJ1bnRlcmdlc2V0enQsIG9id29obCBtYW4ga2VpbmUgQmV3ZWlzZSBmaW5kZW4ga29ubnRlLCBkYXMgTmFpcm9sZiBhbiBTaGFyaWEKaXJnZW5kZXR3YXMgbWFuaXB1bGllcnQgaGF0IC4uLi5tYW4gYmVzdHJhZnRlIFNoYXJpYSBxdWFzaSwgd2VpbCBuYWphIC4uaGFldHRlCmphIHNlaW4ga29lbm5lbiBkYXMgLi4uLgpDb29sIC4uLmRhbm4gd2VyZGVuIHdvaGwgYWxsZSBTcGllbGVyLCBkaWUgZWluZW4gTWFnaWVyIGF1ZiBkZW0gRmJhbmQgc3RlaGVuCmhhYmVuIGF1Y2ggYmVzdHJhZnQgLi4ubmFqYSB3ZWlsIGVzIGtvZW5udGUgamEgc2VpbiBkYXNzIC4uLi5vZGVyIHdpZSA/Pz8/CgpBbHNvLCB3ZW5uIG1hbiBtZWludCwgbWFuIG11ZXNzZSBudW4gaGFlcnRlciBkdXJjaGdyZWlmZW4uLi5ndXQgLi4uYWJlciBiaXR0ZQpuaWNodCBudXIgbmFjaCB1bnRlbiwgc29uZGVybiBnbGVpY2htYWVzc2lnIDopCgpDaWFvIGV1cmUgTmVzaSwgZGllIG1pdCBlaW5lbSBhbHRlbiBIdXQgdW1oZXJ3aW5rdCA6KQpQLlM6IEljaCBtb2VjaHRlIG1laW5lIEFydGlrZWwgbmljaHQgYWxzIHBlcnNvZW5saWNoZW4gQW5ncmlmZiBhdWYKaXJnZW5kamVtYW5kZW4gdmVyc3RhbmRlbiBoYWJlbiAuLi4ub2tpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xhcnN0ZWxsdW5nIChMaSwgMjMuIEFwciAxOTk3LCAxMjowMjo0Nyk6Cn4jISBybj1EYW5jZXIgcnQ9ODYxNzExMDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzExMDQxCmhtbSAsa2xpbmd0IGRvY2ggZ3V0LCBvZGVyPwptaWNoIHd1ZXJkZSBtYWwgZGllIE1laW51bmcgdm9uIE1hZ2llcm4gbWl0IExldmVsIDY1KyBpbnRlcmVzc2llcmVuLi4uCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGFyc3RlbGx1bmcgKE5haXJvbGYsIDIzLiBBcHIgMTk5NywgMTI6NTU6NDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2MTcyNTE5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQpVbSBkaWUgU2FjaGUga2xhcnp1bGVnZW46CgpOYWlyb2xmIHd1cmRlIGdlbG9lc2NodCB3ZWlsIGVyOgpHZWxkIGluIGVpbmUgVHJ1aGUgZ2VsZWd0IGhhdCwKT2JqZWt0ZSBnZWNsb25lZCBoYXQgdW5kIGluIGVpbmUgVHJ1aGUgZ2VsZWd0IGhhdCwKR2lsZGVuc2tpbGxzIHZvbiBTcGllbGVybiBnZXNldHp0IGhhdCAoIE5VUiBLYXJhdGUgTklDSFQgWmF1YmVyZXIpCmJlaSBlaW5lbSBad2VpdGkgZGVuIGVyIG5pY2h0IGFscyBUZXN0aSBtYXJraWVydCBoYXQgZGllIFdVcmZzdGVybnphaGwKaG9jaGdlc2V0enQgaGF0Li4KKGRpZSBTdGVybmUgaGFiIGljaCBhbGxlcmRpbmdzIGJlaSBkZW0gWndlaXRpIGltIEludmVudG9yeSBnZWxhc3NlbiB1bmQgc2llCk5JQ0hUIHdlZ2dlYmVuLi4uKQoKVW5kIGRhcyBpc3QgZGllIHJpY2h0aWdlIGxpc3RlIDotKQoKWVROIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xhcnN0ZWxsdW5nIChOYWlyb2xmLCAyMy4gQXByIDE5OTcsIDEyOjU2OjI5KToKfiMhIHJuPUJvaW5nIHJ0PTg2MTcyNzY2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcxMTA0MQprb3JyaWdpZXJlOiBuaWNodCBaYXViZXJlcnNraWxscyBzb25kZXJuIEthcmF0ZWtza2lsbHMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwaWVsZXJoaWxmZSAoUmFudGFucGxhbiwgMjMuIEFwciAxOTk3LCAxMzozNDoyMCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODYxNzMwMzEyIHJnPWRpc2t1c3Npb24KfiMhIHRpZD04NjE3MDU1MzkKSWhyIFNwaW5udCBhbGxlICEhCgpEZXIgZWluZSBmbGVubnQgd2VpbCBlciBlcyB1bmdlcmVjaHQgZmluZGV0IGRhc3MgYW5kZXJlIG1vZ2VsbiwgZGVyIG5hZWNoc3RlCmhldWx0IHdlaWwgZXIgZ2Vsb2VzY2h0IHd1cmRlLCBlcyBpc3QgbWlyIHNvd2FzIHZvbiB1bmF1c3NwcmVjaGxpY2gKc3VwZXJtZWdhc2NoZWlzc2VnYWwsIHdlciB3YXMgd2FubiB3bwp3aWUgbWFjaHQsIGZ1ZXIgbWljaCBoZWlzc3QgamVtYW5kZXMgQWt0aW9uZW4gYXVmIG1laW5lIHBlcnNvZW5saWNoZXMKV29obGJlZmluZGVuCkVpbmZsdXNzIG5laG1lIHp1IGxhc3NlbiwgaWhuIHp1IGFremVwdGllcmVuIG9kZXIgenVtaW5kZXN0IGluIGlyZ2VuZGVpbmVyCkFydCB1bmQgV2Vpc2UgZXJuc3R6dW5laG1lbiwgTGV1dGUgdWViZXIgZGFzIHdhcyBpY2ggaGllciBMZXNlIGhhYiBpY2gKYmVzdGVuZmFsbHMgZWluIHNlaHIgbXVlZGVzIGxhZWNoZWxuIHVlYnJpZy4gKE1pdGxlaWRpZyBpc3QgZXMgYXVjaCwgbGVpZGVyKQoKSWNoIGdsYXViZSBpaHIgd29sbHQgYXVjaCBuaWNodCB2ZXJzdGVoZW4sIGlociBzZWlkIF9kZWZpbml0aXZfIHRvdGFsCnVud2ljaHRpZywgdm9lbGxpZyBvYnNvbGV0LCBhbHNvIGtvbW10IHJ1bnRlcgppaHIga29lbm50IGdhbnogZ3V0IHByb2dyYW1taWVyZW4sIGFiZXIgZGFzIGtvZW5uZW4gbmUgTWVuZ2UgTGV1dGUuCkRpZSBtZWlzc3RlbiB2b24gZXVjaCBoYWJlbiBlaW4gU3R1ZGl1bSAocHJpbWFlcikgZGVyIE5hdHVyd2lzc2Vuc2NoYWZ0ZW4KYWJzb2x2aWVydCwgTmEgdW5kLi4uPz8gQXVjaCBkYXMgaGFiZW4gZGllIG1laXNzdGVuIGhpZXIsIGlociBzZWlkCmhpZXIgdW5kIGdhbnogYmVzb25kZXIgaW0gUkwsIG5pY2h0IG1laHIgb2RlciBtaW5kZXIgd2ljaHRpZywgd2llIGVpbgpQZW5uZXIsIGVpbiBQb2xpdGlrZXIgb2RlciBpcmdlbmRlaW4gYW5kZXJlciBNZW5zY2guLi4KClZlcnN0ZWh0IG1pY2ggaXJnZW5kamVtYW5kID8/PwoKKnNldWZ6KgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyaGlsZmUgKFR1bml4Z3V0LCAyMy4gQXByIDE5OTcsIDEzOjM2OjQyKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxNzk1MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5CkVzIGlzdCB6d2FyIHZvZWxsaWNoIHd1cnNjaHQsIGFiZXIgSUNIIHZlcnN0ZWgnIERpY2gsIE9ldHRpISBWb2xsIHVuZCBnYW56IQoKVHVOaXhHdXQgLSBzdWNodCBudXIgJ24gTWFnaWVyendlaXRpLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BpZWxlcmhpbGZlIChTaWRvbGluLCAyMy4gQXByIDE5OTcsIDEzOjM5OjAzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxNzk1MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5CipzZXVmeioKCkxlaWRlciB3aXJkJ3MgZHVyY2ggQXJ0aWtlbCB3aWUgZGVuIGRlaW5pZ2VuIGF1Y2ggbmljaHQgYmVzc2VyLi4uCgpTaWRvbGluLiBJc3QgZGFua2JhciBmdWVyIGRlbiBCZWZlaGwgInVlYmVyZ2VoZSB0aHJlYWQiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyaGlsZmUgKEdyb28sIDIzLiBBcHIgMTk5NywgMTM6NDI6MDEpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjE3OTUyNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MDU1MzkKKmdyaW5zKgpVbmQgZGEgZGlyIGhpZXIgYWxsZXMgc28gbWVnYXNjaGVpc3NlZ2FsIGlzdCwgdW5kIGR1IGRpY2ggZWggbmljaHQgZHJ1bQprdWVtbWVzdCB1bmQgZWggYWxsZXMgZWdhbCBpc3QsIG11ZWxsc3QgZHUgdW5zIG1pdCBhcnRpa2VsbiB6dSB1bmQgc3BpZWxzdAp3aWVkZXIgU3VwZXJrYXNwZXIgZ2VnZW4gZGVuIHJlc3QgZGVyIFdlbHQuCkFiZXIgd2VyIGJpc3QgZHUgc2Nob24gdW0gZGFzIHp1IGJldXJ0ZWlsZW4gLi4uLgoKR3JvbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BpZWxlcmhpbGZlIChSYW50YW5wbGFuLCAyMy4gQXByIDE5OTcsIDEzOjQzOjIwKToKfiMhIHJuPUdyb28gcnQ9ODYxNzk1NzIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5CipnYWVobiogRGllIHN1cGVyY29vbGUgRm9ybnQsIG1hY2h0IHdpZWRlciBGcm9udCA7LSkpCgpJY2ggZXJrbGFlcmUgbmljaHQgX3dhc18gaWNoIG1laW4gYXVjaCBuaWNodCBmdWVyIFRvZXRlciwgUnVkaSwgUnpuZSB1bmQKa29uc29ydGVuLCBpaHIgdmVyc3RlaHQgZXMgb2RlciBsYXNzdCBlcywgaWhyIGtvdHp0IG1pY2ggbmFlbWxpY2ggZ2FuegpiZXNvbmRlcnMgYW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwaWVsZXJoaWxmZSAoUm9jaHVzLCAyMy4gQXByIDE5OTcsIDEzOjQ4OjU0KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxNzk1MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5Ck9LLCBpY2ggYmluIGFsc28gdW53aWNodGlnLCBhbHNvIHdpcmQgZXMgd29obApuaWVtYW5kZW4gd2FzIGF1c21hY2hlbiB3ZW5uIGljaCBtYWwgc2VsYnN0bG9lc2NodW5nIG1hY2hlCnVuZCB2b3JoZXIgYWxsZXMgbWVpbmUgRmlsZXMgaGllciBsb2VzY2hlLgpTYWcgbWFsLCBtZXJrc3QgRHUgZGVubiBuaWNodCwgd2FubiBkYXMgRmFzcyB1ZWJlcmxhZXVmdD8/Pz8/Pz8/PwpCZWkgc29sY2hlbiBBcnRpa2VsIHZlcmdlaHQgbWlyIEpFR0xJQ0hFIEx1c3QsIGhpZXIgbm9jaAppcmdlbmQgZXR3YXMgenUgcHJvZ3JhbW1pZXJlbi4KU3VjaHQgRXVjaCBkb2NoIGVpbiBNdWQgb2huZSBNYWdpZXIsIGRpZSBFdWNoIGRlbiBTcGFzcyB2ZXJkZXJiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGllbGVyaGlsZmUgKEdub21lLCAyMy4gQXByIDE5OTcsIDEzOjQ5OjA5KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxNzk1MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5Cm1laW5lIGZyZXNzZSwgb2V0dGk6IERVIE5FUlZTVCEgKHVtIGVzIG1hbCBhdWYgZGVuIHB1bmt0IHp1IGJyaW5nZW4pCgp3ZW5uIGRpY2ggaGllciBhbGxlIGFua290emVuLCBtYWNoIGRvY2ggZW5kbGljaCBzZWxic3Rsb2VzY2h1bmcgdW5kCm1hY2ggZGVpbiBlaWdlbmVzIE1VRCBhdWYsIGluIGRlbSBqZWRlci9qZWRlIHNjaHVtbWVsbiBrYW5uIHdpZSBlci9zaWUKbHVzdGlnIGlzdC4gaGllciB3aXJkIGhhbHQgc2NodW1tZWxuIGJlc3RyYWZ0ISB3ZW1zIG5pY2h0IHBhc3N0LCBkZXIKa2FubiBnZWhlbi4gYmFzdGEuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3BpZWxlcmhpbGZlIChCZW5kZWlnaWQsIDIzLiBBcHIgMTk5NywgMTM6NTE6NDYpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjE3OTU4MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MDU1MzkKT2V0dGksIG1pY2ggd3VlcmRlIG1hbCBlaW5zIGludGVyZXNzaWVyZW46IApXZW5uIERpY2ggaGllciBzbyB6aWVtbGljaCBhbGxlcyB1bmQgamVkZXIgYW5rb3R6dCwgd2llc28gZnVlaHJzdCBkdSBkYW5uIGluCmRlciBNUEEgaW1tZXIgZGFzIGdyb3NzZSBXb3J0LCBzY2hyZWlic3QgaGF1ZmVud2Vpc2UgKHp1bSBUZWlsIHJlY2h0IGd1dGVyLAptZWlzdCBhYmVyIHNjaGxpY2h0IHVlYmVyZmx1ZXNzaWdlcikgQXJ0aWtlbCB1bmQgd2FydW0gaGFzdCBkdSBuaWNodCBzY2hvbgpsYWVuZ3N0IGF1ZmdlaG9lcnQsIGRpY2ggaGllciBibGlja2VuIHp1IGxhc3Nlbj8gRGllc2UgZ2FuemVuIGtpbmRpc2NoZW4gIkljaApsYXNzIG1pY2ggbWFsIGxvZXNjaGVuIiBBa3Rpb25lbiBzaW5kIGphIHVuZ2VoZXVlciB3aXR6aWcsIGFiZXIgbGFuZ3NhbQp2ZXJhbHRldC4gV2FzIHRyZWlidCBkaWNoIGlucyBNRz8KV2VubnMgbnVyIGVpbiBwYWFyIG5ldHRlIExldXRlIHNpbmQsIG1pdCBkZW5lbiBkdSByZWRlbiB3aWxsc3QsIGRhbm4gc2NobWVpc3MKZGllIE1QQSB3ZWcgdW5kIHNjaHJlaWIgZGlyIGVpbiB3ZWdlc2NyaXB0IGFuIGVpbmVuIHJ1aGlnZW4gVHJlZmZwdW5rdCwgaW0KTmFibGFzdW1wZiBvZGVyIHNvLgpVbmQgdmVyc2Nob24gdW5zIG1pdCBkZW0gbmFlY2hzdGVuIFJlcGx5LgoKWidwYXIgU2VydnUsCiAgICAgICAgICBCZW5kZWlnaWQKClAuUy46IE9ldHRpIGthbm4gYWxzIHBhcnMgcHJvIHRvdG8gc3RlaGVuLCBkYXMgdHJpZmZ0IGF1ZiBldGxpY2hlIGFuZGVyZSBhdWNoCnp1LiBNSVIgZ2VmYWVsbHQgZGFzIE1HIGltbWVyIG5vY2gsIHVuZCBlYmVuc28gZGllIG1laXN0ZW4gTGV1dGUsIHVuZCBkdXJtIGJpbgppY2ggd2VkZXIgYmVyZWl0IHp1IGdlaGVuIG5vY2ggbWlyIGRhcyBzcGllbCBrYXB1dHRtYWNoZW4genUgbGFzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BpZWxlcmhpbGZlIChSYW50YW5wbGFuLCAyMy4gQXByIDE5OTcsIDEzOjUxOjU3KToKfiMhIHJuPUdub21lIHJ0PTg2MTc5NjE0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTcwNTUzOQoqbGFlY2hlbCoKCklociBrb3R6dCBtaWNoIG5pY2h0IGFuLCBpaHIgYW11ZXNpZXJ0IG1pY2gsIGFiZXIgZGFzIG1laW50ZSBpY2ggbWl0CiJ2ZXJzdGVoZW4iLi4uCgpPZSoKCkhldXRlIGZ1cGVyYXJzY2hsb2NobWFlc3NpZyBkcmF1ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3BpZWxlcmhpbGZlIChUdW5peGd1dCwgMjMuIEFwciAxOTk3LCAxNDowNzozMik6Cn4jISBybj1Sb2NodXMgcnQ9ODYxNzk2MTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNzA1NTM5CldlaXNzdCBEdSwgUm9jaHVzLCBpY2ggYmVrb21tZSB3aXJrbGljaCBsYW5nc2FtIEx1c3QsIG1pciBlaW4gTXVkIG9obmUgTWFnaWVyLApkaWUgbWlyIGRlbiBTcGFzcyB2ZXJkZXJiZW4genUgc3VjaGVuLiBOaWNodCB3ZWlsIGljaCBNYWdpZXIgZnVlcgp1ZWJlcmZsdWVzc2lnIGhhbHRlLCBvZGVyIHdlaWwgaWNoIGRlciBNZWludW5nLCBkYXMgd2FlcmUgamEgU09PTyBlaW5mYWNoLCB6dQptYWdpZXJuLCBzb25kZXJuIHdlaWwgc2llIG1pciBtaXQgSWhyZW4gQWJoYWVuZy1Ba3Rpb25lbiBkZW4gU3Bhc3MgdmVyZGVyYmVuLgpEYWVtbGljaGVyd2Vpc2UgaGFiZSBpY2ggaW4gMzAgVGFnZW4gb25saW5lLXplaXQgZWluIGJpc2tlbiBIZXJ6IGZ1ZXIncyBNRwplbnR3aWNrZWx0LCBkYXMgbWljaCBkb2NoIG5vY2ggenVydWVja2hhZWx0Li4uLgoKSWNoIGZ1ZXIgbWVpbmVuIFRlaWwgZmFlbmQncyBzY2hhZGUsIHdlbm4gaGllciBlaW4gTWFnaWVyIG5hY2ggZGVtIGFuZGVyZW4KdmVyc2Nod2luZGVuIHd1ZXJkZSwgdW5kIGRhIHdpbGwgaWNoIGRpY2ggbmljaHQgYXVzbmVobWVuLCBpY2ggZmluZCdzIGJsb3NzCnRyYXVyaWcsIHdpZSBzY2hlaXNzZWdhbCBlcyBldWVyZWluZW0genUgc2VpbiBzY2hlaW50LCB3aWV2aWVsZSBsZXV0ZSBoaWVyIGFucwphdXN3YW5kZXJuIGRlbmtlbiwgd2VpbCBzaWUgc2ljaCBuaWNodCBlaW5tYWwgZGFyYXVmIHZlcmxhc3NlbiBrb2VubmVuLCBkYXNzCmlocmUgc2VoZXJoYWV1c2VyIHN0ZWhlbiBibGVpYmVuLCBpbiBkaWUgamEgbmljaHQgbnVyIHdhcmdvbnMgemVpdCBnZWZsb3NzZW4KaXN0ISEhIQoKVHVOaXhHdXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlbm5lciAoRGFuY2VyLCAyMy4gQXByIDE5OTcsIDE0OjE4OjAzKToKSGFsbG8/IEtvZW5udCBJaHIgbWFsIGF1ZmhvZXJlbiwgRXVjaCBhbnp1cGFtcGVuPwpJY2ggaGFiZSBtaWNoIG1pdCBtZWluZW4gendlaSBBcnRpa2VsIHNvIHdlaXQgYXVzIGRlbSBGZW5zdGVyIGdlbGVobnQsIHdlaWwKaWNoIHdvbGx0ZSwgZGFzcyBtYWwgdWViZXIgZGllIF9TYWNoZV8gZGlza3V0aWVydCB3aXJkLiBCaXMgamV0enQgaGFiZW4gZGF6dQpudXIgd2VuaWdlIExldXRlIHdhcyBnZXNhZ3QsIHVuZCBudXIgTGkgd2FyIG5pY2h0IHp1IGNvb2wsIHVtIG1hbCBhdWYgZGllCmtvbmtyZXRlbiBWb3JzY2hsYWVnZSBlaW56dWdlaGVuLiBBbHNvPwoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdhZ2E/IChSYW50YW5wbGFuLCAyMy4gQXByIDE5OTcsIDE0OjI2OjIyKToKfiMhIHJuPURhbmNlciBydD04NjE2OTI2MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKSHVodSBEYW5jZXIgIQoKSmF1LCBpY2ggYmluIGZ1ZXIgZGllIFByb2dyYW1taWVydW5nIHZvbiBSZXN0cmlrdGlvbmVuLCBhYmVyIGRhbWl0IG5pbW1zdCBEdQpkZW4gTGV1dGVuLCBkaWUgTW9lZ2xpY2hrZWl0ICJ1bmdld29sbHRlIiBaZWl0Z2Vub3NzZW4genUgZW50ZmVybmVuLCB3ZWlsCmRpZXNlIGphIGdhciBuaWNodCBtZWhyIAppbGxlZ2FsIGltIFNpbm5lIGRlciBBbmtsYWdlIHNlaW4ga29lbm50ZW4sIGRlc3dlZ2VuIHdpcmQgc2ljaCBzbyBlaW4gCmtvbnN0cnVrdGl2ZXIgVm9yc2NobGFnIHdhaHJzY2hlaW5saWNoIG5pY2h0IGR1cmNoc2V0emVuLCBhYmVyIAp3YXIgbmUgZ3V0ZSBJZGVlLi4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdhZ2E/IChTY2hsaXBzLCAyMy4gQXByIDE5OTcsIDE0OjM2OjQxKToKfiMhIHJuPUtyZXRlayBydD04NjE3NTQwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKSHVodSBLcmV0ZUssIHdhY2ggbWFsIGF1ZiAuLi4KCmtsYXIgaXN0IGRhcyBlaW4gU3BpZWwsIGRhcyBoYXQgZGVua2UgaWNoIG5pZW1hbmQgZXJuc3RoYWZ0IGJlc3RyaXR0ZW4uClNwaWVsZSBoYWJlbiBhbGxlcmRpbmdzIFNwaWVscmVnZWxuIChkYXMgaGFzdCBEdSBqYSB2aWVsbGVpY2h0IHZlcmdlc3NlbiwKZGVzaGFsYiBlcmlubmVyIGljaCBEaWNoIG5vY2htYWwgZHJhbikuIEluIGRlciBnYW56ZW4gRGlza3Vzc2lvbiBkcmVodAplcyBzaWNoIGphIHNjaGxpZXNzbGljaCBkYXJ1bSwgZGFzcyBlYmVuIGRpZXNlIFNwaWVscmVnZWxuIHZvbiBlaW5pZ2VuCkxldXRlbiBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCBtaXNzYWNodGV0IHd1cmRlbi4KV2VubiBpY2ggQm9pbmcgdW5kIE9ya1QgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUgZ2VodCBlcyBpaG5lbiBqYSBuaWNodCBkYXJ1bQpqZWRlcyBrbGVpbnN0ZSBWZXJnZWhlbiBtaXQgbmVyIE1hZ2llcmxvZXNjaHVuZyB6dSBhaG5kZW4gLSBhYmVyIHdlciBzZWluZQpNYWdpZXJmYWVoaWdrZWl0ZW4gZ2FueiBtYXNzaXYgbWlzc2JyYXVjaHQgaGF0LCBoYXQgaW4gZGllc2VtIFNwaWVsIG5peAp2ZXJsb3JlbiAtIGViZW4gV0VJTCAod2llIE9ya1Qgc2FndGUpIGVzIEtFSU4gU3BpZWwgaXN0IGRhcyBEdSBhbGxlaW5lCnNwaWVsc3QuClVuZCBnYW56IG5lYmVuYmVpIGdlc2FndCwgc2NoYXUgRGljaCBtYWwgdW0gd2llIGRhcyBpbiBhbmRlcmVuIE1VRHMKZ2VoYW5kaGFidCB3aXJkLiBBbHNvIGljaCB3dXJkZSBtYWwgbmFjaCA1IE1pbiBhdXMgZWluZW0gTVVEIHJhdXNnZXNjaG1pc3NlbiwKd2VpbCBpY2ggbmVuIE5hbWVuIGdld2FlaGx0IGhhdHRlLCBkZXIgbmljaHQgenVtIFNwaWVsIHBhc3N0ZSAuLi4KSWNoIGZpbmRlIGVzIHRvbGwsIGRhc3MgZGFzIE1HIGVpbiByZWxhdGl2IGZyZWl6dWVnaWdlcyB1bmQgdmllbGZhZWx0aWdlcyBNVUQKaXN0LCBhYmVyIGRhcyBoZWlzc3Qgbm9jaCBsYW5nZSBuaWNodCwgZGFzcyBiZWkgZGVuIFNwaWVscmVnZWxuIEFuYXJjaGllCmhlcnJzY2hlbiBtdXNzLgoKU2NobGlwcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2FnYT8gKEZ5dCwgMjMuIEFwciAxOTk3LCAxNDo0NTo0MCk6Cn4jISBybj1TY2hsaXBzIHJ0PTg2MTc5OTAwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQoKSG0sIGFsc28gZWlnZW50bGljaCBrb2VubnRlIG1hbCAnbiBNYWdpZXIgJ24gVG9vbCBzY2hyZWliZW4sIGRhc3MgZGllCldvZXJ0ZXIgJ3NwaWVsZXJoaWxmZScsICdtYWdpZXInLCAnbG9lc3NjaGVuJywgJ3Zlcm51ZWZ0aWcnLCAnc3BpZWwnLAonb2V0dGknLCAnaGF0IGdlc2FndCcsICdncnVzeicsICdkZW1va3JhdGllJywgJ2lkaW90ZW4nLCAna2luZGlzY2gnLAonYWJoYWVuZ2VuJywgJ3NwaWVscGF1c2UnLCAnYW5hcmNoaWUnLCAnZXJ6aWUnIG1pdCBlaW5lciBnZXdpc3NlbgpNZW5nZSB2b24gRnVlbGx3b2VydGVybiB6dXNhbW1lbndpcmZ0LCBndXQgZHVyY2hydWVocnQgdW5kIGRhcyBFcmdlYm5pcwp6dSBTYWV0emVuIGRlciBkZXV0c2NoZW4gU3ByYWNoZSAob2RlciB6dSBldHdhcywgd2FzIHZvbiBqZW1hbmRlbQpkYWZ1ZXIgZ2VoYWx0ZW4gd2lyZCkgenVzYW1tZW5zZXR6dC4gRGFzIEdhbnplIHdpcmQgZGFubiBub2NoIG1pdCBkZW0KTmFtZW4gZWluZXMgZ2VyYWRlIEVpbmdlbG9nZ3RlbiB2ZXJzZWhlbiB1bmQgaW4gZWluZSB6dWZhZWxsaWdlClJ1YnJpayBnZXBvc3RldC4uLgoKRnl0LgoKUFM6IEFjaCBqYSwgbmF0dWVybGljaCBtdXNzIGRlciBNYWdpZXIgaGludGVyaGVyIGdlbG9lc2NodCB3ZXJkZW4gdW5kCnNlaW4gS3VlaGxzY2hyYW5rIGxlZXJnZWZyZXNzZW4gd2VyZGVuLCBlciBuaW1tdCBkdXJjaCBXaWVkZXJob2xlbgpkaWVzZXMgVmVyZmFocmVucyBuYWVtbGljaCBTcGllbGVybiBzb3ZpZWwgQXJiZWl0IGFiLCBkYXNzIGRhcwoqZWluZGV1dGlnKiBTcGllbGVyaGlsZmUgaXN0LgoKUFBTOiBNaXIgdHV0J3MgbmF0dWVybGljaCBsZWlkIHVtIGRpZSBMZXV0ZSwgZGllIGR1cmNoIGRhcyBkZXJhcnRpZwpnZWhvYmVuZSBOaXZlYXUgZGVyIERpc2t1c3Npb24gbmljaHQgbWVociBtaXRrb21tZW4sIGFiZXIgT3BmZXIgbXVlc3NlbgpnZWJyYWNodCB3ZXJkZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2FnYT8gKFF1YXNpbW9kbywgMjMuIEFwciAxOTk3LCAxNToyNzozMCk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2MTc5ODM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQpLYW5uc3QgRHUgbWFsIGJpdHRlIGVpbmUgTGlzdGUgYWxsZXIgRGVpbmVyIFp3ZWl0aXMgdmVyb2VmZmVudGxpY2hlbiwgZGFtaXQKaWNoIG5pY2h0IHp1ZmFlbGxpZyBkb2NoIG5vY2ggd2FzIHZvbiBkaXIgbGVzZW4gbXVzcz8/PwoKUXVhc2kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWdlbG4gKEdyaW1tYm9ybiwgMjMuIEFwciAxOTk3LCAxNzo1Njo0Nyk6CkljaCB3ZWlzcyB3aXJrbGljaCBuaWNodCB3YXMgZGVyIEF1ZnN0YW5kIHNvbGwuCldlbm4gaWNoIG1pdCBqZW1hbmRlbSBNZW5zY2ggYWVyZ2VyZSBEaWNoIG5pY2h0IHNwaWVsZSB1bmQgZXIgZmFlbmd0IGFuIHp1CnNjaHVtbWVsbiwgZGFubiBzY2htZWlzc2UgaWNoIGlobiByYXVzLCB3ZW5uIGljaCBkaWUgIk1hY2h0IiBkYXp1IGhhYmUsIGdlaGUsCndlbm4gaWNoIHNpZSBuaWNodCBoYWJlIG9kZXIgYmVzY2hlaXNzZSB6dXJ1ZWNrLgpIaWVyIHdpcmQgdm9uIGRlbmVuLCBkaWUgZGllICJNYWNodCIgaGFiZW4sIGRpZSBlcnN0ZSBTdHJhdGVnaWUgZ2V3YWVobHQsCm1vZWdsaWNoZXJ3ZWlzZSBnZW1pc2NodCBtaXQgZGVyIGxldHp0ZW4gKHdlbm4gbWFuIGRlbm4gZGFzIEFiaGFlbmdlbiBzbyBzZWhlbgp3aWxsKS4KClVuZCBkaWUgTGV1dGUsIGRpZSBoZXVsZW4sIHdlaWwgRXJ6bWFnaWVyIGRpZSBNYWNodCBoYWJlbiwgYW5kZXJlIFNwaWVsZXIgenUKbG9lc2NoZW4sIHNpbmQgdmVybXV0bGljaCBhdWNoIGdlZ2VuIFNjaGllZHNyaWNodGVyIGJlaW0gRnVzc2JhbGwsIHdlaWwgZGllCm5hZW1saWNoIGF1Y2ggU3BpZWxlciB2b20gUGxhdHogc3RlbGxlbiBrb2VubmVuLiBVbmQgaGllciB3aWUgZG9ydCBnaWJ0IGVzIGRpZQoid2lsbGt1ZXJsaWNoZSwgYXVnZW5ibGlja2xpY2hlIFRhdHNhY2hlbmVudHNjaGVpZHVuZyIsIGltIHdlc2VudGxpY2hlbiBvaG5lCkZlcm5zZWhiZXdlaXMuCgpOYXR1ZXJsaWNoIGthbm4gbWFuIG1vZ2VsbiwgbmF0dWVybGljaCBrYW5uIG1hbiAoZ2VyYWRlIGFscyBNYWdpZXIpIGdld2FsdGlnClVucnVoZSBpbnMgU3BpZWwgYnJpbmdlbiwgbmljaHRzIGdlZ2VuIHp1IHNhZ2VuLiBBYmVyIGJpdHRlIG51ciwgd2VubiBtYW4gYXVjaApkaWUgS29uc2VxdWVuemVuIHp1IHRyYWdlbiBiZXJlaXQgaXN0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHYWdhPyAoU2lsdmFuYSwgMjMuIEFwciAxOTk3LCAxNzo1ODoyMik6Cn4jISBybj1GeXQgcnQ9ODYxNzk5NTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CkxhbmdzYW0sIHdlbm4gbWljaCBlaW5lciBsb2VzY2hlbiB3aWxsLCBtZWluZXR3ZWdlbiwgYWJlciBiaXR0ZQpzY2hvZW4gRmluZ2VyIHdlZyB2b24gbWVpbmVtIEt1ZWhsc2NocmFuayEKCiAgU2lsdmFuYSAtIGh1bmdyaWcsIHNhcmthc3Rpc2NoLCBkZXN0cnVrdGl2Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJzdWNoIGVpbmVyIERpc2t1c3Npb25zZ3J1bmRsYWdlIChJc25vZ29vZCwgMjMuIEFwciAxOTk3LCAxOToyNjo0Nik6Ck5hY2hkZW0gaW4gZGVuIGxldHp0ZW4gVGFnZW4gbnVyIG5vY2ggTXVlbGwgaW4gZGVyIE1QQSBlcnNjaGVpbnQsCm1jaHRlIGljaCBtYWwgdmVyc3VjaGVuLCBkaWUgd2VuaWdlbiBrb25zdHJ1a3RpdmVuIEJlaXRyYWVnZSwKdmVybWlzY2h0IG1pdCBlaW5pZ2VuIGVpZ2VuZW4gR2VkYW5rZW4genUgZWluZXIgRGlza3Vzc2lvbnNncnVuZGxhZ2UKenVzYW1tZW56dWZhc3NlbjoKMS4pUmVnZWxuIGltIE1VRApVbmJlc3RyaXR0ZW4gaXN0IHdvaGwgYmVpIGRlciB1ZWJlcndpZWdlbmRlbiBNZWhyaGVpdCBhbGxlcgpNaXRzcGllbGVyIChkYXp1IHphZWhsZSBpY2ggU3BpZWxlciB3aWUgYXVjaCBNYWdpZXIpLCBkYXNzIGVpbmUKZWNodGUgRGVtb2tyYXRpZSBuaWNodCBmdW5rdGlvbmllcmVuIGthbm4uIFZpZWxlIFByb2JsZW1lIHRyZXRlbgphYmVyIGF1Y2ggbnVyIGR1cmNoIGVpbmVuIGZlaGxlbmRlbiBJbmZvcm1hdGlvbnNmbHVzcyBhdWYuCkFuZGVyZXJzZWl0cyB6ZWlndCBkaWUgTVBBIGltbWVyIHdpZWRlciwgZGFzcyB2aWVsZSBTcGllbGVyCndlZGVyIGluIGRlciB3aWxsZW5zIG5vY2ggaW4gZGVyIExhZ2Ugc2luZCwgc2FjaGxpY2hlIERpa3Vzc2lvbmVuCnp1IGZ1ZWhyZW4uIERlc2hhbGIgbWVpbmUgQW5yZWd1bmc6IFdpZSB3YWVyZSBlcywgZWluZW4gU3BpZWxlcnJhdAplaW56dWZ1ZWhyZW4sCmJlc3RlaGVuZCBhdXMgMyBnZXdhZWhsdGVuIFNwaWVsZXJuLCBkaWUgYmVpIGdydW5kbGVnZW5kZW4gRW50c2NoZWlkdW5nZW4KKGhpZXJtaSBtZWluZSBpY2ggei5iLiBkaWUgRWluZmhydW5nIHZvbiBTdHVwc2VuIG9kZXIgZGllIGpldHp0IGF1ZmdldHJldGVuZW4KUHJvYmxlbWUsIG5pY2h0IGlyZ2VuZHdlbGNoZSBzcGllbHRlY2huaXNjaGVuIEZyYWdlbiB3aWUgbWF4SFAgb2Rlcgp3aWUgc3RhcmsgZWluZSB3YWZmZSBzZWluIGRhcmYpIGdlaG9lcnQgd2VyZGVuIG11ZXNzZW4uIFNpZSBrb2VubnRlbgp6dW0gZWluZW4gQW5yZWd1bmdlbiBhdXMgU3BpZWxlcnNpY2h0IGdlYmVuIHVuZCB6dW0gYW5kZXJlbgphdWNoIE1laW51bmdlbiB2b24gYW5kZXJlbiBTcGllbGVybiBlaW5ob2xlbi4KMi4pIFNwaWVscmVnZWxuCkplZGVzIFNwaWVsIGhhdCBSZWdlbG4sIGFuIGRpZSBtYW4gc2ljaCBoYWx0ZW4gbXVzcy4gV2VubiBtYW4gZ2VnZW4KZGllIFJlZ2VsbiB2ZXJzdG9lZXN0LCB3aXJkIG1hbiBiZXN0cmFmdC4gV2FzIG5hdHVlcmxpY2ggZWluIGdld2lzc2VzClByb2JsZW0gZGFyc3RlbGx0LCBpc3QgZGllIFRhdHNhY2hlLCBkYXNzIHNvbGNoZSBFbnRzY2hlaWR1bmdlbgphdXNzY2hsaWVzc2xpY2ggaW0gS3JlaXMgZGVyIEVyem1hZ2llcmUgc3RhdHRmaW5kZW4sIHdhcyBXaWxsa3VlciBUdWVyCnVuZCBUb3Igb2VmZm5ldC4gSWNoIG11c3MgYWxsZXJkaW5ncyBzYWdlbiwgZGFzcyBpY2ggaW4gZGVuIDMgSmFocmVuLApkaWUgaWNoIG51bm1laHIgaGllciBpbSBNdWQgYmluLCBub2NoIG5pZSBlcmxlYnQgaGFiZSwgZGFzcyBlaW5lCnNvbGNoZSBFbnRzY2hlaWR1bmcgd2lya2xpY2ggd2lsbGt1ZXJsaWNoIHdhciwgdmllbGxlaWNodCBtYWwKYWJnZXNlaGVuIHZvbiBCZW9iYWNodGVyLCBhYmVyIGRhc3MgaXN0IGVpbiBGYWxsIGZ1ZXIgc2ljaC4KSW0gR2VnZW50ZWlsLCBhbGxlIEJlc3RyYWZ1bmdlbiwgZGllIGJpc2hlciB2b2xsem9nZW4gd3VyZGVuLCB3YXJlbgplaWdlbnRsaWNoIGltbWVyIGJlZ3J1ZW5kZXQgdW5kIGluIG1laW5lbiBBdWdlbiBzb2dhciBtaWxkZQpnZXdlc2VuLiAKV29oZXIga29tbXQgbnVuIGRhcyBQcm9ibGVtIGRlciBtYXNzaXZlbiBTY2h1bW1lbGVpLCB3aWUgZXMgZ2VyYWRlCmluIGxldHp0ZXIgWmVpdCB2ZXJzdGFlcnR0IGF1ZmdldHJldGVuIGlzdD8gU2ljaGVybGljaCB3aXJkIGVzCkJldHJ1ZWdlcmVpZW4gaW1tZXIgZ2ViZW4sIGRpZXMgbGllZ3QgaW4gZGVyIE5hdHVyIGRlciBNZW5zY2hlbi4KQWxsZXJkaW5ncyBnaWJ0IGVzIGltbWVyIGRvcnQgdmVyc3RhZXJrdCBCZXRydWcsIHdvIDEuKSBCZXRydWcKbGVpY2h0IGdlbWFjaHQgd2lyZCB1bmQgMi4pIERlciBBbnJlaXogZGF6dSBkYSBpc3QuCmZ1ZXIgZGFzIGVyc3RlIGJpZXRlbiBzaWNoIGltaG8gZGllIExvZXN1bmdzdm9yc2NobGFlZ2Ugdm9uCkRhbmNlciBhbiwgZGllIGltaG8gZHVyY2hkYWNodCB1bmQgb2huZSBhbGx6dWdyb3NzZW4gQXVmd2FuZCB6dSByZWFsaXNpZXJlbgpzaW5kLiBEaWVzZSwgdmVyYnVuZGVuIG1pdCBlaW5lbSB3aXJrbGljaCBrb25zZXF1ZW50ZW0gRHVyY2hncmVpZmVuCmJlaSBkZXIgQmVzdHJhZnVuZyB3dWVyZGVuIGRhcyBQcm9ibGVtIHNpY2hlciBsaW5kZXJuLk1hbiBzb2xsdGUKc2ljaCB2aWVsbGVpY2h0IGF1Y2ggbWFsIHVlYmVybGVnZW4sIG9iIHdpcmtsaWNoIGplZGVyIE1hZ2llciB3ZXJkZW4gc29sbHRlLApkZXIgZGllcyB3aWxsLiBTaWNoZXIgc2luZCBkYSBCZXdlcnR1bmdza3JpdGVyaWVuIHNjaHdpZXJpZywgYWJlciBtYW4Kc29sbHRlIGVzIHp1bWluZGVzdCBuaWNodCBqZWRlbSBnZXN0YXR0ZW4sIGFuZGVyZSBpbiBkZW4gTWFnaWVyc3RhbmQKenUgZXJoZWJlbi4KQXVmIGRlciBhbmRlcmVuIFNlaXRlIGlzdCBlcyBkdXJjaGF1cyB6dSB2ZXJzdGVoZW4sIGRhc3MgdmllbGUgU3BpZWxlcgpnZWdlbiBkaWUgU3BpZWxyZWdlbG4gdmVyc3Rvc3Nlbi4gQmVpIGRlciBHcm9lc3NlIGRlcyBNdWRzIGlzdCBlcyBmdWVyCm5vcm1hbGUgU3BpZWxlciBmYXN0IGthdW0gbm9jaCBtb2VnbGljaCwgb2huZSBaVC1saXN0ZW4gYWxsZQpaYXViZXJ0cmFlbmtlIHp1IGZpbmRlbiwgenVtIFNlaGVyd2VyZGVuIGJlbm9ldGlndCBtYW4gbm9ybWFsZXJ3ZWlzZQpNb25hdGUgYW4gU3BpZWx6ZWl0IHVuZCB1bSBnYXIgdW50ZXIgZGllIGVyc3RlbiAxMCBlaW5lciBHaWxkZSB6dQprb21tZW4gbWVpc3RlbnMgZWluZW4gbmljaHQgbWVociB6dSBiZXdhZWx0aWdlbmRlbiBBdWZ3YW5kLgpFcyBrb21tdCBkb2NoIG5pY2h0IHZvbiB1bmdlZmFlaHIsIGRhc3MgZGllIG1laXN0ZW4gVG9wLXBsYWV0emUKdm9uIGRlbnNlbGJlbiBTcGllbGVybiBvZGVyIE1hZ2llcnp3ZWl0aWVzIGVpbmdlbm9tbWVuIHdlcmRlbi4KSGllciBiZWRhcmYgZXMgbWVpbmVyIEFuc2ljaHQgbmFjaCBlaW5lciBkcmluZ2VuZGVuIFVlYmVyYXJiZWl0dW5nClNvLCBkYXNzIHNvbGx0ZSBlcnN0IG1hbCBmdWVycyBlcnN0ZSBsYW5nZW4sIGVzIGdhZWJlIG5vY2ggZWluaWdlcyBhbmRlcmUgenUKc2FnZW4sIGFiZXIgd29sbGVuIHdpciBlcnN0IG1hbCBzZWhlbiwgb2IgZXMgdWViZXJoYXVwdCBnZWxpbmd0LApkaWUgRGlza3Vzc2lvbiB3aWVkZXIgYXVmIGRpZSBlaWdlbnRsaWNoZSBQcm9ibGVtYXRpawp6dXJ1ZWNrenVmdWVocmVuLgpOb2NoIGVpbmVzIHp1bSBBYnNjaGx1c3M6IEtlaW5lciB2b24gdW5zIFNwaWVsZXJuIGhhdCB3aXJrbGljaAplaW5lbiBVZWJlcmJsaWNrLCB3YXMgaGllciBzbyBhbGxlcyBhYmdlaHQuIEljaCB2ZXJ1cnRlaWxlIFdhcmdvbnMKQWt0aW9uIGltbWVyIG5vY2gsIHdlaWwgaWNoIGdsYXViZSwgZGFzcyBzaWUgZGFzIFBmZXJkIHZvbSBmYWxzY2hlbgpFbmRlIGhlciBhdWZ6YWV1bXQsIGFiZXIgaWNoIGhhYmUgV2FyZ29uIGVpZ2VudGxpY2ggaW4gZGVuIDMKSmFocmVuIGluIGRlbmVuIGljaCBoaWVyIGJpbiwgYWwgZnJldW5kbGljaGVuIHVuZCBiZXNvbm5lbmVuIE1hZ2llcgprZW5uZW5nZWxlcm50LiBXZW5uIGVyIHp1IHNvbGNoZXJuIE1pdHRlbG4gZ3JlaWZ0LCBtdXNzIHdpcmtsaWNoCmVpbmlnZXMgcGFzc2llcnQgc2Vpbiwgdm9uIGRlbSB3aXIgd2FocnNjaGVpbmxpY2ggbnVyIGRpZSBTcGl0emUKZGVzIEVpc2JlcmdlcyBrZW5uZW4uIEljaCBob2ZmZSwgZGFzcyBlciBzZWluZSBNZWludW5nIGlyZ2VuZHdhbm4KbWFsIHdpZWRlciByZXZpZGllcnQgdW5kIFRhcmtvIFJldWIgd2llZGVyIGFscyBRdWVzdCBhbmdlaGFlbmd0IHdpcmQsCmVzIGlzdCBpbWhvIG1pdCBlaW5lcyBkZXIgYmVzdGVuLCBkaWUgZGFzIE1HIHp1IGJpZXRlbiBoYXQKZXMgaXN0IGltaG8gbWl0IGVpbmVzIGRlciBiZXN0ZW4sIGRpZSBkYXMgTUcgenUgYmlldGVuIGhhdApJc25vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNcGEgKEFuYWtpbiwgMjMuIEFwciAxOTk3LCAyMjozMjoyMSk6CldlZ2VuIFZlcm11ZWxsdW5nIGRlciBNUEEsIGhhYmUgaWNoIFNpZSBlbnRmZXJuZW4gbGFzc2VuLCBkYXMgaGllcgppc3QgamEgbnVyIG5vY2gga2luZGlzY2guCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc3VjaCBlaW5lciBEaXNrdXNzaW9uc2dydW5kbGFnZSAoR25vbWUsIDIzLiBBcHIgMTk5NywgMjM6MjE6MzApOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYxODE2NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxODE2NDA2Cm5pY2h0IHNjaGxlY2h0LCBpc25vIDotKQoKYWJlciB2aWVsbGVpY2h0IGJlc3NlciBlaW5lbiBNRy1SYXQgYmVzdGltbWVuLCBkZXIgYXVzIFNwaWVsZXJuIFVORCBNYWdpZXJuCmJlc3RlaHQsIG9kZXI/ICgzIHNwaWVsZXIsIDIgbWFncyBvZGVyIHNvLi4uKQp3aWUgc2VoZW4gZGFzIGRpZSBhbmRlcm4/ICh1bmQgdm9yIGFsbGVtIGRpZSBtYWdpZXI/KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyc3VjaCBlaW5lciBEaXNrdXNzaW9uc2dydW5kbGFnZSAoQXVncmEsIDIzLiBBcHIgMTk5NywgMjM6MzU6NDgpOgp+IyEgcm49R25vbWUgcnQ9ODYxODMwNDkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxODE2NDA2ClVuZCB3ZXIgbGVndCBkaWUgQmVyZWljaGUgZmVzdCwgdWViZXIgZGllIGRlciBSYXQgYmVyYXRlbiBzb2xsPyBTb2xsZW4gc2llCnVlYmVyaGF1cHQgd2FzIGVudHNjaGVpZGVuIGR1ZXJmZW4sIG9kZXIgbnVyIGJlcmF0ZW4/IFdlbm4gZWluIE1hZ2llcgpSYXRzY2hsYWVnZSB2b24gU3BpZWxlcm4gc3VjaHQsIGRhbm4gZnJhZ3QgZXIgc2llLiBXZW5uIFNwaWVsZXIgbWVpbmVuLCBkYXNzCmVpbiBNYWdpZXIgZGllc2VzIG9kZXIgamVuZXMgdHVudCBzb2xsdGUsIHNhZ2VuIHNpZSBlcyBpaG0uIE9oZW4KRW50c2NoZWlkdW5nc2JlZnVnbmlzIGJsZWlidCBhbGxlcyBiZWltIGFsdGVuLCBvZGVyIHdpciBzY2hhZmZlbiBlaW5lIEtsYXNzZQp2b24gU3BpZWxlcmZ1bmt0aW9uYWVyZW4sIGRpZSBzaWNoZXIgbmFjaCBlaW4gcGFhciBXb2NoZW4ga2VpbmVyIG1laHIgaGFiZW4Kd2lsbC4gRWluZSBBcnQgU2VuYXQgYXVzIFNwaWVsZXJuIHVuZCBNYWdpZXJuLCBkYXMga2xpbmd0IGVyc3RtYWwgZ3V0LCBhYmVyIGVzCmlzdCBudXIgZWluIGFuZGVyZXMgV29ydCBkYWZ1ZXIsIGRhcyBlaW56dWZ1ZWhyZW4sIHdhcyBkYXMgTXVkIGViZW4gbmllIHNlaW4Ka2FubjogZWluIGRlbW9rcmF0aXNjaGVyIFJlY2h0c3N0YWF0LiBFaW4gTXVkIGthbm4ga2VpbmUgYXVmCnZlcmZhc3N1bmdzYWVobmxpY2hlbmVuIHJlZ2VsbiBiYXNpZXJlbmRlIEdlc2VsbHNjaGFmdHNmb3JtIGRhcnN0ZWxsZW4sIGRhcwpmdW5rdGlvbmllcnQgbmljaHQuIFNjaGF1dCBldWNoIG1hbCBkYXMgR3J1bmRnZXNldHogYW4uIEZ1ZXIgZWluIHNvCmdydW5kbGVnZW5kZXMgR2VzZXR6IGlzdCBkYXMgZ2FyIG5pY2h0IG1hbCBzbyB1CgpBdWdyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyc3VjaCBlaW5lciBEaXNrdXNzaW9uc2dydW5kbGFnZSAoQXVncmEsIDIzLiBBcHIgMTk5NywgMjM6NDE6MzcpOgp+IyEgcm49QXVncmEgcnQ9ODYxODMxMzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxODE2NDA2CnVwcywgZGFzIGhhdHMgd29obCBkYXMgZW5kZSBkZXJzIEFydGlrZWxzIHplcmxlZ3QuLi5lcyBzb2xsdGUgd2llIGZvbGd0CndlaXRlcmdlaGVuOiBGdWVyIGVpbiBzbyBncnVuZGxlZ2VuZGVzIEdlc2V0eiBpc3QgZGFzIGdhciBuaWNodCBtYWwgc28KdW1mYW5ncmVpY2gsIHVuZCBzb2dhciB6aWVtbGljaCBndXQgc3RydWt0dXJpZXJ0LiBBYmVyIHRyb3R6IGFsbGVtIHNpbmQgZXMKemllbWxpY2ggc3RyZW5nZSB1bmQgRm9ybWFsZSBSZWdlbG4uIFVuZCBlaW4gU25hdCB3YWVyZSBudXIgZGVyIEJlZ2lubiBlaW5lcgpFbnR3aWNsdW5nLCBkaWUgdW5zIGdlbmF1IHp1IHNvIGV0d2FzIGZ1ZWhyZW4gd3VlcmRlLiBXb2xsdCBpaHIgd2lya2xpY2ggc28Kd2FzIGluIGVpbmUgU3BpZWx3ZWx0IGltcGxlbWVudGllcmVuPwoKQXVncmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcnN1Y2ggZWluZXIgRGlza3Vzc2lvbnNncnVuZGxhZ2UgKEZ5dCwgMjQuIEFwciAxOTk3LCAwMDozMTo0Myk6Cn4jISBybj1BdWdyYSBydD04NjE4MzE2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE4MTY0MDYKTmVpbi4gUkwgcmVpY2h0IHZvZWxsaWcuIEluIGplZGVyIEJlemllaHVuZy4uLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2FnYT8gKEFuY2FsYWdvbiwgMjQuIEFwciAxOTk3LCAwODo1NDoyMyk6Cn4jISBybj1GeXQgcnQ9ODYxNzk5NTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxNjkyNjA5CktudWRkZWxzIHZvcndlZyEKSWNoIHVudGVyc3R1ZXR6ZSBGeXQncyBBbnRyYWchClNvIGxhbmdzYW0gd2lyZCBkaWUgRGlza3Vzc2lvbiBuZXJ2aWcgdW5kIG51dHpsb3MuLi4uCkljaCBkZW5rZSBtYWwsIGRhc3MgYWxsZSAoTWFnaWVyIFVORCBTcGllbGVyKSBzaWNoIGRhcmFuIGdld29laG5lbiBzb2xsdGVuLApkYXNzIGltbWVyIGdlbW9nZWx0IHdlcmRlbiB3aXJkIChlcyBpc3QgYXVzc2VyZGVtIGltbWVyIG5vY2ggZWluZSBNaW5kZXJoZWl0KS4KVW5kIHdlbm4gbWFuIGplbWFuZGVuIGRhYmVpIGVyd2lzY2h0LCBkYXNzIGVyIGRhcyBlcnRyYWVnbGljaGUgTWFzcwp1ZWJlcnNjaHJlaXRldCwgZGFubiB3aXJkIGVyIGhhbHQgZ2Vsb2VzY2h0IChkYXNzIHdlaXNzIGVyIGRhbm4gamEgYXVjaAp2b3JoZXIpLiBEYXMgZWluemlnZSB3b3J1ZWJlciBtYW4gc2ljaCBub2NoIHVudGVyaGFsdGVuIG11ZXNzdGUva29lbm50ZSwgaXN0LAphYiB3YW5uIGRhcyBNYXNzIChmdWVyIEFjcmltb246IE1hc3MgPSBNYXN6IDopIHVlYmVyc2Nocml0dGVuIGlzdCwgdW5kIHdlcgpkYXJ1ZWJlciBlbnRzY2hlaWRldC4KRGllc2VzIGV3aWdlICJpaHIgc2VpZCBkb29mIDwtPiB1bmQgaWhyIG5vY2ggZG9vZmVyIiBpc3QgZXMgbmFlbWxpY2gsIGRhcyBtaWNoCldJUktMSUNIIGFuIGRlciBTYWNoZSBuZXJ2dC4KS251ZGRlbHMgaGludGVyaGVyLAoKQW5jYWxhZ29uLApkZXIgZWluZmFjaCBmcml1ZWRsaWNoIGR1cmNocyBNRyBrbnVkZGVsbiBtb2VjaHRlLi4uLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGllbGVyaGlsZmUgKFlhbnRybywgMjQuIEFwciAxOTk3LCAwOTozOTo1MSk6Cn4jISBybj1Hbm9tZSBydD04NjE3OTYxNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MDU1MzkKCmlociBzY2huYWxsdCBkYXMgYWxsZSBuaWNodC4uLi4gc29sYW5nZSBPZXR0aSBhdWYgc2VpbmUgQXJ0aWtlbCB1ZWJlcmhhdXB0Cm5vY2ggZWluZSBBbnR3b3J0IGtyaWVndCwgc29sYW5nZSB3aXJkIGVyIGJsZWliZW4uLi4gVW0gZGFzIEdlbmVydmUKYWJ6dXN0ZWxsZW4sIGdpYnQgZXMgbnVyIGVpbmUgc2lubnZvbGxlIFJlYWt0aW9uLi4uCgpZYW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJzdWNoIGVpbmVyIERpc2t1c3Npb25zZ3J1bmRsYWdlIChXYXJnb24sIDI0LiBBcHIgMTk5NywgMDk6NDQ6MDgpOgp+IyEgcm49SXNub2dvb2QgcnQ9ODYxODE2NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxODE2NDA2CiAgSGkhCk51ciBlaW5lIEJlbWVya3VuZyB6dW0gU3BpZWxlcnJhdDoKV2llIER1IHNjaG9uIHJpY2h0aWcgYmVtZXJrdCBoYXN0LCBpc3QgZWluZSBkZW1va3JhdGlzY2hlIE9yZG51bmcga2F1bQpzaW5udm9sbC4gRGVyIFNwaWVsZXJyYXQsIGRlbiBEdSB2b3JzY2hsYWVnc3QsIGdpYnQgZXMgYWxsZXJkaW5ncyBzY2hvbiAobmljaHQKdW5iZWRpbmd0IGFscyBBbnNhbW1sdW5nIHZvbiBSYXRzbWl0Z2xpZWRlcm4sIHNvbmRlcm4gYWxzIFJhdHNjaGxhZyBpbiBkZXIKTVBBL2F1ZiBQYXJ0aWVzL2F1ZiBTdGFtbXRpc2NoZW4pLiBHZXJhZGUgZGFzIHZvbiBEaXIgYW5nZWZ1ZWhydGUgQmVpc3BpZWwgZGVyClN0dWZlbnB1bmt0ZSBiencuIGFsbGdlbWVpbiBkZXIgU3R1ZmVucmVmb3JtIGlzdCBzZWluZXJ6ZWl0IGF1Y2ggbWl0IGRlbgooZGFtYWxpZ2VuKSBUb3BzcGllbGVybiAoZGllIHNpY2ggbWl0IGRlciBNYXRlcmllIHdvaGwgZWluaWdlcm1hc3NlbgphdXNnZWthbm50IGhhYmVuKSBnZXBsYW50IHVuZCBhdXNnZWFyYmVpdGV0IHdvcmRlbi4gCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcnN1Y2ggZWluZXIgRGlza3Vzc2lvbnNncnVuZGxhZ2UgKExpLCAyNC4gQXByIDE5OTcsIDExOjA1OjE3KToKfiMhIHJuPUdub21lIHJ0PTg2MTgzMDQ5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTgxNjQwNgpIbW0gZ3V0ZSBJZGVlLCBkYXMgbWl0IGRlbSBzcGllbGVycmF0LiBBbGxlciBkaW5ncyBtdWVzc3QgSWhyIChkaWUgc3BpZWxlcikKZXVjaCBrbGFyLCBzZWluLCBkYXNzIHNvIGVpbiBSYXQgbnVyIGJlcmF0ZW5kZSBmdW5rdGlvbiBoYWJlbiBrYW5uLiBBbGxlcmRpbmdzCm11ZXNzZW4gZGllIE1hZ2llciBkaWUgVm9yc2NobGFlZ2UgYXVjaCBlcm5zdCBuZWhtZW4sIHNvbnN0IGZ1ZWhsZW4gc2ljaCBkaWUKU3BpZWxlciAvenUgcmVjaHQpIHZlcmFyc2NodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi0tPiBEaXNrdXNzaW9uZW4gb2huZSBFbmRlIChQaHlnb3MsIDI0LiBBcHIgMTk5NywgMTI6MDg6MjMpOgpSZWdlbG4gLS0tPiBPawpSZWdlbG4gZWluaGFsdGVuIC0tPiBPSwpTY2h1bW1lbG4gLS0+IFdpcmRzIHdvaGwgaW1tZXIgZ2ViZW4uIE5pY2h0IE9rLgpCZXN0cmFmdW5nZW4gLS0+IGluIGFuZ2VtZXNzZW5lbSBSYWhtZW4gT0sKTG9lc2NoZW4gLS0+IFppZW1saWNoIEhlZnRpZyEhIEVpbmUgU3BlcnJ1bmcgYXVmIFplaXQgd2FlcmUgYmVzc2VyICggYWRkaXRpdmUKU3RyYWZ6ZWl0YXVmcmVjaG51bmcgIHNvIGV0d2FzIGthbm4genUgc2VociBsYW5nZW4gU3BlcnJ1bmdlbiBmdWVocmVuICkKRGlrdXNzaW9uIE9LClNjaG11dHppZ2UgV2Flc2NoZSB3YXNjaGVuIGlua2x1c2l2ZSBhbGxlciBGcm9tZW4gZGVzIFRpZWZzY2hsYWdzICBOaWNodCBPSy4KQW5zb25zdGVuIHNvbGx0ZW4gZGllIGJlaWRlbiBDSEVGUyBkYXMgTEVUWkUgV09SVCBoYWJlbiAgIHVuZCBkYXMgc2luZCBmdWVyCm1pY2ggaW1tZXIgbm9jaCBCT0lORyB1bmQgSk9GCkJhc3RhLi4uLiA6KQpHcnVlc3NlIG1pdCBLbmFsbCB1bmQgUmF1Y2ggICBQaHlnb3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2FnYT8gKFJhZmZpLCAyNC4gQXByIDE5OTcsIDEyOjI3OjA2KToKfiMhIHJuPU9ya3RvZXRlciBydD04NjE2OTM2OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKPiBGYWxscyBlcyBqZW1hbmRlbSBub2NoIG5pY2h0IGF1ZmdlZmFsbGVuIGlzdCA6IEpBLCBpY2ggZnVlaGxlIG1pY2ggZHVyY2gKPiBGaWd1cmVuLCBkaWUgZHVyY2ggQmV0cnVnIGluIGhvaGUgUG9zaXRpb25lbiBrb21tZW4gZ2VzdG9lcnQuCgpJY2ggbmljaHQuCgpTb2xsIGRvY2ggTGV2ZWwgc2NoZWZmZWxuIHdlciB3aWxsLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdhZ2E/IChSYW50YW5wbGFuLCAyNC4gQXByIDE5OTcsIDEyOjMwOjIxKToKfiMhIHJuPVJhZmZpIHJ0PTg2MTg3NzYyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQpJY2ggc2NocmVpYmUgbWFsIHdpZWRlciB3YXMgZ2FueiBhcmcgZG9sbCBmaWVzZXMuLi4KCklociBzZWlkIGFsbGUgZG9vZiB1bmQgc3Rpbmt0IG5hY2ggTWFnZ2ksIHVuZCB3ZXBmdXNjaHQgaXN0IGJvZXNlIHVuZCB3ZXIKbmljaHQgcGZ1c2NodCBpc3QgbGllYi4KClVuZCBkZXIgUGFwc3QgaGF0IGltbWVyIFJlY2h0LCB1bmQgZGllIGthdGhvbGlzY2hlIEtpcmNoZSBzb3dpZXNvLCB1bmQgS2V0emVyCmdlaG9lcmVuIHZlcmJyYW5udCB1bmQgdWViZXJoYXVwdCBmYWVsbHQgbWlyIG5veCBtZWhyIGRvb2ZlcyBlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHNvIChLZXksIDI0LiBBcHIgMTk5NywgMTM6MTI6NTgpOgpIYWxsb2UsCgpJY2ggd2Vpc3MgbmljaHQgd2FzIGljaCBpbSBtb20gdm9tIE1nIGhhbHRlbiBzb2xsIC4uLgpJaHIgYmxvZWt0IGV1Y2ggaGllciBpbiBkZXIgWmVpdHVuZyBhbiB1bmQgZGVua3Qgc2NoZWluYmFyIG5ldCBkYXJhbiBkYXMgZGVyCmFuZGVyZSBhdWNoIG51ciBlaW4gTWVzY2ggaXN0LiAoSmFqYSBpY2ggd2Vpc3MgZGFzIHNhY2h0ZSBzY2hvbm1hbCB3ZXIgLi4uKQpXZW5uIGlociBtYWwgbWl0IGRlbiBudXR6bG9zZW4gQXJ0aWtlbCBhdWZob2VyZW4ga29lbm50ZXQgd2FlcmUgaWNoIGV1Y2gKZGFua2Jhci4KClNvIG1hbCBrdXJ6IHp1IFdhcmdvbiB1bmQgZGllIGVpbmZ1ZWhydW5nIGRlciBTdHVwc2UgZGFtYWxzIC4uLgpJY2ggaGFiIGRhbWFscyBhdWNoIG1hbCBtZWluZSBNZWludW5nIGRhenUga3VuZGdldGFuIC4uLiBEYXMgZWluemlnZSB3YXMKcmF1c2thbSB3YXI6IER1IGJpc3QgZWluIFNwaWVsZXIgdW5kIGhhc3QgZG9jaCBrZWluZSBBaG51bmcgd2FzIHdpciBkYSBnZW5hdQphZW5kZXJuIHdvbGxlbiEgQWxzbyB3YXJ0ZSBhYiBiaXMgZXMgZGEgaXN0LCBiZXNjaHdlcmVuIGthbm5zdGUgZGljaAppbW1lcm5vY2guCkpvbyBkb2xsIGJlc2Nod2VyZW4ga29ubnRlIGljaCBtaWNoLCBhYmVyIGdlYnJhY2h0IGhhdCBlcyBkYW5uIGVoIG5peCBtZWhyLgpBTHNvIGljaCBmaW5kZSBJc25vcyBJZGVlIGF1ZiBqZWRlbiBGYWxsIHVudGVyc3R1dHp1bmdzd2VydCAuLi4gQWJlciBudXIgMwpTcGllbGVyIGVyc2NoZWluZW4gbWlyIGV0d2FzIHdlbmlnLCB1bmQgd2llIHNvbGxlbiBkaWUgZGVubiBnZXdhZWhsdCB3ZXJkZW4/CgpTbyB3YXMgaWNoIG5vY2ggbWFsIHNvIGltIEFsbGdlbWVpbmVuIHNhZ2VuIHdvbGx0ZToKCkRhcyBNb3JnZW5ncmF1ZW4gaXN0IG1laW4gZXJzdGVzIE11ZCwgdW5kIHdpcmQgKHNvbGFuZ2UgZXMgbm9jaCBkYSBpc3QpIHdvaGwKbWVpbmUgSGVpbWF0IHVudGVyIGRlbiBNdWRzIHNlaW4uIEJpc2hlciBoYWIgaWNoIGRhcyBhdWNoIG5pY2h0IGJlcmV1dCwgbnVyCnNlaXQgY2EgMiBKYWhyZW4gZ2luZyBlcyBpbW1lciB3ZWl0ZXIgYmVyZ2FiLCBvYiBlcyBudW4gYW4gaXJnZW5kd2VsY2hlbiBuZXVlbgpNYWdpZXJlbiBvZGVyIGFuIHNvbnN0d2FzIGxhZyB3aWxsIGljaCBuZXQgYmV1cnRlaWxlbi4KCkFiZXIgYmlzIGhpZXJoZXIgbW9lY2h0ZSBpY2ggbWljaCBtYWwgYmVpIGFsbGVuIE1hZ2llcm4gdW5kIGRlbiBTcGllbGVybgpiZWRhbmtlbiwgZXMgd2FyIGhpZXIgbmUgcHJpbWEgemV0aSwgdW5kIHdpcmQgZXMgaG9mZmVudGxpY2ggYXVjaCB3aWVkZXIKd2VyZGVuLgoKS2V5IGlzdCBlaCBzdWVjaHRpZyA7KQoKUC5TLjogSG1tIHZvbiB3ZWdlbiBkZXIgU3BpZWxlcmhpbGZlIC4uLiBpY2ggaGF0dGUgc2VpdCBpY2ggaGllciBiaW4gYXVjaAppbW1lciB3aWVkZXIgZXR3YXMgZGF2b24gZ2Vub3NzZW4sIHVuZCBnbGF1YmUgYXVjaCBuaWNodCBkYXMgZXMgYXVjaCBudXIgZWluZW4KYWJzb2x1dCAiZWhybGljaGVuIiBtYWcgZ2lidCwgYWxzbyBlaW5lciBkZXIgc2ljaCBzdHJlbmcgYW4gZGVuIFZlcnRyYWcgaGFlbHQKOyk9Ck9raSBkYXMgd2FyIGVzLiBCZW5laG10IGV1Y2ggdW5kIHZlcnN1Y2h0IGV1Y2ggbmV0IGdlZ2Vuc2VpdGlnIGFienVtdXJrc2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdhZ2E/IChSYWZmaSwgMjQuIEFwciAxOTk3LCAxMzoyNzoyMSk6Cn4jISBybj1Cb2luZyBydD04NjE3MDA1Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKPiBXZW5uIGljaCBlaW5lbSBTcGllbGVyIG1laHJlcmUgMTAwayBNdWVuemVuIGNsb25lLCBkYW5uIGlzdCBkYXMgZWJlbgo+IG5pY2h0IG1laHIgenUgcmVjaHRmZXJ0aWdlbi4KClNvd2FzIGlzdCBqYSBzb2dhciBlaW5lbSBFTXMgcGFzc2llcnQsIGRpZSBlaWdlbnRsaWNoIGtvbXBsZXR0IHVlYmVyCmRpZXNlciBEaXNrdXNpb24gc3RlaHQuIFdhcyBudW4gPwoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNwaWVsZXJoaWxmZSAoRnl0LCAyNC4gQXByIDE5OTcsIDEzOjI4OjQ2KToKfiMhIHJuPVlhbnRybyBydD04NjE4Njc1OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE3MDU1MzkKV3VlcmRlc3QgRHUgZ2VoZW4sIHdlbm4ga2VpbmVyIG1laHIgYXVmIERlaW5lIEFydGlrZWwgYW50d29ydGV0PwpJY2gga29lbm50ZSBtaXIgZGFzIG5hZW1saWNoICp6dXIgTm90KiB2ZXJrbmVpZmVuIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC0tPiBEaXNrdXNzaW9uZW4gb2huZSBFbmRlIChJc3NvbWFkLCAyNC4gQXByIDE5OTcsIDE0OjI5OjE3KToKfiMhIHJuPVBoeWdvcyBydD04NjE4NzY1MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE4NzY1MDMKTmFqYSwgSm9mIGh1ZWxsdCBzaWNoIGluIFNjaHdlaWdlbiB1bmQgdm9uIEJvaW5nIGtvbW10IGF1Y2ggbml4CktvbnN0cnVrdGl2ZXMgbWVoci4KSXJnZW5kd2llIHdhciBmcnVlaGVyIGFsbGVzIGJlc3NlciAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdpZnQhIChLZXksIDI0LiBBcHIgMTk5NywgMTY6MjE6MzIpOgpIYWxsb2UsCk1hbCBlaW5lIGtsZWluZSBCaXR0ZToKQnJpbmd0IGRvY2ggZW50d2VkZXIgZGFzIGVudGdpZnRlIHdpZWRlciByZWluIG9kZXIgc2NobWVpc3N0IGRhcyB2ZXJnaWZ0ZW4gYmVpCmRlbiBOcGNzIHJhdXMhIEJpbiBnZXJhZGUgMiBtYWwgZGEgZHJhbiBnZXN0b3JiZW4gZGFzIFBhcmFzIHZpZWhjaGVyIGVpbmVuCnZlcmdpZnRlbi4gVW5kIFplaXQgZ2VudWcgaGF0IG1hbiBqYSBsZWlkZXIgbmljaHQgdW0genUgbmVtIGtsZXJpa2VyIG9kZXIgaW4KbWVpbmVtIGZhbGwgenUgd3Vxb3VyIHp1IGtvbW1lbiwgb2RlciBzZWhlIGljaCBkYXMgZmFsc2NoIGRhcyBzY3JpcHRlbgp2ZXJib3RlbiBpc3Q/CkZpbmQgZGFzIGplZGVuZmFsbHMgbmljaHQgZ2VyYWRlIGx1c3RpZy4KCktleSBnZXJlaXp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdpZnQhIChGeXQsIDI0LiBBcHIgMTk5NywgMTY6MjM6MTYpOgp+IyEgcm49S2V5IHJ0PTg2MTg5MTY5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTg5MTY5MgoKSGV5LCBrZWluZXIgaGF0IHZlcmxhbmd0LCBkYXNzIER1IGRhcyBoaWVyIGx1c3RpZyBmaW5kZXN0IDstKQoKRnl0LCB3dWVyZGUgenVtaW5kZXN0IGFyZyBhbiBXYXJnb24gendlaWZlbG4sIHdlbm4gZGVyIGRlbiBTcHJ1Y2gKcmF1c25pbW10LCBkYW1pdCBTcGllbGVyIGRhcyBsdXN0aWcgZmluZGVuIDstLS0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2lmdCEgKFJhZmZpLCAyNC4gQXByIDE5OTcsIDE5OjE2OjA0KToKfiMhIHJuPUtleSBydD04NjE4OTE2OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE4OTE2OTIKQWVoLCBLZXksIHR1dCBtaXIgbGVpZCwgYWJlciB3ZW5uIGljaCBtaWNoIG5pY2h0IHRhZXVzY2hlIGdpYnRzIGRhIHNvZ2FyIG5vY2gKbmUgc2Nob2VuZSBFbnRnaWZ0ZW1vZWdsaWNoa2VpdCAtIHNvZ2FyIHBvcnRhYmVsICEgSXN0IGhhbHQgbml4IHN1cGVybmV1ZXMgOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprb25zZXF1ZW50ZXIgdGhyZWFkIChLcmFta2EsIDI0LiBBcHIgMTk5NywgMjA6MDk6MzgpOgpLbGVpbmUgQmVtZXJrdW5nIDopKSBLb2VubnRldCBpaHIgYmVpIGRpZXNlbiBNYW1tdXRkaXNrdXNzaW9uZW4gbmljaHQgbWFsIGJlaQpFSU5FTSB0aHJlYWQgYmxlaWJlbiA/IGRhbWl0IHVlYmVyZ2VoZSB0aHJlYWQgYmVzc2VyIGZ1bmt0aW9uaWVydCA/CgpkYW5rZW5kIGtyYW1rYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtvbnNlcXVlbnRlciB0aHJlYWQgKEdyaW1tYm9ybiwgMjQuIEFwciAxOTk3LCAyMDoxMDoyMSk6Cn4jISBybj1LcmFta2EgcnQ9ODYxOTA1Mzc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxOTA1Mzc4CiJ1ZWJlcmdlaGUgdGhyZWFkIiBmdW5rdGlvbmllcnQgaW1tZXIgZ2xlaWNoIGd1dCwgZWdhbCB3aWUgZGllIExldXRlIGhpZXIKdmVyc3VjaGVuIHp1IGRpc2t1dGllcmVuLiA6LSkKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtvbnNlcXVlbnRlciB0aHJlYWQgKFNjaGxpcHMsIDI0LiBBcHIgMTk5NywgMjE6NTM6MDEpOgp+IyEgcm49S3JhbWthIHJ0PTg2MTkwNTM3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTkwNTM3OAoKRmFzcyBEaWNoIG1hbCBhbiBEZWluZSBlaWdlbmUgTmFzZSAtIHdlbGNoZW4gVGhyZWFkIG1laW5zdCBEdT8KClNjaGxpcHMgdmVyZm9sZ3QgaW0gbW9tZW50IG1laHJlcmUgdGhyZWFkcyAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthc3BlcmxldGhlYXRlciAoU29jcmF0ZSwgMjUuIEFwciAxOTk3LCAxNTo0MToxMik6CkFuIGRpZSBtZWlzdGVuIGhpZXIhCiAgIEFsc28gaW4gZWluZW0gaGF0IE9ldHRpIG1pdCBTaWNoZXJoZWl0IHJlY2h0OiBuYWVtbGljaCBkYXNzIGhpZXIgZ2Fuegp2aWVsZW4gZWluZW4gdG90YWxlbiBMYXR0ZW5zY2h1c3MgaGFiZW4hIFVuZCBkaWVzZXIgaXN0IHNvIGdyb3NzLCBkYXNzIGljaCBkaWUKbWVpc3RlbiBMZXV0ZSBoaWVyIGJlaW0gYmVzdGVuIFdpbGxlbiBuaWNodCBtZWhyIGVybnN0IG5laG1lbiBrYW5uLCBzb25kZXJuCm1pciBkaWUgbXBhIG51ciBub2NoIHp1bSBFcnN0ZWxsZW4gZWluZXMgUHN5Y2hvZ3JhbW1zIGR1cmNobGVzZS4KRGllIGVpbmVuIHZvbiBldWNoLCBkaWUgaWhyZSBnYW56ZSBaZWl0IGhpZXIgaW4gZGllc2VyIFNjaGVpbndlbHQgdmVyYnJpbmdlbiwKd2VpbCBzaWUgaW4gZGVyIFJlYWxpdGFldCBuaWNodHMgZ2ViYWNrZW4gYmVrb21tZW4sIGdlaWxlbiBzaWNoIGRhcmFuIGF1ZgpiZXN0aW1tZW4genUga29lbm5lbiB3YXMgaGllciBTYWNoZSBpc3QuIERpZSBhbmRlcmUgU2VpdGUsIG1pdCBkZW0gZ2xlaWNoZW4KU2NoYWRlbiwgYmVnaW5uZW4gbWl0IGVpbmVtIGJydW5mdGFlaG5saWNoZW4gUnVtZ2VoZXVsZSwgd2VubiBtYW4gaWhuZW4gaWhyZQpzY2hvZW5lIG5ldWUgU2NoZWlud2VsdCB3ZWdnbmVobWVuLCB3ZWlsIHNpZSBkYW5uIGtlaW5lIHdlaWJsaWNoZW4gQ2hhcmFrdGVyCmFuc2FiYmVybiBrb2VubmVuIHVzdy4KVW5kIHdlbm4gbWFsIGdlcmFkZSB2b24gZGFoZXIgbmljaHRzIGFubGllZ3QsIGRhbm4gZmluZGV0IGlociB3aWVkZXIgZWluCnNjaHdhcnplcyBTY2hhZiBhdWYgZGFzIGlociBldXJlIHBzeWNoaXNjaGVuIERlZmVrdGUgdWViZXJ0cmFnZW4ga29lbm50IHVtCmV1Y2ggbmljaHQgc2VsYmVyIGVya2VubmVuIHp1IG11ZXNzZW4uIERhcyBpbnRlcmVzc2FudGUgZGFyYW4gaXN0IG5vY2gsIGRhc3MKZWlucyBkaWVzZXIgU2Nod2FyemVuIFNjaGFmZSwgbmFlbWxpY2ggU3VuZmxvd2VyLCB3ZW5pZ3N0ZW5zIG5vY2ggZ2VtZXJrdCwKZGFzcyBlcyBmdWVyIGlobiBaZWl0IHdpcmQsIHNpY2ggbWFsIGRlciBSZWFsaXRhZXQgenV6dXdlbmRlbi4KV2VubiBtaXIgbWFsIGplbWFuZCBnZWdlbnVlYmVyIG5vY2htYWwgYmVoYXVwdGVuIHNvbGx0ZSxkYXNzIEN5YmVyc3BhY2UKaXJnZW53YXMgcG9zaXRpdmVzIHp1IEJlZnJlaW51bmcgZGVyIE1lbnNjaGVuIGJlaXRyYWdlbiBrb2VubnRlLCBkYW5uIHdlcmRlCmljaCBpaG0gc2FnZW4sIGVyIHNvbGxlIHNpY2ggbWFsIGdlaXN0aWdlIERlZ2VuZXJhdGlvbiBkZXIgTGV1dGUgaGllcgphbnNjaGF1ZW4uCk9ldHRpIGhhdHRlIGluIHNlaW5lbSBBcnRpa2VsIG5vY2ggZGllIEhvZmZudW5nLCBkYXNzIGlobiBoaWVyIGplbWFuZAp2ZXJzdGVodC4gSWNoIG5laG1lIGRhcyBudXIgdm9uIGdhbnogd2VuaWdlbiBMZXV0ZW4gYW4sIGZ1ZXIgZGllIGRpZXNlcgpBcnRpa2VsIGRhaGVyIGF1Y2ggbmNpaHQgYmVzdGltbXQgaXN0LgoKR3V0ZSBOYWNodCEKQW5kZXJlcnNlaXRzIG1hbCBhdXMgZGVyIGVyaGFiZW5lbiBTaWNodCBnZXNlaGVuOiBXZWxjaCBlaW4gS2FzcGVybHRoZWF0ZXIgaW4KZGVyIEVuZHplaXQgaGllciEgR3JhbmRpb3MhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FzcGVybGV0aGVhdGVyIChMYWNyaW1vc2EsIDI1LiBBcHIgMTk5NywgMTU6NDM6NTcpOgp+IyEgcm49U29jcmF0ZSBydD04NjE5NzU2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE5NzU2NzIKbml4IG1pdCByZWFsaXRhZXQsIGJpbiBpbW1lciBub2NoIG11ZHN1ZWNodGlnLCBiaXMgc29tbWVyIGplZGVuZmFsbHMgOi0pCgpEYW5uIGhhYnNjaCBlcnN0bWFsIDIgSmFocmUgTVVEcGF1c2UsIGppcHBpZWVlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXNwZXJsZXRoZWF0ZXIgKFNpZG9saW4sIDI1LiBBcHIgMTk5NywgMTU6NDQ6MDQpOgp+IyEgcm49U29jcmF0ZSBydD04NjE5NzU2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE5NzU2NzIKRHUgYmlzdCBhdWNoIHNvIG5lIEhldWxzdXNlLi4uLiAKCktlaW4gU3R1ZWNrIGJlc3Nlci4gOi0pCgpTaWRvbGluLiBBdWNoIG5pY2h0IGJlc3Nlci4gQWJlciBpY2ggbWVyaydzIHdlbmlnc3RlbnMgbm9jaC4sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FzcGVybGV0aGVhdGVyIChHbm9tZSwgMjUuIEFwciAxOTk3LCAxNjozNjowOSk6Cn4jISBybj1Tb2NyYXRlIHJ0PTg2MTk3NTY3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgpoYWVoPz8/CgpuaWVtYW5kIGhhdCBiZWhhdXB0ZXQsIGRhc3MgZGFzIGhpZXIgZGllIHJlYWxpdGFldCBzZWkuLi4gb2Rlcj8KYWJlciBlaW4gc3BpZWwgYnJhdWNodCBzcGllbHJlZ2VsbiB1bmQgc2VpIGVzIG5vY2ggc28gcHJpbWl0aXYsIHNvbnN0Cmthbm4gbWFuIGVzIGdsZWljaCBibGVpYmVuIGxhc3Nlbi4uLgoKR3V0ZW4gTW9yZ2VuISA7LSkKCmduT21lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLYXNwZXJsZXRoZWF0ZXIgKFJhbnRhbnBsYW4sIDI1LiBBcHIgMTk5NywgMTY6NDA6NTQpOgp+IyEgcm49R25vbWUgcnQ9ODYxOTc4OTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxOTc1NjcyCkd1dGVzIGFsdGVzIERldXRzY2hsYW5kLCB3byBkZXIgU2NocmVpIG5hY2ggUmVnZWxuIHVuZCBUYWdlc29yZG51bmdzcHVua3Rlbgp1bmQgU2F0enVuZ2VuIGRhcyBMZWJlbgpyZWdpZXJ0LCBkYW1pdCBNZW5zY2ggd2FzIGhhdCBhbiBkZW0gZXIgc2ljaCBvcmllbnRpZXJlbiB1bmQgZmVzdGhhbHRlbgprYW5uLgoKU2ljaGVyaGVpdCBpc3Qgd2ljaHRpZyBpbSBMZWJlbiwgdW5kIGF1Y2ggZGllIFNpY2hlcmhlaXQgenUgd2lzc2VuIHdhcyBtYW4KZGFyZiB1bmQgd2FzIG1hbiBuaWNodCBkYXJmLgpEaWUgR3JlbnplbiBkZXMgZWlnZW5lbiBTZWlucyBkdWVyZmVuIG51biBtYWwgbmljaHQgdWViZXJzY2hyaXR0ZW4gd2VyZGVuLApkYW5uIGxhbmRlbgp3aXIgYWxsZSBpbiBkZXIgQW5hcmNoaWUuCgpJY2ggZGVua2UgaWNoIGZ1ZWhsIG1pY2ggaW4gZGllc2VyIERlbmt3ZWlzZSBuaWNodCB3b2hsLCBkYXMgenVtaW5kZXN0IGthbm4KaWNoIGthbHIgc2FnZW4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEthc3BlcmxldGhlYXRlciAoQWNyaW1vbiwgMjUuIEFwciAxOTk3LCAxNzo0Nzo0Mik6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2MTk3OTI1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgpadSBTb2NyYXRlOgpEdSBoYXN0IHJlY2h0LCBoaWVyIGZpbmRldCBzaWNoIG1hbmNoZXIgZ2Vpc3RpZ2VyIEFic2NoYXVtLgpVbmQgd2llIHNpZSBhbGxlIGF1ZmVpbmFuZGVyIGVpbnNjaGltcGZlbiEgU2NoYXVkZXJoYWZ0IQpTY2hvbiBnYXIgbmljaHQga29tbWVuIHNpZSBhdWYgZGVuIHJldHRlbmRlbiBHZWRhbmtlbiwgZGFzIEdhbnplCm1pdCBIdW1vciB6dSBzZWhlbiwgc29iYWxkIGVzIHp1IHNjaGxpbW0gd2lyZC4KTmljaHRzZGVzdG90cm90eiBiaW4gaWNoIGdlc3Bhbm50LCB3YXMgYWxzIE5hZWNoc3RlcyBwYXNzaWVydC4KClBTIHp1IFNvY3JhdGU6CkVuZHplaXQ/IFdvPyBJY2ggc2VoIGtlaW5lIEVuZHplaXQgLSBzY2hvbiBnYXIgbmljaHQgUkwuCkRpZSBNZW5zY2hlbiBkZW5rZW4gdW1mYXNzZW5kZXIsIHdlaXRsYWV1ZmlnZXIsIHNpbmQgb2ZmZW5lciBhbHMgZnJ1ZWhlciAtIHZvbgptYW5jaGVuIEF1c25haG1lbiBtYWwgYWJnZXNlaGVuIC0gZGllIFRlY2huaWsgdW5kIFdpc3NlbnNjaGFmdCB2ZXJiZXNzZXJuCnNpY2gsIGRhcyBWZXJzdGFlbmRuaXMgZGVyIFRhdHNhY2hlbiB3YWVjaHN0IGxhbmdzYW0sIHVuZCBpbSBHcnVuZGUgaWhyZXMKSGVyemVucyBzaW5kIGFsbGUgTWVuc2NoZW4gZ3V0IC0gd2FzIHdpbGwgbWFuIG1laHI/CkRhcyBhbGxlcyBzaW5kIEFuemVpY2hlbiBmdWVyIGVpbmUgZ3JhbmRpb3NlIFp1a3VuZnQuCgpadSBPZXR0aToKQmVpIEFuYXJjaGllIGZ1ZWhsZSBpY2ggbWljaCBnYXIgbmljaHQgd29obCAtIG1pY2ggaGFldHRlIGJlc3RpbW10IHNjaG9uCmplbWFuZCB1bWdlYnJhY2h0LCB3ZWlsIGlobSBtZWluZSBNdWV0emUgbmljaHQgZ2VmYWVsbHQuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXNwZXJsZXRoZWF0ZXIgKENlcmVidXMsIDI1LiBBcHIgMTk5NywgMjA6MDI6MDcpOgp+IyEgcm49U29jcmF0ZSBydD04NjE5NzU2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE5NzU2NzIKSHVodSBTb2NyYXRlIHVuZCBhbmRlcmUsIGRpZSBkaWVzZW4gdGhyZWFkIG5vY2ggbmljaHQgaWdub3JpZXJlbi4uOi0pCgpFaW4gc2Nob2VuZXIgUnVuZHVtc2NobGFnLCBTb2NyYXRlLi4gaWNoIGthbm4gbWlyIGVpbiBvZGVyIHp3ZWkgQmVtZXJrdW5nZW4KbmljaHQgdmVya25laWZlbjoKV2FzIGRhcyBBcmd1bWVudCBhbmdlaHQ6IERhcyBNRyBpc3QgbnVyIGVpbiBTcGllbCB1bmQgbmljaHQgZGllIFJlYWxpdGFldDoKU3RpbW10IHp1ciBIYWVsZnRlLiBOYXR1ZXJsaWNoIGlzdCBrZWluZXIgdm9uIHVuc2VyIGVpbiBSSUNIVElHRVIgWmF1YmVyZXIsCmVpbiBSSUNIVElHRVIga2xlcmlrZXIsIGtlaW4gUklDSFRJR0VSIGNoYW90IChuYWphLi4gaWhyIHdpc3N0IHdhcyBpY2gKbWVpbmUuLjotKSkuIC4gVW5kIHdpciBhbGxlIHdpc3NlbiwgZGFzcyBlcyBrZWluZSBPcmtzLCBHb2JsaW5zLCBXZWdoaWVycyB1bmQKc28gd2VpdGVyIGdpYnQuIEluIGRpZXNlciBIaW5zaWNodCBpc3QgYWxsZXMgbnVyIGVpbiBTcGllbC4KQWJlciBpbiBlaW5lciBhbmRlcmVuIEhpbnNpY2h0IGlzdCBkYXMgTW9yZ2VuZ3JhdWVuIFJlYWxpdGFldCBmdWVyIGplZGVuIHZvbgp1bnMsIG5hZW1saWNoIGluc29mZXJuIGFscyB3aXIgdW5zIGhpZXIgbWl0IExldXRlbiB1bnRlcmhhbHRlbiwgdGVpbHdlaXNlIHNlaHIKcGVyc29lbmxpY2hlIEdlc3ByYWVjaGUgZnVlaHJlbiwgRnJldW5kZSB1bmQgRnJldW5kaW5uZW4gZmluZGVuLCB1bnMgYmVpCkRpc2t1c3Npb25lbiBpbiBkZXIgTVBBIHVudGVyIGRlciBHdWVydGVsbGluaWUgYmVsZWlkaWdlbiBrb2VubmVuLCBldGMucHAuIEluCmRpZXNlciBIaW5zaWNodCBJU1QgZGFzIE1HIGVpbmUgcmVhbGl0YWV0LCBkaWUgZnVlciBtYW5jaGUgd2ljaHRpZ2VyLCBmdWVyCm1hbmNoZSB3ZW5pZ2VyIHdpY2h0aWcgaXN0LiBVbmQgaW4gZGVyIGVzIHouQi4gZWdhbCBpc3QsIG9iIG1hbiBudW4gaW0KcmljaHRpZ2VuIExlYmVuIGhhZXNzbGljaCB1bmQgdW5iZWxpZWJ0IGlzdCwgZGVubiB3ZW5uIG1hbiBzaWNoIG5pY2h0IGRvb2YKYW5zdGVsbHQsIGthbm4gbWFuIGhpZXIgRnJldW5kZSBmaW5kZW4uIERhc3MgZXMgc293YXMgd2llIFN0YW1tdGlzY2hlIG9kZXIKTVVELUZldGVuIGdpYnQsIHplaWd0IGphLCBkYXNzIHZpZWxlIExldXRlIGJlcmVpdCBzaW5kLCBtZWhyIFplaXQsIEVuZXJnaWUsCmV0Yy4genUgaW52ZXN0aWVyZW4sIGFscyBzaWUgZXMgZnVlciBlaW5lIE1hdS1NYXUtUGFydGllIHR1biB3dWVyZGVuLgpJY2ggZmluZGUsIGRpZXNlcyBBcmd1bWVudCB3aXJkIGR1cmNoIGRpZSBha3R1ZWxsZSBEaXNrdXNzaW9uKGVuKSBzb2dhciBub2NoCmJlc3RhZXRpZ3QsIGRlbm4gd2FydW0gd3VlcmRlbiB3aXIgdW5zIGFsbGUgc28gYXVmcmVnZW4sIHdlbm4gdW5zIGRhcyBNRyBuaWNodAppbSBybCBhbSBoZXJ6ZW4gbGllZ2VuIHd1ZXJkZT8gCgpJY2ggZGVua2UsIGRhc3MgTVVEcyAodW5kIGFuZGVyZSBGb3JtZW4gZGVyIEtvbW11bmlrYXRpb24gaW0gSW50ZXJuZXQpIGVpbmUKYmVzb25kZXJlIEZvcm0gZGVyIEludGVyYWt0aW9uIGRhcnN0ZWxsZW4sIGRpZSB3aXIgdmVybXV0bGljaCBub2NoIG5pY2h0IHNvCmdhbnogZHVyY2hzY2hhdWVuIChuYWphLCB6dW1pbmRlc3QgaWNoIG5vY2ggbmljaHQsIGljaCBtdWVzc3RlIG1pciB2ZXJtdXRsaWNoCm1hbCBsYWVuZ2VyIHVuZCBpbnRlbnNpdmVyIEdlZGFua2VuIG1hY2hlbi4uOy0pKS4gRWluIHJlY2h0IGludGVyZXNzYW50ZXIKQXJ0aWtlbCBpbiBlaW5lciBzb3ppb2xvZ2lzY2hlbiBaZWl0c2NocmlmdCBhcmd1bWVudGllcnQsIGRhc3MgYW5nZXNpY2h0cwpkaWVzZXIgbmV1ZW4gS29tbXVuaWthdGlvbnNmb3JtZW4gZWluIG5ldWVzIFZlcnN0YWVuZG5pcyB2b24gSW50ZXJha3Rpb24Kbm9ldGlnIGlzdC4gTmFqYSwgaWNoIHdpbGwgamV0enQgaGllciBuaWVtYW5kZW4gbWl0IHNvemlvbG9naXNjaGVuCmRpc2t1c3Npb25lbiBsYW5nd2VpbGVuLCBudXIgc292aWVsOiBNYW4ga2FubiBkYXMgTUcgbmljaHQgYWxzICJOdXIgZWluIFNwaWVsIgphYnR1bi4gTWFuIGthbm4gc2ljaCB1ZWJlciBLYXNwZXJsZXRoZWF0ZXIgYXVmcmVnZW4sIGdlbmF1c28gd2llIG1hbiBzaWNoCnVlYmVyIHVubm9ldGlnZSB1bmQgYWxiZXJuZSBEaXNrdXNzaW9uZW4gaW0gcmwgYXVmcmVndCwgYWJlciBtYW4gc29sbHRlIGRhbm4KYXVjaCB1ZWJlcmxlZ2VuLCB3YXMgbWFuIG1hY2hlbiBrYW5uLCBkYW1pdCBkaWUgRGlza3Vzc2lvbiB2ZXJudWVuZnRpZyB1bmQKZnJ1Y2h0YmFyIHZlcmxhdWVmdC4KClNvLiBEZXIgYmV0cmVmZiBkZXMgQXJ0aWtlbHMgc29sbHRlIGluendpc2NoZW4gdmVybXV0bGljaCAia2FzcGVybGV0aGVhdGVyLApyZWE7bGl0YWV0IHVuZCBzb3ppb2xvZ2llIiBoZWlzc2VuLCBhYmVyIGVnYWwuLjotKSkKCmNlcmVidXMKKGRlciBkYXMgbW9yZ2VuZ3JhdWVuIHZvbiB0YWcgenUgdGFnIHNwYW5uZW5kZXIgZmluZGV0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLYXNwZXJsZXRoZWF0ZXIgKEtleSwgMjUuIEFwciAxOTk3LCAyMTozMzozNyk6Cn4jISBybj1DZXJlYnVzIHJ0PTg2MTk5MTMyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgoKSWNoIGJpbiBlaW4gQ2hhb3QhIGF1Y2ggUmwgOyk9CgpNdXNzdGUgbWFsIGdlc2FndCBzZWluIDspKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLYXNwZXJsZXRoZWF0ZXIgKFRhc2hhLCAyNS4gQXByIDE5OTcsIDIxOjQ3OjIzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYxOTc5MjU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxOTc1NjcyCkdlaHQgZXMgaGllciB3aXJrbGljaCB1bSBTaWNoZXJoZWl0LCBPZXR0aT8gT2RlciBnZWh0IGVzIHZpZWxtZWhyIHVtIGRpZQoiUmVnZWx1bmciIGRlcyBNaXRlaW5hbmRlcnM/IEljaCBkZW5rZSwgbGV0enRlcmVzIGlzdCBkZXIgRmFsbC4gVW5kIGluIGVpbmVyCkdlc2VsbHNjaGFmdCBmaW5kZXQgZGllIEZyZWloZWl0IGRlcyBlaW5lbiBpaHJlIEdyZW56ZW4gaW1tZXIgaW4gZGVyIEZyZWloZWl0CmRlcyBhbmRlcmVuLiAKRGllIEZyYWdlIGlzdCBhbGxlcmRpbmdzLCB3aWUgZGllc2UgR3JlbnplbiBhYmdlc3RlY2t0IHdlcmRlbiBtdWVzc2VuLiBSZWljaHQKYmVpIHVucyBkZXIgZ2VzdW5kZSBNZW5zY2hlbnZlcnN0YW5kIHVuZCBlaW5lIHZlcm51ZW5mdGlnZSBSdWVja3NpY2h0CmF1ZmVpbmFuZGVyIG9kZXIgYnJhdWNoZW4gd2lyIFRpbnRlIHVuZCBQYXBpZXI/CgpUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2FzcGVybGV0aGVhdGVyIChHcmltbWJvcm4sIDI1LiBBcHIgMTk5NywgMjE6NTI6MjgpOgp+IyEgcm49VGFzaGEgcnQ9ODYxOTk3NjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxOTc1NjcyCkFjaCB3YXMuIFdpbGxrdWVyIHJlaWNodCBpbiBtZWluZW4gQXVnZW4gdm9lbGxpZyBhdXMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNldWZ6IChBbGFub24sIDI2LiBBcHIgMTk5NywgMTE6MTI6MzEpOgpIYWxsbyBpaHIgU3RyZWl0a29lcGZlIHVuZCBCZWxlaWRpZ3RlbiAhISEKSWNoIGZyYWdlIG1pY2ggYWxsZW4gRXJuc3RlbnMsIHdpZSBkYXMgaW0gTXVkIHdlaXRlcmdlaGVuIHNvbGwgPwpNYWdpZXIgaGFlbmdlbiBpaHJlIEdlYmlldGUgYWIgb2RlciBhZW5kZXJuIG1hbCBrdXJ6ZXJoYW5kIApkaWUgRmFlaGlna2VpdGVuIGVpbmVyIEdpbGRlLCBpbmRlbSBzaWUgWmF1YmVyc3BydWVjaGUgcmF1c25laG1lbi4KV2llIHNvbGwgZGFzIGRlbm4gYWxsZXMgbm9jaCBTcGFzcyBtYWNoZW4gPz8KSWNoIGRhY2h0ZSBpbW1lciwgZGFzcyBkYXMgTXVkIGVpbiBTcGllbCB3YWVyZS4gV2FydW0gbXVlc3NlbiBkZW5uIGhpZXIgdmllbGUgCkxldXRlIGlocmUgQXV0b3JpdGFldCByYXVzaGFlbmdlbiBsYXNzZW4sIG51ciB1bSB6dSB6ZWlnZW4gIiBpY2ggYmluIHdlciAiPwpEYXMgZ2FuemUgZ2VodCBudXIgYXVmIEtvc3RlbiBkZXIgU3BpZWxlciB1bmQgc29taXQgZGVzIE11ZHMuLi4KU28gZGFzIHdhciBlaWdlbnRsaWNoIGFsbGVzLCB3YXMgaWNoIHp1IGRpZXNlbSBUaGVtYSBzYWdlbiB3b2xsdGUuCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2FzcGVybGV0aGVhdGVyIChMZWZ0eSwgMjYuIEFwciAxOTk3LCAxNDo1NDo0MSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MTk4MzI2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgoKWnUgQWNyaW1vbjoKSWNoIGJlendlaWZsZSwgZGFzcyBhbGxlIE1lbnNjaGVuIGltIEdydW5kZSBJaHJlcyBIZXJ6ZW5zIGd1dCBzaW5kICEgV2VubiBkZW0Kc28gd2FlcmUsIHdpZSBzb2xsZW4gc2llIGVyc3Qgc2NobGVjaHQgZ2V3b3JkZW4gc2Vpbi4KCkxlZnR5LCBwaGlsb3NvcGhpZXJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdhZ2E/IChTY2hydW1wZmksIDI2LiBBcHIgMTk5NywgMjM6NDA6MjMpOgp+IyEgcm49S3JldGVrIHJ0PTg2MTc1Mzc5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTY5MjYwOQpEdSBzaWVoc3QgZGFzIGZhbHNjaC4gV2VubiBoaWVyIFNwaWVsZXIgcnVtcmVubmVuLCBkaWUgbWl0IGVpbmVtIFNjaGxhZyB1bmQKb2huZSBXYWZmZW4gZGVuIFdlZ2hpZXIgd2Vna2lja2VuLCB3ZWlsIGlyZ2VuZHNvbiAnTWFnaWVyZnJldW5kJyBkZW5lbiBkaWUKU3RhdHMgdW5kIGRpZSBXQyBob2Noc2V0enQsIGRhbm4gaXN0IGRhcyBTcGllbGVyaGlsZmUgZ2VnZW4gZGllIHdhcwp1bnRlcm5vbW1lbiBnZWhvZXJ0LiBXZW5uICBpY2ggamV0enQgbmVtIE5ld2JpZSBpbiBlaW5lbSBkdW5rbGVuIExhYiBuZSBGYWNrZWwKenVzY2h1bW1lbCwgZGFubiBpc3QgZGFzIHp3YXIgYXVjaCBTcGllbGVyaGlsZmUgYWJlciB0b2xlcmllcmJhciB1bmQgc28gZWluZQpBcnQgdm9uIFNwaWVsZXJoaWxmZSB2ZXJtaXNzdCAga2VpbmVtIGRlbiBTcGllbHBhc3MgYWJlciB3ZW5uIGVpbiBTcGllbGVyIG5lCmhhbGJlIFN0dW5kZSBhdWYgZWluIE1lZ2Ftb25zdGVyIGtsb3BwdCB1bmQgeC1tYWwgdGFua2VuIHJlbm50LCBLb2hsZQp2ZXJzYWV1ZnQsIHdvbW9lZ2xpY2ggZGFiZWkgZHJhdWZnZWh0IHVuZCBkYW5uIGtvbW10IHNvIGVpbiBEZXBwIG1pdCBnZXNldHp0ZW4KU3RhdHMsIGdlY2xvbnRlbiBXYWZmZW4vUnVlIHVuZCBoYXV0IGlobSBkZW4gdm9yIGRlciBOYXNlIHdlZywgZGFubiBnZWh0IGRhcwp6dSB3ZWl0LgpBdXNuYWhtc3dlaXNlIGdlYiBpY2ggZGVuIEVyem1hZ2llcm4gbWFsIHJlY2h0LgpTLgpQLlMgRXMgd3VyZGUgendhciBzY2hvbiBvZWZ0ZXIgZ2VzYWd0IGFiZXIgaWNoIHNhZ3Mgbm9jaG1hbDogRGFzIGlzdCBlaW4KTXVsdGktVXNlci1TcGllbCwgd2VubiBpY2ggZGEgc2NodW1tZWwsIGRhbm4gYmVzY2h1bW1lbCBpY2ggYXVjaCBhbGxlIGFuZGVyZW4uCldlbm4gaWNoIG1pciBiZWkgbWVpbmVtIENvbXAtU3BpZWwgWnVoYXVzZSBkZW4gQ2hlYXQgQ29kZSBlaW5zdGVsbGUsIGRhbm4gaXN0CmRhcyBtZWluZSBTYWNoZSB1bmQgZGFubiBiZXNjaGVpc3MgaWNoIG1pY2ggaG9lY2hzdGVucyBzZWxiZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHYWdhPyAoU2NocnVtcGZpLCAyNi4gQXByIDE5OTcsIDIzOjQyOjEyKToKfiMhIHJuPUtyZXRlayBydD04NjE3NTQwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE2OTI2MDkKQXUgQmFja2UsIGRhcyB0dXQgd2VoIQpFaW5lcnNlaXRzIHdlcmRlbiBCb2luZyB1bmQgQ2F0d2VhemxlIGFscyBXZWljaGVpZXIgYmV6ZWljaG5ldCBhbmRlcmVyc2VpdHMKd2lyIGlobmVuIHNvbiBNaXN0IHZvcmdld29yZmVuLiBMYW5nc2FtIG11ZXNzZW4gZGllIGphIFNjaGl6byB3ZXJkZW4uClMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2V1ZnogKEJsb29keWhhcnJ5LCAyNy4gQXByIDE5OTcsIDAzOjAwOjAwKToKfiMhIHJuPUFsYW5vbiBydD04NjIwNDU5NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjIwNDU5NTEKPiBEYXMgZ2FuemUgZ2VodCBudXIgYXVmIEtvc3RlbiBkZXIgU3BpZWxlciB1bmQgc29taXQgZGVzIE11ZHMuLi4KTmljaHQgbnVyIGRlbiBTcGllbGVybi4gSWNoIGFscyBNYWdpZXIgYmluIGF1Y2ggdmVydW5zaWNoZXJ0IHVuZCBmdWVobGUgbWljaAppbiBtZWluZXIgQXJiZWl0IGJlaGluZGVydC4gU2ljaGVyIGdlaHQgZXMgbWVpbmVuIEtvbGxlZ2VuIGViZW5zby4gCkF1Y2ggd2VubiBtYW4gdW5zIHZpZWxlaWNodCBuaWNodCBzbyBvZnQgc2llaHQgdW5kIGhvZXJ0LCBzbyBzaW5kIHdpciBkb2NoIGRhCnVuZCBuZWhtZW4gZ2VuYXVzbyBhbSBNdWQgdGVpbCB3aWUgZGllIFNwaWVsZXIsIG51ciBoYWx0IG1pdCBldHdhcyBhbmRlcmVuCkludGVyZXNzZW4uCgpiaCAtIG1vZWNodGUgU3BpZWxlciB1bmQgTWFnaWVyIHdpZWRlciBldHdhcyB6dXNhbW1lbmJyaW5nZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXNwZXJsZXRoZWF0ZXIgKFBhdHJ5biwgMjcuIEFwciAxOTk3LCAxOToyNToyOCk6Cn4jISBybj1Tb2NyYXRlIHJ0PTg2MTk3NTY3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgpuYSB3aWUgc2Nob2VuIGRhcyBlcyBldWNoIGJlaWRlIGdpYnQ6IGlyZ2VuZHdlciBtdXNzIGphIHVlYmVyIGRlbiBkaW5nZW4Kc3RlaGVuIHVuZCBkZW4gYW5kZXJlbiBzYWdlbiwgd2llIGJsb2VkIHNpZSBzaW5kLi4uCgotLS0tLS0KcGF0cnluCgpQUzoga29lbm5lbiB3aXIgbmVuIHRlcm1pbiBhdXNtYWNoZW4/IHN0ZWxsIHNjaG9uIG1hbCBkaWUgY291Y2ggenVyZWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZXVmeiAoQWxhbm9uLCAyNy4gQXByIDE5OTcsIDE5OjMwOjQ5KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg2MjEwMjgwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MjA0NTk1MQpFcyBzb2xsdGUgamEgbmljaHQgbnVyIGdlZ2VuIGRpZSBNYWdpZXIgZ2VoZW4uIEVzIGlzdCBhbGxlcmRpbmdzCm51biBtYWwgc28sIGRhc3MgZGllc2UgYW0gbGFlbmdlcmVuIEhlYmVsIHNpdHplbiB1bmQgd2llIG1hbiBzaWVodCwgZGllcyBhdWNoCnZvbGwgYXVzbnV0emVuLgpXZW5uIGljaCBtaWNoIGFuIGRpZSBaZWl0IGVyaW5uZXJlLCBpbiBkZXIgaWNoIG1pdCBkZW0gbXVkZGVuIGFuZ2VmYW5nZW4gaGFiZSwKZGEgZ2FiIGVzIHNvbGNoZSBQcm9ibGVtZSB1ZWJlcmhhdXB0IG5pY2h0ICggenVtaW5kZXN0IGthbm4gaWNoIG1pY2gKbmljaHQgZGFyYW4gZXJpbm5lcm4pLgpTaWNoZXIsIGZydWVoZXIgZ2FiIGVzIExldXRlLCBkaWUgYXVmIGlyZ2VuZGVpbmUgQXJ0IHVuZCBXZWlzZSBiZXRydWVnZW4uCkRpZSBnaWJ0IGVzIGhldXRlIGFiZXIgZ2VuYXVzbyB1bmQgZXMgc2luZCBnYXJhbnRpZXJ0IHdlZGVyIG1laHIgbm9jaCB3ZW5pZ2VyCmdld29yZGVuLi4uCkljaCBkZW5rZSBtaXIsIGRhc3MgbWFuIGRpZXNlIExldXRlIGRpc2tyZXQgKCBhbHMgTWFnaWVyICkgZGFyYXVmIGFuc3ByZWNoZW4Kc29sbHRlLgpXRW5uIHNpZSBkaWVzIGRhbm4gbmljaHQgdW50ZXJsYXNzZW4sIGtvZW5udGUgbWFuIGRhbm4genUgZHJhc3Rpc2NoZXJlbiAKTWFzbmFobWVuIGdyZWlmZW4uLi4uIFZpZWxlIGRlbmtlbiBudW4gd29obCwgaWNoIGhhZXR0ZSBuZW4gU2NodXNzLCBhYmVyIAptYW4gc29sbHRlIGRpZSBnYW56ZSBTYWNoZSBldHdhcyBkaXBsb21hdGlzY2hlciBhbmdlaGVuLiBFcyB3YWVyZSBnYXJhbnRpZXJ0CmJlc3NlciBmdWVyIGRpZSBBdG1vc3BoYWVyZSBpbSBNdWQgdW5kIGRlciBCZXppZWh1bmcgU3BpZWxlciAtIE1hZ2llcgoKRWluIHdvaGwgenUgb3B0aW1pc3Rpc2NoZXIgQWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWItU2VpdGVuIChLYXJ0b2ZmZWwsIDI3LiBBcHIgMTk5NywgMjM6Mjk6MjkpOgpIYWxsb2VjaGVuLAoKSWNoIGhhYmUgbWlyIGhldXRlIG1hbCBzbyBlaW5pZ2UgV2ViLVNlaXRlbiB2b20gTUcgYW5nZXNjaGF1dCB1bmQgaGFiZSBkYWJlaQpmZXN0Z2VzdGVsbHQsIGRhc3MgZGEgYmVpIHZpZWxlbiBudXIgc2VociB3ZW5pZyBzdGVodCB1bmQgZGllIFNlaXRlbiB6dW0gVGVpbAphdWNoIHNjaG9uIHNlaHIgYWx0IHNpbmQsIHouQi4gZGllIHZvbiBGZXJud2VzdCBpc3Qgdm9uIEVuZGUgOTUsIG1pdCBkZXIKQmVtZXJrdW5nLCBkYXNzIGVzIEZlcm53ZXN0IGphIG5vY2ggbmljaHQgbGFuZ2UgZ2lidCAoIDspICkuCkRhcyBmaW5kZSBpY2ggZWlnZW50bGljaCB6aWVtbGljaCBzY2hhZGUsIHdlaWwgaWNoIGF1Y2ggZ2VybmUgbWFsIHdhcyB1ZWJlcgpIaW50ZXJncnVlbmRlIGRlciBSZWdpb25lbiBlcmZhaHJlbiB3dWVyZGUuCkRpZSBTZWl0ZSB1ZWJlciBkYXMgVmVybG9yZW5lIExhbmQgaXN0IHp1bSBCZWlzcGlsZSBzZWhyIHNjaG9lbiwgbWl0IGRlbgpNeXRoZW4gdW5kIHNvIHdlaXRlciwgYXVjaCB3ZW5uIFNhaWthbiBhbHMgUk0gdW5kIEFuc3ByZWNocGFydG5lciBkYQp2aWVsbGVpdmh0IG1hbCByYXVzZ2Vub21tZW4gd2VyZGVuIHNvbGx0ZS4KVmllbGxlaWNodCBpc3QgZGFzIGphIG1hbCBuZSBBbnJlZ3VuZywgZnVlciBkaWVqZW5pZ2UsIGRpZSBkaWUgU2VpdGVuIGdlbWFjaHQKaGFiZW4sIHNpZSBtYWwgZXR3YXMgenUgYWt0dWFsaXNpZXJlbi4KCkthcnRvZmZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLYXNwZXJsZXRoZWF0ZXIgKFphcmRveiwgMjguIEFwciAxOTk3LCAwOToxMDoxMSk6Cn4jISBybj1DZXJlYnVzIHJ0PTg2MTk5MTMyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgpHZXJhZGUgZGllIE1VRC1QYXJ0aWVzIHplaWdlbiBkb2NoLCBkYXNzIDkwJSBkZXIgTGV1dGUgaGllciB3aXJrbGljaCBkZW4KdG90YWxlbiBEYWNoc2NoYWRlbiBoYWJlbiEgV2FzIGRhIGltbWVyIGZ1ZXIgR2Vzb2NrcyBydW1sYWV1ZnQsIHVuZ2xhdWJsaWNoLi4uCgoKQ2lhbyBaYXJkb3oKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEthc3BlcmxldGhlYXRlciAoU2lkb2xpbiwgMjguIEFwciAxOTk3LCAwOToxMzowOSk6Cn4jISBybj1aYXJkb3ogcnQ9ODYyMjExNDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYxOTc1NjcyCldhcyBlcndhcnRlc3QgRHU/CkVzIGhhbmRlbHQgc2ljaCBkYWJlaSB1bSBlaW5lbiByZXByYWVzZW50YXRpdmVuIER1cmNoc2Nobml0dCBkZXIgQmlsZHVuZ3NlbGl0ZQpEZXV0c2NobGFuZHMuLgpLZWluIFd1bmRlciwgZGFzcyBoaWVyIGFsbGUgZWluZW4gYW4gZGVyIFdhZmZlbCBoYWJlbi4gOi0pCgoKU2lkb2xpbi4gV3VuZGVydCBkYXMgYWxsZXMgZ2FyIG5pY2h0IG1laHIuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFsYWxhICEgKFJhbnRhbnBsYW4sIDI4LiBBcHIgMTk5NywgMTI6NTY6MjEpOgoKRGEgbWlyIG5peCBtZWhyIGVvbmZhZWxsdCB1bSBtaWNoIF9ub2NoXyB1bmJlbGllYnRlciB6dSBtYWNoZW4gdW5kIGRlIHRocmVhZAphdWNoIHNvIGxhbmdzYW0gYW4KUGVwcCB2ZXJsaWVydCBkZW5rZSBpY2ggbWFsIHp1ciBBYndlY2hzbHVuZy4uLgoKSWhyIGhhYnRyZWNodCwgdW5kIGFsbGVzIGlzdCBndXQsIGRhcyBNRyBpc3Qgc2Nob2VuLCB1bmQgRXJ6bWFnaWVyIHNpbmQgdG9sbC4KCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2FzcGVybGV0aGVhdGVyIChSYWZmaSwgMjguIEFwciAxOTk3LCAxNzoxNTo0Myk6Cn4jISBybj1TaWRvbGluIHJ0PTg2MjIxMTU4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3Mgo+IEVzIGhhbmRlbHQgc2ljaCBkYWJlaSB1bSBlaW5lbiByZXByYWVzZW50YXRpdmVuIER1cmNoc2Nobml0dAo+IGRlciBCaWxkdW5nc2VsaXRlIERldXRzY2hsYW5kcy4uCgpVcHMgLSBHZWhvZXIgaWNoIGRhIGF1Y2ggenUgLSBuZWUgQmVzc2VyIG5pY2h0LgoKR3JpbnMKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2V1ZnogKFJhZmZpLCAyOC4gQXByIDE5OTcsIDE3OjE2OjAwKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg2MjEwMjgwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MjA0NTk1MQpNYWdpZXIgc2luZCBhdWNoIG51ciBzcGllbGVyIGJoIQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByaXZhdGZlaGRlbiAoQ2F0d2VhemxlLCAyOC4gQXByIDE5OTcsIDIwOjIwOjA0KToKSGkhCgpXZXIgc2VobnN1Y2h0aWdzdCBhdWYgZGllIEZvcnRzZXR6dW5nIGRlciBrbGVpbmVuIFByaXZhdGZlaGRlIHdhcnRldCwKZGVuIG11c3MgaWNoIGVudHRhZXVzY2hlbiwgaWNoIGhhYiBtaXIgZXJsYXVidCBkaWUgZW50c3ByZWNoZW5kZW4gQXJ0aWtlbAp6dSBsb2VzY2hlbi4gCgpGYWxscyB3aWVkZXIgbWFsIGplbWFuZCBkaWUgU3VjaHQgdmVyc3B1ZXJlbiBzb2xsdGUsIHNpY2ggbWl0IGplbWFuZGVtCmFubGVnZW4genUgd29sbGVuLCBkYW5uIG1hY2h0IGRhcyBiaXR0ZSBwZXIgJ3NhZycsICd0ZWlsZSBtaXQnIG9kZXIgbWFpbCwKYWJlciBzdWVsenQgYml0dGUgbmljaHQgZGllIE1QQSBkYW1pdCB2b2xsLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJpdmF0ZmVoZGVuIChTaWRvbGluLCAyOC4gQXByIDE5OTcsIDIwOjIxOjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjIyNTE2MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjIyNTE2MDQKUGFzcyBtYWwgYXVmIEFsdGVyIQpXZW5uIER1IG1laW5zdCwgZHUga29lbm50ZXN0IGhpZXIgYXVmIGRpZXNlIFdlaXNlLi4uCkljaCBnbGF1YiBpY2gga29tbSBtYSBtaXQgbWVpbmUgS29sbGVnZW4gdm9ubmUgQm9ydXNzZW5mcm9udCB2b3JiZWkhCgpTaWRvbGluLiBTbyBnZWh0cyBuaWNoLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcml2YXRmZWhkZW4gKFd1cnplbCwgMjguIEFwciAxOTk3LCAyMDoyMTozNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODYyMjUxNjA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYyMjUxNjA0CnNjaGFkZS4uLiBpY2ggZ2VuaWVzc2UgZGFzIGltbWVyLCB3ZW5uIHNpY2ggamVtYW5kIGluIGFsbGVyIG9lZmZlbnRsaWNoa2VpdAp6dW0gaGFuc3d1cnN0IG1hY2h0LiBkYXMgZW50c3Bhbm50IG5hY2ggZGVyIGFyYmVpdCBpbW1lciBzbyBzY2hvZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhbGFsYSAhIChUYXNoYSwgMjguIEFwciAxOTk3LCAyMjo0NDo0Mik6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2MjIyNDk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MjIyNDk4MQpEYXMgd2FyIHp1dmllbCEgSWNoIFZFUkxBTkdFIGVpbmVuIFNpdGViYW5pc2ggZnVlciBPZSohCgpFbXBvZXJ0LCBUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByaXZhdGZlaGRlbiAoU2NocnVtcGZpLCAyOS4gQXByIDE5OTcsIDAxOjA0OjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjIyNTE2MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjIyNTE2MDQKRHUgYmlzdCBkb29mLCBzdGlua3N0IHVuZCBhdXNzZXJkZW0gYmlzdCBEdSBuIFdlaWNoZWkhIEphd29obCEgOy0pClNjaHJ1bXBmaS16YW5rZW5kClAuUyBTZXNzZWxwdXBlciBoYWIgaWNoIHZlcmdlc3NlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2FzcGVybGV0aGVhdGVyIChMaSwgMjkuIEFwciAxOTk3LCAxMDoxMTo1Nyk6Cn4jISBybj1UYXNoYSBydD04NjE5OTc2NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjE5NzU2NzIKVGphLCBkaWUgRXJmYWhydW5nIGJpcyBqZXR6dCBoYXQgZ2V6ZWlndCwgZGFzcyB2ZXJudWVuZnRpZ2UgUnVlY2tzaWNodCBuaWNodApyZWljaHQsIHVuZCB3aXIgb2ZmZW5zaWNodGxpY2ggUGFwaWVyIHVuZCBUaW50ZSBicmF1Y2hlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlYi1TZWl0ZW4gKExpLCAyOS4gQXByIDE5OTcsIDEwOjE3OjE3KToKfiMhIHJuPUthcnRvZmZlbCBydD04NjIxNzY1Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjIxNzY1NjkKVGphLCBpbW1lciB0cm9mZnQgZXMgZGllIEZhbHNjaGVuOiBJY2ggYXJiZWl0ZSBncmFkZSBhbiBlaW5lciBVZWJlcmFyYmVpdHVuZwpkZXIgRmVybndlc3QtV1dXLSBzZWl0ZW4uCiBIYXN0IGR1IG5vY2ggZWluIHBhYXIgV29jaGVuIEdlZHVsZD8gOi0pCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLYXNwZXJsZXRoZWF0ZXIgKEppbWRpZ3JpeiwgMjkuIEFwciAxOTk3LCAxNzo1NzoxMik6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MTk4MzI2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MTk3NTY3MgoKQWNyaW1vbiB3cm90ZToKUFMgenUgU29jcmF0ZToKRW5kemVpdD8gV28/IEljaCBzZWgga2VpbmUgRW5kemVpdCAtIHNjaG9uIGdhciBuaWNodCBSTC4KRGllIE1lbnNjaGVuIGRlbmtlbiB1bWZhc3NlbmRlciwgd2VpdGxhZXVmaWdlciwgc2luZCBvZmZlbmVyIGFscyBmcnVlaGVyIC0gdm9uCm1hbmNoZW4gQXVzbmFobWVuIG1hbCBhYmdlc2VoZW4gLSBkaWUgVGVjaG5payB1bmQgV2lzc2Vuc2NoYWZ0IHZlcmJlc3Nlcm4Kc2ljaCwgZGFzIFZlcnN0YWVuZG5pcyBkZXIgVGF0c2FjaGVuIHdhZWNoc3QgbGFuZ3NhbSwgdW5kIGltIEdydW5kZSBpaHJlcwpIZXJ6ZW5zIHNpbmQgYWxsZSBNZW5zY2hlbiBndXQgLSB3YXMgd2lsbCBtYW4gbWVocj8KRGFzIGFsbGVzIHNpbmQgQW56ZWljaGVuIGZ1ZXIgZWluZSBncmFuZGlvc2UgWnVrdW5mdC4KCkh1cHNpLCBkYSBpcyBhYmVyIGptZCBvcHRpbWlzdGlzY2guCiBEYXMgJ2RpZSBNZW5zY2hlbicgc292aWVsIG9mZmVuZXIsIHRvbGVyYW50ZXIgdW5kIHdlaXRsYWV1ZmlnZXIKIGRlbmtlbiBrYW5uIGljaCBsZWlkZXIgbmljaHQgZXJrZW5uZW4uIEdyYWRlIHdlbm4gbWFuIGRpZSAKcG9saXRpc2NoZSBFbnR3aWNrbHVuZyBpbiBkZXIgQlJEIG1pdHZlcmZvbGd0IGRlbmsgaWNoIG5pY2h0LCBkYXNzCm1hbiB6dSBzbyBlaW5lbSBTY2hsdXNzIGtvbW1lbiBrYW5uIChTb3ppYWxhYmJhdSwgQXVzbGFlbmRlci9Bc3lscG9saXRpaywgCiBUZWxla29tbXVuaWthdGlvbnMgdW5kIENyeXB0b2dlc2V0enQsIGV0YykKIExhdXRlciBUZW5kZW56ZW4gZGllIGVoZXIgaW4gUmljaHR1bmcga29uc2VydmF0aXZlciAoYWxzbyBlaGVyIG5pY2h0Cm9mZmVuKSBVZWJlcndhY2h1bmdzc3RhYXQgZ2VoZW4uIApFYmVuc28gU3RldWVycG9saXRpazsgZGllIEtvbnNlcXVlbnplbiB3ZXJkZW4gc2VpbiAod2FzIGVzIHNjaG9uIGltbWVyIGFiKQpkYXNzIGRpZSBBcm1lbiBpbW1lciBhZXJtZXIgdW5kIGRpZSBSZWljaGVuIGltbWVyIHJlaWNoZXIgd2VyZGVuLgpEaWUgRm9sZ2UgZGF2b24gd2lyZCBmcnVlaGVyIG9kZXIgc3BhZXRlciBlaW4gQXVmc3RhbmQgc2Vpbi4KKHNjYWxlIDEwIC0gMTAwIEphaHJlIC4uKQpVbmQgZXMgZ2VodCBqYSBuaWNodCBudXIgcG9saXRpc2NoIHVuZCBnZXNlbGxzY2hhZnRsaWNoIHVlYmVyYWxsCmRlbiBCYWNoIHJ1bnRlci4gRGllIFVtd2VsdHplcnN0b2VydW5nIGhvZXJ0IGphIG5pY2h0IGF1ZiwKa2xhciBVbXdlbHRiZXd1c3N0ZXMgaGFuZGVsbiBpc3QgaW4gLmRlIG5vY2ggcmVsYXRpdiB3ZWl0CnZlcmJyZWl0ZXQsIGltIEdlZ2Vuc2F0eiB6dSBhbmRlcmVuIGV1cm9wYWVpc2NoZW4gU3RhYXRlbiAodWssIGZyKQp2b24gQW1lcmlrYSBnYW56IHp1IHNjaHdlaWdlbi4gTGV0emVuZGxpY2ggaXN0IGVzIGRvY2ggYWJlciBsZWlkZXIKc28sIGRhc3MgbmljaHQgZGllIFVtd2VsdHplcnN0b2VydW5nIHp1cnVlY2tnZWh0LCBzb25kZXJuIG51cgpkaWUgUmF0ZSBkZXMgWmVyc3RvYWVydW5nc3p1d2FjaHNlcyBsYW5nc2FtZXIgYW5zdGVpZ3QuCihzaWVoZSBBYmtvbW1lbiBtaXQgZGVyIFVTQSBkaWUgRkNLVyBwcm9kdWt0aW9uIGJpcyAyMDMwCmF1ZiBlaW4gYmVzdC4gTWFzcyBlaW56dWZyaWVocmVuIChfTklDSFRfIGRpZSBQcm9kdWt0aW9uIGJpcyBkYWhpbgp6dSBzdG9wcGVuKSkKTmFqYSB1bmQgc2NoYXV0IG1hbiBkYW5uIG1hbiBpbiBkaWUgMy4gV2VsdCBiencgbmFjaCAKTWlkZGxlLUVhc3QgaXN0IGVzIHZlcm11dGxpY2ggYXVjaCBudXIgbm9jaCBlaW5lIEZyYWdlIGRlciBaZWl0CmJpcyBpcmdlbmRlaW4gRmFudGlrZXIgZGllIEF0b21ib21iZSB6dWVuZGV0LgoKT2ssIGRhcyBpcyBlaW5lIHJlbGF0aXYgcGVzc2ltaXN0aXNjaGUgQW5zaWNodCwgYWJlcgp3ZXIgaW4gZGVuIGxldHp0ZW4gMiBKYWhyZW4gbWFsIGVpbmUgTmFjaHJpY2h0ZW5zZW5kdW5nIApnZXNlaGVuIGhhdCwga2FubiBlaWdlbnRsaWNoIG51ciBhdWYgc293YXMga29tbWVuLiAKSmVkZW5mYWxscyB3dWVyZGUgZXMgbWljaCBuY2h0IGFsbHp1c2VociB1ZWJlcmFzY2hlbiwgd2VubnMgCm5pY2h0IHNvIGVpbmUgZ2xvcnJlaWNoZSBadWt1bmZ0IHdpcmQsIGRpZSBBY3JpbW9uIApwcm9waGV6ZWl0LgoKU29ycnksIGZhbGxzIGljaCBqbWQgZGVuIFRhZyB2ZXJkb3JiZW4gaGFiIDstKQoKQ2lhbywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ViLVNlaXRlbiAoS2FydG9mZmVsLCAyOS4gQXByIDE5OTcsIDIxOjI0OjQ5KToKfiMhIHJuPUxpIHJ0PTg2MjMwMTgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MjE3NjU2OQpLbGFyIGRvY2gsIHdhciBqYSBudXIgbWFsIG5lIEFubWVya3VuZyA6KQoKS2FydG9mZmVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbiBmeXQgKFN0cmVwc28sIDMwLiBBcHIgMTk5NywgMTk6NDE6MzUpOgpzb3JyeSwgZGFzcyBpY2ggc28gc2FuZy0gdW5kIGtsbmdsb3MgdmVyc2Nod2FuZFtEW0RbRC4uLmFiZXIgaWNoIHdlaXNlCmplZ2xpY2hlIHNjaHVsZCB2b24gbWlyIC0gZGFzIG1nIGhhdCBtaWNoIHJhdXNnZXNjaG1pc3NlbiEhISFbQwpsYWcgZGFzIG51biBhbiBlaW5lbSByZWJvb3QgKGFyZ2wpIG9kZXIgYmluIGljaCBkZXIgZWluemlnZSBtaXQgZWluZW0gZGlja2VuCmZ1c2FiZHJ1Y2sgYXVmIGRlbSBoaW50ZXJuPz8/CndhcyBpc3QgZGVubiBsb3MgaW0gbWcgaW4gbGV0enRlciB6ZWl0Pz8/P2FudHdvcnRlbiBiaXR0ZSBhdWYgZWluZXIgcG9zdGthcnRlCmFzdHJlcHNvW0RbRC4gZWluc2VuZGVzY2hsdXNzIGlzdCBkZXIgc2Fua3QgbmltbWVybGVpbnN0YWcsIGRlciByZWNodHN3ZWcgaXN0CmF1c2dlc2NobG9zZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1hbCB3YXMgYWxsZ2VtZWluZXMgOi0pIChCaWJvLCAgOC4gTWFpIDE5OTcsIDEzOjIzOjU5KToKCkhpaG8gLi4uLgoKaWNoIGhhYmUgZ2VyYWRlIHVlYmVyIDIwMCBBcnRpa2VsIGFsbGdlbWVpbmVzIGluIGRlciBNUEEgZ2VsZXNlbgp1bmQgbnVuIGF1Y2ggZGFzIEJlZHVlcmZuaXMgZWluZW4gQXJ0aWtlbCB6dSBzY2hyZWliZW4uCkFjaHR1bmc6IGRpZXNlciBBcnRpa2VsIGlzdCBkZW0gTk5OLUNsdWIgenV6dW9yZG5lbiA6LSkKCkhpZXIgbXVzcyBlcyBqYSBoZWlzcyBoZXJnZWdhbmdlbiBzZWluIC4uLiBkYXNzIG1hbCBHZWJpZXRlCmFiZ2VoYWVuZ3Qgd2VyZGVuIHVuZCBIYWV1c2VyIHZlcnNjaHdhbmRlbiAuLi4gQW4gc28gaGVmdGlnZQpSZWFrdGlvbmVuIGthbm4gaWNoIG1pY2ggbmljaHQgaW4gZGVyIFZlcmdhbmdlbmhlaXQgZXJpbm5lcm4uClNjaGFkZSwgZGFzcyBlcyBzbyB3ZWl0IGtvbW1lbiBrb25udGUuCk1pY2ggaGF0IGV0d2FzIGVyc3RhdW50IGRhc3MgTmFpcm9sZiBudW4gbmljaHQgbWVociBNYWdpZXIgaXN0LgpOdW4sIHdpZSBhbmRlcmUgc2Nob24gc2FndGVuLCBpc3QgZGFzIHdvaGwgd2lya2xpY2ggZGllIFNwaXR6ZSB2b20KRWlzYmVyZy4gTWl0dGxlcndlaWxlIHdlaXNzIGljaCBkYXNzIGVzIExldXRlIGdpYnQsCmRlcmVuIFNwaWVsc3Bhc3MgZGFyaW4gYmVzdGVodCwgc2ljaCBWb3J0ZWlsZSB2b3IgYW5kZXJlbiB6dQpzaWNoZXJuLCBpbmRlbSBzaWUgc2ljaCBuaWNodCBudXIgS0wncyB2ZXJzY2hhZmZlbiwgc29uZGVybgpNYWdpZXItU3BpZWxmaWd1cmVuIGJhdWVuICh3aWUgYXVjaCBpbW1lciBzaWUgZGFzIHNjaGFmZmVuKSwgYWxsZQpaZWl0IGRhcmF1ZiB2ZXJzY2h3ZW5kZW4gZGllc2Ugc28genUgcHJvZ2dlbiBkYXNzIHNpZSBuaWNodCBlcndpc2NodAp3ZXJkZW4gdW0gZGFubiBpaHJlbiAnbm9ybWFsZW4nIFNwaWVsZmlndXJlbiBWb3J0ZWlsZSB6dSB2ZXJzY2hhZmZlbgooUXVlc3RzIGxvZXNlbiBvaG5lIHNpZSB3aXJrbGljaCB6dSBzcGllbGVuLCBUb29scyBwcm9nZ2VuIHVtCmFsbGVzLCB3YXMgZXR3YXMgWmVpdCB1bmQgR2VzY2hpY2sgZXJmb3JkZXJ0IHp1IHVtZ2VoZW4sIGV0YyAuLiApLgp0b2xsZSBTcGllbGF1ZmZhc3N1bmcgOi0oCkRpZXNlIExldXRlIHNpbmQgSU1ITyBhYmVyIHdlaXQgaW4gZGVyIE1pbmRlcnphaGwsIHVuZCBpY2ggZGVua2UKZGFzcyBzaWUsIG1pdHRlbC0gb2RlciBsYW5nZnJpc3RpZywgc2VsYmVyIGRlbiBTcGFzcyBhbSBTcGllbCB2ZXJsaWVyZW4uCkljaCBkZW5rZSwgd2FzIGhhdCBtYW4gZGF2b24gPyAgU2VsYnN0IHdlbm4gc2llIGt1cnpmcmlzdGlnCmF1Y2ggbm9jaCBzdG9seiBzaW5kIGVpbmUgc28gJ2dlbG9lc3RlJyBRdWVzdCBnZXNjaGFmZnQgenUgaGFiZW4KdW5kIGRhbWl0IGFuZ2ViZW4gd2llIHRvbGwgc2llIHNpbmQsIHVuZCB3ZWxjaGUgVHJpY2tzIHNpZSBrZW5uZW4KZGFzIE1HIHp1IHNhYm90aWVyZW4gLi4uIGljaCBmaW5kcyBzY2hlaSplLgpBbHMgU3BpZWxlciBoYWJlIGljaCBpbSBncm9zc2VuIHVuZCBnYW56ZW4gYW4gZGllIGhlaWxlIE11ZHdlbHQKZ2VnbGF1YnQgdW5kIGVzIHdhZXJlIHNjaGFkZSB3ZW5uIGVzIG5pY2h0IHdlaXRlcmhpbiBtb2VnbGljaCBpc3QKbm9ybWFsZW4gU3BpZWxlcm4gZWluZSBNdWR3ZWx0IHp1IGJpZXRlbiwgaW4gZGVyIHNpZSBpaHJlbiBTcGFzcwpoYWJlbiBrb2VubmVuIC4uLiBlaW5lbiBTcGFzcywgZGVyIGFsbGVyZGluZ3MgbmljaHQgZGFyaW4gYmVzdGVodCB6dQpiZXNjaGVpKmVuIHdvIGVzIG51ciBnZWh0IHVtIHNpY2ggc2VsYnN0IGRhcnp1c3RlbGxlbiwgd29tb2VnbGljaApub2NoIGRhZnVlciBiZXd1bmRlcnQgd2VyZGVuIHp1IHdvbGxlbiB1bmQgenUgbWVpbmVuIHdhcyBiZXNzZXJlcwp6dSBzZWluIGFscyBhbmRlcmUuCmltIFZlcmdsZWljaCB6dSBzb2xjaGVuIFR5cGVuIHdhciBkYXMsIHdhcyBOYWlyb2xmIHRhdCwgd29obAprYXVtIG5lbm5lbnN3ZXJ0LiBBYmVyOiBhdWNoIGtsZWluZXJlIFZlcmdlaGVuIHNpbmQgc3RyYWZiYXIKdW5kIGVyIHd1cmRlIGhlcmFiZ2VzdHVmdC4gb2suIERvY2ggZGFzcyBTaGFyaWEgZWluZW4gU2tpbGx2ZXJsdXN0Cmhpbm5laG1lbiBtdXNzdGUgZmluZCBpY2ggbmljaHQgb2suIEtsYXIsIHNpZSBoYWV0dGUgdmllbGxlaWNodApwcm9maXRpZXJlbiBrb2VubmVuLCBkb2NoIGluIGhpZXIgc2NoZWludHMgbWlyIHNlaHIgdW53YWhyc2NoZWlubGljaC4KTWFnaWVyIGtvZW5uZW4gVGVzdGllcyBqYSBiZWxpZWJpZyBzZXR6ZW4sIGRvY2ggd2VubiBzaWUgWndlaXRpZXMKKG5pY2h0IFRlc3RpZXMpIGhhYmVuIGJlc3RlaHQgZGVyIFJlaXogamEgZ2VyYWRlIGRhcmluIHNpZSB1bnRlcgpTcGllbGVyYmVkaW5ndW5nZW4genUgZnVlaHJlbi4KV2llIGdlc2FndCwgZGllIFNwaWVsZXIsIGRpZSBzaWNoIGlocmVuIFNwaWVsc3Bhc3MgZHVyY2ggKGVjaHRlcykKQmVzY2hlaSplbiBob2xlbiAoZGFydW50ZXIgdmVyc3RlaGUgaWNoIHNldHplbiB2b24gU3RhdHMgLCBkdXJjaApkaWUgZGVyIFNwaWVsZXIgaW0gS2FtcGYgb2RlciBpbiBRdWVzdHMgVm9ydGVpbGUgaGF0LApkYXMgVW1nZWhlbiB2b24gUXVlc3RzLCBhYmVyIGthc3NpZXJlbiBkZXIgQVBTLCAuLi4gKQpzaW5kIGdld2lzcyBpbiBkZXIgTWluZGVyemFobCB1bmQgTmFpcm9sZiBnZWhvZXJ0IElNSE8gbmljaHQgZGF6dS4KRG9jaCB3YXMgaXN0IG1pdCBrbGVpbmVyZW4gVmVyZ2VoZW4sIHdpZSBkYXMgc2V0emVuIGVpbmVzIFByZXNheXMKb2RlciBhbmRlcmVzID8gQXVjaCBkYXMgc2luZCBWZXJnZWhlbiwgZG9jaCB6dXIgVmVyaGFlbHRuaXNtYWVzc2lna2VpdApmYW5kIGljaCBBcnRpa2VsIDIwNSBpbiBhbGxnZW1laW5lcyByZWNodCBndXQgdW5kIHdpbGwgZGVtIG5pY2h0cwp3ZWl0ZXIgaGluenVmdWVnZW4uCnRqYSwgYXVjaCB3YXMgZGVuIFVtZ2FuZyBtaXRlaW5hbmRlciBhbmdlaHQsIHVuZCBkaWUgTWFnaWVyIGluCkJlenVnIGF1ZiBTcGllbGVyaGlsZmUsIGFydGlrZWwgMTgzIGlzdCBkYSBhdWNoIHJlY2h0IHBhc3NlbmQgOi0pCkFsc28sIHdhcnVtIGFsbGVzIG5vY2htYWwgc2NocmVpYmVuID8gOi0pClZpZWxsZWljaHQgbm9jaCBlaW5lczogaWNoIGhhYmUgZWluaWdlIEtMcyB2ZXJ3ZW5kZXQgdm9uIHdpbGwgbmljaHQKZ2VnZW4gaWhyZSBWZXJ3ZW5kdW5nIHdldHRlcm4uIFRyb3R6ZGVtIGhhYmUgaWNoIHJ1bmQgMzUgT25saW5ldGFnZQpnZWJyYXVjaHQgdW0gU2VoZXIgenUgd2VyZGVuLCB1bmQgaWNoIGhhdHRlIHZpZWwgU3Bhc3MgZGFiZWkuClVuZCBIaWxmZSB2b24gYW5kZXJlbiBTcGllbGVybiwgZGllIG1hbmNoZSBRdWVzdCBzY2hvbiBnZW1hY2h0IGhhdHRlbgp1bmQgbWljaCB2b24gaWhyZXIgRXJmYWhydW5nIHByb2ZpdGllcmVuIGxpZXNzZW4sIGhhdHRlIGljaCBhdWNoLgpBbHMgU3BpZWxlciB1bmQgU2VoZXIgaGFiZSBpY2ggaW1tZXIgZ2VybiBtZWluIFdpc3NlbiBtaXQKYW5kZXJlbiBnZXRlaWx0LgpTY2hsaWVzc2xpY2ggZW1wZmluZGUgaWNoIGRhcyBNRyBhbHMgbWVpbmUgdmlydHVlbGxlIEhlaW1hdCwgdW5kCm5hY2hkZW0gaWNoIFNlaGVyIHd1cmRlLCBzY2hsb3NzZW4gc2ljaCA5MyBPbmxpbmV0YWdlIHB1cmVzClNwaWVsdmVyZ251ZWdlbiAtIG1hbCBhYmdlc2VoZW4gdm9uIGVpbiBwYWFyIEZydXN0cGhhc2VuIC0gYW4uCk1pdHRsZXJ3ZWlsZSBpc3QgYmVpIG1pciBpbSBSTCBkaWUgTGFnZSBzbywgZGFzcyBpY2ggei4gWnQuIGthdW0KZGF6dSBrb21tZSwgbWFsIHp1IG11ZGRlbiBvZGVyIHdhcyB6dSBwcm9nZ2VuLgpOdW4gZ3V0IC0gbmFjaCBkZXIgTGV2ZWxyZWZvcm0gc3VjaHRlIGljaCBtaXIgZWluIGFuZGVyZXMgTXVkIHp1bQpTcGllbGVuLCBkZW5uIGVpbmVzIG1laW5lciBNb3RpdmUgenVtIG11ZGRlbiB3YXIsIG1pY2ggdW50ZXIgZGVuCmVyc3RlbiBpbiBkZXIgVG9wbGlzdGUgaG9jaHp1c3BpZWxlbiB1bmQgenUgYmVoYXVwdGVuLiBJY2ggZ2Vob2VyZQplaGVyIHp1IGRlbmVuLCBsaWViZXIgbWV0emVsbiBhbHMgZm9yc2NoZW4uIERlbm5vY2ggLSBlcyB3YWVyZQptZWhyIGFscyBzY2hhZGUgd2VubiBkZW0gTW9yZ2VuZ3JhdWVuIG51biB3aWtsaWNoIFNwaWVsZXIgb2RlcgpNYWdpZXIgd2VnbGF1ZmVuLCB3ZWlsIHNpZSBoaWVyIGtlaW5lbiBTcGFzcyBtZWhyIGFtIFNwaWVsIGhhYmVuLgppY2ggZmluZGUgZWluIGZhaXJlcyBNaXRlaW5hbmRlciBpbW1lciBub2NoIGJlc3NlciB1bmQgZnVlciBhbGxlCmdld2lubmJyaW5nZW5kZXIgYWxzIGF1ZmVpbmFuZGVyIGhlcnVtenVoYWNrZW47IG5hY2hkZW0gaWNoCmRpZSBNUEEgbGFzIGhhYiBpY2ggZGVuIEVpbmRydWNrIGRhc3MgbGV0emVyZXMgaW0gTW9tZW50IHdvaGwKYW5nZXNhZ3QgaXN0IDotKApXaWUgaWNoIGdlaG9lcnQgaGFiZSwgd2FyIHNvZ2FyIGRpZSBTU1AgZWluIFdlaWxjaGVuIGFiZ2VrbGVtbXQuCkFsc28sIHdlbm4gZWluaWdlIHZvbiBldWNoIHNlbGJzdCBkaWUgR29ldHRlciBlcnp1ZXJuZW4gLi4uIHVoLW9oLgpJY2gga2FubiBudXIgaG9mZmVuIGRhc3MgZGllIE1laHJoZWl0IGltbWVyIG5vY2ggaGllciBzcGllbHQKdW0gU3Bhc3MgYW0gc3BpZWxlbiB1bmQgbWV0emVsbiB6dSBoYWJlbiwgYXVjaCBvaG5lIHNpY2gKaXJnZW5kd2VsY2hlIG5pY2h0IGxlZ2FsZW4gVm9ydGVpbGUgenUgdmVyc2NoYWZmZW4uCkljaCBrYW5uIGRhcyB3YXMgSmltZGlncml6IGluIEFydGlrZWwgMjIzIGluIEJlenVnIGF1ZiBSTCBzYWd0Cm51ciB1bnRlcnN0cmVpY2hlbiAuLi4gdW1zbyBtZWhyIGZpbmQgaWNoIGVzIHdpY2h0aWcgZGFzcyBtYW4KaW0gVkwgXyBuIGkgYyBoIHQgXyB2ZXJzdWNodCBQb2xpdGlrLCBXaXJ0c2NoYWZ0IG9kZXIgc29uc3QKaXJnZW5kZWluZW4gYW5kZXJlbiBkZXN0cnVrdGl2ZW4gU2NoKiBlaW5mbGllc3NlbiBsYWVzc3QKKHdhcyBiaXNoZXIgamEsIEdvdHQgc2VpIERhbmssIHp1dHJpZmZ0KSAsIHNvbmRlcm4gZWhlciBtaXRlaW5hbmRlcgpuaWNodCBudXIgYXVza29tbWVuLCBzb25kZXJuIFNwYXNzIGhhYmVuIHNvbGx0ZS4KU28sIGVyc3RtYWwgZ2VudWcgZ2VyZWRldCAuLi4KCiAgIG1hY2h0cyBndXQgLi4uCiAgICAgICAgICAgICAgICAgaGF2ZSBmdW4gOi0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlibwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWwgd2FzIGFsbGdlbWVpbmVzIDotKSAoRW5neXd1Y2ssICA4LiBNYWkgMTk5NywgMTM6NDI6NDkpOgp+IyEgcm49QmlibyBydD04NjMwOTA2Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjMwOTA2MzkKTWFsIG5lIEZyYWdlIGFtIFJhbmRlOiBXYXMgdmVyYW5sYXNzdCBkZXIgQXV0b3IgZWlnZW50bGljaCBkYXp1LCBzdGF0dAoiU2NoZWlzc2UiIGltbWVyICJTY2hlaSplIiB6dSBzY2hyZWliZW4/IElzdCBkYXMgbmViZW4gInNzIiwgInN6IiB1bnMgIi8zIiBuZQp2aWVydGUgQWx0ZXJuYXRpdmUgenVtIEVzemV0dD8gT2RlciB3aXJkIGRhcyBXb3J0IHdlbmlnZXIgYW5zdG9lc3NpZywgd2VubgptYW5zIG5pY2h0IGF1c3NjaHJlaWJ0PyBJbiBkZXIgSG9lcnp1IHN0YW5kIGphIGF1Y2ggbWFsICJLZW50dWNreSBzY2hyZWl0CmYuLi4uLiIuIERlciBnZW5hdWUgU2lubiBzb2xjaGVyIFZlcnN0dWVtbWVsdW5nZW4gaXN0IG1pciBhbGxlcmRpbmdzIG5pY2h0Cmdhbnoga2xhci4gV2VyIFRpdHRlbiBtZWludCwgc29sbCBhdWNoIFRpdHRlbiBzY2hyZWliZW4sIGdlbGwgUmFudGk/IDspCgpFaW4gc2lubmxvc2VyIEFydGlrZWwgYW0gRmVpZXJ0YWcgdm9uCiAgIEVuZ3kqdWNrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1hbCB3YXMgYWxsZ2VtZWluZXMgOi0pIChKaW1kaWdyaXosICA4LiBNYWkgMTk5NywgMTQ6MDg6MjIpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODYzMDkxNzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMDkwNjM5CgouLi4gZydmaWNrdCBlaWcnc2NoYWVkZWx0IDstKQoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFsIHdhcyBhbGxnZW1laW5lcyA6LSkgKEZldWVyd2VociwgMTAuIE1haSAxOTk3LCAxODozNDo0OSk6Cn4jISBybj1CaWJvIHJ0PTg2MzA5MDYzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzA5MDYzOQpXb1chCgpFaWdlbnRsaWNoIGhhYmUgaWNoIG51ciBlaW5lIEZyYWdlLi4uCgogIFdhcyBoZWlzc3QgSU1ITyA/PwoKICAgIEZldWVyd2VociAoc2ljaCBoaWVyIHRvdGFsIHJhdXNoYWx0ZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWwgd2FzIGFsbGdlbWVpbmVzIDotKSAoTG9jbywgMTAuIE1haSAxOTk3LCAxODozNTo0OSk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODYzMjgyMDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMDkwNjM5CkluIE15IEh1bWJsZSBPcGluaW9uID0KICBNZWluZXIgKGJlc2NoZWlkZW5lbikgTWVpbnVuZyBuYWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWwgd2FzIGFsbGdlbWVpbmVzIDotKSAoQWNyaW1vbiwgMTAuIE1haSAxOTk3LCAxODozNTo1OSk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODYzMjgyMDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMDkwNjM5CiJJbiBteSBodW1ibGUgb3BpbmlvbiIKYmVkZXV0ZXQ6CiJJbiBtZWluZXIgdW5tYXN6Z2VibGljaGVuIE1laW51bmciCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIgbWFjaHQgc2VpbmUgTk5OLVBmbGljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtYWwgd2FzIGFsbGdlbWVpbmVzIDotKSAoQW5hdG9sLCAxMC4gTWFpIDE5OTcsIDE4OjM2OjE1KToKfiMhIHJuPUFjcmltb24gcnQ9ODYzMjgyMTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMDkwNjM5CkltaG8gd2Fyc3QgRHUgenUgbGFuZ3NhbSwgQWNyaW1vbiA7LSkKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmltbSBkaWUgTVBBIG5pY2h0IGVybnN0IChNdXJrZXMsIDExLiBNYWkgMTk5NywgMDE6NTc6NTkpOgpBbHNvLApOYWNoZGVtIGljaCBkZW4gQXJ0aWtlbCB2b24gQmlibyBnZWxlc2VuIGhhYmUsIGRlciBuaWNodCB2aWVsIGFuZGVycyB3YXIgYWxzCnZpZWxlIEFydGlrZWwgZGF2b3I6Ck5pbW10IGRpZSBNUEEgZG9jaCBuaWNodCBpbW1lciBzbyBlcm5zdCEKTWVpbmVyIEVyZmFocnVuZyBuYWNoLCBhbHMgZmxlaXNzaWdlciBNUEEtTGVzZXIsIGlzdCBhdWNoIGRpZSBNUEEgbnVyIGVpbgprbGVpbmVyIFRlaWwgZGVzIE1vcmdlbkdyYXVlbnMsIG5pY2h0cyB3YXMgaGllciBzbyBoZWlzcyAnZGlza3V0aWVydCcgd29yZCwKaXN0IHdpcmtsaWNoIGltICdub3JtYWxlbicgTW9yZ2VuR3JhdWVuIHdpcmtsaWNoIGRhcyBUaGVtYS4gRGllIGltbWVyIHdpZWRlcgpiZXNjaHdvZXJ0ZSBzY2hsZWNodGUgU3RpbW11bmcgaW0gTUcgZ2lidCBlcyB3aXJrbGljaCBudXIgaW4gZGVyIE1QQS4gVW50ZXIKZGVuIHNwaWVsZXJuLCB1bnRlciBkZW4gTWFnaWVybiwgdW50ZXIgZGVuIFNlaGVybiBoYXQgZGllcyBhbGxlcyBkb2NoIG51ciBlaW5lCnVudGVyZ2VvcmRuZXRlIEJlZGV1dHVuZy4gRGVubm4gZGllIG1laXN0ZW4sIGRpZSBoaWVyIGltIE1HIHNpbmQsIGhhYmVuIGF1Y2gKaWhyZW4gU3Bhc3MgaGllci4gCkxhc3N0IEV1Y2ggRXVyZW4gU3Bhc3MgZG9jaCBuaWNodCBkdXJjaCBkaWUgaW1tZXJnbGVpY2hlbiBtaWVzZXBldHJpZ2VuCkFydGlrZWwgaW4gZGVyIE1QQSB2ZXJkZXJiZW4hIExhY2h0IHVlYmVyIEFjcmltb24sIGFtdWVzaWVydCBFdWNoIHVlYmVyCkdyaW1tYm9ybiwgZnJldXQgRXVjaCB1ZWJlciBIYXRlJ3MgKHRlaWx3ZWlzZSBoYXJ0ZW4pIEFydGlrZWwsIG51ciBuZWhtdCBkYXMKYWxsZXMgZG9jaCBiZWltIGJlc3RlbiBXaWxsZW4gbmljaHQgZXJuc3QhClNjaGFsdGV0IGRlbiBBbGxnZW1laW4tS2FuYWwgYWIgbGVzdCBkaWUgTVBBIG51ciB6dSBFdXJlbSBWZXJnbnVlZ2VuLCB1bmQgZGVyClNwaWVsc3Bhc3Mgd2lyZCBFdWNoIGF1ZiBld2lnIGVyaGFsdGVuIGJsZWliZW4uCgpNdXNzdGUgamV0enQgZWluZmFjaCBtYWwgc2VpbiwKCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJnbGJhcmdsIChMdWcsIDExLiBNYWkgMTk5NywgMDc6MTU6MjUpOgpNb2luLAoKMjAwIEFydGlrZWwgaW4gQWxsZ2VtZWluIHNwYWV0ZXI6CgpPcmt0b2V0ZXJzIEdlaGV1bGUgbmVydnQgbWljaAoKQm9pbmcgaGF0IGRhcyBsZXR6dGUgV29ydAoKQWNyaW1vbiBtYWwgUmVjaHQgKEFuYXJjaGllKQoKTmFpcm9sZiBpc3QgZ2Vsb2VzY2h0CgpXYW5uIGdpYnRzIGRlbm4gbnVuIFRhcmtvIFJldWIgd2llZGVyPwoKSWNoIGZ1ZWhsZSBtaWNoIGlyZ2VuZHdpZSBhbHQKCldlaXRlcnNwaWVsZW4gdW5kIGFsbGVzIGlnbm9yaWVyZW4gaGlsZnQgZ2FyYW50aWVydAoKT3dlaWFoIQoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJnbGJhcmdsIChLZXksIDExLiBNYWkgMTk5NywgMDc6NDg6MTcpOgp+IyEgcm49THVnIHJ0PTg2MzMyNzcyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzMyNzcyNQpKb2pvIEx1Z2VybApTZWkgbmV0IHNvIGRlcHJlc3Npdiwgc3BpZWwgdW5kIFJ1aGUgOyk9CktleSBzYWd0OiBHdXRlbiBNb3JnYWVobiA7KT0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJnbGJhcmdsIChNb3Jnb25pYSwgMTEuIE1haSAxOTk3LCAwNzo1MDoxMyk6Cn4jISBybj1LZXkgcnQ9ODYzMzI5Njk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMzI3NzI1CklzdCBMdWcgc2Nob24gd2llZGVyIGF1ZiBkZXIgUmV0dXJudGFzdGUgZWluZ2VzY2hsYWZlbj8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmltbSBkaWUgTVBBIG5pY2h0IGVybnN0IChGZXVlcndlaHIsIDExLiBNYWkgMTk5NywgMTI6NDc6MTQpOgp+IyEgcm49TXVya2VzIHJ0PTg2MzMwODY3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzMwODY3OQpEZW0gc3RpbW1lIGljaCBhYnNvbHV0IHVuZCBpbiB2b2xsZW0gVW1mYW5nIHp1LgoKVW5kIGRlciBBcnRpa2VsIG11c3N0ZSB3aXJrbGljaCBtYWwgc2Vpbi4KCiAgICAgRmV1ZXJ3ZWhyIChiZWdlaXN0ZXJ0ZXIgTVBBLUxlc2VyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pbW0gZGllIE1QQSBuaWNodCBlcm5zdCAoR3JpbW1ib3JuLCAxMS4gTWFpIDE5OTcsIDE1OjQ5OjI3KToKfiMhIHJuPU11cmtlcyBydD04NjMzMDg2Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjMzMDg2NzkKQW11ZXNpZXJlbj8gVWViZXIgbWljaD8gSmEgZGVua3N0IER1IGRlbm4sIGljaCB3dWVyZGUgaGllciBlaW5mYWNoIG51ciBzbyBkZW4KQ2xvd24gc3BpZWxlbj8gVW5kIG5vY2ggZGF6dSBmdWVyIERpY2g/IApJY2ggYmluIHdpcmtsaWNoIG1laHIgYWxzIGVudHRhZXVzY2h0IHp1IGVyZmFocmVuLCBkYXNzIG1laW5lIGVybnN0Z2VtZWludGVuLAplaHJsaWNoZW4gVmVyc3VjaGUsIGhpZXIgd2VuaWdzdGVucyBpbSBLbGVpbmVuIGRpZSBXZWx0IHp1IHZlcmJlc3Nlcm4sIHNvIG1pdApGdWVzc2VuIGdldHJldGVuIHdlcmRlbi4gRGFoZXIgZ2lsdCBqZXR6dDogS2VpbmUgR25hZGUgbWVoci4gV2VuIGljaCBkYWJlaQplcndpc2NoZSwgc2ljaCB1ZWJlciBtaWNoIHp1IGFtdWVzaWVyZW4sIGRlbiB3ZXJkZSBpY2ggYmVpIG1laW5lbSBncm9zc2VuCkJydWRlciB2ZXJwZXR6ZW4uIERlciBrb21tdCBkYW5uIG1pdCBkZXIgTW9wcGV0dGtldHQsIGRhIHNlaHQgaWhyLCB3YXMgaWhyCmRhdm9uIGhhYnQuCgpBdXNzZXJkZW0gbmVydnQgZGVyIFJlZ2VuIGhpZXIuIE1laW4gVGlwOiBEYXMgQmVzdGUgaW4gTXVlbnN0ZXIgaXN0IGRlZmluaXRpdgpuaWNodCBkYXMgV2V0dGVyLCBkYSB3aXJkIG1hbiBqYSBkZXByZXNzaXYuIEtvZW5udGUgImRpZSBTdGltbXVuZyIgaGllciBpbSBNRwp2aWVsbGVpY2h0IGVya2xhZXJlbiwga2FubiBtYW4gZGVuIFJlY2huZXIgbmljaHQgd29hbmRlcnMgYXVmc3RlbGxlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaW1tIGRpZSBNUEEgbmljaHQgZXJuc3QgKE11cmtlcywgMTIuIE1haSAxOTk3LCAwOTowNToxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODYzMzU4NTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMzA4Njc5CkxpZWJlciBHcmltbWJvcm4sCm5hdHVlcmxpY2ggZ2xhdWJlIGljaCBuaWNodCwgZGFzcyBEdSBudXIgZnVlciBtaWNoIGRlbiBDbG93biBzcGllbHN0IC0tIGRhcwp3YWVyZSBqYSBhdWNoIHp1IHNjaG9lbiB1bSB3YWhyIHp1IHNlaW4hIEljaCBmcmFnZSBtaWNoIGRpZSBnYW56ZSBaZWl0LCBvYiBtYW4Kc293YXMgd2llIERpY2ggbmlodCBlaW5mYWNoIGFscyBOUEMgaW1wbGVtZW50aWVyZW4ga29lbm50ZT8gRWluIFNjaHVzcwpIdW1hbmlzbW51cywgZWluIGJpc3NjaGVuIEFsbGdlbWVpbndpc3NlbiBkYXMgZ2FuemUgZ3V0IGdlbWl4dCBtaXQgZGVuIGFuZGVyZW4KQXJ0aWtlbG4gYXVzIGRlciBNUEEgLi4uIEhtLCBtdXNzIGljaCBtYWwgSGF0ZSBmcmFnZW4sIG9iIGRlciBkYXMKaW1wbGVtZW50aWVyZW4ga2FubiA6KQpNdXJrZXMgKEFjaCBHcmltbWJvcm4sIHZlcmxlZ2UgZGVuIEFydGlrZWwgZG9jaCBiaXR0ZSBuYWNoICdFbnR3aWNrbHVuZycgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5pbW0gZGllIE1QQSBuaWNodCBlcm5zdCAoQWNyaW1vbiwgMTIuIE1haSAxOTk3LCAwOToxOToyMik6Cn4jISBybj1NdXJrZXMgcnQ9ODYzNDIwNzE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzMzA4Njc5CgoqaG1wZiouCkF1Y2ggaWNoIGhhYmUgbWVpbmUgQXJ0aWtlbCB2b2xsa29tbWVuIGVybnN0IGdlbWVpbnQuCkljaCB2ZXJ0cmV0ZSB6d2FyIHZlcmdsZWljaHN3ZWlzZSBvZnQgZWluZSBnYW56IGFuZGVyZSBNZWludW5nIGFscwpkaWUgYnJlaXRlIE1hc3NlLCBhYmVyIG1laW5lIEFydGlrZWwgc2luZCBkdXJjaGF1cyBlcm5zdCBnZW1laW50IHVuZAprZWluZXN3ZWdzIHp1bSBMYWNoZW4gaW50ZW5kaWVydC4KSW5zb2Zlcm4gZnVlaGxlIGljaCBhdWNoIG1pdCBHcmltbWJvcm4gbWl0IHVuZCBtb2VjaHRlIGlobiBlaW4gd2VuaWcKdW50ZXJzdHVldHplbi4gU2VpbmUgQXJ0aWtlbCBzaW5kIGViZW5mYWxscyBlcm5zdGdlbWVpbnQuCgpJaG4gZGFubiBpbiBlaW5lIFNjaHVibGFkZSBhYnNjaGllYmVuIHp1IHdvbGxlbiwgaGFsdGUgaWNoIGZ1ZXIgZWluZQphdXNnZW1hY2h0ZSBGcmVjaGhlaXQuCgpXZW5uIGR1IHNhZ3N0LCBEdSB3aWxsc3QgZGllIE1QQSBpZ25vcmllcmVuLCBkYW5uIHR1IGRhcywgYWJlciBncmVpZgpoaWVyIG5pY2h0IGFuZGVyZSBMZXV0ZSBhbiEKVmVyZ2lzeiBuaWNodCwgZGFzeiBoaW50ZXIgZGVuIE5hbWVuIGF1Y2ggUkwtTWVuc2NoZW4gc3RlY2tlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmltbSBkaWUgTVBBIG5pY2h0IGVybnN0IChNdXJrZXMsIDEyLiBNYWkgMTk5NywgMDk6Mzk6MjgpOgp+IyEgcm49QWNyaW1vbiBydD04NjM0MjE1NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjMzMDg2NzkKSGFzdCBEdSBkYXMgKioqSXJvbmllIG9mZioqKiB2ZXJnZXNzZW4/Ck11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmltbSBkaWUgTVBBIG5pY2h0IGVybnN0IChDYXVubywgMTIuIE1haSAxOTk3LCAxMjo0NDowNyk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MzQyMTU2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzMwODY3OQpXZW5uIGRpZSBBcnRpa2VsIG5pY2h0ICd6dW0gTGFjaGVuIGludGVuZGllcnQnIHNpbmQsIHNvbGx0ZXN0IGR1IHZpZWxsZWljaHQKYXVmIGRpZSBWZXJ3ZW5kdW5nIGViZW5zb2xjaGVyIEZyZW1kd29ydGUgdmVyemljaHRlbi4KTWljaCBwYWNrdCdzIGplZGVzbWFsLCB3ZW5uIGljaCBzb3dhcyBsZXNlLCBkZW5uIGljaCBkZW5rZSBtaXIsIGVudHdlZGVyIGhhdApkZXIgQXV0b3Iga2VpbmVuIGJlc3NlcmVuIEVpbmZhbGwsIGVzIGF1c3p1ZHJ1ZWNrZW4sIG9kZXIgZXIgd2lsbCBzZWluClVud2lzc2VuIGthc2NoaWVyZW4gLi4uCk5hamEsIGljaCBoYXR0ZSBhdWNoIG5pY2h0IGRpZSBaZWl0LCBtaWNoIGt1ZXJ6ZXIgenUgZmFzc2VuLgoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5pbW0gZGllIE1QQSBuaWNodCBlcm5zdCAoR3JpbW1ib3JuLCAxMi4gTWFpIDE5OTcsIDEyOjQ3OjQ3KToKfiMhIHJuPUNhdW5vIHJ0PTg2MzQzMzg0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzMwODY3OQpOZWluLCBtZWlzdCBoYXQgbWFuIGRhcyBHZWZ1ZWhsLCBlaW4gQXV0b3Igd2lsbCBzZWluIFVud2lzc2VuIGJlc29uZGVycwpoZXJhdXNrZWhyZW4uIEljaCBtZWluZSwgYXVzIFZlcnNlaGVuIGthbm4gbWFuIHNvd2FzIGRvY2ggZ2FyIG5pY2h0IG1laHIKbWFjaGVuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1hbCB3YXMgYWxsZ2VtZWluZXMgOi0pIChIZWx2YSwgMTIuIE1haSAxOTk3LCAxNDoyNzowMyk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2MzI4MjE1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzA5MDYzOQoiSW4gbWVpbmVyIC4uLiBNZWludW5nIj8gSW4uLi5NZWludW5nLi4uPz8/Pz8/IE5pY2h0cyBnZWdlbiAxOjEKVWViZXJzZXR6dW5nZW4sIGFiZXIgZGFzIHR1dCB3aXJrbGljaCB3ZWgsIGFjcmltb24hIEltaG8sCmhlbHZhIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQm9lc2UgTWFnaWVydGVzdGlzIChHZXJyaSwgMTIuIE1haSAxOTk3LCAxNjowMjo0Myk6CkljaCB3ZWlzcyBqYSBuaWNoLCBvYiBkYXMgaGllciB1ZWJsaWNoIGlzdCwgd29sbHRlIGFiZXIgbnVyIG1hbCBzYWdlbiwgZGFzcyBlcwptaWNoIGVjaHQgYW5waXNzdCwgd2VubiBtaXIgZWluIG1hZ2llcnRlc3RpIDMgbWFsIGhpbnRlcmVpbmFuZGVyIG1laW4gaGF1c3RpZXIKa2lsbHQuIFNpbmQgd2lyIGV0d2EgZnJlaXdpbGQsIGJsb3NzIHdlaWwgbWFuIGVyc3Qgc2VpdCAxIG1vbmF0IG11ZGRlZCA/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCAoR3VuZHVyLCAxMi4gTWFpIDE5OTcsIDE2OjM3OjI3KToKQWNodHVuZyEKRGllcyBpc3QgZWluIGF1dG9tYXRpc2NoIGVyemV1Z3RlciBBcnRpa2VsLgpFciB3dXJkZSBleHRyYSBlcnpldWd0IGRhbWl0IEdyaW1tYm9ybiBpaG4gbmFjaCBTY2htYXJybiB2ZXJsZWdlbiBrYW5uLgpEYXMgR3VuZHVyIGFscyBBdXRvciBnZW5hbm50IHdpcmQsIGlzdCByZWluIHp1ZmFlbGxpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcnRpa2VsIChEaWVkZXIsIDEyLiBNYWkgMTk5NywgMTY6Mzg6MDkpOgp+IyEgcm49R3VuZHVyIHJ0PTg2MzQ0Nzg0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzQ0Nzg0NwpqbywgR3JpbW1pIHNjaGVpbnQgZXMgU3Bhc3MgenUgbWFjaGVuLCBBcnRpa2VsIHp1IHZlcmxlZ2VuLCBzb2Rhc3MgamVkZXIgZGFzClpldWcgendlaW1hbCBsZXNlbiBkYXJmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFydGlrZWwgKEdyaW1tYm9ybiwgMTIuIE1haSAxOTk3LCAxNjo0NTo0Nik6Cn4jISBybj1EaWVkZXIgcnQ9ODYzNDQ3ODg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzNDQ3ODQ3Ck5vZSwgZXMgIm11ZXNzZW4iIG51ciBkaWVqZW5pZ2VuIHNvbGNoZSBBcnRpa2VsIG1laHJmYWNoIGxlc2VuLCBkaWUgc2ljaCB3aWUKZGllIGh1bmdyaWdlbiBXb2VsZmUgYXVmIGplZGVuIG5ldWVuIEFydGlrZWwgc3R1ZXJ6ZW4uCkRpZSB1bmdlemFlaGx0ZW4gTWl0bXVkZGVyLCBkaWUgbmljaHQgc3RhZW5kaWcgYXVmIGRlciBKYWdkIG5hY2ggQXJ0aWtlbG4Kc29uZCwgd2VpbCBzaWUgdmllbGxlaWNodCBnYXIgbmljaHQgZWluZ2Vsb2dndCBzaW5kLCBoYWJlbiBkYW5uIHNwYWV0ZXIgZGFzClZlcmdudWVnZW4sIGRpZSBBcnRpa2VsIGluIFJ1YnJpa2VuIHZvcnp1ZmluZGVuLCBkaWUgZWluIGtsZWluZXMgYmlzY2hlbgpwYXNzZW5kZXIgc2luZC4gVW5kIHNpZSBnYXIgbmljaHQgbGVzZW4genUgbXVlc3Nlbiwgd2VubiBkaWUgUnVicmlrIHNpZSBuaWNodAppbnRlcmVzc2llcnQgdW5kIHNpZSBzaWUgYWJiZXN0ZWxsdCBoYWJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBkZW5rdCBoYWx0IGF1Y2ggYW4gQWJ3ZXNlbmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcnRpa2VsIChEaWVkZXIsIDEyLiBNYWkgMTk5NywgMTY6NDk6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MzQ0ODM0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzQ0Nzg0NwppY2ggYmluIHdlZGVyIHdvZWxmaXNjaCBodW5ncmlnIG5vY2ggYXJ0aWtlbC0gb2RlciBnYXIgTVBBLWdlaWwsIGRhcyByZW50aWVydApzaWNoIHp1ciBaZWl0IHNvd2llc28gbmljaHQuIEFiZXIgd2VubiBpY2ggbmViZW5oZXIgYXJiZWl0ZSBvZGVyIHNvbnN0d2llCm5pY2h0IGdyYWQgaW0gTVVEIGJpbiBsZXNlIGljaCBlYmVuIHp1ciBBYndlY2hzbHVuZyBnbGVpY2ggYWxsZXMsIHdhcyBhbmtvbW10CjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcnRpa2VsIChBbmF0b2wsIDEyLiBNYWkgMTk5NywgMTY6NTQ6MTkpOgp+IyEgcm49RGllZGVyIHJ0PTg2MzQ0ODU5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzQ0Nzg0NwovZGVmIC1tcmVnZXhwIC10Il5SdWJyaWsgKFswLTldKik6IChbYS16XSopLCBBcnRpa2VsOiAoWzAtOV0qKSB2b24gKFswLTldKikkIgp6ZWl0dW5nc3RyZz1cCiAgIC9pZiAoJVAyIX4ic2NobWFycm4iKSBcCiAgICAgICAvZWNobyAtYWggV2FybnVuZzogTW9lZ2xpY2hlcndlaXNlIGZhbHNjaCBnZXBvc3RldGVyIEFydGlrZWwhJTtcCiAgICAgICAvaW5wdXQgdmVybGVnZSBhcnRpa2VsICVQMyBuYWNoIHNjaG1hcnJuJTtcCiAgIC9lbmRpZgoKVmllbCBTcGFzcywgR3JpbW1ib3JuIDstKQpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBcnRpa2VsIChSYW50YW5wbGFuLCAxMi4gTWFpIDE5OTcsIDE2OjU0OjQ3KToKfiMhIHJuPUFuYXRvbCBydD04NjM0NDg4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjM0NDc4NDcKSW50ZWxla3R1ZWxsZSBTY2hlaXNzZSwgQW5hdG9sLi4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFydGlrZWwgKEJsb29keWhhcnJ5LCAxMy4gTWFpIDE5OTcsIDA4OjUwOjA2KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODYzNDQ4ODg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzNDQ3ODQ3CkFuYXRvbHMgcG9zdGluZyBoYXQgenVtaW5kZXN0IEluZm9ybWF0aW9uc3dlcnQhCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVyIEluZm9ybWF0aW9uIChHcmltbWJvcm4sIDE0LiBNYWkgMTk5NywgMTY6MzA6NDcpOgpEYSBkYXMgTUcgaW4gZWluZXIgTWludXRlIHJlYm9vdGV0LCBoaWVyIGRlciBHcnVuZDoKRXMgd2lyZCBkZXIgU3BlaWNoZXIgZ2V3ZWNoc2VsdC4gS2FubiBlaW4gcGFhciBNaW51dGVuIGRhdWVybi4gOy0pCgpCaXMgZ2xlaWNoISAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290cyAoRGllZGVyLCAxNC4gTWFpIDE5OTcsIDE4OjE4OjQzKToKSGkhCgpBbHNvLCBuYWNoZGVtIGhpZXIgaW4gbGV0enRlciBaZWl0IHppZW1saWNoIHZpZWwgYXVmIGVpbmlnZW4gTWFncyBoZXJ1bWdlaGFja3QKd3VyZGUgbXVzcyBpY2ggZG9jaCBtYWwgZWluIExvYiBhdXNzcHJlY2hlbjoKCkRhcyBNVUQgbGFldWZ0IG1laW5lciBNZWludW5nIG5hY2ggd2lya2xpY2ggYW5zdGFlbmRpZyBzY2huZWxsIHVuZCB2b3IgYWxsZW0Kc2Nob24gZmFzdCB3b2NoZW5sYW5nIHJlYm9vdGZyZWkuLi4gOikpCgpJY2gga2FubiBtaWNoIGRhIGFuIFplaXRlbiBlcmlubmVybiB3byBmYXN0IGplZGUgaGFsYmUgU3R1bmRlIGVpbiBDcmFzaC9SZWJvb3QKd2FyLgoKV29sbHRlIGRhcyBudXIgbWFsIGxvYmVuZCBlcndhZWhuZW4uLi4KCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdHMgKFRlZGR5LCAxNC4gTWFpIDE5OTcsIDIyOjU5OjQwKToKfiMhIHJuPURpZWRlciBydD04NjM2MjY3MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjM2MjY3MjMKRGVtIGthbm4gaWNoIG1pY2ggbnVyIGFuc2NobGllc3NlbiEKClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdXBlcmlkZWUhIChMdWcsIDE1LiBNYWkgMTk5NywgMDE6Mjg6MDUpOgpNb2luLAoKd2llIHdhZXJlIGVzLCB3ZW5uIGFsbGUgQVAgdW5kIEJlbG9obnVuZ2VuIGF1cyBRdWVzdGVuIGFiZ2V6b2dlbiB3ZXJkZW4sIGRpZQpzaWNoIHNjcmlwdGVuIGxhc3Nlbj8gRGllc2UgU3VwZXJpZGVlIGthbSBtaXIgZ2VyYWRlIGJlaW0gTGVzZW4gZGVyIE1QQS4gV2FlcmUKZG9jaCBnYW56IHRvbGwgdW5kIHN1cGVyZ2VyZWNodC4gVW5kIHdlbm5zIFVuc2NodWxkaWdlIHRyaWZmZnQ6IElyZ2VuZHdhcwpoYWJlbiBkaWUgYmVzdGltbXQgYXVzZ2VmcmVzc2VuLiBBY2hqYSwgdW5kIGRhbm4gbm9jaCBhbGxlIE1hZ3Mgd2VnLCBkaWUgc2ljaApqZW1hbmxzIHVtIGVpbmUgU3BpZWxlcmZyYWdlIGdla3VlbW1lcnQgaGFiZW4sIGRlbm4gZGEgbGllZ3QgZGVyIFZlcmRhY2h0IGF1ZgpTcGllbGVyaGlsZmUgbmFoIQoKSGV1dGUgbWFsIGtvbnN0cnVrdGl2IG1pdGRlbmtlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VwZXJpZGVlISAoRnl0LCAxNS4gTWFpIDE5OTcsIDEwOjI2OjMyKToKfiMhIHJuPUx1ZyBydD04NjM2NTI0ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjM2NTI0ODUKQWxsZSBRdWVzdGVuIGxhc3NlbiBzaWNoIHNjcmlwdGVuLiBOdXIgaXN0IG1hbmNobWFsIGRlciBBdWZ3YW5kIG5pY2h0CnZlcnRyZXRiYXIuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VwZXJpZGVlISAoQXN0YXIsIDE1LiBNYWkgMTk5NywgMTI6NDQ6NDgpOgp+IyEgcm49THVnIHJ0PTg2MzY1MjQ4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2MzY1MjQ4NQoqSXJvbmllIG9mZiogPz8/CgpBc3RhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdXBlcmlkZWUhIChMZWZ0eSwgMTUuIE1haSAxOTk3LCAxOTo0NTowOCk6Cn4jISBybj1GeXQgcnQ9ODYzNjg0NzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzNjUyNDg1CkhtLCBzY2hhZmZlbiB3aXIgYWxsZSBxdWVzdGVuIGFiLCB3dWVyZGUgaWNoIGd1dCBmaW5kZW4uCgpMZWZ0eSwgd2VubiBuaWNodCBpZGxlLCBkYW5uIGZvcnNjaGVuZGVyIE1ldHpsZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVybGFuZ2VyIEJlcmd0cmVmZmVuIChTY2h3aXBzLCAxNy4gTWFpIDE5OTcsIDEyOjQxOjEzKToKQW4gRnJlaXRhZyBmYW5kIGRlciBFcmxhbmdlciBBdXNzZXJvcmRlbnRsaWNoZSBCZXJnc3RhbW10aXNjaCBzdGF0dC4KT2J3b2hsIHp1bmFlY2hzdCBuaWNodCBnZXBsYW50IGFydGV0ZSBkZXIgU3RhbW10aXNjaCBpbiBlaW5lIHNwYW5uZW5kZQpSTC1RdWVzdCBhdXM6IEZpbmRlIEtleSEKCldlciBkYXMgYWxsZXMgYmlzIGlucyBEZXRhaWwgbmFjaGxlc2VuIG1vZWNodGUsIGRlciBrYW5uIGRhcyBpbiBkZXIKUnVicmlrICd0cmVmZmVuJyB0dW4uIFZvcnNpY2h0IGRhcyBpc3QgZWluIHppZW1saWNoZXIgTW9uc3RlcmFydGlrZWwgOykKCl1bQWxsZ2VtZWluOkRlbnRpXSBhcmdsLCBzY2hsaXBzCltBbGxnZW1laW46RGVudGldIHNvIGVpbiBtb25zdGVyYXJ0aWtlbCA7KQoKV2VyIGdlbmF1IGF1ZmdlcGFzc3QgaGF0IC0gaW0gSGVhZGVyIHN0ZWh0IGRlciBOYW1lIHZvbiBtZWluZW4gWndlaXRpZQpTY2h3aXBzIC0gYWxzIFNjaGxpcHMgaGF0cyBtaWNoIGxlaWRlciBpbW1lciBzb2ZvcnQgYXVzIGRlbSBFZGl0cm8gcmF1cy0KZ2VoYXVuIC0gd2FydW0gd2Vpc3MgaWNoIGF1Y2ggbmV0IDooCkZlaGxlcm1lbGR1bmc6IE9mZmVuc2ljaHRsaWNoIHNjaHJlaWJ0IGhpZXIgc2Nob24gamVtYW5kIGRyYW4gLSBrYW5uCm5hdHVlcmxpY2ggc2Vpbiwgd2VpbCBpY2ggZGFzIGxldHp0ZSBtYWwgYXVzIGRlbSBNRyBnZWZsb2dlbiBiaW4gYWxzCmljaCBpbSBFZGl0b3Igd2VyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVybGFuZ2VyIEJlcmd0cmVmZmVuIChTY2hsaXBzLCAxNy4gTWFpIDE5OTcsIDEzOjIyOjQyKToKfiMhIHJuPVNjaHdpcHMgcnQ9ODYzODY1NjczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzODY1NjczCk9raSAtIGRpZSBQcm9ibGVtZSBtaXQgZGVtIEVkaXRvciBzaW5kIGJlc2VpdGlndCAtIGRhbmsgTWFoYXRtYS4KClNjaGxpcHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJsYW5nZXIgQmVyZ3RyZWZmZW4gKFdvb2R5LCAxNy4gTWFpIDE5OTcsIDE1OjQ5OjMzKToKfiMhIHJuPVNjaGxpcHMgcnQ9ODYzODY4MTYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODYzODY1NjczCkZ1ZXIgZGVuIG1pdGxlc2VuZGVuIFJlc3QsIGRlciBudXIgbGllc3QsIGRhc3MgZGFzIFByb2JsZW0gYmVob2Jlbgppc3QsIGFiZXIgbmljaHQgd2Vpc3MsIHdpZSAodW5kIHNlbGJlciBldnRsLiBtYWwgaW4gZGllc2UgU2l0dWF0aW9uCmdlcmFldCk6CgpNaXQgIH5yICBzb2xsdGUgbWFuIGVpbmVuIGFuZ2VmYW5nZW5lbiBBcnRpa2VsIHdlaXRlcnNjaHJlaWJlbgprb2VubmVuLCB3ZW5ucyBlaW5lbiBhdXMgZGVyIExlaXR1bmcgZ2V3b3JmZW4gaGF0Li4uCgp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXdzZ3JvdXBzIChHYXJmaWVsZCwgMTkuIE1haSAxOTk3LCAxNTowMzo1NSk6CgpCZWkgZGVtIFZlcnN1Y2gsIGVpbiBwYWFyIE5ld3Nncm91cHMgbWl0IEhpbGZlIHZvbiBQaW5lCnp1IHN1YnNjcmliZW4sIHdhZXIgaWNoIGdlc3Rlcm4gYmVpbmFoZSBhdXNnZXJhc3RldCwgLQp1bmQgVGFyYWdvbiwgZGVyIHZlcnN1Y2h0IGhhdCwgbWlyIHp1IGhlbGZlbiAoREFOS0UhKSwgbWl0IG1pci4KCldlciB2b24gcGluZSBzb3dpZXNvIGtlaW5lIEFobnVuZyBoYXQsIGthbm4gamV0enQgcnVoaWcKZGVuIG5hZWNoc3RlbiBBcnRpa2VsIGxlc2VuLgpXZXIgc2ljaCBhbGxlcmRpbmdzIGF1c2tlbm50LCBkZW0gd2FlcmUgaWNoIGRhbmtiYXIsIHdlbm4KZXIgc2ljaCBtYWwgYW5ob2VydCwgd2FzIHBhc3NpZXJ0IGlzdCB1bmQgbWlyIGV2ZW50dWVsbCBtYWlsdCwKd2VubiBlciBuZSBJZGVlIGhhdCAoaWNoIGxlc2UgbmljaHQgc28gb2Z0IFplaXR1bmcsIGRlc2hhbGIKaXN0IG1haWxlbiBzaWNoZXJlciEpCgpJY2ggaGFiIGVpbmVuIG5udHAtU2VydmVyIGltIFNldHVwIGFuZ2VnZWJlbi4KKGVpZ2VudGxpY2ggaGFiIGljaCBtZWhyZXJlIGF1c3Byb2JpZXJ0LCBhYmVyIGRhcmFuIGthbm5zCmVpZ2VudGxpY2ggbmljaHQgbGllZ2VuLCB3ZWlsIGdlbmF1IGRpZXNlIHNlcnZlciBiZWkgYW5kZXJlbgpmdW5rdGlvbmllcmVuLikKRGFubiBhbHMgTmV3cyBjb2xsZWN0aW9uIE5ld3MgKltdCkluIGRlciBGb2xkZXIgTGlzdCBoYWIgaWNoIGRhbm4gZGVuIEFic2Nobml0dCBmdWVyCk5ld3Nncm91cHMuIFdlbm4gaWNoIGEgZnVlciBTdWJzY3JpYmUgZHJ1ZWNrZSwga29tbXQKcGVybWFuZW50ICJObyBncm91cHMgdG8gc2VsZWN0IGZyb20iLgpVbmQgaWNoIHZlcnN0ZWggenVtIERvbm5lcndldHRlciBub2NobWFsIHdpcmtsaWNoCm5pY2h0IHdpZXNvLiAKRWluZSBJZGVlIGhhYiBpY2ggbm9jaCwgd29yYW4gZXMgbGllZ2VuIGtvZW5udGUsIAphYmVyIGljaCBnbGF1YnMgbGFuZ3NhbSBhdWNoIG5pY2h0IG1laHIuCkljaCBoYWIgaW4gZGVyIG9iZXJzdGVuIEFidGVpbHVuZzogSW5jb21pbmcgRm9sZGVycwplaW5lbiBPcmRuZXIgbmFtZW5zIG5ld3MgYW5nZWxlZ3QuIERpZXNlbiBoYWIgaWNoCnNwYWV0ZXIgenUgbG9lc2NoZW4gdmVyc3VjaHQuIERhcyBnaW5nIG5pY2h0LCBhbmdlYmxpY2guCkRhcyBFcmdlYm5pcyBpc3QsIGRhc3MgaW0gVmVyemVpY2huaXMga2VpbiBPcmRuZXIgbmFtZW5zCm5ld3MgbWVociBpc3QsIGRlciBhYmVyIHRyb3R6ZGVtIGluIGRlciBMaXN0ZSBpbm5lcmhhbGIKdm9uIHBpbmUgYW5nZXplaWd0IHdpcmQsIG5pY2h0IGdlbG9lc2NodCB1bmQgbmljaHQgZ2VvZWZmbmV0CndlcmRlbiBrYW5uLCB3ZWlsOiBGb2xkZXIgZG9lcyBub3QgZXhpc3QuCgpOdW5qYS4gT2IgZXMgd2FzIGRhbWl0IHp1IHR1biBoYXQgb2RlciBuaWNodC4KSWNoIHd1ZXJkZSB3aXJrbGljaCBnZXJuZSBOZXdzIGhhYmVuLCBhYmVyIGljaCB3ZWlzcyBpbQpNb21lbnQgZWluZmFjaCBuaWNodCwgd2FzIGljaCBmYWxzY2ggbWFjaGUuCgpCaXR0ZSwgYml0dGUhIFdlbm4gRHUgZWluZSBBaG51bmcgaGFzdCwgd2FzIGRhIGxvcwpzZWluIGtvZW5udGUsIG1haWxlIG1pciEhIQoKRGFua2UhCkdydXNzIHZvbiBHYXJmaWVsZAoqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXpoZWxwIChCb3R0b20sIDIwLiBNYWkgMTk5NywgMTc6NTU6MzYpOgoKRW50Z2VnZW4gZGVtIGFsbGdlbWVpbmVuIFRyZW5kIG1vZWNodGUgaWNoIGFuIGRpZXNlciBTdGVsbGUgZGVyIE1hZ2llcnNjaGFmdAppbSBBbGxnZW1laW5lbiB1bmQgaW5zYmVzb25kZXJlIFBhbXBlcnMgbWVpbmVuIHRpZWZlbXBmdW5kZW5lbiBEYW5rCnVlYmVybWl0dGVsbi4KREFzIE1vcmdlbkdyYXVlbiB3YXIgc2Nod2VyIGJ1Z2d5LCBtZWluIHVlYmVyIGFsbGVzIGdlbGllYnRlciBUZWRkeSBpcmdlbmR3aWUKdm9lbGxpZyB2ZXJzdG9lcnQgdW5kIGljaCBkYXJvYiB0aWVmIHVuZ2x1ZWNrbGljaCAtIGxhZyBlcyBudW4gYW0gR2FtZWRyaXZlcgpvZGVyIGFuIGVpbmVyIFZlcnN0aW1tdW5nIG1laW5lcyBHZW11ZXRzPyAtIEVnYWwhIFBhbXBlcnMgbmFobSBzaWNoIG1laW5lcwpQcm9ibGVtIHMgc29mb3J0IGFuIHVuZCBjcmVhdGV0ZSBtaXIgZ2Vrb25udCBlaW5lbiBuZXVlbiwgd3VuZGVyYmFyCmZsYXVzY2hpZ2VuIFRlZGR5IG1pdCBMZW5vcmdlcnVjaCAoenVyIEluZm9ybWF0aW9uOiBEdWZ0bm90ZQoiRnJ1ZWhsaW5nc2ZyaXNjaGUiKSwgbmFjaGRlbSBlciB6dXZvciBzZWluZSB1ZWJlcnJhZ2VuZGUgS2VubnRuaXMgZGVzCkRlc3RydWN0ZW5zIHVlYmVyemV1Z2VuZCBkZW1vbnN0cmllcnQgaGF0dGUuCkljaCBkYW5rZSBQYW1wZXJzIG5vY2htYWxzIGF1c2RydWVja2xpY2ggZnVlciBzZWluZSBwcm9tcHRlIEhpbGZlIHVuZCBzY2hsYWdlCmlobiBhdWZncnVuZCBzZWluZXIgc296aWFsZW4gS29tcGV0ZW56IGdlcGFhcnQgbWl0IHVlYmVyemV1Z2VuZGVyIEtlbm50bmlzIGRlcwpMUEMgenVtIG5ldWVuIEVSem1hZ2llciB2b3IuIApXZXIgbWl0IGRpZXNlbSBWb3JzY2hsYWcga29uZm9ybSBnZWh0LCBkZXIganViZWwgUGFtcGVycyB6dSB1bmQgcnVmZToKCiAgICAgIEhPU0lBTk5BIFBBTVBFUlMhCgpXZXIgYW5kZXJlciBNZWludW5nIGlzdCwgbW9lZ2Ugc2Nod2VpZ2VuIGZ1ZXIgamV0enQgdW5kIGFsbGUgRXdpZ2tlaXQhCgpCb3R0b20gLSBnZXJpbmdzdGVyIGRlciBEaWVuZXIgZGVzIExlbWJvbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXdzZ3JvdXBzIChKaW1kaWdyaXosIDIwLiBNYWkgMTk5NywgMTg6NTI6MjcpOgp+IyEgcm49R2FyZmllbGQgcnQ9ODY0MDQ3MDM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MDQ3MDM1CkhhbGxvIEdhcmZpZWxkLAoKaWNoIGtlbm4gbWljaCBtaXQgcGluZWxpY2ggendhciBuaWNodCBzb25kZXJsaWNoIGd1dAphdXMgKGhhYiBpaG4gd2VubiB1ZWJlcmhhdXB0IG51ciBmdWVyIG1haWwgYWJlciBuaWNodApmdWVyIG5ld3MgYmVudXR6dCksCmthbm4gRGlyIGFiZXIgaW1tZXJoaW4gZWluZW4gdGlwIGdlYmVuLgpOaW1tIG5pY2h0IHBpbmUgenVtIG5ld3NsZXNlbi4gTmltbSBsaWViZXIgZWluZW4gcmljaHRpZ2VuCm5ld3NyZWFkZXIsIHpCIHRpbiwgcm4sIG9kZXIgbm4uICh0aW4gaXN0IElNSE8gZGVyIGtvbWZvcnRhYmVsc3RlKQoKV2VubiBEdSB1bmJlZGluZ3QgcGluZSBiZW51dHplbiB3aWxsc3QvbXVzc3QsIApuaXggZnVlciB1bmd1dCwKCkNpYW8sCiBKaW0gRGlHcml6CiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXdzZ3JvdXBzIChRdWFzaW1vZG8sIDIwLiBNYWkgMTk5NywgMTk6MDY6MjgpOgp+IyEgcm49R2FyZmllbGQgcnQ9ODY0MDQ3MDM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MDQ3MDM1ClBpbmUgaGVpc3N0IHNvLCB3ZWlsIGVzIFBJTkVsaWNoIGlzdCwgb2J3b2hsIGltbWVyIG5vY2ggYmVzc2VyIGFscyBkZXIgSG9ycm9yCm9uIEVMTSBzdHJlZXQuLi4KClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgbmFjaGdlZnJhZ3QuLi4gKFRoYXNjbywgMjEuIE1haSAxOTk3LCAxNToxMjoyMyk6CkdydWVzcyBldWNoLCBpaHIgTGllYmVuISEKCkFsc28sIGljaCB3ZWlzcyBuaWNodCBzbyByZWNodC4uLmljaCBnbGF1YmUgaWNoIHNjaHJlaWJlIGhldXRlIGRhcyBlcnN0ZSBNYWwKaW4gZGVyIEFidGVpbHVuZyAiQUxMR0VNRUlOIi4gQWJlciwgaWNoIGRlbmtlLCBlcyBnZWhvZXJ0IGhpZXJoZXIuLi4KSWNoIGdlaG9lcmUgKGdsYXViZSBpY2gpIHp1IGRlbiBNaXRzcGllbGVybiB1bmQgQmV3b2huZXJuIGRlcyBNVURzIGhpZXIsIGRpZQpzaWNoIHNlaXQgbWVocmVyZW4gVGFnZW4gZGFzIEhpbiB1bmQgSGVyIHZvbiBBcmd1bWVudGVuIGJldHJlZmZzIFdhcmdvbnMKQWt0aW9uZW4gZXRjLiwgTWFnaWVybG9lc2NodW5nZW4sIGJsYWJsYWJsYSB1bmQgc28gd2VpdGVyIGFuaG9lcmVuLgpJY2ggZ2Vob2VyZSB6dSBkZW4gU3BpZWxlcm4sIGRpZSBzaWNoIGluc2dlaGVpbSB1bmhlaW1saWNoIHVlYmVyIGRpZXNlCkRpc2t1c3Npb24gYXVmcmVnZW4sIGFiZXIgbGllYmVyIG5pY2h0IG1pdG1pc2NoZW4gd29sbGVuLgpVbmQgZG9jaCBzY2hyZWliZSBpY2ggaGV1dGUuIFdhcnVtPyBOYSwgd2VpbCBtaXIgZGFzIHNvIGVpbmUgSWRlZSBnZWtvbW1lbgppc3QuCkFsc28sIG5pY2h0IGdsZWljaCBzY2hsYWdlbiwgc29uZGVybiBlcnN0IHp1IGVuZGUgbGVzZW4uIEVzIGlzdCBlaW5lIElkZWUsIGVpbgpWb3JzY2hsYWcsIGtlaW4gYXVzZ2VhcmJlaXRldGVyIEdlZGFua2UuCkJlaSBhbGwgZGVuIFByb2JsZW1lbiwgZGllIHdpciBoaWVyIGltIE1VRCBoYWJlLCBiZWkgYWxsIGRlbiBEaXNrdXNzaW9uZW4sIGthbQptaXIgZGVyIEdlZGFua2U6IEhpZXIgcmVkZW4gZWlnZW50bGljaCBudXIgZGllIE1hZ2llciwgdmllbGUgU2VoZXIgdW5kIGVpbgpwYWFyIFNwaWVsZXIuCldpZSB3YWVyZSBlcyBkZW5uLCB3ZW5uIEFMTEUgbWFsIGlocmUgTWVpbnVuZ2VuIGt1bmQgdHVuIHd1ZXJkZW4/IERhcyBrb2VubnRlCmRvY2ggZWlnZW50bGljaCBudXIgaW0gSW50ZXJlc3NlIGRlcyBNVURzIHNlaW4uIE1laW4ga29ua3JldGVyIFZvcnNjaGxhZwpsYXV0ZXQ6IApXaWUgd2FlcmUgZXMgbWl0IGRlciBFaW5yaWNodHVuZyB2b24gIlZvbGtzZW50c2NoZWlkZW4iPyBNYW4ga29lbm50ZSBkaWUgc28KYW5saWNoLCBpbSBTdGlsZSBkZXIgU29tbWVyY2FtcC1mcmFnZWJvZ2VuIGFiaGFsdGVuLgpVbmQgd2VubiBuaWNodCBhbGxlIFNwaWVsZXIgbWl0bWFjaGVuLCBzbyBpc3QgZXMgZGVyZW4gU2NodWxkOiBXYWVobGVuIE1VU1MKbWFuIGphIG5pY2h0LCBhYmVyIGVzIHdhZXJlIGVpbiBkZW1va3JhdGlzY2hlciBBa3QsIHVtIGRpZSBNZWludW5nIEFMTEVSIGhpZXIKa3VuZHp1dHVuLiAKV2FzIG1laW50IGlocj8KSWNoIGJpbiBzZWhyIGF1ZiBldXJlIE1laW51bmdlbiBnZXNwYW5udC4KCk1pdCBsaWViZW4gR3J1ZXNzZW4KVGhhc2NvLCBkZXIgKHdvaGwgZXdpZ2UpIERpYWtvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWwgbmFjaGdlZnJhZ3QuLi4gKEFzbW9kaXMsIDIxLiBNYWkgMTk5NywgMTg6MTM6MTkpOgp+IyEgcm49VGhhc2NvIHJ0PTg2NDIyMDM0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDIyMDM0MwpEdSB2ZXJnaXNzdCBkYSBlaW5zOiBNb3JnZW5ncmF1ZW4gaXN0IG5pY2h0IGRlbW9rcmF0aXNjaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBuYWNoZ2VmcmFndC4uLiAoS2V5LCAyMS4gTWFpIDE5OTcsIDE4OjE5OjQ5KToKfiMhIHJuPVRoYXNjbyBydD04NjQyMjAzNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyMjAzNDMKSG1tIGtsaW5ndCB2b20gUHJpbnppcCBoZXIgZ3V0IC4uLi4KQWJlciBpY2ggc2VsYnN0IGhhYiBhdWNoIGdlbnVnIFp3ZWl0aWVzLCB3aWUgZWluaWdlIGFuZGVyZW4gYXVjaCAuLi4KQWxzbyB3ZW5uIGljaCBtaWNoIG1pdCBBc21vIHp1c2FtbWVudHVlIGtvZW5uZW4gd2lyIGRlbiBzb2cuIFZvbGtzZW50c2NoZWlkCmxlbmVrZW4gd2llIHdpciB3b2xsZW4gOyk9CgpOYWphIHVuZCBkaWVzZXIgQXJ0aWtlbCBrb21tdCBtZWluZXIgTWVpbnVuZyBuZW4gYmlzc2VybCBzcGFldCAuLi4uCkRhcyBncm9lYnN0ZSBoYXQgc2ljaCB3aWVkZXIgZ2VsZWd0IHVuZCBpY2ggaGFiIGtlaW4gQm9jayBkcmF1ZiBkYXMgZGFzIHdpZWRlcgp2b24gdm9ybmUgYW5mYWVuZ3QgLi4gOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWwgbmFjaGdlZnJhZ3QuLi4gKEFzbW9kaXMsIDIxLiBNYWkgMTk5NywgMTg6MjI6MzkpOgp+IyEgcm49S2V5IHJ0PTg2NDIzMTU4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDIyMDM0MwpPY2ggd2FydW0gbmljaHQgPyBFaW4gYmlzc2NoZW4gRGlza3Vzc2lvbiB0dXQgZG9jaCBpbW1lciBndXQgOikKVW5kIGRhbm4gaGF0IG1hbiBhdWNoIHdpZWRlciBldHdhcyBpbiBkZXIgTVBBIHp1IGxlc2VuLApiZXNvbmRlcnMgQWNyaW1vbnMgQXJ0aWtlbCBzaW5kIGltbWVyIHdpZWRlciBhbXVlc2FudCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBuYWNoZ2VmcmFndC4uLiAoQWNyaW1vbiwgMjEuIE1haSAxOTk3LCAyMDowNzoxNyk6Cn4jISBybj1UaGFzY28gcnQ9ODY0MjIwMzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MjIwMzQzCkltIFByaW56aXAgZWluZSBndXRlIElkZWUuCkplZG9jaCBoYWJlbiBEZW1va3JhdGllbiBhdWNoIGlocmUgTmFjaHRlaWxlOgpXZWlsIGplZGVyIHdhZWhsZW4ga2FubiB1bmQgc2ljaCB2aWVsZSB0cm90emRlbSBuaWNodCBhdXNrZW5uZW4sIHdpcmQgb2Z0IGRhcwpTY2hsZWNodGVyZSBnZXdhZWhsdCwgZnVlciBkYXMgYW0gbWVpc3RlbiBnZXdvcmJlbiB3dXJkZS4KU29taXQga29lbm5lbiBFaW56ZWxuZSBkdXJjaGF1cyBkZW4gQXVzZ2FuZyBkZXIgV2FobCB6dW0gU2NobGVjaHRlcmVuCmJlc3RpbW1lbiwgaW5kZW0gc2llIHZpZWwgV2VyYnVuZyBtYWNoZW4gdW5kIGRpZSBMZXV0ZSBkYXJhdWYgaGVyZWluZmFsbGVuLgpEYWhlciBzaW5kIGRpZSBTdGltbWVuIGRlciBhdWYgZGllIFdlcmJ1bmcgaGVyZWluZ2VmYWxsZW5lbiBMZXV0ZSBlaWdlbnRsaWNoCnp1c2FldHpsaWNoZSBTdGltbWVuIGRlciBXZXJiZXIuClNvbWl0IHdhZXJlbiB3aWVkZXIgZWluaWdlIHdlbmlnZSBMZXV0ZSAoZGllLCBkaWUgdmllbCB3ZXJiZW4pIGJldm9yenVndC4KCk5hamEsIGF1ZiBXYWhsLVdlcmJla2FtcGFnbmVuIGhpZXIgaW0gTUcgd2lsbCBpY2ggZ2VybmUgdmVyemljaHRlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmluIHdlZyAoU2NocnVtcGZpLCAyMi4gTWFpIDE5OTcsIDAzOjUyOjM3KToKSGFiIGF1cyBkaXZlcnNlbiBHcnVlbmRlbiBrZWluZSBMdXN0IG1laHIgYXVmIE1HIHVuZCBkYXJ1bSB2ZXJhYnNjaGllZGV0IHNpY2gKU2NocnVtcGZpIGF1cyBkZW0gTUcuIEFtYXpvcmEgYmxlaWJ0IGFsbGVyZGluZ3MgenVtIE1haWwgbGVzZW4gaGllci4gClR1dCBtaXIgYWJlciBlaW5lbiBHZWZhbGxlbiB1bmQgbXVlbGx0IEFtYXpvcmEgbmljaHQgbWl0IE1haWxzIHp1LCBkYXNzClNjaHJ1bXBmaSB3aWVkZXIga29tbWVuIHNvbGwuIFNjaHJ1bXBmaSBpc3QgdW5kIGJsZWlidCBHZXNjaGljaHRlLgpUc2NodWVzcwpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhvbGxhIC4uLiBob2x5IG1pc3Npb24gKFNjaG5hcmNoLCAyMi4gTWFpIDE5OTcsIDA0OjE4OjUwKToKaG1tbW1tCndvbGx0IGlociBuaWNodCBtYWwgbicgcmFjZS1way1tdWQgcHJvYmllcmVuPz8/CmFkZHJlc3NlIGlzdCAuLi4uICAgd2lsZHNhdS5pZHYudW5pLWxpbnouYWMuYXQgMjAwMQpidXQgYmV3YXJlIC4uLiBEZWF0aCBpcyBldmVyeXdoZXJlCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBuYWNoZ2VmcmFndC4uLiAoRnl0LCAyMi4gTWFpIDE5OTcsIDA3OjE3OjI0KToKfiMhIHJuPVRoYXNjbyBydD04NjQyMjAzNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyMjAzNDMKCkRhZ2VnZW4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmluIHdlZyAoU3VzaGksIDIyLiBNYWkgMTk5NywgMDc6NTQ6MDMpOgp+IyEgcm49U2NocnVtcGZpIHJ0PTg2NDI2NTk1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI2NTk1NwpJY2gga2FubiBEaWNoIHp3YXIgbmljaHQgbGVpZGVuLCBhYmVyIHdvIER1IFJlY2h0IGhhc3QuLi4KSWNoIGJpbiBkYW5uIHdvaGwgYXVjaCBpcmdlbmR3aWUgd2VnIC0tIG5pY2h0IGF1cyBTb2xpZGFyaXRhZXQgbWl0IGRlbQpHaWZ0endlcmcsIHNvbmRlcm4gd2VpbCBkaWUgU3RpbW11bmcgaGllciBzZWxic3QgZnVlciBtaWNoIHp1IG5lcnZpZyBnZXdvcmRlbgppc3QuCgpMYXRlciwKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuIHplaXR1bmcgKE1pbWlrcmksIDIyLiBNYWkgMTk5NywgMDg6NTQ6MjkpOgpob2ZmZW50bGljaCBrb21tZSBpY2ggbmllIGluIHNwaGFlcmVuLCBpbiBkZW5lbiBpY2ggbWljaCBhbiBzb2xjaGVuCmRpc2t1c3Npb25lbiBiCmJldGVpbGlnZW4gbW11ZXNzdGUuIEhvZmZlbnRsaWNoIGJsZWliZSBpY2ggaW1tZXIgbWVpbiBub3JtYWxvLVNwaWVsZXIuCklzdCBkb2NoIHNjaGFkZSAsIGRhc3MgU3BpZWxlciBzbyBiaWVyZXJuc3QgZ2VubW9tbWVuIHdlcmRlbiBtdWVzc2VuLgpnZXNjaHVtbWVsdCB3aXJkIGRvY2ggZWguCklociB0dXQgamEgZ2VyYWRlIHNvLCBhbHMgd3VyZGUgaGllciBoaWVyIGlyZ2VuZGplbWFuZCBlcm5zdGhhZnQgaW4KaXJnZW5kZWluZXIgCnJlYWxlbiBNYWNodCBiZXNjaG5pdHRlbi4gCldlbm4gaWNoIGhpZXIgZWluaWdlIFNwaWVsZXJJbm5lbiB2b24gRGVtb2tyYXRpZSB1bmQgUmVjaHRzdGFhdCBzY2hyZWliZW4Kc2VoZSwKdmVyZ2VodCBtaXIgYWxsZXMuIElzdCBkYXMgaGllciBlaW4gU3BpZWwsIGRhcyBTcGFzcyBtYWNoZW4gc29sbCBvZGVyIGVpbgpTZW1pbmFyCnVlYmVyIGRpZSBNb2RlbGxlaXJ1bmcgdm9uIFN0YWF0c2Zvcm1hZW4gdW5kIFJlY2h0U3lzdGVtZW4uCkVpbmlnZSBMZXV0ZSBzb2xsdGUgc2ljaCBtYWwgenVydWVja2xlaG5lbiBvZGVyIHNpY2ggaW4gZGVyIHdpcmtsaWNoZW4gUG9saXRpawplbmdhZ2llcmVuOyBkaWUgaGF0IElkZWFsaXN0SW5uZW4gbmFlbWxpY2ggYml0dGVyIG5vZXRpZy4gCgpTbywgdW5kIGpldHp0IHNwaWVsZSBpY2ggd2VpdGVyLgoKRWluIGR1bW1lciBrbGVpbmVyIEVsZiwKCk1pbWlrcmkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuIHplaXR1bmcgKEdyaW1tYm9ybiwgMjIuIE1haSAxOTk3LCAxMDozNDowMyk6Cn4jISBybj1NaW1pa3JpIHJ0PTg2NDI4NDA2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI4NDA2OQpKYSwgRHUgc3BpZWxzdCB3ZWl0ZXIuIEFiZXIgZGFzIGthbm5zdCBEdSBudXIsIHdlaWwgZXMgU3BpZWxyZWdlbG4gZ2lidCwgZGllCmhhbGJ3ZWdzIGVpbmdlaGFsdGVuIHdlcmRlbi4KRGVuayBtYWwgZHJ1ZWJlciBuYWNoLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYW4gemVpdHVuZyAoT3JrdG9ldGVyLCAyMi4gTWFpIDE5OTcsIDExOjE3OjE5KToKfiMhIHJuPU1pbWlrcmkgcnQ9ODY0Mjg0MDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0Mjg0MDY5ClNvcnJ5LCBhYmVyIHdlbm4gZHUgQWJlbmRzIG1pdCBGcmV1bmRlbiBiZWkgZWluZW0gU3BpZWwgc2l0enQgdW5kIGJlaW0Kc2NodW1tZWxuIGVyd2lzY2h0IHdpcnN0LCB3aXJzdCBkdSBkb2NoIHdvaGwgYXVjaCBuaWNodCBzYWdlbiA6IEhleSwgZXNpc3QKZG9jaCBudXIgZWluIFNwaWVsLCBpbiBkZXIgZHJpdHRlbiBXZWx0IHZlcmh1bmdlcm4gamFlaHJsaWNoIE1pbGxpb25lbgpNZW5zY2hlbiAhCgpOYXR1ZXJsaWNoIGdpYnQgZXMgZHJpbmdlbmRlcmUgUHJvYmxlbWUsIGFiZXIgb2huZSBSZWdlbG4ga2FubiBtYW4ga2VpbiBTcGllbApmdWVyIG1laHJlcmUgTGV1dGUgbWFjaGVuICh6dW1pbmRlc3QgaGFldHRlIGljaCBhbiBlaW5lbSBzb2xjaGVuIFNwaWVsIGtlaW4KaW50ZXJlc3NlKS4KCk9ya1QgdmVyc3RlaHQgbWFjaGVuIExldXRlIGVpbmZhY2ggbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5ld3Nncm91cHMgKE1hc28sIDIzLiBNYWkgMTk5NywgMDE6NTk6MzcpOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg2NDE0Nzk4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDA0NzAzNQpQSU5FIGhlaXNzdCAiUGluZSBJcyBOb3QgRWxtIi4KCldlaXRlciBwZXIgUmVrdXJzaW9uLgoKICAgICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaXpoZWxwIChUZWRkeSwgMjMuIE1haSAxOTk3LCAxOTowNDo0Nyk6Cn4jISBybj1Cb3R0b20gcnQ9ODY0MTQzNzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MTQzNzM2CldpZXNvIHdhciBpY2ggdmVyc3RpbW10PwpXYXMgaGF0IFBhbXBlcnMgbWl0IG1pciBnZW1hY2h0Pwo7LSkKLS0tPiBzY2htYXJybgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0ZXJiZW4gLi4uLiAoS2V5LCAyNC4gTWFpIDE5OTcsIDAzOjE4OjA4KToKCkhhbGxvZSwKc28gZXMgaXN0IHNvd2VpdCwgYmluIDMwMCBtYWwgZ2VzdG9yYmVuLCBsZWlkZXIgbmljaHQgc28gd2llIGljaCB3b2xsdGUgLi4uIDooCk5hamEgZGFzIGtvbW10IGJlaSBkZXIgbmFlY2hzdGVuIHJ1bmRlbiBaYWhsIC4uLgpFaW5lIFBhcnR5IHdlcmRlIGljaCBpbiBuYWVjaHN0ZXIgWmVpdCBub2NoIGZlaWVybiwgd2FubiBnZWJlIGljaCBkYW5uIG5vY2gKYmVrYW5udCA6KQpiaXMgZGVubiAKS2V5CgpQLlMuOiBEaWVzZW4gQXJ0aWtlbCBuZXQgdmVybGVnZW4sIGRlciBnZWhvZXJ0IGhpZXIgaGluISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tbWVyZmV0ZT8gKEthcnRvZmZlbCwgMjUuIE1haSAxOTk3LCAxMzoxMTo0OCk6CgpIYWxsb2VsZSB6dXNhbW1lbiwKCndhbm4gZ2lidHMgZGVubiBkaWUgZXJzdGVuIEluZm9zIHp1ciBTb21tZXJmZXRlPwoKS2FydG9mZmVsIC0gaXN0IGdhciBuaWNodCBuZXVnaWVyaWcuLi4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmluIHdlZyAoRmxvcmEsIDI2LiBNYWkgMTk5NywgMDg6NDk6NDApOgp+IyEgcm49U2NocnVtcGZpIHJ0PTg2NDI2NTk1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI2NTk1NwoKRGFzIGhlaXNzdCBkYW5uIGphIHdvaGwsIGRhc3MgaWNoIG1laW5lbiBTY2hydW1wZmktaXN0LXN1ZXNzLUJ1dHRvbiBndXQKYXVmaGViZW4gc29sbHRlLCB3ZWlsIGRlciBpbiBlaW4gcGFhciBNb25hdGVuIChvZGVyIEphaHJlbikgZGFubiBuZSBNZW5nZSBHZWxkCndlcnQgc2VpbiBkdWVyZnRlLCBvZGVyPwoKRmxvcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpbiB3ZWcgKFJhZmZpLCAyNi4gTWFpIDE5OTcsIDE0OjA5OjA4KToKfiMhIHJuPUZsb3JhIHJ0PTg2NDYyOTM4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI2NTk1NwpCaWV0ZSA1MC4wMDAgTXVlbnplbgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbiB3ZWcgKEZ5dCwgMjYuIE1haSAxOTk3LCAxNDoxMToyNCk6Cn4jISBybj1SYWZmaSBydD04NjQ2NDg1NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyNjU5NTcKCkhleSwgZGFzIG5lbm4gaWNoIHJlaWNobGljaC4uLiBtaXIgd3VyZGVuIGRvY2ggbmV1bGljaCBnbGF0dCBzZWNoc3RhdXNlbmQKKGluIFphaGxlbjogNjAwMCkgTXVlbnplbiBmdWVyIGRyZWkgUXVlc3RzIGdlYm90ZW4uLi4KClJhZmZpLCBEdSB2ZXJkaXJic3QgZGllIFByZWlzZSA7LSkKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbiB3ZWcgKEZ5dCwgMjYuIE1haSAxOTk3LCAxNDoxMjo0OCk6Cn4jISBybj1GeXQgcnQ9ODY0NjQ4Njg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MjY1OTU3CgpTb2xsIGhlaXNzZW46IEVpbiBrb21wbGV0dGVyIE1hZ2llciBpc3QgYmVpIHNhZ2VuIHdpciBrbmFwcCA2MCBRdWVzdHMKdW5nZWZhZWhyIDEyMGsgd2VydC4uLiBudW4gamEuLi4KCkZ5dCAoQW5nZWJvdGUgZW50Z2VnZW5uZWhtZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmluIHdlZyAoUmFmZmksIDI2LiBNYWkgMTk5NywgMTQ6MTQ6MzYpOgp+IyEgcm49Rnl0IHJ0PTg2NDY0ODY4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI2NTk1NwpBZWggSmEsIEFlaCBIbW0sIEFlaCBqYSBkb2NoLCBGeXQsIGhhc3N0IGphIHJlY2h0IDopCgpBQkVSIElDSCBXSUxMIFNPIEVJTkVOIEJVVFRPTiAhCgpHcnVzcwpILgoKUC5TLjogRnVlciBNdWVuemVuIG1hY2ggaWNoIGF1Y2ggKGZhc3QpIGFsbGVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpbiB3ZWcgKEtyZXRlaywgMjYuIE1haSAxOTk3LCAxNDozMDowNCk6Cn4jISBybj1GbG9yYSBydD04NjQ2MjkzODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyNjU5NTcKS3VyemVyIEtvbW1lbnRhciBkZXIgU2NocnVtcGZpLUJ1dHRvbi1VcmhlYmVyczogU3BhZXRlc3RlbnMgbmFjaCBkZW0gbmFlY2hzdGVuCkVuZGUvUmVib290L0NyYXNoIGlzdCBkZXIgU2NocnVtcGZpLUJ1dHRvbiB3ZWcuIEVuZGd1ZWx0aWcuIFZlcnRlaWxlbiBnZWh0Cihob2ZmZW50bGljaCkgamV0enQgc2Nob24gbmljaHQgbWVoci4KCksuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaW4gd2VnIChNb3JnYXIsIDI2LiBNYWkgMTk5NywgMTU6MTM6MzcpOgp+IyEgcm49S3JldGVrIHJ0PTg2NDY0OTgwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDI2NTk1NwpPY2gsIHdhcnVtIGtvbW10IGVyIGRlbm4gd2VnPyBXaWUgd2FlcmUgZXMsIHdlbm4gZXIgZWluZmFjaCBpbiBlaW5lbgoiU2NocnVtcGZpIHdhciBzdWVzcyItQnV0dG9uIHVtYmVuYW5udCB3aXJkPwoKTW9yZ2FyIChzZW5mZW5kKSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbiB3ZWcgKEdyaW1tYm9ybiwgMjYuIE1haSAxOTk3LCAxNTo0MjoxNik6Cn4jISBybj1Nb3JnYXIgcnQ9ODY0NjUyNDE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0MjY1OTU3ClNjaHJ1bXBmaSBJU1Qgc3Vlc3MgdW5kIHdpcmQgYXVmIGplZGVuIEZhbGwgaW1tZXIgc3Vlc3NlciBibGVpYmVuIGFscyBEdSwgc28Kc3Rhcmsga2FubiBnYXIga2VpbmUgVmVyd2VzdW5nIHNlaW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmluIHdlZyAoTW9yZ2FyLCAyNi4gTWFpIDE5OTcsIDE1OjQzOjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjQ2NTQxMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyNjU5NTcKSWNoIHdvbGx0ZSBtaWNoIGRvY2ggYmxvc3MgZnVlciBkYXMgV2VpdGVyYmVzdGVoZW4gZGVzIEJ1dHRvbnMgZWluc2V0emVuLiA7LSkKCk1vcmdhciAoLT4gc2NobWFycm4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYXppcyEgKFNoYWtlZGJlZXIsIDI2LiBNYWkgMTk5NywgMjM6MjA6NDQpOgpIaS4gQml0dGUgc2NoYXV0IGRhcyBtYWwgYW4uLi4KCj4+PkRlYXIgYWxsLAo+Pj4KPj4+QSBuZW8gTmF6aSBncm91cCBhcmUgdHJ5aW5nIHRvIHNldCB1cCBhIHVzZW5ldCBncm91cC4KPj4+SXQgY2FuIGJlIHN0b3BwZWQgYXV0b21hdGljYWxseSBpZiBhIG1ham9yaXR5IG9mIHBlb3BsZSB2b3RlIGFnYWluc3QgaXQuCj4+PlBsZWFzZSBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyBiZWxvdywgdG8gZW5zdXJlIHRoYXQgd2UgZG8gbm90IGFsbG93IGEKPj4+Z3JvdXAgb2YgdGhpcyBuYXR1cmUgZnJlZSBhbmQgZWFzeSBhY2Nlc3MgdG8gdGhlIHN1cGVyaGlnaHdheS4KPj4+Cj4+Pkl0IHdpbGwgb25seSB0YWtlIHR3byBtaW51dGVzIG9mIHlvdXIgdGltZSwgc28gcGxlYXNlIGhlbHAuCj4+Pgo+Pj5XZSBoYXZlIHVuZGVyc3Rvb2QgdGhhdCBhIGZldyBOZW8tTmF6aSBncm91cHMgYXJlIHRyeWluZyB0byBjcmVhdGUKPj4+KGFnYWluKSBhIHVzZW5ldCBncm91cCB3aGVyZSB0aGV5IHdhbnQgdG8ga2VlcCBpbiBjb250YWN0IHdpdGggZWFjaCBvdGhlcgo+Pj5yZWdhcmRpbmcgdGhlaXIgYWN0aXZpdGllcy4gSSBiZWxpZXZlIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gZHdlbGwgZnVydGhlcgo+Pj5vbgo+Pj50aGVzZSBhY3Rpdml0aWVzLgo+Pj4KPj4+ICAgICAgICBUaGUgZ3JvdXAgaXM6ICAgcmVjLm11c2ljLndoaXRlLXBvd2VyCj4+Pgo+Pj5UbyBjcmVhdGUgc3VjaCBhIGdyb3VwLCB0aGV5IGhhdmUgdG8gd2luIGEgcmVmZXJlbmR1bSB0aGF0IGlzIGFsd2F5cwo+Pj5vcmdhbmlzZWQgd2hlbiBhIG5ldyB1c2VuZXQgZ3JvdXAgaXMgY3JlYXRlZC4gQWxsIHBlcnNvbnMgd2l0aCBhbiBlbWFpbAo+Pj5hZGRyZXNzLCBhbmQgb25seSB0aG9zZSwgY2FuIHZvdGUgaW4gdGhpcyByZWZlcmVuZHVtLiBJdCBpcyBJTVBPUlRBTlQgdG8KPj4+dm90ZSBvbmx5IG9uY2UsIG90aGVyd2lzZSB0aGUgdm90ZSBpcyBjYW5jZWxsZWQuCj4+Pgo+Pj5UbyBwcmV2ZW50IHRoZSBjcmVhdGlvbiBvZiB0aGlzIGdyb3VwLCB5b3UgaGF2ZSB0bzoKPj4+Cj4+PiAgICAgICAgMS4gU2VuZCB0aGlzIG1lc3NhZ2UgdG8gcGVvcGxlIHlvdSBrbm93Cj4+PiAgICAgICAgMi4gU2VuZCBhbiBlbWFpbCB0byB0aGUgZm9sbG93aW5nIGFkZHJlc3M6Cj4+Pgo+Pj4gICAgICAgICAgICAgICAgbXVzaWMtdm90ZUBzdWItcm9zYS5jb20KPj4+Cj4+PndpdGggYXMgY29udGVudHMgKG5vdCAnc3ViamVjdCcpT05MWSB0aGUgZm9sbG93aW5nIGxpbmU6Cj4+Pgo+Pj4gICAgICAgICAgICAgICAgSSB2b3RlIE5PIG9uIHJlYy5tdXNpYy53aGl0ZS1wb3dlcgo+Pj4KPj4+U2luY2UgdGhlIHZvdGUgaXMgYXV0b21hdGljLCBpdCBpcyBJTVBPUlRBTlQgdG8gc2VuZCB0aGUgZXhhY3QgbGluZSBhcyBpdAo+Pj5pcyBnaXZlbiBhYm92ZSwgd2l0aG91dCBhZGRpbmcgYW55dGhpbmcsIG5vdCBldmVuIGEgbmFtZS4gQW5kIHBsZWFzZSBzZW5kCj4+Pml0Cj4+Pm9ubHkgb25jZSBvciBpdCBiZWNvbWVzIGludmFsaWQgIQoKRGFua2UuIFNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hemlzISAoQW5hdG9sLCAyNi4gTWFpIDE5OTcsIDIzOjIyOjU5KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9ODY0NjgxNjQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0NjgxNjQ0CkRhcyBpc3QsIHNvdmllbCBpY2ggd2Vpc3MsIHNjaG9uIGxhbmdlIGdlbGF1ZmVuLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hemlzISAoSmltZGlncml6LCAyNi4gTWFpIDE5OTcsIDIzOjI4OjE0KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9ODY0NjgxNjQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0NjgxNjQ0Ckh1Y2ggPwoKQWxzbyBzb3dhcyBoYWIgaWNoIGdsYXViIGljaCB2b3IgdWViZXIgZWluZW0gSmFociBvZGVyIHNvIApzY2hvbm1hbCBnZWxlc2VuLgogRW50d2VkZXIgaXMgZGFzIGthbHRlciBLYWZmZWUsIG9kZXIgZGVyIENmViB3dXJkZSB3aWVkZXJob2x0ID8gCiBNYWcgd2VyIG5ld3MuYWRtaW4gKG9kZXIgc28pIGR1cmNod3VlaGxlbiA/IAoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmluIHdlZyAoS3JldGVrLCAyNy4gTWFpIDE5OTcsIDAxOjM5OjU0KToKfiMhIHJuPU1vcmdhciBydD04NjQ2NTI0MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQyNjU5NTcKU28gaGVpc3N0IGVyIHp1ciBaZWl0IHRhdHNhZWNobGljaC4uLi4gKipncmlucyoqCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYXppcyEgKFByYSwgMjcuIE1haSAxOTk3LCAxMzoyNTozOSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODY0NjgyMDk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0NjgxNjQ0CkljaCBoYWIgZGllIE1haWwgc2Nob24gdm9yIDQgV29jaGVuIG9kZXIgc28gYmVrb21tZW4uIEJlemVpY2huZW5kIHdhciwgZGFzcwpiZWltIFppdGF0IGRlciBPcmlnaW5hbG1haWwga2VpbiBEYXR1bSBzdGFuZC4KSWNoIGhhYiBlcnN0bWFsIGRlbmplbmlnZW4gYW5nZXNjaGlzc2VuLCBkZXIgZGllIHdlaXRlcnZlcmJyZWl0ZXQgaGF0LCBvaG5lCkFobnVuZyB2b24gZGVyIE1hdGVyaWUgenUgaGFiZW4uLi4KClByYS4gSGFzc3QgS2V0dGVuYnJpZWZlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmF6aXMhIChIYXJkaWwsIDI3LiBNYWkgMTk5NywgMTQ6NTU6NTgpOgp+IyEgcm49UHJhIHJ0PTg2NDczMjMzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDY4MTY0NAoKSWNoIGhhYmUgZGllc2UgbWFpbCBhdWNoIHNjaG9uIG1laHJmYWNoIGJla29tbWVuLCB2b3IgZXR3YSAxIEphaHIgZGFzCmVyc3RlbWFsLiBJc3Qgd29obCBhZWhubGljaCB3aWUgZGFzICJHb29kIFRpbWVzIiBlaW5mYWNoIG51ciBlaW4gZHVtbWVyClNjaGVyei4gQmVpIGRlbiBXb3J0ZW4gIlZpcnVzIiB1bmQgIk5hemlzIiB3ZXJkZW4gaGFsdCBhdWNoIGRpZSBkdWVtbXN0ZW4gVXNlcgpzY2huZWxsIGhlbGxob2VyaWcuCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hemlzISAoTWFzbywgMjcuIE1haSAxOTk3LCAxNjozNDowNyk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTg2NDY4MTY0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDY4MTY0NApEYXMgVGVpbCBpc3QgMSkgdXJhbHQgdW5kIDIpIGVpbiBBdWZydWYgenUgZWluZXIgV2FobGZhZWxzY2h1bmcKKGRlciBsZWlkZXIgZnVua3Rpb25pZXJ0IGhhdCkuCgogICAgICAgICAgICAgIE1hc28uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmF6aXMhIChFbmd5d3VjaywgMjcuIE1haSAxOTk3LCAxODowODozNCk6Cn4jISBybj1IYXJkaWwgcnQ9ODY0NzM3NzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0NjgxNjQ0Ck1pdHRsZXJ3ZWlsZSBrYW5uIG1hbiB3b2hsIGRhcyBUaGVtYSAiS2luZGVycG9ybm8iIGRhenUgbmVobWVuIDspCgpaJ3BhciBTZXJ2dQogICAtWVRFZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5hemlzISAoR3JpbW1ib3JuLCAyNy4gTWFpIDE5OTcsIDE4OjQ3OjMwKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2NDc0OTMxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDY4MTY0NApXb3p1IGluIGRpZSBGZXJuZSBzY2h3ZWlmZW4/IEhpZXIgZWluZSB3ZWl0ZXJlIEF1c3dhaGw6CgotIEFid2VydHVuZwotIE5ldWVydW5nCi0gS29uc2VxdWVueiBhdXMgZGVtIFZlcnN0b3NzIGdlZ2VuIFJlZ2VsbgotIFNjcmlwdGVuCi0gQXJ0aWtlbCB2ZXJsZWdlbgotIEFydGlrZWwgbmljaHQgdmVybGVnZW4KLSBFcnptYWdpZXIKLSBMYWcKLSBPZXR0aQotIE1hZ2llciBtYWNoZW4gU3BpZWxlciBmZXJ0aWcKLSBTcGllbGVyIHNpbmQgdG90YWwgZ2VtZWluIHp1IE1hZ2llcm4KLSB1bmRzb3dlaXRlciBoYWx0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hemlzISAoQmxvb2R5aGFycnksIDI4LiBNYWkgMTk5NywgMDI6MjE6NDUpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTg2NDc2Nzc3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDY4MTY0NAoKRGFzIHdhZXJlIGVpZ2VuZGxpY2ggZ2V3ZXNlbjogIkRpZSBzaW5kIGtvc3RlbmxvcyIiCkRhcyBhbmRlcmUgaXN0IGphIGFuc29uc3RlbiBiZWthbm50LiA7LSkKCmJoIC0gYmVrZW5uZW5kZXIgYXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdW13YW5kbHVuZyBkZXppbWFsemFobCAtPmR1YWx6YWhsIChCaW5nLCAyOC4gTWFpIDE5OTcsIDEwOjM1OjMxKToKaGlsZmUuLi4KaWNoIHN1Y2hlIGVpbmUgdW1yZWNobnVuZ3Ntb2VnbGljaGtlaXQgdW0gZWluZSBkZXppbWFsemFobCBpbiBlaW5lIGR1YWx6YWhsCnVtenVyZWNobmVuLiBvaG5lIHRhc2NoZW5yZWNobmVyLiBkYXMgZnVua3Rpb25pZXJ0IGlyZ2VuZHdpZSwgaGFiZSBudXIKdmVyZ2Vzc2VuIHdpZS4Kd2Vubm4gZXMgaGllciBqZW1hbmQgd2Vpc3MsIGJpdHRlIGJlc2NoZWlkIGdlYmVuIHVuZCBhbnR3b3J0IG1laGxlbiBvZGVyCnZlcm9lZmZlbnRsaWNoZW4uCmdydXNzIGFuIGFsbGUgYmluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVtd2FuZGx1bmcgZGV6aW1hbHphaGwgLT5kdWFsemFobCAoUHJhLCAyOC4gTWFpIDE5OTcsIDExOjIxOjIwKToKfiMhIHJuPUJpbmcgcnQ9ODY0ODA4NTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODA4NTMxCldhciBkYXMgZXJuc3RnZW1laW50PyBXZW5uIGphLCBkYW5uIGtvbW10IG1laW4gUHNldWRvY29kZSwKZGFzIGthbm5zdGUgZGFubiBtaXQgQmxlaXN0aWZ0IHVuZCBQYXBpZXIgYXVzZnVlaHJlbiwgb2RlciBtaXQgZWluZW0KQ29tcHV0ZXIuCgpTZWkgZCBkaWUgRGV6aW1hbHphaGwuCmkgOj0gZmxvb3IobG9nMihkKSkKd2hpbGUgKGk+PTApIGRvCiAgaWYgKGQ+Ml5pKQogICAgdGhlbiB3cml0ZSAoJzEnKTsgZCAtPSAyXmk7CiAgICBlbHNlIHdyaXRlICgnMCcpOwogIGVuZGlmCiAgaSAtPSAxCmVuZHdoaWxlCgpIYWIgaWNoIGdlcmFkZSBtYWwgc28gaGluZ2Vyb3R6dC4gS2FubiBkYXMgamVtYW5kIHZlcmlmaXppZXJlbj8KClByYS4gTXVlc3N0ZSAqZWlnZW50bGljaCogYW4gc2VpbmVyIERpcGwuLUFyYmVpdGUgd2VpdGVycm90emVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVtd2FuZGx1bmcgZGV6aW1hbHphaGwgLT5kdWFsemFobCAoUm9jaHVzLCAyOC4gTWFpIDE5OTcsIDEyOjE1OjQ3KToKfiMhIHJuPUJpbmcgcnQ9ODY0ODA4NTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODA4NTMxCjEuIEZhbGxzIFphaGwgZ2VyYWRlLCBzY2hyZWliZSAwIGF1ZiwKICAgc29uc3Qgc2NocmVpYmUgMSBhdWYgdW5kIHppZWhlIDEgdm9uIGRlciBaYWhsIGFiCjIuIEpldHp0IGlzdCBkaWUgWmFobCBkdXJjaCAyIHRlaWxiYXIsIGFsc28gbWFjaGVuIHdpciBkYXMgYXVjaCA6KQozLiBTb2xhbmdlIG5vY2ggd2FzIHZvbiBkZXIgWmFobCB1ZWJyaWcgaXN0IGdlaHRzIHdpZWRlciB6dSBTY2hyaXR0IDEuCihEaWUgQmluYWVyemlmZmVybiB2b24gcmVjaHRzIG5hY2ggbGlua3MgYXVmc2NocmVpYmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmF6aXMhIChLcmFta2EsIDI4LiBNYWkgMTk5NywgMTI6Mjg6NTApOgp+IyEgcm49SGFyZGlsIHJ0PTg2NDczNzc1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDY4MTY0NApIYXJkaWwgc2NocmllYjoKPiBCZWkgZGVuIFdvcnRlbiAiVmlydXMiIHVuZCAiTmF6aXMiIHdlcmRlbiBoYWx0IGF1Y2ggZGllIGR1ZW1tc3RlbiBVc2VyCnNjaG5lbGwgaGVsbGhvZXJpZy4KCkhtbSwgbWlyIGtvbW10IGVzIHNvIHZvciwgZGFzcyBEVSBzb2dhciBzY2huZWxsZXIgYWxzIHNjaG5lbGwgaGVsbGhvZXJpZwpnZW93b3JkZW4gd29yZGVuIGJpc3QuCgpLcmFta2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFydGlrZWwgdmVybGVnZW4/IChBbWFyeWxsaXMsIDI4LiBNYWkgMTk5NywgMTQ6MjU6NTApOgpJc3QgZGFzIGpldHp0IGluIE1vZGUgZGFzcyBtYW4gdmllbGUgQXJ0aWtlbCBuYWNoIDEgb2RlciAyIFRhZ2VuIHZlcmxlZ3QgKG5hY2gKc2NobWFycm4gb2RlciBzb2dhciBuYWNoIG11ZWxsKSwgc29kYXNzIGljaCBhbGxlcyBtZWhybWFscyBsZXNlbiBkYXJmPz8/CgpHcmltbWJvcm4gc2NoZWludCBqYSBkYXJhbiB3aXJrbGljaCBTcGFzcyB6dSBoYWJlbi4uLgoKQW1hcnlsbGlzCgpQUzogRGVuayBtYWwgZHJ1ZWJlciBuYWNoIEdyaW1tYm9ybiwgaWNoIGJpbiBzaWNoZXIgbmljaHQgZGllIEVpbnppZ2UsIGRpZSBkZXIKTWVpbnVuZyBpc3QgZGFzcyBlaW5pZ2UgQXJ0aWtlbCB2b24gRGlyIGF1Y2ggdW5iZXNlaGVuIHVuZCBydWhpZ2VuIEdld2lzc2VucwpuYWNoIG11ZWxsIHZlcmxlZ3Qgd2VyZGVuIGtvZW5udGVuLi4uIE51ciBrb2VubmVuIFdJUiB1bnMgZWJlbiBkaWVzZXMgUmVjaHQKbmljaHQgZWluZmFjaCBzbyBmcmVjaCBoZXJhdXNuZWhtZW4KCkFtYXJ5bGxpcywgbGFuZ3NhbSBzYXVlciB1bmQgZGllIE1QQSB3ZWd3ZXJmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCB2ZXJsZWdlbj8gKEhlZmUsIDI4LiBNYWkgMTk5NywgMTQ6Mjg6MjUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTg2NDgyMjM1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDgyMjM1MApEZW0gUFMga2FubiBpY2ggbnVyIHp1c3RpbW1lbi4KCkhlZmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCB2ZXJsZWdlbj8gKFJhZmZpLCAyOC4gTWFpIDE5OTcsIDE0OjM0OjI5KToKfiMhIHJuPUhlZmUgcnQ9ODY0ODIyNTA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODIyMzUwCk1pIFR1aCEKCkdydXNzCkguCgpQLlMuOiBkYXMgaXN0IGVpbmUgdm9lbGxpZyBTaW5sb3NlIE1lLVRvbyBuYWNocmljaHQsIHVuZCBhYnNvbHV0CnZlcmxlZ3VuZ3N3dWVyZGlnLCBhbHNvIG1hY2ggbWFsIEdyaW1taSwgdHUgdW5zIGRlbiBnZWZhbGxlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFydGlrZWwgdmVybGVnZW4/IChHcmltbWJvcm4sIDI4LiBNYWkgMTk5NywgMTQ6MzU6MjgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTg2NDgyMjM1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDgyMjM1MAphKSAibmFjaCAxIG9kZXIgMiBUYWdlbiIga29tbXQgbnVyIGFtIFdFIHZvciAodW5kIGFuIEZlaWVydGFnZW4pLCB3ZWlsIGljaCBkYQprYXVtIE1vZWdsaWNoa2VpdGVuIGhhYmUsIGhpZXIgenUgc2Vpbi4KYikgU2ljaGVyIGdpYnQgZXMgQXJ0aWtlbCB2b24gbWlyLCBkaWUgdmVybGVndCBnZWhvZXJlbi4gTGVpZGVyIGJpc3QgRHUgbmljaHQKZ2FueiBrb25zZXF1ZW50OiBEdSBtZWNrZXJzdCBiZWkgbWlyLCBkYXNzIGljaCBBcnRpa2VsIGluIGRpZSBmYWxzY2hlIFJ1YnJpawpzY2hyZWliZSwgdW5kIER1IG1lY2tlcnN0LCB3ZW5uIGljaCBBcnRpa2VsLCBkaWUgaW4gZGVyIGZhbHNjaGVuIFJ1YnJpawpzdGVoZW4sIHZlcmxlZ2UuIFdhcyB3aWxsc3QgRHUgZGVubiBudW4/CmMpIEhldWwgZG9jaC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcnRpa2VsIHZlcmxlZ2VuPyAoQW1hcnlsbGlzLCAyOC4gTWFpIDE5OTcsIDE0OjM2OjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjQ4MjI5Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQ4MjIzNTAKenUgCmEpIG11c3N0IGR1IGRlbm4gdWViZXJoYXVwdCB2ZXJsZWdlbj8gd2FzIHNvbGwgZGFzIGdhbnplPwpiKSBpY2ggbWVja2VyIG5pY2ggdWViZXIgZGVpbmUgYXJ0aWtlbCBpbiBkZXIgZmFsc2NoZW4gcnVicmlrIHNvbmRlcm4gZGFzcyBkdQpVRUJFUkhBVVBUIFZFUkxFR1NUISIhISBsYXNzIGVzIGRvY2ggd28gZXMgaXN0CmMpIGRhcyBzYWd0IHNpY2ggaW1tZXIgbGVpY2h0IHdlbm4gZGllIGFyZ3VtZW50ZSBhdXNnZWhlbgoKIEFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCB2ZXJsZWdlbj8gKFN0YWhsZG9ybiwgMjguIE1haSAxOTk3LCAxNDo0MjowMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY0ODIyOTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODIyMzUwCk9oamUuICJEZW5rIG1hbCBkYXJ1ZWJlciBuYWNoLCBHcmltbWJvcm4iIGhhZXR0ZXN0IGR1IGRlZmluaXRpdiBOSUNIVApzY2hyZWliZW4gc29sbGVuLCBBbWFyeWxsaXMuLi4gKmtpY2hlcioKU1RBSEwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcnRpa2VsIHZlcmxlZ2VuPyAoR3JpbW1ib3JuLCAyOC4gTWFpIDE5OTcsIDE0OjQ4OjI5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD04NjQ4MjMwMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQ4MjIzNTAKYSkgV296dSBnaWJ0IGVzIGhpZXIgc29uc3QgZ2Vzb25kZXJ0ZSBSdWJyaWtlbj8gTWFuIGtvZW5udGUgamEgZ2xlaWNoIGVpbmVuCnJhbmRvbSBlaW5iYXVlbiwgZGVyIGVpbmVuIGdlc2NocmllYmVuZW4gQXJ0aWtlbCBpbiBlaW5lciBiZWxpZWJpZ2VuIFJ1YnJpawp2ZXJvZWZmZW50bGljaHQuIEVzIGdpYnQgTGV1dGUsIGRpZSBuY2lodCBhbGxlcyAodm9yIGFsbGVtOiBOaWNodCBqZWRlbgpCbG9lZHNpbm4pIGxlc2VuIHdvbGxlbiwgdW5kIGRlbmVuIGdlZ2VudWViZXIgaXN0IGVzIGVpbmUgZ3JvYmUKVW5ob2VmbGljaGtlaXQsIEFydGlrZWwgd2llICJNYWdpZXIgc2luZCBTY2hlaXNzZSIgb2RlciAiRmluZCBpY2ggYXVjaCIgaW4KYmVpc3BpZWxzd2Vpc2UgZW50d2lja2x1bmcgenUgcG9zdGVuLiAKYikgTmljaHQ/IER1IGtvbW1zdCBtaXQgZGVtIEFyZ3VtZW50LCBuaWNodCBhbGxlIG1laW5lciBBcnRpa2VsIHdhZXJlbiBpbiBkZXIKcmljaHRpZ2VuIFJ1YnJpayAoZ2ViZSBpY2ggamEgZ2VybmUgenUsIGRhZnVlciB2ZXJsZWd0IENhdCogZGllIGRhbm4gZ2VybmUKbmFjaCBtdWVsbCkuIEFuc2NoZWluZW5kIHN0b2VydCBEaWNoIGRhcyBkb2NoLCB3aWVzbyB3dWVyZGVzdCBEdSBkYXMgZGVubgpzb25zdCBlcndhZWhuZW4/IEFiZXIgbmVpbiwgRHUgc3RlaHN0IGphIGdlcmFkZXp1IGF1ZiBBcnRpa2VsIGluIGRlcgp1bnBhc3NlbmRlbiBSdWJyaWsgKGRlciBVZWJlcnJhc2NodW5nc2VmZmVrdCBnaWJ0IGRlbSBUYWcgZG9jaCBlcnN0IGRlbgpyaWNodGlnZW4ga2ljayksIHdpZSBrb25udGUgaWNoIGRhcyB2ZXJnZXNzZW4uLi4KYykgRGFzIGx1c3RpZ2UgaXN0IGphLCBkYXNzIG1pciBEZWluZSBNZWludW5nIHppZW1saWNoIHdlaXQgYW0gR2VzYWVzcwp2b3JiZWlnZWhlbiBrYW5uICh1bmQgdHV0KS4gVGF0c2FjaGUgaXN0LCB3ZW5uIGplZGVyLCBkZXIgc2ljaCBnZW5lcnZ0IHNpZWh0LApzaWNoIHl1c2FtbWVubmVobWVuIHd1ZXJkZSB1bmQgbmljaHQgYmVpc3BpZWxzd2Vpc2UgQXJ0aWtlbCBkZXMgSW5oYWx0cyAiTmVpbiwKa3JpZWdzdGUgbmljaHQgOikiIG5hY2ggd2l0emUgcG9zdGVuICh1bSBkYW5uIE1pbnV0ZW4gc3BhZXRlciBzaWNoIGluCmFsbGdlbWVpbiB1ZWJlciBWZXJsZWd1bmdlbiB6dSBiZXNjaHdlcmVuKSwgaGFldHRlIGljaCBqYSBnYXIgbmljaHRzIHp1bQp2ZXJsZWdlbi4KCkdyaW1tYm9ybiBkZXIgVmVybGVnZXIKClAuUy4gRmFlbGx0IGV1Y2ggZWlnZW50bGljaCBtb21lbnRhbiBtYWwgbmljaHRzICJ3aWNodGlnZXJlcyIgZWluIHp1bQpBdWZyZWdlbiwgc28gd2llIHZlcmFlbmRlcnRlIE1vbnN0ZXIsIGJsb2VkZSBFcnptYWdpZXIgb2RlciBkYXMgRXNzZW4gaW4gZGVyCk1lbnNhPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJ0aWtlbCB2ZXJsZWdlbj8gKEFtYXJ5bGxpcywgMjguIE1haSAxOTk3LCAxNDo1MDoxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY0ODIzNzA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODIyMzUwCmRhIHNhY2ggaWNoIGpldHp0IG5peCB6dS4gd2VyIG1pY2ggbmljaCB2ZXJzdGVoZW4gd2lsbCBoYXQgZ2VoYWJ0LCB1bmQgd2VtIGljaAphbSBhbGxlcndlcnRlc3RlbiB2b3JiZWlnZWhlIGRlciBtaXIgZ2VuYXVzby4KCmFjaHNvLCB6dSBjKTogZGEgc3RpbW1lIGljaCBkaXIgenUuIHdhcyBzb2xsdGVzdCBkdSBhdWNoIG5vY2ggaGllciB3ZW5uIGR1CmtlaW5lIEFydGlrZWwgbWVociB2ZXJsZWdlbiBrb2VubnRlc3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcnRpa2VsIHZlcmxlZ2VuPyAoQW1hcnlsbGlzLCAyOC4gTWFpIDE5OTcsIDE1OjU2OjQzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjQ4MjM3MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQ4MjIzNTAKU28sIGhpZXIgbWFsIGVpbmUgbmV0dGUgUmFuZGJlbWVya3VuZyB6dW0gQWJrdWVobGVuIGRlciBHZW11ZXRlciAqZ3JpbnMqOgoKSGFiZSBnZXJhZGUgR3JpbW1ib3JuIGdlZmluZ2VyZXQgdW5kIHNlaW4gUHJvamVrdCBnZWxlc2VuLi4uClVuZCBkYSBzYWdzdCBEdSwgR3JpbW1ib3JuLCBkYXNzIERpciBtZWluZSBNZWludW5nIHdvIHZvcmJlaWdlaHQ/IDopKSkpCgpBbWFyeWxsaXMgZGllIEZlZSBraWNoZXJ0IHVuZCBidWVja3Qgc2ljaCB2b3IgbmllbWFuZGVtLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXSUNIVElHISEhISAoSmFzcGVyLCAyOC4gTWFpIDE5OTcsIDE3OjE3OjA3KToKZWNob2FsbCBKYXNwZXIgdmVyc29obHQgRGlyIERlaW5lbiBzdWVzc2VuIGtsZWluZW4gQXJzY2ggYXVzIGRlciBGZXJuZS4KCgpQYXRyeW4gZ3JpbnN0IERpY2ggYXVzIGRlciBGZXJuZSBhbi4KQW1hcnlsbGlzIHdpbmt0IERpciBncmluc2VuZCBhdXMgZGVyIEZlcm5lIHp1LgpNZXRhIHRlaWx0IERpciBtaXQ6IHdhcyB0dXN0IER1ID8KQWRzb24gdGVpbHQgRGlyIG1pdDogaGFlaCA/CkJsdWVtZWwgdGVpbHQgRGlyIG1pdDogaG0gPwpLYWxpIHRlaWx0IERpciBtaXQ6IFdhcyB3YXIgZGFzPwotbSduaWNodCBoYXVlbiA6KQpbTWFnaWVyOkphc3Blcl0gbmljaHQgaGF1ZW4gOikKPiBLZW1wIHRlaWx0IERpciBtaXQ6IHdhcyBzb2xsIGRlbm4gZGFzID8KQ2FtcGlubyBsZWd0IHNpY2ggYXVmIGRlbiBCb2RlbiB1bmQgc2NobGllc3N0IGRpZSBBdWdlbi4KTWFnaWNvbGxpIGtudWRkZWx0IERpY2ggYXVzIGRlciBGZXJuZS4KQXN0YXIgdGVpbHQgRGlyIG1pdDogd2FzIGlzc24/CklleWFzdSB0ZWlsdCBEaXIgbWl0OiBsYXNzIGRhcyBkdSBmZXJrZWwKS2VtcCBncmluc3QgRGljaCBhdXMgZGVyIEZlcm5lIGFuLgolICJNb3JlIiBwYWdpbmcgZW5hYmxlZC4gIFVzZSBUQUIgdG8gc2Nyb2xsLgpbQWJlbnRldWVyOkxvc3Rib3ldIGdsIGRpZSB3aWxsIGRpZSB6d2VyZ2UgbmljaHQsIHdpZSBnZWggaWNoIGRhcyBlaW4/CkplbWFuZCBzdGVja3QgRGlyIGVpbmVuIGtsZWluZW4gRmluZ2VyIGluIERlaW5lbiBQb3BvLgpbQWJlbnRldWVyOkF1cmluXSB3aWVzbyBzb2xsaWNoIG1pdCBkZW0gaGFtbWVyIGRlbiBibGFzZWJsYWcgYmVhcmJlaXRlbj8/PwpbQWxsZ2VtZWluOkFuYXRvbF0gSmFzcGVyIHZlcnNvaGx0IERpciBEZWluZW4gc3Vlc3NlbiBrbGVpbmVuIEFyc2NoIGF1cwpkZXJbQWxsZ2VtZWluOkFuYXRvbF0gSmFzcGVyIHZlcnNvaGx0IERpciBEZWluZW4gc3Vlc3NlbiBrbGVpbmVuIEFyc2NoIGF1cyBkZXIKW0FsbGdlbWVpbjpBbmF0b2xdIEZlcm5lLgpCaXMgYmFsZCEKQ2xvc2luZyBkb3duLgoKW0Nvbm5lY3Rpb24gdG8gTUcuTVVELkRFIGNsb3NlZCBieSBmb3JlaWduIGhvc3RdCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXSUNIVElHISEhISAoQW5hdG9sLCAyOC4gTWFpIDE5OTcsIDE3OjE4OjQ1KToKfiMhIHJuPUphc3BlciBydD04NjQ4MzI2Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQ4MzI2MjcKPiBDYW1waW5vIGxlZ3Qgc2ljaCBhdWYgZGVuIEJvZGVuIHVuZCBzY2hsaWVzc3QgZGllIEF1Z2VuLgoKV2VubiBlcyBEZWluZW0gSGF1c3RpZXIgU3Bhc3MgbWFjaHQsIGJpdHRlLi4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0lDSFRJRyEhISEgKEdyaW1tYm9ybiwgMjguIE1haSAxOTk3LCAxNzoyMToyOSk6Cn4jISBybj1KYXNwZXIgcnQ9ODY0ODMyNjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODMyNjI3CkRhcyBtaXQgZGVtICJDbG9zaW5nIGRvd24iIHdhciBuYXR1ZXJsaWNoIGljaC4uLgoKQWNoIGphLCB2ZXJsZWd0IGV1cmVuIE11ZWxsIGhpZXIgYXVzIGRlciBSdWJyaWsgZG9jaCBhbGxlaW5lLCBsYW5nc2FtIGdld29laG5lCmljaCBtaWNoIGRyYW4sIGRhc3MgZGllIE1laHJoZWl0IGhpZXIgYWxsZ2VtZWluZXMgbWl0IHNjaG1hcnJuLjIKdmVyd2VjaHNlbHQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gVmVybGVnZXIgdW5kIFJhdXNzY2htZWlzc2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXSUNIVElHISEhISAoUGFyYWNlbHN1cywgMjguIE1haSAxOTk3LCAxNzoyMjoyNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY0ODMyODg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODMyNjI3ClNjaHJlaWIgYmxvc3Mgbml4IEZhbHNjaGVzLCBHcmltbSosIHNvbnN0IGJlbmVubnQgUm9jaHVzIGRpZXNlIFJ1YnJpayBhdWNoCm5vY2ggdW0uClBhcmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdJQ0hUSUchISEhIChKYXNwZXIsIDI4LiBNYWkgMTk5NywgMTc6MjI6MzQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NDgzMjg4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDgzMjYyNwppY2ggd29sbHRlIGlobiBuYWNoIHNjaG1hcnJuIHBvc3RlbiBhYmVyIGljaCBoYWIgbWlyIGdlZGFjaHQsIGRhIGR1IGRvY2ggc28KZ2VybmUgYXJ0aWtlbCB2ZXJsZWdzdC4uLiA7UAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV0lDSFRJRyEhISEgKEphc3BlciwgMjguIE1haSAxOTk3LCAxNzoyMzowMSk6Cn4jISBybj1KYXNwZXIgcnQ9ODY0ODMyOTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY0ODMyNjI3CmJ0dy4gZ2lidHMgc2Nob24gZWluICd2ZXJsZWdlIHRocmVhZCcgPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXSUNIVElHISEhISAoR3JpbW1ib3JuLCAyOC4gTWFpIDE5OTcsIDE3OjIzOjU0KToKfiMhIHJuPUphc3BlciBydD04NjQ4MzI5ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjQ4MzI2MjcKTGVpZGVyIG5laW4uIEhhYiBpY2ggbmF0dWVybGljaCB3aWVkZXJob2x0IHZlcnN1Y2h0LgpVbmQgZWluIHhkbyAyMCN2ZXJsZWdlIGFydGlrZWwgbnVtbWVyIG5hY2ggc2NobWFycm4gZ2VodCBhdWNoIG5pY2h0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVtd2FuZGx1bmcgZGV6aW1hbHphaGwgLT5kdWFsemFobCAoR2FyZmllbGQsIDI5LiBNYWkgMTk5NywgMDE6MDM6MDkpOgp+IyEgcm49Um9jaHVzIHJ0PTg2NDgxNDU0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NDgwODUzMQoKRmluZCBpY2ggdG9sbC4gRGEgbGVybnQgbWFuIG5vY2ggd2FzIGZ1ZXJzIExlYmVuLgpWaWVsZW4gRGFuaywgUm9jaHVzIQooSGFiIGljaCBuYXR1ZXJsaWNoIHNvZm9ydCBhdXNwcm9iaWVydCkKCkdhcmZpZWxkLCB3aWxkIHJlY2huZW5kCioqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpcm4gKFNvY3JhdGUsIDMwLiBNYWkgMTk5NywgMTk6MzA6NDcpOgpJbiBNdWVuc3RlciB3aXJkIGluIGRlbiBuYWVjaHN0ZW4gVGFnZW4gZWluZSBWZXJhbnN0YWx0dW5nIGRlciBLYXRob2xpc2NoZW4KSG9jaHNjaHVsZ2VtZWluZGUgc3RhdHRmaW5kZW4genUgZGVtIFRoZW1hIGRlciB0aGVvbG9naXNjaGVuIEltcGxpa2F0aW9uZW4gZGVyCldlbHQgZGVzIFN0YXIgVHJla3MuIFVudGVyIGFuZGVyZW0gd2lyZCBkb3J0IGVpbiBQZmFycmVyIGRhcnVlYmVyIHNwcmVjaGVuLAp3YXMgbWl0IGRlciBTZWVsZSB3YWVocmVuZCBkZXMgQmVhbWVucyBwYXNzaWVydC4KCmdhZ2FnYWdhZ2dhZ2EgOi0oCkhvZXJ0IGRlciBTY2h3YWNoc2lubiBkZW5uIG5pZSBhdWY/Pz8KSW4gd2VsY2hlbSBKYWhyaHVuZGVydCBsZWJlbiB3aXIgZWlnZW50bGljaD8/PwoKU29jcmF0ZSwgc2Nob24gbGFlbmdzdCBkaWUgSE9mZm51bmcgYXVmIGRpZSBWZXJudW5mdCBhdWZnZWJlbmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGlybiAoV3VyemVsLCAzMS4gTWFpIDE5OTcsIDE4OjM3OjAwKToKfiMhIHJuPVNvY3JhdGUgcnQ9ODY1MDEzNDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1MDEzNDQ3CmhtLCBkZXIgdGl0ZWwgZGVpbmVzIGFydGlrZWxzIHBhc3N0IG5pY2h0IGdhbnogenUgImthdGhvbGlzY2giLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWdpZXIgKFJvY2h1cywgIDMuIEp1biAxOTk3LCAxNDo1NDo1Nyk6Ck1hbiBrYW5uIGpldHp0IHdpZWRlciBNYWdpZXIgd2VyZGVuLCBhbGxlcmRpbmdzIGFuZmFuZ3MKbm9jaCBtaXQgZWluZ2VzY2hyYWVua3RlbiBGYWVoaWdrZWl0ZW4uCkdlbmF1ZXJlcyB3aXJkIFdhcmdvbiBkZW1uYWVjaHN0IHNjaHJlaWJlbi4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3RzdGFuZCAoQXN0YXIsICAzLiBKdW4gMTk5NywgMTY6MDk6MDQpOgoKW01hZ2llcjpIYXRlIHdpcmZ0IG1pdCBlaW5lbSBLYXV0c2NodWtoYW1tZXIgbmFjaCBQYW1wZXJzLl0KW01hZ2llcjpQYW1wZXJzIGZhZW5ndCBlaW5lbiBLYXV0c2NodWtoYW1tZXIgZ2VzY2hpY2t0Ll0KW01hZ2llcjpIYXRlIHJ1ZnQgZGllIE1HIENoYW9zdGFnZSBhdXMuXQpbTWFnaWVyOkJvaW5nXSBoYWhhLCBkYWR1cmNoIGRhc3MgZHUgZGVuIGhhbW1lciBnZWZhbmdlbiBoYXN0LCBrb25udGVzdCBkdSBkZW0KW01hZ2llcjpCb2luZ10gZmlzY2ggbmljaHQgYXVzd2VpY2hlbgpbTWFnaWVyOkhhdGUgZ3JpbnN0Ll0KW01hZ2llcjpEd2lnaHRdIGljaCBkYWNodGUgaGllciBnZWh0cyBlcm5zdGVyIHp1LCBhbHMgYXVmIGRlbiBub3JtYWxlbiBlYmVuZW4KW01hZ2llcjpEd2lnaHRdIDopCltNYWdpZXI6QXN0YXJdIE5vZQpbTWFnaWVyOkhvYm9dIGlociBoYWJ0IGRvY2ggYWxsZSBuZW4gc2NodXNzIQpbTWFnaWVyOlBhbXBlcnMgd2lyZCB2b24gRXJ6aXMgdW5kIEdvZXR0ZXJuIGJld29yZmVuLi4uLl0KW01hZ2llcjpQYW1wZXJzXSBJY2ggYXJtZXIga2xlaW5lciBNYWdpZXIuLi4KW01hZ2llcjpQYWRyZWljIHRyb2VzdGV0IFBhbXBlcnNdCltNYWdpZXI6SGF0ZSB3aXJmdCBkaWUgR29ldHRlciBuYWNoIFBhbXBlcnMuXQpbTWFnaWVyOkJvaW5nXSBoZWVlZWUhCkZMQVRTQ0ghCltNYWdpZXI6QXN0YXJdIEpldHp0IHdpcmQgbWFsIHdpZWRlciB3aXJrbGljaCBraW5kaXNjaC4uLgpCb2luZyB3aXJmdCBkaXIgZGVuIGZhdWxlbmRlbiBGaXNjaCBhbiBkZW4gS29wZi4KSGF0ZSB3aXJmdCBlaW5lbiBCb2luZzc0NyBuYWNoIFBhbXBlcnMuCkRlciBGaXNjaCB2ZXJmYXVsdCBpbW1lciBtZWhyLgpbTWFnaWVyOkhhdGVdIFdlbm4gaWNoIG1pciB2b3JzdGVsbGUgd28gQm9pbmcgZGVuIGtyYW0gaGVyaG9sdC4uLihCb2luZyB6aWVodApbTWFnaWVyOkhhdGVdIGV0d2FzIGF1cyBzZWluZXIgTmFzZS4pCltNYWdpZXI6SGF0ZSBicmljaHQuXQpEZXIgRmlzY2ggdmVyZmF1bHQgenVzZWhlbmRzLgpbTWFnaWVyOlBhbXBlcnNdIEhhdGUgd2lyZnQgZWluZW4gQm9pbmc3NDcgbmFjaCBQYW1wZXJzLiAtLS0gQXVhLi4gOi0pCltNYWdpZXI6SGF0ZV0gRGVyIHdhciBuaWNodCB2b24gbWlyCltNYWdpZXI6SGF0ZV0gdW5kIGljaCBob2ZmZSBlaW4gbWVjaG8KQW4gZGVtIEZpc2NoIGhhZW5nZW4gaW56d2lzY2hlbiBzY2hvbiBGbGVpc2NoZmV0emVuIGhlcnVudGVyLgpBbiBkZW0gRmlzY2ggaXN0IGluendpc2NoZW4gYWxsZXMgRmxlaXNjaCB3ZWdnZWZhdWx0LgpEYXMgRmlzY2gtR2VyaXBwZSB6ZXJmYWVsbHQgaW4gZWluemVsbmUgR3JhZXRlbi4KRHUgdmVybGllcnN0IG51biBhdWNoIG5vY2ggZGllIGxldHp0ZW4gR3JhZXRlbi4KSGF0ZSB3aXJmdCBkZW4gQmFnZ2VyIGF1ZiBQYW1wZXJzLgpbTWFnaWVyOlBhZHJlaWNdIGhpZXIgYmVmaW5kZW4gc2ljaCBzY2hlaW5iYXIgZWluaWdlIGF1ZiBkZW0gUnVlY2t3ZWcgenVyCltNYWdpZXI6UGFkcmVpY10gRW1icnlvbmFsZW4gUGhhc2UuLi4KW01hZ2llcjpCb2luZ10gb2ssIGR1IGhhc3QgZXMgc28gZ2V3b2xsdCwgcGFkcmVpYwpbTWFnaWVyOihCYWJvb24pXSBOYWphLCBnb2V0dGVyIHVuZCBlcnppcyBoYWx0LgpQYWRyZWljIGhvbHQgZGFyYXVmaGluIE9iZWxpeCByYXVzLCBkZXIgYW5mYWVuZ3QgQm9pbmcga3JhZWZ0aWcgenUKdmVyZHJlc2NoZW4uLi4KW01hZ2llcjpBc3Rhcl0gU29sbGVuIHdpciBnbGVpY2ggQXJ0aWtlbHdldHRsb2VzY2hlbiBtYWNoZW4/CltNYWdpZXI6UGFkcmVpY10gd2Vpc3MgamVtYW5kIHdpZSBzaWNoIGVpbiBQYXJhb3JrIGluIGRlciBBYmVudGV1cmVyZ2lsZGUKW01hZ2llcjpQYWRyZWljXSB2ZWhhZWx0PwpbTWFnaWVyOihCYWJvb24pXSBJY2ggZmFlbmRlIFNwaWVsZXJ3ZXR0bG9lc2NoZW4gdmllbCBzY2hvZW5lci4uLgpbTWFnaWVyOkhhdGVdIE5hbmEsIHdpciB3b2xsZW5zIG1hbCBuaWNodCB1ZWJlcnRyZWliZW4uLi4KW01hZ2llcjpQYWRyZWljXSBkYSBrb2VubmVuIGxlaWRlciBudXIgc28gd2VuaWdlIGRyYW4gdGVpbG5laG1lbgpbTWFnaWVyOkhhdGVdIFNvbnN0IHNwaWVsZSBpY2ggS2xlaW5tYWdpZXJyb3VsZXR0ZQpbTWFnaWVyOlBhbXBlcnMgYmFzdGVsdCBncmFkIGFuIGVpbmVyIEVyem1hZ2llcmZhbGxlLl0KRWluIEJvdGUga29tbXQgaGVyZWluZ2VoYXN0ZXQgdW5kIGJlZ2lubnQgd2lsZCB6dSBmdWNodGVsbiB1bmQgenUgcGxhcHBlcm46CidQYWRyZWljIGhhdCBnZXJhZGUgSGF0ZSB6dW0gRHVlbGwgaGVyYXVzZ2Vmb3JkZXJ0ISBJaHIgbXVlc3N0IHNjaG5lbGwgaW4gZGllCld1ZXN0ZSB6dXIgS2FtcGZhcmVuYSBsYXVmZW4sIGRhcyBkdWVyZnQgaWhyIGV1Y2ggbmljaHQgZW50Z2VoZW4gbGFzc2VuIScgVW5kCnNjaG9uIGhhc3RldCBlciB3aWVkZXIgcmF1cy4KW01hZ2llcjpQYW1wZXJzIGJhc3RlbHQgZ3JhZCBhbiBlaW5lciBFcnptYWdpZXJmYWxsZS5dCltNYWdpZXI6Qm9pbmddIGR1bW1lcyBlY2hvIC4uLiBpY2ggaWdub3JpZXJlIGRvY2ggYXJlbmEKW01hZ2llcjooQmFib29uKV0gSWNoIG5laG1lIGFuLCBzZWluZSBNYW5pZXJlbiBsYXNzZW4genUgd3VlbnNjaGVuIHVlYnJpZywKW01hZ2llcjooQmFib29uKV0gYWJlciB3aWUgZXIgZGFoaW4ga29tbXQgd2Vpc3Mgd29saGwgYWxsZWluZSBtb3Jnb3RoLgpbTWFnaWVyOlBhbXBlcnNdIGljaCBhdWNoLiA6LTApCltNYWdpZXI6SGF0ZSBsb2VzY2h0IG1hbCBhbGxlIE1hZ2llciBtaXQgInBhIl0KW01hZ2llcjpQYW1wZXJzIGdydW1tZWx0Ll0KW01hZ2llcjooQmFib29uKV0gV2llIGlzdCBkZW5uIGRhcyBtaXQgZGVtIEtsZWlubWFnaWVyIGdlbWVpbnQ/IEljaCBiaW4gZG9jaApbTWFnaWVyOihCYWJvb24pXSBzY2hvbiBMdmwgMjYhCltNYWdpZXI6UGFkcmVpY10gYWVobS4uLgpbTWFnaWVyOlBhbXBlcnMgZ3JpbnN0Ll0KW01hZ2llcjpCb2luZ10gZHUgbXVzc3QgZGFzIGF1cyB1bnNlcmVyIHdhcnRlIHNlaGVuLCBiYWJvb24gOikKW01hZ2llcjpIYXRlIGdyaW5zdCBCb2luZyBhbi5dCltNYWdpZXI6Qm9pbmddIGhhdGUgaXN0IHouYi4gZWluIGtsZWlubWFnaWVyIGZ1ZXIgbWljaCA6KQpbTWFnaWVyOkhhdGVdIHBhaApbTWFnaWVyOkJvaW5nIGdyaW5zdF0KW01hZ2llcjpIYXRlXSBTdG9oZ290dApbTWFnaWVyOlBhbXBlcnMga2ljaGVydC5dCltNYWdpZXI6SGF0ZV0gU3Ryb2gKW01hZ2llcjpSdW1hdGFdIG9jaCBraW5uZXJzIDopCltNYWdpZXI6SGF0ZSBob2x0IGRpZSBTdGVpbmJlaXNzZXJmbGludGUgcmF1c10KW01hZ2llcjpCb2luZ10gZHUgYmlzdCBqYSBudXIgc28gZWluIGFsdGVyIHNhY2ssIHdlaWwgZHUgUF9BR0UgZ2VzZXR6dCBoYXN0LApbTWFnaWVyOkJvaW5nXSBydW1hdGEgLi4uIGFsc28gcnVoZSBtaXQgJ0tpbm5lcnMnIDspCltNYWdpZXI6KEJhYm9vbildIFVhaGgsIEVSIGlzdCBlcndhY2h0LiBGZWhsdCBudXIgbm9jaCBKb2YuIDotKQpbTWFnaWVyOlBhZHJlaWNdIHVuZCB3aWUgb2Z0IGhhdCBzaWNoIGhhdGUgc2Nob24gc2VpbiB3YWhyZXMgYWx0ZXIgenVydWVjawpbTWFnaWVyOlBhZHJlaWNdIGdlc2V0enQ/CltNYWdpZXI6SGF0ZSBzY2h1YnN0IFJ1bWF0YSBpbiBzZWluZW0gUm9sbHN0dWhsIHZvbiBkZXIgU2NoZWliZS4uLl0KW01hZ2llcjpIYXRlXSBOaWNodCBlaW4gZWluemlnZXMgbWFsCltNYWdpZXI6Um9jaHVzXSBodWNoLCBiYWxkIHVlYmVyaG9sZSBpY2ggamEgYm9pbmcgOikgdW5kIElDSCBoYWJlIG5pY2h0IG1laW4KW01hZ2llcjpSb2NodXNdIGFsdGVyIG1hbmlwdWxpZXJ0CltNYWdpZXI6UGFkcmVpYyBsYWNodF0KW01hZ2llcjpSdW1hdGFdIHZvbiB3ZWxjaGVyIHNjaGVpYmUgPwpbTWFnaWVyOkhhdGVdIE1HCltNYWdpZXI6Qm9pbmddIHJvY2h1cywgaWNoIGhhYiBkYXMgZ2VuYXUgYmVvYmFjaHRldCAuLi4gaW4gZGVuIGxldHp0ZW4gd29jaGVuCltNYWdpZXI6Qm9pbmddIGhhYiBpY2ggbWVpbmVuIHZvcnNwcnVuZyBsZWljaHQgYXVzZ2ViYXV0LCBkdSB3YXJzdCBzY2hvbgpbTWFnaWVyOkJvaW5nXSBuYWVoZXIgZHJhbiA6KQpbTWFnaWVyOlBhbXBlcnNdIFdlbm4gaWNoIGdyb3NzIGJpbiwgZGFubiB3ZXJkIGljaCBFcnptYWdpZXIgZnVlciBMUEMuCltNYWdpZXI6UGFkcmVpY10gMzEgdGFnZSB3YXJzdCBkdSBkb2NoIGFsbGVpbmUgaW0gbGV0enRlbiBtb25hdCBlaW5nZWxvZ2d0CltNYWdpZXI6UnVtYXRhXSBtZyBpc3Qga2VpbmUgc2NoZWliZSBzb25kZXJuIGVpbmUgcGl6emEsIGRpZSBqb2YgdW5kIGljaCB1bnMKW01hZ2llcjpSdW1hdGFdIGdlcmFkZSBrb2NoZW4KW01hZ2llcjpSb2NodXNdIHVlYnJpZ2VucywgYm9pbmcsIGhlcnpsaWNoZW4gZ2x1ZWNrd3Vuc2NoIHp1bSAyNTAuIDotKQoKClNvLCBkYXMgZ2luZyBub2NoIHZpZWwgd2VpdGVyLCBpY2ggYmluIGpldHp0IG51ciB6dSBmYXVsLi4uCgpBc3RhcgoKUFM6IFZpZWwgU3Bhc3MgYmVpbSBsb2VzY2hlbi92ZXJzY2hpZWJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vdHN0YW5kIChBc21vZGlzLCAgMy4gSnVuIDE5OTcsIDIwOjMxOjU1KToKfiMhIHJuPUFzdGFyIHJ0PTg2NTM0Njk0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTM0Njk0NApKbywga2lubmVycywgZ2VidCBtYWwgbmljaHQgbWl0IGV1cmVuIGxhZXBwaXNjaGVuIDI1MCBUYWdlbiBhbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVuZCB3ZWNoIChQYW1wZXJzLCAgNS4gSnVuIDE5OTcsIDE2OjA1OjI4KToKfiMhIG9uPUtyZXRlayBvdD04NjU1MTk0Njggb2c9bWFnaWVyLnVybGF1Ygp+IyEgcm49SGlnaGxhbmRlciBydD04NjU1MTM1MjMgcmc9bWFnaWVyLnVybGF1Ygp+IyEgdGlkPTg2NTUxMzUyMwpLYW5uIG5pY2h0IHp1ZmFlbGxpZyBzZWluLCBkYXNzIGRhcyBhbGxtYWVobGljaCBuZXJ2dCwgb2Rlcj8KCksuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzY2hlaXNzIHBvc3RzeXN0ZW0gKFphcGhvYmlsaSwgIDUuIEp1biAxOTk3LCAxNzozNDo0NSk6CgpIaSBpaHIgYWxsZQoKSWNoIHdvbGx0ZSBudXIgbWFsIG1laW5lIE1laW51bmcgenVtIFRoZW1hIFBvc3RzeXN0ZW0gc2FnZW4uIApEaWUgbm9ybWFsZSBQb3N0IGlzdCBzdXBlciBnZW1hY2h0LiBEb2NoIGRhcyBQYWtldCB1bmQgS3VyaWVycGFrZXRlCnZlcnNjaGlja2VuIGlzdCBlaW5mYWNoLCBhZWgsIHNhZ2VuIHdpciBtYWwsIHNjaHJla2xpY2guIEJyaWVmbWFya2Uga2F1ZmVuIG1pdAprYXVmZSBtYXJrZSAod2VydCkuIERhIG11c3MgbWFuIGVyc3RtYWwgZHJhdWYga29tbWVuLiB1bmQgZGFubiBhdWYgZGFzIHBha2V0Cm1pdCBmcmFua2llcmUgcGFrZXQuIHVuZCB3ZW5uIG1hbiBzaWNoIHZlcnRhbiBoYXQ/IG5pbW0gbWFya2Ugdm9uIHBha2V0Pwp3aWUgaWNoIGRhcyBwYWtldCBiZXNjaHJpZnRlIGhhYmUgaWNoIGF1Y2ggbm9jaCBuaWNodCByYXVzZ2VmdW5kZW4uIHNjaHJlaWJlCmJyaW5ndCBtaWNoIHp1bSB6ZWl0dW5nc2FydGlrZWxzY2hyZWliZW4uIGlzdCBhdWNoIGlyZ2VuZHdpZSBndXQgc28uCm5hamEsIGljaCB3ZXJkZSBtYWwgd2VpdGVyIHByb2JpZXJlbiwgdW5kIHdlbm4gaWNoIGVzIG5pY2h0IHNjaGFmZmUsIGRhbm4gR0VCRQppY2ggZGVuIEdlZ2Vuc3RhbmQgaGFsdCBhYi4gZGFubiBzcGFyIGljaCB3ZW5pZ3N0ZW5zIG1laW4gZ2VsZC4KCk5lbiBTY2hvZW5lbiBUYWcgbm9jaC4KClphcGhvYgojIwojIyMKIyMjIwojIyMjIwojIyMjIyMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzY2hlaXNzIHBvc3RzeXN0ZW0gKEtleSwgIDUuIEp1biAxOTk3LCAxNzozNTo1Nik6Cn4jISBybj1aYXBob2JpbGkgcnQ9ODY1NTI0ODg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1NTI0ODg1Cktlbm5zdGUgZGVuIHVudCBiZWZlaGw/IERlciBoaWxmdCBzZWhyIG9mdCAuLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNjaGVpc3MgcG9zdHN5c3RlbSAoT3JrdG9ldGVyLCAgNS4gSnVuIDE5OTcsIDE3OjM2OjM4KToKfiMhIHJuPVphcGhvYmlsaSBydD04NjU1MjQ4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU1MjQ4ODUKSG0gaGFzdCBkdSBkZW4gUG9zdGJlYW10ZW4gbWFsIG5hY2ggUG9zdCB1bmQgUGFrZXQgZ2VmcmFndCA/IERlciBzYWd0IGRpZQphbGxlcyB3YXMgZHUgd2lzc2VuIG11c3N0LgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV296dSBpc3QgZGVyIFNjaGx1ZXNzZWwgZGEgPz8/IChaYXBob2JpbGksICA1LiBKdW4gMTk5NywgMTg6MDc6NDApOgoKSGFsbG8gbWl0ZWluYW5kZXIuCgpEYSBkYXMgdm9yaGluIGdhbnogZ3V0IGdla2xhcHB0IGhhdCB1bmQgbWlyIGhpZXIga2VpbmVyIG5lIGFudHdvcnQgZ2lidApzY2hyZWliIGljaCBtZWluZSBGcmFnZSBlaW5mYWNoIGluIGRpZSBaZWl0dW5nIChpY2ggc3RlbGxlIG1pciBnZXJhZGUgdm9yLCB3aWUKZGFzIHdhZXJlLCB3ZW5uIG1hbiBkYXMgaW4gd2lya2xpY2hrZWl0IGF1Y2gga29lbm50ZTsgZWdhbCk6CiAgICAgICBXb3p1IGlzdCBkZXIga2xlaW5lIHNjaGx1ZXNzZWwsIGRlbiBtYW4gYXVmIGRlciBKb2xsZSBmaW5kZW4ga2Fubj8KCmZhbGxzIGplbWFuZCBhbnR3b3J0IHdlaXNzLCBiaXR0ZSBtYWlsIGFuIG1pY2gsIG9kZXIgZWluZmFjaCByZS1hbnR3b3J0ZW4uCgpkYW5rZSBpbSB2b3JhdXMuCgp6YXBob2IoaWxpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVmb3JtIChSYW50YW5wbGFuLCAgNi4gSnVuIDE5OTcsIDEyOjExOjQ3KToKSHVodSAhISEKCkljaCBoYWV0dGUgbm9jaCBmb2xnZW5kZSBBZW5kZXJ1bmdzd3VlbnNjaGUgZnVlciBkYXMgTS5HLiAhCgphLikgRXJ6bWFnaWVyIGR1ZXJmZW4gYWxsZSBNYWlscyBsZXNlbiB1bmQgYmVpIC1uYWNoIGlocmVtIEVybWVzc2VuLQpiZWRlbmtsaWNoZ2VuIEluaGFsdCBhbGxlIGJldGVpbGlndGVuIExvZXNjaGVuLgoKYi4pIEltIFp1Z2UgZGVyIFNwaWVsc3Bhc3NtYXhpbWllcnVuZywgZHVlcmZlbiBudXIgbm9jaCBuYWNod2Vpc3NsaWNoCmVjaHRlIFJvbGxlbnNwaWVsZXIgbWl0bWFjaGVuLgoKYy4pIEplZGUgZnJhdWVuZmVpbmRsaWNoZSwga3JpdGlzY2hlIG9kZXIgc29uc3R3aWUgYW5zdG9lc3NpZ2UKQmVtZXJrdW5nIGF1ZiBBbGxnZW1laW4sIHppZWh0IHNvZm9ydGlnZSBMb2VzY2h1bmcgbmFjaCBzaWNoLgoKZC4pIEdlc2Nod2luZGlna2VpdHMgdW5kIEFsa29ob2xrb250cm9sbGVuIGZ1ZXIgU2tyaXB0ZXIuCldlciBzY2huZWxsZXIgYWxzIDUgY21kcy9zIHNjcmlwdGV0IHVuZCBtaXQgbWVociBhbHMgMS4wIFByb21pbGxlCm11ZGRldCB3aXJkIGdlbG9lc2NodC4KCmUuKSBVbmFuZ2VsbWVsZGV0ZSBad2VpdGlzIHdlcmRlbiBzb2ZvcnQgZ2Vsb2VzY2h0LgoKZi4pIFdlciBvZWZ0ZXIgU3RpcmJ0IGJld2lzc3QsIGRhc3MgZXIgc293aWVzbyBuaWNodCByaWNodGlnIHNwaWVsZW4gd2lsbAp1bmQgd2lyZCBzb2ZvcnQgZXh0ZXJtaW5pZXJ0LgoKZy4pIFdlciBhbHMgTWFnaWVyIG5pY2h0IG1pbmRlc3RlbnMgMmsvd29jaGUgUHJvZ3JhbW1zb3VyY2UgYWJsaWVmZXJ0IHdpcmQKYXVmIFNwaWVsZXJsZXZlbCBnZXNldHp0LgoKaC4pIFNjaGx1c3MgbWl0IGx1c3RpZy4KCkdydXNzCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjaCBqYSAhISAoUmFudGFucGxhbiwgIDYuIEp1biAxOTk3LCAxMjoxMzo1Nyk6CgpVbmQgbmF0dWVybGljaCBkaWUgVG9kZXNzdHJhZmUgZnVlciBSYXNlciAhISEhCgpSTCB2ZXJzdGVodCBzaWNoIDstKQoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVmb3JtIChGeXQsICA2LiBKdW4gMTk5NywgMTI6MjM6MDIpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjU1OTE5MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU1OTE5MDcKClVuZCB3byBzaW5kIGRpZSBBZW5kZXJ1bmdlbj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2ggamEgISEgKER3aWdodCwgIDYuIEp1biAxOTk3LCAxMjoyNDozMyk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2NTU5MjAzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTU5MjAzNwpXdWVyZGUgenVtaW5kZXN0IGZ1ZXIgd2VuaWdlciBXaWVkZXJob2x1bmdzdGFldGVyIHNvcmdlbiA7LSkKRHdpZ2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2NoZWlzcyBwb3N0c3lzdGVtIChTY2hsaXBzLCAgNi4gSnVuIDE5OTcsIDE5OjA5OjQ3KToKfiMhIHJuPVphcGhvYmlsaSBydD04NjU1MjQ4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU1MjQ4ODUKTmFqYSwgc29vbyBzY2hsaW1tIGlzdHMgYXVjaCBuZXQgLSB3aWUgbWFuIGVpbiBQYWtldCBhYnNjaGlja3QgaGFiIGljaApiZXJlaXRzIGFscyBsb3cgbGV2ZWwgU3BpZWxlciBtaXQgdW50ZXJzdWNoZW4gdW5kIGV0d2FzIGdlc3VuZGVtCk1lbnNjaGVudmVyc3RhbmQgaGVyYXVzZ2VmdW5kZW4uCk9iIG1hbiBkaWUgQnJpZWZtYXJrZW4gd2llZGVyIGFibG9lc2VuIGthbm4gd2Vpc3MgaWNoIGFsbGVyZGluZ3MKYXVjaCBuZXQgLSBoYWIgaWNoIG5vY2ggbmljaHQgYXVzcHJvYmllcnQuCgpTY2hsaXBzLCBleC1XdXJzdHNwaWVsZXIgdW5kIG1vbWVudGFuZXIgV3Vyc3RzZWhlciBhdXNuYWhtc3dlaXNlIG1hbApuaWNodCBiZWltIE1lY2tlcm4gOykKClBTOiBpY2gga2FubiBEaXIgZGFzIGF1Y2ggbWFsIGVya2xhZXJlbiwgd2VubiBpY2ggbWFsIG9ubGluZSBiaW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIbSwgbGVja2VyIEJ1Z3MuIChHbG9pbiwgIDcuIEp1biAxOTk3LCAwMzoxMjo1Mik6CkRhIGVzIGpldHp0IGdlZ2VuIDM6MDAgVWhyIGlzdCwgdW5kIGljaCBrZWluZSBMdXN0IG1laHIgaGFiZSwgYXVmIGlyZ2VuZAplaW5lbiBNYWcgenUgd2FydGVuOgpJY2ggdmVybWlzc2Ugc2VpdCBtZWluZW0gbGV0enRlbiBFbmRlOgotIGRlbiBUZWRkeQotIDcgSHlkcmFob2VybmVyCi0gbWVpbmVuIEtsZXJ1c3RhbGlzbWFuCi0gZGllIFplaXR1bmcgOy0pCgpNYWwgc2VoZW4sIG9iIGljaCBtb3JnZW4gaXJnZW5kIGplbWFuZGVuIGRhenUgZXJ3ZWljaGVuIGthbm4sIG1pciBkYXMKR2FuemUgd2llZGVyIG1hbCBoZXJ6dXN0ZWxsZW4uIERhcyBpc3QgamV0enQgZGFzIGRyaXR0ZSBNYWwsIGRhcyBtaXIKYmVpIEVuZGUgQXV0b2xvYWRlciB2ZXJzY2h3aW5kZW4uCgpHbG9pbiAuLi4gZ2VodCBncnVtbWVsbmQgdW5kIGF1ZiBkaWUgTGliIHNjaGltcGZlbmQgaW5zIEJldHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplaW4gdW5lcmtsYWVybGljaGVyIHRvZCEgKE1lc2lyaWksICA4LiBKdW4gMTk5NywgMTU6MDE6NDgpOgpJY2ggaGFiIGdyYWQgbWl0IGVpbmVtIEphdmEtQXBwbGV0IG1laW5lIEluZGlnbyBhYmdlc2Nob3NzZW4gdW5kIGFscyBpY2gKbWljaCBncmFkIHdpZWRlciBpbnMgTUcgZWluZ2Vsb2dndCBoYWJlLCBiaW4gaWNoIGZhc3Qgc29mb3J0IHRvdCwgb2J3b2hsCmljaCB2b3IgZGVtIEFic2NodXNzIG5vY2ggdm9sbGUgTFAgaGF0dGU/IFdpZSBrYW5uIGRlbm4gZGFzIHBhc3NpZXJlbiA/CgoKRGVyIFN0ZWluYmVpc3NlciB2ZXJzY2h3aW5kZXQgd2llZGVyLCB1bmQgRHUgd2FjaHN0IGluIGVpbmVyIGFuZGVyZW4gV2VsdCBhdWYuCgpXaWUgaGVpc3N0IER1IGRlbm4gPyBTY2hvZW4sIGRhc3MgRHUgd2llZGVyIGRhIGJpc3QsIE1lc2lyaWkhCgpEdSBuaW1tc3Qgc2Nob24gYW0gU3BpZWwgdGVpbCEKVmVyd2VuZGUgRGVpbmUgYWx0ZSBzdGVyYmxpY2hlIEh1ZWxsZSAuLi4KQXVmIGVpbmVtIFdlZyBkdXJjaCBkZW4gRHNjaHVuZ2VsLgpFcyBnaWJ0IHp3ZWkgc2ljaHRiYXJlIEF1c2dhZW5nZTogbm9yZHdlc3RlbiB1bmQgbm9yZG9zdGVuLgpFaW4gUGFudGhlci4KICBEZXIgUGFudGhlciBncmVpZnQgRGljaCBtaXQgc2VpbmVuIFByYW5rZW4gYW4uCiAgRGVyIFBhbnRoZXIga3JhdHp0IERpY2guCiAgRHUgZ3JlaWZzdCBkZW4gUGFudGhlciBtaXQgYmxvc3NlbiBIYWVuZGVuIGFuLgogIER1IHRyaWZmc3QgZGVuIFBhbnRoZXIgaGFydC4KICBEZXIgUGFudGhlciBncmVpZnQgRGljaCBtaXQgc2VpbmVuIFByYW5rZW4gYW4uCiAgRGVyIFBhbnRoZXIgdmVyZmVobHQgRGljaC4KICBEdSBncmVpZnN0IGRlbiBQYW50aGVyIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4uCiAgRHUgdHJpZmZzdCBkZW4gUGFudGhlciBoYXJ0LgogIERlciBQYW50aGVyIGdyZWlmdCBEaWNoIG1pdCBzZWluZW4gUHJhbmtlbiBhbi4KICBEZXIgUGFudGhlciB0cmlmZnQgRGljaC4KRHUga2FubnN0IGVpbmUgY2hhb3Rpc2NoIG11dGllcnRlIEhhdXQgbmljaHQgYXVzemllaGVuLgpMaW51cyB0ZWlsdCBEaXIgbWl0OiB1bmQ/CgoKRHUga2FubnN0IGVpbmVuIE1hbm4gbWl0IGR1bmtsZXIgS2FwdXplIG5lYmVuIERlaW5lciBMZWljaGUgc3RlaGVuIHNlaGVuLgpFciB3aXNjaHQgZGllIGJsdXRpZ2UgS2xpbmdlIGVpbmVyIGdyYXVzaWdlbiBTZW5zZSBtaXQgbGFuZ3NhbWVuLCBnZW1lc3NlbmVuCkJld2VndW5nZW4gYWIuIFBsb2V0emxpY2ggaG9lcnQgZXIgYXVmIHVuZCBzY2hlaW50IERpY2ggZGlyZWt0IGFuenVzZWhlbiBtaXQKc2VpbmVuIGxlZXJlbiBBdWdlbmhvZWhsZW4gLi4uCgpEZXIgVG9kIHNhZ3Q6IEtPTU0gTUlUIE1JUiwgU1RFUkJMSUNIRSEKCgpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NobWFsIGRhenUgKE1lc2lyaWksICA4LiBKdW4gMTk5NywgMTU6MDk6MzApOgoKCmFjaHNvLCBkZXIgUGFudGhlciB6aWVodCBtaXIgc29uc3QgbWF4aW1hbCAxMCBscCBhYiBiaXMgZXIgdG90IGlzdApncmFkIGhhdHRlIGljaCBub2NoIGVpbiBHZXNwcmFlY2ggbWl0IEthcnRvZmZlbC4uLgoKS2FydG9mZmVsIHRlaWx0IERpciBtaXQ6IERhcyBQcm9ibGVtIGlzdCwgd2VubiBEdSBhbiBlaW5lciBTdGVsbGUKS2FydG9mZmVsIHRlaWx0IERpciBtaXQ6IGVpbnNjaGxhZWZzdCwgd28gRHUgZWluIGFncmVzc2l2ZXMgTW9uc3RlciBydW1yZW5udCwKS2FydG9mZmVsIHRlaWx0IERpciBtaXQ6IGRhcyBtZXR6ZWx0IERpY2ggbmV0enRvdCBiaXMgYXVmIDEwIExwIHJ1bnRlcgpEdSB0ZWlsc3QgS2FydG9mZmVsIG1pdDogd2VocnQgbWFuIHNpY2ggbmljaHQgYWxzIG5ldHp0b3RlcgpLYXJ0b2ZmZWwgdGVpbHQgRGlyIG1pdDogVW5kIHdlbm4gRHUgYXVmd2FjaHN0IHVuZCBlcyBpc3Qgbm9jaCBkYSAuLi4KS2FydG9mZmVsIHRlaWx0IERpciBtaXQ6IEFuc2NoZWluZW5kIG5pY2h0IGVmZmVrdGl2IGdlbnVnLCB3ZW5uCgppY2ggc2VoIGRlbiB0b2QgbmljaHQgZWluLCBkYSBpY2ggbWljaCBhbHMgbmV0enRvdGVyIGRvY2ggd2VocmVuIHNvbGx0ZQp1bmQgZGFubiBoYWV0dGUgZGVyIHBhbnRoZXIga2VpbmUgY2hhbmNlCgpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbm9jaG1hbCBkYXp1IChTaGFyaWEsICA4LiBKdW4gMTk5NywgMTU6Mjg6MjgpOgp+IyEgcm49TWVzaXJpaSBydD04NjU3NzUzNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKdW5kIGRhbm4gc2NobGFlZnQgbWFuIGJlaSBhZ3Jlc3NpdmVuIE1vbnN0ZXJuIGVpbmZhY2ggbnVyIGVpbiBvZGVyIHdpZSB1bmQgZXMKcGFzc2llcnQgZWluZW0gbml4ID8/IG5lZSBuZWUgbmVlIDotKT0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaG1hbCBkYXp1IChNZXNpcmlpLCAgOC4gSnVuIDE5OTcsIDE1OjM3OjQ0KToKfiMhIHJuPVNoYXJpYSBydD04NjU3NzY1MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKZG9vZmVzIGphdmEsIGRvb2ZlIGluZGlnbyAqZ3J1bW1lbCoKTWVzaXJpaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2NoZWlzcyBwb3N0c3lzdGVtIChMb2NvLCAgOS4gSnVuIDE5OTcsIDE1OjAxOjE2KToKfiMhIHJuPVNjaGxpcHMgcnQ9ODY1NjE2OTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1NTI0ODg1CkphLCBtYW4ga2FubiBkaWUgTWFya2VuIGFibG9lc2VuLiBBdWNoIGluIHVuZ2VzdGVtcGVsdGVtIFp1c3RhbmQsIGRhc3Mgc2llCmRhbmFjaCB3aWVkZXIgcG9zdGZyaXNjaCB1bmQgbmljaHQgbnVyIHVuZ2VicmF1Y2h0IHNpbmQsIGlzdCBhbGxlcmRpbmdzCnp1Z2VnZWJlbmVybWFzc2VuIG5pY2h0IGdhbnogbG9naXNjaCA7KQotIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNjaGVpc3MgcG9zdHN5c3RlbSAoTXVwZmVsLCAgOS4gSnVuIDE5OTcsIDIxOjA1OjExKToKfiMhIHJuPUxvY28gcnQ9ODY1ODYxMjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1NTI0ODg1CkhtLi4uIHdpZSB3YWVycyBtaXQgZWluZW0gQWxidW0genVtIEVpbmtsZWJlbj8gOi0pCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWxlZm9uZ2VidWVocmVuIChQYWRyZWljLCAxMC4gSnVuIDE5OTcsIDA5OjUwOjU5KToKSWNoIGhhYiBqZXR6dCBuZXVsaWNoIGltIFdlYiBkaWUgbmV1ZW4gVGVsZWZvbnJhYmF0dGUgZnVlciB2aWVsIFRlbGVmb25pZXJlcgpnZWZ1bmRlbi4gRGEgZGFzIGhpZXIgamEgZWluaWdlIGJldHJpZmZ0IHVuZCBlcyB2aWVsZSB2aWVsbGVpY2h0IG5vY2ggbmljaHQKa2VubmVuLCBrYW5uIGljaCBoaWVyIG51ciBqZWRlbSByYXRlbiBzaWNoIG1hbCBkaWUgd2ViIHNlaXRlbiBkZXIgVGVsZWtvbQphbnp1c2NoYXVlbi4gei5iLiBsb2hudCBzaWNoIGZ1ZXIgamVkZW4gZGVyIGFtIFdFIDEsNSBTdGQuIHp1bSBPcnRzdGFyaWYKdGVsZWZvbmllcnQgZGVyIENpdHlXZWVrZW5kIFRhcmlmLiBGdWVyIGVpbmlnZSBNdWRkZXIgZHVlcmZ0ZSBlcyBkYSBkaWUKbW9lZ2xpY2hrZWl0IGdlYmVuIGxvY2tlciAzMC00MCUgYW4gVGVsZWZva29zdGVuIHp1IHNwYXJlbi4gQWxzbyBzY2hhdXQgZXMKZXVjaCBtYWwgYW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdydXNzIFBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNjaGVpc3MgcG9zdHN5c3RlbSAoTG9jbywgMTAuIEp1biAxOTk3LCAxMDoyMTo0OCk6Cn4jISBybj1NdXBmZWwgcnQ9ODY1ODgzMTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1NTI0ODg1CkdpYnRzIGRvY2ggc2Nob24gc2VpdCBKYWhyZW4sIGltIEFuZ2Vib3QgYmVpIERPTVVTIGluIFN2b2x2YWVyLiBEZXIKQnJpZWZtYXJrZW5oYWVuZGxlciBzY2hyYWVnIGdlZ2VudWViZXIgYmVyYWV0IGFuZ2VoZW5kZSBCcmllZm1hcmtlbnNhbW1sZXIKZ2VybmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzY2hlaXNzIHBvc3RzeXN0ZW0gKFJhZmZpLCAxMC4gSnVuIDE5OTcsIDEzOjU5OjAwKToKfiMhIHJuPU11cGZlbCBydD04NjU4ODMxMTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU1MjQ4ODUKTG9naXNjaCBnaWJ0cyBkYXMhClVuZCBzZWl0IGluaWdlciBaZWl0IGdpYnRzIHNvZ2FyIG5lbiBicmllZm1hcmtlbmhhZW5kbGVyLgoKR3J1c3MKSC4KUC5TLiBpY2ggaGFiIG5lIChmYXN0KSBrb21wbGV0dGUgc2FtbWx1bmc6IEplZGUgTWFya2Ugc293b2hsIFBvc3RmcmlzY2ggYWxzCmF1Y2ggZ2VzdGVtcGVsdCwgbWluZGVzdGVucyBlaW4gbWFsIChvaywgenVnZWdlYmVuLCBkaWUgQm9pbmcmSm9mIGhhYiBpY2ggbnVyCmVpbm1hbCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBub2NobWFsIGRhenUgKEFjcmltb24sIDEwLiBKdW4gMTk5NywgMTg6MzA6MDYpOgp+IyEgcm49U2hhcmlhIHJ0PTg2NTc3NjUwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApOYXR1ZXJsaWNoIHNvbGx0ZSBtYW4gc2ljaCBiZWkgZ2VrYXBwdGVyIExlaXR1bmcgYmVpIGFncmVzc2l2ZW4gTW9uc3Rlcm4Kd2VocmVuLgpNZWluIFZvcnNjaGxhZzogTWFuIHdlaHJ0IHNpY2ggbm9ybWFsIChtYW4ga2FubiBoYWx0IGtlaW5lIGV4dHJhLVNwcnVlY2hlCmFud2VuZGVuKSwgdW5kIHNvYmFsZCBtYW4gbnVyIG5vY2ggMTAgTFAgaGF0LCB0cmlmZnQga2VpbmVyIGtlaW5lbiBtZWhyLgpEYW5uIGthbm4gbWFuIGF1Y2ggbmljaHQgbWVociBtb2dlbG4gYXVmIGRpZXNlIFdlaXNlLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NobWFsIGRhenUgKENhdHdlYXpsZSwgMTAuIEp1biAxOTk3LCAxOTozNDoyOSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg2NTk2MDIwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApEYXMgUHJvYmxlbSBiZWkgZGVuIE5ldHp0b3RlbiBpc3QsIGRhcyBzaWUgc2ljaCBuaWNodCB3ZWhyZW4sIGFiZXIgYXVjaCBuaWNodCAKc3RlcmJlbiBrb2VubmVuLiBNYW4ga2FubiBkYW1pdCB0aGVyb2V0aXNjaCBOZXR6dG90ZSBnYW56IHByaW1hIHp1bSB1ZWJlbgp2b24gZGl2ZXJzZW4gU2tpbGxzIG1pc3NicmF1Y2hlbi4KTWVpbiBWb3JzY2hsYWcgZGFmdWVyIGlzdCwgTmV0enRvdGUgbmljaHQgcnVtbHVuZ2VybiB6dSBsYXNzZW4sIHNvbmRlcm4KZGlyZWt0IG5hY2ggc2FnZW4gd2lyIDItMyBIZWFydGJlYXRzIGFienV0cmFuc3BvcnRpZXJlbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbm9jaG1hbCBkYXp1IChBbmF0b2wsIDEwLiBKdW4gMTk5NywgMTk6Mzc6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg2NTk2NDA2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApGZWluLCB3ZW5uIGRhbm4gaW4gZGVuIFJhdW0gZWluZSBNZWxkdW5nIGdlZ2ViZW4gd2lyZCwgZGFzcyBlaW4gTmV0enRvdGVyIGlobgp3aWVkZXIgYXVzIGRlbSBOZXR6dG90ZW5yYXVtIGJlc3RyaXR0Li4uPyA6KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbm9jaG1hbCBkYXp1IChIaWdobGFuZGVyLCAxMS4gSnVuIDE5OTcsIDEwOjI3OjU2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjU5NjQwNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKRGFmdWVyLgogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbm9jaG1hbCBkYXp1IChHcmltbWJvcm4sIDExLiBKdW4gMTk5NywgMTI6MTE6NDcpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NjYwMTc2NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKQXVjaCBkYWZ1ZXIuIEljaCBoYWV0dGUgYXVjaCBlaW4gcGFhciBuZXR0ZSBWb3JzY2hsYWVnZSwgd28gZGllIE5ldHp0b3RlbiBkYW5uCmxhbmRlbiBrb2VubnRlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBub2NobWFsIGRhenUgKFplbnRyaXQsIDExLiBKdW4gMTk5NywgMTI6MTU6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjAyMzkwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApzY2hvbiBlaW5nZWJhdXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2htYWwgZGF6dSAoS3JldGVrLCAxMS4gSnVuIDE5OTcsIDE2OjMzOjUwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NjU5NjQwNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKS2xpbmd0IHNlaHIgdmVybnVlbmZ0aWcuLi4gU2Nob24gaW0gSW50ZXJlc3NlIGRlciBMYW5kc2NoYWZ0OyBzaWVodCBkb2NoCmlyZ2VuZHdpZSBoYWVzc2xpY2ggYXVzLCB3ZW5uIGRhIHVlYmVyYWxsIChuZXR6dG90KS1MZXV0ZSBydW1saWVnZW4uLi4KCmZpbmRldCBLcmV0ZUsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2htYWwgZGF6dSAoQXRveiwgMTEuIEp1biAxOTk3LCAxOTo1MTo0Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODY1OTY0MDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwCkFlaCB2b24gd2VnZW4gbWFuIGthbm4gbmljaHQgbmV0enRvdCBzdGVyYmVuLi4uCkRhIGhhYmUgaWNoIG1hbCBTdHVwc2UgYWJnZXpvZ2VuIGJla29tbWVuLCBnZXJhZGUgYWxzIGVzIGRhcyBuZXVlIFN5c3RlbSBnYWIKdW5kIGljaCBuZXR6dG90IGJlaSBkZXIgU3Bpbm5lIHN0YW5kLCB3ZWlsIGRlciBSZWNobmVyIGhpZXIgYWJnZXNjaG1pZXJ0CmlzdC4uLgpTYWcgbGllYmVyIG5vcm1hbGVyd2Vpc2Ugc29sbHRlIG1hbiBkYSBuaWNodCBzdGVyYmVuLi4uCgpUc2NoYXUgQXRveiAtIGdlbmF1IGRlciBkdW1tZSBad2VpdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG5vY2htYWwgZGF6dSAoQ2F1bm8sIDEyLiBKdW4gMTk5NywgMTA6MjI6MzApOgp+IyEgcm49QXRveiBydD04NjYwNTE1MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKRGEgaXN0IHdvaGwgZWluZSBQYW5uZSBwYXNzaWVydC4KV2VubiBkYXMgVGVybWluYWwgZWluZXMgTXVkZGVycyBhYnN0aXJidCwgaGVpc3N0IGRhcyBuaWNodCwgZGFzcyBlciBOZXR6dG90CmlzdCwgZGVubiBlciBoYXQgamEga2VpbiAiU2NobGFmZSBlaW4iIGFiZ2VzY2hpY2t0Ii4KSW4gZGVtIEZhbGwsIGRhc3MgZGFzIHBhc3NpZXJ0LCBiaXN0IGR1IG5pY2h0IG5ldHp0b3QsIHNvbmRlcm4gaWRsZXN0LiBVbmQgZGFzCmJlZGV1dGV0IG5hdHVlcmxpY2ggdm9sbGUgU2NobGFlZ2UsIHdlbm4gZWluIE1vbnN0ZXIga29tbXQuCgpDLiBObyAoZGVuayBpY2ggbWlyIG1hbCBzbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJZGVlIChHcmltbWJvcm4sIDEyLiBKdW4gMTk5NywgMTE6NDg6NDEpOgp+IyEgcm49RW5kZXIgcnQ9ODY2MTA1NDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTA1NDUzCkFsbGdlbWVpbiBrYW5uIGF1Y2ggZWluZSBiaXMgenVyIFVubGVzYmFya2VpdCBkZWdlbmVyaWVydGUgRm9ybSBkYXp1IGZ1ZWhyZW4sCmRhc3MgbWFuIHNpY2ggZHVyY2ggZWluZW4gQXJ0aWtlbCBuaWNodCBtZWhyIGR1cmNocXVhZWxlbiBtb2VjaHRlIHVuZCBkYW1pdAphdWNoIGRpZSBnZW5pYWxlbiBJZGVlbiBuaWNodCBtaXRiZWtvbW10LgpBYmVyIHNvIHNjaGxpbW0gaXN0IGJlaSBEaXIgbmljaHQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG5vY2htYWwgZGF6dSAoR3JpbW1ib3JuLCAxMi4gSnVuIDE5OTcsIDExOjQ5OjM0KToKfiMhIHJuPUNhdW5vIHJ0PTg2NjEwMzc1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApEdSBzdGVsbHN0IERpciBkYXMgZmFsc2NoIHZvci4KV2VubiBkaWUgVmVyYmluZHVuZyB1bnRlcmJyb2NoZW4gd2lyZCwgd2lyZCBkZXIgQmVudXR6ZXIgbmV0enRvdC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbm9jaG1hbCBkYXp1IChBbmF0b2wsIDEyLiBKdW4gMTk5NywgMTM6Mzc6NTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjEwODk3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApKYSB1bmQgTmVpbiwgR3JpbW1ib3JuLiBXZW5uIGRhcyBNb2RlbSB6dW0gVGVybWluYWxzZXJ2ZXIgb2RlciBzb25zdHdvaGluCmFic3RpcmJ0LCBoZWlzc3QgZGFzIChsZWlkZXIpIG5vY2ggbGFuZ2UgbmljaHQsIGRhc3MgZGFzIFNJR0hVUCBhbHMgR3J1bmQgenVtClRlcm1pbmllcmVuIGFuZ2VzZWhlbiB3aXJkLiBEZXNoYWxiIGZsaWVndCB6LkIuIEhhZHJhIG9kZXIgV29vZHkgZ2VsZWdlbnRsaWNoCm5hY2ggNy0xMCBNaW51dGVuIGlkbGVuIHJhdXMuCkVzIG1hZyB2aWVsbGVpY2h0IG5vY2ggbWVociBHcnVlbmRlIGdlYmVuLCB3YXJ1bSBkZXIgbG9rYWxlIEhvc3QgZ2xhdWJ0LCBkaWUKVmVyYmluZHVuZyBtdWVzc2UgdW5iZWRpbmd0IGJlc3RlaGVuIGJsZWliZW4uLi4KCkFuYXRvbCwgTXVlbGwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBub2NobWFsIGRhenUgKFNvY3JhdGUsIDEyLiBKdW4gMTk5NywgMTM6NDk6NDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjEwODk3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApOZSwgZGFzIGlzdCBsZWlkZXIgbmljaHQgc28sIGdsYXViZSBpY2guIERlbm4gaGllciBzdHVlcnp0IG1hbmNobWFsIGRhcwpnZXNhbXRlIE9TLzJXYXJwIGFiLCBzbyBkYXMgaWNoIHVlYmVyaGF1cHQgbmljaHRzIG1laHIgbWFjaGVuIGthbm4sIGF1c3NlciB6dQpyZXNldHRlbi4gV2VubiBpY2ggbWljaCBkYW5uIGluIGRlciBaZWl0IGF1ZiBlaW5lbiBhbmRlcmVuIFJlY2huZXIgZWlubG9nZ2UsCmJla29tbWUgaWNoIGJlaW0gZWlubG9nZ2VuIGRpZSBNZWxkdW5nZW4gIkR1IHVlYmVybmltbXN0IGRlaW5lIGFsdGUgSHVlbGxlIgpvZGVyIHNvIGFlaG5saWNoLiBXZW5uIGljaCBtaWNoIG5pY2h0IHRhZXVzY2hlLCBiZWRldXRldCBkaWVzIGRvY2gsIGRhc3MgbWVpbgpDaGFyYWt0ZXIgc2VociB3b2hsIG5vY2ggZWluZ2Vsb2dndCB3YXIsIG9iIHdvaGwgZGVyIENvbXBpZSBhYmdlc3R1ZXJ6dCB3YXIuCk9kZXI/CkdydXNzClNvY3JhdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG5vY2htYWwgZGF6dSAoR3JpbW1ib3JuLCAxMi4gSnVuIDE5OTcsIDE0OjIzOjUwKToKfiMhIHJuPVNvY3JhdGUgcnQ9ODY2MTE2MTg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwCk9LLCBpY2ggZ2ViZSB6dSwgaWNoIGhhYiB3ZW5pZyBBaG51bmcgdW5kIGF1Y2ggcmVsYXRpdiB3ZW5pZyBkYW1pdCB6dSB0dW4uCldlbm4gaWNoIG1hbCBlaW4gbW9kZW0gaGFiZW4gc29sbHRlLCBkYW5uIGJldHJlaWJlIGljaCBkYXMgYXVjaCBzdGFiaWwgdW5kCmZsaWVnZSBuaWNodCBpbW1lciByYXVzLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IG5vY2htYWwgZGF6dSAoQmxvb2R5aGFycnksIDEyLiBKdW4gMTk5NywgMTQ6NDQ6NDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjExODIzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApBSEEuIER1IGhhc3QgdGF0c2FlY2hsaWNoIHdlbmlnIEVyZmFocnVuZyBtaXQgTW9kZW1zIGdlc2FtbWVsdC4gOikKCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBub2NobWFsIGRhenUgKFNjaGxpcHMsIDEyLiBKdW4gMTk5NywgMTQ6NTU6MTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjExODIzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NTc3NTM3MApEYXMgcGFzc2llcnQgbmljaHQgbnVyIGJlaSBNb2RlbXMsIHNvbmRlcm4gYXVjaCBiZWkgU3RhbmRsZWl0dW5nZW4sCndpZSBiZWkgaW5zIGFuIGRlciBVbmkgLSBkYSB3aXJkIGRpZSBWZXJiaW5kdW5nIGdlbGVnZW50bGljaCBhdWNoCm5pY2h0IHJpY2h0aWcgYWJnZWJyb2NoZW4uClNjaGxpcHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG5vY2htYWwgZGF6dSAoTWFyY3VzLCAxMi4gSnVuIDE5OTcsIDE1OjU4OjQ2KToKfiMhIHJuPUFuYXRvbCBydD04NjYxMTU0NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKRGFzIHBhc3NpZXJ0IGFiIHVuZCB6dSwgd2VubiBkdSBkZW4gUmVjaG5lciBlaW5mYWNoIGFic2NoYWx0ZXN0LgpUQ1AvSVAgdmVyc3VjaHQgbm9jaCBuZSBXZWlsZSBkaWUgVmVyYmluZHVuZyBhdWZyZWNodCB6dSBlcmhhbHRlbiB1bmQgYnJpY2h0CnNpZSBkYW5uIG5hY2ggMiBiaXMgNSBtaW51dGVuIG1pdCBlaW5lbSB0aW1lb3V0IChuZXR6dG90KSBhYi4gV2FlaHJlbmQgZGllc2VyCjUgTWludXRlbgprYW5uIGRlciBTcGllbGVyIGFiZXIgbm9jaCByZWNodCBncnVlbiB1bmQgYmxhdSBnZXNjaGxhZ2VuIHdlcmRlbi4uLiBBdWNoIHdlbm4KZXIgdm9yIG5lbSB0b3RlbSBSZWNobmVyIHNpdHp0LgoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBub2NobWFsIGRhenUgKEtyZXRlaywgMTIuIEp1biAxOTk3LCAxNjowOTowMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2MTE4MjMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwClRlZWZyb3NjaCB3cm90ZToKPiBXZW5uIGljaCBtYWwgZWluIG1vZGVtIGhhYmVuIHNvbGx0ZSwgZGFubiBiZXRyZWliZSBpY2ggZGFzIGF1Y2ggc3RhYmlsIHVuZAo+IGZsaWVnZSBuaWNodCBpbW1lciByYXVzLi4uCgpPaCEgV2VubiBEdSByYXVzZ2VmdW5kZW4gaGFzdCwgd2llIGRhcyBnZWh0LCBkYW5uIHNhZyBtaXIgYml0dGUgQmVzY2hlaWQsIAp1bmQgaWNoIGVya2xhZXIncyBkYW5uIG1laW5lbSBNb2RlbSwgT0s/IDstKQoKQ2lhbywKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBub2NobWFsIGRhenUgKEdyaW1tYm9ybiwgMTIuIEp1biAxOTk3LCAxNjoxNTowOCk6Cn4jISBybj1LcmV0ZWsgcnQ9ODY2MTI0NTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwCkdlaG9lcnQgdmllbGxlaWNodCBuYWNoIGhhcmRzb2Z0d2FyZT8gTmFqYSwgZWdhbC4KU3VTRSA0LjQuMSwgZWluIGJpbGxpZ2VzIFlha3VtbyAyOC44ZXIgTW9kZW0uIERpZSBFaW5zdGVsbHVuZ2VuIGZ1ZXIgZGFzIE1vZGVtCmthbm4gaWNoIGF1Y2ggbm9jaCBuYWNobGllZmVybi4uLgpEaWVzZSBLb21iaW5hdGlvbiBpc3QgbWlyLCBuYWNoZGVtIGljaCBzaWUgZWlubWFsIGVpbmdlcmljaHRldCBiZWtvbW1lbiBoYWJlLApudXIgZWlubWFsIGFiZ2VzdHVlcnp0IGluIGV0d2EgNTAgb25saW5lc3R1bmRlbiAoT0ssIGlzdCBhbHNvIG5pY2h0IDEwMCVpZwpzdGFiaWwpLiBGcmFnIG1pY2ggbmljaHQsIHdpZSBkYXMgZ2VodCwgZXMgbGFldWZ0IGhhbHQuClVuZCB3ZWlsIGRhcyBzb3ZpZWwgU3Bhc3MgbWFjaHQgaXN0IGVzIGd1dCwgZGFzcyBkYXMgbmljaHQgbWVpbiBNb2RlbSBpc3QgdW5kCmljaCBpLmEuIGVyc3QgZ2FyIG5pY2h0IGluIFZlcnN1Y2h1bmcga29tbWUsIGRhIGRhcyBHZWxkIGZ1ZXIgZGllIFRlbGVrb20KbG9zenV3ZXJkZW4uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBub2NobWFsIGRhenUgKEtyZXRlaywgMTIuIEp1biAxOTk3LCAxNjoyNToxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2MTI0OTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwClRlZWZyb3NjaCB3cm90ZToKPiBTdVNFIDQuNC4xLCBlaW4gYmlsbGlnZXMgWWFrdW1vIDI4LjhlciBNb2RlbS4KTmEgZ3V0LCB6dWdlZ2ViZW4sIHVudGVyIFN1U0UgNC40LjEgKG1pdCBzZWxic3RnZXBhY2h0ZW0gS2VybmVsOyB2b24gZGVuCm1pdGdlbGllZmVydGVuIHdvbGx0ZSBrZWluZXIgc28gcmVjaHQgbWl0IG1laW5lciBQUFAtVmVyYmluZHVuZyB6dXNhbW1lbgphcmJlaXRlbi4uLikgdW5kICduZW0gYmlsbGlnZW4gUGVhcmwtMjguOC1Nb2RlbSBsYWV1ZnQncyBhdWNoIGJlaSBtaXIKcmVsYXRpdiAoISkgc3RhYmlsLi4uIFp1bWluZGVzdCBzdGFiaWxlciBhbHMgaW0gRG9zZW4tTW9kdXMsIGFiZXIgZGFzIGlzdCAKZWluIGFuZGVyZXMgVGhlbWEhIDotKQoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGQgdmVyZGllbmVuIGluIE1HIChaYXBob2IsIDEyLiBKdW4gMTk5NywgMTY6NTk6MjcpOgpIYWxsbwoKSWNoIGhhYmUgZWluZSBpZGRlLCB1bmQgendhciBrb2VubnRlIG1hbiBkb2NoIFBmYW5kZmxhc2NoZW4gaW4gZGVuIFN0YWVkdGVuCmhlcnVtbGllZ2VubGFzc2VuLCBkaWUgZGllIFNwaWVsZXIgZWluc2FtbWVsbiB1bmQgd2VnYnJpbmdlbiBrb2VubmVuLgpEYXMgd2FlcmUgZWluZSBsZWljaGUgQXJiZWl0LCB1bSBHZWxkIHp1IHZlcmRpZW5lbi4KCldhcyBkZW5rdCBpaHIgZGF2b24/CgpTY2hvZW5lbiBUYWcgbm9jaC4KClphcGhvYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlbGQgdmVyZGllbmVuIGluIE1HIChSYW50YW5wbGFuLCAxMi4gSnVuIDE5OTcsIDE3OjAwOjMwKToKfiMhIHJuPVphcGhvYiBydD04NjYxMjc1Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxMjc1NjcKSWNoIGhhYiBkYSBhdWNoIG5lIElkZWUsIG1hbiBrb2VubnRlIGphIGF1Y2ggZWluZmFjaCBHZWxkIHJ1bWxpZWdlbiBsYXNzZW4sCmRhc3MgbWFuIGRhbm4gZWluc2FtbWVsbiBrYW5uLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGQgdmVyZGllbmVuIGluIE1HIChHcmltbWJvcm4sIDEyLiBKdW4gMTk5NywgMTc6MDI6NTkpOgp+IyEgcm49UmFudGFucGxhbiBydD04NjYxMjc2MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxMjc1NjcKTm9jaCBiZXNzZXI6IEZ1ZXIgamVkZXMgRWlubG9nZ2VuIGdpYnRzIDEwMDAgTXVlbnplbi4gRGFzIHdhZXIgZG9jaCB3YXMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbGQgdmVyZGllbmVuIGluIE1HIChTb2NyYXRlLCAxMi4gSnVuIDE5OTcsIDE3OjA2OjUxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjYxMjc3Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxMjc1NjcKR2VuYXUsIGRhcyBpc3QgZGFubiBzb3dhcyB3aWUgZGFzIEJlZ3J1ZXNzdW5nc2dlbGQsIGRhc3MgZXMgdm9yIGVpbiBwYWFyCkphaHJlbiwgYmVpIGlyZ2VuZCBzbyBlaW5lbSBuZWJlbnNhZWNobGljaGVuIEFubGFzcywgZnVlciBkaWUgT3NzaXMgZ2FiLiBEaWUKZ2FueiBBYmdlem9ndGVuIHNjaGFmZnRlbiBlcyBqYSBzb2dhciwgendlaW1hbCBhYnp1a2Fzc2llcmVuLiAoT2IgbWFuIGVzCmVpZ2VudGxpY2ggd2llZGVyIHp1cnVlY2t2ZXJsYW5nZW4gc29sbHRlPykKU29jcmF0ZSwgdmVyc3RlaHQgamV0enQgYXVjaCBlbmRsaWNoLCB3YXJ1bSB6d2VpdGllcyB2ZXJib3RlbiB3ZXJkZW4gc29sbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VsZCB2ZXJkaWVuZW4gaW4gTUcgKFJhbnRhbnBsYW4sIDEyLiBKdW4gMTk5NywgMTc6MDg6MzIpOgp+IyEgcm49U29jcmF0ZSBydD04NjYxMjgwMTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxMjc1NjcKVW5kIG5vY2ggd2FzICEKCkVpZ2VudGxpY2gga29tbXQgbWFuIGhpZXIgaW0gTUcgdmllbCB6dSBsZWljaHQgYW4gR2VsZCB1bmQgd2VydHZvbGxlCkF1c3J1ZXN0dW5nLCBpbSBSYWhtZW4gZGVyIGFsbGdlbWVpbmVuCldpcnRzY2hhZnRza3Jpc2UgdW5kIGRlciBJbmZsYXRpb24sIGJpbiBpY2ggZnVlciBlaW5lIEFid2VydHVuZywgZGVyCk1HLU11ZW56ZSB1bmQgZWluZXIgcmFzYW50ZW4gUHJlaXNzdGVpZ2VydW5nLCBiZWkgYWxsZW4gR3VldGVybiAhISEhCgpMb3MgbG9zIGlociBGYXVscGVsemUgZGEgb2JlbiAhISEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWxkIHZlcmRpZW5lbiBpbiBNRyAoQWxib2luLCAxMi4gSnVuIDE5OTcsIDE4OjQ1OjI2KToKfiMhIHJuPVNvY3JhdGUgcnQ9ODY2MTI4MDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTI3NTY3CkFjaCBTb2NyYXRlLCBEdSBoYXN0IHdpZWRlciBtYWwgdm9uIGRlciBXZWx0IG51bGwgQWhudW5nLCBlcyB3aXJkZSBuaWNoIG51cgp6d2VpZmFjaCBzb25kZXJuIHppZ2ZhY2ggZGFzIEJlZ3J1ZXNzdW5nc2dlbGQgYWJrYXNzaWVydC4gR2FueiBiZWxpZWJ0IHdhciBlcwp6dW0gQmVpc3BpZWwgZGFzIGVpbm1hbCBkaWUgTXV0dGVyIHVuZCBlaW5tYWwgZGVyIFZhdGVyIG1pdCBkZW4gS2luZGVybiB6dW0KQW10IGdpbmcgdW0gc28gZGFzIEdlbGQgZnVlciBkaWUgS2luZGVyIGRvcHBlbHQgenUgS2Fzc2llcmVuLiBJY2ggc2VsYmVyIGhhYmUKZGFuayBkZXIgQmF5ZXJpc2NoZW4gU3BlbmRpZXJmcmV1ZGlna2VpdCBnYW56IGxlZ2FsIGluIE11ZW5jaGVuIHp3ZWl0ZXMKQmVncnVlc3N1bmdzZ2VsZCBiZWtvbW1lbi4KVWVicmlnZW5zIGFscyBtYW4gaW4gZGVuIFplaXR1bmdlbiB2ZXJsYXV0ZW4gbGllc3MsIGRhc3MgbWFuIG5hY2ggZGVuCk1laHJmYWNoYWJ6b2NrZXJuIHN1Y2hlbiB3aWxsLCBzY2hpY2t0ZW4gZXRsaWNoZSBkaWVzZXIgTGV1dGUgYXVzIFJldWUgaWhyCnp3ZWl0ZXMgQmVncnVlc3N1bmdzZ2VsZCB6dXJ1ZWNrLCBuYWphIHdpciB3YXJlbiBkYW1hbHMgd29obCBub2NoIGVpbiB3ZW5pZyB6dQpicmF2IDspCgpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlbGQgdmVyZGllbmVuIGluIE1HIChTb2NyYXRlLCAxMi4gSnVuIDE5OTcsIDE5OjU4OjM5KToKfiMhIHJuPUFsYm9pbiBydD04NjYxMzM5MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxMjc1NjcKSG0sIFdhcyBoYWJ0IGlociBkZW5uIG1pdCBzb3ZpZWwgR2VsZCBhdWYgZWlubWFsIGdlbWFjaHQ/IDEwMEtnIEJhbmFuZW4KZ2VrYXVmdD8gT2RlciBlaW4gQXV0b3JhZGllIGZ1ZXIgZGVuIFRyYWJpPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR2VsZCB2ZXJkaWVuZW4gaW4gTUcgKFByYSwgMTIuIEp1biAxOTk3LCAyMTozNjo1OCk6Cn4jISBybj1Tb2NyYXRlIHJ0PTg2NjEzODMxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjEyNzU2NwpIYXQgbWlyIGRvY2ggZWluIEZyZXVuZGluIHZvbiBpaHJlciBPc3NpdGFudGUgZXJ6YWVobHQsIGRpZSBpaHJlIGVyc3QgQmFuYW5lCmFzcyB1bmQgc2ljaCBiZXNjaHdlcnRlLCBkYXNzIGRpZSB1ZWJlcmhhdXB0IG5pY2h0IHNjaG1lY2tlLi4uCi4uLiBiZWltIHp3ZWl0ZW4gVmVyc3VjaCwgbmFjaCBkZW0gU2NoYWVsZW4sIGhhdCdzIGF1Y2ggaWhyIGdlc2NobWVja3QuICAKClByYS4gTmVubnQga2VpbmUgTmFtZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogR2VsZCB2ZXJkaWVuZW4gaW4gTUcgKE1haGF0bXUsIDEyLiBKdW4gMTk5NywgMjE6NTc6MjApOgp+IyEgcm49UHJhIHJ0PTg2NjE0NDIxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjEyNzU2NwpQb2VoLiBJaHIgaGFidCB1bnMgamEgc29nYXIgdW5zZXJlIGxlY2tlcmVuIFd1cnplbmVyIENvcm5mbGFrZXMgd2VnLQpnZWZyZXNzZW4uIEFsbGRpZXdlaWwgRXhwb3J0d2FyZS4gRGllIGJsb2VkZW4gQmFuYW5lbiB3b2xsdGVuIHdpcgpnYXIgbmljaHQgc28gc2Voci4KCkdsb2luIC4uLi4gaGF1dCBhdWNoIG1hbCBpbiBkaWUgT3NzaS1XZXNzaS1LZXJiZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdlbGQgdmVyZGllbmVuIGluIE1HIChGeXQsIDEzLiBKdW4gMTk5NywgMDE6MDA6MzYpOgp+IyEgcm49UHJhIHJ0PTg2NjE0NDIxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjEyNzU2NwpJY2ggZ2xhdWIgamEgdmllbGVzLCBhYmVyIGRpZSBGcmF1IG11c3Mgc2Nob24gc2Nod2VyZW4gQWx6aGVpbWVyIGdlaGFidApoYWJlbiwgZGFzcyBzaWUgaW5uZXJoYWxiIGVpbmVzIEphaHJlcyB2ZXJnZXNzZW4gaGF0LCBkYXNzIG1hbiBCYW5hbmVuCnNjaGFlbHQuIFp1IFdlaWhuYWNodGVuIGdhYidzIGRvY2ggaW1tZXIgQmFuYW5lLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBub2NobWFsIGRhenUgKEhhZHJhLCAxMy4gSnVuIDE5OTcsIDA0OjUwOjEwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjYxMTgyMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjU3NzUzNzAKZHUgYmlzdCBlaW4gaGVsZAoKaGFkcmEgLSB1ZWJlcmxlZ3QsIG9iIGVyIGRhcyBqZXR6dCBzZWxiZXIgdmVybGVnZW4gbXVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT3NzaXMgKEdyaW1tYm9ybiwgMTMuIEp1biAxOTk3LCAwODo1OTowNik6CkljaCBmaW5kZSBkaWVzZSBnYW56ZW4gU3BydWVjaGUgZ2VnZW4gZGllIE9zc2lzIG5pY2h0IGd1dCwgc293YXMgc29sbHRlIG1hbgpkb2NoIHR1bmxpY2hzdCB1bnRlcmxhc3Nlbi4gRGFzIGlzdCBuYWVtbGljaCBuaWNodCB3aXR6aWcuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgaGF0IHdhcyBnZWdlbiBCZWhpbmRlcnRlbndpdHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKEdyaW1tYm9ybiwgMTMuIEp1biAxOTk3LCAwOTo0OTo1Myk6Cn4jISBybj1FbmRlciBydD04NjYxODYxMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKYSkgImFsbGUgZHVtbWVuIEtvbW1lbnRhcmUiIHdhcmVuIGdlbmF1IGVpbmVyOiBJY2ggaGF0dGUgdmVyc3VjaHQgRGljaCB1ZWJlcgogICBEZWluZSBLb21wbGV4ZSBiZXp1ZWNobGljaCBtYW5nZWxoYWZ0ZXIgUmVjaHRzY2hyZWlidW5nIHVuZCBHcmFtbWF0aWsgCiAgIGhpbndlZ3p1dHJvZXN0ZW4uIE1pdCAiS29tZW50YXJlbiIgbWVpbmUgaWNoIHJlcGxpZXMsIGljaCBoYWIgbmljaHQgMjAKICAgQXJ0aWtlbCBub2NobWFsIGVnbGVzZW4uLi4KYikgRGVpbmUgVm9yc2NobGFlZ2UgYmV6dWVnbGljaCBkZXIgUXVlc3RzIGlzdCBtYWVzc2lnLiBFbnR3ZWRlciBkaWVzZSBEaW5nZSwKICAgZGllIGVzIHN0YXR0IGRlciB2aWVsZW4gQWJlbnRldWVycHVua3RlIGdlYmVuIHNvbGx0ZSBtdWVzc2VuIGF1dG9sb2FkIHNlaW4KICAgKHVuZCBkYW1pdCBuaWNodCBtZWhyIHNvbmRlcmxpY2ggImJyYXVjaGJhciIsIGRhcyBzY2hhZGV0IGRlciBCYWxhbmNlLiBVbmQKICAgd2FzIGVzIGFuIGJyYXVjaGJhcmVuIFNhY2hlbiBnaWJ0IGlzdCBiZXJlaXRzIHNvIHZlcndpcmtsaWNodDogZW1vdGUsCiAgIHJlbW90ZSwgZWNoby4gTWFuIGtvZW5udGUgdmllbGxlaWNodCBub2NoIHp3ZWksIGRyZWkgdG9vbHMgZGF6dXdlYmVuLCBhYmVyCiAgIGRpZSBBbnphaGwgZGVyIE1vZWdsaWNoa2VpdGVuIGlzdCBiZWdyZW56dC4pIG9kZXIgc2llIHd1ZXJkZW4gZGllIFF1ZXN0ZW4KICAgbm9jaCBtZWhyIHZlcnN0b3BmZW4sIHdlaWwgc2llLCB3ZW5uIGRpZSBTYWNoZW4gd2lya2xpY2ggbnVldHpsaWNoIHNpbmQsCiAgIG5hY2ggamVkZW0gcmVib290IG5ldSBhYmdlZ3Jhc3Qgd2VyZGVuLiBFaW4gZ2FueiBtYXNzaXZlciBFbnR3aWNrbHVuZ3MtCiAgIGRydWNrIGZ1ZXIgU2NyaXB0ZS4uLgpjKSBEdSByZWdzdCBhbiwgYWxzIFF1ZXN0YmVsb2hudW5nZW4gcXVhc2kgR2ViaWV0ZSB6dSB2ZXJnZWJlbi4gRGFzIGJsZWlidCAKICAgamVkZW0gTWFnaWVyLCBkZXIgZWluIEdlYmlldCBhbnNjaGxpZXNzdCwgdW5iZW5vbW1lbi4gTmViZW5iZWkgZ2lidCBlcyAKICAgZHVyY2hhdXMgR2ViaWV0ZSwgZGllIGVyc3QgZGFubiB6dWdhZW5nbGljaCBzaW5kLCB3ZW5uIG1hbiBlaW5lbgpiZXN0aW1tdGVuCiAgIFRyaWNrIGtlbm50LiBEZW4genUgZmluZGVuIGtvZW5udGUgbWFuIGFscyBRdWVzdCB2ZXJzdGVoZW4sIGF1Y2ggd2VubiBlcyAKICAga2VpbmUgb2ZmaXppZWxsZSBpc3QuIERhcyBrYW5uIEtvbXBsZXR0bG9lc3VuZ2VuIGZvZXJkZXJuICgiU2NoYXUgRGlyIGRvY2gKICAgbWFsIGRlbiBUZW1wZWwgdm9uIEJsYWJsdWJiIGFuIiAia2VubiBpY2ggbmljaHQsIHdvIGlzdCBkZXI/IiAiT2gsIGRhCiAgIG11c3N0IER1IGVyc3QgZHVyY2ggZGllIExhaG1vZWQtUXVlc3QsIG1vbS4sIGljaCBtYWlsIERpciBtYWwgZGllIEtMLiIpLgpkKSBLdXJpZXJkaWVuc3RlIHNpbmQgaW4gZGVyIFplaXQgdm9uIGxlZ2FsZW4gV2VnZXNjcmlwdGVuIG5pY2h0IHNvbmRlcmxpY2gKICAgc2lubnZvbGwuIFVuZCBpbiBncm9lc3NlcmVtIE1hc3NlIGdpYnQgZXMgamEgc293YXMsIHNjaGF1IERpciBkaWUgUG9zdC0KICAgcXVlc3QgYW4uCgpadWZyaWVkZW4gbWl0IGRlciBCZXVydGVpbHVuZz8gRGllIHdhciBhdXNuYWhtc3dlaXNlIG1hbCBuaWNodCBhbHMgImR1bW1lcgpLb21tZW50YXIiIGdlZGFjaHQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoRnl0LCAxMy4gSnVuIDE5OTcsIDA5OjU0OjQxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjYxODgxOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKCkhtLCBvaG5lIGR1bW1lbiBLb21tZW50YXIga2FubiBpY2ggZGFzIG5pY2h0IHN0ZWhlbmxhc3NlbiwgdW5kIEdyaW1taQp3aWxsIGhldXRlIHdvaGwgbmljaHQuLi4KCkdlaCBkb2NoIGluIGRpZSBVbnRlcndlbHQuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKERpZWRlciwgMTMuIEp1biAxOTk3LCAxMDo0MjozMik6Cn4jISBybj1FbmRlciBydD04NjYxODYxMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKQWxzbyBpY2ggd2Vpc3MgbmljaHQsIHdhcyBEdSBoYXN0LgpFcyBnaWJ0IGhpZXIgdmllbGUgc2Nob2VuZSBHZWJpZXRlIHVuZCBRdWVzdHMsIHNvd29obCBncm9zc2UgYWxzIGF1Y2gga2xlaW5lLAp1bmQgZXMgZ2lidCB2aWVsZSBzY2hvZW5lIFF1ZXN0YmVsb2hudW5nZW4uCkljaCBkZW5rZSBkYSBudXIgYW4gZGVuIFRlZGR5LCBkaWUgS3Jpc3RhbGxrdWdlbCwgZGFzIEtlcmJob2x6LCBkZW4KRWxmZW5iZWluYmxvY2sgZXRjLgoKRGllZGVyLCBpbiBkaWVzZW0gUHVua3Qga29wZnNjaHVldHRlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDEwOjU3OjIzKToKfiMhIHJuPUZ5dCBydD04NjYxODg0ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKTWlzdCwgZGVuIGhhdHRlIGljaCBmYXN0IGRpZSBnYW56ZSBaZWl0IGJlaW0gc2NocmVpYmVuIGltIEtvcGYgdW5kIGRhbm4gYW0KRW5kZSBkb2NoIHZlcmdlc3Nlbi4uLiAqZ3J1bW1lbCoKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VsZCB2ZXJkaWVuZW4gaW4gTUcgKExpLCAxMy4gSnVuIDE5OTcsIDExOjE1OjUzKToKfiMhIHJuPVNvY3JhdGUgcnQ9ODY2MTI4MDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTI3NTY3Ck51biBob2VydCBkb2NoIG1hbCBhdWYgbWl0IGRlbSBBbmdlYmxpY2hlbiBBYnpvY2tlbiBkZXIgT3NzaXMgYmVpbQpCZWdydWVzc3VuZ3NnZWxkLiBEYXMgc2l0IGdlbmF1c28gZWluZSBtb2Rlcm5lIFNhZ2UsIG5hY2h6dWxlc2VuIGluOiBEYXMgSHVobgptaXQgZGVtIGdpcHNiZWluLiBUZWlsIDMgZGVyICJTcGlubmUgaW4gZGVyIEp1Y2NhLVBhbG1lIi4KTGkgKG1hY2h0IGhldXRlIFdlcmJ1bmcgZnVlciBpbnplaXNjaGVuIHZpZXIgc2VociBpbnRlcmVzc2FudGUgQnVlY2hlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbm1lcmt1bmcgdW5kIHNvIHdlaXRlciAuLi4gKEdyaW1tYm9ybiwgMTMuIEp1biAxOTk3LCAxMjowNjoxOSk6Cn4jISBybj1FbmRlciBydD04NjYxOTQ5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxOTQ5NDMKRW50Z2VnZW4gRGVpbmVyIE1laW51bmcgaGFiZSBpY2ggZGVuIEFydGlrZWwgbmljaHQgZ2VzY2hyaWViZW4gdW0gRGljaApydW50ZXJ6dW1hY2hlbiwgc29uZGVybiB1bSB6dSB6ZWlnZW4sIGFuIHdhcyBmdWVyIEdydWVuZGVuIGFuc29uc3Rlbgp2aWVsbGVpY2h0IGJyYXVjaGJhcmUgSWRlZW4gc2NoZWl0ZXJuIGtvZW5uZW4uIExlaWRlciBpc3QgRGVpbiBTYXR6YmF1CmdlbGVnZW50bGljaCBldHdhcy4uLiBpbm5vdmF0aXYsIGF1cyBzbyB2aWVsdmVyc3ByZWNoZW5kZW4gUGFzc2FnZW4gd2llCiIuLi5kYXMgZGllIGlkZWVuIG1laXN0ZW5zIHNlaHIga29tcGxpemllcnQgc2luZCB1bmQgc2ljaCBrYXVtIGFsbGUgZ2VkYW5rZW4sCmRpZSBlaW4gdW1mYXNzZW5kZXMgdW5kIHJpY2h0aWdlcyBiaWxkIHVlYmVyIGFsbGVzIGZhY2V0dGVuIGRlcyBnZWRhbmtlbnMKZXJnZWJlbiBibG9lZGVyIHNwZWNodCwgd2FydW0gc2NocmVpYnZlIGljaCBtZWluZW4gYXJ0aWtlbCBuaWNodCB3b2FuZGVycy4KOi0oIiBrYW5uIGljaCBsZWlkZXIga2VpbmUgSW5mb3JtYXRpb24gZ2V3aW5uZW4uCkR1IHNvbGx0ZXN0IGFuZGVyZW4gbmljaHQgdW50ZXJzdGVsbGVuLCBkYXNzIHNpZSBRdWVzdGVuIHNjaHJlaWJlbiwgdW0gZGFzIG11ZApsYW5nd2VpbGlnZXIgenUgbWFjaGVuLCBkYXMgZHVlcmZ0ZSBob2VjaHN0ZW5zIGluIEF1c25haG1lZmFlbGxlbiBkaWUKTW90aXZhdGlvbiBzZWluLiBEaWUgbWVpc3RlbiB3b2xsZW4gZGFtaXQgZGFzIG11ZCBiZXJlaWNoZXJuIHVuZCBpbnRlcmVzc2FudGVyCm1hY2hlbi4KV2VubiBEdSBtZWluc3QsIGRhc3MgR2VzY2h3aW5kaWdrZWl0c2JyZW1zZW4gS0wtVmVyaGluZGVyZXIgc2luZCwgZGFubgp2ZXJ3ZWNoc2Vsc3QgRHUgS29tcGxldHRsb2VzdW5nZW4gdW5kIHNjcmlwdGUuIEVpbmUgS0wga2FubiBhdWNoIGVpbmUgZ2VuYXVlCkFud2Vpc3VuZyBzZWluLCB3YXMgd2FubiB1bmQgd28genUgdHVuIGlzdC4gT2RlciBpc3QgZGFzIHZvZWxsaWcgdW5tb2Rlcm4KZ2V3b3JkZW4/Ckdlc2Nod2luZGlna2VpdHNzdGV1ZXJ1bmdlbiBiZWkgVHJveSBrZW5uZSBpY2ggdWVicmlnZW5zIGF1Y2gsIGF1ZiBBbmhpZWIKZmFsbGVuIG1pciBkcmVpIFN0ZWxsZW4gZWluLCB3byBtYW4gdG90IGlzdCwgd2VubiBtYW4gbmljaHQgc2NobmVsbCBnZW51Zwp3YXIuLi4KV2VubiBzaWNoIGJlaW0gYnJhaW5zdG9ybWluZyBhdXMgamVkZXIgSWRlZSBlaW4gUHJvYmxlbSBlcmdpYnQsIG1vY2h0ZSBpY2gKYml0dGUgbGllYmVyIG5pY2h0IHRlaWxuZWhtZW4uIEljaCB6aWVoZSBtZWluZSBJZGVlbiAodW5kIGRpZSBhbmRlcmVyKSB2b3IsCmRpZSBrZWluZSBQcm9ibGVtZSBiZXJlaXRlbi4KU28sIGljaCBoYWJlIGF1Y2gga2VpbmVuIFVlYmVyYmxpY2sgbWVociB3YXMgRHUgZ2VzY2hyaWViZW4gaGFzdCwgZW1wZmVobGUgRGlyCmltIEVkaXRvciBoaWVyIGFiZXIgZGllIGJlaWRlbiBCZWZlaGxlIH5yIHVuZCB+aCwgamV3ZWlscyBhbHMgZWlnZW5lIFplaWxlCmdlc2NocmllYmVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoUmFudGFucGxhbiwgMTMuIEp1biAxOTk3LCAxMzowMzoyMyk6Cn4jISBybj1FbmRlciBydD04NjYxOTk1MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKRW5kZXIuLi5laW5lbiBrbGVpbmVuIFRpcC4KCkFydGlrZWwgbWl0IDUwIFplaWxlbiwgc2NobGVjaGZvcm1hdGllcnQgdW5kIHZvbGxlciBGZWhsZXIsIGxpZXN0IGtlaW4gTWVuc2NoCnNvIHJpY2h0aWcgZHVyY2guCgplbm4gbWl0IFR5cG9zIGR1cmNoc2V0enQsIGRhbm4ga3VyeiB1bmQga25hcHAsIHNvIGluIGRlciBBcnQ6CgpHcmltbWJvcm4gRHUgaGFzdCBrZWluZSBBaG51bmcsIGJpc3QgZG9vZiB1bmQgc3RpbmtzdCAhCkZ5dCBhdWNoICEhCgpJY2ggd2Vpc3MgendhciBuaWNodCB3YXMgRHUgd2lsbHN0LCB3ZWlsIGljaCBERWluZSBBcnRpa2VsIG51ciB1ZWJlcmZsb2dlbgpoYWJlbiwKYWJlciBpY2ggZ2xhdWJlIHNvIGV0d2FzIGluIGRlciBBcnQgc3RhbmQgZHJpbiwgdW5kIGRhc3MgRHUgdmllbGUgdGF1c2VuZApfbmV1ZV8gSWRlZW4gaGFzdC4uLgoKd2VsbC4uLgoKc291bmRzIGZhbWlsaWFyIHRvIG1lCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGVpbiByZSBhdWYgYWxsZSBkdW1tZW4ga29tbWVudGFycyB6dSBtZWluZXIgIklkZWUiIChEaG9qYWt0LCAxMy4gSnVuIDE5OTcsIDEzOjEwOjQwKToKfiMhIHJuPUVuZGVyIHJ0PTg2NjE5OTUzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgpBbHNvIHdlbm4gZGllIEdlYmlldHNiZXNjaHJlaWJ1bmdlbiBkYW5uIGdlbmF1c28gYXVzc2VoZW4gd2llIGRlaW5lIGFydGlrZWwsCmJpc3QgZHUgaW4gZGVyIHVudGVyc3RlbiB1bnRlcndlbHQgZ3V0IGF1ZmdlaG9iZW4uIChPZGVyIHdhZXJlIGV2dGwgZGFzCnN1ZWRlbmRlIHZvbiBiZXJ0cmFtcyBpbnNlbCBiZXNzZXI/IERhIGtvbW1lbiBuZXQgc28gdmllbGUgaGluLi4uKQpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoUGFyYWNlbHN1cywgMTMuIEp1biAxOTk3LCAxMzoyNToyOCk6Cn4jISBybj1FbmRlciBydD04NjYyMDA5NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKR2liIGRvY2ggZWluZmFjaCBtYWwgaW0gRWRpdG9yIH5oIGVpbi4gRGVyIGhhdCBuYWVtbGljaCBlaW5lIEhpbGZzc2VpdGUuClBhcmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDEzOjMwOjE1KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODY2MjAxMTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTg2MTAyCldlaXRlcmUgVGlwcyAoZGFzIG1pdCB+aCBoYXR0ZW4gd2lyIHNjaG9uLCBQYXJhISk6CmViZW5lbiBhdXMKaGlsZmUga29ib2xkIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGlsZmVzZWl0ZSAoQ2F1bm8sIDEzLiBKdW4gMTk5NywgMTM6MzA6MjkpOgp+IyEgcm49RW5kZXIgcnQ9ODY2MjAxMzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTg2MTAyCk1hY2h0IGRpY2ggZGFzIG5pY2h0IG5hY2hkZW5rbGljaCwgZGFzcyBhbnNjaGVpbmVuZCBqZWRlciBkZWluZSBBcnRpa2VsIGZhbHNjaAp2ZXJzdGVodCwgcmVzcGVrdGl2ZSBnYXIgbmljaHQ/CgpDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIaWxmZXNlaXRlIChHcmltbWJvcm4sIDEzLiBKdW4gMTk5NywgMTM6MzE6MTIpOgp+IyEgcm49Q2F1bm8gcnQ9ODY2MjAxNDI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTg2MTAyCldlbm4gRHUgbWVpbnN0LCBkYXNzIExldXRlIGF1ZmdydW5kIG1laW5lciBBcnRpa2VsIG5hY2hkZW5rbGljaCB3ZXJkZW4Kc29sbHRlbiwgZGFubiBtYWNodCBtaWNoIGRhcyBuYWNoZGVua2xpY2guLi4KCkdyaW1tYm9ybiBkZXIgTmFjaGRlbmtlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKFBhcmFjZWxzdXMsIDEzLiBKdW4gMTk5NywgMTM6MzE6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjIwMTQxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgpKbywgbm9jaCBlaW4gVGlwOiBzdGVsbCBEaWNoIGluIGVpbmUgUG9zdGthYmluZSwgRW5kZXIsIGRhIGthbm4gRGljaAprZWluZXIgc3RvZXJlbi4KUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGlsZmVzZWl0ZSAoSGFyZGlsLCAxMy4gSnVuIDE5OTcsIDEzOjMxOjI0KToKfiMhIHJuPUNhdW5vIHJ0PTg2NjIwMTQyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgoKTGVnYXN0aGVuaWUgaXN0IGhhbHQgZXR3YXMsIHdvIHNlaHIgdmllbGUgTGV1dGUgZHJhdWYgYmVoaW5kZXJ0ZW5mZWluZGxpY2gKcmVhZ2llcmVuLiA6LSkKCi1IYXJkaWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoQmVuZGVpZ2lkLCAxMy4gSnVuIDE5OTcsIDEzOjMyOjQ3KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjIwMDk2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgpKYSwgRW5kZXIsIHNvd2FzIGdpYnQncy4gV2llIEdyaW1tYm9ybiBzY2hvbiBhbmRldXRldGUsIGlzdCBkaWUgSGlsZmVzZWl0ZSBkZXMKRWRpdG9ycyBwcm9ibGVtbG9zIGF1cyBzZWxiaWdlbSBwZXIgfmggenUgZXJyZWljaGVuLiBWb3JhdXNnZXNldHp0LCBEdSB0aXBwc3QKZGFzIGluIGVpbmUgZWlnZW5lIFplaWxlLiBVbmQgZGllIFVlYmVyc2ljaHQgdWViZXIgZGVuIEFydGlrZWwgZ2liYmV0IHBlciB+ci4KTnVuIGluaGFsdGxpY2g6CkFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBEZWluZSBBcnRpa2xlIHByYWt0aXNjaCBnYXIga2VpbmUgdmVyd2VydGJhcmUKSW5mb3JtYXRpb24gbGllZmVybiwgV0FTIER1IGRlbm4gZ2VuYXUgZ2VhZW5kZXJ0IGhhYmVuIHdpbGxzdCwgb2RlciBXQVMgbWFuCmVpbmJhdWVuIHNvbGx0ZSwgbGllZmVyc3QgRHUgQmFuZHd1cm1zYWV0emUsIGRpZSB1bmdlZmFlaHIgYXVzc2FnZW46IGljaCB3aWxsCm1laHIgdW5kIHZpZWxlcyBhbmRlcnMsIG1hY2h0IG1hbC4KV2FzIGRlbm4/IEljaCBmaW5kZSwgZGFzIE1vcmdlbkdyYXVlbiB3YWVjaHN0IHppZW1saWNoIGdld2FsdGlnLCB1bmQgYXVjaAp3ZW5ucyBzdGFlbmRpZyBLcmFjaCBnaWJ0IChhbmdlYmxpY2gsIGljaCBkZW5rZSwgZGllc2UgQW5zaWNodCBpc3QKaGF1c2dlbWFjaHQpLCBzbyBpc3QgZXMgZG9jaCBzbywgZGFzcyBhbGxlLCBpbmNsIGRlcmplbmlnZW4sIGRpZSBhbSBsYXV0ZXN0ZW4KbW9zZXJuLCBoaWVyIG5lIE1lbmdlIFplaXQgdmVyYnJpbmdlbiwgc2ljaCBhbHNvIGZvbGdsaWNoIHdvaGwgbmljaHQgYWJzb2x1dAphbm9lZGVuLiBPZGVyIHZlcnR1ZSBpY2ggbWljaCBkYT8gOykKCkVzIHdlcmRlbiB1bmdsYXVibGljaCB2aWVsZSBTYWNoZW4gdmVyd2lya2xpY2h0ICh2b24gTWFnaWVybiwgamEgZGEgc2NoYXUKYW4hKSwgdW5kIHZpZWxlIGRpZXNlciBJZGVlbiBzdGFtbWVuIGF1Y2ggdm9uIFNwaWVsZXJuLiBQcmFrdGlzY2ggamVkZXIKTWFnaWVyLCBkZXIgaXJnZW5kd2FzIEdlYmlldHNtYWVzc2lnZXMgYW5nZXNjaGxvc3NlbiBoYXQsIGhhdCBmcnVlaGVyIG9kZXIKc3BhZXRlciBJZGVlbiB2b24gU3BpZWxlcm4gcGVyIE1haWwgdm9ybGllZ2VuLCB2b24gZGVuZW4gZWluaWdlIFByb2pla3RlCnNvd2VpdCBhdXNnZXJlaWZ0IHNpbmQsIGRhc3MgbWFuIHNpZSB0YXRzYWVjaGxpY2ggb2huZSBncm9lc3NlcmUgTXVlaGUgKHZnbApBcnRpa2VsIHZvbiBHcmltbSB3ZWdlbiBkZXIgS29wZnNjaG1lcnplbiBiZWkgQnJhaW5zdG9ybWluZykgZ2xlaWNoCmltcGxlbWVudGllcmVuIGthbm4uIFdhcyBhbGxlcmRpbmdzIE5JQ0hUIGhlaXNzdCAoYXVzc2VyIGluIGF1c2dld2FlaGx0ZW4KR2ViaWV0ZW4sIHZvbiBkZW5lbiBkdSBlaW5lcyBleHBsaXppdCBlcndhZWhudGVzdCkgZGFzIGplZGVyIE11ZWxsIG9kZXIKYmFsYW5jZWZlaW5kbGljaGUgS3JhbSBvZGVyIGRldGFpbGxvc2UgV3Vlc3RlbiBhdWNoIHRhdHNhZWNobGljaCBpcmdlbmR3YW5uCmFuZ2VzY2hsb3NzZW4gd2lyZC4gQWJlciBtaXQgdW5kIG1pdCB3YWVjaHN0IGRhcyBNRyBhdWNoIHVtIGRpZSBJZGVlbiBkZXIKU3BpZWxlci4KRmF6aXQ6IFdlbm4gRHUgd2llZGVyIHNvIHNjaG9lbmUgSWRlZW4gaGFzdCwgd2llIER1IHNpZSBiaXNoZXIgYW5nZWt1ZW5kaWd0Cmhhc3QsIGRlbmsgbWFsIGVpbiB3ZW5pZyBsYWVuZ2VyIGFscyBiaXMgenVtIG5hZWNoc3RlbiBSZXBseSBkcnVlYmVyIG5hY2ggdW5kCmZyYWcgZGFubiBtYWwgcGVyc29lbmxpY2ggbmVuIE1hZ2llciwgb2IgZXIgSW50ZXJlc3NlIGRyYW4gaGFldHRlLiBNYWlscyBzaW5kCmZ1ZXIgc293YXMgZWNodCBwcmFrdGlzY2guIAoKWidwYXIgU2VydnUsCiAgICAgICAgICAgICBCZW5kZWlnaWQsIGpldHp0IG1hbCB3YXMgbGFlbmdlcgoKUC5TLjogRWluZSBJbmZvIHdpZSAibWFjaHQgbWFsIG5lIEdpbGRlIGZ1ZXIgRm9yc2NoZXIiIGlzdCB3aXJrbGljaCBudXIgZWluClplaWNoZW4gcGVpbmxpY2hzdGVyIFVua2VubnRuaXMgZGVzIEF1ZndhbmRlcy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGlsZmVzZWl0ZSAoQ2F1bm8sIDEzLiBKdW4gMTk5NywgMTM6MzM6MDQpOgp+IyEgcm49SGFyZGlsIHJ0PTg2NjIwMTQ4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgpIbS4gTGVnYXN0aGVuaWUgaXN0IGVpbmUgTGVzZXNjaHdhZWNoZSwgc293ZWl0IGljaCB3ZWlzcy4gSGF0dGUgbmVuCktsYXNzZW5rYW1lcmFkZW4gbWl0IHNvd2FzLCBlcyBhYmVyIG5pY2h0IGdlbWVya3QsIGJldm9yIGVyIGVzIG1pciBtYWwgZ2VzYWd0CmhhdC4KSEllciBnaW5ncyB1bXMgU2NocmVpYmVuLiBHaWJ0IGVzIGRhIHdhcyBhZWhubGljaGVzPwoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhpbGZlc2VpdGUgKEdyaW1tYm9ybiwgMTMuIEp1biAxOTk3LCAxMzozNToyMSk6Cn4jISBybj1DYXVubyBydD04NjYyMDE1ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKSmVwcC4gSGVpc3N0IGF1Y2ggTGVnYXN0aGVuaWUgKExlc2UtIHVuZCBSZWNodHNjaHJlaWJzY2h3YWVjaGUpLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIaWxmZXNlaXRlIChDYXVubywgMTMuIEp1biAxOTk3LCAxMzozNzowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2MjAxNzIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTg2MTAyCmFoYS4gRElFIEtyYW5raGVpdCB3YXIgbWlyIGRhbm4gYmlzaGVyIHVuYmVrYW5udCAuLi4KL2lyb25pZSBvZmYKCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDEzOjQ3OjU5KToKfiMhIHJuPUJlbmRlaWdpZCBydD04NjYyMDE1Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKU28sIGVzIHNjaGVpbnQgWmVpdCB6dSBzZWluLCBtYWwgZWluIHBhYXIgZXJuc3RoYWZ0ZXJlIFdvcnRlIHp1IHNjaHJlaWJlbi4KTmF0dWVybGljaCBpc3QgZXMgbHVzdGlnLCBzaWNoIHVlYmVyIEVuZGVyIGluIGRlciBlaW5lbiBvZGVyIGFuZGVyZW4gQXJ0IHVuZApXZWlzZSBsdXN0aWcgenUgbWFjaGVuIC0gZGFzIGlzdCBqYSBlaWdlbnRsaWNoIGJlaSBqZWRlbSBzby4gQWJlciBkYXMga2Fubgpkb2NoIG5pY2h0IGFsbGVzIHNlaW4uCkljaCBoYWJlIChpbiBkZXIgbWlyIGVpZ2VuZW4gQXJ0IHVuZCBtaXRoaW4gc2ljaGVyIG5pY2h0IGZ1ZXIgamVkZW4KdmVyc2F0ZW5kbGljaCkgZGFyYXVmIGhpbmdld2llc2VuLCBkYXNzIGRlciBtZWNoYW5pc211cywgd2FzIEFlbmRlcnVuZ2VuCmJldHJpZmZ0LCBkZXV0bGljaCBrb21wbGV4ZXIgaXN0IGFscyBtYW4gc2ljaCBkYXMgZ2VtZWluaGluIHZvcnN0ZWxsdC4gVW5kIGRlcgpBdWZ3YW5kIGViZW5zby4gVW5kIHNpY2hlciBpc3QgbWFuIGZvcm1hbCBzaWNoZXJlciwgd2VubiBtYW4gZWluZW4gZ2V3b2hudGVuCkVkaXRvciBiZW51dHp0IGFscyB3ZW5uIG1hbiBkYXMgaGllciBvbmxpbmUgdGlwcHQgLSBldmVudHVlbGwgc29nYXIgbm9jaCBvaG5lCnRmLgpBQkVSLgpIaWVyIGlzdCBlaW4gU3BpZWxlciwgZGVyIHNpY2ggR2VkYW5rZW4gbWFjaHQsIGRlciBtYWwgX2tvbnN0cnVrdGl2ZV8KVm9yc2NobGFlZ2UgbWFjaHQgKGhvZXJ0LCBob2VydCEpLiBNb2VnbGljaGVyd2Vpc2Ugc2luZCBzaWUgdW5hdXNnZWdvcmVuLCBhYmVyCm1hbiBkYXJmIGRvY2ggbnVuIHdpcmtsaWNoIG5pY2h0IHZvbiBlaW5lbSBTcGllbGVyIGdsZWljaCBkZXRhaWxsaWVydGUKVm9yc3RlbGx1bmdlbiB1ZWJlciBBdWZ3YW5kIHVuZCBadXNhbW1lbmhhZW5nZSBlcndhcnRlbi4gTmljaHQgamVkZXIgU3BpZWxlcgpoaWVyIGlzdCBBZG1pbiBpbiBlaW5lbSBhbmRlcmVuIG11ZC4gRXMgaXN0IHppZW1saWNoIGJpbGxpZywgRW5kZXIgaGllciBhdXMKZm9ybWFsZW4gR3J1ZW5kZW4gYWJ6dWJsb2NrZW4uIERlbm4gZWluaWdlIEFuc2FldHplIHNjaGVpbmVuIGdhciBuaWNodCBzbwpzY2hsZWNodCB6dSBzZWluLiBNZWluZSBNZWludW5nOiBMYXNzdCBpaG4gbWFsIE1hZ2llciB3ZXJkZW4sIGRhbm4gc2VoZW4gd2lyCndlaXRlci4gRGVubiBMZXV0ZSwgZGllIGFiYmxvY2tlbiBoYWJlbiB3aXIgZ2VudWcsIGFiZXIgTGV1dGUgbWl0IElkZWVuIGthbm4KbWFuIG5pZSB6dXZpZWxlIGhhYmVuLCBtZWlzdCBsYWVzc3Qgc2ljaCBhdWNoIGF1cyBlaW5lciB1bnJlYWxpc2llcmJhcmVuIElkZWUKbm9jaCB3YXMgbWFjaGVuLCB3ZW5uIG51ciBqZW1hbmQgZGEgaXN0LCBkZXIgc2ljaCBoaW50ZXJrbGVtbXQuCkF1c3NlcmRlbTogV2VubiBoaWVyIGVpbmVyIGF1ZiB1bnNjaHVsZGlnZSBOYWl2bGluZ2UgbG9zZ2VodCwgZGFubiBiaW4gZGFzCmltbWVyIG5vY2ggaWNoLiBTby4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKEdub21lLCAxMy4gSnVuIDE5OTcsIDE1OjIxOjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjYyMDI0Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKaG0uLi4KMS4gImtvbnN0cnVrdGl2ZSIgdm9yc2NobGFlZ2UsIHNhZ3Rlc3QgZHU/IGhhYiBpY2ggZGEgd2FzIHVlYmVybGVzZW4/CiAgIGVyIG11cm1lbHRlIGRhIHdhcyB2b24gZWluZXIgZm9yc2NoZXItZ2lsZGUgdW5kIGJyYWluc3Rvcm1pbmcuLi4KMi4gd2VyLCB3aWUgdm9uIGJlbiogc2Nob24gcmljaHRpZyBlcmtsYWVydCwgd2lya2xpY2ggYnJhdWNoYmFyZSBpZGVlbgogICBoYXQgLSB3YXMgaWNoIGVuZGVyIGdhciBuZXQgYWJzdHJlaXRlbiBtb2VjaHRlIC0gd2VuZGV0IHNpY2ggYW4gZWluZW4KICAgbWFnaWVyIHNlaW5lciB3YWhsLiBpY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGRpZSBtcGEgZGFmdWVyIGdlc2NoYWZmZW4KICAgd3VyZGUsIF9zbyBldHdhc18gZHVyY2h6dWRpc2t1dGllcmVuLiAKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDE1OjI1OjM3KToKfiMhIHJuPUdub21lIHJ0PTg2NjIwODA5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgoxLiBKYSwgaGFzdCBEdS4gTWFuIHNvbGx0ZSBzaWNoIChpbiBhbGxlIFJpY2h0dW5nZW4pIG5pY2h0IHp1IHNlaHIgdm9uIEZvcm0KICAgYmxlbmRlbiBsYXNzZW4uCjIuIERhcyBtZWluZSBpY2ggZ2VuYXUuIEplbWFuZGVuLCBkZXIga3JlYXRpdiBpc3QgKG9kZXIgc2VpbiB3aWxsKSBhdWYgZGVuCiAgICJEaWVuc3R3ZWciIHp1IHNjaGlja2VuLCBpc3Qgc2ljaGVyIGtlaW5lIHNvbmRlcmxpY2ggZXJmb2xndmVyc3ByZWNoZW5kZSAKICAgTWFzc25haG1lLiBEaWUgbXBhIGlzdCBkdXJjaGF1cyBmdWVyIF9zb3dhc18gZGEsIHdlbm4gYXVjaCBlaGVyIGluIAogICBlbnR3aWNrbHVuZywgdW5kIHdlbmlnZXIgaGllci4gQWJlciBkYXMgaXN0IGphIG1vbWVudGFuIGVoIGVnYWwuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKEhlbHZhLCAxMy4gSnVuIDE5OTcsIDE2OjE1OjM2KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjIwMDQ2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE4NjEwMgpJY2ggZmluZGUgZGVpbmUgQXJ0aWtlbCBlY2h0IGtsYXNzZSEKRW5kbGljaCBqZW1hbmQsIGRlciBub2NoIG1laHIgUmVjaHRzY2hyZWliZmVobGVyIGhpbmVpbnBhY2t0IGFscyBpY2ggISBVbmQgZGFzCkxheW91dCBpc3QgYXVjaCBzY2hsZWNodGVyIQpXaXJrbGljaCB2aWVsZW4gRGFuaywKSGVsdmEgaGF0IGhldXRlIHZpZWwgenUgTGFjaGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoS3Jhd2FsbCwgMTMuIEp1biAxOTk3LCAxODo1MTowMCk6Cn4jISBybj1IZWx2YSBydD04NjYyMTEzMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKCklzdCBFbmRlciBpbm5lciBQeXNjaG8tU2VrdGU/IApJc3QgR2RBIGpldHp0IHRyZXJhaHBldXQ/CkhhdCBHZEEgS3JlaWRlIGdlZnJlc3Nlbj8KSGF0IEVuZGVyIGFuJ25lciBLcm9ldGUgZ2VsZWNrdD8KCkJyYWluc3Rvcm1pbmchCi0+IE11ZWxsIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFubWVya3VuZyB1bmQgc28gd2VpdGVyIC4uLiAoRnl0LCAxNS4gSnVuIDE5OTcsIDA5OjQ4OjIzKToKfiMhIHJuPUVuZGVyIHJ0PTg2NjE5NDk0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjE5NDk0MwoKSWNoIGdsYXViLCBtaXQgZGVyIFplaXR1bmcgaXN0IHdhcyBuaWNodCBpbiBPcmRudW5nLi4uIGpldHp0IGthbSBiZWkgbWlyCmVpbmUgenVzYW1tZW5oYW5nc2xvc2UgQW5zYW1tbHVuZyB2b24gS2xlaW5idWNoc3RhYmVuIGFuLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptaXJjcm9zb2Z0IChHdWxkdWthdCwgMTUuIEp1biAxOTk3LCAxMDoyNzoyNyk6Cm1pY3JvJG9mdCBiaWV0ZXQgamVkZW0gY29tcHV0ZXJoYWVuZGxlciA0MDAgbWFyayBmdWVyIGplZGVuIGt1bmRlbiwgZGVyCnNjaHdhcnprb3BpZW4gYmVudXR6dCB1bmQgdm9uIGRlbSBoYWVuZGVyIGFuZ2V6ZWlndCB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1pcmNyb3NvZnQgKEZ5dCwgMTUuIEp1biAxOTk3LCAxMDo0NDo1NSk6Cn4jISBybj1HdWxkdWthdCBydD04NjYzNjMyNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYzNjMyNDcKCldvenUgc29sbHRlIG1hbiBNJC1TYWNoZW4gYmVudXR6ZW4gd29sbGVuPwoKRnl0LgoKUFM6IEdyaW1taSwgd2FsdGUgRGVpbmVzIEFtdGVzLi4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogZWluIHJlIGF1ZiBhbGxlIGR1bW1lbiBrb21tZW50YXJzIHp1IG1laW5lciAiSWRlZSIgKFBhdHJ5biwgMTYuIEp1biAxOTk3LCAwMDozNjozOCk6Cn4jISBybj1Hbm9tZSBydD04NjYyMDgwOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYxODYxMDIKamEsIGZ1ZXIga29uc3RydWt0aXZlcyBpc3QgZGllIE1QQSBudW4gd2lya2xpY2ggbmljaHQgZGVyIGdlZWlnbmV0ZSBvcnQsCnNjaGxpZXNzbGljaCBtYWNoZW4gd2lyIHVucyBkYXJpbiBnZWdlbnNlaXRpZyBkYXMgbGViZW4gc2Nod2VyIHVuZCB0cmV0ZW4KdW5zIGdlZ2Vuc2VpdGlnIG1vZWdsaWNoc3QgYnJ1dGFsIHVuZCBnZW1laW4gYXVmIHVuc2VyZSB2aWVsIHp1IGdyb3NzZW4KZnVlc3NlLgp3ZW5uIGVuZGVyIGFsbGdlbWVpbmUga29uemVwdHZvcnNjaGxhZWdlIGhhdCwgZGFubiBzaW5kIGRpZXNlIGhpZXIgZ2VuYXUKcmljaHRpZyBhdWZnZWhvYmVuLCBkZW5rIGljaCBtYWwuLi5zaWNoZXIsIGVyIG11ZXNzdGUgc2VpbmUgZ2VkYW5rZW4gbWFsCl9ldHdhc18gb3JkbmVuLCBhYmVyIHNlaW4gc2NocmllYnMgaXN0IG1pciB0YXVzZW5kIG1hbCBsaWViZXIsIGFscyBkYXMKcHJvZmxpbGllcnVuZ3NnZXF1YXNzbGUgdW5hdXNnZWxhc3RldGVyIGxldXRlLCBkaWUgZGFzIGhvYmJ5IG1pdAptb2JiaW5nIHZlcndlY2hzZWxuLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsc28gZG9jaCBub2NoZWlubWFsIChNb3Jnb3RoLCAxNi4gSnVuIDE5OTcsIDA4OjQyOjU1KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjQ0MzMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpQdW5rdCAyIGdlZmFlbGx0IG1pci4gS29tbSBpbnMgdkxhbmQuIF07LSkpCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBlaW4gcmUgYXVmIGFsbGUgZHVtbWVuIGtvbW1lbnRhcnMgenUgbWVpbmVyICJJZGVlIiAoTGksIDE2LiBKdW4gMTk5NywgMTA6MDA6MjcpOgp+IyEgcm49R25vbWUgcnQ9ODY2MjA4MDk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2MTg2MTAyCkRpZSBNUEEgd3VyZGUgbmljaHQgZGFmdWVyIGdlc2NoYWZmZW4sIGlkZWVuIGR1cmNoenVkaXNrdXRpZXJlbj8KRGEgbWFnc3QgZHUgdmllbGxlaWNodCByZWNodCBoYWJlbiwgYWJlciBkYW5uIG11ZXNzdGUgbWFuIDk1JSBhbGxlciBBcnRpa2VsCmxvZXNjaGVuLCB2ZXJiaWV0ZW4gb2RlciB3YXMgd2Vpc3MgaWNoLiBBcnRpa2VsICBtaXQgSWRlZW4gc2luZCB3ZW5pZ3N0ZW5zCm5vY2ggc2lubnZvbGwuCidJY2ggd2VpbGwgaGllciBuaWNodCBzYWdlbiwgZGFzcyBudXIgc2lubnZvbGxlIEFydGlrZWwgaW4gZGllIG1wYSBzb2xsZW4sCmFiZXIgamVtYW5kZW4gcGxhdHR6bWFjaGVuLCB3ZWlsIGVyIG1hbCBlaW4gcGFhciBJZGVlbiBoYXQgdW5kIHNpY2ggYXVjaAp0cmF1dCwgc2llIHp1IGF1c3Nlcm4sIG9id29obCBkb2NoIGplZGVyIHdlaXNzLCB3YXMgcGFzc2llcnQsIHdlbm4gZXIgZWluIHBhYXIKR2VkYW5rZW5ibGl0emUgdmVyb2VmZmVudGxpY2h0LiBEYXMgaXN0IHNjaG9uIGZhc3QgbXV0aWchIChuZWluLCBrZWluZSBJcm9uaWUsCndlbm4gbWFuIHNpY2ggYW5zaWVodCwgd2llIGF1ZiBFbmRlcnMgSWRlZW4gZWluZ2VnZW4gd3VyZGUpLgpOYXR1ZXJsaWNoIGlzdCBlaW5lIGZvcnNjaGVnaWxkZSBuZSBNZW5nZSBhcmJlaXQsIHNpZSB3aXJkIHNpY2hlcmxpY2ggYXVjaApzY3JpdGFuZmFlbGxpZyBzZWluLCBhYmVyIGd1dCBpc3QgZGllIElkZWUgdHJvdHpkZW0uCkFsc28gR25vbWUsIGJldm9yIGR1IG5vY2ggbWFsIG1laW5zdCwgenUgd2lzc2VuLCB3YXMgaW4gZGllIG1wYSBnZWhvZXJ0IG9kZXIKbmljaHQsIGZhc3MgZGlyIG1hbCBhbiBkaWUgZWlnZW5lIE5hc2UuCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKFlhcmVuLCAxNi4gSnVuIDE5OTcsIDEwOjQ4OjI4KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjQ0MzMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpQdW5rdCAyIGZpbmRlIGljaCBrbGFzc2UhIE51cjogc2luZCBXZWdlc2NyaXB0ZSBuaWNodCBlaWdlbnRsaWNoIGVybGF1YnQ/IElzdApzY2hvbiBzY2hsaW1tIGdlbnVnLCBkYXNzIGVpbmVuIG1hbmNoZSBOUENzIChpY2ggc2FnZSBudXIgRWxzdGVybiwgVHJveSkgZWluZW0KaW0gVm9yYmVpcmVubmVuIGRpZSAiTGFzdCIgYWJuZWhtZW4uCgpZYXJlbi4gS2FubiBhdWNoIHBlciBIYW5kIHNjaG5lbGwgcmVubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsc28gZG9jaCBub2NoZWlubWFsIChBc3RhciwgMTYuIEp1biAxOTk3LCAxMjoyMTozNik6Cn4jISBybj1FbmRlciBydD04NjY0NDMzMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKV2VnZXNjcmlwdGUgc2luZCBlcmxhdWJ0Li4uCgpBc3RhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKERlbnRpLCAxNi4gSnVuIDE5OTcsIDEyOjI1OjI0KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjQ1NjI4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQoKSWNoIHZlcnN0ZWhlIGRhcyBpcmdlbmR3aWUgbmljaHQsIHdpZXNvIHNvbGwgbWFuIGRhcyBkdXJjaCBkaWUgZ2VnZW5kCnJlbm5lbiBub2NoIHNjaHdpZXJpZ2VyIG1hY2hlbj8KSWNoIGRlbmtlLCBkYXMgTUcgaXN0IHNvIGdyb3NzLCBkYXNzIG1hbiBzY2huZWxsIHNlaW4gbXVzcywKZGFzcyBzb2xsdGUgbmljaHQgYmVzdHJhZnQgd2VyZGVuLiBBdXNzZXJkZW0gc2luZCBtZWluZXMgCndpc3NlbnMgd2VnZXNjcmlwdGUgZXJsYXVidCwgc28gbGFuZ2Ugc2llIHNpY2ggYXVmIApCZXdlZ3VuZ3NiZWZlaGxlIGJlc2NocmFlbmtlbi4KCkRlbnRpLiBncnVtbWVsbmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoUGFyYWNlbHN1cywgMTYuIEp1biAxOTk3LCAxMjozMDowOCk6Cn4jISBybj1EZW50aSBydD04NjY0NTY3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKTmVpbiwgV2VnZXNrcmlwdGUgc2luZCBuaWNodCBlcmxhdWJ0LCBzb25kZXJuIF9nZWR1bGRldF8sIHdhcyBlaW4gZ2V3aXNzZXIKVW50ZXJzY2hpZWQgaXN0LgoKUGFyYWNlbHN1cwoKUC5TLjogbmFjaHp1bGVzZW4gcGVyICdoaWxmZSBzY3JpcHRlJwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKEtleSwgMTYuIEp1biAxOTk3LCAxMjo0MjoxMCk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTg2NjQ1NzAwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpIbW0gamEgV2VnZXNjcmlwdGUgc2luZCAibnVyIiBnZWR1bGRldCAuLi4KQWJlciBtZWluZXIgTWVpbnVuZyBhdWNoIHppZW1saWNoIG5vZXRpZyBiZWkgZWluaWdlbiBOUEMuCkRpZSBkaWUgamV0enQgZ2xlaWNoIGFudHdvcnRlbiB3b2xsZW4gZXMgZ2luZ2UgYXVjaCBvaG5lIC4uIEVzIGdlaHQgYXVjaCBvaG5lLApoYWIgc2VsYnN0IGVyc3Qgc2VpdCBlaW5lbSBKYWhyIFRGIHVuZCB2b3JoZXIgc2Nob24gd3VuZGVyYmFyIFdlZ2hpZXIgdW5kCmFlaG5saWNoZXMgZ2VraWxsdCAuLi4gTnVyIFdlZ2hpZXIgaXN0IGVpbiBOcGMgZGVuIG1hbiB2ZXJnbGVpY2hzd2Vpc2UgbGVpY2h0CmVycmVpY2h0LCB1bmQgZGVyIG5ldCBhbHp1c2Nod2VyIGlzdC4KVW5kIEVuZGVyIHdlbm4gZHUgd2FzIGdlZ2VuIExldXRlIG1pdCBXZWdlc2NyaXB0ZSBoYXN0IGRhbm4gd2VyZGUgTWFnaWVyIHVuZApwcm9nZyBkaXIgbmVuIHNjaG9lbmVzIEdlYmlldCB3byBlcyB1bm1vZWdsaWNoIGlzdCB6dSBzY3JpcHRlbiAuLgpGcmFnIFBhcmEgZGVyIHdlaXNzIHdpZSBtYW4gZXMgenVtaW5kZXN0IGVyc2Nod2VyZW4ga2FubiA6KQoKQWNoIHVuZCBFbmRlciBub2NoIHdhcyAuLiBkdSBoYXN0IGluIGRlbSBlaW5lbiBBcnRpa2VsIGFsbGUgZnVlciBkdW1tIHVuZApkYWVtbWxpY2ggZ2VzY2hpbXBmdCBkaWUgbmV0IGF1ZiBkZWluZSBBcnRpa2VsIGdlYW50d29ydGV0IGhhYmVuIC4uLi4gRmluZGUKZGFzIGlzdCBuZSBuZXR0ZSBFaW5zdGVsbHVuZy4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKFphcmRveiwgMTYuIEp1biAxOTk3LCAxMzowNjo0NSk6Cn4jISBybj1LZXkgcnQ9ODY2NDU3NzMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CkRhcyB1ZWJlcmhhdXB0IFdlZ2VzY3JpcHRlIG5vZXRpZyBzaW5kLCBsaWVndCBsZWlkZXIgYW0gdm9lbGxpZyBzaW5ubG9zZW4KS29uemVwdCwgZGFzcyBtYW4gc2ljaCBpbiBLbmVpcGVuIGhlaWxlbiBrYW5uLiBEYSBkaWVzIGhpZXIgbnVubWFsIHNvIGlzdCwKbXVzcyBtYW4gZGFzIHNjaG5lbGxlIExhdWZlbiBhdWNoIHdlaXRlcmhpbiBlcm1vZWdsaWNoZW4sIGF1Y2ggd2VubnMgbWVpbmVyCkFuc2ljaHQgbmFjaCB6aWVtbGljaCBzY2h3YWNoc2lubmlnIGlzdC4KCkNpYW8gWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoTGksIDE2LiBKdW4gMTk5NywgMTM6MTI6NDEpOgp+IyEgcm49WmFyZG96IHJ0PTg2NjQ1OTIwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpIbW1qYSwgZWluIHNjaG9lbmVzIGtvbnplcHQsIGRhcyBvaG5lIGRpZSBLbmVpcGVuIGF1c2tvbW10LCB3YWVyZSBrbGFzc2UuIERhbm4Ka29lbm50ZW4gZGllIEtuaWVwZW4gYXVjaCB3aWVkZXIgVHJlZmZwdW5rdGUgd2VyZGVuLCB3aWUgaW0gUkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoS2V5LCAxNi4gSnVuIDE5OTcsIDEzOjI0OjE3KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjQ1OTk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpIbW1tIG5vZSBlcmthbm50IGhhYiBpY2ggbml4LCB6dW1pbmRlc3QgbmljaHQgaW4gYmV6dWVnbGljaCBhdWYgc2NyaXB0ZW4gLi4KbnVyIHZpZWxsZWljaHQgZGFzIGtlaW5lciBkZWluIGdlYmlldCBhdWZzdWNoZW4gd3VlcmRlIHd1ZXJkZXN0ZSBlaW5zIHByb2dnZW4uClNjcmlwdGVuIHZlcmJpZXRlbiBnZWh0LCBibG9ja2llcmVuIGF1Y2ggYmlzIHp1IG5lbSBnZXdpc3NlbiBNYXNzLCBBYmVyIGR1cmNoCmlyZ2VuZHdlbGNoZSBGYWxsZW4gZXMgdm9lbGxpZyB6dSB1bnRlcmJpZXRlbiBoYWx0ZSBpY2ggZnVlciB1bm1vZWdsaWNoLCB1bmQKaWNoIGtlbm5lIG1pY2ggbWl0IFRGIGthdW0gYXVzLgoKCkhtbSBaYXJkb3oga2VpbiBoZWlsZW4gbWVociBpbiBUYW5rZW4ga2xpbmd0IHp3YXIgenVtIGVpbmVuIGludGVyZXNzYW50LCBhYmVyCndpZSBzb25zdCBoZWlsZW4/IEljaCBtZWluIGljaCBrZW5uZSBrZWluIGFuZGVyZXMgU3lzdGVtLCBhYmVyIG51ciB6LkIuCkhlaWxzdGVsbGVuIGthbm4gd29obCBuaWNodCByZWljaGVuPyBvZGVyPwoKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKFBhcmFjZWxzdXMsIDE2LiBKdW4gMTk5NywgMTM6MjY6NTUpOgp+IyEgcm49S2V5IHJ0PTg2NjQ2MDI1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpOdW5qYSwgaW4gYW5kZXJlbiBNVURzIGdpYnQgZXMgei5CLiBkaWUgTW9lZ2xpY2hrZWl0LCBzaWNoIGhpbnp1c2V0emVuIG9kZXIKZWluIGtsZWluZXMgTmlja2VyY2hlbiB6dSBtYWNoZW4uIEluIGRlciBaZWl0IGthbm4gbWFuIGRhbm4gendhciBuaWNodCBtZWhyCnZpZWwgbWFjaGVuLCBhYmVyIGRpZSBMUC9NUCByZWdlbmVyaWVyZW4gc2ljaCBzY2huZWxsZXIuCklzdCBuYXR1ZXJsaWNoIGR1bW0sIHdlbm4gZGFubiBlaW4gYWdncmVzc2l2ZXIgTlBDIHZvcmJlaSBrb21tdCA7KQoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGFsc28gZG9jaCBub2NoZWlubWFsIChLZXksIDE2LiBKdW4gMTk5NywgMTM6Mjg6MjYpOgp+IyEgcm49UGFyYWNlbHN1cyBydD04NjY0NjA0MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKSG1tIGFiZXIgbXVlc3N0ZW4gYmVpIGVpbmVyIHNvbGNoZW4gUmVnZWx1bmcgbmljaHQgYXVjaCBhbGxlIFp3ZWl0aWVzIHZlcmJvdGVuCndlcmRlbj8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGFsc28gZG9jaCBub2NoZWlubWFsIChQYXJhY2Vsc3VzLCAxNi4gSnVuIDE5OTcsIDEzOjI5OjA1KToKfiMhIHJuPUtleSBydD04NjY0NjA1MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKQWxzbyBpbiBkZW0gTVVEIHdvIGljaCBkYXMgZ2VzZWhlbiBoYWJlLCBTSU5EIHp3ZWl0aWVzIHZlcmJvdGVuLgpQYXJhKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IGFsc28gZG9jaCBub2NoZWlubWFsIChTaWx2YW5hLCAxNi4gSnVuIDE5OTcsIDEzOjMzOjI2KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9ODY2NDYwNTQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CkVpbiBBdXNiYXUgZGVyIEhlaWx1bmcgZHVyY2ggS25laXBlbiB3dWVyZGUgc28gemllbWxpY2ggYW4gZGVuIEdydW5kZmVzdGVuCmRlc3NlbiBydWV0dGVsbiwgYXVmIGRlbSBkaWUgQmFsYW5jZSBkZXMgTUcgcnVodCAod2Fja2VsdD8pLiBTbyBldHdhcwp6dSBhZW5kZXJuIGlzdCB6d2FyIGVpbiBpbnRlcmVzc2FudGVyIEdlZGFua2UsIGFiZXIgd3VlcmRlIHdvaGwgZGF6dQpmdWVocmVuLCBkYXNzIG1hbiBkYXMgTUcga29tcGxldHQgbmV1c2NocmVpYmVuIG11ZXNzdGUuIE9iIGRhcyBzbwpzY2hsZWNodCB3YWVyZSwgc2VpIGVpbm1hbCBkYWhpbmdlc3RlbGx0Li4uClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGFsc28gZG9jaCBub2NoZWlubWFsIChUcmVrYW4sIDE2LiBKdW4gMTk5NywgMTM6NDM6MDEpOgp+IyEgcm49RW5kZXIgcnQ9ODY2NDU5OTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CnNjaG9uIG1hIHdhcyB2b24gdWx0cmFrdXJ6IGdlaG9lcnQgPwpUcmVrYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFsc28gZG9jaCBub2NoZWlubWFsIChEaWVkZXIsIDE2LiBKdW4gMTk5NywgMTM6NDY6NDUpOgp+IyEgcm49RW5kZXIgcnQ9ODY2NDU2Mjg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1Cm5hIGFsc28gd2VubiBqZXR6dCByZWluZSBXZWdza3JpcHRlIG1pdCBzb2xjaGVuIE1hc3NuYWhtZW4gZGVtbmFlY2hzdApiZXN0cmFmdCB3ZXJkZW4gYmluIGljaCB3b2hsIHdlZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzY2hlaXNzIHBvc3RzeXN0ZW0gKFFpdGVzcywgMTYuIEp1biAxOTk3LCAxMzo1NjoxMyk6Cn4jISBybj1aYXBob2JpbGkgcnQ9ODY1NTI0ODg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1NTI0ODg1Cm9oIHphcGhvYi4uLgoKZXMgbG9obnQgc2ljaCBhdWNoLCBtYWwgZXR3YXMgZHVyY2h6dWxlc2VuLi4uCgpRSSoqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsc28gZG9jaCBub2NoZWlubWFsIChBc21vZGlzLCAxNi4gSnVuIDE5OTcsIDEzOjU5OjA5KToKfiMhIHJuPUVuZGVyIHJ0PTg2NjQ0MzMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpXYXMgaGFzdCBkdSBnZWdlbiBXZWdlc2NyaXB0cyA/IERpZSBzaW5kIG5pY2h0IHZlcmJvdGVuICEKT2RlciBiaXN0IGR1IGVpbiBad2VpdGkgdm9uIFBhcmFjZWxzdXMgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1pcmNyb3NvZnQgKENhdHdlYXpsZSwgMTYuIEp1biAxOTk3LCAxNDowMDozMCk6Cn4jISBybj1HdWxkdWthdCBydD04NjYzNjMyNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjYzNjMyNDcKCkZlaW5lIFNhY2hlLgpJY2ggYmluIGVpbiByZWljaGVyIE1hbm4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKEFzbW9kaXMsIDE2LiBKdW4gMTk5NywgMTQ6MDI6MDMpOgp+IyEgcm49WmFyZG96IHJ0PTg2NjQ1OTIwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpXbyBzb2xsIG1hbiBzaWNoIHNvbnN0IGhlaWxlbiwgWmFyZG96ID8gZGFubiBsZWcgZG9jaCBtYWwgZWluIEdlZ2Vua29uemVwdAp2b3IgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGFsc28gZG9jaCBub2NoZWlubWFsIChaYXJkb3osIDE2LiBKdW4gMTk5NywgMTQ6MDQ6MDIpOgp+IyEgcm49QXNtb2RpcyBydD04NjY0NjI1MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKS29lbm50IGljaCBzY2hvbiwgYWJlciBtYW4gbXVlc3N0ZSBkYXMgZ2FuemUgTXVkIGFlbmRlcm4uIEFsc28gc3BpZWxlIGljaApsaWViZXIgaW4gbmVtIE11ZCwgd28gbWlyIGRhcyBLb256ZXB0IGJlc3NlciBnZWZhZWxsdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFoYSAoQXNtb2RpcywgMTYuIEp1biAxOTk3LCAxNDowNDowNCk6Cn4jISBybj1FbmRlciBydD04NjY0NjIwOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NjIwOTgKRGllIFNlaGVyYmFuayBpbnRlcmVzc2llcnQgbWljaCBoZXJ6bGljaCB3ZW5pZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9jaHplaXQgKFNseWZveCwgMTYuIEp1biAxOTk3LCAxNjowOTozNyk6CldpciwgYWxzbyBGbGF2aWEgdW5kIFNseWZveCwgaGFiZW4gYmVzY2hsb3NzZW4sIGFtCgogICBEb25uZXJzdGFnIGRlbiAxNi42LjE5OTcsIHVtIDE4LjAwIFVocgoKenUgaGVpcmF0ZW4uIAoKRXMgc2luZCBhbGxlIEZyZXVuZGUgZGF6dSBoZXJ6bGljaCBlaW5nZWxhZGVuLCB3aXIgaG9mZmVuLApkZXIgVGVybWluIGlzdCBqZWRlbSBpbiBPcmRudW5nLCB1bmQgaG9mZmVuLCBkYXNzIGFsbGUsIApkaWUgc2ljaCBkaWUgRmVpZXIgbmljaHQgZW50Z2VoZW4gbGFzc2VuIHdvbGxlbiwgYXVjaCBrb21tZW4gCmtvZW5uZW4uCgpCaXMgZGFubgoKICAgU2x5Zm94IHVuZCBGbGF2aWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBob2NoemVpdCAoRmxhdmlhLCAxNi4gSnVuIDE5OTcsIDE2OjA5OjU3KToKfiMhIHJuPVNseWZveCBydD04NjY0NzAwMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NzAwMzkKQWxzbywgRG9ubmVyc3RhZyBpc3QgendhciBkZXIgMTkuMDYuLCBhYmVyIHNpY2hlciBsYXNzdCBpaHIgRXVjaCB2b24gc29sY2hlbgpLbGVpbmlna2VpdGVuIG5pY2h0IGFic2NocmVja2VuLiBXaXIgaGVpcmF0ZW4gdWVicmlnZW5zIGluIE5pYmVsaGVpbS4gCgpCaXMgZGFubgogICAgRmxhdmlhICYgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZXR6ZWxuIChKb3N1YSwgMTYuIEp1biAxOTk3LCAxNjoyODozMCk6CldlbGNoZSBxdWVzdHMgZnVua3Rpb25pZXJlbiBlaWdlbnRsaWNoIG9obmUgenUgbWV0emVsbiwgdW5kIHdlbGNoZSBkYXZvbiBzaW5kCmRpZSBzY2h3ZXJzdGVuIHVuZCB3ZWxjaGUgZG9lIGxlaWNodGVzdGVuPwoKSm9zdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXR6ZWxuIChNeXN0ZXJpb3VzLCAxNi4gSnVuIDE5OTcsIDE4OjAwOjMwKToKfiMhIHJuPUpvc3VhIHJ0PTg2NjQ3MTMxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ3MTMxMAptb2luLi4uCgpqYSwgYWxzbyBiZWdpYiBkaWNoIGluIGRpZSBhYmVudGV1cmVyZ2lsZGUgdW5kIHNjaGF1IG1hbCBtaXQgJ2xpc3RlJy4uLgp3ZW5uIGljaCBtaWNoIG5pY2ggdGFldXNjaGUgc2luZCBhbGxlIHF1ZXN0cyBiaXMgenVyIHNwaWVsZXJzdHVmZSAzIE9ITkUKbWV0emVsbiAoYXVzc2VyIGxhbiB3dW4ncyB0YXNjaGUpLi4uLi4KCnVuZCB3YXMgZGVuIHNjaHdpZXJpZ2tlaXRzZ3JhZCBhbmdlaHQuLi4ubmFqYS4uLmhhdXQgc2Nob24gc28gaGluLCB3aWUgZXMgaW4KZGVyIGxpc3RlIGRhc3RlaHQuLi4uCgpzb2RlbGUuLi4uLmR1aWlpaWlpaWlpaWlpaWlpaWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoTWFzbywgMTYuIEp1biAxOTk3LCAxODo0NjoxNyk6Cn4jISBybj1LZXkgcnQ9ODY2NDYwNTA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1Ck5laW4uIEVzIHd1ZXJkZSBudXIgcmVpY2hlbiwgd2VubiBtYW4gbmljaHQgZ2xlaWNoemVpdGlnIHp3ZWkKb2RlciBtZWhyIENoYXJha3RlcmUgZWluZ2Vsb2dndCBoYWJlbiBkYXJmLgoKQXVzbmFobWU6IENoYXJha3RlcmUgbWl0IGdlc2V0enRlbSBQX1RFU1RQTEFZRVIuCgogICAgICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGFsc28gZG9jaCBub2NoZWlubWFsIChBbWF6b3JhLCAxNy4gSnVuIDE5OTcsIDAzOjExOjQ1KToKfiMhIHJuPUxpIHJ0PTg2NjQ1OTU2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpEYSBnaWJ0IGVzIHRhdXNlbmRlIEtvbnplcHRlLgpBbWF6b3JhIGlzdCBhYmVyIGtlaW4gTWFnIG1laHIgdW5kIGhhdCBkYW1pdCBlaWdlbnRsaWNoIGdhciBuaXggYW0gSHV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKEFtYXpvcmEsIDE3LiBKdW4gMTk5NywgMDM6MTQ6MDMpOgp+IyEgcm49WmFyZG96IHJ0PTg2NjQ2MjY0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpTb2xsIGljaCBFdWNoIGRpZSBBZHJlc3NlIHZlcnJhdGVuPyBpY2ggbWFjaHMgc29nYXI6CndpbGRzYXUuaWR2LnVuaS1saW56LmFjLmF0IDIwMDEgKFBLLU11ZCkKQW1hem9yYT0+WGVuYUB3aWxkc2F1Lmlkdi51bmktbGluei5hYy5hdCAyMDAxCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoSmFzcGVyLCAxNy4gSnVuIDE5OTcsIDA2OjU0OjU5KToKfiMhIHJuPVphcmRveiBydD04NjY0NTkyMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKamF1LCBlcyBnaWJ0IGRhIGVpbiB0b2xsZXMgTXVkICpncmlucyBmZWxhZ3VuZCBhbiosIGluIGRlbSBkaWUgbWVpc3RlbgpBdXNydWVzdHVuZ3N0ZWlsZSwgenVtaW5kZXN0IGRpZSBtZWlzdGVuIGd1dGVuLCBsZWJlbnNwdW5rdGUgdW5kCm1hZ2llcHVua3RlIGFsbGUgMzAtNjAgc2VrdW5kZW4gKGplIG5hY2ggcmFzc2UgdW5kIGdpbGRlKSByZWdlbmVyaWVyZW4gbGFzc2VuLApzb2Rhc3MgbWFuIG5hY2ggc3BhZXRlc3RlbnMgNW1pbnV0ZW4gd2llZGVyIHZvbGxlIG1hZ2llcHVua3RlIGJ6dy4gCmxlYmVuc3B1bmt0ZSBoYXQuCk5hdHVlcmxpY2ggbWFjaHQgZGFzIHNjcmlwdGUgaW1tZXIgbm9jaCBuaWNodCB1bm5vZXRpZywgZGllIGJyYXVjaHQgbWFuCmphIHNwYWV0ZXN0ZW5zIHVtIGRpZSB4dGllcyBkdXJjaCBkaWUgcXVlc3RzIHp1IHppZWhlbiA7UAoKZ2FueiBuZWJlbmJlaSwgZGllIGF1c3J1ZXN0dW5nIGlzdCBkYSBhdWNoIGNyYXNoIHVuZCByZWJvb3RzaWNoZXIgOikgdW5kCmthbm4gbnVyIGR1cmNoIGRpZSBlaWdlbmUgZHVtbWhlaXQgdmVybG9yZW4gZ2VoZW4gKnNldWZ6KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZXR6ZWxuIChad2Fja2VsZnJhdSwgMTcuIEp1biAxOTk3LCAwOToyMzozOSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg2NjQ3NjgzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ3MTMxMAoKTXlzdGVyaW91cyB3cm90ZToKPndlbm4gaWNoIG1pY2ggbmljaCB0YWV1c2NoZSBzaW5kIGFsbGUgcXVlc3RzIGJpcyB6dXIgc3BpZWxlcnN0dWZlIDMgT0hORQo+bWV0emVsbiAoYXVzc2VyIGxhbiB3dW4ncyB0YXNjaGUpLi4uLi4KCkhhc3QgRHUgbmljaHQgU2NocmF0IHZlcmdlc3Nlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1ldHplbG4gKE15c3RlcmlvdXMsIDE3LiBKdW4gMTk5NywgMTA6Mzg6MDYpOgp+IyEgcm49WndhY2tlbGZyYXUgcnQ9ODY2NTMyMjE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDcxMzEwCmhvaS4uLi4KCmhtbS4uc3RpbW10Li4uYmVpbSBzY2hyYXQgbXVzcyBtYW4gYXVjaCBtYWwgbmUgcmF0dGUgb2RlciBhbWVpc2Uga2lsbGVuLCB3YXMKYWJlciBudXIgZnVlciBrYXJhdGVrYSBlaW4gcHJvYmxlbSBkYXJzdGVsbGVuIHNvbGx0ZSA+OikKCmR1aWlpaWlpaWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1ldHplbG4gKEdyaW1tYm9ybiwgMTcuIEp1biAxOTk3LCAxMToyMDoyNSk6Cn4jISBybj1ad2Fja2VsZnJhdSBydD04NjY1MzIyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NzEzMTAKQmVubmllIGlzdCBhdWNoIG5pY2h0IHNvIG9obmUuIFdlbGNoZSBTdHVmZSB3YXIgZGllIG5vY2g/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvcGxpc3RlIChHbG9pbiwgMTcuIEp1biAxOTk3LCAxNDoyNzoyNik6CktvZW5udGUgaXJnZW5kIGptZC4gZGFzIERpbmcgd2llZGVyIGluIE9yZHVuZyBicmluZ2VuLCB1bmQgc2VpIGVzCmR1cmNoIGRlbiB2ZXJzcHJvY2hlbmVuIFJlYm9vdCA/CgpEYW5rZSwgR2xvaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcyBpc3QgZmVydGlnISAoRGFtaWVuLCAxNy4gSnVuIDE5OTcsIDE1OjAwOjE2KToKQWxzbywgZGEgZWluaWdlIGxldXRlIEludGVyZXNzZSBhbmdlbWVsZGV0IGhhYmVuLCB3b2xsdGUgaWNoIG1hbCBiZWthbm50Z2ViZW4sCmRhc3MgbWVpbiBIYXVzIGpldHp0IGVuZGxpY2ggc3RlaHQgdW5kIHNvd2VpdCBmZXJ0aWcgaXN0LgpXZXIgc2ljaCdzIG1hbCBhbmd1Y2tlbiB3aWxsLCBlcyBpc3QgdmVyc3RlY2t0IGF1ZiBUb2V0ZXIncyBJbnNlbCwgaW4gZGVyCk5hZWhlCmRlciBBbmxlZ2VzdGVsbGUuIHdlbm4gbWFuIHNpY2ggZWluIGJpc3NjaGVuIHVtc2llaHQsIGZpbmRldCBtYW4gZXMgYWxsZXJkaW5ncwpyZWNodCBzY2huZWxsLgoKSWNoIGZyZXVlIG1pY2ggbmF0dWVybGljaCBhdWNoIGplZGVyemVpdCB1ZWJlciBrb25zdHJ1a3RpdmUgS3JpdGlrLApBbm1lcmt1bmdlbiB1bmQgVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKEFzbW9kaXMsIDE4LiBKdW4gMTk5NywgMDA6MTQ6MzkpOgp+IyEgcm49SmFzcGVyIHJ0PTg2NjUyMzI5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQpJbiA1IE1pbnV0ZW4gaGVpbHQgZGVyIFdlZ2hpZXIgYWJlciBnZXdhbHRpZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKFRyZWthbiwgMTguIEp1biAxOTk3LCAwMDozNDowNyk6Cn4jISBybj1KYXNwZXIgcnQ9ODY2NTIzMjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CmlzdCBkYXMgbmljaHQgZGFzIHRlaWwsIHdvIGR1IGltbWVyIHRhZ2UtbGFuZyBhYmhhZW5nc3QgdW5kIHJlY2huZXIgaW4gCmRlciB1bmkgYmxvY2tpZXJzdD8gOy0pClRyZWthbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVuc3VyIChLYWxpLCAxOC4gSnVuIDE5OTcsIDAxOjAyOjQ1KToKKmRhY2h0ZSwgZGFzcyBvZmZpemllbGxlIFplbnN1ciAoYW5nZWJsaWNoKSBhYmdlc2NoYWZmdCB3YWVyZS4uIG11c3NzIHNpY2gKd29obCBnZXRhZXVzY2h0IGhhYmVuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgKEx1ZywgMTguIEp1biAxOTk3LCAwMzowOToyOCk6CgpOYSB0b2xsLCBkYSBoYWV1ZmUgaWNoIG1pciB2b3IgZGVtIERhaSBlaW5lbiBXYWZmZW5iZXJnIHp1bSBXZXJmZW4gYXVmLiBEZXIKbGllZ3QgZGEgYXVjaCBsYW5nZSB1bmJlaGVsbGlndCwgYWJlciBzbyB1bSBrdXJ6IHZvciAzIGEubS4gbWVpbnQgZWluZXIgYWxsZXMKbmVobWVuIHp1IG11ZXNzZW4uIERhbmtlLCB2b3IgYWxsZW0gZGFzIGRlcmplbmlnZSBhdWNoIG5vY2ggenUgZmVpZ2Ugd2FyLCBlcwp6dXp1Z2ViZW4uIApBbHMgcHJpbWl0aXZlciBIZXR6ZXIgc2FnIGljaCBkYSBkb2NoIGdsYXR0OiBBcnNjaCEKClNhdWVyCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplbnN1ciAoR3JpbW1ib3JuLCAxOC4gSnVuIDE5OTcsIDA5OjIwOjQ5KToKfiMhIHJuPUthbGkgcnQ9ODY2NTg4NTY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NTg4NTY1ClZpZWxsZWljaHQgc2Fnc3QgRHUgYXVjaCwgd29yYXVmIER1IERpY2ggYmV6aWVoc3QuLi4KTmViZW5iZWkgZ2lidCBlcyB0YXRzYWVjaGxpY2ggIm9mZml6aWVsbGUiIFplbnN1ciwgZXMgZ2lidCBkYSBlaW5lIEhhbmR2b2xsClRoZW1lbiwgZGllIER1IGJlc3NlciBuaWNodCBpbiBkZXIgbXBhIChvZGVyIGF1ZiBLYW5hZWxlbikgYW5zY2huZWlkZXN0LiBVbmQKZGFzIGlzdCBhdWNoIGd1dCBzby4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2FnIGhpIChHdWxkdWthdCwgMTguIEp1biAxOTk3LCAyMDoyMToxNCk6CnBybyBzaWViZW4gZ2VodCBhbiBkaWUgYm9lcnNlLCB1bmQgbWFuZnJlZCB0b3BmIGdlaHQgbWl0CnMuby4Kc2FnIGhpCnNhZyBoaQphYmVyIGRpZSBsYWxhIGlzdCBnYW56IGd1dCwgaG9lcnQgc2ljaCBhbiB3aWUgZGllIGFkaWVtdXMgL2RlbHRhIHdlcmJ1bmcuCndlaXNzIGplbWFuZCwgd2llIGRhcyBsaWVkIGhlaXNzdCB1bmQgb2IgZGFzIGF1Y2ggdm9uIGFkaWVtdXMgaXN0PwpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc2FnIGhpIChHdWxkdWthdCwgMTguIEp1biAxOTk3LCAyMDozMDo0Myk6Cn4jISBybj1QYXRyeW4gcnQ9ODY2NjU4NTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjU4MDc0CmpldHp0IGxlbmt0IG5pY2h0IGFiLCBzb25kZXJuIHNhZ3QsIHdpZSBkYXMgbGllZCBoZWlzc3QsIHNvbnN0IGtvbW1lbiBkaWUKYmxvZWRlbiBtYWlnZXIgd2llZGVyIHVuZCB2ZXJsZWdlbiBtZWluZSBhbnNpY2ggYmVyZWNodGlnZSBhbmZyYWcgbWl0IGRlbQpnYW56ZW4gdGhyZWFkIG5hY2ggbXVlbGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlc3RyYWZ1bmc/Pz8gKExvbGxpLCAxOC4gSnVuIDE5OTcsIDIzOjMzOjIwKToKd29sbHRlIG51ciBtYWwgc28gYW5kZXV0ZW4gZGFzcyBpY2ggZGFzIG5ldWUgdG9kZXNzeXN0ZW0gYWJzb2x1dCBtdWVsbCBmaW5kZS4Kd2FydW0gd2lyZCBkZW5uIGVpbiBzcGllbGVyIHF1YXNpIGRhZnVlciBiZXN0cmFmdCB3ZW5uIGVyIHNjaG9uIG1hbCBkZW4gbXV0CmF1ZmJyaW5ndCwgZWluIHN0YXJrZXMgbW9uc3RlciBhbnp1Z3JlaWZlbi4gZGEgd2lyZCBqYSBkYXMgenVydWVja2hhbHRlbgpwcmFrdGlzY2ggbm9jaCBob25vcmllcnQuIGluIHNvIGVpbmVtIHNwaWVsIHNvbGx0ZSBkb2NoIG1laW5lcyBlcmFjaHRlbnMgZGllCnJpc2lrb2JlcmVpdHNjaGFmdCB1bmQgZGVyIGRyYW5nIHp1IG5ldWVtIGltIHZvcmRlcmdydW5kIHN0ZWhlbi4KdmllbGxlaWNodCBzb2xsdGVuIGRpZSBoZXJyZW4gbWFnaWVyIHNpY2ggZGFzIG1hbCB1ZWJlcmxlZ2VuIDotKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVzdHJhZnVuZz8/PyAoRGllZGVyLCAxOC4gSnVuIDE5OTcsIDIzOjM1OjI4KToKfiMhIHJuPUxvbGxpIHJ0PTg2NjY2OTYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApkYSBrYW5uIGljaCBEaXIgbnVyIHp1c3RpbW1lbiwgYmVzb25kZXJzLCB3byBtYW4gaW4gZGVuIG5ldWVuIEdlYmlldGVuIGVoCnNvIGxhbmdzYW0gYW4gamVkZXIgRWNrZSBzdGVyYmVuIGthbm4uCkFsc28gaWNoIGhhdHRlIHNlaXQgZGVyIG5ldWVuIFJlZ2VsdW5nIG5pZSB1bnRlciB3ZW5pZ2VyIGFscyAyIFRvZGVuIHp1CmxlaWRlbi4KCkFiZXIgamV0enQga3JpZWcgaWNoIHdhaHJzY2hlaW5saWNoIGVoIG51ciB3aWVkZXIgZ2VzYWd0LCBoZXVsIG5pY2ggcnVtIG9kZXIKRHUga2VubnN0IERpY2ggZWJlbiBuZWQgYXVzCgpEaWVkZXIsIGdlZnJ1c3RldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc3RyYWZ1bmc/Pz8gKE1hc28sIDE5LiBKdW4gMTk5NywgMDQ6MzY6MDcpOgp+IyEgcm49TG9sbGkgcnQ9ODY2NjY5NjAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCj4gd29sbHRlIG51ciBtYWwgc28gYW5kZXV0ZW4gZGFzcyBpY2ggZGFzIG5ldWUgdG9kZXNzeXN0ZW0gYWJzb2x1dCBtdWVsbAo+IGZpbmRlLgoKRGVpbiBndXRlcyBSZWNodC4gVWVicmlnZW5zLCBiZW51dHplIGhpbiB1bmQgd2llZGVyIGRpZSBTSElGVC1UYXN0ZSwKZGFzIGVyaG9laHQgZGllIExlc2JhcmtlaXQgZGVyIFRleHRlLgoKPiB3YXJ1bSB3aXJkIGRlbm4gZWluIHNwaWVsZXIgcXVhc2kgZGFmdWVyIGJlc3RyYWZ0IHdlbm4gZXIgc2Nob24gbWFsIGRlbiBtdXQKPiBhdWZicmluZ3QsIGVpbiBzdGFya2VzIG1vbnN0ZXIgYW56dWdyZWlmZW4uCgpFciB3aXJkIGRhZnVlciBhdWNoIGdhciBuaWNodCBiZXN0cmFmdCwgc29uZGVybiB2b3IgYWxsZW0gZGFmdWVyLCBkYXNzCmVyIHNvIGRhZW1saWNoIHdhciwgZWluIF96dV8gc3RhcmtlcyBNb25zdGVyIGFuenVncmVpZmVuICh1ZWJyaWdlbnMsCndpZXNvIHNvbGx0ZSBtYW4gdWViZXJoYXVwdCBlaW4gTW9uc3RlciBhbmdyZWlmZW4/IE1hZ2llciwgbWFjaHQgbWFsCm1laHIgbWV0emVsZnJlaWUgUXVlc3RzLCBkYXMga29lbm50ZSB2aWVsbGVpY2h0IGhlbGZlbi4gOi0pLiBOYXR1ZXJsaWNoCmthbm4gZXMgcGFzc2llcmVuLCBkYXNzIG1hbiBkdXJjaCBuZW4gZHVtbWVuIFp1ZmFsbCBvZGVyIGVpbmUgVmVya2V0dHVuZwpkZXJzZWxiZW4gdW1rb21tdCwgYWJlciBzbyBldHdhcyBwYXNzaWVydCBtYW5jaG1hbCAtLSBDJ2VzdCBsYSB2aWUuCgpXZW5uIGljaCBBdXRvIGZhaHJlLCBlcndhcnRlIGljaCBhdWNoIGtlaW5lIEdhcmFudGllLCBkYXNzIGljaCBkZW4KbmFlY2hzdGVuIEtpbG9tZXRlciB1ZWJlcmxlYmVuIHdlcmRlLiA6KQoKPiBkYSB3aXJkIGphIGRhcyB6dXJ1ZWNraGFsdGVuCj4gcHJha3Rpc2NoIG5vY2ggaG9ub3JpZXJ0LiBpbiBzbyBlaW5lbSBzcGllbCBzb2xsdGUgZG9jaCBtZWluZXMgZXJhY2h0ZW5zCj4gZGllIHJpc2lrb2JlcmVpdHNjaGFmdCB1bmQgZGVyIGRyYW5nIHp1IG5ldWVtIGltIHZvcmRlcmdydW5kIHN0ZWhlbi4KClNpY2hlcmxpY2ggc2luZCBkaWUgUmlzaWtvYmVyZWl0c2NoYWZ0IHVuZCBkZXIgRHJhbmcgenVtIE5ldWVuIHdpY2h0aWdlCkZha3RvcmVuLCB3YXMgZGFzIFNwaWVsIGFuZ2VodCwgdW5kIGVzIGlzdCBkdXJjaGF1cyBlcnd1ZW5zY2h0LCBkYXNzCmRpZSBTcGllbGVyIGJlaWRlcyBhdWZicmluZ2VuLiBTdGVsbCBEaXIgamV0enQgYWxsZXJkaW5ncyBlaW5tYWwgdm9yLApEdSBrb2VubnRlc3QgaW4gYmVsaWViaWcgc2Nod2VyZSBSZWdpb25lbiBoZXJlaW5wbGF0emVuLCBvaG5lIGJlZnVlcmNodGVuCnp1IG11ZXNzZW4sIGRvcnQgc3RlcmJlbiB6dSBrb2VubmVuLiBXbyBsaWVndCBkYSBkZXIgU3BpZWxzcGFzcz8KTm8gcmlzaywgbm8gZnVuLiBVbmQgd2VubiBkYXMgU3RlcmJlbiBudXIgYmVkZXV0ZXQsIGRhc3MgaWNoIG1pcgptYWwgZWJlbiBlaW5lbiBLYWZmZWUgaG9sZW4gZ2VoZSwgd2FlcmVuZCBiZWkgbWlyIGF1ZiBkZW0gQmlsZHNjaGlybQpkaWUgVG9kZXNzZXF1ZW56IGR1cmNoc2Nyb2xsdCwgZGFubiBpc3QgZGVyIFRvZCBrZWluZSBhZXF1aXZhbGVudGUKQmVzdHJhZnVuZyBtZWhyLgoKPiB2aWVsbGVpY2h0IHNvbGx0ZW4gZGllIGhlcnJlbiBtYWdpZXIgc2ljaCBkYXMgbWFsIHVlYmVybGVnZW4gOi0pKSkKClZpZWxsZWljaHQgc29sbHRlbiBlaW5pZ2UgU3BpZWxlciB1ZWJlcmxlZ2VuLCB3YXMgZGVyIFRvZCB3aXJrbGljaApiZWRldXRlbiBfa29lbm50ZV8gKGVzIGdpYnQgTXVkcywgaW4gd2VsY2hlbiBkZXIgVG9kIGVuZGd1ZWx0aWcgaXN0LAp1bmQgZGFzIG1pdCBndXRlbiBHcnVuZDogRXMgcGFzc3QgZWluZmFjaCBpbiBkZW4gU2V0dGluZykgLS0gdW5kCmRlbiBNYWdpZXJuIGhpZXIgZGFua2VuLCBkYXNzIHNpZSBpaG4gc28gImxlaWNodCIgZ2VtYWNodCBoYWJlbi4KCk9kZXIga2VubnN0IF9EdV8gamVtYW5kZW4gcGVyc29lbmxpY2gsIGRlciBnZXN0b3JiZW4gaXN0LCBzZWluZSBMZWljaGUKdmVyZmF1bHQgaGF0IHVuZCBlciBhbnNjaGxpZXNzZW5kIHB1dHptdW50ZXIsIGdlbmF1c28gYWx0IHVuZCBtaXQKcHJha3Rpc2NoIGRlbnNlbGJlbiBGZWVoaWdrZWl0ZW4gdW5kIEVyaW5uZXJ1bmdlbiB3aWUgdm9yaGVyIGF1ZmdldGF1Y2h0CmlzdD8gV2llIHZpZWxlIFJvbGxlbnNwaWVsLUNoYXJha3RlcmUga2VubnN0IER1LCBkaWUgc28gZXR3YXMgc2Nob25tYWwKZ2VtYWNodCBoYWJlbj8gSWNoIHVlYnJpZ2VucyBrZWluZW4gdm9uIGJlaWRlbi4gVG90IGlzdCBtZWlzdGVucyB0b3QsCnVuZCBlbnR3ZWRlciBzZWhlIGljaCBkZW4gYmV0cmVmZmVuZGVuIG5pY2h0IHdpZWRlciAod2llIGVzIG1pdCBlaW5lbQptZWluZXIgRnJldW5kZSBwYXNzaWVydCBpc3QsIGRlciBiZWkgZWluZW0gTW90b3JyYWR1bmZhbGwgdW1nZWtvbW1lbgppc3QgLS0gZXIgd2FyIHVlYnJpZ2VucyBudXIgQmVpZmFocmVyKSBvZGVyIGljaCBkYXJmIG1pciBlaW5lbiBuZXVlbgpDaGFyYWt0ZXIgYXVzZGVua2VuIChlaW5pZ2UgTWFsZSBiZWkgRFNBIHVuZCBTUiBwYXNzaWVydCkuCgpBbHNvOiBGcmV1dCBFdWNoLCBoaWVyIGlzdCBkZXIgVG9kIHdpcmtsaWNoIGthdW0gZGVyIFJlZGUgd2VydC4uLgoKICAgICAgICAgICAgICAgICAgTWFzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlc3RyYWZ1bmc/Pz8gKEFzbW9kaXMsIDE5LiBKdW4gMTk5NywgMDk6MTc6NTIpOgp+IyEgcm49TWFzbyBydD04NjY2ODc3Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKQWVoLCB3YXMgc3ByaWNodCBkYWdlZ2VuLCBkYXNzIG1hbiB3YWVocmVuZCBkZXIgVG9kZXNzZXF1ZW56IG5lIFRhc3NlIEthZmZlZQpob2xlbiBnZWh0ID8gUGFzc2llcnQgZGEgamV0enQgZXR3YXMgd2VsdGJld2VnZW5kZXMgPyA6KQpBdXNzZXJkZW0ga2FubiBtYW4gYmVpIGRlbSBob2NoaWRlbG4gZGFuYWNoIG1laHJlcmUgS2FubmVuIEthZmZlZSB0cmlua2VuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmVzdHJhZnVuZz8/PyAoTWFzbywgMTkuIEp1biAxOTk3LCAwOToyNzo0Mik6Cn4jISBybj1Bc21vZGlzIHJ0PTg2NjcwNDY3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMAo+IEFlaCwgd2FzIHNwcmljaHQgZGFnZWdlbiwgZGFzcyBtYW4gd2FlaHJlbmQgZGVyIFRvZGVzc2VxdWVueiBuZSBUYXNzZSBLYWZmZWUKPiBob2xlbiBnZWh0ID8gUGFzc2llcnQgZGEgamV0enQgZXR3YXMgd2VsdGJld2VnZW5kZXMgPyA6KQoKR2FyIG5pY2h0cy4KQWJlciB3ZW5uIGRpZSBlaW56aWdlIEtvbnNlcXVlbnogdm9tIFRvZCBlaW5lIGtsZWluZSBLYWZmZWVwYXVzZSBpc3QsIGRhbm4KZmluZGUgaWNoIGRhcyBhcm1zZWxpZy4KCj4gQXVzc2VyZGVtIGthbm4gbWFuIGJlaSBkZW0gaG9jaGlkZWxuIGRhbmFjaCBtZWhyZXJlIEthbm5lbiBLYWZmZWUgdHJpbmtlbgo+IC4uLgoKV2llc28gaG9jaGlkZWxuPyBNYW4ga2FubiBhdWNoIG9obmUgYWxsZSBXZXJ0ZSBhdWYgMjAgenUgaGFiZW4Kd2VpdGVyc3BpZWxlbiwgZWhybGljaCEgOi0pCgogICAgICAgICAgICAgICAgIE1hc28uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNhZyBoaSAoU3RhaGxkb3JuLCAxOS4gSnVuIDE5OTcsIDEwOjA5OjIxKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg2NjY1ODA3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY1ODA3NApBZWhtLCBHdWxkdWthdCwgZGFzIG5hZWNoc3RlIG1hbCBtYWNoIGRlbiBUcmlnZ2VyIG1pdCBlaW5lbSAhIHZvcm5lIGRyYW4uIEFsc28KIXNhZyBoaS4gRGFtaXQgdW1nZWhzdCBkdSwgZGFzcyBkdSBkYXMgYWxsZXMgaW4gZGllIFplaXR1bmcgc2NocmVpYnN0Li4uCgpTVEFITCBoYXQgZGEgRXJmYWhydW5nLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmVzdHJhZnVuZz8/PyAoVHJla2FuLCAxOS4gSnVuIDE5OTcsIDEwOjA5OjQ1KToKfiMhIHJuPU1hc28gcnQ9ODY2NzA1MjYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCmViZW4Kc2NoYXUgZGlyIGtleSBhbiAuLiBkZXIgbWFjaHQgZGFzIHJpY2h0aWc6CmtlaW5lIHNrcnVwZWwsIGtlaW5lIGhlbW11bmdlbi4KV2VubiBkZXIgYXVzIGRlciBzZXF1ZW56IGtvbW10LCBzdHVlcnp0IGVyIHNpY2ggaW5zIGdlbWV0emVsLgpOdW4gamEsIHp1IHdhcyBkYXMgZnVlaHJ0IHdpc3NlbiB3aXIgamEgOy0pClRyZWthbiAtPiBncmluc3QgS2V5IGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmVzdHJhZnVuZz8/PyAoR25vbWUsIDE5LiBKdW4gMTk5NywgMTA6MzI6MzcpOgp+IyEgcm49TWFzbyBydD04NjY3MDUyNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKPldpZXNvIGhvY2hpZGVsbj8gTWFuIGthbm4gYXVjaCBvaG5lIGFsbGUgV2VydGUgYXVmIDIwIHp1IGhhYmVuCj53ZWl0ZXJzcGllbGVuLCBlaHJsaWNoISA6LSkKCmhtLi4uIG1hbiBfa2Fubl8gc2ljaCBhdWNoIG5lIGZyaWthZGVsbGUgYW5zIGtuaWUgbmFnZWxuLi4uIHdpbGwgc2FnZW46IAptYW4gX2thbm5fIHZpZWxlcy4uLiBhYmVyIG9iIGVzIGF1Y2ggc2lubnZvbGwgaXN0Li4uPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJlc3RyYWZ1bmc/Pz8gKEdyaW1tYm9ybiwgMTkuIEp1biAxOTk3LCAxMDo0NzozMSk6Cn4jISBybj1Hbm9tZSBydD04NjY3MDkxNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKRHUgd2lyc3QgZXMgdmVybXV0bGljaCBrYXVtIGdsYXViZW4gd29sbGVuLCBhYmVyIGRpZSBhbGxlcndlbmlnc3RlbiBTcGllbGVyCmhpZXIgZmFuZ2VuIG1pdCBlaW5lbSAyMGVyIFNjaG5pdHQgaW4gZGVuIHN0YXRzIGFuLiBVbmQgZGllIHNwaWVsZW4gYXVjaC4gVW5kCnp3YXIgc2lubnZvbGxlciwgYWxzIGdld2lzc2UgTGV1dGUsIGRpZSBudXIgcnVtaGV1bGVuLCBhbnN0YXR0IHp1IHZlcnN1Y2hlbiwKbWl0IGRlciBTaXR1YXRpb24gYmVzdG1vZWdsaWNoIGtsYXJ6dWtvbW1lbi4gRWluIHdlbmlnIG1laHIgRmxleGliaWxpdGFldAp3YWVyZSBkYSBzaWNoZXIgbmljaHQgZmFsc2NoLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJlc3RyYWZ1bmc/Pz8gKFdhcmdvbiwgMTkuIEp1biAxOTk3LCAxMDo1MToyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2NzEwMDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCkRhcyBQcm9ibGVtIG1pdCBkZW4gMWVyLVN0YXRzIGVpbmVzIG5ldWVuIENoYXJha3RlcnMgbGFlc3N0IHNpY2ggYWJlcgpuYXR1ZXJsaWNoIG1pdCBlaW5lbSBndXRlbiBaVC1TdWNoc2tyaXB0IHNjaG5lbGwgYmVoZWJlbi4uLgpNaXQgU2tpbGxzIHVuZCBTcGVsbHMgdmVyaGFlbHQgZXMgc2ljaCBhZWhubGljaC4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJlc3RyYWZ1bmc/Pz8gKEdyaW1tYm9ybiwgMTkuIEp1biAxOTk3LCAxMTowMTowMSk6Cn4jISBybj1XYXJnb24gcnQ9ODY2NzEwMjgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCkFoYSwgV2FyZ29uIGlzdCB3aWVkZXIgZGE/IApXbyBibGVpYnQgamV0enQgZGllIEVybGFldXRlcnVuZyBkZXIgVG9kZXNhZW5kZXJ1bmdlbj8gOy0pCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJlc3RyYWZ1bmc/Pz8gKE1hc28sIDE5LiBKdW4gMTk5NywgMTI6NDE6MjIpOgp+IyEgcm49R25vbWUgcnQ9ODY2NzA5MTU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCj4+IFsvbWVdCj4+IFdpZXNvIGhvY2hpZGVsbj8gTWFuIGthbm4gYXVjaCBvaG5lIGFsbGUgV2VydGUgYXVmIDIwIHp1IGhhYmVuCj4+IHdlaXRlcnNwaWVsZW4sIGVocmxpY2ghIDotKQoKPiBbR25vbWVdCj4gaG0uLi4gbWFuIF9rYW5uXyBzaWNoIGF1Y2ggbmUgZnJpa2FkZWxsZSBhbnMga25pZSBuYWdlbG4uLi4gd2lsbCBzYWdlbjogCj4gbWFuIF9rYW5uXyB2aWVsZXMuLi4gYWJlciBvYiBlcyBhdWNoIHNpbm52b2xsIGlzdC4uLj8KCldpZXNvIHNvbGx0ZSBlcyBfbmljaHRfIHNpbm52b2xsIHNlaW4/IFdpZXZpZWxlIFNwaWVsZXIgZ2lidCBlcyBoaWVyLApkaWUgdWViZXJhbGwgdm9sbGUgU3RhdHMgaGFiZW4/IFdpZXZpZWxlIGhhYmVuIGVzIG9obmUgWlQtTGlzdGVuCmdlc2NoYWZmdD8gV2llc28gc29sbHRlIG1hbiBkaWUgSGVyYXVzZm9yZGVydW5nZW4gaW0gTXVkIHNvIGdlc3RhbHRlbiwKZGFzcyBhdWNoIChvZGVyICJ2b3IgYWxsZW0iPykgZGllamVuaWdlbiwgZGllIGdlc2NodW1tZWx0IGhhYmVuLApldHdhcyB6dSB0dW4gaGFiZW4/IFdpZXNvIHNvbGx0ZSBpY2ggdW5iZWRpbmd0IHZvbGxlIFN0YXRzIGhhYmVuLApiZXZvciBpY2ggenUgc3BpZWxlbiAoPT0gUXVlc3RzIG1hY2hlbiwgbmV1ZSBHZWdlbmRlbiBlcmt1bmRlbiwKbWl0IExldXRlbiBsYWJlcm4pIGFuZmFuZ2U/CgpGcmFnZW4gdWViZXIgRnJhZ2VuLi4uIGtlbm50IGplbWFuZCBkaWUgQW50d29ydGVuPyA6KQoKICAgICAgICAgICAgICAgICAgICAgTWFzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCZXN0cmFmdW5nPz8/IChLZXksIDE5LiBKdW4gMTk5NywgMTI6NTI6NTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjcxMDA1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIbXBmIG1pc3QgLi4uLiBpY2ggbXVzcyBHcmltbSBsZWlkZXIgbWFsIHp1c3RpbW1lbiAuLi4gOikKCkljaCB3ZWlzcyBqYSBuZXQgd2FzIGluIGRlbiBTcGllbGVybiBoaWVyIHRlaWx3ZWlzZSB2b3JnZWh0LCB2b3IgYWxsZW0gZmFlbGx0Cm1pciBhYmVyIGF1ZiBkYXMgZXMgc2ljaCB1bSAibmV1ZSIgU3BpZWxlciBoYW5kZWx0IGRpZSBzaWNoIHVlYmVyIGRlbiBuZXVlbgpUb2QgYmVzY2h3ZXJlbiAuLi4KSWNoIG5laG1lIGFuIGRhcyBkaWVzZSBTcGllbGVyIGRhcyBNRyBoYWx0IG51ciBhbHMgQmx1ZW1jaGVucGZsdWVja2VyLU11ZAprZW5uZW5nZWxlcm50IGhhYmVuIC4uLiAKTmFqYSBob2ZmZSBkb2NoIGRhcyBkaWVzZSBaZWl0ZW4gamV0enQgdm9yYmVpIHNpbmQgd2VubiBkaWUgbmV1ZSBTdHVmZW5yZWZvcm0Ka29tbXQgLi4uIERhbm4gbGVybmVuIGRpZXNlIExldXRlIHZpZWxsZWljaHQgYXVjaCBtYWwgb3JkZW50bGljaCB1bmQKc3RhbmRlc2dlbWFlc3MgenUgc3RlcmJlbiA7KQoKVW5kIHdlciBkaWUgbmV1ZW4gVG9kZXNmb2xnZW4gc29vb29vIHNjaGVpc3NlIGZpbmRldCBzb2xsIHNpY2ggbG9lc2NoZW4gb2RlcgpuaW1tZXIgc3RlcmJlbiEKCgpBY2hqYSAuLi4gV2FyZ29uIGthbm4gbWFuIGVpZ2VudGxpY2ggYXVjaCBmdWVyIEFuc3RpZnRlbiB6dW0gc2NyaXB0ZW4gYmVzdHJhZnQKd2VyZGVuPyBTY2hvZW4gd2FlcmUgZXMgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmVzdHJhZnVuZz8/PyAoQXRveiwgMTkuIEp1biAxOTk3LCAxMjo1NDozNyk6Cn4jISBybj1NYXNvIHJ0PTg2NjcxNjg4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApBbHNvIExldXRlIGtvZW5udCBJaHIgRXVjaCB2aWVsbGVpY2h0IG1hbCBhYnJlYWdpZXJlbj8KCkljaCBkYWNodGUgYmlzaGVyIGltbWVyIGljaCBzZWkgZWluV2FzY2hsYXBwZW4sIGFiZXIgd2VubiBpY2ggbWlyIGRhcyBoaWVyIHNvCmFuc2NoYXVlLCBkZW5rZSBpY2gsIGljaCBtdXNzIG5vY2ggc2Nod2VyIGRyYW4gYXJiZWl0ZW4sIHVtIG1pdCBFdWNoCm1pdHp1a29tbWVuLgoKSWNoIHdhciB1bmQgYmluIGtlaW4gZ3Jvc3NlciBNZXR6bGVyIHVuZCBtZWluZW4gTGV2ZWwgaGFiZSBpY2ggbWlyIGR1cmNoIEFQCnVuZCB1bXNjaGF1ZW4gZXJ3b3JiZW4uIEljaCBoYWJlIGVyc3QgamV0enQgYW5nZWZhbmdlbiwgZXR3YXMgbWVociBuYWNoIG5vY2gKbmljaHQgYmVrb21tZW5lbiBFcnN0a2lsbHMgQXVzc2NoYXUgenUgaGFsdGVuIHVuZCBhbHMgUmVzdWx0YXQgZGF2b24gbGVpZGUgaWNoCmpldHp0IGF1Y2ggb2VmdGVyIHVudGVyIFRvZGVuLgpOaWNodHNkZXN0b3Ryb3R6IGhhYmUgaWNoIHNlaXQgZGVyIG5ldWVuIFJlZ2VsdW5nIHVuZCB0cm90eiBkZXIgVG9kZSB1bnRlcgpkZW5lbiBpY2ggaW1tZXIgbGVpZGUgKEpldHp0IHdlaXNzIGljaCBhdWNoIHdpZSBQYXJhVmxhbmQgaXN0IDspKSkgKSBlcwpnZXNjaGFmZnQgZ2VudWVnZW5kIEVyc3RraWxscyB1bmQgd2FocnNjaGVpbmxpY2ggYXVjaCBGUHMgenUga3JpZWdlbiB1bSB6d2VpCkxldmVsIHp1IHNjaGFmZmVuLiBBbHNvIGVzIGdlaHQgYXVjaCBtaXQgZGVuIFRvZGVuLgpJY2ggd3VlcmRlIHNlaHIgZ2VybmUgbWFsIHdpc3Nlbiwgb2IgaWhyIGV1Y2ggbnVyIGFic2NocmVja2VuIGxhc3N0IHZvbiBkZXIKTWVsZHVuZyBiZWkgSW5mbywgb2RlciBvYiBpaHIgd2lya2xpY2ggc29vb28gYmVlaW50cmFlY2h0aWd0IHdlcmRldCwgd2llIGlocgp0dXQuLi4KClRzY2hhdSBBdG96IGVpZ2VudGxpY2ggaW1tZXIgZGVyIGdyb2Vzc3RlIEphbW1lcmVyIGluIEdpZXNzZW4gOykpCgpQUyBub2NoIHdhcywgbWVpbmUgU2tpbGxzIHNpbmQgYmVpIHdlaXRlbSBuaWNodCB0b2xsLCBzb25zdCB3YWVyIGljaCBzY2hvbgpsYWVuZ3N0IEdpbGRlbmxldmVsIDExIDspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJlc3RyYWZ1bmc/Pz8gKERpZWRlciwgMTkuIEp1biAxOTk3LCAxMzo0MzozOCk6Cn4jISBybj1BdG96IHJ0PTg2NjcxNzY3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMAp6dW0gVGhlbWEgQmVlaW50cmFlY2h0aWd1bmc6CgpJY2ggd2Vpc3MgbmVkIG9iIGRhcyBlaW4gQnVnIG9kZXIgZWluIEZlYXR1cmUgZGVzIG5ldWVuIFRvZGVzIGlzdCwgYWJlciB3ZW5uCmljaCB1bnRlciAyIG9kZXIgMyBUb2RlbiBsZWlkZSwKa2FlbXBmdCBtZWluIEthbXBmZGFlbW9uIHNlaHIgaGFldWZpZyB1ZWJlcmhhdXB0IG5pY2h0IG1laHIgbWl0LCBkLmguIGVyIG1hY2h0CmtlaW5lIGVpbnppZ2VuIFNjaGxhZ2UuCldlbm4gaWNoIGlobSBiZWZlaGxlIE1PbnN0ZXIgYmxhYmxhIHp1IHRvZXRlbiwgaGVpc3N0IGVzIHp3YXIsIGRhc3MgZXIKc2Nob24gZ2VnZW4gZXMga2FlbXBmdCwgYWJlciBlciB0dXQgZWJlbiBuaXggdW5kIHN0ZWh0IG51ciBkdW1tIHJ1bSEKCkFuc29uc3RlbiB3YWVyZSBlcyBtaXIgZWdhbCBvYiBpY2ggdW50ZXIga2VpbmVtIG9kZXIgMyBUb2RlbiBsZWlkZS4gV2VubgppY2ggYWIgdW5kIHp1IG1hbCBuZSBLYW1wZnJ1bmRlIGF1c3NldHplIG1hY2h0IGRhcyBuaWNoIHNvb29vIHZpZWwgYXVzLi4uCkZhbGxzIGVpbmVyIGRlciBDaGFvdGVuIGFsc28genUgb2JpZ2VtIFByb2JsZW0gd2FzIHdlaXNzIG9kZXIgZXMgaWhtIGFlaG5saWNoCmdlaHQgd3Vlc3N0ZSBpY2ggZGEgZ2VybmUgbWFsIEJlc2NoZWlkIDstKQoKVmllbGxlaWNodCBpc3RzIGphIHdpcmtsaWNoIGVpbiBCdWcgKmhvZmYqIDopCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJlc3RyYWZ1bmc/Pz8gKFNudWdnbGUsIDE5LiBKdW4gMTk5NywgMTM6NTY6MzcpOgp+IyEgcm49QXRveiBydD04NjY3MTc2Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKRGllIE9iZXJoZXVsc3VzZW4gaGllciBzaW5kIHZlcm11dGxpY2ggbnVyIGRpZSAidWVibGljaGVuIiBjb21waS1Sb2xsZW5zcGllbGUKZ2V3b2hudCwgZGFzIGhlaXNzdCB2b3IgbmVtIGhhcnRlbiBLYW1wZiBhYnNwZWljaGVybiB1bmQgenVyIE5vdCAyOCBtYWwgd2llZGVyCmxhZGVuLCBiaXMgZXMgZW5kbGljaCBnZWtsYXBwdCBoYXQuIFdhaHJzY2hlaW5saWNoIGdlYmVuIHNpZSBlcnN0IFJ1aGUsIHdlbm4KZGFzIGF1Y2ggaGllciBpbSBNRyBnZWh0LiAKClNudWdnLgoKUFMgVmVyZ2Vzc3QgZXMhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCZXN0cmFmdW5nPz8/IChEaWVkZXIsIDE5LiBKdW4gMTk5NywgMTQ6MDc6NDgpOgp+IyEgcm49U251Z2dsZSBydD04NjY3MjEzOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKU251Z2dsZSwgaWNoIGdsYXViZSBoaWVyIGhhc3QgRHUgZXR3YXMgdWViZXJ0cmllYmVuIDstKQoKRGllZGVyLCBlaW4gZ3V0ZXIgRnJldW5kIHZvbiBMYXJzIHVuZCBpbW1lciBiZXJlaXQsIGlobiB6dSBiZXN1Y2hlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQmVzdHJhZnVuZz8/PyAoUm9jaHVzLCAxOS4gSnVuIDE5OTcsIDE0OjI1OjA0KToKfiMhIHJuPVNudWdnbGUgcnQ9ODY2NzIxMzk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwClNudWdnbGUsIGljaCBnbGF1YmUgaGllciBoYXN0IER1IGV0d2FzIHVudGVydHJpZWJlbiA7LSkKClJvY2h1cywgZWluIGd1dGVyIEZyZXVuZCB2b24gVG9kIHVuZCBpbW1lciBiZXJlaXQsIGlobSB6dSBoZWxmZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzYWcgaGkgKExpLCAxOS4gSnVuIDE5OTcsIDE0OjMxOjU2KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg2NjY1ODA3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY1ODA3NApTYWcgRGFzIExpZWQgaGVpc3N0IEFkaWVtdXMgdW5kIGlzdCB2b24gQWRpZW11cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2FnIGhpIChHcmltbWJvcm4sIDE5LiBKdW4gMTk5NywgMTQ6NDg6MjApOgp+IyEgcm49TGkgcnQ9ODY2NzIzNTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjU4MDc0CkFoYS4uLiBpcyBqYSBob2NoaW50ZXJlc3NhbnQuIDotKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZWJvb3RzIChUb2V0ZXIsIDE5LiBKdW4gMTk5NywgMTY6MjI6MzgpOgpIaSwKenVyIEluZm86IGRlciBlcnN0ZSBSZWJvb3QgaGV1dGUgbW9yZ2VuIHdhciB3ZWdlbiBQcm9ibGVtZW4gZGVzIFJlY2huZXJzIG1pdApzZWluZW4gU2NzaS1HZXJhZXRlbiwgZGVyIHp3ZWl0ZSBoZXV0ZSBuYWNobWl0dGFnLCB3ZWlsIG1nIGF1ZmdydW5kIElQLUFuLQpzY2hsdXNzZG9zZW5tYW5nZWxzIHVtZ2VzdGVsbHQgd2VyZGVuIG11c3N0ZS4KICBUb2V0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZWJvb3RzIChLZXksIDE5LiBKdW4gMTk5NywgMTY6MzA6MzIpOgp+IyEgcm49VG9ldGVyIHJ0PTg2NjczMDE1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjczMDE1OApEYW5rZSBUb2V0ZXIgOikKRW5kbGljaCB3aXJkIG1hbiBtYWwgZHJ1ZWJlciBpbmZvcm1pZXJ0IG9obmUgbmFjaGZyYWdlbiB6dSBtdWVzc2VuLgoKRGFzIG1laW5lIGljaCBuZXQgaXJvbmlzY2ggLi4uCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmVzdHJhZnVuZz8/PyAoVGFzaGEsIDE5LiBKdW4gMTk5NywgMTc6NDA6MDkpOgp+IyEgcm49TWFzbyBydD04NjY3MTY4ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKV2lldmllbGUgZXMgb2huZSBaVC1MaXN0ZW4gZ2VzY2hhZmZ0IGhhYmVuIHd1ZXNzdCBpY2ggYXVjaCBtYWwgZ2VybmUuIER1ZXJmdGVuCm5pY2h0IHNvIGFyZyB2aWVsZSBzZWluLCBkZW5rIGljaC4KClRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCZXN0cmFmdW5nPz8/IChHcmltbWJvcm4sIDE5LiBKdW4gMTk5NywgMTc6NDc6MDkpOgp+IyEgcm49VGFzaGEgcnQ9ODY2NzM0ODA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCkljaCBwb3N0dWxpZXJlLCBkYXNzIGRpZSBaYWhsIGlyZ2VuZHdvIHp3aXNjaGVuIDAgdW5kIDAuNDkgbGllZ3QuIE1hdGhlbWF0aXNjaAphdWYgZ2FuemUgWmFobGVuIGdlcnVuZGV0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzdHJhZnVuZz8/PyAoTHVnLCAxOS4gSnVuIDE5OTcsIDE4OjI4OjA0KToKfiMhIHJuPU1hc28gcnQ9ODY2Njg3NzY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCk93ZWFpaCwKCmFsc28gTWFzbyB1ZWJlciBkaWUgU3R1ZmUgZGVzOiBJbi1tZWluZW0tUm9sbGVuc3BpZWwtaXN0LWRhcy1hYmVyLXNvLUFyZ3VtZW50Cm9kZXIgZGFzIEluLWRlci1SZWFsaXRhZXQtaXN0LWRhcy1hdWNoLW5pY2h0LXNvLUdlYmx1YmJlciBrb2VubnRlbiB3aXIgZG9jaApsYW5nc2FtIGhpbndlZyBzZWluLiBXYXMgemFlaGx0IGlzdCBkaWUgU3BpZWxiYXJrZWl0IHVuZCBCYWxhbmNlIGhpZXIuIERhcwpnaWx0IGZ1ZXIgYWxsZSBTZWl0ZW4uCgpQcmltaXRpdiBoZXR6ZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmVzdHJhZnVuZz8/PyAoTWFzbywgMTkuIEp1biAxOTk3LCAxODozNzoyOCk6Cn4jISBybj1MdWcgcnQ9ODY2NzM3Njg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCk5laW4sIGtvZW5udGVuIHdpciBuaWNodC4gRXMgZ2VodCBoaWVyIGViZW4gX25pY2h0XyB1bSBkaWUgQmFsYW5jZQooZGllIHdpcmQgZHVyY2ggZWluIHBhYXIgU3BpZWxlciwgZGllIG1hbCBlYmVuIGZ1ZXIgZWluIHBhYXIgU3R1bmRlbgpzY2hsZWNodGVyZSBTdGF0cyBoYWJlbiBuaWNodCBnZXN0b2VydCksIHNvbmRlcm4gZGFydW0sIGRhc3MgZGVyIFRvZApldHdhcyBfYmVkZXV0ZW5fIHNvbGwgdW5kIG5pY2h0IGVpbmVuIFN0YXR1cyB3aWUgZGFzIFBpbmtlbG4gZXJoYWVsdDoKbmVydmlnIHVuZCBlaW4gd2VuaWcgemVpdHJhdWJlbmQsIGFiZXIgc29uc3QgbmljaHQgd2VpdGVyIGJlZGV1dGVuZC4KCkFiZXIgZXMgd2lyZCB3b2hsIGltbWVyIExldXRlIGdlYmVuLCBkaWUgdW5iZWRpbmd0IGFsbGUgU3RhdHMgYXVmIDEwMCUKaGFiZW4gbXVlc3NlbiwgZGllIGJlc3RlIEF1c3J1ZXN0dW5nIGhhYmVuIHdvbGxlbiB1bmQgZGllIFp1c2FtbWVuc3RlbGx1bmcKZGllc2VyIG5hY2ggZWluZXIgc3RyZW5nIG1hdGhlbWF0aXNjaGVuIE1ldGhvZGUgYmVyZWNobmVuLCBkaWUgaWhuZW4KZXJtb2VnbGljaHQsIGRpZSBtZWlzdGVuIEdlZ25lciBpbiBtb2VnbGljaHN0IGt1cnplciBaZWl0IHp1IGJlc2llZ2VuLgpVbmQgZnVlciBzb2xjaGUgTGV1dGUgc2luZCAobm9jaCBuaWNodCBlaW5tYWwgcGVybWFuZW50ZSEpCkZhZWhpZ2tlaXRlbnZlcmx1c3RlIGluIGV0d2EgZ2xlaWNoYmVkZXV0ZW5kIG1pdCBkZXIgU2ludGZsdXQ6IG1hbgppc3QgamEgYXVmIGVpbm1hbCBhdWYgODksNTM2JSBkZXIgbm9ybWFsZW4gS2FtcGZ3ZXJ0ZSwgZGFzIGlzdCBqYQpzY2hyZWNrbGljaC4uLgoKTGV1dGUsIHZlcnN1Y2h0IG1hbCB6dSBzcGllbGVuIHN0YXR0IGRpZSBDaGFyYWt0ZXJlIGR1cmNoIGVpbmVuCmdlbmV0aXNjaGVuIE9wdGltaWVydW5nc2FsZ29yaXRobXVzIGR1cmNobGF1ZmVuIHp1IGxhc3Nlbi4KCiAgICAgICAgICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlc3RyYWZ1bmc/Pz8gKFRhc2hhLCAxOS4gSnVuIDE5OTcsIDE4OjM5OjM3KToKfiMhIHJuPUx1ZyBydD04NjY3Mzc2ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKQXVmZ3J1bmQgZGVyIFRhdHNhY2hlLCBkYXNzIHN0YWVuZGlnIFNwaWVsZXIgZGllc2VzIE1VRCB2ZXJsYXNzZW4gdW5kIHZvcgphbGxlbSBzdGFlbmRpZyBuZXVlIGhpbnp1a29tbWVuIHdlcmRlbiB3aXIgaGllciBOSUUgdWViZXIgaXJnZW5kd2FzIGhpbndlZwpzZWluLiAKClRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZXN0cmFmdW5nPz8/IChBdG96LCAxOS4gSnVuIDE5OTcsIDE4OjM5OjU1KToKfiMhIHJuPUx1ZyBydD04NjY3Mzc2ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKV2FzIEJhbGFuY2UgYW5nZWh0IHdlaXNzIGljaCBuaWNodCwgaGF0IHNpY2ggZWlnZW50bGljaCBuaWUgdmllbCBnZWFlbmRlcnQuCldlbm4gbWFuIHNpY2ggYXVza2FubnRlL2F1c2tlbm50IHdhci9pc3QgbWFuIGViZW4gc3RhZXJrZXIsIGFscyBMZXV0ZSBkaWUgc2ljaApuaWNodCBhdXNrZW5uZW4uIEljaCBrZW5uZSBtaWNoIGF1Y2ggbmljaHQgc29vbyB0b2xsIGF1cyBhYmVyIHdlbm4gbWFuIHNpY2gKZGllIFplaXQgbmltbXQsIGlzdCBlcyBkdXJjaGF1cyBtb2VnbGljaCBoaWVyIGVyZm9sZ3JlaWNodCB6dSBzcGllbGVuLiAKV2FzIHp1IERlaW5lbSB6d2VpdGVuIFB1bmt0IGZ1ZWhydCBMdWc6IEljaCBmaW5kZSBkYXMgTVVEIGR1cmNoYXVzIHNwaWVsYmFyLgpOYXR1ZXJsaWNoIGdpYnQgZXMgYXVjaCBTY2h3YWNocHVua3RlLCBhYmVyIGljaCBoYWJlIGphIGF1Y2ggbmljaHQgZ2VzYWd0LApkYXNzIGVzIHBlcmZla3QgaXN0LCBzb25kZXJuIHNwaWVsYmFyCgpBdG96IHZlcnN0ZWh0cyBsYW5nc2FtZSBlY2h0IG5pbW1lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmVzdHJhZnVuZz8/PyAoTHVnLCAxOS4gSnVuIDE5OTcsIDE4OjQwOjM4KToKfiMhIHJuPVRhc2hhIHJ0PTg2NjczODM3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMAoKKlNUT0VITiogTmEgZ3V0OiBEU0EgaXN0IGVpbiBiZWtsb3BwdGVzIEtpbmRlcnNwaWVsIDspCgpBbGxlcyB2b24gdm9ybmUsIGJpdHRlICpraWNoZXIgZmllcyoKClByaW1pdGl2ZXIgaGV0emVuZCA7KQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJlc3RyYWZ1bmc/Pz8gKEx1ZywgMTkuIEp1biAxOTk3LCAxODo0MTo1OCk6Cn4jISBybj1BdG96IHJ0PTg2NjczODM5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIbSBBdG96LAoKd2VubiBEdSBsZXNlbiBrb2VubnRlc3QsIGRhbm4gaGFldHRlc3QgRHUgZ2VzZWhlbiwgZGFzcyBpY2gga2VpbmVzd2VncyBzYWd0ZToKRGFzIE1VRCBpc3QgbmljaHQgc3BpZWxiYXIuIFVuZCB3ZW5uIGljaCBzY2hyZWliZW4ga29lbm50ZSwgZ2FlYnMgd2VuaWdlcgpUeXBvcy4KClN0b2VobmVuZCwgaW1tZXIgcHJpbWl0aXZlciBoZXR6ZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlYm9vdHMgKE9ya3RvZXRlciwgMTkuIEp1biAxOTk3LCAxOToxMToxNSk6Cn4jISBybj1Ub2V0ZXIgcnQ9ODY2NzMwMTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NzMwMTU4CkRhbmtlLCBlbmRsaWNoIG1hbCBlaW5lIG5ldHRlIGtsZWluZSBJbmZvLCB3YXJ1bSBlcyB6dSBkZW4gQWJzdHVlcnplbiBrYW0uCgpOb2NoIHNjaG9lbmVyIHdhZXJlIGVzIG9obmUsIGFiZXIgd2VubiBpc3QgZXMgZG9jaCBuZXR0IHdlbmlnc3RlbnMgenUgd2lzc2VuLAp3YXJ1bS4KCk9ya1QgZGFua3QgVG9ldGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzYWcgaGkgKEd1bGR1a2F0LCAxOS4gSnVuIDE5OTcsIDE5OjI0OjU1KToKfiMhIHJuPUxpIHJ0PTg2NjcyMzUxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY1ODA3NApEYXMgd2FyIGRvY2ggZGFzIGxpZWQgYXVzIGRlciBkZWx0YSAoYWlybGluZSkgd2VyYnVuZy4KaWNoIG1laW5lIGpldHp0IGRhcyBsaWVkIGF1cyBkZXIgcHJvLTctZ2VodC1hbi1kaWUtYm9lcnNlLXdlcmJ1bmcKZ2QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlc3RyYWZ1bmc/Pz8gKFBhZHJlaWMsIDE5LiBKdW4gMTk5NywgMTk6Mzg6MDMpOgp+IyEgcm49THVnIHJ0PTg2NjczNzY4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApEYSBoYXQgTHVnIGF1c25haG1zd2Vpc2UgbWFsIHJlY2h0LiBJY2ggZ2xhdWJlIGF1Y2ggbmljaHQsIGRhc3MgKHNlbGJzdCB3ZW5uCmVzIG1vZWdsaWNoIHdhZXJlIHNvIGV0d2FzIHVlYmVyaGF1cHQgenUgcmVhbGlzaWVyZW4pIGVzIGluIGRpZXNlbSBNdWQKaXJnZW5kamVtYW5kZW4gZ2lidCwgZGVyIEx1c3QgaGFldHRlIGVpbiAncmVhbGlzdGlzY2hlcyIgc3BpZWwgenUgc3BpZWxlbi4KKGVnYWwsIG9iIHdpcnRzY2hhZnRzLCBrcmllZ3Mgb2RlciByb2xsZW5zcGllbCkuLgpQYWRyZWljIGRlbmt0ICAuIG8gTyAoaGVpc3N0IGRhcyBkYW5uIHVlYmVyaGF1cHQgbm9jaCBTcGllbD8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXN0cmFmdW5nPz8/IChHcmltbWJvcm4sIDE5LiBKdW4gMTk5NywgMTk6Mzk6MTYpOgp+IyEgcm49UGFkcmVpYyBydD04NjY3NDE4ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKSWNoIHdlaXNzIG5pY2h0LCBkaWUgU2FjaGUgbWl0IGRlciBaZW50cmFsYmFuayBpc3Qgd29obCBncm9iIHZlcmVpbmZhY2h0LCBhYmVyCmRvY2ggcmVjaHQgcmVhbGlzdGlzY2gsIG9kZXI/Ck9LLCBpY2ggYmluIHdpcmtsaWNoIGtlaW4gV2lydHNjaGFmdHN3aXNzZW5zY2hhZnRsZXIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQmVzdHJhZnVuZz8/PyAoRW5neXd1Y2ssIDE5LiBKdW4gMTk5NywgMjA6MDY6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjczNTIyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIbSwgaGllciBpc3Qgc2ljaCB3b2hsIGplbWFuZCBuaWNodCBzbyBnYW56IHVlYmVyIGRpZSBCZWRldXR1bmcgZGVzIFZlcmJzCiJwb3N0dWxpZXJlbiIgaW0gS2xhcmVuIDspCgpFbmd5KiwgRHVtbXNjaHdhZXR6ZXIgdW5kIFdpY2h0aWd0dWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCZXN0cmFmdW5nPz8/IChHcmltbWJvcm4sIDE5LiBKdW4gMTk5NywgMjA6MDg6MjYpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODY2NzQzNTg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCk1vZWdsaWNoLiBfSWNoXyBqZWRvY2ggYmluIG1pciBkYXJ1ZWJlciBpbSBrbGFyZW4gdW5kIGhhYmUgZGFzIFdvcnQgaW4gZGllc2VtCkJld3Vzc3RzZWluIGVpbmdlc2V0enQuCkVuZGUgZGVyIER1cmNoc2FnZSwgdmllbGVuIERhbmsgZnVlciBpaHJlIEF1Zm1lcmtzYW1rZWl0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCZXN0cmFmdW5nPz8/IChHbG9pbiwgMTkuIEp1biAxOTk3LCAyMzoyMTowNSk6Cn4jISBybj1NYXNvIHJ0PTg2Njc0Mzc5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApPZXR0aSBoYXQgcmVjaHQuCk1hc29zIEFydGlrZWwgaXN0IFNjaGVpc3NlLgpMdWcgZmluZCBpY2ggZ3V0LgoKU28sIGRhcyBtdXNzdGUgamV0enQgZHJpbmdlbmQgYmVpZ2V0cmFnZW4gd2VyZGVuLCBzb25zdCBkcm9odCBkaWUKRGlza3Vzc2lvbiBub2NoIGFienVmbGFjaGVuLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJlc3RyYWZ1bmc/Pz8gKE1hc28sIDIwLiBKdW4gMTk5NywgMDA6MTM6MDUpOgp+IyEgcm49R2xvaW4gcnQ9ODY2NzU1MjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCj4gT2V0dGkgaGF0IHJlY2h0LgoKT2V0dGkgaGF0IGdhciBrZWluZSBBdXNzYWdlIGdlbWFjaHQuCgo+IE1hc29zIEFydGlrZWwgaXN0IFNjaGVpc3NlLgoKV2VsY2hlciBkZXIgQXJ0aWtlbCB1bmQgYXVzIHdlbGNoZW0gR3J1bmQ/Cgo+IEx1ZyBmaW5kIGljaCBndXQuCgoqc2NodWx0ZXJ6dWNrKgoKPiBTbywgZGFzIG11c3N0ZSBqZXR6dCBkcmluZ2VuZCBiZWlnZXRyYWdlbiB3ZXJkZW4sIHNvbnN0IGRyb2h0IGRpZQo+IERpc2t1c3Npb24gbm9jaCBhYnp1ZmxhY2hlbi4KCktlaW4gUHJvYmxlbS4gSWNoIHd1ZXJkZSBhbGxlcmRpbmdzIGdlcm5lIGVpbiBwYWFyIEFyZ3VtZW50ZSB2b24gRGlyCmxlc2VuLCBkaWUgRGVpbmUgMi4gVGhlc2UgdW50ZXJtYXVlcm4uCgogICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJlc3RyYWZ1bmc/Pz8gKE1haGF0bXUsIDIwLiBKdW4gMTk5NywgMDA6MTc6MDApOgp+IyEgcm49TWFzbyBydD04NjY3NTgzODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKPiBPZXR0aSBoYXQgZ2FyIGtlaW5lIEF1c3NhZ2UgZ2VtYWNodC4KCkRhcyBtdXNzdCBEdSBlcnN0IG1hbCBiZXdlaXNlbi4gSW5kdWt0aXYsIHZlcnN0ZWh0IHNpY2guCgo+IEtlaW4gUHJvYmxlbS4gSWNoIHd1ZXJkZSBhbGxlcmRpbmdzIGdlcm5lIGVpbiBwYWFyIEFyZ3VtZW50ZSB2b24gRGlyCj4gbGVzZW4sIGRpZSBEZWluZSAyLiBUaGVzZSB1bnRlcm1hdWVybi4KCkRhcyBpc3QgcGVyIE1QQS1EZWZpbml0aW9uIHNvLgoKR2xvaW4gLi4uIHdlaXRlcm11ZWxsZW5kLgoKUFM6IHNnLiBaaXRhdCB6dW0gU29ubnRhZyAob24tdG9waWMpOiBBbmF0b2wgKD8pOiAnSGV1bCBkb2NoJwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IChLZXksIDIwLiBKdW4gMTk5NywgMTA6MTk6NDcpOgpIYWxsb2UsIApzbyBkYSBlcyBub2NoIG5ldCBhbGxlIHdpc3NlbiB1bmQgZGllIHZlcmFudHdvcnRsaWNoZW4gbml4IGluIGRpZSBaZWl0dW5nCnNjaHJlaWJlbjoKSGV1dGUgd2lyZCBkYXMgTXVkIHJlYm9vdGV0IG9kZXIgd2llIG1hbiBkZXMgbmVubnQgOykKCk5hamEgYXVmIGplZGVuIEZhbGwgc28gZ2VnZW4gMTE6MzAKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQmVzdHJhZnVuZz8/PyAoUmFudGFucGxhbiwgMjAuIEp1biAxOTk3LCAxMToyMToyOSk6Cn4jISBybj1NYXNvIHJ0PTg2Njc1ODM4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIdWh1IE1hc28gIQoKSWNoIGhhYiBlaW5mYWNoIGtlaW5lIEx1c3QsIG1zZWl0ZW5sYW5nZSBBcnRpa2VsIGR1cmNoenVsZXNlbiwgaW4gZGVuZW4gbWFsCndpZWRlciBlaW4KaW50ZWxla3R1ZWxsZXIgRHVtbXNjaHdhZXR6ZXIgdmVyc2N1dGgsIGRpZSB6dSByZWZsZWt0aWVyZW4gdW5kIGplbmVzIHp1CmRlZHV6aWVyZW4gdWViZXIgZWluIFRoZW1hCndlbGNoZXMgbWlyIGVoaCBhbSBBcnNjaCB2b3JiZWlnZWh0LgoKVW5kIGJ0dy4gSWNoIEJJTiBlaW4gQXJzY2hsb2NoLi4uCgpadW1pbmRlc3Qgb2JlcmZsYWVjaGxpY2ggYmV0cmFjaHRldCwgYWJlciBkYXMgbWFjaGVuIGRpZSBtZWlzc3RlbiBzZWhyIGdlcm5lLAp3ZWlsIGVzIAplaW5mYWNoZXIgaXN0IDstKSkpCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJlc3RyYWZ1bmc/Pz8gKFJhZmZpLCAyMC4gSnVuIDE5OTcsIDExOjMwOjA4KToKfiMhIHJuPU1haGF0bXUgcnQ9ODY2NzU4NjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCj4+IE9ldHRpIGhhdCBnYXIga2VpbmUgQXVzc2FnZSBnZW1hY2h0Lgo+RGFzIG11c3N0IER1IGVyc3QgbWFsIGJld2Vpc2VuLiBJbmR1a3RpdiwgdmVyc3RlaHQgc2ljaC4KCldpZSB3YWVycyBtaXQgZGVzdHJ1a3RpdiA/CgpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHVtbWVyIEFybWFnZWRkb24gKEhhcmRpbCwgMjAuIEp1biAxOTk3LCAxMTozMTozOCk6CkljaCB3b2xsdGUgZ2VyYWRlIHNjaG9lbiBvYmVuIGF1ZiBkZW0gV2FjaHR1cm0gZGVyIEVsZmVuIGRlbiBXZWx0dW50ZXJnYW5nCmJldHJhY2h0ZW4sIGRhIGtvbW10IGZvbGdlbmRlczoKCkFybWFnZWRkb24gcnVmdDogVGVpbGUgbWlyIG1pdCwgd2VubiBEdSBpbiBkZW4gTGFkZW4gZ2VicmFjaHQgd2VyZGVuIHdpbGxzdCEKCkR1IHRlaWxzdCBBcm1hZ2VkZG9uIG1pdDogd2FzIHNvbGwgaWNoIGltIGxhZGVuPwpzY2hhdQpEdSBiZWZpbmRlc3QgRGljaCBpbiBkZW0gZ3JvZXNzdGVuIFBvcnQgVmFpbmVyIEdlc2NoYWVmdC4gSGllciBrYW5uc3QgRHUKRGljaCBmdWVyIERlaW5lIEFiZW50ZXVlciBhdXNydWVzdGVuLiBGb2xnZW5kZSBCZWZlaGxlIHNpbmQgbW9lZ2xpY2g6CiAgICAgICAgemVpZ2UgICAgICAgICAgICAgICAgICAgIGthdWZlIDxnZWdlbnN0YW5kPiAob2RlciBudW1tZXIpCiAgICAgICAgemVpZ2UgcnVlKHN0dW5nZW4pICAgICAgIHZlcmthdWZlIDxnZWdlbnN0YW5kPgogICAgICAgIHplaWdlIHdhZihmZW4pICAgICAgICAgICB2ZXJrYXVmZSBhbGxlcwogICAgICAgIHplaWdlIHZlcihzY2hpZWRlbmVzKSAgICBzY2hhZXR6ZSA8Z2VnZW5zdGFuZD4KRHUga2FubnN0IGRhcyBHZXNjaGFlZnQgbmFjaCBPc3RlbiB2ZXJsYXNzZW4uCkVzIGdpYnQgZWluZW4gc2ljaHRiYXJlbiBBdXNnYW5nOiBvc3Rlbi4KCgppY2ggZnJhZ2UgLSB3YXMgc29sbCBkYXM/IEthbm4gQXJtYWdlZGRvbiBuaWNodCBsZXNlbj8KU28gJ25lIFd1cnN0LiAKU29mb3J0IGFid2VydGVuLCBzYWdlIGljaC4gOikKCi1IYXJkaWwuCk5OTi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJlc3RyYWZ1bmc/Pz8gKEdyaW1tYm9ybiwgMjAuIEp1biAxOTk3LCAxMTozNTo1MSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2Njc5ODQ4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApPY2gsIGRhcyBoYXQgbWl0IG9iZXJmbGFlY2hsaWNoIG5pY2h0cyB6dSB0dW4uIEJlaSBuYWVoZXJlciBCZXRyYWNodHVuZyB3aXJkCmRhcyBsZWRpZ2xpY2ggbm9jaCBkaWZmZXJlbnppZXJ0LCBhbHNvLCBkYSBtZXJrdCBtYW4gZGFubiwgV0FTIGZ1ZXIgZWluCkFyc2NobG9jaCBlciBpc3QuIDstKQoKR2RBIHNjaHJlaWJ0IGRlbiBsZXR6dGVuIEFydGlrZWwgdm9yIGRlbSByZWJvb3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVQdSAoRW5kZXIsIDIwLiBKdW4gMTk5NywgMTI6MzI6MzgpOgpXYXMgaXN0IGRlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBTdHVmZW5wdW5rdGUgdW5kIGRlNCBTdHVmZW5lcmhvZWh1bmc/CmVuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3QgKEhhcmRpbCwgMjAuIEp1biAxOTk3LCAxMjo0NTo1Mik6CgpTbyBzY2hsaW1tIGthbm4gZGVyIFJlYm9vdCBnYXIgbmljaHQgc2Vpbix3ZW5uIGljaCBhbHMgUmVudG5lci1TZWhlciBlcwpzY2hhZmZlLCBpbm5lcmhhbGIgdm9uIDc1IE1pbnV0ZW4gbmFjaCBkZW0gUmVib290IHp3ZWltYWwgZGVuIEVsZmVud2FlY2h0ZXIgaW0KR2xvY2tlbndhbGQgdW16dWxlZ2VuLgpXdXJzdHNwaWVsZXIvfnNlaGVyLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3QgKERpZWRlciwgMjAuIEp1biAxOTk3LCAxMjo0NjoyMCk6Cn4jISBybj1IYXJkaWwgcnQ9ODY2ODAzNTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2ODAzNTUyCk1pbnV0ZW4/Pz8KCkRpZWRlciwgZ3J1ZWJlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiZXNjaHdlcmRlIChFbmRlciwgMjAuIEp1biAxOTk3LCAxMjo1ODoxMik6Cn4jISBvbj1FbmRlciBvdD04NjY4MDM4MjUgb2c9cHVpegp3YXJ1bSBoYWJlIGljaCB1ZWJlciAyODAwIHN0dXB1IGdlaGFidCBhdWYgZGVyIHRvcC1zcGllbGVybGlzdGUgdW5kIGtvbm50ZQp6dW1pbmRlc3QgYWxzIGRhcyBnaW5nIG5pY2h0IGVyaG9laGVuLCBpY2ggdmVyd2Vpc2UgbWFsIGJldm9yIGRhcyB2b24gZXVjaAprb21tdCBhdWYgZGllIGhpbGZlc2VpdGUgc3R1ZmVuOiB4KjEwMCAgIHggc3RlaHQgZnVlciBkaWUgc3R1ZmVuLiBkYXMgd2FyIG1pcgpzY2hvbiBmcnVlaGVyIGF1ZmdlZmFsbGVuLgpEYXMgZ2V0aCBhYmVyIG5pY2h0IG51ciBtaXIgc28uIEltIG1vbWVudCBpc3QgZGFzIHp3YXIgZ2VnZW5zdGFuZHNsb3MsIGFiZXIKaWNoIGRlbmtlIGRpZSBzaXR1YXRpb24gd2lyZCBzaWNoIHdpZWRlciBlaW5zdGVsbGVuLgplbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzdHJhZnVuZz8/PyAoVHVuaXhndXQsIDIwLiBKdW4gMTk5NywgMTM6MDg6NTApOgp+IyEgcm49RGllZGVyIHJ0PTg2NjY2OTcyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIbW1tbW0uLi4uIERpZGksIGljaCBrZW5uIG1pY2ggaGllciBhdWNoIG5ldCBhdXMsIGJpbiBhbHMgTHZsLiA0LUthcmF0ZWthIGF1Y2gKYWxsZXMgYW5kZXJlIGFscyB3ZWhyaGFmdCwgYWJhIGljaCBmcmFnZSBpbSBhbGxnZW1laW5lbiBydW0sIG9iIGljaCBtaWNoIGluCmVpbiBHZWJpZXQgdHJhdWVuIHNvbGwgb2RhIG5pY2h0LCBkYXMgaGlsZnQgdS5VLiBhdWNoIHdlaXRlciwgZGVuaycgbWFsCmRydWViZXIgbmFjaCEhISBBdXNzZXJkZW0gbXVzc3QgRHUgRGljaCBqYSBuaWNodCBhbiBqZWRlcyBtb25zdGVyIGFsbGVpbgpoZXJhbndhZ2VuLi4uIGhhZXR0ZSBpY2ggZGFzIGdldGFuLCB3YWVyIGljaCBpbm5hIFNTUCBhdWNoIDIwIG1hbCBnZXN0b3JiZW4sCm9obmUgd2lya2xpY2ggRHVyY2h6dWtvbW1lbi4uLgpJY2ggZ2xhdWJlIHdpcmtsaWNoLCBkYXNzIG1hbiBkZW0gVG9kIGVpbmlnYW1hc3NlbiBhdXMgZGVtIFdlZ2UgZ2VoZW4ga2Fubi4uLgoKJ3MgS2FyYXRlLVp3ZXJjaGxlLi4uIC0gcGZsZWd0IG1laXN0ZW5zIGF1cyBEdW1taGVpdCwgbmV0IGF1cyBVbndpc3NlbmhlaXQKb2RlciBVZWJlcm11dCB6dSBzdGVyYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCZXN0cmFmdW5nPz8/IChNYXNvLCAyMC4gSnVuIDE5OTcsIDE1OjQ2OjA2KToKfiMhIHJuPU1haGF0bXUgcnQ9ODY2NzU4NjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCj4+IE9ldHRpIGhhdCBnYXIga2VpbmUgQXVzc2FnZSBnZW1hY2h0Lgo+IERhcyBtdXNzdCBEdSBlcnN0IG1hbCBiZXdlaXNlbi4gSW5kdWt0aXYsIHZlcnN0ZWh0IHNpY2guCgpFciBoYXQgaW4gZXR3YSAiYmxhYWJsYWFibGFhIiBnZXNhZ3QsIGRhcyBpc3Qga2VpbmUgQXVzc2FnZSAtLSB6dW1pbmRlc3QKaW4ga2VpbmVyIGRlciA3IFNwcmFjaGVuLCBkaWUgaWNoIG5hZWhlciBrZW5uZS4gSWNoIGxhc3NlIG1pY2ggYWJlcgpnZXJuZSBlaW5lcyBiZXNzZXJlbiBiZWxlaHJlbiAtLSBzYWd0IG1pciBudXIsIGluIHdlbGNoZXIgU3ByYWNoZSBlcwpzZWluIHNvbGwgKHVuZCBkaWUgSVNCTiBkZXMgV29lcnRlcmJ1Y2hlcyB3YWVyZSBhdWNoIG5pY2h0IHNjaGxlY2h0LAphYmVyIHp1ciBOb3Qga2FubiBpY2ggYXVjaCBpbiBkZXIgVW5pYmlibGlvdGhlayBuYWNoZm9yc2NoZW4pLgoKPj4gS2VpbiBQcm9ibGVtLiBJY2ggd3VlcmRlIGFsbGVyZGluZ3MgZ2VybmUgZWluIHBhYXIgQXJndW1lbnRlIHZvbiBEaXIKPj4gbGVzZW4sIGRpZSBEZWluZSAyLiBUaGVzZSB1bnRlcm1hdWVybi4KPj4gW0RpZSAyLiBUaGVzZSB3YXI6ICJNYXNvcyBBcnRpa2VsIGlzdCBTY2hlaXNzZS4iXQoKPiBEYXMgaXN0IHBlciBNUEEtRGVmaW5pdGlvbiBzby4KCkluICJoaWxmZSBtcGEiIHN0ZWh0IGtlaW5lIGRlcmFydGlnZSBEZWZpbml0aW9uLCBrYW5uc3QgRHUgbWlyIHNvbnN0CmVpbmUgb2ZmaXppZWxsZSBRdWVsbGUgbmVubmVuLCBkaWUgZGllc2UgRGVmaW5pdGlvbiBlbnRoYWVsbHQ/CgogICAgICAgICAgICAgTWFzby4gSmEsIGRpZSBGcmFnZW4gc2luZCBlcm5zdCBnZW1laW50LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCZXN0cmFmdW5nPz8/IChLZXksIDIwLiBKdW4gMTk5NywgMTU6NDc6MzQpOgp+IyEgcm49TWFzbyBydD04NjY4MTQzNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKTWFzbyB2ZXJsZWcgZGVuIFNjaGlzcyBhdWYgRGlza3VzaW9uIQoKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQmVzdHJhZnVuZz8/PyAoTWFzbywgMjAuIEp1biAxOTk3LCAxNTo0ODo0Nyk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg2Njc5ODQ4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMAo+IEljaCBoYWIgZWluZmFjaCBrZWluZSBMdXN0LCBtc2VpdGVubGFuZ2UgQXJ0aWtlbCBkdXJjaHp1bGVzZW4sIGluIGRlbmVuIG1hbAo+IHdpZWRlciBlaW4KPiBpbnRlbGVrdHVlbGxlciBEdW1tc2Nod2FldHplciB2ZXJzY3V0aCwgZGllIHp1IHJlZmxla3RpZXJlbiB1bmQgamVuZXMgenUKPiBkZWR1emllcmVuIHVlYmVyIGVpbiBUaGVtYQo+IHdlbGNoZXMgbWlyIGVoaCBhbSBBcnNjaCB2b3JiZWlnZWh0LgoKRGllIExvZXN1bmcgaXN0IGdhbnogZWluZmFjaDogSWdub3JpZXJlIG1laW5lIEFydGlrZSwgInVlYmVyZ2VoZSB0aHJlYWQiCm9kZXIgbmVydmUgTG9jbyBzb2xhbmdlLCBiaXMgZXIgZWluZW4gS2lsbGZpbGUgZnVlcnMgTVBBIGVpbmdlYmF1dCBoYXQuCgoKPiBVbmQgYnR3LiBJY2ggQklOIGVpbiBBcnNjaGxvY2guLi4KCkRhcyBoYWJlIGljaCB1ZWJyaWdlbnMgbmllIGJlaGF1cHRldC4KCj4gWnVtaW5kZXN0IG9iZXJmbGFlY2hsaWNoIGJldHJhY2h0ZXQsIGFiZXIgZGFzIG1hY2hlbiBkaWUgbWVpc3N0ZW4gc2Vocgo+IGdlcm5lLAo+IHdlaWwgZXMgZWluZmFjaGVyIGlzdCA7LSkpKQoKVW5kIGRhcyBoaWVyIHZlcnN1Y2hlIGljaCB6dSB2ZXJtZWlkZW4uIFNvbGx0ZSBlcyBtaXIgaXJnZW5kd28gbmljaHQKZ2VsdW5nZW4gc2Vpbiwgc28gZW50c2NodWxkaWdlIGljaCBtaWNoIHNjaG9ubWFsIGRhZnVlci4KCiAgICAgICAgICAgICAgICAgICAgICAgTWFzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQmVzdHJhZnVuZz8/PyAoR3JpbW1ib3JuLCAyMC4gSnVuIDE5OTcsIDE2OjI3OjQxKToKfiMhIHJuPUtleSBydD04NjY4MTQ0NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKV0FTPz8/IEF1c2dlcmVjaG5ldCBLZXkgZm9yZGVydCwgZWluZW4gQXJ0aWtlbCBiZXNzZXIgaW4gZWluZSBhbmRlcmUgUnVicmlrIHp1CnNjaGllYmVuPyBVbmdsYXVibGljaCwgZGFzcyBpY2ggZGFzIG5vY2ggZXJsZWJlbiBkdXJmdGUuLi4gKmdlcnVlaHJ0IHNjaG5pZWYqCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgZ2xhdWJ0IGJhbGQgYW4gWmVpY2hlbiB1bmQgV3VuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEJlc3RyYWZ1bmc/Pz8gKEx1ZywgMjAuIEp1biAxOTk3LCAxOToyNjo1OCk6Cn4jISBybj1NYXNvIHJ0PTg2NjgxNDM2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApIbSwKCk1hc28/IExhbmdzYW0gZ2xhdWJlIGljaCwgZXIgc2NocmVpYnQgZGFzIHVtIGdlcGVpdHNjaHQgenUgd2VyZGVuLi4uCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCZXN0cmFmdW5nPz8/IChHcmltbWJvcm4sIDIwLiBKdW4gMTk5NywgMTk6Mjc6NTUpOgp+IyEgcm49THVnIHJ0PTg2NjgyNzYxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjY2OTYwMApTb3JyeSwgd2VubiBpY2ggbWljaCBpbiBlaW5lbiBwcml2YXRlbiBTdHJlaXQgZWlubWlzY2hlLCBhYmVyIHNvIHdpZSBpY2ggZGFzCnZlcmZvbGdlIGtvbW1lbiB2b24gTWFzbyBpbW1lciBub2NoIGRpZSB2ZXJudWVuZnRpZ2VyZW4gQXJ0aWtlbCBoaWVyLgpPSywgZGllIHdlbmlnZXIgdW52ZXJudWVuZnRpZ2VuIGhhbHQuCgpHcmltYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEJlc3RyYWZ1bmc/Pz8gKEx1ZywgMjAuIEp1biAxOTk3LCAxOTozMDoxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2ODI3Njc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCkhtLApzYWd0ZSBLZXkgbmljaHQ6IEdlaHQgZGFtaXQgYXVmIERpc2t1c3Npb24/CkdyaW1tIHVuZ2xhZXViaWcgYW5zdGFycmVuZC4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogQmVzdHJhZnVuZz8/PyAoS2V5LCAyMC4gSnVuIDE5OTcsIDE5OjMxOjEwKToKfiMhIHJuPUx1ZyBydD04NjY4Mjc4MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKRXkgTHVnIGRlcyBpc3NlcyAuLi4uIERlc2hhbGIgaGVpc3N0IGRlciBUaHJlYWQgYXVjaCBCZXN0cmFmdW5nIC4uLiBoYXQgZHUgbmUKUGVpdHNjaGU/IDopKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWVkZW4gKFNjaG9rbywgMjEuIEp1biAxOTk3LCAwMDo0MjowMCk6CgpIaSEKCklIbW0ga2FubiBlcyBzZWluLCBkYXNzIGFsbGUgTGFlZGVuIHNlaXQgbmV1ZXN0ZW0gbnVyIG5vY2ggYXVmIGRpZSBTeW50YXgga2F1ZgpzdGF0dCBhdWNoIG5vY2ggYXVmIGthdWZlIHJlYWdpZXJlbj8gSXN0IGRhcyBiZWFic2ljaHRpZ3Qgb2RlciBpc3QgbWlyIGRhIG51cgp3YXMgZW50Z2FuZ2VuPyAKCnNjaG9rbyAobmljaHQgaW1tZXIgZGVyIHNjaG5lbGxzdGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoTXVwZmVsLCAyMS4gSnVuIDE5OTcsIDAxOjAwOjEzKToKfiMhIHJuPVphcmRveiBydD04NjY0NTkyMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKTWFnIHNlaW4uIERvY2ggZnVlciBhbGxlIGFuZGVyZW4gS29uemVwdGUsIGRpZSBrZWluZSBkZXJhcnQgc2NobmVsbGUgSGVpbHVuZwpicmluZ2VuLCBzaW5kIDgwJSBhbGxlciBNb25zdGVyIGhpZXIgenUgaGFydC4gdmllbCB6dSBoYXJ0LgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGFsc28gZG9jaCBub2NoZWlubWFsIChMdWcsIDIxLiBKdW4gMTk5NywgMDE6MDE6MzkpOgp+IyEgcm49TXVwZmVsIHJ0PTg2Njg0NzYxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NjQ0MzMwNQoKQWggTVVwZmVsLAoKRHUgYnJpbmdzdCBhdWYgZGVuIFB1bmt0LiBNYWNodCBuaXgsIGhvZXJ0IGVoIGtlaW5lciBkcmF1Zi4uCkhldHplcmxpY2gKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXN0cmFmdW5nPz8/IChNdXBmZWwsIDIxLiBKdW4gMTk5NywgMDE6MDU6MzgpOgp+IyEgcm49TWFzbyBydD04NjY3MzgyNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKUmVpbiBpbnRlcmVzc2VoYWxiZXI6IGdpYnRzIGVpbiBNVUQsIGJlaSBkZW0gVG9kID0gU2VsYnN0bG9lc2NodW5nIGlzdD8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoWmFyZG96LCAyMS4gSnVuIDE5OTcsIDE0OjUwOjE5KToKfiMhIHJuPU11cGZlbCBydD04NjY4NDc2MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKS2xhciwgZWluaWdlIE1vbnN0ZXIgc2luZCB6dSBoYXJ0LCBkYXMgaXN0IHNjaG9uIHdhaHIuIEFuZGVyZXJzZWl0cyBoYWJlbgpTcGllbGVyIGphIGltbWVyIG5vY2ggZGllIE1vZWdsaWNoa2VpdCBtYWwgbWl0IDUgTGV1dGVuIGF1ZiBlaW4gTW9uc3RlcgpkcmF1Znp1Z2VoZW4sIGVpbmUgU2FjaGUsIGRpZSB2aWVsIHp1IHdlbmlnIHByYWt0aXppZXJ0IHdpcmQsIGRhIG1hbiBtaXQgZ3V0ZW4KV2VnZXNjcmlwdHMgdW5kIHZpZWwgR2VkdWxkIGplZGVzIE1vbnN0ZXIgYWxsZWluZSBzY2hhZmZ0LiBJY2ggd2Vpc3Mgd292b24gaWNoCnNwcmVjaGUsIGhhYiBzY2hvbiBtZWhybWFscyBkZW4gV2VnaGllciBtaXQgY2EuIDYwIG1hbCBUYW5rZW4gZ2VraWxsdC4KCgpjaWFvIFphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhZWRlbiAoUmluZ29yLCAyMS4gSnVuIDE5OTcsIDIwOjMyOjQ2KToKfiMhIHJuPVNjaG9rbyBydD04NjY4NDY1MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY4NDY1MjAKS2FubiBlcyBzZWluLCBkYXNzIER1IHNlaXQgbmV1ZXN0ZW0gZWluIEFsaSBhdWYgJ2thdWZlJyBoYXN0PyAKCkJlYWJzaWNodGlndCBvZGVyIG5pY2h0IC0gbWFjaCBtYWwgJ3VuYWxpIGthdWZlJyB1bmQgcHJvYmllcnMgbm9jaG1hbC4gOy0pCgpSaW5nb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhZWRlbiAoU2Nob2tvLCAyMi4gSnVuIDE5OTcsIDAxOjA3OjMwKToKfiMhIHJuPVJpbmdvciBydD04NjY5MTc5NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY4NDY1MjAKCkhtbSBoYXR0ZXN0IER1IGRhcyBhdWNoIHNjaG9uIG1hbD8gT2RlciB3b2hlciB3dXNzdGVzdCBEdSBzbyBnZW5hdSB3YXMgZXMgd2FyLgoKU2Nob2tvIChpbW1lcm5vY2ggYXJnZWxuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhZWRlbiAoUmluZ29yLCAyMi4gSnVuIDE5OTcsIDAxOjEyOjAxKToKfiMhIHJuPVNjaG9rbyBydD04NjY5MzQ0NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY4NDY1MjAKU2FnZW4gd2lyIHNvOiBpY2ggaGFiIG1hbCBtZWluZSBhbHRlbiBBbGlzIGF1ZmdlcmFldW10LiBVbmQgbmljaHQgc2NobGVjaHQKZ2VzdGF1bnQsIHdhcyBkYSBmdWVyIFNhY2hlbiBiZWkgd2FyZW4uIDstKQoKUmluZ29yLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKEx1ZywgMjIuIEp1biAxOTk3LCAwMTo0Mzo1NCk6Cn4jISBybj1aYXJkb3ogcnQ9ODY2ODk3NDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CgpIbSBaYXJkb3osCgp3ZW5uIGVpbmVyIGRlciA1IGVpbiBob2NobGV2ZWxpZ2VyIFphdWJlcmVyIGlzdCwgZGFubiBrb2VubnRlIGRhcyBzY2hvbgprbGFwcGVuIDspCkFiZXIgaW0gUHJpbW56aXAgaGF0IFphcmRveiB2b2VsbGlnIFJlY2h0LCBtYWNodCBhdWNoIG1laHIgU3Bhc3MgKHVuZCBhdWNoClNwYXN6KSBpbiBkZXIgR3J1cHBlIDspClNlbmZlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCZXN0cmFmdW5nPz8/IChNYXNvLCAyMi4gSnVuIDE5OTcsIDIwOjUyOjU1KToKfiMhIHJuPU11cGZlbCBydD04NjY4NDc5Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKSmEuIFdvYmVpIGRpZSBtZWlzdGVuIE1VU0hlcyBzaW5kLCBhYmVyIGF1Y2ggZWluaWdlIGVjaHRlIExQLU1VRHMgc29sbGVuCmRhcnVudGVyIHNlaW4uIEFsbGVzIGVpbmUgRnJhZ2UgZGVzIFNwaWVsa29uemVwdGVzLgoKICAgICAgICAgICAgICAgICBNYXNvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhZWRlbiAoQXNtb2RpcywgMjMuIEp1biAxOTk3LCAwOTowMjo1OCk6Cn4jISBybj1TY2hva28gcnQ9ODY2OTM0NDUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2ODQ2NTIwCkRhcyB0cml0dCBkb2NoIGltbWVyIHdpZWRlciBhdWYsIGRhIGhhdCBtYW4gYWxzIFNwaWVsZXIgRXJmYWhydW5nIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBhbHNvIGRvY2ggbm9jaGVpbm1hbCAoQXNtb2RpcywgMjMuIEp1biAxOTk3LCAwOTowNDozMSk6Cn4jISBybj1aYXJkb3ogcnQ9ODY2ODk3NDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NDQzMzA1CkRlciBXZWdoaWVyIGlzdCBzbyBrb256aXBpZXJ0LCBkYXNzIGVyIHp1IG1laHJlcmVuIGdlZmFlaHJsaWNoZXIgd2lyZCwKYXVzc2VyZGVtIGdpbmcgUm9jaHVzIHdvaGwgdm9uIHdlZ2VzY3JpcHRlbiBhdXMsIHNvIHNjaG5lbGwsIHdpZSBkZXIKaGVpbHQgOikKTmFqYSwgd2FyIHZpZWxsZWljaHQgbnVyIGVpbiBzY2hsZWNodCBnZXdhZWhsdGVzIEJlaXNwaWVsLCBhdXNzZXJkZW0KZ2lidHMgaW56d2lzY2hlbiBiZWRldXRlbmQgaGFlcnRlcmUgTlBDcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmVzdHJhZnVuZz8/PyAoR3JhbGtvciwgMjMuIEp1biAxOTk3LCAxMjoxMzozNSk6Cn4jISBybj1NdXBmZWwgcnQ9ODY2ODQ3OTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwClJMLU1VRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGF0ZSAtIiVBLCAlZC4gJWIgOTcgKiAlVCIgKEdhcmZpZWxkLCAyNC4gSnVuIDE5OTcsIDE1OjE0OjQwKToKCk5vY2htYWw6CgpVbml4ZmFucyBhdWZnZXBhc3N0IQoKV2llIGthbm4gaWNoIGFtIGJlc3RlbiBEYXR1bSB1bmQgWmVpdCBpbiBtZWluIC5zaWduYXR1cmUKZWluZnVlZ2VuPyBBdXRvbWF0aXNjaCwgbWVpbiBpY2ggbmF0dWVybGljaC4KClNvIG5hY2ggZGVtIE1vdHRvOiBkYXRlIC0iJUEsICVELiAlYiA5NyIgdXN3LgoKVGlwcyBiaXR0ZSBhbSBsaWVic3RlbiBwZXIgTWFpbCBhbiBHYXJmaWVsZCEKClZpZWxlbiBEYW5rIQpHcnVzcywgR2FyZmllbGQKKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRhdGUgLSIlQSwgJWQuICViIDk3ICogJVQiIChLcmV0ZWssIDI0LiBKdW4gMTk5NywgMTY6MzQ6NTIpOgp+IyEgcm49R2FyZmllbGQgcnQ9ODY3MTU4MDgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3MTU4MDgwCk9oLCBkYXMgd3VlcmRlIG1pY2ggYWJlciBhdWNoIGludGVyZXNzaWVyZW4hIDotKQoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJlc3RyYWZ1bmc/Pz8gKEFuZ3VzLCAyNC4gSnVuIDE5OTcsIDE3OjIyOjE3KToKfiMhIHJuPU1hc28gcnQ9ODY2NzE2ODgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY2NjY5NjAwCgo+RnJhZ2VuIHVlYmVyIEZyYWdlbi4uLiBrZW5udCBqZW1hbmQgZGllIEFudHdvcnRlbj8gOikKCktsYXIhIERpZSBBbnR3b3J0IGxhdXRldDogNDIgOikKCiAtIEFuZ3VzIChoZXV0ZSBtYWwgc2NobWFycm5pZyBkcmF1ZiA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJlc3RyYWZ1bmc/Pz8gKEtleSwgMjQuIEp1biAxOTk3LCAxODoyNzo1NCk6Cn4jISBybj1Bbmd1cyBydD04NjcxNjU3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY2Njk2MDAKRmVobHQgYWJlciBub2NoIGRpZSBwYXNzZW5kZSBGcmFnZSAuLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnplbnN1ciAoS2FsaSwgMjUuIEp1biAxOTk3LCAyMDo1OTo0NCk6CldlbGNoZSBUaGVtZW4gd2FlcmVuIGRhcyB6LkIuLCBkaWUgbWFuIGJlc3NlciBuaWNodCBpbiBkZXIgbXBhIG9kZXIgYXVmIGRlbgpLYW5hZWxlbiBlcndhZWhudD8KV2llIHdhZXJlIGVzIGRlbm4sIHdlbm4gd2lyIHNjaG9uIGRhYmVpIHNpbmQsIG1pdCBlaW5lbSBCdWNoIHZlcmJvdGVuZXIgV29ydGU/CkthbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB6ZW5zdXIgKEdyaW1tYm9ybiwgMjYuIEp1biAxOTk3LCAxMjoyMjoxNCk6Cn4jISBybj1LYWxpIHJ0PTg2NzI2NTE4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NzI2NTE4NApXZW5uIER1IERpY2ggaGllciBhbHMgbmljaHQgdHJhZ2JhcmVzIEFyc2NobG9jaCBvdXRlc3QgKHouQi4gcG9saXRpc2NoLCBvZGVyCmR1cmNoIG1hc3NpdmUgdW5kIHBsdW1wZSBCZWxhZXN0aWd1bmcgYW5kZXJlciBTcGllbGVySW5uZW4pLCBkYW5uIHdpcnN0IER1CmhpZXIgbmljaHQgbGFuZ2UgdW5kIG5jaWh0IHZpZWwgRnJldWRlIGhhYmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6ZW5zdXIgKE1hZ251cywgMjYuIEp1biAxOTk3LCAxMjo1MzowNSk6CmRhbm4gbWFjaCBtYWwgd2FzIGdlZ2VuIGRpZXNlIGFiYXJ0aWcgcGVydmVyc2VuIGJlbGdpZXJ3aXR6ZS4KTWFnbnVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6ZW5zdXIgKEthbGksIDI2LiBKdW4gMTk5NywgMTM6MzA6MDQpOgpEYW5rZSBmdWVyIGRlbiB0aXAhIEljaCB3dXNzdGUgZG9jaCwgZGFzIGljaCBiaXNoZXIgZGFzIGJlc3RlIHZlcnBhc3N0IGhhYmUuCjstKQpDYWxpbm92YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctUGFnZSBpbSBXV1cgKFBha2UsIDI3LiBKdW4gMTk5NywgMTY6NTk6MDgpOgpFcyBleGlzdGllcnQgaGllciBqYSBhbnNjaGVpbmVuZCBoaWVyIGRpZSBBdWZmYXNzdW5nLCBkYXNzIFNwaWVsZXIgbnVyCm5vZXJnZWxuIGtvZW5uZW4uCkRlc2hhbGIgd2lsbCBpY2ggaGllciBtYWwgYXVzZHJ1ZWNrbGljaCBkaWUgZnVlciBkYXMgbmV1ZSBPdXRmaXQgZGVyIFdXVy1TZWl0ZQpkZXMgTUdzIFZlcmFudHdvcnRsaWNoZW4gbG9iZW4hCkVuZGxpY2ggaXN0IGVzIHdpcmtsaWNoIGluZm9ybWF0aXYgdW5kIGludGVyZXNzYW50LCBkb3J0IG1hbCByZWluenVzY2hhdWVuIQpEZXNoYWxiIHNvbGx0ZW4gc2ljaCBtYWwgYWxsZSBhbmRlcmVuICJHZWJpZXRzbWl0YXJiZWl0ZXIiIChvZGVyIHdpZSBuZW5udCBtYW4KZGllPyksIGRpZSBub2NoIG5pY2h0IGRhenUgZ2Vrb21tZW4gc2luZCwgSW5mb3MgdWViZXIgaWhyIEdlYmlldAp6dXNhbW1lbnp1c3RlbGxlbiwgZGllcywgd2VubiBtb2VnbGljaCwgbmFjaGhvbGVuIQpXZWl0ZXIgc28sIGRhbm4gd2lyZCBldnRsLiBhdWNoIGRhcyBHZXJ1ZWNodCB2ZXJzY2h3aW5kZW4sIGRpZSBNYWdpZXIKaW50ZXJlc3NpZXJ0ZW4gc2ljaCBuaWNodCBtZWhyIGZ1ZXIgZGFzIEVyc2NoZWludW5nc2JpbGQgZGVzIE1VRHMuLi4KClBha2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1QYWdlIGltIFdXVyAoRnl0LCAyNy4gSnVuIDE5OTcsIDE3OjIxOjExKToKfiMhIHJuPVBha2UgcnQ9ODY3NDIzNTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3NDIzNTQ4Cgo+IERlc2hhbGIgc29sbHRlbiBzaWNoIG1hbCBhbGxlIGFuZGVyZW4gIkdlYmlldHNtaXRhcmJlaXRlciIgKG9kZXIgd2llIG5lbm50Cj4gbWFuIGRpZT8pLCBkaWUgbm9jaCBuaWNodCBkYXp1IGdla29tbWVuIHNpbmQsIEluZm9zIHVlYmVyIGlociBHZWJpZXQKPiB6dXNhbW1lbnp1c3RlbGxlbiwgZGllcywgd2VubiBtb2VnbGljaCwgbmFjaGhvbGVuIQoKSG0uLi4gYWxzbyBpbiBtZWluZW4gT2hyZW4ga2xpbmd0IGRhcyBuYWNoIE5vZXJnZWxlaSA7LSkKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNRy1QYWdlIGltIFdXVyAoS2V5LCAyNy4gSnVuIDE5OTcsIDE3OjM1OjM0KToKfiMhIHJuPVBha2UgcnQ9ODY3NDIzNTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3NDIzNTQ4CkVzIGdpYnQgbmljaHQgRElFIE1hZ2llciAuLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUctUGFnZSBpbSBXV1cgKEZ5dCwgMjcuIEp1biAxOTk3LCAxODoxMToxOCk6Cn4jISBybj1LZXkgcnQ9ODY3NDI1NzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3NDIzNTQ4CgpOdW4gd2Fja2VsIG5pY2h0IGFuIG1laW5lbSBXZWx0YmlsZCwgS2V5Li4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb21tdW5pY2F0aW9ucyBEZWNlbmN5IEFjdCB2ZXJmYXNzdW5nc2ZlaW5kbGljaCEgKEplaHVkYSwgMjcuIEp1biAxOTk3LCAyMzoyNjoxOCk6CkF1c25haG1zd2Vpc2UgbWFsIG5lIGd1dGUgTmFjaHJpY2h0IHZvbiBqZW5zZWl0cyBkZXMgZ3Jvc3NlbiBUZWljaHM6CkRpZSBibHVlIHJpYmJvbiBoYXQgZ2VzaWVndCEKRGFzIFVTLVZlcmZhc3N1bmdzZ2VyaWNodCBoYXQgZW50c2NoaWVkZW4sIGRhc3MgZGVyIHNvZ2VuYW5udGUKQ29tbXVuaWNhdGlvbnMgRGVjZW5jeSBBY3QgKEdlc2V0eiBmdWVyIHNpdHRsaWNoZSBNZWRpZW5udXR6dW5nLCBlaW5lClZFcm9yZG51bmcsIGRpZSB3ZWl0Z2VoZW5kZSBaZW5zdXIgaW0gSW50ZXJuZXQgaW5kIGVuIFVTQSBmdWVyIGxlZ2FsCmVya2xhZXJ0ZSkKZGVyIHZlcmZhc3N1bmdzcmVjaHRsaWNoIGdhcmFudGllcnRlbiBNZWludW5nc2ZyZWloZWl0IG5pY2h0IGVudHNwcmljaHQuCkRhbWl0IGR1ZXJmdGVuIGF1Y2ggZGllIHZvbiBkZXIgVW5pb24gYmV0cmllYmVuZW4gVmVyc3VjaGUsIGF1Y2ggYmVpIHVucwpkaWUgRnJlaWhlaXQgZGVzIEludGVybmV0cyB3ZWl0Z2VoZW5kIG5hY2ggVVMtVm9yYmlsZCB6dSBiZXNjaG5laWRlbiwKZWluZW4gZW1wZmluZGxpY2hlbiBSdWVja3NjaGxhZyBlcmxpdHRlbiBoYWJlbi4gOi0pKQoKV2VpdGVyZSBpbmZvcyBkYXp1IHUuYS4gaW0gV1dXOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvYWt0dWVsbC9jZGEuaHRtbAoKKkZSRVUqICAKKkZFSUVSKgoqU0VLVEtPUktFTiBLTkFMTEVOIExBU1MqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENvbW11bmljYXRpb25zIERlY2VuY3kgQWN0IHZlcmZhc3N1bmdzZmVpbmRsaWNoISAoRnl0LCAyOC4gSnVuIDE5OTcsIDEwOjE4OjM1KToKfiMhIHJuPUplaHVkYSBydD04Njc0NDY3Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njc0NDY3NzgKCk5hIGVuZGxpY2ggbWFsIHdhcyBwb3NpdGl2ZXMgaW4gZGVyIFdlbHQuLi4KCkZ5dC4KClBTOiBEaWUgQW1lcmlrYW5lciBzcGlubmVuIHRyb3R6ZGVtLiBXZW5uIGljaCBtaWNoIG5pY2h0IGdhbnogdmVyaG9lcnQgaGFiLAprYW0gZ2VzdGVybiBpbSBSYWRpb24gbmUgTWVsZHVuZywgZGFzcyBlaW4gTGFkZW5iZXNpdHplciAkNDcwMDAwIGJlemFobGVuCnNvbGwsIHdlaWwgc2ljaCBlaW4gc2VpbmVtIExhZGVuIG5lIEt1bmRpbiBCaWVyZG9zZW4gYXVmIGRlbiBGdXNzIGdld29yZmVuCmhhdCB1bmQgc2llIGpldHp0IGJpcyBhbnMgTGViZW5zZW5kZSBlaW5lbiBuZXJ2bGljaGVuIFNjaGFkZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDb21tdW5pY2F0aW9ucyBEZWNlbmN5IEFjdCB2ZXJmYXNzdW5nc2ZlaW5kbGljaCEgKEJlbmRlaWdpZCwgMjkuIEp1biAxOTk3LCAwOTo0NDoyMyk6Cn4jISBybj1GeXQgcnQ9ODY3NDg1OTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3NDQ2Nzc4CkhtLCBkZXIgRGVjZW5jeSBBY3QgaXN0IHZlcmZhc3N1bmdzZmVpbmRsaWNoLCB3ZWlsIGVyIGdlZ2VuIGRhcyBSZWNodCBkZXIKZnJlaWVuIE1laW51bmdzYWV1c3NlcnVuZyBzdGVodC4gV2FzIGdlbWFlc3MgVVMtVmVyZmFzc3VuZ3NnZXJpY2h0IGF1Y2ggZnVlcgpQb3Jub2dyYXBoaWUgZ2lsdC4gV2FzIGRhcyBHZXJpY2h0IGFsbGVyZGluZ3MgbmV0dGVyd2Vpc2UgYWxzIEhpbnRlcnR1ZXJjaGVuCmZ1ZXIgZGllIEhhcmRsaW5lciBvZmZlbmdlaGFsdGVuIGhhdCBpc3Q6IFZlcmJvdGVuIGlzdCBlcywgd2VubiBlcyAib2Jzem9lbiIKd2lyZC4gRGllIEZlc3RsZWd1bmcsIHdhcyBqZWRvY2ggb2Jzem9lbiBpc3QgaGFiZW4gc2llIGZyZXVuZGxpY2hlcndlaXNlCnZlcmdlc3Nlbi4gVU5kIHdpZSBtYW4gZGllIEFtaXMga2VubnQsIGRpZSBqYSBuaWNodG1hbCB6LkIuIEJILVdlcmJ1bmcgaW0KRmVybnNlaGVuIHp1bGFzc2VuIHVuZCBzb2dhciBiZWkgZGVtIEZpbG0gIkJhc2ljIEluc3Rpbmt0IiBlbnRzZXR6dCB1ZWJlciBkaWUKc2NoYW1sb3NlbiBTemVuZW4gKFBsdXJhbD8gaG0sIHdhciBob2VjaHN0ZW5zIGVpbmUsIGRpZSBhbGxlcmRpbmdzIHZvbGxlcgpTY2hhbSA7KSB3YXJlbiwgZmFlbGx0IGVzIG1pciBzY2h3ZXIgenUgZ2xhdWJlbiwgZGFzcyBtaXQgZGllc2VtIFVydGVpbCBkaWUKVmVyc3VjaGUsIGRhcyBJbnRlcm5ldCB6dSBiZXNjaG5laWRlbiBlcmxlZGlndCBzaW5kLiAKCloncGFyIFNlcnZ1LAogICAgICAgICAgICBCZW5kZWlnaWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENvbW11bmljYXRpb25zIERlY2VuY3kgQWN0IHZlcmZhc3N1bmdzZmVpbmRsaWNoISAoUmFmZmksIDMwLiBKdW4gMTk5NywgMTI6NDM6NDIpOgp+IyEgcm49QmVuZGVpZ2lkIHJ0PTg2NzU3MDI2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NzQ0Njc3OApXZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXJlIHRhbmQgYW0gU2Ftc3RhZyBpbiBkZXIgWmVpdHVuZyBkYXMgaW4gT2hpbyBkaWUKQmxlY2h0cm9tbWVsIGJlc2NobGFnbmFobXQgd3VyZGUsIGRhIGRpZXNlcyBfcG9ybm9ncmFwaGlzY2hlXyBNYWNod2VyayBnYW56Cm5vcm1hbGVuIEZpbGVtZW4gKFJhbWJvICYgRnJlaXRhZyBkZXIgMTMuKSBmZWlsZ2Vib3RlbiB3dXJkZSAhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ29tbXVuaWNhdGlvbnMgRGVjZW5jeSBBY3QgdmVyZmFzc3VuZ3NmZWluZGxpY2ghIChSb2NodXMsIDMwLiBKdW4gMTk5NywgMTM6MDE6MDApOgp+IyEgcm49QmVuZGVpZ2lkIHJ0PTg2NzU3MDI2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NzQ0Njc3OApGYWxzY2gsICJvYnNjZW5lIiBoYXQgaW4gZGVuIFVTQSBlaW5lIGdlbmF1IGRlZmluaWVydGUgQmVkZXV0dW5nLApkaWUgdW5nZWZhZWhyIGRlciAiaGFydGVuIFBvcm5vZ3JhcGhpZSIgaW0gZGV1dHNjaGVuIFJlY2h0IGVudHNwcmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGRhdGUgLSIlQSwgJWQuICViIDk3ICogJVQiIChKaW1kaWdyaXosIDMwLiBKdW4gMTk5NywgMTc6NDc6MTkpOgp+IyEgcm49S3JldGVrIHJ0PTg2NzE2Mjg5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2NzE1ODA4MApIb2ksCgphbHNvIGVpbmZhY2ggaXN0IGRhcyBuaWNodC4KRGFzIFByb2JsZW0gaXN0LCBkYXNzIER1IGltIFByaW56aXAgYmVpIGplZGVtIFp1Z3JpZmYKYXVmIC5zaWduYXR1cmUsIGRpZXNlIHZvcmhlciBub2NoIHNjaG5lbGwgYWt0dWFsaXNpZXJlbiB3aWxsc3QuCkRhcyBkdWVyZnRlIGZhc3QgdW5tb2VnbGljaCBzZWluLgpEaWUgbmFlY2hzdCBuYWVoZXJlIE1vZWdsaWNoa2VpdCwgd2FlcmUgYmVpbSBhdWZydWYKZGVzIG1haWwgb2RlciBuZXdzLWNsaWVudHMgZGllIC5zaWduYXR1cmUgenUgYWt0dWFsaXNpZXJlbi4KRGFtaXQgaXN0IGFiZXIgd2VuaWdzdGVuIGRpZSBaZWl0IG5pY2h0IG1laHIKc3VwZXItYWt0dWVsbC4gQWxsZXJkaW5ncyBpc3QgamVkZSBNYWlsIG1pdCBlaW5lbSBEYXRlLUhlYWRlcgphdXNnZXN0YXR0ZXQsIGRlciBTZW5kZS1EYXR1bSB1bmQgLVplaXQgZW50aGFlbHQuCgpBbHNvIGVpbiBNZXRob2RlIHBlciBhdWZydWYgZGVzIGNsaWVudHMgZGllIC5zaWcgenUgYWt0dWFsaXNpZXJlbiB3YWVyZQp6QjogMS0gYWxpYXMgbWFpbC1jbGllbnQgJ2FrdC1zaWcuc2g7IG1haWwtY2xpZW50JwpBbHNvIGRhcyBtYWlsL25ld3MgcHJvZ3JhbSBwZXIgYWxpYXMgZXJ3ZWl0ZXJuIHVtIGRlbiAKQXVmcnVmIGVpbmVzIHNoZWxsLXNyaXB0cyB2b3JoZXIKYWt0LXNpZy5zaCBrb2VubnRlIHNvIGF1c3NlaGVuOgoKIyEvYmluL3NoCgplY2hvIGBkYXRlICsnJUEsICVkLiAlYiA5NyBcKiAlVCJgID4gLnNpZ25hdHVyZQpjYXQgJHtIT01FfS8uc2lnYm9keSA+PiAuc2lnbmF0dXJlCgp3b2JlaSAuc2lnYm9keSBkZW4gcmVzdCBkZXIgLnNpZ25hdHVyZSBlbnRoYWVsdC4gV2VubiBkaWUgUmVpaGVuZm9sZ2UKYW5kZXJzIHNlaW4gc29sbCwgbXVzcyBtYW4gZGllIFJlaWhlbmZvbGdlIGVudHNwcmVjaGVuZCB1bWRyZWhlbiwKYWJlciBkaWUgPj4gdW5kID4gbXVlc3NlbiBpbiBkZXIgUmVpaGVuZm9sZ2UgYmxlaWJlbiwKZGEgPiBlaW4gZmlsZSBlcnpldWd0LCB1bmQgPj4gZXR3YXMgZGFyYW4gYW5oYWVuZ3QuCkV2dGwga2FubiBtYW4gYXVjaCBlY2hvIC1uIHZlcndlbmRlbiB3ZW5uIGRlciBSZXN0IGluIApkZXIgc2VsYmVuIFplaWxlIHNlaW4gc29sbCwgaGFiIGFiZXIgbmljaHQgYXVzcHJvYmllcnQsCm9iIGRhcyB3aXJrbGljaCBnZWh0LgoKQ2lhbywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRhdGUgLSIlQSwgJWQuICViIDk3ICogJVQiIChXb29keSwgMzAuIEp1biAxOTk3LCAxODoxNzoxMSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODY3Njg1NjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3MTU4MDgwCkljaCBzYWcgbnVyOiBwaW5lICYmIHNlbmRpbmctZmlsdGVycwoKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCAoR3VuZHVyLCAgMi4gSnVsIDE5OTcsIDE1OjQ2OjIxKToKSGllcm1pdCBtb2VjaHRlIGljaCBtZWluZSBhdXNkcnVlY2tsaWNoZSBUcmF1ZXIgb2IgZGVyIHNlbGJzdGdld2FlaGx0ZW4gCkhlcnVudGVyc3R1ZnVuZyB2b24gRXJ6bWFnLiBXYXJnb24gQS5ELiBhdXNkcnVlY2tlbiEKCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFydGlrZWwgKEdyaW1tYm9ybiwgIDIuIEp1bCAxOTk3LCAxNjowNzowMik6Cn4jISBybj1HdW5kdXIgcnQ9ODY3ODUxMTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3ODUxMTgxCkhpZXJtaXQgbW9lY2h0ZSBpY2ggbWVpbmUgYXVzZHJ1ZWNrbGljaGUgRW1wb2VydW5nIGF1c2RydWVja2VuLCBkYXNzIGljaCBuaWNodApFTSBnZXdvcmRlbiBiaW4uIERhbWl0IGJpbiBpY2ggKGF1c3NlciBCZW5kZWlnaWQsIHVuZCBkZXIgemFlaGx0IGphIG5pY2h0KSBkZXIKZWluemlnZSBLb2VsbmVyIE1hZ2llciwgZGVyIGtlaW4gRU0gaXN0LiAKU2NoYWRlLCBpY2ggaGFldHRlIHNvdmllbCBTcGFzcyBoYWJlbiBrb2VubmVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCAoRW5neXd1Y2ssICAyLiBKdWwgMTk5NywgMTY6NDE6MzQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2Nzg1MjQyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2Nzg1MTE4MQpIdWNoLi4uQmFib29uIHVuZCBZdmFudGhhcyBzaW5kIGF1Y2ggc2Nob24gRU0gPwoKRW5neSogKHZlcnd1bmRlcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogYWxzbyBkb2NoIG5vY2hlaW5tYWwgKE5vbm5lLCAgMi4gSnVsIDE5OTcsIDE3OjUxOjEyKToKfiMhIHJuPUx1ZyBydD04NjY5MzY2MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjY0NDMzMDUKSG0gWmFyZG96LCBMdWcsCgpBYmVyIGRlciBXZWdoaWVyIGlzdCBkYWZ1ZXIgemllbWxpY2ggdW5nZWVpZ25ldCwgZGEgbWFuIG51ciBlaW5lIFJ1bmRlIGRyaW4Kc3RlaHQuIE1hbiBtZXR6ZXQgenVzYW1tZW4gYW4gaWhtIHJ1bSwgYWJlciB2b24genVzYW1tZW4gcGxhZXR0ZW4sIGthbm4ga2F1bQpuZSByZWRlIHNlaW4uCkJlaSBhbmRlcmVuIGtsYXBwdCBkYXMgYmVzc2VyLCBpY2ggYWxzIG5pY2h0LUthbmRyaSBLbGVyaWtlciB0YW5rZSBtaWNoIGFuIGRlbQpzb3dpZXNvIHRvdC4KCk5vbm5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFydGlrZWwgKE9ya3RvZXRlciwgIDMuIEp1bCAxOTk3LCAxMDo1NzoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY3ODUyNDIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY3ODUxMTgxCgpIbW0gd2llIHdhZXJlIGVzLCB3ZW5uIHdpciBkaWNoIHp1bSBJTSBtYWNoZW4gPwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1ZmVyc3RhbmRlbiBhdXMgUnVpbmVuLi4uIChMdWcsICA0LiBKdWwgMTk5NywgMDI6MDY6NTQpOgpNb2luLAoKdGphIGJpbiBzb2ViZW4genVtIFdhZWhsZW4gcmVha3RpdmllcnQuIFNjaGFkZSB3YXM/IEVnYWwuCkljaCBtb2VjaHRlIGF1c2RydWVja2xpY2ggZGllIEJla2FubnRtYWNodW5nZW4gYmVncnVlc3NlbiB1bmQgZGVuIG5ldWVuIEVNCihBbGxlbiEpIGdyYXR1bGllcmVuIQpXYXMgaGF0ZSBzb25zdCBub2NoIHNvIGdlc2NocmllYmVuIGhhdCwgbGFlc3N0IG1pY2ggYXVjaCBob2ZmZW4uIFdlaXRlciBzby4KCkVyc3RtYWwgd2llZGVyIGFidGF1Y2hlbmQKCkx1ZwoKUC5TLjogSG0sIGhhZXR0ZSBHcmltbWJvcm4gbmljaHQgRU0gZnVlciBNUEEtVmVybGVnZXIgd2VyZGVuIGtvZW5uZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaVCBPcmFrZWwgKEtleSwgIDQuIEp1bCAxOTk3LCAxNzozMjo0OCk6CkRhbmtlIDopCgpNYWwgc2VoZW4gd2llIGVzIHNpY2ggc28gYmV3YWVocnQgLi4gOyk9CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCAoQmxvb2R5aGFycnksICA0LiBKdWwgMTk5NywgMjM6NDc6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2Nzg1MjQyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2Nzg1MTE4MQpXZXJ0ZXQgZGllIGtvZWxuZXIgTWFnaWVyIGFiLiBEaWUgc2luZCB6dSBzdGFyayEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9yYWtlbCAoRnl0LCAgNi4gSnVsIDE5OTcsIDExOjIwOjQ2KToKCkFlaG0sIGF1Y2ggd2VubiBzaWNoIGpldHp0IHdpZWRlciBlaW5pZ2UgTGV1dGUgd3VuZGVybiB3ZXJkZW4gKEJvaW5nCmFuZ3JpbnMpOiBJY2ggZmluZGUgZGllIFNhY2hlIG1pdCBkZW0gT3Jha2VsICpyaWNodGlnIGd1dCouCgpGeXQuCgpQUzogS2FubiBtaXIgbWFsIGVpbmVyIGVya2xhZXJlbiwgd2llc28gaWNoIGRlbiBaVCBpbSBCZXJnZG9yZiBub2NoIGhhdHRlPwpJY2ggd2FyIG1pciBlaWdudGxpY2h0IHppZW1saWNoIHNpY2hlciwgZGFzcyBpY2ggKmRpZSogU3RlbGxlIHNjaG9uIG1laHJmYWNoCnVudGVyc3VjaHQgaGF0dGUuLi4gbmFqYS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9yYWtlbCAoRGVudGksICA2LiBKdWwgMTk5NywgMTE6MjI6MzQpOgp+IyEgcm49Rnl0IHJ0PTg2ODE4MDg0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2ODE4MDg0NgoKSWNoIGZpbmRlIGRpZXNlIE9yYWtlbC1TYWNoZSBhdWNoIHJpY2h0aWcgZ3V0LgpNaXQgZGVtIEJlcmdkb3JmOgoKSWNoIGhhYmUgZGVuIEVpbmRydWNrLCBkYXNzIG1hbiBqZXR6dCBaVHMgYW4gc3RlbGxlbiBiZWtvbW10LCB3byBtYW4gc2llCmVudHdlZGVyIHNjaG9uIGhhdHRlLCBvZGVyIHdvIG1hbiBmcnVlaGVyIG5pY2h0cyBnZWZ1bmRlbiBoYXQuClNpbmQgZGllIHBlcnNvZW5saWNoZW4gWlQtRnVuZHN0ZWxsZW4gbmV1IHZlcnRlaWx0IHdvcmRlbj8KCkRlbnRpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcmFrZWwgKEtleSwgIDYuIEp1bCAxOTk3LCAxMzozOTowNSk6Cn4jISBybj1EZW50aSBydD04NjgxODA5NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjgxODA4NDYKQmluZ28gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlja2VzIExvYiEgKEdub21lLCAgNi4gSnVsIDE5OTcsIDIyOjM2OjAzKToKaGksCmFsc28gaWNoIG11c3MgbWFsIHdhcyBsb3N3ZXJkZW4uLi4gbmFlbWxpY2doIGVpbiBnYW56IGRpY2tlcyBsb2IgYW4geWFudHJvCnVuZCBjbyB1bmQgYWxsZW4sIGRpZSBhbiBkZW0gb3Jha2VsIGJldGVpbGlndCBnZXdlc2VuIHdhcmVuISBlcyBpc3QgZ3V0CmR1cmNoZGFjaHQgdW5kIGVzIGlzdCBlaW4genVzYWV0emxpY2hlciBhbnJlaXosIHF1ZXN0ZSB6dSBsb2VzZW4uCmF1c3NlcmRlbSB6aWVoZSBpY2ggbWVpbmVuIHp3ZXJnZW5odXQgdm9yIGRlciBhcmJlaXQsIHNpY2ggMjUwIHBhc3NlbmRlCnJlaW1lIGF1c3p1ZGVua2VuLCBkaWUgaW0gbmFjaGhpbmVpbiBkZW4gc3BpZWxlcm4gYXVjaCBub2NoIHNwYXNzIGJyaW5nZW4sCnNpZSB6dSBrbmFja2VuLi4uIDotKQphbGxlcyBpbiBhbGxlbTogZ2VsdW5nZW4hIDotKSkpCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVzcGVrdC4uLiAoRGFudGUsICA3LiBKdWwgMTk5NywgMDA6MTI6MDcpOgpEYW5rIGFuIFlhbnRybyBmdWVycyBPcmFrZWwuCkQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjb3B5cmlndGggKEd1bGR1a2F0LCAgOC4gSnVsIDE5OTcsIDE4OjM3OjA0KToKdm9uIHdlbSBpc3QgZWlnZW50bGljaCBkaWUgaGV4ZSBhdWYgZGVyIFdXVyB0aXRlbHNlaXRlPwoKaGV1dGUga2FtIG5hZW1saWNoIGVpbiB3ZXJiZXByb3NwZWt0IGVpbmVyIGZpcm1hIHB1aGwgZ21iaCBpbiBtdWVuY2hlbiwgZGllCnZpc2l0ZW5rYXJ0ZW4gZHJ1Y2t0LCAxMDAgc3R1ZWNrIDI5IG1hcmsgOi1EIHVuZCBkaWUgaGF0IHRhdHNhZWNobGljaCBlaW5lCmthcnRlIGltIGFuZ2Vib3QgbWl0IGViZW4gZGllc2VyIGhleGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY29weXJpZ3RoIChSb2NodXMsICA4LiBKdWwgMTk5NywgMTg6NDE6MDYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODY4Mzc5ODI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY4Mzc5ODI0CkljaCBnbGF1YmUgZGllIGlzdCBiZWkgQ29yZWwgRHJhdyBtaXRnZWxpZWZlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNvcHlyaWd0aCAoQW5ha2luLCAgOC4gSnVsIDE5OTcsIDE4OjQ1OjEzKToKfiMhIHJuPVJvY2h1cyBydD04NjgzODAwNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjgzNzk4MjQKSnVwcCBzbyBpc3QgZXMuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBjb3B5cmlndGggKEhhdGUsICA4LiBKdWwgMTk5NywgMTg6NTA6MDMpOgp+IyEgcm49QW5ha2luIHJ0PTg2ODM4MDMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2ODM3OTgyNApJY2gga2FubnMgamEgc2Nob25tYWwgdmVycmF0ZW4uLi4KCiAqKioqIFVOREVSIENPTlNUUlVDVElPTiAqKioqCgpXaXIgZW50aHVlbGxlbiBlcyBhbSBiZXN0ZW4genVyIFBhcnR5IDotKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNvcHlyaWd0aCAoQmxvb2R5aGFycnksICA4LiBKdWwgMTk5NywgMjM6Mjk6MTApOgp+IyEgcm49SGF0ZSBydD04NjgzODA2MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjgzNzk4MjQKRGFuIHNjaGVuZyBpY2ggYWxlbiBzY2hvbiBtYWwgbmUgVHV0ZSBEZXV0c2NoLCBmdWVybiByaWNodGljaGVuIFRpdGwgZGFzCm5hZWNoc3RlIG1hbCA7KQoKY2lhbwpiaApQLlMuOiBVcHMuIFdhciBqYSBuZXVob2NoZGV1dHNjaC4gTmFqYSwgZWluZSBUdXRlIGZ1ciBtaWNoIGF1Y2guIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo/Pz8/IChUb3J3YWxsLCAgOS4gSnVsIDE5OTcsIDEyOjAwOjA2KToKICBEdSB2ZXJzdWNoc3QsIGRlbiBBbmdyaWZmIG1pdCBlaW5lbSBHYWl3YW4tZ2VkYW4tdWtlIGFienV3ZWhyZW4uCkR1IGhhc3QgamV0enQgMTQwIExlYmVuc3B1bmt0ZSB1bmQgMTYxIE1hZ2llcHVua3RlLgogIEtpZXNlbHRyaW0gR3JpZXNlbGh1Y2sgc2NobGFlZ3QgRGljaCBtaXQgZGVtIEtyYWNoZW4gYnJlY2hlbmRlciBLbm9jaGVuLgpEdSBoYXN0IGpldHp0IDExNiBMZWJlbnNwdW5rdGUgdW5kIDE2MSBNYWdpZXB1bmt0ZS4KICBKZWFuLUNsYXVkZSBgYFRvZGVzZmF1c3QnJyBQZWx6ZnVzcyBncmVpZnQgRGljaCBtaXQgZWluZW0gZ2VsdW5nZW5lbgpVY2hpLXNodXRvLXVjaGkgYW4uCiAgRHUgd2VocnN0IGRlbiBBbmdyaWZmIG1pdCBlaW5lbSBVY2hpLXNodXRvLXVrZSBhYi4KRHUgaGFzdCBqZXR6dCAxMTYgTGViZW5zcHVua3RlIHVuZCAxNjAgTWFnaWVwdW5rdGUuCiAgSmVhbi1DbGF1ZGUgYGBUb2Rlc2ZhdXN0JycgUGVsemZ1c3MgdHJpZmZ0IERpY2ggaGFydC4KRHUgaGFzdCBqZXR6dCAxMDkgTGViZW5zcHVua3RlIHVuZCAxNjAgTWFnaWVwdW5rdGUuCkRpZSBBbmdzdCBpc3Qgc3RhZXJrZXIgYWxzIER1IC4uLiBEdSB3aWxsc3QgbnVyIG5vY2ggd2VnIGhpZXIuCnNub29wIHJvY2h1cwolRWluIFNwaWVsZXIgaXN0IG1pdCAnZW5kZScgbGViZW5kaWcgZW50a29tbWVuIQolRHUgbGVybnN0IGF1cyBEZWluZW0gRmVobGVyLgpTcGVpY2hlcmUgVG9yd2FsbC4KQmlzIGJhbGQhCkNsb3NpbmcgZG93bi4Ka2FyYXRla2VyIHphdWJlcmIgZG9jaCBuaWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbm9jaG1hbCBkYXp1IChQcm9sb2csICA5LiBKdWwgMTk5NywgMTI6NTI6MDYpOgp+IyEgcm49Q2F1bm8gcnQ9ODY2MTAzNzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY1Nzc1MzcwCm51ciBkYW5uLCB3ZW5uIGRlaW5lIHRlbG5ldC1zZXNzaW9uIGJsZWlidCwgYW5zb25zdGVuIGJpc3QgZHUgYXVjaCBuZXR6dG90CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogPz8/PyAoS2V5LCAgOS4gSnVsIDE5OTcsIDEzOjQ1OjM5KToKfiMhIHJuPVRvcndhbGwgcnQ9ODY4NDQyNDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY4NDQyNDA2CldhcyBoYXQgbGVybmVuIG1pdCB6YXViZXJuIHp1IHR1bj8KT2RlciB3aWxsc3RlIHZpZWxsaWVjaHQgbml4IGRhenVsZXJuZW4/IE5hamEgYmluIHNpY2hlciBtYW4ga2FubiBtaXQgUm9jaHVzCmRhcnVlYmVyIHJlZGVuIHdlbm4gZHUgZHJhdWYgYmVzdGVoc3QgOikKCktleSB2ZXJzdGVodCBuaWNodCB3YXMgVG9yd2FsbCBlaWdlbnRsaWNoIHdpbGwgLi4uLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhbmdld2VpbGUgKFBhbXBlcnMsICA5LiBKdWwgMTk5NywgMTc6MDQ6NDgpOgpTby4gRXMgaXN0IGhldXRlIGFsc28gTWl0dHdvY2guIEdlbmF1ZXI6IE1pdHR3b2NoIGRlciBuZXVudGUgSnVsaSAxOTk3LiBOQWNoCkNocmlzdGkgR2VidXJ0LgoKSG1tdGphLiBEYXMgaXN0IGFuIHVuZCBmdWVyIHNpY2ggZ2VzZWhlbiBqZXR6dCBqYSBlcnN0bWFsIG5pY2h0IHNvb29vCnNwYW5uZW5kLCBlcyBzZWkgZGVubiBtYW4gaGF0IHNvIExhbmdld2VpbGUgd2llIGljaCwgZGVyIGljaCBkYXMgbWVociBvZGVyCndlbmlnZXIgendlaWZlbGhhZnRlIFZFcmdudWVnZW4gaGFiZSwgYXVmIGVpbmlnZSBTaW11bGF0aW9uc2VyZ2Vibmlzc2Ugd2FydGVuCnp1IGR1ZXJmZW4uCgpTby4gSmV0enQgc2luZCBkaWUgU2ltdWxhdGlvbnNlcmdlYm5pc3NlIGRhLiBTaWUgc2luZCBub2NoIGV0d2FzIGJlc2NoaXNzZW5lcgphbHMgYmVmdWVyY2h0ZXQsIGFiZXIgaXJnZW5kd2llIGhhYmUgaWNoIGRhbWl0IGdlcmVjaG5ldC4KVGphLiBIbS4gQWxzbyBpcmdlbmR3aWUgd2Vpc3MgaWNoIGltIE1vbWVudCBhdWNoIGdhciBuaWNodCwgd2FzIGljaCBzY2hyZWliZW4Kc29sbCwgaWNoIHNjaHJlaWJlIGphIGF1Y2ggbnVyLCB3ZWlsIEFzbW9kaXMgZ2VhZ3QgaGF0LCBpY2ggc29sbGUgZWluZW4KQXJ0aWtlbCBzY2hyZWliZW4uIChWZXJtdXRsaWNoIGxhbmd3ZWlsdCBlciBzaWNoIGF1Y2guLi4uKQpCZWkgZGVyIEdlbGVnZW5oZWl0IGZhZWxsdCBtaXQgZWluLCBkYXNzIGVpZ2VudGxpY2ggZGllIG5hZWNoc3RlIE11ZGRlcmZldCBpbgpLQWlzZXJzbGF1dGVybiBzZWluIHNvbGx0ZSwgQXNtb2RpcyBrYW5uIHNpY2ggZGFubiBuYWVtbGljaCBuaWNodCB2b3JtCkVyc2NoZWluZW4gZHJ1ZWNrZW4uIDstKQoKSWNoIHdlcmRlIGpldHp0IGdsZWljaCBuYWNoIEhhdXNlIGdlaGVuLCBkYXMgVm9yZGVycmFkIG1laW5lcyBGYWhycmFkZXMgenVtCnp3ZWl0ZW4gTWFsIGZsaWNrZW4sIFN0YXJUcmVrIFRORyBndWNrZW4gc293aWUgZWluZSBRdWljaGUgTG9ycmFpbmUgYmFja2VuLAppY2gga3JpZWdlIG5hZW1saWNoIGxhbmdzYW0gSHVuZ2VyLgpOaWNodCwgZGFzcyBpY2ggZXJ3YXJ0ZW4gd3VlcmRlLCBkYXNzIGRlciBVbnNpbm4sIGRlbiBpY2ggaGllciBzY2hyZWliZSBhdXNzZXIKZGVtIGVpbmVuIG9kZXIgYW5kZXJlbiBmZWhsZ2VsZWl0ZXRlbiBJcnJlbiBpcmdlbmRlaW5lbiBpbnRlcmVzc2llcmVuIHd1ZXJkZSwKYWJlciBldyBpc3QgZWluIGhlcnZvcnJhZ2VuZGVzIE1pdHRlbCBnZWdlbiBMYW5nZXdlaWxlLCBQcm9maWxuZXVyb3NlIHVuZApTY2h1cHBlbi4KRGFzIExheW91dCBkaWVzZXMgQXJ0aWtlbHMgd2lyZCBuYWNoaGVyIHdpZWRlciB3aWUgU2F1IGF1c3NlaGVuLCBqZWRlciwgZGVyCm1pY2ggZGFyYXVmIGF1Zm1lcmtzYW0gbWFjaHQsIGRhc3MgaWNoIG1pciBkYXMgbWl0ICd+cicgYW5zY2hhdWVuIGthbm4sIGthbm4Kc2ljaCBzY2hvbm1hbCBiZXJlaXQgZnVlciBuZSBTdHVuZGUgSmFpbCBtYWNoZW4gKCBhdXNzZXIgbmF0dWVybGljaCBkaWUgSGVycmVuCkVyem1hZ2llciwgZGllIGtvZW5uZW4gc2ljaCBkYW5uIHNjaG9uIGF1ZiBlaW5lbiBzY2hvZW5lbiBQb2xlbWlrYXJ0aWtlbCB6dW0KVGhlbWEgRXJ6aW1hY2h0bWlzc2JyYXVjaCB2b24gbWlyIGZyZXVlbi4pClNvIGxhbmdzYW0gd2lyZCBtaXIgZGFzIGRvb2ZlIEdFd3NjaHdhZmVsIGVjaHQgenUgYmxvZWQsIGljaCBzY2hsaWVzc2UgbWl0CmVpbmVtIEdydXNzIGFuIG1laW5lIE1hbWksIEhhcmFsZCBKdWhua2UgdW5kIEdlbmVyYWwgUGlub2NoZXQuCgpQYW1wZXJzLiBHZW51ZyBnZWxhYmVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYW5nZXdlaWxlIChBc21vZGlzLCAgOS4gSnVsIDE5OTcsIDE3OjExOjM5KToKfiMhIHJuPVBhbXBlcnMgcnQ9ODY4NDYwNjg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY4NDYwNjg4ClBhbXBlcnMsIGR1IGthbm5zdCBkaXIgZGFzIG1pdCB+ciBhbnNjaGF1Li4uIGFlaCwgbmFqYSwgdmVyZ2lzcyBlcyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYW5nZXdlaWxlIChDYXJhZGhyYXMsICA5LiBKdWwgMTk5NywgMTc6MTM6MzApOgp+IyEgcm49QXNtb2RpcyBydD04Njg0NjEwOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njg0NjA2ODgKUXVpY2hlPyBXbz8gKmhlY2hlbCogSHVuZ2VyIDopIFdvIGlzdCBkYXMgUmV6ZXB0LCBQYW1wZXJzPyBIYWIgCm5hZW1saWNoIGtlaW5lcyBtZWhyIGRhenUuICo6XikKCiAgICAgICBCZXJnY2hlbiBDYXJhZGhyYXMgLSB2ZXJ3dXNjaGVsdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhbmdld2VpbGUgKE1vcmdvdGgsIDEwLiBKdWwgMTk5NywgMDc6MzQ6NDcpOgp+IyEgcm49UGFtcGVycyBydD04Njg0NjA2ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njg0NjA2ODgKR0VJTCAhISEKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClptdWQtQXV0b21hcHBlciAoQnJhbmRpciwgMTIuIEp1bCAxOTk3LCAwMzoxNjoxMyk6ClNvLCBmdWVyIGFsbGUsIGRpZSBpbW1lciBub2NobWl0IGRlciBLb25maWd1cmF0aW9uIGRlcyBabXVkLUF1dG9tYXBwZXJzCmthZW1wZmVuLCBoYWIgaWNoIGpldHp0IGVpbmUgSGlsZmVzZWl0ZSBlcnN0ZWxsdC4gU2NoYXV0IGVpbmZhY2ggbWFsIHVudGVyCmh0dHA6Ly9tZW1iZXJzLmFvbC5jb20vanJkdWViYmVycwpuYWNoLCB1bmQgc3VjaHQgZXVjaCBkaWUgQXV0b21hcHBlcnNlaXRlLiBJY2ggaG9mZmUgZGFzIGRvcnQgbGV0enRlIEZyYWdlbgpnZWtsYWVydCB3ZXJkZW4ga29lbm5lbi4gCkZhbGxzIGVzIGRvY2ggbm9jaCBldHdhcyB6dW0gQXV0b21hcHBlciBnaWJ0LCBtYWlsdCBtaXIgZG9jaCBiaXR0ZSwgZGFubiB3ZXJkZQppY2ggZGFzIG5vY2ggaGluenVmdWVnZW4uCgpEaWVzIHNvbGwgbmljaHQgaGVpc3NlbiwgZGFzcyBpY2ggZXMgbGVpZCBiaW4sIExldXRlbiB6dSBlcmtsYWVyZW4gd2llIHNpZSBkZW4KQU0ga29uZmlndXJpZXJlbiBzb2xsZW4sCmdhbnogaW0gR2VnZW50ZWlsLCBlcyBtYWNodCBtaXIgc29nYXIgc2VociB2aWVsIFNwYXNzLiBEb2NoIG5hY2hkZW0gaWNoIGhldXRlCmFiZW5kIGRlbSA1LgpkaWUga29uZmlndXJhdGlvbiBlcmtsYWVydCBoYWJlLCBiaW4gaWNoIGF1ZiBkZW4gVHJpY2h0ZXIgZ2Vrb21tZW4sIGRhc3MgZXMKZHVyY2ggcmVpbmVzIGNoYXR0ZW4gZG9jaCBldHdhcyBtdWVoc2VsaWcgaXN0IDopCgpJY2ggaG9mZmUsIG51biB3aXJkIGFsbGVzIGVpbmZhY2hlci4uLgoKQ2lhbywgQnJhbmRpcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT3Jha2Vsc3BydWVjaGUgKFBha2UsIDEyLiBKdWwgMTk5NywgMDM6NDE6MTIpOgpIbW0sIHNvIGd1dCBkYXMgT3Jha2VsIGF1Y2ggaXN0LCBldHdhcyBrbGFwcHQgYmVpIG5pY2h0Li4uCkVpbiBTcHJ1Y2ggbGF1dGV0IGJlaSBtaXIgIkluIGRlciBXdWVzdGUgc3RlaHQgZWluIEdlcmFldC4uLnZpZWxlIGhhYmVuCmdlc3BhcnQuLi5zcHVja3QgYXVzLCB3YXMgRGlyIGdlZmFlbGx0Li4uIiAob2RlciBzbykKSWNoIGRlbmtlLCBkYW1pdCBLQU5OIG51ciBkZXIgQXV0b21hdCBpbiBkZXIgV3Vlc3QgZ2VtZWludCBzZWluLCBpbiBkZW4gbWFuCjEwLjAwMCBNdWVuemVuIHdlcmZlbiBtdXNzLiBJY2ggcmVubiBqZXR6dCBhbHNvIGxvcywgd2VyZmUgbWVpbiBkcml0dGVsClZlcm1vZWdlbiBoaW5laW4gdW5kIGJla29tbWUuLi4uU0FORCEKQWxzbywga2xhcHBlbiBudW4gZGllIE9yYWtlbHNwcnVlY2hlIGltbWVyLCBudXIgbWFuY2htYWwsIG9kZXIgaGFiZSBpY2ggUGVjaAptaXQgbmVtIEJ1Zz8/IChvZGVyIGdpYnRzIG5lbiBhbmRlcmVuIEF1dG9tYXRlbiBpbiBkZXIgV3Vlc3RlLi4uPykKClBha2UsIGVpbiB3ZW5pZyB2ZXJ3aXJydC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcmFrZWxzcHJ1ZWNoZSAoU2hhcmlhLCAxMi4gSnVsIDE5OTcsIDExOjE5OjQ2KToKfiMhIHJuPVBha2UgcnQ9ODY4NjcxNjcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY4NjcxNjcyCnZpZWxsZWljaHQgcmVpY2h0IGRhcyByZWlud2VyZmVuIGRlciBtdWVuemVuIGVpbmZhY2ggbmljaHQgPyA6LSkKClNIYXJpYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcmFrZWxzcHJ1ZWNoZSAoTGVmdHksIDEyLiBKdWwgMTk5NywgMTM6NDI6MzgpOgp+IyEgcm49UGFrZSBydD04Njg2NzE2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njg2NzE2NzIKdmllbGxlaWNodCBpc3QgZWluIGRyaXR0ZWwgaGFsdCBuaWNodCBnZW51ZyA6KQoKTGVmdHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1lcmt3dWVyZGlnZXIgVG9kIChTY2hsaW5nZWwsIDEzLiBKdWwgMTk5NywgMDA6MDc6MjkpOgpJY2ggd2FyIGRhcyBsZXR6dGUgTWFsIGFtIERpZW5zdGFnIG9kZXIgTWl0dHdvY2ggaW0gTVVELiBEYSBoYWJlIGljaCBpbQpEc2NodW5nZWwgaXJnZW5kd2FubiBtYWwgc2NobGFmIGVpbiBtYWNoZW4gbXVlc3NlbiwgZGEgaWNoIHdlZ211c3N0ZS4KQWxzIGljaCBnZXN0ZXJuIHdpZWRlciByZWlua2FtLCB3YXIgaWNoIG5vY2ggYW4gZGVyIHNlbGJlbiBTdGVsbGUuIEhhYmUgbWljaAprdXJ6IGRhcmF1ZiBpbSBNb29yIHZlcmlycnQsIGhhYmUgTGx5c3RyYXRoZSBkYW5uICJIZWltd2VoIiBnZXNhZ3QgdW5kIHd1cmRlCmRhbm4gaW4gZGllIEdpbGRlIHRlbGVwb3J0aWVydC4gRG9ydCBtZXJrdGUgaWNoIGRhc3MgaWNoIGVpbiBHZWlzdCBiaW4gdW5kCmVpbm1hbCBtZWhyIGdlc3RvcmJlbiBiaW4gdW5kIG51ciBub2NoIGRpZSBhdXRvbG9hZGVyIGRhYmVpIGhhYmUuCkVyc3RlbnMgZmFlbmRlIGljaCBlcyBzZWhyIGRvb2YsIHdlbm4gbWFuIG5hY2ggZWluZW0gInNjaGxhZiBlaW4iIG5vY2ggCnN0ZXJiZW4ga2Fubiwgd2VubiBtYW4gbmljaHQgc293aWVzbyBzY2hvbiBpbiBkZXIgVG9kZXNzZXF1ZW56IHN0ZWNrdCwKd2FzIGljaCBhYmVyIGRlZmluaXR2IG5pY2h0IHRhdC4gQWJlciB2b3IgYWxsZW0gbXVlc3N0ZSBpY2ggamEgbmFjaCBlaW5lbQpyZWd1bGFlcmVuIFRvZCBhbHMgRWxmIGF1Y2ggd2llZGVyIGltIEVsZmVuZG9yZiBhbmZhbmdlbiB1bmQgbmljaHQgaW0KRHNjaHVuZ2VsLiBJY2ggd2Vpc3MgbmljaHQgd2FzIGxvcyBpc3Qvd2FyLiBJbSBBdWdlbmJsaWNrIHZlcmhhcnJlIGljaCBub2NoCmluIGRlbSB2ZXIiZ2Vpc3QiZXJ0ZW4gWnVzdGFuZCBpbiBkZXIgSG9mZm51bmcsIGRhc3Mgc2ljaCBkYXMgYWxsZXMgYXVmLQprbGFlcnQuIE1vZWNodGUgbmFlbWxpY2ggbmFjaCBkZXIgVG9kZXNyZWZvcm0gbmljaHQgZ2VybiBkaWUgS29uc2VxdWVuemVuCnRyYWdlbiwgd28gaWNoIGdhciBuaWNodHMgdmVyc2NodWxkZXQgaGFiZS4KCkVpbiB2b2VsbGlnIHZlcndpcnJ0ZXIgR2Vpc3QKICAgICAgICAgICAgICAgICAgICAobmFtZW5zIFNjaGxpbmdlbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1lcmt3dWVyZGlnZXIgVG9kIC0gZXMgZ2VodCB3ZWl0ZXIuLi4gKFNjaGxpbmdlbCwgMTMuIEp1bCAxOTk3LCAwMDoxOTo1OSk6CkVzIGdlaHQgd2VpdGVyIG1pdCBkZW4gTWVya3d1ZXJkaWdrZWl0ZW4uIEljaCBzdGVoIGRpZSBnYW56ZSBaZWl0IG51ciBpbgpkZXIgR2lsZGUgcnVtLCB3ZWlsIGljaCB3YXJ0ZW4gd29sbHRlIG9iIGVpbmVyIGRlciBFcnppcyB3YXMgZmluZGV0LiBKZXR6dApuYWNoZGVtIGljaCBtZWluZW4gbGV0enRlbiBBcnRpa2VsIGdlc2NocmllYmVuIGhhYmUgaGFiZSBpY2ggbm9jaCBtYWwKInNwaWVsc3RhbmQiIHZlcnN1Y2h0IHVuZCBvaCBXdW5kZXIgLSBlcyBnZWh0LiBTY2huZWxsIG5hY2hnZXNjaGF1dCAtIGphIGljaApiaW4ga2VpbiBHZWlzdCBtZWhyLiBBYmVyIGljaCBsZWlkZSB1bnRlciBtZWluZW0gbGV0enRlbiBUb2QuIEFsc28gZ2FueiBub3JtYWwKZ2VzdG9yYmVuLiBXaWUgYWJlciBrYW5uIGljaCBuaWNodCBtZWhyIEdlaXN0IHNlaW4/IEljaCBoYWJlIE5JQ0hUIGdlYmV0ZXQuCkljaApoYWJlIGRpZSBHaWxkZSBOSUNIVCB2ZXJsYXNzZW4hIEljaCB3YXIgTklDSFQgaW0gRWxmZW5kb3JmISBBYmVyIEVQcyB1bmQKU3RhdHNhYndlcnR1bmcgaGFiZSBpY2ggYmVrb21tZW4uIFdhcyBpc3QgbnVyIGxvcz8/PwoKU2NobGluZ2VsIGRlciBrdXJ6IHZvciBlaW5lbSBIZXVsYW5mYWxsIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBabXVkLUF1dG9tYXBwZXIgKE1hc28sIDE0LiBKdWwgMTk5NywgMDQ6NTA6NTYpOgp+IyEgcm49QnJhbmRpciBydD04Njg2NzAxNzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njg2NzAxNzMKPiBodHRwOi8vbWVtYmVycy5hb2wuY29tL2pyZHVlYmJlcnMvCgpEaWVzZSBTZWl0ZSBlbmhhZWx0IGVpbmUgTHVlZ2U6ClsuLi5dCiAgICAgICAgICAgICAgICAgICAgICAgRGllc2UgU2VpdGUgdmVyd2VuZGV0IEZyYW1lcyAhCgogICAgICAgICAgICBGcmFtZXMgd2VyZGVuIHZvbiBEZWluZW0gQnJvd3NlciBuaWNodCB1bnRlcnN0dWV0enQuCiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdW1tIGdlbGF1ZmVuIDstKQpbLi4uXQoKQnJvd3NlcjogTHlueCAyLjcKCiAgICAgICAgICAgICAgIE1hc28uCgoKUFM6IDstKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRvbGxlcyBpbmZlcm5vIDooLiAoTmFjaHR3aW5kLCAxOC4gSnVsIDE5OTcsIDA2OjE1OjU4KToKRWJlbiBiZWkgSW5mZXJubzoKR3J1ZW5lIE5lYmVsIHppZWhlbiBpbiBkZW4gUmF1bSB1bmQgdmVycGVzdGVuIGRpZSBMdWZ0LiBEZXIgQm9kZW4gd2lyZCBsYW5nc2FtCmdsdWVoZW5kIGhlaXNzLgpMb3JlbnogZnJhZ3QgRGljaCB2ZXJ6d2VpZmVsdDogU2FnZSwgd2lsbHN0IER1IGVzIHZlcnN1Y2hlbj8gRGFubiBhbnR3b3J0ZSBtaXIKU0NITkVMTCBtaXQgJ0pBJy4gIAphbnR3b3J0ZSBqYQpEdSBhbnR3b3J0ZXN0OiBqYQo+IGFudHdvcnRlIEpBCkR1IGFudHdvcnRlc3Q6IGphCjxuaWNodHMgcGFzc2llcnQuLi4+Cj4gYW50d29ydGUgbG9yZW56IGphCkR1IGFudHdvcnRlc3Q6IExvcmVueiBqYQo8aW1tZXIgbm9jaCBuaWNodHMuLi4+Cj4gQnJ1ZGVyIExvcmVueiBibGlja3QgdHJhdXJpZyBhdWYgRGljaC4KJ051biwgd2VubiBkYXMgRGVpbmUgRW50c2NoZWlkdW5nIGlzdCAuLi4nLCBtdXJtZWx0IGVyLCBmYWx0ZXQgZGllIEhhZW5kZSB6dQplaW5lbSBsZXR6dGVuIEdlYmV0LCBzY2hsaWVzc3QgZGllIEF1Z2VuIHVuZCB3aXJmdCBzaWNoIGluIGRhcyBMb2NoLgpTZWt1bmRlbmJydWNodGVpbGUgc2NoZWludCBuaWNodHMgenUgZ2VzY2hlaGVuLCBkb2NoIGRhbm4gZXhwbG9kaWVydCBkaWUgV2VsdAp1bSBEaWNoIGhlcnVtLgoKRGFzIExpY2h0IC4uLgoKCmRhcyBMaWNodCB6ZXJyZWlzc3QgRGljaC4KW1RvZDpMYXJzXSBFaW4gRGllIE1hY2h0IGRlcyBJbmZlcm5vcyBoYXQgZ2VyYWRlIE5hY2h0d2luZCB1bWdlYnJhY2h0LgpEZXIgVGVkZHkga251ZGRlbHQgRGljaCBlaW4gbGV0enRlcyBNYWwuCgpUamEsIDIgVGFnZSBhdXNydWVzdGVuIHVuZCAxIFRhZyBRdWVzdGVuIGZ1ZXInbiBIZXJybi4gVmllbGVuIERhbmshCnN1cGVyc3Rpbmtlc2F1ZXIKTmFjaHR3aW5kCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRvbGxlcyBpbmZlcm5vIDooLiAoQXNtb2RpcywgMTguIEp1bCAxOTk3LCAxMTozNjo1Nik6Cn4jISBybj1OYWNodHdpbmQgcnQ9ODY5MTk5MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MTk5MzU4CkVpbmZhY2ggbnVyIGVpbm1hbCBhbnR3b3J0ZW4sIGRhbm4ga2xhcHB0cyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0b2xsZXMgaW5mZXJubyA6KC4gKEZlbGFndW5kLCAxOC4gSnVsIDE5OTcsIDExOjUzOjUzKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODY5MjE4NjE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MTk5MzU4CkFuIGRlciBTdGVsbGUgc2luZCBiZXN0aW1tdCBzY2hvbiAxMDAwIGJ1Z3JlcG9ydHMgYWJnZXNldHp0IHdvcmRlbiwgbWFuCm11ZXNzdGUgYmxvc3MgZWluZSBWYXJpYWJsZSB1bXNldHplbi4ubmFqYSwgaWNoIGhhYiBrZWluZSBTY2hyZWlicmVjaHRlIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdG9sbGVzIGluZmVybm8gOiguIChNYWhhdG1hLCAxOC4gSnVsIDE5OTcsIDEyOjAzOjM3KToKfiMhIHJuPUZlbGFndW5kIHJ0PTg2OTIxOTYzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2OTE5OTM1OApEYXMgUHJvYmxlbSBpc3Qgc2Nob24gcmVjaHQgYWx0LCBlcyBzaW5kIHNjaG9uIHVuemFlaGxpZ2UgdW5zY2h1bGRpZ2UgT3BmZXIKYW4gZGllc2VyIGR1bW1lbiBTdGVsbGUgZ2VzdG9yYmVuLiBQdW1hIHdlaXNzIGF1Y2ggZGF2b24sIGxlaWRlciBoYXQgZXIgc2ljaApoaWVyIHp1cnVlY2tnZXpvZ2VuLCBiZXZvciBlciBkYXp1IGthbSwgZGFzIHp1IGFlbmRlcm4uIFZpZWxsZWljaHQgZXJiYXJtdApzaWNoIEJvaW5nIGFscyBSTSBHZWJpcmdlIGphIG1hbCB1bmQgYWVuZGVydCBkYXMsIGRhc3MgTG9yZW56IHNvZm9ydCBhdWYgZGllCnJpY2h0aWdlIEFudHdvcnQgcmVhZ2llcnQuCgpNYWhhdG1hIChpc3QgZGEgYXVjaCBnZXN0b3JiZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZnVlciBlaW4gVG9kLiAoQWxwaGEsIDE4LiBKdWwgMTk5NywgMTY6MjU6MDkpOgogRHUgaGFzdCBqZXR6dCAxMjcgTGViZW5zcHVua3RlIHVuZCA5MCBNYWdpZXB1bmt0ZS4KTWl0IGVpbmVtIGxldHp0ZW4gS3JhZnRha3QgdGF1Y2hzdCBEdSBuYWNoIGxpbmtzLiBEb2NoIGVzIGlzdCB6dSBzcGFldC4KIApVbnRlciBXYXNzZXIuCkVzIGdpYnQga2VpbmUgc2ljaHRiYXJlbiBBdXNnYWVuZ2UuCkVpbiBaaXR0ZXJhYWwuCkRlaW4gS29lcnBlciBnZWhvcmNodCBEaXIgbmljaHQgIQo+IAogClBsb2V0emxpY2ggd2lyZCBlcyB6aWVtbGljaCBzdGlsbCB1bSBEaWNoLiAKIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBMUDogMTI4KDEpIE1QOiA5MSgxKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRHUgaGFzdCBqZXR6dCAxMjggTGViZW5zcHVua3RlIHVuZCA5MSBNYWdpZXB1bmt0ZS4KRWlnZW50bGljaCBaVSBzdGlsbC4KIApbQWxsZ2VtZWluOkphc29ucmlnaWRdIG5hLCBkYXMgaXN0IGphIFd1cGVyc2V0dGVyLgpVbmQgZGFubiBub2NoIGRpZSBHZWdlbmQgaGllci4uLiBBbGxlcyBzY2hlaW50IHZvciBEZWluZW4gQXVnZW4genUKdmVyc2Nod2ltbWVuLiAKIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBMUDogMTI5KDEpIE1QOiA5MigxKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRHUgaGFzdCBqZXR6dCAxMjkgTGViZW5zcHVua3RlIHVuZCA5MiBNYWdpZXB1bmt0ZS4KQWxsZXMgd2lyZCB1bnNjaGFyZi4uLiBEdSBrYW5uc3QgcHJha3Rpc2NoIG5pY2h0cyBtZWhyIGVya2VubmVuLiBOdXIgbm9jaAplaW5zLi4uIAogCkVpbmUgVHVlci4gRWluZSBUdWVyLCBkaWUgRHUgYmlzbGFuZyBub2NoIG5pY2h0IGJlbWVya3QgaGFzdCwgdW5kIGRpZSBzaWNoCmRldXRsaWNoIHZvbiBkZW0gdmVyc2Nod29tbWVuZW4gSGludGVyZ3J1bmQgYWJoZWJ0LiBVbmQgYXVmIGRlciBUdWVyIGlzdAplaW4gU2NoaWxkLiAKIApBaGFzdmVyIGVyc2NoZWludC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgTFA6IDEzMCgxKSBNUDogOTMoMSkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkx1c3RpZywgbmUuLi4KTWl0IDEyNyBMUHMgc28gZWluZmFjaCBzdGVyYmVuLi4uLgpBYmVyLCBkYXMgZGllIExQcyB3aWVkZXIgbWVociB3ZXJkZW4gYmVpbSB0b3Qgc2Vpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdG9sbGVzIGluZmVybm8gOiguIChNdXBmZWwsIDE4LiBKdWwgMTk5NywgMTY6NTI6MjApOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODY5MjE5NjMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MTk5MzU4CkhtamEgd2VubiBpY2ggYW0gV0UgbWFsIFplaXQgaGFiLiBLYW5uIG1pciBkYXp1IG1hbCBlaW5lciBtYWlsZW4sIHdhcyBkYQoqZ2VuYXUqIHBhc3NpZXJ0IHVuZCB3YXMgZGEgZWlnZW50bGljaCBwYXNzaWVyZW4gKnNvbGx0ZSogPwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0b2xsZXMgaW5mZXJubyA6KC4gKExlZnR5LCAxOC4gSnVsIDE5OTcsIDE4OjE2OjUyKToKfiMhIHJuPU5hY2h0d2luZCBydD04NjkxOTkzNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NjkxOTkzNTgKRGFzIGlzdCBzY2hvbiBhbHQsIHNvbGx0ZSBlaWdlbnRsaWNoIG1hbCBhdXNnZWJlc3NlcnQgd2VyZGVuLCBhYmVyIERlaW4KbGV0enRlcyBhbnR3b3J0ZSB3YXIgZmFsc2NoIDstKS4KCkxlZnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRvbGxlcyBpbmZlcm5vIDooLiAoTHVnLCAxOC4gSnVsIDE5OTcsIDIzOjI0OjU4KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODY5MjE4NjE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MTk5MzU4CgpTZWx0ZW4gYmxvZWRlciBCdWcuIE1hbiBtdWVzc3RlIGVpbiBTY2hpbGQgaW4gZGVuIFJhdW0gc3RlbGxlbjogQW50d29ydGUgbWVocgphbHMga2Vpbm1hbCBhYmVyIHdlbmlnZXIgYWxzIHp3ZWltYWwuClNldWZ6Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdG9sbGVzIGluZmVybm8gOiguIChMZWZ0eSwgMjEuIEp1bCAxOTk3LCAwMDoyMDowMik6Cn4jISBybj1MdWcgcnQ9ODY5MjYxMDk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MTk5MzU4Ck1hbiBrYW5uIGF1Y2ggendlaSBvZGVyIG1laHJtYWwgYW50d29ydGVuLCBhYmVyIGVzIHNvbGx0ZSBiZWltIGphIGJsZWliZW4uCgpMZWZ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBmdWVyIGVpbiBUb2QuIChTbHlmb3gsIDIxLiBKdWwgMTk5NywgMjI6NDA6MjgpOgp+IyEgcm49QWxwaGEgcnQ9ODY5MjM1OTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5MjM1OTA5CkJlaSBlaW5lbSBGYWtlLVRvZCBpc3QgZGFzIHNvLiBTZWluZSBMUHMgYmVoYWVsdCBtYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBmdWVyIGVpbiBUb2QuIChSaW5nb3IsIDIxLiBKdWwgMTk5NywgMjI6NDE6NDkpOgp+IyEgcm49U2x5Zm94IHJ0PTg2OTUxNzYyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg2OTIzNTkwOQpCZWkgZWluZW0gVG9kIGR1cmNoIGRpcmVrdGVzIGRpZSgpIGF1Y2guCgpBbHNvIG5pY2h0IHp1IGZydWVoIGZyZXVlbiwgd2VubiBtYW4gaW4gZGVyIFNlcXVlbnogaG9jaGlkZWx0LgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5HcmF1ZW4gQUcgKFN1bmZsb3dlciwgMjQuIEp1bCAxOTk3LCAwMzo0MzoyMik6CkZyYW5rZnVydCBhbSBNYWluIChtcGEpCgpOYWNoIGRlbSBudW4gYXVjaCBzY2hvbiBGZXJuc2Voc2VuZGVyIGRhcyBsdWtyYXRpdmUgR2VzY2hhZWZ0IG1pdCBBa3RpZW4KZW50ZGVja3QgaGFiZW4sIHdhciBlcyBudXIgbm9jaCBlaW5lIEZyYWdlIGRlciBaZWl0IGJpcyBzaWNoIFN0dWRlbnRlbiBmYW5kZW4KdW0gSWhyIFVlYmVybGViZW4gaW4gc29nZW5hbm50ZW4gTVVEcyB6dSBzaWNoZXJuLiBIZXV0ZSBudW4gaXN0IGVzIHNvd2VpdDoKRGllIGVyc3RlbiBNb3JnZW5ncmF1ZW4gc3RlaGVuIHp1bSBLYXVmLiBEZXIgS2F1ZndlcnQgYmV0cmFlZ3QgODYsLSBETQooTmVubndlcnQgNTAgRE0pIHBybyBBa3RpZSB1bmQgYmVzdGFldGlndCBkYW1pdCBkaWUgRXJ3YXJ0dW5nZW4gZGVyIE1ha2xlci4KRWluIFNwcmVjaGVyIGRlciBBa3RpZW5nZXNlbGxzY2hhZnQgdGVpbHRlIHVucyBtaXQgZGFzIG1hbiB6d2FyIG1pdCBub2NoCm1laHIgQW5zdHVybSBnZXJlY2huZXQgaGFldHRlLCBhYmVyIGRpZSBHb2V0dGVyIHRyb3R6ZGVtIHp1ZnJpZWRlbiBzZWllbi4KQXVmIGRpZSBGcmFnZSB3YXMgZGVuIG51biBtaXQgZGVtIEdld2lubiBnZW1hY2h0IHdlcmRlbiBzb2xsLCBhbnR3b3J0ZXRlIG1hbgptaXQ6IGRhcyBMQUcgYmVzZWl0aWdlbi4gV2FydW0gbWFuIG51biBkaWUgTC4gQWt0aWVuZ2VzZWxsc2NoYWZ0IGJlc2VpdGlnZW4KbW9lY2h0ZSwga29ubnRlIHVucyBkZXIgU3ByZWNoZXIgbGVpZGVyIG5pY2h0IHNhZ2VuLiBXaXIgd2VyZGVuIHdvaGwgd2VpdGVyaGluCmRhcyBWb3JnZWhlbiBkaWVzZXIgbmV1ZW4gQUcgYmVvYWNodGVuLgpLb21tZW4gd2lyIGFiZXIgbnVuIHp1IGRlbiBWb3J0ZWlsZW4gZGllIGRpZSBBa3Rpb25hZXJlIGhhYmVuLCBkYSB3YWVyZW4KZWlubWFsCjIgVHJlZmZlbiBpbSBKYWhyIGpld2VpbHMgMyBUYWdlIG1pdCBVZWJlcm5hY2h0dW5nIHVuZCBWZXJwZmxlZ3VuZyBmdWVyIGdhbnoKd2VuaWcgR2VsZCwga29zdGVuZnJlaWVzIE11ZGRlbiAyNCB0YWdlIHJ1bmQgdW0gZGllIFVociwgc293aWUgZGllIGluZml6aWVydW5nCm1pdCBkZW0gbXVkdmlydXMgKCBkaWVzIGlzdCBlaW4gZ3V0YXJ0aWdlciB2aXJ1cyApLiBXZWl0ZXJoaW4gZGFyZiBkZXIKenVrdWVuZnRpZ2UgQWt0aW9uYWVyIGluIGVpbmVuIENsdWIgc2VpbmVyIHdhaGwgKGtvc3RlbmZyZWkgdmVyc3RlaHQgc2ljaCkKZWludHJldGVuLCB6dXIgWmVpdCBzdGVoZW4gZm9sZ2VuZGUgQ2x1YnMgb2ZmZW46IEFiZW50ZXVyZXIgKCBmdWVyIGdlc3RyZXNzdGUKTWFuYWdlciBkaWUgZWluZmFjaCBudXIgZGllIHB1cmUgd2lsZG5pcyBtaXQgZmV1ZXIoYmFlbGxlbikgZXJsZWJlbiB3b2xsZW4gKQpLYXJhdGUgKGZ1ZXIgZGllamVuaWdlbiB1bnRlciB1bnMsIGRpZSBtaXQgYXNpYXRpc2NoZW4gbGFlbmRlcm4gdmVyaGFuZGVsbiksCmNoYW9zIChpZGVhbCBmdWVyIGF6dWJpcyBkaWUgc2ljaCBhdXN0b2JlbiB3b2xsZW4gKSxrYWVtcGZlciAoIGZ1ZXIgd2VsY2hlIGRpZQpkYXMgcmlzaWtvIGVpbmVyIGFid2VydHVuZyBhdWZyZWdlbmQgZmluZGVuICksIHphdWJlcmVyICggZnVlciBhbGxlIGRpZSwgZGllCnNjaG9uIGltbWVyIG9wYXMgdGFzY2hlbnNwaWVsZXJ0cmlja3MgbGVybmVuIHdvbGx0ZW4gKSwgYW4gd2VpdGVyZW4gY2x1YnMKd2lyZCBnZWFyYmVpdGV0LCBzbyBkYXMgc3BhZXRlciBmdWVyIGplZGUgemllbGdydXBwZSBldHdhcyB2b3JoYW5kZW4gaXN0LgoKV2VpdGVyaGluIHN0ZWh0IGRlbiBJbmhhYmVybiBkZXIgQWt0aWUgZWluIGVpZ2VuZXMgZXJob2x1bmdzZ2ViaWV0IHp1cgp2ZXJmdWVndW5nCmRhIGthbm4gbWFuIGRhbm4ga2xlaW5lIHZlcnN0ZWNrdGUgZmxhZXNjaGNoZW4gZmluZGVuLCBiZXJnZSBiZXN0ZWlnZW4sIGFuCmluc2Vsc3RyYWVuZGVuIGF1c3NwYW5uZW4gb2RlciBhYmVyIGF1Y2ggdW5nZXppZWZlciB0b2V0ZW4uCkVzIGJsZWlidCB6dSBob2ZmZW4sIGRhcyBkaWVzZSBqdW5nZSBHZXNlbGxzY2hhZnQgc28gZnJpc2NoICB1bmQgbXVudGVyIGJsZWlidAp3aWUgc2llIGVzIHp1ciBaZWl0IGlzdCB1bmQgbm9jaCBsYW5nZSBmdWVyIGZyaXNjaGVuIFdpbmQgYW4gZGVuIEJvZXJzZW4Kc29yZ3QuCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmdlbkdyYXVlbiBBRyAoU3VuZmxvd2VyLCAyNC4gSnVsIDE5OTcsIDAzOjQ0OjUyKToKfiMhIHJuPVN1bmZsb3dlciBydD04Njk3MDg2MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njk3MDg2MDIKaG1tIGRlciBkcnVja3RldWZlbCBoYXQgc2ljaCBkYSBkb2NoIHJlaW5nZXNjaGxjaWhlbjoKMjQgdGFnZSA9IDI0IHN0dW5kZW4KOi0pCgogICAgICAgICAgICAgICAgICAgIC0tPT09IGJsdWVtY2hlbiA9PT0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmdlbkdyYXVlbiBBRyAoTHVnLCAyNC4gSnVsIDE5OTcsIDAzOjQ4OjQ0KToKfiMhIHJuPVN1bmZsb3dlciBydD04Njk3MDg2MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Njk3MDg2MDIKVGphLAoKYWJlciBudXIgYmlzIHp1bSBuYWVjaHN0ZW4gQ2hyYXNoIQoKU2VtcGYKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vcmdlbkdyYXVlbiBBRyAoSG9tbSwgMjQuIEp1bCAxOTk3LCAwOToxNzozOSk6Cn4jISBybj1MdWcgcnQ9ODY5NzA4OTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODY5NzA4NjAyCkxpZWJlcyBCbHVlbWNoZW4sCgppY2ggd2lsbCBqYSBuaWNodCBhbHMgcGluZ2VsaWcgZ2VsdGVuLCBhYmVyIGRlbiBzY2hvZW5zdGVuIENsdWIgaGFzdCBkdSB3b2hsCnZlcmdlc3NlbiEhCgpXdWVyZGV2b2xsIHZlcm5laWdlbmQKUGFwc3QgSG9tbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMi4gamFlaHJpZ2VzIEp1YmlsYWV1bSAoU3VuZmxvd2VyLCAyOS4gSnVsIDE5OTcsIDAyOjUyOjI0KToKSmFqYSBudW4gbXVkZGUgaWNoIGF1Y2ggc2Nob24gc2VpdCAyIGphaHJlbiB1bmQgYmluIHp1ciB6ZWl0IHRvdGFsCmRlcHJpbWllcnQgZGFzIGljaCBoaWVyIGdsZWljaCBub2NoIHdhcyB3aWNodGlnZXMgc2NocmVpYmVuIHdvbGx0ZS4KRXMgdHV0IG1pciBsZWlkLCB3ZW5uIGljaCBiaXMgZGF0byBMZXV0ZSBhZXJnZXJ0ZSBvZGVyIGV4dHJlbSBuZXJ2dGUuCkRpZXMgZ2lsdCBpbnNiZXNvbmRlcmUgaW4gZGllIFJpY2h0dW5nIHZvbiBRaXRlc3MgdW5kIEh1ZXBmZXIsIHNvIHdpZQpkaWUgdmllbGVuIGRpZSBzaWNoIGR1cmNoIG1laW5lIGV4aXN0ZW56IGJlZHJvaHQgc2FoZW4uIEFiZXIgaGllciBpc3QKYWxsZXMgbnVyIGVpbiBTcGllbCwgbnVyIGhtbSBpcmdlbmR3aWUgYXVjaCBuaWNodCwgZGVubiBpbW1lcmhpbiBzaXR6ZW4KYXVjaCBNZW5zY2hlbiB2b3IgZGVtIE1vbml0b3IgZGllIGF1Y2ggR2VmdWVobGUgdW5kIE5lcnZlbiBoYWJlbi4KCkFsc28gdmVyZ2VidCBtaXIgZGFzIE5lcnZlbiB1bmQgaWNoLCBTdW4qIHdlcmRlIG1laW4gZnJ1ZmVuIGVpbnN0ZWxsZW4KdW5kIGF1Y2ggZGl2ZXJzaXNlIGthbmFlbGUgbmljaHQgbWVociB2b2xsbXVlbGxlbi4KCiAgICAgICAgICAgICAgICAgICAgLS09PT0gYmx1ZW1jaGVuID09PS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMi4gamFlaHJpZ2VzIEp1YmlsYWV1bSAoTHVnLCAyOS4gSnVsIDE5OTcsIDE3OjI0OjA5KToKfiMhIHJuPVN1bmZsb3dlciBydD04NzAxMzc1NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzAxMzc1NDQKT2NoIFN1bm55LAoKZ2VoIGVpbmZhY2ggZWluIHBhYXIgcHVldHRrZXJuLiBEYW5uIHdhcmQgZGF0IHdlZGRlciwgbmVlY2g/CgpKYXUKTHVnIExlYmVuc2hpbGZlYmVyYXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDIuIGphZWhyaWdlcyBKdWJpbGFldW0gKEthcnRvZmZlbCwgMjkuIEp1bCAxOTk3LCAyMDoyNzo1Nyk6Cn4jISBybj1TdW5mbG93ZXIgcnQ9ODcwMTM3NTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwMTM3NTQ0CgpXZXIncyBnbGF1YnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwcnVjaCBkZXIgV29jaGUgKEF1Z3JhLCAyOS4gSnVsIDE5OTcsIDIyOjI1OjA4KToKV2VubiBlaW4gTWFubiBuaWNodCB3ZWlzcywgd29oaW4gZXIgc2VnZWxuIHdpbCwgZGFubiBpc3QgaWhtIGtlaW4gV2luZCBkZXIKcmljaHRpZ2UuIChTZW5lY2EpCgpBLiBXZWlzc25peAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwcnVjaCBkZXIgV29jaGUgKEx1ZywgMjkuIEp1bCAxOTk3LCAyMjoyOToyMSk6Cn4jISBybj1BdWdyYSBydD04NzAyMDc5MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzAyMDc5MDgKClBmZmZ0LApTZW5lY2EgaXN0IGRvb2YhCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BydWNoIGRlciBXb2NoZSAoS2V5LCAyOS4gSnVsIDE5OTcsIDIyOjMwOjQ0KToKfiMhIHJuPUx1ZyBydD04NzAyMDgxNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzAyMDc5MDgKV2llc28/IGRlciB3YXIgc2VpdCA0MTcgVGFnZW4gbmltbWVyIGRhIC4uLiAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYWQgYnV0IHRydWUgKFJhbnRhbnBsYW4sICAxLiBBdWcgMTk5NywgMTI6NDY6NTYpOgoKSGFsbG8gIQoKVGphLCBzY2hlaW5iYXIgaGF0IGRhcyBNRyBqZXR6dCBhdWNoIGRhcyBTY2hpa3NhbCBlaW5lcyBNdWRzIGVycmVpY2h0LCBkYXMKenUgZ3Jvc3MgZ2V3b3JkZW4gaXN0LgoKRXMgbGFlc3N0IHNpY2ggZm9sZ2VuZGVyIEFibGF1ZiBpbW1lciB3aWVkZXIgZmVzdHN0ZWxsZW4gaW4gZGVyIEVudHdpY2tsdW5nIAplaW5lcyBNdWRzOgoKWnVlcnN0IGlzdCBlcyBrbGVpbiB1bmQgaW5ub3ZhdGl2IHVuZCBkaWUgTGV1dGUgc2luZCBsb2NrZXIgdW5kIGRpZSBSZWdlbG4Kd2VyZGVuIG5hY2ggZ3VzdG8KZ2ViZXVndC4gV2VubiBkYW5uIGRpZSBaYWhsIGRlciBTcGllbGVyIHVuZCBpbnNiZXNvbmRlcmUgZGVyTWFnaWVyIHN0ZWlndCwKd2lyZCBlcyAKZ3JvZXNzZXIgd2FlY2hzdCB1bmQgZ2VkZWlodCB1bmQgaW4gZGVyIEJsdWV0ZSBpc3QgZXMgZWluIGJ1bnRlciBIYXVmZW4KdmllbGVyIHZlcnNjaGllZGVuZXIgTGV1dGUsIF9iaXNfIGVzIHp1IGRlbSBQdW5rdCBrb21tdCwgYW4gZGVtIGVpbmUgCkZyYWt0aW9uIGVudHN0ZWh0LCBkaWUgZnVlciBSZWNodCB1bmQgT3JkbnVuZyBzb3JndCwgZGllIEFuc3BydWVjaGUgenVyCk1hZ2llcndlcmR1bmcgcmVzcGVrdGl2ZSBTZWhlcndlcmR1bmcgd2VyZGVuIHNvd2VpdAplcmhvZWh0LCBkYXNzIGVzIHZpZWwgenUgbGFuZ2UgZGF1ZXJ0LCBzbyBkYXNzIG1hbiBsaWViZXIgaW4gZWluIGtsZWluZXJlcwpuZXVlcmVzIE11ZAphYndhbmRlcnQgd28gZXMgZWluZmFjaGVyIGlzdCwgdW5kIGRlciBTcGllbHNwYXNzIGdyb2Vzc2VyLgoKSW4gZGVuIGhvZWhlcmVuIEV0YWdlbiBwYXNzaWVydCBlcyBkYW5uLCBkYXNzIHNpY2ggZGllIFN0cnVrdHVyZW4gdm9lbGxpZwpmZXN0ZmFocmVuIHVuZCBqZWRlciBTY2hlaXNzIGFscyB0b3RhbCBuZXVlIGlubm92YXRpb24gdmVya2F1ZnQgd2lyZC4KCldhcyBpbSBFbmRlZmZla3QgYmVkZXV0ZXQsIGRhc3MgZGllIE11ZGxpYiBzaWNoIGRhdWVybmQgdW0gaXJnZW5kZWluZW4gbmV1ZW4KYmVsYW5nbG9zZW4gU2Nocm90dCBhdWZibGFlaHQsIHRqYSB1bmQgZGFzIHdhcnMgZGFubi4uLgoKCkljaCB3aWxsIG5pY2h0IGJlaGF1cHRlbiwgZGFzcyBkaWVzIGRpZSBsZXR6dGUgYWxsZXIgV2FocmhlaXRlbiBpc3QsIGRhcyBpc3QKX2tlaW5fIEZsYW1lLCB1bmQgbmllbWFuZCBicmF1Y2h0IHNpY2ggamV0enQgcGVyc29lbmxpY2ggYW5nZWdyaWZmZW4genUKZnVlaGxlbgoKTWlyIGlzdCBlcyBudXIgYWIgdW5kIHp1IGF1ZmdlZmFsbGVuLCBkYXNzIGRlbSBzbyBpc3QuCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYWQgYnV0IHRydWUgKEZ5dCwgIDEuIEF1ZyAxOTk3LCAxNjoxNjoxNyk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg3MDQzMjQxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDQzMjQxNgoKU2FkIGJ1dCB0cnVlLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNhZCBidXQgdHJ1ZSAoV3VyemVsLCAgMS4gQXVnIDE5OTcsIDE4OjE4OjA1KToKfiMhIHJuPUZ5dCBydD04NzA0NDQ5Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA0MzI0MTYKaW4gZ2V3aXNzZXIgd2Vpc2UgcmljaHRpZy4gYWJlciBlaW5zIHVlYmVyc2llaHN0IGR1IGRhYmVpOiBlaW4ga2xlaW5lcyBtdWQgaXN0CmluIGVyc3RlciBsaW5pZSBldHdhcyBmdWVyIGxldXRlLCBkaWUgbWFnaWVyIHNlaW4gd29sbGVuLCBleHBlcmltZW50aWVyZW4gbWl0Cm5ldWVuIGZlYXR1cmVzLCBkaWUgaW4gZWluZW0gZ3Jvc3NlbiBtdWQgbmljaHQgbWVociBtb2VnbGljaCBzaW5kIG9obmUgc2Vocgpncm9zc2VuIGF1ZndhbmQuIGRlciBzcGllbHNwYXNzIGlzdCBkYSBlaGVyIHdlbmlnZXIgdm9yaGFuZGVuLiB3aWUga29tbXQgZXMKc29uc3QsIGRhc3MgdmllbGUgbGV1dGUsIGRpZSBpbiBrbGVpbm11ZHMgbWFnaWVyIHNpbmQsIGhpZXIgbm9jaCBpbW1lcgpzcGllbGVyIGJsZWliZW4gd29sbGVuPyAgZGllIHJvbGxlIGVpbmVzIG11ZHMgdmVyYWVuZGVydCBzaWNoIG1pdCBkZXIgZ3JvZXNzZS4KZXhwZXJpbWVudGUgc2luZCBoaWVyIG51ciBzZWhyIGJlc2NocmFlbmt0IG1vZWdsaWNoLCB1bmQgd2VubiBzaWUgZG9jaCBtYWwKZ2VtYWNodCB3ZXJkZW4sIGRhbm4gbnVyIG1pdCBlaW5lbSBzdGFlbmRpZ2VuIGdlamFtbWVyZS4gZXMgZ2lidCBtdWRzLCB3bwpkaWUgZWluemlnZW4gc3BpZWxlciBkaWUgdGVzdGZpZ3VyZW4gZGVyIG1hZ2llciBzaW5kLiBkYSBiZXNjaHdlcnQgc2ljaApuaWVtYW5kLCBkb3J0IGthbm4gbWFuIHVuZ2VzdG9lcnQgZXhwZXJpbWVudGllcmVuLgppc3QgZXMgd2lya2xpY2ggc29vIHNjaHdpZXJpZywgbWFnaWVyIGJ6dy4gc2VoZXIgenUgd2VyZGVuPyBrYW5uIGljaCBtaXIgZ2FyCm5pY2h0IHZvcnN0ZWxsZW4sIGplZGVuZmFsbHMgbmljaHQsIHdlbm4gaWNoIG1pciBhbnNlaGUgd2llIGFsdCBkaWUgbWVpc3RlbgpiZWkgZGVyIHNlaGVyd2VyZHVuZyBzaW5kLgpkYXNzIGRpZSBtdWRsaWIgYXVmZ2VibGFlaHQgd2lyZCwgaXN0IHNpY2hlciByaWNodGlnLiBpY2ggZXJpbm5lcmUgbWljaCBhbgpkaWUgZGlza3Vzc2lvbiwgYWxzIHZvcmdlc2NobGFnZW4gd3VyZGUgZGV0YWlscyBlaW56dWZ1ZWhyZW4uIHZpZWxlIGhhYmVuCmRhcyBkYW1hbHMgYWJnZWxlaG50LCBlcyBmdWVyIHVlYmVyZmx1ZXNzaWdlbiBiYWxsYXN0IGdlaGFsdGVuLCBkZXIgbnVyIGRpZQptdWRsaWIgYXVmYmxhZWh0IHVuZCB1bXN0YWVuZGxpY2hlciBtYWNodC4gaGV1dGUgc2luZCAoamVkZW5mYWxscyBpbSBtZykgZGllCmRldGFpbHMgc2Nob24gZmFzdCBzb3dhcyB3aWUgaGVpbGlnZSBrdWVoZSBnZXdvcmRlbi4uLgp3YXMgaWNoIGFsbGVyZGluZ3Mgbm9jaCBuaWUgZ2VzZWhlbiBoYWJlLCBpc3QgZWluIGZ1bmt0aW9uaWVyZW5kZXMgbXVkLCBpbgpkZW0gbmllbWFuZCBmdWVyIGVpbiBnZXdpc3NlcyBtYXNzIGFuIG9yZG51bmcgc29yZ3QuIG1hbiBrYW5uIHVlYmVyIGRhcyAKbm90d2VuZGlnZSBtYXNzIGRpc2t1dGllcmVuLCBhYmVyIG5pY2h0IHVlYmVyIGRlbiBncnVuZHNhdHouCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNhZCBidXQgdHJ1ZSAoU2VtaXJhLCAgMS4gQXVnIDE5OTcsIDE4OjM0OjI3KToKfiMhIHJuPVd1cnplbCBydD04NzA0NTIyODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA0MzI0MTYKSG0uLi5pcmdlbmR3aWUgbWFnIGljaCBkYSB3aWRlcnNwcmVjaGVuLCBkYXNzIG4ga2xlaW5lcyBtdWQgaW4gZXJzdGVyIGxpbmllCndhcyBmdWVyIG1hZ2llciBzZWkuLi5iaW4gbmlyZ2VuZHMgbWFnaWVyIHVuZCBiZXZvcnp1Z2UgZG9jaCBrbGVpbmVyZSBtdWRzLi4uCgplaW5mYWNoIHNvLCB3ZWlsIG1pciBkYXMgYmVpIGRlbSBzYXR6IGpldHp0IGVpbmZpZWwuLi4KCnNlbWlyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lIE11ZHMvR3Jvc3NlIE11ZHMgKEtudXJ0LCAgMS4gQXVnIDE5OTcsIDIyOjA3OjUxKToKSG1tLCBhbHNvIG1lbGRlIGljaCBtaWNoIGF1Y2ggbWFsIHp1IFdvcnQuCkFsc28gaWNoIHNwaWVsZSBpbSBNRyBlaWdlbnRsaWNoIG51ciB1bSBlaW5lIFdlaWxlIFNwYXNzIG1pdCBkZW4gUXVlc3RzIHp1CmhhYmVuIChtaWNoIGF1ZiBMdi4gNjAgaG9jaHp1bWV0emVsbiBiaXJuZ3QgbWlyIG5peCkgdW5kIHdpbGwgZGFubiBoaWVyIE1hZ2llcgp3ZXJkZW4sIGdlcmFkZSB3ZWlsIGRhcyBNRyBzbyBncm9zcyBpc3QuCkhpZXIgaGFiZSBpY2ggZGllIE1vZWdsaWNoa2VpdCwgbWVpbmUgSWRlZW4gYW4gUXVlc3RlbiB6dSBwcm9ncmFtbWllcmVuICh3ZW5uCm1hbiBtaWNoIGRlbm4gbGFlc3N0KSB1bmQga2FubiBtaXIgZGFubiBhbnNjaGF1ZW4sIHdhcyBlaW4gcGFhciBodW5kZXJ0IExldXRlCmRhdm9uIGhhbHRlbi4KTWlyIHBlcnNvZWhubGljaCBicmluZ3QgZGFzIG1laHIsIGFscyBmdWVyIDUwIExldXRjaGVuIHp1IHByb2dnZW4uLi4KCkRhcyBlcyB6dSBsYW5nZSBkYXVlcnQsIHNpY2ggaGllciBob2NoenVzcGllbGVuLCBmaW5kZSBpY2ggbmljaHQgenVtaW5kZXN0CmZpbmRlIGljaCBMZXZlbCAxNiBpbiBldHdhIDcgT25saW5ldGFnZW4gbm9jaCBwYXNzYWJlbCB1bmQgbWl0IGV0d2FzIEhpbGZlIHZvbgoiR3Jvc3NlbiIgd2FyIGRhcyBhdWNoIGR1cmNoYXVzIGd1dCBtYWNoYmFyLCBhbGxlcmRpbmdzIGZlaGx0ZSBtaXIgYW0gQW5mYW5nCmRpZSBlcnN0ZW4gcGFhciBTdHVuZGVuIHppZW1saWNoIGRlciBVZWJlcmJsaWNrLgpBYmVyIHZpZWxsZWljaHQgaGFiZSBpY2ggYXVjaCBlaW5mYWNoIHp1dmllbCBaZWl0IDopCgpTcHJhY2ggZGVyIEtudXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTYWQgYnV0IHRydWUgKFNjaG9rbywgIDIuIEF1ZyAxOTk3LCAwMDoxMTo0OCk6Cn4jISBybj1TZW1pcmEgcnQ9ODcwNDUzMjY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwNDMyNDE2CgpIbW0gYWxsZXJkaW5ncyBtdXNzdCBEdSB6dWdlYmVuLCBkYXNzIER1IHdlbmlnZXIgenUgZGVuIExldXRlbiBnZWhvZXJzdCBkaWUgaW0KbXVkIF9zcGllbGVuXywgc29uZGVyIHZpZWxtZWhyIHp1IGRlbmVuLCBkaWUgbWVyIG9kZXIgd2VuaWdlciBkZXIgTGV1dGUgdW5kCmRlciBLb21tdW5pa2F0aW9uIHdlZ2VuIGhpZXIgc2luZC4gRGFmdWVyIGVpZ25lbiBzaWNoIG5hdHVlcmxpY2ggZ2VyYWRlIGtsZWluZQpNdWRzIGRlciAiZmFtaWxpYWVyZW4iIEF0bW9zcGhhZXJlIHdlZ2VuIGJlc29uZGVycyBndXQuIFVuZCBkYWJlaSBpc3QgZGVyClVudGVyc2NoaWVkIHp3aXNjaGVuIE1hZ2llciB1bmQgU3BpZWxlciB2b2VsbGlnIHVuaW50ZXJlc3NhbnQuCgpTY2hva28gKHNlbGJlciAibGFiZXIiLU1hZ2llciB3b2FuZGVycykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNhZCBidXQgdHJ1ZSAoTHVnLCAgMi4gQXVnIDE5OTcsIDAzOjIyOjQ2KToKfiMhIHJuPVNjaG9rbyBydD04NzA0NzM1MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA0MzI0MTYKVGphZSwKCmZ1ZXIgTmFjaHRtZW5zY2hlbiBnaWJ0IGVzIGVpbmZhY2ggd2VuaWcgQWx0ZXJuYXRpdmVuLCBlcyBzZWkgZGVubiBtYW4gbXVkZGV0Cmdlcm5lIGFsbGVpbmUuCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjJ0aWVzIHNhaG5lbiBhYiAoU2tpcHBlciwgIDIuIEF1ZyAxOTk3LCAxMDo1NzoyNik6CkhpLAoKaW4gbGV0enRlciBaZWl0IHN0ZWhlbiB2ZXJzdGFlcmt0IDJ0aWVzIHVuZCBtYWdpZXItMnRpZXMgdWViZXIgc3R1bmRlbgp1bmQgdGFnZSBhbiB3aWNodGlnZW4gc3RlbGxlbiBpbSBtdWQgcnVtIHVuZCBoYXVlbiBkaWUgbnBjJ3MgcGxhdHQsIHNvYmFsZCBzaWUKYXVmdGF1Y2hlbiAoS2xpdHplbGRyb20sIFNjaGxhbW1kcmFjaGVuLCBLYXJhdGVvcmsgZXRjKS4gRXMgd2FlcmUgbmV0dCwKZGFzcyBldHdhcyBlaW56dXNjaHJhZW5rZW4uIFNvIHdpZSBkYXNzIGpldHp0IHRlaWx3ZWlzZSBsYWV1ZnQgaXNzZXMgd2lyay0gCmxpY2ggbmljaHQgZmFpci4KClNraXBwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhc3N3b3J0IHZlcmdlc3NlbiAoWmFwaG9iLCAgMi4gQXVnIDE5OTcsIDE4OjE5OjM4KToKSGFsbG8gYWxsZSBTZWhlciBvZGVyIE1hZ2llciBvZGVyIGFuZGVyZSwgZGllIGhlbGZlbiBrb2VubmVuIQoKTWVpbiBQcm9ibGVtIGxhZXNzdCBzaWNoIGxlaWNodCBhdXMgZGVyIHVlYmVyc2NocmlmdCBlcmtlbm5lbi4KSWNoIGhhYmUgbWVocmVyZSBad2VpdGllcyAoZ2VuYXUgMikgZ2VoYWJ0IHVuZCB2b24gYmVpZGVuIGRpZSBQYXNzd29lcnRlcgp2ZXJnZXNzZW4uIERhcyB3YXIgc28gQW5mYW5nIE1haS4gRGllIE5hbWVuIGxhdXRlbiBaYXBoaWIgdW5kIFphcGhhYi4gClVtIG5pY2h0IGFsbGVpbmUgZHVyY2ggZGllIFdlbHQgenUgemllaGVuIGhhYmUgaWNoIG1pciBpbiBkZXIgendpc2NoZW56ZWl0IGVpbgozLiB6d2VpdGllIG5hbWVucyBaYXBob2JpbGkgZ2VzY2hhZmZlbi4KCkRhcyB3YWVyIGphIGFsbGVzIHNjaG9lbiB1bmQgZ3V0IGJsb3NzIHdhZXIgZXMgc2Nob2VuIHdlbm4gbWlyIGlyZ2VuZHdlciBkaWUKcGFzc3dvZXJ0ZXIgZnVlciBkaWUgYmVpZGVuIGFuZGVyZW4gZ2ViZW4ga29lbm50ZSwgZGFtaXQgaWNoIHNpZSB6dW1pbmRlc3RlbnMKbG9lc2NoZW4ga2Fubi4KCkluIEhvZmZudW5nIGF1ZiBlaW5lIGJhbGRpZ2UgTG9lc3VuZywKICAgICBaYXBob2IgKGhldXRlIG1hbCBzZW50aW1lbnRhbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhcmtlIHVuZCBGYXNzIGtvbW1lbiBuaWNodCBtZWhyIChaYXBob2IsICAyLiBBdWcgMTk5NywgMTg6MzI6MzkpOgpIYWxsbyBtYWwgd2llZGVyIDopCgpEaWUgQmFya2UgdW5kIGRhcyBGYXNzIGxlZ2VuIG5pY2h0IG1laHIgYW0gdmVybG9yZW5lbSBMYW5kIGFuLiBEYXMKUGlyYXRlbnNjaGlmZiBzY2hvbi4KSWNoIG11c3MgenVyIEdpbGRlIFdhY2hlIHNjaGllYmVuLCBuYWNoIFBWIGJpbiBpY2ggZHVyY2ggZGVuIFRvZCBnZWtvbW1lbi4KYXVmIG1ydWZlIHJlYWdpZXJ0IG5pZW1hbmQuIEljaCB3ZWlzcyBuaWNodCB3YXMgaWNoIG1hY2hlbiBzb2xsLCBlaW4KWmVpdHVuZ3NhcnRpa2VsIGlzdCBtZWluZSBsZXR6dGUgSG9mZm51bmcuCgpEYW5rZSBpbSB2b3JhdXMgOi0vCgpaYXBob2IgKGdsYXVidCBuaWNodCwgZGFzcyBlciBoZXV0ZSBub2NobWFsIGluIGRpZSBHaWxkZSBrb21tZW4gd2lyZC4uLjooICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFJRFMhISBIYXZlIFdlIEJlZW4gTWlzbGVhZD8/IChHdW5kdXIsICAyLiBBdWcgMTk5NywgMjA6MDE6MjIpOgp+IyEgb249WWFudHJvIG90PTg3MDQ1MDg2OSBvZz1zY2htYXJybgp+IyEgb249R2FyZmllbGQgb3Q9ODcwNDQ4NTQ2IG9nPWFsbGdlbWVpbmVzCgoiTmljaHQgZGFzIFZpcnVzLCBzb25kZXJuIGRpZSBEaWFnbm9zZSB0b2V0ZXQhIgoKQVpUL1JldHJvdmlyIChhbHMgIk1lZGlrYW1lbnQiIGdlZ2VuIEFJRFMgZWluZ2VzZXR6dCkgaXN0IG5pY2h0cyBhbHMgCgogICAgICAgIGVpbiBaRUxMR0lGVCEhIQoKRXMgdG9ldGV0IFplbGxlbiBhYiwgdW5kIHp3YXIgYWxsZS4gTWVuc2NoZW4sIGRpZSBhbHMgSElWLXBvc2l0aXYKYWJnZXN0ZW1wZWx0IHd1cmRlbiwgbmVobWVuIGRpZXNlcyBNZWRpa2FtZW50IHVuZCBzdGVyYmVuIG5hY2gKbWF4aW1hbCAzIEphaHJlbiBhbiBkaWVzZW0gR2lmdC4KCk5hZWhlcmUgSW5mb3JtYXRpb25lbiBiYWxkIGF1ZiBtZWluZXIgSG9tZXBhZ2UsIGJpcyBkYWhpbiB1bnRlcgoKaHR0cDovLzIwNy44OC4xNjMuMjAgICAKCkRhcyBpc3QgZGllIFNlaXRlIHZvbiBQcm9mLiBEci4gUGV0ZXIgSC4gRHVlc2JlcmcsCkRlcGFydG1lbnQgb2YgTW9sZWN1bGFyICYgQ2VsbCBCaW9sb2d5ClVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSBCZXJrZWxleQoKRXIgdW5kIGFuZGVyZSBXaXNzZW5zY2hhZnRsZXIgYmVzY2hyZWliZW4gYXVmIGRpZXNlbiBTZWl0ZW4sIHdpZQpkaWUgQUlEUy1ISVYtSHlwb3RoZXNlIHp1IHdpZGVybGVnZW4gaXN0LgoKRGEgYmxlaWJ0IGVpbmVtIGRpZSBTcHVja2Ugd2VnLCBlaHJsaWNoIQpNdWVzc3QgSWhyIGxlc2VuIQoKR3J1c3Mgdm9uCkdhcmZpZWxkCioqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoTHVnLCAgMi4gQXVnIDE5OTcsIDIyOjQyOjQ1KToKfiMhIHJuPUd1bmR1ciBydD04NzA1NDQ4ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA1NDQ4ODIKCkRhIGVpbiBVRk8hCgpFcyBpc3QgamEgbmljaHQgd2VnenViZWtvbW1lbi4gU29sbHRlIGVpbmVyIGRpZXNlbiB1bnZlcmFudHdvcnRsaWNoZW4gTXVlbGwgaW4KaXJnZW5kZWluZXIgRm9ybSB3aXJrbGljaCBlcm5zdG5laG1lbiwgc28gc29sbHRlIGRpZXNlL3IgZXJzdG1hbCBiZWkgc2VpbmVuCm5hZWNoc3RlbiBBSURTaGlsZmUgdm9yYmVpc2VoZW4gdW5kIG5hY2hmcmFnZW4uIFdhcyBGcmFldWxlaW4gR2FyZmllbGQgaGllcgptaXQgRnJldW5kZXMgSGlsZmUgdHJlaWJ0LCBoYWx0ZSBpY2ggenVtaW5kZXN0IGZ1ZXIgcmVpY2hsaWNoCnZlcmFudHdvcnR1bmdzbG9zLiBNZWluZSBwZXJzb2VubGljaGUgTWVpbnVuZyBkYXp1OiBNYW4gbXVzcyByZWljaGxpY2gKYmVrbmFja3Qgc2VpbiBzb3dhcyB6dSBwb3N0ZS4gQnVoIGRhcyBpc3QgamEgZWluZSBGbGFtZS4gQWxzbyBpY2ggaGFsdGUgRmxhbWVzCmZ1ZXIgaGFybWxvcywgaW0gVmVyZ2xlaWNoIHp1IGRlbSB3YXMgR2FyZmllbGQgaGllciB0cmVpYnQuIEFJRFMgaXN0IGtlaW4KU2NoZXJ6LCB1bmQgc293YXMgZm9yZGVydCBqYSBnZXJhZGV6dSB6dSB2ZXJhbnR3b3J0dW5nc2xvc2VtIEhhbmRlbG4gaGVyYXVzLiAKCkFFVFpFTkQhCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoQ3JvbGxhLCAgMy4gQXVnIDE5OTcsIDA2OjQyOjMyKToKfiMhIHJuPUx1ZyBydD04NzA1NTQ1NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA1NDQ4ODIKQXVjaCBpY2ggaGFsdGUgRHVlc2JlcmdzIE1laW51bmcgZnVlciBnZWZhZWhybGljaCwgd2VpbCBlcyBpbW1lciBtZWhyIExldXRlCmdpYnQsIGRpZSBpaG0gZ2xhdWJlbi4gRXMgaXN0IHNlaXQgbGFuZ2VtIGJla2FubnQsIGRhc3MgQVpUIE5lYmVud2lya3VuZ2VuIGhhdAp1bmQgZGFzcyBhYmdld29nZW4gd2VyZGVuIG11c3MsIG9iIHVuZCB3YW5uIG1pdCBlaW5lciBCZWhhbmRsdW5nIGJlZ29ubmVuCndlcmRlbiBzb2xsLiBEdWVzYmVyZyBnZWh0IHNvIHdlaXQgenUgYmVoYXVwdGVuLCBkYXNzIGVzIEFJRFMgdWViZXJoYXVwdCBuaWNodApnaWJ0LCBzb25kZXJuIGRhc3Mgc28gdmllbGUgU2Nod3VsZSBkdXJjaCBpaHJlbiAiTGViZW5zd2FuZGVsIiBrcmFuayB3ZXJkZW4sCmRhcyBkYW5uIGFscyBBSURTIGRpYWdub3N0aXppZXJ0IHdpcmQsIHVuZCBkYW5uIGRpZSBMZXV0ZSBhbiBBWlQgc3RlcmJlbiEgSWNoCmhhbHRlIGRhcyBmdWVyIHZlcmFudHdvcnR1bmdzbG9zLCBkZW5uIHdlciBhbiBkaWVzZW4gU2Nod2FjaHNpbm4gd2lya2xpY2gKZ2xhdWJ0LCBrYW5uIGtlaW5lbiBTaW5uIGluIFByYWV2ZW50aW9uc21hc3NuYWhtZW4gc2VoZW4uIFZpZWxlIEhJVi1Qb3NpdGl2ZQpmaW5kZW4gZXMgZWluZmFjaGVyLCBkaWVzIHp1IGdsYXViZW4sIGFscyBzaWNoIGRlciBSZWFsaXRhZXQgenUgc3RlbGxlbiB1bmQKU2FmZXIgU2V4IHp1IGJldHJlaWJlbi4gTWl0dGxlcndlaWxlIGdpYnQgZXMgZWluZSBicmVpdGUgQW5oYWVuZ2Vyc2NoYWZ0CkR1ZXNiZXJncywgZ2VtaXNjaHQgYXVzIEhJVi1Qb3NpdGl2ZW4gdW5kIE1vcmFsYXBvc3RlbG4sIGRpZSBhbiBkaWUKU2Nod3VsZW5zZXVjaGUgZ2xhdWJlbiwgZnVlciBkaWUgQmV0cm9mZmVuZSBzZWxic3QgdmVyYW50d29ydGxpY2ggc2VpbiBzb2xsZW4sCndlaWwgc2llIHp1IHZpZWwgRHJvZ2VuIG5laG1lbiwgbmFjaHRzIHp1IGxhbmdlIGF1ZiBQYXJ0aWVzIGdlaGVuIHVuZCBzaWNoIGJlaQpoYWV1ZmlnIHdlY2hzZWxuZGVuIFNleHVhbHBhcnRuZXJuIGRhdWVybmQgR2VzY2hsZWNodHNrcmFua2hlaXRlbiBlaW5oYW5kZWxuLgoKQWxzbyB3ZW5uIElociB3b2xsdCwgbGVzdCBkaWVzZW4gTXVlbGwsIGFiZXIgZGVua3QgZGFiZWkgYml0dGUgYXVjaCBuYWNoLApiZXZvciBJaHIgaXJnZW5kd2FzIGdsYXVidCwgd2VpbHMgZWluIFByb2Zlc3NvciBnZXNjaHJpZWJlbiBoYXQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2FkIGJ1dCB0cnVlIChRdWlsbGlhbiwgIDMuIEF1ZyAxOTk3LCAxMTozNzoyNSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg3MDQzMjQxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDQzMjQxNgpNZWluIEdvdHQuIEVyemFlaGxzdCBEdSB1bnMgZGFzIGpldHp0IG5pY2h0IHNjaG9uIHp1bSAxMDBzdGVuIE1hbD8KRnJ1ZWhlciB3YXJzdCBEdSBhdWNoIG1hbCBiZXNzZXIgT2UqCgpRdWlsbGlhbiwgZ2VsYW5nd2VpbHQgLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoUGFtcGVycywgIDMuIEF1ZyAxOTk3LCAxMjoyOTo0OSk6Cn4jISBybj1HdW5kdXIgcnQ9ODcwNTQ0ODgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwNTQ0ODgyCk11c3N0ZSBkYXMgc2VpbiwgR3VuZHVyPwpNdWVzc2VuIHdpciBkaWVzZW4gdmVybG9nZW5lbiBNdWVsbCB0YXRzYWVjaGxpY2ggbm9jaG1hbCBlcnRyYWdlbj8KClBhbXBlcnMuIEFyZ2wuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFJRFMhISBIYXZlIFdlIEJlZW4gTWlzbGVhZD8/IChHdW5kdXIsICAzLiBBdWcgMTk5NywgMTM6MDg6NTYpOgp+IyEgcm49THVnIHJ0PTg3MDU1NDU2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgpIaQpBTHNvIEdhcmZpZWxkIGhhdHRlIE5JRSAoaW4gV09ydGVuIE5JRSkgdm9yIEFJRFMgaW4gaXJnZW5kZWluZXIgV2Vpc2UgenUKdmVyaGFybWxvc2VuLi4KRGllIGVpbnppZ3N0ZSBJbnRlbnRpb24gZnVlciBkYXMgUG9zdGluZyBkZXMgQXJ0aWtlbHMgd2FyIHp1bSBOYWNoZGVua2VuIHVzdwphbnp1cmVnZW4uLgpGYWt0IGlzdCBudW5tYWwgZGFzIGVzIHZlcnNjaGllZGVuZSBNZWludW5nZW4genUgZGVtIFRoZW1hIGdpYnQgdW5kIGRhcyBtYW4KZGllIE1vZWdsaWNoa2VpdCBoYXQgenUgRGlza3V0aWVyZW4uLgpEdSAoTHVnKSBzY2hlaW5zdCBqYSB1ZWJyaGF1cHQgenUgYWxsZW0gdW5kIGplZGVtIGVpbmUgTWVpbnVuZyB6dSBoYWJlbiB1bmQKTUVJTkVSIE1laW51bmcgbmFjaCBpc3QgZGFzIHdhcyBkdSBkaWUgZ2FuemUgWmVpdCBpbiBkZXIgTVBBIHZlcnphcGZ0c3QgenUgOTklClNjaHdhY2hzaW5uIHVuZCBVbnNpbm4gdW5kIChzdWNoIGRpciBlaW4gV29ydCBhdXMpCkplZGVyIGthbm4gc2ljaCBkb2NoIHNjaGxpZXNzbGljaCBzZWluZSBlaWdlbmUgTWVpbnVuZyBtYWNoZW4gdW5kIHNlbGJzdApuYWNobGVzZW4gb2IgZXIgU2FjaGVuIGdsYXVidCBvZGVyIG5pY2h0Li5uaWNodCB3YWhyPwpTb3ZpZWwgZXJzbWEKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoR3VuZHVyLCAgMy4gQXVnIDE5OTcsIDEzOjEwOjM4KToKfiMhIHJuPUNyb2xsYSBydD04NzA1ODMzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA1NDQ4ODIKRGVuIEFydGlrZWwgdm9uIENyb2xsYSBmaW5kIGljaCBnZW5hdSBvayEKU293YXMgaGVpc3N0IERpc2t1dGllcmVuIQpOaWNodCBlaW5mYWNoIEFydGlrZWwgdG90c2NocmVpZW4gb2RlciB2ZXJsZWdlbiBvZGVyIHNvbnN0d2FzIHNvbmRlcm4gZHJhdWYKYW50d29ydGVuLi4KRGFzIGlzdCBuYWVtbGljaCBzY2h3aWVyaWdlci4uZGEgbXVzcyBtYW4gbmFlbWxpY2ggbmFjaGRlbmtlbiA6LSkKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBTElFTiBCQVNFUyBPTiBFQVJUSCEgKFBhbXBlcnMsICAzLiBBdWcgMTk5NywgMTM6MjQ6MzYpOgpEaWUgQWxpZW5zIHNpbmQgZ2VsYW5kZXQhCldhcyB3aXIgYWxsZSBzY2hvbiBpbW1lciB2ZXJtdXRldCBoYWJlbiwgd2FzIHdpciBzY2hvbiBpbW1lciB3aXNzZW4gd29sbHRlbiwKZXMgaXN0IHdhaHI6CgpESUUgQUxJRU5TIFNJTkQgR0VMQU5ERVQhCgpVbmQsIHZpZWwgYmVzc2VyIG5vY2g6IEljaCBrYW5uIEV1Y2ggdmVycmF0ZW4sIHdvLiBFaW5lIGRldGFpbGxpZXJ0ZQpCRXNjaHJlaWJ1bmcgaWhyZXIgQmFzZW4gZmluZGV0IG1hbiB1bnRlcjoKCmh0dHA6Ly93d3cuaW50ZXJuZXQuY29tLm14L3NwZWNpYWwvYmFzZXMvCgp1bmQgYmFsZCBhdWNoIGF1ZiBtZWluZXIgSG9tZXBhZ2UuCgpFcnNjaHJlY2tlbmQsIG5pY2h0IHdhaHI/CgpQYW1wZXJzLiBTY2hvY2tpZXJ0LgoKUC5TLjogRnVlciBBY3JpbW9uOiBJUk9OSUUgT0ZGLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQUlEUyEhIEhhdmUgV2UgQmVlbiBNaXNsZWFkPz8gKFNjaGxpcHMsICAzLiBBdWcgMTk5NywgMTM6MzI6NTcpOgp+IyEgcm49R3VuZHVyIHJ0PTg3MDYwNjUzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgpBbHNvLCBpY2ggaGFiIG1pciBkaWUgU2VpdGVuIG5pY2h0IGFuZ2VndWNrdCAtIGljaCBhbnR3b3J0ZSBqZXR6dCBtYWwgYXVmCmRhcyB3YXMgaWNoIGF1cyBkZW4gQXJ0aWtlbG4gaGllciBlbnRub21tZW4gaGFiLgoKMS4gV2FzIEhlcnIgRHVlc2JlcmcgYmVoYXVwdGV0IChpY2ggd3Vzc3RlIGdhciBuZXQsIGRhc3MgZGVyIG5vY2ggZXhpc3RpZXJ0KQppc3QgdS5hLiBkYXNzIEhJViBuZXQgQUlEUyB2ZXJ1cnNhY2h0LiBEYXp1IG11c3MgbWFuIHNhZ2VuOiBobW0gLSBkaWUKVXJzYWNoZSB2b24gQUlEUyBpc3QgdGF0c2FlY2hsaWNoIG5vY2ggbmV0IGdlZnVuZGVuLCBhYmVyIGVzIGdpYnQgZ2FuegplaW5kZXV0aWdlIGVwaWRlbWlvbG9naXNjaGUgSGlud2Vpc2UgZGFyYXVmLCBkYXNzIEhJViB1bmQgQUlEUyBrYXVzYWwKenVzYW1tZW5oYWVuZ2VuLiBBdXNzZXJkZW0ga2FubiBtYW4gaW4gQWZmZW4gbWl0IHZlcndhbmR0ZW4KJ0FmZmVuLUFJRFMtVmlyZW4nIChTSVYpIGVpbmUgQUlEUy1hZWhubGljaGUgRXJrcmFua3VuZyBhdXNsb2VzZW4uIFdhcyBpbgpkZXIgVGF0IG5vY2ggbmljaHQgZ2V6ZWlndCB3dXJkZSAobWVpbmVzIFdpc3NlbnMgenVtaW5kZXN0KSBpc3QgZWluCmtsYXJlciBOYWNod2VpcyBkZXIgc29nZW5hbm50ZW4gS29jaHNjaGVuIFBvc3R1bGF0ZSwgZGggZGllIFVlYnJ0cmFndW5nCnZvbiBBSURTIGR1cmNoIGVpbiBISVYtVmlydXMgYXVmIGVpbmVuIGdlc3VuZGVuIE1lbnNjaGVuICh1bnRlcgp3aXNzZW5zY2hhZnRsaWNoZW4gQmVkaW5ndW5nZW4sIHNjaHJlaWIgaWNoIGpldHp0IG1hbCkgLSBhYmVyIGRhcwp2ZXJiaWV0ZXQgc2ljaCBqYSB3b2hsIGF1cyBldGhpc2NoZW4gR3J1ZW5kZW4gOykKRGFzIGlzdCBhYmVyIGVpbiBhbGxnZW1laW5lcyBQcm9ibGVtIGluIGRlciBNZWRpemluLCBkYXNzIG1hbiBiZXN0aW1tdGUKYWxsZXMga2xhZXJlbmRlIEV4cGVyaW1lbnRlIHUuIFUgbmljaHQgZHVyY2hmdWVocmVuIGthbm4gKGF1cyBldGhpc2NoZW4KR3J1ZW5kZW4pLiBEYSBtdWVzc2VuIGRhbm4gaGFsdCBtZWhyZXJlLCBzY2h3YWVjaGVyZSBBcmd1bWVudGUgYmVtdWVodAp3ZXJkZW4sIGRpZSBoYWx0IGF1Y2ggYW5ncmVpZmJhciBzaW5kLgoKMi4gWnUgZGVyIEFaVC1HZXNjaGljaHRlOiBlcyBpc3Qgc2Nob24gc2VpdCBFaW5mdWVocnVuZyB2b24gQVpUIGJla2FubnQsCmRhc3MgQVpUIFplbGxlbiBzY2hhZWRpZ3Q7IGRhcyBsaWVndCBlaW5mYWNoIGltIFdpcmttZWNoYW5pc211cyBiZWdydWVuZGV0LgpFcyBpc3QgZGVuIE1lZGl6aW5lcm4gYXVjaCBzZWhyIHdvaGwgYmVrYW5udCwgZGFzcyBlcyB6dSBlaW5lciBVZWJlcnRoZXJhcGllCmtvbW1lbiBrYW5uIC0gc3ByaWNoLCBkYXNzIGRlciBQYXRpZW50IGxldHp0bGljaCBhbiBBWlQgdW5kIG5ldCBhbiBBSURTCnN0YXJiLiBEZXNoYWxiIHd1cmRlIGluIGRlbiBsZXR6dGVuIEphaHJlbiBhdWNoIHZlcnN1Y2h0IGRpZSBEb3NpZXJ1bmcKdm9uIEFaVCB6dSBvcHRpbWllcmVuLiBVbmQgbWFsIGRhdm9uIGFiZXNlaGVuIC0gd2VubiBpY2ggZGFzIHJpY2h0aWcgCm1pdGdla3JpZWd0IGhhYmUgZ2VodCBkZXIgVHJlbmQgZ2VnZW53YWVydGlnIGphIGVpbmRldXRpZyB3ZWcgdm9uIGVpbmVyCnJlaW5lbiBBWlQtVGhlcmFwaWUgaGluIHp1IGVpbmVyIEtvbWJpbmF0aW9uc3RoZXJhcGllIG1pdCAyIG9kZXIgMwp2ZXJzY2hpZWRlbmVuIE1pdHRlbG4gKGF1Y2ggdW0gUmVzaXN0ZW56ZW4gdm9yenViZXVnZW4pLgoKSW5zb2Zlcm4gaXN0IGRhcyB3YXMgRHVlc2JlcmcgZGEgd29obCBhdWYgc2VpbmVuIFdlYi1TZWl0ZW4gdmVyYnJlaXRldApuaXggbmV1ZXM7IGVzIGlzdCBudXIgcmVpc2VyaXNjaCBhdWZnZW1hY2h0LiBVbmQgbmFjaCBhbGxlbiBIaW9ic2JvdHNjaGFmdGVuCmltIGxldHp0ZW4gSmFocnplaG50LCBkZW5rZSBpY2ggc2NoYWRldCBlcyBlaW5lciBlbnJuc3RoYWZ0ZW4gRGlza3Vzc2lvbgp1bSBBSURTLCBBSURTLVRoZXJhcGllIGV0YyBudXIsIHdlbm4gTGV1dGUgYW4gZGllIG9lZmZlbnRsaWNoa2VpdCB0cmV0ZW4KdW5kIGdhbnogcGF1c2NoYWwgcnVtcG9zYXVuZW46IGVzIHdhZXJlIGphIGFsbGVzIGdhbnogYW5kZXJzLgpEaWUgbGV0enRsaWNoZSBVcnNhY2hlIChkZXIgTWVjaGFuaXNtdXMsIHdpZSBBSURTIGVudHN0ZWh0LCB1bmQgZGllIGdlbmF1ZQpSb2xsZSB2b24gSElWIGRhYmVpKSBpc3Qgbm9jaCBuaWNodCBnZWZ1bmRlbiAtIHVuZCBkYXMgd2lyZCBhdWNoIGluIGRlbgpGYWNoemVpdHNjaHJpZnRlbiBzZWhyIGtvbnRyb3ZlcnMgZGlza3V0aWVydC4gQWJlciBlaW5lIExvZXN1bmcgaGF0IGF1Y2gKRHVlc2JlcmcgbmljaHQgLi4uCgpTbyBpY2ggZGVua2UgZGFzIHJlaWNodCBlcnN0IG1hbDsgaWNoIGthbm4gbWljaCBqYSBtYWwgYmVpIEtvbGxlZ2VuCm5vY2ggZ2VuYXVlciBrdW5kaWcgbWFjaGVuLCBmYWxscyBzaWNoIGplbWFuZCBkYWZ1ZXIgaW50ZXJlc3NpZXJ0CgpTY2hsaXBzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoQ3JvbGxhLCAgMy4gQXVnIDE5OTcsIDE5OjI2OjEzKToKfiMhIHJuPVNjaGxpcHMgcnQ9ODcwNjA3OTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwNTQ0ODgyClNvLCBqZXR6dCBoYWJlIGljaCBkaWUgZW50c3ByZWNoZW5kZW4gQXJ0aWtlbCBpbSBXZWIgZ2VmdW5kZW4uCgpEaWUgYmVzdGUgQXVzd2FobCAobWVpbmVyIE1laW51bmcgbmFjaCkgYmlldGV0Cmh0dHA6Ly9saWJyYXJ5LmpyaS5vcmcvbGlicmFyeS9naGluZGV4Lmh0bWwKVm9uIGRhIGF1cyBlaW5mYWNoICJkdWVzYmVyZyIgaW4gZGVuIFNlYXJjaCBFbmdpbmUgZWluZ2ViZW4sIHVuZCBlcyBnaWJ0IGVpbmUKZ3Jvc3NlIEF1c3dhaGwgYW4gaW50ZXJlc3NhbnRlbiBBcnRpa2Vsbi4gQW0gYmVzdGVuIGhhdCBtaXIgZGF2b24gZ2VmYWxsZW46Cmh0dHA6L2xpYnJhcnkuanJpLm9yZy9saWJyYXJ5L25ld3Mvc2NpbWVkL1NjaU1lZDAwMTI2Lmh0bWwKKGlzdCBhbGxlcmRpbmdzIHppZW1saWNoIGxhbmcsIGRhaGVyIGVtcGZpZWhsdCBlcyBzaWNoLCBwZXIgU2VhcmNoIGRpZQppbnRlcmVzc2FudGVuIFNhY2hlbiByYXVzenVmaWx0ZXJuLCB3ZW5uIG1hbiBudXIgbWFsIGt1cnogcXVlcmxlc2VuIG1vZWNodGUpLgoKSWNoIGhvZmZlLCBkaWVzZSBBcnRpa2VsIHVlYmVyemV1Z2VuIEV1Y2gsIHdhcyBmdWVyIGVpbiBRdWF0c2NoIER1ZXNiZXJncwpUaGVyb3JpZSBpc3QgOikKCkNyb2xsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhZCBidXQgdHJ1ZSAoQWxib2luLCAgNC4gQXVnIDE5OTcsIDEzOjI3OjQ0KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODcwNDMyNDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwNDMyNDE2CkpvIHVuZCBpY2ggbW9lY2h0ZSBkYXp1IGF1Y2ggd2FzIHNhZ2VuOgppY2ggZmluZGUgZnJ1ZWhlciB3YXIgYXVjaCBhbGxlcyBiZXNzZXI6IGRhIGdhYnMgZWluZW4gT2V0dGkgZGVyIG1pdCBHdXlicnVzaAphdWYgZGVuIEthbmFlbGVuIGZ1ZXIgVW50ZXJoYWx0dW5nIHNvcmd0ZS4gSW1tZXIgZ2FueiBzdWVzcyBzZWluIEZydWVobGluZwpkdXJjaCBkaWUgR2VnZW5kIHJpZWYgdW5kIGVpbmVtIHNvIGJhbGQgZXIgaW4gZGVuIFJhdW0ga2FtIGRpZSBLbGFtb3R0ZW4gdm9tCkxlaWJlIHJpc3MuIEplZGVuZmFsbHMgdmVybWlzcyBpY2ggZGFzIGdhbnplIHNlaHIsIHVuZCBmcmFnZSBtaWNoIGxhc3QgYnV0IG5vdApsZWFzdCBvYiBzaWNoIG5pY2h0IGVoZXIgZGllIExldXRlIGFscyBkYXMgTXVkIHNlbGJlciB2ZXJhZW5kZXJ0IGhhYmVuLiAgKG51cgpuZSBrbGVpbmUgVmVybXV0dW5nIGhhbHQpCgpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2FkIGJ1dCB0cnVlIChIYXRlLCAgNC4gQXVnIDE5OTcsIDEzOjQzOjIwKToKfiMhIHJuPUFsYm9pbiBydD04NzA2OTQwNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzA0MzI0MTYKQWxib2luOiBFcyBnaWJ0IGF1Y2ggTGV1dGUgZGllIGluIGRlbiBTZW1lc3RlcmZlcmllbiBpbiBVcmxhdWIgZmFocmVuIDotKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFJRFMhISBIYXZlIFdlIEJlZW4gTWlzbGVhZD8/IChRdWFzaW1vZG8sICA0LiBBdWcgMTk5NywgMTY6NDE6MjEpOgp+IyEgcm49Q3JvbGxhIHJ0PTg3MDYyOTE3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgpJc3QgZGllc2VyIER1ZXNlbnRyaWViIG5pY2h0IGF1Y2ggbm9jaCBOb2JlbHByZWlzdHJhZWdlcj8hPz8KClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTYWQgYnV0IHRydWUgKEZ5dCwgIDQuIEF1ZyAxOTk3LCAxOTozODozOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODcwNDUyMjg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcwNDMyNDE2CgpJY2ggd2Vpc3MgbmljaHQsIHdhcnVtIGFuZGVyZSwgZGllIGluIGVpbmVtIEtsZWlubXVkIE1hZ2llciBzaW5kLCBoaWVyIG5vY2gKU3BpZWxlciBzaW5kLCBhYmVyIGljaCB3ZWlzcywgd2FydW0gaWNoIGVzIGJpbi4gVW5kIHp3YXIgaGF0IG1hbiBtaXQgZGVyClByb2dyYW1taWVyZWkgZnVlciBlaW4gTXVkIGVpZ2VudGxpY2ggZ2VudWcgenUgdHVuLCB1bSBzaWNoIGRpZSBIb2VybmVyCmluIGRlciBCZXppZWh1bmcgYWJ6dXN0b3NzZW4sIHVuZCB3ZW5uIGljaCBkaWUgV2FobCB6d2lzY2hlbiBkZXIgNTMuIFF1ZXN0CmluIGVpbmVtIE11ZCB1bmQgZGVyIDkuIGluIGVpbmVtIGFuZGVyZW4gaGFiZSwgbmVobWUgaWNoIHp1bWluZGVzdCBsaWViZXIKZGllIDkuLi4KCkRhcyBpY2ggaGllciAnU3BpZWxlcicgYmluLCBpc3QgZ2VuYXVzbyBpcnJlbGV2YW50IHdpZSBhbmRlcmVyIExldXRlCk1hZ2llcmRhc2VpbiwgaWNoIGxlc2UgaGllciBhdWNoIG51ciBaZWl0dW5nLi4uCgpGeXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQUlEUyEhIEhhdmUgV2UgQmVlbiBNaXNsZWFkPz8gKFNjaGxpcHMsICA0LiBBdWcgMTk5NywgMTk6NDQ6MzApOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg3MDcwNTY4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgpobW0sIGhhYiBsZWlkZXIgbmV0IGFsbGUgTWlja3kgTWF1cyBIZWZ0ZSB2ZXJmb2xndCB1bmQgd2Vpc3MgYWxzbyBuZXQgb2IgCkR1ZXNlbnRyaWViIE5vYmVscHJlaXN0cmFlZ2VyIHd1cmRlLi4uCkR1ZXNiZXJnIGlzdCBlcyBqZWRlbmZhbGxzIG5ldC4KClNjaGxpcHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoUmFmZmksICA0LiBBdWcgMTk5NywgMTk6NTc6MDMpOgp+IyEgcm49R3VuZHVyIHJ0PTg3MDYwNjUzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgpBY2ggamEgc3RpbW10LCBkaWUgQW5kZXJlbiBNZWludW5nZW4genUgZWluZW0gVGhlbWEgLi4uLiAKCkRhcyBlcmlubmVydCBtY2ggZGFyYW4gZGFzIHZvciBlaW5pZ2VuIEphaHJlbiBtYWwgZWluZXIgZ2FueiBnbGF1YmhhZnQgbmUKYW5kZXJlIG1laW51bmcgenVtIFRoZW1hIEdyYXZpdGF0aW9uIGhhdHRlIC4uLi4gYWxzbyBkYXMgQWVwZmVsIHJ1bnRlcmZhbGxlbgppc3QgZWlnZW50bGljaCBudXIgZWluIFp1ZmFsbC4gRGFzIGxhZXNzdCBzaWNoIHd1bmRlcnNjaG9lbiBhdWNoIGRhbWl0CmJiZXdlaXNlbiBkYXMgbmllIGVpbiBBcGZlbCAyIG1hbCBnZW5hdSBnbGVpY2ggZmFlbGx0IGluIGRlciBSZWFsZW4gd2VsdCwgdW5kCm51ciBkYXJ1bSBnZWh0cyBqYSAuLi4uLgoKZ2dydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBSURTISEgSGF2ZSBXZSBCZWVuIE1pc2xlYWQ/PyAoUXVhc2ltb2RvLCAgNS4gQXVnIDE5OTcsIDE0OjMwOjA4KToKfiMhIHJuPVJhZmZpIHJ0PTg3MDcxNzQyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MDU0NDg4MgouLi4gaXN0IGphIGF1Y2ggbmljaHQgamVkZXNtYWwgZGVyIGdsZWljaGUgQXBmZWwuLi4KClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb3JzY2hlcnB1bmt0ZSAoU3BlZWNoLCAgOC4gQXVnIDE5OTcsIDE1OjQyOjQ2KToKSGFsbG8gQWxsZXJzZWl0cywKCmljaCB3YXIgc2VpdCBsYWVuZ2VyZW0gbmljaHQgbWVociBpbSBNdWQsIHNlaXQgdWViZXIgZWluZW0gSmFoci4gSW4gZGVyClp3aXNjaGVuemVpdCBoYXQgc2ljaCBoaWVyIGVpbmlnZXMgZ2VhZW5kZXJ0LCB6Qi4gZGFzIFpULVN5c3RlbSB1bmQKZGllIFN0dWZlbmJld2VydHVuZ2VuLiBJY2gga2VubmUgbWljaCBudW4gaW0gTUcgJ3NvIGd1dCB3aWUgZ2FyIG5pY2h0IGF1cycuCkFsbGVyZGluZ3MgYmluIGljaCBlaGVtYWxzIHNjaG9uIGVpbiB3ZW5pZyBydW1nZWtvbW1lbiwgaGFiIDE3IFF1ZXN0cwpnZWxvZXN0LiBNdXNzIGljaCBqZXR6dCBhbGxlIFF1ZXN0cyBub2NobWFsIGR1cmNobGF1ZmVuLCB1bSBkaWUgenVnZWhvZXJpZ2VuCkZvcnNjaGVycHVua3RlIHp1IGVyaGFsdGVuLCBvZGVyIHdpZSBpc3QgZGFzPyBEYXMgd3VlcmRlIGljaHogbmljaHQgZ2VyYWRlCm5ldHQgZmluZGVuLiBJc3QgZGEgdmllbGxlaWNodCAnbmUgUmVnZWx1bmcgZHJpbiwgZGFzcyBpY2ggZGllIEZvcnNjaGVyLQpwdW5rdGUgZWluZmFjaCBzbyBndXRnZXNjaHJpZWJlbiBiZWtvbW1lPwpTbyBsb25nLCBTcGVlY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9yc2NoZXJwdW5rdGUgKEFuYXRvbCwgIDguIEF1ZyAxOTk3LCAxNTo0NTozMyk6Cn4jISBybj1TcGVlY2ggcnQ9ODcxMDQ3NzY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcxMDQ3NzY2Ck1hbiBzdWNodGUgendhciBlaW5lIExvZXN1bmcsIGRpZSBmdWVyIGRpZSBTcGllbGVyLCBkaWUgZGllIFF1ZXN0cyB2b3IKRWluZnVlaHJ1bmcgZGVyIFN0dWZlbnB1bmt0ZSBsb2VzdGVuLCBlYmVuc28gZmFpciBpc3Qgd2llIGZ1ZXIgZGllLCBkaWUgZXMKbmljaHQgdGF0ZW4sIGZhbmQgYWJlciBsZWlkZXIga2VpbmUuIER1IHdpcnN0IERpciBkaWUgUXVlc3RzIG5vY2htYWwgYW5zY2hhdWVuCm11ZXNzZW4sIFNwZWVjaCA6LVwKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRm9yc2NoZXJwdW5rdGUgKEJvaW5nLCAgOC4gQXVnIDE5OTcsIDE1OjUzOjU3KToKfiMhIHJuPUFuYXRvbCBydD04NzEwNDc5MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzEwNDc3NjYKRHUga2FubnN0IERpciBhYmVyIGF1Y2ggZGllIG1laHIgYWxzIDMwIG5ldWVuIFF1ZXN0cyBhbnNjaGF1ZW4sIGRhIGJla29tbXN0CkR1IG1laHIgYWxzIGdlbnVnIFN0dWZlbnB1bmt0ZSBnYW56IG5lYmVuYmVpLiBXZW5uIER1IERBTk4gbmFjaCBkZW4gZXJzdGVuClBsYWV0emVuIGRlciBUb3BsaXN0ZSBzY2hpZWxzdCwgZGFubiB3aXJzdCBEdSB3b2hsIEFuYXRvbHMgUmF0IGJlZm9sZ2VuCm11ZXNzZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZvcnNjaGVycHVua3RlIChLZXksICA4LiBBdWcgMTk5NywgMTU6NTQ6NDApOgp+IyEgcm49Qm9pbmcgcnQ9ODcxMDQ4NDM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcxMDQ3NzY2CkFsc28gZnVlciBkaWUgZXJzdGVuIHBsYWV0emUgbXVzcyBlciBuZW4gYmlzc2VybCBtZWhyIHR1biBhbHMgUXVlc3RlbiA9OykKCmtleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRm9yc2NoZXJwdW5rdGUgKE1hbmdvLCAgOC4gQXVnIDE5OTcsIDE2OjA2OjAwKToKfiMhIHJuPUtleSBydD04NzEwNDg0ODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzEwNDc3NjYKS2V5IER1IEtydWVtZWxrYWNrZXIhCgpNYW5nbywgbmV1bm1hbGtsdWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvcnNjaGVycHVua3RlIChQaWxncmltLCAgOC4gQXVnIDE5OTcsIDIxOjE5OjIyKToKfiMhIHJuPVNwZWVjaCBydD04NzEwNDc3NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzEwNDc3NjYKSGksCgpmYWxscyBEdSB3aXNzZW4gd2lsbHN0IHdhcyBzaWNoIGltIE1HIHNvIGFsbGVzIGdldGFuIGhhdCwgc2VpdCBEdSBoaWVyIHdhcnN0LAplbXBmZWhsZSBpY2ggYXVjaCBkaWUgTUctRkFRIC4uLiBkYXMgc3RlaHQgZGFzIG1laXN0ZSBkcmluICgqaG9mZiBpY2gKenVtaW5kZXN0IDstKSAqKS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZvcnNjaGVycHVua3RlIChSYWZmaSwgIDguIEF1ZyAxOTk3LCAyMjoxMzo0NCk6Cn4jISBybj1LZXkgcnQ9ODcxMDQ4NDgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcxMDQ3NzY2Ck9lZnRlciBTdGVyYmVuID8KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGb3JzY2hlcnB1bmt0ZSAoS2V5LCAxMC4gQXVnIDE5OTcsIDAxOjQyOjU5KToKfiMhIHJuPVJhZmZpIHJ0PTg3MTA3MTIyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MTA0Nzc2NgpXZW5uIHN0ZXJiZW4gU3R1cHNlIGJyaW5nZW4gd3VlcmRlIC4uLi4uID07KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdXBmZWwgbWFjaHQgUGF1c2UuLi4gKEdhc3QxLCAxMC4gQXVnIDE5OTcsIDE4OjUyOjE1KToKLi4uZ2VuYXUgMTAwIFRhZ2UuIE1hbiBzaWVodCBzaWNoIGRhbm4gYW0gMTguTm92ZW1iZXIuIENpYW8hCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctRkFRIEludGVyaW1zLVJlbGVhc2UgVjIuMDIgKHR4dC9odG1sKSBlaW5nZXNwaWVsdCAoUGlsZ3JpbSwgMTEuIEF1ZyAxOTk3LCAxMjoxNToxMCk6CkhpLAoKc29lYmVuIGhhYiBpY2ggbmUgbmV1ZSBNRy1GQVEgZWluZ2VzcGllbHQsIGRpZSBkaWUgbWVpc3N0ZW4gZGVyIGluIGRlciBsZXR6dGVuClplaXQgZ2VtYWNodGVuIEFlbmRlcnVuZ2VuIGJlcmVpdHMgYmVydWVja3NpY2h0aWd0IQpXaWUgZGllIFVlYmVyc2NocmlmdCBzY2hvbiBzYWd0LCBoYW5kZWx0IGVzIHNpY2ggendhciBub2NoIHVtIGVpbgpJbnRlcmltcy1SZWxlYXNlLCBpc3QgYWJlciBzY2hvbiByZWNodCB2b2xsc3RhZW5kaWcgKFJldmlzb24gMikgLi4uIGFsc28sCndlciBkYXMgbm9jaCBuaWNodCBnYW56IG1pdCBkZW4gRVAsIEZQLCB1bmQgc29uc3RpZ2VuIFB1bmt0ZW4Kb2RlciBkZW4gWlQsIHVzdyB2ZXJzdGFuZGVuIGhhdCwgb2RlciBuZW4gVmVyemVpY2huaXMKYWxsZXIgTWFnaWVyIHN1Y2h0IG9kZXIgc29uc3R3YXMgLi4uIGthbm4gamEgbWFsIHJlaW5zY2hhdWVuIC4uLgpFbnR3ZWRlciBwZXIgV1dXIChkaWUgYmVzdGUgTWV0aG9kZSksIG9kZXIgcGVyIGZ0cCAodHh0LXZlcnNpb24pLCBvZGVyIHBlcgptYWlsICh0eHQtdmVyc2lvbikgYW4gZmFxQG1nIChpY2ggaG9mZmUsIGRhcyB0dXRzIG5vY2gpLCBvZGVyIGRpZSAKTUctVmVyc2lvbiB2b3JtIE9ya2xhZ2VyLgoKQWJlciBBY2h0dW5nISEhIERlciBUZXh0IGlzdCBpbnp3aXNjaGVuIDEwMEtiIChhZWhtLCBkYXMgc2luZCAyNDIyIFplaWxlbikgbGFuZywgCmRhcyBpc3QgZWlnZW50bGljaCBuaWNodCBtZWhyIG1pdHRlbHMgbW9yZSgpIHNpbm52b2xsIHp1IGxlc2VuIC4uLiAKYWxzbyBiZXNzZXIgV1dXLVZlcnNpb24gbmVobWVuIC4uLgoKUGlsZ3JpbQooZmFsbHMgS29ycmVrdHVyZW4vRXJnYWVuenVuZ2VuLy4uLiBiaXR0ZSBuZSBtYWlsIGFuIG1pY2ggKHBpbGdyaW1AbWcpKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpQUzogYWNoIG5vY2ggd2FzLCBkaWUgVFhULVZlcnNpb24gaXN0IChoYWxiLSlhdXRvbWF0aXNjaCBhdXMgZGVyIEhUTUwtVmVyc2lvbgpnZW5lcmllcnQgLi4uIGRhcmF1cyBmb2xndCB1LmEuLCBkYXMgbmljaHQgYWxsZSBaZWlsZW4gYXVmIDgwKDc4KSBaZWljaGVuCmZvcm1hcnRpZXJ0IHNpbmQgKGVpZ2VudGxpY2ggaXN0cyBnYXJuaWNodCBmb3JtYXJ0aWVydCA7LSkpIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmxvZWRlciBXb2xwZXJ0aW5nZXIhIChQaXR0eSwgMTQuIEF1ZyAxOTk3LCAxNTo1Njo1OSk6CkFsc28gaWNoIGZpbmRlIGVzIHRvdGFsIGJsb2VkLCBkYXNzIFBhbGUgKFVwcHMsIGpldHp0IGhhYiBpY2ggZG9jaCBnbGF0dCAKbWVpbmVuIFp3ZWl0aWUgZ2VvdXRlZCkgYW4gZGVtIGJvZXNlbiBXb2xwZXJ0aW5nZXIgdmVyZWNrdCBpc3QsIHdlaWwgZXIgaGFsdAp6dSBzY2h3YWNoIHdhciB1bmQgZGFzcyBuYWNoIHNlaW5lbSBUb2QgZGVyIGJsb2VkZSBXb2xwZXJ0aW5nZXIgaWhuIHNjaG9uCndpZWRlciAiYmVzdWNodCIuCkljaCBtZWluZSBlcyBpc3Qgc2Nob24gYmxvZWQgYW4gZGVtIFZpZWNoIHp1IHN0ZXJiZW4sIGFiZXIgd2VubiBtYW4gZGFyYW4Kc3RpcmJ0LCBpc3QgbWFuIGRvY2ggc293aWVzbyB6dSBzY2h3YWNoIGRhZnVlci4gQWxzbyBpc3QgZXMgZG9jaCBRdWF0c2NoLCB3ZW5uCmRlciBXb2xwZXJ0aW5nZXIgZGFubiBnbGVpY2ggbm9jaCB6dW0gT3BmZXJzdG9jayByZW5udCwgd28gbWFuIHNvd2llc28gbm9jaAp3ZWl0ZXIgZ2VzY2h3YWVjaHQgaXN0IHVuZCBlaW5lbSBnbGVpY2ggZGVuIG5hZWNoc3RlbiBUb2QgdmVycGFzc3QuCkljaCBkZW5rZSBuYWNoIGVpbmVtIFRvZCBzb2xsdGUgZGVyIFdvbHBpIHdvaGwgZXJzdCBtYWwgUnVoZSBnZWJlbiwgb2Rlci4KU2NoZWkuLi4gVmllY2ghCgpJbiBkZW0gU2lubmUgLi4uIApQaXR0eSAoUGFsZSkKClBTLjogV2FydW0ga2FubiBkZXIgV29scGVydGluZ2VyIGluIGVpbiBhYmdlc2NobG9zc2VuZXMgSGF1cyByZWluPyBXYWVyZQp2aWVsbGVpY2h0IG5lIE1vZWdsaWNoa2VpdCwgZGllIG1hbiBub2NoIGVpbmJhdWVuIGtvZW5udGUsIGRhc3MgbWFuIHNpY2ggaW4KbmVtIGFiZ2VzY2hsb3NzZW5lbiBIYXVzIGF1c3J1aGVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmxvZWRlciBXb2xwZXJ0aW5nZXIhIChBbHBoYSwgMTQuIEF1ZyAxOTk3LCAxNzoyMjo0NSk6Cn4jISBybj1QaXR0eSBydD04NzE1NjcwMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE1NjcwMTkKTmFjaCBkZXIgVFNRIG5pY2h0IGdsZWljaCB3aWVkZXIgYmV0ZW4uLi53YXJ0ZW4gYmlzIG1hbiB2b2xsZ2VpZGRlbHQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29wZndlaCAoUWl0ZXNzLCAxNi4gQXVnIDE5OTcsIDE4OjU0OjU2KToKb2tlZWgsIGljaCB3ZWlzcyBlcyBqYSwgaWNoIGJpbiBuaWNodCBlaW5lciBkZXIgZnJpZWRsaWNoc3RlbiBoaWVyLCBhYmVyCmplZGVzbWFsLCB3ZW5uIGljaCBpbiBwdiBydW1zdHJldWVuZXJlIGJla29tbWUgaWNoIGtvcGZ3ZWgsIGRlbm4gbWFuIGtvbW10CmxlaWRlciBzb2d1dCB3aWUgZ2FyIG5pY2h0IHVtaGluIGFuIGRpZXNlbSBkdW1tZW4gX0tSSUVHU0RFTktNQUxfCnZvcmJlaXp1Z2VoZW4uCgpNdXNzIHNvd2FzIHNlaW4gPwoKSGFldHRlIG1hbiBkaWVzZXMgZGFlbWxpY2hlIHpldWduaXMgdm9uIGtyaWVnZXJpc2NoZW0gaGFuZGVsbiBuaWNodCBpcmdlbmR3bwphbmRlcnMgaGluc3RlbGxlbiBrb2VubmVuLCB3ZW5uIG1hbiBlcyBzY2hvbiB1bmJlZGluZ3QgaGF0IGF1ZnN0ZWxsZW4gbXVlc3NlbiwKenVtIGJlaXNwaWVsIGFuIGVpbmVtIG9ydCwgd28gbWFuIG5pY2h0IGRhdWVybmQgdm9yYmVpIHJlbm50PwoKUUkqKgoKUC5TLjogRGllc2VyIEFydGlrZWwgaXN0IG51ciBnZXJpbmdmdWVnaWcgaXJvbmlzY2ggZ2VtZWludC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29wZndlaCAoS2V5LCAxNi4gQXVnIDE5OTcsIDE5OjExOjE2KToKfiMhIHJuPVFpdGVzcyBydD04NzE3NTA0OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE3NTA0OTYKU2FtbWEgUWl0ZXNzIC4uLiBuaW1tIGhhbHQgdWx0cmFrdXJ6IQoKV2VubiBkdSB3YXMgZ2VnZW4gZGFzIHRlaWwgaGFzdCBkYW5uIGdhZyBlcyBoYWx0IHJhdXMgb3BkZXIgZ3Vja3MgZGlyIG5ldCBhbiEKRGFzIGlzdCB3b2hsIGVoZXIgZWluIEFydGlrZWwgZnVlciBNdWVsbCAuLi4KCktleSBrYW5uIG1hbmNoZSBMZXV0ZSBuYmV0IHZlcnN0ZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb3Bmd2VoIChEZW50aSwgMTYuIEF1ZyAxOTk3LCAyMToxMDoyNSk6Cn4jISBybj1RaXRlc3MgcnQ9ODcxNzUwNDk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcxNzUwNDk2CgpXZW5uIER1IGVpbiBNdWQgb2huZSBrcmllZ2VyaXNjaGUgQW53YW5kbHVuZ2VuIGhhYmVuIHdpbGxzdCBnZWggaW4gZGllClNlaWZlbmJsYXNlLgoKRGVudGkgdmVyc3RlaHQgbWFuY2hlIExldXRlIG5pY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLcmllZ3NkZW5rbWFsIC0+IE1haG5tYWwgKFFpdGVzcywgMTcuIEF1ZyAxOTk3LCAxMzoyMjo1MCk6ClRqYSwgd2FyIGphIGtsYXIuCgpXYXMgaGFsdGV0IElociBkZW5uIGRhdm9uLCB3ZW5uIG1hbiBkYXMgRGluZyB2aWVsbGVpY2h0IHVtYmVubmVubnQgaW4gTWFobm1hbAo/CgpVbmQgaWNoIHdpbGwgaGllciBrZWluIE11ZCBoYWJlbiBvaG5lIGtyaWVnZXJpc2NoZSBBbndhbmRsdW5nZW4sIGljaCBiaW4gamEsCndpZSBiZXJlaXRzIGVyd2FlaG50IGF1Y2ggbmljaHQgZ2VyYWRlIGRpZSBmcmllZGxpY2hzdGUgaGllci4gCgpVbmQgZXJzdGVucyBrYW5uIGljaCBlcyBuaWNodCByYXVzLWdhZ2VuICh6dW1pbmRlc3Qgc2VociBzZWx0ZW4pLCB1bmQgZGFubgpmaW5kZSBpY2ggdWx0cmFrdXJ6IGJlc2NoZXVlcnQsIGljaCByZW5uIGphIGF1Y2ggbmljaHQgbWl0IGdlc2NobG9zc2VuZW4gYXVnZW4KenVyIHVuaSwgb2J3b2hsIGljaCBkZW4gd2VnIGF1c3dlbmRpZyB3ZWlzcy4gVW5kIGVzIGVpbmZhY2ggbmljaHQgYSsKKGRhZW1saWNoZSBUYXN0YXR1cikKCk5vY2htYWwgOiBVbmQgZXR3YXMgZWluZmFjaCBuaWNodCBuc2NoYXVlbiwgb2RlciB3ZWdzY2hhdWVuLCBudXIgd2VpbCBlcyBtaXIKbmljaHQgZ2VmYWVsbHQsIGlzdCBqYSB3b2hsIG5pY2h0IGRpZSBsb2VzdW5nLCBvZGVyID8KClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLcmllZ3NkZW5rbWFsIC0+IE1haG5tYWwgKERlbnRpLCAxNy4gQXVnIDE5OTcsIDEzOjI5OjIyKToKfiMhIHJuPVFpdGVzcyBydD04NzE4MTY5NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE4MTY5NzAKCk5hamEsIGVzIGlzdCBqYSBlaW4gS3JpZWdzZGVua21hbCwgYWJlciB2b24gbWlyIGF1cyBzb2xscyBhdWNoIE1haG5tYWwKaGVpc3NlbiwgZGFzIGlzdCBJTUhPIG5pY2h0IHdpY2h0aWcsIGRlbm4gZGF2b24gd2lyZHMgc2ljaGVybGljaCBuaWNodAp3YXMgYW5kZXJlcy4gT2IgZGVyIE9ydCBmdWVyIGRhcyBEZW5rbWFsIGRlciBiZXN0ZSBpc3Qgd3VyZGUgc2Nob24gbWFsIApkaXNrdXRpZXJ0LiBBYmVyIGljaCBkZW5rZSwgZGFzcyBtYW4gZXMgamV0enQgc2Nob24genUgbGFuZ2UgaW4gc2VpbmVyCmRlcnplaXRpZ2VuIEZvcm0gc3RlaHQsIHVtcyBub2NoIG1hbCB3ZWd6dW5laG1lbi4gQWJnZXNlaGVuIGRhdm9uIApzdHJlbmdlbiB3aXIgS2FlbXBmZXIgdW5zIGphIGFsbGUgYW4sIGVzIGVuZGxpY2ggZmVydGlnIHp1IGJla29tbWVuIDspCgpEZW50aSwgbm9jaCBtdWVkZSBzZWllbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLcmllZ3NkZW5rbWFsIC0+IE1haG5tYWwgKEtleSwgMTcuIEF1ZyAxOTk3LCAxNTo0NTo1NSk6Cn4jISBybj1RaXRlc3MgcnQ9ODcxODE2OTcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcxODE2OTcwClVuZCB3ZWlsIERVIGtlaW4gQm9jayBhdWYgd2FzIGhhc3QgbXVzcyBlcyB3ZWcgb2RlciB3aWU/CgpNYWhubWFsIC4uLi4gc2NoYXUgZXMgZGlyIG1hbCBhbiwgZXMgaXN0IGVpbiBEZW5rbWFsIGZ1ZXIgZWluZSBnZXdvbm5lbgpTY2hsYWNodCwgd2VubiBkdSBkYW1pdCBwcm9icyBoYXN0IGRhbm4gc2luZCBkYXMgZGVpbmUgcHJvYnMsIGFiZXIgdmVybGFuZyBuZXQKZGFzIGVzIG51ciB3ZWdlbiBkaXIgdmVyYWVuZGVydCB3aXJkIQoKS2FubiBqYSBqZWRlciBrb21tZW4gbWl0IG1pciBnZWZhZWxsdCBkYXMgbmV0IGFsc28gd2VnIGRhbWl0IC4uLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtyaWVnc2RlbmttYWwgLT4gTWFobm1hbCAoUWl0ZXNzLCAxNy4gQXVnIDE5OTcsIDIxOjMxOjAyKToKfiMhIHJuPUtleSBydD04NzE4MjU1NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE4MTY5NzAKaWNoIGJpbiBuaWNodCBkYWhlcmdla29tbWVuLCB1bmQgaGFiZSBnZXNhZ3QsIGRhc3MgZXMgbWlyIG5pY2h0IGdlZmFlbGx0IHVuZAp3ZWcgZGFtaXQsIGljaCBwbGFlZGllcmUgbGVkaWdsaWNoIGZ1ZXIgZWluIGJpc3NlcmwgbWVociBmcmllZGVuLiAKCmFtZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLcmllZ3NkZW5rbWFsIC0+IE1haG5tYWwgKERlbnRpLCAxNy4gQXVnIDE5OTcsIDIxOjMyOjM0KToKfiMhIHJuPVFpdGVzcyBydD04NzE4NDYyNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE4MTY5NzAKCk1laHIgRnJpZWRlbj8gKmtpY2hlciogU2FnIGRhcyBkb2NoIG1hbCBNYWdpZXJuIGRpZSBuZXR0ZSBzYWNoZW4gcHJvZ2dlbjspCgpEZW50aSBkZW5rdCBhbiBQYWRyZWljIHVuZCBQYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtyaWVnc2RlbmttYWwgLT4gTWFobm1hbCAoS2V5LCAxOC4gQXVnIDE5OTcsIDEwOjIyOjA4KToKfiMhIHJuPURlbnRpIHJ0PTg3MTg0NjM1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MTgxNjk3MApJY2ggd2lsbCBXb29kc3RvY2shIHVuZCBQZWFjZS1CdXR0b25zIQoKS2V5ICpJcm9uaWUgb2ZmKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtyaWVnc2RlbmttYWwgLT4gTWFobm1hbCAoUmFmZmksIDE4LiBBdWcgMTk5NywgMTM6MDc6NDApOgp+IyEgcm49UWl0ZXNzIHJ0PTg3MTgxNjk3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MTgxNjk3MApVbmQgd296dSBzb2xsIGVzIHVuZCBtYWhuZW4gZGVpbiBNYWhubWFsID8KCk1laHIgTWV0emVsbiA/CgpPZWZ0ZXIgbWFsIG5lbiBQSyBtYWNoZW4gPwoKTWVociBNYWdpZXIvU3BpZWxyIG9kZXIgR2lsZGVua3JpZWdlIGFuemV0dGVsbiA/CgpHcnVlYmVsbmQKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtyaWVnc2RlbmttYWwgLT4gTWFobm1hbCAoUmFmZmksIDE4LiBBdWcgMTk5NywgMTM6MTI6NTUpOgp+IyEgcm49S2V5IHJ0PTg3MTg5MjUyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MTgxNjk3MApIb2x6c3RvZWNrY2VuIGdpYnN0IGltIFdhbGQgdW5kIGVpbiBDYXQqLmYuUy4gQnV0dG9uIGlzdCBlaCBiZXNzZXIgYWxzIGplZGVyCnBlYWNlLWJ1dHRvbiA6KQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhbWlsaWVuY2hyb25payAoSGlnaGxhbmRlciwgMTkuIEF1ZyAxOTk3LCAxMjo0MToyOCk6CkphLCBkYSBoYXQgZG9jaCBBbnRoZWEgbmV1bGljaCBtYWwgaW4gaWhyZW0gdmVyc3RhdWJ0ZW4gQnVlY2hlcnJlZ2FsCihtYWdpc2NoZXIgU3RhdWIgLSBzdGF1YnQgYXVjaCB1bnRlciBXYXNzZXIpIGdlc3RvZWJlcnQgdW5kIGRvY2gKdGF0c2FlY2hsaWNoIG5vY2ggZWluZSBhbHRlIEtvcGllIGRlciBGYW1pbGllbmNocm9uaWsgdm9uIERhbmNlciB1bmQKbWlyIGdlZnVuZGVuLiBEaWUgaXN0IGF1cyBkZXIgWmVpdCwgYWxzIFNob2VtYWtlci1MZXZ5ICMyMyAob2RlciB3YXIncyAyND8pCmluIGRlciBXdWVzdGUgZWluc2NobHVnLiBWaWVsbGVpY2h0IGtvZW5uZW4gc2ljaCBqYSBub2NoIExldXRlIGRyYW4KZXJpbm5lcm4uIEludGVyZXNzaWVydCBkYXMgamVtYW5kZW4/CgogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhbWlsaWVuY2hyb25payAoQm9pbmcsIDE5LiBBdWcgMTk5NywgMTI6NTY6MzgpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NzE5ODcyODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE5ODcyODgKU3RlaHQgZGllIEdlc2NoaWNodGUgbmljaHQgYXVmIGRlbiBSZWdpb25zLVNlaXRlbiBkZXIgV3Vlc3RlPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhbWlsaWVuY2hyb25payAoSGlnaGxhbmRlciwgMTkuIEF1ZyAxOTk3LCAxMzowODoyNyk6Cn4jISBybj1Cb2luZyBydD04NzE5ODgxOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE5ODcyODgKQXVmIGRlbiBXdWVzdGVuc2VpdGVuIGlzdCBudXIgYXVmIGRlbiBLb21ldGVuIEJlenVnIGdlbm9tbWVuLCBhYmVyCm5pY2h0IGF1ZiBkaWUgRmFtaWxpZW5jaHJvbmlrLgpOdXIgZGFzIGxldHp0ZSBQb3N0aW5nIHZvbiBEYW5jZXIgKFRhdHNhY2hlbmJlcmljaHQgaGVpc3N0IGVzIGF1ZgpkZXIgV3Vlc3Rlbi1TZWl0ZSkgbG9lc3RlIGRpZSBDaHJvbmlrLUVyemFlaGx1bmdlbiBhdXMuCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFtaWxpZW5jaHJvbmlrIChBdWdyYSwgMTkuIEF1ZyAxOTk3LCAyMToxODowMik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg3MTk4NzI4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MTk4NzI4OApBYnN0YXViZW4gdW5kIGF1ZiBkaWUgV2Vic2VpdGUsIGRpZSBzaW5kIHNvd2llc28genUgbGVlci4gOikKCkEuIFdlaXNzbml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhbWlsaWVuY2hyb25payAoSGlnaGxhbmRlciwgMjAuIEF1ZyAxOTk3LCAxMzoxMDoyMCk6Cn4jISBybj1BdWdyYSBydD04NzIwMTgyODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE5ODcyODgKRXJsZWRpZ3QsIHNpZWhlIEFydGlrZWwgaW4gUnVicmlrIFdXVy4KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLcmllZ3NkZW5rbWFsIC0+IE1haG5tYWwgKEFscGhhLCAyMi4gQXVnIDE5OTcsIDEyOjM3OjExKToKfiMhIHJuPVFpdGVzcyBydD04NzE4MTY5NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzE4MTY5NzAKV2FzIG1hY2hlbiBkaWUgS2FlbXBmZXIgZWlnZW50bGljaCwgd2VubiBkYXMgRGluZ3MgdmVydGljaCBpc3Q/IEJhdXQgSWhyIGRhbm4Kbm9jaCBlaW5zPyAKQWxwaGEgZmluZGV0IGVzIGx1c3RpZywgd2VubiBhbiBqZWRlciBFY2tlIG5lbiBEZW5rbWFsIHN0ZWh0OykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVLTEFUIElOIE1VRU5TVEVSOiBPRVRUSSBWRVJMQUVTU1QgTEUgU0NITFVFQ0tTIFVNIFNPTE9LQVJSSUVSRSBaVSBTVEFSVEVOISAoUGFtcGVycywgMjUuIEF1ZyAxOTk3LCAxMDozMTo0OCk6Ck11ZW5zdGVyLiBNcGEuCgpNYWVkY2hlbiB3ZWluZW4uIFdpbGRmcmVtZGUgTWVuc2NoZW4gbGllZ2VuIHNpY2ggdHJhZW5lbnVlYmVyc3Ryb2VtdCBpbiBkZW4KQXJtZW4uIEVzIGlzdCBTYW1zdGFnIGFiZW5kIGluIE11ZW5zdGVyIHVuZCBkYXMgZ2VwbGFudGUgTGUgU2NobHVlY2tzLUtvbnplcnQKZmFlbGx0IGF1cy4KV2llIGF1cyBndXR1bnRlcnJpY2h0ZXRlbiBLcmVpc2VuIHZlcmxhdXRiYXJ0ZSwgaGF0IGRhcyBsYW5namFlaHJpZ2UKQmFuZG1pdGdsaWVkIE9ldHRpIGRpZSBCYW5kIHZlcmxhc3Nlbi4gR2VydWVjaHRlIGF1cyBkZW0gVW1mZWxkIGRlciBiZWxpZWJ0ZW4KQm95Z3JvdXAgbGFzc2VuIGRhcmF1ZiBzY2hsaWVzc2VuLCBkYXNzIGVyIGVpbmUgU29sb2thcnJpZXJlIHN0YXJ0ZW4gd2lyZC4KRXMgd2FyZW4gamVkb2NoIGF1Y2ggdmVyZWluemVsdGUgU3RpbW1lbiB6dSBob2VyZW4sIGRpZSB2b24gZWluZW0gUmF1c3NjaG1pc3MKT2V0dGlzIGF1cyBkZXIgQmFuZCB6dSB3aXNzZW4gZ2xhdWJ0ZW4uIEFubGFzcyBzb2xsIGRhYmVpIGRlciBnZXBsYXR6dGUKQXVmdHJpdHQgaW4gTXVlbnN0ZXIgZ2V3ZXNlbiBzZWluLgpEaWUgd2VpdGVyZW4gTWl0Z2xpZWRlciwgS2xvbmsgdW5kIFBhbXBlcnMsIHZlcndlaWdlcnRlbiBqZWdsaWNoZQpTdGVsbHVuZ25haG1lIHp1IGRpZXNlbSBUaGVtYSB1bmQgdmVyd2llc2VuIGF1ZiBlaW5lIFByZXNzZW1pdHRlaWx1bmcsIGRpZSBhbQpzcGFldGVuIFNvbm50YWcgQWJlbmQgdmVyb2VmZmVudGxpY2h0IHd1cmRlLgpJbiBkaWVzZXIgTWl0dGVpbHVuZyBpc3QgZGF2b24gZGllIFJlZGUsIGRhc3MgInNlaXQgbGFlbmdlcmVyIFplaXQgc2Nob24KRGlmZmVybnplbiB1ZWJlciBkaWUgWnVrdW5mdCBkZXIgQmFuZCBiZXN0YW5kZW4gaGFldHRlbiIgc293aWUgZGFzcyBkZXIKImV4emVzc2l2ZSBEcm9nZW5rb25zdW0iIChlcyBzb2xsIHNpY2ggaGllcmJlaSB1bSBLcm9tYmFjaGVyIGdlaGFuZGVsdCBoYWJlbikKImZ1ZXIgZGllIEJhbmQgdW5kIGlociBJbWFnZSBuaWNodCBsYWVuZ2VyIHRyYWdiYXIiIHNlaWVuLgoKRXMgZGFyZiBtaXQgU3Bhbm51bmcgZXJ3YXJ0ZXQgd2VyZGVuLCB3aWUgZGllc2UgQmFuZGdlc2NoaWNodGUgd2VpdGVyZ2VodC4gRGllClZlcmxpZXJlciBkaWVzZXIgVHJlbm51bmcgc2FpbmQgaW4gamVkZW0gRmFsbGUgbmljaHQgenUgdWViZXJzZWhlbi4gCkRpZSBNYXNzZW4gd2VpYmxpY2hlciBGYW5zLCBkaWUgaWhyIFVuZ2x1ZWNrIG5vY2ggZ2FyIG5pY2h0IGZhc3NlbiBrb25udGVuIHVuZAplaW5lIHNwb250YW5lIFRyYXVlcmt1bmRnZWJ1bmcgc3RhcnRldGVuLCBiZWkgZGVyIGVzIGF1Y2ggenUgZWluaWdlbgpiZWRhdWVybGljaGVuIFp3aXNjaGVuZmFlbGxlbiBrYW0uCgpXb2xsZW4gd2lyIGhvZmZlbiwgZGFzcyB1bnMgZGllc2Ugc3ltcGF0aGlzY2hlbiBKdW5nZW4gTWFlbm5lciBub2NoIGxhbmdlIG1pdAppaHJlciBNdXNpayBlcmZyZXVlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpERU1FTlRJICEgKFJhbnRhbnBsYW4sIDI1LiBBdWcgMTk5NywgMTY6MDg6MzUpOgoKRXMgZ2lidCBlaW5lIFplaXQgaW0gTGViZW4gZWluZXMgS3VlbnN0bGVycywgaW4gZGVyIGVyIHNpY2ggZnJhZ3Q6ClNjaG9lbmUgRnJhdWVuLCBTZXgsIERyb2dlbiwgR2VsZC4uLmlzdCBkYXMgYWxsZXMgPz8/CgpMZSBTY2hsdWNrcyB3YXJlbiBlaW5lIHdpY2h0aWdlIEVyZmFocnVuZyB1bmQgdHJldWUgQmVnbGVpdGVyLCBhYmVyIAppY2ggbW9lY2h0ZSBtaWNoIGluIFp1a3VuZnQga3VlbnN0bGVyaXNjaCB1bmQgaW5oYWx0bGljaCBuZXVlbiBlcm5zdGhhZnRlcmVuClRoZW1lbiB6dXdlbmRlbi4KCkRhcyBMZWJlbiB1bmQgZGVyIFRvZCwgZGllIFplcnN0b2VydW5nIGRlcyB0cm9waXNjaGVuIFJlZ2Vud2FsZGVzLCAKZGFzIExlaWQgdW5kIEVsZW5kIHVuZCBkaWUgVW5nZXJlY2h0aWdrZWl0IGluIGRlciBXZWx0LCBkaWUgTGllYmVzYWZmYWlyZW4gdm9uCkxhZHkgRGlhbmEgU3BlbmNlciwgZGllIFNpbm5sb3Nlc3RlIHZlcndlbmR1bmcgZGVzIFdvcnRlcyAiZmlja2VuIiBpbQpEZXR1c2NoZW4gQnVuZGVzdGFnIHVuZCBuYXR1ZXJsaWNoIHp1IGd1dGVyIGxldHp0IHVuZCBhbHMgCndpY2h0aWdzdGVzIFdhcnVtIGxlYmVuIEFtZWlzZW4gaW4gTmVzdGVybiA/CgpJY2ggbW9lY2h0ZSBkaWVzZXMgRm9ydW0gYWJlciBub2NoIGVpbm1hbCBudXR6ZW4gdW0gYWxsZW4gRnJldW5kZW4gdm9uClNjaGx1Y2tzCm1laW5lIGJlaWRlbiBLb2xsZWdlbiwgZGllIGR1cmNoIGlocmUgU3RpbW1nZXdhbHQgdW5kIG11c2lrYWxpc2NoZQpCZWdhYnVuZyBlcnN0IGRlbiBXZWcgenUgZGllc2VtIGdyb3NzYXJ0aWdlbiBFcmZvbGcgZ2VlYm5ldCBoYWJldHVlcmxpY2ggZGVyCkRvcnRtdW5kZXItQWt0aWVuLUJyYXVlcmVpIHVuZCB6dSBndXRlciBsZXR6dCBkZW4gYXVmb3BmZXJuZGVuIEdyb3VwaWVzLCBkaWUgCnVuc2VyZW0gQmFuZG5hbWVuIGVyc3QgZWluZW4gU2lubiB1bmQgaWhuIGRhbWl0IHp1IGxlYmVuIGVyd2FrdCBoYWJlbiwgenUKZGFua2VuLgoKRGFua2UgIQoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRVZPTFVUSU9OISAoUGFtcGVycywgMjYuIEF1ZyAxOTk3LCAxNDowMTo1OCk6CkRvcnRtdW5kLiBNcGEuCgpXaWUgYXVzIGd1dHVudGVycmljaHRldGVuIEtyZWlzZW4gYmVrYW5udCB3dXJkZSwgaGF0IGRlciBhbGxzZWl0cyBiZWxpZWJ0ZSAKZ3JvZXNzZW53YWhuc2lubmlnZSBNdWRkZXIgUGFtcGVycyBpbSBNb3JnZW5ncmF1ZW4gZWluZSB1bXN0dWVyemxlcmlzY2hlCkFrdGlvbiBnZXBsYW50LgpFciBwbGFudCBuYWNoIGVpZ2VuZW4gQW5nYWJlbiBzaWNoIHp1bSAiRXJ6bWFnaWVyIGZ1ZXIgTFBDIiB6dSBlcm5lbm5lbi4KRGllIGVoZW1hbGlnZW4gR29ldHRlciB1bmQgRXJ6bWFnaWVyIHNvbGxlbiBpbiBmaW5zdGVyZW4gVmVybGllc2VuIHZvciBzaWNoCmhpbiBzY2htYWNodGVuLCB6aXRpZXJ0ZSBlaW5lIGJla2FubnRlIFdvY2hlbnplaXRzY2hyaWZ0IGRlbiBuZXR0ZW4KUmV2b2x1dGlvbmFlciBpbiBpaHJlciBNb250YWdzYXVzZ2FiZS4KCkZlcm5lciBoYWJlIGVyIGVpbmlnZSBWb3JzY2hsYWVnZSwgd2VsY2hlIHdlaXRlcmVuIFBlcnNvbmVuIGVyIGluIHNlaW5lbiBKdW50YQphdWZ6dW5laG1lbiBnZWRlbmt0OgoKUmFudGFucGxhbiwgU2hlcmlmZiB1bmQgSGVua2VyLgpHcmltbWJvcm4gZGVyIEF0aGVpc3QsIE11ZGdvdHQuCkhhdGUsIFByb2dyYW1taWVyc2tsYXZlIHVuZCBNYWVkY2hlbiBmdWVyIGFsbGVzLgpBbGJvaW4sIENoZWZpZGVvbG9nZSB1bmQgU3BlemlhbGlzdCBmdWVyIEludGVsbGVrdHVlbGxlcy4KS2V5LCBUb2Rlc3NlcXVlbnplbmJlYXVmdHJhZ3Rlci4KZWluaWdlIG5pY2h0IG5hZWhlciBiZXplaWNobmV0ZSBqdW5nZSBEYW1lbiBhbHMgIkVyem1hZ2llciBmdWVyIExQQyItR3JvdXBpZXMuCgpzb3dpZSBCb2luZywgSm9mIHVuZCBSdW1hdGEgYWxzIEJ1Y2hzdHVldHplbiBpbiBkZXIgcGFtcGVyc3NjaGVuIEJpYmxpb3RoZWsuCgpVbnRlcnN0dWV0emVuIGF1Y2ggc2llIGRpZXNlbiBNYW5uIQpWb2Vsa2VyLCBob2VydCBkaWUgU2lnbmFsZSwgdml2ZSBsYSByZXZvbHV0aW9uIQoKUGFtcGVycy4gS2Fpc2VyIHVuZCBHb3R0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJFVk9MVVRJT04hIChLZXksIDI2LiBBdWcgMTk5NywgMTQ6Mjc6NDApOgp+IyEgcm49UGFtcGVycyBydD04NzI1OTY5MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI1OTY5MTgKTWVpbmUgU3RpbW1lIGhhc3RlICwpKQoKS2V5IFRvZGVzc2VxdWVuemJlYXVmdHJhZ3Rlci4gLikpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2lhbyAoTXVwZmVsLCAyNi4gQXVnIDE5OTcsIDE3OjMwOjA3KToKSGFsbG8KCk5hY2ggbnVubWVociAzIFJMLUphaHJlbiB1bmQgMTgwIE9ubGluZXRhZ2VuIHZlcmxhc3NlIGljaCBkYXMgTUcgZW50Z3VlbHRpZy4gCm1hY2h0cyBndXQuLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENpYW8gKEJsb29keWhhcnJ5LCAyNi4gQXVnIDE5OTcsIDIyOjIyOjEzKToKfiMhIHJuPU11cGZlbCBydD04NzI2MDk0MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI2MDk0MDcKSHVjaCBNdXBmZWwsCgpkYXMga2FtIGZ1ZXIgbWljaCBhYmVyIHNlaHIgdWViZXJyYXNjaGVuZC4gSWNoIGhvZmZlIER1IGdlaHN0IG5pY2h0IGltClVuZnJpZWRlbi4gVW5kIG1hbiBob2VydCBzaWNoIG5vY2ggaW4gZC1jaGF0LgoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSRVZPTFVUSU9OISAoQWxldGUsIDI3LiBBdWcgMTk5NywgMTI6MTA6MjMpOgp+IyEgcm49UGFtcGVycyBydD04NzI1OTY5MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI1OTY5MTgKTm9jaG4gcG90ZW50aWVsbGVzIEp1bnRhbWl0Z2xpZWQ6CgpBY3JpbW9uLCBTb25kZXJiZWF1ZnRyYWd0ZXIgZnVlciBSZWNodHNjaHJlaWJyZWZvcm1lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWVja3RyaXR0IChaYXJkb3osIDI3LiBBdWcgMTk5NywgMTQ6MjQ6MzQpOgpJY2ggd29sbHRlIGhpZXIgbnVyIG1laW5lbiBSdWVja3RyaXR0IGFscyBFTSBiZWthbm50IGdlYmVuLiBEaWUgR3J1ZW5kZSBzaW5kCmdhbnogZWluZmFjaDogIEljaCBtZXJrZSwgZGFzcyBlcyBrZWluZW4gU2lubiBoYXQgZ2VnZW4gZGllIE1hc3NlIGRlciBTcGllbGVyCmlyZ2VuZHdlbGNoZSBBZW5kZXJ1bmdlbiB1bmQgTmV1ZXJ1bmdlbiBlaW56dWZ1ZWhyZW4uIERhbWl0IHNldHp0IG1hbiBzaWNoIG51cgp1bm5vZXRpZ2VtIEdlbWVja2VyZSBhdXMsIGRhcyB6aWVtbGljaCBhdWYgZGllIE5lcnZlbiBnZWh0LiBJY2ggaGFiZSBlaW5mYWNoCmtlaW5lIEx1c3QgbWlyIGRhcyBBbmhvcmVuIHp1IG11ZXNzZW4gdW5kIHdlcmRlIGRlc2hhbGIgbWVpbmUgSWRlZW4gaW4gYW5kZXJlbgpNVURzIHVtc2V0emVuLgoKCkNpYW8gWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJ1ZWNrdHJpdHQgKFNoYXJpYSwgMjcuIEF1ZyAxOTk3LCAxNDoyNzozNyk6Cn4jISBybj1TaGFyaWEgcnQ9ODcyNjg0NzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcyNjg0Njc0Cm5laW4gWmFyZG96IGxhc3Nlcy4uLiBpY2ggZGVua2UgRGVpbmUgSWRlZW4gd2FyZW4gTklDSFQgc2NobGVjaHQuLi4uIHdhZXJlCnNjaGFkZSB1bSBlaW5lbiB3aXJrbGljaCBndXRlbiBFTS4uIApTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWVja3RyaXR0IChIYW5nb3ZlciwgMjcuIEF1ZyAxOTk3LCAxNDoyODo0OCk6Cn4jISBybj1aYXJkb3ogcnQ9ODcyNjg0Njc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcyNjg0Njc0Ck1vaW4hCgpEYSBtdXNzIGljaCBkYW5uIGphIGF1Y2ggbWFsIG1laW5lbiBTZW5mIGRhenVnZWJlbi4gRXJzdG1hbCBmaW5kZSBpY2ggZXMKc2NoYWRlLCBkYXNzIER1IERpY2ggenVydWVja3ppZWhzdCwgWmFyZG96LgpXYXMgZGllIFNwaWVsZXIgYW5nZWh0IHNvIHNpbmQgZGllc2UgbWl0IFNpY2hlcmhlaXQgaW4gZGVyIE1pbmRlcmhlaXQgLQpudXIgd2VpbCBlaW5pZ2Ugdm9uIHVucyAoaWNoIGVyc3BhcmUgbWlyIG1hbCBkaWUgTmFtZW4pIGJlaSBqZWRlcgpOZXVlcnVuZyBvZGVyIEFlbmRlcnVuZyBnbGVpY2ggZGFzIGdyb3NzZSBXZWhrbGFnZW4gZXJoZWJlbiAoaWNoIGRlbmtlCm51ciBhbiBkYXMgR2VoZXVsZSBhdWYgZGVtIFNlaGVya2FuYWwgZ2VzdGVybiBhYmVuZCB3ZWdlbiBkZXIgWndlaXRpLQptYXJraWVydW5nKSBkaWUgRmxpbnRlIGlucyBLb3JuIHp1IHdlcmZlbiBpc3Qgbm9jaCBhZXJnZXJsaWNoZXIuCkljaCBkZW5rZSwgZGFzcyBkaWUgYXVmIGRlciBQYXJ0eSBnZWFldXNzZXJ0ZW4gSWRlZW4gYmV0cmVmZnMgVGVhbXBsYXkKdW5kIGFlaG5saWNoZW0gc2VociBzZWhyIGd1dCBzaW5kIHVuZCBkZXN3ZWdlbiBhdWNoIGluIGlyZ2VuZGVpbmVyCldlaXNlIHZlcndpcmtsaWNodCB3ZXJkZW4gc29sbHRlbi4gTWFnaWVyLCBsYXNzdCBFdWNoIG5pY2h0IHZvbiBlaW5lcgpNaW5kZXJoZWl0IGRlciBTcGllbGVyIGRpZSBMYXVuZSB2ZXJzYXVlbi4KCi1IYW5nb3ZlcgooZXR3YXMgZ2VmcnVzdGV0IG9iIGRlciBCbGFobGFwcGVuIGRpZSB1bnRlciBkZW4gU2VoZXJuIHJ1bWxhdWZlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pciBmZWhsZW4gZGllIFdvcnRlIChPcmt0b2V0ZXIsIDI3LiBBdWcgMTk5NywgMTQ6MzY6MDEpOgpXYXMgaXN0IGxvcyA/Ck1hZ2llciBmdWVobGVuIHNpY2ggYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuIHVuZCBoYWVuZ2VuIEdlZ2VuZGVuLCBRdWVzdGVuCm9kZXIgSXRlbXMgYWIuCldhcyBzb2xsIGRhcyA/CkxldHplcyBCZWlzcGllbCwgUm9jaHVzIHVuZCBkYXMgU2Nod2VydG1laXN0ZXJzY2h3ZXJ0LiAKV2VubiBpY2ggZXMgcmljaHRpZyBpbiBlcmlubmVydW5nIGhhYmUsIGhhdCBSb2NodXMgZ2Vob2VydCwgZGFzIHZpZWxlIGxldXRlCnNpY2ggZGFzIFNjaHdlcnQgaG9sZW4uIERhcmF1cyBoYXQgZXIgZGFubiB3b2hsIGdlZm9sZ2VydCwgZGFzIG1hbiBkYW1pdCBkaWUKQXJjaGllcXVlc3QgYmxva2llcmVuIHd1ZXJkZSAod2FzIGljaCBzbyBuaWNodCBzZWhlKSB1bmQgZXMgdW5hdHRyYWt0aXZlcgptYWNoZW4gd29sbGVuLCBpbiBkZW0gZXIgZGVuIFNjaHdlcnRtZWlzdGVyIGRlZmVuc2l2IGRldXRsaWNoIHN0YWVya2VyIG1hY2h0ZS4KTmFjaCBkZW0gZXIgd29obCBlaW5nZXNlaGVuIGhhdCwgZGFzIGRhcyBob2VjaHN0ZW5zIGRhenUgZnVlaHJ0LCBkYXMgbWFuCmxhZW5nZXIgYnJhdWNodCB1bSBkZW4genUga2lsbGVuICh1bmQgZGFtaXQgKCggd2VubiB1ZWJlcmhhdXB0KSkgZGllIFF1ZXN0CmxhZW5nZXIgYmxva2llcnQpLCBoYXQgZXIgbnVuIHNjaGVpbmJhciBkYXMgU2Nod2VydCBnYW56IGhlcmF1c2dlbm9tbWVuCih6dW1pbmRlc3QgZ3JpZmYgbWljaCBkZXIgU2Nod2VydG1laXN0ZXIgZ2VyYWRlIG1pdCBibG9zc2VuIEhhZW5kZW4gYW4pLgoKS2luZGVycywga29tbXQgZG9jaCBiaXR0ZSBtYWwgd2llZGVyIGF1ZiBkZW4gVGVwcGljaC4KCk9ya1QuCgpQUyBEYXMgZ2lsdCBmdWVyIFNwaWVsZXIgdW5kIE1hZ2llci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXIgZmVobGVuIGRpZSBXb3J0ZSAoQm9pbmcsIDI3LiBBdWcgMTk5NywgMTQ6NDA6MDApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg3MjY4NTM2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MjY4NTM2MQpXb21pdCBPcmt0b2V0ZXIgSGFuZ292ZXJzIGd1dGVuIEFydGlrZWwgKG1laW5lIE1laW51bmcgbmF0dWVybGljaCkgZ2xlaWNoCm5vY2ggYmVzdGFldGlnZW4gbXVzc3RlIC4uLgpJY2gga2FubiBaYXJkb3ogdmVyc3RlaGVuLCBpY2ggaGFiIG9mdCBnZW51ZyBzZWxiZXIgc28gZ2VkYWNodCwgYWxsZXJkaW5ncwpoYWIgaWNoIGRhbm4gaXJnZW5kd2FubiBhbmdlZmFuZ2VuIGRpZSBxdWVuZ2VsbmRlIE1pbmRlcmhlaXQgZWluZmFjaCB6dQppZ25vcmllcmVuLCBkYW1pdCBmYWVocnQgbWFuIGF1ZiBEYXVlciBkZXV0bGljaCBiZXNzZXIuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWlyIGZlaGxlbiBkaWUgV29ydGUgKEtleSwgMjcuIEF1ZyAxOTk3LCAxNjoxNTowMSk6Cn4jISBybj1Cb2luZyBydD04NzI2ODU2MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI2ODUzNjEKSGFjaCBqYSBpY2ggbXVzcyBlaW5mYWNoIHdhcyBkYXp1IHNlbmZlbiAuLi4uIHR1ZSBpY2ggamEgaW1tZXIgOikKCkFiZXIgZXJzdGVuczogWmFyZG96IGxhc3MgZGVuIFNjaGVpc3MsIEJpcyBhdWYgQXVzbmFobWVuIHdhcmVuIGRpZSBuZXVlbgpFcnppZXMgZGFzIGJlc3RlIHdhcyBwYXNzaWVyZW4ga29ubnRlIC4uLiBXZXIgd2Vpc3Mgd2VuIHdpciBqZXR6dCBhdWYgZGVtCkJ1Y2tlbCBoYWJlbiEKQXVzc2VyZGVtIHdvbGx0ZXN0ZSBkaWNoIGRvY2ggdW0gZWluIG5ldWVzIEthbXBmc3lzdGVtIGt1ZW1tZXJuIC4uLiAKClVuZCBuYWNoIGphaHJlbGFuZ2VyIExhZXN0ZXJlaSAuLi4gd2VyIGhhdCBkaXIgZGVubiBkZW4gU3Bhc3MgdmVyZG9yYmVuPyA6KQpFaWdlbnRsaWNoIGhvZXJ0IG1hbiB1ZWJlciBEaWNoIG51ciBndXRlcyA6KQpXaWUgYXVjaCB1ZWJlciBkaWUgbWVpc3RlbiBhbmRlcmVuIG1hZ3MgKndlbm4gc2Nob24gc2NobGVpbWVuIGRlbm4gc2Nob24qIDopCgpBbHNvIHVlYmVybGVncyBEaXIgbm9jaG1hbCAuLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaGZvbGdlciBnZXN1Y2h0IChSb2NodXMsIDI3LiBBdWcgMTk5NywgMTk6MDI6MTMpOgpEYSBaYXJkb3ogKGF1cyBtaXIgZ3V0IHZlcnN0YWVuZGxpY2hlbiBHcnVlbmRlbikgenVydWVja2dldHJldGVuIGlzdAp1bmQgaWNoIGpldHp0IG1pdCBtZWluZXIgRGlwbG9tYXJiZWl0IGFuZmFuZ2UsIHN1Y2hlIGljaCB6dQptb2VnbGljaHN0IGJhbGQgZWluZW4gTmFjaGZvbGdlciBmdWVyIGRlbiBQb3N0ZW4gZGVzIEdpbGRlbi1FTXMuCkRpZSBEaXBsb21hcmJlaXQgaXN0IGVpbmVyIHZvbiAyIEdydWVuZGVuIGZ1ZXIgZGllc2VuIFNjaHJpdHQuCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJ1ZWNrdHJpdHQgKEFzbW9kaXMsIDI4LiBBdWcgMTk5NywgMTU6MjY6MDApOgp+IyEgcm49WmFyZG96IHJ0PTg3MjY4NDY3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MjY4NDY3NApBZWgsIHdlbGNoZSBkZWluZXIgSWRlZW4gd2FyZW4gZGVubiB1bm5vZXRpZ2VtIEdlbWVja2VyIGF1c2dlc2V0enQgPwpJY2ggaGllbHQgZGljaCBpbW1lciBmdWVyIGVpbmVuIGZhZWhpZ2VuIFJNK0VNLCBiaXNoZXIgaGFiIGljaCBrZWluZW4KR3J1bmQgZGFnZWdlbiBnZWZ1bmRlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pciBmZWhsZW4gZGllIFdvcnRlIChBc21vZGlzLCAyOC4gQXVnIDE5OTcsIDE1OjI3OjQxKToKfiMhIHJuPU9ya3RvZXRlciBydD04NzI2ODUzNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI2ODUzNjEKUGZmdCwgZGFzIFNNUyB3YXIgdmllbCB6dSBsZWljaHQgenUgYmVrb21tZW4sIGRhZnVlciBkYXNzIGVzIGluIG1hbmNoZW4KaGFlbmRlbiBlaW5lIFN1cGVyLVdhZmZlIGlzdCAuLi4KU292aWVsIGljaCB3ZWlzcywgaGF0IGVyIGVzIG51ciB2ZXJsZWd0LCBkaWUgQWt0aW9uIGZpbmRlIGljaCBhYmVyIAphdXNuYWhtc3dlaXNlIG1hbCBndXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWlyIGZlaGxlbiBkaWUgV29ydGUgKFdhcmdvbiwgMjkuIEF1ZyAxOTk3LCAxMDozMToyNCk6Cn4jISBybj1Bc21vZGlzIHJ0PTg3Mjc3NDg2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MjY4NTM2MQpWZXJsZWd0IGltIFNpbm5lIHZvbiAid29hbmRlcnMgYW5nZXNjaGxvc3NlbiIgb2RlciBpbSBTaW5uZSB2b24gImtvbWlzY2gsCmdlcmFkZSB3YXJzIG5vY2ggZGEiPyA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWlyIGZlaGxlbiBkaWUgV29ydGUgKEFzbW9kaXMsIDI5LiBBdWcgMTk5NywgMTM6NTM6MjApOgp+IyEgcm49V2FyZ29uIHJ0PTg3Mjg0MzQ4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MjY4NTM2MQpJbSBzaW5uZSB2b24gJ0luIGFuZGVyZSBIYWVuZGUgZ2VnZWJlbicgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSdWVja3RyaXR0IChLcmVsbGphLCAyOS4gQXVnIDE5OTcsIDIwOjA5OjQ5KToKfiMhIHJuPVphcmRveiBydD04NzI2ODQ2NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI2ODQ2NzQKTW9pbiEKCkhtbSwgYmlzdCBEdSBEaXIgd2lya2xpY2ggc2ljaGVyLCBkYXNzIGRpZSAiTWFzc2UiIGRlciBTcGllbGVyIGRpZSBBZW5kZXJ1bmdlbgp1bmQgTmV1ZXJ1bmdlbiBhYmxlaG50PyBJY2ggaGFiZSB2aWVsIG1laHIgZGVuIEVpbmRydWNrIGRhc3MgZXMgc2ljaCBkYWJlaSB1bQplaW5lIGxhdXRlIChhbHRlKSBNaW5kZXJoZWl0IGhhbmRlbHQuIEZ1ZXIgbWVpbmVuIFRlaWwgd3VlZGUgaWNoIERlaW5lClJ1ZWNrdHJpdHQgKGJ6dy4gQWJ0cml0dCkgCnp1bWluZGVzdCBiZWRhdWVybi4gCgpLcmVsbGphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIEFub3RoZXIgYml0ZXMgdGhlIGR1c3QgKENhdHdlYXpsZSwgMjkuIEF1ZyAxOTk3LCAyMDozNzoyOCk6ClNlcnZ1cyEKIApIaWVybWl0IG1vZWNodGUgaWNoIGRlbm4gbnVuIG9mZml6aWVsbCBtZWluZW4gUnVlY2t0cml0dCBhbHMgU2hlcmlmZgppbSBNb3JnZW5HcmF1ZW4gYmVrYW5udGdlYmVuLgogCkRhIGljaCBlaWdlbnRsaWNoIGthdW0gbm9jaCB6dSBtZWluZW0gSm9iIGdla29tbWVuIGJpbiB1bmQgaWhuIHNlaXQgCmxhZW5nZXJlciBaZWl0IHN0cmFlZmxpY2ggdmVybmFjaGxhZXNzaWd0IGhhYmUsIHNwaWVsZSBpY2ggCnNjaG9uIHNlaXQgbGFuZ2VtIG1pdCBkZW0gR2VkYW5rZW4gYXVmenVob2VyZW4uIEljaCBoYWJlIG1pY2ggYmVyZWl0cwp2b3IgZWluaWdlciBaZWl0IGZ1ZXIgZWluIERhdHVtIG5hY2ggZGVyIFBhcnR5IGVudHNjaGllZGVuLCBpY2ggZmluZGUKZGVyIHJpY2h0aWdlIFplaXRwdW5rdCBpc3QgbnVuIGdla29tbWVuLgogCldhcyBtaWNoIGF1ZiBkZW0gUG9zdGVuIGdlaGFsdGVuIGhhdCwgd2FyLCBkYXMgaWNoIGluIGRlciBMYWdlIHdhciAKYWt0aXYgYW4gZGVyIEVudHdpY2tsdW5nIGRlcyBNb3JnZW5HcmF1ZW4gbWl0enV3aXJrZW4uIEljaCBiaW4gZWluZmFjaApzY2hvbiB2aWVsIHp1IGxhbmdlIGRhYmVpLCB1bSBlcyBlaW5mYWNoIHNvIHNjaGxlaWZlbiB6dSBsYXNzZW4uCkluIGRlciBtb21lbnRhbmVuIFNpdHVhdGlvbiBoYWJlIGljaCBhbGxlcmRpbmdzIG51ciBub2NoIHNlaHIgd2VuaWcgClZlcmxhbmdlbiwgQWt6ZW50ZSBpcmdlbmR3ZWxjaGVyIEFydCBzZXR6ZW4genUgd29sbGVuLCBzb3dvaGwgYXVzIAptYW5nZWxuZGVyIFplaXQsIGFscyBhdWNoIGF1cyBtYW5nZWxuZGVyIEFremVwdGFuei4KIApNaXIgaGFiZW4gZGllIFNwaWVsZXIgKGZ1ZXIgZGllIGRpZXNlcyBNdWQgamEgbnVuIG1hbCBnZW1hY2h0IGlzdCkKaW1tZXIgc2VociBhbSBIZXJ6ZW4gZ2VsZWdlbi4gVGF0c2FlY2hsaWNoIHRhdCBlcyBtaXIgdW0gamVkZW4gU3BpZWxlciAKTGVpZCwgZGVyIGRhcyBTcGllbCB2ZXJsYXNzZW4sIG9iIGdlZnJ1c3RldCBvZGVyIHZlcnRyaWViZW4sIGF1cyAKd2VsY2hlbiBHcnVlbmRlbiBhdWNoIGltbWVyLgogCk51biBtYWcgbWFuY2hlaW5lciBzYWdlbiwgZGFzIGljaCBpbiBtYW5jaGVyIEhpbnNpY2h0IHp1IHdlaWNoIGdld2VzZW4gCnNlaSwgdW5kIHRhdHNhZWNobGljaCBzZWhlIGljaCBkYXMgZWluLiBJY2ggaGFiZSBpbW1lciB2ZXJzdWNodCwgbWl0CidmZWhsZ2VsZWl0ZXRlbicgU3BpZWxlcm4genUgcmVkZW4gdW5kIGRhcyBQcm9ibGVtICdwcml2YXQnIHp1IGxvZXNlbi4gCkRhcyBoYXQgZWlnZW50bGljaCBhdWNoIGltbWVyIGd1dCBmdW5rdGlvbmllcnQuIAogCkFsbGVyZGluZ3MgaXN0IGRhbm4gaXJnZW5kd2FubiBkaWUgWmVpdCBnZWtvbW1lbiwgenUgZGVyIGVzIHdvaGwgCmlyZ2VuZHdpZSBNb2RlIGdld29yZGVuIGlzdCB6dSBjaGVhdGVuLCBkaWUgU3BpZWxlciB3dXJkZW4gYm9lc2FydGlnIAp1bmQgZGllc2UgZGFubiB6dSB6YWhscmVpY2ggdW5kIHp1IGhpbnRlcmhhZWx0aWcuIEljaCB3dXJkZSB6dW5laG1lbmQKaGludGVyZ2FuZ2VuIHVuZCBhdXNnZXRyaWNrc3Qgdm9uIHp1dmllbGVuLCBhbHMgZGFzIGljaCBkaWUgUHJvYmxlbWUKaW4gJ3ByaXZhdGVuJyBHZXNwcmFlY2hlbiBoYWV0dGUgbG9lc2VuIGtvZW5uZW4uIAogClRqYSB1bmQgaGllciBob2VydGUgbWVpbmUgTW90aXZhdGlvbiBkYW5uIGF1Y2ggYXVmLiBJY2gga29ubnRlIGRpZSAKUHJvYmxlbWUgbmljaHQgbWVociBhdWYgdmVybnVlbmZ0aWdlbSBXZWdlIGxvZXNlbiwgZHJhc3Rpc2NoZXJlIApNYXNzbmFobWVuIHd1cmRlbiBub3R3ZW5kaWcuCiAKRGllIGFrdHVlbGxlIFBvbGl0aWsgZGllIGJldHJpZWJlbiB3aXJkIGlzdCBuaWNodCBtZWhyIGRpZSBtZWluZSwgaWNoIAprYW5uIGFiZXIgZHVyY2hhdXMgZWluc2VoZW4sIGRhcyBzaWUgbm90d2VuZGlnIHp1IHNlaW4gc2NoZWludC4gCkljaCBoYWJlIGVocmxpY2ggZ2VzYWd0IGF1Y2gga2VpbmUgTWl0bGVpZCBtaXQgZGVuIFNwaWVsZXJuLCBkaWUgClNpdHVhdGlvbiB3aWUgc2llIGpldHp0IGlzdCwgaGFiZW4gc2llIHNpY2ggc2VsYnN0IHp1enVzY2hyZWliZW4sIGRpZQpoYWJlbiBzaWUgc2VsYnN0IGhlcmJlaWdlZnVlaHJ0LgogCk51biBndXQsIGljaCBoYWJlIGVpZ2VudGxpY2ggaW1tZXIgbm9jaCBlaW4gcmVnZXMgSW50ZXJlc3NlIGFuIGRlciAKRW50d2lja2x1bmcgdW5kIGRlbSBGb3J0c2NocmVpdGVuIGRlcyBNb3JnZW5HcmF1ZW4sIG1laW5lIFJvbGxlIGFscwpTaGVyaWZmIGlzdCBqZWRvY2ggenVlbmRlLiBIaWdobGFuZGVyIHdpcmQgZGllc2VuIEpvYiBqZXR6dCB3b2hsIAp2b2xsIHVlYmVybmVobWVuLCBpY2ggaG9mZmUgZXIgd2lyZCBtaXQgZGllc2VtIFBvc3RlbiBrbGFya29tbWVuLgogCk1laW4gbGV0enRlciBBdWZydWYgZ2lsdCBkYW5uIG5vY2htYWwgZGVuIFNwaWVsZXJuIHVuZCBpbiBnZXdpc3NlcgpIaW5zaWNodCBhdWNoIGVpbmlnZW4gTWFnaWVybi4gVmVyc3VjaHQgZG9jaCBtYWwgZWluLCB6d2VpClNla3VuZGVuIHVlYmVyIGRhcyBNb3JnZW5HcmF1ZW4gbmFjaHp1ZGVua2VuLCB3YXMgZXMgZnVlciBFdWNoCmJlZGV1dGV0IHVuZCB3aWUgSWhyIGRhbWl0IHVtZ2VodC4gSW5zYmVzb25kZXJlIGRlbmt0IG1hbCBkYXJ1ZWJlcgpuYWNoIHdpZSBpaHIgbWl0IEV1cmVuIE1pdHNwaWVsZXJuIHVtZ2VodCwgdW5kIG9iIGRhcyB3YXMgaWhyIApoaWVyIHR1dCB1bmQgd2llIGlociBlcyB0dXQsIGZhaXIgZ2VnZW51ZWJlciBkZW4gYW5kZXJlbiBpc3QsIApvZGVyIG9iIGlociBldHdhIGRlbiBhbmRlcmVuIFNwaWVsZXJuIGJlaW0gVW1nYW5nIG1pdCBkZW0gTW9yZ2VuLQpHcmF1ZW4gUHJvYmxlbWUgYmVyZWl0ZXQuIAogCk1vcmdlbkdyYXVlbiBpc3QgbmljaHQgREVJTiBTcGllbCwgTW9yZ2VuR3JhdWVuIHdpcmQgdm9uIHZpZWxlbiAKTUVOU0NIRU4gYXVzIHZpZWxlcmxlaSBHcnVlbmRlbiBiZXN1Y2h0IHVuZCBEdSBoYXN0IGltIE1vcmdlbkdyYXVlbiAKdmVyZGFtbXQgbm9jaG1hbCBhdWYgZGllIGFuZGVyZW4gUnVlY2tzaWNodCB6dSBuZWhtZW4hCiAKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCBBbm90aGVyIGJpdGVzIHRoZSBkdXN0IChLZXksIDMxLiBBdWcgMTk5NywgMDE6NDg6MDQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3Mjg3OTg0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3Mjg3OTg0OApIaSBDYXQgLi4uLgoKSG0gaWNoIGZpbmRlIGVzIHdpcmtsaWNoIFNjaGFkZSBkYXMgRHUgYXVjaCBnZWhzdCwgZW1wZmFuZCBEaWNoIGltbWVyIGFscwpmYWlyZW4gU2hlcmlmZiAuLgpZZXAgaGFiIHNlbGJzdCBnZW51ZyBhbmdlc3RlbGx0IDopCgpBYmVyIERhbmtlIGRhcyBEdSBzb2xhbmdlIGR1cmNoZ2VoYWx0ZW4gaGFzdCEKCk1hbCBzZWhlbiB3aWUgc2ljaCBIaWdoIHNvIGhhZWx0IDopICpncmlucyBmcmVjaCBnZW4gSGlnaGxhbmRlcioKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhcnRpa2VsIEFub3RoZXIgYml0ZXMgdGhlIGR1c3QgKEx1ZywgMzEuIEF1ZyAxOTk3LCAwMjo0Mzo0OCk6Cn4jISBybj1LZXkgcnQ9ODcyOTg0ODg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcyODc5ODQ4CkhtbW0sCgoKd2VubiBtYW4gbGFlbmdlciB3ZWNoIGlzdCB1bmQgZGllIE1QQSBzbyBnZWJhbGx0IGluIGRpZSBGcmVzc2Uga3JpZWd0LCBkYW5uCmthbm4gZWluZW0gQW5nc3QgdW5kIEJhbmdlIHVtIGRhcyBNVUQgd2VyZGVuIDooCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIEFub3RoZXIgYml0ZXMgdGhlIGR1c3QgKEthcnRvZmZlbCwgMzEuIEF1ZyAxOTk3LCAyMTo1Nzo0OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODcyODc5ODQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcyODc5ODQ4ClNjaGFkZSwgd2lya2xpY2gKCkthcnRvZmZlbCAod2Vpc3MgbmljaHQgd2FzIHNpZSBzb25zdCBuYWNoIGRhenUgc2FnZW4ga29lbm50ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVlY2t0cml0dCAoVHVuaXhndXQsICAxLiBTZXAgMTk5NywgMDg6Mjk6MDgpOgp+IyEgcm49S3JlbGxqYSBydD04NzI4NzgxODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI2ODQ2NzQKU2VoZSBpY2ggSEFBUkdFTkFVU08hISEKSWNoIGJla29tbWUgendhciBuaWNodCBpbSBlaW56ZWxuZW4gbWl0LCB3ZWxjaGVyIE1hZ2llciBmdWVyIFdBUwp2ZXJhbnR3b3J0bGljaCBpc3QsIHdlaXNzIGFsc28gaW0gRWluemVsZmFsbCBzZWx0ZW4sIHdpZSBoYXJ0IGRlciBWZXJsdXN0IGlzdCwKYWJlciBpY2ggc2VoZSBmdWVyIGdld29laG5saWNoIGF1Y2ggdmllbGUgU3BpZWxlciwgZGllIGRpZSBBZW5kZXJ1bmdlbiB2b2xsCm1pdHRyYWdlbiAtIGplZGVuZmFsbHMgbWVociwgYWxzIGRhZ2VnZW4gc2luZC4KClR1Tml4R3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhcnRpa2VsIEFub3RoZXIgYml0ZXMgdGhlIGR1c3QgKFRlZGR5LCAgMS4gU2VwIDE5OTcsIDA4OjQ5OjI0KToKfiMhIHJuPUx1ZyBydD04NzI5ODgyMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzI4Nzk4NDgKRXMgd2lyZCBhdWNoIG5pY2h0IGJlc3Nlciwgd2VubiBtYW4gYWxsZXMgc2NoZWliY2hlbndlaXNlIGtyaWVndC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFydGlrZWwgQW5vdGhlciBiaXRlcyB0aGUgZHVzdCAoUmFudGFucGxhbiwgIDEuIFNlcCAxOTk3LCAxMjoxMToyMSk6Cn4jISBybj1LYXJ0b2ZmZWwgcnQ9ODczMDU3NDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODcyODc5ODQ4CllvICEKCkRpZSBHcnVuZHJlZ2VsIGRlcyBtZW5zY2hsaWNoZW4gWnVzYW1tZW5sZWJlbnMgbGF1dGV0IG1laW5lciBNZWludW5nIG5hY2guLi4KRnVlZ2UgZWluZW0gYW5kZXJlbiBuaWUgZXR3YXMgenUgd2FzIER1IG5pY2h0IGF1Y2ggYmVyZWl0IGJpc3QgenUgZXJ0cmFnZW4uCgooaWNoIGdsYXViZSBkZXIgQW5zYXR6IGlzdCBleGlzdGVuemlhbGlzdGlzY2gsIGFiZXIgZWdhbCBlaWdlbnRsaWNoKQoKQXVmIGplZGVuIEZhbGwgaGFiZSBpY2ggaW4gbWVpbmVyIExhdWZiYWhuIGhpZXIgZ2VsZXJudDoKRUdBTCB3YXMgbWFuIHNjaHJlaWJ0LCBtYWNodCwgc2FndCwgZXMgZ2lidCBJTU1FUiBqZW1hbmRlbiBkZXIgc2ljaCBhdWYgZGVuIApTY2hsaXBzIGdldHJldGVuIGZ1ZWhsdCB1bmQgZXMgbWVociBvZGVyIG1pbmRlciBwZXJzb2VubGljaCBuaW1tdC4uLgoKQWJlciB3YXMgT2V0dGkgbmljaHQgd29sbHRlLCB3YXIgZGVyIHVuc2Nob2VuZSBOZWJlbmVmZmVrdCwgZGFzcyBlaW4gcGFhcgpzZWx0c2FtZQpXZXNlbiBnbGF1YnRlbiwgSGV5LCBkZXIgYmVuaW1tdCBzaWNoIHdpZSBlaW4gVm9sbGlkaW90LCBkYW5uIGthbm4gaWNoIGRhcwphdWNoLgoKSWNoIGRhY2h0ZSBpbW1lciwgbWFuIGVya2VubnQgYmVpIG1laW5lbiBBa3Rpb25lbiwgZGFzIEF1Z2Vuendpbmtlcm4KKGFiZ2VzZWhlbiB2b24gZGVuZW4sIGRpZSBuYWNoIGVpbmVyIGdld2lzc2VuIEVza2FsYXRpb24sIHZvZWxsaWcKZXJuc3RnZW1laW50ZSBQcm92b2thdGlvbmVuIGdlZ2VuIGFsbGVzIHVuZCBqZWRlbiB3YXJlbikuCgpFZ2FsIHdpZSwgd2FzIGljaCBuaWNodCBnZXNjaGFmZnQgaGFiZSBpc3QsIGRhc3MgZGllIGRpZSBzaWNoIHVuZCBhbmRlcmUgc28Kc2NocmVja2xpY2ggZXJuc3QgbmVobWVuLCBtaWNoIHVuZCBzaWNoIGVpbiB3ZW5pZyB3ZW5pZ2VyIHdpY2h0aWcgbmVobWVuLApzY2hhZGUgZWlnZW50bGljaCwgb2Rlci4uLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaXNoaW5nIGZvciBjb21wbGltZW50cyAoR3JpbW1ib3JuLCAgMi4gU2VwIDE5OTcsIDAwOjI5OjE3KToKSG1tLCB3ZW5uIGljaCBqZXR6dCBoaW5nZWhlIHVuZCB2ZXJrdWVuZGUsIGRhc3MgaWNoIGRpZSBOYXNlIHZvbGwgaGFiZSwgbWVpbmUKQW5ncmlmZmUgdW5kIEdlbWVpbmhlaXRlbiBzZWluIGxhc3NlLCBkaWUgbXBhIGluIFJ1aGUgbGFzc2UgdW5kIG1pY2gKenVydWVja3ppZWhlLCB3ZWlsIGRpZSBTcGllbGVyIG5pY2h0IGxpZWIgenUgbWlyIHNpbmQsIG1laW5lIE9tYSBtaWNoIHNjaHJhZWcKYW5zY2hhdXQgdW5kIG1pY2ggbWVpbiBIdWVobmVyYXVnZSBkcnVlY2t0LCBiZWtvbW1lIGljaCBkYW5uIGF1Y2ggc28gdmllbGUsCnNjaG9lbmUgImRhcyBpc3QgYWJlciBzY2hhZGUsIHdpciB2ZXJtaXNzZW4gRGljaCwgYmlzdCBkb2NoIGVpZ2VudGxpY2ggZWluCnRvbGxlciBLZXJsIi1BcnRpa2VsPyBEaWUgd2lsbCBpY2ggbmFlbWxpY2ggYXVjaCwgZGFzIG11c3MgamEgcnVudGVyZ2VoZW4gd2llCk9lbC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmlzaGluZyBmb3IgY29tcGxpbWVudHMgKEdub21lLCAgMi4gU2VwIDE5OTcsIDA4OjM0OjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NzMxNTI5NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzMxNTI5NTcKdGphIGdyaW1taS4uLgp2ZXJnaXNzIGVzLCBzb2xjaGUgYXJ0aWtlbCBiZWtvbW1zdCBkdSBpbiBodW5kZXJ0IGphaHJlbiBuaWNodC4uLiA7LSkKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpc2hpbmcgZm9yIGNvbXBsaW1lbnRzIChUdW5peGd1dCwgIDIuIFNlcCAxOTk3LCAwOTowMToyMyk6Cn4jISBybj1Hbm9tZSBydD04NzMxODIwNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzMxNTI5NTcKQWJlciBwcm9iaWVyJ3MgZG9jaCBtYWwgYXVzLCBHcmltbWksIHVuZCByZWljaCcgRGVpbmVuIFJ1ZWNrdHJpdHQgZWluIC0KUHJvYmllcmVuIGdlaHQgdWViYSBzdHVkaWVyZW4uLi4gO28pCgoncyBLYXJhdGUtWndlcmNobGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpc2hpbmcgZm9yIGNvbXBsaW1lbnRzIChSYW50YW5wbGFuLCAgMi4gU2VwIDE5OTcsIDEyOjI5OjM4KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg3MzE4MzY4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MzE1Mjk1NwpJY2ggd3VlcmRlIGZ1ZXIgR3JpbW1ib3JuIHNpY2hlcmxpY2ggZWluZW4gYml0dGUgYml0dGUgbWVsZGUgRGljaCBBcnRpa2VsCnNjaHJlaWJlbiwgZXIgaGF0IGVzIHZlcmRpZW50LCBlciB3YXIgaW1tZXIgZ2VtZWluIHVuZCBmaWVzIHp1IG1pciB1bmQgZGFzIAphdWNoIG5vY2ggbWl0IFN0aWwuCgpJc3QgbWlyIGFsbGVtYWwgbGllYmVyLCBhbHMgSGlnaGxhbmRlciAobWVpbiBsaWVibGluZ3NpZGlvdCkKCkZMQU1FRkxBTUVGTEFNRSAhISEhCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaXNoaW5nIGZvciBjb21wbGltZW50cyAoUmFmZmksICAyLiBTZXAgMTk5NywgMTI6NDg6MDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg3MzE1Mjk1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MzE1Mjk1NwpXZW5uIERhcyBkZWluIFByZWlzIGZ1ZXIgZWluZSBWZXJsZWdlcmVpZnJlaWUgTVBBIGlzdCAuLi4gR2VybmUhCgpHcnVzcwpILgooQmluIGF1Y2gga2FldWZsaWNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpc2hpbmcgZm9yIGNvbXBsaW1lbnRzIChLZXksICAyLiBTZXAgMTk5NywgMTI6NDk6MDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg3MzE1Mjk1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MzE1Mjk1NwpFY2h0PwoKKmZyZXUgaHVlcGYganViZWwqID07KQoKS2V5IHNjaG1hcnJuZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGaXNoaW5nIGZvciBjb21wbGltZW50cyAoSGlnaGxhbmRlciwgIDMuIFNlcCAxOTk3LCAxNDoxMToyOSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg3MzE5NjE3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3MzE1Mjk1NwpXYXMgaGVpc3N0IGhpZXIgZmxhbWU/IFdlbmlnc3RlbnMgYmluIGljaCBEZWluIExpZWJsaW5nc2lkaW90LCBkYXMgaXN0CmRvY2ggc2Nob24gd2FzLgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRvIHdob20gaXQgbWF5IGNvbmNlcm4gKENhdHdlYXpsZSwgMTEuIFNlcCAxOTk3LCAxMTozNTozMyk6Ck1vaW4hCgpIZXV0ZSBoYXQgbWVpbiBtYWlsIHZlcnNhZ3QsIGRhIGRhcyBtb25hdGxpY2hlIG11ZGxpYi1iYWNrdXAgbWljaCBtaXQKOE1CIG1haWwgenVnZXNjaGlzc2VuIGhhdC4gaXN0IHZpZWxsZWljaHQgZ2FueiBpbnRlcmVzc2FudCwgd2FzIGRhYmVpCmhpbnRlcmhlciByYXVza29tbXQ6Ci0tLS0tLS0tLS0KClRvdGFsIG51bWJlciBvZiBvYmplY3RzIGluc3BlY3RlZDogICA5Miw2NjMKVG90YWwgbnVtYmVyIG9mIG9iamVjdHMgYXJjaGl2ZWQ6ICAgIDg3LDgzMgpUb3RhbCBudW1iZXIgb2Ygb2JqZWN0cyB1cGRhdGVkOiAgICAgICAgICAwClRvdGFsIG51bWJlciBvZiBvYmplY3RzIHJlYm91bmQ6ICAgICAgICAgIDAKVG90YWwgbnVtYmVyIG9mIG9iamVjdHMgZGVsZXRlZDogICAgICAgICAgMApUb3RhbCBudW1iZXIgb2Ygb2JqZWN0cyBmYWlsZWQ6ICAgICAgICAgICA3ClRvdGFsIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZDogICAgMzIwLjMgTUIKRGF0YSB0cmFuc2ZlciB0aW1lOiAgICAgICAgICAgICAgICAgIDIzOS45MiBzZWMKRGF0YSB0cmFuc2ZlciByYXRlOiAgICAgICAgICAgICAgICAxLDM2Ny4zMSBLQi9zZWMKQXZlcmFnZSBmaWxlIHNpemU6ICAgICAgICAgICAgICAgICAgICA2LDI1NQpDb21wcmVzc2lvbiBwZXJjZW50IHJlZHVjdGlvbjogICAgICAgIDQ0LjA0JQpFbGFwc2VkIHByb2Nlc3NpbmcgdGltZTogICAgICAgICAgICAzOjAyOjUxCgotLS0tLS0tLS0tLS0KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzaHV0ZG93biAoQ2F0d2VhemxlLCAxMS4gU2VwIDE5OTcsIDE0OjUzOjExKToKTW9pbiEKCkljaCBtdXNzdGUgQXJtYWdlZGRvbiBzdGFydGVuLCB3ZWlsIGRlciBNb3JnZW5HcmF1ZW4tUmVjaG5lciBtZWludGUsIGF1cyAKZWluaWdlbiBTYXZlZmlsZXMgQ0hhcmFrdGVyZGV2aWNlcyB6dSBtYWNoZW4uIE11c3N0ZSBsZWlkZXIgZGFmdWVyIGJvb3Rlbi4KTWl0IGV0d2FzIFBlY2ggc2luZCBkYWJlaSBlaW5pZ2UgSSotU3BpZWxlciBkcmF1ZmdlZ2FuZ2VuLiBXZW0gZGllcyAKd2llZGVyZmFocmVuIGlzdCwgbW9lY2h0ZSBzaWNoIGJpdHRlIHp1bSByZXN0YXVyaWVyZW4gYmVpIGVpbmVtIEVyem1hZ2llcgpzZWluZXIgV2FobCBtZWxkZW4uIElyYSwgaWVsbCB1bmQgaXJnZW5kd2FzIHNpbmQgcmV0dHVuZ3Nsb3MgdmVybG9yZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzaHV0ZG93biAoQ2F0d2VhemxlLCAxMi4gU2VwIDE5OTcsIDEzOjQ0OjIwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzM5ODIzOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzM5ODIzOTEKTW9pbiEKCkljaCBoYWIgd2VpdGVyZSBrYXB1dHRlIHNhdmUtZmlsZXMgZ2VmdW5kZW4uIERpZXNtYWwgc2luZCBjYXNpLCBjYXNzYW5kcmEsIApjaHJpc3kgY29uZHlsbyB1bmQgY29yZ2FuIGRyYXVmZ2VnYW5nZW4sIGFiZXIgbnVyIGRpZSBzZWN1cmVmaWxlcy4KQWxsZSBhbmRlcmVuIEMqIGxlYmVuIG5vY2ggLi4uIHp1bSBnbHVlY2sgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2h1dGRvd24gKENha2V5LCAxMi4gU2VwIDE5OTcsIDE0OjE3OjM4KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzQwNjQ2NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzM5ODIzOTEKClB1aCwgd2F0J24gR2x1ZWNrIQoKQ2FrZXksIHdpZWRlcm1hbCBHbHVlY2sgZ2VoYWJ0IGhhYmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2h1dGRvd24gKEtleSwgMTIuIFNlcCAxOTk3LCAxNTo1MDozMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc0MDY0NjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODczOTgyMzkxCkFyZ2whISEKSmV0enQgd2Vpc3MgaWNoIHdpZWRlciB3aWUgZGVyIGtsZWluZSBoaWVzcyA6KSkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG1tbW1tbW1tbSAoSGFzaW0sIDE3LiBTZXAgMTk5NywgMjA6MTM6MjYpOgpBbHNvIGhtbW1tLCBobW1tICwgd2FzIGthbm4gaWNoIG5vY2ggc2FnZW4sIGlzdCBqYSB3aXJrbGljaCBncnVzZWxpZywgd2FzIG1hbgpoaWVyIGxlc2VuIG11c3MuIEVzIGhvZXJ0IHNpY2ggamEgZmFzdCBzbyBhbiwgYWxzIG9iIGFsbGVzIGlyZ2VuZHdpZSBpcmdlbmR3bwphdSBkZW4gRnVnZW4gZ2VyYXRlbiBpc3QuLi4oa29wZnNjaHVldHRlbCkgRGFiZWkgaGF0J3MgZG9jaCBzbyBndXQKYW5nZWZhbmdlbi4uLldlbm4gaWNoIGpldHp0IGRpZSBNUEEgbGVzZSAod2FzIGljaCB3b2hsIHZpZWwgenUgc2VsdGVuIHR1ZSkKa3JpZWdlIGljaCBmYXN0IHNjc2NoaXNzLCBkYXMgaGllciBhbGxlcyB6dXNhbW1lbmJyaWNodC4uLm51bmphLi4uCldpZSB3YWVycyBkZW5uLCB3ZW5uIGlociBlaW5mYWNoIHVlYmVyIGRhcyBHZW1lY2tlciBoaW53ZWdob2VydC4uLmlzdCB6d2FyCnNjaGl3aWVyaWcsIGljaCB3ZWlzcywgYWJlciBhdXNzdGVpZ2VuIHVuZCBpcmdlbndlbGNoZSBEaW5nZSBhZW5kZXJuLi4uZGFzCmZpbmRlIGljIG1lcmt3dWVyZGlnLCBpY2ggaGFldHRlIG5pY2h0IGdlZGFjaHQsIGRhc3MgZXMgSElFUiBzb3dlaXQga29tbXQuLi4uCmJhbGQgYnJhdWNoZW4gd2lyIHdvaGwgbmVuIEhhdWZlbiBBbndhZWx0ZSwgZGllIGRpZSBNdWQtU3RyZWl0aWdrZWl0ZW4KcmVnZWxuLi4uZGFiZWkgaXMgZG9jaCBkYXMgVm9ycmFuZ2lnZSBaaWVsLCBzZWluZSBaZWl0IGd1dCB6dSB2ZXJicmluZ2VuLApzcHJpY2ggU3Bhc3MgenUgaGFiZW4uLnVuZCBpcmdlbmR3aWUgd2lyZCBlcyBqZXR6dCBoaWVyIGRvY2ggc2VociBlcm5zdC4uLi4KSGFzaW0sIGxhbmdzYW0gdmVyendlaWZlbG5kIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIG5vY2htYWwuLi4gKEhhc2ltLCAxNy4gU2VwIDE5OTcsIDIwOjIxOjEyKToKTnVyIG5vY2ggbWFsIG5lIFp3aXNjaGVuZnJhZ2U6IFdhcnVtIHNvbGwgZXMgZGVubiBzY2hsaW1tIHNlaW4sIHdlbm4gZWluClNwaWVsZXIgZXMgbGVpY2h0IGhhdD8gSWNoIG1laW5lIGpldHp0IG5pY2h0IHp1IGxlaWNodC4uLmFiZXIgd2VnZW4gZGVyCkF1ZnJlZ3VuZyBrb2VubnRlIGljaCBtaXIgdm9yc3RlbGxlbiwgZGFzcyAoaWNoIHdpbGwgamV0enQgbmljaHRzCnVudGVyc3RlbGxlbikgbnVuamEgUmVha3Rpb25lbiBlaW50cmV0ZW4sIGRpZSBlaW5lbSBkYXMgTGViZW4gc2Nod2VyCm1hY2hlbi4uLmljaCBiaW4gaW1tZXJub2NoIGRhZnVlciwgZGFzIGVzIGhpZXIgdm9ycmFuZ2lnIFNwYXNzIG1hY2hlbiBzb2xsLAp1bmQgd2VubiBlaW5pZ2UgbWVja2VybiwuLiwgbnVuamEsIGtvbnNydWt0aXZlIFZvcnNjaGxhZWdlIHdhZXJlbiBoYWx0IGJlc3NlciwKYWJlciBpY2gga3JpZWdlIGRhdm9uIHdvaGwgd2llIGltbWVyIHp1d2VuaWcgbWl0LCB1bSBkYSBtaXRyZWRlbiB6dQprb2VubmVuLi4uaWNoIHdlaXNzLCBkYXNzIHZpZWwgYXJiZWl0IGluIGRlciBTYWNoZSBzdGVja3QsIHVuZCBlcyB3YWVyZSBkb2NoCnNjaGFkZSwgZWluZmFjaCBhbGxlcyBoaW56dXNjaG1laXNzZW4sIG51ciB3ZWlsIGVpbmllIGFuZGVyZXIgTWVpbnVuZyBzaW5kLApvZGVyLi4uW0QKSGFzaW0sIGltbWVybm9jaCB2ZXJ3aXJydCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuZCBub2NoIGVpbmVyIChDYXR3ZWF6bGUsIDE5LiBTZXAgMTk5NywgMTE6MTQ6MTcpOgpNb2luIQoKSW4gQW5oYW5nIHp1IGRlbiBqdWVuZ3N0ZW4gQ3Jhc2hzIGdpYnRzIGhldXQgZWluZW4gd2VpdGVyZW4gUmVib290CmF1ZmdydW5kIGVpbmVzIEZlaGxlcnMgaW0gU3RhbmRhcmRsYWRlbi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcnVmdGVyc2F0eiAoTHVnLCAyMy4gU2VwIDE5OTcsIDEyOjI3OjA1KToKCk1vaW4sCgptYWwgZWluZSBmcmV1bmRsaWNoZSBBbmZyYWdlLiBLb2VubnRlIG5pY2h0IGV2ZW50dWVsbCwgZmFsbHMgZXR3YXMgWmVpdAp2b3JoYW5kZW4sIGplbWFuZCAoTWFnaWVyL2luKSBlaW5lbiBHcnVmdGVyc2F0eiBwcm9nZ2VuPyBXaWUgZGFzIFRlaWwgYXVzc2VoZW4Ka29lbm50ZSB3ZWlzcyBtYW4gamEgbm9jaCBhdXMgU3BpZWxlcnplaXRlbiB1bmQgZGFzIHdhcyBkcmluIGlzdCBrYW5uIGphIGF1Y2gKZGVtIGFsdGVuIGFlaG5saWNoIHNlaGVuLiBEYXMgd2FyIHNvIGVpbiBuZXR0ZXIgT3J0LiBEYW1pdCB3dWVyZGV0IElociB2aWVsZW4KU3BpZWxlcm4gKGVoZXIgU2VoZXJuKSBtYWwgd2lya2xpY2ggd2llZGVyIHdhcyBuZXR0ZXMgdHVuLiBGYWxscyBkaWUgRGViYXR0ZQpzY2hvbiBsaWVmOiBJY2ggd2FyIG5pY2h0IGRhLCBpY2ggaGFicyBuaWNodCBnZWxlc2VuLgoKR3J1c3MKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3J1ZnRlcnNhdHogKEJvaW5nLCAyMy4gU2VwIDE5OTcsIDEyOjQxOjA4KToKfiMhIHJuPUx1ZyBydD04NzUwMTA0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUwMTA0MjUKRXMgZ2lidCB2aWVsZSBNZXR6ZWxnZWJpZXRlIHVuZCBlcyB3aXJkIGF1Y2ggaW1tZXIgd2llZGVyIG5ldWUgZ2ViZW4sCmVpbiBlaGVtYWxpZ2VzIEdlYmlldCBuYWNoenVwcm9ncmFtbWllcmVuIHdhZXJlIG5pY2h0cyBhbHMgZWluIGJpbGxpZ2VyCkFia2xhdHNjaC4gRGFzIGlzdCBuYXR1ZXJsaWNoIG51ciBtZWluZSBwZXJzb2VubGljaGUgTWVpbnVuZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcnVmdGVyc2F0eiAoTHVnLCAyMy4gU2VwIDE5OTcsIDEyOjQyOjAwKToKfiMhIHJuPUJvaW5nIHJ0PTg3NTAxMTI2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTAxMDQyNQpOYWphIEJvaW5nLAoKYWJlciBlcyB3YXIgc2VociBzY2hvZW4sIGRhIG5pbW10IG1hbiBhdWNoIGdlcm5lIG5lbiBBYmtsYXRzY2ggOykgQW4gZGVyCmdsZWljaGVuIFN0ZWxsZSB3b2xsdGUgaWNoIG5vY2ggc2FnZW4gOykKR3J1c3MgTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcnVmdGVyc2F0eiAoUmlrdXMsIDIzLiBTZXAgMTk5NywgMTY6MTU6MzgpOgp+IyEgcm49THVnIHJ0PTg3NTAxMTMyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTAxMDQyNQpFdHdhcyB2ZXJnbGVpY2hiYXJlcywgd2VubiBhdWNoIG5hdHVlcmxpY2ggbmljaHQgZGlyZWt0IGRlciBHcnVmdApuYWNoZW1wZnVuZGVuLCBpc3QgaW0gRHNjaHVuZ2VsIGdlcGxhbnQuIFdlaXRlciBtb2VjaHRlIGljaCBlcnN0bWFsCm5pY2h0IHZvcmdyZWlmZW4uIEF1Y2ggd2VubiBpY2ggZGEgbWl0bWFjaGUsIG1vZWNodGUgaWNoIGVzIGRlbQpNYWdpZXIgdWViZXJsYXNzZW4sIHdlbGNoZXIgc2ljaCBoYXVwdHNhZWNobGljaCBkYW1pdCBhdXNlaW5hbmRlci0Kc2V0emVuIHdpcmQuCgpjaWFvLCBSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3J1ZnRlcnNhdHogKEZ5dCwgMjMuIFNlcCAxOTk3LCAxNzo0MjoxOCk6Cn4jISBybj1SaWt1cyBydD04NzUwMjQxMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUwMTA0MjUKSG0sIHdlbm4gbWFuIGRhIGF1Y2ggbWl0ICAiL2dvIGdyIiAgaGlua29tbXQsIHNvbGwncyBtaXIgcmVjaHQgc2Vpbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdydWZ0ZXJzYXR6IChKYW5pdHplLCAyMy4gU2VwIDE5OTcsIDIzOjUwOjEwKToKfiMhIHJuPUZ5dCBydD04NzUwMjkzMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUwMTA0MjUKZmFsc2NoIEZ5dCwgZW50d2VkZXIgZGFzIGhlaXNzdCAvZyBncnVmdCwgb2RlciBhYmVyIC9nbyB2b25faXJnZW5kd29faGVyIGdydWZ0Cm5hamEsIHNjaGllYnMgbmFjaCBzY2htYXJybiwgYWJlciBmeXQncyBhcnRpa2VsIGF1Y2ggZ2xlaWNoIDopCgpKYW5pY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3J1ZnRlcnNhdHogKEFzbW9kaXMsIDIzLiBTZXAgMTk5NywgMjM6NTQ6MzApOgp+IyEgcm49Qm9pbmcgcnQ9ODc1MDExMjY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MDEwNDI1CldpZSB3YWVycywgd2VuaWdzdGVucyBkaWUgTW9uc3RlciB3aWVkZXIgenUgcmVha3RpdmllcmVuID8/CkxpbGl0aCwgQ3RodWxodSwgZGllIDMgYm9lc2VuIFNjaHdlc3Rlcm4gdW5kIGRpZXNlIHZpZWNoZXIgbWl0IGRlbgp1bmF1c3NwcmVjaGxpY2hlbiBuYW1lbiB3YXJlbiBuZXR0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3J1ZnRlcnNhdHogKEx1ZywgMjQuIFNlcCAxOTk3LCAwMDo0OToyNSk6Cn4jISBybj1SaWt1cyBydD04NzUwMjQxMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUwMTA0MjUKIEFoLAoKa2xpbmd0IGd1dCBSaWt1cyEgRGFua2UuCgpMdWcKLiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoRGhvamFrdCwgMjYuIFNlcCAxOTk3LCAxNDoyNjowMSk6Cn4jISBybj1Cb2luZyBydD04NzUyNjcyNjQgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTg3NTI2NzAxNwpFcyB3aXJkIGFsc28ga2VpbmUgaW52aXMtbWFya2llcnVuZyBmdWVyIHp3ZWl0aWVzIGdlYmVuLCBkaWUgZXJzdCBhYgptYWdpZXJsZXZlbCB4eCAoMzUsIDQ0LCB3YXMgd2Vpc3MgaWNoKSBhbnp1c2NoYXVlbiBpc3Q/IApTY2hhZGUgZWlnZW50bGljaC4KS2hpZGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoWWFyZW4sIDI2LiBTZXAgMTk5NywgMTc6MjU6NTgpOgp+IyEgcm49RGhvamFrdCBydD04NzUyNzY3NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUyNjcwMTcKSWNoIGRhY2h0ZSwgZGFzcyBnZW5hdSBkYXMgYmVzY2hsb3NzZW4gd3VyZGU/IERhIG11c3MgZG9jaCBudXIgZGVyCmZpbmdlci1CZWZlaGwgZ2VhZW5kZXJ0IHdlcmRlbiwgb2RlciBzZWhlIGljaCBkYXMgZmxhc2NoPyBXaWV2aWVsIEFyYmVpdCBtYWNodApkYXMgd29obD8gMTAgTWludXRlbj8KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoUmluZ29yLCAyNi4gU2VwIDE5OTcsIDE3OjMxOjE4KToKfiMhIHJuPVlhcmVuIHJ0PTg3NTI4NzU1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTI2NzAxNwpXb2JlaSBkaWUgamV0emlnZSBVbXNldHp1bmcgbm9jaCBuaWNodCBnYW56IHNvIHNjaG9lbiBpc3QsIHdpZSBpY2ggZmluZGUuCgpXYXMgbnVldHp0IGVzLCB3ZW5uIG51ciBNYWdpZXIgbWVpbmVuIEVyc3RpZSBzZWhlbiBrb2VubmVuLCB3ZW5uIGljaCB0cm90emRlbQpmdWVyIGFsbGUgc2ljaHRiYXIgbWl0IGRlbSAneicgcnVtbGF1ZmVuIG11c3M/IERhcyBtaXQgZGVyIHVuc2ljaHRiYXJlbgpNYXJraWVydW5nIHd1cmRlIGRvY2ggZ2VyYWRlIGRlc2hhbGIgZ2Vmb3JkZXJ0LCBkYW1pdCBtYW4gbmljaHQgYWxzIFp3ZWl0aQplcmthbm50IHdpcmQuCgpBdXNzZXJkZW0gZ2lidCBlcyBkdXJjaGF1cyBMZXV0ZSwgZGllIHp1IGlocmVtIEVyc3RpZSBzdGVoZW4sIGRhaGVyIHdhciBlaW5lCmdlbmVyZWxsIHVuc2ljaHRiYXJlIE1hcmtpZXJ1bmcgZG9jaCBhdWNoIG5pY2h0IGRhcywgd2FzIHZvcmdlc2NobGFnZW4gd3VyZGUsCm9kZXIgaGFiIGljaCBkYXMgc28gZmFsc2NoIHZlcnN0YW5kZW4/CgpJY2ggc3RlbGwgbWlyIGRhcyBlaWdlbnRsaWNoIHNvIHZvciwgZGFzcyBtYW4gYmVpIGRlciBNYXJraWVydW5nIGFuZ2ViZW4ga2FubiwKb2Igc2ljaHRiYXIgb2RlciB1bnNpY2h0YmFyLiBVbmQgYmVpIHVuc2ljaHRiYXIgaGF0IG1hbiBkYW5uIGF1Y2ggZnVlciBTcGllbGVyCm51ciBlaW4gJ3MnIGltIGt3ZXIsIHVuZCBuaWNodCBlaW4gJ3onLiBTb25zdCBrYW5uIG1hbiBzaWNoIGRhcyBhdWNoIGdsZWljaApnYW56IHNwYXJlbi4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoWWFudHJvLCAyNi4gU2VwIDE5OTcsIDE3OjMzOjA2KToKfiMhIHJuPVJpbmdvciBydD04NzUyODc4Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUyNjcwMTcKWndlaXRpZXRvcGxpc3RlIG11c3MgZGFubiBhdWNoIHdlZy4uLiBlbmRsaWNoIGVpbmUgd2VuaWdlci4uIGRpZSBhbmRlcmVuCkxpc3RlbiBnaWJ0IGVzIGRhbm4gendhciBub2NoLCBhYmVyIC4uLi4gbmFqYS4uLiBwYWNrZW4gd2lycyBhbiEgOi0pCgp5YW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZWl0aWVtYXJraWVydW5nc3BmbGljaHQgKEFuYXRvbCwgMjYuIFNlcCAxOTk3LCAxNzozNToyNik6Cn4jISBybj1SaW5nb3IgcnQ9ODc1Mjg3ODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MjY3MDE3CgpadW1hbCBkaWVzZSBJbmZvcm1hdGlvbiwgd2VubiBzaWUgdm9yICJub3JtYWxlbiIgTWFnaWVybiAoRXJ6aXMgc2luZCBuaWNodApub3JtYWwsIG5vY2ggbmllIGdld2VzZW4uLi4pIGhhbGJ3ZWdzIHNpY2hlciBzZWluIHNvbGwsIG5pY2h0IGltIG5vcm1hbGVuClNhdmVmaWxlIHN0ZWhlbiBkYXJmIC0gb2RlciBudXIgbWl0dGVscyBlaW5lciAoaW4gX2FsbGVuXyBTYXZlZmlsZXMKdm9yaGFuZGVuZW4pIFZlcnNjaGx1ZXNzZWx1bmcuCgpFcyBzaWVodCAtIHp1bWluZGVzdCBmdWVyIG1pY2ggLSBuaWNodCBnYW56IHNvIHRyaXZpYWwgYXVzLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoTmlyZGF2bywgMjYuIFNlcCAxOTk3LCAxNzozNjoxMyk6Cn4jISBybj1SaW5nb3IgcnQ9ODc1Mjg3ODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MjY3MDE3CiAgR2VuYXUgc28gd3VlcmRlIGljaCBkaWUgWndlaXRpZW1hcmtpZXJ1bmcgYXVjaCBnZXJuIHVtZ2VzZXR6dCBzZWhlbi4gSWNoCm1vZWNodGUgbWVpbmVuIDJ0aWUsIGRlciBkdXJjaGF1cyBlaW5lIGVpZ2VuZSBQZXJzb2VubGljaGtlaXQgaXN0LCB1bmdlcm4gbWl0CmVpbmVtICd6JyBkdXJjaCBkaWUgR0VnZW5kIGxhdWZlbiBsYXNzZW4uIEljaCBob2ZmZSwgZGFzcyBzaWNoICdkYSBvYmVuJwppcmdlbmR3ZXIgZGFzIG1hbCB6dSBIZXJ6ZW4gbmltbXQuCiAgSW0gdWVicmlnZW4gZmluZGUgaWNoLCBkYXNzIGR1cmNoYXVzIGplZGVyIE1hZ2llciBkYW5uIGVpbmVuIDJ0aWUgZXJrZW5uZW4Ka29lbm5lbiBzb2xsdGUsIHdhcnVtIGRpZXNlIExldmVsYmVzY2hyYWVua3VuZz8gSWNoIGthbm4gZGEgamVkZW5mYWxscyBrZWluZW4KU2lubiBkcmluIHNlaGVuLiBNaXIgZ2VodHMgaGFsdCBudXIgZGFydW0sIGRhc3MgYW5kZXJlIE1pdFNQSUVMRVIgZWluZW4gMnRpZQpuaWNodCBzb2ZvcnQgZXJrZW5uZW4ga29lbm5lbi4KCiAgSnVzdCBteSAyIHBlbm5pZXMsCgogICAgICAgICAgICAgICAgICAgTmlyZGF2bwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoQW5hdG9sLCAyNi4gU2VwIDE5OTcsIDE3OjU0OjIzKToKfiMhIHJuPU5pcmRhdm8gcnQ9ODc1Mjg4MTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MjY3MDE3CgpJY2ggc2NoYWV0emUsIGVzIGdpYnQgZWluZmFjaCB6dSB2aWVsZSBbbV0tW1JdLCBkZW5lbiBtYW4gbmljaHQgenV0cmF1ZW4Ka2FubiwgZGFzcyBzaWUgZGVuIEluaGFsdCBlaW5lcyB2ZXJzdGVja3RlbiBad2VpdGllLUZsYWdzIGZ1ZXIgc2ljaCBiZWhhbHRlbgprb2VubmVuLCB3ZW5uIHNpZSB2b24gZWluZW0gYmVmcmV1bmRldGVuIFNwaWVsZXIgZ2VmcmFndCB3ZXJkZW4uCgpBbmF0b2wuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VpdGllbWFya2llcnVuZ3NwZmxpY2h0IChEaG9qYWt0LCAyNi4gU2VwIDE5OTcsIDE4OjAxOjEwKToKfiMhIHJuPVlhbnRybyBydD04NzUyODc5ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUyNjcwMTcKV2llc28gbXVzcyBkaWUgd2VnPyBEYXMga2FubiBkb2NoIHdpZSBiaXNoZXIgd2VpdGVybGF1ZmVuOiBXZXIgc2ljaHRiYXIKbWFya2llcnQgaXN0LCBrb21tdCBpbiBkaWUgWndlaXRpdG9wbGlzdGUsIGRpZSB1bnNpY2h0YmFyZW4gbm9ybWFsIGluIGRpZQp0b3BsaXN0ZS4KS2VpbiBQcm9ibGVtIGFsc28uCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvcC1saXN0ZSAoaXN0IFJlXjc6WndlaXRpbWFya2llcnVuZ3NwZmxpY2h0LCBhYmVyIGFuZGVyZXMgVGhlbWEpIChEaG9qYWt0LCAyNi4gU2VwIDE5OTcsIDE4OjA2OjM4KToKQWNoamEsIG5vY2ggbmUgQmVtZXJrdW5nOiBGYWxscyBkaWUgdG9wLWxpc3RlbiBtYWwgdmVyc2Nod2luZGVuIHNvbGx0ZW4sIHd1ZXJkCmljaCBtaXIgenVtaW5kZXN0IG5lIG1vZWdsaWNoa2VpdCB3dWVuc2NoZW4sIG1laW5lIHN0cCBhbGxlciA2IGggR0VOQVUgenUKZXJmYWhyZW4sIGljaCBtb2VjaHQgbmFlbWxpY2ggZ2VybiB3aXNzZW4sIHdpZXZpZWxlIGZwIGljaCBpbiBuZW0gZ2ViaWV0CmdlZnVuZGVuIGhhYiwgZGEgZGFzIGZ1ZXIgbWljaCBlaW4gaW5kaWthdG9yIGlzdCwgb2IgaWNoIG5hY2ggbWVpbnVuZyBkZXMKbWFnaWVycyBkYXMgZ2ViaWV0IGd1dCBvZGVyIHNjaGxlY2h0IGFuZ2VzZWhlbiBoYWJlLgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpad2VpdGllbWFnaWVydW5nIC4uLi4gQm9pbmdzIEFydGlrZWwgaW4gYmVrYW5udG1hY2h1bmcgKEtleSwgMjYuIFNlcCAxOTk3LCAxODoyMjozMSk6CkhtbSBCb2luZywgd2FubiBlbnRzY2hlaWRldCBpaHIgZGVubiBlbmRsaWNoIG1hbCB3YXMgbGF1ZmVuIHNvbGwgbWl0IGRlbgpad2VpdGllcz8KCk5laW4gaWNoIHdpZWRlcmhvbGUgamV0enQgbmljaHQgenVtIDEwMG1hbCB3aWUgZGFzIHNvIGlzdCB3ZW5uIG1hbiB3YXMgbWFjaGVuCnNvbGwgdW5kIGRhbmFjaCBlcnN0IGVyZmFlaHJ0IG9iIG1hbiBkYWZ1ZXIgdGllcmlzY2ggaW4gZGVuIGFyc2NoIGdldHJldGVuCmtyaWVndCBvZGVyIG51ciBlaW4gYmlzc2NoZW4gLi4uCgpVbmQgbmViZW5iZWkgLi4uLiBTb2xsIGVzIGVpbmUgdW5zaWNodGJhcmUgbWFya2llcnVuZyBnZWJlbj8gRGFzIHNvbGx0ZSBkb2NoCmRhbm4gYXVjaCBlcnN0bWFsIGFuZ2VzY2hsb3NzZW4gd2VyZGVuIC4uLgoKU2Nob2VuIGRpZSBGcmlzdCB3dXJkZSBiaXMgZW5kZSBva3RvYmVyIGdlc2V0enQsIGRpZSBlcnN0ZW4gYWVuZGVydW5nZW4gZGFtaXQKbWFuIGRpZXNlIEZyaXN0IGVpbmhhbHRlbiBrb25udGUga2FtZW4gbmFjaCBkZXIgZnJpc3RzZXR6dW5nIC4uLgoKUGxhbnQgZG9jaCBlcnN0bWFsIGZlcnRpZywgdW5kIGZvcmRlcnQgZGFubiAuLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb3AtbGlzdGUgKGlzdCBSZV43Olp3ZWl0aW1hcmtpZXJ1bmdzcGZsaWNodCwgYWJlciBhbmRlcmVzIFRoZW1hKSAoQ2F0d2VhemxlLCAyNi4gU2VwIDE5OTcsIDE5OjQ3OjI4KToKfiMhIHJuPURob2pha3QgcnQ9ODc1Mjg5OTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1Mjg5OTk4CkdhciBrZWluZSBzY2hsZWNodGUgQmVncnVlbmR1bmcgOi0pClRyb3R6ZGVtIEh1bWJ1Zy4KSWNoIGJpbiBtaXR0bGVyd2VpbGUgZG9jaCBmdWVyIGVpbmUgQWJzY2hhZmZ1bmcgZGVyIFRvcGxpc3Rlbi4KS2FubiBkaWUgbWFsIGplbWFuZCBsb2VzY2hlbj8KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoQ2F0d2VhemxlLCAyNi4gU2VwIDE5OTcsIDE5OjU0OjE3KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODc1Mjg4MTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MjY3MDE3CgpBbHNvIGRhcyBrbGluZ3QgZG9jaCBhbGxlcyBudXIgbmFjaCBkdW1tZW4gQXVzcmVkZW4sIGRhbWl0ICdTcGllbGVyJwpzZWluZW4gbGFuZ2UgZ2VoZWd0ZW4gdW5kIGd1dCB2ZXJzdGVja3RlbiBad2VpdGllIG5pY2h0IHByZWlzenVnZWJlbgpicmF1Y2h0LiBad2VpdGllIGlzdCBoYWx0IFp3ZWl0aWUsIFB1bmt0LiBVbmQgZGFzIGthbm4gZnVlciAnU3BpZWxlcicKYXVjaCBkdXJjaGF1cyBzaWNodGJhciBzZWluLi4uIHNvbGx0ZSBzb2dhci4KRGllIFRhdHNhY2hlIF93ZXNzZW5fIFp3ZWl0aWUgbWFuIGlzdCwga2FubiBtYW4gbWVpbmV0d2VnZW4gZnVlciAKTmljaHRtYWdpZXIgdW5zaWNodGJhciBtYWNoZW4sIGRhcyAneicgc29sbHRlIHNjaG9uIGJsZWliZW4uIEljaCBrYW5uCmRhYmVpIGtlaW5lbiBncm9zc2VuIFByb2dyYW1taWVyYXVmd2FuZCBlcmtlbm5lbi4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgpQUzogQWNoamEsIHdpciBrb2VubmVuIG1hbCBXZXR0ZW4gYWJzY2hsaWVzc2VuLiBJY2ggd2V0dGUsIGRhcyBzcGFldGVzdGVucwogICAgbmFjaCAzIE1vbmF0ZW4gaXJnZW5kZWluIHN1cGVyY29vbGVzIFRvb2wgZ2Vwcm9nZ3QgaGF0LCBtaXQgZGVuIG1hbgogICAgZGVuIEVyc3RzcGllbGVyIGVpbmVzIFp3ZWl0aWVzIGFuZ2V6ZWlndCBiZWtvbW10IDooCiAgICBXZXIgaGFlbHQgZGFnZWdlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVG9wLWxpc3RlIChpc3QgUmVeNzpad2VpdGltYXJraWVydW5nc3BmbGljaHQsIGFiZXIgYW5kZXJlcyBUaGVtYSkgKEx1ZywgMjcuIFNlcCAxOTk3LCAwMTowMzo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc1Mjk2MDQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1Mjg5OTk4Ck1vaW4sCgpzdGltbWUgQ2F0IHZvZWxsaWcgenUuIEJ6dzogaWNoIGF1Y2gsIGljaCBhdWNoISA7KQoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpad2VpdGllbWFya2llcnVuZyAoS2V5LCAyNy4gU2VwIDE5OTcsIDIzOjE1OjI0KToKSG1tbSAuLi4KCldpZXNvIHNpZWh0IG1hbiBkZW4gTmFtZW4gZGVzIEVyc3RpZXMgbmljaHQgbWVociBiZWkgZGVuIFp3ZWl0aWVzPwpBbHNvIHdlbm4gaWNoIG1laW5lIG1hcmtpZXJlIGRhbm4gZG9jaCBiaXR0ZSBtaXQgTmFtZW4gLi4KT2RlciBoYWJ0IGlociBqZXR6dCBldHdhIG51ciBkZW4gTmFtZW4gdW5zaWNodGJhciBnZW1hY2h0Pz8/CgpBc2xvIHdlbm4gLi4uIGRhcyB3YXIgbmljaHQgZGVyIFd1bnNjaCAuLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZWl0aWVtYXJraWVydW5nc3BmbGljaHQgKFRyYW5jZWZlYXIsIDI4LiBTZXAgMTk5NywgMTc6NDQ6NDUpOgp+IyEgcm49QW5hdG9sIHJ0PTg3NTI4ODEyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTI2NzAxNwpFY2h0IG5pY2h0PyA6LSkgU29uIERpbmcgYSBsYSBFeHBsb3JhdGlvbm1hc3RlciBtaXQgU2F2ZWZpbGUgaW4gL3NlY3VyZS9BUkNICndvIE5VUiBkaWUgRXJ6ZSByYW5rb2VubmVuIHNvbGx0ZSBzb28gc2Nod2VyIG5pY2h0IHNlaW4sIG5pY2h0bWFsIGZ1ZXIgRGljaC4uLgo6LSkKClQuRi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhZWRlbiAoR2xvaW4sIDI4LiBTZXAgMTk5NywgMjI6NTU6MzcpOgpLYW5uIGVzIHNlaW4sIGRhc3MgZWluIE1hZ2llciBhbiBkZXIgQmFzaXNrbGFzc2UgZGVzIExhZGVucyBydW1nZWJvc3NlbHQKaGF0IHVuZCBkYWJlaSBzaWNoIGVpbiBTcGFjZSBnZXNjaGVua3QgaGF0LCBvZGVyIHNlaGUgaWNoOgouLi4gdW5kIGxlZ3QgaWhuenUgc2VpbmVuIFByaXZhdHNhY2hlbi4gYnp3LgouLi4gbGVndCBzaWV6dSBzZWluZW4gUHJpdmF0c2FjaGVuLgogICAgICAgICBeXl5eXiBoZXV0ZSBudXIgZGFzIGVyc3RlIE1hbD8KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRvcC1saXN0ZSAoaXN0IFJlXjc6WndlaXRpbWFya2llcnVuZ3NwZmxpY2h0LCBhYmVyIGFuZGVyZXMgVGhlbWEpIChXYXJnb24sIDI5LiBTZXAgMTk5NywgMTA6NTM6NTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3NTI5NjA0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTI4OTk5OApOaW1tIGRvY2ggZWluZmFjaCBkYXMgZW50c3ByZWNoZW5kZSBTY3JpcHQgYXVzIGRlciBDcm9udGFiLCBkYW5uIGthbm4gbWFuIGF1Y2gKTWl0dGFncyB6d2lzY2hlbiAxMiB1bmQgMTQgVWhyIHZlcm51ZW5mdGlnIGFuIHBhc2NhbCBhcmJlaXRlbiA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZW1hcmtpZXJ1bmdzcGZsaWNodCAoQWNyaW1vbiwgMjkuIFNlcCAxOTk3LCAxNjozNzo1OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc1Mjk2NDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1MjY3MDE3CjEuIEVzIGdpYnQgU3BpZWxlciwgZGllIGlocmVuIFp3ZWl0aWUgYWxzIEhhbmRsYW5nZXIgbWl0IHNpY2ggZnVlaHJlbiB1bmQgaWhuCmF1Y2ggc28gYmVoYW5kZWxuLiBEaWVzZSBTcGllbGVyIHdvbGxlbiBpbiBkZW4gbWVpc3RlbiBGYWVsbGVuIGlocmVuIFp3ZWl0aWUKc2ljaHRiYXIgbWFya2llcmVuLCBhbSBiZXN0ZW4gbWl0IGRlbSBOYW1lbiBkZXMgRXJzdGllcy4KMi4gRXMgZ2lidCBTcGllbGVyLCBkaWUgbWVociBhbHMgbnVyIGVpbmVuIHZvbGxrb21tZW4gZWlnZW5zdGFlbmRpZ2VuCkNoYXJha3RlciBzcGllbGVuLiBEaWVzZSBzaW5kIGFscyBFcnN0aWVzIHp1IGJlaGFuZGVsbiwgb2J3b2hsIHNpZSBhbGxlIHZvbQpzZWxiZW4gU3BpZWxlciBnZXN0ZXVlcnQgd2VyZGVuLiBFaW5lIE1hcmtpZXJ1bmcga29tbXQgZGFoZXIgbnVyIGluIEZyYWdlLAp3ZW5uIHNpZSB2b2xsa29tbWVuIHVuc2ljaHRiYXIgaXN0IGJpcyB6dSBlaW5lbSBiZXN0aW1tdGVuIE1hZ2llcmxldmVsLgpCZXN0ZWh0IGZ1ZXIgU3BpZWxlciBkaWUgTW9lZ2xpY2hrZWl0IGhlcmF1c3p1ZmluZGVuLCBkYXN6IGRlciBTcGllbGVyIGRpZXNlbgpDaGFyYWt0ZXJzIGF1Y2ggbm9jaCBlaW5lbiBhbmRlcmVuIENoYXJha3RlciBzdGV1ZXJ0LCBkYW5uIGtvbW10IGVpbmUKTWFya2llcnVuZyBuaWNodCBtZWhyIGluIEZyYWdlLgozLiBUZWFta2FtcGYga2FubiBudXIgZWluZ2VmdWVocnQgd2VyZGVuLCB3ZW5uIGFsbGUgWndlaXRpZXMgLSBvYiBzaWNodGJhcgpvZGVyIHVuc2ljaHRiYXIgLSBtYXJraWVydCBzaW5kLgoKQXVzIDEuIHVuZCAyLiB1bmQgMy4gZm9sZ3Q6IEVzIGdpYnQgbnVyIGVpbmUgZWluemlnZSBNb2VnbGljaGtlaXQsIGRpZSB6dXIKSW1wbGVtZW50aWVydW5nIGRlcyBUZWFta2FtcGZlcyBmdWVocmVuIGthbm46CkRpZSBad2VpdGllbWFya2llcnVuZyB3aXJkIGRlcm1hc3plbiBpbXBsZW1lbnRpZXJ0LCBkYXN6CmEpIGplZGVyIFNwaWVsZXIgc2VpbmUgWndlaXRpZXMgbmFjaCBCZWxpZWJlbiBzaWNodGJhciBvZGVyIHVuc2ljaHRiYXIKbWFya2llcmVuIGthbm4sCmIpIHVuc2ljaHRiYXJlIFp3ZWl0aWVtYXJraWVydW5nZW4gZnVlciBhbGxlIFNwaWVsZXIgdW5kIGFsbGUgTWFnaWVyIGJpcyB6dQplaW5lbSBiZXN0aW1tdGVuIE1hZ2llcmxldmVsIGF1ZiBrZWluZSBXZWlzZSBlcmthbm50IHdlcmRlbiBrb2VubmVuLApjKSBmdWVyIENoYXJha3RlcmUgbWl0IFp3ZWl0aWVtYXJraWVydW5nZW4gbnVyIE5hY2h0ZWlsZSBhdWZ0cmV0ZW4sIGRpZSBtYW4KbWl0IG5vcm1hbGVuIE1pdHRlbG4gc293aWVzbyBoYWV0dGUsIHouQi4ga2VpbmUgendlaSBDaGFyYWt0ZXJlIGRlc3NlbGJlbgpTcGllbGVycyBpbiBkZXJzZWxiZW4gR3J1cHBlOwpkKSBkaWUgVm9ydGVpbGUgZGVyIFp3ZWl0aWVtYXJraWVydW5nIGRpZSBOYWNodGVpbGUgdWViZXJ3aWVnZW4sIHouQi4KYXVzdGF1c2NoYmFyZSBaZWl0dW5nIHp3aXNjaGVuIGFsbGVuIENoYXJha3RlcmVuIGVpbmVzIENoYXJha3RlcnMuCgpXaXJkIGRpZSBad2VpdGllbWFya2llcnVuZyBfbmljaHRfIGF1ZiBkaWVzZSBXZWlzZSBpbXBsZW1lbnRpZXJ0LCBkYW5uCmZ1bmt0aW9uaWVydCBkaWUgWndlaXRpZW1hcmtpZXJ1bmcgbmljaHQsIHdlaWwgZXMgTGV1dGUgZ2ViZW4gd2lyZCwgZGllIGlocmUKWndlaXRpZXMgbmljaHQgbWFya2llcmVuIC0gdW5kIGRhbm4gd2lyZCBlcyBhdWNoIGtlaW5lbiBUZWFta2FtcGYgZ2ViZW4uCkRhcyBtdXN6IHNvZ2FyIGVpbiBFcnptYWdpZXIgZWluc2VoZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKClBTOiBEaWUgVG9wLUxpc3RlbiBoYWJlbiBlaW5lbiBiZXNvbmRlcmVuIFJlaXouIEZhbGxlbiBzaWUgd2VnLCBkYW5uIHdpcmQgZGFzCk1HIGFlcm1lciwgdW5kIGljaCBmYWVuZGUgZXMgc2VociBzY2hhZGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBad2VpdGllbWFya2llcnVuZ3NwZmxpY2h0IChHbm9tZSwgMjkuIFNlcCAxOTk3LCAxNzowMjozMik6Cn4jISBybj1BY3JpbW9uIHJ0PTg3NTU0Mzg3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NTI2NzAxNwpobW1tLi4uIHdhcyBzb2wgaWNoIHNhZ2VuPwpiaW4gYXVzbmFobXNsb3MgZGVpbmVyIG1laW51bmcsIGFjcmltb24uIDotKQpob2ZmZW50bGljaCB3aXJkIGVzIGF1Y2ggc28gdW1nZXNldHp0LgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp3ZWl0aWVtYXJraWVydW5nc3BmbGljaHQgKE5pcmRhdm8sIDI5LiBTZXAgMTk5NywgMTg6MTU6MjMpOgp+IyEgcm49QWNyaW1vbiBydD04NzU1NDM4Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzUyNjcwMTcKICBKYSwgamEsIGphLCBnZW5hdSBBY3JpbW9uISBHZW5hdSBzbyB3b2xsdGUgaWNoIGVzIGVpZ2VudGxpY2ggYXVzZHJ1ZWNrZW4sCmhhYiBlcyBhYmVyIG5pY2h0IGhpbmJla29tbWVuLiAqSWNoKiB3ZXJkZSBqZWRlbmZhbGxzIG1pdCBkZXIgTWFya2llcnVuZwptZWluZXMgKlNwaWVsendlaXRpZXMqIG5vY2ggc28gbGFuZ2Ugd2FydGVuLCBiaXMgZGFzIHVuc2ljaHRiYXIgcGFzc2llcmVuCmthbm4uIFdlbm4gaWNoIGVpbmVuIEJhbmsvVHJhZ2UvU2NobGFnZmFuZzJ0aWUgYnJhdWNoZSwgZGFubiBrYW5uIGljaCBkZW4gYXVjaAp2b2VsbGlnIG9mZmVuIG1hY2hlbiwgd2FzIGR1cmNoYXVzIHNpbm52b2xsIGlzdCAoc2llaGUgVGVhbWthbXBmKS4gCgogICAgICBOaXJkYXZvLCBkZXIgbWFsIEFjcmltb24genVzdGltbXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldWVzIEVuZGUgKEhhcmRpbCwgMzAuIFNlcCAxOTk3LCAxMjoxNDoyNik6CgpKdXN0IDIgcGVubmllczoKCkRhbWl0IGljaCBkaWUgbmV1ZSBhbmdlcHJpZXNlbmUgaW5mbyBiZWtvbW1lbiBrb25udGUsIHdvbGx0ZSBpY2ggZ2VyYWRlIGltClNlaGVyaGF1cyBlbmRlIG1hY2hlbi4KR2VodCBuaWNodCwgd2VpbCBpY2ggZ2VyYWRlIGViZW4gZWluZW4gR2FyZGV3YWVjaHRlciB0b3QgZ2VtYWNodCBoYWJlLgpTZWx0c2FtLiBEZXIgV2FlY2h0ZXIgaXN0IHRvdCwgdW5kIGljaCBrYW5uIHRyb3R6ZGVtIG5pY2h0IGVuZGUgbWFjaGVuLi4uCkFjaGphLCB1bmQgZWluIEtvbW1hZmVobGVyIGlzdCBpbiBkZXIgTWVsZHVuZyBhdWNoIGRyaW4uCgotSGFyZGlsLiBWZXJ3aXJydC4KLiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZXJnZS9FbGZlbiAoR2xvaW4sICAxLiBPa3QgMTk5NywgMDE6MjE6NTYpOgpJY2ggbW9lY2h0ZSBub2NobWFsIGRhcnVtIGJpdHRlbiwgZGFzcyBzaWNoIG1hbCBlaW4gR290dCBhbnNjaGF1dCwgd2FydW0Kd2lyIFp3ZXJnZSBqZXR6dCBkcmF1c3NlbiBzY2huZWxsZXIgaWRsZW4gdW5kIGRyaW5uZW4gbGFuZ3NhbWVyLCB1bmQgZGllcwpmaXh0LiBJY2ggaGFiZSBrZWluZSBncm9zc2UgTHVzdCwgd2VpdGVyIGluIHN0aW5rZW5kIGdydWVuZW4gRWxmZW53YWVsZGVybgpsdXN0d2FuZGVsbiB6dSBtdWVzc2VuLiBNaXIgc2luZCB0aWVmZSBpbiBkYXMgR2VzdGVpbiBnZXRyaWViZW5lIFN0b2xsZW4KbnVuIGVpbm1hbCBsaWViZXIuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZXJnZS9FbGZlbiAoU2lsdmFuYSwgIDEuIE9rdCAxOTk3LCAwODo1NjozMSk6Cn4jISBybj1HbG9pbiBydD04NzU2NjE3MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzU2NjE3MTYKRWlnZW50bGljaCB3b2xsdCBpY2ggbWljaCBncmFkIGRydW0ga3VlbW1lcm4sIGFiZXIgZGEgaWNoIGtlaW4gR290dCBiaW4uLi4KU2lsdmFuYSAtIG5pY2h0IEFtdHNhbm1hc3NlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndlcmdlL0VsZmVuIChTaWx2YW5hLCAgMS4gT2t0IDE5OTcsIDA5OjUwOjI0KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODc1Njg4OTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1NjYxNzE2Ck5hamEsIGljaCB3aWxsIG1hbCBuaWNodCBzbyBzZWluLiBEZXIgQnVnIGlzdCByYXVzLiBFcyBhZW5kZXJ0IHNpY2ggYWJlcgpudXIgd2FzLCB3ZW5uIGlociB6d2lzY2hlbmR1cmNoIG1hbCAnZW5kZScgbWFjaHQsIG9kZXIgZXMgcmVib290ZWQgd2lyZC4KICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlcmdlL0VsZmVuIChDYXJhZGhyYXMsICAyLiBPa3QgMTk5NywgMTY6NDY6MDUpOgp+IyEgcm49R2xvaW4gcnQ9ODc1NjYxNzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc1NjYxNzE2CkFsc28gaWNoIGlkbGUgZHJpbm5lbiBnZW5hdXNvc2NobmVsbCB3aWUgZHJhdXNzZW4uICprcmF0eioKS29taXNjaCBoaWVyLiA6KSBHZWh0IGRhcyBiZWkgRGlyIGVjaHQgYW5kZXJzLCBHbG9pbj8KCiAgICBzb3JyeSwgY291bGRuJ3QgcmVzaXN0ICAgICAgICBCZXJnY2hlbiBDYXJhZGhyYXMgLSAqQVUqRWxmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnVnIGJlaSBkZW4gWlRzLiAoRnl0LCAgMy4gT2t0IDE5OTcsIDA5OjM1OjI5KToKfiMhIHJuPVlhbnRybyBydD04NzU4MTc2NDQgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTg3NTgxNzY0NApEdSBtZWluc3QgZG9jaCBob2ZmZW50bGljaCBkYXMgQmFja3VwIHZvbSAxLjEwLjE5OTQsIG9kZXI/CgpIb2ZmbnVuZ3N2b2xsLCBGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptZW10ZXN0IChDYXR3ZWF6bGUsICA2LiBPa3QgMTk5NywgMTY6NTU6MjEpOgpNb2luIQoKU28sIGljaCB3ZXJkZSBpbiBLdWVyemUgZGVuIFJlY2huZXIgYm9vdGVuLiAKRGEgei5aLiBkaWUgS2lzdGUgZGF1ZXJuZCBhYnNjaG1pZXJ0LCB3aWxsIGljaCAoYSkgbWFsIHJlaW5zZWhlbiBvYiAKZXIgenUgaGVpc3Mgd2lyZCB1bmQgdm9yIGFsbGVtIChiKSBlaW5lbiBTcGVpY2hlcnRlc3QgbGF1ZmVuIGxhc3Nlbi4KRGFzIGthbm4gZWluaWdlIFplaXQgZGF1ZXJuLCBpY2ggcmVjaG5lIG1pdCAyLTMgU3R1bmRlbi4KClNvcnJ5LApZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZCBkb3duIChDYXR3ZWF6bGUsICA4LiBPa3QgMTk5NywgMDg6NTU6NTMpOgpNb2luIQogCkluIHZlcmRhY2h0IGF1ZiBTcGVpY2hlcnByb2JsZW1lIGhhYmUgaWNoIGdlc3Rlcm4gYWJlbmQgZGVuIApNRy1SZWNobmVyIGF1c2dlc2NoYWx0ZXQsIHVtIGRpZSB1ZWJlcmhpdHp0ZW4gU3BlaWNoZXJiYXVzdGVpbmUKYWJrdWVobGVuIHp1IGxhc3Nlbi4KSGV1dGUgbW9yZ2VuIGJlaW0gaG9jaGZhaHJlbiBzaW5kIGplZG9jaCBkaWUgZ2xlaWNoZW4gRmVobGVyIAp3aWVkZXIgYXVmZ2V0cmV0ZW4sIHNvIGRhc3MgaWNoIGVpbiBTcGVpY2hlcnByb2JsZW0gZWlnZW50bGljaAphdXNzY2hsaWVzc2VuIG1vZWNodGUuIEVpbiBUZW1wZXJhdHVycHJvYmxlbSBoYWV0dGUgaWNoIHZlci0Kc3RhbmRlbiA6LSgKSWNoIHRpcHBlIGF1ZiBlaW4gRHJpdmVycHJvYmxlbSB1bmQgaG9mZmUsIGRhcyBlaW4gZmFlaGlnZXIgCkVyem1hZ2llciBzaWNoIGRlciBTYWNoZSB6dWVnaWdzdCBhbm5pbW10LgogCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZCBkb3duIChDYXR3ZWF6bGUsICA4LiBPa3QgMTk5NywgMTg6NDg6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3NjI5Mzc1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NjI5Mzc1MwpNb2luIQoKSW4gZGVyIFZlcm11dHVuZyBhdWYgZWluZSBkZWZla3RlIFBsYXR0ZSBoYWJlbiB3aXIgaGV1dGUgbWl0YWcvbmFjaG1pdHRhZwpkZW0gTUctUmVjaG5lciBlaW5lbiBuZXVlbiBLZXJuZWwgdW5kIGVpbiBuZXVlcyBGaWxlc3lzdGVtIGZ1ZXIgZGllCkRhdGVucGxhdHRlCnZlcnBhc3N0LiAKR2Vob2xmZW4gaGF0cyBsZWlkZXIgbml4IDooCk5lYmVuIHZlcm11dGxpY2hlbiBLb21wbGlrYXRpb25lbiB6d2lzY2hlbiBkcml2ZXIgdW5kIG11ZGxpYiBzdGVoZW4gZGVtbmFlY2hzdApwcm9iZWhhbGJlciBTcGVpY2hlciB1bmQgUGxhdHRlbnRhdXNjaCwgc29iYWxkIGljaCBnZWVpZ25ldGUgQXVzdGF1c2NoLQp0ZWlsZSBiZXNvZ3QgaGFiZS4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWQgZG93biAoVHJhbmNlZmVhciwgIDguIE9rdCAxOTk3LCAxOTo0OTowOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc2MzI5Mjg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2MjkzNzUzClZpZWxsZWljaHQgaXN0IGphIGRhcyBNYWluYm9hcmQgZWluZmFjaCBuaWNodCBkaW1lbnNpb25pZXJ0IGZ1ZXIgZGVuCipEYXVlcmJldHJlaWIqIG1pdCAyNTYgTUJ5dGUgUkFNIChiemdsLiBTdHJvbXZlcmJyYXVjaCB1c3cpLgoKVC5GLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVkIGRvd24gKFd1cnplbCwgIDguIE9rdCAxOTk3LCAxOTo1MDozNSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg3NjMzMjk0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NjI5Mzc1MwplaW4gcGMgaXN0IGVpZ2VudGxpY2ggcHJpbnppcGllbGwgbmljaHQgZnVlciBkYXVlcmJldHJpZWIgYXVzZ2VsZWd0Li4uCndlciBzcGVuZGV0IGVpbmUgc3VuPyBkYXMgd3VlcmRlIGVpbmlnZSBwcm9ibGVtZSBsb2VzZW4gOikKCnd1cnplbAoKLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZCBkb3duIChLZXksICA4LiBPa3QgMTk5NywgMTk6NTI6NDYpOgp+IyEgcm49V3VyemVsIHJ0PTg3NjMzMzAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NjI5Mzc1MwpBbHNvIHVuc2VyZSBQY3MgbGF1ZmVuIGhpZXIgaW0gZGF1ZXJiZXRyaWViIHVuZCB1bnRlciBsaW51eCBlaW53YW5kZnJlaSAuLi4KZGVyIGVpbmUgd3VyZGUgenVsZXR6dCB2b3IgMiBtb25hdGVuIG9kZXIgc28gYWJnZXNjaGFsdGV0IDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWQgZG93biAoTWFyY3VzLCAgOC4gT2t0IDE5OTcsIDIxOjQ3OjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzYyOTM3NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzYyOTM3NTMKYnpnbC4gZHJpdmVycHJvYmxlbQoKSWNoIGJpbiB6d2FyIG1heGltYWwgR2FzdC1FcnptYWdpZXIsIGFiZXIgaWNoIGhhYmUgZ2VzdGVybiBzY2hvbiBtYWwgZWluZW4KQmxpY2sgaW4gZGllIGNvcmVmaWxlcyBnZXdvcmZlbi4KRXIgaXN0IGFuIGRlbiB1bnRlcnNjaGllZGxpY2hzdGVuIHN0ZWxsZW4gYW4ga2FwdXR0ZW4gU3BlaWNoZXJpbmhhbHRlbiAKZ2VjcmFzaGVkLCB3YXMgbWljaCBzdGFyayB2ZXJtdXRlbiBsYWVzc3QsIGRhcyBpcmdlbmRlaW5lIEtvbXBvbmVudGUgaW0KUmVjaG5lcgoobmljaHQgdW5iZWRpbmd0IGRlciBTcGVpY2hlcikgbmljaHQgbWFnLiAKCk1hcmN1cyAoZGVyemVpdCBoZWltYXRsb3MpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEV05FV1M/IChZZW5kaSwgIDkuIE9rdCAxOTk3LCAxNDo1MTo0MSk6CgpLYW5uIG1pciBqZW1hbmQgc2FnZW4sIHdhcnVtIGRpZSBSdWJyaWsgImR3bmV3cyIga2VpbmUgQXJ0aWtlbCBlbnRoYWVsdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRFdORVdTPyAoV2FyZ29uLCAgOS4gT2t0IDE5OTcsIDE1OjA0OjE5KToKfiMhIHJuPVllbmRpIHJ0PTg3NjQwMTUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NjQwMTUwMQpOaXggTmV1ZXMgYXVmIGRlciBXZWx0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEV05FV1M/IChZZW5kaSwgIDkuIE9rdCAxOTk3LCAxNTowNTozMyk6Cn4jISBybj1XYXJnb24gcnQ9ODc2NDAyMjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2NDAxNTAxCgpOYSwgZGEgbXVzcyBkaWUgV2VsdCBhYmVyIGF1ZiBlaW5tYWwgemllbWxpY2gga2xlaW4gZ2V3b3JkZW4gc2Vpbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVkIGRvd24gKE1hcmN1cywgMTAuIE9rdCAxOTk3LCAxOTowNzoyOSk6Cn4jISBybj1NYXJjdXMgcnQ9ODc2MzQwMDMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2MjkzNzUzCkhpLgoKSWNoIG5laG1lIGRhcyB3YXMgaWNoIGluIG1laW5lbSBsZXR6dGVuIFBvc3Rpbmcgdm9uIEhhcmR3YXJlcHJvYmxlbWVuIGVyemFlaGx0CmhhYmUgenVydWVjay4KRGFzIENyYXNocHJvYmxlbSAqV0FSKiBlaW4gRHJpdmVycHJvYmxlbS4gSWNoIGhhYiBkZW4gQnVnIGdlZml4dCB1bmQgZGFzIE1HCnNvbGx0ZSBqZXR6dCBuaWNodCBtZWhyIGRhcmFuIGNyYXNoZW4uIAoKSGFwcHkgTXVkZGluZywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3RncnVuZCAoT3JrdG9ldGVyLCAxMy4gT2t0IDE5OTcsIDE2OjAxOjQ5KToKSGV1dGUgKE1vIGRlbiAxMy4xMCkgZ2FiIGVzIGVpbmVuIFJlYm9vdC4KR3J1bmQgd2FyLCBkYXMgZGFzIGZ0cCBpbiBNdWVuc3RlciBuaWNodCBvcmRlbnRsaWNoIGxpZWYuCgpPcmtULgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3RncnVuZCAoU211cmYsIDEzLiBPa3QgMTk5NywgMTY6MDU6NDUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg3Njc1MTMwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3Njc1MTMwOQpVbmQgd2llc28gbXVzcyBkYXMgTXVkIHJ1bnRlciwgd2VubiBkZXIgRlRQIGtsZW1tdD8KTWFjaHQgZGFzIGRlciBHYW1lZHJpdmVyPyBEb2NoIHdvaGwgbmljaHQuLi5vZGVyPwoKRGllIEF1ZnJhZXVtYXJiZWl0LCBkaWUgZWluIFJlYm9vdCBtYWNodCAocmUgRlRQLVp1Z2FuZyksIGRpZQprYW5uIGljaCBhdWNoIG1hbnVlbGwgbWFjaGVuLgoKU211cmYsIGxlaWNodCBnZWZydXN0ZXQgZGFzcyBlciBqZXR0eiB3aWVkZXIgcnVtcmVubmVuIGRhcmYuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290Z3J1bmQgKEZyZXVuZCwgMTMuIE9rdCAxOTk3LCAxNzowNTo0NSk6Cn4jISBybj1TbXVyZiBydD04NzY3NTE1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY3NTEzMDkKCi4uLnVuZCBnZWhvbGZlbiBoYXQncyBuaXguIDotKAoKRnJldW5kLCBicmF1Y2h0IG1hbCBlaW5pZ2UgRmlsZXMgenVyIFBmbGVnZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29kZWxlIChLZXksIDEzLiBPa3QgMTk5NywgMjA6MTU6MzUpOgpTbyBhdXMgZ2VnZWJlbmVtIEFubGFzcyB3aXJkIG1vcmdlbiBmcnVlaCB1bSA3OjMwIGRlciBrbGVpbmUgQXJtYWdlZGRvbiBkYXMKTW9yZ2VuZ3JhdWVuIGV0d2FzIG5hamEgLi4uIHplcnN0b2VocmVuIDspCgpMZWlkZXIgbXVzcyBkaWVzZXIgUmVib290IHNlaW4sIHVuZCBkaWUgYWx0bmVyYXRpdmUgZGF6dSB3YWVyZSBlaW4KdW5hbmdla3VlbmRpZ3RlciAuLi4KCkFsc28gc2Nob2VuIG1vcmdlbiBtaXQgbmV1ZXIgcnVlIGFuZmFuZ2VuIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb2RlbGUgKEtleSwgMTQuIE9rdCAxOTk3LCAxMDoxNTo1Nik6Cn4jISBybj1LZXkgcnQ9ODc2NzY2NTM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2NzY2NTM1ClNvIC4uLiBlaW4gc2Nob2VuZXIgbmV1ZXIgVGFnIGhhdCBiZWdvbm5lbiwgb2huZSBSZWJvb3QuCgpEYSBlaW4gbmV0dGVyIEVyem1hZ2llciBuYW1lbnMgS2lyayBzY2hlaW5iYXIgZ2VybmUgTGV1dGUgdmVyYWVwcGVsdCBvZGVyIHdhcwp3ZWlzcyBpY2ggaGF0IGRlciBSZWJvb3QgbmljaHQgc3RhdHQgZ2VmdW5kZW4gdW5kIHdpcmQgYXVmICJpbiBuYWVjaHN0ZXIgWmVpdCIKdmVyc2Nob2JlbiAuLi4gRGFzIGthbm4gdm9uIGpldHp0IGJpcyBpbiAzIFdvY2hlbiBzZWluLgoKQWxzbyBiZWkgZXZ0bCBCZXNjaHdlcmRlbiB1ZWJlciBkZW4gTWlzdCBiZWkgS2lyayBtZWxkZW4gLi4uCgpLZXkKClAuUy46IFdlciBzaWNoIGF1ZiBlaW5lbiBFcnppZSB2ZXJsYWVzc3QgaXN0IHZlcmxhc3NlbiAuLi4gRGllc2UgRXJrZW5udG5pcwppc3QgdHJhdXJpZyBhYmVyIHNjaGVpbmJhciB3YWhyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb2RlbGUgKEtleSwgMTQuIE9rdCAxOTk3LCAxMDoxNzoxNyk6Cn4jISBybj1LZXkgcnQ9ODc2ODE2OTU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2NzY2NTM1CkFjaGphIC4uIGljaCBlbnRzY2h1bGRpZ2UgbWljaCBiZWkgYWxsZW4gZGllIG1pciBnZWdsYXVidCBoYWJlbiAuLi4KCkhhYiBzZWxic3QgZ2VudWcgdmVybG9yZW4gLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IGhldXRlIHZvcm1pdHRhZyAoQm9pbmcsIDE1LiBPa3QgMTk5NywgMTM6MDU6MTcpOgpIZXV0ZSB2b3JtaXR0YWcgd3VyZGUgZGVyIFJlY2huZXIgcmVib290ZWQsIHVtIGRhcyBrYXB1dHRlIEZUUCB3aWVkZXIgenUKYWt0aXZpZXJlbi4KTnVyIHp1ciBJbmZvLAogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpURiBmdWVyIHdpbmRvd3MgKERhbnRlLCAxNS4gT2t0IDE5OTcsIDE0OjI0OjE1KToKa2FubiBtaXIgamVtIGRpZSBhZHJlc3NlIHNhZ2VuIHVudGVyIGRlciBtYW4gbmUgVEZ2ZXJzaW9uIGZ1ZXIgd2luZG93cwpiZWtvbW10PwpEYW5rZTopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVEYgZnVlciB3aW5kb3dzIChCaGFtaXIsIDE1LiBPa3QgMTk5NywgMTc6Mjc6MDUpOgp+IyEgcm49RGFudGUgcnQ9ODc2OTE4MjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2OTE4MjU1CkxhdXQgSG9tZXBhZ2Ugdm9uIEtlbktleXMgKEF1dG9yIHZvbiBURikgaXN0IGVpbmUgVmVyc2lvbiBmdWVyIFdpbjMyIChhbHNvIDk1CnVuZCBOVCkgaW4gQXJiZWl0LiBFciBoYXQgYWJlciBub2NoIGtlaW5lIFZlcnNpb24gKG5pY2ggbWFsIEFscGhhKSBpbnMgTmV0eiAKZ2VzdGVsbHQuIER1IHdpcnN0IGFsc28gbm9jaCBldHdhcyB3YXJ0ZW4gbXVlc3Nlbi4KU2VlIHlvdQpCaGFtaXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRGIGZ1ZXIgd2luZG93cyAoU2hhcmlhLCAxNS4gT2t0IDE5OTcsIDE3OjI5OjUwKToKfiMhIHJuPUJoYW1pciBydD04NzY5MjkyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY5MTgyNTUKRXMgZ2FiIG1hbCBqZW1hbmRlbiBkZXIgZWluZSB0Zi12ZXJzaW9uIGZ1ZXIgV2luZG9vZiAob2RlciB3YXJzIERvcyA6LSkgKQpoYXR0ZSB1bmQgZGllIHBhZ2UgYW5nZWdlYmVuIGhhdCB3b3MgbGllZ3QuLi4gaWNoIGhhdHRlIG1pciBkYXMgbWFsIGdlem9nZW4KdW5kIGluc3RhbGxpZXJ0IC4uIGxpZWYgYWJlciBsZWlkZXIgbnVyIFNFSFIgYnVnZ2VuZC4uIGljaCBkZW5rZSBkYW5uIGxpZWJlcgphdWYgZGllIFZlcnNpb24gdm9uIEtlbktleSB3YXJ0ZW4uLi4gCihrZWluZSBhaG51bmcgd28gaWNoIGRhcyBnZXpvZ2VuIGhhdHRlKQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVEYgZnVlciB3aW5kb3dzIChGcmV1bmQsIDE1LiBPa3QgMTk5NywgMTc6Mzk6MTcpOgp+IyEgcm49RGFudGUgcnQ9ODc2OTE4MjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2OTE4MjU1CkhpLAoKcHJvYmllciBtYWwgem11ZC4gRGFzIGdlaHQgc2Nob24uIDopCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRGIGZ1ZXIgd2luZG93cyAoQmFib29uLCAxNi4gT2t0IDE5OTcsIDA4OjQzOjQ3KToKfiMhIHJuPUZyZXVuZCBydD04NzY5Mjk5NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY5MTgyNTUKQWxzbywgd28gd2lyIHNjaG9uIG1hbCB1ZWJlciBURiByZWRlbiBrYW5uIGljaCBqYSBnbGVpY2ggbWFsIGZyYWdlbi4gTmFjaGRlbQppbSBLb2VuZXIgUlogZGFzIHNtYWlsLXN5c3RlbSB1bWdlc3RlbGx0IHd1cmRlIGxhZXVmdCBtZWluIFRGIG5pY2h0IG1laHIuIEhhdAppcmdlbmR3ZXIgbmUgQWhudW5nIHdhcyBtYW4gZGFnZWdlbiB0dW4ga2Fubj8KCkJhYm9vbigpIChvaG5lIFRGIG5vY2ggd2VuaWdlciBEdXJjaGJsaWNrIGFscyBzb25zdCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2U/IChTbXVyZiwgMTYuIE9rdCAxOTk3LCAwODo1NToxMik6CkljaCBJZGxlIGdlcmFkZSB2b3IgZGVyIFNwaWVscHlyYW1pZGUgcnVtIHVuZCBzZWhlIHBsb2V0emxpY2gKZGllIE1lbGR1bmcgIkR1IHNpZWhzdCBlaW5lbiBGZWhsZXIgaW0gUmF1bS1aZWl0LUdlZnVlZ2UuIi4KCj8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZlaGxlciBpbSBSYXVtLVplaXQtR2VmdWVnZT8gKEFsaW5lLCAxNi4gT2t0IDE5OTcsIDA5OjE4OjA2KToKfiMhIHJuPVNtdXJmIHJ0PTg3Njk4NDkxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3Njk4NDkxMgoKR3JhdHVsaWVyZSBTbXVyZi4KRHUgaGFzdCBnZXJhZGUgZWluZW4gZGVyIHNlbHRlbmVuIEJ1Z3MgaW0gTUcgZ2VmdW5kZW4sCndlbm4gRHUgZGVuIGRhZnVlciB2ZXJhbnR3b3J0bGljaGVuIE1hZ2llciBsaWViIGJpdHRlc3QsCmRhcmZzdCBEdSBpaG4gdmllbGxlaWNodCBhdWNoIGJlaGFsdGVuLgo7KQpBbGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBURiBmdWVyIHdpbmRvd3MgKEx1cHVzLCAxNi4gT2t0IDE5OTcsIDEzOjM0OjM4KToKfiMhIHJuPUJoYW1pciBydD04NzY5MjkyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY5MTgyNTUKRGFzIGlzdCBuaWNodCB2b2VsbGlnIHJpY2h0aWcuIEVzIEdJQlQgYmVyZWl0cyBlaW5lIChuaWNodCBvZmZpemllbGxlKSBWZXJzaW9uCnZvbiBURiBmdWVyIFdpbmRvd3MuIFNpZSBmdW5rdGlvbmllcnQgYXVjaCwgYWJlciBsZWlkZXIgaGFiIGljaCBkaWUgVVJMIGltCm1vbWVudCBuaW1tZXIuIEFiZXIgZXMgZ2lidCBlaW5lIFRGLU1haWxpbmdsaXN0ZSwgd2VubiBEdSBkYSBtYWwgbmFjaGZyYWdzdAprYW5uIERpciBzaWNoZXIgamVtYW5kIHdlaXRlcmhlbGZlbi4KCkx1cHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBURiBmdWVyIHdpbmRvd3MgKE9ya3RvZXRlciwgMTYuIE9rdCAxOTk3LCAxNDoxODoyMCk6Cn4jISBybj1CYWJvb24gcnQ9ODc2OTg0MjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2OTE4MjU1Ck51ciBmdWVyIEtvZWxuZXIgaW50ZXJlc3NhbnQuCgpEYSBiZWkgZGVyIHNtYWlsLXVtc3RlbGx1bmcgdS5BLiBhdWNoIGRlciBQZmFkbmFtZSBnZWFuZGVydCB3dXJkZSwgd2lyZHQgZHUKbWl0IGRlaW5lbSB0ZiBuaWNodHMgbWVociBhbmZhbmdlbiBrb2VubmVuLgpOaXJkYXZvIHdvbGx0ZSBiZWkgc2ljaCBlaW4gbmV1ZXMgdGYgaW5zdGFsbGllcmVuLCBtZWluIFZvcnNjaGxhZyB3YWVyZSwgZGFzCmFsbGUgS29lbG5lciBzaWNoIGRhbm4gbnVyIG5vY2ggZWluZW4gTGluayBkYWhpbiBsZWdlbiwgc28gZGFzIG5pY2h0IGplZGVyIGVpbgprb21wbGV0dGVzIHRmIGluIHNlaW5lbSBlaWdlbmVuIFZlcnplaWNobmlzcyBoYXQuCgpBbHNvLCBOaXJkYXZvIGhhdSByZWluIDopCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVEYgZnVlciB3aW5kb3dzIChBbmF0b2wsIDE2LiBPa3QgMTk5NywgMTU6MzU6NDkpOgp+IyEgcm49THVwdXMgcnQ9ODc3MDAxNjc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc2OTE4MjU1CktlbiBLZXlzIGFldXNzZXJ0ZSBzaWNoIGluIGRlciBNYWlsaW5nbGlzdGUsIGRhc3MgVEY0MCwgd2VsY2hlcyBub2NoIGluIApBcmJlaXQgaXN0LCBhYmVyIGluIGFic2VoYmFyZXIgWmVpdCB2ZXJmdWVnYmFyIHNuIHdpcmQsIHBhcmFsbGVsIGZ1ZXIgCldpbjMyIG9kZXIgenVtaW5kZXN0IGZ1ZXIgV2luZG93cyBOVCBlbnR3aWNrZWx0IHdpcmQuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgonbGljaHQnIHVuZCBkZXIgVG9kIChTbXVyZiwgMTYuIE9rdCAxOTk3LCAxNzowMjoyMyk6CkhtbSwgd2VubiBpY2ggbWl0dGVuIGluIGVpbmVlciBUb2Rlc3NlcXVlbnogZGVuIFNhdHogbGVzZToKIkRpZSBTdHJhaGxlbiBzaW5kIHNlaHIgc2Nod2FjaCBnZXdvcmRlbi4iCmRlciBkYSB1ZWJlcmhhdXB0IG5pY2h0IGhpbnBhc3N0LCBkYW5uIGtvbW1lIGljaCBhdWYgZGllIElkZWUsIGRhc3MgZGllClN0ZXJiZXJvdXRpbmUgdmllbGxlaWNodCBlaGVyIGFtIEFuZmFuZyBzb3dhcyB3aWUKIk1pdCBkZW0gU2Nod2luZGVuIGRlaW5lciBMZWJlbnNrcmFmdCBnZWh0IGF1Y2ggZGVpbiBMaWNodCBhdXMiCm9kZXIgc293YXMgaW4gZGVyIEFydCBhdXNzcHVja2VuIHNvbGx0ZS4uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICdsaWNodCcgdW5kIGRlciBUb2QgKEFscGhhLCAxNi4gT2t0IDE5OTcsIDE3OjA0OjU0KToKfiMhIHJuPVNtdXJmIHJ0PTg3NzAxNDE0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpBY2ggbmUsIER1LiAKV2VubiBtYW4gb2VmdGVyIHN0aXJidCwgaXN0IHNvd2FzIGRhcyBlaW56aWcgTHVzdGlnZSBub2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAnbGljaHQnIHVuZCBkZXIgVG9kIChTbXVyZiwgMTYuIE9rdCAxOTk3LCAxNzowNTo1NSk6Cn4jISBybj1BbHBoYSBydD04NzcwMTQyOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKSWNoIFdJTEwgYWJlciBuaWNodCBzbyBvZnQgc3RlcmJlbi4gSWNoIGhhYiBlaCB6dXdlbmlnIEVQLiAgOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAnbGljaHQnIHVuZCBkZXIgVG9kIChBbHBoYSwgMTYuIE9rdCAxOTk3LCAxNzowNzo0Nik6Cn4jISBybj1TbXVyZiBydD04NzcwMTQzNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKRVA/IFdhcyBpc3QgZGFzPyBXb3p1IGJyYXVjaHN0IER1IGRhcz8gV2VubiBEdSBTZWhlciB3ZXJkZW4gd2lsbHN0PyBEYSBtdXNzdApEdSBub2NoIDcgTGV2ZWwgbWFjaGVuLCB1bmQgMSBNaW8gRVAgbWFjaHN0IER1IGRhbm4gaW4gMmguIFZvcmhlciBzaW5kIEVQCm5pY2h0IHdpY2h0aWcgKGF1c3NlciBiZWkgZGVyIEZyaWVkaG9mc3F1ZXN0IHZpZWxsZWljaHQpLgpBbHBoYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRGIGZ1ZXIgd2luZG93cyAoQ2F1bm8sIDE2LiBPa3QgMTk5NywgMTc6MzQ6MTMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg3NzAwNDMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NjkxODI1NQpIbS4gRHUgaGFzdCBkYSB3b2hsIHdhcyB2ZXJnZXNzZW4sIE9ya1QuIERpZSBzbWFpbCB3aXJkIG5pY2h0IHZvbiBqZWRlbQpLb2VsbmVyIGJlbnV0enQuIE5pcmRhdm8gKHVuZCBhdWNoIG1laW5lIHdlbmlna2VpdCkgaGFiZW4gZGFtaXQgd29obCBzaWNoZXIKbmljaHRzIHp1IHR1bi4gR2VoIGR1IGRvY2ggbWFsIG1pdCBlaW5lbSBCZWlzcGllbCB2b3JhbiB1bmQgbGFzcyBkaXIgZWluZW4KbGluayBhdWYgZGVpbiB0ZiBsZWdlbiAuLi4uClVuZCBqZXR6dCBhYiBuYWNoIHNjaG1hcnJuISBOYWNodCwKCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBURiBmdWVyIHdpbmRvd3MgKE9ya3RvZXRlciwgMTYuIE9rdCAxOTk3LCAxODoyNjoxMik6Cn4jISBybj1DYXVubyBydD04NzcwMTYwNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY5MTgyNTUKSGFiZSBpY2ggZGEgdm9yaGVyIG1pdCBOaXJkYXZvIGRydWViZXIgZ2VzcHJvY2hlbiBnZWhhYnQgPwpFcyBpc3QgZWJlbiBzbywgZGFzIGRlciBWb3JzY2hsYWcgdm9uIGlobSBrYW0sIGRhIGVyIGRlbiBQbGF0eiBpbiBzZWluZW0KVmVyemVpY2huaXMgZWggbmljaHQgYnJhdWNodCA/CgpNZWNrZXJuIGlzdCBlaW5lcywgUmVjaHQgaGFiZW4gZXR3YXMgYW5kZXJlcy4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAnbGljaHQnIHVuZCBkZXIgVG9kIChCb2luZywgMTcuIE9rdCAxOTk3LCAxMDowMjo1OCk6Cn4jISBybj1BbHBoYSBydD04NzcwMTQ0NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKQmVpIGRlciBGcmllZGhvZnNxdWVzdCBzb2xsZW4gRVAgd2ljaHRpZyBzZWluPyBSZWRlbiB3aXIgdm9uIGRlciBzZWxiZW4KUXVlc3Q/ClNpY2ggd3VuZGVybmQsCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICdsaWNodCcgdW5kIGRlciBUb2QgKE1vcmdvdGgsIDE3LiBPa3QgMTk5NywgMTA6MTg6MjApOgp+IyEgcm49Qm9pbmcgcnQ9ODc3MDc1Mzc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc3MDE0MTQzCkR1IGhhc3QgZG9jaCBkaWUgUXVlc3QgZ2Vwcm9nZ3QuIFdvIGhhc3QgRHUgd29obCB3YXMgbWl0IFhQIGVpbmdlYmF1dD8/PwpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogJ2xpY2h0JyB1bmQgZGVyIFRvZCAoQm9pbmcsIDE3LiBPa3QgMTk5NywgMTM6MjI6MDEpOgp+IyEgcm49TW9yZ290aCBydD04NzcwNzYzMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKSWNoIHdlaXNzIHNjaGpvbiwgd2FzIGVyIHdvaGwgbWVpbnQsIGFiZXIgZnVlciBkaWUgUXVlc3QgaXN0IGRpZXNlClN0ZWxsZSBhYnNvbHV0dCB1bndpY2h0aWcsIG1hbiBrb2VubnRlIHNpZSBhdWNoIHdlZ2xhc3Nlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogJ2xpY2h0JyB1bmQgZGVyIFRvZCAoS2V5LCAxNy4gT2t0IDE5OTcsIDE1OjA3OjM3KToKfiMhIHJuPUJvaW5nIHJ0PTg3NzA4NzMyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpZZXAgQm9pbmcgaGF0IHJlY2h0ICwpCkZ1ZXIgZGllIFF1ZXN0IGFuc2ljaCBicmF1Y2h0IG1hbiBlcyBuaWNodCAuLi4uIGFiZXIgd2VubiBtYW4gd2FzIGFuZGVyZXMgd2lsbAppc3QgZXMgdm9uIG51dHplbiAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAnbGljaHQnIHVuZCBkZXIgVG9kIChBbHBoYSwgMTcuIE9rdCAxOTk3LCAxNjozMzozMik6Cn4jISBybj1LZXkgcnQ9ODc3MDkzNjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc3MDE0MTQzCk11ZXNzdCBpaHIgZGllIG5hY2ggZGVyIEtuZWlwZW5hZW5kZXJ1bmcgZWluemlnIHZlcmJsZWliZW5kZQpOZXZlcmVuZEluc3RhbnRIZWlsc3RlbGxlIHZlcnJhdGVuPyBJY2ggd2lsbCBkYSBub2NoIG5lbiBiaXNzY2hlbiB1ZWJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRGIGZ1ZXIgd2luZG93cyAoQWNyaW1vbiwgMTcuIE9rdCAxOTk3LCAxODoxMjoxMSk6Cn4jISBybj1EYW50ZSBydD04NzY5MTgyNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzY5MTgyNTUKSW5zdGFsbGllciBhbSBiZXN0ZW4gTGludXggLSBkYW5uIHdpcnN0IER1IG5pY2h0IG51ciBtaXQgZGVtIEJldHJpZWJzc3lzdGVtLApzb25kZXJuIGF1Y2ggbWl0IFRGIG1laHIgRnJldWRlIGhhYmVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXVmZW4gLyBCZWhhbHRlbiAoQWxwaGEsIDE3LiBPa3QgMTk5NywgMTk6MzU6MzEpOgpLb2VubnRlIG1hbiBlcyBuaWNodCBzbyBlaW5yaWNodGVuLCBkYXNzIGFsbGVzLCB3YXMgbWFuIGltIExhZGVuIGthdWZ0LAphdXRvbWF0aXNjaCBiZWkgVmVya2F1ZmUgQWxsZXMgYmVoYWx0ZW4gd2lyZD8gV2VubiBpY2ggbWlyIHdhcyBrYXVmZSwgaXN0IGRvY2gKa2xhciwgZGFzcyBpY2ggZGFzIGJlaGFsdGVuIHVuZCBuaWNodCB6dSAxLzMgZGVzIFByZWlzZXMgaW0gbmFlY2hzdGVuIExhZGVuCndpZWRlciB2ZXJrYXVmZW4gd2lsbC4KKEF1ZiBEdSBrYXVmc3QgZGllIEZhY2tlbC8gZGFzIFNlaWwgenUgVHJpZ2dlcm4gaXN0IGphIGxlaWRlciB2ZXJib3RlbikKQWxwaGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiAnbGljaHQnIHVuZCBkZXIgVG9kIChTaWx2YW5hLCAxNy4gT2t0IDE5OTcsIDE5OjM2OjIxKToKfiMhIHJuPUFscGhhIHJ0PTg3NzA5ODgxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0Mwoqc2lnaCoKRHUgc2NoZWluc3QgRGljaCBpbSBNb3JnZW5ncmF1ZW4gYWJlciBhdWNoIHVlYmVyaGF1cHQgbmljaHQgYXVzenVrZW5uZW4uCkVzIGdpYnQgaHVuZGVydGUgdm9uIEluc3RhbnRoZWlsc3RlbGxlbiwgZGllIGtlaW5lIEtuZWlwZW4gc2luZC4gVW5kCmVpbiBuaWNodCB1bmVyaGVibGljaGVyIFRlaWwgZGF2b24gd2lyZCBtaXQgemllbWxpY2hlciBTaWNoZXJoZWl0CmF1Y2ggc28gYmxlaWJlbi4gSWNoIGZyYWcgbWljaCwgd29oZXIgc2Nob24gd2llZGVyIGRhcyBHZXJ1ZWNoIGtvbW10LCBkaWUKbm9ybWFsZW4gSGVpbHN0ZWxsZW4gc29sbHRlbiBhdWNoIChhbGxlKSB2ZXJzY2h3aW5kZW4uCgogIFNpbHZhbmEgKGZhc3N0IGVzIG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6ICdsaWNodCcgdW5kIGRlciBUb2QgKEFscGhhLCAxNy4gT2t0IDE5OTcsIDE5OjQyOjUzKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODc3MTA5NzgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc3MDE0MTQzCkljaCBrZW5uZSBzbyBlaW5pZyBIZWlsc3RlbGxlbiwgYWIgZGllIHNpbmQgZG9jaCBtZWlzdCBuYWNoIDItMyBtYWwgbnV0emVuCmVyc2Nob2VwZnQgKEVzc2UgTWluemUgLSBEYSB3YXIgd29obCBzY2hvbiBqZW1hbmQgdm9yIGRpciBkYSkgb2RlciBtYW4gYmVpc3N0CmlucyBHcmFzLCB3ZW5uIG1hbiB6dSBzY2huZWxsIHp1IHZpZWwgaW4genUga3VyemVyIFplaXQgaGVpbHQgKCBFaW5lClVlYmVyZG9zaXMuLi4pIEljaCBtZWluZSBoYWx0IFN0ZWxsZW4sIGFuIGRlbmVuIG1hbiBzZWhyIHZpZWwgSW5zdGFudEhlaWx1bmcKYmVrb21tdC4gVW50ZXIgc2VociB2aWVsIHZlcnN0ZWhlIGljaCAyMC4wMDAtMzAuMDAwIE1QLiBVbmQgZGEgaXN0IG1pciBudXIKZGllc2UgZWluZSBiZWthbm50LgpBbHBoYSBtb2VjaHRlIHNlaW5lIExpZWJsaW5nc2hlaWxzdGVsbGUgYmVoYWx0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogJ2xpY2h0JyB1bmQgZGVyIFRvZCAoS2V5LCAxNy4gT2t0IDE5OTcsIDE5OjQ0OjI1KToKfiMhIHJuPUFscGhhIHJ0PTg3NzExMDE3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpVaXVpIFdlbm4gbWFuIGRhcyBzbyBuYWNocmVjaG5ldCAuLi4gQm9pbmcgLi4uIGtvZW5udGVzdCBkdSBuaWNodCBub2NobWFsIGRpZQpIZWlsc3RlbGxlIHVlYmVycHJ1ZWZlbj8KQWxzbyB3ZW5uIHNvbGNoZSBMdXNjaGVuIHdpZSBBbHBoYSB2b24gMjAgLSAzMGsgbXAgc3ByZWNoZW4gd2lyZCBtaXIgc2NobGVjaHQKLi4uIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiAnbGljaHQnIHVuZCBkZXIgVG9kIChTaWx2YW5hLCAxNy4gT2t0IDE5OTcsIDE5OjQ3OjMxKToKfiMhIHJuPUtleSBydD04NzcxMTAyNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKSG1tbW0uLi4uIFZpZWxsZWljaHQgc29sbHRlIGRhcyBXZXNlbiBkYSBuaWNodCBudXIgU3RhZXJrZXIgc29uZGVybiBhdWNoCmludGVsbGlnZW50ZXIgd2VyZGVuLCB3ZW5uIGVyIFhQIGJla29tbXQuIERhIGtvbW10IG5lbiBzdGFyayBnZXNjaHdhZWNodGVyIApTcGllbGVyIHVuZCBtaXIgZ2VodHMga2xhc3NlPyBBVUYgSUhOISA6KQoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogJ2xpY2h0JyB1bmQgZGVyIFRvZCAoR2xvaW5zb24sIDE3LiBPa3QgMTk5NywgMTk6NDg6MDcpOgp+IyEgcm49U2lsdmFuYSBydD04NzcxMTA0NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcwMTQxNDMKRGFzIGtsaW5ndCBhYmVyIG5pY2h0IG5hY2ggU2lsdmFuYS4gUm9jaHVzLCBiaXN0IGR1IGRhcz8KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogJ2xpY2h0JyB1bmQgZGVyIFRvZCAoS2V5LCAxNy4gT2t0IDE5OTcsIDE5OjQ4OjM3KToKfiMhIHJuPUdsb2luc29uIHJ0PTg3NzExMDQ4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpEdSBrZW5uc3Qgd29obCBTaWx2YW5hIG5pY2h0IDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiAnbGljaHQnIHVuZCBkZXIgVG9kIChSYWZmaSwgMTcuIE9rdCAxOTk3LCAyMjo1NDozMyk6Cn4jISBybj1TaWx2YW5hIHJ0PTg3NzEwOTc4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpHZXJ1ZWNodGUgc2luZCBudW5tYWwgdW5rYXB1dHRiYXIgLi4uIGRlc3dlZ2VuIHdpcmQgamEgd29obCBhdWNoIHdhcyBkcmFubgpzZWluLgoKZ3JpbnMKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXVmZW4gLyBCZWhhbHRlbiAoT3JrdG9ldGVyLCAxOC4gT2t0IDE5OTcsIDE2OjIyOjQ4KToKfiMhIHJuPUFscGhhIHJ0PTg3NzEwOTczMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzEwOTczMQpiZWhhbHRlIHh4eCBzb2xsdGUgZGEgaGVsZmVuLi4uIAoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiAnbGljaHQnIHVuZCBkZXIgVG9kIChUZWRkeSwgMTguIE9rdCAxOTk3LCAyMjo0NjoxNik6Cn4jISBybj1TaWx2YW5hIHJ0PTg3NzEwOTc4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3NzAxNDE0MwpIdW5kZXJ0ZSBIZWlsc3RlbGxlbj8gOkxJU1RFIGhhYmVuIHdvbGxlbiA7KQoKVGVkZHkKLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2F1ZmVuIC8gQmVoYWx0ZW4gKEFscGhhLCAyMC4gT2t0IDE5OTcsIDEyOjI1OjU5KToKfiMhIHJuPU9ya3RvZXRlciBydD04NzcxODQ1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzcxMDk3MzEKd2Vpc3MgaWNoLiBJY2ggbWVpbmUgamEgbnVyLCBkYXNzIERpbmdlLCBkaWUgbWFuIEtBVUZULCBhdXRvbWF0aXNjaCBiZWhhbHRlbgp3ZXJkZW4uIEZpbmRlIGVzIGViZW4gZG9vZiwgZXdpZyBrYXVmZSB4eHgsIGJlaGFsdGUgeHh4IHp1IHRpcHBlbi4gCk5vcm1hbGVyd2Vpc2UgYmVoYWVsdCBtYW4gZGFzIGRvY2gsIG9kZXI/CkFscGhhIGlzdCB0aXBwZmF1bC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcnVtIHdhciBNRyBkb3duPyAoRnJldW5kLCAyNC4gT2t0IDE5OTcsIDE3OjIzOjIyKToKCkphLCBoYWxsbyBlcnN0bWFsLAoKYWxzIGljaCBub2NoIFNwaWVsZXIgd2FyLCBoYXQgbWljaCBpbW1lciBnZW5lcnZ0LCBkYXNzIGljaCBuaWUgd3Vzc3RlLApfd2FydW1fIE1HIGRvd24gd2FyLiBEYWhlciBrb2VubnRlIGVzIGphIGRpZSBlaW5lbiBvZGVyIGFuZGVyZW4gdm9uIEV1Y2gKYXVjaCBpbnRlcmVzc2llcmVuOgoKRGllIENQVSBoYXQncyB6ZXJpc3Nlbi4gOi0oCkRpYWdub3NlIHZvbiBEci4gbWVkLiBDUFUgQmVybmFyZDogRXhpdHVzIGNvb2xlcmlzIG1vcnRhbGlzLgoKTmFqYSwgaW0gTW9tZW50IGxhZXVmdCBNRyBkYWhlciAodGVzdHdlaXNlPykgbWl0IGVpbmVtIEludGVsIFBlbnRpdW0KMjAwIE1Ieiwgd2FzIG1laHIgUGVyZm9tYW5jZSBiZWRldXRldCBhbHMgZGllIEFNRCA1azg2LTE2NiwgZGllIGJpc2hlcgpkcmluIHdhci4gOi0pCgpNYW4gc2llaHQsIGFsbGVzIGhhdCB6d2VpIFNlaXRlbi4gCgpFaW4gRnJldW5kLCBoZXV0ZSBtYWwgaW5mb3JtYXRpdi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdsZWljaCByZWJvb3QgPyE/IChIYXJkaWwsIDI3LiBPa3QgMTk5NywgMTM6MTE6MjEpOgoKR2VyYWRlIHVudGVyaGFsdGVuIHNpY2ggaW4gKm1laW5lbSogU2VoZXJoYXVzIHp3ZWkgd2ljaHRpZ2UgTWFnaWVyIGRhcnVlYmVyLAp3YXMgbWFuIGJlaSBlaW5lbSBnZXdpc3NlbiBQcm9ibGVtIG1hY2h0LiBEZXIgZWluZSwgZGVyIEFobnVuZyB6dSBoYWJlbgpzY2hlaW50IHNhZ3Q6IAo+Wy4uLl0gc2FndDogaWNoIHJlYm9vdGUgZGVzaGFsYiBpbW1lciAhCgpEZXIgYW5kZXJlIE1hZ2llciBpc3QgQ2F0d2VhemxlLCB1bmQgZXIgc2llaHQgZ2FyIG5pY2h0IGdsdWVja2xpY2ggdWViZXIgZGllc2UKTmFjaHJpY2h0IGF1cy4KRGFzIHdhcnMgdm9uIGRlciBGcm9udC4gTWFuIHNpZWh0IHNpY2ggaW0gTGFkZW4uIDopCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm9zdGFsZ2llIChBbGV0ZSwgMjkuIE9rdCAxOTk3LCAwOToxNjoxNik6CgpWb3IgZWluIHBhYXIgVGFnZW4ga2FtIGJlaSBtaXIgbWFsIHdpZWRlciBuZSBFcmlubmVydW5nIGFuIGxhbmcgdmVyZ2FuZ2VuZQpaZWl0ZW4gaG9jaDogRXMgZ2FiIGRvY2ggbWFsIGltIE1HIHNvIGtsZWluZSBXZXNlbiwgZGllIHJ1bXJhbm50ZW4gdW5kIExldXRlbgprbGVpbmUgUGVsemNoZW4gc2NoZW5rdGVuIChvZGVyIHRhZXVzY2h0IG1pY2ggZGEgbWVpbiBHZWRhZWNodG5pcz8pLiBXYXMgaXN0CmF1cyBkZW5lbiBlaWdlbnRsaWNoIGdld29yZGVuOyBpY2ggaGFiIGRpZSBzY2hvbiBzZWl0IEV3aWdrZWl0ZW4gbmljaHQgbWVocgpnZXNlaGVuLgoKQWxldGUuIFdpcmQgYXVjaCBhbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9zdGFsZ2llIChSaWt1cywgMjkuIE9rdCAxOTk3LCAwOTozNjoyMik6Cn4jISBybj1BbGV0ZSBydD04NzgxMTI5NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzgxMTI5NzYKCnNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSwgd2FyZW4gZGllc2UgVGllcmNoZW4gdm9uIFd1ci4gRnJhZyBpaG4gZG9jaCBtYWwKZGFuYWNoLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNoZXJyaWZzLCBIaWxmc3NoZXJyaWZzIHVuZCBhbmRlcmUgVmVyaGFsdGVuc2Zvcm1lbiBpbSBNdWQuIChSb2VzdGksIDI5LiBPa3QgMTk5NywgMDk6NDE6NTkpOgpBZWhlbS4uLiBJY2ggd2VpcyBqYSBpbnp3aXNjaGVuIHNjaG9uIG5pY2h0IG1laHIgd2FzIGljaCB2b24gbWVpbmVtCmxpZWJlZW5zd2VydGVuIE11ZCB2b24gZWluc3QgaGFsdGVuIHNvbGwuCihPa2kgLCBPa2kgLCBJY2ggd2FyIGF1Y2ggbmljaHQgaW1tZXIgZGVyIEJyYWZzdGUgU3BpZWxlci4uLikKSWNoIGVycmluZXJlIG1pY2ggbm9jaCBhbiBaZWl0ZW4gd28gZXMgYXVjaCBvaG5lICJTdGFhdGxpY2hlIEF1ZnNpY2h0ICIKZnVua3Rpb25pZXJ0dCBoYXQuClVuZCBkYXMgbmljaHQgd2lsIGVzIGRhbWFscyBuaWNodCBhdWNoIEZlaGx0cml0dGUgZ2VnZWJlbiBoYXQuCkFiZXIgbWFuIGhhdCBzaWNoIGViZW4gZ2VnZW5zZWl0aWcgZ2Vob2xmZW4uClVuZCB3ZW5uIG1hbCBqZW1hbmQgbWlzdCBnZWJhdXQgaGF0LCBzbyB3dXJkZSBlciBlcnN0IHZvbiBkZW4gU3BpZWxlcm4KenVyZWNodGdld2llc2VuIHVuZCB3ZW5uIGRhcyBuaWNodCBnZWhvbGZlbiBoYXQsIGdhYiBlcyBkYSBub2NoIHNvIHJlZ3VsYXJpZW4Kd2llIFZlcmZvbGd1bmdzamFndGVuIGR1cmNoIGRhcyBNdWQgdW5kIHNvLgooSWNoIGVycmluZXJlIE1pY2ggZGFyYW4gdm9uIEJlbmRlaWdpZCB3ZWdlbiBlaW5lcyBSZWltZXMgZ2VqYWd0IHdvcmRlbiB6dQpzZWluLikKTmljaHRzZGVzdG90cm90eiBrb25udGUgbWFubiBzaWNoIHZlcnRyYWdlbiB1bmQgc2ljaCBiZWkgZGVyIG5hZWNoc3RlbgpHZWxlZ2VuaGVpdCB3aWVkZXIgZ2VnZW5zZWl0aWcgaGVsZmVuLgoKTGFuZ2UgUmVkZSBrdXJ0emVyIFNpbm4uLi4KV2llIHdhZXJlIGVzLCB3ZW5uIHdpciBzdGF0dCBuZXVlciBSZWdlbG4gdW5kIFZlcmJvdGUgZWluZmFjaCBldHdhcyBuZXR0ZXIKenVlaW5hbmRlciBzaW5kPwpVbmQgd2VubiBtYWwgZWluZXIgdWViZXIgZGllIFN0cmFlbmdlIHNjaGxhZWd0LCBrYW5uIG1hbiBpaG0gd2llZGVyIGF1ZiBkZW4KcmljaHRpZ2VuIFdlZyB2ZXJoZWxmZW4gc3RhdHQgaWhuIHJhdXN6dXNjaG1laXNzZW4sIG9kZXIgc3RhdHQgaWhuIGFuIGVpbmVuCk1hZ2llciB6dSB2ZXJyYXRlbi4KVmllbGVpY2h0IGtsYXBwdHMgamEuCgpFaW4gaG9mZmVuZGVyIFRvYXN0YnJvdCBhZWggUm9lc3RpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb3N0YWxnaWUgKEphbml0emUsIDI5LiBPa3QgMTk5NywgMTQ6Mjg6MTUpOgp+IyEgcm49UmlrdXMgcnQ9ODc4MTE0MTgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4MTEyOTc2CmRpZSB0aWVyY2hlbiBzaW5kIHRhdHNhZWNobGljaCB2b24gd3VyLCBkYW1hbHMgd2FyIGVyIG5vY2ggbWFnaWVyLCBhYmVyCmFscyBlciBtZWhyIGx1c3QgaGF0dGUsIHdhcyB6dSBzcGllbGVuLCB1bmQgc3BpZWxlciBnZXdvcmRlbiBpc3QsIGlzdAp3b2hsIGF1Y2ggc2VpbiBwbGF5ZXItdmVyemVpY2huaXNzIGdlbG9lc2NodCB3b3JkZW4sIHVuZCBkYW1pdCBkaWUKdGllcmNoZW4gLi4KSmFuaWNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2hlcnJpZnMsIEhpbGZzc2hlcnJpZnMgdW5kIGFuZGVyZSBWZXJoYWx0ZW5zZm9ybWVuIGltIE11ZC4gKEJlbmRlaWdpZCwgMjkuIE9rdCAxOTk3LCAxNjo1NTo1Myk6Cn4jISBybj1Sb2VzdGkgcnQ9ODc4MTE0NTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4MTE0NTE5Ck1vb29vb29vb29tZW50IG1hbCwgZ2VqYWd0IGhhYiBpY2ggZGljaCBuaWUsIHdlcnRlcyBUb2FzdGJyb3QhISEKCkljaCBrYW5uIG1pY2ggbnVyIGRyYW4gZXJpbm5lcm4sIGRhc3MgZHUgamVkZW0sIGRlciBzaWNoIGF1ZiBhbGxnZW1laW4gbWVsZGV0ZQprdXJ6ZXJoYW5kIGVpbmVuIHp1bSBFcmJyZWNoZW4gc2NobGVjaHRlbiBTY2h1ZXR0ZWxyZWltIGFuZ2VkaWNodGV0IGhhc3QsIHdhcwpkYXp1IGZ1ZWhydGUsIGRhc3Mgd2lyIGltIFJaIGhpZXIgaW4gS29lbG4gc3RhZW5kaWcgdW50ZXIgZGllIFRpc2NoZSBnZXJ1dHNjaHQKc2luZCB2b3IgTGFjaGVuIDopIFNvIHdhciBBcmJlaXRlbiBuaWNodCBtZWhyIG1vZWdsaWNoLiBXZW5uIHdpciBhbGxlIFByb2JsZW1lCmhpZXIgYXVmIGRpZSBBcnQgbG9lc2VuIGZyZXUgaWNoIG1pY2ggZHJhdWYhCgpBYmVyIHJlY2h0IGhhc3RlOiBCaXNzZWwgUnVlY2tzaWNodCBpc3Qgd2FzIGZlaW5lcywgdW5kIGRhbm4ga2xhcHB0cyBhdWNoCm1pdCdtIE5hY2hiYXJuLCBncmltbWJvcm4gb2RlciBnYXIgbWl0IE1hZ2llcm4gOikKCloncGFyIFNlcnZ1LAogICAgICAgICAgIEJlbmRlaWdpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTaGVycmlmcywgSGlsZnNzaGVycmlmcyB1bmQgYW5kZXJlIFZlcmhhbHRlbnNmb3JtZW4gaW0gTXVkLiAoS2V5LCAyOS4gT2t0IDE5OTcsIDE5OjI5OjQyKToKfiMhIHJuPUJlbmRlaWdpZCBydD04NzgxNDA1NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzgxMTQ1MTkKV2llIGR1IGFyYmVpdGVzdGUgbmViZW4gZGVtIE11ZGRlbj8/IFZFUkJSRUNIRVIhIDopCgpIbW0gYWJlciBtYWwgZXJuc3RoYWZ0IC4uLiBzdGltbWUgUm9lc3RpIGF1Y2ggenUgLi4uCldvYmVpIGRhcyBiZXN0cmFmZW4gc3BpZWxlciBnZWdlbiBzcGllbGVyIHNjaHdlciBpc3QgLi4uIG1hbiBkYXJmIGVpbmVuIGphCmthdW0gbm9jaCB6dXIgd2FybnVuZyBhbmdyZWlmZW4gc2Nob24gaXN0IG1hbiB2b24gbWFncyB1bWdlYmVuIDspCgpJcmdlbmR3aWUgaGFtIHNpY2ggYWxsZSBlaW4gYmlzc2VybCBlbnRmcmVtZGV0IC4uLiAKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9zdGFsZ2llIChXdXIsIDI5LiBPa3QgMTk5NywgMTk6NDM6MjIpOgp+IyEgcm49SmFuaXR6ZSBydD04NzgxMzE2OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzgxMTI5NzYKTnVuLCBpY2ggYmluIGVya2FubnQuIFllcCwgaWNoIHdhciBzY2h1bGQgYW4gZGVuIGtsZWluZW4gVGllcmNoZW4uIFVuZCBhbHMgaWNoCndpZWRlciBTcGllbGVyIHd1cmRlIGdhYiBpY2ggZGllc2UgVGllcmNoZW4gYW4gZWluZW4gYW5kZXJlbiBNYWdpZXIgYWIsIHp1cgpQZmxlZ2UuIFdhcyBtaXQgaWhuZW4gcGFzc2llcnQgaXN0IHVuZCB3ZXNoYWxiIHNpZSBuaWNodCBtZWhyIHJ1bWxhdWZlbiB1bmQKYW5kZXJlIGJlc2NoZW5rZW4sIGRhcyB3ZWlzcyBpY2ggYXVjaCBuaWNodC4gVmllbGxlaWNodCBzaW5kIHNpZSBqYSBhbiBkZW4KenV3ZWlsZW4gcmVjaHQgYnJ1dGFsZW4gU2l0dGVuIGhpZXIgdW50ZXJnZWdhbmdlbiBvZGVyIGdhciB3ZWdnZ2VsYXVmZW4sIG9kZXIKZGVyIGVudHNwcmVjaGVuZGUgTWFnaWVyIGhhdCBzaWUgZWluZmFjaCBhYmdla25pcHBzdC4KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNoZXJyaWZzLCBIaWxmc3NoZXJyaWZzIHVuZCBhbmRlcmUgVmVyaGFsdGVuc2Zvcm1lbiBpbSBNdWQuIChZYXJlbiwgMjkuIE9rdCAxOTk3LCAyMDowMzozOSk6Cn4jISBybj1Sb2VzdGkgcnQ9ODc4MTE0NTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4MTE0NTE5CkhtPyBEYXMgaG9lcnQgc2ljaCBqYSBhbiB3aWUgZGllIEVpbmxlaXR1bmcgYXVzIGRlbSBBbmhhbHRlciAuLi4gbnVyIGRhc3MgZGEKdm9uIDIwMDAgSmFocmVuIGRhbmFjaCBkaWUgUmVkZSB3YXIgOy0pCgpZYXJlbi4gSXN0IGltbWVyIG5ldHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptZyAoVG9ldGVyLCAzMS4gT2t0IDE5OTcsIDA4OjUzOjE3KToKSGksCm1pciBsaWVndCBlaW5lIG1haWwgdm9yLCBkYXNzIGRlciBEaXJla3RvciBkZXMgSW5zdGl0dXQgZnVlciBJbmZvcm1hdGlrCmRlbiBCZXRyaWViIGRlcyBSZWNobmVycyBtZyBhbiBzZWluZW0gbW9tZW50YW5lbiBTdGFuZG9ydCB1bnRlcnNhZ3QgaGF0LgpEYSBkYXMgZ2FuemUgcmVsYXRpdiBrdXJ6ZnJpc3RpZyBha3V0IHdpcmQsIGtvZW5udGUgZXMgbnVuIHp1IGVpbmlnZW4KVHVyYnVsZW56ZW4ga29tbWVuLiBDYXQgdW5kIGljaCBrdWVtbWVybiB1bnMgZHJ1bS4gV2VpdGVyZXMgZGVtbmFlY2hzdC4KICBUb2V0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVtc3RlbGx1bmcgKENhdHdlYXpsZSwgMzEuIE9rdCAxOTk3LCAxNjoxMjo0Nik6Ck1vaW4hCgpNdXNzdGUgKGxlaWRlciBrdXJ6ZnJpc3RpZykgZGVuIFJlY2huZXIgZXJuZXV0IHJlYWwgdW1zdGVsbGVuLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmVpbiAoSG9ibywgIDQuIE5vdiAxOTk3LCAxMDo1OTo1NSk6CgpBa3Rpb246IFVuc2VyIFZlcmVpbiBzb2xsIHNjaG9lbmVyIHdlcmRlbiEKCkRlc3dlZ2VuIHN1Y2hlbiB3aXIgZWluIAoKICAgICAgICAgICAgVkVSRUlOU0VNQkxFTQoKRXMgc29sbHRlIG5pY2h0IGFsbHp1IGdyb3NzIHNlaW4gdW5kIHdpcmQgYXVmIHVuc2VyZW4gV1dXLVNlaXRlbiAKenUgc2VoZW4gc2Vpbi4KClZvcnNjaGxhZWdlIGJpdHRlIGluIC9vcGVuL3ZlcmVpbiBiaXMgenVtIDE1LjEyLiBhYmxlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmVpbiAoSGFyZGlsLCAgNC4gTm92IDE5OTcsIDExOjAwOjQ2KToKfiMhIHJuPUhvYm8gcnQ9ODc4NjM3NTk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4NjM3NTk1CgpTb3JyeSBIb2JvLAphYmVyIGNyb3NzLXBvc3RlbiBtdXNzIG5jaWh0IHNlaW4sIG9kZXI/CgotSGFyZGlsLgpOTk4sIGFiZXIgYml0dGUga2VpbmUgRHVibGV0dGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2ggKFJvY2h1cywgIDQuIE5vdiAxOTk3LCAxNzo1NDo0OCk6CldlaWwgT3JrdG9ldGVyIFVOQkVESU5HVCB3aXNzZW4gd29sbHRlLCB3aWVzbyBkYXMgTXVkIGdlY3Jhc2h0IGlzdDoKUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDExLCBTZWdtZW50YXRpb24gZmF1bHQuCiMwICBkdW1wX3RyYWNlIChob3c9MCkgYXQgaW50ZXJwcmV0LmM6MTA0MzEKMTA0MzEgICAgICAgICAgICAgICBpZiAoKnBjID09IEZfTEJSQU5DSCAtIEZfT0ZGU0VUKSB7CihnZGIpIGJ0CiMwICBkdW1wX3RyYWNlIChob3c9MCkgYXQgaW50ZXJwcmV0LmM6MTA0MzEKIzEgIDB4ODA3NDY0MCBpbiBlcnJvciAoZm10PTB4ODA5N2U0MyAiQmFkIGFyZ3VtZW50ICVkIHRvICVzKClcbiIpCiAgICBhdCBzaW11bGF0ZS5jOjMzNTkKIzIgIDB4ODA1Y2NkOSBpbiBiYWRfYXJnX3BjIChhcmc9MSwgaW5zdHI9MTEwLCBzcD0weDgwYzJkNTgsIAogICAgcGM9MHg4NmM0ZWQyICIzXDAwMVBQSjZKOG5cMDAzMyIpIGF0IGludGVycHJldC5jOjI0NjgKIzMgIDB4ODA1ZTAwMiBpbiBldmFsX2luc3RydWN0aW9uICgKICAgIGZpcnN0X2luc3RydWN0aW9uPTB4ODZjNGVjYiAiUEo2SjduXDAwMzNcMDAxUFBKNko4blwwMDMzIiwgc3A9MHg4MGMyZDQwKQogICAgYXQgaW50ZXJwcmV0LmM6MzMzNwojNCAgMHg4MDcwMTIwIGluIGNhbGxfbGFtYmRhIChsc3ZwPTB4ODBjMmQyMCwgbnVtX2FyZz0wKSBhdCBpbnRlcnByZXQuYzoxMjU5NAojNSAgMHg4MDY5ODQ1IGluIGV2YWxfaW5zdHJ1Y3Rpb24gKAogICAgZmlyc3RfaW5zdHJ1Y3Rpb249MHg4MjI5YTBiICJPJkFcMDAzOyNcMDA2XDAwNSIsIHNwPTB4ODBjMmQxOCkKICAgIGF0IGludGVycHJldC5jOjg2NDUKIzYgIDB4ODA2ZmNkNiBpbiBjYWxsX2xhbWJkYSAobHN2cD0weDgwYzJkMDAsIG51bV9hcmc9MSkgYXQgaW50ZXJwcmV0LmM6MTI1MzMKIzcgIDB4ODA2OTg0NSBpbiBldmFsX2luc3RydWN0aW9uICgKICAgIGZpcnN0X2luc3RydWN0aW9uPTB4ZGU4M2JhZiAiUCZAXGJQSlwwMzJPO25cMDA0KlwwMzciLCBzcD0weDgwYzJjYjApCiAgICBhdCBpbnRlcnByZXQuYzo4NjQ1CiM4ICAweDgwNmNjMWQgaW4gYXBwbHlfbG93IChmdW49MHg4MjYwMjFlICJtb3ZlIiwgb2I9MHhhMmFiM2UwLCBudW1fYXJnPTIpCiAgICBhdCBpbnRlcnByZXQuYzoxMDAzNQojOSAgMHg4MDYzZjZmIGluIGV2YWxfaW5zdHJ1Y3Rpb24gKAogICAgZmlyc3RfaW5zdHJ1Y3Rpb249MHg4NjFhYmNmICJcMDM3XDAwMShBXGJcMDM3XDAwMV1cMDAxIiwgc3A9MHg4MGMyYjgwKQogICAgYXQgaW50ZXJwcmV0LmM6NTY4NAojMTAgMHg4MDZjYzFkIGluIGFwcGx5X2xvdyAoZnVuPTB4ODI5MTE0NiAiRGVmZW5kIiwgb2I9MHhjZmRhNDA0LCBudW1fYXJnPTQpCiAgICBhdCBpbnRlcnByZXQuYzoxMDAzNQojMTEgMHg4MDYzZjZmIGluIGV2YWxfaW5zdHJ1Y3Rpb24gKAogICAgZmlyc3RfaW5zdHJ1Y3Rpb249MHhkZTgzYjdmICJcMDA1XGIoXDAyMFwwMDVcMDA1XGJ+Iiwgc3A9MHg4MGMyYjUwKQogICAgYXQgaW50ZXJwcmV0LmM6NTY4NAojMTIgMHg4MDZjZjZmIGluIGNhbGxfZnVuY3Rpb24gKHByb2dwPTB4ZGU4M2E1NCwgZng9MzQzKSBhdCBpbnRlcnByZXQuYzoxMDIxMwojMTMgMHg4MDc4MTIwIGluIGNhbGxfaGVhcnRfYmVhdCAoKSBhdCBiYWNrZW5kLmM6NTU3CiMxNCAweDgwNzdjZWYgaW4gYmFja2VuZCAoKSBhdCBiYWNrZW5kLmM6MzA0CiMxNSAweDgwNWFhZGQgaW4gbWFpbiAoYXJnYz0xLCBhcmd2PTB4YmZmZmZlMzgpIGF0IG1haW4uYzo0ODcKIzE2IDB4ODA0OWIyYiBpbiBfX19jcnRfZHVtbXlfXyAoKQoKCkljaCBob2ZmZSBkYW1pdCBpc3QgZGVyIEdydW5kIGF1c3JlaWNoZW5kIGdla2xhZXJ0IDotKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDcmFzaCAoQ2hlYXN5LCAgNC4gTm92IDE5OTcsIDE4OjExOjM5KToKfiMhIHJuPVJvY2h1cyBydD04Nzg2NjI0ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg2NjI0ODgKV0FFTFoKZGFzIHdhciBkaWUgYmVzdGUgZXJrbGFlcnVuZywgd2FydW0gZGFzIE1HIGplbWFscyBnZWNyYXNodCBpc3QsIFJvY2h1cy4KUGx1c3B1bmt0IGZ1ZXIgZGljaC4KLUNoZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaCAoTWFyY3VzLCAgNC4gTm92IDE5OTcsIDE4OjE0OjM0KToKfiMhIHJuPUNoZWFzeSBydD04Nzg2NjM0OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg2NjI0ODgKU28gY3Jhc2hlZCBkYXMgTUcgaW1tZXIgOykgCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENyYXNoIChHbm9tZSwgIDQuIE5vdiAxOTk3LCAyMTo0MjowMCk6Cn4jISBybj1NYXJjdXMgcnQ9ODc4NjYzNjc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4NjYyNDg4CmhtbW0uLi4gaWNoIGhhYiBkZW4gd2FocmVuIGdydW5kIGVudGRlY2t0ISA6KQppY2ggaGF0dGUgdm9sbGUgYXVzcnVlc3R1bmcsIGRhcyBrYW5uIGRhcyBtdWQgbmljaHQgdmVydHJhZ2VuLCBkZXNoYWxiLi4uCmFiZXIgaW0gZXJuc3Q6IGplZGVzbWFsLCBuYWNoZGVtIGljaCB2b2xsZSBydWVzdHVuZyBoYXR0ZSwgaGF0IGRhcyBtdWQKaW5uZXJoYWxiIHZvbiBlaW5lbSB0YWcgZ2VjcmFzaHQuLi4gaG1tbSA6LSgKCmduT21lLCBmcnVzdHJpZXJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDcmFzaCAoV3VyemVsLCAgNC4gTm92IDE5OTcsIDIxOjQyOjU1KToKfiMhIHJuPUdub21lIHJ0PTg3ODY3NjEyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODY2MjQ4OAphaCwgZHUgYmlzdCBzY2h1bGQuLi4gbGFzcyBkYXMhCgotPnNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggKE1vcmdvdGgsICA1LiBOb3YgMTk5NywgMTE6MTg6MzApOgp+IyEgcm49Um9jaHVzIHJ0PTg3ODY2MjQ4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODY2MjQ4OApHdXQsIGRhIHN0ZWh0IG5pcmdlbmR3byBtZWluIG5hbWUuIDstKSkKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2ggKFRyYW5jZWZlYXIsICA1LiBOb3YgMTk5NywgMTE6MTg6NDgpOgp+IyEgcm49TW9yZ290aCBydD04Nzg3MjUxMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg2NjI0ODgKWnVmYWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDcmFzaCAoQmlyZHksICA1LiBOb3YgMTk5NywgMTQ6NTQ6NDMpOgp+IyEgcm49R25vbWUgcnQ9ODc4Njc2MTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4NjYyNDg4CgpOZWluLCBlcyBjcmFzaHQgZGVzaGFsYiwgd2VpbCBNYWhhdG1hIG1pciBuZW4gZXdpZ2VuIEJsdXRzdGllbiBnZXNjaGVua3QgaGF0Lgo6KApEYXMgd2FyIGJlaW0gbGV0enRlbiBNYWwgYXVjaCBzY2hvbiBzby4KVW5nZWZhZWhyIDIgU3R1bmRlbiB2b3JtIENyYXNoLiBOYWVjaHN0ZXMgTWFsIGxlaG5lIGljaCBkYW5rZW5kIGFiIE1haGF0bWEgIQo7KQoKQmlyZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENyYXNoIChGeXQsICA1LiBOb3YgMTk5NywgMTU6MDY6MTIpOgp+IyEgcm49TWFyY3VzIHJ0PTg3ODY2MzY3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODY2MjQ4OAoKQXVjaCBndXQuIERhbm4gYnJhdWNoZW4gd2lyIGluIFp1a3VuZnQgamEga2VpbmUgRXJrbGFlcnVuZWduIG1laHIsIHdhcnVtIGRhcwpNRyBnZWNyYXNodCBpc3QuCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDcmFzaCAoS2V0b3MsICA1LiBOb3YgMTk5NywgMTc6MjU6MTQpOgp+IyEgcm49Rnl0IHJ0PTg3ODczODc3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODY2MjQ4OApBY2ggd2llIHNjaG9lbiB3YXIgZGFzIGZydWVoZXI6IApEYSBrb25udGUgbWFuIGRhcyBNdWQgdmllbCBlaW5mYWNoZXIgY3Jhc2hlbiBsYXNzZW4uLi4KLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDcmFzaCAoS2V5LCAgNS4gTm92IDE5OTcsIDIwOjE3OjA2KToKfiMhIHJuPUtldG9zIHJ0PTg3ODc0NzExNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODY2MjQ4OApIbW0gZXMgZ2VodCB3b2hsIGltbWVybm9jaCByZWxhdGl2IGxlaWNodCA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggKEZyZXVuZCwgIDUuIE5vdiAxOTk3LCAyMzozMjozNCk6Cn4jISBybj1Sb2NodXMgcnQ9ODc4NjYyNDg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4NjYyNDg4CgogSG0gbmFlY2hzdGVzIG1hbCB2aWVsbGVpY2h0IGVpbgoKZnJhbWUgMApwcmludCAqY3VycmVudF9vYmplY3QKCiBMaWVmZXJ0IG1laHIgSW5mbyBhbHMgZGVyIHB1cmUgRHVtcCwgYXVzc2VyZGVtIGhhdCBtYW4gZGFubiBlaW5lbgpTdWVuZGVuYm9jayAuLi4uCgpGcmV1bmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2ggKE1hcmN1cywgIDYuIE5vdiAxOTk3LCAxMzowMToxMSk6Cn4jISBybj1GcmV1bmQgcnQ9ODc4NzY5MTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4NjYyNDg4CkRhcyBrYW5uc3QgZHUgbWl0IGRlbSBjb3JlZmlsZSBpbW1lciBub2NoIG1hY2hlbiA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwaGx5YWtlbiAoU2lsdmFuYSwgIDYuIE5vdiAxOTk3LCAxMzowNToxNSk6Ck9ya3RvZXRlciB3aWVzcyBtaWNoIGRhcmF1ZiBoaW4sIGRhc3MgbmljaHQgbnVyIFphdWJlcmVyIHNpY2ggbWl0IApQaGx5YWtlbiBhbmxlZ2VuLiBXZW5zIGFsc28gaW50ZXJlc3NpZXJ0LCBiaXR0ZSBpbiBnaWxkZW4uemF1YmVyZXIgbmFjaGxlc2VuLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDcmFzaCAoUm9jaHVzLCAgNi4gTm92IDE5OTcsIDE1OjIxOjE1KToKfiMhIHJuPU1hcmN1cyBydD04Nzg4MTc2NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg2NjI0ODgKRGFzIGtvbXBsZXR0ZSBjb3JlZmlsZSB3b2xsdGUgaWNoIGJlc3NlciBuaWNodCBoaWVyaGluIHNjaHJlaWJlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYnJ1ZGVyaGVyeiAoRGltZXRoZW9uLCAgNi4gTm92IDE5OTcsIDE4OjEwOjIyKToKSGV5LCBKb25hdGhhbiwgaWNoIGhvZmZlIGR1IGxpZXN0IGRpZXNlIHplaXR1bmcgdW5kbG9nZ3N0IGRpY2ggYW0gc2Ftc3RhZyA2CnVociBldXJlciB6ZWl0IGhpZXIgZWluLCBEaW1ldGhlb24uCm5pbW0gemVpdHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU9MIChYYW5kLCAgNi4gTm92IDE5OTcsIDIzOjA3OjE2KToKSWNoIGhhYmUgaGV1dGUgZWluZSBNYWlsIGVyaGFsdGVuLCBkaWUgc28gd2VpdCBpY2ggZGFzIHNlaGUgZXZlbnR1ZWxsIGZ1ZXIKZWluaWdlIGludGVyZXNzYW50IHNlaW4ga29lbm50ZS4gRGllIE1haWwgaXN0IGV0d2FzIGxhZW5nZXIgdW5kIGRhIGljaCBzaWUKdWJlciBjdXQgJiBwYXN0IGVpbmZ1ZWdlIGVpbiB3ZW5pZyBzY2hsZWNodCBmb3JtYXRpZXJ0IGFiZXIgZGFzIHNvbGx0ZSBuaWNodApzdG9lcmVuLgogRGVyIGZvbGdlbmRlIFRleHQgd3VyZGUgbmljaHQgdmVyZmFzc3Qgdm9uIEtXaGxHRVJNQU46CiAKIAogPj4+IEhhYmUgaGV1dGVuIGVpbmVuIGtsZWluZW4gQnJpZWYgYXVzIFVTQSAgYmVrb21tZW4uCiBJY2ggaGFiZSBrZWluZSBBaG51bmcgb2IgZGFzIHdpcmtsaWNoIGRlciBXYWhyaGVpdCBlbnRzcHJpY2h0LCBhYmVyIGljaApiaW4KZGVyIE1laW51bmcgamVkZXIgc29sbHRlIGVzIHdlbmlnc3RlbnMgbWFsIGdlbGVzZW4gaGFiZW4uCiBEYSBlcyBpbiBFbmdsaXNjaCB3YXIsIGhhYmUgaWNoIG1pciBlcmxhdWJ0IGVzIHp1IHVlYmVyc2V0emVuLgogVW5kIGljaCBiaW4gZGVyIE1laW51bmcsIGRhcyBzb2xsdGVuIGFsbGUgTGVzZW4sIGRpZSBtaXQgQU9MIGV0d2FzIHp1CnR1bgpoYWJlbi4KIAogIlZvbiBlaW5lbSBlaGVtYWxpZ2VuIEFPTC1Bbmdlc3RlbGx0ZW4uCiAKIEljaCB3ZXJkZW4gbWFsIHZlcnN1Y2hlbiBkdXJjaCBkaWVzZW4gZ2FuemVuIE1pc3QgZHVyY2h6dWtvbW1lbiB1bmQKc2NobmVsbAphdWYgZGVuIFB1bmt0IGRpZXNlcyBCcmllZmVzIHp1IGtvbW1lbi4KIEljaCBoYWJlIGZ1ZXIgQW1lcmljYSBPbmxpbmUgKGluIGRlbiBVU0EgQW5tZXJrLiBkZXMgVWViZXJzZXR6ZXJzKQpnZWFyYmVpdGV0IHVuZCB3aWxsIGF1cyBkaWVzZW0gR3J1ZW5kZW4gdW5lcmthbm50IGJsZWliZW4uCiBJbSBmcnVlaGVuIFNlcHRlbWJlciBkaWVzZSBKYWhyZXMgd3VyZGUgaWNoIGVudGxhc3NlbiwgYWxsZXJkaW5ncyB3ZWlzcwppY2gKZ2FueiBnZW5hdSwgd2FydW0gZGFzIHBhc3NpZXJ0ZSB1bmQgaWNoIG1vZWNodGUgZXMgaGllciBlcmtsYWVyZW46CiAKIFNlaXQgbGV0enRlbiBEZXplbWJlciB3YXIgaWNoIGVpbmVyIHZvbiB2aWVsZW4gTGV1dGVuIGRpZSBtaXQgZGVtCkRlc2lnbiB1bmQKZGVyIFByb2dyYW1taWVydW5nIHZvbiBBT0wgNC4wIGZ1ZXIgV2luZG93cyAoQW9sIDQuMCBiZXRhLVZlcnNpb24sCmdlbmFubnQKIkNhc2FibGFuY2EiKSBiZXNjaGFlZmZ0aWd0IHd1cmRlbiB1bmQgYW0gQW5mYW5nIHdhciBpY2ggc2VociBTdG9segpkYXJhdWYsCmJpcyBpY2ggaGVyYXVzZmFuZCwgd29ydW0gZXMgZWlnZW50bGljaCB3aXJrbGljaCBnaW5nLiBCaXMgTWl0dGUgRmVicnVhcgpsaWVmCmFsbGVzIHJlaWJ1bmdzbG9zLCBiaXMgd2lyIHBsb2V0emxpY2ggbWl0IGVpbmVtIHJlY2h0ZW0gInByaXZhdGVuClByb2JsZW0iCmtvbmZyb250aWVydCB3dXJkZW4uIEVpbmVzIGRpZXNlciBwcml2YXRlbiBQcm9ibGVtZSB3YXIgZWluZXIgZGVyCk1hc3Rlci1Qcm9ncmFtbWllcmVyLCBkZXIgZGFzIGZhc3QgZmVydGlnZSBQcm9ncmFtbSBrb3BpZXJ0ZSwgbWl0IG5hY2gKaGF1c2UKbmFobSwgdW0gZGllIGVudGd1ZWx0aWdlIFZlcnNpb24genUgZXJzdGVsbGVuIHVuZCBkaWVzZSBkYW5uIHdpZWRlcgplaW5zcGllbHRlLiBOYXR1ZXJsaWNoIHdvbGx0ZW4gd2lyIHdpc3NzZW4gd2FzIGVyIGdlbWFjaHQgaGF0dGUgdW5kCnZlcmJyYWNodGVuIGVpbmlnZSBzY2hsYWZsb3NlIE5hZWNodGUgdW5kIGZhc3QgendlaSBXb2NoZW4gZGFtaXQgZGFzCmdlc2FtdGUKUHJvZ3JhbW0gZHVyY2h6dWNoZWtlbiwgZXMgYXVmIEhlcnogdW5kIE5pZXJlbiB6dSB1ZWJlcnBydWVmZW4uIFVuZCBoaWVyCmlzdCwKd2FzIHdpciBoZXJhdXNmYW5kZW4uCiAKIEltIEdlZ2Vuc2F0eiB6dSBkZW4gZnJ1ZWhlcmVuIFZlcnNpb25lbiB2b24gQW1lcmljYSBPbmxpbmUsIGluc3RhbGxpZXJ0CmRpZQpWZXJzaW9uIDQuMCBldHdhcyBhdWYgZXVyZXIgRmVzdHBsYXR0ZSBldHdhcywgZGFzIHdpciAiQ29va2llIiBuZW5uZW4KKGhpZXIKYmVmYW5kIHNpY2ggZWluZSBBbm1lcmt1bmcgcGVyIEh5cGVybGluaywgZGllIGZvbGdlbmRlcm1hc3NlbiBsYXV0ZXRlOgpFaW4KIkNvb2tpZSIgaXN0IGVpbiBQcm9ncmFtbSwgZGFzIGplZGVtIGVybGF1YnQsIHBlciBNb2RlbSBhdWYgZGVuIFJlY2huZXIKZGVzamVuaWdlbiB6dSBnZWxhbmdlbiBkZXIgZXMgYXVmIHNlaW5lciBGZXN0cGxhdHRlIGluc3RhbGxpZXJ0IGhhdC4gTWl0CmFuZGVyZW4gV29ydGVuLCB3ZXIgZGllc2VuICJDb29raWUiIGF1ZiBzZWluZW0gUmVjaG5lciBoYXQsIGlzdCBuaWNodAptZWhyCnNpY2hlciB2b3IgRWluZHJpbmdsaW5nZW4gdm9uIGF1c3NlbiBBbm1lcmsuIGRlcyBVZWJlcnNldHplcnMpLiBEYXMgaXN0CmVpZ2VudGxpY2ggbmljaHRzIGJlc29uZGVyZXMsIGFiZXIgZGVuICJDb29raWUiIGRlbiB3aXIgZmFuZGVuLCB3YXIgZGVyCnNjaGxpbW1zdGUgZGVuIHdpciBqZW1hbHMgZ2VzZWhlbiBoYWJlbi4gV2lyIHd1ZXJkZXQgaWhyIGVzIGZpbmRlbiwgd2VubgpqZWRlciBpbiBkZXIgTGFnZSBpc3QgYXVmIGV1cmVuIFJlY2huZXIgenUga29tbWVuIHVuZCBzaWNoIHZvbiBkb3J0IGF1cwpqZWRlCihhYnNvbHV0IGplZGUhKSBJbmZvcm1hdGlvbiB6dSBob2xlbiwgZGllIGRvcnQgZ2VzcGVpY2hlcnQgaXN0LiBTb2dhcgphbGxlCkluZm9ybWF0aW9uZW4gdWViZXIgS2VubndvZXJ0ZXIgb2RlciBQYXNzd29lcnRlciB6dSBBT0wgLCByZXN0bG9zIGFsbGVzLgpPYgplcyBudW4gZ2VmYWVsbHQgb2RlciBuaWNodCwgZGFzIGlzdCBhdWNoIHNjaG9uIGJlaSBkZW4gZnJ1ZWhlcmVuIFZlcnNpb24KcGFzc2llcnQsIGFiZXIgbnVyIGRhbm4sIHdlbm4gbWFuIHNpY2ggRGF0ZW4gcnVudGVyZ2VsYWRlbiBoYXQuIFdpcgpoYWJlbgphbGxlcmRpbmdzIGhlcmF1c2dlZnVuZGVuLCBkYXMgaW4gZGVtIE1vbWVudCB3ZW5uIG1hbiBzaWNoIG1pdCBkZXIgbmV1ZW4KVmVyc2lvbiBiZWkgQU9MIGFubWVsZGV0IGplZGVyIE1pdGFyYmVpdGVyIHZvbiBBT0wsIGplZGVyemVpdCBhdWYgZXVyZW4KUmVjaG5lciBrYW5uICx1bSBzaWNoIHZvbiBkb3J0IGRpZSBJbmZvcm1hdGlvbmVuIHp1IGhvbGVuLCBkaWUgc2llIGhhYmVuCndvbGxlbi4gUmVjaG51bmdlbiwgRGF0ZW4sIGUtbWFpbHMsIERhdGVuLU9yZG5lciwgcGVyc29lbmxpY2hlCkRva3VtZW50ZSwKUHJvZ3JhbW1lLCBmaW5hbnppZWxsZSBJbmZvcm1hdGlvbmVuLCBnZXNjYW5udGUgQmlsZGVyIGV0Yy4uLi4uLgogRXMgd2FlcmUgd2lya2xpY2ggYmVzc2VyIGRpZXNlIFNhY2hlbiBhYiBzb2ZvcnQgYXVmIEZsb3BweSB6dQpzcGVpY2hlcm4uCiAKIERpZXMgaXN0IGVpbiBBbmdyaWZmIGF1ZiB1bnNlciBSZWNodCBhdWYgcHJpdmF0c3BoYWVyZSB1bmQgamVkZXIgaGF0CmRlcwpSZWNodCBkaWVzZSBJbmZvcm1hdGlvbiB6dSBsZXNlbi4gTmFjaGRlbSB3aXIgZGllc2UgSW5mb3JtYXRpb24gaGF0dGVuLAp2ZXJzdWNodGVuIHdpciBlaW4gcGFhciBhbmRlcmUgTWl0YXJiZWl0ZXIgdm9uIEFPTCBkYXZvbiB6dSBpbmZvcm1pZXJlbiwKdW0KZGFzIHdlbm4gbW9lZ2xpY2ggenUgc3RvcHBlbiwgYmV2b3IgbWlsbGlvbmVuIHZvbiBhaG51bmdzbG9zZW4gVXNlcm4gZGVtCnp1bQpPcGZlciBmYWxsZW4uIERhcyB3YXIgQW5mYW5nIEF1Z3VzdCwgdW5nZWZhZWhyIGVpbmVuIE1vbmF0IHNwYWV0ZXIgd2FyZW4Kd2lyCmFsbGUgYXJiZWl0c2xvcy4gVHJvdHpkZW0gdmVyc3VjaGVuIHdpciBhdWNoIHdlaXRlcmhpbiBhbGxlcywgdW0gZXMKamVkZW4Kd2lzc2VuIHp1IGxhc3Nlbi4KIAogVHJvdHogcGVyc29lbmxpY2hlciBQcm9ibGVtZSwgbWVpbmUgU2NoZWlkdW5nLCBkaWUgS3JlYnNiZWhhbmRsdW5nIHZvbgplaW5lbQp1bnNlcmVyIE1pdHN0cmVpdGVyIHVuZCBkZXIgaG9mZm51bmdsb3NlbiBmaW5hbnppZWxsZW4gU2l0dWF0aW9uLCBkZXIKd2lyIGltCk1vbWVudCBhdXNnZXNldHp0IHNpbmQsIHZlcnN1Y2hlbiB3aXIgd2VpdGVyaGluIGFsbGVzIGluIHVuc2VyZXIgTWFjaHQKc3RlaGVuZGUuCiBadWVyc3QgdmVyc3VjaHRlbiB3aXIgZHJlaSBNYWwgZWluZSBJbnRlcm5ldC1TZWl0ZSB6dSBlcm9lZmZuZW4sIGluIGRlcgp3aXIKSW5mb3JtYXRpb25lbiB3ZWl0ZXIgZ2ViZW4gd29sbHRlbi4gRXMgZGF1ZXJ0ZSBncnVuZHNhZXR6bGljaCBrZWluZSB6d2VpClRhZ2UsIGJpcyBkaWVzZSBTZWl0ZW4gd2llZGVyIGFiZ2VzdGVsbHQgd3VyZGVuLiBTbyBsYW5nc2FtIGdlaHQgdW5zIGRpZQpaZWl0CmF1cyAoVmVyc2lvbiA0LjAgc29sbCBpbiBkaWVzZW0gV2ludGVyIGF1ZiBkZW0gTWFya3Qga29tbWVuLAp3YWhyc2NoZWlubGljaApudXIgaW4gZGVuIFVTQSBBbm1lcmsuIFVlYmVyc2V0emVyKSB1bmQgZGVzaGFsYiBlbnRzY2hpZWRlbiB3aXIgdW5zIGZ1ZXIKZGVuCktldHRlbmJyaWVmLCBkZW4gZGVuIElociBnZXJhZGUgaW4gZGVuIEhhZW5kZW4gaGFidC4gQml0dGUgc2VpdCBzbwpmcmV1bmRsaWNoCnVuZCBoZWxmdCB1bnMsIGRhbWl0IHdpciBhdWNoIHdlaXRlcmhpbiB1bnNlcmUgcGVyc29lbmxpY2hlbiBGcmVpaGVpdGVuCmdlbmllc3NlbiBrb2VubmVuOgogCiAxLiAgU2VuZGV0IGRpZXNlbiBCcmllZiB6dSBzbyB2aWVsZW4gTGV1dGVuIHdpZSBudXIgbW9lZ2xpY2ggKGJpdHRlCm5pY2h0Cm51ciBGcmV1bmRlbiB1bmQgRmFtaWxpZSwgc28gdmllbGUgd2llIGVzIGdlaHQhKQogCiAyLiAgRXJ6YWVobHQgZXMgYWxsZW4gTGV1dGVuIGRpZSBuaWNodCBiZWkgQW1lcmljYSBPbmxpbmUgYXJiZWl0ZW4sCmluc2Jlc29uZGVyZSB3aWNodGlnZW4gTGV1dGVuIChEZXRla3RpdmVuLCBNaXRhcmJlaXRlciB2b24gUmVnaWVydW5nZW4sCnVzdy4pCiAKIDMuICBXZW5uIGRpZXNlIEluZm9ybWF0aW9uIHVlYmVyIGRpZSBuZXVlIFZlcnNpb24gbmljaHQgYmlzIHp1cgpWZXJvZWZmZW50bGljaHVuZyBwcmVpc2dlZ2ViZW4gd3VyZGUsIGluIGRpZXNlbSBXaW50ZXIsIHp1IGV1cmVyIGVpZ2VuZW4KU2ljaGVyaGVpdCBTUElFTFQgRElFIE5FVUUgVkVSU0lPTiBBT0wgNC4wIE5JQ0hUIEFVRiBFVVJFTiBSRUNITkVSIQpVTlRFUgpLRUlORU4gVU1TVEFlTkRFTiEKIAogVmllbGVuIERhbmsgZGFzIElociBkaWVzZW4gQnJpZWYgZ2VsZXNlbiB1bmQgenVyIEtlbm50bmlzIGdlbm9tbWVuaGFidC4KSWNoCnVuZCBtZWluZSBLb2xsZWdlbiBob2ZmZW4sIGRhc3MgSWhyIHVucyBoZWxmZW4gd2VyZGV0LCBkYW1pdCB3aXIgZGFzCnJpY2h0aWdlCnR1bi4KIFZpZWwgU3Bhc3Mgbm9jaCBtaXQgQW1lcmljYSBPbmxpbmUgKG51ciBlaW4gU3Bhc3MhKS4KIAogVmllbGVuIERhbmsuICAKIAogRWluIGVoZW1hbGlnZXIgQU9sLU1pdGFyYmVpdGVyIgogCiBJY2ggd2lsbCBkYXMgbmljaHQga29tbWVudGllcmVuLCBlcyBpc3QgamVkZW0gdWViZXJsYXNzZW4gZGFzIHp1CmdsYXViZW4Kb2RlciBuaWNodC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQU9MIChHcmltbWJvcm4sICA3LiBOb3YgMTk5NywgMDk6MjE6NDApOgp+IyEgcm49WGFuZCBydD04Nzg4NTQwMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKSm8sIGJpc2NoZW4gZGljayBhdWZnZXRyYWdlbiwgYWJlciBzb25zdCBuZXR0LiA6LSkKR2Vob2VydCBhYmVyIGVpZ2VudGxpY2ggZWhlciBuYWNoIHNjaG1hcnJuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQU9MIChMaSwgIDcuIE5vdiAxOTk3LCAwOTozMzowNik6Cn4jISBybj1YYW5kIHJ0PTg3ODg1NDAzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODg1NDAzNgpBYmVyIGljaCB3aWxsIGRhcyBrb21tZW50aWVyZW46CktsaW5ndCB3aWUgZWluZSBuZXVlIGdlc2NoaWNodGUgZnVlciAiRGllIFNwaW5uZSBpbiBkZXIgWXVjY2FwYWxtZSIuCkxpIChrYW5uIGRhcyBkb2NoIG5pY2h0IGdhbnogZ2xhdWJlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQU9MIChHbm9tZSwgIDcuIE5vdiAxOTk3LCAxMDoyNjoxNyk6Cn4jISBybj1MaSBydD04Nzg4OTE1ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKbmFqYSwgZGFzIHByb2JsZW0gZGVyIGNvb2tpZXMgaXN0IGFsdGJla2FubnQsIGFiZXIgYmVpIGVpbmVtIGd1dGVuIGJyb3dzZXIKbWl0IG9wdGlvbmFsZXIgZmlsdGVyZmt0LiBkdWVyZnRlIGRvcnQgZWlnZW50bGljaCBuaXggcGFzc2llcmVuLgphdXNzZXJkZW06IHdlbm4gZGFzIHdhaHIgd2FlcmUgdW5kIGhlcmF1c2thZW1lLCBrYW5uIEFPTCBkaWNodCBtYWNoZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQU9MIChHcmltbWJvcm4sICA3LiBOb3YgMTk5NywgMTA6Mzk6NDcpOgp+IyEgcm49R25vbWUgcnQ9ODc4ODk0Nzc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4ODU0MDM2CkljaCBzZWhlIGNvb2tpZXMgbmljaHQgYWxzIFByb2JsZW0sIGFsbGVzIHdhcyBtYW4gYnJhdWNodCBpc3QgZWluIApsbiAtcyAvZGV2L251bGwgfi8ubmV0c2NhcGUvY29va2llcywgZGFtaXQgaGFiIGljaCBub2NoIG5pZSBBZXJnZXIgZ2VoYWJ0LgpBY2ggamEsIGVpbiBhbnN0YWVuZGlnZXMgQmV0cmllYnNzeXN0ZW0gaXN0IGRhIG5hdHVlcmxpY2ggVm9ycmF1c3NldHp1bmcuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQU9MIChIYW5nb3ZlciwgIDcuIE5vdiAxOTk3LCAxMDo1NzozMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODc4ODk1NTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4ODU0MDM2CkhpaGkuLi4KCldvenUgZ2lidHMgSnVua2J1c3Rlci4uLmRlciBpc3N0IGRpZSBDb29raWVzIGdlcmFldXNjaHZvbGwgYXVmIDotKQoKLUhhbmdvdmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBT0wgKEJhYm9vbiwgIDcuIE5vdiAxOTk3LCAxMjoyMDo0MSk6Cn4jISBybj1IYW5nb3ZlciBydD04Nzg4OTY2NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKQWxzbyBzb3dlaXQgaWNoIHdlaXNzLCBrYW5uIG1hbiBjb29raWVzIG1pdCBpbmZvcm1hdGlvbmVuCnZlcnNlaGVuIGF1ZiBkaWUgRmVzdHBsYXR0ZSBlaW5lcyBVc2VycyBzY2hyZWliZW4sIGFiZXIgbml4CnZvbiBkYSBhdXNsZXNlbiBtaXQgSGlsZmUgZWluZXMgc29sY2hlbi4KQXVzc2VyZGVtIHd1ZXJkZSBkYXMgZG9jaCBhdWNoIGlyZ2VuZHdpZSBkYW5uIGF1ZmZhbGxlbiwgd2VubiBkZW0KVXNlciBkaWUgRmVzdHBsYXR0ZSBhdXNnZWxlc2VuIHdpcmQuIHZvbiB3ZWdlbiBVZWJlcnRyYWd1bnN6ZWl0CnVuZCBUZWxlZm9ua29zdGVuIHVuZCBzby4gCkZ1ZXIgbWljaCBrbGluZ3QgZGFzIG5hY2ggU2Nod2FjaHNpbm5pZ2VtIER1bW1mdWcsIHNvIHdpZSBtYWwgdm9yIE1haWxzCmdld2FybnQgd3VyZGUsCmRpZSBhbmdlYmxpY2ggZGllIEZlc3RwbGF0dGUgbG9lc2NoZW4gb2RlciBkZW4gbW9iaXRvciBleHBsb2RpZXJlbiBsYXNzZW4sCndlbm4gbWFuIHNpZSBudXIgbGllc3QuCgpIdWNoLCBzb2xsIG5hdHVlcmxpY2ggX01vbml0b3JfIGhlaXNzZW4uCgpCYWJvb24oKSAtIEltIFplaWNoZW4gZGVzIEFmZmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQU9MIChLZXksICA3LiBOb3YgMTk5NywgMTc6MzU6NTcpOgp+IyEgcm49TGkgcnQ9ODc4ODkxNTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc4ODU0MDM2CkhtbSBkaWUgU3Bpbm5lIGdpYmJldCBuaWNodD8gOikKCktleSBnbGF1YnQgYWxsZXMgPTspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQU9MIChKaW1kaWdyaXosICA5LiBOb3YgMTk5NywgMTc6NTc6MzMpOgp+IyEgcm49WGFuZCBydD04Nzg4NTQwMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKTW9pbiAqZ2FlaG4qLAoKZXJ6YWVobHQgZG9jaCBtYWwgd2FzIG5ldWVzLgpzb2xjaGUgc2FjaGVuIGthbm4gZGVyIE1TTiBjbGllbnQgZnVlciBXOTUgZG9jaCBzY2hvbiAKbGFlbmdzdCwgdW5kIHdlciB3ZWlzcyB3YXMgaW0gTWlja3ktTWF1cy1FeHBsb3JlciBmdWVyCmJhY2tkb29ycyBzaW5kLiBOaWNodCB6dSB2ZXJnZXNzZW4gQWN0aXZlLVN1eCBmdWVycwpiZXF1ZW1lIEdlbGQgdWViZXJ3ZWlzZW4gdm9tIGZyZW1kZW4gS29udG8uLi4KCkppbSBEaUdyaXosICptaXRsZWlkaWcgbGFlY2hlbG5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFPTCAoRW5kZXIsIDEwLiBOb3YgMTk5NywgMTc6MTk6NDIpOgp+IyEgcm49WGFuZCBydD04Nzg4NTQwMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKVmllbGVpY2h0IGlzdCBkYXMgYXVjaCBudXIgZWluZSBSdWZtb3JkYXR0YWNrZSwgd2VnZW4gRW50bGFzc3VuZywgTmFjaHBydWVmYmFyCmlzdCBlcyBuaWNodCwgbnVyIGRpZWplbmlnZW4gZGllIEFobnVuZyBoYWJlbiwgd2lzc2VuLCBkYXMgZGFzIHdvaGwga2F1bQpkZW5rYmFyIGlzdCwgd2FzIGRlciBTY2hyZWliZXJsaW5nIG1laW50CkRpZSB3ZW5pZ2VyIEFobnVuZyByZWFnaWVyZW4gdmllbGVpY2h0IGdlYWVuZ3N0aWd0LgogTmljaHRzZGVzdG90cm90eiBpc3Qgd2VubiBkYXMgbmUgZ3Jvc3NlIE1lbmdlIHBvdGVudGllbGxlciBVc2VyIGdsYXVidCBBT0wKYXVmZ2VzY2htaXNzZW4KCkVuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQU9MIChLcmV0ZWssIDEwLiBOb3YgMTk5NywgMTg6MDc6MzIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg3ODg5NTU4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3ODg1NDAzNgouLi4gVW50ZXIgInVuYW5zdGFlbmRpZ2VuIiBCZXRyaWVic3N5c3RlbWVuIHNldHp0IG1hbiBlaW5mYWNoIGRpZQpjb29raWVzLmh0bShsKSBhdWYgcmVhZC1vbmx5LCBmdW56dCBhdWNoIDotKQoKS3JldGVLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBT0wgKEVuZ3l3dWNrLCAxMC4gTm92IDE5OTcsIDE4OjExOjExKToKfiMhIHJuPUtyZXRlayBydD04NzkxODE2NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKQWx0ZXJuYXRpdiwgdW5kIHdvaGwgYXVjaCBub2NoIGV0d2FzIHdpcmt1bmdzdm9sbGVyOgptZCBjb29raWVzLmh0bSAob2RlciB3aWUgaW1tZXIgZGllIGhlaXNzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBT0wgKE1hcmN1cywgMTAuIE5vdiAxOTk3LCAxODozNjozMyk6Cn4jISBybj1Fbmd5d3VjayBydD04NzkxODE4NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKVW5kIG5hdHVlcmxpY2ggaGlsZnQgZGllc2VyIFRyaWNrIGF1Y2ggbmljaHRzLCBzb2xhbmdlIG1hbiBkZW4KTmV0c2NhcGUgbmljaHQgYmVlbmRldCwgZGEgZXIgZGllIENvb2tpZXMgaW0gU3BlaWNoZXIgdHJvdHpkZW0gYXVzd2VydGV0CnVuZCB6dXJ1ZWNrc2NoaWNrdAoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBT0wgKFJhZmZpLCAxMC4gTm92IDE5OTcsIDE5OjEzOjM3KToKfiMhIHJuPU1hcmN1cyBydD04NzkxODMzOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04Nzg4NTQwMzYKCkFsc28gaWNoIGhhYiBkaWUgU3RvcnJ5IGF1cyBlcnN0ZXIgaGFuZCBlcmZhaHJlbiAuLi4gbmEgamEsIG5pY2h0IGdhbnosIGFiZXIKYWxzIGljaCBsZXR6dGUgd29jaGUgbmUgYmVrYW5udGUgaW4gVVNBIGJlc3VjaHQgaGFiZSBoYXQgZGllIG1pciBkYXMgZ2FuegpnbGF1YmhhZnQgdmVyc2ljaGVydCBkYXMgZGFzIGdlbmF1IHNvIGVpbmVyIGlocmVyIGJla2FubnRlbiB3aWVkZXJmYWhyZW4gaXN0Ci4uLiBlY2h0IQoKR3JpbnMKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJFUlVGRSBJTiBNRyAoWmFwaG9iLCAxMi4gTm92IDE5OTcsIDE4OjU3OjI0KToKSGFsbG8KCldhcnVtIGdpYnQgZXMgaW4gTWcgZWlnZW50bGljaCBrZWluZSBCZXJ1ZmU/CkljaCBzdGVsbCBtaXIgZGFzIHNvIHZvciwgZGFzcyBtYW4gc2ljaCB6QiBhYiBTdHVmZSAxMCBlaW5lbiBCZXJ1ZiBhdXN3YWVobGVuCmthbm4gKFNjaG1pZWQsIFZlcmthZXVmZXIuLi4pIHVuZCBzaWNoIGRhbm4gZWluZW4gTGFkZW4gaW4gZWluZXIgU3RhZHQKYW5taWV0ZXQgdW5kIGRvcnQgc2VpbmVuIEJlcnVmIGF1c3VlYnQuCkFscyBIZWlsZXIgbXVlc3N0ZSBtYW4gekIgS3JhZXV0ZXIgc3VjaGVuIGdlaGVuLCBvZGVyIGFlaG5saWNoZXMuLi4KCkZhbGxzIGRlciBWb3JzY2hsYWcgc2Nob24gZmllciwgbW9lY2h0ZSBpY2ggd2lzc2VuLCB3YXJ1bSBlciBuaWNodCB1bWdlc2V0enQKd3VyZGUuLi4KClphcGhvYiwgd2FydGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJFUlVGRSBJTiBNRyAoV3VyemVsLCAxMi4gTm92IDE5OTcsIDE4OjU5OjQ0KToKfiMhIHJuPVphcGhvYiBydD04NzkzNTc0NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzkzNTc0NDQKZGVuIHZvcnNjaGxhZyBnYWIgZXMgc2Nob24gbWVocmZhY2gsIGplZGVuZmFsbHMgZnVlciBzZWhlci4gd2FzIGpldHp0IG5vY2gKZmVobHQsIGlzdCBqZW1hbmQgZGVyIGRhcyBhdWNoIHByb2dyYW1taWVydC4uLiBudXIgbXV0IDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvdXJpc3RlbmZ1ZWhydW5nIGluIE1HIChaYXBob2IsIDEyLiBOb3YgMTk5NywgMTk6MDA6MTkpOgpIYWxsbyBub2NobWFsCgpNYW4ga29lbm50ZSBqYSBhdWNoIGVpbmUgVG91cmlzdGVuZnVlaHJzdGVsbGUgZWlucmljaHRlbiwgd28gbmV1bGluZ2Ugc2ljaAplaW5lbiBGdWVocmVyIChzb3JyeSkgYXVzc3VjaGVuIGtvZW5uZW4gdW5kIGRlciB6ZWlndCBpaG5lbiBkYW5uIGRpZSBIRSB1bmQKZGVuIGdhbnplbiBrcmFtLiBoaW50ZXJoZXIgd2lyZCBkZXIgZnVlaHJlciAoc29ycnkpIGRhbm4gYXVmIGVpbmVyIDEtNmVyIFNrYWxhCmJlbm90ZXQgdW5kIGJla29tbXQgc28gZGllIGNoYW5jZSAiZnVlaHJlciAoc29ycnkpIGRlciB3b2NoZSIgenUgd2VyZGVuLgoKRGFzIHdhZXJlIDEuIGVpbmUgZ2VsdW5nZW5lIHVuZCBhdXNzZXJkZW0gc296aWFsZSBGcmVpemVpdGJlc2NoYWVmdGlndW5nLAoyLiBlaW4gV2V0dGJld2VyYgp1bmQgMy4gd3VlcmRlbiBkaWUgbmV1bGluZ2UgbmljaHQgbWVociBkdXJjaCBydW1nZXNjaHJlaWUgbmVydmVuLi4uCgpaYXBob2Igc2luaWVyZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG91cmlzdGVuZnVlaHJ1bmcgaW4gTUcgKFd1cnplbCwgMTIuIE5vdiAxOTk3LCAxOTowMTo1OCk6Cn4jISBybj1aYXBob2IgcnQ9ODc5MzU3NjE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc5MzU3NjE5CmRhZnVlciBnaWx0IGFlaG5saWNoZXMgd2llIG9iZW4gc2Nob24gZ2VzYWd0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJ1ZGVyaGFyZCAoR25vbWUsIDEzLiBOb3YgMTk5NywgMDk6MTU6MDgpOgp+IyEgcm49RGlveG9pZCBydD04NzkzNjgxMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04NzkzNjgxMjYKYXJnbCwKZ2VodCBtYWwgaW4gZGllIHBvc3QsIGRhIGtvZW5udCBpaHIgZXVjaCBicmllZmUgc2NocmVpYmVuLi4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS251cnQgbWFjaHQgUGF1c2UgKEtudXJ0LCAxNy4gTm92IDE5OTcsIDAxOjQ4OjA5KToKSW4gU2VoZXIuVXJsYXViIGRhcmYgaWNoIGphIG5vY2ggbmljaHQgc2NocmVpYmVuLCBkYW5uIGFsc28gaGllcjoKQmlzIHp1bSAxNS4xMi4gbXVzcyBtZWluZSBEaXBsb21hcmJlaXQgbm9jaCBpcmdlbmR3aWUgZmVydGlnd2VyZGVuIHVuZCBzb21pdAp1bnRlcndlcmZlIGljaCBtaWNoIGRlbm4gZGFubiBtYWwgZWluZXIgU3BpZWxwYXVzZS4KSGFidCBTcGFzcyBvaG5lIG1pY2guCkVpbiBrbGVpbmVyIEhvYmJpdCBuYW1lbnMKS251cnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlcDptZyAoVGVkZHksIDE3LiBOb3YgMTk5NywgMjI6MTA6NDIpOgpBbHMgQW50d29ydCBhdWYgVG9ldGVycyBBcnRpa2VsIGluIEJla2FubnRtYWNodW5nOgpBRkFJUiBsYWV1ZnQvbGllZiBhdWNoIGRhcyBGRiBpbiBNYWdkZWJ1cmcgbWl0IGFlaG5saWNoZXIgQmVncnVlbmR1bmcgdWViZXIKZGllIEtJLgpCZWRpbmd1bmcgd2FyIHdvaGwsIGRhcyBtb2VnbGljaHN0IGludGVsbGlnZW50ZSBOUENzIGVyYXJiZWl0ZXQgd2VyZGVuLCBpbgpkZW5lbiBldnRsLiBBbnNhZXR6ZSBkZXIgS0kgYXVzcHJvYmllcnQgd2VyZGVuLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXA6bWcgKEhlbHZhLCAxOC4gTm92IDE5OTcsIDIyOjU4OjA0KToKfiMhIHJuPVRlZGR5IHJ0PTg3OTgwMTA0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3OTgwMTA0MgpJbiBkZXIgUHN5Y2hvbG9naWUgaGV1dGUgZ2FiIGVzIGVpbmUgQXJ0aWtlbHNlcmllIHp1bSBUaGVtYSBNdWRkZXIvIE11ZHMuIEltCkhlZnQgMTAvOTcgd2FyIGRlciBTY2hsdXNzLCBpbiBkZW0gbm9jaGZvbGdlbmRlIEludGVybmV0IEFkcmVzc2VuIGFuZ2VnZWJlbgp3dXJkZW46IApodHRwOi8vc2ljcC5waHlzaWsudW5pLWdpZXNzZW4uZGUvU0lDUC9wdWJsaWMvb25qYTAuaHRtCi13b2hsIGVpbmUgRGlwbG9tYXJiZWl0IHp1IGRpZXNlbSBUaGVtYQpodHRwOi8vd3d3LmhvZ3JlZmUuZGUvbmV0cHN5Y2hvL2xwcm9iZS9rYXAxMi5odG1sCi13b2hsIGFydGlrbCB6dW0gVGhlbWEuIEF1c3NlcmRlbSBnYWJzIGx1c3RpZ2UgTUctQXVzenVlZ2UsIHdlciBnZXJhZGUKZWluZ2Vsb2dndCB3YXIuIERpZSBBdXRvcmVuIGhhYmUgd29obCBzZWxic3QgendlaSBUYWdlIChSTCwgZGVua2UgaWNoKSBpbSBNRwp2ZXJicmFjaHQuClp1bSBUZWlsIHdhciBkaWUgYXJ0aWtlbCAtIHNlcmllIHNlaHIgYW11ZXNhbnQuCkhlbHZhIGhhdCBoZXV0ZSBtYWwgd2llZGVyIGdlbGFjaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVwOm1nIChBdmFsb24sIDE5LiBOb3YgMTk5NywgMDE6Mzg6NTUpOgp+IyEgcm49SGVsdmEgcnQ9ODc5ODkwMjg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODc5ODAxMDQyCkVpbmUgU2FtbWx1bmcgZGl2ZXJzZXIgTGlua3Mgdm9uIFByZXNzZWFydGlrZWxuIHVzdy4gZmluZGV0CnNpY2ggYXVjaCBhdWYgaHR0cDovL3d3dy5tdWQuZGUvUHJlc3MvCgppVi4gd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZXA6bWcgKEhlbHZhLCAxOS4gTm92IDE5OTcsIDA4OjM3OjQ5KToKfiMhIHJuPUhlbHZhIHJ0PTg3OTg5MDI4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg3OTgwMTA0MgpKYSwgbWFsIHdpZWRlciBlaW4gcmVwbHkgYXVmIGVpZ2VuZSBhcnRpa2xlLCBpY2ggd2Vpc3MuLi4KSGFuZ292ZXIgbWVpbnRlIGdlc3Rlcm4gYWJlbmQsIGRhc3MgZGllIHp3ZWl0ZSB1cmwgbmljaHQKaHR0cDovL3d3dy5ob2dyZWZlLmRlL25ldHBzeWNoby8uLi4gbmljaHQgZnVua3Rpb25pZXJlbiB3dWVyZGU7IHp1bWluZGVzdCBiaXMKenUgZGVtIFRlaWwgYmlzIC9uZXRwc3ljaG8vIHNjaGVpbnQgZGFzIGFiZXIgZG9jaCBkZXIgRmFsbCB6dSBzZWluLi4uenVtaW5kZXN0CnZvbiBCb2NodW0gYXVzLiBEaWVzIGlzdCBkaWUgTWVudWVzZWl0ZSwgZGFubiBtdXNzIG1hbiB3b2hsCiJMZXNlcHJvYmVuImFua2xpY2tlbi4gSWNoIGhhdHRlIGRpZSBBZHJlc3NlbiBnZXN0ZXJuIHNlbGJzdCBlcnN0IGdlbGVzZW4gdW5kCmFiZ2VzY2hyaWViZW4sIGRld2VnZW4ga29ubnRlIGljaCBzaWUgbm9jaCBuaWNodCB1ZWJlcnBydWVmZW4sClNvcnJ5LCBIZWx2YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5kZXJsYW5kIChHdW5kdXIsIDE5LiBOb3YgMTk5NywgMTA6MTE6NDIpOgpIaSB3ZW4gZXMgaW50ZXJlc3NpZXJ0OgpCZWltIEFuZGVybGFuZCBnYWJzIG5lbiBQbGF0dGVuY3Jhc2ggLi4uZC5oLiBhdWYgdW5iZXN0aW1tdGUgWmVpdCBpc3QgZGFzCkFuZGVybGFuZCBkb3duIQpGYWxscyBqZW1hbmQgTXVwZmVsIHNpZWh0IC4uZXIgc29sbCBzaWNoIG1pdCBtaXIgaW4gVmVyYmluZHVuZwpzZXR6ZW4uLmRyaW5nZW5kIQpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkknbGwgYmUgYmFjayAhISEgKFRhcmFnb24sIDIxLiBOb3YgMTk5NywgMjM6Mjg6MjMpOgpGdWVyIGFsbGUsIGRpZSBlcyBuaWNodCBmdWVyIG1vZWdsaWNoIGdlaGFsdGVuIGhhZXR0ZW4uLi4KICAgICAgICAgSWNoIGJpbiB6dXJ1ZWNrICEhIQoKVGFyYWdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3lzdGVtY3Jhc2ggKENhdHdlYXpsZSwgMjQuIE5vdiAxOTk3LCAwOTozMzo1Nik6Ck1vaW4hCgpNRyBpc3QgbnUgenVtIHp3ZWl0ZW4gTWFsIG1pdCBuZW0gQmV0cmllYnNzeXN0ZW1jcmFzaCBhYmdlc2NoaWVydApvaG5lIGplZGVzIGxvZ2dpbmcuIEljaCB3ZWlzcyBpbSBNb21lbnQgbmljaHQsIHdvcmFucyBsaWVndCwga2V1bW1lciAKbWljaCBhYmVyIGRydW0gYXNhcC4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSSdsbCBiZSBiYWNrICEhISAoTHVnLCAyNS4gTm92IDE5OTcsIDAxOjUyOjM5KToKfiMhIHJuPVRhcmFnb24gcnQ9ODgwMTUxMzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMTUxMzAzCgpEdSBhdWNoPwoKS3VyegpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlYm9vdCAoQm9pbmcsIDI1LiBOb3YgMTk5NywgMDk6MTQ6MzApOgpXaXIgbXVzc3RlbiBkZW4gUmVjaG5lciBuZXUgYm9vdGVuIHVtIGVpbmUgbmV1ZSBCZXRyaWVic3N5c3RlbXZlcnNpb24KenUgaW5zdGFsbGllcmVuLiBEYW1pdCBzaW5kIGhvZmZlbnRsaWNoIGRpZSBSZWNobmVyYWJzdHVlcnplIGRlciBsZXR6dGVuClRhZ2UgYmVob2Jlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN5c3RlbWNyYXNoIChDYXR3ZWF6bGUsIDI1LiBOb3YgMTk5NywgMDk6MTk6MDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDM2MDQzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MDM2MDQzNgoKTW9pbiEKClVtIGFsbGVuIG5vZXJnZWxuZGVuIHVuZCBqYW1tZXJuZGVuIFNjaHJlaWhhZWxzZW4gdm9yenViZXVnZW4sIGRhcyBNdWQKaXN0IG5pY2h0IGdlY3Jhc2h0LCBzb25kZXJuIHd1cmRlICdzYXViZXInIHJ1bnRlcmdlZmFocmVuLCB1bmQgbWl0IGVpbmVtCm5ldWVuIGtlcm5lbCB2ZXJzZWhlbiwgdW0gZGVtIHRlYXJkcm9wLWJ1ZywgZGVyIGFscyBDcmFzaGdydW5kIGFuZ2Vub21tZW4Kd3VyZGUsIHp1IHZlcmhpbmRlcm4uCkFsc286IFNjaG5hdXplIQpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZSAobWFuY2htYWwgcGFtcGlnIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTeXN0ZW1jcmFzaCAoV2FyZ29uLCAyNS4gTm92IDE5OTcsIDA5OjIxOjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODA0NDU5NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODAzNjA0MzYKRGllc2VyIEFydGlrZWwgaGlsZnQgYWJlciBHQVIgTklDSFRTIGJlaSBMZXV0ZW4sIGRpZSBlcnN0IG5vZXJnZWxuIHVuZCBkYW5uCmVyc3QgKHdlbm4gdWViZXJoYXVwdCkgTVBBIGxlc2VuLgpEdSBzb2xsdGVzdCBkYXMgYWxzbyB2aWVsbGVpY2h0IGFscyBEYXVlci1Ccm9hZGNhc3QgYWxsZSAxMCBTZWt1bmRlbiB1ZWJlcgpzYWVtdGxpY2hlIEViZW5lbiBzY2hpY2tlbiA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3lzdGVtY3Jhc2ggKExhcmlzc2EsIDI1LiBOb3YgMTk5NywgMDk6Mjc6NDMpOgp+IyEgcm49V2FyZ29uIHJ0PTg4MDQ0NjA3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MDM2MDQzNgp3YXMgaXN0IGVpbiBUZWFyZHJvcC1idWc/CgpMYXJpLCBmaW5kZXQsIGRpZSBNUEEgc29sdGUgdmVyc3RhZW5kbGljaCBzZWluLCB3ZW5uIHNjaG9uIGRlbm4gc2Nob24gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTeXN0ZW1jcmFzaCAoQ2F0d2VhemxlLCAyNS4gTm92IDE5OTcsIDA5OjM1OjQ3KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODgwNDQ2NDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMzYwNDM2CkhtLCBpbiB2ZXJzdGFlbmRsaWNoZW4gV29ydGVuLCBoYXR0ZSBtYW4gZGllIE1vZWdsaWNoa2VpdCwgdm9uIGF1c3NlbgpkZW4gUmVjaG5lciB6dW0gQWJzdHVyeiB6dSBicmluZ2VuLiBNaXQgYW5kZXJlbiBXb3J0ZW46IHdpciB3dXJkZW4gCnNhYm90aWVydCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3lzdGVtY3Jhc2ggKEtleSwgMjUuIE5vdiAxOTk3LCAxMDozMTo1MCk6Cn4jISBybj1XYXJnb24gcnQ9ODgwNDQ2MDcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMzYwNDM2CkljaCBub2VyZ2VsIGF1Y2ggbmFjaGRlbSBpY2ggZGllIE1QQSBnZWxlc2VuIGhhYmUuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN5c3RlbWNyYXNoIChRdWFzaW1vZG8sIDI1LiBOb3YgMTk5NywgMTU6MjA6MzQpOgp+IyEgcm49TGFyaXNzYSBydD04ODA0NDY0NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODAzNjA0MzYKRWluIHNlbHRlbmVyIGJ1ZywgZGVyIGFsbGUgU3BpZWxlciB3ZWluZW4gbGFlc3N0LCB3ZWlsIHNpZSBJaHJlIEF1c3J1ZXN0dW5nCnZlcmxvcmVuIGhhYmVuLi4uLgoKUXVhc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3lzdGVtY3Jhc2ggKFd1cnplbCwgMjUuIE5vdiAxOTk3LCAxOTozMToxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgwNDQ1OTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMzYwNDM2CmdhbnogInNhdWJlciIgd2FyIGVzIHdvaGwgZGFubiBkb2NoIG5pY2h0LiBkZXIgZnRwLWJ1ZyBpc3Qgd2llZGVyIGRhLi4uIDooCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN5c3RlbWNyYXNoIChMdWcsIDI2LiBOb3YgMTk5NywgMDE6NTI6MDkpOgp+IyEgcm49V3VyemVsIHJ0PTg4MDQ4MjY3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MDM2MDQzNgpBZWggV3VyemVsYD8KCldhcnVtIGVyaW5uZXJ0IG1pY2ggZGFzIGpldHp0IGFuOiBUYXJ6YW4gaXN0IHdpZWRlciBkYS4uLi4KCkdydWViZWxuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNpbm5sb3NlciBUb2QgLSBWb3JzY2hsYWcgKEx1ZywgMjcuIE5vdiAxOTk3LCAwMTo0Mjo0Mik6CgpNb2luLAoKZGEgaXN0IG1hbiBld2lnIG5pY2h0IGltIE11ZCwgZ2VodCBtYWwgZWJlbiB6dSBkZW4gU3RlaW5iZWlzc2VybiwgZ2VyYWV0IGluCmVpbmVuIEJvaW5nLVJlc2V0IHVuZCBkZW5rdDoga2VpbiBQcm9ibGVtLiBNYWNodCBFbmRlIHVuZCBsaWVzdDogRGVpbiBQYXJ0bmVyCmlzdCBsZWlkZXIgZ2VyYWRlIG5pY2h0IGRhLiBUb2xsLiBOYWNoIGVpbmVtIEJlc3VjaCBiZWkgTGFycyBlcmZhZWhydCBtYW4KZGFubjogIkRhcyB3dXJkZSBhYmVyIHNjaG9uIHZvciBFd2lna2VpdGVuIGdlYWVuZGVydC4iIE5vY2ggdG9sbGVyLiBBbHNvCnN0ZXJiZW4sIHdlaWwgbWFuIGRpZSB1ZWJlcnZvbGxlIFJ1YnJpayAiRW50d2lja2x1bmciIG5vY2ggbmljaHQgZHVyY2ggaGF0PwpBbHNvIGljaCB3aWxsIGpldHp0IG5pY2h0IHdlZ2VuIGVpbmVzIFRvZGVzIHJ1bWhldWxlbiwgYXVjaCB3ZW5uIGRlciBuZXJ2aWcKaXN0LCBzb25kZXJuIGVpbmVuIGtvbmtyZXRlbiBWb3JzY2hsYWcgYWJzb25kZXJuOgoKV2llIHdhZXJlIGVzIG1pdCBlaW5lciBSdWJyaWsgKG9obmUgU3BpZWxlci9TZWhlci1TY2hyZWlicmVjaHRlKSwgaW4gZGVyIG51cgpzb2xjaGUgQWVuZGVydW5nZW4gbWl0IGxhbmdlciBIYWx0ZXplaXQgYmVrYW5udGdlbWFjaHQgd2VyZGVuPyBLb21tdCBtYW4gbmFjaApsYWVuZ2VyZXIgWmVpdCB3aWVkZXIgaW5zIE11ZCwga2FubiBtYW4gZGEgc2NobmVsbCBkaWUgd2ljaHRpZ2VuIEFlbmRlcnVuZ2VuCm5hY2hsZXNlbi4gV2FlcmUgZG9jaCBuZXR0IHVuZCBlcnNwYXJ0IEdlZ3J1bW1lbCB1bmQgR2Vtb3Nlci4KCkdydXNzCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaW5ubG9zZXIgVG9kIC0gVm9yc2NobGFnIChZYW50cm8sIDI3LiBOb3YgMTk5NywgMDY6MzM6MDQpOgp+IyEgcm49THVnIHJ0PTg4MDU5MTM2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MDU5MTM2MgpzbyBlaW5lIHJ1YnJpayBnaWJ0IGVzCi0tPiBiZWthbm50bWFjaHVuZ2VuCgp5YW50cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaW5ubG9zZXIgVG9kIC0gVm9yc2NobGFnIChCb2luZywgMjcuIE5vdiAxOTk3LCAwNzo1Mzo1Mik6Cn4jISBybj1MdWcgcnQ9ODgwNTkxMzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwNTkxMzYyClR1dCBtaXIgbGVpZCwgZGFzcyBpY2ggRGVpbmVuIEFydGlrZWwgdWViZXJoYXVwdCBuaWNodCBuYWNodm9sbHppZWhlbgprYW5uLCB2b24gd2FzIHJlZGVzdCBEdSB1ZWJlcmhhdXB0PyBXYXMgd3VyZGUgZ2VhZW5kZXJ0PwpJbndpZWZlcm4gZnVlaHJ0ZSBkYXMgenUgRGVpbmVtIFRvZD8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTaW5ubG9zZXIgVG9kIC0gVm9yc2NobGFnIChOaXhpaG91LCAyNy4gTm92IDE5OTcsIDEyOjA1OjA4KToKfiMhIHJuPUJvaW5nIHJ0PTg4MDYxMzYzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MDU5MTM2MgppbSBnZWdlbnNhdHogenUgZnJ1ZWhlciwga2FubiBtYW4gaGV1dHp1dGFnZSBOSUNIVCBlbmRlIG1hY2hlbiwgd2VubiBtYW4KekIgYmVpIGRlbiBzdGVpbmJlaXNzZXJuIHZvbiBlaW5lbSB1bmd1ZW5zdGlnZW4gcmVzZXR0IGVyd2lzY2h0IHdpcmQuLi4KZGEgaGV1dHp1dGFnZSBlbmRlIElNIGthbXBmIHVuZCBhdWNoIGVpbmlnZSB6ZWl0IG5hY2ggZWluZW0ga2FtcGYgCm5pY2h0IGVybGF1YnQgaXN0Li4uCgpkaWVzZSBhZW5kZXJ1bmcgd3VyZGUgd29obCBlcnN0IE5BQ0ggZGVtIHRvZCBpbiBkZXIgemVpdHVuZyBnZWxlc2VuLi4uCihzY2hsaWVzc2xpY2gga29ubnRlIG1hbiBmcnVlaGVyIGJlaSBlaW5lbSAiYm9pbmctcmVzZXR0IiBlbmRlIG1hY2hlbiB1bSAKc2VpbiBuYWt0ZXMgbGViZW4genUgcmV0dGVuLgoKbml4aWhvdSwgaG9mZnQgZGFzIGVyIGRlbiBhcnRpa2VsIHJpY2h0aWcgZ2VkZXV0ZXQgaGF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNpbm5sb3NlciBUb2QgLSBWb3JzY2hsYWcgKEx1ZywgMjcuIE5vdiAxOTk3LCAxNzo1MToyMSk6Cn4jISBybj1ZYW50cm8gcnQ9ODgwNjA4Nzg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwNTkxMzYyCllhbnRybz8KCkR1IG1laW5zdCBkaWVzZW4gQXJ0aWtlbCBFcnptYWdpZXJrb25mZXJlbno/IERhcyBzb2xsdGUgZGllIEFua3VlbmRpZ3VuZyBzZWluPwpIYWIgaWNoIGt1cnogdm9yIG1laW5lciBQYXVzZSBnZWxlc2VuIHVuZCBhbHMgQW5rdWVuZGlndW5nIGZ1ZXIga29tbWVuZGUKQWVuZGVydW5nZW4gdmVyc3RhbmRlbi4gVW5kIGRpZSBleGFrdGVuIEF1c3dpcmt1bmdlbiBzdGFuZGVuIGRhIGF1Y2ggbmljaHQuClVuZCBrb2VubnRlIG1hbiBkaWUgUnVicmlrIHZpZWwgd2VpdGVyIG5hY2ggdm9ybmUgaW4gZGVyIE51bWVyaWVydW5nIHZlcmxlZ2VuPwoKSWNoIGZpbmRzIG1pc3N2ZXJzdGFlbmRsaWNoLiBXZXIgenVtIHplaXRwdW5rdCBkZXIgQWVuZGVydW5nIGRhIHdhciBoYXRzCm5hdHVlcmxpY2ggc2NobmVsbGVyIGdlLWJvaW5ndCA7KQoKTHVodWh1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2lubmxvc2VyIFRvZCAtIFZvcnNjaGxhZyAoTHVnLCAyNy4gTm92IDE5OTcsIDE3OjUyOjQzKToKfiMhIHJuPU5peGlob3UgcnQ9ODgwNjI4NzA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwNTkxMzYyCkRhbmtlIE5peGlob3UsCgpnZW5hdSBkYXMgbWVpbnRlIGljaC4gQm9pbmcgd2FyIHdvaGwgbm9jaCBuaWNodCB3YWNoIDspCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2lubmxvc2VyIFRvZCAtIFZvcnNjaGxhZyAoQXNtb2RpcywgMjcuIE5vdiAxOTk3LCAxODoyODo1MCk6Cn4jISBybj1Cb2luZyBydD04ODA2MTM2MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODA1OTEzNjIKaGlsZmUgZW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3lzdGVtY3Jhc2ggKENhdHdlYXpsZSwgMjguIE5vdiAxOTk3LCAxNjoyMjo1OCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODgwNDgyNjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMzYwNDM2Ck1vaW4hCk5hY2hkZW0gaWNoIG1pY2ggZGF6dSBoZXJhYmdlbGFzc2VuIGhhYmUsIGluIGRpZSBpbmV0ZC5jb25mIHp1IHNlaGVuLCBoYWJlCmljaCBkZW4gZnRwZCBtaXQgZGVuIHJpY2h0aWdlbiAobGF1ZmZhZWhpZ2VuKSBPcHRpb25lbiBnZXN0YXJ0ZXQuCktsYXBwdCBhbHNvIHdpZWRlci4gClVuZCBhbGxlIG9obmUgUmVib290IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNpbm5sb3NlciBUb2QgLSBWb3JzY2hsYWcgKFllbmRpLCAyOC4gTm92IDE5OTcsIDE3OjM4OjAxKToKfiMhIHJuPVlhbnRybyBydD04ODA2MDg3ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODA1OTEzNjIKU2Nob2VuLCBhYmVyIGlycmUgaWNoIG1pY2gsIG9kZXIgd2VyZGVuIHZpZWxlIEFlbmRlcnVuZ3NiZWthbm50bWFjaHVuZ2VuIGluCiJhbGxnZW1laW4iLCAiZW50d2lja2x1bmciIG9kZXIgIndhcy13ZWlzcy1pY2gtd28iIGdlcG9zdGVkLCB3byBzaWUgZGFubiBuYWNoCmRyZWllaW5oYWxiIFRhZ2VuIHJhdXNnZXNjaG1pc3NlbiB3ZXJkZW4/IAoKRGllIFJ1YnJpayAiQmVrYW5udG1hY2h1bmdlbiIgaXN0IHNlaHIgcHJha3Rpc2NoIGZ1ZXIgc28gZXR3YXMgd2llIEFlbmRlcnVuZ2VuCmFuIHdpY2h0aWdlbiBNb25zdGVybiBvLiBhZS4sIGViZW4gd2VpbCBBcnRpa2VsIHNlaHIgbGFuZ2UgaW4gaWhyIHZlcmJsZWliZW4KLS0gZXMgbXVzcyBudXIgYXVjaCBlaW5lbiBzb2xjaGVuIEFydGlrZWwgZ2ViZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTaW5ubG9zZXIgVG9kIC0gVm9yc2NobGFnIChMdWcsIDI5LiBOb3YgMTk5NywgMDA6MjI6MzUpOgp+IyEgcm49WWVuZGkgcnQ9ODgwNzM1MDgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwNTkxMzYyCkphdSwKCmljaCBzdGltbWUgRGlyIHp1IFllbmRpLiBEYXJ1bSBoYWV0dGUgaWNoIGphIGF1Y2ggZ2VybmUgZGllIGdhbnplIFJ1YnJpawp3ZWl0ZXIgbmFjaCB2b3JuZSwgZGFubiBrb21tdCBtYW4gc2NobmVsbGVyIGRhenUuIEFuc29uc3RlbjogaWNoIHdhZXJlIGZ1ZXIKZWluZSBzdHJlbmdlcmUgRm9ybWFsaXNpZXJ1bmcuIFBybyBBZW5kZXJ1bmcgZWluIEFydGlrZWwsIGRhcmluIHNvbGx0ZSBzdGVoZW4Kd2llIGVzIHZvcmhlciB3YXIgdW5kIHdpZSBuYWNoIGRlciBBZW5kZXJ1bmcuIERhcyB3dWVyZGUgYWxsZXMgbm9jaAp1ZWJlcnNpY2h0bGljaGVyIGdlc3RhbHRlbi4gRnVlciBkYXMgR2VzZW5mZSBnaWJ0IGVzIGRhbm4gamEgRW50d2lja2x1bmdlbi4KCkZvcm1hbGlzaXRzY2gKQWVoIGZvcm1hbGlzdGlzY2ggKmhpY2sqCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2lubmxvc2VyIFRvZCAtIFZvcnNjaGxhZyAoQXZhbG9uLCAzMC4gTm92IDE5OTcsIDE2OjE1OjA2KToKfiMhIHJuPUx1ZyBydD04ODA3NTkzNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODA1OTEzNjIKSG0sCgp3ZWl0ZXIgbmFjaCB2b3JuZSBpc3QgdGVjaG5pc2NoIChtaXQgZGVyIGpldHppZ2VuIFplaXR1bmcpIG51cgpkdXJjaCBVbWJlbmVubnVuZyBkZXIgUnVicmlrIG1vZWdsaWNoLCBkZW5rZSBpY2guIEFiZXI6IERhcwpLb21tYW5kbyAnbm4nIG5pbW10IGFscyBQYXJhbWV0ZXIgYXVjaCBlaW5lbiBSdWJyaWtuYW1lbi4uLgpJbSAqKiBoYWJlbiB3aXIgYXVzc2VyZGVtIEFlbmRlcnVuZ2VuIGltbWVyIGluIGVpbmVyIGVpZ2VuZW4KSGlsZmVzZWl0ZSBkcmlubmVuIChjaHJvbm9sb2dpc2NoKSwgZGllIG1hbiBtaXQgJ2hpbGZlIG5ldWVzJwpzY2huZWxsIGVpbnNlaGVuIGthbm4uIEZhZW5kIGljaCBhdWNoIGhpZXIgcHJha3Rpc2NoIDopCgppVi4Kd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3lzdGVtY3Jhc2ggKFdhcmdvbiwgIDEuIERleiAxOTk3LCAxMTozOToxMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgwNzMwNTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgwMzYwNDM2Clp1IGZydWVoIGdlZnJldXQhIDopCkRlciBDcmFzaCB2b20gRnJlaXRhZyBhYmVuZCBpc3QgYWJlciBuaWNodCBxdWVuZ2VsbmRlbiBNYWdpZXJuICgiSWNoIHdpbGwKRlRQISIpIHp1IHZlcmRhbmtlbi4gRGVyIEdhbWVEcml2ZXIgaXN0IHZpZWxtZWhyIHVlYmVyIFJvY2h1cycgVGF1c2VuZGZ1ZXNzbGVyCmdlc3RvbHBlcnQuCk51ciBzbyB6dXIgSW5mb3JtYXRpb24sCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTeXN0ZW1jcmFzaCAoS2V5LCAgMS4gRGV6IDE5OTcsIDEyOjU2OjU4KToKfiMhIHJuPVdhcmdvbiBydD04ODA5NzI3NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODAzNjA0MzYKUk9DSFVTISEKZXJ6aWVoIERlaW5lIFZpZWhjaGVyIG1hbCEgOikKRWluZmFjaCBkZW0gR2FtZURyaXZlciB0YXVzZW5kIEZ1ZXNzZSBzdGVsbGVuIC4uLiBzY2hhZW0gZGljaCEgLikpCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1dG9tYXBwZXIgYmVpIFptdWQgKEJhbGlvbiwgIDIuIERleiAxOTk3LCAwODozODoyOSk6CldlaXNzIGplbWFuZCB3aWUgbWFuIGRlbiBBdXRvbWFwcGVyIGJlaSBabXVkIGZ1ZXIgZGFzIE1HIGtvbmZpZ3VyaWVydCwKYnp3LiB3aWUgbWFuIGRpZSBkZXV0c2NoZW4gZGlyZWN0aW9uIGNvZGVzIGluIFptdWQgZWluYmF1dCA/CgpDaWFvIEJhbGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1dG9tYXBwZXIgYmVpIFptdWQgKEJyYW5kaXIsICAzLiBEZXogMTk5NywgMDI6MTU6MzcpOgp+IyEgcm49QmFsaW9uIHJ0PTg4MTA0ODMwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MTA0ODMwOQpXZW5uIER1IERpY2ggYmVlaWxzdCwgZmluZGVzdCBEdSBkYXMgbm9ldGlnc3RlIGF1ZgpodHRwOi8vbWVtYmVyLmFvbC5jb20vanJkdWViYmVycwoKQWxsZXJkaW5ncyB3aXJkIGVzIGRpZXNlIFNlaXRlIG5pY2h0IG1laHIgbGFuZ2UgZ2ViZW4sIGRhIG1laW4gQnJ1ZGVyIHNlaW5lbgpBT0wtVmVydHJhZyBrdWVuZGlndCwgdW5kIGljaCBub2NoIGtlaW5lbiBhbmRlcmVuIHZlcm51ZW5mdGlnZW4gV2Vic3BhY2UKZ2VmdW5kZW4gaGFiZSwgYmVpIGRlbSBtYW4gbmljaHQgaXJnZW5kd2VsY2hlIFdlcmJ1bmcgZnVlciBkaWUgQW5iaWV0ZXIgbWFjaGVuCm11c3MuCgpCcmFuZGlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXR6YXVzZmFsbCAoQ2F0d2VhemxlLCAgOC4gRGV6IDE5OTcsIDE2OjA3OjI1KToKTW9pbiEKCk1vcmdlbiBmcnVlaCBnaWJ0cyB1ZWJyaWdlbnMgdm9uIDQ6MzAgLSA4OjAwIHNwb3JhZGlzY2hlIApTY2h3aWVyaWdrZWl0ZW4gYmVpbSBlaW5sb2dnZW4sIHdlaWwgZGllIGluIEtvZWxuIGlyZ2VuZHdvIAppcmdlbmR3ZWxjaGUgS2FiZWwgYXVzYmFnZ2Vybi4gVm9ycmF1c2dlc2FndCBzaW5kIFN0b2VydW5nZW4gdm9uIAptYXhpbWFsIDEwbWluLiBMYWVuZ2UuLi4uIHdlciBnbGF1YnQgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXR6YXVzZmFsbCAoT3JrdG9ldGVyLCAgOC4gRGV6IDE5OTcsIDE2OjExOjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODE1OTM2NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODE1OTM2NDUKT3JrdG9ldGVyIHd1c3N0ZSB1bmQgc2FndGUgZG9jaCBzY2hvbiBpbW1lciwgZGFzIGVzIGluIEtvZWxuIHByb2JsZW1lIGdpYnQuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hhY2ggKERhbnRlLCAxNS4gRGV6IDE5OTcsIDE0OjQxOjQ1KToKSWNoIHN1Y2hlIGVpbiBndXRlcyBTY2hhY2hwcm9ncmFtbSBhdWYgQ0QtUk9NLiBXYWVyZSBkYW5rYmFyIGRhZnVlciwgd2VubiBtaXIKamVtYW5kIHNlaW5lIEVyZmFocnVuZ2VuIGJ6dyBUaXBzIHVlYmVyIGRpZSB2ZXJzY2hpZWRlbmVuIFByb2R1a3RlIG1pdHRlaWxlbgp3dWVyZGUuClByZWlzL0xlaXN0dW5nc3ZlcmhhZWx0bmlzIHVzdy4uLgpkYW5rLCBkYW50ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGFjaCAoRnJldW5kLCAxNS4gRGV6IDE5OTcsIDE1OjM2OjI1KToKfiMhIHJuPURhbnRlIHJ0PTg4MjE5MzMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjE5MzMwNQpEYXMgbGVpc3R1bmdzc3RhZXJrc3RlIFNjaGFjaHByb2dyYW1tLCB3YXMgaWNoIGJpc2hlciBuaWNodCBiZXNpZWdlbiBrb25udGUsCmlzdCBGcml0eiEKRnJpdHogNCBpc3QgZ2xhdWJlIGljaCBha3R1ZWxsIGltIE1PbWVudCwgdW5kIG1pdCBadWd6dXJ1ZWNrbmFobWUgc2NoYWZmdGUgaWNoCmdlcmFkZSBtYWwgZWluIFJlbWlzLiA6LSgKCkZyZXVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hhY2ggKFJvbmRhLCAxNS4gRGV6IDE5OTcsIDE1OjQ5OjQ5KToKfiMhIHJuPUZyZXVuZCBydD04ODIxOTY1ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIxOTMzMDUKSGksCmljaCBiaW4gendhciBlaW4gbGF1c2lnZXIgU2NoYWNoc3BpZWxlciAtIGFiZXIgd28gYmVrb21tdCBtYW4gZGllClNjaGFjaHByb2dyYW1tZT8gKEJlc29uZGVycyBhbHNvIFNoYXJlLyBvZGVyIEZyZWV3YXJlKT8KRGFua2UsCiAgICAgICBSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NoYWNoIChDYXR3ZWF6bGUsIDE1LiBEZXogMTk5NywgMTY6NDA6MTgpOgp+IyEgcm49Um9uZGEgcnQ9ODgyMTk3Mzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyMTkzMzA1Cnd3dy5zaGFyZXdhcmUuY29tIDotKQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGFjaCAoQmFicywgMTUuIERleiAxOTk3LCAxNjo0NDo1NSk6Cn4jISBybj1Sb25kYSBydD04ODIxOTczODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIxOTMzMDUKRnVlciBub3JtYWxzdGVyYmxpY2hlIHJlaWNodCB0b3RhbCBHbnVjaGVzcywgdW0gdWViZXJoYXVwdCBrZWluZSBDaGFuY2UgZ2VnZW4KbmVuIEJpbGxpZ3BlbnRpdW0genUgaGFiZW4gKCB1bmQgendhciBiaXMgaGluIHp1IGRlbiBsb2thbGVuClNjaGFjaHZlcmVpbnNndXJ1cyBtaW5kZXN0ZW5zLikKRGFzIGlzdC0gZHJlaW1hbCBkYXJmc3RlIHJhdGVuISAtIEZyZWV3YXJlLiA6KQpHaWJ0cyBmdWVyIFVOTlVFVFogdW5kIFdJTkRPT0YsIHouQi4KZnRwOi8vZnRwLnVuaS1tYXJidXJnLmRlL21pcnJvci93aW5zaXRlLmNvbS93aW45NS9nYW1lcy9nY2hlc3MuemlwCgpNaXJyb3JzIGZ1ZXIgZGVuIGdudS1LcmFtIGdpcHB6eiBhbiBmYXN0IGplZGVyIFVuaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGFjaCAoQW5ha2luLCAxNS4gRGV6IDE5OTcsIDE4OjUzOjIwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODIyMDA0MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIxOTMzMDUKCk9kZXIgbWVpbnN0IER1IHNvd2FzIHdpZSB3d3cud2FyZXoub3JnID8gOikKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGFjaCAoQWNyaW1vbiwgMTUuIERleiAxOTk3LCAyMTo1Mzo0NSk6Cn4jISBybj1Sb25kYSBydD04ODIxOTczODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIxOTMzMDUKZnRwIHVzLmFtaW5ldC5uZXQKY2QgZ2FtZS9ib2FyZApnZXQgQ2hlc3NfMi4wLmxoYQpnZXQgVUNoZXNzMjg5LmxoYQpnZXQgdmNoZXNzLmxoYQpnZXQgdmNoZXNzb3BlbmluZ3MubGhhCgpQcm9iaWVycyBhdXMsIHNpbmQgZ3V0ZSBQcm9ncmFtbWUhCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGFjaCAoTml4aWhvdSwgMTYuIERleiAxOTk3LCAwODoxNzo0Nik6Cn4jISBybj1BY3JpbW9uIHJ0PTg4MjIxOTIyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjE5MzMwNQpobW0sIGdpYnQgZXMgZWlnZW5kbGljaCBhdWNoIGJlaSBlaW5lbSBkaWVzZXIgcHJvZ3JhbW1lIG5lIEdVVEUgZnVua3Rpb24KZGllIGVpbmVtIHNjaGFjaCBiZWlicmluZ3Q/CmFsc28gc296dXNhZ2VuIGVpbiBkaWRha3Rpc2NoIGtsdWdlcyBzY2hhY2hsZXJucHJvZ3JhbW0gdW5kIApzY2hhY2h0cmFpbmluZ3Nwcm9ncmFtbT8/PwoKbml4aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNToyNik6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9ODgyMjczODk2IG9nPXJjNQp+IyEgb249Q2F0d2VhemxlIG90PTg4MjI2OTc4NyBvZz1hbGxnZW1laW5lcwoKR3VnZ3VnIQoKSWNoIHdlaXNzIG5pY2h0LCBvYiBTaWVzIHNjaG9uIHd1c3N0ZW4gLi4uCgphYmVyIGFsbGUgZGV1dHNjaGVuIE11ZHMgcmVjaG5lbiBhbSByYzUtZWZmb3J0IHZvbiBCb3ZpbmUgbWl0LgpEYWJlaSBnZWh0IGVzIGRhcnVtIHp1IGJld2Vpc2VuLCBkYXMgdmVzY2hsdWVzc2VsdGUgRGF0ZW5zYWV0emUKYWxsZWluIG1pdCBnZW51ZWdlbmQgUmVjaGVucG93ZXIgenUga25hY2tlbiBzaW5kLiBGdWVyIDQwLSw0OC0KdW5kIDU2LWJpdHRpZ2UgU2NobHVlc3NlbCBoYXQgZGFzIGF1Y2ggc2Nob24gZ2VrbGFwcHQsIGltCk1vbWVudCB3aXJkIGFtIDY0LWJpdHRpZ2VuIHJ1bWdlcmVjaG5ldC4gU293YXMgbWFjaHQgbWFuIG5hdHVlcmxpY2gKaW0gSW50ZXJuZXQsIHdlbHR3ZWl0IHNpbmQgZGFzIGJpc2hlciBodW5kZXJ0dGF1c2VuZGUgdm9uIFJlY2huZXJuLgoKTnVuIHVuZCBkaWUgR3J1cHBlIG11ZC5kZSByZWNobmV0IG5hdHVlcmxpY2ggYXVjaCBtaXQuIFdhcnVtPyBGb3IKZnVuISBVbSBtb2VnbGlpY2hzdCB3ZWl0IGhvY2ggaW0gV2V0dGJld2VyYiB6dSBrb21tZW4hIFVtIGRpZSBHcnVwcGUKdW5pLmRlIHp1IHNjaGxhZ2VuIDotKSFVbSBkYXMgUHJlaXNnZWxkIHZvbiAxMDAwJCB6dSB2ZXJkaWVuZW4hCkRpZXNlcyBzb2xsIHVlYnJpZ2VucyBmdWVyIGRpZSBuYWVjaHN0ZSBNdWQtcGFydHkgby5hZS4gYmVudXR6dCB3ZXJkZW4uCgpBYmVyIGRhZnVlciBtdWVzc2VuIHdpciBuYXR1ZXJsaWNoIHdhcyB0dW4sIG5hZW1saWNoIHNvdmllbGUgQ29kZXMKdGVzdGVuIHdpZSBtb2VnbGljaC4gQWxzbyByYWZmIERpY2ggYXVmIHVuZCBtYWNoIG1pdC4gTWl0dGxlcndlaWxlCnJlY2huZW4gYmVyZWl0cyBjYS4gNDAtNTAgTXVkZGVyIG1pdC4gCgpXZW5uIER1IHpCLiB2b24genUgaGF1c2UgYXVzIG11ZGRlc3QsIHZvbiBXaW5kb3dzIG9kZXIgVW5peCBhdXMsIGthbm5zdApEdSBwcmltYSBpbSBIaW50ZXJncnVuZCBkZW4gS25hY2twcm96ZXNzIGxhdWZlbiBsYXNzZW4sIGRlciBzdG9lcnQKRGljaCBnYXIgbmljaHQuIE5vY2ggYmVzc2VyIGlzdCwgRHUgaGFzdCB6dWdyaWZmIGF1ZiAobWVocmVyZSkgVW5pLQpyZWNobmVyLCBhdWYgZGVuZW4gbWFuIHJlY2huZW4gZGFyZi4gTWFjaCBtaXQhCgpOYWVoZXJlIEluZm9zIHp1bSByYzUgZ2lidCBlcyBpbiBkZXIgcmM1LXJ1YnJpayBoaWVyIGluIGRlciBaZWl0dW5nLApvZGVyIGF1ZiBkZW0gcmM1LUthbmFsLiBFaW4gYmVzdGVyIFN0YXJ0cHVua3QsIHVtIHNpY2ggZGllIGdhbnplCkdlc2NoaWNodGUgbWFsIGFuenVzZWhlbiBpc3QgQW5ha2lucyBJbmZvcGFnZToKaHR0cDovL3d3dy5hZWktcG90c2RhbS5tcGcuZGUvfndlaHJlbnMvcmM1LwoKWW91cnMgdHJ1bHksIAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRk5PUkQgPz8/Pz8gKFNoYXJpYSwgMTYuIERleiAxOTk3LCAxODoyNToxOCk6CgpFaW5lIEZyYWdlIGFuIGFsbGU6IFdBUyBJU1QgRk5PUkQgPz8/CgpGTk9SRC4gc3RlaHQgaW0gUmF1bSB1bmQgYmVpIHNjaGF1IGlzc2VyIGRhbm4gd2llZGVyIHdlZyAuLiBpY2ggd2Vpc3MgZXMgaXMKZWluIHNwaWVsZXIgYWJlciBkZW4gc2VoIGljaCBhdWNoIGltIHJhdW0gd2VubiBlciBlaWdlbnRsaWNoIG5pY2h0IGRhIGlzdCAuLgpkYXMgaXN0IHNjaG9uIHNlbHRzYW0gLi4uIGljaCBiaXR0ZSB1bSBhdWZrbGFlcnVuZyAuLi4KCmhhYmVuIGF1Y2ggYW5kZXJlIGRpZXNlcyBGTk9SRCBzY2hvbmVpbm1hbCBnZXNlaGVuID8/PwoKU2hhcmlhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZOT1JEID8/Pz8/IChUcmFuY2VmZWFyLCAxNi4gRGV6IDE5OTcsIDE4OjI2OjMzKToKfiMhIHJuPVNoYXJpYSBydD04ODIyOTMxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIyOTMxMTgKRXMgZ2FiIG1hbCBuIE1haWxib3hwcm9ncmFtbSBuYW1lbnMgRk5PUkRBREVMIC0gdmllbGxlaWNodCBoYXQgZGFzIGphIHdhcyBtaXQKRk5PUkQgenUgdHVuPwoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGTk9SRCA/Pz8/PyAoSmltZGlncml6LCAxNi4gRGV6IDE5OTcsIDE4OjMyOjUzKToKfiMhIHJuPVNoYXJpYSBydD04ODIyOTMxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIyOTMxMTgKSWNoIGRlbmtlIG5pY2h0IGRhc3MgZXMgJ2VpbiBTcGllbEZOT1JEZXInIGlzdC4KQWJlciBlcyBzRk5PUkRjaGVpbnQgc28sIGRhc3MgU2hhcmlhIGF1Y2ggc2Nob24KZGllIGZub3Jkc0ZOT1JEIHNlaGVuIGthbm4uCkltbWVyaGluIGVpbiBlcnNGTk9SRHRlciBTY2hyaXR0IGZ1ZXIKb2ZmZW5lIEF1Rk5PUkRnZW4uCgpTdGljaHdvcnRlOiBLb25zcGlyYXRpb24sIFZlcnNjaHdvZXJ1bmcsIEtvbmRpdGlvRk5PUkRuaWVydW5nCgpDaWFvLAogSmltIERpR3Jpeiwgbm90b3Jpc2NoIHBhcmFub2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRk5PUkQgPz8/Pz8gKEFscGhhLCAxNi4gRGV6IDE5OTcsIDE4OjM0OjIwKToKfiMhIHJuPVNoYXJpYSBydD04ODIyOTMxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIyOTMxMTgKSG0sIEFscGhhIGhhdCBkYXMgYXVjaCBzY2hvbiBtYWwgZXJsZWJ0IC0gdW5kIGdlendlaWZlbHQsIG9iIGVyIG5ldCByaWNodGlnCmxlc2VuIGthbm4uIEFiZXIgamV0enQgd2Vpc3MgaWNoIHp1bWluZGVzdCwgZGFzcyBlcyBuaWNodCBhbiBtaXIgbGllZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZOT1JEID8/Pz8/IChZYXJlbiwgMTYuIERleiAxOTk3LCAxODozNjoyOCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODgyMjkzNTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyMjkzMTE4Cmxlc3QgbWFsICdpbGx1bWluYXR1cycgdm9uIFJvYmVydCBTaGVhLCBldHdhcyBkYXp1IGZpbmRldCBtYW4gdW50ZXI6CgogICAgaHR0cDovL3RlcmVrLW5vci5yei51bmktbWFubmhlaW0uZGUvaWxsdW1pbmF0aS9pbGx1bWluYXR1cy5odG1sCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZOT1JEID8/Pz8/IChXdXJ6ZWwsIDE2LiBEZXogMTk5NywgMTk6MTA6MTcpOgp+IyEgcm49WWFyZW4gcnQ9ODgyMjkzNzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyMjkzMTE4CmhlLCBuaWNodCBkZW4gY28tYXV0b3IgdmVyZ2Vzc2VuLCByb2JlcnQgYW50b24gd2lsc29uLiBnZXJ1ZWNodGVuIHp1Zm9sZ2UKd2FyIGVyIGRlcmplbmlnZSwgZGVyIGRpZSBndXRlbiBpZGVlbiBnZWhhYnQgaGFidC4gZGllIGJ1ZWNoZXIsIGRpZSBzaGVhCmFsbGVpbmUgdmVyZmFzc3QgaGF0LCB3YXJlbiB3b2hsIGFsbGUgbmljaHQgc28gZGVyIGJyaW5nZXIuLi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRk5PUkQgPz8/Pz8gKE1lc2Fyb24sIDE2LiBEZXogMTk5NywgMjE6NDk6NDYpOgp+IyEgcm49V3VyemVsIHJ0PTg4MjI5NTgxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjI5MzExOApBdWYgamVkZW4gRmFsbCBoYXQgV2lsc29uIHNvbnN0IGF1Y2ggcmVjaHQgaW50ZXJlc3NhbnRlIFNhY2hlbiBnZXNjaHJpZWJlbiwKenVtIEJlaXNwaWVsICJEaWUgSWxsdW1pbmF0aS1QYXBpZXJlIiBvZGVyIGV0d2EgIkNvc21pYyBUcmlnZ2VyIi4gR2VodAptZWhyIGluIFJpY2h0dW5nIFNhY2hidWNoLCBoYXQgYWJlciBhdWNoIG5lIE1lbmdlIG1pdCBLb25zcGlyYXRpb24vCk5XTy9MZWFyeSwgTGlsbHksIENyb3dsZXkgZXQgYWwuIHp1IHR1bi4gRmFuZCBpY2ggcmVjaHQgbGVzZW5zd2VydC4KCk1lc2Fyb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaGFjaCAoQWNyaW1vbiwgMTYuIERleiAxOTk3LCAyMjowNToyNik6Cn4jISBybj1OaXhpaG91IHJ0PTg4MjI1NjY2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjE5MzMwNQpJY2ggZGVua2Ugc2Nob24uCkdlbmF1IHdlaXN6IGljaHMgbmljaHQsIHdlaWwgaWNoIHNlbGJzdCBrYXVtIFNjaGFjaCBzcGllbGUsIGFiZXIgRHUga2FubnN0IGRpZQpQcm9ncmFtbWUgamEgbWFsIGF1c3Byb2JpZXJlbiAtIGVzIGtvc3RldCBuaWNodHMuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaGFjaCAoRGF1ZXJnYXN0LCAxNy4gRGV6IDE5OTcsIDEwOjAzOjM1KToKfiMhIHJuPU5peGlob3UgcnQ9ODgyMjU2NjY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyMTkzMzA1CkVpbmlnZSBTY2hhY2hwcm9ncmFtbWUgaGFiZW4gbmUgWnVndm9yc2NobGFncy1GdW5rdGlvbiwgb2RlciBhdWNoCm5lIEZ1bmt0aW9uLCBkaWUgZGVuIFNwaWVsZXIgdm9yIGdyb2JlbiBGZWhsZXJuIHdhcm50LgpVbmQgZXMgZ2lidCB3b2hsIGVpbmlnZSwgZGllIG5hY2ggU2Nod2llcmlna2VpdCBnZXN0YWZmZWx0ZSBBdWZnYWJlbgp6dW0gbG9lc2VuIHByYWVzZW5kaWVyZW4ga29lbm5lbiwgenVtZWlzdCBhYmVyIHNpY2hlciBudXIgaW4gdGFrdGlzY2hlcgpSaWNodHVuZyAuLi4KCldlbm4gRHUgV0lSS0xJQ0ggU2NoYWNoIGxlcm5lbiB3aWxsc3QsIGlzdCBlaW4gTUVOU0NITElDSEVSIExlaHJlciwgZGVyCkRpciBkZW4gU2lubiBuYWVoZXJicmluZ2VuIGthbm4gdW5kIERpciBwb3NpdGlvbmVsbGUgSWRlZW4gdmVybWl0dGVsdCwKbWl0IFNpY2hlcmhlaXQgbmljaHQgenUgZXJzZXR6ZW4gLi4uIHVuZCBudXIgZGllIFByYXhpcyBicmluZ3QgZWluZW4gd2VpdGVyIQoKS3VyemVyIFJlZGUsIGtsYXJlciBTaW5uOgoKUHJvYmllcidTIGRvY2ggZWluZmFjaCBtYWwgYmVpIG5lbSBTY2hhY2gtS2x1YiBpbiBEZWluZXIgTmFlaGUgISEKRGllIGZyZXVlbiBzaWNoIHVlYmVyIG5ldWUgU3BpZWxlciwgdW5kIER1IGhhc3QgbWVociBkYXZvbiwgYWxzIHdlbm4gRHUgCkRpY2ggdm9uIG5lciBnZWZ1ZWhsbG9zZW4gTWFzY2hpbmUgemVybGVnZW4gbGFzc2VuIG11c3N0ISAKCkRHCihTY2hhY2gtQy1UcmFpbmVyIGF1cyBMZWlkZW5zY2hhZnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmRlcmxhbmQgKEd1bmR1ciwgMTcuIERleiAxOTk3LCAxMTo0Nzo0Nik6CkhpCldlbiBlcyBpbnRlcmVzc2llcnQuLi4KRGFzIEFuZGVybGFuZCBpc3QgdW1nZXpvZ2VuLi5uYWNoIEJlcmxpbi4uLi4KTmV1ZSBJUCBpc3QgMTk0Ljk0LjIyNC4xODEgUG9ydCAyMyAoZGVtbmFlY2hzdCBhbC5tdWQuZGUgMjMpCkdydWVzc2Ugdm9uCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJtYWdlZGRvbiAoQ2F0d2VhemxlLCAxOC4gRGV6IDE5OTcsIDExOjMxOjI1KToKTW9pbiEKCkluIE1HIGJlZmluZGV0IHNpY2ggaW1tZXIgbm9jaCBkaWUgZ2VsaWVoZW5lIENQVSwgZGllIGljaCBsYW5nc2FtIGRyaW5nbGljaHN0Cnp1cnVlY2tnZWJlbiBtdXNzLCBkYSBpaHIgV2VydCB6dW5laG1lbmQgc3RlaWd0IDopCkljaCBoYWJlIGJpc2hlciBpbW1lciBhdWYgZWluZW4gcGFzc2VuZGVuIENyYXNoIGdld2FydGV0LCBoYWIgYWJlcgpQZWNoIGdlaGFidC4gRGEgaWNoIGJpcyBXZWlobmFjaHRlbiBkaWUgQ1BVIGFiZXIgcmF1cyBoYWJlbiB3aWxsLAptYWNoIGljaCBtYWwgZWluZW4gQXJtYWdlZGRvbiBhbi4gV2VubnMgdm9yaGVyIGFic3R1ZXJ0enQgLi4uICp6dWNrKgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcm1hZ2VkZG9uIChLZXksIDE4LiBEZXogMTk5NywgMTk6NTA6NTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MjQ0MTA4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjQ0MTA4NQpIbW0gd2FubiBrb21tdCBkZW5uIGRlciBSZWJvb3Q/IDopClVuZCB2b3IgYWxsZW0gLi4uIHdhcyBmdWVyIGVpbmUgQ1BVIGhhbSB3aXIgZGFubj8gSmV0enQgc2FnIG5ldCBrZWluZSAuLi4gCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJtYWdlZGRvbiAoRnJldW5kLCAxOC4gRGV6IDE5OTcsIDIzOjQzOjUyKToKfiMhIHJuPUtleSBydD04ODI0NzEwNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODI0NDEwODUKRWluZSBGcmFnZSBrYW5uIGljaCBzY2hvbiBtYWwgYmVhbnR3b3J0ZW46Clp1ciBaZWl0IGdlbGllaGVuIGlzdCBlaW5lIEludGVsIFBlbnRpdW0gMjAwIE1IeiBDUFUuCkF1cyBkZXIgUmVrbGEgenVydWVjayBpc3QgZWluZSBBTUQgNWs4Ni0xNjYgTUh6IENQVS4KCldlbmlnc3RlbnMgUkM1IGxhZXVmdCBkYW1pdCBzY2huZWxsZXIuIERhcyBNdWQgd29obCBlaGVyIG5pY2h0Li4uIDspCgpGcmV1bmQsIHZlcmxlaWh0IG51ciBhbiBndXRlIEZyZXVuZGUuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcm1hZ2VkZG9uIChSYWZmaSwgMTkuIERleiAxOTk3LCAxNDozNjoyMyk6Cn4jISBybj1GcmV1bmQgcnQ9ODgyNDg1MDMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1ClVmZiAuLi4gYWVoIGthbm4gbWFuIGRhIGJlaW0gdW10YXVzY2hlbiBuaWNodCBhdXMgdmVyc2VoZW4gd2VuaWdzdGVucyBuZSBLNgpuZWhtZW4gPyBPZGVyIG11ZXNzZW4gd2lyIHNjaG9uIHdpZWRlciBtYWwgZnVlcnMgTUcgc2FtbWVsbiBnZWhlbiA/CgpXYXMgaXN0IGVpZ2VudGxpY2ggZGFzIHNjaG5lbGxzdGUgd2FzIGlucyBCb3JkIHBhc3N0ID8gSzYtMjMzIG9kZXIgTU1YLTIwMCA/CgpTY2huaWVmCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcm1hZ2VkZG9uIChGcmV1bmQsIDE5LiBEZXogMTk5NywgMTQ6NTg6MDcpOgp+IyEgcm49UmFmZmkgcnQ9ODgyNTM4NTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1CkRpZSAyMDBlciBPZW50aXVtIGFlaG0gUGVudGl1bSBoYXR0ZSBpY2ggamEgenVtIEthdWYgZ2VkYWNodCwgYWJlciBkZXIKYmV0cmVpYmVyIGhhdCBzaWNoIGRhZ2VnZW4gZW50c2NoaWVkZW4uCkRhaGVyIGJyYXVjaGUgaWNoIGF1Y2ggbGFuZ3NhbSBtYWwgZGllIENQVSB6dXJ1ZWNrLCBkZW5uIGRpZSBnZWhvZXJ0Cm5hdHVlcmxpY2ggZGFubiBpbiBhbmRlcmUgS3VuZGVuaGFlbmRlIHZlcmthdWZ0LCB1bmQgbmljaHQgenVtIEVLCmR1cmNoZ2VyZWljaHQuCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcm1hZ2VkZG9uIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTU6MjE6NDApOgp+IyEgcm49UmFmZmkgcnQ9ODgyNTM4NTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1CldvYmVpIGRlciBLNS0xNjYgdm9sbGtvbW1lbiBhdXNyZWljaHQuIERlciBNdWRkcml2ZXIgdmVyYnJhdWNodCB2b24gZGVyClByb2Vzc29yemVpdCBkZXMgUDIwMCBzZWx0ZW4gbWVociBhbHMgNTAlLiBTY2huZWxsIHdpcmQgZGVyIFJlY2huZXIgZHVyY2gKZGUgU3BlaWNoZXIsIGRlciB6dSBlaW5lbSBncm9zc2VuIFRlaWwgZGllIFBsYXR0ZW56dWdyaWZmZSBjYWNoZWQuCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXJtYWdlZGRvbiAoRnJldW5kLCAxOS4gRGV6IDE5OTcsIDE1OjI4OjM2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODI1NDEzMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODI0NDEwODUKLi4udW5kIGJlaW0gUkM1IHppZWh0IGRlciBrNS0xNjYgYWxsZSBhbmRlcmVuIGxvY2tlciBhYiEgOi0pCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBcm1hZ2VkZG9uIChSYWZmaSwgMTkuIERleiAxOTk3LCAxNTozMTozNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgyNTQxMzAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1ClVuZCBEZXIgU3BlaWNoZXIgZ2V3aW5udCBhdWNoIGR1cmNoIGVpbmUgc2NobmVsbGVyZSBDUFUuCgpVbmQgaG9lciBtaXIgYXVmIG1pdCAnbnVyIDUwJSBsYXN0IC4uLi4uCkRpZSBMYXN0IGhhdCB3ZW5pZyBtaXQgZGVtIExhZyB6dSB0dW4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQXJtYWdlZGRvbiAoQm9pbmcsIDE5LiBEZXogMTk5NywgMTU6Mzc6MzApOgp+IyEgcm49UmFmZmkgcnQ9ODgyNTQxODk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1ClJpY2h0aWcsIGRhcyBMYWcgaGF0IGZhc3QgYXVzc2NobGllc3NsaWNoIG1pdCBkZW0gTmV0eiB6dSB0dW4uIE1hbCBkYXZvbgphYmdlc2VoZW4sIHdlbm4gZGVyIG1haWxlciB3aWVkZXIgc3Bpbm50LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBcm1hZ2VkZG9uIChSYWZmaSwgMTkuIERleiAxOTk3LCAxNTozOToxMCk6Cn4jISBybj1GcmV1bmQgcnQ9ODgyNTQxNzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1CkRlciBLXzVfLTE2NiB6aWVodCBlaW5lbSBLNi0yMzMgYWIgPwpBYmVyIGF1Y2ggbnVyIHdlbm4gRHUgZGllIEFuZGVyZW4gYXVzYnJlbXN0LgoKQmlzdCBkdSBQQy1IYWVuZGxlciA/ICpncmlucyoKCkdydXNzCkguCgpLNS0xNjYgMzM4NDA5IC0gMzc0NzQyIGtLZXlzL3MKCks2LTE2NiAyNjE5NzMgICAgICAgICAga0tleXMvcwpLNi0yMzMgMzYwNDkzIC0gMzcwOTQ3IGtLZXlzL3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFybWFnZWRkb24gKFJhZmZpLCAxOS4gRGV6IDE5OTcsIDE1OjQwOjQ5KToKfiMhIHJuPUJvaW5nIHJ0PTg4MjU0MjI1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjQ0MTA4NQpKbywgdW5kIHdlbm4gbWFuIHNjaG9uIG5pY2h0IGFtIG5ldHogZHJlaGVuIGthbm4gZGFubiBzb2xsdGUgbWFuIGhhbHQKdmVyc3VjaGVuIGRpZSBzYWNoZW4gZGllIG1hbiBpbiBkZW4gZ3JpZmYgYmVrb21tZW4ga2FubiBpbiBzZWxiaWdlbiB6dQpiZWtvbW1lbgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFybWFnZWRkb24gKFJhZmZpLCAxOS4gRGV6IDE5OTcsIDE1OjQxOjMzKToKfiMhIHJuPVJhZmZpIHJ0PTg4MjU0MjM1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjQ0MTA4NQpBZWggTmFjaHRyYWcKCk1hbCBkYXZvbiBhYmdlc2VoZW4gZGFzIGRlciBSQzUgcmVjaHQgd2VuaWcgbWl0IGRlbSBNdWQgenUgdHVuIGhhdCAobG9rYWxpdGFldAp1bmQgc28pCgpHcmlucwpILgooSWNoIGxpZWJlIEJlbmNobWFya3MpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBcm1hZ2VkZG9uIChTY2hva28sIDE5LiBEZXogMTk5NywgMTU6NDI6MDApOgp+IyEgcm49UmFmZmkgcnQ9ODgyNTQyMzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1CjM3NDc0MiBrS2V5cy9zID8/PwpXYWFhaGhoaCBtYW4gc3RlbGxlIHNpY2ggZHJlaWh1bmRlcnR0YXVzZW4gbWFsIEtleSB2b3IgLi4uICpzZXVmeioKCkRhIHdpcmQgZGFzIGFiZXIgbWFuIGdhbnogc2Nob2VuIGVuZyBiZWkgTGFycyA6KQoKU2Nob2tvIChiZXNzZXJlIFNjaGx1ZXNzZWxoYWVsZnRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQXJtYWdlZGRvbiAoQmlyZHksIDE5LiBEZXogMTk5NywgMTU6NDY6NDgpOgp+IyEgcm49U2Nob2tvIHJ0PTg4MjU0MjUyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjQ0MTA4NQpkdSBtZWluc3QgZHJlaWh1bmRlcnR0YXVzZW5kIG1hbCB0YXVzZW5kIGtleXMsIGFsc28gMzAwIG1pbGxpb25lbiA/IDspCkJpcmR5LCB2ZXJrcmllY2h0IHNpY2ggc2Nob25tYWwgYXVmIGVpbmVtIGFuZGVyZW4gcGxhbmV0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFybWFnZWRkb24gKEdyaW1tYm9ybiwgMTkuIERleiAxOTk3LCAxNjoyMTo0Nik6Cn4jISBybj1CaXJkeSBydD04ODI1NDI4MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODI0NDEwODUKVGphLCBkYSBoYXQgTGFycyBhYmVyIG5vY2htYWwgR2x1ZWNrIGdlaGFidCwgZGFzcyBkYXMgd29obCBhbmRlcnMgZ2VtZWludCBpc3QsCndhcz8gOy0pCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFybWFnZWRkb24gKEtleSwgMjAuIERleiAxOTk3LCAxNjo1ODoxMSk6Cn4jISBybj1TY2hva28gcnQ9ODgyNTQyNTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNDQxMDg1ClVuZCBhbGxlIGF1ZiBkZXIgU3VjaGUgbmFjaCBEaXIgU2Nob2tvc2NoYXR6aSA6KQpBbHNvIHdlaGUgRHUgZ2Voc3QgdW5zIGZyZW1kIC4pKQoKaS5BLiB2b24gMzAwTWlvIEtleXMgPTspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBcm1hZ2VkZG9uIChTY2hva28sIDIwLiBEZXogMTk5NywgMTc6MTU6MDkpOgp+IyEgcm49S2V5IHJ0PTg4MjYzMzQ5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjQ0MTA4NQoKV2FhYWFhYWFhYWFhYWFhYWhoaGhoIDopCgotPiBTY2htYXJybiwgYWJlciBnYW56IHNjaG5lbGwuLi4KClNjaG9rbyAobGllYnQgc2VpbiBTY2hsdWVzc2Vsc2NoYXR6aWxlaW4gdHJvdHogc2VpbmVyIG1lcmt3dWVyZGlnZW4gRnJldW5kZQpzZWhyLCBhYmVyIHdhcyB6dXZpZWwgaXMgaXMgenV2aWVsID07KSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmFjaHRzZ3J1c3MgKENhdHdlYXpsZSwgMjIuIERleiAxOTk3LCAxMDozMDowNyk6CiAgICAgICAgICAgKiAgICAgICAgICAgICAsIAogICAgICAgICAgICAgICAgICAgICAgIF8vXlxfIAogICAgICAgICAgICAgICAgICAgICAgPCAgICAgPiAKICAgICAqICAgICAgICAgICAgICAgICAvLi0uXCAgICAgICAgICoKICAgICAgICAgICAgICAqICAgICAgICBgLyZcYCAgICAgICAgICAgICAgICAgICAqIAogICAgICAgICAgICAgICAgICAgICAgLEAuKjtALAogICAgICAgICAgICAgICAgICAgICAvX28uSSAlX1wgICAgKgogICAgICAgICogICAgICAgICAgIChgJy0tOm8oX0A7CiAgICAgICAgICAgICAgICAgICAvYDstLS4sX18gYCcpICAgICAgICAgICAgICoKICAgICAgICAgICAgICAgICAgO0BgbyAlIE8sKmAnYCZcIAogICAgICAgICAgICAqICAgIChgJy0tKV9AIDtvICUnKClcICAgICAgKiAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgL2A7LS0uX2AnJy0tLl9PJ0A7CiAgICAgICAgICAgICAgICAvJiosKCl+b2A7LS4sXyBgIiJgKQogICAgICogICAgICAgICAgL2AsQCA7KyYgKCkgbypgOy0nO1wKICAgICAgICAgICAgICAgKGAiIi0tLixfMCArJSBAJyAmKClcCiAgICAgICAgICAgICAgIC8tLixfICAgIGBgJyctLS4uLi4tJ2ApICAqCiAgICAgICAgICAqICAgIC9AJTtvYDo7Jy0tLC5fXyAgIF9fLidcCiAgICAgICAgICAgICAgOyosJigpOyBAICUgJl47fmAiYG87QCgpOyAgICAgICAgICoKICAgICAgICAgICAgICAvKCk7IG9efjsgJiAoKS5vIComYDsgJU9cCiAgICAgICAgICAgICAgYCI9Ij09IiI9PSwsLC4sPSI9PSI9PT0iYAogICAgICAgICAgIF9fLi0tLS0uKFwtJycjIyMjIy0tLS4uLl9fXy4uLi0tLS0tLl8KICAgICAgICAgJ2AgICAgICAgICBcKV9gIiIiIiJgCiAgICAgICAgICAgICAgICAgLi0tJyAnKSAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICBvKCAgKV8tXCAgICAgICAgICAKICAgICAgICAgICAgICAgICBgIiIiYCBgCiAgIF9fXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fCiAgLyAgICAgICAgICAgICAgLyAgICAgICAgICAgICAgICAgICAvICAgICAgICAgICAgICAvICAgICAgICAgIC8KIChfX18gIF9fXyAgX19fIChfX18gIF9fXyAgX19fICAgICAgKF9fXyAgX19fICBfX18gKF9fXyAgICAgICAoCiB8ICAgIHwgICApfCAgICl8ICAgKXxfX18pfF9fXyAgICAgIHwgICAgfF9fXyl8X19fIHwgICAgICAgICAgfAogfCAgICB8ICAgIHxfXy8gfCAgLyB8X18gICBfXy8gICAgICB8ICAgIHxfXyAgIF9fLyB8X18gICAgICAgIF8KIAoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0c2dydXNzIChBbHBoYSwgMjIuIERleiAxOTk3LCAxMjo1NToyMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgyNzgzMDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyNzgzMDA3CkRhcyBIYWVzY2hlbiBpc3QgenUgZnJ1ZWggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIFdlaWhuYWNodGVuIChHcmltbWJvcm4sIDIyLiBEZXogMTk5NywgMTk6MTk6MDApOgpTbywgaGllciBtYWwgd2llZGVyIG1laW5lIFdlaWhuYWNodHNnZXNjaGljaHRlOgoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uIApEYXJ1bSBzY2hyaWViIHNpZSBhbiBkaWUgVGFnZXN6ZWl0dW5nICJTdW4iIGVpbmVuIEJyaWVmOgoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICdTdW4nIHN0ZWh0IGlzdCBpbW1lciB3YWhyLiBCaXR0ZSBzYWdlbgpTaWUgbWlyOiBHaWJ0IGVzIGVpbmVuIFdlaWhuYWNodHNtYW5uPyAtIFZpcmdpbmlhIE8nSGFubG9uIgoKRGllIFNhY2hlIHdhciBkZW0gQ2hlZnJlZGFrdGV1ciBGcmFuY2lzIFAuIENodXJjaCBzbyB3aWNodGlnLCBkYXNzIGVyIHNlbGJlcgphbnR3b3J0ZXRlIC0gYXVmIGRlciBUaXRlbHNlaXRlIGRlciAiU3VuIjoKCiJWaXJnaW5pYSwKRGVpbmUga2xlaW5lbiBGcmV1bmRlIGhhYmVuIG5pY2h0IHJlY2h0LiBTaWUgZ2xhdWJlbiBudXIsIHdhcyBzaWUgc2VoZW47IHNpZQpnbGF1YmVuLCBkYXNzIGVzIG5pY2h0IGdlYmVuIGthbm4sIHdhcyBzaWUgbWl0IGlocmVtIGtsZWluZW4gR2Vpc3QgbmljaHQKZXJmYXNzZW4ga29lbm5lbi4gQWxsZXIgTWVuc2NoZW5nZWlzdCBpc3Qga2xlaW47IG9iIGVyIG51biBlaW5lbSBFcndhY2hzZW5lbgpvZGVyIGVpbmVtIEtpbmQgZ2Vob2VydC4gSW0gV2VsdGFsbCB2ZXJsaWVydCBlciBzaWNoIHdpZSBlaW4gd2luemlnZXMgSW5zZWt0LgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4KSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbyBnZXdpc3Mgd2llIExpZWJlCnVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2FubiB1bnNlciBMZWJlbiBzY2hvZW4KdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbiBXZWlobmFjaHRzbWFubgpnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUgUG9lc2llIC0gZ2FyCm5pY2h0cywgd2FzIGRhcyBMZWJlbiBlcnN0IGVydHJhZWdsaWNoIG1hY2h0ZS4gRWluIEZsYWNrZXJyZXN0IGFuIHNpY2h0YmFyZW0KU2Nob2VuZW4gYmxpZWJlIHVlYnJpZy4gQWJlciBkYXMgTGljaHQgZGVyIEtpbmRoZWl0LCBkYXMgZGllIFdlbHQgYXVzc3RyYWhsdCwKbXVlc3N0ZSB2ZXJsb2VzY2hlbi4KRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IER1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgRHUga29lbm50ZXN0IERlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgYmVrYWVtZSBpaG4genUKR2VzaWNodCAtIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4gZWluZmFjaCBzby4gRGFzCmJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdlbiBEaW5nZSBibGVpYmVuIG1laXN0ZW5zIHVuc2ljaHRiYXIuIERpZQpFbGZlbiwgenVtIEJlaXNwaWVsLCB3ZW5uIHNpZSBhdWYgTW9uZHdpZXNlbiB0YW56ZW4uIFRyb3R6ZGVtIGdpYnQgZXMgc2llLiBBbGwKZGllIFd1bmRlciB6dSBkZW5rZW4gLSBnZXNjaHdlaWdlIGRlbm4gc2llIHp1IHNlaGVuLCBkYXMgdmVybWFnIG5pY2h0IGRlcgpLbHVlZ3N0ZSBhdWYgZGVyIFdlbHQuIFdhcyBEdSBhdWNoIHNpZWhzdCwgRHUgc2llaHN0IG5pZSBhbGxlcy4KRHUga2FubnN0IGVpbiBLYWxlaWRvc2tvcCBhdWZicmVjaGVuIHVuZCBuYWNoIGRlbiBzY2hvZW5lbiBGYXJiZmlndXJlbiBzdWNoZW4uCkR1IHdpcnN0IGVpbmlnZSBidW50ZSBTY2hlcmJlbiBmaW5kZW4sIG5pY2h0cyB3ZWl0ZXIuIFdhcnVtPyBXZWlsIGVzIGVpbmVuClNjaGxlaWVyIGdpYnQsIGRlciBkaWUgd2FocmUgV2VsdCB2ZXJodWVsbHQsIGVpbmVuIFNjaGxlaWVyLCBkZW4gbmljaHQgZWlubWFsCmFsbGUgR2V3YWx0IGF1ZiBkZXIgV2VsdCB6ZXJyZWlzc2VuIGthbm4uIE51ciBHbGF1YmUgdW5kIFBvZXNpZSB1bmQgTGllYmUKa29lbm5lbiBpaG4gbHVlZnRlbi4gRGFubiB3aXJkIGRpZSBTY2hvZW5oZWl0IHVuZCBIZXJybGljaGtlaXQgZGFoaW50ZXIgYXVmCmVpbm1hbCB6dSBlcmtlbm5lbiBzZWluLiAKJ0lzdCBkYXMgZGVubiBhdWNoIHdhaHI/JyBrYW5uc3QgRHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuCldlbHQgaXN0IHdhaHJlciB1bmQgbmljaHRzIGJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQsIHVuZCBld2lnCndpcmQgZXIgbGViZW4uIFNvZ2FyIGluIHplaG5tYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyCndpZSBEaWNoIHVuZCBqZWRlcyBvZmZlbmUgSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0LApWaXJnaW5pYS4KRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKCihEZXIgQnJpZWZ3ZWNoc2VsIHp3aXNjaGVuIFZpcmdpbmlhIE8nSGFubG9uIHVuZCBGcmFuY2lzIFAuIENodXJjaCBzdGFtbXQgYXVzCmRlbSBKYWhyIDE4OTcuIEVyIHd1cmRlIHVlYmVyIGVpbiBoYWxiZXMgSmFocmh1bmRlcnQgYmlzIHp1ciBFaW5zdGVsbHVuZyBkZXIKIlN1biIgaW0gSmFocmUgMTk1MCBhbGxlIEphaHJlIHdpZWRlciB6dXIgV2VpaG5hY2h0c3plaXQgYXVmIGRlciBlcnN0ZW4gU2VpdGUKZGVyIFplaXR1bmcgYWJnZWRydWNrdC4pCgoKRXVjaCBhbGxlbiBlaW4gZnJvaGVzIHVuZCBzY2hvZW5lcyBXZWlobmFjaHRzZmVzdCEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyb2hlIFdlaWhuYWNodGVuIChBY3JpbW9uLCAyMi4gRGV6IDE5OTcsIDIwOjQxOjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODI4MTQ3NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODI4MTQ3NDAKRGVyICJXZWlobmFjaHRzbWFubiIgaXN0IGVpbmUga2l0c2NoaWdlIGFtZXJpa2FuaXNjaGUgRXJmaW5kdW5nLgpFciBzb2xsdGUgd29obCB1cnNwcnVlbmdsaWNoIGVpbiBFcnNhdHogZnVlciBkZW4gaGVpbGlnZW4gTmlrb2xhdXMgdm9uIE15cmEKc2VpbiwgZGVzc2VuIEdlZGVua2VuIGFtIDYuIERlemVtYmVyIGlzdC4KV2FzIGRlciBDaGVmcmVkYWt0ZXVyIGJlc2NocmllYmVuIGhhdCwgd2FyIGVoZXIgZWluIGtsZWluZXIgQXNwZWt0IGRlcwpjaHJpc3RsaWNoZW4gR290dGVzLgoKS2VpbiBXdW5kZXIsIGRhc3ogVmllbGUgYW4gZ2FyIG5pY2h0cyBtZWhyIGdsYXViZW4sIHdlbm4gc2llIHNvbGNoZW4KU2Nod2FjaGZ1ZyBzZXJ2aWVydCBiZWtvbW1lbi4KRGVubiBpcmdlbmR3YW5uIHdlcmRlbiBzaWUgaGVyYXVzZmluZGVuLCBkYXN6IGVzIGRlbiAiV2VpaG5hY2h0c21hbm4iIG1pdApaaXBmZWxtdWV0emUgdW5kIFJlbnRpZXJlbiB1bmQgU2NobGl0dGVuIHVuZCBLcmFtcHVzIGViZW4gZG9jaCBuaWNodCBnaWJ0LgpXZXIgc29sY2hlbiBVbnNpbm4gc2VydmllcnQgdW5kIGRhbm4gbm9jaCBtaXQgbGFuZ2VuIFNhZXR6ZW4gYXVzZnVlaHJsaWNoCmJlemV1Z3QsIGRhc3ogZGllc2VyIFVuc2lubiBXYWhyaGVpdCBzZWksIGRlciB2ZXJkZWNrdCBkaWUgd2FocmUgV2FocmhlaXQgdW5kCnZlcndpcnJ0IGRpZSBNZW5zY2hlbi4KCkRlciBCcmllZiBob2VydCBzaWNoIHp3YXIgc2Nob2VuIGFuIHVuZCBoYXQgZWluIHBhYXIgTHVlZ2VuIGdlc2NoaWNrdCBtaXQKZWluZXIgTGFkdW5nIFdhaHJoZWl0IGdhcm5pZXJ0LCBhYmVyIHZvciBzb3dhcyBzb2xsdGUgbWFuIHNpY2ggaHVldGVuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyb2hlIFdlaWhuYWNodGVuIChSYWZmaSwgMjIuIERleiAxOTk3LCAyMToyMjo0OSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4MjgxOTY5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjgxNDc0MApIbW0ga2xlaW5lciBGZWhsZXIgaW4gZGVpbmVyIEdlc2NoaWNodGUgLSBEZW4gS3JhbXB1cyBnaWJ0cyBiZWltClVTLVdlaWhuYWNodHNtYW5uIGdhcm5pY2h0IC4uLiBkZXIgaXN0IG9yaWdpbmFsIGJheWVyaXNjaCA6KQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJvaGUgV2VpaG5hY2h0ZW4gKEdyaW1tYm9ybiwgMjIuIERleiAxOTk3LCAyMzo0Njo1MSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4MjgxOTY5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjgxNDc0MApXYXMsIG1laW5zdCBEdSBkYW1pdCwgZGFzcyBlcyBkZW4gV2VpaG5hY2h0c21hbm4gZ2FyIG5pY2h0IGdpYnQ/IFVuZCBtaWNoCm1laW5lIEVsdGVybiBlaW4gTGViZW4gbGFuZyBhbmdlbG9nZW4gaGFiZW4gdW5kIGljaCBpbW1lciwgd2VubiBpY2ggUmVudGllcmUKZ2VzZWhlbiBoYWJlLCBmYWxzY2hlIEFzc296aWF0aW9uZW4gZ2VoYWJ0IGhhYmU/CkFsc28sIGljaCBiaW4gZGFmdWVyLCBBY3JpbW9uIHp1IGxvZXNjaGVuLiBFbnR3ZWRlciBsdWVndCBlciwgdW5kIHNvIGVpbmUKdW5nZWhldWVybGljaGUgTHVlZ2UgaXN0IGdhciBuaWNodCBhbmRlcnMgenUgc3VlaGVuLCBvZGVyIGVyIGhhdCByZWNodCwgdW5kCmRhbiBnZWhvZXJ0IGRpZSBzY2hvbnVuZ3Nsb3NlIEdyYXVzYW1rZWl0IGJlc3RyYWZ0LCBtaXQgZGVyIGVyIGRhcyBlaW5mYWNoIHNvCmF1ZiBzZWluZSBNaXRtdWRkZXIgbG9zbGFlc3N0LgoKSW4gdGllZmVyIFNvcmdlLAogICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyb2hlIFdlaWhuYWNodGVuIChCYW1idWxrbywgMjMuIERleiAxOTk3LCAwMjoxMjowOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODgyODE0NzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyODE0NzQwCk5hamEgQW1lcmlrYSBoYWx0LiBpbSBpcmFuIHd1ZXJkZSBlaW4ga2xlaW5lcyBNYWVkY2hlbiBzaWNoZXJsaWNoIGF1ZiBkaWUKZnJhZ2UsIG9iIGRhcyBUb2Rlc3VydGVpbCBnZWdlbiBSdXNoZGllIGdlcmVjaHRmZXJ0aWd0IGlzdCBnZW5hdSBzbyBuZW4gVW5zaW5uCnp1IGxlc2VuIGJla29tbWVuLiAKCkJhbWJ1bGtvIGdsYXVidCBfbmljaHRfIGFuIGRlbiBhbWVyaWthbmlzY2hlbiBDb2NhLUNvbGEgV2VpaG5hY2h0c21hbm4gc29uZGVybgphbiBkZW4sIGRlciBpbiBkZW4gZ2VkYW5rZW4gZGVyIE1lbnNjaGVuIGV4aXN0aWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJvaGUgV2VpaG5hY2h0ZW4gKEx1cHVzLCAyMy4gRGV6IDE5OTcsIDE5OjIyOjM0KToKfiMhIHJuPUFjcmltb24gcnQ9ODgyODE5Njk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyODE0NzQwCkFjcmltb24sIG1hbmNobWFsIHR1c3QgRHUgbWlyIGVjaHQgbGVpZC4KCkx1cHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcm9oZSBXZWlobmFjaHRlbiAoUm9jaHVzLCAyMy4gRGV6IDE5OTcsIDE5OjM5OjIxKToKfiMhIHJuPUx1cHVzIHJ0PTg4MjkwMTM1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjgxNDc0MApUcm90emRlbSwgYXVjaCBBY3JpbW9uIGVpbmVuIGZyb2hlbiBXZWlobmFjaHRzZ3J1c3ogOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJvaGUgV2VpaG5hY2h0ZW4gKFNpbHZhbmEsIDIzLiBEZXogMTk5NywgMjA6MDg6MzgpOgp+IyEgcm49THVwdXMgcnQ9ODgyOTAxMzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyODE0NzQwCipzaWdoKiBOb2NoIGVpbmVyLCBkZXIgc2VpbmUgVHJhZXVtZSB2ZXJrYXVmdCB1bmQgc2VpbmUgUGhhbnRhc2llCihhYmdlc2VoZW4gdm9uIGRlciBpbiBkZXIgUmVjaHRzY2hyZWlidW5nKSB2ZXJsb3JlbiBoYXQuIFRyYXVyaWcuLi4KCiAgVHJvdHpkZW0gYWxsc2VpdHMgZWluIGZyb2hlcyBGZXN0CiAgICAgICAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFldWJlcmJhdW0gKENoZWFzeSwgMjYuIERleiAxOTk3LCAxNzoyOTo1OSk6CkhpaG8sCgptYWwgJ25lIGR1bW1lIEZyYWdlOiBEZXIgUmFldWJlcmJhdW0gaXN0IGRvY2ggYW5nZWJsaWNoIGRhenUgZGEsIEZldHRlCkJhbmt6d2VpdGllcyBhdXN6dW5laG1lbi4gTnVuLCBpY2ggYmluIGEpIEVyc3RpZSB1bmQgYikgc2luZCA2MDA1MCBNdWVuemVuCnZpZWwgR2VsZD8KSXJnZW5kd2llIHNvbGx0ZSBtYW4gZGEgd29obCBub2NoIGluIGJpc3NsIGFuIGRlbiBrcml0ZXJpZW4gZnVlciBCYW5remVpdGllcwpmZWlsZW4uLi4gb2RlciBtaWNoIGJlcmljaHRpZ2VuLgotQ2hlYXN5Ci4uLmlzdCBoZXV0IHp1bSBlcnN0ZW4gTWFsIGFuIGRlcm4gUmFldWJlcm4gZHJhdWZnZWdhbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYWV1YmVyYmF1bSAoR3VuZHVyLCAyNi4gRGV6IDE5OTcsIDE3OjUwOjI5KToKfiMhIHJuPUNoZWFzeSBydD04ODMxNTM3OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODMxNTM3OTkKV2VyIGhhdCBkYXMgZXJ6YWVobCBkYXNzIGRhcyBkaWUgUmFldWJlciBkYWZ1ZXIgZGEgc2luZCBudXIgQmFua3p3ZWl0aWVzIHp1CmNhdGNoZW4/CkRhcyB3YWVyIG1pciBuYWVtbGljaCBuZXUgZWhybGljaCBnZXNhZ3QgOi0pCkdydWVzc2Ugdm9uCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhZXViZXJiYXVtIChab3JybywgMjYuIERleiAxOTk3LCAxOTo0OToyNyk6Cn4jISBybj1DaGVhc3kgcnQ9ODgzMTUzNzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgzMTUzNzk5CmtvCkJhbmt6d2VpdGllcyBoYWJlbiBkZW4gbmFjaHRlaWwgZGFzcyBzaWUgbmllIGxhZW5nZXIgYWxzIDIgbWluIGVpbmdlbG9nZ3Qgc2luZApHcnVzcyBab3JybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhZXViZXJiYXVtIChKaW1kaWdyaXosIDI3LiBEZXogMTk5NywgMTA6MDA6MDUpOgp+IyEgcm49Q2hlYXN5IHJ0PTg4MzE1Mzc5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MzE1Mzc5OQpIYWxsbyBDaGVhc3ksCgpkYSB0YWV1c2NodCBEdSBEaWNoIGxlaWRlciA6KQpEZXIgUmFldWJlcmJhdW0gKHVuZCBhbmRlcmUgUmFldWJlcnZlcnN0ZWNrZSkgY2F0Y2hlbiBqZWRlbiwgZGVyCmR1bW0gZ2VudWcgaXN0LCBzaWNoIGVyd2lzY2hlbiB6dSBsYXNzZW4gKHNvcnJ5LCBubyBvZmZlbmNlKSwKZWdhbCB3aWV2aWVsIEtvaGxlIGVyIGhhdCwgbmFqYSBrYW5uIHNlaW4sIGRhc3MgZXMgd2VuaWdzdGVucyBlaW5lCk11ZW56ZSBzZWluIG11c3MuIApJbiBqZWRlbSBGYWxsIHNpbmQgNjAwMDAgc2Nob24gdmllbCBHZWxkLCBzb2dhciByZWNodCB2aWVsIEdlbGQsCnVlYmVybGVnZSBkb2NoIG1hbCB3aWV2aWVsIGVpbiBCYW5rendlcmcgbWl0IG1heGltYWxlciBLcmFmdAp0cmFnZW4ga2Fubiwgc28gdmllbCBtZWhyIGlzdCBkYXMgZ2FyIG5pY2h0LgoKQ2lhbywKIEppbSBEaUdyaXoKLi8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmFldWJlcmJhdW0gKEpvZiwgMjcuIERleiAxOTk3LCAyMzowMToyMyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODgzMjEzMjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgzMTUzNzk5CiBJc3QgamEgYXVjaCBuZSBIZXJhdXNmb3JkZXJ1bmc6IFdlbm4gbWFuIGRpZSBSYWV1YmVyIHBsYXR0bWFjaHQsIHBhc3NpZXJ0Cm5peCwgd2VubiBtYW4gaWhuZW4gZnJlaXdpbGxpZyBzZWluZSBLbmV0ZSBnaWJ0LCBsYXNzZW4gc2llIGVpbmVtIGRhcyBMZWJlbi4KSXN0IGRvY2ggZmFpciwgb2Rlcj8KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmFldWJlcmJhdW0gKEFuYXRvbCwgMjcuIERleiAxOTk3LCAyMzo0NDo1MSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODgzMjEzMjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgzMTUzNzk5Cj4gSW4gamVkZW0gRmFsbCBzaW5kIDYwMDAwIHNjaG9uIHZpZWwgR2VsZCwgc29nYXIgcmVjaHQgdmllbCBHZWxkLAo+IHVlYmVybGVnZSBkb2NoIG1hbCB3aWV2aWVsIGVpbiBCYW5rendlcmcgbWl0IG1heGltYWxlciBLcmFmdAo+IHRyYWdlbiBrYW5uLCBzbyB2aWVsIG1laHIgaXN0IGRhcyBnYXIgbmljaHQuCgpJY2ggaGFiZSBpcmdlbmR3byBlaW5lbiBCYW5rendlaXRpZSBtaXQgNDAwJzAwMCBNdWVuemVuLCBkYXMgZXJzY2hlaW50IG1pcgpFVFdBUyBtZWhyIGFscyA2MCcwMDAsIEpkRyA6KS4gVW5kIGphLCBpY2gga29lbm50ZSBkYXMgd29obCBqZWRlcnplaXQgd2llZGVyCmJld2Vya3N0ZWxsaWdlbi4uLgoKUmVpY2ggdW5kIHNleHksCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJhZXViZXJiYXVtIChKaW1kaWdyaXosIDI4LiBEZXogMTk5NywgMDk6NTI6NDQpOgp+IyEgcm49QW5hdG9sIHJ0PTg4MzI2MjY5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MzE1Mzc5OQpNb2luLAogZGFzIGlzdCBrYXVtIGVpbmUgR3JvZXNzZW5vcmRudW5nIG1laHIsIGFsc28gCiBuaWNodCBzbyB2aWVsIG1laHIuIDspCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyb2hlIFdlaWhuYWNodGVuIChRaXRlc3MsIDI4LiBEZXogMTk5NywgMTU6NDk6NDgpOgp+IyEgcm49QWNyaW1vbiBydD04ODI4MTk2OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODI4MTQ3NDAKZmFsc2NoLCBhY3JpbW9uLCBkZXIgd2VpaG5hY2h0c21hbm4gaXN0IGtlaW5lIGFtZXJpa2FuaXNjaGUgZXJmaW5kdW5nLiAKbGVkaWdsaWNoIGRlciB3ZWlobmFjaHQ2c21hbm4gd2llIGVyIGpldHp0IGR1cmNoIGRpZSBnZWdlbmQga29tbXQgaXN0IGVpbmUKYW1lcmlrYW5pc2NoZSBhdXNzY2htdWVja3VuZy4KZGVyIHdlaWhuYWNodHNtYW5uIHdhciB1cnNwcnVlbmdsaWNoIGRlciBuaWtvbGF1cywgZGVzc2VuIGZyZXVuZGxpY2hlIHRhdGVuIGFtCnNlY2hzdGVuIGRlemVtYmVyLCBzZWluZW0gbmFtZW5zdGFnLCBnZWRhY2h0IHdlcmRlbiBzb2xsdGUuIGRhIGFiZXIgZGFzCnNjaGVua2VuIGlyZ2VuZHdpZSB1ZWJlcmhhbmQgbmFobSwgd3VyZGUgbmlrb2xhdXMtc2NoZW5rZW4gdW5kCndlaWhuYWNodHMtc2NoZW5rZW4gKGhpZXIgbGllZ3QgZGVyIHVyc3BydW5nIGluIGRlciBnZXNjaGljaHRlIHVtIGRpZSBnZWJ1cnQKamVzdSBjaHJpc3RpIHVuZCBkZXNzZW4gYmVzY2hlbmt1bmcgZHVyY2ggZGllIGRyZWkgaGVpbGlnZW4ga29lbmlnZSB1bmQKYW5kZXJlbSB2b2xrZSkgenVzYW1tZW5nZWxlZ3QgYXVmIGRlbiAyNC4gZGV6ZW1iZXIsIGRhIGRpZXNlcyBmZXN0IGtpcmNobGljaApnZXNlaGVuIHdpY2h0aWdlciB3YXIgKG9kZXIgaXN0KS4KZGFzcyBiZWlkZSBmZXN0ZSBnZXdpc3NlIGFlaG5saWNoa2VpdGVuIGF1ZndlaXNlbiwgc29sbHRlIG1hbiBzZWhlbi4gYW4Kbmlrb2xhdXMgdW5kIGFtIGFuZ2Vsc2FlY2hzaXNjaGVuIHdlaWhuYWNodGVuIHdpcmQgZWluIHN0aWVmZWwgb2RlciBlaW5lIHNvY2tlCmhlcmF1c2dlc3RlbGx0LCBkZXIgZGFubiB1ZWJlciBuYWNodCB2b24gbmlrb2xhdXMvZGVtIHdlaWhuYWNodHNtYW5uIGdlZnVlbGx0CndpcmQuIGRlciB3ZWlobmFjaHRzbWFubiBpc3QgYWxzbyBkZXIgbmlrb2xhdXMsIGRlciBlYmVuIG5pY2h0IG1laHIgYW4gc2VpbmVtCm5hbWVuc3RhZywgc29uZGVybiBhbSB0YWdlIGRlciBnZWJ1cnQgZGVzIGhlcnJuIGdlc2NoZW5rZSB2ZXJ0ZWlsdC4KZGFzcyBkZXIgd2VpaG5hY2h0c21hbm4gYWxsZXJkaW5ncyBtaXQgZWluZW0gcm90LXdlaXNzZW4gbWFudGVsIGR1cmNoIGRpZQpnZWdlbmQgbGFldWZ0LCBoYWJlbiB3aXIgZWluZW0gZ2VzY2hpY2t0ZW4gd2VyYmUtZ3JhcGhpa2VyIHp1IHZlcmRhbmtlbiwgZGVyCmRlbiB3ZWlobmFjaHRzbWFubiBpbiBkZW4gZmFyYmVuIGVpbmVyIGFsbHNlaXRzIGJla2FubnRlbiB6dWNrZXJ3YXNzZXItZmlybWEKa2xlaWRldGUuCmRhc3MgZGVyIHdlaWhuYWNodHNtYW5uIGFtIG5vcmRwb2wgbGVidCwgYnp3LCBkYXNzIGVyIHVlYmVyaGF1cHQgbm9jaCBsZWJ0LAppc3Qgc2ljaGVybGljaCBlaW5lIGVyZmluZHVuZywgYWJlciB3aWUgaWNoIG1laW5lIGVpbmUgc2VociBuZXR0ZS4gaWNoIHNpdHplCmluIGRlciBhZHZlbnRzIHplaXQgaW1tZXIgd2llZGVyIGdlcm5lIGFtIGZlcm5zZWhlciB1bmQgc2VoIG1pciBkaWVzZSAobWVpc3QKZWluIHdlbmlnIGtpdHNjaGlnZW4pIHNhbnRhLWNsYXVzIGZpbG1lIGFuLCBnYW56IGVpbmZhY2gsIHdlaWwgaWNoIGltbWVyIG5vY2gKZWluIHdlbmlnIGFuIGRlbiB3ZWlobmFjaHRzbWFubiBnbGF1YmUuIHNvIHdpZSBlcyBkZXIgY2hlZiBkZXIgc3VuIGdlc2NocmllYmVuCmhhdHRlLCBpc3QgZGVyIHdlaWhuYWNodHNtYW5uIG5hZW1saWNoIHdlbmlnZXIgZWluZSByZWFsZSBwZXJzb24gYWxzIGVpbgpnZWZ1ZWhsLCBlaW5lIHd1bmRlcmJhcmUgdm9yc3RlbGx1bmcuIGFscyBraW5kIGlzdCBkZXIgd2VpaG5hY2h0c21hbm4gbm9jaApzZWhyIHJlYWwuIGplIGVyd2FjaHNlbmVyIG1hbiB3aXJkLCB1bXNvIG1laHIgdmVyc3RlaHQgbWFuIGFsbGVyZGluZ3MgZGFzLCB3YXMKZGVuIHdlaWhuYWNodHNtYW5uIHdpcmtsaWNoIGF1c21hY2h0LiBhbGxlcmRpbmdzIGdpYnQgZXMgYXVjaCBsZXV0ZSwgZGllCndlcmRlbiBuaWNodCByaWNodGlnIGVyd2FjaHNlbiBzb25kZXJuIGVpbmZhY2ggbnVyIGNocm9ub2xvZ2lzY2ggZ2VzZWhlbgphZWx0ZXIuIGRpZSB2ZXJzdGVoZW4gbmF0dWVybGljaCB1ZWJlcmhhdXB0IG5pY2h0cy4KClFJKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYWV1YmVyYmF1bSAoTW9yZ290aCwgMjkuIERleiAxOTk3LCAwNzozMjowNyk6Cn4jISBybj1BbmF0b2wgcnQ9ODgzMjYyNjkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgzMTUzNzk5CkFsc28gYmVkZXV0ZXQgZGFzLCBkYXNzIER1IGltbWVyIG5vY2ggaWxsZWdhbGUgU2FjaGVuIGhpZXIgYmV0cmVpYnN0Li4uLgpMT0VTQ0hFTiAhISA7LSkKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJhZXViZXJiYXVtIChUcmFuY2VmZWFyLCAyOS4gRGV6IDE5OTcsIDEwOjEzOjE3KToKfiMhIHJuPU1vcmdvdGggcnQ9ODgzMzc3MTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgzMTUzNzk5CkhtLi4uIG5pY2h0IGplZGVzIGdlc2NoaWNrdGUgQXVzbnV0emVuIHZvbiBCdWdzIG9kZXIgIlNjaHdhZWNoZW4iIGlzdCBpbGxlZ2FsCi0gd28ga2FlbSd3ZXIgZGVubiBkYSBoaW4/CkJldm9yIER1IGhpZXIgbmFjaCBMb2VzY2h1bmcgc2NocmVpc3QsIGFuYWx5c2llciBtYWwgZGFzIFByb2JsZW0gdW5kIHVudGVybmltbQp3YXMgOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3V0ZW4gUnV0c2NoIChEb2xwaCwgMjkuIERleiAxOTk3LCAyMzoxNzowMCk6Ckd1dGVuIFJ1dHNjaCB1bmQgZWluZSBmcm9oZXMgbmV1ZXMgSmFociB3dWVuc2NodCBldWNoIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbHBoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcm9oZSBXZWlobmFjaHRlbiAoQWNyaW1vbiwgMzAuIERleiAxOTk3LCAyMDoxMjoyMyk6Cn4jISBybj1RaXRlc3MgcnQ9ODgzMzIwNTg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyODE0NzQwClN0aW1tdCwgc28ga2FubiBtYW4gZGFzIHNlaGVuLgpBbGxlcmRpbmdzIHd1ZXJkZSBzaWNoIHdvaGwgZGVyIGFybWUgU2Fua3QgTmlrb2xhdXMgdm9uIE15cmEgaW0gIEdyYWJlCnVtZHJlaGVuLCB3ZW5uIGVyIHNpZWh0LCB3YXMgbWFuIGRhIGF1cyBpaG0gbWFjaHQuCkRhIGlzdCB1ZWJlcmhhdXB0IGtlaW5lIEFlaG5saWNoa2VpdCBtZWhyIG1pdCBkZW0gZWNodGVuIEJpc2Nob2YsIHVuZCBkYWhlcgprYW5uIG1hbiBhdWNoIHNhZ2VuLCBkZXIgV2VpaG5hY2h0c21hbm4gaXN0IGVpbmUga29tcGxldHRlIEVyZmluZHVuZy4KRXIgaXN0IGF1Y2ggZWluIHNjaG9lbmVzIGVyZnVuZGVuZXMgTWFlcmNoZW4uCkFiZXIgcGhhbnRhc2llZm9lcmRlcm5kIGlzdCBlciBuaWNodCwgd2VpbCBlciBzY2hvbiBzbyBhYmdlZHJvc2NoZW4gaXN0LgpVbmQgImFuIGRlbiBXZWlobmFjaHRzbWFubiBnbGF1YmVuIiBrYW5uIG1hbiBhdWNoIG5pY2h0LCB3ZWlsIGRhIHVlYmVyaGF1cHQKZ2FyIGtlaW5lIFJlbGlnaW9uIGRhaGludGVyc3RlY2t0LiBWb3IgYWxsZW0gd2Vpc3ogbWFuIGphLCBkYXN6IGVzIGlobiBuaWNodApnaWJ0LgpNaXQgZGVtIGVjaHRlbiBOaWtvbGF1cywgZGVzc2VuIEdlZGVua2VuIGFtIDYuIERlemVtYmVyIGlzdCwgaXN0IGVzIHNjaG9uCmV0d2FzIGFuZGVyZXM6IGlobiBnaWJ0IGVzIHdpcmtsaWNoLiBVbmQgZXIgaGF0IGF1Y2ggdmllbCBnZXRhbiwgZGFzIChsZWlkZXIKYmVpIHdlbmlnZW4gTGV1dGVuKSBiZWthbm50IGlzdC4KRGVyIEJyYXVjaCBkZXMgU2NoZW5rZW5zIGlzdCBlaWdlbnRsaWNoIG51ciBlaW5lIHVud2VzZW50bGljaGUgTmViZW5zYWNoZSBkZXMKRmVzdGVzLCBkaWUgbWFuIGF1Y2ggd2VnbGFzc2VuIGthbm4uCkxpZWJlciBkZW5rZSBpY2ggYW4gZGVuIE5pa29sYXVzIGFscyBhbiBkZW4gKGtpdHNjaGlnZW4pIFdlaWhuYWNodHNtYW5uLgoKKFdhcmVuIG51ciBlaW4gcGFhciBCZW1lcmt1bmdlbikKCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1amFocnN3dW5zY2ggMTk5OCAoQWNyaW1vbiwgMzAuIERleiAxOTk3LCAyMDoxNzowNyk6CkljaCB3dWVuc2NoZSBFdWNoIGFsbGVuIGVpbiBnbHVlY2tsaWNoZXMgdW5kIGdlc2VnbmV0ZXMgdW5kIGdlaXN0cmVpY2hlcyB1bmQKZXJmb2xncmVpY2hlcyBKYWhyIDE5OTghCkF1c3plcmRlbSB3dWVuc2NoZSBpY2ggRXVjaCwgZGFzeiBpaHIgbmljaHQgcnV0c2NodCwgZGVubiBydXRzY2hlbiB3aXJkCnNjaG5lbGwgdW5nZXN1bmQuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvZm9ydHRvZD8gKFl1bmdhLCAgNC4gSmFuIDE5OTgsIDAwOjQyOjMyKToKV2FyIGZvbGdlbmRlcyBlaW5lciBkZXIgU29mb3J0dG9kZSwgZGllIGFiZ2VzY2hhZmZ0IHdlcmRlbiBzb2xsZW4/CgpaYXJkb3ogQnVyZyAtIG9iZW4gYXVmIGRlbSBUdXJtOgp1bnQgZWJlbmUKQXVmIGRlciBFYmVuZSBzaWVoc3QgRHUgZGVuIEdyaW1tc3dhbGQsIGRpZSBEcmFjaGVuemlubmVuLCBkYXMgR29ibGlubGFnZXIKZGllIEhlaWRlLCBkaWUgdW5oZWltbGljaGUgU3RhZHQgTW9yb24gdW5kIGRlbiBTdW1wZi4KdW50IHN1bXBmCkRlciBTdW1wZiBsaWVndCBnZW5hdSB1bnRlciBEaXIuIFBhc3MgYXVmLCBkYXNzIER1IG5pY2h0IGhpbmVpbmZhZWxsc3QuCkFuZGVyZXJzZWl0cy4uLndhcnVtIHNwcmluZ3N0IER1IG5pY2h0IG1hbCBlYmVuIHZvbSBUdXJtIHJ1bnRlcj8gVHV0CmF1Y2ggYmVzdGltbXQgbmljaHQgd2VoLgpzY2hhdQpEdSBzdGVoc3QgYXVmIGRlbSBzY2h3YXJ6ZW4gVHVybSBob2NoIHVlYmVyIGRlciBEYWVtb25lbmJ1cmcuIFVudGVyIERpcgpicmVpdGV0IHNpY2ggZGFzIE1vcmdlbkdyYXVlbiBhdXMuIEluIGFsbGUgdmllciBIaW1tZWxzcmljaHR1bmdlbiBrYW5uc3QKRHUgYmlzIGFuIGRpZSBHcmVuemVuIGRlciBiZWthbm50ZW4gV2VsdCBibGlja2VuLiBHRU5JRVNTRSBESUUgQVVTU0lDSFQhCkFscyBEdSBEZWluZW4gQmxpY2sgZW5kbGljaCB2b24gZGVyIHVlYmVyd2FlbHRpZ2VuZGVuIEF1c3NpY2h0IGxvZXNlbgprYW5uc3QsIGZhZWxsdCBEaXIgZWluZSBrbGVpbmUsIG9mZmVuZSBMdWtlIGltIEJvZGVuIGF1Zi4KRXMgZ2lidCBlaW5lbiBzaWNodGJhcmVuIEF1c2dhbmc6IHVudGVuLgp1bnQgbHVrZQpEaWUgTHVrZSBpc3QgZWhlciBlaW4gTG9jaCBpbSBCb2Rlbi4gRXMgZnVlaHJ0IGxlaWRlciBrZWluZSBMZWl0ZXIgaGludW50ZXIKc28gZGFzcyBEdSBoaW51bnRlcnNwcmluZ2VuIG11c3N0LiBFcyBzaW5kIGV0d2EgdmllciBNZXRlciBiaXMgenVtIEJvZGVuIGRlcwpkYXJ1bnRlciBsaWVnZW5kZW4gU3RvY2t3ZXJrZXMuIFZpZWxsZWljaHQgdmVybGV0enQgRHUgRGljaCBiZWltIFNwcnVuZy4Kc3ByaW5nZSBkdXJjaCBsdWtlCldpZSBiaXR0ZT8Kc3ByaW5nZSBsdWtlCldpZSBiaXR0ZT8Ka2xldHRlciBkdXJjaCBsdWtlCldpZSBiaXR0ZT8Ka2xldHRlciBsdWtlCldpZSBiaXR0ZT8Kc3ByaW5nZSBoaW5hYgpXaWUgYml0dGU/CnNwcmluZ2UgaGludW50ZXIKRHUgc3ByaW5nc3QgYXVzIGRpZXNlciB1bmdsYXVibGljaGVuIEhvZWhlIHZvbSBUdXJtIGhlcnVudGVyIHVuZApzY2hsYWVnc3QgaW0gU3VtcGYgd2llIGVpbiBHZXNjaG9zcyBlaW4uCgoKICAgICAgICAgICAgICAgICAqVCAgSSAgTCAgVCoKCgpOYWJsYXN1bXBmLgpFcyBnaWJ0IGFjaHQgc2ljaHRiYXJlIEF1c2dhZW5nZTogb3N0ZW4sIHN1ZWR3ZXN0ZW4sIHN1ZWRlbiwgd2VzdGVuLCBub3JkZW4sCm5vcmR3ZXN0ZW4sIG5vcmRvc3RlbiB1bmQgc3VlZG9zdGVuLgpFaW4gU3RhaGxzY2hsdWVzc2VsLgpFaW4gU2NobHVlc3NlbC4KW1RvZDpMYXJzXSBFaW4gU2Nod2Vya3JhZnQgaGF0IGdlcmFkZSBZdW5nYSB1bWdlYnJhY2h0LgpbVG9kOkVpbiBTY2h3ZXJrcmFmdF0gTHVlZ2UhIERlciBCb2RlbiBpc3QgZGVyIE1vZXJkZXIhCkRlciBUZWRkeSBrbnVkZGVsdCBEaWNoIGVpbiBsZXR6dGVzIE1hbC4KCkdydXNzCiAgICAgWXVuZ2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdlbmdyYXVlbiB3aXJkIGJlcnVlaG10IChLZXksICA0LiBKYW4gMTk5OCwgMjA6MTA6NDMpOgpJY2ggYmxhZXR0ZXJ0ZSBsZXR6ZSBOYWNodCBuZW4gYmlzc2VybCBpbSBTYXQxIFRleHQsIHVuZCB3YXMgc2VoZSBpY2ggZGE/CkVpbmVuIGhpbndlaXMgYXVmIGRpZSBXV1cgU2VpdGVuIHZvbSBNRyEgOikKRmluZCBpY2ggZ2VpbCA6KQpJc3QgYXVmIFNlaXRlIDUxMSB3YXJzIGdsYXViZSBpY2ggenVmaW5kZW4gOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBFcnptYWdpZXIgKGFydGlrZWwgMjAgdm9uIEJvaW5nIGluIEJla2FubnRtYWNodW5nZW4pIChTaGFyaWEsICA4LiBKYW4gMTk5OCwgMTQ6NTc6NDkpOgoKR3JhdHVsYXRpb24gYW4gUmlrdXMgdW5kIEd1bmR1ciAhISEhISEKCkljaCBmcmV1ZSBtaWNoIHdpcmtsaWNoIHVlYmVyIGRpZXNlIGJlaWRlbiBuZXVlbiBFcnptYWdpZXIgdW5kIGhvZmZlLCBkYXNzIHNpZQp1bnMgbGFuZ2UgZXJoYWx0ZW4gYmxlaWJlbi4uIEhpZXIgaGFiZW4gc2ljaCBkaWUgR29ldHRlciAodW5kIEVyem1hZ2llcikgZnVlcgoyIEVyem1hZ2llciBlbnRzY2hpZWRlbiBkaWUgc2ljaGVybGljaCBuaWNodCBzbyBleHplbnRyaXNjaCBzaW5kIHdpZSBzbyBtYW5jaGUKYW5kZXJlLi4uIApJY2ggaG9mZmUgaWhyIHdlcmRldCBldWNoIGR1cmNoIG1lY2tlcm5kZSBTcGllbGVyIGV0YyBuaWNodCBzbyBzY2huZWxsCnVudGVya3JpZWdlbiBsYXNzZW4gdW5kIGljaCBiaW4gbWlyIHNpY2hlciBpaHIgd2VyZGV0IGV1cmUgQXVmZ2FiZW4gZ3V0CmJld2FlbHRpZ2VuICEhIQoKU2hhcmlhLCBmcm9oIHVlYmVyIGRpZSBuZXVlbiBFcnppZXMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBFcnptYWdpZXIgKGFydGlrZWwgMjAgdm9uIEJvaW5nIGluIEJla2FubnRtYWNodW5nZW4pIChLZXksICA4LiBKYW4gMTk5OCwgMTU6MTI6MjMpOgp+IyEgcm49U2hhcmlhIHJ0PTg4NDI2Nzg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NDI2Nzg2OQpEaWUgZXJzdGUgTWFpbCBrcmllZ3QgUmlrdXMgZ2xlaWNoIDspCkhvZmZlIGVyIGJsZWlidCB0cm90emRlbSBlcnppZSA9OykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIEVyem1hZ2llciAoYXJ0aWtlbCAyMCB2b24gQm9pbmcgaW4gQmVrYW5udG1hY2h1bmdlbikgKFJpa3VzLCAgOC4gSmFuIDE5OTgsIDE1OjE0OjEyKToKfiMhIHJuPUtleSBydD04ODQyNjg3NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODQyNjc4NjkKRGFua2UgYW4gU2hhcmlhIGZ1ZXIgSWhyZSBHbHVlY2t3dWVuc2NoZSEKTWljaCBzY2hvbiB2b2xsbWFpbGVuPyBMYXNzIG1pY2ggZG9jaCBlcnN0bWFsIGVpbmFyYmVpdGVuIDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVzZXVtIChQZXJ0aW5heGUsIDE2LiBKYW4gMTk5OCwgMjM6Mjk6MDMpOgpJY2ggaGFiZSBpbiBtZWluZXIgQW5mYWVuZ2VyemVpdCBkYXMgTXVzZXVtIGFscyBJbmZvcm1hdGlvbnNxdWVsbGUgYmVudXR6dCB1bmQKZmFuZCBkYXMgc2VociBhbmdlbmVobS4gT2ZmZW5zaWNodGxpY2ggYmVmaW5kZXQgc2ljaCBkYXMgTXVzZXVtIGFiZXIgaW0KUHJpdmF0YmVzaXR6IGxhZW5nc3QgZW1pZ3JpZXJ0ZXIgTXVkZGVyLiBNYW4gc29sbHRlIGRhcyBNdXNldW0gZW50d2VkZXIKc2NobGllc3NlbiBvZGVyIHNpY2ggZGllIE1vZWdsaWNoa2VpdCB2ZXJzY2hhZmZlbiwgZXMgenUgYWt0dWFsaXNpZXJlbi4gSW4gZWluCk11c2V1bSwgZGFzIHNvbGFuZ2UgZGllc3NlbGJlIEF1c3N0ZWxsdW5nIHplaWd0LCBnZWh0IG1pdCBSZWNodCBrZWluIFNjaHdlaW4KbWVociBoaW4uCkltIFp3ZWlmZWxzZmFsbGUgd3VlcmRlIGljaCBzb2dhciB2b3JzY2hsYWdlbiwgZGllIEt1bHR1cmd1ZXRlciBkZXMKTW9yZ2VuR3JhdW5lbiB6dSBWb2xrc2VpZ2VudHVtIHp1IGVya2xhZXJlbi4gUmVzdGl0dXRpb25zYW5zcHJ1ZWNoZW4gZGVyCmVoZW1hbGlnZW4gRWlnZW50dWVtZXIga2FubiBtYW4gd29obCBnZWxhc3NlbiBlbnRnZWdlbnNlaGVuIChmaGlzdC4uLikuCkltIFp3ZWlmZWxzZmFsbGUgd3VlcmRlIGljaCBzb2dhciB2b3JzY2hsYWdlbiwgZGllIEt1bHR1cmd1ZXRlciBkZXMKTW9yZ2VuR3JhdWVuIHp1IFZvbGtzZWlnZW50dW0genUgZXJrbGFlcmVuLiBSZXN0aXR1dGlvbnNhbnNwcnVlY2hlbiBkZXIKZWhlbWFsaWdlbiBFaWdlbnR1ZW1lciBrYW5uIG1hbiB3b2hsIGdlbGFzc2VuIGVudGdlZ2Vuc2VoZW4gKGZoaXN0Li4uKS4KUGVydGluYXhlIC0gU2Nod2VpbmVoYXhlLCBGaWd1cmVuYWJzdGF1YmVyaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyYWdlYm9nZW4vVW1mcmFnZSAoQ2F0d2VhemxlLCAyMi4gSmFuIDE5OTgsIDE1OjUwOjI3KToKfiMhIHJuPUVuZGVyIHJ0PTg4NTQ4MDE3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ3OTY4MwpTaWUgZnJhZ3QgamEgaW4gYWxsZW4gTVVEcy4uLmljaCBkZW5rZSwgZGFzIGRhIHUuVS4gd2VpdCBtZWhyIGFscyAyMDAKenVzYW1tZW5rb21tZW4ga29lbm50ZW4gKHdlbm4gc2ljaCBudXIgZ2VudWcgTGV1dGUgbW90aXZpZXJlbiBsYXNzZW4hKS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2Vib2dlbi9VbWZyYWdlIChOaXJkYXZvLCAyMi4gSmFuIDE5OTgsIDE2OjAwOjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODU0ODA2Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODU0Nzk2ODMKICBOYWphLCBnZW51ZWdlbmQgTGV1dGUgd2VyZGVuIGJlc3RpbW10IGluIGRlbiBNVURzIHNlaW4sIHVtIGRpZSAyMDAKdm9sbHp1bWFjaGVuLiBJY2ggaGFiIG1pciBkZW4gQm9nZW4gZWJlbiBtYWwgYW5nZXNjaGF1dCwgdW5kICppY2gqIGthbm4gaWhuCmdhciBuaWNodCB2b2xsc3RhZW5kaWcgYXVzZnVlbGxlbiwgZ2FueiBhbGxlaW4gYXVzIGRlbSBHcnVuZCwgZGFzcyBpY2ggbm9jaApuaWUgbWl0IElSQy9DaGF0IHVtZ2VnYW5nZW4gYmluIChoYWIgaWNoIG1pY2ggamV0enQgZ2VvdXRldD8gKmdydWViZWwqKS4gRGFzCmR1ZXJmdGUgZnVlciBkZW4gQm9nZW4gd29obCBkYXMgZWlnZW50bGljaGUgUHJvYmxlbSBzZWluLCBkZW5uIGVyIGlzdCB3aXJrbGljaAp6aWVtbGljaCB1bWZhbmdyZWljaCwgdW5kIGljaCBiaW4gbWlyIG5pY2h0IHNpY2hlciwgb2IgZXMgZ2VudWVnZW5kIExldXRlCmdpYnQsIGRpZSBhdWYgYWxsZSBGcmFnZW4gZWluZSBtZWhyIG9kZXIgbWluZGVyIGVpbmRldXRpZ2UgQW50d29ydCBnZWJlbgprb2VubmVuLgoKICAgICAgICAgTmlyZGF2bywgZGVyIGRpZSBJZGVlIG5pY2h0IHNjaGxlY2h0IGZpbmRldCwgbnVyIGV0d2FzIGxhbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYWdlYm9nZW4vVW1mcmFnZSAoRW1iZSwgMjIuIEphbiAxOTk4LCAxNjoyNDowOCk6Cn4jISBybj1OaXJkYXZvIHJ0PTg4NTQ4MTI0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ3OTY4Mwp3byBoYXN0IGR1IGluIGRlbSBmcmFnZWJvZ2VuIHdhcyB2b24gSVJDIGdlbGVzZW4/CmljaCBoYWIgZGEgbml4IGVudGRlY2tlbiBrIm9ubmVuLgpkYXMgY2hhdHRlbiBiZXppZWh0IHNpY2ggZG9jaCB3b2hsIGF1ZiBwbGF1ZGVyZWllbiBpbSBtdWQhCgplYmVuZW4gdW50IHRlaWxlIG1pdCB1bmQgc28uLi4uCgpncnVzcywgZU1CZWUuCi0tCm11ZCBhZG1pbmlzdHJhdGlvbiAgU0lMS0UKbWJhZWhyK2VtYmVlQGlhZXN0ZS5vci5hdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZyYWdlYm9nZW4vVW1mcmFnZSAoTmlyZGF2bywgMjIuIEphbiAxOTk4LCAxNjo0OTo0MCk6Cn4jISBybj1FbWJlIHJ0PTg4NTQ4MjY0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ3OTY4MwogTmVlLCBuZWUsIGljaCBoYWIgZ3JhZCBub2NoIG1hbCBuYWNoZ2VzY2hhdXQuIEVzIGdlaHQgaGllciB1bSBlaW5lbgpWZXJnbGVpY2ggZGVzIE11ZGRlbnMgbWl0IGRlbSBDaGF0ICpPSE5FKiBTcGllbGFudGVpbCwgYWxzbyBlaW4gQ2hhdHJvb20gb2RlcgpoYWx0IElSQy4gU3RlaHQgZGlyZWt0IG9iZW4gYXVmIGRlciBlcnN0ZW4gU2VpdGUgZGVzIEZyYWdlYm9nZW5zLi4uIHdlbm4gbWFuCmlobiBzaWNoIGR1cmNobGllc3QuCgogICAgICAgICBOaXJkYXZvLCBoYXQgZG9jaCBrZWluIFNPIHNjaGxlY2h0ZXMgR2VkYWVjaHRuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdlYm9nZW5hbm1lcmt1bmcgKEJpcmR5LCAyMi4gSmFuIDE5OTgsIDE2OjQ5OjQ4KToKCkljaCBoYWJlIGdyYWQgdmVyc3VjaHQsIGRpZSBGcmFnZW4genUgYmVhbnR3b3J0ZW4sIGxlaWRlciBrYW5uIG1hbiBpbW1lciBudXIKc2FoY25lIGVpbnRpcHBlbiwgZGllIDIgWmVpY2hlbiBsYW5nIHNpbmQuIDooCgpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJhZ2Vib2dlbi9VbWZyYWdlIChFbWJlLCAyMi4gSmFuIDE5OTgsIDE3OjQxOjU5KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODg1NDg0MTgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg1NDc5NjgzCmRhcyBzdGltbXQsIGljaCBoYWJzICJ1YmVycHIidWZ0IQpOaXJkYXZvIGhhdCByZWNodC4gKGFiZXIgaWNoIGF1Y2ggOi0pCgp0YXRzImFjaGxpY2ggZ2lidCBlcyBtZWhyZXJlIHZlcnNpb25lbiBkZXMgZnJhZ2Vib2dlbnMsIAp2b24gZGVuZW4gaW1tZXIgZWluZSB6dWYiYWxsaWcgYXVzZ2V3ImFobHQgd2lyZC4KCmdydXNzLCBlTUJlZS4KLS0KbXVkIGFkbWluaXN0cmF0aW9uICBTSUxLRQptYmFlaHIrZW1iZWVAaWFlc3RlLm9yLmF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2Vib2dlbmFubWVya3VuZyAoR3JpbW1ib3JuLCAyMi4gSmFuIDE5OTgsIDIzOjU4OjM0KToKfiMhIHJuPUJpcmR5IHJ0PTg4NTQ4NDE4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ4NDE4OApMaWVzIGRpZSBGcmFnZW4gZ2VuYXVlci4gRXMgZ2VodCBuaWNodCBkYXJ1bSwgZWluenV0cmFnZW4sIHdvaGVyIER1IGtvbW1zdCwKc29uZGVybiBkYXJ1bSwgZWluZSBSZWloZW5mb2xnZSB6dSBlcnN0ZWxsZW4sIG9iIGRpZXNlIElOZm9ybWF0aW9uIGZ1ZXIgRGljaAphbiBlcnN0ZXIsIHp3ZWl0ZXIsIGRyaXR0ZXIgb2RlciB2aWVydGVyIFN0ZWxsZSBrb21tdC4gVW5kIGRhZnVlciByZWljaGVuIDIKWmVpY2hlbiB6dSAyMDAlIGF1cy4uLgoKR2RBCgpQLlMuIEFiZXIgZGVyIEZyYWdlYm9nZW4gaXN0IHRyb3R6ZGVtIHNjaGVpc3NlLiBFcnN0YXVubGljaCwgbWl0IHdhcyBtYW4gYWxsZXMKcHJvbW92aWVyZW4ga2Fubi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZWJvZ2VuYW5tZXJrdW5nIChadWVyaWxldSwgMjMuIEphbiAxOTk4LCAwOTowODowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg1NTA5OTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg1NDg0MTg4ClNhbGksCkFlbW0gZGEgc3RhbmQgd2FzLCBkYXMgZXMgbnVyIGFuIGRldXRzY2hlIE11ZGRlciBnZWh0IGRyaW5uLCBkYXMgaGVpc3N0IGljaAphbHMgU2Nod2VpemVyIGthbm4gZGllc2VuIEZyYWdlYm9nZW4gbmljaHQgYXVzZnVlbGxlbiA/IE9kZXIgV2llIHNlaHQgZGFzIGF1cy4KSWNoIG1laW5lIGljaCB3dWVyZCBtaWNoIGphIGdlcm5lIGRhcmFuIGJldGVpbGlnZW4uIEF1Y2ggd2VubiBkaWUgZnJhZ2VuIG5hamEKZXR3YXMgc2VsdHNhbSBpc3QsIHdhcyBzb2xsIGljaCBtaWNoIGRhcnVtIHNjaGVyZW4gd2l2aWVsIG11ZGRpZXMgZHVtbSBzaW5kID8KClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2Vib2dlbmFubWVya3VuZyAoR3JpbW1ib3JuLCAyMy4gSmFuIDE5OTgsIDA5OjE2OjMxKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg4NTU0Mjg4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ4NDE4OApNYWNoIERpciBrZWluZSBTb3JnZW4sIHdpciBEZXV0c2NoZW4gc2luZCBiZWdhYnRlIChXaWVkZXItKVZlcmVpbmlnZXIuIFZvbiBkZXIKTWFhcyBiaXMgYW4gZGVuIFVyYWwsIHZvbiBkZW0gUG8gYmlzIGFuIGRlbiBCZWx0Li4uIDstKQpBbHNvOiBFaW5mYWNoIGF1c2Z1ZWxsZW4uIElzdCBlaCBmdWVybiBBcl5XSGludGVybi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZWJvZ2VuL1VtZnJhZ2UgKFdhcmdvbiwgMjMuIEphbiAxOTk4LCAxMDoxNjo1Nyk6Cn4jISBybj1FbmRlciBydD04ODU0ODAxNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODU0Nzk2ODMKQWxzbyBiZWltIGxldHp0ZW4gU2F2ZWZpbGUtQXVmcmFldW1lbiBlcmdhYiBzaWNoOgpSZXBvcnQ6IDMzNzIgc2F2ZWZpbGVzIGNoZWNrZWQsIDEyNjggZXhwaXJlZApSZXBvcnQ6IDU1NDUgaW5hY3RpdmUtc2F2ZWZpbGVzIGNoZWNrZWQsIDU1MSBkZWxldGVkCkF1cyBkZXIgZXJzdGVuIFJlcG9ydC1aZWlsZSBlcmdpYnQgc2ljaCwgZGFzcyBlcyBndXQgMjAwMCAoaW4gZGVuIGxldHp0ZW4gdmllcgpXb2NoZW4pIGFrdGl2ZSBDaGFyYWt0ZXJlIGdpYnQuIERhcyB3YWVyZW4gYmVpIDIwMCBSTC1TcGllbGVybiBpbSBTY2huaXR0IDkKWndlaXRpZXMsIHVuZCBpY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGRlciBad2VpdGktU2Nobml0dCBzbyBob2NoIGxpZWd0LgpBbHNvIGR1ZXJmdGUgZGllIFphaGwgZGVyIGFrdGl2ZW4gTXVkZGVyIHVlYmVyIDIwMCBsaWVnZW4uCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmFnZWJvZ2VuL1VtZnJhZ2UgKEVuZGVyLCAyMy4gSmFuIDE5OTgsIDExOjM0OjU0KToKfiMhIHJuPVdhcmdvbiBydD04ODU1NDcwMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODU0Nzk2ODMKRGFzIGlzdCBuZSBBbnR3b3J0LgpFbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYWdlYm9nZW4vVW1mcmFnZSAoR25vbWUsIDIzLiBKYW4gMTk5OCwgMTE6NTk6NDkpOgp+IyEgcm49RW5kZXIgcnQ9ODg1NTUxNjk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg1NDc5NjgzCmFsc28gZGVyIGZyYWdlYm9nZW4gaXMgamEgZ2FueiBuZXR0LCBhYmVyIGRhIGlzIG5lbiBoZWZ0aWdlciBmZWhsZXIgZHJpbi4KaXJnZW5kd28gd2lyZCBnZWZyYWd0LCB3aWUgbWFuIGRpZSBtdWR6ZWl0IHJ1bWJla29tbXQgKHNwaWVsZW4sIGNoYXR0ZW4uLi4pCmRhIGZlaGx0IGdhbnogZWluZGV1dGlnIGRpZSA0LiBvcHRpb246IGlkbGVuISA7LSkpKQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZyYWdlYm9nZW4vVW1mcmFnZSAoR3JpbW1ib3JuLCAyMy4gSmFuIDE5OTgsIDEyOjEyOjUyKToKfiMhIHJuPUdub21lIHJ0PTg4NTU1MzE4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ3OTY4MwpXZXIgdmVybGFuZ3QsIGRhc3Mgc2ljaCBkYXMgYXVmIDEwMCUgc3VtbWllcmVuIG11c3M/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYWdlYm9nZW4vVW1mcmFnZSAoRnl0LCAyNi4gSmFuIDE5OTgsIDEwOjUyOjU5KToKfiMhIHJuPVdhcmdvbiBydD04ODU1NDcwMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODU0Nzk2ODMKCldhcyBzaW5kIGhpZXIgZWlnZW50bGljaCBkaWUgS3JpdGVyaWVuIGZ1ZXIncyBMb2VzY2hlbj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGR1bWxhdWZzdGF0aXN0aWsgKFNseWZveCwgMjYuIEphbiAxOTk4LCAxNzowODo1Nik6Ck1pY2ggd3VlcmQgbWFsIGVpbmUgZm9sZ2VuZGUgU3RhdGlzdGlrIGludGVyZXNzaWVyZW46CgotIEluIHdlbGNoZW4gTGFlZGVuIHdpcmQgYW0gbWVpc3RlbiB2ZXJrYXVmdCB1bmQgd2lldmllbCBHZWxkIGdlYmVuIGRpZSBzbwp0YWVnbGljaC4KLSBXbyB3aXJkIGFtIG1laXN0ZW4gR2VsZCBhdXNnZWdlYmVuIChGcmllZGhvZiB3b2hsPykgdW5kIHdpZXZpZWwgR2VsZCBmbGllc3N0CmRhIHNvCiAgdGFlZ2xpY2guIChTY2hhZXR6ZSBtYWwsIGRhcyBnaWJ0ICduZSA4c3RlbGxpZ2UgU3VtbWU/KQotIFdlbGNoZSBMYWVkZW4gKHdvIG1hbiBhdWNoIHdhcyB2ZXJrYXVmZW4ga2FubiksIHdlcmRlbiBhbSBzZWx0ZW5zdGVuCmJlc3VjaHQ/CiAgKERhIHRpcHBlIGljaCBtYWwgYXVmIEhpbGJlcnQncyBUdXJtLCBpc3QgamEgYXVjaCAnbmUgaGFsYmUgUXVlc3QpLgoKICAgIFNseWZveAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG9wcGVsdGVyIEV4dHJhbG9vayAoR3VuZHVyLCAyNy4gSmFuIDE5OTgsIDE1OjU4OjAzKToKSGkKRGVyIGRvcHBlbHRlIEV4dHJhbG9vayBkZW4gbWFuIGJlaW0gdW50ZXJzdWNoZW4gZWluZXMgYW5kZXJlbiBTcGllbGVycyBoYXQKKGRhcyBiZWluaGFsdGV0IEZyZXVuZGUgZGVzIEZyZXVuZHNjaGFmdHNiYW5kZXMpIHdpcmQgbmFjaCBFbmRlIG9kZXIgcmVib290CndlZyBzZWluCkhvZmYgaWNoIDotKQpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvbWVwYWdlcyB2b24gTW9yZ2VuZ3JhdSdsZXJuIChSb25kYSwgIDMuIEZlYiAxOTk4LCAxMjoxMzo0Nyk6CkhpLAppY2ggd29sbHRlIG51ciBtYWwgZnJhZ2VuLCBvYiBlcyBub2NoIHdlaXRlcmUgU3BpZWxlciBpbSBNb3JnZW5ncmF1ZW4gZ2lidCwKZGllIGVpZ2VuZSBIb21lcGFnZXMgaGFiZW4gLSBlcyBrYW5uIGRvY2ggbmljaHQgc2VpbiwgZGFzcyBudXIgY2EgMzAgbGV1dGUKZWlnZW5lIFNlaXRlbiBoYWJlbiwgb2Rlcj8gPTopClNjaGF1dCBkb2NoIGJpdHRlIGVpbmZhY2ggbWFsIG5hY2gsIG9iIElociBhdWYgZGVyIFNlaXRlCmh0dHA6Ly9tZW1iZXJzLnRyaXBvZC5jb20vfmhlZGRlcmljaC9tZy5odG1sCnNjaG9uIGRyYXVmIHNlaWQ/IE9kZXIgd2lyZCBkaWUgcHJvcGVydHkgUF9IT01FUEFHRSBkb2NoIGluIGRlbiBGaW5nZXIKZWluZ2ViYXV0IChvZGVyIC0gcGVpbmxpY2ggLSBpc3RzIHNjaG9uIGRyaW4/KQpUc2NodWVzcywKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaVC1GZWhsZXIgKFphcGhvYiwgIDMuIEZlYiAxOTk4LCAxOTo0MzozMSk6Ck1pciB3dXJkZSBhdWZnZXRyYWdlbiwgZWluZW4gQXJ0aWtlbCB1ZWJlciBlaW5lbiBGZWhsZXIgaW0gWlQtU3lzdGVtIHp1CnNjaHJlaWJlbiwgbmFjaGRlbSBkZXIgYnVnLWJlZmVobCBudXR6bG9zIGJlbnV0eiB3dXJkZToKClVuZCB6d2FyIGhhbmRlbHQgZXMgc2ljaCB1bSBkZW4gdHlwby1aVC4KRGllIGJldHJlZmZlbmRlIFBlcnNvbiB3YXIgZ2Vpc3QsIGFscyBzaWUgZGVuIFpUIGF1ZnNhbW1lbHRlLCB1bmQgZXJoaWVsdCBkaWUKTWVsZHVuZyAiRWluZW4gWlQgYWxzIEdlaXN0LCBoaWVyIG5pY2h0ISIKTnVuIGd1dCwgZGFjaHRlIGRpZSBQZXJzbywgZ2luZyBiZXRlbiwga2FtIHp1cnVlY2sgdW5kIGRlciBaVCB3YXIgd2VnLCBkaWVzCm51biBzY2hvbiBzZWl0IGNhIDEgTW9uYXQuCkRhcyBpc3QgaXJnZW5kd2llIGR1bW0sIGRhIGRlciBzcHJ1Y2ggbm9jaCBpbiBkZXIgbGlzdGUgc3RlaHQuCk1pdCBkZXIgQml0dGUgdW0gQWVuZGVydW5nLAoJCQlaYXBob2IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb21lcGFnZXMgdm9uIE1vcmdlbmdyYXUnbGVybiAoUm9uZGEsICA0LiBGZWIgMTk5OCwgMTM6NDc6MjcpOgp+IyEgcm49Um9uZGEgcnQ9ODg2NTA0NDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg2NTA0NDI3CkhpLApzbywgZGllIEFlbmRlcnVuZ2VuIHNpbmQgZHJpbiAtIGJpdHRlIGVudHNjaHVsZGlndCwgZGFzcyBpY2ggbmljaHQgamVkZW0gdm9uCkVjdWggZWluZSBNYWlsIGRlc3dlZ2VuIHNjaHJlaWJlIChlaWdlbnRsaWNoIGhhZXR0ZSBpY2ggamEgYXVjaCBkaWUgU2VpdGUKbmljaHQgdXBkYXRlbiBzb2xsZW4gLSBhYmVyIFByb2dyYW1taWVyZW4gbWFjaHQgaGFsdCBtZWhyIFNwYXNzIGFscyBBbnRyYWVnZQpzY2hyZWliZW4gOikgKQpUc2NodWVzcywKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWdnZXIgdW50ZXJ3ZWdzIChIYXJkaWwsICA0LiBGZWIgMTk5OCwgMTQ6MzY6NDcpOgoKSW4gZGVyIERvcnRtdW5kZXIgQ2FtcHVzLVplaXR1bmcgSW5ET3BlbmRlbnQgZXJzY2hpZW4gaW4gZGVyIGdlc3RyaWdlbiBBdXNnYWJlCmVpbiBBcnRpa2VsLCBpbiBkZW0gZGllIEF1dG9yaW4gdWViZXIgR2VzY2hsZWNodGVydGF1c2NoIGltIEludGVybmV0IHNjaHJlaWJ0LgoKRnVlciBMZXV0ZSwgZGllIGdlcm5lIHVudGVyIGZhbHNjaGVyIEZsYWdnZSBiYWdnZXJuIHdvbGxlbiwgd2lyZCBhbHMKSW50ZXJuZXQtQWRyZXNzZSB2b3IgYWxsZW0gZGFzIE1HIGdlbmFubnQgKGFscyBlaW56aWdlcyBNdWQgbmFtZW50bGljaCkuCgpGYWxscyBlcyBpbiBkZW4gbmFlY2hzdGVuIFRhZ2VuIGFsc28genUgaGFldWZpZ2VuIEJhZ2dlcnZlcnN1Y2hlbiB2b24gYXVzCkRvcnRtdW5kIGVpbmdlbG9nZ3RlbiBBbmZhZW5nZXJuIGtvbW10Li4uCgotSGFyZGlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhZ2dlciB1bnRlcndlZ3MgKEdyaW1tYm9ybiwgIDQuIEZlYiAxOTk4LCAyMTo1MDoxMik6Cn4jISBybj1IYXJkaWwgcnQ9ODg2NTk5NDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg2NTk5NDA3ClZlcmRhbW10LCBiaW4gaWNoIGV0d2EgYWxzIHJsLUZyYXUgZW50dGFybnQgd29yZGVuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhZ2dlciB1bnRlcndlZ3MgKEhhdGUsICA1LiBGZWIgMTk5OCwgMTI6Mzg6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NjYyNTQxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NjU5OTQwNwpodHRwOi8vd3d3LmluZG9uZXQuZGUvYXJ0aWtlbC5waHRtbD9hcnRpa2VsPW1hY2hvODAKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyYWdlYm9nZW4gKE9uamEsICA1LiBGZWIgMTk5OCwgMTY6MTc6MjkpOgpIaSBMZXV0ZW4KLApoYWIgZ3JhZCBlbnRkZWNrdCwgZGFzcyBkYSBqYSB2b2xsIGRpZSBLb21tZW50YXJlIHp1IG1laW5lbSBGcmFnZWJvZ2VuIHN0ZWhlbi4KSG0sIGVyc3RtYWwgenVtIFN0YW5kOgpJY2ggaGFiIGpldHp0IDE0NywgZGFzIGlzdCBmaW5kZSBpY2ggZnVlciB6d2VpIFdvY2hlbiBuaWNodCBzY2hsZWNodC4KVW5kIGljaCBob2ZmZSwgaWNoIGtyaWVnIGRpZSByZXN0bGljaGVuIGF1Y2ggbm9jaCBiaXMgTWl0dGUgb2RlciBzcGFldGVzdGVucwpFbmRlIEZlYnJ1YXIuClRqYSwgZGFzcyBlcyBtZWhyZXJlIEZhc3N1bmdlbiBnaWJ0LCBoYWJ0IGlociBqYSBzY2hvbiBnZW1lcmt0LCBpY2ggd2VyZGUgYXVjaApzcGFldGVyIGVya2xhZXJlbiwgd2FydW0gdW5kIHdhcyBkYXMgYWxsZXMgc29sbHRlLgpVbmQgd2FzIGRpZSBldHdhcyBzZWx0c2FtZW4gRnJhZ2VuIHNvbGxlbiwgamVkZW5mYWxscyBpc3QgZXMgbmljaHQgc28gc2NobGltbSwKd2VubiBqZW1hbmQgamV0enQga2VpbmUgMTAwIENoYXR0ZXIga2VubnQuClVuZCB6dW0gVGhlbWEsIG9iIGF1Y2ggc2Nod2VpemVyIG1pdG1hY2hlbiBkdWVyZmVuOiBpY2ggaGFiIGpldHp0IHNjaG9uIHBhYXIKQXVzbGFlbmRlciBkcmluLCBkYSBwYXNzZW4gaGFsdCBoaW50ZW4gZWluaWdlIEZyYWdlbiBuaWNodCwgd2VubiBtYW4gZGllCndlZ2xhZXNzdCwgZ2VodCBlcyBhYmVyLgpBbHNvIG5vY2htYWwgZGFua2UgYW4gYWxsZSwgZGllIGJpc2hlciBtaXRnZW1hY2h0IGhhYmVuLAp1bmQgYW4gZGllIGFuZGVyZW4gZGllIEJpdHRlLGRvY2ggbWFsIGVpbmVuIGF1c3p1ZnVlbGVuLCBhdWNoIHdlbm5zIG5lIFdlaWxlCmRhdWVydC4gQWJlciBpcyBoYWx0IG5lIERpc3MgdW5kIGtlaW5lIFNlbWluYXJhcmJlaXQuClp1ciBFcmlubmVydW5nLCBkZXIgaXN0IGF1ZjoKaHR0cDovL3d3dy5rdS1laWNoc3RhZXR0LmRlL211ZC5odG0KCkRhbmtlLAoKT25qYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVnIGluIFF1ZXN0IChSb2NodXMsICA1LiBGZWIgMTk5OCwgMjA6MDI6MjUpOgpEaWUgUXVlc3Qgdm9uIEFyayAoIkRhcyBBdWdlIGRlcyBUZXVmZWxzIikgaGF0IGVpbmlnZSBCdWdzLCB3ZXIKZGllIHNwaWVsZW4gd2lsbCBzb2xsdGUgYmVzc2VyIG5vY2ggZWluaWdlIFRhZ2Ugd2FydGVuLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdWcgaW4gUXVlc3QgKEd1bmR1ciwgIDUuIEZlYiAxOTk4LCAyMTowMzowOSk6Cn4jISBybj1Sb2NodXMgcnQ9ODg2NzA1MzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg2NzA1MzQ1CkhpCkhhYiBkZW4gQnVnIGluIGRlciBUZXVmZWxzcXVlc3QgbWFsIGdlZml4ZWQuIApXZW5uIG1hbiBuaWNodCBhbGxlcyBzZWxic3QgbWFjaHQuCk1pc3NyYXRlbmUgS2luZGVyIQpHcnVlc3NlIHZvbgpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnVnIGluIFF1ZXN0IChBcmssICA2LiBGZWIgMTk5OCwgMDg6Mzg6NDcpOgp+IyEgcm49R3VuZHVyIHJ0PTg4NjcwODk4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NjcwNTM0NQpIbSwgc29ycnksIGVzIHNvbGx0ZSBqZXR6dCBnZWhlbiAqZXJyb2V0Ki4gQWJlciBzbyBpc3NlcyBoYWx0LApkaWUgTnVsbGZlaGxlcnN0cmF0ZWdpZSBpc3QgaGFsdCBzY2h3ZXIgZWluenVoYWx0ZW4gOi0pIERhbmtlIGFuCmFsbGUgR2VkdWxkaWdlbi4KVW5kIGljaCBiaW4gTklDSFQgbWlzc3JhdGVuLCBnZWxsZSA/IQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmFnZWJvZ2VuIChSYWZmaSwgIDkuIEZlYiAxOTk4LCAxNjo0ODoxOSk6Cn4jISBybj1PbmphIHJ0PTg4NjY5MTg0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NjY5MTg0OQpEYXMgRGV1dHNjaCBkZXMgRnJhZ2Vib2dlbnMga29lbm50ZSBldHdhcyB2ZXJiZXNzZXJ1bmcgdmVydHJhZ2VuLgoKTXVkZGVySW5uZW4gLi4uIHBmZmZmZnQuCgpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJhZ2Vib2dlbmFubWVya3VuZyAoUmFmZmksICA5LiBGZWIgMTk5OCwgMTY6NDg6NDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NTU0MzM5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NTQ4NDE4OApQc3Nzc3QsIGRhIGdpYnRzIExldXRlIGltIGZlcm5lbiBPc3RlbiBkaWUgc2ljaCBhdWYgZGVuIFNjaGxpcHMgZ2V0cmV0ZW4KZnVlaGxlbiBrb2VubnRlbi4KCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhZGUgZWJlbiBnZWZ1bmRlbiAhIChUYW5nYWx1ciwgMTAuIEZlYiAxOTk4LCAxMjowODowOSk6CkhhYmUgZGFzIGdyYWRlIGViZW4gZ2VmdW5kZW4uLi4KVG9sZXJhbnogaXN0IGRhcyB1bmJlaGFnbGljaGUgR2VmdWVobCwgCmRlciBhbmRlcmUga29lbm50ZSBhbSBFbmRlIHZpZWxsZWljaHQgCmRvY2ggcmVjaHQgaGFiZW4uCgogICAgICAgICAgICAgICAgICAgICAgICAgICBSb2JlcnQgRnJvc3QKCgpUYW5nYWx1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFzc2VuIChNaW5nbywgMTIuIEZlYiAxOTk4LCAyMTowOTozMik6CldpZSBpc3QgamV0enQgZWlnZW50bGljaCBzbyBkaWUgVmVydGVpbHVuZyBkZXIgUmFzc2VuPyBXaWV2aWVsIFNwaWVsZXIKb2RlciBTZWhlciB1ZWJlciBMZXZlbCAyMCAobWFsIHNvIHdpbGxrdWVybGljaCkgc2luZCBad2VyZ2V8fEVsZmVufHwKSG9iYml0c3x8TWVuc2NoZW4/CgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZWluc21pdGdsaWVkZXIgZGVzIE1nIGUuVi4gKFZpcGVyLCAxMi4gRmViIDE5OTgsIDIxOjM3OjI5KToKSGFsbGxvZWNoZW4gbGllYmUgTWl0Z2xpZWRlciwKCnNjaGF1dCBkb2NoIGJpdHRlIG1hbCBpbiBkZXIgUnVicmlrIG1vcmdlbmdyYXVlbi52ZXJlaW4gbmFjaC4KClNvbGx0ZSBtYW4gdWViZXJoYXVwdCBhYiB1bmQgenUgbWFsIHR1bi4uLgoKQmlzIGRhbm4KClZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZWJvZ2VuIChQZXJ0aW5heGUsIDEzLiBGZWIgMTk5OCwgMjI6MDM6MDkpOgpTY2hlaW50IGRhc3MgZGVyIEZyYWdlYm9nZW4gbmljaHQgbWl0IE11ZGRlcm4gdm9uIGF1c3NlcmhhbGIgZGVyIFZlcmVpbmlndGVuClN0YWF0ZW4gdm9uIERldXRzY2hsYW5kIHJlY2huZXQsIG9mZmVuc2ljaHRsaWNoIHdpcmQgYXVjaCBkYXZvbiBhdXNnZWdhbmdlbgpkYXNzIGFsbGUgTXVkZGVyIFN0dWRlbnRlbiBzaW5kLiBIbW0gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVyYWVuZGVydW5nZW4gaW0gTUcgKFN0aW5nLCAxNC4gRmViIDE5OTgsIDExOjE4OjIyKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg4NzQ1MDMzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzQ1MDMzNQpIbW0sIGlzdCBkYXMgamV0enQgZGVpbiBFcm5zdCwgb2RlciB3YXIgZGFzICpJcm9uaWUgb24qID8KClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYXNzZW4gKFN0aW5nLCAxNS4gRmViIDE5OTgsIDExOjMzOjM0KToKSG1tLi4uCkFsc28gaWNoIG11c3MgamV0enQgZG9jaCBtYWwgd2FzIHNjaHJlaWJlbi4uLiBTb3JyeSwgYWJlciBzbyB3aWUgaWNoCm1pdGJla29tbWVuIGhhYmUgc2luZCBmYXN0IGFsbGUgUmFzc2VuLUdpbGRlbi1Lb21iaW5hdGlvbmVuIG1pdCBGcmFua2Vuc3RlaW4KbWFjaGJhci4uLgpJY2ggcGVyc29lbmxpY2ggaGFsdGUgZGFzIGZ1ZXIgX2dhbnpfZ3Jvc3Nlbl8gTWlzdC4gSW4gbmFoZXIgWnVrdW5mdCB3ZXJkZW4KaGllciBmYXN0IG51ciBub2NoIG9wdGltYWwgYWJnZXN0aW1tdGUgRXJzdGllcyBydW1sYXVmZW4sIHVuZCBuaWNodCwgd2llCmJpc2hlciBudXIgZGllIFp3ZWl0aWVzLiBVbmQgZGFzIGhhbHRlIGljaCBmdWVyIGRlciBBdG1vc3BoYWVyZSB1bmQgYXVjaCBkZXIKQmFsYW5jZSBuaWNodCB1bmJlZGluZ3QgenV0cmFlZ2xpY2guCk5hamEsIG1laW5lIE1laW51bmcuCgpTdGluZywgRWxmIGF1cyBVZWJlcnpldWd1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmFzc2VuIChIYW5nb3ZlciwgMTUuIEZlYiAxOTk4LCAxMjowNDozMSk6Cn4jISBybj1TdGluZyBydD04ODc1Mzg4MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc1Mzg4MTQKTW9pbiEKClNvbGFuZ2UgZXMgaXJnZW5kZWluZSBNb2VnbGljaGtlaXQgZ2lidCwgc2ljaCBWb3J0ZWlsZSB6dSB2ZXJzY2hhZmZlbiwKZWdhbCB3aWV2aWVsIEF0bW9zcGhhZXJlIGRhcyBhdWNoIGtvc3RlbiBtYWcsIHdpcmQgZXMgU3BpZWxlciBnZWJlbiwKZGllIGRpZXNlIE1vZWdsaWNoa2VpdGVuIG51dHplbiB3ZXJkZW4sIFN0aW5nLgpEYXJhbiB3aXJkIHNpY2ggKG1laW5lciBNZWludW5nIG5hY2gpIG5pZSBldHdhcyBhZW5kZXJuLgoKSGFuZ292ZXIKKGF1Y2ggTW9udGFnIG5vY2ggTWVuc2NoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSYXNzZW4gKFN0aW5nLCAxNS4gRmViIDE5OTgsIDEyOjMzOjM0KToKfiMhIHJuPUhhbmdvdmVyIHJ0PTg4NzU0MDY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzUzODgxNApMZWlkZXIuCgpTdGluZywgYXVjaCBtYWwgZWluemVpbGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSYXNzZW4gKFd1cnplbCwgMTUuIEZlYiAxOTk4LCAxMjozODo0Myk6Cn4jISBybj1IYW5nb3ZlciBydD04ODc1NDA2NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc1Mzg4MTQKbnVuamEuIGVyc3RlbnMgd2lyZCBlcyBuaWNodCBhbGxlIHJhc3Nlbi1naWxkZW4ta29tYmluYXRpb25lbiBnZWJlbiwgd2FzCm5pY2h0IHp1bGFlc3NpZyBpc3QgaXN0IGViZW4gbmljaHQgenVsYWVzc2lnLiBlcyB3aXJkIHdlaXRlcmhpbiBrZWluZSAKaG9iYml0cyBiZWkgZGVuIGNoYW90ZW4gZ2ViZW4sIHVuZCBmZWxpbmVuIGhhYmVuIGJlaSBkZW4ga2xlcmlrZXJuIG5pY2h0cwp2ZXJsb3Jlbi4gdHJ2ZXMgd2VyZGVuIHp1bWluZGVzdCB2b3JsYWV1ZmlnIGlocmUgcmFzc2UgbmljaHQgd2VjaHNlbG4Ka29lbm5lbiAoaGF0IHUuYS4gYXVjaCB0ZWNobmlzY2hlIGdydWVuZGUpLgp6d2VpdGVucyBoYWIgaWNoIGJpc2hlciB2b24gYWxsZW4gZ2Vob2VydCwgZGFzcyBzaWUgYmVpIGlocmVyIHJhc3NlIGJsZWliZW4Kd29sbGVuLCBzaWVoZSBvYmVuLiB3ZW5uIGVzIG5hY2ggZGVyIG1wYS1tZWludW5nIGdpbmdlIGhhZXR0ZSBpY2ggbWlyIGRpZQphcmJlaXQgc3BhcmVuIGtvZW5uZW4uIApuYXR1ZXJsaWNoIHdpcmQgZXMgbGV1dGUgZ2ViZW4sIGRpZSBpaHJlIGNoYXJha3RlcmUgb3B0aW1pZXJlbiB3b2xsZW4uIGphCnVuZD8gZGFzIGlzdCBub3JtYWwsIGRpZXNlIGxldXRlIHN1Y2hlbiBzaWNoIGphIGF1Y2ggbWVpc3RlbnMgZGllIHN0YWVya3N0ZW4KZ2lsZGVuIGF1cy4gdW5kIGRpZSBnaWxkZW51bnRlcnNjaGllZGUgc2luZCB1bSBncm9lc3Nlbm9yZG51bmdlbiBzdGFlcmtlcgphbHMgZGllIHJhc3NlbnVudGVyc2NoaWVkZS4KaWNoIGdsYXViZSBuaWNodCwgZGFzcyB2aWVsZSBlcnN0aWVzIGZyYW5rZW5zdGVpbiBhdWZzdWNoZW4gd2VyZGVuLCBkYXMgaXN0CndvaGwgZWhlciB3YXMgZnVlciB6d2VpdGllcywgd2VubiBlcyBkZW5uIHNjaG9uIHVlYmVyaGF1cHQgb3B0aW1pZXJ1bmcgc2Vpbgpzb2xsLgpkZXIgZ3J1bmRnZWRhbmtlIGlzdCBhYmVyIGVpbiBnYW56IGFuZGVyZXI6IHdlciBtZWludCwgZGFzcyBzaWNoIHNlaW5lIGZpZ3VyCmVpZ2VudGxpY2ggYmVzc2VyIGluIGVpbmVyIGFuZGVyZW4gcmFzc2UgbWFjaHQsIHdlZ2VuIHVtZmVsZCB1bmQgZGVyCnJhc3NlbnNwZXppZmlzY2hlbiBhdG1vc3BoYWVyZSwgc29sbCBkaWUgbW9lZ2xpY2hrZWl0IGJla29tbWVuIHp1IHdlY2hzZWxuLgp1bmQgendhciBlaW5tYWxpZywgaGFldWZpZ2VyIGtvZW5uZW4gbnVyIHRlc3RzcGllbGVyIHdlY2hzZWxuLgppY2ggZGVua2UgbmljaHQgYWxsenUgdmllbGUgd2VyZGVuIGRhdm9uIGdlYnJhdWNoIG1hY2hlbi4gZXMgZ2lidCBkb2NoIGVpbmUKbWVuZ2Ugdm9uIHNwaWVsZXJuLCBkaWUgc2ljaCBtaXQgaWhyZXIgcmFzc2UgYXVjaCBqZXR6dCBzY2hvbiBpZGVudGlmaXppZXJlbi4KYXVjaCB3ZW5uIGljaCBtYW5jaG1hbCBwcm9ibGVtZSBoYWJlLCBpbiByaW5nb3IgZGVuIGtsZWluZW4gYmFlcnRpZ2VuIHp3ZXJnCnp1IHNlaGVuLCBkZXIgZ3JhemlsZSBmZWxpbmUgd3VlcmRlIG1pciBub2NoIHNjaHdlcmVyIGZhbGxlbiA6KSB1bmQgaWNoCm5laG1lIG1hbCBhbiBkYXNzIGRhcyBzbyBvZGVyIGFlaG5saWNoIHZpZWxlbiBhbmRlcmVuIGdlaHQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJhc3NlbiAoUmluZ29yLCAxNS4gRmViIDE5OTgsIDIxOjUwOjU2KToKfiMhIHJuPVd1cnplbCBydD04ODc1NDI3MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc1Mzg4MTQKV2VyIGhhdCBEaXIgZWlnZW50bGljaCBlcnphZWhsdCwgZGFzcyBEdSBEaXIgaW4gbWlyIGVpbmVuIF9rbGVpbmVuXyBiYWVydGlnZW4KWndlcmcgdm9yc3RlbGxlbiBzb2xsc3Q/IEltbWVyaGluIG1lc3NlIGljaCBzdG9semUgMTIwY20gdW5kIGhhYiBkYW1pdApJZGVhbGdyb2Vzc2UgZnVlciBlaW5lbiBad2VyZy4gSmF3b2xsIQoKUmluZ29yLiBTdGVodCBhdWNoIG5hY2ggTW9udGFnIG5vY2ggenUgc2VpbmVtIEJhcnQuCgpQLlM6IEJlaSBkZXIgRWluZnVlaHJ1bmcgZGVyIEZQcyBnYWIgZXMgZnVlciBkaWUgIkFsdCItU2VoZXIga2VpbmUgd2llIGF1Y2gKaW1tZXIgZ2VhcnRldGUgRW50c2NoYWVkaWd1bmcsIHVuZCBkYXMgR2VzY2hyZWkgd2FyICh2ZXJzdGFlbmRsaWNoZXJ3ZWlzZSkKZ3Jvc3MuIEpldHp0IHNvbGwgZGVuIGFsdGVuIFNwaWVsZXJuIGRpZSBNb2VnbGljaGtlaXQgZ2VnZWJlbiB3ZXJkZW4sIGRlbgpOYWNodGVpbCBnZWdlbnVlYmVyIG5ldWVuIFNwaWVsZXJuIGF1c2dsZWljaGVuIHp1IGtvZW5uZW4sIGRhIGdlaHQgZGFzCkdlc2NocmVpIHdpZWRlciBsb3M/CgpXYXMgd2FlcmUgZGVubiBkaWUgS29uc2VxdWVueiwgd2VubiBtYW4gc2VpbmUgUmFzc2UgbmljaHQgd2VjaHNlbG4gZHVlcmZ0ZQooYWJnZXNlaGVuIHZvbiBqZWRlciBNZW5nZSBBcnRpa2VsbiBpbiBkZXIgTVBBKT8gT2theSwgZ2V3aXNzZSBzZWhyIGhvaGUKQmllcnNjaHVldHRsZXIgZHVlcmZ0ZW4gbmljaHQgenUgSG9iYml0cyB3ZXJkZW4sIHVtIGRhbm4gbm9jaCBob2VoZXJlCkdlc2NoaWNrbGljaGtlaXQgenUgZXJsYW5nZW4uIEFiZXIgZGFmdWVyIHd1ZXJkZW4gd2llZGVyIGVpbmlnZSBFcnN0aWVzCnZlcnN0YXViZW4gdW5kIG5ldWUgIm9wdGltYWwgYWJnZXN0aW1tdGUiIFp3ZWl0aWVzIGVudHN0ZWhlbi4KCkVocmxpY2ggZ2VzYWd0IGlzdCBtaXIgamVkZXIgJ2VjaHRlJyBFcnN0aWUgKEZyYW5rZW5zdGVpbiBoaW4gb2RlciBoZXIpCmxpZWJlciwgYWxzIEhvcmRlbiB2b24gQXVzcnVlc3R1bmdzLSwgU3BlbmRpZXJlLSwgUnVlc3RlLSwgS3VyaWVyZS0sIEJhbmstCm9kZXIgJ0ljaCBicmF1Y2hlIGluIGplZGVyIEdpbGRlIGVpbmVuJy1YdGllcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYXNzZW4gKEtleSwgMTYuIEZlYiAxOTk4LCAwOTozNDo0MSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODg3NTQyNzIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NTM4ODE0CkFsc28gZXJzdG1hbCBEYW5rZSBXdXJ6ZWwgZnVlciBkaWUgQXJiZWl0IDopCgpJY2ggZGVua2UgYXVjaCBkYXMgZGllIEVyc3RpZXMgZGllIHdhcyBhdWYgc2ljaCBoYWx0ZW4gaW4gZGVyIFJhc3NlIGJsZWlvYmVuCmluIGRlciBzaWUgc2luZCA6KQpJY2ggYmluIEVsZiB1bmQgYmxlaWJzIC4pIE5hamEgdW5kIHZvbiBtZWluZW0gWndlaXRpZXMgd2lyZCB2b3JyYXVzaWNodGxpY2gKbnVyIGVpbmVyIGRpZSBSYXNzZSB3ZWNoc2VsbiA6KSAoTmVtIGdlc2NoZW5rdGVuIEdhdWwgc2NoYXV0IG1hbiBuaWNodCBpbnMKTWF1bCwgYWxzbyBuZW0gZ2VzY2hlbmt0ZW4gWndlaXRpZSBuZXQgYXVmIGRpZSBSYXNzZSwgYWJlciBkYSBlcyBqZXR6dCBkaWUKTW9lZ2xpY2hrZWl0IGdpYnQgLi4uKSA6KSkKClVuZCB1bnMgc28gZGllIGZyZWllIFdhaGwgenUgbGFzc2VuIG9iIHdpciBSYXNzZSB3ZWNoc2VsbiBvZGVyIG5pY2h0LCBpc3QgZG9jaAptYWwgd2llZGVyIGVpbiBGb3J0c2Nocml0dC4KCktleSAoRWxmKSBzYWd0OiBad2VyZ2Ugc2luZCBkb29mIHVuZCBzdGlua2VuISA9OykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhlZWUuLi4gTk5BRFcgaXN0IGZpZXMgKFRoZXJpbiwgMTYuIEZlYiAxOTk4LCAyMDoxNjoyMyk6CgpJaHIgc29sbHRldCBtYWwgbWVociBzY2hyZWliZW4sIG9kZXIgd2FzIHNvbGwgbWFuIGluIGRlbiB0YW5raWRsZXBhdXNlbiBzb25zdAptYWNoZW4gOi0pCgpUaGVyaW4sIHNjaG1hcnJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhlZWUuLi4gTk5BRFcgaXN0IGZpZXMgKEx1ZywgMTYuIEZlYiAxOTk4LCAyMDoxNzoxMyk6Cn4jISBybj1UaGVyaW4gcnQ9ODg3NjU2NTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjU2NTgzCk1vaW4sCgpnZW5hdSBkYXMgc2FnZSBpY2ggYXVjaCBpbW1lciEgQWJlciBlcyBob2VydCBqYSBrZWluZXIgYXVmIG1pY2guCgpGaWRLRwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhbmtlbiAoQ3lyYXgsIDE2LiBGZWIgMTk5OCwgMjM6MTQ6MjApOgpJY2ggZmluZGUgZGFzIG5ldWUgdGFua3N5c3RlbSB3aWUgdmllbGUgbGV1dGUgdG90YWwgYmVrbmFja3QgZGEgZXMga2VpbmVuCnNwYXNzIG1laHIgbWFjaHQgenUgbWV0emVsbiB1bmQgZGFzIHppZW1saWNoIHZpZWwgc3BpZWxzcGFzcyB3ZWduaW1tdCAuLi4uCmVpbmUgU3BpZWxlciB3dXJkZSBzY2hvbiByYXVzZ2Vla2VsdCBkZXN3ZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhbmtlbiAoQ3lyYXgsIDE2LiBGZWIgMTk5OCwgMjM6MTg6NTApOgpOb2NobWFsIGljaC4KQWxzbyBpY2ggZmluZGUgZGFzIG5ldWUgc3lzdGVtIHNjaGxlY2h0IGRhIGVzIGV3aWcgZGF1ZXJ0IGJpcyBtYW4gdm9sbCBpc3QKd2VubiBtYW4gc292aWVsIGF1c2RhdWVyIGhhdCB3aWUgZGllIHp3ZXJnZSBvZGVyIG1pdCByaW5nZW4gb2RlciBzbyAuLi4uClVuZCBiaXMgZGFoaW4gaXN0IGRhcyB2aWVjaCB3aWVkZXIgZWluIGJpc3NjaGVuIHZvbGxlciB1bmQgZXMgd2lyZCAxLgpTYXVzY2h3ZXIgdW5kIDIuIHRvdGFsIGxhbmd3aWVyaWcKQWxzbyBzdGltbXQgZG9jaCBhbGxlIGdlZ2VuIGRhcyBuZXVlIHN5c3RlbSB2aWVsbGVpY2h0IGJla29tbWVuIHdpciBkYW5uIGRhcwphbHRlIHdpZWRlci4KRGFua2UgQ3lyYXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYW5rZW4gKE1pbmdvLCAxNi4gRmViIDE5OTgsIDIzOjMxOjI5KToKfiMhIHJuPUN5cmF4IHJ0PTg4NzY2NzUzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApOb2UuCgpHbG9pbiAuLi4gZmluZGV0IGRhcyBuZXVlIFN5c3RlbSBnYW56IHNjaG9lbiBzcGFubmVuZC4KICAgICAgICAgQXJnbCAuLi4gd2FubiBpc3QgZW5kbGljaCBkaWUgZG9vZiBTcGllbHBhdXNlIHp1ZW5kZS4gTUVUWkVMTiAhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFua2VuIChLaWxhciwgMTYuIEZlYiAxOTk4LCAyMzozNTo1Nik6Cn4jISBybj1DeXJheCBydD04ODc2Njc1MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKRmFsc2NoIC0gZHUgaGFzdCBudXIga2VpbmUgQWhudW5nLCBDeXJheC4KSWNoIGZpbmRlIGRhcyBuZXVlIFRhbmtzeXN0ZW0gZ2FueiBndXQuIER1cmNoIGRpZXNlcyBTeXN0ZW0gd2lyZCBkYXMgdGFua2VuIAp3aWVkZXIgaW50ZXJlc3NhbnRlciAtIG5pY2h0IG1laHIgZWluIHN0dXBpZGVzIHp1ciBUYW5rZSByZW5uZW4sIHZvbGx0YW5rZW4sCndpZWRlciB6dXJ1ZWNrLiBNYW4gbXVzcyBzY2hvbiBldHdhcyBuYWNoZGVua2VuLCB3YXMgbWFuIHdhbm4gd2lldmllbCB0YW5rdCA6KQpBdXNzZXJkZW0gYnJpbmd0IGRhcyAnaW0gVm9ycmF1cyB0YW5rZW4nIGF1Y2ggZWluaWdlIFZvcnRlaWxlLgpCZWkgZWluZXIgU2FjaGUgbXVzcyBpY2ggYWxsZXJkaW5ncyBtZWNrZXJuOiBEaWVzZSBTeXN0ZW0gYmVuYWNodGVpbGlndCBJTUhPCkVsZmVuIGV0d2FzIHp1IHN0YXJrLiBTbyB3aWUgaWNoIGRhcyBzZWhlLCB2ZXJ0cmFlZ3QgbWFuIGFscyBFbGYgQWxrb2hvbCBqZXR6dApleHRyZW0gc2NobGVjaHQgLSBtYW4gaXN0IHNjaG5lbGwgYmVzb2ZmZW4gdW5kIGlkZWx0IGRhcyBudXIgc2VociBsYW5nc2FtCndpZWRlciBydW50ZXIuIER1bW1lcndlaXNlIGdpYnQgZXMgaW4gZGVuIEtuZWlwZW4gbnVyIHNlaHIgd2VuaWdlIE5pY2h0LQphbGtvaG9saXNjaGUgR2V0cmFlbmtlLCBkaWUgYXVjaCB3YXMgdGF1Z2VuIDooCkRhIHNvbGx0ZSBub2NoIHdhcyBnZXRhbiB3ZXJkZW4gKGZpbmRlIGljaCkuLi4KCktpbGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRhbmtlbiAoU211cmYsIDE3LiBGZWIgMTk5OCwgMDA6MTc6MDApOgp+IyEgcm49S2lsYXIgcnQ9ODg3NjY4NTU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkljaCAqbGllYmUqIGRhcyBuZXVlIFN5c3RlbS4gVm9yaGVyOiBFd2lnZXMgSGludW5kaGVyZ2VyZW5uZS4KSmV0enQ6IEVpbm1hbCBoaW4sIHRhbmtlbiwgYmlzIGljaCB3aWVkZXIgYW4gT3J0IHVuZCBTdGVsbGUgYmluIHNpbmQgZGllCkhQcyBkYSB3byBzaWUgaGluZ2Vob2VyZW4gdW5kIGJsZWliZW4gYXVjaCB6aWVtbGljaCBsYW5nIGRvcnQsIGR1cmNoCmRlbiBWZXJ6b2VnZXJ1bmdzZWZmZWt0LgoKV2VyIG5pY2h0IHNvdmllbCB2ZXJ0cmFlZ3QsIHNvbGwgaGFsdCB6dSBkZW4gU2hha2llcyBnZWhlbiwgZGllIGhhYmVuCmVpbmVuICJudWVjaHRlcm4iLVNwcnVjaC4gRGFzIGhpbGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFua2VuIChMdWcsIDE3LiBGZWIgMTk5OCwgMDA6Mzg6MTQpOgp+IyEgcm49U211cmYgcnQ9ODg3NjcxMDIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkFlaCwKCgpudXIgZWluZSBrbGVpbmUgQWVuZGVydW5nIHdhZXJlIG5vY2ggd3VlbnNjaGVuc3dlcnQuIERpZSBBdWZuYWhtZWZhZWhpZ2tlaXQKZXR3YXMgZXJob2VoZW4sIHNvbnN0IGdpYnRzIHNvbGFuZ2UgSWRsZXplaXRlbi4KClJ1aGlnIGJsZWliZW4KbHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoTWFycywgMTcuIEZlYiAxOTk4LCAwNjo0MzowMik6Cn4jISBybj1CaWVyY2hlbiBydD04ODc2OTI1MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKSW4gZGVuIE1pbmVuIGdpYnRzIChtaW5kZXN0ZW5zKSBlaW5lbiB1bmxvZ2lzY2hlbiBBdXNnYW5nLCBkLmguIGljaCBnZWhlCmluIGVpbmUgUmljaHR1bmcsIGFuc2NobGllc3NlbmQgaW4gZGllIGdlbmF1IGVudGdlZ2VuZ2VzZXR6dGUgUmljaHR1bmcsCnVuZCBrb21tZSBpbiBlaW5lbSBhbmRlcmVuIFJhdW0gcmF1cywgb2huZSB6d2lzY2hlbmR1cmNoIGVpbmUgTWVsZHVuZwp1ZWJlciBlaW5lbiBUZWxlcG9ydCBvZGVyIGFlaG5saWNoZXMgYmVrb21tZW4genUgaGFiZW4uIERhIHdlcmRlIGljaAphbHMgYmx1dGlnZXIgQW5mYWVuZ2VyIGFiZXIgdmllbCBTcGFzcyBoYWJlbiBiZWltIEthcnRlbiB6ZWljaG5lbiA6KQpOYWphLCBpY2ggdmVycmF0ZSBkaWUgU3RlbGxlIG1hbCBuaWNodCwgc29uZGVybiB1ZWJlcmxhc3NlIGVzIGRlbQp2ZXJhbnR3b3J0bGljaGVuIE1hZ2llciwgZGllIEtvcnJla3RoZWl0IGRlcyBMYWJ5cmludGhzIG5vY2htYWwgbmFjaC0KenV2b2xsemllaGVuLCB3b2JlaSBpY2ggdm9yc2NobGFnZSwgZGllc2VzIG1pdCBlaW5lbSAiZnJpc2NoZW4iIFNwaWUtCmxlciBvaG5lIE11ZW56ZW4gb2RlciBhbmRlcmUgSGlsZnNtaXR0ZWwgenUgdHVuLiBBbiB1bmQgZnVlciBzaWNoCmhhYmUgaWNoIG5pY2h0cyBnZWdlbiBMYWJ5cmludGhlIGVpbnp1d2VuZGVuLCBhYmVyIHp1bWluZGVzdCBpbgplaW5lciBBbmZhZW5nZXJnZWdlbmQgc29sbHRlbiBzaWUgenVtaW5kZXN0IGxvZ2lzY2ggYXVmZ2ViYXV0CnNlaW4uCgpNYXJzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKE1hcnMsIDE3LiBGZWIgMTk5OCwgMDg6MDI6MzgpOgp+IyEgcm49TWFycyBydD04ODc2OTQxODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKaWNoIHNldHplIHNvZ2FyIG5vY2ggZWluZW4gZHJhdWY6IGVzIGdpYnQgZWluZW4gcmF1bSwgYXVzIGRlbSBtYW4gb2huZQptYWdpZXJoaWxmZSBuaWNodCBtZWhyIHJhdXNrb21tdCwgd2VpbCBkZXIgbGluayBkZXMgZWluemlnZW4gYXVzZ2FuZ3MKYXVmIGRlbnNlbGJlbiByYXVtIGdlc2V0enQgaXN0LiB3ZXIgaGF0IGRpZXNlcyBsYWJ5cmludGggZWlnZW50bGljaApnZXBydWVmdD8KCk1hcnMgLSBmdWVobHQgc2ljaCBzY2hvbiBoYWxiIGFscyBad2VyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFua3N5c3RlbSAoU3RpbmcsIDE3LiBGZWIgMTk5OCwgMDg6MTA6MzUpOgpIbSwgYWxzbyBpY2ggc2FnIGRhenUgbnVyLCBkYXNzIEN5cmF4IGphIGVoIGJla2FubnQgaXN0IGhpZXIuLi4KSWNoIHBlcnNvZW5saWNoIGZpbmRlIGRhcyBuZXVlIFN5c3RlbSBndXQgZHVyY2hkYWNodCwgdW5kIGVzIGhhdCBnZXdpc3MgYXVjaApzZWluZSBWb3J0ZWlsZSwgd29iZWkgaWNoIGFiZXIgTHVnIHp1c3RpbW1lbiBtb2VjaHRlLCBlaW4gZXR3YXMgc2NobmVsbGVyZXMKcnVudGVyaWRsZW4gd2FlcmUgd3VlbnNjaGVuc3dlcnQuCkFuc29uc3RlbiBtdWVzc3NlbiBoYWx0IG5vY2ggZWluaWdlIEtuZWlwZW4gYW5nZXBhc3N0IHdlcmRlbiwgYWJlciBkYXNzIGlzdCBqYQphbGxlbiBrbGFyLgpBbnNvbnN0ZW4sIHdhcnMgdmllbGxlaWNodCBlaW4gYmlzc2wgYXJnbCB2aWVsIGF1ZiBlaW5tYWwgd2FzIGthbSwgZGEgd2Vpc3MKbWFuIGphIGdhciBuaWNodCBtZWhyIHdvIG1hbiBhbmZhbmdlbiBzb2xsIDopKSkKVHJvdHpkZW06IGRpY2tlcyBMb2IgYW4gZGllIHZlcmFudHdvcnRsaWNoZW4gTWFncyA6KQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYW5rc3lzdGVtIChLZXksIDE3LiBGZWIgMTk5OCwgMDg6Mjk6MzMpOgp+IyEgcm49U3RpbmcgcnQ9ODg3Njk5NDM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3Njk5NDM1CkhtbSB5ZXAgaWNoIGdsYXViIC4uLi4gaWNoIHN0aW1tZSBEaXIgenUgRXgtU3RpbmdzY2hhdHppIDspCgpBbHNvIGVybnN0aGFmdDogTWFuIGlzdCB6dSBzY2huZWxsIHZvbGwgLi4uIApJY2ggaGFiIGdlc3Rlcm4gbmljaHQgbWFsIGRpZSBIYWVsZnRlIHZvbiBhbGxlbSBnZXNjaGFmZnQgZGFzIGljaCBzb25zdApzY2hhZmZlIHdlaWwgaWNoIHN0YWVuZGlnIHZvbGwgd2FyIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoVHVuaXhndXQsIDE3LiBGZWIgMTk5OCwgMDg6NTY6MzYpOgp+IyEgcm49TWFycyBydD04ODc2OTQxODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKWnVzdGltbXVuZyEKCidzIEthcmF0ZS1ad2VyY2hsZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYW5rc3lzdGVtIChIYW5nb3ZlciwgMTcuIEZlYiAxOTk4LCAwOToyMjoxNik6Cn4jISBybj1LZXkgcnQ9ODg3NzAwNTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3Njk5NDM1Ck1vaW4hCgpOdSB3aWxsIGljaCBhdWNoIG1hbCBtZWluZW4gU2VuZiBkYXp1Z2ViZW4uCk1laW5lciBNZWludW5nIG5hY2ggaGF0IGRhcyBUYW5rc3lzdGVtIHNlaW5lbiBad2VjayBlcnJlaWNodCAtIHdlcgpza3JpcHRldCBoYXQgdWViZXJoYXVwdCBrZWluZW4gU3Bhc3MgbWVociwgdW5kIGR1cmNoIGRpZSBzdGFyawpyZWR1emllcnRlIEF1Zm5haG1lZmFlaGlna2VpdCBpc3QgZGllIGVmZmVrdGl2ZSBLYW1wZmtyYWZ0IGVpbnplbG5lcgpTcGllbGVyIGdlZ2VuIHNjaHdlcmUgKHVuZCBzY2h3ZXJlcmUgR2VnbmVyKSB1bSBtaW5kZXN0ZW5zIDUwJQp6dXJ1ZWNrZ2VnYW5nZW4uIERhcyBtdXNzIG5pY2h0IHVuYmVkaW5ndCB2ZXJrZWhydCBzZWluLgpEYXMgZWluemlnZSwgd2FzIGljaCBtaXIgd3VlbnNjaGVuIHd1ZXJkZSwgd2FlcmVuIGVpbiBiaXNzY2hlbgpGZWluZWluc3RlbGx1bmcgaW0gVGFua3N5c3RlbSAoZXR3YXMgbWVociBLYXBheml0YWV0IG9kZXIgZXR3YXMKc2NobmVsbGVyZXMgd2VnaWRsZW4gdm9uIFNvYWsgLSBpY2ggc2FndGUgRVRXQVMpLiBVbmQgYXVmIGRlcgphbmRlcmVuIFNlaXRlIGVpbmUgQW5wYXNzdW5nIGRlciBNb25zdGVyLCBkaWUgbWFuIG51biBlaW5tYWwKbmljaHQgaW0gVGVhbSB0b2V0ZW4ga2Fubi4gV2VyIG1pY2gga2VubnQsIHdlaXNzLCB3YXMgaWNoIG1laW5lbgpkdWVyZnRlIHVuZCB3YXMgbmljaHQuCgotSGFuZ292ZXIKKGRlciBkYXMgVGFua3N5c3RlbSBmdWVyIGRpZSBlcnRyYWVnbGljaHN0ZSBkZXIgQWVuZGVydW5nZW4gaGFlbHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogR2lsZGVuZmFlaGlna2VpdGVuIG1pdCBkZW0gVGFua3N5c3RlbSA/IChEb2xwaCwgMTcuIEZlYiAxOTk4LCAxMDoxMzoyNyk6CkFuIHNpY2ggZmluZCBpY2ggZGFzIFRhbmtzeXN0ZW0gZ2FueiBuZXR0LiBIaWVyIHdpcmQgc2ljaCB6ZWlnZW4Kd2VyIHZvbiBkZW4gU3BpZWxlcm4gZWluIHdlbmlnIG1laHIgSGlybiBiZWkgc2VpbmVuIEthZW1wZmVuIHplaWd0LgoKTWlyIG1hY2h0IGVzIGF1Y2ggbmljaHRzIGF1cywgd2VubiBkdXJjaCBsYWVuZ2VyZSBXYXJ0ZXplaXRlbiBkZXIKQXVmbmFobWV6ZWl0IGRpZSBNb25zdGVyIGRhZHVyY2ggc3RhZXJrZXIgd2VyZGVuLiBTb21pdCB3aXJkIGphIGRlcgpUZWFta2FtcGYgZ2Vmb2VyZGVydC4uLiB3YXMgamEgZWluaWdlcyBhbiBTcGFzcyBiZXJlaXRlbiBzb2xsdGUuCgpBYmVyLi4uCgpLYW5uIGVzIHNlaW4gZGFzcyBkdXJjaCBkaWVzIGxhZW5nZXJlIEF1Zm5haG1lemVpdCBkZXIgR2V0cmFlbmtlIHVuZApTcGVpc2VuIGVpbiBLYXJhdGVrYSBqZXR6dCAxMjAgVGFnZSBPbmxpbmV6ZWl0IHN0YXR0IGJpc2hlciA2MCBUYWdlIGhhdCA/CkljaCBhbHMgS2FlbXBmZXIgdmVyendlaWZsZSBqZXR6dCBzY2hvbiBhbiBkaWVzZW0gZWluZW4gUHJvemVudCwgZGVyIHNlaXQgClN0dW5kZW4gbmljaHQgbWVociBnZXN0aWVnZW4gaXN0LgpJY2ggZGVua2UgYmVpIGFsbGVuIFZvcnRlaWxlbiBicmluZ3QgZXMgbnVyIGRlbmVuIGV0d2FzLCBkaWUgc2Nob24gYWxsZXMKaWhyZSBHaWxkZW5mYWVoaWdrZWl0ZW4gZ2FueiBvYmVuIGhhYmVuLiBNYW4gc29sbHRlIGRhIHZpZWxsZWljaHQgZXR3YXMgCnVlYmVyZGVua2VuICEKQ2lhbyBEb2xwaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWndlcmdlbiBMYWIgKFp1ZXJpbGV1LCAxNy4gRmViIDE5OTgsIDEwOjIwOjQ1KToKSGlobywKQWxzbyBpY2ggYmluIGhldXRlIG1hbCBtaXQgZWluZW0gWndlcmdlbi1UZXN0aS1BbmZhZW5nZXIgZHVyY2ggZGFzIFp3ZXJnZW5sYWIKZ2V3YW5kZXJ0LiBVbmQgZWluIExhYiBpc3QgZXMgdW5kIG5pY2h0cyBhbmRlcmVzLiBJY2ggaGFiZSBuYWNoIGNhLiAxaCBkZW4KQXVzZ2FuZyBub2NobmljaHQgZ2VmdW5kZW4sIG1hbCBhYmdlc2VoZW4gZGF2b24gZGFzIGVzIHNlaHIgdW5sb2dpc2NoZSBTdGVsbGVuCmhhdC4gSWNoIGZpbmQgZGllIGlkZWUgZGllIFp3ZXJnZW4gYW4gZWluZW4gYW5kZXJlbiBPcnQgenUgdmVyc2NoaWViZW4gamEKbmljaHQgc2NobGVjaHQsIG51ciBpc3QgZWluIExhYiBkb2NoIHdvaGwgZXR3YXMgZmFsc2NoIGdld2FlaGx0LiBJY2ggbWVpbmUKYmVzb25kZXJzIGZyaWlzY2hsaW5nZSBoYWJlbiB3b2hsIGtlaW5lIENoYW5jZSBhbiBkaWUgT2JlcmZsYWVjaGUgenUga29tbWVuLgpEYW5uIGthbW0gZXMgYmVpIG1pciBiaXMgamV0enQgaW1tZXIgc28gdm9yIGRhcyBqZWRlciBTdGF0cHVua3QgamVkZXIgUmFzc2UKaW1tZXIgaW4gZGVyIG5hZWhlIHZvbiBlaW5mYWNoZW4gR2ViaWV0ZSB3YXIgKEVsZmVuLT5QYXJrIGRlciBGcmV1ZGUsCk1lbnNjaC0+QWthZGVtaWVzdHJyYXNzZSB1bmQgT2JzdHdpZXNlLCBIb2JibGlucy0+a2VubmUgaWNoIG5lZCwKWndlcmdlbi0+SG9jaGViZW5lKSBpY2ggZmFuZCBkYXMgZWlnZW50bGljaCBnYW56IGd1dCBzby4gS2FubiBtYW4gbmljaHQKZWluZmFjaCBlaW4gZGlyZWt0ZW4gQXVzZ2FuZyBkZXIgWndlcmdlbiBqZXR6dCBhdWYgZGllIEhvY2hlYmVuZSBiYXN0ZWxuLCBkYXMKd2FlciBldnRsLiBlaW4gZ3V0ZXIgQW5mYW5nLgoKVHNjaGF1IExldXRlLi4gQWxhaW4gKHVuZCBtYW5jaGUgbmVubmVuIG1pY2ggYXVjaCBadWVyaWxldSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKENhdHdlYXpsZSwgMTcuIEZlYiAxOTk4LCAxMDo1MzoxMyk6Cn4jISBybj1NYXJzIHJ0PTg4NzY5ODk1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5MjUzMgpIbSwgaWNoIG1vZWNodGUgRGlyICdoaWxmZSBmZWhsZXInIG9kZXIgZGFzIEJlbnV0emVuIGRlciBtYWlsIGVtcGZlaGxlbi4KQXRlbnMgbnVldHp0IGRhcyB1LlUuIGdhciBuaXgsIGZlaGxlciBpbiBkaWUgWmVpdHVuZyB6dSBzY2hyZWliZW4sIGRhIHVlYmVyLQpoYXVwdCBuaWNodCBnZXdlYXJobGVpc3RldCBpc3QsIGRhcyBkZXIgenVzdGFlbmRpZ2UgTWFnaWVyIGRlbiBBcnRpa2VsIGF1Y2gKbGllc3QsIHVuZCBidGVucyBrYW5uc3QgRHUgdWViZXIgZmVobGVyIG9kZXIgbWFpbCBrb25rcmV0ZSBIaW53ZWlzZSBnZWJlbiwgCmFuc3RhdHQgV2lzY2hpd2FzY2hpLUZvcm11bGllcnVuZ2VuLCB3aWUgJ2VzIGdpYnQgZGEgZWluZW4gUmF1bSwgZGEgLi4uJy4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIChmcmV1dCBzaWNoIF9lbm9ybV8gdWViZXIgU3VwcG9ydGFucnVmZSwgd2llIHpCOgogICAgICAgICAgICAgICAgICAgJ0ljaCBrb21tIG5pY2h0IGluIGRlbiBSZWNobmVyIHJlaW4uJykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFua3N5c3RlbSAoU2lsdmFuYSwgMTcuIEZlYiAxOTk4LCAxMDo1NzoyMCk6Cn4jISBybj1LZXkgcnQ9ODg3NzAwNTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3Njk5NDM1CkVJbmZhY2ggbWFsIG1pdHRlbiBpbiBkZW4gVGhyZWFkIHJlaW4sIG11c3Mgd2VjaCwgd2lyZCB6dSB0ZXVlci4gOikKClVlYmVyIGRpZSBleGFrdGVuIFdlcnRlIGlzdCBuYXR1ZXJsaWNoIG5vY2ggbmljaHQgZGFzIGxldHp0ZSBXb3J0Cmdlc3Byb2NoZW4uIERhIHdpcmQgbWFuIHNpY2hlciBuYWNoIGVpbiBwYWFyIFRhZ2VuIFByYXhpcyBub2NoIApuYWNoYmVzc2VybiBtdWVzc2VuLiBBdXNzZXJkZW0gc2luZCB3aXIgbm9jaCBsYW5nZSBuaWNodCBkYW1pdCBkdXJjagpkaWUgZXhpc3RpZXJlbmRlbiBLbmVpcGVuIGFuenVwYXNzZW4uCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKFphcm5peWEsIDE3LiBGZWIgMTk5OCwgMTE6MTY6MTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4NzcwOTE5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5MjUzMgpDYXR0eWxlaW4sIGljaCB3dWVyZCBub2NoIGVpbiB3ZW5pZyB3ZWl0ZXIgZ2VoZW4uLi4gd2VubiBpY2ggbWljaCBlcmlubmVyZSwKZGFubiBtZWludGUgTWFycywgZGFzcyBlciBkZW4gQnVnIG1pdCBhYnNpY2h0IG5pY2h0IG1lbGRldCwgZGFtaXQgZWluIE1hZ2llcgppaG4gbWl0IGVpbmVtIHNwaWVsZXIgTVVFSFNBTSBzdWNoZW4gbXVzcy4uLiBkYXMgaXN0IGVpbmUgc2NoZWlzcyBlaW5zdGVsbHVuZwp1bmQgaWNoIGtlbm5lIGVpbiBndXRlcyBNdWQsIGluIGRlbSBTTyBlaW4gU3BpZWxlciBtaXQgU08gZWluZXIgRWluc3RlbGx1bmcKbmFjaCBTTyBlaW5lbSBBcnRpa2VsIG5pY2h0IG1laHIgZXhpc3RpZXJ0IHVuZCBkYXMga2FubiBpY2ggdmVyc3RlaGVuLiBNYWdpZXIKdHVuIHdpcmtsaWNoIGlociBiZXN0ZXMgdW5kIHNpbmQgbmljaHQgZGFmdWVyIGRhLCB3ZWdlbiBpaHJlciBGZWhsZXIsIGRpZQpwYXNzaWVyZW4ga29lbm5lbiwgYXVjaCBub2NoIHZlcmFlcHBlbHQgenUgd2VyZGVuLiBNYXJzLCBrYW5uc3QgZnJvaCBzZWluLApkYXNzIGljaCBoaWVyIG5peCBtZWhyIHp1IHNhZ2VuIGhhYiwgc29uc3Qgd2FlcnN0IER1IGpldHp0IHdlZyEhIQoKWmFybml5YSwgbWluZC4gc28gYXJyb2dhbnQgd2llIGVpbmlnZSBTcGllbGVyIGhpZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VyZ2Vuc3RhZHQ/IE9kZXIgWi1MYWI/IChKYXNwZXIsIDE3LiBGZWIgMTk5OCwgMTI6MDA6MzYpOgp+IyEgcm49WmFybml5YSBydD04ODc3MTA1NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKQWxzby4uLi4gaWNoIGRlbmtlIG1hcnMgZ2Vob2VydCB6dSBkZW4gbGV1dGVuLCBkaWUgc2VociB2aWVsZW4gYW5mYWVuZ2VybgpzZWhyIHZpZWwgaGVsZmVuLCB1bmQgd2VubiBlciBzb3dhcyBzY2hyZWlidCwgZGFubiBkb2NoIHdvaGwgbnVyLCB3ZWlsIGVyCmF1ZiBkZW4gbWlzc3RhbmQgaGlud2Vpc2VuIHdpbGwsIGRhc3MgZ2V3aXNzZSByZWdpb25zbWFnaWVyIGlociB6ZXVnCm9obmUgZ3Jvc3NlcyB0ZXN0ZW4gYW5zY2hsaWVzc2VuLiBKZWRlciBhbmZhZW5nZXIgKHp3ZXJnKSBkZXIgZGFubiBpbiBzbyBlaW5lcgphcmVhIHN0YXJ0ZW4gbXVzcywgdmVybGllcnQgd29obCBzZWhyIHNjaG5lbGwgZGllIGx1c3QuLi4uLgoKCkphc3BlciBnbGF1YnQgbmljaHQsIGRhc3MgbWFycyBhcnJvZ2FudCBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VyZ2Vuc3RhZHQ/IE9kZXIgWi1MYWI/IChSYW50YW5wbGFuLCAxNy4gRmViIDE5OTgsIDE0OjA3OjExKToKfiMhIHJuPUphc3BlciBydD04ODc3MTMyMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKTmEgZGEgYmluIGljaCBqYSBudXIgZnJvaCwgZGFzcyBZKiBuaXggbWVociB6dSBzYWdlbiBoYXQuCgpXYXNuIGRhcyBmdWVyIG5lIEVpbnN0ZWxsdW5nLCB3ZW5uIGplbWFuZCBuZW4gQXJ0aWtlbCBzY2hyZWlidCBkZXIgbWlyIG5pY2h0CnBhc3N0LCBkYW5uIHdpcmQgZGVyamVuaWdlIGdlbG9lc2NodC4KCkdlaGUgaW4gRGljaCB1bmQgYmVyZXVlIG9kZXIgd2FzIHdlaXNzIGljaCwgYWJlciBob2VyIGF1ZiB6dSBzdWVsemVuLi4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipIaWNrcyogKEphc29ucmlnaWQsIDE3LiBGZWIgMTk5OCwgMTQ6MDg6MjYpOgp+IyEgcm49S2V5IHJ0PTg4NzcwMDU3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5OTQzNQpadSBhbGxlcmVyc3QgbW9lY2h0ZSBpY2ggbWFsIHNhZ2VuLCBkYXNzIGljaCBtaWNoIHNpY2hlcmxpY2ggbWl0IGRlbSBuZXVlbgpTeXN0ZW0gYW5mcmV1bmRlbiBrb2VubnRlLiBBYmVyIG1laW5lIEF1Zm5haG1lZmFlaGlna2VpdCBpc3QgZWNodCB2aWVsIHp1Cm5pZWRyaWcuIEljaCBzY2hhZXR6ZSwgZHVyY2ggZGllIFRhbmtyZWZvcm0gaXN0IG1laW5lIEthbXBma3JhZnQgYXVmIGRpZQpIYWVsZnRlIGdlc3Vua2VuLCB1bmQgZGFzIGlzdCBldHdhcywgd2FzIG5hdHVlcmxpY2ggc2VociBhdWYgZGVuIFNwaWVsc3Bhc3MKZHJ1ZWNrdCwgd2FzIHNpY2hlcmxpY2ggbmljaHQgU2lubiBkZXIgU2FjaGUgZ2V3ZXNlbiBpc3QsIG9kZXIgPz8KSWNoIHN0aW1tZSBLZXkgYWxzbyBpbiBzZWluZXIgQW5zaWNodCB2b2xsIHp1LiBXZW5uIG1hbiBFd2lna2VpdGVuIHNlaW5lClNraWxscyBob2NodWVidCB1bSBkYW5uIGhpbnRlcmhlciB3aWVkZXIgYW0gQW5mYW5nIHp1IHN0ZWhlbiwgaXN0IGRhcyBldHdhcywKd2FzIG5pY2h0IHVuYmVkaW5ndCBzZWluIG11c3MuCkRpZSBBdWZuYWhtZWZhZWhpZ2tlaXQgcmF1ZiwgdW5kIGljaCBiaW4gbWl0IGRlbSBuZXVlbiBTeXN0ZW0gZWludmVyc3RhbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKEdlcnJpLCAxNy4gRmViIDE5OTgsIDE0OjU0OjI3KToKfiMhIHJuPVphcm5peWEgcnQ9ODg3NzEwNTc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCk51ciBrdXJ6LCB3ZW5uIER1IE1hcnMgc2hjb24gd2lzY2hpIHdhc2NoaSB2b3JoYWVsc3QsIGVyemFlaGwgdW5zIGRvY2gsCldFTENIRVMgbXVkIHVuZCBXRUxDSEVSIHNwaWVsZXIuCgpHcnVzcwoKR2VycmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBad2VyZ2VuIExhYiAoQm9pbmcsIDE3LiBGZWIgMTk5OCwgMTQ6NTQ6NTcpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODg3NzA3MjQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NzA3MjQ1CldpZXNvIGhhc3QgRHUgbmljaHQgZWluZmFjaCBkZW4gQXVmenVnIGdlbm9tbWVuPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRhbmtlbiAoSmFuaXR6ZSwgMTcuIEZlYiAxOTk4LCAxNTo1OToxNik6Cn4jISBybj1NaW5nbyBydD04ODc2NjgyODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKaWNoIGJpbiBkYWdlZ2VuLCBkYXMgVGFua3N5c3RlbSB3aWVkZXIgdW1zenVzdGVsbGVuLCBtaXIgZ2VmYWVsbHQgZXMgc2Vocgp3aWUgZXMgamV0enQgaXN0LCBkYSBzaW5kIGVpbmlnZSB2aWVjaGVyIChvZGVyIGRpZSBtZWlzdGVuID8pIGVuZGxpY2gKbWFsIHdpZWRlciBuZSBoZXJhdXNmb3JkZXJ1bmcsIHNwcmljaCwgaWNoIGhhYiBzbyBtZWhyIHNwYXNzCgpKYW5pY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKFphcm5peWEsIDE3LiBGZWIgMTk5OCwgMTY6MDc6NDcpOgp+IyEgcm49R2VycmkgcnQ9ODg3NzIzNjY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCkhvbHltSXNzaW9uSUkgaXN0IGRhcyBNdWQuLi4gaW0gUmVnZWx3ZXJrIHN0ZWh0OiBXZXIgZWluZW4gQnVnIGZpbmRldCB1bmQKbmljaHQgbWVsZGV0IHVuZCBldnQgYXVzbnV0enQsIG9kZXIgYWJlciBkdXJjaCBkYXMgbmljaHRtZWxkZW4gZGVuIEltcGwKZ2VnZW51ZWJlciBkZW4gbm9ldGlnZW4gcmVzcGVrdCB6dWtvbW1lbiBsYWVzc3QsIGRlciBpc3QgdmVyZ2FuZ2VuaGVpdC4uCmVyd2lzY2h0IGhhdCBlcyBzY2hvbiBlaW5pZ2UuLi4gdW5kIGRhIGF1Y2ggaG9oZSBTcGllbGVyLgoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYW5rZW4gKFJvY2h1cywgMTcuIEZlYiAxOTk4LCAxNjo0NDoxOCk6Cn4jISBybj1LaWxhciBydD04ODc2Njg1NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKRGFzcyBFbGZlbiB3ZW5pZ2VyIEFsa29ob2wgdmVydHJhZ2VuIHNvbGx0ZSBiYWxkIGtlaW4gZ3JvZXNzZXJlcwpQcm9ibGVtIG1laHIgc2VpbiAtICgxLikgaGFiZSBpY2ggbWVpbiBMaWVibGluZ3NnZXRyYWVuaywgd2VsY2hlcwppY2gga3VlcnpsaWNoIGxlaWRlciBhYndlcnRlbiBtdXNzdGUsIGFuIGRpZSBqZXR6dCBlcmxhdWJ0ZW4KaG9laGVyZW4gV2VydGUgYW5nZXBhc3N0IHVuZCAoMi4pIHdvbGxlbiB3aXIgU3BlaXNlbiBkZW1uYWVjaHN0IGF1Y2gKZXR3YXMgbWVociBCZWRldXR1bmcgYmVpbWVzc2VuIGFscyBmcnVlaGVyLCB1bmQgd2VubiBtYW4gMiBXZXJ0ZQooU2FldHRpZ3VuZyB1bmQgRmx1ZXNzaWdrZWl0KSBnYW56IGF1c251dHplbiBrYW5uIGlzdCBlcyBuaWNodAptZWhyIHNvIHNjaGxpbW0gZGVuIGRyaXR0ZW4gKEFsa29ob2wpIG5pY2h0IGdhbnogdm9sbCBiZWtvbW1lbiB6dSBrb2VubmVuLgoKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUYW5rZW4gKE1pbmdvLCAxNy4gRmViIDE5OTgsIDE2OjQ3OjE2KToKfiMhIHJuPVJvY2h1cyBydD04ODc3MzAyNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKV2FhYWggOikKQWxsb2hvbCBpc3Qgc2Nob24gaW1tZXIgZGFzIFdpY2h0aWdzdGUgaW4gbWVpbmVtIExlYmVuIGdld2VzZW4uIFVuZApkYXMgc29sbCBzaWNoIGpldHp0IGFlbmRlcm4gPyAqbGFsbCogTmVlLCBwcmltYSBkYXMgSWhyIGVuZGxpY2ggYXVjaAphbnMgRnV0dGVyIGRlbmt0LiBJY2ggaGFiIHNjaG9uIGltbWVyIGdlYXJnZWx0IHdlbm4gaWNoIGRpZSBPcHRpb25zLQpsaXN0ZSBmdWVyIEFkZEZvb2QgZ2VzZWhlbiBoYWJlIC4uLgpIbS4gVW5kIGRhIGljaCBnZW5hdSBhbiBkZXIgcmljaHRpZ2VuIFN0ZWxsZSBpZGxlLCBiZXN0ZWxsIGljaCBtaXIKZGFyYXVmaGluIGRpZSBNYWhhdG1hLXZlcmZlaW5lcnRlIFZlcnNpb24gRGVpbmVzIEdldHJhZW5rZXMgLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoTWFycywgMTcuIEZlYiAxOTk4LCAxNjo1ODo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg3NzA5MTkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCkRhcyBoYWJlIGljaCBzY2hvbiBiZXd1c3N0IGdlbWNodDogSWNoIHdvbGx0ZSBkYW1pdCBhbmRldXRlbiwgZGFzcyB3ZW5uCnNvZ2FyIGRlcmplbmlnZSwgZGVyIGRhcyBMYWIgcHJvZ3JhbW1pZXJ0IGhhdCwgbmljaHQgbWVociBkZW4gRHVyY2hibGljawpoYXQsIGVpbiBibHV0aWdlciBBbmZhZW5nZXIgc2ljaGVybGljaCBfZ3JhdmllcmVuZGVfIFByb2JsZW1lIGRhbWl0IGhhYmVuCndpcmQuCgpNYXJzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRhbmtzeXN0ZW0gKEx1ZywgMTcuIEZlYiAxOTk4LCAxNzo0MDo0MCk6Cn4jISBybj1LZXkgcnQ9ODg3NzAwNTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3Njk5NDM1CkFlaCwKCkR1IGJpc3QgaW1tZXIgdm9sbCwgS2V5LgoKVHNzc3MKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VyZ2Vuc3RhZHQ/IE9kZXIgWi1MYWI/IChNYXJzLCAxNy4gRmViIDE5OTgsIDE4OjEwOjQ3KToKfiMhIHJuPU1hcnMgcnQ9ODg3NzMxMTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCk9rLCBhbHNvIGZhbGxzIGljaCBtaWNoIG1pc3N2ZXJzdGFlbmRsaWNoIGF1c2dlZHJ1ZWNrdCBoYWJlLCBub2NobWFsCmtvbnN0cnVrdGl2ZXI6Ck1pciBwZXJzb2VubGljaCBnZWZhZWxsdCBkYXMgTGFieXJpbnRoIHNlaHIgZ3V0LiBXZXIgbWljaCBrZW5udCwgd2Vpc3MKZGFzcyBpY2ggZWlnZW50bGljaCBmYXN0IG51ciB6dW0gUXVlc3RlbiBvZGVyIEZvcnNjaGVuIGhpZXIgaGVya29tbWUuCkFsbGVyZGluZ3Mgc29sbHRlIGVpbiBMYWJ5cmludGggZGllc2VyIEtvbXBsZXhpdGFldCBlaW5lcnNlaXRzIHZvcmhlcgphdWNoIG1hbCBtaXQgMS0yIFRlc3RpZXMgdWViZXJwcnVlZnQgd2VyZGVuLCB3b2JlaSBpY2ggZGFiZWkgdm9yc2NobGFnZSwKYXVjaCBtYWwgZWluZW4gZXJmYWhyZW5lbiBzb3dpZSAoZmFzdCBub2NoIHdpY2h0aWdlcjopIGVpbmVuIHVuZXJmYWhyZS0KbmVuIFNwaWVsZXIgenVtIFRlc3RlbiBoZXJhbnp1emllaGVuLCBkYXMgaXN0IGphIGpldHp0IG1pdCBkZXIgVWViZXItCnRyYWd1bmcgZGVyIEZvcnNjaGVycHVua3RlIGtlaW4gUHJvYmxlbSBtZWhyLgpBbmRlcmVyc2VpdHMgdmVyZ2xlaWNodCBtYWwgZGllc2VzIExhYnlyaW50aCBtaXQgZGVtIEdlYmlldCB2b3IgZGVyCkZlbGluZW5zdGFkdC4gRGFzIGlzdCBqYSB3b2hsIGVpbiBleHRyZW1lcyBHZWdlbmJlaXNwaWVsLCBkYSBzdGVodCBpbgpqZWRlbSBSYXVtIGVpbiBTY2hpbGQgbWl0IGRlciBha3R1ZWxsZW4gUG9zaXRpb24gZGVzIFNwaWVsZXJzIChhbHNvCmRhIHNvbGx0ZSBpY2ggbWljaCBkb2NoIG1pbmRlc3RlbnMgaW4gZWluZW0gRmFsbCBiZXNjaHdlcmVuLCBlbnR3ZWRlcgp3ZWdlbiBVZWJlci0gb2RlciBVbnRlcmZvcmRlcnVuZykuCkRlc3dlZ2VuIGJpbiBpY2ggZGFmdWVyLCBkYXMgTGFieXJpbnRoIGF1ZiBqZWRlbiBGYWxsIGFuZ2VzY2hsb3NzZW4KenUgbGFzc2VuLCBhYmVyIGJpdHRlIG5pY2h0IGVpbmVuIG5ldWdlYm9yZW5lbiBad2VyZyBnbGVpY2ggenUgQmVnaW5uCnNvIHRpZWYgdW50ZXIgZGVyIEVyZGUgZWluenVidWRkZWxuLCBkYXNzIHNlaW5lIEFsdGVyc2dlbm9zc2VuIGRlcgphbmRlcmVuIFJhc3NlbiBzY2hvbiBtaXQgRmV1ZXJiYWVsbGVuIHVtIHNpY2ggc2NobWVpc3Nlbiwgd2VubiBlciB6dW0KZXJzdGVuIG1hbCBlaW5lIEtyb2V0ZSBhdWYgZGVyIEhvY2hlYmVuZSB6dSBHZXNpY2h0IGJla29tbXQuCk1hbiBrb2VubnRlIGphIGRlbiBTdGFydHB1bmt0IGZ1ZXIgWndlcmdlIHZvbiBkZXIgU3BpZWxlcnN0dWZlIGFiaGFlbmdpZwptYWNoZW4sIGQuaC4gYmlzIExldmVsIDEwIG9kZXIgc28ga29tbXQgbWFuIG9iZW4gYmVpbSBad2VyZ2VucHJpZXN0ZXIKYXVmIGRpZSBXZWx0LCBhbnNjaGxpZXNzZW5kIHdpcmQgbWFuIGRhbm4gaW4gZGllIFp3ZXJnZW5mZXN0ZSB1bWdlc2llLQpkZWx0LgpTaWNoZXJsaWNoIHByYWVndCBzbyBlaW4gTGFieXJpbnRoIGRhcyBSYXNzZW5iZXd1c3N0c2VpbiBlaW5lcyBad2VyZ2VuLQpOZXdiaWVzIGdhbnogYmVzb25kZXJzLCBpc3QgYWxzbyBmdWVyIGRpZSBTdGltbXVuZyBndXQgZ2VlaWduZXQsIGFiZXIKaXN0IHNjaG9ubWFsIGplbWFuZGVtIGRhcyBzdGFlbmRpZ2UgR2VqYW1tZXIgYXVmIGRlbiBFYmVuZW4gYXVmZ2VmYWxsZW4sCndlbm4gc2ljaCBqZW1hbmQgaW4gZGVyIEVpc3d1ZXN0ZSBvZGVyIGltIFN1bXBmIHZlcmxhdWZlbiBoYXQuIFVuZCBkYXMKc2luZCBpbiBkZW4gc2VsdGVuc3RlbiBGYWVsbGVuIExldmVsLTEtU3BpZWxlciwgc29uZGVybiB0eXBpc2NoZXJ3ZWlzZQpQb3N0Ym9kZW4gYXVmIGRlbSBXZWcgenVtIFdlaWhuYWNodHNtYW5uLCBkaWUgc2Nob24gZXR3YXMgRXJmYWhydW5nIGhpZXIKZ2VzYW1tZWx0IGhhYmVuLgpKYSwgZXMgZ2lidCBlaW5lbiBlaW5mYWNoZW4gWnVnYW5nIGFuIGRpZSBPYmVyZmxhZWNoZSwgYWJlciBqZSBuYWNoZGVtLApvYiBtYW4gZGFzIExhYnlyaW50aCBpbSBvZGVyIGdlZ2VuIGRlbiBVaHJ6ZWlnZXJzaW5uIGVyZm9yc2NodCwgc3RlaGVuCmRpZSBDaGFuY2VuIGJlaSA1MCAlLCBkYXNzIG1hbiBzaWNoIHZlcmxhZXVmdCwgdW5kIHdlciBrZWluZSBLYXJ0ZW4KbWFsdCBzb25kZXJuIGVyc3RtYWwgcGxhbmxvcyBkaWUgR2VnZW5kIGFuc2NoYXV0IChiZWkgQW5mYWVuZ2VybiBkaWUKZ3Jvc3NlIE1laHJoZWl0KSwgc2llaHQgemllbWxpY2ggc2NobmVsbCB6aWVtbGljaCBhbHQgYXVzLgoKYWxzbyBub2NobWFsIGdhbnoga2xhcjogTWVuc2NoZW4ga29tbWVuIGRpcmVrdCBpbiBkZXIgQWJlbnRldWVyZ2lsZGUKYXVmIGRpZSBXZWx0LCBad2VyZ2UgbXVlc3NlbiBzaWNoIGVyc3QgenVyIEhvY2hlYmVuZSB1bmQgZGFubiBuYWNoClBvcnQgVmFpbiBkdXJjaHNjaGxhZ2VuLCBiaXMgc2llIGlocmUgU3R1ZmUgZXJob2VoZW4ga29lbm5lbi4gV2VubiBkYXMKc28gZ2V3b2xsdCBpc3QsIHNvbGxzIG1pciByZWNodCBzZWluLCBhYmVyIG1laW5lciBNZWludW5nIG5hY2ggdmVyLQpzY2hldWNodCBpaHIgZGFtaXQgbnVyIG5ldWUgU3BpZWxlci4KCk1hcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFp3ZXJnZW5zdGFkdD8gT2RlciBaLUxhYj8gKEFuYXRvbCwgMTcuIEZlYiAxOTk4LCAxODo1NjozNSk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4NzcyODA2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5MjUzMgpEYXMgaXN0IHNjaG9lbiBmdWVyIGRhcyBIb2x5IE1pc3Npb24gdW5kIER1IG1hZ3N0IHNpY2hlciBSZWNodCBoYWJlbiwgCmRhc3MgZXMgd2VkZXIgbmV0dCBub2NoIHNvbmRlcmxpY2ggZmFpciB2b24gU3BpZWxlcm4gaXN0LCBCdWdzIG5pY2h0IHp1Cm1lbGRlbiBvZGVyIGRlbiBNYWdpZXIgZ2FyIG1pdCAiRGEgaXN0IGVpbmVyLCBhYmVyIHN1Y2ggc2VsYnN0IiB6dQphZXJnZXJuLgoKRXMgaXN0IGFiZXIgYXVjaCB2b24gTWFnaWVyc2VpdGUgd2VkZXIgbmV0dCBub2NoIHNvbmRlcmxpY2ggZmFpciwgd2VubgpHZWdlbmRlbiBhbmdlc2NobG9zc2VuIHdlcmRlbiwgZGllIG5pY2h0IGF1c3JlaWNoZW5kIGdlc3Rlc3RldCB3dXJkZW4KdW5kIG1laHIgRmVobGVyIGVudGhhbHRlbiwgYWxzIGRlciBEdXJjaHNjaG5pdHRzendlcmcgenUgdG9sZXJpZXJlbiAKdmVybWFnLiBVbmQgbmljaHRtYWwgRFUga2FubnN0IG1pciBlcmtsYWVyZW4sIGRhc3MgZGFzIGJlaSBXdXJ6ZWwgZWluZQpBdXNuYWhtZSBpc3QuLi4gQWJlciBtaXQgU3BpZWxlcm4ga2FubiBtYW4gZXMgamEgbWFjaGVuLCBkaWUgaGFiZW4gamEKbmljaHRzIHp1IHNhZ2VuIHVuZCBzaWNoIGRhbWl0IHp1ZnJpZWRlbiB6dSBnZWJlbiwgZGFzcyBkZXIgRHJpdmVyCmxhZXVmdCwgZ2VsbD8KCkZhaXJuZXNzIGphLCBhYmVyIGJpdHRlIHZvbiBiZWlkZW4gU2VpdGVuLApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFua2VuIChUcmFuY2VmZWFyLCAxNy4gRmViIDE5OTgsIDE5OjI1OjQxKToKfiMhIHJuPUN5cmF4IHJ0PTg4NzY2NzUzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApEYXMgTUcgaXN0IHByaW1hZXIgZWluIFF1ZXN0bXVkIHVuZCBudXIgc2VrdW5kYWVyIGF1Y2ggenVtIE1ldHplbG4gZ2VkYWNodC4uLgpkdXJjaCBkYXMgbmV1ZSBUYW5rc3lzdGVtIGtvbW10IGRhcyB3aWVkZXIgdmllbCBiZXNzZXIgJ3JhdXMgKHVlYmVybGVnIG1hbAp3aWV2aWVsZSBRdWVzdGVuIER1IG1hY2hlbiBtdXNzdCB1bSBTZWhlciB6dSB3ZXJkZW4pIAoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFua2VuIChTbXVyZiwgMTcuIEZlYiAxOTk4LCAxOToyNjo1NSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4NzczOTk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApVbmQgamV0enQgdWViZXJsZWcgZGlyIG1hbCwgYmVpIHdpZXZpZWxlbiBRdWVzdHMgZHUgYW0gc2NobmVsbHN0ZW4Kd2VpdGVya29tbXN0LCB3ZW5uIGR1IGFsbGUsIGRpZSB3YXMgZnVlciBkaWNoIGhhYmVuLCBlaW5mYWNoIG5pZWRlci0KbWFjaGVuIGthbm5zdC4uLgoKLS0gU211cmYsIGdpYnQgVHJhbmNlZmVhciBhYmVyIGVpZ2VudGxpY2ggMTAwJSByZWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoV3VyemVsLCAxNy4gRmViIDE5OTgsIDE5OjU4OjU0KToKfiMhIHJuPU1hcnMgcnQ9ODg3NzM1NDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCm9rLCBtdXNzIGRvY2ggbWFsIHdhcyBkYXp1IHNhZ2VuLgplcyBnaWJ0IGVpbmVuIGFsdGVuIGdydW5kc2F0eiBpbiBkZXIgc29mdHdhcmVlbnR3aWNrbHVuZzogYWVuZGVyZSBuaWUgZXR3YXMKbmFjaCBkZW0gdGVzdC4gbXVzcyB6dWdlYmVuLCBkYXNzIGljaCBtaWNoIGRhIG5pY2h0IGdhbnogZHJhbiBnZWhhbHRlbiBoYWJlLAp1bmQgYmVpbSBjdXQmcGFzdGUgaGFiZW4gc2ljaCBlYmVuIGVpbiBwYWFyIGZlaGxlciBlaW5nZXNjaGxpY2hlbi4uLiBkaWUKc2NobGltbXN0ZW4gZmVobGVyIHNpbmQgd29obCBiZXNlaXRpZ3QsIHVuZCBpY2ggYmxlaWJlIGRyYW4uCmFuZGVyZXIgZ3J1bmRzYXR6IGRlciBzb2Z0d2FyZWVudHdpY2tsdW5nOiBlcyBnaWJ0IGtlaW5lIHNvZnR3YXJlIG9obmUKZmVobGVyLCBudXIgbWl0IGVudHdlZGVyIHZpZWxlbiBvZGVyIHdlbmlnZW4gZmVobGVybi4gaWNoIGRlbmtlIGJlaSBkZW4KendlcmdlbiBzaW5kIGVzIGpldHp0IGVpbiBwYWFyIHdlbmlnZXIuCgp3ZXIgdWVicmlnZW5zIGdsYXVidCwgZGFzcyBlaW4ganVuZ2VyIHp3ZXJnIGV3aWdrZWl0ZW4gYnJhdWNodCwgdW0genVyIGhlCnp1IGdlbGFuZ2VuLCBoYXQgc2ljaCBhbnNjaGVpbmVuZCBuaWNodCBnZW51ZyB1bWdlc2VoZW4uLi4gYWJlciB2aWVsbGVpY2h0CnNvbGx0ZSBpY2ggd2lya2xpY2ggZWluIGdyb3NzZXMgc2NoaWxkIGF1ZnN0ZWxsZW4sIGRhcyBhdWYgZGVuIGF1Znp1ZwpoaW53ZWlzdCA6KSBnZXJhZGUgdm9uIGplbWFuZGVtLCBkZXIgc2ljaCBzZWxic3QgYWxzIGZvcnNjaGVyIHVuZCBxdWVzdGVyCmJlemVpY2huZXQsIGlzdCBkYXMgZWluIGV0d2FzIHRydWViZXMgYXJndW1lbnQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhbmtlbiAoQ3lyYXgsIDE3LiBGZWIgMTk5OCwgMjE6MzM6MTUpOgpBbHNvIGljaCBkZW5rZSBkYXMgZGFzIHN5c3RlbSBkb2NoIG5pY2h0IHNvb29vb29vIHNjaGxlY2h0IGlzdCBkYSBtaXIgZGFzIGVpbgpndXRlciBmcmV1bmQgZXJrbGFlcnQgaGF0IC4uLi4Kc2NoYXUKQVJHTAphYmVyIFN0aW5nIHdpZXNvIG11c3N0IGR1ciBJTU1FUiBydW1sYWVzdGVybj8KdW5kIHdhcyBpY2ggbm9jaCBtZWludGUgaXN0OiB3ZW5uIG1hbiBFSU5FTiBrbGVpbmVuIEZlaGxlcm4gbWFjaHQgd2lyIG1hbgpzb2ZvcnQgYW5nZXNjaGlzc2VuIHVuZCBkYXMgaXN0IG5pY2h0IG51ciBtaXIgYXVmZ2VmYWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFua2VuIChTdGluZywgMTcuIEZlYiAxOTk4LCAyMTozNjoxNCk6Cn4jISBybj1DeXJheCBydD04ODc3NDc1OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc3NDc1OTUKSG1tLi4uIEN5cmF4LCBpY2ggdWViZXJsZWdlIGJldm9yIGljaCBuZW4gYXJ0aWtlbCBpbiBkaWUgTVBBIHNjaHJlaWJlLi4uClZpZWxsZWljaHQgdW50ZXJzY2hlaWRldCB1bnMgZGFzcyBqYSA/CgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhbmtlbiB1bmQgUmFzc2VuIChKYW1hbHNraSwgMTcuIEZlYiAxOTk4LCAyMTo1Mjo1NCk6CkhpIQpBbSBNb250YWcgd2FyIGljaCByZWNodCBiZXRydWVidCEgQWxzIEVsZiBrb25udGUgbWFuIHNpY2ggbmljaHQgbWl0IGRlbQpDaGFvc2JlY2hlciB2b24gMzAgS1AgYXVmIDIyNiBLUCAnZXJmcmlzY2hlbicsIG9obmUgenUgYmxhdSB6dSBzZWluISBJY2ggaGFiCmJlc3RpbW10IGtlaW5lIFJhc3NlIGdld2FlaGx0LCBkaWUgaW4gZGVyIGVpbmVuIG9kZXIgYW5kZXJlbiBHaWxkZSBiZXNzZXIgZHJhbgp3YWVyZSwgc29uc3Qgd2FlcmUgaWNoIGJlc3RpbW10IG5pY2h0IGFscyBFbGYgaW4gZGllIFN0cnV2IGdlem9nZW4gKEdyYXUqKS4KSWNoIGhhYmUgYXVjaCBiZXN0aW1tdCBrZWluZSBMdXN0IG1laW5lIFJhc3NlIHp1IHdlY2hzZWxuLCB3ZWlsIGRhcwpLaW5kZXJnYXJ0ZW5mYXNjaGluZyBpc3QuIERhcyBzbyBlaW4gbmV1ZXMgU3lzdGVtIGhvZmZlbnRsaWNoIG5vY2ggZ2V0ZXN0ZXQgbmQKYW5nZXBhc3N0IHdpcmQsIGdpYnQgbWlyIG5vY2ggZXR3YXMgSG9mZm51bmchIERhc3MgZGFzIE1HIHNvIHJlYWxpc3Rpc2NoIHdpZQptb2VnbGljaCBzZWluIHNvbGwsIHZlcnN0ZWhlIGljaCBuaWNodCBnYW56LiBGdWVyIG1pY2ggaXN0IGVzIGltbWVybm9jaCBlaW4KU3BpZWwgdW5kIGJlaSBlaW5lbSBTcGllbCBmcmV1dCBtYW4gc2ljaCBtZWlzc3QgZWhlciB3ZW5uIG1hbiBnZXdpbm50LCBhbHMKd2VubiBtYW4gdmVybGllcnQuIEZ1ZXIgaG9laGVyZSBTZWhlciBtYWcgZXMgdGVpbHdlaXNlIGxhbmd3ZWlsaWcgZ2V3b3JkZW4Kc2VpbiB1bmQgYXVjaCBoYWVydGVyZSBNb25zdGVyIG1vZWdlbiBmdWVyIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gZWluCktpbmRlcnNwaWVsIGdld2VzZW4gc2VpbiwgYWJlciBpY2ggd2FyIGVyZnJldXQgaW4gbGV0enRlciBaZWl0IG5pY2h0IG1laHIgdW0KamVkZXMgYmlzc2NoZW4gYmVzc2VyZXIgQXVzcnVlc3R1bmcgbWVpbmVtIEZyZXVuZGVza3JlaXMgYXVmIGRlbiBOZXJ2IGdlaGVuIHp1Cm11ZXNzZW4hIEdlbWVpbnNjaGFmdHNrYWVtcGZlIHNpbmQgbmF0dWVybGljaCBzcGFzc2lnLCBhYmVyIHdlbm4gYmVpIGRlbSBLYW1wZgpuaWNodCBmdWVyIGplZGVuIGV0d2FzIGhhcmF1c3NwcmluZ3QsIGlzdCBlcyByZWNodCBzY2h3aWVyaWcsIG9mdCBnZW51ZyBMZXV0ZQp6dXNhbW1lbnp1cnVmZW4sIGJlc29uZGVycyBpbiBkZW4gU3R1bmRlbiBkaXJla3QgbmFjaCBkZW0gUmVib290LCBpbiBkZW5lbgpqZWRlciBzZWluZSBBdXNydWVzdHVuZyBzdWNodCEKRGllc2VzIFNZc3RlbSBiZXRyaWZmdCBudW4gYXVjaCBhbGxlIFNwaWVsZXIvU2VoZXIsIHdvYmVpIGVzIG5ld2JpZXMgdmVybS4Kbm9jaCBuaWNodCBzbyBiZW1lcmtlbiB3ZXJkZW4uIFdhZXJlbiBudXIgaGFlcnRlcmUgR2VnbmVyIGVpbmdlZnVlaHJ0IHdvcmRlbiwKaGFldHRlIHNpY2ggamVkZXIgYXVzc3VjaGVuIGtvZW5uZW4sIG9iIGVyIG1laHIgb2RlciB3ZW5pZ2VyIFJlaXogYnJhdWNodC4KSWNoIHdlcmRlIG1hbCBzZWhlbiwgd2llIGVzIGhldXRlIGxhZXVmdC4gV2VubiBlcyB3ZWl0ZXJoaW4gU1NPT08gcmVhbGlzdGlzY2gKYmxlaWJ0LCBrYW5uIGljaCBhdWNoIDMgUkwtQmllciB0cmlua2VuLCBibGF1IHNlaW4gdW5kIG5lIEhvcmRlIEZhc2Nob3MKYW5wb2VibGVuLCBkaWUgc2ljaGVybGljaCBtZWhyIHZlcnJhZ2VuIGFscyBpY2ggdW5kIGF1Y2ggYmVzc2VyIHp1c2NobGFnZW4Ka29lbm5lbiBhbHMgaWNoLgpKYW1hbHNraSwgZGVyIFNvaG4gZWluZXIgTXV0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3ZXJnZW4gTGFiIChadWVyaWxldSwgMTcuIEZlYiAxOTk4LCAyMzo0MzoxMCk6Cn4jISBybj1Cb2luZyBydD04ODc3MjM2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc3MDcyNDUKSGksCk5hIEhvZXIgbWFsIEJvaW5nLCBpY2ggaGFiZSBkaWVzZW4gQXVmenVnIG5pY2h0IGdlZnVuZGVuIHVuZCBCaWVyY2hlbiBhdWNoCm5pY2h0LgpJY2ggbWVpbmUgV2lyIHNwaWVsZW4gaGllciBzY2hvbiBldHdhcyBsYWVuZ2VyIGFscyBpcmdlbnR3ZWxjaGUgRnJpc2NobGluZ2UKZGllIG5ldSBiZWdpbm5lbi4gSWNoIHZlcnN0ZWhlIGVpbmZhY2ggZGllIFBvbGl0aWsgbmljaHQgZGllIGJld2lya3QgZGFzCnNwZXppZWxsIGZ1ZXIgZWluZSBSYXNzZSBkYXMgd2lycndhcnJtb29yIGVudHNjaGFlcmZ0LCBvYndvaGwgZXMgbm9jaCBlaW5lbgphbmRlcmVuIFdlZyByYXVzIGF1cyBTbmFya2VuIGdpYnQuIFVuZCBkaWUgc2VsYmUgUG9saXRpayBkaWUgZGVuIFN0YXJ0cHVua3QKZGVyIFp3ZXJnZW4gZWluZXIgYW5kZXJlbiBSYXNzZSB2b3IgZWluIHVubG9naXNjaGVzIExhYiwgZGFubiBuaWNodG1hbCByaWNodGlnCmdldGVzdGV0IHd1cmRlIHNldHp0LiBTb3JyeSBpcmdlbnR3aWUgbGV1Y2h0ZXQgbWlyIGRpZSBTYWNoZSBuaWNodCBlaW4sIHdlbm4Kc2ljaCBqZW1hbHMgZWluIEFuZmFlbmdlciByaWNodHVuZyBub3JkZW4gdmVyaWlydCwgd2lyZCBlciBwcm9ibGVtZSBoYWJlbiBkb3J0CndpZWRlciByYXVzenVrb21tZW4uIERhenUga29tbXQgaGluenUsIGRhcyBuaWNodCBqZWRlciBBbmZhZW5nZXIgZ2xlaWNoIGRlbgoiVW50IiBiZWZlaGwga2VubnQgdW5kIHdlaXNzIGRhcyBtYW4gZXR3YXMgdW50ZXJzdWNoZW4ga2Fubiwgb2RlciBnYXIgS25vZXBmZQpkcnVlY2tlbi4gSWNoIGJlZGF1ZXJlIGVpbmZhY2ggZGFzIHNvbGNoZSBrb256ZXB0ZSBpbW1lciB2b24gaXJnZW50d2VsY2hlbgpFcnptYWdpZXIgb2RlciBHb2V0dGVyIGVudHNjaGllZGVuIHdlcmRlbiwgZGllIGRhcyBnYW56ZSBTYWNoZSBtaXQgSmFocmVsYW5nZXIKZXJmYWhydW5nIHNlaGVuLiBTZWh0IG1hbiBkYXMgZ2FuemUgYXVzIGRlbiBBdWdlbiBlaW5lcyBrb3BsZXR0ZW4gbmV3YmllcyBzZWh0CmRpZSBTYWNoZSBhYmVyIGFuZGVycyBhdXMuIERhenUsIGhhYmUgaWNoIHNlbGJzdCBuYWNoIGxhbmdlbiBzdWNoZW4gZGVuCkF1c2dhbmcgbmljaHQgZ2VmdW5kZW4uIE5hIGtsYXIgc2V0enQgZG9jaCBkaWUgRWxmZW4gaW4gZGllIFNTUCB1bmQgbWFjaHQgZG9ydAplaW4gQXVmenVnIGhpbiwgZXZ0bC4gZmluZGVuIHNpZSBpaG4gamEgYmV2b3Igc2llIGFia3JhdHplbiBkaWUgbmV1bGluZ2UuCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFua2VuIChadWVyaWxldSwgMTcuIEZlYiAxOTk4LCAyMzo1NDo1Myk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4NzczOTk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApIaSwKU29ycnkgYWJlciBkYXMgaXN0IGRpZSBiaWxsaWdzdGUgdW5kIGFlbHRlc3RlIEF1c3JlZGUgZGllIGVzIGdpYnQuIFNjaG9uCm1vZWdsaWNoIGRhcyBNb3JnZW5ncmF1ZW4gZWluIFF1ZXN0bXVkIGlzdC4gSWNoIG1hZyBkYXMgYWxsZW4gZ29laG5uZW4gd2VubgpzaWUgZ2VybmUgUXVlc3Rlbi4gTGVpZGVyIHNlaGUgaWNoIHZvbiBkZXIgcXVlc3Rlcm4gbmljaHQgZGVuIHNlbGJlbiBSZXNwZWt0CmdlZ2VudWViZXIgZGVyZXIgZGllIGVpbmZhY2ggbWFsIGV0d2FzIFNwYXNzIGhhYmVuIHdvbGxlbiB1bmQgZXR3YXMgenUKbWV0emVsbi4gRFUgZGFyZnN0IGphIFF1ZXN0ZW4gd2VubiBkdSBGdW4gaGFiZW4gd2lsbHN0LCBhYmVyIG1hZyBkb2NoIGRlbgphbmRlcmVuIGRpZSBGcmV1bmRlIGFtIE1ldHplbG4uIFdlbm4gamVtYW5kIGhpZXIgU2VoZXIgb2RlciB3aWUgaWNoIE1hZ2llcgp3ZXJkZW4gbW9lY2h0ZSwgZGFubiBtdXNzIGVyIGhhbHQgUXVlc3Rlbiwgc28gc2luZCBkaWUgUmVnZWxuLiBBYmVyIG51cgpRdWVzdGVuIGlzdCBkb2Mgd29obCBsYW5nd2VpbGlnIHVuZCBvZWRlLgpNYW4gbWFjaHQgaGllciB2aWVsZXMgdW0gZGVuIFNwaWVsZXIgZGVuIFNwYXNzIGFtIFNwaWVsZW4genUgbmVobWVuLCB1bmQgdmllbGUKTGV1dGUgZGVua2VuIHN0dXVyIGF1cyBpaHJlciBTaWNoIHdhcyBzaWUgZ2VybmUgbW9lZ2VuIHVuZCBha3plcHRpZXJlbiBhbmRlcmUKTGV1dGUgbmljaHQgaWhyZSBXdWVuc2NoZS4gSWNoIGZpbmQgZGFzIGVpbmUgYmVkYXVlcmxpY2hlIHVuZCBzY2hsZWNodGUKZW5kdHdpY2tsdW5nLgoKVHNjaGF1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBad2VyZ2VuIExhYiAoTmViLCAxOC4gRmViIDE5OTgsIDAxOjE2OjE2KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg4Nzc1NTM5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzcwNzI0NQpBbHNvLCBpY2gga2FubiBtaWNoIGRhIGRlbiBXb3J0ZW4gdm9uIEFsYWluIG51ciBhbnNjaGxpZXNzZW4uCkljaCBoYWJlIG5hY2ggZWluZW0gVG9kIGF1Y2ggZWluZSB6aWVtbGljaCBsYW5nZSBaZWl0IHdlZGVyIEF1Znp1ZyBub2NoCkF1c2dhbmcgZ2VmdW5kZW4sIHVuZCBkZXIgR2VkYW5rZSwgZGFzIGJsdXRpZ2UgQW5mYWVuZ2VyIGluIGRpZXNlbSBMYWJ5cmludGgKaGVydW1pcnJlbiwgYmV2b3Igc2llIGRhcyBlcnN0ZSBNYWwgZXR3YXMgdm9tIE1vcmdlbmdyYXVlbiBzZWhlbiwgd2lsbCBtaXIgZ2FyCm5pY2h0IGdlZmFsbGVuLgpEYSB3aXJkIGVpbmVtIGRvY2ggd2lya2xpY2ggZGVyIFNwaWVsc3Bhc3MgYWxzIEFuZmFlZ2VyIHZlcmRvcmJlbiwgYmV2b3IgZGFzClNwaWVsIGJlZ29ubmVuIGhhdC4KCgpOZWIsIHNjaGxpZXNzdCBzaWNoIGRlbiBBcnRpa2VsbiBzZWluZXIgVm9yZ2FlbmdlciBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRhbmtlbiAoSGFuZ292ZXIsIDE4LiBGZWIgMTk5OCwgMDg6MzE6MDMpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODg3NzU2MDkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkhtLi4uCgp3YXMgZnVlciBtZWluZW4gVGVpbCBkYXMgUXVlc3RlbiAvIE1ldHplbG4gYW5nZWh0IC0gZXMgZ2lidCBlaW5lIGdhbnplCk1lbmdlIFNlaGVyLCBkaWUgZW50d2VkZWVyIHNjaG9uIGFsbGUgUXVlc3RzIGhhYmVuIG9kZXIgZWluZmFjaCBhdWNoIApmdWVyIGVpbmUgWmFpdGxhbmcga2VpbmUgTHVzdCBtZWhyIHp1bSBRdWVzdGVuLi4uaWNoIGthbm4gbWljaCBndXQgZHJhbgplcmlubmVybiwgd2llIG5lcnZpZyBpY2ggZXMgZmFuZCwgbm9jaCBtYWwgMTAwIEFQIHp1c2FtbWVuenViZWtvbW1lbiwKdW0gZGFubiBFTkRMSUNIIFNlaGVyIHp1IHdlcmRlbi4gTWV0emVsbiBnZWhvZXJ0IG1pdCBTaWNoZXJoZWl0IGZ1ZXIKZWluZW4gVGVpbCBkZXIgU3BpZWxlciB6dW0gU3BpZWwgZGF6dSwgdW5kIGRhcyBzb2xsdGUgc2ljaCBhdWNoIG5pY2h0CmFlbmRlcm4uCgotSGFuZ292ZXIKClAuUy46IGRhcyB3YXIgamV0enQga2VpbmUgQXR0YWNrZSBhdWZzIFRhbmtzeXN0ZW0sIGljaCBrYW5uIGRhbWl0IG5vY2gKaGFsYndlZ3MgZ3V0IGxlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFua2VuIChIb2JvLCAxOC4gRmViIDE5OTgsIDA4OjQwOjUyKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg4Nzc1NjA5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApTYWcgbWFsLCBadWVyaSwgCmhhdCBEZWluIFNwaWVsZXIgZGFzIFRhbmtzeXN0ZW0gdWViZXJoYXVwdCBzY2hvbiByaWNodGlnIGdldGVzdGV0PwpJbnp3aXNjaGVuIGhvZXJ0IG1hbiBuYWVtbGljaCBmYXN0IG51ciBub2NoIHBvc2l0aXZlIFN0aW1tZW4genVtIG5ldWVuIFN5c3RlbS4KCiBIb2JvIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFua2VuIChTcmFiaSwgMTguIEZlYiAxOTk4LCAwOTo1NjowOSk6CkFsc28sIGFlaG0sIGljaCBoYXR0ZSBqYSBhbSBBbmZhbmcgYXVjaCB1ZWJlciBkaWUgVGFua3JlZm9ybSBnZWxhZXN0ZXJ0LCBhYmVyCmluIGRlciBad2lzY2hlbnplaXQgZG9jaCBudXIgZ3V0ZSBFcmZhaHJ1bmdlbiBkYW1pdCBnZW1hY2h0LCB2aWVsbGVpY2h0IG11IG1hbgpzaWNoIGVyc3QgZGFtaXQgYWJmaW5kZW4sIGRhIGVzIHNpY2ggZ2VhZW5kZXJ0IGhhdC4gQWJlciBkYXMgZGFzIE1vcmdlbkdyYXVlbgpwcmltYWVyIHp1bSBxdWVzdGVuIHVuZCBzZWt1bmRhZXIgenVtIG1ldHplbG4gaXN0LCBnbGF1YmUgaWNoIG5pY2h0LCBkYSBzZWhyCnZpZWxlIFF1ZXN0cyB6dW0gbWV0emVsbiBzaW5kLiBEYSBzZWhlIGljaCBiZWkgZGVyIFRhbmtyZWZvcm0gZG9jaCBub2NoIGVpbgpwYWFyIFNjaHdpZXJpZ2tlaXRlbiwgZGllIHZpZWxsZWljaHQgbm9jaCBtYWwgdWViZXJkYWNodCB3ZXJkZW4gbXVlc3NlbiwgZGEKYW5zb25zdGVuIGRpZSBlYmVuIGdlbmFubnRlbiBRdWVzdHMgdW5kIGRlbiB2b3JnZXNjaGxhZ2VuZW4gU3R1ZmVuIHVlYmVyZGFjaHQKd2VyZGVuIHNvbGx0ZW4uCgpTcmFiaSwgZGVtIG5vY2ggMTcyIEFQcyB6dW0gU2VoZXIgZmVobGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBad2VyZ2Vuc3RhZHQ/IE9kZXIgWi1MYWI/IChUdW5peGd1dCwgMTguIEZlYiAxOTk4LCAwOTo1NjoyOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODg3NzQxOTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjkyNTMyCkFsc28sIFd1cnplbCwgaGllciBnZWh0J3MgdW0gQU5GQUVOR0VSISwgZGllIHdpc3NlbiBuaWNodCwgZGFzcyBkZXIgRmFocnN0dWhsCmZ1ZXIgc2llIGJlc3NlciB3YWVyZSwgZGFzcyBzaWUgc2ljaCB6dWVyc3QgYXVmIGRlciBIRSB1bXNjaGF1ZW4gc29sbHRlbiB1bmQKZXJzdCBkYW5uIGltIExhYiEhIQoKSW0gdWVicmlnZW4gaGFsdGUgaWNoIGRpZSAiZ3Jvc3NlcyBTY2hpbGQiLUlkZWUgZnVlciBnYXJuaWNodCBzY2hsZWNodC4uLgoKJ3MgS2FyYXRlLVp3ZXJjaGxlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBad2VyZ2Vuc3RhZHQ/IE9kZXIgWi1MYWI/IChMYXJpc3NhLCAxOC4gRmViIDE5OTgsIDEyOjE3OjA0KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg4Nzc5MjE4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5MjUzMgpIb2ksCmJhdXQgZG9jaCBlaW5lbiB0ZWxlcG9ydCBlaW4sIGRlbiBudXIgTGV2ZWwgMS1TcGllbGVyIGJlbnV0emVuIGtvZW5uZW4uCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoT2Jlcm1vdHosIDE4LiBGZWIgMTk5OCwgMTI6MjI6NDUpOgp+IyEgcm49TGFyaXNzYSBydD04ODc4MDA2MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTI1MzIKTnVyIExldmVsIGVpbnMgZmluZGUgaWNoIGFyZyBrbmFwcCBiZW1lc3NlbiBiaXMgTGV2ZWwgNSBvZGVyIHNvIHd1ZXJkZSBpY2gKYmVzc2VyIGZpbmRlbi4gCgpPTQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYW5rZW4gKFpvcnJvLCAxOC4gRmViIDE5OTgsIDEyOjI4OjE1KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg3NzM5OTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwClF1YXRzY2ggZGllIHBhYXIgcXVlc3Qgc2luZCBkb2NoIHNjaG5lbGwgZ2VtYWNodCB1bmQgd2FzIGtvbW10IGRhbmFjaCA/CmRhbm4gZGFyZiBtYW4gbnVyIG5vY2ggaWRsZSB1bmQgYXVmIG5lIHF1ZXN0IHdhcnRlbiBvZGVyIHdpZSBvZGVyIG5vY2gKc2NobGltbWVyIG1hZ2llciB3ZXJkZSA6KQoKWm9ycm8gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUYW5rZW4gKE9ya3RvZXRlciwgMTguIEZlYiAxOTk4LCAxMzo0MDoxMSk6Cn4jISBybj1ab3JybyBydD04ODc4MDEyOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKSWNoIG11c3MgWm9ycm8gZGEgenVzdGltbWVuLgpNRyBzb2xsIGVpbiBRdWVzdG11ZCBzZWluLCBIbW0gbWl0IGRpZXNlciBBdXNzYWdlIGhhYmUgaWNoIHNvIG1laW5lClNjaHdpZWlyZ2tlaXRlbiwgZGEgZXMgbWVpbmVyIE1laW51bmcgbmFjaCBzY2hvbiBpbW1lciBlaGVyIGJlaWRlcyB3YXIsIGF1Y2gKd2VubiBpbW1lciBtYWwgd2llZGVyIFZlcnN1Y2hlIHVudGVybm9tbWVuIHd1cmRlbiwgZGVuIE1ldHpsZXJuIGRlbiBTcGFzcyB6dQpuZWhtZW4gKGljaCBkZW5rZSBkYSBudXIgYW4gZGllIGVpbmZ1ZWhydW5nIGRlciBGUCB1bmQgZGllIE1lZ2FtYWVzc2lnZQpBYndlcnR1bmcgZGVyIEVQKS4KCk51ciBpc3QgZXMgZG9jaCBzbywgZGFzIGRpZSBaYWhsIGRlciBRdWVzdHMgbnVuIG1hbCBiZXNjaHJhZW5rdCBpc3QgdW5kIG5ldWUKUXVlc3QgbmljaHQgdGFlZ2xpY2ggdm9tIEhpbW1lbCBmYWxsZW4uCktsYXIgaXN0IGF1Y2ggZGllIFphaGwgZGVyIE5QQyBiZWdyZW56dCwgYWJlciBlcyBnaWJ0IGRvY2ggc2VociB2aWVsIG1laHIKZGF2b24sIGF1c3NlcmRlbSBtYWNodCBlcyB6dW1pbmRlc3QgbWlyIGF1Y2ggaW1tZXIgd2llZGVyIFNwYXNzLCBOUEMgenUKa2lsbGVuLCBhdWNoIHdlbm4gaWNoIHNpZSBzY2hvbiB4IG1hbCBnZWtpbGx0IGhhYmUuIChlcyBtYWcgamEgYXVjaCBMZXV0ZQpnZWJlbiwgZGllIHp1bSBTcGFzcyBlaW5lIFF1ZXN0IHggbWFsIHNwaWVsZW4sIGFiZXIgaWNoIGtlbm5lbiBkYSBrZWluZW4uLikKCkFsc28gYml0dGUsIGdlaHQgdm9uIGRlciAiRGFzIE1HIGlzdCBlaW5lIHJlaW5lcyBRdWVzdG11ZCItIGF1c3NhZ2UgYWIgdW5kCmxhc3N0IGF1Y2ggZGVuIE1ldHpsZXJuIGlocmVuIFNwYXNzLgoKUFMgZGFzIGlzdCAobm9jaCkga2VpbmUgS3JpdGlrIGFtIG5ldWVuIFRhbmtzeXN0ZW0uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGFua2VuIChBcmssIDE4LiBGZWIgMTk5OCwgMTM6NTk6MTQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg4NzgwNTYxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApJY2ggc2FoIGRhcyBNRyB2b24gamVoZXIgZWhlciBhbHMgZWluICdNdWx0aS1TcGFzcy1NdWQnOgpRdWVzdGVuLCBNZXR6ZWxuLCBBYmVudGV1ZXJuLCBDaGF0dGVuLCBFcmZvcnNjaGVuIHVuZCBaVHMgc3VjaGVuLgpFaW53YWVuZGU/IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4uLndvIHNpbmQgbnVyIGRpZSAnZ3V0ZW4sIGFsdGVuJyBaZWl0ZW4gaGluLi4uIChGbGludG5haWwsIDE4LiBGZWIgMTk5OCwgMTQ6MTE6MDUpOgpXZW5uIGljaCBtaXIgZGllc2VuIGdhbnplbiBTY2htYXJybiB1ZWJlciBUYW5rc3lzdGVtZSAoV2lyZCBkYXMgTXVkIGpldHp0IHZvbgpCUCBnZXNwb25zZXJ0OikgdW5kIFp3ZXJnZW5sYWJzIGR1cmNobGVzZSwgZnJhZyBpY2ggbWljaDoKV28gc2luZCBudXIgZGllICdndXRlbiwgYWx0ZW4gWmVpdGVuJyBoaW4sIGFscyBtYW4gdmVyendlaWZlbHQgdmVyc3VjaHRlIGFsbGUKU3RlaW5iZWlzc2VyIHp1IHRvZXRlbiwgdW0gYW5zIEFtdWxldHQgenUgZ2VsYW5nZW4gKnNldWZ6KiB1bmQgZGFzIGdhbnogb2huZQpTY3JpcHQgdW5kIFRhbmtzeXN0ZW0gdW5kIExhYiB1bmQgSmF2YVNjcmlwdCAqc2V1ZnoqCkljaCBnbGF1YmUgaWNoIGJpbiBlaW4gUmVsaWt0LCBlaW4gUmVzdCwgZWluIFVlYmVyYmxlaWJzZWwuLi4uLgoKV0FBQUFISEguLi5EaWUgTVVELURlcHJlc3Npb24gaGF0IG1pY2ggaW4gaWhyZW4gS2xhdWVuLi4uCgpGbGludCoKClAuUy4gV2FydW0gZmluZGUgaWNoIGluIGxldHp0ZXIgWmVpdCBlaWdlbnRsaWNoIHNvdmllbGUgVHlwbydzPz8/IElzIG1laW4KUmVjaG5lciBrYXB1dHQsIG9kZXIgbGllc3QgaGllciBrZWluZXIgbWVociBkaWUgQmVzY2hyZWlidW5nZW4gZGVyIHYncz8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGFua2VuIChab3JybywgMTguIEZlYiAxOTk4LCAxNDoyMzo0NSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODg3ODA1NjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkljaCB3dWVyZGUgc29nYXIgbm9jaCB3ZWl0ZXJnZWhlbiwgZGVubiBkYXMgbWcgd2FyIGJpcyB6dXIgZWluZnVlaHJ1bmcgZGVzCmZwJ3Mgdm9yd2llZ2VuZCBlaW4gbWV0emVsLW11ZC4gZGllc2VzIGdhbnplIGdlc2NocmVpIGRhcyBtZyBpc3QgZWluCnF1ZXN0LW11ZCwgd2FzIGhpZXIgaW1tZXJ3aWVkZXIgYWxzIGFsYmkgZnVlciBhbGxlIGFrdGlvbmVuIGdlZ2VuIG1ldHplbG4gaXN0CmxhZWNoZXJsaWNoLiAKClpvcnJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4ud28gc2luZCBudXIgZGllICdndXRlbiwgYWx0ZW4nIFplaXRlbiBoaW4uLi4gKFNtdXJmLCAxOC4gRmViIDE5OTgsIDE0OjUxOjM0KToKfiMhIHJuPUZsaW50bmFpbCBydD04ODc4MDc0NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc4MDc0NjUKUmUgVHlwb3M6IER1IHNjaHJlaWJzdCBqYSBzZWxiZXIgZWluZW4gQXBvc3Ryb3BoZW4gdm9yIGRhcyBQbHVyYWwtUy4KClNtdXJmLCBmaW5kZXQgYXVjaCBvZWZ0ZXJzIGVoZXIgZGVyIGFuZGVyZW4gQnJldHRlciBhbHMgZGFzIHZvcm0gZWlnZW5lbgpEZW5ra2FzdGVuLiAgOi0vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4ud28gc2luZCBudXIgZGllICdndXRlbiwgYWx0ZW4nIFplaXRlbiBoaW4uLi4gKENhdHdlYXpsZSwgMTguIEZlYiAxOTk4LCAxNTowMjoxMik6Cn4jISBybj1GbGludG5haWwgcnQ9ODg3ODA3NDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODA3NDY1CkhtLCBBbmF0b2wsIHZlcm9lZmZlbnRsaWNoZSBkb2NoIG1hbCBkYXMgUXVpei4KSWNoIHdldHRlIEZsaW50IHdpcmQgcHJpbWEgYWJzY2huZWlkZW4gOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYW5rZW4gKFphcGhvYiwgMTguIEZlYiAxOTk4LCAxNTo1MjozNSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4NzczOTk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMAoKRGFzIHNlaGUgaWNoIGFuZGVycywgaWNoIGJpbiB6d2FyIGF1Y2ggcHJpbnppcGllbGwgenVtIHF1ZXN0ZW4gaGllciwgYWJlciBlcwptYWNodCBkb2NoIHppZW1saWNoIHNwYXNzIGlyZ2VuZHdlbGNoZSBibG9lZGVuIG9ya3MgYWJ6dXNjaGxhY2h0ZW4uClZvciBhbGxlbSBrYW5uIG1hbiBkYWJlaSB3dW5kZXJiYXIgYWdyZXNzaW9uZW4gYWJiYXVlbiwgdW5kIHp3YXIgaW4gZWluZXIKemllbWxpY2ggdW5nZWZhZWhybGljaGVuIGFydC4KCkRlc2hhbGIgc3RpbW1lIGljaCBnZWdlbiBkYXMgdGFua3N5c3RlbSBpbiBzZWluZXIgamV0emlnZW4gZm9ybS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRhbmtlbiAoWmFybml5YSwgMTguIEZlYiAxOTk4LCAxNTo1ODozMCk6Cn4jISBybj1aYXBob2IgcnQ9ODg3ODEzNTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwClphcGhvYiwgRGVpbiBBcnRpa2VsIGtsaW5ndCwgYWxzIHdlbm4gaGllciBlaW4gZ2VzYW10ZXMgS29uemVwdCB6dXIgUHJvYmUKYW5nZXNjaGxvc3NlbiBpc3QgdW5kIGRhcnVlYmVyIGFienVzdGltbWVuIHNlaS4gREVNIGlzdCBuaWNodCBzbyEgRGFzIG5ldWUKVGFua3N5c3RlbSBibGVpYnQgZHJhbiwgd2lyZCB2aWVsbGVpY2h0IGluIGVpbmlnZW4ga2xlaW5lbiBXZXJ0ZW4gbm9jaG1hbApnZWFlbmRlcnQsIGFiZXIgRVMgQkxFSUJULCB1bmQgZGEga2FubnN0IGR1IGRhZ2VnZW4gc3RpbW1lbiB3aWUgRHUgd2lsbHN0LiBEYXMKbWFjaHQgZGFubiBuaXggYW5kZXJlcyBhbHMgVW5tdXQgdW5kIHNjaGxlY2h0ZSBTdGltbXVuZy4gQWt6ZXB0aWVyZSwgZGFzcyBkYXMKbmV1ZSBTeXN0ZW0gbnUgc28gaXN0IHVuZCB3ZW5uIER1IGRhbWl0IG5pY2h0IGxlYmVuL3NwaWVsZW4ga2FubnN0LCBkYW5uIG11c3N0CkR1IGdlaGVuLCB3aWUgc28gZWluaWdlIGFuZGVyZSBhdWNoLgoKWmFybml5YSwgZGllIG1hbmNoZSBEaXNrdXNzaW9uc3ZlcnN1Y2hlIGVpbmZhY2ggbmljaHQgdmVyc3RlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYW5rZW4gKFR1bml4Z3V0LCAxOC4gRmViIDE5OTgsIDE2OjAxOjA0KToKfiMhIHJuPVphcm5peWEgcnQ9ODg3ODEzOTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkljaCBoYWInIG5peCBnZWdlbiBkYXMgbmV1ZSBTeXN0ZW0sIGFiYSBpY2ggZGVua2UsIEFMTEVTIFNvbGx0ZSB6dW1pbmRlc3RlbnMKcnVlY2tnYWVuZ2lnIGdlbWFjaHQgd2VyZGVuLCB3ZW5uIHNpY2ggZWluIEdyb3NzdGVpbCBkZXIgU3BpZWxlciBkYWdlZ2VuCmVudHNjaGVpZGV0LCB3YXMgaGF0IGVpbiBNYWdpZXIgc2Nob24gdm9uIGVpbmVtIGxlZXJlbiBNdWQsIGluIGRlbSBTZWluIFdpbGxlCkdlc2V0eiBpc3Q/Pz8KCidzIEthcmF0ZS1ad2VyY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGFua2VuIChNaW5nbywgMTguIEZlYiAxOTk4LCAxNjowMTo1NCk6Cn4jISBybj1UdW5peGd1dCBydD04ODc4MTQwNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKRGVyIEdyb3NzdGVpbCBkZXIgU3BpZWxlciBoYXQgc2ljaCBhYmVyIG1hbCBkYWZ1ZXIgYXVzZ2VzcHJvY2hlbi4gTnVyIHNpbmQKTm9lcmdsZXIgZGFuYWNoIGltbWVyIGxhdXRlciBhbHMgZGllIHp1ZnJpZWRlbmUgTWVocmhlaXQgLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGFua2VuIChaYXBob2IsIDE4LiBGZWIgMTk5OCwgMTY6MDI6NTEpOgp+IyEgcm49WmFybml5YSBydD04ODc4MTM5MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKSG0sIGRhIGhhYiBpY2ggd29obCBuaWNodCByaWNodGlnIGJlZW5kZXQsCmljaCBtZWludGUgZWlnZW50bGljaCwgZGFzcyBpY2ggZ2VnZW4gZGFzIHRhbmtzeXN0ZW0gaW4gc2VpbmVyIEpFVFpJR0VOIGZvcm0KYmluLCBpY2ggYmluIG5pY2h0IGdlZ2VuIHJlZm9ybWVuLCBzb2xhbmdlIHNpZSBudWV0emxpY2ggc2luZCB1bmQvb2Rlcgp2b3J0ZWlsZSBicmluZ2VuLCBhYmVyIGltaG8gaXN0IGRhcyB0YW5rc3lzdGVtIHVlYmVyem9nZW4uCkRlc2hhbGIgYml0dGUgaWNoIHVtIHZlcmJlc3NlcnVuZy4KClphcGhvYiwgaG9mZmVuZCBzaWNoIHZlcnN0YWVuZGxpY2ggYXVzZ2VkcnVlY2t0IHp1IGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGFua2VuIChUdW5peGd1dCwgMTguIEZlYiAxOTk4LCAxNjowNDoxNCk6Cn4jISBybj1NaW5nbyBydD04ODc4MTQxMTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKRGVubm9jaCBzb2xsdGUgaW1obyBkYXJ1ZWJlciBkaXNrdXRpZXJ0IHdlcmRlbiBrb2VubmVuISBOdXIgZGFyYXVmIHdvbGx0ZSBpY2gKaGlud2Vpc2VuISBLb21tZW50YXJlIHdpZSAiSG93Z2gsIGljaCBoYWJlIGdlc3Byb2NoZW4sIHVuZCB3YXMgaWhyIGRhdm9uCmhhbHRldCBpcyBtaXIgd3Vyc2NodCIgaGFsdGUgaWNoIGZ1ZXIgemllbWxpY2ggdWViZXJmbHVlc3NpZy4KQWJhIHdpZSBnZXNhY2h0OiBOSVggZ2VnZW4gZGFzIG5ldWUgU3lzdGVtIC0gSWNoIHNlaGUgendhciBub2NoCnZlcmJlc3NlcnVuZ3NiZWRhcmYsIGFiYSBpbSBncm9iZW4gZ2VmYWVsbHQncyBtaXIhIDpvKQoKJ3MgS2FyYXRlLVp3ZXJjaGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUYW5rZW4gKE1pbmdvLCAxOC4gRmViIDE5OTgsIDE2OjA2OjIxKToKfiMhIHJuPVphcGhvYiBydD04ODc4MTQxNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKVW5kIHdlbGNoZSAnI1ZlcmJlc3NlcnVuZ2VuJyBoYWV0dGVzdCBEdSBqZXR6dCBnZXJuPyBEYXMgU3lzdGVtIGlzdCBnZXJhZGUKbWFsIDQgVGFnZSBkcmFuIHVuZCBpY2ggYmV6d2VpZmxlIGdhbnogc3RhcmssIGRhc3MgRHUgc2Nob24ga29tcGxldHQgZHVyY2gtCmdlc3BpZWx0IGhhc3QuIHdhcyBlcyBmdWVyIGh1ZWJzY2hlIE1vZWdsaWNoa2VpdGVuIGdpYnQuClNjaGF1IERpciBkb2NoIGVyc3QgbWFsIGFuLCB3YXMgZXMgYWxsZXMgZ2lidCAobWFuY2hlIGhldWxlbiBqYSBzdHVuZGVsYW5nCmF1ZiBkZW0gS2FuYWwsIHdlaWwgaWhyIExQIG5pY2h0IG1pdCBfSUhSRU1fIFN0ZC1HZXRyYWVuayBob2NoaWRsZW4pIHVuZApkYW5uIGRlbmsgdmllbGxlaWNodCBub2NoIGRhcmFuLCBkYXNzIGVzIGVpbiBiaXNzZWwgZnJ1c3RyaWVyZW5kIGZ1ZXIgZWluZW4KTUFnaWVyIGlzdCwgd2VubiBkZXIgU3BpZWxlciBkaWUgQXJiZWl0IG1laHJlcmVyIFdvY2hlbiBpbiA1IFN0dW5kZW4gYWItCnVydGVpbHQuCgpHbG9pbiAuLi4gc3VlbHp0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUYW5rZW4gKEFuYXRvbCwgMTguIEZlYiAxOTk4LCAxNjowODozMSk6Cn4jISBybj1aYXBob2IgcnQ9ODg3ODE0MTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwClZlcmdpc3MgZXMgZWluZmFjaCwgWmFwaG9iIC0gR2FueiBvZmZlbnNpY2h0bGljaCBnbGF1YnQgWmFybml5YSBuaWNodCwKZGFzcyBTaWx2YW5hIGluIGRlciBMYWdlIGlzdCwgc2VsYnN0IFN0ZWxsdW5nIHp1bSBuZXVlbiBLbmVpcGVuc3lzdGVtCnVuZCBldHdhaWdlbiBBZW5kZXJ1bmdlbiB6dSBiZXppZWhlbiwgd2VubiBzaWUgZXMgZnVlciBub2V0aWcgaGFlbHQuCk9iIGRhcyBqZXR6dCBCZXNjaHVldHplcmluc3Rpbmt0IG9kZXIgYXJyb2dhbnRlIFdpY2h0aWdrZWl0IGlzdC4uLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGFua2VuIChHbm9tZSwgMTguIEZlYiAxOTk4LCAxNjoxNDo1MCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4NzgxMzkxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMAoiLi4ubWFjaHQgZGFubiBuaXggYW5kZXJlcyBhbHMgVW5tdXQgdW5kIHNjaGxlY2h0ZSBTdGltbXVuZy4uLi4iCgpkYXMgZWluemlnZSwgd2FzIGhpZXIgc2NobGVjaHRlIHN0aW1tdW5nIHZlcmJyZWl0ZXQsIHNpbmQgc29sY2hlIHJlcGx5cwp3aWUgZGVpbmVyLCB6YXJuaXlhLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRhbmtlbiAoS2V5LCAxOC4gRmViIDE5OTgsIDE3OjA4OjM3KToKfiMhIHJuPVpvcnJvIHJ0PTg4NzgwODIyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApBZWhtIC4uLiBhbHNvIC4uLiBpY2ggd2Vpc3MgamEgbmljaHQgOykKSWNoIGdlYmUgb2ZmaXppZWxsIHp1IFF1ZXN0cyBuZXQgenUgbW9lZ2VuIChTb3JyeSBhbiBhbGxlIG1hZ3MgZGllIHNpY2ggbWl0CmRlbSBzY2hyZWliZW4gZWJlbiBkaWVzZXIgc29sY2hlIG11ZWhlIGdlYmVuKSBtdXNzIGljaCBqZXR6dCBkYXMgTUcgdmVybGFzc2VuPwouKQoKSWNoIGJpbiBNZXR6bGVyIHVuZCB3ZXJkIGRhcyBhdWNoIGJsZWliZW4gLi4uIHVuZCBmdWVobGUgbWljaCBoaWVyIGdlbmF1CnJpY2h0aWcgZGF6dSA6KSBhbHNvIG5peCBpcyBtaXQgTUcgaXN0IGVpbiBRdWVzdG11ZCA6KQpPa2kgZXMgaXN0IGF1Y2gga2VpbiBNZXR6ZWxtdWQgLi4uIGVzIGlzdCBoYWx0IGlyZ2VuZHdhcyBkYXMgc3Bhc3MgbWFjaHQgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGFua2VuIChadWVyaWxldSwgMTguIEZlYiAxOTk4LCAxOTo1NzoyMSk6Cn4jISBybj1Hbm9tZSBydD04ODc4MTQ4OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKSGlobywKQWxzbyBaYXJuaXlhIGthbm4gaWNoIHNvd2lzbyBuaWNodCBlcm5zdCBuZWhtZW4uIEljaCB3b2xsdCB6d2FyIHp1IGlociAoaWhtKQpuaWNodHMgc2FnZW4sIGFiZXIgbWl0ZGVyemVpdCBuZXJ2ZW4gc2VpbmUgTWFpbCB3aXJrbGljaC4gRGFzIGF1Y2ggd2VubiB6YXJpeWEKZWluZSBNYWlsIHZvbiBqZW1hbmRlbiBuaWNodCBHZWZhbGxlbiB1bmQgb2RlciBhdWNoIHNlaW5lIEVpbnN0ZWxsdW5nLCBrb25udGUKWWFudHJvISB1bmQgbmllbWFuZCBhbmRlcnMgaXN0IFphcm5peWEgZGllc2UgUGVyc29uIG5pY2h0IGxvZXNjaGVuLiAKU292aWVsIE1hY2h0IGhhdHRlIGVyIGRhbWFscyBoaWVyIG5pY2h0LCBkYXMgd2FzIGpldHp0IHZvbiBaYXJuaXlhIGtvbW10IGlzdApsZWVyZSBMdWZ0IHVuZCBtZWhyIG5pY2h0IS4KClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGFua2VuIChHcmltbWJvcm4sIDE4LiBGZWIgMTk5OCwgMjE6MzA6MDApOgp+IyEgcm49S2V5IHJ0PTg4NzgxODExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApOYWphLCAiTWV0emxlciIgaXN0IHdvaGwgZWluIGJpc2NoZW4gaG9jaCBnZWdyaWZmZW4uIFNhZ2VuIHdpciwgRHUgc29yZ3N0CmRhZnVlciwgZGFzcyBhdWNoIGRpZSBOUENzIGVpbmUgQ2hhbmNlIGhhYmVuLCB6dSBNZXR6bGVybiB6dSB3ZXJkZW4uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRhbmtzeXN0ZW0gKFFpdGVzcywgMTguIEZlYiAxOTk4LCAyMTozNDoyMSk6Cn4jISBybj1IYW5nb3ZlciBydD04ODc3MDM3MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2OTk0MzUKYWxzby4gaWNoIHNjcmlwdGUgbmljaHQsIHVuZCBpY2gga2FubiBqZXR0IGF1Y2ggbmljaHRzIG1laHIgbWV0emVsbi4gemllbWxpY2gKYmVrbmFja3QsIGFiZXIgZGFzIGlzdCB3b2hsIGRhcyBsb3MgZGVyIGFiZW50ZXVyZXIuIHNpZSBrb2VubmUgaGFsdCBuaWNodHMuCnVuZCB3YXMgZGllIGFucGFzc3VuZyBkZXIgbW9uc3RlciBhbmdlaHQuIGRhZnVlciBiaW4gaWNoIGF1Y2guIHVuZCB0ZWFtLWthbXBmCmludGVyZXNzaWVydCBtaWNoIG5vaWNodC4gYmFsZCB3ZXJkZSBpY2ggd29obCBhbiBlaW5lcm0gZWxmZW53YWVjaHRlcgpzdGVyYmVuLi4ub2RlciBuZW0gcGV0aS16d2VyZy4uCgpRSSoqIHNpZWh0IHNjaHdhcnouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUYW5rZW4gKEtleSwgMTkuIEZlYiAxOTk4LCAwODoyNTo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg3ODMzODAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCipzY2huaWVmKiBLYXVtIGdyZWlmdCBtYW4gZWlubWFsIG5hY2ggZGVuIFN0ZXJuZW4ga29tbXQgSGVyciBHcmltbWJvcm4gdW5kCnRyaXR0IGVpbmVtIGRpZSBTdGVsemVuIHdlZyA9OykKCiprbGVidCBzaWNoIGVpbmVuIEljaC1nZWJlLU5QQ3MtZWluZS1DaGFuY2UtQXVma2xlYmVyIGFuIGRpZSBOYXNlKgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXIgZ2VodHMgZ3V0ICEgKERvbHBoLCAxOS4gRmViIDE5OTgsIDEwOjIwOjQ2KToKTWl0IGVpbiB3ZW5pZyBFaW51ZWJlemVpdCBnZWZhZWxsdCBtaXIgZGFzbmV1ZSBUYW5rc3lzdGVtLiBNYW4Ka2FubiB6d2FyIG5pY2h0IG1laHIgc292aWVsIHRhbmtlbiB3aWUgZnJ1ZWhlciwgZGFmdWVyIGhhYmUgaWNoIAphbHMgTWVuc2NoIGRlbiBWb3J0ZWlsIGluIE1vcm9uIGRlbSBDYW1wYXJpIE9yYW5nZSBtZWhybWFscyB6dSAKdHJpbmtlbiBhbHMgZnJ1ZWhlciAhCk5hY2ggMiBtYWwgdGFua2VuIGluIGRlciBUb3RlbmdyYWViZXJrbmVpcGUgaXN0IG1hbiBsZWlkZXIgc2Nob24gCnZvbGwsIGFiZXIgZGFmdWVyIGZpbmRlIGljaCBkYXMgbWl0IGRlbiBTcGVpc2VuIHNlaHIgZ3V0IHZlcmJlc3NlcnQgIQpNYW4gc29sbHRlIGhhbHQgenVtIEdldHJhZW5rIG1hbCB3YXMgRXNzZW4sIGRhbm4gbGVidCBtYW4gbGFlbmdlciA6LSkKU3RlcmJlbiBrYW5uIG1hbiBuYWNoIGRlbSBuZXVlbiBTeXN0ZW0gYmVzdGltbXQgbmljaHQgYW4gZGVuIE5QQydzLCAKZGEgc2llIG5vY2ggZ2VuYXVzbyAnc3RhcmsnIG9kZXIgJ3NjaHdhY2gnIGdlYmxpZWJlbiBzaW5kLgpFcyBnaWJ0IHdvaGwga2VpbmVuIEdydW5kIG1laHIgZGFydWViZXIgenUgZGViYXR0aWVyZW4uLi4gZXMgaXN0IHVuZApibGVpYnQgYWxsZXMgZWluZSBTYWNoZSBkZXMgSW50ZWxla3Rlcy4gRGllIGVpbmVuIGtvZW5uZW4gZGFtaXQgdW0tCmdlaGVuLCBkaWUgYW5kZXJlbiBsZXJuZW4gZXMgbmllIDstKQpWaWVsIFNwYXNzIGJlaW0gVGFua2VuIERvbHBoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEFSVFkhISEgKEZyZXVuZCwgMTkuIEZlYiAxOTk4LCAxMDo1ODoyMSk6CkhpLAoKZnVlciBkaWUsIGRpZSBzb25zdCBSdWJyaWsgInBhcnR5IiBuaWNodCBsZXNlbjoKCkVzIGdpYnQgZWluZSBXaW50ZXJwYXJ0eSB1bmQgUGFydHlicmV0dGVyIHN0ZWhlbiBiYWxkIGluIGFsbGVuIEdpbGRlbi4KCkJ6dy4gU3RhcnRwdW5rdGVuLi4uIDopCgpGcmV1bmQsIFBhcnR5LUVpc2JhZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRhbmtlbiB1bmQgbWVociAoU2VydmVydXMsIDE5LiBGZWIgMTk5OCwgMTE6NDk6MjMpOgpIaSBhbGxlIG1pdGVpbmFuZGVyIQoKSWNoIG1vZWNodGUgYXVjaCBtYWwgbWVpbmVuIFNlbmYgenVtIG5ldWVuIFRhbmtzeXN0ZW0gYWJnZWJlbiB1bmQgdmllbGxlaWNodAplaW4gcGFhciBWb3JzY2hsYWVnZSBicmluZ2VuOgoKMTogSWNoIGhhYiB6d2FyIG5vY2ggbmljaHQgYWxsenV2aWVsIGdlbWV0emVsdCBtaXQgZGVtIG5ldWVuIFRhbmtzeXN0ZW0gYWJlcgppY2ggZmluZGUgZXMgc2VociBnZXdvZWhudW5nc2JlZHVlcmZ0aWcsIHdhcyBzb2xsJ3MgZXMgaXN0IG51biBtYWwgZGEuCgoyOiBBbHMgRWxmIHNvbGwgbWFuIGphIFdhc3NlciB1bmQgRnJ1Y2h0c2FlZnRlIHRyaW5rZW4gd2VpbCBtYW4gdm9tIEFsa29ob2wgenUKc2NobmVsbCBiZXNvZmZlbiB3aXJkIC0gb2sga2FubiBpY2ggbWl0IGxlYmVuIGFiZXIgd2FzIG1hY2h0IG1hbiBhbHMKQ2hhb3RlbmVsZiB3byBkZXIgQ2hhb3NiZWNoZXIgZWluIEdydW5kbmFocnVuZ3NtaXR0ZWwgaXN0PyBEYSBpc3QgbWFuCmF1Zmdlc2NobWlzc2VuIHVuZCBzZWhyIHNjaG5lbGwgYmVzb2ZmZW4uIEtvZW5udGUgbWFuIGRhIG5pY2h0IGF1Y2ggZWluZW4KendlaXRlbiBBbGtmcmVpZW4gbWVpbmV0d2VnZW4gbWl0IGlyZ2VuZGVpbmVuIG5hdHVydmVyYnVuZGVuIERyb2dlbm1pdHRlbAp2ZXJzZXR6dGVuIENoYW9zYmVjaGVyIGZ1ZXIgRWxmZW4gdW5kIGFuZGVyZSBBYnN0aW5lbnpsZXIgYW5iaWV0ZW4/CgozOiBXZW5uIElociBzY2hvbiBkYXMgbWl0IGRlbSBUYW5rc3lzdGVtIHZlcmFlbmRlcnQsIGRhbm4gbWFjaHQgZXMgcmljaHRpZyEKTWVpbmUgVm9yc2NobGFlZ2Ugd2FlcmVuOiAtIGRpZSBTcGVpc2VuIHVuZCBUcmFlbmtlIGluIGRlbiBLbmVpcGVuCnNhZXR0aWdlbmRlciB1bmQgaGVpbGVuZGVyIG1hY2hlbiBkYWZ1ZXIgYWJlciBhdWNoIGVpbmVuIGtsZWluZW4gU25hayBmdWVyCnVudGVyd2VncyB2ZXJrYXVmZW4gCi1kYW1pdCB3aWxsIGljaCBzYWdlbiBtYW4gc29sbHRlIHNpY2ggYXVjaCBuZSBTdHVsbGUgdW5kIGVpbmUgV2Fzc2VyZmxhc2NoZQpmdWVyIGRpZSBXaWxkbmlzIG1pdG5laG1lbiBrb2VubmVuIHVuZCBkb3J0IG1pdCBnZXJpbmdlcmVuIFdlcnRlbiBkZXIKR2V0cmFlbmtlIHVuZCBTcGVpc2VuIGF1Y2ggdGFua2VuIGtvZW5uZW4gKGplZGVyIHNvbGx0ZSBlaW4gUHJvdmlhbnRwYWtldApkYWJlaWhhYmVuCi0gZGFtaXQgdmVyYnVuZGVuIHdhZXJlIGRhbm4gYXVjaCBkZXIgSHVuZ2VyIHVuZCBEdXJzdCB3YXJ1bSBzb2xsIG1hbiBudXIKaW1tZXIgdm9sbCB1bmQgc2F0dCBzZWluIHVuZCBuaWNodCBhdWNoIGh1bmdyaWcgdW5kIGR1cnN0aWcgdW5kIHdlbm4gbWFuIGxhbmdlCm5pY2h0cyBnZWdlc3NlbiB1bmQgZ2V0cnVua2VuIGhhdCBnZWhlbiBkaWUgU3RhdHMgZGFubiBuYWNoIHVudGVuIGFuc3RhdHQgbmFjaApvYmVuIC0gc29taXQgaGFldHRlbiB3aXIgbm9jaG1laHIgUmVhbGl0YWV0IChhbiBkaWVzZXIgU3RlbGxlICpJcm9uaWUgb24qKQoKc28gZGFzIHdhcidzIGVyc3RtYWwgdm9uIG1laW5lciBTZWl0ZS0gd2FyIHppZW1saWNoIHZpZWwgZGVuayBpY2guCgpTZXJ2ZXJ1cywgZGVyIG1pdCBkZW0gVG9kIHRhbnp0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRhbmtlbiB1bmQgbWVociAoWWVuZGksIDE5LiBGZWIgMTk5OCwgMTI6Mzc6NDkpOgp+IyEgcm49U2VydmVydXMgcnQ9ODg3ODg1MzYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODg1MzYzCkFsa2ZyZWllciBDaGFvc2JlY2hlcj8gICJFaW4gR2xhcyBQaWx6IGJpdHRlIiwgb2RlciB3aWU/CgoiSmEsIHdpciBoYWV0dGVuIGRhbm4gZ2VybmUgWndlcmdlbmxlbmRjaGVuIG1pdCBOYWNodHNjaGF0dGVuc2FsYXQgdW5kIHp1bQogTmFjaHRpc2NoIGhlaXNzZSBUb2xsa2lyc2NoZW4gbWl0IFNhaG5lLiIKCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0YW5rZW4gdW5kIG1laHIgKFNtdXJmLCAxOS4gRmViIDE5OTgsIDEzOjE4OjI1KToKfiMhIHJuPVNlcnZlcnVzIHJ0PTg4Nzg4NTM2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpTb2xhbmdlIG1hbiBhbiBkZW0gSHVuZ2VyIHVuZCBEdXJzdCBuaWNodCBzdGlyYnQsIHNvbmRlcm4gKG1laW5ldHdlZ2VuKQpkaWUgU3RhdHMgd2FzIHJ1bnRlcmdlaGVuLCBiaW4gaWNoIGRhZnVlci4gKEtvZW5udCBfaWhyXyBldWNoIG1pdCBsZWVyZW0KTWFnZW4gYXVmIGlyZ2VuZHdhcyBrb256ZW50cmllcmVuPyA7LSkKCkRhbWl0IHZlcmJ1bmRlbiBzb2x0bGUgYWJlciBhdWNoIGVpbmUgTW9uc3RlcmFucGFzc3VuZyBzZWluIC0tCmRpZSBUeXBlbiBzaW5kIGFsbGUgZW50d2VkZXIgdG90YWwgYXVzZ2VodW5nZXJ0LCBvZGVyIHNpZSB0aXBwZWxuCnZvbiBlaW5lbSBGdXNzIGF1ZiBkZW4gYW5kZXJlbiB1bmQgcGxhdHplbiBnbGVpY2gsIGplIG5hY2hkZW0Kd2VsY2hlcyBGaWxlIGRlciBkYWZ1ZXIgdmVyYW50d29ydGxpY2hlIE1hZ2llciBhbHMgVm9ybGFnZSBnZW5vbW1lbgpoYXQgbmVobSBpY2ggbWFsIGFuLi4uCgpTbXVyZiwgZGVtIGVpbiBnbGVpY2ggcGxhdHplbmRlciBPcmsgZ2FyIG5pY2h0IHNvIHVucmVjaHQgd2FlcmUgLS0KZWluIFRyaXR0IGluIGRlbiBCYXVjaC4uLiBCVU1NLiAgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRhbmtlbiB1bmQgbWVociAoQmVuc29ubWFtLCAxOS4gRmViIDE5OTgsIDEzOjI3OjE2KToKfiMhIHJuPVNtdXJmIHJ0PTg4Nzg5MDcwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpXYXMgZGllIE1vbnN0ZXIgYW5nZWh0LCBzbyBzb2xsdGVuIGRpZWplbmlnZW4gTlBDcywgZGllIHNpY2ggZ2V3b2VobmxpY2ggbmljaHQKaW4gS25laXBlbiBtaXQgRXNzZW4gdW5kIFRyaW5rZW4gdmVyc29yZ2VuLCBzaWNoIG5hdHVlcmxpY2ggYW4gZGVuIExlaWNoZW4gZGVyCmJlc2llZ3RlbiBHZWduZXIgbGFiZW4ga29lbm5lbiAtIGRhbm4gd2FlcmUgZGVyIFNhZXR0aWd1bmdzZ3JhZCBuaWNodCBudXIgdm9uCmRlciBQcm9ncmFtbWllcnVuZyBhYmhhZW5naWcsIHNvbmRlcm4gYXVjaCBkYXZvbiwgd2llIG9mdCBzaWUgaW4gbGV0enRlciBaZWl0CiJiZXN1Y2h0IiB3b3JkZW4gc2luZCB1bmQgd2llIHN0YXJrIGRpZXNlIEJlc3VjaGVyIHdhcmVuLi4uCkFiZXIgdmllbGxlaWNodCBzaW5kIHNvbGNoZSBVZWJlcmxlZ3VuZ2VuIGphIGF1Y2ggInp1IHJlYWxpdGFldHNiZXpvZ2VuIiA/CgoKSmFtZXNzaXIgQmVuc29ubWFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB0YW5rZW4gdW5kIG1laHIgKFd1cnplbCwgMTkuIEZlYiAxOTk4LCAxMzo0Njo0MSk6Cn4jISBybj1CZW5zb25tYW0gcnQ9ODg3ODkxMjM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODg1MzYzCmVzIGdpYnQgZ2VudWcgbXVkcywgd28gbWFuIHJlZ2VsbWFlc3NpZyBlc3NlbiB1bmQgdHJpbmtlbiBNVVNTLiBkYXMgaGVpc3N0LAp3ZW5uIG1hbiB6d2lzY2hlbmR1cmNoIG5lIHJ1bmRlIGlkZWx0ICh3ZWlsIHouYi4gZGVyIGNoZWYgZ2VyYWRlIGRhIGlzdCB1bmQKbWFuIGRhcyBmZW5zdGVyIG1pdCBkZW0gbXVkIHp1Z2VtYWNodCBoYXQgc29sYW5nZSksIHNjaGF1dCBtYW4gd2llZGVyIHJlaW4gCnVuZCBpc3QgdG90OiB2ZXJodW5nZXJ0LiB3ZW5uIGljaCBlcnN0bWFscyBpbiBlaW5lbSBtdWQgYmluIHVuZCBkaWUgbWVzc2FnZQoiZHUgc29sbHRlc3QgbWFsIHdpZWRlciB3YXMgZXNzZW4iIG9kZXIgImR1IGJpc3QgZHVyc3RpZyIgb2RlciBzbyBlcmhhbHRlLApnaWJ0cyBmdWVyIG1pY2ggbnVyIGVpbmUgcmVha3Rpb246IGVuZGUsIHN0cmVpY2hlbiBhdXMgZGVyIGxpc3RlLgp3ZXIgc293YXMgZ2VybmUgbWFnLCBzb2xsIGRhIGhpbiBnZWhlbi4gaGllciBuaWNodC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGFua2VuIHVuZCBtZWhyIChCb2luZywgMTkuIEZlYiAxOTk4LCAxMzo0Nzo0NCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODg3ODkyNDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODg1MzYzCkdhbnogbWVpbmUgTWVpbnVuZy4gRGVzd2VnZW4gd2lyZCBlcyBoaWVyIGF1Y2ggbmllIEVzcy0gb2RlciBUcmlua3BmbGljaHQKZ2ViZW4gKGF1c3NlciB6dW0gdGFua2VuIHdpZSBnZWhhYnQpLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0YW5rZW4gdW5kIG1laHIgKEZyZXVuZCwgMTkuIEZlYiAxOTk4LCAxNDowNzoxMSk6Cn4jISBybj1Cb2luZyBydD04ODc4OTI0NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc4ODUzNjMKRGEgYmluIGljaCBqYSBiZXJ1aGlndCwgZGFzcyB3aXIgbWFsIGFsbGUgZWluZXIgTWVpbnVuZyBzaW5kLiA7KQoKRnJldW5kLCBoYXNzdCBad2FuZ3Nlc3Nlbi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB0YW5rZW4gdW5kIG1laHIgKFR1bml4Z3V0LCAxOS4gRmViIDE5OTgsIDE0OjA4OjA3KToKfiMhIHJuPVd1cnplbCBydD04ODc4OTI0MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc4ODUzNjMKU2NobGllc3NlIG1pY2ggZGVtIGFuOiBJY2ggZnVlciBtZWluZW4gVGVpbCBoYWInIG5pY2h0IG51ciduIENoZWYsIHNvbmRlcm4KYXVjaCBtYW5jaG1hbCAnbmUgemllbWxpY2ggbGFuZ2UgTGVpdHVuZywgd2VubiBkYW5uIGRlciBnYW56ZSBUYWcgbnVyIGF1cwp0YW5rZW4gYmVzdGVodC4uLgoKJ3MgS2FyYXRlLVp3ZXJjaGxlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0YW5rZW4gdW5kIG1laHIgKFNtdXJmLCAxOS4gRmViIDE5OTgsIDE0OjQ2OjIyKToKfiMhIHJuPUJvaW5nIHJ0PTg4Nzg5MjQ2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpFc3MtIHVuZCBUcmlua19wZmxpY2h0XyBmaW5kZSBpY2ggYXVjaCBkb29mLCBlYmVuc28gd2llIFRhZ2VzLSBvZGVyCkphaHJlc3plaXRlbiAoZXJzdGVyZSBzaW5kIGJlc29uZGVycyBuZXJ2aWcsIHdlaWwgbWFuIGRhbm4gdWViZXJhbGwKendlaW1hbCB2b3JiZWlsYXVmZW4gbXVzcykuIEdpYnQgZXMgaGllciBqYSBhdWNoIG5pY2h0LiBJc3QgbWl0IGVpbiBHcnVuZCwKd2llc28gaWNoIF9oaWVyXyBiaW4uCgpEYXMgaGVpc3N0IGFiZXIgbmljaHQsIGRhc3MgZXMgKGF1Y2ggb2huZSBUYW5rZXJlaSkgZWluZSBndXRlIElkZWUgd2FlcmUsCm1hbCBlaW5lbiBIYXBwZW4genUgc2ljaCB6dSBuZWhtZW4sIG9kZXIgZWJlbiBhdWNoIGF1ZnMgS2xvCnp1IGdlaGVuIChkYXZvbiBzb2xsdGUgZXMgZWlnZW50bGljaCBhdWNoIGluIGplZGVyIEtuZWlwZSBlaW5lcyBnZWJlbiwKb2RlciBtZWluZXR3ZWdlbiBlaW5lIGVudHNwcmVjaGVuZGUgU3RlbGxlIGluIGRlciB1bWxpZWdlbmRlbgpOYXR1ciwgd2VubiBkaWUgS25laXBlIGZ1ZXIgc293YXMgenUgc2NoYWViaWcgaXN0KS4gCgpHZW5hdXNvIGdlaHQgZXMgbWlyIG1pdCBkZW0gdm9yZ2VzY2hsYWdlbmVuIEJlcnVmZXN5c3RlbSAtLSBtYW4Kc29sbHRlIGF1Y2ggKG1laHIgb2RlciB3ZW5pZ2VyKSBhbGxlcyBtYWNoZW4ga29lbm5lbiwgb2huZSBkYXNzCnNpY2ggZ2VudWcgU3BpZWxlciBiZXJlaXRmaW5kZW4sIHp3ZWNrcyBCaWVyYnJhdWVucyBlcnN0bWFsIGJlaSBkZXIKSG9wZmVuZXJudGUgbWl0enVoZWxmZW4uCgpTbXVyZiwgYXVmIGRlciBTdWNoZSBuYWNoIGRlbSBIYW5mZmVsZCAoaXJnZW5kd28gbXVzcyBkYXMgUGFydHktCm1vbnN0ZXIgamEgYXVjaCBzZWluZSBSb2hzdG9mZmUgaGVya3JpZWdlbiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGFua2VuIHVuZCBtZWhyIChRdWFzaW1vZG8sIDE5LiBGZWIgMTk5OCwgMTk6MDI6MzEpOgp+IyEgcm49WWVuZGkgcnQ9ODg3ODg4MjY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODg1MzYzCkR1IG1laW5zdCBUcm9sbGtpcnNjaGVuLCBvZGVyPwoKUXVhc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZXJnZW5zdGFkdCAoR2xvaW4sIDE5LiBGZWIgMTk5OCwgMjA6MzU6MjYpOgpOYWNoZGVtIGljaCBzaWUgbWlyIG5vdGdlZHJ1bmdlbiBhbnNjaGF1ZW4gbXVzc3RlLCBtb2VjaHRlIGljaCBXdXJ6ZWwKYXVjaCBoaWVyIG5vY2htYWwgZGFydW0gYml0dGVuLCBkcmluZ2VuZCBtYWwgbmFjaHp1YmVzc2Vybi4gRC5oLiBpbi0KZGl2aWR1ZWxsZSBMT05Hcywgb3JkZW50bGljaGUgRGV0YWlscy4gU28sIHdpZSBGZXN0dW5nL0Jlcmd3ZXJrIGpldHp0CnNpbmQsIGZpbmRlIGljaCBkYXMgZWhlbWFsaWdlIEdlYmlldCBlY2h0IHN0aW1tdW5nc3ZvbGxlci4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWlyIGdlaHRzIGd1dCAhIChRaXRlc3MsIDIwLiBGZWIgMTk5OCwgMTE6NTc6NTMpOgp+IyEgcm49RG9scGggcnQ9ODg3ODgwMDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODgwMDQ2Ckphd29sbCwgZXMgaXN0IGFsbGVzIGVpbmUgRnJhZ2UgZGVzIEludGVsbGVrdGVzLiBEZXN3ZWdlbiBzY2hyZWliZW4gbWFuY2hlIGlobgptaXQgendlaSB1bmQgZGllIGFuZGVyZW4gbnVyIG1pdCBlaW5lbSAnbCcgLgoKUUkqKiwgVG9jaHRlciBkZXMgS29ucmFkCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGFua2VuIHVuZCBtZWhyIChRaXRlc3MsIDIwLiBGZWIgMTk5OCwgMTI6MDA6NTIpOgp+IyEgcm49V3VyemVsIHJ0PTg4Nzg5MjQwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpXdXJ6ZWwsIGRhIGhhc3QgZHUgbWVpbmUgdm9sbGUgVW50ZXJzdHVldHp1bmcgKHdlbm4gZGllIHdhcyB6YWVobGVuIHNvbGx0ZSkuCkljaCBtZWluZSwgd2VyIHVuYmVkaW5ndCBIdW5nZXIgdW5kIER1cnN0IGhhYmVuIHdpbGwsIHNvbGwgbmFjaCBVTkl0b3BpYQpnZWhlbi4uLgoKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGFua2VuIHVuZCBtZWhyIChLZXksIDIwLiBGZWIgMTk5OCwgMTc6MjQ6MzQpOgp+IyEgcm49V3VyemVsIHJ0PTg4Nzg5MjQwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpOaWNodCBudXIgZGVyIENoZWYgLi4uIEhhYiBoaWVyIG9mdCBnZW51ZyBuZSBkaWNrZSBaZWl0dW5nIHZvciBtaXIsIHVuZCBkYWZ1ZXIKZGFubiBleHRyYSBydW1yZW5uZW4/IEdpYnQgbml4CgpLZXkgbGFlZHQgQm9pbmcgbWFsIGF1ZiBuZSBQaXp6YSBpbiBQViBlaW4uIC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB0YW5rZW4gdW5kIG1laHIgKFRyYW5jZWZlYXIsIDIwLiBGZWIgMTk5OCwgMjI6MTk6NDUpOgp+IyEgcm49V3VyemVsIHJ0PTg4Nzg5MjQwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4Nzg4NTM2MwpPY2ggaWNoIGZpbmRlIGRhcyBnYXIgbmljaHQgc2NobGVjaHQuIERpZXNlIE1VRHMgdW50ZXJzY2hlaWRlbiBzaWNoIGphIG5pY2h0Ck5VUiBkYWR1cmNoIHZvbSBNRywgc29uZGVybiBkaWUgZ2FuemUgQXRtb3NwaGFlcmUgaXN0IGFuZGVycywgc28gZGFzcyBkYXMKRXNzZW4gdW5kIFRyaW5rZW4gbXVlc3NlbiBkYSBzY2hvbiByZWlucGFzc3QuCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndlcmdlbnN0YWR0PyBPZGVyIFotTGFiPyAoQXNtb2RpcywgMjEuIEZlYiAxOTk4LCAwMDoxOToxOCk6Cn4jISBybj1NYXJzIHJ0PTg4NzczNTQ0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY5MjUzMgpIbW0sIGljaCBoYWIgbml4IGRhZ2VnZW4sIHdlbm4gbWFuIFp3ZXJnZSB2ZXJidWRkZWx0LCBncmFidCBzaWUgYmxvc3MgbmljaHQKd2llZGVyIGF1cyAhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0YW5rZW4gdW5kIG1laHIgKEFzbW9kaXMsIDIxLiBGZWIgMTk5OCwgMDA6MzE6NDQpOgp+IyEgcm49U211cmYgcnQ9ODg3ODkwNzA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3ODg1MzYzClVuZCBad2VyZ2Uga29lbm5lbiBudWVjaHRlcm4gZ2FyIG5pY2h0IG1laHIgemF1YmVybiA/PyBKbywgbWFjaHQgbnVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4ud28gc2luZCBudXIgZGllICdndXRlbiwgYWx0ZW4nIFplaXRlbiBoaW4uLi4gKEx1cHVzLCAyMS4gRmViIDE5OTgsIDE5OjExOjMyKToKfiMhIHJuPUZsaW50bmFpbCBydD04ODc4MDc0NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc4MDc0NjUKQWxzbyBpY2gga2FubiBiZWkgZGVuIFN0ZWluYmVpc3Nlcm4gKGlua2x1c2l2ZSBrb3N0ZW5sb3NlbSBCb2luZy1SZXNldCkKaW1tZXJub2NoIHByaW1hIHN0ZXJiZW4uIFdhcyB3aWxsIG1hbiBtZWhyIGFuIGFsdGVuIFplaXRlbj8KCkx1cHVzLCB2ZXJncmVpc3RlciBBYmVudGV1cmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWlldHNoYXVzIChLcmVsbGphLCAyMy4gRmViIDE5OTgsIDE4OjI3OjA2KToKTW9pbiEKCkhhYmUgZWJlbiBtYWwgZWluZW4gQmxpY2sgaW5zIE1pZXRzaGF1cyBpbiBXaWxsaWJ1cmcgZ2V3b3JmZW4uCkRlciBLYXN0ZW4gaXN0IHdpZSBpbW1lciwgd2VubiBpY2ggbWFsIG5hY2hzZWhlIHZvbGwuIFdhciBkYXMKbmljaHQgZWlnZW50bGljaCBzbyBnZWRhY2h0LCBkYXNzIGRhIHVlYmVyd2llZ2VuZCBTcGllbGVyIHdvaG5lbj8KSW0gTW9tZW50IHNpbmQgenVtaW5kZXN0IDcgZGVyIDEwIEJld29obmVyIFNlaGVyLiBJY2ggd3VlcmRlIGVzCmZhaXIgZmluZGVuLCB3ZW5uIGRpZSBTZWhlciBpbSBIZXVzIFBsYXR6IGZ1ZXIgU3BpZWxlciBtYWNoZW4ga29lbm50ZW4uCgpUc2NodWVzcwogICAgICAgICAgICAgICAgICBLcmVsbGphCgpwLnMuIEhhYmUgaWNoIGRhcyByaWNodGlnIGdlaG9lcnQsIGRhc3MgZGFzIEhhdXMgYmVpIEJlZGFyZiBhdWNoCnZlcmdyb2Vzc2VydCB3ZXJkZW4ga29lbm50ZT8gSWNoIG1lbGRlIGFsc28gZWluZmFjaCBtYWwgQmVkYXJmIGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pZXRzaGF1cyAoQ2VpbG8sIDIzLiBGZWIgMTk5OCwgMjA6NTc6NTIpOgp+IyEgcm49S3JlbGxqYSBydD04ODgyNTQ4MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODgyNTQ4MjYKQWxzbywgaW0gUkwgZ2lidCBlcyBmdWVyIHNvbGNoZSBGYWVsbGUgZWluZSBGZWhsYmVsZWd1bmdzYWJnYWJlLiBWaWVsbGVpY2h0Cm11cwptYW4gZGllIGphIGF1Y2ggZnVlciBTZWhlciBpbSBNaWV0c2hhdXMgZWluZnVlaHJlbj8gQXVzYmF1IHdhZXJlIHdvaGwKdHJvdHpkZW0gbmljaHQgenUgdmVyYWNodGVuLi4uCgpDZWlsbywgZGVyIFNhZXVmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWlldHNoYXVzIChXdXJ6ZWwsIDIzLiBGZWIgMTk5OCwgMjA6NTk6MTUpOgp+IyEgcm49Q2VpbG8gcnQ9ODg4MjYzODcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4MjU0ODI2CmphamEsIGlzdCBqYSBzY2hvbiBndXQuLi4gYXVzYmF1IGtvbW10Lgp1bmQgZGFzIG1pdCBkZXIgZmVobGJlbGVndW5nc2FiZ2FiZS4uLiBtYWwgc2VoZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd29yc3RjYXNlIChXb3JzdGNhc2UsIDI0LiBGZWIgMTk5OCwgMDE6MDY6NDEpOgp3b3JzdGNhc2UqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRhbmtlbiAoSGFzaW0sIDI0LiBGZWIgMTk5OCwgMTM6NDQ6MjUpOgp+IyEgcm49S2V5IHJ0PTg4NzgxODExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApBbHNvLi4uLiBpY2ggdmVyc3VjaCBudW4gYXVjaCBtYWwgd2FzIGRhenUgenUgc2FnZW4uLi4uIG9kZXIgenUgRnJhZ2VuLi4uLi4KMS4pIFdhcnVtPwpTbyB3aWUgaWNoIGRhcyBqZXR6dCB2ZXJzdGFuZGVuIGhhYiwgc28gd2llIGRhcyBhdXMgZGVuIEFydGlrZWxuIHJhdXNrYW0sIGlzdApvZGVyIHNvbGwgZGVyIEdydW5kIHNlaW4sIGRhc3MgZXMgYmVlaW50cmFlY2h0aWd1bmdlbiBnZWJlbiBzb2xsLCB1bSBNZXR6bGVyCmFienVoYWx0ZW4sIHp1IG1ldHplbG4uLi4uCldhcyBpY2ggc2VociBtZXJrd3VlcmRpZyBmaW5kZSwgd2VubiBlcyBkZW5uIHNvIHdhZXJlLCBkYXMgZGFzIGhpZXIgZG9jaCBtZWhyCm9kZXIgd2VuaWdlciB6dW0gU3Bhc3MgZGllbmVuIHNvbGwgb2RlciB6dXIgRW50c3Bhbm51bmcsIEFibGVua3VuZywgd2FzIGF1Y2gKaW1tZXIuLi4KTnVuIGd1dCwgYWJlciBzb2xsZW4gd2lya2xpY2ggZWluaWdlIFNwaWxlciB1bnRlcmRydWVja3Qgb2RlciBzb25zdHdpZSB3YXMKd2VpcyBpY2ggd2VyZGVuLi4uLgpKZWRlciBzb2xsdGUgZGFzIHR1biwgd2FzIGVyIC9zaWUgd2lsbCwgc29sYW5nZSBlcyBuaWVtYW5kZW4KYmVlaW50cmFlY2h0aWd0Li4uLi4KVW5kIHp1IHJlYWwgc29sbHRlIGRhcyBoaWVyIGF1Y2ggbmljaHQgd2VyZGVuLCBpbW1lcmhpbiBnZWggaWNoIGphIGhlciwgZGFtaXRzCm5pY2h0IHp1IHJlYWwgaXN0Li4uLi4uCjIuIFp3ZXJnZT8KV2FzIGlzdCBlaW4gWndlcmcgZGVubiBzY2hvbiwgZGEgaWNoIHNlbGJlciBFbGYgYmluLCBzYWcgaWNoLCBsYXNzdCBzaWUKdmVycm90dGVuLi4uLi4uLgpOZSwgbnUgYWJlciBpbSBFcm5zdC4uLi4uIEFuZmFlbmdlciBoYWJlbiBudW4gbWFuY2htYWwgZWNodGUgUHJvYmxlbWUgYmVpCmRpbmdlbiwgZGllIHNvb29vb28gZWluZmFjaCAKZXJzY2hlaW5lbiwgbWFjaHRzIGRlbmVuIGRvY2ggbmljaHQgbm9jaCBzY2h3ZXJlci4uLi4uLgoKU28sIHdhcyBub2NoLCBhY2hzbywgc29ycnksIGRhc3MgZGFzIGhpZXIgd29obCBldHdhcyB1bm9yZGVudGxpY2ggYXVzc2llaHQsCmFiZXIgaGllciBmdW5rdCBhbmRhdWVybmQgamVtYW5kIGRhendpc2NoZW4uLi4uCmljaCBoYWV0dGUgbmF0dWVybGljaCBhdWNoIGRpZSBlYmVuZW4gYXVzdGVsbGVuIGtvZW5uZW4gOykKU28sIHdhcyBub2NoLCBhYWFhYWhzbywKV2FydW0gaG9lcmUgaWNoIGltbWVyIHdhcyB2b24gZ2lsZGUgYWJ3ZXJ0ZW4gb2RlciBSYXNzZSBhYndlcnRlbiBvZGVyIHNvLCBrYW5uCm1hbiBzaWNoIG5pY2h0IGVpbmZhY2ggZnJldWVuLCBkYXNzIGFuZGVyZSBpaHJlbiBTcGFzcyBoYWJlbi4uLj8KCkhhc2ltICh2ZXJzdGVodCBkaWUgd2VsdCBuaWNodCBtZWhyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVGFua2VuIChIYW5nb3ZlciwgMjQuIEZlYiAxOTk4LCAxMzo0Njo0OSk6Cn4jISBybj1IYXNpbSBydD04ODgzMjQyNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKTW9pbiEKClp1IDEuOiBNaXQgZGVtIGFsdGVuIFN5c3RlbSB3YXJzIHp1IGVpbmZhY2gsIGlyZ2VuZHdhcyB1bXp1aGF1ZW4uCiAgICAgICBEZXN3ZWdlbiBtdXNzdGUgbWFsIGVpbmUgQWJ3ZXJ0dW5nIGhlciwgdW0gdWViZXJoYXVwdCBub2NoCiAgICAgICBBbmZvcmRlcnVuZ2VuIHp1IHNjaGFmZmVuLgoKV2FzIGRpZSBHaWxkZW4gYW5nZWh0LiBTY2hhdSBEaXIgYWxsZSBHaWxkZW4gbWFsIGdlbmF1IGFuIHVuZAp2ZXJnbGVpY2hlIGRpZSBGYWVoaWdrZWl0ZW4uLi5pc3QgamEgbmljaHQgc28sIGRhc3MgaGllciBuaWVtYW5kCkdpbGRlIFggZGVuIFNwYXNzIGdvZW5udCwgYWJlciBnZXdpc3NlIFZlcmhhZWx0bmlzbWFlc3NpZ2tlaXRlbgppbiBkZW4gU3RhZXJrZW4gbXVlc3NlbiBzY2hvbiBnZXdhaHJ0IGJsZWliZW4uIFVuZCBhdXNzZXJkZW06IHdlbm4KamVtYW5kICdhYndlcnRlbicgc2NocmVpdCwgaXN0IGVzIHNlbHRlbiBlcm5zdCBnZW1laW50LgoKLUhhbmdvdmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUYW5rZW4gKFNpbHZhbmEsIDI0LiBGZWIgMTk5OCwgMTU6NTk6NTkpOgp+IyEgcm49SGFuZ292ZXIgcnQ9ODg4MzI0NDA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCkF1Y2gsIHdlbm4gaWNoIGVzIGpldHp0IHdvaGwgbWluZGVzdGVucyB6dW0gLSBhY2gsIHdhcyB3ZWlzcyBpY2ggd2llCnZpZWx0ZW4gbWFsIHNjaHJlaWJlOiBEaWUgS25laXBlbnJlZm9ybSBpc3QgTklDSFQgZGF6dSBkYSwgTWV0emxlciB6dQp2ZXJ0cmVpYmVuLiBCZXZvciBEdSBzbyBlaW5lbiBVbnNpbm4gc2NocmVpYnN0LCBsaWVzIERpciBkb2NoIGJlc3Nlcgpub2NoIGVpbm1hbCBnZW5hdSBkdXJjaCwgd2FzIGljaCBzY2hvbiB2b3IgTW9uYXRlbiBkYXp1IGdlc2NocmllYmVuIApoYXR0ZSAtIHVuZCB3YXMgWmVwaHlyIG5ldHRlcndlaXNlIG5vY2ggbWFsIGF1cyBkZW4gQWt0ZW4gaGVyYXVzZ2UtCmtyYW10IGhhdCAoaXJnZW5kd28gaW4gZW50d2lja2x1bmcsIGdsYXViIGljaCkKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaWV0c2hhdXMgKEx1cHVzLCAyNC4gRmViIDE5OTgsIDIyOjA0OjEwKToKfiMhIHJuPUNlaWxvIHJ0PTg4ODI2Mzg3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODI1NDgyNgpJY2ggYmluIGZ1ZXIgZGllIEVpZ2VuYmVkYXJmc2t1ZW5kaWd1bmcgaW0gTUchIDopCgpMdXB1cyAobWl0IFVudGVyc2NocmlmdCBkcmVpIFplaWxlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZXVzZSAoRmVscHVyLCAyNS4gRmViIDE5OTgsIDE2OjUwOjU4KToKS2FubiBlaW4gRmVsaW5lIHNpY2ggYXVzIGRlciBab29oYW5kbHVuZyBlaWdlbnRsaWNoIE1hZXVzZSBhbHMgUHJvdmlhbnQKbWl0bmVobWVuPyA7LSkKRmVscHVyIGhldXRlIG1hbCBpcm9uaXNjaCB6dW0gVGhlbWEgVGFua2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUYW5rZW4gKFNtYXJ0ZSwgMjUuIEZlYiAxOTk4LCAyMjoyODowNSk6Cn4jISBybj1TaWx2YW5hIHJ0PTg4ODMzMjM5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMAoKTnVuIG1pciBnZWZhZWxsdCB6d2FyIGRhcyBuZXVlIFRhbmtzeXN0ZW0gLCBhYmVyIGRpZSBkYW1pdCB2ZXJidW5kZW5lCkFid2VydHVuZyBkZXIgR2V0cmFlbmtlIChkLmguIHdlbmlnZXIgUGt0LikgaXN0IGVpbiB3ZW5pZyBoYXJ0LiAKSWNoIGhhYmUgdm9yaGVyIHNjaG9uIGltbWVyIGRhcyBlc3NlbiB6dW0gdGFua2VuIG1pdCB2ZXJ3ZW5kZXQgYWJlciBzbyB3aWUgaWNoCmRhcyBzZWhlIGlzdCBkYXMgRXNzZW4gKHZpZWxlaWNodCBpcnJlIGljaCBtaWNoIGF1Y2ggKWF1Y2ggYWJnZXdlcnRldCB3b3JkZW4Kb2RlciB2ZXJ0cmFnZSBkYXZvbiBuaWNodCBtZWhyIHNvIHZpZWwuCk1laW4gUHJvYmxlbSBpc3QgLCBkYXMgaWNoIGRvcHBlbHQgYmV0cm9mZmVuIGJpbiBhbHMgS2FyYXRla2EgdW5kIEVsZiAuCkljaCBicmF1Y2ggamV0enQgbGFlbmdlciB1bSB6dSB0YW5rZW4gdW5kIGljaCB2ZXJ0cmFnZSB3ZW5pZ2VyIC4KT0sgLCBpY2ggaGFiIGRlbiBhbGsgYmlzaGVyIGVoIG5pY2h0IGdlbnV0enQgdW5kIG51ciBhbGtmcmVpIGdldHJ1bmtlbiBhYmVyCmdlcmFkZSBkYXMgYWxrZnJlaSB3dXJkZSBqYSBhdWNoIGFiZ2V3ZXJ0ZXQgLgpJY2ggaGFiIDE3IG9ubGluZSBUYWdlIGdlYnJhdWNodCB1bSBTZWhlciB6dSB3ZXJkZW4gKCBpY2ggaGFiIGhhbHQgc3Bhc3MgZHJhbgphdWNoIG51ciBCbHVtZW4genUgUGZsdWVja2VuIChlcmt1bmRlbixsZXNlbikgdW5kIHp1IG1ldHplbG4gKSB1bmQgaWNoIGhhdHRlCm1pciBqZXR6dCB2b3JnZW5vbW1lbiBtZWluZW4gS2FyYXRla2EgamV0enQgYXVjaCBsYW5nc2FtIG1hbCBhdWYgMTAwJSB6dQpicmluZ2VuIChqZXR6dCA0MiAlKSAsIGFiZXIgamV0enQgd2VyZGUgaWNoIHdvaGwgbm9jaCAxMDAgb25saW5lIHRhZ2UgYnJhdWNoZW4KdW0gZGFzIHp1IHNjaGFmZmVuIC4KSWNoIGZyYWdlIG1pY2ggb2IgZGFzIG5pY2h0IGVpbiB3ZW5pZyBvZWRlIGlzdCBzb2xhbmdlIHp1IGJyYXVjaGVuIHVtIGRpZQpob2VjaHN0ZSBzdHVmZSBkZXIgZ2lsZGUgenUgZXJyZWljaGVuLgpKZXR6dCBrb21tdCB3aWVkZXIgZGllIHNhY2hlIG1pdCBkZW4gc2NyaXB0ZXJuIGRpZSBkYXMgamEgc28gc2NobmVsbApkdXJjaHJhdHRlcm4gLCBhYmVyIGthbm4gZGFzIG5pY2h0IGRlciBtZWhyaGVpdCBlZ2FsIHNlaW4gb2IgZWluaWdlIGxldXRlIGlocmUKY2hhcmFrdGVyZSBpbiByZWtvcmR6ZWl0IGF1ZiBtYXggYnJpbmdlbiA/CkRhcyBpc3QgYmlzaGVyIGphIGF1Y2ggc2Nob24gbmljaHQgZ2VsdW5nZW4gKG9kZXIgbmljaHQgYXVzcmVpY2hlbmQgKS4gV2FzCnNvbGxlbiBhbHNvIGRpZXNlIHppY2ggc3RvbHBlcmZhbGxlbiBmdWVyIG90dG8tKG5vcm1hbD8pLXNwaWVsZXIgLiAKS2xhciBzb2xsIGRhcyBzcGllbCBhdWNoIGZ1ZXIgamVuZSBvZGVyIGF1Y2ggYW5kZXJlIGludGVyZXNzYW50IHNlaW4gYWJlciBkYW5uCmthbm4gbWFuIGRvY2ggZWhlciBzdGFlcmtlcmUgbW9uc3RlciBvZGVyIGV2dGwuCnp1c2F0emdpbGRlbixzdGF0cyxmYWVoaWdrZWl0ZW4gZWluZnVlaHJlbiBhbnN0YXR0IGRhcyBsZWJlbiBkZXIgYW5kZXJlbiBhcm1lbgooaWNoKSB6dSBlcnNjaHdlcmVuIC4KZGllc2UgYWVuZGVydW5nIHRyaWZmdCBkb2NoIHp1bSBncm9lc3N0ZW4gdGVpbCB3aWVkZXIgbGxwcyBkaWUgZWggbm9jaCBuaWNodHMKZHJhdWYgaGFiZW4gZXMgYWJlciBsZXJuZW4gd29sbGVuLgpIbHBzIGhhYmVuIGR1cmNoIGRpZSBhZW5kZXJndW5nIGRvY2gga2VpbmUgZ3Jvc3NlbiBuYWNodGVpbGUgZW50d2VkZXIgc2llCmhhYmVuIGpldHp0IGVpbmUgZ3JvZXNzZXJlIGhlcmF1Zm9yZHJ1bmcgYmVpIGRlbiBzdGFya2VuIG1vbnN0ZXJuIGRpZSBzaWUKdm9yaGVyIGdlbWV0enRlbHQgaGFiZW4gb2RlciBzaWUgbWV0emVsbiBqZXR6dCBlaW5lIG51bW1lciBrbGVpbmVyLgoKU21hcnRlIHdlaXMgbmljaHQgb2IgZXMgaWhtIGFscyBFbGYtS2FyYXRla2EgaGllciBub2NoIHNvIHJpY2h0aWcgZ2VmYWVsbHQgLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm8gY3Jhc2ggKENhdHdlYXpsZSwgMjYuIEZlYiAxOTk4LCAxMDo1MjoyNik6CiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgIFdlc3RmZGxpc2NoZSBXaWxoZWxtcy1Vbml2ZXJzaXRkdCBNfG5zdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgVW5pdmVyc2l0ZHRzcmVjaGVuemVudHJ1bQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgSG90IE5ld3MKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmQ6IDI2LjAyLjE5OTgsIDA4OjUyIFVocgoyNi4wMi46IFp1ciBaZWl0IGlzdCBkZXIgQi1XaW4gQW5zY2hsdV8gZ2VzdHZydC4gUmVwYXJhdHVybWFfbmFobWVuIHNpbmQKICAgICAgICBlaW5nZWxlaXRldCAoRmVobGVyIGluIGRlciBMZWl0dW5nIHp3aXNjaGVuIEt2bG4gdW5kIERvcnRtdW5kKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBUYW5rZW4gKEFjcmltb24sIDI2LiBGZWIgMTk5OCwgMTc6MDc6MzcpOgp+IyEgcm49U21hcnRlIHJ0PTg4ODQ0MjA4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzY2NzUzMApXZW5uIGR1IG51ciAxNyBvbmxpbmUtVGFnZSBicmF1Y2hzdCwgdW0gU2VoZXIgenUgd2VyZGVuLCBpc3QgZGFzIFNFSFIgd2VuaWcKWmVpdC4gVW5kIGluIGRlcnNlbGJlbiBaZWl0IGVpbmVuIEthcmF0ZWthIGF1ZiA0MiUgenUgYnJpbmdlbiwgaXN0IGViZW5mYWxscwpFWFRSRU0gc2NobmVsbC4KQWJnZXNlaGVuIGRhdm9uIGtlbm5lIGljaCBlaW5pZ2UgR2V0cmFlbmtlLCBkaWUgYXVmZ2V3ZXJ0ZXQgd3VyZGVuLgpXYXMgZ2lidCBlcyBkYSBub2NoIHp1IG1lY2tlcm4/CgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBUYW5rZW4gKFllbmRpLCAyNi4gRmViIDE5OTgsIDE5OjI1OjMwKToKfiMhIHJuPVNtYXJ0ZSBydD04ODg0NDIwODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKU21hcnRlLCAKCkR1IGJpc3QgdmVyd29laG50LiAKCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBObyBjcmFzaCAoR3VsZHVrYXQsIDI3LiBGZWIgMTk5OCwgMDA6MzI6MDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4ODQ4Njc0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODQ4Njc0NgpiZWkgdW5zIHNhaCBkYXMgc28gYXVzOgotLS0KUlpURVhUIFZvbSAyNi4wMi45OCB1bSAwODoxNjowNwpIZXV0ZSwgRG9ubmVyc3RhZyAtIDI2LjIuMTk5OCwgaXN0IHNlaXQgNi4yMyBVaHIgIGsgZSBpIG4gZSByIGwgZSBpIApWZXJiaW5kdW5nCiB6dW0gSW50ZXJuZXQgbW9lZ2xpY2gsIHdlaWwgaW0gQi1XaU4tTmV0eiBkZXMgREZOIHZpZXIgV1ItUm91dGVyIGF1c2dlZmFsbGVuCiBzaW5kLiBEaWUgU3RvZXJ1bmcgd2lyZCB2b3JhdXNzaWNodGxpY2ggYmlzIGV0d2EgOS4xNSBVaHIgYmVob2JlbiBzZWluLgotLS0tClJaVEVYVCBWb20gMjYuMDIuOTggdW0gMDk6NTQ6MTUKID4+Pj4+Pj4gICBNaXR0ZWlsdW5nIGRlcyBSZWNoZW56ZW50cnVtcyBkZXIgIFIgVSBCICBhbiAgYSBsIGwgZSA6CiBTZWl0IGhldXRlLCBEb25uZXJzdGFnIC0gMjYuMi4xOTk4LCA2LjIzIFVociBpc3Qgdm9uIGRlciBSdWhyLVVuaXZlcnNpYXRldAphdXMKICh1bmQgYXVjaCB2b24gZGVuIFVuaXZlcnNpdGFldGVuIGluIERPLCBIQSwgTVMgYXVzKSAgayBlIGkgbiBlIHIgbCBlIGkgClZlcmJpbmR1bmcKIHp1bSBJbnRlcm5ldCBtb2VnbGljaCwgd2VpbCBkYXMgQi1XaU4tTmV0eiBkZXMgREZOIGdlc3RvZXJ0IGlzdC4KIERlcnplaXQgaXN0IG5pY2h0IGFic2VoYmFyLCB3YW5uIGRpZSBTdG9lcnVuZ2VuIGJlaG9iZW4gc2VpbiB3ZXJkZW4uCi0tLS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqKiogQUJHRVNDSEFMVEVUIChzaXZhbykgKioqIChJamFuLCAyNy4gRmViIDE5OTgsIDEwOjU1OjI3KToKClRqYSwgbGllYmUgTWl0bXVkZGVyLAoKRGFzIFRvY2h0ZXJtdWQgZGVzIEFMLCBkYXMgU2l2YW8sIHd1cmRlIGhldXRlIGFtIDI3LjAyLjE5OTgKYmlzIGF1ZiB3ZWl0ZXJzIGFiZ2VzY2hhbHRldCB1bmQgZGllIERhdGVuIG5hY2ggZWluZW0KQmFja3VwIHZvbiBkZXIgUGxhdHRlIGdlbG9lc2NodC4KClNjaHVsZCBkYXJhbiBpc3QgZWluIHVuZWluc2ljaHRpZ2VyIExhYm9yYmV0cmllYnNsZWl0ZXIuCgpJY2ggc3VjaGUgbnVuIG5vY2ggZWluZW4gRXJzYXR6cmVjaG5lciBmdWVyIGRpZQpVZWJlcmdhbmdzemVpdCwgYmlzIGljaCBkYXMgU3R1ZGllbnByb2pla3QgJ1NpdmFvJwpnZW5lbWlndCBiZWtvbW1lbiBoYWJlLgoKRXMgdHV0IG1pciBzZWhyIExlaWQsIGFiZXIgaWNoIGhhYmUgbWVpbgpNb2VnbGljaHN0ZXMgZ2V0YW4gdW0gZGllcyB6dSB2ZXJoaW5kZXJuLgoKZ2V6LgogIGVpbiBleHRyZW0gbWVnYSB0cmF1cmlnZXIgCiAgICAgT2RpbiB6dSBWZW5zcmUgKGVoZW1hbHMgTVVELUdvdHQgaW0gU2l2YW8pCgpQLlMuOiBXZXIgbWlyIGhlbGZlbiBrYW5uLCBiaXR0ZSBlaW5lIGUtbWFpbCBhbgogICAgICAgICduaWVyY2stdEByemJ0LmZoLWhhbWJ1cmcuZGUnIHNjaGlja2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZ2Vwb3N0ZXQgdm9uIElqYW4genUgU3JhbGxhbnNyZQp6dXIgSW5mb3JtYXRpb24gZGVyIGhpZXIgYXVmc2NobGFnZW5kZW4gU2l2YW9hbmVyLiAqZ3JpbnMgdHJveSoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGUgSGl0Y2hIaWtlcidzIEd1aWRlIFRvIFRoZSBHYWxheHkgKFRlWCkgKFRyb3ksIDI3LiBGZWIgMTk5OCwgMTg6MjQ6NDEpOgpIYWxsbyBMZXV0ZSwKCmZ1ZXIgZGllIGRpZSBlcyBpbnRlcmVzc2llcnQ6IEluIC9vcGVuL0hpdGNoaGlrZXIgKHVlYmVyIGZ0cCBtZy5tdWQuZGUpIGxpZWd0CmVpbmUgRGF0ZWkgaGhndWlkZS50YXIuZ3osIHdlbGNoZSBkaWUgZXJzdGVuIDQgQnVlY2hlciBkZXMgSGl0Y2hoaWtlcnMgaW4KRU5HTElTQ0hFUiBPcmlnaW5hbGZhc3N1bmcgYWxzIC50ZXggdW5kIC5kdmkgZW50aGFlbHQuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChLZXksIDI3LiBGZWIgMTk5OCwgMjE6NTI6NTQpOgpIYWxsb2UuClNvcnJ5IEZyZXVuZCwgYWJlciBkYXMgaXN0IHp1dmllbC4KTWl0IGRlciBhbHRlbiBSZWdlbHVuZyBoYWJlbiB3aXIgdW5zIGVpbnZlcnN0YW5kZW4gZXJrbGFlcnQgKG1laHIgb2Rlcgp3ZW5pZ2VyKQpBYmVyIGRpZSBuZXVlIGlzdCBlaW4gV2l0eiEKVW5kIHp3YXIgd29ydHdvZXJ0bGljaC4KCkVzIHd1cmRlIG5pY2h0bWFsIGdlc2NoYWZmdCB2b2xsc2NyaXB0cyB6dSBlcndpc2NoZW4uIHVuZCBqZXR6dCB3b2xsdCBpaHIgZXVjaAphdWYgZGllc2Uga2xlaW5pZ2tlaXRlbiBzdHVlcnplbj8KTmEgRGFua2UhCgpBY2hqYSAuLi4gcGFzc3QgaWhyIGRpciBNb25zdGVyIGRhbm4gYXVjaCBhbj8gRWluaWdlIG1hY2hlbiBkYSBhdWNoIHppZW1saWNoCnZpZWwgaW4gZGVyIEthbXBmcnVuZGUgLi4uIGFsc28gd2VubiBtYW4gc28gZGVuCm90dG8tbm9ybWFsLW11ZGRlci1kdXJjaHNjaG5pdHQtYW5zY2hsYWcgYmVyZWNobmV0IHVuZCBkZW4gYXVmIGRpZSBtb25zdGVyCnVlYmVydHJhZWd0IC4uLi4gLikKCk5lZSBhYmVyIG1hbCBnYW56IGltIGVybnN0IC4uLiBlaW4gc2NoaWxkIHdlZywgZmV1ZXJiYWxsLCB6aWVoIHNjaGlsZCBhbiwgaXN0CmVpbiBzY3JpcHQsIG9raSBhYmVyIGVpbiBkZXJhcnQgaGFybWxvc2VzIGRhcyBlcyBFUkxBVUJUIHNlaW4gc29sbHRlLgp6dW1pbmRlc3QgZ2VkdWxkZXQuCkFuZGVybmZhbGxzIGthbm4gbWFuIGRhcyBtZXR6ZWxuIGhpZXIgZW5kZ3VlbHRpZyB2ZXJnZXNzZW4gdW5kIGlociBoYWJ0IGV1ZXIKc2Nob2VuZXMgcnVoaWdlcyBRdWVzdG11ZC4KCktleSBkZXIgc2ljaCBkYW5uIHZpZWxsZWljaHQgYXVjaCB3YXMgYW5kZXJlcyBzdWNodC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoR2xvaW5zb24sIDI3LiBGZWIgMTk5OCwgMjI6MDE6MjYpOgp+IyEgcm49S2V5IHJ0PTg4ODYxMjc3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApIbS4gV2lyZCBqYSBuaWNodCBhbGxlcyBzbyBoZWlzcyBnZWdlc3Nlbiwgd2llIGVzIGdla29jaHQgd2lyZCwgYWJlciBpY2gKd2FyIHNjaG9uIGV0d2FzIHVlYmVycmFzY2h0IHVlYmVyIEZyZXVuZHMgQXJ0aWtlbCwgenVtaW5kZXN0IG5hY2hkZW0KTWFoYXRtYSB1bmQgYW5kZXJlIFNwaWVsZXIgaWhtIG1hbCBpaHJlIFZvcnN0ZWxsdW5nZW4gZ2VzY2hpY2t0IGhhdHRlbi4KV2VubiBtYW4gaW4gS2V5cyBLZXJiZSBoYXVlbiB3b2xsdGUsIGRhbm4gd3VlcmRlIGljaCBFdWNoIGdsZWljaCBlaW4KKHdpZSBpbiBQSyBhbi0gdW5kIGFiZ2VoYWVuZ3RlcykgQWt0aW9uc3B1bmt0c3lzdGVtIChBcnQgZXJ3ZWl0ZXJ0ZXMKQVRUQUNLX0JVU1kpIHZvcnNjaGxhZ2VuLCBtaXQgR2FyYW50aWUsIHZpZWxlIGFsdGUgTXVkZGVyIHZvciBkZW4KS29wZiB6dSBzdG9zc2VuLgpBYmVyIHdpZSBzY2hvbiBGcmFueiBKb3NlZiBTdHJhdXNzIHNhZ3RlOiBTY2hhdW1hbWEuCgpHbG9pbiAuLi4gdmVydHJhdXQgenVtaW5kZXN0IG5vY2ggYXVmZiBkaWUgVmVybnVuZnQgdm9uIEVNcyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChOZWIsIDI3LiBGZWIgMTk5OCwgMjI6MTI6MDgpOgp+IyEgcm49S2V5IHJ0PTg4ODYxMjc3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApBbHNvLCBkaWVzZW4gQXJ0aWtlbCB2b24gRnJldW5kLCB3aWUgZXIgaGllciBzdGVodCwgcGx1cyAiaGlsZmUgc2tyaXB0ZW4iLCBpc3QKZG9jaCBhcmcgdWViZXJ6b2dlbiBtZWluZXIgTWVpbnVuZyBuYWNoLgpKZXR6dCBtYWwgaW0gRXJuc3QsIHdlbm4gaWNoIGJlaW0gV2VnaGllciBvZGVyIGJlaSBhbmRlcmVuIE1vbnN0ZXJuIG5pY2h0IGVpbgozLVNjaHJpdHRlIE1ha3JvIGhhYmUsIHdhcyBmdWVyIG1pY2ggaW4gZWluZXIgS2FtcGZydW5kZSAicmVpbi16YXViZXJzcHJ1Y2gKZ2VnZW4gbW9uc3Rlci1yYXVzIiBtYWNodCwgc29uZGVybiBkYXMgcGVyIGhhbmQgdW5kIG1laW5ldHdlZ2VuIGFsaXMgZWluZ2ViZW4KbXVzcywgYmluIGljaCBzY2hvbiAzIGthbXBmcnVuZGVuIHdlaXRlciwgdW5kIHdlbm4gbWljaCBkYW5uIG1laW4gVGVkZHkgbm9jaApuaWNodCBkYXMgbGV0enRlIE1hbCBnZWtudWRkZWx0IGhhdCwgZGFubiBzcGFldGVzdGVucyBkYW5uLCB3ZW5uIGljaCBtaWNoIGluCmRlciBIZWt0aWsgZWlubWFsIHZlcnRpcHBlLgpXb2JlaSBub2NoIG5pY2h0IG1hbCBnZXNhZ3QgaXN0LCBkYXNzIGNpaCBuaWNodCBnZWxvZXNjaHQgd2VyZGUsIHdlbm4gaWNoIHBlcgpIYW5kIHp1IHNjaG5lbGwgemlwcGUsIHdlaWwgamEgYWxsZXMsIHdhcyBzbyB3aXJrdCB3aWUgZWluIFNrcmlwdCwgYWxzbyBhdWNoCnp1IHNjaG5lbGxlcyB0aXBwZW4sIGJlc3RyYWZ0IHdpcmQuCkFsc28gZ2ViZSBpY2ggd29obCBiZXNzZXIgenVyIFZvcnNpY2h0IG51ciBhbGxlIDMgU2VrdW5kZW4gZWluZW4gQmVmZWhsIGVpbiwKZGFubiBiaW4gaWNoIGJlaSBnZWZhZWhybGljaGVuIE1vbnN0ZXJuIHp3YXIgYmVpIExhcnMsIGFiZXIgZ2VnZW51ZWJlcgpCZXN0cmFmdW5nZW4gc2VpdGVucyB1bnNlcmVyIFNoZXJpZmZzIHdlbmlnc3RlbnMgYXVmIGRlciBzaWNoZXJlbiBTZWl0ZS4KV2FzIGRhZ2VnZW4gbWl0IFNpY2hlcmhlaXQgbmljaHQgZXJ3aXNjaHQgd2lyZCwgc2luZCBkaWUgd2lya2xpY2gKYmVzdHJhZnVuZ3N3dWVyZGlnZW4gU2FjaGVuIHdpZSBVZWJlLVNrcmlwdGUsIGRlbm4gZG9ydCBrb21tdCBqYSBudXIgYWxsZSBwYWFyClNla3VuZGVuIGVpbiBCZWZlaGwsIHdhcyBhbHNvIHZpZWwsIHZpZWwgc2Nod2llcmlnZXIgenUgZXJ3aXNjaGVuIGlzdCBhbHMgZWluCkthbXBmbWFrcm8uCkFsc28sIGxhc3N0IHVucyBiaXR0ZSwgYml0dGUsIGtsZWluZSBLYW1wZm1ha3JvcywgZGVubiBiZXNvbmRlcnMgS2FlbXBmZXIgdW5kClNoYWtpZXMgKGljaCBkZW5rZSBkYSBhbiBCdW1lcmFlbmdlIHVzdy4pIHdlcmRlbiBzb25zdCB6aWVtbGljaApiZWVpbnRyYWVjaHRpZ3Qgd2VyZGVuLgoKTmViLCB3aWxsIG5pY2h0IG51ciBCbHVlbWNoZW56YWVobGVuIGltIE1vcmdlbmdyYXVlbiwgc29uZGVybiBhdWNoIG5vY2ggZWluCndlbmlnIFNwYXNzIGJlaW0gTWV0emVsbiBoYWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoQW5hdG9sLCAyNy4gRmViIDE5OTgsIDIyOjEzOjMzKToKfiMhIHJuPUdsb2luc29uIHJ0PTg4ODYxMzI4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApJY2gga2FubiBHbG9pbnMgInNjaGF1bWFtYSIgbmljaHQgZ2FueiB6dXN0aW1tZW4uIEVzIGhpZXNzIHNjaG9uIGRhbWFscwpiZWkgZGVyIEVyc3R2ZXJzaW9uIGRlciBSZWdlbG4gIkVzIHdpcmQgbmljaHRzIHNvIGhlaXNzIGdlZ2Vzc2VuIHdpZSBlcwpnZWtvY2h0IHdpcmQuIiB1bmQgYWxzIFJlc3VsdGF0IGthbSBoZXJhdXMsIGRhc3Mgc28gZ3V0IHdpZSBuaWNodHMgZ2VnZW4KZGllIHdpcmtsaWNoIGJvZXNlbiBTY3JpcHRlciBwYXNzaWVydGUuIFdlZGVyIGdlZ2VuIGRpZSwgZGllIHNpY2ggaW4gZWluZXIKR2lsZGUgdG90dWVidGVuLCBub2NoIGdlZ2VuIGRpZSwgZGllIGlocmUgdW50LUZQcyB6dXNhbW1lbnNhbW1lbHRlbi4gRGllCmRhbWFsaWdlbiBGb3JtdWxpZXJ1bmdlbiBoYWV0dGUgYWJlciAtIGRhcyB3YXIgYmVrYW5udCAtIGVybGF1YnQsIGVpbiBndXRlcwpEcml0dGVsIGRlciBzcGllbGVuZGVuICh1bmQgbWV0emVsbmRlbikgU2VoZXIgd2VnZW4gdW5lcmxhdWJ0ZW4gU2NyaXB0ZW5zCnp1IGxvZXNjaGVuLiBBYmVyIGVzIHd1cmRlIGphIG5pY2h0IHNvIGhlaXNzIGdlZ2Vzc2VuLCBuaWNodCB3YWhyLi4uCgpBdWYgZWluIG5ldWVzIC0gZGllIFJlZ2VsbiBzaW5kIG51biBOT0NIIGhhZXJ0ZXIgZm9ybXVsaWVydCwgbWFuIHZlcnNwcmljaHQKTk9DSCBtZWhyIEhhZXJ0ZSBiZWltIFZvcmdlaGVuIGdlZ2VuIFNjcmlwdGVyLiBOZWluLCBtZWhyIG5vY2g6IE1hbiBlcmtsYWVydCwKZGFzcyBzb2dhciBkZXIgYmxvc3NlIFZlcmRhY2h0IGF1c3JlaWNodC4gTWFsZW4gd2lyIHVucyBkYXMgYXVzOiBKZW1hbmQgZ2lidAppbSBLYW1wZiB2ZXJzZWhlbnRsaWNoIDUgS2FtcGZydW5kZW4gaGludGVyZWluYW5kZXIgc2VpbmUgQWxpYXNlIHJpY2h0aWcKZWluIC0gZGVyIFZlcmRhY2h0IGVpbmVzIEthbXBmLUtleWJpbmRpbmdzIHdpcmQgYXVzZ2VzcHJvY2hlbi4gT2RlciBlcgptYWNodCB6d2VpbWFsIGRlbiBzZWxiZW4gRmVobGVyIC0gZXIgYXJiZWl0ZXQgbWl0IHJhbmQoKSB2b24gdGY/IApSZXN1bHRhdCBpc3Q6IE1hbiBLQU5OIGVzIGdhciBuaWNodCBzbyBoYXJ0IGR1cmNoc2V0emVuLCB3aWUgZXMgZGllIG5ldQp2ZXJmYXNzdGVuIFJlZ2VsbiB2b3JzY2hyZWliZW4sIG9obmUgYXV0b21hdGlzY2ggamVkZW4gcmljaHRpZyBha3RpdmVuIApNZXR6bGVyIGRlciBMaXF1aWRhdGlvbiB6dXp1ZnVlaHJlbi4gSWNoIGdlaGUgZGF2b24gYXVzLCBkYXNzIGRhcyBzZWxic3QKZGVyIHNjaGxpbW1zdGUgTWFnaWVyIG5pY2h0IG1vZWNodGUsIGFsc28ga2FubiBtYW4gZGllIFJlZ2VsbiBzbyBuaWNodCAKZHVyY2hzZXR6ZW4gLSBtZWluZXIgTWVpbnVuZyBuYWNoLgoKV2llIHdhZXJlIGVzIG1pdCBlaW5lciBmb3JtdWxpZXJ0ZW4gUmVnZWx1bmcsIGRpZSBEVVJDSFNFVFpCQVIgaXN0LCBvaG5lIAp2b24gdm9ybmhlcmVpbiBzYWdlbiB6dSBtdWVzc2VuLCBkYXNzIG1hbiAiaGllciB1bmQgZGEiIHVuZCAiZG9ydCBnYW56IApiZXNvbmRlcnMiIG4gKGZ1ZXIgbj4xKSBBdWdlbiB6dWRydWVja2VuIHdpcmQ/CkVpbmUgUmVnZWx1bmcsIGRpZSBlcyBhdWNoIGRlbmplbmlnZW4sIGRpZSBzaWNoIG5pY2h0IGplZGVzIEphaHIgZWluZSBuZXVlCkNoZXJyeS1UYXN0YXR1ciBsZWlzdGVuIGtvZW5uZW4gdW5kIHRyb3R6ZGVtIG1ldHplbG4gd29sbGVuLCBoYWxid2Vncwp6dWZyaWVkZW5zdGVsbHQuIE5pZW1hbmQgc2FndCwgZGFzcyBIYXJkY29yZS1TY3JpcHRlciBzdHJhZmxvcyBoZXJ1bS0KcmVubmVuIHNvbGwuCgpMaWViZXIgZWluZSBzaXR1YXRpb25zYmV6b2dlbmUgU2hlcmlmZi1QZXJzb2VubGljaGtlaXRzZW50c2NoZWlkdW5nIGFscwpzbyBkZXJtYXNzZW4gKHR1dCBtaXIgbGVpZCwgRnJldW5kKSBmZWhsZm9ybXVsaWVydGUgc3RhcnJlIFJlZ2VsdW5nZW4uCgpNZWluZSBNZWludW5nLCBhcnJvZ2FudCB3aWUgaW1tZXIuCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlcGx5IGF1ZiBGcmV1bmRzIEFydGlrZWwgKEtoaWRhciwgMjcuIEZlYiAxOTk4LCAyMjoyMToyNyk6Cn4jISBybj1BbmF0b2wgcnQ9ODg4NjE0MDEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkljaCB3b2xsdGUgamEgZWlnZW50bGljaCBrbGFuZ2xvcyB2ZXJzY2h3aW5kZW4sIGFiZXIgZGEgYWxsZXMgc2Nob24gbWFsIGF1ZgpTZWhlciBkaXNrdXRpZXJ0IG1vZWNodGUgaWNoIGVpbmUgbWVpbmVyIE1laW51bmcgbmFjaCBzaW5udm9sbGUgU2NyaXB0cmVnZWx1bmcKYXVzIGRlbSBYeWxsb21lciB6aXRpZXJlbiwgZGllIGRhcyBQcm9ibGVtIGF1ZiBkZW4gUHVua3QgYnJpbmd0LgoKbyBSb2JvdHMKICBVc2luZyByb2JvdHMgIGlzIGZvcmJpZGRlbiBhbHNvLiBUaGF0IGlzICBhICBwcm9ncmFtIHRoYXQgbWFrZXMgeW91cgogIGNoYXIgIGFjdCAiaW50ZXJhY3RpdmVseSIgd2l0aG91dCAgeW91IGJlaW5nICBhdCAgdGhlIGtleWJvYXJkLiAgIFRvCiAgYW5zd2VyIHNvbWUgZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnM6CgogICBvIFVzaW5nIHNpbXBsZSB0cmlnZ2VycyBsaWtlIGF1dG8tY2FzdGluZyBvZiBzaGllbGQgc3BlbGwgaXMgb2ssIHNvCiAgICAgaXMgYXV0b21hdGljYWxseSAgc2hvd2luZyB5b3VyICA8aHA+IGFmdGVyIGVhY2ggIGhpdCwgIGlmIHlvdSBhcmUKICAgICBwcmVzZW50IGF0IHRoZSBrZXlib2FyZC4KCiAgIG8gVXNpbmcgYSBtYWNybyB0aGF0IHN0ZWVycyB5b3VyIHNoaXAgZnJvbSBwYWRvcm4gdG8gYXRsYW50aXMgaXMgb2sKICAgICB0b28uCgogICBvIEl0IGlzIF9OT1RfIG9rIHRvIHVzZSBhIHJvYm90IHRoYXQgaW50ZXJhY3RzIGZvciB5b3UsIGZvciBleGFtcGxlCiAgICAgYSAgaGVyYi1zZWFyY2hlciwgc29tZXRoaW5nIHRoYXQgdHJhY2tzICBvdGhlcnMgIGZvciB5b3UsIG9yIGNvZGUKICAgICB0aGF0IGFsbG93cyBhbm90aGVyIHBsYXllciB0byBjb250cm9sIHlvdXIgY2hhcmFjdGVyLgoKICAgbyBJdCBpcyAgX05PVF8gb2sgdG8gdXNlIGEgIHRyaWdnZXIvbWFjcm8gIHRvICd0cmFpbicgIHlvdXIgc3BlbGxzLgoKICBBcyBhbHdheXM6IHVzZSAgeW91ciAgY29tbW9uICBzZW5zZSwgYW5kIGlmICAgeW91ICBhcmUgbm90IHN1cmUgICBpZgogc29tZXRoaW5nIGlzIGFsbG93ZWQgb3Igbm90LCBfYXNrXyAgc29tZSBhcmNod2l6YXJkIG9yIGVtcGVyb3IgYmVmb3JlCiBkb2luZyBzby4KCiAgSWYgeW91IGFyZSBub3Qgc3VyZSBpZiBzb21ldGhpbmcgIGZpdHMgdGhpcyB2ZXJ5IHZhZ3VlIGRlZmluaXRpb24gb2YKIGNoZWF0aW5nLCBhc2sgYW4gYXJjaHdpemFyZC4KCgpTbywgIGljaCBob2ZmZSB1bnNlcmUgRU1zIGRlbmtlbiBub2NoIG1hbCB1ZWJlciBzb3dhcyBuYWNoLgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChaaWxsdXMsIDI3LiBGZWIgMTk5OCwgMjI6MzA6MDgpOgp+IyEgcm49S2hpZGFyIHJ0PTg4ODYxNDQ4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApEYXMgaXN0IHdvaGwgZWluIEZhc25hY2h0c3NjaGVyeiwgZGllc2UgbmV1ZSBSZWdlbHVuZy4gT2RlciBzZWggaWNoIGRhcyBmYWxzY2gKOy0oCldlbm4gZWluIFNwaWVsZXIgYXVmIF92ZXJkYWNodF8gZGVzIFNjcmlwdGVucyBnZWxvZXNjaHQgd2VyZGVuIGthbm4sIGRhbm4gaXN0CmRhcyB3b2hsIG1laHIgYWxzIHVlYmVydHJpZWJlbi4uLi4gTG9lc2NodCBtaWNoIGRvY2ggZ2xlaWNoIDstKAoKWklsbHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChDeXJheCwgMjcuIEZlYiAxOTk4LCAyMjo1NToyMik6Cn4jISBybj1DeXJheCBydD04ODg2MTYzMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKV2VubiBkYXMgTUcgZWluIE9wYSB1bmQgT21hIE11ZCB3ZXJkZW4gc29sbCBzY2hhZmZ0IGlociBkYXMgbGFuZ3NhbS4KV2VubiBpaHIgZGllIEthbXBmdHJpZ2dlciB2ZXJiaWV0ZXQga29lbm50IGlociBqYSBnbGVpY2ggYWxsZSBNb25zdGVyIGxvZXNjaGVuCmRpZSBuaWNodCB6dSBlaW5lciBxdWVzdCBnZWhvZXJlbi4KRGVyIFNpZWcgdWViZXIgZWluIHdpcmtsaWNoIHN0YXJrZXMgTW9uc3RlciBpc3QgZG9jaCBmYXN0IGdlbmF1c28gZ3Jvc3Mgd2llCmFscyB3ZW5uIG1hbiBuZSBzY2h3ZXJlIHF1ZXN0IGdlbG9lc3QgaGF0IG9kZXI/ClVuZCBkaWUgc2luZCBoYWx0IHNhdXNjaHdlciBvaG5lIEthbXBmc2NyaXAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChDeXJheCwgMjcuIEZlYiAxOTk4LCAyMjo1NzozOSk6Cn4jISBybj1DeXJheCBydD04ODg2MTY1MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKaWNoIG1laW50ZSBuaWNodCBLYW1wZnRyaWdnZXIgc29uZGVybiBzY3JpcHRlIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoU2hhcmlhLCAyNy4gRmViIDE5OTgsIDIzOjI5OjI1KToKfiMhIHJuPUN5cmF4IHJ0PTg4ODYxNjY1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApTb28gaWNoIHNlbmZlIGpldHp0IGF1Y2ggbmVuIGJpc3NsOgoKSWNoIGRlbmtlLCBkYXNzIFNpY2ggZGllIEVyem1hZ2llciB1bmQgR29ldHRlciBpbiBlaW5lciBFTS1Lb25mZXJlbnoKenVzYW1tZW5nZXNldHp0IGhhYmVuIHVuZCBkaWVzZSBBZW5kZXJ1bmdlbiBiZXNjaGxvc3NlbiBoYWJlbiwgZGVubiBzb2V0d2FzCndpcmQgamEgc2ljaGVyIG5pY2h0IGVpbmZhY2ggc28gdm9uIHVuc2VyZW4gU2hlcnJpZmZzIGJlc2NobG9zc2VuLCBkYWhlcgptdWVzc2VuIHdpciBlcyBhbHNvIHNjaGVpbmJhciBha3plcHRpZXJlbi4gCgpJY2ggaGFiIG1pciBqZXR6dCBtYWwgZWluIHBhYXIgR2VkYW5rZW4gZ2VtYWNodCwgd2FzIGRhcyBmdWVyIEZvbGdlbiBoYXQgdW5kCndhcyBmdWVyIE1vdGl2YXRpb25lbiBkYWhpbnRlcmdlc3RhbmRlbiBoYWJlbjoKCk1vdGl2YXRpb25lbjogLXJlaW4tcmF1cyBUYWt0aWtlbiBzb2xsdGVuIHZlcm1pZWRlbiB3ZXJkZW4KICAgICAgICAgICAgICAtdW5yZWFsaXN0aXNjaGVzIHdhZmZlbndlY2hzZWxuIGV0YyBzb2xsIHVubW9lZ2xpY2ggZ2VtYWNodAp3ZXJkZW4KICAgICAgICAgICAgICAtIG1laHIgd2Vpc3MgaWNoIG5pY2h0IDotKQoKRm9sZ2VuOgogcmVpbi1yYXVzOiB2ZXJib3RlbiB6dW1pbmRlc3QgbWl0IGtleWJpbmRpbmdzIC4uIHRqYSBzdGFya2UgTW9uc3RlciB3aWUgei5iLgpUaWdvbmVuIHNpbmQgbnVybm9jaCBtaXQgU2VoZXJNQVNTRW4gbW9lZ2xpY2gsIHdhcyBqZWRvY2ggZnVlciBkYXMKTW9yZ2VuZ3JhdWVuIG5pY2h0IHJlYWwgaXN0IC4uLgp1bnJlYWxpc3Rpc2NoZXMgV2FmZmVud2VjaHNlbG46IHRqYSBzbyBHaWxkZW4gd2llIHouYi4gZGllIEthZW1wZmVyZ2lsZGUga2FubgptYW4gZGFubiB2b2xsa29tbWVuIHZlcmdlc3NlbiwgZXMgZW1wZmVobGVuIHNpY2ggZGEgd2lya2xpY2ggbnVybm9jaCBDaGFvdGVuLApLYXJhdGVrYXMgdW5kIFphdWJlcmVyLCB3b2JlaSBDaGFvdGVuIG5lIHR1ZXIgdm9yIGlocmVyIEdpbGRlIGhhYmVuIC4uIHVuZApkZXJqZW5pZ2UgZGVyIGhhbHQgZGFzIHBlY2ggaGF0IGRhc3MgZXIgYmVpbSB0YW5rZW5nZWhlbiBpbiBzZWluZW0gc2NyaXB0IG1hbApkaWUgdHVlciBvZWZmbmVuIG11c3MsIHdlaWwgZXIgZGVuIHJlc2V0IGVyd2lzY2h0IGhhdCwgZGVyIHdpcmQgZ2Vsb2VzY2h0IC4uLgooc28ga2FubiBtYW4gYXVjaCBkaWUgTWl0Z2xpZWRzemFobGVuIGVpbmVyIEdpbGRlIHJlZHV6aWVyZW4pIHVuZCBiZWkKemF1YmVyZXJuLCBkaWUgdWViZXIgZGllIEJvb3RlIHVuZCBkYW5uIHVlYmVyIGRpZSBLdWdlbCBnZWhlbiBkaWUgaGFiZW4gYXVjaApnZWxpdHRlbiwgZGEgc2llIGRhIGxlaWRlciB2aWVsbGVpY2h0IHp1IHNjaG5lbGwgZ2V0aXBwdCBoYWJlbiB1bmQgZGFubiBhbHMKc2NyaXB0IHZlcnNjaHJpZWVuIHVuZCBwcm9tcHQgZ2Vsb2VzY2h0IHNpbmQuLi4KU2ljaGVyOiBFcyBpc3QgbmljaHQgc2VociByZWFsaXN0aXNjaCB3YXMgei5iLiBrYWVtcGZlciBhbGxlcyBpbiBlaW5lcgpLYW1wZnJ1bmRlIGFuc3RlbGxlbiBrb2VubmVuLCBqZWRvY2g6IGhhdCBzaWNoIG1hbCBqZW1hbmQgZGFydWViZXIgZ2VkYW5rZW4KZ2VtYWNodCwgZGFzcyBWSUVMRSBEaW5nZSBpbSBNb3JnZW5ncmF1ZW4gbmljaHQgcmVhbGlzdGlzY2ggc2luZCA/IApJY2ggZGVua2UsIGlociwgbWVpbmUgbGllYmVuIEVyem1hZ2llciAoYnp3IGRpZWplbmlnZW4gZGllIGRhbWl0IHp1IHR1biBoYWJlbiwKZGEgaWNoIGRlbmtlIGRhcyBkaWVzIGViZW4gTklDSFQgYXVmIGVpbmVyIEVNLUtvbmZlcmVueiBiZXNjaGxvc3NlbiB3dXJkZSkgCnNvbGx0ZXQgZXVjaCBub2NobWFscyBlcm5zdGhhZnQgZ2VkYW5rZW4gZGFydWViZXIgbWFjaGVuLCB3YXMgaWhyIGRhIHZlcnphcGZ0CmhhYnQgdW5kIGljaCBlbXBmZWhsZSBldWNoOiBzcGllbHQgbWFsIHNlbGJlciAuLiB1bmQga2lsbHQgbWFsIE1vbnN0ZXIgd2llCnouYi4gUm9iaW4sIFRpZ29uZW4gb2RlciBhdWNoICJudXIiIGVpbmVuIEN1IFNpdGggLi4gZGEgd2VyZGV0IGlociBtZXJrZW4sCmRhc3MgZGFzIGdhciBuaWNodCBTT09PIGxlaWNodCBpc3QgLi4gCgpJY2ggbWFjaGUgaGllcm1pdCBhdWNoIGVpbmVuIFZvcnNjaGxhZzogaWNoIHd1ZXJkZSBmdWVyIGVpbmVuIFRhZyAzIENoYXJha3RlcmUKenVyIFZlcmZ1ZWd1bmcgc3RlbGxlbjogMSBaYXViZXJlciAoZGVyIGRhbWl0IGRhc3MgZXIga2VpbmUgc2NyaXB0cyBtYWNoZW4KZGFyZiBhbSB3ZW5pZ3N0ZW4gcHJvYmxlbWUgaGFiZW4gZHVlcmZ0ZSkgMSBLbGVyaWtlcmluIChiZWkgZGVyIGRhcyBzY2hvbiBlaGVyCmF1ZmZhZWxsdCkgdW5kIHZvcmFsbGVtIDEgS2FlbXBmZXIgKGRlciBkYWR1cmNoIGVpZ2VudGxpY2ggZWluZ2Vtb3R0ZXQgd2VyZGVuCmthbm4pIHVuZCB6d2FyIGRlbWplbmlnZW4gYXVmIGRlc3NlbiAiTWlzdCIgZGFzIGdhbnplIGdld2FjaHNlbiBpc3QgdW5kIGRlcgpnaWJ0IG1pciBkYW5uIHNlaW5lbiBtYWdpZXJjaGFyYWt0ZXIgZGFtaXQgaWNoIGlobSB6dXNlaGVuIGthbm4gd2llIGVyIGRhbm4gc28KbWV0emVsdCAuLiB1bmQgendhciBuaWNodCBudXIgYmlsbGlnZSBvcmtzIC4uLnNvbmRlcm4gei5iLiBvcmtzIGluIHBhcmF2bGFuZAptaXQgbmVtIGthZW1wZmVyIG9kZXIgbmVtIEtsZXJpa2VyIC4uIC4uLiBEaWVzZXMgQW5nZWJvdCBpc3QgS0VJTiBTY2hlcnogLi4uCm1pY2ggd3VlcmRlIGRhcyB3aXJrbGljaCBpbnRlcmVzc2llcmVuIC4uIHVuZCB3ZW5uIGljaCB1ZWJlcnpldWd0IHdlcmRlIGRhc3MKZGFzIGdlbmF1c28gZ2VodCBkYW5uIHRqYSBkYW5uIGJpbiBpY2ggdWViZXJ6ZXVndCAqbGFjaCoKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoTHVnLCAyOC4gRmViIDE5OTgsIDAxOjIxOjA2KToKfiMhIHJuPVNoYXJpYSBydD04ODg2MTg1NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKCk5vY2htYWwgU2VuZiwKCgpkYSBkYWNodGUgaWNoIGRvY2ggZ2VyYWRlIGxhdXQ6IEthbm4gbWljaCBqYSBuaWNodCB0cmVmZmVuLCBWb3J0ZWlsZSBlaW5lcgpXdXJzdC4gRGFubiB3dXJkZSBpY2ggYWJlciBrb3JyaWdpZXJ0OiBEZXIgVmVyZGFjaHQgcmVpY2h0LiBBZWg/IFdlbm4gYWxzbwplaW5lciBhdWYgZGllIGJsb2VkZSBJZGVlIGtvbW10LCBpY2ggd3VlcmRlIGVpbiBNZXR6ZWxza3JpcHQgc2VpbiAoamFqYSwgc2Nob24KZ3V0IC0gaXN0IHJlaW4gaHlwdGhldGlzY2gpLCBkYW5uIHNjaHd1cHAgdW5kIHdlZz8KCkdlaHRzIEV1Y2ggbm9jaCBndXQ/CgpNYWwgZWhybGljaCwgZGVua3Qgbm9jaG1hbCBydWhpZyBkcnVlYmVyIG5hY2guCgpLb3BmIHNjaHVldHRlbG5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlcGx5IGF1ZiBGcmV1bmRzIEFydGlrZWwgKFNhbmQsIDI4LiBGZWIgMTk5OCwgMDE6NDU6MzIpOgp+IyEgcm49S2V5IHJ0PTg4ODYxMjc3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApJY2ggbW9lY2h0IG1hbCBtaXRzZW5mZW46CgpTa3JpcHRzIHNpbmQgYmlzIGF1ZiBlaW5pZ2UgQXVzbmFobWVuIHZlcmJvdGVuLiBXYXJ1bSA/CkljaCBoYWIgYmlzaGVyIHZvciBhbGxlbSBkaWUgQXJndW1lbnRlICJTcGllbHNwYXNzIiwKIldlbm4gRGlyIGVpbiBTa3JpcHRlciBkaWUgdG9sbGVuIERpbmdlIHdlZ25pbW10IiwgdW5kCiJnbGVpY2hlIENoYW5jZW4gZnVlciBhbGxlIiBnZWhvZXJ0LgoKSWNoIHZlcndlbmRlIGxlZGlnbGljaCB0ZWxuZXQgdW5kIHNrcmlwdGUgbmF0dWVybGljaCBnYXIgbmljaHQuCk1laW5lbiBTcGllbHNwYXNzIHZlcm1pbmRlcnQgZGFzIHNrcmlwdGVuIGFuZGVyZXIgaW4ga2VpbmVyIFdlaXNlLiAKRXMgc3RvZXJ0IG1pY2ggbmljaHQsIHdlbm4gZWluIGFuZGVyZXIgZHVyY2ggVmVyd2VuZHVuZyBpcmdlbmR3ZWxjaGVyCkhpbGZzbWl0dGVsICJiZXNzZXIiIGFscyBpY2ggd2lyZC4KCkF1ZiBkYXMgIldlZ25laG1lbiIgbW9lY2h0IGljaCBnYXIgbmljaHQgZWluZ2VoZW4sIGJpc2hlciBoYWIgaWNoCnZvbiBhbmRlcmVuIFNwaWVsZXJuIG51ciB3YXMgZ2VzY2hlbmt0IGJla29tbWVuLCAid2VnZ2Vub21tZW4iCmhhdCBtaXIgbm9jaCBuaWVtYW5kIHdhcy4gKE9rLCB2aWVsbGVpY2h0IGhhYiBpY2ggZXMgYXVjaCBudXIKbmljaHQgZ2VtZXJrdDopCgoiR2xlaWNoZSBDaGFuY2VuIiBnaWJ0cyBuaWNodC4gRnVlciBqZW1hbmRlbiBtaXQgUHJvZ3JhbW1pZXJrZW5udG5pc3NlbgpzaW5kIGdld2lzc2UgRGluZ2UgZWluZmFjaGVyLCBtYW5jaG1hbCBoaWxmdCBhdWNoIEJhc2ViYWxsIEtub3ctSG93LAp1bmQgZGllIEZhZWhpZ2tlaXQgTm90ZW5sZXNlbiBrYW5uIHUuVS4gYXVjaCBoaWxmcmVpY2ggc2Vpbi4KRGllIE1vZWdsaWNoa2VpdCBsYW5nZSBaZWl0IHp1IGlkbGVuIHVuZCAtYWJlbnRldWVyIHp1IGxlc2VuIGlzdAphdWNoIG5pY2h0IGplZGVybWFubi9mcmF1IGdlZ2ViZW4uCgpJc3QgZGFzIFByb2JsZW0gbmljaHQgZWhlciwgZGFzcyBlcyBzZWhyIHNjaHdpZXJpZyBpc3QsIE1vbnN0ZXIgenUKcHJvZ3JhbW1pZXJlbiwgZGllIHNvd29obCBmdWVyIGVpbmVuIG5pY2h0LXNrcmlwdGVuZGVuIFNwaWVsZXIKbWV0emVsYmFyIHNpbmQsIGFscyBhdWNoIGZ1ZXIgc2tyaXB0ZW5kZSBTcGllbGVyIGVpbmUgSGVyYXVzZm9yZGVydW5nCmRhcnN0ZWxsZW4gPyBEYXJhdWYgaGFiIGljaCBrZWluZSBBbnR3b3J0LCBhYmVyIGRpZXNlIEFyZ3VtZW50IGhhYgppY2ggYmlzaGVyIGF1Y2ggbmljaHQgZ2Vob2VydC4gKFZpZWxsZWljaHQgWm9uZW46IEFjaHR1bmcsIER1IHZlcmxhZXNzdApqZXR6dCBkaWUgc2tyaXB0YmFyZSBab25lIGRlcyBNRz8gOikKClNhbmQsIHNlbmZlbmQsIG5pY2h0IHNrcmlwdGVuZCwgdGVsbmV0ZW5kLgoKUC5TLgpKYWphLCBpY2ggaGFiIG1pciBlaW5tYWwgVEYgb3JnYW5pc2llcnQsIGFiZXIgZGFubiBzY2hpZW4gbWlyIGRlcgpBdWZ3YW5kL051dHplbiB2b24gZGVtIERpbmcgZWhlciBhYnN0b3NzZW5kLiBBYmVyIHdlbm4gaWNoIGVpbmVuCkNsaWVudCB2ZXJ3ZW5kZW4gd3VlcmRlLCBkYW5uIHd1ZXJkZSBpY2ggc2Nob24gZ2VybmUgYXVjaCBzZWluZQpNb2VnbGljaGtlaXRlbiBhdXNudWV0emVuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChLZXksIDI4LiBGZWIgMTk5OCwgMDE6NTU6NTkpOgp+IyEgcm49U2FuZCBydD04ODg2MjY3MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKV2lyIHdvbGxlbiBqYSBuaWNodG1hbCBhbGxlIE1vZWdsaWNoa2VpdGVuIGRlcyBjbGllbnRzIGF1c251dHplbi4KCkFsbGVpbmUgZGllIEZhcmJlbiBsb2huZW4gc2ljaCBzY2hvbiBTYW5kIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlcGx5IGF1ZiBGcmV1bmRzIEFydGlrZWwgKEdsb2luc29uLCAyOC4gRmViIDE5OTgsIDAxOjU4OjMwKToKfiMhIHJuPUtleSBydD04ODg2MjczNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKQWxzIGVpbiBJbmZvcm1hdGlrZXIgb2huZSB0ZiB6dSBtdWRkZW4gaGVpc3N0IGVudHdlZGVyIHNlaHIgc3BhcnRhbmlzY2gKenUgbXVkZGVuIG9kZXIgZnVlciBTdHVkaXVtIHp1IGJsb2VkIHp1IHNlaW4gOy0pCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoU3RpbmcsIDI4LiBGZWIgMTk5OCwgMDI6NTQ6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODg4NjI3NTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkhtbSwgamV0enQgc2NocmVpYiBpY2ggYXVjaCBtYWwgd2FzIGRhenUuLi4KCkFhYWFhYWxzbyA6KSBNZWluZXIgTWVpbnVuZyBuYWNoIHNpZWh0IGVzIHNvIGF1czogTW9tZW50YW4gbGF1ZmVuIGVpbmlnZQpVbnRlcnN1Y2hlc2NyaXB0ZXIgdW5kIGF1Y2ggVm9sbGthbXBmc2NyaXB0cyBydW0sIGRpZSBpbW1lciBub2NoIGtlaW5lIFN0cmFmZQplcmZhaHJlbiBoYWJlbiwgYWxzIGVyc3RlcyBzb2xsdGUgbWFuIGFsbGVzIGRhcmFuc2V0emVuIGRpZSBtYWwgenUgZXJ3aXNjaGVuLApkZW4gRElFIHN0b2VyZW4gdmVybXV0bGljaCBlaGVyIGRpZSBtZWlzdGVuIFNwaWVsZXIvU2VoZXIvTWFnaWVyLi4uIERhc3MgZGFzCm5pY2h0IGVpbmZhY2ggaXN0LCB3ZWlzcyBpY2ggbGVpZGVyIGF1Y2guIEFiZXIgaWNoIGJlendlaWZsZSBlcm5zdGhhZnQsIGRhc3MKZXR3YXMgd2llICJvc3RlbiwgY2hhb3NiYWxsIHdlZ2hpZXIsIHdlc3RlbiIgZXJuc3RoYWZ0IG1laHIgYWxzIDUlIGRlcgpTcGllbGVyL1NlaGVyL01hZ2llciBzdG9lcmVuIHd1ZXJkZS4uLiBXZW5uIGphLCBkYW5uIGxhc3MgaWNoIG1pY2ggZ2VybmUgYXVjaAp1ZWJlcnpldWdlbi4uLiBBYmVyIGljaCB6Yi4gc3ByZWNoZSBhbHMgQ2hhb3QsIGRpZSBiZWkgX3NlaHJfIHZpZWxlbiBNb25zdGVybgphdWYgZGllIHJlaW4tcmF1cy10YWt0aWsgYW5nZXdpZXNlbiBzaW5kLCB1bmQgbnVyIGFscyBCZWlzcGllbCBiZWltIFdlZ2hpZXIKZHVlcmZ0ZSBlaW4gVmVydGlwcGVyIG1pdCBhbiBTaWNoZXJoZWl0IGdyZW56ZW5kZXIgV2FocnNjaGVpbmxpY2hrZWl0IGZ1ZXIgZGllCm1laXN0ZW4gdG9lZGxpY2ggc2Vpbi4uLiBJY2ggcGVyc29lbmxpY2ggYmluIGRlciBNZWludW5nLCBkYXNzIG1hbiB3aWUgS2hpZGFyCmJlcmVpdHMgZ2VzY2hyaWViZW4gaGF0LCBzb2xjaGUgU2FjaGVuIHdpZSByZWluLWFuZ3JpZmYtcmF1cyBlcmxhdWJlbiBzb2xsdGUsCmFsbGVyZGluZ3MgYXVmIGVpbmUgYmVzdGltbXRlIEFuemFobCB2b24gQmVmZWhsZW4gcHJvICJtaW5pLXNjcmlwdCIKYmVzY2hyYWVua2VuLi4uIGFsc28gbmljaHQgZGFzcyBlaW5lciBtYWNodDogIm5vcmRlbiwgdmVybGV0emUgeHh4IG1pdCBmZXVlciwKaGF1Y2hlIGZlZGVyLCB3aXJmIHNhZXVyZWJhbGwsIGJsYWJsYWJsYSIuLi4gV29iZWkgZGFzcyBhdWNoIHdpZWRlcnVtIHNlaHIKc2Nod2llcmlnIGlzdCwgc2VpdCBlcyBkaWUgS2FlbXBmZXJnaWxkZSBnaWJ0LCBkaWUgdm9uIGlocmVuIE1laHJmYWNoLUF0dGFja2VuCnF1YXNpICJsZWJ0Ii4gRWluZSBHZW5lcmFsbG9lc3VuZyB6dSBkaWVzZW0gUHJvYmxlbSB3aXJkIHNpY2ggd29obCBuaWNodApmaW5kZW4gbGFzc2VuIChsZWlkZXIpLiBBYmVyIGluIGRlciBqZXR6aWdlbiBGb3JtIGhhbHRlIGljaCBlcyBhdWNoIGZ1ZXIgZXR3YXMKenUgZW5nc3Rpcm5pZy4gQWJlcmUgbm9jaCB6dW0gUHVua3Q6ICJzb2ZvcnRpZ2VzIGxvZXNjaGVuIiB1c3cuLi4gSWNoIGdsYXViZSwKZGEgdWViZXJ0cmVpYnQgaWhyLCBMZXV0ZS4gSWNoIGtlbm5lIEZyZXVuZCB1bmQgSGlnaGxhbmRlciByZWNodCBndXQsIHVuZApkZW5rZSBkYXNzIGRpZSBhdWNoIG5pY2h0IGVpbmZhY2ggamVtYW5kIHNvZm9ydCBsb2VzY2hlbiBlaW5mYWNoIHNvLCBkYXp1IHNpbmQKc2llIHZpZWwgenUgbmV0dCB1bmQgdmVyc3RhZW5kbmlzdm9sbCA6KSBFcyBzZWkgZGVubiBkZXIvZGllamVuaWdlIHVlYmVydHJlaWJ0CmVzIG1hc3Nsb3MsIHdpZSBtYW5jaGUgKGhvaGUpIFNwaWVsZXIvU2VoZXIgaGllci4uLiBOYWphLCBhdWYgamVkZW4gRmFsbCBtZWluCkZheml0OiBVZWJlcmxlZ3QgZXVjaCBnZXdpc3NlIEFlbmRlcnVuZ2VuL0FucGFzc3VuZ2VuIGRlciBSZWdlbG4sIGFuc29uc3Rlbgp3ZXJkZW4gaGllciB2ZXJtdXRsaWNoZSBlaW5pZ2UgKHZvciBhbGxlbSBhZWx0ZXJlKSBTcGllbGVyL1NlaGVyIGVudHdlZGVyIGZhc3QKbml4IG1laHIgbWFjaGVuLCBvZGVyIGdhbnogenUgZWluZW0gYW5kZXJlbiBNVUQgYWJ3YW5kZXJuLCB1bmQgZGFzcyBmYWVuZGUgaWNoCndpZWRlcnVtIFNFSFIgc2NoYWRlIDooIEljaCBkZW5rZSBkaWUgbWVpc3RlbiBrb2VubmVuCiBkYW1pdCBsZWJlbiwgZGFzcyBVZWJlLVNjcmlwdHMgdW5kIF90b3RhbGVfIGthbXBmc2NyaXB0cyBoYXJ0IGJlc3RyYWZ0CndlcmRlbiBpbiB6dWt1bmZ0LCBhYmVyIGJlaSBkZW4gRmVpbmhlaXRlbiBzb2xsdGUgbWFuIG5vY2ggZXR3YXMgc2NobGVpZmVuLi4uCgpTdGluZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChIYW5nb3ZlciwgMjguIEZlYiAxOTk4LCAwODozNTo1Nik6Cn4jISBybj1LZXkgcnQ9ODg4NjEyNzc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0ClRhY2ghCgpNYW4ga2FubiBhdWNoIG9obmUgU2tyaXB0IG1ldHplbG4uCgotSGFuZ292ZXIKKGRlbSBkYXMgaW1tZXIgbWFsIHdpZWRlciBnZWxpbmd0Li4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NyaXB0ZW4gKFNyYWJpLCAyOC4gRmViIDE5OTgsIDA5OjQ2OjIzKToKQWxzbywgaWNoIHdpbGwgZGFubiBhdWNoIG1hbCBNZWludW5nIGRhenUgc2FnZW4uIEljaCBmaW5kZSBlcyBlY2h0IG5pY2h0IGd1dCwKZGEgU2NyaXB0ZSwgZGllIGVpbiBzY2huZWxsZXJlcyBtZXR6ZWxuIGVybW9lZ2xpY2hlbiwgdmVyYm90ZW4gd2VyZGVuIHNvbGx0ZW4uClNjcmlwdGUsIHdpZSB6Yi4gZGFzIHdlZ3N0ZWNrZW4gdm9uIHdhZmZlbiAtIGhlcmF1ZmJlc2Nod29lcmVuIGVpbmVzIERhZW1vbnMsCnp1ZWNrZW4gZGVyIFdhZmZlLCBzb2xsdGVuIGVybGF1YnQgc2Vpbi4gSWNoIHNlaGUgZXMgYW4gbWlyLCB3ZW5uIGljaCBlaW5lbgpNZXR6ZWxkYWVtb24gYmVzY2h3b2VyZW4gd2lsbCwgbXVzcyBpY2ggZGllIFdhZmZlIHdlZ3N0ZWNrZW4sIHdvYmVpIGljaCBkYW5uCnppZW1saWNoIGhlZnRpZyBnZXRyb2ZmZW4gd2VyZGUgdW5kIHRhbmtlbiBnZWhlbiBtdXNzLiBJbiBkZXIgWndpc2NoZW56ZWl0IGhhdApzaWNoIGRhcyBNb25zdGVyIGZhc3Qga29tcGxldHQgcmVnZW5lcmllcnQuIAoKU3JhYmksIGRlciBxdWVzdGVuIHVuZCBtZXR6ZWxuIHdpbGwgKmdydW1tZWwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoSmFzb25yaWdpZCwgMjguIEZlYiAxOTk4LCAxMzoxNzoyOCk6Cn4jISBybj1LZXkgcnQ9ODg4NjEyNzc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkhpIExldXRlLAoKV2llZGVyIG1hbCBtdXNzIGljaCBLZXkgcmVjaHQgZ2ViZW4sIHVuZCBvYndvaGwgaWNoIG1pY2ggYW4gZ2xlaWNoZXIgc3RlbGxlCnVlYmVyIGRhcyBuZXVlIFRhbmtzeXN0ZW0gYmVzY2h3ZXJlIHVuZCBlcyBpbW1lciBub2NoIG5pY2h0IHNvIHRvbGwgZmluZGUsCm11c3MgaWNoIGpldHp0IGRvY2ggc2VoZW4sIGRhc3MgZXMgbGFuZ3NhbSBtaXQgVmVybGF1YiBnZXNhZ3Qga2xlaW4sIGJ1bnQgdW5kCmtvbWlzY2ggd2lyZC4gSWNoIGhhYmUgbWljaCBtaXQgZWluZXIgc3RhcmtlbiBCZXNjaHJhZW5rdW5nIG1laW5lciBLYW1wZmtyYWZ0CmR1cmNoIGRpZSBUYW5rcmVmb3JtIGFiZ2VmdW5kZW4sIGFiZXIgamV0enQgYXVmIFNjcmlwdFZFUkRBQ0hUIHp1IGxvZXNjaGVuCmZpbmRlIGljaCBlY2h0IHppZW1saWNoIGRhbmViZW4uIEljaCBiaW4gamV0enQgYXVjaCBzY2hvbiBldHdhcyBsYWVuZ2VyIGRhYmVpLAp1bmQgTW9uc3RlciB3aWUgZGllIFRpZ29uZW4gaGFiZSBpY2ggbm9jaCBuaWUgenUgR2VzaWNodCBiZWtvbW1lbiwgdW5kIGVpbmUKQmVnZWdudW5nIG1pdCBkZXIgSHlkcmEgbnVyIGtuYXBwIHVlYmVybGVidC4gQmVpIG1pciBmYW5nZW4gZGllIFByb2JsZW1lIGJlaQp2ZXJtZWludGxpY2ggYmlsbGlnZW4gTW9uc3Rlcm4gd2llIEF0YWxhbiBhbiwgZGVuIGljaCBvaG5lIHJlaW4tcmF1cyBzY2hvbiBtYWwKZ2FyIG5pY2h0IHNjaGFmZmUuIEVzIHdhZXJlIGphIG5pY2h0IGVpbm1hbCBzbywgZGFzcyBpY2ggZGEgc2NyaXB0ZW4gd3VlcmRlIGltCkthbXBmLCBhYmVyIG1laW5lIGFsaXMgc2luZCBoYWx0IHNvIG5haGUgYW5laW5hbmRlciBnZWxlZ3QsIGRhc3MgaWNoIHNjaG9uCnJlY2h0IHNjaG5lbGwgcmVpbmdlaGUsIGVpbmVuIFNvbmRlcmFuZ3JpZmYgbWFjaGUgdW5kIHdpZWRlciByYXVzZ2VoZS4gRGFzCnd1ZXJkZSBtaXIgYWxzIHNjcmlwdGVuIGFuZ2VrcmVpZGV0IHVuZCBpY2ggd3VlcmRlIGRhZnVlciBnZWxvZXNjaHQsIHVuZCBkYQprYW5uIGRhbm4gaXJnZW5kd2FzIG5pY2h0IG1laHIgc3RpbW1lbi4KVmllbGxlaWNodCB3aXJkIHdpcmtsaWNoIG5pY2h0YSBsbGVzIHNvIGhlaXNzIGdlZ2Vzc2VuLCB3aWUgZXMgZ2Vrb2NodCB3aXJkCnVuZCBlcyBpc3Qgd2lya2xpY2ggZWluZSBGcmFnZSwgd2llIGVmZml6aWVudCBkaWUgRWluaGFsdHVuZyBkZXIgbmV1ZW4gUmVnZWxuCnVlYmVyd2FjaHQgd2VyZGVuIGthbm4sIGFiZXIgaWNoIGJpdHRlIGRpZSBNYWdpZXIsIGRpZSBzaWNoIGRhcyBhdXNnZWRhY2h0CmhhYmVuLCBzaWNoIG5vY2htYWwgR2VkYW5rZW4gZGFydWViZXIgenUgbWFjaGVuLiBFaW4gQXJndW1lbnQgd2FyIGphd29obCwgZGFzcwpTY3JpcHRlciBkZW4gU3BpZWxzcGFzcyBkZXJqZW5pZ2VuIHZlcnJpbmdlcnQsIGRpZSBuaWNodCBzY3JpcHRlbi4gSWNoIGhhYmUKYXVjaCBsYW5nZSBaZWl0IG9obmUgdGYgZ2VzcGllbHQsIHVuZCBmYW5kIGRhcyBpbiBPcmRudW5nLCBhYmVyIGVzIHN0b2VydGUKbWljaCBhdWNoIG5pY2h0LCBkYXNzIGFuZGVyZSBoYWx0IGdlc2NyaXB0ZXQgaGFiZW4uIERpZSBuZXVlIFJlZ2VsdW5nCmJlZWludHJhZWNodGlndCBhYmVyIE1FSU5FTiBTcGllbHNwYXNzIHdlc2VudGxpY2ggbWVociwgYWxzIGVyIGRlbiBkZXJqZW5pZ2VuCnZlcmJlc3NlcnQsIGRpZSBuaWNodCBzY3JpcHRlbiwgdW5kIGRhIGJpbiBpY2ggd29obCBuaWNodCBhbGxlaW5lLgpJY2ggZGVua2UsIGRhcyBrYW5uIG5pY2h0IGltIFNpbm5lIGRlciBNYWdpZXIgc2Vpbiwgd2VubiBkZXIgU3BpZWxzcGFzcyBzbwp2aWVsZXIgU3BpZWxlciBzbyBiZWVpbnRyYWVjaHRpZ3Qgd2lyZC4gT2RlciBkb2NoID8/CgpCaXMgZGVubmUKCkphc29uIFJpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlcGx5IGF1ZiBGcmV1bmRzIEFydGlrZWwgKFN0aW5nLCAyOC4gRmViIDE5OTgsIDEzOjI0OjE5KToKfiMhIHJuPUphc29ucmlnaWQgcnQ9ODg4NjY4MjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkFsc28gd2VubiBBdGFsYW4gZnVlciBkaWNoIGVpbiBiaWxsaWdlcyBNb25zdGVyIGlzdCwgZGFubiB2ZXJzdGVoIGljaCBuaWNodAp3YXJ1bSBkdSBkaWUgVGFua3JlZm9ybSBuaWNodCBndXQgZmluZGVzdCA/IEJlaSBzbyB6aWVtbGljaCBhbGxlbSB3YXMga2xlaW5lcgppc3QsIGlzdCBtYW4gamV0enQgc3RhZXJrZXIgYWxzIHZvcmhlci4uLgpBdXNzZXJkZW0ga2FubiBtYW4gcnVoaWcgYXVjaG1hbCBsb2JlbiBkYXNzIGpldHp0IG9maXppZWxsIFNhY2hlbiB3aWUgImtsZXR0ZXIKdWViZXIgbWF1ZXIgdW5kIHRlbGVwb3J0aWVyZSAgbmFjaCA1IiBpbiBXZWdlc2NyaXB0cyBlcmxhdWJ0IHNpbmQsdW5kIG5pY2h0CmltbWVyIG51ciBtZWNrZXJuLi4uIE5pY2h0IGRhc3MgaWNoIGpldHp0IHZvbGwgZnVlciBqZWRlIEFlbmRlcnVuZyBiaW4sIGFiZXIKbWFuIHNvbGx0ZSBhdWNoIG1hbCBkaWUgcG9zaXRpdmVuIEFzcGVrdGUgc2VoZW4gOikKCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBIaXRjaEhpa2VyJ3MgR3VpZGUgVG8gVGhlIEdhbGF4eSAoVGVYKSAoWmFybml5YSwgMjguIEZlYiAxOTk4LCAxMzoyNTowNSk6Cn4jISBybj1Ucm95IHJ0PTg4ODYwMDI4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYwMDI4MQpOZXR0IFRyb3ksIApzb29vbyB2ZXJzY2h3ZW5kZXQgbWFuIG1pdCBNdWVsbCBkZW4gUExhdHogZGVzIE1HcmVjaG5lcnMuLi4gZmluZCBpY2ggdG9sbC4uLi4KV0VHIE1JVCBERU0gU0NIRUlTUywgc2FnIGljaCAhISEhCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoZSBIaXRjaEhpa2VyJ3MgR3VpZGUgVG8gVGhlIEdhbGF4eSAoVGVYKSAoU3RpbmcsIDI4LiBGZWIgMTk5OCwgMTM6MjY6MDUpOgp+IyEgcm49WmFybml5YSBydD04ODg2Njg3MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MDAyODEKTmV0dCBaYXJuaXlhLApzb29vbyB2ZXJzY2h3ZW5kZXQgbWFuIG1pdCBkdW1tZW4gUmVwbHlzIGRlbiB3ZXJ0dm9sbGVuIFBsYXR6IGluIGRlciBNUEEuLi4KZmluZCBpY2ggdG9sbC4uLgpXRUcgTUlUIERVTU1FTiBBUlRJS0VMTiwgc2FnIGljaCAhISEhCgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlcGx5IGF1ZiBGcmV1bmRzIEFydGlrZWwgKEphc29ucmlnaWQsIDI4LiBGZWIgMTk5OCwgMTM6Mzk6MDcpOgp+IyEgcm49U3RpbmcgcnQ9ODg4NjY4NjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0Ck5vY2htYWwgaGkgOikKCkR1IGhhc3QgbWljaCB2b2xsa29tbWVuIGZhbHNjaCB2ZXJzdGFuZGVuLCBTdGluZywgbmljaHQgZnVlciBNSUNIIGJpbGxpZywKc29uZGVybiBpbiBkZXIgQW5zaWNodCBkZXIgQWxsZ2VtZWluaGVpdC4gTWFuIGVyemFlaGx0IG1pciBpbW1lciwgQXRhbGFuIHdhZXJlCnNvIGVpbmZhY2ggYWxsZWluZSB6dSBtYWNoZW4sIHVuZCBpY2ggaGFiZSBpaG4gbm9jaCBtaXQgYWx0ZW0gVGFua3Nhc3RlbQpnZW1hY2h0IHVuZCBtaXQgcmVpbi1yYXVzIHVuZCBtdXNzdGUgaW1tZXIgbm9jaCAxMG1hbCB0YW5rZW4uIFVuZCBnZW5hdSBkYXMKZ2VodCBlYmVuIG5pY2h0IG1laHIuIE9rYXksIHdpciBtYWNoZW4gaWhuIGpldHp0IHp1IG1laHJlcmVuIHVuZCBkYW5uIGdlaHQgZXIKd2llZGVyLCBhYmVyIHJlaW5zdGVsbGVuIHVuZCBrYWVtcGZlbiBrYW5uIGljaCBtaWNoIGJlaSBpaG0gZWluZmFjaCBuaWNodCwKcHVua3R1bS4gRGFubiBoYWJlIGljaCAodmllbGxlaWNodCBiaW4gaWNoIHVuZmFlaGlnLCBrYW5uIGR1cmNoYXVzIHNlaW4pIG5vY2gKMTUwIG1wIHVuZCA1MCBscCB1bmQga2F1bSBzY2hhZGVuIGFuZ2VyaWNodGV0LgpOYWphLCB3YXMgbWljaCBhbSBtZWlzdGVuIGdlYWVyZ2VydCBoYXQsIHdhciBoYWx0IGRhcyBsb2VzY2hlbiBhdWYgVkVSREFDSFQuCk1hbiBsZWd0IHNpY2ggc2VpbmUgYWxpcyBndWVuc3RpZyB1bmQgd2lyZCBkYWZ1ZXIgZ2Vsb2VzY2h0IGlzdCBhdXMgbWVpbmVyClBvc2l0aW9uIGRpZSBRdWludGVzc2VueiBkYXJhdXMgdW5kIGRhcyBrYW5uIGphIG51biBpcmdlbmR3aWUgbmljaHQgc3RpbW1lbi4KR2FueiBuZWJlbmJlaSwgd2llIHNvbGwgaWNoIGFscyBLYWVtcGZlciBtZWluZSBGaW50ZSB6LkIuIGF1c251dHplbiwgd2VubiBkaWUKc2NobmVsbGUgQXVmZWluYW5kZXJmb2xnZSB2b24gQmVmZWhsZW4genVtIEdlbG9lc2NodHdlcmRlbiBmdWVocnQgPz8KClNjaG9uIGV0d2FzIGJlcnVoaWd0ZXIgYWJlciBpbW1lciBub2NoIHNhdWVyCgpKYXNvbiBSaWdpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoRnJldW5kLCAyOC4gRmViIDE5OTgsIDE0OjIxOjU1KToKfiMhIHJuPVppbGx1cyBydD04ODg2MTUwMDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKWldlaSBTYWNoZW4gbWFsIG1pdHRlbiBpbSBUaHJlYWQgd2VnZW4gYWt1dGVuIFplaXRtYW5nZWxzOgoxLiAiRGllIEVNcyIgaGFiZW4gZGFtaXQgbml4IHp1IHR1biEgRnJldW5kIHdhcnMhCgoyLiBEZXIgVmVyZGFjaHQgcmVpY2h0IG5pY2h0IGF1cywgdW5kIGljaCBtZWluZSBhdWNoLCBkYXNzIGljaCBkYXMgbmlyZ2VuZHMKZ2VzY2hyaWViZW4gaGFiZS4gU2VsYnN0dmVyc3RhZW5kbGljaCBpc3QgZGVyIFNoZXJpZmYgaW4gZGVyIEJld2Vpc3BmbGljaHQsCndlbm4gZXIgZXR3YXMgdW50ZXJuaW1tdC4KCkZyZXVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY3JpcHRlbiAoQ2F0d2VhemxlLCAyOC4gRmViIDE5OTgsIDE1OjA4OjM5KToKfiMhIHJuPVNyYWJpIHJ0PTg4ODY1NTU4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODY1NTU4MwpIbSwgaXN0IERpciBzY2hvbiBtYWwgZGVyIEdlZGFua2UgZ2Vrb21tZW4sIGRhcyBlcyBlaW5lbiBTSU5OIGhhdCwgZGFzCmR1IG1pdCBlaW5lbSBTY2h3ZXJ0IGluIGRlciBIYW5kIGtlaW5lbiBEYWVtb25lbiBiZXNjaHdvZXJlbiBrYW5uc3Q/CkRlciBwcm9ncmFtbWllcmVuZGUgTWFnaWVyIGhhZXR0ZSBrZWluZWFic29sdXQga2VpbmUgU2Nod2llcmlna2VpdGVuIGdlaGFidCwKZGllIEJlc2Nod29lcnVuZyBhdWNoIG1pdCB2b2xsZW4gSGFlbmRlbiB6dSBpbXBsZW1lbnRpZXJlbiwgYWxzbyBnZWgKZG9jaCBtYWwgZGF2b24gYXVzLCBkYXMgZXMgRGljaCBiZWhpbmRlcm4gU09MTC4KRGFzIER1IGRpZXNlIEJlaGluZGVydW5nIG1pdCBlaW5lbSBrbGVpbmVuIFNjcmlwdGNoZW4gdW1nZWhzdCBtYWcgendhcgp1bmdsYXVibGljaCBnZXNjaGlja3Qgdm9uIERpciBzZWluLCBhYmVyIHZlcnN0b2Vzc3QgZ2VnZW4gZGllIApJbnRlbnRpb24gZGVzIE1hZ2llcnMgdW5kIG1hY2h0IGRpZSBJbXBsZW1ldGF0aW9uIHVlYmVyZmx1ZXNzaWcuCkljaCBkZW5rZSBlcyB3YWVyZSBmYWxzY2gsIGRpZXMgYXVjaCBub2NoIHZvbiBvYmVuIGFscyByZWdlbGdlcmVjaHQKZWluenVzdHVmZW4uCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoU2Nob2tvLCAyOC4gRmViIDE5OTgsIDE1OjMwOjIwKToKfiMhIHJuPVN0aW5nIHJ0PTg4ODY3NTEyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYxMjc3NApPayBqZXR6dCBhdWNoIG1hbCBlaW4gZGFlKGgpbWxpY2hlcyByZXBseSB2b24gbWlyOgpJY2ggZ2xhdWJlIGluIGVpbmlnZW4gQXJ0aWtlbG4gdm9yaGVyIHd1cmRlIGRhcyBzY2hvbiBhbSBSYW5kZSBlcndhZWh0LCBhYmVyCm1laW5lIG1laW5lciBNZWludW5nIG5hY2ggaXN0IGRlciBLZXJucHVua3QgZGVyIFNhY2hlIGRvY2ggZWluIGdhbnogYW5kZXJlcjoKZXMgbGF1ZmVuIGViZW4gaGllciBldGxpY2hlIC0genVtIFRlaWwgYXVjaCBlaW5pZ2VybWFzc2VuIGJla2FubnRlIC0KImhpZ2gtdGVjaCIgU2tyaXB0ZSBkdXJjaCBkaWUgR2VnZW5kLiBEaWVzZSBzaW5kIGVzIHdvaGwsIGRpZSBhbGxlcm9yZXRlbiB6dXIKc2NobGVjaHRlbiBTdGltbXVuZyBiZWl0cmFnZW4gdW5kIGRpZSBEaXNrdXNzaW9uZW4gaW1tZXIgd2llZGVyIGF1ZnMgbmV1ZQplbnRicmVubmVuIGxhc3Nlbi4KSWNoIG1laW5lIGVzIGthbm4gZWluZmFjaCBuaWNodCBhbmdlaGVuLCBkYXNzIGljaCBtaXIgZWluIGVpbmlnZXJtYXNzZW4KZ2VzY2hpY2t0ZXMgdW50ZXJzdWNoZSBTa3JpcHQgYmF1ZSwgZGFzcyBkYW5uIGhlbHQgbWFsIGViZW4gaW4gZGVyIE5hY2h0IG5lCldlaWxlIGxhZXVmdCAod2FzIGlzdCBzY2hvbiBPbmxpbmUtemVpdCBmdWVyIG1pY2gpIHVuZCBkYW5uIG5lYmVuYW4gamVtYW5kCmdlbG9lc2NodCAob2RlciBWZXJ3YXJudCBvZGVyIHdhcyBhdWNoIGltbWVyKSB3aXJkLCB3aWVsIGVyIGJlaW0gTGF1ZmVuIG5lClR1ZXIgYXVmZ2VtYWNodCBoYXQuCgpTY2hva28gbWVpbnQ6IGRlciBTa3JpcHRlcmVpIHdpcmQgbWFuIG5pY2h0IEhlcnIsIGluIGRlbSBtYW4gc2llIHZvbiB1bnRlbgpuYWNoIG9iZW4gYXVmcm9sbHQsIGRhcyBmdWVocnQgbnVyIGRhenUsIGRhc3Mgc2ljaCBkaWUgU3BpdHplIGltbWVyIHdlaXRlcgpuYWNoIG9iZW4gYmV3ZWd0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjcmlwdGVuIChHbG9pbnNvbiwgMjguIEZlYiAxOTk4LCAxNjo0Mzo0MSk6Cn4jISBybj1TcmFiaSBydD04ODg2NTU1ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2NTU1ODMKRXMgaGluZGVydCBEaWNoIGRvY2ggZ2FyIG5pZW1hbmQgZGFyYW4sIERpciBzbyBldHdhcyB6dSBlcmxlaWNodGVybi4gRGF6dQpnaWJ0IGVzIEFsaXMsIGJlaSBtaXIgbGllZ3Qgc3RlY2tlLHNwZWxsLHp1ZWNrZSBhdWYgeSx4LGMgLi4uIHNjaG5lbGxlcgpnZWh0IGthdW0gbm9jaC4gSXJnZW5kd2FubiBoYWIgaWNoIGVzIG1pciBtYWwgYXVmIGVpbiBCaW5kaW5nIGdlbGVndCwKYml0dGUuIEFiZXIgd2VubiBtYW4gbWljaCBNZXR6ZWx3dXJzdCBqZXR6dCBsb2VzY2h0LCBkYW5uIG11c3MgaWNoIHNhZ2VuLApkYXMgZXMgc2ljaCBmdWVyIG1pY2ggYXVjaCBrYXVtIGxvaG5lbiB3dWVyZGUsIGluIHNvIGVpbmVtIHJlc3RyaWt0aXZlbgpNVUQgenUgc3BpZWxlbi4KQWJlciBtYWwgYWJnZXNlaGVuIGRhdm9uOiAxIGdsYXViZSBpY2gsIGRhc3MgZGllIEdlZnVlaGxlIG1vbWVudGFuIGV0d2FzCmhvY2h3YWxsZW4gMi4gZGFzIHNpY2ggRnJldW5kIHZpZWxsZWljaHQgZWluIHBhYXIgV2VuZHVuZ2VuIGluIGRlciBIaWxmZQpldHdhcyBnZXNjaGlja3RlciB1ZWJlcmxlZ2VuIHNvbGx0ZS4gSW0gTmFjaGhpbmVpbiB3ZXJkZW4gbnVyIGRpZSBnYW56CmtsZWluZW4gV3VlcnN0Y2hlbiBsZWlkZW4sIGRpZSBuaWNodCB3aXNzZW4sIHdpZSBtYW4gbWl0IEFsaXMgdW5kIHRmCnVtZ2VodC4gTWFsIGdhbnogYWJnZXNlaGVuIGRhdm9uLCBkYXNzIGljaCBzY2hvbiBtaXQgdGVsbmV0IHp1IE5ldHpsYWctCnplaXRlbiB1ZWJlciAxMCBEZXRhaWxhbmZyYWdlbiBhdWYgZWlubWFsIGFiZ2VzZXR6dCBoYWJlIC4uLiBiZWkgendlaQpTZWt1bmRlbiBMYWcgaW0gTmV0eiBrb21tdCBzb3dhcyBhdWYgbWVpbmVyIFNlaXRlIHNjaG9uIHp1c2FtbWVuLgpJY2ggbW9lY2h0ZSBtYWwgZGVuIE1hZ2llciBzZWhlbiwgZGVyIG1pciBlaW5lbiBVbnRlcnNjaGllZCB6d2lzY2hlbgp5LHgsYyBvZGVyIEJpbmRpbmcgc291bmRzbyBiZXdlaXN0IC4uLiBjb29sIGRvd24gLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVyIEtsYXJzdGVsbHVuZzogKEZyZXVuZCwgMjguIEZlYiAxOTk4LCAxNzowNjoyNyk6CkZyb2hlcyBNdWRkZW4hCgpNYWwgZWluZXMgdm9yd2VnOiBOb2NoIG5pZW1hbHMgenV2b3Igd3VyZGUgZGVybWFzc2VuIHZpZWwgaW4gZWluZW4gbWVpbmVyIApBcnRpa2VsIGludGVycHJldGllcnQuIFNlbGJzdCBMZXV0ZSwgZGllIGljaCBpbiBSTCBrZW5uZSwgYmV0ZWlsaWd0ZW4gc2ljaCAKYW4gU3Bla3VsYXRpb25lbi4gRGFzIHplaWd0IG1pciwgZGFzcyBtZWluIFVyc3BydW5nc2FydGlrZWwgd29obCB6aWVtbGljaCAKbWlzc3ZlcnN0YWVuZGxpY2ggZm9ybXVsaWVydCB3YXIuIEljaCBzY2hyZWliZSBkYWhlciBkaWVzZW4gQXJ0aWVsLCB1bSAKZGlmZmVyZW56aWVydGVyIHp1IHdlcmRlbjoKCkF1ZiBkZXIgRU0tS29uZmVyZW56IHd1cmRlIE5JQ0hUIGRhcyBWb3JnZWhlbiBvZGVyIGRpZSBBcmJlaXRzd2Vpc2UgZGVzIApTaGVyaWZmcyBiZXN0aW1tdC4gRGFzIGlzdCBTYWNoZSBkZXMgU2hlcmlmZnMuCgpNZWluZSBBYnNpY2h0IG1pdCBkZW0gRGVmaW5pZXJlbiBkZXIgV2VnZXNjcmlwdGUgKHVuZCBtZWhyIGlzdCBiaXMgZGF0byAKbm9jaCBnYXIgbmljaHQgcGFzc2llcnQhKSBsYWcgZGFyaW4sIGVpbmUga2xhcmUgR3JlbnplIHp1IHppZWhlbiB6d2lzY2hlbiAKTGVnYWxpdGFldCB1bmQgZGVtLCB3YXMgdmVyYm90ZW4gaXN0LiBTbywgd2llIGVzIGJpc2hlciBsYWV1ZnQgaGF0IGRlciAKU2hlcmlmZiBzdGV0cyBkaWUgQXJzY2hsb2Noa2FydGUuIEVyIHN0ZWh0IGluIGRlciBCZXdlaXNwZmxpY2h0LCBlcyBnaWJ0IAprb25rcmV0ZSBWb3JnYWJlbiwgYWJlciBkaWVzZSBzaW5kIHNlaXQgbGFuZ2VtIHNjaG9uIGVpbmUgRmFyY2UuIEltbWVyLCAKd2VubiBlaW4gU3BpZWxlciBhbmdlc3Byb2NoZW4gd3VyZGUsIHdhcyB6LiBCLiBtaXQgc2VpbmVtICJiZXN0ZWxsIGJsYSItCkJlZmVobCBpbiBzZWluZW0gS25laXBlbi1XZWdoaWVyLVdlZ2UtU2NyaXB0IHNlaSwgc2FndGVuIGFsbGUgCmVpbnZlcm5laG1saWNoLCBkYXMgd3VlcmRlIGRpY2ggd29obCB0b2xsZXJpZXJ0IHdlcmRlbiwgZGEgamEgYW5kZXJlIApCZWZlaGxlIGF1Y2ggZXJsYXVidCBzZWllbiwgdW5kIGRhcyBpbiAiaGlsZmUgc2NyaXB0ZSIgZGVmaW5pZXJ0ZSBFcmxhdWJ0ZSAKZWggdWViZXJnYW5nZW4gd3VlcmRlLiBUamEsIHNldHp0IG1hbiBkYW5uIGVpbm1hbCBkYXMsIHdhcyBpbiBkZXIgClNjcmlwdGRlZmluaXRpb24gc3RlaHQgdW0sIHNvIGlzdCBtYW4gaGFsdCBkYXMgQXJzY2hsb2NoIHZvbSBEaWVuc3QuIExhZXNzdCAKbWFuIGVzIGR1cmNoZ2VoZW4sIGlzdCBtYW4gaGFsdCBkYXMgV2VpY2hlaSB2b20gTUcuIFBmZmZmZmZmZi4gV2FzIHNvbGwncywgCmthbm4gaWNoIG1pdCBsZWJlbi4gQWJlciB2aWVsZSBTcGllbGVyIGViZW4gbmljaHQuIAoKRGllIGdhbnplIERpc2t1c3Npb24gdW0gZGllIFR1ZXJlbiBpc3QgZ2VyYWRlenUgYWJzdXJkLiBNaXQgZGVyIApCZXdlZ3VuZ3NwZmxpY2h0IGJlaSBXZWdlc2NyaXB0ZW4gaXN0IGVpbmUgc2ltcGxlIERlZmluaXRpb24gZXJyZWljaHQsIAptaXRoaWxmZSBkZXJlciBlcyBmdWVyIGVpbmVuIFNoZXJpZmYgdHJpdmlhbCBpc3QsIFNjcmlwdGUgYWxzIGxlZ2FsIG9kZXIgCmlsbGVnYWwgZWluenVzdHVmZW4uIEljaCByYWV1bWUgZWluLCBkYXNzIGVzIGVpbmlnZSB3ZW5pZ2UgVHVlcmVuIGdpYnQsIGRpZSAKZGEgbW9tZW50YW4gc3RvZXJlbiwgZG9jaCBkYXMgc29sbHRlIG5pY2h0IG1laHIgbGFuZ2Ugc28gc2Vpbi4gV2VyIGRlc3dlZ2VuIApkYXMgTUcgdmVybGFzc2VuIG1hZywgZGVtIHRyYXVlcmUgSUNIIGJlc3RpbW10IG5pY2h0IGhpbnRlcmhlci4KCkRpZSBtZWlzdGVuIFVucnVoZW4gZ2FiIGVzIGplZG9jaCB3ZWdlbiBkZXIgS2FtcGZtYWtyb3MuIEdlbWVpbnQgc2luZCBEaW5nZSAKd2llOiAicmVpbjsgYmxpdHogcnVzdHk7IHJhdXMiLiBEaWUgd3VyZGVuIGFic2ljaHRsaWNoIG5pY2h0IGVyd2FlaG50LCBkYSAKaWNoIGRhIHZvcmVyc3Qga2VpbmUgQWVuZGVydW5nIGJlYWJzaWNodGlnZS4gTmllbWFuZCB3aXJkIHdlZ2VuIGVpbmVzIApzb2xjaGVuIE1ha3JvcyBnZWxvZXNjaHQuIFNvbGx0ZSBzaWNoIGRhcyBBZW5kZXJuLCBnaWJ0IGVzIEJla2FubnRtYWNodW5nZW4gCnVuZCBXYXJudW5nZW4hIEljaCBzdWNoZSBqZWRvY2ggbm9jaCBuYWNoIGVpbmVyIGViZW5zbyBlaW5mYWNoZW4gRGVmaW5pdGlvbiAKZnVlciBLYW1wZmhhbmRsdW5nZW4sIGRpZSBhYmVyIGxlaWRlciBpbiBkZW4gdmVyc2NoaWVkZW5lbiBHaWxkZW4gYXVjaCAKdm9lbGxpZyB2ZXJzY2hpZWRlbiBzaW5kLiBWb3JzY2hsYWVnZSB3ZXJkZW4gZ2VybmUgZW50Z2VnZW4gZ2Vub21tZW4uIAoKRW50dGFldXNjaHQgd29yZGVuIGJpbiBpY2ggbWFsIHdpZWRlciB2b24gc3BvbnRhbmVuIFNlbGJzdGxvZXNjaHVuZ3MtIHVuZCAKTXVkLUtvbnZlcnRpZXJ1bmdzLUdlZGFua2VuKFRNKS4gSWNoIGJpbiBkZXIgc2FjaGxpY2hlbiBEaXNrdXNzaW9uIGZhZWhpZyAKdW5kIGhhdHRlIGVpbmVuIEdlZGFua2VuYXVzdGF1c2NoIGVyd2FydGV0LgoKTWlyIGthbSBkYSBub2NoIGVpbiB3ZWl0ZXJlciBHZWRhbmtlOiBFcyBzY2hlaW50IHNvLCBhbHMgd29sbGUgamVkZXIgClNwaWVsZXIgU0VJTkUgU2NyaXB0ZSAoYWxzbyBkaWUsIGRpZSBlciB6dWZhZWxsaWcgbnV0enQsIGRpZSBlciBzZWxic3QgCmdlc2NocmllYmVuIGhhdCwgZGllIEVSIGFscyBmYWlyIGFuc2llaHQpIHVtIGplZGVuIFByZWlzIHdlaXRlcmJlbnV0emVuIHVuZCAKYWxsZSBhbmRlcmVuIGFscyBpbGxlZ2FsIGVpbmdlc3R1ZnQgc2VoZW4uIERhcyBpc3QgYXVjaCBldHdhIGJlaSBkZXIgClNjcmlwdC1CZWZyYWd1bmcgdm9yIGVpbmlnZXIgWmVpdCBoZXJhdXNnZWtvbW1lbi4gSWNoIGZyYWdlIG1pY2ggZGEgCkVSTlNUSEFGVCwgb2Igd2lyIG5pY2h0IGVpbmZhY2ggU2NyaXB0ZW4gZXJsYXViZW4gc29sbHRlbi4gTWVpbmV0d2VnZW4gbWl0IAplaW5lciBNYXJraWVydW5nIHVuZCBlaWdlbmVuIFRvcC1MaXN0ZW4sIGFiZXIgd2FzIHNvbGwgZGllc2UgSGV1Y2hlbGVpPyBJY2ggCmtvbW1lIGF1cyBlaW5lciBTcGllbGVyLVplaXQgKHp3aW5rZXIgQm9pbmcpLCBhbHMgbm9jaCBwZXIgdGVsbmV0IGdlbXVkZGV0IAp3dXJkZS4gRnVlciBtaWNoIGdlaHQgYWxsZXMgdWViZXIgYWxpYXMgdW5kIHdvIG5pY2h0LCBpc3QgZGFzIE11ZCB6dSAKYWVuZGVybiwgbmljaHQgZGVyIENsaWVudC4gTGVpZGVyIHNlaGVuIGRhcyBpbW1lciB3ZW5pZ2VyIExldXRlIHNvLCBkYW1pdCAKbXVzcyBtYW4gc2ljaCB3b2hsIGFiZmluZGVuLiAKCk5hamEsIG1laW4gQXJ0aWtlbCBoYXR0ZSB6dW1pbmRlc3QgZWluZW4gU2lubjogRXIgaGF0IGVpbmUgRGlza3Vzc2lvbiBpbiAKZGVyIFplaXR1bmcgYXVzZ2Vsb2VzdCB1bmQgZGFtaXQgZGllIFNhdXJlLUd1cmtlbi1HcmltbWJvcm4tVmVybGVnZS0KQXJ0aWtlbC1aZWl0IGJlZW5kZXQuIEljaCB3dWVyZGUgbWljaCB1ZWJlciBLT05TVFJVS1RJVkUgQmVpdHJhZWdlIHp1ciAKRGlza3Vzc2lvbiBmcmV1ZW4gdW5kIHNldHplIGRhaGVyIG1laW5lIEFua3VlbmRpZ3VuZyBlcnN0IGVpbm1hbCBiaXMgenVtIAoxLjQuMTk5OCBhdXMuIEFsc286IEFsbGVzIGJsZWlidCBiZWltIGFsdGVuIGZ1ZXIgd2VpdGVyZSA0IFdvY2hlbi4KCkZyZXVuZCwgZGVyIHNpY2ggdmllbGxlaWNodCBkaWVzbWFsIGtsYXJlciBhdXNnZWRydWVja3QgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoSGFzaW0sIDI4LiBGZWIgMTk5OCwgMTc6MzM6MjIpOgp+IyEgcm49U3RpbmcgcnQ9ODg4NjY4NjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkhpLAppY2gga3JpZWcgbWFsIHdpZWRlciB3aWUgaW1tZXIgbml4IG1pdCwgbnVyIGVpbmUgRnJhZ2UuLi4uIG11c3MgaWNoIGpldHp0CmltbWVyIDEuLi4yLi4uMy4uLiB6YWVobGVuLCBiaXMgaWNoIGRhcyBuYWVjaHRlIGVpbnRpcHBlLi4uLm51ciB1bSBuaWNodApnZWxvZXNjaHQgenUgd2VyZGVuLi4uCkljaCBkZW5rIGRhIHouQi4gYW4gZGVuIFdlZyB2b24gTW9yb24genVtIEVsZmVuZG9yZi4uLiBvZGVyIHNvLCBkYSBoYWNrIGljaAphdWNoIG51ciBzbyBhdWYgZGVuIFRhc3RlbiBydW0uLi4gYmluIGljaCBqZXR6dCBhbHNvIHNjaG9uIHRvdCBvZGVyIHdpZSBvZGVyCndhcy4uLi4KSGFzaW0sIGRlbSBlcyBsYW5nc2FtIGxhZWNoZXJsaWNoIHZvcmtvbW10IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaGUgSGl0Y2hIaWtlcidzIEd1aWRlIFRvIFRoZSBHYWxheHkgKFRlWCkgKEhhbmdvdmVyLCAyOC4gRmViIDE5OTgsIDE5OjI2OjMyKToKfiMhIHJuPVphcm5peWEgcnQ9ODg4NjY4NzA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjAwMjgxCk1vaW4hCgpXZW5uIGljaCBzbyBaYXJuaXlhcyBHZWphbW1lciBsZXNlLCBrb21tdCBtaXIgZGVyIEVpbmRydWNrLApkYXNzIGVpbmlnZSBTcGllbGVyb2JqZWt0ZSBhdWNoIG51ciBQbGF0eiBhdWYgZGVtIFJlY2huZXIKd2VnbmVobWVuLi4uCgotSGFuZ292ZXIKKGdlbmVydnQgdm9uIHNvIGJsb2VkZW0gR2VmbGFtZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadXIgS2xhcnN0ZWxsdW5nOiAoTGVmdHksIDI4LiBGZWIgMTk5OCwgMjM6MzI6MjEpOgp+IyEgcm49RnJldW5kIHJ0PTg4ODY4MTk4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODY4MTk4NwpIaSwKCnNvIHdpZSBpY2ggZGFzIGpldHp0IGludGVycHJldGllcmUsIGxpZWd0IGRpZSBncm9lc3N0ZSBTY2h3aWVyaWdrZWl0IGRhcmluLAprbGVpbmUgIkhpbGZzc2tyaXB0ZSIsIGRpZSBnZWR1bGRldCBiencgZXJsYXVidCBzZWluIGtvZW5udGVuLCBlaW5mYWNoIHZvbgpTa3JpcHRlbiB1bnRlcnNjaGVpZGVuIHp1IGtvZW5uZW4sIHdlbGNoZSBTcGllbGVyIGluIHVuZ2V3dWVuc2NodGVyIFdlaXNlCmFud2VuZGVuLiBWaWVsZmFlbGx0IG1pciBkYSBrb25zdHJ1a3RpdiBlcnN0bWFsIG5pY2h0IGVpbiwgYWJlciBldmVudHVlbGwgaGF0CmphIGRhIG1hbCBqZW1hbmQgYW5kZXJzIGVpbmUgSWRlZSB1bmQgYnJpbmd0IHNpZSBtYWwgYW4uIEVpbmVtIFNwaWVsZXIgc29sbHRlCmVzIG1laW5lciBNZWludW5nIG5hY2ggbW9lZ2xpY2ggc2Vpbiwgc292aWVsIEJlZmVobGUgaW4gZWluZXIgS2FtcGZydW5kZQpkdXJjaHp1YnJpbmdlbiwgd2llIHRhdHNhZWNobGljaCBhdWNoIHVtc2V0emJhciBzaW5kLCB2b20KcHJvZ3JhbW1pZXJ0ZWNobmlzY2hlbiBoZXIuV2VubiBlaW5lIEdpbGRlIGFsbGUgbW9lZ2xpY2hlbiBTcGVsbHMsIFRha3Rpa2VuCmV0YyBoYXQsIHdlbGNoZSBpbiBlaW5lciBSdW5kZSBwZXIgTWFrcm8gZHVyY2hnZXNldHp0IHdlcmRlbiBrb2VubmVuLCBzb2xsdGUKZGllcyBlcmxhdWJ0IHNlaW4uIFNjaGxpZXNzbGljaCBnaWJ0IGVzIGRhIGphIGJlcmVpdHMgQmVzY2hyYWVua3VuZ2VuIGFsYSAiRHUKYmlzdCBtb21lbnRhbiB6dSBlcnNjaG9lcGZ0LiIsIlNvIHNjaG5lbGwga2FubnN0IER1IGtlaW5lbiBuZXVlbiBTcHJ1Y2gKYW5icmluZ2VuLiIsIk5hbmFuYSwgbmljaHQgc28gaGFzdGlnIiAoV29ydGxhdXQgZnJlaSBlcmZ1bmRlbiA7LSkgKS4KSWNoIGVyaW5uZXIgbWljaCBub2NoIGFuIG1laW5lIGZydWVoZW4gTXVkdGFnZSwgd28gaWNoIGFscyBBYmVudGV1cmVyIDIgQnVtaXMKZ2V3aXJmZW4sIG5lbiBGZXVlcmJhbGwgZ2VzY2htaXNzZW4gdW5kIGRhdHdpc2NoZW4gU2Nod2VydCBnZXp1ZWNrdCB1bmQgU2NoaWxkCmFuIGJ6dy4gYXVzZ2V6b2dlbiBoYWJlLiBEYSBoYXR0ZSBpY2gga2VpbmUgQWhudW5nIHZvbiB0ZiB1bmQgTWFrcm9zIC4uLgpkYXNmdW5rdGlvbmllcnRlLiBBbHMgaWNoIGRhbm4gZGFzIGVyc3RlIE1hbCBpbSBSZWNoZW56ZW50cnVtIHNhc3MsIHNjaGF1dGVuCm1pY2ggYWxsZSBlbnRuZXJ2dCBhbiwgd2VpbCBpY2ggZGllIFRhc3RhdHVyIGRlcm1hc3NlbiBiZWFyYmVpdGV0ZSwgZGFzcyBpY2gKZGllIGFuZGVyZW4gbWFzc2l2IHN0b2VydGUuCkF1Y2ggYXVzIHNvbGNoZW4gR3J1ZW5kZW4gc29sbHRlbiBnZXdpc3NlIFNrcmlwdGUgZXJsYXVidCBzZWluLCBhdWNoIG5lbgpvLGNoYW9zYmFsbCB3ZWdoaWVyLHcgdGlwcHQgbWFuIG1hbnVlbGwgcHJvIFJ1bmRlLiBBbHNvIC4uLiBoYXQgamVtYW5kIG5lCnBhc3NlbmRlIElkZWUgZnVlciBlaW5lIERlZmluaXRpb24sIGRpZSBzbyBlaW5kZXV0aWcgaXN0LCBkYXNzIEZyZXVuZCBhdWNoIGF1cwpkZW0gU2NobmVpZGVyIGlzdCB1bmQgc2ljaCBuaWNodCBtaXQgaXJnZW5kd2VsY2hlbiBEaXNrdXNzaW9uZW4gbmFjaGhlcgpydW1zY2hsYWdlbiBtdXNzID8KCkxlZnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1ciBLbGFyc3RlbGx1bmc6IChXdXJ6ZWwsIDI4LiBGZWIgMTk5OCwgMjM6NDg6NTkpOgp+IyEgcm49TGVmdHkgcnQ9ODg4NzA1MTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjgxOTg3CndhcyBzaWNoZXIgZXJsYXVidCBzZWluIHNvbGx0ZSwgd2FlcmVuICJrdXJ6ZSIgYmVmZWhsc2ZvbGdlbiwgcXVhc2kgc293YXMKd2llIG1laHJ0ZWlsaWdlIGFsaXMuIHdhcyBzaWNoZXIgbmljaHQgZXJsYXVidCBzZWluIHNvbGx0ZSwgc2luZCB0cmlnZ2VyCmplZ2xpY2hlciBhcnQuCm5hdHVlcmxpY2gga29lbm50ZSBtYW4gZHJ1ZWJlciBuYWNoZGVua2VuLCB3YXMgImt1cnoiIGluIGRpZXNlbSB6dXNhbW1lbmhhbmcKYmVkZXV0ZW4gc29sbC4gYWJlciBzb3dhcyB3aWUgIm4sZmV1ZXJiYWxsLHMiIGlzdCBnbGF1YmUgaWNoIGRhcyBtaW5pbXVtCmRlc3NlbiB3YXMgZXJsYXVidCBzZWluIHNvbGx0ZS4gYWxsZXMgYW5kZXJlIHdhZXJlIHVucmVhbGlzdGlzY2guCmVpbiB1bnRlcnN1Y2hlc2tyaXB0IGlzdCBuYXR1ZXJsaWNoLCBkYSBlcyBhdWYgaW5wdXQgcmVhZ2llcnQsIG5hY2ggZGllc2VyCmRlZmluaXRpb24gaWxsZWdhbC4Kd2FzIGljaCBiaXNoZXIgaW4gZGllc2VyIGdhbnplbiBkaXNrdXNzaW9uIG5vY2ggbmljaHQgZ2Vob2VydCBoYWJlLCBpc3QgZGllCmZyYWdlIGRlciBnbGVpY2hoZWl0IGFsbGVyIHNwaWVsZXIuIGVzIGdpYnQgbmF0dWVybGljaCBldGxpY2hlLCBkaWUgdGVsbmV0CmJlbnV0emVuLCBkaWUga29lbm50ZW4gc2ljaCB0aGVvcmV0aXNjaCBiZXNjaHdlcmVuLiBhYmVyIGF1Y2ggZGEgbGFlc3N0IHNpY2gKbWl0IHJlY2h0IGVpbmZhY2hlbiBtaXR0ZWxuIGFiaGlsZmUgc2NoYWZmZW4sIGplZGVuZmFsbHMgd2FzIGRpZSBuYWNoIG9iaWdlcgpkZWZpbml0aW9uICJlcmxhdWJ0ZW4gc2tyaXB0ZSIgYW5nZWh0LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBadXIgS2xhcnN0ZWxsdW5nOiAoTGVmdHksICAxLiBNYXIgMTk5OCwgMDA6MDE6MDEpOgp+IyEgcm49V3VyemVsIHJ0PTg4ODcwNjEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODY4MTk4NwpIbSwgZGllIERpc2t1c3Npb24gaXN0IGluIG1laW5lbiBBVWdlbiBzY2h3ZXIgenUgZnVlaHJlbi4gRGEga2FubiBtYW4gbm9jaApzb3ZpZWwgYWxzIEJlaGluZGVydW5nIG9kZXIgYWxzIFZvcnRlaWwgc2VoZW4uIFRlbG5ldC90ZiwKTW9kZW0veC1NQml0LUxlaXR1bmcsIHNjaG5lbGxlciBQcm92aWRlci9sYW5nc2FtZXIgUHJvdmlkZXIsIHNjaGxlY2h0ZXIKQmlsZHNjaGlybS8xMDAgWm9sbC1Nb25pdG9yIDstKSAuLi4KRGEgd3VlcmRlIGljaCBlaGVyIHNhZ2VuIC4uLiB3YXMgbWFuIHNpY2ggYXVzc2VyaGFsYiBkZXMgTXVkcyBvcmdhbmlzaWVydCBvZGVyCm5pY2h0LCBpc3QgU2FjaGUgdm9uIGplZGVtIGVpbnplbG5lbiBzZWxic3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1ciBLbGFyc3RlbGx1bmc6IChZYXJlbiwgIDEuIE1hciAxOTk4LCAxNjo1ODowOSk6Cn4jISBybj1MZWZ0eSBydD04ODg3MDUxNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2ODE5ODcKSWNoIGJpbiBkYWYidXIgYWxzIGdyb2JlIERlZmluaXRpb24gZiJ1ciBlcmxhdWJ0ZSBTY3JpcHRlIGZvbGdlbmRlcyB6dQp2ZXJhYnNjaGllZGVuOgoKRXMgc2luZCBzb2xjaGUgU2NyaXB0ZSB2ZXJib3RlbiwgZGllIEJlZmVobGUgaW4gZWluZXIgQXJ0IHVuZCBXZWlzZQphdXNmInVocmVuLCB3aWUgZXMgZGVtIFNwaWVsZXIgcGVyIEhhbmQgbmljaHQgbSJvZ2xpY2ggaXN0LiBadXMiYXR6bGljaCBzaW5kCidhdXRvbm9tZScgU2NyaXB0ZSB2ZXJib3RlbiwgZGllIEJlZmVobGUgaW4gQWJ3ZXNlbmhlaXQgZGVzIFNwaWVsZXJzCmF1c2YidWhyZW4uCgpEZXIgZXJzdGUgVGVpbCBzY2hsaWVCdCBpbSB3ZXNlbnRsaWNoZW4gVHJpZ2dlciB1bmQgaXJyZSBsYW5nZSBCZWZlaGxzZm9sZ2VuCmF1cyB1bmQgZGVyIHp3ZWl0ZSBUZWlsIGF1dG9tYXRpc2NoZSBNZXR6ZWwtL0ZQLVN1Y2hlLS9Sb2JvdC1TY3JpcHRlLiBUcm90emRlbQpiaW4gaWNoIGRhZiJ1ciwgZGFCIHJlaW5lIFdlZ2VzY3JpcHRlIChvZGVyIHNvbGx0ZSBtYW4gc2llIGJlc3NlcgonQmV3ZWdlc2NyaXB0ZScgbmVubmVuPykgaW4gZ3JvQmVtIEF1c21hQiBlcmxhdWJ0IHNlaW4gc29sbGVuLiBEYXp1IGdlaCJvcnQKbmFjaCBtZWluZXIgTWVpbnVuZyBhdWYgamVkZW5mYWxsIGplZGUgQXJ0IHZvbiBBIG5hY2ggQiB6dSBrb21tZW4sIGRpZSBpY2gKc2Nob24gMTAgb2RlciAxMDAgbWFsIGdlbWFjaHQgaGFiZS4gT2IgaWNoIGRhYmVpIGVpbmUgVCJ1ciBhdWZtYWNoZSBvZGVyCm5pY2h0LCBvYiBpY2ggZGFiZWkgaXJnZW5kd2FzIHNhZ2VuIG11QiBvZGVyIG5pY2h0LCBzb2xsdGUga2VpbmUgUm9sbGUKc3BpZWxlbjogaWNoIGJld2VnZSBtaWNoIHp1IGVpbmVtIGFuZGVyZW4gT3J0IHVuZCBsYXNzZSBkYXMgYmxvQiB2b24gZWluZW0KU2NyaXB0IGVybGVkaWdlbiAtIGZ1ZWhydCBkb2NoIHNvbnN0IFRheGVuIGVpbiAuLi4KCllhcmVuIHdpbGwgbnVyIHVuZ2VybiBnZWwib3NjaHQgd2VyZGVuLCB3ZWlsIGVyIHp1IHNjaG5lbGwgdGlwcGVydCBvZGVyIHp1CnNjaG5lbGwgYXVmIGV0d2FzIHJlYWdpZXJ0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVyIEtsYXJzdGVsbHVuZzogKFd1cnplbCwgIDEuIE1hciAxOTk4LCAyMzowNjo0Myk6Cn4jISBybj1ZYXJlbiBydD04ODg3Njc4ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2ODE5ODcKYWxsbWFlaGxpY2ggbmVydnQgZGFzLiBiaXR0ZSwgd2FzIGZ1ZXIgZWluIGJ1Y2hzdGFiZSBpc3QgQiA/IHdlbm4gaWhyIAp1bmJlZGluZ3QgdGV4bm90YXRpb24gdmVyd2VuZGVuIHdvbGx0LCBiaXR0ZS4uLiBhYmVyIEIgaXN0IHNvLCB3aWUgaWhyCmRhcyBiZW51dHp0LCBkb3BwZWxkZXV0aWcuIHdlciBoYXQgc2ljaCBkZW5uIHNvbGNoZW4gc2Nod2FjaHNpbm4gZWluZmFsbGVuCmxhc3Nlbj8KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY3JpcHRlbiAoSG9ibywgIDIuIE1hciAxOTk4LCAwOToyOTozMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg4Njc0OTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjU1NTgzCkF1c3NlcmRlbToKU2Nob24gbWFsIGRyYXVmIGdla29tbWVuLCByYXVzenVnZWhlbiB1bSBkZW4gRGFlbW9uZW4genUgYmVzY2h3b2VyZW4/CgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRoZSBIaXRjaEhpa2VyJ3MgR3VpZGUgVG8gVGhlIEdhbGF4eSAoVGVYKSAoTGksICAyLiBNYXIgMTk5OCwgMTA6MTQ6NDYpOgp+IyEgcm49SGFuZ292ZXIgcnQ9ODg4NjkwMzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjAwMjgxCmhtbmphLCBaYXJuaXlhcyB3b3J0LSB1bmQgdG9ud2FobCBrZW5uZW4gd2lyIGFsbGUsIGFiZXIgc2NobGllc3NsaWNoIGhhdCBzaWUKcmVjaHQ6IEhhdCBuaWNodCBncmFkZSBTaWx2YW5hIGxldHp0ZW5zIGVpbmVuIEFydGlrZWwgZGFydWViZXIgZ2VzY2hyaWViZW4sCndpZXZpZWwgTmljaHQtenVtLW11ZC0gZ2Vob2VyZW5kZXMtemV1ZyBhdWYgZGVyIHBsYXR0ZSBsaWVndD8gLiBtYWcgc2VpbiwgZGFzcwpkYXMgaW4gZWluZXIgbWFnaWVycnVicmlrIHN0YW5kLCBhYmVyIGlzdCBqYSBhdWNoIGVnYWw6IGRpZSBNVURwbGF0dGUsIGRpZSB3aXIKamEgc2NobGllc3NsaWNoIGFsbGUgbWl0YmV6YWhsdCBoYWJlbiwgaXN0IHNpY2hlcmxpY2ggbmljaHQgZGFmdWVyIGRhLCBnYW56ZQpidWVjaGVyIHp1IHBsYXppZXJlbi4gSGFldHRlIG5pY2h0IGRpZSBNZWxkdW5nOiAiaWNoIGhhYmUgZGllIGJ1ZWNoZXIsIHdlciBzaWUKaGFiZW4gd2lsbCBrcmllZ3Qgc2llPyIgJ0ljaCBuZWhtZSBtYWwgYW4gVHJveSBoYXQgc2llIGlyZ2VuZHdvIGF1cyBkZW0gV1dXLApkYSBoYWV0dGUgZWluZSBuZW5udW5nIGRlciBTZWl0ZSBnZXJlaWNodC4gVW5kIHdlbm4gbmljaHQsIGlyZ2VuZHdpZSBrb21tdCBtYW4KaW1tZXIgYW4gZGFzICwgd2FzIG1hbiBtb2VjaHRlLgpMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoSGlnaGxhbmRlciwgIDIuIE1hciAxOTk4LCAxMjozNjozNik6Cn4jISBybj1TY2hva28gcnQ9ODg4Njc2MjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CldlaWwgaWNoIGRhcyBqZXR6dCBpbiBkZW0gdGhyZWFkIHNjaG9uIG1pbmRlc3RlbnMgendlaW1hbCBnZWxlc2VuIGhhYmUgLQp3ZW5uIGV1Y2ggamVtYW5kIGF1ZnJlZ3QsIGRlciBza3JpcHRldCwgd2FydW0gc2FndCBpaHIgZGFubiBuaXg/CkF1Y2ggd2VubiBtYW5jaGUgZGFzIHZpZWxsZWljaHQgYW5kZXJzIHNlaGVuLCBhYmVyIHdpciBzaW5kIGtlaW4KQmlnIEJyb3RoZXIodG0pLU11ZCwgd28gYWxsZXMgdW5kIGplZGVyIHVlYmVyd2FjaHQgd2lyZC4gRGllIHNrcmlwdGVyLApkaWUgd2lyIGVyd2lzY2hlbiwgaGFiZW4gaW4gZGVyIFJlZ2VsIFBlY2ggZ2VoYWJ0LgpXZW5uIHdpciBhbGxlcmRpbmdzIGVpbmVuIFZlcmRhY2h0IGhhYmVuLCBzY2hhdWVuIHdpciBzY2hvbiBtYWwgZ2VuYXVlcgpoaW4uCkZheml0OiBOdXIgd2VpbCBtYW5jaGVyIGRhbWl0IGR1cmNoa29tbXQsIGlzdCBlcyBrZWluIEdydW5kLCBlcyBhdWNoIHp1CnR1bi4KICAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoSmFzcGVyLCAgMi4gTWFyIDE5OTgsIDEyOjM4OjIzKToKfiMhIHJuPVNoYXJpYSBydD04ODg2MTg1NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKYWxzbyBkaWUgcmVpbi1yYXVzLXRha3RpayBsYWVzc3Qgc2ljaCB3b2hsIHZlcm1laWRlbiwgd2VubiBqZWRlciAKYW5ncmlmZnNzcGVsbC9za2lsbCBlaW5lIHZvcmJlcmVpdHVuZ3N6ZWl0IHZvbiBtaW5kZXN0ZW5zIGVpbmVyIHJ1bmRlIGJlbm9ldGlnCmJlbm9ldGlndC4KUFM6IFVtIHdlbGNoZW4gYXJ0aWtlbCBnZWh0IGVzIGVpZ2VudGxpY2gsIGtvZW5udGUgbWFuIG1hbCBkaWUgd2ljaHRpZ2VuCnJ1YnJpa2VuIGluIGRlciBtcGEgZ2FueiBuYWNoIHZvcm5lIGxlZ2VuLCBvZGVyIGRpZSBtcGEgc28gdmVyYWVuZGVybiwgZGFzcwptYW4gZGllIHdpY2h0aWdlbiBydWJyaWtlbiB6dWVyc3QgbGllc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaGUgSGl0Y2hIaWtlcidzIEd1aWRlIFRvIFRoZSBHYWxheHkgKFRlWCkgKEhpZ2hsYW5kZXIsICAyLiBNYXIgMTk5OCwgMTI6NDE6NDQpOgp+IyEgcm49TGkgcnQ9ODg4ODMwMDg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjAwMjgxCi9vcGVuL0hpdGNoaGlrZXIvKiBzb3dpZSBWZXJ6ZWljaG5pcyBnZWxvZXNjaHQuCkdydW5kOiBhKSBQbGF0dGVudmVyc2Nod2VuZHVuZyB1bmQgYikgKGdhbnogd2ljaHRpZyEpCkNvcHlyaWdodC4gV2lyIGtvZW5uZW4gc2NobGVjaHQgYXVjaCBub2NoIGFuZ2VrdWVuZGlndCBzbyBlaW5lCkNvcHlyaWdodC1WZXJsZXR6dW5nIGF1ZiB1bnNlcmVtIFJlY2huZXIgZHVsZGVuLgogICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVGFua2VuIChGeXQsICAyLiBNYXIgMTk5OCwgMTQ6Mzk6NDcpOgp+IyEgcm49WWVuZGkgcnQ9ODg4NTE3NTMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg3NjY3NTMwCgpTZWggaWNoIGF1Y2ggc28uIDE3IE9ubGluZS1UYWdlIGlzIGRvY2ggJ24gV2l0ei4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY3JpcHRlbiAoRnl0LCAgMi4gTWFyIDE5OTgsIDE0OjU5OjIwKToKfiMhIHJuPVNyYWJpIHJ0PTg4ODY1NTU4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODY1NTU4MwoKSWNoIGZpbmRlIGRpZSBuZXVlbiBTY3JpcHR2ZXJib3RlIHJpY2h0aWcgZ3V0LiBJbnNiZXNvbmRlcmUgZGllIElkZWUsIGRpZQpUdWVyZW4gd2VnenVyYWV1bWVuLCBkYW1pdCBkaWUgV2VnZSBub2NoIGJlZ2VoYmFyIGJsZWliZW4sIGlzdCBzY2hsaWNodCB1bmQKZWluZmFjaCBnZW5pYWwuCgpJY2ggbW9lY2h0ZSBhbiBkaWVzZXIgU3RlbGxlIGRlbiBiZXNjaGVpZGVuZW4gVm9yc2NobGFnIG1hY2hlbiwgZGllIElkZWUKa29uc2VxdWVudCBhdWYgYWxsZSBCZXJlaWNoZSBkZXMgTXVkbGViZW5zIGF1c3p1ZGVobmVuLiBFaW4gZXJzdGVyIFNjaHJpdHQKd2FlcmUgenVtIEJlaXNwaWVsIGRpZSBBYnNjaGFmZnVuZyBkaWVzZXIgZGFlbWxpY2hlbiBEZXRhaWxzLiBEYXMgd3VlcmRlCmRpZSBTcGllbGVyIHZvbiBkZXIgTXVlaGUgYmVmcmVpZW4sIFVudGVyc3VjaGVzY3JpcHRlIHp1IHNjaHJlaWJlbiwgdW5kCmhhZXR0ZSBmdWVyIE1hZ2llciBkZW4gbmV0dGVuIE5lYmVuZWZmZWt0LCBkYXNzIHNpZSBuaWNodCBzbyBsYW5nZSBhbgpkZXIgQmVzY2hyZWlidW5nIGVpbmVzIHBvcGxpZ2VuIFJhdW1lcyBzaXR6ZW4gd3VlcmRlbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp1ciBLbGFyc3RlbGx1bmc6IChGeXQsICAyLiBNYXIgMTk5OCwgMTU6MDU6MTcpOgp+IyEgcm49WWFyZW4gcnQ9ODg4NzY3ODg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjgxOTg3CgpTY2h3YWNoZnVnLiBEdSBrcmllZ3N0IG5pZSBlaW5lIGtsYXJlIFRyZW5udW5nIGhpbi4gUHJhZ21hdGlzY2ggZ2VzZWhlbgpnaWJ0IGVzIGdlbmF1IGVpbmUgbW9lZ2xpY2hlIExvZXN1bmc6ICdlcmxhdWJ0IGlzdCwgd2FzIGdlaHQnLiBQb2xpdGlzY2gKaXN0IGRhcyBuaWNodCBnZXdvbGx0LCB3YXMgZGFubiByYXVza29tbXQsIHNlaGVuIHdpciBkb2NoIGplZGVuICBUYWcgaW0KZ3Jvc3NlbiBNdWQuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBSZXBseSBhdWYgRnJldW5kcyBBcnRpa2VsIChab3JybywgIDIuIE1hciAxOTk4LCAxNTozNTowNSk6Cn4jISBybj1KYXNwZXIgcnQ9ODg4ODM4NzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0CkthbXBmcnVuZGUgKyBCZWdydWVzc3VuZ3NzY2hsYWcgaXN0IGFiZXIgbWl0dGxlcndlaWxlIHNjaG9uIHp1dmllbCBmdWVyIDIxMApscHMgOikKClpvcnJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoVHJhbmNlZmVhciwgIDIuIE1hciAxOTk4LCAxNjowODo0MCk6Cn4jISBybj1ab3JybyBydD04ODg4NDkzMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKaS5BLiAoZC5oLiB3ZW5uIGRhcyBNb25zdGVyIG5pY2h0IHZvbiBQYXJhY2Vsc3VzIGlzdCA6LSkgdGVpbHQgc2ljaCBhYmVyIGRlcgpTY2hhZGVuIGF1ZiBkaWUgQmV0ZWlsaWd0ZW4gYXVmLCBkLmguIC0+IEdydXBwZW5rYW1wZgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFsbGdlbWVpbmVzIHNjcmlwdGUgKFRlbHlhLCAgMi4gTWFyIDE5OTgsIDE2OjI2OjU5KToKV2FydW0gc29sbCBuaWNodCBGcmV1bmQgZGFubiBkaWUgZXJsYXVidGVuIHdlZ2VzY3JpcHRlIHNjaHJlaWJlbiB1bmQgZGFubgphbGxlbiB6dXIgdmVyZnVlZ3VuZyBzdGVsbGVuIGRpZSB3b2xsZW4sIHVuZCBkYW5uIGplZGVuIGxvZXNjaGVuLCBkZXIgbWVociBhbHMKMTAgQmVmZWhsZSBpbiBlaW5lbSBTY3JpcHQgaGFidC4gSW4gZ3JlbnpmYWVsbGVuIGthbm4gbWFuIGRhcyBzY3JpcHQgZGFubgp2b3JoZXIgYW4gZnJldW5kIHNjaGlja2VuIHVuZCBpaG4gZGFmdWVyIHVtIEVybGF1Ym5pcyBmcmFnZW4uCkFuc29uc3RlbiBibGVpYnQgbWlyIHp1IHNhZ2VuLCBkYXNzIGVpbiBTY3JpcHR2ZXJib3QgenUgZWluZXIgZGV1dGxpY2hlbgpTY2h3YWVjaHVuZyBkZXIgdHJhaW5pbmdzaW50ZW5zaXZlbiBHaWxkZW4gZnVlaHJ0LCBkYSBlcyBhbHMgRWxmZW5rYXJhdGVrYQpudW5tZWhyIGVpbmUgTGViZW5zYXVmZ2FiZSB3aXJkIGF1Znp1c3RlaWdlbiwgd2VubiBtYW4genVtIFRhbmtlbiBpbiBNb3JvbgppbW1lciB2b3IgZGVyIFR1ZXIgYW5oYWVsdCwgZWluemVsbiBrb25zdW1pZXJ0IHVuZCBkYW5uIHdpZWRlciB6dXJ1ZWNrIHp1bQpNb25zdGVyLiBPZGVyIGlzdCBkYXMgYWxzIGVyZ2Flbnp1bmcgenVtIFRhbmtzeXN0ZW0gZ2VkYWNodCwgZGFtaXQgbWFuIG5pY2h0Cm1laHIgc28gbGFuZ2UgaWRlbG4gbXVzcyA/CgpUZWx5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsbGdlbWVpbmVzIHNjcmlwdGUgKERob2pha3QsICAyLiBNYXIgMTk5OCwgMTc6MTM6MzMpOgp+IyEgcm49VGVseWEgcnQ9ODg4ODUyNDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4ODUyNDE5CkFsc28gRnJldW5kIGRpZSB6d2VpZmVsaGFmdGVuIHNjcmlwdGUgenUgemVpZ2VuIC0gb2suIEZ1ZXIgbWljaCBlcmZ1ZWxsdCBhYmVyCmVpbiBXZWdzeXN0ZW0gZGVzIGdhbnplbiBNdWRzIGRlbiBzdGF0dXMgZWluZXIgS0wuIERhaGVyIGJpbiBpY2ggZ2VnZW4KV2VpdGVyZ2FiZSB2b24gbXVkYWJkZWNrZW5kZW4gd2Vnc2NyaXB0cy4KS2hpZGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWnVyIEtsYXJzdGVsbHVuZzogKFlhcmVuLCAgMi4gTWFyIDE5OTgsIDE4OjA3OjMzKToKfiMhIHJuPUZ5dCBydD04ODg4NDc1MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2ODE5ODcKV2VyIHNwcmljaHQgZGVubiBoaWVyIHZvbiBlaW5lciBrbGFyZW4gVHJlbm51bmcgb2RlciBlaW5lciBwcmFnbWF0aXNjaGVuCkxvZXN1bmc/IEVzIGdlaHQgZG9jaCB1bSBlaW5lICpwcmFrdGlrYWJsZSogdW5kIG1vZWdsaWNoc3QgZmFpcmUgd2VsY2hlLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoR2xvaW5zb24sICAyLiBNYXIgMTk5OCwgMTg6MzA6MzIpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODg4NTEzMjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2MTI3NzQKSWNoIHNjaGljayBEaWNoIGdsZWljaCBtYWwgenVtIEdydXBwZW5rYW1wZiBpbiBkaWUgbmV1ZSBGZXVlcmViZW5lIDstKSBTb2xsCmljaCBEaXIgbWVpbiBMb2cgdm9tIERyYWNoZW5wcmllc3RlcmtpbGwgc2VuZGVuPwoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlc2Nod2VyZGUgISAoQWRzb24sICAyLiBNYXIgMTk5OCwgMjI6NTY6NDQpOgpFcyB3YXJlbiBlaW5tYWwgendlaSBsaWViZSwga2xlaW5lIEJlcmxpbmVyaW5uZW4sIGRpZSB3YXJlbiBzbyBsaWViLCBkYXNzIHNpZQppbiBhbGxlIFdlbHQgdmllbGUgUG9zdGthcnRlbiBzY2hyaWViZW4sIHNhZ2VuIHdpciBtYWwgbmFjaCBCb25uLCBuYWNoIEtvZWxuLApuYWNoIFBmYWZmZW5ob2ZlbiB1bmQgZ2VsZWdlbnRsaWNoIGF1Y2ggbmFjaCBXaWVuLgpVbmQgd2VpbCBkaWUgYmVpZGVuIEJlcmxpbmVyaW5uZW4gaW1tZXIgc28gZmxlaXNzaWcgS2FydGVuIHNjaHJpZWJlbiwgaG9mZnRlbgpzaWUgaW1tZXIsIGF1Y2ggbWFsIGVpbmUgQW50d29ydCB6dSBiZWtvbW1lbiwgdmllbGxlaWNodCBhdXMgS29lbG4sLCBhdXMgV2llbgpvZGVyIHdlbmlnc3RlbnMgYXVzIFBmYWZmZW5ob2ZlbiwgYWJlciBrZWluZXIgc2NocmllYiBpaG5lbi4uLgpVbmQgd2VubiBzaWUgc2ljaCBuaWNodCBiZXNjaHdlcnQgaGFiZW4sIGRhbm4gd2FydGVuIHNpZSBub2NoIGhldXRlLgoKQWRzb24gKmRpZSBiYWxkIGtlaW5lIFBvc3RrYXJ0ZW4gbWVociB2ZXJzY2hpY2t0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlc2Nod2VyZGUgISAoUm9uZGEsICAyLiBNYXIgMTk5OCwgMjM6MzI6NDcpOgp+IyEgcm49QWRzb24gcnQ9ODg4ODc1ODA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4ODc1ODA0CkhpIEFkc29uLApzaWVoc3RlLCBkaWUgQm9ubmVyLCBLb2VsbmVyLCBQZmFmZmVuaG9mZW5lciB1bmQgZ2VsZWdlbnRsaWNoZW4gV2llbmVyIHNpbmQKaGFsdCB0cmV1bG9zZSBUb21hdGVuIQpIYWV0dGVzdCBEdSBkYWdlZ2VuIGVpbmUgZWluc2FtZSBQb3N0a2FydGUgbmFjaCBQYWRlcmJvcm4gZ2VzY2hpY2t0LCBoYWV0dGVzdApEdSBzaWNoZXIgYXVjaCBlaW5lIHVtd2VyZmVuZCBzY2hvZW5lIEthcnRlIHZvbSBIYXNlbmZlbnN0ZXIgYmVrb21tZW4hCipncmluc2VuZCAtIG9rLCBvaywgaWNoIHNvbGx0ZSBhYmVuZHMgdm9uIHp1aGF1cyBuaWNodCBtdWRkZW4hIG9kZXIgd2VuaWdzdGVucwpvaG5lIFdlaXplbiA6KSAqCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVyIEtsYXJzdGVsbHVuZzogKFR1bml4Z3V0LCAgMy4gTWFyIDE5OTgsIDA4OjU3OjQ2KToKfiMhIHJuPVd1cnplbCBydD04ODg3MDYxMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2ODE5ODcKV2llIHdhZXJlIGVzIGRlbm4sIGFuYWxvZyB6dSBkaXZlcnNlbiBVbmktbGlicyBkaWUgbWVocnplaWxpZ2VuIGFsaXMKZWluenVmdWVocmVuPz8/IERhbWl0IHdhZXJlbiBkaWUgV2VnZXNjcmlwdGUgZGVmaW5pZXJ0LCBLYW1wZnNjcmlwdGUgdW5kClNhY2hlbiB3aWUgVHJpZ2dlciBmaWVsZW4gYXV0b21hdGlzY2ggcmF1cy4uLiBJbWhvIGVpbmUgZ3V0ZSBEZWZpbml0aW9uCmRlc3Nlbiwgd2FzIGVybGF1YnQgc2VpbiBzb2xsdGUgLSBkYW1pdCBrb2VubnRlIHNvZ2FyIGljaCBhbHMgTWl0Z2xpZWQgREVSClNjcmlwdGVyZ2lsZGVyIHNjaGxlY2h0aGluIGFuZnJldW5kZW4uLi4KCidzIEthcmF0ZS1ad2VyY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2Vib2dlbmFrdGlvbiBiZWVuZGV0IChCb2luZywgIDMuIE1hciAxOTk4LCAxMjo1NTo1MSk6CkhhbGxvIExldXRlLAoKaWNoIGhhYmUgbWVpbmVuIEZyYWdlYm9nZW4gaGV1dGUgYXVzIGRlbSBOZXR6IGdlbm9tbWVuLgpFcyBzaW5kIGpldHp0IGV0d2EgMjE1IGF1c3dlcnRiYXJlIEZyYWdlYm9lZ2VuICh3ZWl0IG1laHIgYWxzIGRpZSAKSGFlbGZ0ZSBhdXNnZWZ1ZWxsdCksIHVuZCBpY2ggbW9lY2h0ZSBtaWNoIGJlaSBhbGxlbiBiZWRhbmtlbiwgZGllIAptaXIgZGFiZWkgZ2Vob2xmZW4gaGFiZW4uCkVzIHdpcmQgbm9jaCBldHdhcyBkYXVlcm4sIGJpcyBlcyBkaWUgZXJzdGVuIEVyZ2Vibmlzc2UgZ2lidCwgaWNoIAp3ZXJkZSBkaWUgZGFubiB3b2hsIGFuIG1laW5lIFVuaS1Ib21lcGFnZSBtaXRkcmFubWFjaGVuLCBkYXMgZ2ViZSBpY2ggCmFiZXIgbm9jaG1hbCBiZWthbm50LgpXYWVyIG5ldHQsIHdlbm4gaWhyIGluIGRlbiBNVURzLCBpbiBkZW5lbiBkZXIgbGluayBnZXBvc3RldCB3dXJkZSwgCmF1Y2ggZWluICJEYW5rZSBmdWVycyBNaXRtYWNoZW4iIHBvc3RlbiB3dWVyZGV0LgoKVmllbGUgR3J1ZXNzZSwKClNvbmphL09uamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KU29uamEgVXR6LCBEaXBsLi1Qc3ljaC5LYXRob2xpc2NoZSBVbml2ZXJzaXRhZXQgRWljaHN0YWV0dCwKTGVocnN0dWhsIGZ1ZXIgV2lydHNjaGFmdHMtIHVuZCBTb3ppYWxwc3ljaG9sb2dpZQpPc3RlbnN0ci4gMjUsIDg1MDcxIEVpY2hzdGFldHQsVGVsLjowODQyMS85My0xNTY4IEZheDowODQyMS85My0yNzAyCmVtYWlsOiBzb25qYS51dHpAa3UtZWljaHN0YWV0dC5kZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgooSGllcm1pdCBnZXNjaGVoZW4sIEJvaW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ2VnZW52b3JzY2hsYWcgKElzaXMsICAzLiBNYXIgMTk5OCwgMTM6MzU6MjQpOgpBbHNvIGljaCBoYWV0dCBkYSBtYWwgZWluZW4gR2VnZW52b3JzY2hsYWc6CgpJY2ggaGFiIHNlbGJlciBrZWluIFNrcmlwdCBvZGVyIHNvd2FzLCBtYWNoIGFsbGVzIG1pdCBhbGlzIHVzdy4gRGFzcyBhbmRlcmUKU2tyaXB0ZW4gaXN0IG1pciBhdWNoIGVnYWwuLi5zY2hvZW4sIGRhc3MgZXMgaWhuZW4gYmVzc2VyIGdlaHQgYWxzCm1pci4uLi56YXViZXJlcmVuIGdlaHRzIGF1Y2ggYmVzc2VyIGFscyBBYmVudGV1cmVybiB1bmQgZGEgcmVkZXQga2VpbmVyIHZvbgpCYWxhbmNlIC0gd2FlciBqYSBhdWNoIGJsb2Vkc2lubi4uLgoKRGVyIGVpbnppZ2UgTmFjaHRlaWwsIGRlbiBpY2ggc3B1ZXJlLCBpc3QgYmVpIE1vbnN0ZXJuLCB3byBkaWUgbmFlY2hzdGUgVGFua2UKZWNodCB3ZWl0IHdlZyBpc3QsIHVuZCBtYW4gbmljaHQgbWl0IG4gdyBzIG8gZXRjLiB3ZWcga2Fubi4uLgoKd2FydW0gZGllIGJhbGFuY2UgbmljaHQgc28gaGVyc3RlbGxlbiwgZGFzcyBlcyBlaW5lbiByZW5uZS0gQmVmZWhsIGdpYnQsIGRlcgp6d2lzY2hlbiBiZXN0aW1tdGVuIFB1bmt0ZW4gaW0gTUcgbWdsaWNoIGlzdCwgdW5kIGVpbmZhY2ggZWluZSBnZXdpc3NlIFplaXQKZGF1ZXJ0Li4uZGFubiBpc3QgamVkZXIgYW5uYWVoZXJuZCBnbGVpY2ggc2NobmVsbC4uLgoKSGVyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdlZ2Vudm9yc2NobGFnIChOZWIsICAzLiBNYXIgMTk5OCwgMTM6NTc6MDIpOgp+IyEgcm49SXNpcyBydD04ODg5Mjg1MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5Mjg1MjQKQWVoZW0sIEhlcmEsIG1laW5zdCBEdSB2aWVsbGVpY2h0IGRpZSBTZWhlcnBvcnRhbGUgPyBEaWUgZ2lidCBlcyBzY2hvbiA7KQoKTmViCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVzY2h3ZXJkZSAhIChTbnVnZ2xlLCAgMy4gTWFyIDE5OTgsIDEzOjU3OjQ0KToKfiMhIHJuPUFkc29uIHJ0PTg4ODg3NTgwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODg3NTgwNApEYW5uIHNvbGx0ZXN0IER1IG1hbCBkaWUgUG9zdCBmcmFnZW4sIHdhcyBzaWUgbWl0IERlaW5lbiBQb3N0a2FydGVuIGdlbWFjaHQKaGF0LiBCZWkgbWlyIHZvcmJlaWdlYnJhY2h0LCBoYXQgc2llIHNpZSBqZWRlbmZhbGxzIG5pY2h0Li4KClNudWdnbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXNjaHdlcmRlICEgKEdyaW1tYm9ybiwgIDMuIE1hciAxOTk4LCAxNDoyMDo1NSk6Cn4jISBybj1BZHNvbiBydD04ODg4NzU4MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg4NzU4MDQKQWxzIGVyZmFocmVuZXIgQmVyYXRlciB2ZXJtdXRlIGljaCwgZGllIGJlaWRlbiBoYWJlbiBkaWUgS2FydGVuIG9obmUKQWJzZW5kZXJhbmdhYmUgZ2VzY2hyaWViZW4/IEltIEdlZ2Vuc2F0eiB6dSBtYWlscyBoYWJlbiBQb3N0a2FydGVuIGF1Y2gga2VpbmUKJ3JlcGx5Jy1GdW5rdGlvbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LCB3b2huaGFmdCBpbiBCcnVlaGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ2VnZW52b3JzY2hsYWcgKElzaXMsICAzLiBNYXIgMTk5OCwgMTQ6MjI6MjApOgp+IyEgcm49TmViIHJ0PTg4ODkyOTgyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODkyODUyNApOZWluLCBkaWUgbWVpbiBpY2ggbmljaHQuLi4uaWNoIG1laW5lIGRhcyBmdWVyIGRpZSBzdGVyY2tlbiwgYXVmIGRlbmVuCnNrcmlwdGVyIG5vcm1hbGVyd2Vpc2Ugc2tyaXB0ZW4uLi4KCkhlcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1lbnVlIGluIGRlbiBrbmVpcGVuIChJc2lzLCAgMy4gTWFyIDE5OTgsIDE1OjMwOjA3KToKSG1tLi4ubmUgRnJhZ2UuLi5rb2VubnRlIG1hbiBkaWUgR2V0cmFlbmtlIG5pY2h0IGR1cmNobnVtbWVyaWVyZW4/IApCZWkgZGVyIFZpZWx6YWhsIGRlciBnZXRyYWVua2UsIGRpZSBqZXR6dCBhdWYgZGVtIG1hcmt0IHNpbmQgc2luZCBkYXMgZWluCmJpc3NsIHZpZWwgYWxpYXNzZS4uLgoKSWNoIG1laW4sIGRhc3MgbWFuIHdpZSBpbiBkZW4gTGFlZGVuIGthdWZlIDEgdW5kIHNvIG1hY2hlbiBrYW5uLi4uPz8/CgpIZXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbmVpcGVuc3lzdGVtIChEZWVwYmx1ZSwgIDMuIE1hciAxOTk4LCAxNjowNDozMyk6CklzdCBtZWluIEVpbmRydWNrIHJpY2h0aWcsIGRhc3MgSGVhbHRoIGpldHp0IHN0YWVya2VyIGFuc3RlaWd0IGFscwpJbnRlbGxpZ2Vuej8gCgpUcm90eiB0YW5rZW4gc2luZCBkaWUgTVAgbmFjaCAzIFNjaGxhZWdlbiB3aWVkZXIgdW50ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBlc3NlbnRpZWxsZXIgTGluayAoSHJlaWRtYXIsICAzLiBNYXIgMTk5OCwgMTY6MDU6MzMpOgpGdWVyIGFsbGUgU3RhclRyZWstRmFucyBoaWVyIGVpbiB3aXJrbGljaCB3aWNodGlnZXIgbGluazoKCmh0dHA6Ly93d3cuY29saS51bmktc2IuZGUvfnJvYmkvVUZQCgpIYXZlIGZ1biEKCkhyZWlkbWFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWVudWUgaW4gZGVuIGtuZWlwZW4gKE5lYiwgIDMuIE1hciAxOTk4LCAxNjoyNTowMCk6Cn4jISBybj1Jc2lzIHJ0PTg4ODkzNTQwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODkzNTQwNwpBbHNvLCBuYWNoIGRpZXNlbSB6d2VpdGVuIGd1dGVuIFZvcnNjaGxhZyBnbGF1YmUgaWNoIGxhbmdzYW0sIGRhc3MgRHUgZGllCmdhbnplIFNhY2hlIG5pY2h0IGdhbnogZXJuc3QgbmltbXN0IDspCgpOZWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGhlIEhpdGNoSGlrZXIncyBHdWlkZSBUbyBUaGUgR2FsYXh5IChUZVgpIChDZWlsbywgIDMuIE1hciAxOTk4LCAxNzozODoxOSk6Cn4jISBybj1aYXJuaXlhIHJ0PTg4ODY2ODcwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODYwMDI4MQpTb25zdCBnZWh0J3MgYWJlciBub2NoIGd1dD8KTXVlbGwgaXN0IGphIHdvaGwgd2FzIGFuZGVyZXMuClVuZCBoYXN0IER1IGVpbmVuIGtvbmtyZXRlbiBHcnVuZCBmdWVyIERlaW5lIEJlc2Nod2VyZGU/IFdhcyBrYW5uIGRlbm4KamV0enQgbmljaHQgYXVmIGRlbiBSZWNobmVyLCB3ZWlsIGVyIHNjaG9uIHZvbGwgaXN0PwpHZWJydWVsbCBvaG5lIEJlZ3J1ZW5kdW5nIGZpbmRlIGljaCBuYWVtbGljaCBuaWNodCBiZXNvbmRlcnMgdG9sbC4KCkNlaWxvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS25laXBlbnN5c3RlbSAoUm9jaHVzLCAgMy4gTWFyIDE5OTgsIDE4OjA3OjAxKToKfiMhIHJuPURlZXBibHVlIHJ0PTg4ODkzNzQ3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODkzNzQ3MwpNaXQgZGVuIG5ldWVuIEtuZWlwZW4gaXN0IGVzIGpldHp0IG1vZWdsaWNoLCBMZWJlbnNwdW5rdGUgdW5kIE1hZ2llcHVua3RlCnZlcnNjaGllZGVuIHN0YXJrIHp1IGhlaWxlbiB1bmQgZGFzIHdpcmQgYXVjaCBzY2hvbiBhbiBlaW5pZ2VuIFN0ZWxsZW4KZ2VudXR6dC4gRXMgaGFlbmd0IHZvbSBFaW56ZWxmYWxsIGFiIHdhcyBzdGFlcmtlciBnZWhlaWx0IHdpcmQgOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS25laXBlbiAoSXNpcywgIDMuIE1hciAxOTk4LCAxODozMzo0MSk6CkhtbW0uLi53aWUgd2FlcnMgbWFsIG1pdCBuZW0gS25laXBlbmZ1ZWhyZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS25laXBlbiAoV3VyemVsLCAgMy4gTWFyIDE5OTgsIDE4OjM4OjA0KToKfiMhIHJuPUlzaXMgcnQ9ODg4OTQ2NDIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4OTQ2NDIxCmd1dGUgaWRlZS4gbWFjaCBtYWwgZWluZW4gKGRhZnVlciBtdXNzIG1hbiBuaWNodCBtYWdpZXIgc2VpbiA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtuZWlwZW4gKElzaXMsICAzLiBNYXIgMTk5OCwgMTg6NDM6MjgpOgp+IyEgcm49V3VyemVsIHJ0PTg4ODk0NjY4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODk0NjQyMQpIYWIgaWNoIG1pciBnZWRhY2h0LCBkYXNzIHNvd2FzIGtvbW10Li4uOykpKSAKTnVyIHdpZSBzY2huZWxsIGVpbiBHZXRyYWVuayBzYWV0dGlndCBrYW5uIGljaCBuaWNodCBzbyBnYW56IGdlbmF1CnJhdXNiZWtvbW1lbi4uLjooCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBad2VyZ2VuIExhYiAoTWF0b3JpYW4sICAzLiBNYXIgMTk5OCwgMTk6MzA6MDgpOgp+IyEgcm49TmViIHJ0PTg4Nzc2MDk3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzcwNzI0NQpuYSwgaW56d2lzY2hlbiAoPykgd2lyZCBqYSBmYXN0IG1pdCBlaW5lbSB6YXVucGZhaGwgYXVmIGRlbiBhdWZ6dWcKaGluZ2V3aWVzZW4uIHdhcyBpY2ggYWJlciBhbiBkZXIgbmV1ZW4KendlcmdlbnN0YWR0IC0gb2RlciBkZXJlbiBlcndlaXRlcnVuZyAtIG5pY2h0IGd1dCBmaW5kZSwgaXN0LCBkYXNzIG1hbiBzaWNoCmRpcmVrdCBuYWNoIGRlbSBlaW5sb2dnZW4gCnZva29tbXQgd2llIGluIGRlciB3dWVzdGU6IHdvaGluIG1hbiBhdWNoIGdlaHQsIGVzIHNjcm9sbHQgdWViZXJhbGwgZGVyc2VsYmUKdGV4dCB2b3JiZWkgImR1IGJpc3QgaW4gZGVyIHp3ZXJnZW5zdGFkdCwgLi4uIi4gZXMgbWFnIHp3YXIgdmllbAphcmJlaXQgZ2V3ZXNlbiBzZWluLCBkaWUgZXJ3ZWl0ZXJ1bmcgenUgcHJvZHV6aWVyZW4sIGFiZXIgZXMgd2lya3QgZWluZmFjaApsYW5nd2VpbGlnIChtYWNodCBlaW5lbiBzb2xjaGVuIHRleHQgaW4gZGllIHNzcCB1bmQgaWNoIGthbm4gbWVpbmUKc3RhdWJzYXVnZXJha3Rpdml0YWV0ZW4gZG9ydCBlaW5zdGVsbGVuKS4KCm1hdGkgLSBiYWxkIHdpZWRlciBzc3BhdWJzYXVnZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVydWZlIChDeXJheCwgIDMuIE1hciAxOTk4LCAyMTozMjozMik6CkVzIGtvZW5udGUgZG9jaCBhdWNoIHNvd2FzIGdlYmVuIHdpZSBMZWhyZXIgZGllIGRhbm4gYW5mYWVnZXIgaW5zIE1nIGVpbndlaXNlbgp1bmQgZGFubiBrYW5uIG1hbiBhdWNoIGJlZm9lcmRldCB3ZXJkZW4gb2RlciBzb3dhcyB3aWUgZWluZSB6dXNhdHpnaWxkZSBvaG5lCnNraWxscyB1bmQgc3BlbGxzIG51ciBmdWVycyBnZWxkIDopCmN5cmF4LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS25laXBlbiAoU2lsdmFuYSwgIDMuIE1hciAxOTk4LCAyMzo0MDo0Nyk6Cn4jISBybj1Jc2lzIHJ0PTg4ODk0NzAwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODk0NjQyMQpFcyBpc3Qgc2Nob24gZWluZXIgaW4gQXJiZWl0LiBMZWlkZXIgaXN0IG1pciBnZXJhZGUgZW50ZmFsbGVuLCB3ZXIgZGllIApUZXh0ZSBzY2hyZWliZW4gd29sbHRlLi4uCgogIFNpbHZhbmEgKHZlcmdlc3NsaWNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS25laXBlbiAoRGhvamFrdCwgIDMuIE1hciAxOTk4LCAyMzo0MjoxNyk6Cn4jISBybj1TaWx2YW5hIHJ0PTg4ODk2NDg0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODk0NjQyMQpFaWdlbnRsaWNoIGtvZW5udGUgZGFzIG1hbCBuZSBzY2hvZW5lIFF1ZXN0YmVsb2hudW5nIHdlcmRlbjogRWluCkdldHJhZW5rLS9TcGVpc2VuZWluc2NoYWV0emVyLiA6KQpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbmVpcGVuIChBbmF0b2wsICAzLiBNYXIgMTk5OCwgMjM6NDY6NTMpOgp+IyEgcm49RGhvamFrdCBydD04ODg5NjQ5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5NDY0MjEKRWluZSBRdWVzdCwgZGllIERJRVNFIEJlbG9obnVuZyB3ZXJ0IHdhZXJlLCBpc3QsIGdsYXViZSBpY2gsIG5vY2ggbmljaHQKYW5nZXNjaGxvc3Nlbi4gWnVtYWwgZXMgZWluZW4gQmVydWZzendlaWcgbm9jaCB2b3Igc2VpbmVtIEVudHN0ZWhlbiBkaWUKTHVmdCB6dW0gQXRtZW4gKG5hamEgOykpIG5laG1lbiB3dWVyZGU6IERlbSBrcml0aXNpZXJlbmRlbiBHb3VybWV0IDopCgpEZW4gR2FzdHJvbm9tZW4gYXVmIGRpZSBGaW5nZXIgc2NoYXVlbmQsCkFuYXRvbCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtuZWlwZW4gKEx1ZywgIDMuIE1hciAxOTk4LCAyMzo0NzowMyk6Cn4jISBybj1EaG9qYWt0IHJ0PTg4ODk2NDkzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODk0NjQyMQoKSGFoIEtoaWRhciEKCkRhcyBpc3QgbWFsIGVpbmUgc3VwZXJndXRlIElkZWUuIEFiIHp1IEVudHdpY2tsdW5nIQpXZXIgc2V0enQgZGFzIHVtPwoKQmVnZWlzdGVydCAoc3BvbnRhbikKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtuZWlwZW5zeXN0ZW0gKFRhcmluYSwgIDQuIE1hciAxOTk4LCAwODo0Mjo0OSk6Cn4jISBybj1Sb2NodXMgcnQ9ODg4OTQ0ODIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4OTM3NDczCkhpLAoKaWNoIGZhZW5kcyBlY2h0IHRvbGwsIHdlbm4gc2ljaCBtYWwgamVtYW5kIGRlciBLbmVpcGVuIGluIE5lc2theWEgYW5uZWhtZW4Ka29lbm50ZS4gTW9tZW50YW4gaGFiZSBpY2ggZG9ydCBlY2h0ZSBQcm9ibGVtZSwgbWVpbmUgTFBzIHVlYmVyaGF1cHQgYXVmIDEwMAp6dSBiZWtvbW1lbi4gSWNoIGthbm4gbnVyIHZlcm11dGVuLCBkYXNzIGRpZSBLbmVpcGVuIGRvcnQgbm9jaCBuaWNodAp1bWdlc3RlbGx0IHNpbmQuIFdlbmlnc3RlbnMgZWluZSBkZXIgYmVpZGVuIEtuZWlwZW4gc29sbHRlIGFiZXIgcmljaHRpZwphcmJlaXRlbiwgd2VubiBkZXIgTWFnaWVyIGRlciBkYWZ1ZXIgenVzdGFlbmRpZyBpc3QsIHdlbmlnIFplaXQvTHVzdCBoYXQuCgpHcnVzcywKVGFyaW5hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS25laXBlbiAoQXJrLCAgNC4gTWFyIDE5OTgsIDA5OjIwOjIyKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODg4OTY0ODQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4OTQ2NDIxCklDSCwgaWNoIG1haWwgYmFsZCBtYWwgd2FzIHp1bSBBbmZhbmcgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS25laXBlbiAoQXJrLCAgNC4gTWFyIDE5OTgsIDA5OjIyOjI5KToKfiMhIHJuPUFyayBydD04ODg5OTk2MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5NDY0MjEKSGFjaCwgZmFsc2NoZXMgVGhlbWEsIHN0aW1tdCBuZXQsIGljaCB3b2xsdGUgd2FzIHp1bSBGZWlsc2NoZW4gc2NocmVpYmVuLi4uCipFcnJvZXQqCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVwbHkgYXVmIEZyZXVuZHMgQXJ0aWtlbCAoS2V5LCAgNC4gTWFyIDE5OTgsIDA5OjMyOjA4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODg4ODM4NTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg4NjEyNzc0Cldlbm4gbWljaCBuZW4gc2NyaXB0ZXIgc3RvZWhydCBkYW5uIGJlc3VjaHQgZXIgbGFycyAsKQpBbHNvIC4uLiBXZW5uIG1pciBqZW1hbmQgaW0gd2VnIGtvbW10IGRlciBzY3JpcHRldCByZW5uIGljaCBnYXJhbnRpZXJ0IG5pY2h0Cnp1bSBuYWVjaHN0ZW4gbWFnLCBzb25kZXJuIGxhYmVyIGRlbmplbmlnZW4gYW4gLi4uLgpadW0gbmFlY2hzdGVuIE1hZyByZW5uZW4gZmluZGUgaWNoIGFzc2lnLCBlcnN0ZW5zIHdlaWwgZGllIHN0cmFmZSBuaWNodCBnZXJhZGUKb2huZSBpc3QsIHVuZCB6d2VpdGVucyB3ZWlsIG1hbiB6dW0ga2xlaW5lbiB0ZWlsIGVpbmlnZSBzY3JpcHRlIHZlcnN0ZWhlbm0Ka2FubiAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWxsZ2VtZWluZXMgc2NyaXB0ZSAoS2V5LCAgNC4gTWFyIDE5OTgsIDA5OjM1OjMzKToKfiMhIHJuPVRlbHlhIHJ0PTg4ODg1MjQxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODg1MjQxOQpBcHJvcG8gLi4uLiAuKQpIbW0gd2VubiBpY2ggZWluIHNjcmlwdCBzY2hyZWliZSBkYXMgMiBzY3JpcHRzIGF1c2xvZXN0LCBkaWUgd2llZGVycnVtIGplIDIKc2NyaXB0ZSBhdXNsb2VzZW4gdW5kIGljaCBkYWR1cmNoIGRhbm4gbWl0IGVpbmVtIGJlZmVobCA0IGJlZmVobGUgYXVzZnVlcmhlCi4uLi4KQWxzbyBzdHJlbmdnZW5vbW1lbiBmdWVocmUgaWNoIGRvY2ggbnVyIG1pdCBlaW5lbSBiZWZlaGwgZWluIHNjcmlwdCBhdXMsIG9kZXI/Ci4pCgpLZXkgaGFsYiBzY2htYXJybmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdlZ2Vudm9yc2NobGFnIChLZXksICA0LiBNYXIgMTk5OCwgMDk6NTk6MTApOgp+IyEgcm49SXNpcyBydD04ODg5Mjg1MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5Mjg1MjQKcmVubmUgLi4uLiB1bmQgZXMgZGF1ZXJ0IGVpbmUgWmVpdCAuLi4uCkFsc28gaWNoIGJpbiBhdXMgZWluZW0gZ2FueiBlaW5mYWNoZW4gZ3J1bmQgZGFnZWdlbiAuLi4uCkVpbmlnZSBsYXVmZW4gdmVyc2NoaWVkZW5lIFN0cmVja2VuIHNjaG5lbGxlciBhbHMgYW5kZXJlLgpVbmQgZGFzIGF1Y2ggb2huZSBzY3JpcHQsIGRhbm4gYWxsZXMgdmVyZWluaGVpdGxpY2hlbiBtaXQgc29uZW0gVGVpbD8KTmVlZWUKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWnVyIEtsYXJzdGVsbHVuZzogKEZ5dCwgIDQuIE1hciAxOTk4LCAxMDo1NjoxNSk6Cn4jISBybj1UdW5peGd1dCBydD04ODg5MTE4NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg2ODE5ODcKRGFtaXQgaGF0IGRhbm4gamVkZXIgU3BpZWxlciAnbiBwYWFyIEtpbG9ieXRlIEFsaWFzc2UgcnVtbGllZ2VuLCBiZWkKbWVocmVyZW4gMTAwMCBTcGllbGVybi9ad2VpdGllcyBldGMuLi4KCi0+IHVucHJha3Rpa2FiZWwgd3VlcmQgaWNoIHNhZ2VuLgoKVW5kIHdlbm4gbWFuIGRlbiBBbGlhcy1QbGF0eiBiZXNjaHJhZW5rdCwga3JpZWd0IG1hbiB3aWVkZXIgbmljaCBhbGxlcwp1bnRlci4KCkZ5dC4KLXJ3LXItLS0tLSAgIDEgbXVkICAgICAgdXNlcnMgICAgICAgMjQyOTEgTWFyIDI4ICAxOTk3IGwudGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxlZ2FsZXMgc2tyaXB0PyAoTml4aWhvdSwgIDQuIE1hciAxOTk4LCAyMDozMjoyNik6CmhpIGxldXRlLAppY2ggd2lsbCBnbGF1YiBpY2ggYXVjaCBtYWwgbWl0c2VuZmVuIGluIGRlciBza3JpcHRlci1kaXNrdXNzaW9uOgp3ZW5uIGljaCBkaWUgZGVmaW5pdGlvbiBpbiAiaGlsZmUgc2tyaXB0ZSIgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUKc29sbHRlIGplZGVyIGFrdGlvbiBpbSBtdWQgZWluZSBha3Rpb24gYXVmIGRlciB0YXN0YXR1ciB2b3JyYXVzZ2VoZW4uCiBERUZJTklUSU9OOiBTY3JpcHQKICAgIEVpbiBTY3JpcHQgaXN0IGVpbmUgUmVpaGUgdm9uIG1pbmRlc3RlbnMgendlaSBLb21tYW5kb3MsIHdlbGNoZSBkdXJjaAplaW5lCiAgICBlaW56ZWxuZSBBa3Rpb24genVtIEFibGF1ZiBnZWJyYWNodCB3ZXJkZW4uCgpVbSBhbHNvIGRlciBnYW56ZW4gZGlza3Vzc2lvbiBlaW5lIG5ldWUgZGltZW5zaW9uIHp1IGdlYmVuIHN0ZWxsZSBpY2ggaGllciBtYWwKZGllIHJvaHZlcnNpb24gZWluZXMgdGYta29uc3RydWt0ZXMgdm9yLCBkYXMgZmFzdCBKRURFUyBiaXNoZXJpZ2Ugc2tyaXB0CmxlZ2FsIG1hY2h0LCBzb2xhbmdlIG51ciBqZW1hbmQgYXVmIGRlciB0YXN0YXR1ciBoYWV1ZmlnIGdlbnVnIApkaWUgcmV0dXJuLXRhc3RlIGRydWVja3Q6CgogL2RlZiBsZ2Fsa2FtcGZza3JpcHQgPSAvZGVmIG5leHRDT00gPSAvbmV4dENPTTElOy9uZXh0Q09NJTsKIC9kZWYgenVtTlBDID0gbm9yZGVuJTsvbmV4dENPTSU7CiAvZGVmIHZvbU5QQyA9IHN1ZWRlbiU7L25leHRDT00lOwogL2RlZiBiZWltTlBDMSA9IGZldWVyYmFsbCB3ZWdoaWVyJTsvbmV4dENPTSU7CiAvZGVmIG5leHRDT00xID0gL2RlZiBuZXh0Q09NID0gL25leHRDT00yJTsvaW5wdXQgL3p1bU5QQyU7CiAvZGVmIG5leHRDT00yID0gL2RlZiBuZXh0Q09NID0gL25leHRDT00zJTsvaW5wdXQgL2JlaW1OUEMxJTsKIC9kZWYgbmV4dENPTTMgPSAvZGVmIG5leHRDT00gPSAvbmV4dENPTTElOy9pbnB1dCAvdm9tTlBDJTsKClN0YXJ0ZW4gbWl0IC9sZ2Fsa2FtcGZza3JpcHQKCgphYmVyIGVzIGthbm4gamEgc2VpbiBkYXMgaWNoIHdhcyB1ZWJlcnNlaGVuIGhhYmUuLi4uCmplZGVuZmFsbHMgZ2VudWVndCBkYXMgdGYta29uc3RydWt0IG1laW5lciBtZWludW5nIG5hY2ggCmRlciBza3JpcHRkZWZpbml0aW9uIChpc3QgYWxzbyBsZWdhbCkgCnVuZCBlcyBnZW51ZWd0IG1laW5lbiBhbnNwcnVlY2hlbiBhbiBlaW4gU0NITkVMTEVTIGthbXBmbWFrcm8KCm5peGksIG9lZmZuZXQgbW9lZ2xpY2hlcndlaXNlIGRpZSBidWVjaHNlIGRlciBwYW5kb3JhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxlZ2FsZXMgc2tyaXB0PyAoU2hhcmlhLCAgNC4gTWFyIDE5OTgsIDIwOjQyOjQ4KToKfiMhIHJuPU5peGlob3UgcnQ9ODg5MDM5OTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkljaCBkZW5rZSB3ZXIgc2ljaCBndXQgbWl0IHRmIGF1c2tlbm50IGthbm4gamVkZSBub2NoIHNvIGd1dGUgRmFsbGUgdm9uCk1hZ2llcm4gdW1nZWhlbiBzb2xhbmdlIGVyIGFtIEJpbGRzY2hpcm0gc2l0enQgb2RlciB6dW1pbmRlc3QgZ2VsZWdlbnRsaWNoCmhpbnNjaGF1dCAuLiBtYW4gc29sbHRlIGFsbGVyZGluZ3Mga2xhciBzYWdlbjogc29sY2hlIERpbmdlIHNvbGx0ZW4gdmVyYm90ZW4Kc2VpbjoKCi0gdW50ZXJzdWNoZXNjcmlwdHMgCi0gcXVlc3RzY3JpcHRzCi0gdGFua3NjcmlwdHMKCndlZ2VzY3JpcHRzLCBBVUNIIHdlbm4gc2llIGtvbW1hbmRvcyB3aWUgb2VmZm5lIHR1ZXIgb2RlciBzY2hsaWVzc2UgaGF1cyBhdWYKZW50aGFsdGVuIHNvbGx0ZW4gZXJsYXVidCBzZWluIC4uIGtsYXIgZnVlciBkaWUgZGllIGtlaW5lIG1vZWdsaWNoa2VpdCBoYWJlbgppc3QgZGFzIG5pY2h0IGZhaXIsIGFiZXIgd2llIHNhZ3RlIEtoaWRhciBhdWYgbWVpbmVtIEVyc3RlbiBNdWR0cmVmZmVuCnN0YWVuZGlnIHp1IGNhdHdlYXpsZSBtb3JnZW5zIGdlZ2VuIDUgd2FlaHJlbmQgUnluZSBtaXQgZWluZXIgRmxhc2NoZSBXZWluIGluCmRlciBoYW5kIGF1ZiBkZW4gQmFlbmtlbiBydW10b3JrZWx0ZT8gIkRhcyBMZWJlbiBJU1QgbmljaHQgZmFpciEiIAp0amEgbWFuIHdpcmQgc2ljaCBuaWVtYWxzIGdlZ2VuIHZvbGxzY3JpcHRzIHdlaHJlbiBrb2VubmVuLCBzb2xhbmdlIHNpZQpwZXJmZWt0IHNpbmQgYWJlciBnZW5hdXNvd2VuaWcgd2llIGVzIGRlbiBwZXJmZWt0ZW4gTW9yZCBnaWJ0IGdpYnQgZXMgYXVjaApoaWVyIGJlaSB1bnNlcmVtIFByb2JsZW0gZGllIHBlcmZla3RlIExvZXN1bmcuCgpEaWUgYmVmZWhsZSB3aWUgei5iIG9lZmZuZSB0dWVyIGluIHdlZ2VzY3JpcHRzIHp1IGVybGF1YmVuLCBmaW5kZSBpY2ggUEZMSUNIVCwKZGVubiBpY2ggaGFiIHouYi4ga2VpbmUgTHVzdCB2b3IgbWVpbmVtIEhhdXMgc3RlaGVuenVibGVpYmVuIHVuZCBkYW5uIGRpZSBhbGlzCmR1cmNoenVoYWNrZW4gLi4gZGllIGtvZW5uZW4gamEgZGFubiBkb2NoIGdsZWljaCBtaXQgaW5zIHNjcmlwdCAuLiB1bmQgd2VubnMKc2VpbiBtdXNzIG1pdCBuZXIgcmFuZG9tdmVyem9lZ2VydW5nIG9kZXIgc28gZGFubiBmaW5kZXQgZGFzIGF1Y2gga2VpbmVyIHJhdXMuCgpLZXliaW5kaW5ncyBzaW5kIG1laW5lciBNZWludW5nIG5hY2ggZWluIGZhbGwgZnVlciBzaWNoIHVuZCBzb2xsdGVuIGVybGF1YnQKc2Vpbi4gc293b2hsIHJlaW4tcmF1cyBhbHNhdWNoIHdhZmZlIHdlZztzY2hpbGR3ZWcsIGthbXBmc3BlbGwsc2NoaWxkIGhvY2gsCndhZmZlIGhvY2ggZGVubiB6LmIuIGRpZSBrYWVtcGZlcmdpbGRlIGlzdCBkYXJhdWYgYXVzZ2VsZWd0LCB1bmQgYXVjaCBkaWUKYWJlbnRldXJlciwga2xlcmlrZXIgb2RlciBiaWVyc2NodWV0dGxlciBtdWVzc2VuIGRhbWl0IHVtZ2VoZW4gLi4uLi4KCgpzaWNoZXIgbWFuIEtBTk4gZGFzIGF1Y2ggdWViZXIgdGVsbmV0IG1hY2hlbiBhYmVyIHdpZXNvIHNvbGx0ZSBtYW4gZXMgbmljaHQKdmVyZWluZmFjaGVuID8gdW5kIHdpZSBOaXhpKiBiZXdpZXNlbiBoYXQ6IG1hbiBrYW5uIGF1Y2ggZGF6d2lzY2hlbiByZXR1cm4KZHJ1ZWNrZSB1bmQgZGFiZWkgbm9jaCBmZXJuc2VoZW4gLi4gdW5kIG5lbiBNYWdpZXIgd3VlcmQgZGFzIG5pZW1hbHMKbWl0YmVrb21tZW4gZGVubiBiZWkgbmVtIHNub29wIHNpZWh0IGVyIG51cjogMSAyIDMgNCA1IGFscyBhbGlhc2UgZGllIGljaCBpbgpkaWUgdGFzdGF0dXIgc2NoZWluYmFyIGhhZW1tZXJlIGRhYmVpIG1hY2hlIGljaCBudXIgYmxpbmQ6IHJldHVybiByZXR1cm4KcmV0dXJuIC4uLiAKCmFsc286IHdlZ3NjcmlwdHMgamEga2FtcGZtYWtyb3M6IGphIFZPTExzY3JpcHRzPyBORUlOIAoKKHVuZCB3ZXIgZXMgc2NoYWZmdCBuaWNodCBlcndpc2NodCB6dSB3ZXJkZW4gaGF0IHdpZSBpbW1lciBnbHVlY2sgZ2VoYWJ0IDotKSkpCgoKU2hhcmlhLCB3dXJkZSBzY2hvbiBlcndpc2NodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxlZ2FsZXMgc2tyaXB0PyAoWWVuZGksICA0LiBNYXIgMTk5OCwgMjA6NTE6NDUpOgp+IyEgcm49Tml4aWhvdSBydD04ODkwMzk5NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKSG1tbS4uLi4gaWNoIGZ1ZXIgbWVpbmVuIFRlaWwgZmluZGUsIGRhc3MgZGllc2VzIEJlaXNwaWVsIG5pY2h0IG51ciBsZWdhbCBpc3QsCnNvbmRlcm4gZHVyY2hhdXMgYXVjaCBpbiBPcmRudW5nLiBXZW5uIGplbWFuZCBhbGxlcmRpbmdzIGVpbmVuIExlZ29tb3RvciBuZWJlbgpkaWUgUmV0dXJudGFzdGUga2xlYnQsIHVtIHNpY2ggYXV0b21hdGlzY2ggZHVyY2ggZWluIHNjcmlwdCB6dSBrbGFja2VybiwgZGFubgptdXNzIGVyIGphIHNjaG9uIHdpZWRlciBhdWZwYXNzZW4sIGRhc3MgZXIgbmljaHQgdm9uIGVpbmVtIGF1Zm1lcmtzYW1lbiBNYWdpZXIKYWxzIGFid2VzZW5kIGVudGxhcnZ0IHVuZCBzdGFuZHJlY2h0bGljaCBnZWxvZXNjaHQgd2lyZCAtLSB1bmQgZGFzIFJpc2lrbyB3aXJkCmRlbiBtZWlzdGVuIHp1IGdyb3NzIHNlaW4sIHNvIGRhc3Mgc2llIGRvY2ggd2llZGVyIHZvciBkZW0gU2NoaXJtIHNpdHplbiB1bmQKZWlmcmlnIHRpcHBlbi4gV2FzIHdpbGwgbWFuIG1laHI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS25laXBlbnN5c3RlbSAoQmVuZGVpZ2lkLCAgNC4gTWFyIDE5OTgsIDIxOjIzOjI5KToKfiMhIHJuPVRhcmluYSBydD04ODg5OTczNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5Mzc0NzMKIEx1c3QgamEsIHplaXQgd2VuaWcuIGljaCBicmF1Y2ggZGFmdWVyIG1hbCBlaW4gV29jaGVuZW5kZSwgdW0gbWljaAp1ZWJlcmhhdXB0IGRhbWl0IG1hbCB6dSBiZWZhc3Nlbi4uLiBudXIga2VpbmUgUGFuaWssIGRlciAiRmFsa2UiIHdpcmQKZGVtbmFlY2hzdCBtaXQgZXJ3ZWl0ZXJ0ZW0gYW5nZWJvdCByZW5vdmllcmVuLi4uIG51ciBiaXR0ZSBnZWJ0IG1pciBldHdhcwpaZWl0LCBqYT8KCkFjaCBqYSwgZWhzIGhpZXIgdW50ZXJnZWh0OiBCZXp1ZyB3YXJlbiBkaWUgQmVzY2h3ZXJkZW4gdm9uIFRhcmluYSB1ZWJlciBkaWUKTmVza2F5YS1LbmVpcGVuLi4uCgoKWidwYXIgU2VydnUsCiAgICAgICAgICAgIEJlbmRlaWdpZCwgS25laXBlbmluc3RhbGxhdGV1ciB1bmQgTmVza2F5YXZlcndhbHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS25laXBlbnN5c3RlbSAoVGFyaW5hLCAgNC4gTWFyIDE5OTgsIDIyOjQwOjA2KToKfiMhIHJuPUJlbmRlaWdpZCBydD04ODkwNDMwMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODg5Mzc0NzMKSWNoIHdvbGx0ZSBudXIgYXVzZHJ1ZWNrbGljaCBkYXJhdWYgaGlud2Vpc2VuLCBkYXNzIG1laW4gQXJ0aWtlbCBtZWhyIGFscwpOb3RydWYgdmVyc3RhbmRlbiB3ZXJkZW4gc29sbHRlLCBkZW5uIGFscyBCZXNjaHdlcmRlLiBJY2gga2FubiB6d2FyIHByaW1hCkhlcnVtbm9lbGVuLCBkYXNzIHdhciBhYmVyIGRpZXNtYWwgbmljaHQgZGVyIFp3ZWNrIGRlcyBBcnRpa2Vscy4KCkljaCBlbXBmaW5kZSBNYXRyaXhlbiBlYmVuIGVpbmZhY2ggbnVyIGFscyB1bnZlcnppY2h0YmFyIDotKQoKR3J1c3MsClRhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsZWdhbGVzIHNrcmlwdD8gKEhhZHJhLCAgNS4gTWFyIDE5OTgsIDAwOjAzOjMyKToKfiMhIHJuPVllbmRpIHJ0PTg4OTA0MTEwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpzYWd0IG1hbCwgc2luZCB3aXIgaGllciBpbiBlaW5lbSBkZWJhdHRpZXJjbHViIHZvbiBhdXNnZWhlbmRlbiBqdXJpc3Rlbiwgb2Rlcgppc3QgZXMgZWluZmFjaCB6dSBrb21wbGl6aWVydCBtYWwgZWluZmFjaCB6dSBzcGllbGVuLCBzdGF0dCBzaWNoIGhpbnp1c2V0emVuCnVuZCBoaW50ZXJ0dWVyZW4gYXVzenVsb3Rlbi4KZGVtbmFlY2hzdCBtdXNzIHdvaGwgbm9jaCBqZW1hbmQgbmVuIGtvbW1lbnRhciB6dSBkZW4gaGlsZmVzZWl0ZW4gcmF1c2JyaW5nZW4Kd2VubiBpaHIgYWxsZXJkaW5ncyBkYXMgbXVkIGtvbXBsaXppZXJ0ZXIgYWxzIG5lbiBhbnRyYWcgYXVmCmxvaG5zdGV1ZXJqYWhyZXNhdXNnbGVpY2ggbWFjaGVuIHdvbGx0IC0gYml0dGUsIG1hY2h0IG51ciB3ZWl0ZXIgc28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogLi4ud28gc2luZCBudXIgZGllICdndXRlbiwgYWx0ZW4nIFplaXRlbiBoaW4uLi4gKEtleSwgIDUuIE1hciAxOTk4LCAwOToyMTo0MCk6Cn4jISBybj1MdXB1cyBydD04ODgwODQ2OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc4MDc0NjUKSG1tIHdpciB3b2xsZW4gZXMgZ2FueiBlaW5mYWNoIC4uLgpOdXIga29tbWVuIGphIHN0YWVuZGlnIG5ldWUgUmVnZWx1bmdlbi4KCk9iIG51ZXR6bGljaCBvZGVyIG5pY2h0IHNlaSBkYWhpbmdlc3RlbGx0CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZWdhbGVzIHNrcmlwdD8gKEdub21lLCAgNS4gTWFyIDE5OTgsIDEwOjAwOjMyKToKfiMhIHJuPU5peGlob3UgcnQ9ODg5MDM5OTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CmFlaC4uLgprb21wbGl6aWVydGVyIGdlaHQgZXMgbmljaHQ/CnVuZCB3YXMgbWFjaGVuIGRpZSwgZGllIHNpY2ggbmljaHQgc28gbWl0IHRmIGF1c2tlbm5lbiBiencuIGRpZSBrZWluZXMgaGFiZW4/CnBhY2t0IGRvY2ggZGFzIHByb2JsZW0gYW4gZGVyIHd1cnplbCAoc29ycnkgd3VyemVsIDopIGFuIHVuZCBhZW5kZXJ0IGRpZSAKdmVyYm90ZS9nZWJvdGUsIGFuc3RhdHQga29zbWV0aXNjaGVuIHNjaG5pY2tzY2huYWNrIHZpYSB0ZiB6dSBiZXRyZWliZW4uLi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxlZ2FsZXMgc2tyaXB0PyAoQ2F0d2VhemxlLCAgNS4gTWFyIDE5OTgsIDEwOjEwOjI4KToKfiMhIHJuPVllbmRpIHJ0PTg4OTA0MTEwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpBbHNvIGVpbmUgTGVnb21vdG9yIGdpbHQgZ2FueiBrbGFyIGFscyBzY3JpcHQgOi0pCkJsZWlidCBkaWUgRnJhZ2UsIHdpZSBTaGVyaWZmIGRhcyBuYWNod2Vpc2VuIHdpbGwuIEljaCB3dWVyZGUgdm9yLQpzY2hsYWdlbiwgd2lyIGdydWVuZGVuIGVpbmVuIGdlc29uZGVydGVuIEZvbmQsIHpCLiBhdXMgZGVyIFBhcnR5LSB1bmQgZGVyIApWZXJlaW5zZ2VsZGthc3RlbiwgZGVyIGFuIGRlbiBTaGVyaWZmIGJlbGVndGUgUmVpc2Vrb3N0ZW4gZXJzdGF0dGV0IC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBsZWdhbGVzIHNrcmlwdD8gKEZyZXVuZCwgIDUuIE1hciAxOTk4LCAxMDoyMDo0Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg5MDg5MDI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkljaCBzdGltbWUgQ2F0KiBpbiBqZWRlciBIaW5zaWNodCBkZXV0bGljaCB6dSEKCk1hbCB3YXMgYW5kZXJlczogSGF0IGplbWFuZCBlaW5lbiBWZXJkYWNodCwgZGFzcyBlaW4gU3BpZWxlciwgZGVyIGF1cyBkZW4gVVNBCmVpbmdlbG9nZ3QgaXN0LCBzY3JpcHRldD8KCkZyZXVuZCwgZ2V3aXNzZW5oYWZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVycGFydHkhIChSaW5nb3IsICA1LiBNYXIgMTk5OCwgMTE6Mjg6MjEpOgpEYSBkaWUgUnVicmlrIHBhcnR5IGFuc2NoZWluZW5kIG5pY2h0IHZvbiBhbGxlbiBnZWxlc2VuIHdpcmQsIGdpYnRzIGRlbgpBcnRpa2VsIGRpZXNtYWwgZG9wcGVsdC4gU29ycnkuIDstKQoKQWxzbyBoaWVyIG5vY2htYWwgZWluZSBFcmlubmVydW5nOiB2b20gRnJlaXRhZyAyNy4zLiBiaXMgU29ubnRhZyAyOS4zLiBmaW5kZXQKaW4gRG9ydG11bmQgZGllIG9mZml6aWVsbGUgV2ludGVycGFydHkgc3RhdHQuCgpEYW1pdCB3aXIga2Fsa3VsaWVyZW4ga29lbm5lbiwgd2lldmllbCBFc3NlbiB1bmQgR2V0cmFlbmtlIHdpciBzbyBrYXVmZW4KbXVlc3Nlbiwgc29sbHRlbiBzaWNoIHNvIGxhbmdzYW0gbWFsIGFsbGUgYW5tZWxkZW4sIGRpZSB2b3JoYWJlbiB6dXIgUGFydHkgenUKa29tbWVuLiBLbmFwcCA2MCBMZXV0ZSBrb2VubmVuIGRvY2ggbm9jaCBuaWNodCBhbGxlcyBzZWluLiA7LSkKClNjaGxhZnBsYWV0emUgc2luZCBnZW51ZWdlbmQgaW4gZWluZXIgVHVybmhhbGxlIHZvcmhhbmRlbi4gQXVmIEFuZnJhZ2Ugc2NoYXUKaWNoIGF1Y2ggZ2VybmUgbmFjaCwgd28gZGllIG5hZWNoc3RnZWxlZ2VuZW4gSG90ZWxzIHNpbmQuIAoKU29mZXJuIGVzIGdld3VlbnNjaHQgd2lyZCwga29lbm5lbiB3aXIgYW0gU29ubnRhZyBiZWkgZWluZW0gQ2hpbmVzZW4gaW4gZGVyCk5hZWhlIGVzc2VuIGdlaGVuLiBBbGxlcmRpbmdzIGhhZXR0ZSBkZXIgTGFkZW5pbmhhYmVyIGdhbnogZ2VybmUgZ2VuYXVlcmUKWmFobGVuLCB3aWV2aWVsZSBhdXNnZWh1bmdlcnRlIE11ZGRlciBlciBkYSB6dSBlcndhcnRlbiBoYXQuCgpXaXIgd3VlcmRlbiBkYW5uIGVpbiBCdWZmZXQgenVzYW1tZW5zdGVsbGVuIGxhc3NlbiwgZGFtaXQgZGllIEt1ZWNoZSBuaWNodAp6dXNhbW1lbmJyaWNodCBiZWkgc28gdmllbGVuIEJlc3RlbGx1bmdlbiBnbGVpY2h6ZWl0aWcuCgpXZXIgTHVzdCBoYXQsIGFtIFNvbm50YWcgbWl0enVrb21tZW4sIHNjaGlja3QgYml0dGUgZWluZSBNYWlsIGFuICJjaGluYW1hbiIKbWl0IGRlciBBbnphaGwgUGVyc29uZW4gdW5kIGV2dGwuIEV4dHJhd3VlbnNjaGVuICh2ZWdldGFyaXNjaCBldGMuKS4KCkFsbGVyZGluZ3Mgc29sbHRlIGRhcyBhbGxlcyBfc2NobmVsbF8gZ2VoZW4uIEFsc28gYWIgenVtIG5hZWNoc3RlbiBQYXJ0eWJyZXR0CnVuZCBhbmdlbWVsZGV0IHNvd2llIE1haWwgYW4gImNoaW5hbWFuIiBnZXNjaHJpZWJlbi4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbGVnYWxlcyBza3JpcHQ/IChMYXJpc3NhLCAgNS4gTWFyIDE5OTgsIDEyOjE4OjUyKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODkwODkwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKCk5lZWVlLCBuaXggZGEsIAphdWYgZGVuIFBhcnlzIHdpcmQgYWIgc29mb3J0IHZvcmdlZnVlaHJ0IHdhcyBtYW4ga2Fubi4gTnVyIHdlciB1bnRlcgpkZW4gcmwtQXVnZW4gZGVzIFNoZXJpZmZzIGRpZSBIeWRyYSBraWxsdCwgZGVyIGdpbHQuCgpMYXJpIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGxlZ2FsZXMgc2tyaXB0PyAoWWVuZGksICA1LiBNYXIgMTk5OCwgMTI6MzA6MjkpOgp+IyEgcm49TGFyaXNzYSBydD04ODkwOTY3MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKClVuZCB3ZXIgc3BpZWx0IGRpZSBOUENzPyBEaWUgTWFnaWVyLCBkaWUgc2llIGdlcHJvZ2d0IGhhYmVuPyBXZWlhLi4uCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBsZWdhbGVzIHNrcmlwdD8gKEtleSwgIDUuIE1hciAxOTk4LCAxMjo1MjoxMyk6Cn4jISBybj1MYXJpc3NhIHJ0PTg4OTA5NjczMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpPa2kgYWJnZW1hY2h0IExhcnJpc2EgOykKQ2xvbnQgbWlyIGF1Y2ggZ2xlaWNoIHdlciBtZWhyZXJlIFRhbnRlbj8gV2VpbCBiZWkgZWluZW0gbWFsIGthbm5zIGphIEdsdWVjawpnZXdlc2VuIHNlaW4gOykKCktleSBpc3QgZGFiZWkgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZWdhbGVzIHNrcmlwdD8gKE1haGF0bWEsICA1LiBNYXIgMTk5OCwgMTY6NDc6NTQpOgp+IyEgcm49Tml4aWhvdSBydD04ODkwMzk5NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKQWVobmxpY2hlbiBFZmZla3QgaGFiZW4gYXVjaCB6eWtsaXNjaGUgS2V5YmluZGluZ3MsIHdlbGNoZSBqZWRlbiBUYXN0ZW5kcnVjawptaXR6YWVobGVuIHVuZCBqZSBuYWNoIFphZWhsZXJzdGFuZCBlaW5lbiBhbmRlcmVuIEJlZmVobCBhYnNlbmRlbiwgd2VubiBkYXMKTWFrcm8genUgRW5kZSBpc3QsIHdpcmQgZGVyIFphZWhsZXIgd2llZGVyIGF1ZiBOdWxsIGdlc2V0enQuCkljaCBoYWIgZGFtYWxzLCBhbHMgZGFzIGVyc3RlIFNrcmlwdHZlcmJvdCBnYW56IG5ldSB3YXIsIG1pdCBzb3dhcyBtYWwKcnVtZXhwZXJpbWVudGllcnQsIHVuZCBoYXR0ZSBiZWthbm50bGljaCBkYW5uIGVpbiBwYWFyIFByb2JsZW1jaGVuIG1pdCBkZW0KZGFtYWxpZ2VuIFNoZXJpZmYsIGRlciBtZWludGUsIGRhcyBzYWVoZSBhdXMgd2llIGVpbiBlY2h0ZXMgU2tyaXB0LiAKClVuZCBnZW5hdSBhbiBkZW0gUHVua3Qgd2lyZCBqZWRlcyBzdHJlbmdlIFNjcmlwdHZlcmJvdCBsYWVjaGVybGljaCwgZGVubgpzb2xhbmdlIG1hbiBtaXQgbGVnYWxlbiBNZXRob2RlbiBzbyBhdXNzaWVodCB3aWUgZWluIGVjaHRlcyBTY3JpcHQsIGthbm4gbWFuCm5pY2h0IGF1ZiBkZW4gYmxvc3NlbiBWZXJkYWNodCBkZXMgU28tQXVzc2VoZW5zIGplbWFuZGVuIGxvZXNjaGVuLCBzb25kZXJuCm11c3Mga25hbGxoYXJ0ZSBCZXdlaXNlIGhhYmVuLCBkaWUgYWJlciBzY2h3ZXIgenUgZXJicmluZ2VuIHNpbmQuCkZheml0OiBFaW5lIERlZmluaXRpb24gbXVzcyBoZXIsIGRpZSBlcyBlcm1vZWdsaWNodCwgVWViZWx0YWV0ZXIgendlaWZlbHNmcmVpCnp1IHVlYmVyZnVlaHJlbiwgc29uc3QgbGFldWZ0cyB3ZWl0ZXIgd2llIGJpc2hlciwgZGFzcyB1ZWJlcmhhdXB0IGtlaW5lcgpiZXN0cmFmdCB3aXJkLgoKTWFoYXRtYSAoYXVmIGRlciBtYmFuaXNoLUxpc3RlIHN0ZWhlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzY3JpcHQuLi4gKElzaXMsICA1LiBNYXIgMTk5OCwgMTg6MzU6MDMpOgoKSG1tbS4uLi5hbHNvIFRhbmstLCBVbnRlcnN1Y2hlLSwgdW5kIHNvbnN0aWdlIFZvbGxzY3JpcHRlIGZpbmQgaWNoIGF1Y2gKYmxvZWQuLi4KCkFiZXIgZ2VnZW4gV2VnLSB1bmQgZWluZmFjaGUgS2FtcGZzY3JpcHRlIGZpbmQgaWNoIHNvbGx0ZW4gZXJsYXVidCBzZWluLi4uCgpBYmVyIG1hbCBlaW5lIEZyYWdlOgoKV2FydW0gd2lyZCBkYXJ1bSBzbyBlaW4gZ3Jvc3NlcyBBdWZzZWhlbiBnZW1hY2h0PyAKCldFTSBzY2hhZGV0IGVzIGVpZ2VudGxpY2g/CgpGdWVyIG1pY2ggaXN0IGRhcy4uLnNvcnJ5IEZyZXVuZC4uLldpY2h0aWd0dWVyZWkuLi4KCkljaCBoYWIgbmVuIFZvcnRlaWwsIHdlbm4gaWNoIHNjcmlwdGUgdW5kIG5lbiBOYWNodGVpbCwgd2VubiBpY2ggbmljaHQKc2NyaXB0ZS4uLgoKU28gaXN0IGRpZSB2ZXJrdWVyenQgZGllciBEYXJzdGVsbHVuZy4uIC0gdm9uIGRlbiBNYWdpZXJuIC0KClN0YXR0IEphZ2QgYXVmIGRlbiBhbGxlcmdyb2Vzc3RlbiBUZWlsIGRlciBNdWRkaWVzIHp1IG1hY2hlbiwgc29sbHRlIG1hbiBzaWNoCnVlYmVybGVnZW4sIHdpZSBtYW4gQW5yZWl6ZSBzY2hhZmZlbiBrYW5uIG5pY2h0IHp1IHNjcmlwdGVuLi4uCkFiZXIgd2llIGRhcyBpbSBNb21lbnQgYXVzc2llaHQgd2lyZCBlaW5lbSBkYXMgbm9jaCBuaWNodCBtYWwgZ2VnbGF1YnQsIHdlbm4KbWFuIHNhZ3QsIGRhc3MgbWFuIGtlaW4gU2NyaXB0IGhhdCEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxlZ2FsZXMgc2tyaXB0PyAoRGVlcGJsdWUsICA1LiBNYXIgMTk5OCwgMjI6MTA6MTMpOgp+IyEgcm49TWFoYXRtYSBydD04ODkxMTI4NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKV2llIHdhZXJlIGVzIGRhbWl0OgoKV2VyIGR1cmNoIHNjcmlwdGUvdHJpZ2dlciBhbmRlcmUgZXhwbGl6aWQgc3RvZXJ0IChzaWNoIGFsc28gei5CLiBhbiBuZW4KTWV0emVscGxhdHogc3RlbGx0IHVuZCBhdWYgImZhZWxsdCB0b3QgenUgQm9kZW4iIGVpbiBOaW1tIGFsbGVzIHZvbiBsZWljaGUKdHJpZ2dlcnQsIGRlciBmbGllZ3QsIHdlciBrZWluZW4gc3RvZXJ0LCBicmluZ3RzIHNpY2ggZXYuIG51ciBzZWxic3QgdW0gZGVuCnNwaWVsc3Bhc3MuLi4KRGVlcEJsdWUmVGVsbmV0LCBqdXN0IGdvb2QgZnJpZW5kcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZTogQXJ0aWtlbCAyMjAgdm9uIERlZXBibHVlIChPdmVybG9yZCwgIDUuIE1hciAxOTk4LCAyMjoyNToxMCk6CkljaCBrYW5uIG1pY2ggRCogbnVyIGFuc2NobGllc3Nlbi4KCkFuc29uc3RlbiBmaW5kZSBpY2ggZGllIERpc2t1c3Npb24gdW0gZGllIFNjcmlwdGUgb2RlciBuaWNodCByZWljaGxpY2gKbWVya3d1ZXJkaWcuLi5XZWdlc2NyaXB0cyBzaW5kIGVybGF1YnQsIFdlZ2V0cmlnZ2VyIG5pY2h0LiBXYXMgc2luZCBlaWdlbnRsaWNoCmRhbm4gZGllIFBhdGhzIHZvbiBabXVkPwoKQWxzbyBpY2ggYWVyZ2VyZSBtaWNoIGltbWVyIHdpZWRlciwgZGFzcyBpY2ggZGFzIFNjaGlmZiBpbSBIYWZlbiB2b24gUFYgaW1tZXIKd2llZGVyIHZlcnBhc3NlLCB3ZWlsIHNpY2gganVzdCBpbiBkZW0gTW9tZW50IGVpbiB2b2xsa29tbWVuIGF1ZmdlbG9lc3RlcgpOZXdiaWUgYmVpIG1pciBhdXN3ZWluZW4gbW9lY2h0ZSBvZGVyIGFlaG5saWNoZXMuIERhIGlzdCBlaW4gVHJpZ2dlciBoYWx0CnByYWt0aXNjaCwgZ2VsbD8KCkFsc28gaWNoIHNlaCBkYSBrZWluZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gV2Vnc2NyaXB0IHVuZCBXZWd0cmlnZ2VyLgoKCk92aSwgc2NobmVsbCBzZWluZW4gKGVoIGFsbGVybWVpc3RlbnMgZGVha3RpdmllcnRlbikgVHJpZ2dlciAoSGFmZW5QVi0+R2lsZGUpCmxvZXNjaGVuZCwgbmljaHQgYWhuZW5kLCBldHdhcyB2ZXJwb2VudGVzIGdldGFuIHp1IGhhYmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTa3JpcHRlLCBUcmlnZ2VyIHVuZCBhbmRlcmUgVGllcmUgKE1hZ251cywgIDYuIE1hciAxOTk4LCAwOTozOTozMik6CkljaCB3ZWlzcywgZGFzcyBpY2ggbmljaHRzIHdlaXNzOiBvZGVyIGFuZGVycyBhdXNnZWRydWVja3QuLi4gSWNoIGtvbW1lIGltbWVyCm1pdCB0ZWxuZXQgaGllcmhlciwga2VubmUgbWljaCB0ZWNobmlzY2ggbmljaHQgYXVzIHVuZCBoYWJlIGtlaW5lIGFobnVuZyB3YXMKc2tyaXB0ZSB1bmQgc28gdWViZXJoYXVwdCBzaW5kLiBJY2ggaGFsdGUgZGllIGdhbnplIEF1ZnJlZ3VuZyBmdWVyIHZvZWxsaWcKdWViZXJ0cmllYmVuLiBEZXIgVm9yc2NobGFnLCBkYXNzIG1hbiBnZWdlbiBkaWUgTGV1dGUsIGRpZSBrb25rcmV0IGFuZGVyZQpzdG9lcmVuLCB3YXMgbWFjaGVuIHNvbGx0ZSwgZ2VnZW4gZGllIGFuZGVyZW4gYWJlciBuaWNodCwgaXN0IG1laW5lcyBFcmFjaHRlbnMKZGFzIGJlc3RlLCB3YXMgamUgenUgZGllc2VtIFRoZW1hIGdlc2FndCB3b3JkZW4gaXN0LiBEYW1pdCBrb2VubmVuIGFsbGUgbGViZW4KdW5kIGdsdWVja2xpY2ggd2VyZGVuIGJ6dy4gYmxlaWJlbi4KCk1hZ251cwoKUFM6IHNvcnJ5IGZvciB0eXBvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNrcmlwdGUsIFRyaWdnZXIgdW5kIGFuZGVyZSBUaWVyZSAoTGFyaXNzYSwgIDYuIE1hciAxOTk4LCAwOTo1MDozMik6Cn4jISBybj1NYWdudXMgcnQ9ODg5MTczNTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTczNTcyClRqYSwKb2J3b2hsIGljaCB6dSBkZW4gJyB2b25fbWlyX2F1c19rYW5uX3NjcmlwdGVuX3dlcl93aWxsJy1BbmhhZW5nZXJuCmdlaG9lcmUsIGlzdHMgZG9jaCBuaWNodCBnYW56IHNvIGVpbmZhY2guCgpXZXIgc29sbCBkZW5uIGVudHNjaGVpZGVuIG9iIGVpbiBzY3JpcHQgc3RvZXJ0IG9kZXIgbmljaHQuCkljaCBlcmlubmVyZSBtaWNoIG5vY2ggZ3V0IGRhcmFuIGFscyBpY2ggbWljaCB6dW0gZXJzdGVuIG1hbAppbiBkaWUgU2NocmVja2Vuc3NwaXR6ZSBnZXdhZ3QgaGFiZSB1bmQgZ2VyYWRlIGRhYmVpIHdhciBtaXIgZGVuIFdlZyB2b3JiZWkKYW4gZGVtIGVyc3RlbiBNb25zdGVyIHp1IGVya2FlbXBmZW4gZWluIFNjcmlwdCBkdXJjaHJhc3RlIHVuZCBpbgp3ZW5pZ2VyIGFscyAyIE1pbnV0ZW4gZGllIGdlc2FtdGUgU2NocmVja2Vuc3NwaXR6ZSBhYnNvbHV0IGxlZXIgd2FyLgoKWnVnZWdlYmVuIGVzIGhhdCBtaWNoIG1laHIgdWViZXJyYXNjaHQgYWxzIGdlc3RvZXJ0IChob2VzdGVucyBkZXIgc2Nyb2xsKSwKYWJlciBpY2gga2FubiB2ZXJkYW1tdCBndXQgdmVyc3RlaGVuIHdlbm4gc293YXMgZWluZW4gYW5kZXJlbiBzdG9lcnQuCgpVbmQgZGFubiBoYW1td2EgbmFlbWxpY2ggZGFzIERpbGVtbWEuIFdlbm4gRHUgZGEgYWxzIEFuZmFlbmdlciBzY2hpbXBmc3QgdW5kCnNhZ3N0OiBJY2ggZnVlaGxlIG1pY2ggZ2VzdG9lcnQsIGthbm5zdCBkcmF1ZiB3ZXR0ZW4sIGRhc3MgZWluZSAKTWVuZ2UgaG9oZXIgU2VoZXIgc2FnZW4gd2VyZGVuOiBTdGVsbCBEaWNoIGRvY2ggbmljaHQgc28gYW4uCgpBbHNvIGRhcyBnZXN0b2VydCBmdWVobGVuIGlzdCBnbGF1YmUgaWNoIGtlaW4gQXJndW1lbnQuCkVzIGdlaHQgamEgYXVjaCBuaWNodCB3aXJrbGljaCB1bSBXZWdlc2NyaXB0ZSwgZXMgZ2VodCB1bSBkaWUKJ2ljaF9ob2xlX25hY2hfbmVuX3JlYm9vdF9kaWVfaHlkcmFydWVzdHVuZ19pbl8zMF9zZWt1bmRlbl8nLVNjcmlwdGUuCihzY2h1bGRpZ3VuZywgZGFzcyBpY2ggc2Nob25lIHdpZWRlciBkaWUgVGFudGUgYWxzIEJlc2lzcGllbCB2ZXJ3ZW5kZSkuCgpEYXMgUHJvYmxlbSBpc3QgaGFsdCBkaWUgQWJncmVuenVuZy4KCkxhcmksIHZpZWxsZWljaHQga29lbm50ZSBtYW4gYXVmIGRlciBQYXJ0eSBtYWwgbWl0IHZlcmVpbnRlbgpLcmFlZnRlbiBkcnVlYmVyIERpc3NrdXRpZXJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKENhdHdlYXpsZSwgIDYuIE1hciAxOTk4LCAxMDozNzoyNik6Cn4jISBybj1PdmVybG9yZCBydD04ODkxMzMxMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKTW9pbiEKCk5hdHVlcmxpY2ggaXN0IGVpbiBUcmlnZ2VyIHp1bSBTY2hpZmZlIGJlc3RlaWdlbiB1bmdsYXVibGljaCBwcmFrdGlzY2guCkFiZXIgc2llaHN0IER1LCBnZW5hdSBhbiBkaWVzZXIgU3RlbGxlIGlzdCBkZXIgZ2VkYW5rbGljaGUgRmVobGVyLiAKRnVlciBEaWNoIGlzdCBlcyB2aWVsbGVpY2h0IGdlcmFkZSBlaW5mYWNoLCBzaW1wZWwgdW5kIHNjaG5lbGwgZGEgZWluZW4KVHJpZ2dlciB6dSBkZWZpbmllcmVuLCBhYmVyIGRhbm4gaGFzdCBudXIgRHUgZXR3YXMgZGF2b24gdW5kIGFsbGUgZGllIGtlaW4KdGYgby5hZS4gaGFiZW4sIHNpbmQgaW0gTmFjaHRlaWwuIApEZXIgUklDSFRJR0UgV2VnIGluIHNvbGNoZW4gRmFlbGxlbiBpc3QgZXMsIGVpbmVuIEFydGlrZWwgaW4gRW50d2lja2x1bmcKenUgc2NocmVpYmVuLCB1bmQgbWFsIG5hY2h6dWZyYWdlbiwgb2IgZXMgbW9lZ2xpY2ggaXN0LCBkaWUgU2NoaWZmZSBzbyAKenUgYWVuZGVybiwgZGFzIHNpZSBhdWYgZWluZW4gd2FydGVuLCBvZGVyIGVpbmVuIGRpcmVrdCBlaW5sYWRlbiAoekIgZHVyY2gKdm9yaGVyZ2VoZW5kZW4gVGlja2V0dmVya2F1ZikuCkRhbm4gaGF0IGRhbmFjaCBuYWVtbGljaCBqZWRlciB3YXMgZGF2b24uCk1hbiBrYW5uIHNvIHppZW1saWNoIGZhc3QgYWxsZXMsIHdhcyBEdSBtaXQgZGVpbmVuIHRvbGxlbiBUcmlnZ2VybiBtYWNoc3QKYXVjaCBpbnRlcm4gaW0gTUcgcHJvZ3JhbW1pZXJlbiwgZGFzIGVpbnppZ2Ugd2FzIGZlaGx0LCBzaW5kIGRpZSBlbnQtCnNwcmVjaGVuZGVuIEFucmVndW5nZW4gZGF6dS4KWW91cnMgdHJ1bHksCiAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoWWFyZW4sICA2LiBNYXIgMTk5OCwgMTE6MTE6MzQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4OTE3NzA0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApEYXMgdmVyaGFlbHQgc2ljaCBhYmVyIGF1Y2ggbWl0IGFuZGVyZW4gU2FjaGVuIHNvLCBkaWUgbWFuIGltIE1vcmdlbmdyYXVlbgppbXBsZW1lbnRpZXJlbiBrb2VubnRlLCB1bSBkYXMgU2NyaXB0ZW4genUgdmVyaGluZGVybiwgb2RlciB3YXMgaWNoIHdlc2VudGxpY2gKYmVzc2VyIGZhZW5kZTogZGllIG5pY2h0LVNjcmlwdGVyIG5pY2h0IHp1IGJlbmFjaHRlaWxpZ2VuLiBFcyBpc3QgZG9jaCBzbywKZGFzcyBkYXMgVmVyd2VuZGVuIHZvbiBTY3JpcHRzIHp1bSBncm9lc3N0ZW4gVGVpbCBuaWNodCBhdXMgZGVyCk5pZWRlcnRyYWVjaHRpZ2tlaXQgb2RlciBJZ25vcmFueiBkZXIgTGV1dGUgZ2VnZW51ZWJlciBkZW4gTWl0c3BpZWxlcm4KcmVzdWx0aWVydCwgc29uZGVybiBtZWhyIGF1cyBGYXVsaGVpdCwgamVkZW5mYWxscyB3ZW5uIGVzIHVtIHNvbGNoZSBTYWNoZW4gd2llCldlZ2VzY3JpcHRlIHVuZCAtdHJpZ2dlciBvZGVyIFRhbmtzY3JpcHRlIGdlaHQuCgpXZW5uIGFsc28gS2FtcGZzY3JpcHRlLCBRdWVzdHNjcmlwdGUgby5hZS4gbmljaHQgZXJ3dWVuc2NodCBzaW5kLCBzb2xsdGUgbWFuCnNpZSBwcm9ncmFtbXRlY2huaXNjaCB2ZXJoaW5kZXJuLiBOaWNodCBkaWUgU3ltcHRvbWUsIHNvbmRlcm4gZGllIFVyc2FjaGVuCmJla2FlbXBmZW4sIGhlaXNzdCBkYXMgd29obCA7LSkKClVuZCBub2NoIGV0d2FzIHp1bSBUaGVtYSwgZGFzcyBtYW5jaGUgU3BpZWxlciBrZWluZW4gcHJvZ3JhbW1pZXJiYXJlbiBDbGllbnQKdmVyd2VuZGVuIGtvZW5uZW4gb2RlciB3b2xsZW4gKG9kZXIgaWhuIG5pY2h0IGJlZGllbmVuIGtvZW5uZW4pIG1vZWNodGUgaWNoCm1pY2ggS2hpZGFycyBNZWludW5nIGFuc2NobGllc3NlbjogZGFzIExlYmVuIGlzdCBuaWNodCBmYWlyLgoKWWFyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKE5peGlob3UsICA2LiBNYXIgMTk5OCwgMTE6NTk6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4OTE3NzA0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApobW0sIAphbHNvIHRyaWdnZXIgdW0gZWluIHNjaGlmZiB6dSBiZXN0ZWlnZW4uIAplaWdlbmRsaWNoIHNvbGx0ZSBkYXMgZG9jaCBhdWNoIG5hY2ggZGVyIGRlZmluaXRpb24gZXJsYXVidCBzZWluLi4uCnNjaGxpZXNzbGljaCBpc3QgZXMgZWluZSBha3Rpb24gYXVmIGRlciB0YXN0YXR1ciBkZXIgZ2VuYXUgZWluZSAKYWt0aW9uIGltIG11ZCBmb2xndCAuICh0cmlnZ2VyIGFic2V0emVuKSAtPiAoc2NoaWZmIGJldHJldGVuKQoKbml4aWhvdSwgc2VuZmVuZCB1bmQgbm9jaCBtYWwgaGlsZmUgc2tyaXB0IGxlc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoTWFycywgIDYuIE1hciAxOTk4LCAxMjozMjo0MSk6Cn4jISBybj1OaXhpaG91IHJ0PTg4OTE4MTk2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApJc3QgZWlnZW50bGljaCBuYWNoIGRlbiBnZW5hbm50ZW4gRGVmaW5pdGlvbmVuIGRlciBHZW51XDNeSF5Ic3peSHMKZGVzIFlldGktVG9ldGVycyBwZXIgU2tyaXB0IGVybGF1YnQsIGRhIG1hbiBhbnNjaGxpZXNzZW5kIGphIGluCmVpbmVuIGFuZGVyZW4gUmF1bSBiZWZvZXJkZXJ0IHdpcmQ/CgpNYXJzIGRlbmt0ICAgLiBvIE8gKGRpZSBHcmVuemVuIHNpbmQgZmx1ZXNzaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcmtzIGluIE9ya2hhdXNlbiAoQ2Fzc2FuZHJhLCAgNi4gTWFyIDE5OTgsIDEzOjIwOjUxKToKSGFsbG8gTGV1dGUKCkthbm4gZXMgc2VpbiBkYXMgbWl0IGRlbiBPcmtzIGluIE9ya2hhdXNlbiB3YXMgbmljaHQgc3RpbW10Pz8/Pz8/Pz8/Pz8/PwpFcnN0IGdyZWlmZW4gZGllIG1pY2ggYW4gb2huZSBkYXMgaWNoIHdhcyBnZXRhbiBoYWJlIHVuZCB0b2V0ZW4gbWljaC4KVW5kIGFscyBpY2ggbWVpbiB6ZXVnIHZvbiBkZW5lbiB3aWVkZXJoYWJlbiB3b2xsdGUga29ubnRlIGljaCBkaWUgbmljaHRtYWwKYW5ncmVpZmVuLCBkYSBzaWUgbWljaCBlaW5mYWNoIG51ciBhdXNnZWxhY2h0IGhhYmVuLgpFcyBpc3QgamEgc2Nob2VuIHVuZCBndXQsIGRhcyBtYW4gbWFuY2hlIE1vbnN0ZXIgZXJzdCBhYiBlaW5lbSBiZXN0aW1tdGVuCmxldmVsIGFuZ3JlaWZlbiBrYW5uLCBhYmVyIGRhbm4gc29sbHRlbiBkaWUgZWluZW4gYXVjaCBuaWNodCB2b24gc2VsYnN0CmFuZ3JlaWZlbiB1bmQgZGFubiBkYXMgemV1ZyBtaXRuZWhtZW4uCgpDYXNzYW5kcmEsIGtlaW5lIGx1c3QgaGFiZW5kIEhpbGJlcnQgbm9jaG1hbCB6dSBtYWNoZW4KClBTLiBrYW5uIHNpY2ggZGFzIGJpdHRlIGVpbiBtZ2llciBhbnNlaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ludGVycGFydHkhIChCYW1idWxrbywgIDYuIE1hciAxOTk4LCAxNDowMjo1NCk6Cn4jISBybj1SaW5nb3IgcnQ9ODg5MDkzNzAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDkzNzAxCk5hamEgdmllbGVpY2h0IHdpcmQgZGllIFJ1YnJpayBwYXJ0eSBqYSBuaWNodCB2b24gYWxsZW4gZ2VsZXNlbiwgd2VpbCBuaWNodAphbGxlIGFuIG5lciBQYXJ0eSBpbnRlcmVzc2llcnQgc2luZC4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZTogQXJ0aWtlbCAyMjAgdm9uIERlZXBibHVlIChBbHBoYSwgIDYuIE1hciAxOTk4LCAxNDoxNDozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg5MTc3MDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTMzMTEwCkhtbW0gQ2F0d2VhemxlLCByZWNodCBoYXN0IER1ISBBYmVyIGdlbmF1IGRhcyBtaXQgZGVuIFNjaGlmZmVuIHd1cmRlIHZvcgplaW5pZ2VuIE1vbmF0ZW4gaW4gZGVyIE1QQSBncm9zcyB1bmQgYnJlaXQgZGlrdXRpZXJ0IHVuZCB2aWVsZSBMZXV0ZSBmYW5kZW4sCmRhc3MgVGlja2V0cyBvZGVyIGF1dG9tYXRpc2NoZXMgU2NoaWZmYmVzdGVpZ2VuIG5lIHRvbGxlIFNhY2hlIGlzdC4gVW5kPyBXYXMKaXN0IHBhc3NpZXJ0PyBTb2xsdGVuIGluIHNvIGVpbmVtIEZhbGxlIG5pY2h0IFRyaWdnZXIgZXJsYXVidCBzZWluIGJpcyBkYXMgZWluCk1hZ2llciBtYWwgWmVpdCB1bmQgTHVzdCBmaW5kZXQsIHNvd2FzIHp1IHByb2dyYW1pZXJlbj8gTmUgZWluZmFjaGUgRXJsYXVibmlzCmluIEJla2FubnRtYWNodW5nIHd1ZXJkZSB1ZWJlciBkZW4gIk1pc3NzdGFuZCIgd2VnaGVsZmVuLi4uLgpBbHBoYSB2ZXJwYXNzdCBkaWUgU2NoaWZmZSBhdWNoIGFuZGF1ZXJuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKEJvaW5nLCAgNi4gTWFyIDE5OTgsIDE0OjE3OjQ5KToKfiMhIHJuPUFscGhhIHJ0PTg4OTE5MDA3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApEZW0gVm9yc2NobGFnIHd1cmRlIHNvZ2FyIHZvbiBvYmVuIHp1Z2VzdGltbXQsIGQuaC4gYWJlciBuaWNodCBkYXNzIHdpcgphdWNoIHVuYmVkaW5ndCBaZWl0IG9kZXIgTHVzdCBoYWJlbiwgZXMgc2VsYnN0IHp1IGltcGxlbWVudGllcmVuLCBlcwpnaWJ0IGhhbHQgYXVjaCBEaW5nZSBtaXQgaG9laGVyZXIgUHJpb3JpdGFldC4gSGllciBzaW5kIGFsc28gYXVjaCBkaWUKJ2tsZWluZW4nIE1hZ2llciBnZWZyYWd0LCBkYXNzIHdpciBkdXJjaGF1cyBhdWNoIFNhY2hlbiB2b24gYW5kZXJlbgpNYWdpZXJuIGVpbmJhdWVuIGhhdCBzaWNoIHouQi4gYmVpbSBVbml0LU9iamVrdCB2b24gUGFkcmVpYyBnZXplaWd0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZTogQXJ0aWtlbCAyMjAgdm9uIERlZXBibHVlIChUcmFuY2VmZWFyLCAgNi4gTWFyIDE5OTgsIDE0OjI5OjQzKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODkxNzcwNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKSG1qYSwgYmVpIEZhcmJ0cmlnZ2VybiAoYWxzbyBidW50ZW4gQXVzZ2FiZW4gei5CLiB2b20gWnVzdGFuZCBkZXMgR2VnbmVycyBvZGVyCndlbm4gRGlyIHdlciB3YXMgbWl0dGVpbHQpIGdpbHQgZGFzc2VsYmU6IHdlciBrZWluIHRmIGhhdCwgaXN0IGRhIGltIE5hY2h0ZWlsLgpUcm90emRlbSBzaW5kIEZhcmJ0cmlnZ2VyIGFsbGdlbWVpbiB1ZWJsaWNoIHVuZCBlcmxhdWJ0LiBXbyB6aWVoc3QgRHUgZGEgZGllCiJOYWNodGVpbHMtR3JlbnplIiA/Cgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoV2FyZ29uLCAgNi4gTWFyIDE5OTgsIDE0OjM0OjE4KToKfiMhIHJuPUJvaW5nIHJ0PTg4OTE5MDI2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApBZW5kZXJ1bmdlbiBpbiBkZXIgTXVkTGliIHNpbmQgZGF6dSBqYSBlaWdlbnRsaWNoIGF1Y2ggZ2FyIG5pY2h0IG5vZXRpZywgd2VubgptYW4gc2ljaCBhdWYgZGllIEJlZmVobGUgZWluaWd0LiBTY2hpZmZlIHVuZCBIYWVmZW4gbXVlc3N0ZW4gZGF6dSBqYSBlaAphbmdlcGFzc3Qgd2VyZGVuIChkYXMgd2FlcmUgd29obCBoYXVwdHNhZWNobGljaCBlaW5lIEF1ZmdhYmUgZnVlciBkZW4gSW5zZWwtUk0KdW5kIGRpZSBTY2hpZmZzLS9IYWZlbmJlc2l0emVyKS4KSWNoIHNjaGxhZ2UgYWxzIEJlZmVobGUgdm9yCndhcnRlIGF1ZiA8c2NoaWZmZT4gICB1bSBhdWYgZWluIHNwZXppZWxsZXMgU2NoaWZmIHp1IHdhcnRlbiwgdW5kCmZhaHJlIGJpcyA8aGFmZW4+ICAgICB1bSBhbSBaaWVsaGFmZW4gYXV0b21hdGlzY2ggYXVzenVzdGVpZ2VuLgond2FydGUnIG11ZXNzdGUgaW4gamVkZW0gSGFmZW4gZGVmaW5pZXJ0IHNlaW4sICdmYWhyZScgYXVmIGplZGVtIFNjaGlmZi4KQXVzc2VyZGVtIG11ZXNzdGUgbm9jaCBlaW5lIExpc3RlIGVyc3RlbGx0IHdlcmRlbiBtaXQgZmVzdGdlbGVndGVuIE5hbWVuIGZ1ZXIKZGllIFNjaGlmZmUgdW5kIGRlcmVuIFppZWxoYWVmZW4sIGRhbWl0IG1hbiBuaWNodCBpbiBlaW5lbSBIYWZlbiAnd2FydGUgYXVmCmdhbGVlcmUnIGVpbmdlYmVuIGthbm4sIGltIG5hZWNoc3RlbiBhYmVyICd3YXJ0ZSBhdWYgb3JrZ2FsZWVyZScgZWluZ2ViZW4KbXVzcy4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKEFscGhhLCAgNi4gTWFyIDE5OTgsIDE0OjM4OjUwKToKfiMhIHJuPVdhcmdvbiBydD04ODkxOTEyNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKVW5kIGFscyBadXNhdHoga2FubiBpY2ggaW0gaGFmZW4gZnVlciAxMDEgTXVlbnplbiBuZW4ga2xlaW5lbiBaYXViZXJrb2JvbGQKa2F1ZmVuLCBkZXIgZGFzIEtvbWFuZG8gZmFocmUgYmlzIFhYWFhYIGVybW9lZ2xpY2h0Li4uLnVuZCBnbGVpY2ggZGFzCmVudHNwcmVjaGVuZGUgU2NoaWZmIGJlc3RlaWd0IHVuZCBpbSBaaWVsaGFmZW4gd2llZGVyIGF1c3N0ZWlndCwgc28gZGFzcyBpY2gKbmljaHQgYXVmIGRlbSBTY2hpZmYgbm9jaG1hbCB3YXMgdGlwcGVuIG11c3MuLi4uCkRpZSAxMDEgTXVlbnplbiBrb2VubmVuIGphIGVpbmVtIGd1dGVuIFp3ZWNrIHp1Z3V0ZSBrb21tZW4uCkFscGhhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoVHJhbmNlZmVhciwgIDYuIE1hciAxOTk4LCAxNDozOTo0MCk6Cn4jISBybj1BbHBoYSBydD04ODkxOTE1MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKRGVyIEtvYm9sZCBmYWVocnQgZnVlciBEaWNoIGRhbm4gYW5zIFppZWw/IDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNrcmlwdGUgJiBDby4gKERhbWllbiwgIDYuIE1hciAxOTk4LCAxNDo1NTo0NCk6CkhtbSwgbGFlc3N0IHNpY2ggZGFzIG5pY2h0IGdhbnogZWluZmFjaCBkZWZpbmllcmVuLi4uClZlcmJvdGVuIGlzdCBhbGxlcywgd2FzIGVpbmUgZGlmZmVyZW56aWVydGUgUmVha3Rpb24gaW0gU3BpZWwgb2huZSAKZGlmZmVyZW56aWVydGVzIHp1dHVuIGRlcyBTcGllbGVycyBhdXNsb2VzdC4gKEtsaW5ndCBhYnN0cmFrdCwgYWJlci4uLikKRGFtaXQgc2luZCBXZWdza3JpcHRlIGVybGF1YnQsIGFsbGUgVHJpZ2dlciB2ZXJib3RlbiB1bmQgd2FzIFRhbmtza3JpcHRlCmFuZ2VodCwgYWxzbyB6d2VpIHdlZ2Vza3JpcHRlIHVuZCBlaW4gMS1UYXN0ZW4tQWxpIHNpbmQgZ2VuYXVzbyBzY2huZWxsCmdldGlwcHQsIHdpZSBlaW4gU2tyaXB0IG1pdCBUYW5rYmVmZWhsLCBhbHNvLCB3YXMgc29sbHMuCkF1Y2ggQW5laW5hbmRlcnJlaWh1bmdlbiB2b24gS2FtcGZiZWZlaGxlbiBzaW5kIHNvIGVybGF1YnQsIHNvZmVybiBzaWUgc2ljaApuaWNodCBwZXIgdHJpZ2dlciBtYSBHZWduZXJ6dXN0YW5kIG9kZXIgYW0gZWlnZW5lbiBvcmllbnRpZXJlbi4KRGllIEZhcmItVHJpZ2dlciB3YWVocmVuIGF1Y2ggZXJsYXVidCwgc2llIGxvZXNlbiBqYSBrZWluZSBBa3Rpb24gaW0gU3BpZWwKYXVzLgpUamEsIHVuZCBvYiBqZW1hbmQgaGludGVyIGRlciBUYXN0YXR1ciBzaXR6dCwga2FubiBtYW4gYmVpIFZlcmRhY2h0IGF1ZiAKdHJpZ2dlcm4gcmF1c2tyaWVnZW4sIHdlciB0cmlnZ2VydCB1bmQgb2RlciBlaW4gVm9sbHNrcmlwdCBoYXQgdW5kIGRhYmVpCnp1c2NoYXV0LCBudXIgdW0gZXZlbnR1ZWxsZSBVZWJlcnBydWVmdW5nZW4gYWJ6dWZhbmdlbiwgZGVyIGlzdCBtZWluZXIKTWVpbnVuZyBzY2hvbiBnZW51ZyBkYW1pdCBnZXN0cmFmdCwgZWluZW0gbGFuZ3dlaWxpZ2VuIFByb2dyYW1tIGRhdWVybmQKenVndWNrZW4genUgbXVlc3Nlbi4uLgoKRGFtaWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNrcmlwdGUgJiBDby4gKEdsb2luc29uLCAgNi4gTWFyIDE5OTgsIDE0OjU3OjUzKToKfiMhIHJuPURhbWllbiBydD04ODkxOTI1NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKV2VubiBlcyBFdWNoIG1pdCBlaW5lbSBNYWwgbnVyIG5vY2ggZGFydW0gZ2VodCwgZGFzIGplbWFuZCBoaW50ZXIgZGVyClRhc3RhdHVyIHNpdHp0LCBkYW5uIGxhc3N0IGRvY2ggYWxsZW4gYW53ZXNlbmRlbiBQbGF5ZXJuIGFsbGUgaGFsYmUgU3R1bmRlCnZvbSBTaGVyaWZmIFJhZXRzZWwgc3RlbGxlbi4uLgoKR2xvaW4gLi4uIG1laW50LCBkYXMgZGllIERpc2t1c3Npb24gaW4gZGVyIFJpY2h0dW5nIG5pY2h0cyBicmluZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNrcmlwdGUgJiBDby4gKFlhcmVuLCAgNi4gTWFyIDE5OTgsIDE1OjAwOjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTg4OTE5MjY3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NAoqbGFjaCogRGVyIFNoZXJpZmYgd2lyZCBzaWNoIGRhIGJlZGFua2VuIC0gYmVpIHVlYmVyIDEwMCBuaWNodCBpZGxlbmRlbgpTcGllbGVybiB6dSBTcGl0emVuemVpdGVuLCBhbHNvIDMgcHJvIG1pbnV0ZSwgbmEgdmllbCBTcGFzcyAtPiBTY2htYXJybi4KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2tyaXB0ZSAmIENvLiAoVHJhbmNlZmVhciwgIDYuIE1hciAxOTk4LCAxNTowMjozOCk6Cn4jISBybj1ZYXJlbiBydD04ODkxOTI4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKTmFqZSBkZXIgU2hlcmlmZiBzb2xsIGhhbHQgd2FzIHR1bi4uLiBuaWNodCBpbW1lciBudXIgcnVtaWRsZW4uIFNvbyBmYWVuZ3QgbWFuCmtlaW5lIFNjcmlwdGVyIDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKEtleSwgIDYuIE1hciAxOTk4LCAxNjoxODo1NSk6Cn4jISBybj1ZYXJlbiBydD04ODkxNzkwOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKSW0gUHJpbnppcCBsYWVzc3Qgc2ljaCBhbGxlcyBtaXQgc2NyaXB0cyBsb2VzZW4uCkRpZSBzb2cuIFNjcmlwdGZhbGxlbiBkaWUgYXVjaCBoaWVyIGV4aXN0aWVyZW4gc3RvZWhyZW4gbWljaCBtZWhyIHdlbm4gaWNoCm5pY2h0IHNjcmlwdGUgYWxzIHdlbm4gaWNoIHNjcmlwdGUuCkVpbiBTY3JpcHQga2FubiBtYW4gc2NobmVsbCBtYWwgdW1iYXVlbiB3ZW5uIGVpbiBXZWcgbmljaHQgbWVociBiZWdlaGJhciBpc3QsCnVuZCBlcyBpbnRlcmVzc2llcnQgZWluZW4gbmljaHQgd2lldmllbGUgYmV3ZWd1bmdlbiBtYW4gbWVociBtYWNoZW4gbXVzcy4KQWJlciBlaW5lciBkZXIgb2huZSB3ZWdlc2NyaXB0ZSBydW1sYWV1ZnQgZGFyZiBkYW5uIHNvd2FzIGF1c2JhZGVuIC4uLi4KCkRhcyBwcm9iIGlzdCBhbHNvIG5pY2h0IG51ciBGYXVsaGVpdCwgc29uZGVybiB0ZWlsd2Vpc2UgYXVjaCBkaWUKcHJvZ3JhbW1pZXJ1bmcgZGVyIG1hZ3MgOikKClNvbyBhYmVyIG51bm1hbCB6dW0ga2VybiBkZXIgU2FjaGUgLi4uLi4KRWluZSBkZXV0bGljaGUgdW5kIGtsYXIgZGVmaW5pZXJ0ZSBBYmdyZW56dW5nIHZvbSBlcmxhdWJ0ZW4genVtIHVuZXJsYXVidGVuCnNjcmlwdCB3aXJkIG1hbiB3b2hsIGthdW0gaGluYmVrb21tZW4gLi4uCkRpZSBTdHJhZmUgenUgdmVyaGFlcnRlbiwgdW5kIGRpZSBTY3JpcHRlIG5vY2ggbWVociB2ZXJiaWV0ZW4gaXN0IGZ1ZXIgbWljaAprZWluZSBMb2VzdW5nLgpBbHNvIGljaCBiaW4gZGVyIE1laW51bmcgZGFzIGtsZWluZSBLYW1wZm1ha3JvcyBlcmxhdWJ0IGJsZWliZW4gc29sbGVuLCBhbHNvCnJlaW4gcmF1cywgd2FmZmUgd2VnLCBzcGVsbCwgd2FmZmUgaGVyIHVuZCBzb2xjaGUga2xlaW5pZ2tlaXRlbiAuLi4uIApJY2ggYmluIGphIHp1bSBHbHVlY2sgaW4gZWluZXIgR2lsZGUgaW4gZGVyIG1hbiBmcmVpaGFlbmRpZyBzZWluZW4KaGF1cHRhbmdyaWZmc3NwZWxsIGR1cmNoZnVlaHJlbiBrYW5uLCBhYmVyIHdlbm4gaWNoIG1hbCBhdWYgbmVuIFp3ZWl0aWUgc2l0emUKdW5kIGRhcyBwZXIgaGFuZCBlaW50aXBwZSBrcmllZyBpY2gga3JhZW1wZmUgOikKSWNoIGhhYiBkYW1hbHMgYXVjaCBudXIgbWl0IHRlbG5ldCBnZXNwaWVsdCwgdW5kIGRhbWFscyBiaW4gaWNoIGF1Y2ggcmVjaHQgZ3V0Cnp1cmVjaHRnZWtvbW1lbiBtaXQgZGVtIGF1ZiBkZW4gdGFzdGVuIHJ1bWdlaGFlbW1lcmUsIGFiZXIgbWl0IG5lbSBtYWtybyBpc3NlcwplaW5mYWNoZXIsIGxlaXNlciwgdW5kIHNjaG9uZW5kZXIgOikKClNvIHVuZCB3ZWdlc2NyaXB0ZSAuLi4uIApBbGxlIGJlZmVobGUgZGllIGRlciBGb3J0YmV3ZWd1bmcgZGllbmVuIHNvbGx0ZW4gYXVjaCBlcmxhdWJ0IHNlaW4sIGFsc28gYXVjaApuZSBUdWVyIG9lZmZuZW4gOikKQWxsZXJkaW5ncyBuaWNodCBpbiBRdWVzdGdlYmlldGVuIDopCldvYmVpIFF1ZXN0Z2ViaWV0ZSBhdWNoIHdpZWRlciBzbyBlaW5lIFNhY2hlIGlzdCAuLi4gd2VubiBpY2ggZGEgYW4KU2NobmVld2l0dGNoZW4gZGVua2UgOikgb2RlciBBbWFyeWxpcyA6KQoKTmFqYSBtYWwgc2NoYXVlbiB3YXMgZXMgd2lyZCA7KQoKS2V5IHNjaHJlaWJ0IHdpZWRlciBsYWVuZ2VyZSBBcnRpa2VsIG9obmUgVWViZXJibGljayA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2tyaXB0ZSAmIENvLiAoRmVscHVyLCAgNi4gTWFyIDE5OTgsIDE2OjQ2OjQ1KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg5MTkyOTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0CldhcyBzb2xsIGRhcyBtaXQgZGVtIGhhbGJzdHVlbmRpZ2VuIFJhZXRzZWwgLSB3ZW5uIGljaCBpbSBLYW1wZiBiaW4gdW5kCipzY3JvbGwqIGRhbm4gc2NyaXB0ZSBvZGVyIHRyaWdnZXJlIGljaCBudXIgd2VpbCBpY2ggZGFzIHJhZXRzZWwgbmljaHQKbWl0YmVrb21tZW4gaGFiIG9kZXIgaWNoIGJpbiBnZXJhZGUgYmVpIGVpbmVyIFF1ZXN0IHdvIGVzIGF1ZiBaZWl0IGFua29tbXQgd2llCnp1bSBCZWlzcGllbCBkaWUgUHlyYW1pZGVuIHVuZCBhbnR3b3J0ZSBuaWNodCBkYW4gU2tyaXB0ZSBpY2guIE5lIHNvIGdlaHQgZGFzCm5pY2h0IHVuZCBmdWVyIGRlbiBTaGVyaWZmIGlzdCBkYXMgc293aXNvIHVuenVtdXRiYXIgZXMgZ2lidCBqYSBhdWNoIG5vY2gKYXJiZWl0ZW5kZSBXZXNlbiAoaW0gUkwpIHVuZCB1ZWJlciBlaW4gU2NyaXB0ZXJmYW5nc2NyaXB0IGlzdCBtYW4gd2llZGVyIGJlaQpvYmlnZW0gUHJvYi4gbmUgbmUgc28gbmljaCwgbmljaCBtaXQgbWlyCgpGUC4gbWlhdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2tyaXB0ZSAmIENvLiAoR3JpbW1ib3JuLCAgNi4gTWFyIDE5OTgsIDE2OjU3OjAzKToKfiMhIHJuPUZlbHB1ciBydD04ODkxOTkyMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKRGFzIHNpbmQgZGllIFByb2JsZW1lIGVpbmVzIFplaXR1bmdzdmVybGVnZXJzLiBJc3Qgc28gZWluIEFydGlrZWwgamV0enQgZXJuc3QKZ2VtZWludCB1bmQgaGF0IGRlciBBdXRvciBudXIga2VpbmVuIER1cmNoYmxpY2ssIGRhbm4gd3VlcmRlIGVyIHN0ZWhlbgpibGVpYmVuLCBkZW5uIGplZGVyIGRhcmYgc2ljaCBibGFtaWVyZW4gc29ndXQgZXIga2FubiB1bmQgd2lsbCwgdW5kIHNvbGFuZ2UKZXJzIGVybnN0IG1laW50LiBPZGVyIGVyIGlzdCBuaWNodCBlcm5zdCBnZW1laW50LCBkYW5uIHd1ZXJkZSBlciBuYWNoIHNjaG1hcnJuCihvZGVyIHNvKSBnZWhvZXJlbi4gSWNoIHd1ZXJkZSBqYSB2b24gbWlyIGF1cyBhdWYgbGV0enRlcmVzIHRpcHBlbiwgYWJlciBkaWUKTmFpdml0YWV0IGRlciBNZW5zY2hlbiBrYW5uIG1hbiBrYXVtIHVlYmVyc2NoYWV0emVuLi4uCgpHcmltbWJvcm4gZGVyIFZlcmxlZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTa3JpcHRlICYgQ28uIChGZWxwdXIsICA2LiBNYXIgMTk5OCwgMTg6MDE6MjMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4OTE5OTgyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApHcmltbWJvcm4gRHUgbWVpbnN0IGFsc28gZGVyIEFydGlrZWwgZ2Vob2VyZSBuYWNoIFNjaG1hcnJuIC0gZ3V0IGRhbm4gdmVybGVnZQppaG4gZG9ydGhpbi4gQWxsZXJkaW5ncyB3dWVyZGUgZGFzIGZ1ZXIgbWljaCBiZWRldXRlbiwgZGFzcyBEdSBkaWUgSWRlZQp1bnRlcnN0dWV0enQgYWxsZSBoYWxiZSBTdHVuZGUgamVkZW0gU3BpZWxlciB2b20gU2hlcmlmZiBlaW4gUmFldHNlbCBzdGVsbGVuCnp1IGxhc3NlbiBudXIgdW0genUgdGVzdGVuIG9iIGVyIG5vY2ggYW4gZGVyIFRhc3RhdHVyIHNpdHp0LCBzbyB3aWUgZXMgaW4gZGVuCkFydGlrZWwgYXVmIGRpZSBpY2ggbWljaCBiZXpvZ2VuIGhhYmUgdm9yZ2VzY2hsYWdlbiB3dXJkZS4gRGFubiBtb2VjaHRlIGljaApEaWNoIG1hbCBhbHMgU2hlcmlmZiBzZWhlbi46LSkgU28gYmluIGljaCBqZXR6dCBpbW1lciBub2NoIG5haXYgb2RlciBoYXN0IER1CkRpciBudXIgbmljaHQgZGVuIEJlenVnIHVuZCBkaWUgZW50c3ByZWNoZW5kZW4gQXJ0aWtlbCBkdXJjaGdlbGVzZW4uIEZyYWdlCm1pY2ggd2VyIGhpZXIgbmFpdiBpc3QgdW5kIGtlaW5lbiBEdXJjaGJsaWNrIGhhdC4KClAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTa3JpcHRlICYgQ28uIChGZWxhZ3VuZCwgIDYuIE1hciAxOTk4LCAxODoxMDowMyk6Cn4jISBybj1GZWxwdXIgcnQ9ODg5MjAzNjgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0Cldlbm4gbWFuIGplbWFuZGVuIG9obmUgRHVyY2hibGljayBmcmFndCwgd2VyIGtlaW5lbiBzb2xjaGVuIGhhdCB3aXJkIG1hbiBpbgpkZW4gbWVpc3RlbiBGYWVsbGVuIGVpbmUgZmFsc2NoZSBBbnR3b3J0IGJla29tbWVuLgpOdXIgbWFsIHNvIGFtIFJhbmRlIDspCgpGZWxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTa3JpcHRlICYgQ28uIChBY3JpbW9uLCAgNi4gTWFyIDE5OTgsIDE4OjU5OjE4KToKfiMhIHJuPUZlbHB1ciBydD04ODkxOTkyMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKV2FydW0gdGVzdGV0IG1hbiBuaWNodCBlaW5mYWNoIGJlaSBWZXJkYWNodCBhdWYgVm9sbHNrcmlwdCwgb2IgZGVyCmVudHNwcmVjaGVuZGUgU3BpZWxlciBhbiBkZXIgVGFzdGF0dXIgc2l0enQ/IChNaXQgZXR3YXMgUGhhbnRhc2llIGdlaHQgZGFzCnNlaHIgbGVpY2h0KQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTa3JpcHRlICYgQ28uIChZYXJlbiwgIDYuIE1hciAxOTk4LCAxOTozNzoyOSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4OTIwNzE1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApJY2ggaGFiZSBtaXR0bGVyd2VpbGUgYXVjaCBlaW5nZXNlaGVuLCBkYXNzIGRhcyBhbGxlcyBuaWNodHMgYnJpbmd0LiBXZW5uIGljaApkdXJjaCBkaWUgR2VnZW5kIHJlbm5lLCBtZXR6ZWwgdW5kIHRhbmtlIHVuZCBtaWNoIGRhbm4gbmVuIE1hZyBhbnNwcmljaHQsIGRlcgp2b3JiZWlzY3JvbGx0LCBvZGVyIGljaCwgd2VpbCBpY2ggZGllIEFsaWFzZXMgaW4gZGllIFRhc3RhdHVyIGhhZW1tZXJlIG5pY2h0CmF1ZiBkZW4gVGV4dCBhY2h0ZSwgZGFubiBwbG9ldHpsaWNoIGF1ZmhvZXJlIHVuZCBhdWZzIEtsbyBnZWhlIHVuZCB2aWVsbGVpY2h0CmVyc3QgaW4gMTAgTWludXRlbiB3aWVkZXJrb21tZSwgZGFubiBpc3QgZGFzIGphd29obCBlaW5kZXV0aWc6IGljaCBoYWJlCmdlc2NyaXB0ZXQsIG1pdCBuZW0gVHJpZ2dlciBhdWYgaXJnZW5kd2VsY2hlIE1pdHRlaWx1bmdlbiwgZGllIGRhcyBTY3JpcHQKc3RvcHBlbi4gQWhhLiBVbmQgZXMga2FubiBpbW1lciBwYXNzaWVyZW4sIGRhc3MgbWFuIGFicnVwdCB1bnRlcmJyb2NoZW4gd2lyZAp1bmQgbmljaHQgbWVociBhdWYgZGVuIEJpbGRzY2hpcm0gYWNodGV0IC0gaWNoIGhhYmUgZGFkdXJjaCBzbyBtYW5jaGVuIFRvZAplcmxlaWRlbiBtdWVzc2VuIC4uLiBRdWludGVzc2VuejogZnVlciBlaW5pZ2VybWFzc2VuIGJyYXVjaGJhcmUgU2NyaXB0ZSBnaWJ0CmVzIGtlaW5lbiBOYWNod2Vpcywgd2VubiBtYW4gbmljaHQgd2lya2xpY2ggc2VsYmVyIGhpbmdlaHQgdW5kIGJlaW0gUmVjaG5lcgpkZXMgU3BpZWxlcnMgbmFjaHNpZWh0LCBvYiBkZXIgZGF2b3Igc2l0enQsIG9kZXIgbmljaHQgLi4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNrcmlwdGUgJiBDby4gKEdsb2luc29uLCAgNi4gTWFyIDE5OTgsIDE5OjQwOjU3KToKfiMhIHJuPVlhcmVuIHJ0PTg4OTIwOTQ0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApKYSwgd2lyIGZvcmRlcm4gZGllIE1vbml0b3JrYW1lcmEgZnVlciBqZWRlbiBNdWRkZXIuCgpKZXR6dCB3aXJkcyBlcyBlY2h0IGxhbmd3ZWlsaWcsIEdsb2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU2tyaXB0ZSAmIENvLiAoTGFyaXNzYSwgIDYuIE1hciAxOTk4LCAyMToyOTowNyk6Cn4jISBybj1HbG9pbnNvbiBydD04ODkyMDk2NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKCkhtLAp3aWUgd2FlcmUgZXMgZWlnZW50bGljaCBtaXQgZWluZW0gR2ViaWV0LCB3byBTY3JpcHRlIGFsbGVyIEFydCBlcmxhdWJ0IHNpbmQ/CkRvcnQga2FubiBzaWNoIGplZGVyIGF1c3RvYmVuIHdpZSBlciB3aWxsIG9obmUgUnVlY2tzaWNodCBhdWYgJ1Zlcmx1c3RlJy4KTWFuIG11ZXNzdGUgaGFsdCBtYWwgdWViZXJsZWdlbiB3ZWxjaGUgR2ViaWV0ZSBkYWZ1ZXIgZ2Vwcm9nZ3QvZnJlaWdlZ2ViZW4Kd2VyZGVuLgpJbSB1ZWJyaWdlbiBNRyB3YWVyZSBzY3JpcHRlbiBkYW5uIGF1c25haG1zbG9zIHZlcmJvdGVuLCAnaW5fZWluZW5fYW5kZXJlbl8KUmF1bV9iZXdlZ2UnLXNjcmlwdGUgYXVzZ2Vub21tZW4uCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU2tyaXB0ZSAmIENvLiAoV3VyemVsLCAgNi4gTWFyIDE5OTgsIDIxOjM0OjAxKToKfiMhIHJuPUxhcmlzc2EgcnQ9ODg5MjE2MTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0CmRhcyBsb2VzdCBuaWNodCBkaWUgZnJhZ2UsIHdpZSBkdSBmZXN0c3RlbGxlbiB3aWxsc3Qgd2VyIHNjcmlwdGV0LiBhbGxlCmFuZGVyZW4gc2NyaXB0ZSBzaW5kIGpldHp0IGF1Y2ggc2Nob24gdmVyYm90ZW4sIHVuZCB3ZXIgaGFlbHQgc2ljaCBkcmFuPwp3ZW5uIGR1IGVpbiBzb2xjaGVzICJ1ZWJ1bmdzZ2ViaWV0IiB6dWxhZXNzdCwgd2VyZGVuIGRvcnQgbnVyIGRpZSBzY3JpcHRlCmVudHdpY2tlbHQgdW5kIGdldGVzdGV0LCBkaWUgZGFubiBoaW50ZXJoZXIgdWViZXJhbGwgenVtIGVpbnNhdHoga29tbWVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNrcmlwdGUsIFRyaWdnZXIgdW5kIGFuZGVyZSBUaWVyZSAoTHVnLCAgNi4gTWFyIDE5OTgsIDIzOjI5OjQzKToKfiMhIHJuPUxhcmlzc2EgcnQ9ODg5MTc0MjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTczNTcyCiBHcmlucywKCnN0ZWxsIERpY2ggbmNpaHQgc28gYW4gOykKCktlaW5lIEFobnVuZyBoYWJlbmQgd292b24gZGllIHRlaWx3ZWlzZSBoaWVyIHNvIHJlZGVuLi4uCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZWluc3ZlcnNhbW1sdW5nIE1HIGUuVi4gKFZpcGVyLCAgNy4gTWFyIDE5OTgsIDEwOjIyOjA5KToKCkh1aHUsCgphbGxlIFZlcmVpbnNtaXRnbGllZGVyIHNvbGx0ZW4gc2NobmVsbHN0bW9lZ2xpY2ggbWFsIGRpZQpSdWJyaWsgbW9yZ2VuZ3JhdWVuLnZlcmVpbiBhbnNjaGF1ZW4sCkVzIGdpYnQgZG9ydCBkaWUgRWlubGFkdW5nIHp1ciBWZXJlaW5zdmVyc2FtbWx1bmcgYW5sYWVzc2xpY2gKZGVyIFBBcnR5IGluIERvcnRtdW5kLgoKVHNjaHVlc3MKCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2tyaXB0ZSAmIENvLiAoVHJhbmNlZmVhciwgIDguIE1hciAxOTk4LCAxNjo1Nzo0Myk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4OTIwNzE1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApEdSBoYXN0IHJlY2h0IGRhcyBnZWh0IGVpbmlnZXJtYXNzZW4gbGVpY2h0LiBWb3IgYWxsZW0sIHdlbm4gZGVyIFNwaWVsZXIgc2ljaApuaWNodCBhbGx6dXZpZWwgTXVlaGUgZ2lidCBtaXQgZGVtIFNjcmlwdC4uLgoKdGYgKG11c3N0ZSBpcmdlbmR3aWUgZ3JpbnNlbiBiZWkgRGVpbmVtIEFydGlrZWwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbmVpcGVuIChUZWRkeSwgIDkuIE1hciAxOTk4LCAwNTozNjoxMik6Cn4jISBybj1Jc2lzIHJ0PTg4ODk0NzAwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODk0NjQyMQpLYW5uc3QgZHUgbmljaHQgPyB3dXJzdGllLCBkYWZ1ZXIgZ2lidHMgQUZBSUsgVG9vbHMgaW0gTUcuCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU2tyaXB0ZSAmIENvLiAoSmFzb25yaWdpZCwgIDkuIE1hciAxOTk4LCAxMTozNzo0Mik6Cn4jISBybj1HbG9pbnNvbiBydD04ODkyMDk2NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKCk5vZSwgd2lyIGZvcmRlcm4gZWluZW4gUmVpc2UtU3BvbnNvciBmdWVyIGRlbiBTaGVyaWZmIDspCgpXZXIgbWVsZGV0IHNpY2ggZnJlaXdpbGxpZyBhbHMgUmVpc2VuZGVyIFNoZXJpZmYgPz8/Cgoqc2NobmlwcCxzY2huaXBwKgoKLT4gU2NobWFycm4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjcmlwdGVuIChQYXRyeW4sICA5LiBNYXIgMTk5OCwgMTE6NDQ6MDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4ODY3NDkxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4ODY1NTU4Mwp1bSBkaWVzZW4gc2NyaXB0cyBkZW4gcmVzdCB6dSBnZWJlbiwga2FubiBtYW4gZHVyY2hhdXMgZGllIG5ldWVuCm1vZWdsaWNoa2VpdGVuIGRlciB6ZWl0dmVyYnJhdWNoZW5kZW4gc3BlbGxzIG51dHplbi4gZGFtaXQgZHVlcmZ0ZSBkYXMKcHJvYmxlbSBlcmxlZGlndCBzZWluLiBpc3QgZWggc2VsdHNhbSwgZGFzcyBuZSBiZXNjaHdvZXJ1bmcgc28gc3BvbnRhbgphYmxhZXVmdCA6KQpkZW4ga2FlbXBmZXJuIHpCIGtvZW5udGUgbWFuIGVpbmVuIGtsZWluZW4gc2NyaXB0YmVmZWhsIHp1ciB2ZXJmdWVndW5nCnN0ZWxsZW4sIGRlciBiZXN0aW1tdGUga2FtcGZzZXF1ZW56ZW4gaGludGVyZWluYW5kZXIgaW4gZWluZXIgYXJ0CiJzZXJpZSIgb2RlciB3YXMgd2Vpc3MgaWNoIGF1c2Z1ZWhydC4gZGFtaXQgd2FlcmVuIGRpZSBhdXMgZGVtIHNjaG5laWRlci4KdW5kIG1pbmlzY3JpcHRzIGtvZW5uZW4gdmVybWllZGVuIHdlcmRlbi4gYW5kZXJlcnNlaXRzIHNpbmQgc2llIGVoIHp1CnN0YXJrIDopCgotLS0tLS0KcGF0cnluLCBuaWNodHNkZXN0b3RvdHogZ2VnZW4gZGllIG5ldWUgYWt0aW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyZWluc3ZlcnNhbW1sdW5nIE1HIGUuVi4gKENhdHdlYXpsZSwgIDkuIE1hciAxOTk4LCAxNDo0MDowOCk6Cn4jISBybj1WaXBlciBydD04ODkyNjI1Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkyNjI1MjkKRGFzIGdpbHQgc2VsYnN0dmVyc3RhZW5kbGljaCBhdWNoIGZ1ZXIgX25pY2h0X3ZlcmVpbnNtaXRnbGllZGVyIDotKQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5hY2hyaWNodCBhbiB0ZWxhIChNb2JieSwgIDkuIE1hciAxOTk4LCAxOTo0NjowMik6CldhciBsZWlkZXIgenUgc3BhZXQgZHJhbi4gd2llIHdhZXJlIGVzIGdlZ2VuIDkgYmVpIGRlciBzdGF0dWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyZWluc3ZlcnNhbW1sdW5nIE1HIGUuVi4gKEdyaW1tYm9ybiwgIDkuIE1hciAxOTk4LCAyMzowMzoyMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg5NDUwODA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MjYyNTI5CkR1IG1laW5zdCAiX25vY2ggbmljaHRfIFZlcmVpbnNtaXRnbGllZGVyIi4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBUYW5rZW4gKEhlbHZhLCAxMC4gTWFyIDE5OTgsIDAyOjE0OjI3KToKfiMhIHJuPVNtYXJ0ZSBydD04ODg0NDIwODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODc2Njc1MzAKQWxzbyBpY2ggd2Vpc3MgbmljaHQsCm9iIER1IERpY2ggbm9jaCBhbHMgbGxwIGJldHJhY2h0ZW4gbW9lY2h0ZXN0IChvZGVyIHdhciBkYXMgbnVyIGF1ZiBEZWluZSBHaWxkZQpiZXpvZ2VuPykuIEFsc28gZWNodGUgbGxwIHdpZSBpY2ggKGxldmVsIDEwKSBoYWJlbiB3aXJrbGljaCBub2NoIGdlbnVnIHp1IHR1biwKYmV2b3Igc2llIHNpY2ggZXJuc3RoYWZ0ZSBHZWRhbmtlbiB1ZWJlcnMgVGFua2VuIG1hY2hlbiBtdWVzc2VuLiBBdXNzZXJkbWUKZ2xhdWJlIGljaCBuaWNodCwgZGFzcyBzaWNoIGRhcyBmdWVyIG1pY2ggc28gc2VociB2ZXJzY2hsaW1tZXJ0IGhhdAp3ZW5uLCx1YmVyaGF1cHQuCkhlbHZhLWVudHNjaHVsZGlndCB0eXBvcyBldGMsIGlzdCBzY2hvbiBzcGFldApQLlMuIHdlbm4gamVkZXIgbnVyIHVlYmVyIHNlaW5lIGVpZ2VuZW4gQmVmaW5kbGljaGtlaXRlbiByZWRlbiB3dWVyZGUgKGFsc28KbGxwIHViZXIgIGxscC1kYXNlaW4gZXRjLikgZ2FlYmUgZXMgdmllbGxlaWNodCBhdWNoIGV0d2FzIGt1ZXJ6ZXJlCkRpc2t1c3Npb25lbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBNb2VyZGVya2FuYWwtTWVsZHVuZ2VuIChPcmt0b2V0ZXIsIDEwLiBNYXIgMTk5OCwgMTE6MTM6NDUpOgpIYWxsbyBhbGxlIHp1c2FtbWVuLgpJY2ggYml0dGUgZGFydW0sIElkZWVuIGZ1ZXIgbmV1ZSBNb2VyZGVya2FuYWxtZWxkdW5nZW4gcGVyIG1haWwgYW4gbWljaCB6dQpzY3ppY2tlbiwgaWNoIHNhbW1lbCB1bmQgc29ydGllciBkaWUgZGFubiB1bmQgZ2ViZSBzaWUgZGFubiBtYWwgYW4gZWluZW4KbWFnaWVyLCBkZXIgZGllIGRhbm4gYmVzdGltbXQgYXVjaCBlaW5iYXV0LgoKQWxzbywgd2VubiBpaHIgZXR3YXMgbWVociBhYndlY2hzbHVuZyBhdWYgZGVtIE1vZXJkZXJrYW5hbCB3b2xsdC4uIGlociBoYWJ0IGVzCnNlbGJlciBpbiBkZXIgSGFuZCAoYWVoIFRhc3RhdHVyKSA6KQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNrcmlwdGUgJiBDby4gKEd3eW53YWl0ZXIsIDEwLiBNYXIgMTk5OCwgMTM6MzE6NTApOgp+IyEgcm49TGFyaXNzYSBydD04ODkyMTYxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKSGkgQWxsZSwKSWNoIGFscyBuaWNodG1ldHpsZXIsIG5pY2h0c2NyaXB0ZXIgKGphIGljaCBoYWJlIHRmLCBhYmVyIG1laXN0ZW5zIGJpbiBpY2gKZWluZmFjaCBtaXQgdGVsbmV0IGRyaW4pIHVuZCBuaWNodC1hbmZhZW5nZXItYWJlci1hdWNoLW5pY2h0LXNlaGVyIHdhciBzY2hvbgppbW1lciBmdWVyIFdlZ2VzY3JpcHRlLiBVbmQgbmljaHQgZnVlciBUYW5rc2NyaXB0ZS4KVW5kIG1ldHplbHNjcmlwdGUgc293aWVzbyBuaWNodC4gTWFuY2hlIHNlaGVuIGRhcyBNRyBlaGVyIGFscyBRdWVzdG11ZCAtCnRlbmRlbnppZWxsIG9rLiBNYW5jaGUgZWhlciBhbHMgTWV0emVsbXVkIC0gd2Vubm4gbWFuIG1hbmNoZSBRdWVzdHMgYW5zY2hhdXQKd29obCByaWNodGlnLiAoSWNoIHd1ZXJkZSBtaXIgZGllIE1vZWdsaWNoa2VpdCB3dWVuc2NoZW4sIGFsbGUgIm5vZXRpZ2VuIgpRdWVzdHMgb2huZSBzY3JpcHRlbiBVTkQgb2huZSBNZXR6ZWxuIHp1IG1hY2hlbikuIEZ1ZXIgbWljaCBpc3QgTUcgdm9yIGFsbGVtCmVpbiBrbnVkZGxpZ2VzIENoYXQtTXVkLiBVbmQgamVkZSBVbnRlcmhhbHR1bmcgaW0gRWxmZW5kb3JmIGlzdCB1bm1vZWdsaWNoLApzb2JhbGQgZGllc2UgQ2hhb3RlbiB2b24gTWV0emxlcm4gdm9yYmVpa29tbWVuLi4uLiAgIG5hamEsIGltIEVybnN0Li4uICA7LSkKCkVpbmUgUmVnaW9uIGZ1ZXIgTWV0emxlciwgbWl0IE1lZ2Ftb25zdGVybiBkaWUgbWFuIG9obmUgU2NyaXB0IG9kZXIgVmVyYnVlbmR0ZQpuaWNodCBzY2hhZmZ0LCBtZWluZXR3ZWdlbi4gRGllIGFuZGVyZSBMb2VzdW5nIGhpZXNzZSB3b2hsICJNZXR6ZWxtdWQiIGFscwpUb2NodGVybXVkIHZvbSBNRy4gRGFubiB2aWVsbGVpY2h0IGRvY2ggbGllYmVyICJNZXR6ZWxsYW5kIi4uLgoKSWNoIGJpbiBudW4gc2Nob24gbmUgV2VpbGUgaGllciwgdW5kIGljaCBtdXNzIHNhZ2VuIGljaCBmaW5kZSBlcyBndXQsIGRhc3MgZXMKTW9uc3RlciBnaWJ0LCBkaWUgLWVpZ2VudGxpY2gtIG51ciB2b24gbWVocmVyZW4gZ2VtZWluc2FtIHp1IHNjaGFmZmVuIHNpbmQuCkljaCB2ZXJzdGVoZSBkcnVtIGF1Y2ggZGllIEtsYWdlbiBkZXJqZW5pZ2VuIG5pY2h0LCBkaWUgbWVpbmVuLCBkaWVzIG9kZXIKamVuZXMgTW9uc3RlciBzZWkgenUgc2Nod2VyIG9kZXIgd3VlcmRlIGRpcmVrdCB6dSBMYXJzIGZ1ZWhyZW4uIFNvIHdoYXQ/IFdlbm4KZXMga2VpbiBRdWVzdG1vbnN0ZXIgaXN0IChpbiBRdWVzdHMgc29sbHRlIHNvd2FzIGludGVsbGlnZW50IHVtZ2VoYmFyIHNlaW4pLApkYW5uIHZlcm1laWRldCBlcyBkb2NoIGVpbmZhY2guIAoKQXVzc2VyZGVtIGJpbiBpY2ggZGFnZWdlbiwgU2NyaXB0ZXIgenUgbG9lc2NoZW4uIExvZXNjaGVuIHNvbGx0ZSBtYW4gbnVyIGlocmUKRVBzLiBEYW5uIGhhYmVuIHNpZSBnYW56IG5ldWUgR3J1ZW5kZSwgd2VpdGVyIHp1IG1ldHplbG4gdW5kIGtvZW5uZW4gZGFtaXQKZ2x1ZWNrbGljaCBzZWluLCB3ZW5uIHNpZSBkZW5uIG11ZXNzZW4uCgpBbGxlIGtudWRkZWxuZCwgd2llIHdvbGxlbiAoYXVjaCB1bnRlciBkZW4gTWV0emxlcm4pLAoKWVQgR3d5bioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTa3JpcHRlICYgQ28uIChBcmssIDEwLiBNYXIgMTk5OCwgMTM6NDM6MDIpOgp+IyEgcm49R3d5bndhaXRlciBydD04ODk1MzMxMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKVGphLCBpY2ggYWxzIE1hZ2llciBzYWcgZGF6dTogaWNoIHN0ZWxsIG1pciBtZWluZSBRdWVzdChzKSBoYWx0IGluCmVpbmVyIGJlc3RpbW10ZW4gV2Vpc2Ugdm9yLCB1bmQgZGF2b24gbW9lY2h0ZSBpY2ggYXVjaCBuaWNodCBncnVuZC0Kc2FldHpsaWNoIGFicnVlY2tlbi4gSWNoIGJpbiBoYWx0IGRlciBNZWludW5nLCBkYXNzIHp1IGVpbmVyIGd1dGVuClF1ZXN0IGF1Y2ggZWluIGJpc3NlcmwgQWt0aW9uIGdlaG9lcnQgLT4gS2FlbXBmZW4gYmV2b3J6dWdlIGljaCBhbHMKVW1zY2hyZWlidW5nIHZvbiBNZXR6ZWxuIDotKQpTbywgYW5kZXJlIE1hZ2llciBtYWNoZW4gZGFzIGhhbHQgbmFjaCBpaHJlbiBWb3JzdGVsbHVuZ2VuLCBvaG5lIEthZW1wZmUsCnVuZCBkYW1pdCBrb21tZSBpY2ggYXVjaCBnYW56IHByaW1hIGtsYXIuIFdpbGwgaGVpc3NlbiwgZXMgd2lyZCBpbW1lcgpRdWVzdHMgZ2ViZW4sIGluIGRlbmVuIG11c3MgbWFuIGthZW1wZmVuLCB3ZWlsIGVzIGRlciBwcm9ncmFtbWllcmVuZGUKTWFnaWVyIGVzIGhhbHQgc28gdm9yZ2VzZWhlbiBoYXQuIFdlbSBkYXMgbmljaHQgZ2VmYWVsbHQsIGRlciBsYWVzc3QKZGllIFF1ZXN0IGhhbHQgd2VnLCBkYSBmdWVocnQga2VpbiBXZWcgZHJ1bSBydW0uIEJpdHRlIG51ciBrZWluZSBWb3JzY2hyaWZ0LApkYXNzIG1hbiBLYWVtcGZlIGluIFF1ZXN0cyB1bmJlZGluZ3QgdW1nZWhlbiBrb2VubmVuIE1VU1MsIHdlciBkYXMKd2lsbCwgYmF1dCBlcyBlaW4sIHdlciBuaWNodCB3aWxsLCBwZWNoLiBNYW4gd2lsbCBoaWVyIGFscyBNYWdpZXIgZG9jaAp3ZW5pZ3N0ZW5zIGVpbiBiaXNzZXJsIHNlaW5lIFZvcnN0ZWxsdW5nZW4gdW1zZXR6ZW4ga29lbm5lbiwgb2RlciA/IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTa3JpcHRlICYgQ28uIChab3JybywgMTAuIE1hciAxOTk4LCAxMzo0NToyMCk6Cn4jISBybj1Hd3lud2FpdGVyIHJ0PTg4OTUzMzExMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApEYW5uIHN0ZWxsIERpY2ggaGFsdCB3b2FuZGVycyBoaW4genVtIGxhYmVybiwgQ2hhb3RlbiB0dW4gbnVyIGlocmUgUGZsaWNodCB1bmQKd2FzIGdpYnQgZXMgYmVzc2VyZXMgYWxzIEVsZmVub2hyZW4gdW5kIFp3ZXJnZW5iYWVydGUgenUgc2FtbWVsbi4gPjotKQoKWm9ycm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTa3JpcHRlICYgQ28uIChZYXJlbiwgMTAuIE1hciAxOTk4LCAxMzo0NTo0NCk6Cn4jISBybj1Hd3lud2FpdGVyIHJ0PTg4OTUzMzExMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApEdSB3aXJzdCBkdXJjaCBlaW4gU2NyaXB0dmVyYm90IG5pY2h0IHZlcmhpbmRlcm4sIGRhc3MgbWFuY2hlIExldXRlIHdpZSB3aWxkCmFuIERpciB2b3JiZWlyZW5uZW4sIGdlcmFkZSB3ZW5uIGR1IGFuIGVpbmVyICdIYXVwdHZlcmtlaHJzc3RyYXNzZScgc3RlaHN0LiBJbQpFbGZlbmRvcmYsIHdlbm4gbWFuIGRhIHp1ciBHZWxkZ2V3aW5udW5nIGRpZSBHYXJkZXdhZWNodGVyIHBsYWV0dGV0LCBicmF1Y2h0Cm1hbiBrZWluIFNjcmlwdCwgc29uZGVybiBrYW5uIGRpZSBwYWFyIFNjaHJpdHRlIGF1Y2ggcGVyIEhhbmQgdGlwcGVuLiBVbmQgd2VubgpkYSBtZWhyZXJlIFNwaWVsZXIgbWV0emVsbiwgc2Nyb2xsdCBlcyB0cm90emRlbSAtIEFiaGlsZmU6IHN0ZWxsIERpY2ggenVtCmNoYXR0ZW4gYW4gZWluZW4gZWluc2FtZW4gT3J0LCBtYWNoZSBpY2ggYXVjaCBpbW1lciBzbyA6LSkKCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNrcmlwdGUgJiBDby4gKEd3eW53YWl0ZXIsIDEwLiBNYXIgMTk5OCwgMTQ6MzI6MTkpOgp+IyEgcm49QXJrIHJ0PTg4OTUzMzc4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApIaSBBcmssCgpTbyB3aWUgamVkZXIgU3BpZWxlciBzb2xsdGUgYXVjaCBqZWRlIE1hZ2llcmluIHNvIG1hY2hlbiBrb2VubmVuIHdpZSBzaWUgbWFnLgpLZWluZSBGcmFnZS4gCk1laW4gUHVua3QgZGFiZWkgd2FyLCBkYXNzIGluIG1laW5lciBBbmZhbmdzemVpdCAoc28gaW0gZXJzdGVuIGhhbGJlbiBKYWhyCm9kZXIgc28pIGRhcyBTeXN0ZW0gZGVyIEVyZmFocnVuZ3NwdW5rdGUgdW1nZXN0ZWxsdCB3dXJkZSB1bmQgZXMgbmljaHQgbnVyIEVQcwpicmF1Y2h0ZSwgdW0gTWFnaWVyIHp1IHdlcmRlbiAod2FzIGljaCBlaW5zdCBzY2huZWxsIHdlcmRlbiB3b2xsdGUsIHdlaWwgZXMKbWljaCB2b3IgYWxsZW0gaW50ZXJlc3NpZXJ0ZSwgc293YXMgc2VsYnN0IG1pdHp1Z2VzdGFsdGVuKSBzb25kZXJuIGF1Y2ggZGllCnNvZ2VuYW5udGVuIFBmbGljaHRxdWVzdHMuIFVuZCAiYXVzIGRpZXNlciBHcnVwcGUgendlaSIgd2VubiB2b24gZHJlaSBRdWVzdHMKendlaSBNZXR6ZWxxdWVzdHMgc2luZCBbMTA7MDs2NTUzNTszMjc2ODswOzA7NjM3MDc5Mzc1OzYwOTEwNHwgZmFuZCBpY2gKaGFsdC4uLiBiZWRhdWVybGljaC4KQW5kZXJzIGZvcm11bGllcnQgYWxzbzogSWNoIGZhZW5kZSBlcyBndXQsIHdlbm4gbWFuIG9obmUgTWV0emVsbiBNYWdpZXIgd2VyZGVuCmtvZW5udGUsIG1laW5ldHdlZ2VuIG1pdCBkb3BwZWx0c292aWVsIEZQIHVtIEVQLU1hbmdlbCBhdXN6dWdsZWljaGVuLgoKSWNoIGZhZW5kZSBlcyBuYXR1ZXJsaWNoIGF1Y2ggc2Nob2VuLCB3ZW5uIG1hbiBXb2xwaWVzIGJla29tbWVuIGtvZW5udGUKb2huZS4uLiBhYmVyIGRpZSBXbGV0IGlzdCBuaWNodCB2b2xsa29tbWVuLCB1bmQgd2lyIGF1Y2ggbmljaHQsIGFsc28gd2FzCnNvbGxzLi4uCgpMYWVjaGVsbmQsIGNoYXR0ZW5kLCBrbnVkZGVsbmQsCgpHd3luKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFNrcmlwdGUgJiBDby4gKEFyaywgMTAuIE1hciAxOTk4LCAxNDo0NDowNik6Cn4jISBybj1Hd3lud2FpdGVyIHJ0PTg4OTUzNjczOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApPaG5lIE1ldHplbG4gTWFnaWVyIHdlcmRlbj8gUmVpY2hsaWNoIGFtYml0aW9uaWVydCA6LSkKTmFqYSwgenVtIFRyb3N0OiBpY2ggaGFiIG5lIGxvdy1sZXZlbCwgbmljaHQtbWV0emVsIFF1ZXN0IGluIEFyYmVpdC4KV2llIHdhciBkYXMsIEJvaW5nOiB3ZXIgZWluIG5pY2h0IFF1ZXN0LU11ZCBzdWNodCwgbXVzcyBzaWNoCndvYW5kZXJzIHVtc2VoZW4/IE9kZXIgd2FyIGRhcyBhdWZzIE1ldHplbG4gYmV6b2dlbj8gKmdydWViZWwqCk5hLCBiZXZvciBpY2ggZmFsc2NoIHppdGllcmUgaGFsdCBpY2ggbGllYmVyIGRpZSBLbGFwcGUgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNrcmlwdGUgJiBDby4gKEhvYm8sIDEwLiBNYXIgMTk5OCwgMTQ6NDY6NTQpOgp+IyEgcm49QXJrIHJ0PTg4OTUzNzQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApadSBkZXIgWmVpdCwgYWxzIEd3eW53YWl0ZXIgZGFzIGVyc3RlIE1hbCBpbSBNRyB3YXIsIHdhciBlcyBkdXJjaGF1cyBtb2VnbGljaCwKTWFnaWVyIHp1IHdlcmRlbiBvaG5lIHp1c2FldHpsaWNoIHp1bSBRdWVzdC1tZXR6ZWxuIG1ldHplbG4genUgZ2VoZW4uCk9raSwgd2VubiBtYW4gZ2VuIEVuZGUgb2Z0IGdlc3RvcmJlbiBpc3Qgd2llIGljaCwgZGFubiBtdXNzdGUgbWFuIGhhbHQgZWluLAp6d2VpIG1hbCBkaWUgWndlcmdlbnN0YWR0IGxlcnIgbWFjaGVuLCBhYmVyIGRhcyB3YXIgamEgc2Nob24gZmFzdCBtZWhyIGVpbgpaZWl0dmVydHJlaWIgLSBkYW1hbHMsIHdpZSBnZXNhZ3QgOikKCiAgaG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNrcmlwdGUgJiBDby4gKEFyaywgMTAuIE1hciAxOTk4LCAxNToxOToyMyk6Cn4jISBybj1Ib2JvIHJ0PTg4OTUzNzYxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NApad2VyZ2Vuc3RhZWR0ZSBsZWVybWFjaGVuPz8/Pz8gQnJyciwgRnJldmVsLCBtYW4gbXVlc3N0ZSBzaWUgYWxsZQpiYW5pc2hlbiwgamF3b2xsIQpIZXJhdXNmb3JkZXJuZCB2b3IgZGVyIHJhZWNoZW5kZW4gWndlcmdlbmFybWVlIHN0ZWhlbmQsCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIHZlcnNjaHd1bmRlbmUgRmx1c3MgKFJlZG5vc2UsIDEwLiBNYXIgMTk5OCwgMTU6MjQ6MDApOgpFaW5lIEZyYWdlIGFtIFJhbmRlOiBJc3QgZGVyIER1bmtlbHdhc3NlciBlaWdlbnRsaWNoIGF1ZiBkZXIgU3RyZWNrZQpVZmVyc3RyYXNzZS1TdW1wZi1TdHJhbmQgdmVyZ2Vzc2VuIHdvcmRlbiA/IERlbm4gZWlnZW50bGljaCBzb2xsdGUgZXIKZG9jaCBtaXQgZGVtIE5hYmxhIHp1c2FtbWVuZmxpZXNzZW4sIHVuZCBkaWVzZXIgbGllZ3Qgc3VlZGxpY2ggZGVyIFN0cmVja2UuCgpWaWVsbGVpY2h0IGhhYmUgaWNoIGFiZXIgYXVjaCBudXIgZGllIFN1ZW1wZmUgbmljaHQgcmljaHRpZyB1bnRlcnN1Y2h0IDotKQoKLSBSZWRub3NlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU2tyaXB0ZSAmIENvLiAoS2V5LCAxMC4gTWFyIDE5OTgsIDE1OjM4OjIxKToKfiMhIHJuPUhvYm8gcnQ9ODg5NTM3NjE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0CkxhbmdzYW0gdmVya3JhbXBmdCBzaWNoIG1laW4gVHJvbW1lbGZlbGwsIGJ6dyBlaW4gQXVnZSA6KQpFcyBnaWJ0IG51ciB3ZW5pZ2UgUXVlc3RzIGluIGRlbmVuIG1hbiB3aXJrbGljaCBtZXR6ZWxuIG11c3MuClNlbGJzdCBiZWkgZGVuIHdlbmlnZW4ga2FubiBtYW4gc2ljaCBtZWlzdCBoZWxmZW4gbGFzc2VuLgpEaWUgRXBzZSBkaWUgbWFuIGZ1ZXIgU2VoZXIgYnJhdWNoIGJla29tbXQgbWFuIGR1cmNoIGRpZSBRdWVzdHMuCgpXbyB6dW0gVGV1ZmVsIGlzdCBkZW5uIGpldHp0IG5vY2ggZWluIHByb2Igd2VubiBtYW4gbmV0IG1ldHplbG4gd2lsbD8KCldvYmVpIGljaCBpbW1lcm5vY2ggZGFmdWVyIGJpbiBkYXMgbWFuIG1laHIgZXBzZSBicmF1Y2ggLi4uIHdhcyBiZWkgZGllc2VtCkZvcnNjaGVybWlzdCByYXVza29tbXQgc2llaHQgbWFuIGFuIGRlbiBoZXV0aWdlbiBXdXJzdHNlaGVybiwgYnp3IFNwaWVsZXJuLgpLbGVpbmUgRGVwcGVuIGRpZSBudXIgcnVtaGFlbmdlbiB1bmQgYWxsZXMgdW50ZXJzdWNoZW4sIHVuZCBkYWJlaSBhYnNvbHV0CmtlaW5lbiBEdXJjaGJsaWNrIGtyaWVnZW4gLi4uIAoKTmFqYSBudXIgbWVpbmUgTWVpbnVuZwoKS2V5LCBtZXR6ZWx0LCBzdGlyYnQsIHVuZCBoYXQgc2VpbmVuIFNwYXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNrcmlwdGUgJiBDby4gKFJlZG5vc2UsIDEwLiBNYXIgMTk5OCwgMTU6NTA6NDApOgp+IyEgcm49S2V5IHJ0PTg4OTU0MDcwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NAp+CktleSwgbGFzcyBkb2NoIGVpbmZhY2ggZGVuIEV4dHJlbWVuIEJsdWVtY2hlbnBmbHVlY2tlciB1bmQgTWV0emxlciBzb3dpZQphbGxlbiwgZGllIGRhendpc2NoZW4gbGllZ2VuLCBpaHJlIERhc2VpbnNiZXJlY2h0aWd1bmcuCgotIFJlZG5vc2UsIG1vbWVudGFuIG1hbCB3aWVkZXIgbWVociBCbHVlbWNoZW5wZmx1ZWNrZXIgYWxzIEthZW1wZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogU2tyaXB0ZSAmIENvLiAoRGFtaWVuLCAxMC4gTWFyIDE5OTgsIDE3OjQ2OjQxKToKfiMhIHJuPUFyayBydD04ODk1Mzc0NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKRWluZXIgZGVyIEdydW5kZSwgd2FydW0gbWVpbmUgQmx1ZW1jaGVucGZsdWVja2VyZ2lsZGUgenVyIFplaXQgaGFlbmd0IGlzdCwKZGFzIGljaCBuYWNoIGVpbmVyIE1vZWdsaWNoa2VpdCBzdWNoZSwgTW9uc3RlciBvaG5lIGRhcyB1ZWJsaWNoZSBLYWVtcGZlbiB6dQplcmxlZGlnZW4sIGRhIGRpZSBQZmxpY2h0cXVlc3RzIGltbWVyIG1laHIgd2VyZGVuIHVuZCBtYW4gYW4gaXJnZW5kZWluZXIKU3RlbGxlIGltbWVyIG1ldHplbG4gbXVzcy4uLgoKRGFtaWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoRGVlcGJsdWUsIDEwLiBNYXIgMTk5OCwgMTg6MTM6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4OTE3NzA0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApTaWNoZXIga2FubiBtYW4gZGFzcy4gQWJlciB3aWVzbyB3aWxsc3QgRHUgamVtYW5kIGV4cGxpeml0IHZlcmJpZXRlbiwgRmVhdHVyZXMKc2VpbmVyIFNXIHp1IHZlcndlbmRlbiwgZGllIGtlaW5lbiBhbmRlcmVuIFN0b2VyZW4/IElzdCBkb2NoIGhpZXIga2VpbgpXZXR0YmV3d2VyYiwgc29uZGVybiBqZWRlciBzcGllbHQgZnVlciBzaWNoIHNlaW4gU3BpZWwuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNrcmlwdGUgJiBDby4gKEFyaywgMTAuIE1hciAxOTk4LCAxOToxNDo1NSk6Cn4jISBybj1EYW1pZW4gcnQ9ODg5NTQ4NDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0CkljaCBkZW5rZSBtYWwsIGRhcyB0cmlmZnQgbmljaHQgbnVyIGZ1ZXIgZGllIFF1ZXN0cyB6dSwgc29uZGVybiBhdWNoIHpiCmF1ZiBadHMsIGJlaSBlaW5pZ2VuIGlzdCBkYXMgTWV0emVsbiBqYSBiZWthbm50ZXJ3ZWlzZSBUZWlsIGRlcyBGaW5kZW5zLgpWaWVsbGVpY2h0IGthbm4gbWFuIGRhcyBqYSBkdXJjaCBkZW4gbmFjaHRyYWVnbGljaGVuIEVpbmJhdSBlaW5lciBQcm9wZXJ0eQppbiBkZW4gU3RhbmRhcmQtTnBjIGJlc2VpdGlnZW4gKHNvd2FzIHdpZSBQX0ZMT1dFUlMgOi0pKSwgbWFsIGlucyBCbGF1ZQpnZXNjaG9zc2VuLCB3YXMgd2Vpc3MgaWNoLCBvYiBkYXMgZ2VodCAuLi4gSXMgaGFsdCB3aWUgaW1tZXIgc2Nod2llcmlnLApzb3dhcyBpbSBOYWNoaGluZWluIHp1IG1hY2hlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU2tyaXB0ZSAmIENvLiAoV3VyemVsLCAxMC4gTWFyIDE5OTgsIDIxOjQwOjA5KToKfiMhIHJuPUFyayBydD04ODk1MzM3ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKbmF0dWVybGljaCBpc3QgZXMgbmljaHQgdmVyYm90ZW4sIGluIHF1ZXN0cyBtZXR6ZWxuIHp1IGxhc3Nlbi4gYWJlciBpbW1lciBtaXQKYXVnZW5tYXNzLi4uIGluIGRlciBsaXN0ZSBzdGVodCBlaW4gbGV2ZWwsIGRlciBkYXp1IGF1c3JlaWNoZW4gc29sbHRlLiBkYXMKaXN0IGJlaSBkZW4gcGZsaWNodHF1ZXN0cyBob2VjaHN0ZW5zIGVpbmUgMTggYmlzaGVyLi4uIHVuZCBhYmVudGV1cmVyIHNvbGx0ZW4KZGFzIGF1Y2ggc2NoYWZmZW4ga29lbm5lbi4gZGFzIHNldHp0IG5hdHVlcmxpY2ggZ2V3aXNzZSBncmVuemVuIGZ1ZXIgZGllCm1ldHplbGFudGVpbGUgaW4gcXVlc3RzLCBkZW5uIGVpbmUgcXVlc3QsIGRpZSBudXIgZWluIGthZW1wZmVyIG1pdCBnaWxkZW5sZXZlbAo+MjAgc2NoYWZmdCwgZ2Vob2VydCBzaWNoZXIgbmljaHQgenUgZGVuIG9wdGlvbmVuIGZ1ZXIgZWluZSBwZmxpY2h0cXVlc3QuCndlbm4gbWFuIGRhcyBpbSBhdWdlIGJlaGFlbHQgKGRlciBlbSBzb2xsdGUgZGFzIG1pbmRlc3RlbnMgdHVuIDopLCBpc3QgZGFzCnVlYmVyaGF1cHQga2VpbiBwcm9ibGVtLCBhdWNoIG1hbCB3YXMgenUgbWV0emVsbiBkYWJlaS4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNrcmlwdGUsIFRyaWdnZXIgdW5kIGFuZGVyZSBUaWVyZSAoSGFyZGlsLCAxMS4gTWFyIDE5OTgsIDEzOjE5OjE2KToKfiMhIHJuPU1hZ251cyBydD04ODkxNzM1NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxNzM1NzIKCk1vZW5zY2gsCmhhYnQgaWhyIGVzIGltbWVyIG5vY2ggbmljaHQga2FwaWVydD8KRGEgc2NocmVpYnQgc2Nob24gZGFzIEJyYXRodWVobmNoZW4gSHJUIGVpbmVuIEFydGlrZWwsIG1hbiB3aXNzZSBuaWNodCBnZW5hdSwKd2VuIG1hbiB6d2Vja3MgdmVyYm90ZW5lciBTY3JpcHRlIHNub29wZW4gc29sbCwgdW5kIHRyb3R6ZGVtIGdlaGVuIGFsbGUKZGllamVuaWdlbiwgZGVuZW4gbWl0IGRlbSBTY3JpcHR2ZXJib3QgYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuIHd1cmRlLCBoaW4gdW5kCnNjaHJlaWJlbiBlaW5lbiBBcnRpa2VsIGluIApkaWUgbXBhLgpEYSBrYW5uIG1hbiBudXIgZ3JpbnNlbiB1ZG4gInNlbGJlciBzY2h1bGQiIHNhZ2VuLiA6LSkgV2VubiBGcmV1bmQgQnVjaApkYXJ1ZWJlciBmZXVocnQsIHdlciBoaWVyIGFsbGVzIEFydGlrZWwgZ2VzY2hyaWViZW4gaGF0LCB3aXJkIGVzIHNpY2hlcmxpY2gKYmFsZCBsZWVyZXIgaGllci4uLgoKLUhhcmRpbC4gVEYtSGFzc2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTa3JpcHRlLCBUcmlnZ2VyIHVuZCBhbmRlcmUgVGllcmUgKEhpZ2hsYW5kZXIsIDExLiBNYXIgMTk5OCwgMTM6Mjc6MDkpOgp+IyEgcm49SGFyZGlsIHJ0PTg4OTYxODc1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE3MzU3MgpOYWphLCBkYXp1IGthbm4gaWNoIG51ciBzYWdlbiAtIG1pdCBkZW0gcmljaHRpZ2VuIEtvZWRlciBmYW5ndCBtYW4gZGllCmdld3VlbnNjaHRlbiBGaXNjaGUgc2Nob24uLi4uIDo+CiAgICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2tyaXB0ZSwgVHJpZ2dlciB1bmQgYW5kZXJlIFRpZXJlIChZYXJlbiwgMTEuIE1hciAxOTk4LCAxMzoyODoyNik6Cn4jISBybj1IYXJkaWwgcnQ9ODg5NjE4NzU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTczNTcyCldlbm4gZGFzIHdpcmtsaWNoIHNvIHdhZXJlLCBoYWV0dGUgRnJldW5kIG5lIE1lbmdlIHp1IHR1biwgdW5kIGF1c3NlcmRlbSBnZWhlCmljaCBpbW1lciBub2NoIGRhdm9uIGF1cywgZGFzcyBuaWNodCBhbGxlIGhpZXIgaW0gTUcgYXVmCkJpZy1Ccm90aGVyLWlzLXdhdGNoaW5nLXlvdSBzdGVoZW4sIG9kZXIgZGllIE1hZ3MgYWxzIFN0YXNpIGFuc2VoZW4uIEljaCB0dWUKZGFzIGplZGVuZmFsbHMgbmljaHQuCgpZYXJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNrcmlwdGUgJiBDby4gKFphcm5peWEsIDExLiBNYXIgMTk5OCwgMTU6MDI6NDkpOgp+IyEgcm49RGFtaWVuIHJ0PTg4OTU0ODQwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTE5MjU0NAppY2ggaGFiIGF1Y2ggbGFuZ2UgdWViZXIgZWluZSBmb3JzY2hlcmdpbGRlIG5hY2hnZWRhY2h0IHVuZCBkaWUgd2FyIGRhbm4gYXVjaApzdXBlcm1hZWNodGlnLCBhYmVyIHNpZSBoYXR0ZSBlaW5lbiBOYWNodGVpbCwgZGVyIGhpZXIgYW0gc3lzdGVtIGRlcyBNdWRkZXMKbGllZ3QgdW5kIGRlbiBEYW1pZW4gYXVjaCBuaWNodCB3ZWcgbWFjaGVuIGtsYW5uLi4uIG1hbiBNVVNTIGhhbHQgbWV0emVsbiB1bmQKZGFzIHdhZXJlIGluIG1laW5lciBnaWxkZSBBQlNPTFVUIHZlcmJvdGVuIGdld2VzZW4uLi4gZGVzd2VnZW4gd2FyCkdydW5kdm9yYXVzc2V0enVuZyBmdWVyIGRpZSBHaWxkZSwgZGFzcyBtYW4gc2Nob24gU2VoZXIgaXN0IHVuZCBtaW5kLiBMZXZlbAo0MCwgYW5zb25zdGVuIGhhdHRlbiBkaWUgZmFzdCBNYWdpZXJtb2VnbGljaGtlaXRlbiwgd2FzIGRlbiBWb3J0ZWlsIGhhdCwgZGFzcwpuaWNodCBqZWRlciBEZXBwIG1laW50LCBlciBtdWVzc3RlIE1hZ2llciB3ZXJkZW4sIGRhbWl0IGVyIGVpbiBnb3RvIHVuZCBlaW4KZnJpZWRlbiBoYXQuLi4gCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogU2tyaXB0ZSAmIENvLiAoWm9ycm8sIDExLiBNYXIgMTk5OCwgMTg6MTk6NDgpOgp+IyEgcm49WmFybml5YSBydD04ODk2MjQ5Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKRWluZSBuZXR0ZSBad2VpdGllLUdpbGRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU2tyaXB0ZSAmIENvLiAoVHJhbmNlZmVhciwgMTEuIE1hciAxOTk4LCAxODoyNTo0Mik6Cn4jISBybj1EYW1pZW4gcnQ9ODg5NTQ4NDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTkyNTQ0CkdpYnRzIGhpZXIgamV0enQgUGZsaWNodHF1ZXN0cyA/IChpY2ggbWVpbmUsIHJlaW4gdGVjaG5pc2NoIGlzdCBkYXMgbGFuZ2UKc2Nob24gdm9yZ2VzZWhlbiwgYWJlciBiaXMgdm9yIGVpbmVtIGhhbGJlbiBKYWhyIG9kZXIgc28gZ2FicyBub2NoIGtlaW5lKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBTa3JpcHRlICYgQ28uIChEYW1pZW4sIDExLiBNYXIgMTk5OCwgMTg6Mjg6MDIpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODk2MzcxNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxOTI1NDQKRXMgZ2lidCBrZWluZSBxdWVzdCwgZGllIER1IGhhYmVuIG11c3N0IGZ1ZXIgZGFzIFNlaGVydHVtLCBhYmVyIHdlbm4gRHUgbnVyCjQgdm9uIDIwIGF1c3NjaGxpZXNzZW4gZGFyZnN0IGthbm5zdCBEdSBrYXVtIGFsbGUgTWV0emVscXVlc3RlbiB1bWdlaGVuLi4uClVuZCBlcyBpc3QgYXVjaCBzbywgZGFzcyBEdSB3ZW5uIER1IHNjaG9uIGxhZW5nc3QgYWxsZSBQdW5rdGUgZnVlcidzIFNlaGVydHVtCmhhc3Qgb2Z0IG5vY2ggaW4gZWluZXIgb2RlciB6d2VpIEdydXBwZW4gbm9jaCBlaW4gcGFhciBxdWVzdHMgYXVzc3RlaGVuLCBkaWUKRHUgZGFubiBudXIgd2VnZW4gZGVyIFBmbGljaHR6YWhsIG1hY2hzdC4uLgoKRGFtaWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsZWdhbGVzIHNrcmlwdD8gKFNtdXJmLCAxMS4gTWFyIDE5OTgsIDIxOjIwOjAxKToKfiMhIHJuPVNoYXJpYSBydD04ODkwNDA1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKSG1tLCBVbnRlcnN1Y2hlc2tyaXB0cy4uLiBNZWluIENsaWVudCBoYXQgYXVjaCBzb3dhcy4gTkVJTiwgZXIgdW50ZXJzdWNodApOSUNIVFMgYXV0b21hZ2lzY2gsIGFiZXIgZXIgbWVya3Qgc2ljaCBkaWUgZ3Jvc3NnZXNjaHJpZWJlbmVuIFdvZXJ0ZXIgdW5kCnNldHp0IGRhbm4gcHJvIE1hdXNrbGljayBlaW4gInVudGVyc3VjaGUgQkxBRkFTRUwiIGFiLiBJc3QgZGFzIGVpbiBTa3JpcHQ/CgpFaWdlbnRsaWNoIG5pY2h0IC0tIHBybyBCZWZlaGwgbXVzcyBpY2ggZWlubWFsIG1hdXNrbGlja2VuLiBLYW5uIGlyZ2VuZGplbWFuZCwKZGVyIG1pciBiZWltIE11ZGRlbiBhdWYgZGllIEZpbmdlciBndWNrdCwgZGFzIHdhcyBpY2ggbWFjaGUgdm9uIGVpbmVtIFVudGVyLQpzY3VoZXNrcmlwdCB1bnRlcnNjaGVpZGVuPyBOZWUsIG5pY2h0IGRpZSBCb2huZS4KCkVocmxpY2ggZ2VzYWd0IHNpbmQgZGllIFVudGVyc3VjaGVza3JpcHRlIHNvbGFuZ2Ugd2VydHZvbGwsIGJpcyBqZW1hbmQKYXVmIGRpZSBjb29sZSBJZGVlIGtvbW10LCBkaWUgU2FjaGVuIG1hbCBldHdhcyBhbmRlcnMgenUgdmVyc3RlY2tlbi4KQmVpc3BpZWxlIGRhZnVlciBnaWJ0IGVzIGdlbnVnICgicGxhbnNjaGUgbmFibGEiIGlzdCBub2NoIGRhcwpsZWljaHRlc3RlKS4KClNtdXJmLCBkZXIgZGFzIFRlaWwgbmljaHQgYXVzIEJlcXVlbWxpY2hrZWl0IGdlc2NocmllYmVuIGhhdCwgc29uZGVybgp3ZWlsIGVyIHNpY2ggc29uc3QgaG9mZm51bmdzbG9zIHZlcmZyYW5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxlZ2FsZXMgc2tyaXB0PyAoVHJhbmNlZmVhciwgMTEuIE1hciAxOTk4LCAyMToyMjozMCk6Cn4jISBybj1TbXVyZiBydD04ODk2NDc2MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKRGEgZXMgTGV1dGUgZ2lidCBkaWUgb2huZSBzb3dhcyBhdXNrb21tZW4gbXVlc3NlbiBnZWhvZXJ0IGVzICh2ZXJtdXRsaWNoKSBpbgpkZW4gQmVyZWljaCBkZXIgdmVyYm90ZW5lbiBTY3JpcHRlOyBEdSBoYXN0IGRhZHVyY2ggZWluZW4gVm9ydGVpbCB2b3IKZGVuamVuaWdlbiBkaWUgZGFzIG5pY2h0IGtvZW5uZW4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbGVnYWxlcyBza3JpcHQ/IChEaG9qYWt0LCAxMS4gTWFyIDE5OTgsIDIxOjI5OjE3KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg5NjQ3NzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkRhbm4gc29sbGVuIGRpZSBMZXV0ZSBzaWNoIGhhbHQgbmVuIG9yZGVudGxpY2hlbiBBY2NvdW50LCBuZW4gb3JkZW50bGljaGVuCj5DbGllbnQgYmVzY2hhZmZlbiB1bmQgZGllIDIgSmFocmUgaW52ZXN0aWVyZW4sIHVtIG9yZGVudGxpY2ggcHJvZ3JhbW1pZXJlbiB6dQpsZXJuZW4uCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGxlZ2FsZXMgc2tyaXB0PyAoVHJhbmNlZmVhciwgMTEuIE1hciAxOTk4LCAyMTozMDoyOCk6Cn4jISBybj1EaG9qYWt0IHJ0PTg4OTY0ODE1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpEYXMga2FubiBoYWx0IG5pY2h0IGplZGVyLCB1bmQgZGFydW0gb3JpZW50aWVyZW4gd2lyIHVucyBhbSBhYnNvbHV0ZW4gTWluaW11bSwKc3ByaWNoIHRlbG5ldC4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBsZWdhbGVzIHNrcmlwdD8gKEhvb2QsIDExLiBNYXIgMTk5OCwgMjE6MzM6NTcpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODk2NDgyMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKd2VubiB3aXIgYWxsZSBzbyBkZW5rZW4sIHdhZXJlbiB3aXIgaGV1dGUgbm9jaCBtaXQgdW5zZXJlciBrbGVpbmVuCmNwL20tc2hlbGwgenVmcmllZGVuLiBpY2ggZmluZGUsIHdlciBkaWUgemVpdCBpbnZlc3RpZXJ0LCB1bSBzaWNoIG1pdApiZXNzZXJlbiBtdWQtY2xpZW50cyBhbHMgZWluZW0gcHVyZW4gdGVsbmV0IGFuenVmcmV1bmRlbiwgZGVyIHNvbGwgZXMKc2ljaCBhdWNoIGV0d2FzIGJlcXVlbWVyIG1hY2hlbiBkdWVyZmVuLCBlcyBnZWhvZXJ0IGZ1ZXIgbWljaCBzY2hvbgp6dW0gc3BpZWx2ZXJnbnVlZ2VuLCB3aWUgc2ljaCBkYXMgbXVkIG1pciBnZWdlbnVlYmVyIHByYWVzZW50aWVydCwgaW0KYXVzc2VoZW4sIHVlYmVyc2ljaHRsaWNoa2VpdCBhbHMgYXVjaCBudXR6ZXJmcmV1bmRsaWNoa2VpdC4gd2VubiBpY2ggZGFzCmltIGVybGF1YnRlbiByYWhtZW4gcG9zaXRpdiB1bnRlcnN0dWV0emVuIGthbm4sIGRhbm4gbW9lY2h0ZSBpY2ggZGFzCmF1Y2ggdHVuLiBtaXQgZWluZW0gcmVpbmVuIHRlbG5ldCBqZWRlbmZhbGxzIHdpcnN0IGR1IG1pY2gga2VpbmUKNSBtaW51dGVuIGluIGVpbmVtIG11ZCBmaW5kZW4sIGF1dWNoIG5pY2h0IHp1bSBxdWF0c2NoZW4uIGJlcmVpdHMgbWVpbmUKZmFyYnRyaWdnZXIgc2luZCBtaXIgaGVpbGlnIHVuZCBpY2ggd3VlcmRlIHNpZSBmdWVyY2h0ZXJsaWNoIG1pc3Nlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGxlZ2FsZXMgc2tyaXB0PyAoRGhvamFrdCwgMTEuIE1hciAxOTk4LCAyMTozNjowOCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4OTY0ODIyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpEYW5uIGlzc2VzIGhhbHQgaWhyIFByb2JsZW0uCktoaWRhciwgaGV1dCBtYWwgZWluemVpbGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbGVnYWxlcyBza3JpcHQ/IChMYXZpbmlhLCAxMS4gTWFyIDE5OTgsIDIxOjM3OjAxKToKfiMhIHJuPURob2pha3QgcnQ9ODg5NjQ4MTU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkZpbmRlc3QgRHUgZGFzIG5pY2h0IGVpbiBrbGVpbiBiaXNzY2hlbiBhcnJvZ2FudD8KRXMgZ2lidCBhdWNoIExldXRlLCBkaWUga2VpbmVuICJvcmRlbnRsaWNoZW4gQWNjb3VudCIgaGFiZW4sIGtlaW5lbiBDbGllbnQKaGFiZW4gdW5kIGVyc3QgcmVjaHQga2VpbmUgendlaSBKYWhyZSBaZWl0LiBJY2gga2FubiBuaWNodCBwcm9ncmFtbWllcmVuIHVuZApoYWJlIGF1Y2gga2VpbmUgTHVzdCBkYXMgenUgbGVybmVuLCBhYmVyIGljaCBtb2VjaHRlIHRyb3R6ZGVtIG1hbmNobWFsIGhpZXIKc3BpZWxlbiB1bmQgZGFzIGF1Y2ggaW4gWnVrdW5mdCBub2NoIGtvZW5uZW4uCldpbGxzdCBEdSBtaXIgZGFzIHZlcmJpZXRlbj8KCkxhdmluaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGxlZ2FsZXMgc2tyaXB0PyAoU3RpbmcsIDExLiBNYXIgMTk5OCwgMjE6Mzc6MjkpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODk2NDgyMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKSWNoIHNjaGFldHplIG1hbCwgZGllIE1laHJoZWl0IGRlciBfc3BpZWxlbmRlbl8gTGV1dGUgaGllciwgYmVudXR6dAppcmdlbmRlaW5lbiBDbGllbnQuLi4gVW5kIGRlc2hhbGIga2FubiBtYW4gbmljaHQgX2ltbWVyXyBhdWYgZGllamVuaWdlbgpSdWVja3NpY2h0IG5laG1lbiwgZGllIG5vY2ggbWl0IHRlbG5ldCBhcmJlaXRlbiwgc29ycnksIGFiZXIgZGFzIGlzdCBtZWluZQpNZWludW5nLgoKClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBsZWdhbGVzIHNrcmlwdD8gKFRyYW5jZWZlYXIsIDExLiBNYXIgMTk5OCwgMjE6Mzc6MzcpOgp+IyEgcm49SG9vZCBydD04ODk2NDg0Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKTnVuamEgKmljaCogaGFiZSBkaWUgU2NyaXB0cmVnZWxuIGhpZXIgbmljaHQgZ2VtYWNodC4uLiBkYXMgd2FyIGxlZGlnbGljaCBuZQpBdXNsZWd1bmcuIFNvd2l0IG1pciBiZWthbm50IGlzdCwgc2luZCBGYXJidHJpZ2dlciBqYSBkdXJjaGF1cyBlcmxhdWJ0LCBhYmVyCndvcyBkYWhpbiBnZWh0LCBkYXMgQWJsYWV1ZmUgdmVya3Vlcnp0IHdlcmRlbiAoU2NyaXB0ZGVmaW5pdGlvbjogZWluIFNjcmlwdAp2ZXJrdWVyenQgQWJsYWV1ZmUpLCBoYXN0IGR1IGVpbmVuIGVpbmRldXRpZ2VuIFZvcnRlaWwgZ2VnZW51ZWJlciB0ZWxuZXR0ZXJuLgoKdGYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBsZWdhbGVzIHNrcmlwdD8gKERob2pha3QsIDExLiBNYXIgMTk5OCwgMjE6Mzg6NDQpOgp+IyEgcm49TGF2aW5pYSBydD04ODk2NDg2MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKS2VpbmVyIHZlcmJpZXRldCBEaXIgZGFzIFNwaWVsZW4gaGllci4gQWJlciBpY2ggc2VoIGF1Y2gga2VpbmVuIEdydW5kLCBIaWxmZW4sCmRpZSBpY2ggbWlyIHNlbGJzdCBnZXNjaHJpZWJlbiBoYWIgdW5kIGRpZSBuaWNodCBtYWwgdW50ZXJzIFNjcmlwdHZlcmJvdApmYWxsZW4sIHZlcmJpZXRlbiB6dSB3b2xsZW4uCkRhcyBCZXN0ZSB3YWVycywga2VpbmUgRlAgZnVlciB1bnQgenUgdmVyZ2ViZW4sIGRhbm4gaG9lcnQgZGFzIEdlcGxhZXJyZSBpbgpkaWVzZXIgUmljaHR1bmcgd2VuaWdzdGVucyBhdWYuCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKFNtdXJmLCAxMS4gTWFyIDE5OTgsIDIxOjM5OjIyKToKfiMhIHJuPVlhcmVuIHJ0PTg4OTE3OTA5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTEzMzExMApEYXMgcHJvZ3JhbW10ZWNobmlzaGUgVmVyaGluZGVybiBpc3QgcG9wZWxlaW5mYWNoLiBEdSBzYWdzdCBkZW0gR2FtZWRyaXZlcgplaW5mYWNoLCBlciBzb2xsIGFsbGUgRGF0ZW4gdm9tIFNwaWVsZXIsIGRpZSBkZXIgdm9yIGRlciBBdXNnYWJlIGRlcyBQcm9tcHRzCnNjaG9ubWFsIHZvcmdldGlwcGVydCBoYXQsIHdlZ3dlcmZlbi4KCk51ciBsZWlkZXIgcmVkdXppZXJzdCBkdSBkYW1pdCBkaWUgWmFobCAibWl0IHdlbGNoZW0gTGFnIGthbm4gaWNoIG5vY2gKZWluaWdlcm1hbm9jaGVuIG1ldHplbG4iIGF1ZiBlaW4gVmllcnRlbCBvZGVyIHNvLiBOaWNodCBpbSBTaW5uZSBkZXMKRXJmaW5kZXJzLgoKSWNoIHdlaXNzIGRhcywgd2VpbCBpY2ggaW4gbWVpbmVtIENsaWVudCBzb3dpZXNvIHBlciBEZWZhdWx0IGF1ZiBkYXMgTXVkLQpwcm9tcHQgd2FydGUsIGRhbWl0IGljaCBiZWltIEthcnRlbm1hbGVuIGV0Yy4gbmljaHQgZHVyY2hlaW5hbmRlcmtvbW1lLgoKWnVydWVjayB6dW0gR3J1bmRwcm9ibGVtLiBEYXMgR3J1bmRwcm9ibGVtIGlzdCBpbiBtZWluZW4gQXVnZW4sIGRhc3MgamVtYW5kCm1pdCBTa3JpcHQgamVtYW5kIGFuZGVycyBvaG5lIFNrcmlwdCB3ZWdlbiBkZXIgU2tyaXB0ZXJlaSB1bSBkZW4gU3BpZWwtCnNwYXNzIGJyaW5ndC4gV2VubiBpY2ggekIgYXVmIGRlciBLcmV1enVuZyB2b3IgZGVyIEtuZWlwZSBzdGVoZSB1bmQgYWxsZQpkcmVpIFNla3VuZGVuIGphZ3QgU3BpZWxlciBYWFggaW4gZGFzIFRlaWwgcmVpbiB1bmQgd2llZGVyIHJhdXMsIGRhbm4KZ2VodCBtaXIgZGFzIHp1bSBlaW5lbiBhdWYgZGVuIEtla3MsIHp1bSBhbmRlcmVuIGZpbmQgaWNoIGRhc3MgZGFzIGhpZXIKZWluIE11ZCBpc3QgdW5kIGJlaSBzb2xjaGVuIEFrdGlvbmVuIGRhcyBNIGlyZ2VuZHdpZSB6dSBrdXJ6IGtvbW10LAppY2gga2FubiBkZW4gamEgbmljaHQgbWFsIGZyYWdlbiB3aWVzbyBlciBzbyBydW1yZW5udCwgc28gd2llIGRhcyBiZWkKaWhtICh1bmQgbWlyKSBpbiBkZXIgR2VnZW5kIHJ1bXNjcm9sbHQuLi4KCk1laW5lciBNZWludW5nIG5hY2ggaXN0IGRhcyAob2RlciBlYmVuIGRhcyBnZXNjcmlwdGV0ZSBXZWdwcnVlZ2VsbiB2b24KTW9uc3Rlcm4gMzAgU2VrdW5kZW4gbmFjaCBNRy1SZXN0YXJ0IHVuZC9vZGVyIFJhdW0tUmVzZXQpIGRhcyBlaWdlbnRsaWNoZQpQcm9ibGVtIHZvbiBTa3JpcHRzLgoKR2VnZW4gVHJpZ2dlciBhbiBzaWNoIGhhYiBpY2ggbmljaHRzLCBudXIgZ2VnZW4gZGllLCBkaWUgc2ljaCBnZWdlbiBTcGllbGVyCnJpY2h0ZW4gKHpCICJmYWVsbHQgdG90IHp1IGJvZGVuIiA9PiAibmltbSBhbGxlcyBhdXMgbGVpY2hlLCBuaWNodCBhYmVyCiJBdXNnYW5nIG5hY2ggUyBmZWhsdCIgPT4gIm9lZmZuZSB0dWVyIikuCgpTbXVyZiwgZGVyIHNpY2ggbGFuZ3NhbSBmcmFndCwgb2IgbWFuIG5pY2h0IGVpbmUgTk5UUC1TY2huaXR0c3RlbGxlCmZ1ZXJzIE11ZCBwcm9ncmFtbWllcmVuIGtvZW5udGUsIGRhbm4ga29lbm50ZSBtYW4gZGllIFplaXR1bmcKd2VuaWdzdGVucyB2ZXJudWVuZnRpZyBsZXNlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGxlZ2FsZXMgc2tyaXB0PyAoU3RpbmcsIDExLiBNYXIgMTk5OCwgMjE6Mzk6MzIpOgp+IyEgcm49RGhvamFrdCBydD04ODk2NDg3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKV0FISEgsIGljaCBiaW4gamEgc2NobGllc3NsaWNoIGF1Y2ggbm9jaCBGb3JzY2hlciA6KQoKClN0aW5nIHNhZ3Q6IExhc3N0IGRpZSBGUHMgaW4gUnVoZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoR25vbWUsIDExLiBNYXIgMTk5OCwgMjE6NTg6MTgpOgp+IyEgcm49U211cmYgcnQ9ODg5NjQ4NzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTMzMTEwCmZlaGxlbmRlIHRvbGVyYW56IGlzdCBlaW5lcyBkZXIgaGF1cHRwcm9ibGVtZSBoaWVyLi4uCgoiLi4uZ2VodCBtaXIgZGFzIHp1bSBlaW5lbiBhdWYgZGVuIEtla3MsIHp1bSBhbmRlcmVuIGZpbmQgaWNoLi4uIgoKZGFubiBzdGVsbCBkaWNoIG5lbiByYXVtIHdlaXRlciB1bmQgc2Nob24gaGFzdCBkdSBydWhlIHZvciBkZW0gc2NyaXB0ZXIuCgpnbk9tZSwgaGV1dGUgbWFsIHByb2JsZW1sb2VzZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBsZWdhbGVzIHNrcmlwdD8gKERob2pha3QsIDExLiBNYXIgMTk5OCwgMjI6MDI6MTIpOgp+IyEgcm49RGhvamFrdCBydD04ODk2NDg3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKQWNoamEsIG51ciB6dW0gUHJvYmxlbXVtZmFuZzogaWNoIHNjaGFldHplIGF1cyBtZWluZW4gVW50ZXJoYWx0dW5nZW4sIGRhc3MKaGllciBldHdhIDMwLTQwIExldXRlIGRlciBUb3AgMTAwIHNvbGNoIGVpbmUgVW50ZXJzdWNoZWhpbGZlIGhhYmVuLiBOdXIgc28gYWxzCkFubWVya3VuZy4KS2hpZGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbGVnYWxlcyBza3JpcHQ/IChTdGluZywgMTEuIE1hciAxOTk4LCAyMjowMjo0NSk6Cn4jISBybj1EaG9qYWt0IHJ0PTg4OTY1MDEzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpJY2ggbmljaHQuIDopCgpTdGluZywgbm9jaCBhbGxlcyB2b24gSGFuZCBlaW50aXBwZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbGVnYWxlcyBza3JpcHQ/IChUcmFuY2VmZWFyLCAxMS4gTWFyIDE5OTgsIDIyOjAzOjE5KToKfiMhIHJuPURob2pha3QgcnQ9ODg5NjUwMTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2ClVuZCBpY2ggc2NoYWV0emUsIG9obmUgZGllc2UgdW5kIGFuZGVyZSAiSGlsZmVzIiB3YWVyZW4gc2llIGdhciBuaWNodCBkYSwgd28Kc2llIGpldHp0IHNpbmQuLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBsZWdhbGVzIHNrcmlwdD8gKFN0aW5nLCAxMS4gTWFyIDE5OTgsIDIyOjA0OjEyKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg5NjUwMTk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkVzIGdlaHQgYXVjaCBvaG5lIGRpZXNlIEhpbGZlbiwgVHJhbmNlZmVhci4uLiBXaWUgZ2VzYWd0LCBpY2ggYmVudXR6IHNvd2FzCm5pY2h0IHVuZCBrb21tIHRyb3R6ZGVtIHJlbGF0aXYgZ3V0IGtsYXIuCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGxlZ2FsZXMgc2tyaXB0PyAoTGF2aW5pYSwgMTEuIE1hciAxOTk4LCAyMjoxMToxNCk6Cn4jISBybj1TdGluZyBydD04ODk2NTAyNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKRXMgZ2VodCB3aXJrbGljaCBhdWNoIG9obmUuIEljaCBicmF1Y2hlIHZpZWxsZWljaHQgZXR3YXMgbGFlbmdlciBhbHMgYW5kZXJlLAphYmVyIGljaCBiaW4gZWhlciB6dW0gVmVyZ251ZWdlbiBhbHMgenVyIEFyYmVpdCBoaWVyLiBVbmQgZ2FueiBiZXN0aW1tdCB3aWxsCmljaCBtaWNoIG5pY2h0IHVudGVyIERydWNrIHNldHplbiBsYXNzZW4sIGlyZ2VuZHdlbGNoZSBSZWtvcmRlIHp1IGJyZWNoZW4uCgpEYXNzIGljaCBuaWNodCB2aWVsIHdlaXRlciB2b3JuZSBpbiBkZXIgTGlzdGUgYmluLCBsaWVndCBlaGVyIGRhcmFuLCBkYXNzCmljaCBiZWkgZGVuIEFiZW50ZXVyZXJuIGJpbiB1bmQgbmljaHQgYW4gZmVobGVuZGVuIFVudGVyc3VjaGVza3JpcHRlbi4KCkxhdmluaWEgc2FndDogQWJlbnRldXJlciBhdWZ3ZXJ0ZW4hIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGxlZ2FsZXMgc2tyaXB0PyAoUmluZ29yLCAxMS4gTWFyIDE5OTgsIDIyOjExOjIwKToKfiMhIHJuPVN0aW5nIHJ0PTg4OTY1MDI1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpKYSwgZXMgZ2VodCBhdWNoIG9obmUuIEFsbGVyZGluZ3MgbGllc3QgbWFuIGRhbm4gZGllIEJlc2NocmVpYnVuZyBlaW5lcyBSYXVtZXMKZHVyY2hhdXMgemVobiBiaXMgendhbnppZyBNYWwsIGJpcyBtYW4gYWxsZSBEZXRhaWxzIGhhdC4gWnVtaW5kZXN0LCB3ZW5uIG1hbgppbiBlaW5lciBhZWhubGljaCBndXQgYmVzY2hyaWViZW5lbiBHZWdlbmQgd2llIGJlaSBUb2V0ZXIgc3RlaHQgdW5kIGVpbgphZWhubGljaCBzY2hsZWNodGVzIEdlZGFlY2h0bmlzIGhhdCB3aWUgaWNoLgoKVW5kIGViZW4gYXVzIGRlbSBHcnVuZCwgd2VpbCBpY2ggbGVpZGVyIGltbWVyIG9lZnRlciBkaWUgc2Nob2Vuc3RlbiBEZXRhaWxzCnVlYmVyc2VoZSwgaGFiZSBpY2ggdm9yLCBtaXIgZWluZSBBcnQgZWxla3Ryb25pc2NoZW4gTm90aXp6ZXR0ZWwgenUgYmFzdGVsbi4KCldpZSBnZXNhZ3QgLSBtYW4ga29tbXQgYXVjaCBnYW56IG9obmUgc2VociB3ZWl0IHVuZCBrYW5uIHZpZWwgU3Bhc3MgaGFiZW4uCkFiZXIgbWl0IGthbm4gbWFuIG5vY2ggdmllbCBtZWhyIFNwYXNzIGFuIHNvbGNoZW4gR2VnZW5kZW4gaGFiZW4uCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBsZWdhbGVzIHNrcmlwdD8gKFRoZXJpbiwgMTEuIE1hciAxOTk4LCAyMjoxNzowOCk6Cn4jISBybj1MYXZpbmlhIHJ0PTg4OTY1MDY3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0Ngo+IERhc3MgaWNoIG5pY2h0IHZpZWwgd2VpdGVyIHZvcm5lIGluIGRlciBMaXN0ZSBiaW4sIGxpZWd0IGVoZXIgZGFyYW4sIGRhc3MKaWNoIGJlaSBkZW4gQWJlbnRldXJlcm4gYmluIHVuZCBuaWNodCBhbiBmZWhsZW5kZW4gVW50ZXJzdWNoZXNrcmlwdGVuLgoKQmVpIG1pciBsaWVndCBlcyB3b2hsIGFuIGVpbmVyIEtvbWJpbmF0aW9uIHZvbiBmZWhsZW5kZW4gVW50ZXJzdWNoZXNjcmlwdGVuLApnZXBhYXJ0IG1pdCBmZWhsZW5kZW0gVW50ZXJzdWNoZSA6LSkKCkFsbGVyZGluZ3MgbXVzcyBpY2ggenVnZWJlbiwgd3VlcmRlIG1laW4gQ2xpZW50IGVpbmUgZGVyYXJ0IGF1ZndlbmRpZ2UKU2NyaXB0cHJvZ3JhbW1pZXJ1bmcgenVsYXNzZW4sIHdhZXJlIGljaCB2ZXJzdWNodCBnZXdlc2VuLCBzb3dhcyB6dQppbXBsZW1lbnRpZXJlbi4gQWxsZXJkaW5ncywgZ2VodCBtaXIgZGllIEZQLSJKYWdkIiBpbnp3aXNjaGVuIGFtIHZlcmxhZW5nZXJ0ZW4KUnVlY2tlbiB2b3JiZWkgOikKClQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBsZWdhbGVzIHNrcmlwdD8gKEhhbmdvdmVyLCAxMS4gTWFyIDE5OTgsIDIyOjQzOjI0KToKfiMhIHJuPURob2pha3QgcnQ9ODg5NjUwMTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2Ck5hamEuLi4KTWFuIGthbm4gamV0enQgc2FnZW46IHdlbm4gc2llcyBub2V0aWcgaGFiZW4uLi5pY2ggZnVlciBtZWluIFRlaWwKaGFiIHNvd2FzIG5pY2h0LCB1bmQgbGViZSB0cm90emRlbSBub2NoLiAKCi1IYW5nb3ZlcgooV3Vyc3RzZWhlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBsZWdhbGVzIHNrcmlwdD8gKFNoYXJpYSwgMTEuIE1hciAxOTk4LCAyMzowMDozMik6Cn4jISBybj1SaW5nb3IgcnQ9ODg5NjUwNjgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2ClJpbmdvciBzY2hyZWlidDogIi4uLmFlaG5saWNoIHNjaGxlY2h0ZXMgR2VkYWVjaHRuaXMgaGF0IHdpZSBpY2guIgogCgpuYWphIHdhcyBzb2xsIG1hbiBkYSBzY2hvbiB6dSBzYWdlbiBSaW5nb3IgPyA6LSkpKSBaV0VSR0UgaGFsdCAhISEKCkFiZXIgbWFsIGVybnN0aGFmdC4KSWNoIGhhYmUgZWluIHVudGVyc3VjaGVzY3JpcHQgZWlubWFsIGdlaGFidCB1bmQgdGF0c2FlY2hsaWNoIGVpbmdlc2V0enQgdW5kCnp3YXIgaW0gQUwgOikgKGdlbGxlIE11cGZlbCB3ZWlzc3QgRHUgbm9jaCB3aWUgZHUgbWljaCBzbm9vcHRlc3QgPyA6LSkgKQp0amEgYWJlciBkYSBkaWVzZXMgVGVpbCBsZWlkZXIgemllbWxpY2ggdW5hdXNnZXJlaWZ0IHdhciB1bmQgZGFzIHVudGVyc3VjaGVuCnBlciBTY3JpcHQgc2NocmVja2xpY2ggbGFuZ3dlaWxpZyBpc3QgaGFiIGljaHMgZGFubiB2ZXJuaWNodGV0IC4uLiB3dWVyZGUgaWNoCmplZGVtIGFuZGVyZW4gYXVjaCBlbXBmZWhsZW4gZGVyIHNvd2FzIGJlc2l0enQgISEhCkljaCB1bnRlcnN1Y2hlIGFsc28gdm9uIEhhbmQgdW5kIGF1Y2ggbmljaHQgc29uZGVybGljaCBlZmZla3RpdiAod2VycyBtaXIgbmljaApnbGF1YnQgc29sbHRlIHNpY2ggbWFsIGFuc2NoYXVlbiB3aWV2aWVsIGZwIGljaCBoYWIgaW0gdmVyZ2xlaWNoIG1pdCBhbmRlcmVuCmluIGRlbSBMZXZlbCA6LSkpICkKClNoYXJpYSBnZWdlbiBVbnRlcnN1Y2hlc2NyaXB0cyBhYmVyIEZVRVIgZGllIG1laXN0ZW4gYW5kZXJlbiBTY3JpcHRzIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbGVnYWxlcyBza3JpcHQ/IChIYWRyYSwgMTIuIE1hciAxOTk4LCAwMTowNzo0Myk6Cn4jISBybj1TbXVyZiBydD04ODk2NDc2MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKd2FzIHNvbGwgZGllc2VyIGFydGlrZWw/Cgp3aWUgd2FlcnMsIHdlbm4gZHUgbWFsIGRlaW4gZ2VoaXJuIGVpbnNjaGFsdGVuLCBpaG0gZWluIHdlbmlnIGlucHV0IHVuZAplaW5lIGFuZ2VtZXNzZW5lIHZlcmFyYmVpdHVuZ3N6ZWl0IGdvZW5uZW4gd3VlcmRlc3Q/Cgp2aWVsbGVpY2h0IGZhZWxsdCBkaXIgZGFubiBnYW56IG5lYmVuYmVpIGVpbiwgZGFzcyBpbW1lciBzdHJlbmdlcmUgcmVnZWxuCm51ciBub3R3ZW5kaWcgd2VyZGVuLCB3ZWlsIGltbWVyIGlyZ2VuZGVpbiBvYmVyc2NobGF1bWVpZXIgbWVpbnQsIGVyIG11ZXNzZQptYWwgd2llZGVyIHZlcnN1Y2hlbiBlaW4gd2VuaWcgYW4gZGVuIGdyZW56ZW4gZGVyIGRlcnplaXRpZyBmb3JtdWxpZXJ0ZW4KcmVnZWxuIGtyYXR6ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoWWFyZW4sIDEyLiBNYXIgMTk5OCwgMDE6MTg6MjIpOgp+IyEgcm49U211cmYgcnQ9ODg5NjQ4NzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTMzMTEwCkZpbmRldCBpaHIgbmljaHQgbWFsIGxhbmdzYW0gZGFzICdCZWxhZXN0aWd1bmdzJy1Bcmd1bWVudCBldHdhcyB1ZWJlcnRyaWViZW4/CkdhYiBlcyBkYSBuaWNodCBBYmhpbGZlPyAqd3VlaGwqIGFjaCBqYTogaWNoIGthbm4gZGVuIFN0b2VyZW5mcmllZCBpZ25vcmllcmVuIQpKZXNzZXMhIEpldHp0IG1hbCBpbSBFcm5zdDogZGFzIFNjcm9sbGFyZ3VtZW50IHppZWh0IGZpbmRlIGljaCBuaWNodCBmdWVyIGVpbgpTY3JpcHR2ZXJib3QuIFdlbm4gbWFuIHVuZ2VzdG9lcnQgc2VpbiB3aWxsLCBrYW5uIG1hbiBkYXMgc2VsYnN0IGVycmVpY2hlbi4KU3RlbGxzdCBkdSBEaWNoIGltIFJMIHZvciBuZW4gRGlzY28tRWluZ2FuZywgd2VubiBEdSBEaWNoIHVudGVyaGFsdGVuIHdpbGxzdD8KRGFzIHp3ZWl0ZSBBcmd1bWVudCAoc29ycnksIGRhc3MgaWNoIGRhcyBoaWVyIGFscyBSZXBseSBhdWYgRGVpbmVuIEFydGlrZWwKZ2VtYWNodCBoYWJlLCBTbXVyZiAuLi4pIGlzdCBpbW1lciB3aWVkZXIgZGllICdVbmdlcmVjaHRpZ2tlaXQnIGdlZ2VudWViZXIgZGVuClRlbG5ldHNwaWVsZXJuLiBXZW5uIG1hbiBwcm9ncmFtbWllcnRlY2huaXNjaCBTY3JpcHRlIHZlcmhpbmRlcnQsIHdlcmRlbiBkaWVzZQphdWNoIGF1ZiBqZWRlbiBGYWxsIGJlbmFjaHRlaWxpZ3QgdW5kIGRlc3dlaXRlcmVuIGlzdCBlcyB2aWVsbGVpY2h0IHVuZmFpciwKbmljaHQgYXVmIGRhcyBzY2h3YWVjaHN0ZSBHbGllZCBkZXIgS2V0dGUgenUgYWNodGVuLCBhYmVyIGJlaSB2aWVsZW4gYW5kZXJlbgpBc3Bla3RlbiBoaWVyIGltIE11ZCBpc3QgZGFzIGtlaW4gVGhlbWEuIEFjaHR1bmc6IHdpciBkdWVyZmVuIGRpZSBRdWVzdHMgbnVyCm5vY2ggc28gZWluZmFjaCBtYWNoZW4sIGRhc3MgYXVjaCBkaWUgTXVkZGVyIG1pdCBJUSAzMCBkaWUgbm9jaCBzY2hhZmZlbiwgd2VpbApkaWUgZGFzIHNjaHdhZWNoc3RlIEdsaWVkIGluIGRlciBLZXR0ZSBzaW5kLiBBbHNvIHdpcmtsaWNoLgoKWWFyZW4uIE11c3N0ZSBoaWVyIGF1Y2ggbWFsIGZsYW1lbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxlZ2FsZXMgc2tyaXB0PyAoVGVkZHksIDEyLiBNYXIgMTk5OCwgMDE6Mjk6MDgpOgp+IyEgcm49U211cmYgcnQ9ODg5NjQ3NjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkR1IGhhc3Qga2VpbiBTY3JpcHQgc29uZGVybiBlaW5lbiB0cmlnZ2VyLCB1ZWJyaWdlbnMgYXVjaCB2ZXJib3Rlbi4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBsZWdhbGVzIHNrcmlwdD8gKFNtdXJmLCAxMi4gTWFyIDE5OTgsIDAxOjM4OjEyKToKfiMhIHJuPVRlZGR5IHJ0PTg4OTY2MjU0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpTZWl0IHdhbm4gaXN0IGVpbiBDbGllbnQsIGRlciBkZW4gTXVkLU91dHB1dCBhbmFseXNpZXJ0IHVuZCBkYXJhdXMgaXJnZW5kd2FzCktvbnN0cnVrdGl2ZXMgYmF1dCwgZWluIFRyaWdnZXI/IEljaCB2ZXJ3ZW5kZSBkZW4gT3V0cHV0IHNjaGxpZXNzbGljaCBuaWNodCwgCnVtIGlyZ2VuZGVpbmUgYXV0b21hdGlzY2hlIEVpbmdhYmUgYW5zIE11ZCB6dSBnZW5lcmllcmVuIChkYXMgaXN0IG1laW5lCkRlZmluaXRpb24gZWluZXMgVHJpZ2dlcnMsIGhhc3QgZHUgZWluZSBiZXNzZXJlPykuCgpTb25zdCBtdWVzc3RlIG1hbiBhdWNoIGFsbGUgTWFwZ2VuZXJhdG9yZW4gdmVyYmlldGVuLCBkaWUgbWFjaGVuIGF1Y2ggbml4IwphbmRlcmVzLi4uIAptZWludCBTbXVyZiwgZGVyIG9obmUgc2VpbiBlbnRzcHJlY2hlbmRlcyBUb29sIHNjaG9uIGxhZW5nc3QgZGllIFVlYmVyc2ljaHQKdmVybG9yZW4gaGFldHRlIChrYW5uIGplbWFuZCBiaXR0ZSBtYWwgemFlaGxlbiwgd2lldmllbGUgUm9vbXMgZGFzIE1HCndpcmtsaWNoIGhhdD8gSWNoIGtlbm4gNDAgS25laXBlbiB1bmQgNTAwMCBSb29tcywgU2lsdmFuYSBzYWd0ZSB3YXMgdm9uCjEyMCBLbmVpcGVuID0+IDE1MDAwIFJhZXVtZT8gV293Li4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogbGVnYWxlcyBza3JpcHQ/IChUZWRkeSwgMTIuIE1hciAxOTk4LCAwMjowNjo0MCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4OTY1MDE5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpJY2ggc2NobGllc2UgbWljaCBkYSBlaGVyIFN0aW5ncyBNZWludW5nIGFuLgpEaWUgTGV1dGUgZGllIHNvd2FzIGluIGRlbiBUb3AgMzAgbWFjaGVuLCBzaW5kIG1laHIgb2RlciBtaW5kZXIgYmVrYW5udC4KQWxsZXJkaW5ncyBnZWhlbiBlcmZyZXVsaWNoZXJ3ZWlzZSBlaW5pZ2UgTWFncyBtaXRsZXJ3ZWlsZSBkYXp1IHVlYmVyLCBudXIKZnVlciBpbnRlbGxpZ2VudGUgU2NoZW4gRlBzIHp1IHZlcnRlaWxlbiwgdmllbGxlaWNodCBtYWNodCBkYXMgamEgU2NodWxlLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGxlZ2FsZXMgc2tyaXB0PyAoVGVkZHksIDEyLiBNYXIgMTk5OCwgMDI6MTI6MDcpOgp+IyEgcm49U211cmYgcnQ9ODg5NjYzMDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2Cldlbm4gZXIgc2ljaCBuZW4gTm90aXp6ZXR0ZWwgbWFjaHQsIHdpZSBSaW5nb3IgZGFzIHNhZ3RlLCBpc3QgZXMgZWluIGVybGF1YnRlcgpUcmlnZ2VyLCBhYmVyIHRyb3R6ZGVtIGVpbiBUcmlnZ2VyLCBkZXIgcmVhZ2llcnQgbmFlbWxpY2ggZWluZmFjaCBudXIgYXVmIGRpZQpCaWxkc2NoaXJtYXVzZ2FiZS4KSWNoIHBlcnNvZW5saWNoIHd1ZXJkZSBpaG4gdmVyYm90ZW4gbmVubmVuLCB3ZWlsIGVyIGR1cmNoYXVzIGVpbmUgQXVzZ2FiZQplcnpldWd0LCBkaWUgYW5zIE11ZCB1ZWJlcnRyYWdlbiB3aXJkLCBhbGxlcmRpbmdzIHBlciBNYXVza2xpY2suCkRpZXMgaXN0IG1pbmRlc3RlbnMgZWluZSBHcmF1em9uZS4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBsZWdhbGVzIHNrcmlwdD8gKFRlZGR5LCAxMi4gTWFyIDE5OTgsIDAyOjIxOjE1KToKfiMhIHJuPVRlZGR5IHJ0PTg4OTY2NTEyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpNaXQgZGVtIDJ0ZW4gQWJzYXR6IG1laW50ZSBpY2ggdWVicmlnZW5zIG5hdHVlcmxpY2ggbmljaHQgUmluZ29ycyBWb3JzY2hsYWcsCnNvbmRlcm4gZGVuIHZvbiBTbXVyZi4KTnVyIG5vY2htYWwgenVyIEtsYXJzdGVsbHVuZyB3ZWlsbCBpY2ggZHJhdWYgYW5nZXNwcm9jaGVuIHd1cmRlLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpc3NlbnNjaGFmdGxlciBlbnRkZWNrdCBrYWx0ZSBGdXNpb24gYWxzIEFudHJpZWIgKERhdmUsIDEyLiBNYXIgMTk5OCwgMTU6MjY6NDYpOgpEZXIgV2lzc2Vuc2NoYWZ0bGVyIENsYXJrIEhhbWlsdG9uIGVuZHRlY2t0ZSB1bnRlciBBbmxlaXR1bmcgc2VpbmVzIE1lbnRvcnMKUHJvZi4gRHIuIEFsYmVydCBFaW5zdGVpbiwgZGVzIGJlcmhtdGVuIFJlbGF0aXZ0dHN0aGVvcmV0aWtlcnMsIGRpZSBrYWx0ZQpGdXNpb24gYWxzIEFudHJpZWIgZnIgenVrZnRpZ2UgUHJvamVrdGUgZGllIEVyZGUgenUgdmVybGFzc2VuLiBXaWUgRHIuSGFtaWx0b24Kc2VsYnN0IHNhZ3QsICJFcyBpc3QgZWluIGdvdHRnZWdlYmVuZXMgUmVjaHQgYWxsZXMgenUgZXJmb3JzY2hlbiB1bmQgenUKZW50ZGVja2VuIHdhcyBHb3R0IGdlc2NoYWZmZW4gaGF0LCBzb25zdCBodHRlIGVyIGVzIGphIG5pY2h0IGVyc2NoYWZmZW4uIgpXZWl0ZXJzIHNwcmljaHQgZXIgZGF2b24sIGRhcyBlcyBkdXJjaCBkaWVzZSBUZWNobm9pbG9naWUKT0RPRE9ET0RPRE9ET0RPRE9ET0RPRE9ET0RPRG9sb2dpZSBlcnN0bWFscyBtb2VnbGljaCB3aXJkIGRpZSBFcmRlIHp1CnZlcmxhc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaXNzZW5zY2hhZnRsZXIgZW50ZGVja3Qga2FsdGUgRnVzaW9uIGFscyBBbnRyaWViIChFbWJlLCAxMi4gTWFyIDE5OTgsIDE1OjQ2OjU5KToKfiMhIHJuPURhdmUgcnQ9ODg5NzEyODA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5NzEyODA2CmhtbSwgZGFzIGtvbW10IG1pciBiZWthbm50IHZvciwKaWNoIGhhYiBkYSBrInVyemxpY2ggZWluZW4gZmlsbShrZWluZSBkb2t1KSBpbSBmZXJuc2VobiBnZXNlaG4KZGEga2FtIGRhcyB2b3IuLi4KCigtPiB3aXNzZW5zY2hhZnQva3VsdHVyL3NjaG1hcnJuIG9kZXJzcC4gOi0pCmdydXNzLCBlTUJlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2lzc2Vuc2NoYWZ0bGVyIGVudGRlY2t0IGthbHRlIEZ1c2lvbiBhbHMgQW50cmllYiAoVGVkZHksIDEyLiBNYXIgMTk5OCwgMTY6MDg6NTApOgp+IyEgcm49RW1iZSBydD04ODk3MTQwMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODk3MTI4MDYKRGFzIHdhciBJUS1MaWViZSBpc3QgcmVsYXRpdiB1bmQgYmVyZWl0cyBpbSBGaWxtIHNjaG1hcnJuLCBnZWhvZXJ0IGFsc28gYXVjaAplaGVyIGRhaGluLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlc2V0LWxhZyAoQ2F0d2VhemxlLCAxMi4gTWFyIDE5OTgsIDE2OjU5OjI3KToKTW9pbiEKCkltIEFVZ2VuYmxpY2sgZ2VzY2hpZWh0IGVzIG5hY2ggZWluIHBhYXIgVGFnZW4gaW1tZXIsIGRhcyBhbGxlCjUgTWludXRlbiBtZWdhbWFlc3NpZ2VzIExhZyBhdWZ0cml0dC4KRGllcyBlbnRzdGVodCBkYWR1cmNoLCBkYXMgd2FlaHJlbmQgZWluZXMgUmVzZXRzIGFsbGVzIG5pY2h0IG1laHIgYmVub2V0aWd0ZW4KT2JqZWt0ZSBhdXNnZXN3YXBwdCB3ZXJkZW4sIHVuZCB6d2FyIGF1ZiBkaWUgUGxhdHRlLiBEaWVzZXMgRmlsZSB3aXJkCnJlbGF0aXYgc2NobmVsbCBmdWVyY2h0ZXJsaWNoIGdyb3NzIChpbSBtb21lbnQgbmFjaCA5IHRhZ2VuID4gMTAwIE1CKS4KSWNoIGhhYmUgbnVuIGRpZSB0aW1lb3V0emVpdGVuIGV0d2FzIGhvY2hnZWRyZWh0LCBlcyB3aXJkIG5pY2h0IG1laHIKc28gc2NobmVsbCBhdXNnZXN3YXBwdC4gaWNoIGhvZmZlIGRhcyBkYWR1cmNoIHdlbmlnZXIgYXVzZ2Vzd2FwcHQgd2VyZGVuIG11c3MKdW5kIG1laHIgT2JqZWt0ZSBpbSBTcGVpY2hlciwgYW5zdGF0dCBhdWYgZGVyIEZlc3RwbGF0dGUgZ2VoYWx0ZW4gd2lyZC4KSWNoIG11c3MgZGFmdWVyIGFsbGVyZGluZ3MgcmVib290ZW4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXNldC1sYWcgKEx1ZywgMTIuIE1hciAxOTk4LCAxNzowNDo1NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg5NzE4MzY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5NzE4MzY3Ck1vaW4sCgoKZGFua2UgQ0FUIQoKTXVzcyBqYSBtYWwgZ2VzYWd0IHdlcmRlbgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBsZWdhbGVzIHNrcmlwdD8gKFNpbHZhbmEsIDEyLiBNYXIgMTk5OCwgMTg6MDk6MDUpOgp+IyEgcm49UmluZ29yIHJ0PTg4OTY1MDY4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpPa2ksIG1hbCBuZW4gUmVwbHkgbWl0dGVuIGluIGRlbiBUaHJlYWQsIGFiZXIgd2FzIHNvbGxzLi4uIERhcyBoaWVyIGlzdCBNRUlORQpwZXJzb2VubGljaGUgTWVpbnVuZyB1bmQgbml4IG9mZml6aWVsbGVzIQoKV2VubiBpY2ggZGllIFNraXB0ZGVmaW5pdGlvbiByaWNodGlnIHZlcnN0ZWhlLCBpc3QgZWluIFNrcmlwdCBldHdhcywgZGFzCnBybyBVc2VyLUFrdGlvbiBtZWhyIGFscyBlaW5lbiBNRy1CZWZlaGwgYWJzZXR6dC4gRGFtaXQgd2FlcmUgZGllIAplbGVrdHJvbmlzY2hlbiBOb3RpemJ1ZWNoZXIgS0VJTkUgU2tyaXB0ZS4gSWNoIG1hY2hlIGRhcyBzY2hvbiBzZWl0IEphaHJlbgpzbywgYWxsZXJkaW5ncyBuaWNodCBtaXQgZWluZW0gZWxla3Ryb25pc2NoZW4gTm90aXpidWNoLCBzb25kZXJuIG1pdCBTdGlmdAp1bmQgWmV0dGVsLiBIYXQgZGllIGdsZWljaGUgRnVua3Rpb25hbGl0YWV0LCBpc3QgbnVyIGxhbmdzYW1lci4gSWNoIGRlbmtlLCAKZGllIGdhbnplIFNhY2hlIHNvbGx0ZSBtYW4gbWl0IEF1Z2VubWFzcyBiZXRyYWNodGVuOiBXZW5uIG1hbiBkaWVzZSBOb3Rpei0KemV0dGVsIHdpZSB2b24gUmluZ29yIHVuZCBhbmRlcmVuIGJlc2NocmllYmVuIG51ciBhbHMgR2VkYWVjaHRuaXNzdHVldHplCnZlcndlbmRldCwgaGFldHRlIGljaCBkYWdlZ2VuIG5pY2h0cyBlaW56dXdlbmRlbi4gU29uc3QgbXVlc3N0ZSBpY2ggYW0gRW5kZQpub2NoIG1laW5lIGhlaXNzZ2VsaWVidGVuIFpldHRlbCB2ZXJicmVubmVuLi4uIE5lbmVuZSwga29tbXQgbmljaHQgaW4gRnJhZ2UuCjopCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpc3NlbnNjaGFmdGxlciBlbnRkZWNrdCBrYWx0ZSBGdXNpb24gYWxzIEFudHJpZWIgKENhcmFkaHJhcywgMTIuIE1hciAxOTk4LCAyMDo1NTozMyk6Cn4jISBybj1UZWRkeSBydD04ODk3MTUzMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODk3MTI4MDYKQWJlciBhbHMgRmlsbSB3YXIgZXIgc3Vlc3MsIHNvIHJpY2h0aWcgcm9tYXRpc2NoIQpJY2ggZmFuZCBkaWUgdmllciBUYXR0ZXJncmVpc2UgYW0gYmVzdGVuLCB3aWUgc2llIHN0YWVuZGlnIHZlcnN1Y2hlbiwKYWxsZXMgc28genUgb3JkbmVuLCB3aWUgZXMgYW0gYmVzdGVuIGlzdC4gVmllbGxlaWNodC4gOikKCiAgICAgICAgICAgICAgKndpbmsqICAgICAgICAgSVEtRnJvc2NoIENhcmFkaHJhcyAqcXVhayogOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlOiBBcnRpa2VsIDIyMCB2b24gRGVlcGJsdWUgKFRyYW5jZWZlYXIsIDEyLiBNYXIgMTk5OCwgMjM6MzI6NDQpOgp+IyEgcm49WWFyZW4gcnQ9ODg5NjYxOTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MTMzMTEwCkVzIGdlaHQgbmljaHQgdW0gZGVuIFNjcm9sbCwgZXMgZ2VodCBkYXJ1bSwgZGFzIGVpbiBTY3JpcHRlciBpbiBkZXIgWmVpdCBkaWUKaWNoIGJyYXVjaGUgdW0gYXVzbSBad3JlZ2VubGFiIGluIGRpZSBTU1AgenUgc2NodWNrZWxuLCBzZWxiaWdlIGhhbGIKbGVlcnJhZXVtdCAodW0gZWluICh1ZWJlcnNwaXR6dGVzKSBCZWlzcGllbCB6dSBuZW5uZW4pLgoKdGYKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoSGFuZ292ZXIsIDEzLiBNYXIgMTk5OCwgMDg6NTI6MDEpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODk3NDE5NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKTW9pbiEKClNwZXppZWxsIGRpZSBTU1AgaXN0IGR1cmNoIGRlbiBnYW56ZW4gS3JhbSwgZGVyIGltIFdlZyBzdGVodAp1bmQgcnVtbmVydnQgbnVyIGluIGVpbmUgUmljaHR1bmcgc2tyaXB0YmFyOiB2b24gV2F0ZXIgTHVoIGF1cwpuaXggd2llIHdlZy4KCi1IYW5nb3ZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2lzc2Vuc2NoYWZ0bGVyIGVudGRlY2t0IGthbHRlIEZ1c2lvbiBhbHMgQW50cmllYiAoQXVncmEsIDEzLiBNYXIgMTk5OCwgMTA6MDY6MjkpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg4OTczMjUzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTcxMjgwNgpHZW5hdS4gTnVuIGxlcyBpY2ggR29lZGVsLCBFc2NoZXIsIEJhY2ggbWl0IGdhbnogYW5kZXJlbiBBdWdlbiAuOikKCkEuIFdpc3NuaXgsIHdpcmQgbnVuIGltbWVyIG1pdCBkZW4gV29ydGVuICJEYXMgYW5kZXJlIGxpbmtzLCBMaWViY2hlbiEiIGF1ZgppaHJlIHN0YWVuZGlnZSBWZXJ3ZWNoc2x1bmcgdm9uIHJlY2h0cyB1bmQgbGlua3MgaGluZ2V3aWVzZW4gOikpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKanVzdCBteSB0d28gYnJhaW5jZWxscy4uLiAoUmFudGFucGxhbiwgMTMuIE1hciAxOTk4LCAxMjoxMzowMik6CllvICEKCkRpZSBNUEEgaGF0IGF1ZiBtaWNoIGluIGV0d2EgZGVuIGdsZWljaGVuIEVmZmVrdCwgd2llIGRlciBpbnRlbnNpdmUKendlaXN0dWVuZGlnZSBLb25zdW0gdm9uIFNlbGwtQS1WaXNpb24gb2RlciBILk8uVC4uLgoKTWFuIHNpdHp0IHVuZ2xhZXViaWcgc3RhdW5lbmQgdm9yIGRlbSBCbGlkc2NoaXJtIHVuZCB3dW5kZXJ0IHNpY2gKdWViZXIgZWluIGhvZWNoc3RtYXNzIHZhbiBEaWxsZXRhbnosIEFycm9nYW56IHVuZCBhbGxlbSwgd2FzIGRpZSBNZW5zY2hoZWl0IHNvCnZlcmFjaHRlbnN3dWVyZGlnIG1hY2h0LgoKQWJlciBlcyBzb2xsdGUgamV0enQgYml0dGUgbmllbWFuZCBzYWdlbjogRGFubiBzY2hhdSAobGllcykgZXMgaGFsdCBuaWNodC4KCkljaCBtYWNoIGVzIG5hZW1saWNoIGdlcm5lLCBpY2ggaGFiIHNjaG9uIGxhbmdlIGRlbiBWZXJzdWNoIGF1ZmdlZ2ViZW4gZXR3YXMKenUgYWVuZGVybiBvZGVyIHNvZ2FyIHZlcmJlc3Nlcm4genUgd29sbGVuLi4uCgpBYmVyIGljaCBoYXNzZSBNZW5zY2hlbiA7LSkpCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBqdXN0IG15IHR3byBicmFpbmNlbGxzLi4uIChQYXRyeW4sIDEzLiBNYXIgMTk5OCwgMTI6MjM6NTYpOgp+IyEgcm49UmFudGFucGxhbiBydD04ODk3ODc1ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODk3ODc1ODIKLi4uYXVzc2VyZGVtIGZ1ZWhsc3QgZHUgZGljaCBpbiBkZXIgdW1nZWJ1bmcgdm9uIGRpbGxldGFueiB1bmQgYXJyb2dhbnogZG9jaApzZWxic3QgYW0gd29obHN0ZW4sIGRhcyB3b2xsZW4gd2lyIGRvY2ggbWFsIGtsYXIgZmVzdGhhbHRlbi4Kc2NobGllc3NsaWNoIHNpbmQgZGllIG9ldHRpLWFydGlrZWwgYXVjaCBuaWNodCBtZWhyIGRhcywgd2FzIHNpZSBtYWwgd2FyZW4KdW5kIGRlciBnb2VubmVyaGFmdGUgenVzYW1tZW5mYXNzdW5nc3N0aWVsIGltIHNpbm5lIHZvbiAnaWhyIHNlaWQgZG9jaCBhbGxlCmJsb2VkJyBrYW5uIGVpZ2VudGxpY2ggYXVjaCBudXIgdm9uIGFycm9nYW50IGFuZ2VoYXVjaHRlbiBzY2hyZWliZXJsaW5nZW4Kc3RhbW1lbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZWdhbGVzIHNrcmlwdD8gKEZ5dCwgMTMuIE1hciAxOTk4LCAxNDo0NTowMSk6Cn4jISBybj1OaXhpaG91IHJ0PTg4OTAzOTk0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgoKRGFzIGRpZSBmb3JtYWxlIFNjcmlwdGRlZmluaXRpb24gbWVociBhbHMgZm9ybWFsZXIgU2Nod2FjaHNpbm4gaXN0LAppc3QgYWJlciBzY2hvbiBhdXMgZGVyIFplaXQgZGVzIGVyc3RlbiBTY3JpcHR2ZXJib3RzIGJla2FubnQuCgpGeXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbGVnYWxlcyBza3JpcHQ/IChGeXQsIDEzLiBNYXIgMTk5OCwgMTQ6NTE6MDEpOgp+IyEgcm49TWFoYXRtYSBydD04ODkxMTI4NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKCk5peCBhbmRlcmVzIHNpbmQgamEgZWlnZW50bGljaCAnVW50ZXJzdWNoZXNjcmlwdGUgbWl0IEF1c3dhaGwnLgpBbHNvOiArIC0+IGphLCB3aWxsIGljaCB1bnRlcnN1Y2hlbiwgLSAtPiBuZWluLCB3aWxsIGljaCBuaWNodC4KCk5hamEsIGljaCBibGVpYiBkYWJlaTogRXMgZ2lidCBwcmluemlwaWVsbCBrZWluZSB2ZXJudWVmdGlnZSBHcmVuemUsCmRlc3dlZ2VuIHNvbGx0ZW4gTWFnaWVyIFNhY2hlbiBzY3JpcHRmZWluZGxpY2ggcHJvZ3JhbW1pZXJlbiB1bmQgZXMKc29sbHRlIGplZGUgQXJ0IHZvbiBTY3JpcHRlbiBlcmxhdWJ0IHdlcmRlbi4gRGFubiBpc3QgbWFuIHp1bWluZGVzdAplaW5pZ2VybWFzc2VuIHZvciBXaWxsa3VlcmFrdGVuIGRlcyBnZXJhZGUgYW10aWVyZW5kZW4gU2hlcmlmZnMgc2ljaGVyLgpOZWluLCBDYXR0aWUsIGRhcyBnaW5nIG5pY2h0IGdlZ2VuIERpY2ggOy0pCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBsZWdhbGVzIHNrcmlwdD8gKEdsb2luLCAxMy4gTWFyIDE5OTgsIDE0OjU4OjI3KToKfiMhIHJuPUZ5dCBydD04ODk3OTcwNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKU2NyaXB0ZmVpbmRsaWNoIHByb2dyYW1taWVyZW4/IEllZWgsIHdhcyBzb2xsIGRlbm4gZGFzIGhlaXNzZW4/CidEYXMgRGV0YWlsIHdpbGwgamV0enQgbmljaHQgdW50ZXJzdWNodCB3ZXJkZW4sIHZlcnN1Y2hzIG1hbCBuYWNoIGRlbQogbmFlY2hzdGVuIFJlc2V0IHdpZWRlci4nIE9kZXIgd2llPyA6KQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2tyaXB0ZSwgVHJpZ2dlciB1bmQgYW5kZXJlIFRpZXJlIChGeXQsIDEzLiBNYXIgMTk5OCwgMTQ6NTg6NDkpOgp+IyEgcm49TGFyaXNzYSBydD04ODkxNzQyMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxNzM1NzIKCk5hamEsIHdlbm4gaWNoIHNhZ2UgJ1NjcmlwdGUgc29sbGVuIGVybGF1YnQgd2VyZGVuJyBoZWlzc3QgZGFzIG5vY2ggbGFuZ2UKbmljaHQ6ICdFdnRsLiBsYXVmZW5kZSBTY3JpcHRlIGR1ZXJmZW4gbmljaHQgImF1c2dldHJpZ2dlcnQiIHdlcmRlbicKCkF1c3RyaWdnZXJuIGhlaXNzdCB6YjogU2ljaCBuZWJlbiBqZW1hbmRlbSwgZGVyIGF1ZiAnZmFlbGx0IHRvdCB6dSBCb2RlbicKd2FydGV0LCB6dSBzdGVsbGVuIHVuZCBlaW4gJ2VjaG8gLi4uIGZhZWxsdCB0b3QgenUgQm9kZW4nIHp1IHRpcHBlbi4KT2RlciBMZXV0ZSwgZGllIERpY2ggdmVyZm9sZ2VuLCB2b3IgZGllIEhhZW5nZWJydWVja2UgenUgZnVlaHJlbiB1bmQKJzpnZWh0IG5hY2ggTm9yZGVuJyB6dSB0aXBwZW4gdXN3LgoKRXMgaXN0IGVpbmZhY2ggc28sIGRhc3MgbWFuIGFscyBTcGllbGVyIGdlbnVlZ2VuZCBNb2VnbGljaGtlaXRlbiBoYXQsCmdlZ2VuIFNrcmlwdGUgc2VsYnN0IHZvcnp1Z2VoZW4uCgpGeXQsIHNpY2ggbm9jaCBndXQgYW4gZWluZW4gTW9udGFnIGVyaW5uZXJuZCwgYW4gZGVtIGVyIHNpZWJlbiBUb2RlIG1laHIKYWxzIGFtIHZvcmFuZ2VnYW5nZW4gRnJlaXRhZyBoYXR0ZSAqZ3JpbnMgUm9jaHVzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmU6IEFydGlrZWwgMjIwIHZvbiBEZWVwYmx1ZSAoRnl0LCAxMy4gTWFyIDE5OTgsIDE1OjAyOjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODkxNzcwNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkxMzMxMTAKCk5hamEsIGdhbnogc28gcm9zaWcgaXN0IGVzIG51biBhdWNoIHdpZWRlciBuaWNodC4uLiBlcyBtYWcgc2VpbiwgZGFzcwpkYXMgZnVlbmYgTWludXRlbiBwcm9ncmFtbWllcmVuIHNpbmQsIGFiZXIgZGFubiBpc3QgZXMgd2llZGVyCnd1ZW5zY2hlbnN3ZXJ0LCBkYXNzIGVzIGFsbGUgVHJhbnNwb3J0ZXIga29lbm5lbiwgdW5kIGZ1ZXIgbmUgQWVuZGVydW5nCmFuIC9zdGQvdHJhbnNwb3J0IGJyYXVjaHN0IER1IG1pbmRlc3RlbnMgJ24gV2Vpc2VuLCBkZXIgZGFubiBub2NoCmRpZSBFcmxhdWJuaXMgdm9uIG5lbSBoYWxiZW4gRHV0emVuZCBhbmRlcmVyIExldXRlIGJyYXVjaHQgZXRjLgoKRGEgaGFiIGljaCBtaXQgbmVtIC90cmlnIGVyaGVibGljaCB3ZW5pZ2VyIEFlcmdlci4uLgoKRll0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbGVnYWxlcyBza3JpcHQ/IChTbXVyZiwgMTMuIE1hciAxOTk4LCAxNzo0NDoyMyk6Cn4jISBybj1HbG9pbiBydD04ODk3OTc1MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKTmVlLCBza3JpcHRmZWluZGxpY2ggaGVpc3N0IHpCLCBkYXNzIHNpY2ggZWluIFdlZyBtYWwgYWVuZGVydCB1bmQgZGllIAppbmZvLCB3byBlcyBudW4gd2VpdGVyZ2VodCwgbmljaHQgc28gZWluZmFjaCBwZXIgU2tyaXB0IHJhdXN6dWhvbGVuIHNpbmQuCk9kZXIgZGFzcyBpbiBkZXIgSG9laGxlIGRhcyBEZXRhaWwgYW4gZGVyIFdhbmQgc3RlaHQsIGRhcyBXb3J0ICJXYW5kIgphYmVyIG5pcmdlbmRzIGluIGRlbiBhbmRlcmVuIFRleHRlbiB2b3Jrb21tdC4KT2Rlci4uLiBFcyBnaWJ0IGVpbiBwYWFyIEJlaXNwaWVsZSwgYWJlciBuaWNodCBnZW51ZWdlbmRlLiBFaHJsaWNoIGdlc2FndAppc3QgZXMgYXVjaCB2ZXJkYW1tdCBzY2h3aWVyaWcsIHNvd2FzIHp1IGJhdWVuLi4uCgpTbXVyZiwgendhciBub2NoIG5pcmdlbmRzIE1hZ2llciwgYWJlciBkYXMgbWFjaHQgbml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NobWFsOiBTY3JpcHRlIChBc2hhbiwgMTMuIE1hciAxOTk4LCAxODoyNjoxMik6CkhpLAoKbmFjaGRlbSBzbyB2aWVsIHp1IFNjcmlwdGVuIGdlc2FndCB3dXJkZSwgZGFjaHRlIGljaCAtIHdpZSBzY2hvbiBzbwptYW5jaGVzIG1hbCAtIGRhc3MgaWNoIGRhIG5pY2h0IGF1Y2ggbm9jaCBtZWluZW4gU2VuZiBkYXp1Z2ViZW4Kc29sbHRlLiBEb2NoIG5hY2ggZGVyIGZyZXVuZGxpY2hlbiBBdWZmb3JkZXJ1bmcgbmFjaCBkZW0gRWlubG9nZ2VuCnR1JyBpY2gncyBnZXJuZToKCkFsc28sIG1laW5lIGVyc3RlbiAzIE1vbmF0ZSBpbSBNRyB3YXIgaWNoIHVlYmVyIFRlbG5ldCBkcmluLgpWb24gTWFrcm9zIHVuZCBTY3JpcHRzIGhhdHRlIGljaCBrZWluZSBBaG51bmcuCkVpbnppZyBuZXJ2dGUgbWljaCBkaWUgZXdpZ2UgU2Nyb2xsZXJlaSwgZGEgRWluLXVuZCBBdXNnYWJlbgppbSBzZWxiZW4gRmVuc3RlciBlcmZvbGd0ZW4uCkRhbm4gbGVybnRlIGljaCB0ZiBrZW5uZW4uIERhcyBXaWNodGlnc3RlIHdhciBtaXIgZXJzdG1hbCBkaWUKQXVmdGVpbHVuZyBpbiBFaW4tIHVuZCBBdXNnYWJlZmVuc3RlciA6LSkgTnVuLCBtYW4ga2FubiBtaXQgVEYKamEgdmllbGVzIGFuc3RlbGxlbiwKZG9jaCBpY2ggYmVzY2hyYWVua2UgbWljaCBzZWl0IGd1dCAzIEphaHJlbiBhdWYgZm9sZ2VuZGUgTWFrcm9zIC8KU2NyaXB0ZToKICAxLiBXZWdlc2NyaXB0ZQogICAgIEFscyBBbmZhZW5nZXIgd2FyIGljaCB6dW5hZWNoc3QgZGFyYW4gaW50ZXJlc3NpZXJ0IG1vZWdsaWNoc3QKICAgICBzY2huZWxsIHZvbiB1ZWJlcmFsbCBoZXIgenUgZWluZXIgZ3V0ZW4gVGFua2UgenUga29tbWVuLgogICAgIEZ1ZXIgbWljaCB3YXIgZGFzIGJlc3RlIChiaXMgenUgYWVuZGVydW5nIGRlcyBUYW5rc3lzdGVtcyBuZXVsaWNoKQogICAgIEtub2Jpd2Fzc2VyIGluIGRlciBGcmllZGhvZnNrbmVpcGUuCiAgICAgQXVzc2VyZGVtIHdhciBpY2ggaGVmdGlnc3QgYW4gZGVuIE9ya3MgaW0gSGV4ZW53YWxkLCB1bmQgc3BhZXRlcgogICAgIGF1Y2ggYW4gZGVuIEdvYmxpbnMgaW4gTmFlaGUgUFYgaW50ZXJlc3NpZXJ0LgogICAgIEFsc28gc2NocmllYiBpY2ggZWluIFdlZ2VzY3JpcHQgZGFzIHZvbSBPcmtsYWdlciBpbiBkaWUgRnJpZWRob2ZzLQogICAgIGtuZWlwZSBmdWVocnQgdW5kIGVpbmVzIGZ1ZXIgZGVuIFJ1ZWNrd2VnLiBVbmQgZWluZXMgZGFzIHZvbQogICAgIEdvYmxpbmxhZ2VyIHp1bSBGcmllZGhvZiBmdWVocnQgdW5kIHp1cnVlY2suCiAgICAgQWxzIE1ldHplbGZhbiBnaWJ0IGVzIG5vY2ggZWluIHBhYXIgU3RlbGxlbiBkaWUgbWlyIHdpY2h0aWcgenVtCiAgICAgTWV0emVsbiBzaW5kIChTdGVpbmJlaXNzZXJob2VobGUsIEVpbmdhbmcgU1NQIHV3cy4pLgogICAgIEZ1ZXIgamVkZXMgbmV1ZSB2b24gbWlyIG1laHIgYWxzIGVpbiBEdXR6ZW5kIG1hbCBiZXN1Y2h0ZQogICAgIE1ldHplbGdlYmlldCBzY2hyaWViIGljaCBtaXQgZGFubiBlaW4gV2VnZXNjcmlwdCBvZGVyIC0gTWFrcm8KICAgICB3aWUgbWFuIGRhcyBhdWNoIG5lbm5lbiBtYWcpLCBkaWUgYXVzc2NobGllc3NsaWNoIGF1cyBBbndlaXN1bmdlbgogICAgIHdpZSB3LCBzLCBvLCBudyAuLi4uIHVzdyBiZXN0ZWhlbi4KICAgICAhIEZ1ZXIgZGllc2UgQXJ0IHZvbiBTY3JpcHRlbiBiaW4gaWNoIG5hY2ggd2llIHZvciwgYXVjaCB3ZW5uCiAgICAgICB2aWVsbGVpY2h0IGVpbmlnZSBNdWRkaWVzIG5pY2h0IGluIGRlciBMYWdlIHNpbmQgZWluZW4gTXVkY2xpZW50CiAgICAgICB6dSBiZW51dHplbiBkZXIgc293YXMgbmljaHQgenVsYWVzc3QuCiAgICAgICBLbGluZ3QgdW5mYWlyLCBpc3QgYWJlciBtZWluZSBNZWludW5nLiBJTUhPIGthbm4gc2ljaCBoZXV0ZQogICAgICAgZmFzdCBqZWRlciBuZW4gUmVjaG5lciB1bmQgbmVuIE11ZGNsaWVudCBiZXNvcmdlbiAobGV0enRlcmVzCiAgICAgICBncmF0aXMpIG1pdCBkZW0gbWFuIFdlZ2VzY3JpcHRlIGVyemV1Z2VuIGthbm4uCiAgICAgRWluZSBhbmRlcmUgRm9ybSB2b24gV2VnZXNjcmlwdCBiZXN0ZWh0IGRhcmluLCBkYXNzIGljaCBTdHJlY2tlbgogICAgIHdvIG1hbiBtZWhybWFscyBpbiBkaWUgR2VpY2hlIFJpY2h0dW5nIGdlaGVuIG11c3MgYWJrdWVyemUuCiAgICAgQmVpc3BpZWw6CiAgICAgICB1bSB2b20gR29ibGlubGFnZXIgYXVzIGluIGRlbiBMYWRlbiB2b24gTGFzaCB6dSBrb21tZW4gdGlwcGUKICAgICAgIGljaCBzdGF0dCBzdyBzdyBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzIG8gbyBvIG8gbyBvIG4gbiBuIHcKICAgICAgIGxpZWJlciAvMnN3IC82cyAvNnMgcyAvNm8gLzNuIHcKICAgICAgIG9rLCBtYW4ga2FubnMgbm9jaCBiZXNzZXIgbWFjaGVuLCBhYmVyIGFsbGUgU2Nocml0dGUgZGllCiAgICAgICBiaXMgenUgOCBtYWwgaW4gZGllIGdsZWljaGUgUmljaHR1bmcgZnVlaHJlbiBoYWIgaWNoIGhhbHQgc28KICAgICAgIHp1c2FtbWVuZ2VmYXNzdCAoei5iLiA2IG1hbCBzID0gLzZzKS4KICAgICAgIFJMLW1hZXNzaWcgbXVzcyBtYW4gaGFsdCBuaWNodCB3aWUgaXJyZSBhdWYgZGVyIFRhc3RhdHVyCiAgICAgICBoZXJ1bWhhY2tlbiB1bmQgc28gYXVmIHNpY2ggYXVmbWVya3NhbSBtYWNoZW4uCiAgMi4gS2FtcGZzY3JpcHRlCiAgICAgICBEYSBzb3dhcyBqYSBuaWNodCBlcmxhdWJ0IGlzdCBzb2xsdGUgaWNoIHZpZWxsZWljaHQgbGllYmVyCiAgICAgICBzY2h3ZWlnZW4gPyBOZWluLCBsaWViZXIgT3V0aW5nOgogICAgICAgTnVuLCBpbiBkaWVzZXIgUmljaHR1bmcgaGFiZSBpY2ggZWluIFNjcmlwdCBkYXMgaW0gUHJpbnppcAogICAgICAgc28gYXVzc2llaHQ6CiAgICAgICAgICBzdGVja2UgPFdhZmZlPiB3ZWcKICAgICAgICAgIDxzcGVsbD4gPGdlZ25lcj4KICAgICAgICAgIHp1ZWNrZSA8d2FmZmU+CiAgICAgICBUaGF0J3MgYWxsLiBGdWVyIGVpbmlnZSBNYWdpZXIgdmllbGxlaWNodCBlaW4gQWxwdHJhdW0uCiAgICAgICBEb2NoIGljaCBiaW4gdWViZXJ6ZXVndCwgZGFzcyBlaW5lIGJyZWl0ZSBNZWhyaGVpdCB1ZWJlcgogICAgICAgc29sY2hlIG9kZXIgYWVobmxpY2hlIE1ha3JvcyB2ZXJmdWVndC4KICAzLiBTb25zdGlnZSBTY3JpcHRlCiAgICAgICBBbnNvbnN0ZW4gaGFiZSBpY2ggbnVyIG5vY2ggZWluIFNjcmlwdCBhdXMgZGVyIFplaXQgd28gaWNoCiAgICAgICBkaWUgR29ibGlucyB0YWVnbGljaCBiZXN1Y2h0ZToKICAgICAgICAvbGlzZ29iID0KICAgICAgICAgIHN0ZWNrZSBMZWRlcmhlbG0gaW4gc2NobGVpbWJldXRlbDslCiAgICAgICAgICBzdGVja2UgS2V0dGVuaGVtZCBpbiBTY2hsZWltYmV1dGVsJTsKICAgICAgICAgIHN0ZWNrZSBLYW1wZnNjaHdlcnQgaW4gU2NobGVpbWJldXRlbAogIDQuIFRyaWdnZXIKICAgICAgIERpZSBlaW56aWdlbiBUcmlnZ2VyIHVlYmVyIGRpZSBpY2ggdmVyZnVlZ2UgYmVzdGVoZW4gaW4gZWluZXIKICAgICAgIGZhcmJpZ2VuIExQIC0gdW5kIE1QIC0gQW56ZWlnZQoKICBEaWUgZWluZW4gbW9lZ2VuIHVlYmVyIGRpZXNlIHN0dWVtcGVyaGFmdGVuIHByaW1pdGl2ZW4gU2NyaXB0ZQogIGxhZWNoZWxuLCBkaWUgYW5kZXJlbiBlbXBvZXJ0IHNlaW4gdW5kIG1hbmNoZXIgTWFnaWVyIHZpZWxsZWljaHQgZGllCiAgWkFQLUtyYWxsZSB6dWVja2VuLiBadXIgSW5mbzogYXVjaCBtaXQgZGllc2VuIFNjcmlwdGVuIGhhdCBtZWluCiAgMXN0aSBjYSAzNSBPbmxpbmV0YWdlIGJpcyB6dW0gU2VoZXIgZ2VicmF1Y2h0LCB1bmQgd2FzIEthbXBmIGFuZ2VodDoKICBJY2ggemFlaGxlIG1pY2ggbWV0emVsbWFlc3NpZyAoenVtaW5kZXN0IHZvciBFaW5mdWVocnVuZyBkZXIgRlBzKQogIHZvbiBkZW4gRmFlaGlna2VpdGVuIGhlciB6dW0gZ3V0ZW4gRHVyY2hzY2huaXR0IGRlciBNdWRkaWVzLCBkaWUgYXVjaAogIGdlcm5lIG1ldHplbG4uIE1pdHRsZXJ3ZWlsZSAgaXN0IGRhcyBuaWNodCBtZWhyIHNvLCBkb2NoIGRhcyBoYXQKICBhbmRlcmUgR3J1ZW5kZS4KCiAgISEhIERvY2ggZnVlciBkaWUgdm9uIG1pciBnZW5hbm50ZW4gU2NyaXB0ZSB3dWVyZGUgaWNoIG1pY2ggbmFjaCB3aWUKICB2b3IgZWluc2V0emVuLgoKICBFcyBnaWJ0IGFiZXIgYXVjaCBlaW5lIEdyZW56ZSBtaXQgZGVyIFNjcmlwdGVyZWkgZnVlciBtaWNoOgogIDEuIFRyaWdnZXIgZGllIGF1dG9tYXRpc2NoIGxhdWZlbiBvaG5lIGRhc3MgUkwgZWluZSBQZXJzb24KICAgICBkYWJlaSBzZWluIG11c3MgKHdlaWwgZGFzIGRlbiBTcGllbHNwYXNzIGVyaGVibGljaCBtaW5kZXJ0LAogICAgIGRlbm4gTGV1dGUgZGllIG1vbmF0ZWxhbmcgdWViZW4gdW5kIHdvbW9lZ2xpY2ggYXVjaCBub2NoCiAgICAgVGVsZWZvbmtvc3RlbiB6YWhsZW4gd2VyZGVuIHNjaG5lbGwgbWFsIGltIEJydWNodGVpbCBkZXIKICAgICBaZWl0IHZvbiBhbmRlcmVuIHVlYmVyaG9sdCBpbiBMZXZlbCB1bmQgZ2lsZGVuZmFlaGlna2VpdGVuKQogIDIuIFNjcmlwdGUgZGllIG1laHIgYWxzIHJlaW5lIFdlZ2VzY3JpcHRlIHNpbmQsIGQuaC4gdGFua2VuCiAgICAgdW5kIHdlZ2VzY3JpcHQgdW5kIGF1Y2ggbm9jaCBlaW4ga2FtcGZzY3JpcHQgenVzYW1tZW5nZWZhc3N0KQoKICBBYmVyIHNvbGNoZSBTY3JpcHRlIHZvbiBhbmRlcmVuIHp1IHVudGVyc2NoZWlkZW4gaXN0IGZ1ZXIgZGVuCiAgU2hlcnJpZiB3b2hsIG51ciBzY2hsZWNodCBvZGVyIGdhciBuaWNodCBtb2VnbGljaC4KCiAgT2Igc2NyaXB0ZXJlaSBvZGVyIG5pY2h0LCBpY2ggc2VoZSBlaGVyIGVpbiBQcm9ibGVtIGRhcmluIGRhc3MKICBtYW5jaGUgTGV1dGUgWnVnYW5nIHp1IFRlc3RpZXMgaGFiZW4gdW5kIGRhbWl0IGF1Y2ggbm9jaCBsYXV0c3RhcmsKICBhbmdlYmVuLiBEYSB3ZWlzcyBtYW4gZGFubiB3aWUgZGllIHp1IGlobWVuIGhvaGVuIFNlaGVybGV2ZWwKICBnZWtvbW1lbiBzaW5kIHVuZCBtaXQgd2VsY2hlciBWZXJhY2h0dW5nIHNpZSBhdWYgZGllIGRvb2ZlbgogIE11ZGRlciBzY2hhdWVuIGRpZSBzaWNoIG1vbmF0ZWxhbmcgYWJtdWVoZW4sIHdvIG1hbiBzaWNoIGRvY2gKICBpbiB3ZW5pZ2VuIE1pbnV0ZW4gZGllIHRvbGxzdGVuIFN0YXRzIHNldHplbiBrYW5uLgogIFp1Z2VnZWJlbiwgZXMgaXN0IG1pciBudXIgMSBtYWwgc28gZWluIFR5cCBiZWdlZ25ldCwgYWJlciBkZXIKICBTY2hvY2sgc2l0enQgdGllZi4KCiAgV2FzIG1hbiBnZWdlYm4gc29sY2hlIExldXRlIHR1biBrYW5uIHdlaXNzIGljaCBuaWNodCwgZGVubgogIF9iZXdlaXNlbl8gbGFlc3N0IHNpY2ggc293YXMgbnVyIHNjaGxlY2h0LgogIERhc3MgZXMgbGVpY2h0IGRlbiBmYWxzY2hlbiB0cmVmZmVuIGthbm4gaGF0IHNpY2ggamEgdm9yIGVpbmlnZW4KICBXb2NoZW4gKG9kZXIgc2luZHMgc2Nob24gTW9uYXRlPyA6LSkgZ2V6ZWlndC4gRGEgd3VyZGUgZWluCiAgTWFnIGdlbG9lc2NodCBkZXIgLSB6dWdlZ2ViZW4gLSBzY2h1bW1lbHRlLCBhYmVyIGluIGVpbmVyIEZvcm0gZGllCiAgZGllc2VzIFN0cmFmbWFzcyAoTG9lc2NodW5nKSBJTUhPIG5pY2h0IHJlY2h0ZmVydGlndGUsIGJpcyBhdWYgZGVuCiAgaGV1dGlnZW4gVGFnLgoKICBFaW5lbiBBdXN3ZWcgYXVzIGRlciBNaXNlcmUgc2VoIGljaCBuaWNodC4gS29uc2VxdWVudCBkdXJjaGdlc2V0enRlCiAgU2NyaXB0dmVyYm90ZSB3dWVyZGVuIG1pY2ggYXVzIG1laW5lciB2aXJ0dWVsbGVuIEhlaW1hdCB2aWVsbGVpY2h0CiAgdmVydHJlaWJlbi4gSWNoIGJpbiBNZXR6ZWxmYW4sIHVuZCBpY2ggYmVoYXVwdGUgZGFzcyBtYW4gb2huZQogIFdlZ2VzY3JpcHQgbmljaHQgaW4gZGVyIExhZ2UgaXN0IGVpbmlnZSBkZXIgTlBDcyB6dSBraWxsZW4uCiAgTXVzcyBtYW4gamEgYXVjaCBuaWNodCwgd2VyZGVuIGVpbmlnZSBzYWdlbi4KICBEb2NoIGRlciBTcGllbHNwYXNzIGJlc3RlaHQgZnVlciBtaWNoIGluIGVpbmVtIG5pY2h0IHVuZXJoZWJsaWNoZW4KICBNYXNzIGRhcmluIE5QQ3MgenUgbWV0emVsbi4gSWNoIHd1ZW5zY2hlIG1pciBkYXNzIE1HIHNvd29obCBlaW5lCiAgSGVpbWF0IGZ1ZXIgZGllIEZvcnNjaGVyIHVuZCBCbHVlbWNoZW5wZmx1ZWNrZXIgc2VpbiBrYW5uIHdpZSBhdWNoCiAgZnVlciBkaWUgTWV0emVsZnJldW5kZS4KICBNZWluIFZvcnNjaGxhZyB6dSBTY3JpcHRzIGxhdXRldDoKICAgIFNjcmlwdGUgc29sbHRlbiBncnVuZHNhZXR6bGljaCB6dWdlbGFzc2VuIHdlcmRlbi4gQWJlcjoKICAgICAgV2VubiBlaW4gTXVkZGllIHNpY2ggdWViZXIgZWluZW4gdmVybWVpbmxpb2NoZW4gU2NyaXB0ZXIKICAgICAgYmluIFNoZXJyaWYgYmVzY2h3ZXJ0LCB1bmQgZGVyIFNjcmlwdGVyIGF1ZiB3aWVkZXJob2x0ZQogICAgICBBbnNwcmFjaGUgb2RlciBQaWVwc2VuIChXZWNrZXIgc2NobWVpc3NlbikgbmljaHQgcmVhZ2llcnQKICAgICAgdW5kIGluIGFsbGVyIFJ1aGUgd2VpdGVycmVubnQgLyBtZXR6ZWx0IC8ga2xhdXQsCiAgICAgIGRhbm4gaXN0IHdvaGwgbWluZGVzdGVucyBlaW4gZGlzY29ubmVjdCAoZmFlbGxpZyB1bmQKICAgICAgendhbmdzcGF1c2VuIGZ1ZXIgZGVuIGNoYXJha3RlciBvZGVyIHdhcyBkZXIgU2hlcnJpZiBlYmVuCiAgICAgIGJlc2NobGllc3N0LgogICAgICBPaywgZ2FueiBzY2hsYXVlIFRyaWdnZXJuIGRlbiBEaXNjb25uZWN0IHVuZCBzY3JpcHRlbiB3ZWl0ZXIKICAgICAgYWxzIHNlaSBuaWNodHMgZ2VzY2hlaGVuLgogICAgICBJY2ggZGVua2UgZGFzIFN0cmFmbWFzcyBzb2xsdGUgZGVyIFNoZXJyaWYgaW0gRWluemVsZmFsbAogICAgICBiZXN0aW1tZW4uIG51ciBkYXMgTG9lc2NoZW4gc29sbGUgaW1tZXIgZGVyIGxldHp0ZSBBdXN3ZWcgc2Vpbi4KIAogIG5pY2h0cyBmdWVyIHVuZ3V0IC4uLi4uCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXNoYW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmaW5nZXIgKEdyaW1tYm9ybiwgMTMuIE1hciAxOTk4LCAyMDozNjo0Nik6CkRlciBmaW5nZXJkYWVtb24gYXVmIG1nLm11ZC5kZSBzY2hlaW50IGthcHV0dCB6dSBzZWluLiBFaW4gZmluZ2VyCmNoYXJha3RlckBtZy5tdWQuZGUgamVkZW5mYWxscyB0dXQgbmljaHQgbWVociBkYXMsIHdhcyBtYW4gZ2V3b2hudCB3YXIuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToganVzdCBteSB0d28gYnJhaW5jZWxscy4uLiAoTHVnLCAxNC4gTWFyIDE5OTgsIDAyOjAyOjAwKToKfiMhIHJuPVBhdHJ5biBydD04ODk3ODgyMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODk3ODc1ODIKQWVoLAoKdGphZSBQYXRyeW4gImRpbGxldGFueiIuIFNhZ3QgamEgYWxsZXMuCgpGaWRLRwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGxlZ2FsZXMgc2tyaXB0PyAoS2V5LCAxNC4gTWFyIDE5OTgsIDIyOjMyOjE5KToKfiMhIHJuPUxhdmluaWEgcnQ9ODg5NjQ4NjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CkxhdmluaWEgZGFzIHdpbGwgRGlyIGtlaW5lciB2ZXJiaWV0ZW4gLi4uCkFiZXIgc2NoZWluYmFyIHdvbGxlbiBlaW5pZ2UgaGllciBkZW4gTGV1dGVuIGRpZSBlcyBzaWNoIGVpbiBiaXNzY2hlbiBzY2hvZW5lcgplaW5yaWNodGVuIHZlcmJpZXRlbiBkaWVzIHp1IHR1bi4KVW5kIGljaCBnbGF1YmUgYXVjaCBkYXMgZGllIGRpZSBzaWNoIGRpZSBNdWVoZSBnZWJlbiBuZW4gQ2xpZW50IHp1IGhvbGVuLCB6dQpwcm9ncmFtbWllcmVuIHVzdyBlcyBzaWNoIGF1Y2ggZ2VtdWV0bGljaCBtYWNoZW4gZHVlcmZlbiAuLi4uCldvYmVpIC4uLi4gaWNoIGZhbmQgZGllIE11ZWhlIGFldXNzZXJzdCBsb2huZW5zd2VydCA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBsZWdhbGVzIHNrcmlwdD8gKEtleSwgMTQuIE1hciAxOTk4LCAyMjozNjoyMCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg4OTY0ODY1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgpJbW1lcj8KRXMgaXN0IGRvY2ggc28gLi4uIExldXRlIGRpZSBvaG5lIENsaWVudCBzcGllbGVuIGtlbm5lbiBkaWUgbWVpc3N0ZW4gV2VnZQpiZXNzZXIgYWxzIExldXRlIG9obmUgLi4uCippcm9uaWUgb24gZnVlciBkaWUgZGllcyBuZXQgbWVya2VuKgpJY2ggZmluZGUgZGFzIGVpbmUgcmllc2VuIHNjaHdlaW5lcmVpLiBEYWR1cmNoIGRhcyBzaWUgZGllc2UgV2VnZSBzdGFlbmRpZyBwZXIKSGFuZCBsYXVmZW4gc2luZCBzaWUgbmljaHQgc28gYWJoYWVuZ2lnIHZvbiBlaW5lbSBDbGllbnQhIERhcyBzb2xsdGUgdmVyYm90ZW4Kd2VyZGVuIQoqaXJvbmllIG9mZioKSWNoIGhhYiBzZWxic3QgbGFuZyBnZW51ZyBudXIgdGVsbmV0IGdlaGFidCAuLi4uIEVzIGlzdCBhdWNoIGRhbWl0IGZhc3QgYWxsZXMKc28genUgc2NoYWZmZW4gd2llIG1pdCB0ZiwgbnVyIGVzIGlzdCBsYXV0ZXIsIHVuZ2VzdWVuZGVyIGZ1ZXIgZGllIFRhc3RhdHVyLAplcmZvcmRlcnQgbWVociBhcmJlaXQgbWl0IGRlbiBGaW5nZXJuLCBtZWhyIGtvbnplbnRyYXRpb24gdXN3IHVzdyAuLi4uClVuZCB3ZW5uIGljaCBkYSBlaW5lbiBiZXN0aW1tdGVuIFNwaWVsZXIgYW5zZWhlIGRlciBudXIgbWl0IFRlbG5ldCBzcGllbHQsCmFiZXIgZmVobGVyZnJlaSB2b24gbWlyIGF1cyB2b24gZGVyIENoYW9zZ2lsZGUgenVyIFphdWJlcmVyZ2lsZGUgbGFldWZ0IGZpbmRlCmljaCBrZWluZW4gZ3Jvc3NlbiBOYWNodGVpbCBmdWVyIGRlbiBTcGllbGVyIHNlbGJzdC4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbGVnYWxlcyBza3JpcHQ/IChLZXksIDE0LiBNYXIgMTk5OCwgMjI6NDU6NTUpOgp+IyEgcm49U211cmYgcnQ9ODg5NjYzMDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODg5MDM5OTQ2CgpIbW0gYWxzbyBpY2ggaGFiIG1hbCB3YXMgdm9uIDEyMDAwIFJhZXVtZW4gZ2Vob2VydCAuLi4gb2Igd2lyIHNjaG9uIGJlaSAxNTAwMAphbmdla29tbWVuIHNpbmQgd2Vpc3MgaWNoIGFiZXIgYXVjaCBuaWNodCA6KQoKS2V5LCBmaW5kZXRzIGplZGVuZmFsbHMgc2Nob2VuIGdyb3NzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBsZWdhbGVzIHNrcmlwdD8gKFp1ZXJpbGV1LCAxNi4gTWFyIDE5OTgsIDA2OjMyOjMwKToKfiMhIHJuPUtleSBydD04ODk5MTE5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKSGksCkFsc28gaWNoIGJpbiBrZWluIEZhbiB2b24gVHJpZ2dlciB1bmQgU2NyaXB0cywgZGllIGVpbnppZ2VuIFNjcmlwdHMgZGllIGljaAptYWwgaGF0dGUgd2FyIGVpbiB1bnBlcmZla3RlciBrYW1wZnNjcmlwdCB1bmQgdmllbGVlIFdlZ2VzY3JpcHQuIERhcyB3YXIgYWJlcgp2b3IgZWluaWdlbiBKYWhyZW4sIHNlaXQgaWNoIE1hZ2llciBiaW4ga2FubiBpY2ggbWljaCBqYSBhbmRlcnMgdW5kCnByYWt0aXNjaGVyIGZvcnRiZXdlZ2VuLiBBbmRlcnNlaXRzIGthbm4gbWFuIGRpZSBtZWlzdGVuIFRyaWdnZXIgJiBzY3JpcHRzIGphCm5pY2h0IHp1cnVlY2t2ZXJmb2xnZW4gdW5kIGVzIGdpYnp0IGltbWVyIGludGVsbGlnZW5kZXJlIFNjcmlwdHMuIGVzIGlzdCBldHdhcwp3aWUgVmlyZW4gcHJvZ3JhbW1pZW4gdW5kIGFudGkgVmlydXMga2lsbGVyIHByb2dyYWdyYW1tZW4gZXMgZ2lidCBpbW1lciBlaW4KaGluLyB1bmQgaGVyLiBKZWRlciBmaW5kZXQgaXJnZW50d2FubiB3aWVkZXIgZWluIFdlZyBkYXMgc3lzdGVtIHp1IHVtZ2VoZW4gdW5kCmVpbiBzY3JpcHQgenUgc2NocmVpYmVuIGRlciBhdWYgZ2V3aXNzZSBNYWdpZXItdHJpY2tzIGFuZGVycyByZWFnaWVydCwgdW5kIGF1ZgpkZXIgYW5kZXJlbiBTZWl0ZSB3ZXJkZW4gZGllIE1hZ2llciBhbGxlcyBkcmFubiBzZXR6ZW4gZGllc2Ugc2NyaXB0cyB6dQpmaW5kZW4uCkljaCBmaW5kZSBtYW4gc29sbHRlIGFic3RpbW1lbiBvYiB3aXIgU2NyaXB0cyB1bmQgVHJpZ2dlciBlcmxhdWJlbiB1bmQgd28gZGllCkdyZW56ZW4gc2luZC4gVW5kIG1pciBiZWthbm50IGhhdCBtYW4gZGFzIHNjaG9ubWFsIGFiZ2VzdGltbXQgbWl0IGRlbQplcmdlYm5pc3MgZGFzIFNjcmlwdHMgdW5kIFRyaWdnZXIgYXVzZXIgV2VnZXNjcmlwdHMgdW50ZXJzYWd0IHNpbmQuIFdlciBzaWNoCm5pY2h0IGRhcmFuIGhhZWx0LCBzb2xsIEdFTE9FU0NIVCB3ZXJkZW4gKEVyIHdlaXNzIHZvbiBzZWluZW0gUmlzaWtvIHVuZCBpc3QKZXMgc2ljaCBiZXd1c3N0ISBBbHNvIGtlaW4gdmVyYmFybWVuLi4pLiB3ZW5uIG5pY2h0IGdlbG9lc2NodCBkYW5uCnp1cnVlY2tnZXN0dWZ0IG9kZXIgaXJnZW50d2FzLCBqZWRlbmZhbGxzIHNvbGx0ZSBlciBiZXN0cmFmdCB3ZXJkZW4uIFdlbm4gbWFuCnNjcmlwdHMgYmV3aWxsaWd0ICh3YWVyIGRpZSBiZXN0ZSBMb2VzdW5nKSBkYW5uIGtvZW5udGUgbWFuIGRpZSBtdWVoZSBkaWUgbWFuCm51biBhdWYgZGVyIHNjcmlwdHNqYWdkIHZlcnB1bHZlcnQgYW5kZXJzd28gaW52ZXN0aWVydCB3ZXJkZW4uIEJlencuIGhhbHQgYW4KZ2V3aXNzZW4gT3J0ZW4gZGllIEdlZ2VuZGVuIGF1ZiBTY3JpcHQtdW5mYWhlaWcgenUgcHJvZ3JhbW1pZXJlbiBtaXQgc2ljaAp3ZWNoc2VsdGVuIFdlZ2VuIG9kZXIgc28uIE51ciBzdG9lcnQgbWFuIHNvbWl0IGF1Y2ggU3BpZWxlciBkaWUgbmljaHQgc2NyaXB0ZW4KdW5kIHNpY2ggc29sY2hlIFdlZ2UgaW0gS29wZiBtZXJra2VuIChkdW1tIGdlbGF1ZmVuIHdlbm4gZGVyIFdlZyBld2lncwphZW5kZXJ0KS4KQWxzIG5pY2h0IFNjcmlwdHMgb2RlciB0cmlnZ2VyLCBmaW5kZSBpY2ggZGllc2UgSGVscCB0b29scyBvYndvaGwgamVkZXMgdm9uCmRpZXNlbiBUb29scyBrYW5uIGRvY2ggYXVjaCBUcmlnZ2VybiB1bmQgU2NyaXB0ZW4sIGRpZSB2ZXJzdWNodW5nIHN0IHZpZWwgenUKZ3Jvc3MsIG1hbiBzb2xsdGUgc2ljaCBkYXMgdWViZXJsZWdlbi4gRGF6dSBpc3QgZXMgc2NoYWRlIHdlbm4gZWluIE1hZ2llciB6LmIuCnZlcnN0ZWNrdGUgUmFldW1lIG9kZXIgRGluZ2UgZWluYmF1dCB1bmQgZWluIHN1Y2gtdmVyYiBwcm9ncmFtbSBmaW5kZXQgZGVuCkdlaGVpbWdhbmcgb2RlciBzb25zdCBldHdhcyBpbmVyaGFsYiB2b24gc2VrdW5kZSBkYSBlciBuaWNodCBtZWhyIHNlbGJlcgpzdWNoZW4gbXVzcy4gSWNoIGZpbmRlIHNvd2FzIGVocmxpY2ggZ2VzYWd0IGF1cyBTaWNodCBlaW5lcyBNYWdpZXJzIHNjaGVpc3NlICEKQWJlcmYgd2FzIGthbm4gbWFuIG1hY2hlbiB2ZXJiaXRlbiBrYW5uIG1hbiBkYXMgYW53ZW5kZW4gdm9uIFRvb2xzCndhcnNjaGVpbmxpY2ggbmljaHQsIHVuZCBzY2hvbmdhcm5pY2h0IHZlcmhpbmRlcm4uCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGxlZ2FsZXMgc2tyaXB0PyAoQ2F0d2VhemxlLCAxNi4gTWFyIDE5OTgsIDEyOjQwOjUxKToKfiMhIHJuPUtleSBydD04ODk5MTE5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKTW9pbiEKCkljaCBoYWJlIGxldHp0ZSBXb2NoZSBtYWwgZGllIFJhZXVtZSBnZXphZWhsdCwgZGFiZWkgc2luZCAxMjE1NCBSYWV1bWUgYmVpCnJ1bSBnZWtvbW1lbi4gRGllc2UgWmFobCBpc3QgYWJlciBrZWluZXN3ZWdzIGtvcnJla3QsIHNvbmRlcm4gbnVyIGVpbiBncm9iZXIKQW5oYWx0c3B1bmt0LCBkYSBlaW5lcnNlaXRzCi0gbmljaHQgamVkZXIgUmF1bSB6d2luZ2VuZCBzdGQvcm9vbSBpbmhlcml0ZW4gbXVzcyAod29uYWNoIGljaCBnZWdyZXB0IGhhYikKLSBFcyBkaXZlcnNlIFZpcnR1YWxDb21waWxlciBnaWJ0LCBkaWUgYXVjaCBuaWNodCBtaXRnZXphZWhsdCB3ZXJkZW4uCiAgRGllIFd1ZXN0ZSB6QiBoYXQgdWViZXIgMjAwIFJhZXVtZSBpbSBWQywgZGllIFNlaGVyaGFldXNlciBzY2hsYWdlbiBzb2dhciAKICBtaXQgdWViZXIgODAwIFJhZXVtZW4gZXh0cmEgenUgQnVjaGUsIHVzdy4KYW5kZXJlcnNlaXRzCi0gbmljaHQgamVkZXIgUmF1bSwgZG4gaWNoIGdlZnVuZGVuIGhhYmUgYXVjaCBhbmdlc2NobG9zc2VuIGlzdC4KCkljaCB3dWVyZGUgYWJlciB0cm90emRlbSBpbiBlaW5lciBtdXRpZ2VuIFNjaGFldHp1bmcgZGllIEFuemFobCBkZXIgUmFldW1lCmF1ZiB1ZWJlciAxNDAwMCBzY2hhZXR6ZW4uCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbGVnYWxlcyBza3JpcHQ/IChUaGVyaW4sIDE2LiBNYXIgMTk5OCwgMTM6NTQ6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MDA0ODQ1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4OTAzOTk0NgoKSWNoIHd1ZXJkZSBhYmVyIHRyb3R6ZGVtIGluIGVpbmVyIG11dGlnZW4gU2NoYWV0enVuZyBkaWUgQW56YWhsIGRlciBSYWV1bWUKYXVmIHVlYmVyIDE0MDAwIHNjaGFldHplbi4KClVuZCB3aWUgd2FyIGRpZSBTdGFuZGFyZCBGUCBWZXJ0ZWlsdW5nPyAxMDoxPyBVaCBPaC4uIFZpZWwgQXJiZWl0IGZ1ZXIgZGllCkhlcnJlbiBCbHVlbWNoZW5wZmx1ZWNrZXIuCgpULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbGVnYWxlcyBza3JpcHQ/IChTaWx2YW5hLCAxNi4gTWFyIDE5OTgsIDE4OjA0OjU2KToKfiMhIHJuPVRoZXJpbiBydD04OTAwNTI4NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKTmFqYSwgQ2F0LCBpY2ggc2NoYWV0emUsIERlaW5lIFphZWhsdW5nIGR1ZXJmdGUgZGV1dGxpY2ggdW50ZXJ0cmllYmVuCnNlaW4uIFdlbm4gaWNoIGRhcmFuIGRlbmtlLCBkYXNzIGRhcyBnYW56ZSBWTGFuZCB2ZXJtdXRsaWNoIG5pY2h0IGVpbmVuClJhdW0gaGF0LCBkZXIgL3N0ZC9yb29tIGRpcmVrdCAoISkgaW5oZXJpdGVkLi4uIE9kZXIgaGFzdCBEdSBlcm5zdGhhZnQKZGllIGluaGVyaXRfbGlzdCBnZWxhZGVuZXIgUmFldW1lIGR1cmNoc3VjaHQ/CgogIGZyYWd0IHNpY2ggLSBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBsZWdhbGVzIHNrcmlwdD8gKE1vcmdvdGgsIDE3LiBNYXIgMTk5OCwgMDc6NTg6NDcpOgp+IyEgcm49U2lsdmFuYSBydD04OTAwNjc4OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKSGV5IGhleSBoZXksCmRhIGVzIGpldHp0IGltIC9zdGQvcm9vbSBhdWNoIFNtZWxscyB1bmQgU291bmRzIGdpYnQsIGJlbnV0emUgaWNoIGRlbiBqZXR6dAphdWNoLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVlc3QgKEJlbnNvbm1hbSwgMTkuIE1hciAxOTk4LCAxMDo0MToxMSk6CkRhIGRpZSBBbnphaGwgZGVyIEFydGlrZWwgaW4gYWxsZ2VtZWluZXMgamEgZHJhbWF0aXNjaCBhYmdlbm9tbWVuIGhhdCBpbiBkZW4KbGV0enRlbiBUYWdlbiwga2FubiBtYW4gamEgbWFsIHdpZWRlciBuZSBuZXVlIERpc2t1c3Npb24gbG9zdHJldGVuOgoKV2FzIHNwcmljaHQgZWlnZW50bGljaCBkYWdlZ2VuLCBUYXJrbyBSZXViIG5pY2h0IHdpZWRlciBhbnp1aGFlbmdlbj8KCkouIEJlbnNvbm1hbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0IChaYXJuaXlhLCAxOS4gTWFyIDE5OTgsIDEwOjUyOjA2KToKfiMhIHJuPUJlbnNvbm1hbSBydD04OTAzMDA0NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMDA0NzEKV2FyZ29uIHNwcmljaHQgZGFnZWdlbiwgZGVubiBlciBoYXQgVFIgZ2Vwcm9nZ3QgdW5kIHdlbm4gZXIgbmljaHQgd2lsbCwgZGFzcwplcyB3aWVkZXIgYW5nZXNjaGxvc3NlbiB3aXJkLCBkYW5uIGlzdCBkYXMgZWluZmFjaCBzby4gTWFuIHNvbGx0ZSBzZWluZW4KV3Vuc2NoIHZpZWxsZWljaHQgZW5kbGljaCBha3plcHRpZXJlbiwgc3RhdHQgYWxsZSAyLTMgTW9uYXRlIG5ldSBkaWVzZW4KZGVzd2VnZW4gdW5zaW5uaWdlbiBWb3JzY2hsYWcgenUgbWFjaGVuLgoKWmFybml5YQoKUC5TLjogVFIgaXN0IHdvaGwgbWl0IGRpZSBCRVNURSBRdWVzdCBoaWVyIGltIE1HIHVuZCB3ZXIgTHVzdCBoYXQsIG1hbCBlaW4Kc2Nob2VuZXMgQWJlbnRldWVyIHp1IG1hY2hlbiwgT0hORSBkYWZ1ZXIgUHVua3RlIHp1IGtyaWVnZW4sIGRlciBsaWVndCBkYQpnZW5hdSByaWNodGlnLiBXZXIgaGllciBudXIgQWJlbnRldWVyIG1hY2h0LCB3ZW5uIGVzIGF1Y2ggQVBzIGRhZnVlciBnaWJ0LCBpc3QKc293aWVzbyBrcmFuayEgRGVtbmFjaCBpc3QgVFIgZWlnZW50bGljaCBuaWUgYWJnZWhhbmdlbiB3b3JkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0IChNdXJrZXMsIDE5LiBNYXIgMTk5OCwgMTE6MDE6MTEpOgp+IyEgcm49WmFybml5YSBydD04OTAzMDExMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMDA0NzEKV2VubiBoaWVyIGplbWFuZCBrcmFuayBpc3QsIGRhbm4gd29obCBEdS4gWnVtaW5kZXN0IGVyd2Vja2VuIERlaW5lIEFydGlrZWwgaW4KZGVyIGxldHp0ZW4gWmVpdCBzdGFyayBkZW4gRWluZHJ1Y2sKTXVya2VzCi0tLS0tPiBhYiBuYWNoIGZsYW1lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0IChIYW5nb3ZlciwgMTkuIE1hciAxOTk4LCAxMToxMzozMyk6Cn4jISBybj1aYXJuaXlhIHJ0PTg5MDMwMTEyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMwMDQ3MQpCYWghCgpJY2ggcXVlc3RlIGRvY2gga2VpbmUgMTAgU3R1bmRlbiB1bSA0IG9kZXIgNSBGUCB6dSBmaW5kZW4uIERhZnVlciBnaWJ0CmVzIGltIE1HIHZpZWwgZ2VlaWduZXRlcmUgR2VnZW5kZW4gYWxzIHRvdGUgUXVlc3RzLiAKCi1IYW5nb3Zlcgood2lsbCBUYXJrbyBSZXViIHdpZWRlcmhhYmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUXVlc3QgKENhdHdlYXpsZSwgMTkuIE1hciAxOTk4LCAxMjoyOToyOSk6Cn4jISBybj1IYW5nb3ZlciBydD04OTAzMDI0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMDA0NzEKTWF0ZXJpYWxpc3QhCgpTY2hvbiBtYWwgZGFydWViZXIgbmFjaGdlZGFjaHQsIGVpbmUgUXVlc3Qgd2VnZW4gZGVyIEF0bW9zcGhhZXJlIG9kZXIgZGVyIApHZXNjaGljaHRlIHdlZ2VuIHp1IHNwaWVsZW4/CgpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUXVlc3QgKEFyaywgMTkuIE1hciAxOTk4LCAxMjozMjoxMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkwMzA2OTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzAwNDcxCk9oLCBkaWUgTGV1dGUgZ2lidCBlcz8gV2VyIG1hZyBkYXMgc2Vpbj8gKmdyaW5zKgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFF1ZXN0IChHbG9pbnNvbiwgMTkuIE1hciAxOTk4LCAxMzozNTo1Nik6Cn4jISBybj1BcmsgcnQ9ODkwMzA3MTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzAwNDcxClphcm5peWEgaGF0IGF1c25haG1zd2Vpc2UgbmljaHQgdW5yZWNodCAoZG9wcGVsdGUgVmVybmVpbnVuZyBpc3Qgd2FzClNjaG9lbmVzIDstKSApLiBBcms6IElpaWljaCA6KQpOYSBndXV1dCwgZXMgc3BpZWx0IGF1Y2ggbm9jaCBlaW5lIFJvbGxlLCBkYXNzIGljaCBtb21lbnRhbiBuaWNodCBzbwpzY2hhcmYgYXVmIHp1IHZpZWwgQVBzZSBiaW4sIGRpZSBicmluZ2VuIG1pY2ggZGVtIFNlaGVyZGFzZWluIG51cgpuYWVoZXIgLSB1bmQgZGllc2VzIGtsYWVnbGljaGUgU2NoaWNrc2FsIG1vZWNodGUgaWNoIHZlcnNjaGllYmVuIDstKQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpUIGluIFF1ZXN0cyAoSXJhLCAxOS4gTWFyIDE5OTgsIDE0OjE2OjU4KToKSWNoIGRhY2h0ZSBtYWwsIGVzIHNvbGx0ZSBrZWluZSBadHMgbWVociBpbiBRdWVzdHMgZ2ViZW4sIHdpZXNvIG11c3MgaWNoIGRhbm4KZGllIGhhbGJlIFRpdGl3dS1RdWVzdCBub2NobWFsIHNwaWVsZW4sIHVtIGFuIGVpbmVuIHp1IGtvbW1lbj8KCklyYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaVCBpbiBRdWVzdHMgKEFyaywgMTkuIE1hciAxOTk4LCAxNDoyMjoyNCk6Cn4jISBybj1JcmEgcnQ9ODkwMzEzNDE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4CkRhcyBiZXpvZyBzaWNoIG1laW5lcyBXaXNzZW5zIG51ciBhdWYgbmV1IGhpbnp1a29tbWVuZGUsIGRhIGRpZXNlIGFsdGVuCmphIG5vY2ggdm9uIHZpZWxlbiBTcGllbGVybiBnZWZ1bmRlbiB3ZXJkZW4ga29lbm5lbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFpUIGluIFF1ZXN0cyAoSG9ibywgMTkuIE1hciAxOTk4LCAxNDoyNjo0Mik6Cn4jISBybj1BcmsgcnQ9ODkwMzEzNzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4Ck5laW4sIGRhcyBiZXppZWh0IHNpY2ggYW4gc2ljaCBhdWNoIGF1ZiBkaWUgYWx0ZW4uIApEaWUgc29sbHRlbiBhbGxlIHJhc3VnZW5vbW1lbiB3ZXJkZW4uIFdlciBhbHNvIG5vY2ggWlRzIGluIFF1ZXN0cyBoYXQsIGRlcgpzb2xsIHNpZSBhbiBkZW4gWlQtTWFnaWVyIC0+IFJpa3VzIChIb2Vob2UsIEFyYmVpdCBiZXNjaGFmZikgbWFpbGVuLiBVbmQgZGVyCnNvbGx0ZSBpcmdlbmR3YW5uIGV0d2FzIGRhZ2VnZW4gdW50ZXJuZWhtZW4gOykKRGF2YW9uIGF1c2dlbm9tbWVuIHNpbmQgZWlnZW50bGljaCBudXIgWlRzIGluIFF1ZXN0ZW4sIGRpZSBtYW4gaW0gQWxsZ2VtZWluZW4Kbm9jaCBuaWNodCBoYXQsIGJldm9yIG1hbiBhbGxlIFRpcHMgYmVrb21tZW4gaGF0LiBaLkIuIEluZmVybm8gKFp3ZWl0aWUKcmVpbnNjaHVicyEpLCBsZWlkZXIgOigKCiBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaVCBpbiBRdWVzdHMgKFphcm5peWEsIDE5LiBNYXIgMTk5OCwgMTQ6MzI6MzgpOgp+IyEgcm49SG9ibyBydD04OTAzMTQwMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMTM0MTgKRGVyIFpUIGluIHRpdGl3dSBpc3QgZHJpbmdlYmxpZWJlbiwgd2VpbCBtYW4gZGllIHF1ZXN0IHNvd2llc28gc3BpZWx0CihlcmZhaHJ1bmdzZ2VtYWVzcykgdW5kIHdlbm4gbWFuIHNpZSBzY2hvbm1hbCBnZXNwaWVsdCBoYXQsIGRhbm4ga29tbXQgbWFuIGJpcwp6dSBkZW0gWlQgaW4gdW50ZXIgMyBtaW51dGVuLi4uLiBhbHNvIGtlaW4gQXVmd2FuZCB1bmQga2VpbiBncnVuZCB6dW0gamFtbWVybi4KRGllcyB3YXIgZGFtYWxzIGRpZSBNZWludW5nIGRlciBiZWlkZW4gZnVlciBkaWUgWlRsb2VzY2h1bmcgdmVyYW50d29ydGxpY2hlbi4KClphcm5peWEsIGVpbmUgZGF2b24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpUIGluIFF1ZXN0cyAoWmVwaHlyLCAxOS4gTWFyIDE5OTgsIDE0OjM2OjM1KToKfiMhIHJuPVphcm5peWEgcnQ9ODkwMzE0MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4CkRlbiBaVCBpbSBTY2huZWVoYXVmZW4gaW4gMyBNaW51dGVuIHp1IGtyaWVnZW4gaGFsdGUgaWNoIGZ1ZXIgbmVuIFdpdHouClplcGh5ciwga2VubnQgYXVjaCBkaWUgbmV1ZSBUaXRpd3UtVmVyc2lvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpUIGluIFF1ZXN0cyAoS2V5LCAxOS4gTWFyIDE5OTgsIDE0OjM4OjE2KToKfiMhIHJuPUhvYm8gcnQ9ODkwMzE0MDAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4ClNjaG9uIGxhbmdlIFJpa3VzIGdlbWFpbHQgLi4KClJpa3VzIGh1aHUgdHUgd2FzIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpUIGluIFF1ZXN0cyAoS2V5LCAxOS4gTWFyIDE5OTgsIDE0OjQwOjA2KToKfiMhIHJuPVphcm5peWEgcnQ9ODkwMzE0MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4ClNvc28/CkFsc28gaWNoIHNwcmVjaGUgbWFsIGt1ciBhdXMgRXJmYWhydW5nIC4uLiBpY2ggaGF0dGUgcHJvYnMgZGFiZWkgc2llIG5vY2htYWwKenUgbG9lc2VuLgpBdXNzZXJkZW0gLi4uIDMgTWludXRlbj8gU29sbCBtYW4gc2ljaCBuZW4gc2NyaXB0IHNjaHJlaWJlbj8KVW5kIHdpZSBrb21tdCBtYW4gZGVubiB2b20gZWlzYmVyZyB3ZWc/IEdlaHQgZGFzIHNvIHdpZSB3ZW5uIG1hbiBkaWUgUXVlc3QKbG9lc2VuIHdvbGx0ZT8KCkFsc28gZW50d2VkZXIgS29uc2VxdWVudCBhbGxlIFpUcyBhdXMgUXVlc3RzIHJhdXMsIG9kZXIgbWFuIGxhZXNzdCBhbGxlIGRyaW4uCkFjaGphIFphcm4qIEFsbGVpbmUgZGllIFNjaGlmZmZhaHJ0IGRhaW4gZGF1ZXJ0IG1pbi4gMyBtaW4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFpUIGluIFF1ZXN0cyAoRHVmZnksIDE5LiBNYXIgMTk5OCwgMTQ6NTA6MzYpOgp+IyEgcm49WmVwaHlyIHJ0PTg5MDMxNDU5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMxMzQxOAphbHNvIG1pciBnZWZhZWxsdCBkYXMgYXVjaCBuaWNodCBtaXQgZGVuIFpUcyBpbiBRdWVzdCBnZWJpZXRlbi4gTWVpbiBFcnN0aWUKZHVyZnRlIGRpZSBGcmllZGhvZnF1ZXN0IDN4IG1hY2hlbi4gSmVkZXMgbWFsIHdlbm4gZXIgZHVyY2ggd2FyLCBiZWthbSBlcgplaW5lbiBuZXVlbiBaVCBkb3J0LiBVbmQgYXVjaCBiZWkgbWlyIHdhciBlcyBwYXNzaWVydDogVGl0aXd1IGdlcmFkZSBmZXJ0aWcsCmhpbiB6dW0gT3Jha2VsLCBuZXVlciBaVDogVGl0aXd1IGJlaW0gRWlzYmVyZy4gRXMgbWFjaHQgZWJlbiBhdWNoIGtlaW5lbgpTcGFzcywgZWluZSBRdWVzdCB6dW0geHRlbiBNYWxlIHp1IG1hY2hlbi4gQXVjaCB3ZW5uIHNpZSBtYW5jaGUgTGV1dGUgaW4Kd2VuaWdlciBhbHMgNSBtaW4gU2NoYWZmZW4uCgpEdWZmeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWlQgaW4gUXVlc3RzIChSaWt1cywgMTkuIE1hciAxOTk4LCAxNTowMDoxNik6Cn4jISBybj1LZXkgcnQ9ODkwMzE0Njk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4CmphamEsIGljaCBoYWJlIGltbWVyIG1hbCBTZWhlci9TcGllbGVyIGdlZnJhZ3QsIHdvIG5vY2ggWlRTIEVUV0FTClRJRUZFUiBpbiBRdWVzdHMgc3RlY2tlbiwgdW0gZGllIHZlcmxlZ2VuIHp1IGtvZW5uZW4uIEF1Y2ggZWluZSBVbS0KZnJhZ2UgaW4gbWFnaWVyLnF1ZXN0cyBvZGVyIHNvIGhhYmUgaWNoIGdlbWFjaHQuIERpZSBTdW1tZSBzaW5kCjIgWlRzIG9kZXIgMywgZGllIGljaCBlcmZ1aHIsIGFsc28gbmljaHQgZGllIFdlbHQuLi4KTWFpbHQgbWlyIGdlemllbHQgZGVuIFNwcnVjaCBkZXMgWlQsIGRlciBFdXJlciBNZWludW5nIG5hY2ggenUKdGllZiBpbiBlaW5lciBRdWVzdCBpc3QgdW5kIGljaCBzZWggZXMgbWlyIGFuLCBhYmVyIG9obmUgUnVlY2stCm1lbGR1bmcga2FubiBhdWNoIGF1Y2ggbml4IGFlbmRlcm4sIHdhcyBhdWNoLi4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWlQgaW4gUXVlc3RzIChPYmVybW90eiwgMTkuIE1hciAxOTk4LCAxNTowMTo1OCk6Cn4jISBybj1SaWt1cyBydD04OTAzMTYwMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMTM0MTgKRGEgaXN0IG51ciBlaW4gUHJvYmxlbTogV2llIGtvbW1lIGljaCB3aWVkZXIgYW4gZGVuIHRleHQsIHdlbm4gaWNoIGRlbiBaVCBudW4Kc2Nob24gaGFiZT8KCk9NCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaVCBpbiBRdWVzdHMgKFJpa3VzLCAxOS4gTWFyIDE5OTgsIDE1OjA0OjEwKToKfiMhIHJuPU9iZXJtb3R6IHJ0PTg5MDMxNjExOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMxMzQxOApiZXNjaHJlaWJlIGlobiBzbyBnZW5hdSB3aWUgbW9lZ2xpY2ggaW4gc2VpbmVyIExhZ2Ugb2RlciB2ZXJzdWNoZSwgCm9iIGVpbiBhbmRlcmVyIGRlbiBUZXh0IG5vY2ggaGF0Li4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWlQgaW4gUXVlc3RzIChIb2JvLCAxOS4gTWFyIDE5OTgsIDE1OjA3OjA2KToKfiMhIHJuPVJpa3VzIHJ0PTg5MDMxNjI1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMxMzQxOApEYXMgaXN0IHVlYnJpZ2VucyBlaW5lciB2b24gZGVuIFpUcyBtaXQgbWVociBhbHMgZWluZW0gU3BydWNoLi4uIDspCkVpbmVuIGRhdm9uIGhhYicgaWNoIG5vY2ggdW5kIHNjaG9uIGFuIFJpa3VzIGdlbWFpbHQuLi4uCgogSG9iby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpUIGluIFF1ZXN0cyAoQmFtYnVsa28sIDE5LiBNYXIgMTk5OCwgMTg6MDE6MTgpOgp+IyEgcm49SG9ibyBydD04OTAzMTQwMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMTM0MTgKQWxzbyBtZWluIFp3ZWl0aWUgaGF0dGUgbGV0enRlbnMgZGVuIFpUIGluIEhpbGJlcnRzIFR1cm0uLi4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTpSZTogWlRzIGluIFF1ZXN0cyAoT3ZlcmxvcmQsIDE5LiBNYXIgMTk5OCwgMjE6MDc6MTcpOgoKCkFsc28gaWNoIHdhZXJlIGVoZXIgZGFmdWVyLCBkYXNzIG1hbiBudXIgZGllIFpUcyBiZWtvbW10LCBkaWUgbWFuIHNpY2ggaG9sZW4Ka2Fubi4gSWNoIGhhYmUgei5CLiBlaW5lbiBpbiBkZXIgRHJha29uaWVyZmVzdHVuZyB1bmQgYmluIGRhIHppZ21hbAphYmdlbmliYmVsdCB1bmQgaGFiIGRlbiBpbW1lciBub2NoIG5pY2h0LgoKSWNoIGhhYmUgbmljaHRzIGdlZ2VuIFpUcyBpbiBRdWVzdHMuIE1pdCBldHdhcyBHbHVlY2sga2FubiBtYW4gZGllCmJldHJlZmZlbmRlbiBaVHMgZW4gcGFzc2FudCBiZWltIFF1ZXN0ZW4gZWluc2FtbWVsbgoKT3ZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6UmU6IFpUcyBpbiBRdWVzdHMgKEFyaywgMTkuIE1hciAxOTk4LCAyMToyMToxMik6Cn4jISBybj1PdmVybG9yZCBydD04OTAzMzgwMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMzgwMzcKRXMgZ2luZyBqYSBhdWNoIG51ciB1bSBkaWUsIGRpZSB0aWVmIGltIFF1ZXN0Z2ViaWV0IGxpZWdlbiAobGFnZW4pLCBkb3J0LCB3bwptYW4gYmVpbSAibm9ybWFsZW4iIFNwaWVsIG5pY2h0IGhpbmtvbW10LiBGcmllZGhvZiB3YWVyZSBzbyBlaW4gQmVpc3BpZWwsIGljaAp3ZWlzcyBhYmVyIG5pY2h0LCBvYiBkaWUgbm9jaCBkcmluIHNpbmQgOi0pClNvLCBqZXR6dCBhYmVyIFNjaGx1c3MsIHNvbnN0IHZlcnJhdGVuIHdpciBqYSBub2NoIGFsbGVuIEFuZmFlbmdlcm4gZGllClZlcnN0ZWNrZQoqa2ljaGVyKgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpUIGluIFF1ZXN0cyAoRHJvZ28sIDIwLiBNYXIgMTk5OCwgMTE6MjM6NDMpOgp+IyEgcm49QmFtYnVsa28gcnQ9ODkwMzI2ODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4CkluIGRlciBGcmFjaHRndXQtUXVlc3Qgc2luZCBhdWNoIG5vY2ggd2VsY2hlIAoKRHJvZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFpUIGluIFF1ZXN0cyAoRHVmZnksIDIwLiBNYXIgMTk5OCwgMTQ6NTA6MzYpOgp+IyEgcm49WmFybml5YSBydD04OTA0MDExMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTAzMTM0MTgKYWxzbyBtZWluIEVyc3RpZSBPYmVybW90eiBoYXR0ZSAzIChpbiBCdWNoc3RhYmVuIERSRUkpIFpUcyBpbSBGcmllZGhvZi4gT2theSwKZXMgaXN0IHNjaG9uIDMgb2RlciA0IE1vbmF0ZSBoZXIsIGRhc3MgZXIgc2llIHNpY2ggZ2Vob2x0IGhhdC4gQWJlciBlcyB3YXJlbgozLgoKRHVmZnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFpUIGluIFF1ZXN0cyAoUmluZ29yLCAyMC4gTWFyIDE5OTgsIDE1OjA2OjQwKToKfiMhIHJuPUFscGhhIHJ0PTg5MDQwMjY1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMxMzQxOApCZXZvciBEdSBCZWhhdXB0dW5nZW4gYXVmc3RlbGxzdCBhbGEgInp1bSBWYW1waXIgYXVmIGRlbSBGcmllZGhvZiBrb21tdCBtYW4KbnVyLCBpbmRlbSBtYW4gZGllIFF1ZXN0IHNwaWVsdCIsIGluZm9ybWllciBEaWNoIGxpZWJlciBtYWwuCgpTbyBtYWNoc3QgRHUgRGljaCBudXIgbGFlY2hlcmxpY2guCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFpUIGluIFF1ZXN0cyAoQ2F0d2VhemxlLCAyMC4gTWFyIDE5OTgsIDE1OjA3OjQ5KToKfiMhIHJuPVphcm5peWEgcnQ9ODkwNDAxMTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4ClNvLCB1bmQgamV0enQgbW9lY2h0ZSBhdWNoIGljaCBtYWwgd2FzIGRhenUgdmVybWVsZGVuLgpNaXIgcGxhdHp0IG5hZW1saWNoIHRhdHNhZWNobGljaCBsYW5nc2FtIGRlciBLcmFnZW4uIEljaCBmYW5kIGRhcyBqYSBiaXNoZXIKbWVpc3QgYW11ZXNhbnQsIGFiZXIgaXJnZW5kd2FubiBoYWIgaWNoIGRhbm4gZG9jaCBkaWUgUGFwcGUgYXVmLiAKVm9uIGpldHp0IGFuIHdlcmRlIGljaCBBcnRpa2VsIHZvbiBaYXJuaXlhIG9kZXIgd2VpdGVyZW4gQWJrb2VtbWxpbmdlbiB2b24KWWFudHJvLCBkaWUgYmVsZWlkaWdlbmRlcyBHZW1hdWxlIGVudGhhbHRlbiwgb2huZSBSdWVja3NpY2h0IGF1ZiBldmVudHVlbGxlCnNpbm52b2xsZSBJbmhhbHRlIG5hY2ggTXVlbGwgdmVybGVnZW4gb2RlciBsb2VzY2hlbi4gV2VyIGFsc28gZGllc2VtIFVucnVlaG0tCmxpY2hlbiBUb24gZW5nZWhlbiBtb2VjaHRlLCBtb2VnZSBhbHNvIG11ZWxsIGFiYmVzdGVsbGVuLgoKRmFsbHMgaXJnZW5kamVtYW5kIGRpZXNlcyBWb3JnZWhlbiBmdWVyIHp1IGFubWFzc2VuZCBoYWVsdCwga2FubiBtaXIgZGllcwptaXR0ZWlsZW4sIGFiZXIgYml0dGUgdmlhIG1haWwuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFpUIGluIFF1ZXN0cyAoWmFybml5YSwgMjAuIE1hciAxOTk4LCAxNToyMToxNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkwNDAyODY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4CkNhdHR5LCB3ZXIgYmlzdCBkdSwgZGFzcyBEdSBtZWluc3QsIGRhc3MgZHUgZGljaCBzbyBnZWdlbnVlYmVyIGVpbmVtIFNwaWVsZXIKd2llIG1pciB2ZXJoYWx0ZW4ga2FubnN0PyBHb3R0PyBaZW5zdXJjaGVmPyBPZGVyIGVpbmZhY2ggbnVyIGVpbiBXaWNodGlndHVlcj8KClppdGF0OiAiICguLi4pIG9obmUgUnVlY2tzaWNodCBhdWYgZXZlbnR1ZWxsZSBzaW5udm9sbGUgSW5oYWx0ZSAoLi4uKSAiCgpLbGluZ3QgamEgZmFzdCBmYXNjaGlzdG9pZCwgdW0gbWFsIHdpZWRlciBlaW4gUmVpendvcnQgaW5zIFNwaWVsIHp1IGJyaW5nZW4uCgpaYXJuaXlhIHJhZXQgenUgaGlsZmUgaWdub3JpZXJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBaVCBpbiBRdWVzdHMgKEhhbmdvdmVyLCAyMC4gTWFyIDE5OTgsIDE1OjIyOjQ2KToKfiMhIHJuPVphcm5peWEgcnQ9ODkwNDAzNjc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4Ck1vaW4hCgpJY2ggZGVua2UgbWFsLCBpY2ggc3ByZWNoZSBkYW1pdCBuaWNodCBudXIgbWlyIGF1cyBkZXIgU2VlbGUuIGFiZXI6CllhbnRyby9aYXJuaXlhL3dlcmF1Y2hpbW1lcjogRHUgbmVydnN0IQoKVW5kIHdlbm4gRGVpbmUgQmVpdHJhZWdlIGF1cyBHZWphbW1lciwgR2Vub2VsZSB1bmQgQmVsZWlkaWd1bmdlbgpiZXN0ZWhlbiwga2FubiBpY2ggQ2F0d2VhemxlcyBHcm9sbCBkdXJjaGF1cyB2ZXJzdGVoZW4gdW5kIGF1Y2gKYmVncnVlc3Nlbi4KCkp1c3QgbXkgdHdvIGNlbnRzLApoYW5nb3ZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWlQncyBpbiBRdWVzdCdzIChTcmFiaSwgMjAuIE1hciAxOTk4LCAxOToxNDo0NSk6Cm5pbW0gYWxsZXMgamEsIGlzdCB2aWVsbGVpY2h0IG5pY2h0IGltbWVyIGdhbnogZ3V0LCB3ZW5uIG1hbiBlaW5lIFF1ZXN0IG1hY2h0CnVuZCBkYW5hY2ggZGVuIFpUIGJla29tbXQsIGRlciBpbiBkZXIgUXVlc3QgaXN0LiBBYmVyIGdydW5kbGVnZW5kIGlzdCBkYXMgZG9jaAprZWluIFByb2JsZW0sIHNpY2ggZGVuIFpUIGRhbmFjaCBub2NoIHp1IGhvbGVuLiBJY2ggc2VsYmVyIGhhdHRlIGluIGRlcgpMb2didWNocXVlc3QgKG5hY2hkZW0gaWNoIHNpZSBnZW1hY2h0IGhhdHRlKSB6d2VpIFpUJ3MsIGRpZSBpY2ggbWlyIG9obmUKUHJvYmxlbWUgaG9sZW4ga29ubnRlLiBJY2ggdmVyc3RlaGUgZWluZmFjaCBkYXMgUHJvYmxlbSBuaWNodC4gTmEgZ3V0LCBpbiBkZXIKRHVuY3RvbnF1ZXN0IGRlciwgbGllZ3QgdmllbGxlaWNodCBlaW4gYmlzc2NoZW4gdW5ndWVuc3RpZywgYWJlciBiZWkgZGVuCmFuZGVyZW4gbXVzcyBkb2NoIG5pY2h0IGRpZSBoYWxiZSBvZGVyIGdhbnplIFF1ZXN0IGR1cmNoZ2VzcGllbHQgd2VyZGVuLiBJY2gKbXVzc3RlIGRhcyBiaXMgYmlzIGpldHp0IG5vY2ggbmljaHQgbWFjaGVuLgoKU3JhYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOlJlOlJlIFpUcyBpbiBRdWVzdHMgKE92ZXJsb3JkLCAyMC4gTWFyIDE5OTgsIDE5OjI0OjE4KToKW0JlenVnOiBBcnRpa2VsIDE0NCB2b24gQXJrIHZvbSAxOS4gTWFyIDE5OTgsIDIxOjIxOjEyXQoKQWxzbyBlcyBnZWh0IGF1Y2ggYW5kZXJzcnVtLi4uIEJlaW0gWlQgc3VjaGVuIGluIFN0ZWlubWFubnMgVmlsbGEgaGFiZSBpY2gKZ2FueiB2ZXJzZWhlbnRsaWNoIGRpZSBOYXJyZW5iYWxscXVlc3QgZ2VtYWNodC4gV2FyIGtlaW5lIEFic2ljaHQuIEVocmxpY2guCjopKSkpCgpPdmksIGxpZWJlciBaVHMgc3VjaGVuZCwgZGFtaXQgZXIgZ3Jvc3MgdW5kIHN0YXJrIHdpcmQgenVtIE1ldHplbG4sIGFscyBRdWVzdHMKbG9lc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZpbmRlIGVzIHRvdGFsIGRvb2YsIGRhc3MgbWFuIGdlend1bmdlbiB3aXJkIG5hY2ggc2VpbmVtIGFibGViZW4gYmV0ZW4genUgZ2VoZW46IGJpbiBpbSBSTCBhdGhlaXN0IHVuZCB3ZWlnZXJlIG1pY2ggZGllc2VzIHp1IHR1biEgd2llIHdhZXJlIGVzIGFuc3RlbGxlIGRlc3NlbiBpbnMga3JhbmtlbmhhdXMgenUgZGVoZW4gdW5kIHNpY2ggZG9ydCB3aWVkZXJiZWxlYmVuIHp1IGxhc3Nlbj8gKEtleSwgMjAuIE1hciAxOTk4LCAyMDoxNTo1Mik6Cn4jISBybj1CYWdoaXJhIHJ0PTg5MDQyMDczMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQyMDczMQpBUkdMISEhIQpEYXMgaXN0IGVpbiBTcGllbCEgS2xhcj8gRGFzIGhhdCBuaWNodHMgbWl0IGRlbSBSTCB6dXR1biwgb2RlciBzb2xsdGUKenVtaW5kZXN0IG5ldCBzb3ZpZWwgLCkKSWNoIGJpbiBhdWNoIG5ldCBnZXJhZGUgZ2xhZXViaWcsIGFiZXIgZGFzIGljaCBkZXN3ZWdlbiBoaWVyIG5ldCBiZXRlbiB3dWVyZGUKLi4uLgoqc2NodWV0dGVsKgpVbmQgd2VubnMgRGljaCBiZXJ1aGlndCAuLi4gZHUgYmV0ZXN0IGhpZXIgenUgQm9pbmcsIEpvZiwgb2RlciBSdW1hdGEgLi4uIHZvbgptaXIgYXVzIGF1Y2ggenUgZGllc2VuIEx1c2NoaXMgTGVtYm9sZCB1bmQgQ28gLi4uIHJlaWNodCBkYXMgbmljaHQ/CgpLZXksIHZlcnN0ZWh0cyBhYiB1bmQgYW4gbmltbWVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWlRzIGluIFF1ZXN0cyAoT3ZlcmxvcmQsIDIwLiBNYXIgMTk5OCwgMjA6MjU6NTEpOgpdCltCZXp1ZzogQXJ0aWtlbCB2b24gQ2F0d2VhemxlIGluIFJ1YnJpayBNdWVsbCB2b20gMjAuIE1hci4gMTk5OCAxNTowODowNApdCgpBbHNvIEVyc3RlbnM6IFN0ZWxsZSBpY2ggZmVzdCwgZGFzcyBDYXR3ZWF6bGUgc2ljaCBkYXVlcm5kIHVlYmVyIGRpZSBXb3J0d2FobAphbmRlcmVyIFNwaWVsZXIgYmVzY2h3ZXJ0ICh6LkIuIFphcm5peWEpLCBzaWNoIGFiZXIgc2VsYmVyIG9lZnRlciBtYWwgaW0gVG9uCnZlcmdyZWlmdC4KCjIuKSBoYXQgbmljaHQgamVkZXIgZGVuIEdMIHVtIGhlaWwgZHVyY2ggZGllIERyYWtvbmllcmZlc3R1bmcgenUga29tbWVuCgozLikga2FubiBtYW4gYXVmIGRlbiBlbnRzcHJlY2hlbmRlbiBLYW5hZWxlbiBmcmFnZW4gdW5kIGZyYWdlbiB1bmQga2VpbmVyIGhhdApMdXN0LCBtaXR6dWtvbW1lbi4gU292aWVsIHp1bSBUaGVtYSBNVUxUSS4KCk92aSwgZGVua3QgdWViZXIgZWluIGlnbm9yaWVyZSBDYXR3ZWF6bGUgbmFjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaVHMgaW4gUXVlc3RzIChLZXksIDIwLiBNYXIgMTk5OCwgMjA6Mjg6MzgpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkwNDIxOTUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDIxOTUxCjEuOiBDYXQgaXN0IG9raSwgdW5kIHZvciBhbGxlbSBtb3NlcnQgZXIgbmljaHQgbnVyIHJ1bSB1bmQgbmVydnQuIFdhbm4KdmVyZ3JlaWZ0IGVyIHNpY2ggZGVubiBpbSBUb24/CjIuOiBTZWl0IHdhbm4gYnJhdWNoIG1hbiBHTCBmdWVyIGRpZSBGZXN0dW5nPwozLjogS29tbXQgaW1tZXIgZHJhdWYgYW4gd2llIG1hbiBmcmFndCAuLi4uClZpZWxsZWljaHQgZGVua3QgbWFuIGF1Y2ggbWFsIGRyYW4gc2ljaCBlaW5mYWNoIGFuIG5lbiBTcGllbGVyIGRyYW56dWhhZW5nZW4/Cgo0LjogSWdub3JpZXIgaWhuIGRvY2ggOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaVHMgaW4gUXVlc3RzIChPdmVybG9yZCwgMjAuIE1hciAxOTk4LCAyMDozNDo1OCk6CltCZXp1ZzogQXJ0aWtlbCAxNTYgdm9uIEtleSwgMjAuIE1hci4gMTk5OCwgMjA6Mjg6MzhdCgoxLikgS2VubmUgaWNoIHdlZGVyIFphcm5peWEgbm9jaCBDYXR3ZWF6bGUgbm9jaCBEaWNoLCBLZXksIHVuZCBrYW5uIHNjaG9uCmFsbGVpbiBkZXNoYWxiIG5pY2h0cyBwZXJzb2VubGljaGVzIGdlZ2VuIEV1Y2ggaGFiZW4uCjIuKSBLYW5uIENhdHdlYXpsZSBzaWNoIG5pY2h0IHNlbGJzdCBkYXp1IGFldXNzZXJuPyBXaWVzbyBoYWVuZ3N0IER1IERpY2ggZGEKcmVpbj8KMy4pIFp1bSBUaGVtYSBDYXR3ZWF6bGVzIFdvcnR3YWhsIHNhZ2UgaWNoIG51cjogd2VyIGltIEdsYXNoYXVzIHNpdHp0IHNvbGwKbmljaHQgbWl0IFN0ZWluZW4gd2VyZmVuLgoKT3ZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaVHMgaW4gUXVlc3RzIChLZXksIDIwLiBNYXIgMTk5OCwgMjA6Mzc6MTIpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkwNDIyNDk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDIyNDk4CjEuOiBTY2hudWNraWJ1dHppICwpIEFsc28gLi4uIGljaCBoZWlzc2UgS2V5LCBiaW4gZnVyY2h0YmFyIGJvZXNlIHVuZCBlaW4KQ2hhb3QgOykKMi46IEVyIGlzdCBqYSBuZXQgZGEgOykgVW5kIHdvenUgaGF0IGVyIHNlaW5lIHNrbGF2ZW4/IC4pCjMuOiAqd2VyZiogSGV5IGljaCBoYWIgdmVyZGFtbXQgbm9jaG1hbCBlaW5lbiBzY2hlaXNzIGdlcGZsZWd0ZW4gVW1nYW5nc3Rvbgo9OykpKQoKS2V5LCBuZXQgc2NobWFycm5lbmQgc29uZGVybiBtdWVsbGVuZCA9OykKClAuUy46IEFyZ3MgOykgVWViZXJtdWVkdW5nIGlzdCBzY2hvbiBuZSBnZWlsZSBEcm9nZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWlRzIGluIFF1ZXN0cyAoR3JleXN0b25lLCAyMC4gTWFyIDE5OTgsIDIwOjQwOjIyKToKfiMhIHJuPU92ZXJsb3JkIHJ0PTg5MDQyMjQ5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQyMjQ5OApBbHNvIGljaCBrYW5uIHZlcnN0ZWhlbiB3ZW5uIENhdCBzYXVlciB3aXJkLCBkZW5uIHdlbm4gaGllciBlaW4gCkV4IGVyemllIGF1cyBGcnVzdCBkaWUgTVBBIHp1bXVlbGx0LCBzdGFlbmRpZ1NzcGllbGVyIGJlbGVpZGlndAp1bmQgZGllIGFyYmVpdCBkZXIgTWFnaWVyLCBkaWUgaGllciB6dW0gd29obGUgZGVzIFNwaWVscwp0b2xsZSBTYWNoZW4gcHJvZ2dlbiBuaWVkZXJtYWNodCwgaGF0IGVyIG1laW5lciBNZWludW5nIG5hY2ggaGllciBuaXggenUKc3VjaGVuLgoKR3JleXN0b25lIGt1cnosIG1pdCB0eXBvcyB1bmQgc2NobWVyemxvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmV0ZW4gbmFjaCB0b2QgKEJhZ2hpcmEsIDIwLiBNYXIgMTk5OCwgMjA6NDg6MDkpOgphbHNvIHdhcyBtZWludCBpaHIgZGF6dTogaWNoIHdpbGwgbmljaHQgYmV0ZW4sIHdlbm4gaWNoIGdlc3RvcmJlbiBiaW4gKCBpbSBSTAphdGhlaXN0LCB3YXJ1bSBhbHNvIGltIE1HIG5pY2h0PyEpIHd1ZXJkZSBtaWNoIGxpZWJlciBpbSBLcmFua2VuaGF1cwp3aWVkZXJiZWxlYmVuIGxhc3NlbjotKSBvZGVyIHNvIHdhcy4uLi4gZXVyZSBCYWdoaXJhICoqCmFsc28gd2FzIG1laW50IGlociBkYXp1OiBpY2ggd2lsbCBuaWNodCBiZXRlbiwgd2VubiBpY2ggZ2VzdG9yYmVuIGJpbiAoIGltIFJMCmF0aGVpc3QsIHdhcnVtIGFsc28gaW0gTUcgbmljaHQ/ISkgd3VlcmRlIG1pY2ggbGllYmVyIGltIEtyYW5rZW5oYXVzCndpZWRlcmJlbGViZW4gbGFzc2VuOi0pIG9kZXIgc28gd2FzLi4uLiBldXJlIEJhZ2hpcmEgKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQgWlRzIGluIFF1ZXN0cyAoT3ZlcmxvcmQsIDIwLiBNYXIgMTk5OCwgMjA6NDk6NDIpOgpbQmV6dWc6IEFydGlrZWwgMTU5IHZvbiBHcmV5c3RvbmUsIDIwLiBNYXIuIDE5OTgsIDIwOjQwOjIyXQoKSWNoIGhhYiBqYSBkdXJjaGF1cyBhdWNoIGRhZnVlciBWZXJzdGFlbmRuaXMsIG51ciBrYW5uIENhdCogc28gZ2VzdHJlc3N0IG5pY2h0CnNlaW4sIHdlbm4gZXIgbWlyLCBtZWluZXMgRXJhY2h0ZW5zIHdlZ2VuIG5peCB1bmQgd2llZGVyIG5peCwgYW4gZGllIEd1cmdlbApnZWh0LgoKQW5zb25zdGVuIGhhdCBqZWRlciBtYWwgZWluZW4gc2NobGVjaHRlbiBUYWcsIGljaCBzaWNoZXJsaWNoIGF1Y2gsIGFsc28Kc2Nod2FtbSBkcnVlYmVyIHVuZCBNdWVsbHZlcm1laWR1bmcgOykKCk92aSwgYXVjaCBkZW4gTXVlbGxiZXJnIGVyaG9laGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiZXRlbiBuYWNoIHRvZCAoV3VyemVsLCAyMC4gTWFyIDE5OTgsIDIxOjAwOjI3KToKfiMhIHJuPVd1cnplbCBydD04OTA0MjM5MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0MjMyODkKZGFzIG1nIGhhdCBlaW4gcmVjaHQgdW1mYW5ncmVpY2hlcyBoaWxmZXN5c3RlbS4gZGFzIG51ZXR6dCBhbGxlcmRpbmdzIG5pY2h0cywKd2VubiBtYW4gZXMgbmljaHQgaW4gYW5zcHJ1Y2ggbmltbXQuCmFscyBlcnN0ZXMgZW1wZmVobGUgaWNoIG1hbCAiaGlsZmUgbXBhIiA6KQp3ZWl0ZXIgd2FlcmUgZWluICJoaWxmZSBhbGlhcyIgdmllbGxlaWNodCBhbmdlYnJhY2h0Li4uIHVuZCBzaWVoZSBkYSwgZXMKZ2lidCBkYSBhdWNoIGZ1ZXIgZGljaCBlaW5lIG1vZWdsaWNoa2VpdC4uLiAiYWxpYXMgbm9lcmdlbCBiZXRlIiwgdW5kIHNjaG9uCmlzdCBkYXMgcHJvYmxlbSBlcmxlZGlndCA6KQoKd3VyemVsICh1bnN0ZXJibGljaGUgYnJhdWNoZW4gbmljaHQgenUgYmV0ZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGJldGVuIG5hY2ggdG9kIChadWVyaWxldSwgMjAuIE1hciAxOTk4LCAyMzo1Njo0NCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODkwNDI0MDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDIzMjg5CkhpLApDYXR3ZWF6bGUgbGViZSBIb2NoICEgRW5kbGljaCwgaGF0IGVzIGplbWFuZCBtYWwgWmFybml5YSBnZXNhZ3QsIGVyIG5lcnZ0ZSBpbgpsZXR6dGVyIFpldCB3aXJrbGljaCB6dSBvZnQgbWl0IGlyZ2VudHdlY2hlbiBNYWlscyB1bmQgYmVsZWlkaWd1bmdlbi4gTmFqYQphaC4uIHdpZSBpbiBkZW4gZ3V0ZW4gYWx0ZW4gemVpdGVuICEKClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKFNoYW5uYXJhLCAyMS4gTWFyIDE5OTgsIDA5OjUwOjA0KToKV2VubiBuaWNodCBiYWxkIGV0d2FzIGdlZ2VuIE1ldHplbHNrcmlwdGUgdW5kIEJhbmt6d2VpdGllcyAoekIgSHlwb2JhbmspCnVudGVybm9tbWVuIHdpcmQsIGhhdWUKaWNoIGF1ZiBhbGxlcyBkZW4gSHV0IGRyYXVmIHVuZCBzdWNoZSBtaXIgZWluIGFuZGVyZXMgTVVELCBvYndvaGwgbWlyIHZvbgphbGxlbiBtaXIgYmlzIGpldHp0IGdlc3BpZWx0ZW4gTVVEcyBNb3JnZW5HcmF1ZW4gYW0gYmVzdGVuIGdlZmFlbGx0LgoKTWljaCBhZXJnZXJ0IG5hZW1saWNoIG1hc3Nsb3MsIGRhc3MgaWNoIHZvciBrdXJ6ZW4gMiBOYWNodHJ1ZXN0dW5nZW4gdW5kIGVpbmVuCkRvbGNoIGluIGRlciBTY2hhdHRlbnN0YWR0IGVya2FlbXBmdCBoYWJlIChpbSB1ZWJyaWdlbiBoYWJlIGljaCBrZWluZSBQcm9ibGVtZQpkb3J0KSB1bmQgZGFmdWVyIElOU0dFU0FNVCA2MDAgR29sZHN0dWVja2UgYW5zdGF0dCBzbyBjYS4gNDAwMCBiZWtvbW1lbiBoYWJlLgpEYXMga29tbXQgZGF2b24sIG9id29obCBnZXdpc3NlIFNwaWVsZXIgKG1laXN0IExldmVsID4gMTIgdW5kIFNlaGVyKSBiZWluaGFydAppaHJlIE1ldHplbHNrcmlwdGUgaW4gTW9yb24sIEdvYmxpbmxhZ2VyIHVuZCB3ZWlzcyB6dW0gVGV1ZmVsIHdvIG5vY2gsIHVuZAphbnNjaGxpZXNzZW5kIGFsbGVzIGVyYmV1dGV0ZSB2ZXJrYXVmZW4uIERhc3MgZGFubiBzbyB6aWVtbGljaCB6dSBqZWRlciBaZWl0CmRhbm4gZnVlciBSdWVzdHVuZ2VuLCBTY2h3ZXJ0ZXIsIEhlbG1lIHVuZCBhZWhubGljaGVzIG51ciBub2NoIHNvIDEwMC01MDAgR1MKYW5zdGF0dCBkZXIgbm9ybWFsZW4gUHJlaXNlIGJ6dy4gTEVJQ0hUIGdlc2Vua3RlciBQcmVpc2UgYmVrb21tZS4gSW56d2lzY2hlbgppc3Qgc2Nob24gc28gc2NobGltbSwgZGFzcyBpY2ggdWViZXJnYW5nZW4gYmluLCBkaWUgZGl2ZXJzZW4gU3RhY2hlbCB1bmQgRmVsbGUKbWlyIGJlc29yZ2UgdW5kIGRpZSB2ZXJrYXVmZSwgd2VpbCBkb3J0IChub2NoKSBrZWluZSBBYnN0cmljaGUgc2luZC4KCk1laW5lcyBFcmFjaHRlbnMgdHJpZmZ0IGRpZXNlIHVuZmFpcmUgVm9yZ2VoZW5zd2Vpc2UgYmVzb25kZXJzIGRpZQpuaWVkcmlnc3R1ZmlnZW4gdW5kIG1pdHRlbHN0dWZpZ2VuIFNwaWVsZXIgKHdpZSBpY2gpIGJlc29uZGVycyBoYXJ0LCBkYSBzaWUKbWVpc3RlbnMgbm9jaCBuaWNodCBlaW5lIHNvIGd1dGUgQXVzc3RhdHR1bmcgaGFiZW4gdW5kIDEwMDAwIEdvbGRzdHVlY2tlIGZ1ZXIKZGllIGVpbiBWZXJtb2VnZW4gc2luZCAoamEsIGFuIGRpZXNlciBTdGVsbGUgd2VyZGVuIHNpY2ggd2FocnNjaGVpbmxpY2gKZ2V3aXNzZSBTZWhlci9pbm5lbiBlaW4gTGFjaGVuIG5pY2h0IHZlcmtuZWlmZW4ga29lbm5lbikuCkVpbiB3ZWl0ZXJlcyBQcm9ibGVtIHNpbmQgZGllIEJhbmt6d2VpdGllcywgZGllICh3aWVkZXI/KSBtZWhyIG9kZXIgd2VuaWdlcgpvZmZlbiBoZXJ1bWxhdWZlbiwgd2llIHpCIEh5cG9iYW5rICghKSwgZGVyIGRlbiBnZXN0cmlnZW4gQWJlbmQgZ2FueiB1bmdlbmllcnQKYmVpbSBTYW5kdGlnZXIgZ2VzdGFuZGVuIGlzdC4KClNoYW5uYXJhCgpQUzogRGllIEdyYW1tYXRpa2ZlaGxlciB0dW4gbWlyIGxlaWQsIG1pdCBkZW4gUHJvZ3JhbW0sIG1pdCBkZW4gaWNoIHp1ciBaZWl0CmRlciBBcnRpa2VsZXJzdGVsbHVuZyB2ZXJidW5kZW4gd2FyLCBpc3QgemllbWxpY2ggbWllcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoRGhvamFrdCwgMjEuIE1hciAxOTk4LCAxMDoyMToxMyk6Cn4jISBybj1TaGFubmFyYSBydD04OTA0NzAyMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKT2ssIGRhbm4gd2lsbCBpY2ggZGlyIG1hbCBtZWluZW4gU3RhbmRwdW5rdCBkZXV0bGljaCBtYWNoZW4uCldlbm4gaWNoIGVybnN0aGFmdCB3YXMgbWV0emVsIGJyYXVjaCBpY2ggZXR3YSAyMC0zMCBrIHBybyBzdHVuZGUgenVtIHRhbmtlbi4KRGggaWNoIG11c3MgZnVlciBlYmVuc292aWVsIEtyYW0gZGl2ZXJzZXIgTW9uc3RlciB2ZXJrYXVmZW4uIERpZSBhbmRlcmVuCmhvZWhlcmVuIFNlaGVyIHdlcmRlbiBlcyBhZWhubGljaCBtYWNoZW4sIHVuZCBkaWUgbWVpc3RlbiB2ZXJrYXVmZW4gZXJzdG1hbAppaHJlbiBLcmFtIGluIGRlbiB6ZW50cmFsZW4gTGFlZGVuLiBEdSBrYW5uc3QgYWxzbyBkYXZvbiBhdXNnZWhlbiwgZGFzcyBhYiAzClRhZ2UgbmFjaCBSZWJvb3QgZGllc2UgY2hyb25pc2NoIHBsZWl0ZSBzaW5kLgpadW0gVmVyZ2xlaWNoIG1vZWNodGUgaWNoIG5vY2ggYW5mdWVocmVuLCBkYXNzIGVzIHNlbGJzdCBlaW4gZWluemVsbmVyIGJlaQpkaWVzZW0gVmVyYnJhdWNoIGluIDYgU3R1bmRlbiBzY2hhZmZ0LCBlaW5lbiBMYWRlbiBwbGVpdGUgenUga3JpZWdlbiAoaXN0IG1pcgpuaWNodCBudXIgZWluIG1hbCBpbiBSb3RmZWxzIHNvIHBhc3NpZXJ0LCB1bmQgZGEgdmVya2F1ZnQgbnVuIHdpcmtsaWNoIGtlaW5lcgp3ZWl0ZXIpLiBJZGVlbiB6dXIgQWJoaWxmZSBzaW5kIGRhaGVyIGVoZXIgYW4gTWFnaWVyIGFscyBhbiBTcGllbGVyIHp1CnJpY2h0ZW4sIGRlbm4gZGFzIE1ldHplbG4gZWluenVzdGVsbGVuIGlzdCBrZWluIGJyYXVjaGJhcmVyIFZvcnNjaGxhZy4KVW5kIG1laXN0IGhhdCBtYW4ga2VpbmUgTHVzdCwgamVkZSBTdHVuZGUgd2llZGVyIG1ldHplbG4genUgZ2VoZW4sIGFsc28gaG9sdAptYW4gc2ljaCA1MC0xMDAgayB1bmQgaGF0IGRhbm4gcGFhciBTdHVuZGVuIFJ1aGUuIERhIG1hbiBhYmVyIHNvIHZpZWwgbmljaHQKdHJhZ2VuIGthbm4gbXVzcyBtYW4gZXMgamEgaXJnZW5kd28gendpc2NoZW4nbGFnZXJuJy4gRGFzIHNvbGx0ZSBkaWUKQmFua3p3ZWl0aWVzIGVya2xhZXJlbiAoYXVjaCB3ZW5uIGljaCBrZWluZSBhdXNzY2hsaWVzc2xpY2hlbiBCYW5raWVzIGhhYmUsCkZpZ3VyZW4gaW0gaG9lY2hzdGVuIEdpbGRlbmxldmVsIGthbm4gbWFuIG5pY2h0IHNvIHJlY2h0IGFscyBCYW5raSBiZXplaWNobmVuCjspICkuCkVpbiBuZXVlcyBCYW5rc3lzdGVtIG1pdCBuZXIgQXJ0IEtvbnRvcyBpc3QgYWJlciBpbiBQbGFudW5nLgpCaXMgZGFoaW4gaGlsZnQgd29obCBudXIsIGluIG1vZWdsaWNoc3QgYWJnZWxlZ2VuZW4gTGFlZGVuIGFtIEVuZGUgZGVyIFdlbHQgenUKdmVya2F1ZmVuLgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChEaG9qYWt0LCAyMS4gTWFyIDE5OTgsIDEwOjMxOjUzKToKfiMhIHJuPURob2pha3QgcnQ9ODkwNDcyMDczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkFjaGphLCBpY2ggaGFiIG5vY2ggd2FzIHZlcmdlc3NlbjoKV2VubiBlaW4gaG9laGVyZXIgU3BpZWxlciBpcmdlbmR3byBkdXJjaHJlbm50IHVuZCBlaW5mYWNoIGFsbGVzIHBsYXR0bWFjaHQKbXVzcyBkYXMgbm9jaCBrZWluIFplaWNoZW4gdm9uIE1ldHplbHNjcmlwdCBzZWluLCBkYXMga2FubiBlYmVuc29ndXQgZGFzCkJlc29yZ2VuIHZvbiBHZWxkIHNlaW4sIHNjaGxpZXNzbGljaCBpc3QgZGFzIG5lIGxhbmd3ZWlsaWdlIFRhZXRpZ2tlaXQgdW5kIGRhCndpbGwgbWFuIHNpY2ggbmljaHQgc28gbGFuZ2UgZGFtaXQgYXVmaGFsdGVuIChnZWh0IG1pciB6dW1pbmRlc3Qgc28pLgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgZXdpZ2UgTWVja2VyZWkgKFNyYWJpLCAyMS4gTWFyIDE5OTgsIDExOjI1OjM4KToKQWxzbywgaWNoIHdpbGwgamV0enQgYXVjaCBtYWwgbWl0bWVja2Vybi4gV2FzIHNpY2ggaGllciBzbyBlaW5pZ2UgU3BpZWxlciBtaXQKa2xlaW5lbSBMZXZlbCBpbiBkZXIgTVBBIGxlaXN0ZW4sIGlzdCBqYSB3b2hsIGVjaHQgbmljaHQgd2FyLiBNZWNrZXJlaSB1ZWJlcgpqZWRlbiBrbGVpbmVuIEZlaGxlciBpbSBNb3JnZW5HcmF1ZW4uIE9LLCBpY2ggbWVja2VyIGF1Y2ggZ2FueiBnZXJuZSBtYWwsIGFiZXIKZGFzIGRpZSAna2xlaW5lbiBTcGllbGVyJywgZGllIGdlcmFkZSBtYWwgZGFzIE1vcmdlbkdyYXVlbiBrZW5uZW5sZXJuZW4sCmFuZmFuZ2VuLCBkZXJhcnQgZGllIE1QQSAnenVtdWVsbGVuJywgaXN0IGphIHdvaGwgZWNodCBuaWNodCBtZWhyIG5vcm1hbC4KTGV1dGUsIGRlbmt0IGVyc3QgbWFsIG5hY2ggdW5kIHNjaHJlaWJ0IGRhbm4uIERpZSBNUEEgaXN0IGtlaW4gTXVlbGxlaW1lci4gRGllCk11ZWxsc2NobHVja2VyIHN0ZWhlbiBpbiBkZW4gTGFlZGVuLgoKU3JhYmksIHVlYmVyIGRpZSBNUEEgZ2VuZXJ2dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBld2lnZSBNZWNrZXJlaSAoTWF0aXMsIDIxLiBNYXIgMTk5OCwgMTE6NDA6MDgpOgp+IyEgcm49U3JhYmkgcnQ9ODkwNDc1OTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDc1OTM4CjEuIFdlbm4gbWFuIHNpY2ggZGllIE1QQSBhbnNjaGF1dCwgaXN0IGVpbiBHcm9zc3RlaWwgZGVyIEFydGlrZWwgdm9sbApNZWNrZXJlaSB1ZWJlciB3aWNodGlnZSB1bmQgdW53aWNodGlnZSBEaW5nZS4gU28gaXN0IGRhcyBsZWlkZXIgbnVuCm1hbC4gQmVpIEZydXN0IHNldHp0IG1hbiB2aWVsIHNjaG5lbGxlciB3YXMgaW4gZGllIFplaXR1bmcsIGZpbmRldCBtYW4KaGluZ2VnZW4gZXR3YXMgdG9sbGVzIE5ldWVzIGltIE1HLCBkYW5uIGZpbmRldCBlaW4gTG9iIHZpZWwgc2VsdGVuZXIKc2VpbmVuIFdlZyBpbiBkaWUgTVBBLgoKMi4gRGllIE1QQSBpc3QgZnVlciBhbGxlIGRhLiBPYiBudW4gZWluIHNvZ2VuYW5udGVyIExvdy1MZXZlbC1QbGF5ZXIKb2RlciBlaW4gYWx0ZWluZ2VzZXNzZW5lciBTZWhlciBldHdhcyBzY2hyZWliZW4gbW9lY2h0ZSwgYmVpZGUgaGFiZW4KZGFzIGdsZWljaGUgUmVjaHQgZGF6dS4gV2FlcmUgc29uc3QgYXVjaCBldHdhcyBlaW5zZWl0aWcsIG9kZXI/CgozLiBOYXR1ZXJsaWNoIHNvbGx0ZSBuaWNodCBqZWRlcyBrbGVpbmVzIFByb2JsZW0gaW4gZGllIE1QQSwgbWFuY2htYWwKaGlsZnQgc2Nob24gKGZyZXVuZGxpY2hlcykgRnJhZ2VuIGF1ZiBlaW5lbSBLYW5hbC4KCk1hdGlzLCBhdWNoIG1hbCBldHdhcyBzY2hyZWliZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBaVCBpbiBRdWVzdHMgKFphcmRveiwgMjEuIE1hciAxOTk4LCAxMjo0MDo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkwNDAyODY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwMzEzNDE4Ck1pciBnZWZhZWxsdCBkaWUgQXJ0IG5pY2h0LCB3aWUgQ2F0d2VhemxlIEFydGlrZWwgc2NocmVpYnQsIGRlc2hhbGIgd2VyZGUgaWNoCmluIFp1a3VuZnQgYWxsZSBBcnRpa2VsIHZvbiBDYXR3ZWF6bGUgb2huZSBSdWVja3NpY2h0IGF1ZiBzaW5udm9sbGUgSW5oYWx0ZQpuYWNoIE11ZWxsIHZlcmxlZ2VuIG9kZXIgbG9lc2NoZW4uCgpXZW1zIG5pY2h0IHBhc3N0LCBzb2xsIG1pciBtYWlsZW4uCgpDaWFvIFphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWlRzIGluIFF1ZXN0cyAoWmFybml5YSwgMjEuIE1hciAxOTk4LCAxMzowNjo0MCk6Cn4jISBybj1PdmVybG9yZCBydD04OTA0MjI0OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0MjI0OTgKT3ZlcmxvcmQsIGljaGthbm4gbWljaGF1Y2ggbmljaHQgZGFyYW4gZXJpbm5lcm4sIGRhc3MgQ2F0dHkgc2ljaCBtYWwgaW0gVG9uCnZlcmdyaWZmZW4gaGFldHRlLCBkZW5uIGRhenUgZmVobHQgaWhtIGRlciBNdW1tIDopIFVuZCB3YXMgS2V5IGFuZ2VodDogRGVyClNjaGxlaW10IHNpY2hlciBudXIgcnVtLCB3aWUgaW1tZXIgOikpKSkKCip6d2lua2VyIEtleSoKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoWWFyZW4sIDIxLiBNYXIgMTk5OCwgMTQ6MDc6NTkpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNDcwMjA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkRhcyBkaWUgTGFlZGVuIGNocm9uaXNjaCBwbGVpdGUgc2luZCwgaXN0IGRvY2ggZ2VyYWRlIGVpbiBQcm9ibGVtIGRlciBITFAsCmxpZWJlIFNoYW5uYXJhISBXZW5uIGljaCB6dW0gR2VsZCBiZXNvcmdlbiBsb3N6aWVoZSB1bmQgZWluIHBhYXIgR2FyZGllcwptZXR6ZWwgdW5kIGRhbm4gaW4gZWluZW0gTGFkZW4gJ3ZlcmthdWZlIGFsbGVzJyBtYWNoZSB1bmQgc2VoZSwgd2llIGRpZQpBdXN6YWhsdW5nZW4gdm9uIDExMDAgYXVmICdpY2ggYmluIHBsZWl0ZScgcnVudGVyZ2VoZW4sIGRhbm4gbmVydnQgbWljaCBkYXMKYXVjaCBnZXdhbHRpZy4gRGVyIEdydW5kIGRhZnVlciBsaWVndCBhYmVyLCB3aWUgRGhvamFrdCBzY2hvbiBhbm1lcmt0ZSwgbmljaHQKYW4gaXJnZW5kd2VsY2hlbiBydWVja3NpY2h0c2xvcyBtZXR6ZWxuZGVuIFNlaGVybiwgc29uZGVybiBhbiBkZW0KR2VsZGZsdXNzLVN5c3RlbSBpbSBNRy4gQWJoaWxmZTogc3VjaCBEaXIgZWluZW4gTGFkZW4sIGRlciBuaWNodCBzbyBzdGFyawpmcmVxdWVudGllcnQgaXN0LCB1bmQgd2VubiBEdSBkcmluZ2VuZCBHZWxkIGJyYXVjaHN0LCBkYW5uIGZyYWcnIGRvY2ggZWluZmFjaAptYWwgZWluZW4gU2VoZXIsIGRlciBnZXJhZGUgYW0gR2VsZCBtZXR6ZWxuIGlzdCwgb2IgZXIgRGlyIGV0d2FzIGFiZ2lidC4gV2lyCnNpbmQgbmFlbWxpY2ggbmljaHQgYWxsZSBib2VzZSwgYXJyb2dhbnRlIHVuZCBlZ29pc3Rpc2NoZSBtZXR6ZWxuZGUKU3Bhc3NicmVtc2VuIC4uLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKEdyZXlzdG9uZSwgMjEuIE1hciAxOTk4LCAxNDozNzoyNSk6Cn4jISBybj1TaGFubmFyYSBydD04OTA0NzAyMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKMSkgVmllbGUgTWV0emVsbiBoaWVyIGF1Y2ggb2huZSBTcmlwdGUsIHNjaGFmZmVuIGVzIGFiZXIgdHJvdHpkZW0gZWluaWdlCkxhZWRlbiBwbGVpdGUgenUgbWFjaGVuLgpWaWVsZWljaHQgYnJhdWNoZW4gU2llIGphIGRhcyBHZWxkIHp1bSB1ZWJlbiB1bSBpaHJlIEdpbGRlbnNwcnVlY2hlCnp1IGVyaG9laGVuLiAod2llIGljaCB6LmIgZGVyIGVyc3RhbSAzMDBrIHNhbW1lbHQgdW0gZWZmZWt0aXYgbGVybmVuIHp1CmtvZW5uZW4pCmtsYXIga29tbXQgZXMgbWFsIHZvciBkYXMgZWluIExhZGVuIHBsZWl0ZSBpc3QuIEFiZXIgZXMgZ2lidCBqYQphdWNoIG1laHIgYWxzIDEgTGFkZW4gaGllciBpbiBkZW0gbWFuIHNhY2hlbiB2ZXJrYXVmZW4ga2Fubi4KCjIpIE1ldHplbHNjcmlwdGUgZGllIEdlbGQgZXJiZXV0ZW4gZ2Vob2VyZW4gdmVyYm90ZW4uIFVuZApzaW5kIHNpZSBqYSBhdWNoLgozKSBJbiBob2VoZXJlbiBTdHVmZW4gYnJhdWNoZW4gZGllIE5JQ0hUIEJsdWVtY2hlbnBmbHVlY2tlciBoaWVyIAplYmVuIG1hbCBldHdhcyBtZWhyIGdlbGQgYWxzIDEwayB6dW0gbWV0emVsbi4gKG1pdCAxMGsga29tbXQgbWFuIGF1Y2gKbWl0IEZvcnNjaGVuIHouQiBpbiBNb3Jnb3RocyBGZXN0dW5nIG5pY2h0IHdlaXQpLgoKR3JleXN0b25lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWlQgaW4gUXVlc3RzIChBbmF0b2wsIDIxLiBNYXIgMTk5OCwgMTY6NTE6MjMpOgp+IyEgcm49WmFyZG96IHJ0PTg5MDQ4MDQ0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDMxMzQxOApKYSwgY2lhbyBaYXJkb3ouCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKEtleSwgMjEuIE1hciAxOTk4LCAyMDoxNjowNyk6Cn4jISBybj1TaGFubmFyYSBydD04OTA0NzAyMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKRHUgaGFzdCB2b2xsIGRpZSBBaG51bmcgLi4uLiBpY2ggd2Vpc3MgbmljaHQgd2llc28gaWNoIG1pY2ggUkwgZ2VyYWRlIHRvdGxhY2hlCi4uLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoS2V5LCAyMS4gTWFyIDE5OTgsIDIwOjIyOjU5KToKfiMhIHJuPUdyZXlzdG9uZSBydD04OTA0ODc0NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKMTBrPwpXaWxsc3QgZHUgbWljaCAxIE1pbnV0ZSBpbiBCZXdlZ3VuZyBzZWhlbj8gLikKCkFuIG5lbSBndXRlbiBUYWcgdnJlYnJhdCBpY2ggZmFzdCBuZSBtaW8gLi4uIHdlbm4gaWNoIHdpcmtsaWNoIHZpZWwga2lsbGUgOikKCktleSwgaXJnZW5kd2llIHNjaG9uIHNvbiBITFAsIHVuZCBHZWxkdmVyc2Nod2VuZGVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKEx1ZywgMjIuIE1hciAxOTk4LCAwMjowMDoyNSk6Cn4jISBybj1TaGFubmFyYSBydD04OTA0NzAyMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKTGllYnN0ZXIgU2hhbm5hcmEsCgoKZXMgYnJhdWNodCB3aXJrbGljaCBrZWluIE1ldHplbHNrcmlwdCB1bSBlYmVuIG1hbCBhdWZ6dXJhZXVtZW4uIEFiZXIgRGVpbgpWb3JzY2hsYWcsIERpciBlaW4gYW5kZXJlcyBNVUQgenUgc3VjaGVuLCBmaW5kZSBpY2ggYmVpIERlaW5lbSBHZWhldWxlCndpcmtsaWNoIHByaW1hLiBDaWFvLiAKClNpY2ggc2VpbiBHZWxkIGltbWVyIHBlciBIYW5kIG1ldHplbG5kIG9kZXIgRnJldW5kZSBmcmFnZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbGVnYWxlcyBza3JpcHQ/IChGeXQsIDIyLiBNYXIgMTk5OCwgMTQ6NTc6NTgpOgp+IyEgcm49RGhvamFrdCBydD04ODk2NDg3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODkwMzk5NDYKCkRlbSBzY2hsaWVzcyBpY2ggbWljaCBhbi4uLgoKRnl0IChzb25zdCBoZWlzc3QncyB3aWVkZXI6IEhhZXR0ZXQgaWhyIGRvY2ggd2FzIGdlc2FndC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWxsbyAoS2V5LCAyMi4gTWFyIDE5OTgsIDE2OjExOjExKToKfiMhIHJuPUdhc3QxIHJ0PTg5MDU2MzA3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDU2MzA3OQpFcyBnYWIgc2Nob24gbmVuIEdhc3RzZWhlci4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChEYW1pZW4sIDIzLiBNYXIgMTk5OCwgMTE6Mzc6NTkpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNDcwMjA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkhlaWRlbmVpLCBuaW1tIG1hbCB3aWVkZXIgJ25lbiBHYW5nIHJhdXMuLi4KMS4gV2VubiBkdSBlaW4gcGFhciBtZWhyIExhZWRlbiBrZW5uc3QsIGtyaWVnc3RlIGF1Y2ggZmFzdCBpbW1lciBnZW51ZwpLb2hsZS4KMi4gRnVlciBHb2JsaW5sYWdlciB1bmQgTW9yb24gbG9obmVuIE1ldHplbHNrcmlwdGUgZ2FyIG5ldCwgZGllIG1hY2h0IGVpbgpndXRlciBTZWhlciBvaG5lIGFsbHp1b2Z0IHp1IHRhbmtlbi4KMy4gQnJhdWNodCBtYW4gaW0gTUcgZWlnZW50bGljaCBnYXIga2VpbiBHZWxkLCBhdXNzZXIgbWFuIG11c3MgU3BydWVjaGUgdWViZW4KdW5kIGRhbm4gd2VubiBtYW4gbWFsIDEwIEsgYnJhdWNodCBpc3QgbWFuIGF1Y2ggZ3V0IGdlbnVnLCBkaWUgenUga3JpZWdlbi4KTnVyIHNvIGFtIFJhbmRlLCB3aWUgaWNoIGRhenUga29tbWU6IE1laW4gWndlaXRpZSBoYXQgZXMgbmFjaCBzZWluZW4gbGV0enRlbgpUb2RlbiBvaG5lIHdlaXRlcmVzIGdlc2NoYWZmdCAoaW4gamV3LiAxNSBNaW51dGVuKSAzMCAwMDAgTXVlbnplbiBhbiBaZXVnCmVpbnp1c2FtbWVsbiwgZGFzIGFuIGdlbmFubnRlbiBQbGFldHplbiBsaWVnZW5nZWJsaWViZW4gd2FyLiBVbmQgZGFtaXQga2FubgppY2ggbWljaCBmYXN0IHp1IFRvZGUgdWViZW4sIG9kZXIgenVtaW5kZXN0IHNvbGFuZ2UsIGJpcyB3aWVkZXIgaXJnZW5kZWluCidNZXR6ZWxza3JpcHQnIE1vcm9uIGxlZXJnZWZlZ3QgaGF0LCB1bSB6dSB1ZWJlbiB1bmQgZGllIHBhYXIgcG9wZWxpZ2VuIApXYWZmZW4gdW5kIHJ1ZXN0dW5nZW4gbGllZ2VuZ2VsYXNzZW4gaGF0Li4uCgpEYW1pZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChTaGFubmFyYSwgMjMuIE1hciAxOTk4LCAxMjo1MjoxMSk6Cn4jISBybj1EYW1pZW4gcnQ9ODkwNjQ5NDc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0Cip0aWVmIGx1ZnRob2wqCgpEZXIgQXJ0aWtlbCB3dXJkZSBsZWlkZXIgaW4gZWluZXIgbWVpbmVyIEZydXN0cGhhc2VuIGdlc2NocmllYmVuLCBkaWUgYWIgdW5kCnp1IG1pY2ggcXVhc2kgdWViZXJuZWhtZW4gdW5kIHR1dCBtaXIgaW56d2lzY2hlbiBzY2hvbiBsZWlkLiBCZWltIG5hZWNoc3RlbgpNYWwgc2NobGFmZSBpY2ggbWFsIGRydWViZXIgYmV2b3IgaWNoIHdhcyBzY2hyZWliZSwgb2s/CgpOOiAKCkljaCBoYWV0dGUgZGEgZWluZW4gVm9yc2NobGFnIHp1IG1hY2hlbiBpbiBCZXp1ZyBhdWYgU25vb3Blbi4gRXMgd2FlcmUgbmV0dCwKenVtaW5kZXN0IGRpZSBTcGllbGVyIG1pdHp1dGVpbGVuLCB3ZW5uIGVpbiBNYWdpZXJMRUhSTElORyBkZW4gZW50c3ByZWNoZW5kZW4KU3BpZWxlciBiZW9iYWNodGV0LiAgV2FydW0/IEdlc3Rlcm4gaW4gR2Vpc3RlcnNjaGxvc3MgaGFsdCwgd28gbWVpbiBSTCBzY2hvbgptZWhyIGF1cyBFcnNjaG9lcGZ1bmcgZXR3YXMgYWdncmVzc2l2IHd1cmRlIHVuZCBlaW4gZ2V3aXNzZXIgTGV2ZWwgMjUgTWFnaWVyCmhhdCBkYW5uIFNoYW5uYXJhIHVudGVyIGFuZGVyZW4gbWl0IGVpbmVuIFBhcGFnZWkgenVyIFJhc2VyZWkgZ2VicmFjaHQuLi4gSWNoCm5laG1lIGFuLCBkYXNzIGRhIGVpbiBzbm9vcCBzdGF0dGZhbmQsIHdlaWwgaWNoIG1pciBlcyBuaWNodCBhbmRlcnMgZXJrbGFlcmVuCmtvbm50ZSwgZGEgZXIgaW1tZXIgd3Vzc3RlLCB3byBpY2ggd2FyLiBXZW5uIGVzIHNvIGVudHNwcmVjaGVuZGUgTWFnaWVydG9vbHMKZGFmdWVyIGdpYnQsIGRhbm4gdmVyZ2Vzc3QgYW0gYmVzdGVuIGRpZXNlbiBWb3JzY2hsYWcsIG9rPwoKU2hhbm5hcmEgKGRpZSBuaWNodCBpbW1lciBpaHJlIFd1dCBhdXMgZGVuIEJhdWNoIHNjaHJlaWJlbiBzb2xsdGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChLZXksIDIzLiBNYXIgMTk5OCwgMTI6NTM6MTEpOgp+IyEgcm49RGFtaWVuIHJ0PTg5MDY0OTQ3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNAozLiBCcmF1Y2h0IG1uIGltIE1HIGVpZ2VudGxpY2ggZ2FyIGtlaW4gR2VsZCwKCkFlaG0gLi4uLiBzdGltbXQgZnVlciAyIEdydXBwZW4gdm9uIHNwaWVsZXJuIC4uLiBkZW4gYmx1ZW1jaGVucGZsdWVja2VybiwgdW5kCmRlbiBjaGF0dGVybiA7KQpBYmVyIGVzIGdpYnQgZGEgbm9jaCBtZWhyIC4uLiBOYWphIHVuZCBpY2ggaGFiIGF1Y2ggbWFsIG5lbiBCbHVlbWNoZW5wZmx1ZWNrZXIKYmVpbSB0YW5rZW4gZ2VzZWhlbiAuLi4gOikKCktleSwgYnJhdWNodCBHZWxkIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKFBhdHJ5biwgMjMuIE1hciAxOTk4LCAxMjo1NToxOSk6Cn4jISBybj1TaGFubmFyYSBydD04OTA2NTM5MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKbmEgamEsIGRhcyBsYWVzc3Qgc2ljaCBrYXVtIHVudGVyYmluZGVuLiB6d2FyIGhhYiBpY2ggYXVjaCB3YXMsIGdlZ2VuCmdlaGVpbWUgc25vb3BlcmVpLCBhYmVyIHNlbGJzdCB3ZW5uYiBtYW4gZXMgdmVyYmlldGV0LCBrYW5uIG1hbiBzaWNoCmVpZ2VuZSBzbm9vcHRvb2xzIHp1c2FtbWVuc2NocmVpYmVuIChzaWVoZSAuYyBpbiB3Li4uLi4gbnVuIGphKS4KYXVzc2VyZGVtIGthbm4gZWluIG1hZ2llciBqZWRlcnplaXQgaW52aXMgenUgZGlyIHNwcmluZ2VuIG9kZXIgYXVzIGRlciBmZXJuZQpmZXN0c3RlbGxlbiwgd28gZHUgYmlzdCwgd2FzIGR1IG1hY2hzdCwgd2FzIGR1IGRhYmVpaGFzdCB1LnMudy4KZGFnZWdlbiB3ZWhyZW4ga2FubiBtYW4gc2ljaCB6dWdlZ2ViZW5lcm1hc3NlbiBzZWxic3QgYWxzIG1hZ2llciBudXIKc2NobGVjaHQuCgotLS0tLS0KcGF0cnluLCBhdWNoIG51ciBpbmZvcm1pZXJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChLZXksIDIzLiBNYXIgMTk5OCwgMTI6NTc6MDIpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNjUzOTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkFsc28genVtIGVpbmVuIC4uLiBlaW4gbHZsIDI1IG1hZyBpc3QgaW4gbWVpbmVuIEF1Z2VuIGtlaW4gTGVocmxpbmcgbWVociA7KQpOYWphIG5ldCBtZWhyIGdhbnogOykKRGVyamVuaWdlIHNvbGx0ZSBhbHNvIHdpc3NlbiB3YW5uIGVyIHNub3BwZW4gZGFyZiB1bmQgd2FubiBuaWNodCA7KSBVbmQgd2VubgpkaWNoIGVpbiBtYWcgd2lya2xpY2ggbWFsIG5lcnZ0IHVuZCBlcyBuZXQgc2VpbiBsYWVzc3QgbmFjaCBuZXIgYXVmZm9yZGVydW5nCmVzIGViZW4gc2VpbiB6dSBsYXNzZW4sIGRhbm4gaGF1IGlobSBhdWYgZGllIGZpbmdlciBpbmRlbSBkdSBuZW0gZXJ6aWUKYmVzY2hlaWQgc2Fnc3QgOikKU29vIC4uLiBhYmVyIGRhcyBhbGxlcyBoYXQgYXVzIG1laW5lciBzaWNodCBuaXggbWl0IHNub29wZW4genUgdHVuIC4uLiBtYW4Ka2FubiBlaW5lbiBzcGllbGVyIHZlcmZvbGdlbiwgZGFubiB3ZWlzcyBtYW4gYXVjaCB3byBtYW4gaXN0LCBhYmVyIG1hbiBrYW5uCmlobiBhdWNoIHNjaG9uIGZpbmRlbiAuLi4gdW5kIGRhcyBhbHMgc2VoZXIgLi4uIGFsc28ga29lbm5lbnMgbWFnaWVyIHNvd2llc28KOikKTnVyIHZlcnN0ZWhlIGljaCBuZXQgd2llc28gZHUgbWVpbnN0IGRhcyBlciBkaWNoIHZlcmZvbGd0ZSwgc25vb3B0ZSBvZGVyCnNvbnN0d2FzIG1hY2h0ZSAuLi4uIGRlciBQYXBhZ2VpIGtvbW10IHp1IGRpciBvaG5lIGRhcyBtYW4gd2lzc2VuIG11c3Mgd28gZHUKYmlzdCA6KQoKS2V5LCBhdWZrbGFlcmVuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJldGVuIG5hY2ggdG9kIChKYXNwZXIsIDIzLiBNYXIgMTk5OCwgMTQ6MTI6NTgpOgp+IyEgcm49QmFnaGlyYSBydD04OTA0MjMyODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0MjMyODkKdmllbGxlaWNodCBrb2VubnRlbiBkaWUga2xlcmlrZXIgamEgbmVuIHphdWJlcnNwcnVjaCAncmVpbmthcm5hdGlvbicKYmVrb21tZW4uLi4gb2RlciAnd2llZGVyYmVsZWJ1bmcnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBld2lnZSBNZWNrZXJlaSAoSGFyZGlsLCAyMy4gTWFyIDE5OTgsIDE2OjAyOjEyKToKfiMhIHJuPVNyYWJpIHJ0PTg5MDQ3NTkzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3NTkzOAoKU3JhYmksIGJpc3QgRFUgZWluIFp3ZWl0aWUgdm9uIFlhbnRybz8KR2VuYXVzbyBkdW1tc2Nod2FldHplbmQgc2luZCBuYWVtbGljaCBEZWluZSBBcnRpa2VsIGhpZXIuCgpKZW1hbmQsIGRlciBlcnN0IHNlaXQgZWluZW0gaGFsYmVuIEphaHIgaGllciBpbiBkZXIgTVBBLUdlbWVpbmRlIGRhYmVpIGlzdCwKc29sbHRlIG1hbCBnYWFhYWFhbnoga2xlaW5lIEJyb2V0Y2hlbiBiYWNrZW4uCgpKdXN0IDIgY2VudHMuCgotSGFyZGlsLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChBY3JpbW9uLCAyMy4gTWFyIDE5OTgsIDE5OjI0OjM4KToKfiMhIHJuPUtleSBydD04OTA2NTQyMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKRGVuIFBhcGFnZWkga2FubiB1ZWJyaWdlbnMgc2Nob24gamVkZXIgU3BpZWxlciBzY2hpY2tlbi4KRGVyIFBhcGFnZWkgaXN0IGVpbiBOUEMsIHdpcmQgYWxzbyB2b24ga2VpbmVtIFNwaWVsZXIgZ2VzdGV1ZXJ0LCB1bmQga2FubiBhdWNoCm5pY2h0IGF1cyBkZXIgRmVybmUgYmVvYmFjaHRldCB3ZXJkZW4uClVuZCBkZXIgU3BpZWxlciwgZGVyIGlobiBzY2hpY2t0LCBpc3QgdmVyYW50d29ydGxpY2ggZnVlciBkaWUgU3BydWVjaGUgZGVzClBhcGFnZWlzLCBkaWUgZGllc2VyIHNhZ3QsIHdlaWwgZGVyIFNwaWVsZXIgZGVtIFBhcGFnZWkgZGllIFNwcnVlY2hlCnZvcmhlciBiZWlicmluZ2VuIGthbm4uCkdhbnogYW0gQW5mYW5nIHNhZ3QgdWVicmlnZW5zIGRlciBQYXBhZ2VpLCB2b24gd2VtIGVyIGtvbW10LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoQW5hdG9sLCAyMy4gTWFyIDE5OTgsIDIwOjAzOjU3KToKfiMhIHJuPUFjcmltb24gcnQ9ODkwNjc3NDc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkVpbmUgaW5oYWx0bGljaGUgS29ycmVrdHVyOiBEZXIgUGFwYWdlaWhhbHRlciBrYW5uIGthdW0gZnVlciBkaWUgU3BydWVjaGUgZGVzClZvZWdlbGNoZW5zIHZlcmFudHdvcnRsaWNoIGdlbWFjaHQgd2VyZGVuLCBkYSBlciAoZGVyIFZvZ2VsLCBuaWNodCBkZXIgSGFsdGVyKQphdWNoIGRhcyBuYWNocGxhcHBlcnQsIHdhcyBfYW5kZXJlXyBpaG0gdm9yc2FnZW4uIERpZSBiZXN0ZSBNb2VnbGljaGtlaXQsIApzaWNoIGJlaSBlaW5lbSAiUGFwYWdlaXNlbmRlciIgenUgYmVkYW5rZW4uLi4KClNpY2ggYW4gZWluZW4gY2hyaXN0bGljaCBhbmdlaGF1Y2h0ZW4gUGFwYWdlaSBadWVyaWxldXMgZXJpbm5lcm5kLApBbmF0b2wgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgUGFwYWdlaWJlc2l0emVyIChTaGFubmFyYSwgMjMuIE1hciAxOTk4LCAyMzo1NjowNCk6CgpCaW5nby4uLi4KCiphcmdoKgoKICAgU2hhbm5hcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChMdWcsIDI0LiBNYXIgMTk5OCwgMDA6MzE6MzIpOgp+IyEgcm49QW5hdG9sIHJ0PTg5MDY3OTgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNAoKQWVoIEFuYXRvbCwKCmljaCBiaW4gdW5zY2h1ZGxpZyA7KQoKV2Vpc3MgZG9jaCBqZWRlci4KCkZyYWd0IHNpY2ggd2FydW0ga2VpbmVyIGlobSBtZWhyIFBhcGFnZWllbiBzY2hpY2t0Li4uCkx1Zy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoWnVlcmlsZXUsIDI0LiBNYXIgMTk5OCwgMDU6NDc6NTYpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNjUzOTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkhpLApBbHNvIG1laW5lcyBlcmFjaHRlbnMgaXN0IGVzIG5pY2h0IGlsbGVnYWwgdW5zaWNodGJhciBTcGllbGVyIGJlaSBzZWluZW4gUXVlc3QKenV6dXNjaHVlbi4gQWJlciBTaGFubmFyYSBiZXZvciBkdSBiZWhhdXB0ZXN0IGRhcyBpY2ggRGljaCBnZXNub29wdCBoYWJlIChpY2gKYmluIGRpZXNlciBMZXZlbCAyNSEgTWFnaWVyIGdld2VzZW4pIGRhbm4gaW5mb3JtaXIgZGljaCBiaXR0ZSB2b3JoZXIgd2FzIGdlbmF1CmRlbm4gc25vb3BlbiBpc3QuIERlbm4gZ2Vzbm9vcHQgaGFiZSBpY2ggZGljaCBhdWYga2VpbmVuIGZhbGwsIGRhcyBkdWVyZmVuIGRpZQpIZXJyZW4gRXJ6YW1naWVyIHVuZCBHb2V0dGVyIGF1Y2ggZ2VybmUgaW0gTG9nZmlsZSBuYWNoc2NoYXVlbi4gSWNoIGhhYmUKbmFlaG1saWNoIGVjaHQgbmljaHRzIHp1IHZlcmJlcmdlbiBvZGVyIGV0d2FzIGlsbGVnYWxlcyBnZW1hY2h0LiBFaW4gTWFnaWVyCnNlaHQgaW1tZXIgd28gZHUgYmlzdCwgZGFzIGlzdCBkYXMga2xlaW5zdGUgcHJvYmxlbSwgd2FlciBkb29mIHdlbm4gZXMgbmljaHQKc28gd2FlcmUsIHdpZSBrb2VubnQgZWluIE1hZ2llciBzb25zdCBoZWxmZW4gei5iLiA/IFNub29wZW4gaXN0IHdlbm4gaWNoIGRpY2gKU05PT1BFTiB0dWUsIGRhbm4gaG9lcmUgaWNoIGFsbGVzIHdhcyBkdSBqZW1hbmRlbiB6dWZsdWVzdGVyc3QsIG1haWxzdCBvZGVyCm1pdGVpbHN0LCBkYXMgaXN0IHNub29wZW4gdW5kIG5pY2h0cyBhbmRlcmVzLgpEYXp1IGJpbiBpY2gga2VpbiBNYWdpZXJMRUhSTElORywgc29uZGVybiBzY2hvbiA0IEphaHJlIGRhYmVpLi4gKmdydW1tZWwqCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChadWVyaWxldSwgMjQuIE1hciAxOTk4LCAwNTo1MTowNCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg5MDY3NzQ3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNApIaSBhY3JpbW9uLApJc3QgbWFlY2h0aWdlciBkdW1tc2Nod2F0eiwgZGVyIFBhcGFnZWkga3JpZWd0IHNlbGJzdGFlbmRpZyBTYWV0emUgbWl0LCB1bmQKbGVybnQgYXVjaCBzbyBTcHJ1ZWNoZS4gS2VpbmVyIGthbm4gZGFzIGJlZWluZmx1c3NlbiBhdXNzZXIgbWFuIGJyaW5ndCBpaG0Kd2VsY2hlIGJlaS4gQWJlciBkaWVzZSBrYW5uIG1hbiBuYWNodHJhZWdsaWNoIGphIGF1Y2ggbmljaHQgd2llZGVyIGxvZXNjaGVuLgoKdHNjaGF1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoQmVlbHplYnViLCAyNC4gTWFyIDE5OTgsIDEzOjAxOjI4KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg5MDcxNTA2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNApEYXMgc29sbHRlc3QgZHUgZWlnZW50bGljaCBhdWNoIGFtIGJlc3RlbiB3aXNzZW4sIEFjcmltb24uLi4gdm9uIG1pciBoYXR0ZQptZWluIERlaWZpIGRhcyBWYXRlcnVuc2VyIG1pdCBTaWNoZXJoZWl0IGplZGVuZmFsbHMgbmljaHQuLi4gXTotKQoKQmVlbHplYnViLCBkZXIgemllbWxpY2hlIE11ZWhlIGhhdHRlIHNlaW5lbSBNaXN0dmllaCBkaWVzZW4gQmxvZWRzaW5uIHdpZWRlcgphdXN6dXRyZWliZW4gXTotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKFNoYW5uYXJhLCAyNC4gTWFyIDE5OTgsIDEzOjU1OjAyKToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg5MDcxNDg3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNApOdSBqYSwgd2FydW0gaGFzdCBkdSB1bnMgZHJlaSBhbGxlbiB1ZWJlcmhhdXB0IHp1c2NoYXVlbiBtdWVzc2VuIHVuZCBkYWJlaQpub2NoIGRpZSAqbmV0dGVuKiBLbGVpbmlna2VpdGVuIGVpbmdlc3RyZXV0LCBkaWUgbWljaCBkYW5uIG1pdCBkZW4gUGFwYWdlaQplbmRndWVsdGlnIHp1ciBFeHBsb3Npb24gZ2VicmFjaHQgaGF0PwoKQXVmZ3J1bmQgZGVyIE1lbGR1bmdlbiBpbiBBYmVudGV1ZXIgYnp3LiBBbGxnZW1laW4genUgZGllc2VuIFplaXRwdW5rdApoYWV0dGVzdCBkdSBqYSBlaW4gQmlsZCBtYWNoZW4ga29lbm5lbiwgZGFzcyB3aXIgZHJlaSAoZGFzIGhlaXNzdCBTaGFubmFyYSwKU295byB1bmQgVmFtcGlyZSkgc2Nob24gemllbWxpY2ggZ2VuZXJ2dCB3YXJlbi4gQWxzIE1hZ2llciBkYXJmc3QgZHUgamEgc28Kb2RlciBzbyB1bnMgbmljaHQgaGVsZmVuLgoKQlRXOgpEYXMgUXVlc3Qgc2VsYmVyIHdhciBqYSByZWNodCBndXQgZGVzaWdudCwgYWJlciBrcmFua3RlIGhhbHQgYW4gZGVuIEtvbW1hbmRvcywKZGllIG1hbiBleGFrdCBlaW5nZWJlbiBtdXNzdGUuIEltIHVlYnJpZ2VuIGlzdCBkaWUgUmVpaGUgIGRlciBSdWVzdHVuZ2VuCmRydW50ZW4gaW0gS2VsbGVyIHJlY2h0IGludGVyZXNzYW50Li4uIGFiZXIgaWNoIHNjaHdlaWZlIGFiLgoKRWluZSBzaWNoIHd1bmRlcm5kZSBTaGFubmFyYQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChLZXksIDI0LiBNYXIgMTk5OCwgMTc6MDI6NDQpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNzQ0MTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0Ck9oaCBkYSBpcnIgZGljaCBtYWwgbmljaHQgLi4uCkVpbiBtYWcgZGFyZiBiZWkgc3ludGhheGVuIGRpZSBuaWNodCBsb2dpc2NoIHNpbmQgYXVjaCBtYWwgYXVmIGRpZSBzcHJ1ZW5nZQpoZWxmZW4gLi4uIGVyIGRhcmYgendhciAoZ2xhdWJlIGljaCkgbmljaHQgZ2VuYXUgc2FnZW4gd2llIGRhcyB3YXMgZnVuenQsIGFiZXIKYmVpIGVpbmVyIHN5bnRoYXggYXVmIGRpZSBtYW4gbmljaHQgc28gbGVpY2h0IGtvbW10LCBiencgd2VubiBtYW4gZ2VyYWRlIG5lbgpnZWRhbmtsaWNoZW4gYWJzY2h3ZWlmZXIgbWFjaHQsIGRhcmYgZXIgZHVyY2hhdXMgSGlud2Vpc2UgaW4gZGllIHJpY2h0aWdlClJpY2h0dW5nIGdlYmVuIC4uLgoKU28gLi4uIGRhIGljaCBuaWNodCB3ZWlzcyB1bSB3YXMgZXMgZ2VuYXUgZ2VodCBudXJub2NoIGVpbnMgLi4KRWluIE1hZ2llciBkYXJmIGRpY2ggYWJlciBhdWNoIGF1ZmhlaXRlcm4gLi4uIHZpZWxsZWljaHQgaGF0IGVyIGphIG51ciBkYXMKcHJvYmllcnQgdW5kIGVzIGlzdCBmZWhsZ2VzY2hsYWdlbj8KCktleSwgZmluZGV0IGRhcyBsYW5nc2FtIHNjaGx1c3Mgc2VpbiBzb2xsdGUgbWl0IGRpZXNlbSBUaHJlYWQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIbXBmIChIYXNpbSwgMjQuIE1hciAxOTk4LCAxODoyMTo1Myk6Ck51bmphLCB3YXMgaWNoIHNhZ2VuIHdvbGx0ZSwgd2FzIG1pciBudXIgc28gYXVmZ2VmYWxsZW4gaXN0LC4uLiwga2FubiBlcyBzZWluLApkYXNzIGRpZSBTdGltbXVuZyBoaWVyIGltbWVyIG1pZXNlciB3aXJkLiBNYW4gdHJhdXQgc2ljaCBzY2hvbiBrYXVtIG5vY2ggZGllCk1QQSB6dSBsZXNlbiwKYmVpIGRlbSBnYW56ZW4gKlpFTlNVUiogZGVyIGRhIGRyaW5uZW4gc3RlaHQuIApFcyBpc3QgdW5kIGJsZWlidCBkb2NoIGVpbiBTcGllbCB1bmQgc29sbHRlIGRvY2gsIGhtbW0sIFNwYXNzIG1hY2hlbi4uLi4KLi4ub2RlciB6dW1pbmRlc3RlbnMgYWJsZW5rZW4sIG9kZXIgRnJldWRlIGJlcmVpdGVuLi4uCkFCRVI6IG5laW4sIHdpZSBkZW5uIGF1Y2gsIG1hbiB3aXJkIGFuZ2Vtb3R6dCwgd2VubiBtYW4gc2ljaCBBdXNydWVzdHVuZyB1bmQKR2VsZCB6dXNhbW1lbm1ldHplbHQsIHVuZCBkYWJlaSBnZWJlIGljaCB6dSBiZWRlbmtlbiwgd2lyIGhhYmVuIGFsbGUga2xlaW4KYW5nZWZhbmdlbiwgdW5kIGljaCBrYW5uIG1pY2ggbmljaHQgZXJpbm5lcm4sIGRhc3MgZXMgZGFtYWxzIHNvIGVpbiBHZW1hdWxlCmdhYi4uLgpHdXQsIHdlaXRlciwgaWNoIHd1cmRlIGpldHp0IGF1Y2ggcGVyc29lbmxpY2ggYW5nZXBmaWZmZW4sIHdlaWwgaWNoIG1laW5lbgpTY2hhdHRlbiBoYWIgc3RlaGVubGFzc2VuLi4uLgouLi4gZ3JhdXNpZ2VzIFZlcmJyZWNoZW4sIG51ciBkYXNzIHNpY2ggZGFzIERpbmcgbnVyIG1pdCBaYXViZXJzdGFiICh1bmQgZGFtaXQKZWluaGVyZ2VoZW5kZW0gUHVua3R2ZXJicmF1Y2gpIG9kZXIgZHVyY2ggbmllZGVybWV0emVsbiAodmVyYnJhdWNodCBhdWNoKQpiZXNlaXRpZ2VuIGxhZXNzdCEKRGFiZWkgaXN0IGRhcyBEaW5nIGRvY2ggZ2FybmljaHQgc2NobGltbSwgZXMgc2FndCBuaXgsIHR1dCBub3JtYWxlcndlaXNlIG5peAp1bmQgaW0gS2FtcGYga2FubiBlcyBzb2dhciBoaWxmcmVpY2ggc2Vpbi4uLiBhYmVyIG5laW4sIGVzIFNUT0VSVCBqYSEKTWljaCBzdG9lcnRzIGF1Y2gsIGRhc3Mgc2ljaCBoaWVyIHdlZ2VuIGplZGVyIEtsZWluaWdrZWl0IGF1ZmdlcGx1c3RlcnQgd2lyZCwKZGFzcyBqZXR6dCBhbGxlIFNlaGVyIGFscyBNZXR6ZWxzY3JpcHRlIGJlemVpY2huZXQgd2VyZGVuLCBkYXNzIG1hbiBzZWxic3QKdW50ZXIgIkZyZXVuZGVuIiBrZWluZSBub2NoIHNvIGtsZWluZW4gU2NoZXJ6ZSBtYWNoZW4gZGFyZiEKV29yYW4ga2FubiBkZW5uIHNvd2FzIGxpZWdlbiwgZGFzcyBkaWUgU3RpbW11bmcgZGVyYXJ0IGluZGVuIGtlbGxlciByYXVzY2h0LApsaWViZSBMZXV0ZSwgaWNoIGJpbiBqZXR6dCBzZWlkIHdhbm4gKD8pICh3ZWlzcyBlcyBzY2hvbiBzZWxiZXIgbmljaHQgbWVocikKZGFiZWkuLi4KZGVua3QgbWFsIG5hY2gsIHNvIGdlaHRzIG5pY2h0IHdlaXRlciEKCkhhc2ltLCBlaW4gd2VuaWcgdmVyYWVyZ2VydCwgdW5kIHNjaGxpbW1lcyBiZWZ1ZXJjaHRlbmQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKZXR6dCBtdXNzIGljaCBtaXIgbWFsIEx1ZnQgdmVyc2NoYWZmZW4gKEdlbGQgJiBTa3JpcHRlKSAoWnVlcmlsZXUsIDI1LiBNYXIgMTk5OCwgMDE6MzM6MDApOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkwNzQ0MTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNDcwMjA0CkhpIFNoYW5uYXJhLApOdW4gaWNoIGhhYmUgenVnZXNlaGVuIHdlaWwgaWNoIG9lZnRlcnMgenVzY2hhdWUsIG51ciBtYWNoIGljaCBtaWNoIGRhbm4gbmljaHQKYmVtZXJrYmFyLiBOYWphIHVuZCBpY2ggaGJlIHNvdmllbGUgTWVsZHVuZ2VuIGF1ZiBkZW4gQmlsZHNjaGlybSBkYXMgaWNoIGF1ZgotYiBuaWNodCBpbW1lciBtaXRob2VyZS4gRGFzIG1laXN0ZSBiZXRyaWZmdCBtaWNoIGphIG5pY2h0IG1laHIuIFp1c2VoZW4Kc2NoYWRldCBqYSBrZWluZW0gdW5kIGplbWFuZGVtIHp1ciBmcmV1ZGUgZGVuIFBhcGFnZWkgc2NoaWNrZW4gaXN0IGF1Y2gga2VpbmUKdG90c3VlbmRlLiBJY2ggd2Vpc3MgbmljaHQgd2VnZW4gc29sY2hlciBrbGVpbmlna2VpdGVuIGF1c3Jhc3RlbiB1bmQgZ2xlaWNoCnZvbiBzbm9vcGVuIHJ1bXNjaHJlaWVuLCBvaG5lIHNpY2ggZ2VuYXUgenUgaW5mb3JtaWVyZW4gd2FzIHNub29wZW4gaXN0LCB3YWhyCndvaGwgYXVjaCBkZXIgZmFsc2NoZSBXZWcgPwpOYWphLCB1bmQgYWxzIGRpY2ggbWVpbmUgYW53ZXNlbmhlaXQgc3RvZXJ0ZSwgd2FyIGljaCBqYSBhdWNoIHdlZywgc3RvZXJlbiB3YXIKbmllIG1laW5lIGFic2ljaHQuIEFiZXIgZWluZW0gTWFnaWVyIGRhcyB6dXNjaGF1ZW4genUgdmVyYmlldGVuIGthbm5zdCBkdQpuaWNodC4KClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKFJpa3VzLCAyNS4gTWFyIDE5OTgsIDAxOjQxOjUyKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTg5MDc0NDEwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNApIaSwKaWhyIGRyZWkgc2VpZCB2b24gZGVyIFF1ZXN0IGdlbmVydnQgZ2V3ZXNlbiB1bmQgZXMga3Jhbmt0ZSBhbiBkZW4gS29tbWFuZG9zLApkaWUgaWhyIGdlbmF1IGVpbmdlYmVuIG11c3N0ZXQ/IEltIGxvZ2ZpbGUgZGVzIGVudHNwcmVjaGVuZGVuIE1hZ2llcnMgc3RlaHQKTlVMTCBJZGVlLCBUeXBvLCBCdWcgdm9uIEV1Y2gsIHdpZSBzb2xsIGVyIGRhIGV0d2FzIGRyYW4gYWVuZGVybiBrb2VubmVuLAp3ZW5uIGVyIG5peCBkYXZvbiBlcmZhZWhydD8gSWNoIHNlbGJlciBsZXMgamEgbnVuIGRpZSBhbGxnLiBSdWJyaWsgZGVyIE1wYQphdWNoIG51ciBpbW1lciBtYWwgcmVpbiB6dWZhZWxsaWcgdW5kIGhhYmUgc2llIG9mdCBuaWNodCBiZXN0ZWxsdC4gQWxzbwpnZWJ0IGxpZWJlciBha3RpdiBJZGVlbiB1bmQgSGlud2Vpc2UgYWIgYW4gZGVuIGJldHJlZmZlbmRlbiBTdGVsbGVuLCBkYXMKYnJpbmd0IHZpZWwgbWVoci4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG1wZiAoUGF0cnluLCAyNS4gTWFyIDE5OTgsIDEyOjIwOjAzKToKfiMhIHJuPUhhc2ltIHJ0PTg5MDc1NjUxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDc1NjUxMwpkZW4gdGlwIGRlbiBpY2ggZGlyIGdhYiwgZGVyIGdpbGx0IGF1Y2ggd2VpdGVyaGluOgogc29sY2hlIGxldXRlIGVpbmZhY2ggaWdub3JpZXJlbi4gZGVyIHNjaGF0dGVuIHN0b2VyIHdpcmtsaWNoIG51ciBtaW5pbWFsCiB1bmQgYmlzaGVyIHNpbmQgbm9jaCBhbGxlIGRhbWl0IGtsYXJnZWtvbW1lbiwgenVtYWhsIGVzIGF1Y2gKIGRpdmVyc2UgcGVudGFncmFtbWUsIHNhbmRoYXVmZW4gdS5zLncuIGdpYnQsIGRpZSBhdWNoIHNvIGluIGRlciBnZWdlbmQKIHJ1bWxpZWdlbi4KZGFzIG1hbmNoZSBhbSBsaWVic3RlbiB2b2VsbGlnIHVuZ2VzdG9lcnQgYWxsZWluIGR1cmNocyBtdWQgemllaGVuIHd1ZXJkZW4sCm11c3MgZGljaCBkYWJlaSBuaWNodCBpbnRlcmVzc2llcmVuLgoKLS0tLS0tCnBhdHJ5bgoKUFM6IGRpZSBzdGltbXVuZyBoYXQgc2ljaCBlaWdlbnRsaWNoIG5pY2h0IHNvIHNlaHIgZ2VhZW5kZXJ0LCB3dWVyZCBpY2ggbWVpbmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhtcGYgKERob2pha3QsIDI1LiBNYXIgMTk5OCwgMTI6MjQ6MTcpOgp+IyEgcm49UGF0cnluIHJ0PTg5MDgyMTIwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDc1NjUxMwpOdW5qYSwgZXMga29tbXQgYWJlciBlaGVyIHNlbHRlbiB2b3IsIGRhc3MgZGllIExldXRlIHNpY2ggbWl0IFBlbnRhZ3JhbW1lbiB6dQp1bnRlcmhhbHRlbiB2ZXJzdWNoZW4uIEljaCBlbXBmZWhsZSwgZGVtIFNjaGF0dGVuIG5lbiBhbmRlcmVuIFRpdGVsIHp1IGdlYmVuLApmdWVyIGRpZSBTZWhlciBtaXQgdGYga2VpbiBQcm9ibGVtOiBUaXRlbCB1bXNldHplbiwgU2NoYXR0ZW5rYWVtcGZlciwgVGl0ZWwKd2llZGVyIGF1ZiBub3JtYWwuIApEaG9qYWt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSG1wZiAoUGF0cnluLCAyNS4gTWFyIDE5OTgsIDEyOjMxOjQ4KToKfiMhIHJuPURob2pha3QgcnQ9ODkwODIxNDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwNzU2NTEzCm1hbiBrb2VubnRlIGRlbSBzY2hhdHRlbiBqYSBzbyBuZSBlbGlzYS1zaW1vbGF0aW9uIChoaWVzcyBkYXMgbWFsIHNvKQp2ZXJwYXNzZW4sIGRhbm4gcmVpY2h0cyB6dW1pbmRlc3QgZnVlciBuZW4gc2NobWFsc3B1cmdlc3ByYWVjaCwgd2FzCmFiZXIgaW4gZWluZW0gbXVkIG5pY2h0IHNvIHNjaG5lbGwgYXVmZmFsbGVuIHNvbGx0ZSA7KQoKLS0tLS0tCnBhdHJ5bgoKUFM6IHNpbW9sYXRpb24gLT4gc2ltVWxhdGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIbXBmIChLZXksIDI1LiBNYXIgMTk5OCwgMTM6NDE6NDIpOgp+IyEgcm49UGF0cnluIHJ0PTg5MDgyMTIwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDc1NjUxMwpPY2ggZGllIFN0aW1tdW5nIGlzdCBpbSBtb20gd2llZGVyIGJlc3NlciB3dWVyZGUgaWNoIGJlaGF1cHRlbiAsKQoKVW5kIHp1IGRlbSBTY2hhdHRlbiAuLi4gZGEgZ2liYmV0IG5lIGVpbmZhY2ggQW50d29ydCB3ZW5uIGRlbiBlaW5lciBuZXJ2dCAuLi4KTE1BQSA6KQpWZXJzdGVoZW4gdHVlIGljaCBlcyBqZWRlbmZhbGxzIG5ldCAuLi4KRmluZCBkaWUgVGVpbGUgZWhlciBsdXN0aWcgLi4uIGlzdCBiZXN0aW1tdCBzY2hvbiBtZWhyZXJlbiBwYXNzaWVydCBkYXMgc2llCnNpY2ggbWl0IG5lbSBTY2hhdHRlbiB1bnRlcmhhbHRlbiBoYWJlbiAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIbXBmIChLZXksIDI1LiBNYXIgMTk5OCwgMTM6NDI6MDApOgp+IyEgcm49RGhvamFrdCBydD04OTA4MjE0NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA3NTY1MTMKRGFzIGlzdCBuZW4gU2NyaXB0ISAuKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5HcmF1ZW4gaGF0IEdlYnVydHN0YWcgKEJvaW5nLCAyNS4gTWFyIDE5OTgsIDE0OjA2OjM0KToKSGV1dGUgd3VyZGUgZGFzIE1vcmdlbkdyYXVlbiBnZW5hdSA2IEphaHJlIGFsdCwgZmFsbHMgZGFzIGplbWFuZCAKaW50ZXJlc3NpZXJ0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ2VuR3JhdWVuIGhhdCBHZWJ1cnRzdGFnIChEYW1pZW4sIDI1LiBNYXIgMTk5OCwgMTQ6NTc6NTApOgp+IyEgcm49Qm9pbmcgcnQ9ODkwODI3NTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwODI3NTk0CkcgUiBBIFQgUyAhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSmV0enQgbXVzcyBpY2ggbWlyIG1hbCBMdWZ0IHZlcnNjaGFmZmVuIChHZWxkICYgU2tyaXB0ZSkgKFNoYW5uYXJhLCAyNS4gTWFyIDE5OTgsIDE1OjIzOjE2KToKfiMhIHJuPVJpa3VzIHJ0PTg5MDc4MjkxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDQ3MDIwNApOdW4gZ3V0LCBBbGFpbi4gSWNoIHdhciBoYWx0IGFtIFNjaGx1c3MgcmVjaHQgZ2VuZXJ2dCB1bmQgaGFiZSBoYWx0IG5vY2ggaW4KZGllc2VuIFp1c3RhbmQgb2huZSB3ZWl0ZXJzIGRhcnVlYmVyIG5hY2h6dWRlbmtlbiBlaW5mYWNoIG1laW5lbiBGcnVzdCB2b20KTGVpYmUgZ2VzY2hyZWliZW4gKGdlc2NocmllYmVuLCBpY2ggaGFzc2UgZGFzIHRlbG5ldCBhdWYgbWVpbmVyIHVuaSBhcmdnaC4uLikgCm9obmUgbGFuZyB3ZWl0ZXIgenUgdWViZXJsZWdlbi4gTnVuLCBpbnp3aXNjaGVuIHR1dCBlcyBtaXIgbGVpZCB1bmQgbW9lY2h0ZQptYWwgbGFuZ3NhbSBlaW5lbiBTY2hsdXNzc3RyaWNoIHppZWhlbiwgZGEgaWNoIGRpZSBTYWNoZSBiZXJlaXRzIGFscyBlcmxlZGlndAphbnNlaGUuIGVyIEJhZ2dlciB2b24gZ2VzdGVybiB3YXIgd29obCBlaW4gc2NobmVsbCB6dXNhbW1lbmdlaGFja3RlciBOUEMsCm5pY2h0IHdhaHI/IEhhYmUga2VpbmVybGVpIGdyb2Vzc2VyZW4gRGV0YWlscyBnZXNlaGVuLi4uIElzdCBqYSBhdWNoIGVnYWwuLi4KClJpa3VzLCBpY2ggaGFiZSBnZXJhZGUgZWluZSBNYWlsIGFuIEJlcnRyYW0gZ2VzY2hpY2t0LCB3byBpY2ggaWhuIGdlbmF1IGRhcwpnZXRhbiBoYWJlLCB3YXMgZHUgYmVtYWVuZ2VsdCBoYXN0LiBJY2ggd29sbHRlIHp3YXIgc2Nob24gdm9yaGVyIGlobSB3YXMKc2NocmVpYmVuLCBhYmVyIGJpbiBhdXMgemVpdGxpY2hlbiBHcnVlbmRlbiBuaWNodCBtZWhyIGRhenUgZ2Vrb21tZW4sIGJ6dy4KaGFiZSB3aWVkZXIgenVtIHh0ZW4gbWFsIGplbWVhbmFuZGVuIHVtIEVpc3BhbGFzdCBiencuIE1vdWxvdWtpbiBnZWZ1ZWhydC4uLiAKClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmV1bmQgVm9yc2NobGFnIChJc2lzLCAyNS4gTWFyIDE5OTgsIDE1OjE1OjQ3KToKSWNoIGZpbmRlLCBkYXMga2FubiBtYW4gc28gc3RlaGVuIGxhc3Nlbi4uLm51ciB3dWVyZCBpY2ggZGFzIG1pdCB0ZWlsZSBtaXQgZXRjCmV0d2FzIGFlbmRlcm4uLi5zdGVsbCBEaXIgdm9yLCBEdSB3aWxsc3QgbWljaCBhYmNoZWNrZW4sIG9iIGljaCBzY3JpcHRlLi4udW5kCmljaCBoYWIgaWdub3JpZXJlIGZyZXVuZCBhbi4uLm9kZXIgaXJnZW5kZWluIGVpZXJrb3BmIGdlaHQgbWlyIHNjaG9uIGRpZSBnYW56ZQp6ZWl0CmF1ZiBkaWUgTmVydmVuLCBzb2Rhc3MgaWNoIGlobiBnYXIgbmljaHQgbWVociBiZWFjaHRlLi4uYW0gZW5kZSBzY2h3YWVyenQgZGVyCm1pY2ggZGFubiBub2NoIGFscyBTY3JpcHRlciBhbiwgd2VpbCBpY2ggbmljaHQgZ2VhbnR3b3J0ZXQgaGFiZS4uLmF1c3NlcmRlbQprb2VubnRlIGljaCBQZXRlcnNpbGllIGluIGRlbiBvaHJlbiBoYWJlbiBvZGVyIGJldGVuLi4uYmVpIFJhdW1taXR0ZWlsdW5nZW4KYmVrb21tdCBkYXMga2VpbmVyIG1pdC4uCgptaW5kZXN0ZW5zIHdlY2tlbiBzb2xsdGUgbWl0IGRyaW4gc2Vpbiwgd2VubiBuaWNodCB2aWVsbGVpY2h0IGVpbmUKYXV0b21hdGlzY2hlIFVudGVyYnJlY2h1bmcgYWxsZXIgYWt0aW9uZW4uLi51bmQgaW4gZWluZXIgZ2V3aXNzZW4gWmVpdCBtdXNzCm1hbiBzaWNoIGJlaSBlaW5lbW4gbWFnIG1lbGRlbi4uLndpZSBkZXIgYWJlciBoZXJhdXNmaW5kZXQsIGRhc3MgZXIgc2ljaCBuaWNodAptaXQgZWluZW0gc2NyaXB0IHVudGVyaGFlbHQgd2Vpc3MgCmljaCBuaWNoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJldW5kIFZvcnNjaGxhZyAoRnJldW5kLCAyNS4gTWFyIDE5OTgsIDE2OjA3OjM0KToKfiMhIHJuPUlzaXMgcnQ9ODkwODM1MzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwODM1MzQ3CkFsc28sIHdlciBkZW4gU2hlcmlmZiBpZ25vcmllcnQsIGhhdCBlcyBuaWNodCBiZXNzZXIgdmVyZGllbnQuIDstKQoKQWJlciBpbSBFcm5zdDogSWNoIHRlc3RlIGVoLCB3ZXIgbWljaCBpZ25vcmllcnQuIEF1c3NlcmRlbSBnaWJ0IGVzIG5vY2ggemlnCmFuZGVyZSBNb2VnbGljaGtlaXRlbiwgamVtYW5kZW4gYW56dXNwcmVjaGVuLiBXYXMgRHUgYWJlciBhdWYga2VpbmVuIEZhbGxzCnVlYmVyc2VoZW4gc29sbHRlc3QsIGlzdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAgIyMjICAgIyMgICMjIyMgICMjIyMjICMjIyMgICMjIyMjICMjIyMjICMjIyMjICAgIyMjICMjIyMjICAgIwogIyAgICAgIyAgIyAgIyAgIyAgICMgICAgIyAgIyAjICMgIyAjICMgIyAgIyAgIyAgIyAgICAjICMgIyAgICMKICAjIyAgICMgICAgICMgICMgICAjICAgICMgICMgICAjICAgICAjICAgICMjIyAgICAjIyAgICAjICAgICAjCiAgICAjICAjICAgICAjIyMgICAgIyAgICAjIyMgICAgIyAgICAgIyAgICAjICAgICAgICAjICAgIyAgICAgIwogIyAgIyAgIyAgIyAgIyAgIyAgICMgICAgIyAgICAgICMgICAgICMgICAgIyAgIyAgIyAgIyAgICMKICMjIyAgICAjIyAgIyMjICAjIyMjIyMgIyMjICAgICMjIyAgICMjIyAgIyMjIyMgICMjIyAgICMjIyAgICAjCgpVbmQgZWluZSB3ZWNrZSB1bmQgZWNob3RvIHVuZCBub2NoIG1laHIgaXN0IGVoIHNlbGJzdHZlcnN0YWVuZGxpY2guCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZXVuZCBWb3JzY2hsYWcgKEtleSwgMjUuIE1hciAxOTk4LCAxNjoxMDo0Nik6Cn4jISBybj1GcmV1bmQgcnQ9ODkwODM4NDU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwODM1MzQ3CkljaCBiaW4gYWJzb2x1dCBtaXQgZGVyIFJlZ2VsdW5nIGVpbnZlcnN0YW5kZW4gOykKCgpVbmQgenUgSXNpcyAuLi4ga2VpbmUgU29yZ2UgZHUgbWVya3N0IGRhcyBzY2hvbiB3ZW4gRnJldW5kY2hlbiB3YXMgdm9uIGRpcgp3aWxsIC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZXVuZHMgVm9yc2NobGFlZ2UgKFN0aW5nLCAyNS4gTWFyIDE5OTgsIDE2OjExOjE1KToKTWVpbmVyIE1laW51bmcgbmFjaCBkaWUgcGVyZmVrdGUgTG9lc3VuZywgZHUgd2lyc3QgZGFtaXQgc2ljaGVybGljaCBtZWhyIGFscwo4MCUgZGVyIExldXRlIHp1ZnJpZWRlbnN0ZWxsZW4gOikKCgpEYW5rZSBGcmV1bmQhCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJldW5kIFZvcnNjaGxhZyAoR25vbWUsIDI1LiBNYXIgMTk5OCwgMTY6MTE6MzMpOgp+IyEgcm49S2V5IHJ0PTg5MDgzODY0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDgzNTM0NwppY2ggYmluIGF1Y2ggc2VociBkYW1pdCB6dWZyaWVkZW4sIHdlciBub2NoPyA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW5HcmF1ZW4gaGF0IEdlYnVydHN0YWcgKE9ya3RvZXRlciwgMjUuIE1hciAxOTk4LCAxNjoxODoyNyk6Cn4jISBybj1Cb2luZyBydD04OTA4Mjc1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA4Mjc1OTQKSGFwcHkgQmlydGhkYXkgTUcgISEhCgpVbmQgZGFua2UgYW4gYWxsZSBNYWdpZXIsIGRpZSBkYXp1IGJlaWdldHJhZ2VuIGhhYmVuLCBkYXMgZHUgenUgZGVtIGdld29yZGVuCmJpc3QsIHdhcyBkdSBudW4gYmlzdCAhCkRhbmsgYWJlciBhdWNoIGFuIGFsbGUgU3BpZWxlciwgZGVubiB3YXMgd2FlcmUgZWluIE1VRCwgb2huZSBzb2xjaGUgIQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEpldHp0IG11c3MgaWNoIG1pciBtYWwgTHVmdCB2ZXJzY2hhZmZlbiAoR2VsZCAmIFNrcmlwdGUpIChHbG9pbnNvbiwgMjUuIE1hciAxOTk4LCAxNzozMzoxOCk6Cn4jISBybj1TaGFubmFyYSBydD04OTA4MzIxOTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA0NzAyMDQKRGVyIEJhZ2dlciBnZXN0ZXJuIGthbSB2b24gbWlyIDopIE5hZWNoc3RlcyBtYWwgaGVpc3N0IGVyIEV1c2ViaXVzLgoKR2xvaW4gZ3JpbnN0IGZpZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmV1bmQgVm9yc2NobGFnIChTcmFiaSwgMjUuIE1hciAxOTk4LCAxNzo0MjoxOCk6Cn4jISBybj1Hbm9tZSBydD04OTA4Mzg2OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA4MzUzNDcKYWxzbywgZGEgaWNoIGphIGF1Y2ggdm9uIGRlciBTYWNoZSBiZXRyb2ZmZW4gd2FyIChTY3JpcHRlKSwgZmluZGUgaWNoIGRlbgpWb3JzY2hsYWcgdm9uIEZyZXVuZCBlY2h0IGZhaXIuCgpJY2ggc2VsYmVyIGJlbnV0emUgZWluaWdlIFdlZ2VzY3JpcHRlIHVuZCBiaW4gZnJvaCwgZGllc2Ugd2VpdGVyIGJlbnV0emVuIHp1CmtvZW5uZW4sIHNlbGJlciBtaXQgZGVuIFN5bnRheGVuIHRlbGVwb3J0aWVyZSB1LmEuIAoKRGFua2UgRnJldW5kCgpTcmFiaSwgdG90YWwgZXJsZWljaHRlcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJ1Y2ggKFdpZGV3aXR0LCAyNS4gTWFyIDE5OTgsIDE5OjAxOjE2KToKSW4gdmllciBaZWlsZW4gd2FzIHp1IHNhZ2VuIGVyc2NoZWludCB6d2FyIGxlaWNodCBkb2NoIGlzdCBlcyBzY2h3ZXIgbWFuCmJyYXVjaHQgamEgbnVyIG1hbCBuYWNoenVzY2hsYWdlbiBkaWUgbWVpc3RlbiBkaWNodGVyIGJyYXVjaGVuIG1laHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZXVuZCBzZWluIFZvcnNjaGxhZyAoRGFtaWVuLCAyNS4gTWFyIDE5OTgsIDE5OjE3OjQ4KToKTmEgYml0dGUsIGVzIGdlaHQgZG9jaCEgSWNoIGRlbmtlLCBkYXMgaXN0IGVpbmUgZWluZGV1dGlnZSB1bmQgZnVlciBqZWRlci0KbWFubi9mcmF1IGFremVwdGFibGUgUmVnZWx1bmcuIEdyYXRzLCBGcmV1bmQhCgpEYW1pZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJldW5kIHNlaW4gVm9yc2NobGFnIChTY2hva28sIDI2LiBNYXIgMTk5OCwgMDA6MjY6MTApOgp+IyEgcm49RGFtaWVuIHJ0PTg5MDg0OTg2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDg0OTg2OApKbyBhdWNoIGljaCBrYW5uIGRlbSBudXIgenVzdGltbWVuLiBJY2ggZGVua2UgYXVjaCBGcmV1bmQgaGF0IGRhcyBnYW4gZ3V0CnJhdXMsIGZlc3R6dXN0ZWxsZW4sIG9iIGplbWFuZCB3aXJrbGljaCBuaWNodCBhbnNwcmVjaGJhciBpc3Qgb2RlciBudXIKYXVzbmFobXN3ZWlzIG5peCBtaXRrcmllZ3QuLi4KClNjaG9rbyAoYXVjaCBuaWNodCBnYW56IHVuZWJlZmxlY2t0IDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmV1bmQgc2VpbiBWb3JzY2hsYWcgKEx1ZywgMjYuIE1hciAxOTk4LCAwMjozMzo1NSk6Cn4jISBybj1TY2hva28gcnQ9ODkwODY4MzcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwODQ5ODY4CgpLbGFyLCAKCmljaCBhdWNoIC0gaWNoIGF1Y2guIERlbmt0IGVpbmZhY2ggYW4gZGllc2VuIEFydGlrZWwsIHdlbm4gSWhyIHVuYmVkaW5ndCBzYWdlbgptdWVzc3Q6IGljaCBhdWNoLgoKKnp3aW5rZXIgRnJldW5kIHp1KgpMdWcKClAuUy46IEhtcGYsIHNpZWh0IGphIHNvIGFscyBvYiBpY2ggZGVuIEF1ZmVudGhhbHQgYW4gZGVyIFVlYnVuZ3NwdXBwZQp3ZWl0ZXJoaW4genVtICdQaXNzc3RvcCcgbnV0emVuIGthbm4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW5HcmF1ZW4gaGF0IEdlYnVydHN0YWcgKERlZXBibHVlLCAyNi4gTWFyIDE5OTgsIDE0OjU3OjI2KToKfiMhIHJuPUJvaW5nIHJ0PTg5MDgyNzU5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDgyNzU5NApHcmF0dWxhdGlvbiwgTW9yZ2VuZ3JhdWVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJldW5kIHNlaW4gVm9yc2NobGFnIChKYXNvbnJpZ2lkLCAyNi4gTWFyIDE5OTgsIDE2OjE0OjM0KToKfiMhIHJuPURhbWllbiBydD04OTA4NDk4Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA4NDk4NjgKSGkgTGV1dGUsIGluc2Jlc29uZGVyZSBGcmV1bmQuCgpLbGluZ3QgZmFpciwgZGllIExvZXN1bmcsIGljaCBiaW4gZGFmdWVyIDopCgpLdXJ6IHVuZCBidWVuZGlnCgpKYXNvbiBSaWdpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9tZXBhZ2UgbWl0IE1HLUluZm9zIChTd2lmdCwgMjYuIE1hciAxOTk4LCAyMjo1NTozOSk6CgpIaSBDaGFvdGVuIHVuZCBhbmRlcmUgR2lsZGVuYW5nZWhvZXJpZ2UhIDopCgpNZWluIEJydWRlciB1bmQgaWNoIGhhYmVuIHVucyBtaXQgSGlsZmUgZWluaWdlciBMZXV0ZSBhdWNoIG1hbCBkaWUgTXVlaGUKZ2VtYWNodCwgSW5mb3MgdWViZXIgZGllIHZlcnNjaGllZGVuZW4gR2lsZGVuIHp1c2FtbWVuenV0cmFnZW4gdW5kIGluIGVpbmUKbGVzYmFyZSBGb3JtIHp1IGJyaW5nZW4uIEljaCBob2ZmZSBkYXMgaXN0IHVucyBnZWx1bmdlbi4gRGllIFNlaXRlIHdpcmQKbmF0dWVybGljaCBub2NoIGVyd2VpdGVydCBhYmVyIHNpZSBrYW5uIHNpY2ggc2Nob24gc2VoZW4gbGFzc2VuLgoKQXVjaCBmdWVyIEFuZmFlbmdlciB1bmQgTGV1dGUgZGllIHZvciBkZXIgV2FobCBlaW5lciBHaWxkZSBzdGVoZW4ga2FubiBpY2ggZGllClNlaXRlbiBlbXBmZWhsZW4uCgpPayBFdXJlIE1laW51bmdlbiB3ZXJkIGljaCBkYXp1IHdvaGwgZWggaG9lcmVuIG9iIGljaCB3aWxsIG9kZXIgbmljaHQsIGFsc28KaXN0IGRpZSBCaXR0ZSB1bSAoa29uc3RydWt0aXZlKSBLcml0aWsgd29obCB1ZWJlcmZsdWVzc2lnLi4uIDopCgpEaWUgU2VpdGU6IGh0dHA6Ly93d3cudGhlb2ZmaWNlLm5ldC93YWx6CgpkYXMgaXN0IGVpbiBsaW5rIGF1ZiBkZW4gbW9tZW50YW5lbiBzZXJ2ZXIKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL1RpbWVzU3F1YXJlL1JlYWxtLzk1MjAKCkFiZXIgbmVobXQgZGllIDEuIEFkcmVzc2UsIHNvbGx0ZSBkaWUgSG9tZXBhZ2UgbWFsIHVtemllaGVuIGdpbHQgc2llIGltbWVyCm5vY2ggOikKCgpjdQogIHN3aWZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlciBWZXJlaW4hIChMdWcsIDI3LiBNYXIgMTk5OCwgMDI6MDA6NTYpOgoKCkhtLAoKaWNoIGRlbmtlICh3YXMgaXN0IGRhcyBlaWdlbnRsaWNoIGdlbmF1PyksIGljaCBncnVlbmRlIGVpbmVuIG5ldWVuIFZlcmVpbjoKViBlcmVpbiB6IHVyIFIgZWluaGFsdHVuZyBkIGVzIE0gdWRzID0gVnpSZE0Kb2RlciBiZXNzZXIgZGFzIEtvbW1pdGVlID0gS3pSZE0uCgpXaXIgdGFnZW4gZGFubiB1ZWJlciB1bm11ZGRpc2NoZXMuIEtyYWZ0IG1laW5lciBNaXRnbGllZHNjaGFmdCBlcm5lbm5lIGljaAptaWNoIGhpZXJtaXQgenVtIFZvcnNpdHplbmRlbi4gCgpWb2VsbGlnIGVybnN0IGF1c3NlaGVuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb21lcGFnZSBtaXQgTUctSW5mb3MgKE1vcmdvdGgsIDI3LiBNYXIgMTk5OCwgMTM6NTc6MzMpOgp+IyEgcm49U3dpZnQgcnQ9ODkwOTQ5MzM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkwOTQ5MzM5CkFsc28gd2VubiBzZWxic3QgZGFzIExhZGVuIGFuIGRlciBVbmkgbWl0IDEwIGJ6dyAxMDBNYml0IEV0aGVybmV0IHVlYmVyIGVpbmUKTWludXRlIGRhdWVydCwgZGFubiBpc3QgZGFzIGZ1ZXIgTW9kZW1zdXJmZXIgd2FzIGZ1ZXJuIEFyJCYlLiAKRFVSQ0hHRUZBTExFTiAhISEKRGllIEdpbGRlbnNlaXRlbiBzaW5kIGFsbGVkaW5ncyByZWNodCBpbmZvcm1hdGl2LiBQYWNrIGRhcyBhbGxlcyBtYWwgaW4gVGV4dApvaG5lIEZyYW1lZ2VnYW1tZWwgdW5kIExhZGVoZW1tZXIsIGRhbm4gc2luZCBkYXMgcmljaHRpZyBTdXBlci1TZWl0ZW4uCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlciBWZXJlaW4hIChHcmltbWJvcm4sIDI3LiBNYXIgMTk5OCwgMTQ6MDI6NDIpOgp+IyEgcm49THVnIHJ0PTg5MDk2MDQ1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDk2MDQ1NgpJY2ggYmluIGRhYmVpLiBXbyBrYW5uIGljaCBlaW5lIEF1Zm5haG1lIGJlYW50cmFnZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb21lcGFnZSBtaXQgTUctSW5mb3MgKFp1ZXJpbGV1LCAyNy4gTWFyIDE5OTgsIDE0OjA1OjU3KToKfiMhIHJuPVN3aWZ0IHJ0PTg5MDk0OTMzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDk0OTMzOQpIaSwKQWVtbSBpY2ggc2NoYXUgbWlyIGRpZSBTZWl0ZSBnZXJhZGUgYW4sIHNlaHQgamEgc2Nob25tYWwgaHVlYnNjaCBhdXMuIEFiZXIKdmVyZGFtbXQgKFNvcnJ5KSBub2NobWFsIGlzdCBlcyBub2V0aWcgdW5iZWRpbmd0IGVpbiBDb29raWUgYXVmIGRpZSBwbGF0ZSB6dQpzY2htdWdnZWxuIHdvbGxlbiA/IEphIGljaCB3ZWlzcyBpY2gga2FubiBkaWVzZSBsYWVzdGlnZW4gRGluZ2VybiBhYnNjaGFsdGVuLAphYmVyIGljaCBiZXN1Y2ggdGFlZ2xpY2ggZWluIEludGVybmV0IEhUTUwtR2FtZSAoR2FsYWN0aWMgRW1waXJlIC0+Cnd3dy5nYW1lcy5jaCkgd28gZWluIGNvb2tpZSBhdWYgcGxhdHRlIHNwZWljaGVybiBtdXNzLiBBYmVyIHdhcnVtIHJlaWNodHMKbmljaHQgYXVzIGRhcyBpY2ggZXMgZWlubWFsIGFibGVobi4gPyBJY2ggd2lsbCBrZWluIENvb2tpZSB2b24gRGlyIGF1ZiBkZXIKUGxhdHRlICpCaWcgU25pZWYqLgoKVHNjaGF1IEFsYWluICpncmlucyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFNjcmlwdHJlZ2VsbiAoR3JpbW1ib3JuLCAyNy4gTWFyIDE5OTgsIDE2OjU1OjU3KToKfiMhIHJuPUZyZXVuZCBydD04OTA4MzU1Njggcmc9cG9saXplaS5iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9ODkwODM1NTY4CkFlaCwgZXMgZmVobHQgaW4gUHVua3QgNCBkaWUgRXJsYXVibmlzLCB1bmFuc3ByZWNoYmFyIHp1IGlkbGVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgYmFuZ3QgdW0gc2VpbiBzYXZlZmlsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVobGVyIGltIERMYW5kIChTYWlrYW4sIDI5LiBNYXIgMTk5OCwgMjM6MjI6MTYpOgpIYWxsbywKbW9tZW50YW4gZ2lidCBlcyB6YWhscmVpY2hlIEZlaGxlciBpbiBBdXNydWVzdHVuZ3NnZ3N0ZC4gZGVzIERydWRlbmxhbmRlcy4KSWNoIHdlaXNzIG5pY2h0IHdhbm4gaWNoIGRhenUga29tbXQgZGllIFJ1ZXN0dW5nZW4gZXRjLiBhbnp1cGFzc2VuLgp0LT5lCkljaCB3aWxsIG1pY2ggbnVyIG5vY2htYWwgbmVnYXRpdiB6dSBuYWNodHJhZWdsaWNoZW4gV2VydGVhbnBhc3N1bmdlbgphZXVzc2Vybi4uIFNvd2FzIGJpbiBpY2ggbm9ybWFsZXJ3ZWlzZQpudXIgdm9uIE11ZHMgaW0gYXVmYmF1IGdld29obnQuIEljaCBoYWJlIGtlaW5lIEx1c3QgZGVzIG9lZnRlcmVuIGFsdGUKRGF0ZWllbiB6dSB1ZWJlcmFyYmVpdGVuLi4uLgoKU2FpS0FOCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmVobGVyIGltIERMYW5kIChXdXJ6ZWwsIDI5LiBNYXIgMTk5OCwgMjM6MjQ6NDUpOgp+IyEgcm49U2Fpa2FuIHJ0PTg5MTIwNjUzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTIwNjUzNgppc3QgbW9uYXRlIHZvcmhlciBhbmdla3VlbmRpZ3Qgd29yZGVuLiBsaWVzdCBkdSBrZWluZSB6ZWl0dW5nPwpkaWUgbmV1ZW4gd2VydGUgc2luZCAicmVhbGlzdGlzY2hlciIsIHdhcyBpbW1lciBkYXMgaGVpc3NlbiBtYWcuLi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlciBWZXJlaW4hIChMdWcsIDI5LiBNYXIgMTk5OCwgMjM6Mzg6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5MTAwMzc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDk2MDQ1NgoKSnViZWwhCgpIaWVybWl0IGJpc3QgRHUgYXVmZ2Vub21tZW4gR3JpbW1ib3JuLiBHcmF0dWxpZXJlLgoKRnVlciBlaW4gc2F1YmVyZXMgTXVkIQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlaXRyaXR0IChSYW50YW5wbGFuLCAzMC4gTWFyIDE5OTgsIDAxOjQyOjU0KToKTkFjaGRlbSBpY2ggamV0enQgZHVyY2ggaG9laGVyZSBHZXdhbHQgZ2VsYWV1dGVydCB3dXJkZSBtb2VjaHRlCmljaCBkZXIgUkVpbmhhbHR1bmdzYmV3ZWdldW5nIHZvbiBMdWcgYmVpdHJldGVuLi4uLgoKT2UqICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWl0cml0dCAoTHVnLCAzMC4gTWFyIDE5OTgsIDAxOjQ0OjUxKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODkxMjE0OTc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxMjE0OTc0CgpJY2ggd3Vzc3RlLCBEdSB3dWVyZGVzdCB6dXIgVHVnZW5kIGZpbmRlbi4KRHUgYmlzdCBlYmVuZmFsbHMgYXVmZ2Vub21tZW4sIHdvbWl0IGRhcyBLb21taXRlZSB6dXIgUmVpbmhhbHR1bmcgZGVzIE11ZHMgbnVuCmF1cyBmb2xnZW5kZW4gUGVyc29uZW4gYmVzdGVodDoKR3JpbW1ib3JuLCBSYW50YW5wbGFuLCBMdWcuIERhenUgbWVocmVyZSBBZ2VudGVuLgoKRnVlciBlaW4gc2F1YmVyZXMgTXVkIQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRBTktFU0NIT0VOIChUYW5nYWx1ciwgMzAuIE1hciAxOTk4LCAwOTo0NDoxNCk6CkVpbiBncm9zc2VzIGRpY2tlcwoKCiAgICAgICAgICAgICAgICAgKiAqICogRCBBIE4gSyBFIFMgQyBIIE8gRSBOICogKiAqCgoKYW4gVGVkZHkgdW5kIHNlaW5lIE1hdXMsIFJpbmdvciwgRnJldW5kLCBSaW5nb3IgdW5kIEFsaW5lIHVuZCBuYXR1ZXJsaWNoIGF1Y2gKYW4gYWxsZSBkaWUsIGRpZSBpY2ggamV0enQgdmVyZ2Vzc2VuIGhhYmVuIHNvbGx0ZSBmdWVyIGRpZSB3aXJrbGljaCB0b2xsZQpQYXJ0eSB1bmQgZGllIGhlcnZvcmFnZW5kZSBPcmdhbmlzYXRpb24gaW4gRG9ydG11bmQuCgogICAgICAKICAgICAgICAgICAgICAgICAgICBUYW5nYWx1ciBGZXVlcnRhemUKCgpQLlMuOiBFaW5lIFdpbnR3cnBhcnR5IGltIEZydWVobGluZy4uLiBhbHNvIGljaCBmYW5kcyBrbGFzc2UgIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERBTktFU0NIT0VOIChCYWJvb24sIDMwLiBNYXIgMTk5OCwgMTM6MDI6MTQpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9ODkxMjQzODU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxMjQzODU0ClVuZCBuYXR1ZXJsaWNoIGF1Y2ggZGFua2UgYW4gU25vdHRpIGZ1ZXIgZGllIEVyZG51ZXNzZS4uLgo6LSkKCkJhYm9vbigpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYWNoIChBbm5pLCAzMC4gTWFyIDE5OTgsIDEzOjA4OjM1KToKSGllciBub2NobWFsIGZ1ZXIgYWxsZSBkaWVzIG5pY2ggbWl0YmVrb21tZW4gaGFiZW4gdW5kIEFubmloaWxhdG9yCmtlbm5lbiwgbW9lZ2VuLCBsaWViZW5vZGVyIHNvbnN0aXJnZW5kd2llIGd1dCBmaW5kZW4gOgoKSUNIIEhBQkUgTUlDSCBHRUxPRVNDSFQgIQoKamFqYSBpY2ggd2Vpc3Mgc2NoYWRlIGRydW0gdW5kIGJsYSAuLi4gZWdhbApLaW5uZXJzIGljaCBoYWJlIGtlaW5lbiBCb2NrIG1laHIgenUgbXVkZGVuIHVuZCBpY2ggaGFiIGF1Y2ggZWlnZW50bGljaAprZWluZSB6ZWl0CmljaCBoYWIgbWlyIHNjaG9uIHNvdmllbCBlbnRnZWhlbiBsYXNzZW4gZHVyY2gncyBtdWRkZW4gZGFzIHJlaWNodCBtaXIKbnUgbGFuZ3NhbSAuLi4gaWNoIHdlcmQgd2VpdGVyIGhpZXIgYWxzIGFubmkgZHJpbiBzZWluIHp1bSBxdWF0c2NoZW4Kb2RlciBzbywgd2VubiBpY2ggbWFpbHMgbGVzZSBldGMuIGFiZXIgaWNoIG11ZGRlIGRlZmluaXRpdiBuaWNodCBtZWhyIC4uLgppY2ggaGVpc3NlIGF1Y2ggbmljaCBzdW5mbG93ZXIgdW5kIGxhc3MgbWljaCBpbiB6d2VpIHdvY2hlbiB3aWVkZXIKcmVzdGF1cmllcmVuIC4uLiBkaWVzZXIKZW50c2NobHVzcyBpc3QgZW5kZ3VlbHRpZyAuLi4gaWNoIGhhYiBtaWNoIGdlYWVyZ2VydCwgZGFzcyBpY2ggbWVpbmVuCmZyZXVuZGVuIG5pY2ggbGViZXdvaGwgZ2VzYWd0IGhhYiwgd2FzIGljaCBoaWVybWl0IG5hY2hob2xlbiBtb2VjaHRlCnZpZWxlbiBEYW5rIGZ1ZXIgZGllIHNjaG9lbmUgemVpdCB1bmQgbWFuIHNpZWh0IHNpY2gKCnRzY2hvZQpTZWJibApmdWVyIGFsbGUgZGllIG5vY2ggaXJnZW5kd2FzIGF1Zm0gaGVyemVuIGhhYmVuIGhpZXIgbWVpbmUgZS1tYWlsIDoKc20xNUBpbmYudHUtZHJlc2RlbmQuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0eWJlcmljaHQgKFRlZGR5LCAzMC4gTWFyIDE5OTgsIDEzOjI3OjU1KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODkxMjE0MTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxMjE0MTQ3Cj41OjEwIChNRVNaKQo+Cj5EZW5rc3RlLi4uVGVkZHkgcGlzc3QgdW5zIGFuLCBkYXNzIHdpciBoaWVyIG5pY2h0IHNjaGxhZmVuIGR1ZXJmZW4uLi4KPk5hY2ggYWxsIGRlbSBWZXJnYW5nZW5lbiBkZW5rZSBpY2g6IiBXYXMgd2lsbCBkaWUgZmV0dGUgUXVhbGxlIGVpZ2VudGxpY2gKPnVuZCBiZXRyZXRlIGRlbiBTYWFsIGRlciBTY2huYXJjaGVyIGluIFRIWCB1bmQgRG9sYnkgU3Vycm91bmQgKFRNKS4KCgpUamEsIHdhcyBzb2xsIGljaCBkYXp1IG5vY2ggc2FnZW46IERBTktFU0NIT0VOIE9ldHRpIGZ1ZXIgZGllc2Ugd2ljaHRpZ2VuIHVuZApuZXR0ZW4gV29ydGUsIG1laHIgYnJhdWNoIGljaCBkaXIgZGF6dSBuaWNodCB6dSBzYWdlbiwgd2llIGljaCBtaXR0bGVyd2VpbGUKdm9uIGRlbiB2b3JoZXJnZWhlbmRlbiBQYXJ0eW9yZ2FuaXNhdG9yZW4gd2Vpc3MuCgpUZWRkeSA6LSgoKAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhY2ggKEZyZXVuZCwgMzAuIE1hciAxOTk4LCAxNToyMzo0OCk6Cn4jISBybj1Bbm5pIHJ0PTg5MTI1NjExNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTI1NjExNQpGdWVyIGFsbGUgRmFlbGxlIGhhYmUgaWNoIERlaW5lIFNhdmUtRmlsZXMgbWFsIGdlc2ljaGVydC4gOi0pCgpGcmV1bmQsIGRlc3NlbiBIdXNreXMgamV0enQgYW4gTGFuZ2V3ZWlsZSBzdGVyYmVuIHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVpdHJpdHQgKEFjcmltb24sIDMwLiBNYXIgMTk5OCwgMTU6NTY6NTcpOgp+IyEgcm49THVnIHJ0PTg5MTIxNTA5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTIxNDk3NApIbW1tIC4uLiBiaW4gaWNoIGRhIGRlbm4gbmljaHQgYXV0b21hdGlzY2ggZGFiZWk/ClNvIHBlciBkZWZpbml0aW9uZW0/CgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlaXRyaXR0IChZZW5kaSwgMzAuIE1hciAxOTk4LCAxNjowODo1MSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg5MTI2NjIxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTIxNDk3NAoKTmFqYSwgamVtYW5kLCBkZXIgZGllIGFlc3RoZXRpc2NoZW4gRW1wZmluZHVuZ2VuIHNlaW5lciBNaXQtTVVEZGVyIGR1cmNoCnBlbmV0cmFudGVuIEdlYnJhdWNoIGlyZ2VuZHdlbGNoZXIgQ29tcHV0ZXItaW5rb21wYXRpYmxlciB1bmQgbWVpc3QgYW4gZGVuCkhhYXJlbiBoZXJiZWlnZXpvZ2VuZXIgU29uZGVyemVpY2hlbiBiZWxlaWRpZ3QsIHNvbGx0ZSBlaWdlbnRsaWNoIGRlcwpNb3JnZW5HcmF1ZW5zIHZlcndpZXNlbiB3ZXJkZW4uICAgSG1wZi4KClllbmRpCiAgICAgIGVybmVubnQgc2ljaCB6dSBHcmltbWJvcm5zIGFnbm9zdGlzY2hlbSBWZXJsYWdzYmVyYXRlcgogICAgICBtaXQgU3BlemlhbGlzaWVydW5nIGF1ZiBUZXh0bGVzZXJsaWNoa2VpdCB1bmQgVW1sYXV0c2dlYnJhdWNoCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJlaXRyaXR0IChFbWJlLCAzMC4gTWFyIDE5OTgsIDE2OjE3OjM5KToKfiMhIHJuPVllbmRpIHJ0PTg5MTI2NjkzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTIxNDk3NAoiLCBhLCBvLCB1IHVuZCBrb21iaW5hdGlvbmVuIGRhdm9uIHNpbmQgY29tcHV0ZXItaW5rb21wYXRpYmVsPwp3aWVzbyBrYW5uIGljaCBzaWUgZGFubiB0aXBwZW4/IHVuZCBpaHIgc2llIGxlc2VuPwoKIj06LSkgIChzbWlseSBtaXQgYW4gZGVuIGhhYXJlbiBoZXJiZWlnZXpvZ2VuZW0gIikKCmdydXNzLCBlTUJlZS4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvbWVwYWdlIG1pdCBNRy1JbmZvcyAoQ2VpbG8sIDMwLiBNYXIgMTk5OCwgMjE6MDU6MTgpOgp+IyEgcm49TW9yZ290aCBydD04OTEwMDM0NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA5NDkzMzkKR2VuYXUsIGRpZSBsYW5nZSBMYWRlemVpdCBpc3QgZWNodCBuZXJ2aWcuLiBTb25zdCBmaW5kJyBpY2gncyBhdWNoIGd1dC4KCkNlaWxvIGRlciBTYWV1ZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvbWVwYWdlIG1pdCBNRy1JbmZvcyAoU3RpbmcsIDMwLiBNYXIgMTk5OCwgMjE6MTA6MTApOgp+IyEgcm49TW9yZ290aCBydD04OTEwMDM0NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA5NDkzMzkKT2VobS4uLiBBbHNvIGlyZ2VuZHdhcyBtdXNzIGFuIGV1cmVyIExlaXR1bmcga2FwdXR0IHNlaW4uLi4KSWNoIGhhYiBfbnVyXyBJU0ROLCBkYXMgbmljaHRtYWwgTWF4LVdlcnRlIGVycmVpY2h0LCBhYmVyIGljaCBtdXNzIHdpcmtsaWNoCm5pY2h0IGxhbmdlIHdhcnRlbi4uLiBBYmdlc2VoZW4gZGF2b246IHdvenUgZ2lidHMgQnJvd3Nlci1DYWNoZSA/IDopCgoKU3RpbmcsIGRlciBkYXMgTG9nbyBkYW5uIHRyb3R6ZGVtIG1hbCB2ZXJrbGVpbmVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlaXRyaXR0IChMdWcsIDMwLiBNYXIgMTk5OCwgMjM6MDU6MDMpOgp+IyEgcm49QWNyaW1vbiBydD04OTEyNjYyMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTEyMTQ5NzQKCkFsc28gQWNyaW1vbjoKCldpZSBpY2ggdmVyc2NoaWVkZW50bGljaGVuIExldXRlbiBzY2hvbiBzYWd0ZTogRHUgYmlzdCBwZXIgRGVmYXVsdDoKRWhyZW52b3JzaXR6ZW5kZXIhCgpJc3QgZG9jaCBzZWxic3R2ZXJzdGFlbmRsaWNoIDspCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW1mcmFnZSAoc3RyZW5nIHdpc3NlbnNjaGFmdGxpY2gpIChLYWxpLCAzMS4gTWFyIDE5OTgsIDEyOjIwOjAxKToKQXVmIFd1bnNjaCBlaW5lciBpbnRlcmVzc2llcnRlbiwgdW5nZW5hbm50IGJsZWliZW4gd29sbGVuZGVuID8/Pz8gZHJpdHRlbgpTZWl0ZSBtY2h0ZSBpY2ggaGllcm1pdCBlaW5lIGFsbGdlbWVpbmUgTWVpbnVuZ3N1bWZyYWdlIHp1ciBaZWl0IChiaXR0ZSBpbgpTdGQsIE1pbiwgU2VjLCBaZWhudGVsc2VjKSBzdGFydGVuLCBkaWUgZGllIFJhdWNoZXIgdW50ZSBldWNoIGZ1ZXIgZWluZQp6aWdhcmV0dGUgYnJhdWNoZW4uCkJlZGluZ3VuZ2VuIGRlcyBFeHBlcmltZW50czogZmlsdGVyLCBudXIgMSwgdW5kIG5vcm1hbGUgTGFlbmdlLCBrZWluZSB6aWdhcnJlbgooZGllIHdlcmRlbiBleHRyYSBlcmZhc3N0KSA7LSkKSGVyemxpY2hlbiBEYW5rIGltIHZvcmF1cyBmdWVyIEV1cmUgTWl0YXJiZWl0ICEhISEhISA7LSkKS2FsaSAoZGllIHNpY2ggZ2VyYWRlIGZyYWd0LCB3YXMgc2llIGRhIGdlc2NocmllYmVuIGhhdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvcnJ5Li4uIChSYW50YW5wbGFuLCAzMS4gTWFyIDE5OTgsIDE0OjMzOjQwKToKCkhtbW0gVGVkZHksIGljaCBkZW5rZSBpY2ggd2FyIHZpZWxsZWljaHQgZXR3YXMgX3p1XyBlcnJlZ3QsIHNvIHdpZSBkYXMKZ2FuemUgYW0gU2Ftc3RhY2ggQWJlbmQgYWJnZWxhdWZlbiBpc3QsIGRlc3dlZ2VuIGVpbmUgb2ZmaXppZWxsZQplbnRzY2h1bGRpZ3VuZywgZ2VuYXUgc28gd2llIGRpZSBCZWxlaWRpZ3VuZyBvZmZpemllbGwgd2FyLgoKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNvcnJ5Li4uIChUZWRkeSwgMzEuIE1hciAxOTk4LCAxNDozNDoyNik6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg5MTM0NzYyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTM0NzYyMApPSywgdmVyZ2Vzc2VucyB3aXJzLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVpIHZlcmJlc3NlcnVuZz8gKE1hdG9yaWFuLCAzMS4gTWFyIDE5OTgsIDE3OjQ2OjQwKToKbW9pbnMsCgp3ZW5uIGljaCBtaXIgZGllIGRpc2t1c3Npb24genVtIHNrcmlwdGVuIGFuc2NoYXUgLSBpY2ggYmluIG1pciBzaWNoZXIsIGRhc3MKd2VzZW50bGljaCBtZWhyIGxldXRlIHNrcmlwdGVuLCBhbHMgZXMgd2VsY2hlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvbWVwYWdlIG1pdCBNRy1JbmZvcyAoU3dpZnQsIDMxLiBNYXIgMTk5OCwgMjA6NTM6NTYpOgp+IyEgcm49TW9yZ290aCBydD04OTEwMDM0NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA5NDkzMzkKCmFsc28gd2llIG1laW4gYnJ1ZGVyIHNjaG9uIG1laW50ZTogbWl0IGlzZG4gKDY0a2JpdCkgc2NoZWludCBkYXMgaGllcgpzY2huZWxsZXIgenUga2xhcHBlbiBhbHMgYmVpIGRpciBhdWYgZGVyIHVuaS4Kd2VjaHNlbCBsaWViZXIgZGllIHVuaS4gOikKCmRhcyBzb2dlbmFubnRlICJmcmFtZWdlZ2FtbWVsIiBpc3QgaW1obyBlaW5lIGRlciBiZXN0ZW4gaHRtbC10ZWNobmlrZW4sIGVzCnNvcmcgZnVlciB3ZXNlbnRsaWNoIGJlc3NlcmUgdWViZXJzaWNodGxpY2hrZWl0LCBzZXR6dCBtYW4gZXMgcmljaHRpZyBlaW4uCmRhc3MgZXMgbGV1dGUgZ2lidCBkaWUgbGllYmVyIG1pdCBzdGVpbnplaXRtZXRob2RlbiBhcmJlaXRlbiBrYW5uIGljaCBuaWNodApnYW56IG5hY2h2b2xsemllaGVuLgoKY3UKICAgc3dpZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9tZXBhZ2UgbWl0IE1HLUluZm9zIChTd2lmdCwgMzEuIE1hciAxOTk4LCAyMDo1ODowMSk6Cn4jISBybj1adWVyaWxldSBydD04OTEwMDM5NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA5NDkzMzkKaGksCgpjb29raWU/IGFlaCBlcyBrYW5uIHNlaW4gZGFzcyBnZW9jaXRpZXMuY29tIGRhcyBtYWNodCAtIGRhcyBpc3QgZGVyIHNlcnZlciBhdWYKZGVtIGljaCBkaWUgaHAga29zdGVubG9zIGhpbnRlcmxlZ3QgaGFiZS4uLgpldnRsLiB2ZXJsZWdlIGljaCBzaWUgZGVtbmFlY2hzdCBhdWYgZGVuIHNlcnZlciBtZWluZXMgcHJvdmlkZXJzLCBpY2ggaGFiIGRhCndhcyB2b24gcGxhdHRlbnBsYXR6dmVyZ3JvZXNzZXJ1bmcgbGFldXRlbiBnZWhvZXJ0Li4uIDopCgpjdQogICBzd2lmdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdpbGRlbnNlaXRlbiAoU3dpZnQsIDMxLiBNYXIgMTk5OCwgMjE6MTQ6MTApOgp1bSBlcyBlaW5pZ2VuIG5vZXJnbGVybiBldHdhcyBsZWljaHRlciB6dSBtYWNoZW4gZ2ViIGljaCBtYWwgbmUga2xlaW5lIGluZm8genUKbWVpbmVyIHNlaXRlIHJhdXM6CgphbHNvIGRpZSBhZHJlc3NlIGlzdCB3ZWl0ZXJoaW4gZW50d2VkZXIKICAgICBodHRwOi8vd3d3LnRoZW9mZmljZS5uZXQvd2FsegpvZGVyCiAgICAgaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL1RpbWVzU3F1YXJlL1JlYWxtLzk1MjAKCnVtIGRpZSBtdWQtIGJ6dy4gZ2lsZGVuc2VpdGVuIGRpcmVrdCB6dSBsYWRlbiBmdWVndCBpaHIgZWluZmFjaCBub2NoIGRlbgpodG1sLW5hbWVuIGRlciBlbnRzcHJlY2hlbmRlbiBzZWl0ZSBoaW50ZW5hbi4KZGllIGh0bWwtbmFtZW46CiAgICAgbXVkcy5odG1sICh1ZWJlcnNpY2h0c3NlaXRlIG1pdCB6dWdyaWZmIGF1ZiBhbGxlIGdpbGRlbiBldGMuKQogICAgIGNoYW9zLmh0bWwKICAgICBiaWVyc2NodWV0dGxlci5odG1sCiAgICAgemF1YmVyZXIuaHRtbAogICAgIGthZW1wZmVyLmh0bWwKICAgICBrbGVydXMuaHRtbAogICAgIGthcmF0ZS5odG1sCgpmdWVyIGRpZSBjaGFvcy1zZWl0ZW4gZXJnaWJ0IHNpY2ggYWxzbzoKaHR0cDovL3d3dy50aGVvZmZpY2UubmV0L3dhbHovY2hhb3MuaHRtbAoKY2hhb3Rpc2NoZSB0cmFldW1lIQogICBzd2lmdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSG9tZXBhZ2UgbWl0IE1HLUluZm9zIChadWVyaWxldSwgMzEuIE1hciAxOTk4LCAyMjowMDozNyk6Cn4jISBybj1Td2lmdCBydD04OTEzNzA0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTA5NDkzMzkKSGkgU3dpZnQsCk51biBkdSBzZWhzdCBkYXMgcHJvYmxlbSBuaWNodCBkYXMgbmljaHQgamVkZXIgZWluIEJydWRlciBtaXQgSVNETiBhbnNjaGx1c3MKaGF0LCB1bmQgZGFubiBnZWh0IGRhcyBkb3dubG9hZGVuIGRlaW5lciBTZWl0ZS4gRG9pZSB3YXJzY2hlaW5saWNoIGF1ZiBJU0ROCmF1c2dlbGVndCB3dXJkZS4gTnVuIG1pdCAyOCc4MDAga29ubnRlIGljaCBpbiBkZXIgWmVpdCBlYXN5LCBpbiBkZXIgS3VlY2hlIG5lClBpenphIGluIGRlbiBPZmVuIHNjaGllYmVuLCBlaW4gSm9pbnQgYmF1ZW4gdW5kIHJhdWNoZW4gdW5kIG1hbCBuZWJlbmJlaSBub2NoCnBhYXIgZGV0YWlscyB6dSBkZW4gbmV1ZW4gUmFldW1lbiBzY2hyZWliZW4uCndlbm4gZGFubiBiaWV0ZSBkb2NoIDIgdmFyaWFudGVuIGFuLCBkaWUgZWluZSBldnRsLiB3ZW5pZ2VyIGdyYWZpawphdWZ3ZW5kaWdlcmUgdW5kIGVpbmUgaXNkbiB2ZXJzaW9uID06KQoKVHNjaGF1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc29ycnkuLi4gKEx1ZywgMzEuIE1hciAxOTk4LCAyMjoxNTowMSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg5MTM0NzYyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTM0NzYyMAoKV1dXQUFBQUFBU1NTUz8KCkh1bmQgRHUgd2lyc3QgYWx0LCBzbyBrZW5udCBtYW4gRGljaCBqYSBnYXIgbmljaHQuIDspCgpFcnN0YXVudApMdWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNvcnJ5Li4uIChHcmltbWJvcm4sIDMxLiBNYXIgMTk5OCwgMjM6MDU6MjEpOgp+IyEgcm49THVnIHJ0PTg5MTM3NTMwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTM0NzYyMApEdSBoYXN0IGVzIG5pY2h0IHZlcnN0YW5kZW4sIER1IGhhc3QgZXMgbmljaHQgdmVyc3RhbmRlbi4uLiAqcnVtaHVlcGYqCkdlbmF1c293ZW5pZyB3aWUgVGVkZHkuIEpldHp0IGxpZXMgRGlyIGRlbiBsZXR6dGVuIFNhdHogdm9tIEtvZXRlciBub2NobWFsCmR1cmNoIHVuZCBkZW5rIG5hY2guIEljaCBiaW4gbWlyIHppZW1saWNoIHNpY2hlciBkYXNzIGRhcyBzbyBnZW1laW50IGlzdCB3aWUKaWNoIGRhcyB2ZXJzdGVoZS4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGdyaW5zdCBzaWNoIGVpbnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNvcnJ5Li4uIChMdWcsIDMxLiBNYXIgMTk5OCwgMjM6MDc6MTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5MTM3ODMyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTM0NzYyMAoKQWxzbyBHcmltbSwKCmpldHp0IHNpZWhzdCBEdSBHZXNwZW5zdGVyIDspCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laHJ3ZXJ0c3RldWVyIChGcmV1bmQsICAxLiBBcHIgMTk5OCwgMDg6NDY6MDkpOgpUYWcsCndpZSBob2ZmZW50bGljaCBhbGxlIG1pdGJla29tbWVuIGhhYmVuLCBoYXQgZGVyIEJ1bmRlc21pbmlzdGVyIGZ1ZXIgRmluYW56ZW4sCkRyLiBUaGVvZG9yIFdlaWdlbCwgZGllIE1laHJXZXJ0U3RldWVyIHVtIDElIGVyaG9laHQuIERhcyBoYXQgenVyIEZvbGdlLCBkYXNzCm5hY2ggZGVtIG5hZWNoc3RlbiBSZWJvb3QgYWxsZSBTYWNoZW4gaW4gZGVuIExhZWRlbiBlbnRzcHJlY2hlbmQgdGV1cmVyCndlcmRlbi4KCk5hamEsIHZpZWxsZWljaHQgd2VyZGVuIGRhbm4gZGllIExhZWRlbiBhdWNoIHdlbmlnZXIgcGxlaXRlIHNlaW4uLi4KCkhvZmZlbmQsCkZyZXVuZCwgWmVudHJhbGJhbmstVm9yc2l0emVuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc29ycnkuLi4gKEtleSwgIDEuIEFwciAxOTk4LCAwODo1MTo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODkxMzc4MzIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxMzQ3NjIwClZpZWxsZWljaHQgaGFzc3UgYWJlciBkaWVzbWFsIGF1Y2ggbml4IHZlcnN0YW5kZW4gR3JpbW1pPyA6KQoKS2V5CiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVyd2VyZHVuZyAoU2VydmVydXMsICAxLiBBcHIgMTk5OCwgMTI6MjU6NTMpOgpIaSBMZXV0ZSEKCkluIGRlciBSdWJyaWsgQmVrYW5udG1hY2h1bmcgc2luZCBkaWUgbmV1ZW4gQW5mb3JkZXJ1bmdlbiB6dXIgU2VoZXJ3ZXJkdW5nCmJlc2NocmllYmVuLiBJc3QgbWl0IGRlciBUb3AtTGlzdGUgZGllIGFsbGVyIFNwaWVsZXIgZ2VtZWludCBvZGVyIG51ciBkaWUgZGVyClNwaWVsZXIgb2huZSBTZWhlcj8gQXVzc2VyZGVtIGlzdCBtaXQgZGVuciAgQWJlcmtlbm51bmcgZGVyIFNlaGVycmVjaHRlIGF1Y2gKZGllIFJ1ZWNrc3R1ZnVuZyBpbiBkZW4gR2lsZGVuIGdlbWVpbnQsIGRhIGVzIGphIEdpbGRlbiBnaWJ0IHdlbGNoZSBmdWVyIGRlbgpTdHVmZW4gYXVmc3RpZWcgenUgZWluZXIgYmVzdGltbXRlbiBTdHVmZSBkZW4gU2VoZXJzdGF0dXMgdm9yYXVzc2V0emVuPyBadXIKZXJzdGVuIEZyYWdlOiB3ZW5uIGRpZSBhbGxnZW1laW5lIFRvcGxpc3RlIGdlbWVpbnQgaXN0LCBnaWJ0IGVzIGRhbm4gamEgbnVyCm5vY2ggNTAgU2VoZXIgaW0gTUchPyBPYiBkYXMgZGVyIHJpY2h0aWdlIFdlZyBpc3QgZGllIFd1cnN0c2VoZXJ6YWhsIHp1CnJlZHV6aWVyZW4/IEljaCB3ZWlzcyBlcyBuaWNodC4gU2lsdmFuYSBnaWIgbWFsIERlaW5lbiBTZW5mIHp1IG1laW5lbiBGcmFnZW4KYWIsIGJpdHRlIQoKU2VydmVydXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJ3ZXJkdW5nIChab3JybywgIDEuIEFwciAxOTk4LCAxMzowMToxOCk6Cn4jISBybj1TZXJ2ZXJ1cyBydD04OTE0MjYzNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MjYzNTMKRXMgaXN0IGRlciBiZXN0ZSB3ZWcgLi4uIHdvYmVpIGVpbmUgcmVkdXppZXJ1bmcgYXVmIDI1IGVpZ2VuZGxpY2ggYmVzc2VyCndhZXJlLCBkYW5uIGhvZXJ0IGRlciBzdGF1IGltIHJhdW0gendpc2NoZW4gZGVuIHNlaGVycG9ydGFsZW4gd2VuaWdzdGVucyBhdWYuCnVuZCBkaWUgbGV1dGUgZGllIGRhcmF1ZiB3YXJ0ZW4gYW4gaWhyIHppZWxwb3J0YWwgenVnZWxhbmdlbiBlcnpldWdlbiBuaWNodAptZWhyIHNvdmllbCBsYWcKCkdydXNzIFpvcnJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJ3ZXJkdW5nIChZYXJlbiwgIDEuIEFwciAxOTk4LCAxMzowNjo0OSk6Cn4jISBybj1TZXJ2ZXJ1cyBydD04OTE0MjYzNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MjYzNTMKT2J3b2hsIGljaCBzZWxic3QgaW0gTW9tZW50IExlaWR0cmFnZW5kZXIgZGllc2VyIEJlc2NocmFlbmt1bmcgd2VyZGUsCmJlZ3J1ZXNzZSBpY2ggZXMgZG9jaDogZGllIG5ldWUgUmVnZWx1bmcgYmlldGV0IGVpbmVuIHdlaXRlcmVuIGRldXRsaWNoCkFucmVpeiwgU2VoZXIgenUgd2VyZGVuLiBJY2ggd3VlcmRlIGVzIGFsbGVyZGluZ3MgYmVncnVlc3Nlbiwgd2VubiBtYW4gYWIKTGV2ZWwgNDAgc2Nob24gZWlubWFsIHNlaW5lbiBUaXRlbCBzZXR6ZW4ga2FubiAuLi4gd2llIHNpZWh0IGVzIGF1cywgU2lsdmFuYT8KQmVrb21tc3QgYXVjaCBuZSBDb2xhIGF1c2dldGFuIGJlaW0gbmFlY2hzdGVuIFN0YW1tdGlzY2ggOi0pCgpZYXJlbi4gV2lsbCBrZWluICdZYXJlbiBkZXIgYW5nZWhlbmRlIFNlaGVyJyB3ZXJkZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZ2lsZGVuc2VpdGVuIChTaGFubmFyYSwgIDEuIEFwciAxOTk4LCAxMzoxMjo1NCk6Cn4jISBybj1Td2lmdCBydD04OTEzNzE2NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTEzNzE2NTAKQWVoLi4uIHVuZCB3YXMgaXN0IG1pdCBkZW4gS2F0emVua3JpZWdlcm4/IAoKWmFlaGxlbiBkaWUgbmljaHQgYWxzIEdpbGRlLCBudXIgd2VpbCBzaWUgZWluZSBBcnQgdmVyYmVzc2VydGUgQWJlbnRldXJlcmdpbGRlCnNpbmQ/IAoKIFNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGdpbGRlbnNlaXRlbiAoS2V5LCAgMS4gQXByIDE5OTgsIDEzOjIyOjMwKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTg5MTQyOTE3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTM3MTY1MApWaWVsbGVpY2h0IHNpbmQgZGllIEthdHplbmtyaWVnZXIgZWluZmFjaCBub2NoIG5lbiBiaXNzZXJsIGp1bmc/CkhleSBkaWUgTGV1dGUgbWFjaGVuIGRhcyBmcmVpd2lsbGlnIHVuZCBuZWJlbmJlaS4gRGFzIG1hbiBuaWNodCBpbW1lciBhdWYgZGVtCmxhdWZlbmRlbiBzZWluIGthbm4gaXN0IGRvY2ggd29obCBrbGFyIC4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ2lsZGVuc2VpdGVuIChTaGFubmFyYSwgIDEuIEFwciAxOTk4LCAxMzoyNzoyNyk6Cn4jISBybj1TaGFubmFyYSBydD04OTE0MjkxNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTEzNzE2NTAKV2FyIGphIG5pY2h0IGdsZWljaCBzbyBiaXNzaWcgZ2VtZWludCwgZmFsbHMgZHUgZXMgc28gdmVyc3RhbmRlbiBoYXN0LCBLZXkuCgpJY2ggd2Vpc3Mgc2VsYmVyLCBkYXNzIGRpZXNlIEdpbGRlIG5vY2ggcmVjaHQganVuZyBpc3QgdW5kIGhhYmUgamEgc2VsYmVyIGVpbgpwYWFyIEVyd2VpdGVydW5nc2lkZWVuLCBkaWUgYWJlciBub2NoIG5pY2h0IHNvIGtvbmsgKF5IXmguLi4uIHRlbG5ldCA6KCApIC4uLgppY2ggbWVpbmUsIGRhc3MgZGllc2UgSWRlZW4gbnVyIGRlcnplaXQgc28gaW0gS29wZiBoZXJ1bWdlaXN0ZXJuLgoKV2FocnNjaGVpbmxpY2ggd2lyZCBqYSBhdWNoIGRlcnplaXQgYW4gRXJ3ZWl0ZXJ1bmdlbiBoZXJ1bXByb2dyYW1taWVydCwgIHdlcgp3ZWlzcyAoYXVzc2VyIGRpZSBNYWdpZXIpPwoKU2hhbm5hcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcndlcmR1bmcgKEFyaywgIDEuIEFwciAxOTk4LCAxMzo0MDoxMik6Cn4jISBybj1TZXJ2ZXJ1cyBydD04OTE0MjYzNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MjYzNTMKRXMgaXN0IGRpZSBhbGxlciBTcGllbGVyIGdlbWVpbnQsIGF1Y2ggZGllIFNlaGVyLiBJbiBadWt1bmZ0IHdpcmQgZXMKd29obCBuaWNodCBtZWhyIGFsbHp1IHZpZWxlIFNlaGVyIGdlYmVuLCBhYmVyIG1hbiBoYXQgZXMgb2ZmZW5iYXIgc28KZ2V3b2xsdC4gSWNoIGJlZ3J1ZXNzZSBkYXMuIEljaCBoYWJlIGdlaG9lcnQsIG1hbiBkaXNrdXRpZXJ0IGpldHp0CmVuZGxpY2ggYXVjaCB1ZWJlciBkaWUgQWJzY2hhZmZ1bmcgZGVzIFNlaGVydHVtcyB1ZWJlcmhhdXB0LCBkYW1pdCBkaWUKc3RhZW5kaWdlIERpc2t1c3Npb24gYXVmaG9lcnQuIElzdCBtaXIgYXVjaCBzZWhyIHJlY2h0LiBNYWNodCBhbGxlIGdsZWljaC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlaGVyd2VyZHVuZyAoQW5ha2luLCAgMS4gQXByIDE5OTgsIDEzOjQxOjA5KToKfiMhIHJuPUFyayBydD04OTE0MzA4MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MjYzNTMKR2VuYXUsIE1hZ2llciB6dSBQZmx1Z3NjaGFyZW4gb2RlciB3aWUgd2FyIGRhcz8KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZWhyd2VydHN0ZXVlciAoQmVuc29ubWFtLCAgMS4gQXByIDE5OTgsIDE2OjU5OjUwKToKfiMhIHJuPUZyZXVuZCBydD04OTE0MTMxNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MTMxNjkKSWNoIHdpbGwgamEgaGllciBuaWNodCBiZXNzZXJ3aXNzZXJuLCBhYmVyIHdlbm4gZGVyIFdhaWdsIGRpZSBNZWhyd2VydHN0ZXVlcgpudXIgdW0gMSUgZXJob2VodCBoYWV0dGUsIHdhZXJzIHdlbmlnZXIgc2NobGltbS4gTGVpZGVyIGhhdCBlciBzaWUgYWJlciB1bQplaW5lbiBQcm96ZW50UFVOS1QgZXJob2VodCwgd2FzIGluIGRpZXNlbSBGYWxsIGV0d2EgZWluZSBzaWViZW5tYWwgc28gaG9oZQpFcmhvZWh1bmcgYmVkZXV0ZXQuCgpqLiBCZW5zb25tYW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZWhyd2VydHN0ZXVlciAoRnJldW5kLCAgMS4gQXByIDE5OTgsIDE3OjAyOjE5KToKfiMhIHJuPUZyZXVuZCBydD04OTE0MTMxNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MTMxNjkKT2hqYSwgc3RpbW10IGphLiBBbHNvLCBkaWUgU3RldWVyIGlzdCBhdWYgMTYlIGVyaG9laHQuCgpBcmdsLCBqZXR6dCBkYXJmIGljaCBhbGxlIExhZWRlbiBub2NoIG1hbCB1bXNjaHJlaWJlbi4uLiA6LSgKCkZyZXVuZCwgZ2VzZXR6ZXN0cmV1LCB3aWUgZXMgc2VpbiBBbXQgdmVybGFuZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXJ3ZXJkdW5nIChUcmFuY2VmZWFyLCAgMS4gQXByIDE5OTgsIDE5OjIxOjQ2KToKfiMhIHJuPVNlcnZlcnVzIHJ0PTg5MTQyNjM1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQyNjM1MwpIbWphLi4uIHdlbm5zIGRlbm4gc293ZWl0IGtvbW10LCB3dWVyZGUgaWNoIHZvcnNjaGxhZ2VuLCBkZW4gUExhdHogaW4gZGVyCkxpc3RlIGF1Y2ggaW1tZXIgaW0gIkZpbmdlciIgYW56dXplaWdlbi4gU28ga2FubiBtYW4gc2NobmVsbCBtYWwgZGllIDUgTGV1dGUKdWViZXIgZWluZW0gaW0gQXVnZSBiZWhhbHRlbi4uLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcnN0YXR1cyAoWWVuZGksICAxLiBBcHIgMTk5OCwgMTk6NTM6MzMpOgp+IyEgcm49RnJldW5kIHJ0PTg5MTQxMjU4NyByZz1wb2xpemVpLmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD04OTE0MTI1ODcKCk9jaCBGcmV1bmQsIGRhcyBzaW5kIGphIHdpZWRlciBudXIgaGFsYmUgU2FjaGVuLgpJY2ggYWxzIE5pZS1pbS1MZWJlbi1TZWhlciBmb3JkZXJlLCBkYXNzIGF1dG9tYXRpc2NoIGFsbGUgU2VoZXIgdm9nZWxmcmVpCndlcmRlbiAtLSBkYXMgZHVlcmZ0ZSB6dW5hZWNoc3QgZGllIGFrdHVlbGxlIEFuemFobCBkZXIgU2VoZXIgZWluIHdlbmlnCmRydWVja2VuLCB1bmQgZGVzIHdlaXRlcmVuIGR1ZXJmdGVuIGRpZSBMZXV0ZSBzaWNoIGFiIGRhbm4gendlaW1hbCB1ZWJlcmxlZ2VuLApvYiBzaWUgbmljaHQgdmllbGxlaWNodCBkb2NoIG5vY2ggZWluZSBXZWlsZSB3YXJ0ZW4gdW5kIHVlYmVuLCBiaXMgc2llIGRhbm4KU2VoZXIgd2VyZGVuLi4uCgpZZW5kaQogICAgICBmb3JkZXJ0IHZvbiBkZXIgc2ljaGVyZW4gV2FydGUgImx2bCAxOCIgZWluIHJhZGlrYWxlcyBEdXJjaGdyZWlmZW4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlcnN0YXR1cyAoVHJhbmNlZmVhciwgIDEuIEFwciAxOTk4LCAxOTo1NTozMik6Cn4jISBybj1ZZW5kaSBydD04OTE0NTMyMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MTI1ODcKTmVlZSBhbmRlcnMsIFllbmRpLiBXaWUgYmVpIG1hbmNoZW4gR2lsZGVuIHVlYmxpY2gsIG11c3MgZGVyIEVpbnRyaXR0IGluIGRlbgplcmxhdWNodGVuIFNlaGVybGV2ZWwgaW4gZWluZXIgKGRlciA/KSBBcmVuYSBlcnNjaGxhY2h0ZXQgd2VyZGVuLi4uIGQuaC4gYmluCmljaCBQbGF0eiA1MSB1bmQgd2lsbCA1MCB3ZXJkZW4sIGZvcmRlcmUgaWNoIGRpZSA1MCB6dW0gRHVlbGwgKHdpZSBiZWltClRlbm5pcywgbmljaHdhPyA6LSkKCnRmCnBzOiBEYXMgZ2lsdCBuYXR1ZXJsaWNoIGF1Y2ggZnVlciBkZW4gd2VpdGVyZW4gQXVmc3RpZWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlaGVyc3RhdHVzIChZZW5kaSwgIDEuIEFwciAxOTk4LCAxOTo1ODo0NSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg5MTQ1MzMzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQxMjU4NwpBdSBqYSEgQWJlciBkaWUgQXJlbmEtVG9kZSBkZXIgU2VoZXIgbXVlc3N0ZW4gZGFubiBhdWNoIG5vY2ggdW5hYmJldGJhcgp3ZXJkZW4uLi4KClllbmRpCiAgICAgIHJlaWJ0IHNpY2ggZGFlbW9uaXNjaCBraWNoZXJuZCBkaWUgSGFlbmRlIHVuZCB1ZWJlcmxlZ3QsCiAgICAgIHdhcyBlciBhbHMgTWFnaWVyIGFsbGVzIGFucmljaHRlbiBrb2VubnRlIC0tIGFjaCBuZWUsCiAgICAgIGRhIG11ZXNzdGUgaWNoIGphIHp1ZXJzdCBTZWhlciB3ZXJkZW4sIHp1IGdlZmFlaHJsaWNoLi4uCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvaGwga2VpbiBBcHJpbHNjaGVyeiAoQ2F0d2VhemxlLCAgMS4gQXByIDE5OTgsIDIxOjAzOjM5KToKSXN0IHp3YXIgZXJzdCBpbiA0IFdvY2hlbiwgYWJlciB0cm90emRlbSBzY2hvbiBtYWwgenVyIEluZm86Ci0tLS0tClN1YmplY3Q6ICoqKiBIb3QgTmV3cyAqKiogMDEuQXByLjE5OTggMTg6MTkgKioqCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YW5kOiAwMS4wNC4xOTk4LCAxODoxOSBVaHIKMDEuMDQuOiBEaWVuc3RhZywgMjguNC45OCwgNS04IFVociB2b3JhdXNzaWNodGwuIEJldHJpZWJzdW50ZXJicmVjaHVuZyBkZXMKICAgICAgICBCLVdpTi1BbnNjaGx1c3NlcyBhdWZncnVuZCB2b24gV2FydHVuZ3NhcmJlaXRlbiBkZXIgRGV1dHNjaGVuCiAgICAgICAgVGVsZWtvbSAoa2VpbiBadWdhbmcgenVtIGV4dGVybmVuIEludGVybmV0KQotLS0tLQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWVocndlcnRzdGV1ZXIgKE92ZXJsb3JkLCAgMS4gQXByIDE5OTgsIDIyOjUwOjI5KToKfiMhIHJuPUZyZXVuZCBydD04OTE0NDI5Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MTMxNjkKClZpZWxsZWljaHQgc29sbHRlc3QgRHUgZGllIFVtc3RlbGx1bmcgZGVyIExhZWRlbiBpbSBNRyBXYWlnZWwgdWViZXJsYXNzZW4/CkRlciBpc3QgYWxzIEJsdXRzYXVnZXIgZWluZmFjaCBuaWNodCB6dSB1ZWJlcnRyZWZmZW4uIFdlbm4gZGllIExhZWRlbiBkYW5uCndlbmlnc3RlbnMgYW5zdGFlbmRpZ2UgUHJlaXNlIHJhdXN0dW4sIHdhZXJlIGRhcyB6dSB1ZWJlcmxlZ2VuLi4uCgpPdmksIGFiIG5hY2ggU2NobWFycm4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1laHJ3ZXJ0c3RldWVyIChXYWlnZWwsICAxLiBBcHIgMTk5OCwgMjI6NTY6MzIpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkxNDYzODI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNDEzMTY5Cndhcz8KCmFscyBvYiBpY2ggbWl0IGRlbiBidW5kZXNmaW5hbnplbiBuaWNodCBnZW51ZyB6dSB0dW4gaCJhdHRlLApqZXR6dCBzb2xsIGljaCBldHdhIGF1Y2ggbm9jaCBpbiBhbGxlbiBsImFkZW4gZGVyIGJ1bmRlc3JlcHVibGlrCmRpZSBwcmVpc2UgdW1zdGVsbGVuPwoKYWxzbyB3ZW5uIGRhcyBzbyBpc3QsIGRhbm4gdHJldGUgaWNoIGRvY2ggbGllYmVyIHZvbiBtZWluZW0gbWluaXN0ZXJwb3N0ZW4KenVyInVjay4KCk1kQiBEci4gVGhlb2RvciBXYWlnZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNZWhyd2VydHN0ZXVlciAoT3ZlcmxvcmQsICAxLiBBcHIgMTk5OCwgMjM6MDY6MDMpOgp+IyEgcm49V2FpZ2VsIHJ0PTg5MTQ2NDE5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQxMzE2OQoKSFVSUkFBQUFBIEVORExJQ0ggRlJFSQoKT3ZpOiBGcmVlIGF0IGxhc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlaGVyc3RhdHVzIChadWVyaWxldSwgIDEuIEFwciAxOTk4LCAyMzowODoxMSk6Cn4jISBybj1ZZW5kaSBydD04OTE0NTMyMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0MTI1ODcKSGksCkhtbSBkaWUgaWRlZSBtaXQgZGVtIHZvZ2VsZnJlaS1TdGF0dXMgZnVlciBTZWhlciBoYXQgZWluZW4gZ2V3aXNzbmVuIFJlaXouIEVzCndhZXIgZGllIExvZXN1bmcgZGVuIFNlaGVyc3RhdHVzIGV0d2FzIHp1IGRydWVja2VuIHVuZCB3dWVyZCBnbGVpY2h6ZWl0IGZ1ZXIKbWVociBzcGFubnVuZyBmdWVyIE1hZ2llciBzb3JnZW4uIExlaWRlciB3YWVyIGVzIGVpbmUgaWxsdXNpb24genUgZ2xhdWJlbiBkYXMKZGllcyBoaWVyIGplbWFscyBlaW5nZWZ1ZWhydCB3dWVyZGUgPTopCgpUc2NoYXUgQWxhaW4gKkJpZyBHcmlucyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlaGVyc3RhdHVzIChHcmltbWJvcm4sICAxLiBBcHIgMTk5OCwgMjM6MTA6NDEpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODkxNDY0ODkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNDEyNTg3CkphLCB2b3IgYWxsZW0sIHdlaWwgZGllIFNlaGVyIGZhc3Qga2VpbmUgTW9lZ2xpY2hrZWl0IGhhZXR0ZW4sIHNpY2ggenUgd2VocmVuLgpEZW5uIHNpZSBkdWVyZmVuIGRpZSBhbmRlcmVuIGphIG5pY2h0IHRlb3RlbiwgZGFzIHdhZXJlIGVpbiB2ZXJib3RlbmVyIFBLLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlaGVyc3RhdHVzIChadWVyaWxldSwgIDEuIEFwciAxOTk4LCAyMzoxNDoxMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODkxNDY1MDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNDEyNTg3CkhpLApOZSBHcmltbWksIG1hbiBrb2VubnRlIGphIG1hY2hlbiBkYXMgYmVpIFNlaGVybiBwayBlcmxhdWJ0IGlzdCB1bnRlciBTZWhlci4KVW5kIGRhcyBtYW4gZWluIFNlaGVyIG1pdCBob2VoZXJlbSBMZXZlbCBoZXJhdXNmb3JkZXJuIG11c3MgdW5kIGJlc2llZ2VuIHVtCnNlaW5lbiBlaWduZW4gTGV2ZWwgenUgc3RlaWdlcm4uIFdhZXIgZG9jaCBjb29sLCBtYW4ga2FubiBzaWNoIGphIGF1Y2ggbnVyIGF1ZgpkaWUgQXJlbmEgYmVzY2hyYWVua2VuLCB3b2JlaSBkYSBzZWhlIGljaCBkaWUgR2VmYWhyIGRhcyBkYW5uIGRlciBob2VoZXJlClNlaGVyIG5pY2h0IHp1bSBLYW1wZiBzdGVsbHQsIGFiZXIgZGVubiBrb2VubnQgbWFuIGphIHp3YW5ncy10cmFuc2VuIGluIGRpZQpBcmVuYSBvZGVyIGlobSBnZXdpc3NlIEFucmVpemUgZ2ViZW4gdW0genUga2FlbXBmZW4uIFdhZXIgZG9jaCBjb29sID06KQoKVHNjaGF1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTZWhlcnN0YXR1cyAoRGhvamFrdCwgIDEuIEFwciAxOTk4LCAyMzoyNjowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODkxNDY1MDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNDEyNTg3CkRvY2gsIHdlbm4gbWFuIHNlbGJzdCBhbmdlZ3JpZmZlbiB3aXJkLCBkYXJmIG1hbiB6dXJ1ZWNraGF1ZW4gOikpLgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1laHJ3ZXJ0c3RldWVyIChXYXJnb24sICAyLiBBcHIgMTk5OCwgMTE6Mjc6NTYpOgp+IyEgcm49QmVuc29ubWFtIHJ0PTg5MTQ0Mjc5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQxMzE2OQpOYWphLCBkaWUgU3RldWVyIHNlbGJzdCBtYWcgc2ljaCBqYSB1bSA3JSBlcmhvZWh0IGhhYmVuLiBEYWZ1ZXIgZXJob2VoZW4gc2ljaApkaWUgUHJlaXNlIGFiZXIgKHp1bWluZGVzdCByZWluIHJlY2huZXJpc2NoKSB1bSB3ZW5pZ2VyIGFscyAxJS4gRGFzIGlzdCBkb2NoCnp1bWluZGVzdCBldHdhcyBhdXNnbGVpY2hlbmRlIEdlcmVjaHRpZ2tlaXQgOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1laHJ3ZXJ0c3RldWVyIChLZXksICAyLiBBcHIgMTk5OCwgMTE6MzU6MDApOgp+IyEgcm49V2FyZ29uIHJ0PTg5MTUwOTI3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQxMzE2OQpTbyB3aWUgaW1tZXIgYmVpIG5lciBQcmVpc2VyaG9laHVuZyAuLi4KSWNoIHNhZyBudXIgQmFobiAuLi4uIHNpZSBlcmhvZWhlbiB1bSAwLDI1JSAuLi4gdm9uIDE4IGF1ZiAxOSBETSA7KQpVbmQgZGFtYWxzIG1hbCBiZWkgbmVyIFN0dWVyZXJob2VodW5nIHZvbiA2MCBhdWYgODAgcGZlbm5pZyA7KQoKS2V5IGdyaW5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVpbiBNYWdpZXJzdGF0dXMgdW5kIGRlc3NlbiBWZXJsdXN0IChTcmFiaSwgIDMuIEFwciAxOTk4LCAxMjo1NDowMCk6Ckd1dGVuIFRhZywKCmVoZSBtaWNoIG5vY2ggd2VpdGVyZSBMZXV0ZSBmcmFnZW4sIHdpZXNvIGljaCBrZWluIE1hZ2llciBiencuIGtlaW4gTGVhcm5lcgptZWhyIGJpbiwgZXJrbGFlcmUgaWNoIGVzIGpldHp0IGhpZXIgaW4gZGVyIE1wQS4KCkljaCBoYWJlIG1pY2ggdm9uIFJpa3VzIHp1bSBNYWdpZXIgZXJuZW5uZW4gbGFzc2VuLCBvaG5lIG1pciBkaWUgU2FjaGUgdm9yaGVyCmdydWVuZGxpY2ggenUgdWViZXJsZWdlbiwgZGFzIGhhdHRlIHp1IGZvbGdlLCBkYXMgbWlyIHNjaG9uIG5hY2ggc2VociBrdXJ6ZXIKWmVpdCBkYXMgbWV0emVsbiB0aWVyaXNjaCBnZWZlaGx0IGhhdC4KCkRhcmF1ZmhpbiBoYWJlIGljaCBtaWNoIGdlc3Rlcm4gQWJlbmQgdm9uIEZyZXVuZCB3aWVkZXIgenVydWVja3NldHplbiBsYXNzZW4uCgpKZXR6dCBiaW4gaWNoIHdpZWRlciBlaW4gZ2x1ZWNrbGljaGVyIFNlaGVyIHVuZCB3ZXJkZSBhdWNoIFNlaGVyIGJsZWliZW4uCgpTcmFiaSwgZGVyIHVlYmVyZ2x1Y2tsaWNoIGlzdCwgd2llZGVyIFNlaGVyIHp1IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNZWhyd2VydHN0ZXVlciAoQmVydGgsICAzLiBBcHIgMTk5OCwgMTg6NTA6MTQpOgp+IyEgcm49S2V5IHJ0PTg5MTUwOTcwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTQxMzE2OQpTZWl0IHdhbm4ga2VubnN0IER1IGRpZSBCYWhucHJlaXNlPyBEdSB6YWhsc3QgZG9jaCBlaCBpbW1lciA2MCwtIGZ1ZXIgZGllCmt1cnplbiBTdHJlY2tlbiwgb2Rlcj8KCmkuIFYuIGZ1ZXIgQXRveiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290cyBpbiBkZXIgbGV0enRlbiBaZWl0OiAoRnJldW5kLCAgNC4gQXByIDE5OTgsIDEwOjAwOjMwKToKV2VubiBkZXIgRHJpdmVyIDEzMy4wMDAuMDAwIEJ5dGUgYWxsb3ppaWVydCBoYXQsIGdsYXVidCBlciwgZXMgc2VpIFNjaGljaHQgdW5kCnJlYm9vdGV0IGRhcyBNdWQuIApXaXIgaGFiZW4gamVkb2NoIDI1NiBNQiBpbSBSZWNobmVyLiBXaWVzbyBlciBhdWYgMTI4IE1CIGVpbmdlc3RlbGx0IGlzdCwgaXN0CnVucyBuaWNodCBnYW56IGtsYXI7IGRlbm4gSm9mIGhhdCBkaWUgU3RlbGxlLCBkaWUgd2lyIGRhZnVlciBhbHMKdmVyYW50d29ydGxpY2ggZWluZ2VzdHVmdCBoYWJlbiwgZ2VmdW5kZW4uIEhtLCBsZWlkZXIgd29obCBkb2NoIG5pY2h0LiAKCkFsc286IFdpciBhcmJlaXRlbiBkYXJhbi4uLgoKRnJldW5kLCBhdWZrbGFlcmVuZC4KClAuUy46IEVpbmVzIGlzdCBtaXIgdm9lbGxpZyB1bmtsYXI6IFdvIGtvbW10IGRlciBob2hlIFNwZWljaGVydmVyYnJhdWNoIGhlcj8KTWl0IDEyOCBNQiBzb2xsdGUgZGFzIE11ZCBlaW5lIFdvY2hlIGxhdWZlbiBrb2VubmVuLiBJcmdlbmR3byB2ZXJtdXRlIGljaAplaW5lbiBTcGVpY2hlcmZyZXNzZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3RzIGluIGRlciBsZXR6dGVuIFplaXQ6IChHbG9pbnNvbiwgIDQuIEFwciAxOTk4LCAxMDozMjoyNCk6Cn4jISBybj1GcmV1bmQgcnQ9ODkxNjc2ODMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwCkhpZXIsIGhpZXIuIE1qYW0sIGxlY2tlciBTcGVpY2hlci4gRmFzdCBzbyBsZWNrZXIgd2llIGtsZWluZSBLaW5kZXIuCkxpZWZlcnQgZWluIHhldmFsIHdpemxpc3QoKSBuaWNodCBhdWNoIGVpbmUgQXJ0IFNwZWljaGR1cmNoc2F0emxpc3RlPwpJY2ggc2NoYWV0emUgc293aWVzbywgZGFzIGRlciBob2hlIFZlcmJyYXVjaCBhbiBDYXR0aWVzIGtsZWluZW4KQWVuZGVydW5nZW4gbGllZ3QgLSBkYXp1IHdhcmVuIGRpZSBqYSBnZWRhY2h0LCBvZGVyPwoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290cyBpbiBkZXIgbGV0enRlbiBaZWl0OiAoRnJldW5kLCAgNC4gQXByIDE5OTgsIDEwOjM0OjI5KToKfiMhIHJuPUdsb2luc29uIHJ0PTg5MTY3ODc0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMApUamEsIHdlbm4gQ2F0dHkgZGFzIFN3YXBwaW5nIGF1c2dlc3RlbGx0IGhhdCwgd2VpbCBlcyBkYW5uIG5pY2h0IG1laHIgbGFnZ3QsCmlzdCBkZXIgU3BlaWNoZXJiZWRhcmYgYWxsZXJkaW5ncyBlcmtsYWVydC4gOy0pCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWJvb3RzIGluIGRlciBsZXR6dGVuIFplaXQ6IChHbG9pbnNvbiwgIDQuIEFwciAxOTk4LCAxMDozNToyMyk6Cn4jISBybj1GcmV1bmQgcnQ9ODkxNjc4ODY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwClNURUlOSUdUIENBVCEKRGllIEthc3NlIGlzdCBqYSBnZXBydWVmdCwgamV0enQga29lbm5lbiB3aXIgYWxzbyA7LSkKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWJvb3RzIGluIGRlciBsZXR6dGVuIFplaXQ6IChGcmV1bmQsICA0LiBBcHIgMTk5OCwgMTA6NDA6NTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODkxNjc4OTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwCkhBTFQhCldlciB2b24gRXVjaCBvaG5lIFNjaHVsZCBpc3QsIGRlciB3ZXJmZSBkZW4gZXJzdGVuIFN0ZWluIQoKKktMT05LKgoKQXVhIQoKTXV0dGVyLCBEdSBuZXJ2c3QhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWJvb3RzIGluIGRlciBsZXR6dGVuIFplaXQ6IChKb2YsICA1LiBBcHIgMTk5OCwgMTM6MjA6MzIpOgp+IyEgcm49RnJldW5kIHJ0PTg5MTY3OTI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMAoKIERhcyAxMzMgTUIgUHJvYmxlbSBkdWVyZnRlIHNpY2ggZXJsZWRpZ3QgaGFiZW4uIEFsbGVyZGluZ3MgZXJzdCBuYWNoCmRlbSBuYWVjaHN0ZW4gcmVib290LCBhYmVyIGRlciBpc3Qgc2ljaGVyIGJhbGQgZmFlbGxpZywgc2NobGllc3NsaWNoIGhhYmVuCndpciBzY2hvbiAxMTMgTUIgOikKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlYm9vdHMgaW4gZGVyIGxldHp0ZW4gWmVpdDogKEZyZXVuZCwgIDYuIEFwciAxOTk4LCAwODo1MDoyNCk6Cn4jISBybj1Kb2YgcnQ9ODkxNzc1MjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwClNvLAp1bSBkZW0gR3Jvc3N0ZWlsIGRlciBTcGllbGVyLCBkZXIgamEgbm9ybWFsZXJ3ZWlzZSBpbiBkZXIgV29jaGUgYW53ZXNlbmQgaXN0LAplaW5lbiBSZWJvb3QgYW0gQW5mYW5nIGRlciBXb2NoZSB6dSBlcnNwYXJlbiwgaGFiZW4gd2lyIGRhcyBNdWQgU29ubnRhZyB1bSAyMgpVaHIgbm9jaCBlaW5tYWwgYWJzaWNodGxpY2ggcmVib290ZXQuCkpldHp0IHNvbGx0ZSBhbHNvIGRlciBnYW56ZSBTcGVpY2hlciBnZW51dHp0IHdlcmRlbiBrb2VubmVuLgoKRnJldW5kLgoKUC5TLjogRGllIFdvY2hlbmVuZC1DcmV3IGhhdCBkYXMgc2VociBlaHJlbnZvbGwgZXJ0cmFnZW4uIChCaXMgYXVmCmVpbmVuLi4uOi1PKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmVib290cyBpbiBkZXIgbGV0enRlbiBaZWl0OiAoU3JhYmksICA2LiBBcHIgMTk5OCwgMDk6MzM6NDYpOgp+IyEgcm49RnJldW5kIHJ0PTg5MTg0NTQyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMApNb2luLCBkZW4gZWluZW4sIGRlbiBGcmV1bmQgbWVpbnQsIGJpbiBpY2guIEljaCBoYXR0ZSB3YXMgZGFhZ2VnZW4sIGRhcyBkYXMKTVVEIHdpZWRlciByZWJvb3RldCB3aXJkLiBFcnN0IGFscyBpY2ggZXJmdWhyLCB3b3J1bSBlcyBnaW5nLCBoYXR0ZSBpY2ggZXMKYXVjaCBlaW5nZXNlaGVuLiBOYSBqYSwgbXVzcyBpY2ggaGFsdCB3aWVkZXIgbWV0emVsbiwgdW0gZWluZW4gdmVybnVlbmZ0aWdlClJ1ZXN0dW5nIHVuZCBXYWZmZSB6dSBiZWtvbW1lbiwgd2VubiBhYmVyIG5hY2ggZGVtIGdlc3RyaWdlbiBSZWJvb3QgZGFzIE1VRApuaWNodCBhbGxlIHp3ZWkgVGFnZSBjcmFzaHQsIGlzdCBkYXMgb2suIEljaCBlbnRzY2h1bGRpZ2UgbWljaCBlcnN0IG1hbCBiZWkKZGVuIExldXRlbiwgZGlyIG1laW5lIHNjaGxlY2h0ZSBTdGltbXVuZyBlcnRyYWdlbiBtdXNzdGVuLiBEYXMgbmFlY2hzdGUgbWFsCmxhc3NlIGljaCBtaWNoIGJlc3NlciBpbmZvcm1pZXJlbiB1bmQgd2V0dGVyIG5pY2h0IGdsZWljaCBkYWdlZ2VuLiBMZXV0ZSwgZXMKdHV0IG1pciBsZWlkLCBpY2ggYmxlaWJlIGltIE1vcmdlbkdyYXVlbiwgaGllciBnZWZhZWxsdCBlcyBtaXIuCgpTcmFiaSwgZGVyIENoYW90CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmVib290cyBpbiBkZXIgbGV0enRlbiBaZWl0OiAoQm9pbmcsICA2LiBBcHIgMTk5OCwgMTA6MTQ6NTgpOgp+IyEgcm49RnJldW5kIHJ0PTg5MTg0NTQyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMApVbSBkYXMgbm9jaCBldHdhcyBrb25rcmV0ZXIgenUgbWFjaGVuOiBJbSBTY3JpcHQsIGRhcyBkZW4gR2FtZURyaXZlciAKc3RhcnRldCwgd2FyIGVpbmUgQmVncmVuenVuZyBkZXMgRGF0ZW5zZWdtZW50cyBhdWYgMTMwIE1CIGVpbmdldHJhZ2VuLApkaWVzZSBCZWdyZW56dW5nIHd1cmRlIHZvbiBKb2YgamV0enQgZW50ZmVybnQgKG9kZXIgdmVyZ3JvZXNzZXJ0PyB3ZWlzcwpuaWNodCksIHNvIGRhc3Mgd2lyIHVuc2VyZSAyNTYgTUIgSGF1cHRzcGVpY2hlciBqZXR6dCBhdWNoIGF1c251dHplbgprb2VubmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY3JpcHQ/Pz8gKEhhc2ltLCAgNi4gQXByIDE5OTgsIDExOjQ0OjIzKToKSGFiIGljaCBkYSByaWNodGlnIGdlbGVzZW4/Pz8gRGEgd2lyZCBlaW4gU2NyaXB0IGdlc3RyYXRldD8/PyBhbHNvIHdpcmtsaWNoIDspCkljaCBkYWNodGUsIGRpZSB3YWVyZW4gdmVyYm90ZW4gOykpKSkpCktlaW4gd3VuZGVyLCBkYXNzIGVzIGltbWVyIGFic3R1ZXJ6dCA7KSBEYXMgTUcgaGF0IGVpbiBzY2hsZWNodGVzIEdld2lzc2VuIDspCkhhc2ltLCBicmVpdCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdHMgaW4gZGVyIGxldHp0ZW4gWmVpdDogKENhdHdlYXpsZSwgIDYuIEFwciAxOTk4LCAxMjoxNjozOCk6Cn4jISBybj1GcmV1bmQgcnQ9ODkxNjc2ODMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwCk1vaW4hClp1bSBTcGVpY2hlcmxhZy1QUzoKSWNoIGJpbiBuYXR1ZXJsaWNoIG5ldWdpZXJpZyB1bmQgaGFiIG1hbCBuYWNoZWdlc2VoZW4uIEFtIFNhbXN0YWcgYWJlbmQgaGF0CmplbWFuZCBwcmFrdGlzY2hlcndlaXNlIGVpbmVuIE9iamVjdC1EdW1wIGdlbWFjaHQgdW5kIGljaCBoYWIgbWFsCnJlaXNnZXNlaGVuLCB3YXMgc28gZHJpbiBpc3QuClp1IGRlbSBaZWl0cHVua3Qgd2FyZW4gOThNQiBPamVrdGUgZ2VsYWRlbi4gV2llIGljaCB2ZXJtdXRldCBoYWJlLCB3YXIKZ3JvZXNzdGUgSGF1ZmVuIG5ldHp0b3RlIFNwaWVsZXJvYmpla3RlLiBEYXMgd2FyZW4gU2Ftc3RhZyBuYWNobWl0dGFnIE5VUgoxMjEgU3R1ZWNrLCBkaWUgZGFmdWVyIGFiZXIgY2EuIDQxIE1CIHZlcmJyYXRlbiBoYWJlbi4gRWluIFNwaWVsZXJvYmpla3QKaXN0IHVlYmxpY2hlcndlaXNlIGltbWVyIG1pbmRlc3RlbnMgdWViZXIgMTFLIGdyb3NzLCBrYW5uIGFiZXIgamUgbmFjaApBbHRlciBiaXMgenUgODBLIGdyb3NzIHdlcmRlbi4gSG0sIGdlbG9nZW4sIGljaCBzZWggZ2VyYWRlLCBkZXIgZGlja3N0ZQpTcGllbGVyIGlzdCBBbmF0b2wsIG1pdCAxMjhLIDotKQpOSUNIVG5ldHp0b3RlIFNwaWVsZXIsIGRpZSB6dSBkaWVzZW0gWmVpdHB1bmt0IGdlcmFkZSBlaW5nZWxvZ2d0IHdhcmVuLCBoYWJlCmljaCBuaWNodCBtaXRnZXphZWhsdC4gCgpBdWZmYWVsbGlnIHdhcmVuIG5lYmVuIGVpbmVtIDRNQiBGcmV1bmRzY2hhZnRzYmFuZCB1bmQgY2EuNCw1IE1CCkthZW1wZmVyLU1vbnN0ZXJuIGFsbGVyZGluZ3Mgbm9jaCBkaWUgU2VoZXJoYXVzcmFldW1lLiBEYXZvbiBnYWIgZXMgMjg2LCBkaWUKenVzYW1tZW4gYXVjaCBzdGF0dGxpY2hlIDM3TUIgdmVyYnJhdWNodCBoYWJlbi4KRGllc2UgNCBQb3N0ZW4genVzYW1tZW5nZXJlY2huZXQsIGRpZSBpY2ggaW4gSWhyZXIgR3JvZXNzZSBhbGxlIGZ1ZXIKdmVyc3RhbmRsaWNoIGhhbHRlLCBzaW5kIHdpciBzY2hvbiBiZWkgODYgdm9uIDk4IE1CLiBLbGluZ3QgZG9jaApuYWNodm9sbHppZWhiYXIuIEljaCBnbGF1YmUgYW4ga2VpbiBTcGVpY2hlcmxhZyA6KQpJY2ggd2VyZGUgbmFlY2hzdGVuIE1vbnRhZywgZmFsbHMgZGFzIE11ZCBiaXMgZGFoaW4gdWViZXJsZWJ0LCBuYWNoIDcgVGFnZW4KVXB0aW1lIG5vY2ggbWFsIG5hY2hzY2hhdWVuLgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290cyBpbiBkZXIgbGV0enRlbiBaZWl0OiAoWm9ycm8sICA2LiBBcHIgMTk5OCwgMTI6NTk6MDkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MTg1Nzc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMApOYWNoIHdlbGNoZW4gTW9udGFnIHNvbGwgZXMgZWluZSA3IFRhZ2UgdXAtdGltZSBnZWJlbiA/Cgpab3JybyBrYW5uIHNpY2ggZGFzIGZ1ZXIgZGllIG5hZWNoc3RlbiBXb2NoZW4gbmljaHQgdm9yc3RlbGxlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvaGwga2VpbiBBcHJpbHNjaGVyeiAoQ2F0d2VhemxlLCAgNi4gQXByIDE5OTgsIDE1OjIzOjIxKToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTE0NTc0MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTE0NTc0MTkKLS0tLS0KU3ViamVjdDogKioqIEhvdCBOZXdzICoqKiAwNi5BcHIuMTk5OCAxNDozNyAqKioKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmQ6IDA2LjA0LjE5OTgsIDE0OjM3IFVocgowNi4wNC46TmV1ZXIgVGVybWluISBEb25uZXJzc3RhZywgMTQuNS45OCwgNS04IFVociAKICAgICAgICB2b3JhdXNzaWNodGwuIEJldHJpZWJzdW50ZXJicmVjaHVuZyBkZXMKICAgICAgICBCLVdpTi1BbnNjaGx1c3NlcyBhdWZncnVuZCB2b24gV2FydHVuZ3NhcmJlaXRlbiBkZXIgRGV1dHNjaGVuCiAgICAgICAgVGVsZWtvbSAoa2VpbiBadWdhbmcgenVtIGV4dGVybmVuIEludGVybmV0KQotLS0tLQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlYm9vdHMgaW4gZGVyIGxldHp0ZW4gWmVpdDogKENhdHdlYXpsZSwgIDYuIEFwciAxOTk4LCAxNjoxMzoxMyk6Cn4jISBybj1Kb2YgcnQ9ODkxNzc1MjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwCkljaCBoYWIgbmFjaCBkZW0gZ2VyYWRpZ2VuIENyYXNoIG5vY2ggZWluZSBMaW1pdGllcmVuZGUgU3RlbGxlIGdlZnVuZGVuIHVuZAphdXNnZXRyYWdlbi4gTGVpZGVyIGlzdCBuZW4gcmVib290IG5vdHdlbmRpZy4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlYm9vdHMgaW4gZGVyIGxldHp0ZW4gWmVpdDogKEJhYm9vbiwgIDYuIEFwciAxOTk4LCAxNjoxNDoxMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkxODcxOTkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkxNjc2ODMwCk5hIHVuZD8gZGFzIG1hY2h0IG1pciBnYXIgbmljaHRzLiA6LSkKCkJhYm9vbigpIChnZW1laW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlYm9vdHMgaW4gZGVyIGxldHp0ZW4gWmVpdDogKFRyYW5jZWZlYXIsICA2LiBBcHIgMTk5OCwgMjE6NDg6MjUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MTg1Nzc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MTY3NjgzMApIbW1tbS4uLiBzb29vIGRpY2sgaGF0dGUgaWNoIEFuYXRvbCBnYXIgbmljaHQgaW4gRXJpbm5lcnVuZy4uLi4KCnRmIChzY2htdW56ZWx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVpdCAoU251Z2dsZSwgIDcuIEFwciAxOTk4LCAxMzozNjozNyk6CkZyZWloZWl0IGRpZSBpY2ggbWVpbmU/CgpJY2ggd3VlbnNjaGUgRGlyIFplaXQKCkljaCB3dWVuc2NoZSBEaXIgWmVpdCwgRGljaCB6dSBmcmV1biB1bmQgenUgbGFjaGVuLApVbmQgd2VubiBEdSBzaWUgbnVldHp0LCBrYW5uc3QgRHUgZXR3YXMgZHJhdXMgbWFjaGVuLgoKSWNoIHd1ZW5zY2hlIERpciBaZWl0IGZ1ZXIgRGVpbiBUdW4gdW5kIERlaW4gRGVua2VuCk5pY2h0IG51ciBmdWVyIERpY2ggc2VsYnN0LCBzb25kZXJuIGF1Y2ggenVtIFZlcnNjaGVua2VuLgoKSWNoIHd1ZW5zY2hlIERpciBaZWl0LCBuaWNodCB6dW0gSGFzdGVuIHVuZCBSZW5uZW4sClNvbmRlcm4gZGllIFplaXQgenVtIFp1ZnJpZWRlbnNlaW5rb2VubmVuLgoKSWNoIHd1ZW5zY2hlIERpciBaZWl0LCBuaWNodCBudXIgc28genVtIFZlcnRyZWliZW4sCkljaCB3dWVuc2NoZSBzaWUgbW9lZ2UgRGlyIHVlYnJpZ2JsZWliZW4KQWxzIFplaXQgZnVlciBkYXMgU3RhdW5lbiB1bmQgWmVpdCBmdWVyIFZlcnRyYXVuLApBbnN0YXR0IG5hY2ggZGVyIFplaXQgYXVmIGRlciBVaHIgenUgc2NoYXVuLgoKSWNoIHd1ZW5zY2hlIERpciBaZWl0LCBuYWNoIGRlbiBTdGVybmVuIHp1IGdyZWlmZW4sClVuZCBaZWl0LCB1bSB6dSB3YWNoc2VuLCBkYXMgaGVpc3N0LCB1bSB6dSByZWlmZW4uCgpJY2ggd3VlbnNjaGUgRGlyIFplaXQsIG5ldSB6dSBob2ZmZW4sIHp1IGxpZWJlbiwKRXMgaGF0IGtlaW5lbiBTaW5uIGRpZXNlIFplaXQgenUgdmVyc2NoaWViZW4uCgpJY2ggd3VlbnNjaGUgRGlyIFplaXQsIHp1IERpciBzZWxiZXIgenUgZmluZGVuLApKZWRlbiBUYWcsIGplZGUgU3R1bmRlIGFscyBHbHVlY2sgenUgZW1wZmluZGVuLgoKSWNoIHd1ZW5zY2hlIERpciBaZWl0LCBhdWNoIHVtIFNjaHVsZCB6dSB2ZXJnZWJlbi4KSWNoIHd1ZW5zY2hlIERpcjogWmVpdCB6dSBoYWJlbiB6dW0gTGViZW4uCgpXYXMgaWNoIGRhbWl0IHNhZ2VuIHdpbGw6IEljaCB3ZXJkZSBpbiBuYWVjaHN0ZXIgWmVpdCBub2NoIHdlbmlnZXIgdm9uClNlbGJpZ2VyIGhhYmVuIHVuZCBlaGVyIHNlbHRlbmVyIGFscyBoYWV1ZmlnZXIgaGllciB6dSBmaW5kZW4gc2Vpbi4gSWNoIHdlcmRlCkV1Y2ggYWJlciBuaWNodCBnYW56IHZlcmdlc3NlbiB1bmQgd3VlbnNjaGUgRXVjaCBlaW5lIHNjaG9lbmUgWmVpdCBoaWVyIGltCk1vcmdlbmdyYXVlbi4KClNudWdnbGUKClBTIFF1ZWxsZSBmdWVyIGRlbiBUZXh0OiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmV1bmQgVm9yc2NobGFnIChGeXQsICA4LiBBcHIgMTk5OCwgMTI6NTE6NTYpOgp+IyEgcm49S2V5IHJ0PTg5MDgzODY0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MDgzNTM0NwoKQXVjaCBTZW5mIGFiZ2ViZW4gbXVzczoKCkZlaW4gZ2VtYWNodCwgRnJldW5kLgoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlaXRyaXR0IChGeXQsICA5LiBBcHIgMTk5OCwgMDg6NDM6MTEpOgp+IyEgcm49UmFudGFucGxhbiBydD04OTEyMTQ5NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTEyMTQ5NzQKSG0sIG1pdHRsZXJ3ZWlsZSB0cmF1IGljaCBtaWNoIGphIGdhciBuaWNodCwgJ24gQXVmbmFobWVhbnRyYWcgenUgc3RlbGxlbiwKYmVpIGRlciBQcm9taW5lbnosIGRpZSBkYSBzY2hvbiBlaW5nZXRyZXRlbiBpc3QuLi4KCldpc3N0IElociB3YXM/IEljaCBuZWhtIG1pY2ggc2VsYmVyIGF1ZiA7LSkKCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoYXJha3RlciBnZXN1Y2h0IChDYXR3ZWF6bGUsICA5LiBBcHIgMTk5OCwgMTM6MjI6MDQpOgpNb2luIQoKSWNoIHN1Y2hlIGRyaW5nZW5kc3QgZWluZW4gU3BpZWxlciBtaXQgZGVtIFJMLU5hbWVuIERpcmsgQXBpdHosIGRlciAKc2ljaCBhdXMgZGVyIFBoeXNpayBkZXIgVFUgQmVybGluIGVpbmxvZ2d0LCBkYSBlciBuaWNodCBhdWYgbWVpbmUKCkVtYWlsd2FybnVuZ2VuIHJlYWdpZXJ0LiBLZW5udCBpaG4gamVtYW5kLCBiencuIHdlaXNzIHdlbGNoZW4gCkNoYXJha3RlciBlciBzcGllbHQ/CllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9iIGZ1ZXIgZGllIE1hZ2llciAoU3JhYmksIDE0LiBBcHIgMTk5OCwgMTg6Mjg6MzYpOgpBbHNvLCBpY2gga2FubiBhdWNoIG1hbCB3YXMgcG9zaXRpdmVzIHNjaHJlaWJlbi4gTmFjaCBkZXIgZ2FuemVuIENyYXNoLSB1bmQKUmVib290c2VyaWUgaXN0IGRhcyBNVUQgamEgbWFsIHdpZWRlciBzdGFiaWwuIEljaCBkYWNodGUsIGRhcyBlcyB1ZWJlciBPc3Rlcm4Kd2llZGVyIHp1IGVpbmVtIENyYXNoIGtvbW10LCBhYmVyIGVzIGdhYiBrZWluZW4uCgpBbiBkaWVzZXIgU3RlbGxlIHNhZ2UgaWNoIG1hbCBkYW5rZSBhbiBkZW4vZGllIE1hZ2llciwgZGllIHNlaW5lL0locmUgRnJlaXplaXQKZnVlciBkYXMgTVVEIG9wZmVybiB1bmQgc3RhZW5kaWcgdmVyc3VjaGVuIHVuZCBlcyBhdWNoIHNjaGFmZmVuLCBlcyBhbSBsYXVmZW4KenUgaGFsdGVuLgoKU3JhYmksIGRlciBnZW51ZyBnZW1lY2tlcnQgaGF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9iIGZ1ZXIgZGllIE1hZ2llciAoUHJhLCAxNS4gQXByIDE5OTgsIDEwOjE2OjI4KToKfiMhIHJuPVNyYWJpIHJ0PTg5MjU3MTMxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MjU3MTMxNgpTY2h3YWZlbCBoaWVyIG5pY2h0IHJ1bSwgU3JhYmksIGRlbm4gZGFmdWVyIGtvZW5uZW4gc2ljaCBkaWUgTWFncyBuaXggCmthdWZlbiA6LSkKCkFsc28gbG9zLCB0cml0dCBkZW0gVmVyZWluIGJlaSwgb2RlciBzcGVuZGUgd2VuaWdzdGVucyBlaW5lbiBIdW5uaS4uLgoKRGFzIGlzdCBkZXIgRGFuaywgZGVuIGRpZSBXZWx0IGJyYXVjaHQhIAoKUHJhLCBqYSwgenluaXNjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2IgZnVlciBkaWUgTWFnaWVyIChJc2lzLCAxNS4gQXByIDE5OTgsIDEwOjQzOjAyKToKfiMhIHJuPVNyYWJpIHJ0PTg5MjU3MTMxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MjU3MTMxNgpKbywgZGEgbXVzcyBpY2ggbWljaCBhbnNjaGxpZXNzZW4uLi5pY2ggaGFiIGF1Y2ggZmVzdCBtaXQgbmVtIHJlYm9vdApnZXJlY2huZXQuLi51bmQgbWVpbmUgZ2VzYW10ZSBBdXNydWVzdHVuZyB2ZXJzY2hlbmt0Li4uLgoKCioqKioqKiBIIEUgVSBMICoqKioqKgoKCk5hamEsIHRyb3R6ZGVtIGd1dCBnZW1hY2h0LCBNYWdzLi4uLgoKCkhlcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpbiB0b2xsZXIgdGFnIGFuIGVpbmVtIHNwaW5kIChXaWxkcm9zZSwgMTcuIEFwciAxOTk4LCAxNDo0NTo0MSk6CmljaCBoYWIgdm9uIHJ1ZHkgZWluZW4gc3BpbmQgc2NobHVlc3NlbCBiZWtvbW1lbiwgZG9jaCBsZWlkZXIga29ubnRlIGljaCBkZW4Kc3BpbmQgYXVjaCBtaXQgZGVyIGhpbGZlIGVpbmVzIGVyZmFocmVuZW4gc3BpZWxlcnMgbmljaHQgb2VmZm5lbi4gKCJXYXMgd2lsbHN0CkR1IG9lZmZuZW4iLi4uIldhcyB3aWxsc3QgRHUgb2VmZm5lbiIuLi4iV2FzLi4uKQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZWluIHRvbGxlciB0YWcgYW4gZWluZW0gc3BpbmQgKEdyaW1tYm9ybiwgMTcuIEFwciAxOTk4LCAxNDo0Njo0Nik6Cn4jISBybj1XaWxkcm9zZSBydD04OTI4MTcxNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTI4MTcxNDEKaGlsZmUgZmVobGVyCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaW4gdG9sbGVyIHRhZyBhbiBlaW5lbSBzcGluZCAoQ2VpbG8sIDE3LiBBcHIgMTk5OCwgMTc6NDk6NTQpOgp+IyEgcm49V2lsZHJvc2UgcnQ9ODkyODE3MTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODE3MTQxClVuZCBtaXIgZ2luZyBlcyBnZXJhZGUgZ2VuYXVzby4gT2J3b2hsIGRpZSBTeW50YXggZWlnZW50bGljaCBhbmdlZ2ViZW4gd2FyLi4uCgpDZWlsbywgZGVyIFdhbmtlbmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVpbiB0b2xsZXIgdGFnIGFuIGVpbmVtIHNwaW5kIChTY2hva28sIDE3LiBBcHIgMTk5OCwgMTk6MTc6NDYpOgp+IyEgcm49Q2VpbG8gcnQ9ODkyODI4MTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODE3MTQxCkhtbSBoYXR0ZXQgaWhyIHp1ZmFlbGxpZyBpcmdlbmR3ZWxjaGUgUGFrZXRlLyhSdWNrLSlTYWVja2UvQmV1dGVsIGJlaSBldWNoPwoKU2Nob2tvIChrZW5udCBkYXMgUHJvYmxlbSB2b24gZGVyIEdlZmFlbmduaXNpbnNlbC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaW4gdG9sbGVyIHRhZyBhbiBlaW5lbSBzcGluZCAoQXNtb2RpcywgMTcuIEFwciAxOTk4LCAxOTozMTo0MSk6Cn4jISBybj1XaWxkcm9zZSBydD04OTI4MTcxNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTI4MTcxNDEKc3RhdHQgc3BpbmQgc29sbHRlc3QgZHUgdmllbGxlaWNodCBzcGluZDIgc3BpbmQgMyBvZGVyIHNvIG5laG1lbiwgamUgbmFjaGRlbSwKd2VsY2hlciBkZWluZXIgaXN0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVpbiB0b2xsZXIgdGFnIGFuIGVpbmVtIHNwaW5kIChBc21vZGlzLCAxNy4gQXByIDE5OTgsIDE5OjMyOjExKToKfiMhIHJuPVdpbGRyb3NlIHJ0PTg5MjgxNzE0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MjgxNzE0MQpBZWgsIHNwaW5kIDIgbmF0dWVybGljaCwgbGVlcnplaWNoZW4gbmljaHQgdmVyZ2Vzc2VuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVpbiB0b2xsZXIgdGFnIGFuIGVpbmVtIHNwaW5kIChIYXJkaWwsIDE3LiBBcHIgMTk5OCwgMjA6MTA6MzMpOgp+IyEgcm49QXNtb2RpcyBydD04OTI4MzQzMzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTI4MTcxNDEKClNwaWVsZXJoaWxmZSEgQXNtb2RpcyBhdWZ3ZXJ0ZW4hIDopCihvZGVyIHNvIGFlaG5saWNoKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXVy1TZWl0ZW4gZGVzIE1vcmdlbkdyYXVlbnMgKFNoYW5uYXJhLCAxNy4gQXByIDE5OTgsIDIzOjI1OjE5KToKS2xlaW5lIEZyYWdlOiBXYW5uIHdpcmQgd2llZGVyIGVpbm1hbCBlaW4gVXBkYXRlIGRlciBXZWJzZWl0ZW4gKG5pY2h0IG51ciBkaWUKUGFydHlmb3Rvcywgc29uZGVybiBhdWNoIGRlciBSZXN0KSB2b3JnZW5vbW1lbj8gRGllIFNlaXRlbiBzaW5kIGphIHp1bSBUZWlsCnNjaG9uIDIgSmFocmUgYWx0Li4uCgpTaGFubmFyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdXVy1TZWl0ZW4gZGVzIE1vcmdlbkdyYXVlbnMgKEdyaW1tYm9ybiwgMTguIEFwciAxOTk4LCAxMjo1Njo1Nik6Cn4jISBybj1TaGFubmFyYSBydD04OTI4NDgzMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTI4NDgzMTkKTmEgdW5kPyBEZXIgU2F0eiBkZXMgUHl0aGFnb3JhcyBpc3QgdWViZXIgMjAwMCBKYWhyZSBhbHQsIHVuZCBkYSBoYXQgc2ljaCBub2NoCmtlaW5lciB1ZWJlciBlaW4gZmVobGVuZGVzIFVwZGF0ZSBiZXNjaHdlcnQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChTaGFubmFyYSwgMTguIEFwciAxOTk4LCAyMjozNDo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODkyODk3MDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODQ4MzE5CkphLCBhYmVyIG1laW5lcyBXaXNzZW5zIGVudGhhZWx0IGRlciBTYXR6IGRlcyBQeXRoYWdvcmFzIGtlaW5lIFZlcnRyb2VzdHVuZ2VuCndpZSAiaW4ga3VlcnplIGdpYnRzIGhpZXIgd2FzIiBvZGVyICJ1cGRhdGUga29tbXQgYmFsZCIgb2RlciAiYmFsZCB3aXJkIGhpZXIKd2FzIHN0ZWhlbiIuLi4KCk1pciBnZWh0IGVzIGphIHdlbmlnZXIgdW0gZWluZSBrb21wbGV0dGUgVWViZXJhcmJlaXR1bmcgZGVyIFNlaXRlbiwgYWxzIGRhc3MKZW5kbGljaCAoISkgbWFsIGRpZSBWZXJ0cm9lc3R1bmdzc2VpdGVuIGR1cmNoIEluaGFsdCBlcnNldHp0IHdpcmQuIEFuc2NoZWluZW5kCnNpbmQgaGVycnNjaHQgZGEgZWluIE1hbmdlbCBhbiBXaWxsZW4gb2RlciAod2VuaWdlcikgWmVpdCwgaGllciBtYWwgenVtaW5kZXN0CmV0d2FzIG1laHIgYWxzIGdhciBuaXggaW5zIFdlYiB6dSBzdGVsbGVuLgpyCgpTaGFubmFyYQoKOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV1dXLVNlaXRlbiBkZXMgTW9yZ2VuR3JhdWVucyAoR3JleXN0b25lLCAxOS4gQXByIDE5OTgsIDAxOjA1OjE1KToKfiMhIHJuPVNoYW5uYXJhIHJ0PTg5MjkzMTY4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mjg0ODMxOQpJcyBkaXIgZWlnZW50bGljaCBiZXd1c3N0LCBkYXMgc293YXMgemVpdCBiZWRhcmYsIHNvbGNoZSBTYWNoZW4genUKZXJzdGVsbGVuID8gClN0YWVuZGlnIGphbW1lcnN0IGR1IGhpZXIgdWViZXIgU2FjaGVuIHJ1bSwgaGFzdGUgZGEgbWFsIGFuIGRpZSBMZXV0ZQpnZWRhY2h0IGRpZSBoaWVyIGltIE11ZCBhbGwgZGllIHNjaG9lbmVuIERpbmdlIHByb2dnZW4gdW5kIHNvd2FzIGVyc3QKbW9lZ2xpY2ggbWFjaGVuID8KSWNoIGRlbmtlIG1hbCBkaWUgb3BmZXJuIGRhIHZpZWwgaWhyZXJlIEZyZWl6ZWl0LCBkYW1pdCBkaWUgU3BpZWxlcgpoaWVyIG5vY2ggbWVociBTcGFzcyBoYWJlbi4KRGVuayBtYWwgZHJ1ZWJlciBuYWNoLCB1bmQgZnJhZyBkaWNoIGRhbm4gb2Igc2llIG5pY2h0IGVoZXIgZWluIGRhbmsKdmVyZGllbmVuLAphbHMgZGVpbmUgc3RhZW5kaWdlbiBtZWNrZXJlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChTaGFubmFyYSwgMTkuIEFwciAxOTk4LCAwMTowOTozNyk6Cn4jISBybj1HcmV5c3RvbmUgcnQ9ODkyOTQwNzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODQ4MzE5CkljaCB3ZWlzcyBkYXNzIGRpZXMgVklFTCBaZWl0IGtvc3RldCwgYWJlciBkZXN3ZWdlbiBzb2xsdGVuIHZpZWxsZWljaHQgZG9jaAplaW4gd2VuaWcgd2FzIGdldGFuIHdlcmRlbi4uCgpEYXMgZGllcyBlaW5lIEZyZWl6ZWl0YWt0aXZpdGFldCBpc3QgaXN0IG1pciBqYSBiZXd1c3N0LgoKVW5kIGRhc3MgaWNoIGltbWVyIHJ1bW1lY2tlciBpc3QgbmljaHQgd2Fociwgc29uc3QgaGFldHRlIGljaCBqYSBzY2hvbiBsYWVuZ3N0Ck1HIHZlcmxhc3Nlbi4KClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChLZXksIDE5LiBBcHIgMTk5OCwgMDE6MTg6NDQpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkyOTQwOTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODQ4MzE5CldpZXNvPwpJc3QgbWVja2VybiBlaW4gR3J1bmQgdW0gZGFzIE1HIHp1IHZlcmxhc3Nlbj8KQWxzbyBzbyB3aWUgZXMgYmVpIFphcm5peWEgYXVzc2llaHQgZGFzIEdlZ2VudGVpbCAsKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChHcmltbWJvcm4sIDE5LiBBcHIgMTk5OCwgMTU6MTk6MjQpOgp+IyEgcm49U2hhbm5hcmEgcnQ9ODkyOTQwOTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODQ4MzE5CkhtbSwgZ3V0IG1vZWdsaWNoLCBkYXNzIGljaCBuaWNodCBhbGxlcyBtaXRiZWtvbW1lbiBoYWJlLCBhYmVyIHdhcyBoaW5kZXJ0CkRpY2ggZGFyYW4sIGRhcyBzZWxiZXIgenUgbWFjaGVuPyBLb21tIG1pdCBkZW0gZmVydGlnZW4gaHRtbCBhbiB1bmQgZXMgZmluZGV0CnNpY2ggc2ljaGVyIGplbWFuZCwgZGVyIGRhcyBzY2huZWxsIGFuaGFlbmd0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChTaGFubmFyYSwgMTkuIEFwciAxOTk4LCAxNjozNjozMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODkyOTkxOTY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkyODQ4MzE5Ck51biBndXQuLiBkYW5uIHdlcmRlIGljaCBoYWx0IGVpbiBwYWFyIFNlaXRlbiBoYWx0IGFuZmVydGlnZW4gdW5kIGRlbgpqZXdlaWxpZ2VuIE1haW50YWluZXJuIG1haWxlbi4gRGllIFNlaXRlbiB3ZXJkZW4gYWJlciBudXIgbWVpbmVuIFdpc3NlbnN0YW5kCnJlZmxla3RpZXJlbi4KClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXV1ctU2VpdGVuIGRlcyBNb3JnZW5HcmF1ZW5zIChGcmV1bmQsIDIwLiBBcHIgMTk5OCwgMTA6MzU6MjcpOgp+IyEgcm49S2V5IHJ0PTg5MzA2MTIxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mjg0ODMxOQpIaSwKaW0gT3JpZ2luYWx0ZXh0IHN0YW5kIGFiZXIgIldpc3NlbnN0YW5kIiBuaWNodCAiV2lkZXJzdGFuZCIhClVuZCBkYXMgaXN0IGRvY2ggdmVyc3RhZW5kbGljaCwgb2Rlcj8KCkZyZXVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdXVy1TZWl0ZW4gZGVzIE1vcmdlbkdyYXVlbnMgKEJsb29keWhhcnJ5LCAyMS4gQXByIDE5OTgsIDA5OjAzOjA1KToKfiMhIHJuPVNoYW5uYXJhIHJ0PTg5Mjk5NjU5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mjg0ODMxOQpFaW4gcGFhciByZXBsaWVzIHdhZXJlbiBkb2NoIGF1Y2ggc2Nob24gd2FzLiBJY2ggaGFiZSBhdWYgbWVpbmVyIFNlaXRlCihUb3J0dWdhKSBub2NoIGtlaW5lIGVyaGFsdGVuLiBFbnR3ZWRlciBzY2hhdXQgZGllIG5pZW1hbmQgYW4sIG9kZXIgc2llIGlzdApwZXJmZWt0PyBUcmF1dCBFdWNoIGRvY2ggdW5kIHNjaHJlaWJ0IChrb25zdHJ1a3RpdmUpIEtyaXRpayB1bmQgQW5yZWd1bmdlbi4KRGFkdXJjaCBiZWtvbW10IElociBzaWNoZXIga2VpbmUgKGJld3Vzc3N0ZW4pIE5hY2h0ZWlsZS4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpad2VyZ2Vuc3RhZHQgdW5kIEFuZmFlbmdlci4uLj8/PyAoSXNpcywgMjEuIEFwciAxOTk4LCAxNDo0Njo1OCk6CkljaCBrYW5uIG1pY2ggZGEgdW50ZW4gamEgbmljaCBzbyBhdXMuLi4KCkFiZXIgaXN0IGVzIGZ1ZXIgbmVuIEFuZmFlbmdlciBiZXNvbmRlcnMgZWluZmFjaCB2b24gZGEgdW50ZW4gZGVuIFdlZyB6dXIgSEUKenUgZmluZGVuPyAKCkljaCBoYWIgenVtaW5kZXN0IGhldXRlIGRhIGVpbmVuIHJhdXNob2xlbiBtdWVzc2VuLCBkZXIgbmljaHQgd3Vzc3RlLCB3byB2b3JuZQp1bmQgaGludGVuIGlzdC4uLgoKCkhlcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBad2VyZ2Vuc3RhZHQgdW5kIEFuZmFlbmdlci4uLj8/PyAoQWxpbmUsIDIxLiBBcHIgMTk5OCwgMTY6NDM6NTEpOgp+IyEgcm49SXNpcyBydD04OTMxNjI4MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMxNjI4MTgKCkFuZ2VibGljaCBpc3QgZXMgZ2FueiBlaW5mYWNoIHVuZCBtYW4ga2FubgphdWNoIGRlbiBGYWhyc3R1aGwgbmljaHQgdmVycGFzc2VuLgoKTnVyIG1laW5lIDJ0aW5lIHdhciBhdWNoIHp1IGJsb2VkZS4gRGllCmthbSBuYWVtbGljaCBhdWYgZGllIGdsb3JyZWljaGUgSWRlZSBkZW4gWndlcmdlbnNjaHJlaWJlcgpuYWNoIGRlbSBBdXNnYW5nIHVuZCBuYWNoIGRlciBIb2NoZWJlbmUgenUgZnJhZ2VuLi4uLi4uCkRlciB3YXIgZGFubiBzbyBoaW50ZXJbMX5bMX5bMX5uZXR0IGlociB6dSBlcmtsYWVyZW4sCmRhc3MgbWFuIGR1cmNoIGRhcyBCZXJnd2VyayBuYWNoIGRyYXVzc2VuIGtvbW10LgpWb24gZGVtIEZhaHJzdHVobCB3YXIgZGEgbGVpZGVyIG5pY2h0IGRpZSBSZWRlLgoKTmFqYSwgd2VyIGZyYWd0IGlzdCBoYWx0IHNlbGJlciBzY2h1bGQKCkFsaW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJQ0ggV0lMTCBFSU5FTiBSRUJPT1QgISEhISAoU2hhcmlhLCAyMS4gQXByIDE5OTgsIDIxOjI1OjA2KToKCkhhbGxvIHp1c2FtbWVuICEhIQoKRWluIGRpY2tlcyBMb2IgYW4gZGllIGRhZnVlciBadXN0YWVuZGlnZW4gTWFnaWVyIGZ1ZXIgZGllIGxhbmdlIHVwdGltZSEhISEhCgoKU2hhcmlhLCBmYXN0IG9obmUgQXVzcnVlc3R1bmcgYWJlciBlcmZyZXV0IHVlYmVyIGRpZSBTdGFiaWxpdGFldCAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSUNIIFdJTEwgRUlORU4gUkVCT09UICEhISEgKEtpbGFyLCAyMS4gQXByIDE5OTgsIDIxOjM2OjIyKToKfiMhIHJuPVNoYXJpYSBydD04OTMxODY3MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMxODY3MDYKRGVtIGthbm4gaWNoIG1pY2ggbnVyIHZvbGwgYW5zY2hsaWVzc2VuLgoKS2lsYXIsIGF1Y2ggbWFsIEVpbnplaWxpZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJQ0ggV0lMTCBFSU5FTiBSRUJPT1QgISEhISAoVGVkZHksIDIyLiBBcHIgMTk5OCwgMDM6MDk6MjIpOgp+IyEgcm49S2lsYXIgcnQ9ODkzMTg3MzgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMTg2NzA2CkplcHAsIHNlaCBpY2ggYXVjaCBzbywgYmlzIGF1ZiBkZW4gVGl0ZWwuCgpUZWRkeSwgd2lsbCBrZWluZW4gUmVib290LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9lZ2VuIFNpZSBCNT8gKEhpZ2hsYW5kZXIsIDIyLiBBcHIgMTk5OCwgMTM6MzI6MzgpOgpEYW5uIHdpcmQgU2llIHZpZWxsZWljaHQgaW50ZXJlc3NpZXJlbiwgZGFzcyBQbyA3IGVzIGVuZGxpY2ggZ2VzY2hhZmZ0IGhhdCwKc2ljaCBmZXN0enVsZWdlbi4gU3RhcnQgZGVyIDQuIFN0YWZmZWwgYW0gMjMuNS4sIEZvbGdlbiBTYW1zdGFncyB1bSAxNzMwLgpOdXIgZnVlciBkZW4gRmFsbCwgZGFzcyBkaWUsIGRpZSdzIGludGVyZXNzaWVydCwgZXMgbmljaHQgbWl0YmVrb21tZW4gaGFiZW4uCiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vZWdlbiBTaWUgQjU/IChPYmVybW90eiwgMjIuIEFwciAxOTk4LCAxMzozNDowOSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg5MzI0NDc1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OApJY2ggaGFiZSBtaWNoIHNjaG9uIGdld3VuZGVydCwgb2IgZXMgZGEgbm9jaCB3ZWl0ZXJnZWh0LgpCVFcsIGdpYnQgZXMgdm9uIERTIDkgYXVjaCBub2NoIFN0YWZmZWxuLCBkaWUgU2F0MSBuaWNodCBnZXplaWd0IGhhdD8KCk9NLCBpbW1lciBmdWVyIFNGIHp1IGhhYmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vZWdlbiBTaWUgQjU/IChIaWdobGFuZGVyLCAyMi4gQXByIDE5OTgsIDEzOjM1OjA1KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTg5MzI0NDg0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OApTZWNoc3RlIFN0YWZmZWwuIFN0YXJ0ZXQgZGVtbmFlY2hzdCwgZ2xhdWJlIGljaC4gV2lyZCBhbGxlcmRpbmdzLApzaW5udm9sbGVyd2Vpc2UsIHdvZWNoZW50bGljaCBhdXNnZXN0cmFobHQuIFNvbnN0IGhhZXR0ZSBkZSBub2NoIGVkdWxhbmQKdWViZXJob2x0IDs+CiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9lZ2VuIFNpZSBCNT8gKE9iZXJtb3R6LCAyMi4gQXByIDE5OTgsIDEzOjM2OjA3KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODkzMjQ0OTA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CkdlaHQgRFMgOSBkb3J0IHdpZWRlciBhbiBkaWUgRm9lZGVyYXRpb24/CgpPTQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTW9lZ2VuIFNpZSBCNT8gKEhpZ2hsYW5kZXIsIDIyLiBBcHIgMTk5OCwgMTM6Mzc6MDIpOgp+IyEgcm49T2Jlcm1vdHogcnQ9ODkzMjQ0OTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CldpcmQgaGllciBuaWNodCB2ZXJyYXRlbi4gU2NobGllc3NsaWNoIGthbm4gaWNoIGhpZXIga2VpbiBeTCBlaW5mdWVnZW4uCiAgICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb2VnZW4gU2llIEI1PyAoWnVlcmlsZXUsIDIzLiBBcHIgMTk5OCwgMDY6NTY6MTMpOgp+IyEgcm49SGlnaGxhbmRlciBydD04OTMyNDQ3NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMyNDQ3NTgKSElHSCBIaWdobGFuZGVyLApIZWhlLi4gZGFua2UgZGFzIHd1c3N0ZSBpY2ggbmljaHQsIGRhcyBtdXNzIGljaCBpbSBLYWxlbmRlciBuYXR1ZXJsaWNoIHJvdAp1bnRlcnN0cmVpY2hlbi4gZW5kbGljaCBCYWJ5bG9uNSwgYXVmIGRpZSBmb3J0c2V0enVuZyB3YXJ0ZSBpY2ggc2Nob24KZXdpZ2tlaXRlbi4gQWVtbSBpc3QgZGVyIENhcHRhaW4gbmEgaWhyIHdpc3N0IHNjaG9uIHdlciAoV2llIGhpZXNzIGVyIG5vY2g/KQplaWdlbnRsaWNoIG51biB0b3QgbmFjaGRlbSBlciBhdWYgc2RlbSBoZWltYXRwbGFuZXQgZGVyIHNjaGF0dGVuIGRvcnQgaW4gZGllClRpZWZlIGdlc3BydW5nZW4gaXN0ID8gU2luZCBkaWUgU2NoYXR0ZW4gbnVuIHRvdCBvZGVyIG51ciB3YWZmZW5zdGlsbHN0YW5kID8KZnJhZ2VuIHVlYmVyIGZyYWdlbi4uIGhlaGUuLiBUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1vZWdlbiBTaWUgQjU/IChadWVyaWxldSwgMjMuIEFwciAxOTk4LCAwNjo1ODoxMSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg5MzI0NTAyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OApIaSwKQWxzbyBpY2ggaGFiZSB2b24gamVtYW5kZW0gZ2Vob2VydCBkYXMgc2llIFplcnN0b2VydCB3aXJkLCBhYmVyIGRhcyBnbGF1YiBpY2gKbmljaHQgcmVjaHQgZGEgZGllIFNlcnJpZSBqYSBzb25zdCB2b3JiZWkgaXN0LiBBYmVyIGljaCBsYXNzIG1pY2ggdWViZXJhc2NoZW4KPTopIFRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vZWdlbiBTaWUgQjU/IChDeXJhLCAyMy4gQXByIDE5OTgsIDEwOjExOjAxKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODkzMjQ0NzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CkRhbmtlIGZ1ZXIgZGVuIFRpcC4gSWNoIGRhY2h0ZSwgZGFzIGVzIGdhciBuaWNodCBtZWhyIHdhaHIgd2lyZC4KCkN5cmEgKGVyc3RlIFdvcnRtZWxkdW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb2VnZW4gU2llIEI1PyAoUGFrZSwgMjMuIEFwciAxOTk4LCAyMDowNTo0OSk6Cn4jISBybj1DeXJhIHJ0PTg5MzMxOTA2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OApKYXUsCmhhYmUgZGFzIGdsdWVjayBnZWhhYnQsIGRpZSA0LiBzdGFmZmVsIHNjaG9uIGltbiBvcmlnaW5hbCB6dSBzZWhlbiB1bmQgaWNoCmthbm4gZXVjaCBzY2hvbiB2ZXJzcHJldWNoZW46IHNpZSB3aXJkIF9nZW5pYWxfISEgYWJlciBpY2ggd2lsbCBldWNoIGRpZQp1ZWJlcnJhc2NodW5nIG5pY2h0IHZlcnJhdGVuIDstKQpudXIgc292aWVsOiBkaWUgdm9ybG9uZW4gc2luZCBpbW1lciBmdWVyIG5lIHVlYmVycmFzY2h1bmcgZ3V0Li4uCndlaXNzIHNjaG9uIGptZCB3YXMgdm9uIGVpbmVyIDUuIHN0YWZmZWw/IGVzIHdhciBhbnNjaGVpbmVuZCB1bnNpY2hlciwgb2Igc2llCm5vY2gvc2Nob24gZ2VkcmVodCB3aXJkL3d1cmRlLi4uCnp1IGRzOTogd2Vpc3Mgam1kLCB3YW5uIGRpZSBuZXVlIHN0YWZmZWwgaW4gc2F0MSBrb21tdD8gaW4gdXNhIGx1ZnQgc29nYXIKc2Nob24gZGllIGRhcmF1ZmZvbGdlbmRlLi4uZGllIG5ldWVuIHN0YWZmZWxuIHZvbiB2b3lhZ2VyIGtvbW1lbiBzY2hsaWVzc2xpY2gKYXVjaCBiYWxkIGluIHNhdDEgKGd1Y2t0IGRhcyB1ZWJlcmhhdXB0IGptZD8gOykKClBha2UgCgpwczogZGllIHJlY2h0c2NocmVpYmZlaGxlciBiaXR0ZSBuaWNodCB3ZWl0ZXIgYmVhY2h0ZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1vZWdlbiBTaWUgQjU/IChDYXR3ZWF6bGUsIDI0LiBBcHIgMTk5OCwgMTE6MjE6NTMpOgp+IyEgcm49UGFrZSBydD04OTMzNTQ3NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMyNDQ3NTgKTW9pbiEKSWNoIGJpbiBtaXR0bGVyd2VpbGUgaW4gZGVyIG1pc3NsaWNoZW4gTGFnZSwgTGV1dGUgenUga2VubmVuLCBkaWUgZWJlbmZhbGxzCmRpZSA0LiBTdGFmZmVsIGJlcmVpdHMgZ2VzZWhlbiBoYWJlbiwgdW5kIGRpZSBrb2VubmVuIHdpZSBzbyB1ZWJsaWNoCm5hdHVlcmxpY2ggbmljaHQgZGllIEtsYXBwZSBoYWx0ZW4uIApEYSBpY2ggYWJlciBhdWNoIG5vY2ggbWVpbmVuIEtvbW1lbnRhciBhYmdlYmVuIHdpbGw6CkFsbGVzIHdpcmQgYW5kZXJzIDopCkljaCBrYW5uIEV1Y2ggbnVyIGVtcGZlaGxlbiBhdWYgamVkZW4gRmFsbCBCNSBhbnp1c2VoZW4uLi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9lZ2VuIFNpZSBCNT8gKEhpZ2hsYW5kZXIsIDI0LiBBcHIgMTk5OCwgMTQ6NTE6MDEpOgp+IyEgcm49UGFrZSBydD04OTMzNTQ3NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMyNDQ3NTgKNi4gU3RhZmZlbCBEUzkgYWIgOS41LiwgU2Ftc3RhZ3MgMTYwMC4gRGFuYWNoIGthbm5zdCBEdSBnbGVpY2ggd2VpdGVybWFjaGVuCm1pdCBCNSA7PiAobWl0IGt1cnplciBQYXVzZSkuCkFGQUlLIGxhZXVmdCBhbGxlcmRpbmdzIGluIGRlbiBTdGFhdGVuIGF1Y2ggZGllIDYuIFN0YWZmZWwgLSB3dWVyZGUgU2F0LjEKZGllIEZvbGdlbiB3aWVkZXIgdGFlZ2xpY2ggYnJpbmdlbiwgd3VlcmRlIC5kZSBkaWUgVVNBIHVlYmVyaG9sZW4uCkVpbmUgc2llYnRlIFN0YWZmZWwgd2lyZCB1ZWJyaWdlbnMgemllbWxpY2ggc2ljaGVyIG9obmUgSmFkemlhIERheCBzZWluCnVuZCBpc3QgYXVjaCBhbGxnZW1laW4gbm9jaCBuaWNodCBzaWNoZXIgLSBkaWUgVmVydHJhZ2UgZGVyIFNjaGF1c3BpZWxlcgpsaWVmZW4gdWViZXIgNiBzZWFzb25zIC0gdW5kIE5ldXZlcmhhbmRsdW5nZW4ga29zdGVuIGlkUiBtZWhyIEdlbGQsIGFscwpQcm9kdWt0aW9uc2dlc2VsbHNjaGFmdGVuIGF1c2dlYmVuIHdvbGxlbi4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNb2VnZW4gU2llIEI1PyAoSmVza28sIDI0LiBBcHIgMTk5OCwgMjM6Mzg6MzYpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODkzMzA3NDkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4ClBlYWNlIQoKTnVuLCBpY2ggd2Vpc3Mgbm9jaCBuaWNodHMgdm9tIEluaGFsdCBkZXIgNC4gb2RlciA1LiBTdGFmZmVsLCBqZWRvY2gKa2FubiBtYW4gZGllIEFudHdvcnRlbiBhdWYgZGVpbmUgRnJhZ2VuIGRvY2ggYmVzdGltbXQgYXVzIGRlbiBiZXJlaXRzCmF1c2dlc3RyYWhsdGVuIEZvbGdlbiBBYmxlaXRlbjoKLSBadW0gVGhlbWEgQ3B0IFNoZXJpZGFuIGRydWVja3RlIHNpY2ggS29zaCB2b3Igc2VpbmVtIFRvZCBkb2NoIG5vY2ggcmVjaHQKZGV1dGxpY2ggYXVzLCBvZGVyPyAoIldlbm4gU2llIG5hY2ggWidoYSdkdW0gZ2VoZW4sIHdlcmRlblNpZSBzdGVyYmVuIikgVW5kCktvc2gga2FubiBtYW4gc29sY2hlIEF1c3NhZ2VuIGJlc3RpbW10IGdsYXViZW4uIEludGVyZXNzYW50IGhpbmdlZ2VuIGlzdApqZWRvY2gsIGRhc3MgQnJ1Y2UgQm94ZW5sZWl0ZXIgKG9kZXIgd2llIGRlciBoZWlzc3QpIGluIGRlciA0LiB1bmQgNS4gU3RhZmZlbApub2NoIG1pdHNwaWVsdC4uLgotIE51biwgdW5kIHdlZ2VuIGRlciBaZXJzdG9lcnVuZyB2b24gQmFiNTogRGEgZ2FicyBlaW5lIEVwaXNvZGUgbWl0IGRlcgplaGVtYWxpZ2VuIEZyYXUgZGVzIENlbnRhdXJpLUltcGVyYXRvcnMsIGRpZSBkaWUgWmVyc3RvZXJ1bmcgZGVyIFN0YXRpb24KYmVyZWl0cyB2b3JyYXVzZ2VzZWhlbiBoYXQuIFVuZCB3YXMgVmlzaW9uZW4gYW5nZWhldCwgc28gaXN0IGJpcyBqZXR6dCAKYWxsZXMgZ2V0cmFldW10ZSBvZGVyIGF1Y2ggbnVyIGVpbmdlYmlsZGV0ZXQgZWluZ2V0cmV0ZW4gLi4uCgpJY2ggd3VlcmRlIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGJlaWRlIEZhZWxsZSBlaW50cmV0ZW4gd2VyZGVuLCBqZWRvY2gKd2llIGljaCBKTVMgZWluc2NoYWV0emUgZ2FueiBhbmRlcnMsIGFscyBtYW4gZXJ3YXJ0ZW4gd3VlcmRlLgoKSmVza28sIGd1Y2t0IHp1IHZpZWwgZmVybiB3ZW5uIGVyIG5pY2h0IG11ZGRlZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdXBkYXRlIGhvbWVwYWdlIChTd2lmdCwgMjUuIEFwciAxOTk4LCAxNzoyNzozMik6CnNvLCBpY2ggYmluIGVuZGxpY2ggbWFsIGRhenUgZ2Vrb21tZW4sIGVpbmUgc2VpdGUgZnVlciBkaWUga2F0emVua3JpZWdlciB6dQptYWNoZW4sIGF1c3NlcmRlbSBoYWIgaWNoIGRpZSBjaGFvcy1zZWl0ZSBhdWZnZWZyaXNjaHQgOikKCiAgICAgaHR0cDovL3d3dy50aGVvZmZpY2UubmV0L3dhbHovbXVkcy5odG1sCgpvZGVyIGRpcmVrdCB6dSBkZW4gZ2VhZW5kZXJ0ZW4gc2VpdGVuOgogICAgIGh0dHA6Ly93d3cudGhlb2ZmaWNlLm5ldC93YWx6L2NoYW9zLmh0bWwKICAgICBodHRwOi8vd3d3LnRoZW9mZmljZS5uZXQvd2Fsei9rYXR6ZW5rcmllZ2VyLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNb2VnZW4gU2llIEI1PyAoQXNtb2RpcywgMjYuIEFwciAxOTk4LCAxNjoxOTo1MSk6Cn4jISBybj1KZXNrbyBydD04OTM0NTM5MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMyNDQ3NTgKSG1tLCBkYSBtYW4gYmVpIEJhYnlsb241IGphIGF1Y2ggaW4gZGVyIFplaXQgcmVpc2VuIGthbm4sIHdpcmQgZGllIApaZXJzdG9lcnVuZyBkZXIgU3RhdGlvbiB2aWVsbGVpY2h0IG5pY2h0IGVuZGd1ZWx0aWcgc2VpbiwgZ2VuYXVzbyB3aWUgZGVyIFRvZAp2b24KU2hlcmlkYW4gKG5hamEsIHZpZWxsZWljaHQgZmluZGV0IHNpY2ggZGEgamEgZWluIFp3aWxsaW5nc2JydWRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1vZWdlbiBTaWUgQjU/IChXYXJnb24sIDI3LiBBcHIgMTk5OCwgMTI6MjA6MTkpOgp+IyEgcm49QXNtb2RpcyBydD04OTM2MDAzOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTMyNDQ3NTgKT2RlciBJdmFub3dhIHRyaWZmdCBpaG4gaXJnZW5kd2FubiB1bnRlciBkZXIgRHVzY2hlLCB1bmQgZXMgd2FyIGFsbGVzIG51ciBlaW4KYm9lc2VyIFRyYXVtIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNb2VnZW4gU2llIEI1PyAoTGFyaXNzYSwgMjcuIEFwciAxOTk4LCAxMjoyMjowMik6Cn4jISBybj1XYXJnb24gcnQ9ODkzNjcyNDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CiBCYWVoIQoKSG9lcnRzIGVuZGxpY2ggYXVmLCBvZGVyIHZlcnplaWh0IEV1Y2ggbmFjaCBzY2htYXJybiEKSWNoIGJpbiBpbiBkZXIgZ2x1ZWNrbGljaGVuIExhZ2Ugbm9jaCBuaXggdWViZXIgZGllIG5ldWVuIFN0YWZmZWxuCnp1IHdpc3NlbiB1bmQgc28gc29sbHMgYXVjaCBibGVpYmVuLgoKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNb2VnZW4gU2llIEI1PyAoV2FyZ29uLCAyNy4gQXByIDE5OTgsIDEyOjI2OjE3KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODkzNjcyNTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CktlaW5lIEFuZ3N0LCBMYXJpc3NhLCBpY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGRpZSB2b24gRGFsbGFzIGFiZ3Vja2VuIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTW9lZ2VuIFNpZSBCNT8gKEJhYm9vbiwgMjcuIEFwciAxOTk4LCAxMjoyOToxMik6Cn4jISBybj1XYXJnb24gcnQ9ODkzNjcyNzc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CgpTdGltbXQsIERhbGxhcyB6dSBrb3BpZXJlbiBsb2hudCBuaWNodC4gVmllbCB6dSBvZWRlLiBBYmVyIHdpZSB3YWVyZSBlcyBkZW5uCm1pdCBlaW5lciB0ZW1wb3JhbGVuIFN1YnJhdW1hbm9tYWxpZT8gOi0pCgpCYWJvb24oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1vZWdlbiBTaWUgQjU/IChPYmVybW90eiwgMjcuIEFwciAxOTk4LCAxMjozMDoyNyk6Cn4jISBybj1CYWJvb24gcnQ9ODkzNjcyOTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4Ck5laiwgZGFubiB3YWVyZW4gc2llIGphIGltIERlbGF0YS1RdWFkcmFudGVuIDstKQoKT00KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNb2VnZW4gU2llIEI1PyAoT2Jlcm1vdHosIDI3LiBBcHIgMTk5OCwgMTI6MzA6NDUpOgp+IyEgcm49T2Jlcm1vdHogcnQ9ODkzNjczMDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzMjQ0NzU4CkFlaG0gRGVsYXRhID0gRGVsdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNb2VnZW4gU2llIEI1PyAoQmFib29uLCAyNy4gQXByIDE5OTgsIDEyOjMyOjI2KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTg5MzY3MzA0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OAoKV2llc28sIHdhcyBoYXN0IGR1IGdlZ2VuIGRlbiBEZWx0YXF1YWRyYW50ZW4/IGRhIGthbm4gbWFuIHRvbGwgcnVtZmxpZWdlbiB1bmQKbmV1ZSwgcGhhbnRhc3Rpc2NoZSwgbmllZ2VzZWhlbmUgTGViZW5zZm9ybWVuIGVudGRlY2tlbi4uLgoKQmFib29uKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBNb2VnZW4gU2llIEI1PyAoT2Jlcm1vdHosIDI3LiBBcHIgMTk5OCwgMTI6MzM6NTgpOgp+IyEgcm49QmFib29uIHJ0PTg5MzY3MzE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5MzI0NDc1OApJY2ggaGFiZSBuaWNodHMgZ2VnZW4gRGVsdGEtUXVhZHJhbnRlbi4gTnVyIGljaCBzY2hhdWUgbWlyIGxpZWJlciAzIFNlcmllbiBhbgphbHMgbnVyIGVpbmUgKkdSSU5TKgoKT00KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1lYSBjdWxwYSAoR3JpbW1ib3JuLCAzMC4gQXByIDE5OTgsIDEyOjQ0OjE3KToKSWNoIGJpbiBlYmVuIG1pdCBlaW4gcGFhciBaaWZmZXJuIGR1cmNoZWluYW5kZXJnZWtvbW1lbi4gRXJnZWJuaXM6IEljaCBoYWJlCmVpbmVuIEFydGlrZWwgdm9uIFJvbmRhIGF1cyB3aXR6ZSAoIlNvcnJ5IENhdHR5LCBhYmVyIER1IGhhc3QgZWNodCBzY2hvbiBtYWwKYmVzc2VyZSBXaXR6ZSBnZW1hY2h0Li4uIikgZ2Vsb2VzY2h0LCBhbnN0YXR0IGlobiBuYWNoIHNjaG1hcnJuIHp1IHZlcmxlZ2VuLgpEZXIgYW5kZXJlIEFydGlrZWwsIGRlbnMgZXJ3aXNjaHQgaGF0dGUsIHdhciBlaW4gdW5pbnRlcmVzc2FudGVyIHZvbiBtaXIgYXVzCnNjaG1hcnJuLgoKSnVzdCBmb3IgdGhlIHJlY29yZHMsIEdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWFyZ290aCAoSGV4eGVyLCAzMC4gQXByIDE5OTgsIDE5OjQzOjQ5KToKSCBJIEwgRiBFICEKb2hoIGR1IHVuc2VyIGdyb3NzZXIgR09UVCAhISEhCndpciBodWxkaWdlbiBEaXIgaW4gZGVpbmVyIEFsbG1hY2h0IGRlaW5lIC4uLltibGFoIGJsYWggLi4uXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmljaCBoYWIgZGEgbmVuIGdyb2Vzc2VyZXMgUHJvYmxlbWNoZW4uLgppY2ggaGFiIGdlc3Rlcm4gZGllIFFVRVNUIk5hcnJlbmJhbGwiIGJlZW5kaWd0IHVuZCBoYXR0ZSBpcmdlbmR3aWUKdmVyZm9sZ3Vuc3dhaG4uCkRhZHVjaCwgc28gc2FndGVuIG1pciBkaWUgYW5kcmVuIEtsZXJpa2VyLCBoYWIgaWNoIGF1cyB1bmVyZmluZGxpY2hlbiBHcnVuZGVuCmRlbgpBcmtzaGF0IGFuZ2VncmlmZmVuIHVuZCBkYXJmIG5ldCBpbiBkaWUgR2lsZGUuCkRhcyB3aXJkIGFuZ2VibGljaCBlcnN0IGJlaW0gcmVib290LCB3YW5uIGFjaCBpbW1lciBkZXIgc2VpbiBtb2VnZQooeHh4TW9uYXRlLi50YWdlID8/KS4KTWVpbnN0IER1LCBtYW4ga29lbm5lIGRhIGV2dGwuIHdhcyBtYWNoZW4gPz8/Cm9kZXIgaXNzIGRhcyBhdXNzZXJlcmZvbGdzY2hhbmNlbmxvcyA/Pz8Kb2ggYml0dGUgR290dCwgZXJob2VyZSBtZWluZSBHZWJldGUuLi4uIChncmlucyopIAoKYnllIGJ5ZSBiaXMgZGVubmUgIEhFWFhFUi4uLiAoemVya25hdWx0KmVudGVocnQqZW50d3VlcmRpZ3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFyZ290aCAoUGFwaWVydGlnZXIsIDMwLiBBcHIgMTk5OCwgMjA6NDE6MDYpOgp+IyEgcm49SGV4eGVyIHJ0PTg5Mzk1ODIyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpJY2ggYmluIHp3YXIga2VpbiBLbGVyaWtlciwgYWJlciBpY2ggc2NobGllc3NlIG1pY2ggZGVtIEZsZWhlbiB2b24gQnJ1ZGVyCkhleHhlciBhbi4gTWVpbmVtIEVyc3RpZSBCZW5zb25tYW0gZ2luZydzIG5ldWxpY2ggbmFlbWxpY2ggZ2FueiBnZW5hdXNvLiBFcgpoYXQgZGFtYWxzIGFuZ2VyZWd0LCBkYXNzIEFya3NoYXQgRUlORU4gQW5ncmlmZiBkdWxkZW4ga29lbm50ZSwgZGVubgpOYXJyZW5iYWxsIG1hY2h0IG1hbiBqYSBub3JtYWxlcndlaXNlIGF1Y2ggbnVyIGVpbm1hbCAoYnp3LiBmYWxscyBkb2NoIG9lZnRlciwKaXN0IG1hbiBuYWNoIGRlbSB6d2VpdGVuIE1hbCB2aWVsbGVpY2h0IHNjaGxhdWVyIHVuZCBsYWV1ZnQgbmljaHQgaW4gZGllCkdpbGRlKSwgYWJlciBzZWluIFd1bnNjaCBzdGllc3MgYmVpIGRlbiBHb2V0dGVybiBvZmZlbmJhciBhdWYgdGF1YmUgT2hyZW4uCgpGcmV1bmRsaWNoZXJ3ZWlzZSBoYXQgc2ljaCBkYW1hbHMgc2Nob24gbmFjaCB3ZW5pZ2VuIFRhZ2VuIEFybWFnZWRkb24KQmVuc29ubWFtcyBlcmJhcm10Li4uOikKClBkbkEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYXJnb3RoIChadWVyaWxldSwgIDEuIE1haSAxOTk4LCAwNzowMDowMCk6Cn4jISBybj1IZXh4ZXIgcnQ9ODkzOTU4MjI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5CkhpLApTZWkgZnJvaCwuIGVzIGhhdCBkaWNoIGRhdm9yIGJld2FocnQgZWluIGdyb3NzZW4gZmVobGVyIHp1IGJlZ2VoZW4gdW5kIGVpbgprbGVyaWtlciB6dSB3ZXJkZW4uClNvIGhhc3QgZHUgbnVuIGdlbnVnIFplaXQgZGlyIGRpZSBTYWNoZSBub2NobWFscyBiZXNzZXIgenUgdWViZXJsZWdlbi4gSXN0CmRvY2ggbmUgU2NoYW5kZSBLbGVyaWtlciB6dSB3ZXJkZW4sIHdpZSBrYW5uIG1hbiBudXIgYW4gc293YXMgZGVua2VuLiBTbwpIZWlsaWcgc2VpbiB1bmQgYmV0dGVuIHp1IHdvbGxlbiAqd2FlayosIGVzIGxlYmUgZGVyIENIQU9TICEKClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNodHVuZyAtIDEuIE1haSAoRnJldW5kLCAgMS4gTWFpIDE5OTgsIDA4OjU2OjEyKToKV2VpbCBoaWVyIHNvIHdlbmlnIExldXRlIGR3bmV3cyBsZXNlbiBkdWVyZnRlbjoKCiAgIEJPTk46IEltIFN0cmFzc2VudmVya2VociBnaWx0IG1pdCBCZWdpbm4gZGVzIE1vbmF0cyBNYWkgZGllIG5ldWUKR3JlbnplIHZvbiAwLDUgUHJvbWlsbGUuIFdlciBtaXQgZGllc2VtIEFsa29ob2x3ZXJ0IGFtIFN0ZXVlciBlcndpc2NodAp3aXJkLCBtdXNzIGFiIHNvZm9ydCBtaXQgZWluZW0gQnVzc2dlbGQgdm9uIDIwMCBNYXJrIHVuZCB6d2VpClN0cmFmcHVua3RlbiBpbiBkZXIgVmVya2VocnNzdWVuZGVya2FydGVpIHJlY2huZW4uIE5hY2ggRWluc2NoYWV0enVuZwpkZXMgQURBQyBicmluZ3QgZGllIG5ldWUgUHJvbWlsbGUtR3JlbnplIG5pY2h0cywgZGVubiBudXIgYmVpIHNpZWJlbgpiaXMgYWNodCBQcm96ZW50IGRlciBVbmZhZWxsZSBtaXQgQWxrb2hvbHVyc2FjaGUgd3VyZGVuIFByb21pbGxld2VydGUKendpc2NoZW4gMCw1IHVuZCAwLDggZ2VtZXNzZW4uCgpOdXIgZnVlciBkaWUgTXVkZGVyLCBkaWUgc2ljaCBuYWNoIDIgRmxhZXNjaGNoZW4gQmllciBhdWNoIG1hbCBmb3J0YmV3ZWdlbgp3b2xsZW4uLi4KCkZyZXVuZCwgZGVuayBhbiBkaWUgU29tbWVycGFydHkuLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2h0dW5nIC0gMS4gTWFpIChIYW5nb3ZlciwgIDEuIE1haSAxOTk4LCAxMToyMzo0Nyk6Cn4jISBybj1GcmV1bmQgcnQ9ODk0MDA1NzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MDA1NzcyCldpZSB3aWxsc3QgRHUgZGEgYXVmIGJsb3NzIDIgQmllciBrb21tZW4/CgotSGFuZ292ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbWFyZ290aCAoV3VyLCAgMS4gTWFpIDE5OTgsIDEzOjE2OjI3KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg5Mzk5ODgwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpBbnNjaGVpbmVuZCB3ZWlzc3QgZHUgZ2FyIG5pY2h0IHdhcyBlcyBoZWlzc3QgS2xlcmlrZXIgenUgc2VpbiwgWnVlcmlsZXUuCldpZSBrYW5uIG1hbiBudXIgc28gdm9uIEFic2NoZXUgZXJmdWVsbHQgc2Vpbj8KCld1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFyZ290aCAoTHVnLCAgMS4gTWFpIDE5OTgsIDE0OjQ2OjUxKToKfiMhIHJuPVd1ciBydD04OTQwMjEzODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTM5NTgyMjkKIEhtIFd1ciwKCmdhbnogZWluZmFjaDogQW5zZWhlbiB3aWUgZGllIEtpcmNoZW4gaW4gTmllZGVyc2FjaHNlbiBkZW4gR290dGVzYmV6dWcgaW4gZGllClZlcmZhc3N1bmcgZHJ1ZWNrZW4uIERpZSBWZXJmYXNzdW5nIGlzdCBlaWdlbnRsaWNoIGZ1ZXIgYWxsZSBkYSwgbmljaHQgbnVyIGRpZQpUaGVpc3Rlbi4gU293YXMgZXJ6ZXVndCBkYW5uIG5pY2h0cyBhbHMgQnJlY2hyZWl6LiBOdXIgbWFsIGVpbnMgdm9uIDEwMDAKQmVpc3BpZWxlbiBuZW5uZW5kLgoKRmlkS0cgOykKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWNodGlnIGZ1ZXIgYWxsZSBNaXRnbGllZGVyIGRlcyBNRy1WZXJlaW5zISAoVmlwZXIsICAxLiBNYWkgMTk5OCwgMTk6MzU6MDEpOgpFaW4gaGVyemxpY2hlcyBIYWxsbyBhbiBhbGxlIE1pdGdsaWVkZXIuCkxlc3QgYml0dGUgdW5iZWRpbmd0IGRhcyBQcm90b2tvbGwgZGVyIGxldHp0ZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nLAp2ZXJvZWZmZW50bGljaHQgaW4gZGVyIFJ1YnJpazogbW9yZ2VuZ3JhdWVuLnZlcmVpbi4KCkJpcyBkYW5uCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFyZ290aCAoWnVlcmlsZXUsICAyLiBNYWkgMTk5OCwgMDE6NDk6MDgpOgp+IyEgcm49V3VyIHJ0PTg5NDAyMTM4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpIaSwKYWNoIGtvbW0gZGllIGtsZXJpa2VyIHZlcnN0ZWNrZW4gc2ljaCBoaW50ZXIgaWhyZW0gZ2xhdWJlbiBkaWUgZWxlbmRlbgpTY2h3YWVjaGxpbmdlLiBBbGxlcyBudXIgQWJzY2hhdW0sIHp1IG5pY2h0cyB6dSBnZWJydWF1Y2hlbiA9OikKCmVzIGxlYmUgZGFzIENoYW9zLi4gdHNjaGF1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBtYXJnb3RoIChBc21vZGlzLCAgMi4gTWFpIDE5OTgsIDE5OjU2OjQ1KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg5NDA2NjU0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpIbW0sIHdhcyBpc3QgbWl0IE1vcmdvdGggbG9zLCB3YXJ1bSBoYXQgZXIgQXJrc2hhdCBub2NoIG5pY2h0IHdpZWRlciBnZWFlbmRlcnQKPwpBYmVyLCBXRU5OIGVyIHdpZWRlciBhbmdyZWlmYmFyIGlzdCwgZGFubiBpc3QgZXIgYmVzdGltbXQgYXVjaCBlaW4gCkJJU1NDSEVOIHN0YWVya2VyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXNzZXR6ZXIgKENhdHdlYXpsZSwgIDQuIE1haSAxOTk4LCAwOToxNToyOSk6ClN1YmplY3Q6ICoqKiBIb3QgTmV3cyAqKiogMDQuTWF5LjE5OTggMDk6MTAgKioqCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YW5kOiAwNC4wNS4xOTk4LCAwOToxMCBVaHIKMDQuMDUuOiBBbSA3LjUuIHVuZCBhbSAxNC41LjE5OTggZnVlaHJ0IGRpZSBUZWxla29tIFdhcnR1bmdzYXJiZWl0ZW4KICAgICAgICBhbiBkZW4gQi1XaU4tQVRNLUtub3RlbiBEb3J0bXVuZCAoNy41LikgdW5kIE11ZW5zdGVyICgxNC41LikKICAgICAgICBkdXJjaC4gRXMga29tbXQgamV3ZWlscyB6dSBVbnRlcmJyZWNodW5nZW4gZGVyIEludGVybmV0dmVyLQogICAgICAgIGJpbmR1bmdlbiBpbiBkZXIgWmVpdCB6d2lzY2hlbiA1OjAwIHVuZCA4OjAwIFVocgotLS0tLQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2h0dW5nIC0gMS4gTWFpIChSYW50YW5wbGFuLCAgNC4gTWFpIDE5OTgsIDIzOjIzOjA3KToKfiMhIHJuPUZyZXVuZCBydD04OTQwMDU3NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQwMDU3NzIKCkFlaGhoIEZyZXVuZCwgYXVzIGVpZ2VuZXIgRXJmYWhydW5nIGlzdCAwLjU2LCB3ZW5uIER1IAplaW5tYWwgQ3Vycnl3dXJzdCBQb21tZXMgdW5kIGRhbmFjaCB1ZWJlciA1IGgsIDUgb2RlciA2KD8pIEJpZXIgCnRyaW5rc3QuLi4KCkdhbnogZWhybGljaCwgMC41IGlzdCBub2NoIG1pbmRlc3RlbnMgMC4yIHp1IHZpZWwKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nIC0gMS4gTWFpIChSYW50YW5wbGFuLCAgNC4gTWFpIDE5OTgsIDIzOjI1OjU5KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9ODk0MzE2OTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MDA1NzcyCkRhIGZhZWxsdCBtaXIgZWluLi4uCgpOYXR1ZXJsaWNoIG11c3MgZGllIGpld2VpbGlnZSBLb25zdGl0dXRpb24gZGVzIERlbGlxXkheSF5IXkhQcm9iYW5kZW4KYmVydWVja3NpY2h0aWd0IHdlcmRlbi4uLgoKT2UqIGdlaHQgbWFsIGpvZ2dlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nIC0gMS4gTWFpIChQYXBpZXJ0aWdlciwgIDUuIE1haSAxOTk4LCAxMTowOTo0NCk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg5NDMxNjk4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDAwNTc3MgpEYXMgZXJpbm5lcnQgbWljaCBhbiBkZW4gYWx0ZW4gV2l0ejoKCkZhaHJsZWhyZXIgenVtIEZhaHJzY2h1ZWxlcjogIkFiZXIgSGFlbmRlIHdlZyB2b20gQWxrb2hvbCEgMCw4IHNpbmQgbnVyCmVybGF1YnQuIgoKRmFocnNjaHVlbGVyOiAiT2NoLCBkYSBrYW5uIGljaCBtaXIgamEgbmUgZ2FuemUgRmxhc2NoZSByZWluemllaG47IGRpZSBoYXQgamEKbnVyIDAsNy4iCgpQZG5BCgpQLlMuIEdkQSwgYml0dGUgdmVybGVnZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmV1bmQgaXN0IHdlZy4gKFRlZGR5LCAgNS4gTWFpIDE5OTgsIDE0OjM1OjU0KToKRnVlciBhbGxlLCBkaWUgZXMgaW50ZXJlc3NpZXJ0OgoKRnJldW5kIGhhdCBzaWNoIHNvZWJlbiBpbSBrbGVpbmVuIEtyZWlzIHNlbGJzdCBnZWxvZXNjaHQuCgoKVGVkZHksIHdpcmQgaWhuIHZlcm1pc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmV1bmQgaXN0IHdlZy4gKFNpbHZhbmEsICA1LiBNYWkgMTk5OCwgMTk6MTI6MzgpOgp+IyEgcm49VGVkZHkgcnQ9ODk0MzcxNzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MzcxNzU0Ck5hamEsIGRpZXNlcyBtYWwgaGFiIGljaCB3ZW5pZ3N0ZW5zIG5lbiBVcGRhdGUgdm9uIHNlaW5lbSBTYXZlZmlsZS4KRGFubiBoYXQgZXIgbmljaHQgc28gdmllbCBBcmJlaXQgbWl0IEFsaS1OZXVkZWZpbml0aW9uIHdpZSBsZXR6dGVzCm1hbC4uLiBIb2ZmZW4gd2lyIG1hbCwgZGFzcyBlciBiYWxkIHdpZWRlcmtvbW10LCBhdWNoIHdlbm4gZXIgZXMKYmVzdHJlaXRldC4gSWNoIGdlYiBkaWUgSG9mZm51bmcgbmljaHQgYXVmLiA6KQoKICBTaWx2YW5hIC0gdmVybWlzc3QgYXVjaCBlaW5lbiBGcmV1bmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJldW5kIGlzdCB3ZWcuIChadWVyaWxldSwgIDUuIE1haSAxOTk4LCAyMTo1MjoxMSk6Cn4jISBybj1TaWx2YW5hIHJ0PTg5NDM4ODM1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDM3MTc1NApIaSBhbGwsCkphIGVjaHQgc2NoYWRlIGRhcyBGcmV1bmQgd2VnIGlzdCA9OigKClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmV1bmQgaXN0IHdlZy4gKFRlZGR5LCAgNi4gTWFpIDE5OTgsIDA2OjQ4OjU5KToKfiMhIHJuPVNpbHZhbmEgcnQ9ODk0Mzg4MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MzcxNzU0CkZyZXVuZHMgU2F2ZWZpbGUgaGFiZW4gb2ZmZW5zaWNodGxpY2ggbWVocmVyZSBtaXRsZXJ3ZWlsZSBnZXNpY2hlcnQsCmFsbGVyZGluZ3MgZ2xhdWJlIGljaCBrYXVtLCBkYXMgZXIgZXMgc2ljaCB2b3JsYWV1ZmlnIGFuZGVycyB1ZWJlcmxlZ3QuCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZXVuZCBpc3Qgd2VnLiAoRGVlcGJsdWUsICA2LiBNYWkgMTk5OCwgMTE6MzA6MjMpOgp+IyEgcm49VGVkZHkgcnQ9ODk0MzcxNzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MzcxNzU0CkF1cyBkZW4gR3J1ZW5kZW4/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJldW5kIGlzdCB3ZWcuIChUZWRkeSwgIDYuIE1haSAxOTk4LCAxNzowMzowMik6Cn4jISBybj1EZWVwYmx1ZSBydD04OTQ0NDcwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQzNzE3NTQKR3J1ZW5kZSBzaWVoZSBSdWJyaWsgUGFydHkuCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1c3NldHplciAoQXNtb2RpcywgIDYuIE1haSAxOTk4LCAxODo1MzozNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODk0MjY2MTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0MjY2MTI5CkRpZSBzaW5kIGRvY2ggaW1tZXIgYW0gYmFnZ2VybiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpncmltbWJvcm4gaXN0IGVpbiBrbGVpbmVyIGJsb2VkZXIgd2ljaHNlciAoSmFzcGVyLCAgNy4gTWFpIDE5OTgsIDAzOjIzOjAzKToKUmVeMzogRnJldW5kIGlzdCB3ZWcuIChHcmltbWJvcm4sICA2LiBNYWkgMTk5OCwgMDA6MjE6MDMpOgpbQXV0b3I6IEphc3BlciwgIDUuIE1haSAxOTk4LCAxODozNTo1MCwgdmVybGVndCB2b24gYWxsZ2VtZWluZXNdCltCZXp1ZzogQXJ0aWtlbCBpbiBhbGxnZW1laW5lcyB2b24gTGlsbGVicm9yIHZvbSAgNS4gTWFpIDE5OTgsIDE2OjEwOjMzXQoKCkljaCB3aWxsIFNoZXJpZmYgd2VyZGVuISEhCgpXeWF0dCBKYXNwZXIgcG9saWVydCBzY2hvbiBtYWwgc2VpbmVuIFN0ZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1c3NldHplciAoSGVsdmEsICA4LiBNYWkgMTk5OCwgMDA6MjE6MDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5NDI2NjEyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDI2NjEyOQpBbHMgZGFzIGxldHp0ZSBtYWwgZGllc2VyIEtub3RlbiBpbiBEb3J0bXVuZCBiZXRyb2ZmZW4gd2FyLCBnaW5nIGluIEJvY2h1bQphdWNoIG5pY2h0cyBtZWhyLi5uYWphLi51bSBkaWUgWmVpdCBzaW5kIGRpZSBtZWlzdGVuIGphIGVoIG5vY2ggbmljaHQgYWt0aXYgOykKSGVsdmEgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpudWRlaSAoUm9lc3RpLCAxMS4gTWFpIDE5OTgsIDIyOjQ0OjU2KToKaWNoIGJyYXVjaGUgZHJpbmdlbmQgZGVuIGxldHp0ZW4gVGVpbCB2b24gQmFsZHVpbiBCYWxkYWNoaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdlIChNdWFkZGliLCAxMi4gTWFpIDE5OTgsIDA5OjA2OjI4KToKSGFsbG8gTUcsCgppY2ggaGFiIGRhIG1hbCBuZSBGcmFnZSwgYml0dGUgbmljaHQgZmxhbWVuLCBkYXMgaW50ZXJlc3NpZXJ0IG1pY2ggd2lya2xpY2guCldhciBDYXR3ZWF6bGUgbmljaHQgbWFsIEVNIHVuZCBTaGVyaWZmPwoKTXVhIGhhdCBrZWluZW4gUGxhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyYWdlIChLZXksIDEyLiBNYWkgMTk5OCwgMTA6MDQ6MjQpOgp+IyEgcm49TXVhZGRpYiBydD04OTQ5NTY3ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQ5NTY3ODgKV2FyIGVyIC4uLgpBY2hqYSAuLi4gd2FyZW4gc2Nob2VuZSBaZWl0ZW4gLi4uLgoKS2V5IHJ1ZnQgQ2F0d2VhemxlIGZvciBTaGVyaWZmISEgLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZSAoQ2F0d2VhemxlLCAxMi4gTWFpIDE5OTgsIDEwOjA0OjM0KToKfiMhIHJuPU11YWRkaWIgcnQ9ODk0OTU2Nzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0OTU2Nzg4Ck1vaW4hCkRlaW5lIHRlbXBvcmFsZSBFaW5zdHVmdW5nIGlzdCBnYW56IGF1c2dlemVpY2huZXQuLi4KLi4ud2FyIGlzdCAxMDAlIGtvcnJla3QgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2UgKE11YWRkaWIsIDEyLiBNYWkgMTk5OCwgMTI6NTY6MjgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5NDk2MDI3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDk1Njc4OApIbW0sIGJpc3QgRHUgenVydWVja2dldHJldGVuPyBVbmQgRnJldW5kIGhhdCBzaWNoIGdlbG9lc2NodD8gV293LgpFcnNjaHVldHRlcm5kZSBCaWxhbnouCgpNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYWdlIChBbmF0b2wsIDEyLiBNYWkgMTk5OCwgMTQ6MzU6NTYpOgp+IyEgcm49TXVhZGRpYiBydD04OTQ5NzA1ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQ5NTY3ODgKSmUgbWVociBTcGllbGVyLCBkZXN0byBncm9lc3NlciBkZXIgVmVyc2NobGVpc3MgYW4gU2hlcmlmZnMgdW5kIERlcHV0aWVzLgoKQW5hdG9sLCB3ZWRlbHQgbWl0IGVpbmVtICdDYXR3ZWF6bGUgZm9yIFNoZXJpZmYnLUZhZWhuY2hlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBudWRlaSAoSmltZGlncml6LCAxMi4gTWFpIDE5OTgsIDE1OjA3OjAzKToKfiMhIHJuPVJvZXN0aSBydD04OTQ5MTk0OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQ5MTk0OTYKClRhZywKCkF1Y2ggaWNoIHZlcm1pc3NlIGRlbiBJcnJlbiBXZWx0cmF1bXByb2xldGVuIGF1ZnMKc2NobWVyemxpY2hzdGUuIEdpYnRzIEZsb3NlIG5vY2ggaXJnZW5kd28gPyAKV2VyIHdlaXNzIEJlc2NoZWlkID8gSGFiIGxlaWRlciBpcmdlbmR3YW5uIHdlZGVyClJlY2hudW5nIG5vY2ggQXVzZ2FiZW4gYmVrb21tZW4uIDooKAoKKnNjaG51ZWZmKgoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFnZSAoR3JpbW1ib3JuLCAxMi4gTWFpIDE5OTgsIDIzOjIwOjQ2KToKfiMhIHJuPUFuYXRvbCBydD04OTQ5NzY1NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTQ5NTY3ODgKQWxzbywgaWNoIG1lbGRlIG1pY2ggamVkZXJ6ZWl0IGZyZWl3aWxsaWcgZnVlciBkZW4gU2hlcmlmZmpvYi4gTXVlc3N0cyBkZW4gRU0KbnVyIHNhZ2VuLCBkaWUgZ2xhdWJlbiBzb25zdCBuaWNodCBkYXNzIGRhcyBpbSBTaW5uZSBkZXIgU3BpZWxlciBpc3QuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBsYWVjaGVsdCB6dWNrZXJzdWVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2UgKFRlZGR5LCAxMy4gTWFpIDE5OTgsIDAwOjEzOjI2KToKfiMhIHJuPU11YWRkaWIgcnQ9ODk0OTcwNTg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk0OTU2Nzg4ClNvIGdlc2VoZW4gc29sbHRlbiB3aXIgbm9jaG1hbCB1ZWJlcmxlZ2VuLCB3ZW4gd2lyIGFscyBuYWVjaHN0ZXMgbG9zd2VyZGVuLAphZWggYXVmIGRlbiBQb3N0ZW4gc2V0emVuIHdvbGxlbi4gOykKClRlZGR5CkRUTVMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG1hcmdvdGggKFNjaG51ZmZlbCwgMTMuIE1haSAxOTk4LCAwMTo1MDoyNik6Cn4jISBybj1adWVyaWxldSBydD04OTQwNjY1NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTM5NTgyMjkKSGFsbGkgaGFsbG8hCgpBbHNvLCBkYSBpY2ggYXVjaCBlaW4gTWl0Z2xpZWQgZGVyIEtsZXJpa2VyZ2lsZGUgYmluLCB3dWVyZGUgaWNoIGdhbnogZ2VybmUKbWFsIEZvbGdlbmRlcyBhbm1lcmtlbjoKCjEpIE51ciB3ZWlsIGplbWFuZCBkZXIgS2xlcmlrZXJnaWxkZSBiZWl0cml0dCwgaGVpc3N0IGRpZXMgbm9jaCBsYW5nZSBuaWNodAooenVtaW5kZXN0IG5pY2h0IG5vaXRnZWRydW5nZW5lcm1xYXNzZW4pLCBkYXNzIGRpZXNlIFBlcnNvbiBSTCBhdXRvbWF0aXNjaCBlaW4KQ2hyaXN0IGlzdCwgb2J3b2hsIGRpZXMgbmF0dWVybGljaCBkZXIgRmFsbCBzZWluIGthbm4uLi4KCjIpIERpZSBNaXRnbGllZGVyIGVpbmVyIEdpbGRlIGltIE1HIG1pdCBzYWVtdGxpY2hlbiBDaHJpc3RlbiBkaWVzZXIgV2VsdCBpbgplaW5lbiBUb3BmIHp1IHNjaG1laXNzZW4gdW5kIGRhbm4gbWl0IFZlcmFsbGdlbWVpbmVydW5lZ2VuIHVuZCBWb3J1cnRlaWxlbiB1bQpzaWNoIHp1IHdlcmZlbiwgaXN0IHdlbmlnIGFuZ2VicmFjaHQvZ2Vpc3RyZWljaC4uLgoKMykgQmVpIGtlaW5lciBkZXIgYW5kZXJlbiBHaWxkZW4gd2lyZCBub3JtYWxlcndlaXNlIHNvIGVpbiBUcmFyYSBnZW1hY2h0CmJlenVlZ2xpY2ggZGVyIFp1Z2Vob2VyaWdrZWl0LiBXZW5uIHouIEIuIGplbWFuZCBkZXIgS2FlbXBmZXJnaWxkZSBiZWl0cml0dCwKZ2VodCBqYSBhdWNoIG5pY2h0IGplZGVyIGRhdm9uIGF1cywgZGFzcyBkaWVzZSBQZXJzb24gUkwgZGVuIGdhbnplbiBUYWcgaW4gZGVyCkdlZ2VuZCBydW1tZXR6ZWx0LCBvZGVyPyBBYmVyIGthdW0gdHJpdHQgamVtYW5kIGRlciBLbGVyaWtlcmdpbGRlIGJlaSwgZ2xlaWNoCmtyaWVnZW4gZWluIEhhdWZlbiBMZXV0ZSBkaWUgUGFuaWssIGRhc3MgZGllc2UgUGVyc29uIG51biB2ZXJzdWNoZW4ga29lbm50ZSwKc2llIHp1IGJla2VocmVuLCBibGFibGEuIElyZ2VuZHdhcyBpc3QgZGEgZG9jaCB2ZXJxdWVyIGRyYW4uLi4KClp1c2FtbWVuZmFzc2VuOiBXZW5uIGplbWFuZCBlaW5lbiBiZWRyYWVuZ3QgdW5kIGtyYW1wZmhhZnQgdmVyc3VjaHQsIGVpbmVuIHp1CmJla2VocmVuLCBrYW5uIG1hbiBzaWNoIGRhcnVlYmVyIGR1cmNoYXVzIGF1ZnJlZ2VuLiBEaWVzIGFiZXIgdm9uIHNhZW10bGljaGVuCk1pdGdsaWVkZXJuIGRlciBLbGVyaWtlcmdpbGRlIHp1IGVyd2FydGVuIGlzdCBkb2NoIGVoZXIgZW5nc3Rpcm5pZy4KClNjaG51ZmZlbCwgZGllIG51ciBzcGllbGVuIG1vZWNodGUsIHVuZCBrZWluIEludGVyZXNzZSBkYXJhbiBoYXQsCmlyZ2VuZGplbWFuZGVuIHp1IGJla2VocmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBtYXJnb3RoIChadWVyaWxldSwgMTMuIE1haSAxOTk4LCAwNDo1MTo1Mik6Cn4jISBybj1TY2hudWZmZWwgcnQ9ODk1MDE3MDI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5CkhpLAoKSG1tLi4gd2FyIGRlciBTbWlseSBuaWNodCBncm9zcyBnZW51ZyA/IE9kZXIgbXVzcyBpY2ggbmV1ZXJkaW5ncyB3aWVkZXIgYXVmCippcm9uaWUgb24vb2ZmKiB6dXJ1ZWNrZ3JlaWZlbiA/CkFsc28gZnVlciBkZW4gZmFsbCBkYXMgZGVyIHNtU21pbHkgbmljaHQgZ3Jvc3MgZ2VudWcgd2FyIHVuZCBlcyBuaWNodCBqZWRlcgptZXJrdGUgZGFzIGVzIGVpbiBTcGFzeiB3YXIuIEhvbGwgaWNoIGRhcyBqZXR6dCBtYWwgbmFjaC4uCgoKICAgICAgICAgICAgICAgICAgICAgICAgICBvb29vJCQkJCQkJCQkJCQkb29vbwogICAgICAgICAgICAgICAgICAgICAgb28kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCRvCiAgICAgICAgICAgICAgICAgICBvbyQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJG8gICAgICAgICBvJCAgICQkIG8kCiAgIG8gJCBvbyAgICAgICAgbyQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJG8gICAgICAgJCQgJCQgJCRvJApvbyAkICQgIiQgICAgICBvJCQkJCQkJCQkICAgICQkJCQkJCQkJCQkJCQgICAgJCQkJCQkJCQkbyAgICAgICAkJCRvJCRvJAoiJCQkJCQkbyQgICAgIG8kJCQkJCQkJCQgICAgICAkJCQkJCQkJCQkJCAgICAgICQkJCQkJCQkJCRvICAgICQkJCQkJCQkCiAgJCQkJCQkJCAgICAkJCQkJCQkJCQkJCAgICAgICQkJCQkJCQkJCQkICAgICAgJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQKICAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCAgICAkJCQkJCQkJCQkJCQkICAgICQkJCQkJCQkJCQkJCQkICAiIiIkJCQKICAgIiQkJCIiIiIkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkICAgICAiJCQkCiAgICAkJCQgICBvJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgICAgICIkJCRvCiAgIG8kJCIgICAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgICAgICAgJCQkbwogICAkJCQgICAgJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIiAiJCQkJCQkb29vb28kJCQkbwogIG8kJCRvb29vJCQkJCQgICQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgICBvJCQkJCQkJCQkJCQkJCQkJCQKICAkJCQkJCQkJCIkJCQkICAgJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCAgICAgJCQkJCIiIiIiIiIiCiAiIiIiICAgICAgICQkJCQgICAgIiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQiICAgICAgbyQkJAogICAgICAgICAgICAiJCQkbyAgICAgIiIiJCQkJCQkJCQkJCQkJCQkJCQkIiQkIiAgICAgICAgICQkJAogICAgICAgICAgICAgICQkJG8gICAgICAgICAgIiQkIiIkJCQkJCQiIiIiICAgICAgICAgICBvJCQkCiAgICAgICAgICAgICAgICQkJCRvICAgICAgICAgICAgICAgICBvbyAgICAgICAgICAgICBvJCQkIgogICAgICAgICAgICAgICAgIiQkJCRvICAgICAgbyQkJCQkJG8iJCQkJG8gICAgICAgIG8kJCQkCiAgICAgICAgICAgICAgICAgICIkJCQkJG9vICAgICAiIiQkJCRvJCQkJCRvICAgbyQkJCQiIAogICAgICAgICAgICAgICAgICAgICAiIiQkJCQkb29vbyAgIiQkJG8kJCQkJCQkJCQiIiIgICAKICAgICAgICAgICAgICAgICAgICAgICAgIiIkJCQkJCQkb28gJCQkJCQkJCQkJCAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiIiIkJCQkJCQkJCQkJCAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkJCQkJCQkJCQkJCAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkJCQkJCQkJCQiICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkJCQiIiIiIApOYSBhbGxlIEtsZXJpa2VyIEhlcnplbiBqZXR6dCB3aWVkZXIgYmVydWhpZ3QgPwoKVHNjaGF1IEFsYWluCgpwczogYWJlciBzb3JyeSB3ZXIgaW4gZGllIEtsZXJpa2VyIEdpbGRlIGdlaHQsIGhhdCBkb2NoIGVjaHQgZWluZW4gYW4gZGVyCldhZmZlbCBhbHNvIGFic3RyZWl0ZW4ga2FubiBtYW4gZGFzIGRvY2ggbmljaHQgPyA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG1hcmdvdGggKEdsb2luc29uLCAxMy4gTWFpIDE5OTgsIDEwOjU0OjA2KToKfiMhIHJuPVp1ZXJpbGV1IHJ0PTg5NTAyNzkxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpHZWhlIGluIERpY2gsIEJydWRlciBBbGFpbiB1bmQga2VociBEZWluIEhlcnogTGVtYm9sZCB6dSA6KSkpIEphYWFhLCBpY2gKbW9lY2h0ZSBFdWNoIGJyZW5uZW4gc2VoZW4gaW0gS2V0emVyZmV1ZXIsIElociBVbmdsYWV1YmlnZW4hISEKSm8sIHdpciBLbGVyaWtlciBoYWJlbiBlaW5lbiBhbiBkZXIgV2FmZmVsLiBFdHdhIGdlbmF1c292aWVsIHdpZSBhbGxlCmFuZGVyZW4gTXVkZGVyIDstKQoKR2xvaW4gLi4uIGlzdCBqYSBlY2h0IGZ1ZXIgZGVuIFBvc3RlbiAnSW5xdWlzaXRvcicgLi4uIGRhcyBnZWZhZWxsdCBNb3Jnb3RoCiAgICAgICAgICBzaWNoZXIgYXVjaCA6KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBtYXJnb3RoIChUdW5peGd1dCwgMTMuIE1haSAxOTk4LCAxMTowMToyNSk6Cn4jISBybj1adWVyaWxldSBydD04OTUwMjc5MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTM5NTgyMjkKClNDSE9PRUVOISA6bykKCidzIEthcmF0ZS1ad2VyY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbWFyZ290aCAoR3JpbW1ib3JuLCAxMy4gTWFpIDE5OTgsIDExOjIyOjE1KToKfiMhIHJuPUdsb2luc29uIHJ0PTg5NTA0OTY0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpIYXQgZWlnZW50bGljaCBtYWwgamVtYW5kIGdlZGFjaHQsIHF1YXNpIGVpbmUgIk1pdHRlbGdpbGRlIiB6d2lzY2hlbiBLbGVyaWtlcm4KdW5kIEthZW1wZmVybiB6dSBiYXN0ZWxuPyBTbyBhIGxhICJTcGFuaXNjaGUgSW5xdWlzaXRpb24iLgoKTm9ib2R5IGV4cGVjdHMgR3JpbW1ib3JuIGRlbiBBdGhlaXN0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1hcmdvdGggKE9iZXJtb3R6LCAxMy4gTWFpIDE5OTgsIDExOjIyOjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTUwNTEzMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTM5NTgyMjkKT2RlciBhdWNoIFRlbXBlbHJpdHRlciAoVGVtcGxlcikKCk9NCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBtYXJnb3RoIChNaXJha2EsIDEzLiBNYWkgMTk5OCwgMTE6Mjg6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NTA1MTMzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpOZW5udCBzaWNoIFBhbGFkaW5lIC4uLgoKTWlyYWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBtYXJnb3RoIChHcmltbWJvcm4sIDEzLiBNYWkgMTk5OCwgMTE6MzU6MTcpOgp+IyEgcm49TWlyYWthIHJ0PTg5NTA1MTY4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpTb3JyeSwgd2VubiBEdSBQYWxhZGluZSB1bmQgZGllIFNwYW5pc2NoZSBJbnF1aXNpdGlvbiBhdWYgZGllIGdsZWljaGUgU3R1ZmUKc3RlbGxzdCBoYXN0IGVudHdlZGVyIER1IHdhcyB1ZWJlciBkaWUgSW5xdWlzaXRpb24gb2RlciBpY2ggd2FzIHVlYmVyIFBhbGFkaW5lCm5pY2h0IHZlcnN0YW5kZW4uIEljaCBkYWNodGUgaW1tZXIsIFBhbGFkaW5lIHNlaWVuIGd1dCB1bmQgZmFpciwgdW5kIHdlbmlnZXIKZGllIGR1cmNodHJpZWJlbmVuIFNwaXR6ZWwgdW5kIEZvbHRlcmtuZWNodGUuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IG1hcmdvdGggKE1pcmFrYSwgMTMuIE1haSAxOTk4LCAxMTo0NTo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk1MDUyMTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5Ck5hamEsIFBhbGFkaW5lIHNvIHdpZSBLcmV1enJpdHRlciB1bmQgZGFubiBndXQgdW5kIGZhaXI/Pz8gS29tbXQgd29obCBkYXJhdWYKYW4sIHdhcyBlaW5lciBkYXJ1bnRlciB2ZXJzdGVodCA6LSkgTmljaHQgamVkZXIgbXVzcyB6d2FyIGdsZWljaCBlaW4KcmVsaWdpb2VzZXIgRWlmZXJlciBzZWluLCBhYmVyIGRhc3Mgc2llIG51ciBndXQgdW5kIGZhaXIgc2luZCAuLi4KTWFuY2htYWwgaXN0IGViZW4gbmljaHRzIHNvIGJvZXNlIHdpZSBkYXMgdW5hbnRhc3RiYXIgR3V0ZSAod293LCBkYXMga2xpbmd0Cmd1dCwgb2Rlcj8pLgoKTWlyYWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogbWFyZ290aCAoU2lsdmFuYSwgMTMuIE1haSAxOTk4LCAxMjowMzoyMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk1MDUyMTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5Ck5hamEsIGRpZSBJbnF1aXNpdG9yZW4gaGFiZW4gc2ljaCBzaWNoZXIgYWxzIGd1dCB1bmQgZ2VyZWNodCB2ZXJzdGFuZGVuLgpEaWUgQXVmZmFzc3VuZywgc2llIHNlaWVuIFNwaXR6ZWwgb2RlciBGb2x0ZXJrbmVjaHRlIGhhYmVuIGVpZ2VudGxpY2gKbnVyIGRpZSBPcGZlciBnZWhhYnQsIHdlbmlnZXIgZGllIElucXVpc2l0b3Jlbi4gVm9uIGRhaGVyIGlzc2VzIHZpZWxsZWljaHQKdmVyZ2xlaWNoYmFyLgoKICAgU2lsdmFuYSAtIG1laW50IGRhcyBqZXR6dCBuaWNodCB2b2VsbGlnIGVybnN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBtYXJnb3RoIChPdmVybG9yZCwgMTMuIE1haSAxOTk4LCAxMzo0NzoxNik6Cn4jISBybj1TY2hudWZmZWwgcnQ9ODk1MDE3MDI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5CkhhaWwgQ2hhb3MhISEhISEKCk92aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IG1hcmdvdGggKEN1Y2h1bGxpbiwgMTMuIE1haSAxOTk4LCAxNjowOTo1OSk6Cn4jISBybj1NaXJha2EgcnQ9ODk1MDUyNzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5ClNvIHdpZSBpY2ggZGVuIHR5cGlzY2hlbiAiUm9sbGVuc3BpZWwtUGFsYWRpbiIga2VubmUsIGlzdCBlaW4gUGFsYWRpbgplaW4gYmV3YWZmbmV0ZXIgUHN5Y2hvcGF0aCwgZGVyIGFsbGVzLCB3YXMgbmljaHQgdm9uIGd1dGVyIEdlc2lubnVuZwppc3QsIGF1c25haG1zbG9zIHp1IGJla2FlbXBmZW4gcGZsZWd0LiAuLi4gbWFuIHdpcmQgc2llIGFsc28gYW0gCmxlaWNodGVzdGVuIGxvcywgd2VubiBtYW4gbWFsIGViZW4gYmVpIGVpbmVtIGdyb3NzZW4gYm9lc2VuIERyYWNoZW4Kdm9yYmVpc2NoYXV0LCAuLi4gbnVyIG9iIHNlbGJzdG1vZXJkZXJpc2NoZXMgVmVyaGFsdGVuIGFscyAiZ3V0IHVuZApmYWlyIiBlaW56dXN0dWZlbiBpc3QsIHNlaSBtYWwgZGFoaW5nZXN0ZWxsdCA6KS4KCkN1Y2h1bGxpbiAtIG5vIGNoaWxkIG9mIHRoZSBsaWdodAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBtYXJnb3RoIChBcmssIDEzLiBNYWkgMTk5OCwgMTY6MTc6NTYpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTg5NTA2ODU5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpBaGFhYWEsIGVpbiBGZWluZCBkZXMgR3V0ZW4sIGRlciBkYSBzcHJpY2h0IDotKQpWZXJuaWNodGV0IGlobiwgYWJlciByYWNrIHphY2sgLi4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogbWFyZ290aCAoSmltZGlncml6LCAxMy4gTWFpIDE5OTgsIDE3OjAyOjA4KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTg5NTA1MTM3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQoKV2FyZW4gZGllIFRlbXBsZXIgbmljaHQgZGllLCBkaWUgZGllIGxldHp0ZW4gV2Fzc2Vydm9ycnJhZXRlIGhhdHRlbiwKYmlzIGRpZSBFaXNwaXJhdGVuIGRhbm4gZG9jaCBkaWUgNy4gV2VsdCBlbnRkZWNrdGVuID8gCgoiRGFzIFNjaGlmZiBpc3Qga3JhbmsuLi4gZXMgaGF0IEhlcnBlcy4uLiIgOl8pKQoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IG1hcmdvdGggKEFzbW9kaXMsIDEzLiBNYWkgMTk5OCwgMTg6NDc6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NTA1MjExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Mzk1ODIyOQpFcyBnaWJ0IHVlYmVyYWxsIHNjaHdhcnplIFNjaGFmZSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2UgKEd3eW53YWl0ZXIsIDEzLiBNYWkgMTk5OCwgMTg6NTc6MjQpOgp+IyEgcm49S2V5IHJ0PTg5NDk2MDI2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDk1Njc4OAoKR3d5biB3ZWRlbHQgbWl0IHNlaW5lbSBGYWVobmNoZW4gKGhhYiBpY2ggZWNodCBub2NoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2UgKEdyaW1tYm9ybiwgMTMuIE1haSAxOTk4LCAyMzowMjo0Mik6Cn4jISBybj1Hd3lud2FpdGVyIHJ0PTg5NTA3ODY0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDk1Njc4OApQZnVpISBNYWNoIGRpZSBIb3NlIHNvZm9ydCB3aWVkZXIgenUhIEVzIHNpbmQgTWluZGVyamFlaHJpZ2UgYW53ZXNlbmQhCgpHcmltbWJvcm4gZGVyIE1vcmFsaHVldGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIE5ldHp3ZXJra2FydGUgKENhdHdlYXpsZSwgMTQuIE1haSAxOTk4LCAwOToxMDo1Myk6Ck1vaW4hCgpEYSBkYXMgTXVkIG51IHdpZWRlciBqdW5nIGlzdCwgbW9lY2h0ZSBpY2ggZGlyZWt0IGJvb3RlbiwgdW0gZWluZQpuZXVlIE5ldHp3ZXJra2FydGUgZWluenViYXVlbi4gV2lyIGhhYmVuIHNjaG9uIHNlaXQgbGFlbmdlcmVyIFplaXQgU3RhdSAKYW0gTmV0emF1c2dhbmcsIGljaCBlcmhvZmZlIG1pciBkdXJjaCBkZW4gRWluYmF1IGRhcyBsYWcgenUgdmVya2xlaW5lcm4uCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laW4gTmFtZSAoTXNhciwgMTQuIE1haSAxOTk4LCAxMzoyMzozMCk6CkRhIGljaCBpbW1lciB3aWVkZXIgZ2VmcmFndCB3ZXJkZSwgd2llIGRlbm4gbWVpbiBOYW1lIHp1c3RhbmRlCmdla29tbWVuIGlzdCwgaGllciBtYWwgZGllIEdlc2NoaWNodGUgaW4gZGVyIE1QQToKCkljaCBoYWJlIGVpbiBKYWhyIGluIExvbmRvbiBzdHVkaWVydCwgdW5kIGF1ZiBlaW5lbSBsb2thbGVuIE1VRCBoYWJlIGljaCAKZWluZW4gQ2hhcmFrdGVyIG5hbWVucyBDU0FSIGdlaGFidCAoc3ByaWNodCBzaWNoIHdpZSBDYWVzYXIgYXVzKS4KRGEgZXMgZG9ydCAzIHZlcnNjaGllZGVuZSBDaGFyYWt0ZXJ0eXBlbiBnYWIsIGhhdHRlIGljaCBhdWNoIDMgRmlndXJlbjoKQ3NhciAoQ2xlcmljKSwgRnNhciAoRmlnaHRlciksIE1zYXIgKE1hZ2UpLgpNc2FyIGlzdCBpcmdlbmR3aWUgaGFlbmdlbiBnZWJsaWViZW4uCgpTbyBpY2ggaG9mZmUsIGRpZSBBbnphaGwgZGVyIEZyYWdlbiB6dW0gTmFtZW4gbmVobWVuIGpldHp0IGFiLiA7KQoKTXNhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1laW4gTmFtZSAoWmFyZG96LCAxNC4gTWFpIDE5OTgsIDEzOjQxOjQxKToKfiMhIHJuPU1zYXIgcnQ9ODk1MTQ1MDEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTQ1MDEwCldpZSB3YXIgZGFzIG5vY2htYWwgbWl0IGRlaW5lbSBOYW1lbiwgTXNhcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWVpbiBOYW1lIChUZWRkeSwgMTQuIE1haSAxOTk4LCAxMzo0Mjo0Nyk6Cn4jISBybj1aYXJkb3ogcnQ9ODk1MTQ2MTAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTQ1MDEwCkd1dGUgRnJhZ2UgOy0pCgpUZWRkeSBpc3QgZ2VyYWRlIHVlYmVyIHphcmRveiBOYW1lbnNxdWVsbGUgZ2VzdG9scGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1laW4gTmFtZSAoUHJhLCAxNC4gTWFpIDE5OTgsIDEzOjQ0OjUxKToKfiMhIHJuPVRlZGR5IHJ0PTg5NTE0NjE2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NTE0NTAxMAp3ZWlzcyBkb2NoIGplZGVyLCB3b2hlciBaYXJkb3oga29tbXQ6IGF1cyBkZW0gZ2xlaWNobmFtaWdlbiBGaWxtCm1pdCBTZWFuIENvbm5lcnkuLi4gClphcmRveiBoYXQgZGFzIG1pciBnZWdlbnVlYmVyIGF1Y2ggc2Nob24gbWVocmZhY2ggYmVzdHJpdHRlbiwKYWxzbyB3aXJkJ3Mgd29obCBzdGltZW4uCihzdGltZW4gPSBzdGltbWVuKQoKcHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWVpbiBOYW1lIChQcmEsIDE0LiBNYWkgMTk5OCwgMTM6NDc6NTcpOgp+IyEgcm49UHJhIHJ0PTg5NTE0NjI5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NTE0NTAxMApmdWVyIGRpZSBMZXV0ZSwgZGllIGRlbiBGaWxtICdaYXJkb3onIG5pY2h0IGtlbm5lbiwgaGllciBlaW4gcGFhciBaaXRhdGU6CgpaYXJkb3o6IFRoZSBndW4gaXMgZ29vZC4KClphcmRvejogVGhlIHBlbmlzIGlzIGV2aWwuIFRoZSBwZW5pcyBzaG9vdHMgc2VlZHMsIGFuZCBtYWtlcyBuZXcgbGlmZSwgYW5kCnBvaXNvbnMgdGhlIGVhcnRoIHdpdGggYSBwbGFndWUgb2YgbWVuLCBhcyBvbmNlIGl0IHdhcy4gQnV0IHRoZSBndW4gc2hvb3RzCmRlYXRoLCBhbmQgcHVyaWZpZXMgdGhlIGVhcnRoCm9mIHRoZSBmaWx0aCBvZiBicnV0YWxzLiBHbyBmb3J0aCBhbmQga2lsbCEKClByYS4gRmFuZCBkZW4gRmlsbSB6aWVtbGljaCBibHV0aWcuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpbmdlciB1bmQgTWFnaWVybGV2ZWwgKEhpZ2hsYW5kZXIsIDE0LiBNYWkgMTk5OCwgMTQ6NDA6MzMpOgpXZWlsIG1pciBnZXJhZGUgYXVmZmllbCwgZGFzcyBmaW5nZXIgbnVyIGRpZSAibnVtZXJpc2NoZSIgVmVyc2lvbgoobmVpbiwgaWNoIHNjaHJlaWJlIE5JQ0hUIG51bW1lcmlzY2gsIGRhZ2VnZW4gYmluIGljaCBhbGdlcmlzY2gpIGRlcwpNYWdpZXJsZXZlbHMgYW56ZWlndCwgaGFiZSBpY2ggZGFzIG1hbCBzY2huZWxsIGFiZ2VzdGVsbHQuCldpZSB1ZWJsaWNoIG5hY2ggZGVtIG5hZWNoc3RlbiByZWJvb3QgYWt0aXYsIE1hZ2llciBrb2VubmVuIHNpY2ggZGVuCkZpbmdlciBiZWkgVmVyc2lvbnNodW5nZXIgc2VsYnN0IG5ldSBiZXNvcmdlbi4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxkYm9lcnNlLiAoVG9yd2FsbCwgMTQuIE1haSAxOTk4LCAxNDo1Njo1NCk6CkhpIGlocnMsIG1pciBpc3QgaGV1dGUgYXVmZ2VmYWxsZW4sIGRhc3Mgd2VubiBpY2ggR2liIHh4eCBNdWVuemVuIGFuIHl5eQp0aXBwZSwgdW5kIGljaCBkaWUgZW50c3ByZWNoZW5kZSBTdW1tZSB6d2FyIGluIGRlciBHZWxkYm9lcnNlLCBhYmVyIG5pY2h0IGltCkludmVudG9yeSBoYWJlLCBlaW5lIEZlaGxlcm1lbGR1bmcga29tbXQuCiBKZXR6dCBpbnRlcmVzc2llcnQgbWljaCwgb2IgaWhyIGRhbWl0IGF1Y2ggUHJvYmxlbWUgaGFidC4gV2VubiBqYSwgZGFubgprb2VubnRlbiB3aXIgamEgbWFsIGVpbmVuIG5ldHRlbiBNYWdpZXIgZnJhZ2VuLCBvYiBlciBkaWVzIGFscyB6dXNhZXR6bGljaGVzCkZlYXR1cmUgZWluYmF1dCB1bmQgdW5zIGRhbWl0IGRhcyBTcGllbGVybGViZW4gZXR3YXMgZWluZmFjaGVyIG1hY2h0LgpUb3J3YWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlbGRib2Vyc2UuIChQcmEsIDE0LiBNYWkgMTk5OCwgMTQ6NTg6MjMpOgp+IyEgcm49VG9yd2FsbCBydD04OTUxNTA2MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTUxNTA2MTQKeWVwcCwgaXN0IG1pciBhdWNoIHNjaG9uIGF1ZmdlZmFsbGVuIHVuZCBtYWNodCBtaXIgUHJvYmxlbWUuCldpZSBoZWlzc3QgZGVubiBkZXIgbmV0dGUgTWFnaWVyLCBkZXIgZGllIEdlbGRib2Vyc2VuIGdhYmVzdGVsdCBoYXQ/CgpQcmEuCihnYWJlc3RlbHQ9Z2ViYXN0ZWx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWxkYm9lcnNlLiAoUGFkcmVpYywgMTQuIE1haSAxOTk4LCAxNjoxODowNyk6Cn4jISBybj1QcmEgcnQ9ODk1MTUwNzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTUwNjE0CkRhcyBQcm9ibGVtIGFuIGRlciBTYWNoZSBpc3QsIGRhcyBzb3dhcyBlaWdlbnRsaWNoIG5pY2h0IGluIGRpZSBHZWxkYm9lcnNlLApzb25kZXJuIGluIHB1dF9hbmRfZ2V0IGdlaG9lcnQuIFdlbm4gc293YXMgd2lya2xpY2ggZ2V3b2xsdCBpc3Qgc29sbHRlIG1hbgplaGVyIGVpbiBnaWIgeHh4IGF1cyB5eXkgYW4genp6IGZ1ZXIgYWxsZSBjb250YWluZXIgcHJvZ3JhbW1pZXJlbi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWRyZWljIGhldXRlIG1hbCBBcmJlaXQgd2VpdGVycmVpY2hlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIE5ldHp3ZXJra2FydGUgKENhdHdlYXpsZSwgMTQuIE1haSAxOTk4LCAxOTozMzowNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODk1MTI5ODUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTI5ODUzCkd1Z2d1Z3MhCgpXaXIgaGFiZW4gYmVpbSBVbWJhdSBleHRyZW1lIEZlaGxlciBhdWYgZGVtIFNDU0ktQnVzIGZlc3RnZXN0ZWxsdC4gWnVtaW5kZXN0CndvbGx0ZSBkaWUgbmV1ZSAoUENJLSlOZXR6d2Vya2thcnRlIG5pY2h0IG1pdCBkZW4gQ29udHJvbGxlcm4KenVzYW1tZW5hcmJlaXRlbi4KTmFjaGRlbSB3aXIgZWluZW4gbmV1ZW4gQ29udHJvbGxlciBiZXNvcmd0IGhhYmVuLCB1bmQgemllbWxpY2ggdmllbCBkYW1pdCAKcnVtZ2VoYW1wZWx0IHVuZCBhdXNwcm9iaWVydCwgaG9mZmVuIHdpciBqZXR6dCBkYXMgZXMgc3RhYmlsIGxhZXVmdC4gClRyb3R6ZGVtIGhhYmVuIHdpciB1ZWJlcmxlZ3QgZXZ0bC4gZWluZSBuZXVlIEJNLUlERS1QbGF0dGUgIHp1IGJlc29yZ2VuLiAKRGllIHNpbmQgbWl0dGxlcndlaWxlIHNjaG5lbGxlciB1bmQgYmVzc2VyIGFscyBkaWUgU0NTSS1QbGF0dGVuIHVuZCBrb3N0ZW4KbmljaHQgc28gYXJnIHZpZWwuIFp1dmVybGFlc3NpZ2VyIGFscyBkaWVzZXIgU0NTSS1IaWNrSGFjayB3YWVyZW4gc2llIGFsbGVtYWwuCkljaCB3dWVyZGUgZGVuIFp1c3RhbmQgZGVzIFJlY2huZXJzIG1vbWVudGFuIGVoZXIgYWxzIHNlbWktc3RhYmlsIApiZXplaWNobmVuLi4uLi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJhZ2UgKEd3eW53YWl0ZXIsIDE0LiBNYWkgMTk5OCwgMTk6NDY6MDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NTA5MzM2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NDk1Njc4OApHcmltbWksIGtlaW5lIHNjaGxlY2h0ZW4gV2l0emUgbWFjaGVuIC0gc29uc3QgaG9sZSBpY2ggaWhuIGRvY2ggenVydWVjay4uLiAKKG5hamEsIG9kZXIgdmVyc3VjaGUgZXMuLi4gZ3JpbnMpCgpnZXouIEd3eW4qLCBtaXQgc2VpbmVtIG9yaWdpbmFsICJDYXR3ZWF6bGUgZm9yIFNoZXJyaWZmIi1GYWVobmNoZW4gKHRtKQp3ZWRlbG5kLi4uCgotLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbGRib2Vyc2UuIChNYXJpdGEsIDE0LiBNYWkgMTk5OCwgMjE6NDU6MDQpOgp+IyEgcm49UGFkcmVpYyBydD04OTUxNTU0ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTUxNTA2MTQKRXMgZ2VodCBhdWNoIGFuZGVycyA6LSkKRGVyIG5ldHRlIE1hZ2llciBtaXQgZGVyIEdlbGRib2Vyc2UgKGRpZSBpY2ggc2VsYnN0IGxlaWRlciBuaWNodCBrZW5uZSkKa29lbm50ZSAiZ2liIHggYW4geSIgYWJmYW5nZW4gdW5kIGZlc3RzdGVsbGVuLCBvYiBtYW4gZ2VudWcgR2VsZCBpbSBJbnZlbnRvcnkKaGF0LiBXZW5uIG5pY2h0LCBtb3Z0IGRpZSBCb2Vyc2UgZGllIERpZmZlcmVueiBuYWNoIGRyYXVzc2VuLCBiZXZvciBkaWUgZ2FuemUKRnVua3Rpb24gIkFrdGlvbiBlcmZvbGdsb3MiIHJldHVybnQsIGRhbWl0IGRhcyBlaWdlbnRsaWNoZSBHZWJlbiBhdWNoCnN0YXR0ZmluZGV0LgpFaW4gQmVpdHJhY2ggZnVlciBzcGllbGVyLmxwYwpNYXJpZGRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWxkYm9lcnNlLiAoUGFkcmVpYywgMTQuIE1haSAxOTk4LCAyMzoyMDo1MCk6Cn4jISBybj1NYXJpdGEgcnQ9ODk1MTc1MTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTUwNjE0CkFsc28gZGVyIG5ldHRlIE1hZ2llciAod2llIGF1Y2ggaW1tZXIgaWNoIGF1ZiBlaW5tYWwgenUgZGllc2VtIFRpdGVsIGtvbW1lIDspCmJpbiBpY2ggTWFyaXRhLiBNaXIgaXN0IGF1Y2ggYmVrYW5udCwgZGFzIG1hbiBnaWIgdWViZXJzY2hyZWliZW4ga2FubiwgamVkb2NoCmJpbiBpY2gga2VpbiBGYW4gdm9uIHVubm9ldGlnZW4gSGFja3MgdW5kIGRhcyBnZWhvZXJ0IG1laW5lciBNZWludW5nIGVpbmRldXRpZwppbiBkaWUgTXVkTGliICh3ZW5uIGRlbm4gdWViZXJoYXVwdCkuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhZHJlaWMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWUgTmV0endlcmtrYXJ0ZSAoSmltZGlncml6LCAxNS4gTWFpIDE5OTgsIDE2OjIzOjAzKToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTUxNjcxODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTUxMjk4NTMKQXJnbCwKCndhcyB0dXQgSWhyID8gSWNoIHdlaXNzIGphIG5pY2h0LCB3YXMgZnVlciBIYXJkd2FyZQp2ZXJ3ZW5kZXQgd3VyZGUsIGFiZXIgdmVybnVlbmZ0aWdlIEhhcmR3YXJlIHVuZAp2ZXJudWVuZnRpZ2UgQmV0cmllYnNzeXN0ZW1lIHNvbGx0ZW4gZGEgX2tlaW5lXwpQcm9ibGVtZSBoYWJlbi4gCgpIb2VydCBzaWNoIHp1bWluZGVzdCBrb21pc2NoIGFuLCB3YXJ1bSBlaW4gUENJCmtvbmZsaWt0IChkZXIgamEgZWlnZW50bGljaCBwZXIgRGVmaW5pdGlvbiBuaWNodAphdWZ0cmV0ZW4gZHVlcmZ0ZSkgU0NTSSBQcm9ibGVtZSB2ZXJ1cnNhY2h0LgoKTWFnIHNlaW4sIGRhc3MgZGllc2VzIEJNLUlERSBzY2huZWxsZXIgaXMgYWxzIFNDU0ktSUksCmFiZXIgZGFzIGlzdCBqYSBhdWNoIG5pY2h0IGFrdHVlbGwuIAoKSWhyIG11ZXNzdCB3aXNzZW4gd2FzIElociB0dXQsIGFiZXIgbWVpbmUgRXJmYWhydW5nCnNhZ3QgbWlyOiBmaW5nZXIgd2VnIHZvbiBJREUsIGZpbmdlciB3ZWcgdm9uIHNlbHRzYW1lcgpIYXJkd2FyZSwgdW5kIFNDTlI6IGZpbmdlciB3ZWcgdm9uIExvc2l4IDotfQoKRXJuc3RoYWZ0OiB2aWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGVuIFNDU0ktS29udHJvbGxlciB1cGdyYWRlbgogIEljaCBuZWhtZSBtYWwgYW4sIGRhc3MgZXMgZWluIEFkYXB0ZWMsIE5DUiBvZGVyIEJ1c2xvZ2ljIGlzdCwKICBhbGxlcyBhbmRlcmUgaXN0IHZlcm11dGxpY2ggbmljaHQgdmVydHJhdWVuc3d1ZXJkaWcuCk9kZXIgZGllIE5ldHp3ZXJra2FydGUgaXN0IGtvbWlzY2gsIGJlaSBQQ0kgS2FydGVuCmZhZWxsdCBtaXIgYmVpIHZlcnRyYXVlbnN3dWVyZGlnZW4gSGVyc3RlbGxlcm4gbnVyCjNjb20gZWluLCBhYmVyIGRhIGtlbm4gaWNoIG1pY2ggenV3ZW5pZyBhdXMuCgpOYWphIElociB3aXNzdCBqYSwgbnVyIG1laW5lIHBlcnNvZW5saWNoZSAKTWVpbnVuZywgYWJlciB2b3IgSURFIGhhYiBpY2ggZWNodCBuZW4gCkhvcnJvci4gCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgTmV0endlcmtrYXJ0ZSAoQ2F0d2VhemxlLCAxNS4gTWFpIDE5OTgsIDIwOjIwOjQ0KToKfiMhIHJuPUppbWRpZ3JpeiBydD04OTUyNDIxODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTUxMjk4NTMKQWxzbyBEaWUgUHJvYmxlbWUgZGllIHdpciBtaXQgU0NTSSBoYWJlbiBzaW5kIDIgUGxhdHRlbiwgZGllIHNpY2ggbmljaHQgCmFtIGdsZWljaGVuIEJ1cyB2ZXJ0cmFnZW4sIGVpbmUgTmV0endlcmtrYXJ0ZSwgZGllIGltIFBDSS1CdXMgZGVuIFNDU0ktCkFkYXB0ZXIgdG9ldGV0IHVuZCBlaW5lbiBEcmVja3NBU1VTLVNDU0ktQ29udHJvbGxlciwgZGVyIGZ1ZXIgU0NTSS1GZWhsZXIgCnNvcmd0LgoKRHVyY2ggQXVzdGF1c2NoIGRlcyBBU1VTIG1pdCBlaW5lbSBBZGFwdGVjIGtsYXBwdCBqZXR6dCBhYmVyIGFsbGVzIHdpZWRlci4gCkRlciBSZWNobmVyIGJvb3RldCBtaXQgX2FsbGVuXyBQbGF0dGVuLCBkaWUgU0NTSS0gRmVobGVyIHNpbmQgd2VnLCB1bmQgc29nYXIKZGVyIGhhZW5nZW5kZSBJbnRlcnJ1cHQgdHJpdHQgbWl0IGRlciAxMDBNQml0LVBDSS1OZXR6a2FydGUgbmljaHQgbWVociBhdWYuIApXYXMgd2lsbCBtYW4gbWVocj8gOi0pCgpFaW5lIHNjaG5lbGxlcmUgUGxhdHRlIG5hdHVlcmxpY2gsIGRhcyBpc3QgamV0enQgbm9jaCBkYXMgbGV0enRlIElPLURldmljZSwKZGFzIGRlbiBSZWNobmVyIGF1c2JyZW1zZW4gKHZlcidsYWcnZW4pIGtvZW5udGUuIApEaWVzZSB3dW5kZXJzY2hvZW5lbiBuZXVlbiBCTUlERS1QbGF0dGVuIHZvbiBIUCBoYWJlbiB6d2FyIDcyMDAgVW1kcmVodW5nZW4sCnNpbmQgZGFmdWVyIGFiZXIgc2Nob2VuIHNjaG5lbGwuIE1pdCBCdXNNYXN0ZXItRE1BIHNvbGx0ZSBkaWUgUGxhdHRlIGF1Y2gKa2VpbmUgdWVibGljaGVuIFByb3plc3Nvci1Qcm9ibGVtZSBrcmllZ2VuLCB3aWUgRGVmYXVsdC1FSURFLVBsYXR0ZW4uCkFVc3NlcmRlbSBpc3QgZGllIFNDU0ktSW5zdGFsbGF0aW9uIGluIE1HIHNjaG9uIHppZW1saWNoIGtyYW5rLi4uCgpCZWltIGRlciBGcmFnZSBuYWNoIGVpbmVtIGVjaHRlbiBHZXNjaHdpbmRpZ2tlaXRzdm9ydGVpbCB2b24gU0NTSSBnZWdlbnVlYmVyIApJREUgYmluIGljaCB1ZWJlcmZyYWd0LCBpbSBEZXRhaWwgbXVlc3N0ZXN0IER1IGRhIG1hbCBKb2YgZnJhZ2VuLCBhYmVyIGRlciAKaGFzc3QgU0NTSSBhYmdydW5kdGllZiB1bmQgaXN0IGRhIGV0d2FzIHZvcmVpbmdlbm9tbWVuIDopIEljaCBmdWVyICBtZWluZW4KVGVpbCBoYWJlIG1hbCBnZWxlcm50LCBkYXMgU0NTSSBiZWkgc3RhcmtlciBMYXN0IGJlc3NlciBpc3QgYWxzIElERSAoaW1tZXIKdm9ycmF1c2dlc2V0enQsIGVzIGlzdCB2ZXJudWVuZnRpZyBlaW5nZXJpY2h0ZXQgOi0pLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlIE5ldHp3ZXJra2FydGUgKEpvZiwgMTUuIE1haSAxOTk4LCAyMDoyMToyMCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODk1MjQyMTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTI5ODUzCkVzIHdhciBlaW4gTkNSIHNvd2llIGVpbiBBZGFwdGVjOyBkZXIgTkNSIHdhciBsZWlkZXIgZGVyIFNDMjAwIHZvbiBBU1VTLApkZXIgaXN0IHppZW1saWNoIG1pZXMgLi4uCgogRXMgc2luZCAyIFNDU0ktQ29udHJvbGxlciwgd2VpbCBkaWUgYmVpZGVuIFBsYXR0ZW4gKGVpbmUgSUJNIHVuZCBlaW5lIEhQKQprZWluZXNmYWxscyBiZXJlaXQgd2FyZW4sIGxhZW5nZXJlIFplaXQgYW4gRUlORU0gU0NTSS1CdXMgenUgbGF1ZmVuLgogRGllIFByb2JsZW1lIGF1ZiBkZW0gU0NTSS1CdXMgdHJhdGVuIGF1Y2ggc2Nob24gdm9yIGRlbSBFaW5iYXUgZGVyIE5ldHotCmthcnRlIGF1ZiwgYmxvc3MgbmljaHQgc28gZ2VoYWV1ZnQgLi4uCgogWnVtIFRoZW1hIExpbnV4IHZzLiBGcmVlQlNFOiBsZXR6dGVyZXMgbGllZiBiaXMgdm9yIGNhIDEuNSBKYWhyZW4gYXVmCmRlbSBSZWNobmVyOyBkYW5uIGthbWVuIGRpZSBTQ1NJLVByb2JsZW1lLCB1bmQgd2lyIHNpbmQgYXVmIExpbnV4IHVtLQpnZXN0aWVnZW4uIFZvbiBkZXIgU3RhYmlsaXRhZXQgaGVyIHdhciBkYXMgZWluIEZvcnRzY2hyaXR0LCBuZWJlbiBkZXIgVGF0LQpzYWNoZSwgZGFzIHVudGVyIEJTRCBvZWZ0ZXIgbWFsIENyYXNocyB6dSB2ZXJ6ZWljaG5lbiB3YXJlbiBhbHMgdW50ZXIgTElOVVgKc2NoZWludCBkYXMgZXh0MmZzIGRlbSBic2QtZmZzIGluIFB1bmt0byAiQ3Jhc2gtU3RhYmlsaXRhZXQiIGVpbmlnZXMgdm9yLQphdXMgenUgaGFiZW47IGRpZSBDcmFzaGVzIHVudGVyIEJTRCBoYWJlbiBvZWZ0ZXIgbWFsIHp1IHZlcmxvcmVuZW4gRmlsZXMKZ2VmdWVocnQsIHdlbm4gbWFuIGRlbSBMaW51eCBkZW4gU3Ryb20gd2VnZ2Vub21tZW4gaGF0LCBvaG5lIGVzIHZvcmhlcgpydW50ZXJ6dWZhaHJlbiwgaXN0IGRhcyBuaWNodCBwYXNzaWVydCAoa2FubiBhdWNoIGFuIGRlciBldHdhcyBhbmRlcmVuCkNhY2hlLVN0cmF0ZWdpZSBsaWVnZW4sIGRpZSBiZWkgTGludXggZ2VmYWhyZW4gd2lyZCwgYXN5bmMgdnMgc3luYykuCgogR2VnZW4gbmUgRUlERS1QbGF0dGUgc3ByaWNodCBtZWluZXMgRXJhY2h0ZW5zIG5pY2h0IHZpZWwsIExpbnV4IGthbm4KYXVmIGRlbSBCb2FyZCBnZWVpZ25ldGUgRUlERS1QbGF0dGVuIHBlciBCTS1JREUgYmVkaWVuZW4sIHNvIGRhc3MgZGllCkNQVSBuaWNodCBtZWhyIHp1IHR1biBoYXQgYWxzIGJlaSBTQ1NJIGF1Y2gsIHVuZCBkaWUgWmVpdGVuLCB3byBkaWUKSGlnaC1FbmQtUGxhdHRlbiBtaXQgaG9oZW4gVWViZXJ0cmFndW5nc3JhdGVuIHVuZCB2aWVsIENhY2hlIG51ciBhbHMgU0NTSS0KVmFyaWFudGUgdmVyZnVlZ2JhciB3YXJlbiBsaWVnZW4gc2Nob24gbGFuZ2UgenVydWVjay4gTUcgaGF0IDIgUGxhdHRlbiB1bmQKa2VpbmUgU3RyZWFtZXIgb2RlciBhZWhubGljaGVzLCB3dWVyZGUgaGV1dGUgbm9jaCBtYWwgZWluIFN5c3RlbSBmdWVycwpNVUQgYW5nZXNjaGFmZnQsIHd1ZXJkZSBpY2ggbWljaCBqZWRlbmZhbGxzIG5hY2ggZGVuIEVyZmFocnVuZ2VuIGRlcgpsZXR6dGVuIDMgSmFocmUgbWl0IEhhZW5kZW4gdW5kIEZ1ZXNzZW4gZ2VnZW4gU0NTSSB3ZWhyZW4gdW5kIGxpZWJlcgphdWYgZGVuICJ3ZWxsIHRlc3RldCBNYWluc3RyZWFtIiwgc3ByaWNoIEVJREUsIHNldHplbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgU2NyaXB0ZS1IaWxmZSAoRGFyaWEsIDE3LiBNYWkgMTk5OCwgMTk6MDE6NTApOgpIaSBhbGwsCmljaCBob2ZmZSwgZGllIFJ1YnJpayBpc3Qgb2suCgpJY2ggaGFiIGdyYWRlIGRpZSBuZXVlIFNjcmlwdGUtSGlsZmUgZ2VsZXNlbi4KSWNoIGJpbiB6d2FyIG5pY2h0IGdlcmFkZSBuZXUgaW0gTXVkLAphYmVyIGljaCBmaW5kZSBzaWUgdHJvdHpkZW0gZWluIHdlbmlnIHVudmVyc3RhZW5kbGljaC4KCkJlc29uZGVycyBkZXIgVGVpbCBtaXQgImFuZGVyZSBTY3JpcHRlLCBUcmlnZ2VycywgS2V5LVJpbmdzIi4KKERpZSBiZWlkZW4gbGV0enRlbi4uLiBpY2ggd2Vpc3MgZ2FyIG5pY2h0LCB3YXMgZGFzIGhlaXNzdC4uLikKCkFiZXIgZGVyIFRlaWwgbWl0IGRlbSAid2VyIG5pY2h0IHJlYWdpZXJ0Li4uIiwgd2FzIGhlaXNzdCBkYXMgZ2VuYXU/Cldlbm4gaWNoIGdyYWQgbWFsIGVpbmVuIFRlZSBob2xlIHVuZCAyIE1pbnV0ZW4gbmljaHQgcmVhZ2llcmUsIHdlcmRlIGljaApkYW5uIGF1Y2ggcmF1c2dlc2NobWlzc2VuPyBXYWhyc2NoZWlubGljaCBuaWNodCwgYWJlciBpY2ggZmluZGUgZGllc2VuIFRlaWwKc2VociAKdW52ZXJzdGFlbmRsaWNoIGdlc2NocmllYmVuLiBCZXNvbmRlcnMgTmV1bGluZ2Ugd2VyZGVuIGdhciBuaXggdmVyc3RlaGVuLgoKWnVyIEtsYXJzdGVsbHVuZzogSWNoIGZpbmQgZWRpZSBnYW56ZSBTYWNoZSBndXQsIGFiZXIgZGllIEhpbGZlCnNvbGx0ZSBub2NobWFsIHVlYmVyYXJiZWl0ZXQgd2VyZGVuLgoKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlbGRib2Vyc2UuIChEZWVwYmx1ZSwgMTkuIE1haSAxOTk4LCAwNzozODo0Myk6Cn4jISBybj1QYWRyZWljIHJ0PTg5NTE4MDg1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NTE1MDYxNApTZWggaWNoIGFuZGVycy4gRGllIEdlbGRib2Vyc2UgaXN0IGtlaW4gVGVpbCBkZXIgTXVkbGliLCB1bmQgZGllIGZrdGlvbiBpc3QKb2JqZWt0YWJoYWVuZ2lnLiBBbHNvIGdlaG9lcnQgZGFzIGluIGRhcyBPYmpla3QKT2JlcmxlZXJlciBEZWVwYmx1ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IG1hcmdvdGggKEZ5dCwgMTkuIE1haSAxOTk4LCAwOTo1ODowMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk1MDUyMTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODkzOTU4MjI5CgpGYWxzY2gsIEdyaW1tYm9ybi4KCkVyIGthbm4gYXVjaCBiZWlkZXMgbmljaHQgdmVyc3RhbmRlbiBoYWJlbi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlaWxlbWl0IGxlaWNodCB1ZWJlcmxlc2JhciAoTWFyaXRhLCAyMC4gTWFpIDE5OTgsIDIyOjE0OjAwKToKSGksCmF1Y2ggd2VubidzIGthdW0genUgZ2xhdWJlbiBpc3QsIGVzIGdpYnQgbm9jaCBMZXV0ZSwgZGllIG1pdCByZWluZW0gVGVsbmV0CmhpZXIgc2luZCB1bmQgZGVzaGFsYiBFaW4tIHVuZCBBdXNnYWJlbiBnZW1pc2NodCBzZWhlbiwgdm9lbGxpZyB1bmZvcm1hdGllcnQuCkRhZHVyY2ggaXN0IGVzIGxlaWNodCBtb2VnbGljaCwgTmFjaHJpY2h0ZW4gdm9uIGFuZGVyZW4gU3BpZWxlcm4genUKdWViZXJsZXNlbi4gSWNoIGJpbiBnZXdvaG50LCBhdWYgdGVpbGUtbWl0IGF1Y2ggenUgYW50d29ydGVuLCB1bmQgZGFzIGR1ZXJmdGUKYXVmIHZpZWxlIG1laW5lciBMZWlkZW5zZ2Vub3NzZW4gYXVjaCB6dXRyZWZmZW4uIEljaCBtb2VjaHRlIGRhcmF1ZiBoaW53ZWlzZW4sCndlaWwgTGV1dGUgbWl0IGdldHJlbm50ZW4gRmVuc3Rlcm4gc2ljaCBkYXMgc2ljaGVyIGthdW0gbm9jaCB2b3JzdGVsbGVuCmtvZW5uZW4uIERpZSBHZWZhaHIgZGVzIFVlYmVybGVzZW5zIGlzdCBpbiBTdHJlc3NzaXR1YXRpb25lbiBtaXQgdmllbApJbnRlcmFrdGlvbiBiZXNvbmRlcnMgaG9jLiBKZWRlbmZhbGxzIHN0ZWNrdCBrZWluZSBib2VzZSBBYnNpY2h0IGRhaGludGVyLgpNYXJpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWUgTmV0endlcmtrYXJ0ZSAoU211cmYsIDIzLiBNYWkgMTk5OCwgMDU6MDM6NDUpOgp+IyEgcm49Sm9mIHJ0PTg5NTI1NjQ4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NTEyOTg1MwpOYWphLCBhbmRlcmUgTGV1dGUgaGFiZW4gc2VpdCA1IEphaHJlbiBTQ1NJIGluIGlocmVuIFNlcnZlcm4gdW5kCnNvbGNoZSBQcm9ibGVtZSBkZWZpbml0aXYgTklDSFQuIAoKVW5kIHdlbm4gaWNoIG1pciBzbyBhbnNlaGUsIHdhcyB6QiBkaWUgYyd0IGluIGplZGVyIHp3ZWl0ZW4gQXVzZ2FiZQp1ZWJlciBkaWUgdGVjaG5pc2NoZSBVbnNpbm5pZ2tlaXQgbmFtZW5zIElERS1JbnRlcmZhY2Ugc2NocmVpYnQsCnd1bmRlcmUgaWNoIG1pY2ggZHVyY2hhdXMsIHdpZXNvIGRlciBLcmFtIHVlYmVyaGF1cHQgc3RhYmlsCmZ1bmt0aW9uaWVyZW4ga2Fubi4KClNtdXJmLCBhbmRlcmVyIE1laW51bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWUgTmV0endlcmtrYXJ0ZSAoSm9mLCAyMy4gTWFpIDE5OTgsIDE5OjU3OjEzKToKfiMhIHJuPVNtdXJmIHJ0PTg5NTg5MjYyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NTEyOTg1MwoKIE5pY2h0c2Rlc3Rvd2VuaWdlciBzaW5kIGRpZSB0ZWNobmlzY2hlbiBVbnRlcnNjaGllZGUgendpc2NoZW4gU0NTSSB1bmQKRUlERSBzcGFldGVzdGVucyBzZWl0IFVsdHJhLURNQSBhdWYgZWluIE1pbmltdW0genVzYW1tZW5nZXNjaHJ1bXBmdCAtCmltIHdlc2VudGxpY2hlbiBkaWUgbWF4aW1hbGUgQW56YWhsIHZvbiBHZXJhZXRlbiB2b24gNyBiencgMTUgZGllIGljaApiZWkgU0NTSSBhbiBlaW5lbiBCdXMgYW5zY2hsaWVzc2VuIGthbm4uIEFiZXIgZGFzIGlzdCBiZWkgZGVuIGJlaSBVbHRyYS0KU0NTSSB6dWxhZXNzaWdlbiBtYXhpbWFsZW4gS2FiZWxsYWVuZ2VuIHdvaGwgd2lya2xpY2ggbnVyIHZvbiB0aGVvLQpyZXRpc2NoZXIgQmVkZXV0dW5nIC4uLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV1ZSBOZXR6d2Vya2thcnRlIChTbXVyZiwgMjQuIE1haSAxOTk4LCAxNDoyODo0NSk6Cn4jISBybj1Kb2YgcnQ9ODk1OTQ2MjMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk1MTI5ODUzCkFoZW0sIFVsdHJhLVNDU0kga2FubiBkdXJjaGF1cyBsYWVuZ2VyZSBLYWJlbCwgc2llIG11ZXNzZW4gbnVyCmRpZmZlcmVudGllbGwgZ2V0cmllYmVuIHdlcmRlbi4KCkRlbWdlZ2VudWViZXIgaGF0IEVJREUgaW0gTm9ybWFsZmFsbCBub2NoIG5pY2h0bWFsIGVpbmVuCnRlcm1pbmllcnRlbiBCdXMuCldpbGwgaWNoIGRhcz8gTmVpbi4gV29sbGVuIGFuZGVyZSBkYXM/IE9mZmVuc2ljaHRsaWNoLi4uCi4uLiBhbHNvIGJlZW5kZW4gd2lyIGRhcyBUaGVtYS4uLiBlcyB1ZWJlcnpldWd0IGVoIGtlaW5lciBkZW4gYW5kZXJlbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpbVEVBTTpUb2QgZGVtIGRpZSgpXSAoU2hhcmlhLCAyNy4gTWFpIDE5OTgsIDE2OjA4OjI5KToKClVuZCB3aWVkZXJtYWwgZWluIE5QQyBtZWhyIGRlciBtYWwgbG9ja2VyIGR1cmNoIGRpZSBHZWdlbmQgemFwcHQuLi4uLiB0cmF1cmlnCnRyYXVyaWcgLi4uLgpJY2ggdmVyc3RlaGUgYXVjaCBpcmdlbmR3aWUgbmljaHQgd2llc28gaW1tZXJub2NoIE5QQyBhbmdlc2NobG9zc2VuIHdlcmRlbiwKZGllIGVpbiBlaW5mYWNoZXMgZGllKCkgYXVmcnVmZW4gLi4gKGRhcyBnbGVpY2hlIGdpbHQgZnVlciByYWV1bWUpLi4uIApqZWRlciBpbnN0YW50IFRvZCBNVVNTIG5pY2h0IHNlaW4gdW5kIGljaCBkZW5rZSBtYW4gc29sbHRlIHNvZXR3YXMgdm9uCnZvcm5laGVyZWluIG5pY2h0IGFuc2NobGllc3NlbiAuLiB1bmQgd2VubiBkYW5uIGF1Y2ggdm9uIEFORkFORyBhbiBlaW5lbgpPRkZFTlNJQ0hUTElDSEVOIFNjaHV0eiBkYWdlZ2VuIC4uLiAKClNvIHNjaGxpZXNzdCBldWNoIGFsc28gYW46CgpbVEVBTTpUb2QgZGVtIGRpZSgpXSBTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoTmViLCAyNy4gTWFpIDE5OTgsIDE2OjIzOjAzKToKfiMhIHJuPVNoYXJpYSBydD04OTYyNzgxMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKQUxzbyBpY2ggamVkZW5mYWxscyB3ZXJkZSBkaWUgbmV1ZSBXdWVzdGVucnVpbmUgYm95a290dGllcmVuLCBzbyBsYW5nZSBlcyBkYQpOUENzIG1pdCBkaWUoKSBvaG5lIHZvcmhlcmlnZSBXYXJudW5nIHVuZCBvZmZlbnNpY2h0bGljaGVtIFNjaHV0eiBkYXZvciBnaWJ0LApkZW5uIGF1ZiBkaWVzZSBSdWluZSBiZXppZWh0IHNpY2ggU2hhcmlhcyBBcnRpa2VsLCB1bmQgaG9mZmUsIGRhc3Mgc2ljaCBkaWVzZW0KQm95a290dCBtb2VnbGljaHN0IHZpZWxlIExldXRlIGFuc2NobGllc3NlbiwgdmllbGxlaWNodCBhZW5kZXJ0IHNpY2ggZGFubiB3YXMKYW4gZGVyIEVpbnN0ZWxsdW5nIGRlciBNYWdpZXIgenVtIGRpZSgpLCBkZW5uIG5peCBpc3QgZnVlciBlaW5lbiBNYWdpZXIKc2NobGltbWVyIGFscyBlaW4gZ2ViaWV0LCBkYXNzIG5pY2h0IGFuZ2VzY2hhdXQgd2lyZCAoZGVua2UgdW5kIGhvZmZlIGljaApqZWRlbmZhbGxzKS4KCk5lYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogW1RFQU06VG9kIGRlbSBkaWUoKV0gKFRyZWthbiwgMjcuIE1haSAxOTk4LCAxNjoyNDowNSk6Cn4jISBybj1OZWIgcnQ9ODk2Mjc4OTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5ClRyZWthbiBoZWJ0IGRpZSBIYW5kIHVuZCBzY2hsaWVzc3Qgc2ljaCBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogW1RFQU06VG9kIGRlbSBkaWUoKV0gKEFyaywgMjcuIE1haSAxOTk4LCAxNjozMDozOSk6Cn4jISBybj1OZWIgcnQ9ODk2Mjc4OTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkVzIGdpYnQgZWluZSBXYXJudW5nLCBiYXN0YSEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoR2xvaW5zb24sIDI3LiBNYWkgMTk5OCwgMTY6MzU6NDApOgp+IyEgcm49QXJrIHJ0PTg5NjI3OTQzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpIb2hvaG8uIFdhcyBmdWVyIGVpbmUgQW50d29ydC4gRGFzIGhhZXR0ZSBpY2ggbmljaHQgZXJ3YXJ0ZXQsIG5hY2hkZW0gaWNoCnZvbiBEZWluZW4gcGhhbnRhc2lldm9sbGVuIEJlc2NocmVpYnVuZ2VuIHNvIGJlZ2Vpc3RlcnQgd2FyLiBLb21tIG1hbAp6dXJ1ZWNrIGF1ZiBkZW4gVGVwcGljaCwgQXJrLiBBbSBiZXN0ZW4sIGxlZyBEaXIgZWluZW4gWndlaXRzcGllbGVyIHp1LAp2aWVsbGVpY2h0IHZlcnN0ZWhzdCBEdSB1bnMgU3BpZWxlciBkYW5uIHdpZWRlci4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoU2hhcmlhLCAyNy4gTWFpIDE5OTgsIDE2OjM2OjI4KToKfiMhIHJuPUdsb2luc29uIHJ0PTg5NjI3OTc0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQplciBoYXQgbmVuIFp3ZWl0aSAuLi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFtURUFNOlRvZCBkZW0gZGllKCldIChBcmssIDI3LiBNYWkgMTk5OCwgMTY6Mzk6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODk2Mjc5NzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5Ck5lLCBkYXMgc29sbHRlIGpldHp0IG5pY2h0IHBhbXBpZyBvZGVyIGJlbGVpZGlndCBrbGluZ2VuLCBiZWlsZWliZSBuaWNodC4KRmFrdCBpc3QsIGRhc3MgZXMgZWluZSBXYXJudW5nIGdpYnQsIGJldm9yIGhpZXIgd2llZGVyIEdlcnVlY2h0ZSBydW1zY2h3aXJyZW4sCmJldWcgaWNoIGRlbSBtYWwgbGllYmVyIHZvci4gSWNoIGhhYiBkYXMgRGluZyB3aXJrbGljaCBhdXNnaWViaWcgZ2V0ZXN0ZXQsCnVuZCBpY2ggaGFiIGVpbmVuIFp3ZWl0c3BpZWxlciwgbWl0IGRlbSBpY2ggYXVjaCBzcGllbGUuCkdsYXViIG1pciwgaWNoIGFscyBNYWdpZXIgZXJpbm5lcmUgbWljaCBhdWNoIG5vY2ggYW4gZGllIFNwaWVsZXJ6ZWl0LgpBbHNvIG5peCBmdWVyIHVuZ3V0IGZ1ZXIgZGllIGt1cnplIEFudHdvcnQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogW1RFQU06VG9kIGRlbSBkaWUoKV0gKFNoYXJpYSwgMjcuIE1haSAxOTk4LCAxNjo0MDo0Nyk6Cn4jISBybj1TaGFyaWEgcnQ9ODk2Mjc5Nzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CnVudCBjb2NrYXRyaWNlCkR1bmtlbGJsYXUgc2NoaW1tZXJuIGRpZSBGZWRlcm4gZGVyIENvY2thdHJpY2UgaW0gaGVsbGVuIFNvbm5lbmxpY2h0LiBEaWVzZXMKRmFiZWx3ZXNlbiBiZXNpdHp0IGRlbiBldHdhcyB2ZXJ1bnN0YWx0ZXRlbiBLb2VycGVyIGVpbmVzIGdpZ2FudGlzY2hlbiBIYWhucy4KRGVyIEthbW0gYXVmIGRlbSBLb3BmIGxldWNodGV0IGhlbGxyb3QsIHdpZSBhbHMgV2FybnVuZyBhbiBhbGxlLCBkaWUgaWhyIHp1Cm5haGUga29tbWVuIGtvZW5udGVuLiBOZXJ2b2VzIGJsaWNrc3QgRHUgYXVmIGRpZSBnZWZhZWhybGljaGVuIEtyYWxsZW4gdW5kIGRlbgpzY2h3YXJ6ZW4gU2NobmFiZWwsIGRlciwgc28gZGllIExlZ2VuZGVuLCB2aWVsZW4gdW52b3JzaWNodGlnZW4gQWJlbnRldXJlcm4KZGVuIFVudGVyZ2FuZyBicmFjaHRlLgouICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUKU2llIHRyYWVndCBiZWkgc2ljaDoKRGllIEZlZGVyIGVpbmVyIENvY2thdHJpY2UuCkR1IHJpY2h0ZXN0IERlaW4gS2VyYmhvbHogYXVmIGVpbmUgQ29ja2F0cmljZSwgZXMgcGFzc2llcnQgbmljaHRzLgpEaWUgQ29ja2F0cmljZSBpc3Qgc3RhZXJrZXIgYWxzIER1LgpEaWUgUnVlc3R1bmcgZGVyIENvY2thdHJpY2UgaXN0IGJlc3NlciBhbHMgRGVpbmUuCkRpZSBXYWZmZSBkZXIgQ29ja2F0cmljZSBpc3QgZXR3YXMgYmVzc2VyIGFscyBEZWluZS4KRGllIENvY2thdHJpY2UgaXN0IGV0d2EgODhjbSBncm9zcy4KRHUgdmVydGllZnN0IERlaW5lIEdlZGFua2VuIGluIGVpbmUgQ29ja2F0cmljZSB1bmQgdmVyZ2lzc3QgZnVlciBrdXJ6ZSBaZWl0CmFsbGVzIHVtIERpY2ggaGVydW0uLi4KRGllIENvY2thdHJpY2UgaXN0IGVpbiBMZWJld2VzZW4uClNpZSBpc3QgZ2VnZW4gR2lmdHNjaGFkZW4gdm9lbGxpZyBpbW11bi4KU2llIGlzdCBnZWdlbiBGZXVlcnNjaGFkZW4gZXR3YXMgcmVzaXN0ZW50LgpTaWUgaXN0IGdlZ2VuIEthZWx0ZXNjaGFkZW4gdW5kIEx1ZnQobWFuZ2VsKXNjaGFkZW4gZXR3YXMgYW5mYWVsbGlnLgoKU29uc3Qga2FubnN0IER1IG5pY2h0cyBiZXNvbmRlcmVzIGFuIGRlciBDb2NrYXRyaWNlIGVya2VubmVuLgpEaWUgQ29ja2F0cmljZSBnZWhvZXJ0IGluIGRlbiBWZXJhbnR3b3J0dW5nc2JlcmVpY2ggdm9uIDogQXJrLgoKU2hhcmlhIHN1Y2h0IGRpZSBXYXJudW5nIHZvciBkZW0gZGllKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFtURUFNOlRvZCBkZW0gZGllKCldIChTaGFyaWEsIDI3LiBNYWkgMTk5OCwgMTY6NDI6NDcpOgp+IyEgcm49U2hhcmlhIHJ0PTg5NjI4MDA0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpzb28gdW5kIG5vY2huIGFydGlrZWwgOi0pCgpJY2ggbWVpbmUgZGFtaXQgYXVjaCBuaWNodCBzcGV6aWVsbCBERUlORSBiZWlkZW4gTlBDIEFyayBzb25kZXJuIGdlbmVyZWxsCmplZGVzIGRpZSgpICh1bmQgZGFtaXQgbWVpbmUgaWNoIGRpZSBpbnN0YW50IGRpZSgpcyB1bmQgbmljaHQgZGFzcyBkaWUoKSB3YXMKbWFuIGdlbmVyZWxsIGJyYXVjaHQgenVtIHN0ZXJiZW4pCgpzY2hhZmZ0IHNvd2FzIGVpbmZhY2ggYWIgdW5kIGRhbm4gaXN0IGRvY2ggYXVjaCBydWhlIDotKQoKU2hhcmlhIHNhZ3Q6IFRvZCBkZW0gZGllKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFtURUFNOlRvZCBkZW0gZGllKCldIChCb2luZywgMjcuIE1haSAxOTk4LCAxNjo0NToyNCk6Cn4jISBybj1TaGFyaWEgcnQ9ODk2MjgwMDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5Cldlbm4gZHUgZGFzIHNlbGJlIGJlaSBXYXRlciBMdWggbWFjaHN0LCBkYW5uIHdpcnN0IER1IGRvcnQgYXVjaAprZWluZSBXYXJudW5nIGVya2VubmVuIGtvZW5uZW4uIEljaCBrZW5uZSBkaWUgU2l0dWF0aW9uIG5pY2h0IHVuZAp3ZWlzcyBuaWNodCwgb2IgZXMgaW4gZGVyIFVtZ2VidW5nIGVpbmUgZW50c3ByZWNoZW5kZSBXYXJudW5nIGdpYnQsCmFiZXIgYW5zY2hhdWVuLCBlaW5zY2hhZXR6ZW4gdW5kIGlkZW50aWZpemllcmVuIGFsbGVpbmUgbXVzcyBuaWNodAphdXNyZWljaGVuZCBzZWluLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoU2hhcmlhLCAyNy4gTWFpIDE5OTgsIDE2OjQ4OjM0KToKfiMhIHJuPUJvaW5nIHJ0PTg5NjI4MDMyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQphbHNvIGljaCBoYWIgaW4gZGVyIHVtZ2VidW5nIGtlaW5lIGVudHNwcmVjaGVuZGUgd2FybnVuZyBnZXNlaGVuIC4uLiBhY2hqYQphdXNzZXJkZW0gaXNzZXMgYmVpIFdhdGVyIEx1aCBhdWNoIGV0d2FzIGFuZGVyZXMsIGRhIG1hbiBkb3J0IGF1Y2ggYW4gRUlOSUdFTgphbmRlcmVuIE5QQyB2b3JiZWltdXNzIHVuZCBuaWNodCBlaW5mYWNoIHNvIGRvcnRoaW4gZ2VsYW5nZW4ga2FubgoKZXMgZ2VodCBtaXIgaGFsdCBnZW5lcmVsbCB1bSBkYXNzIGRpZSgpIG9obmUgZWluZW4gc2NodXR6IChpY2ggd2Vpc3MsIEFyayB3aWxsCmphIGpldHp0IGVpbmVuIGVpbmJhdWVuKSBhYmVyIGljaCBmcmFnZSBtaWNoLCB3aWVzbyBtYW4gbmljaHQgYXVmIGFuZGVyZSBuZXR0ZQpmZWF0dXJlcyB6dXJ1ZWNrZ3JlaWZlbiBrYW5uIC4uLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogW1RFQU06VG9kIGRlbSBkaWUoKV0gKEFyaywgMjcuIE1haSAxOTk4LCAxNjo0OToxMik6Cn4jISBybj1TaGFyaWEgcnQ9ODk2MjgwMDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkRhIGhhbSB3aXJzIGphIHNjaG9uLCBkZXRhaWxzIGhhc3QgZHUgbmljaHQgdW50ZXJzdWNodCA6KQpOYWphLCBpY2ggaGFiIHNpZSBqZXR6dCBldHdhcyBlbnRzY2hhZXJmdCwgYWJlciBzaWUga2FubiBpbW1lciBub2NoCmdlZmFlaHJsaWNoCndlcmRlbiwgdW1zb25zdCBpc3QgZGVyIFRvZCA6KQpBdWYgamVkZW4gRmFsbCByZWljaHQgZWluIEtlcmJob2x6IHp1bSBFaW5zY2hhZXR6ZW4gTklDSFQgZWluICEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoTW9yZ290aCwgMjguIE1haSAxOTk4LCAxMDoxMTo1NCk6Cn4jISBybj1TaGFyaWEgcnQ9ODk2MjgwMDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkRpZSBsZXR6dGUgWmVpbGU6Li4uLi4uLi4gOiBBcmsuCk0qIDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFtURUFNOlRvZCBkZW0gZGllKCldIChTaWx2YW5hLCAyOS4gTWFpIDE5OTgsIDAwOjUwOjA3KToKfiMhIHJuPVNoYXJpYSBydD04OTYyODAwNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKQWxzbyBpY2ggc2VoIGRpZSBXYXJudW5nIHNlaHIgZGV1dGxpY2guIE1hbiBiZXN0cmFjaHRlIGRpZSBaZWlsZToKRGllIENvY2thdHJpY2UgZ2Vob2VydCBpbiBkZW4gVmVyYW50d29ydHVuZ3NiZXJlaWNoIHZvbiA6IEFyay4KCldhcyBhbHNvIGJyYXVjaHN0IER1IG5vY2ggbWVociBhbHMgV2FybnVuZz8gOy0pCgogIFNpbHZhbmEtPnNjaG1hcnJuKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFtURUFNOlRvZCBkZW0gZGllKCldIChMdWcsIDI5LiBNYWkgMTk5OCwgMDA6NTE6MDcpOgp+IyEgcm49U2lsdmFuYSBydD04OTYzOTU4MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKSG1wZiwKCmRhIGhpZXNzIGVzIG1hbCBUb2Rlc2ZhbGxlbiBzb2xsZW4gYWJnZXNjaGFmZnQgd2VyZGVuLiBaYXBwZW5kZSBNb25zdGVyIHNpbmQKZG9jaCBuaXggYW5kZXJlcy4uLgoKRmlkS0cKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoWnVlcmlsZXUsIDI5LiBNYWkgMTk5OCwgMDg6Mzk6MzMpOgp+IyEgcm49THVnIHJ0PTg5NjM5NTg2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpIaSwKQWNoIGtvbW0sIFRvZGVzZmFsbGVuIGdlaG9lcmVuIGRvY2ggenVtIFNwaWVsLiBpc3QgamEgbmljaHQgbWVociBsdXN0aWcgb2huZQooZnVlciB1bnMgTWFnaWVyKSA9OikuIEFiZXIgZWluZSBndXRlIFdhcm51bmcsIGthbm4gamEgZWluIGtsZWluZXIgaGlud2VpcwpvZGVyIHNvIHNlaW4sIHNvbGx0ZSBlcyBzY2hvbiBzZWluLiBOYWphLCBkaWUgZGlzc2t1c2lvbiBoYXR0ZW4gd2lyIHNjaG9uLAphbHNvIHdpcmQgd2Fyc2NoZWlubGljaCBhdWNoIG5pY2h0cyBuZXVlcyBkYWJlaSByYXVzIGtvbW1lbi4gPTopCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFtURUFNOlRvZCBkZW0gZGllKCldIChBcmssIDI5LiBNYWkgMTk5OCwgMDg6NTU6MjcpOgp+IyEgcm49U2lsdmFuYSBydD04OTYzOTU4MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKQWVoLCBoYWIgaWNoIGpldHp0IHNjaG9uIG5lbiBSdWYgd2VnPyEgLi4uIHVyZ3MsIHZlcnNjaC4uLgpOYWphLCBub2NoIG1hbCB6dSBkZW4gQXJ0aWtlbG4gdm9uIFNoYXJpYS4gRXJzdCBoYWIgaWNoIG1pciBuaXggZHJhdXMKZ2VtYWNodCwgYWJlciBpcmdlbmR3aWUgYWVyZ2VydCBlcyBtaWNoIHNjaG9uIGV0d2FzLCBkYXNzIERVIGFscywgbmFqYSwKZWluZmx1c3NyZWljaGVyZXIgU3BpZWxlciBIYWxid2FocmhlaXRlbiB2ZXJicmVpdGVzdCwgd2VpbCBEdSBnZXN0b3JiZW4KYmlzdCB1bmQgZGFtaXQgZG9jaCBlaW5lbiBHcm9zc3RlaWwgZGF2b24gYWJoYWVsdHN0LCBtZWhyIGhlcmF1c3p1ZmluZGVuLgpTbyBlaW4gQm95a290dCBpc3QgZG9jaCBuaWNodCBmYWlyIGRlbiBNYWdpZXJuIGdlZ2VudWViZXIuIEljaCBoYWJlIGRpZQpDb2NrYXRyaWNlLCB3aWUgYW5nZWt1ZW5kaWd0LCBfZXR3YXNfIGVudHNjaGFlcmZ0IChEYW5rZSBQYXRyeW4sIGRhcyB3YXIKa29uc3RydWt0aXYpLCBmdWVyY2h0ZSBhYmVyLCBkYXMgS2luZCBpc3QgaW0gQnJ1bm5lbiBzY2hvbiBhYmdlc29mZmVuLgpXYXIgZXMgZGFzLCB3YXMgbWFuIGVycmVpY2hlbiB3b2xsdGUuIEljaCBmaW5kZSBlcyBzY2hhZGUsIGdlcmFkZSB3ZWlsIGljaAptZWluZSwgbWFuIGthbm4gZHVyY2hhdXMgbWl0IG1pciByZWRlbiAoYWxsZXJkaW5ncyBuaWNodCB1ZWJlciBkaWUgTVBBKS4KSWNoIGhhYmUgbmljaHRzIGRhZ2VnZW4sIHdlbm4gbWFuIHNlaW5lIE1laW51bmcgYXVmIE5hY2hmcmFnZSBrdW5kdHV0LAphYmVyIG9lZmZlbnRsaWNoIGdsZWljaCB6dW0gQm95a290dCBhdWZ6dXJ1ZmVuLCBpc3Qgd29obCB1ZWJlcnpvZ2VuLgpHZWdlbnN0aW1tZW4/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogW1RFQU06VG9kIGRlbSBkaWUoKV0gKEdyaW1tYm9ybiwgMjkuIE1haSAxOTk4LCAwOTo1NzoyNyk6Cn4jISBybj1BcmsgcnQ9ODk2NDI0OTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkdlZ2Vuc3RpbW1lLgpXZXIgemFwcGVuZGUgTW9uc3RlciBlaW5iYXV0IHVuZCBzaWNoIGRhbm4gZGFydWViZXIgd3VuZGVydCB3ZW5uIFNwaWVsZXIKYW5kZXJlIGRhdm9yIHdhcm5lbiBrYW5uIGRhcyBkb2NoIG5pY2h0IHdpcmtsaWNoIGVybnN0IG1laW5lbiwgb2Rlcj8KRGVpbmUgQXJndW1lbnRhdGlvbiBsYWV1ZnQgdW5nZWZhZWhyIGRhcmF1ZiBoaW5hdXMgIkljaCB3ZWlzcyBpaHIgc2VpZCBhbGxlCmdlZ2VuIHphcHBlbmRlIE1vbnN0ZXIsIGFiZXIgaWNoIGZpbmRlIGRpZSB0b3RhbCB0b2xsIHdlaWwgbWFuLCB3ZW5uIG1hbiBudXIKZ3V0IGdlbnVnIHN1Y2h0LCBlaW5lbiBrbGVpbmVuIEhpbndlaXMgZmluZGVuIGthbm4uIEFsc28gc2NoYXV0IGV1Y2ggZGFzIHJ1aGlnCmFuLCBhdWNoIHdlbm4gaWhyIHNvbGNoZSBNb25zdGVyIGxpZWJlciB2ZXJtZWlkZW4gd29sbHQsIHdlaWwgc29uc3QgaXN0IGRhcwp1bmZhaXIgd2VubiBpaHIgbmljaHQgdG9sbCBmaW5kZXQgd2FzIGljaCB0b2xsIGZpbmRlLiIKTm9jaG1hbDogRGllIFNwaWVsZXIgZmluZGVuIERlaW4gTW9uc3RlciBuaWNodCBmYWlyLCBEdSBmaW5kZXN0IGVzIG5pY2h0IGZhaXIsCmRhc3Mgc2llIGRhcmF1ZmhpbiB6dXIgTWVpZHVuZyBkZXMgTW9uc3RlcnMgYXVmcnVmZW4uIEVyc3RlcmVzIHNjaGVpbnQgbWlyIG9rLApsZXR6dGVyZXMgZGFnZWdlbiB3ZWluZXJsaWNoLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGhhdCBlaCBzZWluZW4gZWlnZW5lbiBSYXVtLiBPaG5lIE1vbnN0ZXIsIG9obmUgU3BpZWxlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJrYHMgR2VnZW5kIChQaHlnb3MsIDI5LiBNYWkgMTk5OCwgMTI6MTk6NTkpOgpUamEgd2llZGVyIGVpbm1hbCBlaW5lIEdlZ2VuZCBkaWUgbmFjaCBTY2htYXJybiBnZWhvZXJ0LiBJc3QgbmljaHQgZGllCmVpbnppZ2UuICBmcmFnZSBtaWNoIG51ciB3YXMgaW4gZGVuIEtvZXBmZW4gZGllc2VyIFByb2dnZXIgdm9yZ2VodD8gIERpZSBnYW56ZQpBcm5laXQgaXN0IHJlaW5lIFpFSVRWRVJTQ0hXRU5EVU5HICB3ZW5uIGRpZSBHZWdlbmQgZGVuIFNwaWVsZXJuIG5pY2h0CmdlZmFlbGx0LiBtYW5jaGUga2FwaWVyZW4gZXMgbmllIC4gRGllcyBpc3QgZWluIFNwaWVsLiBEYXMgU3BpZWwgc29sbCAoIHNvbGx0ZQopIFNQQVNTICEhISBtYWNoZW4uIFdhcyBhbHNvIGJyaW5ndCBlcywgZGVuIFNwaWVsZXJuLCBkZW4gU3Bhc3MgenUgdmVyZGVyYmVuPwpOaWNodHMgZ2VnZW4ga25pZmZsaWdlIFJhZXRzZWwgdW5kIGhlZnRpZmUgTW9uc3RlciwgYWJlciBkaWVzZXIgaW1tZXIgd2VpdGVyCmFuc2Nod2VsbGVuZGUgVW5zaW5uICggVG9kZXNmYWxsZW4gWmFwcG1vbnN0ZXIgKSB2ZXJkaXJidCBzY2huZWxsLCBncnVlbmRsaWNoCnVuZCBsYW5nYW5oYWx0ZW5kIGRlbiBTcGllbHNwYXNzLiAgVWViZXJsZWd0IGV1Y2ggKCBkaWUgUHJvZ2dlciApIGZ1ZXIgd2VubgppaHIgZXVyZSBnZWdlbmQgcHJvZ2d0LiBXZW5uYHMgbnVyIGZ1ZXIgZXVjaCBpc3QsIGxhc3Qgc2llIHp1IEhhdXNlIGF1ZiBldXJlbQpSZWNobmVyICggbW9lZ2xpY2hzdCBmdWVyIGltbWVyICkgIHdlbm4gaWhyIGFiZXIgZnVlcmBzIE11ZCAoIHNwcmljaCBkaWUKU3BpZWxlciApIHByb2dndCBzb3JndCBkYWZ1ZXIgZGFzIGRpZSBTcGllbGVyIFNwYXNzIGhhYmVuLiBFcyByZWljaHQgbmljaHQsCmRhcyBlaW5lIEdlZ2VuZCBCdWctZnJlaSBpc3QuIFNpZSBzb2xsIGF1Y2ggYW5nZW5vbW1lbiB3ZXJkZW4uICBGdWVyIG1pY2gKZ2lidHMgZGEgbnVyIGVpbnMsIFNvbGNoZSBHZWdlbmRlbiBtZWlkZW4sIHVuZCBhbmRlcmUgenUgc2VsYmlnZW0gdWViZXJ6ZXVnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJrYHMgR2VnZW5kIChIaWdobGFuZGVyLCAyOS4gTWFpIDE5OTgsIDEyOjI2OjM0KToKfiMhIHJuPVBoeWdvcyBydD04OTY0MzcxOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY0MzcxOTkKTmljaHQgc3BlemllbGwgYXVmIGRlbiBsZXR6dGVuIEFydGlrZWwsIGFiZXIgenVyIGNvY2thdHJpY2UgYWxsZ2VtZWluOgpXZXIgRW5nbGlzY2gga2FubiB1bmQvb2RlciBuZXRoYWNrIHNwaWVsdCwgc29sbHRlIHdpc3NlbiwgZGFzcyBlaW5lCmNvY2thdHJpY2UgaW4gZXR3YSBtaXQgZWluZW0gQmFzaWxpc2sgZ2xlaWNoenVzZXR6ZW4gaXN0LiBTcHJpY2ggLQpQZWNoIGdlaGFidCwgU3RlaW4gZ2V3b3JkZW4sIExhcnMgYmVzdWNodC4KRGFzIHNvbGwgamV0enQgbmljaHQgdW5iZWRpbmd0IGVpbmUgVmVydGVpZGlndW5nIHNlaW4sIGFiZXIgaWNoIGhhZXR0ZSBiZWkKZGVtIFZpZWNoIGF1ZiBqZWRlbiBGYWxsIG5pY2h0IGFuZ2VncmlmZmVuLCBvaG5lIG1laHIgenUgd2lzc2VuIDo+CiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcmtgcyBHZWdlbmQgKFllbmRpLCAyOS4gTWFpIDE5OTgsIDEyOjI3OjU2KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODk2NDM3NTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CkhpZ2hsYW5kZXIsIGltIE1HIHNpbmQgTmFtZW4ga2VpbiBLcml0ZXJpdW0uCkljaCBlcmlubmVyZSBtaWNoIG5vY2ggZGFyYW4sIHdpZSBpY2ggZGFtYWxzIGFuZ3N0c2NobG90dGVybmQgenVtIEJhbHJvZwpyZWluZ2VnYW5nZW4gYmluLi4uIGRhIHdhciBpY2ggZGVubiBkb2NoIGV0d2FzIGVudHRhZXVzY2h0LgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFya2BzIEdlZ2VuZCAoQXJrLCAyOS4gTWFpIDE5OTgsIDEyOjU0OjQ3KToKfiMhIHJuPVBoeWdvcyBydD04OTY0MzcxOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY0MzcxOTkKU28sIGRhbWl0IGlociBuaWNodCBkZW5rdCwgaWNoIGtvZW5udGUgbmljaHQgbGVybmVuLCBoaWVyIG1hbCBtZWluIGVyc3RlcwpSZXN1bWVlIDotKQpWZXJzdGVpbmVybiBrb21tdCBuaWNodCBzbyBndXQgYW4gYmVpIGV1Y2ggLT4gaWNoIHdlcmRlIE5JRSBtZWhyIEJhc2lsaXNrZW4sCkNvY2thdHJpY2VuLCBNZWR1c2VuIChzY2hhZGUsIGhhdHRlIGljaCBpbSBIaW50ZXJrb3BmIDspXikgb2RlcgphZWhubGljaGUgVW53ZXNlbiBtZWhyIHByb2dyYW1taWVyZW4uCklociBnZWh0IG5pY2h0IG1laHIgaW4gZGllIFd1ZXN0ZW5ydWluZSwgd2VpbCBlcyBkb3J0IGVpbiBNb25zdGVyIGdpYnQsIGRhcwp2ZXJzdGVpbmVydC4gLT4gU2NoYWRlLCB3YXIgZXJzdCBlaW5lciBzY2hlaW5iYXIgZHJpbiwgbmFqYSwgZGFmdWVyIGlzc2VzCndvaGwgenUgc3BhZXQgdW5kIGljaCB3aWxsIGphIG5pY2h0IHdlaW5lbiAqZ3JpbnMgR3JpbW1ib3JuIGFuKgpJY2ggbWFjaGUga2VpbmUgJ0luc3RhbnQgRGVhdGgnLVRvZGVzZmFsbGVuIG1laHIuIERpZSBHZWJpZXRlIHdlcmRlbgpkYW5uIGhhbHQgZXR3YXMgZnJpZWRsaWNoZXIuIE1laW5lIE1vbnN0ZXIgYXVjaCwgZGVubiBpY2ggd2VpZ2VyZSBtaWNoLCBlaW5lbgpkb29mZW4KT3JrIG9kZXIgR29ibGluIHp1bSBNZWdhLWdpZ2EtTW9uc3RlciB6dW1hY2hlbiwKaW5kZW0gaWNoIGlobSB1bnJlYWxpc3Rpc2NoZSAod2FzIGRhcyBhdWNoIGJlZGV1dGVuIG1hZykgV2VydGUgdmVycGFzc2UuCkFiZXIgZWlucyBtb2VjaHRlIGljaCBkb2NoOiBkYXNzIG1hbiBpbiBadWt1bmZ0IG5pY2h0IHNvZm9ydCBhbGxlIHp1IGVpbmVyCmZsYW1lbmRlbiBNZXV0ZSBtYWNodCwgaW5kZW0gbWFuIGVpbmVuIEFydGlrZWwgaW4gZGllIFplaXR1bmcgc2V0enQsIGRlciBhbGxlCnZlcnNjaHJlY2t0LiBTb3ZpZWwgaWNoIHdlaXNzLCB3YXIga2VpbmVyIGRlciBMZXV0ZSwgZGllIGlocmVuIEtvbW1lbnRhcgp6dSBTaGFyaWFzIEFydGlrZWwgYWJnYWJlbiwgamUgaW4gZGVyIFJ1aW5lIChvZGVyIGlycmUgaWNoPykuClNvLCBhbGxlIHp1ZnJpZWRlbj8gSWNoIGhvZmZlIGRvY2ggOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXJrYHMgR2VnZW5kIChBcmssIDI5LiBNYWkgMTk5OCwgMTI6NTk6MjgpOgp+IyEgcm49WWVuZGkgcnQ9ODk2NDM3Njc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CkFjaCwgd2FzIGRpZSBHZWdlbmQgYmV0cmlmZnQgKGlzIGphIG5pY2h0IHZpZWwpOiBJY2ggd3VlcmRlIHNpZSBnZXJuZQpkcmFubGFzc2VuLCBkZW5uIHdlbm4gc2ljaCBlcnN0IGRlciBUcnViZWwgaXJnZW5kd2FubiBnZWxlZ3QgaGF0LCBzY2hhdXQgc2llCnNpY2ggdmllbGxlaWNodCBkZXIgZWluZSBvZGVyIGFuZGVyZSBkb2NoIG1hbCBhbiB1bmQgZ2VodCB1bmJlbGFzdGV0IGFuIGRpZQpTYWNoZSByYW4uIFNvIGtyaWVnIGljaCBkYW5uIG5vY2ggZWluIHBhYXIgS29tbWVudGFyZSAodmllbGxlaWNodCkgenUgZGVuCmFuZGVyZW4gRGluZ2VsY2hlbiwgZGllIGpldHp0IGhhbHQgdW50ZXJnZWdhbmdlbiBzaW5kLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJrYHMgR2VnZW5kIChaYXJkb3osIDI5LiBNYWkgMTk5OCwgMTM6MjE6MjQpOgp+IyEgcm49QXJrIHJ0PTg5NjQzOTI4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpXZW5uIGljaCBzY2hvbiBob2VyZSAiSWhyIHNvbGx0IHNvIHByb2dyYW1taWVyZW4sIGRhc3MgZXMgZGVuIFNwaWVsZXJuCmdlZmFlbGx0Ii4gRXJzdGVucyBrYW5uIG1hbiBlcyBuaWUgYWxsZW4gcmVjaHQgbWFjaGVuIHVuZCB6d2VpdGVucyB3YWVyZSBkYXMKZGVyIFRvZCBlaW5lcyBNdWRzLiBOaWVtYW5kIHdpcmQgamEgZ2V6d3VuZ2VuIGluIGplZGVzIEdlYmlldCB6dSBnZWhlbiwgYWxzbwp3ZW5ucyBkaXIgbmljaHQgZ2VmYWVsbHQsIGRhbm4gYmxlaWIgaGFsdCB3ZWcsIGFuZGVyZW4gd2lyZHMgc2Nob24gZ2VmYWxsZW4sCnVuZCB3ZW5uIG5pY2h0LCB0amEsIGRhbm4gaGF0IGRlciBNYWdpZXIgaGFsdCBwZWNoIGdlaGFidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFtURUFNOlRvZCBkZW0gZGllKCldIChGZXVlcndlaHIsIDI5LiBNYWkgMTk5OCwgMTM6NDQ6MDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NjQyODY0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpTbyBlaW4gU2NoZWlzcyEKCkpldHp0IHJlaWNodHMgbWlyIGFiZXIgbGFuZ3NhbS4KS29lbm50ZXN0IER1IGF1ZmhvZXJlbiwgQXJ0aWtlbCB6dSBzY2hyZWliZW4sIHVuZCBEaWNoIGF1ZnMgVmVybGVnZW4KYmVzY2hyYWVua2VuLCBHcmltbWJvcm4/IFNvIGVpbiBTY2hlaXNzISBXYXMgc29sbCBkYXMgZWlnZW50bGljaCwgbWFjaHQgZXMgRGlyClNwYXNzLCBzaW5ubG9zIHJ1bXp1ZmxhbWVuPwoKR1JSUlJSUiEKCkFyayBoYXQgbWl0IHZpZWwgTXVlaGUgdW5kIEFyYmVpdCBlaW4gR2ViaWV0IGdlc2NocmllYmVuLgpEYXJpbiB3YXIgZWluIE1vbnN0ZXIsIGRhc3MgZmllcyB1bmQgemFwcGVuZCB1bmQgbmljaHQgc2Nob2VuIHdhci4gU2hhcmlhIGhhdApzaWNoLCBhbnN0YXR0IHNpY2ggYW4gQXJrIHp1IHdlbmRlbiwgZ2xlaWNoIG1hbCBhbiBkaWUgTVBBIGdld2FubnQuIEd1dCwgZGFzCmlzdCBPSy4gQXJrIGhhdCBkYXMgZWluZ2VzZWhlbiB1bmQgZGFzIE1vbnN0ZXIgZ2VhZW5kZXJ0LiBHdXQuCgpKZXR6dCB3aWxsIGtlaW5lciBtZWhyIGluIGVpbiBHZWJpZXQsIHdlbGNoZXMgdmllbCBNdWVoZSB1bmQgWmVpdCBpbiBBbnNwcnVjaApuYWhtLCBudXIgd2VpbCBkb3J0IG1hbCBlaW4gTW9uc3RlciBzdGFuZCwgd2FzIGpldHp0IGFiZ2VhZW5kZXJ0IHd1cmRlLgoKQXJrIHNjaHJlaWJ0IGRhcnVlYmVyLCB1bmQgRFUgaGFzdCBuaWNodHMgYmVzc2VyZXMgenUgdHVuLCBhbHMgenUgZmxhbWVuLiBTTwpFSU4gU0NIRUlTUyEgSmVkZXIgZGFyZiBtYWwgZWluZW4gRmVobGVyIG1hY2hlbi4gRGFubiBrb3JyaWdpZXJ0IG1hbiBpaG4sCnNjaHJlaWJ0cyBpbiBkaWUgTVBBIHVuZCBmZXJ0aWcuCgpHYW56IGVocmxpY2gsIGljaCBmaW5kZSwgbWFuIHNvbGx0ZSBBcmsgbWFsIGFucmVjaG5lbiwgZGFzcyBlciB6dSBkZW4KYWt0aXZzdGVuIE1hZ2llcm4gaW0gTUcgZ2Vob2VydC4gRXIgaGF0IGVpbmVuIEZlaGxlciBnZW1hY2h0IHVuZCBmZXJ0aWcuCgpLT0VOTkVOIFdJUiBESUVTRU4gVEhSRUFEIEpFVFpUIEJFRU5ERU4/IERBTktFIQoKICAgRmV1ZXJ3ZWhyICh1ZWJlcnpldWd0ZXIgRnJldW5kIHZvbiBBcmsuKQoKUFM6IEdydW1tbWVsLCBkYXNzIG11c3N0ZSBqZXR6dCB3aXJrbGljaCBtYWwgc2VpbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoU2hhcmlhLCAyOS4gTWFpIDE5OTgsIDE0OjIzOjE3KToKfiMhIHJuPUZldWVyd2VociBydD04OTY0NDIyNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKZnVlciBtaWNoIGlzdCBkZXIgVGhyZWFkIGJlZW5kZXQgaGllcm1pdCAuLi46LSkpIApOdXIgbm9jaCB3YXMgenUgbWVpbmVyIFJlY2h0ZmVydGlndW5nOiBJY2ggaGFiZSBlcnN0IG1pciBBcmsgZ2VyZWRldCB1bmQgZGFubgpoYWIgaWNoIG5vY2ggZWluL3p3ZWkgYXJ0aWtlbGNoZW4gZ2VzY2hyaWViZW4gOi0pKSBuYWphIG9rIHdhciBBVUNIIGF1ZiBBcmsKYmV6b2dlbiwgYWJlciBuaWNodCBudXIuLi4uIEljaCBlbnRzY2h1bGRpZ2UgbWljaCBoaWVybWl0IGFsc28gZGFmdWVyIGRhc3MgaWNoCmV0d2FzIHp1c2VociBnZWhldHp0IGhhYmUgZGFoZXI6IElDSCB3ZXJkZSBtaXIgZGFzIEdlYmlldCBnZW5hdWVyIGFuc2NoYXVlbgouLi4gdW5kIEFyayBuZW4gc2Nob2VuZXMgcmVwZmlsZSBoaW50ZXJsYXNzZW4gKmdyaW5zIEZldWVyd2VociAzay1icmVpdCBhbioKOi0pKSkKClNoYXJpYSBrbnVkZGVsdCBBcmsgdm9sbCBkdXJjaCB1bmQgaG9mZnQgZGFzcyBlcyBtZWhyIE1hZ2llciBnaWJ0IGRpZSBuaXggdm9uCmluc3RhbnQgZGllKCkgaGFsdGVuIDotKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcm1lciBBcmsgKFBoeWdvcywgMjkuIE1haSAxOTk4LCAxNDozNDoyMyk6CndhcyBzaWUgamV0enQgYWxsZSBhbmdla3JvY2hlbiBrb21tZW4uIGdpYnRzIEZwcyBmdWVycyBlaW5zY2hsZWltZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJtZXIgQXJrIChaYXJkb3osIDI5LiBNYWkgMTk5OCwgMTQ6NDk6MzUpOgp+IyEgcm49UGh5Z29zIHJ0PTg5NjQ0NTI2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQ0NTI2MwpXb2hsIG5pY2h0LCBzb25zdCBzYWVoZSBkaWUgVG9wbGlzdGUgYW5kZXJzIGF1cy4gSWNoIHZlcnJhdGUgYWJlciBqZXR6dCBuaWNodCwKd2VuIGljaCBhbiBQbGF0eiAxLiBkZXIgU2NobGVpbWVyIGVyd2FydGVuIHd1ZXJkZSA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJrYHMgR2VnZW5kIChUYXJpbmEsIDI5LiBNYWkgMTk5OCwgMTc6MTk6NTQpOgp+IyEgcm49SGlnaGxhbmRlciBydD04OTY0Mzc1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY0MzcxOTkKSWNoIHNwaWVsZSBISUVSIGVyc3RtYWwgYXVzIGVpbmVtIEdydW5kOiBlcyBpc3QgZWluIGRldXRzY2hlcyBNdWQuIFdlcgpNb25zdGVybiBlbmdsaXNjaGUgTmFtZW4gdmVycGFzc3QsIGRlciBzb2xsdGUgc2ljaCBuaWNodCB6dSBzZWhyIHd1bmRlcm4sCndlbm4gZGllIGRldXRzY2hlIEJlZGV1dHVuZyBkZXMgZW5nbGlzY2hlbiBOYW1lbnMgaWdub3JpZXJ0IHdpcmQuClVuZCBuZXRoYWNrIGR1ZXJmdGVuIGhpZXIgZGllIHdlbmlnc3RlbiBzcGllbGVuLgoKV2VyIGFiZXIgbmV0aGFjayBzcGllbHQsIHdhZXJlIGRlbSBWaWVjaCBtaXQgU2ljaGVyaGVpdCBlcnN0bWFsIGF1cyBkZW0gV2VnCmdlZ2FuZ2VuLi4uIGVpbmUgZW50c3ByZWNoZW5kZSBXYWZmZSBzdWNoZW4uCgpFcyB3YWVyZSB0cm90emRlbSBzY2hvZW4sIHdlbm4gbWFuIGJlaW0gVW50ZXJzdWNoZW4gaGlud2Vpc2UgYXVmIGRpZQpHZWZhZWhybGljaGtlaXQgYmVrYWVtZS4uLiBvZGVyIGluIGRlciBVbWdlYnVuZyB2aWVsbGVpY2h0IHZlcnN0YWVya3QKT3BmZXIgZmFlbmRlLgpHcnVzcywKVGFyaW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogW1RFQU06VG9kIGRlbSBkaWUoKV0gKEtleSwgMjkuIE1haSAxOTk4LCAxNzo0ODoyOCk6Cn4jISBybj1BcmsgcnQ9ODk2NDI0OTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkhtbSBBcmsgLi4uIGVpbmVyc2VpdHMgdmVyc3RlaCBpY2ggRGljaCwgZGVyIG5ldCBpbiBkZXIgTVBBIGFuZ2VmbGF1bXQgd2VyZGVuCndpbGwsIGFuZGVyZXJzZWl0cyBhYnIgYXVjaCBTaGFyaWEgLi4uCkVzIGlzdCBsZWlkZXIgc28gZGFzIHRlaWx3ZWlzZSBudXIgd2FzIGVycmVpY2h0IHdpcmQgd2VubiBtYW4gbmVuIGdyb3NzZW4KQXVmc3RhbmQgbWFjaHQuClVuZCBkYXMgZ2VodCB1ZWJlciBkaWUgTVBBIGFtIGJlc3Rlbi4KCldhcnVtIHVlYmVyaGF1cHQgTlBDIGRpZSB1ZWJlcm1hZXNzaWcgc3Rhcmsgc2luZD8KV2VubiBuZW4gTlBDIG5pY2h0IGdla2lsbHQgd2VyZGVuIHNvbGwga2FubiBtYW4gaWhtIGltbWVybm9jaCBuZSBlbnRzcHJlY2hlbmRlClByb3Agc2V0emVuLCB1bmQga2VpbmUgU3R1c3NlIC4uCkFsbGVzIGFuZGVyZSBpc3Qgc2Nod2FjaHNpbm4gLi4KCkFwcm9wbyAuLi4gQm9pbmcgOikgQWVuZGVyIG1hbCBkZW4gV2FuZGVyZXIgYXVmIGRlciBIRSBkZW1lbnRzcHJlY2hlbmQgLi4uIApEZXIgaXN0IHNjaGxpZXNzbGljaCBmdWVyIEFuZmFlbmdlciBuZXQgdW53aWNodGlnIHVuZCBzb2xsdGUgc2Nob24gaW1tZXIKYW53ZXNlbmQgc2VpbiAsKQoqaGVpbWxpY2ggc2VpbmVuIFp3ZWl0aWUgaGluc2NoaWNrZW5kKiA7KQoKS2V5LCBnZWdlbiBkaWUgdW5kIFRvZGVzZmFsbGVuIGplZ2xpY2hlciBBcnQsIHNvbGFuZ2UgZXMga2VpbiBFSU5IRUlUTElDSEVTCk1lcmttYWwgZGllc2VyIGdpYnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoQXJrLCAyOS4gTWFpIDE5OTgsIDE3OjUxOjM4KToKfiMhIHJuPUtleSBydD04OTY0NTY5MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKRXMgd2lyZCBuaWUgZWluIGVpbmhlaXRsaWNoZXMgTWVya21hbCBnZWJlbiwgbGVpZGVyIG9kZXIgR290dHNlaWRhbmsgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcmtgcyBHZWdlbmQgKEtleSwgMjkuIE1haSAxOTk4LCAxODo0ODoyNyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg5NjQzNzU5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpIaWdoIC4uLiB3aXIgc3BpZWxlbiBoaWVyIGluIG5lbSBERVVUU0NIRU4hISEhIE1VRCEKRXJzdGVucyBpc3QgZXMgREVVVFNDSCwgdW5kIHp3ZWl0ZW5zIGVpbiBNdWQuCkplZGVyIGRlciBtaXIgbWl0IEVuZ2xpc2NoIGtvbW10IGthbm5zIGF1Y2ggZ2xlaWNoIHNlaW4gbGFzc2VuLgpVbmQgZGFzIG1hbiBzaWNoIG5ldCBhbiBpcmdlbmR3ZWxjaGUgVm9ybGFnZW4gcmljaHRlbiBtdXNzIHNvbGx0ZSBkb2NoIGF1Y2gKbGFuZ3NhbSBtYWwga2xhciBzZWluLgoKS2V5LCBiZWRldXRldCBpbiBpcmdlbmRlaW5lciBiZWtuYWNrdGVuIFNwcmFjaGUgU2NobHVlc3NlbCwgaXN0IGZ1ZXIgbWljaCBhYmVyCmRlciBOYW1lIG1laW5lcyBDaGFyYWt0ZXJzIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXJrYHMgR2VnZW5kIChLZXksIDI5LiBNYWkgMTk5OCwgMTg6NTc6NTEpOgp+IyEgcm49WmFyZG96IHJ0PTg5NjQ0MDg4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpVbmQgZGFzIHZvbiBlaW5lbSBkZXIgbWVpbmVyIE1laW51bmcgbmFjaCBnZW5pYWxzdGVuIE1hZ3MgOykKCktleSBlaW56ZWlsZW5kIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFya2BzIEdlZ2VuZCAoV3VyLCAyOS4gTWFpIDE5OTgsIDIzOjUxOjUzKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODk2NDM3NTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CkVpbmUgQ29ja2F0cmljZSBpc3QgYWJlciBudXIgZGVmdGlnIHdlbm4gc2llIGRpZSByaWNodGlnZW4gU3RlbGxlbiBlcndpc2NodC4KVW5kIHdlciB2b24gZGVuIGd1dCBhdXNnZXJ1ZXN0ZXRlbiBTcGllbGVybiBoYXQgc29sY2hlIHN0ZWxsZW4gbm9jaCBmcmVpPwoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoVGhlcmluLCAzMC4gTWFpIDE5OTgsIDAwOjU5OjI4KToKfiMhIHJuPUFyayBydD04OTYyODA1NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKQXVmIGplZGVuIEZhbGwgcmVpY2h0IGVpbiBLZXJiaG9seiB6dW0gRWluc2NoYWV0emVuIE5JQ0hUIGVpbiAhCgpXaWUgd28/IGVpbiBuZXVlcyBNb25zdGVyPyB3b3dvd293byA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJrYHMgR2VnZW5kIChTY2hva28sIDMwLiBNYWkgMTk5OCwgMDE6NTQ6NDMpOgp+IyEgcm49SGlnaGxhbmRlciBydD04OTY0Mzc1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY0MzcxOTkKSG1tIHN1cGVyIG4gQmFzaWxpc2sgLi4uLiBzbyB3ZWl0IGljaCB3ZWlzcyBzaW5kIGRhcyBkb2NoIGRpZSBMdXNjaGVuZGluZ2VyIGltClZsYW5kLCBkaWUgbWFsIEtvbXBvcyBmdWVyIFphdWJlcmVyIGhhdHRlbiAob2RlciBoYWJlbj8pLiBBbHNvIHdhcyBzb2xscywgbnVyCndlaWwgZGEgU3VwZXJib2VzZXN3ZWx0dmVybmljaHRlbmRlcyBNb25zdGVyIGRyYXVmc3RlaHQgaXMgZGFzIGRhIG5vY2ggbGFuZ2UKbmljaCBkcmluLiBOdXIgYWxsZWluIGF1ZiBkZW4gTmFtZW4ga2FubiBtYW4gc2ljaCBoaWVyIGltIG11ZCBhdWYga2VpbmVuIEZhbGwKdmVybGFzc2VuICh3YXIgZGEgbmljaCBhdWNoIG1hbCBzb3dhcyBtaXQgQ3RodWxodT8pCgpTY2hva28gKHN0aXJidCB3ZW5uIGRhbm4gZWggbnVyIGFuIGlyZ2VuZHdlbGNoZW4gc2VsYnN0dmVyc2NodWxkZXRlbgpEaW5nZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcmtgcyBHZWdlbmQgKFRoZXJpbiwgMzAuIE1haSAxOTk4LCAwMTo1OToyMCk6Cn4jISBybj1TY2hva28gcnQ9ODk2NDg2MDgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CkVpZ2VudGxpY2ggc29sbHRlbiBkaWUgQmFzaWxpc2tlbiBkaWUgU2NodXBwZW4gYXVjaCBub2NoIGpldHp0IGhhYmVuLiBBYmVyCmZydWVoZXIgaGF0dGVuIGRpZSBpbW1lciA1IFNjaHVwcGVuIGRhYmVpLCBqZXR6dC4uLiBuYWphLi4uIGpldHp0IGthdWZlIGljaApkaWUgbGllYmVyIGJlaSBQaCouIGlzdCB3ZW5pZ2VyIGF1ZndhbmQgOikKClQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFya2BzIEdlZ2VuZCAoTHVnLCAzMC4gTWFpIDE5OTgsIDAyOjA2OjEyKToKfiMhIHJuPUFyayBydD04OTY0MzkyODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY0MzcxOTkKCkFlaGVtIEFyaywKCgpzY2hvZW4gZGFzIER1IGxlcm5mYWVoaWcgYmlzdC4gR3JhdHMuIERhbm4gYmVzdWNoZW4gc2ljaGVybGljaCBkZW1uYWV4dCBhdWNoCndlbGNoZSBEZWluZSBHZWdlbmQuIEFiZXI6OiAiIEFiZXIgZWlucyBtb2VjaHRlIGljaCBkb2NoOiBkYXNzIG1hbiBpbiBadWt1bmZ0Cm5pY2h0IHNvZm9ydCBhbGxlIHp1IGVpbmVyIGZsYW1tZW5kZW4gTWV1dGUgbWFjaHQsIC4uLiAoWml0YXQgRW5kZSkuIERVIGhhc3QKR3JpbW1pcyBBcnRpa2VsIG5pY2h0IGdhbnoga2FwaWVydDogU2hhcmlhcyBBcnRpa2VsIHdhciBlaW5lIFdhcm51bmcgdW5kIGRpZQp3YXIgYmVyZWNodGlndC4gV2FydW0gc29sbHRlIGVpbiBTcGllbGVyIGFsbGUgYW5kZXJlbiBpbiBkZW4gVG9kIGxhdWZlbgpsYXNzZW4/IExlcm4gZGFzIGF1Y2ggbm9jaCB1bmQgRHUgd2lyc3QgcGVyZmVrdC4uLgpNYW4gbHVlZyBpY2ggaGV1dGUgd2llZGVyIHJ1bS4KSWNoIGx1ZWdlIG5pZSEKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoQXNtb2RpcywgMzEuIE1haSAxOTk4LCAyMjo1NTowNyk6Cn4jISBybj1TaWx2YW5hIHJ0PTg5NjM5NTgwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpIbW0sIG5hY2hkZW0gZGllIFBhKnMgbmFjaGdlbGFzc2VuIGhhYmVuLCBzY2hlaW50IG51biBBcmsKenVtIFNjaHJlY2tlbiBkZXIgU3BpZWxlciB6dSB3ZXJkZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoVHVuaXhndXQsICAyLiBKdW4gMTk5OCwgMDg6MDE6NTgpOgp+IyEgcm49QXNtb2RpcyBydD04OTY2NDgxMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTYyNzgxMDkKSGllciBzY2hlaW50IEpFREVSIE1hZ2llciB6dW0gU2NocmVja2VuIGRlciBTcGllbGVyIHp1IHdlcmRlbiwgZGVyIG5vY2ggd2FzCnR1dCBmdWVyJ3MgTUcsIEFzbW8uLi4KJ3MgS2FyYXRlLVp3ZXJjaGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoUGF0cnluLCAgMi4gSnVuIDE5OTgsIDA4OjEyOjQ4KToKfiMhIHJuPUFzbW9kaXMgcnQ9ODk2NjQ4MTA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CnNlaXRkZW0gc2lsdmFuYSBtaXIgZGllIHphdWJlcmVyZ2lsZGUgaW4gZGllIGhhbmQgZ2VkcnVlY2t0IGhhdCwgYXJiZWl0ZQppY2ggbnVyIG5vY2ggc2VsZWt0aXYgZXJzY2hyZWNrZW5kIDspCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoTW9yZ290aCwgIDIuIEp1biAxOTk4LCAwODoyOTowMCk6Cn4jISBybj1QYXRyeW4gcnQ9ODk2NzY3OTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5Ck1pdCBzZWxla3RpdiBtZWluc3QgRHUgc2ljaGVyIFNlbGVjdCh1c2VycygpKTsgOy0pCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcmtgcyBHZWdlbmQgKEFyaywgIDIuIEp1biAxOTk4LCAwODo0NTozOSk6Cn4jISBybj1MdWcgcnQ9ODk2NDg2NzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5Ck9rLCBoYWIncyBrYXBpZXJ0LgpLb21tIGljaCBqZXR6dCBpbnMgRmVlcm5zZWVobj8/PwoKQWVoZW0gOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBbVEVBTTpUb2QgZGVtIGRpZSgpXSAoQXJrLCAgMi4gSnVuIDE5OTgsIDA4OjQ3OjUyKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODk2NjQ4MTA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2Mjc4MTA5CkRhcyB3YWVyZSBhYmVyIGFuIG1pciB2b3JiZWlnZWdhbmdlbiA6KSBPaG5lIGRhc3MgaWNoJ3MgZ2VtZXJrdCBoYWV0dGUgLi4uCkltIHVlYnJpZ2VuIHNpbmQgbmljaHQgc29vbyBwcmlja2VsbmQgdmllbGUgYW4gZGVuIEh1ZWhuY2hlbiB2ZXJyZWNrdCwgd2llCnZpZWxsZWljaHQgbWFsIGJlZnVlcmNodGV0IHd1cmRlLiBTbywgdW5kIGF1c3NlcmRlbSB3b2xsdGUgaWNoIGphIGJyYXZlcgp3ZXJkZW4gKmhpaGkqCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogW1RFQU06VG9kIGRlbSBkaWUoKV0gKE1vcmdvdGgsICAyLiBKdW4gMTk5OCwgMDg6NTk6NDkpOgp+IyEgcm49QXJrIHJ0PTg5Njc3MDA3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpNdWVzc3Rlc3QgRHUgbmljaHQgZWlnZW50bGljaCAnQXJnaCcgaGVpc3Nlbj8gRGFzIGlzdCBtZWlzdCBkYXMgbGV0enRlLCB3YXMKZGllIFNwaWVsZXIgcmF1c2Jla29tbWVuLCBiZXZvciBzaWUgdm9yIExhcnMgdHJldGVuLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFtURUFNOlRvZCBkZW0gZGllKCldIChCb2luZywgIDIuIEp1biAxOTk4LCAwOTowMToxOSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg5Njc3MDc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjI3ODEwOQpHcmltbWJvcm4/IFNvIHR1IGRvY2ggZW5kbGljaCB3YXMhCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFya2BzIEdlZ2VuZCAoWWVuZGksICAyLiBKdW4gMTk5OCwgMTI6Mzk6NTEpOgp+IyEgcm49VGFyaW5hIHJ0PTg5NjQ1NTE5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpEaWUgSWRlZSBtaXQgZGVuIE9wZmVybiBpc3QgZ2VuaWFsLiBEaWUgd2VuaWdzdGVuIFNwaWVsZXIgd3VlcmRlbiBsYWVuZ2VyIGFscwp1bmJlZGluZ3Qgbm9ldGlnIGluIGVpbmVtIFJhdW0gbWl0IGVpbmVtIEJhc2lsaXNrZW4gc3RlaGVuLCB3ZW5uIHNpZSB2b3JoZXIKZHVyY2ggZWluIER1dHplbmQgUmFldW1lIG1pdCB2ZXJzdGVpbmVydGVuIEFiZW50ZXVyZXJuIGdlaGVuIG11c3N0ZW4uLi4KRGFzIHdhcm50IGdhbnogc2Nob2VuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJrYHMgR2VnZW5kIChBcmssICAyLiBKdW4gMTk5OCwgMTI6NDQ6MDUpOgp+IyEgcm49WWVuZGkgcnQ9ODk2NzgzOTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CklzIGphIGF1Y2ggcmVhbGlzaWVydCwgYWJlciBpbSBNb21lbnQgc3RpcmJ0IGRvcnQgaGFsdCBrZWluZXIgOikKLi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcmtgcyBHZWdlbmQgKFR1bml4Z3V0LCAgMi4gSnVuIDE5OTgsIDEyOjQ1OjA1KToKfiMhIHJuPVllbmRpIHJ0PTg5Njc4Mzk5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpIYXN0IER1ICduZSBBaG51bmcsIEFyay4uLgoncyBLYXJhdGUtWndlcmNobGUgLSBlaW56ZWlsaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFya2BzIEdlZ2VuZCAoQXJrLCAgMi4gSnVuIDE5OTgsIDEyOjQ3OjUwKToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg5Njc4NDMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NjQzNzE5OQpKZWRlbmZhbGxzIG5pY2h0IGFuIGRlbiBnZXZhZXJsaXNjaGVuIEdvZ2dhZHJpc3NlbiA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFya2BzIEdlZ2VuZCAoWWVuZGksICAyLiBKdW4gMTk5OCwgMTI6NTc6NDYpOgp+IyEgcm49VHVuaXhndXQgcnQ9ODk2Nzg0MzA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CiJBcmsiPwoKWWVuZGkgd3VuZGVydCBzaWNoIGVpbnplaWxpZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFya2BzIEdlZ2VuZCAoVHVuaXhndXQsICAyLiBKdW4gMTk5OCwgMTI6NTg6NDMpOgp+IyEgcm49WWVuZGkgcnQ9ODk2Nzg1MDY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5Ck9rLCBoYXN0IGdld29ubmVuLi4uCidzIEthcmF0ZS1ad2VyY2hsZSAtIHNvZ2FyIGhhbGJ6ZWlsaWcuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsbGVzIGJlaW0gQWx0ZW4uLi4gKEtyZXRlaywgIDIuIEp1biAxOTk4LCAxMzo1NjowMSk6CkhhbGxvLCBLaW5uZXJzIQoKU2Nob2VuIGlzdCBkYXMhIERhIGtvbW10IG1hbiBuYWNoIGtuYXBwICduZW0gaGFsYmVuIEphaHIgbWFsIHdpZWRlcgppbnMgTUcsIHVuZCB3YXMgZ2lidCdzPyBJbW1lciBub2NoIGhhY2tlbiBzaWNoIFNwaWVsZXIgdW5kIE1hZ2llciwKaW1tZXIgbm9jaCB3aXJkIHJ1bWdlZmxhbWVkLi4uIERhIGZyZXV0IG1hbiBzaWNoIGRvY2ggdWViZXIgc28gZWluIApiaXNzY2hlbiBLb25zdGFueiBpbiBkaWVzZXIgV2VsdCA6LSkKCiAgICAgICAgICAKICAgICAgICAgIGtyZXRla0BhbnRpc29jaWFsLmNvbQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFya2BzIEdlZ2VuZCAoQWxwaGEsICAyLiBKdW4gMTk5OCwgMTc6MjY6NTYpOgp+IyEgcm49WWVuZGkgcnQ9ODk2NzgzOTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5CkRhIGZhZWxsdCBtaXIgd2FzIGVpbjogS29lbm50ZW4gbmljaHQgaW0gZ2FuemVuIE1HIGRpZSBMZWljaGVuIGJ6dy4gZGllClNrZWxldHRlIHZlcnN0b3JiZW5lciBTcGllbGVyIGxpZWdlbmJsZWliZW4/IFNvIGJpcyB6dW0gbmFlY2hzdGVuIFJlZWJvb3QgdW5kCmFscyBhbGxnZW1laW5lIFdhcm51bmc/CkFscGhhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXJrYHMgR2VnZW5kIChCYWJvb24sICAzLiBKdW4gMTk5OCwgMTE6MTM6MTYpOgp+IyEgcm49QWxwaGEgcnQ9ODk2ODAxMjE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2NDM3MTk5Cldlbm4gZGllIExlaWNoZW4gdm9uIFNwaWVsZXJuIGxpZWdlbiBibGVpYmVuIHd1ZXJkZW4sIGRhbm4gd3VlcmRlIGRpZQp0b2Rlc3NlcXVlbnogdWViZXJmbHVlc3NpZy4gRGllIGlzdCBuYWVtbGljaCBtZWhyIG9kZXIgd2VuaWdlciBudXIgZGF6dSBkYSwKZGFzcyBtYW4gbmljaHQgc2VpbmVyIGVpZ2VuZW4gTGVpY2hlIHVlYmVyIGRlbiB3ZWcgbGFldWZ0LiBFaW5lIEFsdGVybmF0aXZlCndhZXJlIGhvZWNoc3RlbnMsIGRhc3MgZGllIExlaWNoZSBzdGF0dCB6dSB2ZXJzY2h3aW5kZW4genUgZWluZW0gU2tlbGV0dCB3aXJkLApkYXNzIGRhbm4gYW5vbnltIGlzdC4KKERhcyBTa2VsZXR0IGVpbmVzIDxpbnNlcnQgZ2lsZGU+IG9kZXIgc28pCgpCYWJvb24oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKE9ya3RvZXRlciwgIDMuIEp1biAxOTk4LCAxMTozMzoxMyk6CkRpZSB2b24gZWluZW0gTWFnaWVyIHZvciBrdXJ6ZW0gYXVzZ2VzcHJvY2hlbmUgRHJvaHVuZyAoYXVjaCwgd2VubiBlciBzaWUgd29obApuaWNodCBzbyBnZXNlaGVuIGhhYmVuIG1vZWNodGUpLCBkaWUgU2FjaGVuLCBkaWUgZXIgZ2Vwcm9nZ3QgaGF0IG1pdHp1bmVobWVuCnVuZCBlaW5lbSBhbmRlcmVuIE1VRCB6dXIgdmVyZnVlZ3VuZyB6dSBzdGVsbGVuLCBicmluZ3QgbWljaCBkYXp1LCBhbnp1cmVnZW4sCmRhcyBpbiBkZW4gTWFnaWVydmVydHJhZyBhdWZnZW5vbW1lbiB3aXJkLCBkYXMgRGluZ2UgZGllIGFuZ2VzY2hsb3NzZW4gd2VyZGVuCmluIGRlbiBCZXNpdHogZGVzIE1HIHVlYmVyZ2VoZW4uIFp3YXIgc29sbHRlIGRlciBNYWdpZXIsIGRlciBzaWNoIGRpZSBNdWVoZQp1bmQgQXJiZWl0IGdlbWFjaHQgaGF0IGRhcyBSZWNodCBoYWJlbiwgZGllIFNvZnR3YXJlIGF1Y2ggaW4gYW5kZXJlbiBNVWRzCmFudWJpZXRlbiwgYWJlciBnZXJhZGUgYmVpIEdpbGRlbiwgd28gZXZ0bC4gdmllbGUgU3BpZWxlciBzZWhyIHZpZWwgQXJiZWl0LApaZWl0IHVuZCBNdWVoZSBoaW5laW5nZXN0ZWNrdCBoYWJlbiB1bSBkb3J0IHZvcmFuIHp1IGtvbW1lbiwgaXN0IGVzIG1laHIgYWxzCkFlcmdlcmxpY2gsIHdlbm4gZGllc2UgZXZ0bCBuYWNoIEphaHJlbiB3aWVkZXIgdmVyc2Nod2luZGVuIHd1ZXJkZW4uCkRhIGRhcyBnYW56ZSBpbSBtb20gd29obCBtb2VnbGljaCB3YWVyZSwgc29sbHRlIGRhIHZpbGVpY2h0IG1hbCBrbGFyaGVpdCB1bmQKc2ljaGVyaGVpdCBmdWVycyBNRyBnZXNjaGFmZmVuIHdlcmRlbiwgaW4gZGVtIGVpbiBlbnRzcHJlY2hlbmRlciBQYXNzdXMgaW4gZGVuCk1hZ2llcnZlcnRyYWcgYXVmZ2Vub21tZW4gd2lyZC4KT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKFJpbmdvciwgIDMuIEp1biAxOTk4LCAxMTo0MzoxNCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg5Njg2Njg1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwpOdXIgZ3V0LCBkYXNzIERlaW4gUF9BR0UgbWl0IERlaW5lbSBFcnN0aWUgZ2Vsb2VzY2h0IHd1cmRlLCBnZWxsPwoKU0NOUiwgUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChQYXRyeW4sICAzLiBKdW4gMTk5OCwgMTI6MDM6MTEpOgp+IyEgcm49WmFybml5YSBydD04OTY4NjY4NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKYmlzdCBkdSBlaWdlbnRsaWNoIGp1cmlzdCwgemFybml5YT8gbnVyIG1hbCBzbyBhbHMgZnJhZ2UuLi4Kb3JrdG9ldGVyIGhhdCBqYSBrZWluIGZlcnRpZyBnZXNjaHJpZWJlbmVuIHZlcnRyYWcgdm9yZ2VsZWd0IGRlciBhYiBqZXR6dAp2ZXJiaW5kbGljaCBpc3QsIHNvbmRlcm4gbmVuIHZvcnNjaGxhZyBnZW1hY2h0LiBkYXMgd2FyIHp3YXIgbmljaHQKYW5uYWVoZXJuIHNvIHVudGVyaGFsdGVuZCwgd2llIGRlaW4gZ2VzY2hyaWVicyAobWFuIGthbm4gc2ljaCBkYWJlaSBpbW1lcgp3aWVkZXIga29lbmlnbGljaCBhbXVlc2llcmVuKSwgYWJlciB6dW1pbmRlc3Qgd2FyIHNlaW4gJ2dlc2Nod2FmZWwnCndlaXRhdXMgc3ltcGF0aGlzY2hlciBhbHMgZGVpbmVzLgplaW5lIGdld2lzc2UgcHJvcG9ydGlvbmFsaXRhZXQgdm9uIFBfQUdFIHp1IGluaGFsdGVuIHNvbGx0ZSB6d2FyIG1pdAoyIHZlcnN1Y2hlbiBrZWluZSBnZXNpY2hlcnRlbiBzdGF0aXN0aXNjaGVuIGF1c3NhZ2VuIGxpZWZlcm4sIGFiZXIgYmVpIGV1Y2gKYmVpZGVuIGtvbW10IGVzIGxvY2tlciBoaW4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChZZW5kaSwgIDMuIEp1biAxOTk4LCAxMjoyNDozMCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg5Njg2Njg1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwpJY2ggcGxhZWRpZXJlIGRhZnVlciwgZGVuIEVkaXRvciBkYWhpbmdlaGVuZCB6dSBhZW5kZXJuLCBkYXNzIGVyIGFiIGVpbmVyCmJlc3RpbW10ZW4gQW56YWhsIGF1ZmVpbmFuZGVyZm9sZ2VuZGVyIEdyb3NzYnVjaHN0YWJlbiBkYXMgQWJzY2hpY2tlbiBlaW5lcwpBcnRpa2VscyB2ZXJ3ZWlnZXJ0IG1pdCBkZXIgTWVsZHVuZyAiTmEsIFphcm5peWEsIHdpZWRlciBhbSBlY2hhdWZmaWVyZW4/IiAuCgpNQU5OLCBaYXJuaXlhLCBoYXQgRGlyIGRlbm4gbm9jaCBOSUVNQU5EIGdlc2FndCwgZGFzcyBtYW4gQmV0b251bmdlbiBpbQpEZXV0c2NoZW4gYXVjaCBkdXJjaCBkZW4gU0FUWkJBVSBkZXV0bGljaCBtYWNoZW4ga2Fubj8gRGllc2UgZXdpZ2UKR3Jvc3NzY2hyZWliZXJlaSBnZWh0IG1pciBhbGxtYWVobGljaCBhdWYgZGVuIEtFS1MhCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKENhdHdlYXpsZSwgIDMuIEp1biAxOTk4LCAxMjo0NDo0NSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODk2ODY2MzkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCkhtLCB0aGVvcmV0aXNjaCBnaWJ0IGVzIHNvIGVpbmUgUmVnZWx1bmcuCkRhIGRhcyBNRyBiZXJlaXRzIGluIHNlaW5lbiBmcnVlaGVuIFRhZ2VuIGVpbiBkZXJhcnRpZ2VzIFByb2JsZW0gaGF0dGUKKEJvc2NoYW50ZSwgd2VtIGRhcyB3YXMgc2FndCksIGdpbHQgZGVyIEF1ZmVudGhhbHRzb3J0IGltIEZpbGVzeXN0ZW0gYWxzCkJlc2l0emFuc3BydWNoLiBHZW5hdWVyLCBhbGxlcyB3YXMgaW0gL3BsYXllcnMtVmVyemVpY2huaXMsIGFsc28gaW0gCk1hZ2llci1laWdlbmVuIFZlcnplaWNobmlzYmF1bSBsaWVndCwgZ2lsdCBhbHMgUHJpdmF0ZWlnZW50dW0uIFNvYmFsZAphbGxlcmRpbmdzIGZpbGVzIGRvcnQgcmF1c3dhbmRlcm4gKHVuZCBkYXMgc29sbHRlbiBzaWUsIHNvYmFsZCBzaWUKaW4gZWluZXIgIF9SZWdpb25fIGltIE1HIGFuZ2VzY2hsb3NzZW4gd2VyZGVuKSwgZ2VoZW4gZGllIEZpbGVzCmluIGRlbiAnQmVzaXR6JyBkZXMgTUdzIHVlYmVyLCB3b2JlaSBCZXNpdHogZXR3YXMgc3RyaWt0IGZvcm11bGllcnQgaXN0LgpJbiBlaW5pZ2VuIFJlZ2lvbiBpc3QgYWxsZXMgYW5nZXNjaGxvc3NlbmUgc29nYXIgaW4gZWluIGV4dHJhLVZlcnplaWNobmlzCi9kL3JlZ2lvbi9hbGxlIGdld2FuZGVydCB1bSBuYWNodHJhZWdsaWNoZSBNYW5pcHVsYXRpb24gZGVyIE1hZ2llcgp6dSB2ZXJoaW5kZXJuLgpJbSBha3R1ZWxsZW4gRmFsbCB3YWVyZSBkYXM6IC9kL2ViZW5lLyBmdWVyIGRpZSBEYWVtb25lbmJ1cmcsIC9naWxkZW4KZnVlciBkaWUgY2hhb3RlbiB1bmQgL3Ava2FlbXBmZXIsIG5peCBtaXQgL3BsYXllcnMgYWxzby4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChTaWx2YW5hLCAgMy4gSnVuIDE5OTgsIDEzOjAzOjM5KToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTY4NzA2ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKQVJHTC4uLiBJY2ggYmluIGRhZnVlciwgZGFzcyBRdWVzdHMgbmljaHQgbWVociBpbiAvcGxheWVycyBsaWVnZW4gZHVlcmZlbi4KRWluaWdlIGRlciBiZXN0ZW4gUXVlc3RzIChBcmNoaWUsIFRpdGl3dSwgRnJpZWRob2YuLi4pIGxpZWdlbiBpbiAvcGxheWVycy4KCiAgU2lsdmFuYSAtIG5pY2h0IHdpcmtsaWNoIGJlc29yZ3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChLZXksICAzLiBKdW4gMTk5OCwgMTM6MDQ6MjQpOgp+IyEgcm49U2lsdmFuYSBydD04OTY4NzE4MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKKmtpY2hlcioKRHUgZ2xhdWJzdCBkb2NoIHdvaGwgbmV0IGVybnN0aGFmdCBkYXMgUm9jaHVzIG9kZXIgQm9pbmcgaWhyZSBRdWVzdHMKYWJoYWVuZ2VuPyA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoWmVwaHlyLCAgMy4gSnVuIDE5OTgsIDEzOjA0OjQyKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODk2ODcxODE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCldpcmQgZGFubiBUYXJrbyBSZXViIHdpZWRlciBhbHMgUXVlc3QgYW5nZXNjaGxvc3Nlbj8gOikKKmhvZmZlbmQqCiAgICAgICAgICAgICBaZXBoeXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChCb2luZywgIDMuIEp1biAxOTk4LCAxMzowNDo0NCk6Cn4jISBybj1TaWx2YW5hIHJ0PTg5Njg3MTgxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwpIZXksIERhbmtlISA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChQYWRyZWljLCAgMy4gSnVuIDE5OTgsIDEzOjI2OjI1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTY4NzA2ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKQWxzbyBpY2ggaGFiIGlyZ2VuZHdpZSBkZW4gRWluZHJ1Y2sgZGFzIGVzIG1hbCBoaWVzcyBhbGxlcyBpbgovcGxheWVycy9tYWdpZXJuYW1lLyogVU5EIGluIC9kL3JlZ2lvbi9tYWdpZXJuYW1lLyogaGFldHRlIGRhcyB2b2xsZSAoYykgZGVzCmJldHIuIE1hZ2llcnMuIChtYWwgYWJnZXNlaG4gZGF2b24sIGRhcyBpY2ggYSkgbmljaHQgdm9yaGFiZSBpcmdlbmRldHdhcwphYnp1aGFlbmdlbiB1bmQgYikgc2ljaCBiZWkgYmVzdGltbXRlbiBEaW5nZW4gZWluaWdlIGZyZXVlbiB3dWVyZGVuIHdlbm4gaWNoCnNpZSB3aWVkZXIgYWJoYWVuZ2VuIHd1ZXJkZSA6KSBiaW4gaWNoIGF1Y2ggZGFmdWVyLCBkYXMgZGllc2VzIHNvCmlzdC93aXJkL2JsZWlidCEgTWFuIHNvbGx0ZSBkYW5uIGxlZGlnbGljaCBkcmF1ZiBhY2h0ZW4sIGRhcyBEaW5nZSB3aWUKR2lsZGVuL0dpbGRlcmFldW1lIG5pY2h0IG1laHIgaW4gc29sY2hlbiBWZXJ6ZWljaG5pc3NlbiBsaWVndC4gSWNoIGRlbmtlIGVzCmdpYnQga2F1bSBlaW4gR2ViaWV0IGRhcyBmdWVyIGRhcyBtdWQgd2lya2xpY2ggdW5hYmtvZW1tbGljaCBpc3QgKHdlbm4gZGVyCk1hZ2llciBkZW5uIHdpcmtsaWNoIHNvIGVpbiBBcnNjaCBpc3QgdW5kIGVzIGxvZXNjaHQpLiBEZW5uIERpbmdlIHdpZSB6LmIuClBvcnQgVmFpbiBsaWVnZW4gamEgZWJlbiBfbmljaHRfIGluIHNwaWVsZXJ2ZXJ6ZWljaG5pc3Nlbi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKFp1ZXJpbGV1LCAgMy4gSnVuIDE5OTgsIDE2OjE1OjU1KToKfiMhIHJuPU9ya3RvZXRlciBydD04OTY4NjYzOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKSGksCldpciBkdWVyZmVuIGFiZXIgd29obCBhdWNoIG5pY2h0IHZlcmdlc3NlbiBkYXMgZWluIE1hZ2llciB2aWVsIFplaXQgdW5kIG11ZWhlCmluIHNlaW5lIERpbmdlIGdlc3RlY2t0IGhhdC4gVW5kIGJpcyBqZXR6dCB3YXIgbWlyIGJla2FubnQgZGFzIGRpbmdlIHVudGVyIGRhcwpDb3B5cmlnaHQgZGVzIGpld2VpbGlnZW4gTWFnaWVycyBnZWh0LCBhbHNvIHdhcyBlciBkYW1pdCBtYWNodCwgc2VpbmUgU2FjaGUKaXN0LiBNaXIgaXN0IGtsYXIgZGFzIFNwaWVsZXIgc2ljaCBhdWNoIG11ZWhlIGdhYmVuIHVuZCBaZWl0IGludmVzdGllcnRlbi4KQWJlciBkZXIgQ29kZSBzZWxiZXIgZ2Vob2VydCB3b2hsIGRlbSBNYWdpZXIgZGVyIGVzIHByb2dyYW1taWVydCBoYXQuIEV0d2FzCmFuZGVyZXMgc3RlaHQgei5adC4gbmljaHQgaW0gTWFnaWVydmVydHJhZywgd2VubiBkYXNiIGdlYW5kZXJ0IHdpcmQsIGRhbm4KZ2VodHMga2xhci4gTnVyIGhhdCBaYXJkb3ogZGllc2VuIGdlYW5kZXJ0ZW4gVmVydHJhZyBuaWNodCB1bnRlcnNjaHJpZWJlbiwgdW5kCmRhaGVyIGRlbmtlIGljaCBlciBoYXQgZGFzIFJlY2h0IGF1ZiBzZWluIEVpZ2VudHVtLiAKClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoV29vZHksICAzLiBKdW4gMTk5OCwgMTY6MjQ6MTMpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODk2ODgzMzU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzClNwYWV0ZXN0ZW5zIHdvIGljaCAndW50ZXJzY2hyaWViZW4nIGxlc2UsIHdpcmRzIGxhZWNoZXJsaWNoLiBEYXMgaXN0Cm5peCBhbmRlcmVzIGFscyBlaW4gc2ltcGxlcyBBZGRDbWQgaW4gZWluZW0gbm9jaCBzaW1wbGVyZW4gT2JqZWt0LApkYXMgc29sbCBlaW5lIHJlY2h0c2tyYWVmdGlnZSBVbnRlcnNjaHJpZnQgc2Vpbj8gTGV1dGUsIGtvbW10IHdpZWRlcgpydW50ZXIsIGRhcyBpc3QgdHJvdHogYWxsZW0gZWluIFNwaWVsIChqYSBkb2NoLCBDYXR0eSkuIERhcyBEcnVtaGVydW0KZmluZGUgaWNoIGVpbiB3ZW5pZyB1ZWJlcnRyaWViZW4uIFdhcyBtYW4gYWxzIE1hZ2llciBwcm9kdXppZXJ0IHVuZAp3YXMgaW0gTUcgaGFlbmd0LCBpc3QgbS5FLiBudXIgZWluIFByb2R1a3QgZGVzIFRlaWxzIGRlcyBTcGllbHMsIGRhcwptYW4gYmVyZWl0cyAoYXVjaCBhbHMgTWFnaWVyKSAiR0VTUElFTFQiIGhhdCwgYWxzbyBISU5URVIgU0lDSCBoYXQsCnVuZCBzb21pdCBuaWNodHMsIHdvcmF1ZiBtYW4gQmVzaXR6YW5zcHJ1ZWNoZSBlcmhlYmVuIHNvbGx0ZS4KV2VyIGVzIGRvY2ggdHV0LCBoYXQgZGFzIFNwaWVsIG5pY2h0IHZlcnN0YW5kZW4uCgpXb29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoS2V5LCAgMy4gSnVuIDE5OTgsIDE2OjI2OjA2KToKfiMhIHJuPVdvb2R5IHJ0PTg5Njg4Mzg1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwpIbW0gbm9ybWFsIG11ZXNzdGVuIGF1Y2ggZGllIE1hZyBwYXBwaXMgUmVjaHRlIGF1ZiBkZW4gQ29kZSBpaHJlciBTb2VobmUgaGFiZW4KLi4uIGRlbm4gc2NobGllc3NsaWNoIGtyaWVnZW4gZGllIG1hZ3MgamEgdm9uIGlocmVybiBwYXBwaXMgdW5kIG1hbW1pcyBlcnN0Cmdyb2Vzc3RlbnRlaWxzIHdhcyBiZWlnZWJyYWNodCAuLi4gb2RlciB3aWUgd2FlcmUgZXMgbWl0IG5lciBzdHVkaWVuZ2VidWVocj8KOikKCktleSBzY2htYXJybmQgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoS2FyaXMsICAzLiBKdW4gMTk5OCwgMTY6Mjk6MjQpOgp+IyEgcm49V29vZHkgcnQ9ODk2ODgzODUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCldpZSB3YWVycywgd2VubiBtYW4gZGFzIFByb2JsZW0gbWFsIG5lbSBKdXJpc3RlbiBmdWVyIG5lIFNlbWVzdGVyYXJiZWl0CmdpYnQgdW5kIHNpY2ggZGFmdWVyIGhpZXIgYXVmIGdlc3VuZGVuIE1lbnNjaGVudmVyc3RhbmQgdmVybGFlc3N0PwoKS2FyaXMgbWFjaHQgbWFsIG5lbiBWb3JzY2hsYWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChDYXR3ZWF6bGUsICAzLiBKdW4gMTk5OCwgMTY6Mjk6MzApOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODk2ODgzMzU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCkhtLCBkZXIgQ29kZSBnZWhvZXJ0LCB3ZW5uIGljaCBkYXMgcmVjaHQgdmVyc3RlaGUsIGViZW4gX25pY2h0XyBkZW0gTWFnaWVyLgpEZXIgRHJpdmVyIHVuZCBkaWUgTXVkbGliIGRlcyBNb3JnZW5HcmF1ZW5zIGZhbGxlbiB1bnRlciBkaWUgR1BMLCBkaWUgR05VCkdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGViZW5zbyBhbGxlcyB3YXMgdW50ZXIgZGllc2VyIFNvZnR3YXJlLCBiencuIGZ1ZXIKZGllc2UgTXVkbGliIGdlc2NocmllYmVuIHd1cmRlLiBEaWUgR1BMIHZlcmVyYnQgc2ljaCBxdWFzaS4KSW4gZGllc2VyIEdQTCBzdGVodCB3YXMgdm9uIFBhdGVudHJlY2h0ZW4sIGRpZSBzaWNoIGF1ZiBkaWVzZXMgUHJvYmxlbQp1ZWJlcnRyYWdlbiBsYXNzZW4gZHVlcmZ0ZW4uIEFsbGVzIHdhcyBpbiBkZXIgTXVkTGliIGVudHdpY2tlbHQgd3VyZGUgaXN0CnF1YXNpIEZyZWV3YXJlLCBzZWxic3QgZmFsbHMgVGVpbGUgZGF2b24genVtIFBhdGVudCBhbmdlbWVsZGV0IHdlcmRlbgp3dWVyZGVuLCBtdWVzc2VuIHNpZSBmcmVpIHZlcmZ1ZWdiYXIgZ2VtYWNodCB3ZXJkZW4sIHVuZCBkdWVyZmVuIG5pY2h0IHpCCmtvbW1lcnppZWwgdmVydHJpZWJlbiB3ZXJkZW4uCkZ1ZXIgdW5zIGhlaXNzdCBkYXMsIGltIEZhbGxlIGRhcyBlaW4gTWFnaWVyIHNlaW5lIFNhY2hlbiBsb2VzY2h0LCBkYXJmIGRhcyBNRwpkaWUgU2FjaGVud2llZGVyaGVyc3RlbGxlbiB1bmQgd2llZGVyIGVpbmJpbmRlbi4gIEFuZGVyc3J1bSBoZWlzc3QgZGFzCmFsbGVyZGluZ3MgYXVjaCwgZGFzIGhpZXIgZ2Vwcm9nZ3RlIFNhY2hlbiBpbiBhbmRlcmUgTVVEcyB1ZWJlcnRyYWdiYXIgd2FlcmVuLgpEYXMgd2lsbCB6d2FyIGtlaW5lciwgbGllZ3QgYWJlciBhbGxlaW5lIGltIEVybWVzc2VuIGRlcyBNYWdpZXJzLi4uLgoKRGFzIE1vcmdlbkdyYXVlbiBzdGVodCB1ZWJyaWdlbnMgc2Nob24gc2VpdCBFd2lna2VpdGVuIHVudGVyIGRlciBHUEwsIHdlcgpzaWNoIGRhcyBhbnNlaGVuIHdpbGwsIHNpZSBpc3QgaW4gL3NlY3VyZS9HUEwgenUgZmluZGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlIChrZWluIEp1cmlzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChSb2NodXMsICAzLiBKdW4gMTk5OCwgMTc6MTQ6MjIpOgp+IyEgcm49S2FyaXMgcnQ9ODk2ODg0MTY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCiJKdXJpc3QiIHVuZCAiZ2VzdW5kZXIgTWVuc2NoZW52ZXJzdGFuZCIgaXN0IGVpbiBXaWRlcnNwcnVjaCA6LSkKCiAgUm9jaHVzClBTOiBJY2ggd29sbHRlIHNjaG9ubWFsIGRpZSBBcmNoaWUtUXVlc3QgbmFjaCAvZC9lYmVuZSB2ZXJsZWdlbiB1bmQKaGFiZSBlcyBudXIgdW50ZXJsYXNzZW4sIHdlaWwgbWlyIGRpZSBaZWl0IGZlaGx0ZSAoZXMgbXVlc3N0ZW4gZWluaWdlCkFlbmRlcnVuZ2VuIGFtIENvZGUgdm9yZ2Vub21tZW4gd2VyZGVuLCB3ZWlsIGljaCBtaWNoIGFuIGtyaXRpc2NoZW4gU3RlbGxlbgpudXIgYXVmIGRlbiBGaWxlbmFtZW4gdmVybGFzc2UpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoU2lsdmFuYSwgIDMuIEp1biAxOTk4LCAxODowNjozOCk6Cn4jISBybj1LZXkgcnQ9ODk2ODgzOTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCkphdSwgS2xhc3NlLiBXZW5uIG5vY2ggbWFsIGplbWFuZCBGcmFnZW4gYW4gbWljaCB3ZWdlbiBDaGlsYW5hIG9kZXIKWmF1YmVyZXJuIHN0ZWxsdCwgdmVyd2Vpc2UgaWNoIGF1ZiBIb2JvIHVuZCBCb2luZy4gRGllIHdlcmRlbiBzaWNoCmZyZXVlbi4gOikKCiAgU2lsdmFuYSAtIHJ1ZnQgbmFjaCBHcmltbWJvcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChGZXVlcndlaHIsICAzLiBKdW4gMTk5OCwgMjI6MDI6MDApOgp+IyEgcm49U2lsdmFuYSBydD04OTY4ODk5OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKQWxzbywgc293YXMuCgpJY2ggZ2xhdWIsIGljaCBwcm9ncmFtbWllciBoaWVyIG5pY2h0IG1laHIsIHVuZCB3ZW5uLCBkYW5uIG51ciB1bnRlcgovcGxheWVycy9mZXVlcndlaHIvbWVpbnMvLi4uIERpZSBnYW56ZSBLbmV0ZSwgZGllIGljaCBtaXQgZGVtIFpldWNoIGhhZXR0ZQptYWNoZW4ga29lbm5lbiEgVW5kIGFsbGVzIGdlaG9lcnQgamV0enQgc28gbmVyIGtvbWlzY2hlbiBPcmdhbmlzYXRpb24gbWl0IGRlbQpnZXdhbHR2ZXJoZXJybGljaGVuZGVuIE5hbWVuIE1HISEKQWxsIGRpZSBQYXRlbnRlIC4uLiBkaWUgVHJhZXVtZSB2b24gZGVyIGVpZ2VuZW4ga2xlaW5lbiBTdWVkc2VlaW5zZWwuLi4KKnNuaWZmKgpVbmQgd2FzIGJsZWlidDogQWVyZ2VybGljaGUgU3BpZWxlcmlubmVuIG1pdCBCYWVydGVuLCBkaWUgbWVpbiBSZXBmaWxlCnZvbGxtdWVsbGVuIQoKICAgRmV1ZXJ3ZWhyICh0b3RhbCBkZXByaW1pZXJ0KS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChCbG9vZHloYXJyeSwgIDQuIEp1biAxOTk4LCAwNzo0MTowOCk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODk2OTA0MTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCkhpSG8gMTEyIQoKRGFzIGhlaXNzdCBhbHNvLCBtZWluZSBBbHRlcnN2ZXJzb3JndW5nIGlzdCBuaWNodCBtZWhyIGdlc2ljaGVydCB1bmQgaWNoIG11c3MKbnVuIHNlaGVuLCB3aWUgaWNoIGFuZGVycyBtZWluZSBSZW50ZSBhdWZiZXNzZXJlIT8KRGEgYmxlaWJ0IGphIG51ciBhbHMgZWluemlnZXIgQXVzd2VnLCBmdWVyIHZpZWwgTmFjaGtvbW1lbnNjaGFmdCB6dSBzb3JnZW4uCkRpZSBLaW5kZXIgbXVlc3NlbiBkaWUsIGhpZXIgbGVpZGVyIGltbWVyIG5vY2ggZmVobGVuZGUsIHNvemlhbGUgQWJzaWNoZXJ1bmcKd2llZGVyIGF1c2dsZWljaGVuLgpEZW4gU3VlZHNlZWluc2VsdHJhdW0ga2FubnN0IER1IERpciBhYmVyIGRvY2ggaW1tZXIgbm9jaCBlcmZ1ZWxsZW4uIFdlbm4gbmljaHQKZ2VyYWRlIG1pdCBhbGxlbSBEcnVtIHVuZCBEcmFuIHVuZCBLb21mb3J0LiBJY2gga2xhdWUgbWFsIHNjaG5lbGwgZWluIGJpc2NoZW4KU2FuZCBhdXMgZGVyIFd1ZXN0ZSAod2VubiBDYXR3ZWF6bGUgZ2VyYWRlIHdlZ3NjaGF1dCkgdW5kIHNjaHVldHRlIERpciBkYW1pdAplaW5lIGtsZWluZSBJbnNlbCBpbSBTdWVkbWVlciBhdWYuIERhbm4gbm9jaCBlaW4gcGFhciBnZXJhZGUgdW1nZWZhbGxlbmUKQmFldW1lIGRhenVnZXN0ZWxsdCAoMiByZWljaGVuIGVyc3RtYWwgdW0gZWluZSBIYWVuZ2VtYXR0ZSBiZWZlc3RpZ2VuIHp1CmtvZW5uZW4pIHVuZCBmZXJ0aWcgaXN0IGRpZSBTcGFydmVyc2lvbiBkZXIgU3VlZHNlZWluc2VsLiBXZW5uIER1IG51biBub2NoCmFsbGUgc2ljaCBkZXIgSW5zZWwgbmFlaGVybmRlbiBTY2hpZmZlIGFid2VocnN0IChtaXIgZmFlbGx0IGdlcmFkZSBuaXggZWluCndvbWl0IER1IGRpZXMgZXJyZWljaGVuIGtvZW5udGVzdCksIGJpc3QgRHUgRGVpbiB6d2VpdGVzIFByb2JsZW0gbWl0IGJhZXJ0aWdlcgpTcGllbGVyaW5uZW4gYXVjaCBnbGVpY2ggbG9zLgoKCgpCSCAgLSAgSGV1dGUgbWFsIG5pY2h0IHNvIGdhbnogZXJuc3QsIHdlaWwgZXIgaW1tZXIgbm9jaCBnbGF1YnQsIGRhc3MgZGllcwplaW4gU3BpZWwgc2VpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKFNoYXJpYSwgIDQuIEp1biAxOTk4LCAwODoxMTo0MCk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODk2OTA0MTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCgpwZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ0dHR0dHR0dHR0dHQKCklDSCBmdWVobGUgbWljaCBqZXR6dCBOSUNIVCBhbmdlc3Byb2NoZW4KClNoYXJpYSwgSEFUIEtFSU5FTiBCQVJUICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKFphcm5peWEsICA0LiBKdW4gMTk5OCwgMDk6MDY6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5Njg4NDE3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwpMaWVic3RlciBDYXR0eSwgCnNpY2hlciBoYXN0IGR1IG1pdCBEZWluZW0gR1BMLUFyZ3VtZW50IFJlY2h0LCBhYmVyIHNpZWggRGlyIG1hbCBkaWUgRmFrdGVuIGFuCnVuZCB3aWUgZGFzIGhpZXIgc2lubnZvbGxlcndlaXNlIGdlaGFuZGhhYnQgd2lyZDogTG9lc2NodCBzaWNoIGVpbiBNYWdpZXIgb2Rlcgp0YXVjaHQgd2lya2xpY2ggc2VociBsYW5nZSBuaWNodCBtZWhyIGF1ZiwgZGFubiB2ZXJmYWVsbHQgZGFzIFByb2dncmVjaHQgZGVyCkZpbGVzIGF1ZiBkZW4gamV3ZWlsaWdlbiBSTS4gSXN0IGRlciBNYWdpZXIgYWJlciBub2NoCmFud2VzZW5kL3RhZXRpZy9ha3Rpdi9uaWNodCB2ZXJzY2hvbGxlbiwgZGFubiBpc3QgZGFzIG5pY2h0IG51ciBCcmF1Y2gsCnNvbmRlcm4gYXVjaCBndXRlciBUb24sIGRhc3MgYW4gZGVuIEZpbGVzIGtlaW5lciBzZWluZSBGaW5nZXIgenUgcnVlaHJlbiBoYXQKKGF1c3NlciBpbSBCdWctRmFsbCkuIFNpY2hlciBpc3QgZXMgYXVjaCBzbywgdW5kIGRhcyBnZWhvZXJ0IHp1IGRlbSBzY2hvbgphbmdlc3Byb2NoZW5lbiBnZXN1bmRlbiBNZW5zY2hlbnZlcnN0YW5kLCBkYXNzLCB3ZW5uIGVpbiBNYWdpZXIgaGllciB3YXMKYWJrbGVtbWVuIHdpbGwsIGRhc3MgZGllc2VyIFd1bnNjaCBkYW5uIHJlc3Bla3RpZXJ0IHdpcmQuIERpZXMgaXN0IGF1Y2ggb2sgc28sCmRpZXMgd2FyIGJlaSBUYXJrbyBSZXViIHNvIGRlciBGYWxsIHVuZCB3ZW5uIGVpbmVyIGVpbmUgb2RlciBtZWhyZXJlIEdpbGRlbgphYmtsZW1tZW4gd2lsbCwgZGFubiBzb2xsdGUgbWFuIGRhcyBhdWNoIGFremVwdGllcmVuLiBEZXIgRnJlZXdhcmUtQ2hhcmFrdGVyCmRlciBDb2RlcyBoaWVyIGltIE1HIGxpZWd0IG1laW5lciBNZWludW5nIGRhcmluLCBkYXNzIGplZGVyIE1hZ2llciB2b24gamVkZW0KYW5kZXJlbiBTYWNoZW4ga29waWVyZW4vaW5oZXJpdGVuL21vZGlmaXppZXJlbiBrYW5uLiBPYiBkYXMgTUcgZGFzIFJlY2h0IGhhdCwKZ2VnZW4gZGVuIFd1bnNjaCBlaW5lcyBNYWdpZXJzIGluIFNhY2hlbiBMb2VzY2h1bmcgZWluZXMgQ29kZXMsIGRpZXNlbiB3ZWl0ZXIKenUgbnV0emVuLCBkYXNzIGlzdCBtZWluZXIgTWVpbnVuZyBuYWNoIHVuZ2VrbGFlcnQsIGFiZXIgZWJlbnNvIGJpbiBpY2ggZGVyCk1laW51bmcsIGRhc3MgZXMgZGllIHZlcmRhbW10ZSBQZmxpY2h0IGlzdCwgZGVuIFd1bnNjaCBlaW5lcyBha3RpdmVuIE1hZ2llcnMKenUgYWt6ZXB0aWVyZW4uCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoWmVwaHlyLCAgNC4gSnVuIDE5OTgsIDA5OjM0OjA5KToKfiMhIHJuPVNoYXJpYSBydD04OTY5NDA3MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKU2hhcmlhc2NoYWV0emNoZW4sIHdhbm4ga3JpZWcgaWNoIG1laW5lIEdlYnVlaHJlbiBmdWVyIHVuZ2VmcmFndGVzCkJlbnV0emVuIHZvbiAicGZmZmZmZmZmZmZmZmZmZmZmZnQiPyBEYSBoYWIgaWNoIG5hZW1saWNoIG5lbiAoYykKZHJhdWYgOykKICAgICAgICAgICAgWmVwaHlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb2Z0d2FyZS1NYWdpZXJlaWdlbnR1bSAoRmV1ZXJ3ZWhyLCAgNC4gSnVuIDE5OTgsIDA5OjUxOjQwKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg5NjkzODg2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwoKT2ggQmxvb2R5KiwgRHUgYmlzdCBlaW4gZWNodGVyIEZyZXVuZCEgKnNuaWZmKgoKCiAgIEZldWVyd2VociAod2lya2xpY2ggZ2VydWVocnQgKm5pY2h0IGdlc2NodWV0dGVsdCopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXV0c2NobGFuZCBnZWdlbiBDb21wdXNlcnZlLi4uLi4gKENhdHdlYXpsZSwgIDQuIEp1biAxOTk4LCAwOTo1NDoxOSk6Ci0tLS0tCkRhdGU6IFdlZCwgMDMgSnVuIDE5OTggMTg6MTk6MTAgKzAyMDAKRnJvbTogRnJhbmsgU2Nob2x6IDxGLlNjaG9sekBiYXd1ZS5kZT4KVG86IGluLWJlaXJhdEBpbmRpdmlkdWFsLm5ldCwgaW4tcHJhZXNpZGl1bUBpbmRpdmlkdWFsLm5ldApTdWJqZWN0OiBTdGFhdHNhbndhbHQgZ2VodCBpbiBCZXJ1ZnVuZyBnZWdlbiBTb21tLVVydGVpbAogClF1ZWxsZTogaHR0cDovL3d3dy56ZG5ldC5kZS9uZXdzL2FydGlrZWwvMTk5OC8wNi8wMzAwNy13Zi5odG0KIAogClN0YWF0c2Fud2FsdCBnZWh0IGluIEJlcnVmdW5nIGdlZ2VuIFNvbW0tVXJ0ZWlsCiAKV2lsbCBiZWkgaD1GNmhlcmVyIEluc3RhbnogRnJlaXNwcnVjaCBmPUZDcgpFeC1Db21wdXNlcnZlLU1hbmFnZXIgZXJyZWljaGVuCiAKMy4gSnVuaSAxOTk4IChyZyk9MjAKIApEYXMgdW1zdHJpdHRlbmUgVXJ0ZWlsIGRlcyBNPUZDbmNobmVyIEFtdHNnZXJpY2h0cwpnZWdlbiBGZWxpeCBTb21tLCBkZW4gZWhlbWFsaWdlbiBHZXNjaD1FNGZ0c2Y9RkNocmVyCnZvbiBDb21wdXNlcnZlIERldXRzY2hsYW5kLCBoYXQgZWluIGt1cmlvc2VzCk5hY2hzcGllbDogRGllIFN0YWF0c2Fud2FsdHNjaGFmdCBoYXQgQmVydWZ1bmcKZWluZ2VsZWd0LCB1bSBiZWkgZWluZXIgaD1GNmhlcmVuIEluc3RhbnogZWluZW4KRnJlaXNwcnVjaCBmPUZDciBTb21tIHp1IGVyd2lya2VuLiBEYXMgbWVsZGV0IGRpZQpOYWNocmljaHRlbmFnZW50dXIgQUZQIHVudGVyIEJlcnVmdW5nIGF1ZiBlaW5lbgpTcHJlY2hlciBkZXIgU3RhYXRzYW53YWx0c2NoYWZ0IE09RkNuY2hlbiBJLiBFaW5lCkJlcnVmdW5nIGR1cmNoIGRlbiBBbmtsYWdldmVydHJldGVyIHp1Z3Vuc3RlbiBkZXMKQmVzY2h1bGRpZ3RlbiBpc3QgaW4gRGV1dHNjaGxhbmQgaD1GNmNoc3QKdW5nZXc9RjZobmxpY2guPTIwCiAKU29tbSB3YXIgYW0gRG9ubmVyc3RhZyBsZXR6dGVyIFdvY2hlIHdlZ2VuIGRlcgpWZXJicmVpdHVuZyB2b24gS2luZGVycG9ybm9ncmFwaGllID1GQ2JlcnJhc2NoZW5kCnp1IHp3ZWkgSmFocmVuIEhhZnQgYXVmIEJldz1FNGhydW5nIHVuZCBlaW5lcgpHZWxkc3RyYWZlIHZvbiAxMDAwMDAgTWFyayB2ZXJ1cnRlaWx0IHdvcmRlbi4KWnV2b3IgaGF0dGVuIHNvd29obCBzZWluZSBBbnc9RTRsdGUgYWxzIGF1Y2ggZGllClN0YWF0c2Fud2FsdHNjaGFmdCBhdWYgRnJlaXNwcnVjaCBwbD1FNGRpZXJ0Lj0yMAogClZlcnRyZXRlciB2b24gUG9saXRpayB1bmQgV2lydHNjaGFmdCBoYWJlbiBkYXMgVXJ0ZWlsCmFscyBmYWxzY2ggdW5kIHNjaD1FNGRsaWNoIGtyaXRpc2llcnQuIERhcyBNZWRpZW4tIHVuZApNYXJrZXRpbmctTWFnYXppbiAiSG9yaXpvbnQiIGhhdCBpbSBSYWhtZW4gc2VpbmVzCldlYi1BbmdlYm90cyB6dSBlaW5lciBVbnRlcnNjaHJpZnRlbmFrdGlvbiBmPUZDcgpTb21tIGF1ZmdlcnVmZW4gKGh0dHA6Ly93d3cuaG9yaXpvbnQubmV0L2ZvcnVtLykuPTIwCiAKIAo9QTkgMTk5OCBieSBaaWZmLURhdmlzIFZlcmxhZyBHbWJICi0tLS0tCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChEZWVwYmx1ZSwgIDQuIEp1biAxOTk4LCAxNjo1OToyMyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9ODk2ODY2MzkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk2ODY2MzkzCkRhcyBVcmhlYmVycmVjaHQga2FubiBhdXMgcmVjaHRsaWNoZW4gZ3J1ZW5kZW4gbmljaHQgdWViZXJnZWhlbi4gV2FzIGFiZXIKZ2VzaWNoZXJ0IHdlcmRlbiBrYW5uLCBpc3QgZWluICJ1bmJlZnJpc3RldGVzIE51dHp1bmdzcmVjaHQiIGRlcyBNR3MgYW4gZGVtCmdlcHJvZ2d0ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChBbmF0b2wsICA0LiBKdW4gMTk5OCwgMTc6MTA6MDEpOgp+IyEgcm49WmFybml5YSBydD04OTY5NDM5NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKQWx0ZXIgQnJhdWNoIHNjaG9lbiB1bmQgZ3V0LCBaYXJuaXlhLiBBYmVyIGVpbmlnZSBNYWdpZXIgaGFiZW4gc2ljaApoaWVyIGF1Y2ggaW4gS2F0ZWdvcmllbiB2ZXJkaWVudCBnZW1hY2h0LCBkaWUgbWFuIF9uaWNodF8gZWluZmFjaCBtYWwgc28Kd2llZGVyIGFia2xlbW1lbiBrYW5uLiBVbmQgaWNoIGdsYXViZSwgdm9yIGVpbmlnZXIgWmVpdCBzdGFuZCBnZW5hdSBqZW5lcwoodm9uIEJvaW5nPykgaW4gZGVyIFplaXR1bmc6IERhcyBNdWQgd2lyZCBrZWluZW4gTWFnaWVyIGRhcmFuIGhpbmRlcm4sIApzZWluZW4gS3JhbSBtaXR6dW5laG1lbiwgd2VubiBlciBzaWNoIHZlcmtydWVtZWx0IC0gZXMgc2VpIGRlbm4sIHNlaW4KQ29kZSBpc3Qgd2ljaHRpZ2VyIEJlc3RhbmR0ZWlsLiBVbmQgZWluZSBHaWxkZSBnZWhvZXJ0IGRhLCB3aWUgamVkZXMgc2VocgpnZWx1bmdlbmUgdW5kIGFsdGUgR2ViaWV0IChkaWUgQnVyZyBpc3QgYWx0LCBzY2hhZXR6ZSBpY2gpLCB3b2hsIGRhenUuCgpNZWluZSBNZWludW5nLCBuYXR1ZXJsaWNoIE5JQ0hUIGJlc2NoZWlkZW4sIGlociBrZW5udCBtaWNoIGphIDspCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvZnR3YXJlLU1hZ2llcmVpZ2VudHVtIChMdWcsICA1LiBKdW4gMTk5OCwgMDQ6MDU6NTQpOgp+IyEgcm49WmVwaHlyIHJ0PTg5Njk0NTY0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5Njg2NjM5MwoKUGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmdHR0dHR0dCwKCmRhcyBsaWVic3RlIEM0IGJpbGRlc3QgRHUgRGlyIGF1Y2ggbnVyIGVpbiA7KQoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXBwZW4gKEJsdWVtZWwsICA1LiBKdW4gMTk5OCwgMTM6MzE6MzIpOgpXZW5uIFphcm5peWEgSnVyaXN0IGlzdCwgYmluIGljaCBkZXIgUGFwc3QgIQpXZW5uIGVpbiBNYWdpZXIgaGllciBldHdhcyBhYmhhZW5ndCwgd2FzIGVyIGdlcHJvZ2d0IGhhdCwgaGFsdGUgaWNoIGRhcwphYmdlc2VoZW4gdm9uIGp1cmlzdGlzY2hlbiBFcndhZWd1bmdlbiBzY2hsaWNodHdlZyBmdWVyIHVuc296aWFsLgpBbGxlaW5lIGF1cyBkZW0gR3J1bmQsIGRhc3MgZGVuIFNwaWVsZXJuIE5hY2h0ZWlsZSBlbnRzdGVoZW4gdW5kIGRlbSBNYWdpZXIKa2VpbmVybGVpIFZvcnRlaWxlLiBFcyBpc3Qgc29nYXIgc28sIGRhc3MgZGFkdXJjaCBhbmRlcmVuIE1hZ2llcm4gTmFjaHRlaWxlCmVudHN0ZWhlbiwgZGEgaWhyZSBQcm9ncmFtbWllcnVuZ2VuIGF1ZiBkZW5lbiBkZXMgQWJoYWVuZ2VuZGVuIGF1ZmJhdWVuLgpEYXNzIGRpZSBTcGllbGVyIGhpZXIgYXJtZSBXdWVyc3RlIHNpbmQsIGRpZSBuaXggenUgc2FnZW4gaGFiZW4gaXN0IGFlaG5saWNoCmRlciBNZW50YWxpdGFldCBkZXMgS2F1Zm1hbm5zLCBkZXIgc2ljaCBlaW5iaWxkZXQgZXIgd2FlcmUgdm9uIEt1bmRlbiBuaWNodAphYmhhZW5naWcuCkZ1ZXIgbWljaCBhbHMgU3BpZWxlciBpc3QgZXMga2VpbmVybGVpIEF1ZndhbmQgZGFzIE11ZCB6dSB3ZWNoc2Vsbiwgd2VubiBlcwptaXIgbmljaHQgZ2VmYWVsbHQuIERlciBXZWNoc2VsIGVpbmVzIE1hZ2llcnMgaW4gZWluIGFuZGVyZXMgTXVkIGlzdApkZW1lbnRzcHJlY2hlbmQgbWl0IG1laHIgQXVmd2FuZCB2ZXJidW5kZW4gdW5kIGVzIGlzdCBmcmFnbGljaCwgb2IgZGFzIHdhcyBlcgpoaWVyIGdlcHJvZ2d0IGhhdCB3b2FuZGVycyBWZXJ3ZW5kdW5nIGZpbmRlbiBrYW5uLgoKU2VociBsdXN0aWcgZmFuZCBpY2ggYW4gZWluZW0gQXJ0aWtlbCBaYXJuaXlhcyBmb2xnZW5kZXMgOgogIkljaCBmYWhyIGF1Y2ggdGFlZ2xpY2ggU3RyYXNzZW5iYWhuIHVuZCBkZXN3ZWdlbiBnZWhvZXJlbiBtaXIgYmVzdGltbXQKc2Nob24gbWluZC4zIFdhZ2dvbnMsIG9kZXI/IFVtcyBub2NobWFsIGtsYXJ6dXN0ZWxsZW46IFNQSUVMRVIgaGFiZW4gbnVyIGRpZQpFUkxBVUJOSVMsCm5pY2h0IG1hbCBkYXMgUkVDSFQsIGhpZXIgenUgc3BpZWxlbi4uLiBuaWNodCBtZWhyISBTcGllbGVyIHNpbmQgYXJtZSBXdWVyc3RlCnVuZCBoYWJlbiBuaXggenUgbWVsZGVuIHVuZCBkYXMgaXN0IGF1Y2ggZ3V0IHNvLCBkZW5uIHNvbnN0IHd1ZXJkIGhpZXIgbml4CmxhdWZlbi4iCgpXZW5uIGljaCBtaXIgZWluZSBGYWhya2FydGUga2F1ZmUgaXN0IGRpZXMgZWluIFZlcnRyYWcgdW5kIGRpZSBOaWNodGVpbmhhbHR1bmcKZGVzIFZlcnRyYWdlcyBzZWl0ZW5zIGRlcyBUYW5zcG9ydHVudGVybmVobWVucyBmdWVocnQgbWljaCBpbiBkaWUgYW5nZW5laG1lClNpdHVhdGlvbiBSZWdyZXNzYW5zcHJ1ZWNoZSBkaWUgdWViZXIgZGVtIEZhaHJwcmVpcyBsaWVnZW4genUgc3RlbGxlbi4KRGFzIFRyYW5zcG9ydHVudGVybmVobWVuIGlzdCBhbHNvIG5hY2ggVmVya2F1ZiBkZXIgRmFocmthcnRlIHZlcnBmbGljaHRldCBtaWNoCnp1IHRyYW5zcG9ydGllcmVuIHVuZCBpc3QgaW4gZGVtIFNpbm5lIGluIGRlciBWZXJ3ZW5kdW5nIHNlaW5lcyBFaWdlbnR1bXMKc3RhcmsgZWluZ2VzY2hyYWVua3QuIERlciBGYWhya2FydGVuYmVzaXR6ZXIgaXN0IG5pY2h0IHZlcnBmbGljaHRldCwgc2VpbmUKRmFocmthcnRlIHVuZCBkaWUgZGFtaXQgdmVyYnVuZGVuZW4gTGVpc3R1bmdlbiBzZWl0ZW5zIGRlcyBVbnRlcm5laG1lbnMgenUKbnV0emVuLiBJY2gga2FubiBhbHNvIGFscyBTdHJhc3NlbmJhaG5mYWhyZXIgamVkZXJ6ZWl0IGF1c3N0ZWlnZW4gdW5kIGJlaQpNaXNzZmFsbGVuIGRhcyBVbnRlcm5laG1lbiB3ZWNoc2Vsbi4KRGVyIFZlcmdsZWljaCB2b24gWmFybml5YSBpc3QgYWxzbyBkdXJjaGF1cyByZWFsaXN0aXNjaCwgd2FzIHp1IGRlbSBTY2hsdXNzCm1laW5lcnNlaXRzIGZ1ZWhyZW4ga29lbm50ZSwgZGFzcyBNYWdpZXIgaGllciBoYWx0IGFybWUgdm9uIFNwaWVsZXJuCmFiaGFlbmdpZ2UgU2Nod2VpbmUgc2luZC4KQmVpIGRlciBEaXNrdXNzaW9uIGRlcyBQcm9ibGVtcyBzb2xsdGUgbWFuIG5pY2h0IGF1c3NlciBBY2h0IGxhc3NlbiwgZGFzcwpNYWdpZXIgYmVpIGlocmVyIFByb2dyYW1taWVydW5nIGF1Y2ggZWluZSBiZXN0aW1tdGUgSW50ZW50aW9uIHZlcmZvbGdlbiB1bmQKZGllIEJlc3RhZXRpZ3VuZyBpaHJlciAiQXJiZWl0IiBnZXJhZGUgZGFyaW4gc2VoZW4sIGRhc3MgU3BpZWxlciBkaWVzZSBudXR6ZW4uCk9kZXIgZ2lidCBlcyBNYWdzLCBkaWUgZGF2b24gYXVzZ2VoZW4sIGRhc3MgaWhyZSBwcm9ncmFtaWVydGUgR2VnZW5kIG5pZQpiZXRyZXRlbiB3aXJkIHVuZCBkaWVzZW4gWnVzdGFuZCBkYW5uIGFscyB6dWZyaWVkZW5zdGVsbGVuZCBlcmFjaHRlbi4KRnVlciBtaWNoIGFscyBTcGllbGVyIHdpcmQgZXMgaW1tZXIgImFuZGVyZSIgTWFnaWVyIGdlYmVuLCBkaWUgd2FzCnZlcm51ZW5mdGlnZXMgcHJvZ2dlbiwgYWJlciBmdWVyIGVpbmVuIE1hZ2llciBuaWUgYW5kZXJlIFNwaWVsZXIgIQoKRWluIEJsdWVtZWwuCgoKUFM6IEljaCBzZWhlIGdlcmFkZSwgZGFzcyBkZXIgQXJ0aWtlbCB2b24gWmFybml5YSBpbSBNdWVsbCBnZWxhbmRldCBpc3QgdW5kCmljaCBnbGF1YmUsIGRhIGdlaG9lcnQgZXIgYXVjaCBoaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVwcGVuIChUcmVrYW4sICA1LiBKdW4gMTk5OCwgMTM6MzQ6MjIpOgp+IyEgcm49Qmx1ZW1lbCBydD04OTcwNDYyOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTcwNDYyOTIKVHJla2FuIGhvZmZ0LCBkYXNzIGRpZXNlIERpc2t1c3Npb24sIGRpZSBlaWd0bCBnYXIga2VpbiBaaWVsIGhhdCBiYWxkIGJlZW5kZXQKaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSaW5nZSAoU3RpbmcsICA3LiBKdW4gMTk5OCwgMTM6NTc6MzYpOgpEYSBkaWUgTWFnaWVyIG9mZmVuc2ljaHRsaWNoIHp1IGZhdWwgc2luZCwgZGF6dSB3YXMgenUgc2NocmVpYmVuIChib2VzZSB6dQpSaWt1cyBydWViZXJzY2hpZWwgOikpLCB3ZXJkZSBpY2gga3VyeiBlcmtsYWVyZW4gd2FydW0gaWhyIGFsbGUgZXVyZQpEcm9tLVJpbmdlIHZlcmxvcmVuIGhhYnQ6CgpFcyB3YXIgZWluIHVlYmxlciAoQnVnLCBGZWF0dXJlPyA6KSkgaW4gZGVuIFJpbmdlbiwgZGVyIFNwaWVsZXIgcXVhc2kgenUKR29ldHRlcm4gZ2VtYWNodCBoYXQgKFphcCA6KSkuIERpZXNlciBCdWcgd2FyIGVpbmZhY2ggenUgaGVmdGlnLCBlcyBnYWIgendlaQpNb2VnbGljaGtlaXRlbjogZW50d2VkZXIgUmVib290LCBvZGVyIG51ciBkaWUgUmluZ2UgbG9lc2NoZW4sIGljaCBwZXJzb2VubGljaApmYW5kIGRpZXNlIExvZXN1bmcgYmVzc2VyIDopCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJpbmdlIChUcmVrYW4sICA3LiBKdW4gMTk5OCwgMTU6NTU6MDEpOgp+IyEgcm49U3RpbmcgcnQ9ODk3MjIwNjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3MjIwNjU2Ck1taCAuLiBoYXN0IGR1IGFsc28gZGVtb2tyYXRpc2NoIGVudHNjaGllZGVuLCBkYXNzIGtlaW4gcmVib290IHNlaW4gc29sbD8KClRyZWthbiAtPiBpbW1lciBmdWVyIFJlQm90CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJpbmdlIChKYXNvbnJpZ2lkLCAgNy4gSnVuIDE5OTgsIDE2OjI1OjA1KToKfiMhIHJuPVRyZWthbiBydD04OTcyMjc3MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTcyMjA2NTYKSmEsIFRyZWthbiwgZWluc3RpbW1pZywgYWxzbyBtaXQgZWluZXIgU3RpbW1lICpncmlucyoKCkphc29uLCBlaW56ZWlsaWcgdW5kIC0+IFNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNVEIgKERhbnRlLCAgNy4gSnVuIDE5OTgsIDE3OjEwOjUxKToKS2VubnQgamVtIGVpbmUgSFAgYnp3LiBlaW5lbiBPTmxpbmVkaWVuc3QgYmVpIGRlbSBtYW4gZ3VlbnN0aWcgVGVpbGUgdW5kClp1YmVob2VyIGZ1ZXIgTVRCcyBrYXVmZW4ga2Fubi4KSGF0IGplbSBFcmZhaHJ1bmcgbWl0IGRlbSBPbmxpbmVrYXVmIHZvbiBzb2xjaGVuIFRlaWxlbiwKd2FzIGtvc3RldCBtaXIgZWluIERpbmcgZGFzIDEwMCB1cyQga29zdGV0IHdpcmtsaWNoPwpXaWUgc2NoYXV0cyBtaXQgZGVtIFpvbGwgYXVzPwpGdWVyIGluZm9zIGRhbmtiYXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSaW5nZSAoQm9pbmcsICA4LiBKdW4gMTk5OCwgMDc6Mzc6NTApOgp+IyEgcm49U3RpbmcgcnQ9ODk3MjIwNjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3MjIwNjU2ClNvcnJ5LCBzb3JyeSwgQXNjaGUgYXVmIG1laW4gSGF1cHQuCkRhIHdhciBlaW4gYnVnIGluIGRlbiBSaW5nZW4sIGRlciBlaWdlbnRsaWNoIG51ciBhdWZnZXRyZXRlbiBpc3QsIHdlbm4KbWFuIHNpY2ggemllbWxpY2ggZGFlbWxpY2ggYW5zdGVsbHQsIGRlbiB3b2xsdGUgaWNoIGF1c2JhdWVuLCBoYWIgZGFiZWkKYWJlciBsZWlkZXIgZWluZW4gdmllbCBncmF2aWVyZW5kZXJlbiBidWcgZWluZ2ViYXV0LiAKRGllIEVudHNjaGVpZHVuZyBhbGxlIFJpbmdlIHp1IHplcnN0b2VyZW4gaGFsdGUgaWNoIGF1Y2ggZnVlciBkZXV0bGljaApiZXNzZXIsIGFscyBkYXMgTXVkIHp1IHJlYm9vdGVuLiBJY2ggaG9mZmUgZGFzcyBqZXR6dCBiZWlkZSBidWdzIHJhdXMgc2luZC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU29mdHdhcmUtTWFnaWVyZWlnZW50dW0gKEFjcmltb24sICA4LiBKdW4gMTk5OCwgMTg6MjI6MTApOgp+IyEgcm49WmFybml5YSBydD04OTY5NDM5NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTY4NjYzOTMKVGFya28gUmV1YiBpc3Qgd2VkZXIgYWJnZWtsZW1tdCBub2NoIGlzdCBlcyBqZSBhYmdla2xlbW10IGdld2VzZW4sIHVuZCBlcyB3YXIKdW5kIGlzdCB1bmQgYmxlaWJ0IGVpbiBBYmVudGV1ZXIuCkRhcyBrb2VubnQgaWhyIG5pY2h0IGxldWduZW4uCk51ciBkaWUgQmVsb2hudW5nIHd1cmRlIGV0d2FzIHZlcnJpbmdlcnQsIGFiZXIgZGFzIGlzdCBhdWNoIHNjaG9uIGFsbGVzLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVRCIChEZWVwYmx1ZSwgIDkuIEp1biAxOTk4LCAwODoyNjozNCk6Cn4jISBybj1EYW50ZSBydD04OTcyMzIyNTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTcyMzIyNTEKVmVyc3VjaCBtYWwgd3d3LmJpY3ljbGVzLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1UQiAoU21lYWdvbCwgIDkuIEp1biAxOTk4LCAxNzowMDo1MSk6Cn4jISBybj1EZWVwYmx1ZSBydD04OTczNzM1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTcyMzIyNTEKd3d3LmJpa2VzLmRlIAp6dSBlbXBmZWhsZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTVEFSIFdBUlMgKFN0aW5nLCAxMS4gSnVuIDE5OTgsIDEwOjI1OjQyKToKQW4gYWxsZSBTdGFyLVdhcnMtRmFucyA6KQoKU1RBUi1XQVJTIFNDUklQVCAtIEVJTiBKQUhSIFZPUiBGSUxNU1RBUlQgSU0gSU5URVJORVQKICAgICAgRGVyIG5ldWUgU3RhcldhcnMtRmlsbSwgZGVzc2VuIEhhbmRsdW5nIHplaXRsaWNoIFZPUiBkZW4gYmVrYW5uLQogICAgICB0ZW4gZHJlaSBFcGlzb2RlbiBzcGllbGVuIHdpcmQsIGdlaG9lcnRlIGJpcyBqZXR6dCB6dSBkZW4KICAgICAgYmVzdGdlaHVldGV0ZW4gR2VoZWltbmlzc2VuIEhvbGx5d29vZHMuIEFiZXIgZGFuayBkZXIgdW5lcm11ZWQtCiAgICAgIGxpY2hlbiBTcHVyZW5zdWNoZSBlaW5lcyBTdGFyLVdhcnMtRW50aHVzaWFzdGVuIGthbm4gbWFuIHNpY2ggZGllCiAgICAgIGV4a2x1c2l2ZW4gRm90b3MgdW5kIGRpZSBIYW5kbHVuZyBkZXMgRmlsbXMgc2Nob24gaGV1dGUsIEVJTiBKQUhSCiAgICAgIHZvciBkZW0gRmlsbXN0YXJ0IGluIGRlbiBVU0EsIGltIEludGVybmV0IGR1cmNobGVzZW4uIFJvZGVyaWNrCiAgICAgIFZvbmhvZWdlbiwgaG9sbGFlbmRpc2NoZXIgUGFzdG9yIHVuZCBCZXRyZWliZXIgZGVyIEZhbnNlaXRlCiAgICAgIF9UaGVGb3JjZS5OZXRfLCBoYXQgYXVzIG9mZml6aWVsbGVuIFByZXNzZW1pdHRlaWx1bmdlbiwgR2VydWVjaHRlbgogICAgICB1bmQgSW5zaWRlcmluZm9ybWF0aW9uZW4gZWluZSB6dXNhbW1lbmhhZW5nZW5kZSBHZXNjaGljaHRlIGhlci0KICAgICAgYXVzZ2VmaWx0ZXJ0IHVuZCBkYW1pdCBHZW9yZ2UgTHVjYXMgbGF1dCBndXRpbmZvcm1pZXJ0ZXIgS3JlaXNlCiAgICAgIGVpbmlnZSBLb3Bmc2NobWVyemVuIGJlcmVpdGV0LiBIb2ZmZW50bGljaCBoZWlzc3QgZXMgZGEgZnVlcgogICAgICBWb25ob2VnZW4gbmljaHQgYmFsZDogRGFzIChMdWNhcy0pIEltcGVyaXVtIHNjaGxhZWd0IHp1cnVlY2sgLi4uCiAgICAgICsrIFJvZGVyaWNrIFZvbmhvZWdlbnMgX1ZpcnR1YWwgRWRpdGlvbl86CiAgICAqIGh0dHA6Ly93d3cudGhlZm9yY2UubmV0L1ZpcnR1YWwtRWRpdGlvbi8KICAgICAgKysgV2llIGRpZSBfVmlydHVhbCBFZGl0aW9uIGVudHN0YW5kOgogICAgKiBodHRwOi8vd3d3LnNhbG9ubWFnYXppbmUuY29tLzIxc3QvZmVhdHVyZS8xOTk4LzA1LzE4ZmVhdHVyZS5odG1sCiAgICAgICsrIEJlaSBMdWNhc2ZpbG0gZ2lidCBlcyBkaWUgc3BhZXJsaWNoZW4gb2ZmaXppZWxsZW4gSW5mb3M6CiAgICAqIGh0dHA6Ly93d3cuc3RhcndhcnMuY29tL2VwaXNvZGUtaS8KICAgICAgKysgRGlyZWt0IGF1cyBzZWluZW0gU2NobGFmemltbWVyIGJlcmljaHRldCBkZXIgS2luby0gdW5kIEZhc3QtCiAgICAgIEZvb2QtSnVua2llIEhhcnJ5IEtub3dsZXMgLSB1bmQgZ2FueiBIb2xseXdvb2Qgeml0dGVydCB2b3IgZGllc2VtCiAgICAgIE1hbm4sIGRlciBkaWUgaGVpc3NlbiBTdG9yeXMgaW1tZXIgYWxzIGVyc3RlciBoYXQ6CiAgICAqIGh0dHA6Ly93d3cuYWludC1pdC1jb29sLW5ld3MuY29tLwoKClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqKiogU2l2YW8gZ2VodCB3aWVkZXIgaW4gQmV0cmllYiAqKiogKElqYW4sIDExLiBKdW4gMTk5OCwgMTU6NTE6MTApOgpIaSAhCkZSRVVERU5GRVNUCgpFcyBpc3QgbWlyIGdlbHVuZ2VuLCBlaW5lbiBuZXVlbiBTZXJ2ZXIgCmZyIGRhcyAnU2l2YW8nIHp1IGZpbmRlbiAhISEKCkRlciBTZXJ2ZXIgc3RlaHQgaW0gUmVjaGVuemVudHJ1bSAKQmVybGluZXIgVG9yIGRlciBGYWNoaG9jaHNjaHVsZSBIYW1idXJnLiAKJ1NpdmFvJyB3aXJkIHZvcnJhdXNzaWNodGxpY2ggenVtIAowMS4xMC4xOTk4IG9mZml6aWVsbCBpbiBCZXRyaWViIGdlbm9tbWVuLiAKCkljaCBoYWJlIGJlcmVpdHMgZWluZW4gTnV0enVuZ3N2ZXJ0cmFnIAphdXNnZWFyYmVpdGV0LCBkZXIgZGllIFp1c3RpbW11bmcgZGVzIApMYWJvcmJldHJpZWJzbGVpdGVycyBnZWZ1bmRlbiBoYXQuCgpXYXMgbGFuZ2Ugd2FlaHJ0IHdpcmQgZW5kbGljaCBndXQgISEhCgpnZXplaWNobmV0OgogICAgICBPZGluIHp1IFZlbnNyZQogICAgICAtIE11ZEdvdHQgZGVzIFNpdmFvIC0KICAgICAgLSBmdWVyIFJMLUFkbWluaXN0cmF0aW9uIC0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaVC1GcnVzdCAoSmFycnVzLCAxNC4gSnVuIDE5OTgsIDEzOjAxOjE2KToKV2VsY2hlciBTaW5uIHN0ZWNrdCBlaWdlbnRsaWNoIGRhaGludGVyLCBkYXNzIE1ldHplbC1aVHMgd2llIHpCLiBkZXIgSG9iYml0LVpUCm9kZXIKZGVyIERyYWNoZW4tWlQgaW4gRHJha29uaWVuIHNvIHVubW9lZ2xpY2ggc2Nod2VyIHNpbmQ/IEFscyBOaWNodC1CZXJ1ZnNtZXR6bGVyCnNlaCcgaWNoIGZ1ZXIgbWljaCBkYSBrZWluZSBDaGFuY2UgLSBhYmVyIGplbWFuZGVuIHp1IGJpdHRlbiwgZGllIEdlZ25lcgp3ZWd6dW1ldHplbG4Ka2FubiBkb2NoIG5pY2h0IHdpcmtsaWNoIGRpZSBJZGVlIGRlciBTYWNoZSBzZWluLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpULUZydXN0IChCaWVsZWZlbGQsIDE0LiBKdW4gMTk5OCwgMTQ6MDA6MDgpOgp+IyEgcm49SmFycnVzIHJ0PTg5NzgyMjA3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpNVUQgPSBNdWx0aS1Vc2VyLUR1bmdlb24KICAgICAgXl5eXl4KCkplbWFuZCBhdXMgQmllbGVmZWxkIChIZXV0ZSB3ZW5pZyBnZXNwcmFlY2hpZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWlQtRnJ1c3QgKEdyaW1tYm9ybiwgMTQuIEp1biAxOTk4LCAxOTowODo1OSk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9ODk3ODI1NjA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3ODIyMDc2CkR1IG1laW5zdCAibXVsdGkiIHdpZSBpbiAiTGFzcyB1bnMgd2FzIHp1c2FtbWVuIG1hY2hlbjogSWNoIHNjaGF1IERpciB0YXRlbmxvcwpkYWJlaSB6dSB3aWUgRHUgbWlyIGRlbiBXZWcgenUgbWVpbmVtIHp0IGZyZWloYWNrc3QiPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaVC1GcnVzdCAoQmllbGVmZWxkLCAxNC4gSnVuIDE5OTgsIDIwOjA3OjUxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTc4NDQxMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTc4MjIwNzYKS2xhciwgd2FzIHNvbGwgaWNoIGFscyBNYWdpZXIgYW5kZXJlcyBtYWNoZW4gYWxzIHp1c2NoYXVlbi4KCkplbWFuZCBhdXMgQmllbGVmZWxkCih0cmF1dCBHcmltbWkgZWggbml4IGtvbnN0cnVrdGl2ZXMgenUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaVC1GcnVzdCAoWWFyZW4sIDE1LiBKdW4gMTk5OCwgMDE6Mjc6MzYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5Nzg0NDEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpOYWphLCB2aWVsIFNwYXNzIGJlaSBkZW0gWlQgYWxsZWluZSAuLi4gZGVyIGlzdCBkb2NoIHF1YXNpIGRhZnVlciBhdXNnZWxlZ3QsCmRhc3MgbWFuIGRlbiBtaXQgbWVocmVyZW4gbWFjaHQgdW5kIGZ1ZXIgZGVuIEZhbGwsIGRhc3MgZGVtIG5pY2h0IHNvIGlzdDoKc2NobGVjaHRlcyBaVC1EZXNpZ24gd3VlcmRlIGljaCBzYWdlbiAuLi4gClVuZCB6dSBEZWluZW0gQXVzbGVnZW4gdm9uICdtdWx0aSc6IG9iIGRhcyBudW4gbmVuIFpUIGlzdCBvZGVyIG5lbiBNb25zdGVyIG1pdAppcmdlbmR3ZWxjaGVuIG51ZXR6bGljaGVuIEl0ZW1zLCB3YXMgbWFuIHNpY2ggJ3dlZ21ldHplbG4nIGxhZXNzdCBpc3QgZG9jaAp3b2hsIHZvZWxsaWcgZWdhbCwgZ2VyYWRlIGRhIHNlaGUgaWNoIHBlcnNvZW5saWNoIGRlbiBTaW5uIGRlcwpNVUxUSS1Vc2VyLUR1bmdlb25zLCBnZXJhZGUgd2VubiBkaWUgR2lsZGVuIHNvIHVudGVyc2NoaWVkbGljaGUgUXVhbGl0YWV0ZW4KaGFiZW4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpULUZydXN0IChHcmltbWJvcm4sIDE1LiBKdW4gMTk5OCwgMDE6NTQ6MjApOgp+IyEgcm49WWFyZW4gcnQ9ODk3ODY2ODU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3ODIyMDc2CkhhYiBpY2ggZGFzIGpldHp0IHJpY2h0aWcgdmVyc3RhbmRlbjogRHUgc2llaHN0IGRlbiBTaW5uIGRlcyBNVUxUSS1Vc2VyLQpEdW5nZW9ucyBkYXJpbiwgZGFzcyBEaXIgYW5kZXJlIHdhcyB3ZWdtZXR6ZWxuIHdhZWhyZW5kIER1IHVudGFldGlnIHp1c2NoYXVzdD8KRHUgYXJtZXMgV3VlcnN0Y2hlbiwgRHUuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFpULUZydXN0IChHbG9pbnNvbiwgMTUuIEp1biAxOTk4LCAwMzowNTo0Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk3ODY4NDYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3ODIyMDc2CkpvLCB1bnRlciBhbmRlcmVtIGlzdCBkZXIgU2lubiB2b24gTXVsdGkgYXVjaCBkZXIsIGRhc3MgaWNoIG1pciBoZWxmZW4gbGFzc2UsCm9id29obCBkYXMgZWlnZW50bGljaCBudXIgZnVlciBOZXdiaWVzIHNvIHp1dHJpZmZ0LgpJY2gga2FubiBtaWNoIG5vY2ggZ3V0IGVyaW5uZXJuLCBhdXMgcmVpbmVtIFNwYXNzIGFuIGRlciBTYWNoZSBtaXQgdW0gNzAgTFAKTWFoYXRtYSBiZWkgZGVyIEh5ZHJhICdnZWhvbGZlbicgenUgaGFiZW4uIEVpbiBwYWFyIFNjaGxhZWdlIGFiZmFuZ2VuIHVuZCBzby4KVmllbGxlaWNodCBzb2xsdGVzdCBEdSBEaXIgbWFsIHVlYmVybGVnZW4sIHdhcnVtIER1IGhpZXIgYmlzdCwgR3JpbW1pLCBkZW5uCkRlaW5lIEFydGlrZWwgd2FyZW4gYXVjaCBzY2hvbiBtYWwgaW5ub3ZhdGl2ZXIuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpULUZydXN0IChDYXR3ZWF6bGUsIDE1LiBKdW4gMTk5OCwgMTY6NDQ6MzYpOgp+IyEgcm49SmFycnVzIHJ0PTg5NzgyMjA3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpFaW4gcHBhciBaVHMgc2luZCBkdXJjaGF1cyBzbyBnZWRhY2h0LCBkYXMgbWFuIHNpZSBzaWNoIG5pY2h0IHNvZm9ydCBob2xlbgprYW5uLCBzb25kZXJuIGVyc3Qgd2VubiBtYW4gZXJmYWhyZW5lciB1bmQgYmVzc2VyIGlzdC4gVmllbGxlaWNodCBiaXN0IER1IGphCmlyZ2VuZHdhbm4gZ3V0IGdlbnVnIHVtIGlobiBzZWxic3QgenUgbWV0emVsbiAuLi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKUFM6IEplbWFuZCBhbmRlcmVuIHp1IGZyYWdlbiBzdGVodCBEaXIgbmF0dWVybGljaCBqZWRlcnplaXQgZnJlaSAuLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaVC1GcnVzdCAoSmFycnVzLCAxNS4gSnVuIDE5OTgsIDIyOjQzOjAyKToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTc5MjE4NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTc4MjIwNzYKTnVuamEsIG1pdCBTdHVmZSAyMyB1bmQgZmFzdCB2b2xsZW4gU3RhdHMgc29sbHRlIG1hbiBlaWdlbnRsaWNoIGtlaW5lClByb2JsZW1lIG1laHIgaW0gTUcgaGFiZW4sIG9kZXI/CkFiZ2VzZWhlbiBkYXZvbiBlbnRzdGVodCBtZWluIEZydXN0IHZpZWwgbWVociBkYXJhdXMsIGRhc3MgbWFuIGthdW0gamVtYW5kZW4KYmV3ZWdlbiBrYW5uLCBlaW5lbSB6dSBoZWxmZW4gLSBhcnJvZ2FudGUgSGlnaC1MZXZlbGVyIGhhYmVuIG1laXN0CndhcyBiZXNzZXJlcyB2b3IgdW5kIHNpbmQgc2ljaCB6dSB2b3JuZWhtLCBhdWYgZGVuIEViZW5lbiB6dSB0aXBwZW4sIHVuZApmdWVyIHNvd2FzIGlyZ2VuZHdlbGNoZSBTdHVmZS0yLVNwaWVsZXIgenUgdmVyaGVpemVuIGthbm4gamEgYXVjaCBuaWNodCBnYW56CnN0aW1tZW4uCi0tCkNVLCBKYXJydXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpULUZydXN0IChUcmVrYW4sIDE1LiBKdW4gMTk5OCwgMjI6NDQ6NTcpOgp+IyEgcm49SmFycnVzIHJ0PTg5Nzk0MzM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpWaWVsbGVpY2h0IGhhc3QgZHUgYXVmIGRlbSBrYW5hbCBuaWNodCBkZW4gcmljaHRpZ2VuIHRvbiBnZWZ1bmRlbj8KT2RlciBzY2hvbm1hIHZlcnN1Y2h0IG9udGFrdCBtaXQgYW5kZXJlbiBsZXV0ZW4gZGlyZWt0IGF1Znp1bmVobWVuPyBEYWJlaQptZWluZSBpY2ggbmljaHQgd2lsZGVzIHJ1bSBtaXQgdGVpbGVuIGV0Yywgc29uZGVybiB3ZW5uIG1hIHdhcyBhdWZtIGthbmFsIGxvcwppcywgb2RlciBtYW4gbGV1dGUgdW4gZGVyIHBhbXBhIHNvIGJlaW0gbGFiZXJuL2lkZWxuIGVyd2lzY2h0LiAKU29sY2hlIEtvbnRha3RlIGtvZW5uZW4gc2ljaCBkYW5uIGJlaSBzb3dhcyBhbmdlYmxpY2ggYXVzemFobGVuLgoKVHJla2FuIC0+IGFycm9nYW50ZXIgc2NobWFyb3R6ZXIsIGRlciBzaWNoIGF1Y2ggaW1tZXIgbnVyIGhlbGZlbiBsYWVzc3QgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpULUZydXN0IChSaW5nb3IsIDE1LiBKdW4gMTk5OCwgMjI6NDY6MDkpOgp+IyEgcm49SmFycnVzIHJ0PTg5Nzk0MzM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgphKSBXZW5uIER1IG1pdCBMZXZlbCAyMyB1bmQgbm9jaCBuaWNodG1hbCB2b2xsZW4gU3RhdHMgbmlyZ2VuZHdvIGltIE1HIG1laHIKUHJvYmxlbWUgaGFldHRlc3QsIHdhZXJlIGRhcyBNZXR6ZWxuIGFscyBITFAgZG9jaCBldHdhcyBhcmcgbGFuZ3dlaWxpZy4KCmIpIERpZSBhcnJvZ2FudGVuIEhMUCBzaW5kIGF1Y2ggbmljaHQgZGF6dSBkYSwgdW0gRGlyIERlaW5lIFpUcwpoaW50ZXJoZXJ6dXRyYWdlbi4gRXJzdGUgQW5zcHJlY2hwYXJ0bmVyIHNvbGx0ZW4gZGEgdmllbGxlaWNodCBEZWluZSBGcmV1bmRlCnNlaW4sIGZhbGxzIHZvcmhhbmRlbiwgb2RlciBhbmRlcmUgU3BpZWxlciBtaXQgdW5nZWZhZWhyIERlaW5lbSBMZXZlbC4KCldlbm4gaWhyIGRhbm4gX3p1c2FtbWVuXyBsb3N6aWVodCwgaGFidCBpaHIgdS5VLiBzb2dhciBub2NoIFNwYXNzIGRhYmVpIC0gd2FzCmZ1ZXIgbWluZGVzdGVucyBlaW5lIFNlaXRlIG5pY2h0IGdlZ2ViZW4gaXN0LCB3ZW5uIER1IERpciBEZWluZSBaVHMgc2NoZW5rZW4KbGFlc3N0LgoKUmluZ29yLiBBcnJvZ2FudGVyIEhMUC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpULUZydXN0IChUZWRkeSwgMTUuIEp1biAxOTk4LCAyMjo1NjoyNCk6Cn4jISBybj1KYXJydXMgcnQ9ODk3OTQzMzgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3ODIyMDc2CldvdywgZHUgaGFzdCBzY2hvbiBTdHVmZSAyMyB1bmQgc2NoYWZmc3Qgbm9jaCBuaWNodCBkaWUgSHlkcmEsIFdhdGVyIEx1aCB1bmQKV2VnaGllciBnbGVpY2h6ZWl0aWc/IERhcyB2ZXJzdGVoIGljaCBudW4gZ2FybmljaHQuClZvbGxlIFNraWxscyBlcnJlaWNoc3QgZHUgaGllciBlcnN0IG1pdCBsdmwgMzUsIEZsdWNodHJpY2h0dW5nIGtsYXBwdCB6dSAxMDAlCmVyc3QgbWl0IGx2bCA1MC4KSWNoIGhhYiBtaXQgbHZsIDU1IGFsbGVyZGluZ3MgaW0gTUcgYXVjaCBrZWluZSBQcm9ibGVtZSBtZWhyLC4uLiB6dSBzdGVyYmVuLgpJcmdlbmR3YXMgaGFzdCBkdSBvZmZlbnNpY2h0bGljaCBmYWxzY2ggdmVyc3RhbmRlbiBiZWltIFNwaWVscHJpbnppcC4KQXVzc2VyZGVtIGFudHdvcnRlIGljaCBzdGFlbmRpZyBhdWYgZGVuIEViZW5lbiB1bmQgaWNoIGJpbiBhdWNoIG9mdCBnZW51ZyBkYS4KRnVlciBhbmRlcmUgZ2lsdCBkYXMgZ2xlaWNoZS4KQWJlciB2aWVsbGVpY2h0IGdlbHRlIGljaCBmdWVyIGRpY2ggamEgbm9jaCBuaWNodCBhbHMgSExQLgpXZW5uIGR1IGFsbGVyZGluZ3MgbWl0IHNvbGNoIGVpbmVyIGVpbnN0ZWxsdW5nIHdpZSBiZXNjaHJpZWJlbiBhdWYgZGllIExldXRlCnp1IGdlaHN0LCB3dW5kZXJ0IGVzIG1pY2gsIGRhcyBkdSBub2NoIGljaHQgdm9uIGRlbiBtZWlzdGVuIGlnbm9yaWVydCB3aXJzdC4KCkljaCBoYWIgamVkZW5mYWxscyBhdWNoIGJlaSBuZXIgTWVuZ2UgU2FjaGVuIEhpbGZlIGdla3JpZWd0LCBrcmlnZSBzaWUgbm9jaApoZXV0ZSB1bmQgZ2ViZSBzaWUgYXVjaC4gSWNoIGJpbiBzb2dhciBzY2hvbiBnZXN0b3JiZW4sIHdlaWwgaWNoIExMUHMgYmVpIGRlcgpaVC1TdWNoZSBnZWhvbGZlbiBoYWIgZ2VzdG9yYmVuLgoKVGVkZHksIFN1cGVyYXJyb2dhbnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaVC1GcnVzdCAoR3JpbW1ib3JuLCAxNi4gSnVuIDE5OTgsIDAxOjI0OjIwKToKfiMhIHJuPUdsb2luc29uIHJ0PTg5Nzg3Mjc0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpWZXJzdWNoIG1hbCBvYiBEdSBpbiBkZXIgTGFnZSBiaXN0IG1laHJlcmUgQXJ0aWtlbCBpbSBadXNhbW1lbmhhbmcgenUgc2VoZW4uCkVzIGdpbmcgYXVzc2NobGllc3NsaWNoIGRhcnVtLCBkYXNzIG1laW5lciByaWNodGlnZW4gTWVpbnVuZyBuYWNoICJtdWx0aSIKbmljaHQgaGVpc3N0IGFuZGVyZSBhbGxlcyBmdWVyIGVpbmVuIHNlbGJlciBtYWNoZW4genUgbGFzc2VuIHNvbmRlcm4genVzYW1tZW4KZXR3YXMgZ2VtZWluc2FtIHp1IG1hY2hlbi4gVW5kIFlhcmVuIHNjaHJpZWIsIGRhc3MgIm11bHRpIiBlcnN0ZXJlcyBiZWRldXRlbgp3dWVyZGUgKHdvYmVpIGljaCBhbGxlcmRpbmdzIHVuZ2VuYXVlIEF1c2RydWNrc3dlaXNlIG1pbGRlcm5kIGluIFJlY2hudW5nIHp1CnN0ZWxsZW4gYmVyZWl0IGJpbikuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpULUZydXN0IChLZXksIDE2LiBKdW4gMTk5OCwgMTA6MjY6MDIpOgp+IyEgcm49SmFycnVzIHJ0PTg5Nzk0MzM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgoxLiBJY2ggbGFzc2UgbWljaCBoZXJuaWVkZXIgYXVmIGRpZXNlbiBBcnRpa2VsIGVpbmVzIFVud3VlcmRpZ2VuIHp1IGFudHdvcnRlbiEKMi4gV2VubiBtYW4gbmUgTHVzY2hlIGlzdCBpc3QgZGVyIExldmVsIHVuZCBkaWUgc3RhdHMgZWdhbC4KMy4gU29sbHRlc3RlIHdpcmtsaWNoIG1hbCBIaWxmZSBicmF1Y2hlbiB3aXJkIERpciBnZWhvbGZlbiB3ZXJkZW4uCjQuIEFycm9nYW50ZSBIaWdoLUxldmVsZXIgLi4uIEFuYXRvbCBQYWRyZWljIHVlYmVybmVobWVuIFNpZSEKNS4gWnUgdm9ybmVobSB1bSBhdWYgZGVuIEViZW5lbiB6dSB0aXBwZW4gLi4uIGRhcyB6ZWlndCBkYXMgRHUgYWJzb2x1dCBLRUlORQpBaG51bmcgaGFzdCB3b3ZvbiBEdSByZWRlc3QuCjYuIFN0dWZlIDIgU3BpZWxlciB2ZXJoZWl6ZW4/IEljaCBmcmFnIG1pY2ggd2FzIER1IGRhbWl0IG1laW50ZXN0IC4uLgoKU28gaGFiZXQgaWhyIG51biBlbXBmYW5nZW4gZGllIFdvcnRlIGV1cmVzIHVuZmVobGJhcmVuIFNjaGx1ZXNzZWxzISA9OykKCktleSwga29ubnRlIG5ldCBhbmRlcnN0ICwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBaVC1GcnVzdCAoQmxvb2R5aGFycnksIDE2LiBKdW4gMTk5OCwgMTA6Mzg6MjEpOgp+IyEgcm49S2V5IHJ0PTg5Nzk4NTU2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpXZW5uIFBhZHJlaWMgaGlsZnQsIHdpcmQgZXIgZGllcyBzaWNoZXIgbmljaHQgc2VociBvZnQgdHVuLiA7LSkKCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBaVC1GcnVzdCAoWWFyZW4sIDE2LiBKdW4gMTk5OCwgMTY6NTk6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5Nzk1MzA2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpKYWFhYSEgSWNoIGhhYmUgZGllIEFic29sdXRpb24gZGVzIEhhYXJzcGFsdC1NaW5pc3RlcnMgZXJoYWx0ZW4hIFVuZ2VuYXVlCkF1c2RydWNrc3dlaXNlLiBQdWhhISBJY2ggaGF0dGUgc2Nob24gYmVmdWVyY2h0ZXQsIGljaCBoYWV0dGUgZWluZW4gSGF1ZmVuIHZvbgpTY2hyZWliZXJsaW5nZW4gYmVhdWZ0cmFnZW4gbXVlc3NlbiwgU2VrdW5kYWVyLUxpdGVyYXR1ciB6dSBtZWluZW0gQXJ0aWtlbCB6dQp2ZXJmYXNzZW4uIEdsdWVjayBnZWhhYnQuIEthbm4gZGVyIFRocmVhZCBqZXR6dCBuYWNoIC9kZXYvbnVsbD8KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWlQtRnJ1c3QgKFRyYW5jZWZlYXIsIDE2LiBKdW4gMTk5OCwgMTg6NDk6MjIpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODk3ODcyNzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk3ODIyMDc2CkdyaW1taSBpc3QgaGllciB3ZWlsIGVyIHNpY2ggc29uc3QgbGFuZ3dlaWx0IDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFpULUZydXN0IChHcmltbWJvcm4sIDE2LiBKdW4gMTk5OCwgMjA6MDM6MTQpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTgwMTU3NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTc4MjIwNzYKTmVpbiwgZGFtaXQgZGllIFRlbGVrb20gd2VpdGVyIGlocmVuIEFrdGlvbmFlcmVuIGRvbGxlIEVyZ2Vibmlzc2Ugdm9ybGVnZW4Ka2Fubi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWlQtRnJ1c3QgKEFzbW9kaXMsIDE3LiBKdW4gMTk5OCwgMTg6NDM6NDgpOgp+IyEgcm49VHJla2FuIHJ0PTg5Nzk0MzQ5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5NzgyMjA3NgpnZW5hdSwgd2VubiBtYW4gc2ljaCBkaWUgZ2FuemUgWmVpdCB1bmZsYWV0aWcgYXVmIGRlbiBLYW5hZWxlbgpiZW5pbW10LCBkYW5uIGthbm4gbWFuIG5pY2h0IGVyd2FydGVuLCBkYXNzIGplbWFuZCBoZXJiZWlnZXN0dWVyenQKa29tbXQsIHdlbm4gbWFuIHVtIEhpbGZlIHNjaHJlaXQgKG5hamEsIGRpZSBtZWlzdGVuIGtyaWVnZW4gZGFzCmVoIG5pY2h0IG1pdCwgd2VpbCBtYW4gZGFubiBhdWYgZGVyZW4gaWdub3JpZXJlLWxpc3RlIGlzdCkKCkhpZXIgZ2lidHMgZWJlbiBhdWNoIG5peCBvaG5lIFZvcmxlaXN0dW5nLCBLb250YWt0ZQpzb2xsdGUgbWFuIGF1ZmJhdWVuLCBiZXZvciBtYW4gaW4gZGVyIEtsZW1tZSBzdGVja3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxhZy12ZXJtZWlkdW5nIChhbnR3b3J0IGF1ZiBib2luZykgKEphc29ucmlnaWQsIDE4LiBKdW4gMTk5OCwgMTM6Mjg6MDMpOgpIaSBMZXV0ZSwKCmljaCB3dWVyZGUgZGFzIFpldWcgamEgZ2VybmUgYXVjaCBpbSBMYWRlbiB2ZXJrYXVmZW4sIHdlbm4gc2llIG5peCBicmFlY2h0ZW4sCndlbm4gZGFzIHp1ciBsYWctdmVybWluZGVydW5nIGJlaXRyYWVndC4ga2FubiBpY2ggYWJlciBuaWNodCwgd2VpbCBkZXIgbGFkZW4Ka2VpbmUgZ2VnZW5zdGFlbmRlIG1laHIgYW5rYXVmdCwgd2VubiBlciBwbGVpdGUgaXN0LiBkYXMgbXVlc3N0ZSBkYW5uCmdlZ2ViZW5lbmZhbGxzIGdlYWVuZGVydCB3ZXJkZW4uCgpKYXNvbiwgYmV6aWVodCBzaWNoIGF1ZiBCb2luZydzIEFydGlrZWwgaW4gQmVrYW5udG1hY2h1bmdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxhZy12ZXJtZWlkdW5nIChhbnR3b3J0IGF1ZiBib2luZykgKFBhZHJlaWMsIDE4LiBKdW4gMTk5OCwgMTM6Mjk6MzQpOgp+IyEgcm49SmFzb25yaWdpZCBydD04OTgxNjkyODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTgxNjkyODMKV2VubiBlcyB3aXJrbGljaCB1bSB1bmVudGdlbHRsaWNoZXMgRW5zb3JnZW4gZ2lsdCwgaGlsZnQgRGlyIGRhIGplZGVyCk11ZWxsc2NobHVja2VyIGdlcm5lIHdlaXRlciAoZGllIHN0ZWhlbiBpbiBuYWhlenUgYWxsZW4gTGFlZGVuIHVuZCBkZXN0cnVjdGVuCmRhcyBaZXVnIGJlaW0gbmFlY2hzdGVuIFJlc2V0KS4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGFnLXZlcm1laWR1bmcgKGFudHdvcnQgYXVmIGJvaW5nKSAoSmFzb25yaWdpZCwgMTguIEp1biAxOTk4LCAxMzozMDowNyk6Cn4jISBybj1KYXNvbnJpZ2lkIHJ0PTg5ODE2OTI4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODE2OTI4MwpoYWIgZ3JhZGUgZW50d2lja2x1bmcgZ2VsZXNlbiwgZGlrdXRpZXJlbiB3aXJzIGhhbHQgZGEgOikKCkphc29uLCBoZXV0ZSB2b3JlaWxpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFpbGVyIFByb2JsZW0gPyAoR3JvbywgMjMuIEp1biAxOTk4LCAwMToxMTo1NSk6CldhdCBpcyBsb3MgaW4gTXVlbnN0ZXIgPwpBbGxzbyBpY2ggaGFiIGhpZXIgZWluIERlcmJlcyBNYWlsZXJwcm9ibGVtIGluJ3MgTUcuCkljaCBoYWIgdm9uIG1laHJlcmVuIExldXRlbiBlcmZhaHJlbiwgZGFzIHNpZSBtaXIgbiBNYWlsIGdlc2NoaWNrdCBoYWJlbiwKdW5kIGhpZXIgaXN0IDoKMS4gTmljaHRzIGFuZ2Vrb21tZW4KMi4gRGllIExldXRlIGhhYmVuIChhdWNoIG5hY2ggMyBUYWdlbikgbml4IHp1cnVlY2tiZWtvbW1lbiwgZGFzIGRpZSBNYWlsCiAgIG5pY2h0IHp1Z2VzdGVsbHQgd2VyZGVuIGtvbm50ZS4uLgoKTmljaHQgc2VociBuZXR0LAp3ZWlsIGRhIGVjaHQgKG5hamEgZnVlciBtaWNoIGhhbHQpIHdpY2h0aWdlIHNhY2hlbiBkYWJlaSB3YXJlbgoKR1JvbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1haWxlciBQcm9ibGVtID8gKFJpa3VzLCAyMy4gSnVuIDE5OTgsIDA4OjI3OjU5KToKfiMhIHJuPUdyb28gcnQ9ODk4NTU3MTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1CnNpZWhlIEFydGlrZWwgMjAgaW4gQmVrYW5udG1hY2h1bmdlbi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFpbGVyIFByb2JsZW0gPyAoSm9mLCAyMy4gSnVuIDE5OTgsIDA4OjU4OjUxKToKfiMhIHJuPUdyb28gcnQ9ODk4NTU3MTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1CgogTGVpZGVyIGtvcnJla3QuIERpZSBNYXRoZW1hdGlrIGhhdCBlaW5lbiBGaXJld2FsbCBmdWVyIFBvcnQgMjUKaW5zdGFsbGllcnQsIGRlciBsZWlkZXIgYXVjaCB2b24gSU5ORVJIQUxCIGRlciBVbmkgd2lya3QuIERhIGljaAprZWluZSBSb290LVJlY2h0ZSBhdWYgZGVtIE1haWxzZXJ2ZXIgZGVyIE1hdGhlIG9kZXIgZ2FyIGRlcyBSWiBoYWJlbQpzZWhlIGljaCBkZXJ6ZWl0IGtlaW5lIE1vZWdsaWNoa2VpdCBkYXMgenUgYmVoZWJlbi4gRGVyIEZpcmV3YWxsIGlzdAphbHMga3VyenplaXRpZ2UgIk5vdCItQW50aS1TcGFtLU1hc3NuYWhtZSBnZWRhY2h0IHVuZCBzb2xsICJiYWxkIgp3aWVkZXIgdmVyc2Nod2luZGVuIChzb2JhbGQgbWFuIGRhenUgZ2Vrb21tZW4gaXN0LCBlaW4gbmV1ZXMgU2VuZG1haWwgenUKaW5zdGFsbGllcmVuIHVuZCBlbnRzcHJlY2hlbmQgenUga29uZmlndXJpZXJlbjsgbGVpZGVyIHdpbGwgbWFuIGtlaW4gZWlnZW5lcwo4LjkuMCB1ZWJlcnNldHplbiBzb25kZXJuIGF1ZiBkYXMgdm9uIFNVTiB3YXJ0ZW4pLiBTbyBsYW5nZSBtdWVzc2VuIHdpcgp1bnMgbnVuIHdvaGwgZ2VkdWxkZW4gOigKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvaGVyIGtyaWVnIGljaCBkaWUgdmVybG9yZW5lbiBTYWNoZW4/IChWaW5jZXJhLCAyNC4gSnVuIDE5OTgsIDExOjAwOjMzKToKTmFjaGRlbSBkYXMgTW9yZ2VuZ3JhdWVuIGFiZ2VzdHVlcnp0IGlzdCwgaGFiIGljaCB6d2FyIGRpZSAiZmluYW56aWVsbGUKRW50c2NoYWVkaWd1bmciIGVyaGFsdGVuLCBhYmVyIHNvIFNhY2hlbiB3aWUgZWluZSBEaWRkbC1NYXVzIHVuZCBkZW4gRmVlbnJpbmcKa3JpZWcgaWNoIHNvIHNjaG5lbGwgbmljaHQgd2llZGVyIChkZW4gRmVlbnJpbmcgdWViZXJoYXVwdD8/PykgR2lidCdzIGRhZnVlcgppcmdlbmRlaUxvZXN1bmc/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWxlciBQcm9ibGVtID8gKEdyaW1tYm9ybiwgMjQuIEp1biAxOTk4LCAxMTowNDozMik6Cn4jISBybj1Kb2YgcnQ9ODk4NTg1MTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1Ck5pY2h0IHNlbGJlciB1ZWJlcnNldHplbiBzb25kZXJuIGF1ZiBkYXMgdm9uIFN1biB3YXJ0ZW4uLi4gV2FzIGdlaHQgaW0gR2VoaXJuCnZvbiBMZXV0ZW4gdm9yIGRpZSBlaW5lciBGaXJtYSBtZWhyIHRyYXVlbiBhbHMgZWluZW0gY29tcGlsZXI/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWwgZ2VodCB3aWVkZXIgKENhdHdlYXpsZSwgMjQuIEp1biAxOTk4LCAxMjoxOTo0Nik6Ck1vaW4hCgpXaXIgaGFiZW4gbWcgYXVzIGRlciBGaXJld2FsbCByYXVzbmVobWVuIGxhc3NlbiwgZGguIG1haWwgdm9uYXVzc2VyaGFsYiBzb2xsdGUKamV0enQgd2llZGVyIGltIE1HIGFua29tbWVuLiBOYWNoIGxvZ2ZpbGUgc2luZCBiaXMgZGFoaW4gYWxsZXJkaW5ncyBldHdhIDIwMAptYWlscyBnZWJvdW5jZWQgd29yZGVuLCBhbHNvIG5pY2h0IGV0d2EgdmVyc2Nod3VuZGVuLCBzb25kZXJuIGFscyB1bnp1c3RlbGxiYXIKenVydWVja2dlZ2FuZ2VuLiBPYiB0YXRzYWVjaGxpY2ggd2VsY2hlIHZlcnNjaGx1Y2t0IHdvcmRlbiBzaW5kLCBrYW5uIGljaApuaWNodCBzYWdlbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVpc2VzeXN0ZW0gKEJsb29keWhhcnJ5LCAyNC4gSnVuIDE5OTgsIDE0OjI4OjMwKToKSGlIbyEKCkRpZSBTY2hpZmZlIChvZGVyIHNvbnN0aWdlIFRyYW5zcG9ydG1pdHRlbCkgdW5kIGRlcmVuIEhhZWZlbiBoYWJlbiBlaW4KbmV1ZXMgS29tbWFuZG8gYmVrb21tZW4sIGRhcyBkaWUgUmVpc2Ugendpc2NoZW4gSW5zZWxuIHVuZCBGZXN0bGFuZAplcmxlaWNodGVybiBzb2xsLiBEYW1pdCBlbnRmYWVsbHQgZGFzIGxhZXN0aWdlIFdhcnRlbiBhdWYgU2NoaWZmZSB1bmQKSGFlZmVuLiBVbmQgZWluIEVpbi0gdW5kIEF1c3N0ZWlnZW4gd2lyZCBhdWNoIG5pY2h0IG1laHIgdmVycGFzc3QuCldlciBhYmVyIGdlcm5lIGRhcyB0cmFkaXRpb25lbGxlIFJlaXNlbiBiZXZvcnp1Z3QsIGRhcmYgZGllcyBhdWNoCndlaXRlcmhpbiB0dW4uCgpEYSBpY2ggZGllIEFremVwdGFueiB1bmQgV3VlbnNjaGUgZGVyIFNwaWVsZXIgYmVydWVja3NpY2h0aWdlbiB3b2xsdGUsCmlzdCBkaWVzIG5vY2ggbmljaHQgZGllIGVuZGd1ZWx0aWdlIFZlcnNpb24hCgpJbiBkaWVzZXIgVmVyc2lvbiBpc3Qgbm9jaCBlaW5lIEVpbnNjaHJhZW5rdW5nIHZvcmhhbmRlbjogU2NoaWZmc25hbWVuCnVuZCBSZWlzZXppZWxlIHNpbmQgYmlzaGVyIG51ciB1ZWJlciBlaW5lbiBlaW5kZXV0aWdlbiBOYW1lbiBhbnNwcmVjaGJhci4KRGFoZXIgZ2lidCBlcyBpbiBqZWRlbSBIYWZlbiBkYXMgdm9ybGFldWZpZ2UgS29tbWFuZG8gJ3JlaXNlIHJvdXRlJywKbWl0IGRlbSBtYW4gYWxsZSBha3R1ZWxsIGd1ZWx0aWdlbiBOYW1lbiBlcmhhZWx0LgoKRXZlbnR1ZWxsIHNpbmQgbm9jaCBuaWNodCBhbGxlIEhhZWZlbiB1bmQgU2NoaWZmZSBhdWYgZGFzIG5ldWUgU3lzdGVtCnVtZ2VzdGVsbHQgdW5kIGVpbmlnZSB3ZXJkZW4gZXMgd29obCBhdWNoIG5pZSB3ZXJkZW4uCgoKQmxvb2R5SGFycnkKCgpQLlMuOiBIaWVyIGRlciBIaWxmZXRleHQgZnVlciAncmVpc2UnLCB3aWUgZXIgc3BhZXRlciBtYWwgYXVzc2VoZW4ga29lbm50ZToKCnJlaXNlCi0tLS0tCgogS09NTUFORE86CiAgICByZWlzZSBtaXQgPHRyYW5zcG9ydG1pdHRlbD4KICAgIHJlaXNlIG5hY2ggPHppZWw+CiAgICByZWlzZSBuaWNodAogICAgcmVpc2UKCiBBUkdVTUVOVEU6CgogICAgIDx0cmFuc3BvcnRtaXR0ZWw+CiAgICAgICAgRWluIFNjaGlmZiBvZGVyIGVpbiB2ZXJnbGVpY2hiYXJlcyBUcmFuc3BvcnRtaXR0ZWwKICAgICA8emllbD4KICAgICAgICBFaW4gSGFmZW4gb2RlciBlaW5lIEhhbHRlc3RlbGxlIGVpbmVzIFRyYW5zcG9ydG1pdHRlbHMKCiBCRVNDSFJFSUJVTkc6CiAgICBNaXQgYHJlaXNlIG1pdCA8dHJhbnNwb3J0bWl0dGVsPmAgd2FydGVzdCBEdSBhbiBlaW5lciBIYWx0ZXN0ZWxsZSBhdWYKICAgIGRpZSBBbmt1bmZ0IGRlcyBUcmFuc3BvcnRtaXR0ZWxzLCB1bSBlcyBkYW5uIGF1dG9tYXRpc2NoIHp1IGJldHJldGVuLgogICAgQXVmIGRlbSBUcmFuc3BvcnRtaXR0ZWwga2FubiBtYW4gbWl0IGByZWlzZSBuYWNoIDx6aWVsPmAgZGFzIGF1dG9tYXRpc2NoZQogICAgVmVybGFzc2VuIHZvcmJlcmVpdGVuLgogICAgRWluIGByZWlzZSBuYWNoIDx6aWVsPmAgYmV3aXJrdCBhbiBlaW5lciBIYWx0ZXN0ZWxsZSwgZGFzcyBhdXNzZXJkZW0KICAgIGRhcyBnZWVpZ25ldGUgVHJhbnNwb3J0bWl0dGVsIGdld2FlaGx0IHdpcmQuCiAgICAncmVpc2UgbmljaHQnIGJld2lya3QgZWluIEFiYnJ1Y2ggdW5kICdyZWlzZScgZ2lidCBkaWUgbGV0enRlIFdhaGwKICAgIHp1cnVlY2suCiAgICBEaWUgS29tbWFuZG9zIHNpbmQgbnVyIGJlaSBkZW4gSGFsdGVzdGVsbGVuIHVuZCBhdWYgZGVuIFRyYW5zcG9ydG1pdHRlbG4KICAgIHdpcmtzYW0gdW5kIGJsZWliZW4gZXMgYXVjaCB3ZW5uIG1hbiBPcnQga3VyenplaXRpZyB2ZXJsYWVzc3QuIFNpZSBoYWJlbgogICAgZWluZSBHdWVsdGlna2VpdHNkYXVlciB2b24gMTAgTWludXRlbi4KCiBMRVRaVEUgQWVOREVSVU5HOgogICAgRGllLCAxNi4wNi45OCwgMjM6NTk6MTYgdm9uIEJsb29keUhhcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFpbCBnZWh0IHdpZWRlciAoUm9hZHJ1bm5lciwgMjQuIEp1biAxOTk4LCAxNToyMDozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODk4NjgzNTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjgzNTg2CmF1ZiBqZWRlbiBmYWxsIHNpbmQgd2VsY2hlIHZlcmxvcmVuZ2VnYW5nZW4uIEljaCBoYWIgbWlyIGxldHp0ZW5zIGVpbmUKZ2VzY2hpY2t0IHVuZCBkaWVzZSBrYW0gbmljaHQgYW4KClJSCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWlsZXIgUHJvYmxlbSA/IChZYXJlbiwgMjQuIEp1biAxOTk4LCAxNjowNjozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk4Njc5MDcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1Ck51biBqYTogaW4gZGVtIGVyc3RlcmVuIEZhbGwga2FubnN0IER1IGRlciBGaXJtYSBpbiBkZW4gQXJzY2ggdHJldGVuLCB3ZW5uIHdhcwpuaWNodCBsYWV1ZnQsIGltIHp3ZWl0ZW4gRmFsbCBuaWNodC4gRGFzIGhhdCBzaWNoZXIgbmljaHRzIG1pdCBWZXJ0cmF1ZW4genUKdHVuLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29oZXIga3JpZWcgaWNoIGRpZSB2ZXJsb3JlbmVuIFNhY2hlbj8gKFRyYW5jZWZlYXIsIDI0LiBKdW4gMTk5OCwgMTc6Mzg6MDUpOgp+IyEgcm49VmluY2VyYSBydD04OTg2Nzg4MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2Nzg4MzMKRGVyIEZlZW5yaW5nIGlzdCBkZWZpbml0aXYgV0VHLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWlzZXN5c3RlbSAoQXNtb2RpcywgMjQuIEp1biAxOTk4LCAxOTowNjo0Myk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04OTg2OTEzMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKT2NoLCBkYXMgaXN0IGphIGxhbmd3ZWlsaWcsIGRhcyB2ZXJwYXNzZW4gdm9uIFNjaGlmZmVuIGdlaG9lcnQgenUgbmVyIGd1dGVuCkF0bW9zcGhhZXJlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlaXNlc3lzdGVtIChSb25kYSwgMjQuIEp1biAxOTk4LCAyMTowMzoyMCk6Cn4jISBybj1Bc21vZGlzIHJ0PTg5ODcwODAwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODY5MTMxMApKYSwgc2VoZSBpY2ggYXVjaCBzbyA7KSBXYXJ1bSBuaWNodCBlaW5mYWNoIE1hZXhjaGVuLVNwaWVsZSBhdWYgZGVuIFNjaGlmZmVuCmVpbmZ1ZWhyZW4/CgouLi4gdW5kIGFiIG5hY2ggU2NobWFycm4gKkdyaW1tYm9ybiBmb3IgTWFpbE1hc3RlciEqCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVpc2VzeXN0ZW0gKFphcm5peWEsIDI1LiBKdW4gMTk5OCwgMDg6NDY6MDEpOgp+IyEgcm49Um9uZGEgcnQ9ODk4NzE1MDAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCmljaCBtdXNzIGRhIGFscyBhbHRnZWRpZW50ZXIgU3BpZWxlciBkZW0gVGV1ZmVsY2hlbiB1bmQgYXVjaCBhbmRlcmVuIFJlY2h0CmdlYmVuLCBkaWUgaW4gZGVtIEJlZmVobCAicmVpc2UiIG1hbCB3aWVkZXIgZWluZSBTYWNoZSBzZWhlbiwgZGllIGRlbSBTcGllbAphbHMgU3BpZWwgbmljaHQgZGllbnQuIFNpY2hlciBpc3QgZGFzIGxhZXN0aWcgZ2V3ZXNlbiBtaXQgZGVtIHdhcnRlbiB1bmQgZGFubgpldnQgdmVycGFzc2VuIGRlciBTY2hpZmZlLCBhYmVyIGVzIGdpYnQgdmllbGUgU2FjaGVuLCBkaWUgaW0gTUcgbGFlc3RpZyBzaW5kCihqYSwgYXVjaCBtZWluZSBBcnRpa2VsKSwgYWJlciBkYXMgaGVpc3N0IHNpY2hlciBuaWNodCwgZGFzcyBtYW4gc2llIGRlc3dlZ2VuCmFic2NoYWZmZW4gc29sbHRlLiBEYXMgVmVycGFzc2VuIGRlciBTY2hpZmZlIGhhdHRlIGV0d2FzIG1pdCBkZW0gZmxhaXIgaGllciBpbQpNRyB6dSB0dW4gdW5kIHdlbm4gbWFuIGRhcyBudW4gYXV0b21hdGlzY2ggdW1nZWhlbiBrYW5uLCBkYW5uIGlzdCBkYXMgdmVyYgplaW5mYWNoIGZhbHNjaCBiZW5hbm50LiBEYW5uIGtvZW5udGUgbWFuIGF1Y2ggaW4gYWxsZSBIYWVmZW4gZWluICJnb3RvIgplaW5iYXVlbjoKCldpbGxzdCBEdSBkYXMgU3BpZWwgaW4gYWxsZW4gRmFzemV0dGVuIGRlciBTY2hvZW5oZWl0IGVybGViZW4sIGRhbm4gd2FydGUgYXVmCmRhcyBTY2hpZmYgdW5kIHZlcnN1Y2ggRGVpbiBHbHVlY2suIFdpbGxzdCBEdSBudXIgc2NobmVsbCB6dW0gbmFlY2hzdGVuCk1vbnN0ZXIgdW5kIGlzdCBkaXIgZGllIFdhcnRlcmVpIHp1IGxhZXN0aWcsIGRhbm4gdGlwcGUgImdvdG8gPG5hZWNoc3RlcgpoYWZlbj4iLiBGdWVyIFNlaGVyIGRhbm4gZGllIGVyd2VpdGVydGUgdmVyc2lvbjogImdvdG8gPG5hZWNoc3RlciBkcmFjaGU+Ii4KCldlbm4gZGFubiBlaW4gU2VoZXIgZGVuIExldmVsIDYwIHVlYmVyc2Nocml0dGVuIGhhdCwgZGFubiBrYW5uIGVyIHNpY2ggYXVjaApkYXMgbGFlc3RpZ2Ugd2FydGVuIGJlaW0gbWV0emVsbiB2ZXJrdWVyemVuIHVlYmVyIGRlbiBuZXVlbiBCZWZlaGwKInVsdHJhc2NobmVsbHRvZXRlIjoKCkJFRkVITAoKdWx0cmFzY2huZWxsdG9ldGUgPG1vbnN0ZXI+IDxnZWxkPiA8dGFua3J1bmRlbj4KCkFSR1VNRU5URQoKPG1vbnN0ZXI+ICAgd2FzIG1hbiBraWxsZW4gd2lsbAo8Z2VsZD4gICAgICBEYXMgR2VsZCwgd2FzIG1hbiBkYWJlaSBoYXQgKyBkYXMgaW4gZGVuIGRlcnplaXQgenVncmlmZmJlcmVpdGVuClp3ZWl0aWVzCjx0YW5rcnVuZGVuPiBBbnphaGwgZGVyIHRhbmtsYWV1ZmUsIGRpZSBtYW4gd2FlaHJlbmQgZGVzIEthbXBmZXMgZWluZ2VwbGFudApoYXQgdW5kIGRpZSBhdWZncnVuZCBTYWV0dGlndW5nIHVuZCBHZWxkIG1vZWdsaWNoIHNpbmQuCgpCRVNDSFJFSUJVTkcKCkRlciBHYW1lZHJpdmVyIHZlcmdsZWljaHQgZGllIE1vZWdsaWNoa2VpdGVuIGRlcyBTcGllbGVycywgZGllIGRlciBtaXQgc2VpbmVuCkFyZ3VtZW50ZW4gYW5naWJ0LCBtaXQgZGVuZW4gZGVzIE1vbnN0ZXJzIHVuZCB3ZW5uIGRlciBLYW1wZiBtaXQgdWViZXIgNTAlCldhaHJzY2hlaW5saWNoa2VpdCB2b20gU3BpZWxlciBnZXdvbm5lbiB3ZXJkZW4ga2FubiwgZGFubiBmYWVsbHQgZGFzIE1vbnN0ZXIKc3BvbnRhbiB0b3QgdW0gdW5kIG1hbiBrYW5uIGRlbSBnZXNjcm9sbGUgZW50Z2VoZW4gKHdhcyBhdWNoIGJlc3NlciBmdWVycyBMYWcKaXN0KS4gSW4gZGllIEJlcmVjaG51bmcgd2VyZGVuIG5hdHVlcmxpY2ggYXVjaCBhdXRvbWF0aXNjaCBkaWUgS2FtcGZTa2lsbHMsCkVyZmFocnVuZywgRm9yc2NoZXJwdW5rdGUsIE1ldHplbHB1bmt0ZSwgU3RhdHMsIEtlcmJob2x6ZWludHJhZWdlLApLb2l0dXNlc2NoaWNrbGljaGtlaXRzc2tpbGwgdW5kIG5vY2ggdmllbCBtZWhyIGVpbmdldHJhZ2VuICh3aWUgenVtIEJlaXNwaWVsCmRpZSBBbnphaGwgZGVyIE5lcnZpZ2VuIEphbW1lcm1haWxzIGFuIEVyem1hZ2llciwgZGllIGtsZWluIHNlaW4gc29sbHRlKS4KCk5hamEuLi4gZGFubiB2aWVsIFNwYXNzIGltIE1HCgpaYXJuaXlhLCBBbHRsYXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFpbGVyIFByb2JsZW0gPyAoSm9mLCAyNS4gSnVuIDE5OTgsIDA5OjI4OjQ3KToKfiMhIHJuPVlhcmVuIHJ0PTg5ODY5NzE5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODU1NzExNQoKIEVyZmFocnVuZ3NnZW1hZXNzIGhhdCBkYXMgbWl0IGRlbSAiaW4gZGVuIEFyc2NoIHRyZXRlbiIgYmVpIFN1biB3ZW5pZ2UKYmlzIGdhciBrZWluZSBBdXN3aXJrdW5nZW47IHVuZCBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCB2b24gU1VOIGVpbgprYXB1dHRlcyBTZW5kbWFpbCB6dSBiZWtvbW1lbiBpc3Qgc2ljaGVyIGhvZWhlciwgYWxzIHdlbm4gbWFucwpzZWxic3QgdWViZXJzZXR6dCAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlaXNlc3lzdGVtIChHbG9pbnNvbiwgMjUuIEp1biAxOTk4LCAxNDowMjowMik6Cn4jISBybj1aYXJuaXlhIHJ0PTg5ODc1NzE2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODY5MTMxMApWaWVsbGVpY2h0IHNvbGx0ZXN0IER1IGVpbmZhY2ggbWFsIHdpZWRlciBzcGllbGVuIHVuZCB3ZW5pZ2VyIGxhYmVybiwgWWFudHJvLgpUc2NodWxkaWdlLCBaYXJuaXlhLiBJY2ggZmluZCBkZW4gQmVmZWhsIGdhbnogcHJha3Rpc2NoLCBkZW5uIGRhcyBBZXJnZXJuaXNzCmJlaW0gVmVycGFzc2VuIGVpbmVzIFNjaGlmZmVzIGlzdCBvZnQgZ3Jvc3MgdW5kIG5pY2h0IG1pdCBSTCB6dSB2ZXJnbGVpY2hlbiwKd2VubiBtYW4gd2VuaWdzdGVucyBuZXR0IGdlcGVubnQgaGF0IDopCgpQUzogTWFuIGtvZW5udGUgamEgYWxzIGVjaHRlcyBuZXR0ZXMgQWVyZ2VybmlzIGVpbiBwYWFyIFBpcmF0ZW5zY2hpZmZlIGVpbi0KYmF1ZW4sIGRpZSBMZXV0ZSBzaGFuZ2hhaWVuLiBKRSBob2VoZXIgZGFzIExFdmNlbCwgZGVzdG8gaG9laGVyIGRpZSBDaGFuY2UuCkFiZXIgZGllIFBpcmF0ZW4gbW9lY2h0ZW4gZGFubiBiaXR0ZSBhdWNoICduZW4gS2lsbHN0dXAgZ2ViZW4gOy0pCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVpc2VzeXN0ZW0gKE1pcmFrYSwgMjUuIEp1biAxOTk4LCAxNDowOTozOSk6Cn4jISBybj1HbG9pbnNvbiBydD04OTg3NzYxMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKRGVyIEJlZmVobCBpc3QgamEgYXVjaCBudXIgb3B0aW9uYWwsIHdlciB3aWxsLCBkYXJmIHNpY2hlciBhdWNoIG5vY2ggd2VpdGVyCmF1ZiBkaWUgU2NoaWZmZSB3YXJ0ZW4uIFdlciBkYXMgZnVlciB2ZXJ6aWNodGJhciBoYWVsdCwgZGVtIHdpcmQgZXMgaGFsdAplaW5mYWNoZXIgZ2VtYWNodCwgbmVubnQgc2ljaCBTZXJ2aWNlIG9kZXIgc28gOi0pCgpNaXJha2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlaXNlc3lzdGVtIChUcmFuY2VmZWFyLCAyNS4gSnVuIDE5OTgsIDE0OjQ1OjQwKToKfiMhIHJuPVphcm5peWEgcnQ9ODk4NzU3MTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCkhtLCAidWx0cmFzY2huZWxsdG9ldGUiIGlzdCBuZXR0Li4uIGRhcyBoYXQgd2FzIHZvbiAiL2hhdXNiYXUiIDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlaXNlc3lzdGVtIChSaW5nb3IsIDI1LiBKdW4gMTk5OCwgMTQ6NDY6MzcpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTg3Nzg3NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKSXN0IGRhcyBuaWNodCBzY2hvbiBpbSAvc2VoZXIgZW50aGFsdGVuPwoKLT5zY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVpc2VzeXN0ZW0gKEFuYXRvbCwgMjUuIEp1biAxOTk4LCAxNDo1MTozNSk6Cn4jISBybj1SaW5nb3IgcnQ9ODk4Nzc4Nzk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwClNvIHdpdHppZyBkaWUgQXJ0aWtlbCB1bmQgZG9vZiBkYXMgQXJndW1lbnQgYXVjaCBpc3Q6IER1cmNoICJyZWlzZSIgaGFiZW4KamV0enQgYWxsZSBkYXMsIHdhcyBlaW4gZ2V3aXNzZXIgVGVpbCBzY2hvbiBsYWVuZ3N0IG1pdCAvc2hpcHRvIGhhdHRlbi4gSGUsCmRhcyBoYXR0ZSBpY2ggZG9jaCBzb2dhciBJQ0guCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWlzZXN5c3RlbSAoQmxvb2R5aGFycnksIDI1LiBKdW4gMTk5OCwgMTU6NDA6MjcpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODk4Nzc2MTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCkRhcyBrbGluZ3QgZ3V0LiBJY2ggd2VyZHMgbWlyIGZ1ZXIgZGllIG5hZWNoc3RlIFZlcnNpb24gdm9ybWVya2VuLgoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlaXNlc3lzdGVtIChPdmVybG9yZCwgMjUuIEp1biAxOTk4LCAxODo0ODoxNyk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04OTg3ODIwMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKCkljaCBiZW51dHplIG1laW5lIHNjcmlwdHMgd2VpdGVyLiBoYXQgbGFuZyBnZWRhdWVydCBiaXMgaWNoIHNpZSBtaXIKenVyZWNodGdlZnVtbWVsdCBoYWIuCgpPdmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1haWxlciBQcm9ibGVtID8gKFlhcmVuLCAyNS4gSnVuIDE5OTgsIDE5OjA0OjQxKToKfiMhIHJuPUpvZiBydD04OTg3NTk3Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKRGFzIHNlaGUgaWNoIGFsbGVyZGluZ3MgYW5kZXJzLiBEZXIgU3VwcG9ydCB2b24gU1VOIGlzdCBpbiBkZW0KV29ya3N0YXRpb24tTWFya3QgaW1tZXIgbm9jaCBlaW5lciBkZXIgYmVzdGVuLCBzb3dvaGwgd2FzIGRpZSBIYXJkd2FyZSBhbHMKYXVjaCBkaWUgU29mdHdhcmUgYW5nZWh0LiBTY2hvbm1hbCBTdXBwb3J0IHZvbiBTR0kgb2RlciBIUCBnZWhhYnQ/IE5hIHZpZWwKU3Bhc3MgLi4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1haWxlciBQcm9ibGVtID8gKEdyaW1tYm9ybiwgMjUuIEp1biAxOTk4LCAxOTo1MzoxMCk6Cn4jISBybj1ZYXJlbiBydD04OTg3OTQyODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKV2FzIGlzdCBkaWUgQXVzc2FnZT8KTlQgaXN0IGF1Y2ggaW1tZXIgbm9jaCBkYXMgYmVzdGUgV2luZG93cyBmdWVyIFBDcywgaGVpc3N0IGRhcywgZGFzIGRhcwp3aXJrbGljaCBndXQgaXN0PyBPZGVyIGRhc3MgbWFuIGRhcyAic2VsYmVyIiBuaWNodCBiZXNzZXIgbWFjaGVuIGtvZW5udGUKKExpbnV4LCBPUy8yLi4uKT8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFpbGVyIFByb2JsZW0gPyAoWWFyZW4sIDI1LiBKdW4gMTk5OCwgMjA6MDA6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5ODc5NzE5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODU1NzExNQpIYWVoPyBEdSBzY2hlaW5zdCBtaXIgc2VociBvZmYtdG9waWMgLi4uIGVzIGdpbmcgZGFydW0sIG9iIGVpbiBCaW5hcnktUmVsZWFzZQp2b24gU1VOIGVpbmVtIEVpZ2VuLUtvbXBpbGF0IHZvcnp1emllaGVuIGlzdC4gVW5kIGRhZnVlciBoYWJlIGljaCBtaWNoCmF1c2dlc3Byb2NoZW4sIGluZGVtIGljaCBub2NoIGFuZnVlZ3RlLCBkYXNzIGRlciBTdXBwb3J0IHZvbiBTVU4gZWluZXIgZGVyCmJlc3RlbiBpc3QuIFdhcyBkYXMgamV0enQgbWl0IE5UIHp1IHR1biBoYXQgaXN0IG1pciBlaW4gUmFldHNlbCAuLi4gZXJrbGFlcicKZG9jaCBtYWwsIHdhcyBkaWUgQXVzc2FnZSBEZWluZXMgQXJ0aWtlbHMgaXN0IC4uLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWlsZXIgUHJvYmxlbSA/IChHcmltbWJvcm4sIDI1LiBKdW4gMTk5OCwgMjA6MDM6NDQpOgp+IyEgcm49WWFyZW4gcnQ9ODk4Nzk3NjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1CkR1IGhhc3QgYXJndW1lbnRpZXJ0LCBkYXNzIGRhcyBiaW5hcnkgdm9yenV6aWVoZW4gc2VpLCB3ZWlsIGVzIGRhIHN1cHBvcnQKZ2FlYmUsIGRlciBiZXNzZXIgYWxzIGFuZGVyZXIgd29ya3N0YXRpb25zdXBwb3J0IGlzdC4KSWNoIGhhYmUgbWljaCBnZWZyYWd0LCB3aWVzbyBkYXMgYmVzc2VyIHNlaW4gbXVzcyBhbHMgd2FzIHNlbGJzdGdlYmF1dGVzLCB1bmQKaGFiZSBhbHMgQmVpc3BpZWwgKHNjaGxhZyBkYXMgV29ydCBpbSBMZXhpa29uIG5hY2gpIE5UIGdlYnJhY2h0LCBkYXNzIGF1Y2gKYmVzc2VyIGlzdCBhbHMgZWluZSBBdXN3YWhsIGFuIHZlcmdsZWljaGJhcmVtLCBhYmVyIGRlc3dlZ2VuIG5pY2h0IGJlc3NlciBzZWluCm11c3MgYWxzIHdhcyBzZWxic3RnZXN0cmlja3Rlcy4KClNvbGwgaWNoIGRhcyBub2NoIG1pdCBEaWFncmFtbWVuIGVya2xhZXJlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmVpc2VzeXN0ZW0gKFJpbmdvciwgMjUuIEp1biAxOTk4LCAyMDozNToxOSk6Cn4jISBybj1PdmVybG9yZCBydD04OTg3OTMyOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKRGllIEFyYmVpdCwgZGllIER1IGluIERlaW5lIFNrcmlwdGUgZ2VzdGVja3QgaGFzdCBpbiBhbGxlbiBFaHJlbiAtIGFiZXIgYmVpCk5ldHpsYWcgd2lyc3QgRHUgZGFtaXQgaW1tZXIgbm9jaCBTY2hpZmZlIHZlcnBhc3Nlbi4gTWl0IGRlbiBNdWQtQmVmZWhsZW4KbmljaHQuCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJlaXNlc3lzdGVtIChaYXJuaXlhLCAyNi4gSnVuIDE5OTgsIDA4OjUzOjM2KToKfiMhIHJuPVJpbmdvciBydD04OTg3OTk3MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKbWFsIGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBkaWVzZSBza3JpcHRlIHdvaGwgbmFjaCBEZWZpbml0aW9uIHJlY2h0IGlsbGVnYWwKc2luZCwgYWJlciBuZXR0LCBkYXNzIGlocnMgYWxsZSB6dWdlYnQgOikgQWxzbyByYW4sIEhpZ2hsYW5kZXIhCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBSZWlzZXN5c3RlbSAoUGF0cnluLCAyNi4gSnVuIDE5OTgsIDA5OjA1OjU1KToKfiMhIHJuPVphcm5peWEgcnQ9ODk4ODQ0MDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCmRpZSBkZWZpbml0aW9uIHd1cmRlIGFiZXIgc2NobmVsbCBub2NoIGdlYWVuZGVydCwgYmV2b3IgZnJldW5kIHdpZWRlcgp2ZXJzY2h3YW5kLiBzY2hlaW5iYXIgd29sbHRlIGVyIGRlbiBzaGVyaWZmLXBvc3RlbiBub2NoIHNjaG5lbGwgdWViZXJmbHVlc3NpZwptYWNoZW4sIGRhbWl0IG1hbiBzaWNoIG5pY2ggc28gc2VociB1bSBuYWNoZm9sZ2VyIGt1ZW1tZXJuIG11c3MgOykKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFJlaXNlc3lzdGVtIChPdmVybG9yZCwgMjYuIEp1biAxOTk4LCAxMzozNDo1OCk6Cn4jISBybj1aYXJuaXlhIHJ0PTg5ODg0NDAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODY5MTMxMApNYWNoIG1hbCBoaWxmZSBTa3JpcHRlIGJldm9yIER1IGhpZXIgd2FzIHJ1bWxhYmVyc3QKT3ZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWlzZXN5c3RlbSAoVmFtcHksIDI2LiBKdW4gMTk5OCwgMTQ6NTA6MjQpOgp+IyEgcm49Um9uZGEgcnQ9ODk4NzE1MDAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCkFsc28gaWNoIGZpbmRlIGRhcyBtaXQgZGVtIG5ldWVuIFJlaXNlc3lzdGVtIHNlaHIgZ3V0LCBuYWNoIGV1cmVyIEFuc2ljaHQKd2FlcmUgZXMgYWxzbyBhbSBiZXN0ZW4gd2VubiBhbGxlcyBzbyBibGVpYnQgd2llIGVzIGlzdD8KRGFzIGthbm4gZG9jaCBuaWNodCB3YWhyIHNlaW4sIHVlYmVyYWxsIHNpZWh0IG1hbiBkYXMgVm9ydHNjaHJpdHQgc2VpbiBtdXNzCnVuZCB1bmF1ZmhhbHRzYW0gaXN0LiAKRXMgaXN0IGVpbmZhY2ggc2VociB2aWVsIFNwaWVsZXJmcmV1bmRsaWNoZXIgdW5kIG5pY2ggc28gdGllcmlzY2ggbmVydmlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVpc2VzeXN0ZW0gKFZhbXB5LCAyNi4gSnVuIDE5OTgsIDE0OjUxOjQ1KToKfiMhIHJuPUdsb2luc29uIHJ0PTg5ODc3NjEyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5ODY5MTMxMApIZSEKSWNoIGdlYmUga2VpbmUgS2lsbHN0dXBzLCBhYmVyIHVlYmVyZmFsbGVuIG1hY2ggaWNoIGdlcm5lLCBrb21tIGRvY2ggbWFsIApuYWNoIFRvcnR1Z2EhClBpcmF0IFZhbXB5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWlzZXN5c3RlbSAoQ2VsZXN0ZSwgMjYuIEp1biAxOTk4LCAxNTo0MTo1MCk6Cn4jISBybj1WYW1weSBydD04OTg4NjU0MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKTmEsIHdlbm4gZGFzIGtlaW4gRm9ydHNjaHJpdHQgaXN0LCB3ZW5uIG1hbiBGb3J0c2Nocml0dCBtaXRsZXJ3ZWlsZSBhdWNoIHNjaG9uCm1pdCB2IHNjaHJlaWJlbiBrYW5uLCBLb21tYXJlZ2VsbiB1ZWJlcmZsdWVzc2lnIHdlcmRlbiB1bmQgJ2Rhc3MnIG51ciBub2NoIG1pdAplaW5lbSBzIGdlc2NocmllYmVuIHdlcmRlbiBtdXNzIAoKQ2VsZXN0ZSAqZ3JpbnNlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWlzZXN5c3RlbSAoVmFtcHksIDI2LiBKdW4gMTk5OCwgMTU6NDM6MTkpOgp+IyEgcm49Q2VsZXN0ZSBydD04OTg4Njg1MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKKmtpY2hlcioKQWxzbyB3aWUgd2FyIGRhcyBhbGxlIHp1c2FtbWVuZ2VzZXR6ZW4gV29lcnRlciBtaXQgInZvciIgc2NocmVpYnQgbWFuIG1pdCB2Li4uCmFsc28gZGFubiBzdGltbXQgZGFzIGRvY2ggOykKdW5kIHdlciBicmF1Y2h0IHNjaG9uIGRpZXNlIGtsZWluZW4sIGhhbGJlbiBzdHJpY2hlbGNoZW4gLi4uCiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlaXNlc3lzdGVtIChBcmssIDI2LiBKdW4gMTk5OCwgMTU6NDY6MjEpOgp+IyEgcm49Q2VsZXN0ZSBydD04OTg4Njg1MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKLi4uIG9kZXIgbWl0dGxlcndlaWxlIG51ciBtaXQgZWluZW0gYWVybWxpY2hlbiB0IDteUAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlaXNlc3lzdGVtIChDZWxlc3RlLCAyNi4gSnVuIDE5OTgsIDE1OjQ3OjU2KToKfiMhIHJuPUFyayBydD04OTg4Njg3ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg2OTEzMTAKSW1tZXJoaW4gbnVyIGVpbiBGZWhsZXIsIHVuZCBkaWNoIGVyd2lzY2hlIGljaCBhdWNoIG5vY2ggOykKCkNlbGVzdGUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1haWxlciBQcm9ibGVtID8gKFlhcmVuLCAyNi4gSnVuIDE5OTgsIDE2OjQzOjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTg3OTc4MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKS2x1Z2VyIFNjaGFjaHp1ZzogZGllIGJyaW5nc3QgZGllIERpc2t1c3Npb24gZWluZmFjaCBhdWYgZWluZW4gYWxsZ2VtZWluZW4KTGV2ZWwgdW5kIHN0ZWxsc3QgZGllIEdyZXRjaGVuZnJhZ2UgJ0lzdCBlcyBuaWNodCBiZXNzZXIsIGRhc3MgaWNoIGVzIG1pcgpzZWxiZXIgYmF1ZT8nLiBEYXMgZGllIEFudHdvcnQgYXVmIGRpZXNlIEZyYWdlIHZvbSBLb250ZXh0IGFiaGFlbmdzdCwKaWdub3JpZXJzdCBEdSBkYWJlaSBuYXR1ZXJsaWNoIGdlZmxpc3NlbnRsaWNoLiBLbGFyLCB3YWVyZSBqYSBzb25zdCBrZWluZQp6d2luZ2VuZGUgQXJndW1lbnRhdGlvbi4gQWJnZXNlaGVuIGRhdm9uLCBoYWJlIGljaCBtZWluZSBNZWludW5nIGt1bmRnZXRhbiB1bmQKZGFiZWkgZGllIFF1YWxpdGFldCBkZXMgU3VwcG9ydHMgdm9uIFNVTiBhbmdlbWVya3QgdW5kIG1pY2ggbWl0bmljaHRlbiBkYWZ1ZXIKYXVzZ2VzcHJvY2hlbiwgZGFzcyBFaWdlbmtvbXBpbGF0ZSBvZGVyIFNlbGJzdGJhdWVuIGdlbmVyZWxsIHNjaGxlY2h0ZXIgaXN0LgpBYmdlc2VoZW4gZGF2b246IGJpc3QgRHUgd2lya2xpY2ggZWluZXIgZGVyIHdlbmlnZW4gTGV1dGUsIGRpZSBzaWNoIGRpZQpMaW51eC1Tb3VyY2VuIGF1cyBkZW0gSW50ZXJuZXQgemllaGVuIHVuZCBpaHIgTGludXggc2VsYmVyIGJhdWVuPwoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWlzZXN5c3RlbSAoS2V5LCAyNi4gSnVuIDE5OTgsIDE3OjA5OjE5KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODk4Nzc4NzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NjkxMzEwCkJ6dyB2b24gL3NlZXIgOikKCktleSBzY2htYXJybmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFpbGVyIFByb2JsZW0gPyAoVHJhbmNlZmVhciwgMjYuIEp1biAxOTk4LCAxOToxOTo0MSk6Cn4jISBybj1ZYXJlbiBydD04OTg3OTQyODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKU3VwcG9ydCB2b24gSFAgPSBFcyBnaWJ0IGVpbmVuIFdlYnNlcnZlciwgdm9uIGRlbSBtYW4gc2ljaCBpbW1lciBkaWUgbmV1ZXN0ZW4KUGF0Y2hlcyBydW50ZXJ6aWVoZW4ga2FubiwgbmVic3QgZWluZW0gUGF0Y2hwcm9ncmFtbS4gVW5kIGRhcyBuaWNodCBlcnN0LCBzZWl0Ck0kIGRhcyBtYWNodCBzb25kZXJuIHNjaG9uIHNlaXQgSmFocmVuICh2b3IgZGVyIEVyZmluZHVuZyBkZXMgV1dXIGhhbHQgYWxzCkZUUC1TZXJ2ZXIpCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE1haWxlciBQcm9ibGVtID8gKEdyaW1tYm9ybiwgMjYuIEp1biAxOTk4LCAxOTo1OTo0Myk6Cn4jISBybj1ZYXJlbiBydD04OTg4NzIyMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKRHUgZ2Voc3QgYW4gZGVyIFNhY2hlIHZvcmJlaS4gTWVpbiBSZWNobmVyIHp1IEhhdXNlIGlzdCBpbSB3ZXNlbnRsaWNoZW4gZWluZQpzaW5nbGUgdXNlciBzdGFuZCBhbG9uZSBLaXN0ZS4gTWlyIGRvY2ggZWdhbCwgd2llIHNpY2hlciBkaWUgaXN0LiBBYmVyIHdlbm4KaWNoIFNlcnZlcmRpZW5zdGUgaW4gZWluZW0gaG9zdGlsZSBlbnZpcm9ubWVudCAoSW50ZXJuZXQpIGFuYmlldGUsIGRhbm4gaXN0Cm1pciB3b2hsZXIsIHdlbm4gaWNoIG1pciBkaWUgc291cmNlIHZvbiB2ZXJsYWVzc2xpY2hlciBRdWVsbGUgemllaGUsIGRpZQpjaGVja3N1bSB1ZWJlcnBydWVmZSB1bmQgZGFzIGRhbm4gc2VsYmVyIGtvbXBpbGllcmUuIE5pY2h0IGZ1ZXIgamVkZXMga2xlaW5lClRlaWwsIGFiZXIgZnVlciBkaWUgd2VzZW50bGljaGVuIERpbmdlLiBVbmQgZ2VuYXVzbyB3aXJkIGRhcyBBRkFJSyBhdWNoIGJlaQp1bnMgaW0gUmVjaGVuemVudHJ1bSBnZWhhbmRoYWJ0LgoKRGVpbiBBcmd1bWVudCB3YXIsIER1IHRyYXVzdCBsaWViZXIgZWluZW0gZ3Jvc3NlbiwgYXVmIEdld2lubiBhdXNnZXJpY2h0ZXRlbgpVbnRlcm5laG1lbiBhbHMgZGFyYXVmLCBkaWUgenV2ZXJsYWVzc2lnZW4gc291cmNlbiBtaXQgZWluZW0gYWxsZ2VtZWluCmFremVwdGllcnRlbiBDb21waWxlciBzZWxiZXIgenUgdWViZXJzZXR6ZW4uIEljaCBoYWJlIGRhcyBHZWdlbnRlaWwgYmVoYXVwdGV0CnVuZCBtaXQgZWluIHBhYXIgQmVpc3BpZWxlbiB2ZXJzZWhlbiwgZGllIER1IG5pY2h0IGluIGRlciBMYWdlIHdhcnN0IHp1CnZlcnN0ZWhlbi4gV28gbGllZ3QgRGVpbiBQcm9ibGVtPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWlsZXIgUHJvYmxlbSA/IChHcmltbWJvcm4sIDI2LiBKdW4gMTk5OCwgMjA6MTA6MjkpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTg4ODE1ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKSG1tLCB3YXMgaXN0IGRhcyBmdWVyIGVpbmUgU2VpdGU/IHNodG1sPyBXaXIgcmVkZW4gaGllciB2b24gbW9lZ2xpY2hlcndlaXNlCndpcmtsaWNoIHNpY2hlcmhlaXRza3JpdGlzY2hlbiBBbndlbmR1bmdlbiwgZWluZSBlaW5mYWNoZSBXZWJzZWl0ZSwgZGllCmxldHp0bGljaCBqZW1hbmQgZmFrZW4ga2FubiByZWljaHQgbWlyIGRhIGVpZ2VudGxpY2ggbmljaHQgd2lya2xpY2guCkphamEsIHNjaG9uIGd1dCwgZnVlciA5OS45JSByZWljaHRzLCBhYmVyIGVzIGdlaHQgYXVjaCB1bXMgUHJpbnppcC4gVW5kIHdhcwppY2ggbmV1bGljaCBlcnN0IHdpZWRlciB1ZWJlciBXaXJ0c2NoYWZ0c3NwaW9uYWdlIGltIE5ldHogZ2VsZXNlbiBoYWJlLi4uCipzZXVmeioKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1haWxlciBQcm9ibGVtID8gKFlhcmVuLCAyNy4gSnVuIDE5OTgsIDAwOjMxOjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTg4ODM5ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKRGllIHZlcmxhZXNzbGljaGUgUXVlbGxlIGZ1ZXIgZWluIGJlc3RpbW10ZXMgQlMsIGluIGRlbSBGYWxsIGphIHdvaGwgU29sYXJpcwppc3QgaW1tZXIgbm9jaCBTVU4uIFdlbm4gRHUgZGVtIEhlcnN0ZWxsZXIgZWluZXMgQlMgbmljaHQgdmVydHJhdWVuIGthbm5zdCBpbgpCZWxhbmdlbiwgZGllIGRhcyBCUyBhbmdlaHQsIGRhbm4gc29sbHRlc3QgRHUgZXMgYXVjaCBuaWNodCBlaW5zZXR6ZW4uCgpVbmQgenUgRGVpbmVtIGVyc3RlbiBQdW5rdDogRHUgbXVkZGVzdCBkb2NoIHNpY2hlciB1ZWJlciBEZWluZSBLaXN0ZSB6dWhhdXNlLApvZGVyPyBEYSBzaW5kIERpciBTaWNoZXJoZWl0c2JlbGFuZ2UgZWdhbD8gQWhhLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo8dGVpbGUgbWl0Pi1hbGlhcyAoS2ltYXIsIDI3LiBKdW4gMTk5OCwgMTM6MDY6MDcpOgptaXIgaXN0IGluIGxldHp0ZXIgemVpdCBkYXMgdGVpbGUgbWl0IGtvbW1hbmRvIHRyb3R6IGRlbSB1ZWJsaWNoZW4KdG0tYWxpYXMgaW1tZXIgbWVociBhdWYgZGVuIHdlY2tlciBnZWdhbmdlbiwgd2VpbCBpY2ggYXVjaCB0cm90egp0bSAuPG5yPiBhdXMgZGVyIHRtaGlzdCBkaWVzZSA0IHplaWNoZW4gdGlwcGVuIG11c3N0ZS4KbWl0IGRpZXNlbiB6d2VpIGFsaWFzZW4gd2lyZCBkaWUgc2FjaGUgYWJlciB3ZXNlbnRsaWNoIGJlbnV0emVyLQpmcmV1bmRsaWNoZXI6CgphbGkgc2V0dG0gYWxpIC4gdGVpbGUgUzEgbWl0IFwkKiAgICAgICB1bmQKYWxpIHVuc2V0dG0gdW5hbGkgLgoKd2VubiBtYW4gamV0enQgc2V0dG0gPHNwaWVsZXI+IHRpcHB0LCBrYW5uIG1hbiBpbW1lciBtaXQgLiA8dGV4dD4gZGVuIHRleHQKbWl0dGVpbGVuLiBpc3QgbWFuIGZlcnRpZywgc2ljaCB3YXMgbWl0enV0ZWlsZW4sIGthbm4gbWFuIG1pdCB1bnNldHRtIGRpZQpzYWNoZSB1bmFsaWFzZW4uCnN0YXR0IGRlbSAuIGthbm4gbWFuIGphIGF1Y2ggamVkZXMgYW5kZXJlIGJlbGllYmVpZ2UgemVpY2hlbiB2ZXJ3ZW5kZXQgd2VyZGVuLApzb2xsdGUgZGVyIC4gc2Nob24gYmVsZWd0IHNlaW4uIHVuc2V0dG0gaXN0IGF1Y2ggZ2VzY2htYWNrc3NhY2hlLCBkYQp1bmFsaSAuIGF1Y2ggbmljaHQgbGFlbmdlciBpc3QuCgpzb2xsdGUgZXMgZGFmdWVyIHNjaG9uIGVpbmVuIGJlZmVobCBnZWJlbiwgZGVuIGljaCBuaWNodCBrZW5uZSwgaWdub3JpZXJ0CmRlbiBhcnRpa2VsIGVpbmZhY2ggOykKCmtpbWFyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1haWxlciBQcm9ibGVtID8gKEppbWRpZ3JpeiwgMjguIEp1biAxOTk4LCAxOTo0NDo0NCk6Cn4jISBybj1ZYXJlbiBydD04OTg5MDAzMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKSG9pLAoKZGVyIFRocmVhZCBzb2xsdGUgZWlnZW50bGljaCBuYWNoIApEaXNrdXNzaW9uLCBuYWphLgovc2VuZiBvbgoKSWNoIGFyYmVpdGUgYmVpIGVpbmVyIEZpcm1hIHdlbGNoZSBTdXBwb3J0LVBhcnRuZXIgdm9uIFN1biwgSFAgdW5kClNHSSBpc3QuIERpZSBpbiBkZXIgU3VuaG90bGluZSBzaW5kIEFGQUlLIGFtIGFlcm1zdGVuIGRyYW4uCgpBbGxnZW1laW4gZGVua2UgaWNoLCBkZXIgU3VwcG9ydCBpc3QgaW1tZXIgc28gZ3V0LCB3aWV2aWVsCm1hbiBkYWZ1ZXIgemFobHQsIHVuZCB6dSB3ZWxjaGVtIEt1bmRlbmtyZWlzIG1hbiBnZWhvZXJ0LgoKTWFuIGhhdCBuaWNodCBpbW1lciBkaWUgV2FobCBkZXMgQmV0cmllYnNzeXN0ZW1zLgpGdWVyIFNQQVJDIGdpYnRzIHp3YXIgTmV0QlNEICh2aWVsbGVpY2h0IExpbnV4LCB3ZWlzcyBpY2ggbmljaHQpLApmdWVyIEhQUEEgZ2lidHMga2VpbiBCU0QgKExpbnV4IHMuby4pLiBVbmQgbnVyIHdlaWwgZGVyCldvcmtzdGF0aW9uaGVyc3RlbGxlciBkYXMgQmV0cmllYnNzeXN0ZW0gbGllZmVydCBtdXNzIG1hbgpkZW0gbmljaHQgdmVydHJhdWVuLiBCZXN0ZXMgQmVpc3BpZWwgaXN0IFZ4RlMgKGRpZSBJbXBsZW1lbnRpZXJ1bmcKZGVzIFZlcml0YXMgRmlsZXN5c3RlbXMgZnVlciBIcFVYKSwgd2FzIHNvIGthcHV0dCBpc3QsIGRhc3MgZXMKbm9jaCBrZWluZW4gUGF0Y2ggZGFmdWVyIGdlZ2VuIGhhdCwgZGVyIGxhZW5nZXIgYWxzIDIgV29jaGVuCmdlaGFsdGVuIGhhdC4gCgoKV2VyIGF1ZiBlaW5lbiA4LjkuKiBzZW5kbWFpbCB2b24gU3VuIHdhcnRlbiBrYW5uIHVuZApnbGF1YnQsIHdlbm5zIGRhbWl0IFByb2JsZW1lIGdpYnQsIGtyaWVndCBlciBfc2NobmVsbF8oISkKSGlsZmUsIGRlciBzb2xscyB0dW4sIHdlciBkYXMgbmljaHQgdHV0IChpY2ggekIpLCAKZGVyIHVlYmVyc2V0enQgc2VpbmVuIHNlbmRtYWlsIHNlbGJlci4gSWNoIGRlbmtlIGRhc3MKRXJpYyBBbGxtYW4gaW1tZXIgbm9jaCBzY2huZWxsZXIgc2F1YmVyZSBQYXRjaGVzCnJhdXNicmluZ3QgYWxzIGVpbiBXb3Jrc3RhdGlvbmhlcnN0ZWxsZXIuIEF1c3NlcmRlbSBrYW5uCm1hbiBkYW5uIGF1Y2ggc2ljaGVyIHNlaW4sIGRhc3Mgc2ljaCBiZWltIGVpbnNwaWVsZW4KZGVzIFBhdGNoZXMgbmljaHQgZGFzIFZlcmhhbHRlbiBkZXMgZ2VzYW10ZW4gU3lzdGVtcwphZW5kZXJ0LgoKL3NlbmYgb2ZmCgpteSAkMC4wMiwKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2FyZyAoUm9jaHVzLCAyOS4gSnVuIDE5OTgsIDE1OjIyOjE4KToKRGVyIFNhcmcgU09MTFRFIGpldHp0IGF1Y2ggZGFzIEdld2ljaHQgdm9uIE5ldHp0b3RlbiBiZXJ1ZWNrc2ljaHRpZ2VuLApkLmguIG5pY2h0IG1laHIgYXVmenVuZWhtZW4gc2VpbiB3ZW5uIGVpbiBTcGllbGVyIGRyaW4gc3RlY2t0LCBhdWNoCm5pY2h0IHdlbm4gZXIgInNjaGxhZmUgZWluIiBnZXRpcHB0IGhhdC4KSWNoIGhvZmZlIElociBoYWJ0IFZlcnN0YWVuZG5pcyBmdWVyIGRpZXNlIE1hc3NuYWhtZSAtIFBhcmFjZWxzdXMKaGF0dGUgbWlyIGFuZ2Vkcm9odCBkZW4gU2FyZyBhYnp1aGFlbmdlbiBmYWxscyBtYW4gZGFtaXQgd2VpdGVyaGluIGFuIE9ydGUKZ2VsYW5ndCwgYW4gZGllIG1hbiBuaWNodCBnZWxhbmdlbiBzb2xsdGUgdW5kIGljaCBuZWhtZSBTcGllbGVybiB3aXJrbGljaAp1bmdlcm5lIGVpbmUgTW9lZ2xpY2hrZWl0IHp1IHN0ZXJiZW4gOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhcmcgKEdsb2luc29uLCAyOS4gSnVuIDE5OTgsIDE1OjI1OjU0KToKfiMhIHJuPVJvY2h1cyBydD04OTkxMjY1Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjY1MzgKTWFtaWlpaS4gRGFzIGlzdCBqYSBzbyBnZW1laW4gOy0pIEljaCB3b2xsdGUgZG9jaCBub2NoIGhpZSB1bmQgZGEgc3RlcmJlbi4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2FyZyAoQmFib29uLCAyOS4gSnVuIDE5OTgsIDE1OjI4OjE5KToKfiMhIHJuPVJvY2h1cyBydD04OTkxMjY1Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjY1MzgKSG0sIHBhc3N0IHp3YXIgdm9tIHRoZW1hIG5pY2h0IGdhbnosIGFiZXIgd2FzIHNvbGxzLgpXaWVzbyBrYW5uIG1hbiBuaWNodCBhdWNoIFNhZXJnZSBtaXQgc28gbmVtIGh1ZWJzY2hlbiAic2NoZWludG90ZW4tZ2xvZWNrY2hlbiIKYmVrb21tZW4/IERhcyBrb2VubnRlIG1hbiBkYW5uIHZvbiBpbm5lbiBsYWV1dGVuLgoKQmFib29uKCkgKHdhcnRldCBkYXJhdWYsIGRhc3MgamVtYW5kIFBlc3QgdW5kIENob2xlcmEgcHJvZ2d0LikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNhcmcgKFJvY2h1cywgMjkuIEp1biAxOTk4LCAxNTozODo0Mik6Cn4jISBybj1CYWJvb24gcnQ9ODk5MTI2ODk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI2NTM4Ck1hbiBrYW5uIHNjaG9uIHNlaXQgZXMgZGVuIFNhcmcgZ2lidCB2b24gaW5uZW4gZ2VnZW4KZGVuIFNhcmdkZWNrZWwga2xvcGZlbi90cm9tbWVsbi9oYWVtbWVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEdsb2luc29uLCAyOS4gSnVuIDE5OTgsIDE2OjMyOjU5KToKfiMhIHJuPU1hdGlzIHJ0PTg5OTEyOTkwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApFcyB3YWVyIG1pciBzZWhyIGxpZWIsIHdlbm4gZWluIHBhYXIgTGV1dGUgaWhyZSBBcnRpa2VsIHdpZWRlciBsb2VzY2h0ZW4gdW5kCmRlbiBTdHJlaXQgaW4gUkwgYXVzdHJ1ZWdlbi4gRGVubiBtaWNoIG5lcnZ0IGRlciwgZWdhbCB3ZWxjaGUgU2VpdGUgUmVjaHQgaGF0LApudXIgYW4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2FyZyAoQWxpbmUsIDI5LiBKdW4gMTk5OCwgMTY6MzU6NDIpOgp+IyEgcm49Um9jaHVzIHJ0PTg5OTEyNzUyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOAoKQWNoIGtvZW5uZW4ga2FubiBtYW4gaGllciBpbW1lciB2aWVsLAp3dXJkZSBtYW4gZGVubiBhdWNoIGdlaG9lcnQ/IDspCgpBbGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhcmcgKFR3aW5zZW4sIDI5LiBKdW4gMTk5OCwgMTY6MzY6MDYpOgp+IyEgcm49Um9jaHVzIHJ0PTg5OTEyNjUzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOApXYXMgYnJpbmd0IGVpbiBTYXJnID8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXJnIChUdW5peGd1dCwgMjkuIEp1biAxOTk4LCAxNjozNzowNCk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTEzMDk2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOApHZXJhZGUgYmVpbSBsZXNlbjoKV2FzIGJyaW5ndCBlaW4gU2FyZyA/Pz8KTml4IE5ldWVzIGF1ZiBkZXIgV2VsdC4KV2llIHRyZWZmZW5kLCB3aWUgdHJlZmZlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKE1vcmdvdGgsIDI5LiBKdW4gMTk5OCwgMTY6Mzc6MzEpOgp+IyEgcm49TWF0aXMgcnQ9ODk5MTI5OTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkhNLCBhdWNoIHdlbm4gRHUgRGljaCBkYXp1IG5pY2h0IG1laHIgYWV1c3Nlcm4ga2FubnN0LCBoYWV0dGUgaWNoIGRhcyBkb2NoCmdlcm5lIG5hZWhlciBlcmxhZXV0ZXJ0LiBEYXMgd2l0emlnZSBkYWJlaSBpc3QsIGljaCBrZW5uZSBEaWNoIHVlYmVyaGF1cHQKbmljaHQuCgpNb3Jnb3RoLCBzdGF1bmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXJnIChBbGluZSwgMjkuIEp1biAxOTk4LCAxNjozODowMCk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTEzMDk2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOAoKU3Bhc3MgOykKClZvciBhbGxlbiBEaW5nZW4sIHdlbm4gc28gZWluIFNhcmcgYXVzIGRlbSBzbyBrb21pc2NoZQpHZXJhZXVzY2hlIGtvbW1lbiBpcmdlbmR3byBzdGVodCB1bmQgbWFuIHNpY2ggdWViZXJsZWd0LApvYiBtYW4gaWhuIG9lZmZuZW4gc29sbHRlLi4uLi4KRXMgZ2lidCBMZXV0ZSBkaWUga2VubmVuIGVpbmUgYmVzdGltbXRlIFRydWhlIHVuZCBsYXNzZW4KZGVzd2VnZW4gZGFubiBsaWViZXIgZGllIEZpblsxflsxfkhhZW5kZSB2b24gc3dhcyB3ZWNoIDspCgpBbGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZyaW5nIChSaWt1cywgMjkuIEp1biAxOTk4LCAxNzoxMzozMyk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTEzMjkyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEzMjkyMQpEYW5rZSBmdWVyIGRlbiBIaW53ZWlzISBBYmVyIGJpdHRlIHNvbnN0IGRpcmVrdCBhbiBtaWNoIG9kZXIgaW4gRW50LQp3aWNrbHVuZyAoQWxsZy4gbGVzIGljaCBhcmcgc2VsdGVuLCBoZXV0ZSByZWluIHp1ZmFlbGxpZykuCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmxpdHRlcndvY2hlbiAoVHdpbnNlbiwgMjkuIEp1biAxOTk4LCAxNzoxMzo1Nik6CkljaCB3b2xsdGUgbWFsIGZyYWdlbiBvYiBtYW4gaGllciBmbGl0dGVyd29jaGVuIG1hY2hlbiBrYW5uLgpEYW5rZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoWWVuZGksIDI5LiBKdW4gMTk5OCwgMTc6MTU6MDcpOgp+IyEgcm49TWF0aXMgcnQ9ODk5MTI5OTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4Ck1hdGlzLCBEZWluZSBNZWludW5nIHVlYmVyIE1vcmdvdGggaW4gYWxsZW4gRWhyZW4sIGFiZXIgc29sY2hlIEJyZWl0c2VpdGVuCnNpbmQgZHVtbSB1bmQgbnVyIGluc29mZXJuIGludGVyZXNzYW50LCBhbHMgbWFuIHNpY2ggZnJhZ3QsIGF1ZiB3ZW4gc2llIGhpZXIKX25pY2h0XyB6dXRyZWZmZW4uLi4genVtaW5kZXN0IEdyaW1tYm9ybiBkdWVyZnRlIGZhc3QgYmVsZWlkaWd0IHNlaW4sIHdlbm4gRHUKamVtYW5kIF9hbmRlcmVzXyB6dW0gT2Jlci1BcnNjaGxvY2ggZXJrbGFlcnN0IG1pdCBkZXIgQmVncnVlbmR1bmcKInVlYmVyaGVibGljaCwgYXJyb2dhbnQgdW5kIHNlbGJzdGdlZmFlbGxpZyIuIERlciBHdXRlIGhhdCBzY2hsaWVzc2xpY2ggZWluZW4KUnVmIHp1IHZlcnRlaWRpZ2VuOyBlYmVuc28gdWVicmlnZW5zIHdpZSBZYW50cl5IXkheSF5IXkhaYXJueWlhLCBkaWUgc2ljaApqZXR6dCB3YWhyc2NoZWlubGljaCB3aWVkZXIgbWFsIHp1IGVpbmVyIEFydGlrZWxzZXJpZSBnZW5vZXRpZ3QgZnVlaGx0LgoKV2FzIGFiZXIgZHVyY2hhdXMgc3Bhbm5lbmQgd2FlcmUgaW4gZGllc2VtIEZhbGw6IApEaXNrdXRpZXJlbiBTaWUgZGVuIGxldHp0ZW4gU2F0eiBkZXMgby5hLiBBcnRpa2VscyAoIkljaCBiaW4gaGllciBsZWlkZXIKc2VsYnN0IGJlbGVpZGlnZW5kIGdld29yZGVuLCBhYmVyIGVzIGdpbmcgbmljaHQgYW5kZXJzISIpIHZvciBkZW0gSGludGVyZ3J1bmQKZGVyIEF1c3NhZ2UgIkVzIGdpYnQgaW1tZXIgbm9jaCBlaW5lbiBkcml0dGVuIFdlZyIgdW5kIHBydWVmZW4gU2llCmEpIGRpZSBJbnRlbnRpb24gZGVzIEFydGlrZWxzY2hyZWliZXJzLApiKSBvYiBkZXIgdm9ybGllZ2VuZGUgQXJ0aWtlbCBkaWVzZXIgZ2VudWVndCwgdW5kCmMpIG9iIGVzIGV2ZW50dWVsbCB3ZWl0ZXJlIE1vZWdsaWNoa2VpdGVuIGdhZWJlLCBkaWVzZSBJbnRlbnRpb24genUgZXJmdWVsbGVuLgoKCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFRyYW5jZWZlYXIsIDI5LiBKdW4gMTk5OCwgMTg6MTU6MTgpOgp+IyEgcm49TWF0aXMgcnQ9ODk5MTI5OTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkljaCBkZW5rZSBtYWwgZGFzIGdlaG9lcnQgenUgc2VpbmVyIFJvbGxlIChoaWVyIGltIE11bHRpcGxheWVyLVJvbGxlbnNwaWVsKS4KIk1vcmdvdGgiIGlzdCBpbW1lcmhpbiBkZXIgVGV1ZmVsIChpbiBkZXIgVG9sa2llbi1GYW50YXN5KSwgdW5kIGRlciBpc3QgbnVubWFsCnUuYS4gdWViZXJoZWJsaWNoLCBhcnJvZ2FudCB1bmQgc2VsYnN0Z2VmYWVsbGlnLgoKdGYgKGtlbm50IE1vcmdvdGggUkwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChPdmVybG9yZCwgMjkuIEp1biAxOTk4LCAxOTo0NDoxOSk6Cn4jISBybj1NYXRpcyBydD04OTkxMjk5MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKQWxzbyBpY2ggaGFiIHVuYWJoYWVuZ2lnIHZvbiBkZW4gQmVpZGVuIHVlYmVybGVndCwgbWljaCBhdWNoIHp1IGxvZXNjaGVuLgpBcnJvZ2FudGUgSExQcywgZGllIGJlc3RpbW1lbiB3ZXIgd2FzIHZvbiBzaWNoIGdlYmVuIGRhcmYgdW5kIGF1ZiBlaW5tYWwgenUKTWVnYW1pbW9zZW4gbXV0aWVyZW4sIHdlbm4gbWFsIG5lIEJyZWl0c2VpdGUgenVydWVja2tvbW10LCB1bmQgYW5zb25zdGVuIG51cgpydW1wcm9sbGVuIGFiZXIgc2VsYmVyIGVzIG5pY2h0IGZ1ZXIgbm9ldGlnIGhhYmVuIG1hbCBrbGVpbmVyZW4gU3BpZWxlcm4gSGlsZmUKenUgZ2ViZW4sIGFycm9nYW50ZSBNYWdpZXJhcnNjaGxvZWNoZXIsIHNpbm5sb3NlIEZsYW1lbGF3aW5lbiB1bmQgamV0enQgZGFzLgpMZWIgd29obCBNYXRpcywgbGViIHdvaGwgQmFja3RyYWNrZXIuCk92aSwgaGV1dGUgZmluYWwgc2VsYnN0bG9lc2NoZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFR3aW5zZW4sIDI5LiBKdW4gMTk5OCwgMTk6NTA6MTkpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODk5MTQyMjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkljaCBmaW5kZSBlcyBkb29mIHZvbiBldWNoIGRhc3MgZHVyY2ggc29sY2hlIGtpbmRlcmVpZW4gc2ljaCBzcGllbGVyCnNlbGJzdGxvZXNjaGVuIHdvbGxlbiBvZGVyIGVzIHNjaG9uIGhhYmVuIGRhIHNpZSBhdWYgc293YXMga2VpbiBib2NrIGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChHbG9pbnNvbiwgMjkuIEp1biAxOTk4LCAxOTo1MTozNyk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTE0MjYxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApJY2ggZmluZCBlcyBkdWVtbWVyLCBzaWNoIHZvcmhlciBub2NoIGVpbiBEZW5rbWFsIHNldHplbiB6dSB3b2xsZW4uIEVyaW5uZXJ0Cm1pY2ggaXJnZW5kd2llIGFuIGRpZSBMaWViZXNrcmFua2VuLCBkaWUgU2VsYnN0bW9yZCBiZWdlaGVuLCBkYW1pdCBpaHJlCkFuZ2ViZXRlIHdlbmlnc3RlbnMgZWlubWFsIHJpY2h0aWcgdm9uIGlobmVuIE5vdGl6IG5pbW10LgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVHdpbnNlbiwgMjkuIEp1biAxOTk4LCAxOTo1MjowNSk6Cn4jISBybj1HbG9pbnNvbiBydD04OTkxNDI2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSG9mZmVudGxpY2ggaGlsZnRzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXJnIChNYXJzLCAyOS4gSnVuIDE5OTgsIDE5OjU4OjE1KToKfiMhIHJuPVR3aW5zZW4gcnQ9ODk5MTMwOTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI2NTM4CkhtbSwgZnJhZyBtYWwgWnVlcmlsZXUuIEljaCBlcmlubmVyZSBtaWNoIG5vY2ggYW4gZGllIFBhcnRpZXMgaW0gU2FyZyBpbSBTYXJnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChTcmFiaSwgMjkuIEp1biAxOTk4LCAyMDowMDo1NSk6Cn4jISBybj1HbG9pbnNvbiBydD04OTkxNDI2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKQWxzbywgbWFsIGZvbGdlbmRlcy4gSWNoIGZpbmRlIGVzIHNlaHIgc2NoYWRlLCBkYXNzIHNpY2ggQmFja3RyYWNrZXIsIE1hdGlzCnVuZCBPdmVybG9yZCBnZWxvZXNjaHQgaGFiZW4sIGF1cyB3ZWxjaGVtIEdydW5kIGF1Y2ggaW1tZXIuIAoKT3ZlcmxvcmRzIFNlbGJzdGxvZXNjaHVuZyB3YXIgbmljaHQgdWViZXJsZWd0LCBlciBzYWd0ZSwgaW4gbmVydmVuIGRpZQpMb2VzY2h1bmdlbiB1bmQgZXIgd3VlcmRlIHNpY2ggamV0enQgYXVjaCBsb2VzY2hlbiwgaWhuIHd1ZXJkZSBoaWVyIGFsbGVzCmFua290ei4uLiAuCgpNYW4gc29sbHRlIHNpY2ggYWJlciBkYWR1cmNoIG5pY2h0IGRpZSBGcmV1ZGUgYW0gbXVkZGVuIHZlcmRlcmJlbiBsYXNzZW4uCgpJY2ggdHJhdWVyIHp3YXIgYXVjaCB1bSBkaWUgZHJlaSwgYWJlciBkYXMgKE11ZClMZWJlbiBnZWh0IHdlaXRlci4KClNyYWJpLCB0cmF1ZXJuZCB1bSBPdmVybG9yZCwgQmFja3RyYWNrZXIgdW5kIE1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFR3aW5zZW4sIDI5LiBKdW4gMTk5OCwgMjA6MTc6NDMpOgp+IyEgcm49U3JhYmkgcnQ9ODk5MTQzMjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4Ck1BVElTIEhBVCBTSUNIIEdFTE9TQ0hUID8/PwpORUVFRUVFRUVFRUVFRUlJSUlJSUlJSU5OTk5OTk5OTk4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoU2hhcmlhLCAyOS4gSnVuIDE5OTgsIDIwOjE4OjIyKToKfiMhIHJuPVR3aW5zZW4gcnQ9ODk5MTQ0MjYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CgpIZXVsdCBkb2NoIC4uLiBvZGVyIGdlaHQgaW5zIFNlaWZlbmJsYXNlIC4uLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChUd2luc2VuLCAyOS4gSnVuIDE5OTgsIDIwOjE5OjUzKToKfiMhIHJuPVNoYXJpYSBydD04OTkxNDQzMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKZXMgaXN0IG51ciBpY2gga29ubnRlIG1hdGlzIHNvb28gZ3V0IGxlaWRlbiAuLi4gRGFzIHdhciBkZXIgVm9yemVpZ2UgSGxwIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVGVkZHksIDI5LiBKdW4gMTk5OCwgMjI6MTQ6MzUpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODk5MTQyMjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4ClVwcywgZGFubiBrYW5uIGljaCBEaWNoIHVuZCBNYXRpcyBqYSB2b24gZGVyIGlnbm9yaWVyZS1MaXN0ZSBydW50ZXJuZWhtZW4uCgpTY2hhZGUgZGFzIGlociBkYXMgaGV1dGUgTmFjaHQgbmljaHQga2FwaWVydCBoYWJ0LCB3aXIgaGFiZW5zIElNSE8gemllbWxpY2gKbGFuZ2UgdmVyc3VjaHQuCgoKVGVkZHksIHdpZWRlciBtaXQgbGVlcmVyIGlnbm9yaWVyZS1MaXN0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChDYXR3ZWF6bGUsIDI5LiBKdW4gMTk5OCwgMjM6MDU6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9ODk5MTMwNzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkR1IGhhc3Qgdm9sbGtvbW1lbiByZWNodCwgZGVtIGthbm4gaWNoIG51ciBuYWNoa29tbWVuLiBMZWlkZXIgNSBTdHVuZGVuenUKc3BhZXQgOi8KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoS2V5LCAzMC4gSnVuIDE5OTgsIDA4OjUxOjU0KToKfiMhIHJuPU92ZXJsb3JkIHJ0PTg5OTE0MjI1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApXYXJ1bSBtZWxkZXN0IER1IERpY2ggZWlnZW50bGljaCB6dSBXb3J0PyAKSGFiIGljaCBEaXIgbWVpbiBFaW52ZXJzdGFlbmRuaXMgZGF6dSBnZWdlYmVuPwpOZWluIQoKKndlaW4qIEtlaW5lciBob2VydCBhdWYgbWljaCEhIQoKS2V5IGZyYWd0IHNpY2ggb2JiZXIgd2FzIHZlcnBhc3N0IGhhdCAuLi4uIC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFBhdHJ5biwgMzAuIEp1biAxOTk4LCAwOTowODozNSk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTE0MjYxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApraW5kZXJlaSBuZW5uIGljaCBlcywgd2VubiBzaWNoIGxldXRlIGF1ZiBncnVuZCB2b24gYW5kZXJlbiBraW5kZXJlaWVuCnNlbGJzdGxvZXNjaGVuLiBkaWUgbWl0bGVpZHN0b3VyIGlzdCBkb2NoIHNjaG9uIGluIGRlbiA4MGVybiBvdXQgZ2V3ZXNlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVXJ0aG9uYSwgMzAuIEp1biAxOTk4LCAxMTowODoyOSk6Cn4jISBybj1QYXRyeW4gcnQ9ODk5MTkwNTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkViZW4gbmljaHQgdW5iZWRpbmd0LiBFcyBzb2xsdGUgdmllbG1laHIgdmllbGxlaWNodCBtYWwgZWluaWdlIExldXRlIHp1bQpEZW5rZW4gYW5yZWdlbi4gQXVzZ2VyZWNobmV0IGRpZSBTcGllbGVyLCBkaWUgc2ljaCBhdXMgYWxsZW0gcmF1c2hhbHRlbiB1bmQKc2ljaCBhdWNoIG1hbCBoZXJhYmxhc3NlbiBtaXQgbmljaHRzZWhlcm4genUga29tbXVuaXppZXJlbiB1bmQgZGFtaXQgZGVtICdNJwppbiAnbXVkJyBlaW5lbiBTaW5uIGdlYmVuLCB3ZXJkZW4gcmF1c2dlZWtlbHQuIElzIGphIG5pY2h0IGRhcyBlcnN0ZSBNYWwuIEljaApkZW5rZSwgZGllc2UgRW50d2lja2x1bmcgaXN0IG5pY2h0IHJpY2h0aWcuCk1laW5lIExvZXNjaHVuZyBoYXR0ZSBwcmltYWVyIGRhbWl0IG5peCB6dSB0dW4sIGRpZSBTYWNoZSBtaXQgTWF0aXMgdW5kCkJhY2t0cmFja2VyIGhhdCBhYmVyIGRlbiBhdXNzY2hsYWcgZ2VnZWJlbi4KenUgVGVkZHk6IGljaCBrYW5uIG1pY2ggbmljaHQgZXJpbm5lcm4gYXVmIC1jaGFvcyBydW1nZXByb2xsdCB1bmQgbWljaCBkYW5uCnVlYmVyIGRhcyB3b2hsIHVudmVybWVpZGxpY2hlIEVjaG8gYXVmZ2VyZWd0IHp1IGhhYmVuLgoKT3ZpLCBzaWNoIGxhY2hlbmQgZXJpbm5lcm5kIHdpZSBkYSBlaW5pZ2UgaWhyZSBsb2dmaWxlcyB2b24gYW5ub2RhenVtYWwgbmFjaApzbWlsZXlzIGFic3VjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChLZXksIDMwLiBKdW4gMTk5OCwgMTE6MTI6MjApOgp+IyEgcm49VXJ0aG9uYSBydD04OTkxOTc3MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKRHUgbmVydnN0LgpVbmQgYmV2b3IgZGFzIHNjaGVpc3MgZ2VsYWxsZSBoaWVyIHdlaXRlcmdlaHQgdm9uIGRpZXNlbiBBY2hzb3RvbGxlbiBITFAncyAuLi4KRXMgZ2lidCB2ZXJkYW1tdCBub2NobWFsIG51ciBzZWhyIHNlaHIgd2VuaWdlbiBkaWUgT0hORSBHcnVuZCBuaWNodCBhdWYga2xlaW5lClNwaWVsZXIgcmVhZ2llcmVuLgoKQWJlciB2aWVsbGVpY2h0IHNvbGx0ZSBMZXV0ZSB3aWUgRHUgbWFsIGFremVwdGllcmVuIGRhcyBtYW4gYXVjaCBuZXQgaW1tZXIKWmVpdCBoYXQsIHdpZSB3YWVyZSBkYXMgbWFsPwpPZGVyIG1laW5zdGUgamVkZXIgZGVyIHVlYmVyIExldmVsIDQwIGlzdCBoYWVuZ3QgaGllciBudXJub2NoIHJ1bSB1bmQKbGFuZ3dlaWx0IHNpY2g/CgpTbyBqZXR6dCBTY2hsdXNzIG1pdCBkZW0gU2NoZWlzcyBoaWVyCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoUHJhLCAzMC4gSnVuIDE5OTgsIDExOjE0OjMwKToKfiMhIHJuPUtleSBydD04OTkxOTc5NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKaWNoIGxpZWJlIGRpZXNlICdJY2gtbG9lc2NoLW1pY2gtamV0enQtb2gtZGVyLXN1Y2h0ZmFrdG9yLXdhci1kb2NoLWhvY2gtbmFqYS0KZGFubi1tYWNoLWljaC1taXItaGFsdC1laW5lbi1uZXVlbi1DaGFyYWt0ZXItU3BpZWxlcicgOi0pCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKE5vbm5lLCAzMC4gSnVuIDE5OTgsIDExOjQwOjM5KToKfiMhIHJuPVByYSBydD04OTkxOTgwNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSWNoIHZlcnN0ZWggbml4IG1laHIuIFdlbm4gamVtYW5kIGF1ZiBkZXIgU3RyYXNzZSB1bmZyZXVuZGxpY2ggaXN0LCBicmluZyBpY2gKbWljaCBkb2NoIGF1Y2ggbmljaHQgdW0uIFdlbm4gaGllciBlaW5pZ2UgSExQJ3Mgc2NoZWlzc2Ugc2luZCwgaXN0IGRhcyBkb2NoCm51ciBkZXIgQmV2b2Vsa2VydW5nc2R1cmNoc2Nobml0dC4gSWNoIGhhYmUgZGllIEVyZmFocnVuZyBnZW1hY2h0LCBkYXNzIGVzCmdlbnVnIG5ldHRlIGdpYnQsIHVtIGltIE1HIHNwYXNzIHp1IGhhYmVuLiBXZW5uIGhpZXIgTGV1dGUgZmxhbWVuIHVuZCBQcm9sbGVuCi0+IC9kZXYvbnVsbCwgYWJlciBkZXNoYWxiIGxvZXNjaGUgaWNoIG1pY2ggZG9jaCBuaWNodD8hPyEgRGFzIG1nIGlzdCBncm9zcwpnZW51ZywgZGFzIG1hbiBhbGxlbSB1bmQgamVkZW0gYXVzIGRlbSBXZWcgZ2VoZW4ga2Fubi4gRGFoZXIgaXN0IGRpZXNlIGdhbnplCkRpc2t1c3Npb24gZnVlciBtaWNoIHZvZWxsaWcgdW52ZXJzdGFlbmRsaWNoLiBWaWVsbGVpY2h0IHNvbGx0ZW4gZGllIExldXRlIGRhcwpoaWVyIGFscyBTcGllbCBzZWhlbiwgZGFubiBiZWxhZWNoZWx0IG1hbiBzb3dhcyBlaGVyLCBhbHMgc2ljaCBkYXJ1ZWJlcgphdWZ6dXJlZ2VuLgoKTm9ubmUgKHVlYmVyIHNvbGNoZW4gRGluZ2VuIHN0ZWhlbmQgLCkgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChUZWRkeSwgMzAuIEp1biAxOTk4LCAxMjozMToxMCk6Cn4jISBybj1VcnRob25hIHJ0PTg5OTE5NzcwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApJY2ggd2Vpc3MsIGljaCBzb2xsdGUgZHJ1ZWJlcnN0ZWhlbiB1bmQgZGFzIFRoZW1hIGxhc3NlbiwgYWJlciBpY2ggZ2ViIGRpZQpIb2ZmbnVuZyBuaWNodCBhdWYsIGRhcyBkdSBlcyBkb2NoIG5vY2gga2FwaWVyc3QuOgoKWnVtIGVpbmVuIHNjaGVpbnN0IGR1IG1pY2ggemllbWxpY2ggc2NobGVjaHQgenUga2VubmVuLCBzb25zdCB3dWVyZGVzdCBkdQpuaWNodCB2b24gYXJyb2dhbnRlbiBITFBzIHNwcmVjaGVuLCBkaWUgbWl0IGtsZWluZW4gU3BpZWxlcm4gbmljaHQgcmVkZW4gdW5kCm5pY2h0IGhlbGZlbi4gSmEsIGljaCBiaW4ga2VpbiBBdXNrdW5mdHNidWVybyB1bmQgYW50d29ydGUgbmljaHQgSU1NRVIgYXVmCkFMTEUgRnJhZ2VuLCBhYmVyIGltIEFsbGdlbWVpbmVuIGhlbGZlIGljaCBvZnQgdW5kIGdlcm5lIHVuZCBhdWNoIHRlaWx3ZWlzZQptaXQgUmlzaWtvIGZ1ZXIgbWVpbmVuIGVpZ2VuZW4gQ2hhcmFrdGVyKCBOZWluLCBrZWluZSBCbHVtZW4gYml0dGUuIDspICkuCgpEYXMgdm9uIGRpciBiZWxhZWNoZWx0ZSBEdXJjaHN1Y2hlbiBkZXIgTG9nZmlsZXMgbmFjaCBTbWlsZXlzIGZhbmQgbnVyIHN0YXR0LAp3ZWlsIE1hdGlzIHVuZCBkdSBydW1nZXBsYWVycnQgaGFiZW4sIHdpciBoYWV0dGVuIGV1Y2ggVW5yZWNodCBnZXRhbi4gU29sbHRlc3QKZHUgZGllcyBlcm5zdGhhZnQgbGFlY2hlcmxpY2ggZmluZGVuLCB6ZWlndCBkaWVzIGxlZGlnbGljaCBkZWluZSBlaWdlbmUKQXJyb2dhbnogdW5kIER1bW1oZWl0LCBqZWRlbmZhbGxzIGluIG1laW5lbiBBdWdlbi4KCkF1c3NlcmRlbSBoYWIgaWNoIG5pY2h0IGF1ZiAtVHJ2ZXMgcnVtZ2VwbGFlcnJ0IHNvbmRlcm4gbGVkaWdsaWNoIGRlaW5lCnppZW1saWNoIGFiZ2VzY2htYWNrdGUgQmVsZWlkaWd1bmdlbiB1ZWJlciBDaGFvdGVuIGRvcnQgZ2VsZXNlbiwgZGllIGljaCBEaXIKKmFycm9nYW50ZXIgSExQIG9uKiBiZXN0aW1tdCBuaWNodCB6dWJpbGxpZ2UgdW5kIGluIGRlciBGb3JtIG5vY2ggdm9uIG5pZW1hbmQKYW5kZXJlbSBoaWVyIGdlaG9lcnQgaGFiZS4gRHUgaGFzdCBpbiBtZWluZW4gQXVnZW4gZGllIEdyZW56ZSBkZXMKR2VzY2htYWNrbG9zZW4gZWluZGV1dGlnIHVlYmVyc2Nocml0dGVuIHVuZCBhdWNoIG5pY2h0IGVpbnNlaGVuIHdvbGxlbiwgZGFzIGR1Cnp1IHdlaXQgZ2VnYW5nZW4gYmlzdC4KQmVpZGVzIHp1c2FtbWVuLCBVbmVpbnNpY2h0aWdrZWl0IHVuZCBBcnJvZ2FueiBkZWluZXJzZWl0cyBmdWVocnRlIGRlbm4gYXVjaApkYXp1LCBkYXMgZHUgZ2Vmb3JkZXJ0IHd1cmRlc3QgdW5kIGljaCBkaWNoIGFuc2NobGllc3NlbmQgaWdub3JpZXJ0IGhhYi4KKmFycm9nYW50ZXIgSExQIG9mZioKCgpJbSB1ZWJyaWdlbiBtYWNoc3QgZHUgZGljaCBtaXQgZGVpbmVyIGpldHppZ2VuIEFydCBlaWdlbnRsaWNoIG51ciBsYWVjaGVybGljaAooJ0ljaCBsb2VzY2ggbWljaCB3ZWlsIG1pY2gga2VpbmVyIG1hZyB1bmQgbWFjaCBtaXIgZGFubiBkb2NoIG5lbiBuZXVlbgpDaGFyYWt0ZXInKQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoQm9pbmcsIDMwLiBKdW4gMTk5OCwgMTI6NDc6NTIpOgp+IyEgcm49U3JhYmkgcnQ9ODk5MTQzMjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkluIHp3ZWkgV29jaGVuIGtvbW1lbiBzaWUgZG9jaCBlaCB6YWVobmVrbmlyc2NoZW5kIHp1cnVlY2sgdW5kIHdvbGxlbgpyZXN0YXVyaWVydCB3ZXJkZW4gLi4uIGRhcyBpc3QgaW1tZXIgZGFzIHNlbGJlLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFByYSwgMzAuIEp1biAxOTk4LCAxMjo0OTo0Mik6Cn4jISBybj1Cb2luZyBydD04OTkyMDM2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKRWlnZW50bGljaCBlaW4gVW5kaW5nLiBNYW4gc29sbHRlIGRlbiBlbmd1ZWx0aWdlbiBDaGFyYWt0ZXIgZGVyClNlbGJzdGxvZXNjaHVuZyBlaWdlbnRsaWNoIG5pY2h0IGR1cmNoIHNvbGNoZSBXZWljaGVpZXIgdmVyd2Flc3Nlcm4KbGFzc2VuLi4uCgpQcmEuIElzdCB1bmQgYmxlaWJ0IGhhcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFR3aW5zZW4sIDMwLiBKdW4gMTk5OCwgMTY6NDI6MDkpOgp+IyEgcm49Tm9ubmUgcnQ9ODk5MTk5NjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkljaCB3b2xsdGUgbnVyIG1hbCBzYWdlbiBkYXNzIGRhcyBNRyB3b2hsIE5JWCBtaXQgZGVtIFJMIHp1IHR1biBoYXQgdW5kIHdlbm4KbWljaCBoaWVyIHdhcyBuZXJ2ZW4gd3VlcmRlIGVpbmUgbmV1ZXMgbGViZW4gaW4gZWluZW0gYW5kZXJlbiBNdWQgYW5mYW5nZW4Ka2FubiAuLi4gS2FubnN0IERVIGRhcyBpbSBSTCBhdWNoPz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVXJ0aG9uYSwgMzAuIEp1biAxOTk4LCAxNjo0NToxMik6Cn4jISBybj1QcmEgcnQ9ODk5MjAzNzgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4ClRqYSwgaWNoIHdlaXNzIGRhc3MgUkwtUHJvYmxlbWUgbmljaHQgaGllcmhlciBnZWhvZXJlbiB1bmQgaGFiIGRpZSB2ZXJzdWNodApyYXVzenVoYWx0ZW4uIElzdCBtaXIgd29obCBuaWNodCBzbyBnYW56IGdlbHVuZ2VuLiA1IE1vbmF0ZSBpbSBXZWNoc2VsYmFkIHZvbgpCYW5nZW4gdW5kIGhvZmZlbiBnZWhlbiBhbiBrZWluZW0gc3B1cmxvcyB2b3JiZWksIG51ciBzbyBhbHMgQW5tZXJrdW5nLgoKCkFsc28genVlcnN0ZWlubWFsIGhhYmUgaWNoIG5hY2ggbGFuZ2VyIFplaXQgYXVjaCBtYWwgd2llZGVyIGd1dGUgTWVzc2lzCmJla29tbWVuIHVuZCBzbyBkaWUgUnVoZSBnZWZ1bmRlbiBtYWwgdGllZiBMdWZ0IHp1IGhvbGVuLiBKYSBkYSBpc3QgZWluaWdlcwptaXNzdmVyc3RhbmRlbiB3b3JkZW4sIGphIGljaCBoYWIgbmUgZGlja2UgTGlwcGUuCkRhcyBhYnNvbHV0IHNjaHdhY2hzaW5uaWdzdGUgd2FyIHp1Z2VnZWJlbiBtZWluZSBTZWxic3Rsb2VzY2h1bmcgdW5kIGRlcgpEaXNwdXQgbWl0IHZlcnNjaGllZGVuZW4gTGV1dGVuIGF1ZiBkZW0gS2FlbXBmZXJrYW5hbCBpbiBkZXIgdm9yaGVyZ2VoZW5kZW4KTmFjaHQuCkRhIGlzdCBtaXIgd29obCBhdWZncnVuZCB2b24gZWluaWdlbiBNZXNzaXMgbmUgU2ljaGVydW5nIGR1cmNoZ2VicmFubnQuIFJMLAppY2ggd2Vpc3MsIGRhcyBnZWhvZXJ0IG5pY2h0IGhpZXJoZXIuCkRlc3dlZ2VuIG1vZWNodGUgaWNoIG1pY2ggaGllcm1pdCBlbnRzY2h1bGRpZ2VuIGJlaSBhbGxlbiwgZGllIHNpY2ggYXVmIGRlbgpTY2hsaXBzIGdldHJldGVuIGdlZnVlaGx0IGhhYmVuIG1vZWdlbi4KSW5zYmVzb25kZXJlIG1vZWNodGUgaWNoIG1pY2ggYmVpIFRlZGR5IHVuZCBEaWVkZXIgZW50c2NodWxkaWdlbiwgZGEgYmluIGljaApldHdhcyB6dSB3ZWl0IGdlZ2FuZ2VuLgpVbnRlciBhbmRlcmVuIFVtc3RhZW5kZW4gd3VlcmRlIGljaCBhdWNoIGdhbnogYW5kZXJzIG1pdCB2aWVsZW4gRGluZ2VuCnVtZ2VoZW4uCgpBbHNvIG1vZWNodGUgaWNoIGhpZXJtaXQgbm9jaG1hbHMgdW0gRW50c2NodWxkaWd1bmcgYml0dGVuLgoKTWVpbiB1cnNwcnVlbmdsaWNoZXIgQ2hhcmFrdGVyIGlzdCBqYSBiZWxlZ3Qgd2llIGljaCBzZWhlLiBTb2xsIHNpY2ggZGVyCmplbmlnZSB2b24gZGVuIE1lc3NpcyBhbiBkaWUgZGl2ZXJzZW4gTmFtZW5zdmV0dGVybiBpbSBOZXR6IG5lcnZlbiBsYXNzZW4uCkljaCB2ZXJ6aWNodGUgYXVmIG1laW5lIFNhdmVmaWxzIHVuZCBtYWNoIG5vY2ggTWFsIG5lbiBuZXVlbiBBbmZhbmcuClVuZCBob2ZmZSBoaWVybWl0LCBkYXNzIG1hbiBtaXIgYXVjaCBkaWUgQ2hhbmNlIGdpYnQsIG5ldSBhbnp1ZmFuZ2VuLgoKClVydGhvbmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEtleSwgMzAuIEp1biAxOTk4LCAxNzoyMjozNCk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTIxNzcyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApTb3dhcyB3dWVyZGUgaWNoIHNwb250YW4gVW16dWcgbmVubmVuIC4uLgpVbmQgZGFzIGdlaHQgUkwgdGF0c2FlY2hsaWNoIHdlbm4gaWNoIG5ldCBpcnJlIC4uLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFRyYW5jZWZlYXIsIDMwLiBKdW4gMTk5OCwgMTc6MzE6NDcpOgp+IyEgcm49VHdpbnNlbiBydD04OTkyMTc3Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSG1qYSBtYW5jaGUgUmVsaWdpb25lbiBiZWhhdXB0ZW4gZGFzLi4uIDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFR3aW5zZW4sIDMwLiBKdW4gMTk5OCwgMTk6NTg6NDEpOgp+IyEgcm49S2V5IHJ0PTg5OTIyMDE1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApicmluZ3QgZGljaCBtYWwgdW0gdW5kIGVyd2FjaCBuZXUga2V5IC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEtleSwgMzAuIEp1biAxOTk4LCAyMDowNTowOSk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTIyOTUyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApHbGF1YnN0IER1IG5ldCBhbiBkaWUgV2llZGVyZ2VidXJ0PyA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChUd2luc2VuLCAzMC4gSnVuIDE5OTgsIDIwOjMyOjE0KToKfiMhIHJuPUtleSBydD04OTkyMjk5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKRFUgPz8KClR3aW5zZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoSmFzcGVyLCAzMC4gSnVuIDE5OTgsIDIwOjU5OjAxKToKfiMhIHJuPVVydGhvbmEgcnQ9ODk5MjE3OTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CipzZXVmeiogZGFzIGlzdCBqYSB3b2hsIGxhZWNoZXJsaWNoLCB3ZW5uIGR1IHNjaG9uIG5ldSBhbmZhZW5nc3QgbGFzcyBkaXIKZGVpbiBzYXZlZmlsZSB3aWVkZXIgaGVyc3RlbGxlbi4KCmphc3BlciBkZW5rdCAub08od296dSBpc3QgYm9pbmcgc29uc3QgaGllcj8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFRpYXMsIDMwLiBKdW4gMTk5OCwgMjM6MTg6MjApOgp+IyEgcm49SmFzcGVyIHJ0PTg5OTIzMzE0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApIYWxsbyBNdWRkaWVzLAoKaWNoIG1vZWNodGUgaGllcm1pdCBlaW4gcGFhciBTYWNoZW4ga2xhcnN0ZWxsZW4uCgoxLiBJY2ggZW50c2NodWxkaWdlIG1pY2ggYmVpIF9hbGxlbl8sIGFsc28gYXVjaCBiZWkgTW9yZ290aCwgZGFzcwogICBpY2ggbWVpbmUgTWVpbnVuZyB6dSBpaG0gaW4gZGllIE1QQSBnZXNldHp0IGhhYmUuIERhcyB3YXIgZGVyCiAgIGZhbHNjaGUgV2VnLCBlaW5lIE1haWwgd2FlcmUgYmVzc2VyIGdld2VzZW4uIEljaCB3ZXJkZSAKICAgKGhvZmZlbnRsaWNoKSBkcmF1cyBsZXJuZW4uIERhcyBoZWlzc3QgbmljaHQsIGRhc3MgaWNoIG5pY2h0IG5hY2gKICAgd2llIHZvciB6dW0gSW5oYWx0IHN0ZWhlLgoKMi4gSWNoIGVudHNjaHVsZGlnZSBtaWNoIGJlaSBaYXJueWEgdW5kIEdyaW1tYm9ybiwgZGFzcyBpY2ggc2llIG5pY2h0CiAgIGluIG1laW5lbSBBcnRpa2VsIGVyd2FlaG50IGhhYmUuIERhcyB3aXJkIGlyZ2VuZHdhbm4gc2Nob24gbm9jaAogICBuYWNoZ2Vob2x0LgoKMy4gSWNoIGhhYmUgbWljaCBuaWNodCBnZWxvZXNjaHQsIHdlaWwgTW9yZ290aCBtaWNoIGJlbGVpZGlndCBoYXQuCiAgIERhcyBoYXQgZXIgYXVjaCwgYWJlciBkZXIgR3J1bmQgd2FyIHZpZWxtZWhyIGRlciBGcnVzdCB1bmQgQWVyZ2VyCiAgIHVlYmVyIGRpZSBWZXJ0cmVpYnVuZyBlaW5lcyBzZWhyIGd1dGVuIEZyZXVuZGVzLCB3b3JhbiBNb3Jnb3RoCiAgICh3ZW5ucyBpaG0gYXVjaCBvZmZlbnNpY2h0bGljaCBnYXIgbmljaHQgYmV3dXNzdCBpc3QpIG1hc3NnZWJsaWNoCiAgIGJldGVpbGlndCB3YXIuCgo0LiBJY2ggd2lkZXJzcHJlY2hlIEJvaW5nIGdhbnogZW50c2NoaWVkZW4gd2VubiBlciBiZWhhdXB0ZXQsIGRhc3MKICAgU2VsYnN0bG9lc2NoZXIgZXJzdCBuYWNoIDIgV29jaGVuIHdpZWRlcmtvbW1lbi4gRWluIFRhZyByZWljaHQhCiAgICprbmlyc2NoKiAqa25pcnNjaCoKICAgSWNoIGJpdHRlIGRpZSBHb2V0dGVyIHVtIFJlc3RhdXJpZXJ1bmcgbWVpbmVzIENoYXJha3RlcnMgKGFsc28KICAgaWNoIG1laW5lIG1laW5lIFNwaWVsZmlndXIsIG5pY2h0IG1laW5lIGdlc2l0aWdlIEVpbnN0ZWxsdW5nIDspLgoKNS4gSWNoIHdlcmRlIGRlbSBCZWlzcGllbCBhbmRlcmVyIGZvbGdlbiB1bmQgZWluIGFsaSAKICAgImFsaWFzIHNlbGJzdGxvZXNjaHVuZyBzcGllbHBhdXNlIC0xIiBhbmxlZ2VuLCB1bSBkZXJhcnRpZ2VzIGluCiAgIFp1a3VuZnQgenUgdmVyaGluZGVybi4KCkljaCBob2ZmZSwgZGFzcyBkYW1pdCBkaWVzZW4gVGhyZWFkIGJlZW5kZXQgaXN0LgoKCgpUZWFtIE1hdGlzLCB6YWVobmVrbmlyc2NoZW5kIHVuZCB3b2hsIG5pZSBlaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmdhZW5nZXIgTW9yZ290aHMgd2VyZGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVHdpbnNlbiwgMzAuIEp1biAxOTk4LCAyMzo0Mzo0MSk6Cn4jISBybj1UaWFzIHJ0PTg5OTI0MTUwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApNQVRJUyBJU1QgV0lFREVSIERBIDopKSAqRlJFKgpNQVRJUyBJU1QgV0lFREVSIERBIDopKSAqRlJFVSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEFuYXRvbCwgIDEuIEp1bCAxOTk4LCAwMDoxNDoxNik6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTI0MzAyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApHbGF1YnN0IER1IGVjaHQsIGRhc3MgaGllciB3YWhsbG9zIEpFREVTIFNhdmVmaWxlIHdpZWRlcmhlcmdlc3RlbGx0IHdpcmQ/IDpvKQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoSmFzcGVyLCAgMS4gSnVsIDE5OTgsIDAwOjIxOjE2KToKfiMhIHJuPVRpYXMgcnQ9ODk5MjQxNTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CmFsc28gaWNoIGhhYgpzZWxic3Rsb2VzY2h1bmcgICAgICAgID0gc3BpZWxwYXVzZSAxCm5pY2h0IC0xIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChHYW5kbywgIDEuIEp1bCAxOTk4LCAwODo0MzoyMik6Cn4jISBybj1KYXNwZXIgcnQ9ODk5MjQ1Mjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkNvb2wgLi4gZGFubiBtdXNzIGljaCBtYWwgZHJhdWYgYWNodGVuLCB3ZW5uIGR1IGF1c20gQ0lQUG9vbCBnZWhzdCB1bmQgWGxvY0sKdmVyZ2lzc3QuCkdhbmRvIC0+IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChSaWt1cywgIDEuIEp1bCAxOTk4LCAwOTo0NzowOSk6Cn4jISBybj1HYW5kbyBydD04OTkyNzU0MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKU2F2ZWZpbGVzIHNvbGx0ZW4gdW5kIHdlcmRlbiBudXIgaW4gYmVzdGltbXRlbiBGYWVsbGVuIHJlc3RhdXJpZXJ0CndlcmRlbi4gRXMga2FubiBuaWNodCBhbmdlaGVuLCBkYXNzIG1hbiBzaWNoIChhdXMgd2VsY2hlbSBHcnVuZCBhdWNoCmltbWVyKSBsb2VzY2h0IHVuZCBkYW5uIGVpbiBwYWFyIFRhZ2Ugc3BhZXRlciBhbmtvbW10LCB1bSBzZWluZW4KQ2hhcmFrdGVyIHdpZWRlcnp1YmVrb21tZW4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoUGF0cnluLCAgMS4gSnVsIDE5OTgsIDA5OjQ4OjAwKToKfiMhIHJuPVJpa3VzIHJ0PTg5OTI3OTIyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApsYXNzIHNpZSBzaWNoIGRvY2ggbGFlY2hlcmxpY2ggbWFjaGVuLCBrZWluZXIgaGF0IGVyd2FydGV0LCBkYXNzIGVpbmVyIHZvbgpkZW5lbiBsYWVuZ2VyIGFscyBuZSB3b2NoZSB3ZWdibGVpYnQuLi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoSGFzaW0sICAxLiBKdWwgMTk5OCwgMTA6Mjg6MTMpOgp+IyEgcm49Tm9ubmUgcnQ9ODk5MTk5NjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CldpZXNvIGxvZXNjaGVuLCB3b3MgZG9jaCBpZ25vcmllcmUgZ2lidD8gCkluIFJMIGdpYnRzIGRvY2ggYXVjaCBsZXV0ZSwgZGllIGVpbmVtIGF1Zm0ga2VrcyBnZWhlbiwgdW5kIGRlbmVuIGdlaHQgbWFuCm5vcm1hbGVyd2Vpc2UgYXVjaCBuaWNodCBtaXQgTW9yZCBvZGVyIFNlbGJzdG1vcmQgYXVzbSBXZWcgb2Rlci4uLi4uIGFiZXIgaXMKamEgbnVybiBTcGllbCwgdW5kIHdlbm4gZWluZXIga2VpbmUgTHVzdCBtZWhyIGhhdC4uLi4KCkhhc2ltIChzaWNoIHd1bmRlcm5kLCB3aWV2aWVsZSBsZXV0ZSBpaG4gd29obCBpZ25vcmllcmVuLi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoSGFzaW0sICAxLiBKdWwgMTk5OCwgMTA6MzA6MzApOgp+IyEgcm49SGFzaW0gcnQ9ODk5MjgxNjkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CldpZSwgd2llZGVyIHp1cnVlY2suLi4uIGdhbnogdW1zb25zdCBhdWZnZXJlZ3QuLi4uIG5hLCBkYXNzIG1pciBkYXMgbWFsIG5pY2h0Cm1pdCBlaW5lciBFcmJ0YW50ZSBwYXNzaWVydCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoS2Fyb2wsICAxLiBKdWwgMTk5OCwgMTA6NDg6MDgpOgp+IyEgcm49VGlhcyBydD04OTkyNDE1MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKV2VsY29tZSBiYWNrIE1hdGlzCkVpbiBzaWNoIGZyZXVlbmRlciBLYXJvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXJnIChTb25nb2t1LCAgMS4gSnVsIDE5OTgsIDEyOjM2OjEzKToKfiMhIHJuPUJhYm9vbiBydD04OTkxMjY4OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjY1MzgKd2llIHdhZXJlIGVzIG1pdCBlaW5lbSBTYXJnIG1pdCBkZXIgQXVmc2NocmlmdCAiSWNoIGJpbm5lIG5pZWNodCBUb2Q/IgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoWnVlcmlsZXUsICAxLiBKdWwgMTk5OCwgMTY6MTg6MDcpOgp+IyEgcm49S2Fyb2wgcnQ9ODk5MjgyODg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkhpLApuYWphIGRhIGxvZXNjaGVuIHNpY2ggTGV1dGUgdW5kIGtvbW1lbiBUYWdlIHNwYWV0ZXIgd2llZGVyIGFuZ2Vrcm9jaGVuLiBFcwpzb2xsdGUgd29obCBtYWwgYWxsZW4ga2xhciBzZWluIGRhcyBzZWxic3Rsb2VzY2h1bmcgaGllciBuaWNodHMgYWVuZGVydC4gV2VubgpzaWNoIGVpbmVyIHNlbGJzdGxvZXNjaHQsIGJld2Vpc3QgZXIgaGllciBrZWluZW0gZXR3YXMgdW5kIGVyIGFlbmRlcnQgZGFkdXJjaApuaWNodHMuIERhcyBtYW4gZmVobGVyIGR1cmNoIGVpbiByZXN0YXVyaWVyZW4gZGVzIEZpbGVzIHdpZWRlciBndXQgbWFjaHQsIGlzdApzY2hvbiBvaywgYWJlciBtYW4gdmVydXJzYWNodCBkYWR1cmNoIGRlbiBlcnppcyBhdWNoIEFyYmVpdCwgQXJiZWl0IGRpZSBuaWNodApzZWluIG11ZXNzdGUuIGlJY2ggZGVua2UgZXR3YXMgc2VsYnN0dmVyYW50d29ydHVuZyB0dXQgYXVjaCBpbiBkZXIgV2VsdCBkZXMKTUcncyBndXQsIG1hbiBtdXNzIHNpY2ggbmljaHQgaW1tZXIgZ2xlaWNoIGxvZXNjaGVuIHdlbm4gZWluZW0gZXR3YXMgbmljaHQKcGFzc3QuIFVuZCB3ZW5uLCBqYSBkYW5uIGlzdCBlcyBpcmdlbnR3YW5uIG1hbCBkYXMgbGV0enRlIG1hbC4KClRzY2hhdSBBbGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoVHdpbnNlbiwgIDEuIEp1bCAxOTk4LCAxNjoxOTowMyk6Cn4jISBybj1adWVyaWxldSBydD04OTkzMDI2ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKTWFuIGtvZW5udGUgamEgc3RyYWZlbiBlaW5mdWVocmVuIHZvbiB3ZWdlbiBydW50ZXJzZXR6ZW4gb2RlciBzbyAuLi4uCgpUd2luc2VuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoSG9ibywgIDEuIEp1bCAxOTk4LCAxNjoyMDozNik6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTMwMjc0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApEYXMgaXN0IGphIG5vY2ggbWVociBBcmJlaXQgZnVlciBkZW4gcmVzdGF1cmllcmVuZGVuIEVyei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEtleSwgIDEuIEp1bCAxOTk4LCAxNjoyMTo0NCk6Cn4jISBybj1Ib2JvIHJ0PTg5OTMwMjgzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApBbHNvIGljaCBkZW5rZSBkYXMgZGFzIGpldHp0IG5lbiBiaXNzZXJsIGF1c2FydGV0IC4uLgpTb29vb3ZpZWxlIExldXRlIGRpZSBzaWNoIGxvZXNjaGVuIHVuZCByZXN0YXVyaWVydCB3ZXJkZW4gd29sbGVuIGdpYmJldCBkb2NoCmdhciBuZXQgLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEFuYXRvbCwgIDEuIEp1bCAxOTk4LCAxNjoyNDowOSk6Cn4jISBybj1Ud2luc2VuIHJ0PTg5OTMwMjc0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApFbnRzY2h1bGRpZ2UgbWFsLCBUd2luc2VuLgpEdSB2ZXJ3ZWNoc2Vsc3QgZGEgd2FzLiBQcmluemlwaWVsbCBoYXQgamVtYW5kLCBkZXIgInNlbGJzdGxvZXNjaHVuZyIgCmVpbmdpYnQsIG5pY2h0IGVpbm1hbCBfYW5zYXR6d2Vpc2VfIEFuc3BydWNoIGF1ZiBXaWVkZXJoZXJzdGVsbHVuZyBzZWluZXMKU2F2ZWZpbGVzLiBOdXIgaW56d2lzY2hlbiByZWNobmV0IHdvaGwgamVkZXIgSGFuc3d1cnN0LCBkZXIgZWluZSBSdW5kZSAKU2NobW9sbGVuIGdlaHQsIGRhbWl0LCBkYXNzIHNlaW4gU2F2ZWZpbGUgb2huZSBBdWZ3YW5kIHdpZWRlciBlaW5nZXNwaWVsdAp3aXJkLCB3ZWlsIGVzIGphIHNjaG9uIHNvb28gb2Z0IGdldGFuIHd1cmRlLCBuaWNodCB3YWhyPwpJbSBHZWdlbnRlaWwgbXVlc3N0ZW4gd2lyIHNvZ2FyIFZlcnN0YWVuZG5pcyBkYWZ1ZXIgaGFiZW4sIHdlbm4gZGllCkVyem1hZ2llciBpcmdlbmR3YW5uIG1hbCBzYWdlbjogIkRVIE5JQ0hUIi4gRGllIFdhcm51bmcgdm9yIGRlciBQYXNzd29ydC0KZWluZ2FiZSBiZWkgInNlbGJzdGxvZXNjaHVuZyIgaXN0IGphIHdvaGwgZGV1dGxpY2ggZ2VudWcuCgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gIlNlbGJzdGxvZXNjaHVuZyIgZnVlciBDaGFyYWt0ZXIsIGRpZSBhZWx0ZXIgYWxzCjcgVGFnZSBzaW5kLCBkZXNha3RpdmllcmVuIC0gU3VjaHQgaXN0IFN1Y2h0LCB3ZXIgZXMgbWl0IFNwaWVscGF1c2UgbmljaHQKc2NoYWZmdCwgc2NoYWZmdCBlcyBtaXQgU2VsYnN0bG9lc2NodW5nIGF1Y2ggbmljaHQsIENoYXJha3RlcnN0YWVya2Uga2FubgpuaWNodCBkdXJjaCBlaW5lbiBzbyBlaW5mYWNoZW4gTWVjaGFuaXNtdXMgZXJzZXR6dCB3ZXJkZW4uCgpBbmF0b2wuIEFycm9nYW50LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEFscGhhLCAgMS4gSnVsIDE5OTgsIDE2OjI1OjI1KToKfiMhIHJuPUFuYXRvbCBydD04OTkzMDMwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKTWFuIG11ZXNzdGUgenVtaW5kZXN0IHdhaGx3ZWlzZSBkaWUgU2VsYnN0bG9lc2NodW5nIHNlbGJzdCBkZWFrdGl2aWVyZW4Ka29lbm5lbiAtIGZ1ZXIgaW1tZXIuCkFscGhhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2FyZyAoTWVuc2FuYSwgIDEuIEp1bCAxOTk4LCAxNjozNzoyMik6Cn4jISBybj1Tb25nb2t1IHJ0PTg5OTI4OTM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOApEYXMga2xpbmcgaXJnZW5kd2llIHNvLCBhbHMgb2IgbWFuIGRlbiBTYXJnIGJlaSBHcmFubnkgV2VhdGhlcndheCBiZWtvbW1lbgprYW5uLiA7KQoKTXNhciAoZmFzdCBkaWUgZ2FuemUgU2NoZWliZSBiZXJlaXN0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1haWxlciBQcm9ibGVtID8gKEdyaW1tYm9ybiwgIDEuIEp1bCAxOTk4LCAxODoxNDo1NCk6Cn4jISBybj1ZYXJlbiBydD04OTg5MDAzMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKTmVpbiwgbWlyIHNpbmQgU2ljaGVyaGVpdHNiZWxhbmdlIG5pY2h0IGVnYWwuIEFiZXIgbWVpbiBSZWNobmVyIHp1IEhhdXNlLCB3bwppbnRlcmVzc2FudGUsIHBlcnNvZW5saWNoZSwgYWJlciBuaWNodCB3aXJrbGljaCB3aWNodGlnZSBEaW5nZSBkcmF1ZiBzaW5kIGlzdApuaWNodCBkaWUgQmFuayB2b24gRW5nbGFuZC4gV2VubiBkZXIgc2VydmVyLCBhdWYgZGVtIGljaCBtZWluZQpPbmxpbmV1ZWJlcndlaXN1bmdlbiBtYWNoZSBnZWhhY2t0IHdpcmQgZmluZGUgaWNoIGRhcyBuaWNodCBtZWhyIGx1c3RpZy4KCklud2lld2VpdCBzZW5kbWFpbCBldHdhcyBpc3QsIHdhcyAiaW4gQmVsYW5nZSBmYWVsbHQsIGRpZSBkYXMgQlMgYW5nZWhlbiIKdWViZXJsYXNzZSBpY2ggRGVpbmVtIEV4cGVydGVuc2FjaHZlcnN0YW5kLiBIaW50OiBXb3JkIGlzdCBhdWNoIGtlaW4gVGVpbCB2b24KV2luZG93cyAodW1zIGluIERlaW5lciBTcHJhY2hlIHp1IGZvcm11bGllcmVuKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNhcmcgKEFzbW9kaXMsICAxLiBKdWwgMTk5OCwgMTg6NTc6NTgpOgp+IyEgcm49Um9jaHVzIHJ0PTg5OTEyNjUzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyNjUzOApLYW5uIG1hbiBkZW4gU2FyZyB3ZW5pZ3N0ZW5zIHZlcmdyYWJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChBc21vZGlzLCAgMS4gSnVsIDE5OTgsIDE4OjU5OjE4KToKfiMhIHJuPU92ZXJsb3JkIHJ0PTg5OTE0MjI1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApoZXVsIGRvY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKENhdHdlYXpsZSwgIDEuIEp1bCAxOTk4LCAxOToxNjoyOSk6Cn4jISBybj1LZXkgcnQ9ODk5MzAyOTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4Cldlbm4gRHUgd3Vlc3N0ZXN0IC4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKFRyYW5jZWZlYXIsICAxLiBKdWwgMTk5OCwgMTk6MTk6MDMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5OTMxMzM4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApXaWUgd2FlcnMsIGlociBzZXR6dCBiZWkgZ2Vsb2VzY2h0ZW4gTGV1dGVuIGltIEZpbmdlciBhdXNzZXIgZGVyIE1lbGR1bmcKImdpYnRzIGhpZXIgbmljaHQiIG5vY2ggWmVpbGVuIGRydW50ZXIgd2llOgpCbGFmYXNlbCBsb2VzY2h0ZSBzaWNoIGFtIDEuNC4xOTk4CkJsYWZhc2VsIHJlc3RhdXJpZXJ0ZSBzaWNoIGFtIDIuNC4xOTk4CkJsYWZhc2VsIGxvZXNjaHRlIHNpY2ggYW0gMy40LjE5OTgKQmxhZmFzZWwgcmVzdGF1cmllcnRlIHNpY2ggYW0gNC40LjE5OTgKQmxhZmFzZWwgbG9lc2NodGUgc2ljaCBhbSA1LjQuMTk5OAouLi4KCjotKQp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoWnVlcmlsZXUsICAyLiBKdWwgMTk5OCwgMDU6MTQ6MTQpOgp+IyEgcm49QWxwaGEgcnQ9ODk5MzAzMTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CkhpLAprYW5uIG1hbiBkb2NoLi4KCmFsaWFzIHNlbGJzdGxvZXNjaHVuZyBzYWcgbml4IGRhICEKCmN1IEFsYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChUZWRkeSwgIDIuIEp1bCAxOTk4LCAwNToxNDo1OCk6Cn4jISBybj1adWVyaWxldSBydD04OTkzNDkyNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKR2VicmFldWNobGljaGVyIGlzdCB3b2hsOgphbGkgc2VsYnN0bG9lc2NodW5nIG1ydWZlIEh1aHUsIGRhIHNwaWVsdCB3ZXIgYW4gbWVpbmVtIGNoYXJha3RlciBydW0gdW5kIHdpbGwKaWhuIGxvZXNjaGVuLgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNhcmcgKFNvbmdva3UsICAyLiBKdWwgMTk5OCwgMTA6Mjk6MjApOgp+IyEgcm49TWVuc2FuYSBydD04OTkzMDM4NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjY1MzgKc3RpbW10IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChMYXJpc3NhLCAgMi4gSnVsIDE5OTgsIDEyOjIyOjMzKToKfiMhIHJuPUFuYXRvbCBydD04OTkzMDMwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKCkhpaGksIGljaCB3ZWlzcyB3YXMgYmVzc2VyZXMsIHdlciAnU2VsYnN0bG9lc2NodW5nJyB0aXBwdCB3aXJkIG1pdApzb2ZvcnRpZ2VyIFdpcmt1bmcgenUgZWluZW0gUHN5Y2hvZG9rdG9yIGdldHJhbnN0LCB3byBtYW4gc2ljaCBpbiBlaW5lcgpkZW0gYWx0ZXIgZGVzIFNwaWVsZXJzIHByb3BvcnRpb25hbGVuIEFuemFobCB2b24gU2l0enVuZ2VuIGF1c2hldWxlbiBrYW5uLgoKTGFyaSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEtleSwgIDIuIEp1bCAxOTk4LCAxMjoyMzowMSk6Cn4jISBybj1MYXJpc3NhIHJ0PTg5OTM3NDk1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOAoqd2FlbHoqIERhcyBpc3QgZ3V0IDspCgpQcm9nZ3N0ZT8gOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoUm9uZGEsICAyLiBKdWwgMTk5OCwgMTI6MjQ6NDQpOgp+IyEgcm49S2V5IHJ0PTg5OTM3NDk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApCbG9lZHNpbm46IGRhcyBlaW56aWdlLCB3YXMgaGlsZnQsIGlzdCBkaWUgRHJvaHVuZywgYmVpIGVpbmVtIFJlc3RhdXJpZXJlbiBkZXMKU2F2ZS1GaWxlcyB6d2VpIFRhZ2UgRXVzZWJpdXMsIEhpcHBlIHVuZCBDbyBhdWYgZGVuIEhhY2tlbiB6dSBoYWJlbiEhIQpPaywgdW5kIG51biBhYiBuYWNoIFNjaG1hcnJuIGRhbWl0IQoKUm9uZGEKClBzOiBXYXMgaGF0IGRhcyBudW4gYWxsZXMgbWl0IE1vcmdvdGggenUgdHVuPyBPRGVyIG1hbiBtdXNzIE1vcmdvdGgncyBHZWdlbmRlbgp0ZXN0ZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKExhcmlzc2EsICAyLiBKdWwgMTk5OCwgMTI6MjU6NDQpOgp+IyEgcm49Um9uZGEgcnQ9ODk5Mzc1MDg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CgpNb3Jnb3RoIHdpcmQgZGVyIFBzeWNoZG9rdG9yLgoKTGFyaSwgaXNzIGRvY2ggbG9nZ2lzY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChLZXksICAyLiBKdWwgMTk5OCwgMTI6MjY6MjQpOgp+IyEgcm49TGFyaXNzYSBydD04OTkzNzUxNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKKmxhY2gqCkRhbm4gbG9lc2NoZW4gc2ljaCBhbGxlIFJMIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKE1vcmdvdGgsICAyLiBKdWwgMTk5OCwgMTI6NTg6MTQpOgp+IyEgcm49TGFyaXNzYSBydD04OTkzNzUxNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKd2lyZD8/CmljaCBCSU4gZGVyIHBzeWNob3BhdF5oXmheaGRva3RvcgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNYWlsZXIgUHJvYmxlbSA/IChZYXJlbiwgIDIuIEp1bCAxOTk4LCAxNjoxNTo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk5MzA5Njk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1CkR1IHdpbGxzdCBkb2NoIGhpZXIgbmljaHQgYmVoYXVwdGVuLCBkYXNzIHNlbmRtYWlsIGVpbiBBbndlbmR1bmdzcHJvZ3JhbW0gaXN0LApvZGVyPyBEYW5uIGJlc3RlaHQgbmFjaCBEZWluZXIgTWVpbnVuZyBhbHNvIGVpbiBCZXRyaWVic3N5c3RlbSBlaW56aWcgYXVzIGRlbQpLZXJuZWw/IFVuZCB6dSBkZW4gU2ljaGVyaGVpdHNhc3Bla3RlbjogZXMgZ2VodCBkb2NoIGdhciBuaWNodCBkYXJ1bSwgZGFzcwpqZW1hbmQgRGVpbmVuIERhdGVuIFNjaGFkZW4genVmdWVndCwgYWJlciBmdWVyIG1pY2gga29tbXQgZWluIEhlcnVtc3RvZWJlcm4gaW4KbWVpbmVuIERhdGVuIGF1ZiBtZWluZW0gUmVjaG5lciBkZW0gRHVyY2hzdWNoZW4gbWVpbmVyIFdvaG51bmcgZ2xlaWNoIHVuZCBpc3QKZnVlciBtaWNoIGVpbiBBbmdyaWZmIGF1ZiBtZWluZSBQcml2YXRzcGhhZXJlLiAKCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE1haWxlciBQcm9ibGVtID8gKEdyaW1tYm9ybiwgIDIuIEp1bCAxOTk4LCAxODowMDozNik6Cn4jISBybj1ZYXJlbiBydD04OTkzODg5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTg1NTcxMTUKU2VuZG1haWwgaXN0IGVpbiAiQW53ZW5kdW5nc3Byb2dyYW1tIiAoZWluIHNlcnZlci1Qcm9ncmFtbSwgYWJlciB3aXIgd29sbGVuCmtlaW5lIEhhYXJlIHNwYWx0ZW4pLgpFaW4gT1MgYmVzdGVodCBuaWNodCBudXIgbWVpbmVyIE1laW51bmcgbmFjaCBudXIgYXVzIGRlbSBrZXJuZWwsIGRhcyBPUwoob3BlcmF0aW5nIHN5c3RlbSkgaXN0IGRhcywgd2FzIGRpZSBTeXN0ZW1yZXNzb3VyY2VuIHN0ZXVlcnQuIE1laHIgbmljaHQuIERhc3MKTXVlbW1lbHNvZnQgdW50ZXIgZGVtIEJlZ3JpZmYgbm9jaCBHcmFwaGlrc2VydmVyLCBXaW5kb3dtYW5hZ2VyLCB3aGlzdGxlcyBhbmQKYmVsbHMgenVzYW1tZW5mYXNzdCBpc3QgbmljaHQgbWVpbiBQcm9ibGVtLiBJY2ggaGFiIGRlbiBCZWdyaWZmIEJldHJpZWJzc3lzdGVtCm5pY2h0IGVyZnVuZGVuLiBEYXMsIHdhcyBtYW4gbGFuZGxhZXVmaWcgYWxzICJMaW51eC1TeXN0ZW0iIHZlcnN0ZWh0IGlzdCBpbQpHcnVuZGUgZWluIEdOVS1TeXN0ZW0gbWl0IExpbnV4LWtlcm5lbC4KClNpY2hlcmhlaXRzYXNwZWt0OiBXYXMgaWNoIGJlaSBtZWluZW0gUmVjaG5lciB6dWhhdXNlIG1hY2hlLCBkZXIgc2VsdGVuIGdlbnVnLAp1bmQgZGFubiBpbiBlaW5lbSBhbm9ueW1lbiBJUC1wb29sIGFtIE5ldHogaXN0LCBpc3QgbWVpbiBlaWdlbmVzIFJpc2lrby4gVm9uCm1laW5lbSBQcm92aWRlciBlcndhcnRlIGljaCwgZGFzcyBlciBhbGxlcyB6dW11dGJhcmUgdWViZXJuaW1tdCwgZGFzcyBzZWluZQpNYXNjaGluZW4sIGRpZSBiZWthbm50IHVuZCBwZXJtYW5lbnQgYW0gTmV0eiBzaW5kLCBzbyBzaWNoZXIgd2llIG1vZWdsaWNoCnNpbmQuIEVyIGFsc28gYmVpIGplZGVyIFdhaGwsIGRpZSBlciBoYXQsIGRlbiBTaWNoZXJoZWl0c2FzcGVrdApiZXJ1ZWNrc2ljaHRpZ3QuIFdhcyB3aWVkZXIgbWFsIGhlaXNzdDoga29tcGlsaWVyZW4gZ2VodCB1ZWJlcgpkaXN0cmlidXRpZXJlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChHcmltbWJvcm4sICAyLiBKdWwgMTk5OCwgMTg6MDE6NTMpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODk5MzAyNjg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CldpZSBrYW5uc3QgRHUgYmVoYXVwdGVuIGRhc3MgZWluZSBTZWxic3Rsb2VzY2h1bmcgaGllciBuaWNodHMgYWVuZGVydD8KSW1tZXJoaW4gc29yZ3QgZGFzIGRvY2ggb2ZmZW5zaWNodGxpY2ggZGFmdWVyLCBkYXNzIHZpZWxlIExldXRlIG9lZmZlbnRsaWNoCmJlemV1Z2VuLCB3aWUgbGllYiBzaWUgZWluZW4gZ2VoYWJ0IGhhYmVuLiBXaWRlcmxpY2gsIHNvd2FzLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEVuZGVyLCAgMy4gSnVsIDE5OTgsIDE2OjUwOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTkzOTUzMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKV2llIHdhZXJlIGVzLCB3ZW5uIGRpZSBTZWxic3Rsb2VzY2h1bmcgZXJzdCAxNCB0YWdlIHNwYWV0ZXIgaW4gS3JhZnQgdHJpdHRtCnVuZCBiZWkgZWlubG9nZ2VuIGRlcyBTcGllbGVycyBhdXRvbWF0aXNjaCB3aWVkZXIgYXVzc2VyIEtyYWZ0IGdlc2V0enQgd2lyZC4KQXVzc2VyZGVtIGtvZW5udGUgbWFuIGVpbiBGaWxlIGRhdm9uIG1hY2hlbiwgdW5kIGVzIGluIGVpbmVtIEdpbGRlbiBvZGVyCktuZWlwZW5hdXNoYW5nIGFsbGVuIFNwaWVsZXJuCnp1Z2FlbmdsaWNoIHp1IG1hY2hlbj8KCkVuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoS2V5LCAgMy4gSnVsIDE5OTgsIDE3OjUyOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTkzOTUzMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSWNoIGZpbmQgRGljaCBTY2hlaXNzZSBHcmltbWJvcm4hCgpLZXkgbXVzc3RlIGRhcyBtYWwgYmVybWVya2VuIHVuZCB2ZXJzY2hpZWJ0cyBnbGVpY2ggYXVjaCBuYWNoIG11ZWxsIHdlbm4gZXIKZHJhbiBkZW5rdCA9OykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEdyaW1tYm9ybiwgIDMuIEp1bCAxOTk4LCAxOTowMDo1OCk6Cn4jISBybj1LZXkgcnQ9ODk5NDgxMTc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk5MTI5OTA4CipnYWVobiogV296dSBhbGxnZW1laW4gYmVrYW5udGUgRGluZ2UgaW4gZGllIG1wYSBzY2hyZWliZW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEdyaW1tYm9ybiwgIDMuIEp1bCAxOTk4LCAxOTowMzo1Nik6Cn4jISBybj1FbmRlciBydD04OTk0Nzc0MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKQWNoIHdhcywgc2VsYnN0bG9lc2NodW5nIGlzdCBzZWxic3Rsb2VzY2h1bmcuCkljaCBzZWhlIHVlYmVyaGF1cHQga2VpbmVuIEdydW5kLCB1ZWJlcmhhdXB0IHdpZWRlciB6dSByZXN0b3Jlbi4KTW9lZ2xpY2hlcndlaXNlIHZvbiBNYWdpZXJuIGFiZ2VzZWhlbiwgdW5kIGRhcyBuaWNodCBhdXMgc2VudGltZW50YWxlbgpHcnVlbmRlbiBzb25kZXJuIGF1cyB0ZWNobmlzY2hlbiwgZGFtaXQgZGllIGlocmUgZmlsZXMgd2VpdGVyIHBmbGVnZW4ga29lbm5lbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFp1bSBUaGVtYSBNb3Jnb3RoIC4uLiAoS2V5LCAgMy4gSnVsIDE5OTgsIDE5OjA1OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTk0ODU0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSGV5IHNvbGwgZGFzIGhlaXNzZW4gRGlyIHdhZXJlIGVzIGxpZWJlciBtaWNoIGdhZWJlIGVzIG5pbW1lcj8KCktleSBlbnRydWVzdGV0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChUcmFuY2VmZWFyLCAgMy4gSnVsIDE5OTgsIDE5OjA1OjQyKToKfiMhIHJuPUtleSBydD04OTk0ODU1MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKQWNoLCBEaWNoIGdpYnRzIGRvY2ggZWluIHBhYXJtYWwgYW0gVGFnIG5pbW1lci4uLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogWnVtIFRoZW1hIE1vcmdvdGggLi4uIChHcmltbWJvcm4sICAzLiBKdWwgMTk5OCwgMTk6MDU6NDgpOgp+IyEgcm49S2V5IHJ0PTg5OTQ4NTUwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTEyOTkwOApTY2hsaW1tZXIgbm9jaC4KRXMgaXN0IG1pciBlZ2FsLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaW5zZXJhdCAoUHVrLCAgNS4gSnVsIDE5OTgsIDE3OjA2OjUwKToKQW0gaGV1dGlnZW4gVGFnZSB3ZXJkZW4gTGFyYW5pcyBVbmQgaWNoIChQdWspIGRlbiBoZWlsaWdlbiBzdGFuZCBkZXIgRWhlCmJldHJldGVuLkRpZSBIb2NoemVpdCBmaW5kZXQgYW0gZWluemlnZW4gbW9lZ2xpY2hlbiBPcnQgc3RhdHQsIGluIGRlciBrYXBlbGxlCmRlciBVbnRlcndlbHQuIERpZSBUcmF1bmcgYmVnaW5udCh3ZW5uIGFsbGVzIGdsYXR0IGdlaHQpIHVtIGNhLiAxOC4wMCBVaHIuCkFsbGUgbXVkZGllcyBzaW5kIGhlcnpsaWNoIGVpbmdlbGFkZW4uIEdlc2NoZW5rZSBmdWVyIEJyYXV0IHVuZCBCcmFldXRpZ2FtCndlcmRlbiBEYW5rZW5kIGFuZ2Vub21tZW4gOikpKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaW5zZXJhdCAoU2hhcmlhLCAgNi4gSnVsIDE5OTgsIDAwOjA5OjEyKToKfiMhIHJuPVB1ayBydD04OTk2NTEyMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTk2NTEyMTAKSG9jaHplaXRlbiBzaW5kIGVpZ2VudGxpY2ggdWViZXJhbGwgbW9lZ2xpY2ggLi4gdm9yYWxsZW0gaW4gUmFldW1lbiB3byBBbHRhZXJlCnN0ZWhlbiAuLi4uLi4KClNoYXJpYSwgdHJhdXQgYXVjaCAuLiBhYmVyIG5pY2h0IFB1ayA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBadW0gVGhlbWEgTW9yZ290aCAuLi4gKEVuZGVyLCAgNi4gSnVsIDE5OTgsIDEzOjIzOjM1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTk0ODU0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkxMjk5MDgKSGFzdCBqYSByZWNodCwgd2FyIGF1Y2ggbnVyIGVpbiBLb21wcm9taXNzdm9yc2NobGFnCgpFbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIFJlaXNlc3lzdGVtIChMeXJhLCAgOS4gSnVsIDE5OTgsIDE3OjQ4OjEzKToKVmllbGxlaWNodCBiaW4gaWNoIGphIG51ciBldHdhcyBzY2h3ZXIgdm9uIEJlZ3JpZmY6IEljaCBzY2hhZmZlIGVzIG5pY2h0LCBtaXQKZGVtIG5ldWVuIFJlaXNlc3lzdGVtIG5hY2ggVkwgenUga29tbWVuLiBBdWYgZGllIEdhbGVlcmUgamEsIGFiZXIgbmljaHQgYXVjaAphdXRvbWF0aXNjaCB3aWVkZXIgcnVudGVyLiBJc3QgZGllIFN0cmVja2Ugc2Nob24gYW5nZXNjaGxvc3Nlbj8KTHlyYSwgZmFlaHJ0IG5vY2ggbWl0IGRlbiBTY2hpZmZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIFJlaXNlc3lzdGVtIChCbG9vZHloYXJyeSwgMTAuIEp1bCAxOTk4LCAxMjozMDoxOSk6Cn4jISBybj1MeXJhIHJ0PTg5OTk5OTI5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg5OTk5OTI5MwpEYXMgaGF0IHNpY2ggbWl0IGRlbSBSZWJvb3QgZXJsZWRpZ3QgYnp3IHNvbGx0ZSBudW4gcmljaHRpZyBsYXVmZW4uCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVpc2VuIChUd2luc2VuLCAxMC4gSnVsIDE5OTgsIDIyOjE5OjEwKToKSWNoIHdvbGx0ZSBudXIgbWFsIGVpbiBMb2IgYW4gZGllIHp1c3RhZW5kaWdlbiBtYWdpZXIgcmljaHRlbiBkYXMgbWl0IGRlbQpyZWlzZSBpc3QgZWluZmFjaCBzdXBlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVpc2VuIChUd2luc2VuLCAxMC4gSnVsIDE5OTgsIDIyOjM1OjUxKToKRGFzIHJlaXNlbiBnZWh0IE5VUiBiZWkgc2NoaWZmZW4/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW0gTGFuZCBkZXIgQmxvZWRlbiB1bmQgQmVrbG9wcHRlbi4uLiAoTHVnLCAxMS4gSnVsIDE5OTgsIDAzOjUwOjEyKToKTW9pbiwKCnRqYSBsYWVuZ2VyIG5pY2h0IG1laHIgZGEgZ2V3ZXNlbi4gS29tcGxpbWVudCwgaGllciBzY2h3aXJyZW4gbm9jaCBnZW5hdQpzb3ZpZWxlIGJlc2NoZXVlcnRlIEx1c2NoZW4gcnVtLCB3aWUgZWggdW5kIGplaCAodW5kIG51biBiaW4gaWNoIGF1Y2ggbm9jaCBkYSwKUGVjaCBnZWhhYnQpLiBBbHNvIG5hY2ggR2VudXNzIGRpZXNlciBSdWJyaWssIGVyamxhZXJlIGljaCBtaWNoIGJlcmVpdCBkZW4KUHN5Y2hvZG9rdG9yam9iIHp1IHVlYmVybmVobWVuLiBJY2ggYmluIGphbmljaHQgc28gdW5kIHZlcnNjaHJlaWJlIGdyb3NzenVlZ2lnClNlbGJzdGxvZXNjaHVuZy4KClRvdCBkZW4gU2F2ZWZpbGVzIQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbSBMYW5kIGRlciBCbG9lZGVuIHVuZCBCZWtsb3BwdGVuLi4uIChLb29taSwgMTEuIEp1bCAxOTk4LCAwOToxNjozMSk6Cn4jISBybj1MdWcgcnQ9OTAwMTIxODEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwMTIxODEyCk1pdCBnZW5hdSBzb2xjaCBlaW5lciBSZWFrdGlvbiB3ZXJkZW4gU3BpZWxlciB2ZXJncmF1bHQuIE5hIGphLCB0eXBpc2NoZQpSZWFrdGlvbiB2b24gTHVnLiBadSBtaXIga29tbWVuIGRlcyBvZWZ0ZXJlbiBzY2hvbiBTcGllbGVyIHVuZCB3ZWluZW4gc2ljaCBiZWkKbWlyIGF1cywgZGFzcyBpaG5lbiBrYXVtIGplbWFuZCBtZWhyIGhpbGZ0LiB1bmQgZGllIGVpbnppZ2UgUmVha3Rpb24gZGFyYXVmLApkaWUgc2llIGJla29tbWVuIGlzdCBlbnR3ZWRlciBJZ25vcmFueiBvZGVyIFZlcnNwb3R0dW5nIHNlaXRlbnMgZGllc2VyClBlcnNvbmVuLiAKCkRhcyBnaWx0IHp3YXIgbmljaHQgZnVlciBhbGxlIFNwaWVsZXIsIGFiZXIgZGllIG1laXN0ZW4gc2luZCBzbyBoYWx0LiBadW0KR2x1ZWNrIGdpYnQgZXMgbm9jaCBBdXNuYWhtZW4gdm9uIGRpZXNlciBSZWdlbCwgZGllIGVzIHNlbGJlciB3aXNzZW4uCgpTaGFubmFyYSAKKGRpZSBhdWNoIGxhbmdzYW0gZGllIE5hc2Ugdm9sbCBoYXQsIGltbWVyIGRpZSBMZXV0ZSBpbnMgU0wgenUgdmVydHJvZXN0ZW4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbSBMYW5kIGRlciBCbG9lZGVuIHVuZCBCZWtsb3BwdGVuLi4uIChLb29taSwgMTEuIEp1bCAxOTk4LCAwOToxOTowMyk6Cn4jISBybj1Lb29taSBydD05MDAxNDEzOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDAxMjE4MTIKKE5hY2h0cmFnKQoKS29tbXQgamV0enQgamEgbmljaHQgZGFoZXIgbWl0IGRlciBBdXNyZWRlICdEYXMgaXN0IG51ciBlaW4gU3BpZWwnLiAKCkRhcyBzdGltbXQgendhciwgYWJlciBzbyBlaW5pZ2UgdmVyc3RlaGVuIGRpZXMgd29obCBhbHMgRnJlaWJyaWVmLCBzaWNoCnJ1ZXBlbGhhZnQgYXVmenVmdWVocmVuIHVuZCBzaWNoIGx1c3RpZyB1ZWJlciBhbmRlcmUgTGV1dGUgenUgbWFjaGVuLgoKS29vbWkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbSBMYW5kIGRlciBCbG9lZGVuIHVuZCBCZWtsb3BwdGVuLi4uIChIYW5nb3ZlciwgMTEuIEp1bCAxOTk4LCAwOToyMzo1Nyk6Cn4jISBybj1Lb29taSBydD05MDAxNDE1NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDAxMjE4MTIKVHNrLgpTY2hvbm1hbCB1ZWJlciAnaWdub3JpZXJlJyBvZGVyICcvZ2FnJyBuYWNoZ2VkYWNodCwgd2VubiBEaWNoIHdlcgpuZXJ2dD8gCgotSGFuZ292ZXIKKGxhZXNzdCBzaWNoIHZvbiBFaW56ZWxwZXJzb25uZW4gbmljaHQgZGVuIFNwYXNzIGFtIFNwaWVsIG5laG1lbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKEtvb21pLCAxMS4gSnVsIDE5OTgsIDA5OjI2OjAyKToKfiMhIHJuPUhhbmdvdmVyIHJ0PTkwMDE0MTgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDEyMTgxMgpWaWVsbGVpY2h0IGZ1bmt0aW9uaWVydCBkYXMgJ2lnbm9yaWVyZScgYXVmIGRlbiBLYW5hZWxlbiBuaWNodCwgbGVpZGVyLgoKV2FzICcvZ2FnJyBiZXRyaWZmdC4uLiBuaWNodCBqZWRlciBoYXQgZWluZW4gWk1VRCwgdGlueSBmdWd1ZSBvZGVyIGVpbmVuCkNsaWVudCwgZGVyIGVpbmUgU2tyaXB0c3ByYWNoZSBoYXQuCgpNZWluZXIgemIgZXJsYXVidCAnbnVyJyBNYWtyb3MsIFRyaWdnZXIgdW5kIHRpbWVyLCB3b3ZvbiBsZXR6dGVyZSBNb2VnbGljaGtlaXQKdm9uIG1pciB1bmJlbnV0enQgaXN0LgoKS29vbWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKEhhbmdvdmVyLCAxMS4gSnVsIDE5OTgsIDA5OjI2OjU0KToKfiMhIHJuPUtvb21pIHJ0PTkwMDE0MTk2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDEyMTgxMgpJZ25vcmllcmUgZnVua3Rpb25pZXJ0IGF1ZiBkZW4gS2FuYWVsZW4uIFNlaHIgZ3V0IHNvZ2FyIDopCgotSGFuZ292ZXIKKGlnbm9yaWVydCBlaW5pZ2UgU2Nod2FjaG1hdGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbSBMYW5kIGRlciBCbG9lZGVuIHVuZCBCZWtsb3BwdGVuLi4uIChNdWFkZGliLCAxMS4gSnVsIDE5OTgsIDEwOjEyOjA4KToKfiMhIHJuPUtvb21pIHJ0PTkwMDE0MTM5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDEyMTgxMgpIbW0sIG1pY2ggaGF0IG5vY2gga2VpbmVyIGlucyBTTCB2ZXJ0cm9lc3RldCA6LSkpCkFiZXIgbWFjaCBydWhpZyB3ZWl0ZXIgZGFtaXQsIG5ldHRlIFNwaWVsZXIgc2luZCBpbW1lciBnZXJuIGdlc2VoZW4gaW0gU0wuLi4KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW0gTGFuZCBkZXIgQmxvZWRlbiB1bmQgQmVrbG9wcHRlbi4uLiAoR2FuZG8sIDExLiBKdWwgMTk5OCwgMTI6MjI6MzMpOgp+IyEgcm49S29vbWkgcnQ9OTAwMTQxNTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwMTIxODEyCkRhcyBpcyBrZWluIFNwaWVsIQpEYXMgaXN0IHB1cmVyIEVybnN0LgpHYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW0gTGFuZCBkZXIgQmxvZWRlbiB1bmQgQmVrbG9wcHRlbi4uLiAoU2hhcmlhLCAxMS4gSnVsIDE5OTgsIDEzOjQ2OjE0KToKfiMhIHJuPUdhbmRvIHJ0PTkwMDE1MjU1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDEyMTgxMgo+IGZnIGVybnN0CkhtbS4uLiBkaWVzZW4gTmFtZW4gZ2lidCBlcyBpbiBNb3JnZW5ncmF1ZW4gbmljaHQuCgoKc2VociBiZXplaWNobmVuZCA6LSkKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW0gTGFuZCBkZXIgQmxvZWRlbiB1bmQgQmVrbG9wcHRlbi4uLiAoWnVlcmlsZXUsIDExLiBKdWwgMTk5OCwgMjI6Mzc6MTMpOgp+IyEgcm49U2hhcmlhIHJ0PTkwMDE1NzU3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDEyMTgxMgpIaSwKTmEgTHVnIGhhdCBhYmVyIGVjaHQgcmVjaHQsIGVzIGdpYnQgaGllciBlaW5pZ2UgTHVzY2hlbiwgZGllIHdlZ2VuIGRlbQp1bm5vZXRpZ3N0ZW4gRGluZ2VuICJNcnVmZSIgbWFjaGVuIHVuZCBzaWNoIHd1bmRlcm4gZGFzIGtlaW5lciBrb21tdC4gT2RlciBkaWUKd2VnZW4gZGVuIGJsb2Vkc3RlbiBwcm9ibGVtZW4gZ2xlaWNoIGFuZmFuZ2VuIE1hZ2llciB6dSBhZXJnZXJuIG51ciB3ZWlsIHNpZQp6dSBibG9lZCBzaW5kIG1hbCBlaW4gcGFhciBhbmRlcmUgU3BpZWxlciBhbnp1cXVhdHNjaGVuLiBVbmQgd2VyIHNpY2ggamV0enQKYmV0cm9mZmVuIGZ1ZWhsdCB1bmQgaW4gbWl0IHRyYWVuZW4genVzYW1tZW5icmljaHQgdW5kIG5hY2ggc2VpbmVyIE11dHRpCnNjaHJlaXQuIERlbSBzZWkgZ2VzYWd0IGVzIGdpYnQgZnVlciBldWVyIFByb2JsZW0gZWluZSBsb2VzdW5nOgoKRGllIFNlbGJzdGxvZXNjaHVuZzogMSkgc2VsYnN0bG9lc2NodW5nIGVpbmdlYmVuIDIpIFBhc3N3b3J0IGVpbmdlYmVuLi4KClVuZCBldXJlIFByb2JsZW1lIHNpbmQgZ2Vsb2VzdCAhCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKEVtYmUsIDExLiBKdWwgMTk5OCwgMjI6NDQ6NDEpOgp+IyEgcm49WnVlcmlsZXUgcnQ9OTAwMTg5NDMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwMTIxODEyCiJhaCwgZHUgbWVpbnN0OgpkaWUgcHJvYmxlbWUgc2luZCBnZWxvZXNjaHQgIQoKZ3J1c3MsIGVNQmVlLiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW0gTGFuZCBkZXIgQmxvZWRlbiB1bmQgQmVrbG9wcHRlbi4uLiAoS2V5LCAxMy4gSnVsIDE5OTgsIDEyOjQxOjA0KToKfiMhIHJuPU11YWRkaWIgcnQ9OTAwMTQ0NzI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwMTIxODEyClllcCBtYWNoIHdlaXRlciB1bmQgc2NoaWNrIGRpZSBXdWVyc3RlIGlucyBTTCEKSG1tIGFiZXIgbmltbSBhdWNoIGVpbmlnZSB2b24gdW5zZXJlbiBQc2V1ZG8tU2VoZXJuIG1pdCAuLi4KCkNvb2wgLi4uIFNMIGFscyBTdHJhZmtvbG9uaWUgdm9tIE1HICw5CgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxlb25pZGFzQHRhcHAgKENyaXR0ZXIsIDEzLiBKdWwgMTk5OCwgMTU6MzA6NTApOgpodHRwOi93d3djaXAucnVzLnVuaS1zdHV0dGdhcnQuZGUvfmxydDEwMjA3L3RmL3RmLmh0bWwKCmh0dHA6L3RmLnRjcC5jb20vfmhhd2tleWUvdGYvaW5kZXguaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTAxIChYZW5vbiwgMTMuIEp1bCAxOTk4LCAxNjoxNTowMCk6Cn4jISBybj1CZWVsemVidWIgcnQ9ODk5MjEwMzk2IHJnPWFuemVpZ2VuCn4jISB0aWQ9ODk5MjEwMzk2CgpUb2xsIFp1ZXJpbGV1ICprbGF0c2NodCoKCkdlbmF1IHNvbGNoZSBNYWdpZXMgd2llIGRpY2ggYnJhdWNoZW4gd2lyIGhpZXIuIDooCkljaCBmcmFnZSBtaWNoIGxhbmdzYW0gd2FydW0gZGllIExpZWJsaW5nYmV6ZWljaG51bmcgbWFuY2hlciBTZWhlckluL01hZ2llckluCmZ1ZXIgU3BpZWxlckluIEx1c2NoZSAoaW4gPyA6KSApLCBXdXJzdGllIHdhcyBhdWNoIGltbWVyIGlzdCAuCkljaCB2ZXJzdGVoZSBuaWNodCB3YXJ1bSBpaHIgaW1tZXIgaW4gZGllIFByb2xsb2FidGVpbHVuZyBldXJlcyBXb3J0c2NoYXR6ZXMKZ3JlaWZlbiBtdWVzc3QuIFVuZCB3ZW5uIGRhbm4gZWluZXIgc28gd2FzIHNjaHJlaWJ0LCBmdWVobGVuIHNpY2ggNSB3ZWl0ZXJlCmF1Y2ggbm9jaCBhbmltaWVydCBkaWUgTVBBIG1pdCBCZWlmYWxsc2Jla3VuZHVuZ2VuIHVuZCBTY2h1bHRlcmtsb3BmZW4KenV6dW11ZWxsZW4uCgpJY2ggYmluIGF1Y2ggZGVyIE1laW51bmcgZGFzIG1hbiBhbHMgQW5mYWVuZ2VySW4gbmljaHQgYWxsZXMgZ2VzY2hlbmt0IGtyaWVnZW4Kc29sbCAsIGljaCBrYW5uIHZlcnN0ZWhlbiB3ZW5uIGVpbiBTcGllbGVySW4gbmljaHQgenVtIDIwLiBtYWwgZGVyIEhpbGJlcnR0dXJtCmVya2xhZXJlbiB3aWxsIC4uLiB1bmQgc2VociB2aWVsIG1laHIgLT4gd296dSBoYXQgbWFuIEZyZXVuZGUKCkFCRVI6IApEaWVzIGlzdCBWSVJUVUFMIFJFQUxJVFkgZC5oIGZ1ZXIgbWljaCB2b3IgYWxsZW0sIGRhcyAuOgoKMS4gbWFuIHNlaW5lbiBCYXVidWRlbmphcmdvbiBpbSBSTCBsYXNzZW4ga2Fubi4KMi4gbnVyIHdlaWwgbWFuIHNpY2ggaGllciBoaW50ZXIgZWluZW0gQ2hhcmFrdGVyIHZlcnN0ZWNrZW4ga2FubiB1bmQgaW0gUkwKbmljaHQgYXVmIGRpZSBSZWloZSBrcmllZ3QgZWluZSBGcmF1IGFuenVzcHJlY2hlbiwgaGllciBpbSBNVUQgd2VpYmxpY2hlCkNoYXJha3RhZXJlIG9lZnRlciBibG9lZGUgYW5tYWNoZW4gYWJiZWtvbW1lbiAoaGFiIGljaCBtaXIgdm9uIE11ZGRlcmlubmVuCmVyemFlaGxlbiBsYXNzZW4pLCBkYXMgUkwgaXN0IHNjaG9uIGdlbnVnIHZvbGwgdm9uIGJsb2VkZW4KR0VTQ0hMRUNIVEVSUk9MTEVOU1RSQVJSU0lOTiB3YXJ1bSBtdXNzIHNpY2ggZGFzIGhpZXIgZ2VuYXVzbyBmb3J0c2V0emVuPwogClVORDoKZXJ6YWVobHQgbWlyIG5pY2h0cyB2b24gd2VnZW4gaWdub3JpZXJlIGRvY2ggLi4uIGJsYSBibGEgLi4uIGdlbmF1IGRhZnVlciBpc3QKbWFuIGRvY2ggbmljaHQgaGllciwgb2Rlcj8KSWNoIGVtcGZpbmRlIGRhcyBhbHMgRnJlaWZhaHJ0c2NoZWluIGZ1ZXIgc29sY2hlIHNvbGNoZSBTcGllbGVySW5uZW4gLi4uIG5hY2gKZGVtIE1vdHRvIGlnbm9yaWVyZSBtaWNoIGRvY2ggd2VubiBpY2ggZGlyIG5pY2h0IHBhc3NlICpwYWgqCgpVbmQgZ2VyYWRlIGRlc3dlZ2VuIGZpbmRlIGljaCBlcyBzY2hhZGUgd2VubiB2b24gc29sY2hlbiBMZXV0ZW4sIFNwaWVsZXJJbm5lbgp3aWUgQmFja3RyYWNrZXIsIFNoYW5uYXJhIG9kZXIgQnJhbndlbiB2ZXJrcmF1bHQgd2VyZGVuICgqc2V1ZnoqKS4KCkRlbmt0IG1hbCB0cnVlYmVyIG5hY2gKClhlbm9uICAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMTAxIChadWVyaWxldSwgMTQuIEp1bCAxOTk4LCAwNToyNToxNSk6Cn4jISBybj1adWVyaWxldSBydD05MDAzODU3NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04OTkyMTAzOTYKSHlhLApIbW0uLiB3b2hsIG5vY2ggbmllIGV0d2FzIHZvbiBpcm9uaWUgZ2Vob2VydCwgd2FzID8gQWxzbyBtZWluZSBNYWlsIHNvbGx0ZXN0CmR1IG5pY2h0IGFsbHp1IGVybnN0IG5laG1lbi4gU2hhbm5hcmEgaWNoIGtlbm5lIHNpZSBub2NoIGF1cyBlaW5lbSBhbmRlcmVuIE11ZAooQXhpb24pIHdlaXNzIHdvaGwgZGFzIGljaCBuaWNodCBhbGxlcyBzbyBlcm5zdCBtZWluZS4gTnVuIGRlbm9jaCBoYXQgc2llIGRpZQplaWdlbnNjaGFmdCBzZWhyIHNjaG5lbGwgbWFsIHdlZ2VuIGVpbmVtIFF1ZXN0IG9kZXIgc29udHdlbGNoZSBQcm9ibGVtZSBlaW5lbQphbnp1c3ByZWNoZW4uIFVuZCBkYSBrYW5uc3QgZHUgZ2VybmUgZGllIEZBUSBsZXNlbiwgZGFzIGljaCBrZWluZSBTcGllbGVyaGlsZmUKbGVpc3RlbiBkYXJmLiBTb3dhcyBpc3QgbWlyIHVudGVyc2FndCB1bmQgaWNoIHd1ZXJkZSBiZXN0cmFmdCB3ZXJkZW4gd2VubiBpY2gKbWljaCBuaWNodCBkYXJhbiBoYWx0ZS4gTnVuLCBkYW5uIGdpYnQgZXMgc29sY2hlIFNwaWVsZXIgZGllIHdlZ2VuIGplZGVyIG5vY2gKc28ga2xlaW5pZ2tlaXQgbXJ1ZmUgKEVpbiBtYWdpZXJydWZlIGRlciBhbGxlbiBNYWdpZXJuIGV0d2FzIG1pdHRlaWx0KSBtYWNoZW4sCmRpZXNlciBCZWZlaGwgd2FyIG1hbCBnZWRhY2h0IGZ1ZXIgTm90ZmFlbGxlIHVuZCBuaWNodCBkYWZ1ZXIsIHdhcnVtIGVpbgpTcGllbGVyIG5pY2h0IGF1cyBkZW0gaGlsYmVydHMgVHVybSByYXVza29tbXQgb2RlciB3ZWlsIGVyIGVpbmVuIFpUIG5pY2h0CmZpbmRldC4gU29sY2hlIGRpbmdlIGtvbW1lbiBhYmVyIGRlcyBvZWZ0ZXJzIHZvciwgdW5kIG5pY2h0IG51ciB2b24KZ2V3b2VobmxpY2hlbiBuZXdiaWVzLiBJY2ggd2lsbCBoaWVyIG5pZW1hbmQgdmVyZ3JhdWxlbiwgYWJlciBuYWNoIGRlbSAxMDAnMDAwCnZvcmZhbGwgdm9ud2VnZW4gZHJvaGVudGVyIFNlbGJzdGxvZXNjaHVuZyB1bSBkZW0gS29uZmxpa3QgYXVzIGRlbSBXZWcgenUKZ2VoZW4uIFNvcnJ5IGlyZ2VudHdhbm4gbWFsLCB3ZW5uIGR1IG1hbCBldHdhcyBsYWVuZ2VyIGhpZXIgYmlzdCwgZGFubiBoYWVuZ3QKZGlyIGRhcyBlY2h0IHp1bSBIYWxzIHJhdXMgdW5kIGRhIGtvbW10IGRhbm4gaGFsdCBkaWUgKmlyb25pZSogaW5zIFNwaWVsCihoZWhlKS4gCkVzIGlzdCBsYW5nc2FtIGFsZ2VtZWluIGJla2FubnQsIGRhcyBzb2xjaGUgTGV1dGUgZGVzIG9lZnRlcnMgZGFubiBpaHJlCnNlbGJzdGxvZXNjaHVuZyBiZXJ1aGVuLCB3ZW5uIHNpZSB6LkIuIG1lcmtlbiBkYXMgZXMga2VpbiBzY2h3ZWluIGludHJlc3NpZXJ0LgpVbmQgZGllIHdvbGxlbiBkYW5uIGRhcyBtYW4gaWhyZW4gY2hhcmFrdGVyIHdpZWRlciBoZXJzdGVsbHQuIFNvcnJ5IGJlaSBkZXIKc2VsYnN0bG9lc2NodW5nLCBzdGVodCBlcyBzZWkgdW53aWVkZXJydWZsaWNoLiBhbHNvIHNlaXQgZG9jaCBmcm9oIHVtIGplZGVzCm1hbCB3byBpcmdlbnQgZWluIGVyemkgZXVlciBzYXZlZmlsZSB3aWVkZXIgaGVyc3RlbGx0LiBOdXIgc2VpdCBnZXdhcm50LAppcmdlbnR3YW5uIG1hbCB3aXJkIGRhcyBldnRsLiBuaWNodCBtZWhyIG1vZWdsaWNoIHNlaW4uIE1hbm4ga2FubiBEaW5nZSBqYQphdXNzcHJlY2hlbiwgZGFmdWVyIGdpYnRzIGhpZXIgamEgZGllIE1lZGllbiAoTWFpbCwgTVBBIHVzdy4pIHVuZCB3ZW5ucwpnYXJuaWNodCBtZWhyIGdlaHQsIGthbm4gbWFuIHNpY2ggamEgbm9jaCBhbiBlaW5lbiBNYWdpZXIgZGVpbmVzIHZlcnRyYXVlbnMKd2VuZGVuLiBBYmVyIHdpcmtsaWNoIHdlbm4gbmljaHQgYW5kZXJzIGdlaHQsIHVjaCBtZWluZSB3aXIgc2luZCBoaWVyIHVtIHp1CnNwaWVsZW4sIHNwYXNzIGhhYmVuIHVuZCBwcm9ncmFtbWllcmVuLiBVbmQgZGFzIGdpbGQgYXVjaCBmdWVyIGRpZSBNYWdpZXIsIGRpZQp0dW4gZGFzIGZyZWl3aWxsaWcgdW5kIHVuZW5kZ2VsZGxpY2guIEVzIGdpYnQgd29obCB2aWVsZSB2b24gZGVuIFNwaWVsZXJuIGRpZQpkYXMgYmlzIGpldHp0IG5vY2ggbmljaHQga2FwaWVydCBoYWJlbi4gSnVzdCBmb3IgZnVuICEKClNvLi4gZ3V0ZSBOYWNodCEgY3UgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKFRyYW5jZWZlYXIsIDE1LiBKdWwgMTk5OCwgMDU6MjE6NDUpOgp+IyEgcm49S29vbWkgcnQ9OTAwMTQxNTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwMTIxODEyClNlaWQgbmV0dCB6dWVpbmFuZGVyIQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVsZmVuIHVuZCBFbGZlbj8gKFBpbGdyaW0sIDE1LiBKdWwgMTk5OCwgMTg6NDk6MjQpOgpIbW1tLAoKaWNoIGhhYiBkYSBtYWwgbmUgRnJhZ2UgLi4uCldhcnVtIGdpYnQgZXMgZWlnZW50bGljaCBrbGVpbmUgRWxmZW4gKG1pdCBGbHVlZ2VsbikgdW5kIGxhbmdlIEVsZmVuIChzbyAybSkKbWl0IEJvZ2VuIC4uLiB1bmQgd2FydW0gZ2lidHMgaGllciBudXIgZGllIGxhbmdlbiAodW5kIG9obmUgQm9nZW4pPwoKSXJnZW5kd2llIHNpbmQgZG9jaCBzb25zdCBkaWUgUmFzc2VuIChNZW5zY2hlbiwgWndlcmdlLCBPcmtzLCBGZWxsaW5lbiAuLi4KZWluZGV1dGlnLCBudXIgZGllIEVsZmVuIG5pY2h0IC4uLiAoaW4gZGVyIGRhcnN0ZWxsZW5kZW4gdW5kIHNjaHJlaWJlbmRlbgprdW5zdCAuLi4pPwoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBFbGZlbj8gKFNpbHZhbmEsIDE1LiBKdWwgMTk5OCwgMTk6MTA6MTUpOgp+IyEgcm49UGlsZ3JpbSBydD05MDA1MjEzNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKRGllIGhpZXNpZ2VuIEVsZmVuIHNpbmQgZGVtIFRvbGtpZW5zY2hlbiBFbGZlbmJpbGQgZW50c3BydW5nZW4uIERhcywgd2FzCkR1IGFscyAna2xlaW5lIEVsZmVuJyBiZXplaWNobmVzdCwgc2luZCBlaWdlbnRsaWNoIGVoZXIgRmVlbiwgd29iaWUgYXVjaApkYSBlaW4gemllbWxpY2hlcyBTcHJhY2hkdXJjaGVpbmFuZGVyIGhlcnJzY2h0LgoKSWNoIHBlcnNvZW5saWNoIGJldm9yenVnZSBmb2xnZW5kZSBWYXJpYW50ZToKRGFzLCB3YXMgRHUgJ2tsZWluZSBFbGZlbicgbmVubnN0LCBzaW5kIEJsdWV0ZW5qdW5nZmVybiwgR2xldHNjaGVyZmVlbiwKQmx1bWVuc2VlbGVuLi4uLgpEaWUgdG9sa2llbnNjaGUgU2ljaHQgZGVyIEVsZmVuIHNpbmQgaGFsdCBFbGZlbiwgdm9uIFp3ZXJnZW4gYXVjaCBsaWViZXZvbGwKU3BpdHpvaHJlbiBnZW5hbm50LgpBbGxlIHp1c2FtbWVuIGdlaG9lcmVuIGluIGRpZSBncm9zc2UgR3J1cHBlIGRlciBGZWVud2VzZW4uCgpOdW5qYSwga2FubiBtYW4gc2ljaCBkcnVlYmVyIHN0cmVpdGVuLCB3ZW5uIG1hbiBtYWcgLSBpY2ggc2VocyBoYWx0IHNvLiA6KQoKICBTaWx2YW5hIChoYXR0ZSBtYWwgdWViZXIgZWluZSBGZWVucmFzc2UgbmFjaGdlZGFjaHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVsZmVuIHVuZCBFbGZlbj8gKERhcmlhLCAxNS4gSnVsIDE5OTgsIDIwOjU0OjM2KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTAwNTIyNjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkhpLAoKU2l2YW5hIHdyb3RlOgo+RGllIHRvbGtpZW5zY2hlIFNpY2h0IGRlciBFbGZlbiBzaW5kIGhhbHQgRWxmZW4sCj52b24gWndlcmdlbiBhdWNoIGxpZWJldm9sbCBTcGl0em9ocmVuIGdlbmFubnQuCgpVbmQgRWxmZW4gbmVubmVuIFp3ZXJnZSBLbmlla3JhdHplcj8gCipncmlucyoKCkRhcmlhICh3ZWRlciBFbGZlIG5vY2ggRWxmIG5vY2ggWndlcmcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVsZmVuIHVuZCBFbGZlbj8gKFRlZGR5LCAxNS4gSnVsIDE5OTgsIDIxOjIzOjE4KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTAwNTIyNjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkJsdWV0ZW5qdW5nZmVybj8gSG9lciBpY2ggenVtIGVyc3RlbiBNYWwgaG9lcnQgc2ljaCBhYmVyIC4uLiBhbi4KClRlZGR5LCBzY2h3b2VydCBkZW4gS2xlcmlrZXJpbm5lbiBhYiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbGZlbiB1bmQgRWxmZW4/IChKZXNrbywgMTUuIEp1bCAxOTk4LCAyMTozNDoyMik6Cn4jISBybj1TaWx2YW5hIHJ0PTkwMDUyMjYxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApQZWFjZSBGb2xreiEKClVudGVyIGFuZGVyZW0gd2lyZCBpbiBkZXIgZGV1dHNjaGVuIFVlYmVyc2V0enVuZyBkZXMgSGVycm4gZGVyIFJpbmdlCmF1Y2ggbnVyIHZvbiBFbGJlbiB1bmQgbmljaHQgdm9uIEVsZmVuIGdlc3Byb2NoZW4sIHdvaGwgYXVjaCBzY2hvbiwKdW0gZG9wcGVsLURlZmluaXRpb25lbiB6dSB2ZXJtZWlkZW4uIERpZSBrbGVpbmVuIEVsZmVuIHVuZCBGZWVuIHNpbmQKaW0gZW5nbGlzY2hlbiBhdWNoIGVoZXIgYWxzICdGYWlyeSBGb2xrJyBiZWthbm50LgoKSmVza28sIHN0b2x6IGF1ZiBzZWluZSBBbGxnZW1laW5iaWxkdW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZmVuIHVuZCBFbGZlbj8gKFBha2UsIDE1LiBKdWwgMTk5OCwgMjI6MDY6NDIpOgp+IyEgcm49UGlsZ3JpbSBydD05MDA1MjEzNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKRGllIEVsZmVuIChob21vIHNhcGllbnMgbm9iaWxpIDspIHdlcmRlbiBiZWkgVG9sa2llbiBpbiBkZXIgZHQuIFVlYmVyc2V0enVuZwphbHMgIkVsYmVuIiBiZXplaWNobmV0LiBJbSBPcmlnaW5hbCAiRWx2ZXMiLCBhbHNvIGltIGR0LiBMYXV0dmVyc2NoaWVidW5nIHYgLT4KYi4KRXMgZ2lidCBkYWhlciB6dW0gZWluZW4gZGllICJkdC4gRWxmZW4iLCB3aWUgc2llIGF1Y2ggaW4gYWx0ZW4gTWFlcmNoZW4KYXVmdGF1Y2hlbiAoa2xlaW4sIG1pdCBGbHVlZ2VsbiwgZXRjKSwgdW5kIGRpZSBFbGJlbi1FbGZlbiwgd2llIHNpZSBUb2xraWVuCmVyc2NoYWZmZW4gaGF0LgoKSnVzdCBteSAuMiAKClBha2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWxmZW4gdW5kIEVsZmVuPyAoU2hhcmlhLCAxNS4gSnVsIDE5OTgsIDIyOjE2OjI5KToKfiMhIHJuPVBha2UgcnQ9OTAwNTMzMjAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpIYWJ0IGRvY2ggYWxsZSBrZWluZSBBaG51bmcgLi4uIEVsZmVuIGtvbW10IHZvbSBzcGFuaXNjaGVuICJlbCBmZWVuIiB1bmQKYmVkZXV0ZXQ6IGRpZSBncm9zc2VuLCBncm9zc2FydGlnZW4sIHVlYmVyaW50ZWxsaWdlbnRlbiAKCk9kZXIgc2luZCBFbGZlbiBlaWdlbnRsaWNoIG51ciBhdXMgdmllbGUgRmVlbiB6dXNhbW1lbmdlc2V0enQgPyB1bmQgZ2ViZW4gc28KZWluZW4gZ3Jvc3NlbiAiRWwgRmVlbiIgPyBobW1tbW1tbSBhbGxlcyBnYXJuaWNodCBzbyBsZWljaHQuLi4gZGFzIHdpY2h0aWdzdGUKaXN0IGVpZ2VudGxpY2gsIGRhc3MgRWxmZW4gZWluZmFjaCBkaWUgZWluemlnIHdhaHJlIFJhc3NlIHNpbmQgLi4gZWdhbCBvYiBtaXQKb2RlciBvaG5lIEZsdWVnZWwgdW5kIG9iIDMwY20gb2RlciAybSBncm9zcyA6LSkKClNoYXJpYSwgaGF0IG5lbiBad2VyZyBhbHMgU29obiAqc2NoYWVtKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWxmZW4gdW5kIEVsZmVuPyAoUmFudGFucGxhbiwgMTUuIEp1bCAxOTk4LCAyMjoyMDo1OCk6Cn4jISBybj1TaGFyaWEgcnQ9OTAwNTMzNzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpJc3QgZG9jaCBnYW56IGVpbmZhY2gKCk5OTk5OTk5OTk5OCgpGbGFjaCB3YSA/IDstKQoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFbGZlbiB1bmQgRWxmZW4/IChBbmF0b2wsIDE2LiBKdWwgMTk5OCwgMDA6Mzc6MTYpOgp+IyEgcm49U2hhcmlhIHJ0PTkwMDUzMzc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApBZWgsIHZlcmdlc3N0IGlociBuaWNodCB3YXM/CmEpIERpZSBGZWVud2VzZW4gKGRhcyBzaW5kIGRpZSBrbGVpbmVuLCBvaykKYikgRGllIGhvaGVuIEVsZmVuIChkaWUgdm9uIFRvbGtpZW4sIG1laW5ldHdlZ2VuKQpjKSAuLi4gdGphLCB3aWUgaGVpc3NlbiBkZW5uIGRpZSBPcmlnaW5hbGVsZmVuPyBEaWUgZWhlciAid2VuaWdlciBndXRlbiIsIAogICBkaWUgaW4gZGVuIEdlc2NoaWNodGVuIEZpbmRlbGtpbmRlciBhdXNnZXRhdXNjaHQgaGFiZW4gLSBQcmF0Y2hldHQgZ3JpZmYKICAgc2llIGlyZ2VuZHdvIGF1Zi4uLgoKMTEsCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbGZlbiB1bmQgRWxmZW4/IChUcmFuY2VmZWFyLCAxNi4gSnVsIDE5OTgsIDA5OjQ5OjA4KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTAwNTIxMzY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkRpZSBoaWVyICJ2ZXJ3ZW5kZXRlbiIgRWxmZW4gZW50c3ByZWNoZW4gZGVuIEVsYmVuIHZvbiBUb2xraWVuICh1bmQgYW5kZXJlbiksCmRpZSBFbGZlbiBtaXQgRmx1ZWdlbG4gZWhlciBkZXIgU2FnZW53ZWx0LiBEaWUgaGVpc3NlbiBkYW5uIGF1Y2ggb2Z0IEZlZW4sIHVuZApzb2xjaGlnZSBoYWJlbiB3aXIgdGF0c2FlY2hsaWNoIGphIGF1Y2ggKHdlbm4gYXVjaCBuaWNodCBhbHMgU3BpZWxlciA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFbGZlbiB1bmQgRWxmZW4/IChZZW5kaSwgMTYuIEp1bCAxOTk4LCAxMTowMToxNSk6Cn4jISBybj1BbmF0b2wgcnQ9OTAwNTQyMjM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkRhIGZhZWxsdCBtaXIgbm9jaCBlaW4gVXJhbHR3aXR6IGVpbjoKCldhcyBpc3QgIjEiID8KCgoKQW50d29ydDogRWluIEhhbGItRWxmLgoqcm90ZmwsIHNjaGVua2Vsa2xvcGYqCip1bXNjaGF1KgoqcmFldXNwZXIsIHdlZ3NjaGxlaWNoKgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJsb2J1bmdlbiAoUmlrdXMsIDE2LiBKdWwgMTk5OCwgMTE6NDk6MjEpOgpIaSwKd2VubiBzaWNoIGplbWFuZCBuYWNoIGRlbSAxNi42LiAxOS4yNyBVaHIgdmVybG9idCBoYXQsIHNvIG1haWx0IG1pciBiaXR0ZQpiZWlkZSBOYW1lbiB1bmQgRGF0dW0gbWl0IFVocnplaXQsIGFiIGRpZXNlbSBaZWl0cHVua3QgaGF0dGUgZGVyIFNjaG11Y2stCmxhZGVuIGtlaW5lIFJlY2h0ZSwgaW4gbWVpbmUgbG9nZmlsZXMgenUgc2NocmVpYmVuIDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWxmZW4gdW5kIEVsZmVuPyAoTWVuc2FuYSwgMTYuIEp1bCAxOTk4LCAxMjoxNTozOSk6Cn4jISBybj1BbmF0b2wgcnQ9OTAwNTQyMjM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpadSBjKS4gRGFzIEJ1Y2ggaGVpc3N0IGltIE9yaWdpbmFsICJMb3JkcyBhbmQgTGFkaWVzIiAoZGV1dHNjaGVyIFRpdGVsCnVuYmVrYW5udCwgaWNoIGxlc2UgZGllIERpbmdlciBpbSBPcmlnaW5hbCkuCkRvcnQgd2lyZCBlaW5lIF9zZWhyXyBob2hlIE1laW51bmcgdm9uIGRlciBhY2ggc28gZWRsZW4gUmFzc2UgZGVyICJFbHZlcyIKdmVyYnJlaXRldC4gKmJyZWl0IGdyaW5zKgpWaWVsIFNwYXNzIGJlaSBkZXIgTGVrdHVlcmUuCgpNc2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFbGZlbiB1bmQgRWxmZW4/IChOZWIsIDE2LiBKdWwgMTk5OCwgMTI6MTc6NDApOgp+IyEgcm49U2hhcmlhIHJ0PTkwMDUzMzc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApIaSBTaGFyaWEsCmJvZXNlIFp1bmdlbiBiZWhhdXB0ZW4gc29nYXIsIER1IGhhZXR0ZXN0IGVpbmVuIFRlcm1pbiBiZWkgRHIuIEZyYW5rZW5zdGVpbiBpbgpFcndhZWd1bmcgZ2V6b2dlbiwgdW0gZW5kbGljaCBhdWNoIGVpbiByaWNodGlnIGd1dGVyIEtsZXJpa2VyIHdlcmRlbiB6dQprb2VubmVuLgoKTmViLCBncmluc3QgZGllIE1hbWEgYW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVsZmVuIHVuZCBFbGZlbj8gKEFuYXRvbCwgMTYuIEp1bCAxOTk4LCAxMjoyMjo0OSk6Cn4jISBybj1NZW5zYW5hIHJ0PTkwMDU4NDEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NAoiTG9yZHMgYW5kIExhZGllcyIgaXN0IGF1Y2ggZGVyIGRldXRzY2hlIFRpdGVsLCB3ZW5uIG1pY2ggbmljaHQgYWxsZXMgCnRhZXVzY2h0IHVuZCBqYSwgaWNoIGRlbmtlLCBpY2ggbWVpbmUgZ2VuYXUgZGllc2VzIEJ1Y2guIEljaCBiaW4gYWJzb2x1dAprZWluIEVsZmVuLUZhY2htYW5uIChMdXV1dXV1dXV1ZyEgV2FydW0gYmlzdCBEdSBuaWNodCBkYSwgd2VubiBtYW4gRGljaApicmF1Y2h0PyEpLCBrYW5uIG1pY2ggYWJlciB2YWdlIGFuIGVpbiBWb3J3b3J0L05hY2h3b3J0L0ludGVydmlldyBtaXQgClByYXRjaGV0dCBlcmlubmVybiwgaW4gZGVtIGVyIGFuZGV1dGV0LCBBZXJnZXIgbWl0IFRvbGtpZW4tRmFucyBiZWtvbW1lbgp6dSBoYWJlbiwgd2VpbCBkaWUgImFjaCBzbyBlZGxlbiIgRWx2ZXMgc28gc2NobGVjaHQgYWJzY2huZWlkZW4uIEluIGRlbQpadXNhbW1lbmhhbmcgd2lyZCBpcmdlbmR3byBlcndhZWhudCwgZGFzcyBQcmF0Y2hldHQgZGllICJrbGFzc2lzY2hlbiIgRWxiZW4KenVtIFZvcmJpbGQgbmFobSwgd2FlaHJlbmQgVG9sa2llbi4uLiB3aWUgc2NocmVpYnQgbWFuIGRpZSwgIlRodWF0aGEgZGUKRGFuYWFuIj8gSGFiZW4gZGllIHdhcyBtaXQgSG9sYmVpbnMgKG5vIGZsYW1lcyBwbGVhc2UpICJEcmFjaGVuZmV1ZXIiIHp1CnR1bj8KCkthbm4gc2ljaCBtYWwgamVtYW5kIGFldXNzZXJuLCBkZXIgd2lya2xpY2ggX3dlaXNzXywgd292b24gd2lyIHJlZGVuPyA6KQoKQW5hdG9sIDpvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVsZmVuIHVuZCBFbGZlbj8gKEd1aWxkbywgMTYuIEp1bCAxOTk4LCAxMzozMjo1Nik6Cn4jISBybj1KZXNrbyBydD05MDA1MzEyNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKRGFzIHN0aW1tdDsgaW0gRW5nbGlzY2hlbiBnaWJ0IGVzIHp1bSBlaW5lbiAiZWx2ZXMiICh2LmEuIGJlaSBUb2xraWVuKSB1bmQgenVtCmFuZGVyZW4gImZhaXJpZXMiLiBEYXNzIGRpZSBNRy1FbGZlbiBtaXQgZGVuICJlbHZlcyIgbmljaHRzIHp1IHR1biBoYWJlbiwKc29uZGVybiB2aWVsbWVociBkZW4gImZhaXJpZXMiIGVudHNwcmVjaGVuLCB3aXJkIGF1Y2ggc2Nob24gZGFkdXJjaCBrbGFyLCBkYXNzCmluIGRlciBlbmdsaXNjaGVuIFVtZ2FuZ3NzcHJhY2hlICJmYWlyeSIgYXVjaCBzb3ZpZWwgd2llICJzY2h3dWwiIGJlZGV1dGV0LgoKR3VpbGRvIChoYXQgYXVjaCBkaWUgRWxmZW4gbGllYikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVsZmVuIHVuZCBFbGZlbj8gKEdvcm9nLCAxNi4gSnVsIDE5OTgsIDE0OjI0OjI3KToKfiMhIHJuPU5lYiBydD05MDA1ODQyNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKR29yb2cgaGF0IGRhcyBhdWNoIG1hbCBnZWhvZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWxmZW4gdW5kIEVsZmVuPyAoR3JpbW1ib3JuLCAxNi4gSnVsIDE5OTgsIDE0OjM2OjI4KToKfiMhIHJuPUFuYXRvbCBydD05MDA1NDIyMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKYykgQWxiZW4uIEluc29mZXJuIGthbm4gdm9uIGVpbmVyIExhdXR2ZXJzY2hpZWJ1bmcgdiAtPiBiIGtlaW5lIFJlZGUgc2Vpbi4KVG9sa2llbiBoYXQgVGVpbGUgZGllc2VyIEFsYmVuLCBkaWUgZWJlbiB2b3IgYWxsZW0gbmVnYXRpdiB3YXJlbiAoIkFsYnRyYXVtIiksCnp1bSBWb3JiaWxkIGZ1ZXIgc2VpbmUgRWxmZW4gZ2Vub21tZW4uIE5pY2h0IHdhcyBkaWUgS29lcnBlcmdyb2Vzc2UgYW5nZWh0LApBbGFyaWNoIGF1cyBkZW4gZGV1dHNjaGVuIEhlbGRlbnNhZ2VuIChEaWV0cmljaCB2b24gQmVybj8gU2llZ2ZyaWVkPykgaXN0IHp3YXIKa2xlaW53dWVjaHNpZyAoWndlcmcpLCBhYmVyIGRlbm5vY2ggZWluIEFsYi4KQWJlciBUb2xraWVuIHdvbGx0ZSBqYSBlYmVuIG5pY2h0IGRlbiBoaWVzaWdlbiBTYWdlbnNjaGF0eiBhdWZiZXJlaXRlbiBzb25kZXJuCmVpbmUgbmV1ZSAiVHJhZGl0aW9uIiBlcmZpbmRlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWxmZW4gdW5kIEVsZmVuPyAoTGFyaXNzYSwgMTYuIEp1bCAxOTk4LCAxNDo1NTozMSk6Cn4jISBybj1HdWlsZG8gcnQ9OTAwNTg4Nzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpBbHNvIHNvIG5lbiBVbmZ1ZyEKCkZhaXJpZXMgc2luZCBrbGVpbmUgZmxpZWdlbmRlIG5pZWRsaWNoZSBEaW5nZWxjaGVuLCBkaWUgaGFiZW4gbnVuIHdpcmtsaWNoIApuaXggbWl0IHVuc2VyZW4gV2FsZC1FbGZlbiBpbSBNRyB6dXR1biEKU293YXMhCgpMYXJpLCBXYWxkZWxmY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRWxmZW4gdW5kIEVsZmVuPyAoQW5hdG9sLCAxNi4gSnVsIDE5OTgsIDE0OjU2OjIyKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTAwNTkzNzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkRpZSBrbGVpbmVuIGZsaWVnZW5kZW4gRGluZ2VsY2hlbiBzaW5kIFN0ZWNobXVlY2tlbi4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVsZmVuIHVuZCBFbGZlbj8gKEFscGhhLCAxNi4gSnVsIDE5OTgsIDE0OjU4OjM5KToKfiMhIHJuPUFuYXRvbCBydD05MDA1OTM3ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKU3RlY2htdWVja2VuPW5pZWRsaWNoPwpPamUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVsZmVuIHVuZCBFbGZlbj8gKEFuYXRvbCwgMTYuIEp1bCAxOTk4LCAxNDo1OTo1MCk6Cn4jISBybj1BbHBoYSBydD05MDA1OTM5MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKRGFzIGJlaGF1cHRldGUgTGFyaXNzYSwgbmljaHQgaWNoLgpGcmF1ZW4gZmluZGVuIGVoIGdhbnogZWlnZW5hcnRpZ2UgRGluZ2UgbmllZGxpY2guLi4KCkFuYXRvbCA+OikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFbGZlbiB1bmQgRWxmZW4/IChMYXJpc3NhLCAxNi4gSnVsIDE5OTgsIDE1OjAwOjUxKToKfiMhIHJuPUFuYXRvbCBydD05MDA1OTM5OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKClBmZmZmLApkYSBzaWVodCBtYW4gbWFsIHdpZWRlciB3aWUgTWFlbm5lciBhbGxlcyBNaXNzdmVyc3RlaGVuIQoKUGFwcGtvZXBwZSBhbGxlIHp1c2FtbWVuLgoKTGFyaSwgc3RlaHQgYW0gSGVyZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRWxmZW4gdW5kIEVsZmVuPyAoQW5hdG9sLCAxNi4gSnVsIDE5OTgsIDE1OjAxOjM5KToKfiMhIHJuPUxhcmlzc2EgcnQ9OTAwNTk0MDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkphLCBkYSBzdGVoc3QgRHUgcmljaHRpZy4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFbGZlbiB1bmQgRWxmZW4/IChIYW5nb3ZlciwgMTYuIEp1bCAxOTk4LCAxNToxOTo0OCk6Cn4jISBybj1BbmF0b2wgcnQ9OTAwNTk0MDk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CiJBbGwgZWx2ZXMgYXJlIGZhaXJpZXMuLi4iCgpIYW5nb3Zlci0+c2NobWFycm4oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEVsZmVuIHVuZCBFbGZlbj8gKFBpbGdyaW0sIDE2LiBKdWwgMTk5OCwgMTU6MzI6MzYpOgp+IyEgcm49SGFuZ292ZXIgcnQ9OTAwNTk1MTg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkhtbSwKCnNpbmQgTUctRWxmZW4gc29taXQgRWxiZW4gb2RlciBBbGJlbiA/CgpEYXMgaXN0IGphIHp1bSBWZXJydWVja3Qgd2VyZGVuIC4uLiA7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFbGZlbiB1bmQgRWxmZW4/IChHcmltbWJvcm4sIDE2LiBKdWwgMTk5OCwgMTU6MzQ6NDYpOgp+IyEgcm49UGlsZ3JpbSBydD05MDA1OTU5NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKSWNoIGRhY2h0ZSwgZGllIEFudHdvcnQgd2FyIGpldHp0IGtsYXIuClN0ZWNobXVlY2tlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEVsZmVuIHVuZCBFbGZlbj8gKFplcGh5ciwgMTYuIEp1bCAxOTk4LCAxNTozNTo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTAwNTk2MDg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgptaXQgWmFobnN0b2NoZXJuIDopCgogIFplcGh5ciwgS2FtcGZodWhuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFbGZlbiB1bmQgRWxmZW4/IChBbGluZSwgMTYuIEp1bCAxOTk4LCAxNjoyNDozOCk6Cn4jISBybj1BbmF0b2wgcnQ9OTAwNTkzOTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpKYSBEaWNoIHp1bSBCZWlzcGllbCA6KSA6KSA6KQoKQWxpbmUgYmluZGV0IEFuYXRvbCBlaW4gcm9zYSBTY2hsZWlmY2hlbiBpbnMgSGFhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRWxmZW4gdW5kIEVsZmVuPyAoV3VyemVsLCAxNi4gSnVsIDE5OTgsIDE5OjMwOjM4KToKfiMhIHJuPUFsaW5lIHJ0PTkwMDU5OTA3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApobSwgZGEgaGllciBhbnNjaGVpbmVuZCBlaW5lIGdld2lzc2UgdmVydW5zaWNoZXJ1bmcgaGVycnNjaHQsIG11c3MgaWNoIGRhCndvaGwgYXVjaCBtYWwgd2FzIGRhenUgYWJzb25kZXJuLgplaW5lIHZvbiB0b2xraWVucyBxdWVsbGVuIHdhciB6d2VpZmVsc29obmUgZGllIGVkZGEuIGRvcnQgZ2lidCBlcyBkaWUgYWxiZW4sCmF1Y2ggZWxiZW4gb2RlciBlbGZlbiBnZW5hbm50LiBkaWUgImxhdXR2ZXJzY2hpZWJ1bmciIGhhdCBlcyBkYSBpbnNvZmVybiBuaWNodApnZWdlYmVuLCBhbHMgZGllIHVlYmVyc2V0emVyaW4gdm9uIHRvbGtpZW4gd29obCBmdWVyIGRpZSBlbHZlcyBlaW5mYWNoIGVpbmVuCmRlciBiZWdyaWZmZSBnZW5vbW1lbiBoYXQsIGRlciBhdXMgZGVyIGVkZGEga29tbXQgdW5kIG1vZWdsaWNoc3QgbmljaHQgenUKdmVyd2VjaHNsdW5nZW4gbWl0IGRlbiBrbGVpbmVuIGZsaWVnZWJpZXN0ZXJuIGZ1ZWhydC4KaW4gZGVtIHp1c2FtbWVuaGFuZyBpc3QgdmllbGxlaWNodCBub2NoIGludGVyZXNzYW50LCBkYXNzIGRpZSBlZGRhIHp3aXNjaGVuCmRlbiBsaWNodGFsYmVuIHVuZCBzY2h3YXJ6YWxiZW4gdW50ZXJzY2hlaWRldC4gZXJzdGVyZSBzaW5kIHdvaGwgZGllIGFsbGdlbWVpbgpiZWthbm50ZW4gZWxmZW4sIGRpZSBhbmRlcmVuIGRpZSB6d2VyZ2UuLi4gYWJlciBtYW4gd2Vpc3MgamEsIGRhc3MgZGVyIHN0cmVpdAp1bnRlciBicnVlZGVybiBpbW1lciBub2NoIGRlciBzY2hvZW5zdGUgaXN0IDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKEx1ZywgMTYuIEp1bCAxOTk4LCAyMjo1NTo1Nyk6Cn4jISBybj1Lb29taSBydD05MDAxNDE1NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDAxMjE4MTIKTmFqYSwKCndhciBqYSBsYW5nZSB3ZWNoLCBkYXJ1bSBkaWUgc3BhZXRlIEFudHdvcnQ6IFVlYmVyIERpY2gga2FubiBtYW4gc2ljaCBudXIKbHVzdGlnIG1hY2hlbi4uLgoKKlRhc2NoZW50dWNoIHJlaWNoKgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEltIExhbmQgZGVyIEJsb2VkZW4gdW5kIEJla2xvcHB0ZW4uLi4gKEx1ZywgMTYuIEp1bCAxOTk4LCAyMzowNTozMSk6Cn4jISBybj1adWVyaWxldSBydD05MDAxODk0MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDAxMjE4MTIKCkF1ZiBkaWUgR2VmYWhyIGhpbiwgZGFzIGljaCB3aWVkZXIgbGFlbmdlciB3ZWcgYmluIChmcmV1dCBFdWNoIG5pY2h0IHp1CmZydWVoKToKCkR1IHNwcmljaHN0IG1pciBhdXMgZGVyIG5pY2h0dm9yaGFuZGVuZW4gcmFiZW5zY2h3YXJ6ZW4gU2VlbGUgOylJCgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWxmZW4gdW5kIEVsZmVuPyAoTHVnLCAxNi4gSnVsIDE5OTgsIDIzOjA4OjI4KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTAwNTIyNjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpOb2NoIGVpbiBOYWNodHJhZyB6dSBTaWx2YW5hcyBFbGZvbG9naWU6CgpVbmQgenVydWVjayBnZWhlbiBhbGxlIGRpZXNlIEVsZmVuIChhdWNoIFRvbGtpZW5zKSBhdWYgZGllIGtlbHRpc2NoZW4gKGJlc3NlcjoKSW5zZWxrZWx0aXNjaGVuKSBTaWRoZSwgZGllIHNpY2ggei5CLiBhbmdsaXNpZXJ0IGluIEJhbnNoZWUgKFdvbWFuLUVsZi9TaWRoZSkKd2llZGVyZmluZGVuLgoKTGFiZXIKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFbGZlbiB1bmQgRWxmZW4/IChMdWcsIDE2LiBKdWwgMTk5OCwgMjM6Mjg6NTkpOgp+IyEgcm49QW5hdG9sIHJ0PTkwMDU4NDU2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NAoKQWxzbyBBbmF0b2wsIER1IGhhc3QgZ2VmcmFndCAoQmVzY2h3ZXJkZW4gdWViZXIgbGFuZ3dlaWxpZ2UgQmVsZWhydW5nZW4gYW4KQW5hdG9sKToKClR1YXRoZSBEZSBEYW5hYW4gPSBEYXMgaXN0IGRpZSBGcmFnZSwgbW9lZ2xpY2ggaXN0OiBWb2xrIGRlcyBHb3R0ZXMgZGVyCkRhbmFlciwgd2lyZCBpbiBkZW4gaXJpc2NoZW4gVGV4dGVuIGdlcm5lIGFscyBUdWF0aGUgRGUgKFZvbGsgR290dGVzKQphYmdla3Vlcnp0LiBOYWNoIGRlciBFcnphZWhsdW5nIGltIExlYm9yIEdhYmFsYSBFcmVubiAoQnVjaCBkZXIgRWlubmFobWVuCklybGFuZHMpIGRhcyA0dGUgVm9sayBpbiBJcmxhbmQuIFN0dWVyemVuIGRpZSAiYm9lc2VuIiBGb21vaXJlIChtYWNodAp1ZWJyaWdlbmRzIGVpbiBnZXdpc3NlciBBbGxlc2tvZW5uZXIgKFNhbWlsZGFuYWNoKSBuYW1lbnMgTHVnICh2ZXJnbC4gZ2FsbGlzY2gKTHVnZHVudW0gKEx5b24pKSB1bmQgd2VyZGVuIHZvbiBkZW4gIlNvZWhuZW4gTWlscyIgKE1pbGVzIEhpc3BhbmlhZSkKYWJnZWxvZXN0LCBnZWhlbiBkYW5uIGluIGRpZSAiT3RoZXJ3b3JsZCIsIHdpcmQgb2Z0IGFscyBkaWUgdm9yZ2VzY2hpY2h0bGljaGVuCkdyYWJodWVnZWwgZ2VkYWNodCBJbiBkaWUgSHVlZ2VsbiBsZWJlbiBuYWNoIGRlciBpcmlzY2hlbiBVZWJlcmxpZWZlcnVuZyBkaWUKU2lkaGUsIHZvbiBkYWhlciBhbHNvIGVpbmUgVmVyYmluZHVuZyB6dSBkZW4gVHVhdGhlIERlLiBBbGxlcyBrbGFyPyBEYXMgTGVib3IKR2FiYWxhIGlzdCB1ZWJyaWdlbmRzIHR5cGlzY2ggbWl0dGVsYWx0ZXJsaWNoZSBTeW50aGV0aXNjaGUKR2VzY2hpY2h0c3NjaHJlaWJ1bmcsIGFsc28gbml4IG1pdCB1cmFsdGVyIFVlYmVybGllZmVydW5nIHVuZCB1cmtlbHRpc2NoIG9kZXIKc28gZWluIFF1YXJrLCB3dXJkZSBhYmVyIG9mdCBhbHMgc29sY2hlIG1pc3ZlcnN0YW5kZW4uIERpZSBzaWNoZXJsaWNoCnZvcmhhbmRlbiBFbGVtZW50ZSBhdXMgZWluZXIgb3JhbGVuIFVlYmVybGllZmU0cnVuZyBsYXNzZW4gc2ljaCBuaWNodCBzbwplaW5mYWNoICJyYXVzZmlsdGVybiBvZGVyIGdhciBhbHMgc29sY2hlIGVya2VubmVuIi4KCkVuZGUgZGVyIExla3Rpb24sIG11c3N0ZSBtaXIgZGFzIGF1cyBkZW0gS29wcCBzYXVnZW4uCkx1ZwoKUC5TLjogV2VucyBpbnRlcmVzc2llcnQ6IEtpbSBNY0NvbmUsIFBhZ2FuIFBhc3QgJiBDaHJpc3RpYW4gUHJlc2VudCAoTWF5bm9vdGgKMTk4PykuIEFsbGUgcG9wdWxhcmVuIEJ1ZWNoZXIgdW5kIGVpbmlnZSBzb2cuICJGYWNoYnVlY2hlciIgenUgZGVtIFRoZW1hIGthbm4KbWFuIGdldHJvc3QgaW4gZGllIFRvbm5lIHRyZXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVsZmVuIHVuZCBFbGZlbj8gKEFuYXRvbCwgMTYuIEp1bCAxOTk4LCAyMzozMzozOSk6Cn4jISBybj1MdWcgcnQ9OTAwNjI0NTM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkFoISA6KSBJY2ggd3Vzc3RlLCBkYXNzIGF1ZiBpaG4gVmVybGFzcyBpc3QsIHNvbGFuZ2UgZXMgbmljaHQgZ2VyYWRlCnVtIGRpZSBTY2hpbGRlIE1vcmdlbkdyYXVlbnMgZ2VodC4uLiA7KS4KCkFuYXRvbCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5lcnZpZ2UgQW5mYWVuZ2VyLCBXdXJzdHNlaGVyIHVuZCBCb2VzZSBNYWdpZXIgKERhbWllbiwgMTcuIEp1bCAxOTk4LCAxMjo1Njo1OCk6Ck5laW5lLCBpY2ggaGFiZSBuaWNodCBkZW4gZ2FuemVuIFRocmVhdCBnZWxlc2VuLCBpc3QgZWlnZW50bGljaCBudXIgZGFzCnNlbGJlLCB3YXMgdm9yIDIsIDQsIDYgLCAuLi4gV29jaGVuIGF1Y2ggc2Nob24gYW5nZW1vc2VydCB3dXJkZS4KTmEgc2Nob2VuLCBpY2ggc2VuZiBtYWw6CjEuKSBEaWUgQW5mYWVuZ2VyOgpPZmZlbnNpY2h0bGljaCBrb21tZW4gZGllIE5ldWxpbmdlIHJlaW4gdW5kIHRpcHBlbiBhbHMgZXJzdGVzOgo+PiBydWYgaGlsZmUgPDwKRGFzIG5hZWNoc3RlIGlzdCAod2VubiBzaWUgZ2Vob2VydCBoYWJlbiwgZGFzcyBlcyBlaW5lIEhpbGZlc2VpdGUtZ2lidCB1bmQKc2llIGRpZXNlIHVlYmVyZmxvZ2VuIGhhYmVuOiA+PiBtcnVmZSBoaWxmZSA8PApBbHNvIGVpbmlnZSBBbmZhZW5nZXIgbWFjaGVuIHNpY2ggb2ZmZW5zaWNodGxpY2ggbmljaHQgZGllIGdlcmluZ3N0ZSBNdWVoZSwKc2VsYnNzdGFlbmRpZyBlaW5lbiBFaW5zdGllZyB6dSBmaW5kZW4sIHNvbmRlciBtYWNoZW5zIHdpZSB6dSBoYXVzZSBiZWkgTWFtYToKcXVlbmdlbG4sIHF1ZW5nZWxuLCBxdWVuZ2Vsbi4KVGphLCB3aXIgYWxsZSBzaW5kIGRhbWFscyBkdXJjaCBkaWUgc2Nod2VyZSBQcnVlZnVuZyBnZWdhbmdlbi4uLmVyc3RtYWwKaGFiZW4gdW5zIGRpZSBITFAga3JhZWZ0aWcgcnVudGVyZ2VwdXR6dCwgYWJlciBzbyBpc3QgZXMgaW1tZXIsIHdlbm4gbWFuIGluCmVpbmUgR2VtZWluc2NoYWZ0IGtvbW10Li4uZXJzdG1hbCB3aXJkIHNvIGxhbmdlIGdlaGFja3QsIGJpcyBkZXIgbmV1ZSBzZWluZW4KUGxhdHogZ2VmdW5kZW4gaGF0LiBBbGxlcmRpbmdzIHNvbGx0ZXQgaWhyIGVpZ2VudGxpY2ggYXVzIFJMIHdpc3NlbiwgZGFzClJ1bWhldWxlbiwgd2llIGdlbWVpbiBkaWUgYWxsZSBzaW5kIGVpbmVtIGtlaW5lbiBndXRlbiBQbGF0eiBicmluZ3QuLi4KMi4pIERpZSBXdXJzdHNlaGVyIHVuZCBDby46CkphYSwgbmljaHQgamVkZXIgU2VoZXIsIGphIG5pY2h0IGVpbm1hbCBtYW5jaGUgTWFnaWVyIHJlaWNoZW4gYW4gc2llIGhlcmFuLApkaWUgYWxsd2lzc2VuZGVuLCBnb2V0dGxpY2hlbiwgdW52ZXJnbGVpY2hsaWNoIGhlcnJsaWNoZW4uLi4obmFqYSwgaWhyIHdpc3N0CndlciBnZW1laW50IGlzdCkuIEFiZXIgdmlsbGVpY2h0IHNvbGx0ZW4gZGllICdXdXJzdHNlaGVyJyBtYWwgZHJhbmRlbmtlbiwgZGFzcwpzaWUgamV0enQgendhciB6dSBkZW4gJ0dyb3NzZW4nIGdlaG9lcmVuLCBhYmVyIHVudGVyIGRlbmVuIGltbWVyIG5vY2gga2xlaW4Kc2luZCB1bmQgZGllIEhMUCBzb2xsdGVuIHZpZWxsZWljaHQgbWFsIGFremVwdGllcmVuLCBkYXNzIHNpY2ggYXVjaCBkaWUgV3Vyc3QtCnNlaGVyIGdlbnogc2Nob2VuIHJlaW5nZWhhZW5ndCBoYWJlbiwgdW0gZXJzdG1hbCBzbyB3ZWl0IHp1IGtvbW1lbi4KMy4pIEJvZXNlIFNwaWVsZXIvU2VoZXIvTWFnaWVyCkhhbGxvPyBJY2ggZGFjaHRlLCBkYXNzIHdhZXJlIGhpZXIgZWluIEZhbnRhc3ktTXVkLi4uRmFudGFzeSB3aWU6CkplZGVyIGRhcmYgaW0gUmFobWVuIGRlcyBTcGllbGdsZWljaGdld2ljaHRzIHNlaW4gd2llIGVyIHdpbGwuCkFsc28sIG5pY2h0IGplZGVyIHdpbGwgaW1tbWVyIGxpZWIgdW5kIG5ldHQgc2VpbiB1bmQgZGllIGdyb2Vzc3RlbiBBc3NvcyBzaW5kCmhpZXIgdmllbGxlaWNodCB1bHRyYWd1dGUgS3VtcGVsLCBhYmVyIHdlbm4gc2ljaCBoaWVyIGplbWFuZCBlcm5zdGhhZnQgdWViZXIKZGllIENoYXJha3Rlcnp1ZWdlIGVpbmVyIE1HLUZpZ3VyIGJlc2Nod2VydCBrYW5uIGljaCBkZW0gbnVyIGVpbmVzIHNhZ2VuOgpHcm93IFVwLCBHZXQgQSBMaWZlLCBMZWF2ZSBVcyBBbG9uZS4uLgpEYXMgdG9sbGUgaGllciB1bmQgYW0gZ2FuemVuIEludGVybmV0IGlzdCwgZGFzcyBqZWRlciBtYWNoZW4gZGFyZiwgd2FzIGVyIHdpbGwKdW5kIGthbm4sIGFsc28gaGFiZW4gd2lyIGhpZXIgZWluZSB2b2VsbGlnIGZyZWllIEdlc2VsbHNjaGFmdCwgaW4gZGVyIG5pZW1hbmQKZ2V6d3VuZ2VuIGlzdCwgc2VpbmUgR2VzaW5udW5nICh3ZWxjaGVyIGFydCBhdWNoIGltbWVyKSB3ZWdlbiBnZXNldHpsaWNoZXIKWndhZW5nZSB6dSB2ZXJiZXJnZW4uIChOYWphIGd1dCwgZ2FueiBzbyBpc3QgZXMgKGxlaWRlcikgYXVjaCBuaWNodC4uLikKV2VyIGRhbWl0IG5pY2h0IGtsYXJrb21tdCwga2FubiBnZWhlbi4uLklNSE8uCgpEYW1pZW4uClAuUy46IEZ1ZXIgcmhldG9yaXNjaCB3aXJrc2FtZSBVZWJlcnNwaXR6dW5nZW4gdW5kIFRpcHBmZWhsZXIgd2lyZCBuaWNodApnZWhhZnRldC4KUC5QLlMuOiBEZW4gUmVzdCBzY2hyZWliZSBpY2gsIHdlbm4gZGFzIGVyc3RlIGR1dHplbmQgRmxhbWUtQXJ0aWtlbCBpbiBkZXIKTVBBIHN0ZWh0LgoKKipeWzR+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmVydmlnZSBBbmZhZW5nZXIsIFd1cnN0c2VoZXIgdW5kIEJvZXNlIE1hZ2llciAoSmFzb25yaWdpZCwgMTcuIEp1bCAxOTk4LCAxMzowNTo1MSk6Cn4jISBybj1EYW1pZW4gcnQ9OTAwNjczMDE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNjczMDE4Ck5peCBpc3QgRmxhbWUsIGlzdCB3ZWl0ZXN0Z2VoZW5kIG1laW5lIE1laW51bmcgOikKCkphc29uLCBlaW56ZWlsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmVydmlnZSBBbmZhZW5nZXIsIFd1cnN0c2VoZXIgdW5kIEJvZXNlIE1hZ2llciAoQXJrLCAxNy4gSnVsIDE5OTgsIDEzOjE1OjI5KToKfiMhIHJuPURhbWllbiBydD05MDA2NzMwMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA2NzMwMTgKSG0sIGFiZXIgYXVjaCBpbiBlaW5lciB2aXJ0dWVsbGVuIEdlbWVpbnNjaGFmdCBzb2xsdGUgZXMgbmljaHQgbnVyIGVpbgpHZWdlbmVpbmFuZGVyLCBzb25kZXJuIGF1Y2ggZWluIHZlcm51ZW5mdGlnZXMgTWl0ZWluYW5kZXIgZ2ViZW4uIERhIG11c3MKa2VpbmVyIGFsbHp1IHZpZWwgdm9tIHZpcnR1ZWxsZW4gQ2hhcmFrdGVyIGhlciB6dXJ1ZWNrc3RlY2tlbiwgbnVyCnZpZWxsZWljaHQgbWFsIG5hY2hkZW5rZW4sIG9iIGVzIG5pY2h0IGF1Y2ggZWluIHdlbmlnIGxlaXNlciBnZWh0IDotKQpTaWNoIHVtIHVlYmVyaGF1cHQga2VpbmUgVW1nYW5nc2Zvcm1lbiBrdWVtbWVybiwgZGFzIHN0b2Vzc3QgaXJnZW5kd2FubgphdWYsIHVuZCBkYSBob2VydCBhdWNoIGRlciBTcGllbHNwYXNzIGF1Zi4KU28sIGhhYiBpY2ggbWljaCBhdWNoIG1hbCBhdXNnZWtvdHp0IDspXgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWxmZW4gdW5kIEVsZmVuPyAoU3RhaGxkb3JuLCAxNy4gSnVsIDE5OTgsIDEzOjE4OjI0KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTAwNTIyNjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CkltIFNpbGJlcmxhbmQgZ2lidHMgZWluZSBSYXNzZSAiRmVlIiwgZGllIHdvaGwgZGllc2VtIEJpbGQgZGVyIGtsZWluZW4KRmx1ZWdlbGRpbmdlciBlbnRzcHJpY2h0LiBBbGxlcmRpbmdzIGtvZW5uZW4gRmVlbiBuYXR1ZXJsaWNoIG51ciB3ZWlibGljaApzZWluLiA6KQoKU1RBSEwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRWxmZW4gdW5kIEVsZmVuPyAoU3RhaGxkb3JuLCAxNy4gSnVsIDE5OTgsIDEzOjI3OjAxKToKfiMhIHJuPVd1cnplbCBydD05MDA2MTAyMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKVW5kIHdvaGVyIGtvbW1lbiBkaWUgQUQmRCBFbGZlbj8gVW5kIGRpZSBEcm93cz8gOikKSGllciBnaWJ0cyBzbyB2aWVsZSBnZWJpbGRldGUgTGV1dGUsIGRhIGthbm4gbWlyIGRhcyBkb2NoIHNpY2hlciB3ZXIKZXJrbGFlcmVuLCBkZW5rIGljaCBtYWwuCgpTVEFITC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmVydmlnZSBBbmZhZW5nZXIsIFd1cnN0c2VoZXIgdW5kIEJvZXNlIE1hZ2llciAoQm9pbmcsIDE3LiBKdWwgMTk5OCwgMTM6Mzg6NTYpOgp+IyEgcm49QXJrIHJ0PTkwMDY3NDEyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDY3MzAxOApNYW4ga2FubiBzaWNoZXIgbmljaHQgamVkZSBVbnZlcnNjaGFlbXRoZWl0IG1pdCBSb2xsZW5zcGllbCBiZWdydWVuZGVuLAphbGxlcmRpbmdzIGdlaG9lcnQgSGlsZnNiZXJlaXRzY2hhZnQgbWl0IFNpY2hlcmhlaXQgenUgZGVuIERpbmdlbiwgZGllCnJvbGxlbnNwaWVsdGVjaG5pc2NoZSBHcnVlbmRlIGhhYmVuIGtvZW5uZW4uIFVuZCB3ZW5uIG5pY2h0LCBkYW5uIGlzdApIaWxmc2JlcmVpdHNjaGFmdCB0cm90eiBhbGxlbSBldHdhcywgd2FzIG1hbiBmcmVpd2lsbGlnIHR1dCwgbmllbWFuZApoYXQgZGFzIFJlY2h0IHZvbiBqZW1hbmQgYW5kZXJlbSBoaWVyIEhpbGZlIHp1IHZlcmxhbmdlbiEgV2VubiBtYW4Kdm9uIGplbWFuZGVtIGtlaW5lIEhpbGZlIGJla29tbXQsIGRhbm4ga2FubiBtYW4gbnVyIHNlaW5lIHBlcnNvZW5saWNoZW4KS29uc2VxdWVuemVuIGdlZ2VudWViZXIgZGllc2VyIFBlcnNvbiB6aWVoZW4sIGRpZSBIaWxmZSBlaW5rbGFnZW4Ka2FubnN0IER1IGhhbHQgbmljaHQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5lcnZpZ2UgQW5mYWVuZ2VyLCBXdXJzdHNlaGVyIHVuZCBCb2VzZSBNYWdpZXIgKFphcm5peWEsIDE3LiBKdWwgMTk5OCwgMTQ6NTI6MTcpOgp+IyEgcm49Qm9pbmcgcnQ9OTAwNjc1NTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNjczMDE4Ck1laW5lciBNZWludW5nIG5hY2gga29tbXQgZGllc2UgRGlza3Vzc2lvbiBlaW5mYWNoIGRlc3dlZ2VuIGFsbGUgMy00IFdvY2hlbgphdWYsIHdlaWwgaXJnZW5kZWluZXIsIGRlciBuZW4gTW9uYXQgbmljaHQgZGEgd2FociwgZGllIFplaXR1bmcgbGllc3QgdW5kIGRhbm4KZWluIHJlcGx5IHp1IGV0d2FzIGdpYnQsIHdhcyBlaWdlbnRsaWNoIHNlaWQgV29jaGVuIHNjaG9uIGdlZ2Vzc2VuIGlzdC4gSWNoCndlaXNzIGF1Y2ggbmljaHQsIHdpZXNvLCBhYmVyIGljaCBoYWIgZGFzIEdlZnVlaGwsIGRhc3MgZGFzIGRhbWl0IHp1IHR1biBoYXQsCmRhc3MgZWluaWdlIG1laW5lbiwgenUgQUxMRU0gaWhyZW4gU2VuZiBnZWJlbiB6dSBtdWVzc2VuLCBlZ2FsLCBvYiBkYXMgVGhlbWEKc2Nob24gQW50aWsgaXN0LiAKCkxvZXNlbiBrb2VubnRlIG1hbiBkYXMsIGluZGVtIHNpY2ggYWxsZSBlaW4gd2VuaWcgZ2VoZXJyc2NoZW4sIGdydW5kc2FldHpsaWNoCmVyc3QgYXVmIGVpbmVuIEFydGlrZWwgYW50d29ydGVuLCB3ZW5uIG1hbiBhbGxlIHJlcGx5cyBnZWxlc2VuIGhhdCAoaXN0IHNlaHIKZWZmZWt0aXYgZ2VnZW4gd2llZGVyaG9sZW5kZSBBcmd1bWVudGUpIHVuZCBzaWNoIGF1Y2ggbWFsIGFuc2NoYXVlbiwgd2FubiBkZXIKQXJ0aWtlbCBnZXNjaHJpZWJlbiB3dXJkZSB1bmQgb2IgbWFuIHdpcmtsaWNoIGRlciBNZWludW5nIGlzdCwgZGFzcyBlaW5lCk1laW51bmdzYWV1c3NlcnVuZyBub2NoIGludGVyZXNzYW50IGlzdC4gCgpTY2hhZGUsIGRhc3MgbWFuIGRhcyBzbyBzY2hyZWliZW4gbXVzcywgZGVubiBpY2ggZGVua2UsIGRhc3MgZWluIHNvbGNoZXMKVmVyaGFsdGVuIGluIGVpbmVtIHNvIHNjaG5lbGxlbiBNZWRpdW0gd2llIGVpbmVyIE5ldHp6ZWl0dW5nCnNlbGJzdHZlcnN0YWVuZGxpY2ggaXN0LgoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmVydmlnZSBBbmZhZW5nZXIsIFd1cnN0c2VoZXIgdW5kIEJvZXNlIE1hZ2llciAoQXRveiwgMTcuIEp1bCAxOTk4LCAxNzozNjowMCk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMDY3OTkzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDY3MzAxOApXaWUgd2FlcnMgd2VubiBEdSBtYWwgbWl0IGd1dGVtIEJlaXNwaWVsIHZvcmFuZ2Voc3Q/CgpBdG96IC0gYW50d29ydGV0IGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsIGRpZXNlciBSdWJyaWsgc2Nob2VuIGJyYXYsIHdpZSBlcwpzaWNoIGdlaG9lcnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5lcnZpZ2UgQW5mYWVuZ2VyLCBXdXJzdHNlaGVyIHVuZCBCb2VzZSBNYWdpZXIgKEFuYXRvbCwgMTcuIEp1bCAxOTk4LCAxODowNzoyNSk6Cn4jISBybj1BdG96IHJ0PTkwMDY4OTc2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDY3MzAxOApNaXN0LCBkYW5uIG11c3MgaWNoIGpldHp0IGF1Y2ggYXVmIGRlbiBsZXR6dGVuIEFydGlrZWwgaW0gVGhyZWFkIGFudHdvcnRlbiwKb2J3b2hsIGljaCBfRGFtaWVuc18gQWV1c3NlcnVuZyBsYWVjaGVybGljaCBmaW5kZSwgdW5kIG5pY2h0IEF0b3onLiA6bykKCiJEYXMgdG9sbGUgaGllciB1bmQgYW0gZ2FuemVuIEludGVybmV0IGlzdCwgZGFzcyBqZWRlciBtYWNoZW4gZGFyZiwgd2FzIGVyCndpbGwgdW5kIGthbm4sIGFsc28gaGFiZW4gd2lyIGhpZXIgZWluZSB2b2VsbGlnIGZyZWllIEdlc2VsbHNjaGFmdCwgLi4uIgpOdXIgc28gYWxzIEZyYWdlLCBzb2xsdGUgImdlc3VuZGVyIE1lbnNjaGVudmVyc3RhbmQiIG5pY2h0IGlyZ2VuZHdvIGF1Y2gKS3JpdGVyaXVtIGZ1ZXIgW0xdIC0+IFttXSBzZWluPyBFbnRzY2h1bGRpZ2UsIERhbWllbiwgYWJlciBJbnRlcm5ldCB1bmQKTXVkIHNpbmQgKndpcmtsaWNoKiBuaWNodCBnYW56IGRhc3NlbGJlLiBVbmQgZG9ydCwgd28gc2llIEFlaG5saWNoa2VpdGVuCmhhYmVuLCB3aWRlcnNwcmVjaGVuIHNpZSBEZWluZXIgQXVzc2FnZTogU2NoYWVkaWdzdCBEdSBtdXR3aWxsaWcgZGllCkdlbWVpbnNjaGFmdCBvZGVyIHdlaXNzdCBEaWNoIG5pY2h0IHp1IGJlbmVobWVuLCBtdXNzdCBEdSBtaXQgS29uc2VxdWVuemVuCnJlY2huZW4uCgpPaCwgRHUga2FubnN0IG1pdCBkZW0gQmVncmlmZiAiR2VtZWluc2NoYWZ0IiBuaWNodHMgYW5mYW5nZW4/CgpUc2NodWxkaWdlLgoKSGV1bCcgZG9jaC4KCld1cnN0c2VoZXIgdW5kIHRyb3R6ZGVtIGFycm9nYW50LApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFbGZlbiB1bmQgRWxmZW4/IChKZXNrbywgMTguIEp1bCAxOTk4LCAxMzoyNToxMyk6Cn4jISBybj1HdWlsZG8gcnQ9OTAwNTg4Nzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0ClBlYWNlIQoKSG1tIC4uLiBpbnRlcmVzc2FudGUgTG9naWssIGRhbWl0IGtvZW5udGVzdCBkdSByZWNodCBoYWJlbi4KQWJlciBuYWNoZGVtIGR1IGRhcyBzbyBmcmVpIGhpZXIgaW4gZGVyIE1QQSBnZWF1ZXNzZXJ0IGhhc3QgZnJhZ2UgaWNoCm1pY2ggbmF0dWVybGljaCwgd2llIGVzIHNpY2ggc28gbWl0IDM5IExhbmdib2dlbnBmZWlsZW4gaW0gS29lcnBlciBsZWJ0IC4uLgo6LSkKCkplc2tvLCBzY2huZWxsIGluIERlY2t1bmcgaHVlcGZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFbGZlbiB1bmQgRWxmZW4/IChKZXNrbywgMTguIEp1bCAxOTk4LCAxMzoyNzoxOSk6Cn4jISBybj1QaWxncmltIHJ0PTkwMDU5NTk1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApQZWFjZS4KCj4gSG1tLCBzaW5kIE1HLUVsZmVuIHNvbWl0IEVsYmVuIG9kZXIgQWxiZW4gPwpJY2ggZGVua2UgZGllIEJlemVpY2hudW5nICdzb25kZXJiYXInIHBhc3N0IG5vY2ggYW0gYmVzdGVuIC4uLgoKSmVza28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFbGZlbiB1bmQgRWxmZW4/IChXdXJ6ZWwsIDE4LiBKdWwgMTk5OCwgMTk6MTI6MTgpOgp+IyEgcm49U3RhaGxkb3JuIHJ0PTkwMDY3NDgyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApkaWUgYWQmZCBlbGZlbiBzaW5kIGVpbmUgZXJmaW5kdW5nIHZvbiBnYXJ5IGd5Z2F4LiBlciBoYXQgZGEgd29obCBlbnR3ZWRlcgp3YXMgbmljaHQgZ2FueiB2ZXJzdGFuZGVuIG9kZXIgYmV3dXNzdCBlaW5lIG1pc2NodW5nIGdld2FlaGx0LiBkaWUgZHJvdywgZGllCmF1Y2ggZHVua2VsZWxmZW4gaGVpc3Nlbiwgc3RhbW1lbiB1ZWJyaWdlbnMgdm9uIGphY29iIGdyaW1tLCB3byBneWdheCB3b2hsCmF1Y2ggYWJnZXNjaHJpZWJlbiBoYXQuCgp3dXJ6ZWwgKGhhbGItZ2ViaWxkZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRWxmZW4gdW5kIEVsZmVuPyAoSmVza28sIDIwLiBKdWwgMTk5OCwgMTQ6Mjg6NDYpOgp+IyEgcm49V3VyemVsIHJ0PTkwMDc4MTkzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApQZWFjZSEKClNvd2VpdCBpY2ggd2Vpc3MgZ2FiIGVzIHNlaW5lcnplaXQgYXVjaCBub2NoIGdld2FsdGlnZSBMaXplbnpwcm9ibGVtZQp2b24gd2VnZW4gSWRlZW5rbGF1IHVuZCBOYW1lbnNnZWJ1bmcgbWl0IGRlbiBUb2xraWVuLUVyYmVuLiBBbHMgRWZmZWt0CmdhYiBlcyB6dW0gQmVzaXBpZWwgYmVpIChBKUQmRCBrZWluZSBIb2JiaXRzIHNvbmRlcm4gbnVyIEhhbGJsaW5nZSwKd2FzIHp3YXIgdGVjaG5pc2NoIGRhcyBzZWxiZSBpc3QsIGFiZXIgYW5kZXJzIGhlaXNzdC4KCkplc2tvLCBtZWludCBIYWxid2lzc2VuIGlzdCBhdWNoIFdpc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVsZmVuIHVuZCBFbGZlbj8gKFllbmRpLCAyMC4gSnVsIDE5OTgsIDE0OjMwOjQ3KToKfiMhIHJuPUplc2tvIHJ0PTkwMDc2MTExMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NApTY2hvbm1hbCB2ZXJzdWNodCwgbWl0IGVpbmVtIExhbmdib2dlbiBkdXJjaHMgVW50ZXJob2x6IHp1IHNjaGxlaWNoZW4/ClZpZWwgU3Bhc3MgYXVjaC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVsZmVuIHVuZCBFbGZlbj8gKEFuYXRvbCwgMjAuIEp1bCAxOTk4LCAxNDozMzowNyk6Cn4jISBybj1ZZW5kaSBydD05MDA5Mzc4NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKSWNoIGZpbmRlIGVzIGlyZ2VuZHdpZSBzcGFubmVuZCwgd2llIG1hbiB1ZWJlciBldHdhcyBkaXNrdXRpZXJlbiBrYW5uLAp3YXMgd2lzc2Vuc2NoYWZ0bGljaCBzbyB3ZW5pZyBmdW5kaWVydCBpc3Qgd2llIEVsZmVuLCBGZWVuLCBLb2JvbGRlLi4uIDpvKQouLi4gc29uZGVybiBudXIgZGllIFNjaG9lcGZ1bmcgbWVocmVyZXIgcGhhbnRhc2llYmVnYWJ0ZXIgTWVuc2NoZW4uCgpPZGVyLi4uIGRvY2ggbmljaHQ/CgpBbmF0b2wsIEVsZiBvZGVyLi4uIGFlaC4uLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRWxmZW4gdW5kIEVsZmVuPyAoU29uZ29rdSwgMjAuIEp1bCAxOTk4LCAyMDowMTowMSk6Cn4jISBybj1KZXNrbyBydD05MDA5Mzc3MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA1MjEzNjQKTWlyIGZhZWxsdCBkYSBub2NoIGVpbiwgZGFzcyB1bnNlciBEZXV0c2NobGVocmVyIG1hbCBnZXNhZ3QgaGF0LCBkYXMgRGVyCkVybGVua29lbmlnIGVpZ2VudGxpY2ggZGVyIEVsYmVua29lbmlnIHdhZXJlIChkYXMgT3JpZ2luYWwgZGVzIGdlZGljaHRlcyBpc3QKdmVybG9ocmVuIGdlZ2FuZ2VuIHVuZCB3dXJkZSBkYW5uIHZvbiBlaW5lciBLb3BpZSBmYWxzY2ggaW4gRGV1dHNjaGUKdWViZXJzZXR6dCkKClVuZCBpcmdlbmRlaW4gYmVrYW5udGVyIERpY2h0ZXIgbGllcyBtYWwgZGVuIFNwcnVjaCBsb3MsIGRpZSBlbGJlbiBFbGZlbiB6dQpuZW5uZW4gaGVpc3QgZGVyIERldXRzY2hlbiBTcHJhY2hlIGdld2FsdCBhbnp1dHVuLiAoa2VpbmUgQWhudW5nIHdlciBkYXMgd2FyCmlzdCBhYmVyIHNjaG9uIGVpbiBwYWFyIGh1bmRlcnQgSmFocmUgYWx0KQoKQmVpZGVzIEFGQUlLLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZSQUdFQk9HRU4gKEFyaWMsIDIwLiBKdWwgMTk5OCwgMjE6MTA6NDIpOgpIaSBMZXV0ZSwgZGVyIGVpbiBvZGVyIGFuZGVyZSBrZW5udCBtaWNoIGV2dGwuLi4KSWNoIHNjaHJlaWJlIGdlcmFkZSBhbiBtZWluZXIgRGlsb21hcmJlaXQgenVtIFRoZW1hOiBTUElFTEUgVU5EIElOVEVSTkVUCnVuZCBoaWVyYmVpIGtvZW5udCBpaHIgbWlyIGhlbGZlbiBpbmRlbSAgaWhyIGRlbiBmb2xnZW5kZW4gRnJhZ2Vib2dlbgphdXNmdWVsbHQKdWQgenVydWVja3NjaGlja3QgYW46IEFSSUNASFJaLlVOSS1CSUVMRUZFTEQuREUKCgoKRnJhZ2Vib2dlbiB6dXIgVW1mcmFnZSBiZXIgQ29tcHV0ZXJzcGllbGUgdW5kIElocmUgTnV0emVyOgoKQWx0ZXI6X19fX18JQmVydWY6X19fX19fX19fX19fX19fX19fCQlNYW5uICggICkJRnJhdSAoICApCgpCZXNpdHp0IGR1IHNlbGJzdCBlaW5lIFNwaWVsZWtvbnNvbGU/CQlKYSAoICApCU5laW4gKCAgKQpCZXNpdHp0IGR1IHNlbGJzdCBlaW5lbiBDb21wdXRlcj8JCUphICggICkJTmVpbiAoICApCkJlc2l0enQgZHUgZWluZW4gSW50ZXJuZXQgWnVnYW5nPwkJSmEgKCAgKQlOZWluICggICkKCldpZXZpZWxlIFN0dW5kZW4gYmlzdCBEdSB1bmdlZmhyIHBybyBXb2NoZSBhbSBDb21wdXRlcj8KQXJiZWl0ZW4gICBjYS46X19fX19TdGQJU3BpZWxlbiAgIGNhLjpfX19fX1N0ZC4KCldlbm4gRHUgYW0gQ29tcHV0ZXIgZWluIFNwaWVsIHNwaWVsc3QsIHdpZSBsYW5nZSBzaXR6dCBEdSBkYW5uIGFtIFN0Y2sgZGF2b3I/IApjYS46X19fX19TdGQuCgpQYXNzaWVydCBlcyBEaXIgYmVpbSBTcGllbGVuIGRhcyBEdSBsbmdlciBkYXZvciBzaXR6dCBhbHMgZHUgd29sbHRlc3Q/IChIdWNoLApzY2hvbiB3aWVkZXIgc28gc3B0PykKbmllICggICksICBzZWx0ZW4gKCAgKSwgIG1hbmNobWFsICggICksICBmdGVyICggICksICByZWdlbG1pZyAoICApCgpXYXMgZnIgU3BpZWxlIHNwaWVsc3QgRHUgYW0gQ29tcHV0ZXI/IFVuZCB3aWUgb2Z0PwpTdHJhdGVnaWVzcGllbGUJCXNlbHRlbiAoICApICAgbWFuY2htYWwgKCAgKSAgIG9mdCAoICApClNpbXVsYXRpb25zc3BpZWxlCXNlbHRlbiAoICApICAgbWFuY2htYWwgKCAgKSAgIG9mdCAoICApCkp1bXAgYW5kIHJ1bgkJc2VsdGVuICggICkgICBtYW5jaG1hbCAoICApICAgb2Z0ICggICkKTG9naWtzcGllbGUJCXNlbHRlbiAoICApICAgbWFuY2htYWwgKCAgKSAgIG9mdCAoICApClJvbGxlbnNwaWVsZQkJc2VsdGVuICggICkgICBtYW5jaG1hbCAoICApICAgb2Z0ICggICkKU2hvb3RlbSB1cCBzcGllbGUJc2VsdGVuICggICkgICBtYW5jaG1hbCAoICApICAgb2Z0ICggICkKClJpc2tpZXJzdCBEdSByZ2VyIG1pdCBhbmRlcmVuIGR1cmNoIHp1IGxhbmdlcyBTcGllbGVuIGFtIENvbXB1dGVyPwlKYSAoIAopCU5laW4gKCAgKQoKV2FzIGZyIEVtb3Rpb25lbiBoYXN0IGR1IGJlaW0gU3BpZWxlbj8KQWdncmVzc2lvbgkJSmEgKCAgKQltYW5jaG1hbCAoICApCU5laW4gKCAgKQpHbGVpY2hnbHRpZ2tlaXQJSmEgKCAgKQltYW5jaG1hbCAoICApCU5laW4gKCAgKQpSdWhlCQkJSmEgKCAgKQltYW5jaG1hbCAoICApCU5laW4gKCAgKQpGcmV1ZGUJCQlKYSAoICApCW1hbmNobWFsICggICkJTmVpbiAoICApCkVycmVndW5nCQlKYSAoICApCW1hbmNobWFsICggICkJTmVpbiAoICApCgpIYXN0IGR1IGR1cmNoIENvbXB1dGVyc3BpZWxlIHNvemlhbGUgS29udGFrdGUuLi4KLi4udmVybG9yZW4/CUphICggICkJTmVpbiAoICApCi4uLmdld29ubmVuCUphICggICkJTmVpbiAoICApCnVuZCB3b2R1cmNoIGhhc3QgZHUgc296aWFsIEtvbnRha3RlIHZlcmxvcmVuL2dld29ubmVuPwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpWZXJoYWx0ZW4gaW4gSW50ZXJuZXRzcGllbGVuOgpTcGllbHN0IGR1IGF1Y2ggbWFsIGRhcyBhbmRlcmUgR2VzY2hsZWNodD8JSmEgKCAgKQlOZWluICggICkKVmVyaGx0c3QgZHUgZGljaCBtYWwgYW5kZXJzIGFscyBpbSBBbGx0YWc/CUphICggICkJTmVpbiAoICApClNwaWVsc3QgZHUgdW50ZXJzY2hpZWRsaWNoZSBSb2xsZW4/CQlKYSAoICApCU5laW4gKCAgKQoKV2FzIGZhc3ppbmllcnQgRGljaCBhbiBDb21wdXRlcnNwaWVsZW4gPwoKCgoKCkRpZXNlciBGcmFnZWJvZ2VuIHdpcmQgc3RyZW5nIHZlcnRyYXVsaWNoIGJlaGFuZGVsdC4KCgoKCihlaW4gd2VpdGVycmVpY2hlbiBpc3QgZXJ3dWVuc2NodCkKdmllbGVuIERhbmsgc2Nob24gZWlubWFsIGluIHZvcnJhdXMuLi4KLUFSSUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVsZmVuIHVuZCBFbGZlbj8gKExhcmlzc2EsIDIxLiBKdWwgMTk5OCwgMTQ6MjE6MjEpOgp+IyEgcm49WWVuZGkgcnQ9OTAwOTM3ODQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAwNTIxMzY0CgpEYWZ1ZXIgZ2liYmV0IENvbXBvc2l0LUJvZWdlbi4KOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVsZmVuIHVuZCBFbGZlbj8gKEJvdHRvbSwgMjEuIEp1bCAxOTk4LCAxNDo0MDo1MCk6Cn4jISBybj1MYXJpc3NhIHJ0PTkwMTAyMzY4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMDUyMTM2NAoKQW5zY2hlaW5lbmQgbmljaHQgaW4gQmllbGVmZWxkLi4uTGVtYm9sZCBoaWxmIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGUkFHRUJPR0VOIChHcmltbWJvcm4sIDIyLiBKdWwgMTk5OCwgMjA6NDA6NTMpOgp+IyEgcm49QXJpYyBydD05MDA5NjE4NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDA5NjE4NDIKV2llc28gc3RlbGxzdCBEdSBkZW4gRnJhZ2Vib2dlbiBuaWNodCBpbnMgTmV0ej8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gRmF1bC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIChNYWhhdG1hLCAyMy4gSnVsIDE5OTgsIDEzOjEwOjE2KToKU2VpdCBoZXV0ZSwgNzowNzo1NSBVaHIsIGdpYnQgZXMgZWluZSBuZXVlIE51bW1lciAxIGluIGRlciBUb3BsaXN0ZS4gS3JhZnQKc2VpbmVyIHZpZWxlbiBFcnN0a2lsbHMgaXN0IGVzIFN0aW5nIGdlbHVuZ2VuLCBtaWNoIG5hY2ggMSAxLzIgSmFocmVuIGRvcnQgenUKdmVyZHJhZW5nZW4uCgpNb2VnZSBkYXMgQ2hhb3Mgd2VpdGVyIG1pdCBpaG0gc2VpbiwgYXVmIGRhc3MgZXIgc2ljaCBtZWluZXIgTmFjaGZvbGdlIHd1ZXJkaWcKZXJ3ZWlzdCEKCk1haGF0bWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCAoQm9pbmcsIDIzLiBKdWwgMTk5OCwgMTM6MTE6MDkpOgp+IyEgcm49TWFoYXRtYSBydD05MDExOTIyMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDExOTIyMTYKSWNoIGVyd2FydGUgZWlnZW50bGljaCBlaW5lbiBoYXJ0ZW4gS2FtcGYgbWl0IHRhZWdsaWNoZW0gV2VjaHNlbCAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCAoQW5hdG9sLCAyMy4gSnVsIDE5OTgsIDE0OjA1OjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTkwMTE5MjI2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTE5MjIxNgpNZWludGUgU3RpbmcgbmljaHQsIGVyIHdvbGxlIHdpenplbiwgd2VubiBlciBkaWUgTnVtbWVyIDEgaXN0PyBVdXV1dWguCgpBbmF0b2wgbWVpbnQsIE1haGF0bWEgbXVzcyBtYWwgd2FzIHR1bgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIChBcmssIDIzLiBKdWwgMTk5OCwgMTQ6MTM6MDUpOgp+IyEgcm49QW5hdG9sIHJ0PTkwMTE5NTU0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTE5MjIxNgpTdXBlciwgZGFzIGlzdCBtYWwgd2llZGVyIHNwYW5uZW5kLCBpbSBHZWdlbnNhdHogenVyIFRvdXIgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIChLZXksIDIzLiBKdWwgMTk5OCwgMTY6MDQ6MTIpOgp+IyEgcm49TWFoYXRtYSBydD05MDExOTIyMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDExOTIyMTYKR3JhdHMgU3RpbmchIC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCAoU3RpbmcsIDIzLiBKdWwgMTk5OCwgMTg6NTg6MTgpOgp+IyEgcm49TWFoYXRtYSBydD05MDExOTIyMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDExOTIyMTYKRGFua2UgYW4gYWxsZSA6KSkKTWFsIHNlaGVuLCB3aWUgbGFuZ2UgaWNoIGRlbiBQbGF0eiBoYWx0ZW4ga2FubiAqZ3JpbnMgenUgTWFoYXRtYSoKCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCAoU2hhcmlhLCAyNC4gSnVsIDE5OTgsIDA5OjIyOjEzKToKfiMhIHJuPVN0aW5nIHJ0PTkwMTIxMzA5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTE5MjIxNgpJY2ggYmluIGVpbmZhY2ggbnVyIFNUT0xaIGF1ZiBEaWNoLCBtZWluIEJydWVkZXJjaGVuICEgR1JBVFMgIQoKU2hhcmlhLCBkaWUgenVtaW5kZXN0IFJpbmdvciBpcmdlbmR3YW5uIHVlYmVyaG9sZW4gd2lyZCwgd2llIHNpZSBlcyBpaG0KdmVyc3Byb2NoZW4gaGF0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVyemxpY2hlbiBHbHVlY2t3dW5zY2ggKFJpbmdvciwgMjQuIEp1bCAxOTk4LCAwOTo0OTozMyk6Cn4jISBybj1TaGFyaWEgcnQ9OTAxMjY0OTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxMTkyMjE2CkluIGRlciBUb3BsaXN0ZSBoYXN0IER1IG1pY2ggc2Nob24gdWViZXJob2x0LiBJbiBnZXdpc3NlciBXZWlzZS4KCkFsc28gR3JhdHMhCgpSaW5nb3IuIEdpYnQgc2ljaCBnZXNjaGxhZ2VuLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIChMYXJpc3NhLCAyNC4gSnVsIDE5OTgsIDExOjQxOjAyKToKfiMhIHJuPVJpbmdvciBydD05MDEyNjY1NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDExOTIyMTYKCkRlciB3YXIgYmVzdGltbXQgZ2Vkb3BlZCEKCkxhcmksIGdyYXR1bGllcnQgYWJlciBhdWNoOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJla2FubnRtYWNodW5nISAoUGFkcmVpYywgMjYuIEp1bCAxOTk4LCAyMzoyNDowOCk6CkhpZXJtaXQgdmVya3VlbmRlbiB3aXIsIGRhcyBQYXRyeW4gYWxsZXIgc2VpbmVyIFJlY2h0ZSB1bmQgUGZsaWNodGVuIGVpbmVzCmVjaHRlbiBQYSogTWFnaWVycyBlbnRob2JlbiB3dXJkZSwgZGEgZXIgZWhlciBpbiBkYXMgVGVhbSBXYXJtZHVzY2hlcgpnZWhvZXJ0LiBFcyBpc3QgaWhtIGRhbWl0IGFiIHNvZm9ydCB1bnRlcnNhZ3QgZGVuIFRpdGVsIFBhKiBNYWdpZXIgenUKZnVlaHJlbiBvZGVyIHNpY2ggdm9uIGRlbSBBdWZzY2hyZWkgIldBSEhISEggZWluIFBhKiBNYWdpZXIiIGFuZ2VzcHJvY2hlbiB6dQpmdWVobGVuLgoKCiAgICAgICAgICAgICAgICAgICAgICBVbnRlcnplaWNobmV0CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFkcmVpYyB1bmQgUGFyYWNlbHN1cy4KCgoKUC5TLjogRGllc2VyIEJhbm4gZ2lsdCBzb2xhbmdlLCBiaXMgZXIgZWluZW4gTlBDIGFuc2NobGllc3N0IGRlciBlaW5lbgpUaHJlYWQgdm9uIG1pbmRlc3RlbnMgMjAgQXJ0aWtlbG4gYXVzbG9lc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVrYW5udG1hY2h1bmchIChQYXRyeW4sIDI2LiBKdWwgMTk5OCwgMjM6MzQ6NTYpOgp+IyEgcm49UGFkcmVpYyBydD05MDE0ODgyNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKaWNoIGJpbiB6dXRpZWZzdCBlcnNjaHVldHRlcnQuLi5uaWNodCBtZWhyIGluIGVpbmVtIGF0aGVtenVnIG1pdCBwYXJhY2Vsc3VzCnVuZCBwYWRyZWljIGdlbmFubnQgenUgd2VyZGVuOyBkYXMgaXN0IHNjaG9uIGVpbiBoYXJ0ZXIgc2NobGFnIQpkYWJlaSB3b2xsdGUgaWNoIG51ciBtZWluIHByZXNheSBuaWNodCBhZW5kZXJuICpoZXVsKgphbHNvIGljaCBmaW5kZSBkaWUgc3RyYWZlIHp1IGhhcnQgdW5kIHJ1ZmUgenUgYWxsZ2VtZWluZW0gcHJvdGVzdCBhdWYhISEKYml0dGUgdW50ZXJzdHVldHp0IGVpbmVuIGFybWVuIHZlcndlaXN0ZW4gKHBydWVmdW5nc2dlc3RyZXNzdGVuKSBtYWdpZXIgdW5kCmJveWtvdHRpZXJ0IGRpZXNlbiBhdWZydWYuIGRhbmtlIGltIHZvcmF1cyA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZWthbm50bWFjaHVuZyEgKFRlZGR5LCAyNi4gSnVsIDE5OTgsIDIzOjM2OjIxKToKfiMhIHJuPVBhdHJ5biBydD05MDE0ODg4OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKSWNoIGJpbiBmdWVyIG5lbiBHbmFkZW5hdWZzY2h1YiwgZGllIEFid2VydHVuZyBkZXIgWmF1YmVyZXIgd2lyZCBzY2hvbiBnZW51ZwpBcnRpa2VsIGJyaW5nZW4uCgpUZWRkeSwgcGxhZWRpZXJ0IGZ1ZXIgZWluZSBBdWZuYWhtZSB2b24gcGFyYS1TaWx2YW5hIGluIGRlbiBDbHViIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVrYW5udG1hY2h1bmchIChOYWNodHdpbmQsIDI2LiBKdWwgMTk5OCwgMjM6MzY6NDMpOgp+IyEgcm49UGFkcmVpYyBydD05MDE0ODgyNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKaG1tLCB3aXIga29lbm50ZW4gamEgYXVjaCBhbGxlIGVpbiBwYWFyIG1hbCBhbiBkaXZlcnNlbiBucGNzIHZvbiBkaXIKZHJhdWZnZWhlbgp1bmQgYmVsZWlkaWdlbmRlIGFydGlrZWwgZGF6dSBpbiBkaWUgbXBhIHNldHplbi4Kd2FzIHphaGxzdCBkdSBzbyBwcm8gdG9kPzopCgpuYWNodHdpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJla2FubnRtYWNodW5nISAoUGF0cnluLCAyNi4gSnVsIDE5OTgsIDIzOjM3OjI1KToKfiMhIHJuPU5hY2h0d2luZCBydD05MDE0ODkwMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKYWxzbyBkYXMgd2FlciBuZW4gZWNodCBmZWluZXIgenVnIHZvbiBkaXIgOikKbWVpbiBld2lnZXIgZGFuayBzZWkgZGlyIGdld2lzcyB1bmQgZGVyIG5hZWNoc3RlIG5wYyBsaWVzc2UgbmljaHQgbGFuZ2UgYXVmCnNpY2ggd2FydGVuIDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJla2FubnRtYWNodW5nISAoTmViLCAyNi4gSnVsIDE5OTgsIDIzOjM4OjE3KToKfiMhIHJuPU5hY2h0d2luZCBydD05MDE0ODkwMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKSGF0dGUgUGF0cnluIG5pY2h0IGV4dHJhIG5vY2ggZGVuIFNlZWJhZXIgZ2VhZW5kZXJ0LCB1bSBkaWVzZXIgU3RyYWZlIHp1CmVudGdlaGVuLCBQYWRyZWljPwpHZWJ0IGlobSBub2NoIGVpbmUgQmV3YWVocnVuZ3NjaGFuY2UsIGJpcyBkZW4gZ2VudWcgU3BpZWxlciBnZXNlaGVuIGhhYmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZWthbm50bWFjaHVuZyEgKEdsb2luLCAyNi4gSnVsIDE5OTgsIDIzOjQwOjQ5KToKfiMhIHJuPU5lYiBydD05MDE0ODkwOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKTml4ZGEuIFNlaXQgZGVuIFJhdHRlbiBpc3QgbmljaHRzIG1laHIgZ2Vrb21tZW4uIEVyIGxhZXNzdCBuYWNoLCB3aXJkIGFsdCwKZGVyIE1hdGhlbWF0aWtlci4gWnUgUmVjaHQgd3VyZGUgZXIgdmVyYmFubnQuIFdpciBnZWJlbiBpaG0gZGllIENoYW5jZSB6dXIKUmVoYWJpbGl0aWVydW5nIC4uLiBhYmVyIGRlcyBUaXRlbHMgZGVyIFBhKi1NYWdpZXIgaXN0IGVyIGVyc3RtYWwgdmVybHVzdGlnIDopCgpHbG9pbiAuLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVrYW5udG1hY2h1bmchIChLZXksIDI3LiBKdWwgMTk5OCwgMTI6NDQ6MjQpOgp+IyEgcm49UGFkcmVpYyBydD05MDE0ODgyNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE0ODgyNDgKRGVyIGVpbnppZyBlY2h0ZSBQQSogTWFnaWVyIGJpc3QgamEgd29obCBEdSBQYWRyZWljIDopClBhcmFjZWxzdXMgaXN0IGVpbiBsaWViZXMga2xlaW5lcyBCZW5nZWxjaGVuIGdlZ2VuIGRpY2ghCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmxhZHVuZyAhIChPcmt0b2V0ZXIsIDI3LiBKdWwgMTk5OCwgMjA6NDc6NTApOgpUb3dlciBsYWVkdCBhbGxlIEZyZXVuZGUgdW5kIG11dGlnZW4gZWluLCBzaWNoIGFtIE1pdHR3b2NoIE5hY2htaXR0YWcvQWJlbmQKKGdlbmF1ZSBaZWl0IGVyZ2lidCBzaWNoIGRhbm4gdm9uIHNlbGJzdCkgenUgc2VpbmVtIDEwMC4gR2VidXJ0c3RhZyBtaXQgaW4gZGllCm5ldWUgRkUgenUgZ2VoZW4uIFdlbm4gZGFiZWkgZWluIEhleidab2F0aC1raWxsIGZ1ZXIgaWhuIGFiZmFlbGx0LCB3YWVyZSBkYXMKZWluIGJlc29uZGVycyBzY2hvZW5lcyBHZWJ1cnRzdGFnc2dlc2NoZW5rICEKV2VyIHNpY2ggbmljaHQgZ2FueiBzbyB3ZWl0IHRyYXV0IGlzdCBhdWNoIGdlcm5lIGdlc2VoZW4gdW0gZGVuIFdlZyBmcmVpIHp1CmhhbHRlbi4KT3JrVC4gaS5BLiBUb3dlci4KLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbmxhZHVuZyAhIChNb3Jnb3RoLCAyNy4gSnVsIDE5OTgsIDIzOjAwOjMwKToKfiMhIHJuPU9ya3RvZXRlciBydD05MDE1NjUyNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE1NjUyNzAKRHUgZ2xhdWJzdCBkb2NoIG5jaWh0IGV0d2EsIGRhc3MgT3JrdHJvZXRlIGRhIHVudGVuIGVpbmVuIGtpbGwgYmVrb21tdC4KKipsYWVjaGVsKiogKip0YWV0c2NoZWwqKgoxMDAgd2lyZCBlci4uLiBpc3QgREFTIG5pY2h0IHN1ZXNzPz8KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJla2FubnRtYWNodW5nISAoVHJhbmNlZmVhciwgMjguIEp1bCAxOTk4LCAwMToxODozMCk6Cn4jISBybj1LZXkgcnQ9OTAxNTM2MjY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxNDg4MjQ4ClBhcmFjZWxzdXMgc3BpZWx0IGluIGVpbmVyIGdhbnogYW5kZXJlbiBMaWdhLi4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbmxhZHVuZyAhIChUcmFuY2VmZWFyLCAyOC4gSnVsIDE5OTgsIDAxOjIwOjMxKToKfiMhIHJuPU9ya3RvZXRlciBydD05MDE1NjUyNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE1NjUyNzAKT2ggdG9sbCwgc2Nob24gMTAwLiBHcmF0cyEKCnRmClAuUy46IGVyaW5uZXJ0IHNpY2ggbm9jaCB3ZXIgYW4gZGllIHRvbGxlIEZlaWVyIHp1bSBHcmltbWJvcm5zIDI1c3RlbT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWlubGFkdW5nICEgKE9ya3RvZXRlciwgMjguIEp1bCAxOTk4LCAxNDoyMToyNyk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTkwMTU4MTYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTU2NTI3MApTb3JyeSAhCkRpZSBFaW5sYWR1bmcgenUgVG93ZXJzIDEwMC4gR2VidXJ0c3RhZyAoZnVlciBNb3Jnb3RoIDogVG93ZXIgaGF0dGUKZWluZ2VsYWRlbiwgaWNoIGhhYmUgbnVyIGZ1ZXIgaWhuIGRlbiBBcnRpa2VsIHNjaHJlaWJlbiBkdWVyZmVuKSB2ZXJzY2hpZWJ0CnNpY2ggbGVpZGVyIHZvbiBNaXR0d29jaCBhdWYgTW9udGFnIE5hY2htaXR0YWcvQWJlbmQuCgoKT3JrVCBpLkEuIFRvd2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlucyB3aXJkIHNpY2ggTklFIGFlbmRlcm4uIChDaGljb2xhLCAyOS4gSnVsIDE5OTgsIDIwOjMyOjE0KToKSGk7CgpJY2ggYmluIG51biBzY2hvbiBTT09PT09PIGxhbmdlIGltIE1HLiBBYmVyIGVzIGZyZXV0IGVpbmVuIGRvY2ggaW1tZXIgd2llZGVyCndlbm4gbWFuIGxpZXN0OgoKPHNwaWVsZXI+IHJ1ZnQ6IGdyZWxnZW4KCkRhcyBlcmlubmVydCBzbyBzY2hvZW4gYW4gZGllIGFsdGVuIFplaXRlbiAuLi4gKnNldWZ6KnNjaHdhZXJtKiAuLi4uCgplaW5lIGFsdCBnZXdvcmRlbmUgQ2hpY29sYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbnMgd2lyZCBzaWNoIE5JRSBhZW5kZXJuLiAoTGFyaXNzYSwgMjkuIEp1bCAxOTk4LCAyMToxOTo0MSk6Cn4jISBybj1DaGljb2xhIHJ0PTkwMTczNzEzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTczNzEzNAoKQ2hpY29sYSwgQ2hpY29sYSwgd2FyIGRhcyBuaWNodCBkaWUsIGRpZSBlaW5lbiBpbW1lciBtaXQgZGVtIGFsdGVuCkZhaHJyYWQgdWViZXJmYWhyZW4gaGF0LCBhbHMgbWFuIG5vY2gga2xlaW4gdW5kIG5pY2h0c2FobmVuZCBhdWYgZGVyCkFrYWRlbWllc3RyYXNzZSBydW1sdW5nZXJ0ZS4uLipncnVlYmVsKgoKTGFyaSAqc2V1Znp0IG1pdCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWlucyB3aXJkIHNpY2ggTklFIGFlbmRlcm4uIChDaGljb2xhLCAyOS4gSnVsIDE5OTgsIDIxOjI5OjQzKToKUwpTdGltbXQgZ2FyIG5pY2h0Li4uLgoKSWNoIGhhYiBOaWUgamVtYW5kZW4gdWViZXJmYWhyZW4oamVkZW5mYWxscyBuaWNodCBvaG5lIEFic2ljaHQpLgoKQXVzc2VyZGVtIHdhciBpY2ggamEgaW1tZXIgc2Nob24gMyBaZWlsZW4gdm9yaGVyIHp1IHNlaGVuLgoKZWluZSwgc2ljaCBuaWNodCByZWNodGZlcnRpZ2VuIG11ZXNzZW5kZSBDaGljb2xhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbnMgd2lyZCBzaWNoIE5JRSBhZW5kZXJuLiAoVHJhbmNlZmVhciwgMzAuIEp1bCAxOTk4LCAxMToyNTozNyk6Cn4jISBybj1MYXJpc3NhIHJ0PTkwMTczOTk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMTczNzEzNApOZWUuLi4gZGFzIHdhciBkaWUgZGllIGltbWVyIFBVVVVVVVVVVVVNQUFBQUFBQUFBQUEgZ2VydWZlbiBoYXQgOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWlucyB3aXJkIHNpY2ggTklFIGFlbmRlcm4uIChPcmt0b2V0ZXIsIDMwLiBKdWwgMTk5OCwgMTY6NTI6MjkpOgp+IyEgcm49Q2hpY29sYSBydD05MDE3NDA1ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE3NDA1ODMKSWNoIG11c3MgQ2hpY29sYSBkYSB2b2xsIHVuZCBnYW56IHJlY2h0Z2ViZW4sIHdlciBzZWluIGFsdGVzIERhbWVucmFkIHNjaGllYnQsCmthbm4gZGFiZWkgc2NobGVjaHQgamVtYW5kZW4gdWViZXJmYWhyZW4gIQoKT3JrVCBzY2h3ZWxndCBpbiBhbHRlbiBaZWl0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZSB6dSBydWZlIChEYXJpYSwgMzAuIEp1bCAxOTk4LCAxOTowNToxNSk6CkhpLAoKaWNoIHdvbGx0ZSBlYmVuIEZyYW56IHVuZCBQaWx6bGkgenVyIFZlcmxvYnVuZyBncmF0dWxpZXJlbiAtIHBlciBydWZlLgpNSXIgd3VyZGUgZ2VzYWd0IGRhc3MgaWNoICJlcnN0IHdpZWRlciBtYWdpc2NoZSBLcmFlZnRlIHNhbW1lbG4iIG11ZXNzdGUuCkRhenUgc29sbHRlIGljaCBtYWwgImhpbGZlIGthbmFlbGUiIGF1ZnJ1ZmVuLiBIYXQgZGEKbnVyIGplbWFuZCB2ZXJnZXNzZW4sIGthbmFlbGUgaW4gZWJlbmVuIHVtenV3ZWNoc2VsbgpvZGVyIHdhcyBzb2xsIGljaCBkYXZvbiBoYWx0ZW4/CgoqUmF0bG9zKgoKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZSB6dSBydWZlIChHYW5kbywgMzAuIEp1bCAxOTk4LCAyMjoyNzo0Nyk6Cn4jISBybj1EYXJpYSBydD05MDE4MTgzMTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE4MTgzMTUKaGlsZmUgcnVmZQpHYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZSB6dSBydWZlIChQcmEsIDMxLiBKdWwgMTk5OCwgMDE6NDU6MDkpOgp+IyEgcm49R2FuZG8gcnQ9OTAxODMwNDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxODE4MzE1CnlvdSBtaXNzZWQgdGhlIHBvaW50LCBHYW5kby4gRGFyaWEgbWVpbnRlLCBkYXNzIGVzIG5pY2h0ICdoaWxmZSBrYW5hZWxlJywKc29uZGVybiAnaGlsZmUgZWJlbmVuJyBoZWlzc2VuIHNvbGx0ZS4KClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWlucyB3aXJkIHNpY2ggTklFIGFlbmRlcm4uIChLZXksIDMxLiBKdWwgMTk5OCwgMDk6NTE6MDUpOgp+IyEgcm49TGFyaXNzYSBydD05MDE3Mzk5ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDE3MzcxMzQKRG9jaCBnZW5hdSBkaWUgd2FyIGVzIQpVbmQgbmllIGhhdCBzaWUgYXVmIGRpZSBHZXNjaHdpbmRpZ2tlaXQgZ2VhY2h0ZXQgLi4uIApJbW1lciBpc3Qgc2llIGFuIGVpbmVtIHZvcmJlaWdlcmF1c2NodCB1bmQgbWFuIGtvbm50ZSBzaWNoIG51ciB3dW5kZXJuIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbnMgd2lyZCBzaWNoIE5JRSBhZW5kZXJuLiAoU3RvcGRlbmJ1cywgMzEuIEp1bCAxOTk4LCAyMzozNzowOSk6Cn4jISBybj1LZXkgcnQ9OTAxODcxNDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxNzM3MTM0CmljaCBnZWhvZXIgYXVjaCB6dSBkZW4gZ2VzY2hhZWRpZ3RlbiwgbWljaCBoYXQgc2llIG5hY2h3ZWlzbGljaCBtaW5kLgozIG1hbCB1bWdlZmFocmVuICEgOikKCkphbmljZSBpc3QgYWJlciBDaGljb2xhIGRlc3dlZ2VuIG5pY2h0IGJvZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVrYW5udG1hY2h1bmchIChQYW1wZXJzLCAgMi4gQXVnIDE5OTgsIDA5OjQwOjU2KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTAxNDg4MjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxNDg4MjQ4CldhcyBpc3QgZGVubiBkaWVzZXIgUGEqIENsdWI/IFVuZCB3aWVzbyB3dXJkZSBkZXIgb2huZSBtaWNoIGdlZ3J1ZW5kZXQ/CgpHaWJ0cyBkYSBHZWxkPwoKUGFtcGVycy4gQXVjaCBQYSogLSBNYWdpZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJla2FubnRtYWNodW5nISAoS2V5LCAgMy4gQXVnIDE5OTgsIDA5OjM2OjU1KToKfiMhIHJuPVBhbXBlcnMgcnQ9OTAyMDQzNjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAxNDg4MjQ4CkFjaCBXaW5kZWwgLi4uLgpEdSBiaXN0IHZpZWwgenUgaGFybWxvcyBmdWVyIGRlbiBQQSotQ2x1YiA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdoaWVyIGJ1Z2d0IChNb3Jnb3RoLCAgMy4gQXVnIDE5OTgsIDEzOjA3OjIyKToKSGkgTGV1dGUsCmdlaHQgbmljaHQgbWVociB6dW0gV2VnaGllciByZWluLCBpcmdlbmR3YXMgYnVnZ3QgZGEuIEVzIGdpYnQga2VpbmUgQXVzZ2FlbmdlCm1laHIuCioqUk9DSFVTIFdVRVJHKiogQVJHTCEhISEKSmVkZXIgQW5mYWVuZ2VyIGxlcm50LCBFUlNUIEFkZEV4aXQoKSwgREFOTiBBZGRJdGVtKCkgKipyb2NodXMgdHJldCoqCgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW5zIHdpcmQgc2ljaCBOSUUgYWVuZGVybiAoQ2hpY29sYSwgIDMuIEF1ZyAxOTk4LCAxOTozMTowMik6CkhtbSBKYW5pY2UsIHdhcnVtIGhhc3N1IGRpY2ggZGFubiBTdG9wRGVuQnVzIHVuZCBuaWNodCBTdG9wRGFzRmFocnJhZCBvZGVyIGdhcgpTdG9wT21hQ2hpY29sYSBnZW5hbm50ID8gCgoqZ3J1ZWJlbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIEdyb3NzZW4gQnJ1ZWRlciAoQW5hdG9sLCAgNi4gQXVnIDE5OTgsIDE1OjI2OjIzKToKfiMhIHJuPUZ5dCBydD05MDI0MDcxNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDI0MDY3MDcKVmVyc3VjaGVuIHdpciwgZGVtIFBvc2l0aXZlcyBhYnp1Z2V3aW5uZW4gLSBkYXMgSW50ZXJlc3NlIGFuIGRlciBWZXJ3ZW5kdW5nCmRpZXNlcyBNZWNoYW5pc211c3NlcyBidHcuIGFuIHNlaW5lbiBSZXN1bHRhdGVuIGlzdCB2b24gZGVuIEVyem1hZ2llcm4gdm9uCnNvIGdlcmluZ2VyIEJlZGV1dHVuZywgZGFzcyBpaG5lbiBkZXIgVW1zdGFuZCBkZXIgamFocmVsYW5nZW4gVWViZXJ3YWNodW5nCmVpbmVzIFNwaWVsZXJzIGdhciBuaWNodCBtYWwgYXVmZmFlbGx0Li4uCgpBbmF0b2wgCgpQUzogTmVpbiwgWmFybml5YSwgaWNoIGJlendlaWZsZSwgZGFzcyBzaWNoIGRpZSBFcnptYWdpZXIgRGVpbmVuIE1pc3QgamVkZW4KICAgIEFiZW5kIGFscyBCZXR0bGVrdHVlcmUgcmVpbnppZWhlbi4gRGFmdWVyIGJpc3QgRHUgZWNodCBuaWNodCBndXQgZ2VudWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgR3Jvc3NlbiBCcnVlZGVyIChLZXksICA2LiBBdWcgMTk5OCwgMTg6MDY6MzIpOgp+IyEgcm49Rnl0IHJ0PTkwMjQwNzE2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMjQwNjcwNwpIbW0ga29lbm50ZSBkYXMgTG9nIGRhZHVyY2ggenVzdGFuZGUgZ2Vrb21tZW4gc2VpbiBkYXMgRHUgbWFsIHNhZ3Rlc3QgRHUKd3VlcmRlc3QgdHJvdHogU2NyaXB0dmVyYm90IDEwIG1pbyBFUHNlIG1hY2hlbj8gLikKCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClgtRmlsZXMgKEFrdGUtWCkgKE1vcmdvdGgsICA2LiBBdWcgMTk5OCwgMjI6NTg6MTUpOgpOZWlubmVpbiwgCmljaCB2ZXJyYXQgbml4LiBIbSwgZG9jaC4gQWJlciBudXIgc292aWVsOgpHZWh0IGluIGVpbmUgU3BhZXR2b3JzdGVsbHVuZywgZGllc2UgU2NoZWlzc2JsYWdlbiBuZXJ2ZW4hISEKRXJ3YXJ0ZXQgbmljaHQgenUgdmllbCwgZGVyIEZpbG0gaXN0IGd1dCwgc2VociBndXQsIGFiZXIuLi5kZXIgJ215c3Rpc2NoZScKVGVpbCBrb21tdCBlaW4gd2VuaWcgenUga3Vyei4KS3Vlc3NlbiBzaWUgc2ljaD8/PyBIbSwgZ2VoIHVuZCBzY2hhdXMgRGlyIGFuIDstKSAob2RlciBhdWNoIG5pY2h0PykKCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYLUZpbGVzIChBa3RlLVgpIChBdG96LCAgNy4gQXVnIDE5OTgsIDE1OjMzOjMzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTAyNDM3MDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyNDM3MDk1CkhtbW0gS3Vlc3NlbiBzaWUgc2ljaD8gRGF6dSBmYWVsbHQgbWlyIHNwb250YW4gZGllIEZyYWdlIGVpbjogSGF0IEdpbGxpYW4KQW5kZXJzb24gZWluZSBHZWZhaHJlbnp1bGFnZSBnZWtyaWVndD8gRGFubiBicmF1Y2ggaWNocyBtaXIgbmljaHQgYW56dWd1Y2tlbgo7KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnaGllciBidWdndCAoQmxvb2R5aGFycnksICA4LiBBdWcgMTk5OCwgMDE6MjY6MzUpOgp+IyEgcm49TW9yZ290aCBydD05MDIxNDI0NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDIxNDI0NDIKSXMgamEgbmllZGxpY2gsIGRhc3MgZGFzIHNlbGJzdCBzbyBlaW5lbSBhbHRlbiBIYXNlbiB3aWUgUm9jaHVzIHBhc3NpZXJ0LiA6LSkKRGFubiBnaXBzIGphIG5vY2ggSG9mZm51bmcgZnVlciBtaWNoPwoKQkggLSBwZmxlZ3Qgc2VpbmUgQWx6aGVpbWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzY2hyZWliLWJsb2NrYWRlIChKYXNvbnJpZ2lkLCAgOC4gQXVnIDE5OTgsIDEyOjAyOjI1KToKSGkgTGV1dGUsCgpzb2xsdGUgZXMgbWFsIGplbWFuZGVtIHBhc3NpZXJlbiwgZGFzcyBlciBhdXNnZWxvZ2d0IHdpcmQsIHdhZWhyZW5kIGVyIGVpbmVuCkFydGlrZWwgc2NocmVpYnQgdW5kIGRhbmFjaCBrZWluZSBBcnRpa2VsIG1laHIgc2NocmVpYmVuIGthbm4sIGRhcyBsYWVzc3Qgc2ljaApkdXJjaCBlbmRlIHdpZWRlciBiZWhlYmVuIDopCgpCdWctUGlvbmllciBKYXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNjaHJlaWItYmxvY2thZGUgKFphcm5peWEsICA4LiBBdWcgMTk5OCwgMTM6MTM6MzcpOgp+IyEgcm49SmFzb25yaWdpZCBydD05MDI1NzA1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDI1NzA1NDUKaG1tIHdlbm4gbWFuIHN0YXR0IGVuZGUgZGFubiBhYmVyIH5yIG1hY2h0LCBkYW5uIGhhdCBkYXMgZGVuIGVpbmlnZSBWb3J0ZWlsZQptZWhyOgoKbWFuIGthbm4gZGVuIGFydGlrZWwgd2VpdGVyc2NocmVpYmVuIG9kZXIgbG9lc2NoZW4KbWFuIHdpcmQgbmNpaHQgYXVzZ2Vsb2dndCwgZGFzIGVxdWlwIGJsZWlidCBpbiBlaW5lbQpkZXIgYnVnIGVudHB1cHB0IHNpY2ggZGFubiBhbHMgc2lubnZvbGxlcyBmZWF0dXJlIHVuZCBpc3QgZWlnZW50bGljaCBrZWluZXIKCm5hamEsIEphc29ucmlnaWQuLi4gbWFjaCBEdSBkYSBkYW5uIHdlaXRlciBlbmRlLCBhYmVyIHZlcnNjaG9uIGRpZSBhbmRlcmVuIG1pdApzb2xjaCBkYWVtbGljaGVuIFRpcHMuIAoKWmFybml5YS4uLiBoYXQgaGV1dGUgbm9jaCBuaWNodCBhdXNnZXd1ZXJmZWx0LCBvYiBzaWUgaG9lZmxpY2ggc2VpbiBtdXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIEViZW5lbiB1bmQgPE1hc3RlUj4gKEhhdGUsIDEwLiBBdWcgMTk5OCwgMDk6NTM6MDEpOgpIaSwKCmljaCBoYWJlIGVpbmUga2xlaW5lIEFlbmRlcnVuZyBlaW5nZWJhdXQuIEVzIGxvaG50IHNpY2ggYWJzb2x1dCBuaWNodAptZWhyIGJlaW0ga2xlaW5zdGVuIExhZyBhdXMgZGVyIE1hc3RlcmViZW5lIGxhZyBlaW56dXRpcHBlbiwgd2VubiBlcyBzY2hvbgpqZW1hbmQgaW5uZXJoYWxiIGRlciB2b3JoZXJnZWhlbmRlbiBNaW51dGUgZ2V0YW4gaGF0LiBEYXMgS29tbWFuZG8gd2lyZAplaW5mYWNoIGlnbm9yaWVydC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdXJ6ZSBQYXVzZSAoQ2F0d2VhemxlLCAxMC4gQXVnIDE5OTgsIDEwOjA5OjUyKToKU3ViamVjdDogKioqIEhvdCBOZXdzICoqKiAxMC5BdWcuMTk5OCAxMDowNCAqKioKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmQ6IDEwLjA4LjE5OTgsIDEwOjA0IFVocgpCZXRyaWVic3VudGVyYnJlY2h1bmdlbjoKTW8gMTAuMDguIEFtIFNhLiwgMTUuOC45OCBpc3QgbWl0IGt1cnplbiBVbnRlcmJyZWNodW5nZW4gZGVyIEludGVybmV0LQogICAgICAgICAgVmVyYmluZHVuZyAoQi1XaU4pIGRlciBVbml2ZXJzaXRhZXQgenUgcmVjaG5lbi4gQW4gZGVyIFVuaQogICAgICAgICAgRG9ydG11bmQsIHVlYmVyIHdlbGNoZSBkYXMgVW5pdmVyc2l0YWV0c3JlY2huZXJuZXR6CiAgICAgICAgICBhbmdlYnVuZGVuIGlzdCwgZmluZGVuIGdhbnp0YWVnaWcgQXJiZWl0ZW4gYW0gU3Ryb21uZXR6IHN0YXR0LgotLS0tLQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnaGllciBidWdndCAoUm9jaHVzLCAxMC4gQXVnIDE5OTgsIDE1OjU4OjQ4KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTkwMjUzMjM5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMjE0MjQ0MgpEaWUgQnVncyB3dXJkZW4gYWxsZSBiZWlkZSBkdXJjaCBBZW5kZXJ1bmdlbiBhdXNnZWxvZXN0LApkaWUgQU5ERVJFIGVpbmdlYmF1dCBoYWJlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlZ2hpZXIgYnVnZ3QgKE1vcmdvdGgsIDEwLiBBdWcgMTk5OCwgMTU6NTk6MzApOgp+IyEgcm49Um9jaHVzIHJ0PTkwMjc1NzUyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMjE0MjQ0MgpBY2ggaXN0IGRhcyBuaWNodCBzY2hvZW4sIHdlbm4gZGllIEtvbW11bmlrZXRpb24gdW50ZXIgTWFnaWVybiBmdW5rdGlvbmllcnQ/CjstKQpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFgtRmlsZXMgKEFrdGUtWCkgKEdub21lLCAxMC4gQXVnIDE5OTgsIDIxOjI5OjM3KToKfiMhIHJuPU1vcmdvdGggcnQ9OTAyNDM3MDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyNDM3MDk1CmVudHdhcm51bmchISEKCmRlciBmaWxtIGlzdCBuaWNodCBiZXNzZXIsIGFscyAyIGR1cmNoc2NuaXR0bGljaCBndXRlIHNlcmllbiwgZGllIGFuZWluYW4tCmRlciBnZWhhZW5ndCB3ZXJkZW4uIGVpbmUgcmVjaHQgc2Nod2FjaGUgbGVpc3R1bmcgZGVzIHJlZ2llc3NldXJzLCBtYW4KZXJ3YXJ0ZXQgd2VzZW50bGljaCBtZWhyLiB3ZW5pZ3N0ZW5zIGRlbiB4LWZpbGUtdGhlbWUgaGFldHQgaWNoIG9lZnRlcgplcndhcnRldCwgamVkb2NoIG5pY2h0IG1hbCB6dW0gYWJzcGFubiBlcmtsaW5ndCBlci4gbm90ZSA1LCBzZXR6ZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBYLUZpbGVzIChBa3RlLVgpIChQYXRyeW4sIDEwLiBBdWcgMTk5OCwgMjE6MzQ6MzcpOgp+IyEgcm49R25vbWUgcnQ9OTAyNzc3Mzc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyNDM3MDk1CmFsc28gaWNoIGZhbmQgamEgZWggbnVyIGRpZSBlcnN0ZW4gcGFhciB0ZWlsZSByZWNodCBndXQgdW5kIHZlcnN0ZWhlIGRlbgpnYW56ZW4gcnVtbWVsIHVtIGRpZXNlIGVoZXIgZHVyY2hzY2huaXR0bGljaGUgc2VyaWUgbmljaHQuIGRlciBmaWxtIHJlaWh0CnNpY2ggZnVlciBtaWNoIHNvbWl0IHJlY2h0IHp3YW5nbG9zIGluIGRpZSByZWloZSBkZXIgc2Nob24gYmVrYW5udGVuCngtZmlsZS1xdWFsaXRhZXQgZWluOiBnZXNlaGVuIHVuZCB2ZXJnZXNzZW4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBYLUZpbGVzIChBa3RlLVgpIChSaWt1cywgMTAuIEF1ZyAxOTk4LCAyMTo1MjoxNSk6Cn4jISBybj1QYXRyeW4gcnQ9OTAyNzc3Njc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyNDM3MDk1CmlzdCBoYWx0IEdlc2NobWFja3NzYWNoZSwgbWlyIGdlZmFsbGVuIGRpZSBtZWlzdGVuIEZvbGdlbiB2b24gQWt0ZSBYCnNlaHIgZ3V0ISBNb3JnZW4gc2VoIGljaCBhdWNoIGRlbiBGaWxtIGFuLCBvYiBudW4gc2VociBndXQgb2RlciBuaWNodCwKaWNoIGdlaCBlaCBtaW5kZXN0ZW5zIGFsbGUgMTQgVGFnZSAxbWFsIGlucyBLaW5vIDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWC1GaWxlcyAoQWt0ZS1YKSAoR2FuZG8sIDEwLiBBdWcgMTk5OCwgMjM6MDY6MjQpOgp+IyEgcm49UmlrdXMgcnQ9OTAyNzc4NzM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyNDM3MDk1Ckh1dSAsLCBhbGxlIDE0IFRhZ2Ugd3VlcmRlIG1laW5lbiBnZWxkYmV1dGVsIGF1Y2ggbWFsIGd1dHR1bi4gYWJlciBzb2xhbmdlIHNvCnZpZWxlIGFjdGlvbmZpbG1lIGtvbW1lbiBrYW5uIG1hbiBzY2hvbiBuIHBhYXIgbWFsIGltIGtpbm8gbGFuZGVuIDspCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXNzd29lcnRlciEgKENhdHdlYXpsZSwgMTEuIEF1ZyAxOTk4LCAxMjozNToyMCk6Ck1vaW4hCgpEYSBtaXIgbGFuZ3dlaWxpZyB3YXIgdW5kIGljaCBlaW5lbiBzY2huZWxsZW4gUmVjaG5lciBoYXR0ZSwgaGFiZSBpY2ggbWFsIGRhcwpnbGVpY2hlIGdldGFuLCB3YXMgd2lyIGluIGRlciBTeXN0ZW13YXJ0dW5nIGp1ZW5nc3QgZ2VtYWNodCBoYWJlbiwgbmFlbWxpY2gKUGFzc3dvZXJ0ZXIgZ2VrbmFja3QuCkRhcyBoYWJlIGljaCBtaXQgZWluZW0gc2ltcGxlbiB0b29sIGdldGFuLCBkYXMgbWFuIHVlYmVyYWxsIGltIApOZXR6IGJla29tbWVuIGthbm4sIHVuZCBkYXMgYXVzIGVpbmVyIHJlY2h0IGdyb3NzZW4gdW5kIHNjaGxhdWVuIAp3b2VydGVyYnVjaC1kYXRlbmJhbmsgaGluZ2VodCB1bmQgcGFzc2VuZGUgcGFzc3dvZXJ0ZXIgZWluZmFjaCBtYXRjaHQuCkRhcyBpc3QgendhciByZWNoZW56ZWl0IGludGVuc2l2LCBhYmVyIG1hY2hiYXIuCgpadSBtZWluZW0gZ3Jvc3NlbiBFbnRzZXR6ZW4gaGFiZSBpY2ggaHVuZGVydGUgdm9uIFBhc3N3b2VydGVybiBpbiAKa3Vlcnplc3RlciBaZWl0IGdla25hY2t0ICg1IFRhZ2UpLiAKRGFoZXIgbWVpbmUgQml0dGU6IEF1Y2ggd2VubiBlcyBuaWNodCBzbyB3aWNodGlnIHp1IHNlaW4gc2NoZWludCwgbWFjaHQgCkV1Y2ggZWluIHZlcm51ZW5mdGlnZXMgUGFzc3dvcnQuIEphYSwgYXVjaCBoaWVyIGltIE11ZCBoYXQgZXMgZGVzIG9lZnRlcmVuCnJpY2h0aWcgZmllc2VuIEFlcmdlciBtaXQgZ2VrbGF1dGVuIENoYXJha3RlcmVuIGdlZ2ViZW4sIGRpZSBCZWlzcGllbGUKc2luZCBzZWhyIHphaGxyZWljaC4uLgpEaWVqZW5pZ2VuLCBkaWUgaWNoIGdla25hY2t0IGhhYmUsIHdlcmRlbiB1ZWJlciBtYWlsIGluZm9ybWllcnQsIGFiZXIgCmF1Y2ggYWxlcyBhbmRlcmVuIG1vZWNodGUgaWNoIHJhdGVuLCBtYWwgZGFydWViZXIgbmFjaHp1ZGVua2VuLCBvYiAKZGFzIFBhc3N3b3J0IHdpcmtsaWNoIHNpY2hlciBpc3QuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBBY2hzbywgZGFtaXQgbmljaHQgZ2xlaWNoIFBhbmlrIGF1c2JyaWNodC4gRGllIFBhc3N3b3J0ZXIsIGRpZSBpY2ggCiAgICByYXVzZ2VmdW5kZW4gaGFiZSwgd2Vpc3MgbnVyIGljaCwgdW5kIGVzIGtvbW10IGF1Y2ggYXVzc2VyIG1pciAKICAgIG5pZW1hbmQgZGEgZHJhbi4gSWNoIHdlcmRlIHNlbGJzdHZlcnN0YWVuZGxpY2ggYXVjaCBuaWNodHMgZGFtaXQKICAgIGFuZmFuZ2VuLCB3b2xsdGUgaWNoIGVpbmVuIENoYXJha3RlciAndWViZXJuZWhtZW4nIG9kZXIgYWVobmxpY2gKICAgIFNjaGVyemUgYmV0cmVpYmVuLCBtdWVzc3RlIGljaCBkaWUgUGFzc3dvcnRlciBuaWNodCBrbmFja2VuLCBzb25kZXJuCiAgICBlaW5mYWNoIG51ciBhZW5kZXJuLiAKICAgIEVzIGlzdCBhdWNoIG5pY2h0IG9obmUgd2VpdGVyZXMgbW9lZ2xpY2gsIHNvIHdpZSBpY2gsIGRhcyBQYXNzd29ydC0KICAgIGtuYWNrcHJvZ3JhbW0genUgYmVudXR6ZW4sIGRhIG1hbiBmdWVyIGdld29laG5saWNoIHVlYmVyaGF1cHQKICAgIG5pY2h0IGFuIGRpZSBQYXNzd29ydGRhdGVpZW4gcmFua29tbXQuIAogICAgRGFzIEV4cGVyaW1lbnQgemVpZ3QgYWJlciB0cm90emRlbSB3aWUgZXJzY2hyZWNrZW5kIHRyaXZpYWwgZWluaWdlCiAgICBQYXNzd29lcnRlciBzaW5kLCBhdWYgZGllIG1laXN0ZW4ga29tbXQgbWFuIG1pdCBlaW4gYmlzc2NoZW4gCiAgICBhdXNwcm9iaWVyZW4gb2RlciBlaW4gYmlzc2NoZW4gbmFjaGRlbmtlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlZ2hpZXIgYnVnZ3QgKFRyYW5jZWZlYXIsIDExLiBBdWcgMTk5OCwgMTQ6NDI6MjkpOgp+IyEgcm49TW9yZ290aCBydD05MDI3NTc1NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDIxNDI0NDIKSWNoIGhhYiBkYXMga29taXNjaGUgR2VmdWVobCwgZGFzIGFsbGVzIHNjaG9ubWFsIGVybGVidCB6dSBoYWJlbi4uLiA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3dvZXJ0ZXIhIChaYXJuaXlhLCAxMS4gQXVnIDE5OTgsIDE2OjUyOjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDI4MzE3MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDI4MzE3MjAKYWxzbyB3ZW5uIHNjaG9uIHNrcmlwdCwgY2F0dHksIGRhbm4gbWl0IGVpbmxvZ2dlbiwgc2VsYnN0bG9lc2NodW5nLCBwYXNzd29ydAplaW5nZWJlbiB1bmQgZGFubiBlcnN0bWFsIDIgbW9uYXRlIHVybGF1YiBtYWNoZW4uCgpaYXJuaXlhIGhhdCBlaW4gc2ljaGVyZXMgcGFzc3dvcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3dvZXJ0ZXIhIChSYW50YW5wbGFuLCAxMS4gQXVnIDE5OTgsIDIyOjIzOjUyKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDI4MzE3MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDI4MzE3MjAKCldpZXNvIGhhYiBpY2gga2VpbmUgTWFpbCBiZWtvbW1lbiA/Pz8/CgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGFzc3dvZXJ0ZXIhIChSYW50YW5wbGFuLCAxMS4gQXVnIDE5OTgsIDIyOjI1OjQ4KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9OTAyODY3MDMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyODMxNzIwCgpQLlMuOiBNdWx0aXBsZSBRdWVzdGlvbiBNQXJrcyBhcmUgYSBzdXJlIHNpZ24gb2YgYSBjb29sIGFuZCBzdGlsbApwZXJ2ZXJ0ZWQgbWluZC4KCkluIGZyZXVuZGxpY2hlciBBbmxlaG51bmcgYW4gVGVycnkgR3JpbW1ib3JuLgoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3dvZXJ0ZXIhIChLZXksIDEzLiBBdWcgMTk5OCwgMTc6MjQ6MTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMjgzMTcyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMjgzMTcyMAoKSG1tIHdlbm4gd2lyIGFsbGUgdW5zZXJlIFBXJ3MgYW4gRGljaCBzY2hpY2tlbiAuLi4KV2llIHdhZXJlIGVzIG1pdCBuZW0gV2V0dGJld2VyYiBmdWVyIGRhcyBiZXN0ZSBwdz8gOikKCktleSBmdWVobHQgc2ljaCBzaWVnZXNzaWNoZXIgc29sYW5nZSBMdWcgbmV0IGRhIGlzdCAsKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhc3N3b2VydGVyISAoQXp6dXJvLCAxMy4gQXVnIDE5OTgsIDE5OjMzOjMzKToKfiMhIHJuPUtleSBydD05MDMwMjE4NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDI4MzE3MjAKV2FzIGlzdCBkZW5uIERlaW4gUGFzc3dvcnQgS2V5PyBPZGVyIHNvbGx0ZSBpY2ggbGllYmVyIEtleXdvcnQgc2FnZW4/Ck5pY2h0IG51ciBncm9zcyB0b2VuZW4uIEFiIGluIGRpZSBNUEEgZGFtaXQuIDspCi0tLS0+IFNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUWVBPcyB1bmQgQ28gKFBhcmFjZWxzdXMsIDEzLiBBdWcgMTk5OCwgMjE6NDk6MjUpOgpIaS4KCkRhIGljaCBnZXJhZGUgbWFsIHdpZWRlciBaZWl0IGdlZnVuZGVuIGhhYmUsIG1pY2ggdW0gZGllIGFiZ2VzZXR6dGVuClR5cG9zL0lkZWVuL0J1Z3MgenUga3VlbW1lcm4sIG1vZWNodGUgaWNoIG1hbCBlaW5lbiBrbGVpbmVuIEtvbW1lbnRhcgphbiBkaWVzZXIgU3RlbGxlIGFiZ2ViZW46CgpFcyBrb21tdCBsZWlkZXIgdmllbCB6dSBvZnQgdm9yLCBkYXNzIGljaCBkYSBzbyBlaW5lIE1lbGR1bmcgaW0gRmlsZSBzdGVoZW4KaGFiZSB3aWUsIHouQi46CgpUWVBPIHZvbiA8bmFtZT4KSGF1cwoKU29sY2hlIE1lbGR1bmdlbiBoZWxmZW4gbWlyICh1bmQgd29obCBhdWNoIGRlbiBtZWlzdGVuIGFuZGVyZW4gTWFnaWVybiwgZGllCmlocmUgUmVwLUZpbGVzIGFiYXJiZWl0ZW4pIG5pY2h0IGFsbHp1c2VociwgZGVubiB3ZW5uIG1hbiBudXIgZGFzIHJpY2h0aWcKZ2VzY2hyaWViZW5lIFdvcnQgYWJzZXR6dCwgaGFiZW4gd2lyIGtlaW5lIE1vZWdsaWNoa2VpdCwgaW4gZGVtIEZpbGUgbmFjaApkZW0gV29ydCBzdWNoZW4genUgbGFzc2VuICh3aWUgYXVjaCwgZXMgc3RlaHQgamEgc28gbmljaHQgZHJpbikuIFdpciBtdWVzc3RlbgphbHNvIGhpbmdlaGVuIHVuZCBkYXMgZ2FuemUgRmlsZSBkdXJjaHN1Y2hlbiwgd28gZGVubiBkZXIgRmVobGVyIGxpZWdlbgprb2VubnRlIC0gd2FzIGF1ZiBEYXVlciBuYXR1ZXJsaWNoIHppZW1saWNoIG5lcnZpZyBpc3QuCgpBbHNvIHdlbm4gaWhyIFR5cG9zIGFic2V0enQsIGRhbm4gYml0dGUgZGFzIGZhbHNjaGUgVU5EIGRhcyByaWNodGlnZSBXb3J0CmFuZ2ViZW4sIHVuZCBhbSBiZXN0ZW4gYXVjaCBub2NoLCB3byBpaHIgZXMgZ2VmdW5kZW4gaGFidCwgYWxzbyB6LkIuOgoKdHlwbyBEZXRhaWwgc3RyYXNzZSA6IHdhbmQgLT4gV2FuZAoKb2RlcgoKdHlwbyBMYW5nYmVzY2hyZWlidW5nIDogSGF1c2VyIC0+IEhhZXVzZXIKCkRhcyBlcmxlaWNodGVydCBtaXIgKHVuZCBhbmRlcmVuIE1hZ2llcm4pIGRpZSBBcmJlaXQgZG9jaCB1bmdlbWVpbi4KCkRhcyBnaWx0IHVlYnJpZ2VucyBiZXNvbmRlcnMgZnVlciBSYWV1bWUgd2llIGRpZSBCaWJsaW90aGVrIGluIEthdHptYW5kdSwKd2VubiBkZXIgVHlwbyBkYSBuaWNodCBpbSBSYXVtIGlzdCBzb25kZXJuIGluIGVpbmVtIEJ1Y2ggLi4uCgpQYXJhY2Vsc3VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRZUE9zIHVuZCBDbyAoTml4aWhvdSwgMTQuIEF1ZyAxOTk4LCAxMDo1MzowMyk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTkwMzAzNzc2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMzAzNzc2NQpobW0sIApkYXMgbWl0IGRlbiB0eXBvcyB1bmQgYnVncyB1bmQgaWRlZW4gaXN0IGVpbiBlY2h0ZXMgcHJvYmxlbS4uLgp3aWUgd2FlcmUgZXMgZGVubiwgd2VubiBtYW4gYmVpbSB0eXBvLWJlZmVobCBuaWNodCBlaW5mYWNoIGVpbmVuIApiZWxpYmlnZW4gdGV4dCBlaW5nZWJlbiBrb2VubnRlLCBzb25kZXJuIG5hY2ggZGVuIHdpY2h0aWdlbiBkYXRlbgpnZWZyYWd0IHdpcmQ/Cgo+IHR5cG8KCi0+IFdpZSBsYXV0ZXQgZGFzIGZhbHNjaGdlc2NocmllYmVuZSBXb3J0Pwo+IGJhdW0KLT4gV2llIGxhdXRldCBkaWUgcmljaHRpZ2UgU2NocmVpYndlaXNlPwo+IEJhdW0KLT4gV28gc3RlaHQgZGVyIEZlaGxlcj8gKHpCLiBMYW5nYmVzY2hyZWlidW5nLCBLdXJ6YmVzY2hyZWlidW5nLCBsaWVzIGJ1Y2gpCj4gTGFuZ2Jlc2NocmVpYnVuZzogdW50IEJpcmtlCgpudXIgbWFsIHNvIGFscyBiZWlzcGllbC4KCmZ1ZXIgZGVuIGJ1ZyB1bmQgaWRlZSBiZWZlaGVsIGlzdCBzbyBlaW4gZGlhbG9nIHdvaGwgZXR3YXMgc2Nod2llcmlnZXIuLi4KYWJlciB2aWVsbGVpY2h0IGthbm4gbWFuIGphIGRpYWxvZyB1bmQgbm9ybWFsLWJlZmVobCBuZWJlbmVpbmFuZGVyIApiZW51dHplbiB1bmQgenVyIHZlcmZ1ZWd1bmcgc3RlbGxlbj8KCm5peGlob3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVFlQT3MgdW5kIENvIChTY2hva28sIDE0LiBBdWcgMTk5OCwgMTA6NTc6NTkpOgp+IyEgcm49Tml4aWhvdSBydD05MDMwODQ3ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKWnUgZGVtIFRoZW1hIGZhZWxsdCBtaXIgZWluOiB3YXMgaXN0IGRlbm4gZWluIG1pc3NpbmcgRGV0YWlsPyBJc3QgZGFzIGVpbiBCdWc/Ck5pY2h0IHdpcmtsaWNoLiBFaW4gVHlwbz8gTmFqYSBlcyBnaWJ0IGphIGViZW4gbml4LCB3b24gVHlwbyBkcmluIGlzdC4gTmUKSWRlZT8gSG1tIG5hamEgbmUgSWRlZSBkYXNzIGRhIG4gRGV0YWlsIGhpbmdlaG9lcnQgOykpIEFsc28gYXVjaCBuaWNodAp3aXJrbGljaC4KCgpTY2hva28gKHZlcndpcnJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVFlQT3MgdW5kIENvIChaYXJuaXlhLCAxNC4gQXVnIDE5OTgsIDExOjEwOjQ1KToKfiMhIHJuPVNjaG9rbyBydD05MDMwODUwNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKYWxzbyBmdWVyIG1pY2ggYWxzIEV4LVJNIHVuZCBiZWkgbWVpbmVyIGRhbWFsaWdlbiBCZXJ1ZnMocHJvZ2cpLUF1ZmZhc3N1bmcgaXN0CmVpbiBtaXNzaW5nIGRldGFpbCBlaW5kZXV0aWcgZWluIEJVRy4KClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRZUE9zIHVuZCBDbyAoTW9yZ290aCwgMTQuIEF1ZyAxOTk4LCAxMToxNjozMik6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMzA4NTg0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMzAzNzc2NQpCZWkgbWlyIHNpbmQgZGFzICdmZWF0dXJlcycuCgpNKiBdOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUWVBPcyB1bmQgQ28gKFJpa3VzLCAxNC4gQXVnIDE5OTgsIDExOjE2OjU0KToKfiMhIHJuPVphcm5peWEgcnQ9OTAzMDg1ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1Ck5ldHQgd2FlcmUsIGRhcyBEZXRhaWwgYWxzIElkZWUgYWJ6dXNldHplbiwgdmllbGxlaWNodCBzb2dhciBtaXQgYW5zcHJlY2hlbmRlbQpUZXh0IGRhenUuCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVFlQT3MgdW5kIENvIChNb3Jnb3RoLCAxNC4gQXVnIDE5OTgsIDExOjIwOjAzKToKfiMhIHJuPVJpa3VzIHJ0PTkwMzA4NjIxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMzAzNzc2NQpBbHNvIHdpciAobWVpbiAydGllIHVuZCBpY2gpIGhhc3NlbiBmb3JzY2hlbi4gRGEgd2lsbCBpY2ggbWlyIG5pY2h0IGF1Y2ggbm9jaApkZW4gS29wZiB1ZWJlciBQaGFudGFzaWVlbiBhbmRlcmVyIE1hZ2llciB6ZXJicmVjaGVuLgpFaW4gZWluZmFjaGVzOiBidWcgbWlzc2luZyBkZXRhaWw6IHh4eCBnZW51ZWd0IHZvbGxrb21tZW4uIFdlciBlcyBldHdhcwprb21mb3J0YWJsZXIgbWFjaHQsIHNhbW1lbHQgTURzIHVuZCBzZXR6dCBzaWUgYWxsZSBmdWVyIGRlbiBnYW56ZW4gUmF1bSBhYi4KCk0qIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVFlQT3MgdW5kIENvIChUcmFuY2VmZWFyLCAxNC4gQXVnIDE5OTgsIDEzOjA5OjM3KToKfiMhIHJuPVphcm5peWEgcnQ9OTAzMDg1ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1CkVpbiBNRCBpc3QgbmF0dWVybGljaCBuZSBJZGVlIDotKSBkZW5uIGVzIGdpYnQgYXVjaCBnZXdvbGx0ZSBNRHMgdW5kCnVlYmVyaGF1cHQ6IHZpZWxlIHZvbiBTcGllbGVybiBnZW1lbGRldGUgTURzIHNpbmQgZ2FyIGtlaW5lLi4uIGRhIGdpYnRzIGRhbm4KU2FjaGVuIHdpZSAiRWluIEJhdW0uIER1IGRlbmtzdCAuIG8gTyAod293IGlzdCBkZXIgaG9jaCkiIHVuZCBkYW5uIGtvbW10IHouQi4KIk1EOiBEdSIuLi4gTmVlbmVlLCB3b2xsdGUgZWluIE1hZ2llciBhbGxlIG1vZWdsaWNoZW4gRGV0YWlscyBiZXNjaHJlaWJlbiwKa29tbXQgZXIgenUgZ2FyIG5pY2h0cyBtZWhyIDotKQoKdGYgKGJyaWNodCBlaW5lIExhbnplIGZ1ZXIgdW5zZXJlIGFybWVuIGdlcGxhZ3RlbiBNYWdpZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUWVBPcyB1bmQgQ28gKFllbmRpLCAxNC4gQXVnIDE5OTgsIDEzOjEwOjQxKToKfiMhIHJuPVphcm5peWEgcnQ9OTAzMDg1ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1CkhvcHBsYSwgWmFybml5YSB3YXIgbWFsIFJNIHVuZCBoYXQgaW0gTW9yZ2VuZ3JhdWVuIHByb2dyYW1taWVydD8KVmVyd2VjaHNlbHN0IER1IERpY2ggZGEgbmljaHQgbWl0IGplbWFuZCBnYW56Z2FuemdhbnogYW5kZXJlbT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUWVBPcyB1bmQgQ28gKEFuYXRvbCwgMTQuIEF1ZyAxOTk4LCAxNToyMzo0OCk6Cn4jISBybj1ZZW5kaSBydD05MDMwOTMwNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKQWxzbyBkZW4gVEYtTnV0emVybiBpc3QgaW4gcHVuY3RvIGZlaGxlbmRlbiBEZXRhaWxzIG1pdCBmb2xnZW5kZW0gcmVjaHQKZ3V0IGdlZGllbnQsIHNjaGFldHplIGljaDogL2JpbmQgWzE5fj1edW50XnR5cG8gRmVobGVuZGVzIERldGFpbDogXgpFaW4gRHJ1Y2sgYXVmIEY4IHNldHp0IGRhbm4gZWluIG1pc3NpbmcgZGV0YWlsIGF1ZiBkYXMgZWJlbiB1bnRlcnN1Y2h0ZQoodW5kIG9mZmVuYmFyIGZlaGxlbmRlKSBEZXRhaWwgYWIuIEVzIGxlYmUgZGVyIE11ZGNsaWVudC4uLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVFlQT3MgdW5kIENvIChBcmssIDE0LiBBdWcgMTk5OCwgMTY6NDY6NTcpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDMwOTI5Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKQWxzbywgYmVpIGFsbGVyIExpZWJlIHp1bSBEZXRhaWwsIHNlbGJzdCBpY2ggbGFzc2UgZXMgbGllYmVyLCB6LkIuIGJlaQpNZXRhcGhlcm4gd2llICcuLi5mcmV1dCBzaWNoIHdpZSBlaW4gS29lbmlnLicgZGFzIEhhdXB0d29ydCBLb2VuaWcgenUKYmVzY2hyZWliZW4uIEFsbGVzIHdhcyBob2VyYmFyLCByaWVjaGJhciB1bmQgc2VoYmFyIGlzdCwgYnJhdWNodCBlaW4gRGV0YWlsCihTbWVsbCwgU291bmQpLCBuYWphLCBtaXQgZWluaWdlbiBBdXNuYWhtZW4gbmF0dWVybGljaCB3aWVkZXIgOi0pClZvcmhhbmRlbiBzZWluIG11c3MgZXMsIHdlciBuaWNoIGdlcm4gZm9yc2NodCwgdmVybGllcnQgamEgZGFkdXJjaCBuaXgsIG51cgpkaWUgRm9yc2NoZXIgc29sbHRlbiBkYW5uIHZpZWxsZWljaHQgbmljaHQgbWl0IHNvIGt1cnplbiwgbmljaHRzc2FnZW5kZW4KU2FldHplbiB3aWU6ICdJc3Qgdm9yaGFuZGVuLicgb2RlciAnRHUgc3RlaHN0IGRyYXVmLicgYWJnZXNwZWlzdCB3ZXJkZW4uCihIb2ZmZW50bGljaCBrb21tdCBqZXR6dCBuaWNodCBlaW5lciBtaXQgbmVtIEJlaXNwaWVsIHZvbiBtaXIgOi0pICkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUWVBPcyB1bmQgQ28gKFByYSwgMTQuIEF1ZyAxOTk4LCAxNjo1MzoyOCk6Cn4jISBybj1BcmsgcnQ9OTAzMTA2MDE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1CldpZGVyc3BydWNoIQoKV2VubiBpY2ggbWFsIGZvcnNjaGUgKHNvbGwgMTk5NSBtYWwgdm9yZ2Vrb21tZW4gc2Vpbi4uLiksIGRhbm4gZnJldWUKaWNoIG1pY2ggdWViZXIgc29sY2hlIFNhY2hlbiB3aWU6ICdEZXIgTm90YXVzZ2FuZyBlcnNjaGVpbnQgRGlyIHdpZQplaW4gR2VzY2hlbmsgZGVyIEdvZXR0ZXIuJzsgJ3VudCBnZXNjaGVuaycgLT4gJ0VpbmVtIGdlc2NoZW5rdGVuIEdhdWwgCnNjaGF1dCBtYW4gbmljaHQgaW5zIE1hdWwhJyAKZXRjLiBrb2VuaWdsaWNoLiBEQVMgaXN0IE1vcmdlbkdyYXVlbiEKClByYS4KClAuUy4gTXVzcyBqYSBuaWNodCBqZWRlciBzbyBtYWNoZW4uIEFiZXIgd2VubidzIHNvIGlzdCwgaXN0J3MgdG9sbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRZUE9zIHVuZCBDbyAoQXJrLCAxNC4gQXVnIDE5OTgsIDE2OjU5OjU3KToKfiMhIHJuPVByYSBydD05MDMxMDY0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKTmEsIGRhbm4gd2VuZGUgRGljaCBhbiBGZXVlcndlaHIgdW5kIHRyZXRlIGlobiB6dSB3ZWl0ZXJlbiBEZXRhaWxzIDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVFlQT3MgdW5kIENvIChTaGFubmFyYSwgMTQuIEF1ZyAxOTk4LCAyMjo1NDowNyk6Cn4jISBybj1ZZW5kaSBydD05MDMwOTMwNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKSG1tLCBnbGF1YiBuaWNodCwgZGVyIGhpZXNzIHdvaGwgZG9jaCBZYW50cm8/CgpJY2gga2VubiBudXIgZWluZShuKSBTcGllbGVyKGluKSwgZGllIHNvIGVpbiBncm9zc2VzIE1hdWwgKHNvcnJ5KSBnZWhhYnQgaGF0LAp1bmQgdW5iZWRpbmd0IG1laW5lbiBad2VpdGllIGluIGRlciBBcmVuYSAobWl0IGVpbmVuIG1hZ2llcnRvb2w/KSB1bWhhdWVuCndvbGx0ZS4gQWxzIGRhcyBkZXN0cnVjdGVkIHd1cmRlLCB3YXIgZGVyIF9zZWhyXyBzY2huZWxsIHdlZyA4LSkKCkFiZ2VzZWhlbiBkYXZvbiwgd2FyIGF1Y2ggZWluIGdhc3QgbWl0IG5lbiBLYW1wZnNjaHdlcnQgYmVpIG1pciwgd2VpbCBkYXMKd2FlcmUgZWNodCB1bnRlciBtZWluZXIgV3VlcmRlIGdld2VzZW4uCgpTaGFubmFyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXNzd29lcnRlciEgKEx1ZywgMTUuIEF1ZyAxOTk4LCAwMTozMzoyOCk6Cn4jISBybj1LZXkgcnQ9OTAzMDIxODUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyODMxNzIwCgpIYWggS2V5LAoKenVydWVjay4KClBlY2ggd2E/Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVFlQT3MgdW5kIENvIChaYXJuaXlhLCAxNS4gQXVnIDE5OTgsIDEzOjAwOjI0KToKfiMhIHJuPVByYSBydD05MDMxMDY0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKSWNoIG11c3MgUHJhIGRhIFJlY2h0IGdlYmVuLi4uIGdlcmFkZSBpbiBzb2xjaGUgUmVkZXdlbmR1bmdlbiBrYW5uIG1hbiBndXRlCkdhZ3MgZWluYmF1ZW4uIEljaCBlcmlubmVyZSBkYSBhbiAndW50IGtub2VjaGVsJyBpbiBlaW5lciBnZXdpc3NlbiBCdXJnIG9kZXIKdWViZXJoYXVwdCBhbiBkaWUgZGV0YWlsZnVlbGxlIGJlaSBUb2V0ZXIuIFByb2JsZW0gaXN0LCBkYXNzIGVpbmlnZSBNYWdpZXIKaGllciBzdHVyIGRpZSBlcnN0ZSBFYmVuZSBkZXIgU3Vic3RhbnRpdmUgYmVzY2hyZWliZW4gdW5kIGRlbiBSZXN0IG5pY2h0LgoKTWVpbmVyIE1laW51bmcgbXVzcyBlcyBhYmVyIGF1Y2ggd2VpdGVyIGdlaGVuLiBMb2dpc2NoZSBEZXRhaWxzIHNpbmQgekIKQmF1bS9iYWV1bWUgaW4gZWluZW0gV2FsZCwgZGFubiBhdWNoIExhdWIvQmxhZXR0ZXIgdXN3LCBhdWNoLCB3ZW5uIGVzIGluIGRlcgpCZXNjaHJlaWJ1bmcgbmljaHQgZXJ3YWVobnQgaXN0LiBFcyBnZWh0IGhpZXIgZG9jaCB1bSBBdG1vc3BoYWVyZSB1bmQgU3RpbW11bmcKaW0gTXVkIHVuZCBkaWUgbGVidCBudW4gbWFsIHZvbiBUZXh0ZW4sIGRpZSBuaWNodCBudXIga3VyeiB3YXMgYmVzY2hyZWliZW4sCnNvbmRlcm4gZGllIFN0aW1tdW5nIG1hY2hlbiwgZGllIEVtb3Rpb25lbiB3ZWNrZW4gKGljaCBlcmlubmVyZSBkYSB6dSBnZXJuIGFuCmdld2lzc2UgS29uZG9tZSkuIAoKQXVzbmFobWUgc2luZCBkYSBuYXR1ZXJsaWNoIE1laXN0ZXIgZGVyIFByb2drdW5zdCB3aWUgUm9jaHVzLiBEZXIgYmF1dCBkaWUKRGV0YWlscyBhbHMgU3BpZWxlcmhpbGZlIGluIHNlaW5lIFF1ZXN0cyBlaW4uIFdlciBtYWwgZGllIEZyYWNodGd1dHF1ZXN0CmxhbmdzYW0gdW5kIGF1c2Z1ZWhybGljaCBnZXNwaWVsdCBoYXQsIGRlciBtZXJrdCwgZGFzcyBlcyBkYSBrZWluIERldGFpbCBnaWJ0LAp3YXMgbmljaHQgaXJnZW5kd2llIFF1ZXN0cmVsZXZhbnQgaXN0LiBBbmRlcnNydW0gaGVpc3N0IGRhczogS2VpbiBEZXRhaWwgZGE/CkRhbm4ga2FubnN0IGhpZXIgd2VpdGVyZ2VoZW4uIDotKQoKWmFybml5YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVFlQT3MgdW5kIENvIChBbmF0b2wsIDE1LiBBdWcgMTk5OCwgMTM6MTE6MTcpOgp+IyEgcm49WmFybml5YSBydD05MDMxNzg4MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKQW5kZXJlcnNlaXRzIGthbm4gbWFuIGVzIGtlaW5lbSBNYWdpZXIgdWViZWxuZWhtZW4sIGRlciBzaWNoIGRlbmt0OgoiV2FydW0gc29sbCBpY2ggbWlyIGRpZSBNdWVoZSBtYWNoZW4gdW5kIGRlbiBSYXVtIHN0aW1tdW5nc3ZvbGwgdW5kIHRpZWYKZGV0YWlsbGllcmVuIC0gZGllIFNwaWVsZXIgZ2ViZW4gZG9jaCBzb3dpZXNvIG51ciAvY2hlY2tfcm9vbSBlaW4gdW5kIApsYXNzZW4gc2ljaCBtaXQgZGVtIEVyZ2VibmlzIHp1c2Nyb2xsZW4uLi4iCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUWVBPcyB1bmQgQ28gKE1hbW1pLCAxNi4gQXVnIDE5OTgsIDIwOjI3OjAxKToKfiMhIHJuPUFuYXRvbCBydD05MDMxNzk0Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKV2VyIGRhcyBtYWNodCwgaXN0IHNlbGJzdCBzY2h1bGQgdW5kIHNvbGx0ZSBzaWNoIGluIGVpbiBNdWQgdmVyemllaGVuLAppbiBkZW0gZXMga2VpbmUgRGV0YWlscyBnaWJ0IHVuZCBkZW4gTWFnaWVyLCBkZXIgc28gZGVua3QsIGdsZWljaCBtaXRuZWhtZW4uCgpNYW1taSAoZnJldXQgc2ljaCB1ZWJlciAoZmFzdCkgamVkZXMgRGV0YWlsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVFlQT3MgdW5kIENvIChTb25nb2t1LCAxNy4gQXVnIDE5OTgsIDA5OjEwOjQxKToKfiMhIHJuPUFuYXRvbCBydD05MDMxNzk0Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKV2FzIHNvbGwgL2NoZWNrX3Jvb20gc2Vpbj8/PwpJc3QgZGFzIHdpZWRlciB3YXMgWk11ZCBzcGV6aWZpc2NoZXMgb2RlciB3aWU/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFRZUE9zIHVuZCBDbyAoQW5hdG9sLCAxNy4gQXVnIDE5OTgsIDE3OjIxOjA5KToKfiMhIHJuPVNvbmdva3UgcnQ9OTAzMzM3ODQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1ClZlcnN1Y2gncyBtYWwgbWl0IHdlbmlnZXIgRnJhZ2V6ZWljaGVuIHVuZCBldHdhcyBtZWhyIFZlcnN0YW5kLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVFlQT3MgdW5kIENvIChLZXksIDE3LiBBdWcgMTk5OCwgMTg6NDA6NTApOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDMwOTI5Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDMwMzc3NjUKV2llIHdhZXJlIGVzIGt1cnogdW5kIGJ1ZW5kaWcgbWl0IGVpbmVtIG5ldWVuIGJlZmVobCBuYW1lbnMgbWQ/IEZ1ZXIgbWlzc2luZwpkZXRhaWw/CgpBY2ggdW5kIHdvIHdpciBnZXJhZGUgZGFiZWkgc2luZCAuLi4ga2FubiBtYW4gZGllIHJlZmlsZXMgbmljaHQgdW50ZXJ0ZWlsZW4gaW4KdHlwb3MsIGlkZWVuIHVuZCBpbmZvcz8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGFzc3dvZXJ0ZXIhIChLZXksIDE3LiBBdWcgMTk5OCwgMTg6NDM6MTcpOgp+IyEgcm49THVnIHJ0PTkwMzEzNzYwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMjgzMTcyMAoqZ3J1bW1lbCoKCldubiBtYW4gRGljaCBtYWwgbmljaHQgYnJhdWNodCEgOikKCktvbW1zdGUgenVyIFBhcnR5PyA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVFlQT3MgdW5kIENvIChLZXksIDE3LiBBdWcgMTk5OCwgMTg6NDk6MjcpOgp+IyEgcm49TWFtbWkgcnQ9OTAzMjkyMDIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzMDM3NzY1CkR1IG11c3N0cyBqYSB3aXNzZW4gTWFtbWkgLi4uLgpIbW0gQW5hdG9sIGljaCBoYWIgYXVjaCBzY2hvbiBvZnQgYW4gc293YXMgZ2VkYWNodCAuLi4gYXVzIGVpbmVtIGVpbmZhY2hlbgpHcnVuZCAuLi4KCkVzIGdpYnQgdmllbGUgUmFldW1lIE1hcmtlIENvcHkmUGFzdGUgLi4uIHVuZCB3ZW5uIGljaCBkcmFuIGRlbmtlIGRhcyBudXIgaW4KamVkZW0gMTIgZWluIEZQIHp1IGZpbmRlbiBpc3QgdmVyZ2VodCBtaXIgZGllIEx1c3QgYXVmcyB1bnRlcnN1Y2hlbiBwZXIgSGFuZAouLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BpZWxwYXVzZSAoSmFtbWllLCAxOC4gQXVnIDE5OTgsIDE3OjI0OjQyKToKSGlobywKaWNoIG5laG1lIGRhcyBTb21tZXJjYW1wIHp1bSBBbmxhc3MsIGVyc3RtYWwKZWluZSB6d2Vpd29lY2hpZ2UgU3BpZWxwYXVzZSBlaW56dWxlZ2VuLiBFaW4gcGFhciBTYWNoZW4gZXJsZWRpZ2VuLCBtYWwgd2llZGVyCmVpbiBCdWNoIGxlc2VuLi4uc28gU2FjaGVuIGhhbHQgOikKSWNoIHd1ZW5zY2ggRXVjaCB3YXMgYmlzIGRhaGluLCBzZWlkIGJyYXYuCkphbW1pZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VubiBlcyBaZWl0IGlzdCB6dSBnZWhlbi4uLiAoVGFyYm9zLCAyMC4gQXVnIDE5OTgsIDE3OjI1OjAwKToKPiBrd2VyCiAgIExpc3RlIGRlciBNaXRzcGllbGVyIHZvbSBEb24sIDIwLiBBdWcgMTk5OCwgMTY6NTg6NDAgKDIgVGVpbG5laG1lcikKClRhcmJvcy4uLi4uLi4uLi4ucyBSdW1hdGEuLi4uLi4uLi5KLkcKCgpIbSwgaWNoIGdsYXViZSBkYW5uIHNvbGx0ZSBtYW4gd29obCBkb2NoIGluIFJpY2h0dW5nIE11ZGNhbXAgYXVmYnJlY2hlbiA7KQoKVGFyYm9zLCB3aW5rZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9lc2NodCBhbGxlIE1TSUUgNC54ISAoQ2F0d2VhemxlLCAyMS4gQXVnIDE5OTgsIDEyOjAxOjQzKToKR3V0ZW4gVGFnLAoKdW5zIGVycmVpY2h0ZSBkYXMgbmFjaGZvbGdlbmRlIE1pY3Jvc29mdCBTZWN1cml0eSBCdWxsZXRpbiAoTVM5OC0wMTEpLApkYXMgZWluZSBTY2h3YWNoc3RlbGxlIGluIGRlbSBNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIgNCAoaW5jbC4gNC4wMSwKNC4wMSBTUDEgdW5kIFdpbmRvd3MgOTgpIGJlc2NocmVpYnQuIER1cmNoIGVpbmVuIEltcGxlbWVudGF0aW9uc2ZlaGxlcgppc3QgZXMgZWluZW0gQW5ncmVpZmVyIG1vZWdsaWNoIGVpbmUgV2Vic2VpdGUgc28gYXVmenViYXVlbiwgZGFzcyBiZWkgZGVtCkJlc3VjaCBkZXIgV2Vic2VpdGUgbWl0IGRlbSBJbnRlcm5ldCBFeHBsb3JlciBiZWxpZWJpZ2UgQmVmZWhsZSBhdWYgZGVtClJlY2huZXIsIGF1ZiBkZW0gZGVyIEJyb3dzZXIgbGFldWZ0LCBhdXNnZWZ1ZWhydCB3ZXJkZW4uCgpNaWNyb3NvZnQgaGF0IGVudHNwcmVjaGVuZGUgUGF0Y2hlcyB6dXIgQmVoZWJ1bmcgZGVzIFByb2JsZW1zIGhlcmF1c2dlLQpnZWJlbi4gSW4gZGVtIGFuZ2VmdWVndGVuIEFkdmlzb3J5IGZpbmRlbiBTaWUgZGllIEhpbndlaXNlIHdvLCBTaWUgZGllClBhdGNoZXMgZXJoYWx0ZW4ga29lbm5lbi4KCi0tLS0tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNaWNyb3NvZnQgU2VjdXJpdHkgQnVsbGV0aW4gKE1TOTgtMDExKQotIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVcGRhdGUgYXZhaWxhYmxlIGZvciAiV2luZG93LkV4dGVybmFsIiBKU2NyaXB0IFZ1bG5lcmFiaWxpdHkKaW4gTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIDQKCgpPcmlnaW5hbGx5IFBvc3RlZDogQXVndXN0IDE3LCAxOTk4Ckxhc3QgUmV2aXNlZDogQXVndXN0IDE3LCAxOTk4CgpTdW1tYXJ5Cj09PT09PT0KUmVjZW50bHkgTWljcm9zb2Z0IHdhcyBub3RpZmllZCBieSBHZW9yZ2kgR3VuaW5za2kgYW5kIE5UQnVnVHJhcQooaHR0cDovL250YnVndHJhcS5udGFkdmljZS5jb20pIG9mIGEgc2VjdXJpdHkgaXNzdWUgYWZmZWN0aW5nIHRoZSB3YXkKTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIDQuMCwgNC4wMSBhbmQgNC4wMSBTUDEgaGFuZGxlcyBKU2NyaXB0IHNjcmlwdHMKZG93bmxvYWRlZCBmcm9tIHdlYiBzaXRlcy4KCk1pY3Jvc29mdCBoYXMgcHJvZHVjZWQgYSBwYXRjaCBmb3IgdGhpcyBpc3N1ZSwgd2hpY2ggY3VzdG9tZXJzIHNob3VsZApkb3dubG9hZCBhbmQgYXBwbHkgYXMgc29vbiBhcyBwb3NzaWJsZS4KCklzc3VlCj09PT09Ck1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciA0LjAsIDQuMDEgYW5kIDQuMDEgU1AxIHVzZSB0aGUgSlNjcmlwdCBTY3JpcHRpbmcKRW5naW5lIHZlcnNpb24gMy4xIHRvIHByb2Nlc3Mgc2NyaXB0cyBvbiBhIHdlYiBwYWdlLiBXaGVuIEludGVybmV0IEV4cGxvcmVyCmVuY291bnRlcnMgYSB3ZWIgcGFnZSB0aGF0IHVzZXMgSlNjcmlwdCBzY3JpcHQgdG8gaW52b2tlIHRoZSBXaW5kb3cuRXh0ZXJuYWwKZnVuY3Rpb24gd2l0aCBhIHZlcnkgbG9uZyBzdHJpbmcsIEludGVybmV0IEV4cGxvcmVyIGNvdWxkIHRlcm1pbmF0ZS4KCkxvbmcgc3RyaW5ncyBkbyBub3Qgbm9ybWFsbHkgb2NjdXIgaW4gc2NyaXB0cyBhbmQgbXVzdCBiZSBpbnRlbnRpb25hbGx5CmNyZWF0ZWQgYnkgc29tZW9uZSB3aXRoIG1hbGljaW91cyBpbnRlbnQuIEEgc2tpbGxlZCBoYWNrZXIgY291bGQgdXNlIHRoaXMKbWFsaWNpb3VzIHNjcmlwdCBtZXNzYWdlIHRvIHJ1biBhcmJpdHJhcnkgY29tcHV0ZXIgY29kZSBjb250YWluZWQgaW4gdGhlCmxvbmcgc3RyaW5nLgoKSW4gb3JkZXIgZm9yIHVzZXJzIHRvIGJlIGFmZmVjdGVkIGJ5IHRoaXMgcHJvYmxlbSwgdGhleSBtdXN0IHZpc2l0IGEgd2ViCnNpdGUgdGhhdCB3YXMgaW50ZW50aW9uYWxseSBkZXNpZ25lZCB0byBpbmNsdWRlIGEgbWFsaWNpb3VzIHNjcmlwdC4gU2VlIHRoZQoiQWRtaW5pc3RyYXRpdmUgV29ya2Fyb3VuZCIgc2VjdGlvbiBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KClRoZXJlIGhhdmUgbm90IGJlZW4gYW55IHJlcG9ydHMgb2YgY3VzdG9tZXJzIGJlaW5nIGFmZmVjdGVkIGJ5IHRoaXMgcHJvYmxlbS4KCkFmZmVjdGVkIFNvZnR3YXJlIFZlcnNpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBmb2xsb3dpbmcgc29mdHdhcmUgaXMgYWZmZWN0ZWQgYnkgdGhpcyB2dWxuZXJhYmlsaXR5OgogLSBNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIgNC4wLCA0LjAxLCA0LjAxIFNQMSBvbiBXaW5kb3dzIDk1CiAgIGFuZCBXaW5kb3dzIE5UIDQuMAogLSBNaWNyb3NvZnQgV2luZG93cyA5OAoKSW50ZXJuZXQgRXhwbG9yZXIgNCBmb3IgV2luZG93cyAzLjEsIFdpbmRvd3MgTlQgMy41MSwgTWFjaW50b3NoIGFuZCBVTklYCihTb2xhcmlzKSBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgcHJvYmxlbS4gSW50ZXJuZXQgRXhwbG9yZXIgMy54IGlzIG5vdAphZmZlY3RlZCBieSB0aGlzIHByb2JsZW0uCgpbLi5dCgpNb3JlIEluZm9ybWF0aW9uCj09PT09PT09PT09PT09PT0KUGxlYXNlIHNlZSB0aGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGlzCmlzc3VlLgogLSBNaWNyb3NvZnQgU2VjdXJpdHkgQnVsbGV0aW4gTVM5OC0wMTEsIFVwZGF0ZSBhdmFpbGFibGUgZm9yCiAgICJXaW5kb3cuRXh0ZXJuYWwiIEpTY3JpcHQgVnVsbmVyYWJpbGl0eSBpbiBNaWNyb3NvZnQgSW50ZXJuZXQKICAgRXhwbG9yZXIgNCwodGhlIFdlYiBwb3N0ZWQgdmVyc2lvbiBvZiB0aGlzIGJ1bGxldGluKSwKICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3NlY3VyaXR5L2J1bGxldGlucy9tczk4LTAxMS5odG0KIC0gTWljcm9zb2Z0IEtub3dsZWRnZSBCYXNlIChLQikgYXJ0aWNsZSBRMTkxMjAwLCBVcGRhdGUgZm9yCiAgICJXaW5kb3cuRXh0ZXJuYWwiIEpTY3JpcHQgSXNzdWUsCiAgIGh0dHA6Ly9zdXBwb3J0Lm1pY3Jvc29mdC5jb20vc3VwcG9ydC9rYi9hcnRpY2xlcy9xMTkxLzIvMDAuYXNwCiAtIE1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciBTZWN1cml0eSBCdWxsZXRpbiwgVXBkYXRlIGF2YWlsYWJsZSBmb3IKICAgIldpbmRvdy5FeHRlcm5hbCIgSlNjcmlwdCBzZWN1cml0eSBpc3N1ZSwKICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2llL3NlY3VyaXR5L2pzY3JpcHQuaHRtCiAtIFdpbmRvd3MgVXBkYXRlIFNpdGUsIGh0dHA6Ly93aW5kb3dzdXBkYXRlLm1pY3Jvc29mdC5jb20KIC0gTWljcm9zb2Z0IFNjcmlwdGluZyBUZWNobm9sb2dpZXMgd2ViIHNpdGUsCiAgIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vc2NyaXB0aW5nCk1vcmUgSW5mb3JtYXRpb24KPT09PT09PT09PT09PT09PQpQbGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgcmVmZXJlbmNlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoaXMKaXNzdWUuCiAtIE1pY3Jvc29mdCBTZWN1cml0eSBCdWxsZXRpbiBNUzk4LTAxMSwgVXBkYXRlIGF2YWlsYWJsZSBmb3IKICAgIldpbmRvdy5FeHRlcm5hbCIgSlNjcmlwdCBWdWxuZXJhYmlsaXR5IGluIE1pY3Jvc29mdCBJbnRlcm5ldAogICBFeHBsb3JlciA0LCh0aGUgV2ViIHBvc3RlZCB2ZXJzaW9uIG9mIHRoaXMgYnVsbGV0aW4pLAogICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vc2VjdXJpdHkvYnVsbGV0aW5zL21zOTgtMDExLmh0bQogLSBNaWNyb3NvZnQgS25vd2xlZGdlIEJhc2UgKEtCKSBhcnRpY2xlIFExOTEyMDAsIFVwZGF0ZSBmb3IKICAgIldpbmRvdy5FeHRlcm5hbCIgSlNjcmlwdCBJc3N1ZSwKICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9zdXBwb3J0L2tiL2FydGljbGVzL3ExOTEvMi8wMC5hc3AKIC0gTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIFNlY3VyaXR5IEJ1bGxldGluLCBVcGRhdGUgYXZhaWxhYmxlIGZvcgogICAiV2luZG93LkV4dGVybmFsIiBKU2NyaXB0IHNlY3VyaXR5IGlzc3VlLAogICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vaWUvc2VjdXJpdHkvanNjcmlwdC5odG0KIC0gV2luZG93cyBVcGRhdGUgU2l0ZSwgaHR0cDovL3dpbmRvd3N1cGRhdGUubWljcm9zb2Z0LmNvbQogLSBNaWNyb3NvZnQgU2NyaXB0aW5nIFRlY2hub2xvZ2llcyB3ZWIgc2l0ZSwKICAgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9zY3JpcHRpbmcKCi0tLS0tCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExvZXNjaHQgYWxsZSBNU0lFIDQueCEgKENhdHdlYXpsZSwgMjEuIEF1ZyAxOTk4LCAxMjowMjoxNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTAzNjkzNzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAzNjkzNzAzClNvcnJ5LCBjb3VsZG4ndCByZXNpc3QgOikKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExvZXNjaHQgYWxsZSBNU0lFIDQueCEgKFNvbmdva3UsIDIxLiBBdWcgMTk5OCwgMTI6MDM6MTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwMzY5MzczNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwMzY5MzcwMwpXYXJ1bSBsb2VzY2hlbj8/IERhcyBiZW51dHp0IGRvY2ggZWgga2VpbmVyIChhdWYgamVkZW4gZmFsbCBrZWluZXIgbWl0IG5lbSBpcQpob2VoZXIgYWxzIDk4IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwYXNzd29lcnRlciEgKEx1ZywgMjIuIEF1ZyAxOTk4LCAwMjowMDozNCk6Cn4jISBybj1LZXkgcnQ9OTAzMzcyMTk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTAyODMxNzIwCkFlaCBLZXk/CgpTaWVodCBzbyBhdXMsIGpldHp0IHNpbmQgd2llZGVyIGFsbGUgZGVwcmltaWVydC4uLgoKSGFlIGhhZWgKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYW1idXJnZXIgRWJlbmUgKE1vemFydCwgMjMuIEF1ZyAxOTk4LCAwNTo0NTo1MCk6CkhhbGxvIGxpZWJlIExldXRlLAppY2ggaGFiZSBtaXIgaGV1dGUgbWFsIGVybGF1YnQgZWluZSBIYW1idXJnZXIgRWJlbmUgbWl0IGRlbSBOYW1lbiwgd2VyIGhhZXR0ZQplcyBzaWNoIGpldHp0IGdlZGFjaHQsIEhhbWJ1cmcgenUga3JlaXJlbi4gCkljaCB3ZWlzcyBuaWNodCB3aWUgZXMgYW5kZXJlbiAiTmV3YmllcyIgc28gZ2VodCwgYWJlciBpY2ggZnVlaGxlIG1pY2ggaGllcgptb21lbnRhbiBub2NoIHppZW1saWNoIHVlYmVyZm9yZGVydCwgbmljaHQgenVsZXR6dCB3ZWlsIGRpZSBPZmZsaW5lIERva3UgYXVjaApuaWNodCBtZWhyIGF1ZiBkZW0gbmV1ZXN0ZW4gU3RhbmQgaXN0LgpWb24gZGFoZXIgaGFldHRlIGljaCBnZXJuZSBLb250YWt0IHp1IExldXRlbiBhdXMgSGFtYnVyZyB1bmQgVW1nZWJ1bmcgendlY2tzCkVyZmFocnVuZ3NhdXN0YXVzY2guCkphLCBkYW5uIGhvZmZlIGljaCBkYXMgaWNoIG1hbCBlaW4gcGFhciBOb3JkbGljaHRlciBzZWhlbiB3ZXJkZSB1bmQgdmVyYmxlaWJlCmVyc3RtYWwgbWl0IGVpbmVtIGtyYWVmdGlnZW4gTW9pbi4KCkdydXNzLApNb3phcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCld1ZXJmZWwgKEZyYW56LCAyNi4gQXVnIDE5OTgsIDE1OjIwOjEyKToKV2VocmVuZCBkZW0gQ2FtcGllcmVuIGhhdHRlIG1hbCBNYXJzIChzbyB2aWVsIGljaCBub2NoIHdlaXNzKSBzbyBuIGNvb2xlbgpXdWVyZmVsIGRhYmVpLi4uIFVuZCBqZXR6dCBkaWUgRnJhZ2U6IGhhdCB3ZXIgbmUgZG9rdSB3aWUgc28gZWluIERpbmcgenUKbG9lc2VuIGlzdCA/IElyZ2VuZHdlciBoYXQgdmVyc3Byb2NoZW4gbWlyIGRhcyB6dSBtYWlsZW4gYWJlciBpY2ggaGFiZSBrZWluZQpBaG51bmcgbWVociB3ZXIgZGFzIHdhci4uLiBldiBNb3JnYXIgPyBuYSBqYSBhdWYgamVkZW4gZmFsbCB3YWVyZSBpY2ggZnJvaAppaHIgd3VlcmRldCBtaXIgd2FzIHNjaGlja2VuLi4uIGZyYW56QHdlYmRyZWFtLmNoIG9kZXIgaW50ZXJuIDotKQpFbmpveSBGcmFueiAhIC0ga2FubiBqZWRlciBaZWl0IGF1ZmhvZXJlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXdWVyZmVsIChNYXJjdXMsIDI3LiBBdWcgMTk5OCwgMDE6Mjk6MTUpOgp+IyEgcm49RnJhbnogcnQ9OTA0MTM3NjEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA0MTM3NjEyCjN4M3gzLCA0eDR4NCBvZGVyIDV4NXg1ICAKPwoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV3VlcmZlbCAoVHJhbmNlZmVhciwgMjcuIEF1ZyAxOTk4LCAwMTozMjo1Mik6Cn4jISBybj1GcmFueiBydD05MDQxMzc2MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDQxMzc2MTIKV2F0dGVuLi4uIGV0d2EgbmVuIFphdWJlcnd1ZXJmZWw/PyBEYXNzZXMgZGllIG5vY2ggZ2lidC4uLiBXYWhuc2lubiA6LSkgYW5mYW5nCmRlciA4MGVyIHdhciBkYXMgd2llIGVpbiBGaWViZXIsIGplZGVyIGhhdHRlIG1pbmQuIGVpbmVuIGRhdm9uIHVuZCBlcyBnYWIKTGV1dGUgbWl0IGd1dCBnZXNjaG1pZXJ0ZW4gJ1Jlbm53dWVyZmVsbicgZGllIGRlbiBpbiBNaW51dGVuICdhdWZsb2VzZW4nCmtvbm50ZW4uLi4gamFqYS4uLiAKCnRmIChub3N0YWxnaXNjaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV3VlcmZlbCAoRnJhbnosIDI3LiBBdWcgMTk5OCwgMTI6MjE6MTUpOgp+IyEgcm49TWFyY3VzIHJ0PTkwNDE3NDE1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNDEzNzYxMgpkYXMgZ2lidHMgPyBpY2ggZGFjaHRlIGVpZ2VudGxpY2ggenVlcnN0IGFuIGRlbiBzdGFuZGFydCB3dWVyZmVsIC4uLiAzeDN4MyAuLi4KOi0pIGFiZXIgd2VubiBkdSBkZW4gcmVzdCBhdWNoIGhhc3QgbnVyIGhlciBtaXQgZGVyIGRva3UgOi0pCkVuam95IEZyYW56ISAtIG5pY2h0IHN1ZWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFd1ZXJmZWwgKFR1bml4Z3V0LCAyNy4gQXVnIDE5OTgsIDE1OjMwOjA2KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTA0MTc0MzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA0MTM3NjEyCk1pbnV0ZW4gaXMgZ3V0LCBpY2ggc2NoYWV0emUsIGRpZSBMZXV0ZSwgZGllIGRhcyBkcmF1ZmhhYmVuLCBtYWNoZW4gZGFzIGluCnVudGVyIGVpbmVyLi4uCidzIEthcmF0ZS16d2VyY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV3VlcmZlbCAoWmFybml5YSwgMjcuIEF1ZyAxOTk4LCAxNzoxNDoxMik6Cn4jISBybj1UdW5peGd1dCBydD05MDQyMjQ2MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDQxMzc2MTIKZXMgZ2lidCBuY2lodCBudXIgNCo0KjQsIHNvbmRlcm4gYXVjaCBpbmVpbmFuZGVyIHZlcnNjaGFjaHRlbHRlIHd1ZXJmZWwsIGFsc28KekIgMiB3dWVyZmVsIDMqMyozIG1pdCBnZW1laW5zYW1lciBLYW50ZS4uLiBhdXNzZXJkZW0gaGFiIGljaCBkaWUgRGluZ2VyIGF1Y2gKc2Nob24gYWxzIEt1Z2VsIGdlc2VoZW4uIDopCgpHaWJiZXQgYXVjaCBpbSBNRy4uLiBUcm95cyBTZWhlcnF1ZXN0IGhhdCBuZW4gMyozKjMgV3VlcmZlbCxkIGVuIG1hbiBsb2VzZW4KbXVzcy4uLiAKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFd1ZXJmZWwgKE1hcmN1cywgIDEuIFNlcCAxOTk4LCAyMTowNzoyMCk6Cn4jISBybj1GcmFueiBydD05MDQyMTMyNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDQxMzc2MTIKNXg1eDUgLSBoYWIgaWNoIGxlaWRlciBuaWNodC4gCjR4NHg0IC0ga2FubiBtYW4gZ3JvZXNzdGVudGVpbHMgYXVzIDN4M3gzIGFibGVpdGVuLCBlaW4gcGFhciB6dWdmb2xnZW4gbXVzcwogICAgICAgIG1hbiBzZWxiZXIgZXJmaW5kZW4uIFNjaGFmZmUgaWNoIGJpcyBldnQuIGF1ZiBlaW5lIGdla2lwcHRlIEthbnRlCiAgICAgICAgenUgbG9lc2VuIDspCiAgICAgICAgRnVlciA0eDR4NCBoYWIgaWNoIG5lIEJlc2NocmVpYnVuZyBnZWZ1bmRlbiwgZGllIGlzdCBtaXVyIGFiZXIgenUKY29uZnVzIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFd1ZXJmZWwgKFBhdHJ5biwgIDIuIFNlcCAxOTk4LCAwOTo0Mjo0Mik6Cn4jISBybj1GcmFueiBydD05MDQyMTMyNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDQxMzc2MTIKaWNoIGhhYiBuZW4gZ2FuemVzIGJ1Y2hnIHVlYmVyIGRhcyB0ZWlsLCBtaXQgbWF0aGVtYXRpc2NoZXIgYWJoYW5kbHVuZwp1bmQgc28gd2VpdGVyLi4uLmxhZXNzdCBzaWNoIG51ciBzY2h3ZXIgbWFpbGVuIDopCmVzIGlzdCB6dW1pbmRlc3QgZXJzdGF1bmxpY2gsIHdhcyBtYW5taXQgZGVtIHRlaWwgc28gYWxsZXMgYW5zdGVsbGVuCmthbm4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXdWVyZmVsIChOb25uZSwgIDIuIFNlcCAxOTk4LCAxMjowNjoxNik6Cn4jISBybj1QYXRyeW4gcnQ9OTA0NzIyMTYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA0MTM3NjEyCkRlciA1ZXIgd3VlcmZlbCBsYWVzc3Qgc2ljaCBub2NoIGVpbmZhY2hlciBhYmxlaXRlbiwgYWxzIGRlciA0ZXIuIERlciAzZXIgdW5kCjVlciBoYWJlbiBuYWVtbGljaCBtZWhyIGdlbWVpbnNhbWtlaXRlbi4gZGllIHVuZ2VyYWRlIGFuemFobCB6LkIuIFdlbm4gbWFuIGRlbgo0ZXIgYWJsZWl0ZW4ga2Fubiwgc29sbHRlIGRhcyBmdWVyIGRlbiA1ZXIga2VpbiBQcm9iIHNlaW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkR1ZGVsc2Fja3NwaWVsZXIgaW4gUkwgPyAoR3JvbywgIDIuIFNlcCAxOTk4LCAxODowOToxMSk6CkhpLApnaWJ0cyBqZW1hbmRlbiBkZXIgRHVkZWxzYWNrIHNwaWVsZW4ga2FubiBpbiBSTCA/CkljaCBicmF1Y2ggdW5iZWRpbmd0IG5vY2ggZWluIHBhYXIgU3R1bmRlbiwgdW0gd2llZGVyIEZpdCB6dSB3ZXJkZW4KQml0dGUgbWFpbCBhbiBtaWNoClRoYW54cwoKR3JvbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IER1ZGVsc2Fja3NwaWVsZXIgaW4gUkwgPyAoTHVnLCAgNS4gU2VwIDE5OTgsIDA1OjA1OjE3KToKfiMhIHJuPUdyb28gcnQ9OTA0NzUyNTUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA0NzUyNTUxCkljaCBrb2VubnRlIERpciBqZW1hbmRlbiB2ZXJtaXR0ZWxuIHdlbm4gZXMgc2VpbiBtdXNzcywgYWJlciBkZXIga2FubiBrZWluZQpDZW9sIE1vcgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1hZ2lzY2hlIHNjaHdlaW5lID8/IChLYWRhYnJhLCAgNy4gU2VwIDE5OTgsIDA1OjI5OjU4KToKfiMhIG9uPUthZGFicmEgb3Q9OTA1MTM4NzM4IG9nPXRyZWZmZW4KPiBEdSBoYXN0IGpldHp0IDIxOCBMZWJlbnNwdW5rdGUgdW5kIDE4NCBLb256ZW50cmF0aW9uc3B1bmt0ZS4KRGllIFdpbGRzYXUgZ3J1bnp0IERpY2ggYW4uCkRlaW5lIEhhYXJlIGZhbGxlbiBhdXMuCkRpZSBXaWxkc2F1IGdydW56dCBEaWNoIGFuLgpEdSBoYXN0IGpldHp0IDIxOCBMZWJlbnNwdW5rdGUgdW5kIDE4NSBLb256ZW50cmF0aW9uc3B1bmt0ZS4KRGllIFdpbGRzYXUgcmVpYnQgaWhyZW4gYm9yc3RpZ2VuIFJ1ZWNrZW4gYW4gZWluZW0gQmF1bXN0YW1tLgpEaWUgV2lsZHNhdSBzdWNodCBpbSBCb2RlbiBuYWNoIFd1cnplbG4gdW5kIFRydWVmZmVsbi4KRGVyIFNjaGltbWVyLCBkZXIgRGljaCB1bWdpYnQsIHZlcmJsYXNzdC4KRHUgaGFzdCBqZXR6dCAyMTggTGViZW5zcHVua3RlIHVuZCAxODYgS29uemVudHJhdGlvbnNwdW5rdGUuCkRpZSBXaWxkc2F1IHJlaWJ0IGlocmVuIGJvcnN0aWdlbiBSdWVja2VuIGFuIGVpbmVtIEJhdW1zdGFtbS4KRHUgaGFzdCBqZXR6dCAyMTggTGViZW5zcHVua3RlIHVuZCAxODcgS29uemVudHJhdGlvbnNwdW5rdGUuCkRpZSBXaWxkc2F1IGdydW56dCBEaWNoIGFuLgogTEFDSCBrYWRhYnJhIDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuIGp1YW4gKFllbmRpLCAgOC4gU2VwIDE5OTgsIDE1OjQyOjU0KToKfiMhIHJuPVNpZ3VyYSBydD05MDUxNjYwMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDUxNjYwMzUKU2FnIGJsb3NzLCBkYXNzIER1IFNlaGVyIGdld29yZGVuIGJpc3QsIG9obmUgamVtYWxzIGRpZXNlIE1lbGR1bmcgZXJoYWx0ZW4genUKaGFiZW4uLi4gCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0NSSVBUPyE/IChQaHlnb3MsIDEwLiBTZXAgMTk5OCwgMTM6Mzk6MjgpOgpLbGVpbmUgdW5nZW1laW4gZXJoZWl0ZXJuZGUgRnJhZ2UuCk5hY2ggbmV1c3RlbiBBdXNrfG5mdGVuIGlzdCBhbHNvIGRhcyBhdXN8YmVuIHZvbiBrZWluZW4gQWt0aW9uZW4gZWluIFNjcmlwdC4KQnp3LiBkYXMgSGVydW1zdGVoZW4gYW4gT3J0ZW4gbWl0IEF1dG9hdHRhY2stTlBDIGlzdCBha3RpdmVzIHNjcmlwdGVuLgpJc3QgZGFzIGtvcnJla3Qgc28gPyBFZ2FsIG9iIGFud2VzZW5kIG9kZXIgbmljaHQuIGRlbW5hY2ggaXN0IGthcmF0ZSBlZ2FsIHp1CndlbGNoZW0gemVpdHB1bmt0IG5hZW1saWNoIHNjcmlwdGVuICwgZGVuICB3YXMgYW5kZXJlcyBtYWNodCBkZXIgS2FyYXRla2EgamEKbmljaHQuIEVyIGdlaHQgenUgbmVtIE5QQyAgZnJpZWRsaWNoIG9kZXIgYWdyZXNzaXYgICB1bmQgbGFlc3Qgc2ljaCB2ZXJoYXVlbi4gCmRhYmVpIHVudGVyc2NoZWlkZXQgc2ljaCBkaWUgQXVzdWVidW5nIGRlcyBLYXJhdGV1ZWJlbnMgZHVyY2ggbmljaHRzLgp3ZW5uIGRvY2gsIGZyYWdlIGljaCB3YXJ1bSBkYXJmIGljaCBuaWNodCBhbiBlaW5lbSBvcnQgc3RlaGVuIHdvCmF1dG9hdHRhY2ttb25zdGVyIHNpbmQgd2FyZW4gdW5kIHdpZWRlciBhdWZ0YXVjaGVuIHdlcmRlbi4gIGljaCBtYWNoZSBuYWVtbGljaApuaWNodHMgYW5kZXJlcywgYWxzIHdlbm4gaWNoIHZvciBkZW0gUmVjaG5lciBzaXR6ZSB1bmQgZGFiZWkgenVzZWhlLiAKSGlud2VpczogZGFiZWkgd2lyZCBuaWNodCBuYWNoZ2V0YW5rdCAga2VpbiBlaW56aWdlciB3ZWl0ZXJlIGJlZmVobCBpbnMgTUcKZ2VzZW5kZXQgb2RlciBhdWNoIG51ciBlaW4gcHVwcyBnZWxhc3Nlbi4gIGluIGJlaWRlbiBmYWVsbGVuIHN0ZWhlIGljaCBhbHMKa2FyYXRla2EgaGVydW0gICBTVEVIRU4gdW5kIFpVU0VIRU4gIAogd2VubiBkYXMgYWxzbyBzY3JpcHRlbiBpc3QgZGFubiBzY2hyZWlidCBkYXMgYXVjaCB1bnRlciBIaWxmZSBTY3JpcHQgcmVpbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU0NSSVBUPyE/IChCb2luZywgMTAuIFNlcCAxOTk4LCAxNDowMzozNSk6Cn4jISBybj1QaHlnb3MgcnQ9OTA1NDI3NTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CkR1IGhhc3QgZGFzIHdvaGwgZmFsc2NoIHZlcnN0YW5kZW4gLi4uIEFud2VzZW5oZWl0IGlzdCBkZXIgc3ByaW5nZW5kZQpQdW5rdCEgRHUga2FubnN0IDEwIFN0dW5kZW4gYmVpIGlyZ2VuZHdlbGNoZW4gYWdncmVzc2l2ZW4gTW9uc3Rlcm4KcnVtc3RlaGVuIHNvbGFuZ2UgRHUgYW5zcHJlY2hiYXIgYmlzdC4gV2VubiBuaWNodCwgbXVzc3QgRHUgRGljaCBhdWNoCm5pY2h0IHd1bmRlcm4sIHdlbm4gdW52b3JoZXJnZXNlaGVuZSBEaW5nZSBwYXNzaWVyZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjcmlwdCAgKFBoeWdvcywgMTAuIFNlcCAxOTk4LCAxNDoxMToxMCk6CndpZSB6LmJzcCAgdmVyYWVuZGVydGUgZmx1Y2h0cmljaHR1bmcgPSBrZWluZSBvZGVyIHZlcmFlbmRlcnRlIHZvcnNpY2h0ID0gMApvZGVyIHZlcmFlbmRlcnRlIHJhdW1hdXNnYWVuZ2UgPSBrZWluZSBvZGVyIHdpZSB2ZXJhZW5kZXJ0ZSBiZWZhZWhsZSAwIHp3aW5nZQp6dSBsZWdlIGFsbGVzIGFiID8gIGVocmxpY2ggZ2VzYWd0IG1pY2ggd3VuZGVydCBzY2hvbiBsYW5nZSBuaXggbXdoZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNjcmlwdCAgKE1hcmN1cywgMTAuIFNlcCAxOTk4LCAyMDowMDoxMCk6Cn4jISBybj1QaHlnb3MgcnQ9OTA1NDI5NDcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI5NDcwCm9jaCBuZWluLCB6d2VpIHJlc2V0cyBpbm5lcmhhbGIgdm9uIDUgbWludXRlbiwgb2RlciBmZWhsZXJoYWZ0ZSByZXNldHMsIHNvCmRhc3MgcGxvZXR6bGljaCB6d2VpIG1vbnN0ZXIgZGEgc2luZC4uLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNjcmlwdCAgKFBhcmFjZWxzdXMsIDEwLiBTZXAgMTk5OCwgMjE6MTA6MjEpOgp+IyEgcm49TWFyY3VzIHJ0PTkwNTQ1MDQxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyOTQ3MApPZGVyIE1vbnN0ZXIsIGRpZSBwbG9ldHpsaWNoIHdlc2VudGxpY2ggc3RhZXJrZXIgc2luZCBhbHMgbm9ybWFsLgoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0NSSVBUPyE/IChKYXNwZXIsIDExLiBTZXAgMTk5OCwgMTQ6NDA6MTApOgp+IyEgcm49Qm9pbmcgcnQ9OTA1NDI5MDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CnNlaXQgd2FubiBkYXJmIG1hbiBuaWNodCBpZGxlbiwgb2huZSBzdGFlbmRpZyBhbSBiaWxkc2NoaXJtIHp1IGhvY2tlbj8/PwoKSmFzcGVyLCB3dW5kZXJ0IHNpY2ggbnVuIGFiZXIgZG9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc2NyaXB0ICAoSmFzcGVyLCAxMS4gU2VwIDE5OTgsIDE0OjQxOjMwKToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTA1NDU0NjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI5NDcwCnZpZWxsZWljaHQgc29sbHRlbiBlaW5pZ2UgbWFnaWVyIG5vY2htYWwgaWhyZW4gbWFnaWVydmVydHJhZyBsZXNlbiwKb2RlciBkYXJmIG1hbiBudW4genVyIGVpZ2VuZW4gZXJoZWl0ZXJ1bmcgYmVsaWViaWcgc3RhdHMgZGVyIG1vbnN0ZXIKYW5oZWJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNjcmlwdCAgKEJvdHRvbSwgMTEuIFNlcCAxOTk4LCAxNjoxNTozMCk6Cn4jISBybj1KYXNwZXIgcnQ9OTA1NTE3NjkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI5NDcwCgpKYSwgbWFuIGRhcmYhIFZpZWxtZWhyIG5vY2gsIG1hbiBtdXNzIHNvZ2FyIC0gd28ga2FlbWVuIHdpciBkZW5uIGhpbiwgd2VubiBkaWUKU3BpZWxlciBqZXR6dCBzY2hvbiBpbiBQYXJhZHJha29uaWVuIGlkbGVuLCBhZWguLi5zY3JpcHRlbiEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTQ1JJUFQ/IT8gKFBhcmFjZWxzdXMsIDExLiBTZXAgMTk5OCwgMjE6MDg6MjgpOgp+IyEgcm49SmFzcGVyIHJ0PTkwNTUxNzYxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApOYXR1ZXJsaWNoIGRhcmZzdCBEdSBiZWxpZWJpZyBsYW5nZSBpZGVsbiwgb2huZSBkYWJlaSBhbSBCaWxkc2NoaXJtIHp1CnNpdHplbi4gU29sYW5nZSBEdSBhbiBlaW5lbSBPcnQgaWRlbHN0LCBhbiBkZW0ga2VpbmUgYWdncmVzc2l2ZW4gTW9uc3RlcgplbnRzdGVoZW4vdm9yYmVpa29tbWVuLgpXZW5uIER1IGFiZXIgYW4gZWluZW0gT3J0IGlkZWxzdCwgYW4gZGVtIGFnZ3Jlc3NpdmUgTW9uc3RlciBlbnRzdGVoZW4vCnZvcmJlaWtvbW1lbiwgZGFubiB6YWVobHQgZGFzIGFscyBTa3JpcHRlbiwgdW5kIGRhbm4gbXVzc3QgRHUgbmF0dWVybGljaAphdWNoIHZvciBkZW0gQmlsZHNjaGlybSBzaXR6ZW4sIGRhbWl0IGRhcyBlcmxhdWJ0IGlzdC4KClBhcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTQ1JJUFQ/IT8gKEFuYXRvbCwgMTEuIFNlcCAxOTk4LCAyMTowOTo0NSk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTkwNTU0MDkwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApPY2gsIHNvYmFsZCBlaW4gdW52b3JzaWNodGlnZXIgRXJ6bWFnaWVyIGluZGlyZWt0ZSBQbGF5ZXJraWxscyAoei5CLiBkZXIKRG9ubmVyc2VnZW4pIG9lZmZlbnRsaWNoIHRvbGVyaWVydCwgbG9lc3Qgc2ljaCBkYXMgUHJvYmxlbSB3aWUgdm9uIHNlbGJzdCwKd2V0dGVuLi4uPwoKQW5hdG9sLCBnbGF1YnQgYW4gZGllIEdlbWVpbmhlaXQgc2VpbmVyIE1pdG1lbnNjaGVuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU0NSSVBUPyE/IChNdWFkZGliLCAxMS4gU2VwIDE5OTgsIDIyOjI3OjI2KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTA1NTQwOTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CkhtbSwKCmFsc28sIFBhcmEsIERlaW4gQXJ0aWtlbCBoYXQgZ2VyYWRlIGF1c2dlc2FndCwgZGFzcyBTY3JpcHRzIGVybGF1YnQgc2luZCwKc29sYW5nIG1hbiBoYWx0IHZvciBkZW0gQ29tcHV0ZXIgc2l0enQuIE5pY2h0IHdpcmtsaWNoIGRpZSBvcHRpbWFsZSBBdXNzYWdlCmJlaSBkZXIgU2NyaXB0LVBvbGljeSwgb2Rlcj8KCmxnLApNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNDUklQVD8hPyAoTW90b2tvLCAxMS4gU2VwIDE5OTgsIDIyOjMwOjQwKToKfiMhIHJuPU11YWRkaWIgcnQ9OTA1NTQ1NjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CkhpLgoKQWxzbyB3byBpY2ggZGFzIGhpZXIgbGVzZSBmcmFnZSBpY2ggbWljaCwgb2IgZGVubiBrZWluZXIgbWFsICdoaWxmZSBzY3JpcHRlJwpsaWVzdC4KCk1vdG9rby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNDUklQVD8hPyAoU2FsYWRpbiwgMTIuIFNlcCAxOTk4LCAxODoyOTowOCk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTkwNTU0MDkwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApIaWVyIHN0ZWxsdCBzaWNoIGRpZSBGcmFnZSBkZXIgQXVzbGVndW5nOiBlaW4gQWdncmVzc2l2ZXMgTW9uc3RlciBjbG9uZW4KdW5kIG5lYmVuIGVpbmVuIFNwaWVsZXIgaGluc3RlbGxlbiBnaWx0IGRhbm4gYXVjaCBhbHMgU2NyaXB0ZW4/ClVtIEtsYWVydW5nIGJlbXVlaHQsCgpTYWxhZGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTQ1JJUFQ/IT8gKFRyYW5jZWZlYXIsIDEyLiBTZXAgMTk5OCwgMTg6MzA6MTcpOgp+IyEgcm49U2FsYWRpbiBydD05MDU2MTc3NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKTmVpbi4gRGFzIGlzdCBqYSBrZWluZSBBYnNpY2h0IHZvbiBTZWl0ZW4gZGVzIFNwaWVsZXJzLCB3ZW5uLCBqYSB3ZW5uIGFuIGRlcgpTdGVsbGUgc29uc3QgZ2Fybml4IHN0ZWh0LgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNDUklQVD8hPyAoWmFybml5YSwgMTIuIFNlcCAxOTk4LCAxODozMjo1MCk6Cn4jISBybj1TYWxhZGluIHJ0PTkwNTYxNzc0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OAp3ZW5uIGVpbiBNYWdpZXIgZXMgd2FnZW4gc29sbHRlLCBlaW5lbSBpZGxlbmRlbiBTcGllbGVyIGVpbiBhZ2dyZXNzaXZlcwpNb25zdGVyIGluIGRlbiBSYXVtIHp1IGNsb25lbiwgZGFubiBpc3QgZGFzIGVpbiBlaW5kZXV0aWdlciBWZXJzdG9zcyBnZWdlbiBkZW4KTWFnaWVydmVydHJhZyB1bmQgYmxlaWJ0IGZ1ZXIgZGVuIFNwaWVsZXIgb2huZSBGb2xnZW4uLiBkZXIgTWFnaWVyIHNvbGx0ZSBzaWNoCmFiZXIgZWluIG5ldWVzIE11ZCBzdWNoZW4sIGRlbm4gc28gZWluZW4gd3VlcmQgaWNoIGFscyBTaGVyaWZmL0dvdHQgbG9lc2NoZW4KdW5kIGZ1ZXIgaW1tZXIgYmFubmVuLgoKWmFybml5YSwgaGF0IGhpZXIgenVtIEdsdWVjayBuaXggbWVociB6dSBzYWdlbi4KTWVpbiBHbHVlY2s/PyBOZWluLi4uIGV1ZXIgR2x1ZWNrIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIEJlc3RlIGF1cyBkZXIgTWF1cyAoS2V0b3MsIDEyLiBTZXAgMTk5OCwgMjE6MzA6MzgpOgpIYWxsbywgTWF1c3F1ZXN0ZXIuCgpIaWVyIGVpbmUgU2FtbWx1bmcgZGVyIGdlbHVuZ2Vuc3RlbiBBbnR3b3J0ZW4gYXVzIGRlciBRdWVzdCBtaXQgZGVyIE1hdXMuClNpZSBzaW5kIGVoIGZhc3QgYWxsZSBmYWxzY2ggOy0pCgpQSEFOVEFTSUU6CgpXZWxjaGUgZ2VvbWV0cmlzY2hlIEZvcm0gaGF0IE1vcmdlbmdyYXVlbj8KICBEYXMgTUcgaGF0IGtlaW5lIGdlb21ldHJpc2NoZSBGb3JtLCBkYXMgTUcgaXN0IHNvIHZpZWxmYWVsdGlnIHVuZAogIGVuZGVydCBzaWNoIGFuZGF1ZXJuZCBkYXNzIGRpZSBGb3JtIHNpY2ggbmljaHQgZmVzdGxlZ2VuIGxhZXNzdC47CiAgd3VlcmZlbDsKICBkb2Rla2FlZGVyOwogIGlzb2thZWRlcjsKICBoZXhhZ29uOwogIGR1cmNoZWluYW5kZXI7CiAgcm9tYnVzOwogIGZvcm1sb3M7CiAgU2Nod2VyIHp1IGJlc2NocmVpYmVuLiBFaW4gd3VjaGVybmRlcyBXb2xsa25hZXVlbD87CgpNRUlOVU5HRU46CgpXYXMgaXN0IGVpbiBBYmVudGV1ZXI/CiBFaW4gQWJlbnRldWVyIGlzdCBldHdhcyBnZWZhZWhybGljaGVzLCBhYmVudGV1ZXJsaWNoZXMuIEVpbmUgQXVmZ2FiZQogb2RlciBNaXNzaW9uIGtvZW5udGUgbWFuIGVzIGF1Y2ggbmVubmVuLiBFcyBtdXNzIGJlc3RhbmRlbiB3ZXJkZW4uOwoKIEVpbiBBYmVudGV1ZXIgb2RlciBhdWNoIFF1ZXN0IGdlbmFubnQgaXN0IGVpbmUgQW5oYWV1ZnVuZyBuZXJ2aWdlcgogRGluZ2UgZGllIGVpbiBhcm1lciBTcGllbGVyIHR1biBtdXNzIHVuZCBkaWUgc2ljaCBlaW4gTWFnaWVyCiBhdXNnZWRhY2h0IGhhdCB1bSBTcGllbGVyIHp1IG5lcnZlbiBhbnN0ZWxsZSBpaG5lbiBkaWUKIEFiZW5kdGV1ZXJwdW5rdGUgdW5kIEVyZmFocnVuZ3NwdW5rdGUgZ2xlaWNoIHNvIHp1IHNjaGVua2VuLjsKCktBUlJJRVJFOgoKV2llIHdpcmQgbWFuIE1hZ2llciBpbiBNb3JnZW5ncmF1ZW4/CiBJbmRlbSBtYW4gZWluZW4gTWFnaWVyIHNvbGFuZ2UgYmVxdWF0c2NodCAoYmVpIE1vcmdvdGggYnJhdWNodCBkYXMKIGFsbGVyZGluZ3MgaG9lY2hzdGVucyAyIHNlYy4pIGJpcyBkZXIgZWluZW4genVtIFNvaG4gb2RlciB6dXIgVG9jaHRlcgogbWFjaHQuIEZydWVoZXIgbXVzc3RlIG1hbiBkYXp1IGFsbGVyZGluZ3Mgbm9jaCBoaW50ZXIgTWVybGluIGhlcmphZ2VuCiB1bmQgaWhuIGZpbmRlbi4gU2VoZXIgc29sbHRlIG1hbiBzZWluLjsKCkdFQk9URToKCldhcyBpc3QgaW4gTW9yZ2VuZ3JhdWVuIGRlbiBTcGllbGVybiBzdHJlbmcgdmVyYm90ZW4/CiBFcyBpc3Qgc3BpZWxlcm4gdmVyYm90ZW4ga29tcGxldHRsb2VzdW5nZW4genUgdmVyd2VuZGVuIGVzIGlzdCBpaG5lbgogdmVyYm90ZW4gdHJpZ2dlciBvZGVyIHVudGVyc3VjaGUtc2NyaXB0cyB6dSBudXR6ZW4gdW5kIGFuZGVyZSBzcGllbGVyCiBkdWVyZmVuIHNpZSBhdWNoIG5pY2h0IGFuZ3JlaWZlbiBvZGVyIHRvZXRlbjsKIE1hZ2llciBhZXJnZXJuOwoKUkFURSBNQUw6CgpXbyBiZWdpbm50IGplZGVzIEFiZW50ZXVlciBpbiBNb3JnZW5ncmF1ZW4/CiBhbSBhbmZhbmcgdmllbGxlaWNodCA/IG9kZXIgYmVpIGVpbmVtIHN0YXJ0cHVua3QgPyBpbiBlaW5lbSByYXVtID87CiBpbiBnaWxkZSA/IG5laW4gLi4uIGJlaSBlaW5lbSBucGMgbWl0IGVpbmVtIGF1ZnRyYWcgb2RlciBlaW5lbQogcHJvYmxlbS4gdW5kIG5hdHVlcmxpY2ggYXVjaCBiZWkgcGVyc29uOwoKCkRFRklOSVRJT05FTiBJOgoKV2FzIGVudHNwcmljaHQgZWluZW0gJ0pvZic/CiBKb2YgaXN0IGVpbmVyIHVuc2VyZXIgR29ldHRlci4gRGVzd2VnZW4gd2FlcmUgZXR3YXMsIHdhcyBpaG0KIGVudHNwcmFlY2hlLCBlaW4gV2VzZW4gbWl0IGFlaG5saWNoZW4gb2RlciBnbGVpY2hlbiBoZXJhdXNyYWdlbmRlbgogRWlnZW5zY2hhZnRlbiwgYWxzIGRhIHdhZXJlbiB6dW0gQmVpc3BpZWwgZGFzIHN0dW5kZW5sYW5nZSBJZGxlbi4gV2FzCiBlaW4gSm9mIHNvbnN0IHNvIHR1dCwgd2Vpc3MgaWNoIGxlaWRlciBuaWNodC4gRGFzIGhlaXNzdC4uLmRhIHdhZXJlCiBub2NoIGVpbmUgc2VsdHNhbWUgTWFzY2hpbmUgaW4gZGVyIEluZmVybm9xdWVzdCwgdm9uIGRlciBtYW5jaGUKIGJlaGF1cHRlbiwgc2llIHNlaSBkZXIgd2FocmUgSm9mLjsKCkRFRklOSVRJT05FTiBJSToKCldhcyBpc3QgZWluIExhZz8KIExhZyB3YXIgenVsZXR6dCB2b3IgNTg3IFRhZ2VuIGVpbmdlbG9nZ3QuIEFiZXIgZGF2b24gbWFsIGFiZ2VzZWhlbjoKIHNvIG5lbm50IG1hbiBlcywgd2VubiBkZXIgTW9yZ2VuR3JhdWVuLVJlY2huZXIgdW50ZXIgZGVyIExhc3QgZGVyCiBTcGllbGVyYmVmZWhsZSB6dXNhbW1lbmJyaWNodCB1bmQgbnVyIG5vY2ggYWxsZSBwYWFyIFNla3VuZGVuIHZvbiBzaWNoCiBob2VyZW4gbGFlc3N0LjsKCiBIbW1tLi4ubWFuIGtvZW5udGUgZXMgYXVjaCBhbHMgZWluZSBleHRyZW1lIFZlcnpvZWdlcnVuZyBkZXMKIFNwaWVsZmx1c3NlcyBiZXplaWNobmVuLCBvZGVyIGFscyBiZWxpZWJ0ZSBFbnRzY2h1bGRpZ3VuZyBmdWVyIFRvZAogZHVyY2ggRHVtbWhlaXQuLi47CgogT2ggb2ggb2ggZ3JhdWVuaGFmdGVzIExhZyBpY2ggd2Vpc3MgYXVjaCBuaWNodCwgd2FzIGVpbiBsYWcgaXN0IGFiZXIKIER1IHdlaXNzdCBlcyBlaCBiZXNzZXIgdW5kIHdpcnN0IGVzIG1pciBzYWdlbiA6KTsKCiBadW0gZWluZW4gZWluIE1vbnN0ZXIuIFp1bSBhbmRlcmVuIGVpbmUgbWl0dW50ZXIgbGViZW5zZ2VmYWVocmxpY2hlCiBCZWhpbmRlcnVuZyBkZXMgZmx1ZXNzaWdlbiBTcGllbGFibGF1ZnMgZHVyY2ggenUgaG9oZSBCZWxhc3R1bmcgZGVzCiBNVUQtUmVjaG5lcnMgb2RlciBkZXIgTmV0emxlaXR1bmdlbi47CgogbGFhYWFhYWFhYWFhYWFuZ3NhbSBiZWZlaGxlIGhhYWFhYWFhYWFhYWVuZ2VuIDIwIG1hbCBzY2hhdSB1bnQgbml4CiBwYXNzaWVydDsKCkJFVFRFTEVJOgoKTmVubmUgbWluZGVzdGVucyA0IEdlZ2Vuc3RhZW5kZSwgZGllIFVuaXF1ZSBvZGVyIHphaGxlbm1hZXNzaWcgYmVncmVuenQgc2luZC4KIGljaCBiaW4gZG9jaCBudXIgZWluIGFybWVyIGtsZWluZXIgd3Vyc3RzZWhlciB1bmQgaGF0dGUgaW4gbWVpbmVtCiBnYW56ZW4gbGFuZ2VuIGxlYmVuIG5vY2gga2VpbiBlaW56aWdlcyBvYmpla3QsIGRhcyAidW5pcXVlIiB3YXIhOwoKRVJLRU5OVE5JUzoKCldhcyBpc3QgZWluIFNlaGVyPwogRWluZSBXdXJzdCwgZGllIGVzIGF1ZmdydW5kIHZvbiB2aWVsZW4gYWJlbnRldWVycHVua3RlbiwKIHN0dWZlbnB1bmt0ZW4gdW5kIGVyZmFocnVuZyBnZXNjaGFmZnQgaGF0LCBzaWNoIGRhcyByZWNodCB6dSBlcndlcmJlbiwKIGF1ZiBkZW0gc2VoZXJrYW5hbCB6dSBuZXJ2ZW47CgpMQUVTVEVSVU5HOgoKV2FzIHNpbmQgTWFnaWVyPwogRmF1bGUgU3BpZWxlciwgZGllIG1pdCBpaHJlciBaZWl0IG5peCBhbnp1ZmFuZ2VuIHdpc3NlbiB1bmQgaG9mZmVuCiBtaXQgaWhyZW0gTWFnaWVyendlaXRlIGluIGRlciBUb3BsaXN0ZSBob2VoZXIgenUga29tbWVuLjsKCiBFaWdlbnRsaWNoIHdhcmVuIHNpZSBqYSBtYWwgU2VoZXIgdW5kIHByb2dyYW1taWVyZW4gc29sbHRlbiBzaWUgYXVjaCwKIGFiZXIgZGllIHdlbmlnc3RlbiB0dW4gZXM7CgpBTkdSSUZGOgoKV2llIGhlaXNzdCBkZXIgdW5mYWVoaWdzdGUgTWFnaWVyIHZvbiBNb3JnZW5ncmF1ZW4/CiBEYXMga2FubiBudXIgZGllc2VyIGtvbWlzY2hlIE9iZXJiaWVyc2NodWV0dGxlciBuYW1lbnMgQmllbGVmZWxkCiBzZWluLiBJY2gga2VubiBpaG4genVmYWVsbGlnLi4uIDstKTsKIG1vcmdvdGg7CgpSQUNIRSBJOgoKV2VyIGlzdCBkZXIgZmllc2VzdGUgTWFnaWVyIHZvbiBNb3JnZW5ncmF1ZW4/CiBib2luZzsKIGpvZjsKIG1vcmdvdGg7CiBoYXRlOwoga2V0b3M7CiB6YXJkb3o7CltFaW5lIEluc2VsIHNwYWV0ZXIgLi4uXQogcGFyYWNlbHN1czsKIHBhdHJ5bjsKIHNlbW1lbDsKIHNoYWtlZGJlZXI7CiB3YXJnb247CgpSQUNIRSBJSToKCldlciBpc3QgZGVyIGZpZXNlc3RlIE1hZ2llciB2b24gTW9yZ2VuZ3JhdWVuPwogcGFkcmVpYzsKIG1vcmdvdGg7CiBhcm1hZ2VkZG9uOwoga2V0b3M7CiB0b2V0ZXI7CiB0b2V0ZXIgaXN0IGRlciBmaWVzZXN0ZSBtYWdpZXI7CltFaW5lIEluc2VsIHNwYWV0ZXIgLi4uXQogcGFkcmVpYzsKIHBhcmFjZWxzdXM7CiBwYXRyeW47CiB6YXJkb3M7CiB5YW50cm87CiBqZWRlciBtYWdpZXI7CltFaW5lIEluc2VsIHNwYWV0ZXIgLi4uXQogemFyZG96OwogaGF0ZTsKIHJ1bWF0YTsKIHRvZXRlcjsKIHBhdHJ5bjsKClVOV0lTU0VOSEVJVDoKCldpZSBoZWlzc2VuIGRpZSBiZWlkZW4gRmx1ZXNzZSBkaWUgZHVyY2ggZGllIEViZW5lIGZsaWVzc2VuPwogbmFibGE7CiBOYWJsYTsKIGZsdXNzOwogYXJnbDsKIHZlcmdpc3NlczsKIG5hZWNoc3RlIGZyYWdlOwoKVkVSWldFSUZMVU5HOgoKV2llIGhlaXNzdCBkZXIgTWVpc3RlciBkZXIgV29lbGZlIHVuZCB3byB3b2hudCBlcj8KIGdydW1tZWw7CiBncnVtbWVsIGdydW1tZWwgZ3J1bW1lbDsKIGdydW1tZWwgZ3J1bW1lbCBncnVtbWVsZ3J1bW1lbDsKIGdydW1tZWwgZ3J1bW1lbCBncnVtbWVsZ3J1bW1lOwogZ3J1bW1lbCBncnVtbWVsIGdydW1tZWxncnVtbTsKIGdydW1tZWwgZ3J1bW1lbCBncnVtbWVsZ3J1OwpbRWluZSBJbnNlbCBzcGFldGVyIC4uLl0KIFdBQUFBSDsKIFdBQUFBSCAhOwogV0FBQUFIICEhITsKIHdhcyBzb2xsIGRlciBNdWVsbDsKIGljaCB3ZWlzcyBlcyBhdWNoIGJlaW0gMTAwLiBNYWwgbmljaHQ7CiBsYXNzIG1pY2ggaW4gcnVoOwpbRWluZSBJbnNlbCBzcGFldGVyIC4uLl0KIGhtcGY7CiBWYWV0ZXJjaGVuIER1IGRyZWhzdCBhbSBSYWQ7CiBudSBzY2hpY2sgbWljaCBzY2hvbiB6dXIgSW5zZWw7CiBpY2gga29tbSB3aWVkZXI7CiAqc2NocmVpKjsKIGdycnJycnJyciBncjsKCk9WRVJGTE9XOgoKTnVuIHp1ciBsZXR6dGVuIEZyYWdlOiBXaWV2aWVsZSBLbmVpcGVuIGdpYnQgZXMgaW4gTW9yZ2VuZ3JhdWVuPwogenUgdmllbGUgaWNoIHdlaXNzIGVzIG5pY2h0IGVzIHNpbmQgd2VuaWdlciBhbHMgNTU1NTk4NzY7CiA1NTU1OTg3NSAtIGdlcmF0ZW47CiAxMjM0NTY3ODkwOwogOTg3NjU0MzIxMDsKCgpGb3J0c2V0enVuZyBmb2xndCA7LSkKCi0gS2V0b3MgLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNjcmlwdCAgKEhpZ2hsYW5kZXIsIDE0LiBTZXAgMTk5OCwgMTI6MTk6MDMpOgp+IyEgcm49SmFzcGVyIHJ0PTkwNTUxNzY5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyOTQ3MApOZWluLiBJc3QgamVtYW5kIGFsbGVyZGluZ3MgdWViZXIgbGFlbmdlcmUgWmVpdCBuaWNodCBhbnNwcmVjaGJhciwgdm9yCmFsbGVtLCB3ZW5uIGVyIHNjaG9uIGxhZW5nZXIgaWRsZSBpc3QsIGRhbm4ga2FubiBzbyB3YXMgc2Nob24gcGFzc2llcmVuLgpEaWUgQmV0b251bmcgbGllZ3QgaGllciBhdWYgbmljaHQgYW5zcHJlY2hiYXIsIGFsc28gd2VubiBqZW1hbmQgbmljaHQKcmVhZ2llcnQuIE5hY2hoZXIgc29sbHRlIG1hbiBkYXMgVHVuaW5nIGRlcyBOUENzIHVuYmVkaW5ndCB3aWVkZXIKcnVlY2tnYWVuZ2lnIG1hY2hlbi4gVW5kIGVzIHNvbGx0ZSBuYWNoIE1vZWdsaWNoa2VpdCBlaW4gRU0gbWFjaGVuLgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNDUklQVD8hPyAoS2V5LCAxNC4gU2VwIDE5OTgsIDE2OjI1OjA5KToKfiMhIHJuPU11YWRkaWIgcnQ9OTA1NTQ1NjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CkxpZXMgbWFsIEhpbGZlIFNjcmlwdGUuCgpLZXkgZWluemVpbGVpbmQgc2ljaCBsYW5nd2VpbGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU0NSSVBUPyE/IChNdWFkZGliLCAxNC4gU2VwIDE5OTgsIDE4OjAyOjAyKToKfiMhIHJuPUtleSBydD05MDU3ODMxMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKQmluIHNjaG9uIGRhcmF1ZiBhdWZtZXJrc2FtIGdlbWFjaHQgd29yZGVuIDspCkljaCBoYWV0dGUgbmljaHQgZ2VkYWNodCwgZGFzcyBkaWUgTWFnaWVyIGhpZXIgc2Nob24gc28gcmVzaWduaWVydCBzaW5kLCBkYXNzCnNpZSBTY3JpcHRlIGVybGF1YmVuIDstKQoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTQ1JJUFQ/IT8gKExhbiwgMTQuIFNlcCAxOTk4LCAxODowNzoyMSk6Cn4jISBybj1NdWFkZGliIHJ0PTkwNTc4ODkyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApXaWVzbyByZXNpZ25pZXJ0PwpEYXMgaXN0IGRhcyBlaW56aWdzdCB2ZXJudWVuZnRpZ2UgLi4uCgpMYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNDUklQVD8hPyAoTXVhZGRpYiwgMTQuIFNlcCAxOTk4LCAxODoxMDozNik6Cn4jISBybj1MYW4gcnQ9OTA1Nzg5MjQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4Ck5laW4sIGltaG8gaXN0IGVzIFNwYXNzaGVtbWVuZC4gQWJlciBzY2hlaW5iYXIgbXVzcyBkYXMgamVkZXIgc2VsYnN0CmVudHNjaGVpZGVuLiBEdXJjaCBkYXMgbGVnYWxpc2llcmVuIGhhYmVuIHNpY2ggZGllIE1hZ2llciBkYXMgTGViZW4gbnVyCnNjaG9lbmVyIGdlbWFjaHQgOikKCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU0NSSVBUPyE/IChLZXksIDE0LiBTZXAgMTk5OCwgMTg6MjY6MjUpOgp+IyEgcm49TXVhZGRpYiBydD05MDU3ODk0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKV2llc28gaXN0IGRhcyBzcGFzc2hlbW1lbmQ/ClZpZWxsZWljaHQgZnVlciBEaWNoLCBhYmVyIGJpc3QgRHUgZGVyIGFuIGRlbSBhbGxlcyBnZW1lc3NlbiB3aXJkPwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU0NSSVBUPyE/IChZYXJlbiwgMTQuIFNlcCAxOTk4LCAxOToyNTo1Nyk6Cn4jISBybj1LZXkgcnQ9OTA1NzkwMzg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4ClN0YWNoZWwgaWhuIG5pY2h0IGF1Y2ggbm9jaCBhbiwgS2V5IDstKQoKWWFyZW4gaXN0IGZyb2gsIGRhc3MgZGllc2UgRGlza3Vzc2lvbiBtYWwgZnVlciBuZSBXZWlsZSBuaWNodCBpbiBkZXIgTVBBCnN0YXR0ZmFuZCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTQ1JJUFQ/IT8gKFN0aW5nLCAxNC4gU2VwIDE5OTgsIDE5OjI4OjQxKToKfiMhIHJuPUtleSBydD05MDU3OTAzODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKSG1tLi4gSWNoIGRlbmtlIGVzIGdpYnQgbmVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIFNjcmlwdCB1bmQgU2NyaXB0Li4uIEljaApoYWx0ZSBLZXktQmluZGluZ3MgKHdhcyBmdWVyIGVpbiAgV29ydHNwaWVsIDopKSBuaWNodCBmdWVyIHNjaGxpbW0sIHVuZCBpbQpGYWxsZSBkZXIgS2FlbXBmZXIgd29obCBhdWNoIG5vZXRpZy4uLiBHZW5hdXNvIG5hdHVlcmxpY2ggV2VnZXNjcmlwdGUuLi4gYWJlcgpyZWluZSBNZXR6ZWwtU2NyaXB0ZSBzaW5kIGphIG1vbWVudGFuIG51ciBkYW5uIGVybGF1YnQgd2VubiBtYW4gdm9yIGRlbSBTY2hpcm0KaXN0IHVuZCBlcnJlaWNoYmFyIChkYW5uIGthbm4gbWFuIGdsZWljaCBub3JtYWwgc3BpZWxlbiwgYW5zb25zdGVuICBoYWx0IG1pdApad2VpdGllcywgYWJlciBkYXMgbmltbXQgX21pcl8gYXVjaCBkZW4gc3Bhc3MsIGlzdCBhYmVyIGFuc2ljaHRzc2FjaGUpIHVuZCB6Yi4KUXVlc3RzY3JpcHRlIHNpbmQgamEgbmFjaCB3aWUgdm9yIG5pY2h0IGVybGF1YnQuLgoKU3RpbmcsIHNjaGxpY2h0LXZlcnN1Y2hlbmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTQ1JJUFQ/IT8gKFNpbHZhbmEsIDE0LiBTZXAgMTk5OCwgMjA6MDI6MjIpOgp+IyEgcm49U3RpbmcgcnQ9OTA1Nzk0MTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4Ck5hamEsIEtleWJpbmRpbmdzIGF1c2xvZXNlbiBpbiBBYndlc2VuaGVpdCBzdGVsbCBpY2ggbWlyIGF1Y2gKbmljaHQgc29vbyBsZWljaHQgdm9yLi4uCgogIFNpbHZhbmEgKHNjaG1hcnJ0IHJ1bSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHNjcmlwdCAgKFRyYW5jZWZlYXIsIDE1LiBTZXAgMTk5OCwgMDE6NTA6NTQpOgp+IyEgcm49SGlnaGxhbmRlciBydD05MDU3NjgzNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjk0NzAKSGllciBkdWVyZmVuIGFsc28gbnVyIGRpZSBFTXMgU3Bhc3MgaGFiZW4/IHRzdHN0IEhMIGR1IGdvZW5uc3QgZGVuIE1hZ2llcm4KYWJlciBhdWNoIGdhcm5peC4uLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTQ1JJUFQ/IT8gKFRlZGR5LCAxNS4gU2VwIDE5OTgsIDAyOjI4OjUyKToKfiMhIHJuPVN0aW5nIHJ0PTkwNTc5NDEyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApRdWVzdHNjcmlwdGUgc2luZCBlcmxhdWJ0LCBTdGluZywgbnVyIGRpZSBXZWl0ZXJnYWJlIGRlcnNlbGJlbiBpc3QgdmVyYm90ZW4uCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCAzNSAoRGFuY2VyLCAxNS4gU2VwIDE5OTgsIDA5OjE5OjI0KToKSGksCgp2aWVsbGVpY2h0IGVyemFlaGxlIGljaCB2aWVsZW4gdm9uIEV1Y2ggbWl0IGRpZXNlciBnZXJhZGUgZWluZ2V0cnVkZWx0ZW4KUHJlc3NlbWl0dGVpbHVuZyBuaWNodHMgTmV1ZXMgbWVociwgYWJlciBlaW5lbiBHZWRhbmtlbiBpc3QgZGFzIHNpY2hlciBhbGxlbWFsCndlcnQ6CgoiTmV1ZSBLcmFua2hlaXQ6IEludGVybmV0LUFiaGFlbmdpZ2tlaXQKCiJCZWkgTmViZW53aXJrdW5nZW4gZnJhZ2VuIFNpZSBiaXR0ZSBJaHJlbiBQcm92aWRlci4iIFNvIGtvZW5udGUgYmFsZCBkaWUKdmlydHVlbGxlIEJvdHNjaGFmdCBsYXV0ZW4sIGRpZSBhbGxlIEludGVybmV0LUVpbnN0ZWlnZXIgbWl0IGF1ZiBkZW4gV2VnIGlucwpXb3JsZCBXaWRlIFdlYiBiZWtvbW1lbi4KTGF1dCBlaW5lciB2b24gQ05OIEludGVyYWN0aXZlIHZlcm9lZmZlbnRsaWNodGVuIFN0dWRpZSBnaWJ0IGVzIGpldHp0IGVpbmUKdm9lbGxpZyBuZXVlIEtyYW5raGVpdDogZGllIEludGVybmV0LUFiaGFlbmdpZ2tlaXQuIFBlcnNvbmVuLCBkaWUgc2ljaCBhbHMKSW50ZXJuZXQtYWJoYWVuZ2lnIGJlc2NocmVpYmVuLCB3ZWlzZW4gZGVtbmFjaCBlaW5lIFZpZWx6YWhsIHZlcnNjaGllZGVuZXIKU3ltcHRvbWUgYXVmLCBkYXJ1bnRlciBhdWNoIHNvbGNoZSwgZGllIGZ1ZXIgbWFuaXNjaGUgRGVwcmVzc2lvbmVuIHVuZCBzb3ppYWxlClBob2JpZW4gdHlwaXNjaCBzaW5kLgpEaWUgU3R1ZGllIHVudGVyc3VjaHRlIDE0IFBlcnNvbmVuLCBkaWUgZGVyIE1laW51bmcgd2FyZW4sIGRhc3MgaWhyZQp6ZXJicm9jaGVuZW4gQmV6aWVodW5nZW4sIGZpbmFuemllbGxlbiBTY2h3aWVyaWdrZWl0ZW4sIFNjaHVsYWJicnVlY2hlIHVuZAphbmRlcmVuIFByb2JsZW1lIGR1cmNoIGV4emVzc2l2ZSBJbnRlcm5ldC1TaXR6dW5nZW4gYXVzZ2Vsb2VzdCB3dXJkZW4uClBzeWNoaWF0ZXIgTmF0aGFuIFNoYXBpcmEgdm9tIFVuaXZlcnNpdHkgb2YgQ2luY2lubmF0aSBDb2xsZWdlIG9mIE1lZGljaW5lIHdhcgp2ZXJibHVlZmZ0IHVlYmVyIGRhcywgd2FzIGRpZSBTdHVkaWUgc2NobGllc3NsaWNoIGF1ZmRlY2t0ZS4KQWxzIGV4dHJlbWVzIEJlaXNwaWVsIG5lbm50IGVyIGVpbmVuIDIxamFlaHJpZ2VuIE1hbm4sIGRlciBuYWNoIG1pc3NnbHVlY2t0ZW0KQ29sbGVnZWFic2NobHVzcyBlaW5lIFdvY2hlIGxhbmcgdmVyc2Nod2FuZC4gRXIgd3VyZGUgc2llYmVuIFRhZ2Ugc3BhZXRlcgp6dWZhZWxsaWcgaW0gVW5pdmVyc2l0YWV0c2xhYm9yIGdlZnVuZGVuLCB3byBlciBkdXJjaGdlaGVuZCBzaWViZW4gVGFnZSBsYW5nCm9ubGluZSB2ZXJicmFjaHQgaGF0dGUgLSBvaG5lIGVpbmUgUGF1c2UuClNoYXBpcmEgZXJrbGFlcnRlIGhpZXJ6dSwgZGFzcyBJbnRlcm5ldC1BYmhhZW5naWdrZWl0IGJpc2xhbmcgbmljaHQgYWxzIGVpbmUKZ2VzdW5kaGVpdGxpY2hlIFN0b2VydW5nIGJla2FubnQgc2VpLCBhYmVyIGR1cmNoYXVzIG5hZWhlciBiZXNjaHJpZWJlbiB3ZXJkZW4Ka29lbm5lIGFscyBlaW5lIFN0b2VydW5nIGRlciBJbXB1bHNrb250cm9sbGUgYWVobmxpY2ggZGVyIEtsZXB0b21hbmllIG9kZXIKS2F1ZnN1Y2h0LiBIaWVyIHNlaSBlcyBiZXNvbmRlcnMgd2ljaHRpZyBuYWNoenVmcmFnZW4sIG9iIGRpZSBTeW1wdG9tZSBudW4gZGFzCmRpcmVrdGUgUmVzdWx0YXQgYXVmIGRlbiB1ZWJlcm1hZXNzaWdlbiBJbnRlcm5ldC1HZWJyYXVjaCBzaW5kLCBvZGVyIG9iIGFuZGVyZQpVbXN0YWVuZGUgdW5kIExlYmVuc2JlZGluZ3VuZ2VuIHp1bSBNaXNzYnJhdWNoIGRlcyBJbnRlcm5ldHMgdW5kIHNvIHp1IGRlbgpGb2xnZWVyc2NoZWludW5nZW4gZ2VmdWVocnQgaGFiZW4uCkRpZSB1bnRlcnN1Y2h0ZW4sIGFscyBJbnRlcm5ldC1hYmhhZW5naWcgZWluZ2VzdHVmdGVuIFBlcnNvbmVuLCB6ZWlndGVuClN0b2VydW5nZW4sIGRpZSBzaWNoIHNvd29obCB6dW0gWmVpdHB1bmt0IGRlcyBJbnRlcnZpZXdzIGFscyBhdWNoIGltIHNwYWV0ZXJlbgpMZWJlbiBtYW5pZmVzdGllcnRlbi4gTmV1biB2b24gMTQgQmVmcmFndGVuIGVya2xhZXJ0ZW4sIGRhc3Mgc2llIHp1bSBaZWl0cHVua3QKZGVzIEludGVydmlld3MgYW4gbWFuaXNjaC1kZXByZXNzaXZlbiBWZXJzdGltbXVuZ2VuIGxpdHRlbi4gRWxmIHNhZ3Rlbiwgc2llCmhhZXR0ZW4gaXJnZW5kd2FubiBpbiBpaHJlbSBMZWJlbiBtYW5pc2NoZSBEZXByZXNzaW9uZW4gZHVyY2hsZWJ0LiBWaWVyClBlcnNvbmVuIGhhYmVuIHplaXR3ZWlzZSBlaW4gR2VmdWVobCB2b24gdW5rb250cm9sbGllcmJhcmVtIEFFcmdlciBvZGVyCkthdWZyYXVzY2ggZXJsZWJ0IHVuZCBqZWRlciB6d2VpdGUgc2FndGUsIGVyIGhhZXR0ZSBtaXR1bnRlciBlaW5lIFN0b2VydW5nIGRlcgpJbXB1bHNrb250cm9sbGUgZW1wZnVuZGVuLiBBY2h0IEJlZnJhZ3RlIGhhYmVuIEFsa29ob2wgbWlzc2JyYXVjaHQgdW5kIHNpZWJlbgpsaXR0ZW4gdW50ZXIgc296aWFsZXIgUGhvYmllLCBlaW5lciB1ZWJlcnN0ZWlnZXJ0ZW4gQW5nc3Qgdm9yIE1lbnNjaGVuLgpMYXV0IERyLiBLaW1iZXJseSBTLiBZb3VuZyB2b20gQ2VudGVyIGZvciBPbmxpbmUgQWRkaWN0aW9uCihodHRwOi8vd3d3Lm5ldGFkZGljdGlvbi5jb20pIGlzdCBkZXIgQnJ1Y2ggendpc2NoZW5tZW5zY2hsaWNoZXIgQmV6aWVodW5nZW4KZGVyIGhhZXVmaWdzdGUgTmViZW5lZmZla3QgZGVyIEludGVybmV0LUFiaGFlbmdpZ2tlaXQuIEVoZW4sIEJlemllaHVuZ2VuLApFbHRlcm4tS2luZC1CaW5kdW5nZW4gdW5kIGVuZ2UgRnJldW5kc2NoYWZ0ZW4gd2VyZGVuIGluIGRlbiBtZWlzdGVuIEZhZWxsZW4KZHVyY2ggZXh6ZXNzaXZlIEludGVybmV0LVNpdHp1bmdlbiB6ZXJzdG9lcnQuICJJbnRlcm5ldC1BYmhhZW5naWdlIHZlcmJyaW5nZW4KaW4gaWhyZW0gTGViZW4gd2VuaWdlciBaZWl0IG1pdCByZWVsbGVuIE1lbnNjaGVuIGFscyBtaXQgaWhyZW0gQ29tcHV0ZXIuIgpJbiBpaHJlciBBcmJlaXQgIkludGVybmV0IEFkZGljdGlvbjogVGhlIEVtZXJnZSBvZiBhIERpc29yZGVyIiBkZWZpbmllcnQgRHIuCktpbWJlcmx5IEludGVybmV0LUFiaGFlbmdpZ2UgYWxzIFBlcnNvbmVuLCBkaWUgZHVyY2hzY2huaXR0bGljaCAzOCBTdHVuZGVuIGluCmRlciBXb2NoZSBpbSBXV1cgdmVyYnJpbmdlbiwgZGFiZWkgaW50ZXJha3RpdmUgRnVua3Rpb25lbiB3aWUgQ2hhdHJvb21zIHVuZApNVURzIG51dHplbiB1bmQgZGllIHVuZmFlaGlnIHNpbmQsIGlocmUgT25saW5lLVNpdHp1bmdlbiB6dSBrb250cm9sbGllcmVuIHVuZApkYWR1cmNoIGVyaGVibGljaCBzb3ppYWxlIFByb2JsZW1lIGluIEJlemllaHVuZ2VuIHVuZCBpbSBKb2IgYXVzbG9lc2VuLiAKCgouLi4iCgpTbyBsb25nLAoKRGFuY2VyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFNDUklQVD8hPyAoS2V5LCAxNS4gU2VwIDE5OTgsIDA5OjM4OjA0KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTA1Nzk2MTQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4Ck9jaCB3aWVzbz8gLikKTWFuIG5laG1lIG5lbiBTY2hyaXR0bW90b3IsIG5lIFNjaHJpdHRtb3RvcnN0ZXVlcnVuZywgcHJvZ3JhbW1pZXJlIGRlbiBkYXMgZGVyCmFsbGUgMTAgc2VrIGF1ZiBuZSBUYXN0ZSBoYXV0LCB1bmQgc2Nob24gaGF0IG1hbiBuZSBNb2VnbGljaGtlaXQgOykKCkdlaHQgbmF0dWVybGljaCBhdWNoIG1pdCBuZW0gTGVnb2thc3RlbiA7KSkKCktleSBzY2htYXJybnQgbWl0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzY3JpcHQgIChFbWFpbCwgMTUuIFNlcCAxOTk4LCAxMDowNToyMyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkwNTc2ODM0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyOTQ3MApBbHNvLCBkYXMgbGFldWZ0IGhpZXIgYWxsZXMgdW50ZXIgZGVyIFByYWVtaXNzZSwgZGFzIHNpY2ggZGVyClNwaWVsZXIga2VpbmUgV2VnbWVsZHVuZyBnZXNldHp0IGhhdD8gT2Rlcj8KV2llIHdhZXJlIGVzLCB3ZW5uIFNwaWVsZXIsIGRpZSB3ZWcgc2luZCB1bmQgbGFlbmdlciBhbHMgMyBNaW51dGVuCmlkZWwsIGVpbmZhY2ggbmljaHQgbWVociB2b24gYXV0b2F0dGFja21vbnN0ZXJuIEFuZ2VncmlmZmVuIHdlcmRlbj8KQ2lhb3UsCiAgRW1haWwgLS0gYXVmIGRlciBTdWNoZSBuYWNoIGRlciBWZXJudW5mdC4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBzY3JpcHQgIChBbmF0b2wsIDE1LiBTZXAgMTk5OCwgMTA6MzE6NTMpOgp+IyEgcm49RW1haWwgcnQ9OTA1ODQ2NzIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI5NDcwCk1laW5lIEd1ZXRlLCB3aWUgYWxiZXJuIHNvbGwgZGFzIG5vY2ggd2VyZGVuPyA6LSkKCi0gR2V3aXNzZSBBcmJlaXRzdmVydHJhZWdlIGtvZW5uZW4gc29mb3J0aWdlcyBTcG9udGFuaWRsZW4gZXJ6d2luZ2VuLCBkYXMKICBrZWluZSBNb2VnbGljaGtlaXQgbGFlc3N0LCB2b3JoZXIgYXVjaCBudXIgX2VpbmVfIFRhc3RlIHp1IGRydWVja2VuLgoKLSBHZWxlZ2VudGxpY2gga2FubiBlaW4gTW9kZW0gZWluIDIwLVN0dW5kZW4tU3BvbnRhbmlkbGVuIHZlcnVyc2FjaGVuLgoKRGFyYXVzIHNjaGxpZXNzZSBpY2gsIHNvIGdhbnogcGVyc29lbmxpY2ggdW5kIGZ1ZXIgbWljaCBhbGxlaW5lLCBkYXNzIGVzIApFcm1lc3NlbnNzYWNoZSBkZXMgTWFnaWVycyBibGVpYnQsIG9iIGVyIGRhcyBJZGxlbiBhbiBwb3RlbnRpZWxsIHN0YXRlZ2lzY2gKd2VydHZvbGxlbiBQb3NpdGlvbmVuIGFscyBBYnNpY2h0IG9kZXIgVW5mYWxsIHdlcnRldC4KCi4uLiBSZWdlbG4gc2luZCBlaCBudXIgZGF6dSBkYSwgdW0gYmVpbSBkcm9oZW5kZW4gQXVzZmFsbCBkZXMgZ2VzdW5kZW4gCk1lbnNjaGVudmVyc3RhbmRlcyBlaW5lbiBoYWxid2VncyBzaWNoZXJlbiBSYWhtZW4gc2ljaGVyenVzdGVsbGVuLgoKQW5hdG9sCgooSG1tbSwgTXVkZGVyIHVuZCBnZXN1bmRlciBNZW5zY2hlbnZlcnN0YW5kPykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBzY3JpcHQgIChLZXksIDE1LiBTZXAgMTk5OCwgMTI6NDA6MTApOgp+IyEgcm49QW5hdG9sIHJ0PTkwNTg0ODMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyOTQ3MApZZXAgZGEgc3RpbW1lIGljaCBBbmF0b2wgenUgLi4uCkF1c3NlcmRlbSAuLi4gd2VubiBpY2ggbWFsIGt1cnogYXVmcyBLbG8gbXVzcyB3aWVzbyBzb2xsdGUgaWNoIG1pY2ggZGVubiBkYW5uCmF1c2xvZ2dlbj8KT2RlciBlaW5lIHJhdWNoZW4/ClVuZCBpY2gga29tbSBkZW0gZGVyIG1pY2ggZGFubiBhdXNsb2dndCBkYWhpbiBiZWkgc293YXMhIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTQ1JJUFQ/IT8gKE5vbm5lLCAxNS4gU2VwIDE5OTgsIDEzOjE0OjI4KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTA1Nzk2MTQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4CktleWJpbmRpbmdzIGF1c2xvZXNlbiwgc29sbHRlIGtlaW4gcHJvYmxlbSBzZWluLiBtYW4ga2FubiBkb2NoIHRhc3RlbiBtaXQKY2F0ID4gL2Rldi90dHlYWCB6dW0gdGVybWluYWwgc2NoaWNrZW4sIHVuZCBkYXMgemVpdHp1c3RldWVybiBpc3QgZG9jaAp0cml2aWFsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFNDUklQVD8hPyAoUmFudGFucGxhbiwgMTUuIFNlcCAxOTk4LCAyMTozMTo1Nyk6Cn4jISBybj1Ob25uZSBydD05MDU4NTgwNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKRXMgZ2lidCBhdWNoIHBhYXIgbmV0dGUgS0ktUHJvZ3JhbW1lLCBkaWUgYXVmIGR1bW1lIEZyYWdlIGRpZSBlbnRzcHJlY2hlbmQKZHVtbWVuIEFudHdvcnRlbiBnZWJlbiBrb2VubmVuLi4uCgpPZSoKCkFiZXIgZGFzIGlzdCBhbGxlcyBzdHJlbmdzdGVucyB2ZXJib3RlbiA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIDM1IChMdWcsIDE3LiBTZXAgMTk5OCwgMDE6Mjc6MzYpOgp+IyEgcm49RGFuY2VyIHJ0PTkwNTg0Mzk2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTg0Mzk2NApBZWgsCgoKamEgYWJlciBpY2gga2FubiBhdWNoIGplZGVyemVpdCBhdWZob2VyZW4uLi4KRmlkS0cKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLS0tFRUVZWVlZWVlZWVlZWVlZWVlZWVlZWSAoTHVnLCAxNy4gU2VwIDE5OTgsIDAxOjI5OjI1KToKClJhZXVzcGVyLAoKaG9lciBrdXJ6IGF1ZiB6dSBBcmJlaXRlbiB1bmQgbm90aWVyZTogCgpCaW4gZGllc2UgV0UgaW4gTWFyYnVyZy4gRGEgZGFzIGF1Y2ggbm9jaCBhbmRlcmUgaW50ZXJlc3NpZXJlbiBrb2VubnRlLCBtYWwKYXVmIGFsbGdlbWVpbiwgb2J3b2hsIGljaCBlaGVyIGZ1ZXIgZ2VtZWluIHp1c3RhZW5kaWcgYmluLi4uCgpGbGFtZXMgPSAwCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU0NSSVBUPyE/IChKYXNwZXIsIDE3LiBTZXAgMTk5OCwgMDQ6NDI6MjkpOgp+IyEgcm49UGFyYWNlbHN1cyBydD05MDU1NDA5MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKaWNoIGhhYiBzZWx0ZW4gc293YXMgYWxiZXJuZXMgZ2Vob2VydCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHNjcmlwdCAgKEphc3BlciwgMTcuIFNlcCAxOTk4LCAwNDo1MDo1NSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkwNTc2ODM0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyOTQ3MAp0c3NzLCBlcyBpc3QgdHJvdHpkZW0gYWxiZXJuLCBpcmdlbmR3ZW0gdmVyYmlldGVuIHp1IHdvbGxlbiwgZGEgenUgaWRsZW4gCndvIGVyIHdpbGwuIGRhcyBoYXQgYWJzb2x1dCBuaWNodHMgbWl0IHNjcmlwdGVuIHp1IHR1biwgd2VubiBlciBtb2VnbGljaGUKYXVmdGF1Y2hlbmRlIGFnZ3Jlc3NpdmUgbW9uc3RlciBraWxsdCB1bmQgc28gZWluaWdlIHhwIGJla29tbXQuIHVuZCAKd2llIGdlc2FndCwgd2VubiBlaW4gbWFnaWVyIGdsYXVidCwgZXIgbXVlc3NlIGRhbm4gZGllIHN0YXRzIGVpbmVzIAptb25zdGVycyBhZW5kZXJuLCBzbyBoYXQgZXIgbWVpbmUgbWVpbnVuZyBuYWNoLCBnZXdhbHRpZyBlaW5lbiBhbiBkZXIgCndhZmZlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTQ1JJUFQ/IT8gKEphc3BlciwgMTcuIFNlcCAxOTk4LCAwNDo1MjozOSk6Cn4jISBybj1TaWx2YW5hIHJ0PTkwNTc5NjE0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApudWphIGR1IGtlbm5zdCBuaWNodCBkZW4gZHJlc3NpZXJ0ZW4gd2VsbGVuc2l0dGljaCBkZXIgc2ljaCBpbiByZWdlbG1hZXNzaWdlbgphYnN0YWVuZGVuIGV0d2FzIHZvZ2VsZnV0dGVyIHZvbiBkZXIgdGFzdGUgcGlja3QuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU0NSSVBUPyE/IChHcmltbWJvcm4sIDE3LiBTZXAgMTk5OCwgMTY6NDg6MDEpOgp+IyEgcm49UmFudGFucGxhbiBydD05MDU4ODc5MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDU0Mjc1NjgKTml4LCB3ZW5uIER1IGVpbiBLX0lfIFByb2dyYW1tIG5pbW1zdCBmYWVsbHQgZGFzIGRvY2ggc29mb3J0IGF1Zi4KT2RlciBzdGVodCBpbiBkZW0gRmFsbCBkYXMgSSBmdWVyIElnbm9yYW5jZT8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNDUklQVD8hPyAoUm9uZGEsIDE3LiBTZXAgMTk5OCwgMTY6NDk6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwNjA0MzY4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNTQyNzU2OApKYSwgR3JpbW1ib3JuOiBLSSA9PSBLb21wbGV0ZXR0ZSBJZ25vcmFueiAtIG9kZXIgZG9jaCBiZXNzZXIgS29tZm9ydGFibGVzCklkbGVuPwouLi4gbnVuIGdlaG9lcnRzIGFiZXIgd2lya2xpY2ggbmFjaCBTY2htYXJybiEgR3JpbW1ib3JuLCB1ZWJlcm5laG1lbiBTaWUhCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNDUklQVD8hPyAoTWFyY3VzLCAxNy4gU2VwIDE5OTgsIDIxOjI4OjMzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9OTA1ODg3OTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4ClVuZCBlcyBnaWJ0IGRhcyBHZXJ1ZWNodCwgZGFzIGVpbmlnZSBNRyBTcGllbGVyIHdpcmtsaWNoIE5VUiBzY3JpcHRlIHNpbmQsCmRpZSBhdWNoIGluIGRlciBaZWl0dW5nIHNjaHJlaWJlbiBrb2VubmVuLgoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3QgKFBhdHJ5biwgMTguIFNlcCAxOTk4LCAwNTo1MToxMyk6CmRpZSByZWJvb3RzIGhldXRlIGdpbmdlbiBsZWlkZXIgYXVmIG1laW4ga29udG8sIGR1cmNoIGVpbmVuIGJ1ZyBjcmFzaHRlCmRhcyBtdWQgbWVocm1hbHMuIGVzIHNvbGx0ZSBhbHNvIG5pY2h0IHp1ciByZWdlbCB3ZXJkZW4sIGtlaW5lIHNvcmdlLiA6KQpkYSBlcyBlaCBlaW5tYWwgZG93biB3YXIsIHd1cmRlIG1pdCBhbGxnZW1laW5lciB6dXN0aW1tdW5nIGRlciBmZWhsZXIKZ2xlaWNoIG1hbCBlaW5nZWdyZW56dC4gdmllbCBzcGFzcyBiZWltIG5ldWVuIHNhbW1lbG4uLi4KCi0tLS0tLQpidWdkcnluCgpQUzogYmVzY2h3ZXJlbiBicmF1Y2ggc2ljaCBqZXR6dCBrZWluZXIsIGthbm4gYXVjaCBuaXggZnVlciAtPiBtdWRsaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBTQ1JJUFQ/IT8gKEdyaW1tYm9ybiwgMTguIFNlcCAxOTk4LCAwOTozNjozMyk6Cn4jISBybj1NYXJjdXMgcnQ9OTA2MDYwNTEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA1NDI3NTY4ClZlcmRhbW10LCBpY2ggYmluIGVudGxhcnZ0LiBIb2VydCBuaWNodCBhdWYgTWFyY3VzLCBkZXIgcmVkZXQgbnVyIGR1bW1lcwpaZXVjaCEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCAoTHVnLCAxOC4gU2VwIDE5OTgsIDIyOjQ4OjUzKToKfiMhIHJuPVBhdHJ5biBydD05MDYwOTA2NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYwOTA2NzMKTmFqYSwgQnVnZ3kuLi4KCkFscyBvYiB3aXIgZGFzIG5pY2h0IHNjaG9uIGltbWVyIGdlc2FndCBoYWV0dGVuLi4uCgpNaWRLRwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3QgKFRyYW5jZWZlYXIsIDE5LiBTZXAgMTk5OCwgMDI6MDQ6NDEpOgp+IyEgcm49UGF0cnluIHJ0PTkwNjA5MDY3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjA5MDY3MwpEYW1pdCBoYXN0IER1IERpY2ggZW5kZ3VlbHRpZyB6dW0gRU0gcXVhbGlmaXppZXJ0LiBEaWUgRXJuZW5udW5nIGR1ZXJmdGUgbnVyCm5vY2ggZWluZSBGb3JtYWxpdGFldCBzZWluLiBIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCEKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXB1dHRlIEZyYWdlbiAoQ29uYWxsLCAxOS4gU2VwIDE5OTgsIDE0OjEyOjM2KToKClRhY2hnZW4sCgpMdWcgaGF0IGluIGRlciBNYXVzcXVlc3QgZm9sZ2VuZGUgYWJzZWl0aWdlIEZyYWdlbjoKCjEpIFdlciBpc3QgZGVyIEF1dG9yIGRlcyBCdWNoZXM6IEljaCBtYWNodGUgZGllIEdyYWViZW4genUgdGllZiAtIEJla2VubnRuaXNzZQplaW5lcyBHb3R0ZXMgaW0gUnVoZXN0YW5kPwoKMikgVm9uIHdlbGNoZW0gYmVkZXV0ZW5kZW0gWlVLVUVORlRJR0VOIEt1ZW5zdGxlciBpc3QgZWluIEJpbGQgaW0gTW9yZ2VuZ3JhdWVuCnp1IGZpbmRlbiB1bmQgd28gaGFlbmd0IGVzPyAoaXRhbC4ga2xpbmdlbmRlciBOYW1lKQoKTHVnIG1vZWNodGUgenVtIEF1c2RydWNrIGJyaW5nZW4gZGFzIGVyIGRpZSBGcmFnZW4gZnVlciBbWkVOU1VSLVpFTlNVUi1aRU5TVVJdCmhhZWx0IHVuZCBuaW1tdCBBbnR3b3J0ZW4gZ2VybmUgcGVyIE1haWwgZW50Z2VnZW4uLi4KCkRhbmtlIGZ1ZXIgZGllIEtvb3BlcmF0aW9uLCBtZWxkZW4gc2llIHNpY2ggYmVpIGRlciBuYWVjaHN0ZW4gS2xlcmlrZXJnaWxkZQp1bmQgaGFiZW4gc2llIGVpbmVuIHNjaG9lbmVuIFRhZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hdXNhbnR3b3J0IDEgKEx1ZywgMjEuIFNlcCAxOTk4LCAwMjo1OToxMSk6CgpBbHNvIGRpZSBBbnR3b3J0IGF1ZiBkaWUgRnJhZ2UgbWl0IGRlbSBCdWNoIGlzdDoKClIuIExvcGV6CgooRGFua2UgYW4gTGV2ICghKSAgZGVyIHNpZSBpbiBkZXIgRiZFIGZhbmQhKQoKV29sbHRlIFJvY2h1cy9LZXRvcyBqYSBzaWNoZXJsaWNoIGVoIHJhdXNuZWhtZW4gZGllIEZyYWdlLgpVbmQgbmVobXQgZGllIEZyYWdlIG5hY2ggZGVtIEJpbGQgZ2xlaWNoIG1pdC4KQWxsZXMgd2VpdGVyZSBpbiBkZXIgTWFpbCBhbiBLZXRvcyAqZ3J1bW1lbCoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZCAoVGVkZHksIDIxLiBTZXAgMTk5OCwgMDQ6Mzc6MzYpOgp+IyEgcm49R3VuZHVyIHJ0PTkwNjMzMjU4OCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9OTA2MzMyNTg4CkphLCBlaW4gUmVib290IGR1ZXJmdGUgd29obCBkZW4gTWVpc3RlbiBlcmhlYmxpY2ggbGllYmVyIGdld2VzZW4gc2VpbiwgYWxzCmVpbmZhY2ggZGFzIGtvbXBsZXR0ZSBHZWxkIHp1IHZlcm5pY2h0ZW4sIGRhcyBnZXJhZGUgaW0gTUcgaW0gVW1sYXVmIGlzdCBkZW5rZQppY2gsIG1pciBnZWh0IGVzIGplZGVuZmFsbHMgc28uCgpUZWRkeSA6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VsZCAoVGFyaW5hLCAyMS4gU2VwIDE5OTgsIDA4OjUwOjQzKToKfiMhIHJuPVRlZGR5IHJ0PTkwNjM0NTQ1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjMzMjU4OApOZWluIFRlZGR5LCBvYndvaGwgaWNoIGNhLiAxMDAgayB2ZXJsb3JlbiBoYWJlIChpc3Qgd29obCBuZSBoYW5kZWxzdWVibGljaGUKTWVuZSkgYmluIGljaCBzZWhyIGZyb2gsIGRhc3MgZXMga2VpbmVuIFJlYm9vdCBnZWdlYmVuIGhhdC4gSWNoIGJyYXVjaCBkaXZlcnNlClN0dW5kZW4genVtIEF1c3J1ZXN0ZW4gdW5kIGJpbiBuYWNoIDIgUmVib290cyBpbiBkZXIgV29jaGUgbmljaHQgc2NoYXJmIGF1ZgplaW5lIHdlaXRlcmUgQXVzcnVlc3R1bmdzYXJpZS4KSXJnZW5kd2FubiBtb2VjaHRlIG1hbiBkb2NoIGF1Y2ggd2llZGVyIHdhcyBhbmRlcmVzIG1hY2hlbi4KR3J1c3MsClRhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCAoTHlyYSwgMjEuIFNlcCAxOTk4LCAwODo1NToxNCk6Cn4jISBybj1UYXJpbmEgcnQ9OTA2MzYwNjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2MzMyNTg4CkF1Y2ggaWNoIHZlcmxpZXJlIG1vbWVudGFuIGxpZWJlciBkYXMgR2VsZCBhbHMgbWVpbmUgQXVzcnVlc3R1bmcuIEd1dCwgaWNoCmhhYmUgZWggbnVyIG1laXN0ZW5zIHp3aXNjaGVuIDE1ayB1bmQgMjVrLiBJc3QgYWxzbyBrZWluIEJlaW5icnVjaC4gVW5kIGRpZQpITFBzLCBkaWUgd2FocnNjaGVpbmxpY2ggbWVociB2ZXJsb3JlbiBoYWJlbiwga29lbm5lbiBzaWNoIGphIGJlc3RpbW10IGluIGRlcgpTdHVuZGUgMTAwayBlcm1ldHplbG4gKHdlbm4gZGllIExhZWRlbiBtaXQgbWFjaGVuKS4gRXR3YXMgQWVyZ2VybGljaGVyIHdpcmQgZXMKZnVlciBkaWUgTExQcy4gQWJlciBlcyBnaWJ0IGZ1ZXIgZGllIGphIGVpbmUgTWVuZ2UgUXVlc3RzIHp1IGxvZXNlbiwgd28gbWFuCmtlaW4gR2VsZCBiYXVjaHQgdW5kIGluIGFic2VoYmFyZXIgWmVpdCB3aXJkIGF1Y2ggd2llZGVyIGdlbnVnIFpldWcgdm9uIGRlbgpNZXR6bGVybiBsaWVnZW5nZWxhc3Nlbiwgc28gZGFzcyBhdWNoIHNpZSB3aWVkZXIgYW4gR2VsZCBrb21tZW4uCgpMeXJhLCBhcm0gYWJlciBnbHVlY2tsaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGQgKFBhdHJ5biwgMjEuIFNlcCAxOTk4LCAwODo1Nzo0OCk6Cn4jISBybj1UZWRkeSBydD05MDYzNDU0NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYzMzI1ODgKd2VubiBkYXMgbmVuIGJ1ZyBpbiBwYWRyZWljIHNlaW5lbSBuZXVlbiB6ZXVnIHdhciwgbGFjaCBpY2ggbWljaCB3ZWcuCm8tdG9uIHBhZHJlaWM6IGljaCBtYWNoZSBrZWluZSBmZWhsZXIsIGJlaSBtaXIgZmluZGVzdCBkdSBuaWUgYnVncyA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCAoUmluZ29yLCAyMS4gU2VwIDE5OTgsIDA5OjIyOjEwKToKfiMhIHJuPVBhdHJ5biBydD05MDYzNjEwNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYzMzI1ODgKV2FzIG1pciBiZWkgZGVyIERpc2t1c3Npb24gdW0gUmVib290IDwtPiBHZWxkIHZlcm5pY2h0ZW4gaXJnZW5kd2llIG5vY2ggZmVobHQsCmlzdCBlaW5lIHBsYXVzaWJsZSBFcmtsYWVydW5nLCB3YXJ1bSBlaW4gUmVib290IHVlYmVyaGF1cHQgaGFldHRlIGhlbGZlbgpzb2xsZW4uCgpFaW4gUmVib290IGhhZXR0ZSBkb2NoIGtlaW4gR2VsZCB2ZXJuaWNodGV0LCBzb25kZXJuIGhvZWNoc3RlbnMgbm9jaCBuZQpFbnRzY2hhZWRpZ3VuZyBvYmVuIGRyYXVmIGdlcGFja3QuIEVzIHNlaSBkZW5uLCBkaWUgYm9lc2VuIGJvZXNlbiBTcGllbGVyLCBkaWUKZGllc2UgVW5tZW5nZW4gYmVzYXNzZW4sIHdhcmVuIHp1IGRvb2YsIHNpZSBpbiBYdGllcyB1bnRlcnp1YnJpbmdlbi4KClJpbmdvci4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWxkIChHbG9pbnNvbiwgMjEuIFNlcCAxOTk4LCAwOToyNDoyMCk6Cn4jISBybj1SaW5nb3IgcnQ9OTA2MzYyNTMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2MzMyNTg4CldlaWwgSU1ITyBiZWkgZWluZW0gUmVib290IGRhcyBnZXNhbXRlIEdlbGQgYXVjaCBuZXUgZ2VsYWRlbiB3b3JkZW4gd2FlcmUsCmRhIGphIGluIERpciBhbGxlbmZhbGxzIEFNT1VOVCB1bmQgUGZhZCBnZXNwZWljaGVydCBzaW5kLgpXYWVyZSBhbHNvIGRpZSBWYXJpYW50ZSBmdWVyIGFybWUgRU1zIGdld2VzZW4uIERhbmtlc2Nob2VuLCBhdWNoIHdlbm4gaWNoCmpldHp0IGFscyBCZXR0bGVyIHJ1bWxhdWZlIDstKQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlbGQgKFJpbmdvciwgMjEuIFNlcCAxOTk4LCAwOToyODoyNCk6Cn4jISBybj1HbG9pbnNvbiBydD05MDYzNjI2NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYzMzI1ODgKR3V0LCBkYW5uIGhhZXR0ZW4gd2lyIG5hY2ggbmVtIFJlYm9vdCBhbGxlICJzYXViZXJlcyIgR2VsZCBnZWhhYnQuIEFiZXIgZGllCmJvZXNlbiBib2VzZW4gQmV0cnVlZ2VyIGhhZXR0ZW4gaWhyZSBNaWxsaW9uZW4gYXVjaCBub2NoIGJlc2Vzc2VuLgoKRXMgaGFldHRlIG51ciBrZWluIHdlaXRlcmVyIG1laHIgZGVuIEJ1ZyBhdXNudXR6ZW4ga29lbm5lbi4KCkluIGRlbSBGYWxsIGhhZXR0ZSBlcyBnbGF1YmUgaWNoIHdpcmtsaWNoIFN0dW5rIGdlZ2ViZW4gOi0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbGQgKEtleSwgMjEuIFNlcCAxOTk4LCAxMTowMjo0Nik6Cn4jISBybj1QYXRyeW4gcnQ9OTA2MzYxMDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2MzMyNTg4CipsYWNoKgoKR3JpbW1pIHZlcmxlZyBkYXMgbmFjaCBXaXR6ZSA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWxkIChQYWRyZWljLCAyMS4gU2VwIDE5OTgsIDExOjE2OjIzKToKfiMhIHJuPVBhdHJ5biBydD05MDYzNjEwNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYzMzI1ODgKQWVobSBwYXQqIHdhbm4gc29sbCBpY2ggZGVubiBkaWVzZW4gU2Nod2FjaHNpbm4gdm9uIG1pciBnZWdlYmVuIGhhYmVuPyBiaW4gaWNoCmV0d2EgZGVyIFBhcHN0PwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VsZCAoUGF0cnluLCAyMS4gU2VwIDE5OTgsIDE0OjA4OjIyKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTA2MzY5MzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2MzMyNTg4CmRhcyB3b2xsdGUgaWNoIGRpY2ggc2Nob24gaW1tZXIgbWFsIGZyYWdlbi4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCAoVHJhbmNlZmVhciwgMjEuIFNlcCAxOTk4LCAxOTozNzoyOCk6Cn4jISBybj1QYXRyeW4gcnQ9OTA2MzYxMDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2MzMyNTg4CkljaCBuZWhtZSBhbiwgZGFzIFppdGF0IHdhciBub2NoIG5pY2h0IHp1IEVuZGU6CiJJY2ggbWFjaGUga2VpbmUgRmVobGVyLCBiZWkgbWlyIGZpbmRlc3QgRHUgbmllIEJ1Z3MsIG51ciBGZWF0dXJlcyIgOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VsZCAoVGVkZHksIDIyLiBTZXAgMTk5OCwgMDE6NTY6MjcpOgp+IyEgcm49VGFyaW5hIHJ0PTkwNjM2MDY0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjMzMjU4OApWaWVsbGVpY2h0IGxpZWd0cyBhdWNoIGFuIG1pciwgaWNoIGhhdHRlIGtlaW5lIEF1c3J1ZXN0dW5nIG5hY2ggZGVtIFJlYm9vdAphYmVyIHdlbmlnc3RlbnMgbm9jaCBtZWluZSBSZWJvb3RlbnRzY2hhZWRpZ3VuZy4KTnUgaGFiIGljaCBnYXJuaXggbWVoci4gKmphbW1lcioKCkFsbGdlbWVpbiBmYW5kIGljaCBkaWUgSWRlZSBuaWNodCBzbyBndXQsIHdlZ2VuIGVpbmlnZXIgQnVnYXVzbnV0emVyIGFsbGUgenUKc3RyYWZlbi4gSXN0IGJpc2xhbmcgbmljaHQgdWVibGljaCBnZXdlc2VuIHVuZCBzb2xsdGUgSU1ITyBhdWNoIG5pY2h0CmVpbnJlaXNzZW4sIGFuc29uc3RlbiB3aXJkcyBiYWxkIHN0YWVuZGlnIHNvbGNoZSBBa3Rpb25lbiBnZWJlbi4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCcmF1Y2hlIFdlZyAoU3JhYmksIDIyLiBTZXAgMTk5OCwgMDk6MzU6MTEpOgpBbiBhbGxlIEthc3NlbGVyIE11ZGRlciAob2RlciBzb2xjaGUgZGllIHNpY2ggaW4gS2Fzc2VsIGd1dCBhdXNrZW5uZW4pLi4uCgpJY2ggYnJhdWNoZSBFdXJlIEhpbGZlLiBBYiBOb3ZlbWJlciBiZXN1Y2hlIGljaCBkaWUgUmV0dHVuZ3NkaWVuc3RzY2h1bGUgZGVzClJvdGVuIEtyZXV6ZXMgaW4gS2Fzc2VsLiBEaWVzZSBTY2h1bGUgYmVmaW5kZXQgc2ljaCBhbSBLbmlnc3RvciAyNC4KCk51biBtZWluZSBiaXR0ZS4gS2FubiBtaXIgZWluZXIgc2FnZW4sIGJpcyB6dSB3ZWxjaGVtIEJhaG5ob2YgaWNoIGZhaHJlbiBtdXNzCnVuZCB3aWUgaWNoIHZvbiBkZW0gQmFobmhvZiB6dW0gS25pZ3N0b3Iga29tbWUuCgpTcmFiaSwgZGVyIEV1Y2hkYW5rYmFyIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdlbGQgKFJpbmdvciwgMjIuIFNlcCAxOTk4LCAwOTozNzoyOCk6Cn4jISBybj1UZWRkeSBydD05MDY0MjIxODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDYzMzI1ODgKRXMgZ2luZyB3ZW5pZ2VyIHVtIGVpbmlnZSB3ZW5pZ2UgQnVnYXVzbnV0emVyLCBhbHMgdmllbG1laHIgZGFydW0sIGRhc3MgZGllCm5ldWUgVW5pdCBzY2hsaWNodCB1bmQgZXJncmVpZmVuZCBuaWNodCBtaXQgZGVyIEdlbGRib2Vyc2Uga29tcGF0aWJlbCB3YXIuCgpEYWR1cmNoIGtvbm50ZSAqamVkZXIqIHByb2JsZW1sb3Mgc292aWVsIEdlbGQgYmVrb21tZW4sIHdpZSBlciB3b2xsdGUuIAoKRGFzIHdhciBoYWx0IGVpbiBiZWRhdWVybGljaGVyIFVuZmFsbC4gRWlucmVpc3NlbiBzb2xsdGUgc293YXMgd2lya2xpY2ggbmljaHQKOy0pCgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHZWxkIChMdWcsIDIyLiBTZXAgMTk5OCwgMTg6MzY6MTApOgp+IyEgcm49UmluZ29yIHJ0PTkwNjQ0OTg0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjMzMjU4OApIbSwKCndhciBkb2NoIGNvb2wgOykKCkdlbGR2ZXJzY2h3ZW5kZXIKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXVzdGlwIHZvbiBnYW56IGdhbnogd2VpdCBvYmVuLi4uIChMdWcsIDIyLiBTZXAgMTk5OCwgMTk6NDU6NDYpOgpIdWh1LAoKdm9uIGdhbnogT2JlbiBnYWIgZXMgZWluZW4gVGlwIGZ1ZXIgZGllIFpVS1VFTkZUSUdFIEt1ZW5zdGxlcmZyYWdlOgoKRGllIEFudHdvcnQgZmluZGV0IHNpY2ggaW4gRnJhY2h0Z3V0IDspIAoKRGFubiBzdWNodCBtYW4gc2Nob2VuIDspCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hdXN0aXAgdm9uIGdhbnogZ2FueiB3ZWl0IG9iZW4uLi4gKFJpbmdvciwgMjIuIFNlcCAxOTk4LCAyMDoxMjoyMyk6Cn4jISBybj1MdWcgcnQ9OTA2NDg2MzQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA2NDg2MzQ2CkFsc28gendlaSB2b24gendlaSBwZXJ2ZXJzZW4gRnJhZ2VuIHZvbiBSb2NodXM/CgpSaW5nb3IgYmFzdGVsdCBzY2hvbm1hbCBhbiBlaW5lbSBwYXNzZW5kZW4gUHJlaXMgZnVlciBkaWVzZSBHbGFuemxlaXN0dW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYXVzdGlwIHZvbiBnYW56IGdhbnogd2VpdCBvYmVuLi4uIChMdWcsIDIyLiBTZXAgMTk5OCwgMjA6MTM6MDUpOgp+IyEgcm49UmluZ29yIHJ0PTkwNjQ4Nzk0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjQ4NjM0NgpSYWV1c3BlcjoKCkphbW1lciBuaWNodCA7KQoKRmlkS0d1S2doCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hdXN0aXAgdm9uIGdhbnogZ2FueiB3ZWl0IG9iZW4uLi4gKEJvaW5nLCAyMy4gU2VwIDE5OTgsIDA4OjU5OjE0KToKfiMhIHJuPUx1ZyBydD05MDY0ODYzNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDY0ODYzNDYKQWxzbyB2b24gR0FOWiBvYmVuIGthbSBkZXIgVGlwIGFiZXIgbmljaHQgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWF1c3RpcCB2b24gZ2FueiBnYW56IHdlaXQgb2Jlbi4uLiAoUm9jaHVzLCAyMy4gU2VwIDE5OTgsIDE1OjU0OjQ0KToKfiMhIHJuPVJpbmdvciBydD05MDY0ODc5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDY0ODYzNDYKTmVpbiwgZHJlaSB2b24gZHJlaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWF1c3RpcCB2b24gZ2FueiBnYW56IHdlaXQgb2Jlbi4uLiAoTHVnLCAyMy4gU2VwIDE5OTgsIDIwOjM4OjM5KToKfiMhIHJuPUJvaW5nIHJ0PTkwNjUzMzk1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjQ4NjM0NgpOYWphLAoKCmFiZXIgdm9uIHppZW1saWNoIHdlaXQgT2JlbiEKCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIGxpZWJlIEdlbGQgKERhcmlhLCAyNC4gU2VwIDE5OTgsIDIyOjQzOjAxKToKSGksCmljaCBob2ZmZSwgaWNoIGJpbiBoaWVyIHJpY2h0aWcuClp1ZXJzdDogSWNoIGZpbmRzIGdlbmF1IHJpY2h0aWcsIGRhc3MgZGFzIEdlbGQgYmVpCkJ1Z2Vya2VubnVuZyBkZXN0cnVjdGV0IHd1cmRlLiBpY2ggd2lsbCBoaWVyIGF1Y2gKa2VpbmUgbmV1ZSBEaXNrdXNzaW9uIHZvbSBaYXVuIGJyZWNoZW4uCgpBYmVyIGRhZHVyY2ggc2luZCBqZXR6dCBhbHMgRm9sZ2Ugc2FlbXRsaWNoZSBMYWVkZW4gcGxlaXRlLi4uCldlaWwgamVkZXIgdmVyc3VjaHQsIHNpY2ggd2llZGVyIGhvY2h6dWJyaW5nZW4uCgpLYW5uIG1hbiBkYSBuaWNodCBzbyBhbHMgZWlubWFsaWdlIFNhY2hlIHdhcyBtYWNoZW4/CgpEYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhcyBsaWViZSBHZWxkIChUcmFuY2VmZWFyLCAyNC4gU2VwIDE5OTgsIDIyOjQ4OjA2KToKfiMhIHJuPURhcmlhIHJ0PTkwNjY2OTc4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNjY2OTc4MQpIbWphIGRhcyBtYWcgdmllbGxlaWNodCBkaWUgZXJzdGVuIDUwIE1pbnV0ZW4gbmFjaCBHdW5uaXMgQWt0aW9uIHNvIGdld2VzZW4Kc2Vpbiwgd2VubiBqZXR6dCBMYWVkZW4ga2VpbiBHZWxkIGhhYmVuIGxpZWd0IGRhcyBzY2hsaWNodCB1bmQgZWluZmFjaCBkYXJhbgpkYXMgZGllIGd1dCBmcmVxdWVudGllcnQgc2luZC4gU3VjaCBEaXIgbmVuIGxhZGVuIGRlciBldHdhcyBhYnNlaXRzIGxpZWd0LCB1bmQKc2llaGUgZGEhIGVzIGlzdCBHZWxkIGRhLiBHZW51ZyBmdWVyIGFsbGUgOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobGFjaHRmZWxkLUJ1ZyAoUXVpY2ssIDI1LiBTZXAgMTk5OCwgMDU6MTU6MzcpOgpIaSBhbGwsCgppY2ggbW9lY2h0ZSBkYXZvciB3YXJuZW4sIHpaIGRhcyBTY2hsYWNodGZlbGQgenUgYmVudXR6ZW4sIGViZW4KaXN0IGRvcnQgZGVyIGdyb2Vzc3RlIFRlaWwgZGVyIHZlcndlbmRldGVuIEF1c3J1ZXN0dW5nIHNwdXJsb3MKdmVyc2Nod3VuZGVuLCBhbnN0YXR0IHdpZWRlciBpbSBWb3JyYXVtIHp1IGxhbmRlbi4gSWNoIGhvZmZlIG1hbCwgCmRpZXNlIEJ1ZyAoPykgd2lyZCBiYWxkIGJlaG9iZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF1c3F1ZXN0IChEaWVkZXIsIDI5LiBTZXAgMTk5OCwgMTg6MjM6NTQpOgpIaSwKCmFscyBlYmVuc28gbWF1c3F1ZXN0Z2VzY2hhZWRpZ3RlciB3aWUgTHVnIHN0ZWxsZSBpY2ggaGllcm1pdCB2b2xsZXIKVmVyendlaWZsdW5nIGRpZSBGcmFnZSBuYWNoIGRlbSB6dWt1ZW5mdGlnZW4gS3VlbnN0bGVyIChpdGFsaWVuaXNjaCBrbGluZ2VuZGVyCk5hbWUpLCBkZXNzZW4gQmlsZCBpcmdlbmR3byBpbSBNRyBoYWVuZ3QuIFdvIGhhZW5ndCBlcyB1bmQgd2llIGhlaXNzdCBlcj8KCkRpZWRlciwgZ2lidCBzaWNoIGJhbGQgZGllIEt1Z2VsIHVuZCBob2ZmdCBhdWYgTWFpbCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZXJuZXRzdHJlaWsgKE1jY2F1bHMsICAxLiBPa3QgMTk5OCwgMTM6NDc6MjYpOgpGb2xnZW5kZXMgaGFiIGljaCBnZXJhZGUgZXJoYWx0ZW46ClNpZSBzaW5kIGRpZSBob2hlbiBUZWxlZm9uZ2VidWVocmVuIGxlaWQ/IFdpciBhdWNoLiBEYWhlciB3b2xsZW4gd2lyCmV0d2FzIHVudGVybmVobWVuLiBOYWNoIGl0YWxpZW5pc2NoZW0gVm9yYmlsZCB3b2xsZW4gd2lyIGVycmVpY2hlbiwgZGFzcwphbSAxLjExLjE5OTggbW9lZ2xpY2hzdCB2aWVsZSBwcml2YXRlIE51dHplciBkYXMgSW50ZXJuZXQgbWVpZGVuLCB1bSBlaW4KWmVpY2hlbiB6dSBzZXR6ZW4uIFdhcyBoYXQgdW5zIGFscyBJbnRlcm5ldG51dHplciBkaWUgUHJpdmF0aXNpZXJ1bmcgYmlzCmpldHp0IGdlYnJhY2h0PyBBdXNzZXIgZWluZXIgUHJlaXNlcmhvZWh1bmcgMTk5NiBnYXIgbmljaHRzLgpKZXR6dCBtdXNzIGV0d2FzIHBhc3NpZXJlbi4gRGllIFRlbGVrb20gdmVyc3VjaHQgaW1tZXIKbm9jaCwgc2ljaCBtaXQgIlBzZXVkby1SYWJhdHRlbiIgKHNpZWhlIENpdHkgUGx1cywgMTArIG8uZC4pIGF1cwpkZXIgU2NodXNzbGluaWUgenUgYnVnc2llcmVuLCBhYmVyIGluIFdpcmtsaWNoa2VpdCBhZW5kZXJ0IHNpY2ggZnVlcgp1bnMgbmljaHRzLiBEaWUgSWRlZSBlaW5lcyBJbnRlcm5ldCBTdHJlaWtzIGJhc2llcnQgYXVmIGVpbmVtCmVyZm9sZ3JlaWNoZW4gU3RyZWlrIGluIEl0YWxpZW4uCkRvcnQgaGFiZW4gZGllIFVzZXIgZWluZW4gUmFiYXR0IGVycmVpY2h0LCAyNCBTdHVuZGVuIGF1ZiBkYXMgSW50ZXJuZXQKdmVyemljaHRldGVuLgpVbmQgendhciBlaW5lbiBkZXV0bGljaCBtZXJrYmFyZW4sIG5hZW1saWNoIGJpcyB6dSA2MCUuIERhaGVyIHJ1ZmVuIHdpcgpoaWVybWl0IGplZGVuIGRhenUgYXVmLCBpbiBkZXIgWmVpdCB2b24gMC4wMCBVaHIgYW0gMS4xMS4xOTk4IGJpcyB1bSAwLjAwIGFtCjIuMTEuMTk5OCBhdWYgZGllIE51dHp1bmcgZGVzIEludGVybmV0cyB6dSB2ZXJ6aWNodGVuLgpVU0VSIEdFR0VOIFdVQ0hFUiwgZWluZSBJbml0aWF0aXZlIGRlcyBEYXJrQnJlZWQgZS5WLgoKTWVociBkYXp1IHVudGVyIGh0dHA6Ly93d3cuZ2FtZXNweS5kZS9pbnRlcm5ldHN0cmVpawoKTWNDYXVscyBmaW5kZXQgZGllIElkZWUgZ3V0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVybmV0c3RyZWlrIChNb3Jnb3RoLCAgMS4gT2t0IDE5OTgsIDE0OjIyOjExKToKfiMhIHJuPU1jY2F1bHMgcnQ9OTA3MjQyNDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CkJpbiBkYWJlaSAhCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlcm5ldHN0cmVpayAoQWxwaGEsICAxLiBPa3QgMTk5OCwgMTQ6MjQ6MjUpOgp+IyEgcm49TW9yZ290aCBydD05MDcyNDQ1MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKa2sKSG9mZmVudGxpY2gga29tbXQga2VpbmVyIHVuc2VyZXIgTWFnaWVyIGF1ZiBkaWUgSWRlZSB1bnMgTXVkZGVyIHp1bSBTdHJlaWsgenUKendpbmdlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZXJuZXRzdHJlaWsgKFRyYW5jZWZlYXIsICAxLiBPa3QgMTk5OCwgMTc6MDA6NTUpOgp+IyEgcm49QWxwaGEgcnQ9OTA3MjQ0NjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CkRvY2gga2xhci4gU2llaGUgZGF6dSBkZW4gVGhyZWFkIGluIGRlLmFsdC5tdWQsIGluZGVtIGRpZSBBZG1pbnMgdmVyc2NoaWVkZW5lcgpNVURzIGFuZ2VzcHJvY2hlbiB3ZXJkZW4sIGlocmUgTVVEcyBhbSBuYWVtbGljaGVuIFRhZyBhYnp1c2NoYWx0ZW4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZXJuZXRzdHJlaWsgKFJvYWRydW5uZXIsICAxLiBPa3QgMTk5OCwgMTc6MDk6MzYpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDcyNTQwNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKQWJzY2hhbHRlbj8gLSBuYWphIC0gdm9tIE5ldHogbmVobWVuIGR1ZXJmdGUgZG9jaCBhdWNoIHJlaWNoZW4gLSB3b3p1IHJlYm9vdAouLi4KTm90ZmFsbHMgZWluZmFjaCBkYXMgS2FiZWwgemllaGVuLgoKUlIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVybmV0c3RyZWlrIChaYXJuaXlhLCAgMS4gT2t0IDE5OTgsIDE3OjE5OjQ4KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTA3MjU0MDU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2Cm5lbm50IG1hbiBkYXMgZGFubiBuaWNodCAiYXVzc3BlcnJlbiB2b24gU3RyZWlrYnJlY2hlcm4iPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVybmV0c3RyZWlrIChKaWRkdSwgIDEuIE9rdCAxOTk4LCAxNzoyNjo1OCk6Cn4jISBybj1NY2NhdWxzIHJ0PTkwNzI0MjQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNzI0MjQ0NgpCaW4gZGFiZWkgYWJlci4uLiBXQVMgTUFDSCBJQ0ggREVOTiBEQU5OIERFTiBHQU5aRU4gVEFHPyE/CkppZGR1LCBuaWNodCBzdWVjaHRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcm5ldHN0cmVpayAoUGF0cnluLCAgMS4gT2t0IDE5OTgsIDE3OjMzOjM4KToKfiMhIHJuPU1jY2F1bHMgcnQ9OTA3MjQyNDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CnVuZCB3YXMgbWFjaGVuIGRpZSwgd2VsY2hlIHp1IGhhdXNlIGVpbmUgMTAtTUJpdCBzdGFuZGxlaXR1bmcgaW0gbW9uYXQgZnVlcgoyMCwtIGdlbmllc3Nlbj8gbmEgamEgZ3V0Li4uc29saWRhcml0YWV0IHplaWdlbiA6KSBpY2ggcmVubmUgamV0enQgc2Nob24Ka3JlaXNlLCB3ZW5uIGljaCBkYXJhbiBkZW5rZTogaXN0IGRhcyB3ZW5pZ3N0ZW5zIGFtIHdvY2hlbmVuZGU/IDspCgp1bSBtYWwgZXJuc3QgenUgd2VyZGVuOiBkYXMgcHJvYmxlbSBpc3QsIGRhc3MgZGVuIGdyb3NzdGVpbCBkZXIgaW50ZXJuZXR1c2VyCmluendpc2NoZW4gZGllIGdlbGVnZW5oZWl0cy1tYWlsLWxlc2VyIGF1c21hY2h0LiBkaWUgd2VyZGVuIGRhdm9uIGthdW0KZXR3YXMgbWl0YmVrb21tZW4sIHdlbm4gbWFuIG5pY2ggYWljaCBhbmRlcmUgbWVkaWVuIG51dHp0LCB1bSBkaWVzZW4KdGFnIGFscyBpbnRlcm5ldC1zdHJlaWstdGFnIHp1IGtlbm56ZWljaG5lbi4gd2lyIHdlcmRlbiBhbHNvIGxlaWRlciBzbwpndXQgd2llIG5pY2h0IGlucyBnZXdpY2h0IGZhbGxlbi4gbXVkLXVzZXIgc2luZCB6d2FyIG5lIGd1dHphaGxlbmRlCnRydXBwZSwgYWJlciBrZWluZSBzb25kZXJsaWNoIGdyb3NzZS4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW50ZXJuZXRzdHJlaWsgKEppZGR1LCAgMS4gT2t0IDE5OTgsIDE3OjM1OjM0KToKfiMhIHJuPVBhdHJ5biBydD05MDcyNTYwMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKRWhobSB3b2doZXIgaGFzdCBkdSBzb25lIFN0YW5kTGVpdHVuZz8KSmlkZHUsIG5pY2h0IHN1ZWNodGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZXJuZXRzdHJlaWsgKE1haGF0bXUsICAxLiBPa3QgMTk5OCwgMTg6MjE6NTgpOgp+IyEgcm49SmlkZHUgcnQ9OTA3MjU2MTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CkljaCBnbGF1YmUgZWluZSBVbWZyYWdlIGdhZWJlIFBBdHJ5biByZWNodCwgZGllIG1laXN0ZW4gTXVkZGVyIHNpbmQgZG9jaApjaHJvbmlzY2hlIExhbmd6ZWl0c3R1ZGVudGVuLiBBbGxlcmRpbmdzIGthbm4gbWFuIGFscyBBcmd1bWVudCBpbnMgU3BpZWwKd2VyZmVuLCBkYXNzIE1VRCBlaW4gc2VociBndXRlcyBLb21tdW5pa2F0aW9uc21pdHRlbCBpc3QsIHVuZCBkYXMgVmVyLQpicmVpdGVuIGRlciBJbmZvcm1hdGlvbiB3YXIgamEgSW50ZW50aW9uLCBvZGVyPwoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEludGVybmV0c3RyZWlrIChUcmFuY2VmZWFyLCAgMS4gT2t0IDE5OTgsIDE5OjQwOjA1KToKfiMhIHJuPUppZGR1IHJ0PTkwNzI1NjEzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNzI0MjQ0NgpTdHVkZW50ZW53b2huaGVpbSBtaXQgRXRoZXJuZXRhbnNjaGx1c3MgYW4gZGllIFVuaT8KCk5lZSBrZWluZSBBbmdzdCBkYXMgaXN0IGVpbiBTb25udGFnLCBkYSBtYWNodCBtYW4gZWggd2FzIGFuZGVyZXMgYXVzc2VyIG11ZGRlbgpvZGVyPyA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJbnRlcm5ldHN0cmVpayAoSmlkZHUsICAxLiBPa3QgMTk5OCwgMTk6NDA6NTcpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDcyNjM2MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKSmlkZHUgc2NoYWVtdCBzaWNoIGFscyBlciBiZW1lcmt0IGRhcyBlciBlaWdlbnRsaWNoIE5JRSB3YXMgYW5kZXJlcyBtYWNodCAtCmdlcmFkZSBzb25udGFnIG5lZCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGluayAoSG91c2Vob2xkZXIsICAxLiBPa3QgMTk5OCwgMjA6NTg6MTMpOgp3aWUgd2FlcnMgbWl0IGVpbmVtIGxpbmsgdm9uIGRlciBtdWQtc2VpdGUgYXVmIGRpZSBzdHJlaWtzZWl0ZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVybmV0c3RyZWlrIChBbGJvaW4sICAyLiBPa3QgMTk5OCwgMTE6MDc6NDQpOgp+IyEgcm49TWFoYXRtdSBydD05MDcyNTg5MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKImNocm9uaXNjaGUgTGFuZ3plaXRzdHVkZW50ZW4iIGtpY2hlciogaXN0IGRhcyBHbG9pbnNjaGVyIFN0aWwgb2RlciBoYXN0ZSBkYQp0YXRzYWVjaGxpY2ggd2FzIGRvcHBlbHRnZW1vcHBlbHQ/Ci0+IGFiIG5hY2ggU2NobWFycm4KCkFsYm9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlcm5ldHN0cmVpayAoVGVkZHksICAyLiBPa3QgMTk5OCwgMTE6Mzc6NTkpOgp+IyEgcm49SmlkZHUgcnQ9OTA3MjU1NjE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2ClNwb250YW5lIE11ZHBhcnR5PwoKVGVkZHksIG5pY2h0IHN1ZWNodGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZXJuZXRzdHJlaWsgKFRlZGR5LCAgMi4gT2t0IDE5OTgsIDExOjM4OjU5KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTA3MjYzNjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CldhcyBhbmRlcmVzPwpXYXMgZGVubj8KClRlZGR5LCBuZXVnaWVyaWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVybmV0c3RyZWlrIChMdWcsICAzLiBPa3QgMTk5OCwgMDM6NDE6MDApOgp+IyEgcm49TW9yZ290aCBydD05MDcyNDQ1MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKR3V0ZSBJZGVlIQoKU2NoaWVzc2UgYXVzbmFobXN3ZWlzZSBtYWwgbmljaHQgcXVlci4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZXJuZXRzdHJlaWsgKEdvcm9nLCAgMy4gT2t0IDE5OTgsIDE0OjUxOjUyKToKfiMhIHJuPUx1ZyBydD05MDczNzg4NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDcyNDI0NDYKV2Fubj8KV28/CldpZT8KCkdvcm9nIGJyYXVjaCBtYWwgd2llZGVyIG5lIEd1dGUgUGFydHkgKDsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcm5ldHN0cmVpayAoSmltZGlncml6LCAgNS4gT2t0IDE5OTgsIDE4OjQzOjM1KToKfiMhIHJuPU1jY2F1bHMgcnQ9OTA3MjQyNDQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3MjQyNDQ2CkhvaSAqLAoKYWxzbyBpY2ggd2Vpc3MgbmljaHQgcmVjaHQsIHp1bmFlY2hzdAppc3QgbWlyIGFuIGRlbSBTdHJlaWthdWZydWYgYXJnIG5lZ2F0aXYgYXVmZ2VmYWxsZW4sCmRhc3MgZXIgc2ljaCBhZXVzc2Vyc3QgU1BBTSBhcnRpZyB2ZXJicmVpdGV0LgoKV2VpdGVyaGluIHNjaGFldHplIGljaCBkaWUgU2l0dWF0aW9uIGluIERldXRzY2hsYW5kCmRlcmFydGlnIGVpbiwgZGFzcyBzbyBlaW4gU3RyZWlrIGFsbGVuZmFsbHMgdmVyd3VuZGVydW5nCmJlaSBkZW4gVGVsZWtvbWlrZXJuIGhlcnZvcnJ1ZmVuIHdpcmQuIApadW5hZWNoc3QgbWFsIHdpcmQgZGllIFRlbGVrb20ga2VpbmVuIHJpZXNpZ2VuIFZlcmx1c3QKbWFjaGVuLCB3ZWlsIGVpbiBwYWFyIEhhbnNlbG4gaW4gLmRlIG1hbCBlaW5lbiBUYWcgbmljaHQKc3VyZmVuLiBTY2hsaWVzc2xpY2ggd2lyZCB3ZWl0ZXJoaW4gdGVsZWZvbmllcnQgCndlcmRlbiAodW5kIGRhcyBpc3Qgbm9jaCBlaW4gc2VociBncm9zc2VyIEFudGVpbCkKdW5kIGRpZSBVbnRlcm5laG1lbiB3ZXJkZW4gYXVjaCBuaWNodCBJaHJlCkxlaXR1bmdlbiBrYXBwZW4gKGRpZSBlaCBTdGFuZGxlaXR1bmdlbiBzaW5kKSwgdW5kCmdlbmF1IGRhbWl0IHZlcmRpZW50IGRpZSBUKiBJaHIgR2VsZC4KU2NobGllc3NsaWNoIHdpcmQgZGllIFQqIGFsbGVyZGluZ3MgZHVyY2ggZWluZQpGcmVpZ2FiZSBkZXIgT3J0c2dlc3ByYWVjaGUgKHNvIHNjaGVpbnQgd29obCBkaWUKRm9yZGVydW5nLCBkYSBkaWVzIGRlciBTaXR1YXRpb24gaW4gVVNBIGVudHNwcmljaHQpCmRpZSBUZWxla29tIHZpZWx2aWVsdmllbCBtZWhyIEdlbGQga29zdGVuIGFscwpzbyBlaW4gd2luemlnZXIgbGFlY2hlcmxpY2hlciAoc29ycnksIG5vIG9mZmVuY2UpClN0cmVpay4gU2NobGllc3NsaWNoIGJlc2l0enQgZGllIFQqIG5vY2ggZGFzIE1vbm9wb2wKYmVpIGRlciAibGFzdCBtaWxlIiBhbHNvIGltIE9ydHNiZXJlaWNoLgpEaWUgd2VyZGVuIHNpY2gga2F1bSBiZWVpbmRydWNrZW4gbGFzc2VuLgpTY2hsaWVzc2xpY2ggaGF0IGRpZSBSZWd1bGllcnVuZ3NiZWhvZXJkZSBhdWNoCm5vY2ggZWluIFdvZXJ0Y2hlbiBtaXR6dXJlZGVuLgoKQWxzbyBuaXggZ2VnZW4gZGllIGRpZSBTdHJlaWtlbiB3b2xsZW4sCndlciB3aWxsIHNvbGxzIG1hY2hlbi4gSWNoIGhhYiB2ZXJtdXRsaWNoIGFuIGRlbQpUYWcgc293aWVzbyBhbmRlcmVzIHp1IHR1biwgYWxzbyBzdGVsbHQgc2ljaApkaWUgRnJhZ2UgbmFjaCBTb2xpZGFyaXRhZXQgbmljaHQgOy0pCgpBYmVyIGJpdHRlIGVyd2FydGV0IGJsb3MgbmljaHQsIGRhc3MgZXMgaXJnZW5kd2FzCmJyaW5ndC4gKEZhbGxzIGRvY2ggSGVyemxpY2hlbiBHbHVlY2t3dW5zY2gpCgpKdXN0IG15ICQwLjAyLAogSmltIERpR3JpeiAocGVzc2ltaXN0ID8gcmVhbGlzdCA/IHdvIGlzdCBkZXIgdW50ZXJzY2hpZWQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVybmV0c3RyZWlrIChXdXJ6ZWwsICA1LiBPa3QgMTk5OCwgMTk6Mzc6MDIpOgp+IyEgcm49SmltZGlncml6IHJ0PTkwNzYwNTgxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNzI0MjQ0NgpkYXMgd2lyZCBkaWUgdGVsZWtvdHogYmVzdGltbXQgbmljaHQgbWVya2VuLCBkYSBnZWIgaWNoIGRpciByZWNodC4KYXVjaCB3ZW5uIHNpZSBkYXMgbW9ub3BvbCBpbSBvcnRzYmVyZWljaCBuaWNodCBtZWhyIGhhYmVuLCBzaWVoZSBuZXRjb2xvZ25lCnVuZCBhZWhubGljaGUgbGFlZGVuLCBpc3QgZXMgaW1tZXIgbm9jaCBlaW4gcXVhc2ltb25vcG9sLCBkYSBtYXNzaXZlCmludmVzdGl0aW9uZW4gZGVyIG5ld2NvbWVyIG5vZXRpZyB3YWVyZW4sIHVuZCBkYSBoYWx0ZW4gZGllIHNpY2ggbGllYmVyCnp1cnVlY2suCmltIHVlYnJpZ2VuIGlzdCBlcyBub2NoIGltbWVyIHNvICh0cm90eiBrb25rdXJyZW56KSwgZGFzcyBkaWUgdGVsZWtvdHogdWViZXIKZGllIGhhZWxmdGUgZGVzIHVtc2F0emVzIG1pdCBkZW4gZ3Jvc3NrdW5kZW4gbWFjaHQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNyYXNoZm9sZ2VuIChDYXR3ZWF6bGUsICA2LiBPa3QgMTk5OCwgMTE6Mzc6MzcpOgpNb2luIQoKRXMgaGF0IGVpbmlnZSBTYXZlZmlsZXMgemVyc2Nob3NzZW4uIEF1c3NlcmRlbSBpc3QgZGVyIHd1bmRlcnNhbWUgRWZmZWt0CmVpbmdldHJldGVuLCBkYXMgZWluaWdlIHNhdmVmaWxlcyBhdWYgYW5kZXJlIGtvcGllcnQgd3VyZGVuLCBkaC4gbWFuY2hlCnNwaWVsZXIga29lbm5lbiBhbGlzLCBwcm9wZXJ0aWVzIGV0Yywgdm9uIGFuZGVyZW4gaGFiZW4uCgpXZXIgUHJvYmxlbWUgaGF0IGJlaW0gRWlubG9nZ2VuIG9kZXIgc2ljaCB1ZWJlciBzZWluZSBXZXJ0ZSB3dW5kZXJ0LCBtb2VnZQpzaWNoIGJpdHRlIGJlaSBtaXIgbWVsZGVuLCBkYW1pdCBpY2ggZGVuIE9yaWdpbmFsY2hhcmFrdGVyIHJlc3RhdXJpZXJlbiBrYW5uCi4uLi4KWW91cnMgdHJ1bHksCiAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjcmFzaGZvbGdlbiAoQ2F0d2VhemxlLCAgNi4gT2t0IDE5OTgsIDExOjQzOjA3KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDc2NjY2NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDc2NjY2NTcKRGEgUHJvYmxlbSBzaWVodCBmYXRhbGVyIGF1cywgYXVmIGRlciBQbGF0dGUgd2VyZGVuIGRpZSBzYXZlZmlsZXMKZHVyY2hlaW5hbmRlciAKZ2V3dWVyZmVsdC4gSWNoIG11c3MgZWluZW4gZnNjayBtYWNoZW4gdW5kIGRhaGVyIGxlaWRlciBib290ZW4uLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY3Jhc2hmb2xnZW4gKE1haGF0bXUsICA2LiBPa3QgMTk5OCwgMTU6Mjc6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwNzY2Njk4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNzY2NjY1NwpIbW1tIC0gd2llIGhvY2ggc3RlaHQgZGllIENoYW5jZSwgZGFzIE1haGF0bWFzIFByb3BlcnRpZXMgYXVmIEdsb2luc29uCmtvcGllcnQgd3VyZGVuPyAxOjEwMDAwID8gOikpKSBHbGVpY2ggbWFsIGVpbmxvZ2dlbiA7LSkKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBjcmFzaGZvbGdlbiAoTW9yZ290aCwgIDYuIE9rdCAxOTk4LCAxNToyODozOSk6Cn4jISBybj1NYWhhdG11IHJ0PTkwNzY4MDQ1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwNzY2NjY1NwpibGFlc3QgZHUgbWFoYXRtYSBhdWNoIGFiIHVuZCB6dSBtYWwgZWluZW4sIGRhbWl0IGVyIGRpciBlaW4gcGFhciB0cmljawp2ZXJyYWV0PwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNyYXNoZm9sZ2VuIChNYWhhdG11LCAgNi4gT2t0IDE5OTgsIDE2OjEzOjIyKToKfiMhIHJuPU1vcmdvdGggcnQ9OTA3NjgwNTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA3NjY2NjU3Ckd1dGUgSWRlZS4gV2llIHdhZXJzLCB3ZW5uIER1IGRhcyBtYWwgYmVpIFJvY2h1cyBwcm9iaWVyc3QsIGRhbWl0IERlaW5lCkdlZ2VuZGVuIHdlbmlnZXIgYnVnZ2VuPwoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBvc3RtZW51ZSAoRm9uZG9yLCAgNi4gT2t0IDE5OTgsIDIzOjA3OjM0KToKSHVodSBhbGxlbWl0ZWluYW5kZXIhCgpIYXQgamVtYW5kIG5lIGlkZWUgd2llIGljaCBhYnN0ZWxsZW4ga2FubiwgZGFzIGljaCBuYWNoZGVtIGljaCBuZSBtYWlsIChpbQptdWQpIGdlbGVzZW4gaGFiIGplZGVzIG1hbCBhdXNtIHBvc3RtZW51ZSBmbGllZ2U/CkZvbmRvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmVyZmxpeHRlcyBsb2NoIChBbmRyZXcsIDExLiBPa3QgMTk5OCwgMjM6MTA6MjQpOgplaW4gZmVyZmxpeHRlcyBsb2NoIGluIHB3LCBkYSBrYW0gaWNoIG5pY2h0IG1laHIgcmF1cywgdmVyZmxpeHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdoaWVyIHVuZCBWUyAgKEZyb2dodW50ZXIsIDEyLiBPa3QgMTk5OCwgMTU6MzY6MjcpOgpMZXR6dGUgTmFjaHQgaGFiIGljaCBlaW4gYmlzY2hlbiBXZWdoaWVyZSBnZW1ldHplbHQsIHVtIHJ1bXp1cHJvYmllcmVuIHVuZApTcGFzcyB1bmQgU3Bhbm51bmcgenUgaGFiZW4uIEVzIHdhcmVuIGFsbGVzIHppZW1saWNoIGxhbmdlIEthZW1wZmUsIGRpZQptaWNoIG1hbmNobWFsIGZhc3QgZGVuIEtvcGYgZ2Vrb3N0ZXQgaGFiZW4uIEhldXRlIG51biBkYXMgR2VqYW1tZXIuICdNZWluClZTIGlzdCB3ZWcgISBXYWFhaCAhJyBOYWphLCBkYXMgd29sbHRlIGljaCBkYW1pdCBuYXR1ZXJsaWNoIG5pY2h0IGJlLQp6d2Vja2VuLiBFcyB0dXQgbWlyIGF1Y2ggZnVlciBkaWUgTGV1dGUgbGVpZCwgZGllIHNpY2ggZGVuIGhhcnQgZXJhcmJlaXRldApoYWJlbi4gRGVzd2VnZW4gd2VyZGUgaWNoIG1pY2ggZGEgaW4gWnVrdW5mdCBldHdhcyBtZWhyIHp1cnVlY2toYWx0ZW4sIHdlbm4Kc2ljaCBhbiBkZXIgVlMtVmVydGVpbHVuZyBuaWNodHMgYWVuZGVydC4KTmljaHQgVmVyc3RlaGVuIGthbm4gaWNoIGRhcyBHZWphbW1lciB2b24gTGV1dGVuLCBkaWUgZGFzIERpbmcgZ2VzY2hlbmt0CmJla2FtZW4gb2RlciBpaHJlIFp3ZWl0aWVzIGRhbWl0IGF1c2dlcnVlc3RldCBoYWJlbiwgZGVubiBlcnN0ZXJlIGhhYmVuCnJlaW4gZ2FyIG5pY2h0cyBkYWZ1ZXIgZ2V0YW4gdW5kIGRpZSBMZXV0ZSwgZGllIGlocmVuIEJla2FubnRlbmtyZWlzIHVuZAppaHJlIFp3ZWl0aWVzIG1pdCBWb2xsc3RyZWNrZXJuIGF1c3J1ZXN0ZW4sIGhhYmVuIG5pY2h0cyBhbmRlcmVzIGdldGFuLAphbHMgaWNoIGF1Y2guIFdpZSBnZXNhZ3QsIGZ1ZXIgZGllLCBkaWUgaWhuIG5pY2h0IHNvIGVpbmZhY2ggYmVrb21tZW4KLSBiZWkgbWlyIGRhdWVydHMgamEgYXVjaCBuZSBoYWxiZSBFd2lna2VpdCAtIHR1dHMgbWlyIGxlaWQgdW5kIGljaApnZWxvYmUgbWljaCB6dSBiZXNzZXJuLiBEaWUgYW5kZXJlbiBzb2xsdGVuIHdpcmtsaWNoIG5vY2ggbWFsIGRydWViZXIKbmFjaGRlbmtlbiwgd2FzIHNpZSBtaXIgZGEgdm9yd2VyZmVuICEgCldlciBzZWluZSBad2VpdGllcyB1bmQgQmVrYW5udGVuIGRhbWl0IGF1c3J1ZXN0ZXQsIGtsYXV0IGphIGF1Y2ggYW5kZXJlbgpMZXV0ZW4gZGFzIFRlaWwuCgpCaXMgZGFubiwgRnJvZ2h1bnRlcgoKUC5TLjogSWNoIHdlaXNzLCBlcyBzaW5kIFR5cG9zIGRyaW4sIGFiZXIgaWNoIGdsYXViZSBtYW4gdmVyc3RlaHQsIHdhcyBpY2gKICAgICBzYWdlbiB3aWxsLiBGYWxscyBqZW1hbmQgbWFsIHdpZWRlciB2b3JzY2hsYWVndCwgaWNoIHNvbGwgbWljaCBkb2NoCiAgICAgbG9lc2NoZW4sIGRhbmtlIGZ1ZXIgZGllIEF1ZmhlaXRlcnVuZyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ2hpZXIgdW5kIFZTICAoRGllZGVyLCAxMi4gT2t0IDE5OTgsIDE1OjQzOjEwKToKfiMhIHJuPUZyb2dodW50ZXIgcnQ9OTA4MTk5Mzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3Clp3ZWl0aWVzIHNlaGUgaWNoIGVpbiwgYWJlciBCZWthbm50ZT8gV2VubiBpY2ggbmVtIEZyZXVuZCBiZWltIFdlZ2hpZXIgaGVsZmVuLApkYW1pdCBkZXIgYXVjaCBuZW4gVlMgYmVrb21tdCwga2FubiBzaWNoIHdvaGwgZGFyYW4ga2VpbmVyIGF1ZmhhZW5nZW4uIFdlbm4KaWNoIGFuIGRpZSBXYXJ0ZXNjaGxhbmdlbiB2b3JtIERyb20gZGVua2UgKGd1dCwgaXN0IHdhcyBhbmRlcmVzLCB3ZWlsIGVzIGRhCnVuYmVncmVuenQgUmluZ2UgZ2lidCkgb2RlciBhbiBhbmRlcmUgYWVobmxpY2hlIEZhZWxsZSwgc2VoZSBpY2ggYmVpCkJla2FubnRlbi9GcmV1bmRlbiBpbW1lciBub2NoIGRlbiBMZWl0c2F0ejogV2VyIHp1ZXJzdCBrb21tdCwgbWFobHQgenVlcnN0LgoKRGllZGVyLCBoYXV0IGRlbiBXZWdoaWVyIGF1Y2ggb2Z0IHVtLCBhYmVyIG5pY2h0IG51ciBmdWVyIHNpY2gsIHVuZCB3YXJ0ZXQKYWJlciBhdWNoIG5pY2h0IGF1ZiBpaG4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWdoaWVyIHVuZCBWUyAgKEJ1cm4sIDEyLiBPa3QgMTk5OCwgMTY6NDM6NTYpOgp+IyEgcm49RnJvZ2h1bnRlciBydD05MDgxOTkzODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKTmEsIGhvZmZlbnRsaWNoIGxlc2VuIFJvY2h1cyB1bmQgQm9pbmcgZGVuIEFydGlrZWwgYXVjaCwgd2VubiBqZW1hbmQgZGVuCldlZ2hpZXIgNXggaGludGVyZWluYW5kZXIgImF1cyBTcGFzcyIgbWFjaHQsIGhlaXNzdCBlcyB3b2hsIFdlZ2hpZXIgYXVmd2VydGVuCnVuZCBLYWVtcGZlciBhYndlcnRlbiA7KQoKTmViCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlZ2hpZXIgdW5kIFZTICAoQW5hdG9sLCAxMi4gT2t0IDE5OTgsIDE2OjQ4OjQ5KToKfiMhIHJuPUJ1cm4gcnQ9OTA4MjAzNDM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3Ck5hLCB3YXMgaXN0IGV1Y2ggZGVubiBzbyB1ZWJlciBkaWUgTmllcmVuIGdlaG9wcGVsdD8gTnVyIHdlaWwgamVtYW5kLCBkZXIKKnp1ZmFlbGxpZyogS2FlbXBmZXIgaXN0LCBkZW0gV2VnaGllciBlaW5lIE5hY2h0IGxhbmcgZGFzIChrdXJ6ZSkgTGViZW4Kc2Nod2VyIG1hY2h0LCBoZWlzc3QgZGFzIChhKSBuaWNodCwgZGFzcyBkYXMgVm9sbHN0cmVja2VyLVByaW56aXAgc2NobGVjaHQKaXN0LCAoYikgbmljaHQsIGRhc3MgS2FlbXBmZXIgYWxsZ2VtZWluIHp1IHN0YXJrIHNpbmQgKHNpbmQgc2llIHZpZWxsZWljaHQsCmFiZXIgbmljaHQgX2Rlc3dlZ2VuXyEpLiBVbmQgKGMpIGhlaXNzdCBlcywgZGFzcyBlcyBmdWVyIGRpZSBWb2xsc3RyZWNrZXItCm51dHplciBoaW4gdW5kIHdpZWRlciBnYW56IHByYWt0aXNjaCBpc3QsIGF1ZiBkZW4gQm9kZW4gZGVyIFRhdHNhY2hlbiB6dS0KcnVlY2tnZWhvbHQgenUgd2VyZGVuLiA6bykuCgpIZXVsdCBkb2NoIDopCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWdoaWVyIHVuZCBWUyAgKEhvb2QsIDEyLiBPa3QgMTk5OCwgMTg6MDY6NTEpOgp+IyEgcm49RnJvZ2h1bnRlciBydD05MDgxOTkzODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKZHUgaGFldHRlc3QgZGVuIGFydGlrZWwgYXVmcyB3ZXNlbnRsaWNoZSBlaW5rdWVyemVuIGtvZW5uZW46CiBoZXksIGljaCBoYWIgbWVocm1hbHMgaGludGVyZWluYW5kZXIgZGVuIHdlZ2hpZXIgZ2VtYWNodCwgc3RhdW50IG1pY2ggYW4hCmRpZSBrbGVpbmUgc3RvcnksIGRpZSBkdSBkYSBrcmFtcGZoYWZ0IGRydW1nZWJhc3RlbHQgaGFzdCwgc2NoYXV0IGF1Y2gKbmljaCBiZXNzZXIgYXVzLCBhbHMgZGllIHN0b3JpZXMsIG1pdCBkZW5lbiBtYW4gc2ljaCBpbiBhY3Rpb25maWxtZW4Kdm9uIGdld2FsdHN6ZW5lIHp1IGdld2FsdHN6ZW5lIHNjaGxlcHB0LgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWdoaWVyIHVuZCBWUyAgKERlZXBibHVlLCAxMi4gT2t0IDE5OTgsIDE4OjQzOjIzKToKfiMhIHJuPUhvb2QgcnQ9OTA4MjA4NDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CklzdCBlaCBmZWlnZSwgd2VubiBlciBkZW4gV2VnaGllciBtZXR6ZWx0LCB3ZW5uIGVyIFBhdHJ5biBtZXR6ZWxuIHd1ZXJkZSwgd2FlcgpkYXMgbmUgZ3JvZXNzZXJlIExlaXN0dW5nIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VnaGllciB1bmQgVlMgIChUcmFuY2VmZWFyLCAxMi4gT2t0IDE5OTgsIDIxOjA2OjE2KToKfiMhIHJuPUZyb2dodW50ZXIgcnQ9OTA4MTk5Mzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3Ck5hamEgdmllbGVsaWNodCBrb2VubnRlIG1hbiBzaWUgU2l0dWF0aW9uIGVpbiB3ZW5pZyBlbnRzY2hhZXJmZW4gd2VubiBlcyBiZWkKZGVuIFZvbGxzdHJlY2tlcm4gYWVobmxpY2ggd2llIGJlaSBkZW4gU2NoYXR0ZW5ydWVzdHVuZ2VuIHp3ZWkgU29ydGVuIGdhZWIsCmRlbiAiZWNodGVuIiB1bmQgZWluZW4gZGVyIG51ciBpbiBkZXIgSGFuZCBkZXMgV2VnaGllcnMgImVjaHQiIGlzdCwgYW5zb25zdGVuCmFiZXIgbmUgZWhlciBkdXJjaHNjbml0dGxpY2hlIFdhZmZlLiBEYW5uIGthbm4gc2VoZXIgeHl6IGRlbiBXZWdoaWVyIHdlbm5lcgpkZW5uIHdpbGwgMTB4IHBybyBOYWNodCBwbGF0dGhhdWVuLCBtaXQgdmllbGxlaWNodCBlaW5lbSAiZWNodGVuIiBWUyBhbHMKQXVzYmV1dGUuIApSb2NodXMgPwoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VnaGllciB1bmQgVlMgIChUZWRkeSwgMTIuIE9rdCAxOTk4LCAyMToyNzo1Nik6Cn4jISBybj1CdXJuIHJ0PTkwODIwMzQzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpJY2ggaGFiIGRlaW5lbiA7KSBnZXNlaGVuLCBhYmVyIHRyb3R6ZGVtOiBEZXIgV2VnaGllciBpc3QgbWl0IGVpbiB3ZW5pZwpOYWNoZGVua2VuIGZ1ZXIgbmFoZXp1IGFsbGUgR2lsZGVuIGtlaW4gUHJvYmxlbS4KRFUgc29sbHRlc3QgZGFzIGdhbnogYmVzb25kZXJzIHdpc3NlbiwgTmViLiA7KQpJbSB1ZWJyaWdlbiwgaWNoaGFiIGRlbiBhdWNoIHNjaG9uIG1laHJmYWNoIGhpbnRlcmVpbmFuZGVyIGdlbWV0emVsdCwgRnJldW5kZW4KZGVuIEtpbGwgZ2VzY2hlbmt0IG9kZXIgYWVobmxpY2hlcywgd28gUHJvYmxlbS4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlZ2hpZXIgdW5kIFZTICAoSmlkZHUsIDEyLiBPa3QgMTk5OCwgMjM6MjU6NDcpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDgyMTkxNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKRGFzIGhpZXNzZSwgZGFzcyB3ZW5uIGplbWFuZCBkZW4oZGFzPykgV2VnaGllciB0b2V0ZSB1bSBlaW4gImVjaHRlIiBWUyB6dQpiZWtvbW1lbiBkYXMgRmllY2ggdmllbGxlaWNodCAxMCBtYWwgdG9ldGVuIG11c3M/PyBXaWUgd2FlcnMgd2VubiBiZWltIFRvZApnZWNoZWNrdCB3aXJkIG9iIGRlciBNb2VyZGVyIHNjaG9uIGVpbiAiZWNodGVuIiBWUyBoYXQgdW5kIGRhbm4gZ2VnZWJlbmVuZmFsbHMKaW4gZGVyIExlaWNoZSBkZW4gVlMgZ2VnZW4gZWluZW4gImZhbHNjaGVuIiBhdXN0YXVzY2h0PwoKS2FyYXRla2EgSmlkZHUgZ2VodCBkYXMgbml4IGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWdoaWVyIHVuZCBWUyAgKERpZWRlciwgMTMuIE9rdCAxOTk4LCAwMDozODoyNyk6Cn4jISBybj1Ib29kIHJ0PTkwODIwODQxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpEdSBoYXN0IGRhIHdvaGwgd2FzIHZlcndlY2hzZWx0LiAgV2VubiBlciBlaW5pZ2VtYWwgZGVuIFdlZ2hpZXIgbWV0emVsdCwgZGFubgp3b2hsIG5pY2h0IHdlZ2VuIGRlciBhbGxnZW1laW5lbiBCZXd1bmRlcnVuZywgYXVmIGRlbiBNb2VyZGVyLUthbmFsIHNjaGF1dCBlaAprYXVtIGplbWFuZC4KSWNoIHdhZXJlIGRhZnVlciwgZW50d2VkZXIgZGVuIFZTL1dlZ2hpZXIgenUgdmVyc3RhZXJrZW4sIG9kZXIgYWJlciBkaWUgQW56YWhsCnp1IGVyaG9laGVuLCBkZW5uIHdlbm4gd2lya2xpY2ggamVkZSBHaWxkZSwgd2llIGluIEFydGlrZWxuIGdlc2FndCwgaWhuIG9obmUKUHJvYmxlbWUgbWV0emVsdCwgdW1oYXV0LCBkYW5uIGthbm4gZGFzIG1pdCAxMCBWUyB3b2hsIG5pY2h0IHNlaW4uIApBbmRlcmVyc2VpdHMgYnJhdWNoZSBpY2ggbWlyIHZvbiBlaW5lbSBNYWdpZXIgbmljaHQgc2FnZW4genUgbGFzc2VuLCBkYXNzIGVyCm1pY2ggdW1oYXV0LCB3ZW5uIGljaCBkZW4gV2VnaGllciBtZXR6ZWwgKHdpZSB3aXJrbGljaCBnZXNjaGVoZW4pLiBXZXIgenVlcnN0CmtvbW10LCBtYWhsdCB6dWVyc3QsIGJ6dy4gZ2xlaWNoZSBSZWNodGUgZnVlciBhbGxlLiBVbmQgd2VubiBpY2ggYWxzIGVyc3RlcgpkZW4gV2VnaGllciBlcndpc2NoZSBwbGFldHRlIGljaCBpaG4gYXVjaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ2hpZXIgdW5kIFZTICAoRnJvZ2h1bnRlciwgMTMuIE9rdCAxOTk4LCAwMDo0NTo0MCk6Cn4jISBybj1Gcm9naHVudGVyIHJ0PTkwODE5OTM4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpIYWxsbyBQYXRyeW4sIHdlbm4gRHUgZ2xhdWJzdCwgaWNoIHNjaHJpZWIgZGVuIEFydGlrZWwsIHVtIGJlc3RhdW50IHp1CmVyZGVuLCBoYXN0IER1IGRhIHdhcyBuaWNodCBnZWNoZWNrdC4gSWNoIHdpbGwgbnVyIHNvIG1ldHplbG4ga29lbm5lbiwKd2llIGljaCBMdXN0IGhhYmUuIEljaCBoYXR0ZSBkZW4gV2VnaGllciB2b3JoZXIga2F1bSBnZWtpbGx0LCB1bmQgd2VubnMKcGxvZXR6bGljaCBtYWwgU3Bhc3MgbWFjaHQsIHdlaWwgZGllIEF1c3J1ZXN0dW5nIHNvIGd1dCB6dSBkZW0gcGFzc3QsCmRhbm4gd2lsbCBpY2ggZGVuIGF1Y2ggb2VmdGVyIG1hY2hlbiBkdWVyZmVuLCB3ZW5uIHNvbnN0IGtlaW5lciB3aWxsLgpEYXMgR2VsYWJlciBkYXZvciB3YXIgbnVyLCB1bSBkZXV0bGljaCB6dSBtYWNoZW4sIGRhc3MgaWNoIGRlbiBhdWNoIG5pY2h0CmltIHZvcmJlaWdlaGVuIG1hY2hlbi4gSGFldHRlIGljaCBkYXMgbWFsZXJpc2NoIGF1c2Z1ZWhyZW4gd29sbGVuLCB3YWVyZQpkZXIgQXJ0aWtlbCAxMCBTZWl0ZW4gbGFuZyBnZXdvcmRlbiA7KQpVbmQgbnVuIHp1IERpZWRlcjogSWNoIGZpbmRlIGVzIG9rYXksIHdlbm4gRHUgZnVlciBGcmV1bmRlIG5lbiBWUyBob2xzdC4KVW5kIHdlbm4gRHUgamVtYW5kZW0gZGFiZWkgaGlsZnN0LCBpc3RzIGVyc3QgcmVjaHQgT0suClp1IEJ1cm46IERlciBTcHJ1Y2g6ICdEZXIgV2VnaGllciBpc3QgbmljaHQgenVtIG1ldHplbG4gZGEnIHdhciBlY2h0IGx1c3RpZy4KCkZyb2dodW50ZXIgKCByZW5udCBtYWwgd2llZGVyIFZhbGl1bSB2ZXJ0ZWlsZW5kIGR1cmNocyBNRyApCgpQLlM6IERhcyB3YXJlbiBudXIgVlMsIGRpZSBrb21tZW4gdW5kIGdlaGVuLCB1bmQgaWNoIGhhYiBuaWNodCB2b3IsIG1pcgogICAgIGplZGUgTmFjaHQgbWl0IGRlbSBXZWdoaWVyIHVtIGRpZSBPaHJlbiB6dSBzY2hsYWdlbiwgYWxzbyBrb21tdCAKICAgICB3aWVkZXIgcnVudGVyLiBXZW5uIGplbWFuZCBydW1oZXVsdCwgZGVyIGRlbiBzY2huZWxsZXIgaG9sdCBhbHMgaWNoLAogICAgIHplcnJlaXNzdCBlcyBtaXIgd2lya2xpY2ggZGFzIEhlcnogKnNjaGx1Y2h6KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWdoaWVyIHVuZCBWUyAgKERpZWRlciwgMTMuIE9rdCAxOTk4LCAwMDo1Nzo0MCk6Cn4jISBybj1Gcm9naHVudGVyIHJ0PTkwODIzMjM0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpnZW5hdSBtZWluZSBNZWludW5nLCBkYXMgaGFiIGljaCB2ZXJzdWNodCwgaW4gbWVpbmVuIDIgQXJ0aWtlbG4gZGFyenVzdGVsbGVuLgoKR3J1c3MsCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VnaGllciB1bmQgVlMgIChCdXJuLCAxMy4gT2t0IDE5OTgsIDA5OjE4OjQ4KToKfiMhIHJuPUFuYXRvbCBydD05MDgyMDM3Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKQW5hdG9sOiBPa2F5LCBpY2ggZ2ViIHp1LCBoYXVwdHNhZWNobGljaCBoYXQgbWljaCBnZWFlcmdlcnQsIGRhc3MgaWNoIENha2V5IGFtCmVpbmVuIEFiZW5kIGJlaW0gV2VnaGllciBnZWhvbGZlbiBoYWJlIHVuZCBhbHMgd2lyIGFtIG5hZWNoc3RlbiBBYmVuZApnZW1laW5zYW0gbWV0emVsbiBnZWhlbiB3b2xsdGVuLCB3YXIgc2VpbiBWUyBzY2hvbiB3aWVkZXIgdmVyc2Nod3VuZGVuLCB1bmQKYWxzIHdpciB1bnMgd3VuZGVydGVuLCBrYW0gbm9jaCBzbyBuZQpJY2gtYmluLUthZW1wZmVyLXVuZC1oYXUtZGVzd2VnZW4tYWxsZXMtcGxhdHQtb2huZS1uYWNoenVkZW5rZW4tV3Vyc3QgdW5kCnByb2xsdCBtaXQgNSBXZWdoaWVya2lsbHMgaGludGVyZWluYW5kZXIgYXVmIGRlbSBTZWhlcmthbmFsIHJ1bSwgb2J3b2hsIGdhbnoKa2xhciBpcywgZGFzcyBkZXIgVlMgZGFubiBhbmRlcmVuIExldXRlbiBkYW5uIHVtIHNvIHNjaG5lbGxlciB3aWVkZXIKdmVyc2Nod2luZGV0LgpUZWRkeTogQWxzbywgTmViIGhhdCBkZW4gV2VnaGllciBzZWl0IGRlciBUYW5rcmVmb3JtIG5pZSBtZWhyIG9obmUgUHJvYmxlbWUKZ2VtYWNodCwgZ2VzY2h3ZWlnZSBkZW5uIDV4IGhpbnRlcmVpbmFuZGVyLgoKQmlzIGRlbm4sIE5lYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlZ2hpZXIgdW5kIFZTICAoTWVuc2FuYSwgMTMuIE9rdCAxOTk4LCAxMTozMjo1Nik6Cn4jISBybj1CdXJuIHJ0PTkwODI2MzEyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpBbHNvIGRpZSBCZWdyZW56dW5nIGF1ZiBlaW5lIGdld2lzc2UgQW56YWhsIGJlaSBlaW5pZ2VuIHN0YXJrZW4gU2FjaGVuIGZpbmRlCmljaCBndXQuIFdpZXZpZWxlLCBtdXNzIG1hbiBkdXJjaCBFcmZhaHJ1bmcgYmVzdGltbWVuLCAxMCBzY2hlaW50IGJlaW0gV2VnaGllcgpldHdhcyB3ZW5pZyB6dSBzZWluLgpJY2ggZGVua2UgZGEgbmFlbWxpY2ggYW4gZWluZW4gU3Rpcm5yZWlmLCBkZXIgYWJzb2x1dCBlaW5tYWxpZyBpc3QsIHVuZCBzbyB3YXMKZmluZGUgaWNoIGRhbm4gd2llZGVyIGZ1ZXJjaHRlcmxpY2ggdW5nZXJlY2h0IGRlbiBMZXV0ZW4gZ2VnZW51ZWJlciwgZGllIHNpY2gKZHVyY2ggZWluZSBsYWVuZ2VyZSBBdWZnYWJlIHF1YWVsZW4sIHVuZCBkYW5uIG1pdCBsZWVyZW4gSGFlbmRlbiB3aWVkZXIKcmF1c2tvbW1lbi4KQXVzc2VyZGVtLCB3ZW5uIGRhcyBQcmluemlwIGVyc3QgbWFsIGJla2FubnQgaXN0LCBzdGVsbGVuIHNpY2ggZGllIExldXRlCmRhcmF1ZiBlaW4gKHMuIEhlaWxpZ2VuIEhhbW1lcikuCgpNc2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWdoaWVyIHVuZCBWUyAgKE5vbm5lLCAxMy4gT2t0IDE5OTgsIDExOjU4OjQ0KToKfiMhIHJuPU1lbnNhbmEgcnQ9OTA4MjcxMTc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3Cldlbm4gZGFzIG1hbCBzbyBlaW5mYWNoIHdhZXJlLiBIYXN0IER1IHNjaG9ubWFsIGplbWFuZGVuIGZyYWdlbiBob2VyZW46IEljaApsb2cgbWljaCBqZXR6dCBhdXMsIG1vZWNodGUgamVtYW5kIG1laW5lbiBWUz8KTmVuZSwgc293YXMgZ2lidHMgbnVyIGJlaSBLbGVyaWtlcm4sIGJlaSBkZW4gYW5kZXJuIHNjaGVpbmVuIGVoZXIgTWlzc2d1bnN0CnVuZCBOZWlkIHp1IGhlcnJzY2hlbi4gU2VpIGZyb2gsIGRhc3MgRHUgc29ubiBEaW5nIG5pY2h0IGJyYXVjaHN0IDspCgpTY2hvZW4gaXN0IGRhcyBLbGVyaWtlcmxlYmVuIDopCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlZ2hpZXIgdW5kIFZTICAoQW5hdG9sLCAxMy4gT2t0IDE5OTgsIDEyOjE2OjQ3KToKfiMhIHJuPU1lbnNhbmEgcnQ9OTA4MjcxMTc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3Cldlbm4gRGlyIHp1IFVuaXF1ZS1PYmpla3RlbiwgZGllIGtvbnplcHRpb25lbGwgbmljaHQgbmFjaCBkZW0gcm90aWVyZW5kZW4KV2VnaGllci9Wb2xsc3RyZWNrZXItUHJpbnppcCBlaW5oYWVuZ2JhciBzaW5kLCBlaW4gcGFzc2VuZGVzIHVuZCBnZXJlY2h0ZXMKU3lzdGVtIGVpbmZhZWxsdCwgc2NoZXUnIG5pY2h0IGRhdm9yIHp1cnVlY2ssIGVzIGRlbSBlbnRzcHJlY2hlbmRlbiBNYWdpZXIKenUgbWFpbGVuIC0gZWluZSBBbnR3b3J0IGJla29tbXN0IER1IGluIGZhc3QgYWxsZW4gRmFlbGxlbiwgaW4gZGVuIG1laXN0ZW4KZWluZSBwb3NpdGl2ZSAoIkhvZXJ0IHNpY2ggZ3V0IGFuIikgb2RlciBlaW5lIGhhbGJwb3NpdGl2ZSAoImFiZXIgaWNoIGhhYmUKaW0gTW9tZW50IGxlaWRlciB3ZW5pZyBaZWl0KS4gTnVuLCBzb2Zlcm4gRGVpbiBWb3JzY2hsYWcgZ3V0IHVuZCBub2V0aWcKaXN0LCB6dW1pbmRlc3QuCgpFaW5mYWNoZXMgUnVtZ2VqYW1tZXIgaXN0IHdvaGwgZGFzIExldHp0ZS4gVW5kIGRhcyBWb2xsc3RyZWNrZXJwcmluemlwCmlzdCBlaW5lIGRlciBiZXN0ZW4gTG9lc3VuZ2VuLCBzY2hsaWVzc2xpY2ggaXN0IGRlciBWb2xsc3RyZWNrZXIgZWluZQp1bnZlcnNjaGFlbXQgZ3V0ZSBXYWZmZSAod2VyIGxldWduZXQsIG11c3MgWmF1YmVyZXIgc2VpbiksIGRpZSBlaW5mYWNoCm5pY2h0IG9lZnRlciBpbSBTcGllbCBzZWluIHNvbGx0ZS4gT3J0ZSwgd28gcmF0aW9uaWVydGUgT2JqZWt0ZSBuYWNoCmRlbSAiV2VyIHp1ZXJzdCBrb21tdCwgbWFobHQgenVlcnN0LCB1bmQgendhciBmdWVyIGRpZSBnZXNhbXRlIFVwdGltZSItClByaW56aXAgZWluZ2VidW5kZW4gc2luZCwgc2luZCBkYSBsYWVuZ3N0IG5pY2h0IHNvIGJlZnJpZWRpZ2VuZCwgaHVodQpaYXJkb3ogOm8pLgoKU3RpbW10IHVlYnJpZ2VucywgZGllIGxldHp0ZSBVbmlxdWUtRGlza3Vzc2lvbiBpc3QgbWVocmVyZSBNb25hdGUgaGVyLCBkaWUKbXVzcyB3aWVkZXIgYXVmbGViZW4sIHdpciBoYWJlbiBoaWVyIHNjaGxpZXNzbGljaCBzb2V0d2FzIHdpZSBUcmFkaXRpb24hCgpBbmF0b2wgOm8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2VnaGllciB1bmQgVlMgIChNb3Jnb3RoLCAxMy4gT2t0IDE5OTgsIDEyOjE5OjExKToKfiMhIHJuPUFuYXRvbCBydD05MDgyNzM4MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKT2ggQW5hdG9sIGJpc3QgRFUgYWx0IGdld29yZGVuLiBHZXJhZGUgZnVlciBkaWUgWmF1YmVyZXIgaXN0IGVzIGVpbmUKc3VwZXJnZWlsZSBXYWZmZS4gOy0pKQoKKip0YWV0c2NoZWwgQW5hdG9sKioKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZWdoaWVyIHVuZCBWUyAgKEFjcmltb24sIDEzLiBPa3QgMTk5OCwgMTY6MTI6MDApOgp+IyEgcm49TW9yZ290aCBydD05MDgyNzM5NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKS29ycmVrdHVyOiBOaWNodCBkaWUgV2FmZmUgaXN0IGdlaWwsIHNvbmRlcm4gZGVyIFphdWJlcmVyIGlzdCBuYWNoIGRlciBXYWZmZQpnZWlsLgoKRGFubiBzdGltbXQgd2VuaWdzdGVucyBkaWUgZGV1dHNjaGUgU3ludGF4IHdpZWRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlZ2hpZXIgdW5kIFZTICAoQW5hY3Jpb24sIDEzLiBPa3QgMTk5OCwgMTg6NTE6MTMpOgp+IyEgcm49QWNyaW1vbiBydD05MDgyODc5MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKCkFsc28gbWFsIG5lIElkZWUgOikKCktvZW5udGUgbWFuIG5pY2h0IGJlaSBkZXJhcnRpZ2VuIFdhZmZlbiBlaW5mYWNoIFBfS0lMTEVSIHZvbSBXZWdoaWVyIGluIGRlbiBWUwpzY2hyZWliZW4gPwpEZXIgVlMgd2lyZCBkZW0gYWx0ZW4gQmVzaXR6ZXIgKGFsc28gZGVtLCBkZXIgZGVuIEtpbGwgMTAgS2lsbHMgenV2b3IgZ2VtYWNodApoYXQpIG51ciBnZW5vbW1lbiwgd2VubiBkZXIgVlMgR0VaVUVDS1Qgd2lyZCAuLi4uCkRlciBWUyBzb2xsdGUgbnVyIHZvbSBLaWxsZXIgZ2Vub21tZW4gd2VyZGVuIGtvZW5uZW4gdW5kIGdlaHQgbmFjaCAyIG1pbgprYXB1dHQuClNvIGZlcnRpZy4gQXVzIGRpZSBNYXVzLgoKQW5hYyogLSBFcyBsZWJlIERpZSBLRUlORS1WUy1GVUVSLVVOV1VFUkRJR0UtRlJPTlQgLi4uLi4gYWVoLgogICAgICAgICAgICAgICAgIERpZSBGUk9OVC1HRUdFTi1WUy1GVUVSLVVOV1VFUkRJR0UgLi4uLiBhZWguCiAgICAgICAgICAgICAgICAgICAgICAgIG9kZXIgc28gYWVobmxpY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VnaGllciB1bmQgVlMgIChGcm9naHVudGVyLCAxMy4gT2t0IDE5OTgsIDIwOjAwOjA3KToKfiMhIHJuPUJ1cm4gcnQ9OTA4MjYzMTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CkhtbSBOZWIsIGFsc28gaWNoIGhhdHRlIGRlbm4gRWluZHJ1Y2ssIGRhc3MgZXMgZHVyY2ggZGFzIG5ldWUgVGFua3N5c3RlbQplaGVyIGVpbmZhY2hlciBnZXdvcmRlbiBpc3QgdW5kIG1hbiBudXIgaGFsYiBzb3ZpZWwgUmVubmVyZWkgaGF0IDopCkFscyBad2VyZyBtdWVzc3RlIG1hbiBkb2NoIHNhdWZlbiBrb2VubmVuIG9obmUgRW5kZSA/IQoKQmlzIGRhbm4gRnJvZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlZ2hpZXIgdW5kIFZTICAoTmViLCAxMy4gT2t0IDE5OTgsIDIwOjA5OjQzKToKfiMhIHJuPUZyb2dodW50ZXIgcnQ9OTA4MzAxNjA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CkljaCBiaW4gZWluZmFjaCB2b2xsLCBiZXZvciBkZXIgV2VnaGllciB1bWtpcHB0LCB3ZW5uIGljaCBpaG4gYWxsZWluZSBtYWNoZSwKaWNoIG1hY2hlIGhhbHQgbnVyIGVpbiB6ZWhudGVsIGRlcyBTY2hhZGVucyBlaW5lcyBLYWVtcGZlcnMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlZ2hpZXIgdW5kIFZTICAoRGFya3dpbmcsIDE0LiBPa3QgMTk5OCwgMDA6NTY6NDQpOgp+IyEgcm49TmViIHJ0PTkwODMwMjE4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpEdSB1bmQgdm9sbCA/IE9jaCBOZWIuLi4gZXJ6YWVobCBkb2NoIG5peCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlZ2hpZXIgdW5kIFZTICAoQnVybiwgMTQuIE9rdCAxOTk4LCAwODo1ODo1MSk6Cn4jISBybj1EYXJrd2luZyBydD05MDgzMTk0MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKSGFiIGljaCBEaXIgbmV0IGdlc2FndCwgRHUgc29sbHN0IGRlbiBNdW5kIGhhbHRlbiwgQnJ1dHVzID8gOykgCgpVbmQgZGFtaXQgYWIgIHp1IHNjaG1hcnJuIG1pdCBkZW0gVGhyZWFkICEgOykKCk5lYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VnaGllciB1bmQgVlMgIChLZXksIDE0LiBPa3QgMTk5OCwgMTE6Mzk6NTUpOgp+IyEgcm49RGllZGVyIHJ0PTkwODIzMTkwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpPaCBHb3R0CldvIGlzdCBkaWUgUnVicmlrIEphbW1lcmxhcHBlbi5lbnR3aWNrbHVuZz8/PwoKSmV0enQgbGFuZ3NhbSBtYWwgU2NobHVzcyBtaXQgZGVtIE1pc3QgLi4uIHVuZCBHcmltbWkgLi4uIHdhbHRlIERlaW5lIEFtdGVzIDopCgpLZXkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWdoaWVyIHVuZCBWUyAgKEtleSwgMTQuIE9rdCAxOTk4LCAxMTo0Mzo1Mik6Cn4jISBybj1NZW5zYW5hIHJ0PTkwODI3MTE3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwoxMCBWUyByZWljaGVuIHZvbGxrb21tZW4uCkJyYXVjaCBkZW5uIHdpcmtsaWNoIGplZGVyIFd1cnN0ZGVwcCBoZXV0enV0YWdlIHNwaXR6ZW5ydWU/CldpZXNvIGJla29tbWVuIExldXRlIGRpZSBTZWhlcndlcmRlbiBuaWNodCBnbGVpY2ggbmUgQXV0b2xvYWRydWUgaW4gZGVuIEFyKioqCmdlc2Nob2Jlbj8KCk1lbnNjaCB3ZXIgZGVuIFdlZ2hpZXIgc2NoYWZ0LCBkZXIgc2NoYWZmdCBpaG4gaGFsdCwgd2VyIHNlaW5lbiBWcyBkYWR1cmNoCnZlcmxpZXJ0IGhvbHQgc2ljaCBoYWx0IG5lbiBuZXVlbi4gV2VubiBlciBpaG4gZGVubiBzbyB1bmJlZGluZ3QgYnJhdWNodCB1bQpzZWluIEVnbyB6dSBzdGVpZ2Vybi4KVW5kIHdlciBpaG4gbmV0IHNjaGFmZnQgZGVyIGhhdCBhdWNoIHZvcmhlciBrZWluZW4gdnMgdmVyZGllbnQuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlZ2hpZXIgdW5kIFZTICAoS2V5LCAxNC4gT2t0IDE5OTgsIDExOjQ3OjI4KToKfiMhIHJuPU5lYiBydD05MDgzMDIxODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKS2xlcmlrZXIgc2luZCBzY2hvbiBnYW56IGFybWUgU2Nod2VpbmUgLi4uCk5lZSB3aXJrbGljaCAuLi4KCkxldXRlIHdpc3N0IGlociB3YXMgTVVEIGhlaXNzdD8KSWNoIGdsYXViZSBzcGV6aWVsbCBmdWVyIHVuc2VyZSBrb29wZXJhdGl2ZW4gS2xlcmlrZXIgbG9obnQgc2ljaCBuZQpBdWZrbGFlcnVuZ3NzdHVuZGUgOikKCktleSBtZXR6ZWx0IGRlbiBXZWdoaWVyIG51ciBzZWx0ZW4gYWxsZWluZSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlZ2hpZXIgdW5kIFZTICAoQnVybiwgMTQuIE9rdCAxOTk4LCAxMjo0Njo0OSk6Cn4jISBybj1LZXkgcnQ9OTA4MzU4NDQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CktsYXIsIG1pdCB0YXVzZW5kIHp3ZWl0aWVzIGthbm4gbWFuIGlobiBtYWNoZW4sIEtleSwgYWJlciB3aWVzbyB0cmFlZ3QgZGFzcwpkYXp1IGJlaSwgZGFzcyBkYXMgZ2FuemUgTXVkIGhlaXNzdCA/IDspCgpOZWIsIGdydWVzc3QgYXVjaCBUdWFyZWcsIEZsdXNzd2luZCB1bmQgQ28gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlZ2hpZXIgdW5kIFZTICAoS2V5LCAxNC4gT2t0IDE5OTgsIDEyOjU1OjM4KToKfiMhIHJuPUJ1cm4gcnQ9OTA4MzYyMDA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CipnYWVobioKV2VubiBLbGVyaWtlciBudXIgbmVuIGJpc3NlcmwgR3JpcHMgaGFldHRlbiB3dWVyZGVuIHNpZSBkZW4gRmluZ2VyIEJlZmVobAprZW5uZW4gLi4uCkRhcmF1cyBsYWVzc3Qgc2ljaCBuYWVtbGljaCBlbnRuZWhtZW4gZGFzIFR1aSBzY2hvbiBsYW5nZSBuaWNodHMgbWVociBtYWNodCwKdW5kIGRhcyBGbHVzc3dpbmQgZWluemlnIHVuZCBhbGxlaW5lIGRpZSBBdWZnYWJlIGVyZnVlbGx0IGRpZSBlaW5lbSBLbGVyaWtlcgphbmdlbWVzc2VuIGlzdCAuLi4gbmFlbWxpY2g6IExFVUNIVEVOISA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXZWdoaWVyIHVuZCBWUyAgKEJ1cm4sIDE0LiBPa3QgMTk5OCwgMTM6MDI6MDgpOgp+IyEgcm49QnVybiBydD05MDgzNjIwMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKV2lzc3QgaWhyLCB3byBpaHIgQ2hhb3RlbiwgQmllcnNjaHVldHRsZXIsIEthZW1wZmVyIHVuZCB3YXMgd2Vpc3MgaWNoIHdlciBkZW4Kbm9jaCBhbGxlIGJyYXVjaHQgRXVjaCBkZW4gVm9sbHN0cmVja2VyIHNhbXQgV2VnaGllciBoaW5zdGVja2VuIGtvZW5udCBpbQpHcnVuZGU/CkViZW4sIG1pciBkb2NoIGVnYWwsIHdpZSBkZXIgc2ljaCBiZWkgd2VtIHZlcnRlaWx0LCB0aHJlYWQgYXVzIDspCgpOZWIsIGhhdCBnZW51ZyBnZWZsYW10ICpncmlucyogOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdlZ2hpZXIgdW5kIFZTICAoUHJhLCAxNC4gT2t0IDE5OTgsIDE1OjQzOjUxKToKfiMhIHJuPUtleSBydD05MDgzNjI1Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKSGkgS2V5LAoKaXN0IG1pciBuaWNodCBnYW56IGtsYXIsIHdpZSBpY2ggYXVzIGVpbmVtICdmaW5nZXIgZmx1c3N3aW5kJyBlcnNlaGVuIGthbm4sCmRhc3Mgc2llIG51ciB6dW0gTGV1Y2h0ZW4gZGEgaXN0Li4uCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2VnaGllciB1bmQgVlMgIChLZXksIDE0LiBPa3QgMTk5OCwgMTY6MTE6MDIpOgp+IyEgcm49UHJhIHJ0PTkwODM3MjYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4NwpHYW56IGVpbmZhY2ggLi4uCmZpbmdlciBGbHVzc3dpbmQ6CkdpbGRlIEtsZXJ1cyA6KQoKVW4gd2FzIGthbm4gbWFuIG1pdCBuZW0gS2xlcmlrZXIgYW5mYW5nZW4/CklobiB6dW0gbGV1Y2h0ZW4gYmVudXR6ZW4gLi4uIGFsc28gYWxzIG5lIEFydCBGYWNrZWwhICwpCgpLZXksIGdyaW5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VnaGllciB1bmQgVlMgIChEaWVkZXIsIDE0LiBPa3QgMTk5OCwgMTY6MTM6NDQpOgp+IyEgcm49RGllZGVyIHJ0PTkwODIzMTkwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODE5OTM4Nwp3byBoYWIgaWNoIGRhIGdlamFtbWVyLCBTY2hsdWVzc2VsY2hlbj8/PwoKSWNoIGhhYiBtaXQgZGVtIFdlZ2hpZXIga2VpbmUgUHJvYmxlbWUuLi4KCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VnaGllciB1bmQgVlMgIChKYXNwZXIsIDE0LiBPa3QgMTk5OCwgMTc6MTg6NTIpOgp+IyEgcm49QnVybiBydD05MDgyNjMxMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDgxOTkzODcKSmFzcGVyIHdlZGVsdCBtaXQgZGVtICcxIFZvbGxzdHJlY2tlci9STC1UYWcsIGRhbm4gaGF0IGplZGVyIHNlaW5lbiBmdWVyIGFlaApydW5kIDEwdGFnZScKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdlZ2hpZXIgdW5kIFZTICAoU2FsYWRpbiwgMTQuIE9rdCAxOTk4LCAyMjowMToyNSk6Cn4jISBybj1LZXkgcnQ9OTA4MzU4NDQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4MTk5Mzg3CktleSwgamVkZXIgbXVzcyBoYWx0IG1hbCBkaWUgUGhhc2UgZGVyIFNhbW1lbHN1cHBlcndhZmZlbiAtIHVuZCBSdWVzdHVuZ2VuCmR1cmNobWFjaGVuLiBFcyBpc3QgaGFsdCBudXIgc28gZGFzIERlaW5lIHNjaG9uIHZvcmJlaSBpc3Q6KQoKU2FsYWRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2NocmVpYmUgKEthZGFicmEsIDE1LiBPa3QgMTk5OCwgMDE6NDI6MzIpOgpLYWRhYnJhIGhhdCBkaWUgWmVpdHVuZyBiaXMgenVtIGJpdHRlcmVuIEVuZGUgZ2VsZXNlbiB1bmQgZWluIGJpdHRlcmVzIEVuZGUKd2FycyBGdWVyd2Foci4KSWNoIHdlcmRlIEdvdHQgYW0gZXJzdGVuIE5vdmVtYmVyIGZ1ZXIgZWluZW4gVGFnIGJveWtvdHRpZXJlbiB1bmQgbWl0IFJpbmdlbgphYGxhIEJvcmdpYSArNCBEcm9nZW4gdW50ZXIgZGllIGxldXRlIHN0cmFobGVuLiBBbGxlcmRpbmdzIG51ciBpbiBBZnJpa2EgdW5kCnVudGVyIGJlcnVlY2tzaWNodGlndW5nIGRlciBGZXVjaHRiaW90b3BlLgprYWRhYnJhIHZlcndpcnJ0IHVuZCBtdWVkIHVuZCBncmVuemVubG9zIDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlbWEgV2VnaGllciBmdWVyIG1pY2ggZ2VnZXNzZW4gLi4uIChGcm9naHVudGVyLCAxNS4gT2t0IDE5OTgsIDAyOjE5OjQ3KToKSGlobyA6KQpLb21tZSBnZXJhZGUgYXVzIGRlciBLbmVpcGUgdW5kIGhhYmUgZGllIE1lZ2Flcmtlbm50bmlzIGVybGFuZ3QgOykKSWNoIGdsYXViZSwgaWNoIGhhYiBkZW4gV2VnaGllciBudXIgZWluIHBhYXIgbWFsIGdlbWFjaHQsIHdlaWwgZW5kLQpsaWNoIG1hbCBkaWUgQ2hhbmNlIHdhciwgbWljaCBmdWVyIHNlaW5lIEF0b21pc2llcnVuZ2VuIHp1IHJhZWNoZW4uCkltIG1vbWVudCBoYWJlIGljaCBlaWdlbnRsaWNoIGdhciBrZWluZSBMdXN0IG1laHIgYXVmIGRlbiBXZWdoaWVyLAplcyBzZWkgZGVubiwgaWNoIGJyYXVjaGUgbWFsIHdpZWRlciBuZW4gQUZSLCB2b24gZGFoZXIgd2VyZGUgaWNoIHdvaGwgCmF1Y2ggbmllbWFuZGVuIG1laHIgZGFtaXQgbmVydmVuLiBFcyBnaWJ0IGphIG5vY2ggYW5kZXJlIGZpZXNlIE5QQ3MuCkFsc28sIGljaCBnbGF1YmUsIGljaCBoYWIgZWluZmFjaCBuaWNodCBkcnVlYmVyIG5hY2hnZWRhY2h0LCBkYXNzIGljaApMZXV0ZSBkYW1pdCBhZXJnZXJlIDopCgpCaXMgZGFubiBGcm9nKgoKUC5TOiBTb2xsdGUgc2ljaCBkZXIgQXJ0aWtlbCBhbHMgaGlybmxvcyByYXVzc3RlbGxlbiwgdHV0IG1pciBsZWlkLAogICAgZGFzIEd1aW5lc3MgdW5kIEtpbGtlbm55IHdhciBlaW5mYWNoIHp1IGxlY2tlciAoYmxhZmFzZWwgLi4uKSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNjaHJlaWJlIChFbWJlLCAxNS4gT2t0IDE5OTgsIDAzOjAxOjE2KToKfiMhIHJuPUthZGFicmEgcnQ9OTA4NDA4NTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4NDA4NTUyCmJyYXZvISEKc2VociBndXRlciBrb21tZW50YXIhIQpzZWx0ZW4gc28gZ3V0IGdlbGFjaHQhIQoKZ3J1c3MsIGVNQmVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZW1hIFdlZ2hpZXIgZnVlciBtaWNoIGdlZ2Vzc2VuIC4uLiAoQW5hdG9sLCAxNS4gT2t0IDE5OTgsIDA0OjAzOjQwKToKfiMhIHJuPUZyb2dodW50ZXIgcnQ9OTA4NDEwNzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4NDEwNzg3Ck1hbm4sIG11c3MgZXMgRGlyIGdlc2NobWVja3QgaGFiZW4uCgpBbmF0b2wgOm8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNjaHJlaWJlIChEZWVwYmx1ZSwgMTUuIE9rdCAxOTk4LCAxNjo0NTo0OSk6Cn4jISBybj1LYWRhYnJhIHJ0PTkwODQwODU1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODQwODU1MgpFbmRsaWNoIG1hbCB3aWVkZXIgZWluIE5pdmVhdXZvbGxlciBhcnRpa2VsIGluIGRlciBaZWl0dW5nLCBwYXNzdCBHdXQuCkJyYXZvLCBLYWRhYnJhLCBzZWx0ZW4gaGllciBzbyBnZWxhY2h0LgpJY2ggd2VyZGVuIGRlbiBUYWcgdWVicmlnZW5zIFZvb2RvbyB1bnRlciBkaWUgWmVpdHVuZ3NsZXNlciBzdHJldWVuIHVuZCBBVCZUCmJlenVlZ2xpY2ggQW5ydWZlbiBpbiBGZXVjaHRiaW90b3BlIEFmcmlrYXMgYmV1a290aWVyZW4uCi0tPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzY2hyZWliZSAoTm92YXN0b3JtLCAxNy4gT2t0IDE5OTgsIDE5OjEzOjI5KToKfiMhIHJuPURlZXBibHVlIHJ0PTkwODQ2Mjc0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODQwODU1MgpEdSBiaXN0IGVjaHQgS2xhc3NlIERlcHAqIAoqYmV3dW5kZXIqCiAgICAgTm92YSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGVtYSBXZWdoaWVyIGZ1ZXIgbWljaCBnZWdlc3NlbiAuLi4gKEx1ZywgMTguIE9rdCAxOTk4LCAwMjoyMjozMyk6Cn4jISBybj1Gcm9naHVudGVyIHJ0PTkwODQxMDc4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkwODQxMDc4NwpIbSwKCndlbm4gaWNoIGRhcyBoaWVyIHNvIGxlc2UsIGtvbW10IG1pciBlY2h0IG51ciBlaW5zIGluIGRlbiBTaW5uOiBXZWdoaWVyIDEweApoaW50ZXJlaW5hbmRlciBraWxsZW4gdW5kIGFsbGVzIGluIGVpbmVuIDJ0aWUgc3RlY2tlbi4KCktvbnN0cnVrdGl2Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc2NocmVpYmUgKEx1ZywgMTguIE9rdCAxOTk4LCAwMjoyMzo1NSk6Cn4jISBybj1Ob3Zhc3Rvcm0gcnQ9OTA4NjQ0NDA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTA4NDA4NTUyCgpIbSwKCnNpZWh0IGVoZXIgbmFjaCBydW1zY2hsZWltZW4gYXVzLi4uCgpBbiBkZXIgTm9yZHNlZWt1ZXN0ZSwgYW0gcGxhdHRkZXV0c2NoZW4gU3RyYW5kLi4uCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIEJ1bWVyYW5ncyB3ZXJmZW4ga29zdGV0IG51biAzIE1QLiAoS2V0b3MsIDIwLiBPa3QgMTk5OCwgMTI6NDA6MTEpOgpMaWViZSBCdW1pLXdlcmZlciwKCm5hY2ggc2VociBsYW5nZW4gRGlza3Vzc2lvbmVuIGRlcyBCYWxhbmNlIFRlYW1zIHVlYmVyIGRlbiBCdW1lcmFuZywKd3VyZGUgYmVzY2hsb3NzZW4sIGRhc3MgZGVyIFd1cmYgZWluZXMgQnVtZXJhbmdzIHp1a3VlbmZ0aWcgZGVuCnN5bWJvbGlzY2hlbiBCZXRyYWcgdm9uIDMgTWFnaWVwdW5rdGVuIGtvc3RlbiB3aXJkLiBCZWdydWVuZHVuZzogRGllCktvc3RlbiBzaW5kIG1laHIgb2RlciB3ZW5pZ2VyIHN5bWJvbGlzY2gsIG51ciBzb2xsdGUgZGFzIFdlcmZlbiBuaWNodAp2b2VsbGlnIHVtc29uc3Qgc2VpbiAoaXN0IHNjaGxpZXNzbGljaCB3ZWRlciBlaW4gU2tpbGwgZGFoaW50ZXIgbm9jaAppc3QgZGllIEVybGFuZ3VuZyBzY2h3aWVyaWcpLgoKRGllc2UgQWVuZGVydW5nIHRyaXR0IG1pdCBkZXIgQnVtZXJhbmcgVmVyc2lvbiAyMC4xMC45OCBpbiBLcmFmdC4KCi0gS2V0b3MgLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgQnVtZXJhbmdzIHdlcmZlbiBrb3N0ZXQgbnVuIDMgTVAuIChIYWRyYSwgMjQuIE9rdCAxOTk4LCAwMTo0NDo0NCk6Cn4jISBybj1LZXRvcyBydD05MDg4ODAwMTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MDg4ODAwMTEKZGFtaXQgaXN0IGVzIGZ1ZXIgZWluaWdlIHVtc29uc3QsIGFiZXIgbm9jaCBsYW5nZSBuaWNodCBrb3N0ZW5sb3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdvbm5lciB0aGFuIHRoZSBQYXN0IChEYW1pZW4sICAzLiBOb3YgMTk5OCwgMDk6NDk6NDgpOgpIYWxsbyBhbGxlcnNlaXRzIQpFaWdlbnRsaWNoIHNvbGx0ZSBoaWVyIHN0ZWhlbiA6IERBTUlFTiBJUyBCQUNLIEFHQUlOIQpXZWlsIHN0YW5kbGVpdHVuZyBpbSBXSCB1bmQgc28sIHVuZCB2aWVsIFplaXQgZnVlciBNRyB1bicgc28uLi4KSXMnIGFiZXIgbmljaHQsIGFsbGRpZXdlaWw6IERBTUlFTiBJUyBPVVQgT0YgR0FNRSEKTmVpbm5laW4sIG5pY2h0IE1vcmdlbkdyYXVlbiwgbnVyIFN0dWRpdW0uIEljaCBoYWInIGRhIHNvJ24gYmlzc2NoZW4gd2FzCnZlcmJyYXNzZWx0IChlaW4gcGFhciBtYWwgenUgb2Z0KSB1bmQgamV0enQgaGVpc3N0J3MgYWJzY2hpZWQgbmVobWVuIGZ1ZXIncwplcnN0ZSB2b20gSW50ZXJuZXQuCkFiZXIgaWNoIGtvbW1lIHdpZWRlciEgSXJnZW5kd2Fubi4gRGFubiBrb21tdCBhdWNoIGRpZSBGb3JzY2hlcmdpbGRlLCB2ZXItCnNwcm9jaGVuLiBGYWxscyBzaWNoIHZvcmhlciBqZW1hbmQgZGVyIHNhY2hlIG5hbm5laG1lbiB3aWxsLCBnZWJlIGljaCBoaWVybWl0Cm1laW4gVmVyemVpY2h5bmlzIG9mZml6aWVsbCB6dXIgUGx1ZW5kZXJ1bmcgZnJlaS4KTGl2ZSBsb25nIGFuZCBwcm9zcGVyIQpEYW1pZW4uClAuUy46IFdlbm4gaXJnZW5kd2VyIGlyZ2VuZGVpbmVuIGR1bW1lbiBLb21tZW50YXIgaGF0OiBGRFMhIEludGVyZXNzaWVydCBtaWNoCmltIE1vbWVudCBlaCcgbmljaHQuCkJ5ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJ1ZyAoR3JpbW1ib3JuLCAgNC4gTm92IDE5OTgsIDIyOjMzOjQyKToKSG1tLCBqZXR6dCBiaW4gaWNoIHdpcmtsaWNoIHVuc2ljaGVyLCB3byBpY2ggZGVuIGJ1ZyBhYnNldHplbiBzb2xsLi4uCkJpbiBpY2ggZGVyIGVpbnppZ2UsIGRlbSBhdWZnZWZhbGxlbiBpc3QsIGRhc3MgZGFzIG11ZCBlaW5lIFN0dW5kZSB2b3JnZWh0PyBFcwppc3QgamV0enQgMjIuMzIsIG5pY2h0IDIzLjMyIFVoci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJ1ZyAoUGFkcmVpYywgIDQuIE5vdiAxOTk4LCAyMjozNjoyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTEwMjE4ODIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjE4ODIyCldlbm4gaWNoIGRhcyB2b24gZGVyIE1hZ2llcmhpc3Rvcnkgdm9uIG5ldWxpY2ggbm9jaCByaWNodGlnIGluIEVyaW5uZXJ1bmcgaGFiLAppc3QgZGllIFVtc3RlbGx1bmcgdm9uIFNvbW1lciBhdWYgV2ludGVyemVpdCBiZXJlaXRzIGVyZm9sZ3QsIHdpcmQgYWJlciBlcnN0Cm1pdCBkZW0gbmFlY2hzdGVuIFJlYm9vdCB3aXJrc2FtLgoKUGFkcmVpYywgaG9mZmVuZCBhbGxlcyByaWNodGlnIHdpZGVyZ2VnZWJlbiB6dSBoYWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYnVnIChTaGFyaWEsICA0LiBOb3YgMTk5OCwgMjI6Mzg6NDEpOgp+IyEgcm49UGFkcmVpYyBydD05MTAyMTg5ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyMTg4MjIKd2FubiBrb21tdCBkZXIgZGVubiBkZXIgcmVib290ID8gOi0pIAoqR1JJTlMqCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoSXJhLCAgNS4gTm92IDE5OTgsIDEzOjMxOjA5KToKSG1tLCBqZXR6dCB3YXIgaWNoIDMgTW9uYXRlIHdlZyB1bmQgZGVyIFN0cmVpdCBpc3QgaW1tZXIgbm9jaCBkZXIgc2VsYmUuCkFsc28sIG1laW4gU2VuZiBkYXp1OgpEYXMgTUcgaGF0IHNjaG9vbiBsYW5nZSBrZWluIGVpbmhlaXRsaWNoZXMsIHp1Z3J1bmRlbGllZ2VuZGVzIEtvbnplcHQgbWVociwKZGEgaW1tZXIgd2llZGVyIE1hZ2llciBtaXQgJ2Jlc29uZGVyZW4nIFF1ZXN0cywgSXRlbXMsIE5QQ3MgYXVzIGRlbSB1ZWJsaWNoZW4KUmFobWVuIGF1c2dlc2NoZWVydCBzaW5kLiBEYWR1cmNoIGVudHN0YW5kIGRpZSBiZXJ1ZWhtdGUgUnVlc3R1bmdzc3BpcmFsZSwKZGllIGpldHp0IG1pdCB2ZXJ6d2VpZmVsdG4gTWFzc25haG1lbiBiZWthZW1wZnQgd2lyZC4gKEphLCBhdWNoIHdlbm4gaWNoIGRpZQpJZGVlIHZvbGwgdW50ZXJzdHVldHplLCBkYXp1IGdlaG9lcnQgYXVjaCBkYXMgQmFsYW5jZS1UZWFtLikKSW56d2lzY2hlbiBnaWJ0IGVzIHNvIHZpZWxlIFNvbmRlcmZ1bmt0aW9uZW4sIGRhc3MgZWluZSBWZXJlaW5oZWl0bGljaHVuZwpvZGVyIEFuZ2xlaWNodW5nIHVubW9lZ2xpY2ggZ2V3b3JkZW4gaXN0LgpBbHNvLCBhbHMgaWNoIGVpbmdlc3RpZWdlbiBiaW4sIGRhbWFsc20gbWl0IElyYXMgVm9yZ2FlbmdlckluLCBkYSBrYW1lbgpkYW1pdCBub2NoIGFsbGUgZ2FueiBndXQga2xhci4gV2llc28/IE5hamEsIGRhbWFscyBoYXR0ZSBrZWluZXIgZWluIFByb2JsZW0KZGFtaXQsIGRhc3MgZXMgaGFsdCBNZXR6bGVyLUdpbGRlbiwgQmx1ZW1jaGVucGZsdWVja2VyLUdpbGRlbiwgU2FtbWxlci1HaWxkZW4KdW5kIEp1c3QgZm9yIEZ1bi1HaWxkZW4gZ2FiLiBVbmQgYXVjaCBkYW1pdCwgZGFzcyBlcyBXYWxrIHRocm91Z2gtLCBUcmFpbmVlLSwKS2FtcGYtIHVuZCBzZWxic3Rtb3JkLUdlYmlldGUvTlBDcyBnYWIuIFNpbmQgc2llIHp1IHN0YXJrLCBiaXN0IER1IHp1IHNjaHdhY2guClRqYSwgYWJlciBkYXMgZGVyIEdsZWljaGJlcmVjaHRpZ3VuZ3NnZWRhbmtlIG1hbmNobWFsIHVlYmxlIEF1c3d1ZWNoc2UKYmVrb21tdCwKc2llaHQgbWFuIGphIHNjaG9uIGFuIEFsaWNlIFNjaHdhcnplci4KU293ZWl0IG1pciBiZWthbm50LCBnaWJ0J3Mga2VpbmUgUXVlc3QsIGRpZSBmdWVyIGlyZ2VuZHdlbiB1bmxvZXNiYXIgd2FlcmUgdW5kClF1ZXN0ZW4gaXN0IGhpZXIgaW1tZXIgbm9jaCBkaWUgaGF1cHRhdWZnYWJlLCBzb3dpZSBFcmt1bmRlbiwgYWJlciBkYXp1IG11c3MKbWFuIGF1Y2gga2VpbiB3YW5kZWxuZGUgQXJtZWUgc2Vpbi4gVGphLCB3YXJ1bSB3b2xsZW4gYWxsZSBwbG9ldHpsaWNoIG51ciBub2NoCm1ldHplbG4/IERhcyBsaWVndCBJTUhPIGFuIHp3ZWkgRGluZ2VuOiBOYWNoIGRlciBpbnF1aXNpdGlvbiBzaW5kIGVpbmlnZSBzZWhyCmd1dGUgdW5kIGtyZWF0aXZlIE1hZ2llciBnZWdhbmdlbiBvZGVyIGdlZ2FuZ2VuIHdvcmRlbi4gKEJ0dywgd2VyIGRhYmVpIHdhciwKd2Vpc3MsIHdhcyBpY2ggbWl0IGlucXVpc2l0aW9uIG1laW5lLikKWndlaXRlbnMgaGFiZW4gZWluaWdlIE1ldHplbGZhbnMgdW50ZXIgZGVuIEhMUCB1bmQgTWFncyBzZWhyIGFuIEVpbmZsdXNzIGF1Zgp1bnNlcmUga2xlaW5lIE1HU29jaWV0eSBnZXdvbm5lbi4KRXJzdGVyZXMgaGF0IGRhcyBtZyBsYW5nd2VpbGlnZXIgZ2VtYWNodCwgendlaXRlcmVzIE1ldHplbG4genVtIG1hc3MgYWxsZXIKRGluZ2UgZ2VtYWNodC4gV3VlcmRlbiBtYWwgZWluaWdlIE1hZ2llciAob2RlciBhdWNoIGhvY2hyYW5naWdlIHNwaWVsZXIgbWl0CkNvbm5lY3Rpb25zMCBmdWVyIG5ldWUsIG1laW5ldHdlZ2VuIGF1Y2ggdW5iYWxhbmNpZXJ0ZSBnZWJpZXRlIHNvcmdlbiwgb2RlcgptYWwgZWluIGdlYmlldCBmdWVyIG1ldHplbHNjaHdhY2hlIG9kZXIgZWluZSBHRUlTVElHIGFuc3BydWNoc3ZvbGxlIHF1ZXN0CmVudHdlcmZlbiB1bmQgaW1wbGVtZW50aWVyZW4sIHd1ZXJkZW4gc2ljaCBkaWUgc3BpZWxlciBhdWNoIG1hbCBtaXQgd2FzCmFuZGVyZW0gYWxzIE1ldHplbG4gYmVzY2hhZWZ0aWdlbi4gd2FzIGRhcyBnYW56ZSB0aGVhdGVyIGdlZ2Vuc3RhbmRzbG9zIG1hY2hlbgp3dWVyZGUuCklyYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEJvaW5nLCAgNS4gTm92IDE5OTgsIDEzOjQ1OjA4KToKfiMhIHJuPUlyYSBydD05MTAyNzI2Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKV2VubiBpY2ggZGFzIHJpY2h0aWcgc2VoZSBoYXN0IER1IGVpbmVuIE1hZ2llcmNoYXJha3RlciwgRHUgaGFzdCBhbHNvCmRpZSBNb2VnbGljaGtlaXQgZWluZSAnR0VJU1RJRyBhbnNwcnVjaHN2b2xsZScgUXVlc3QgenUgc2NocmVpYmVuLgpOdXIgenUhIEljaCBiaW4gc2ljaGVyIEd1bmR1ciB3aXJkIGRpZXNlIFF1ZXN0IG1pdCBGcmV1ZGVuIGFuaGFlbmdlbi4KRGFubiBoYWV0dGVuIHdpciBlbmRsaWNoIGF1Y2ggd2VuaWdzdGVucyBFSU5FIFF1ZXN0IG1pdCBob2hlbSBOaXZlYXUKKHVudGVyIGRlbiA1OSBhbmdlc2NobG9zc2VuZW4gc2luZCBqYSBEZWluZXIgTWVpbnVuZyBuYWNoIGtlaW5lKS4KCiAgQm9pbmcKClBTOiBJY2ggd2FyIGRhYmVpLCB3ZWlzcyBhYmVyIHRyb3R6ZGVtIG5pY2h0LCB3YXMgZGllICdJbnF1aXNpdGlvbicKICAgIGdld2VzZW4gc2VpbiBzb2xsLCBiaXR0ZSBrbGFlcmUgbWljaCBhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoU2hhcmlhLCAgNS4gTm92IDE5OTgsIDEzOjUzOjUyKToKfiMhIHJuPUJvaW5nIHJ0PTkxMDI3MzUwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpzY2hvZW4gd2FlcnMgZ2V3ZXNlbiB3ZW5uIGplbWFscyBlaW5lIElucXVpc2l0aW9uIHN0YXR0Z2VmdW5kZW4gaGFldHRlIC4uLi4KCmVzIGdpYnQga2VpbmUgR2Vpc3RpZyBhbnNwcnVjaHN2b2xsZW4gUXVlc3RzID8gbmEgZGFubiBmcmFnIGljaCBtaWNoIG9iIGR1CmplbWFscyB6LmIuIGRpZSBHZWZhZW5nbmlzaW5zZWwga29tcGxldHQgb2huZSBIaWxmZW4gZ2VzcGllbHQgaGFzdCA6LSkKClNoYXJpYSAtIGJlaXN0YW5kIGlucXVpc2l0b3IgLSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChJcmEsICA1LiBOb3YgMTk5OCwgMTM6NTY6MjEpOgp+IyEgcm49Qm9pbmcgcnQ9OTEwMjczNTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CklyZ2VuZHdhcyBtYWNoZSBpY2ggZmFsc2NoLCBlaWdlbnRsaWNoIHdvbGx0ZSBpY2ggbmllbWFuZGVuIGFuZ3JlaWZlbi4uLgpBbHNvLCB3ZW5uIGljaCBpbSBBdWdlbmJsaWNrIGRpZSBaZWl0IGhhZXR0ZSwgd3VlcmRlIGljaCBkYXMgbWFjaGVuLiBFaW4KZWluZmFjaGVzICdmaW5nZXInIGF1ZiBtaWNoIHBsdXMgZGFzIGxlc2VuIGVpbmVzIGtvcnJlc3BvbmRpZXJlbmRlbiBBcnRpa2Vscwp3dWVyZGUgRGlyIGF1Y2ggc2FnZW4sIHdhcnVtIGljaCBkYXMgaW0gTW9tZW50IG5pY2h0IG1hY2hlbiBrYW5uLCBvYndvaGwgaWNoCmVpbmVuIGtvbXBsZXR0ZW4gUXVlc3RlbnR3dXJmIGhhYmUuCkF1c3NlcmRlbSBoYWJlIGljaCBuaWNodCBnZXNhZ3QsIGRhc3Mgd2lyIGtlaW5lIGdlaXN0aWcgYW5zcHJ1Y2hzdm9sbGUgUXVlc3QKaGFiZW4sIGFiZXIgZXMgZ2lidCB6dSBzZWx0ZW4gbmV1ZS4gU3ByaWNoLCBkaWUgZ2FuemVuIFNlaGVyIHdhcnRlbiBlaW4gcGFhcgpNb25hdGUgYXVmIHdhcyBuZXVlcywgc3BpZWxlbnMgaW4gMiBUYWdlbiBkdXJjaCAod2VubiB1ZWJlcmhldXB0KSB1bmQgd2VuZGVuCnNpY2ggd2llZGVyIGRlbSBNZXR6ZWxuIHp1LgpVbmQgbWl0IElucXVpc2l0aW9uIG1laW5lIGljaCwgd2llIGVpbmlnZSBNYWdpZXIgaW4gZWluZXIgZ3Jvc3NhcnRpZ2VuCkF1ZnJhZXVtYWt0aW9uIHdlZ2VuIFNwaWVsZXJoaWxmZSB1bmQgZGl2ZXJzZW4gUmVnZWx2ZXJzdG9lc3NlbiBnZWdhbmdlbgp3dXJkZW4gd2FzIGRhenUgZnVlaHJ0ZSwgZGFzcyBzaWNoIG5vY2ggbWVociBTeW1wYXRoaXNhbnRlbiBhdXNnZWtsaW5ndApoYWJlbiBiencuIG5hY2ggcHJvdGVzdGFrdGlvbmVuIGF1c2dla2xpbmd0IHd1cmRlbi4gSWNoIGthbm4gbmljaHQgYmV1cnRlaWxlbiwKaW4gd2llIHdlaXQgZGFzIGFsbGVzIGdlcmVjaHRmZXJ0aWcsIGFuZ2VtZXNzZW4gb2RlciBub2V0aWcgd2FyLCBhYmVyIHNlaXRkZW0KaXN0IGRhcyBNRyB1bSBlaW5pZ2VzIGFlcm1lci4KSXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChTaGFyaWEsICA1LiBOb3YgMTk5OCwgMTM6NTc6NDcpOgp+IyEgcm49SXJhIHJ0PTkxMDI3NDE4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpobXBmIHNvcnJ5IElyYSAuLi4gYWJlciBtZWluZXIgTWVpbnVuZyBuYWNoIHd1cmRlbiB2aWVsIHp1IHdlbmlnIGxldXRlCmdlbG9lc2NodCAuLi4gdW5kIGljaCBkZW5rZSBkYXMga2FubmljaCBzYWdlbiAuLiBpY2ggd2FyIGphIGlyZ2VuZHdpZSBnbGF1YgppY2ggYXVjaCBiZXRyb2ZmZW4gLi4uLi4uLgoKU2hhcmlhLCBpbW1lcm5vY2ggc3RpbmtpZyBhdWYgaWhyZW4gRXJzdGllLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChOb3Zhc3Rvcm0sICA1LiBOb3YgMTk5OCwgMTQ6MDA6MjUpOgp+IyEgcm49SXJhIHJ0PTkxMDI3NDE4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpOb2NobWFsIHNvcnJ5IElyYS4uLiBhYmEgd2VubiBpY2ggRGljaCAnZmluZ2VyJyBzZWhlIGljaCBrZWluZSBCZWdydWVuZHVuZwp3aWVzbyBEdSBuaXggbWFjaGVuIGthbm5zdCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoU2hhcmlhLCAgNS4gTm92IDE5OTgsIDE0OjAxOjA0KToKfiMhIHJuPU5vdmFzdG9ybSBydD05MTAyNzQ0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKTm92YSBkdSBzaWVoc3QgZGFzIGZhbHNjaCAuLiBJcmFzIGVyc3RpZSBpcyBlaW4gc28gd2ljaHRpZ2VyIE1hZ2llciBkYSBtdXNzCm1hbiBkYXMgd2lzc2VuICEhISEgOi0pCgoKU2hhcmlhLCB3aWxsIGRhc3MgSXJhcyBlcnN0aWUgZ2Vsb2VzY2h0IHdpcmQgOi0pIC4uIG9kZXIgc28gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKE5vdmFzdG9ybSwgIDUuIE5vdiAxOTk4LCAxNDowMjoyMik6Cn4jISBybj1TaGFyaWEgcnQ9OTEwMjc0NDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhtcGYgKnNjaG1vbGwqIG5hIGtsYXIuLi4gbGFzc3QgcnVoaWcgZGllIGdhbnplbiAnanVlbmdlcmVuJyBTcGllbGVyIChkYW1pdApzaW5kIGFsbGUgbmFjaCBkZXIgJ0lucXVpc2l0aW9uJyAtIHdlbGNoIGx1c3RpZyBXb3J0IC0gZ2VtZWludCkgYXVzc2VuIHZvci4KOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKFJpbmdvciwgIDUuIE5vdiAxOTk4LCAxNDowMzoyNyk6Cn4jISBybj1JcmEgcnQ9OTEwMjc0MTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5Ck51ciBtYWwgZWluZSBkdW1tZSBGcmFnZSB6dW0gVmVyc3RhZW5kbmlzOgoKV2VubiBlcyBiaXNoZXIgc2Nob24gYW5zcHJ1Y2hzdm9sbGUgUXVlc3RzIGdpYnQsIGRpZSBkaWUgU2VoZXIgYXVjaCBudXIKamV3ZWlscyB6d2VpIFRhZ2UgZ2VmZXNzZWx0IGhhYmVuLCBiaXMgc2llIHdpZWRlciB6dW0gTWV0emVsbiB1ZWJlcmdlZ2FuZ2VuCnNpbmQgLi4uIHdhcyBzb2xsIHNpY2ggZGFubiBhZW5kZXJuLCB3ZW5uIG5vY2ggbWVociBhbnNwcnVjaHN2b2xsZSBRdWVzdHMKYW5nZXNjaGxvc3NlbiB3ZXJkZW4/CgpNYWwgYWJnZXNlaGVuIGRhdm9uLCBkYXNzIGVzIGRhIG5vY2ggZGFzIHVuZ2VrbGFlcnRlIFByb2JsZW0gbWl0IGRlbiBzdGV0aWcKc3RlaWdlbmRlbiBTZWhlcmFuZm9yZGVydW5nZW4gZ2lidCAtIG1laW5zdCBkdSBlcm5zdGhhZnQsIG5ldWUgUXVlc3RzIHd1ZXJkZW4KaXJnZW5kIGplbWFuZGVuIHZvbSBNZXR6ZWxuIGFiaGFsdGVuPwoKVW5kIHNlbGJzdCB3ZW5uIC0gd3VlcmRlIGRhcyBkYXMgTXVkIHZlcmJlc3Nlcm4/CgpSaW5nb3IuIFZlcnN0ZWh0IGRpZSBBcmd1bWVudGF0aW9uIGlyZ2VuZHdpZSBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoTW9yZ290aCwgIDUuIE5vdiAxOTk4LCAxNDowNzoyMCk6Cn4jISBybj1SaW5nb3IgcnQ9OTEwMjc0NjA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkRhIG11c3MgaWNoIFJpbmdvciB6dXN0aW1tZW4uIEljaCBoYXNzZSBxdWVzdGVuLiBXZW5uIGljaCBtaXQgbWVpbmVuIEtsZWluZW4KZGllIFF1ZXN0IGVpbm1hbCBnZXNwaWVsdCBoYWJlICoqd3VlcmcqKiB3ZXJkZSBpY2ggZnVlciBkaWUgYW5kZXJlbiBzaWNoZXIKZWluZSBMb2VzdW5nIGJ6dy4gZWluIFNjcmlwdCB2b3JyYWV0aWcgaGFsdGVuLiBFaW5tYWwgcXVlc3RlbiByZWljaHQuCkFuc29uc3RlbiB3aWxsIGljaCBtZXR6ZWxuLCB3YXMgbWFuIHZpZWxsZWljaHQgYXVjaCBhbiBkZW4gWFAgbWVpbmVzIEtsZWluZW4Kc2llaHQgOy0pCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChNYWhhdG11LCAgNS4gTm92IDE5OTgsIDE0OjMwOjMwKToKfiMhIHJuPU1vcmdvdGggcnQ9OTEwMjc0ODQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkljaCBtYWcgRm9yc2NoZW4gLi4uIGFiZXIgbmljaHRzZGVzdG90cm90eiBtZXR6bGUgaWNoIGF1Y2ggCmdlcm4uIFp1cnVlY2sgenVtIFRoZW1hOiBXYW5uIGtvbW10IElyYXMgUXVlc3Q/ClNvIGRldGFpbHJlaWNoIHdpZSBUb2V0ZXIsIGVpbmZhbGxzcmVpY2ggd2llIFNoYWtlZGJlZXIgdW5kIGdlbWVeaF5IXkheSGZhaXIKd2llIFJvY2h1cz8KClNjaG9lbiwgR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYnVnIChXb29keSwgIDUuIE5vdiAxOTk4LCAxNDo0NzowOSk6Cn4jISBybj1QYWRyZWljIHJ0PTkxMDIxODk4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDIxODgyMgpEaWUgVW1zdGVsbHVuZyB2b24gU29tbWVyLSBhdWYgV2ludGVyemVpdCBpc3QgZWluZSBTYWNoZSBkZXIgcmljaHRpZwplaW5nZXN0ZWxsdGVuIFplaXR6b25lLiBEaWUgQW56YWhsIGRlciBTZWt1bmRlbiBzZWl0IDEuMS4xOTcwIGV0d2EKaXN0IHZvbiBkZXIgU29tbWVyemVpdCBVRUJFUkhBVVBUIE5JQ0hUIGJldHJvZmZlbiwgd2VpbCBkaWUgaW1tZXIKc3RldGlnICh1bmQgc3RyZW5nIG1vbm90b24gd2FjaHNlbmQpIGlzdCAodGltZSgpKSwgaGluZ2VnZW4gZGllCklOVFJFUFJFVEFUSU9OIChhbHNvIGN0aW1lKCkgb2RlciBkdGltZSgpKSBkaWVzZXIgWmFobCBpc3QgZWJlbgpaZWl0em9uZW5hYmhhZW5naWcgdW5kIGJlcnVlY2tzaWNodGlndCBpZFIuIGF1dG9tYXRpc2NoIGRpZQpTb21tZXJ6ZWl0LiBEYXp1IGJlbm9ldGlndCBlcyBrZWluZXJsZWkgUmVib290LgoKV29vZHkuLQoKUFMuIEFsbGVzIG9obmUgR2V3YWVociA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYnVnIChHcmltbWJvcm4sICA2LiBOb3YgMTk5OCwgMDk6MTQ6MTYpOgp+IyEgcm49V29vZHkgcnQ9OTEwMjc3MjI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjE4ODIyCk9obmUgZGFmdWVyIHZlcmxhZXNzbGljaGUgUXVlbGxlbiB6aXRpZXJlbiB6dSBrb2VubmVuIGRhY2h0ZSBpY2gsIGRhc3MgZGFzCmVoZXIgYW4gZGVyIFN5c3RlbXplaXQgbGllZ3QuIEZydWVoZXIgZ2luZyBkaWUgU29tbWVyemVpdCBpbW1lciBiaXMgenVtCmxldHp0ZW4gU28gaW0gU2VwdGVtYmVyLCBqZXR6dCBpc3RzIGRlciBsZXR6dGUgaW0gT2t0b2Jlci4gRGFzIEJJT1MgZGFnZWdlbgp3ZWlzcyBkYXMgbm9jaCBuaWNodCB1bmQgc3RlbGx0IEVuZGUgU2VwdGVtYmVyIGRpZSBTeXN0ZW16ZWl0IChkYXMsIHdhcyBmdWVyCmRlbiBSZWNobmVyIGRpZSBTZWt1bmRlbiBzZWl0IDE5NzAgaXN0KSB1bS4gCk9icyBzdGltbXQ/IEtlaW5lIEFobnVuZy4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYnVnIChXb29keSwgIDYuIE5vdiAxOTk4LCAxMjozODozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTEwMzQzNjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjE4ODIyCkRhcyBCSU9TIHN0ZWxsdCBnYXIgbml4IHVtLi4uIHVuZCBkaWUgQ01PUyBVaHIgd2lyZCBsZWRpZ2xpY2gKZWlubWFsIGJlaW0gQm9vdGVuIGJlYW5zcHJ1Y2h0LiBBdWYgZGVyIHNpY2hlcnN0ZW4gU2VpdGUgaXN0Cm1hbiwgd2VubiBtYW4gYmVpbSBCb290ZW4gZWluZW4gVGltZXNlcnZlciBiZWZyYWd0IChkZXIgZWluZW0KZWluZSBTb21tZXJ6ZWl0LXVuYWJoYWVuZ2lnZSBaZWl0IHNhZ3QpIHVuZCBkZW4gUmVzdCBkZW4KWmVpdHpvbmVuIHVlYmVybGFlc3N0IChpbmNsLiBTb21tZXJ6ZWl0KS4KClVuZCB2ZXJsZWcgZGVuIFRocmVhZCBtYWwuIDspCgpXb29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoQXJrLCAgNi4gTm92IDE5OTgsIDE5OjMyOjA4KToKfiMhIHJuPUJvaW5nIHJ0PTkxMDI3MzUwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpIbSwgb2ssIGljaCBiZW11ZWhlIG1pY2ggamEgc2Nob24gKmFlY2h6KiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEFyaywgIDYuIE5vdiAxOTk4LCAxOTozOToxOSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxMDI3NDg0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpXaXJkIGphIG5pZW1hbmQgenVtIFF1ZXN0ZW4gZ2V6d3VuZ2VuLCBlcyBpc3QgZGFubiBoYWx0IFNFSFIgdmllbCBzY2h3ZXJlciwKbnVyIHp1IE1ldHplbG4uIFVuZCB3ZXIgc2Nob25tYWwgbmUgUXVlc3QgZ2VzY2hyaWViZW4gaGF0IG9kZXIgYXVjaCBudXIKdmVyc3VjaHQgaGF0IHp1IGVudHdlcmZlbiwgZGVyIHdlaXNzLCB3aWUgc2Nod2VyIGVzIGlzdCwgZWluZSBoYWxid2VncwptdXN0ZXJsb2VzdW5nc2ZyZWllIHdpdHppZ2UgdW5kIHVudGVyaGFsdHNhbWUgR2VzY2hpY2h0ZSB6dSBlcmRlbmtlbi4gSmVkZQpRdWVzdCB2ZXJsaWVydCBuYWNoIGRlbSBlcnN0ZW4gTG9lc2VuIG5hdHVlcmxpY2ggZnVlciBlaW5lbiBTcGllbGVyIGFuCkFuemllaHVuZ3NrcmFmdCwgZGFzIGxpZWd0IGxlaWRlciBpbiBkZXIgTmF0dXIgZGVyIFNhY2hlLiBOZWJlbmJlaSBob2VydCBtYW4KYXVjaCBzbyBlaW5pZ2VzIGFuIEZsdWNoZW4sIHdlbm4gZWluZSBRdWVzdCBtYWwgbmljaHQgZ2xlaWNoIGFibGFldWZ0CihIdWRkbGVzKS4gRGEgd2lyZCBkYW5uIGF1Y2gga3JhZWZ0aWcgZ2VtYXVsdCwgb2J3b2hsIHNpZSBudXIgc2VsdGVuIGZ1ZXIgendlaQpMZXV0ZSB2b2VsbGlnIGdsZWljaCBpc3QuCkFsc28sIHdlbm4gamVtYW5kIGVpbmUgSWRlZSBoYXQsIGRpZSBvLmcuIEtyaXRlcmllbiBnZW51ZWd0IHVuZCBhdWNoIG5vY2gKaW1tZXIgYWVobmxpY2ggYXR0cmFrdGl2IGZ1ZXIgQmx1ZW1jaGVucGZsdWVja2VyIGlzdCB3aWUgZGllIFNTUCwgbnVyIHp1LCBpY2gKaGFiJyBub2NoIG5pZW1hbmRlbiAndmVybWFnaWVydCcgOi0pCkFuc29uc3RlbiBpc3QgZGF6dSBudXIgenUgc2FnZW4sIGRhc3MgaGllciBCbHVlbWNoZW5wZmx1ZWNrZXIsIE1ldHpsZXIgdW5kCkNoYXR0ZXIsIFpULVN1Y2hlciBuZWJlbmVpbmFuZGVyIGV4aXN0aWVyZW4ga29lbm5lbiwgb2huZSBzaWNoIGF1ZiBkZW4gV2Vja2VyCnp1IGdlaGVuIChtYW4gYmVhY2h0ZSBkYXMgV29ydCAna29lbm5lbicpLiBEaWUgZWluZW4gZ2VoZW4gbmljaHQgaW4gZGllCidHZWJpZXRlJyBkZXIgYW5kZXJlbiB1bmQgdW1nZWtlaHJ0LiBXQVMgU09MTCdTID8/PwpBdWYgZGVtIFdlZyB6dW0gU3RhbW10aXNjaCBzZWllbmQgdW5kIG5vY2ggdW5iZXRydW5rZW4gOi0pIC4uLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcnZpbiwgZGVyIEJydWRlciB2b24gRWxpemEgKEN5bW9uaywgIDguIE5vdiAxOTk4LCAxMjozODoyNik6CmhhbGxvZWNoZSwKCk1hcnZpbiBoYXQgc2ljaCBiZWkgbWlyIGJlc2Nod2VydCwgZGFzcyBzaWNoIGtlaW5lciBtaXQgaW0gdW50ZXJoYWVsdC4KYWxsZSB3dWVyZGVuIGlobiBudXIgbmFjaCBpcmdlbmR3ZWxjaGVtIHVuc2lubmlnZW4gemV1Z3MgRlJBR0VOIHVuZAprZWluZXIgc2ljaCByaWNodGlnIG1pdCBpaG0gdW50ZXJoYWx0ZW4uLi4KCmVyIGhhdCBtaWNoIGF1Y2ggYXVmIGVpbmUgd2ViIHBhZ2UgYXVmbWVya3NhbSBnZW1hY2h0LCB1ZWJlciBkaWUgZXIKbmV1bGljaCB6dWZhZWxsaWcgZ2VzdG9scGVydCBpc3QuCgpodHRwOi8vZ2FuZGFsZi5yei16dy5maC1rbC5kZS9+c2VpcDEvdW5pdG9waWEvCgpBbSBlbmRlIGRpZXNlciBzdGFydHNlaXRlIGdpYnQgZXMgZWluZW4gbGluayBiZXRyZWZmczoKClNvbnN0aWdlIFNhY2hlbiwgZGllIG1pdCBNVURzIHp1IHR1biBoYWJlbjoKV2VubiBlaW4gV2l6YXJkIHZlcnN1Y2h0LCBlaW5lbiBpbnRlbGxpZ2VudGVuIE5QQyB6dSBlcnNjaGFmZmVuIC4uLgoKRG9ydCBpc3QgZWluIGxvZ2ZpbGUgdm9tIGVyc3RlbiBnZXNwcmFlY2ggbmFjaCBtYXJ2aW5zIGdlYnVydCB6dQpmaW5kZW4gLi4uCgpDeU1vbmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYXJ2aW4sIGRlciBCcnVkZXIgdm9uIEVsaXphIChRaXRlc3MsICA5LiBOb3YgMTk5OCwgMTU6MTM6MDcpOgp+IyEgcm49Q3ltb25rIHJ0PTkxMDUyODcwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDUyODcwNgpXQUFBQUFBQUFIIQoKSWNoIGZpbmQgZGVuIEJlcmljaHQga2xhc3NlIDopCgpRSSoqIHdpc2NodCBzaWNoIGltbWVyIG5vY2ggVHJhZW5lbiBhdXMgZGVuIEF1Z2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0lMVkFOQSEgKFFpdGVzcywgMTAuIE5vdiAxOTk4LCAxMjoyMDoxNik6ClNJTFZBTkFBQUFBQSEgTUVMREUgRElDSCBNQUFBQUwgISEhCgpRSSoqLCBkaWUgc2Nob24gc2VobnN1ZWNodGlnIGRyYXVmIHdhcnRldC4KClAuUy46IERpZXMgaXN0IGtlaW5lIE1pc3NsdW5nZW5lIG1haWwuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxkYm9lcnNlbmJ1ZyAoTXVhZGRpYiwgMTAuIE5vdiAxOTk4LCAyMDoyNTo0OCk6CkhpLAoKd2FyIG5lIFplaXQgbGFuZyBuaWNodCBoaWVyLCBkYWhlciBrYW5uIGVzIGphIHNlaW4sIGRhc3MgZGFzIGFsbGdlbWVpbmVzCk1hZ2llcndpc3NlbiBpc3QsIHdlbm4gbmljaHQsIGRhbm4gd2VpdGVybGVzZW4sIGJpdHRlIDspCgpGb2xnZW5kZXMgaXN0IG1pciBzY2hvbiBvZWZ0ZXJzIHBhc3NpZXJ0OgoKMS4gSWNoIGthdWZlIGVpbmUgR2VsZGJvZXJzZQoyLiBJY2ggc3RlY2sgbWVpbmUgTXVlbnplbiByZWluCjMuIEljaCBnZWggcmF1cwp1bmQgSVJHRU5EV0FOTiBzcGFldGVyIGZhZWxsdCBtaXIgYXVmLCBkYXNzIGljaCBlaW5lIGxlZXJlIEdlbGRib2Vyc2UgaGFiLgpCbG9lZCwgd2VubiBzaWNoIGRlcndlaWwgamVtYW5kIGFuIG1laW5lbiBNdWVuemVuIGVyZnJldXQuIFdhZXIgZGFzIG5pY2h0IGVpbgpCdWdmaXggd2VydD8KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSm9icyAoUGVydGluYXhlLCAxNi4gTm92IDE5OTgsIDE0OjM4OjIwKToKV2VyIGFscyBJbmZvcm1hdGlrZXIvaW4gZ3JhZGUgZWluZW4gSm9iIHN1Y2h0LCBzb2xsdGUgbWFsCmh0dHA6Ly93d3cuemliLmRlL2pvYnMvaW5kZXguZGUuaHRtbHd3dy56aWIuZGUvam9icy9pbmRleC5kZS5odG1sIGFuc2NoYXVlbi4KVmllbCBFcmZvbGcsIFBlcnRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSm9icyAoSGF0ZSwgMTYuIE5vdiAxOTk4LCAxNDo1ODoxOSk6Cn4jISBybj1QZXJ0aW5heGUgcnQ9OTExMjI3MTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCldlciBhbHMgSW5mb3JtYXRpa2VyIGVpbmVuIEpvYiBzdWNodCB1bmQgc2ljaCBuaWNodCBnZWxkbWFlc3NpZyB2ZXJiZXNzZXJuCndpbGwsIG1hY2h0IGltIE1vbWVudCB3YXMgZmFsc2NoIDotKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSm9icyAoSGF0ZSwgMTYuIE5vdiAxOTk4LCAxNTowMjozNSk6Cn4jISBybj1IYXRlIHJ0PTkxMTIyODI5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMTIyNzEwMApIbW0sCgoxIEphaHIvMiBKYWhyZSBCZWZyaXN0dW5nIHVuZCBCQVQgSUlhLiBEYSB3aXJkIGVzIGRhcyBaSUIgc2Nod2VyIGhhYmVuLAphdXNzZXIgZXMga2FubiBldHdhcyBtZWhyIGJpZXRlbiBhbHMgZGllIGFuZGVyZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEpvYnMgKFlhcmVuLCAxNi4gTm92IDE5OTgsIDIxOjQ5OjUxKToKfiMhIHJuPVBlcnRpbmF4ZSBydD05MTEyMjcxMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTEyMjcxMDAKV2FyIGRhcyBuaWNodCBlaGVyIHNvOiBXZXIgYWxzIEpvYiBuZW4gSW5mb3JtYXRpa2VyIHN1Y2h0IC4uLgoKWWFyZW4gKC0+IFNjaG1hcnJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChTb25nb2t1LCAxNy4gTm92IDE5OTgsIDEyOjQ5OjQ0KToKfiMhIHJuPUFyayBydD05MTAzODExNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKRXMgaXN0IGphIGdhbnogbmV0dCwgZGFzcyBtYW4gc2ljaCBhbHMgQmx1ZW1jaGVucGZsdWVja2VyIHVuZCAuLi4uLiBzaWNoIG5pY2h0CmdlZ2Vuc2VpdGlnIGF1ZiBkaWUgRnVlc3NlIHRyaXR0LiBJY2ggZmluZGUgZXMgYWJlciBldHdhcyBibG9lZGUsIGRhc3MgbWFuCmVmZmVrdGlmIGVpbiBRdWVzdGVyIHNlaW4gbXVzcywgdW0gaXJnZW5kd2FubiBtYWwgc2VoZXIgb2RlciBNYWdpZXIgenUgd2VyZGVuLgood29sbHRlIGljaCBudXIgbWFsIHNvIHNhZ2VuL3ZpZWxlaWNodCBrb2VubnRlIGRlciAiVGl0ZWwiYnp3IGRpZSBBdWZnYWJlIGF1Y2gKYW4gTGV1dGUgdmVyZ2ViZW4gd2VyZGVuLCBkaWUgc2ljaCBzY2hvbiBndXQgYXVza2VubmVuIChrbGVpbmVyIEZyYWdlYm9nZW4gYnp3CnZvbiBhbmRlcmVuIE1hZ2llcm4vU2VoZXJuIHZvcmdlc2NobGFnZW4pCkJ5ZSBTb25Hb2t1IChpbW1lciBub2NoIHppZW1saWNoIGhhcm1sb3MpCkJ5ZSBTb25Hb2t1IChpbW1lciBub2NoIHppZW1saWNoIGhhcm1sb3MpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChFbWJlLCAxNy4gTm92IDE5OTgsIDEyOjUwOjU4KToKfiMhIHJuPVNvbmdva3UgcnQ9OTExMzA2OTg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CmljaCB2ZXJzdGVoIGpldHp0IG5pY2h0LCB3aWUgZHUgZGljaCBvaG5lIHF1ZXN0ZW4gZ3V0IGF1c2tlbm5lbiB3aWxsc3QuLi4KCmdydXNzLCBlTUJlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoR3VuZHVyLCAxNy4gTm92IDE5OTgsIDEyOjU1OjAxKToKfiMhIHJuPUVtYmUgcnQ9OTExMzA3MDU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhpCkRhcyBNRyB3YXIgdm9uIGRlciBJZGVlIGhlciB2b24gQW5mYW5nIGFuIGFscyBRdWVzdG11ZCBnZWRhY2h0IHVuZCB3aXJkcyBkZW5rZQppY2ggYXVjaCBibGVpYmVuIHNvIGxhbmdlIEJvaW5nIGhpZXIgd2FzIHp1IHNhZ2VuIGhhdC4uc3RpbW10IGRvY2ggQm9pbmcgb2Rlcj8KOi0pCkRhcyBzb2xsdGUgYWxzIEFudHdvcnQgcmVpY2hlbiBkZW5rIGljaC4KR3J1c3MKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEtleSwgMTcuIE5vdiAxOTk4LCAxMjo1NTozMyk6Cn4jISBybj1FbWJlIHJ0PTkxMTMwNzA1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpXYXMgaGF0IHF1ZXN0ZW4gbWl0IGF1c2tlbm5lbiB6dSB0dW4/CkljaCB3ZWlzcyBqYSBuaWNodCBvYiBEdSBoaWVyIGR1cmNoYmxpY2tzdCwgYWJlciBxdWVzdGVuIGlzdCBuaWNodCBhbGxlcwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEd1bmR1ciwgMTcuIE5vdiAxOTk4LCAxMjo1NjoxNik6Cn4jISBybj1LZXkgcnQ9OTExMzA3MzMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5ClF1ZXN0ZW4gaXN0IGRhbm4gYWxsZXMgd2VubiBtYW4gU2VoZXIgd2VyZGVuIHdpbGwgei5iIG9kZXIga3JpZWd0IG1hbiBudSBhdWNoCkFQIG1pdCBtZXR6ZWxuPwpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoRW1iZSwgMTcuIE5vdiAxOTk4LCAxMzowMDoyMSk6Cn4jISBybj1HdW5kdXIgcnQ9OTExMzA3Mzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CnF1ZXN0ZW4gaXN0IG5pY2h0IGFsbGVzLAphYmVyIGljaCBoYWx0ZSBxdWVzdGVuIGYidXIgZWluZSB1bmFiZGluZ2JhcmUgdm9ycmF1c3NldHp1bmcsCmYidXIgamVkZW4sIGRlciBzZWhlciBvZGVyIGdhciBtYWdpZXIgd2VyZGVuIHdpbGwsCmVnYWwgaW4gd2VsY2hlbSBtdWQgKGVzIHNlaSBkZW5uLCBkYXMgZXMgZWluIHJlaW5lcyBtZXR6ZWxtdWQgdyJhcikKCmdydXNzLCBlTUJlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEtleSwgMTcuIE5vdiAxOTk4LCAxMzowMDozMSk6Cn4jISBybj1HdW5kdXIgcnQ9OTExMzA3Mzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhtcGYgamFqYSBtYW4gbXVzcyBxdWVzdGVuIHVtIFNlaGVyIHp1IHdlcmRlbiAuLi4gdW5kIGZvcnNjaGVuIC4uLiBXYXMgcmF1cwprb21tdCBzaWVodCBtYW4gamEgYW4gZGVuIGhldXRpZ2VuIFdlaWNoZWllcm4gOykKQWJlciBxdWVzdGVuIGFsbGVpbmUgcmVpY2h0IG5pY2h0IHVtIHNpY2ggYXVzenVrZW5uZW4gLi4uIGljaCBkZW5rZSBkYSBhbiBlaW4KcGFhciBCZWlzcGllbGUsIHdvIExldXRlIHF1ZXN0ZW4sIGFiZXIgbmV0bWFsIHZvbiBQViB6dXIgSEUgZmluZGVuIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEtleSwgMTcuIE5vdiAxOTk4LCAxMzowMTowMSk6Cn4jISBybj1FbWJlIHJ0PTkxMTMwNzYyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpBdWNoIG1ldHplbG4ga2FubiBlaW5lIFF1ZXN0IHNlaW4gLDkKCktleSBlaW56ZWlsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQmFsYW5jZSBoYWx0ZW4gdW5kIHNvLi4uIChHcmltbWJvcm4sIDE3LiBOb3YgMTk5OCwgMTM6MDE6MzIpOgp+IyEgcm49S2V5IHJ0PTkxMTMwNzYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpoaWxmZSB0ZWlsZSBtaXQKCkRhcyBFcmdlYm5pcyBkdWVyZnQgaWhyIGRhbm4gZ2VybmUgaW4gZGVyIG1wYSBwb3N0ZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEFuYXRvbCwgMTcuIE5vdiAxOTk4LCAxNDo1Nzo0MSk6Cn4jISBybj1LZXkgcnQ9OTExMzA3NjYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkRpZSB1cnNwcnVlbmdsaWNoZSBJbnRlbnRpb24gZGVzICJTZWhlci1TdGF0dXMiIHdhciB3b2hsIGV0d2FzIGRlcgpBcnQgJ0RpZXNlciBTcGllbGVyIGlzdCBpbiBkZXIgTGFnZSwgWnVzYW1tZW5oYWVuZ2UgenUgYmVncmVpZmVuLicuCgpXdXJzdG1hZ2llciBnaWJ0IGVzIHNjaG9uIGF1cyBkZW4gUmVpaGVuIGRlciBRdWVzdHNjaGxlaWZlciBzY2hvbgpnZW51ZyAtIHdvenUgZGFubiBub2NoIGRpZSwgZGllIGdsYXViZW4sIHNpZSBzaW5kIGRpZSBIZWxkZW4sIGFiZXIKbmljaHQgaW4gZGVyIExhZ2Ugc2luZCwgImZyYWdlIFdFTiBuYWNoIFdBUyIgenUgYmVncmVpZmVuPwoKQW5hdG9sIDpvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjMxIChYZW5vbiwgMTcuIE5vdiAxOTk4LCAxNTo1NDo0Nyk6Cn4jISBybj1HdW5kdXIgcnQ9OTExMzA3MzAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkljaCBkZW5rZSBhdWNoIGRhcyBRdWVzdGVuIGhpZXIgdWViZXJiZXdlcnRldCB3aXJkLgpWb3IgYWxsZW0gZGllIChmdWVyIG1pY2ggaW1tZXIgbm9jaCkgc2Nod2VyIHp1IG5laG1lbmRlCkh1ZXJkZSBkZXIgMTgzNCBBUC4gSWNoIGtlbm5lIExldXRlIGRlbmVuIG1hY2h0IGVzIGdyb3NzZW4KU3Bhc3MgbGF1ZmVuZCB2ZXJzdGVja3RlIEtub2VwZmUgenUgc3VjaGVuIHVuZCBhbmRlcmUgJ2x1c3RpZ2UnIFNhY2hlbgpoZXJhdXN6dWJla29tbWVuLgoKQWJlciBlaW5lIGdhbnplIE1lbmdlIHZvbiBMZXV0ZW4gYmVrb21tZW4gZGllIGxldHp0ZW4gMTAwMCBBUCBudXIgbWl0Cm1hc3NpdmVyIEhpbGZlIHZvbiBhbmRlcmVuIFNwaWVsZXJuIG9kZXIgS0xzIGF1ZiBkaWUgUmVpaGUuCkRhcyBmdWVocnQgbGV0enRlbmVuZGVzIGRhenUgZGFzcyBudXIgbm9jaCBkdXJjaCBRdWVzdHMgZ2VyYW5udCB3aXJkIG9obmUgc2ljaAphdWYgZGllIFN0b3J5IGVpbnp1bGFzc2VuLCBvZGVyIG1hbCBkaWUgRGV0YWlscyBhbnp1c2NoYXVlbi4KRGFzIEFyZ3VtZW50IGRpZSBBbmZhZW5nZXIgdm9uIGhldXRlIGhhYmVuIGVzIGphIGxlaWNodGVyLCB3ZWlsIGVzIGViZW4gbWVocgpMZXV0ZSBnaWJ0IGRpZSBoZWxmZW4gKGtvZW5uZW4pLCBmb2VyZGVydCBqYSBhYmVyIGdlbmF1IGRpZXNlIEVudHdpY2tsdW5nLgoKV2FzIGRhcyBhbGxlcyBzb2xsPyBJY2ggZGVua2UgZXMgc29sbHRlIHNpY2ggaGllciB3aXJrbGljaCBtYWwgdWViZXJsZWd0CndlcmRlbiwgb2IgbWFuIHZpZWxsZWljaHQgZG9jaCBkaWUgQVAtR3JlbnplIGZ1ZXJzIFNlaGVyd2VyZGVuIGVpbmZyaWVydC4KVW5kLiBEYSBtdXNzIGljaCBLZXkgcmVjaHQgZ2ViZW4uIFdpcmtsaWNoZXMgYXVza2VubmVuIGhhZW5ndCB1ZWJlcmhhdXB0IG5pY2h0CnZvbSBRdWVzdGVuIGFiLCB3ZWlsIG1hbiBkYSBtZWlzdCBpbiBlaW5lIGFuZGVyZSBXZWx0IGdlcmlzc2VuIHdpcmQsIGRpZSBlaAp3ZW5pZyBtaXQgZGVtIE1HLUFsbHRhZyB6dSB0dW4gaGF0LgoKCkRhbmtlIFhlbm9uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDMxIChBbmF0b2wsIDE3LiBOb3YgMTk5OCwgMTU6NTc6MjYpOgp+IyEgcm49WGVub24gcnQ9OTExMzE4MDg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CktvZW5udGVzdCBEdSBmdWVyIFVuYmVkYXJmdGUgd2llIG1pY2gga3VyeiBlcmxhZXV0ZXJuLCB3YXMgRHUgRGlyIHVudGVyCmRlbSBCZWdyaWZmICJTZWhlciIgYnp3LiAiU2VoZXJzdGF0dXMiIGVpZ2VudGxpY2ggdm9yc3RlbGxzdC4uLj8KCkFuYXRvbCwgbmV1Z2llcmlnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAzMSAoTm92YXN0b3JtLCAxNy4gTm92IDE5OTgsIDE2OjA1OjAyKToKfiMhIHJuPUFuYXRvbCBydD05MTEzMTgyNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSGVpa2xlcyBUaGVtYSBBbmF0b2wuLi4KCkFiYSBudW5qYSwgdmllbGUgZGVyIFNlaGVyIHNpbmQgenUgZGllc2VtICdTdGF0dXMnIGF1Zmdlc3RpZWdlbiBvaG5lIGRpZXNlCm5ldWVuIEdyZW56ZW4sIG1hbmNoZSBzb2dhciBtaXQgbmljaHRtYWwgZWluZW0gQnJ1Y2h0ZWlsIGRhdm9uIHVuZCBvaG5lIGVpbmVuCmdld2lzc2VuIFNhdHogYW4gRm9yc2NoZXJwdW5rdGVuLgpOdXIgYW4gZGVuIGltbWVyIHN0YWVya2VyIHdhY2hzZW5kZW4gQW5mb3JkZXJ1bmdlbiBpbiBCZXp1ZyBhdWYgZGllIFF1ZXN0ZW4Kd3VlcmRlIGljaCBkZW4gU3RhdHVzIG5pY2h0IGRlZmluaWVyZW4sIGRhdm9uIG1hbCBhYmdlc2VoZW4uLi4gZGFzIGVpbmlnZXMgbWl0Ck11ZGtlbm50bmlzIGVyc3QgYWxzIFNlaGVyIHp1Z2FlbmdsaWNoIGdlbWFjaHQgb2RlciB6dW1pbmRlc3RlbnMgZXJ0cmFlZ2xpY2hlcgpnZWhhbHRlbiB3aXJkLi4uCihOaWNodCB1bXNvbnN0IGhhYmVuIGRpZSBtZWlzdGVuIEdpbGRlbiBhdWNoIEJlc2NocmFlbmt1bmdlbiBpbiBkaWVzZQpSaWNodHVuZykKCiAgICBOb3ZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAzMSAoU2hhcmlhLCAxNy4gTm92IDE5OTgsIDE2OjA1OjU1KToKfiMhIHJuPU5vdmFzdG9ybSBydD05MTEzMTg3MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKZXMgc29sbCBzb2dhciBTZWhlciBnZWJlbiwgZGllIG5pY2h0bWFsIHdpc3NlbiBkYXNzIGlzIG5lbiBQYXJhbWV0ZXIgIi1uIiBiZWltCiJmaW5nZXIiIGdpYnQgLi4gb2RlciB3YXMgZGVyIGJlZmVobHQgImV4dHJhbG9vayIgbWFjaHQgOi0pCgpTaGFyaWEgLi4uIGhhdCBtYWwgZGF2b24gZ2Vob2VydCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMzEgKFhlbm9uLCAxNy4gTm92IDE5OTgsIDE2OjEyOjE0KToKfiMhIHJuPUFuYXRvbCBydD05MTEzMTgyNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSG0gOikgCkFsc28gZnVlciBtaWNoIGlzdCBTZWhlciBzZWluIChub2NoIGJpbiBpY2hzIGxlaWRlciBuaWNodCkgZWlnZW50bGljaCBrZWluClN0YXR1cyBhdWYgZGVtIG1hbiBTdG9seiBzZWluIHNvbGx0ZS4KSW0gTW9tZW50IGlzdCBlcyBhdXMgbWVpbmVyIFNpY2h0IG51ciBkYXMgaWNoIFBvcnRhbGUgdW5kIGRpZSBQYXJhd2VsdCBzZWhlbgoodW5kIGJlbnV0emVuKSBrYW5uLiAKVW5zIG5vY2ggZWluIHBhYXIgbmV0dGUgRmVhdHVyZXMgd2llIFByZXNheSwgU2VoZXJoYXVzIC4uLiBoYWJlbiBrYW5uLiAKCkljaCBmaW5kZSBuaWNodCwgZGFzcyBkaWUgKG1laW5lciBNZWludW5nIG5hY2gpIGVpbnNlaXRpZ2VuIEZhZWlna2VpdGVuL1dpc3NlbgpRdWVzdHMgKG9obmUgSGlsZmUpIHp1IGxvZXNlbiwgZWluCmVuIFNwZWlsZXIgenVtIFNlaGVyKHN0YXR1cykgbWFjaGVuLgoKSWNoIGZpbmRlIGRhcyBlaW4gYmlzY2hlbiB6dSBlaW5zZWl0aWcuIEVzIGRpc2tyaW1pbmllcnQgU3BpZWxlciBkaWUgYW5kZXJlCkludGVyZXNzZW4gaGFiZW4gc2VociBzdGFyay4gCgpYZW5vbiAKCkFjaDogVW5kIGhldWxlbiB3ZXJkIGljaCBiZXN0aW1tdCBuaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMzEgKEhvYm8sIDE3LiBOb3YgMTk5OCwgMTY6MTU6MzEpOgp+IyEgcm49WGVub24gcnQ9OTExMzE5MTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CipzZXVmeioKV2llc28ga29tbWVuIGVpZ2VudGxpY2ggYWxsZSAyIE1vbmF0ZSBkaWUgYWx0ZW4gVGhlbWVuIGhvY2g/CldpZSB3YWVyJ3MgbWFsIHdpZWRlciBtaXQgbmVyIFNrcmlwdGVyLURpc2t1c3Npb24/CgogSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMzEgKFRlZGR5LCAxNy4gTm92IDE5OTgsIDE2OjE2OjUwKToKfiMhIHJuPUhvYm8gcnQ9OTExMzE5MzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkF1IGphLCB3YXIgc2Nob24gbGFuZ2UgbmljaHRtZWhyLgpNYWdpZXIydGllcyBrb2VubnRlbiB3aXIgYXVjaCBtYWwgZHJ1ZWJlciByZWRlbi4KCk5vY2ggVm9yc2NobGFlZ2U/IDspCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMzEgKFNoYXJpYSwgMTcuIE5vdiAxOTk4LCAxNjoxNjo1NCk6Cn4jISBybj1Ib2JvIHJ0PTkxMTMxOTMzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpkaWUgZWluZmFjaGUgZXJrbGFlcnVuZywgd2llc28gc29sY2hlIFRoZW1lbiBpbW1lcndpZWRlciBhdWZrb21tZW4gaXN0LCBkYXNzCmVzIGltbWVyd2llZGVyIG5ldWUgc3BpZWxlciBoaWVyIGdpYnQgOi0pIHRzdHMgSG9ibyBpY2ggZGFjaHRlIGR1IHd1ZXNzdGVzdApzb3dhcyA6LSkpKQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAzMSAoSG9ibywgMTcuIE5vdiAxOTk4LCAxNjoxNzozMSk6Cn4jISBybj1TaGFyaWEgcnQ9OTExMzE5NDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5Ck9rLCB3ZXIgdWViZXJuaW1tdCBkaWUgRkFRPwoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAzMSAoU2hhcmlhLCAxNy4gTm92IDE5OTgsIDE2OjE4OjAyKToKfiMhIHJuPUhvYm8gcnQ9OTExMzE5NDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CmRlciBkZXIgbmljaHRtYWwgZmluZ2VyIC1uIGtlbm50Li4gZGVyIGhhdCBkaWUgc2Nob24gZ2VtYWNodCA6LSkKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMzEgKEdyaW1tYm9ybiwgMTcuIE5vdiAxOTk4LCAxNjoxODowOCk6Cn4jISBybj1Ib2JvIHJ0PTkxMTMxOTQ1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpJY2ggd2FlcmUgZWhlciBmdWVyIHNvd2FzIHdpZSAiZGVqYW1wYSIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDMxIChEaWVkZXIsIDE3LiBOb3YgMTk5OCwgMTY6MjA6NDIpOgp+IyEgcm49VGVkZHkgcnQ9OTExMzE5NDEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CndpZSB3YWVycyBtYWwgd2llZGVyIG1pdCBuZXIgQmV0cmllYnNzeXN0ZW0tRGlza3Vzc2lvbj8KIDotKQoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAzMSAoV3VyemVsLCAxNy4gTm92IDE5OTgsIDE2OjIxOjE0KToKfiMhIHJuPVhlbm9uIHJ0PTkxMTMxOTEzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQprbGFyIGRpc2tyaW1pbmllcnQgZGFzIHNwaWVsZXIsIGRpZSBhbmRlcmUgaW50ZXJlc3NlbiBoYWJlbi4genVtIGJlaXNwaWVsCmRpZWplbmlnZW4sIGRpZSBudXIgcnVtbWV0emVsbiB3b2xsZW4gKHVuZCBrb2VubmVuKS4Kd2FydW0gd2lsbHN0IGR1IHNlaGVyIHdlcmRlbiAobGVpZGVyIGJpc3QgZHUgZXMgamEgbm9jaCBuaWNodCk/IApncnVuZHNhZXR6bGljaCBzb2xsdGUgbWFuIGphIG5pY2h0IHN0b2x6IGRhcmF1ZiBzZWluICh3YXJ1bSBlaWdlbnRsaWNoIG5pY2h0PykKb2J3b2hsIGljaCBlcyBlaWdlbnRsaWNoIG51biB3aXJrbGljaCBuaWNodCBub2V0aWcgaGFiZSwgd2FyIGljaCBkb2NoCnJlY2h0IHN0b2x6LCBhbHMgbWVpbiB6d2VpdGkgZW5kbGljaCBzZWhlciB3YXIuLi4KCmljaCBmaW5kZSwgZGFzcyBlaW5lIGdhbnplIG1lbmdlIGRhenVnZWhvZXJ0IGJ6dy4gZGF6dWdlaG9lcmVuIHNvbGx0ZSwKc2VoZXIgenUgd2VyZGVuLiB2b24gYWxsZW0gZXR3YXMsIHNvenVzYWdlbi4gdW5kIGdhbnogc2ljaGVyIGF1Y2ggcXVlc3RzLgptZXR6ZWxuIGFsbGVpbmUgbWFjaHQgYmxvZWQsIHd1ZXJkZSBpY2ggbWFsIHNhZ2VuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAzMSAoSG9ibywgMTcuIE5vdiAxOTk4LCAxNjoyMToyMSk6Cn4jISBybj1EaWVkZXIgcnQ9OTExMzE5NjQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5Ck5vZW5vZSwgZGllIGdlaG9lcnQgbmFjaCBIYXJkL1NvZnR3YXJlLCBkYXMgbGllc3QgbmljaHQgamVkZXIgOikKCkhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDMxIChOb3Zhc3Rvcm0sIDE3LiBOb3YgMTk5OCwgMTY6MjI6NTYpOgp+IyEgcm49V3VyemVsIHJ0PTkxMTMxOTY3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpNdWRkZW4gbWFjaHQgZG9vZiwgbWV0emVsbiBpc3QgL211ZC9tYXNzYWtlcl9vbi8uLi4gYWxzbyBoYXNzdSBSZWNodCBXdXJ6ZWwKOy0pCgogICAgIE5vdmEgLS0tPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDMxIChUcmFuY2VmZWFyLCAxNy4gTm92IDE5OTgsIDE2OjQ1OjI1KToKfiMhIHJuPVhlbm9uIHJ0PTkxMTMxODA4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpJY2ggZGVua2UgbWFsLCBEdSBiaXN0IGRhIGVpbmVtIHdlaXR2ZXJicmVpdGV0ZW4gSXJydHVtIGF1Zmdlc2Vzc2VuOiBOaWVtYW5kCiptdXNzKiBoaWVyIFNlaGVyIHdlcmRlbi4gRGEgZ2lidCBlcyB1ZWJlcmhhdXB0IGtlaW5lbiBad2FuZy4gTWV0emVsIGhhbHQgcnVtCnVuZCB3ZXJkIG1pdCBzYWdlbndlciA0MDAgYXAgZ2x1ZWNrbGljaC4gV28gaXN0IERlaW4gUHJvYmxlbT8KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAzMSAoS2V5LCAxNy4gTm92IDE5OTgsIDE3OjA0OjQwKToKfiMhIHJuPVhlbm9uIHJ0PTkxMTMxOTEzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpJY2ggd2FyIGRhbWFscyBzb2x6IGVuZGxpY2ggU2VoZXIgenUgc2VpbiAuLi4uCldlaWwgZGFtYWxzIFNlaGVyIGVoZXIgbm9jaCBlaW4gZXhrbHVzaXZlciBLcmVpcyB3YXJlbiAuLi4KQWJlciBuYWphIGljaCBob2VyIGphIHNjaG9uIGF1ZiB2b24gYWx0ZW4gWmVpdGVuIHp1IHNjaHdhZXJtZW4gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMzEgKEFuYWtpbiwgMTcuIE5vdiAxOTk4LCAxNzowNTozNCk6Cn4jISBybj1LZXkgcnQ9OTExMzIyMjgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkdlbmF1LAoKYWxzIGljaCBTZWhlciB3dXJkZSwgZ2FiIGVzIDYwIChzZWNoemlnKSBTZWhlci4gRGFzIHdhcmVuIG5vY2gKWmVpdGVuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMzEgKE5vdmFzdG9ybSwgMTcuIE5vdiAxOTk4LCAxNzowNjoyNyk6Cn4jISBybj1BbmFraW4gcnQ9OTExMzIyMzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhldWx0IGRvY2ggOy0pCkJ0dy4uLiB3ZW5uIGlociBrd2VyIHNlaGVyIG1hY2h0IHVuZCBHbHVlY2sgaGFidCBrb2VubnRldCBpaHIgdmllbGxlaWNodCBpbW1hCm5vY2ggYXVmIDYwIGtvbW1lbiA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAzMSAoVGVkZHksIDE3LiBOb3YgMTk5OCwgMTc6MDY6MzUpOgp+IyEgcm49QW5ha2luIHJ0PTkxMTMyMjMzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpNYW4gc2VpZCBpaHIgYWxsZSBhbHQuClNjaG9ubWFsIGRyYW4gZ2VkYWNodCBsYW5nc2FtIGF1Znp1aG9lcmVuPyA7KQoKU28gaW4gbmVtIGdld2lzc2VuIEFsdGVyIHNvbGx0ZSBtYW4gYW4gc2VpbmUgUmVudGUgZGVua2VuIDstKQoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDMxIChCb2luZywgMTcuIE5vdiAxOTk4LCAxNzowNjo1Myk6Cn4jISBybj1BbmFraW4gcnQ9OTExMzIyMzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkRhIGJpc3QgRHUgYWJlciB6aWVtbGljaCBzcGFldCBnZWtvbW1lbiwgd2VubiBlcyBkYW1hbHMgc2Nob24gc28gdmllbGUKU2VoZXIgZ2FiLiA6KQogIEplbWFuZCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMzEgKEFuYWtpbiwgMTcuIE5vdiAxOTk4LCAxNzowNzo0Nyk6Cn4jISBybj1Cb2luZyBydD05MTEzMjI0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKCkphIGljaCBiaW4gZWluIE5ld2JpZSBpY2ggd2Vpc3MgQm9pbmcgOikKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IDMxIChTaGFyaWEsIDE3LiBOb3YgMTk5OCwgMTc6MDg6MjApOgp+IyEgcm49QW5ha2luIHJ0PTkxMTMyMjQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpobW0gQW5ha2luIC4uIGRhcyB3YXIgaW1tZXIgZWluZXIgZGVyIGdhbnogZ3Jvc3NlbiBTZWhlciAuLi4gbmFqYSBpcmdlbmR3aWUKbmFjaCBSeW5lIDotKQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiAzMSAoS2V5LCAxNy4gTm92IDE5OTgsIDE3OjA4OjM5KToKfiMhIHJuPUFuYWtpbiBydD05MTEzMjI0Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKRGFzIGhlaXNzdCBpY2ggbGllZ2UgZGFubiBub2NoIGluIGRlbiBXaW5kZWxuPyA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAzMSAoS2V5LCAxNy4gTm92IDE5OTgsIDE3OjA5OjE0KToKfiMhIHJuPVNoYXJpYSBydD05MTEzMjI1MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKTmFjaCBSeW5lIHVuZCBLaGlkYXIgd2VubiBtaWNoIG5pY2h0IGFsbGVzIHRhZXVzY2h0IC4uLiBqZWRlbmZhbGxzIHp1bSBFbmRlCmhpbiAsKQpBYmVyIGF1ZiBqZWRlbmZhbGwgd2FyIEFuYWtpbiB1bnNlciBncm9lc3N0ZXIgQ2hhb3QhIC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDMxIChBbmFraW4sIDE3LiBOb3YgMTk5OCwgMTc6MDk6MzApOgp+IyEgcm49U2hhcmlhIHJ0PTkxMTMyMjUwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQoKSGV5LCBkYXMgaXN0IE9lbCBhdWYgbWVpbmUgU2VlbGUgOikKCkFuYWtpbi4gRVAgR2VpbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IDMxIChCb2luZywgMTcuIE5vdiAxOTk4LCAxNzoxMDoxMSk6Cn4jISBybj1LZXkgcnQ9OTExMzIyNTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkR1IHdpbGxzdCBkb2NoIG5pY2h0IGV0d2EgS2hpZGFyIG1pdCBkZW0gZ3Jvc3NlbiBSeW5lIHZlcmdsZWljaGVuPwoKICBKZW1hbmQgKGltbWVyIG5vY2ggdW5zaWNodGJhciB1bmQgd2VoZSBqZW1hbmQgdmVycmFldCBtaWNoISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiAzMSAoS2V5LCAxNy4gTm92IDE5OTgsIDE3OjExOjUwKToKfiMhIHJuPUJvaW5nIHJ0PTkxMTMyMjYxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpIZXkgZnVlciBtaWNoIHdhcmVuIGRhcyBkYW1hbHMgZGllIFNlaGVyIHNjaGxlY2h0aGluIDspCkJlaWRlIGtvbm50ZW4gbWlyIEV0d2FzIGtpbGxlbiB1bmQgaGFiZW4gZXMgbmV0IGdldGFuIHdlaWwgaWNoIGtlaW4gU2VoZXIgd2FyCjspCkphamFqYSA6KQoKS2V5IHNjaHdlbGd0ClAuUy46IFVuZCBnbGF1YnN0IER1IGljaCBoYWV0dGUgZGFtYWxzIFVudGVyc2NoaWVkZSBnZW1hY2h0IHp3aXNjaGVuIGRlbgpncm9zc2VuIFNlaGVybj8gLikgSWNoIGhhYiBzaWUgYmVzdGF1bnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiAzMSAoU2hhcmlhLCAxNy4gTm92IDE5OTgsIDE3OjEyOjM2KToKfiMhIHJuPUJvaW5nIHJ0PTkxMTMyMjYxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpQQUggISEgS2V5IGVzIGdhYiBuaWUgZWluZW4gZ3JvZXNzZXJlbiBDaGFvdGVuIGFscyBUeXJpb24gISEhISEhISEKCkhtbSBSeW5lIC4uIGVyaW5uZXJ0IHNpY2ggZWlnZW50bGljaCBzb25zdCBub2NoIHdlciBhbiBkZW4gPyA6LSkKCkhtbW0gc2Nob2VuIHdhciBhdWNoIGRhcyBTY3JpcHQgdm9uIEZ5dCA6LSkKClNoYXJpYSAtLS0gSnVuZ3NwdW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogMzEgKEFuYWtpbiwgMTcuIE5vdiAxOTk4LCAxNzoxMzozMyk6Cn4jISBybj1TaGFyaWEgcnQ9OTExMzIyNzU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CgpQYWgsIGljaCB3YXIgZGVyIGVyc3QgTWVpc3RlciBkZXMgQ2hhb3MsIHNvLiBVbmQgd2VyIGhhdCBzY2hsaWVzc2xpY2gKbmVuIGVpZ2VuZXMgWmltbWVyIGluIGRlciBHaWxkZXI/IFR5cmlvbj8KCkFuYWtpbi4gQW5nZWJlbmQuCgo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IDMxIChUZWRkeSwgMTcuIE5vdiAxOTk4LCAxNzoxMzo0OSk6Cn4jISBybj1TaGFyaWEgcnQ9OTExMzIyNzU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CldpZXNvIGRhcmZzdCBkdSBlaWdlbnRsaWNoIHVlYmVyIENoYW90ZW4gbWl0cmVkZW4/CgpUZWRkeTogc2NoYWZmdCBkaWUgQmV0c2Nod2VzdGVyIHp1IGRlbiBLbGVyaWtlcm4genVydWVjayA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDMxIChHcmltbWJvcm4sIDE3LiBOb3YgMTk5OCwgMTc6MTY6MjgpOgp+IyEgcm49VGVkZHkgcnQ9OTExMzIyODI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkFsc28sIHdlbm4gaWhyIHZvbiBaZWl0ZW4gcmVkZXQsIGFscyBlcyBzY2hvbiBHaWxkZW4gZ2FiLi4uCkRpZSB3aXJrbGljaCBncm9zc2UgWmVpdCB3YXIgbWl0IFRvZXRlciwgUnluZSB1bmQgQmxvb2Rnb3JlIGFuIGRlciBTcGl0emUgZGVyClNlaGVybGlzdGUuIDEwMCBNRVAgZGFzIGV3aWcgZmVybmUsIHVuZXJyZWljaGJhciBzY2hlaW5lbmRlIFppZWwsIGJpcyBkYW5uClRvZXRlciB1bmQgUnluZSBlcyB6ZWl0Z2xlaWNoIGVycmVpY2h0IGhhYmVuLiBHcmVhdCB0aW1lcywgZ3JlYXQgdGltZXMuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDMxIChLZXksIDE3LiBOb3YgMTk5OCwgMTc6MTc6NTQpOgp+IyEgcm49QW5ha2luIHJ0PTkxMTMyMjgxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpBYmVyIG51ciB3ZWlsIER1IERpY2ggYmVpIFogZWluZ2VzY2hsZWltdCBoYXN0IDspCkphamFqYSEgLikKVW5kIGZ1ZXIgZGVuIGVyc3RlbiBNZWlzdGVyIGRlcyBDaGFvcyBnaWJiZXQga2VpbmVuIEJld2VpcyBtZWhyIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiAzMSAoS2V5LCAxNy4gTm92IDE5OTgsIDE3OjE4OjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MTEzMjI5ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKR3JpbW1pIER1IGJpc3QgbnVuIHdpcmtsaWNoIGVpbiBhbHRlciBTYWNrIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiAzMSAoR3JpbW1ib3JuLCAxNy4gTm92IDE5OTgsIDE3OjI2OjA0KToKfiMhIHJuPUtleSBydD05MTEzMjMxMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSG1tLCBoYXR0ZSBpY2ggbmljaHQgYWxsZ2VtZWluZSBMb2VzY2hyZWNodGUgaW4gZGllc2VyIFJ1YnJpaz8gOy0pCgpOYWphLCBpY2ggd2VyZGUgZ2VyYWRlIGFuIG1laW4gRHVlbGwgbWl0IEJvaW5nIGVyaW5uZXJ0IChpc3QgYW4gc2ljaCBoYXJtbG9zLApkYSBlcyBpaG4gbmljaHQgZ2lidCkuIEFiZXIgZGVyIEdEIHdhciBiZWxlaWRpZ3QgdW5kIGhhdCB1bm1pdHRlbGJhciBuYWNoCm1laW5lbSAidG9ldGUgYm9pbmciIGRhcyBtdWQgZ2VjcmFzaHQuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IDMxIChKaW1kaWdyaXosIDE3LiBOb3YgMTk5OCwgMTg6MDY6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxMTMyMjk4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpIbW0KbWVpbmUgQW50aWstVG9wbGlzdGVuZXJpbm5lcnVuZyBzYWggY2Egc28gYXVzCiAxLiBSeW5lCiAyLiBUb2V0ZXIgKGplID4gMTAwTUVQKQogMy4gQ2FyYWRocmFzICgzME1FUCA/ICkKIDQuIEJhbWJ1bGtvCiBbLi5dCgpzZW5mIG9mZiwKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IDMxIChLZXksIDE3LiBOb3YgMTk5OCwgMTg6MTA6NTYpOgp+IyEgcm49SmltZGlncml6IHJ0PTkxMTMyNjAwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpVZmYgdm9uIHdhbm4gaXN0IGRpZT8/PwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogMzEgKFJhbnRhbnBsYW4sIDE3LiBOb3YgMTk5OCwgMTg6Mzk6MTMpOgp+IyEgcm49S2V5IHJ0PTkxMTMyNjI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpXaG8gdGhlIGZ1Y2sgaXMgUnluZSA/IDstKSkKV2hvIHRoZSBmdWNrIGlzIFJ5bmUgPyA7LSkpCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IDMxIChUcmFuY2VmZWFyLCAxNy4gTm92IDE5OTgsIDE5OjAyOjAzKToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9OTExMzI3OTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5Ck51bW1lciAxOiBUb2V0ZXIgbWl0IDQ3IE1pbGxpb25lbiBFUCwga25hcHAgZ2Vmb2xndCB2b24gUnluZSB1bmQgQmxvb2Rnb3JlLgpBdWNoIHVudmVyZ2Vzc2VuOiAiTWFnaWVyc2NocmVjayIgR3JpbW1ib3JuIHVuZCBzZWluIFp3ZWl0aSBHcmltbWRlYXRoLgpKYWphIG9sZCB0aW1lcyBnb29kIHRpbWVzIDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiAzMSAoR3JpbW1ib3JuLCAxNy4gTm92IDE5OTgsIDE5OjA2OjQzKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTExMzI5MzIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhlZSwgdmVybnVlbmZ0aWdlIE1hZ2llciBoYXR0ZW4gdm9uIG1pciBuaWUgd2FzIHp1IGJlZnVlcmNodGVuLiBVbmQgR3JpbW1kZWF0aAppc3QgcnVoaWcgZ2VzdGVsbHQsIHNlaXQgaWNoIHNlaW4gUGFzc3dvcnQgZ2VrbGF1dCBoYWJlIHVuZCBlcyBuaWNodCBoZXJnZWJlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMzEgKFFpdGVzcywgMTcuIE5vdiAxOTk4LCAyMTo1NzoyMik6Cn4jISBybj1YZW5vbiBydD05MTEzMTgwODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKam9oLCBsYXNzdCB1bnMgZGllIEFQLUdyZW56ZSBlaW5mcmllcmVuLiBkYW5uIGthbm4gamVkZXIgbmFjaCAxMCB0YWdlbiBzZWhlcgp3ZXJkZW4uIHNlaHIgc2Nob2VuLiB1bmQgZGllIG1hZ2llciwgZGllIHNpY2ggYXVmcyBxdWVzdGVuIHByb2dnZW4Kc3BlemlhbGlzaWVydCBoYWJlbiwgZGllIGJla29tbWVuIHByb2d2ZXJib3QuIHNvbnN0IGhhYmVuIHdpciBuYWVtbGljaAppcmdlbmR3YW5uIHp1IHZpZWxlIHF1ZXN0ZW4uIGphamEuIGVpZ2VudGxpY2gga29lbm5lbiB3aXIgZG9jaCBkaWUgbWFnaWVyCmdsZWljaCBnYW56IGFic2NoYWZmZW4sIG5pY2h0PyB3aXIgYnJhdWNoZW4gbnVyIG5vY2ggZWluZW4gcmVwbGlrYXRvciwgZGVyIHVucwpkaWUgbnBjcyBjbG9uZWQsIGRpZSBpbW1lciBtZWhyIHB1bmt0ZSBicmluZ2VuLCBkYW1pdCBhbGxlIDIwMDAwIHNlaGVyIGFsbGUKendlaSBtaW51dGVuIGVpbiBuZXVlcyBtb25zdGVyIG1pdCBlcnN0a2lsbHBvaW50cyBiZWtvbW10LgoKUUkqKiBmaW5kZXQgYmx1ZW1jaGVucGZsdWVja2VyIHVuZCBxdWVzdG11ZGRlciBhdWNoIGRvb2YuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAzMSAoUWl0ZXNzLCAxNy4gTm92IDE5OTgsIDIyOjEzOjI4KToKfiMhIHJuPVFpdGVzcyBydD05MTEzNDA2MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKTm9jaG1hbCBtZWluIFNlbmYsIGpldHogbWFsIGVybnN0aGFmdC4KWGVub246ID4gcXVlc3QgbXVkIDwgc2Nob24gZ2Vob2VydD8KV2llIG51biB3aXJrbGljaCBtZWhyZmFjaCBnZXNhZ3Qgd3VyZGUsIGlzdCBkaWVzIGFscyBlaW4gcXVlc3QtbXVkCmtvbnppcGllcnQuIFVuZCB3ZW5uIGRpciBkYXMgenV2aWVsIGlzdCwgYmlzdCBkdSBuaWNodCBnZXp3dW5nZW4sCmhpZXIgd2VpdGVyIGtyYW1wZmhhZnQgbGFlc3RpZ2UgcXVlc3RlbiB6dSBsb2VzZW4uLi4KU3VjaCBkaXIgZG9jaCAnbiBNZXR6ZWxtdWQuLi4KLi4udW5kIEhFVUwgRE9DSCEKCkF1c3NlcmRlbSB3YXIgSUNIIGF1Y2ggc3RvbHosIGFscyBpY2ggU2VoZXIgd3VyZGUuIEVzIGhlYnQgZWluZW4gbmFlbWxpY2gKbmljaHQgbnVyIGluIGRlbiBlcmxhdWNodGVuIEtyZWlzIGRlcmVyLCBkaWUgZGVuIFNlaGVya2FuYWwgZnJlcXVlbnRpZXJlbgprb2VubmVuIHVuZCBkdWVyZmVuLCBvZGVyIGRpZSBtaXR0ZWxzIGRlciBQb3J0YWxlIGR1cmNoIGRpZSBHZWdlbmQgaHVlcGZlbgprb2VubmVuLCBuZWluLCBlcyB6ZWlndCBhdWNoIGFuLCBkYXNzIG1hbiBzaWNoIGVpbiB3ZW5pZyBpbiBzZWluZXIKKHZpcnR1ZWxsZW4pIEhlaW1hdCBhdXNrZW5udCwgZGFzcyBtYW4gc2Nob24gJ1RhdGVuIHZvbGxicmFjaHQnIGhhdCwgc2VpbmVuCih2aXJ0dWVsbGVuKSBNaXRtZW5zY2hlbi8tendlcmdlbi8tZWxmZW4vLWZlbGluZW4gYmVpIGlyZ2VuZGV0d2FzIGdlaG9sZmVuCmhhdC4gRGFzIGlzdCBzZWhyIHNjaG9lbi4KCkFiZXIga2xhciBkb2NoLCBoZXV0enV0YWdlIHdpcmQgZWggbnVyIG5vY2ggcGVyIHNjcmlwdCBnZXF1ZXN0ZXQsIGRhbWl0IG1hbgpkZW5uIGVuZGxpY2ggU2VoZXIgd2lyZC4gRGFzIGFuZGVyZSBpc3QgZG9jaCBlaCBhbGxlcyBudXIgR2VmdWVobHNkdXNlbGVpLAphbGxlcyBudXIgR2VxdWF0c2NoZSB2b24gJ25lciBibHVlbWNoZW5wZmx1ZWNrZW5kZW4gRmFudGFzeS1TcGlubmVyaW4uCkphamEsIGhvZXIgZ2FyIG5pY2h0IGhpbiwgWGVub24gLi4udW5kIEhFVUwgRE9DSCEKIApRSSoqCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiAzMSAoQW5hdG9sLCAxNy4gTm92IDE5OTgsIDIzOjEwOjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MTEzMjM1NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKR0Q/IEdSSU1NREVBVEg/IER1IG1laW5zdCBkZW4gRGVwcGVuLCBkZXIgbWljaCBhdWYgZGVtIEdyZW56d2VnIG1hbCBhbmdyaWZmPwpNaWNoLCBlaW5lbiB1bnNjaHVsZGlnZW4gTGV2ZWwtaXJnZW5kd2FzLXVudGVyLTEwPyBEYXMgd2FyIHNvIE5vdmVtYmVyICc5NC4KSG0sIHNhZ3RlIGljaCBzY2hvbiwgZGFzcyBpY2ggbmFjaHRyYWdlbmQgYmluLCBEdSBtaWVzZXMga2xlaW5lcywgZmllc2VzLi4uCgpBbmF0b2wgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogMzEgKFRlZGR5LCAxNy4gTm92IDE5OTgsIDIzOjI3OjMxKToKfiMhIHJuPUFuYXRvbCBydD05MTEzNDQyMjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSGV1bCBkb2NoCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAzMSAoS2V5LCAxOC4gTm92IDE5OTgsIDA5OjQzOjE3KToKfiMhIHJuPVFpdGVzcyBydD05MTEzMzk4NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKU2FnbWFsIFFpdGVzcyB2ZXJzdGVoc3RlIHVlYmVyaGF1cHQgd2FzPwpPZGVyIGxhYmVyc3RlIGltbWVyIG51ciBkYXJ1bT8KQVAtR3JlbnplIGVpbmZyaWVyZW4gaGVpc3N0IG5vY2ggbGFuZ2UgbmljaHQgZGFzIG1hbiBpbm5lcmhhbGIgdm9uIDEwIG1pbiBhbHMKTkVVLVNwaWVsZXIgU2VoZXIgd2lyZCEKQWJlciBzaWUgd2VpdGVybGF1ZmVuIHp1IGxhc3NlbiBiZWRldXRldCBkYXMgZXMgaW1tZXIgc2Nod2VyZXIgdW5kCmxhbmd3aWVyaWdlciB3aXJkIHNlaGVyIHp1IHdlcmRlbi4KVW5kIG5ldWUgcXVlc3RlbiBkdWVyZmVuIGRvY2ggZ2VybmUgZ2Vwcm9nZ3Qgd2VyZGVuLCBoYXQgZGEgaXJnZW5kd2VyIHdhcwpkYWdlZ2VuPwpEYWR1cmNoIHdpcmQgZGllIEF1c3dhaGwgZ3JvZXNzZXIgdW5kIG1hbiBoYXQgbWFsIG1laHIgRW50c2NoZWlkdW5nc2ZyZWloZWl0CndhcyBtYW4gc3BpZWxlbiB3aWxsIHVuZCB3YXMgbWFuIGxpZWJlciB2ZXJtZWlkZXQgYXVzIHdlbGNoZW4gR3J1ZW5kZW4gYXVjaAppbW1lci4KVW5kIHdlbm4gcHJvZ2dlbmRlIFF1ZXN0bWFnaWVyIHNvIHZpZWwgd2VydCBkcmF1ZiBsZWdlbiBkYXMgaWhyZSBRdWVzdApnZXNwaWVsdCB3aXJkIGRhbm4ga29lbm5lbiBzaWUgc2llIHNvIGdlc3RhbHRlbiBkYXMgc2llIGF1Y2ggZ2VzcGllbHQgd2lyZC4KU2llaGUgRHVlc3RlcndhbGQgYWxzIEJlaXNwaWVsLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogMzEgKEhvYm8sIDE4LiBOb3YgMTk5OCwgMTA6MjY6MDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxMTMyMjk4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpEaWUgd2FocmUgZ3Jvc3NlIFplaXQgd2FyIG5vY2ggbWl0IFdvZWxrY2hlbiBhbiBkZXIgU3BpZWxlcnRvcGxpc3RlLgpTZWhlcmxpc3RlIGdhYidzIG5vY2ggbmljaHQgOikKCiBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAzMSAoU2hhcmlhLCAxOC4gTm92IDE5OTgsIDEwOjMzOjA5KToKfiMhIHJuPVBhbXBlcnMgcnQ9OTExMzg1MDc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CnBhaCAuLiBQYW1wZXJzIGR1IGJpc3QgZG9jaCBzZWxic3Qgbm9jaCBqdW5nIC4uLjopCgpTaGFyaWEgLi4gYWVsdGVyIGFscyBQYW1wZXJzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAzMSAoWGVub24sIDE4LiBOb3YgMTk5OCwgMTA6MzM6MTcpOgp+IyEgcm49UWl0ZXNzIHJ0PTkxMTMzOTg0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpOb2UgUWl0ZXNzLCBpY2ggbW9lY2h0ZSBlaW5mYWNoIGRhcyBtaXIgZWluIGJpc2NoZW4gbWVociBXYWhsIGdlbGFzc2VuIHdpcmQsCndlbGNoZSBRdWVzdHMgaWNoIG1hY2hlbiBtdXNzIHVtIFNlaGVyIHp1IHdlcmRlbi4KClhlbm9uLCBmaW5kZXQgaGllciBhdWNoIGVpbmlnZSBRdWVzdHMgZ2FueiB0b2xsIHVuZCBiZXJlaWNoZXJuZCwgYWJlciBhbmRlcmUKZWJlbiBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDMxIChTaGFyaWEsIDE4LiBOb3YgMTk5OCwgMTA6MzQ6NTcpOgp+IyEgcm49WGVub24gcnQ9OTExMzg1MTk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CndpZSBpbSBlY2h0ZW4gbGViZW4gaXN0IGVzIGhpZXIgLi4gd2VyIGV0d2FzICJncm9lc3NlcmVzIiBlcnJlaWNoZW4gd2lsbCBtdXNzCmF1Y2ggbWFuY2htYWwgRGluZ2UgYXVmIHNpY2ggbmVobWVuLCBkaWUgZWluZW0gbmljaHQgc29vIHBhc3NlbiAuLi4gdW5kIHdlcgpkYXMgImdyb2Vzc2VyZSIgbmljaHQgZXJyZWljaGVuIHdpbGwgZGVyIG11c3MgZGFmdWVyIGF1Y2ggd2VuaWdlciBtYWNoZW4gLi4uCnVuZCBnZWh0IGRlbiBiZXF1ZW1lcmVuIFdlZyAuLi4KCgpTaGFyaWEsIHF1ZXN0ZXRlIGZydWVoZXIgbmljaHQgZ2VybiAuLiBhYmVyIHNlaWQgRHVlc3RlcndhbGQgaGF0IHNpZSBzaWNoIGRhcwphbmRlcnMgdWViZXJsZWd0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMzEgKFhlbm9uLCAxOC4gTm92IDE5OTgsIDEwOjQ5OjAwKToKfiMhIHJuPVNoYXJpYSBydD05MTEzODUyOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKV2VubiB2aWVsZSBRdWVzdHMgc28gd2FlaHJlbiB3aWUgRHVlc3RlcndhbGQgb2RlciBGcmFjaHRndXQgKG9kZXIgLi4pIGhhZXR0ZQppY2ggaGllciBuaWUgd2FzIGdlc2FndC4KQWJlciBlcyBnaWJ0IGRhIG5vY2ggLi4uLiBhY2ggbmVpbiBpY2ggd2lsbCBqZXR6dCBrZWluZSBEaXNzbGlzdGUgb2VmZmVudGxpY2gKbWFjaGVuLgpNZWlzdGVucyBoYWIgaWNoIG1laW5lIEtyaXRpayBkZW4gTWFncyBhbHMgUXVlc3RhbnR3b3J0IGdlc2NoaWNrdC4KCkFjaCBTaGFyaWEgdW5kIGRlaW4gQXJndW1lbnQgZHUgaGFzdCBlcyBmcnVlaGVyIGF1Y2ggZ2VoYXNzdCwgYWJlciBqZXR6dCB3byBkdQpuaWNodCBtZWhyIHF1ZXN0ZW4gTVVTU1QgbWFjaHN0IGVpZ2VudGxpY2ggYQp1Y2ggU3Bhc3Mga2FubiBpY2ggZ3V0IHZlcnN0ZWhlbi4gCkdlbmF1IGF1cyBkaWVzZW0gR3J1bmQgbW9lY2h0ZSBpY2ggamEgZGFzIGRpZSBQZmxpY2h0aHVlcmRlIG5pY2h0IG5vY2ggaG9laGVyCndpcmQuIApWaWVsbGVpY2h0IG1hY2h0cyBtaXIgZGFubiBhdWNoIFNwYXNzLgoKWGVub24gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAzMSAoUGFkcmVpYywgMTguIE5vdiAxOTk4LCAxMDo1MTo1Myk6Cn4jISBybj1YZW5vbiBydD05MTEzODYxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKWGVub24gaWNoIGJpbiBnYW56IERlaW5lciBNZWludW5nIHVuZCB2aWVsZSBhbmRlcmUgaGllciBhdWNoLCBfYWJlcl8gZGllCmxldHp0ZW4gZGlza3Vzc2lvbmVuIGhhYmVuIGdlemVpZ3QgZGFzOgphKSBkaWUgTWVocmhlaXQgZGVyIEVyemlzIGRhcyBhbmRlcnMgc2llaHQgdW5kIGVzIG5pY2h0IGF1c2JhdWVuIHdpcmQKYikgKHdhcyBtaWNoIGVyc3RhdW50KSBhdWNoIGRpZSBNZWhyaGVpdCBkZXIgRGlza3Vzc2lvbnN0ZWlsbmVobWVyLgoKRmF6aXQ6IGRpZSBEaXNrdXNzaW9uIGlzdCB2ZXJnZWJsaWNoIE11ZWhlIFhlbm9uLi4uLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMzEgKFhlbm9uLCAxOC4gTm92IDE5OTgsIDExOjE1OjI4KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTExMzg2MzEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5ClZpZWxlIERpc2t1c3Npb25lbiB3ZXJkZW4gaGllciBsZWlkZXIgZWluc2VpdGlnIGdlZnVlaHJ0LgpWb3IgYWxsZW0gYmVpIGRpZXNlbSBUaGVtYSBpc3Qgc2llIGRhcywgd2VpbCBmYXN0IGF1c3NjaGxpZXNzbGljaApTZWhlciB1bmQgTWFnaWVyIGV0d2FzIGluIGRpZSBNUEEgc2NocmVpYmVuLgoKTmFqYSwgZnVlciBtZWluZW4gR2VzY2htYWNrIHdlcmRlIGljaCBpbiBkaWVzZW4gUHVua3RlbiBpbW1lciBhbiAKSGllcmFyY2hpZW4gbnVzIGRlbSBSTCBlcmlubmVydC4gU2NoYWRlIGVpZ2VudGxpY2guCgpYZW5vbiwgYmxlaWJ0IHRyb3R6ZGVtIGhpZXIuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogMzEgKE11YWRpYiwgMTguIE5vdiAxOTk4LCAxMjoyMjoyNCk6Cn4jISBybj1Ib2JvIHJ0PTkxMTM4NDc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpndXRlIGF1c3NhZ2UKCm11YWRpYgoqanVuZ3NwdW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IDMxIChCb2luZywgMTguIE5vdiAxOTk4LCAxMjoyNjo1Nik6Cn4jISBybj1Ib2JvIHJ0PTkxMTM4NDc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpTcGllbGVyPyBTUElFTEVSPz8KQWxzbyBJQ0gga2FubiBtaWNoIGFuIFplaXRlbiBlcmlubmVybiwgZGEgZ2FiJ3MgaGllciBub2NoIG5pY2h0bWFsIApTcGllbGVyISBHZXJhZGUgbWFsIEpvZiB1bmQgTWlyaWwsIGRpZSBtaWNoIHVlYmVycmVkZXQgaGFiZW4gZG9jaCBtYWwKaW4gZGllc2VzIG5ldWUgTXVkIGVpbnp1c3RlaWdlbi4gSmFqYSwgZ3V0ZSBhbHRlIFplaXQhCiAgQm9pbmcgKGtlaW4gSnVuZ3NwdW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMzEgKFFpdGVzcywgMTguIE5vdiAxOTk4LCAxMjoyODoyNCk6Cn4jISBybj1LZXkgcnQ9OTExMzgyMTk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CnNhZyBtYWwsIGtleSwgdmVyc3RlaHN0IGR1IHVlYmVyaGF1cHQgd2FzPwpvZGVyIHJlcGx5c3QgZHUgbnVyLCB3ZWlsIGR1IG1pY2ggbmljaHQgbGVpZGVuIGthbm5zdD8KCnVtIGVzIGpldHp0IG5vY2ggbWFsIG1pdCBhbGxlciBkZXV0bGljaGtlaXQgenUgc2FnZW46CmRlciBhcnRpa2VsIGlzdCAgIEkgUiBPIE4gSSBTIEMgSCAgZ2VtZWludC4KCmFiZXIga2V5LCBkYXNzIGRlaW4ga2xlaW5lcyB2ZXJzdG9yYmVuZXMgZ2VoaXJuIGRhcyBuaWNodCBtaXRiZWtvbW10LCB3YXIgamEKa2xhci4KUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMzEgKFR1bml4Z3V0LCAxOC4gTm92IDE5OTgsIDEyOjI5OjUxKToKfiMhIHJuPVFpdGVzcyBydD05MTEzOTIxMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKaWNoIGxpZWJlIGRpZSBTYWNobGljaGtlaXQgaW4gZGllc2VuIEFydGlrZWxuLiBJbW1lciB3aWVkZXIgZXJmcmlzY2hlbmQuLi4KCidzIEthcmF0ZS1ad2VyY2hsZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IDMxIChZZW5kaSwgMTguIE5vdiAxOTk4LCAxMjo0Mjo1OSk6Cn4jISBybj1Ib2JvIHJ0PTkxMTM4NDc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpRdWF0c2NoLCBkaWUgd2FocmUgWmVpdCB3YXIgZG9jaCwgYWxzIGVzIG5vY2ggZ2FyIGtlaW5lIFRvcGxpc3RlIF9nYWJfIQpBbHMgZXMga2VpbmUgS2FuYWVsZSBnYWIgdW5kIGFsbGUgV2VsdCBkaWUgTVAgbWl0IHJ1bXJ1ZmVuIHZlcmJyYXRlbiBoYXQsIHdlaWwKbWFuIHNvbnN0IG5pY2h0cyBkYW1pdCBhbmZhbmdlbiBrb25udGUgLS0gdW5kIGVzIGhhdCB0cm90emRlbSBrZWluZW4gZ2VzdG9lcnQsCndlaWwgbmllIG1laHIgYWxzIGFsbGVyYWxsZXJob2VjaHN0ZW5zIG1hbCAyMCBMZXV0ZSBlaW5nZWxvZ2d0IHdhcmVuIQpBbHMgZGllIEdvZXR0ZXIgcGVyc29lbmxpY2ggZWluZW0gZWluZSBIb2x6ZmFlbGxlcmF4dCBpbiBkaWUgSGFuZCBnZWRydWVja3QKaGFiZW4sIHdlaWwgbWFuIHNvIHZlcmxvcmVuIGluIGRlciBHZWdlbmQgcnVtc3RhbmQuLi4KQWxzIGRpZSBHZWdlbmQgYXVzIEhFLCBFbGZlbmJhdW0gKGtlbm50IGRlbiBub2NoIGVpbmVyPyksIEFtYXJ5bGxpcywKUG9sYXJnZWJpZXQgKEVpc3NjaG9sbGUhKSwgQmF1ZXJuaG9mIChub2NoIGdhbnogd29hbmRlcnMpLCBQViwgTW9yaWEgdW5kIHNvbnN0Cm5pY2h0IHZpZWwgYmVzdGFuZC4uLgoKKmh1c3RodXN0KgoKWWVuZGkgbGFlc3N0IHNpY2ggdm9lbGxpZyB1ZWJlcmFuc3RyZW5ndCB2b24gc2VpbmVyIGZyZXVuZGxpY2hlbiBQZmxlZ2VyaW4KenVydWVjayBpbnMgQmV0dCBicmluZ2VuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogMzEgKEFuYXRvbCwgMTguIE5vdiAxOTk4LCAxMzoxMjo0MCk6Cn4jISBybj1YZW5vbiBydD05MTEzODc3Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKVGphLCBYZW5vbiwgZXMgc2luZCBudW5tYWwgZWhlciBkaWUgU2VoZXIgKHVuZCBsZWlkZXIgYXVjaCBNYWdpZXIpLCBkaWUKZGVuIGdyb2Vzc3RlbiBFcmZhaHJ1bmdzc2NoYXR6IHVuZCBNdWR2ZXJidW5kZW5oZWl0ICh6dW1pbmRlc3QgaW4gZGVyIFJlZ2VsKQpoYWJlbiAtIGRhaGVyIHNvbGx0ZW4gZGllIGF1c2dlcmVpZnRlcmVuIHVuZCB1ZWJlcmxlZ3RlcmVuIERpc2t1c3Npb25zLQpiZWl0cmFlZ2UgYXVjaCB2b24gZGllc2VyIFBlcnNvbmVuZ3J1cHBlIGtvbW1lbi4KClNvbGx0ZW4uIE5hamEsIHdhcyB3aWVkZXIgZGllIEZyYWdlIGF1ZndpcmZ0OiBXYXMgaXN0IGVpbiBTZWhlciB1ZWJlcmhhdXB0LAp3YXMgc29sbCBpaG4gLSBhYmdlc2VoZW4gdm9uIGRlbiBGZWF0dXJlcyB3aWUgImV4dHJhbG9vayIsICJzZXRtaW4iLCAidGl0ZWwiCnVuZCB3ZWlzcyBkZXIgS3Vja3VjayBub2NoIGFsbGVzIC0gdm9uICJub3JtYWxlbiIgU3BpZWxlcm4gdW50ZXJzY2hlaWRlbj8KCkRpZSB1cnNwcnVlbmdsaWNoZSBJbnRlbnRpb24gaXN0IG5pY2h0ICJEZXIgRGVwcCBzb2xsIDEwOTMgUXVlc3RzIGJlc3RhbmRlbgpoYWJlbiIgdW5kIGF1Y2ggbmljaHQgIkVyIG11c3MgMTA5MyBHZWJpZXRlIGR1cmNoZm9yc2NodCBoYWJlbiIuIEljaCBkZW5rZSwKZGllIEVpZ2Vuc2NoYWZ0ZW4gZWluZXMgU2VoZXJzIGtvZW5udGVuIHNpY2ggaW4gZXR3YSBzbyBkYXJzdGVsbGVuOgotIFVlYmVyZHVyY2hzY2huaXR0bGljaGUgS2VubnRuaXMgZGVzIE11ZHMuIC0gZGFzIGhlaXNzdCBuaWNodCwgZGFzcyBlcgogIGFsbGVzIGtlbm5lbiBtdXNzLCB3YWVyIGVpbiBiaXNzY2hlbiB2aWVsIHZlcmxhbmd0IDspLgotIEVyIHNvbGx0ZSBzZWluZSBNb2VnbGljaGtlaXRlbiBrZW5uZW4gdW5kIHp1IG51dHplbiB3aXNzZW4uIEVpbiBTZWhlciwKICBkZXIgZGVuICJpZGVudGlmaXppZXJlIi1CZWZlaGwgKG9kZXIgZGFzIGpld2VpbGlnZSBQZW5kYW50IGRlciBHaWxkZSkKICBuaWNodCBhbnp1d2VuZGVuIHdlaXNzLCBpc3QgZWluIHppZW1saWNoIGFybWVyIFRyb3BmIC0gdW5kIHNvbGNoZSBLYXNwZXIKICBnaWJ0IGVzIG5hdHVlcmxpY2ggOikKLSBFaW4gU2VoZXIgc29sbHRlIGF1Y2ggR3JlbnplbiBrZW5uZW4uIERpZSwgZGllIG1hbiBuaWNodCB1ZWJlcnNjaHJlaXRlbgogIGthbm4gdW5kIGF1Y2ggZGllLCBkaWUgbWFuIG5pY2h0IHVlYmVyc2NocmVpdGVuIHNvbGx0ZSAtIGRhIGZhZWxsdCB2aWVsCiAgaW4gZGFzIExvY2ggIkVpZ2VudmVyYW50d29ydHVuZyIuCk51ciBzbyBhbHMgQmVpc3BpZWxlIC0gaWNoIGRlbmtlLCBtYW4ga2FubiBkaWVzZSBMaXN0ZSBub2NoIGd1dCB2ZXJsYWVuZ2Vybi4KQWJlciBkaWUgQmVpc3BpZWxlIHJlaWNoZW46IFdpZSB3aWxsc3QgRHUgZGllc2UgRmFlaGlna2VpdGVuICJwcnVlZmVuIiwgCndpZSB3aWxsc3QgRHUgZGFzIEtyaXRlcml1bSBlaW5yaWNodGVuLCBuYWNoIGRlbSBKZW1hbmQgaW4gZGVuIFNlaGVyc3RhbmQKZXJob2JlbiB3ZXJkZW4ga2Fubj8gR3JlbWl1bSBhdXMgU2VoZXJuL01hZ2llcm4/IE5hY2ggMiBNaW51dGVuIGlzdCBqZW1hbmQKZGEgdW5kIHNjaHJlaXQgIlZldHRlcm53aXJ0c2NoYWZ0IiB1bmQgbWFnIGRhbWl0IHNvZ2FyIHZpZWxsZWljaHQgbm9jaApSZWNodCBoYWJlbi4gSW5kaXZpZHVlbGxlIFBydWVmdW5nZW4/IEphIHN1cGVyLCB3YXMgaGluZGVydCBXdXJzdCBBIGRhcmFuLApzZWluIFBhc3N3b3J0IGZ1ZXIgZGllIFBydWVmdW5nIFNlaGVyIEIgenUgZ2ViZW4sIGRlciBtaXQgV3Vyc3QgQSBndXQgCmJlZnJldW5kZXQgaXN0PwoKRGllIFByb2JsZW1hdGlrIGdlaHQgdWViZXIgIlF1ZXN0IiBoaW5hdXMgLSBtYWcgc2VpbiwgZGFzcyBkZXIgUHJvemVudHNhdHoKZGVyIHp1IGxvZXNlbmRlbiBRdWVzdHMgd2lya2xpY2ggcnVudGVyIGtvZW5udGUsIGFiZXIgV3VlcnN0ZSB6aWVodCBtYW4gc2ljaApkYXZvbiB1bmFiaGFlbmdpZyBzbyBvZGVyIHNvIHJhbi4gV3VlcnN0ZSwgZGllIG9obmUgd2VpdGVyZXMgTWFnaWVyIHdlcmRlbgprb2VubmVuIC0gdW5kIERBUyBpc3QgZWluIFByb2JsZW0sIGRhcyB2aWVsIG1laHIgImF1YSIgbWFjaHQgYWxzIGVpbgpSdWRlbCBTZWhlciwgZGllIHp3YXIgd2lzc2VuLCBkYXNzIGVzIDIgdW5kIDIgZ2lidCwgYWJlciBuaWNodCBhZGRpZXJlbgprb2VubmVuLi4uCgpBbmF0b2wgLSBtaXN0LCBlaW4gQXJ0aWtlbCBvaG5lIGRpcmVrdGUgQmVzY2hpbXBmdW5nIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogMzEgKE5pZXRlLCAxOC4gTm92IDE5OTgsIDEzOjE1OjA4KToKfiMhIHJuPUFuYXRvbCBydD05MTEzOTQ3NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKYW0gYmVzdGVuIHdhcidzIGVoLCBhbHMgZGFzIHVuaXZlcnN1bSBub2NoIG5lIHN0YXVid29sa2Ugb2RlciBzb3dhcyB3YXIuLi4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmljaHRpZ3N0ZWxsdW5nLiAoTGVuYSwgMTguIE5vdiAxOTk4LCAxMzoyNjowOSk6CkVnYWwgd2FzIEdhc3QyIGF1Y2ggaW1tZXIgZ2VzYWd0IGhhdC4gSWNoIHdlcmRlIGlobiBOSUNIVCBoZWlyYXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiAzMSAoSG9ibywgMTguIE5vdiAxOTk4LCAxNDoyMTo0OCk6Cn4jISBybj1ZZW5kaSBydD05MTEzOTI5Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSG1tLCBZZW5kaS4uLi4KCldhciBSdWZlbiBuaWNodCBmcnVlaGVyIHNvZ2FyIHVtc29uc3Q/IEljaCBtZWluJywgaWNoIGVyaW5uZXIgbWljaCBkYSBub2NoCmR1bmtlbCBhbiBzb3dhcy4KTmFqYSwgZGVyIEthbGsgcmllc2VsdCBoYWx0IHNjaG9uLi4KCkhvYm8gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogMzEgKEJvaW5nLCAxOC4gTm92IDE5OTgsIDE0OjIzOjEyKToKfiMhIHJuPUhvYm8gcnQ9OTExMzk4OTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CldhciBlcyEgQWJlciB2aWVsIHJ1ZmVuIGhhZXR0ZSBtYW4gbWl0IGRlbiA1MCBNUCBlaCBuaWNodCBrb2VubmVuLCBkYW1hbHMKZ2FicyBuYWVtbGljaCBub2NoIGtlaW5lIFphdWJlcnRyYWVua2UgenUgZmluZGVuLiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IDMxIChIb2JvLCAxOC4gTm92IDE5OTgsIDE0OjI0OjA4KToKfiMhIHJuPUJvaW5nIHJ0PTkxMTM5ODk5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpEQVMgd2FyIHdpcmtsaWNoIHNjaG9uIHZvciBtZWluZXIgWmVpdC4KQWJlciB6dSBtZWluZXIgWmVpdCBnYWIncyBpbW1lcmhpbiBub2NoIGRvcHBlbHRlIFpUcyA6KQoKSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMzEgKEFjcmltb24sIDE4LiBOb3YgMTk5OCwgMTU6NTc6MTEpOgp+IyEgcm49RGllZGVyIHJ0PTkxMTMxOTY0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpBdWphLgpJY2ggYmVoYXVwdGUsIGRhc3ogRGllZGVyIGtlaW4gQmV0cmllYnNzeXN0ZW0gaXN0LgoKOi0pCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogMzEgKEJvaW5nLCAxOC4gTm92IDE5OTgsIDE1OjU5OjEwKToKfiMhIHJuPUFjcmltb24gcnQ9OTExNDA0NjMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5ClVuZCBpY2ggbGVua2UgZGlyZWt0IGF1ZiBlaW4gYW5kZXJlcyBiZWxpZWJ0ZXMgVGhlbWEgdW5kIGJlaGF1cHRlCihiencuIHdlaXNzKSwgZGFzcyAnZGFzeicga2VpbiBEZXV0c2NoIGlzdCEgCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDMxIChBbmFjcmlvbiwgMTguIE5vdiAxOTk4LCAxNjowMDowMyk6Cn4jISBybj1Cb2luZyBydD05MTE0MDQ3NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSGloaSA6KSBKYXdvbGwgLi4gcnVuZHVtc2NobGFnIC4uLiB3aXIga3JpZWdlbiBub2NoIDE1MCBhcHMgLi4uIEFydGlrZWwgcHJvcwpTZWt1bmRlIDopCgpBbmFjKiAtIHNjaG1hcnJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiAzMSAoWWVuZGksIDE4LiBOb3YgMTk5OCwgMTY6MzM6NDApOgp+IyEgcm49SG9ibyBydD05MTEzOTkwNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKV2llPyBTaW5kIFpUcyBqZXR6dCBldHdhIG5pY2h0IG1laHIgZG9wcGVsdD8/PyAqYXJnbCoKClllbmRpIHNjaG1pbmt0IHNpY2ggZ2VyYWRlIHNlaW5lIDIwZXIgU3RhdHMgYWIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogMzEgKEFzbW9kaXMsIDE4LiBOb3YgMTk5OCwgMTk6MDU6NDkpOgp+IyEgcm49SmltZGlncml6IHJ0PTkxMTMyNjAwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpwYWgsIG1pY2gga2VubnQga2VpbmVyIG1laHIgaGllciAqc2NobW9sbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiAzMSAoVHJhbmNlZmVhciwgMTguIE5vdiAxOTk4LCAxOTowODo1OCk6Cn4jISBybj1Bc21vZGlzIHJ0PTkxMTQxNTk0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQp3aWVzbywgZHUgYmlzdCBkb2NoICJkYXMgcGhhbnRvbSIsIGRlciBtdWRkZXIgZGVuIGtlaW5lciBrZW5udCA6LSkKCnRmICh3aXIga3JpZWdlbiBkaWNoIGFiZXIgbm9jaCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAzMSAoVG1tLCAxOS4gTm92IDE5OTgsIDAyOjM0OjE1KToKfiMhIHJuPVhlbm9uIHJ0PTkxMTMxODA4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpJY2ggc3BpZWxlIHp3YXIgd2VuaWcgaW4gTUcsIGFiZXIgaGFiZSByZWNodCB2aWVsIEVyZmFocnVuZyBpbiBlaW5lbSBhbmRlcmVuCk11ZCwgc28gZGFzcyBpY2ggbWFsIG1laW5lbiBTZW5mIHp1IGZvbGdlbmRlbiBXb3J0ZW4gdm9uIFhlbm9uIGFiZ2ViZW4gbXVzczoKCj4gV2lya2xpY2hlcyBhdXNrZW5uZW4gaGFlbmd0IHVlYmVyaGF1cHQgbmljaHQgdm9tIFF1ZXN0ZW4gYWIsIHdlaWwgbWFuIGRhCm1laXN0Cj4gaW4gZWluZSBhbmRlcmUgV2VsdCBnZXJpc3NlbiB3aXJkLCBkaWUgZWggd2VuaWcgbWl0IGRlbSBNRy1BbGx0YWcgenUgdHVuCmhhdC4KCkFiZXIgZ2VuYXUgZnVlciBkaWVzZW4gQWxsdGFnIGFyYmVpdGV0IG1hbiBkYSwgYWxzbyBtdXNzIG1hbiBzaWNoIHZvbGwgdW5kCmdhbnogZG9ydCBoaW5laW52ZXJzZXR6ZW4gbXVlc3Nlbiwgd2lzc2VuLCB3aWUgZWluIFNwaWVsZXIgcmVhZ2llcnQsIHdhbm4gZXIKcmVhZ2llcnQsIHdvcmF1ZiB1bmQgd2FydW0gdW5kIHNvIHdlaXRlciB1bmQgc28gZm9ydC4gU2ljaGVyLCBkYXMKUHJvZ3JhbW1pZXJlbiBpc3Qgd2FzIHRlY2huaXNjaGVzLCBhYmVyIGVzIHNvbGwgamEgZWJlbiBmdWVyIGRlblNwaWVsLUFsbHRhZwpzZWluIHVuZCBzaWNoIGluIGRpZXNlbiBsdWVja2VubG9zIGVpbmZ1ZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDMxIChUdW5peGd1dCwgMTkuIE5vdiAxOTk4LCAwNjozNDo0Nyk6Cn4jISBybj1BbmF0b2wgcnQ9OTExMzk0NzYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CiJBbmF0b2wgLSBtaXN0LCBlaW4gQXJ0aWtlbCBvaG5lIGRpcmVrdGUgQmVzY2hpbXBmdW5nIDspIgooKkdMT1RaWiopIEljaCBnbGF1YmUsIER1IHdpcnN0IGFsdCwgQW5hdG9sLi4uCgpFaW4gYW5vbnltZXIgSnVuZ3NwdW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAzMSAoU29uZ29rdSwgMTkuIE5vdiAxOTk4LCAwOTo1NTowNCk6Cn4jISBybj1QYWRyZWljIHJ0PTkxMTM4NjMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpXYXJ1bSBYZW5vbj8/PwpJY2ggaGFiZSBkaWUgRGlza3UgbG9zZ2V0cmV0ZW4uCgpTb25Hb2t1IChldHdhcyBiZWxlaWdpZ3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogMzEgKFNvbmdva3UsIDE5LiBOb3YgMTk5OCwgMDk6NTY6NDkpOgp+IyEgcm49Qm9pbmcgcnQ9OTExMzkyMDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkRpZXNlIE5hY2hyaWNodCBzb2xsdGUgZWlnZW50bGljaCBhdWYgZGllIFdlYnNlaXRlIGtvbW1lbiB1bmQgamVkZW0gbmV1ZW4KU3BpZWxlciBhdXRvbWF0aXNjaCBhbmdlemVpZ3Qgd2VyZGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAzMSAoU29uZ29rdSwgMTkuIE5vdiAxOTk4LCAxMDowMTo0OSk6Cn4jISBybj1Cb2luZyBydD05MTE0MDQ3NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKVW5kIHdhcnVtIGhhYmUgaWNoIGF1ZiBhbGxlIFBsYWVuZSBpbW1lciAiIE1hc3plIHNpbmQgdm9yIE9ydCB6dSBwcnVlZmVuISIKc2NocmVpYmVuIGdlbXVzenQ/CgpTb25Hb2t1IChpc3QgamV0enQgYXVmIHNlaW5lbiBCb3N6IHNhdWVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IDMxIChTb25nb2t1LCAxOS4gTm92IDE5OTgsIDEwOjAyOjIxKToKfiMhIHJuPUFzbW9kaXMgcnQ9OTExNDE1OTQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CndlciBiaXN0IGR1Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDMxIChQcnlkZSwgMTkuIE5vdiAxOTk4LCAxMjozODoyOSk6Cn4jISBybj1RaXRlc3MgcnQ9OTExMzkyMTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5ClNhY2htYSBRaXRlc3MuLi4gYmVpIERpciByYXBwZWx0cyB3b2hsID8KTmllbWFuZCBhdXNzZXIgbWlyIGRhcmYgS2V5IGluIGRpZXNlciBGb3JtIHVuZCBBcnQgS29tcGxpbWVudGUgbWFjaGVuLgoKSXJvbmllIGlzdCBtaXIgc2VsYnN0IG5hY2ggbWVocm1hbGlnZW4gTGVzZW4gKGphIGljaCB3ZWlzcywgbWVpbmUgRWtlbC0KZ3JlbnplIGlzdCB2ZXJkYW1tdCBuaWVkcmlnIGdlc2V0enQpIGluIERlaW5lbSBBcnRpa2VsIG5pY2h0IGF1ZmdlZmFsbGVuLgpEYXMgRGljaCBLcml0aWsgbmF0dWVybGljaCB3ZW5pZyB6dW0gTmFjaGRlbmtlbiBhbnJlZ3Qgc29uZGVybiBlaGVyIHp1bQpGbGFtZW4gYW5yZWd0IGlzdCBsZWlkZXIgYmVkYXVlcmxpY2guLi4KClByeWRlLCB3ZWRlciBwcnVlZGUgbm9jaCBzb25zdHdhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEJhbGFuY2UgaGFsdGVuIHVuZCBzby4uLiAoSmlkZHUsIDE5LiBOb3YgMTk5OCwgMTc6MzY6MzkpOgp+IyEgcm49RW1iZSBydD05MTEzMDc2MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSWNoIHNlaGUgbmljaHQgd28gZGVyIHp1c2FtbWVuaGFuZyB6d2lzY2hlbiBxdWVzdHMgZ2VtYWNodCBoYWJlbiBtdWVzc2VuIHVuZAptYWdpZXIgd2VyZGVuIGtvZW5uZW4gbGllZ3QuLi4gbXVzcyBtYW4gaGllciBhYmVyIGlzIG5pY2ggdW1iZWRpbmd0IGxvZ2lzY2gKSmlkZHUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCYWxhbmNlIGhhbHRlbiB1bmQgc28uLi4gKEppZGR1LCAxOS4gTm92IDE5OTgsIDE3OjM3OjUxKToKfiMhIHJuPUtleSBydD05MTEzMDc2MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKZGEga2VubiBpY2ggYXVjaCB3ZW4gLSBhYmVyIGRlciBtYWNodCBkaWUgcXVlc3RlbiBqYSBhdWNoIG51ciBtaXQgS0wgb2RlciBuZXQKc2VsYmVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAzMSAoSmlkZHUsIDE5LiBOb3YgMTk5OCwgMTc6NDU6NDQpOgp+IyEgcm49U2hhcmlhIHJ0PTkxMTMxODc1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpVaSBkYXMgLW4ga2FubnRlIGljaCBhdWNoIG5pY2ggOykgYWJlciBkYSBpcyBtaXIgYXVmZ2VmYWxsZW4gZGFzcyBlaW4gZmVobGVyCmluIGRlciBoZWxwIGRhdGVpIHp1IGZpbmdlciBpcyAtIGRhIHN0ZWh0IHdlbm4gbWFuIGRlbiBwbGFuIGRlZmF1bHQgbWFlc3NpZwphdXNzY2hhbHRlbiB3aWxsIHNvbGwgbWFuIGFsaWFzIGZpbmdlciBmaW5nZXIgLW4gJDEgbWFjaGVuIHVuZCB3ZW5uIG1hbiBpaG4KZG9jaCBzZWhlbiB3aWxsIGRhbm4gLXAgZGF6dSBkYW5uIHdpcmQgZGFzIGFiZXIgbmljaCBmdW5rdGlvbmllcmVuIHdnIGRlbSAkMQo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IDMxIChKaWRkdSwgMTkuIE5vdiAxOTk4LCAxNzo1MjoxNyk6Cn4jISBybj1Cb2luZyBydD05MTEzMjI2MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKVW5zaWNodGJhciBCb2leSF5IXkhKZW1hbmQ/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAzMSAoSmlkZHUsIDE5LiBOb3YgMTk5OCwgMTg6MDE6NDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTkxMTM0MDgwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpEZWluZSAyIEFydGlrZWwgc2luZCBnYXIgbGllYnJlaXplbmQgbnVyIGhhc3QgZHUgZ2xhdWIgaWNoIGRpZSBpcm9uaWUtZmxhZ3MKdmVyZ2Vzc2VuIDspIGlzdCBzZWhlciB3ZXJlbiB3aXJrbGljaCB3YXMgdG9sbGVzIC4uPyBpY2ggZGVua2UgbmljaHQsIHNjaGFkZQpkYXNzIGljaCBuaWNodCBhdXMgZWluZXIgemVpdCBzdGFtbWUgaW4gZGVtIGVzIGRhcyBub2NoIHdhci4uCkppZGR1LCBMTFAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogMzEgKEppZGR1LCAxOS4gTm92IDE5OTgsIDE4OjA5OjQ2KToKfiMhIHJuPUJvaW5nIHJ0PTkxMTM5MjAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpEaWUgWmVpdCB3YXIgc2Nob2VuZXIgQm9pbmc/IEVpbiBNdWQgb2huZSBzcGllbGVyIC4uIHN0ZWxsIGljaCBtaXIgc2Vocgp0cmF1cmlnIHZvci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDMxIChKaWRkdSwgMTkuIE5vdiAxOTk4LCAxODoxMDo1Nik6Cn4jISBybj1RaXRlc3MgcnQ9OTExMzkyMTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkhleSwgaGFjayBuaWNodCBhdWYgbWVpbmVtIGxpZWJsaW5nc0tleSBydW0hIDspIGVyIGhhdCBiZWRhdWVybGljaGVyd2Vpc2UgbnVyCnNhY2hlbiBnZXNhZ3QgZGVuZW4gaWNoIGF1Y2ggenVzdGltbWUuCkppZGR1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogMzEgKFd1cnplbCwgMTkuIE5vdiAxOTk4LCAyMDowNjoyNCk6Cn4jISBybj1Cb2luZyBydD05MTEzOTIwMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKZGFzIHdhciBhYmVyIG51ciBhbSBhbGxlcmVyc3RlbiB0YWcuIHdlbm4gaWNoIG1pY2ggcmVjaHQgZXJpbm5lcmUsCmdhYiBlcyBhYiBkZW0gendlaXRlbiB0YWcgc2Nob24gZWluZW4gc3BpZWxlciBtaXQgbmFtZW4gaGF0ZSA6KQphdWNoIHdlbm4gd2FocmxpY2ggbm9jaCBuaXggenVtIHNwaWVsZW4gZGEgd2FyLCBkYXMgYnJhdWNoZW4gdmllbGUgamEgaGV1dGUKYXVjaCBuaWNodC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMzEgKFNoYW5uYXJhLCAxOS4gTm92IDE5OTgsIDIyOjE5OjQxKToKfiMhIHJuPUppZGR1IHJ0PTkxMTQ5ODUwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQo+SmlkZHUsIExMUAoKRHUgZWluIExMUD8/IFdhcyBzaW5kIGRhbm4gZGllIFNwaWVsZXIgZGllIGVpbmVuIGtsZWluZXJlbiBMZXZlbCBoYWJlbj8gQXJtZQpXdWVyc3RlPwoKU2hhbm5hcmEsIGRpZSBob2ZmdCwgbmljaHQgbm9jaCBtZWhyIE9lbCBpbnMgRmV1ZXIgenUgZ2llc3Nlbi4KClBTOiBXYXMgZGFzIFNlaGVyLXdlcmRlbiBhbmdlaHQgdW5kIGRhcyBRdWVzdGVuOiBOaWVtYW5kIHp3aW5ndCBlaW5lbiwgU2VoZXIKenUgd2VyZGVuLiBJY2ggaGFiIG5vY2ggZWluZSBhbmRlcmUgRmlndXIsIGRpZSBkaWUgaXN0IGVpbmUgJ2FybWUgV3Vyc3QnIGF1ZgpkZW4gaGFsYmVuIFdlZ2UgenUgU3R1ZmUgMjAsIHVuZCBtaXQgZGVyIGhhYmUgaWNoIGVpZ2VudGxpY2ggbWVociBTcGFzcyBhbHMKbmllIHp1dm9yLiBEaWUgd2lyZCBzaWNoZXIgbmljaHQgc28gc2NobmVsbCBzaWNoIGhvY2hzcGllbGVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogMzEgKEFuYXRvbCwgMjAuIE5vdiAxOTk4LCAwNTozMjo1NCk6Cn4jISBybj1TaGFubmFyYSBydD05MTE1MTM5ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSWNoIGRhY2h0ZSBpbW1lciwgZ2VyYWRlIERVIHdhZXJzdCBkZXIgQmV3ZWlzLCBkYXNzICJhcm1lIFd1cnN0IiB1bmQKIlNlaGVyIiBkdXJjaGF1cyB2ZXJlaW5iYXIgc2luZC4gLSBVbmQgYXVzbmFobXN3ZWlzZSAoISkgbXVzcyBpY2ggSmlkZHUKUmVjaHQgZ2ViZW46IEVpbmVuIExldmVsLTM0LVNlaGVyIHd1ZXJkZSBpY2ggYXVjaCBuaWNodCBITFAgbmVubmVuLiBadW1hbApkZXIgTGV2ZWwgc28gZnVyY2h0YmFyIHNjaGVpc3NlZ2FsIGlzdC4uLiBlcyBnaWJ0IGF1Y2ggYXJtZSBITFAtV3VlcnN0ZS4KCkZydWVoZXIgd2FyIGFsbGVzIHNjaG9lbmVyLiBEYSBoYXQgbWFuIGF1Y2ggbm9jaCBrZWluZW4gR3JpbW1ib3JuIGdlYnJhdWNodCwKZGVyIGRpZSBNUEEgYXVmcmFldW10Li4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEpvYnMgKExhcmlzc2EsIDIwLiBOb3YgMTk5OCwgMTQ6MDU6NDYpOgp+IyEgcm49SGF0ZSBydD05MTEyMjgyOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTEyMjcxMDAKWWF1IQoKVW5zZXIgTGFkZW4gaGF0IHZvciBlaW5pZ2VuIFdvY2hlbiBpbiBkZXIgRkFaIGVpbmUgMTcuMDAwIERNIC1BbnplaWdlCmdlc2NoYWx0ZXQgdW0gZWluZW4gUHJvZ3JhbW1pZXJlciB6dSBmaW5kZW4uCgpXaWV2aWVsZSBoYWJlbiBzaWNoIGdlbWVsZGV0Pz8/CgotLS0+TlVMTCAKCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogMzEgKFNtYXJ0ZSwgMjAuIE5vdiAxOTk4LCAxNDowNTo0OCk6Cn4jISBybj1Bc21vZGlzIHJ0PTkxMTQxNTk0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpOYXR1ZXJsaWNoIGtlbm5lIGRpY2ggbmFjaCB3ZWxjaGUgIQooaWNoIHp3YXIgbmljaHQgcGVyc29lbmxpY2ggYWJlciB6dW1pbmRlc3QgYXVzIGxhbmdlbiBvbmxpbmUtemVpdGVuICkKCmJpcyBkZW5uIAoKU21hcnRlIDopKSkpKSkpKSkpKSkpKSkpKSkpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEpvYnMgKEthcmlzLCAyMC4gTm92IDE5OTgsIDE0OjA5OjQzKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTExNTcwNzQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCkluIFVTQSB3dXJkZW4gbGV0enRlIFdvY2hlIEVpbnN0ZWlnZXJnZWhhZWx0ZXIgYmlzIDE0MGskIHVuZCBhbHMgU3RhcnRlcmJvbnVzCm5vY2ggbiBaMyBnZXphaGx0IC4uLgoKS2FyaXMsIHN1Y2h0IGF1Y2ggTGV1dGUgLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEpvYnMgKFNvbmdva3UsIDIwLiBOb3YgMTk5OCwgMTQ6MTY6MzQpOgp+IyEgcm49S2FyaXMgcnQ9OTExNTcwOTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCkljaCBzdHVkaWVyZSBkYXMgZmFsc2NoZSwuIEVpbmRldXRpZyA6KCgKU2F5b25hcmEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKb2JzIChHbm9tZSwgMjAuIE5vdiAxOTk4LCAxNToyODo0OCk6Cn4jISBybj1MYXJpc3NhIHJ0PTkxMTU3MDc0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMTIyNzEwMApudW4gamEuLi4KCmRhcyBrb21tdCBkYXJhdWYgYW4sIHdhcyBtYW4gZnVlciBkaWUgMTcuMDAwIG1hY2hlbiBtdXNzLgp3ZW5ucyBlaW4gMy10YWdlLWpvYiBpc3QsIGlzdCBlcyBnYW56IHNjaG9lbiB2aWVsIGdlbGQsCndlbm4gbWFuIGRhZnVlciBlaW4gaGFsYmVzIGphaHIgYnJhdWNodCwgZ2FueiBzY2hvbmUgd2VuaWcuLi4gOy0pCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSm9icyAoWWVuZGksIDIwLiBOb3YgMTk5OCwgMTY6MjA6MTYpOgp+IyEgcm49R25vbWUgcnQ9OTExNTc1NzI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCkljaCBnbGF1YmUgZWhlciwgZGFzcyBkaWUgQW56ZWlnZSAxNyBLRE0gZ2Vrb3N0ZXQgaGF0Li4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSm9icyAoR25vbWUsIDIwLiBOb3YgMTk5OCwgMTg6NDM6MzEpOgp+IyEgcm49WWVuZGkgcnQ9OTExNTc4ODE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCmhtLCBrYW5uIGF1Y2ggc2Vpbi4ga2FtIG5pY2h0IGdhbnogc28gZGV1dGxpY2ggcnVlYmVyLi4uIDopCgphYmVyIGVpbmUgYW56ZWlnZSBmdWVyIDE3LjAwMCBpbiBlaW5lciB0YWdlc3plaXR1bmc/CmlzdCBkYXMgbmljaHQgZXR3YXMgdWViZXJ0cmllYmVuIG9kZXIga2VubiBpY2ggYmxvc3MgZGllIHByZWlzZSBuaWNodD8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiAzMSAoSmlkZHUsIDIwLiBOb3YgMTk5OCwgMTg6NTE6MzIpOgp+IyEgcm49QW5hdG9sIHJ0PTkxMTUzOTk3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpIYXN0IGVoIG5vY2ggbmllIHdhcyB6dSBtaXIgZ2VzYWd0IG9kZXI/IDspIG5lIGltIGVybnN0IGFsc28gSExQIGZ1ZWhsIGljaAptaWNoIG5pY2guLi4gU2VoZXIgaXMgbmljaCBhbGxlcyBtYXNzIGRlciBkaW5nZSBkYSBnaWJ0IGVzIG5vY2ggZ2V3YWx0aWdlCnVudGVyc2NoaWVkZSAuLiBnaWxkZSB1bmQgZ2x2bCBzaW5kIG1pbmRlc3RlbnMgZWJlbnNvIHdpY2h0aWcgd2llIHNsdmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxldHp0ZXJlcyAoS2FkYWJyYSwgMjAuIE5vdiAxOTk4LCAyMjoyNDozOSk6CmR1IGtlbm5zdCBkaWUgcHJlaXNlIG5pY2h0IDspCmthZGFicmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEpvYnMgKFNhbGFkaW4sIDIxLiBOb3YgMTk5OCwgMDY6MzQ6NDMpOgp+IyEgcm49TGFyaXNzYSBydD05MTE1NzA3NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTEyMjcxMDAKV2VubiBpaHIgbW9uYXRsaWNoIGRhcyBnZXphaGx0IGhhZXR0ZXQgd2FzIGRpZSBBbnplaWdlIGdla29zdGV0IGhhdCBoYWV0dGVuCnNpY2ggc2ljaGVyIG1laHIgZ2VtZWxkZXQ6KQoKU2FsYWRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSm9icyAoTWVuYWNlLCAyMS4gTm92IDE5OTgsIDIxOjM1OjEwKToKfiMhIHJuPUthcmlzIHJ0PTkxMTU3MDk4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMTIyNzEwMApBbHNvIGljaCBzdWNoZSBhYiBFbmRlIE1hZXJ6IG5lbiBKb2IuIEJlaSBkZW4gS29uZGl0aW9uZW4gd3VlcmQgaWNoIGF1Y2ggCnNvZm9ydCBuYWNoIFVTQSBmYWhyZW4hIEFiZXIgaGF0IG5pY2h0IHdlciB3YXMgbmFlaGVybGlnZW5kZXM/CgpNZW5hY2UgaXN0IGJhbGQgSW5mb3JtYXRpa2Fzc2lzdGVudAoKUFM6IE5FSU4hIGRhcyBpc3Qga2VpbiBBc3Npc3RlbnQgZWluZXMgSW5mb3JtYXRpa2VycyEgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAzMSAoV3VyLCAyMi4gTm92IDE5OTgsIDAzOjE2OjUyKToKfiMhIHJuPUFuYXRvbCBydD05MTEzOTQ3NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSmFqYSwgQW5hdG9sLiBEdSB3aXJzdCBhbHQuIEtlaW5lIEJlbGVpZGlndW5nIGRyaW5uLCBpbiBEZWluZW0gQXJ0aWtlbCwgdW5kCmRvY2ggZmVobHQgenVtIFRlaWwgamVkZSBTYWNobGljaGtlaXQuClNlaXQgd2FubiBoYWJlbiBTZWhlciB1bmQgTWFnaWVyIGRpZSBncm9lc3N0ZSBNdWR2ZXJidW5kZW5oZWl0PwpNYWdpZXIsIHNvYmFsZCBtZWhyIGFscyBudXIgZWlucywgendlaSBNb25hdGUgTWFnaWVyIHNpbmQsIHdpc3NlbiBlaWdlbnRsaWNoCmdhciBuaWNodHMgbWVoci4gVW5kIFNlaGVyIGdld29laG5lbiBzaWNoIGRlcm1hc3NlbiBhbiBpaHJlIHp1c2FldHpsaWNoZW4gCk1vZWdsaWNoa2VpdGVuLCBkYXNzIHNpZSBnYXIgbmljaHQgbWVociB3aXNzZW4gd2llIGVzIGRlbm4gc28gYWxzIGtsZWluZXIKU3BpZWxlciBpc3QgZGVyIG5pY2h0IHNvIGdlbmF1IHdhcyB3byBkYXMgR3V0ZSB1bmQgU2lubnZvbGxlIHp1IGZpbmRlbiBpc3QuCgpXdXIgdmVyYXVzZ2FidCBzaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiAzMSAoQW5hdG9sLCAyMi4gTm92IDE5OTgsIDA3OjI2OjAxKToKfiMhIHJuPVd1ciBydD05MTE3MDQ2MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKRGEgbGllZ3QgZWluIE1pc3N2ZXJzdGFlbmRuaXMgdm9yLCBpY2ggbWVpbnRlIG1pdCBNdWR2ZXJidW5kZW5oZWl0IG5pY2h0cywKd2FzIG1pdCBXaXNzZW4sIFdlaXNoZWl0IG9kZXIgRmluZGlna2VpdCB6dSB0dW4gaGF0Li4uIHNvbmRlcm4gZWluZmFjaApudXIgZGFzIEdlZnVlaGwgImRhcyBpc3QgbWVpbiBNdWQgdW5kIGljaCBiaW4gZGFmdWVyIG1pdCB2ZXJhbnR3b3J0bGljaCIuCgpOYXR1ZXJsaWNoIGdpYnQgZXMgYXVjaCBOaWNodC1TZWhlciwgZGllIG11ZHZlcmJ1bmRlbiBzaW5kIHVuZCBuYXR1ZXJsaWNoCmdpYnQgZXMgYXVjaCBTZWhlciwgZGVuZW4gZXMgc293YXMgdm9uIHNjaGVpc3NlZ2FsIGlzdCwgd2FzIGRhcyBNdWQgZnVlcgphbmRlcmUgd2lya2xpY2ggaXN0IHVzdy4gLSBBYmVyIGljaCBoZWdlIGRpZSBIb2ZmbnVuZywgZGFzcyBiZWkgZGVuIFNlaGVybgoobWl0IGJlZGluZ3QgZHVyY2ggZGllIGkuIGQuIFIuIGxhZW5nZXJlIFNwaWVsemVpdCB1bmQgZGVtIEF1ZndhbmQpIGRhcwpuaWNodCBkZXIgTm9ybWFsenVzdGFuZCBpc3QuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKb2JzIChUZWRkeSwgMjIuIE5vdiAxOTk4LCAxMjoxODoyMCk6Cn4jISBybj1Hbm9tZSBydD05MTE1ODc0MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTEyMjcxMDAKRHUga2VubnN0IGRpZSBQcmVpc2UgbmljaHQsIHdpciByZWRlbiB2b24gZGVyIEZBWi4gOy0pCgpUZWRkeSwgaGF0IHNjaG9uIHVlYmVyIDEwMDAgZnVlciBuZSBrbGVpbmUgQW56ZWlnZSBpbiBuZW0gcmVnaW9uYWxlbgpXb2NoZW5ibGF0dCBnZXphaGx0LgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEpvYnMgKFNvbmdva3UsIDIzLiBOb3YgMTk5OCwgMTA6NTc6MTkpOgp+IyEgcm49TWVuYWNlIHJ0PTkxMTY4NDExMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMTIyNzEwMApCZXdlaXNlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKb2JzIChNZW5hY2UsIDIzLiBOb3YgMTk5OCwgMTE6MzM6NDMpOgp+IyEgcm49U29uZ29rdSBydD05MTE4MTg2Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTEyMjcxMDAKQmV3ZWlzZSB3b2Z1ZXI/IERhc3MgaWNoIGZlcnRpZyB3ZXJkZSwgb2RlciBkYXNzIGRlciBJbmZvcm1hdGlrYXNzaXN0ZW50IG5pY2h0CmRlciBBc3Npc3RlbnQgZWluZXMgSW5mb3JtYXRpa2VycyBpc3Q/CgpNZW5hY2UgbGllYmVyIG1hbCBuYWNoZnJhZ2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSm9icyAoU29uZ29rdSwgMjMuIE5vdiAxOTk4LCAxMTozNjoxOCk6Cn4jISBybj1NZW5hY2UgcnQ9OTExODIwODIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCmRhcyBkdSBuaWNodCBkZXIgQXNpc3RlbnQgc29uZGVybiBkZXIgQXNzaXN0ZW50IGJpc3QuCgpzYXlvbmFyYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IDMxIChLZXksIDIzLiBOb3YgMTk5OCwgMTI6MzQ6MjIpOgp+IyEgcm49V3VyIHJ0PTkxMTcwNDYxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQoqV3VyIGF1ZiBkZW0gUnVlY2tlbiBrbG9wZmVuZCoKSGV5IGhleSBuZXQgdWViZXJhbnN0cmVuZyBpbiBEZWluZW0gQWx0ZXIgOikKCkhtbSBhbHNvIGljaCBtdXNzIERpciB6d2FyIGdyb2Vzc3RlbnRlaWxzIHp1c3RpbW1lbiAuLi4uIGFiZXIgLi4uLgpBdWNoIHdlbm4gZGllIG1hZWNodGlnZW4gOykgU2VoZXIgaWhyZSB6dXNhZXR6bGljaGVuIE1vZWdsaWNoa2VpdGVuIG51dHplbiAuLi4KRGllIG1laXNzdGVuIHdpc3NlbiBhdWNoIG5vY2ggc2VociBnZW5hdSB3byBzaWUgd2FzIGhlcmJla29tbWVuIGRhcyBuaWNodCBtYXgKaXN0IC4pCgpLZXkgd2Vpc3MgZ2VyZGUgbmltbWVyIHdvcnVtcyBlaWdlbnRsaWNoIGdlaHQgLi4uIG9laG0gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEpvYnMgKFd1cnplbCwgMjQuIE5vdiAxOTk4LCAxOToxMToyMCk6Cn4jISBybj1NZW5hY2UgcnQ9OTExNjg0MTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTExMjI3MTAwCmR1IHN1Y2hzdCBuIGpvYj8gZWluZmFjaCBtYWlsIGFuIG1pY2ggOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogMzEgKFFpdGVzcywgMjUuIE5vdiAxOTk4LCAxMjoxNzo0OCk6Cn4jISBybj1QcnlkZSBydD05MTE0NzkxMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKYWNoLCB3YXMgc29sbHMsIHByeWRlLCBkZXIgZWluZSBzbywgZGVyIGFuZGVyZSBzby4Ka2V5IGthbm4gbWljaCBuaWNodCBsZWlkZW4sIHVuZCBpY2gga2FubiBrZXkgd29obCBhdWNoIG5pY2h0IGxlaWRlbiwgYWJlciBkYXMKaXN0IGVpbiB0aGVtYSwgZGFzIGluIGRlciBtcGEgbmljaHQgc29vb28gYnJlaXQgZ2V0cmV0ZW4gd2VyZGVuIHNvbGwuCndhcyBkaWUgaXJvbmllIGJldHJpZmZ0IC0gZXMgaXN0IHdvaGwgc28sIGRhc3MgaGllciBuaWNodCBqZWRlciBkYXMgZ2xlaWNoZQp2ZXJzdGFlbmRuaXMgdm9uIGlyb25pZSBoYXQsIHVuZCBkdSB1bmQga2V5IGhhYnQgd29obCBkYXMgZ2xlaWNoZS4KYWJlciB3ZWlzc3QgZHUgd2FzLCBtaXIgaXN0IGRhcyBhbGxlcyBlZ2FsLiBJQ0ggd2Vpc3MsIHdpZSBpY2ggZGVuIGFydGlrZWwKZ2VzY2hyaWViZW4gaGFiZSwgdW5kIGljaCBoYWJlIGlobiBhdWNoIG5vY2htYWwgbWVocm1hbHMgZHVyY2hnZWxlc2VuLCB1bmQKaW1tZXIgbm9jaCBuaWNodCBnZWZ1bmRlbiwgd2FzIGRhcmFuIGVrZWxpZyBzZWluIHNvbGwsIHVuZCB3YXMgZGFyYW4gYW4gZGVyCmlyb25pZSB6d2VpZmVsbiBsYXNzZW4ga29lbm50ZS4KZGEgaWNoIGxhdXQgZWluaWdlbiBtZWluZXIgbWl0bXVkZGVyIHp1IGRvb2YgYmluLCB1bSBzb3dhcyB2ZXJzdGVoZW4genUKa29lbm5lbiwgZGFubiBzb2xsIGljaCBtaWNoIHdvaGwgZGFmdWVyIGVudHNjaHVsZGlnZW4uIHR1IGljaCBhYmVyIG5pY2h0LgpsYXV0IGRpZXNlbiBtdWRkZXJuIGJpbiBpY2ggc2ljaGVyIHNvd2llc28gZ3J1bmRzYWV0emxpY2ggZG9vZiwgdW5kIGRpZQprb2VubmVuIG1pciBlaCBpbSBtb25kc2NoZWluIGJlZ2VnbmVuLCBhdWNoIHdlbm4gZGFzIGZ1ZXIgZGVyYXJ0aWdlIGFubGFlc3NlCnZpZWwgenUgcm9tYW50aXNjaCBpc3QuCndhcyBzb2xscy4gbmljaHQgamVkZXIgaXN0IG1pdCBtaXIgYmVmcmV1bmRldC4gdW5kIGRhcyBpc3QgYXVjaCBndXQgc28uIGljaAp3aWxsIG5hZW1saWNoIG5pY2h0IGplZGVybWFubnMgZnJldW5kIHNlaW4uIGRhcyB1ZWJlcnN0ZWlndCBuYWVtbGljaCBtZWluZQpla2VsZ3JlbnplLgphYmVyIHdpZSBnZXNhZ3QuIGlzdCBkb2NoIGFsbGVzIGVnYWwuCgpRSSoqIGtvdHplbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAzMSAoS2V5LCAyNS4gTm92IDE5OTgsIDEzOjE1OjE1KToKfiMhIHJuPVFpdGVzcyBydD05MTE5OTYyNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKIkljaCB3ZWlzcyB3aWUgaWNoIGRlbiBBcnRpa2VsIiAKSmFqYSAuLi4gZGFzIGhpbGZ0IHdlaXRlciB3ZW5ucyBEZWluIFRhZ2VidWNoIGlzdCAuLgpBYmVyIGZ1ZXIgZGllIE9lZmZlbnRsaWNoa2VpdCBzb2xsdGUgbWFuIHByb2JpZXJlbiBtaXR6dWRlbmtlbiAuLi4KU28gZGFzIGVzIHZpZWxsZWljaHQgYWxsZSB2ZXJzdGVoZW4gLi4uCgpVbmQgZWluZSBSaWNodGlnc3RlbGx1bmcgLi4uIEljaCB3ZWlzcyBuaWNodCBvYiBpY2ggRGljaCBsZWlkZW4ga2FubiAuLi4gZGF6dQpuZXJ2c3RlIG1pY2ggdmllbCB6dXZpZWwgOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IDMxIChBc21vZGlzLCAyNS4gTm92IDE5OTgsIDE4OjMyOjAwKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTExNDE2MTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkljaCBkYWNodGUgZWhlciBkYXJhbiwgZGFzcyBpY2ggZGVyIE11ZGRlciB3YXIsIGRlciBXb2Vsa2NoZW4Kdm9uIGRlciBTcGl0emUgZGVyIFRvcGxpc3RlIHZlcmRyYWVuZ3RlIHVuZCBtaXQgc2FnZW5oYWZ0ZW4KMyBNaWxsaW9uZW4gRXBzIGxhbmdlIFplaXQgYW5mdWVocnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IDMxIChBc21vZGlzLCAyNS4gTm92IDE5OTgsIDE4OjQ0OjAzKToKfiMhIHJuPUtleSBydD05MTE4MjQ0NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKV2FzIHdvbGx0IGlociBkZW5uLCBpaHIgSnVuZ3NwdW5kZSwgZGllIG5vY2ggbmljaHQgbWFsIDIwMCBNdWQtVGFnZQphdWYgZGVtIEtvbnRvIGhhYmVuPyBhbHQgbmVubmUgaWNoIGFuZGVyZXMgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogMzEgKFByeWRlLCAyNS4gTm92IDE5OTgsIDE4OjQ1OjEzKToKfiMhIHJuPUFzbW9kaXMgcnQ9OTEyMDE5NDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkVjaHQgZ2FueiB0b2xsLCBudXIgd2VpbCB3aXIgbmljaHQgYWxsZSBEZWluZXIgU3VjaHRncm9lc3NlIGVudHNwcmVjaGVuLgpQcnlkZSAtIGFsdGUgTXVkZGVyIHNpbmQgZG9vZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IDMxIChUcmFuY2VmZWFyLCAyNS4gTm92IDE5OTgsIDIwOjMyOjQzKToKfiMhIHJuPUFzbW9kaXMgcnQ9OTEyMDE4NzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CkFjaGphIHN0aW1tdC4gVW5kIGFscyBEdSBkaWUgVG9wbGlzdGUgbmljaHQgbWVociBoYWx0ZW4ga29ubnRlc3QgaGFzdCBEdSBEaWNoCnp1bSAydGkgZ2V3YW5kZWx0LCBkYW1pdCBEdSB3ZW5pZ3N0ZW5zIGF1ZiBkZXIgVG9wendlaXRpbGlzdGUgYXVmIDEgd2Fyc3QuLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogMzEgKEFuYXRvbCwgMjUuIE5vdiAxOTk4LCAyMDo1NzoyNSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTkxMjAyNTk2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpKZXR6dCB3ZWlzc3QgRHUgYXVjaCwgd2FydW0gQXNtb2RpcyBudXIgbm9jaCBzZWhyIHNlbHRlbiBkYSBpc3QuIDpvKQoKQW5hdG9sLCBoZXV0ZSBtaXQgU3Bpa2VzIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IDMxIChFbWJlLCAyNS4gTm92IDE5OTgsIDIxOjAxOjQxKToKfiMhIHJuPUFzbW9kaXMgcnQ9OTEyMDE5NDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CmphIGdlbmF1IQoKZ3J1c3MsIGVNQmVlLiAoQWx0ZXI6ICAyNTIgVGFnZSA5IFN0dW5kZW4gMSBNaW51dGUgNDggU2VrdW5kZW4uCjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDMxIChXdXJ6ZWwsIDI1LiBOb3YgMTk5OCwgMjE6MzU6MTEpOgp+IyEgcm49RW1iZSBydD05MTIwMjc3MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKZGF2b24gOTksOSAlIGR1cmNoIGlkZWxuPyBkYXMgemFlaGx0IG5pY2h0Li4uCgp3dXJ6ZWwsIHRlbGVmb24gLSBtb2RlbSAtIHNlbGJzdCBiZXphaGxlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDMxIChUcmFuY2VmZWFyLCAyNS4gTm92IDE5OTgsIDIxOjM4OjMyKToKfiMhIHJuPUVtYmUgcnQ9OTEyMDI3NzAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CmljaCB2ZXJ3ZWlzZSBhdWYgemluby4gYXVjaCBzb24gaWRsZXIsIGFiZXIgY2EgMzgwIFRhZ2UgYWx0Li4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IDMxIChTaGFyaWEsIDI1LiBOb3YgMTk5OCwgMjE6Mzk6MTgpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MTIwMjk5MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKdmVyZ2Vzc3QgYml0dGUgbmljaHQgSk9GIC4uLiBkZXIgaXMgamEgd29obCB1bmdlc2NobGFnZW4gOi0pCgpTaGFyaWEsIHdlaWJsaWNoIGxlZGlnIGp1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiAzMSAoWmlubywgMjYuIE5vdiAxOTk4LCAxNTowMDo1NSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTkxMjAyOTkxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQpIZXksIGljaCBiaW4ga2VpbiBJZGxlciEgSWNoIGJpbiBpbW1lciBoZWxsd2FjaCAoMjQgaCBhbSBUYWcpLiA7KQoKWmlubwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogMzEgKExlbmEsIDI2LiBOb3YgMTk5OCwgMTU6MjQ6MjMpOgp+IyEgcm49SmlkZHUgcnQ9OTExNTg3ODkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CndhcyBpc3QgZWluIEhMUD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiAzMSAoTGVuYSwgMjYuIE5vdiAxOTk4LCAxNToyNzoxMik6Cn4jISBybj1BbmF0b2wgcnQ9OTExNzE5NTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CmFsc28gSUNIIGJpbiBkZXIgTWVpbnVuZywgZGFzIGRpZSBtZWlzc3RlbiBNdWRkZXIgc2VsYnN0bW9yZGdlZmFlaHJkZXQgc2luZC4KRGFzIGxlaXRlIGljaCBuaWNodCBtYWwgdm9uIG1laW5lciBlaWdlbmVuIEVpbnN0ZWxsdW5nIGFiLCBzb25kZXJuIHZvbiBlaW5pZ2VuClJlYWt0aW9uZW4uIE1hbiBtdXNzIHNpY2ggbnVyIG1hbCA1IE1pbnV0ZW4gaW4gZGllIEFHIHN0ZWxsZW4uIC4uLgoKJ3MgTGVuc2NoZSBtdWRkZXQgYXVjaC4gS29taXNjaCBnZWxsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IDMxIChMZW5hLCAyNi4gTm92IDE5OTgsIDE1OjM0OjAzKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTEyMDI1OTYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEwMjcyNjY5CldhcyBHcnVuZHNhZXR6bGljaGVzLi4uClNlaWQgSWhyIGFsbGUga2luZGlzY2g/CkljaCBtZWluZSwgTk9DSCBLSU5ESVNDSEVSIGFscyBJQ0g/Pz8KTmFqYSwgYWxzbyBpY2ggcGllbnogendhciBhdWNoIG9mdCBnZW51ZyBydW0sIGFiZXIgd2VuaWdzdGVucyBrYW5uIGljaCBzdGVyYmVuCnVuZCB0cm90emRlbSBmcm9laGxpY2ggc2Vpbi4KKEF1Y2ggd2VubiAiSkVNQU5EIiBtZWludCwgYXVmIC1rYXJsc3J1aGUgaW1tZXIgc28ga29taXNjaGUgU2FjaGVuIHVlYmVyIG1pY2gKenUgZXJ6YWVobGVuLCB2b24gZGVuZW4gaWNoIG5pY2h0IG1hbCB3ZWlzcywgd2FzIHNpZSBlaWdlbnRsaWNoIGF1c3NhZ2VuCnNvbGxlbi4pCgpMZW5hLCBrb3Bmc2NodWV0dGVsbmQgaWhyZSBQbHVlc2NoaHlkcmEgYW5zY2htYWNodGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiAzMSAoSmFzcGVyLCAgMS4gRGV6IDE5OTgsIDIzOjExOjEyKToKfiMhIHJuPVllbmRpIHJ0PTkxMTM5Mjk3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMDI3MjY2OQphbHNvIGljaCBrYW5uIG1pY2ggZHJhbiBlcmlubmVybiwgZGFzcyBkYXMgcnVmZW4ga2VpbmUgbXAgZ2Vrb3N0ZXQgaGF0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogMzEgKFllbmRpLCAgMi4gRGV6IDE5OTgsIDExOjAwOjM0KToKfiMhIHJuPUphc3BlciBydD05MTI1NTM4NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTAyNzI2NjkKSmEsIGFiZXIgZGFzIHd1cmRlIGRhbm4gZG9jaCByZWNodCByYXNjaCBnZWFlbmRlcnQuLi4gOikKClllbmRpIHJ1ZnQ6IEJPT09PT09PT09PT09PT09PT09PT09PSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJTkchISEhISEhISEhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbS92ZXJlaW5zLWVpZ2VudHVtIChQaHlnb3MsICAyLiBEZXogMTk5OCwgMTQ6MTM6MzcpOgpXaWUgd2FlcmUgZXMsIHdlbm4gZW5kbGljaCBtYWwgZWluZSBhbGxnZW1laW5ndWVsdGlnZSBSZWdlbHVuZwpnZWZ1bmRlbi9nZXNjaGFmZmVuIHd1ZXJkZSwgCnVtIGRlbSBQcm9ibGVtIGRlcyAid2lsbGt1ZXJsaWNoZW4iIEFuL0FiaGFlbmdlbnMgdm9uCkdlYmlldGVuL1JlZ2lvbmVuL1F1ZXN0ZW4gZWluIGt1cnplcyBzY2htZXJ6bG9zZXMgRW5kZSB6dSBiZXJlaXRlbj8KU2V0enQgZWluZW4gYmxhbmtvIFZlcnRyYWcgYXVmLCBkZW4gc2ljaCBqZWRlciBkZXIgaGllciBwcm9nZ2VuIHdpbGwKZG93bmxvYWRlbiBrYW5uIGF1Zi4gRGVuIG11c3MgZXIgZGVtIFZlcmVpbiB1bnRlcnNjaHJpZWJlbiB6dXNjaGlja2VuLCB2b3JoZXIKZGFyZiBlciBoaWVyIG5pY2h0cyBtYWNoZW4uIERhbWl0IGVya2xhZXJ0IGVyL3NpZSBzaWNoIGJyZWl0IGRlbSB2ZXJlaW4sIGRpZQp6dW1pbmRlc3QgYXVmIHVuYmVncmVuenRlIFplaXQgZGllIE51dHp1bmdzcmVjaHRlIHp1IHVlYmVydHJhZ2VuLiBad2FyIGthbm4gZXIKZGFubiBpbiBqZWRlbSBhbmRlcmVuIE11ZCBkZXIgRXJkZSBzZWluIFpldWdzIGF1Y2ggbm9jaCBwbGF6aWVyZW4sIGFiZXIgd2FzCmhpZXIgZWlubWFsIHN0ZWh0LCBibGVpYnQgc3RlaGVuLiBCYXN0YS4KQWxsZXJkaW5ncyBnZWhvZXJ0IGRhbm4gYXVjaCByZWluLCBkYXMgZXMgc28gYmxlaWJ0IHdpZSBlci9zaWUgZXMgZ2VzY2hyaWViZW4KaGF0dC4gQXVjaCB3ZW5uIGRlci9kaWUgamVuaWdlIGxhZW5nc3Qgd2VnL2dlYmFuaXNodC9iZWdyYWJlbiB1bmQgZHJlaW1hbAp2ZXJnZXNzZW4gaXN0LCBvaG5lIGRhcyBzcGFldGVyIGplbWFuZCBkYXJhbiBoZXJ1bXBmdXNjaHQuCklyZ2VuZHdpZSBnZWh0cyBoaWVyIHp1IHdpZSBpbiBlaW5lbSBLZWdlbHZlcmVpbiwgZGVyIGdlbWVpbnNhbSBlaW5lIEtlZ2VsYmFobgpnZWJhdXQgaGF0LiBNb3JnZW4ga3JpZWd0IGVpbmVyIGRpZSBLcmlzZSwgdW5kIHJlaXNzdCBzYWVtdGxpY2hlIG5hZWdlbCBhdXMKZGVyIEJhaG4sIG51ciB3ZWlsIGVyIHNpZSBqYSBtaXRnZWJyYWNodCBoYXQuClNvcmd0IG1hbCBmdWVyIGV0d2FzIHJlY2h0bGljaGUgS2xhcmhlaXQuIERhbWl0IHNwYXJ0IGlociBFdWNoIGVpbmUgTWVuZ2UKTmVydmVuIHVuZCBaZWl0LgpHcnVzcyBQaHlnb3MKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbS92ZXJlaW5zLWVpZ2VudHVtIChIYXRlLCAgMi4gRGV6IDE5OTgsIDE0OjI0OjIxKToKfiMhIHJuPVBoeWdvcyBydD05MTI2MDgwMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTI2MDgwMTcKRGllIEZyYWdlIGlzdCByZWNodGxpY2gga2xhcjogV2VyIGhpZXIgYXVmIGRlbSBkZW0gVmVyZWluIGdlaG9lcmVuZGVuIFN5c3RlbQpldHdhcyBzY2hyZWlidCBnaWJ0IGRhbWl0IGRpZSBSZWNodGUgKGJpcyBhdWZzIFVyaGViZXJyZWNodCkgYW4gZGVuIFZlcmVpbgphYi4gRGFzIGlzdCB3aWUgaW4gamVkZXIgVW5pIG9kZXIgRmlybWEuCgpBbGxlcmRpbmdzIGhhYmVuIG1hbmNoZSBMZXV0ZSBzb2xjaGUgUHJvYmxlbWUgbWl0IHNpY2ggc2VsYnN0IHVuZCBpaHJlcgpVbXdlbHQsIHNvIGRhc3Mgc2llIG1laW5lbiBhbGxlcyBtdXNzIHdlZy4gVW5kIHdpciBzaW5kIGhhbHQgZnJldW5kbGljaAp1bmQgdS5VLiBoYWVuZ2VuIHdpciBlcyBkYW5uIGFiLiBJY2ggcGVyc29lbmxpY2ggdW50ZXJzdHVldHplIGRhcyBuaWNodC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW0vdmVyZWlucy1laWdlbnR1bSAoRGFuY2VyLCAgMi4gRGV6IDE5OTgsIDE0OjMwOjQ1KToKfiMhIG9uPURhbmNlciBvdD05MTI2MDg5ODUgb2c9ZC53YWxkCn4jISBybj1IYXRlIHJ0PTkxMjYwODY2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMjYwODAxNwpTb3JyeSwgSGF0ZSwgYWJlciBub2NobWFsOiBkYXMgc3RpbW10IGVpbmZhY2ggbmljaHQuIEluIGRlciBVbmkgc2NocmVpYnN0IER1CkRpY2ggZWluIHVuZCBhbmVya2VubnN0IGRhbWl0IGRpZSBkYW1pdCB2ZXJidW5kZW5lbiBNb2RhbGl0YWV0ZW4sIGluIGRlciBGaXJtYQpnaWJ0IGVzIGRpZSBIYXVzb3JkbnVuZy4gSW0gTW9yZ2VuR3JhdWVuIGlzdCBiZWltIEVpbmxvZ2dlbiBub2NoIG5pY2h0IGVpbm1hbAplaW4gVmVyd2VpcyBhdWYgZWluZSBTYXR6dW5nLiBWb3IgR2VyaWNodCBrb2VubnRlc3QgRHUgZGFtaXQgaG9lY2hzdGVucyBlaW5lCnN0aWxsc2Nod2VpZ2VuZGUgTnV0enVuZ3NnZW5laG1pZ3VuZyBmdWVycyBNRyBoZXJhdXNob2xlbi4gSW4gamVkZW0gRmFsbAptdWVzc2VuIGRpZSBGaWxlcyBnZWxvZXNjaHQgd2VyZGVuLCB3ZW5uIGRlciBCZXNpdHplciA9IFVyaGViZXIgPSBBdXRvciBkYXMKd2lsbC4gT2huZSBlaW5kZXV0aWdlbiBWZXJ3ZWlzIGF1ZiBkaWUgU2F0enVuZyAod2VubiBkaWVzZSBkYXMgVGhlbWEKdWViZXJoYXVwdCBhYmRlY2t0KSBnZWhvZXJ0IGRlbSBWZXJlaW4gbnVyIGVpbiB3YXJtZXIgSGFlbmRlZHJ1Y2suCgpCZWkgUnVlY2tmcmFnZW4sIGthbm4gaWNoIGdlcm5lIGRpZSBUZWxlZm9ubnVtbWVyIHVuc2VyZXMgUGF0ZW50LSAmClZlcnRyYWdzYW53YWx0cyB6dXIgVmVyZnVlZ3VuZyBzdGVsbGVuLiBBbHMgb2IgaWNoIG5vY2ggbmllIFByb2JsZW1lIHdlZ2VuCk51dHp1bmdzcmVjaHRlbiBnZWhhYnQgaGFldHRlLiA6LSkKCkRhbmNlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtL3ZlcmVpbnMtZWlnZW50dW0gKFBoeWdvcywgIDIuIERleiAxOTk4LCAxNDo0MzoxMSk6ClNjaGFldHplIGVpbm1hbCBIYXRlIGhhdCBpbSBzcGV6aWVsbGVuIGZhbGwgTUcgZ2VnZW4gWWFudHJvIHJlY2h0LiBEYXMgUHJvYmxlbQp3aXJkIHNvbGFuZ2Ugd2VpdGVyYmVzdGVoZW4gYmlzIGVpbmUgYmluZGVuZGUgUmVnZWx1bmcgZ2V0cm9mZmVuIHdpcmQuIC0tLT4KdmlydHVlbGxlIEhhdXNvcmRudW5nIG9kZXIgc2NobGljaHQgZWluIEFidHJldHVuZ3N2ZXJ0cmFnIGZ1ZXIgZGFzIFJlY2h0LCBoaWVyCnByb2dnZW4genUgZHVlcmZlbi4gU2NobGllc3NsaWNoIGlzdCBkYXMgaGllciBuaWNodCBpcmdlbmRlaW4gTXVkLiBIZXV0ZSB1cAptb3JnZW4gZG93bi4gU2VpZCBtYWwgZWluIHdlbmlnIHN0b2x6IGF1ZmBzIE1HLiAgRGllcyBoaWVyIGlzdCBEQVMgTXVkLiBEYQprYW5uIGRvY2ggbmljaHQgamVkZXIgc2VpbmVuIGtyZW1wZWwgYW4gdW5kIGFibW9udGllcmVuIHdpZSBlciB3aWxsLiAgPjopCkdydXNzIFBoeWdvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtL3ZlcmVpbnMtZWlnZW50dW0gKERhbmNlciwgIDIuIERleiAxOTk4LCAxNDo0Nzo1OSk6Cn4jISBybj1QaHlnb3MgcnQ9OTEyNjA5NzkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEyNjA5NzkxCkRhcyBkYSB3YXMgZ2V0YW4gd2VyZGVuIG11c3MsIGRhIHNpbmQgd2lyIHVucyBlaW5pZywgc2NoYWV0emUgaWNoLiBEZXIKVmVyZWluc3ZvcnN0YW5kIG11c3MgbWl0IGVpbmVtIHF1YWxpZml6aWVydGVuIEFud2FsdCBkaWUgUmFobWVuYmVkaW5ndW5nZW4Kc2NoYWZmZW4sIGRpZSBqZWRlciBkZXV0bGljaCBtaXQgZGVyIE51dHp1bmcgZGVzIE1HIGFuZXJrZW5udCAtIHVlYnJpZ2VucwpuaWNodCBudXIgTWFnaWVyLiBEYWVtbGljaGUgWmVpdCwgaW4gZGVyIHNvd2FzIG5vdHdlbmRpZyBpc3QsIGFiZXIgZXMga2FubgpuaWNodCBzZWluLCBkYXNzIGRhcyBHZXNhbXRwcm9kdWt0IE1HIGR1cmNoIGRpZSBIYW5kbHVuZyBlaW5lcyBFaW56ZWxuZW4KbmVnYXRpdiBiZWVpbmZsdXNzdCB3aXJkIC0gdW5kIGVyIHJlY2h0bGljaCBhdWNoIG5vY2ggYWJnZXNpY2hlcnQgaXN0LgoKRGFuY2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ibGVtL3ZlcmVpbnMtZWlnZW50dW0gKEhhdGUsICAyLiBEZXogMTk5OCwgMTQ6NTA6MTYpOgp+IyEgcm49RGFuY2VyIHJ0PTkxMjYwOTA0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMjYwODAxNwpEYXMgUHJvYmxlbSBpc3QgaW1tZXIgd2llZGVyLCBkYXNzIGVpbmlnZSBQZXJzb25lbiBkYXMgRWludmVybmVobWVuCm11dHdpbGxpZyB6ZXJzdG9lcmVuIHVuZCBzb21pdCB6dSByZXN0cmlrdGl2ZW4gTWV0aG9kZW4genVydWVja2dlZ3JpZmZlbgp3ZXJkZW4gbXVzcy4gV2lyIGhhYmVuIGRhcyB2ZXJzdWNodCBzbyBnZXJpbmcgd2llIG1vZWdsaWNoIHp1IGhhbHRlbiwKYWJlciB3ZW5uIGVzIG5pY2h0IGFuZGVycyBnZWh0IHNvIHNvbGwgZXMgc2Vpbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm9ibGVtL3ZlcmVpbnMtZWlnZW50dW0gKFNoYXJpYSwgIDIuIERleiAxOTk4LCAxNjowNzoxMCk6Cn4jISBybj1IYXRlIHJ0PTkxMjYxMDIxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMjYwODAxNwp1ZWJyaWdlbmRzOgppbiBhbmRlcmVuIE11ZHMgd2VyZGVuIERpbmdlLCB3aWUgUGh5Z29zIGVzIHZvcmdlc2NobGFnZW4gaGF0IHNjaG9uIGxhbmdlIFplaXQKcHJha3RpemllcnQgLi4gamVtYW5kIGRlciBldHdhcyBmdWVyIGRhcyBNdWQgbWFjaGVuIG1vZWNodGUgbXVzcyBlaW4KZW50c3ByZWNoZW5kZXMgRW1haWx2b3JkcnVjayBlaW5zZW5kZW4gaW4gZGVtIGVyIGFsbGUgcmVjaHRlIChhdXNzZXIgZGVtCmNvcHlyaWdodCkgYWJ0cml0dCwgc29taXQgZ2VyYWV0IGRhcyBNdWQgYXVjaCBuaWVtYWxzIGluIHZlcmxlZ2VuaGVpdCBkaW5nZQphYmhhZW5nZW4genUgbXVlc3NlbiAuLi4gCgpTaGFyaWEKCgpQLlMuOiBmcmFndCBpbiBhbmRlcmVuIG11ZHMgbWFsIG5hY2ggLi4uIHZvcmFsbGVtIGVuZ2xpc2Noc3ByYWNoaWdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHJvYmxlbS92ZXJlaW5zLWVpZ2VudHVtIChLZXksICAyLiBEZXogMTk5OCwgMTY6MTE6NTMpOgp+IyEgcm49SGF0ZSBydD05MTI2MTAyMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTI2MDgwMTcKVW0gR290dGVzIFdpbGxlbiAuLi4gd2VubiBpY2ggc2Nob24gc293YXMgaG9lcmUgdm9uIHdlZ2VuIFJlY2h0c2Fud2FsdCwgdW5kCkdlcmljaHQgdXN3IApMYW5nc2FtIGZhc3MgaWNoIG1pciBkYSBhbiBkZW4gS29wZiB1bmQgZnJhZyBtaWNoIHdhcyBpY2ggaGllciB1ZWJlcmhhdXB0Cm1hY2hlIC4uLi4KSWNoIGtvZW5udGUgamEgYXVjaCBkYXMgbmFlY2hzdGUgbWFsIHZvciBHZXJpY2h0IHppZWhlbiB3ZWlsIGlyZ2VuZHdlciBtaWNoCkxMUCBuZW5udC4gSWNoIGtvZW5udGUgZGFzIGphIGFscyBwZXJzb2VubGljaGUgQmVsZWlkaWd1bmcgYXVmZmFzc2VuIHVuZAp2ZXJsYW5nZSBTY2htZXJ6ZW5zZ2VsZCAuLi4KTmVuZSBhbHNvIGlyZ2VuZHdvIGlzdCBFbmRlLgpFcyBpc3QgZG9jaCB3b2hsIGtlaW4gUHJvYmxlbSBpbiBkZW0gTWFnaWVydmVydHJhZyBuZSBLbGF1c2VsIGF1Znp1bmVobWVuIGluCmRlciBzb3dhcyBkcmluc3RlaHQgd2llOiBBbGxlcyB3YXMgRHUgaGllciB2ZXJ6YXBmc3QgZGFzIGluIGlyZ2VuZGVpbmVyCkhpbnNpY2h0IHdpY2h0aWcgaXN0IHVuZCBFaW5mbHVzcyBhdWYgZGVuIFNwaWVsdmVybGF1ZiBoYXQgYmxlaWJ0LiBVbmQgZmVydGlnLgpTbyB1bmQgamV0enQgdmVyZ2Vzc3QgZGllIHNjaGVpc3NlIG1pdCBpcmdlbmR3ZWxjaGVuIEdlc2V0enRlbiwgd2VyIHNvd2FzCmVybnN0aGFmdCBmb3JkZXJ0IGhhdCBuZW4gS25hbGwuCktleQoKUC5TLjogSG1tIHdlbm4gaWNoIGRhcyByaWNodGlnIHNlaGUgd2lyZCBlaW4gTWFnaWVydmVydHJhZyB2b3IgR2VyaWNodCBuaWNodApzdGFuZGhhbHRlbiAoYWJnZXNlaGVuIGRhdm9uIGRhcyBlaW5lbiBkZXIgUmljaHRlciB3b2hsIGF1c2xhY2hlbiB3dWVyZGUpClRyb3R6ZGVtIHNvbGxlbiBzaWNoIGRpZSBMZXV0ZSBkcmFuIGhhbHRlbiAuLi4gQWNoIGljaCB3ZWlzcyBuaW1tZXIgd2FzIGljaApzYWdlbiB3b2xsdGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIFByb2JsZW0vdmVyZWlucy1laWdlbnR1bSAoUGh5Z29zLCAgMi4gRGV6IDE5OTgsIDE3OjU4OjQ3KToKYWVoLi4uLi4gaGFiIGljaCBpcmdlbmRldHdhcyB2b24gQW53YWVsdGVuIGVyd2FlbnQ/IG5laW4uIG1hbiBtdXNzIGphIG5pY2h0CmRpcmVrdCBtaXQga2Fub25lbiBhdWYgc3BhdHplbiBzY2hpZXNzZW4uICBuYXR1ZXJsaWNoIHdhZXJlIGVzIGF1Y2ggYmVzc2VyCndlbm4gYWxsZSBsaWViIHVuZCBuZXR0IHp1IGVpbmFuZGVyIHdhZXJlbi4gYWJlciB6dW1pbmRlc3QgZWluaWdlIFNFSFIKZGV1dGxpY2hlIGhpbndlaXNlIGRhcmF1Ziwgd2FzIGltIGZhbGxlIGVpbmVzIHZlcmxhc3NlbnMgZGVzIE1HYHMKZXJ3YXJ0ZXQvZ2V3dWVuc2NodC9lcmhvZmZ0IHdpcmQgc29sbHRlbiBoaW5laW4uICggYXVjaCB3ZW5uIGRhcyBrZWluZQpyZWNodGxpY2ggMTAwJSB3YXNzZXJkaWNodGUgc2FjaGUgaXN0ICkgIG9id29obC4uLi4uIGltIGVuZGVmZmVrdCBpc3QgZGFzIE1HCndpZSBlaW4gZ3Jvc3NlciB6b3R0aWdlciBodW5kLiBkZXIgc3RpcmJ0IGF1Y2ggbmljaHQgd2VubiBpaG0gZWluIHp3ZWkgZmxvZWhlCmF1cyBkZW0gcGVseiBmYWxsZW4gPjopCmdydXNzIFBoeWdvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJvYmxlbS92ZXJlaW5zLWVpZ2VudHVtIChLZWxseWJ1bmR5LCAgMi4gRGV6IDE5OTgsIDIxOjIwOjIxKToKfiMhIHJuPURhbmNlciBydD05MTI2MTAwNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTI2MDk3OTEKT2huZSBqZXR6dCBhbHRlIFN1cHBlbiB3aWVkZXIgYXVmd2Flcm1lbiB6dSB3b2xsZW4sIGRpZSBEaXNrdXNzaW9uIGdhYnMgZG9jaApzY2hvbiwgYWxzIFphcmRveiBkcm9odGUsIGRpZSBLYWVtcGZlcmdpbGRlIGVpbnp1emllaGVuPyBXYWVyZSBpbnRlcmVzc2FudCB6dQplcmZhaHJlbiwgd2FydW0gc2ljaCBhdXNzZXIgRmxhbWVzIGluIGRlciBNUEEgbml4IGdldGFuIGhhdC4uLgoKRHVtcGZiYWNrZSAqa29wZnNjaHVldHRlbG5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHJvYmxlbS92ZXJlaW5zLWVpZ2VudHVtIChLZWxseWJ1bmR5LCAgMi4gRGV6IDE5OTgsIDIxOjI0OjAwKToKfiMhIHJuPUtleSBydD05MTI2MTUxMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTI2MDgwMTcKSGFzdCBqYSBSZWNodCwgYWJlciBlcyBzb2xsIExldXRlIGdlYmVuLCBkaWUgc2ljaCBuaWNodCB3b2hsIGZ1ZWhsZW4sIHdlbm4gc2llCm5pY2h0IHdlZ2VuIGplZGVtIEtsZWlua2FjayB6dW0gQW53YWx0IHJlbm5lbiwgRGVzd2VnZW4gc29sbHRlIG1hbiBzb3dhcwp3YXNzZXJkaWNodCBmb3JtdWxpZXJlbiAobGFzc2VuKSBzb25zdCBpc3QgZGVyIG5hZWNoc3RlIEFlcmdlciBzbyBndXQgd2llCnZvcnByb2dyYW1taWVydC4KCkR1bXBmYmFja2UgbWFnIGF1Y2gga2VpbmUgQW53YWVsdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyZXVuZHNjaGFmdHNiYW5kIChQYXRyeW4sICAzLiBEZXogMTk5OCwgMTA6MzA6MzkpOgpoYWIgbWFsIG5lbiBwYWFyIGtsZWluZSBhZW5kZXJ1bmdlbiBpbSBmcmV1bmRzY2hhZnRzYmFuZCB2b3JnZW5vbW1lbiwKYmVpIHByb2JsZW1lbiBtYWlsIGFuIG1pY2guIGljaCBob2ZmZSBtYWwsIGVzIHplcmxlZ3QgbmljaCB3aWVkZXIgYWxsZQpmcmV1bmRzY2hhZnRlbiB3aWUgYmVpbSBsZXR6dGVuIG1hbCA6KSAoZGEgd2FyIGljaHMgYWJlciBuaWNodCAqZ3JpbnMqKQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChXb29keSwgIDMuIERleiAxOTk4LCAxNDozMzozMik6Cn4jISBybj1QYXRyeW4gcnQ9OTEyNjgxMDM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEyNjgxMDM5CkFSR0ggLSBkYXNzIGJlaSAnZndlciBpZGxlfG9ydHx3ZWcnIGF1Y2ggZGllIFByZXNheXMgdW5kIFRpdGVsCmFuZ2V6ZWlndCB3ZXJkZW4sIG1hY2h0IGRpZXNlIE9wdGlvbmVuIGlyZ2VuZHdpZSBFWFRSRU0gdW51ZWJlci0Kc2ljaHRsaWNoISEhCgpXb29keSwgcGxhZWRpZXJ0IHdpZWRlciBmdWVyIGRpZSBmcnVlaGVyZSwgbWl0dGJ1ZW5kaWdlIFZlcnNpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChQYXRyeW4sICAzLiBEZXogMTk5OCwgMTQ6NTg6MzIpOgp+IyEgcm49V29vZHkgcnQ9OTEyNjk1NjEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEyNjgxMDM5CmlzdCBtaXIgYXVmIGRlbSB3ZWcgenVtIHZvcmxlc3VuZyBhdWNoIGVpbmdlZmFsbGVuLCBhZW5kZXIgaWNoIGdsZWljaCBub2NoCgotLS0tLS0KcGF0cnluIGthbm4gaGFsdCBuaWNoIGFuIGFsbGVzIGRlbmtlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JpbW1ib3JuIGZvciBQcmVzaWRlbnQhIChMdWcsICA4LiBEZXogMTk5OCwgMDI6MTQ6MzIpOgoKQXJnaCwKCnNlaXRkZW0gaGllciBqZWRlIE1hZ2llcnd1cnN0IEFydGlrZWwgdmVybGVndCwga29tbWVuIGRpZSBhdWNoIG5vY2ggaW4KdmVya2VocnRlciBSZWloZW5mb2xnZSBpbiBTY2htYXJyZW4gYW4uIEFyZ2xiYXJnbC4KCldNaWRTCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcmltbWJvcm4gZm9yIFByZXNpZGVudCEgKEx1ZywgIDkuIERleiAxOTk4LCAwMjo1Mjo0OCk6Cn4jISBybj1KaWRkdSBydD05MTMxNTUwMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTMwODMyNzIKClJhZXVzcGVyLAoKaXJnZW5kd2llIGhhc3QgRHUgZXMgbmljaHQgZ2FueiB2ZXJzdGFuZGVuLiBJY2ggZXJrbGFlciBEaXIgZGFzIGpldHp0IG1hbCBtaXQKZGVyIFNlbGJzdGxvZXNjaHVuZywgYWxzbyAuLi4KCk9TU1MKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmltbWJvcm4gZm9yIFByZXNpZGVudCEgKEppZGR1LCAgOS4gRGV6IDE5OTgsIDE1OjQ0OjU1KToKfiMhIHJuPUx1ZyBydD05MTMxNzE5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTMwODMyNzIKSGFzdCBEdSBkb2NoIHNjaG9uIC4uLiBpY2ggaGFiIG51ciBkZWluIFBhc3N3b3J0IHZlcmdlc3Nlbi4KCklzaUFha3d3ZWgKSmlkZHUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVubW9lZ2xpY2hlciB6YXViZXJ0cmFuayAoSGlnaHQsICA5LiBEZXogMTk5OCwgMjE6MDk6NTgpOgoqRyogaWNoIHdvbHRlIG1hbCBmcmFnZW4gd2VyIHNvIGVpbmVuIGR1bW1lbiB6dCBtYWNoIDoKSGllciBrb21tdCBkaWUgTWF1cywKc3RlaWd0IGF1ZiBpaHIgSGF1cy4KSHVlcGYgaGluYWIsCmhvZmYnIGVzIGtsYXBwdApIaWVyIGtvbW10IGRpZSBNYXVzLApzdGVpZ3QgYXVmIGlociBIYXVzLgpIdWVwZiBoaW5hYiwKaG9mZicgZXMga2xhcHB0CnNvcnJ5ICpnKiAKbmVyamEgZWNoYWwgCmF1ZiBqZWRlbmZhbGwgd2Vpc3MgaWNoIG5ldCB3aWUgaWNoIGFuIGRhcyBkaW5nIGtvbW1lbiBzb2xsIGljaCBoYWJlIGRpZSBxdWVzdApzY2hvbiBsYW5nZSBnZW1hY2h0IGJldm9yIGljaCBkZW4genQgYmVrb21tZW4gaGFiIAphdWYgamVkZW5mYWxsIHdlaXNzIGljaCBuZXQgd2llIGljaCBhbiBkYXMgZGluZyBrb21tZW4gc29sbCBpY2ggaGFiZSBkaWUgcXVlc3QKc2Nob24gbGFuZ2UgZ2VtYWNodCBiZXZvciBpY2ggZGVuIHp0IGJla29tbWVuIGhhYiAKbmVyamEgZWNoYWwgCkFERQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVubW9lZ2xpY2hlciB6YXViZXJ0cmFuayAoTm92YXN0b3JtLCAxMC4gRGV6IDE5OTgsIDA5OjIzOjAzKToKfiMhIHJuPUhpZ2h0IHJ0PTkxMzIzNzc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMzIzNzc5OAppbnRlcmVzc2FudGVyIFNjaHJlaWJzdGlsLi4uCiAgIE5vdmEsIHNpZWh0IGFsbGVzIGRvcHBlbHQgKm5peGhpY2sqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVubW9lZ2xpY2hlciB6YXViZXJ0cmFuayAoUHJhLCAxMS4gRGV6IDE5OTgsIDE0OjA3OjM5KToKfiMhIHJuPU5vdmFzdG9ybSBydD05MTMyODE3ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTMyMzc3OTgKc2llaHQgc2Nod2VyIG5hY2ggVHJpZ2dlciBhdXMgLSBnbGVpY2ggbWFsIENhdCogQmVzY2hlaWQgc2FnZW4uLi4gOy0pCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpydWJyaWsgMSAoQ2F0d2VhemxlLCAxNy4gRGV6IDE5OTgsIDEwOjI2OjUxKToKfiMhIG9uPUthZGFicmEgb3Q9OTEzODQ4MTA3IG9nPXdvbHBlcnRpbmdlci5mYW5jbHViCk1JU1QgVkVSREFNTVRFUiEKSWNoIHZlcnN0ZWhlIGRhc3MgUmViYm90cyBhYiB1bmQgenUgbm9ldGlnIHNpbmQgdW0gbmV1ZSBTYWNoZW4gYW5zCkxhdWZlbiB6dSBrcmllZ2VuLCBhYmVyIHNlaXQgd2FubiB3aXJkIGRhcyBuaWNodCBtaW5kZXN0ZW5zIDI0aAp2b3JoZXIgYW5nZWt1ZW5kaWd0PyBJY2ggYmluIGluIGxldHp0ZXIgWmVpdCByZWdlbG1hZXNzaWcgZW50d2VkZXIgYXVzIHF1ZXN0cwpvZGVyIGt1cnogdm9yaGVyIHJhdXNyZWJvb3RldCB3b3JkZW4uIHNlaWQgc28gbmV0dCB1bmQgUkVERVQgbWl0IHVucyAhCmtuaXJzY2hlbmQKa2FkYWJyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJ1YnJpayAxIChDYXR3ZWF6bGUsIDE3LiBEZXogMTk5OCwgMTA6MzE6NTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxMzg5MDQxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMzg5MDQxMQpBbHNvIGFuZ2VrdWVuZGlndCB3YXIgZGVyIFJlYm9vdCwgaWNoIG1vZWNodGUgRGlyIGhpZXIgYXJ0aWtlbCAxMyBpbiBkZXIKUnVicmlrICdiZWthbm50bWFjaHVuZ2VuJyBhbnMgSGVyeiBsZWdlbi4KMjQgU3R1bmRlbiB2b3JoZXIgd2FyIGRhcyB6d2FyIG5pY2h0LCBhYmVyIGljaCBtdWVzc3RlIGxhbmdlIHVlYmVybGVnZW4sCndhbm4gZGFzIGplbWFscyBzbyBnZXdlc2VuIHdhZXJlLiBJY2ggZnVlcmNodGUgRHUgd2lyc3QgRGljaCBkYW1pdCBhYi0KZmluZGVuIG11ZXNzZW4sIGRhc3MgZGFzIERVIGRhcyBNRyBuaWNodCBqZWRlc21hbCB3aWVkZXIgc28gdm9yZmluZGVzdCwKd2llIER1IGVzIHZlcmxhc3NlbiBoYXN0LiAKV2lyIGJlbXVlaGVuIHVucyBuYXR1ZXJsaWNoIGRpZSBOZXVzdGFydHZvcmhlcnNhZ2VuIHp1IG9wdGltaWVyZW4sIGxlaWRlciAKbWFuZ2VsdHMgZGEgdGVpbHdlaXNlIG5vY2ggYW4gZWluaWdlbiB0ZWNobmlzY2hlbiBEZWZpeml0ZW4uCkFrdHVlbGxlIFJlYm9vdC1QcmVkaWN0aW9uOiBjYS4gNGgKQWt0dWVsbGUgQ3Jhc2gtUHJlZGljdGlvbjogY2EuIDAuMDFzCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcnVicmlrIDEgKEthZGFicmEsIDE3LiBEZXogMTk5OCwgMjI6NTQ6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxMzg5MDcxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxMzg5MDQxMQpBY2ggY2F0IDspCkljaCB3ZWlzcyBkYXNzIGRlciByZWVib290IHVtIDE2IHVociBpbiBkZXIgbXBhIHdhciA7KSBhYmVyIGljaCBmaW5kZSBkYXMgenUgCmt1cnpmcmlzdGlnLiBGcnVlaGVyIHd1cmRlIDI0IGggdm9yaGVyIGFuZ2VrdWVuZGlndCwgZGFzIGlzdCBvayA7KQpVbmQgenUgMiAuLi4uIGljaCBiaW4gbGVpZGVyIGZhc3QgamVkZW4gdmVyZGFtbXRlbiBhYmVuZCBpbSBNRyAuLi4KYWxzbyBzY2hvbiByZWdlbG1hZXNzaWcgOykgRGFzIENyYXNocyBpbiBkZXIgUmVnZWwgbmljaHQgYW5rdWVuZGJhciBzaW5kIC4uLgp3aWxsc3QgZHUgbWVpbmUgSW50ZWxsZW56IGJlbGVpZGlnZW4gPzspKSkpKSkpKSkgIEVyemFlaGx0cyBlaW5mYWNoIG51ciAKZnJ1ZWhlciBhdWYgZGFzcyBtYW4gbmljaHQgbXVlaHNhbSBhdXNydWVzdHVuZyB6dSBlaW5lbSBnYW56IGJlc3RpbW10ZW4KendlY2tlIHN1Y2hlLCBudXIgdW0gYW0gbmFlY2hzdGVuIGFiZW5kIHdpZWRlciBvaG5lIGRhIHp1c3RlaGVuIDspCkRpZSB3dWVuc2NodCBzaWNoIGthZGFicmEgenUgV2VpaG5hY2h0ZW4gOykKYWhlbSBEaWVzIHN0YXR0IERpZSA7KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJ1YnJpayAxIChMdWcsIDE4LiBEZXogMTk5OCwgMDM6MDM6NTEpOgp+IyEgcm49S2FkYWJyYSBydD05MTM5MzUyNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTM4OTA0MTEKaGloaSwKCmRlciBtaXQgIndpbGxzdCBEdSBtZWluZSBJbnRlbGxlbnogYmVsZWlkaWdlbiIgd2FyIGVjaHQgZ3V0IDspCgpFaW5lbiBQbGFzdGlrZWluc2F0eiBnZWdlbiBaYWVobmVrbmlyc2NoZW4gYmFzdGVsbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUamEgS29vbWkuLi4gKEx1ZywgMjAuIERleiAxOTk4LCAwMDo0NDowOCk6CgpJY2ggYmVrYW0gZ2VyYWRlIGRpZXNlcyBoaWVyIHp1Z2VzcGllbHQ6CgogICAgIGVudHNjaHVsZGlndCBiaXR0ZSBkYXNzIGljaCB3aWVkZXIgaW52aXMgZXR3YXMgc2NocmVpYmUsIGFiZXIgS29vbWkgd2lyZAppbiBadWt1bmZ0IG5pY2h0IG1laHIgc2ljaHRiYXIgYXVmdHJldGVuLgoKV2FydW0/IEF1ZmdydW5kIHVudWViZXJicnVlY2tiYXJlciBEaWZmZXJlbnplbiBtaXQgZ2V3aXNzZW4gU2VoZXJuIChLZXksIEx1ZywKU2hhcmlhICYgQ28pLCBkaWUgbWljaCBzdGFlbmRpZyB1bmQgYmVpIGplZGVyIEdlbGVnZW5oZWl0IGF1ZiBtaWNoIGxvc2dlaGVuCnVuZCBtaWNoIGJlbGVpZGlnZW4uIFNoYW5uYXJhIGlzdCBkYSBhcm0gZHJhbiwgd2VpbCBzaWUgc2ljaCBuaWNodCB3ZWhyZW4Ka2FubiwgaWNoIGthbm4genVtaW5kZXN0ZW5zIHVuc2ljaHRiYXIgYmxlaWJlbi4KClRoYXQgd2FzIHRoZSBtb21lbnQsIERFQVRIIGRlY2lkZWQgaGUgaGFkIGEgaG9iYnkKCkRhcyBmaW5kZSBpY2ggamEgYXVlc3NlcnN0IGludGVyZXNzYW50LiBLb21pc2NoIGRhcyBpY2ggYmlzIGViZW4gS29vbWksClNoYW5uYXJhIHVuZCBUcnVnIGlnbm9yaWVydCBoYWIuIFZvciBsYXV0ZXIgaWdub3JpZXJlbiBtdXNzIGljaCBEaXIgZGF1ZXJuZAp6dWdlc2V0enQgaGFiZW4uCgpJY2ggZmluZGUgc293YXMgbmljaHQgbHVzdGlnLiBXZW5uIER1IG1pY2ggQXJzY2hsb2NoIG5lbm5zdCBldGMuIG1laW5ldHdlZ2VuLAphYmVyIEx1ZWdlbiB1ZWJlciBtaWNoIHZlcmJyZWl0ZW4sIGtvdHp0IG1pY2ggZ2VsaW5kZSBnZXNhZ3QgYW4uCgpOdW4gZ3V0LiBLb29taSBoYXQgc2ljaCBqYSBzY2hvbm1hbCBtaXQgbWlyIGFuZ2VsZWd0LCBEdSBlcmlubmVyc3QgRGljaApzaWNoZXJsaWNoLiBIYWV0dGUgRGlyIGVpbmUgV2FybnVuZyBzZWluIHNvbGxlbi4gV2VubiBQYXRyeW4gc2ljaCBuaWNodApzY2h1ZXR6ZW5kIHZvciBEaWNoIGdlc3RlbGx0IGhhZXR0ZSwgZGFubiB3YWVyZSBkYXMgd29obCBkb2NoIGF1ZiBkaWUgZWluZQpvZGVyIGFuZGVyZSBBcnQgZXJsZWRpZ3QuIEhhc3Qgd29obCBuaXggZ2VsZXJudCwgZWlubWFsIGRlbiBLdWVyemVyZW4gemllaGVuCnJlaWNodCBEaXIgbmljaHQ/CgpGZWluLCBEdSBrb21tc3QgbWlyIGhpbnRlbnJ1bSwgaWNoIERpciBoaWVybWl0IHZvZWxsaWcgb2ZmZW4uCgpEYW1pdCBEdSBuaWNodCBsdWVnZW4gbXVzc3QsIGlnbm9yaWVyIGljaCBEaWNoIGViZW4gbmljaHQgbWVoci4gV2lyIHdlcmRlbgpzaWNoZXJsaWNoIHZpZWwgU3Bhc3MgYWYgZGVuIEthbmFlbGVuIG1pdGVpbmFuZGVyIGhhYmVuIHVuZCB2ZXJzdWNocyBydWhpZyBtaXQKS29vbWkuIER1IHZlcmdyZWlmc3QgRGljaCBqYSBhdWNoIGFuIExldXRlbiwgZGllIHNpY2ggaW0gR2VnZW5zYXR6IHp1IG1pcgpuaWNodCByaWNodGlnIHdlaHJlbiBrb2VubmVuLiBJTUhPIGhhZXR0ZSBtYW4gRGljaCBsYWVuZ3N0IGxvZXNjaGVuIHNvbGxlbi4KCkVnYWwsIGhvZmZlbnRsaWNoIHdpcmRzIGZ1ZXIgYWxsZSBsdXN0aWcuClZpZWwgU3Bhc3Mgd3VlbnNjaHQ6CkRlciBndXRlLCBhbHRlIE9ua2VsIEx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRqYSBLb29taS4uLiAoU2hhcmlhLCAyMC4gRGV6IDE5OTgsIDAxOjE1OjI3KToKfiMhIHJuPUx1ZyBydD05MTQxMTQ2NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxMTQ2NDgKYWVobSB3byBrb21tdCBkYXMgaGVyID8gaWNoIGthbm4gbWljaCBuaWNodCBlcmlubmVybiB1bnVlYmVyd2luZGJhcmUKZGlmZmVyZW56ZW4gbWl0IFNoYW5uYXJhIG9kZXIgc29uc3QgaXJnZW5kZWluZW0gdW53aWNodGlnZW4gWndlaXRpIHZvbiBlaW5lbQp2b2xsa29tbWVuIHVud2ljaHRpZ2VuIE1hZ2llciBnZWhhYnQgenUgaGFiZW4gLi4uLi4uCgoKU2hhcmlhIGhhdCBkb2NoIG5pZSBtaXQgaXJnZW5kd2VtIFN0cmVpdCwgbWFnIGtlaW5lIEthdHplbiwgdW5kIHNjaG9uIGdhcgprZWluZSBkaWUgZGVuIFNjaHdhbnogZWluemllaGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUamEgS29vbWkuLi4gKEx1ZywgMjAuIERleiAxOTk4LCAwMToyMTo0Nik6Cn4jISBybj1TaGFyaWEgcnQ9OTE0MTE2NTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpXbyBkYXMgaGVya29tbXQ/CgpIYWIgaWNoIHp1Z2VzcGllbHQgYmVrb21tZW4gOykKCkFsc28gaWNoIGhhYnMgbmljaHQgdmVyZmFzc3QgOykKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUamEgS29vbWkuLi4gKFNoYXJpYSwgMjAuIERleiAxOTk4LCAwMToyNDoxMik6Cn4jISBybj1MdWcgcnQ9OTE0MTE2OTA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CmljaCBmaW5kZSBlcyB1ZWJyaWdlbmRzIHZvbGxrb21tZW4ga29lc3RsaWNoIHVuZCBhbXVlc2FudCwgd2llIHdlbmlnIFNwYXNzCm1hbmNoZSBQZXJzb25lbiBoaWVyIGltIE11ZCwgd2VsY2hlcyBmdWVyIG1pY2ggaW1tZXJub2NoIGVpbiBTUElFTCBpc3QsCnZlcnN0ZWhlbiAuLi4gCgoKU2hhcmlhLCBrYW5uIG51cm5vY2ggZGVuIEtvcGYgc2NodWV0dGVsbiwgaGF0IGF1Y2ggbm9jaCBLaW5kZXIgdW0gZGllIHNpZSBzaWNoCmt1ZW1tZXJuIG11c3MuLi4gdW5kIG1hZyBkaWUgTVBBIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGphIEtvb21pLi4uIChMdWcsIDIwLiBEZXogMTk5OCwgMDE6MjU6MDQpOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDExNzA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OAoKRWluIGJpc2NoZW4gU3Bhc3MgbXVzcyBzZWluLi4uCgpUcmFlbGxlcgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRqYSBLb29taS4uLiAoU3RpbmcsIDIwLiBEZXogMTk5OCwgMDE6MjU6MzMpOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDExNzA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApKbywgZGFzIG1pdCBkZW0gU3Bhc3Mgc3RpbW10IGFsbGVyZGluZ3MuLi4KCgpTdGluZywgZGVyIHNlaW5lIEtvbnNlcXVlbnplbiBkcmF1cyB6aWVoZW4gd2lyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGphIEtvb21pLi4uIChXdXIsIDIwLiBEZXogMTk5OCwgMDI6MzQ6MzgpOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDExNzA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApEdSBrdWVtbWVyc3QgRGljaCB1bSBEZWluZSBLaW5kZXI/IFdvdywgaWNoIGdsYXViIGRhIGhhYmUgaWNoIGV0d2FzIHZlcnBhc3N0LgoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUamEgS29vbWkuLi4gKFRyYW5jZWZlYXIsIDIwLiBEZXogMTk5OCwgMDI6MzU6NTUpOgp+IyEgcm49V3VyIHJ0PTkxNDEyMTI3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApLbGFyLiBUYWV0ZSBpY2ggYXVjaCB3ZW5uIHdlbGNoZSBkYSB3YWVyZW4gOi0pCgp0ZgpQUyBraW5kZXI/IHdhcyBmdWVyIGtpbmRlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRqYSBLb29taS4uLiAoTHVnLCAyMC4gRGV6IDE5OTgsIDAzOjM2OjE0KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTE0MTIxMzU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpLaW5kZXI/CgpLYW5uIG5pY2h0IHNlaW4sIGRpZSBoYWV0dGUgTWFoYXRtYSBsYWVuZ3N0IGdlZnJlc3Nlbi4uLgoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUamEgS29vbWkuLi4gKE1haGF0bXUsIDIwLiBEZXogMTk5OCwgMTU6Mzk6MDQpOgp+IyEgcm49THVnIHJ0PTkxNDEyNDk3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApNYWhhdG1hIGlzdCBhbHQsIGdyYXUgdW5kIHphaG5sb3MgZ2V3b3JkZW4uIFVuZCBHbG9pbiBtdXNzIGRpZSBLaW5kZXIgYXVjaAppbW1lciBzdHVuZGVubGFuZyBrb2NoZW4gLi4uCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGphIEtvb21pLi4uIChLb29taSwgMjAuIERleiAxOTk4LCAxNjo1NTo1OSk6Cn4jISBybj1MdWcgcnQ9OTE0MTE0NjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkdyYXR1bGF0aW9uIHp1bSBSdWZtb3JkLgoKTWFsIHNlaGVuLCB3YXMgZGllIFp1a3VuZnQgZnVlciBkaWNoIGJyaW5ndCwgTHVnLgoKS29vbWkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLi4uIGFuZCB0aGUgQWxpZW5zIHNlbnQgYW4gYW5kcm9pZCBkb3duIHRvIEVhcnRoLCB0byBzbG93IGRvd24gbWFua2luZCdzDQogICAgZGV2ZWxvcG1lbnQuLi4gYW5kIHRoZXkgbmFtZWQgaXQgJ0JpbGwgR2F0ZXMnLg0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRqYSBLb29taS4uLiAoVGVkZHksIDIwLiBEZXogMTk5OCwgMTc6NTE6NDEpOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDExNzA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApXaWUgamV0enQsIFNwaWVsPwoKVGVkZHksIHZlcnN0ZWh0IG5pY2h0IHdhcyBTaGFyaWEgbWVpbmVuIGtvZW5udGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRqYSBLb29taS4uLiAoU2hhcmlhLCAyMC4gRGV6IDE5OTgsIDIxOjMxOjU2KToKfiMhIHJuPVRlZGR5IHJ0PTkxNDE3NjMwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApuYSBpcyBkb2NoIGtsYXIgLi4uIGljaCBtZWluZSBEYWVzIERhZSdtYXIgZGFzIFNwaWVsIGRlciBIYWV1c2VyIC4uLiB3YXMKc29uc3QuLi4uCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhc3Qga29zdGVubG9zIHN1cmZlbi4uLiAoR25vbWUsIDIwLiBEZXogMTk5OCwgMjI6MTI6MDMpOgpodHRwOi8vd3d3LnRvbW9ycm93LmRlL3JhaG1lbl9tb2JpbHRvbS5odG1sCgprdXJ6IHVuZCBidWVuZGlnIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhc3Qga29zdGVubG9zIHN1cmZlbi4uLiAoTmFjaHR3aW5kLCAyMC4gRGV6IDE5OTgsIDIyOjQ0OjAwKToKfiMhIHJuPUdub21lIHJ0PTkxNDE5MTkyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDE5MTkyMwptJ3Mgbm9jaG1hbCBldHdhcyBkZXV0bGljaGVyIHp1IHNhZ2VuOgoKTW9iaWxDb20gYmlldGV0IGFiIGRlbSAyMy4gZGllc2VzIE1vbmF0cyBmdWVyIDc3RE0vTW9uYXQKdm9uIDE5aCBiaXMgN2ggd2Vya3RhZ3MgdW5kIGRhcyBHQU5aRSBXb2NoZW5kZW5lIFBQUC1adWdhZW5nZSBhbi4gClBhdXNjaGFsLiBJbmtsdXNpdmUgVGVsZWZvbmtvc3Rlbi4gVW5kIHNjaGVpbmJhciBvaG5lIGplZGUKWmVpdCBvZGVyIE1lbmdlbmJlc2NocmFlbmt1bmcuIEljaCBrYW5uJ3MgendhciBhdWNoIG5pY2h0IGZhc3NlbiwgYWJlcgp3ZW5uJ3Mgc28gd2FlciAqc2Nod2Flcm0qCgpXZXIgYWxzbyB3aWUgaWNoIGhvaGUgM3N0ZWxsaWdlIFRlbGVmb25rb3N0ZW4gaGF0LCB3aXJkIHNpY2ggCmRhZnVlciBfdmllbGxlaWNodF8gaW50ZXJlc3NpZXJlbiA6KQoKTmFjaHR3aW5kLgoKUFM6IFdlciBkaWVzZW4gU2VydmljZSBkaWVzZW4gTW9uYXQgc2Nob24gbnV0enQsIHphaGx0IGRhbm4gCmFsbGVyZGluZ3MgZGllIDc3ZG0gc2Nob24gZnVlciBkZW4gUmVzdCBkZXMgSmFocmVzLCBtYW4gc29sbHRlCmFsc28gZWhlciBkb2NoIGVyc3QgenVtIEphaHJlc2FuZmFuZyBlaW5zdGVpZ2VuLgoKUFBTOiBOZWluLCBpY2ggYXJiZWl0ZSBuaWNodCBiZWkgZGVyIE1vYmlsQ29tIG9kZXIgc293YXMsIGFiZXIKaWNoIGhhYiBkZXIgVGVsZWtvbSBsYW5nZSBnZW51ZyB0YXVzZW5kZSB2b24gTWFyayBpbiBkZW4gUmFjaGVuIApnZXNjaG1pc3Nlbi4gVG9kIGRpZXNlbSBTYWZ0bGFkZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhc3Qga29zdGVubG9zIHN1cmZlbi4uLiAoQW5hdG9sLCAyMC4gRGV6IDE5OTgsIDIzOjU3OjE3KToKfiMhIHJuPU5hY2h0d2luZCBydD05MTQxOTM4NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxOTE5MjMKVWViZXJ0cmFndW5nc3JhdGVuenVzaWNoZXJ1bmc/IEZ1ZXIgMjAwIEJ5dGVzIGplIFN0dW5kZSB6YWhsZSBJQ0gga2VpbmUgNzcKRE0uLi4gRHUgZXR3YT8gOikKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGphIEtvb21pLi4uIChMdWcsIDIwLiBEZXogMTk5OCwgMjM6NTg6MTQpOgp+IyEgcm49S29vbWkgcnQ9OTE0MTcyOTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpSdWZtb3JkPwoKSGFzdCBEdSBlY2h0IG5pY2h0IG5vZXRpZywgb2hqYSBEdSBkcm9oc3QgbWlyIG1hbCB3aWVkZXIuCkljaCBzZWggZ2VybmUgenUsIHdhcyBkaWUgWnVrdW5mdCBmdWVyIERpY2ggYnJpbmd0LgoKS2ljaGVybmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBydWJyaWsgMSAoS2V5LCAyMS4gRGV6IDE5OTgsIDA4OjQ3OjAxKToKfiMhIHJuPUthZGFicmEgcnQ9OTEzOTM1MjU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTEzODkwNDExCkFlaG0gbmUgMjRoIFJlYm9vdCBhbmt1ZW5kaWd1bmc/CkFsc28gaWNoIGJpbiBzY2hvbiBlaW5pZ2UgWmVpdCBpbSBNRywgYWJlciBzb3dhcyBoYWIgaWNoIG5vY2ggbmV0IGdlaG9lcnQgLi4uLgpBdXNzZXIgdm9uIFNwaWVsZXJuIGF1cyBTY2h3ZXJ6IC4uLiA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGphIEtvb21pLi4uIChLZXksIDIxLiBEZXogMTk5OCwgMDg6NDk6NTEpOgp+IyEgcm49THVnIHJ0PTkxNDExNDY0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApKdWNodSwgaWNoIGJpbiBlaW5lciBkZXIgTWl0c2NodWxkaWdlbiAsKQpLb29taSBudXIgc28gYWxzIEVyaW5uZXJ1bmcgLi4uIEtlaW5lciBhdXNzZXIgR3JpbW1pIHVuZCBhbmRlcmVuIEVyemllcyBoYXQKbWVpbmUgQXJ0aWtlbCB6dSB2ZXJsZWdlbiwgdm9yIGFsbGVtIG5pY2h0IEFydGlrZWwgZGllIGR1cmNoYXVzIHJpY2h0aWcgc2luZAp1bmQga2VpbiBzY2htYXJybiwgZGFzIGljaCBEaWNoIGRlc3dlZ2VuIGFuc2NobmF1dHplbiBzb2xsdGVzdCBzZWxic3QgRHUKdmVyc3RlaGVuLgpBbnNvbnN0ZW4gaGFiIGljaCBzb3dlaXQgaWNoIHdlaXNzIG5pY2h0IGVpbiBlaW56aWdzdGVzIEdlc3ByYWVjaCBnZWZ1ZWhydCBtaXQKZGlyLgpBdXNzZXIgZGFzIGljaCBkaXIgc2Nob25tYWwgZ2VzYWd0IGhhYiBkYXMgRHUgRGljaCBuaWNodCBzbyB3aWNodGlnIG5laG1lbgpzb2xsc3QuClVuZCBtaXQgU2hhbm5hcmEgaGFiIGljaCBhdWNoIG5peCBhbSBIdXQuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGphIEtvb21pLi4uIChLZXksIDIxLiBEZXogMTk5OCwgMDg6NTE6MTcpOgp+IyEgcm49S29vbWkgcnQ9OTE0MTcyOTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CiplaW5lIEtyaXN0YWxsa3VnZWwgYmVzY2h3b2VyZW5kKgpJY2ggc2VoZSAuLi4uLiBJY2ggc2VoZSAuLi4uIEVpbmUgRmxhc2NoZSBCaWVyIQpQcm9zdCBMdWdlcmwgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUamEgS29vbWkuLi4gKEtleSwgMjEuIERleiAxOTk4LCAwODo1Mzo1MSk6Cn4jISBybj1LZXkgcnQ9OTE0MjMwMTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkFlaCBzb3JyeSBoYXR0ZSBub2NoIHdhcyB2ZXJnZXNzZW4gLi4uLgpXaXIgaGF0dGVuIG5vY2ggZWluZSBVbnRlcmhhbHR1bmcgLi4uCkR1IGhhdHRlc3QgbWlyIGJlaSBuZW0gTGludXggcHJvYiBnZWhvbGZlbiAoZ2xhdWIgaWNoKQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUamEgS29vbWkuLi4gKFBhcmFjZWxzdXMsIDIxLiBEZXogMTk5OCwgMDk6NTQ6NTUpOgp+IyEgcm49S2V5IHJ0PTkxNDIzMDQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApNdXNzIGFuIGRlciBKYWhyZXN6ZWl0IGxpZWdlbiwgZGFzcyBoaWVyIGFsbGUgYW0gUmFkIGRyZWhlbiA7KQoKUGFyYS0+c2NobWFycm4oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXN0IGtvc3RlbmxvcyBzdXJmZW4uLi4gKEppbWRpZ3JpeiwgMjEuIERleiAxOTk4LCAxNToyNjowNCk6Cn4jISBybj1OYWNodHdpbmQgcnQ9OTE0MTkzODQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTkxOTIzCgo3NywtIGZ1ZXIgRGF1ZXJiZXNldHp0emVpY2hlbiBzaW5kIHZlcm11dGxpY2ggenV2aWVsLgoKRGllIE5ldHphbmJpbmR1bmcgYnp3LiBkZXIgQmFja2JvbmUgc29sbHRlCndvaGwgb2sgc2VpbiAoMTI2TWIsIDUxNk1iIGdlcGxhbnQgKGJhY2tib25lKSwgZGVyIERFLUNJWApBbnNjaGx1c3Mgd2Vpc3MgaWNoIG5lZCkuCkFiZXIgZGFzIGVzIHNvbmRlcmxpY2ggdmllbGUgRWlud2FobHBvcnRzIGdlYmVuCndpcmQgYmV6d2VpZmxlIGljaC4uLgoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGYXN0IGtvc3RlbmxvcyBzdXJmZW4uLi4gKERlZXBibHVlLCAyMS4gRGV6IDE5OTgsIDE4OjI5OjI5KToKfiMhIHJuPUFuYXRvbCBydD05MTQxOTgyMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxOTE5MjMKRHUga2FubnN0IGphIGRhcyBnYW56ZSBhdWNoIGVyc3RtYWwgdmlhIENCQyBhdXNwcm9iaWVyZW4sIGJldm9yIER1IGRlbgpNb25hdHN0YXJpZiB3YWVobHN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRqYSBLb29taS4uLiAoVHdpbnNlbiwgMjEuIERleiAxOTk4LCAyMTo0MToyNSk6Cn4jISBybj1LZXkgcnQ9OTE0MjMwMTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4Ck5pY2h0IGFscyBSZSBmdWVyIEtleSBzb25kZXIgYWxzIEJvZXNlciBCcmllZiBmdWVyIEtvb21pCkFsc28gaWNoIGhhYmUgZ2VzdGVybiBBYmVuZCBlcmZhaHJlbiB3YXMgZHUgbWl0IFJlYXBlciBnZW1hY2h0IGhhc3QgdW5kIHdlbm4KZWluIHNvb29vb29vIGRvb2ZlciBNYWdpZXIgd2llIGR1IGVzIGJpc3QgZnVlciBzb3dhcyBuaWNodCBnZWxvZXNjaHQgd2lyZCBkYW5uCndlaXNzIGljaCBuaWNodCB3ZWdlbiB3YXMgbWFuIGdlbG9lc2NodCB3ZXJkZW4gc29sbHRlIC4uLgoKRGljaCBoYXNzZW5kIFR3aW5nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGphIEtvb21pLi4uIChQYWRyZWljLCAyMS4gRGV6IDE5OTgsIDIzOjE3OjM0KToKfiMhIHJuPVR3aW5zZW4gcnQ9OTE0Mjc2NDg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4Cldlbm4gSWhyIGVpbiBQcm9ibGVtIG1pdCBLb29taSBoYWJ0LCBkYW5uIGtsYWVydCBkYXMgcGVyc29lbmxpY2guCldlbm4gSWhyIG1laW50LCBkYXMgc2llIHNpY2ggaW4gZWluZW0gc3BlemllbGxlbiBGYWxsIGZhbHNjaCB2ZXJoYWx0ZW4gaGF0LApkYW5uIGthbm4gc2ljaCBkZXIgX2JldHJvZmZlbmVfIHZlcnRyYXVlbnN2b2xsIGFuIEhpZ2hsYW5kZXIgd2VuZGVuLiBBYmVyCnZlcmJyZWl0ZXQgZG9jaCBiaXR0ZSBuaWNodHMgYWxhICJ3ZW5uIGljaCBkYXMgcmljaHRpZyBzZWhlIi4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWRyZWljCgpQLlMuOiBkYXMgaGF0IGpldHp0IG5pY2h0cyBtaXQgZWluZXIgU3RlbGx1bmduYWhtZSB6dW0ga29ua3JldGVuIEZhbGwgenUgdHVuCihkZW4gaWNoIG5pY2h0IG5hZWhlciBrZW5uZSksIHNvbmRlcm4gdmllbCBtZWhyIG1pdCBkZW0gVW1nYW5nIGhpZXIgaW4gZGVyCm1wYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRqYSBLb29taS4uLiAoTGlsbGVicm9yLCAyMi4gRGV6IDE5OTgsIDAwOjE2OjMyKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTE0MjgyMjU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkFlaG0gUGFkcmVpYywgCm5pY2h0cyBnZWdlbiBIaWdobGFuZGVyLCBhYmVyIGRhIGtvZW5udCBpY2ggbWljaCBhdWNoIGdsZWljaCBhbiBtZWluIEhhdXN0aWVyCndlbmRlbiwgZGllIFJlYWt0aW9uIHdhZXJlIGRpZSBnbGVpY2hlLiBPZGVyIGxpZWd0IGhpZXIgc28gd2VuaWcgaW0gQXJnZW4sCmRhc3MgbWFuIG5pY2h0cyB2b24gaWhtIGhvZXJ0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGphIEtvb21pLi4uIChTaGFyaWEsIDIyLiBEZXogMTk5OCwgMDA6MjQ6MTUpOgp+IyEgcm49TGlsbGVicm9yIHJ0PTkxNDI4NTc5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApob2VydCBzaWNoIGFyZyBuYWNoIGRlbSBydWYgbmFjaCBuZW0gbmV1ZW4gU2hlcmlmZiBhbiAuLi4uLgoKQ2F0ID8gOi0pKQoKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGphIEtvb21pLi4uIChKaWRkdSwgMjIuIERleiAxOTk4LCAwMDoyNTowOCk6Cn4jISBybj1QYWRyZWljIHJ0PTkxNDI4MjI1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApXaWVzbyAic2llIiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUamEgS29vbWkuLi4gKEx1ZywgMjIuIERleiAxOTk4LCAwMDozNzo0Mik6Cn4jISBybj1LZXkgcnQ9OTE0MjMwMjc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpBY2hqYSwKClBST09PT1NUIEtFWSEKCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGphIEtvb21pLi4uIChMdWcsIDIyLiBEZXogMTk5OCwgMDA6NDE6NDIpOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDI4NjI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OAoKSmFhYSwKCgpDYXR0eSBmb3IgU2hlcmlmZiEKCk1pdCBGYWVobmNoZW4gd2VkZWwgKGhhYiBub2NoIGVpbnMgZGF2b24pCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVGphIEtvb21pLi4uIChHcmltbWJvcm4sIDIyLiBEZXogMTk5OCwgMDA6NDI6NDkpOgp+IyEgcm49THVnIHJ0PTkxNDI4NzMwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApXaWUsIENhdCBpc3QgZG9jaCBzY2hvbiBTaGVyaWZmPwoKKkZhZWhuY2hlbiB3ZWRlbCwgQnV0dG9uIGFuc3RlY2sqCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRqYSBLb29taS4uLiAoTHVnLCAyMi4gRGV6IDE5OTgsIDAwOjQzOjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MTQyODczNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxMTQ2NDgKCkFlaCwKCgpoYXN0ZSBub2NoIGVpbiBDYXQtQnV0dG9uIGZ1ZXIgbWljaCBHcmltbWk/CgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRqYSBLb29taS4uLiAoVHJhbmNlZmVhciwgMjIuIERleiAxOTk4LCAwMDo0Mzo1OCk6Cn4jISBybj1TaGFyaWEgcnQ9OTE0Mjg2MjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkFjaHdhcyBuaWNodCBzb24gd2FzY2hsYXBwZW4uIGJlaSBkZXIgbXVkZ3JvZXNzZSBicmF1Y2h0IG1hbiBlaW5lbiBkZXIKZHVyY2hncmVpZnQuIGRhcnVtOiBoYXRlIGZvciBzaGVyaWZmISBkYXMgZ2lidCBlaW4gcGFhciB3b2NoZW4gdHJvdWJsZSB1bmQKZGFubiBpc3QgcnVoZQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRqYSBLb29taS4uLiAoTHVnLCAyMi4gRGV6IDE5OTgsIDAwOjQ1OjIxKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTE0Mjg3NDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpLbGFyIGlzdCBSdWhlLAoKZGVubiBlcyBnaWJ0IGtlaW5lIFNwaWVsZXIgbWVociA7KQoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUamEgS29vbWkuLi4gKEdyaW1tYm9ybiwgMjIuIERleiAxOTk4LCAwMDo0NTo1MCk6Cn4jISBybj1MdWcgcnQ9OTE0Mjg3NTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkRhIHN0YW5kICJIYXRlIiwgbmljaHQgIkdyaW1tYm9ybiIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRqYSBLb29taS4uLiAoVHJhbmNlZmVhciwgMjIuIERleiAxOTk4LCAwMDo0NjowNyk6Cn4jISBybj1MdWcgcnQ9OTE0Mjg3NTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CmZhbHNjaC4gZXMgd3VlcmRlbiB2aWVsbGVpY2h0IDEwMCBnZWhlbi4gbmEgdW5kPyAxMDAgdm9uIHdlaXQgdWViZXIgMTAwMDAgZGFzCmlzdCB1bnRlciBlaW5lbSBwcm96ZW50IGRhcyBrYW5uIGRhcyBtdWQgZ3V0IGFiLi4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGphIEtvb21pLi4uIChMdWcsIDIyLiBEZXogMTk5OCwgMDM6MDY6NTApOgp+IyEgcm49UmVhcGVyIHJ0PTkxNDI4NzU5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OAoKT2VoLAoKCmRhcmYgaWNoIG1pdCBmYXVsZW4gR3Vya2VuIG5hY2ggaWhtIHdlcmZlbj8KCgpXZW5uIERVIGRlbSBHYW1tZWwgaGV1dGUgbmljaHQgZGllIEdyaWZmZWwgb3BmZXJzdCwgaG9sdCBlciBzaWNoIE1vcmdlbiBkaWUKR3Vya2UhCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGphIEtvb21pLi4uIChLZXksIDIyLiBEZXogMTk5OCwgMTA6MTc6NDApOgp+IyEgcm49U2hhcmlhIHJ0PTkxNDI4NjI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApDQVRUWSBGT1IgU0hFUklGRiEhISBKQUFBQSEhIQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUamEgS29vbWkuLi4gKEtleSwgMjIuIERleiAxOTk4LCAxMDoyMjo1OSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTkxNDI4NzQzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OAoqa2ljaGVyKiBBY2gga29tbSwgSGF0ZSBpc3QgZG9jaCBuZXR0IDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRqYSBLb29taS4uLiAoUGFyYWNlbHN1cywgMjIuIERleiAxOTk4LCAxMDozMDo0Nik6Cn4jISBybj1LZXkgcnQ9OTE0MzIxODYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4ClNvbiBRdWF0c2NoLgpIb2JvIGZvciBTaGVyaWZmIQoKUGFyYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRqYSBLb29taS4uLiAoS2V5LCAyMi4gRGV6IDE5OTgsIDEwOjMxOjQ3KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTE0MzIyNjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4Cktvb21pIGZvciBTaGVyaWZmISA7KQoKS2V5IG1hY2h0IEJvZWNrZSB6dSBHYWVydG5lcm4gLCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRqYSBLb29taS4uLiAoQXpyYWVsLCAyMi4gRGV6IDE5OTgsIDEwOjQ1OjI3KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTE0MzIyNjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkdlbmF1IFBhcmFjZWxzdXMsIGRhbm4gd2lyZCB3b2hsIHdpcmtsaWNoIGVuZGxpY2ggZHVyY2hnZWdyaWZmZW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAKQXpyYWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUamEgS29vbWkuLi4gKENhdHdlYXpsZSwgMjIuIERleiAxOTk4LCAxMTowMDo1NCk6Cn4jISBybj1LZXkgcnQ9OTE0MzIxODYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4ClZlcmdlc3N0IGVzLgpCaW4gaWNoIGRlcHBlcnQ/IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUamEgS29vbWkuLi4gKFphcm5peWEsIDIyLiBEZXogMTk5OCwgMTE6MDQ6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxNDMyNDQ1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApobW0gaWNoIGhvZmYsIGRhc3MgaXN0IG5lIHJldGhvcmlzY2hlIEZyYWdlLCBDYXR0eSA6KQoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVyaWNodCB1ZWJlciBNZyAoQ2hyaXNzeSwgMjIuIERleiAxOTk4LCAxMToxODo0Mik6CkVzIHdpcmQgZWluZSBQZXJzb24gZ2VzdWNodCBkaWUgbHVzdCB1bmQgbGF1bmUgaGFiZW4gZWluZW4gQnJpY2h0IHVlYmVyIGRhcyBNZwp6dSBzY2hyaWViZW4uIGZ1ZXIgZWluZSBGYW50YXN5IFplaXR1bmcgCnZpZWxsZWljaHQgaGF0IGphIHNjaG9uIHdlciBlaW5lbiBnZXNjaHJpZWJlbiAKYml0dGUgYW4gQ2hyaXp6eXlAaG90bWFpbC5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXJpY2h0IHVlYmVyIE1nIChaYXJuaXlhLCAyMi4gRGV6IDE5OTgsIDExOjI3OjI0KToKfiMhIHJuPUNocmlzc3kgcnQ9OTE0MzI1NTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MzI1NTIyCmRhcmYgaWNoPyA6LSkpKSkpKSkpCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVyaWNodCB1ZWJlciBNZyAoUmlrdXMsIDIyLiBEZXogMTk5OCwgMTE6NDE6NTgpOgp+IyEgcm49Q2hyaXNzeSBydD05MTQzMjU1MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQzMjU1MjIKSWNoIGhvZmZlIG51ciwgZGllc2UgUGVyc29uIGlzdCBkZXIgZHQuIFJlY2h0c2NocmVpYnVuZyB1bmQgR3JhbW1hdGlrCm1hZWNodGlnZXIgYWxzIER1IDopCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVGphIEtvb21pLi4uIChNdWFkaWIsIDIyLiBEZXogMTk5OCwgMTI6MjE6NDApOgp+IyEgcm49UGFyYWNlbHN1cyBydD05MTQzMjI2NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxMTQ2NDgKamFhYWFhYWFhIGhvYm8gYW4gZGllIG1hY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUamEgS29vbWkuLi4gKExlbmEsIDIyLiBEZXogMTk5OCwgMTI6MjI6MjYpOgp+IyEgcm49TXVhZGliIHJ0PTkxNDMyOTMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApyZWdpZXJ0IEhvYm8gbmVkIGVoIHNjaG9uPwo7KQpOSUNIVCBMZW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlcmljaHQgdWViZXIgTWcgKEtleSwgMjIuIERleiAxOTk4LCAxMjo1NjoyNik6Cn4jISBybj1aYXJuaXlhIHJ0PTkxNDMyNjA0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDMyNTUyMgpOZWluIER1IGRhcmZzdCBuaWNodCA6KQoKQW5kZXJlcnNlaXRzIC4uLiBkb2NoIGtsYXIgZGFyZnN0ZSwgc29sYW5nZSBEdSBwZXJzb2VubGljaGUgQW5ncmlmZmUgZHJhdXNzZW4KbGFlc3N0IDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFRqYSBLb29taS4uLiAoVmluY2VudCwgMjIuIERleiAxOTk4LCAxNDowMzoyNik6Cn4jISBybj1NdWFkaWIgcnQ9OTE0MzI5MzAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkljaCB1bnRlcnN0dWV0emUgTXVhZGlicyBBbnRyYWcgdmVoZW1lbnQ6IEhvYm8gdm9yIFNoZXJyaWYhCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVGphIEtvb21pLi4uIChMZW5hLCAyMi4gRGV6IDE5OTgsIDE0OjAzOjUzKToKfiMhIHJuPVZpbmNlbnQgcnQ9OTE0MzM1NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CmF1IGphISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFRqYSBLb29taS4uLiAoUGFkcmVpYywgMjIuIERleiAxOTk4LCAxNTo1OTo1MSk6Cn4jISBybj1MZW5hIHJ0PTkxNDMzNTQzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApTZWlkIGlociBkZXMgV2FobnNpbm5zPyBJaHIga29lbm50IGRvY2ggZWluIFNwaWVsa2luZCBuaWNodCB6dW0gU2hlcmlmZgptYWNoZW4uLi4KClBhZHJlaWMgZGVua3QgLiBvIE8gKHRzdHN0cy4uLiBkaWVzZSBTcGllbGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFRqYSBLb29taS4uLiAoQW50aWxlbmEsIDIyLiBEZXogMTk5OCwgMTY6MDE6MzkpOgp+IyEgcm49UGFkcmVpYyBydD05MTQzNDIzOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxMTQ2NDgKV2VuIG1laW5zdCBEdSBtaXQgIlNwaWVsa2luZCIsIFBhZHJlaWM/CkhvYm8/IE1pY2g/CkhvYm8gaXN0IGtlaW4gIlNwaWVsa2luZCIgdW5kIGljaCBoYWIgbWljaCBuaWNodCB1bSBkZW4gUG9zdGVuIGJld29yYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFRqYSBLb29taS4uLiAoUGFkcmVpYywgMjIuIERleiAxOTk4LCAxNjowMjoyNSk6Cn4jISBybj1BbnRpbGVuYSBydD05MTQzNDI0OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxMTQ2NDgKSW0gWndlaWZlbCB3dWVyZCBpY2ggZXMgbWFsIG1pdCA8IGZpbmdlciBob2JvID4gdmVyc3VjaGVuIExlbmEgOikuCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaWNyb3NvZnQgKERlZXBibHVlLCAyMi4gRGV6IDE5OTgsIDE2OjA1OjIyKToKCkF1c3p1ZyBhdXMgZWluZXIgZHBhIE1lbGR1bmcKCkVybmV1dCBzY2h3ZXJlIFZvcnd1ZXJmZSBnZWdlbiBNaWNyb3NvZnQhCgpkcGEgSW5jYWxsIDA3LTI2LTk4CgoKU2VpdCBudW5tZWhyIGZhc3QgZHJlaSBKYWhyZW4gaGFlbHQgc2ljaCBpbiBkZXIgQ29tcHV0ZXItU3plbmUgaGFydC0Ka25hZWNraWcgIGRhcyBHZXJ1ZWNodCwgZGFzIEJldHJpZWJzc3lzdGVtICJXaW5kb3dzIDk1IiAgd3VlcmRlIGRlbiBQQwpkZXMgS3VuZGVuIG5hY2ggRGF0ZW52b3JnYWJlbiB1bmQgUmF1YmtvcGllbiBkdXJjaHN1Y2hlbi4gRWluIHVuZ2xhdWItCmxpY2hlciBhYmVyIGVybnN0enVuZWhtZW5kZXIgIFZvcnd1cmYgd2VubiBtYW4gYmVkZW5rdCwgIGRhc3Mgd2VsdHdlaXQKc2NoYWV0enVuZ3N3ZWlzZSAxMS45IE1pbGxpYXJkZW4gUEMncyBtaXQgZGllc2VyIEZ1bmt0aW9uIGF1c2dlcnVlc3RldApzZWllbi4gV2FlaHJlbmQgQmlsbCBHYXRlcyBkaWVzZSBBbnNjaHVsZGlndW5nIHp1ZXJzdCBudXIgYmVsYWVjaGVsdGUsCnRyYXQgIHNlaW4gQ2hlZi1Qcm9ncmFtbWllcmVyICBNYXJ0aW4gTWNOZWFsIGltICBPa3RvYmVyIDE5OTUgIGFuICBkaWUKT2VmZmVudGxpY2hrZWl0ICB1bmQgIGJlc3RhZXRpZ3RlIGRpZSAgU2Nhbi1GdW5rdGlvbiB2b24gICJXaW5kb3dzIDk1IgooTmV3IFlvcmsgVGltZXMsIDA0LjEwLjk1KS4gIEVzIGZvbGd0ZSBkaWUgRW50bGFzc3VuZyB2b24gTWNOZWFsIHNvd2llCmVpbmUgIFZlcmxldW1kdW5nc2tsYWdlLCAgZGEgZXMga2VpbmUgIGF1c3JlaWNoZW5kZW4gQmV3ZWlzZSBnYWIsICBkaWUKZWluIGp1cmlzdGlzY2hlcyBWb3JnZWhlbiBnZWdlbiBkZW4gS29uemVybiByZWNodGZlcnRpZ3Rlbi4gSW0gIEphbnVhcgoxOTk2ICB6b2cgIEluZGllbiAgS29uc2VxdWVuemVuOiAgZGVtIGdlc2FtdGVuICBWZXJ3YWx0dW5nc2FwcGFydCAgZGVzClN0YWF0ZXMgd3VyZGUgZGVyIEVpbnNhdHogdm9uICAiV2luZG93cyA5NSIgdW50ZXJzYWd0LiBEaWVzZW0gQmVpc3BpZWwKZm9sZ3RlbiBiaXMgaGV1dGUgMTcgd2VpdGVyZSBTdGFhdGVuLiAgRGVyIFZlcmx1c3QgZnVlciBNaWNyb3NvZnQgd2lyZApiaXNsYW5nIGF1ZiAzMDAgTWlsbGlhcmRlbiBEb2xsYXIgZ2VzY2hhZXR6dC4KCkp1bmkgMTk5ODogIldpbmRvd3MgOTgiIHdpcmQgdm9uIE1pY3Jvc29mdC1PYmVyaGF1cHQgQmlsbCBHYXRlcyB2b3ItCmdlc3RlbGx0LiBEYXMgaWhtIGRhYmVpIGVpbmUga2xlaW5lIFBhbm5lIHBhc3NpZXJ0LCBzdG9lcnQgbmljaHQuICdEaWUKVmVya2F1ZnN6YWhsZW4gc2luZCBhbm5laG1iYXInLCBzYWd0IGRlciBQcmVzc2VzcHJlY2hlciB2b24gTWljcm9zb2Z0LgpFciBhaG50ICBuaWNodCwgIGRhc3MgenUgIGRpZXNlbSBaZWl0cHVua3QgYmVyZWl0cyBtZWhyZXJlICBRdWVsbGNvZGVzCmRpdmVyc2VyICBQcm9ncmFtbWUgYXVzIGRlbSBCZXRyaWVic3N5c3RlbSAgZGVuIEhhdXB0c2l0eiBkZXIgRmlybWEgaW4KU2VhdHRsZSB2ZXJsYXNzZW4gIGhhYmVuIHVuZCBkZW0gRkJJIHVuZCBkZW0genVzdGFlbmRpZ2VuIFN0YWF0c2Fud2FsdAp2b3JsaWVnZW4uICBEYXJ1bnRlciBhdWNoIGRpZSAgbWlzdGVyaW9lc2UgU2Nhbi1GdW5rdGlvbiBhdXMgZGVtICdNU04tClBhcnQnIChkZW0gVGVpbCB2b24gICJXaW5kb3dzIDk4IiwgIGRhcyBhbmdlYmxpY2ggZGllIERhdGVuIHZvbSBQQyBkZXMKQW53ZW5kZXJzICB1ZWJlciBkYXMgTWljcm9zb2Z0IE5ldHdvcmsgYW4gZGllIEZpcm1hIHdlaXRlcmdlYmVuIHNvbGwpLgpEZXIgIERyYWh0emllaGVyICBkaWVzZXMgZ2VuaWFsZW4gQ291cHM6ICBNYXJ0aW4gTWNOZWFsLCBkZXIgZWhlbWFsaWdlCkNoZWYtUHJvZ3JhbW1pZXJlciB2b24gIE1pY3Jvc29mdC4gIFNlaXQgIHNlaW5lciAgRW50bGFzc3VuZyBoZWd0ZSB1bmQKcGZsZWd0ZSAgZXIgc2VpbmUgIEtvbnRha3RlICB6dSBkZW4gdW56YWVobGlnZW4gVGVhbXMsIGRpZSBhbiAiV2luZG93cwo5OCIgYXJiZWl0ZXRlbi4gVm9uIGlobmVuIGJla2FtIGVyIGRpZSBCZXdlaXNlIHp1Z2VzcGllbHQsICBkaWUgZXIgZGVtCkZCSSB2b3JnZWxlZ3QgaGF0LiAgWnUgIHNlaW5lciBlaWdlbmVuICBTaWNoZXJoZWl0ICBoYXQgIGVyIGF1Y2ggZWluZW0KRnJldW5kIHZvbiAgZGVyICBOZXcgWW9yayBUaW1lcyBkaWVzZSBCZXdlaXNlIHp1a29tbWVuIGxhc3Nlbi4gJ1NpY2hlcgppc3Qgc2ljaGVyLCAgZGVubiAgbWFuIHdlaXNzICBuaWUsIHdhcyAgYWxsZXMgIHBhc3NpZXJlbiAga2FubicsIHNhZ3RlCk1jTmVhbC4KCiAgSW4gZGVyIGVyc3RlbiBXb2NoZSAgZGVzIEp1bGkgMTk5OCB3dXJkZSAgZGllIFNjYW4tRnVua3Rpb24gIHZvbiBkZW4KQ29tcHV0ZXItRXhwZXJ0ZW4gIGRlcyAgRkJJICBlbnRkZWNrdCB1bmQgIGVpbmUgTmFjaHJpY2h0ZW5zcGVycmUgdmVyLQpoYWVuZ3QuICBEZXIgRmFsbCAnTWljcm9zb2Z0JyAgd3VyZGUgYWxzICd0b3Agc2VjcmV0JyBkZWtsYXJpZXJ0LiAgRGllCnNvZ2VuYW5udGUgICdTU0MtUHJvY2VkdXJlJyBkdXJjaHN1Y2h0IGRpZSAgRmVzdHBsYXR0ZSwgIGF1ZiBkZW0gIldpbi0KZG93cyA5OCIgaW5zdGFsbGllcnQgIHd1cmRlLiAgRXMgd2lyZCB6dW0gIGVpbmVuIG5hY2ggU3RpY2h3b2VydGVyIGF1cwpQb2x0aWsgdW5kICBXaXJ0c2NoYWZ0IGdlc3VjaHQsICB6dW0gYW5kZXJlbiAgd2lyZCBuYWNoIFJhdWJrb3BpZW4gdm9uClByb2R1a3RlbiBhdXMgZGVtIEhhdXNlIE1pY3Jvc29mdCAoaW5jbC4gIFRvY2h0ZXJmaXJtZW4pIGdlc2Nhbm50LiBBbGwKZGFzICBlcmZvbGd0IHdhZWhyZW5kICBkZXMgVmVyYmluZHVuZ3NhdWZiYXVzICB6dW0gIE1pY3Jvc29mdCBOZXR3b3JrLgonRWluIGdlcmFkZXp1ICB0ZXVmbGlzY2gtZ2VuaWFsZXMgIFdlcmt6ZXVnIHp1ciAgd2VsdHdlaXRlbiBTcGlvbmFnZSAtCm1hbiBicmF1Y2h0IG51ciBhYndhcnRlbiwgZGllIEluZm9ybWF0aW9uZW4gd2VyZGVuIGVpbmZhY2ggenVnZXNhbmR0JywKc2Nod2Flcm10ZSBlaW4gRkJJLUVybWl0dGxlciB2b24gZGVyIFNTQy1Qcm9jZWR1cmUuCgpBbSAxMC4wNy45OCAgd3VyZGUgZGVyIEZhbGwgJ01pY3Jvc29mdCcgdm9uIFVTLVByYWVzaWRlbnQgQmlsbCBDbGluLQp0b24gdW5kIGVpbmVtIDE0LWtvZXBmaWdlbiBTcGV6aWFsdGVhbSBhdXMgV2lydHNjaGFmdCB1bmQgIFBvbGl0aWsgenUtCnNhbW1lbiBtaXQgQmlsbCBHYXRlcyBhbmFseXNpZXJ0LiBOYXR1ZXJsaWNoICB3ZWl0ZXJoaW4gIHVudGVyIHN0cmVuZy0Kc3RlciBHZWhlaW1oYWx0dW5nLiBEaWUgQW53ZXNlbmRlbiBzYWhlbiB6d2VpIGdlZ2Vuc2FldHpsaWNoZSBQcm9ibGVtZQphdWYgc2ljaCB6dWtvbW1lbjogIGF1cyBhbGxlbiBUZWlsZW4gZGVyIEVyZGUgd2lyZCBNaWNyb3NvZnQgZGVyIFNwaW8tCm5hZ2UgYmVzY2h1bGRpZ3Qgd2VyZGVuLiBEZW1uYWNoIG11ZXNzdGUgZWluZSBhbWVyaWthbmlzY2hlIEJ1bmRlc2tvbS0KbWlzc2lvbiBkZW4gU29mdHdhcmUtR2lnYW50ZW4gc3RpbGxlZ2VuIHVuZCBzZWluIEthcGl0YWwgaW4gV2llZGVyZ3V0LQptYWNodW5nc3phaGx1bmdlbiAgaW52ZXN0aWVyZW4uICBBdXMgd2lydHNjaGFmdGxpY2hlciBTaWNodCB3YWVyZSBlaW5lClZlcmFldXNzZXJ1bmcgZGVzIEtvbnplcm5zIHdlbHR3ZWl0IGVpbmUgZmluYW56aWVsbGUgIEthdGFzdHJvcGhlLCAgZGEKamVkZSBQZXJzb24vRmlybWEsIGRpZSBtaXQgTVMtUHJvZHVrdGVuIGFyYmVpdGV0LCAga29tcGxldHQgIHVtc3RlbGxlbgptdWVzc3RlLiBEZXIgVVMtQXVzc2VubWluaXN0ZXIgZ2FiIHp1IEJlZGVua2VuLCBkYXNzIGRhcyB6dSBlcndhcnRlbmRlCkNoYW9zIGFuIGRlciBCb2Vyc2UgIHZlcmVpbnplbHQgZHVyY2hhdXMgenUgaW50ZXJuYXRpb25hbGVuIFNwYW5udW5nZW4KZnVlaHJlbiBrYW5uLiBTY2hsaWVzc2xpY2ggd3VlcmRlIE1pY3Jvc29mdCBuaWNodCBhbGxlaW4gdW50ZXJnZWhlbi4KClZvcmdlc3Rlcm4gIHJpZWYgIGRlciBhbWVyaWthbmlzY2hlICBXaXJ0c2NoYWZ0c21pbmlzdGVyIEhhbGxleSBlaW5lClVOLVNvbmRlcmtvbW1pc3Npb24gZWluLCBkaWUgZGllc2VzIFByb2JsZW0gZGVyIFVOIHZlcmRldXRsaWNoZW4gc29sbDoKJ1dlbm4gIGRpZSAgVU4gYXVmIFNwaW9uYWdlIHBsYWVkaWVydCwgc2NobmVpZGV0IHNpZSBzaWNoICBpbnMgIGVpZ2VuZQpGbGVpc2NoJywgIHNvIHVuZ2VmYWVociBsYXV0ZXQgZGVyIEtlcm5zYXR6LiAgQWxsZXJkaW5ncyBsaWVzcyBkZXIgVU4tClZvcnNpdHplbmRlIE1hcmlvIGRpIENlc2kgIGJlcmVpdHMgWndlaWZlbCBnZWdlbnVlYmVyIGRlbSBXaXJ0c2NoYWZ0cy0KbWluaXN0ZXIgdmVybGF1dGJhcmVuLiAgJ0VpbmUgZWluemlnZSBLbGFnZSB3dWVyZGUgZ2VudWVnZW4sIHVtIG5hZWhlLQpyZSAgVW50ZXJzdWNodW5nZW4gIHp1IGVyd2lya2VuIHVuZCBkYXMgd2FlcmUgZGFzIEVuZGUgdm9uIE1pY3Jvc29mdCcuCgogIEltIExhdWZlICBkZXIga29tbWVuZGUgV29jaGUgd2lyZCBkZXIgVU4tU29uZGVyYmVhdWZ0cmFndGUgR2VvcmdlIEMuCkhpbGxtYW4gbWl0IGRlbiBiaXNoZXJpZ2VuIEZha3RlbiBhbiBkaWUgT2VmZmVudGxpY2hrZWl0IHRyZXRlbi4KCkRpZXNlIFByZXNzZWVya2xhZXJ1bmcgd2lyZCBpbSBMYXVmZSBkZXMgV29jaGVuZW5kZSAyNS4vMjYuSnVsaSAxOTk4CmFuIGFsbGUgUHJlc3NlYWdlbnR1cmVuIGRlciBVTi1TdGFhdGVuIGdlc2FuZHQuICBFcyB3aXJkIGF1c2RydWVja2xpY2gKZGFyYXVmIGhpbmdld2llc2VuLCBkaWVzZSBNZWxkdW5nIGJpcyBhdWYgd2VpdGVyZXMgenVydWVja3p1aGFsdGVuIQoKUy4gTC4gSmFja3NvbgoKR2lsdCBmdWVyIFdJTjk4IGFiIFJlbGVhc2UgMTY1MCEKRGFzIGtvZW5udCBpaHIgc2VsYnN0IGF1c3Byb2JpZXJlbi4gRGF6dSBicmF1Y2h0IGlociBuaWNodCBtYWwgZWluZW4KSS1OZXQtWnVnYW5nLgpTdGFydGV0IGRhcyBXSU5ET1dTLVVQREFURS4gRGVyIEktRXhwbG9yZXIgc3RhcnRldCBlcnN0IG5hY2ggZWluZXIKa3VyemVuIFplaXQuICggPz8/ICkgIDspCkluIGRpZXNlciBaZWl0IHdpcmQgZWluZSBEYXRlaSBIV0lORk8uREFUIGdlc2NocmllYmVuLCBkaWUgZGFubiBpbgpcV0lORE9XUyB6dSBmaW5kZW4gaXN0LiBXZW5uIG1hbiBtaXQgZWluZW0gSEVYLUVESVRPUiByZWluc2llaHQsCnN0ZWh0IHNjaGVpbmJhciBudXIgYmxhYmxhIGRyaW4uIERlbmtzdGUhCkltIEhlYWRlciBzdGVodCBDUkVHIQpPaG5lIEhpbGZzbWl0dGVsIGlzdCBlcyBnZWZhZWhybGljaCAoZnVlciBXSU4gKSBkaWVzZSBEYXRlaSBhbnp1c2VoZW4uCldpZSBhbHNvPwpTaWNoZXJ0IFVOQkVESU5HVCEhISEgZGllIFNZU1RFTS5EQVQsIFVTRVIuREFUICwgV0lOLklOSSB1bmQgU1lTVEVNLklOSQpEYW5hY2ggbG9lc2NodCBpaHIgYXVzIGRlbSBXSU5ET1dTLVZlcnplaWNobmlzcyBkaWUgU1lTVEVNLiogdW5kIGRpZQpVU0VSLiogLgpEYW5hY2gga29waWVydCBkaWUgSFdJTkZPLkRBVCBhbHMgU1lTVEVNLkRBVCBuYWNoIFdJTkRPV1MuCkFuc2NobGllc3NlbmQgcnVmdCBSRUdFRElUIGF1Zi4gSmV0enQga29lbm50IGlociBuaWNodCBudXIgc2VoZW4sCldBUyBmdWVyIFNvZnR3YXJlIGlociBoYWJ0LCBzb25kZXJuIGF1Y2ggV0lFIFNJRSBLT05GSUdVUklFUlQgSVNUICEhCkRpZXNlIEhXSU5GTy5EQVQgd2lyZCBiZWltIFdJTkRPV1MtVVBEQVRFIGFuIE1TIGdlc2VuZGV0LCB3ZW5uIGlociBkaWUKSW5zdGFsbGF0aW9uIGVpbmVzIEFrdGl2ZS1YLUNvbnRyb2xzIHp1bGFzc3QsIG5hY2ggZGVtIGlociBnZWZyYWd0CndlcmRldC4KVmVyZ2Vzc3QgbmljaHQsIGV1cmUgb3JnaW5hbGVuIFN5c3RlbWRhdGVpZW4gd2llZGVyIHJpY2h0aWcgenUga29waWVyZW4uLi4KCldpZSBrYW5uIG1hbiBzaWNoIHNjaHVldHplbj8KQXVzIFdJTkRPV1MgZGllIEhXSU5GTy5FWEUgdW5kCmF1cyBXSU5ET1dTXFNZU1RFTSBkaWUgSFdBR0VOVC5ETEwgdW5kIGRpZSBIV0lORk9ELlZYRCBsb2VzY2hlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUamEgS29vbWkuLi4gKERpZWRlciwgMjIuIERleiAxOTk4LCAxNjoxNjoyOCk6Cn4jISBybj1TaGFyaWEgcnQ9OTE0Mjg2MjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CmhtLCBhbHNvIGFscyBtZWluIFp3ZWl0aWUgTWlzdCBnZWJhdXQgaGF0dGUgKFBLKSBoYXQgZXIgYXVmIG1laW5lIE1haWwgc29mb3J0CnJlYWdpZXJ0Li4uIGthbm4gZGEgYWxzbyBuaWNodCBiZWhhdXB0ZW4sIGRhc3MgZXIgbmllIGRhIHdhZXJlIG9kZXIgbmljaHQKaGluaG9lZXJ0Li4uIDopCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaWNyb3NvZnQgKEFjcmltb24sIDIyLiBEZXogMTk5OCwgMTg6MjU6MDgpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTE0MzQyNzIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MzQyNzIyClVuZCBpY2gga2FubiBlaW5lbiBrb21wbGV0dGVuIEJlc2VuIGZyZXNzZW4sIHdlbm4gTWljcm9TY2hyb3R0IGF1Y2ggbnVyIGVpbmVuCkdlZGFua2VuIGRhcmFuIHZlcnNjaHdlbmRldCwgaWhyZSBBbGxlcy1Lb250cm9sbC1Qb2xpdGlrIGF1Znp1Z2ViZW4uCldlbm4gZWluaWdlIGRlciBHZW1laW5oZWl0ZW4gdm9uIFdpbmRvb2YtOTggYXVmZ2VkZWNrdCB3ZXJkZW4sIGRhbm4gd2lyZApNaWNyb1NjaHJvdHQgaW4genVrdWVuZnRpZ2VuIFZlcnNpb25lbiBkaWVzZXMgc29nZW5hbm50ZW4gIkJldHJpZWJzc3lzdGVtcyIKbm9jaCB2b3JzaWNodGlnZXIgdW5kIGdlbWVpbmVyIHNlaW4uCkxhbmdmcmlzdGlnIHNjaHVldHplbiBrYW5uIG1hbiBzaWNoIGRhdm9yIG51ciwgaW5kZW0gbWFuIGFsbGVzLCB3YXMgdm9uCk1pY3JvU2Nocm90dCBrb21tdCwgd2llIGRpZSBQZXN0IG1laWRldC4KSWNoIGplZGVuZmFsbHMgYmluIHNlaHIgZnJvaCwgZGFzeiB3ZW5pZ3N0ZW5zIGVpbiBUZWlsIGRlciBNYWNoZW5zY2hhZnRlbiB2b24KTWljcm9TY2hyb3R0IHZlcm9lZmZlbnRsaWNodCB3aXJkLCBkZW5uIGRhZHVyY2ggYmVzdGVodCB3aWVkZXIgZGllIENoYW5jZSwKZGFzeiBkaWUgRW50d2lja2x1bmcgaXJnZW5kd2FubiB1bmdlYnJlbXN0IChkLmguIG9obmUgU29mdHdhcmVtdWVsbCkKd2VpdGVyZ2VoZW4ga2Fubi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVGphIEtvb21pLi4uIChUYXJpbmEsIDIyLiBEZXogMTk5OCwgMTk6Mzg6MDgpOgp+IyEgcm49RGllZGVyIHJ0PTkxNDM0MzM4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApBbHMgbWVpbiBad2VpdGllIHZvbiBlaW5lbSBhbmRlcmVuIFNwaWVsZXIgZ2VraWxsdCB3dXJkZSwgaGF0IGVyIHNpY2ggYXVjaApnZW1lbGRldC4KS2VpbiBHcnVuZCB6dXIgQmVhbnN0YW5kdW5nLgoKVGFyaW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaWNyb3NvZnQgKEx1ZywgMjMuIERleiAxOTk4LCAwMTo1MTozNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTkxNDM1MTEwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDM0MjcyMgpPZWgsCgp3YXIgZGEgaW4gZGVuIE9mZmVuYmFydW5nZW4gbmljaHQgd2FzIHZvbiAiRmVuc3Rlcm4iIG1pdCBkZW5lbiBkaWUgV2lydHNjaGFmdAprb250cm9sbGllcnQgd2lyZD8KCkFwb2NhbHlwc2UgTm93IQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhc3Qga29zdGVubG9zIHN1cmZlbi4uLiAoWWFyZW4sIDIzLiBEZXogMTk5OCwgMDI6MzU6NTUpOgp+IyEgcm49SmltZGlncml6IHJ0PTkxNDI1Mzk2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDE5MTkyMwpkZXIgZGUtY2l4IGlzdCBqYSBqZXR6dCBzY2hvbiBob2ZmbnVuZ3Nsb3MgdWViZXJsYXN0ZXQgLSB1bmQgYmVpIGVpbmVyCmRwbi1hbmJpbmR1bmcgbWl0IDM0IG1iaXQgb2RlciBzbywgdm9uIGRlbmVuIG51ciBkaWUgaGFlbGZ0ZSB3aXJrbGljaCBnZW51dHp0CndlcmRlbiBrYW5uLCBpbnRlcmVzc2llcnQgZWluIGJhY2tib25lIHZvbiAxNTUgbWJpdCB3aXJrbGljaCBuaWNodCAuLi4gaWNoCndhcnRlIGRhIGF1Y2ggbGllYmVyIGRhcmF1ZiwgZGFzcyBkaWUgbWFsIGVuZGxpY2ggbWl0IGVjaHRlbiBEQVRFTgpydWViZXJydWVja2VuIC4uLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRqYSBLb29taS4uLiAoQXNtb2RpcywgMjMuIERleiAxOTk4LCAxNjozMToyNyk6Cn4jISBybj1LZXkgcnQ9OTE0MjMwMTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkRlbSBrYW5uIGljaCBudXIgYmVpcGZsaWNodGVuOiBXbyBrb21tZW4gd2lyIGRlbm4gaGluLCB3ZW5uIGplZGVyIFd1cnN0bWFnaWVyCmluIGRlciBNUEEgaGVydW1wZnVzY2h0PwpMYXNzdCBkYXMgZG9jaCBlaW5mYWNoIGRpZSBQcm9maXMgbWFjaGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVGphIEtvb21pLi4uIChSYW50YW5wbGFuLCAyMy4gRGV6IDE5OTgsIDE2OjM1OjQ1KToKfiMhIHJuPVphcm5peWEgcnQ9OTE0MzI0NjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CkFoYWxzby4uLi4KCgprb29taSBpY2gga2FubiBEaWNoIGJlcnVoaWdlbm0gTHVnIGhhdCBrZWluZSBadWt1bmZ0LCBkYWZ1ZXIgaXN0IGVyIAp2aWVlZWVlZWVsIHp1IGFsdCA7LSkKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWlQgKEtleSwgMjMuIERleiAxOTk4LCAxNzozOToyNyk6CkhtbSBpY2ggd2FyIG1hbCB3aWVkZXIgYXVmIFpULVN1Y2hlIC4uLgpVbmQgZmluZGUgZXMgemllbWxpY2ggdWViZWwgd2FzIG1hbiBkYSBzbyBhbGxlcyBzdWNoZW4gbXVzcyAuLi4KQWxzbyB6dW0gZWluZW4gLi4uLiBTY2hhZmZ0IGVuZGxpY2ggZGllc2UgWlRgcyBhdXMgcXVlc3RlbiBhYi4KVW5kIHp3YXIgYXVzIGFsbGVuIC4uLiBJY2ggZmluZHMgemllbWxpY2ggYmVrbmFja3Qgd2FzIGVzIGRhIGltIG1vbSBub2NoIGdpYnQuClp1bSBhbmRlcmVuIG5lbiBiaXNzZXJsIExldmVsZ2VyZWNodGVyIC4uLiBJY2ggbWVpbiB3ZW5uIGljaCBzY2hvbiBQcm9ibGVtZQpoYWJlIGFuIGVpbmlnZSBkcmFuenVrb21tZW4gKEphamEgaWNoIGJpbiBMTFAsIHRyb3R6ZGVtKSBXaWUgc29sbHMgZGFubiBuZW4KTGV2ZWwgNmVyIHNjaGFmZmVuPwoKVW5kIHdhcnVtIHdlcmRlbiBpbW1lcm5vY2ggWlRgcyBnZW5vbW1lbiBkaWUgaW4gUkVJTkVOIFF1ZXN0Z2ViaWV0ZW4gc2luZCwgZGllCmFiIExldmVsIDUgdm9yZ2VnZWJlbiBzaW5kPyBOb2NoIGRhenUgaGFiIGljaCBiaXNoZXIgbnVyIHZvbiBMZXV0ZW4gZ2Vob2VydApkaWUgdWViZXIgTGV2ZWwgNiBkZW4gaGF0dGVuIQoKS2V5IGdydW1wZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpUIChHcmltbWJvcm4sIDIzLiBEZXogMTk5OCwgMTc6NDE6NTcpOgp+IyEgcm49S2V5IHJ0PTkxNDQzNDc2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpXZW5uIER1IHNjaG9uIHNvIGFsbGdlbWVpbiBzY2hyZWlic3QsIHdpZXNvIGxvZXNjaHN0IER1IG5pY2h0IGRpZXNlbiBkYWR1cmNoCm5pY2h0c3NhZ2VuZGVuIEFydGlrZWwgdW5kIHNjaHJlaWJzdCBlaW5lIGtvbmtyZXRlIG1haWwgYW4gZGllCnZlcmFudHdvcnRsaWNoZW4gTWFnaWVyPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFpUIChLZXksIDIzLiBEZXogMTk5OCwgMTc6NDM6MzQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxNDQzNDkxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpXZWlsIGRlciBrb25rcmV0ZSBNYWdpZXIgc2ljaCBuaWNodCBkcnVtIGt1ZW1tZXJ0LApLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWlQgKFJhbnRhbnBsYW4sIDIzLiBEZXogMTk5OCwgMTc6NDQ6MTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxNDQzNDkxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpXaWVzbywgaXN0IGRvY2ggZGllIFJ1YnJpayBhbGxnZW1laW5lcy4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpUIChSaWt1cywgMjMuIERleiAxOTk4LCAyMDoxNTo1Nyk6Cn4jISBybj1LZXkgcnQ9OTE0NDM1MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NDM0NzY3CnRvbGwsIHNvbGwgaWNoIG1pciBuYWNoIGRpZXNlbiBuZXdzIHZvbiBEaXIgZWNodCBkaWUgQXJiZWl0Cm1hY2hlbj8gRWJlbiBlcnN0IGJla2FtIGljaCBlaW5lIG1haWwgdm9uIERpciB3ZWdlbiBkZXMgWlRzIGluCmRlciBNYXVzcXVlc3QgKGRlciBlcnN0ZSwgZGVyIG1pY2ggZGVzd2VnZW4gYW5zcHJhY2gpLiBVbmQgZGVuClpUIGhhYiBpY2ggZG9ydCBhdWNoIG51ciBnZW5laG1pZ3QsIHdlaWwgamVkZXIgZ2FueiBlaW5mYWNoIHJhbi0Ka29tbXQsIG9iIGVyIGRpZSBRdWVzdCBudW4gc2Nob24gaGF0IG9kZXIgbmljaHQgb2RlciBhdWNoIHdlbGNoZXMKTGV2ZWwgZXIgaGF0LgpJY2ggdHJhZ2Ugc3RhZW5kaWcgWlRzIGF1cyBRdWVzdHMgYXVzL3VtLCBzb2JhbGQgaWNoIGVpbmUgQWx0ZXJuYS0KdGl2ZSBmdWVyIGVpbmVuIHNvbGNoZW4gaGFiZSB1bmQgbWVpbmUgTGlzdGUgd2lyZCBlY2h0IGltbWVyCmt1ZXJ6ZXIuIEFsc28gZXJzdCBtaWNoIGFuc3ByZWNoZW4sIGJldm9yIER1IHJ1bW1lY2tlcnN0LgoKRHUgaGFzdCBkYW1hbHMgYXVjaCBTY2hydW1wZmlzIEdydWZ0IHVudGVyIERlaW5lbSBOYW1lbiBhbmdlLQpzY2hsb3NzZW4gdW5kIGljaCBrYW5uIHNhZW10bGljaGUgRXJzdGtpbGxzIHVtdHJhZ2VuLCBkYSBlcyBkaWUKc2VsYmlnZW4gTlBDcyBhdWYgZWlubWFsIGRvcHBlbHQgZ2FiLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFRqYSBLb29taS4uLiAoRnl0LCAyMy4gRGV6IDE5OTgsIDIwOjM4OjU1KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTE0Mjg3NDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CgpIYXRlIGhhdCBkb2NoIGF1Y2ggc2Nob24ga2VpbmUgWmFlaG5lIG1laHIuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpUIChBY3JpbW9uLCAyMy4gRGV6IDE5OTgsIDIyOjA4OjAwKToKfiMhIHJuPVJpa3VzIHJ0PTkxNDQ0NDE1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpBbHNvLCBaVHMsIGRpZSBpbiBRdWVzdGdlYmlldGVuIGViZW5zbyBsZWljaHQgZXJyZWljaGJhciBzaW5kIHdpZSBkaWVqZW5pZ2VuClpUcywgZGllIG5pY2h0IGluIFF1ZXN0Z2ViaWV0ZW4gc2luZCwga29lbm5lbiBkdXJjaGF1cyBkb3J0IGJsZWliZW4sIGZpbmRlCmljaC4KCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyb3R6ZGVtIHNjaG9lbmUgdGFnZSBhbGxlcnNlaXRzLi4uIChLYWRhYnJhLCAyNC4gRGV6IDE5OTgsIDA4OjE1OjQxKToKRnJvaGUsIGZldHRlIEZlaWVydGFnZSAuLiBmcmllZGxpY2hlIEVsdGVybiwgc2Nob2VuZSBHZXNjaGVua2UKd3VlbnNjaHQgRXVjaCBrYWRhYnJhCiBQUzogSWNoIHdlcmRlIGxhbmdzYW0genVtIElkbGVyIC4uLiB2b3IgbGF1dGVyIFJlYm9vdHMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpUIChLZXksIDI0LiBEZXogMTk5OCwgMTI6MTA6MDIpOgp+IyEgcm49UmlrdXMgcnQ9OTE0NDQ0MTU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NDM0NzY3CkVyc3RlbnMgaGFiIGljaCBEaXIgbWVocmZhY2gga29tcGxldHRlIExpc3RlbiBkZXIgWnRgcyBpbiBRdWVzdHMgenVnZXNjaGlja3QsCm9obmUgaXJnZW5kZWluZSBSZWFrdGlvbi4KWndlaXRlbnMgRGVyIGVyc3RlIHdlZ2VuIGRlciBNYXVzcXVlc3QgYmluIGljaCBuaWNodCBnZXJhZGUsIHN0ZWh0IHVudGVyCmFuZGVyZW0gc2Nob25tYWwgaW4gZGVyIFplaXR1bmcuCkRyaXR0ZW5zIGhpZXNzIGVzIGRhbWFscyBrZWluZSBaVGBzIG1laHIgaW4gUXVlc3RzLiBUcm90emRlbSBrb21tdCBzb3dhcyBpbgpkZXIgTWF1c3F1ZXN0LgpWaWVydGVucyBNYWcgc2VpbiwgbnVyIG1lcmsgaWNoIGRhdm9uIHVlYmVyaGF1cHQgbmljaHRzLCB3ZW5uIHZvbiA4IFpUYHMgNCEgaW4KcXVlc3RlbiBzaW5kIGhhdCBlbnR3ZWRlciBNdXJwaHkgenVnZXNjaGxhZ2VuLCBvZGVyIGRhcyBNRyBSYW5kb20gOikKCkZ1ZW5mdGVucyBIYWIgZGFzIG5pY2h0IGljaCBnZW1hY2h0LCBTZWNoc3RlbnMgZ2Vob2VydCBkYXMgaGllciBuZXQgaGluLCB1bmQKc2llYnRlbnMgd2FyZW4gc2llIDNtYWwgdm9yaGFuZGVuLgoKQWJlciBpbW1lcmhpbiBoYWIgaWNoIG1pdCBkZW0gQXJ0aWtlbCBlaW5zIGVycmVpY2h0IC4uLiBEdSBnaWJzdCBlbmRsaWNoIG1hbApuZSBSdWVja21lbGR1bmcgLi4uCgpEYXMgbm9jaCBzb3ZpZWxlIFp0cyBiZW5vZXRpZ3Qgd2VyZGVuIGRhbWl0IGFsdGUgcmF1c2ZsaWVnZW4ga29lbm5lbiBrYW5uIGljaAprYXVtIGdsYXViZW4uIEVzIGdpYnQgc3RhZW5kaWcgbmV1ZSBHZWJpZXRlLCBhYmVyIG1hbiBoYXQgZGFzIEdlZnVlaGwgZGFzIGRhCm5ldWUgcmVpbmtvbW1lbiBvaG5lIGFsdGUgenUgZXJzZXR6ZW4uCgpLZXkgd3VlbnNjaHQgdHJvdHpkZW0gRnJvaGUgV2VpaG5hY2h0IDopCgpQLlMuOiBVZWJyaWdlbnMgd2FyIGVzIG5pY2h0cyBwZXJzb2VubGljaGVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWlQgKEtleSwgMjQuIERleiAxOTk4LCAxMjoxMToxMyk6Cn4jISBybj1BY3JpbW9uIHJ0PTkxNDQ1MDg4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpBYmVyIHdlbm4gbWFuIGRpZSBoYWxiZSBRdWVzdCBtYWNoZW4gbXVzcyB1bSBoaW56dWtvbW1lbj8KSWNoIGJpbiBmdWVyIG5lIGVpbmhlaXRsaWNoZSBSZWdlbHVuZyBkYXMgZGllIFF1ZXN0Z2ViaWV0ZSBlbmRsaWNoCmF1c2dlc2NobG9zc2VuIHNpbmQgLi4uLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBaVCAoUmlrdXMsIDI0LiBEZXogMTk5OCwgMTM6MDc6NDkpOgp+IyEgcm49S2V5IHJ0PTkxNDUwMTQwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpJY2ggaGFiZSBub2NoIDYgWlRzIGF1ZiBtZWluZXIgTGlzdGUsIGRpZSBpY2ggZXJzZXR6ZW4gd2lsbCwKamVkb2NoIGJla29tbSBpY2ggaW0gU2Nobml0dCAxIG5ldWVuIHBybyBNb25hdCAod2VubiB1ZWJlcmhhdXB0KSwKc28gaXN0IGVzIGFsc28gbmljaHQgdm9uIGhldXRlIGF1ZiBtb3JnZW4gZ2V0YW4uIEVzIGdpYnQgYXVmIGplZGVuCkZhbGwgWlRzIGluIFF1ZXN0cywgYWJlciBudXIsIHdlbm4gbWFuIGRpZXNlIFF1ZXN0IG5pY2h0IHp1IHglCmRhZnVlciBsb2VzZW4gbXVzcy4KU29ycnksIHdlbm4gaWNoIG5pY2h0IGplZGUgbWFpbCBiZWFudHdvcnRlbiBrYW5uLCBoYWIgZWluZmFjaApuaWNodCBkaWUgWmVpdCBkYXp1LiBXZW5uIHdhcyB6dSBkZXIgTWF1c3F1ZXN0IHNjaG9uIGluIGRlciBaZWl0dW5nCnN0YW5kLCBkYW5uIHdlcmRlIGljaCBlcyBuaWNodCBnZWxlc2VuIGhhYmVuLCBhbGxnLiB1bmQgYW5kZXJlClJ1YnJpa2VuIGxlcyBpY2ggbnVyIHNwb3JhdGlzY2guCgpNZXJyeSBDaHJpc3RtYXMsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBaVCAoS2V5LCAyNS4gRGV6IDE5OTgsIDE2OjIzOjM3KToKfiMhIHJuPVJpa3VzIHJ0PTkxNDUwNDg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDQzNDc2NwpIbW1tIG1haWxzdGUgbWlyIGRpciA2IG1hbD8gRGFtaXQgaWNoIHdlaXNzIHdlbGNoZSBEdSBtZWluc3Q/IC4pCkhtbW0gdW5kIGR1cmNoIHdlbGNoZSBaYWhsIGVyc2V0enQgRHUgeD8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWxsZ2VtZWluZXMgWlRzIChTaW1hcmlsbGlvbiwgMjYuIERleiAxOTk4LCAwMDo0MTozMSk6Clp3ZWkgdm9uIGRlbiBaVHMgaW4gZGVuIFF1ZXN0ZW4gc2luZCBaYXRvbmdzIHVuZCBUcnlmYW5zIEFyYmVpdHN6aW1tZXIuCkhhYiBkaWUgUmFldHNlbCB6d2FyIHNjaG9uLCBrYW5uIHNpZSBhYmVyIHdvaGwgbm9jaG1hbCBtYWNoZW4uLi4KRnJvaGUgV2VpaG5hY2h0ZW4gYmVpbSBBcmJlaXRlbiBSaWt1cwpTaW1hcmlsbGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsbGdlbWVpbmVzIFpUcyAoU2hhbm5hcmEsIDI2LiBEZXogMTk5OCwgMDA6NDk6MTQpOgp+IyEgcm49U2ltYXJpbGxpb24gcnQ9OTE0NjMyODkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCk5hY2h0cmFlZ2xpY2hlciBXZWlobmFjaHRzZ3J1c3MgYW4gUmlrdXM6CgpJY2ggc2VsYmVyIGhhYiBlYmVuZmFsbHMgbm9jaCBlaW5lbiBaVCBpbSBGcmllZGhvZnNxdWVzdCAoWmF0b25nKSB1bmQgRHVuY3RvbgooQmlibGlvdGhlaykuCgpCZWlkZSBoYWJlIGljaCBOQUNIIGRlciBBYnNvbHZpZXJ1bmcgZGVyIFF1ZXN0cyBnZW1hY2h0IHVuZCBpY2ggaGFiIGVocmxpY2gKZ2VzYWd0LCBrZWluZSBMdXN0IG1laHIgZGllIGJlaWRlbiBRdWVzdHMgbm9jaG1hbCBtaXQgU2hhbm5hcmEgenUgbWFjaGVuCihpbnNiZXNvbmRlcmUgZGVuIEZyaWVkaG9mKQoKRWluZSBad2VpdGllIHZvbiBtaXIgaGF0IGltIExhdWZlIGRlciBaZWl0IDMoISkgWlQtU3BydWVjaGUgYmVrb21tZW4sIGRpZSBhbGxlCnZlcmRhbW10IG5hY2ggTXVyYWRocyBUdXJtIHJpZWNoZW4uIFp1bSBHbHVlY2sgaGF0IHNpZSBkaWVzZSBRdWVzdCBub2NoIG5pY2h0CmdlbWFjaHQsIGFiZXIgdHJvdHpkZW0gZmluZGUgaWNoIGVzIG5pY2h0IHNjaG9lbiwgZGFzcyB0cm90eiBlaW5lciBhbmdlYmxpY2huClJlZ2VsdW5nLCBkYXNzIGVzIGtlaW5lIG5ldWVuIFpUcyBpbiBRdWVzdHMgZ2lidCBhZCBhYnN1cmR1bSBnZWZ1ZWhydCB3aXJkLgoKU2hhbm5hcmEKClBTOiBKYSwgaWNoIHdlaXNzIGRhc3MgbWVpbiBFcnN0aWUgZWluIE1hZ2llciBpc3QsIGFiZXIgdHJvdHpkZW0uIFB1bmt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhbGxnZW1laW5lcyBaVHMgKFNoYW5uYXJhLCAyNi4gRGV6IDE5OTgsIDAwOjUwOjUwKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkxNDYzMzM1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpUamEsIHdhaHJzY2hlaW5saWNoIGVyZ2lidCBkZXIgZXJzdGUgQWJzYXR6IGtlaW5lbiBncm9zc2VuIFNpbm4sIGljaCBoYWIgbWljaApkYSB2ZXJ0aXBwdCwgaWNoIG1laW50ZSwgZGFzc3MgaWNoIG1pciBkaWVzZSBiZWlkZW4gWlRzIG5vY2ggYWJnZWhlbi4KClNoYW5ueQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFsbGdlbWVpbmVzIFpUcyAoRmlyZWhhd2ssIDI2LiBEZXogMTk5OCwgMDI6MDY6MDApOgp+IyEgcm49U2ltYXJpbGxpb24gcnQ9OTE0NjMyODkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCk1laW4gWndlaXRpZSBoYXQgYXVjaCBlaW5lbiBTcHJ1Y2gsIGRlciB2ZXJkYW1tdCBuYWNoIER1ZXN0ZXJ3YWxkIHJpZWNodC4gVW5kCmRlbiBoYXQgZXIgc2Nob24gbmUgZ2FuemUgV2VpbGUuIERhcyBpc3QgYXVjaCBuaWNodCBnZXJhZGUgdG9sbCBhbHMKWlQtU3VjaC1HZWJpZXQuCgpGaXJlaGF3ay4KCkJ1cm4gd2l0aCB0aGUgZmxhbWVzIG9yIGJlIGJ1cm50IGJ5IHRoZW0gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFsbGdlbWVpbmVzIFpUcyAoWmlsbHVzLCAyNi4gRGV6IDE5OTgsIDA3OjUzOjIzKToKfiMhIHJuPUZpcmVoYXdrIHJ0PTkxNDYzNzk2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpPaCB3ZWgsIGlociBhcm1lbiwgZGllIGlociBhbGxlIG5vY2ggWlRzIGluIFF1ZXN0LUdlYmlldGVuIGhhYnQuLi4uIGlociB0dXQKbWlyIGZhc3QgbGVpZC4gOy0pClNlaXQgZG9jaCBmcm9oLCBkYXNzIGlociB1ZWJlcmhhdXB0IHdpc3N0LCB3byB1bmdlZmFlaHIgRXVyZSBaVHMgbGllZ2VuIQpGcnVlaGVyLi4uIChkYXMgd2FyZW4gbm9jaCBaZWl0ZW4pIGRhIGhhdHRlbiB3aXIga2VpbmUgQWhudW5nIHdvIGRpZSBaVHMgc2luZCwKdW5kIGhhYmVuIHppZWxsb3MgZGFzIGdhbnplIE1HIGFiZ2VzdWNodCwgaW0gYmVzdGVuIEZhbGwgbWl0IFJ5bmVzIFpULUxpc3RlCk5yLiAxNSAob2RlciB3YXMgaXN0IGpldHp0IGRpZSBha3R1ZWxsZSA6LSkgKS4KRWluIFpUIGluIGRlciBGcmllZGhvZnF1ZXN0IHpCIGRlbiBoYXQgbWFuIC0gd2VubiBtYW4gZGllIFF1ZXN0IHNjaG9uIGdlbG9lc3QKaGF0IHVuZCBhbHNvIGtlbm50IC0gaW4gc3BhZXRlc3RlbnMgMzAgTWludXRlbiBnZWhvbHQuIElzdCBkYXMgenV2aWVsIGZ1ZXIKZWluZW4gWlQ/IFd1cnN0aWVzLCBpaHIuLi4gOy0pCgpTbywgd3VlbnNjaGUgbm9jaCBhbGxlbiBmcm9oZSBXZWlobmFjaHRlbiwgdW5kIGVpbmVuIHNwZXppZWxsZW4gR3J1c3MgYW4KSnVlcmdlbiA6LSkKWmlsbHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhbGxnZW1laW5lcyBaVHMgKFBhZHJlaWMsIDI2LiBEZXogMTk5OCwgMTE6Mzk6NDgpOgp+IyEgcm49WmlsbHVzIHJ0PTkxNDY1ODgwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpFaWdlbnRsaWNoIGJlemllaHQgc2ljaCBtZWluIEFydGlrZWwgYXVmIGRpZSBBcnRpa2VsIE5yLiA4MS04MQoKS29lbm50IElociBuaWNodCByaWNodGlnIGxlc2VuPz8/ClJpa3VzIHNjaHJpZWIgZG9jaCBlaW5kZXV0aWcsIGRhcyBlciBkaWVzZSBaVHMgYmVyZWl0cyBrZW5udCwgamVkb2NoIGRlcnplaXQKa2VpbmUgRXJzYXR6LVpUcyBkYWZ1ZXIgaGF0ISBBYmVyIGF1Y2ggc29uc3Qgc2NocmVpYnQgbGllYmVyIGVpbmVuIF9uZXR0ZW5fCkJyaWVmIGFscyBSaWt1cyBpbiBkaWVzZXIgRm9ybSBpbiBkZXIgbXBhIGFuenVtYWNoZW4uIFJpa3VzIGlzdCBlaW5lciB1bnNlcgpha3RpdnN0ZW4gRXJ6bWFnaWVyIHVuZCB3ZW5uIGVyIHNpZSBiaXNoZXIgbm9jaCBuaWNodCBhdXNnZXRyYWdlbiBoYXQsIGRhbm4KaGF0IGRhcyBtaXQgU2ljaGVyaGVpdCBhdWNoIHNlaW5lIEdydWVuZGUuCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhbGxnZW1laW5lcyBaVHMgKFN0aW5nLCAyNi4gRGV6IDE5OTgsIDExOjU4OjQ5KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTE0NjcyMzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCkljaCBoYXNzZSBlcyBlaWdlbnRsaWNoIGluIGRpZSBNUEEgenUgc2NocmVpYmVuIChhdXNzZXIgc2NobWFycm4gdW5kIHdpdHplKSwKYWJlciBqZXR6dCBtdXNzIGRhcyBtYWwgc2VpbiEKTEVTVCB1bmQgREVOS1QgbWFsIG5hY2guIFdlbm4gaWhyIHdlaXRlcmhpbiBzb2xjaGUgTGFlc3Rlci11bmQtTW90ei1BcnRpa2VsIGluCmRlciBNUEEgc2NocmVpYnQsIGFuc3RhdHQgc2llIGZvZXJtbGljaCB1bmQgbm9ybWFsIGFscyBNYWlscyBvZGVyIHRlaWxlIG1pdCBhbgpSaWt1cyB3ZWl0ZXJ6dWdlYmVuLCBpc3QgUmlrdXMgdmllbGxlaWNodCBiYWxkIG5pY2h0IG1laHIgYmVyZWl0IGRpZXNlIEFyYmVpdAp6dSBtYWNoZW4gKHVuZCBnbGF1YnQgbWlyLCB3ZW5uIGRhcyBwYXNzaWVydCBtdWVzc3QgaWhyIGVyc3RtYWwgZWluZW4gZmluZGVuCmRlciBkYXMgdWViZXJuaW1tdCB1bmQgYXVjaCBtYWNodCkuIFNlaWQgZnJvaCBkYXMgc2ljaCBqZW1hbmQgZHJ1bSBrdWVtbWVydCwKc28gZWluZmFjaCBpc3QgZGFzIG5pY2h0LCBqZWRlbmZhbGxzIEhBU1NFIGljaCBlcyBiaXMgYXVmIGRlbiBUb2Qgc293YXMgaW4gZGVyCk1QQSBsZXNlbiB6dSBtdWVzc2VuLiBEaWUgTVBBIGlzdCBudXIgd2VnZW4gZGVuIHN0YWVuZGlnZW4KZmxhbWUtdW5kLW1vdHotYXJ0aWtlbG4gc28gc2NobGVjaHQhCgpTdGluZwoqCmJsb2VkZSB0YXN0YXR1ciA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGFsbGdlbWVpbmVzIFpUcyAoR3JpbW1ib3JuLCAyNi4gRGV6IDE5OTgsIDEyOjI4OjE4KToKfiMhIHJuPVN0aW5nIHJ0PTkxNDY3MzUyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpNZWluIFRpcCB6dW0gRmVzdCAoenUgRGVpbmVtIGJlc3RlbiB1bmQgZGVtIGFsbGVyIGFuZGVyZW4pOiB2ZXJicmVubmUgemVpdHVuZwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IG1pdCBzaW5udm9sbGVuIFRpcHMuIEFiZXIgbnVyIHdlaWwgV2VpaG5hY2h0ZW4gaXN0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYWxsZ2VtZWluZXMgWlRzIChBbmF0b2wsIDI2LiBEZXogMTk5OCwgMTI6Mjk6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxNDY3NTI5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpEdSBhbHMgQXRoZWlzdD8gCkJpc3QgZG9jaCBudXIgYXVmIGRpZSBHZXNjaGVua2NoZW4gYXVzLgpHaWIncyB6dS4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGFsbGdlbWVpbmVzIFpUcyAoQXNtb2RpcywgMjYuIERleiAxOTk4LCAxMjoyOTo1Mik6Cn4jISBybj1BbmF0b2wgcnQ9OTE0Njc1MzQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCkdyaW1taSBnbGF1YnQgZG9jaCBub2NoIGFuIGRlbiBXZWlobmFjaHRzbWFubiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGFsbGdlbWVpbmVzIFpUcyAoR3JpbW1ib3JuLCAyNi4gRGV6IDE5OTgsIDEyOjMwOjM5KToKfiMhIHJuPUFzbW9kaXMgcnQ9OTE0Njc1MzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCldhcyBoZWlzc3QgZGEgZ2xhdWJlbj8gRGVyIGV4aXN0aWVydCEgU2NoYXUgRGljaCBudXIgbWFsIGltIFBvbGFyZ2ViaWV0IHVtLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGFsbGdlbWVpbmVzIFpUcyAoQXNtb2RpcywgMjYuIERleiAxOTk4LCAyMjoyMTo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTE0Njc1NDM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NjMyODkxCm5lLCBuYWNoZGVtIGljaCBqZWRlc21hbCBkYSB3YXIsIGV4aXN0aWVydGUgZGVyIG5pY2h0IG1laHIgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBhbGxnZW1laW5lcyBaVHMgKEtleSwgMjcuIERleiAxOTk4LCAwMTo1NDoyMSk6Cn4jISBybj1TdGluZyBydD05MTQ2NzM1Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQ2MzI4OTEKImJsb2VkZSBUYXN0YXR1ciIKQWVoIHdpZT8gQmVudXR6dGUgbmV0IGRpZSBDaGVycnk/IE9kZXIgaXN0IGRpZSBhdWNoIHNjaG9uIHdpZWRlciBoaW51ZWJlcj8gLikKCkdydXNzCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU09FTERORVIgR0VTVUNIVCEgKEtleSwgMjcuIERleiAxOTk4LCAwMzowOToyOCk6CkhpIExldXRzIC4uLiB3aXIgc3VjaGVuIG5vY2ggZnJlaXdpbGxpZ2UgenVtIG10emVsbiAuLi4KR2VzdWNodCB2b3IgYWxsZW0gS2xlcmlrZXIsIFphdWJlcmVyLCBLYWVtcGZlciwgQ2hhb3RlbiB1bmQgS2FyYXRla2EgOikKVW5kIHp3YXIgbW9yZ2VuIGFiIGFiZW5kcyBpcmdlbmR3YW5uIDopCgpNZWxkZXQgZXVjaCBtYWwKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNPRUxETkVSIEdFU1VDSFQhIChBc21vZGlzLCAyNy4gRGV6IDE5OTgsIDE4OjU2OjA1KToKfiMhIHJuPUtleSBydD05MTQ3MjgxNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQ3MjgxNjgKRHUgbWVpbnN0IGthbm9uZW5mdXR0ZXIgPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFsbGdlbWVpbmVzIFpUcyAoRmlyZWhhd2ssIDI3LiBEZXogMTk5OCwgMjE6MzA6MDApOgp+IyEgcm49WmlsbHVzIHJ0PTkxNDY1ODgwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpIZXksIHdlbSBzYWdzdCBEdSBkYXMsIGljaCBlcmlubmVyZSBtaWNoIHNlbGJzdCBhbiBkaWVzZSBaZWl0ZW4gOikKCkZpcmVoYXdrIC4uLiBpc3QgZGFtYWxzIGF1Y2ggZHVyY2ggZGllIEdlZ2VuZCBnZWtyYXVjaHQgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU09FTERORVIgR0VTVUNIVCEgKEtleSwgMjguIERleiAxOTk4LCAwMDo1ODoyNCk6Cn4jISBybj1LZXkgcnQ9OTE0NzI4MTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0NzI4MTY4CkhtcGYhIE1pc3N2ZXJzdGFlbmRuaXMhICwpCgpOYWphIG9raSB3aXIgZmFuZ2VuIG5vY2htYWwgdm9uIHZvcm5lIGFuCldpciB3b2xsZW4gRGFyJ1phY2hrYSBraWxsZW4uIFVuZCB6d2FyIGFiIGhldXRlLCBkZW0gMjguMTIuOTggdW0gMjJoIDopCgpPa2kgZGFubiBtZWxkZXQgZXVjaCB6YWhscmVpY2ggOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaWNyb3NvZnQgKEd1aWxkbywgMjguIERleiAxOTk4LCAwODo1NToyNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTkxNDM1MTEwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDM0MjcyMgpXaWVzbyBNUy1Qcm9kdWt0ZSBtZWlkZW4/IFdlbm4gZGllc2UgYW5nZWJsaWNoZSBTY2FuZnVua3Rpb24gc28gZ3V0IGlzdCB3aWUKZGllIE1TLSJCZXRyaWVic3N5c3RlbWUiLCBkYW5uIGhhdCBtYW4gdm9uIGlociBkb2NoIG5pY2h0cyB6dSBiZWZ1ZXJjaHRlbi4uLgoKR3VpbGRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUamEgS29vbWkuLi4gKEhhdGUsIDI4LiBEZXogMTk5OCwgMTU6Mzc6MzQpOgp+IyEgcm49Rnl0IHJ0PTkxNDQ0NTUzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDExNDY0OApTb2xsIGljaCBkaWNoIG1hbCBiZWlzc2VuLCBGeXQ/CgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVGphIEtvb21pLi4uIChNYWhhdG11LCAyOS4gRGV6IDE5OTgsIDEwOjU3OjUxKToKfiMhIHJuPUhhdGUgcnQ9OTE0ODU5NDU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE0MTE0NjQ4CldhcnVtIHdpbGxzdCBEdSBpaG0gZGVubiBhbSBGdXNzIHJ1bWdudWJiZWxuPyBPZGVyIGhhdCBkZXIgUmVudG5lcmZvbmQKYXVmIGVpbiBIb2x6Z2ViaXNzIGdlc3BhcnQ/IDopCkFjaCB3YXMuIE1haGF0bWEgZm9yIFNoZXJpZmYuIERhbm4gbWFjaHQgZGVyIG1hbCB3YXMgVmVybnVlbmZ0aWdlcyAuLi4KdW5kIHp3YXIgTmljaHQtRGEtU2VpbiBmdWVyIGRpZSBHZXJlY2h0aWdrZWl0IDstKQpJbW1lciBub2NoIGRpZSBiZXN0ZSBMb2VzdW5nLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWljcm9zb2Z0IChTb25nb2t1LCAzMC4gRGV6IDE5OTgsIDExOjU2OjE0KToKfiMhIHJuPUd1aWxkbyBydD05MTQ4MzUzMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQzNDI3MjIKU29sY2hlIHdpY2h0aWdlbiBTYWNoZW4gZnVua3Rpb25pZXJlbiBmZWhsZXJmcmVpIHVuZCBzaW5kIGFic3R1cnpnZXNjaHVldHp0LgpTYXlvbmFyYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYWxsZ2VtZWluZXMgWlRzIChMZW5hLCAgNC4gSmFuIDE5OTksIDA4OjE4OjI2KToKfiMhIHJuPUZpcmVoYXdrIHJ0PTkxNDYzNzk2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpJY2ggaGFiIGVpbmVuIFpULCBkZXIgaG9lcnQgc2ljaCBhdWNoIG5hY2ggZHVlc3RlcndhbGQgYW4uIE51ciBpc3QgZGVyIG5pY2h0CmluIER1ZXN0ZXJ3YWxkLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhbGxnZW1laW5lcyBaVHMgKEJvaW5nLCAgNC4gSmFuIDE5OTksIDEzOjQwOjAxKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkxNDYzMzM1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNDYzMjg5MQpBbHNvIE11cmFkaHMgVHVybSBpc3QgamV0enQgd2lya2xpY2ggZWluIGdhYWFhbnogc2NobGVjaHRlcyBCZWlzcGllbCwKZGllIFpUcyBkb3J0IGhhYmVuIG51biB3aXJrbGljaCBuaWNodCBkYXMgZ2VyaW5nc3RlIG1pdCBkZXIgUXVlc3QgenUgCnR1biwgZC5oLiB2b24gUXVlc3Qga29tcGxldHQgbm9jaG1hbCBzcGllbGVuIHVtIGVpbmVuIFpUIHp1IGhvbGVuIGthbm4KaGllciBuaWNodCBkaWUgUmVkZSBzZWluLgpFcnN0IGRlbmtlbiwgZGFubiBzY2hyZWliZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcnN0YWVya3VuZyB2b24gTW9uc3Rlcm4gKFJvY2h1cywgIDQuIEphbiAxOTk5LCAxODowMTo1Nyk6CkF1ZiBOZXNhamFzIFd1bnNjaCBoaW4gaGFiZSBpY2ggZWluaWdlIFNjaGlsZGtyb2V0ZW4KYWVoLi4uLiBFVFdBUyB2ZXJzdGFlcmt0Li4uIFZpZWwgU3Bhc3MgZGFtaXQuLi4gOy0pCgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiBIaWxmZWVlZSwgd2FzIHNjaHJlaWIgaWNoIGhpZXIgYmxvc3MgPz8/PyAoRnJvZ2h1bnRlciwgIDkuIEphbiAxOTk5LCAxNjoyNjoxOCk6CkljaCBtdXNzIGpldHp0IGVpbmZhY2ggbWFsIG1laHIgb2RlciB3ZW5pZ2VyIHNwb250YW4gSGFpciBsb2JlbjoKCkljaCBrZW5uIEhhaXIgbnVuIHNjaG9uIG5lIGdhbnplIFdlaWxlIHVuZCBtdXNzIHNhZ2VuLCBzaWUgaXN0IHdvaGwKZGllIG5ldHRlc3RlIC0gYWNoIG5lLCBpY2ggZGFyZiBqYSBuaWNodCB1bnRlcnRyZWliZW4gLSB3b2xsdGUgc2FnZW46IGRpZQphbmJldHVuZ3N3dWVyZGlnc3RlICdIb2JiaXRmcmF1JyBkZXMgTW9yZ2VuZ3JhdWVucy4gSWNoIGJpbiB3aXJrbGljaApzbyBiZWVpbmRydWNrdCB2b24gaWhyLCBkYXNzIGljaCBtZWluZSBCZWdlaXN0ZXJ1bmcga2F1bSBpbiBXb3J0ZSBmYXNzZW4Ka2FubiwgYWJlciBpY2ggbXVzcyBqYSBsZWlkZXIgLi4uLgpIYWlyIGlzdCBlaW5mYWNoIGxpZWIsIGludGVsbGlnZW50IHVuZCAgc2VlZWhyIGh1ZWJzY2guIApJaHIgbGFuZ2VyIEJhcnQsIGRlciBhdWYgendlcmdpc2NoZSBHcm9zc2VsdGVybiBzY2hsaWVzc2VuIGxhZXNzdCwgCmlzdCBlaW5mYWNoIG5pZWRsaWNoIHVuZCBkaWUgYmVoYWFydGVuIFN0dW1tZWxiZWluZSBzaW5kIGVpbmZhY2ggCnN1ZXNzLiBKZWRlbSwgZGVtIEhhaXIgYmVnZWduZXQsIHdpcmQgd2FybSB1bXMgSGVyeiB1bmQgdWViZXJhbGwKaW4gaWhyZXJlciBOYWVoZSBibHVlaGVuIGRpZSBCbHVtZW4gYXVmLiA7KQpIYWlyIGthbm4gYXVjaCB3YWFhYWhuc2lubmlnIHphZXJ0bGljaCBzZWluOyBqZWRlciwgZGVyIHZvbiBpaHIKZWlubWFsIG1pdCBlaW5lbSBLYW1wZnRyaXR0ICdiZWdsdWVja3QnIHd1cmRlLCBrYW5uIGRhcyBiZXN0YWV0aWdlbiA7KQoKQXVzc2VyZGVtIHNwaWVsdCBzdXBlcmd1bW1pZ3V0IE1hZXhjaGVuICB1bmQgaGF0IHdpcmtsaWNoIAonc3VwZXJ0b2xsZScgSWRlZW4sIHdhcyBXZXR0ZWluc2FldHplIGJlaW0gTWFleGNoZW4gYW5nZWh0LgpEaWVzZXIgQXJ0aWtlbCBpc3QgZHVtbWVyd2Vpc2UgZWluZXIgZGF2b24uIEljaCBoYWIgbnVuIG1vbmF0ZWxhbmcKdmVyc3VjaHQsIG1pY2ggenUgZHJ1ZWNrZW4sIGdlaHQgYWJlciBuaWNodCBsYWVuZ2VyLCBzb25zdCBiZWtvbW0KaWNoIFNjaGxhZWdlIC4uLi4KCk51biBob2ZmIGljaCBhbHNvIGF1ZiBkYXMgTWl0bGVpZCBlaW5lcyBNYWdpZXJzLCBkZXIgZGllc2VuIEFydGlrZWwgCm5hY2ggJ011ZWxsJyB2ZXJsZWd0LCBiZXZvciBpaG4genUgdmllbGUgTGV1dGUgbGVzZW4gOykKClAuUy46IEhhaXIgdmVybGllcnQgbmllLCB3ZW5ucyB1bSB3YXMgZ2VodCwgYWxzbyBhdWZwYXNzZW4gISEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICBIaWxmZWVlZSwgd2FzIHNjaHJlaWIgaWNoIGhpZXIgYmxvc3MgPz8/PyAoTW9yZ29uYXRlLCAgOS4gSmFuIDE5OTksIDE2OjMxOjUxKToKfiMhIHJuPUZyb2dodW50ZXIgcnQ9OTE1ODk5MTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE1ODk5MTc4Ck5hamEsIHp1bWluZGVzdCBIYWlyIHNvbGx0ZSBEZWluZW4gc2NobWVpY2hlbG5kZW4gQXJ0aWtlbCBoaWVyIHp1IGxlc2VuCmJla29tbWVuLCBiZXZvciBlciB2ZXJsZWd0IHdpcmQuIEFsc28gaWNoIGVyYmFybWUgbWljaCBEZWluZXIgaW0gTW9tZW50IG5pY2h0Lgo7KQoKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICBIaWxmZWVlZSwgd2FzIHNjaHJlaWIgaWNoIGhpZXIgYmxvc3MgPz8/PyAoUmlrdXMsICA5LiBKYW4gMTk5OSwgMTg6NDM6MjYpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTkxNTg5OTUxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNTg5OTE3OApva29rLCBpY2ggZXJiYXJtZSBtaWNoIGF1Y2ggOikgQnR3Liwgd2VyIGlzdCBIYWlyPwoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgSGlsZmVlZWUsIHdhcyBzY2hyZWliIGljaCBoaWVyIGJsb3NzID8/Pz8gKE1vcmdvdGgsIDEwLiBKYW4gMTk5OSwgMTE6NDY6MzUpOgp+IyEgcm49RnJvZ2h1bnRlciBydD05MTU4OTkxNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTU4OTkxNzgKSGFldHRlIGVpbiBlaW5mYWNoZXMgJ2ljaCB3aWxsIGZpY2tlbicgbmljaHQgZ2VyZWljaHQ/CgpNKiAoZ2FueiBzY2huZWxsIHZlcmxlZ2VuKSA7LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWFhYWhoIC0tIGtlaW5lIFB1c3Rla3Vlc3NlIG1laHI/IChTbXVyZiwgMTAuIEphbiAxOTk5LCAxNDowMjoxOSk6CkRhIGtvbW1lIGljaCBkb2NoIG5hY2ggTW9uYXRlbiBtYWwgd2llZGVyIGlucyBNRwp1bmQgbXVzcyBtaXQgRXJzdGF1bmVuIGZlc3RzdGVsbGVuLCBkYXNzIGRhcyBIYXVzIGRlciBGYXJiZW4KZnV0c2NoIGlzdCB1bmQgbWFuIHNvbWl0IG5pY2h0IG1laHIgYW4gZGFzIHNjaG9lbnN0ZSBGZWF0dXJlCmRlcyBIYXVzZXMgdWViZXJoYXVwdCByYW5rb21tdC4uLiAqc2V1ZnoqCgpJbiBkZXIgWmVpdHVuZyBzdGVodCBhbnNjaGVpbmVuZCBuaXgsIHdpZXNvIHVuZCB3YXJ1bSwKZGVyIFdlZyBpc3QgZWluZmFjaCB3ZWcsIG9obmUgZGFzcyBzaWNoIGplbWFuZCBkaWUgTXVlaGUgZ2VtYWNodApoYWV0dGUsIHdlbmlnc3RlbnMgZWluIFNjaGlsZCBoaW56dXN0ZWxsZW4gKG9kZXIgYXVjaCBudXIgZGllCkJlc2NocmVpYnVuZyBkZXMgYWJ6d2VpZ2VuZGVuIFdlZ3MgcmF1c3p1bmVobWVuKS4KCklyZ2VuZHdpZSBrb21tdCBkYXMgbmljaHQgc28gZG9sbGUgY29vbC4gSWNoIHdpbGwgZWlnZW50bGljaCBhdWNoCmdhciBuaWNodCB1bmJlZGluZ3Qgc28gZ2VuYXUgd2lzc2VuLCB3YXMgZGEgbG9zIGlzdC4uLgoKTW9lZ2UgZGVyIFZlcmFudHdvcnRsaWNoZSBzaWNoIGJpdHRlIGVudHdlZGVyIGRpZSBTYWNoZSBub2NobWFsCnVlYmVybGVnZW4gdW5kIGRhcyBUZWlsIHdpZWRlciBhbnNjaGxpZXNzZW4sIG9kZXIgd2VuaWdzdGVucwp2ZXJhbmxhc3NlbiwgZGFzcyBkZXIgWnVnYW5nIGV0Yy4gYXVmZ2VyYWV1bXQgd2lyZD8KCkRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhYWFhaGggLS0ga2VpbmUgUHVzdGVrdWVzc2UgbWVocj8gKEFuYXRvbCwgMTAuIEphbiAxOTk5LCAxNTo0ODo1OSk6Cn4jISBybj1TbXVyZiBydD05MTU5NzY5Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTU5NzY5MzkKV2VubiBEdSBtaXQgInNjaG9lbnN0ZW0gRmVhdHVyZSIgYXVmIGRlbiBUaXRlbCBEZWluZXMgQXJ0aWtlbHMgQmV6dWcKbmltbXN0LCBrYW5uIGljaCBEaWNoIGRpZXNiZXp1ZWdsaWNoIGRhbm4gZG9jaCBiZXJ1aGlnZW4uIERpZXNlcwoiRGluZyIgaXN0IGRldXRsaWNoIGFlbHRlciBhbHMgZGFzIEhhdXMgZGVyIEZhcmJlbiB1bmQgYW4gbWluZGVzdGVucwplaW5lbSBhbmRlcmVuIE9ydCAtIGJ6dy4gYmVpIG1pbmRlc3RlbnMgZWluZXIgYW5kZXJlbiBQZXJzb24gLSBmYXN0Cm9obmUgQXVmd2FuZCBlcmhhZWx0bGljaC4KCkFuYXRvbCAtIG5pY2h0IGdhZW56bGljaHN0IHVuZXJmYWhyZW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdWdndCBkYXMgR2VsZD8gKE1jY2F1bHMsIDEyLiBKYW4gMTk5OSwgMDA6MTk6MzIpOgpmb2xnZW5kZXMgZmluZGUgaWNoIHNlbHRzYW06CktlZXBlciBnaWJ0IERpciAxMDAwIE11ZW56ZW4uCktlZXBlciBnaWJ0IERpciAxMDAwIE11ZW56ZW4uCktlZXBlciBnaWJ0IERpciAxMDAwIE11ZW56ZW4uCktlZXBlciBnaWJ0IERpciAxMDAwIE11ZW56ZW4uCkR1IHN0ZWNrc3QgMjkwIE11ZW56ZW4gaW4gZGllIEdlbGRib2Vyc2UuCi0+IERhcyByZXN0bGljaGUgR2VsZCBoYXR0IHNpY2ggaW4gTHVmdCBhdWZnZWxvZXN0IQpjYSBuZSBTdHVuZGUgdm9yaGVyIGhhYiBpY2ggdm9uIHZlcmthdWZzZWlubmFobWVuIGNhIDQwMDAgTXVlbnplbiB2ZXJsb3Jlbi4KRWluZmFjaCB3ZWcuIFVuYXVmZmluZGJhci4gVW5kIFJvYmluIHdhciBzaWNoZXIgbmljaHQgaW4gZGVyIE5hZWhlLgoKSGF0IHdlciBuZSBMb2VzdW5nIGZ1ZXIgZGFzIFJhZXRzZWwsIG9kZXIgYnVnZ3QgZGEgd2FzPwoKTWNDYXVscywgZ3J1ZWJlbG5kIHVuZCBzZWluIGdlbGQgc3VjaGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FhYWFoaCAtLSBrZWluZSBQdXN0ZWt1ZXNzZSBtZWhyPyAoWmFybml5YSwgMTIuIEphbiAxOTk5LCAxMToyNzo1MSk6Cn4jISBybj1BbmF0b2wgcnQ9OTE1OTgzMzM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE1OTc2OTM5CmFsc28gaWNoIGJpbiBuaWNodCBudXIgZnVlciBkYXMgSGF1cyBkZXIgRmFyYmVuIHZlcmFudHdvcnRsaWNoIGdld2VzZW4sCnNvbmRlcm4gYXVjaCBkYWZ1ZXIsIGRhc3MgZXMgZGllIEt1ZXNzZSBhdWNoIHdvYW5kZXJzIGdpYnQgdW5kIHp3YXIgaW0KRWxmZW5kb3JmIDopIFVuZCBkYSBzaW5kIGRpZSBpbW1lciBub2NoIGFuZ2VzY2hsb3NzZW4uLi4gbWVociB2ZXJyYXQgaWNoIG5pY2h0CjopCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FhYWFoaCAtLSBrZWluZSBQdXN0ZWt1ZXNzZSBtZWhyPyAoUWl0ZXNzLCAxMi4gSmFuIDE5OTksIDE4OjE0OjM1KToKfiMhIHJuPVNtdXJmIHJ0PTkxNTk3NjkzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNTk3NjkzOQpudW4sIHdlbm4gZXMgUGVuZWxvcGVzIEtudXRzY2hyaW5nIG5vY2ggZ2ViZW4gc29sbHRlLCBkdWVyZnRlIGRhcyBkb2NoIGFsbGVzCmtlaW4gcHJvYmxlbSBzZWluIG9kZXIgPwoKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1Z2d0IGRhcyBHZWxkPyAoQWNyaW1vbiwgMTIuIEphbiAxOTk5LCAxOTo1NzozNSk6Cn4jISBybj1NY2NhdWxzIHJ0PTkxNjEwMDM3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNjEwMDM3MgpEYXMgaXN0IGRpZSBJbmZsYXRpb24uCgpPZGVyPyA6LSkKCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUkZSIChSb2NodXMsIDE4LiBKYW4gMTk5OSwgMjE6NTQ6MjYpOgpXaWUgZWluaWdlIHNjaG9uIGdlbWVya3QgaGFiZW4sIHd1cmRlIGVpbmUgQWVuZGVydW5nIGF1c3Byb2JpZXJ0LApkaWUgZGllIFJlaW4tRmV1ZXJiYWxsLVJhdXMtVGFrdGlrIHVuYXR0cmFrdGl2ZXIgbWFjaGVuIHNvbGwuCkRpZSBBZW5kcnVuZyB3aXJrdCBzaWNoIHNvIGF1cywgZGFzcyBBbmdyaWZmZSBrdXJ6IG5hY2ggZWluZSBCZXdlZ3VuZwp3ZW5pZ2VyIGVmZmVrdGl2IHNpbmQuCkRhcyBiZWRldXRldCBqZWRvY2ggYXVjaCwgZGFzcyBlaW5pZ2UgTW9uc3RlciwgZGllIG9obmUgUkZSIGthdW0genUgc2NoYWZmZW4Kc2luZCwgZ2VhZW5kZXJ0IHdlcmRlbiBtdWVzc2VuLgpFaW4gU3BpZWxlciBoYXQgc2ljaCBuZXR0ZXJ3ZWlzZSBiZXJlaXQgZXJrbGFlcnQsIGVpbmUgc29sY2hlIExpc3RlCmZ1ZXIgbWljaCB6dXNhbW1lbnp1c3RlbGxlbi4gRGllc2UgTW9uc3RlciB3ZXJkZW4gZGFubiB6dW5hZWNoc3QgbWFsCnNvIGFiZ2VhZW5kZXJ0LCBkYXNzIHNpY2ggc2ljaCB3aWUgYmlzaGVyIHZlcmhhbHRlbiwgYmlzIGRlciBub2NoIHp1CmVybmVubmVuZGUgRU0gZnVlciBOUEMtQmFsYW5jZSBaZWl0IGhhdCwgZGllIE9SREVOVExJQ0ggYW56dXBhc3Nlbi4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc3RhZXJrdW5nIHZvbiBNb25zdGVybiAoQXJrLCAxOC4gSmFuIDE5OTksIDIyOjA0OjMzKToKfiMhIHJuPVJvY2h1cyBydD05MTU0NzI5MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTU0NzI5MTcKRGFzIGhlaXNzdCBhYmVyIGF1Y2gsIGRhc3MgbWFuIGRpZSBNYWdpZXIgZGFydWViZXIgaW5mb3JtaWVydCwgZ2VsbGU/IFNvbnN0CmlzdCBkYXMgcG9saXRpc2NoIG5pY2h0IGtvcnJla3QsIHVuZCB3ZXIgd2lsbCBkYXMgc2Nob24gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJzdGFlcmt1bmcgdm9uIE1vbnN0ZXJuIChUcmFuY2VmZWFyLCAxOC4gSmFuIDE5OTksIDIyOjEwOjQwKToKfiMhIHJuPUFyayBydD05MTY2OTcwNzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTU0NzI5MTcKV2VubiBhbGxlIHZvcmhlciBkYXZvbiB3aXNzZW4gaXN0IGRvY2ggZGVyIEVmZmVrdCB3ZWcuLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXJzdGFlcmt1bmcgdm9uIE1vbnN0ZXJuIChBcmssIDE4LiBKYW4gMTk5OSwgMjI6MTI6MDkpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MTY2OTc0NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTU0NzI5MTcKTmFqYSwgaWNoIHNwcmFjaCB2b24gTWFnaWVybiB1bmQgaG9mZmUgKm5haXYqLCBkYXNzIGRpZXNlIHp3aXNjaGVuClNwaWVsZXJkYXNlaW4gdW5kIE1hZ2llcmRhc2VpbiB0cmVubmVuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcnN0YWVya3VuZyB2b24gTW9uc3Rlcm4gKEFuYXRvbCwgMTguIEphbiAxOTk5LCAyMjo0Njo0Myk6Cn4jISBybj1BcmsgcnQ9OTE2Njk3NTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE1NDcyOTE3CkR1IHRyaWZmc3QgZGVuIE5hZ2VsIGF1ZiBkZW4gS29wZiwgQXJrLiBEYXMgSG9mZmVuIGlzdCAqTkFJViogYmlzIHp1bQpBYndpbmtlbi4gSGFldHRlIHNpY2ggUm9jaHVzIGRhcmF1ZiB2ZXJsYXNzZW4ga29lbm5lbiwgZGFzcyB6dW1pbmRlc3QKTWFnaWVyIG5pY2h0IG51ciAxIHVuZCAxIHp1c2FtbWVuemFlaGxlbiwgc29uZGVybiBhdWNoIGF1cyBBIHVuZCBCIEMgCmZvbGdlcm4ga29lbm5lbiwgd2FlcmUgZXIgbmljaHQgZ2V6d3VuZ2VuIGdld2VzZW4sIGRlbiBTY2hyaXR0IGluIGFsbGVyClN0aWxsZSB6dSB0dW4uCgpXb2JlaSAtIGVpbiBHdXRlcyBoYXQgZGllIFNhY2hlIGphOiBKZXR6dCBrZW5udCBzaWNoIEJpZXJjaGVuIGluIGRlbgpEYXRlaWVuIGRlciBDaGFvc2dpbGRlIHdlbmlnc3RlbnMgZWluICpiaXNzY2hlbiogYXVzIDpvKQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFsZHVycyBHYXRlIChHb3JvZywgMjEuIEphbiAxOTk5LCAyMjoxNDoxNik6Ck1hbCBuZSBGcmFnZSwga2VubnQgc2ljaCBlaW5lciB2b24gRXVjaCBtaXQgZGVyIFNjcmlwdC1Qcm9ncmFtbWllcnVuZyB2b24KQmFsZHVycyBHYXRlIGF1cz8gT2RlciBoYXQgdmllbGxlaWNodCBzY2hvbiBuIHBhYXIgZ3V0ZSBTY3JpcHRlIGdlcHJvZ2d0PwpXYWVyIG5ldHQgd2VubiBzaWNoIHdlciBtZWxkZXQgdW5kIHNhZ3Qgb2JzIHNpY2ggbG9obnQgc2ljaCBpbiBkaWUgTWF0ZXJpZQplaW56dWFyYmVpdGVuIG9kZXIgc29nYXIgbiBndXRlcyBmZXJ0aWdlcyBTY3JpcHQgenV2ZXJnZWJlbiBoYXQgKDsKCkdvcm9nIGRpZSBwcm9ncmFtbWllciBXdXJzdCBudXR6IGdlcm5lIHZpZWxlIE1vZWdsaWNoa2VpdGVuIGVpbmVzIFNwaWVscyAoOwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhbGR1cnMgR2F0ZSAoQXJrLCAyMS4gSmFuIDE5OTksIDIyOjIyOjQ5KToKfiMhIHJuPUdvcm9nIHJ0PTkxNjk1Njg1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNjk1Njg1NgpIbSwgaWNoIGhhdHRlIHZvciwgbWlyIGRhcyBhbSBXRSBtYWwgYW56dXNlaGVuLCB2aWVsbGVpY2h0LCB3ZW5uIGljaCBuZXQKd2llZGVyIG1hbCBsaWViZXIgc3BpZWxlIGFscyBaZWl0IGRhcmF1ZiB6dSB2ZXJ3ZW5kZW4gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYWxkdXJzIEdhdGUgKEFuYXRvbCwgMjIuIEphbiAxOTk5LCAwMDoxNzo0OCk6Cn4jISBybj1BcmsgcnQ9OTE2OTU3MzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE2OTU2ODU2CkhtcGYsIGRhcyBEaW5nIGlzdCBpbiBPc25hYnJ1ZWNrIHZlcmdyaWZmZW4gOm8pCgpBbmF0b2wgLSBzb2dhciB2b24gTWVkaWFtYXJrdCBlaW4gIkxpZWZlcnNjaHdpZXJpZ2tlaXRlbiIgZ2Vob2VydCBoYWJlbmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWdlbmJvZ2VuZmFyYmVuIChaZXBoeXIsIDIyLiBKYW4gMTk5OSwgMDA6MTk6NTgpOgoKQWxzIGljaCBuZXVsaWNoIGplbWFuZGVuIGZyYWd0ZSwgd2FzIGRlbm4gbnUgZGllIHNpZWJ0ZSBGYXJiZQpkZXMgUmVnZW5ib2dlbnMgc2VpLCBlcm50ZXRlIGljaCBlaW5lbiB2ZXJ3aXJydGVuIEJsaWNrIHVuZApkaWUgRnJhZ2UsIHdpZSBpY2ggZGVubiBhdWYgc2llYmVuIEZhcmJlbiBrYWVtZS4KCk9id29obCAiZGllIHNpZWJlbiBGYXJiZW4gZGVzIFJlZ2VuYm9nZW5zIiBmdWVyIG1pY2ggYmlzaGVyCmVpbmUgZ2FlbmdpZ2UgUmVkZW5zYXJ0IHdhciwgZnJhZ2UgaWNoIG1pY2ggamV0enQgYWxsZXJkaW5ncwphdWNoLCB3b2hlciBkaWVzZXIgQXVzZHJ1Y2sgZGVubiBrb21tdC4gVW5kIHdpZXZpZWxlIGlobgpub2NoIGtlbm5lbi4gVW5kIHdpZXZpZWwgRmFyYmVuIGRlciBSZWdlbmJvZ2VuIGRlbm4gbnVuCndpcmtsaWNoIGhhdCA7KQoKKmtudWRkZWxzKgogICAgWmVwaHlyLCB2b3JzaW50Zmx1dGxpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWdlbmJvZ2VuZmFyYmVuIChLYXJhbSwgMjIuIEphbiAxOTk5LCAwMTo0NDozMyk6Cn4jISBybj1aZXBoeXIgcnQ9OTE2OTY0Mzk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE2OTY0Mzk4CkljaCBrZW5uZQoKICByb3QsIG9yYW5nZSwgZ2VsYiwgZ3J1ZW4sIGJsYXUsIGluZGlnbywgdmlvbGV0dAoKV29iZWkgaW5kaWdvIHNvd2FzIHp3aXNjaGVuIGJsYXUgdW5kIHZpb2xldHQgaXN0LiA7KQoKS2FyYW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlZ2VuYm9nZW5mYXJiZW4gKEthcmFtLCAyMi4gSmFuIDE5OTksIDExOjA2OjM1KToKfiMhIHJuPUF6enVybyBydD05MTcwMDMwNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTY5NjQzOTgKV2Vpc3MgaXN0IGtlaW5lIFNwZWt0cmFsZmFyYmUsIHNvbmRlcm4gYXVzIGFuZGVyZW4gRmFyYmVuIGdlbWlzY2h0LiBHZWh0CmFsc28gbmljaHQuCgpLYXJhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlZ2VuYm9nZW5mYXJiZW4gKE1vcmdvbmF0ZSwgMjIuIEphbiAxOTk5LCAxMToyMDoxNCk6Cn4jISBybj1aZXBoeXIgcnQ9OTE2OTY0Mzk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE2OTY0Mzk4CkFsc28gd2VubiBEdSBzbyB3aWxsc3QsIGVpbiBSZWdlbmJvZ2VuIGhhdCB1bmVuZGxpY2ggdmllbGUgRmFyYmVuLiBBYmdlc2VoZW4Kdm9uIGRlbiBGcmF1ZW5ob2ZlcnNjaGVuIExpbmllbiBnZWh0IGRhcyBMaWNodCBlaW5lcyBSZWdlbmJvZ2Vucwprb250aW51aWVybGljaCBkdXJjaCBkYXMgZ2VzYW1tdGUgc2ljaHRiYXJlIFNwZWt0cnVtICh1bmQgd2VpdGVyKS4KU293ZWl0IGRpZSBQaHlzaWsuIDspCkFuc29uc3RlbiwgbmltbSBkaWUgMyBHcnVuZGZhcmJlbjogcm90LCBnZWxiLCBibGF1IHVuZCBtaXNjaGUgU2llLiBXZW5uIER1Cm1heGltYWwgMiBGYXJiZW4genVzYW1tZW5taXNjaHQsIGtvbW1zdCBEdSBhdWYgNjogcm90LCBvcmFuZ2UsIGdlbGIsIGdydWVuLApibGF1LCB2aW9sZXR0LgpXZW5uIER1IDMgRmFyYmVuIHp1c2FtbWVuIG1pc2NodCwgYmVrb21tc3QgRHUgc2Nob24gMjcgTW9lZ2xpY2hrZWl0ZW4uCkltIE11ZCBmYWxsZW4gbWlyIGdsZWljaCAyIFN0ZWxsZW4gZWluLCB3byBtYW4gc28gZXR3YXMgYW5zY2hhdWxpY2gKYXVzcHJvYmllcmVuIGthbm4uIDspCgpNb3Jnb25hdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVnZW5ib2dlbmZhcmJlbiAoQWNyaW1vbiwgMjIuIEphbiAxOTk5LCAxNzoxODo1OCk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9OTE3MDA0MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE2OTY0Mzk4CkRlciBSZWdlbmJvZ2VuIGhhdCBleGFrdCBzb3ZpZWxlIEZhcmJlbiB3aWUgZGFzIExpY2h0LCBkYXMgaWhuIGVyemV1Z3QgKGRhcwppc3QgZmFzdCBpbW1lciBkYXMgU29ubmVubGljaHQpLgpBbHNvIHVuZW5kbGljaCB2aWVsZSAtIG5hZW1saWNoIGRhcyBTcGVrdHJ1bSBkZXIgU29ubmUuCldlciBpcmdlbmRlaW5lIEFuemFobCB2b24gRmFyYmVuIGFuZ2lidCwgZGllIG5pY2h0IHVuZW5kbGljaCBpc3QsIGRlciBoYXQKc2Nob24gZmFsc2NoIGdlcmF0ZW4uCgpEYXMgbWVuc2NobGljaGUgQXVnZSBoYXQgdmllciB2ZXJzY2hpZWRlbmUgUmV6ZXB0b3JlbiBtaXQgamV3ZWlscwp1bnRlcnNjaGllZGxpY2hlbSB3YWhyZ2Vub21tZW5lbSBGYXJic3Bla3RydW06CjEuIGRpZSBtZWlzdGVuIFJlemVwdG9yZW4gZXJrZW5uZW4gZGVuIGdyb2VzenRlbiBUZWlsIGRlcyBnZXNhbXRlbiBzaWNodGJhcmVuClNwZWt0cnVtcy4KMi4gZWluaWdlIGhhYmVuIGVpbiBTcGVrdHJ1bSB2byBhbGxlbSBpbSByb3RlbiBCZXJlaWNoLgozLiBlaW5pZ2UgaGFiZW4gZWluIFNwZWt0cnVtIHZvciBhbGxlbSBpbSBncnVlbmVuIEJlcmVpY2guCjQuIGVpbmlnZSBoYWJlbiBlaW4gU3Bla3RydW0gdm9yIGFsbGVtIGltIGJsYXVlbiBCZXJlaWNoLgoKRmFyYmVuLCBkaWUgbmljaHQgaW0gWmVudHJ1bSBlaW5lcyBkaWVzZXIgZHJlaSBCZXJlaWNoZSBsaWVnZW4sIHdlcmRlbiBhbHMKIk1pc2NoZmFyYmVuIiBlcmthbm50LgooTmFqYSwgbmljaHQgaW1tZXIsIGFiZXIgb2Z0KQoKRGllIHN1YnRyYWt0aXZlbiBHcnVuZGZhcmJlbiBzaW5kIHVlYnJpZ2VucyBuaWNodCBnZWxiLCByb3QgdW5kIGJsYXUsIHNvbmRlcm4KZ2VsYiwgbWFnZW50YSB1bmQgY3lhbi4KClVuZCB3YXMgZnJ1ZWhlciBhbHMgZGllICJzaWViZW4gRmFyYmVuIGRlcyBSZWdlbmJvZ2VucyIgYmVrYW5udCB3YXIsIGR1ZXJmdGUKKGluIGRpZXNlciBSZWloZW5mb2xnZSkgdmlvbGV0dCwgcm90LCBvcmFuZ2UsIGdlbGIsIGdydWVuLCBibGF1LCB2aW9sZXR0Cmdld2VzZW4gc2Vpbi4KKE9id29obCBkYXMgZWlnZW50bGljaGUgU3Bla3RydW0gamEgYW5kZXJzIGlzdDogaW5mcmFyb3QgLSByb3QgLSBnZWxiIC0gZ3J1ZW4KLSBibGF1Z3J1ZW4gLSBibGF1IC0gdWx0cmF2aW9sZXR0KS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlZ2VuYm9nZW5mYXJiZW4gKFBob2JvcywgMjIuIEphbiAxOTk5LCAxNzozNzowMSk6Cn4jISBybj1aZXBoeXIgcnQ9OTE2OTY0Mzk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE2OTY0Mzk4ClNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSwgZ2lidCBlcyBzb2dhciBhY2h0IFJlZ2VuYm9nZW5mYXJiZW4uCkFiZXIgZGllIGFjaHRlIEZhcmJlIChPa3RhcmluKSBrYW5uIG51ciB2b24gTWFnaWVybiB3YWhyZ2Vub21tZW4Kd2VyZGVuICgtPlRlcnJ5IFByYXRjaGV0dDogVGhlIENvbG91ciBvZiBNYWdpYykuCgogIFBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlZ2VuYm9nZW5mYXJiZW4gKERlZXBibHVlLCAyMi4gSmFuIDE5OTksIDE5OjExOjE4KToKfiMhIHJuPVplcGh5ciBydD05MTY5NjQzOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTY5NjQzOTgKdGVzdGUgZXMgYXVzOiB0ZWxuZXQgcmIubXVkLmRlIDQ3MTEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhbGR1cnMgR2F0ZSAoQXJrLCAyMi4gSmFuIDE5OTksIDIxOjE3OjU5KToKfiMhIHJuPUFuYXRvbCBydD05MTY5NjQyNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTY5NTY4NTYKSG0sIGljaCB3ZXJkZSB3b2hsIGRvY2ggc3BpZWxlbi4gVHJvdHogUGFzc2l2LVNrcmlwdCBsYWV1ZnQgbWVpbiBjaGFvdGlzY2hlcgpHbm9tIGVpbmZhY2ggaW4gZGVyIEdlZ2VuZCB1bWhlciwgdHN0cy4gRGEgbWFjaGUgaWNoIGRvY2ggbGllYmVyIGRlbiBLYW1wZiBtaXQKZGVyIFNwYWNlLVRhc3RlIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhbGR1cnMgR2F0ZSAoQ3lhbm4sIDIzLiBKYW4gMTk5OSwgMDI6NDI6NTMpOgp+IyEgcm49QW5hdG9sIHJ0PTkxNjk2NDI2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNjk1Njg1NgpMYXNzIGJsb3NzIGRpZSBGaW5nZXIgdm9uIGRlbSBTcGllbC4gRXMgc2VpIGRlbm4sIER1IGthbm5zdCBEaXIgZHJlaQpXb2NoZW4gVXJsYXViIGxlaXN0ZW4uLi4KCiAgIEN5YW5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCYWxkdXJzIEdhdGUgKEFuYXRvbCwgMjMuIEphbiAxOTk5LCAxMzowNjo1OSk6Cn4jISBybj1DeWFubiBydD05MTcwNTkzNzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTY5NTY4NTYKSUljaCBiaW4gTXVkZGVyLiBFcnphZWhsIG1pciBuaXggdm9uIFNwaWVsc3VjaHQuCgpBbmF0b2wgOm8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWdlbmJvZ2VuZmFyYmVuIChTb25nb2t1LCAyMy4gSmFuIDE5OTksIDE5OjQwOjMzKToKfiMhIHJuPUthcmFtIHJ0PTkxNjk2OTQ3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNjk2NDM5OApVbmQgYmVpIFByYXRjaGV0IGdpYnQgZXMgbm9jaCBva3RhcmluISEKU2F5b25hcmEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadW0gQ3Jhc2ggaGV1dGUga3VyeiBuYWNoIDE4OjAwIFVociAoV2ltLCAyMy4gSmFuIDE5OTksIDIwOjEyOjQ1KToKCkJldm9yIHNpY2ggbm9jaCBtZWhyIExldXRlIGF1ZnJlZ2VuIHVuZCBuYWNoIFNjaHVsZGlnZW4gc3VjaGVuLCByYWZmZSBpY2ggbWljaAptYWwgenUgZWluZXIga3VyemVuIEVya2xhZXJ1bmcgYXVmLgoKSGV1dGUgdW0gMTg6MDggd3VyZGUgZGFzIE11ZCBib2Vzd2lsbGlnIHZvbiBlaW5lbSBlaW5nZWxvZ2d0ZW4gR2FzdAphYmdlc2Nob3NzZW4uCkVzIGhhdCBzaWNoIGFsc28gZWluIENyYXNoIHN0YXR0Z2VmdW5kZW4uCgpTb3dvaGwgQXJ0IGRlcyBBYnNjaHVzc2VzIHdpZSBhdWNoIElkZW50aXRhZXQgZGVyIFBlcnNvbiBzdGVoZW4gZmVzdCB1bmQgaXN0CmFuIGRpZSBFTXMgd2VpdGVyZ2VsZWl0ZXQgd29yZGVuLgoKRGFzIGlzdCBhbGxlcywgd2FzIGljaCB6dSBkZW0gWmVpdHB1bmt0IGRhenUgc2FnZW4ga2Fubi4KCldpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bSBDcmFzaCBoZXV0ZSBrdXJ6IG5hY2ggMTg6MDAgVWhyIChNdXJkYWssIDIzLiBKYW4gMTk5OSwgMjM6MjA6MjIpOgp+IyEgcm49V2ltIHJ0PTkxNzEyMjM2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzEyMjM2NQptYWhsemVpdC4KCkljaCBob2ZmZSBtYWwsIGVzIGhhdCBtaXQgV2ltcyBDcmFzaCBuaWNodHMgenUgdHVuOgpEZXJ6ZWl0IGZpbmRlbiBpbiBFcmxhbmdlbiB3aWUgYW4gamVkZW0gemllbWxpY2gtbGV0enRlbiBKYW51YXJ3b2NoZW5lbmRlCmRpZSBTcGllbGVydGFnZSBzdGF0dCwgaW4gZGVyZW4gUmFobWVuIHdpciwgd2llIGplZGVzIEphaHIgZWluZW4ga2xlaW5lbgpNVUQtV29ya3Nob3AgdmVyYW5zdGFsdGVuLgoKRXJrZW5uZW4ga2FubiBtYW4gdW5zIGFtIEhvc3QgU3BpZWxlcnRhZ2Uubm9yaXMuZGUuCgpGYWxscyBlaW5lciBkZXIgSnVuZ3MvTWFlZGVscyBldWNoIGF1ZiBkZW4gTmVydiBnZWh0LCBvZGVyIEJsb2Vkc2lubgp0cmVpYnQsIGJpdHRlIHVtZ2VoZW5kIE1haWwgYW4gbWljaCAobXVmdGl4QGFzYmFjaC5kZSkuCgpJbSBOYWNoaGluZWluIGtyZWlnIGljaCBuYXR1ZXJsaWNoIG5pY2h0IG1laHIgcmF1cywgd2VycyB3YXIuCkljaCB3YWVyIHNjaG9uIGdhbnogZnJvaCwgd2VubiBpY2ggd3Vlc3N0ZSwgd2llIG1hbiBiZWkgZGVuIEhQLVRlcm1zIGRlbgpLZXlib2FyZC1Mb2NrIHJlaW5rcmllZ3QuIERhcyBzY2hhZmZlbiBzaWUgbmFlbWxpY2ggYXVjaCBnYW56IHRvbGwsCnVuZCBtYW4gbWVya3QgZXMgbnVyIGRhcmFuLCBkYXNzIG5pZW1hbmQgbWVociBkb3J0IHNpdHplbiB3aWxsLgoKS3JvZW51bmc6IE1vcmdlbmdyYXVlbiBtaXQgQ3RybC1BTFQtRGVsZXRlIHZlcmxhc3NlbiwgRnJldWRlIGFuIGRlbiBUZXJtcywKZGllIHVlYmVyIGRpZXNlbiBMaW51eC1SZWNobmVyIGdpbmdlbi4uLiA7KQoKICAgICB2aWVsIFNwYXNzIG5vY2guLi4KCiAgICAgICAgICAubS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVtIENyYXNoIGhldXRlIGt1cnogbmFjaCAxODowMCBVaHIgKE11cmRhaywgMjQuIEphbiAxOTk5LCAyMDo1Njo0Myk6Cn4jISBybj1NdXJkYWsgcnQ9OTE3MTMzNjIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MTIyMzY1Ck1haGx6ZWl0LAoKRW50d2FybnVuZy4gV2lyIGJhdWVuIGFiLiA7KQpWaWVsZW4gRGFuayBhbiBhbGxlLCBoYXQgd2llZGVyIFNwYXNzIGdlbWFjaHQuCkJpcyBkZW1uYWVjaHN0IGluIGRlLmFsdC5tdWQuCgogICAgICAgLm11cmRhay4KCi0tIApHb29kYnllLCBhbmQgdGhhbmtzIGZvciBhbGwgdGhlIGZpc2guLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlYm9vdCAoR2FzdDIsIDI1LiBKYW4gMTk5OSwgMTY6MTU6MDkpOgpTby4gSWNoIHdhciBmdWVyIGRlbiBSZWJvb3QgYW0gV0UgdmVyYW50d29ydGxpY2guIEljaCBoYWIgZGFzIE11ZCBnZWNyYXNodAppbmRlbSBpY2ggbWVpbmUgaWdub3JpZXJlLUxpc3RlIGdyb2Vzc2VyIHdlcmRlbiBsYXNzZW4gaGFiZSwgYWxzIGRlciBEcml2ZXIKZGFtaXQga2xhciBrb21tdC4KRXMgdHV0IG1pciBsZWlkLCB3ZW5uIGlociBldXJlIEF1c3J1ZXN0dW5nIHZlcmxvcmVuIGhhYnQsIHVuZCBpY2ggd2VyZGUgZGFzCk1HIG5pZSB3aWVkZXIgY3Jhc2hlbi4gWnVtaW5kZXN0IG5pY2h0IGFic2ljaHRsaWNoLCB3aWUgaW4gZGllc2VtIEZhbGwuCgpHYXN0IC8gRm9vYmFyQFJlZ2VuYm9nZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3QgKFJpa3VzLCAyNS4gSmFuIDE5OTksIDE2OjE3OjI5KToKfiMhIHJuPUdhc3QyIHJ0PTkxNzI4MDkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpIaSwKaWNoIGhvZmZlLCBkaWVzIGlzdCBEaXIgZWluZSBMZWhyZSwgRHUgaGFzdCBlcyBqYSBudW4gc2ljaGVybGljaCBtaXQKZ2VudWVnZW5kIExldXRlbiB2ZXJzY2hlcnp0LiBJY2ggaG9mZmUgc2VociAodW5kIHZlcmZvbGdlIGVzIGF1Y2gpLCBkYXNzCnNpY2ggZGllIFZlcmFudHdvcnRsaWNoZW4gaW0gUmVnZW5ib2dlbiBlbnRzcHJlY2hlbmQgdmVyaGFsdGVuIHVuZApyZWFnaWVyZW4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgKEFuYXRvbCwgMjUuIEphbiAxOTk5LCAxODowMToyMCk6Cn4jISBybj1SaWt1cyBydD05MTcyODEwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKLi4uLiAiZGllIFZlcmFudHdvcnRsaWNoZW4gaW0gUmVnZW5ib2dlbiIuLi4/IEJldHJpZmZ0IGRhcyBQcm9ibGVtIApOZXR6LVVuZnJldW5kbGljaGVyIGJ6dy4gZGVzdHJ1a3RpdmVyIFVzZXIgbmljaHQgZWhlciBBZG1pbmlzdHJhdG9yZW4/CgpBbmF0b2wgOm8pICpoZXR6KgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdCAoS2V5LCAyNS4gSmFuIDE5OTksIDE4OjA2OjA4KToKfiMhIHJuPUFuYXRvbCBydD05MTcyODcyODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSG1tIGljaCBtb2VjaHRlIGJpdHRlIGVpbmUgZW50c2NoYWVkaWd1bmcgZnVlciBkaWUgYXVzcnVlc3R1bmcgZGllIGljaAp2ZXJsb3JlbiBoYWJlIC4uLi4gSWNoIHNjaGxhZ2Ugdm9yIHdpciBnZWhlbiB2b24gZGVyIFplaXQgYXVzIGRpZSBpY2ggZnVlciBkYXMKYmVzb3JnZW4gYnJhdWNodGUuIE5vcm1hbCBpc3QgbmVuIFN0dW5kZW5sb2huIHZvbiA2MERNIGZ1ZXIgRmFjaGtyYWVmdGUgLi4uLgpJY2ggc2NocmVpYiBkYW5uIG1hbCBuZSBSZWNobnVuZyA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChQYXRyeW4sIDI1LiBKYW4gMTk5OSwgMTg6MzQ6MTIpOgp+IyEgcm49R2FzdDIgcnQ9OTE3MjgwOTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5Cm5pY2h0IHNjaG9uIHdpZWRlci4uLnNvZmVybiBpY2ggbWljaCBlcmlubmVyZSwgd3VyZGUgd2VnZW4gZGllc2VzIGlkZW90ZW4KZHJlc2RlbiBzY2hvbiBtYWwga29tcGxldHQgZ2VzcGVycnQgdW5kIG51ciBhdWYgZ3V0IHp1cmVkZW4gbWVpbmVyc2VpdHMKd2llZGVyIGZyZWlnZWdlYmVuLgpkYSBpY2ggaW0gcmVnZW5ib2dlbiBlaW5pZ2VzIHp1IHNhZ2VuIGhhdHRlLCBnYWJzIGF1Y2ggcmVpY2hsaWNoIGFlcmdlciwKYWJlciBnZWxlcm50IGhhdCBlciB3aWVkZXIgbWFsIG5peC4KbnVuIGphLi4ud29sbGVuIHdpciBkb2NoIG1hbCBzZWhlbiwgd2lldmllbCBlaW5mbHVzcyBub2NoIGRhIGlzdC4uLgoKLS0tLS0tCnBhdHJ5biBoYXNzdCBkZW4gdHlwZW4gZWggd2llIGRpZSBwZXNzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgKEdyaW1tYm9ybiwgMjUuIEphbiAxOTk5LCAxODozNDo1OSk6Cn4jISBybj1SaWt1cyBydD05MTcyODEwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSG1tLCBpY2ggZmluZGUgZXMgZGllIGZhbHNjaGUgUG9saXRpaywgd2VubiBtYW4sIGFuc3RhdHQgc2ljaCB1bSBGZWhsZXIgenUKa3VlbW1lcm4gZGllamVuaWdlbiBhbmdyZWlmdCwgZGllIEZlaGxlciBlbnRkZWNrZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdCAoUGFkcmVpYywgMjUuIEphbiAxOTk5LCAxODozNzowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTE3Mjg5Mjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkZlaGxlciBlbnRkZWNrZW4gaXN0IGVpbmUgU2FjaGUsIHNpZSBhdXNudXR6ZW4gZWluZSBhbmRlcmUuIApJbnNiZXNvbmRlcmUgYmVpIERpbmdlbiB3aWUgZWluZW0gbXVkLWNyYXNoIGthbm4gaWNoIGRhIG5pY2h0IG1laHIgdm9uIGVpbmVtCmVpbmZhY2hlbiBydW1zcGllbGVuIHNwcmVjaGVuLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgKERlZXBibHVlLCAyNS4gSmFuIDE5OTksIDE4OjU5OjU2KToKfiMhIHJuPVBhdHJ5biBydD05MTcyODkyNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSWNoIG1vZWNodGUgbWljaCBhbHMgTWl0bWFnaWVyIHZvbSBSQiBhdWNoIG5vY2ggbWFsIGZ1ZXIgZGFzIGVudHNjaHVsZGlnZW4sCndhcyBGb28gaGllciB2ZXJib2NrdCBoYXQgKHVuZCBhZXJnZXJlIG1pY2ggc2VsYnN0IHVlYmVyIGRpZSB2ZXJsb3JlbmUKQXVzcnVlc3R1bmcpLiBTY2hsaWVzc3QgYml0dGUgbmljaHQgdm9uIGVpbmVtIElkaW90ZW4gYXVmIGRhcyBnYW56ZSBNdWQgOigoKAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVib290IChEZWVwYmx1ZSwgMjUuIEphbiAxOTk5LCAxOTowMDo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTE3Mjg5Mjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5Cldlbm4gamVtYW5kIEZlaGxlciBlbnRkZWNrdCB1bmQgbWVsZGV0LCBpc3QgZGllcyBvay4gV2VubiBqZW1hbmQgZmVobGVyCmVudGRlY2t0IHVuZCBhdXNudXR6dCB1bSBTY2hlaS4uZSB6dSBiYXVlbiwgZ2Vob2VydCBlciBpbiBkZW4gQXJzY2gKZ2V0cmV0ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCAoQW5hdG9sLCAyNS4gSmFuIDE5OTksIDE5OjQzOjU4KToKfiMhIHJuPURlZXBibHVlIHJ0PTkxNzI5MDg1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpTZWluIGVyc3RlcyBLb21tZW50YXIgYmVpIGVpbnRyZWZmZW5kZXIgS3JpdGlrIHdhcjogIkl0J3MganVzdCBhIGdhbWUuIgpLYW5uIHNpY2ggbmljaHQgdW0gZWluZW4gZWNodGVuIE11ZGRlciBoYW5kZWxuLCBmdWVyY2h0ZSBpY2ggOm8pLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVib290IChEZWVwYmx1ZSwgMjUuIEphbiAxOTk5LCAyMDoyMDozNCk6Cn4jISBybj1BbmF0b2wgcnQ9OTE3MjkzNDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkZhY2hsaWNoIGlzdCBlciBndXQgKHNvbnN0IGhhZXR0ZSBlciBkZW4gQnVnIGphIG5pY2h0IGdlZnVuZGVuKSwgYWJlciBlcwpnZWhvZXJ0IGhhbHQgenUgbmVtIEVNIG5pY2h0IG51ciwgZGFzcyBlciBQcm9nZ2VuIGthbm4uIE5hamEsIGVpbiBNdWQgaXN0IGVpbgpnYW1lLCB3YXMgYWJlciBuaWNodCBiZXJlY2h0aWd0LCBlcyBhYnp1c2NoaWVzc2VuLi4uCk5hamEsIGljaCB3ZWlzcyBhYmVyIGF1Y2ggbmljaHQsIHdhc3MgbWFuIG1pdCBzbyBlaW5lbSAuLi4uLiBtYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlYm9vdCAoUmlrdXMsIDI1LiBKYW4gMTk5OSwgMjI6NDg6MjIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTE3Mjk1NjM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkVyIGhhdCBkb2NoIGJld2llc2VuLCBkYXNzIGVyIGtlaW5lIFZlcmFudHdvcnR1bmcgdHJhZ2VuIGthbm4sIHdhcwphYmVyIGdyYWRlIHZvbiBlaW5lbSBFTSBlcndhcnRldCB3aXJkIChkYXMgVHJhZ2VuLCBuaWN0aCBkYXMgTmljaHQtCnRyYWdlbiA6KSApLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlYm9vdCAoQW5hdG9sLCAyNS4gSmFuIDE5OTksIDIyOjQ5OjI0KToKfiMhIHJuPVJpa3VzIHJ0PTkxNzMwNDUwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpFciBoYXQgZWluaWdlcyBhdXMgZGVtIEthcGl0ZWwgIkludGVybmV0YmVudXR6dW5nIiBuaWNodCBiZWdyaWZmZW4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChUZWRkeSwgMjUuIEphbiAxOTk5LCAyMzowNTo1Nyk6Cn4jISBybj1HYXN0MiBydD05MTcyODA5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSWNoIHdlaXNzIG5pY2h0LCBvYiBkdSBkYXMgaGllciBtaXRsaWVzdCwgYWJlciBtaWNoIHd1ZXJkZSBlaW5mYWNoIG1hbCBkZWluZQpJbnRlbnRpb24gaW50ZXJlc3NpZXJlbi4KU293ZWl0IGljaCB3ZWlzcywgaGFzdCBkdSBkYXMgamEgc2Nob24gaW4gbWVocmVyZW4gTVVEcyBnZW1hY2h0LCBhbHNvIGthbm5zCm5pY2h0IGRlciBCdWcgZ2V3ZXNlbiBzZWluLCBkZW4gZHUgZmluZGVuIHdvbGx0ZXN0LgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IChEZWVwYmx1ZSwgMjUuIEphbiAxOTk5LCAyMzoxODoxOSk6Cn4jISBybj1UZWRkeSBydD05MTczMDU1NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKRGVyIEdydW5kPyBTZWxic3RkYXJzdGVsbHVuZyB2ZXJidW5kZW4gbWl0IFN0dW1wZnNpbm4gdW5kIHVlYmVyaGVibGljaGtlaXQuCldlbm4gZXIga2VpbmUgU2NoZWlzc2UgYmF1dCwgZnVlaGx0IGVyIHNpdWNoIG5pY2h0IGVybnN0Z2Vub21tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSZWJvb3QgKFJhbnRhbnBsYW4sIDI1LiBKYW4gMTk5OSwgMjM6MjE6MzIpOgp+IyEgcm49QW5hdG9sIHJ0PTkxNzMwNDU2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpNdWggIQoKQWxzbyBpY2ggZmluZCBlcyB0b3RhbCBnZWlsLCB3ZW5uIGplbWFuZCBkYXMgcG90ZW50aWFsIGJlc2l0enQgZWluZW4gQnVnCmF1c3p1bnV0emVuLi4uCgpVbmQgaWNoIGtlbm5lIGdlbnVnLCBkaWUgaGllciBsYXV0IGFwcGxhdWRpZXJ0IGhhYmVuLCBhbHMgei5CLjoKCmRlciBXb2xwaS1DbHViIGluIGRpZSBMdWZ0IGZsb2cKSHVuZGUgcGxvZXR6bGljaCBTZWhlcmhhdWVzZXIgYXBwb3J0aWVydGVuCmV0Yy4KCgpvb3BzCmV0YyBoZWlzc3QgbWlyIGZhZWxsdCBnZXJhZGUgbml4IG1laHIgZWluICEgOy0pCgpFZ2FsIHdpZSwgaG9lcnQgYXVmIHp1IHBsYWVycmVuIHVuZCBzcGllbCB3ZWl0ZXIgdW5kIHBhdGNoZWQgZGllIE1HLWxpYiwgaGVoZQohISEKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVib290IChKaWRkdSwgMjYuIEphbiAxOTk5LCAwMDoyNjoxOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTE3Mjg5Mjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkVuZHRkZWNrZW4gdW5kIGRhbm4gbWVsZGVuLCBuaWNodCBlbnRkZWNrZW4gdW5kIGRhbm4gYWJzaWNodGxpY2ggdW5kCmJvZXN3aWxsaWcgY3Jhc2hlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCAoQ3lhbm4sIDI2LiBKYW4gMTk5OSwgMDQ6MjQ6MDQpOgp+IyEgcm49SmlkZHUgcnQ9OTE3MzEwMzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CklyZ2VuZHdhbm4gaGFiIGljaCBtYWwgZ2VkYWNodCwgZGFzIGhpZXIgc2VpIG5lbiBTcGllbC4gTXVzcyBuZW4gSXJydHVtCmdld2VzZW4gc2Vpbi4uLi4KCkN5YW5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWJvb3QgKEtleSwgMjYuIEphbiAxOTk5LCAwODoyMzo1NSk6Cn4jISBybj1EZWVwYmx1ZSBydD05MTcyOTA3OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSG1tbW0gbm9lIHZvbiBlaW5lbSBJZGlvdGVuIHNjaGxpZXNzZW4gd2lyIG5pY2h0IGF1ZiBkYXMgZ2FuemUgTUcgLi4uLiBBYmVyCnZvbiAyPyA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWJvb3QgKE1haGF0bXUsIDI2LiBKYW4gMTk5OSwgMDg6NTE6NDgpOgp+IyEgcm49S2V5IHJ0PTkxNzMzOTAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpXaXIgd2VyZGVuIG1hbCBzY2hhdWVuLCB3YXMgbWFuIGRhICdtYWNoZW4nIGthbm4uIFJlc296aWFsaXNpZXJ1bmcgaXN0CmVpbiBzY2h3aWVyaWdlcyBUaGVtYSA6KSBTcGFzcyBiZWlzZWl0ZSwgU2NoZWlzc2UgbWl0IExpYmtlbm50bmlzc2VuCmhhYm5lIGhpZXIgc2Nob24gZWluaWdlIGdldHJpZWJlbiwgYWJlciBGb29iYXIgaGF0IGxlaWRlciBlaW5lbiBnZXdpc3NlbgpQdW5rdCB1ZWJlcnNjaHJpdHRlbi4KCkxlb25pZGFzQFJCLCBNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1bSBDcmFzaCBoZXV0ZSBrdXJ6IG5hY2ggMTg6MDAgVWhyIChBY3JpbW9uLCAyNi4gSmFuIDE5OTksIDIwOjQ2OjM2KToKfiMhIHJuPU11cmRhayBydD05MTcxMzM2MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcxMjIzNjUKV2VyIG5vcm1hbGVuIEJlbnV0emVybiBkaWUgTW9lZ2xpY2hrZWl0IGxhZXN6dCwgZWluZW4gbmljaHQtcHJpdmF0ZW4KTGludXgtUmVjaG5lciB1ZWJlciBDdHJsLUFsdC1EZWxldGUgenUgcmVib290ZW4sIGJlc2l0enQgYmVpIFdlaXRlbSB3ZW5pZ2VyClZlcmFudHdvcnR1bmdzZ2VmdWVobCBhbHMgamVtYW5kLCBkZXIgYXVzIEdhdWRpIGVpbmZhY2ggbWFsIGRhcyBNRyBhYnNjaGllc3p0LgpWZXJudWVuZnRpZ2UgT3BlcmF0ZXVyZSBzY2hhbHRlbiBkaWUgQWZmZW5ncmlmZi1SZXNldG1vZWdsaWNoa2VpdCBhdXMuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp1bSBDcmFzaCBoZXV0ZSBrdXJ6IG5hY2ggMTg6MDAgVWhyIChDeW1vbmssIDI2LiBKYW4gMTk5OSwgMjE6MDY6MzUpOgp+IyEgcm49QWNyaW1vbiBydD05MTczODM1OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcxMjIzNjUKaG1tbS4uLiA6KQpzY2hhZGUsIGRhc3MgZHUgbmljaHQgYWRtaW4gZWluZXMgbXVkIGJpc3QhCmRhbm4gaGFldHRlIGljaCBkYSBnZXJuZSAnbWFsIGVpbiBiaXNzY2hlbiBnYXVkaSB2ZXJicmVpdGV0LgpkdSBoYWV0dGVzdCBhbHMgb3BlcmF0b3Igc2VociBzY2huZWxsIGFuIGRlaW5lciB2ZXJudW5mdApnZXp3ZWlmZWx0IQoKY3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp1bSBDcmFzaCBoZXV0ZSBrdXJ6IG5hY2ggMTg6MDAgVWhyIChBY3JpbW9uLCAyNy4gSmFuIDE5OTksIDE3OjU1OjA0KToKfiMhIHJuPUN5bW9uayBydD05MTczODQ3OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcxMjIzNjUKTmVpbi4gSGFldHRlIGljaCBuaWNodC4KQWxzIE9wZXJhdGV1ciBtYWNodCBtYW4gZWJlbiBkaWUgU3lzdGVtZSBzaWNoZXIsIHNvd2VpdCBlcyBlaW5lbSBtb2VnbGljaCBpc3QuCkRhIHNjaGFsdGV0IG1hbiBzb3dvaGwgZGFzIEN0cmwtQWx0LURlbGV0ZSBhdXMgYWxzIGF1Y2ggdmVyc3VjaHQsCkdhdWRpLVJlYm9vdGVuIHZvbiBTcGllbGVybiBlaW5lcyBNdWRzIHp1IHZlcmhpbmRlcm4uCgpBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadW0gQ3Jhc2ggaGV1dGUga3VyeiBuYWNoIDE4OjAwIFVociAoQ3ltb25rLCAyNy4gSmFuIDE5OTksIDIxOjEyOjIyKToKfiMhIHJuPUFjcmltb24gcnQ9OTE3NDU5NzA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MTIyMzY1CnJpY2h0aWc6IHNvd2VpdCBlcyBlaW5lbSBtb2VnbGljaCBpc3QhIQp1bmQgaWNoIHN0ZWxsZSBudXIgZGllIHRoZXNlIGF1ZiwgZGFzcyBkaWVzZSBtb2VnbGljaGtlaXRlbiBiZWdyZW56dApzaW5kLiBkdSBoaW5rc3Qgdm9yaGFuZGVuZW4gYnVncyBpbW1lciB6ZWl0bGljaCBoaW50ZXIgaGVyLgp1bmQgZXJzdCByZWNodCBoaWVyIGltIG11ZCB3aXJkIHNpY2gga2VpbmVyIGZpbmRlbiwgZGVyIGluIGVocmVuYW10bGljaGVyCmFyYmVpdCBzb3dvaGwgZGVuIHNlcnZlciBhbHMgYXVjaCBsaWIgdW5kIGRyaXZlciBrb250aW51aWVybGljaApnZWdlbiBkaWUgYXR0YWNrZW4gdm9uIGlyZ2VuZHdlbGNoZW4gZHVtcGZiYWNrZW4gcGF0Y2h0ISEhCgpjeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVha2UyLUMgKEppZGR1LCAyOC4gSmFuIDE5OTksIDAyOjI2OjM1KToKSWNoIGhhYmUgZnJ1ZWhlciBlaW4gd2VuaWcgUXVha2VDIHByb2dyYW1taWVydCB1bmQgd29sbHRlIGZyYWdlbiwgb2IgbWlyCmlyZ2VuZGplbWFuZCBhKSBzYWdlbiBrYW5uLCBvYiBlcyBkaWVzZSBTdXJjZS1Db2RlcyBhdWNoIGZ1ZXIgUXVha2UyIGdpYnQsIGIpCm9iIGVzIGJpcyBhdWYgZXJ3ZWl0ZXJ1bmdlbiBncm9iIGRhcyBzZWxiZSBpc3QgdW5kIGMpIG9iIG1pciBqZW1hbmQgc2FnZW4Ka2Fubiwgd28gaWNoIGRpZSBzdXJjZXMgdW5kIGRlbiBjb21waWxlciBpbSBuZXR6IGZpbmRlbiBrYW5uLgoKSmlkZHUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlYm9vdCAoQmVsZ2FyaWFkLCAyOC4gSmFuIDE5OTksIDIzOjEzOjM3KToKfiMhIHJuPUN5YW5uIHJ0PTkxNzMyNDY0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpUamEgZGFzIGlzdCBlaW4gSXJydHVtLCBkYXMgaGllciBpc3QgZWluIEZ1bGx0aW1lam9iIQoKQmVsbGUgYXVzIGRlciBFbnR6aWVodW5nc2t1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9nZ2lubGlzdGUgKEJlbGdhcmlhZCwgMjkuIEphbiAxOTk5LCAwMDozMjowOSk6CkRhIGtvbWlzY2hlcndlaXNlIGJpZXRlIDxzaWNoIHNlbGJlcj4gZnJldW5kc2NoYWZ0IGFuIG5pY2h0IG1laHIgZ2VodCwgZmFlbmRlCmljaCBlcyBzaW5udm9sbCB3ZW5uIGVzIGVpbmUgbGlzdGUgZ2FlYmUgd28gbWFuIHNpZWh0IG1hbiBtYW4gZGFzIGxldHp0ZSBtYWwKZWluZ2Vsb2dndCB3YXIgKGRpZSBsZXR6dGVuIG1hbGUpIHNvIHdpZSBmaGlzdC4gSWNoIGhvZmZlIHNvd2FzIGppYmJldCBuZXQgdW5kCmljaCBoYWIgbWljaCBqZXR6dCB2b2xsIGJsYW1pZXJ0LgoKQmVsZ2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlYm9vdCAoRGFyaWEsIDI5LiBKYW4gMTk5OSwgMTM6MTk6MjQpOgp+IyEgcm49Q3lhbm4gcnQ9OTE3MzI0NjQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkphLCBkaWVzZXMgTXVkIGlzdCBlaW4gU3BpZWwuCk1lbnNjaCBhZXJnZXJlIERpY2ggbmljaHQgaXN0IGF1Y2ggZWluIFNwaWVsLgpUcm90emRlbSBpc3QgZXMgZ2FueiBzY2hvZW4gc2NoZWlzc2UsIHdlbm4gZWluZXIKbWl0dGVuIGltIFNwaWVsIHNhZW10bGljaGUgU3BpZWxzdGVpbmUgdm9tIEJyZXR0IGhhdXQKdW5kIGRhbmFjaCBibG9lZCBpbiBkaWUgR2VnZW5kIGdyaW5zdC4gRWluZXIsIGRlciBnYXIgbmljaHQgCm1pdHNwaWVsdC4KVW5kIGRhbm4gc2FndCAiU2VodCBpaHIsIGRhIGlzdCBlaW4gQnVnLiBEaWUgU3RlaW5lIHNpbmQKbmljaHQgZ2VudWVnZW5kIGFtIEJyZXR0IGJlZmVzdGlndC4KCkRhcmlhLiBBdWNoIFNwaWVsZSBoYWJlbiBSZWdlbG4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlYm9vdCAoUWl0ZXNzLCAyOS4gSmFuIDE5OTksIDE4OjIyOjE3KToKfiMhIHJuPVJpa3VzIHJ0PTkxNzI4MTA0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQp0c2NodWxkaWdlIG1hbCwgaXN0IGRhcyBlaW4gUHJvYmxlbSBkZXIgUmVnZW5ib2dlbi1MZXV0ZT8KVW5kIC0gd2llIHNvbGxlbiBkaWUgZGVpbmVyIG1laW51bmcgbmFjaCBkZW5uIHJlYWdpZXJlbiA/Pz8KVHMuCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWJvb3QgKFBhdHJ5biwgMjkuIEphbiAxOTk5LCAxODoyNTowNCk6Cn4jISBybj1RaXRlc3MgcnQ9OTE3NjM0MTM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CmRhcyBwcm9ibGVtIGlzdCBnZWdlc3Nlbi4uLmVzIHd1cmRlIGFuZ2VtZXNzZW4gcmVhZ2llcnQKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlYm9vdCAoUGF0cnluLCAyOS4gSmFuIDE5OTksIDE5OjAyOjA0KToKfiMhIHJuPVNyYWJpIHJ0PTkxNzYzNjI3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpkdSBoYWV0dGVzdCBkaWUgYWJzYWV0emUgbmljaHQgcGVyIGxlZXJ6ZWlsZSB0cmVubmVuIG11ZXNzZW4uLi5vZGVyIHNpZWh0CmlyZ2VuZHdlciBlaW5lbiB6dXNhbW1lbmhhbmcgendpc2NoZW4gZGVuIGRyZWkgaW5oYWx0c2xvc2VuCnN0YXRlbWVudHM/CgotLS0tLS0KcGF0cnluLCB2ZXJ3aXJydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVtIENyYXNoIGR1cmNoIEZvb2Jhci4uLiAoRm9vYmFyLCAgMS4gRmViIDE5OTksIDE0OjM1OjUzKToKSGFsbG8uCgpFcyBnaWJ0IGltbWVyIG5vY2ggTGV1dGUsIGRpZSBtaWNoIHBlciB0ZWlsZS1taXQgYW5zY2huYXV6ZW4sIHdhcnVtIGljaCBkZW5uCmRhcyBNRyBhYnNpY2h0bGljaCBnZWNyYXNodCBoYWV0dGUuCgpIaWVyenUgd29sbHRlIGljaCBudXIgbWFsIGtsYXJzdGVsbGVuLCBkYXNzIGljaCBOSUNIVCBkZXIgRm9vYmFyQFJlZ2VuYm9nZW4KYmluLCBkZXIgZGFzIE1HIGdlY3Jhc2h0IGhhdC4uLgoKU2Nob2VuZW4gR3J1c3MsCgpGb29iYXIgKGRlciBhdXMgZGVtIE1HKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1bSBDcmFzaCBkdXJjaCBGb29iYXIuLi4gKE1haGF0bXUsICAxLiBGZWIgMTk5OSwgMTQ6NDI6NTMpOgp+IyEgcm49Rm9vYmFyIHJ0PTkxNzg3OTc1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzg3OTc1MwouLi4gZGVyIGF1Y2ggYXVmIExldmVsIDMwIHp1cnVlY2tnZXNjaHJhdWJ0IHVuZCBldHdhcyBpbiBkZW4ga3VlaGxlbgpTY2hhdHRlbiBnZXN0ZWxsdCB3dXJkZSwgd2FzIHNvdmllbCBiZWRldXRldCB3aWU6IFN0cmFmZSBnZW51Zy4KS3VlaGx0IEV1ZXIgTXVldGNoZW4gd2llZGVyIGFuIGFuZGVyZW4gLi4uIHdpZSBTaGVyaWZmcyB1bmQgc28uCgpMZW9uaWRhc0BSZWdlbkJvZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVtIENyYXNoIGR1cmNoIEZvb2Jhci4uLiAoRGVlcGJsdWUsICAxLiBGZWIgMTk5OSwgMTg6MTI6MTIpOgp+IyEgcm49Rm9vYmFyIHJ0PTkxNzg3OTc1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzg3OTc1MwpBZW5kZXIgRGVpbmVuIE5hbWVuLCBkYW5uIGhhc3QgRHUgcnVoZS4gSW4gZGVtIEZhbGwgZmluZGVzdGUgU2ljaGVyIG5lbgpNYWdpZXIsIGRlciBkYXMgbWFjaHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVtIENyYXNoIGR1cmNoIEZvb2Jhci4uLiAoQ2FsaW1lcmEsICAxLiBGZWIgMTk5OSwgMTg6MTI6NDgpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTE3ODkyNzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3ODc5NzUzCkR1IHNwaW5uc3QgamEuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCAoQXNtb2RpcywgIDEuIEZlYiAxOTk5LCAyMTozMjozMik6Cn4jISBybj1HYXN0MiBydD05MTcyODA5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKRGVpbmUgaWdub3JpZXJlLUxpc3RlIHdhciBncm9lc3NlciBhbHMgbWVpbmU/IHVyZ3MsIGljaCBtdXNzIHdpZWRlciB3YXMgdHVuCjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVib290IChBc21vZGlzLCAgMS4gRmViIDE5OTksIDIxOjQwOjEzKToKfiMhIHJuPUFuYXRvbCBydD05MTcyOTM0Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSG1tLCBkYSB3dWVyZGUgaWNoIGVpbmUgS2xhZ2Ugd2VnZW4gJ3NlZWxpc2NoZXIgR3JhdXNhbWtlaXQnIGVpbnJlaWNoZW4uCldpZXZpZWxlIE11ZGRlciBzaW5kIHdvaGwgbWl0IFdlaW5rcmFlbXBmZW4genVzYW1tZW5nZWJyb2NoZW4gYWxzIGRhIHN0YW5kCidDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuJyA/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmVib290IChBc21vZGlzLCAgMS4gRmViIDE5OTksIDIxOjQyOjQ2KToKfiMhIHJuPVJhbnRhbnBsYW4gcnQ9OTE3MzA2NDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkhleSwgZGFzIG1pdCBkZW4gU2VoZXJoYWV1c2VybiB3YXIgbnVyIGx1c3RpZywgc29sbGVuIHNpZSBlYmVuIGd1Y2tlbiwgd28gaWhyCkhhdXMgamV0enQgc3RlaHQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWJvb3QgKEFzbW9kaXMsICAxLiBGZWIgMTk5OSwgMjE6NDc6MzMpOgp+IyEgcm49UGF0cnluIHJ0PTkxNzYzNDMwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpIYWJ0IGlociBSZWdlbmJvZ2VuIGdlY3Jhc2h0ID8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWJvb3QgKFJvY2h1cywgIDEuIEZlYiAxOTk5LCAyMTo0ODoxOSk6Cn4jISBybj1Bc21vZGlzIHJ0PTkxNzkwNTY1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpOT0NIIG5pY2h0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZWJvb3QgKFJpbmdvciwgIDEuIEZlYiAxOTk5LCAyMTo0OToxMSk6Cn4jISBybj1Sb2NodXMgcnQ9OTE3OTA1Njk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CldhcyBoYWJ0IGlociB2b3I/IFNjaGxldXN0IGlociBlaW5lbiBVbmRlcmNvdmVyLUVyem1hZ2llciBlaW4/IDotKQoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSZWJvb3QgKEFuYWNyaW9uLCAgMS4gRmViIDE5OTksIDIxOjQ5OjM4KToKfiMhIHJuPVJpbmdvciBydD05MTc5MDU3NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKSWNoIGRlbmtlLCBkYXMga29lbm5lbiBHYWVzdGUgPyA6KQoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlYm9vdCAoVGVkZHksICAxLiBGZWIgMTk5OSwgMjE6NDk6NDIpOgp+IyEgcm49UmluZ29yIHJ0PTkxNzkwNTc1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpJcyBQYWRyZWljIGF1Y2hub2NoIGZ1ZXIgVW5kZXJjb3ZlcmFrdGlvbmVuIHp1c3RhZW5kaWc/IDspCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmVib290IChBc21vZGlzLCAgMS4gRmViIDE5OTksIDIxOjUwOjE1KToKfiMhIHJuPVRlZGR5IHJ0PTkxNzkwNTc4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQpLbGFyLCBQYWRyZWljIGlzdCBHZWhlaW1kaWVuc3RjaGVmIGluIE1HIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUmVib290IChBbmFjcmlvbiwgIDEuIEZlYiAxOTk5LCAyMTo1MDo0MCk6Cn4jISBybj1UZWRkeSBydD05MTc5MDU3ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTcyODA5MDkKTmUgLi4uIGRhcyBpc3QgQ2F0d2VhemxlIC4uIGdlaGVpbWVyIEVyem1hZ2llciBpbSBhdXNzZW5kaWVuc3QgOikKCkFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBSZWJvb3QgKFN0aW5nLCAgMS4gRmViIDE5OTksIDIxOjUwOjQ0KToKfiMhIHJuPUFzbW9kaXMgcnQ9OTE3OTA1ODE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE3MjgwOTA5CkljaCB3dXNzdGUgZXMhIDopCgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCAoSmFzcGVyLCAgMi4gRmViIDE5OTksIDIzOjA3OjQ5KToKfiMhIHJuPURlZXBibHVlIHJ0PTkxNzI5MDg1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxNzI4MDkwOQp3aWUgZ3Jvc3Mgd2FyIGRlbm4gbnUgZGllIG1heGltYWxlIGFuemFobCBkZXIgaWdub3JpZXJ0ZW4gc3BpZWxlcj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1PTlNURVJFTFNURVJOIElNIEdMT0NLRU5XQUxEISEgKEthZGFicmEsICAzLiBGZWIgMTk5OSwgMjI6MTk6NDQpOgpBbHNvIHNvd2FzISBIYXQgTW9yZ290aCBoZWltbGljaCBhbiBkZW4gRWxzdGVybiBydW1nZXByb2dndD8gR2lidCBlcwpqZXR6dCBuZWJlbiBkZXIgR2lsZGVuLSBhdWNoIG5lIFRpZXJiYWxhbmNlPyBEYXMgc2Nod2FyendlaXNzZQpEaWVic2dlc2luZGVsIGhhdCBuYWVtbGljaCBwbG9ldHpsaWNoIHVuZ2xhdWxpY2ggdmllbCBFbmVyZ2llIHVuZAp1bnZlcnNjaGFlbXQgdmllbGUgTHBzLiBNZWluIFp3ZWl0aSBoYXQgendhbnppZyBNaW51dGVuIGFuIGVpbmVyIEVsc3RlcgpydW1nZW1ldHplbHQgdW5kIHNpZSBrb25udGUgc2ljaCBuaWNodCByZWNodCBlbnRzY2hlaWRlbiBvYiBzaWUKbnVuIG5pY2h0IG1laHIgdGF1ZnJpc2NoIG9kZXIgbGVpY2h0IGFuZ2VzY2hsYWdlbiB3YXIgOykuCkljaCBtdXNzdGUgc2llIGhvZWNoc3RwZXJzb2VubGljaCBtaXQgc2VjaHMgKFNFQ0hTKSBIaXR6ZXNjaGxhZWdlbgplcmxlZ2VuLiBGYWVsbHQgZGFzIHVudGVyIEF0bW9zcGhhZXJlIG9kZXIgd2FzID8Ka2FkYWJyYSAoaW1tZXIgbm9jaCBhdXNzZXIgQXRlbSB1bmQgaW4genVrdW5mdCBudXIgbm9jaCBtaXQgUGZlaWwgdW5kCkJvZ2VuIHVudGVyd2Vncy4uLi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNT05TVEVSRUxTVEVSTiBJTSBHTE9DS0VOV0FMRCEhIChCb2luZywgIDUuIEZlYiAxOTk5LCAxNTozNjoyNCk6Cn4jISBybj1LYWRhYnJhIHJ0PTkxODA4MDM4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODA4MDM4NApJY2ggaGFiIGRpZSBNb25zdGVyZWxzdGVyIG1hbCB6dXIgQnJ1c3QgZ2Vub21tZW4sIGRpZSBzb2xsdGUgbnVuIHdpZWRlcgpicmF2IHdpZSB6dXZvciBzZWluLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1PTlNURVJFTFNURVJOIElNIEdMT0NLRU5XQUxEISEgKEFjcmltb24sICA1LiBGZWIgMTk5OSwgMTc6MjI6NTApOgp+IyEgcm49Qm9pbmcgcnQ9OTE4MjI4OTg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4MDgwMzg0Cm1hbiBoYWV0dGUgZGllc2VzIFByb2JsZW0gamEgYXVjaCBhbGxnZW1laW4gbG9lc2VuIGtvZW5uZW46Cm5hY2ggZGVyIEZsdWNodCBpc3QgZWluIE1vbnN0ZXIgc28gYW5zY2hsYWdiYXIgd2llIHdlbm4gZGVyIFNwaWVsZXIgc2Nob24gaW0KUmF1bSB3YWVyZSwgd2FlaHJlbmQgZXMgZXJzdCA1IFNla3VuZGVuIChvZGVyIHNvKSBuYWNoIGRlciBGbHVjaHQgd2llZGVyCmF1Zm1lcmtzYW0gd2lyZCB1bmQgZGVuIEVyc3RzY2hsYWcgYWJzY2h3YWVjaHQuCihBdXNuYWhtZW4genVnZWxhc3NlbikKCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNT05TVEVSRUxTVEVSTiBJTSBHTE9DS0VOV0FMRCEhIChLYWRhYnJhLCAgNS4gRmViIDE5OTksIDIzOjM5OjM2KToKfiMhIHJuPUJvaW5nIHJ0PTkxODIyODk4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODA4MDM4NApHT1RUU0VJREFOSyA7KSkpKQpLb21tZW4gYXVjaCBzaWUgaW5zIE1vcmdlbkdyYXVlbiwgZG9ydCB3ZXJkZW4gSWhyZSBHZWJldGUgdW1nZWhlbmQgdm9tCkdvdHQgcGVyc29lbmxpY2ggZXJob2VydCwgYmVhcmJlaXRldCB1bmQgZXJsZWRpZ3QgOykKZGFua2UgQm9pbmcgOykKa2FkYWJyYSAoYW5kYWVjaHRpZykgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3QocykgKFJpbmdvciwgIDguIEZlYiAxOTk5LCAxODoxOTowMCk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTkxODQ5NTE5NCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9OTE4NDk1MTk0CkhpaG8hCgpBbGxlbiBURi1OdXR6ZXJuIG1vZWNodGUgaWNoIG5vY2ggZGVuIFRpcCBnZWJlbiwgaWhyZSBXZWx0IGFiIGpldHp0IHZvbSBUeXAKJ2xwcCcgenUgZGVmaW5pZXJlbiwgYW5zdGF0dCBhbHMgJ2xwJy4gCgpBdWYgZGllIEFydCB3aXJkIGRlciB1bnNlbGlnZSBUaW1pbmctTWVjaGFuaXNtdXMgYmVpIGRlbiBQcm9tcHRzIHVtZ2FuZ2VuIHVuZAptYW4ga2FubiBkaWUgVm9ydGVpbGUgZGVyIG5ldWVuIFByb21wdHMgdm9sbHN0YWVuZGlnIGF1c251dHplbi4KCkJlaXNwaWVsOgoKL2FkZHdvcmxkIC1UbHBwIG1nIDxuYW1lPiA8cHc+IG1nLm11ZC5kZSAyMwoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlYm9vdChzKSAoQWNyaW1vbiwgIDguIEZlYiAxOTk5LCAyMDozNDoxNCk6Cn4jISBybj1SaW5nb3IgcnQ9OTE4NDk3OTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NDk1MTk0CkdlaHQgbmF0dWVybGljaCBhdWNoIG1pdCBhbmRlcmVuIE5hbWVuIGFscyAnbHBwJy4uLiBpY2ggaGF0dGUgc2Nob24gdm9yIEphaHJlbgpkYXMgTUcgYWxzIFR5cCAnbWcnIGRlZmluaWVydCwgdW0gZGVuIFRpbWluZy1NZWNoYW5pc211cyB6dSB1bWdlaGVuLCB1bmQgaGF0dGUKYmVpbSBoZXV0aWdlbiBFaW5sb2dnZW4gZWluZSBmcmV1ZGlnZSBVZWJlcnJhc2NodW5nIC0gYWIgaGV1dGUgZ2VoZW4gZGllClByb21wdHMgOi0pCkpldHp0IGZlaGxlbiBudXIgbm9jaCBkaWUgSXNvLTg4NTkxLVVtbGF1dGUsIHVtIG1pY2ggcmljaHRpZwp6dWZyaWVkZW56dXN0ZWxsZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290KHMpIChLZXksICA5LiBGZWIgMTk5OSwgMDg6MTk6MDApOgp+IyEgcm49UmluZ29yIHJ0PTkxODQ5Nzk0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODQ5NTE5NApFcmtsYWVydCBtaXIgbWFsIGVpbmVyIHdvcnVtIGVzIGdlbmF1IGdlaHQ/IC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdChzKSAoUmluZ29yLCAgOS4gRmViIDE5OTksIDEzOjIwOjIxKToKfiMhIHJuPUtleSBydD05MTg1NDgzNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg0OTUxOTQKT2theSwgYmV2b3IgaWNoIGVzIGFsbGVuIGVpbnplbG4gZXJrbGFlcmUsIGhhbHQgZWlubWFsIG9lZmZlbnRsaWNoOgoKRGFzIE1HIGhhdCBiaXMgTW9udGFnIGFsbGUgUHJvbXB0cyAoIj4gIiwgIi0tbWVoci0tIiBldGMpIGVpbmZhY2ggYWxzIFplaWxlbgpvaG5lIGFic2NobGllc3NlbmRlbiBaZWlsZW51bWJydWNoIGFiZ2VzY2hpY2t0LiBEYWR1cmNoIGhhdHRlbiBDbGllbnRzIHdpZSBURgpvZGVyIHpNdWQga2VpbiBzaWNoZXJlcyBLcml0ZXJpdW0sIGR1cmNoIGRhcyBzaWUgUHJvbXB0cyB2b24gdW52b2xsc3RhZW5kaWcKdWViZXJtaXR0ZWx0ZW4gWmVpbGVuIHVudGVyc2NoZWlkZW4ga29ubnRlbi4KClVtIGRlbm5vY2ggaXJnZW5kd2llIGVpbmUgVW50ZXJzY2hlaWR1bmcgdm9ybmVobWVuIHp1IGtvZW5uZW4sIGhhdCBURiB6LkIuIGF1ZgplaW5lbiBUaW1pbmctTWVjaGFuaXNtdXMgenVydWVja2dlZ3JpZmZlbjogd2VubiBuYWNoIGVpbmVyICJ1bnZvbGxzdGFlbmRpZ2VuIgpaZWlsZSBlaW5lIGJlc3RpbW10ZSBaZWl0IGxhbmcga2VpbiB3ZWl0ZXJlciBUZXh0IHZvbSBNdWQga2FtLCB3dXJkZSBkaWVzZQpaZWlsZSBhbHMgUHJvbXB0ICJlcmthbm50Ii4KCkRhcyBmdWVocnQgbmF0dWVybGljaCBpbW1lciBkYW5uIHp1IEZlaGxlcm4sIHdlbm4gZW50d2VkZXIgZGlyZWt0IG5hY2ggZWluZW0KUHJvbXB0IGVpbmUgbmV1ZSBaZWlsZSBrb21tdCAoei5CLiAiLS1tZWhyLS0iIGRpcmVrdCBnZWZvbGd0IHZvbiAiSmVtYW5kIHRlaWx0CkRpciBtaXQ6IEhpISIgLSBmdWVocnQgZGF6dSwgZGFzcyBkYXMgIi0tbWVoci0tIiB6dSBkZXIgWmVpbGUgbWl0IGRlbQp0ZWlsZS1taXQgZ2VyZWNobmV0IHdpcmQpLCBvZGVyIHdlbm4gZWluIGxhZW5nZXJlciBUZXh0IHZvbSBNdWQgZGFuawpzY2hsZWNodGVyIExlaXR1bmdlbiBpbiBSYXRlbiBlaW50cnVkZWx0IHVuZCB6d2lzY2hlbiBkZW4gZWluemVsbmVuIFBha2V0ZW4KenV2aWVsIFplaXQgdmVyZ2VodC4KCkluIGxldHp0ZXJlbSBGYWxsIHBhc3NpZXJ0IG5vY2ggbml4IHdpbGRlcywgc28gbGFuZ2UgaW4gZGVyIFplaXQsIGJpcyBkZXIgVGV4dAprb21wbGV0dCBhbmdla29tbWVuIGlzdCwga2VpbmUgRWluZ2FiZSBnZW1hY2h0IHdpcmQuIFdlbm4gbWFuIGFiZXIgc2VsYnN0CmdlcmFkZSB6LkIuIGVpbiB0ZWlsZS1taXQgYW4gc2VpbmVuIEdlc3ByYWVjaHNwYXJ0bmVyIGFic2NoaWNrdCwgd2FlaHJlbmQgZGllCmVyc3RlIEhhZWxmdGUgZGVzIGFua29tbWVuZGVuIFRleHRlcyBnZXJhZGUgYWxzIFByb21wdCAiZXJrYW5udCIgd3VyZGUgdW5kIGRpZQp6d2VpdGUgSGFlbGZ0ZSBub2NoIGlyZ2VuZHdvIGltIE5ldHogdW50ZXJ3ZWdzIGlzdCwgc28gc2llaHQgc2ljaCBURgpiZXN0YWV0aWd0LCBkYXNzIGVzIHNpY2ggYmVpIGRlciBlcnN0ZW4gSGFlbGZ0ZSB3aXJrbGljaCB1bSBlaW5lbiBQcm9tcHQKaGFuZGVsdGUgdW5kIHZlcndpcmZ0IGRlbiBUZXh0LgoKQXVmIGRpZSBBcnQga2FubiBtYW4gYmVpIHNjaGxlY2h0ZXIgTGVpdHVuZyB6aWVtbGljaCB2aWVsZSBoYWxiZSB0ZWlsZS1taXRzCnZlcmxpZXJlbiwgd2FzIGF1ZiBkaWUgRGF1ZXIgcmVjaHQgbmVydmlnIHdpcmQuCgpVbSBlcyBrdXJ6IHp1IG1hY2hlbjogZ2VuYXUgZGFzIHBhc3NpZXJ0IGpldHp0IG5pY2h0IG1laHIuIERhcyBNRyBrZW5uemVpY2huZXQKZGllIFByb21wdHMgc2VpdCBNb250YWcgZnVlciBqZWRlbiBDbGllbnQsIGRlciBkYXMgdW50ZXJzdHVldHp0LCBlaW5kZXV0aWcgbWl0CmVpbmVtIHNwZXppZWxsZW4gU3RldWVyemVpY2hlbi4gRnVlciBhbGxlIGFuZGVyZW4gYWVuZGVydCBzaWNoIG5pY2h0cy4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVib290KHMpIChLZXksICA5LiBGZWIgMTk5OSwgMTM6Mjc6MTYpOgp+IyEgcm49UmluZ29yIHJ0PTkxODU2NjQyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODQ5NTE5NApBaGhoIERhbmtlIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuIGFsbGUgIkZyZXVuZGUiIChMZW5hLCAxMS4gRmViIDE5OTksIDEzOjM0OjE2KToKSGkuCldlciBtaWNoIGF1ZiBkZW0gRi1CYW5kIGhhdCAoYXVzc2VyIFJlYXBlciB1bmQgQXBwbGUpIHNvbGxlbiBtaWNoIGJpdHRlIG1hbAp2ZXJhY2h0ZW4sIHdlaWwgZGllIEVpbnRyYWVnZSBmYWxzY2ggc2luZC4gTm9ybWFsZXJ3ZWlzZSB3aXJkIGRhcyBGLUJhbmQKYXV0b21hdGlzY2ggYWt0dWFsaXNpZXJ0IG51ciBoYWx0Cm5pY2h0IGluIGRlbSBzcGV6aWVsbGVuIEZhbGwgdW5iZWRpbmd0LgpBbiBhbGxlIGFuZGVyZW4uIElnbm9yaWVydCBkaWVzZW4gQXJ0aWtlbCBlaW5mYWNoLgpMZW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuIGFsbGUgIkZyZXVuZGUiIChQYXRyeW4sIDExLiBGZWIgMTk5OSwgMTM6NDA6MDcpOgp+IyEgcm49TGVuYSBydD05MTg3NDAwNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDAwNTYKYWxzbyBzbyBnYW56IGhhc3QgZHUgZXMgZG9jaCBuaWNoIHZlcnN0YW5kZW4gOikKZGFzIGZiYW5kIGFyYmVpdGV0Li4ubnVuIHNhZ2VuIHdpci4uLmV0d2FzIHZlcndvcnJlbi4gKmdyaW5zKgppcmdlbmR3aWUgaGFldHRlIGljaCBkYXMgbmllIHNvIHByb2dyYW1taWVydCwgYWJlciBlZ2FsLiBkdSBiZXNjaHdlcnN0CmRpY2gsIGRhc3MgZHUgbm9jaCBmcnVmZSB2b24gbGV1dGVuIGJla29tbXN0LCBkaWUgZHUgZWlnZW50bGljaAp2ZXJhY2h0ZXN0IGhhc3QuIGRhcyBnZXNjaGllaHQgZ2VuYXUgYmVpIGVpbmVtIHRlaWwgdm9uIGRlbmplbmlnZW4sCmRpZSBuaWNoIGRhIHdhcmVuLCBhbHMgZHUgZ2VyYWRlIGlyZ2VuZHdlbGNoZSBwZXJzb2VubGljaGVuIHByb2JsZW1lCmF1c2xlYnRlc3QuIGRhcyBpc3QgYXVjaCBrb3JyZWt0IHNvLiBpY2gga29lbm50ZSBlcyB6d2FyIHVtYmF1ZW4sIHNvZGFzcwptYW4gYXVjaCBuaWNodCBhbndlc2VuZGUgc3BpZWxlciBzb2ZvcnQgYmVpZHNlaXRpZyBpZ25vcmllcmVuIGthbm4sIGFiZXIKZXMgd2FlcmUgcmVjaHQgdW1zdGFlbmRsaWNoLCB1bmQgaWNoIGZpbmRlIGVzIHVubm9ldGlnLgpmcmV1bmRzY2hhZnRzYmFlbmRlciBzY2hhdW4gZGVzaGFsYiBiZWltIGVpbmxvZ2dlbiwgb2IgYmVpIGVpbmVtIGRlcgphbndlc2VuZGVuIGZyZXVuZGUgZGllIGZyZXVuZHNjaGFmdCB6dSBzaWNoIGdlbG9lc3N0IHd1cmRlLiB3ZW5uIGphOgphdXN0cmFnZW4gdW5kIG1lbGR1bmcuCndpZSBrYW5uIGVzIGFsc28gc2VpbiwgZGFzcyBpaHIgYmVpZGUgZGEgc2VpZCB1bmQgZHUgbm9jaCBmcnVmZSBiZWtvbW1zdD8KZ2FueiBlaW5mYWNoLCBkZXIgdm9uIGRpciBlaGVtYWxzIGlnbm9yaWVydGUgaGF0IHNpY2ggZWhlciBlaW5nZWxvZ3QgYWxzCmR1LiB6dSBkaWVzZW0gemVpdHB1bmt0IGtvbm50ZSBkYXMgZnJlbWRlIGZyZXVuZHNjaGFmdHNiYW5kIGRlaW5lbgpmcmV2ZWhsYWZ0ZW4gYWt0IG5vY2ggbmljaCBlcmtlbm5lbiwgZGEgZHUgamEgaGFsdCBuaWNoIGFud2VzZW5kIHdhcnN0LgpkYW5uIGxvZ3N0IGR1IGRpY2ggZWluLCBkZWluIGZyZXVuZHNjaGFmdHNiYW5kIGhhdCBqYSBlaCB2b24gbml4IG1laHIgbmUKYWhudW5nIHp1IGRlbSB6ZWl0cHVua3QgdW5kIG5peCBwYXNzaWVydCBlYmVuZmFsbHMuCmRlc2hhbGIgZ2lidHMgd2VpdGVyIGZydWZlLgphbGxlcyBrbGFyPyA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnJldW5kc2NoYWZ0c2JhbmQgKFBhdHJ5biwgMTEuIEZlYiAxOTk5LCAxNjoxODo1NSk6CmhhYiBkZW0gZnJldW5kc2NoYWZ0c2JhbmQgYXVjaCBtYWwgZGllIGlkIGZiYW5kIHZlcnBhc3N0LgphdXNzZXJkZW0gd3VyZGUgZGFzIGJlcmVpdHMgZXJ3YWVobnRlIHByb2JsZW0gZGVzIGZyZXVuZHNjaGFmdHNsb2VzZW5zCmV0d2FzIGVyd2VpdGVydC4gZXMgd2lyZCBudW4gdm9yIGplZGVtIGJlZmVobCBrdXJ6IGFiZ2VjaGVja3QsIG9iIGFsbGUKYW53ZXNlbmRlbiBub2NoIGZyZXVuZGUgc2luZC4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmV1bmRzY2hhZnRzYmFuZCAoS2V5LCAxMS4gRmViIDE5OTksIDE2OjI5OjA2KToKfiMhIHJuPVBhdHJ5biBydD05MTg3NDk5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKSXN0IGRhcyBuaWNodCBuZW4gdW5ub2V0aWdlciBMYWdlcnpldWdlcj8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmcmV1bmRzY2hhZnRzYmFuZCAoUGF0cnluLCAxMS4gRmViIDE5OTksIDE2OjMxOjEzKToKfiMhIHJuPUtleSBydD05MTg3NTA1NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKZGllIHRlY2huaXNjaGUgdW1zZXR6dW5nIHVuZCBkaWUgYXVmd2FuZGFic2NoYWV0enVuZyBsYXNzIG1hbiBtZWluZSBzb3JnZQpzZWluLgoKLS0tLS0tCnBhdHJ5biBydWZ0OiBsYXNzdCBzcGllbGVyIHdpZWRlciBzcGllbGVyIHNlaW4gKGdhbnogaW0gZXJuc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnJldW5kc2NoYWZ0c2JhbmQgKFllbmRpLCAxMS4gRmViIDE5OTksIDE5OjM4OjMxKToKfiMhIHJuPVBhdHJ5biBydD05MTg3NDk5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKSWNoIGhvZmZlLCBEdSBtZWluc3QgIi4uLiB2b3IgamVkZW0gQmVmZWhsIGRlcyBGcmV1bmRzY2hhZnRzYmFuZGVzLi4uIiB1bmQKbmljaHQgIi4uLiBnZW5lcmVsbCB2b3IgX2plZGVtXyBCZWZlaGwuLi4iLgoKQWJlciBtaXIgYWxzIE5pY2h0LW1hbC1tZWhyLUJsdWVtY2hlbnBmbHVlY2tlciBrYW5uIGRhcyBqYSBlaWdlbnRsaWNoIGVnYWwKc2Vpbi4KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmV1bmRzY2hhZnRzYmFuZCAoTWluZGJsYWRlLCAxMS4gRmViIDE5OTksIDIwOjU4OjEzKToKfiMhIHJuPVBhdHJ5biBydD05MTg3NDk5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKRW5kbGljaCwgZGFua2UgUGF0cnluLgoKTWluZCosIGhhc3QgZGllc2VzIGV3aWcgbGFuZ2UgV29ydCBtaXQgIkYiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChUYXJpbmEsIDEyLiBGZWIgMTk5OSwgMDA6MDg6MzcpOgp+IyEgcm49UGF0cnluIHJ0PTkxODc0OTkzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODc0OTkzNQpIYWxsbyBQYXRyeW4sCgp3YXMgaWNoIHNjaG9uIGltbWVyIG1hbCBzYWdlbiB3b2xsdGUsIG1pY2ggYWJlciBuaWUgenUgc2FnZW4gZ2V0cmF1dCBoYWJlOgoKSWNoIGZpbmRlIGRlbiBCZWZlaGwgInZlcmFjaHRlIiBlaWdlbnRsaWNoIHppZW1saWNoIHNjaGxpbW0uIE51ciB3ZWlsIGljaCBkZW4KRWluZHJ1Y2sgaGFiZSwgZGFzcyBqZW1hbmQgc2ljaCB2aWVsbGVpY2h0IG5pY2h0IG1laHIgZWlubG9nZ3QsIG9kZXIgd2lyIHVucwphdXNlaW5hbmRlcmdlbGVidCBoYWJlbiwgdmVyYWNodGUgaWNoIGRlbmplbmlnZW4gamEgbmljaHQuIEVzIHdhZXIgc2Nob2VuLAp3ZW5uIGVzIGF1Y2ggZWluIHBhYXIgZ3JhdXNjaGF0dGllcnVuZ2VuIGJlaSBkZW4gYmVmZWhsZW4gZ2FlYmUuLi4gaWNoCnZlcmFjaHRlLCBpY2ggZnVlaGxlIG1pY2ggZnJlbWQgKG9kZXIgYWVobmxpY2hlcykuCgpOdXIgc28gbmUgSWRlZSwKVGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChBbmF0b2wsIDEyLiBGZWIgMTk5OSwgMDA6MTg6MjIpOgp+IyEgcm49VGFyaW5hIHJ0PTkxODc3ODExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODc0OTkzNQo+IGt1ZW5kaWdlCldhcyB3aWxsc3QgRHUga3VlbmRpZ2VuPyBXZW0gZGllIEZyZXVuZHNjaGFmdD8gV2Vzc2VuIEFyYmVpdHN2ZXJ0cmFnPwo+IGt1ZW5kaWdlIGZyZXVuZHNjaGFmdApXRU0gd2lsbHN0IER1IGRpZSBGcmV1bmRzY2hhZnQga3VlbmRpZ2VuPwo+IGt1ZW5kaWdlIGZyZXVuZHNjaGFmdCBjYXR3ZWF6bGUKRHUgdW5kIGRldXRzY2gsIFN5bnRheDogImt1ZW5kaWdlIDx3ZW0+IGRpZSBmcmV1bmRzY2hhZnQiLgo+IGt1ZW5kaWdlIGNhdHdlYXpsZSBmcmV1bmRzY2hhZnQKRHUgZnVlbGxzdCBlaW4gS3VlbmRpZ3VuZ3NzY2hyZWliZW4gYXVzIHVuZCBzY2hpY2tzdCBlcyBDYXR3ZWF6bGUuCi4uLgouLi4KRWluIFBvc3RyZWl0ZXIgcnVmdCBEaXIgYXVzIGVpbmlnZXIgRW50ZmVybnVuZyB6dSwgZGFzcyBEdSBuZXVlIFBvc3QgaGFzdCEKPiBtYWlsCltzbmlwXQogICAgNTogKCAgIENhdHdlYXpsZSwgMTIuIEZlYikgUmU6IEt1ZW5kaWd1bmcgZGVyIEZyZXVuZHNjaGFmdApHZXNhbXRncm9lc3NlIERlaW5lcyBQb3N0ZmFjaHM6IDMxIEtCLgoobmV3bWFpbDoxLzUpIFtIaWxmZSBtaXQgaF0gPT4gNQpBYnNlbmRlcjogQ2F0d2VhemxlCkFuOiBBbmF0b2wKRGF0dW06IEZyZSwgMTIuIEZlYiAxOTk5LCAwMDowOTo0NwpUaXRlbDogUmU6IEt1ZW5kaWd1bmcgZGVyIEZyZXVuZHNjaGFmdAoKRGVwcCwgd2lyIHdhcmVuIGdhciBuaWNodCBiZWZyZXVuZGV0LgoKWVRDCgoobmV3bWFpbDoxLzUpIFtIaWxmZSBtaXQgaF0gPT4gcQo+IHNldWZ6CkR1IHNldWZ6dC4KCk5hIGRhbmtlLApBbmF0b2wgOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChEZWVwYmx1ZSwgMTIuIEZlYiAxOTk5LCAwNDoyNzo0Mik6Cn4jISBybj1UYXJpbmEgcnQ9OTE4Nzc4MTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NzQ5OTM1Ckhhc3QgRHUgbmF0dWVybGljaHQgcmVjaHQsIGFiZXIgYmVpbSBGcmV1bmRzYWNoYWZ0c2JhbmQgZ2lidHMgaGFsdCBudXIgMiBNb2RpCihkcmF1ZiBvZGVyIG5pY2h0KSwgYWxsZXMgYW5kZXJlIHdhZXJlIHVubm9ldGlnZSBrb21wbGl6aWVydW5nLiBBbGxlcmRpbmdzIGlzdApkZXIgTmFtZSBkZXMgQmVmZWhscyAidmVyYWNodGUiIHp1Z2VnZWJlbmVybWFzc2VuIGV0d2FzIHVuZ2x1ZWNrbGljaCBnZXdhZWhsdC4Kd2llIHdhZXJlIGVzIGVpbmZhY2ggbWl0ICJsb2VzY2hlIDxuYW1lPiB2b24gRnJldW5kc2NoYWZ0c2JhbmQiIGFscwphbHRlcm5hdGl2ZW4gQmVmZWhsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZyZXVuZHNjaGFmdHNiYW5kIChaYXJuaXlhLCAxMi4gRmViIDE5OTksIDA4OjU2OjA2KToKfiMhIHJuPVBhdHJ5biBydD05MTg3NDk5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKSGFsbG8gUGF0cnluLCAKCmthbm5zdCBEdSBpbiBkYXMgRmVpbmRzY2hhZnRzYmFuZCBhdWNoIGRpZSBJRCAiZmJhbmQiIGVpbmJhdWVuLCBkYW1pdCBhdWNoCmFsbGVuIGtsYXIgaXN0LCB3aWUgc2lubnZvbGwgZGFzIGlzdCwgbmljaHQtZWluZGV1dGlnZSBJRHMgenUgYmVyZ2ViZW4/CgpNYXJjCgpQLlMuOiBJY2ggd2Vpc3MgZGEgZWluIE11ZCwgaW4gZGVtIHd1ZXJkZXN0IER1IGpldHp0IGJlZmV1ZXJ0Li4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmcmV1bmRzY2hhZnRzYmFuZCAoWWVuZGksIDEyLiBGZWIgMTk5OSwgMTg6NDU6NDEpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTE4NzkzNjYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NzQ5OTM1CldpZSB3YWVyZSBlcyBtaXQgImt1ZW5kaWdlIDxuYW1lPiBkaWUgZnJldW5kc2NoYWZ0Ij8KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZyZXVuZHNjaGFmdHNiYW5kIChKYW1lc29uLCAxMi4gRmViIDE5OTksIDE4OjQ2OjE1KToKfiMhIHJuPVllbmRpIHJ0PTkxODg0NTE0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODc0OTkzNQouLi5vZGVyICJiZWVuZGUgZnJldW5kc2NoYWZ0IG1pdCAuLi4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmcmV1bmRzY2hhZnRzYmFuZCAoQWxwaGEsIDEyLiBGZWIgMTk5OSwgMTg6NDc6MzYpOgp+IyEgcm49SmFtZXNvbiBydD05MTg4NDUxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg3NDk5MzUKV2llIHdhZXJlIGVzIG1pdCBlaW5lciBuZXVlbiBGdW5rdGlvbj8gClVudGVyYnJlY2hlIEZyZXVuZHNjaGFmdCBtaXQgWFhYWFg/Cldlbm4gWFhYWFggc2ljaCBtYWwgd2llZGVyIG1lbGRldCwga2FubiBtYW4gc2llIG1pdDoKRnVlaHJlIEZyZXVuZHNjaGFmdCBtaXQgWFhYWFggZm9ydCByZWFrdGl2aWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmcmV1bmRzY2hhZnRzYmFuZCAoRGVlcGJsdWUsIDEyLiBGZWIgMTk5OSwgMTg6NTY6NDcpOgp+IyEgcm49WWVuZGkgcnQ9OTE4ODQ1MTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NzQ5OTM1Cld1ZXJkZSBhYmVyIGJlaSBMZXV0ZW4sIGRpZSBld2lnIG5pY2ggZGEgd2FyZW4gdW5kIGF1cyBQbGF0emdydWVuZGVuIGdlbG9lc2NodAp3ZXJkZW4gbmljaHQgenV0cmVmZmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmcmV1bmRzY2hhZnRzYmFuZCAoQW5hdG9sLCAxMi4gRmViIDE5OTksIDIwOjIxOjQwKToKfiMhIHJuPURlZXBibHVlIHJ0PTkxODg0NTgwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODc0OTkzNQpGaW5kZXQgaWhyIGRhcyBnYW56ZSBuaWNodCBlaW4gd2VuaWcgYWxiZXJuPwoKS3VlbmRpZ3Qgc2VpbmUgRnJldW5kZSBuaWNodCB3aWUgYW5kZXJlIExldXRlIGlocmUgVGVsZWZvbnZlcnRyYWVnZSwKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgYmVpIExlbmEuIChMZW5hLCAxMy4gRmViIDE5OTksIDE4OjAxOjIzKToKQW4gYWxsZSwgZGllIGRhdm9uIHdpc3NlbiB1bmQgZWluZ2VsYWRlbiB3YXJlbi4gQml0dGUgc2NoaWNrdCBtaXIgbmUgTWFpbCwgb2IKaWhyIGtvbW10LCBiZWkgbWlyIHVlYmVybmFjaHRldCB1bmQgb2IgaWhyIHdhcyBnZWdlbiBTcGFnaGV0dGkgZWluenV3ZW5kZW4KaGFidC4KRGllIFdlZ2Jlc2NocmVpYnVuZyB3ZXJkZSBpY2ggZXVjaCBkYW5uIHp1bWFpbGVuLgo6KQpMZW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXVlbGw/IChBc21vZGlzLCAxNC4gRmViIDE5OTksIDAxOjAyOjM2KToKV2llc28gZGFyZiBtYW4gZWlnZW50bGljaCBkaWUgcnVicmlrIG11ZWxsIG5pY2h0IHZvbGxtdWVsbGVuID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdChzKSAoU211cmYsIDE0LiBGZWIgMTk5OSwgMTU6MTE6NDIpOgp+IyEgcm49UmluZ29yIHJ0PTkxODU2NjQyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxODQ5NTE5NApXZWxjaGVzIHNwZXppZWxsZSBTdGV1ZXJ6ZWljaGVuIGlzdCBkYXM/IFRlbG5ldCAiR28gQWhlYWQiPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVib290KHMpIChNYXJjdXMsIDE0LiBGZWIgMTk5OSwgMTU6NDg6MTQpOgp+IyEgcm49U211cmYgcnQ9OTE5MDA1MTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NDk1MTk0ClRlbG5ldCBFbmQgb2YgUmVjb3JkLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZWJvb3QocykgKFNtdXJmLCAxNC4gRmViIDE5OTksIDE2OjMxOjI5KToKfiMhIHJuPU1hcmN1cyBydD05MTkwMDcyOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTg0OTUxOTQKRGFua2UuCgogICAtLSBTbXVyZiwgZnJldXQgc2ljaCwgZGFzcyBkYXMgZW5kbGljaCBqZW1hbmQgZ2VtYWNodCBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlYm9vdChzKSAoRW1haWwsIDE0LiBGZWIgMTk5OSwgMjI6Mzk6MTIpOgp+IyEgcm49U211cmYgcnQ9OTE5MDA5ODg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE4NDk1MTk0ClVuZCBkYXMgZnVuenQgYXVjaCBtaXQgZGVtIE1vcmUgenVzYW1tZW4/CgoqZWluemVpbGVuZCBzdGF1bmVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlbydzIFNleCBBYmVudGV1ZXIgKERlYWxlciwgMTcuIEZlYiAxOTk5LCAxNDowMzowMCk6CkRlciBMLiBmamFrbGRmamthZGxzZmprYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNVQ0hFTiBNSVRGQUhSR0VMRUdFTkhFSVQhISEgKFFpdGVzcywgMTcuIEZlYiAxOTk5LCAxNDozMzo0NSk6CmhhbGxvLiBzdWNoZSBmdWVyIG1vcmdlbiBnZWdlbiBtaXR0YWcgZWluZSBtaXRmYWhyZ2VsZWdlbmhlaXQgZnVlciB6d2VpCnBlcnNvbmVuIHZvbiBicmF1bnNjaHdlaWcgbmFjaCBoYW1idXJnIChiencgYmFyZ3RlaGVpZGUpIG9kZXIgd2VuaWdzdGVucyBkb3J0CmluIGRpZSBuYWVoZS4KYml0dGUgYmVpIHFpdGVzcyBtZWxkZW4gcGVyIG1haWwuIHdhZXJlIGFldXNzZXJzdCBuZXR0Li4uCgpRaXRlc3MuIEZlc3RpbiBrb21tdCBtaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU1VDSEVOIE1JVEZBSFJHRUxFR0VOSEVJVCEhISAoRGllZGVyLCAxNy4gRmViIDE5OTksIDE1OjExOjE4KToKfiMhIHJuPVFpdGVzcyBydD05MTkyNjIwMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKZGEgYmlzdGUgYWJlciB2ZXJkYW1tdCBmcnVlaCBkcmFuIG1pdCBvcmdhbmlzaWVyZW4gOy0pCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlbmFzIFBQIChMZW5hLCAxNy4gRmViIDE5OTksIDE3OjE2OjIwKToKYWVoLCBhbHNvLi4uCmljaCBoYWIga2VpbmUgWmVpdCBmZXN0Z2VzZXR6dCwgd2FubiBpaHIga29tbWVuIHNvbGx0LgpJY2ggZGVuaywgd2lyIGVzc2VuLCB3ZW5uIGRpZSBtZWlzc3RlbiB3b2xsZW4gb2RlciBzby4KLi4uIChlcyBzb2xsIGJsb3NzIGtlaW5lciBhdWYgZGllIElkZWUga29tbWVuLCBWT1JIRVIgd2FzIHp1IGVzc2VuISEhKQpBdXNzZXJkZW0gd3VlcmQgaWNoIGdlcm4gd2lzc2VuLCB3ZXIga29tbXQuIE1haWx0IG1pciBkYXMgYml0dGUgYmlzIG1vcmdlbgooZG9ubmVyc3RhZ2cpLgpJY2ggc2VoIGRhbm4gbWFsLCBkYXNzIGljaCBub2NoIGFiZW5kcyBtZWluZSBNYWlscyBsZXNlLi4uCkFjaCBqYS4gR2VidCBtaXIgZGllIFRlbG5yLiB2b24gZXVjaC4gR2VodCBzY2huZWxsZXIsIGFscyBpbSBNRyBhbGxlcwphYnp1bWFjaGVuLiBCaW4gamEgZ3JhZCBuZWQgZGEgc28gb2Z0LiAoVG9sbGVTIERldXRzY2guIDspICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMZW5hcyBQUCAoU2hhcmlhLCAxNy4gRmViIDE5OTksIDE3OjIwOjQ2KToKfiMhIHJuPUxlbmEgcnQ9OTE5MjcxNzgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjcxNzgwCmthbm4gbWFuIHNvd2FzIG5pY2h0IGF1Y2ggdWViZXIgbWFpbCBtYWNoZW4gTGVuYSA/CgpTaGFyaWEsIHNpY2ggd3VuZGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMZW5hcyBQUCAoS2V5LCAxNy4gRmViIDE5OTksIDE4OjU3OjQ1KToKfiMhIHJuPUxlbmEgcnQ9OTE5MjcxNzgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjcxNzgwCkhhc3QgRHUgZXMgc28gbm9ldGlnPwpHbGF1YnN0ZSBuZXQgZGFzIGRpZSBNUEEgZnVlciBhbmRlcmUgWndlY2tlIGdlZWlnbmV0ZXIgaXN0IGFscyBmdWVyCmlyZ2VuZGVpbmVuIFNjaGVpc3MgZGVyIHNpY2ggdW0gaXJnZW5kZWluZSBQYXJ0eSBlaW5lciB1bndpY2h0aWdlbiBQZXJzb24KZHJlaHQ/Cldlbm4gRHUgbmV0IHBlaWxzdCB3ZW4gRHUgYWxsZXMgZWluZ2VsYWRlbiBoYXN0IGlzdCBkYXMgRGVpbiBQcm9ibGVtLgpEYSBzb2xsdGVzdGUgdmllbGxlaWNodCBtYWwgZHJ1ZWJlciBuYWNoZGVua2VuIEJ1Y2ggenUgZnVlaHJlbiAuLi4KCkFuc29uc3RlbiB2ZXJzY2hpY2sgZGFzIFpldWcgZ2VmYWVsbGlnc3QgcGVyIE1haWwsIHVuZCBiZWZyaWVmaWdlIERlaW4KR2VsdHVuZ3NiZWR1ZXJmbmlzIHdvIGFuZGVyc3QuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGVuYXMgUFAgKEppZGR1LCAxNy4gRmViIDE5OTksIDIxOjQyOjIzKToKfiMhIHJuPUtleSBydD05MTkyNzc4NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNzE3ODAKU2NobGVjaHQgZHJhdWYgS2V5PyBXZW5uIGRpY2ggZGllc2UgMiBBcnRpa2VsIHNvIG5lcnZlbiBlbXBmZWhsZSBpY2gKImlnbm9yaWVyZSB0aHJlYWQiLi4uCkppZGR1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMZW5hcyBQUCAoTGVuYSwgMTguIEZlYiAxOTk5LCAxMjowMDoxMSk6Cn4jISBybj1LZXkgcnQ9OTE5Mjc3ODY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjcxNzgwCktleSwgaGFsdHMgTWF1bC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU1VDSEVOIE1JVEZBSFJHRUxFR0VOSEVJVCEhISAoUWl0ZXNzLCAxOC4gRmViIDE5OTksIDEzOjE4OjI3KToKfiMhIHJuPURpZWRlciBydD05MTkyNjQyNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKamFqYWphLi4uIHdvbGx0ZSBqYSBtaXRtIGF1dG8sIGFiZXIgZGFzIHdldHRlciB1bmQgZGFzIGF1dG8ga29tbWVuIG1vbWVudGFuCm5pY2h0IG1pdGVpbmFuZGVyIGF1cy4gOikKClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNVQ0hFTiBNSVRGQUhSR0VMRUdFTkhFSVQhISEgKERpZWRlciwgMTguIEZlYiAxOTk5LCAxMzoyMjowMik6Cn4jISBybj1RaXRlc3MgcnQ9OTE5MzQzOTA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjYyMDI1CmljaCBrZW5uIGRhcywgd2VyZGUgbW9yZ2VuIG1hbCB2ZXJzdWNoZW4sIG1laW4gQXV0byBhdXN6dWdyYWJlbiwgZGFtaXQgaWNoCmVuZGxpY2ggbWFsIHdpZWRlciBoZWltIGtvbW0uLi4gdm9tIEF1dG8gc2llaHQgbWFuIG51ciBub2NoIG5lbiAzbSBob2hlbgpTY2huZWVoYXVmZW4gKGhhdCAybSBTY2huZWUgaGllcikgOigoKAoKRGllZGVyLCBob2x0IHNpY2h0IEJvaW5ncyBIb2VsbGVuZmV1ZXIgdW5kIHNwcmVuZ3QgZGVuIFdpbnRlciB3ZWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTVUNIRU4gTUlURkFIUkdFTEVHRU5IRUlUISEhIChaYXJuaXlhLCAxOC4gRmViIDE5OTksIDE1OjA5OjM0KToKfiMhIHJuPURpZWRlciBydD05MTkzNDQxMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKc2NobmVlZWUgc2NobmVlZSBzY2huZWVlLi4uIGljaCBob2VyIGltbWVyIG51ciBzY2huZWVlLi4uIGljaCBoYWV0dCBnZXJuIG1hbAp3YXMgZGF2b24gZ2VzZWhlbiBoaWVyIGluIEtvZWxuICA6KAoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU1VDSEVOIE1JVEZBSFJHRUxFR0VOSEVJVCEhISAoQWxwaGEsIDE4LiBGZWIgMTk5OSwgMTU6MjI6NDIpOgp+IyEgcm49WmFybml5YSBydD05MTkzNTA1NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKQmFiYSwgYmlzdCBEdSB3YXdhPyBXaWUga2FubiBtYW4gc2ljaCBTY2huZWUgd3VlbnNjaGVuPwpBbHBoYSBoYXNzdCBTY2huZWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTVUNIRU4gTUlURkFIUkdFTEVHRU5IRUlUISEhIChEaWVkZXIsIDE4LiBGZWIgMTk5OSwgMTU6MjM6MzUpOgp+IyEgcm49WmFybml5YSBydD05MTkzNTA1NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKa29tbSB6dSBtaXIgdW5kIGJyaW5nIG5lIHNjaGF1ZmVsIG1pdC4uLiBkYW5uIGthbm5zdGUgZGlyIG5lbiBwYWFyIHRvbm5lbgptaXRuZWhtZW4gdW5kIGljaCBoYWIgbWVpbiBBdXRvIGVuZGxpY2ggZnJlaSA7LSkKCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU1VDSEVOIE1JVEZBSFJHRUxFR0VOSEVJVCEhISAoTWFyY3VzLCAxOC4gRmViIDE5OTksIDE2OjE0OjQ4KToKfiMhIHJuPVphcm5peWEgcnQ9OTE5MzUwNTc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjYyMDI1CkhpZXIgaW4gRXJsYW5nZW4gaGF0cyBlaW5pZ2VybWFzc2VuIGdlbnVnIFNjaG5lZS4gVW5kIHVlYmVyZnJvcmVuZSBHbGFldHRlLAp3YXMgbmNpaHQgc2Nob2VuIGlzdCwgd2VubiBtYW4gbWl0IGRlbSBSYWQgZmFlaHJ0LgpBbHNvIGljaCBtb2VjaHRlLCBkYXMgaW1tZXIgRnJ1ZWhsaW5nIGlzdC4gUHVua3QuIDopCgpDaWFvLCBNYXJjdXMKLiwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTVUNIRU4gTUlURkFIUkdFTEVHRU5IRUlUISEhIChBcmlhbmEsIDE4LiBGZWIgMTk5OSwgMTY6Mzc6NDMpOgp+IyEgcm49WmFybml5YSBydD05MTkzNTA1NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNjIwMjUKZ2VuYXUsIGhpZXIgaW4gbXMgaXMgYXVjaCBuaXgKCmFyaWFuYSAqdm9lbGxpZyBlbnR0YWV1c2NodCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb21wdHMgJiBURiAoVGlhbWFrLCAxOC4gRmViIDE5OTksIDIzOjE5OjMyKToKTWFobHplaXQhCgpFcyBzY2hlaW50IGJlaSBlaW5pZ2VuIExldXRlbiBldHdhcyBWZXJ3aXJydW5nIHp1IGdlYmVuIHVlYmVyIGRpZSBuZXVlbgpQcm9tcHRzLiBXZXIgaW4gVEYgc2VpbmUgV2VsdCBicmF2IGFscyAtVGxwcCBkZWZpbmllcnQsIHNpY2ggYWJlciBuaWNodAphdXRvbWF0aXNjaCBlaW5sb2dndCwgZGVyIHN0ZWh0IGVyc3RtYWwgbmFjaCBkZW0gTG9naW4tVGV4dCB2b3IgZWluZW0KYW5zY2hlaW5lbmQgImhhZW5nZW5kZW4iIFRGLgoKRGFzIGxpZWd0IGRhcmFuLCBkYXNzIGR1cmNoIGVpbmUgLi4uIG51biAuLi4gIlVuenVsYWVuZ2xpY2hrZWl0IiBkZXIgTXVkbGliCihtYW4ga29lbm50ZSBhdWNoIHNhZ2VuOiBkZXIgVGVzdGVyIGhhdCBzaWNoIGltbWVyIGF1dG9tYXRpc2NoIGVpbmdlbG9nZ3QgOy0pCmRpZSBMb2dpbi1Qcm9tcHRzIG5vY2ggdm9tIGFsdGVuIFR5cCBzaW5kIHVuZCB2b24gVEYgZGFoZXIgbmljaHQgYWxzIHNvbGNoZQplcmthbm50IHdlcmRlbi4KCkJpcyB6dW0gbmFlY2hzdGVuIFJlYm9vdCBoaWxmdCBkYSB2b3JlcnN0IG51ciAiYmxpbmRlcyIgb2RlciBhdXRvbWF0aXNjaGVzCkVpbmxvZ2dlbi4gT2RlciBtYW4gYmVoYWVsdCB2b3JlcnN0IGRpZSBEZWZpbml0aW9uIGFscyAtVGxwIGJlaSwgd2FzCmFsbGVyZGluZ3MgZGF6dSBmdWVocnQsIGRhc3MgZGllIE5hY2h0ZWlsZSBkZXIgYWx0ZW4gUHJvbXB0cyB0ZWlsd2Vpc2Ugbm9jaAplcmhhbHRlbiBibGVpYmVuLgoKQWIgZGVtIG5hZWNoc3RlbiBSZWJvb3QgKG5laW4sIGVzIGlzdCBrZWluZXIgZ2VwbGFudCEpIGVya2VubnQgVEYgZGFubiBhdWNoCmRpZSBMb2dpbi1Qcm9tcHRzIGtvcnJla3QuCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vZ2VsQ29tIGdpYnQgYXVmIChBc21vZGlzLCAyMC4gRmViIDE5OTksIDAwOjA1OjU5KToKRmFsbHMgZXMgamVtYW5kIG5vY2ggbmljaHQgd2Vpc3M6IERpZSBNb2JpbENvbSBoYXQgYWIgaGV1dGUgZGVuIDc3RE0tUGF1c2NoYWwtClRhcmlmIGdlY2FuY2VsdCwgYWxsZSBzY2hvbiBhYmdlc2NobG9zc2VuZW4gVmVydHJhZWdlIHd1cmRlbiBnZWt1ZW5kaWd0CldlciBzaWNoIGpldHp0IGVpbmxvZ2d0LCBkZXIgc3VyZnQgZnVlciA2IFBmL21pbgpHcnVuZCBpc3QgZWluZSBCZXNjaHdlcmRlIGRlcyBWZXJicmF1Y2hlcnZlcmVpbnMgQmVybGluIGUuVi4sCmRlciBVbnN0aW1taWdrZWl0ZW4gaW4gZGVuIEFHQiBmZXN0c3RlbGx0ZS4KTmFlaGVyZXMgaXN0IGF1ZiBkZXIgV1dXLXNlaXRlOiBodHRwOi8vd3d3LnR3ZWFrcGMuZGUgICB6dSBsZXNlbgpXZXIgZ2VnZW4gZGllc2UgQWt0aW9uIHByb3Rlc3RpZXJlbiB3aWxsLCBkZXIga2FubiBkaWVzIGF1ZiBkZXIKV1dXLVNlaXRlOiBodHRwOi8vd3d3Lm9ubGluZWtvc3Rlbi5kZS9ha3Rpb24uaHRtICB0dW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2dvcyAoU3RpbmcsIDIwLiBGZWIgMTk5OSwgMjI6MzQ6MjMpOgpIdWh1LAoKRGFzIGlzdCB2aWVsbGVpY2h0IG5pY2h0IGdhbnogZGllIHJpY2h0aWdlIFJ1YnJpaywgYWJlciBkaWUgaGllciBsaWVzdApnYXJhbnRpZXJ0IGplZGVyIDopCkljaCBoYWIgbWFsIGF1ZiBkZW4gRlRQLVNlcnZlciBlaW4gcGFhciBMb2dvcyBnZWxlZ3QgZGllIGljaCBnZW1hY2h0IGhhYmUuIFNpZQpsaWVnZW4gaW4gL3BhcnR5L2JpbGRlci9wYXJ0eTk5LXNoaXJ0Ly4KRGllIFNwcnVjaC1Mb2dvcyBzaW5kIGZ1ZXIgZGFzIFQtU2hpcnQgZ2VkYWNodCAoZmFsbHMgZGFzIGdld3VlbnNjaHQgd2lyZCkuCkRpZSBNRy1Mb2dvcyBoYWIgaWNoIGF1cyBMYW5nZXdlaWxlIGdlbWFjaHQsIGFiZXIgdmllbGxlaWNodCBrYW5uIG1hbiBkaWUgamEKYXVjaCBpcmdlbmR3aWUgbWl0IGJlbnV0emVuLgoKU3RpbmcsIGhvZmZ0IGF1ZiBLcml0aWsvVmVyYmVzc2VydW5nc3ZvcnNjaGxhZWdlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIE1HIGUuVi4gKFZpcGVyLCAyMS4gRmViIDE5OTksIDExOjI5OjIxKToKSHVodSwKCndpY2h0aWcgZnVlciBhbGxlIE1pdGdsaWVkZXIgZGVzIEZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLjoKCgpTY2hhdXQgYml0dGUgaW4gZGVyIFJ1YnJpayAibW9yZ2VuZ3JhdWVuLnZlcmVpbiIgbmFjaC4gRG9ydCBmaW5kZXQgSWhyIHNlaXQKZ2VzdGVybiBlaW5lIEVpbmxhZHVuZyB6dXIgZGllc2phZWhyaWdlbiBNaXRnbGllZGVydmVyc2FtbWx1bmcuCgoKQWJlciBzZWxic3R2ZXJzdGFlbmRsaWNoIHNpbmQgYXVjaCBhbmRlcmUgTUdsZXIgd2lsbGtvbW1lbi4gQmVpIGRpZXNlcgpHZWxlZ2VuaGVpdCBrb2VubnQgaWhyIGF1Y2ggZ2VybiBpbiBkZW4gVmVyZWluIGVpbnRyZXRlbi4KCkJpcyBkYW5uLCB3aXIgc2VobiB1bnMuCgoKVmlwZXIgKFNjaHJpZnRmaHJlciBNRyBlLlYuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb21wdHMgJiBURiAoVHJhbmNlZmVhciwgMjIuIEZlYiAxOTk5LCAwMToxNjo0MSk6Cn4jISBybj1UaWFtYWsgcnQ9OTE5Mzc5OTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Mzc5OTcyCk5hamEgZGVyIFJlYm9vdCBpc3QgamEgaXJnZW5kd2llIG5pZSBnZXBsYW50IDotKQoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9tcHRzICYgVEYgKEplaG92YSwgMjIuIEZlYiAxOTk5LCAxMzoxMjo0MCk6Cn4jISBybj1UaWFtYWsgcnQ9OTE5Mzc5OTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Mzc5OTcyCgpPY2gsIGRpZSBhbHRlbiBQcm9tcHRzIHNpbmQgZG9jaCBhdWNoIGdhbnogbmV0dC4gWnVtaW5kZXN0IGthbm4gbWFuIGFuIGRlbgpEaW5nZXJuIGFic2NoYWV0emVuLCB3aWV2aWVsZSBodW5kZXJ0IEJlZmVobGUgcHJvIFNla3VuZGUgdGYgZ3JhZCBpbnMgTUcgcHVtcHQKOikKCkoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChDYXR3ZWF6bGUsIDIzLiBGZWIgMTk5OSwgMTk6NTY6MTApOgoKTW9pbiEKCkdlc3Rlcm4gYWJlbmQgaGF0IGVpbiBIZXJyIEdyYWZlbiBiZWkgbWlyIGFuZ2VydWZlbiwgZGVyIGVpbmVuIFJlcG9ydCAKZnVlciBQbHVzTWludXMgKEFSRCkgbWFjaHQgdWViZXIgU3VjaHR2ZXJoYWx0ZW4gaW0gSW50ZXJuZXQgbWl0IApDaGF0L011ZCB1bmQgb2IgbWFuIGRpZXNlbiBMZXV0ZW4gaGVsZmVuIGthbm4vbXVzcy4gV0llIGVyIHNhZ3RlIGhhdCBlciAKZXMgbmljaHQgZGFyYXVmIGFiZ2VzZWhlbiBNdWRkZXIvQ2hhdHRlciB6dSB2ZXJkYW1tZW4gYnp3LiBydW50ZXJ6dW1hY2hlbiwKc29uZGVybiBtb2VjaHRlIG51ciBkaWUgR2VmYWhyZW4gYXVmemVpZ2VuLiAKCkRhZnVlciBzdWNodCBlciBMZXV0ZSwgZGllIFByb2JsZW1lIGRhbWl0IGhhYmVuLCBUYWdlbGFuZyBtdWRkZW4sIF93aXJrbGljaF8Kc3VlY2h0aWcgc2luZCwgdW5kIGVpZ2VudGxpY2ggbmljaHQgZGF2b24gbG9za29tbWVuLgoKV2VyIHNpY2ggYXVjaCBudXIgaW0gZW50ZmVybnRlc3RlbiB6dSBkaWVzZW0gS3JlaXMgemFlaGx0IHVuZCBiZXJlaXQgaXN0IGRhenUKd2FzIHp1IGVyemFlaGxlbiwgbW9lY2h0ZSBzaWNoIGJpdHRlIGJlaSBpaG0gbWVsZGVuLiBlciBoYXQgbWlyIGF1Y2ggYXVmIAptZWluZSBBbmZyYWdlIGF1Y2ggZWluIGt1cnplIE1haWwgZGF6dSBnZXNjaHJpZWJlbi4gV2VyIGFsc28gaW1tZXIgc2Nob24gbWFsCmlucyBGZXJuc2VoZW4ga29tbWVuIHdvbGx0ZSwgaGllciBsYXVlcnQgZGllIENoYW5jZSA6LSkKCkRlc3dlaXRlcmVuIGhhYiBpY2ggaWhtIGFuZ2Vib3RlbiBlaW5mYWNoIG1hbCB6dSBuZW0gU3RhbW10aXNjaCB6dSBnZWhlbiwgZXIgCmtvbW10IGF1cyBEcmVzZGVuLCBpY2ggaGFiIGtlaW5lIEFobnVuZywgd2VsY2hlciBkYSBhbSBuYWVjaHN0ZW4gaXN0LiBEYXMgCm11ZXNzdGUgYWJlciBiYWxkIHNlaW4sIGRpZSBTZW5kdW5nIHdpcmQgd29obCBhbSA5LiBNYWVyeiBsYXVmZW4uCgpIaWVyIGFsc28gc2VpbmUgbWFpbDoKLS0tLS0KSGksCgppY2ggcmVjaGVyY2hpZXJlIGRhcyBUaGVtYSAib25saW5lIC0gendpc2NoZW4gRmFzemluYXRpb24gdW5kIFN1Y2h0IiAgIAp1bmQgc3VjaGUgbm9jaCBHZXNwcmNoc3BhcnRuZXIsIGRpZSBkdXJjaCBNVURzIGJzcHcuIFByb2JsZW1lIGJla29tbWVuICAKICAKaGFiZW4gaW0gUkwuIEljaCBtY2h0ZSBuaWVtYW5kZW4gYW4gZGVuIFByYW5nZXIgc3RlbGxlbiwgc29uZGVybiAgIAp2aWVsbWVociBhdWYgZGFzIFByb2JsZW0gIm9ubGluZS1TdWNodCIgaW4gZWluZW0gQVJELUZlcm5zZWhtYWdhemluICAgCmF1Zm1lcmtzYW0gbWFjaGVuLgoKRnIgZGllIEhpbGZlIGJlZGFua2UgaWNoIG1pY2ggLi4uCgpTdGVwaGFuIEdyYWZlbgpNRFIgRmVybnNlaGVuClJlZGFrdGlvbiBXaXJ0c2NoYWZ0L1ZlcmJyYXVjaGVyCktlc3NlbHNkb3JmZXIgU3RyYWUgMjA4CjAxMTY5IERyZXNkZW4KVGVsZWZvbjogMDM1MS04NDYtNDU0OApUZWxlZmF4OiAwMzUxLTg0Ni0zMDAtNDU0OAotLS0tLQoKWVQsCiAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKEthcnRvZmZlbCwgMjMuIEZlYiAxOTk5LCAyMToxNzozNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTE5Nzk5NzcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCgpJY2ggYmluIG5pY2ggc3VlY2h0aWcsIGljaCBrb2VubnRlIGplZGVyemVpdC4uLi4gSWhyIHdpc3N0IHNjaG9uLCBkYXMgYm9lc2UKV29ydCBtaXQgYS4uLgoKJ1RvZmZlbCAtIGRhcmYgZGFubiB3b2hsIGF1Y2ggbmljaHQgaW5zIEZlcm5zZWhlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKE1haGF0bXUsIDI0LiBGZWIgMTk5OSwgMDE6NDM6NTYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxOTc5OTc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApIbSwgZGVyIG5hZWNoc3RlIERyZXNkbmVyIFN0YVRpIGlzdCBwbGFubWFlc3NpZyB3b2hsIGRlciA0Lk1hZXJ6LCBlaW4KRG9ubmVyc3RhZywgYWJlciBkYXp1IHNvbGx0ZW4gc2ljaCBldmVudHVlbGwgZGllIERyZXNkbmVyIHVudGVyZWluYW5kZXIKZWluaWdlbiwgb2Igc2llIGRlbiBIZXJybiBlbXBmYW5nZW4gbW9lY2h0ZW4gLSBzbyBlaW4gU3RhVGkgaXN0IGphIG1laHIKZWluZSBnZXNlbGxpZ2UgUnVuZGUgdW50ZXIgZGVuIE5pY2h0bXVkZGVybiBpbiB1bnMgdW5kIHp1bSBUaXBzYXVzdGF1c2NoZW4sCmRpZSB3b2hsIHdlbmlnZXIgaW50ZXJlc3NpZXJlbiA7LSkKClBTOiBJY2gga29lbm50IG1pY2ggbWVsZGVuIDstKSBTZWl0IFNvbm50YWcgc3RhZW5kaWcgZHJpbiB1bmQgYW4gZGVyIExpYgogICAgcnVtZnVtbWVsbiA6KQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChTaWd1cmEsIDI0LiBGZWIgMTk5OSwgMDM6MTM6MDApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxOTc5OTc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApNYW5uLi4uIGd1dCBkYXMgZGVyIG5pY2h0IGJlaSBkZXIgWmVpdHVuZyBhcmJlaXRldCA6KQoKU2lnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFNvbmdva3UsIDI0LiBGZWIgMTk5OSwgMTA6MDQ6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkxOTc5OTc3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApEYSBzaXR6ZW4gZGFubiA1MCBNdWRkZXIgbWl0IGVpbmVtICJJY2gga29lbm50ZSBqZWRlcnplaXQgYXVmaG9lcmVuIiBULVNoaXJ0LgoKU2F5b25hcmEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMZW5hcyBQUCAoS2V5LCAyNC4gRmViIDE5OTksIDE4OjQxOjUwKToKfiMhIHJuPUxlbmEgcnQ9OTE5MzM5MjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5MjcxNzgwCkJVTU0KSGFiYmljaCB3b2hsIHZvbGwgaW5zIFNjaHdhcnplIGdldHJvZmZlbiwgb2Rlcj8gCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExlbmFzIFBQIChMZW5hLCAyNC4gRmViIDE5OTksIDIwOjE1OjAzKToKfiMhIHJuPUtleSBydD05MTk4ODE3MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNzE3ODAKS29lbm50ZW4gd2lyIGRhcyBtYWwgaW4gUkwgYXVzbWFjaGVuPyBGcmllZGxpY2g/IE9obmUgcnVtcGllbnplbj8KVW0gd2FzIGdlaHRzIGVpZ2VudGxpY2g/Ckhhc3QgRHUgZWluIFByb2JsZW0gZGFtaXQsIGRhc3MgaWNoIG5lIFBhcnR5IGdlYiwgd28gZHUgbmljaHQgZWluZ2VsYWRlbiBiaXN0PwpJY2ggZ2xhdWIgbmljaHQsIGFsc28gd2FzIGlzdCBsb3M/IEFuZGF1ZXJuZCB3ZXJkIGljaCBibG9lZCB2b24gRGlyIGFuZ2VtYWNodC4KRXJrbGFlcnN0IER1IG1pciBkYXMgbWFsPwoKTGVuYSwgbGFuZ3NhbSBnZW5lcnZ0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGVuYXMgUFAgKE1jY2F1bHMsIDI0LiBGZWIgMTk5OSwgMjA6MjQ6MTkpOgp+IyEgcm49TGVuYSBydD05MTk4ODczMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNzE3ODAKTGVuYSBoYWx0cyBNYXVsIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGVuYXMgUFAgKExlbmEsIDI0LiBGZWIgMTk5OSwgMjA6MjU6MDMpOgp+IyEgcm49TWNjYXVscyBydD05MTk4ODc4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNzE3ODAKOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExlbmFzIFBQIChXdXIsIDI0LiBGZWIgMTk5OSwgMjE6MjE6MjYpOgp+IyEgcm49TWNjYXVscyBydD05MTk4ODc4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTkyNzE3ODAKU3RlY2sgZGVpbmVuIEtvcGYgaW4gZGVuIFNhbmQgdW5kIHB1ZGVyIGRpY2ggZGFuYWNoIHNjaG9lbiBmdWVyIGRpZSBuYWVjaHN0ZQpQYXJ0eSBlaW4sIE1jY2F1bHMuCgpXdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgd2VnIChLZXksIDI1LiBGZWIgMTk5OSwgMDk6NDc6MjApOgp+IyEgcm49VGVycm9yaXN0IHJ0PTkxOTg4NTE0MCByZz1tYWdpZXIudXJsYXViCn4jISB0aWQ9OTE5ODg1MTQwClNvIC4uLi4gaWNoIGhhYmUgbWljaCB2b24gbWVpbmVtIE1hZ2llciBnZXRyZW5udCwgYXVzIG1laHJlcmVuIEdydWVuZGVuLgoKRGVyIGVyc3RlIGlzdCwgZGFzIGljaCB3b2hsIG1laHIgb2RlciB3ZW5pZ2VyIGZ1ZXIgZGllIHVlYmVybWFlc3NpZ2UKWndlaXRtYWdpZXJzY2h3ZW1tZSBoaWVyIHZlcmFudHdvcnRsaWNoIGJpbi4KSW1tZXJoaW4gaGFiIGljaCBkYW1hbHMgZGVuIFdlZyBmdWVyIGRpZXNlIGdlZWJuZXQuCgpJY2ggZmluZCBlcyBuaWNodCByaWNodGlnIHdlbm4gamVkZXIgU3BpZWxlciBkZXIgbWVpbnQgZXIgc2kgbmV0IGF1c2dlbGFzdGV0CmdlbnVnIHNpY2gga3VyeiBuZW4gTWFnaWVyIGhvY2h6aWVodC4KWnVtIGVpbmVuIHdpcmQgZGFkdXJjaCB3aXJrbGljaCB3YXMgemVyc3RvZWhydC4gRGFzIGlzdCBuZXQgbnVyIG5lIGJsb2VkZQpSZWRlbnNhcnQgb2RlciBzbywgc29uZGVybiBzY2hsaWNodCBkaWUgV2FocmhlaXQuCldvYmVpIGhldXR6dXRhZ2UgLi4uLiB3byBqZWRlciBrbGVpbmUgUGltcGYgZ2xlaWNoIHZvbiBXQyB1bmQgQUMgdW5kIHJhbmRvbQp1c3cgdXN3IHdlaXNzIC4uLi4gTmFqYSA6KQpVbmQgenVtIGFuZGVyZW4ga2FubiBtYW4gbmljaHQgYmVpZGVzIHp1ciBnbGVpY2hlbiBaZWl0IHNlaW4gLi4uLgpFbnR3ZWRlciBtYW4gaXN0IFNwaWVsZXIgb2RlciBNYWdpZXIuCkJlaSBiZWlkZW0gbXVzcyBtYW4gdmllbCByZWluc3RlY2tlbiB1bSB3YXMgenUgImJld2VnZW4iLiBVbmQgaW4gYmVpZGUKZ2xlaWNodmllbCBzY2hhZmZ0IHdvaGwga2VpbmVyLgoKSmVkZW5mYWxscyBob2ZmZSBpY2ggZGFzIGljaCBtaXQgZGVyIEFrdGlvbiBqZXR6dCB2aWVsbGVpY2h0IG5lbiBrbGVpbmVuIFN0b3NzCmluIGRpZSByaWNodGlnZSBSaWNodHVuZyBnZWJlLiBTb2xsIGhlaXNzZW4gd2VnIG1pdCBkZW4gZ2FuemVuIFp3ZWl0bWFnaWVyZW4uCgpGdWVyIGplZGVuIGdpYmJldCBudXIgZWluZW4gV2VnLgoKCkRlciBhbmRlcmUgR3J1bmQgaXN0IG5vY2ggZWluZmFjaGVyZXIgLi4uLi4KSWNoIGthbSBlaW5mYWNoIG5pZSBpcmdlbmR3aWUgZGF6dSBnZXNjaGVpdCB6dSBwcm9nZ2VuLgoKCkhtbSBiZWkgZGVyIEdlbGVnZW5oZWl0IG5vY2ggZWluZSBBbm1lcmt1bmc6ClNwaWVsZXIgZGllIHNpY2ggYXVmcHNpZWxlbiBhbHMgc2VpZW4gc2llIGVoIHNjaG9uIE1hZ2llciwgUmllc2VuIGJlcmVjaG51bmdlbgphbnN0ZWxsZW4sIHZvbiBEaW5nZW4gZGllIHNpZSBlaWdlbnRsaWNoIG5ldCB3aXNzZW4gbXVlc3Nlbiwgc29sbHRlIG1hbiBzb2ZvcnQKenVtIE1hZ2llciBtYWNoZW4uCkljaCByZWRlIHZvbiBtZWhyZXJlbiBTcGllbGVybiBkaWUgZWggZnVlciBnZXdpc3NlIE1hZ3Mgd2FzIHByb2dnZW4sIG9kZXIKdW5iZWRpbmd0IGdlbmF1ZSBaYWhsZW4gYnJhdWNoZW4gd2VpbCBzaWUgbWVpbmVuIGRhbWl0IGtvZW5udGVuIHNpZSBhbGxlcwpiZXJlY2huZW4uCkRpZSBhbmdlc3Byb2NoZW5lbiB3ZXJkZW4gd2lzc2VuIHdlbiBpY2ggbWVpbmUuCgoKWWVwIGljaCByZWRlIGRhYmVpIHVudGVyIGFuZGVyZW0gdm9uIGdld2lzc2VuIFNwaWVsZXJuIGltIEJhbGFuY2V0ZWFtLgpJY2ggZmluZGUgZGllIGRvcnRpZ2VuICJTaXR6ZW5kZW4iIGJyYXVjaGVuIG5pY2h0cyBnZW5hdWVzIHVlYmVyIGlyZ2VuZHdlbGNoZQpPYmprdGUgenUgd2lzc2VuLiBOaWNodCBtZWhyIGFscyBkZXIgbm9ybWFsZSBTcGllbGVyLiBVbmQgdHJvdHpkZW0gaGFiIGljaApkZXNvZWZ0ZXJlbiBtaXRiZWtvbW1lbiB3aWUgZWluIHBhYXIgUmllc2VuYmVyZWNobnVuZ2VuIGFuc3RlbGxlbiAuLi4uCgpIZXkgbml4IGdlZ2VuIGRhcyBCYWxhbmNlLVRlYW0sIGRpZSBJZGVlIHdhciBzdXBlciwgbnVyIHNjaGVpdGVydHMgbGVpZGVyIHdpZQphbHp1b2Z0IGFtIE1lbnNjaCAuLi4uCgpIbXBmIG5laW4gaWNoIHdpbGwgamV0enQgYXVjaCBuaWNodCBkaWUgTGV1dGUgaW0gVGVhbSBhbmdyZWlmZW4sIGRpZSBzaW5kCihuYXR1ZXJsaWNoIG9iamVrdGl2KSBhYnNvbHV0IG9raSwgdW5kIGF1Y2ggZmFlaGlnIGRhenUuIEF1c3NlcmRlbSBvcGZlcm4gc2llCmVpbmlnZSBaZWl0IGRhZnVlciBkYXMgYW5kZXJlIFNwYXNzIGhhYmVuLgpOdXIgTWVuc2NoZW4gdW50ZXIgc2ljaCBkaWUgd2FzIEVuYnRzY2hlaWRlbiBzb2xsZW4gaGFiZW4gaXJnZW5kd2llIGRpZQphbmdld29obmhlaXQgYXVmZWluYWRuZXIgbG9zenVnZWhlbiAuLi4uCgpJY2ggd2Vpc3MgbmljaHQgZ2VuYXUgd2FzIGZ1ZXIgSW5mb3MgZGllIGVpbnplbG5lbiBNaXRnbGllZGVyIGRlcyBUZWFtcwplcmhhbHRlbi4gSWNoIGJpbiBkZXIgTWVpbnVuZyBtYW4gc29sbHRlIG51ciBpbiBldHdhIGRpZSBTdGFlcmtlIGVpbmVzIE9iamVrdHMKYW5nZWJlbiwgdW5kIHNpZSBkYW5uIGRlbiBSZXN0IHJhdXNmaW5kZW4gbGFzc2VuLiBOaXggbWl0IFphaGxlbiBvZGVyCnNvbnN0d2FzLCB1bmQgd2VyIG1pdCBzb3dhcyBhbmZhZW5ndCBmbGllZ3QgcmF1cy4gU2NobGllc3NsaWNoIHNvbGwgZGFzIFRlYW0KYXVzIFNwaWVsZXJuIHVuZCBuaWNodCBhdXMgTW9lY2h0ZWdlcm4gTWFncyBiZXN0ZWhlbi4KCgpBZWggaWNoIHdvbGx0ZSBkb2NoIGVpZ2VudGxpY2ggbnVyIGRpZSBHcnVlbmRlIGZ1ZXIgVGVycm9yaXN0cyBXZWdnZWhlbiBuZW5uZW4KLi4uCgpOYWphIC4uLiBpc3QgbWVociBnZXdvcmRlbiA7KQoKCktleQoKUC5TLjogQWNoamEgLi4uCiAgICAgIE5vY2ggZWluIGdhbnogZ3Jvc3NlcyBEYW5rZSBkaWUgbWVpbmVuIGtsZWluZW4gc2VpbmVyemVpdGVuIGdlaG9sZmVuCiAgICAgIGhhYmVuLCBzZWlzIEJvaW5nIHVuZCBGcmV1bmQgZ2FueiBhbSBBbmZhbmcsIG9kZXIgZGllIHZpZWxlbiAKICAgICAgendpc2NoZW5kcmluLiBUZXJyb3Igd2FyIG51ciB2b3Igc2VpbmVyIEVudGRlY2t1bmcgbWVpbiBad2VpdGllLCBkYW5hY2gKICAgICAgd2FyIGVyIGVpbiBlaWdlbnN0YWVuZGlnZXIgQ2hhcmFrdGVyLCBhdWNoIHdlbm5zIGtlaW5lciBnbGF1YnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmQgd2VnIChSb25kYSwgMjUuIEZlYiAxOTk5LCAxMDowOTozMCk6Cn4jISBybj1LZXkgcnQ9OTE5OTM2MDQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5ODg1MTQwCk5hY2ggZWluZXIga3VyemVuLCBhYmVyIGVpbmRldXRpZ2VuIERpc2t1c3Npb24gYXVmIEFsbGdlbWVpbjoKCkdyYXR1bGF0aW9uLCBLZXkhISEKCihEYXNzIGljaCBkYXMgbWFsIHNjaHJlaWJlbiB3dWVyZGUuLi4gOikgKQoKR2FueiBkZXV0bGljaDogd2VyIGVpbmVuIE1hZ2llcmNoYXJhY3RlciBudXIgZGFmdWVyIGhhdCwgc2VpbmVtIFNwaWVsZXIgenUKaGVsZmVuLCBpbmRlbSBlciBpbSBDb2RlIG5hY2hzaWVodCwgYmVzY2guLi4gbnVyIHNpY2ggLSB1bmQgZ2FueiBuZWJlbmJlaSBhdWNoCmRpZSBhbmRlcmVuIE1pdHNwaWVsZXIhCldhcnVtPyBHYW56IGVpbmZhY2g6IGVpbiBNYWdpZXIsIGRlciBlaW5lIFF1ZXN0IHByb2dyYW1taWVydCwgc2NoYXV0IHNjaG9uCm5hY2gsIG9iIHVuZCB3aWUgU3BpZWxlciBzaWUgc2NoYWZmZW4uIFVuZCBzdGVsbHQgdm9sbGVyIEVudHp1ZWNrZW4gZmVzdCwgZGFzcwplaW4gcGFhciB3ZW5pZ2UgamEgZG9jaCBhdWYgc2VpbmUgdmVycnVlY2t0ZW4gR2VkYW5rZW4ga29tbWVuLiBMZWlkZXIgd2Vpc3MgZXIKbnVuIG5pY2h0LCBkYXNzIGRhcyBudXIgZGllIGVpbi16d2VpIHdhcmVuLCBkaWUgZGFzIGltIENvZGUgZ2VzZWhlbiBoYWJlbi4uLgpBdXNzZXJkZW0ga2FubiBpY2ggbWlyIGVpbmZhY2ggbmljaHQgdm9yc3RlbGxlbiwgZGFzcyBlcyBhdWYgRGF1ZXIgU3Bhc3MKYW1tYWNoZW4ga2FubiwgaW1tZXIgbnVyIHp1IFNjaHVtbWVsbj8KKEFuZGVycyBzaWVodCBlcyBiZWkgTWFnaWVybiBhdXMsIGRpZSB6dSBUZXN0endlY2tlbiBhdWNoIGVpbmVuIFNwaWVsZXIKaGFiZW4hKQoKU28sIGV0d2FzIGxhbmcgZ2V3b3JkZW4gLSBhYmVyIHZpZWxsZWljaHQgaGlsZnRzIGphLgpUc2NodWVzcywKClJvbmRhCgpQczogVmllbCBTcGFzcyBiZWltIFNwaWVsZW4sIEtleSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVW5kIHdlZyAoS2V5LCAyNS4gRmViIDE5OTksIDEwOjI0OjI1KToKfiMhIHJuPUtleSBydD05MTk5MzYwNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk4ODUxNDAKSG1tIGJldm9yIGljaCBlcyB3aWVkZXIgdmVyZ2Vzc2UgLi4uLiBOb2NoIGVpbiBHcnVuZCBzaW5kIGdld2lzc2UgTWFnaWVyIGRpZQplaW5lbiBwcmFrdGlzY2ggZGF6dSBicmluZ2VuIG1pdCBzZWluZW0gTWFnaWVyIHp1IGJldHJ1ZWdlbi4KT2tpIHZpZWxsZWljaHQgaXN0IGJldHJ1ZWdlbiB1ZWJlcnRyaWViZW4sIEFiZXIgd2VubiBkZXIgU3BpZWxlciB3ZWdlbiBuZW0gQnVnCmZlc3RoYWVuZ3QgdW5kIG1hbiBuZW4gTWFnaWVyIHVtIEhpbGZlIGJpdHRldCwgdW5kIGRlciBzYWd0ICJMb2dnIGhhbHQgZGVpbmVuCk1hZ2llciBlaW4gdW5kIGhpbGYgRGlyIHNlbGJzdCIuIERhbm4gd2lyZCBtaXIgaXJnZW5kd2llIGFuZGVyc3QgLi4uCgpLZXkgbmFjaHRyYWdlbmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVuZCB3ZWcgKEFuYXRvbCwgMjUuIEZlYiAxOTk5LCAxMjoyMDo1Nyk6Cn4jISBybj1LZXkgcnQ9OTE5OTM4MjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5ODg1MTQwCldvIEtleSBkaWVzZXMgaGVpc3NlIEVpc2VuIHNjaG9uIGF1cyBkZW0gRmV1ZXIgemllaHQsIGtvZW5uZW4gd2lyIGVzCmRvY2ggYXVjaCBnbGVpY2ggenUgc2NobWllZGVuIGJlZ2lubmVuLCBhdWNoIHdlbm4gZXZlbnR1ZWxsIHNvbGNoZSBPcnRlCnVuZCBHZWdlYmVuaGVpdGVuIHdpZSAiUGFydHkiIG9kZXIgIk1lZ2EtU3RhbW10aXNjaCIgZ2VlaWduZXRlciBzaW5kLAp3ZWlsIG1hbiBkYSBiZXNzZXIgc2llaHQsIHdvIG1hbiBmdW5kYW1lbmFsZSBHcnVuZHNhZXR6ZSBkZXMgR2VnZW51ZWJlcnMKYW5ncmVpZnQgLSB1bmQgZW50c3ByZWNoZW5kIHZvcnNpY2h0aWcgYW5nZWhlbiBzb2xsdGUuCgpFcyB3dWVyZGUgZGVyIFNjaHdlbW1lICgiQXMgSSBmb3JldG9sZCwgZXMgYmFsZCB3aXJkIHp1bSBndXRlbiBUb24gCmdlaG9lcmVuLCBlaW5lbiBNYWdpZXJ6d2VpdGllIHp1IGhhYmVuLiIgWml0YXQgTiopIGJldHJhZWNodGxpY2hlbiBFaW5oYWx0CmdlYmlldGVuIHVuZCBkZW4gZW50c3ByZWNoZW5kZW4gTGV1dGVuIGRpZSBFbnRzY2hlaWR1bmcgendpc2NoZW4gU3BpZWxlcgp1bmQgTWFnaWVyIGRldXRsaWNoIGxlaWNodGVyIE1hY2hlbiwgd2VubiBkaWUgU3BpZWxlcmNoYXJha3RlcmUgZWluZXMKTWFnaWVycyAtIGdsZWljaGd1ZWx0aWcsIG9iIGRlciBNYWdpZXIgdm9yaGVyIEVyc3RpZSBvZGVyIFp3ZWl0aWUgd2FyIC0KbmFtZW50bGljaCAodW5kIHZvciBhbGxlbiBEaW5nZW4gZnVlciBqZWRlbiBTcGllbGVyIHNpY2h0YmFyKSBhbHMKWndlaXRjaGFyYWt0ZXIgenUga2VubnplaWNobmVuIGlzdC4KQXVzcmVkZW4gd2llICJEZXIgTWFnaWVyIGlzdCBhYmVyIGVpbmRldXRpZyBad2VpdGllIHVuZCBhcmJlaXRldCBudXIgYW4KZGVyIExpYiEiIHd1ZXJkZSBpY2ggZ2VuYXUgZWluZW0gZWluemlnZW4gU3BpZWxlcm1hZ2llciBhYm5laG1lbiwgdW5kCmRlciBtdWVzc3RlIGhhbHQgYXVmIGRlbSBBbHRhciB6dW0gV29obGUgZGVyIEFsbGdlbWVpbmhlaXQgZ2VvcGZlcnQgCndlcmRlbiwgZC5oLiBtaXQgTWFya2llcnVuZyBoZXJ1bWxhdWZlbiwgd2llIGplZGVyIGFuZGVyZSBTcGllbGVyIGVpbmVzCk1hZ2llcnMgYXVjaC4KRGllIEdydWVuZGUgZGFmdWVyIGR1ZXJmdGVuIG5pY2h0IGFsbHp1c2Nod2VyIHp1IGZpbmRlbiBzZWluOiBadW0gZWluZW4KdW50ZXJsaWVnZW4gTWFnaWVyendlaXRpZXMgKGltIEZvbGdlbmRlbiBpc3QgZGVyIE1hZ2llciBfaW1tZXJfIGRlcgpFcnN0aWUpIGdld2lzc2VuIHZlcmJpbmRsaWNoZW4gUmVnZWxuLCBlcyBpc3QgYWxzbyBndXQgenUgd2lzc2VuLCB3ZWxjaGVuClNwaWVsZXIgbWFuIE5JQ0hUIGZyYWdlbiBkYXJmLiBVbmQgd2VsY2hlbSBTcGllbGVyIG1hbiBnZXdpc3NlLi4uICJEaW5nZSIKbGllYmVyIG5pY2h0IGF1ZiBkaWUgTmFzZSBiaW5kZXQgLSBsZXR6dGVyZXMgYWJlciB2ZXJnbGVpY2hzd2Vpc2UgCnVud2ljaHRpZy4gRWluIHdlaXRlcmVyIFB1bmt0IGR1ZXJmdGUgc2VpbiwgdW5kIGRhIGR1ZXJmZW4gc2ljaCBqZXR6dAplaW5pZ2UgTGV1dGUgaW4gZGVyIFRhdCBhbmdlZ3JpZmZlbiBmdWVobGVuLCBkYXNzIHp1bWluZGVzdCBJQ0ggd2lya2xpY2gKbmljaHQgamVkZW0gZGllc2VyIFBlcnNvbmVuIHp1dHJhdWUsIE1hZ2llciB2b24gU3BpZWxlciB6dSB0cmVubmVuLgpMZXR6dGVuIEVuZGVzIGlzdCBkaWVzZSBXZWx0IG51bm1hbCBpbiB6d2VpIFRlaWxlIGdlc3BhbHRlbjogSW4gZGllLCAKZGllIGhpbnRlciBkaWUgS3VsaXNzZW4gc2NoYXVlbiBrb2VubmVuIHVuZCBkaWUsIGRpZSBkYXMgbmljaHQga29lbm5lbgoodW5kIGhvZmZlbnRsaWNoIGF1Y2ggbmljaHQgd29sbGVuKS4gR3JlbnpnYWVuZ2VyIHNvbGx0ZW4gc2ljaCBkZXIgR2VmYWhyLApkaWUgc2llIChqYXdvaGwpIGZ1ZXIgZGFzIE11ZCB1bmQgZGFzIEdsZWljaGdld2ljaHQgZGFyc3RlbGxlbiwgYmV3dXNzdApzZWluLgoKQW5hdG9sCgpQczogVHMsIGViZW4gZmFlbGx0IG1pciBub2NoIGVpbiBNYWdpZXJ6d2VpdGllIChhbHNvIGVpbiBTcGllbGVyY2hhcmFrdGVyCiAgICBlaW5lcyBNYWdpZXJzKSBlaW4sIGRlciB3aXJrbGljaCB6aWVtbGljaCBndXQgdHJlbm50IHVuZCBtaXQgZGVtIGRhcwogICAgSGVydW16aWVoZW4gYXVjaCB6aWVtbGljaGVuIFNwYXNzIG1hY2h0LiBBYmVyIGljaCB3ZXJkZSBiZXNzZXIgbmljaHQgCiAgICB2b24gaWhtIGF1ZiBkaWUgRWluZ2VzY2h3ZW1tdGVuIHNjaGxpZXNzZW4sIHp1bWFsIGdhbnogZWluZGV1dGlnIGRlcgogICAgTWFnaWVyIGFscyBFcnN0Y2hhcmFrdGVyIGdlaGFuZGhhYnQgd2lyZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVbmQgd2VnIChLZXksIDI1LiBGZWIgMTk5OSwgMTI6MjQ6NDYpOgp+IyEgcm49QW5hdG9sIHJ0PTkxOTk0NTI1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTg4NTE0MApIbW0gd2llIHdhZXJlIGVzIG1hbCB3aWVkZXIgbWl0IG1laW5lbiBWb3JzY2hsYWcgdm9uIGRhbWFscyAuLi4KTmljaHQgbnVyIFp3ZWl0aWVzIHdlcmRlbiBtYXJraWVydCwgc29uZGVybiBhdWNoIGRlciBFcnN0aWUgd2VsY2hlIFp3ZWl0aWVzIGVyCmFsbGUgaGF0IC4uLgoKS29lbm50ZSBtYW4gamEgYmVpIFp3ZWl0bWFnaWVybiB6dXIgUGZsaWNodCBtYWNoZW4gLi4uLgoKSmFqYSBpY2ggaGFiIEJvaW5nIHVuZCBGcmV1bmQgZGFtYWxzIGRhenUgdWViZXJyZWRldCBlcyB1bnNpY2h0YmFyIG1hY2hlbiB6dQpkdWVyZmVuLCB1bmQgZGllIERpc2t1c2lvbiBkYXMgS2V5IGVyc3RpZSBpc3Qgd2FyIGF1Y2ggbmV0IGdlcmFkZSBrdXJ6IDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVW5kIHdlZyAoV3VyemVsLCAyNS4gRmViIDE5OTksIDE2OjMxOjE4KToKfiMhIHJuPUtleSBydD05MTk5MzYwNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk4ODUxNDAKaGVyemxpY2hlbiBnbHVlY2t3dW5zY2gsIGRhcyB3YXIgbmUgZ3V0ZSBlbnRzY2hlaWR1bmcuCmluendpc2NoZW4gaXN0IGVzIGRvY2ggc28sIGRhc3Mgc29mb3J0IGplZGVyIHdlaXNzLCB3YXMgZWlnZW50bGljaCBnZW5hdQpsb3MgaXN0LCB3ZWlsIG1hZ2llcnp3ZWl0aXMgaW0gdWViZXJmbHVzcyB2b3JoYW5kZW4gc2luZC4gZGFzIG5lcnZ0LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVbmQgd2VnIChOb3Zhc3Rvcm0sIDI1LiBGZWIgMTk5OSwgMTY6NDY6MjcpOgp+IyEgcm49QW5hdG9sIHJ0PTkxOTk0NTI1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTg4NTE0MApIbW0sIEtleSBoYXQgendhciBlaW5lbiBBbmZhbmcgZ2VtYWNodCwgbnVyIGRhcyBzaWNoIGRhcyBhdWYgZGVuICdSZXN0IGRlcgpTY2h3ZW1tZScgcG9zaXRpdiBhdXN3aXJrdCB3YWcgaWNoIGRvY2ggenUgYmV6d2VpZmVsbi4KRGFzIGVzIGVpbmlnZSBQZXJzb25lbiBtZWhyIGFscyBBbmF0b2wgZXJ3YWVobnRlIGdpYnQsIGRpZSAnTWFnaWVybGViZW4nIHZvbQpTcGllbGVyZGFzZWluJyByZWNodCBndXQgdHJlbm5lbiBrb2VubmVuLCBhZW5kZXJ0IG5pY2h0cyBhbiBkZXIgVGF0c2FjaGUsIGRhc3MKZGFzIE1HIGR1cmNoIGRpZSBWZXJ3aXNjaHVuZyBkZXIgR3JlbnplbiBTcGllbGVyLU1hZ2llciBlaW5pZ2VzIHZlcmxvcmVuIGhhdC4KVW5kIG5pY2h0IG51ciBpbiBTYWNoZW4gU3BpZWxzcGFzcyB1bmQgT3JnaW5hbGl0YWV0LgpBbmRlcmVyc2VpdHMgaXN0IGVzIG1laW5lciBNZWludW5nIG5hY2ggenUgc3BhZXQsIHVtIGRhcyBSdWRlciBub2NoCnp1cnVlY2t6dXNldHplbi4gRXMgc2VpIGRlbiwgbWFuIGZ1ZWhydCBhbGxlIFp3ZWl0aWVtYWdpZXIgKGRpZSB2b24gQW5hdG9sCmVyd2FlaG50ZSBBdXNuYWhtZSBhdXNnZXNjaGxvc3Nlbikgd2llZGVyIGRlbSBWb2lkIHp1LCB3YXMgYWxsZXJkaW5ncyB3b2hsCmthdW0gaW0gU2lubmUgZGVyIE1laHJoZWl0IHNlaW4gd2lyZC4KCiAgICAgICAgIE5vdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFVuZCB3ZWcgKFllbmRpLCAyNS4gRmViIDE5OTksIDE5OjUyOjAxKToKfiMhIHJuPU5vdmFzdG9ybSBydD05MTk5NjExODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk4ODUxNDAKTWVpbmUgU3RpbW1lIGhhdCBkZXIgVm9yc2NobGFnIQoKWWVuZGkgZXJoZWJ0IHNpY2ggd3VlcmRldm9sbCB2b24gc2VpbmVtIFNpdHogaW0gSG9oZW4gUmF0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFRlZGR5LCAyNS4gRmViIDE5OTksIDIwOjA0OjI2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MTk3OTk3NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKV2llIG1hbiBkZW5lbiBoZWxmZW4ga2Fubj8KR2VidCBpaG5lbiBuZSBrb3N0ZW5sb3NlIFN0YW5kbGVpdHVuZy4KVW5kIHVlYmVyaGF1cHQsIHdlciBQcm9ibGVtZSBoYXQgc3R1bmRlbmxhbmcgenUgbXVkZGVuIHNvbGwgaGFsdCBhdWZob2VyZW4uCgpUZWRkeW0gaGF0IGF1Y2ggbWl0IDI0LVN0dW5kZW4tbXVkZGVuIGtlaW5lIFByb2JsZW1lIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKEFzbW9kaXMsIDI1LiBGZWIgMTk5OSwgMjI6MTg6MDkpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTkxOTgwNDY1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MAphcm1kcnVlY2tlbiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVbmQgd2VnIChBbmF0b2wsIDI2LiBGZWIgMTk5OSwgMDE6MTk6NDUpOgp+IyEgcm49Tm92YXN0b3JtIHJ0PTkxOTk2MTE4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTg4NTE0MApFaW5lIHdlbmlnZXIgcmlnb3Jvc2UgTW9lZ2xpY2hrZWl0IHdhZXJlIGVzLCBkZW4gbW90aXZpZXJ0ZW4gTWFnaWVybiwKZGllIGFuIGlocmVuIFNwaWVsZXJ6d2VpdGllcyAoX1p3ZWl0aWVzXy4gV2ljaHRpZ2VyIFB1bmt0KSBoYWVuZ2VuLCBkaWUKTW9lZ2xpY2hrZWl0IGVpbnp1cmFldW1lbiwgZnJlaXdpbGxpZyB1bmQgZGF1ZXJoYWZ0IGF1ZiBhbGxlIExlc2VyZWNodGUKYXVzc2VyaGFsYiBpaHJlciBlaWdlbmVuIEdlYmlldGUgdW5kIGRlciBEb2t1bWVudGF0aW9uICB6dSB2ZXJ6aWNodGVuLgoKRWluZSBNYXJraWVydW5nc3BmbGljaHQsIGRpZSBkZW4gU3BpZWxlciBlaW5lcyBNYWdpZXJzIGFscyBad2VpdHNwaWVsZXIKZWluZXMgTWFnaWVycyBrZW5uemVpY2huZXQsIHNvbGx0ZSBkZW5ub2NoIGJlc3RlaGVuLCBkaWUgR3J1ZW5kZSBibGVpYmVuCmphIGF1Y2ggd2VpdGVyaGluIGJlc3RlaGVuLiBBdXNzZXJkZW0gc2NoYWRldCBlcyBuaWNodCwgZGllIEhlbW1zY2h3ZWxsZQpmdWVyIC4uLiBHcmF1em9uZW5ha3Rpdml0YWV0ZW4gLi4uIGhvZWhlciBha3RpdmllcnQgenUgYmVsYXNzZW4uCgpBbmF0b2wgLSBOVVIgU3BpZWxlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKEdlc2FuZHRlciwgMjYuIEZlYiAxOTk5LCAwNDo0MDoxMyk6Cn4jISBybj1Bc21vZGlzIHJ0PTkxOTk4MTA4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApNb2luLAoKYWxzbyBpY2ggd3VlcmRlIHZvciBBbnR3b3J0ZW4gd2FybmVuLiBEZXIgTURSIGlzdCBrYXVtIG5lbiBEZXV0IGJlc3NlciwgYWxzCmRlciBCYXlyaXNjaGUgUnVuZGZ1bmsuIFRlbmRlbnpiZXJpY2h0ZXJzdGF0dHVuZyB2b3IgSm91cm5hbGlzbXVzLiBXZXIgZWlubWFsCmVpbmUgZGVyIFNlbmR1bmdlbiB2b20gVHlwOiAiQWxsZSBNZXRhbGZhbnMgc2luZCBWZXJicmVjaGVyIiBnZXNlaGVuIGhhdCwKd2Vpc3Mgd2FzIGljaCBtZWluZS4gVGFibGV0b3AtUm9sbGVuc3BpZWxlciBoYWJlbiBhdWNoIHNjaG9uIGlociBGZXR0CmFiYmVrb21tZW4uIEFsc28sIHdlbm4gSWhyIHNjaGxhdSBzZWlkLCBnbGF1YnQgZGVuIFZlcnNwcmVjaHVuZ2VuIHZvbiAiRmFpcmVyCkJlcmljaHRlcnN0YXR0dW5nIiBibG9zcyBuaWNodC4KV2VubiBkb2NoLi4ubWlyIGRvY2ggZWdhbC4KTC4gLi5HZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVbmQgd2VnIChSaW5nb3IsIDI2LiBGZWIgMTk5OSwgMTE6MDg6NDcpOgp+IyEgcm49Tm92YXN0b3JtIHJ0PTkxOTk2MTE4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTg4NTE0MApJY2ggaG9lcmUgaGllciBpbW1lciBBdXNuYWhtZW4uIFdpZXNvIEF1c25haG1lbj8KCldlbm4gZXMgenUgZWluZXIgdmVyYmluZGxpY2hlbiBSZWdlbHVuZyBrb21tZW4gc29sbHRlLCBkYW5uIGdpbHQgZGllIGZ1ZXIKYWxsZSwgb2RlciBpaHIga29lbm50IGV1Y2ggZGllIE11ZWhlIGdsZWljaCBzcGFyZW4uCgpSaW5nb3Igc2FndDogbWl0IGVpbmVyIEF1c25haG1lIGhhdCBhbGxlcyBhbmdlZmFuZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoSmVuYW5kcmEsIDI2LiBGZWIgMTk5OSwgMTE6NDg6MzApOgp+IyEgcm49R2VzYW5kdGVyIHJ0PTkyMDAwNDAxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApobW0gLi4uCmljaCBrYW5uIG1pY2ggYXVjaCBub2NoIHNlaHIgZGV1dGxpY2ggYW4gZGVuIHJ1bW1lbCBlcmlubmVybiwgZGVuIGRpZQpyZXBvcnQtc2VuZHVuZyB1ZWJlciBoZWF2eSBtZXRhbCBkYW1hbHMgdmVydXJzYWNodCBoYXQgLi4uIHZpZWxlIGp1Z2VuZGxpY2hlCnd1cmRlbiB2b24gaWhyZW4gZmFtaWxpZW4gcGxvZXR6bGljaCBmdWVyIHNhdGFuaXN0ZW4gZ2VoYWx0ZW4gOy0pCmltbWVyIGRyYW4gZGVua2VuOiBkaWUgYXVzc2FnZSAiZGEgdHJlZmZlbiBzaWNoIGxldXRlIG9ubGluZSB6dW0gcm9sbGVuc3BpZWxlbgp1bmQgaGFiZW4gZGFiZWkgbWFlY2h0aWdlbiBzcGFzcyIgaXN0IG5pY2h0IHNvbmRlcmxpY2ggbWVkaWVud2lya3NhbSAuLi4KCkplbmFuZHJhcyA1cGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKE5ldm9rLCAyNi4gRmViIDE5OTksIDEyOjA0OjA2KToKfiMhIHJuPUplbmFuZHJhIHJ0PTkyMDAyOTcxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApCZXNvbmRlcnMgd2VubiBlaW5pZ2UgZGVyIGdlemVpZ3RlbiBMZXV0ZSBzbyBhdXNzZWhlbiB3aWUgaWNoIGVzIG1hbmNobWFsCnR1ZS4uLi4uLmJsdXR1bnRlcmxhdWZlbmUgQXVnZW4sIHdlaWwgaWNoIHNjaG9uIHdpZWRlciB2ZXJnZXNzZW4gaGFiZSBkaWUKS29udGFrdGxpbnNlbiByYXVzenVuZWhtZW4gdW5kIGR1cmNoIGRpZSBCcmlsbGUgenUgZXJzZXR6ZW4sIHVucmFzaWVydCB1bmQKdmVyd3VzY2hlbHQgKGtvbW10IGJlaSBsYW5nZW4gSGFhcmVuIG5pY2h0IGdhbnogc28gY3JlbWlnKSwgZWluZW4gZ2llcmlnZW4Kd2lsZGVuIEJsaWNrIChLQUZGRUUhISEhISEhISEhISEhIEpldHp0IHNvZm9ydCBhdWYgZGVyIFN0ZWxsZSBzb25zdApCbHV0cmF1c2NoLi4uLi4uLi4pIHVuZCBkaWUgYW5kZXJlbiBCZWdsZWl0ZXJzY2hlaW51bmdlbi4KVmllbGxlaWNodCwgd2VubiB3aXIgZWluIHBhYXIgRHJlc3NtZW4gaW4gQW56dWcgdW5kIEtyYXdhdHRlIGFscyBGYWtlLU11ZGRlcgpnZXdpbm5lbiBrb2VubnRlbi4uLmthZW1lIGJlc3RpbW10IHNlaHIgRWRlbCwgaW0gQXJtYW5pIEFuenVnIHZvciBkZW0gQ29tcHV0ZXIKenUgc2l0emVuLCBuZWJlbmhlciBQZXJyaWVyICB6dSBuaXBwZW4gdW5kIHVuYXVmZmFlbGxpZ2UgQnVlY2hlciB3aWUgTW9saWVyZSwKR3Jhc3MgdW5kIGRpZSBCaWJlbCBydW1saWVnZW4genUgaGFiZW4uCkRhcyBrb2VubnRlIGRhcyBXZWx0YmlsZCBlaW5pZ2VyIExldXRlIHp1dGllZnN0IHNjaG9ja2VuLi4uCgpOZXZva3MgMmN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChXdXJ6ZWwsIDI2LiBGZWIgMTk5OSwgMTI6NDM6NTUpOgp+IyEgcm49TmV2b2sgcnQ9OTIwMDMwNjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCmR1IHdpcnN0IGVzIG5pY2h0IGdsYXViZW4sIGFiZXIgZXMgZ2lidCBkdXJjaGF1cyBsZXV0ZSwgZGllIGltIGFuenVnIG11ZGRlbi4KbnVyIGtvbW1lbiBkaWUgbmF0dWVybGljaCBuaWNodCBpbnMgZmVybnNlaGVuLCB1bmQgendhciBhdXMgbWluZGVzdGVucwp6d2VpIGdydWVuZGVuOiBlcnN0ZW5zIGlzdCBkYXMgd2llIGdlc2FndCBuaWNodCBzZWhyIG1lZGllbndpcmtzYW0sIHp3ZWl0ZW5zCm1hY2h0IG1hbiBzb3dhcyBub3JtYWxlcndlaXNlIHZvbiBkZXIgYXJiZWl0IGF1cy4gdW5kIHdlbm4gZGVyIGNoZWYgZGFubgp6dWZhZWxsaWcgZGVuIGZlcm5zZWhlciBhbmhhdCB1bmQgZGFzIHNpZWh0Li4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKE1haGF0bXUsIDI2LiBGZWIgMTk5OSwgMTI6NDU6NDYpOgp+IyEgcm49V3VyemVsIHJ0PTkyMDAzMzAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApJY2ggemFlaGwgZGllIG1hbCwgaG0/IFd1cnplbDogRUlOUy4KTXVkZGV0IG5vY2ggZWluZXIgaW0gQW56dWcgYW0gQXJiZWl0c3BsYXR6PyA6KQoKR2xvaW4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChKZW5hbmRyYSwgMjYuIEZlYiAxOTk5LCAxMjo0Njo0Myk6Cn4jISBybj1NYWhhdG11IHJ0PTkyMDAzMzE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApuYWphIC4uLiBhbnp1ZyBuaWNodCBncmFkIC4uLiAqZyoKCkplbmFuZHJhIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoTmV2b2ssIDI2LiBGZWIgMTk5OSwgMTI6NTA6NTEpOgp+IyEgcm49V3VyemVsIHJ0PTkyMDAzMzAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApBUkdMCk9rLCB3ZW5uIER1IERpciBkYW1pdCBhdWYgZGVuIFNjaGxpcHMgZ2V0cmV0ZW4gZnVlaGxzdC4uLi4uLi5zb3JyeS4uLi4KTGFzcyBlcyBtaWNoIG1hbCBzbyB2ZXJzdWNoZW4genUgZXJrbGFlcmVuLi4uLkRhcyBzb2xsdGUgZWluZSBJcm9uaXNjaGUgWm90ZQphdWYgZGFzIEtsaXNjaGVlIGRlcyBNdWRkZXJzIHNlaW4uClNjaGVpbnQgd29obCBuaWNodCBkZXV0bGljaCBnZW51ZyBnZXdlc2VuIHp1IHNlaW4gKnNldWZ6KgpJY2ggbWVpbnRlIGRhbWl0IG51ciwgZGFzcyBkZXIgbm9ybWFsZSBadXNjaGF1ZXIgR2Vla3MgZXJ3YXJ0ZXQgdW5kIGRhbm4gaGFsdApkb2NoIGtlaW5lbiB6dSBzZWhlbiBrcmllZ3QsIHNvbmRlcm4gZWluIGFuZGVyZXMsIGdlc2VsbHNjaGFmdHNmYWVoaWdlcmVzICg/KQpCaWxkIGRlcyBnZW1laW5lbiAoYmlvbG9naXNjaCBnZXNlaGVuLCBuaWNodCBnZXNpbm51bmdzbWFlc3NpZykgSG9tbyBTYXBpZW5zCk11ZGVuc2lzLi4uCkpldHp0IGV0d2FzIGtsYXJlcj8KCiplcmhvZWhldCBhdWYgZGFzIGRvcHBlbHRlKgoKTmV2b2tzIDRjdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoV3VyemVsLCAyNi4gRmViIDE5OTksIDEyOjU0OjQ3KToKfiMhIHJuPU5ldm9rIHJ0PTkyMDAzMzQ1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MAp3YXIgbWlyIHNjaG9uIHZvcmhlciBrbGFyLiBhYmVyIGVzIGdlaG9lcnQgbnVuIG1hbCB6dW0gZGlza3Vzc2lvbnNzdGlsIGluCmRlciBtcGEsIGR1cmNoIGR1bW1lcyBydW1sYWJlcm4gdm9tIGVpZ2VudGxpY2hlbiB0aGVtYSB3ZWl0c2Nod2VpZmlnCmFienVsZW5rZW4gdW5kIGFsbGUgYW5zYWV0emUgZnVlciBlaW5lIHNpbm52b2xsZSBub3JtYWxlIGdlc3ByYWVjaHNmdWVocnVuZwppbSBrZWltIHp1IGVyc3RpY2tlbi4gbGFzc3QgdW5zIHVuc2VyZSB0cmFkaXRpb25lbiBhdXNsZWJlbiEKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoTWFoYXRtdSwgMjYuIEZlYiAxOTk5LCAxNjoxMjowOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTIwMDMzNjg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCihhKSBkYXMgdW5kCihiKSB3aWUsIHdhcz8gV2lyIHNpbmQgZ2VzZWxsc2NoYWZ0c2ZhZWhpZy4gTmltbWVyLgoKV2llIHNvbGwgZGFzIGRhbWFscyBpbiBNdWVuc3RlciBnZXdlc2VuIHNlaW4/ICdUb2V0ZXIgbWFjaHQgc2ljaCB2b3ItCnNvZ2xpY2ggZGFzIFNjaGlsZCBhYiwgYmV2b3IgZXIgenUgZGVuIG5ldHRlbiBKdW5ncyBpbiBHcnVlbiBnZWh0JyA/CgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoQXJpYW5hLCAyNi4gRmViIDE5OTksIDE2OjEyOjE0KToKfiMhIHJuPVd1cnplbCBydD05MjAwMzM2ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKYWxzbywgaWNoIGZpbmRlIGphIGltbWVyIG5vY2gsIHdpciBsYWRlbiBkZW4gbmFjaCBtYXJidXJnIGVpbi4uLi4KCmFyaWFuYSAqaWhyZSBkaXBsb21hcmJlaXQgZXZ0bC4gdWViZXIgc3VjaHRnZWZhaHJlbiBzY2hyZWliZW5kIHVuZCBkZW0gbWFubgpnZXJuZSBtYWwgd2FzIGRhenUgZXJ6YWVobGVuIHdvbGxlbmQsIGF1Y2ggd29obCBpbSBrdXJ6ZW4gcm9jayB3ZW5ucyBzZWluCm11c3MsIGFiZXIgbmUgYmliZWwgbmVobSBpY2ggbmljaCBpbiBkaWUgaGFuZCEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptYWcydGllcyAoQ3ltb25rLCAyNi4gRmViIDE5OTksIDE2OjI2OjQ1KToKaGFsbG9lY2hlbiB1bmQgYWNodHVuZy0gZGllc2VyIHRleHQgaXN0IGV0d2FzIGxhZW5nZXIhCgppY2ggd2lsbCBtaWNoIGpldHp0IGF1Y2ggJ21hbCB6dSBkZXIgbWFnMnRpZSBkaXNrdXNzaW9uIGFldXNzZXJuLCBkYSBpY2gKd29obCBpbiBkZXIgbGV0enRlbiB3b2NoZSBhdWZnZWZhbGxlbiBiaW4sIHdlaWwgbWVpbmUgbGV0emVuIGJlaWRlbiBraWRzCmVpbmlnZW4gdW50ZXIgZXVjaCBhdWZncnVuZCBpaHJlcyBhbHRlcnMgdW5hbmdlbmVobSBhdWZnZXN0b3NzZW4gc2luZC4KdW5kIGRhIGljaCBhdWNoIHNjaG9uIHZvbiBtZWhyZXJlbiBzZWl0ZW4genUgZGllc2VtIHRoZW1hIGFuZ2VzcHJvY2hlbgp3b3JkZW4gYmluLCBsYXNzJyBpY2ggJ21hbCBlaW4gYmlzc2NoZW4gd2FzIHZvbSBzdGFwZWwuCgplcnN0bWFsIGVpbiBwYWFyIGZha3RlbjoKCjEuIG1hZ2llcmNoYXJha3RlcmUgd2VyZGVuIGF1dG9tYXRpc2NoIGVyc3RpZXMsIGRpZSByZXN0bGljaGVuCiAgIHNwaWVsZXJjaGFyYWt0YWVyZSBzb21pdCAydGllcywgZGllIG1hcmtpZXJ0IHNlaW4gbXVlc3Nlbi4KCjIuIG1hZ2llcmNoYXIgdW5kIDJ0aWVzIGR1ZXJmZW4gbmljaHQgZ2xlaWNoemVpdGlnIGVpbmdlbG9nZ3QKICAgc2Vpbi4KCjMuIGVzIGdpbHQgZnVlciBtYWdpZXIgZWluZSAnb2JlcnN0ZSBkaXJpa3RpdmUnIChzaWVoZSB3ZWl0ZXIgdW50ZW4pLCBhbiBkaWUKICAgc2llIHNpY2ggenUgaGFsdGVuIGhhYmVuLSB3b3p1IHNpZSBzaWNoIG1pdCB1bnRlcnplaWNobmVuIGRlcyBtYWdpZXIKICAgdmVydHJhZ2VzIHZlcnBmbGljaHRlbi4gKGJ0dzogZGVyIHZlcnRyYWcgc29sbHRlIGF1Y2ggJ21hbCB1ZWJlcmFyYmVpdGV0CiAgIHdlcmRlbiA6KQoKNC4gZXMgaXN0IG1hZ2llcm4gbmljaHQgdmVyYm90ZW4gbWl0IGVpbmVtIHp3ZWl0Y2hhcmFrdGVyIHp1IHNwaWVsZW4sCiAgIHNvbGFuZ2UgZGllc2VyIHNpY2ggZWJlbmZhbGxzIHB1bmt0IDMgZ2VtYWVzcyB2ZXJoYWVsdCEKCmFscyBuYWVjaHN0ZXMgbW9lY2h0ZSBpY2ggYXVjaCAnbWFsIHZlcnN1Y2hlbiwgZGllc2UgJ29iZXJzdGUgZGlyZWt0aXZlJwpwcmFlZ25hbnQgYXVmIGVpbmVuIG5lbm5lciB6dSBicmluZ2VuLCBkYSBzaWUgc293b2hsIHZvbiB2aWVsZW4gc3BpZWxlcm4oISkKYWxzIGF1Y2ggbWFnaWVybiBuaWNodCByaWNodGlnIHZlcnN0YW5kZW4gd2lyZCEKCiAgICAnbWFnaWVybiBpc3QgZXMgdmVyYm90ZW4sIGF1ZiBpcmdlbmRlaW5lIGFydCB1bmQgd2Vpc2Ugdm9uIGlocmVtIHdpc3NlbgogICAgIHVuZCBpaHJlbiB2b24gam9mIGdlZ2ViZW5lbiBtb2VnbGljaGtlaXRlbiBzbyBpbiBkYXMgc3BpZWxnZXNjaGVoZW4KICAgICBlaW56dWdyZWlmZW4sIGRhc3MgZWluIHNwaWVsZXIgZ2VnZW51ZWJlciBhbmRlcmVuIGJldm9ydGVpbHQgd2lyZC4KICAgICBlaW56aWdlIGF1c25haG1lIGhpZXJ2b24gc2luZCBvZmZlbnNpY2h0bGljaGUgYnVncyEnCgppY2ggZGVua2UsIGluIGRpZXNlciBmb3JtdWxpZXJ1bmcgc3RlY2t0IGFsbGVzKCEpIGRyaW4uIGJldm9yIGlociBhbHNvIGRpZXNlCmZvcm11bGllcnVuZyBmbGFtZXQsIGJpdHRlIHp1ciBzaWNoZXJoZWl0IHZvcmhlciBlaW4gd2VpdGVyZXMgbWFsIGRhcnVlYmVyCm5hY2hkZW5rZW4gOikKCm9rLCBkYW1pdCBoYWJlbiB3aXIgZWluZSBlcnN0ZSBkaXNrdXNzaW9uc2dydW5kbGFnZSwgYWxzbyB3ZWl0ZXIgaW0gdGV4dDoKd2FydW0gc3RvZXNzdCBkaWUgJ21hZzJ0aWUnIHNjaHdhZW1tZSBzbyB1bmFuZ2VuZWhtIGF1ZiAoaGF1cHRzYWVjaGxpY2gKbGF0dWVybmljaCB1bnRlciBkZW4gc3BpZWxlcm4pPwoKMS4gd2VpbCB2aWVsZSBnbGF1YmVuLCBkYXNzIHNpY2ggbWFnaWVyIG5pY2h0IGFuIGRpZXNlIHJlZ2VsIGhhbHRlbgogICB1bmQvb2RlciBkaWUgZWluaGFsdHVuZyBkaWVzZXIgcmVnZWxuIG5pY2h0IHVlYmVycHJ1ZWZiYXIgaXN0ISEKCm9rLCBkYXMgc2NoZWludCBhdWYgZGVuIGVyc3RlbiBibGljayBzby4uLiBnZWhlbiB3aXIgdGllZmVyCgpsaWVndCBkZXIgc2FjaHZlcmhhbHQgbmljaHQgaW4gd2lya2xpY2hpY2hrZWl0IHNvLCBkYXNzIGRhcyBtdWQgdm9uIHNlaW5lcgpncnVuZHN0cnVrdHVyIGhpZXJhcmNoaXNjaCBvcmdhbmlzaWVydCBpc3QgdW5kIGRpZXMgZWluZSBtYWNodC0gdW5kCmxldmVsZ2VpbGhlaXQgcHJvdm96aWVydD8/CgpnZWRhbmtlbnNwaWVsLCB3aWUgd2FlcmUgZXMgd2VubjoKICAgIC0gdWViZXJoYXVwdCBrZWluZSBsZXZlbCBleGlzdGllcmVuIHd1ZXJkZW4/CiAgICAtIGplZGVyIHdpcmtsaWNoIG51ciBhdXMgc3Bhc3MgYW0gJ3JvbGxlbnNwaWVsJyBoaWVyIHdhZXJlPwoKd3VlcmRlIHNpY2ggZGFubiBpcmdlbmRqZW1hbmQgdWViZXIgZGllc2VzIHRoZW1hIGF1ZnJlZ2VuPz8KCidoZXksIGR1IGJpc3QgYmVzc2VyIGFscyBpY2gsIGR1IGhhc3QgZ2VzY2h1bW1lbHQhISEnCgpvaCBqZSwgaGFiZW4gd2lyIGRlbm4gYWxsZSBoaWVyIHNvd2VuaWcgc2VsYnN0YmV3dXNzdHNlaW4sIGRhc3Mgd2lyIHVucyBpbW1lcgpudXIgYW4gYW5kZXJlbiBtZXNzZW4gbXVlc3NlbiwgaXN0IGRlbm4gdWViZXJoYXVwdCBrZWluZXIgbWVociBoaWVyLCBkZXIgZGFzCm11ZCBzZWluZXMgc2VsYnN0IHdpbGxlbnMgZ2VuaWVzc3QgdW5kIG5pY2h0IHdlaWwgZXIgZXR3YXMgZ2VmdW5kZW4gaGF0LCB3byBlcgpzaWNoIGVuZGxpY2ggJ21hbCB2b3IgYW5kZXJlbiBwcm9maWxpZXJlbiBrYW5uLi4uLgoKdm9ybmVobScgZ2VodCBkaWUgd2VsdCB6dSBncnVuZGUuLi4KCnZpZWxlIHNwaWVsZXIgdmVydHJldGVuIGF1Y2ggaGllciBkZW4gc3RhbmRwdW5rdDoKCkVOVFdFREVSIE1BR0lFUiBPREVSIFNQSUVMRVIhISEhCgpkYXp1IG1vZWNodGUgaWNoIG51ciBkaWUgdGhlc2UgYXVmdHN0ZWxsZW4sIGRhc3Mgc28gZWluZSByZWdlbCBkaWUgc3RpbW11bmcKaW0gbWcgbm9jaCBtZWhyIHplcnN0b2VyZW4gd3VlcmRlIQoKMS4gd2VyIGlzdCBkYSBzbyBkcmVpc3QgbWljaCBpbiBtZWluZW4gZW50ZmFsdHVuZ3Ntb2VnbGljaGtlaXRlbiBhbHMgbXVkZGVyCiAgIGVpbnNjaHJhZW5rZW4genUgd29sbGVuPyB3b2hlciBuaW1tdCBlciBkaWVzZXMgcmVjaHQhIQogICAoendlaSBrbGFzc2VuIGdlc2VsbHNjaGFmdD8/KQoKMi4gc2VpZCBkb2NoIGZyb2gsIGRhc3MgYXVjaCBtYWdpZXIgYWxzIHNwaWVsZXIgbWl0IGV1Y2ggZHVyY2ggZGllIGxhbmRlCiAgIHppZWhlbiwgaWhyIGxlcm50IHNpZSBlaGVyIGtlbm5lbiwgYWxzIHdlbm4gc2llIGhvY2ggb2JlbiBhdWYgaWhyZW0KICAgZWxmZW5iZWludHVybSB2b3Igc2ljaCBoaW4gaWRsZW4uCgozLiB3ZW5uIG1laHIgbWFnaWVyIHNwaWVsZW4gd3VlcmRlbiwgd2FlcmVuIGVpbmlnZSBzYWNoZW4sIG5pY2h0IHNvCiAgIG1nLWZyZW1kLCBidWd0cmFlY2h0aWcgZ2Vjb2RldCB1bmQgZGFzIG1nIGluc2dlc2FtdCBub2NoIGZhcmJlbnByYWVjaHRpZ2VyCiAgIHVuZCBpbnRlcmVzc2FudGVyIQoKb2ssIGljaCB3ZWlzcywgZGFzcyBkaWUgZ2VzYW10aGVpdCBkZXIgc3BpZWxlbmRlbiBoaWVyIHNvIHVudGVyc2NoaWVkbGljaCBpc3QsCmRhc3MgZ2VnZW5zZWl0aWdlcyB2ZXJ0cmF1ZW4gd29obCBuaWUgenVzdGFuZGUga29tbWVuIHdpcmQuIGFscyB0aXA6CnNjaGF1dCBldWNoIGRvY2ggJ21hbCBkaWUga2xlaW5lcmVuIGRldXRzY2hlbiBtdWRzIGFuIHVuZCB3aWUgZG9ydCBkaWUKcHJvZ3JhbW1pZXJlbmRlIHVuZCBkaWUgc3BpZWxlbmRlIHp1bmZ0IG1pdGVpbmFuZGVyIHVtZ2VodCEhIQoKCmFiZXIgaGllciBlaW4gdm9yc2NobGFnIHVlYmVyIGRlbiBtYW4gJ21hbCBuYWNoZGVua2VuIHNvbGx0ZToKd2llIHdhZXJlIGVzIGVpbmVuIG5ldWVuIHN0YXR1cyBlaW5mdWVocmVuOiBkaWUgbWFnaWVyMnRpZXMhIGRpZXNlIHNvbGx0ZW4KZGFubiBpbiBrZWluZXIgZGVyIGV0YWJsaWVydGVuIGhpZ2hzY29yZXMgYXVmdGF1Y2hlbiAoZGVubiBkYXMgaXN0IGltaG8KZGFzIGtlcm5wcm9ibGVtKSwgc29uZGVybiBpaHJlIGVpZ2VuZSBoYWJlbj8/PwoKd2FlcnQgaWhyIGRhbWl0IHp1ZnJpZWRlbj8gamE/IGRhbm4gZ3J1ZWJlbHQgbWFsIGRhcnViZXIgbmFjaCwgd2FzIGRhcwp1ZWJlciBldWNoIGF1c3NhZ3QhIGFiZXIgaWNoIGRlbmtlLCBlcyB3YWVyZSBlaW5lIGxvZXN1bmcgbWl0IGRlciB3b2hsCnNwaWVsZXIgdW5kIG1hZ2llciBsZWJlbiBrb2VubnRlbi4KCihhYmdlc2VoZW4gZGF2b24sIGRhc3MgYXVjaCBkaWVzZSByZWdlbHVuZy0gd2llIGplZGUgYW5kZXJlIGhpZXItCmltbWVyIG5vY2ggYXVmIHZlcnRyYXVlbiBiYXNpZXJ0KQoKenVsZXR6dCBub2NoIGVpbiBwYWFyIHN0YXRlbWVudHMgaW4gZWlnZW5lciBzYWNoZSwgd2FydW0gaWNoIGFtYXJ5bGxpcwp1bmQgd3Vyc3QgZ2V3aXp6dCBoYWJlOgoKMS4gc2llIHNpbmQgJ2VyZmFocmVuZScgc2VoZXIgdW5kIHdpc3NlbiB3aWUgZXMgYW4gZGVyICdiYXNpcydsYWV1ZnQgdW5kCiAgIGJyaW5nZW4gZGllc2UgZXJmYWhydW5nIGZyaXNjaCBpbiBpaHIgbWFnaWVyZGFzZWluIG1pdCBlaW4hISEhCjIuIGljaCBoYWJlIG1pY2ggaW0gZ2VzcHJhZWNoIGRhdm9uIHVlYmVyemV1Z3QsIGRhc3Mgc2llIHdpcmtsaWNoIGNvZGVuCiAgIHdvbGxlbiEhIHNpZSB3ZXJkZW4gaW4gbWVpbmVyIHJlZ2lvbiBtaXRhcmJlaXRlbiB1bmQgaWNoIHdlcmRlIGF1Y2ggYXJnCiAgIHVuZ2VoYWx0ZW4gcmVhZ2llcmVuLCB3ZW5uIHNpZSBpaHJlbiBuZXVlbiBzdGF0dXMgZWluZmFjaCBudXIgYXVzbnV0emVuCiAgIHdvbGxlbi4KCnNvLCBpY2ggaG9mZmUgaWNoIGhhYicgZWluIHBhYXIgZGVua2Fuc3RvZXNzZSBnZWdlYmVuIHVuZCBuaWNodCBudXIgd2llZGVyCmVpbmVuIGRpZXNlciBlbGVuZGxhbmdlbiwgZ2VkYW5rZW5sb3NlbiB0aHJlYWRzIGdlc2NodWVydC4KCmN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFnMnRpZXMgKE1haGF0bXUsIDI2LiBGZWIgMTk5OSwgMTY6MzI6NDgpOgp+IyEgcm49Q3ltb25rIHJ0PTkyMDA0NjQwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpJTUhPIGlzdCBlcyBzZWhyIHNjaHdpZXJpZywgZ2xlaWNoemVpdGlnIHp1IHNwaWVsZW4gdW5kIHp1IHByb2dnZW4uIE1laW5lCkVyZmFocnVuZy4gR2VyYWRlIGltIHNlbGJlbiBNVUQuIFdhcyBkaWUgVG9wbGlzdGVuZ2VpbGhlaXQgYW5iZXRyaWZmdCwKc28ga2FubiBpY2ggZGFyYW4gbmljaHQgdmllbCBhZW5kZXJuLiBBYmVyIGVzIGdpbmcgbmljaHQgZGFydW0sIE1hZ2llci0KendlaXRpZXMgZ2VuZXJlbGwgcmF1c3p1bmVobWVuLCBzb25kZXJuIF9NYWdpZXJfIG5hY2ggc2Nod2FyemVuLCBuaWNodC0KcHJvZ2dlbmRlbiAocy5vLikgU2NoYWZlbiB6dSBzaWViZW4uIEFtIGJlc3RlbiBmcmVpd2lsbGlnLiBBbHNvIGRpZQpncmF1ZW4gU2NoYWZlLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChMYXJpc3NhLCAyNi4gRmViIDE5OTksIDE3OjEwOjU4KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MTk3OTk3NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKSGksIAoKaWNoIGZhZW5kZSBlcyBuZXR0IHp1IGVyZmFocmVuLCBvYiBzaWNoIGVpbmVyIGZ1ZXIgZGVuIEZlcm5zZWhiZWl0cmFnCmdlbWVsZGV0IGhhdC4gV2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZSB3YXIgZGFtYWxzIGVpbmVyIGRlciBHcnVlbmRlCmZ1ZXIgZGllIERvbWFpbiBtdWQuZGUgenVtIEJlaXNwaWVsIGF1Y2ggZWluIGdlbWFpbnNhbWVzIEF1ZnRyZXRlbiB2b3IKZGVyIFByZXNzZS4gCgpJY2ggYmluIHppZW1saWNoIGRhdm9uIHVlYmVyemV1Z3QsIGRhc3MgZGEga2VpbiBvYmpla3RpdmVyIEJlcmljaHQKZ2VzZW5kZXQgd2VyZGVuIHNvbGwsIHNvbmRlcm4sIGRhc3MgbW9lZ2xpY2hzdCB2aWVsZSBMZXV0ZSB1ZWJlbApkdXJjaCBkZW4gS2FrYW8gZ2V6b2dlbiB3ZXJkZW4gc29sbGVuLi4uCgpWaWVsbGVpY2h0IHNvbGx0ZSBlbnR3ZWRlciBrZWluZXIgZ2VoZW4gb2RlciBlaW5lIEFydCAnQWJvcmRudW5nJywKTGV1dGUsIGRpZSBzaWNoIGF1c3p1ZHJ1ZWNrZW4gd2lzc2VuLiBFcyBnZWh0IHp3YXIgbmljaHQgdW0gbXVkcwppbSBBbGxnZW1laW5lbiwgYWJlciBtYW4gbXVzcyBzaWNoIGphIGtlaW5lbiBBZXJnZXIgcmFuaG9sZW4sIHdlbm4gbWFucwp2ZXJtZWlkZW4ga2Fubi4uCgpMYXJpLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChOb3Zhc3Rvcm0sIDI2LiBGZWIgMTk5OSwgMTc6MTQ6MDYpOgp+IyEgcm49TGFyaXNzYSBydD05MjAwNDkwNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKR2xhdWIgbmljaCBkYXNzIHNpY2ggZGllc2UgRmVybnNlaGFuc3RhbHRlbiBhdWYgbGFuZ2UgV2FydGVyZWllbiBlaW5sYXNzZW4uCk5hY2hkZW0gd2FzIGljaCBoZXV0ZSBoaWVyIGltIElSWiBnZXNlaGVuIGhhYmUsIHN1Y2hlbiBkaWUgc2Nob24gZmxlaXNzaWcKJ0Jld2Vpc2UnIHVuZCBmaWxtZW4gYWxsZXMgdW5kIGplZGVuLCBkZXIgYXVzc2llaHQsIGFscyBvYiBlciBJbmZvcm1hdGlrZXIgaXN0CnVuZC9vZGVyIGRpZSBQb3Jub3NlaXRlIGZpbmRlbiBrb2VubnRlLgpVbmQgZGFzIERyZXNkZW4gZWluZSBnZWVpZ25ldGUgQWJvcmRudW5nIHN0ZWxsZW4ga2Fubiwgd2FnIGljaCBlcm5zdGhhZnQgenUKYmV6d2VpZmVsbiA6LSkpKQogICAgICAgIE5vdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKERlZXBibHVlLCAyNi4gRmViIDE5OTksIDE3OjE3OjAxKToKfiMhIHJuPU5vdmFzdG9ybSBydD05MjAwNDkyNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKRWlnZW50bGljaCBpc3QgZGllIFZlcnRyZXR1bmcgZGVzIE11ZHMgaW0gRmVybnNlaGVuIGVpbmUgQXVmZ2FiZSBmdWVyIFBhKgpHcnVlbmRlOiBLZWluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1hZzJ0aWVzIChQaG9ib3MsIDI2LiBGZWIgMTk5OSwgMjE6NTE6MjUpOgp+IyEgcm49Q3ltb25rIHJ0PTkyMDA0NjQwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQo+Cj4gZXJzdG1hbCBlaW4gcGFhciBmYWt0ZW46Cj4gCj4gMS4gbWFnaWVyY2hhcmFrdGVyZSB3ZXJkZW4gYXV0b21hdGlzY2ggZXJzdGllcywgZGllIHJlc3RsaWNoZW4KPiAgICBzcGllbGVyY2hhcmFrdGFlcmUgc29taXQgMnRpZXMsIGRpZSBtYXJraWVydCBzZWluIG11ZXNzZW4uCj4KCkhtbSwgc3RpbW10IHdvaGwgbmljaHQgc28gZ2Fuei4gRXMgZ2lidCBhdWNoIE1hZ2llciwgZGllIGFscyBad2VpdGllcwp2b24gU3BpZWxlcm4gZWluZ2V0cmFnZW4gc2luZC4KCiAgIFBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWcydGllcyAoRGllZGVyLCAyNi4gRmViIDE5OTksIDIxOjUzOjEyKToKfiMhIHJuPVBob2JvcyBydD05MjAwNjU4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKZWJlbiwgaWNoIGtlbm5lIGRhIGF1Y2ggZWluIHBhYXIgQmVpc3BpZWxlLiBEaWUgUmVnZWx1bmcgZmluZGUgaWNoIGd1dCwgbnVyCnNvbGx0ZSBzaWUgZGFubiBrb25zZXF1ZW50IGR1cmNoZ2V6b2dlbiB3ZXJkZW4uCgpEaWVkZXIKUFM6IEljaCBoYWIga2VpbmUgTmFtZW4gZ2VuYW5udCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbWFnMnRpZXMgKERlZXBibHVlLCAyNi4gRmViIDE5OTksIDIyOjE5OjI1KToKfiMhIHJuPVBob2JvcyBydD05MjAwNjU4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKRGFubiBpc3QgZGFzIG5lIFZlcmxldHp1bmcgZGVzIE1hZ2llcnZlcnRyYWdzLiBEZW4gVHlwZW4gdmVyd2FybmVuLCB1bmQgd2VubgplcnMgbmljaHQgYWVuZGVydCwgd2lyZCBzZWluIE1hZ2llcnNhdmVmaWxlIC9kZXYvbnVsIHp1Z2VmdWVocnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChDeWFubiwgMjcuIEZlYiAxOTk5LCAyMDoxNzowNyk6Cn4jISBybj1BcmlhbmEgcnQ9OTIwMDQ1NTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCiNpbmNsdWRlIGh1bW9yLmgKCktlaW5lIEJpYmVsPyBXaWVzbyBuaWNodD8gWnV2aWVsIFNleCAmIENyaW1lPwoKICBDeWFubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoVGVkZHksIDI3LiBGZWIgMTk5OSwgMjA6MzQ6MDQpOgp+IyEgcm49TWFoYXRtdSBydD05MjAwMzMxNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKS3Jhd2F0dGUga2FubiBpY2ggYXVjaCBiaWV0ZW4gdW5kIHdlbm4gaWNoIGVuZGxpY2ggZHVyY2ggZGllIEZpcmV3YWxsIGR1cmNoCmJpbiwgd2VyZCBpY2ggZGEgYmVpIEdlbGVnZW5oZWl0IGF1Y2ggbWFsIG11ZGRlbi4KClRlZGR5CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFRlZGR5LCAyNy4gRmViIDE5OTksIDIwOjM2OjI3KToKfiMhIHJuPUFyaWFuYSBydD05MjAwNDU1MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKRHUgaW0ga3VyemVuIFJvY2s/IERhIGtyaWVndCBlciBqYSBnbGVpY2ggc2FiYmVybmRlIE11ZGRlcmhvcmRlbiBncmF0aXMgZGF6dS4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBVbmQgd2VnIChLZXksIDI3LiBGZWIgMTk5OSwgMjA6MzY6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTkxOTk5MTk4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTg4NTE0MApIbW0gZGFzIG1pdCBkZW0gbGVzZW4gc29sbHRlIGFiZXIgbnVyIGZ1ZXIgbmllZHJpZ2VyZXJlIExldmVsIGdlbHRlbiA7KQoKU29uc3QgZ2liYmV0IGhpZXIgdmllbGxlaWNodCBFcnppZXMgb2RlciBHb2V0dGVyIGRpZSBuaXggbWVociBtYWNoZW4ga29lbm5lbgo7KSkpCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChLZXksIDI3LiBGZWIgMTk5OSwgMjA6NTU6NDcpOgp+IyEgcm49QXJpYW5hIHJ0PTkyMDA0NTUzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApPaGggZGEgd2lyZCBlciBlbnR0YWV1c2NodCBzZWluIC4uLi4KCkRpZSBNdWRwYXJ0eXMgZGllIGljaCBiaXNoZXIgZXJsZWJ0IGhhYmUgdW50ZXJzY2hpZWRlbiBzaWNoIHZvbiBQYXJ0eSB2b24Kbm9ybWFsZW4gTGV1dGVuIHZvciBhbGxlbSBkdXJjaCBmb2xsZ2VuZGVzOgpLZWluZSBncm9zc2VuIFN0cmVpdGVyZWllbiwKS2VpbmUgQmVzYWV1Zm5pc3NlIHVuZCBSYW5kYWxpZXJ1bnNnc3RydXBwcywKVW5kIGtlaW5lIE1lZ2FsdXRlIE11c2lrIGRhcyBpbiAyIEttIFVta3JlaXMga2VpbmVyIHNjaGxhZmVuIGtvbm50ZSAuLi4KCkFsc28gYWxsZXMgaW4gYWxsZW0gZWluIHp1IGd1dGVzIEJpbGQgZnVlciBzdWVjaHRpZ2UgSW50ZXJuZXR1c2VyIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWcydGllcyAoS2V5LCAyNy4gRmViIDE5OTksIDIxOjA1OjU5KToKfiMhIHJuPUN5bW9uayBydD05MjAwNDY0MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKSG1tIEN5bW9uayAuLi4KWnVtIGVyc3RlbiBEdSBtYWNoc3QgZWluZW4gZ3Jvc3NlbiBGZWhsZXIgLi4uCkR1IHNjaGVyc3QgYWxsZSBNdWRkZXIgdWViZXIgZWluZW4gS2FtbS4KClp1ZXJzdCBlaW5tYWwgLi4uIGRpZSBSZWdlbCB2b24gd2VnZW4gbmljaHQgZ2xlaWNoemVpdGlnIGVpbmxvZ2dlbiAuLi4KU2Nob24genUgYW5mYW5nIGJyYWNodGUgbWlyIGVpbiBnZXdpc3NlciBFcnppZSAoRGFtYWxzIG5vY2ggbmV0KSBiZWkgd2llIG1hbgphbiBuZXR6dG90ZW4gd2FzIHZlcmFlbmRlcm4ga2FubiA6KQpOYWphIGRhcyBtYW4gZGFzIG5ldCBtYWNoZW4gc29sbCBpc3Qga2xhci4gSWNoIGZpbmQgZXMgbnVyIHppZW1saWNoIGJla25hY2t0CmRhcyBtYW4gdm9uIGVpbmlnZW4gZGFyYXVmIGhpbmdld2llc2VuIHdpcmQgd2llIGRhcyBnZWh0LgoKSG1tIHp1IGRlciBadXNhbW1lbmZhc3N1bmcgdm9uIFJlZ2VsbiAuLi4uCk1hbiBrYW5uIFdpc3NlbiBuaWNodCBlaW5mYWNoIGFic2NoYWx0ZW4uCkxlZ3MgYXVzIHdpZSBEdSB3aWxsc3QsIHdlbm4gRHUgZ2VuYXVlciBkcnVlYmVyIG5hY2hkZW5rc3Qgd2lyc3QgRHUgdmllbGxlaWNodAplcmtlbm5lbiB3aWUgaWNoIGRhcyBtZWluZS4KCkhtbSB1bmQgZGFubiB6dSBEZWluZXIgQW5tZXJrdW5nIHZvbiB3ZWdlbiBUb3BsaXN0ZW5nZWlsaGVpdCwgdW5kIG51ciBkZXN3ZWdlbgpwYXNzdCBlcyBlaW5pZ2VuIG5pY2h0IC4uLgpEYXp1IHdpcmYgYml0dGUgZWluZW4gQmxpY2sgaW4gZGllIFRvcGxpc3RlIHVuZCBzdGVsbCBmZXN0IGRhcyBpY2ggZGEgZHJpbgpmZWhsZSAuLi4gc2VsdHNhbSwgb2Rlcj8KTGllZ3QgZWluZmFjaCBkYWRyYW4gZGFzIGljaCBrZWluIEludGVyZXNzZSBhbSBQbGF0eiBpbiBkZXIgTGlzdGUgaGFiZSAuLi4uCgpVbmQgZGllIEFuc3BpZWx1bmcgbWl0IGRlbiBrbGVpbmVyZW4gZGV1dHNjaGVuIE11ZHMgLi4uCkljaCBzZWhlIGtlaW5lbiBncm9zc2VuIFVudGVyc2NoaWVkIHdpZSBkaWUgZGEgdW5kIHdpZSBkaWUgaGllciBtaXRlaW5hbmRlcgp1bWdlaGVuIC4uLgpXZW5uIG1hbiBkaWUgR3JvZXNzZSBtaXRiZWRlbmt0IC4uLgoKVW5kIGpldHp0IHp1IERlaW5lbiBsZXR6dGVuIFNhdHogLi4uClByaW1hISBHZW5hdSBzb2xjaGUgUGFwcGlzIGJyYXVjaGVuIHdpciB3aWVkZXIgLi4uCgpOdXIgZ2liYmV0IHZvbiBkZXIgU29ydGUgbmV0IHZpZWxlIC4uLiA6KQoKCkFjaGphIC4uLiBub2NoIGVpbnMgLi4uCkljaCBiaW4gZGVyIGdsZWljaGVuIE1laW51bmcgd2llIER1IGRhcyBzaWNoIE1hZ3MgYXVjaCBtaXQgZGVtIFNwaWVsCmJlc2NoYWVmdGlnZW4gbXVlc3Nlbiwgc29uc3Qgd2VyZGVuIHNpZSB6dSBTcGllbGZyZW1kLCBzZWkgZXMgZHVyY2ggbmVuClp3ZWl0aWUsIG9kZXIgc2VpIGVzIGR1cmNoIHZpZWwgcmVkZW4gbWl0IGRlbiBTcGllbGVybi4KRGFnZWdlbiBoYWJlIGljaCBhdWNoIGFic29sdXQgbmljaHRzLCBhYmVyIG11c3MgZGVzd2VnZW4gamVkZXIgU2VoZXIgbmVuCk1hZ2llciBoYWJlbj8KSWNoIGdsYXViZSBuZWluIC4uLiAKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWcydGllcyAoS2V5LCAyNy4gRmViIDE5OTksIDIxOjA2OjM5KToKfiMhIHJuPU1haGF0bXUgcnQ9OTIwMDQ2NzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkRhbWl0IHdpciBhdWYgZGVuIFN0YW5kIHZvbiBnZXdpc3NlbiBNdWRzIHJ1bnRlcmtvbW1lbiBpbiBkZW5lbgpHZXNlbGxlbnN0dWVja2UgZ2Vwcm9nZ3Qgd2VyZGVuPwpTaWVoZSBTZW1tZWxzIEdlYmlldD8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFRlZGR5LCAyNy4gRmViIDE5OTksIDIxOjA4OjQ4KToKfiMhIHJuPUtleSBydD05MjAxNDg5NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKSmVwcCwgZGllIEF1ZnNpY2h0IGF1ZiBkZXIgRG9ydG11bmRwYXJ0eSB3YXIgYXVjaCB0b3RhbCBmYXN6aW5pZXJ0LCBzZWluZQplcnN0ZSBQYXJ0eSBkb3J0IG9obmUgU2NobGFlZ2VyZWkuCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFN0aW5nLCAyNy4gRmViIDE5OTksIDIxOjEwOjE5KToKfiMhIHJuPVRlZGR5IHJ0PTkyMDE0OTcyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApUamEsIGRpZSBNdWRkZXIgYXVmIGRlbiBQYXJ0eXMgc2luZCBTTyBrcmFuaywgdW5kIG1pdCBhbmRlcmVuIFRoZW1lbiB3aWUgIldpZQpraWxsZSBpY2ggYW0gYmVzdGVuIGRpZSBIeWRyYSIgb2RlciAiV28ga3JpZWdlIGljaCBkaWVzZSBVbmlxdWUtV2FmZmUgaGVyIgpiZXNjaGFlZnRpZ3Qgc2luZCA6KQoKU3RpbmcsIHNlbGJzdCBzbyBrcmFuayA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFnMnRpZXMgKEFzbW9kaXMsIDI4LiBGZWIgMTk5OSwgMDE6NTg6NDMpOgp+IyEgcm49S2V5IHJ0PTkyMDE0OTU5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpTb2xhbmdlIG1hbiBHZXNlbGxlbnN0dWVja2UgbmljaHQgYW5zY2hsaWVzc3QsIGlzdCBkYXMgbmljaHQgc28gc2NobGltbSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG1hZzJ0aWVzIChEZWVwYmx1ZSwgMjguIEZlYiAxOTk5LCAyMDozNjo0NSk6Cn4jISBybj1Bc21vZGlzIHJ0PTkyMDE2NzEyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQptYW4gbXVzcyBudXIgZGFmdWVyIHNvcmdlbiwgZGFzcyBkaWUgZ2VzZWxsZW5zdHVlY2tlIGF1Y2ggcGFzc2VuLiBEYW5uIGthbm4KbWFuIHNpZSBhdWNoIGFuc2NobGllc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbWFnMnRpZXMgKE11cmtlcywgIDEuIE1hciAxOTk5LCAxMTozMzo1Nyk6Cn4jISBybj1NYWhhdG11IHJ0PTkyMDA0Njc2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpEYXMgUHJvYmxlbSBmdWVyIGVpbmVuIHNwaWVsZW5kZW4gTWFnaWVyIGJsZWlidCBpbW1lciBkaWUgVmVyc3VjaHVuZyBzZWluZW4KbWFnaWVyIGVpbnp1bG9nZ2VuLCB3ZW5uIGRlciBTcGllbGVyY2hhcmFrdGVyIGdlcmFkZSBtYWwgbmljaHQgd2VpdGVya29tbXQuCldlbm4gbWFuIHNlaW5lbiBNYWdpZXIgbmljaHQgc29mb3J0IHp1ciBIaWxmZSBob2xlbiBrYW5uLCB3dWVyZGVuIHZpZWxlClZlcnN1Y2h1bmdlbiBnYXIgbmljaHQgZXJzdCBlbnRzdGVoZW4uIFdhZXJlIGVzIHRlY2huaXNjaCBtYWNoYmFyLCBkYXNzIGVpbgpNYWdpZXIgc2ljaCBlcnN0IG5hY2ggZWluZXIgZ2V3aXNzZW4gWmVpdHNwYW5uZSBuYWNoZGVtIGVyIHNlaW5lbiBTcGllbGVyCmF1c2dlbG9nZ3QgaGF0IHdpZWRlciBlaW5sb2dnZW4ga2Fubj8gTWlyIHNjaHdlYnQgZGEgc28gZWluZSBQYXVzZSB2b24KMjAtMzBtaW4gdm9yLiBEYW1pdCB3YWVyZSBkYXMgbW9nZWxuIG1pdCBzZWluZW0gTWFnaWVyLWVyc3RpZS96d2VpdGkgcmVjaHQKdW5pbnRlcmVzc2FudC4KCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFnMnRpZXMgKFJpbmdvciwgIDEuIE1hciAxOTk5LCAxMTozNjo0MSk6Cn4jISBybj1NdXJrZXMgcnQ9OTIwMjg4MDM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CldlciBzZWluZW4gTWFnaWVyIGVpbmxvZ2dlbiBtdXNzLCB1bSBldHdhcyBuYWNoc2NoYXVlbiB6dSBrb2VubmVuLCBkZXIgaXN0IGVpbgpXdXJzdG1hZ2llci4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWFnMnRpZXMgKEtleSwgIDEuIE1hciAxOTk5LCAxMTo1OToxMCk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwMjg4MjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1ClBzc3N0IDspCgpOZXQgYWxsZXMgdmVycmFkZW4gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWcydGllcyAoS29vbWksICAxLiBNYXIgMTk5OSwgMTI6NTE6MTcpOgp+IyEgcm49S2V5IHJ0PTkyMDE0OTU1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpLZXksIGR1IG1hY2hzdCB6dXZpZWxlIFB1bmt0ZS4KCktvb21pLCBtYWwgc2NobWFycmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEtvbW0gaWNoIGpldHp0IGltIEZlcm5zZWhlbj8gKFllbmRpLCAgMS4gTWFyIDE5OTksIDE0OjU0OjM0KToKfiMhIHJuPU1haGF0bXUgcnQ9OTIwMDMzMTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCldVUlpFTCBpbSBBTlpVRz8/PwoiQmxpdHplIG5pZSBnZXNlaGVuZXIgR2V3YWx0IHNjaGxhZ2VuIHJ1bmQgdW0gRGljaCBlaW4uIEZldWVyIGZsYW1tZW4gYXVmIHVuZApzY2hlaW5lbiBhbGxlcyB2ZXJicmVubmVuIHp1IHdvbGxlbiwgd2FzIHVtIERpY2ggaGVydW0gZXhpc3RpZXJ0LiIKClllbmRpCiAgICAgICB2ZXJzdWNodCBnZXJhZGUsIHNpY2ggZGllIEdlc3RhbHQgdm9uIGRlciBsZXR6dGVuIG11ZW5zdGVyYW5lciBQYXJ0eQogICAgICBpbiBlaW5lbSBfQW56dWdfIHZvcnp1c3RlbGxlbi4gRXJmb2xnbG9zLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChUZWRkeSwgIDEuIE1hciAxOTk5LCAyMjo0MDo1Mik6Cn4jISBybj1ZZW5kaSBydD05MjAzMDAwNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKRGVuayBkaXIgZGFzIE1ha2UtVXAgd2VnLgoKVGVkZHksIGtlbm50IHNvZ2FyIEZyYXVlbiBpbiBBbnp1ZWdlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFnMnRpZXMgKEFyaywgIDIuIE1hciAxOTk5LCAyMDo0MDoyNik6Cn4jISBybj1NdXJrZXMgcnQ9OTIwMjg4MDM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1ClVyZ3MsIGRhcyBlcmlubmVydCBpcmdlbmR3aWUgYW4gZGllIGJlZ2lubmVuZGUgUHJvaGliaXRpb24uIE1hbiB3ZWlzcyBqYSwgd2FzCmRpZSBoZXJ2b3JicmFjaHRlIC4uLiBXb2xsZW4gd2lyIGRvY2ggbmljaHQsIG9kZXIgPyBJY2ggZGVua2UsIHdpciBoYWJlbiBlaW5lbgpNYWdpZXJ2ZXJ0cmFnLCBkZXIsIHRyb3R6IGVpbmlnZXIgU2Nod2FlY2hlbiwgcmVjaHQgZGV1dGxpY2ggc2FndCwgd2FzIG1hbgpkYXJmIHVuZCB3YXMgbmljaHQuIFRqYSwgd2VubiBzaWNoIGFuIGRpZXNlIFJlZ2VsbiBoYWx0IGplbWFuZCBuaWNodCBoYWVsdCwKUGVjaCBnZWhhYnQuIFdlbm4gaWhtIGRhcyBuYWNoZ2V3aWVzZW4gd2lyZCwgZGFyZiBlciBzaWNoIHVlYmVyIGRpZSBMb2VzY2h1bmcKc2VpbmVzL3NlaW5lciBDaGFyYWt0ZXJlIG5pY2h0IGJlc2Nod2VyZW4gKG5hdHVlcmxpY2ggbWl0IFN0ZWxsdW5nbmFobWUsCmV0Yy4pLiBXYXJ1bSBhbHNvIHRlY2huaXNjaGUgVmVycmVua3VuZ2VuLCBkaWUgZWhlciB3aWVkZXIgZGVuIEhpcm5zY2htYWx6CmtyaW1pbmVsbGVyIEVuZXJnaWVuICphZWhlbSogaW4gQmV3ZWd1bmcgc2V0emVuID8gTWFuIHNvbGx0ZSBkaWUgTGV1dGUgbmljaHQKd2llIEtpbmRlciBiZWhhbmRlbG4sIGRlbmVuIG1hbiBkaWUgVmVyYm90ZSBhdWNoIG5vY2ggdGVjaG5pc2NoIHVubW9lZ2xpY2ggenUKbWFjaGVuIHZlcnN1Y2h0LiBEYXMgd2Vja3QgbmFlbWxpY2ggYXVjaCBOZXVnaWVyIDotKSAuLi4ga2VpbmUgS29tbWVudGFyZQpqZXR6dCB1ZWJlciBLaW5kZXIgdW5kIE11ZGRlciBiaXR0ZSAqZyoKS3VyenZlcnNpb246IERhZ2VnZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWFnMnRpZXMgKE11cmtlcywgIDMuIE1hciAxOTk5LCAxMjo0OToxOSk6Cn4jISBybj1BcmsgcnQ9OTIwNDA3MjI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkVpZ2VudGxpY2ggaGFzdCBEdSBqYSByZWNodCBBcmssIGFiZXIgVGF0c2FjaGUgaXN0IGF1Y2gsIGRhcyB3b2hsIGthdW0gamVtYW5kCndlZ2VuIGtsZWluZXIgTW9nZWxlaWVuIGdlbG9lc2NodCB3aXJkLgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG1hZzJ0aWVzIChLZXksICAzLiBNYXIgMTk5OSwgMTI6NTE6MzkpOgp+IyEgcm49TXVya2VzIHJ0PTkyMDQ2NTM1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpPY2ggTGV1dGUgLi4uLiBlcyBnZWh0IGRvY2ggbmljaHQgdW0gZGllIE1vZ2VsZWllbiAuLi4KSmVkZW5mYWxscyBtaXIgbmljaHQuCgpFcyBnZWh0IGRhcnVtIGRhcyBMZXV0ZSBkaWUgYW5mYW5nZW4gbWl0IG5lbSBNYWdpZXJydW16dXd1cnNjaHRlbG4gd2FzCnZlcmxpZXJlbi4KQXVjaCB3ZW5uIHNpZSBlcyBzaWNoIG5pY2h0IGVpbmdlc3RlaGVuIC4uLi4KCkplZGVyIGRlciBzaWNoIG1hbCBhbiBkZW4gQW5mYW5nIGVyaW5uZXJ0LCB1bmQgYW4gc2VpbmUgR2VkYW5rZW4gZGEsIHVuZCBzaWUKbWl0IGRlbSBqZXR6dCB2ZXJnbGVpY2h0IG5hY2hkZW0gZXIgbmVuIE1hZ2llciBoYXQsIHNvbGx0ZSBlcyBtZXJrZW4gLi4uLgpWb3JyYXVzZ2VzZXR6dCBlciBpc3QgZWluIGVjaHRlciBTcGllbGVyLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBtYWcydGllcyAoUmVhcGVyLCAgMy4gTWFyIDE5OTksIDEzOjE2OjQzKToKfiMhIHJuPUtleSBydD05MjAyODk1NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKCk5pZW1hbmQgaGF0IGVzIGplbWFscyBhbmdlendlaWZlbHQsIGRhc3MgZXR3YXMgdm9uIGRlciBnYW56ZW4gCkF0bW9zcGhhZXJlIHZlcmxvcmVuZ2VodCwgd2VubiBtYW4gZWluZW4gTWFnaWVyIGhhdC4KClVuZCBkYXMgaXN0IHdvaGwgYXVjaCBqZWRlbSB2b2xsIGJld3Vzc3QsIGRlciBzaWNoIHdpenplbiBsYWVzc3QuCgpBYmVyIHdlbm4gZWluIG11ZC1iZWdlaXN0ZXJ0ZXIgU3BpZWxlciBzZWluZSB1ZWJlcnNjaGFldW1lbmRlClBhbnRhc2llIGRhenUgZWluc2V0emVuIHdpbGwsIGFuZGVyZW4gU3BpZWxlcm4gZWJlbiBkaWVzZSAKQXRtb3NwaGFlcmUgenUgdmVybWl0dGVsbiwgdW5kIGJlcmVpdCBpc3Qga3JlYXRpdiBkYXMgTXVkIAp6dSBlcndlaXRlcm4gdW5kIHp1IHZlcmJlc3Nlcm4sIGRhbm4gc29sbHRlIGRvY2ggZWlnZW50bGljaCAKamVkZXIgZnJvaCBzZWluLCBkZW5uIGdlbmF1IGRhdm9uIGxlYnQgZG9jaCBkYXMgTXVkLgoKTWFnaWVyIGJla29tbWVuIG5pY2h0cyBmdWVyIGlocmUgQXJiZWl0LCBpbSBHZWdlbnRlaWwuCkRpZSBtZWlzdGVuIHdpc3NlbiB3b2hsLCBkYXNzIGVzIGVpbiBlaGVyIHVuZGFua2JhcmVyIApKb2IgaXN0LCB1bmQgZGFzcyBkYXMgRmVlZGJhY2sgYXVmIGVpbmVuIEJ1ZyAxMDB4IGdyb2Vzc2VyIAppc3QgYWxzIGF1ZiBlaW5lbiBzY2hvZW5lbiBSYXVtLCBkZW4gbWFuIHNjaHJlaWJ0LgoKV2VyIHRyb3R6IGFsbGVtIGRpZXNlIEFyYmVpdCBhdWYgc2ljaCBuZWhtZW4gbW9lY2h0ZSBzdGVsbHQgCmFsc28gZG9jaCBvaG5lIEZyYWdlIGVpbmUgQmVyZWljaGVydW5nIGZ1ZXJzIE11ZCBkYSwgdW5kIHNvCnNvbGx0ZSBkYXMgbWVpbmVyIE1laW51bmcgbmFjaCBhdWNoIGJlaGFuZGVsdCB3ZXJkZW4uCgpXZXIgbW9lY2h0ZSBlcyBkZW5uIGVpbmVtIE1hZ2llciwgZGVyIHNlaW5lIFplaXQsIHNlaW5lIEdlZGFua2VuCnVuZCBzZWluZSBrcmVhdGl2ZSBLcmFmdCBpbnMgTXVkIGludmVzdGllcnQgZGVubiBqZXR6dCB2ZXJiaWV0ZW4KYXVjaCBzZWxic3Qgbm9jaCBzcGllbGVuIHp1IGR1ZXJmZW4/CgpEYXNzIGVpbiBNYWdpZXIgZWluZmFjaCBudXIgaG9jaGdlc3BpZWx0IHdpcmQgdW0gZWluZW4gTWFnaWVyCnp1IGhhYmVuLCBtb2VnbGljaGVyd2Vpc2Ugc29nYXIgdW0gZGFtaXQgenUgbW9nZWxuIGtvbW10IHNpY2hlcgp2b3IuIEljaCBnbGF1YmUgZGVubm9jaCwgZGFzcyBkYXMgZWhlciBkaWUgQXVzbmFobWUgaXN0LCB1bmQgCmZpbmRlIGVzIGluIHNvZmVybiBldHdhcyAndW5nZXJlY2h0JywgZGFzcyBoaWVyIGJlaSBlaW5lbQonTWFnaWVyendlaXRpJyBnbGVpY2ggZGF2b24gYXVzZ2FnYW5nZW4gd2lyZC4KClVuZCBzZWxic3Qgd2VubiBlcyBkZXIgRmFsbCBpc3QsIGRhc3MgZWluIFNwaWVsZXIgZWluZSBNYWdpZXJmaWd1cgptaXNzYnJhdWNodCwgc28gdmVyZmFlbHNjaHQgZGFzIHNpY2hlciBkaWUgVG9wLUxpc3RlbiwgdW5kIGlzdCAKYW5kZXJlbiBTcGllbGVybiBnZWdlbnVlYmVyIHVuZ2VyZWNodCwgc29sbHRlIHNpZSBhYmVyIGRvY2ggbmljaHQgCmluIGlocmVtIFNwaWVsc3Bhc3MgZWluc2NocmFlbmtlbj8KCk5hamEsIHdlbm4gZWluIE1hZ2llciBnZWdlbiBzZWluZSBSZWdlbG4gdmVyc3RvZXNzdCBoYXQgZXIKbWl0IHNlaW5lbiBLb25zZXF1ZW56ZW4genUgcmVjaG5lbiwgdW5kIGRpZSBrZW5udCBqZWRlciwgZGVyIApNYWdpZXIgaXN0LCB1bmQgZGFzIGlzdCBhdWNoIHJpY2h0aWcgc28uIApUcm90emRlbSB3ZWlzcyBpY2ggbmljaHQsIG9iIGVzIHJpY2h0aWcgaXN0LCBoaWVyIGFsbGdlbWVpbiAKYWxsZSBNYWdpZXIgKGJ6dy4gTWFnaWVyendlaXRpcykgYWxzIHBvdGVudGllbGxlIE1vZ2xlciB1bmQgClNwaWVsc3Bhc3MtS2lsbGVyIGFienVzdGVtcGVsbi4KCmRhcyBpc3QgamV0enQgbWFsIG1laW5lIE1laW51bmcgZGF6dSA6bykKClJlYXBlciwgZGVyIGpldHp0IGF1ZiBlbXBvZXJ0ZSBBbnR3b3J0ZW4gd2FydGV0ICpnKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG1hZzJ0aWVzIChSaW5nb3IsICAzLiBNYXIgMTk5OSwgMTM6MjE6NTUpOgp+IyEgcm49S2V5IHJ0PTkyMDQ2NTQ5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpFaWdlbnRsaWNoIHNjaGFkZSwgS2V5LiAKCkJpcyB6dSBkaWVzZW0gQXJ0aWtlbCBkYWNodGUgaWNoLCBlcyBnaW5nZSBpbiBkaWVzZXIgRGlza3Vzc2lvbiB2aWVsbGVpY2h0CndpcmtsaWNoIG1hbCB1bSBlaW4gZXJuc3RoYWZ0ZXMgVGhlbWEuIFp1bSBCZWlzcGllbCBkYXJ1bSwgZGllIEJlZm9lcmRlcnVuZwp6dW0gVm9sbG1hZ2llciBhbiBlaW5lIEFydCBHZXNlbGxlbnN0dWVjayB6dSBrb3BwZWxuLCB1bSBlYmVuIG5pY2h0IGplZGVtClNlaGVyIGFscyBrbGVpbmVzIEdpbW1payB6dXIgU2VoZXJ3ZXJkdW5nIG5vY2ggZGllIExlc2VyZWNodGUgYW0ga29tcGxldHRlbiBNRwpnbGVpY2ggZGF6dSB6dSBzY2hlbmtlbi4gRGFiZWkgaGFldHRlIG1hbiBhdWNoIGdsZWljaCBkYXJ1ZWJlciBkaXNrdXRpZXJlbgprb2VubmVuLCB3aWUgZGllIEFuZm9yZGVydW5nZW4gYW4gZWluIEdlc2VsbGVuc3R1ZWNrIGF1c3p1c2VoZW4gaGFldHRlbiwgb2IKZGllIEJldXJ0ZWlsdW5nIGluIGRpZSBIYW5kIGVpbmVzIGVpbnplbG5lbiBbRV0rIGtvbW10LCB3aWUgbWFuIGVpbmVuIFNwb25zb3IKc3RhZXJrZXIgenVyIEJldHJldXVuZyBzZWluZXIgS2luZGVyIGhlcmFuemllaHQsIHdpZSBtYW4gZGllIExlc2VyZWNodGUKdmllbGxlaWNodCBub2NoIG1laHIgc3RhZmZlbG4ga29lbm50ZSwgb2IgZXMgZWluIHBlcnNvZW5saWNoZXMgfi94eHgvc2VjdXJlCmdlYmVuIHNvbGx0ZSwgaW4gZGVtIE1hZ2llciBpaHJlIHF1ZXN0cmVsZXZhbnRlbiBTYWNoZW4gInNpY2hlciIgdmVyc3RhdWVuCmtvZW5uZW4gZXRjLiAKCkFiZXIgc3RhdHRkZXNzZW4gc29yZ3N0IER1IERpY2ggZWluemlnIHVuZCBhbGxlaW4gdW0gZGVuIFNwaWVsc3Bhc3MgZGVyCmFuZGVyZW4gTXVkZGVyPwoKU29ycnkgS2V5IC0gYWJlciBlaW5lbiBBdWZwYXNzZXIgYnJhdWNoZSBpY2ggbnVuIHdpcmtsaWNoIG5pY2h0LiBVbmQgZ2FuegpiZXN0aW1tdCBuaWVtYW5kZW4sIGRlciBtaXIgdm9yc2NocmVpYnQsIHdpZSBpY2ggZGVuIG1heGltYWxlbiBTcGllbHNwYXNzCmVycmVpY2hlLgoKV2FzIG1pciBiZWkgZGllc2VtIEFyZ3VtZW50IChpY2ggaGFiIGVzIGR1cmNoYXVzIGF1Y2ggc2Nob24gdm9uIGVpbmVtIGFuZGVyZW4KRWxmZW4gZ2Vob2VydCA7KSBhbSBtZWlzdGVuIG1pc3NmYWVsbHQsIGlzdCwgZGFzcyBkYSBhbnNjaGVpbmVuZCBqZW1hbmQgc2VpbmUKZWlnZW5lbiBzY2hsZWNodGVuIEVyZmFocnVuZ2VuIHVuYmVkaW5ndCBhdWYgYW5kZXJlIHByb2plemllcmVuIG11c3MuCgpEYXNzIGVpbiBTcGllbGVyLCBkZXIgc28gcmljaHRpZyBnYXIga2VpbmUgUHJvZ3JhbW1pZXJlcmZhaHJ1bmcgaGF0LCBkYXMgTXVkCm5hY2ggc2VpbmVyIE1hZ2llcndlcmR1bmcgdmllbGxlaWNodCBhdXMgZWluZW0gYW5kZXJlbiBCbGlja3dpbmtlbCBzaWVodCwgd2lsbAppY2ggbmljaHQgYWJzdHJlaXRlbi4gQWJlciBkYXJhdXMgc2NobHVzc3p1Zm9sZ2VybiwgZGFzcyBqZWRlciBTcGllbGVyLCBkZXIKZWlubWFsIGlyZ2VuZHdvIE1hZ2llciB3aXJkLCBkZW4gUmVpeiBhbSBTcGllbCB2ZXJsaWVydD8gCgpJY2gga2FubiBtaXIgaXJnZW5kd2llIG5pY2h0IGdhbnogdm9yc3RlbGxlbiwgZGFzcyBpY2ggZGVyIGVpbnppZ2UgU3BpZWxlcgpnZXdlc2VuIHNlaW4gc29sbCwgZGVtIHZvbiBBbmZhbmcgYW4ga2xhciB3YXIsIGRhc3MgZGFzIE11ZCBlaW4KX0NvbXB1dGVyXy1TcGllbCBpc3QsIGRhcyBhdWYgZWluZW0gX0NvbXB1dGVyXyBsYWV1ZnQgdW5kIGRlbW5hY2ggaXJnZW5kd2llCl9wcm9ncmFtbWllcnRfIGlzdC4KCldpZSBlaW4gQnVjaCBnZXNjaHJpZWJlbiB3aXJkLCB3ZWlzcyBoaWVyIHNpY2hlcmxpY2ggamVkZXIuIFdpZSBlaW4gS2lub2ZpbG0KZW50c3RlaHQsIGdhcmFudGllcnQgYXVjaC4gVHJvdHpkZW0gbGFzc2VuIHdpciB1bnMgKGZhc3QgPykgYWxsZSBpbW1lciB3aWVkZXIKZ2VybmUgdm9uIGVpbmVtIGd1dGVuIEJ1Y2gvRmlsbSBpbiBlaW5lIGFuZGVyZSBXZWx0IGVudGZ1ZWhyZW4uCgpXZXIgd2lya2xpY2ggYW4gZGVtIFJvbGxlbnNwaWVsICJNRyIgaW50ZXJlc3NpZXJ0IGlzdCwgZGVyIHdpcmQgc2ljaApzaWNoZXJsaWNoIG5pY2h0IGRlbiBTcGllbHNwYXNzIHZlcmRlcmJlbiwgbnVyIHdlaWwgZXIgTWFnaWVyIHdpcmQvc2VpbmVuClp3ZWl0c3BpZWxlciB6dW0gTWFnaWVyIG1hY2h0LgoKTWVpbmUgTWVpbnVuZywKClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbWFnMnRpZXMgKEtleSwgIDMuIE1hciAxOTk5LCAxMzozNzozNyk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNDY3MzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkR1IHNhZ3N0IGVzIC4uLi4uIElSR0VORFdJRSAuLi4uCgpVbmQgZGVyIHZlcmdsZWljaCBtaXQgbmVtIEJ1Y2ggaGlua3QgLi4uIGdhbnogZWluZGV1dGlnIC4uLgpCZWkgbmVtIEJ1Y2ggZ2VodCBlcyBuaWNodCB1bSBkaWUgVGVjaG5paywgc29uZGVybiB1bSBkaWUgR2VkYW5rZW4gZGVzClNjaHJlaWJlcnMuCkViZW5zbyBiZWkgZ3V0ZW4gRmlsbWVuLgoKSWNoIHByb2plemllcmUgbmljaHQgdm9uIG1pciBhdWYgYW5kZXJlLgpEYW5uIGhhZXR0ZSBpY2ggc2Nob24gdm9yIHVlYmVyIDIgSmFocmVuIGRlbiBTcGllbHNwYXNzIHZlcmxpZXJlbiBtdWVzc2VuLgpVbmQgd2llIER1IHZpZWxsZWljaHQgZ2VtZXJrdCBoYXN0IGhhYiBpY2ggZGVuIGF1Y2ggaW4gZGVyIFplaXQgbWVpbmVzIGtsZWluZW4KbmV0IHZlcmxvcmVuLgoKRXMgZ2VodCBhdWNoIG5pY2h0IHVtIGplZGVuIGVpbnplbG5lbiBrbGVpbmVuIERlcHBlbiBkZXIgbWVpbnQgbWl0IG5lbSBhZ2llcgpnbHVlY2tsaWNoZXIgenUgc2Vpbiwgc29uZGVybiB1bSBkYXMgd2FzIGVyIGF1c2xvZXN0LgpBdWNoIER1IGthbm5zdCBEZWluIFdpc3NlbiBuZXQgdmVyZHJhZW5nZW4gc29iYWxkIER1IHdpZWRlciBhdWYgRGVpbmVuIFNlaGVyCnVtc2NoYWx0ZXN0LgpOZWluIGRhcyBzb2xsIG5ldCBoZWlzc2VuIGRhcyBEdSBnbGVpY2ggbWFsIGFsbGUgRlAgYWJob2xzdCBkaWUgRGVpbiBNYWcgZXZ0bAppcmdlbmR3byB2ZXJzdGVja3QgaGFzdCB3ZWlsIER1IHNpZSBrZW5uc3QuIFNvbmRlcm4gRHUgZ2Voc3QgbWl0IGRlbSBnYW56ZW4KU3BpZWwgYW5kZXJzdCB1bS4gQmVhbnR3b3J0ZXN0IGZyYWdlbiBhbmRlcnN0IHVzdwooQWVoIGtvbW10IGluIGRlbSB6dXNhbW1lbmhhbmcgdmllbGxlaWNodCBhbmRlcnN0IHJ1ZWJlciBhbHMgZ2VtZWludCAuLi4gSWNoCnJlZGUgamV0enQgZ2VyYWRlIG5pY2h0IHZvbiBEaXIsIHNvbmRlcm4gYWxsZ2VtZWluIDspIFVuZCBkaWVzZSBFcmZhaHJ1bmcgaGFiCm5pY2h0IG51ciBpY2ggZ2VtYWNodCwgc29uZGVybiBtYW4gbWVya3Qgc2llIGJlaSBhbGxlbiBkaWUgbmVuIGJpc3NlcmwgaGludGVyCmRpZSBLdWxsaXNzZSBnZXNjaGF1dCBoYWJlbikgCkFscyBCZWlzcGllbDoKSGV1dHp1dGFnZSB3ZWlzcyBmYXN0IGplZGVyIHdhcyBXQyBpc3QsIHVuZCBzb2dhciBpbiBldHdhIGRpZSBnZW5hdWUgWmFobC4KRGFtYWxzIGhpZXNzIGVzIGVpbmZhY2ggbnVyIGRhcyB1bmQgZGFzIGlzdCBzZWhyIGd1dCwgcGVyZmVrdCB1c3cgLi4uCgpLbGFyLCBzb3dhcyBrcmllZ3QgbWFuIGF1Y2ggenUgaG9lcmVuIHdlbm4gbWFuIHNpY2ggbWl0IGVpbmlnZW4gTWFncwp1bnRlcmhhZWx0LgpBYmVyIGRpZSBrcml0aXNpZXJlIGljaCBqYSBhdWNoIC4uLiBkaWUgZGllIHp1dmllbCBvZmZlbmxlZ2VuLgoKTWVpbmV0d2VnZW4gc29sbCBkb2NoIGplZGVyIHNlaW5lbiBNYWdpZXIgaGFiZW4sIHNvbGFuZ2UgZXIgc2VpbmVuIFNwaWVsZXIKYWJzb2x1dCB1bnZlcmFlbmRlcnQgbGFlc3N0LCB1bmQgc2VpbiBXaXNzZW4gbmljaHQgZGVtIFNwaWVsZXIgbWl0Z2lidC4KClVuZCBzb2xjaGUgU3BpZWxlci9NYWdpZXIgZ2lidCBlcy4KCgpadSBkZXIgU2FjaGUgdm9uIHdlZ2VuIEdlc2VsbGVuc3R1ZWNrIC4uLi4uClRvdGFsIGRhZ2VnZW4uClp1bSBlaW5lbiBtdXNzIG1hbiBzaWNoIGVyc3RtYWwgbmVuIGJpc3NlcmwgYXVza2VubmVuIGJldm9yIG1hbiB3YXMgZ2VzY2hlaXRlcwptYWNoZW4ga2Fubi4KWnVtIGFuZGVyZW4gbWFnIGljaCBrZWluZSBHZWJpZXRlIGRpZSBtYWwgc2NobmVsbCBoaW5nZWtsYXRzY2h0IHdlcmRlbiwgb2RlcgptaXQgc292aWVsZW4gRmVobGVybiBiZWhhZnRldCBzaW5kIGRhcyBtYW4gZXMgZ2FyIG5ldCBhbmhhZW5nZW4ga2Fubi4KSmV0enQga29tbSBibG9zcyBrZWluZXIgbWl0IGRlbSBBcmd1bWVudCBkYSBzb2xsIGRhbm4gamVtYW5kIG5lbiBBdWdlIGRyYXVmCndlcmZlbiAuLi4uCld1ZXJkZSBkYXMgamVtYW5kIHNjaG9uIGJlaSBkZXIgTWFnaWVybWFjaHVuZyBtYWNoZW4gZGFubiBoYWV0dGVuIGVzCnZpZWxsZWljaHQgZWluaWdlIGVyc3QgZ2FyIG5pY2h0IHNvd2VpdCBnZWJyYWNodCAuLi4uIHZvciBhbGxlbSBkYW1hbHMgbmljaHQKYWxzIHNvd2FzIGFic29sdXQgbm9jaCB2ZXJib3RlbiB3YXIgOikKCk1hbiBzaWVodCBlcnN0IHdpZSBndXQgbmVuIE1hZ2llciBpc3QgbmFjaGRlbSBlciBzY2hvbiBlaW5pZ2UgWmVpdCBNYWdpZXIgd2FyCi4uLgoKCktleQoKUC5TLjogSGV5IHNvbGx0ZSBrZWluIEFuZ3JpZmYgZ2VnZW4gRGljaCBzZWluIEthbXBmendlcmdlcmwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1hZzJ0aWVzIChOb3Zhc3Rvcm0sICAzLiBNYXIgMTk5OSwgMTM6NDQ6NTQpOgp+IyEgcm49S2V5IHJ0PTkyMDQ2ODI1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQo+IFp1IGRlciBTYWNoZSB2b24gd2VnZW4gR2VzZWxsZW5zdHVlY2sgLi4uLi4uIChmZi4pCgpJY2ggZ2xhdWIgc2Nob24sIGRhc3MgZWluIHNvbGNoZXMgU3R1ZWNrIGVpbmUgJ3d1ZXJkaWdlJyBBdWZnYWJlIGZ1ZXIKYW5nZWhlbmRlIE1hZ2llciBpc3QuIFdlbm4gZXMgbnVyIHNjaG5lbGwgaGluZ2VrbGF0c2NodCBpc3QgdW5kIG5pY2h0IHJpY2h0aWcKYWJnZXN0aW1tdCBpc3QsIGhhdCBkZXJqZW5pZ2UgaGFsdCBrZWluIE1hZ2llciB6dSB3ZXJkZW4uLi4gdW5kIGRhcwplbnRzY2hlaWRldCBkYW5uIHNlaW4vZSBNYWctVmF0ZXIvTXV0dGVyLgpFcyBnaW5nIGRvY2ggamV0enQgZXJzdG1hbCBudXIgZGFydW0sIGRhc3Mgc2NobGllc3NsaWNoIG5pY2h0IGplZGVyIGdld2l6enQKd2lyZCwgbnVyIHdlaWwgZXIgaXJnZW5kd2FzIG1hY2hlbiBfd2lsbF8oPykuCiAgICBHcnVzcwogICAgICBOb3ZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBLb21tIGljaCBqZXR6dCBpbSBGZXJuc2VoZW4/IChMZW5hLCAgMy4gTWFyIDE5OTksIDEzOjUwOjM4KToKfiMhIHJuPVllbmRpIHJ0PTkyMDMwMDA3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkxOTc5OTc3MApNYWwgd2FzIGFuZGVyZXM/CldpZXNvIGZhaHJlbiB3aXIgbmljaHQgZWluZmFjaCBhbGxlIGhpbiB1bmQgZmVpZXJuIGRvcnQgaW4gZGVyIFNlbmRlemVudHJhbGUKbmUgUGFydHk/Ci4uLgpva29rLCB3YXIgamEgbnVyIGVpbiBWb3JzY2hsYWcuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoS2V5LCAgMy4gTWFyIDE5OTksIDEzOjUxOjE5KToKfiMhIHJuPUxlbmEgcnQ9OTIwNDY5MDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTE5Nzk5NzcwCldlaWwgc2llIEFuZ3N0IHZvciBUZXJyb3JhbnNjaGxhZWdlbiBoYWJlbiA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBtYWcydGllcyAoUmluZ29yLCAgMy4gTWFyIDE5OTksIDEzOjUyOjM1KToKfiMhIHJuPUtleSBydD05MjA0NjgyNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKU29zbywgZGVyIFZlcmdsZWljaCBtaXQgZWluZW0gQnVjaCBoaW5rdCwgd2VpbCBlcyBEaXIgYmVpIG5lbSBCdWNoIGRhcnVtIGdlaHQsCndpZSBlcyBnZXNjaHJpZWJlbiBpc3QsIHVuZCBuaWNodCB1bSBkaWUgVGVjaG5paz8gU2Nob2VuLiBHZW5hdSBkYXJ1bSBnZWh0IGVzCmRvY2ggYXVjaCBoaWVyLCBvZGVyPwoKV2FydW0gZmluZGV0IGRlbm4gZWluIFNwaWVsZXIgZWluIEdlYmlldCBzY2hvZW4/IFdlaWwgZXMgc3RpbW11bmdzdm9sbApiZXNjaHJpZWJlbiBpc3QsIG9kZXIgd2VpbCBlcyB0b2xsIHByb2dyYW1taWVydCBpc3QgKFRlY2huaWspPwoKT2theSAtIERpciBpc3QgZXMgZWdhbCwgb2IgamVtYW5kIGRlbiBTcGllbHNwYXNzIHZlcmxpZXJ0LiBEdSB3aXJmc3QgbnVyCm5lYmVuYmVpIGplZGVtIE1hZ2llcnp3ZWl0aWUgdm9yLCBkYXNzIGVyIHNlaW4gTWFnaWVyLSB1bmQgU3BpZWxlcmxlYmVuIG5pY2h0CnRyZW5uZW4ga2Fubi4gQXVjaCBuaWNodCBzY2hsZWNodC4gOi0pCgpNaXQgZGVyIEFyZ3VtZW50YXRpb24ga29tbWVuIHdpciB3aWVkZXIgenUgZGVtIHN0cmlrdGVuIFp3ZWl0aWV2ZXJib3QgZnVlcgpNYWdpZXIuIFVuZCBnZW5hdSBkYSB3aWxsICppY2gqIG5pY2h0IGhpbi4gRGVubiBldHdhcyBBaG51bmcgc29sbHRlIGVpbiBNYWdpZXIKYXVjaCBub2NoIHZvbSBTcGllbCBoYWJlbiAtIHVuZCB6d2FyIG1vZWdsaWNoc3QgbGFlbmdlciBhbHMgbnVyIGRyZWkgTW9uYXRlCm5hY2ggTWFnaWVyd2VyZHVuZy4KCk5hamEsIHp1bSBHZXNlbGxlbnN0dWVjayB3ZXJkZSBpY2ggaW4gZGllc2VtIFRocmVhZCBuaWNodCBkaXNrdXRpZXJlbi4gRGllCkRpc2t1c3Npb25lbiBzb2xsdGVuIHdpciBsaWViZXIgZXR3YXMgdHJlbm5lbi4gOy0pCgpTY2hhZGUgbnVyLCBkYXNzIER1IGJlaSBkZW0gVGhlbWEgYW5zY2hlaW5lbmQgYXVjaCBhbGxlbiBWZXJhbnR3b3J0bGljaGVuCmFic3ByaWNoc3QsIGVpbmUgZ3V0ZSBMb2VzdW5nIGZpbmRlbiB6dSBrb2VubmVuLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoUGhvYm9zLCAgMy4gTWFyIDE5OTksIDEzOjUyOjQzKToKfiMhIHJuPUtleSBydD05MjA0NjkwNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKSWNoIHN0ZWxsIG1pciBncmFkIHZvciwgd2llIE9ya3RvZXRlciBpbiBNaWxsaW9uZW4gV29obnppbW1lciBydWZ0OgoiT1JLVE9FVEVOT1JLVE9FVEVOT1JLVE9FVEVOIi4KRGFtaXQgd2FlcmVuIE11ZGRlciBmdWVyIGFsbGUgWmVpdGVuIGdlYnJhbmRtYXJrdC4KCiAgUGhvYm9zCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogbWFnMnRpZXMgKEtleSwgIDMuIE1hciAxOTk5LCAxMzo1ODoyMik6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNDY5MTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkhtbSBva2kgb2tpIC4uLi4uIFdhaHJzY2hlaW5saWNoIGhhc3RlIG5lbiBiaXNzZXJsIFJlY2h0IHZvbiB3ZWdlbiBkZW0gQnVjaC4KQWJlciBkYW5uIC4uLiBkZW5rZW4gd2lyIG1hbCBhbiBkaWUgTGV1dGUgZGllIGRhbWFscyBuaXggdm9uIGRlcgpCdWNoZHJ1Y2trdW5zdCB2ZXJzdGFuZGVuIC4uLiBGdWVyIGRpZSB3YXIgZGFubiBlaW4gQnVjaCBnbGVpY2ggaW4gMiBmYWNoZXIKQXVzZmVydGlndW5nIGludGVyZXNzYW50LCB6dW0gZWluZW4gd2VpbHMgZnVlciBzaWUgZWluIGdlaGVpbW5pcyB3YXIgd2llIGVzCmdlbWFjaHQgd3VyZGUsIHVuZCB6dW0gYW5kZXJlbiB3ZWdlbiBkZXIgRXJ6YWVobHVuZy4KCkFsc28gaXNzZXMgaGV1dGUgbnVybm9jaCBoYWxiIHNvIGludGVyZXNzYW50LCB3YXMgd2lyIGFiZXIgd29obCBuaWNodApiZXVydGVpbGVuIGtvZW5uZW4gd2VpbCB3aXIgenV2aWVsIGRhdm9uIHdpc3Nlbi4KCk1hbCBlaW5lIGdhbnoga29ua3JldGUgRnJhZ2UgYW4gRGljaCwgdW5kIGRlbmsgbWFsIGRydWViZXIgbmFjaCBiZXZvciBEdQphbnR3b3J0ZXN0OgpEdSBnZWhzdCBpbiBlaW4gR2ViaWV0LCBlbnRkZWNrc3QgaXJnZW5kd2FzIGRhcyBhYnNvbHV0IGdlbmlhbCBnZXByb2dndCBpc3QsCnVuZCBmcmFnc3QgRGljaCB3aWUgZGFzIGdlbWFjaHQgd3VyZGUgLi4uIFdhcyBkZW5rc3QgRHUgaW4gZGVtIG1vbWVudD8KRGVua3N0IER1IHdlaXRlciwgd2VpbCBEdSBuZSBJZGVlIGhhc3Qgd2llIGVzIGZ1bmt0aW9uaWVyZW4ga29lbm50ZSwgb2RlcgpibGVpYnQgZXMgYmVpIGRlciBGcmFnZSB3ZWlsIER1IGFic29sdXQga2VpbmVuIFNjaGltbWVyIGhhc3Qgd2llIGRhcyBnZW5hdQpmdW56ZW4ga2Fubj8KCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBtYWcydGllcyAoUmluZ29yLCAgMy4gTWFyIDE5OTksIDE0OjA2OjA3KToKfiMhIHJuPUtleSBydD05MjA0Njk1MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKRGllIEZyYWdlIGlzdCBnYW56IGVpbmZhY2ggYmVhbnR3b3J0ZXQ6CgpXZW5uIFJpbmdvciBpbiBlaW4gR2ViaWV0IGdlaHQgdW5kIGRvcnQgZWluIHNjaG9lbmVzIFRvb2wgZmluZGV0LCBmaW5kZXQgZXIgZXMKc2Nob2VuLCB3ZWlsIGVzIG51ZXR6bGljaCBpc3Qgb2RlciB0b2xsIGJlc2NocmllYmVuIG9kZXIgd2Vpc3MgZGVyIEdlaWVyIHdhcy4gCgpEYXNzIGRhcyBUZWlsICJhYnNvbHV0IGdlbmlhbCBnZXByb2dndCIgaXN0LCB3ZWlzcyBlciBuaWNodCB1bmQgaW50ZXJlc3NpZXJ0CmlobiBuaWNodC4gRXMgaXN0IHZvbGxrb21tZW4gYXVzcmVpY2hlbmQsIHdlbm4gZGFzIFRlaWwgZmVobGVyZnJlaSBzZWluZW4KRGllbnN0IHZlcnJpY2h0ZXQgdW5kIGRhYmVpIHZpZWxsZWljaHQgbmljaHQgZ2VyYWRlIHNvdmllbCBSZWNoZW56ZWl0IGZyaXNzdAp3aWUgZGllIFhQLUxpc3RlLiA7LSkKClVuZCBlaHJsaWNoIGdlc2FndCBrYW5uIGljaCBtaWNoIGF1Y2ggbmljaHQgZXJpbm5lcm4sIGFscyBrbGVpbmVyIFNwaWVsZXIKbWVpbmUgQXVzcnVlc3R1bmcgZGFuYWNoIGF1c2dld2FlaGx0IHp1IGhhYmVuLCB3aWUgZ3V0IHNpZSBwcm9ncmFtbWllcnQgaXN0LgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogbWFnMnRpZXMgKEtleSwgIDMuIE1hciAxOTk5LCAxNDowODowMyk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNDY5OTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkRhbm4gYmlzdGUgbmUgZ3Jvc3NlIEF1c25haG1lLCBqZWRlbmZhbGxzIHZvbiBkZW5lbiBkaWUgaWNoIGtlbm5lIG1pdCBNYWdpZXIuCkF1c3NlciBzaWUgc2luZCBsYW5nZSBnZW51ZyBNYWdpZXIgZ2V3ZXNlbiB1bmQgaGFiZW4gc2ljaCB2ZXJzdGVja3QgZ2VoYWx0ZW4KLi4uLgoKSmEgZWJlbiBkYXJ1bSBnZWh0cyBtaXIsIHVtIGRlbiBrZWluZW4gUmluZ29yIGRlciBnYXIgbmljaHRzIG5hY2ggZGVyIEFydCB3aWUKZ3V0IGVzIGdlcHJvZ2d0IGlzdCBhdXN3YWVobGVuIEtPTk5URSAuLi4gd2VpbCBlciBkYXZvbiBlaW5mYWNoIGtlaW5lIGFobnVuZwpoYXR0ZS4KRGVyIGhhdCBzaWNoIHdhaHJzY2hlaW5saWNoIG51ciB2ZXJ6YXViZXJuIGxhc3NlbiA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogbWFnMnRpZXMgKFllbmRpLCAgMy4gTWFyIDE5OTksIDE0OjM2OjE5KToKfiMhIHJuPUtleSBydD05MjA0NzAwODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKTWlyIHNjaGVpbnQgYXVzIGRlciBEaXNrdXNzaW9uIGhhdXB0c2FlY2hsaWNoIGhlcnZvcnp1Z2VoZW4sIGRhc3MgZXMgaGllciBlaW5lCk1lbmdlIFNwaWVsZXIgZ2lidCwgZGllIHZpZWwgenV2aWVsZSBkZXIgSGludGVyZ3J1bmRpbmZvcm1hdGlvbmVuIGtlbm5lbi4KClNlbGJzdCBkaWUgcHJvZ3JhbW1pZXJ0ZWNobmlzY2hlbiBGYWNoYmVncmlmZmUgc29sbHRlbiB0YWJ1IHNlaW4uCkRhcnVlYmVyIGtvZW5uZW4gc2ljaCBNYWdpZXIgdW50ZXJlaW5hbmRlciB1bnRlcmhhbHRlbiwgYWJlciBkYXMgbXVzcyBhdXMgZGVtClNwaWVsIHVuZCBhdXMgZGVtIFNwaWVsZXJ3aXNzZW4gcmF1c2JsZWliZW4sIHNvbnN0IGdlcmF0ZW4gZGEgZWluIHBhYXIgRWJlbmVuCmR1cmNoZWluYW5kZXIuIERhcyBNb3JnZW5ncmF1ZW4gaXN0IGVpbmUgZ3Jvc3NlLCB3ZWl0ZSwgd2lsZGUgV2VsdCwgdW5kIHdlbm4KaWNoIHNjaG9uIEdyb2Vzc2UsIExlYmVuZGdld2ljaHQgdW5kIEJsdXRncnVwcGUgZGVzIGVyc3RlbiBXb2xmcyBrZW5uZSwgZGVyCm1pciBpbSBXYWxkIHVlYmVyIGRlbiBXZWcgbGFldWZ0LCBkYW5uIGdlaHQgZGFzIGRvY2ggZXR3YXMgYXVmIEtvc3RlbiBkZXIKU3Bhbm51bmcsIGhtbW0/CgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IG1hZzJ0aWVzIChSaW5nb3IsICAzLiBNYXIgMTk5OSwgMTQ6MzY6NDEpOgp+IyEgcm49S2V5IHJ0PTkyMDQ3MDA4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpTZWxic3Qgd2VubiBpY2ggZGVuIENvZGUgdm9uIHp3ZWkgT2JqZWt0ZW4gdm9ybGllZ2VuIGhhZXR0ZSAtIHNvbGx0ZSBpY2ggbWljaApkYW5uIGZ1ZXIgZGFzIGVudHNjaGVpZGVuLCBkZXNzZW4gQ29kZSB6d2VpIFplaWxlbiBrdWVyemVyIGlzdD8KCldlbm4gRHUgRGVpbmVuIFNwaWVsZXIgd2lya2xpY2ggbmFjaCBkZW0gS3JpdGVyaXVtIGF1c3J1ZXN0ZXN0LCBoYXQgZGFzIE1HIGluCmRlciBUYXQgZXR3YXMgdm9uIHNlaW5lbSBaYXViZXIgZnVlciBEaWNoIHZlcmxvcmVuLiBBYmVyIGRhcyBuZWhtIGljaCBEaXIKbmljaHQgd2lya2xpY2ggYWIuIDotKQoKUmluZ29yCgpQLlM6IERhc3Mgc2ljaCBqZW1hbmQgbWl0ICJJbnNpZGVyd2lzc2VuIiBmdWVyIGRpZSBXYWZmZSBvZGVyIFJ1ZXN0dW5nIG1pdCBkZW4KbWluaW1hbCBiZXNzZXJlbiBXZXJ0ZW4gZW50c2NoZWlkZXQsIGdsYXViIGljaCBzY2hvbiBlaGVyLiBBYmVyIGVzIHNvbGwKZ2VydWVjaHRld2Vpc2Ugc29nYXIgTWFnaWVyLVh0aWVzIGdlYmVuLCBkaWUgc2ljaCAqbmljaHQqIHp1IGplZGVtIE9iamVrdCBkaWUKV2VydGUgYW5zY2hhdWVuLCBzb25kZXJuIGRpZSBBdXNydWVzdHVuZyBzZWxic3QgdGVzdGVuLiBVbmQgZHVyY2hhdXMgYXVjaCB6dQpmYWxzY2hlbiBFcmdlYm5pc3NlbiBrb21tZW4uIFVuZCB0cm90emRlbSAob2RlciBnZXJhZGUgZGVzaGFsYj8pIFNwYXNzIGRhbWl0CmhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IG1hZzJ0aWVzIChLZXksICAzLiBNYXIgMTk5OSwgMTQ6Mzc6MjMpOgp+IyEgcm49WWVuZGkgcnQ9OTIwNDcxNzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkdlbmF1IGRhcnVtIGdlaHRzIG1pciEKCktleSBmdWVobHQgc2ljaCBlbmRsaWNoIHZlcnN0YW5kZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBtYWcydGllcyAoS2V5LCAgMy4gTWFyIDE5OTksIDE0OjM4OjQ4KToKfiMhIHJuPVJpbmdvciBydD05MjA0NzE4MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKSkEgYWJlciBkaWVzZSBNYWdpZXItWHRpZXMgc2luZCB6dW1laXN0IGplbmUgZGllIGVyc3RtYWwgTWFnaWVyIHdhcmVuIC4uLi4gdW5kCm51ciBNYWdpZXIgLi4uCgpVbmQgbmljaHQgbmVuIE1hZ2llciBuZWJlbmJlaSBoYXR0ZW4uCgpLRXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBtYWcydGllcyAoUmluZ29yLCAgMy4gTWFyIDE5OTksIDE0OjQ2OjQ4KToKfiMhIHJuPUtleSBydD05MjA0NzE5Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKSWNoIGxpZWJlIFBhdXNjaGFsLVZlcnVydGVpbHVuZ2VuLiA6LSkKCkFsc28gd2lyZCBudXIgbm9jaCBNYWdpZXIsIHdlciBhbGxlIHZvcmhhbmRlbmVuIFh0aWVzIGxvZXNjaHQuIFVuZCBiZXZvciBtYW4KbmljaHQgbWluZGVzdGVucyB6d2VpIEphaHJlIG51ciBNYWdpZXIgd2FyLCBkYXJmIG1hbiBrZWluZW4gbmV1ZW4gU3BpZWxlci1YdGllCm1hY2hlbi4gRGFubiBoYXQgbWFuIHdpZWRlciBkZW4gbm9ldGlnZW4gQWJzdGFuZCwgdW0gZGFzIFNwaWVsIHdpcmtsaWNoIGF1cwpTaWNodCBlaW5lcyBTcGllbGVycyB6dSBiZXRyYWNodGVuLgoKSXN0IGRhcyB1bmdlZmFlaHIsIHdvcmF1ZiBEdSBoaW5hdXN3aWxsc3Q/CgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBtYWcydGllcyAoTW9yZ29uYXRlLCAgMy4gTWFyIDE5OTksIDE0OjUzOjQzKToKfiMhIHJuPUtleSBydD05MjA0NzE5Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKQWxzbyBLZXksCmljaCBoYWJlIGRhcyBHZWZ1ZWhsLCBEdSB0cmF1c3QgZGVuIExldXRlbiBuaWNodCBzZWxiZXIgenUsIHdpZXZpZWwgU3BpZWxzcGFzcwpzaWUgaGFiZW4gd29sbGVuLgpXZW5uIGplbWFuZCBlaW5lbiAiTWFnaWVyendlaXRpZSIgKHdhcyBmdWVyIGVpbiB1bnNjaG9lbmVzIFdvcnQpIGhhdCwgc29sbHRlCmVyIHNpY2ggaW0gdm9ybmhlcmVpbiBkYW1pdCBhdXNlaW5hbmRlciBnZXNldHp0IGhhYmVuLCBvYiBlciBkZW4gdmVybHVzdCBhbgpTcGllbHNwYXNzIGluIEthdWYgbmVobWVuIG1vZWNodGUgb2RlciBuaWNodC4KVW5kIHNvbGFuZ2UgZGllc2VyICJNYWdpZXJ6d2VpdGllIiBuaWNodCB0ZWNobmlzY2hlIEJlZ3JpZmZlIGluIHNlaW5lCkdlc3ByYWVjaGUgYW5kZXJlbiBTcGllbGVybiBnZWdlbnVlYmVyIGVpbmJyaW5ndCwgZ2VodCBkZW5lbiBkb2NoIGtlaW4KU3BpZWxzcGFzcyB2ZXJsb3Jlbi4gQWxzbyBuZW4gIk1hZ2llcnp3ZWl0aWUiIGlzdCBuaWNodCBnbGVpY2gKU3BpZWxzcGFzc3Zlcmx1c3QgZnVlciBkaWUgQWxsZ2VtZWluaGVpdCwgc29uZGVybiBob2VjaHN0ZW5zIGZ1ZXIgZWluZSBrbGVpbmUKR3J1cHBlIFNwaWVsZXIuCkF1c3NlcmRlbSBrYW5uc3QgRHUgamEgYWxzIE1hZ2llciBrYXVtIG5vY2ggYW5kZXJlbiBTcGllbGVybiBoZWxmZW4sIHNlbGJzdAp3ZW5uIER1IGRpZSBnbGVpY2hlbiBBbnR3b3J0ZW4gZ2ViZW4gd3VlcmRlc3QsIHdpZSBkYW1hbHMgYWxzIER1IG5vY2ggIm51ciIKU2VoZXIgd2Fyc3QsIGRhIGltbWVyIGdsZWljaCBpcmdlbmR3ZXIgU3BpZWxlcmhpbGZlIHNjaHJlaXQuCldhcyBpc3QgZGVuIFVudGVyc2NoaWVkIG9iIG51biBlaW4gU2VoZXIgYXVmIGRpZSBGcmFnZSAiV28gZmluZGUgaWNoIGRlbgpIZXhlbnRvZXRlcj8iIGFudHdvcnRldCwgb2RlciBlaW4gTWFnaWVyIGdlbmF1IGRpZSBnbGVpY2hlIEFudHdvcnQgZ2lidD8gSW4KZWluZW0gRmFsbGUgdmVyc3RvZXNzdCBlcyBnZWdlbiBkZW4gTWFnaWVydmVydHJhZyAoU3BpZWxlcmhpbGZlKSwgaW0gYW5kZXJlbgpGYWxsZSBpc3QgZXMgZGlyZWt0IGVyd3VlbnNjaHQgKFNlaGVyIHNpbmQgTGV1dGUgZGllIGRlbiBNdWQgZ3V0IGtlbm5lbiwgdW5kCmRlbWVudHNwcmVjaGVuZCBhbmRlcmVuIFNwaWVsZXJuIGhlbGZlbiBzb2xsdGVuLCBoYWIgaWNoIG1hbCB3byBnZWxlc2VuKS4KCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IG1hZzJ0aWVzIChLZXksICAzLiBNYXIgMTk5OSwgMTU6MDM6NTEpOgp+IyEgcm49UmluZ29yIHJ0PTkyMDQ3MjQwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpIbXBmIG5laW4KCldlZyB2b24gTWFnaWVyendlaXRpZXMsIGhlciBtaXQgU3BpZWxlcnp3ZWl0aWVzLgoKTWFuIHNvbGx0ZSBhbHMgTWFnaWVyIHNjaG9uIG5lbiBiaXNzZXJsIHdhcyBnZXRhbiBoYWJlbiBiZXZvciBtYW4gc2ljaCB3aWVkZXIKaW4gZGllIHNwaWVsc3VjaHQgd2lyZnQuClVuZCBkaWUgTGV1dGUgZGllIGhldXR6dXRhZ2UgcnVtZ3JvZWxlbiB2b24gd2VnZW4gc2llIGhhYmVuIGlocmVuIE1hZ2llciB1bQpkYXMgU3BpZWwgenUgdmVyc2Nob2VuZXJuLCBiaXR0ZSwgd2FydW0gZGFubiBuaWNodCBkZW4gRXJzdGllIHp1bSBNYWdpZXIKbWFjaGVuLCBkYXMgU3BpZWwgd2lya2xpY2ggbWFsIHZlcnNjaG9lbmVybiwgdW5kIGRhbm4gd2llZGVyIGFuZmFuZ2VuIHp1CnNwaWVsZW4/CgpKYWphIGljaCB3ZWlzcywgZGFzIGthbm4gbWFuIG5hdHVlcmxpY2ggYXVjaCBtYWwga3VyeiBuZWJlbmJlaSBtYWNoZW4gZGFzCnByb2dnZW4uClZpZWxsZWljaHQgRHUsIHZpZWxsZWljaHQgMiAzIGFuZGVyZSwgdW5kIGRlciBSZXN0PwoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogbWFnMnRpZXMgKE11YWRpYiwgIDMuIE1hciAxOTk5LCAxNToxMDoxNCk6Cn4jISBybj1LZXkgcnQ9OTIwNDczNDMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CmhpLAoKc29sbCBkYXMgbmUgcHJvZ3BmbGljaHQgZnVlciBtYWdpZXIgc2VpbiA/CmRhcyB3dWVyZCBtaWNoIGdyYXVzZW4KCmdydXNzCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBtYWcydGllcyAoUmluZ29yLCAgMy4gTWFyIDE5OTksIDE1OjIwOjI2KToKfiMhIHJuPUtleSBydD05MjA0NzM0MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKVmllbGxlaWNodCB3dWVyZGUgZXMgbWlyIGhlbGZlbiwgRGVpbmVuIFN0YW5kcHVua3QgenUgdmVyc3RlaGVuLCB3ZW5uIER1IG1pcgptYWwgZ2FueiBnZW5hdSBlcmtsYWVyZW4gd3VlcmRlc3QsIHdhcyBkZXIgVW50ZXJzY2hpZWQgaXN0LCBvYiBpY2ggZGVuIEVyc3RpZQpvZGVyIGRlbiBad2VpdGllIHp1bSBNYWdpZXIgbWFjaGUuIAoKV2VyZGVuIGF1cyBFcnN0aWVzIGJlc3NlcmUgTWFnaWVyPyBLb2VubmVuIGRpZSBiZXNzZXIgcHJvZ3JhbW1pZXJlbj8gSGFiZW4gZGllCm1laHIgSWRlZW4gZnVlciBzY2hvZW5lcmUgR2ViaWV0ZT8gT2RlciBtZWhyIFZlcnN0YWVuZG5pcyBmdWVyIGRpZSBQcm9ibGVtZQpkZXIgU3BpZWxlciAtIGRhIHNpZSBqYSBlaW4gaG9laGVyZXMgT25saW5lYWx0ZXIgYXVmIGRlbSBCdWNrZWwgaGFiZW4/CgpVbmQgc28gZWluIFNwaWVsZXIgaGFlbHQgd2lya2xpY2ggdW5nZW1laW4gdm9uIGRlciBBcmJlaXQgYWIsIGdlbmF1LiBXbyBrYWVtZW4Kd2lyIGRlbm4gZGEgaGluLCB3ZW5uIGVpbiBNYWdpZXIgd2FzIGFuZGVyZXMgdGFldGUsIGFscyBzaWNoIHVtIHNlaW4gR2ViaWV0IHp1Cmt1ZW1tZXJuLiBFcnN0IGRpZSBBcmJlaXQsIGRhbm4gZGFzIFZlcmdudWVnZW4uCgpSaW5nb3IuIE51ciBnYW56IGxlaWNodCBzYXJrYXN0aXNjaCBoZXV0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBtYWcydGllcyAoS2V5LCAgMy4gTWFyIDE5OTksIDE1OjIyOjIyKToKfiMhIHJuPU11YWRpYiBydD05MjA0NzM4MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKRnVlciBad2VpdG1hZ2llciBqYSA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogbWFnMnRpZXMgKEFjcmltb24sICAzLiBNYXIgMTk5OSwgMTc6Mzk6NDYpOgp+IyEgcm49WWVuZGkgcnQ9OTIwNDcxNzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkltIE1HIGdlcmFldCBqYSBzb3dpZXNvIHNjaG9uIGRhcyBWTCB1bmQgZGFzIFJMIHdlaXQgbWVociBkdXJjaGVpbmFuZGVyLCBhbHMKZGllIE1hZ2llcndlbHQgc2ljaCBtaXQgZGVyIFNwaWVsZXJ3ZWx0IHZlcm1pc2NoZW4ga29lbm50ZS4KTmF0dWVybGljaCBrYW5uIC0gd2VyIHdpbGwgLSBpbSBNRyByb2xsZW5zcGllbGVuLCBhYmVyIGRhcyBpc3QgKGV4dHJlbSkKc2Nod2llcmlnLCBkZW5uIGJlaSBkZXIgbmFlY2hzdGVuIEFuZnJhZ2UgIndhcnVtIGxhZXVmdCBURiBhdWYgbWVpbmVtIFBDCm5pY2h0PyIgd2lyZCBtYW4gc2Nob24gd2llZGVyIGhlcmF1c2dlcmlzc2VuLgpadW0gUm9sbGVuc3BpZWxlbiBnaWJ0IGVzIG1laW5lciBNZWludW5nIG5hY2ggc293aWVzbyBiZXNzZXJlIFVtZ2VidW5nZW4KKE1VU0gpIGFscyBkYXMgTUcuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBtYWcydGllcyAoS29vbWksICAzLiBNYXIgMTk5OSwgMTg6NDY6MjYpOgp+IyEgcm49S2V5IHJ0PTkyMDQ3NDU0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpECktleSwgZGFubiB3dWVyZGUgSUNIIG5hY2ggZGVpbmVyIERlZmluaXRpb24gendlaXRpZW1hZ2llciBzZWluIHVuZCBsYXV0IGRlaW5lbgp2b3JoZXJpZ2VuIEFydGlrZWxuIHd1ZXJkZSBpY2ggd29obCAtIHdlbm5zIG5hY2ggZGlyIGdpbmdlIC0gU2hhbm5hcmEgbG9lc2NoZW4KbXVlc3NlbiBvZGVyIG1pdCBuZXIgZXdpZ2VuIFNwaWVscGF1c2Ugc2V0enRlbiBtdWVzc2VuLiBOaWVtYWxzLiAKCkljaCBrYW5uIG1pY2ggbnVyIFJpbmdvcnMgTWVpbnVuZyBhbnNjaGxpZXNzZW4sIGRhc3MgZXMgX3Npbm52b2xsXyBpc3QsIGRhc3MKZGllIE1hZ2llciBub2NoIGVpbmVuIFNwaWVsZXJ6d2VpdGllIGhhYmVuLCBkZW5uIHNvIHZlcmxvcmVuIHNpZSBuaWNodCB0b3RhbApkZW4gS29udGFrdCwgYXVzc2VyZGVtIGJyYXVjaGVuL3dvbGxlbiBNYWdpZXIgYXVjaCBtYWwgZWluZSBFcmhvbHVuZywgb2RlcgplaW5mYWNoIG51ciBTcGllbHNwYXNzLiAKCkF1c3NlcmRlbSBiZXp3ZWlmbGUgaWNoLCBkYXNzIGRpZXNlIFNwaWVsZXJmaWd1cmVuLCBkYW5uIG51ciBub2NoIGF1ZiBkaWUKJ0Jlc3RlbicgU2FjaGVuIGdlaGVuLCBkYXMgaXN0IG5pY2h0IHdhaHIuICBNZWluZSBTaGFubmFyYSBiencuIFRydWcgbGFldWZ0CmF1Y2ggbmljaHQgbWl0IGRlbiBqZXdlaWxpZ2VuIFRvcHNhY2hlbiBoZXJ1bSwgd2VpbCBzaWUgbWlyIGViZW4gbmljaHQKJ2dlZmFsbGVuJyBiencuIGljaCBrZWluZSBMdXN0IGhhYmUsIHN0dW5kZW5sYW5nIGZ1ZXIgZWluZSBIYW5kdm9sbApBdXNydWVzdHVuZ2dlZ2Vuc3RhZW5kZSBtZXR6ZWxuIHp1IGdlaGUsIHdlaWwgZXMgZG9jaCB3b2FuZGVycyBhdWNoICdndXRlJwpTYWNoZW4gZ2lidCwgZGllIGxlaWNodGVyIHp1IGJlc29yZ2VuIHNpbmQsIHVuZCBoYWJlIGRhbm4gbWVociBaZWl0IGZ1ZXJzCkNoYXR0ZW4gLyBnZW1laW5zYW0gbWl0IGVpbiBwYWFyIEZyZXVuZGVuIG1ldHpsZW4genUgZ2VoZW4uCgpIYWxiZWxmIEtvb21pLgoKUFM6IFNvcnJ5IGZ1ZXIgZGllIFR5cG9zLCBpY2ggaGFiIGxlaWRlciAnbnVyJyBhdWYgZGFzIG1pc3RpZ2UgbnQtdGVsbmV0Cnp1Z3JpZmYgKGVpbiBlY2h0ZXMgdGVsbmV0IHdhZXIgbWlyIGxpZWJlci4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IG1hZzJ0aWVzIChEZWVwYmx1ZSwgIDMuIE1hciAxOTk5LCAxOTowMDo0Myk6Cn4jISBybj1ZZW5kaSBydD05MjA0NzE3Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKRGFubiB2ZXJnaXNzdCBEdSBhYmVyLCBkYXMgdmllbGUgTUctU3BpZWxlciBhdWNoIGluIGFuZGVyZW4gTXVkcyBjb2Rlbi4gU29taXQKa2VubmVuIHNpZSBkaWUgRmFjaGJlZ3JpZmZlLCB1bmQgZnJhZ2VuIGV2ZW50dWVsbCBhdWNoIG1hbCBuZW4gTUctTWFnaWVyLCB3ZW5uCnNpZSBuaWNodCB3ZWl0ZXJ3aXNzZW4uIApNdWRzcGV6aWZpc2NoZSBEaW5nZSB3aWUgZGllIFN0YWVya2UgZGVyIEVpZXJsZWdlbmRlbiBXb2xsbWlsY2hzYXUgc29sbHRlbgp0YWJ1IHNlaW4gKE1hZ2llcmhpbGZlKSwgYWJlciB3aWUgZGllIEZ1bmt0aW9uIGVpbmVzIHNjaGxvc3NlcyBQcm9ncmFtbWllcnQKd2VyZGVuIGthbm4sIGRhcnVlYmVyIGthbm4gbWFuIHNjaG9uIGRpc2t1dGllcmVuLCBvaG5lIGRhcyBtYW4gc3BpZWxzcGFzcwp2ZXJsaWVydC4gClVuZCBzY2hsdXNzZW5kbGljaCBoYWIgaWNoIG5pY2htYWwgd2FzIGRhZ2VnZW4sIHdlbm4gZWluIE1hZyBlaW4gU3R1ZWNrCmJlaXNwaWVsY29kZSBvZmZlbmxlZ3QsIHZvbmRlbSBlciB3ZWlzcywgZGVyIHNwaWVsZXIgaGF0IGVzIGtvbXBsZXR0CmF1c2dla3VuZHNjaGFmdGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IG1hZzJ0aWVzIChEZWVwYmx1ZSwgIDMuIE1hciAxOTk5LCAxOToyMToxOCk6Cn4jISBybj1NdWFkaWIgcnQ9OTIwNDczODE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CldpZXNvIGlzdCBqZW1hbmQsIGRlciBuaWNodCBwcm9nZ3QsIGRhbiBNYWdpZXI/ICh2b24gQXVzbmFobWVuIHdpZSBHYXN0bWFnaWVybgphYmdlc2VoZW4pCk1hbiB3aXJkIE1hZ2llciB1bSB6dSBjb2Rlbiwgd2VubiBtYW4gbmljaHQgY29kZW4gd2lsbCwgc29sbHRlIG1hbiBuaWNodApNYWdpZXIgc2Vpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IG1hZzJ0aWVzIChXdXJ6ZWwsICAzLiBNYXIgMTk5OSwgMjA6MjA6NDUpOgp+IyEgcm49QWNyaW1vbiBydD05MjA0ODI3ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKaHVjaCwgaWNoIG11c3MgYWNyaW1vbiB6dXN0aW1tZW4uLi4gbmFqYSwgd2VuaWdzdGVucyBwYXJ0aWVsbC4Kd2VyIHJvbGxlbnNwaWVsZW4gd2lsbCwgc29sbHRlIGRhcyB0dW4uIHVuZCB6d2FyIGluIGVpbmVyIGdlZWlnbmV0ZW4KdW1nZWJ1bmcsIGFsc28gbmljaHQgYW0gY29tcHV0ZXIuIGZ1ZXIgZ2FueiBoYXJ0Z2Vzb3R0ZW5lIGthbm4gaWNoIGRhIGRpZQpzb2cuIGxpdmUtcm9sbGVuc3BpZWxlIGVtcGZlaGxlbiwgd28gbWFuIFRBVFNBRUNITElDSCBkdXJjaCBkZW4gd2FsZApzY2hsZWljaHQgdW5kIHNpY2ggdm9uIG9ya3MgdmVyaGF1ZW4gbGFlc3N0Lgp3YXJtZHVzY2hlciB3aWUgaWNoIHNwaWVsZW4gbGllYmVyIGluIGdlbXVldGxpY2hlciBydW5kZSBpbiBlaW5lbSB3YXJtZW4KcmF1bSwgbWl0IGVzc2VuIHVuZCB0cmlua2VuIHVuZCB2b3IgYWxsZW0gcGhhbnRhc2llLiB1bmQgZ2VyYWRlIGRpZQpwaGFudGFzaWUgaXN0IGVzLCBkaWUgbWVpbmVyIG1laW51bmcgbmFjaCBmdWVyIGVpbiByb2xsZW5zcGllbCB1bmFiZGluZ2Jhcgppc3QuIHVuZCBkaWUgd2lyZCBkYWR1cmNoLCBkYXNzIG1hbiBhbSBjb21wdXRlciBkaWUgdm9uIG1hZ2llcm4gdm9yZ2VrYXV0ZW4Kc2FjaGVuIGFic3BpZWx0LCBudXIgYXVzZ2VzcHJvY2hlbiB1bnp1cmVpY2hlbmQgYW5nZXNwcm9jaGVuLgpuZWluLCBtdWRkZW4gaXN0IHdhcyBhbmRlcmVzLiBlcyBpc3QgdG9sbCwga29tbXVuaWthdGl2LCBtYWNodCBlaW5mYWNoIHNwYXNzCmlzdCBzdWNodGdlZmFlaHJkZW5kIGV0Yy4gYWJlciBrZWluIHJvbGxlbnNwaWVsLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogbWFnMnRpZXMgKE1pbmRibGFkZSwgIDQuIE1hciAxOTk5LCAwMzowMDowNCk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNDcyNDA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1Ci4uLndhcnVtIGRhbm4gbmljaHQgZGVuIEVyc3RpZSB6dW0gTWFnaWVyIG1hY2hlbiwgZGFzIFNwaWVsIHdpcmtsaWNoIG1hbAp2ZXJzY2hvZW5lcm4sIHVuZCBkYW5uIHdpZWRlciBhbmZhbmdlbi4uLgoKT2VobSBLZXksIHNvbnN0IGdlaHRzIERpciBhYmVyIG5vY2ggZ2FueiBndXQsIG9kZXI/IE1hbiBsb2VzY2h0IGVpbmVuIEx2TCA3MCsKU3BpZWxlciwgZGVyIHNpY2ggdmllbGxlaWNodCBub2NoIE1vbmF0ZSBpbiBlaW5lciBHaWxkZSBob2NoZ2VzcGllbHQgaGF0LApwcm9nZ3QgZGFubiB3YXMgdW5kIHNwaWVsdCBlcm5ldXQgZWluZW4gTHZMIDcwKyBTZWhlciBob2NoPz8/IFZpZWxlaWNodCBhdWNoCm5vY2ggaW4gZGVyIGdsZWljaGVuIEdpbGRlPyBLZXksIERBUyBuZW5uIGljaCBob2VjaHN0ZW5zIGtyYW5rLCBhYmVyIGthdW0Kc3BpZWxzcGFzc2ZvZXJkZXJuZCBvZGVyIHNvbnN0IHdhcy4gCkVzIHNvbGx0ZSBkb2NoIHJlbGF0aXYgZWdhbCBzZWluLCBvYiBkZXIgRXJzdGllIG9kZXIgZWluIDJ0aWUgTWFnaWVyIHdpcmQsCnNvbGFuZ2UgZGVyamVuaWdlIHNlaW5lbiBNYWdpZXIgbmljaHQgbnVyIGRhenUgYmVudXR6dCwgdW0gQ29kZSB2b24gTW9uc3Rlcm4KZXRjLiB6dSBkdXJjaHd1ZWhsZW4sIHNvbmRlcm4gd2FzIHByb2dndC4KCk1hbCBtZWluIFNlbmYsIE1pbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogbWFnMnRpZXMgKEphc3BlciwgIDQuIE1hciAxOTk5LCAwNTozMzozMSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTIwNDkyNDQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CmFsc28gbmFjaGRlbSBpY2ggZGl2ZXJzZSBjb21pY3MgJ2tuaWdodCBvZiB0aGUgdGFibGUgcm91bmQnIG9kZXIgc28KZ2VsZXNlbiBoYWJlLCB3ZWlzcyBpY2ggZGFzIHJvbGxlbnNwaWVsZSBpbiAnZ2VtdWV0bGljaGVyJyBydW5kZSBuaXgKc2luZC4KCkphc3BlciBkZW5rdCBhbiBkaWUgQmFyYmFyaWFuIGRpZSB2b2VsbGlnIGVudGtsZWlkZXQgd3VyZGUsIGRhbWl0IHNpZQpkZW4gdHJlZmZlcm4gYmVzc2VyIGF1c3dlaWNoZW4ga29ubnRlIDtQCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogbWFnMnRpZXMgKEphc3BlciwgIDQuIE1hciAxOTk5LCAwNTozOTowOCk6Cn4jISBybj1NaW5kYmxhZGUgcnQ9OTIwNTE2NDA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CmRhcyBnYW56ZSB3YXMga2V5IGxvc2dldHJldGVuIGhhdCBpc3QgZWggemllbWxpY2ggc2lubmxvcywgc3BhZXRlc3RlbnMKbmFjaCAyLTMgbmV1ZW4gZ2ViaWV0ZW4sIGluIGRlbmVuIGRpZSBwYXBwbmFzZW4tc2VoZXIgKCttYWdpZXIpIHZvcnRlaWxlCmdlZ2VudWViZXIga2V5IGhhYmVuLCB3aXJkIGVyIGlyZ2VuZGVpbmVuIGVyem1hZ2llciBhbmphbW1lcm4sIGRhbWl0CnRlcnJvcmlzdCdzIHNwaWVscGF1c2Ugd2llZGVyIGVudGZlcm50IHdpcmQuCgpKYXNwZXIsIGRlciBWb3JoZXItc2VoZXIgCgoKUFM6IFdlbm4gZXMga2V5IHdpcmtsaWNoIGVybnN0IGRhbWl0IHdhZXJlLCBoYWV0dGUgZXIgc2VpbmUobikgTWFnaWVyCiAgICBnYW56IGdlbG9lc2NodC4gTWFsIGdhbnogZGF2b24gYWJnZXNlaGVuLCBkYXNzIGVyIGJlc3RpbW10IG5pY2h0IAogICAgZGVyIGVyc3RlIHNlaGVyIHdhciwgZGVyIGVpbmVuIG1hZ2llciwgenVtIHBmdXNjaGVuIGhvY2hnZXpvZ2VuIAogICAgaGF0LCB1bmQgdmVybXV0bGljaCBkdXJjaCBzZWluZSBha3Rpb24sIGF1Y2gga2VpbmVuIGRhdm9uIGFiaGFsdGVuIAogICAgd2lyZCwgZGVyIHNpY2ggZWluZW4gbWFnaWVyIHp1bSBwZnVzY2hlbiwgaG9jaHppZWhlbiB3aWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS29tbSBpY2ggamV0enQgaW0gRmVybnNlaGVuPyAoU29uZ29rdSwgIDQuIE1hciAxOTk5LCAxMDozOToxOCk6Cn4jISBybj1OZXZvayBydD05MjAwMzA2NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTk3OTk3NzAKSXN0IGRhcyBuaWNodCBzbz8/PyAoZHUgZXJzY2h1ZXR0ZXJzdCBub2NoIG1laW4gV2VsdGJpbGQpClNheW9uYXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWFnMnRpZXMgKFNvbmdva3UsICA0LiBNYXIgMTk5OSwgMTA6NTQ6MzQpOgp+IyEgcm49QXNtb2RpcyBydD05MjAxNjcxMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKV2FydW0/Cndlbm4gZWluIEdlc2VsbGVuc3R1ZWNrIG5pY2h0IGdlZWlnbmV0IGlzdCwgZXMgYW56dXNjaGxpZXNzZW4sIGlzdCBlcyBqYSB3b2hsCmtlaW4gR2VzZWxsZW5zdHVlY2sgKG9kZXIgaXN0IGVpbiBUaXNjaCwgZGVyIGRhdWVybmQgdW1mYWVsbHQgZWluIGdlZWlnbmV0ZXMKR2VzZWxsZW5zdHVlY2sgZnVlciBlaW5lbiBTY2hyZWluZXI/KQoKU2F5b25hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb2xwZXJ0aW5nZXJxdWVzdCB0dXQgd2llZGVyIChwdXQmZ2V0IGJ1ZyBmaXhlZCkgKEtldG9zLCAgNC4gTWFyIDE5OTksIDExOjIwOjQ4KToKSW4gZGVuIGxldHp0ZW4gVGFnZW4gdGF0IGRhcyBadXNhbW1lbm5hZWhlbiBkZXMgV29scGVydGluZ2VyIG5pY2h0IG1laHIsCmF1ZiBHcnVuZCBlaW5lciBBZW5kZXJpbmcgaW4gcHUmZ2V0LiBEZXIgQnVnIGlzdCBnZWZpeHQuCkJpdHRlIGJlc29yZ3QgZXVjaCBlaW5lIG5ldWUgTmFkZWwsIGR1cmNoIGF1cy0gdW5kIHdpZWRlciBlaW5sb2dnZW4uIEtldG9zCmluIGRlciBIdWV0dGUgdGVpbHQgZGFubiBkaWUgbmV1ZSBWZXJzaW9uIGF1cy4KCkhpbndlaXM6IERhcyBoYXQga2VpbmUgRWluZmx1c3MgYXVmIGV1cmUgTG9lc3VuZ3Nrb21iaW5hdGlvbiBkZXIgUXVlc3QuCklociBrb25udCBkb3J0IHdlaXRlciBtYWNoZW4gd28gaWhyIGF1ZmdlaG9lcnQgaGFidCwgYXVjaCBub2NoIG5hY2ggSmFocmVuLi4uCgotIGtldG9zIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBtYWcydGllcyAoTXVhZGliLCAgNC4gTWFyIDE5OTksIDExOjMzOjM5KToKfiMhIHJuPURlZXBibHVlIHJ0PTkyMDQ4ODg3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpoaSwKCmhhc3QgcmVjaHQsIGFiZXIgZXMgZ2lidCBlaW5lbiB1bnRlcnNjaGllZCB6d2lzY2hlbiB3b2xsZW4gdW5kIG11ZXNzZW4sIHZvcgphbGxlbSB3ZW5uIGF1Y2ggbm9jaCBlaW4gemVpdGxpY2hlciByYWhtZW4gZGF6dSBrb21tZW4gc29sbHRlCgpncnVzcwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogbWFnMnRpZXMgKFRhcmluYSwgIDQuIE1hciAxOTk5LCAxMzo1MDoxMik6Cn4jISBybj1KYXNwZXIgcnQ9OTIwNTI1OTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CgpNYWwgYWJnZXNlaGVuIGRhdm9uLCBkYXNzIGljaCBLZXlzIE1laW51bmcgbmljaHQgdGVpbGVuIGthbm4gdW5kIGJlaSBuZXIKU3RpY2h3YWhsIFJpbmdvciBmb3IgUHJlc2lkZW50IHNjaHJlaWVuIHd1ZXJkZToKCkVzIGlzdCBuaWNodCBva2F5LCBpaG0genUgdW50ZXJzdGVsbGVuLCBlciBoYWJlIHNlaW5lbiBNYWdpZXIgenVtIFNjaHVtbWVsbgpob2NoZ2V6b2dlbi4KClNlbGJzdCB3ZW5uIGVzIHNvIGdld2VzZW4gd2FlcmUsIHdhZXJlIEtleSB3b2hsIGRlciBlaW56aWdlLCBkZW0gZGFzIFJlY2h0Cnp1c3RhZW5kZSwgc293YXMgenUgYmVoYXVwdGVuLgoKVGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogbWFnMnRpZXMgKEphc3BlciwgIDQuIE1hciAxOTk5LCAxODowNToyOSk6Cn4jISBybj1UYXJpbmEgcnQ9OTIwNTU1NDEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CldhcnVtIHNvbGx0ZSBzaWNoIGVpbiBzZWhlciBzb25zdCBuZW4gbWFnaWVyIG1hY2hlbj8KZW50d2VkZXIgbWFuIHNwaWVsdCBvZGVyIG1hbiBwcm9ncmFtbWllcnQsIHNlbGJzdCBhbmdyaW0gaGF0IHNpY2gKbmVuIG1hZ2llciBudXIgenVtIHBmdXNjaGVuIGhvY2hnZXpvZ2VuLCBhdWNoIHdlbm4gZXIgbm9jaCBpbW1lciAKZGFzIGdlZ2VudGVpbCBiZWhhdXB0ZXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBtYWcydGllcyAoRGVlcGJsdWUsICA0LiBNYXIgMTk5OSwgMTg6NTE6MTIpOgp+IyEgcm49TWluZGJsYWRlIHJ0PTkyMDUxNjQwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQp1bmQgd2FzIHNwcmljaHQgZGFnZWdlbiwgZGVuIExldmVsLTcwLVNlaGVyIHp1bSBad2VpdGllIHp1IG1hY2hlbiB1bmQgZGVuCkJpc2hlcmlnZW4gMnRpZSwgZGVyIGdld2l6ZWQgd3VyZGUsIHp1bSBlcnN0aWU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogbWFnMnRpZXMgKERlZXBibHVlLCAgNC4gTWFyIDE5OTksIDE4OjU0OjU4KToKfiMhIHJuPU11YWRpYiBydD05MjA1NDcyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKRGFzIGhhYiBpY2ggamEgYXVjaCBuaWNodCBnZWZvcmRlcnQuIE51ciBpcmdlbmR3YW5uIHNvbGx0ZSBtYWwgd2FzIGtvbW1lbiBvZGVyCnp1bWluZGVzdCBzaWNodGJhciBzZWluLCBkYXMgZGVyamVuaWdlIHdlbGNoZSB3YXMgbWFjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogbWFnMnRpZXMgKE1pbmRibGFkZSwgIDQuIE1hciAxOTk5LCAyMDo1ODoyMCk6Cn4jISBybj1EZWVwYmx1ZSBydD05MjA1NzM0NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKV28gaXN0IGRlciBVbnRlcnNjaGllZD8gRGFzIGlzdCBkb2NoIG51ciBLb3NtZXRpayB1bmQga2FubiBkYW5uIGphd29obCBhdWNoCmVnYWwgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBtYWcydGllcyAoVGFyaW5hLCAgNC4gTWFyIDE5OTksIDIwOjU4OjI4KToKfiMhIHJuPUphc3BlciBydD05MjA1NzA3Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKCldhcnVtIHdpcmQgamVtYW5kLCBkZXIgc28gbmUgZWluZ2VzY2hyYWVua3RlIEZhbnRhc2llIGhhdCwgTWFnaWVyPwoKZnJhZ3Qgc2ljaApUYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBtYWcydGllcyAoUmluZ29yLCAgNC4gTWFyIDE5OTksIDIxOjIwOjI4KToKfiMhIHJuPURlZXBibHVlIHJ0PTkyMDU3MzQ3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpHZWdlbmZyYWdlOiB3YXMgZnVlciBWb3J0ZWlsZSBoYXQgZXMsIGRlbiBNYWdpZXIgYXVmIFRldWZlbCBrb21tIHJhdXMgenVtCkVyc3RpZSB6dSBkZWtsYXJpZXJlbj8gQXVzc2VyLCBkYXNzIGVpbmUgUmVnZWwgYmVhY2h0ZXQgd2lyZD8KClNvIHdpZSBlcyBiaXNoZXIgZ2Vsb2VzdCBpc3QsIHZlcnN0b3NzZSBpY2ggZ2VnZW4gUmVnZWxuLCB3ZW5uIGljaCBkZW4gTWFnaWVyCipzaWNodGJhciBtaXQgTmFtZW4qIGFscyBad2VpdGllIG1hcmtpZXJlLiBad2FyIHNpZWh0IHNvIGplZGVyIFNwaWVsZXIgZHVyY2gKZWluIGVpbmZhY2hlcyAiZmluZ2VyIiwgenUgd2VtIGRlciBNYWdpZXIgZ2Vob2VydCwgdW5kIHNvIGtvZW5uZW4gdmllbGUgTGV1dGUKbWl0IGRlbSB1bmJla2FubnRlbiBNYWdpZXJuYW1lbiBlaW5lbiB2aWVsbGVpY2h0IGJla2FubnRlcmVuIFNwaWVsZXJuYW1lbgp2ZXJiaW5kZW4sIGFiZXIgZXMgaXN0IG5pY2h0IGVyd3VlbnNjaHQuCgpXZW5uIGljaCBkYWdlZ2VuIGRlbiBNYWdpZXIgYWxzIEVyc3RpZSBkZWtsYXJpZXJlLCB1bmQgZGVuIFNwaWVsZXIKKnVuc2ljaHRiYXIqIGFscyBad2VpdHNwaWVsZXIgbWFya2llcmUsIGRhbm4gaXN0IGFsbGVzIG9rYXkuIFp3YXIgc2llaHQga2VpbmVyCm1laHIsIHdlciBkYSB6dXNhbW1lbmdlaG9lcnQsIGplZGVyIHNpZWh0IG51ciBkZW4gSnVuZ21hZ2llciBtaXQgendlaQpPbmxpbmV0YWdlbiBBbHRlciB1bmQgZGVtIHVuYmVrYW5udGVuIE5hbWVuLCBhYmVyIHNvIGlzdCBlcyBhbnNjaGVpbmVuZApnZXdvbGx0LgoKQWxzIFZvcnNjaGxhZyBrYW0gamEgc2Nob24sIGFsbGUgTWFnaWVyeHRpZXMgendhbmdzd2Vpc2Ugc2ljaHRiYXIgYWxzIHNvbGNoZQp6dSBicmFuZG1hcmtlbi4gSGF1cHRhcmd1bWVudCB3YXIgZ2xhdWJlIGljaCwgZGFzcyBkaWUgU3BpZWxlciBzZWhlbiBrb2VubmVuLAp3ZW4gc2llIG5pY2h0IG5hY2ggUXVlc3RzIGV0YyBmcmFnZW4gZHVlcmZlbi4KCkRhcyBob2VydCBzaWNoIGZ1ZXIgbWljaCBpcmdlbmR3aWUgbmFjaCBlaW5lbSAiLi4uIHVuZCBmdWVocmUgc2llIG5pY2h0IGluClZlcnN1Y2h1bmcgYW4iLiBXZXIgYWxzIE1hZ2llciBkaWUgUmVnZWxuIGJlYWNodGVuIHdpbGwsIGRlciB3aXJkIGRhcyBhdWNoCm5hY2ggZWluZW0gdGVpbGUtbWl0IG5vY2ggdHVuLiBVbmQgYW5kZXJzcnVtOiB3ZXIgUmVnZWxuIGJyZWNoZW4gd2lsbCwgZGVuCmhhZWx0IHNvd2FzIG5pY2h0IGFiLiAKCkt1cnogZ2VzYWd0OiBtaXIgZmVobGVuIGJpc2hlciBub2NoIG5hY2h2b2xsemllaGJhcmUgR3J1ZW5kZSBmdWVyIGRpZSBFeGlzdGVuegpkaWVzZXIgUmVnZWwuIEdlc2Nod2VpZ2UgZGVubiBmdWVyIGRpZSBGb3JkZXJ1bmcgbmFjaCBlaW5lciBWZXJzY2hhZXJmdW5nLiAKCkFiZXIgdmllbGxlaWNodCB1ZWJlcnNlaGUgaWNoIGphIG51ciBldHdhcyB1bmQgaWhyIGtvZW5udCBtaWNoIGF1ZmtsYWVyZW4uIDstKQoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogbWFnMnRpZXMgKFBob2JvcywgIDQuIE1hciAxOTk5LCAyMjowOToxNCk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNTgyNDI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkljaCBzZWggbm9jaCBuaWNodCBnYW56IGRlbiBTaW5uIGVpbmVzIE1hZ2llci1aV0VJVElFUywgYnp3LiB3YXMgCmRhZ2VnZW4gc3ByaWNodCwgaWhuIHp1bSBFcnN0aWUgenUgbWFjaGVuLgoKV2FzIGthbm4gZGVuIHNvIGVpbiBNYWdpZXIsIHdhcyBtYW4gbmljaHQgYXVjaCBhbHMgU3BpZWxlciBtYWNoZW4Ka2Fubj8KCiAgKiAgTFBDIGxlcm5lbiAgLSAgbWFjaHQgbWFuIHdvaGwga2F1bSBuZWJlbmJlaSwgYXVzc2VyZGVtIGdpYnRzCiAgICAgZGEgaW4gYW5kZXJlbiBNdWRzIHNpY2hlciBERVVUTElDSCBsZWljaHRlcmUgQW5mb3JkZXJ1bmdlbi4KICAgICBBdXNzZXJkZW0gbGVybnQgbWFuIGRhcyB2b3IgYWxsZW0gZGFkdXJjaCwgZGFzcyBtYW4gc2ljaCBkZW4KICAgICBDb2RlIGFuZGVyZXIgTWFnaWVyIGFuc2NoYXV0IC0gdW5kIHp3YXIgZGllIGludGVyZXNzYW50ZW4KICAgICBTYWNoZW4KCiAgKiAgc2ljaCBlaW5mYWNoZXIgSW5mb3JtYXRpb25lbiBhbmVpZ25lbiBhbHMgZWluIFNlaGVyICAtICB3aXJkCiAgICAgbmF0dWVybGljaCBoZWZ0aWcgYWJnZXN0cml0dGVuLCBhYmVyIGljaCBnbGF1YmUgbmllbWFuZGVtCiAgICAgKG1pY2ggZWluZ2VzY2hsb3NzZW4pLCBkZXIgYmVoYXVwdGV0LCBzaWNoIGFscyBNYWdpZXIgbmljaHQKICAgICBkYXMgZWluZSBvZGVyIGFuZGVyZSBHZWJpZXQgYnp3LiBPYmpla3QgbWFsIGdlbmF1ZXIgYW5nZXNjaGF1dAogICAgIHp1IGhhYmVuLCB6LkIuIHdlaWwgbWFuIGFscyBNYWdpZXIgYXVjaCBtYWwgZ2VmYWhybG9zIGluIGRpZQogICAgIEZldWVyZWJlbmUgZGVyIFNTUCByZWluc2NobnVwcGVybiBrYW5uIG9kZXIgd2FzYXVjaGltbWVyLgoKSWNoIGZhZW5kZSBlcyBkYWhlciBkZW4gTWl0c3BpZWxlcm4gZ2VnZW51ZWJlciBmYWlyLCB6dW1pbmRlc3QKb2VmZmVudGxpY2ggKGR1cmNoIE1hcmtpZXJ1bmcpIHp1enVnZWJlbiwgZGFzcyBtYW4gZGllIE1vZWdsaWNoa2VpdApoYXQsIGRpZXNlIFZvcnRlaWxlIHp1IG51dHplbiAtIGVnYWwgb2IgamV0enQgZGVyIFNwaWVsZXIgb2RlciBkZXIKTWFnaWVyIEVyc3RpZSBpc3QuIFdhcnVtIHNvbGx0ZSBqZW1hbmQgZGFzIHVuYmVkaW5ndCB2ZXJiZXJnZW4gd29sbGVuLgpNYW4gaGF0IGFscyBNYWdpZXIgc28gdmllbGUgVm9ydGVpbGUsIGRhIHNvbGx0ZSBkYXMgbmljaHQgd2VpdGVyCnNjaG1lcnplbiwgYW5kZXJuZmFsbHMgZHJhZW5ndCBzaWNoIG1pciBkZXIgVmVyZGFjaHQgYXVmLCBkYXNzIGplbWFuZAphdXMgZ3V0ZW0gR3J1bmQgZXR3YXMgenUgdmVyYmVyZ2VuIGhhdC4KCiAgUGhvYm9zICAtICB3dXJkZSBiZWkgc2VpbmVyIE1hZ2llcndlcmR1bmcgYXV0b21hdGlzY2ggRXJzdGllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogbWFnMnRpZXMgKFJpbmdvciwgIDQuIE1hciAxOTk5LCAyMjoyODo1Nik6Cn4jISBybj1QaG9ib3MgcnQ9OTIwNTg1MzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkVocmxpY2ggZ2VzYWd0IGhhdCBtaXIgRGVpbiBBcnRpa2VsIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lbSAqR3J1bmQqIGRhZnVlciwKZGFzcyBkZXIgTWFnaWVyIGRlciBFcnN0aWUgc2VpbiBtdXNzLCBuaWNodCBzb25kZXJsaWNoIGdlaG9sZmVuLgoKV2VyIExQQyBrYW5uLCBtdXNzIGdla2VubnplaWNobmV0IHdlcmRlbj8gRGVuIFB1bmt0IHZlcnN0ZWggaWNoIHVlYmVyaGF1cHQKbmljaHQuIE11c3MgaWNoIG1pY2ggamV0enQgaW4gYWxsZW4gYW5kZXJlbiBNdWRzIG91dGVuPyBIYWIgaWNoIFZvcnRlaWxlCmdlZ2VudWViZXIgIm5vcm1hbGVuIiBTcGllbGVybj8KCkRlciB6d2VpdGUgUHVua3Qga29tbXQgc2Nob24gZWhlciBpbiBkaWUgTmFlaGUgZWluZXIgQmVncnVlbmR1bmcuCk1hZ2llcnp3ZWl0aWVzIGtvZW5udGVuIHNjaHVtbWVsbiwgd2VubiBzaWUgd29sbHRlbi4gTnVyIHNjaGFkZSwgZGFzcyBlaW5lClp3ZWl0aWVtYXJraWVydW5nIGEpIG5peCBkYXJhbiBhZW5kZXJ0LCBiKSBlcyBmdWVyIGFuZGVyZSBuaWNodCB2b24gZWluZW0Kbm9ybWFsZW4gU3BpZWxlci1YdGllIHp1IHVudGVyc2NoZWlkZW4gaXN0IHVuZCBjKSBzb2dhciB1bnNpY2h0YmFyIHNlaW4ga2Fubi4KVGF1Z3QgYWxzbyBpbiBkZXIgRm9ybSBuaWNodCBzb25kZXJsaWNoIGFscyAiVm9yc2ljaHQgLSBrb2VubnRlCnNjaHVtbWVsbiEiLU1hcmtpZXJ1bmcuCgpXZW5uIG1hbiBuYXR1ZXJsaWNoIGRpZSBnZXRyZW5udGUgc2ljaHRiYXJlICJWb3JzaWNodCwKTWFnaWVyLVh0aWUhIi1NYXJraWVydW5nIGVpbmZ1ZWhyZW4gd3VlcmRlLCBqYSBkYW5uIGtvZW5udGUgbWFuIHdpcmtsaWNoCm5pY2h0cyBtZWhyICJ2ZXJiZXJnZW4iLiBXYXMgdmVyYmVyZ2UgaWNoIGVpZ2VudGxpY2ggbWl0IGVpbmVyIG9mZmVuCnNpY2h0YmFyZW4gbmFtZW50bGljaGVuIE1hcmtpZXJ1bmcgZGVzIE1hZ2llcnM/IAoKSmEsIGljaCBoYWJlIGJpc2hlciBub2NoIGtlaW5lIGVjaHRlbiBBcmd1bWVudGUgKmZ1ZXIqIGRpZSBNYXJraWVydW5nIGRlcwpNYWdpZXJzIGFscyBad2VpdHNwaWVsZXIgZ2VuYW5udC4gSWNoIHdpbGwgYXVjaCB1bSBHb3R0ZXMgV2lsbGVuIGtlaW5lIFVta2VocgpkZXIgamV0emlnZW4gUmVnZWx1bmcgaGFiZW4uIEljaCBtb2VjaHRlIGVpZ2VudGxpY2ggbnVyIHp1IGRlbSBTY2hsdXNzIGtvbW1lbiwKZGFzcyBlcyBlaWdlbnRsaWNoIHZvbGxrb21tZW4gV3Vyc2NodCBpc3QsIHdlbGNoZXIgdm9uIGJlaWRlbiBkZXIgbWFya2llcnRlClp3ZWl0c3BpZWxlciBpc3QsIGRhIGtlaW5lIGJlaWRlciBWYXJpYW50ZW4gd2lya2xpY2hlIFZvci0gb2RlciBOYWNodGVpbGUgaGF0LgpVbmQgKmRhbm4qIGtvZW5udGUgbWFuIGRpZSBXYWhsIGRlbSBlaW56ZWxuZW4gTWFnaWVyIHVlYmVybGFzc2VuLgoKUmluZ29yLiBXYXJ0ZXQgbm9jaCBhdWYgZWNodGUgR3J1ZW5kZS4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogbWFnMnRpZXMgKFRpbGx5LCAgNC4gTWFyIDE5OTksIDIyOjM1OjQxKToKfiMhIHJuPVJpbmdvciBydD05MjA1ODY1MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKTW9pbiwKaWNoIGJpbiBzdHJpa3QgZ2VnZW4gZWluZSBad2FuZ3NtYXJraWVydW5nIHZvbiBNYWdpZXItWndlaXRpcy4gQXVzIGVpbmlnZW4KZWluZmFjaGVuIEdydWVuZGVuLgpXZW5uIGljaCBTUElFTEUgZGFubiBpc3QgbWVpbiBad2VpdGkgZWluIGVpZ2Vuc3RhZW5kaWdlciBDaGFyYWt0ZXIsIGRlcgptaXQgZGVtIE1hZ2llciBhYnNvbHV0IG5pY2h0cyBhbSBIdXQgaGF0LiBEYXMgaGllciBpc3QgZWluIFJvbGxlbnNwaWVsLAp3ZW5uIGVzIGF1Y2ggb2Z0IHZlaGVtZW50IGJlc3RyaXR0ZW4gd2lyZC4gVW5kIG1laW4gWndlaXRpIGhhdCBrZWluZSBMdXN0LApiZWltIEZvcnNjaGVuLCBNZXR6ZWxuIG9kZXIgUXVlc3RlbiB2b24gYW5kZXJlbiBNYWdpZXJuIHVuZC9vZGVyIFNwaWVsZXJuCnZvbGxnZXF1YXRzY2h0IHp1IHdlcmRlbiwgZGllIGVpZ2VudGxpY2ggd2FzIHZvbSBFcnN0Y2hhcmFrdGVyIHdvbGxlbi4KR2VuYXVzbyBpc3QgZGVyIE1hZ2llciBlaW4gZWlnZW5zdGFlbmRpZ2VyIENoYXJha3RlciwgZGVyIG1pdCBkZW0gWndlaXRpCk5JQ0hUUyB6dSB0dW4gaGF0LCB6dW1pbmRlc3Qgd2FzIGRhcyBTcGllbGdlc2NoZWhlbiBhbmdlaHQuIFVuZCBkYXMgZXJrbGFlcnQKc2ljaCBuaWNodCBudXIgYXVzIGRlbiBSZWdlbG4gaW0gTWFnaWVydmVydHJhZyBzb25kZXJuIGlzdCBlaW4gUmVjaHQsIGRhc3MKamVkZXIgaGllciBpbiBBbnNwcnVjaCBuZWhtZW4ga2Fubi4KRGFzIHdhciBqZXR6dCBuaWNodCAxMDAlLWlnIHp1bSBlaWdlbnRsaWNoZW4gVGhlbWEsIGFiZXIgd2FubiBpc3QgZGFzIGluCmRlciBNcGEgc2Nob24gZGVyIEZhbGwgOi0pCgogICAgICAgIC0gVGlsbHkgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IG1hZzJ0aWVzIChUaWxseSwgIDQuIE1hciAxOTk5LCAyMjozODo0MSk6Cn4jISBybj1UaWxseSBydD05MjA1ODY5NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKR3J1bXBmLCBlcyBtdXNzIG5hdHVlcmxpY2hlICdzaWNodGJhcmUnIFp3YW5nc21hcmtpZXJ1bmcgaGVpc3Nlbi4gRGFzcyBzaWUKbWFya2llcnQgd2VyZGVuIG11ZXNzZW4sIHZlcnN0ZWh0IHNpY2ggd29obC4KIFRpbGx5IChzZXVmemVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBtYWcydGllcyAoTWluZGJsYWRlLCAgNS4gTWFyIDE5OTksIDAxOjI4OjMzKToKfiMhIHJuPVRpbGx5IHJ0PTkyMDU4Njk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpUaWxseSwgRHUgc3ByaWNoc3QgbWlyIGF1cyBkZXIgU2VlbGUuIEljaCBkZW5rZSBlcyByZWljaHQsIHdlbm4gamVkZXIgTWFnaWVyCmRpZSAydGllLU1hcmtpZXJ1bmcgc2VoZW4ga2Fubi4gQXVjaCB3ZW5uIGhpZXIgYW5zY2hlaW5lbmQgZWluaWdlIGRlciBNZWludW5nCnNpbmQsIGRhc3MgZGFzIE11ZCBrZWluIFJvbGxlbnNwaWVsIGlzdCwgZnVlciBtaWNoIGlzdCBlcyBnZW5hdSBkYXMuCkljaCBrYW5uIGR1cmNoYXVzIG5hY2h2b2xsemllaGVuLCBkYXNzIHNpY2ggZWluaWdlIE1hZ2llciBlaW5mYWNoIG1hbCB1bQphYnp1c2NoYWx0ZW4vYWJyZWFnaWVyZW4gaWhyZW4gMnRpZSBlaW5sb2dnZW4sIHZvbiBkZW0ga2VpbmVyIHdlaXNzLCB3ZXIKZGFoaW50ZXIgc3RlY2t0IHVuZCBlaW5mYWNoIG51ciBnYW56IFNwaWVsZXIgaXN0LiBXZWxjaGVuIHNpbm5pZ2VuIEdydW5kIGdpYnQKZXMgZGVubiBNYWdpZXIvU3BpZWxlciBkZXMgTWFnaWVycyBfc2ljaHRiYXJfIHp1IG1hcmtpZXJlbj8gRGFtaXQgbWFuIG1pdCBkZW0KRmluZ2VyIGF1ZiBzaWUgemVpZ2VuIHVuZCBzYWdlbiBrYW5uLCBkZXIga2FubiBkYXMgYmVzc2VyIHdlaWwgZXIgbmFjaGdlc2NoYXV0CmhhdD8gV2FydW0gd3VyZGUgZGVubiBiZWkgZGVyIDJ0aWVtYXJraWVydW5nIGVpbiAidW5zaWNodGJhciIgZWluZ2VmdWVocnQ/CkdlcmFkZSB3ZWlsIG1hbiBtaXQgZWluZW0gYW5kZXJlbiBDaGFyYWt0ZXIgYXVjaCBhbmRlcnMgc3BpZWxlbiBrYW5uIHVuZCBkYXZvbgpzb2xsZW4gTWFnaWVyIGpldHp0IGF1c2dlbm9tbWVuIHdlcmRlbj8gRmluZCBpY2ggcmVpY2hsaWNoIHNjaHdhY2hzaW5uaWcuIERhc3MKZXMgIk1hZ2llcm1pc3NicmF1Y2giIGdpYnQgbWFnIGphIHNlaW4sIGFiZXIgZW50Z2VnZW53aXJrZW4gdHV0IG1hbiBiZXN0aW1tdApuaWNodCBkdXJjaCBuZSBvZWZmZW50bGljaGUgTWFya2llcnVuZy4KU29ycnksIHNpbmQgbmVuIHBhYXIgVHlwb3MgZHJpbiwga29ycmlnaWVydCBzaWUgaW0gS29wZiE7KQpNaW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IG1hZzJ0aWVzIChQYWRyZWljLCAgNS4gTWFyIDE5OTksIDAxOjQzOjM3KToKfiMhIHJuPVJpbmdvciBydD05MjA1ODY1MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKCiAgICAgICBFaW5lbiBNYWdpZXIgX2hhdF8gbWFuIG5pY2h0LCBzb25kZXJuIG1hbiBfaXN0XyBNYWdpZXIhCgpBYiBkZW0gQXVnZW5ibGljayB3byBtYW4gZGVuIE1hZ2llcnZlcnRyYWcgdW50ZXJzY2hyZWlidCBnZWhvZXJ0IG1hbiBuaWNodAptZWhyIGRlciBHcnVwcGUgZGVyIFNwaWVsZXIgYW4sIHNvbmRlcm4gbWFuIGlzdCBudW4gTWFnaWVyLgpPYiBkZXIgQ2hhcmFrdGVyIG1pdCBkZW0gbWFuIG51biBNYWdpZXIgZ2V3b3JkZW4gaXN0IHZvcmhlciBhbHMgRXJzdHNwaWVsZXIKbWFya2llcnQgd2FyIG9kZXIgb2IgZGllcyBudW4gZWluIG5ldWVyIENoYXJha3RlciBpc3QsIGRlbiBtYW4gaG9jaGdlc3BpZWx0CmhhdCwgaXN0IGRhYmVpIHdpcmtsaWNoIGVyc3RtYWwgdm9lbGxpZyBlZ2FsLiBJY2gga2FubiBkdXJjaGF1cyB2ZXJzdGVobiB3ZW5uCmplbWFuZCBzZWluZW4gYWx0ZW4gU3BpZWxlciBnZXJuZSBiZWhhbHRlbiBtb2VjaHRlLCB1bSBhYiB1bmQgYW4gbm9jaG1hbCBlaW4Kd2VuaWcgbWl0IGFsdGVuIEZyZXVuZGVuIHp1IHNwaWVsZW4uIEFiZXIgZGllIFByaW9yaXRhZXRlbiBTZXR6dW5nIHNvbGx0ZQphdWNoIGdhbnoga2xhciBzbyBzZWluOiBNYW4gaXN0IE1hZ2llciB1bmQgYmVoYWVsdCBzZWluZW4gU3BpZWxlciB1bQpnZWxlZ2VudGxpY2ggbm9jaG1hbCBlaW4gd2VuaWcgenUgc3BpZWxlbiB1bmQgZWdhbCB3YXMgZGVyIENoYXJha3RlciBkZXIgenVtCk1hZ2llciBnZXdvcmRlbiBpc3Qgdm9yaGVyIHdhciBlciBpc3QgZGVyIG5ldWUgRXJzdHNwaWVsZXIgdW5kIHNvbGx0ZSBhdWNoCnNvIGdlc3BpZWx0IHdlcmRlbi4gV2VyIG5pY2h0bWFsIGJlcmVpdCBpc3QsIGRpZSBlbnRzcHJlY2hlbmRlbiBGbGFncyB6dQpzZXR6ZW4sIGRlbSBuZWhtIGljaCBlaW5mYWNoIG5pY2h0IGFiLCBkYXMgZXIgZGFzIHdpcmtsaWNoIGJlZ3JpZmZlbiBoYXQhCkljaCBwZXJzb2VubGljaCBtYWNoZSBqZWRlbSBkZW4gaWNoIHdpenplIGRpZSBCZWRpbnVuZyBkYXMgZXIgX3NhZW10bGljaGVfClp3ZWl0aWVzIG1pbmQuIGVpbmVuIE1vbmF0IGxhbmcgU3BpZWxwYXVzdC4gR2VyYWRlIGFtIEFuZmFuZyB3ZW5uIG1hbiBuZXUKTWFnaWVyIGdld29yZGVuIGlzdCwgZ2lidCBlcyB2aWVsZXMgbmV1ZXMgbWFuIG1hbiBsZXJuZW4gdW5kIHR1biBrYW5uLiBXZW4KYmVyZWl0cyBpbiBkZW4gZXJzdGVuIDMwIFRhZ2VuIGRpZSBNb3RpdmF0aW9uIHZlcmxhZXNzdCB1bmQgbGllYmVyIHNwaWVsdCwKZGVyIHNvbGx0ZSBzaWNoIHdpcmtsaWNoIHVlYmVybGVnZW4gb2IgZXIgbmljaHQgZG9jaCBsaWViZXIgU3BpZWxlciBibGVpYnQsCk1hZ2llciBpc3QgZXIgZGFubiBuYWVtbGljaCBub2NoIG5pZSBnZXdlc2VuLiBEaWVzZXIgQ2hhcmFrdGVyIGlzdCBkYW5uCmdlbmF1IGVpbiBNYWdpZXJ6d2VpdGllIHVuZCBad2VpdGllIHdpZSBqZWRlciBIZWlsa2xlcmlrZXIgYXVjaC4gV2VubiBLZXkKc2ljaCBkYXMgZWluZ2VzdGFuZGVuIGhhdCwgaGFsdGUgaWNoIGRhcyBmdWVyIHNlaHIgbG9iZW5zd2VydCB1bmQgZWluZW4KU2Nocml0dCBpbiBkaWUgcmljaHRpZ2UgUmljaHR1bmcuCkljaCB3aWxsIG5pY2h0IGRhbWl0IHNhZ2VuLCBkYXNzIG1hbiBkdXJjaCBkYXMgbG9lc2NoZW4gZGVzIFp3ZWl0aWZsYWdzCmF1dG9tYXRpc2NoIGVpbiBndXRlciBNYWdpZXIgd2lyZCAoZGVubiBFcnN0c3BpZWxlciBpc3QgbWFuIGluIGVyc3RlciBMaW5pZQppbSBLb3BmIHVuZCBuaWNodCBkdXJjaCBpcmdlbmRlaW4gRmxhZyksIGFiZXIgZXMgemVpZ3QgenVtaW5kZXN0IG9mZmVuIHVuZAplaW5kZXV0aWcgd28gbWFuIHN0ZWh0LgoKUGFkcmVpYwoKUC5TLjogU3BlemllbGwgenUgUmluZ29yOiBVbXNvIG1laHIgQXJ0aWtlbCBEdSBtaXQgRGVpbmVtIFp3ZWl0c3BpZWxlcgpzY2hyZWlic3QgdW1zbyB1bmdsYXVid3VlcmRpZ2VyIHdpcmQgZnVlciBtaWNoLCBkYXNzIER1IHRhdHNhZWNobGljaCBnZXdpbGx0CmJpc3QgTWFnaWVyIHp1IHdlcmRlbi4gRGVubiBkYXMgaGVpc3N0IG5pY2h0IG51ciB6dSBwcm9ncmFtbWllcmVuLCBzb25kZXJuCmF1Y2ggc2VpbiBTcGllbGVyIGRhc2VpbiBhbHMgc29sY2hlciBhdWZ6dWdlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IG1hZzJ0aWVzIChOb3Zhc3Rvcm0sICA1LiBNYXIgMTk5OSwgMTE6MDg6NDUpOgp+IyEgcm49TWluZGJsYWRlIHJ0PTkyMDU5NzMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpTb3JyeSwgYWJhIHdlbm4gbWFuIGFscyBNYWdpZXIgc29sY2hlICdWb3J0ZWlsZScgaGF0LCB3aWUgZGFzIGxlc2VuIGRlcwpFcnN0aWVzLCBkYXMgZ2VmYWhybG9zZSBOYWNoc2NoYXVlbiBpbiBHZWJpZXRlbiwgd28gbWFuIHNvbnN0IG51ciBpbiBUZWFtcwpyZWlubGF1ZmVuIHNvbGx0ZSB1bmQgbm9jaCBhbmRlcmUgd2VuaWdlciBvZmZlbnNpY2h0bGljaGUsIHNpbmQgZGFzIGdlbmF1IGRpZQpHcnVlbmRlLCB3YXJ1bSBlaW5pZ2UgdW5iZWRpbmd0IGVpbmVuIFp3ZWl0aWVtYWdpZXIgaGFiZW4gd29sbGVuLi4uIHVuZApkZXJ6ZWl0IGF1Y2ggYmVrb21tZW4uClVuZCB3ZW5uIGlyZ2VuZHdhbm4gamVkZXIgc2VpbmVuIFp3ZWl0bWFnaWVyIGhhdCwgaXN0IGRpZXNlIHVuc2ljaHRiYXJlClp3ZWl0aWVtYXJraWVydW5nIGxldHp0ZW4gRW5kZXMgYXVjaCBzaW5ubG9zIGdld29yZGVuLgpJY2ggaGFiIG5pY2h0cyBkYWdlZ2VuLCB3ZW5uIHBoYW50YXNpZXZvbGxlIChvZGVyIGF1Y2ggdGVjaG5pc2NoIGJlZ2FidGUpCk11ZGRlciBlaW5lbiBNYWdpZXIgaGFiZW4gdW0gZGFtaXQgZGFzIE1HIHp1IHZlcmJlc3Nlcm4uCk51ciBkYXMgamVkZXIgJ0hhbnN3dXJzdCcgZWluZW4gaG9jaHppZWh0Li4uIHdlaWwgZXMgZ2VyYWRlIGluIGlzdCBvZGVyIGF1cwpiZXJlaXRzIGVyd2FlaG50ZW4gR3J1ZW5kZW4sIGZpbmRlIGljaCB6aWVtbGljaCBkYW5lYmVuLgpVbmQgZ2VuYXUgaW4gZGllc2UgUmljaHR1bmcgZ2VodCBlcyBkZXJ6ZWl0LgogICAgICAgTm92YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IG1hZzJ0aWVzIChSaW5nb3IsICA1LiBNYXIgMTk5OSwgMTE6MTc6NTYpOgp+IyEgcm49UGFkcmVpYyBydD05MjA1OTgyMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKR2VuYXUgZGllc2UgRWluc3RlbGx1bmcgYmVpIGVpbmVtIE1hZ2llciBtYWNodCBtaXIgQW5nc3QsIFBhZHJlaWMuIEVpbiBNYWdpZXIsCmRlciBzZWluIFNwaWVsZXJkYXNlaW4ga29tcGxldHQgYXVmZ2VnZWJlbiBoYXQsIGRlciB3aWUgRHUgc28gc2Nob2VuCmZvcm11bGllcnRlc3QgaW0gS29wZiBnYW56IE1hZ2llciBpc3QsIGRlciBoYXQgZGVuIEJlenVnIHp1ciBXZWx0IGRlciBTcGllbGVyCnZlcmxvcmVuLgoKRXMgcmVpY2h0IGVpbmZhY2ggbmljaHQsIGFiIHVuZCBhbiBtYWwgZGVuIGFsdGVuIGFuZ2VzdGF1YnRlbiBTcGllbGVyY2hhcmFrdGVyCndpZWRlciBlaW56dWxvZ2dlbiwgdW0gYWx0ZW4gRnJldW5kZW4gbWFsIEhhbGxvIHp1IHNhZ2VuLiBXaWUgRHUgc2VsYnN0IHNjaG9uCnNhZ3Rlc3QsIGdlaG9lcnQgenVtIE1hZ2llcmRhc2VpbiBldHdhcyBtZWhyLCBhbHMgbnVyIHp1IHByb2dyYW1taWVyZW4uIFVuZApkaWVzZXMgZXR3YXMgaGF0IGZ1ZXIgbWljaCBldHdhcyBtaXQgTmFlaGUgenVtIHVuZCBWZXJzdGFlbmRuaXMgdm9tIFNwaWVsIHVuZApkZW4gU3BpZWxlcm4genUgdHVuLiBEZW5uIHdlbm4gaWNoIG1laW5lIFplaXQgYWxzIE1hZ2llciBkYWZ1ZXIgaW52ZXN0aWVyZSwgYW4KZGVuIFd1ZW5zY2hlbiB1bmQgQmVkdWVyZm5pc3NlbiBkZXIgU3BpZWxlciB2b3JiZWl6dXByb2dyYW1taWVyZW4sIGRhbm4ga2FubgppY2ggZXMgZWlnZW50bGljaCBhdWNoIHNlaW4gbGFzc2VuIGJ6dy4gZnVlciBtaWNoIGFsbGVpbmUgenUgSGF1c2UKcHJvZ3JhbW1pZXJlbi4KCkRhc3MgRHUgYW5zY2hlaW5lbmQgbmljaHQgdHJlbm5lbiBrYW5uc3Qgendpc2NoZW4gdW50ZXJzY2hpZWRsaWNoZW4KQ2hhcmFrdGVyZW4gaW0gTXVkLCBzb25kZXJuIGdsZWljaCBkZXIgUkwtUGVyc29uIGRhaGludGVyIGRlbiBncm9zc2VuCiJNYWdpZXIhIi1TdGVtcGVsIGF1ZiBkaWUgU3Rpcm4gZHJ1ZWNrc3QsIGhhdCBEZWluIEFydGlrZWwgcmVjaHQgZGV1dGxpY2gKZ2V6ZWlndC4gQWJlciBtdXNzIGRhcyBkZXNoYWxiIGF1Y2ggZ2xlaWNoIGJlaSBhbGxlbiBhbmRlcmVuIExldXRlbiBzbyBzZWluPwoKRGVuIFZvcnd1cmYsIGVzIG1pdCBkZW0gTWFnaWVyIG5pY2h0IGVybnN0IHp1IG1laW5lbiwgd2VpbCBkZXIgTWFnaWVyIGFscwpad2VpdGllIGdla2VubnplaWNobmV0IGlzdCwgaG9lciBpY2ggamV0enQgc2Nob24genVtIHp3ZWl0ZW4gTWFsLiBWZXJzdGFuZGVuCmhhYiBpY2ggaWhuIGFiZXIgbm9jaCBpbW1lciBuaWNodC4gTWFnIHZpZWxsZWljaHQgZHJhbiBsaWVnZW4sIGRhc3MgaWNoIG51cgpkdW1tZXIgWndlcmcgYmluLiBBYmVyIHZpZWxsZWljaHQgYXVjaCBkYSBkcmFuLCBkYXNzIGljaCBlaW5lbiBNYWdpZXIgbmljaHQKYXV0b21hdGlzY2ggZnVlciBldHdhcyAiYmVzc2VyZXMiIGhhbHRlIGFscyBlaW5lbiBTcGllbGVyLiBNYWdpZXIgenUgc2VpbiBpc3QKd2VkZXIgZWluZSBCZXJ1ZnVuZyBmdWVyIG1pY2gsIG5vY2ggZWluIEdlc2NoZW5rIEdvdHRlcy4gRnVlciBtaWNoIGlzdCBkYXMKdmllbG1laHIgZWluZSBNb2VnbGljaGtlaXQsIGRpZXNlcyBTcGllbCwgYW4gZGVtIGljaCBzbyBsYW5nZSBaZWl0IGRhbmsgZGVyCkFyYmVpdCBhbmRlcmVyIExldXRlIHNvdmllbCBTcGFzcyBnZWhhYnQgaGFiZSwgYXVjaCBldHdhcyB6dSB2ZXJzY2hvZW5lcm4uIEljaApoYWJlIGhhbHQgZXR3YXMgWmVpdCB1ZWJlciB1bmQgaGFiIG5lYmVuYmVpIG5vY2ggU3Bhc3MgYW0gUHJvZ3JhbW1pZXJlbi4gV2FzCmlzdCBkYXJhbiBzbyB2ZXJ3ZXJmbGljaCwgZGFzcyBpY2ggZGFmdWVyIG5pY2h0IG1laW4gU3BpZWxlcmRhc2VpbiBhdWZnZWJlbgp3aWxsPwoKTWljaCB3dWVyZGUgYW4gZGllc2VyIFN0ZWxsZSBtYWwgaW50ZXJlc3NpZXJlbiwgaW53aWV3ZWl0IERlaW5lIE1laW51bmcgenUgZGVtClRoZW1hIHJlcHJhZXNlbnRhdGl2IGlzdCwgUGFkcmVpYy4gVmllbGxlaWNodCBiaW4gZXMgamEgd2lya2xpY2ggaWNoLCBkZXIgZWluZQpzbyBlaWdlbmFydGlnZSBWb3JzdGVsbHVuZyB2b20gTWFnaWVyZGFzZWluIGhhdC4gVmllbGxlaWNodCBpc3QgZXMgamEKdGF0c2FlY2hsaWNoIHZvcmhlcnJzY2hlbmRlIE1laW51bmcsIGRhc3MgZWluIE1hZ2llciwgZGVyIG5lYmVuaGVyIG5vY2ggZWluZW4KZWNodGVuIFNwaWVsZXIgaGF0LCBkZW4gTWFnaWVyIG51ciB6dW0gVm9ydGVpbCBkZXMgU3BpZWxlcnMgZWluc2V0enQuIEdlbmF1CmRlc2hhbGIgbW9lY2h0ZSBpY2ggZGFzIGphIG9lZmZlbnRsaWNoIGtsYWVyZW4uIEljaCB3dWVyZGUgaGFsdCBnZXJuZSB3aXNzZW4sCm9iIG1laW5lIFZvcnN0ZWxsdW5nIHZvbSBNYWdpZXJkYXNlaW4gdWViZXJoYXVwdCB6dW0gTUcgcGFzc3QuCgpSaW5nb3IuIEVyc3RpZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBtYWcydGllcyAoUmluZ29yLCAgNS4gTWFyIDE5OTksIDExOjIyOjU5KToKfiMhIHJuPU5vdmFzdG9ybSBydD05MjA2MzIxMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKQml0dGUgd2lyZiBkYSBuaWNodCB6d2VpIHZvbGxrb21tZW4gdW50ZXJzY2hpZWRsaWNoZSBEaXNrdXNzaW9uZW4KZHVyY2hlaW5hbmRlci4gRGllIGVpbmUgaXN0IGRpZSBEaXNrdXNzaW9uLCB3aWUgbWFuIE1pc3NicmF1Y2ggdmVyaGluZGVybiBiencKd2VuaWdzdGVucyBlaW5zY2hyYWVua2VuIGthbm4gLSB6LkIuIGR1cmNoIEVpbmZ1ZWhydW5nIGVpbmVzIEdlc2VsbGVuc3R1ZWNrcy4KCkRpZSBhbmRlcmUgaXN0LCBvYiBlaW4gTWFnaWVyIHVuYmVkaW5ndCBFcnN0aWUgc2VpbiBtdXNzLCBvZGVyIG9iIGF1Y2ggZGVyClNwaWVsZXIgRXJzdGllIHNlaW4gZGFyZi4gRGFzIGVpbmUgaGF0IG1pdCBkZW0gYW5kZXJlbiBlaWdlbnRsaWNoIHVlYmVyaGF1cHQKbmljaHRzIHp1IHR1biwgdW5kIGRhcyB3aWVkZXJob2x0ZSBBdWZ6YWVobGVuIHZvbiBNaXNzYnJhdWNobW9lZ2xpY2hrZWl0ZW4genVyClJlY2h0ZmVydGlndW5nIHZvbiBpcmdlbmR3ZWxjaGVuIE1hcmtpZXJ1bmdlbiBrbGluZ3QgZnVlciBtaWNoIGltbWVyIG5hY2gKU2lwcGVuaGFmdC4KCkljaCB2ZXJ1cnRlaWxlIG5pY2h0IHNvIGdlcm5lIHBhdXNjaGFsLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogbWFnMnRpZXMgKE1haGF0bXUsICA1LiBNYXIgMTk5OSwgMTI6NDQ6NDkpOgp+IyEgcm49UGFkcmVpYyBydD05MjA1OTgyMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKSG0sIGVyaW5uZXIgaWNoIG1pY2ggZGEgbmljaHQgZWluZXMgZ2V3aXNzZW4gQmllcnNjaHVldHRsZXJzIEFuZ3JpbSwgZGVyCm5vY2ggenUgYmVzdGVuIFBhZHJlaWM9TWFnaWVyLVplaXRlbiBzdG9seiBoZXJ1bWxhdHNjaHRlIHVuZCBlaW5lciBfZGVyXwpiZXN0ZW4gU3BpZWxlciB1ZWJlcmhhdXB0IHdhciAodXN3LiB1c2YuKS4gU2llaHQgc28gYXVzLCBhbHMgaGFldHRlc3QgRHUKRGljaCBzZWxic3QgbmljaHQgc28gcmljaHRpZyBhbiBkaWUgJ05ldWVpbnN0ZWxsdW5nJyBhdWYgTWFnaWVyIGdlaGFsdGVuLgpNYWwgZGF2b24gYWJnZXNlaGVuIGhhbHRlIGljaCBlcyBmdWVyIEJsb2Vkc2lubiwgX251cl8gbm9jaCBkZW4gTWFnaWVyCnp1IHNwaWVsZW4uIEFscyBFTSBpc3QgZXMgendhciB2ZXJkYW1tdCBzY2h3ZXIsIGltIEVNLU1VRCBub2NoIHp1IHNwaWVsZW4sCmFiZXIgZXMgdHV0IGRlbSBlaWdlbmVuIENvZGUgdW5oZWltbGljaCBndXQsIHdlbmlnc3RlbnMgaXJnZW5kd28gbm9jaAp6dSBzcGllbGVuLiBPYiBudW4gTGliIG9kZXIga3JlYXRpdmUgTnV0enVuZyBkZXIgTGliLiBVbmQgZGFzIGhlaXNzdCBlYmVuCm5pY2h0IG51ciBnZWxlZ2VudGxpY2ggJ2hleSwgaWNoIGhhYiBtaXQgZGVtIEVyZGJlYmVuIGphIHNvb28gYXVmZ2VyYWV1bXQnCihpbiBNb3JvbikuCgpHbG9pbiBodWVzdGVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBtYWcydGllcyAoV3VyemVsLCAgNS4gTWFyIDE5OTksIDEzOjE5OjQxKToKfiMhIHJuPVJpbmdvciBydD05MjA2MzI2NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKcmVwcmFlc2VudGF0aXY/IGF1Y2ggd2VubiBpY2ggbWljaCBqZXR6dCBvdXRlLCBkYXNzIGljaCBtYW5jaGVzIGFlaG5saWNoCnNlaGUgd2llIHBhZHJlaWMsIG1hY2h0IGVzIGRhcyBuaWNodCByZXByYWVzZW50YXRpdmVyLiBhYmVyIGRhcyBpc3QKYXVjaCBnYXIgbmljaHQgZGVyIHB1bmt0LgppbSBwcmluemlwIHNlaGUgaWNoIGR1cmNoYXVzIGVpbmVuIHVudGVyc2NoaWVkIHp3aXNjaGVuIG1hZ2llciB1bmQgc3BpZWxlci4KdW5kIHdlciBzaWNoIGRhenUgZW50c2NobGllc3N0LCBtYWdpZXIgenUgd2VyZGVuLCB0dXQgZWluZW4gc2Nocml0dCwgZGVyCmlobiBncnVuZHNhZXR6bGljaCBkaWUgc3BpZWxlcndlbHQgdmVybGFzc2VuIGxhZXNzdC4KCmF1Y2ggd2VubiBtYW5jaGUgZGFzIG5pY2h0IHdhaHJoYWJlbiB3b2xsZW4uCgp3dXJ6ZWwgKG1hZ2llciBzZWl0IDE5OTEgb2RlciBzbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBtYWcydGllcyAoUGFkcmVpYywgIDUuIE1hciAxOTk5LCAxMzoyODoxMik6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNjMyNjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1Ck5pZW1hbmQgdmVybGFuZ3Qgdm9uIERpciwgZGFzcyBEdSAzNjUgVGFnZSBpbSBKYWhyIDI0aCB0YWVnbGljaApwcm9ncmFtbWllcnN0IHVuZCBuaWNodCBtZWhyIHNwaWVsZW4gZGFyZnN0IFJpbmdvciwgYWJlciBtaXQgZGVyCk1hZ2llcndlcmR1bmcgc29sbHRlbiBzaWNoIGRhIGVpbmRldXRpZyBkaWUgUHJpb3JpdGFldGVuIHZlcnNjaGllYmVuLgpJY2ggYmluIHN0cmlrdCBnZWdlbiBlaW5lbiBNYWdpZXJ6d2VpdGllICJkZW4gbWFuIGhhbHQgc28gaGF0IiB3aWUgZWluZW4KS2xlcmlrZXIgb2RlciBhdWNoIEthcmF0ZXp3ZWl0aWUuIE1pdCBkZXIgVW50ZXJ6ZWljaG51bmcgZGVzIE1hZ2llcnZlcnRyYWdlcwplcmtlbm5zdCBEdSBkaWVzZXMgdWVicmlnZW5zIGF1Y2ggYW4uIEVpbmVuIG5vcm1hbGVuIFp3ZWl0aWUga2FubnN0IER1CmZ1ZWhyZW4gd2llIGltbWVyIER1IG1vZWNodGVzdC4gSW5kZW0gQXVnZW5ibGljayB3byBEdSBNYWdpZXIgd2lyc3QgZ2VsdGVuCmF1Y2ggZnVlciBEZWluZW4gWndlaXRzcGllbGVyIG5ldWUgUmVnZWxuLiBVbmQgendhciBtZWhyIGFscyBudXIgbmljaHQgYmVpClF1ZXN0cyB6dSBoZWxmZW4sIHNvbmRlcm4gei5CLiBhdWNoOgoiWy4uXSBEZXIgWndlaXRjaGFyYWt0ZXIgc29sbHRlIHNpY2ggZXR3YXMgenVydWVja2hhbHRlbiwgd2VubiBlciBkdXJjaAogc2VpbmUgQWt0aW9uZW4gZWNodGUgU3BpZWxlciBiZWhpbmRlcnQgWy4uXSIKRGFkdXJjaCBkYXMgbWFuIG5pY2h0IG1laHIgaW4gZXJzdGVyIExpbmllIFNwaWVsZXIgaXN0LCBoZWlzc3Qgbm9jaCBsYW5nZQpuaWNodCwgZGFzcyBtYW4gYW4gZGVuIFd1ZW5zY2hlbiB1bmQgQmVkdWVyZm5pc3NlbiBkZXIgU3BpZWxlcgp2b3JiZWlwcm9ncmFtbWllcnQuIFd1ZW5zY2hlIGthbm4gbWFuIGFydGlrdWxpZXJlbiB1bmQgd2VyIHNpY2ggYWIgdW5kIGFuCm1pdCBTcGllbGVybiBhdWNoIG1hbCB1bnRlcmhhZWx0LCBkZXIgc29sbHRlIGVzIGF1Y2ggbGVpY2h0IHNjaGFmZmVuIGF1ZiBkaWUKQmVkdWVyZm5pc3NlIGRlciBTcGllbGVyIGVpbnp1Z2Vobi4gRGFzIGVpbnppZ2UgUHJvYmxlbSBkYXMgaWNoIGRhIHdpcmtsaWNoCnNlaGUgaXN0LCBkYXMgbWFuIGRlbiBVZWJlcmJsaWNrIHZlcmxpZXJ0IHdhcyBlcyBpbSBNdWQgc2Nob24gZ2lidCB1bmQgd2llCmRpZSBSZWFsaXRhZXQgei5CLiBiZWltIG1ldHplbG4gYXVzc2llaHQsIGFiZXIgYXVjaCBkaWVzIGthbm4gbWFuIGR1cmNoCkdlc3ByYWVjaGUgaGVycmF1c2ZpbmRlbi4gV2VubiBEdSBzb3ZpZWwgc3BpZWxlbiB3aWxsc3QsIGJpc3QgRHUgc2VsYnN0CnBlcnNvZW5saWNoZSBhbGxlIEdlYmlldGUsIGFsbGUgR2lsZGVuIHVuZCBhbGxlIEdlZ2Vuc3RhZW5kZSBrZW5uc3QsIGRhbm4Kd2lyZCBkYSBhdWYga2VpbmVuIEZhbGwgYXVjaCBub2NoIFplaXQgenVtIHByb2dyYW1taWVyZW4gdWVicmlnIGJsZWliZW4uCgpQYWRyZWljCgpQLlMuOiBadSBHbG9pbjogQXVjaCBpY2ggaGFiZSBnZWxlZ2VudGxpY2ggTHVzdCB1bmQgWmVpdCBtYWwgd2llZGVyIGVpbiB3ZW5pZwp6dSBzcGllbGVuIHVuZCBoYWx0ZSBkaWVzIGF1Y2ggbmljaHQgZnVlciBzY2hsZWNodCwgX2FiZXJfIGRpZQpQcmlvcml0YWV0ZW5zZXR6dW5nIGlzdCBiZWkgbWlyIHdvaGwgZWluZGV1dGlnIGFuZGVycy4gV2VubiBtaWNoIGplbWFuZCBhdWYKZGVyIFBhcnR5IG9kZXIgZWluZW0gU3RhbW10aXNjaCBhbnNwcmljaHQgZGFubiB3b2hsIG1pdCBQYWRyZWljIHVuZCBuaWNodCBtaXQKQW5ncmltLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IG1hZzJ0aWVzIChBbmF0b2wsICA1LiBNYXIgMTk5OSwgMTU6MjM6MjYpOgp+IyEgcm49UGFkcmVpYyBydD05MjA2NDA0OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKSWNoIHd1ZXJkZSBtaXIgZGllIEJlbWVya3VuZywgZGFzcyBQYWRyZWljIGFuIGFuZGVyZSBtYWwgd2llZGVyIEFuc3BydWVjaGUKc3RlbGx0LCBkaWUgZXIgc2VsYnN0IHdlZGVyIGVpbmhhZWx0IG5vY2ggZWluaGFsdGVuIHdpbGwsIGdlcm5lIHZlcmtuZWlmZW4Ka29lbm5lbiwgYWJlciBuYWNoZGVtIGVyIG1pciBzbyBndXRlIFZvcmxhZ2VuIGxpZWZlcnQsIHNpbmQgZXJudWVjaHRlcm5kZQpUaWVmc2NobGFlZ2Ugd29obCBQZmxpY2h0LgpFaW4gRXJ6bWFnaWVyLCBkZXIgZ3Jvc3Nrb3R6aWcgKHllc3NpcikgYXVmIFJlZ2VsbiBiZWhhcnJ0LCBnbGVpY2h6ZWl0aWcKYWJlciBzaWNoIG9kZXIgenVtaW5kZXN0ICJkaWUgc2VpbmVuIiB6dXIgQXVzbmFobWUgZXJrbGFlcnQsIG1pdCAiZm9yIHRoZQpncmVhdGVyIGdvb2QiIGFyZ3VtZW50aWVydCAoZWJlbiBkYXMsIHdhcyBlciBiZWkgYWxsZW4gYW5kZXJlbiBuaWNodCAKZ2VsdGVuIGxhZXNzdCksIGlzdCBpbiBtZWluZW4gQXVnZW4gYXVmIGplZGVtIFBvc3RlbiwgZGVyIFZlcmFudHdvcnR1bmcKbWl0YnJpbmd0LCBhYnNvbHV0IGZlaGwgYW0gUGxhdHplLgoKRGFua2UgZnVlciBEZWluZSBNZWludW5nLCBQYWRyZWljLiBBYmVyIHdpZSBSaW5nb3Igc2Nob24gc2FndGUsIHZpZWxsZWljaHQKc2FnZW4gYXVjaCBtYWwgYW5kZXJlLCByaWNodGlnZSBFcnptYWdpZXIsIHdhcy4uLgoKQW5hdG9sIC0gU2NobmF1emUgdm9sbCwgUGFkcmVpYyBsZWVyLCBTVFJVTlohCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IG1hZzJ0aWVzIChTaGFyaWEsICA1LiBNYXIgMTk5OSwgMTU6MjU6NDUpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMDY0NzQwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpzY2hhZGUgQW5hdG9sIC4uLi4gZHUgaGFzdCBhdWNoIHNjaG9uIGJlc3NlcmUgQXJ0aWtlbCBnZXNjaHJpZWJlbiAuLi4uLgoKU2hhcmlhLCBzY2hvbiBpbW1lciBad2VpdGllIHVuZCBhdWNoIG1hbCB2b24gbmVtIE1hZ2llcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWFnQHRpZXMgKFBoeWdvcywgIDUuIE1hciAxOTk5LCAxNjoxMToyNik6CnZlcnRlaGUgZXVlciBnZWhldWwgbmljaHQuIGRhcyBzaWNoIGhpZXIgZWluaWdlIHNjaG9uIGltbWVyIGRpZSBkaWNrZXJlbgpzY2hlaWJlbiB2b20gYnJhdGVuIGdlc2FlYmVsdCBoYWJlbiwgaW4gZGVtIHNpZSBzaWNoIGVpbmVuIG1hZ2llcnNrbGF2ZW4KaGVnYWx0ZW4gaGFiZW4sIG9kZXIgbWl0dGVscyBpbnRlbnNpdmVtIGtsdWVuZ2VsIGFuIGNvZGVzIGluZm9zICB3YXMgd2Vpc3MgaWNoCmthaG1lbiBpc3QgYWxsZ2VtZWluIGJla2FubnQgdW5kIHJlc2lnbmllcmVuZCB6dXIga2VubnRuaXNzIGdlbm9tbWVuIHdvcmRlbi4gCnNvbGxlbiBzaWUgICAgdm9uIG1pciBhdXMsIGJpcyBlcyBpaG5lbiB6dSBkZW4gb2hyZW4gcmF1c2tvbW10LiAgYnJhdWNoZQprZWluZW4gaGlsZnNtYWdpZXJ6d2VpdGkuICB1bmQgd2VubiBpY2ggdW5lYmRpbmd0IHdhcyBwcm9nZ2VuIG1vZWNodGUsIG9obmUKbWVpbmVuIGVyc3RpIHp1bSBtYWdpZXIgenUgbWFjaGVuICggb2RlciBhdWNoIG1laW5lbiB6d2VpdGkgZHJpdHRpICBldGMgZXRjICkKZGFubiBwcm9nIGljaCBoYWx0IHdhcyB1bmQgc3VjaCBtaXIgbmVuIGF1Zmdlc2NobG9zc2VuZW4gbWFnaWVyIGRlbSBpY2hgcwpzY2huZWtuZSBrYW5uLiB3ZW5uYHMgZ2VhZmVsbHQsIGJhdXQgZXJgcyBlaW4sIHdlbm4gbmljaHQsIGthbm4gaWNoIGltbWVyIG5vY2gKZGFtaXQgZGVuIGthbWluIGFuenVlbmRlbi4gIHNvIGhhYiBpY2ggd2VkZXIgZGFzIHByb2JsZW0sIG1pY2ggbWl0CmlyZ2VuZHdlbGNoZW4gIGFsbG1hY2h0c3BoYW50YXNpZW4gaXJnZW5kd2VsY2hlciBzdGFzaWtvbnRyb2xsdGVhZW1zCmFienVwbGFnZW4sIG5vY2ggbXVzcyBpY2ggbWlyIHNwaWVsZXJnZW1lY2tlciBhbmhvZXJlbiAoIGFsc28gbWVpbiBlaWdlbnMgKQpub2NoIG11c3MgaWNoIGF1ZmhvZXJlbiB6dSBzcGllbGVuLiAgdGphIHVuZCBzaWNoZXJsaWNoIHdlcmRlIGljaCBkYW5uIGdhbnoKc2NoYW1sb3MgZGF2b24gZ2VicmF1Y2ggbWFjaGVuLCBkYXMgaW4gZGVyIHZvbiBtaXIgZ2Vwcm9nZ3RlbiBnZWdlbmQsIG1pciBhbGxlCmdlaGVpbW5pc3NlIGJla2FubnQgc2luZCAgKCBvZGVyIG5laG0gaWNoIGRvY2ggbGllYmVyIG5lIHZhbGl1bT8gZ2FlaG4gKSAgIGljaApiaW4gdW5kIGJsZWliZSBzcGllbGVyICBiYXN0YSAgIHdlciBwcm9nZ2VuIHdpbGwgbWl0IHZvbGxlbiByZWNodGVuIHNvbGwKbWFnaWVyIHdlcmRlbiAgZGFubiBhYmVyIGFic29sdXRlcyBzcGllbHZlcmJvdCAgIHVuZCB3ZXIgYWxzIHNwaWVsZXIgd2FzCnByb2dlbiB3aWxsLCBzb2xsYHMgbmVtIG1hZ2llciBnZWJlbi9zY2hlbmtlbiAgICB3ZW5uIGRlcmBzIGhhYmVuIHdpbGwgb2sgIAppc3QgZGFubiBhYmVyIGF1Y2ggZGFmdWVyIHZlcmFudHdvcnRsaWNoLCBkYXJmIGFiZXIgYXVjaCBkb3J0IG1hY2hlbiB3YXMgZXIKd2lsbC4gamVkZW5mYWxscyBnbGF1YiBpY2gga2VpbmVtLCBkYXMgZXIgc2VpbmVuIHp3ZWl0bWFnaWVyIG51ciBhdXMgaGVyZW4KaWRlYWxlbiBiZXRyZWlidC4gIGJhc3RhICBpaWlzY2ggaGFiZSBmZXJ0aWcgaWhyIGZsYXNjaGUgbGVlcgptaXQgYmVzdGVuIGdydWVzc2VuLCBmdWVyIHdlaXRlcmUgMTAwIHN0cmVpdHN1ZWNodGlnZSB1bmQgc2lubmVudGxlZXJ0ZQphcnRpa2VsClBIWUdPUwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29tcGxpbWVudCAoQ2F0d2VhemxlLCAgNS4gTWFyIDE5OTksIDE2OjE3OjEwKToKTW9pbiEKCkljaCBoYWJlIG5vY2ggZWlubWFsIG1haWwgdm9tIE1EUiBiZWtvbW1lbi4gSGllciBpc3Qgc2VpbmUgbWFpbCwgZGllIGljaAp2ZXJvZWZmZW50bGljaGVuIHNvbGwuCi0tLS0tCmljaCBoYWJlIG1pciBnZXN0ZXJuIG1pdCBlaW5pZ2VtIFNjaG11bnplbG4gZGllIHBvc3RpbmdzIGF1ZiBtZWluZSAgCiJBbnplaWdlIiBkdXJjaGdlbGVzZW4uIE1laW4gU2VuZGVyIGhhdCBqYSBvZmZlbmJhciBlaW5lIGFlaG5saWNoICAKc2NobGVjaHRlIFJlcHV0YXRpb24gd2llIGRpZSBKb3VybmFpbGxlIGluc2dlc2FtdCAtIHNjaGFkZS4gTGVpZGVyIGthbm4gIAppY2ggYXVjaCBuaWNodCB6dSBlaW5lciBtdWRkZXItUGFydHkgZWlubGFkZW4sIGRhIGljaCBtaXQgd3Vlc3RlbiAgCkdlc2VsbChpbm4pZW4gKG9ya3RvZXRlciB1LmFlLikgcmVjaG5lbiBtdWVzenRlIDstLSkpLgoKQWxzbyBkZXNoYWxiLCBoaWVyIG5vY2ggZWlubWFsIG1laW4gQW5nZWJvdDogV2VyIG1hZywga2FubiBtaWNoICAKYW5tZWhsZW4gb2RlciBhbnJ1ZmVuLCBnZ2Zscy4gcnVmZSBpY2ggYXVjaCBnbGVpY2ggenVydWVjayAgCihLb3N0ZW5lcnNwYXJuaXMpLgpVbmQgZGFzIDxlcm5zdG1laW4+IG5vY2ggenVtIEFic2NobHVzejogSWNoIG1vZWNodGUgbmllbWFuZGVuIGFuIGRlbiAgClByYW5nZXIgc3RlbGxlbiAoZGFzIHBhc3NpZXJ0IGphIHdvaGwgaW4gZGVuIG11ZHMgc2Nob24gZ2VudWcsIG9kZXI/KSwgIApzb25kZXJuIGRlbSBnZW5laWd0ZW4gUHVibGlrdW0gIkZhZWxsZSIgdm9yc3RlbGxlbiwgZGllIGJlbGVnZW4sIGRhc3ogIAplcyBkdXJjaGF1cyBTdWNodHByb2JsZW1hdGlrZW4gZ2lidCBtaXQgLSB0ZWlscyBkcmFzdGlzY2hlbiAtICAKQXVzd2lya3VuZ2VuIGF1ZnMgcHJpdmF0ZSB3aWUgYmVydWZsaWNoZS4gU28sIGRhcyB3YXIgZWluIGxhbmdlciBTYXR6LgoKTWVpbmUgZW1haWwtQWRyZXNzZTogc3RlcGhhbi5ncmFmZW5AbWRyLmRlCgpTdGVwaGFuIEdyYWZlbgpNRFIgRmVybnNlaGVuClJlZGFrdGlvbiBXaXJ0c2NoYWZ0L1ZlcmJyYXVjaGVyCktlc3NlbHNkb3JmZXIgU3RyYV9lIDIwOAowMTE2OSBEcmVzZGVuClRlbGVmb246IDAzNTEtODQ2LTQ1NDgKVGVsZWZheDogMDM1MS04NDYtMzAwLTQ1NDgKLS0tLS0KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogbWFnMnRpZXMgKFN0aW5nLCAgNS4gTWFyIDE5OTksIDIxOjIzOjI5KToKfiMhIHJuPUppZGR1IHJ0PTkyMDY2ODg5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpNZXJrdCBpaHIgZWlnZW50bGljaCB3YXMgZGllc2UgZ2FuemUgRGlza3Vzc2lvbiB3aWVkZXIgbWFsIGJyaW5ndCA/Ck5JQ0hUUywgd2llIHVlYmxpY2ggaW4gZGVyIE1QQS4uLiAqc2V1ZnoqIGltbWVyIGRhcyBnbGVpY2hlIGdlZmxhbWUsCmVpZ2VudGxpY2ggd29sbHRlIGljaCBqYSBuaXggc2NocmVpYmVuLCBhYmVyIHdlbm4gaWNoIGplZGVuIFRhZyAzMCBuZXVlCkFydGlrZWwgaW4gYWxsZ2VtZWluIGhhYmUsIGRpZSBlaWdlbnRsaWNoIHNpbm5sb3Mgc2luZCB1bmQgbWVpc3RlbnMgYXVjaCBub2NoCnp1IGxhbmcsIG5lcnZ0cyBtaWNoIGxhbmdzYW0KCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IG1hZzJ0aWVzIChNb250YW51cywgIDYuIE1hciAxOTk5LCAwNzoxNzoxNyk6Cn4jISBybj1TdGluZyBydD05MjA2NjkwMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKCkhtbW1tbSAtIGVpZ2VudGxpY2ggYmluIGloYyBuYWNoIHdpZSB2b3IgZ2FueiBnZWdlbiBad2VpdGllcy4gSmVkZW5mYWxscyBnYW56CmdlZ2VuIGdsZWlvY2h6ZWl0aWcgZWluZ2Vsb2dndGUgQ2hhcmFrdGVyZSBkZXMgc2VsYmVuIFNwaWVsZXJzLgpJY2ggaGFiZSBpbiBkZW4gZ2FuemVuIDEwMCBBcnRpa2VsbiB6dW0gVGhlbWEgKGRpZSBncm9lc3N0ZW50ZWlscyBlaWdlbnRsaWNoCm51ciB3ZWluZXJsaWNoIHdhcmVuKSBlcnN0IGVpbiBwYWFyIHNpbm52b2xsZSBWb3JzY2hsYWVnZSBnZWxlc2VuLCBpY2ggbW9lY2h0ZQpzaWUgZ2VybmUgaGVydm9yaGViZW4uCgoxKSBXZWcgbWl0IGRlbiBMZXZlbG4uIFdlbm4gaGllciBqZWRlciB3aXJrbGljaCBudXIgbm9jaCB6dW0gVmVyZ251ZWdlbiB1bmQKbmljaHQgbWVociBhdWYgTGVpc3R1Z24gbXVkZGV0LCB3aXJkIHdhaHJzY2hlaW5saWNoIHNvZ2FyICh1bmVyd3VlbnNjaHRlcgpOZWJlbmVmZmVrdD8pIGRpZSBTdGltbXVuZyBpbSBNdWQgc3RlaWdlbiwgd2VpbCBOZWlkbW9lZ2xpY2hla2VpdGVuIGVudGZhbGxlbgoKMikgKGRhcyB3YXIgendhciBrZWluIFZvcnNjaGxhZywgYWJlciBlaW4gbmV0dGVzIEJlaXNwaWVsKTogZGVyIFZlcmdsZWljaCBtaXQKZGVtICJlY2h0ZW4iIFJvbGxlbnNwaWVsLiBTdGVsbHQgRXVjaCBkb2NoIHZvciwgZGEgZGVyIER1bmdlb25tYXN0ZXIgc2VpbmVuCmVpZ2VuZW4gU3BpZWxjaGFyYWt0ZXIgYWxzIE5QQyBtaXQgZGVyIEdydXBwZSBtaXRsYXVmZW4gbHQgdW5kIGRpZXNlcgooc2VsdHNhbWVyd2Vpc2UpIGFsbGUgd2ljaHRpZ2VuIFNjaGFldHplIGZpbmRldCwgZ2VuYXUgd2Vpc3MsIHdpZSBtYW4gZGllCk1vbnN0ZXIgYXVzaGViZWx0LCB1bmQgdW5kIHVuZAoKZWlnZW5lciBWb3JzY2hsYWc6IFdlZyBtaXQgZGVuIFRvcGxpc3RlbiBkZXIgYmlzaGVyaWdlbiBBcnQuIFdlZyBtaXQgZGVtClp3ZWl0c3BpZWxlcmRhc2Vpbi4KRXMgc29sbHRlIGRpZSBNZ2xpY2hrZWl0IGdlYmVuLCBkYXNzIFNwaWVsZXIgaWhyZSBDaGFyYWt0ZXJlICJ6dXIgUnVoZQpzZXR6ZW4iLiBEaWVzZSB3ZXJkZW4gZGFubiBlbnR3ZWRlciAoYWVobmxpY2ggQW5keSkgYWxzIE5QQ3MgdW1nZXNldHp0CnVuZC9vZGVyIGluIGVpbmVyIGV3aWdlbiBIYWxsIG9mIEZhbWUgKGVpbmVyIExpc3RlIGFsbGVyIGJpc2hlcmlnZW4genVyIFJ1aGUKZ2VzZXR6dGVuIFNwaWVsZXIpIHZlcmV3aWd0LgpEYSB3YWVyZSBkYW5uIHp3YXIgZXZ0bC4gYXVjaCB3aWVkZXIgZWluZSBBcnQgIldldHRrYW1wZiIgbW9lZ2xpY2gsIGFiZXIgb2huZQpkaWVzZW4gd2FlcmUgZGFzIE11ZCB3b2hsIG5vY2ggbGVlcmVyLCBhbHMgZXMgZWggc2Nob24gaXN0LgooSWNoIHNhZ3MgbWFsIGFuZGVycyAtIGluIGRlbiBndXRlbiBhbHRlbiBaZWl0ZW4gd2FyIGRhcyBNdWQgc2Ftc3RhZ3MgbW9yZ2VucwprdXJ6IG5hY2ggc2llYmVuIG5pY2h0IG51ciBtaXQgam9mLWlkbGVuIFNwaWVsZXJuIGdlZnVlbGx0LCBzb25kZXJuIFRlcnJvciBhdWYKZGVuIEthbmFlbGVuKQoKTW9udGFudXMgKGhhdCBhbGxlIHNlaW5lIEV4LVp3ZWl0aWVzIHNjaG9uIGxhbmdlIHZlcnNjaGVua3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogbWFnMnRpZXMgKEFzbW9kaXMsICA2LiBNYXIgMTk5OSwgMTY6MzQ6NTEpOgp+IyEgcm49TW9udGFudXMgcnQ9OTIwNzA0NjM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CldhcyBkdSBkYSB2b3JzY2hsYWVnc3QsIGlzdCBlaW4gdm9lbGxpZyBuZXVlcyBLb256ZXB0LCBkYXMga2FubiBtYW4gYmVzc2VyCmluIGVpbmVtIG5ldWVuIE1VRCBkdXJjaHNldHplbiwgYW5zdGF0dCBoaWVyIGFsbGVzIHVtenVrcmVtcGVsbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBtYWcydGllcyAoTWluZGJsYWRlLCAgNi4gTWFyIDE5OTksIDE2OjQ1OjA1KToKfiMhIHJuPUFzbW9kaXMgcnQ9OTIwNzM4MDkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkFsc286Clp1IFBoeWdvczoKV2VubiBzaWNoIGplbWFuZCBkaWUgTXVlaGUgbWFjaHQgdW5kIG5lbiBnYW56ZXMgR2ViaWV0IHByb2dndCwgc29sbHRlIGF1Y2ggZXIKZGFmdWVyIEFuZXJrZW5udW5nIGtyaWVnZW4uIEF1c3NlcmRlbSBzZWhlIGljaCBzY2hvbiBkaWUgTWFnaWVyLCBkaWUgZGllCiJHZXNjaGVua2UiIGFuc2NobGllc3NlbiB1ZWJlciBkZW4gQ29kZSBkZXNqZW5pZ2VuIGZsdWNoZW4sIHdlbm4gc2llIGlobiBtYWwKZGVidWdnZW4gbXVlc3NlbiBvZGVyIEFlaG5saWNoZXMuCgpadSBQYWRyZWljOgpXZXIgd2llIFByaW9yaXRhZXRlbiBzZXR6dCBzb2xsdGUgbGV0emVuZW5kZXMgamVkZW0gc2VsYnN0IHVlYmVybGFzc2VuIHdlcmRlbiwKaWNoIGtlbm4gTWFnaWVyLCBkaWUgc2luZCBudXIgYWxsZSB4IFRhZ2UgbWFsIGRhIHVuZCBwcm9nZ2VuIHRyb3R6ZGVtIG5ldHRlClNhY2hlbi4gV28gaXN0IGRlciBVbnRlcnNjaGllZCwgd2VubiBlaW4gYW5kZXJlciBNYWdpZXIgbWFsIDIgV29jaGVuIHNwaWVsdAp1bmQgc2ljaCBkYW5uIHdpZWRlciBtaXQgc2VpbmVtIEdlYmlldCBiZXNjaGFlZnRpZ3Q/ClVuZCBkdWNoIHJlZGVuIGtyaWVndCBtYW4gYmVzdGltbXQgbmljaHQgZGVuIEVpbmRydWNrLCB3YXMgYmVpIFNwaWVsZXJuCmFua29tbXQgdW5kIHdhcyBuaWNodC4gV2VubiBEdSB6dW0gQmVpc3BpZWwgb2VmdGVyIG1hbCBtaXQgQW5ncmltbSBkYSB3YWVyZXN0CnVuZCBtaXQgU3BpZWxlcm4gbWFsIGluIERlaW5lbSBHZWJpZXQgcnVtemllaGVuIHd1ZXJkZXN0LCBkYW5uIGtvZW5udGVzdCBEdQp2aWVsbGVpY2h0IGF1Y2ggYmVzc2VyIG5hY2h2b2xsemllaGVuLCB3YXJ1bSBlaW5pZ2UgTGV1dGUgc3BlemllbGxlIE1vbnN0ZXIKdm9uIERpciBudXIgc2VociB1bmdlcm5lIG1ldHplbG4uIEljaCB3aWxsIGpldHp0IGhpZXIgbmljaHQgcnVta3JpdGlzaWVyZW4sCmFiZXIgZXR3YXMgenUgX3NlaGVuXyBpc3QgaW1tZXIgd2FzIGFuZGVyZXMgYWxzIGV0d2FzIHp1IF9ob2VyZW5fISAKRGFubiBmYWVsbHQgZWluZW0gendpc2NoZW5kdXJjaCBhdWNoIG1hbCBhdWYsIHdhcyBuZXJ2aWcgc2VpZW4gX2tvZW5udGVfLApvYndvaGwgbWFuIGtlaW5lIGJvZXNlbiBNYWlscyBldGMuIGdla3JpZWd0IGhhdCE7KQoKTWluZCosIGZ1ZXIgU3BpZWxzcGFzcyB1bmQgc3BpZWxlbmRlIE1hZ2llciEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBtYWcydGllcyAoS2V5LCAgNi4gTWFyIDE5OTksIDE5OjMwOjU1KToKfiMhIHJuPUtvb21pIHJ0PTkyMDQ4Njc4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpBZWhtIEtvb21pIHp1IERJUiBzYWcgaWNoIGJlc3NlciBuaXgsIHVuZCBpY2ggd3VlcmRlIERpciBhbnMgSGVyeiBsZWdlbgplYmVuZmFsbHMgenUgc2Nod2VpZ2VuLgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogbWFnMnRpZXMgKEtleSwgIDYuIE1hciAxOTk5LCAxOTozNzowMSk6Cn4jISBybj1NaW5kYmxhZGUgcnQ9OTIwNTE2NDA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkhtbSBhbHNvIGlzdCBkYXMgc3BpZWxlbiBmdWVyIERpY2gga2VpbiBzcGFzcywgc29uZGVybiBudXIgZGFzIHJ1bW1hY2hlbiBtaXQKbmVtIExldmVsIDcwKz8gOikKCkR1IGJpc3QgYWxzbyBkYWZ1ZXIgZGFzIHNpY2ggYWxsZSBkaWUgbmVuIE1hZ2llciBoYWJlbiB3b2xsZW4gZGVuIG1hbCBlYmVuIHNvCmhvY2hzcGllbGVuLCBpaG0ga2VpbmVuIENoYXJha3RlciBvZGVyIHNvbnN0d2FzIGdlYmVuLCBzb25kZXJuIG5lbiBlaW5mYWNoZW4KWm9tYmllIGtyZWllcmVuIGRlciBmdWVyIHNpZSB3YXMgcHJvZ2d0PwoKUmluZ29yIGZyYWd0ZSBtaWNoIGluIGVpbmVtIEFydGlrZWwgbmFjaCBtZWluZXIgRWluc3RlbGx1bmcgLi4uClRqYSBkaWUgaXN0IGdhbnogZWluZmFjaDoKTWFnaWVyIHNvbGx0ZW4gRVJTVElFUyBzZWluLgpVbmQgd2VyIG5ldCB3ZWlzcyB3YXMgbWFuIHVudGVyIEVyc3RpZSB2ZXJzdGVoZW4gc29sbCwgZGVyIHNvbGx0ZSBkcnVlYmVyCm5hY2hkZW5rZW4gOikKCkVpbiBad2VpdGllbWFnaWVyIGlzdCBlaW5mYWNoIG5pY2h0IGRhcyBnbGVpY2hlIHdpZSBuZW4gZWNodGVyIE1hZ2llciAuLi4uCk1pdCBlY2h0ZW4gTWFnaWVybiBtZWluZSBpY2ggYXVjaCBNYWdzIGRpZSBuZWJlbmhlciBuZW4gU3BpZWxlciBoYWJlbiwgZGFnZWdlbgpoYWJlIGljaCB3aXJrbGljaCBhYnNvbHV0IG5pY2h0cy4KTnVyIGRhZ2VnZW4gZGFzIFNwaWVsZXIgbmViZW5oZXIgbmVuIE1hZ2llciBoYWJlbiAuLi4KClZpZWxsZWljaHQgZGFlbW1lcnRzIGpldHp0IGVpbmlnZW4gd2FzIGljaCBtZWluZSAuLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IG1hZzJ0aWVzIChLZXksICA2LiBNYXIgMTk5OSwgMTk6NDE6MDUpOgp+IyEgcm49SmFzcGVyIHJ0PTkyMDUyNTk0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpKYXNwZXIgRHUgU29ja2UgOikKCkFsc28gaWNoIGhhYiBUZXJyb3IgbmV0IGdlbG9lc2NodCB3ZWlscyBtaXIgYmxvZWRlIHZvcmthbS4KSWNoIHdlcmRlIGlobiBhYmVyIGF1Y2ggaW4gYWJzZWhiYXJlciBaZWl0IG5pY2h0IHdpZWRlciBha3RpdmllcmVuIC4uLi4gV296dQphdWNoPyBXZW5uIGljaHMgdW5iZWRpbmd0IGJyYXVjaGUga2FubiBpY2ggbm9jaCBuZW4gWndlaXRpZSBob2Noc3BpZWxlbiB1bmQKZGVuIHp1bSBNYWdpZXIgbWFjaGVuIC4uLiBpc3QgamEgZWggZ2VyYWRlIE1vZGUgOikKCkhtbSBhbHNvIGF1Y2ggZnVlciBEaWNoOiBJY2ggaGFiZSBUZXJyb3Jpc3QgbmV0IGhvY2hnZXpvZ2VuIC4uLiBkYXMgd2lzc2VuCmhpZXIgZWluaWdlIC4uLi4gCkhtbSBkZXIgZXJzdGUgZGVyIGVpbmVuIE1hZ2llciB6dW0gcGZ1c2NoZW4gaG9jaGdlem9nZW4gaGF0IC4uLi4gCipncnVlYmVsKiBXb2hsIGF1Y2gga2F1bSAuLi4gV29iZWkgaWNoIG1pdCBpaG0gbmFjaCBkZXNzZW4gb2ZmaXppZWxsZXIKQW5uZXJrZW5udW5nIG5pY2h0IG1laHIgZ2VwZnVzY2h0IGhhYmUgLi4uLgpUZXJyb3Igd2FyIGFscyBNYWdpZXIgbmljaHQgbWVpbiBad2VpdGllLCBzb25kZXJuIGVoZXIgZWluIGVpZ2VuZXIgQ2hhcmFrdGVyLAptZWhyIG9kZXIgd2VuaWdlciAuLi4gQWJlciBkYXMgZ2xhdWJ0IGphIGVoIGtlaW5lciA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogbWFnMnRpZXMgKEtleSwgIDYuIE1hciAxOTk5LCAxOTo0NzoyOSk6Cn4jISBybj1SaW5nb3IgcnQ9OTIwNTgyNDI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkhtbSBkYSBrb21tZW4gd2lyIHp1IGVpbmVtIFB1bmt0IGRlciBtaWNoIGFtIE1hZ2llcnZlcnRyYWcgaXJyaXRpZXJ0IC4uLgpEZXIgZGFzIGVzIGRlbSBNYWdpZXJ6d2VpdGllIHZlcmJpZXRldCBiZWkgUXVlc3QgenUgaGVsZmVuIC4uLgoKSXJnZW5kd2llIGZpbmRlIGljaCBkZW4gdmVyYWx0ZXQgLi4uIEljaCBtZWluIGhldXR6dXRhZ2UgZ2lidCBlcyBnZW51ZyBTcGllbGVyCmRpZSBoZWxmZW4sIHNvIGRhcyBtYW4ga2VpbmVuIE1hZ2llcnp3ZWl0aWUgYnJhdWNodCB1bSBpbiBpcmdlbmR3ZWxjaGVuIFF1ZXN0cwp6dSB3dWVobGVuIC4uLgoKT2tpIG9raSBad2VpdGllcyBkZXJlbiBFcnN0aWUgc2VsYnN0IG5lIFF1ZXN0IGdlcHJvZ2d0IGhhYmVuIGtlbm5lbiBkaWUKbmF0dWVybGljaCBhdXN3ZW5kaWcsIGFiZXIgZGllIHdlcmRlbiBkb2NoIHdvaGwga2F1bSB2aWVsIHZlcnJhdGVuLCBkYSBzaWUgamEKd29sbGVuIGRhcyBkaWUgU3BpZWxlciBTcGFzcyBhbiBkZXIgUXVlc3QgaGFiZW4gLikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IG1hZzJ0aWVzIChXb29keSwgIDYuIE1hciAxOTk5LCAxOTo1NTozMik6Cn4jISBybj1LZXkgcnQ9OTIwNzQ5MDIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1Ck1laHIgYWxzIGVpbmUgRWluc3RlbGx1bmcgdW50ZXIgdmllbGVuIGlzdCBkYXMgYWJlciBuaWNodC4gRHUga2FubnN0CmZ1ZXIgc2llIG5pY2h0IGRhcyBhbGxlaW5pZ2UgV2FocmhlaXRzcmVjaHQgYmVhbnNwcnVjaGVuIC0gdm9uIGRhaGVyCmZpbmRlIGljaCBkaWUgZGVyemVpdGlnZSBMb2VzdW5nIG1pdCBkZXIgdW5zaWNodGJhciB3YWVobGJhcmVuIFp3ZWktCnRpZW1hcmtpZXJ1bmcgZnVlciBlaW5lbiBndXRlbiBLb21wcm9taXNzLiAgIEVzIGlzdCBzaWNoZXJsaWNoIHdlZGVyCnJpY2h0aWcsICBlaW5lbiBNYWdpZXIgYWxzIFNjaHVtbWVsLTJ0aSB6dSBoYWx0ZW4gICh3YXMgIGtsYXJlcndlaXNlCndlc2VudGxpY2ggd2VuaWdlciBvZnQgenV0cmlmZnQsICBhbHMgS2V5IGRhcyBnZXJuIGRhcnN0ZWxsdCksICBub2NoCnd1ZW5zY2hlbnN3ZXJ0LCBkYXNzIGVpbiBNYWdpZXIgZGFzIFNwaWVsZW4gdm9sbGtvbW1lbiB2ZXJsZXJudCAod2FzCmVpbmlnZSBHZWZhaHJlbiBpbiBzaWNoIGJpcmd0KS4gV2FzIHNvbGxzLCBlaW5lIGVpbnppZyB3YWhyZSBMb2VzdW5nCndpcmQgYmVzdGltbXQga2VpbmVyIGZpbmRlbi4KCldhcyBibGVpYnQsIHNpbmQgZ3V0ZSBJZGVlbi4gV2llIGV0d2EgZGllLCBkYXNzIGVzIGVpbmVuIE1hZ2llcmxldmVsCmdlYmVuIGtvZW5udGUsIGRlciBkaWUgIC9kLyAgTGVzZXJlY2h0ZSAgYXVmICAvZC8qL21hZ2llcm5hbWUvICBlaW4tCnNjaHJhZW5rdC4gIFd1ZXJkZSBNb2VnbGljaGtlaXRlbiB6dXIga3JlYXRpdmVuIFNwaWVsKG1pdClnZXN0YWx0dW5nCmJpZXRlbiwgb2huZSBpbiBWZXJzdWNodW5nIHp1IGZ1ZWhyZW4sIHp1IGNoZWF0ZW4uICBEaWUgMTA5MyBub3R3ZW4tCmRpZ2VuIHp1c2FldHpsaWNoZW4gVWViZXJsZWd1bmdlbiB1bmQgQWVuZGVydW5nZW4gc2VpZW4gaGllciB2b3JlcnN0CmVpbm1hbCBkYWhpbmdlc3RlbGx0LgoKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogbWFnMnRpZXMgKEtleSwgIDYuIE1hciAxOTk5LCAxOTo1NTo0Nik6Cn4jISBybj1QYWRyZWljIHJ0PTkyMDU5ODIxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpBcmdsIQoKV0FSVU0/Pz8gV2FydW0gaXN0IGVzIGF1c2dlcmVjaG5ldCBQYWRyZWljIGRlciBtaWNoIHZlcnN0ZWh0PyA7KQoKTnVyIGVpbnMgZmluZCBpY2ggbmV0IGdhbnogb2tpIC4uLiBEYXMgRHUgYXVjaCBuZW4gbmViZW5oZXIgaG9jaGdlc3BpZWx0ZW4genVtCk1hZ2llciBtYWNoZW4gd3VlcmRlc3QgLi4uCldpZSBEdSBiZXJlaXRzIHNhZ3Rlc3Qgc29sbHRlIGRlciBNYWdpZXIgZGVyIEVyc3RpZSBzZWluLCB1bmQgdW0gZGFzIHdpcmtsaWNoCmR1cmNoenVzZXR6ZW4gc29sbHRlIGRlciBFcnN0aWUgYXVjaCBNYWdpZXIgd2VyZGVuIHVuZCBuZXQgZWluIFpvbWJpZSAuLi4KCk9raSBtYW4gZ2lidCBlaW5pZ2VzIGF1ZiAuLi4gRXMgd2lyZCBlaW5lbSBoYWx0IG5ldCBhbGxlcyBnZXNjaGVua3QuCgpVbmQgaWNoIGdsYXViZSBkYXMgZGVyamVuaWdlIGRlciBzZWluZW4gRXJzdGllIHp1bSBNYWdpZXIgbWFjaHQgc2Nob24gdm9uCmFuZmFuZyBhbiBtZWhyIGVpbmVuIE1hZ2llcmVyc3RpZSBoYXQgYWxzIGVpbmVyIGRlciBuZW4gWm9tYmllIGFuIGRlbiBQb3N0ZW4Kc2V0enQgLi4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBtYWcydGllcyAoS2V5LCAgNi4gTWFyIDE5OTksIDIwOjAyOjMwKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTIwNjQwNDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkhtbSB6dSBEZWluZW0gUC5TLiAuLi4uCkF1Y2ggd2VubiBEdSBlcyBiZXN0cmVpdGVzdCwgYWJlciBHbG9pbiBoYXQgcmVjaHQgd2FzIERlaW5lIEFuZmFuZ3N6ZWl0CmFuZ2VoZXQgOikKCktleSBlcmlubmVydCBzaWNoIG5vY2ggZ3V0IGRhZHJhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IG1hZzJ0aWVzIChBbmF0b2wsICA2LiBNYXIgMTk5OSwgMjA6MDQ6MjEpOgp+IyEgcm49S2V5IHJ0PTkyMDc1MDE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpXaWUgd2FlcmUgZXMsIHdlbm4gbWFuIG1hbCB3aXJrbGljaCBleHBsaXppdCBkaWUgU3RpbW1lbiBkZXJqZW5pZ2VuCmhvZXJlbiB3dWVyZGUsIHVtIGRpZSBlcyBlaWdlbnRsaWNoIGdlaHQ/IFp3YXIgYmV0ZWlsaWdlbiBzaWNoIG1laHIKb2RlciB3ZW5pZ2VyIHNjaG9uIGVpbiBwYWFyIE1hZ2llclt6d2VpdGllc10gYW4gZGVyIERpc2t1c3Npb24sIGFiZXIKZnVlciBlaW4gcmVwcmFlc2VudGF0aXZlcyBNZWludW5nc2JpbGQgc29sbHRlbiBlcyBzY2hvbiBlaW4gZXR3YXMKbWVociBzZWluLi4uIFd1cnN0PyBBbWFyeWxsaXM/IFpvb2s/IFdhcyBpc3QgbWl0IGRlbSBSZXN0LCBkZXIgc2Nob24Kc2VpdCBsYWVuZ2VyZXIgWmVpdCB0ZWlscyBNYWdpZXItdW50YWV0aWcsIHRlaWxzIFNwaWVsZXItdW50YWV0aWcgCnNlaW4gRGFzZWluIGZyaXN0ZXQ/IEljaCBkZW5rZSwgZGllIEVyZmFocnVuZ2VuLCBkaWUgamVuZSBMZXV0ZSBzZWxic3QKbWFjaGVuLCBkdWVyZnRlIGF1ZnNjaGx1c3NyZWljaGVyIHNlaW4gYWxzIDEwOTMgU3Bla3VsYXRpb25lbiBkZXIKSGFyZGNvcmUtbnVyLVNwaWVsZXIuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29tcGxpbWVudCAoS2V5LCAgNi4gTWFyIDE5OTksIDIwOjA3OjA2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjA2NTA2MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA2NTA2MzAKRGFzIGlzdCBBY3JpbW9uISBHYW56IGVpbmRldXRpZyEgCkhhaCBpY2ggaGFicyBkdXJjaHNjaGF1dCEgZGFzIHN6IGhhdHMgdmVycmF0ZW4gLCkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IG1hZzJ0aWVzIChLZXksICA2LiBNYXIgMTk5OSwgMjA6MTI6NTcpOgp+IyEgcm49TWluZGJsYWRlIHJ0PTkyMDczODcwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpBbHNvIERlaW4gRXJzdGVyIEFic2F0eiB6ZWlndCBudXIgZGFzIER1IERpY2ggaW0gUnVobWUgc29ubmVuIHdpbGxzdCAuLi4KRnVlciBzb3dhcyBzb2xsdGUgbWFuIG5lIG5ldWUgTW9lZ2xpY2hrZWl0IGVyZmluZGVuIC4uLiBlaW5lbiBkZXIgd2FzIHByb2dndCwKd28gc2VpbiBOYW1lIGRpY2sgZHJhbnN0ZWh0LCBhYmVyIGRlciBkaWUgUmVha3Rpb24gZGVyIFNwaWVsZXIgKG1laXN0IG51cgpidWdtZWxkdW5nZW4gdW5kIGFlaG5saWNoZXMpIG5ldCBhYmJla29tbXQgLi4uLgoKSG1tIHVuZCB6dW0gUmVzdCAuLi4gTmFqYSB3ZW5uIER1IHVuZWJkaW5ndCBhdWYgUGFkcmVpYyBydW1oYWNrZW4gd2lsbHN0IC4uIC4pCgpEZW5rIGFiZXIgbWFsIGFuIGFuZGVyZSBNYWdzLCBkaWUgYXVjaCBOVVIgenVob2VyZW4sIGFiZXIgZ2FueiB1bmQgZ2FyIG5pY2h0CmRlbiBLb250YWt0IHp1bSBzcGllbGVuIHZlcmxvcmVuIGhhYmVuIC4uLgpEaWUgZ2lidHMgbmFlbWxpY2ggYXVjaCA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogbWFnMnRpZXMgKEtleSwgIDYuIE1hciAxOTk5LCAyMDoxNDoyNSk6Cn4jISBybj1Xb29keSBydD05MjA3NTAxMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKWnVtIGFsbGVybGV0enRlbm1hbCEKSWNoIHVudGVyc3RlbGxlIEtFSU5FTSBkZXIgamV0emlnZW4gWndlaXRpZW1hZ3MgZGFzIHNpZSBzY2h1bW1lbG4hCldlbm4gc2llIGVzIHR1biBpbnRlcmVzc2llcnQgZXMgbWljaCBuZW4gc2NoZWlzc2RyZWNrLCBzb2xhbmdlIHNpZSBtaXIgZGFiZWkKbmV0IGluIGRpZSBRdWVyZSBrb21tZW4sIHVuZCB3ZW5uIGRhbm4gcmVnZWwgaWNoIGRhcyBzbyBtaXQgZGVuZW4uCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11dHRlciB1bmQgS2luZCBnbGVpY2ggYWx0LiAoTGVuYSwgIDYuIE1hciAxOTk5LCAyMTo1MjozNSk6CkhpaG8uCk1vZWdsaWNoZXJ3ZWlzZSBnZWhvZXJ0IGRlciBBcnRpa2VsIGF1ZiBTY2htYXJybi4gSWNoIHNldHogaWhuIHRyb3R6ZGVtIG1hbApoaWVyIHJlaW4uCkFsc28sIGljaCBoYWIgbWVpbmVyICh1bSBkcmVpIEVja2VuIHZlcndhbmR0ZW4gdW5kIGp1ZW5nZXJlbiIgVGFudGUiIGJlaSBpaHJlbgpNYXRoZWF1ZmdhYmVuIGdlaG9sZmVuLiBEYSBrYW0gbWlyIHdnLiBzbyBlaW5lciBBdWZnYWJlIG1hbCBlaW5lIGtvbWlzY2hlCklkZWUuCldhcyB3YWVyZSwgd2VubiBqZW1hbmQgc2Nod2FuZ2VyIGlzdCB1bmQgZGFzIEtpbmQgaW0gTXV0dGVybGVpYiBFQkVORkFMTFMKc2Nod2FuZ2VyIHdhZXJlLiBJc3QgZGFzIChhYmdlc2VoZW4gdm9uIGRlciBuaWNodGV4aXN0ZW50ZW4gUmVpZmUgZGVzIEtpbmRlcykKdWViZXJoYXVwdCBkZW5rYmFyPyBLb2VubnRlIGphIGZ1ZXIgbmUgU2NpZW5jZS1maWN0aW9uLXN0b3J5IGhlcmhhbHRlbi4KV29sbHRlIG51ciBtYWwgc28gdm9uIG1pciBnZWJlbiwgd2FzIG1pciBiZWkgTWF0aGUtTmFjaGhpbGZlIHNvIGFsbGVzCmVpbmZhZWxsdC4gOikKCkxlbmEsIHNjaG9uIGltIFZvcnJhdXMgdWViZXIgZGllIEFudHdvcnRlbiBhcmdsbmQuCjspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXV0dGVyIHVuZCBLaW5kIGdsZWljaCBhbHQuIChOZXZvaywgIDYuIE1hciAxOTk5LCAyMTo1NDoyNyk6Cn4jISBybj1MZW5hIHJ0PTkyMDc1NzE1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDc1NzE1NQphdSBtYW4gZGEgaGF0IHdlciBuZXQgYXVmZ2VwYXNzdC4uLi4KYWxzbywgc293ZWl0IGljaCB3ZWlzcywgc2V0enQgZGllIGdlc2NobGVjaHRzcmVpZmUgYmVpIGZyYXVlbi9tYWVkY2hlbiBlcnN0CmZydWVoZXN0ZW5zIG1pdCA4IGVpbgpzcHJpY2ggaXMgbmV0IHdlaWwgZ2VodCBuZXQKc29ycnkKYWJlciBuZXR0ZSBpZGVlLi4uLi52aWVsbGVpY2h0IG1pdCBuZXIgYWxpZW5yYXNzZQpibG9zcyBkaWUgZnJhZ2UKd2VyIGJlZnJ1Y2h0ZXQgZGVuIGZvZXR1cy4uLi4KCm5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogbWFnMnRpZXMgKExlbmEsICA2LiBNYXIgMTk5OSwgMjI6MTM6MzEpOgp+IyEgcm49S2V5IHJ0PTkyMDc1MDE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpBbHNvLCBpY2ggZmluZGUsIGVzIGlzdCBlaWdlbnRsaWNoIHppZW1saWNoIGVnYWwsIG9iIG51biBkZXIgRXJzdGllIG9kZXIgZWluClp3ZWl0aWUgZGVyIE1hZ2llciB3aXJkLiBXaWNodGlnIGlzdCwgb2IgZGVyIFJMLU1lbnNjaCBoaW50ZXIgZGVuIENoYXJha3RlcmVuCmF1Y2ggTHVzdCBoYXQsIHp1IHByb2dnZW4sIG9kZXIgbnVyIHp1bSAiU2NodW1tZWxuIiBuZW4gTWFnaWVyIGJyYXVjaHQuIFNvbGx0ZQplci9zaWUgc2NodW1tZWxuIHdvbGxlbiwgdW5kIGRpZSBNYWdpZXI9RXJzdGllLVBmbGljaHQgZ2lidHMsIGRhbm4gdHJhZWd0IGVyCmhhbHQgc2VpbmVuL2locmVuIHZvcmhlcmlnZW4gRXJzdGllIHVtLiBJY2ggcGVyc29lbmxpY2ggc3BpZWxlIGR1cmNoYXVzIGF1Y2gKbWl0IGRlbSBHZWRhbmtlbiwgZWluZW4gImhvY2hnZXNwaWVsdGVuIiBDaGFyYWt0ZXIgenUgbmVobWVuLCBtaXQgZGVtIGljaCBNYWcuCndlcmRlLiBBYmVyIGRhcyBoYXQgbmljaHRzIG1pdCBkZXIgRWluc3RlbGx1bmcgenUgdHVuLCB3YXMgaWNoIG1pdCBkZW0gbWFjaGVuCndpbGwuIChTY2h1bW1lbG4gb2RlciBwcm9nZ2VuKSBEYXMgaXN0IGVoZXIgYW4gZGllIHNjaG9uIG9mdCBnZW5hbm50ZQpVZWJlcmxlZ3VuZyBnZWtvcHBlbHQsIGRhc3MgaWNoIG1laW5lIEVyc3RpbmUgbmljaHQgYXVmZ2ViZW4gd2lsbC4KCldhcyBkYXMgTWFnaWVyK1NwaWVsZXItZGFzZWluIGJldHJpZmZ0LiBFaW4gTWFnaWVyLCBkZXIgbmljaHQgc3BpZWx0LCBoYXQKbmljaHRzIHZvbSBNRy4gRm9sZ2U6IGVyIHdpcmQgYXVjaCBuaWNodCBsYW5nZSB3YXMgKHNpbm52b2xsZXMpIGRhZnVlciB0dW4uCldlbm4gaWNoIHZvciBkaWUgV2FobCBnZXN0ZWxsdCB3dWVyZGUsIHdlbm4gaWNoIG1hbCBuZW4gTWFnLiBoYWJlICgvYmluKSwgbnVyCm5vY2ggenUgcHJvZ2dlbiBvZGVyIHp1IHNwaWVsZW4sIGRhbm4gd3VlcmQgaWNoIGxpZWJlciBzcGllbGVuLiBBYmVyIG5pY2h0LAp3ZWlsIGljaCBkYW5uIG5pY2h0IG1laHIgcHJvZ2dlbiB3b2xsdGUsIHNzb25kZXJuIHdlaWwgaWNoIHNjaGxpY2h0IHVuZAplcmdyZWlmZW5kIGF1Y2ggd2FzIHZvbiBtZWluZXIgQXJiZWl0IGhhYmVuIHdpbGwsIGRpZSBpY2ggZGFubiBpbnMgUHJvamVrdApNb3JnZW5ncmF1ZW4gc3RlY2tlLgpCYXN0YS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXV0dGVyIHVuZCBLaW5kIGdsZWljaCBhbHQuIChCeW5hbmRyZWwsICA2LiBNYXIgMTk5OSwgMjM6NTQ6MjMpOgp+IyEgcm49TGVuYSBydD05MjA3NTcxNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3NTcxNTUKSG1tbSwgZGEgZnJhZycgaWNoIG1pY2ggamEsIHdhcyBkYXMgd29obCBmdWVyIG5lIE1hdGhlYXVmZ2FiZSB3YXI/Pz8KCkJ5bmFuZHJlbCwgdWViZXIgTWF0aGVtYXRpayBtaXQgU2Nod2FuZ2VyZW4gcmFldHNlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogbWFnMnRpZXMgKERlZXBibHVlLCAgNy4gTWFyIDE5OTksIDAxOjE5OjEwKToKfiMhIHJuPU1pbmRibGFkZSBydD05MjA3Mzg3MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKTm9jaCBtYWwgd2FzIHp1IFBoeWdvcyAiU3BpZWxlcmdlc2NoZW5rZW4gYW4gTWFnaWVyIjoKRWluIFNwaWVsZXIgaGF0IGdld29laG5saWNoIGtlaW5lIEFobnVuZyB2b24gZGVuIGZlaW5oZWl0ZW4gZGVyIGpld2VpbGlnZW4KTXVkbGliLCBhdXNzZXJkZW0gZmVobGVuIGlobSBLZW5udG5pc3NlIHVlYmVyIEhlYWRlcmZpbGVzLCBPYmVyZ3JlbnplbiBldGMuCnVuZCBuaWNodCB6dSB2ZXJnZXNzZW4sIGRhcyB3aWNodGlnc3RlIE1hZ2llcmtvbW1hbmRvIC0gbWFuCkFsc286IFdlciBwcm9nZ2VuIHdpbGwgc29sbCBNYWdpZXIgd2VyZGVuLCB3ZXIgbmljaHQsIHNvbGwgZXMgYmxlaWJlbgpsYXNzZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogbWFnMnRpZXMgKERlZXBibHVlLCAgNy4gTWFyIDE5OTksIDAxOjI4OjU4KToKfiMhIHJuPUtleSBydD05MjA3NTAxNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKTmFqYSwgbWl0IGRlbSBab21iaWUgaXN0IGRhcyBzbyBuZSBTYWNoZS4gSWNoIGhhdHRlIGluIHJlZ2VuYm9nZW4gYXVjaCBuZW4KWndlaXRpZSAoRGVlcFJlZCkgenVtIE1hZ2llciBob2NoZ2V6b2dlbiwgdW0gRGVlcEJsdWUgYWxzIEhMUCB6dSBiZWhhbHRlbi4KQWxsZXJkaW5ncyBoYXQgRGVlcEJsdWUgc2VpdGRlbSBrZWluZSBuZXVlIFF1ZXN0IG1laHIgZG9ydCBnZWxvZXN0IHVuZCB3dXJkZQppbiBkZXIgT25saW5lemVpdCB2b24gZGVlcFJlZCAzeCB1ZWJlcmhvbHQuIEFsc28ga2FubiBtYW4gYXVjaCBuZW4KIlpvbWJpZW1hZ2llciIgYWxzIGVjaHRlbiBiZWdyZWlmZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWxla29tIHNwb25zb3JkIGJ5IE1HIChIZXJhLCAgNy4gTWFyIDE5OTksIDAzOjMyOjIxKToKTWljaCBiZXRyaWZmdCBlcyB2aWVsbGVpY2h0IG5pY2ggc28gc2hlciwgd2VpbCBpY2ggdWViZXIgZGllIEZIIG11ZGRlLi4uLgoKQWJlciBlcyBnaWJ0IGRvY2ggZWluaWdlLCBkaWUgdWViZXIgVGVsZWNvbSB1c3cgZHJpbiBzaW5kLi4uLgpVbmQgbGVpZGVyIGdpYnQgZXMgaW0gTUcgZWluIEhhdWZlbiBTdGVsbGVuLCBhbiBkZW5lbiBtYW4gbmljaCB3aWV0ZXJrb21tdCwKd2VpbCBtYW4gYXVmIFJlc2V0IHdhcnRlbiBtdXNzIG9kZXIgc28uLi5iZXNvbmRlcnMgaW4gUXVlc3Rlbi4uLgpaLkIuIEluZmVybm8gd2VubiBtYW4gYXVmIGRpZSBTdGVybmVua29uc3RlbGxhdGlvbiB3YXJ0ZW4gbXVzcyBvZGVyIDQgRWxlbWVudGUKYmVpbSBBbmdlbG4gb2RlciB3ZW5uIG1hbiBlaW5mYWNoIG5lbiBJdGVtIHdlZ2dlZ2ViZW4gaGF0IGFuc3RhdHQgZXMgZWluZmFjaApudXIgenUgemVpZ2VuLi4uCnVuZCBkYW5uIG5vY2htYWwgYWxsZXMgdm9uIHZvcm5lIG1hY2hlbiBtdXNzLi4uCk9kZXIgYWJlciwgd2FzIHZpZWwgc2NobGltbWVyIGlzcywgZ2V6d3VuZ2VuIGlzdCwgc3R1bmRlbiBhbiBlaW5lbSBzdHVlY2sKb25saW5lIHp1IHNlaW4sIHdpZSB6LkIuIGluIGRlciBBdWdlIGRlcyBUZXVmZWxzLVF1ZXN0LCBkaWUgKmxhY2gqIHNvIGluIDVoIHp1CmJld2FlbHRpZ2VuIHNlaW4gc29sbC4uLi4KYWxzbyB6dW1pbmRlc3QgYmVzb2dlbiBhdWYgUXVlc3RlIHNvbGx0ZW4gc29sY2hlIGtvc3RzcGllbGlnZW4gV2FydGVyZWllbiBvaG5lCk51dHplbiBmdWVyIGRlbiBTcGllbGVyIHZlcm1pZWRlbiB3ZXJkZW4sIGZpbmQgaWNoLi4uCgpJbW1lcmhpbiBzb2xsdGUgZG9jaCBkZXIgU3Bhc3MgaW0gVm9yZGVyZ3J1bmQgc3RlaGVuIHVuZCBnZW5lcnZ0CmR1cmNoa2Fsa3VsaWVyZW4gd2lldmllbCBtaWNoIGpldHp0IG5lIHF1ZXN0IHNjaG9uIGtvc3RldCwgd2VpbCBtYW4genVtIGlkbGVuCmdlend1bmdlbiBpc3MgYmVzdGltbXQga2VpbiBzcGFzcy4uCgpIZXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVsZWtvbSBzcG9uc29yZCBieSBNRyAoQW5hdG9sLCAgNy4gTWFyIDE5OTksIDAzOjQ4OjI3KToKfiMhIHJuPUhlcmEgcnQ9OTIwNzc3NTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwNzc3NTQxCldhcyB3aWxsc3QgRHUgbWl0IGRlbSBBcnRpa2VsIGF1c3NhZ2VuPyBBbiBkZXIgU3RpbW11bmcga3VlcnplbiwgZGFtaXQKZGllIGJvZXNlbiwgYm9lc2VuIFByb3ZpZGVyIHVuZCBkaWUgRGV1dHNjaGUgVGVsZWtvbSBkZW0gYXJtZW4gU3VjaHRpZQp3ZW5pZ2VyIEdlbGQgYXVzIGRlbiBUYXNjaGVuIHppZWhlbj8KCkljaCBlbXBmYW5kIGRhcyBXYXJ0ZW4gaW4gZGVyIEluZmVybm9xdWVzdCAobWF4LiAzMCBNaW51dGVuKSBhbHMgZWluZW4KemllbWxpY2hlbiBUaHJpbGwgKHdpZSBzY2hvbiBkaWUgZ2FuemUgUXVlc3Qgb2huZWhpbiBlaW5lbiBob2hlbiBMZXZlbApoYXQpLCB6dSBkZW0gZGFzIGJhbmdlIFdhcnRlbiBlaW5mYWNoIGdlaG9lcnQuCk9kZXIgdW0gRGVpbiBhbmRlcmVzIEJlaXNwaWVsIGV0d2FzIHp1IGVudGtyYWVmdGVuOiBEaWUgQWRULVF1ZXN0IG11c3MKZWluZmFjaCBzbyBnZXN0YWx0ZXQgc2VpbiwgIHdlbm4gc2ljaCBkZXIgTWFnaWVyIG5pY2h0IHppZyBTdHVuZGVuIG1pdApEaW5nZW4gYmVzY2hhZWZ0aWdlbiB3aWxsLCBkaWUgZGFzIFByb2JsZW0gbnVyIGhhbGIgbG9lc2VuLiAgQXVzc2VyZGVtCmthbm5zdCBEdSBhdWNoIGluIERFUiBRdWVzdCBqZWRlcnplaXQgYXVzc3RlaWdlbi4uLiB1bmQgRGljaCBpbm5lcmhhbGIKdm9uIDEwIE1pbnV0ZW4gd2llZGVyIGFuIGRpZSBQb3NpdGlvbiBicmluZ2VuLCBhbiBkZXIgRHUgd2Fyc3QuCgpMaWViZXIgU3BpZWxzcGFzcy4KQW5hdG9sIC0gZ3JhZCBtaXQgZGVtIE1vZGVtIGRyaW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogbWFnMnRpZXMgKFJpbmdvciwgIDcuIE1hciAxOTk5LCAxNzowNjo0Nik6Cn4jISBybj1EZWVwYmx1ZSBydD05MjA3Njk1NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKV2FydW0gbWFjaHN0IER1IGRhIFByb2JsZW1lLCB3byBlaWdlbnRsaWNoIGdhciBrZWluZSBzaW5kPwoKSmVtYW5kLCBkZXIgZWluIGxhdWZlbmRlcyBIb21lLU11ZCBtaXQgZGVyIGFrdHVlbGxlbiAodWVicmlnZW5zIGZyZWkKdmVyZnVlZ2JhcmVuKSBNdWRsaWIgc2VpbiBlaWdlbiBuZW5udCwgaGF0IGJpcyBhdWYgZGllIEdpbGRlbiBlaWdlbnRsaWNoCmFsbGVzLCB3YXMgZXIgenVtIFByb2dyYW1taWVyZW4gYnJhdWNodC4gWnVtaW5kZXN0IGhhdCBlciBkYW1pdCBtZWhyLCBhbHMgZWluCk1hZ2llciBtaXQgTGV2ZWwgMjAuCgpEYXMgZWluemlnZSBQcm9ibGVtIGlzdCBkYXMgRmluZXR1bmluZyBkZXIgTlBDcyBnYW56IGFtIFNjaGx1c3MsIGRhIG1hbiBlYmVuCmtlaW5lIFRlc3RpZXMgbWl0IFRvcGF1c3J1ZXN0dW5nIHVuZCBlbnRzcHJlY2hlbmRlbiBHaWxkZW5zcHJ1ZWNoZW4genVtIFRlc3Rlbgp6dXIgVmVyZnVlZ3VuZyBoYXQuIEFiZXIgZGllc2VzIEZpbmV0dW5pbmcgZ2VsaW5ndCBhdWNoIGRlbiBhbGxlcndlbmlnc3RlbgpNYWdpZXJuIG5vY2ggdm9yIEFuc2NobHVzcyBpaHJlciBHZWJpZXRlLiBEYWhlciBzZWhlIGljaCBkYXMgbmljaHQgYWxzCnNwZXppZmlzY2hlbiBOYWNodGVpbCBkZXIgU3BpZWxlci4gOy0pCgpWaWVsIHNjaHdlcndpZWdlbmRlciBpc3QgZGEgaW4gbWVpbmVuIEF1Z2VuIHNjaG9uIE1pbmRibGFkZXMgQXJndW1lbnQsIGRhc3MKZGVyIE1hZ2llciwgZGVyIGRhcyBHZWJpZXQgYW5zY2hsaWVzc3QsIGhpbnRlcmhlciBkYXMgR2ViaWV0IHBmbGVnZW4gImRhcmYiLgpEYSBmZWhsdCBkZW0gU3BpZWxlciBkYW5uIGVpbmZhY2ggZGVyIFp1Z3JpZmYgYXVmIGRpZSBSZXBmaWxlcyBldGMsIHdhcyBkaWUKUGZsZWdlIGRlcyBHZWJpZXRlcyBiZWxpZWJpZyB1bXN0YWVuZGxpY2ggbWFjaGVuIGR1ZXJmdGUuCgpSaW5nb3IuIEJldm9yenVndCBzdGF0dCAibWFuIiB1ZWJyaWdlbnMgImZpbmQgfCBncmVwIi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29tcGxpbWVudCAoVGVkZHksICA3LiBNYXIgMTk5OSwgMTc6NDI6MjQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkyMDY1MDYzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDY1MDYzMApTb3NvLCBlciBsaWVzc3QgZGllIE1QQSwgbmVubnQgbWFuIGRhcyBqZXR6dCBtaXQgZWlnZW5lbiBXYWZmZW4gZ2VzY2hsYWdlbj8KOy0pCgpUZWRkeSwga2FubiBqZWRlcnplaXQgYXVmaG9lcmVuLCB3ZW5uIGVyIHdpbGwgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBtYWcydGllcyAoSG9vZCwgIDcuIE1hciAxOTk5LCAyMDo1OTo0OSk6Cn4jISBybj1BbmF0b2wgcnQ9OTIwNjQ3NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1Cm1hbiBrYW5uIGVpbiB0aGVtYSBhdWNoIGRpc2t1dGllcmVuLCBvaG5lIHNlaW5lbSAiZ2VnZW5zcGllbGVyIiBvZWZmZW50bGljaApzY2h1bGRnZWZ1ZWhsZSBtaXQgZGl2ZXJzZW4gYW5kZXV0dW5nZW4genV6dXNjaGllYmVuLCBkaWUgbmljaHQgYWxsenV2aWVsZW4KbGV1dGVuIGhpZXIgd2FzIHNhZ2VuLiBkYXMgYmVrb21tZW4gZXJmYWhydW5nc2dlbWFlc3MgbmljaHQgbnVyIHZpZWxlIGluCmRlbiBmYWxzY2hlbiBoYWxzLCBlcyB6ZXVndCBhdWNoIG5pY2h0IHZvbiBlaW5lbSBzb25kZXJsaWNoIGd1dGVuCmJlbmVobWVuLgoKLS0tLS0tCnBhdHJ5biB3YXJ0ZXQgd2llZGVyIGF1ZiB2ZXJudWVuZnRpZ2UgYXJ0aWtlbCB2b24gYW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogbWFnMnRpZXMgKEhvb2QsICA3LiBNYXIgMTk5OSwgMjE6MDI6MjQpOgp+IyEgcm49TW9udGFudXMgcnQ9OTIwNzA0NjM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1Cm9oIGplLCBmdWVyIHdhcyBtdWVzc2VuIGRpZSB0b3BsaXN0ZW4gZGVubiBoZXV0ZSBoZXJoYWx0ZW46CiAgZGFzIG1hZ2llcnp3ZWl0aWVwcm9ibGVtLiBzdXBlci4gdW5kIHdlaWwgZXMgc28gc2Nob2VuIHp1c2FtbWVuZ2Vob2VydCwKICBzY2hhZmZlbiB3aWUgZGllIGhvZWNoc3QgdmVyZGFlY2h0aWdlbiBsZXZlbCBhdWNoIGdsZWljaCBtaXQgYWIuCgotLS0tLS0KcGF0cnluLCBkZXIgZGFyYXVmIHdhcnRldCwgZGFzcyBkaWUgdG9wbGlzdGVuIGZ1ZXIgZGFzIGdsb2JhbGUga2xpbWFwcm9ibGVtCiAgICAgICAgaGVyaGFsdGVuIG11ZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdXR0ZXIgdW5kIEtpbmQgZ2xlaWNoIGFsdC4gKEZvcmRwcmVmZWN0LCAgNy4gTWFyIDE5OTksIDIxOjMwOjQzKToKfiMhIHJuPUxlbmEgcnQ9OTIwNzU3MTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwNzU3MTU1CgpUamEuLi4KRGFzIGlzdCBudXIgZGFubiBtb2VnbGljaCB3ZW5uIFp3aWxsaW5nZSAoendlaWVpZ2UpIGltIE11dHRlcmxlaWIgc2luZC4gKEZhbGxzCm1hbiBhbm5pbW10IGRhc3MgYmVpZGUgZ2VzY2hsZWNodHNyZWlmIHNpbmQgdW5kIGRpZSBzY2h3YW5nZXJzY2hhZnQgYmVpIE11dHRlcgojMSBjYSA4MCBXb2NoZW4gZGF1ZXJ0LgpFcyBzZWkgZGVubiBNdXR0ZXIgdW5kIEtpbmQgdW5kIEtpbmQgdW5kIEtpbmQgYmVmaW5kZW4gc2ljaCBpbiBlaW5lcgpaZWl0c2NobGVpZmUsIGRhbm4ga29lbm50ZSBkYXMga2xhcHBlbgpEYXMgaXN0IGFiZXIgemllbWxpY2hlciBNdW1waXR6IChnbGF1YmUgaWNoIHp1bWluZGVzdCkgb2J3b2hsIEFydGh1ciBEZW50IGphCmF1Y2ggc2VpbiBVclVyVXIqMTBeeC1Hcm9zc3ZhdGVyIGlzdC4KCm5hY2hkZW5rbGljaApGb3JkIFByZWZlY3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBtYWcydGllcyAoS2V5LCAgOC4gTWFyIDE5OTksIDA4OjQxOjM2KToKfiMhIHJuPUxlbmEgcnQ9OTIwNzU4NDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CkRhbWl0IG91dGVzdGUgRGljaCBhbHMgU3BpZWxlciwgZGVyIGtlaW5lbiBNYWdpZXIgaGFiZW4gc29sbHRlIC4uLi4KCktleSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpZWxsZWljaHQgc29sbHRlIG1hbiBkZW4gQmVmZWhsIGFlbmRlcm4gKEhhc2ltLCAgOC4gTWFyIDE5OTksIDA5OjA0OjU0KToKT2ssIGljaCBzZWggaW1tZXJ3aWVkZXIsIGRhc3Mgc28gc2lubnZvbGxlIHNhZXR6ZSB3aWUgamV0enQgImljaCBkaWNoIGF1Y2giCmhpZXIgZXJzY2hlaW5lbi4uLiBpbiB2ZXJiaW5kdW5nIG1pdCBzYW5kLi4uIG9kZXIgc2NocmVpYmUgaW4gYnVjaC4uLgp2aWVsbGVpY2h0IHNvbGx0ZSBtYW4gZWluZmFjaCBkZW4gc2NocmVpYmUgYmVmZWhsIGZ1ZXIgZGllIHplaXR1bmcgc28gd2FlaGxlbiwKZGFzcyBlciBuaWNodCBlaW5mYWNoIHNvIGF1c3ZlcnNlaGVuIGdlbnV0enQgd2lyZCwgYWxzbyAiemVpdHVuZyIgc3RhdHQKc2NocmVpYmUgb2RlciBzby4uLiBhbmRlcmVyc2VpdHMgaXNzZXMgYXVjaCBpbW1lcndpZWRlciBrb21pc2NoLCBzb3dhcyB6dQpsZXNlbi4uLgpIYXNpbSwgbWFsIHdpZWRlciBuZSBkdW1tZSBpZGVlIGhhYmVuZC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXV0dGVyIHVuZCBLaW5kIGdsZWljaCBhbHQuIChOb25uZSwgIDguIE1hciAxOTk5LCAxMToxODo1MCk6Cn4jISBybj1Gb3JkcHJlZmVjdCBydD05MjA4NDIyNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3NTcxNTUKTmVpbiwgZGFzIHdhciBaYXBob2QgQmVlYmxlYnJveCwgZGEgZ2FiIGVzIGVpbmVuIFVuZmFsbCBtaXQgZWluZW0gS29uZG9tIHVuZAplaW5lciBaZWl0bWFzY2hpbmUuCkFiZXIgd2VubiBtYW4gZGVuIEdlZGFua2VuIHNvIHp1ZW5kZSBkZW5rdCwgZXJnZWJlbiBzaWNoIGRhIGphIGdhbnogbmV1ZQpQZXJzcGVrdGl2ZW4gZnVlciBCZWdpZXIsIG9kZXIgd2llIHNvbGwgaWNoIGRpZXNlIFVlYmVybGVnZXVuZ2VuIHZlcnN0ZWhlbj8KCk5vbm5lLgooU3RlaHQgbmljaHQgc28gYXVmIFNhZXVnbGluZ2UpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdXR0ZXIgdW5kIEtpbmQgZ2xlaWNoIGFsdC4gKFJvY2h1cywgIDguIE1hciAxOTk5LCAxNzoxMjoxNyk6Cn4jISBybj1Ob25uZSBydD05MjA4OTE5MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3NTcxNTUKTGllcyBub2NoIG1hbCBkYXMgRW5kZSB2b24gQmFuZCAyLiBEYXMgbWl0IEFydGh1ciBEZW50IHN0aW1tdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTXV0dGVyIHVuZCBLaW5kIGdsZWljaCBhbHQuIChNYWhhdG11LCAgOC4gTWFyIDE5OTksIDE3OjE1OjUwKToKfiMhIHJuPVJvY2h1cyBydD05MjA5MTMxMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3NTcxNTUKR2FicyBkYSBuaWNodCBlaW4gYmxvZWRlbiBIb3Jyb2ZpbG0gYXVmIFZpeFZveCBtaXQgZGllc2VyIFNwaWVsYXJ0PwpOYSBNYWhsemVpdC4KCkxlb25pZGFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogbWFnMnRpZXMgKFd1cnN0LCAgOC4gTWFyIDE5OTksIDE5OjIyOjEwKToKfiMhIHJuPUFuYXRvbCBydD05MjA3NTA2NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKClNvLCB1bmQgamV0enQgbXVzeiBpY2ggZG9jaCBhdWNoIG5vY2htYWwgbWVpbmVuIFNlbmYgZGF6dWdlYmVuCihuYWNoIEF1ZmZvcmRlcnVuZyBpbiBBcnRpa2VsIDEzMCAtIGV0d2FzIHZlcnNwYWV0ZXQpLgoKSWNoIHNpdHplIGhpZXIgbGFjaGVuZCB2b3IgZGVtIFJlY2huZXIsIGxlc2UgZGllIE1QQSB1bmQgZnJhZ2UKbWljaCwgb2IgZXMgZGVubiB3aXJrbGljaCBuaWVtYW5kZW0genUgZHVtbSB3aXJkLCBhdWYgZWluZW4gCndlaXQgdWViZXIgMTAwIEFydGlrZWwgbGFuZ2VuIFRocmVhZCB6dSBhbnR3b3J0ZW4sIGRlciBzaWNoIApzb3dpZXNvIG51ciBpbSBLcmVpcyBkcmVodC4gSWNoIGRlbmtlIGplZGVyIGhhdCBzZWluZSBNZWludW5nCmluendpc2NoZW4gdm9uIHNpY2ggZ2VnZWJlbiwgYnp3LiBzY2hvbiAxMHggZ2VsZXNlbiwgdW5kIHdlciAKaW1tZXIgbm9jaCBhdWYgZGllIHVsdGltYXRpdmUgTG9lc3VuZyBhbGxlciBQcm9ibGVtZSBob2ZmdCAKaGF0IHdvaGwgd2lya2xpY2ggbml4IGFuZGVyZXMgenUgdHVuIDpvKQoKTWVpbmUgTWVpbnVuZyBhbHMgQmV0cm9mZmVuZXIgaGllciBub2NobWFsIGt1cno6CkljaCBoYWJlIHNlaHIgdmllbCBaZWl0IHVuZCBhdWNoIHNlaHIgdmllbCBHZWxkIGluIGRlbiBtZWluZW4gClNwaWVsZXIgaW52ZXN0aWVydCB1bmQgbGllYmUgZXMgbmFjaCB3aWUgdm9yIGltIE1HIHp1IHNwaWVsZW4uCkFiZXIgZHVyY2ggZGFzIE11ZCBpbnNwaXJpZXJ0IHVuZCBiZWdlaXN0ZXJ0IGhhYmUgaWNoIGF1Y2gKc2VociB2aWVsZSBJZGVlbiwgZGllIGljaCB0ZWlscyBoaWVyIHZlcm1pc3N0IGhhYmUsIHVuZCBtaXIgCnRlaWxzIHNpY2hlciBiaW4sIGRhc3ogdmllbGUgTGV1dGUgU3Bhc3ogZGFyYW4gaGFldHRlbi4KCk1hZ2llciB6dSBzZWluIGlzdCBlaW4gdW5kYW5rYmFyZXIgSm9iLCBtYW4gaW52ZXN0aWVydCBpbiAKamVkZXMgZWluemVsbmUgT2JqZWt0IHNlaW5lIElkZWVuLCBzZWluZSBaZWl0IHVuZCBzZWluZSBQaGFudGFzaWUuCkVzIGdpYnQga2F1bSBTcGllbGVyLCBkaWUgZGFzIGRhbmtlbiwgaW0gR2VnZW50ZWlsLiBJY2ggbW9lY2h0ZQp3ZXR0ZW4sIGRhc3ogMy80IGRlciBTcGllbGVyIG5pY2h0ZWlubWFsIHdpc3Nlbiwgd2VyIGRhcyBHZWJpZXQKaW4gZGVtIHNpZSBzaWNoIGdlcmFkZSBiZWZpbmRlbiwgZ2VzY2hyaWViZW4gaGF0LgoKSWNoIGdsYXViZSwgZGFzeiBlaW4gU3BpZWxlciwgZGVyIHNlaW5lIElkZWVuIHVuZCBzZWluZSBaZWl0CmluIGRlbiBTcGllbHNwYXN6IGRlciBNdWRkZXIgaW52ZXN0aWVyZW4gd2lsbCBhdWNoIGRpZSBDaGFuY2UKZGF6dSBiZWtvbW1lbiBzb2xsdGUsIG9obmUgMS4pIGRhZnVlciBiZXN0cmFmdCB6dSB3ZXJkZW4gaW5kZW0KZXIgei5iLiBzZWluZSBhdWZ3ZW5kaWcgYXVmZ2ViYXV0ZSBTcGllbGZpZ3VyIHNwZXJyZW4vdW13YW5kZWxuCm11c3osIHVuZCAyLikgb2huZSBkYXN6IGlobSBqZW1hbmQgZGFmdWVyIGRhcyBzcGllbGVuIHZlcmJpZXRlbgpzb2xsdGUuCgpKZWRlciBNYWdpZXIgaXN0IGltIEdydW5kZSBlaW5lIEJlcmVpY2hlcnVuZyAgZnVlciBkYXMgTVVELCB1bmQgCndlciBlcmZhaHJlbmVyIFNwaWVsZXIgaXN0LCBlaW5lIEZpZ3VyICdvcGZlcnQnIHVtIGFrdGl2CmFuIGRlciBFbnR3aWNrbHVuZyBkZXMgTXVkcyBiZWl0cmFnZW4genUga29lbm5lbiB1bmQgdm9uIGVpbmVtCmVyZmFocmVuZW4gTWFnaWVyIGRhZnVlciBhbHMgZ2VlaWduZXQgYmVmdW5kZW4gdW5kIGdld2l6enQgd2lyZCwKc29sbHRlIG5pY2h0IHNvIG9lZmZlbnRsaWNoIGFscyBwb3RlbnRpZWxsZXIgU2NodW1tbGVyIApkZW51bnppZXJ0IHdlcmRlbiwgaWNoIGZpbmRlIGRhcyBldHdhcyBkYW5lYmVuLgoKTWljaCBzZWxic3QgZ2lidCBlcyBhdWNoIGF1cyBkaWVzZW0gZWluZW4gR3J1bmQuIE1laW4gV3Vuc2NoIHdhcgplcyBpbW1lciwgbWljaCBhbSBNdWQgYmV0ZWlsaWdlbiB6dSBrb2VubmVuLCB1bmQgZGVyIEdlZGFua2UKZGllIEZpZ3VyIHp1IG1pc3picmF1Y2hlbiB1bSBkYW1pdCBlaW5lbiBWb3J0ZWlsIGdlZ2VudWViZXIKYW5kZXJlbiBTcGllbGVybiB6dSBoYWJlbiwgb2RlciBpaG4gZWluZmFjaCB6dSB6aWVoZW4gd2VpbCBlcwpnZXJhZGUgJ01vZGUnIGlzdCwgaXN0IG1pciBkYWJlaSBuaWUgZ2Vrb21tZW4uCgpNZWluZXIgTWVpbnVuZyBuYWNoIGlzdCBlaW4gTWFnaWVyIGVpbiBndXRlciBNYWdpZXIsIHdlbm4gZXIgCmRpZSBTcGllbGVyIHRlaWxoYWJlbiBsYWVzenQgYW4gc2VpbmVuIElkZWVuLCBzZWluZSBaZWl0IGRlbQpTcGllbHNwYXN6IGFuZGVyZXIgb3BmZXJ0IHVuZCBzaWNoIEdlZGFua2VuIHp1ciBWZXJiZXNzZXJ1bmcKZGVyIFdlbHQgbWFjaHQsIHp1IGRlciB3aXIgYWxsZSBoaWVyIGdlaG9lcmVuLgpVbmQgZGFiZWkgaXN0IGVzIGVnYWwsIG9iIGVyIG5lYmVuYmVpIHNlbGJzdCBzcGllbHQsIG9iIGVyIG5vY2gKZWluZSBGaWd1ciBoYXQgdW5kIG9iIGVyIGplZGVuIFRhZywgZWlubWFsIHBybyBXb2NoZSBvZGVyIGF1Y2gKbnVyIGVpbm1hbCBpbSBKYWhyIHNlaW5lbiBCZWl0cmFnIGRhenUgbGVpc3RldC4KCkltIEdydW5kZSBnZWh0IGVzIGRvY2ggbnVyIHVtIGVpbmVzOiBTcGllbGVuLCBTcGFzeiBoYWJlbiB1bmQKYWxsIGRhcyB0dW4genUga29lbm5lbiwgd2FzIG1hbiBpbSBSTCBlYmVuIG5pY2h0IHR1biBrYW5uLgpVbmQgZGFiZWkgc29sbHRlbiB3aXIgdW0gamVkZW4gTWFnaWVyIGZyb2ggc2VpbiwgZGVyIHVucyBkaWUKR2VsZWdlbmhlaXQgZGF6dSBnaWJ0LCBvaG5lIGlobiBnbGVpY2ggaW4gaHVuZGVydGVuIHZvbiBBcnRpa2VsbgpiZXNjaGltcGZlbiB6dSBtdWVzc2VuLCB1bmQgc2VpcyBudXIgJ2dhbnogYWxsZ2VtZWluJy4KCkljaCBzZWxic3QgYmluIGFsbGVuIE1hZ2llcm4gc2VociBkYW5rYmFyLCBkaWUgbWlyIGJpc2hlciBzbyAKdmllbGUgYWJlbnRldWVybGljaGUgU3R1bmRlbiBlcm1vZWdsaWNodCBoYWJlbiwgdW5kIGljaCBhcmJlaXRlCmRhcmFuLCBhdWNoIGVpbm1hbCBlaW4gc29sY2hlciB6dSBzZWluLgoKU28gc2llaHRzIGF1cyEgOm8pCld1cnN0LCBkaWVzbWFsIGV0d2FzIG1laHIgc2NocmVpYmVuZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IG1hZzJ0aWVzIChHZXNhbmR0ZXIsICA5LiBNYXIgMTk5OSwgMDA6NDU6NTUpOgp+IyEgcm49S29vbWkgcnQ9OTIwNDg2Nzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CgpOYWphLAoKc3BhZXQgZ2VsZXNlbiwgYWJlciBiZXNzZXIgc3BhZXQgYWxzIGdhciBuaWNodC4KSW0gQW5zYXR6IHNjaG9uIGdhbnogZ3V0IEtvb21pLCBhYmVyIGxvZXNjaCBEaWNoIG5vY2ggZ2xlaWNoIG1pdCB1bmQgZGFzIE1VRAppc3Qgd2llZGVyIGV0d2FzIHNjaG9lbmVyLgoKR3V0ZXIgVm9yc2NobGFnIEtleQpHLnYuTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBtYWcydGllcyAoR2VzYW5kdGVyLCAgOS4gTWFyIDE5OTksIDAwOjU0OjIxKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTIwNTk4MjE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1ClNlbmYgMiwKCmhtIG1laW5lIEZyZXVuZGUgc2luZCBqYSBhbnNjaGVpbmVuZCBhbGxlIGF1ZiBkZXIgYW5kZXJlbiBTZWl0ZSwgYWJlciBpY2gKc3RpbW1lIFBhZHJlaWMgenUgKEFSR0ghKS4gTWFnaWVyIGlzdCBtYW4gdW5kIHdlbm4gbWFuIGVyc3RtYWwgInVlYmVyZ2V0cmV0ZW4iCmlzdCwgZ2lidHMgYXVjaCBrZWluIHJpY2h0aWdlcyB6dXJ1ZWNrIG1laHIuIEphamEsIGljaCBoYWIgZ3V0IHJlZGVuLCBkYQprZWluZW4gU2NoaW1tZXIgdm9tIFByb2dnZW4sIGFiZXIgZ2VuYXUgZGllc2UgR3JlbnplIHNjaGVpbnQgSGV1dHp1dGFnZSBuaWNodAptZWhyIGtsYXIuIFdhcnMgYWJlciBtYWwsIGplZGVuZmFsbHMgaGF0dGUgaWNoIGRlbiBFaW5kcnVjay4KCk5hamEsIGljaCBoYWJtamEga2VpbmUgQWhudW5nCkcudi5MLgoKUC5TLjogVmVydGVpZGlnZW4gaGllciBFaW5pZ2UgZWhlciBCZXNpdHpzdGFlbmRlIGFscyBJZGVhbGU/IEZyYWcgamEgbnVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29tcGxpbWVudCAoR2VzYW5kdGVyLCAgOS4gTWFyIDE5OTksIDAxOjAwOjA5KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjA2NTA2MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA2NTA2MzAKUm9lY2hlbCwKCmRhIHd1bmRlcnQgc2ljaCBqZW1hbmQgZGFzIGRlciBNRFIgbmUgc2NobGVjaHRlIFJlcHV0YXRpb24gaGF0PyBOaWUgZGllCmVpZ2VuZW4gU2VuZHVuZ2VuIGdlc2VoZW4gb2RlciB3YXM/CgpHLnYuTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLb21wbGltZW50IChBcmlhbmEsICA5LiBNYXIgMTk5OSwgMTQ6MDQ6MTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkyMDY1MDYzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDY1MDYzMApuZWluLCBlciB3aW9sbCBuaWVtYW5kIGFuIGRlbiBwcmFuZ2VyIHN0ZWxsZW4sIGVzIHNvbGwgbnVyIHdlciBvZWZmZW50bGljaCBpbQpmZXJuc2VoZW4gc2FnZW46ICJoYWxsbywgbWVpbiBuYW1lIGlzdCB5eXkgdW5kIGljaCBiaW4gbXVkc3VlY2h0aWcuIgp3YXMgc29sbCBkYXMgcHVibGlrdW0gZGFubiBhbnR3b3J0ZW4/ICJoYWxsbyB5eXkuIiB3aWUgYXVmIG5lbSBBQSB0cmVmZmVuPwoKYXJpYW5hICpzaWNoIGRpZSBrb25zZXJ2YXRpdmVuIGVsdGVybiwgZGllIGlocmVuIGtpbmRlcm4gZGFyYXVmaGluIGRlbgpuZXR6enVnYW5nIHNwZXJyZW4gdm9yc3RlbGxlbiBrb2VubmVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZWxla29tIHNwb25zb3JkIGJ5IE1HIChBcmssICA5LiBNYXIgMTk5OSwgMTk6MjE6MDApOgp+IyEgcm49SGVyYSBydD05MjA3Nzc1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3Nzc1NDEKSG0sIHdlbm4gbWFuIHVlYmVyIG1laW5lIFZlcmJyZWNoZW4gaGllciBpbSBNRyBzcHJpY2h0LCBmdWVobGUgaWNoIG1pY2ggaW1tZXIKZ2Vub2V0aWd0LCBhdWNoIHp1IHNlbmZlbiAqZ3J1ZWJlbCogOi0pCkFhYWFhbHNvOiBEaWUgUXVlc3QgJ0RhcyBBdWdlIGRlcyBUZXVmZWxzJyBoYXQgamEgc2NoZWluYmFyIGRvY2ggc28gZWluZW4KZ2V3aXNzZW4gYWJzY2hyZWNrZW5kZW4gUnVmIC0gaXJyZSBpY2ggbWljaCBkYT8gLSBlcmhhbHRlbi4gVHJvdHpkZW0sIHVuZCBpY2gKYmluIGtlaW4gTWl0YXJiZWl0ZXIgZGVyIFRlbGVrb20sIHdlcmRlIGljaCBhbSBLb256ZXB0IG5pY2h0cyBhZW5kZXJuLiBXYXJ1bQphdWNoLCBkZW5uIGhpZXIgbXVzcyBtYW4gc2ljaGVybGljaCBOSUNIVCBhdWYgYWVyZ2VybGljaGUgUmVzZXRzIHdhcnRlbiwgd2VpbApkZXIgZWluZSBvZGVyIGFuZGVyZSBHZWdlbnN0YW5kIGdlcmFkZSBtYWwgd2llZGVyIHZvbiBqZW1hbmQgYW5kZXJlbQp3ZWdnZWdyaWZmZWx0IHd1cmRlLiBBbHNvIGRhcyBBcmd1bWVudCB3aXNjaGUgaWNoIGVpbmZhY2ggbWFsIHNvIHdlZy4gTmFqYSwgYW0KQW5mYW5nIGthbWVuIEtsYWdlbiBkYXJ1ZWJlciwgZGFzcyBpbW1lciBudXIgZWluZXIgcmVpbmthbm4uIEF1Y2ggZGFzIGJpbiBpY2gKYmVyZWl0IHp1IGlnbm9yaWVyZW4gOi0pIEVpbmZhY2ggZGVzaGFsYiwgd2VpbCBzaWUgYWxzICdIb3Jyb3JxdWVzdCcgZ2VwbGFudAp3YXIuIERhcyBBbGxlaW5zZWluIGltIEhhdXMgZXJyZWljaHQgbWFuIGhhbHQgbnVyIHNvLCBwYXJhbGxlbGVzIExvZXNlbiB3b2xsdGUKaWNoIG5pY2h0LiBFaW4gd2VuaWcgWmVpdCBtaXRicmluZ2VuIG11c3MgbWFuLCBrbGFyLCBhYmVyIGRhcyBsaWVndCBlaGVyCmRhcmFuLCBkYXNzIGVzIGVpbmUgSGlnaGxldmVsLVF1ZXN0IGlzdCwgdW5kIGRpZSBkYXJmIGR1cmNoYXVzIGV0d2FzIGRhdWVybi4KRGFzIFdpY2h0aWdzdGUgaXN0IG1pciBiZWkgbmVyIFF1ZXN0IGltbWVyIGRpZSBTdG9yeSwgZGEgZ2VoZW4gc29sY2hlIERpbmdlCndpZSBMYWVuZ2UgZHVyY2hhdXMgbWFsIGRlbiBCYWNoIHJ1bnRlci4gTWFjaHQgbml4LCB3ZW5uIG1hbiBuZSBTdG9yeSBhdWZiYXVlbgprYW5uLCBvZGVyPyBBdXNzZXJkZW0gaGFiZSBpY2ggbWlyIGVybGF1YnQsIGVpbiBwYWFyIERldGFpbHMgZWluenVmdWVnZW4sIHVuZApkaWUgd29sbGVuIGhhbHQgdW50ZXJzdWNodCBzZWluICphZWhlbSouClNvLCB3YXJ1bSBoYWJlIGljaCBqZXR6dCB3aWVkZXIgc28gbGFuZ2UgZ2VsYWJlcnQ/IEhtLCBlaW5mYWNoIG51ciwgZGFtaXQKbmljaHQgZGVyIEVpbmRydWNrIGVudHN0ZWh0LCBpY2ggd29sbHRlIGVzIGRlbiBTcGllbGVybiB1bXN0YWVuZGxpY2ggbWFjaGVuLgpEaWUgUXVlc3Qgd2FyIGVpbiBFeHBlcmltZW50LCBlcyB3YXIgZGllIGVyc3RlLCB1bmQgaGV1dGUgd3VlcmRlIGljaCBtaXIKdmllbGxlaWNodCBoaWVyIG9kZXIgZGEgYW5kZXJlIEdlZGFua2VuIHp1IG1hY2hlbi4KRWdhbCwgRmF6aXQ6IHdlbm4gaWNoIGJlaSBRdWVzdGVuIGFuIGRpZSBUZWxla29tIGRlbmtlbiBtdXNzLCBkYW5uIGxhc3MgaWNoJ3MKbGllYmVyLCBzb3JyeSA6LSkKU28sIGdlbnVnIGdlbGFiZXJ0LCB3ZW5uIGlociBkYXMgaGllciBiaXMgenVtIFNjaGx1c3MgbGVzdCwgc2luZCB3aWVkZXIgZWluCnBhYXIgUGZlbm5pZyB3ZWcsIGhpaGkuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWxla29tIHNwb25zb3JkIGJ5IE1HIChBcmssICA5LiBNYXIgMTk5OSwgMTk6MjE6NDMpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMDc3ODUwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDc3NzU0MQpIbSwgZGEgaGFldHRlIGljaCBtaXIgZGVuIEFydGlrZWwgdGVpbHMgc2NoZW5rZW4ga29lbm5lbiwgYWJlciBpY2ggbG9lc2NoIGlobgpuaWNodCwgYWV0c2NoIDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IG1hZzJ0aWVzIChBcmssICA5LiBNYXIgMTk5OSwgMTk6Mjc6MzMpOgp+IyEgcm49UmluZ29yIHJ0PTkyMDgyNjQwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpBbHNvIGljaCBob2ZmZSwgZXMgZ2lidCBrZWluZSBNYWdpZXIsIGRpZSBzaWNoIGRhenUgYnJlaXRzY2hsYWdlbiBsYXNzZW4sClNhY2hlbiB2b24gU3BpZWxlcm4gYW56dXNjaGxpZXNzZW4gOi0pCldlbm4gZG9jaCwgbmFqYSwgZGFubiBtdWVzc2VuIHNpZSBoYWx0IG5hY2hoZXIgYXVjaCBkZW4gS29wZiBoaW5oYWx0ZW4uIEljaAptYWNoJ3MgbmljaHQsIGljaCBiZXphaGwnIGphIGF1Y2ggaW1tZXIgbWl0IG1laW5lbSBOYW1lbiB1bmQgbmljaHQgbWl0IGRlbQplaW5lcyBhbmRlcmVuIDteKSBVbmQgUmVwZmlsZS1QZmxlZ2UgbWFjaGUgaWNoIG51ciBkYW5uLCB3ZW5uIGVzIGlyZ2VuZHdvIGluCmRlciBSZWdpb24gYnJlbm50IG9kZXIgZGVyIE1hZ2llciBhdWYgYWJzZWhiYXJlIFplaXQgbmljaHQgbWVociBpbnMgTXVkIGtvbW10CipIdWNoLCBkYSBtdXNzIGljaCBqYSBtYWwgZ3Vja2VuLi4uKgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZlcmthdWZlIGFsbGVzLi4uIChKYXNwZXIsIDExLiBNYXIgMTk5OSwgMDE6MTE6MDMpOgp2aWVsbGVpY2h0IHNvbGx0ZSBtYW4gYWxzIHNwaWVsZXIgbm9jaCBhbmdlYmVuIGtvZW5uZW4gYmlzIHp1IHdlbGNoZW0KJXNhdHogbWFuIGFsbGVzIHZlcmthdWZlbiB3aWxsLCAxMCUga29lbm50ZSBqYSBlaW5pZ2VuIHp1IG5pZWRyaWcgc2Vpbi4KCmphc3BlciBkZW5rdCBhbiBkaWUgbGV1dGUgbWl0IGRlbiBzZWx0c2Ftc3RlbiB2ZXJrYXVmZSBzY3JpcHRlbiwgZGllCnZpZWxlbGljaHQgZXJzdG1hbCBhbGxlIGxhZWRlbiBtaXQgOTAlIGR1cmNodGVzdGVuIHdvbGxlbiwgYmV2b3Igc2llCmlocmVuIGtyYW0gZnVlciAxMCUgdmVya2F1ZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTXV0dGVyIHVuZCBLaW5kIGdsZWljaCBhbHQuIChMZW5hLCAxMS4gTWFyIDE5OTksIDE3OjQ3OjExKToKfiMhIHJuPVJvY2h1cyBydD05MjA5MTMxMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjA3NTcxNTUKa2FubiBtaXIgd2VyIGJhbmQgMyBiaXMgc2NobHVzcyBtYWwgYXVzbGVpaGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IG1hZzJ0aWVzIChNb250YW51cywgMTIuIE1hciAxOTk5LCAxNTozNTozNCk6Cn4jISBybj1XdXJzdCBydD05MjA5MjA5MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjAwNDY0MDUKCld1cnN0LAoKZ2liIGVzIHp1OgpEdSBiaXN0IGVpbiBad2VpdGllIHZvbiBBY3JpbW9uLgpTb25zdCBzY2hyZWlidCBrZWluZXIgZGFzICJzeiIgc28uCgpMb2VzY2h0IGFsbGUgWndlaXRpZXMhCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1c2ZhbGwgKFJvY2h1cywgMTUuIE1hciAxOTk5LCAxMToxMDoyOCk6CkJldm9yIGljaCBqZWRlbSBlaW56ZWxuIGVya2xhZXJlbiBtdXNzLCB3YXMgZGVubiBlYmVuIGxvcyB3YXI6Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmQ6IDE1LjAzLjE5OTksIDA5OjAzIFVocgpBa3R1ZWxsZSBTdG9lcnVuZ2VuOgotIDE1LjAzLjogV2VnZW4gZWluZXMgQmF1Z3J1cHBlbmF1c2ZhbGxzIGFtIGxva2FsZW4gQi1XaU4tQVRNLVN3aXRjaAogIGlzdCB6dXIgWmVpdCBrZWluZSBLb21tdW5pa2F0aW9uIG1pdCBTeXN0ZW1lbiBhdXNzZXJoYWxiCiAgZGVzIFVuaXZlcnNpdGFldHpuZXR6ZXMgbW9lZ2xpY2guIE1pdCBlaW5lciBCZWhlYnVuZyBkZXIgU3RvZXJ1bmcgZHVyY2gKICBkaWUgVGVsZWtvbSBpc3Qgdm9yYXVzc2ljaHRsaWNoIG5pY2h0IHZvciBjYS4gMTAuMzAgVWhyIHp1IHJlY2huZW4uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1c2ZhbGwgKFJlZmFyZG9uLCAxNS4gTWFyIDE5OTksIDE0OjM2OjA0KToKfiMhIHJuPVJvY2h1cyBydD05MjE0OTYyMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE0OTYyMjgKSGFoYSwgbmljaHQgdm9yIDEwLjMwID8/PwpXYXMgc2luZCBzY2hvbiA0IFN0dW5kZW4gdW50ZXIgTXVkZGVybiA7KS4uLgoKUmVmYXJkb24sIHNpY2ggaGV1dGUgbW9yZ2VuIGVpZ2VudGxpY2ggZ2VmcmV1dCBoYWJlbmQsIGVuZGxpY2ggbWFsIGZydWVoZXIKYW4gZGVyIFVuaSB6dSBzZWluIDspIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdXR0ZXIgdW5kIEtpbmQgZ2xlaWNoIGFsdC4gKFFpdGVzcywgMTUuIE1hciAxOTk5LCAxNjo1Mzo0NSk6Cn4jISBybj1CeW5hbmRyZWwgcnQ9OTIwNzY0NDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwNzU3MTU1Cm1laW5lcyBlcmFjaHRlbnMgZ2FiIGVzIHNvd2FzIGFlaG5saWNoZXMgdGF0c2FlY2hsaWNoIG1hbCwgYWJlciBkYXMga2luZCBpbQpraW5kZXJsZWliIHdhciBuYXR1ZXJsaWNoIHdlZGVyIGxlYmVuc2ZhZWhpZyBub2NoIGlyZ2VuZHdpZSBzZWhyIHdlaXQKZW50d2lja2plbHQgb2RlciB3YXMgYXVjaCBpbW1lci4gZGEgaXN0IG51ciBiZWkgZGVyIHplbGx0ZWlsdW5nIChvZGVyIHNvKQppcmdlbmR3YW5uIGVpbiBmZWhsZXIgdW50ZXJsYXVmZW4sIHdvIGRhbm4gZGFzIGtpbmQgc296dXNhZ2VuIHNlaW5lbiB6d2lsbGluZwppbiBzaWNoIGRyaW4gaGF0dGUuIAppcmdlbmR3aWUgc28gd2FyIGRhcy4KUUkqKiBIYWxiaGVpdGVuIGVyemFlaGxlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogbWFnMnRpZXMgKFNvbmdva3UsIDE2LiBNYXIgMTk5OSwgMTM6MzQ6NDApOgp+IyEgcm49TW9udGFudXMgcnQ9OTIxMjUyOTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIwMDQ2NDA1CldpZSBzb2xsIG1hbiBkYXMgc3ogc29uc3Qgc2NocmVpYmVuPz8gClNheW9uYXJhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFzc3dvZXJ0ZXIgKENhdHdlYXpsZSwgMTYuIE1hciAxOTk5LCAxNTo1ODo0Myk6Ck1vaW4hCgpJY2ggaGFiZSBtYWwgdm9yIExhbmdld2VpbGUgZWluZW4gc2NhbiB1ZWJlciBhbGxlIFBhc3N3b2VydGVyIGRlcyBNR3MgZ2VtYWNodC4KSWNoIG11c3N0ZSBkYWJlaSBtaXQgRXJzY2hyZWNrZW4gZmVzdHN0ZWxsZW4sIGRhcyBrYXVtIGplbWFuZCBlaW4KdmVybmV1bmZ0aWdlcyBQYXNzd29ydCBnZXNldHp0IGhhdC4KSWNoIGtvbm50ZSBpbm5lcmhhbGIgdm9uIGZ1ZW5mIFRhZ2VuIDc2NSBQYXNzd29lcnRlciBoZXJhdXNmaW5kZW4sIGRhcyBpc3QKbWVociBhbHMgamVkZXMgdmllcnRlLiAKTnVuIG1hZyBtYW4gc2ljaCBkZW5rZW4sICdwZmZmLCBzaW5kIGphIG51ciBtZy1wYXNzd29lcnRlcicsIGFiZXIgd2VubiBtYWwKamVtYW5kIGFuZGVyZXIgc2ljaCBtaXQgc2VpbmVtIGVpZ2VuZW4gQ2hhcmFrdGVyIGVpbmxvZ2d0IHVuZCBkZXIgZGFubiBNaXN0CmJhdXQsIGlzdCBkYXMgR2VzY2hyZWkgd2llZGVyIGdyb3NzLiBJY2ggbW9lY2h0ZSBub2NobWFsIGRhcmF1ZiBoaW53ZWlzZW4sCmRhc3MgamVkZXIgU3BpZWxlciBzZWxiZXIgdm9sbCB2ZXJhbnR3b3J0bGljaCBpc3QgZnVlciBzZWluZW4gQ2hhcmFrdGVyIHVuZAphdWNoIGZ1ZXIgZGVzc2VuIFRhdGVuIChQbGF5ZXJraWxscywgdW0gbnVyIGVpbiBCZWlzcGllbCB6dSBuZW5uZW4pLiBEYXMKUGFzc3dvZXJ0ZXIgdm9uIE1hZ2llcm4gbmljaHQga25hY2tiYXIgc2VpbiBzb2xsdGVuLCBkdWVyZnRlIGphIHdvaGwga2xhciBzZWluCih1bmQgamEsIGF1Y2ggZGF2b24gaGFiIGljaCBlaW4gcGFhcikuCkljaCBoYWJlIGFsbCBkZW5qZW5pZ2VuLCBkZXJlbiBQYXNzd29ydCBpY2ggaGFiZSBlaW4gbWFpbCBnZXNjaGlja3QsIG1pdApIaW53ZWlzZW4sIHdpZSBtYW4gc2ljaCBlaW4gYmVzc2VyZXMgcGFzc3dvcnQgc3VjaHQsIGljaCBiaXR0ZSBkYXJ1bSBkaWVzIGF1Y2gKenUgdHVuLiBBdWNoIHdlbm4gRHUga2VpbmUgTWFpbCB2b24gbWlyIGJla29tbWVuIGhhc3QsIHNvbGx0ZXN0IER1IERpcgp1ZWJlcmxlZ2VuLCBvYiBkYXMgUGFzc3dvcnQgd2lya2xpY2ggc2ljaGVyIGlzdCwgb2RlciBvYiBEdSBlcyB2aWVsbGVpY2h0CnNvZ2FyIGZyZWl3aWxsaWcgamVtYW5kZW0gZ2VnZWJlbiBoYXN0LiBMYWV1ZnQgJ0RlaW4nIENoYXJha3RlciBlcnN0IG1hbCBBbW9rLAp1bmQgd2lyc3QgJ0R1JyBkYXJhdWZoaW4gZ2Vsb2VzY2h0LCBpc3QgZXMgbGVpZGVyIHp1IHNwYWV0LgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBJY2ggaGFzc2UgemVpbGVudW1icmVjaGVuZGVzIHRlbG5ldC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IG1hZzJ0aWVzIChBY3JpbW9uLCAxNi4gTWFyIDE5OTksIDE3OjIxOjMzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTkyMTI1MjkzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMDA0NjQwNQpJY2ggYmluIGJlaSBXZWl0ZW0gbmljaHQgZGVyIEVpbnppZ2UsIGRlciBoYWxid2VncyB2ZXJudWVuZnRpZyBzY2hyZWliZW4ga2Fubi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3BvdHRlIChNaW5kYmxhZGUsIDE2LiBNYXIgMTk5OSwgMjE6MjM6MjApOgpTbywgaGllciBtYWwgbmVuIGVpZ2VuZXIgVGhyZWFkIHVuZCBuaWNodCB2ZXJzdGVja3Qgendpc2NoZW4gYW5kZXJlbgpBcnRpa2VsbiE6KQpXb3J1bSBlcyBnZWh0PyAtPiBzcG90dGUKV2FzIGlzdCBkYXM/IE5hY2hkZW0gbWFuIGVpbiBNb25zdGVyIG5pZWRlcmdlc3RyZWNrdCBoYXQsIGthbm4gbWFuIHNpY2ggZ2VuYXUKd2llIGRpZSBNb25zdGVyIGF1ZiBkZW0gVG9kZXNrYW5hbCBuZW4gbmV0dGVuIGtsZWluZW4gU3BydWNoIGVpbmZhbGxlbiBsYXNzZW4KdW5kIGRhcyBNb25zdGVyICJ2ZXJzcG90dGVuIi4KCldpZSBpY2ggZ2Vob2VydCBoYWJlIHNpbmQgd29obCBlaW5pZ2UgZGFnZWdlbiwgd2VpbCBlcyBzbyBldHdhcyBpbiBhbmRlcmVuCk11ZHMgc2Nob24gZ2lidCB1bmQgZXMgImFiZ2VrdXBmZXJ0IiB3YWVyZS4KSWNoIHBlcnNvZW5saWNoIGZpbmRlIGVzIGVpbiBsdXN0aWdlcyBuZXR0ZXMgRmVhdHVyZSB1bmQgc2VpZW4gd2lyIG1hbAplaHJsaWNoLCB3ZWxjaGUgTXVkcyBoYWJlbiBuaWNodCBhbGxlIHZvbSBNRyAiYWJnZWt1cGZlcnQiLiBJY2ggYmluIGRlcgpNZWludW5nLCBkYXNzIG1hbiBydWhpZyBlaW5pZ2UgZ3V0ZSBTYWNoZW4gdWViZXJuZWhtZW4ga2Fubiwgd2VubiBzaWUgZGVuClNwaWVsZXJuIFNwYXNzIG1hY2hlbi4KVmllbGxlaWNodCBnaWJ0cyBqYSBhdWNoIGFuZGVyZSwgZGllIGRpZXNlcyBGZWF0dXJlIG5ldHQgZmluZGVuIG9kZXIgZXMgYXVzCmlyZ2VuZHdlbGNoZW4gR3J1ZW5kZW4gYWJsZWhuZW4sIGFsc28gc2NocmVpYnQgbWFsIGV1cmUgTWVpbnVuZ2VuITopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3BvdHRlIChNaW5kYmxhZGUsIDE2LiBNYXIgMTk5OSwgMjE6MjQ6MTcpOgp+IyEgcm49TWluZGJsYWRlIHJ0PTkyMTYxOTQwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApBZWhtIGVyc2V0enQgbWFsIFRvZGVza2FuYWwgZHVyY2ggTW9lcmRlciE7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNwb3R0ZSAoVGVkZHksIDE2LiBNYXIgMTk5OSwgMjE6Mjk6NDMpOgp+IyEgcm49TWluZGJsYWRlIHJ0PTkyMTYxOTQwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApIYWIgaWNocyBzY2hvbm1hbCBlcndhZWhudD8gQmVzdGltbXQgOykKClRyb3R6ZGVtIGRhZnVlciEKClRlZGR5LCBoYXQgc2Nob24gaW4gZGVyIFNjaHVsZSBhYmdla3VwZmVydCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzcG90dGUgKE9ya3RvZXRlciwgMTYuIE1hciAxOTk5LCAyMTozMDowNSk6Cn4jISBybj1NaW5kYmxhZGUgcnQ9OTIxNjE5NDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCkVnYWwsIHdvIGVzIGhlcmtvbW10LCBkaWUgSWRlZSBpc3QgbmV0dCwgYWxsZXJkaW5ncyB3dWVyZGUgaWNoIGRhcyBkZXMgc2Nyb2xscwp3ZWdlbiBiZWdyZW56ZW4uIEVyc3RlbnMgaW4gZGVyIFphaGwgZGVyIFplaWNoZW4vWmVpbGVuIHVuZCB6d2VpdGVucyBlbnR3ZWRlcgp6ZWl0bGljaCwgb2RlciBnYXIgc28sIGRhcyBtYW4gZGFmdWVyIGplZGVzbWFsIGVpbiBUb2xsIGJyYXVjaHQsIGRhcyBtYW4gZXJzdApiZXNvcmdlbiBtdXNzIChzb2xsdGUgZXMgYXVjaCBuaWNodCB1ZWJlcmFsbCB1bmQgdW1zb25zdCBnZWJlbikKCk9ya1QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNwb3R0ZSAoS2V5LCAxNi4gTWFyIDE5OTksIDIxOjMyOjQ3KToKfiMhIHJuPU9ya3RvZXRlciBydD05MjE2MTk4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKQmVncmVuenQgaXN0IGVzIGRvY2ggc2Nob24gYWxsZWluZSBkYWR1cmNoIGRhcyBuZXQgamVkZXIgbnBjIGRlbiBtYW4ga2lsbHQgYXVmCm1vZXJkZXIgYXVmdGF1Y2h0IC4uLgoKVW5kIHdlbm4gaWNoIG1pY2ggcmVjaHQgZXJpbm5lcmUga2FubiBtYW4gbnVyIGRhbm4gc3BvdHRlbiB3ZW5uIGRlciBucGMgYXVjaAphdWZ0YXVjaHQKCktleSwgZWdhbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhc3N3b2VydGVyIChBc21vZGlzLCAxNi4gTWFyIDE5OTksIDIxOjQzOjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjE1OTk5MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE1OTk5MjMKQWxsZSBKYWhyZSB3aWVkZXIgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzcG90dGUgKEFzbW9kaXMsIDE2LiBNYXIgMTk5OSwgMjE6NDU6NTUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTkyMTYxOTgwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApIbW0sIHNvd2VpdCBpY2ggd2Vpc3MsIGdlaHQgZGFzIGVoIG51ciB3ZW5pZ2UgU2VrdW5kZW4gbmFjaCBkZW0gS2lsbC4KVmllbGUgTGV1dGUga29lbm5lbiBlaCBuaWNodCBzbyBzY2huZWxsIHRpcHBlbiwgZGFzcyBzaWUgZGEgbmVuCmhhbGJlbiBSb21hbiBzY2hyZWliZW4uIEF1c3NlcmRlbSBpc3QgZGVyIE1vZXJkZXJrYW5hbCBlaCB6dW0gc2Nyb2xsZW4KZGEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3BvdHRlIChab29rLCAxNi4gTWFyIDE5OTksIDIyOjMxOjUzKToKfiMhIHJuPU1pbmRibGFkZSBydD05MjE2MTk0MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKClpvb2sgaXN0IGRhZnVlci4gTmV0dGUgdW5kIGx1c3RpZ2UgU2FjaGUuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzcG90dGUgKEZvb2JhciwgMTcuIE1hciAxOTk5LCAwMDowMjowNik6Cn4jISBybj1ab29rIHJ0PTkyMTYyMzUxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApXaWUgd2FlcnMsIHdlbm4gbWFuIHp1bSBTcG90dGVuIE1QcyB2ZXJicmF0ZW4gbXVlc3N0ZT8KCkZvb2JhciAobmljaHQgaGF1ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzcG90dGUgKEhhc2ltLCAxNy4gTWFyIDE5OTksIDAwOjA5OjEyKToKfiMhIHJuPUZvb2JhciBydD05MjE2Mjg5MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKRE9DSCEKSGFzaW0sIHNlaW5lIE1QcyBiZWhhbHRlbiB3b2xsZW5kIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzcG90dGUgKEFzbW9kaXMsIDE3LiBNYXIgMTk5OSwgMDA6MDk6NDEpOgp+IyEgcm49Rm9vYmFyIHJ0PTkyMTYyODkyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApIbW0sIGRhcyBpc3QgZ2VtZWluIGdlZ2VuIGthcmF0ZWthcywgZGllIGhhYmVuIG5hY2ggZWluZW0ga2FtcGYgbWVpc3RlbnMga2VpbmUKTVBzIG1laHIgOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzcG90dGUgKEhvb2QsIDE3LiBNYXIgMTk5OSwgMDA6MTE6MDIpOgp+IyEgcm49QXNtb2RpcyBydD05MjE2MjkzODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKZWluIG5hY2h0ZWlsIG1laHIgb2RlciB3ZW5pZ2VyIGZ1ZXIgZGllIGthcmF0ZWthLi4uZmFlbGx0IGRvY2ggZWggbmljaHQKd2VpdGVyIGF1ZiA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogc3BvdHRlIChBc21vZGlzLCAxNy4gTWFyIDE5OTksIDAwOjI5OjEwKToKfiMhIHJuPUhvb2QgcnQ9OTIxNjI5NDYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCk5lcnZ0IG1pY2ggc2Nob24sIHdlbm4gaWNoIGtlaW4gZWNobyBtYWNoZW4ga2Fubiwgd2VpbCBzaWNoIG1laW5lIE1Qcwpub2NoIG5pY2h0IHJlZ2VuZXJpZXJ0IGhhYmVuIDotCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBzcG90dGUgKExlbmEsIDE3LiBNYXIgMTk5OSwgMDk6MTY6MjApOgp+IyEgcm49QXNtb2RpcyBydD05MjE2MzA1NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKV2llIHdhZXJzIG1pdCBuZW0gYXV0b2xvYWQtdG9vbCBhbHMgUXVlc3QtQmVsb2hudW5nPwpWaWVsbGVpY2hlIGluIG5lciBvcHRpb25hbGVuIFF1ZXN0LCBkaWUgZWggbnVyIFNlaGVyIG1hY2hlbiBrb2VubmVuPwpVbmRtYW4ga2FubiBpbiBkZW0gVG9vbCBlaW5lbiBUZXh0IHNwZWljaGVybiwgZGVyIGRhbm4gaW0gRmFsbGUgZWluZXMKIi1Nb2VyZGVyIi13dWVyZGlnZW4gS2lsbHMgYXVzZ2VnZWJlbiB3aXJkPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogc3BvdHRlIChLZXksIDE3LiBNYXIgMTk5OSwgMTA6MTk6MDgpOgp+IyEgcm49TGVuYSBydD05MjE2NjIxODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKSG1tbSBuZXR0ZSBJZGVlLCBhYmVyIG5pY2h0IGF1dG9tYXRpc2NoIC4uLi4KV2VubiBpY2ggd2VuIHZlcnNwb3R0ZW4gd3VlcmRlIGRhbm4gd2FlcmUgZXMgbmVuIE5QQyBkZXIgbWljaCB2b3JoZXIgZ2VoYXVlbgpoYXQgOykgRGllIGFuZGVyZW4gc2luZCBlZ2FsID07KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzcG90dGUgKFNjaG9rbywgMTcuIE1hciAxOTk5LCAxMDo0MjozMik6Cn4jISBybj1LZXkgcnQ9OTIxNjY1OTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCgpLZXksIERpY2ggaGF1dCBkb2NoIGVoIGplZGVzIE1vbnN0ZXIsIG9kZXI/IDspCgpTY2hva28gKHNvbGx0ZSBLZXkgYXVjaCBtYW5jaG1hbCBrcmFlZnRpZyBoYXVlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHNwb3R0ZSAoS29vbWksIDE3LiBNYXIgMTk5OSwgMTI6Mzc6MzcpOgp+IyEgcm49TGVuYSBydD05MjE2NjIxODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKSG1tLCBub2NoIGVpbiBhdXRvbG9hZC1vYmpla3QgZnVlciBkaWUgU3BpZWxlcj8KCk1laW5lIFNoYW5uYXJhIGhhdCBkYXMgaGFsYmUgaW52ZW50b3J5IHZvbGxlciBhdXRvbG9hZG9iamVrdGUgYXVzIFF1ZXN0cyB1bmQKYW5kZXJlbiBTYWNoZW4sIHdhZXJlIG5pY2h0IG5ldHQuCgpWaWVsbGVpY2h0IGVpbmUgLSB3aWUgc2Nob24gYW5nZXNwcm9jaGVuIC0gTG9lc3VuZywgZGllIE1hZ2llcHVua3RlIHZlcmJyYXVjaHQKdW5kIGFiIFNlaGVyc3RhdHVzIHZlcmZ1ZWdiYXIgaXN0PwoKSGFsYmVsZiBLb29taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc3BvdHRlIChUYXJpbmEsIDE3LiBNYXIgMTk5OSwgMTI6NTY6MzkpOgp+IyEgcm49S29vbWkgcnQ9OTIxNjc0MjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCgpFcyBnaWJ0IGRhIGRvY2ggZGllIE1vZWdsaWNoa2VpdCwgZGllIEF1dG9sb2FkLVNhY2hlbiBhdXMgZGVtIG5vcm1hbGVuCmludi1iZWZlaGwgcmF1c3p1bGFzc2VuLiBOaWVtYW5kIG11c3Mgc3RhZW5kaWcgc2VoZW4sIHdhcyBlciBhbiBhdXRvbG9hZCBoYXQuCgpUYXJpbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHNwb3R0ZSAoWWVuZGksIDE3LiBNYXIgMTk5OSwgMTM6Mjk6MzEpOgp+IyEgcm49S29vbWkgcnQ9OTIxNjc0MjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCklycmUgaWNoIG1pY2gsIG9kZXIgZ2lidCBlcyBkdXJjaGF1cyBkaWUgTW9lZ2xpY2hrZWl0LCBBdXRvbG9hZG9iamVrdGUgd2llZGVyCmxvc3p1d2VyZGVuPyBEYXMgbXVlc3N0ZSBkYW5uIGRvY2ggcmVpY2hsaWNoIFBsYXR6IGltIFJ1Y2tzYWNrIGdlYmVuLCBvZGVyPwoKOykKCllUWQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzcG90dGUgKEFuYXRvbCwgMTcuIE1hciAxOTk5LCAxNDo1MjowNSk6Cn4jISBybj1ZZW5kaSBydD05MjE2NzczNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKVW5zZXJlIGZsZWlzc2lnZW4gUnVtZGlza3V0aWVyZXIgc29sbHRlbiwgYmV2b3Igc2llIG1pdCBBdXRvbG9hZG9iamVrdGVuLApNYWdpZXB1bmt0ZW4sIFNlaGVycmVzdHJpa3Rpb25lbiBoZXJ1bXdlcmZlbiwgdmllbGxlaWNodCBtYWwgZWluZW4gQmxpY2sKaW4gZWluZXMgZGVyIE11ZHMgd2VyZmVuLCBpbiBkaWUgU3BvdHRtb2VnbGljaGtlaXQgenVtIFNlcnZpY2UgZ2Vob2VydC4KCkFuYXRvbAoKUFM6IEhhdCBlaW5lciBlaW5lIFVtcmVjaHVuZ3N0YWJlbGxlIGxlbmE8LS0+a29vbWkgPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzcG90dGUgKExlbmEsIDE3LiBNYXIgMTk5OSwgMTU6MjY6NTUpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTY4MjMyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApIZXksIHdhciBudXIgZWluIFZvcnNjaGxhZy4KTmljaHQgZ2xlaWNoIHNvIGFncmVzc2l2LCBBbmF0b2wuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0hCLVJhdHRlbi4gKFBhdHJ5biwgMTcuIE1hciAxOTk5LCAxOToyODowMyk6Cn4jISBybj1MZW5hIHJ0PTkyMTY5NzUxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTY5NzUxOQppY2ggd2VyZCBtYWwgbWVpbiB0b2Rlc2xvZyB1bWtvcGllcmVuIHVtIGRlbiBub2V0aWdlbiBwbGF0eiBmdWVyIGV1Y2gKenUgc2NoYWZmZW4gOykKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHNwb3R0ZSAoVGVkZHksIDE3LiBNYXIgMTk5OSwgMjA6MDY6MTgpOgp+IyEgcm49S2V5IHJ0PTkyMTY2NTk0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApJcyBkYXMgYmVpIGRpciBuZW4gVW50ZXJzY2hpZWQ/CgpUZWRkeSwgc2llaHQgc2Nob24gZGllIE1lbGR1bmc6IER1IGthbm5zdCBkaWNoIG5pY2h0IGRhcmF1ZiBrb256ZW50cmllcmVuCmRlaW5lbiBHZWduZXIgenUgdmVyc3BvdHRlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHNwb3R0ZSAoVGVkZHksIDE3LiBNYXIgMTk5OSwgMjA6MDc6NDUpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTY4MjMyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApJY2ggZGFjaHRlIGRlciBWb3JzY2hsYWcga2FtLCB3ZWlsIHdpciBpbiBhbmRlcmUgTVVEcyBnZXNjaGF1dCBoYWJlbi4KClRlZGR5Clp1IGRlaW5lbSBQLlMuIGFrdHVlbGxlciBVbXJlY2hudW5nc2t1cnMgMToxLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogc3BvdHRlIChOZXZvaywgMTcuIE1hciAxOTk5LCAyMDowODoxNCk6Cn4jISBybj1UZWRkeSBydD05MjE3MDExNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKYmVsaWVidCBpc3QgYXVjaApEZWluIEtvZXJwZXIgZ2Vob3JjaHQgRGlyIG5pY2h0IG1laHIKCk5ldm9rLCBkZXIgVE9EIG51ciBub2NoIGluIGRlbiBEaXNjd29ybGQgQnVlY2hlcm4gYmVnZWduZW4gbW9lY2h0ZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1RBUiBXQVJTIGlzdCBlYmVuIGRhcyBiZXN0ZSA6KSAoU3RpbmcsIDE3LiBNYXIgMTk5OSwgMjA6MjY6MTQpOgpNYXJjaCAxNiwgMTk5OSAtLSBUaGUgcG9wdWxhcml0eSBvZiB0aGUgU3RhciBXYXJzOiBFcGlzb2RlIEkgdHJhaWxlciBoYXMgc2V0CmFuIEludGVybmV0IHJlY29yZCB3aXRoIG92ZXIgMy41IG1pbGxpb24gZG93bmxvYWRzIHNpbmNlIGl0IGZpcnN0IHByZW1pZXJlZApsYXN0IFRodXJzZGF5LCBNYXJjaCAxMS4KCgpXT1cgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzcG90dGUgKEtvb21pLCAxNy4gTWFyIDE5OTksIDIwOjQ1OjA5KToKfiMhIHJuPVRhcmluYSBydD05MjE2NzUzOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKTGVpZGVyIGlzdCBkYXMgR2VsZCBhdWNoICdhdXRvbG9hZCcgdW5kIG1hbiBzaWVodCBlcyBuaWNodCwgd2VubiBtYW4gaSAtYQplaW5naWJ0LgoKSGFsYmVsZiBLb29taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHNwb3R0ZSAoS29vbWksIDE3LiBNYXIgMTk5OSwgMjA6NDY6MDIpOgp+IyEgcm49QW5hdG9sIHJ0PTkyMTY4MjMyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApEYW5rZSBBbmF0b2wsIGRhc3MgZHUgZ2xlaWNoIGltbWVyIHBlcnNvZW5saWNoIGJlbGVpZGlnZW5kIHdpcnN0LgoKSGFsYmVsZiBLb29taS4gaGV1dGUgZXR3YXMgZ2VuZXJ2dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzcG90dGUgKEphbWVzb24sIDE3LiBNYXIgMTk5OSwgMjA6NDc6MDUpOgp+IyEgcm49S29vbWkgcnQ9OTIxNzAzNTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCldlbm4gRHUgaSBtYWNoc3QsIHVtIHp1IHNlaGVuLCB3aWV2aWVsIEdlbGQgRHUgaGFzdCwgYmlzdCBEdSBlaCBzZWxiZXIKc2NodWxkIGFuIERlaW5lbSBzY3JvbGwgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBzcG90dGUgKEFyaywgMTcuIE1hciAxOTk5LCAyMTowODowNSk6Cn4jISBybj1MZW5hIHJ0PTkyMTY2MjE4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApOb2UsIHdpZSB3YWVyNHMgbWl0IG5lbSBrYXVmYmFyZW4gKGF1c3NjaGxpZXNzbGljaCBpbiBsYWVkZW4gZXJoYWx0YmFyZW0pCk9iamVrdD8gU28gZmxpZXNzdCB2aWVsbGVpY2h0IG1laHIgR2VsZCBpbiBkaWUgTGFlZGVuLCBkaWUgc2luZCBuaWNodCBzbwpzY2huZWxsIHBsZWl0ZSwgZXRjLi4uLiA/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc3BvdHRlIChSaW5nb3IsIDE3LiBNYXIgMTk5OSwgMjE6NTA6MDgpOgp+IyEgcm49QXJrIHJ0PTkyMTcwNDg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApJcmdlbmR3byBpc3QgZXMgc2Nob24gc3Vlc3MsIHdpZSBzY2huZWxsIGRpZSBEaXNrdXNzaW9uIHppZWxzaWNoZXIga25hcHAgYW0KVGhlbWEgdm9yYmVpIGdlaHQuIDotKQoKTnVyIGFscyBrbGVpbmUgT3JpZW50aWVydW5nc2hpbGZlOiB3aWUgZGVyIEJlZmVobCAic3BvdHRlIiBpbXBsZW1lbnRpZXJ0CndlcmRlbiBrb2VubnRlIHVuZCBtaXQgd2VsY2hlbiBFaW5zY2hyYWVua3VuZ2VuLCBpc3QgZ2VuYXUgc28gbGFuZ2Ugdm9sbGtvbW1lbgp1bmludGVyZXNzYW50LCB3aWUgZGllIFZlcmFudHdvcnRsaWNoZW4gaGllciBnZW5lcmVsbCBnZWdlbiBkZW4gRWluYmF1IHNpbmQuCgpEaWUgVW1mcmFnZSwgZGllIE1pbmRibGFkZSBnZXN0YXJ0ZXQgaGF0LCBzb2xsdGUgZWlnZW50bGljaCBudXIgemVpZ2VuLCBvYiBkZXIKQmVmZWhsIHdpcmtsaWNoIHNvIHNlaHIgZ2V3dWVuc2NodCB3aXJkLCB3aWUgZWluaWdlIFNwaWVsZXIgZ2xhdWJlbi4gRGVubgphcmd1bWVudGF0aXYgZ2VnZW4gZWluZSBBdXNzYWdlIHdpZSAibWFuIG11c3MgamEgbmljaHQgYWxsZXMgR3V0ZSBhdXMgYW5kZXJlbgpNdWRzIGtvcGllcmVuIiBhbnp1Z2VoZW4sIGlzdCBldHdhcyBzY2h3aWVyaWcuIDstKQoKQWxzbyB6ZXJicmVjaHQgZXVjaCBuaWNodCBkZW4gS29wZiB1ZWJlciBFaW5zY2hyYWVua3VuZ2VuIHZvbiBldHdhcywgd2FzIGVoCm5pY2h0IGVpbmdlYmF1dCB3aXJkLiBTb3JndCBsaWViZXIgZGFmdWVyLCAqZGFzcyogZXMgZWluZ2ViYXV0IHdpcmQuIDstKQoKUmluZ29yLiBQcm8gInNwb3R0ZSIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc3BvdHRlIChKaWRkdSwgMTcuIE1hciAxOTk5LCAyMzoyNzo1Mik6Cn4jISBybj1Lb29taSBydD05MjE3MDM1MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKa2F1ZiBkaXIgbmUgZ2VsZGJvZXJzZSB1bmQgZHUgc2llaHN0IGVzIQpKaWRkdS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHNwb3R0ZSAoQXNtb2RpcywgMTguIE1hciAxOTk5LCAwNDowNjoxMCk6Cn4jISBybj1BcmsgcnQ9OTIxNzA0ODg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIxNjE5NDAwCkhtbSwgbWFuIGtvZW5udGUgbm9jaCB2aWVsIE1laHIgZ2VsZCBlaW5zcGFyZW46CldpZSB3YWVycywgd2VubiBqZWRlcyBzcG90dGVuIDEwIE11ZW56ZW4ga29zdGV0ID8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzcG90dGUgKEJvaW5nLCAxOC4gTWFyIDE5OTksIDA5OjUyOjA0KToKfiMhIHJuPVJpbmdvciBydD05MjE3MDc0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKSWhyIGtvZW5udCBhdWZob2VyZW4genUgZGlza3V0aWVyZW4sIGlociBoYWJ0IG1pY2ggamEgdWViZXJ6ZXVndCAuLi4gOykKV29vZHkgd2FyIHNvIGZyZXVuZGxpY2ggbWlyIGRlbiBDb2RlIGF1cyBTaWxiZXJsYW5kIHp1IHNjaGlja2VuLCBpY2gKYnJhdWNoIG51ciBub2NoIGplbWFuZCwgZGVyIGVzIGVpbmJhdXQgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzcG90dGUgKEJvaW5nLCAxOC4gTWFyIDE5OTksIDExOjE5OjQ2KToKfiMhIHJuPUJvaW5nIHJ0PTkyMTc1MDcyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMApIYWIgamVtYW5kIGdlZnVuZGVuIC4uLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBzcG90dGUgKFNvbmdva3UsIDE4LiBNYXIgMTk5OSwgMTQ6NDI6MzMpOgp+IyEgcm49UmluZ29yIHJ0PTkyMTcwNzQwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTYxOTQwMAppY2ggYXVjaCBQUk8uCjh3ZW5uIG1hbiB2b24gbWlyIGF1Y2ggc2VlZWVlaHIgc2VsdGVuIHdhcyBsZXNlbiB3aXJkL0thcmF0ZWthIGltIFRyYWluaW5nCm9kZXIgImJla29tbWUgaWNoIGRpZSBBbWVpc2UgYXVmIG5pY2h0IG1laHIgc28gZml0dCBiaXMgbWVpbmUga29uegphdWZnZWJyYXVjaHQgaXN0PykKU2F5b25hcmEhCihzYWd0ZSBpY2ggc2Nob24sIFBSTz8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogc3BvdHRlIChCb2luZywgMTguIE1hciAxOTk5LCAxNToyNjozMyk6Cn4jISBybj1Cb2luZyBydD05MjE3NTU5ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKaGlsZmUgc3BvdHRlCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc3BvdHRlIChUZWRkeSwgMTguIE1hciAxOTk5LCAxOToxNToxNCk6Cn4jISBybj1Cb2luZyBydD05MjE3NTA3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE2MTk0MDAKaHVlcGYgOy0pKSkKClRlZGR5LCBMYWVzdGVyL1Nwb3R0bWF1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9uc3RlcmVsc3Rlcm4gKFJhcmRpYW4sIDE5LiBNYXIgMTk5OSwgMTc6MjQ6MjgpOgpIaSBNaXRtdWRkaWVzLAprZWluZSBBaG51bmcsIG9iIG1laW4gQXJ0aWtlbCBpbiBkZXIgcmljaHRpZ2VuIFJ1YnJpayBnZWxhbmRldAppc3QsIGFiZXIgaWNoIHdvbGx0ZSBtaWNoIG1hbCB1ZWJlciBkaWUgZGllYmlzY2hlbiBFbHN0ZXJuIGJlc2Nod2VyZW4uCkljaCBiaW4gc2VpdCBTZXB0ZW1iZXIgbGV0enRlbiBKYWhyZXMgaW0gTVVELCB1bmQgbWlyIHd1cmRlCmJpcyBsZXR6dGUgV29jaGUgbm9jaCBuaWUgd2FzIHZvbiBlaW5lciBFbHN0ZXIgZ2VrbGF1dC4KU2VpdCBsZXR6dGVyIFdvY2hlIGFiZXIsIHZlcmxpZXJlIGljaCBiZWkgamVkZW0gRHVyY2gtCmxhdWZlbiB3YXMgYW4gZGllc2UgZHVtbWVuIFZpZWNoZXIuIEljaCBmaW5kZSBlcyBqYSBnYW56IG5ldHQsCndlbm4gZWluZSBFbHN0ZXIgZWluZW0gYWIgdW5kIGFuIGVpbmVuIGJsaW5rZW5kZW4KR2VnZW5zdGFuZCByYXVidC4gQWJlciBFbHN0ZXJuLCBkaWUgbWlyIG1laW5lIEF1Z2Vua2xhcHBlIGF1cyBkZW0gR2VzaWNodApyZWlzc2VuIHVuZCB0b25uZW53ZWlzZQptaXQgUGFrZXRlbiwgU2Nod2VydGVybiwgUnVlc3R1bmdlbiB1bmQgYWVobmxpY2hlbSBCZWxhZGVuIHNpbmQsCmhhbHRlIGljaCBmdWVyIG1laHIgYWxzIHVucmVhbGlzdGlzY2guLi4gQWVuZGVydCBkYXMgZG9jaCBiaXR0ZSBtYWwuCgpSYXJkaWFuLCBFbHN0ZXJuZ2VzY2hhZWRpZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eC1YZW9uIChTdGluZywgMjAuIE1hciAxOTk5LCAxODozMjowNSk6CkZ1ZXIgYWxsZSBMaW51eC1GcmV1bmRlIGhpZXIgKGFsc28gYWxsZSAqbGFjaCopCgpBIExpbnV4IGNvbXB1dGVyIG1ha2VyIHZlbmRvciBtYXkgYmVhdCBvdXQgbW9yZSBtYWluc3RyZWFtIGNvbXBldGl0b3JzIHN1Y2ggYXMKSUJNIGFuZCBIUCB3aXRoIHRoZSBmaXJzdCBlaWdodC1wcm9jZXNzb3IgWGVvbiBtYWNoaW5lIGJhc2VkIG9uIG5ldyBJbnRlbCBjaGlwCnRlY2hub2xvZ3kuCgpMaW51eCBjb21wdXRlciBtYWtlciBWQSBSZXNlYXJjaCBhaW1zIHRvIGVyYXNlIHRoZSB0cmFkaXRpb25hbCBsYWcgYmV0d2Vlbgp3aGVuIG5ldyBoYXJkd2FyZSBpcyBpbnRyb2R1Y2VkIGFuZCB3aGVuIExpbnV4LWJhc2VkIG1hY2hpbmVzIHRha2UgYWR2YW50YWdlCm9mIGl0LiBCdXQgd2hlbiBWQSBzaGlwcyBpdHMgc2VydmVycyBiYXNlZCBhcm91bmQgWGVvbiBwcm9jZXNzb3JzIGFuZCB0aGUKZWx1c2l2ZSBQcm9mdXNpb24gY2hpcHNldCBuZXh0IG1vbnRoLCBpdCBsb29rcyBsaWtlIHRoZSBjb21wYW55IHdpbGwgb3ZlcnNob290CnRoZSBtYXJrLiBJdCB3b24ndCBtZXJlbHkgYmUgY2F0Y2hpbmcgdXAgdG8gY29tcGV0aXRvcnMsIGJ1dCB3aWxsIGJlIGFoZWFkIG9mCnRoZW0uIAoKVkEgZXhwZWN0cyBpdHMgZmlyc3QgZWlnaHQtd2F5IHNlcnZlcnMgdG8gYmVnaW4gc2VsbGluZyBpbiBtaWQtQXByaWwsIGNoaWVmCmV4ZWN1dGl2ZSBMYXJyeSBBdWd1c3RpbiBzYWlkLiBUaGF0J3MgbW9udGhzIGJlZm9yZSB0aGUgbWFpbnN0cmVhbQpjb21wZXRpdGlvbi4gCgpJbiBjb250cmFzdCwgSUJNIHBsYW5zIHRvIGJlZ2luIHNlbGxpbmcgaXRzIHNlcnZlcnMgaW4gSnVuZSwgSGV3bGV0dC1QYWNrYXJkCnNheXMgc2Vjb25kIG9yIHRoaXJkIHF1YXJ0ZXIsIGFuZCBDb21wYXEgc2F5cyBpdHMgZWlnaHQtd2F5IHNlcnZlcnMgd2lsbCBiZQphdmFpbGFibGUgb25seSBpbiB0aGUgc2Vjb25kIHF1YXJ0ZXIuIEV2ZW4gRGVsbCwgdHJhZGl0aW9uYWxseSBhIHZlbmRvcgpxdWlja2VzdCBvdXQgb2YgdGhlIGdhdGVzIHdpdGggbmV3IEludGVsIHRlY2hub2xvZ3ksIGRvZXNuJ3QgZXhwZWN0IGl0cwpzeXN0ZW1zIHVudGlsIHN1bW1lci4gCgpJbnRlbCdzIGhpZ2gtZW5kIFhlb24gY2hpcHMgYWxyZWFkeSBjYW4gYmUgZ3JvdXBlZCB0b2dldGhlciBpbiBnYW5ncyBvZiBmb3VyLApidXQgSW50ZWwncyB1cGNvbWluZyBQcm9mdXNpb24gY2hpcCBzZXQgZG91YmxlcyB0aGUgcHJvY2Vzc29yIGNvdW50LCBhbGxvd2luZwp0d28gZ3JvdXBzIG9mIGZvdXIgWGVvbnMgaW5zaWRlIHRoZSBzYW1lIGJveCB0byBzaGFyZSB0aGUgbWVtb3J5IGFuZAppbnB1dC1vdXRwdXQgc3lzdGVtLiAKCgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb25zdGVyZWxzdGVybiAoQXBzdSwgMjAuIE1hciAxOTk5LCAxODozNjoyNSk6Cn4jISBybj1SYXJkaWFuIHJ0PTkyMTg2NDI2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTg2NDI2OApOb2NoIG5pZSB3YXM/Pz8gcmllY2h0IG5hY2ggQnVnIC4uLiA6KQoKU3VwZXJ3dXJzdCBBcHN1IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4LVhlb24gKE5ldm9rLCAyMC4gTWFyIDE5OTksIDIwOjQ5OjExKToKfiMhIHJuPVN0aW5nIHJ0PTkyMTk1NDcyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMTk1NDcyNQpmdWVyIHZvbGxzdHVkZW50ZW4ga29zdGV0IHZtd2FyZSA5OS4tJCAoa2FubiBzZWluLCBkYXNzIGVzIEthbmFkaXNjaGUgRG9sbGFycwpzaW5kKSwgQmVPUyB3aXJkIG5ldCB1bnRlcnN0dWV0enQuLi4uYmVpIGZyYWdlbiBrYW5uIG1hbiBzaWNoIGFuIG1pY2ggd2VuZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vbnN0ZXJlbHN0ZXJuIChBcmlhbmEsIDIyLiBNYXIgMTk5OSwgMDA6MDI6MTIpOgp+IyEgcm49UmFyZGlhbiBydD05MjE4NjQyNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE4NjQyNjgKamEsIGljaCBzZWggZGFzIGFlaG5saWNoLCB1bmQgZGFubiBpcyBzaWUgYXVjaCBub2NoIHBlcm1hbmVudCBzY2huZWxsZXIgdW5kCnZvZWxsaWcgZmVpZ2UKCmFyaWFuYSAqbGVpZGVyIG5vY2ggZXR3YXMga2xlaW4gdW5kIGRlc2hhbGIgbGFuZ2UgYW0gbWV0emVsbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5pY2h0IGdsZWljaCBuZXJ2b2VzIHdlcmRlbiA6KSAoQ2F0d2VhemxlLCAyMi4gTWFyIDE5OTksIDE2OjA0OjUxKToKRllJOgotLS0tLQpCZXRyaWVic3VudGVyYnJlY2h1bmc6CkRvIDI1LjAzLiA3LjAwLTkuMDAgVW50ZXJicmVjaHVuZyBkZXMgQi1XaU4tQW5zY2hsdXNzZXMgZGVyIFdXVQogICAgICAgICAgZnxyIHZvcmF1c3NpY2h0bGljaCAxNSBNaW51dGVuLgotLS0tLQpJY2ggd3Vzc3RlcyBzY2hvbiBpbW1lciwgbWl0IE1hdGhlbWF0aWsgdW5kIGRlciBVaHJ6ZWl0IGhhdHRlIGVzIApkYXMgUmVjaGVuemVudHJ1bSBuaWNodCBzbyBnZW5hdS4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vbnN0ZXJlbHN0ZXJuIChTb25nb2t1LCAyMi4gTWFyIDE5OTksIDE3OjQ4OjU0KToKfiMhIHJuPUFyaWFuYSBydD05MjIwNjA5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE4NjQyNjgKbWlyIGhhYmVuIGRpZSBzb2dhciBtYWwgbmUgbiBhbmdlem9nZW5lbiBMZW5kZW5zY2h1cnogZ2VrbGF1dC4KCnNheW9uYXJhKHNjaG9ubWFsIG5lbiBrYXJhdGVrYSBhdWYgRWxzdGVybmphZ2QgZ2VzZWhlbj8/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4LVhlb24gKEFyaywgMjIuIE1hciAxOTk5LCAyMDozNDo0NCk6Cn4jISBybj1TdGluZyBydD05MjE5NTQ3MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjE5NTQ3MjUKU2NobmFyY2gsIHdlbm4gaWNoIHNvd2FzIHNjaG9uIGhvZXJlIC4uLgpNZWluIGtsZWluZXIgQXJiZWl0Z2ViZXIgaGF0IEVuZGUgRmVicnVhciBtaXQgUmVkSGF0IGVpbiBkZW1lbnRzcHJlY2hlbmRlcwpBZ3JlZW1lbnQgYW5ub3VuY2VkLCBkYW5uIGdpbmcgZGFzIFJhdHpmYXR6LCBhdWNoIENvbXBhcSB1bmQgSFAgem9nZW4gbmFjaCwKd2FzIGRpZSBVbnRlcnN0dWV0enVuZyB2b24gTGludXggYXVmIEludGVsLWJhc2llcnRlbiBTZXJ2ZXJuIGJldHJpZmZ0LiBDb21wYXEKaGF0IHNvZ2FyIGdyb3Nzc3B1cmlnIGVpbmVuIDh3ZWluZW4gOC13YXkgUHJvTGlhbnQgaGluZ2VzdGVsbHQgYXVmIGRlciBDZWJpdC4KTmFqYSwgaWNoIGR1cmZ0ZSBuaWNodCByZWluc2NoYXVlbiA6LSkKQXVjaCB3ZW5uIGRpZXNlIEJ1ZGUgKHNvcnJ5IHdnLiBkZW4gQXVzZHJ1ZWNrZW4gOi0pICkgd2FzIGVpbiBwYWFyIE1vbmF0ZQpmcnVlaGVyIGFua3VlbmRpZ3QsIGZyYWd0IHNpY2gsIG9iIGVzIGF1Y2ggbGllZmVyYmFyIGlzdCAobmljaHQgbnVyIGVpbiBwYWFyCkRlbW9tb2RlbGxlLCBkaWUgc3RlaGVuIGJlaSB1bnMgYXVjaCBydW0pLiBJbnRlbCBpc3QgamEgZGEgd2llIEFNRCBhdWNoLAplcnN0bWFsIGFua3VlbmRpZ2VuLCBkZW4gUmVzdCwgZGEgc2NoYXVuIHdlciBtYWwuCk1hbCBhYmdlc2VoZW4gZGF2b24sIGRhc3MgS3VuZGVuIGJpcyBhdWYgZWluIHBhYXIgQW53ZW5kdW5nZW4gKEVSUCBEYXRhYmFzZSwKRGF0YSBXYXJlaG91c2UsIFRlcm1pbmFsIFNlcnZlcikgZGllIDggUHJvemVzc29yZW4gKEhlaXp1bmdlbikgbm9jaCBuaWNodApudXR6ZW4uIElzdCB2b3IgYWxsZW0gZWluIHRlY2hub2xvZ2lzY2hlcyBTdHVlY2tjaGVuIGFsYSAnV2lyIHNpbmQgZ2VydWVzdGV0CmZ1ZXIgZGllIFp1a3VuZnQnLCBuYWphLCBiZXNvbmRlcnMgQ29tcGFxIGJlaGVycnNjaHQgZGFzIGphLCBGZWF0dXJlcwpydWViZXJ6dWJyaW5nZW4sIGRpZSBLdW5kZW4gZXJzdCBpbiBlaW4gcGFhciBKYWhyZW4gcmljaHRpZyBudXR6ZW4uIEVnYWwsIGFiZXIKZGllIHBhYXIgTW9uYXRlLCBkaWUgZGllc2UgS2xpdHNjaGUgVm9yc3BydW5nIGhhdCAoPz8/KSwgd2lyZCBrZWluZW4KZ3JvZXNzZXJlbiBLdW5kZW4gc28gc2NobmVsbCB2b24gZGVuIEhhdXB0bGllZmVyYW50ZW4gLi4uLCBDb21wYXEsIEhQLCBEZWxsCihuYWphKSB3ZWdicmluZ2VuLiBMaW51eCB3ZXJkZW4gc2llIGJlaSBhbGxlciBIYXNzbGllYmUgenUgTVMgYWxsZQp1bnRlcnN0dWV0emVuLCBkYSBmdWVocnQga2VpbiBXZWcgZHJhbiB2b3JiZWksIHVuZCB3YXJ1bSBzb2xsdGUgbWFuIGFsc28gYXVmCmRpZXNlIFZBIFJlc2VhcmNoIGdlaGVuPwpXZW5uIGRpZSBpaHJlIFNlcnZlciBzbyB6dXNhbW1lbmtsYXRzY2hlbiB3aWUgZWluIGZyYW56b2VzaXNjaGVyIEhlcnN0ZWxsZXIKKGdlZ2VudWViZXIgZGVyIE1pY3Jvc29mdC1CdXJnIHp1IGJld3VuZGVybiksIGRhbm4gbXVzcyBkYXMgbmllbWFuZGVuCnNvbmRlcmxpY2ggYmV1bnJ1aGlnZW4sIHZvbSBmZWhsZW5kZW4gd2VsdHdlaXRlbiBTZXJ2aWNlIChkYXMgdW50ZXJzdGVsbGUgaWNoCm1hbCkgYWJnZXNlaGVuLgpQcm9mdXNpb24gVGVjaG5vbG9naWUga2FubiBlaCBqZWRlciBlaW5zZXR6ZW4uClNvLCBnZW51ZyBnZXNjaHdhZXR6dCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1SZWNobmVyLVVtenVnIHVuZCBTcGVuZGVuYXVmcnVmIChDYXR3ZWF6bGUsIDIzLiBNYXIgMTk5OSwgMTY6MTE6MTYpOgoKTW9pbiBNb2luIQoKVGphLCBudW4gaXN0IGVzIGxlaWRlciBiYWxkIHNvd2VpdCwgbWVpbiBTdHVkaXVtIGVuZGV0LCBtZWluIEpvYiBpbiBkZXIgClJlY2huZXJ3YXJ0dW5nIGF1Y2gsIHVuZCBkYW1pdCB2ZXJsaWVyZW4gd2lyIGRpZSBsYW5nZSwgbGFuZ2UgQmxlaWJlCmRlcyBNb3JnZW5HcmF1ZW4tSGF1cHRxdWFydGllcnMgaW0gTWF0aGVtYXRpay9JbmZvcm1hdGlrLUZhY2hiZXJlaWNoCmRlciBVbml2ZXJzaXRhZXQgTXVlbnN0ZXIuIAoKTWVpbiBDaGVmIHN0ZWh0IGF1ZiBkZW0gdmVyc3RhZW5kbGljaGVuIFN0YW5kcHVua3QsIGRhc3MgZGVyIFJlY2huZXIgCmRhIG51ciBzdGVoZW4gYmxlaWJlbiBrYW5uLCBzb2xhbmdlIGplbWFuZCBhdXMgZGVyIFN5c3RlbXdhcnR1bmcgZGFzIApEaW5nIHdhcnRlbiBrYW5uLiBEYSBpY2ggbGVpZGVyIGtlaW5lbiBuZXVlbiBNdWRkZXIgaGVyYW56dWVjaHRlbgprb25udGUsIHN0ZWh0IGRlbW5hZWNoc3QgbWFsIHdpZWRlciBlaW4gX1VtenVnXyBhbiEKCrREZW1uYWVjaHN0tCBoZWlzc3QgdWVicmlnZW5zLCBBbmZhbmcgSnVsaSBtdXNzIGRhcyBNRyB3b2FuZGVycyBsYXVmZW4uCkFiZXIgbmljaHQgZ2xlaWNoIGluIFBhbmlrIHZlcmZhbGxlbiwgd2lyIGhhYmVuIGVpbmVuIHVuc2VyZXIgTm90ZmFsbC0KYXVzd2VpY2hwdW5rdGUgYWt0aXZpZXJ0LCBIYXRlIGhhdCBmcmV1bmRsaWNoZXJ3ZWlzZSBmdWVyIHVucyBlaW5lIApCbGVpYmUgaW4gZGVyIEdNRCBpbiBCZXJsaW4gb3JnYW5pc2llcnQuIERpZXMgaXN0IGF1Y2ggaW5uZXJoYWxiIGRlcyAKREZOLU5ldHplcyBtaXQgZWluZXIgd2lya2xpY2ggbWVociBhbHMgYXVzcmVpY2hlbmRlbiBCYW5kYnJlaXRlLCBzbyAKZGFzIGRlciBVbnRlcnNjaGllZCBlaWdlbnRsaWNoIGthdW0gYXVmZmFsbGVuIGR1ZXJmdGUuCgpEYW1pdCBrb21tZSBpY2ggenUgbWVpbmVtIHp3ZWl0ZW4gd2ljaHRpZ2VuIFB1bmt0LgpEZXIgUmVjaG5lciwgZGVyIGphIGJla2FubnRlcm1hc3NlbiBkZW0gRm9lcmRlcnZlcmVpbiBnZWhvZXJ0LCBpc3QgCm1pdHRsZXJ3ZWlsZSB2aWVyIEphaHJlIGFsdCwgZGl2ZXJzZSBNYWxlIGF1ZmdlcnVlc3RldCwgYWJlciB0cm90emRlbQpuaWNodCBtZWhyIGdhbnogZ3J1ZW4sIGRoIGhpZXIgdW5kIGRhIHRyZXRlbiBzY2hvbiBtYWwgUHJvYmxlbWNoZW4gCihtaXQgZmlsZXN5c3RlbWVuIGV0Yy4pIGF1Zi4KCkRlciBGb2VyZGVydmVyZWluIGhhdCBkYWhlciAtIGF1ZiBzZWluZXIgd2FlaHJlbmQgZGVyIFBhcnR5IGluIE1hcmJ1cmcgCnN0YXR0ZmluZGVuZGVuIFZvbGx2ZXJzYW1tbHVuZyAtIGJlc2NobG9zc2VuLCBlaW5lbiBuZXVlbiBSZWNobmVyIGFuenUtCnNjaGFmZmVuLiBEaWVzIG1hY2h0IGRlbiBVbXp1ZyBhdXNnZXNwcm9jaGVuIGVpbmZhY2ggdW5kIGR1ZXJmdGUgZGllIAptZWlzdGVuIFN1Y2h0c3BpZWxlciBiZXNvbmRlcnMgenVmcmllZGVuc3RlbGxlbi4gQW5zdGF0dCBkZW4gUmVjaG5lciAKaW4gZWluZXIgVGFnZSBkYXVlcm5kZW4gUGFyYWRlIG5hY2ggQmVybGluIHp1IHZlcmZyYWNodGVuLCB3aXJkIGRlciAKbmV1ZSBSZWNobmVyIGVpbmZhY2ggbWl0IGRlbiBNRy1EYXRlbiBnZWZ1ZXR0ZXJ0LCB1bmQgd2VubiBhbGxlcyBiZXJlaXQKaXN0IGVpbmZhY2ggZGVyIFNjaGFsdGVyIHVtZ2VsZWd0LCBzbyBkYXMgZXMgZGlyZWt0IGluIEJlcmxpbiB3ZWl0ZXItCmdlaGVuIGthbm4uIERlciBhbHRlIFJlY2huZXIgc29sbCBmb3J0YW4gYWxzIFdlYlNlcnZlciBkaWVuZW4sIHVtIGRlbgpNRy1SZWNobmVyIHp1IGVudGxhc3Rlbi4KCkRlciBQdW5rdCBpc3QsIG1pdCBkZW4gTWl0Z2xpZWRzYmVpdHJhZWdlbiB2b24gMTk5OCB1bmQgMTk5OSwgbGFlc3N0IApzaWNoIGRlciBuZXVlIFJlY2huZXIgd29obCBiZXphaGxlbiwgd2lyIGhhYmVuIGF1ZiBkZXIgVm9sbHZlcnNhbW1sdW5nCmFiZXIgZmVzdGdlc3RlbGx0LCBkYXNzIG1hbiBmdWVyIGVpbiB2ZXJudWVuZnRpZ2VzIFN5c3RlbSBtZWhyIGhpbi0KbGVnZW4gbXVzcywgYWxzIGFuIEdlbGQgZGEgaXN0LiBTbyBiZXN0ZWh0IGluIGRlciBHTUQgekIgbmljaHQgbWVociAKZGllIE1vZWdsaWNoa2VpdCB3aWUgaGllciBpbiBNdWVuc3RlciwgZWluZmFjaCBhdWYgZGFzIFVpdmVyc2l0YWV0cy0KYmFuZHN5c3RlbSB6dSBiYWNrdXBlbiwgZGFmdWVyIG11ZXNzdGUgZWluIGVpZ2VuZXIgU3RyZWFtZXIgYW5nZXNjaGFmZnQKd2VyZGVuLiBEYSBzaW5kIHZlcm51ZW5mdGlnZSBpbiBkZXIgUmVnZWwgYWJlciBuaWNodCBiaWxsaWcuIEViZW5zbyAKa2FubiBtYW4gdWViZXIgZWluZSBTcGVpY2hlcmVyd2VpdGVydW5nIHVuZCBlaW5lIHp3ZWl0ZSByZWR1bmRhbnRlIApFcnNhdHpwbGF0dGUgYWxzIFNjaG5lbGxiYWNrdXAgdW5kIE5vdGZhbGxwbGF0dGUgbmFjaGRlbmtlbi4gRGFmdWVyCnJlaWNodCBkYXMgR2VsZCBhYmVyIG5pY2h0IG1laHIgZ2Fuei4KCkljaCBtb2VjaHRlIGFsc28gYW4gZGllc2VyIFN0ZWxsZSBtYWwgd2llZGVyIGVpbmVuIFNwZW5kZW5hdWZydWYgc3RhcnRlbi4KCldlbm4gRGlyIGRhcyBNRyBtaXR0bGVyd2VpbGUgbGllYiB1bmQgdGV1ZXIgZ2V3b3JkZW4gaXN0LCBEdSBTcGFzcwpkYXJhbiBoYXN0IHVuZCBEdSBEaWNoIGRhcmFuIGJldGVpbGlnZW4gd2lsbHN0LCBkYXMgZXMgYXVjaCBpbiBadWt1bmZ0CnJlaWJ1bmdzbG9zIHdlaXRlcmxhZXVmdCwga2FubnN0IER1IHVucyBkYWJlaSBtaXQgZWluZXIgU3BlbmRlLCBvZGVyIApkZW0gQmVpdHJpdHQgaW4gZGVuICdGb2VyZGVydmVyZWluIFByb2pla3QgTW9yZ2VuR3JhdWVuIGVWLicgdW50ZXItCnN0dWV0emVuLiBKZWRlIG5vY2ggc28ga2xlaW5lIFNwZW5kZSBpc3Qgd2lsbGtvbW1lbi4gCgpadSBkZW4gU3BlbmRlbiBpc3QgenUgc2FnZW4sIGRhc3MgZGVyIFZlcmVpbiBnZW1laW5udWV0emlnIGlzdCwgZ2UtCnNwZW5kZXRlcyBHZWxkIGlzdCBzb21pdCBzb2dhciBzdGV1ZXJsaWNoIGFic2V0emJhci4gV2VyIHNwZW5kZW4gbWFnIAprYW5uIGRhcyBhdWYgZm9sZ2VuZGVzIEtvbnRvIHR1bjoKCkZvZXJkZXJ2ZXJlaW4gUHJvamVrdCBNb3JnZW5HcmF1ZW4gZS5WLgpTdGFkdHNwYXJrYXNzZSBNdWVuc3RlcgpCTFo6IDQwMDUwMTUwCkt0TnIuOiAzNjg5NDQKCldlciBkZW0gVmVyZWluIGJlaXRyZXRlbiBtb2VjaHRlLCB1bnRlcnN0dWV0eiB1bnMgbWl0IGVpbmVtIGphaHJsaWNoZW4gCk1pdGdsaWVkc2JlaXRyYWcgdm9uIDI0LC0gRE0sIGFsc28gbGFlY2hlcmxpY2hlbiB6d2VpIE1hcmsgcHJvIE1vbmF0LgpTYXR6dW5nIHVuZCBBbm1lbGRlZm9ybXVsYXJlIGdpYnQgZXMgYXVmIGRlbSBmdHAtU2VydmVyIGRlcyBNb3JnZW4tCkdyYXVlbiBhbiBmb2xnZW5kZXIgU3RlbGxlOiBmdHA6Ly9tZy5tdWQuZGUvVGV4dGUvVmVyZWluCm9kZXIgYWxsZ2VtZWluZSBJbmZvcyBpbSBXZWIgdW50ZXIgaHR0cDovL21nLm11ZC5kZS9WZXJlaW4uCgpXZXIgRnJhZ2VuIHp1bSBWZXJlaW4gaGF0LCBrYW5uIHNpY2ggYXVjaCBkaXJla3QgYW4gVGVkZHksIFd1cnplbCwgTHV6aWUKb2RlciBWaXBlciB3ZW5kZW4sIGRpZXNlIGJpbGRlbiBkZW4gYWt0dWVsbGVuLCBuZXVnZXdhZWhsdGVuICh2b24gZGVuCldlYnNlaXRlbiB1ZWJyaWdlbnMgbm9jaCBhYndlaWNoZW5kZW4pIFZvcnN0YW5kLgoKSS4gdS4gQS4gCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IChCb2luZywgMjMuIE1hciAxOTk5LCAxOTo1ODo1Nyk6CkRlciBNRy1Qcm96ZXNzIGhhdCBzaWNoIGxlaWRlciByZXR0dW5nc2xvcyBhdWZnZWhhZW5ndCwgYmVpbSBWZXJzdWNoCmF1ZiBlaW4gZGV2aWNlIHp1enVncmVpZmVuLCBkYXMgbGVpZGVyIGlyZ2VuZHdpZSBibG9ja2llcnQgd2FyLgpFcyBiZXN0YW5kIGtlaW5lIGFuZGVyZSBNb2VnbGljaGtlaXQgYWxzIGRlbiBNRy1SZWNobmVyIHp1IHJlYm9vdGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChOZXZvaywgMjMuIE1hciAxOTk5LCAyMDowMzowOSk6Cn4jISBybj1Cb2luZyBydD05MjIyMTkxMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjIyMTkxMzcKcGFzc2llcnQuLi4uLm11c3MgYWJlciBsZWlkZXIgZGVuIEdydW5kIGtvcnJpZ2llcmVuLi4uLgpHcnVuZCB3YXIsIGRhc3MgbWVpbmUgQXVzcnVlc3R1bmcgbWFsIHdpcmtsaWNoIGd1dCB3YXIsIGRhcyBtaXQgZGVyIGRldmljZSB3YXIKbnVyIGVpbmUgQmVnbGVpdGVyc2NoZWludW5nLgp2ZXJnbGVpY2hlIE11cnBoeSdzIExhdyBpbSBleHBsaXppdGllbiBWZXJoYWVsdG5pcyB6dW0gU3RhbmQgbWVpbmVyCkF1c3J1ZXN0dW5nCm9kZXIgaW4gZ2FueiBzaW1wZWwKamUgYmVzc2VyIGRlc3RvIGNyYXNoCgplaW4gaGFsYm5hY2t0ZXIKCk5ldm9rIChkZXIgbWl0IGRlbSBMZW5kZW5zY2h1cnogdGFuenQgdW5kICd3YXMgdHJhZ2VuIFp3ZXJnZW5rbGVyaWtlciB1bnRlcgppaHJlciBydWVzdHVuZycgLSBXaXR6ZSBuaWNoIGx1c3RpZyBmaW5kZXQsIGJlc29uZGVycyB3ZW5uIGVpbiByZWJvb3QgenVyCmtsYWVydW5nIGRpZXNlciBGcmFnZSBiZW5vZXRpZ3Qgd2lyZC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IChTb25nb2t1LCAyMy4gTWFyIDE5OTksIDIwOjA4OjUyKToKfiMhIHJuPU5ldm9rIHJ0PTkyMjIxOTM4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMjIxOTEzNwpJY2ggdmVyc3RlaGUgbmljaHQsIGRhc3MgbWFuIHNpY2ggZGFydWViZXIgYXVmcmVnZW4ga2Fubi4KCndlciBicmF1Y2h0IHNjaG9uIGF1c3J1ZXN0dW5nPz8KClNheW91bmFyYSEgICAoU29uR29rdSwgZGVyIGVuZGxpY2ggZGVuIFZvcnRlaWwgZGVyIEthcmF0ZWthcyBlbnRkZWNrdCBoYXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWJvb3QgKE5ldm9rLCAyMy4gTWFyIDE5OTksIDIwOjEwOjM1KToKfiMhIHJuPVNvbmdva3UgcnQ9OTIyMjE5NzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIyMjE5MTM3CipnKiBuZW5lIGF1ZnJlZ2VuIHR1IGljaCBtaWNoIHNjaG9uIGdhciBuaWNoIG1laHIKZGFzIGlzIGVoZXIgZXR3YXMgc3RvaXNjaGUgZ2VsYXNzZW5oZWl0IG1pdCBlaW5lbSBzY2h1c3Mgc2Fya2FzdGlzY2hlbQp6eW5pc211cwpvZGVyIGVpbmZhY2ggQUJNLCBoYWV0dGUgc2NobGltbWVyIGtvbW1lbiBrb2VubmVuIGFscyBuIHJlYm9vdAoKTmV2b2ssIGRlciBzaWNoIGZyZXV0IGV0d2FzIEdlbGQgenUgaGFiZW4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWJvb3QgKEFscGhhLCAyMy4gTWFyIDE5OTksIDIwOjM0OjUxKToKfiMhIHJuPU5ldm9rIHJ0PTkyMjIxOTgzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMjIxOTEzNwpHZWxkPyBHZWxkPyBXaXNvIEdlbGQ/IERhcyBHZWxkIGlzdCB3ZWcsIGRhcyBpbiBtZWluZW0gWmltbWVyY2hlbiBsYWcgOykgCkFscGhhIC0gbWFjaHQga2VpbiBHZWxkIGR1cmNoIFJlZWJvb3Qgc29uZGVybiB2ZXJsaWVydCB3ZWxjaGVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvcyBoYXV0IEV1Y2ggaW4gZGllIFBmYW5uZSEgKFNhbW90aCwgMjMuIE1hciAxOTk5LCAyMzo0NjowOCk6CgoKTW9pbiwKCkRhcyB3YW5kZWxuZGUgQXJzY2hsb2NoIEx1ZyBicmF1Y2h0IG5vY2ggSW5zcGlyYXRpb24uIFdlbm4gSWhyIEplbWFuZGVuIGluIGRpZQpQZmFubmVuIGhhdWVuIHdvbGx0LCBpaG4vc2llIGJlbGVpZGlndCBzZWhlbiB3b2xsdCwgZGFubiBtYWlsdCBtaXIgZG9jaCBkZW4KTmFtZW4gdW5kIG1vZWdsaWNoc3QgYmVzY2hyZWlidW5nIHVuZCBlaW5lIGJlc29uZGVyZSAoTHVzdGlnL2ZpZXMvZWtlbGhhZnQpCkJlZ2ViZW5oZWl0IG1pdCB6dS4KV2VubnMgbWl0IGdlZmFlbGx0LCByZWljaGUgaWNocyB3ZWl0ZXIgdW5kIGVzIGtvbW10IGluIGRlbiBTY2hpbGRiZXJpY2h0LgoKSm8sIGVyIHdhZWNoc3Qgd2llZGVyIDspCkdydXNzClNhbW90aCBhZWggR2VzYW5kdGVyIG9oIEx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVhdHVyZSBpbSBCZWhhZWx0ZXIgLCkgKFBhZHJlaWMsIDI2LiBNYXIgMTk5OSwgMDI6NTE6MTcpOgpEYW1pdCBoaWVyIGVpbmUgcXVhZWxsZW5kZSBOZXJ2ZW5zYWVnZSBlbmRsaWNoIFJ1aGUgZ2lidCwgbnVuIG5vY2ggbmVuIEFydGlrZWwKaW4gZGllIFplaXR1bmcuLi4KRXMgaGF0IHNpY2ggYmVpIGVpbmVyIEFlbmRlcnVuZyBpbiBkZXIgbGV0enRlbiB1cHRpbWUoKSBlaW4gdW5zY2hvZW5lcgpOZWJlbmVmZmVrdCBlaW5nZXNjaGxpY2hlbiwgZGVyIGFsbGUgQmVoYWVsdGVyIChkYW1pdCB2ZXJtdXRsaWNoIGF1Y2ggVHJ1aGVuCnVuZCBTZWhlcmhhZXVzZXJyYWV1bWUpIGJldHJpZmZ0LiBXZW5uIG1hbiBsYWVuZ2VyZSBaZWl0IGdyb2Vzc2VyZSBNZW5nZW4gdm9uCmdsZWljaGVuIE9iamVrdGVuIGluIGVpbmVtIEJlaGFlbHRlciBzYW1tZWx0LCB3ZXJkZW4gZGllc2UgZWluIHdlbmlnIHJlZHV6aWVydAooSW4gUmFldW1lbiB3YXIgZGFzIGF1Y2ggYmlzaGVyIGltbWVyIHNjaG9uIHVlYmxpY2gpLiBEYXMgRmVhdHVyZSB3YXIgZWhlcgp1bmdld29sbHQgdW5kIHdpcmQgYXVjaCBpbiBkZW4gbmFlY2hzdGVuIFRhZ2VuIHdpZWRlciBhdXNnZWJhdXQgOikgYWJlciBkYQpmYXN0IGFsbGUgQmVoYWVsdGVyIHNjaG9uIGluIFVtbGF1ZiBzaW5kLCB3aXJkIGRhcyB3b2hsIGVyc3Qgd2llZGVyIGRpZQpuYWVjaHN0ZSBVcHRpbWUgYmV0cmVmZmVuIChldnRsLiB1cGRhdGUgaWNoIHp1bWluZGVzdCBkYXMgUG9zdHBha2V0LCBhYmVyIGRhcwp3ZXJkZSBpY2ggZGFubiBoaWVyIGFuIGRpZXNlciBTdGVsbGUgbm9jaG1hbCBrdW5kdHVuKS4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFyZ2wsIGJsb2VkZXMgem11ZCEhISAoQXJpYW5hLCAgMS4gQXByIDE5OTksIDAwOjIyOjM0KToKSWhyIHNvbGx0IGJldGVuLCBkYSBkaWUgWmVyZW1vbmllLCB3aWUgYWxsZXMgaGllciwgdm9uIGRlciBXaWxsa3VlciBlaW5lcwpNYWdpZXJzIGFiaGFlbmd0LCBkZXIgZGVuIEJyYWV1dGlnYW0sIG5hamEsIHNhZ2VuIHdpcnMgZGlza3JldCwgZXJzdCB3aWVkZXIKInZlcmZ1ZWdiYXIiIG1hY2hlbiBtdXNzIDopKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcmdsLCBibG9lZGVzIHptdWQhISEgKEFuYXRvbCwgIDEuIEFwciAxOTk5LCAwMDozMToyOSk6Cn4jISBybj1BcmlhbmEgcnQ9OTIyOTI2MTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIyOTI2MTU0CktlaW5lIFNvcmdlIHdlZ2VuIFRlbGVub3MuLi4gc3BhZXRlc3RlbnMgc2VpdCBNdXBmZWwgb2RlciBTaGFkZQp3aXNzZW4gd2lyIGphLCAgd2FzIHdpciB1bnMgdW50ZXIgZGVyIHdvaGwgYmFsZCBzcHJpY2h3b2VydGxpY2gKd2VyZGVuZGVuICcnZXJ6bWFnaWVybGljaGVuIEtvbnNlcXVlbnonJyB2b3J6dXN0ZWxsZW4gaGFiZW4uLi4KCkFuYXRvbCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVtenVncy1Qcm96ZXNzaW9uIChDYXR3ZWF6bGUsICAxLiBBcHIgMTk5OSwgMTA6NTg6NTYpOgpIaWVybWl0IG1vZWNodGUgaWNoIGJla2FubnRnZWJlbiwgZGFzIGVudGdlZ2VuIGZydWVoZXJlciBNZWxkdW5nZW4gZGVyIApSZWNobmVyLCBkZXIgenVyIFplaXQgZGFzIE1vcmdlbkdyYXVlbiBiZWhlcmJlcmd0LCBkb2NoIHNjaG9uIGhldXRlIGF1ZgpzZWluZW4gV2VnIG5hY2ggQmVybGluIGdlc2NoaWNrdCB3aXJkLiAKCkRhIGRhcyBNRyB3YWVocmVuZCBkZXMgVHJhbnNwb3J0ZXMgbmF0dWVybGljaCBhdXNmYWVsbHQsIHJlY2huZW4gd2lyIG1pdCAKZXJob2VodGVtIEF1ZmtvbW1lbiByYW5kYWxpZXJlbmRlciBNdWRkZXIgYXVmIGRlbSBXZWcgZG9ydGhpbi4gSWNoIG1vZWNodGUKamVkb2NoIHZlcnNpY2hlcm4sIGRhcyB3aXIgYWxsZSBWb3JzaWNodHNtYXNzbmFobWVuIGdldHJvZmZlbiBoYWJlbiwgdW0gZGVuClJlY2huZXIsIHNvd2llIGRpZSBEYXRlbiBkaWUgc2ljaCBkYXJhdWYgYmVmaW5kZW4sIHZvciBmYW50YXRpc2NoZW4gU3VjaHRpZXMKenUgc2NodWV0emVuLgoKV2lyIGhhYmVuIGVpbmVuIGVpZ2VuZW4gWnVnIGFuZ2VtaWV0ZXQsIHdlcmRlbiBhbHNvIGRpZSBTdHJlY2tlbiBkZXIgQmFobiAgCm51dHplbi4gRGVyIFJlY2huZXIgd2lyZCBpbiBlaW5lbSBlaWdlbnMgdm9uIHVucyBrb25zdHJ1aWVydGVuIFdhZ2dvbgptaXQgZGVtIE5hbWVuICdNb3JnZW5ncmF1ZW4tQW5iZXRlci1TaWNoZXJlci1UcmFuc3BvcnRlcihPZmZpY2lhbCBSZWxlYXNlKScsCmt1cnogTUFTVE9SLCBhdWZiZXdhZWhydC4gCkRlciBNQVNUT1ItQmVoYWVsdGVyIGlzdCBodW5kZXJ0cHJvemVudGlnIHN0cmFobHVuZ3NzaWNoZXIsIHNvbWl0IGFsc28gdm9yIAplbGVrdHJpc2NoZW4gdW5kIGVsZWt0cm9uaXNjaGVuIEFuZ3JpZmZlbiBnZXNjaHVldHp0LCBhdXNzZXJkZW0gbWl0IGR1cmNoLQpzaWNodGlnZW4gUGFuemVyZ2xhcyB2ZXJrbGVpZGV0LCBkYW1pdCBtYW4gZGVuIFJlY2huZXIgd2VuaWdzdGVucyBhdXMgZGVyIApGZXJuZSBzZWhlbiB1bmQgYW5wcmVpc2VuIGthbm4uCgpEZXIgTUFTVE9SLVRyYW5zcG9ydCBzdGFydGV0IGFtIHNwYWV0ZW4gQWJlbmQgZGVzIGhldXRpZ2VuIGVyc3RlbiBBcHJpbHMgCnVuZCB3aXJkIGFsbGVyIFZvcnJhdXNzaWNodCBuYWNoIGFtIGZydWVoZW4gTW9yZ2VuIGluIEJlcmxpbiBlaW50cmVmZmVuLiAKRGVyIFN0cmVja2VucGxhbiBtdXNzIG5hdHVlcmxpY2ggZ2VoZWltIGJsZWliZW4sIHRyb3R6ZGVtIG11c3MgbWl0IFZlci0Kc2FtbWx1bmdlbiBhdWYgZGVyIGdhbnplbiBTdHJlY2tlIGdlcmVjaG5ldCB3ZXJkZW4uIApJbnNiZXNvbmRlcmUgYmVmdWVyY2h0ZW4gd2lyLCBkYXNzIHNpY2ggYmVyZWl0cyBpbSBNdWVuc3RlciBlaW5lIGdyb2Vzc2VyZQpHcnVwcGUgYmlsZGVuIHdpcmQsIGRpZSBpbiBlaW5lciBQcm96ZXNzaW9uIGRlbSBadWcgZm9sZ2VuIHdpcmQuIFp3ZWl0ZXIKS25hY2twdW5rdCBpc3QgZGllIEFua3VuZnQgYmVpIGRlciBHTUQsIHdpciB3ZXJkZW4gZGFoZXIgZG9ydCwgYmV2b3Igd2lyIApkYXMgR2ViYWV1ZGUgYmV0cmV0ZW4sIGVpbmVuIEF1Z2VuYmxpY2sgdmVyd2VpbGVuIHVuZCBlaW5lIGt1cnplIEFuZGFjaHQgCmhhbHRlbiwgdW0gYWxsZSBHbGF1ZWJpZ2VuIHp1ZnJpZWRlbnp1c3RlbGxlbiB1bmQgcnVoaWcgenUgaGFsdGVuLiAKCkF1ZiBkZW0gZ2VzYW10ZW4gV2VnLCB3aXJkIGRlciBNQVNUT1Igdm9uIGdlbnVlZ2VuZCBQb2xpemVpcGVyc29uYWwgYmUtCmdsZWl0ZXQsIGF1c3NlcmRlbSBoYWJlbiB3aXIgZWluZSBzcGV6aWVsbCBhdXNnZWJpbGRldGUgUHV0enRydXBwZSBhbi0KZ2V3b3JiZW4sIGRpZSwgZmFsbHMgZXMgbm9ldGlnLCBkaWUgYW5nZXNhYmJlcnRlbiB1bmQgenVnZXNjaG1pZXJ0ZW4gCkdsYXNzY2hlaWJlbiB3aWVkZXIgcmVpbmlndCwgZGFtaXQgZGllIGZyaWVkbGljaGVyZW4gQW5oYWVuZ2VyIGF1Y2ggCndlaXRlcmhpbiBndXRlbiBCbGlja2tvbnRha3QgenVtIE1HLVJlY2huZXIgaGFiZW4gdW5kIHNvbWl0IHNjaHdlcmVyZSAKcHN5Y2hvbG9naXNjaGUgU2NoYWVkZW4gdmVybWllZGVuIHdlcmRlbi4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVtenVncy1Qcm96ZXNzaW9uIChMZW5hLCAgMS4gQXByIDE5OTksIDExOjEwOjU2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjI5NjQzMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjI5NjQzMzYKV0FBQUFBSCEKTkVFRUVFSU4hCkdOQUFBREUhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMiBuZXVlIEVyem1hZ2llciAoS2V5LCAgMS4gQXByIDE5OTksIDExOjQ1OjUxKToKfiMhIHJuPUJvaW5nIHJ0PTkyMjk2Njk0MCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9OTIyOTY2OTQwCk1VQSEhISBJY2ggaGFiIEFyYmVpdCBmdWVyIERpY2ggOykKCkFlaCAuLi4gdW5kIEhvYm8gLi4uIEdOQURFISEhISA7KQoKR3V0ZSBFbnRzY2hlaWR1bmcgd3VlcmRlIGljaCBzYWdlbiwgdW5kIEdyYXRzIGV1Y2ggYmVpZGVuICpzY2hsZWltIGVpbiogOykKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW16dWdzLVByb3plc3Npb24gKEFyaWFuYSwgIDEuIEFwciAxOTk5LCAxNTozMDozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTIyOTY0MzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIyOTY0MzM2CndhYWFhYWFoISEhISEKV2FobnNpbm5pZ2UsIGdlbmF1IHp1IGRlciBaZWl0IHdvbGx0ZSBpY2ggaGVpcmF0ZW46KCgoKCgoKAoKZWluZSBqZXR6dCBpbiBUcmFlbmVuIGF1ZmdlbG9lc3RlIEFyaWFuYSAoIkljaCBzcGllbCBoaWVyIG5pY2h0IG1laHIgbWl0ISEhIikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVW16dWdzLVByb3plc3Npb24gKEhhc2ltLCAgMS4gQXByIDE5OTksIDE4OjE5OjIxKToKfiMhIHJuPUFyaWFuYSBydD05MjI5ODA2Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjI5NjQzMzYKa2xpbmd0IG5iaXNzY2hlbiBuYWNoIERlemVtYmVyLURlemVtYmVyIDspCgpIYXNpbSwgc2Nob24gbWFsIG5lIERvc2UgIk11dHRpcyBTcHVja2UiIHp1bSBhbnNhYmJlcm4gYmVzb3JnZW5kIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2NoemVpdC4uLiAoTmV2b2ssICAxLiBBcHIgMTk5OSwgMjM6MDc6MjMpOgphdWZncnVuZCB1bnZvcmhlcmdlc2VoZW5lciBWb3JmYWVsbGUgb2RlciBhdWNoIFp3aXNjaGVuZmFlbGxlLCB3aXJkIGRpZQpIb2NoemVpdCBhdWYgMTowMCBVaHIgbW9yZ2VucyB2ZXJzY2hvYmVuLi4uLnNwcmljaCAxIDEvMiBTdHVuZGVuIHNwYWV0ZXIuLi4uCmltIEV4dHJlbWZhbGwga2FubiBzaWUgYWxsZXJkaW5ncyBhdWNoIG5vY2ggd2VpdGVyIHZlcnNjaG9iZW4gd2VyZGVuLi4uLgoKZnVlciBkaWUgVW1zdGFlbmRlIGVudHNjaHVsZGlndCBzaWNoIAoKZWluCnd1ZXRlbmQgYXVmIFZhbXBpcmUgZWlucHJ1ZWdlbG5kZXIgCk5ldm9rLCBBYnQgZGVyIEthbmRyaSB1bmQgSG9oZXByaWVzdGVyIGluIHNwZS4uLi4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpob2NoemVpdCBtYWwgd2llZGVyIChOZXZvaywgIDIuIEFwciAxOTk5LCAwMDo0Njo1Mik6CndlZ2VuIGFrdXRlbiByZWNobmVybWFuZ2VscyB1bmQgdW53aWxsZW4gZGVyIG11ZW5zdGVyYW5lciBtdWQgbGliZXJhdGlvbnMKZ3J1cHBlIHdhZmZlbmdld2FsdCBlaW56dXNldHplbiBpc3QgZGllIEhvY2h6ZWl0IGVyc3QgbWFsIHZlcnNjaG9iZW4Kc29ycnkgTGV1dGUsIGFiZXIgdHJvdHpkZW0gZGFua2UKaW0gQXVmdHJhZyB2b24gQ2FpbGxlYW4gdW5kIFRlbGVub3MKCk5ldm9rLCBkZXIgc2ljaCBkYW5uIGFuZGVyZW4gU2FjaGVuIHdpZG1lbiBtdXNzCgoqaXN0IGZ1ZXIgcmF1c3NjaG1pc3MgdmVyYW50d29ydGxpY2hlciBMZXV0ZSBuYWNoIG1pdHRlcm5hY2h0IGF1cwp1bml2ZXJzaXRhZXRzZ2ViYWV1ZGVuLi4uZnJlaWhlaXQgZnVlciBtdWRkZXIqIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKExvbGxpLCAgOC4gQXByIDE5OTksIDE2OjI5OjQzKToKaGkgenVzYW1tZW4hCgppY2ggaGFiIGVpbiBwcm9ibGVtLiBkZXIgd29obmhlaW0tYWRtaW4gd2lsbCB0ZWxuZXQgdW5kIHBvcnQyMywgYWxzbyBkaWUKZWxlbWVudGFyZW4gdG9vbHMgZnVlciBNRyBuaWNodCBmcmVpc2NoYWx0ZW4sIHdlaWwgZGllcyBuaWNodAp3aXNzZW5zY2hhZnRsaWNoZW4gendlY2tlbiBkaWVudC4Ka2FubiBzaWNoIGVpbmVyIHZvcnN0ZWxsZW4gb2RlciB3ZWlzcyB2aWVsbGVpY2h0IGVpbmVyLCBvYiBtYW4gZGFtaXQgYXVjaAoodm9yZGVyZ3J1ZW5kaWcpIHdhcyAnc2lubnZvbGxlcycgbWFjaGVuIGthbm4sIHdhcyBkaWUgZnJlaXNjaGFsdHVuZwpyZWNodGZlcnRpZ3Q/PwppY2ggaGFiIG5hZW1saWNoIGRpZSBuYXNlIHZvbGwsIGltbWVyIHp1bSBkYWRkZWxuIGluIGRpZSBGSCB6dSBnZWhlbiB3ZW5uIGljaAp6dWhhdXNlIG5lIHN0YW5kbGVpdHVuZyBoYWJlIDotKCgoLgoKTG9sbGkgICAqYXVmIGtyZWF0aXZlIHZvcnNjaGxhZWdlIHdhcnRlbmQgOi0pKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlbG5ldC9Qb3J0IDIzIHdpc3NlbnNjaGFmdGxpY2ggbnVldHpsaWNoPyAoVGlsbHksICA4LiBBcHIgMTk5OSwgMTY6MzM6NDUpOgp+IyEgcm49TG9sbGkgcnQ9OTIzNTg4OTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNTg4OTgzCkRhcyBQcm9ibGVtIGhhdHRlbiB3aXIgYXVjaCBtYWwuIFNpbmQgd2lyIHBmaWZmaWcgdW1nYW5nZW4gaW5kZW0gd2lyIGJlaW0gUloKZWluIFByb2pla3QgJ09iamVrdCBvcmllbnRpZXJ0ZXMgcHJvZ3JhbW1pZXJlbicgYW5nZW1lbGRldCBoYWJlbiB1bmQgZGF6dQpzb2dhciBuZSBlaWdlbmUgU3VuIGJla2FtZW4uIE5hamEsIGtsYXBwdCB2aWVsbGVpY2h0IG5pY2h0IGltbWVyIC4uLiAKIC0gVGlsbHkgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKFBhZHJlaWMsICA4LiBBcHIgMTk5OSwgMTY6Mzc6NTcpOgp+IyEgcm49VGlsbHkgcnQ9OTIzNTg5MjI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNTg4OTgzCkltIFp3ZWlmZWwgd2lsbHN0IER1IERpY2ggdm9uIHp1IEhhdXNlIGVpbmZhY2ggaW4gZGllIFVuaSBlaW5sb2dnZW4gdW0gZG9ydAphcmJlaXRlbiB6dSBrb2VubmVuLiBGZXJ0aWchIChadW1pbmRlc3QgYWxzIEluZm9ybWF0aWtlciBzb2xsdGUgZXMgc2ljaCBsZWljaHQKYmVncnVlbmRlbiBsYXNzZW4sIHdpZXNvIG1hbiBnZXdpc3NlIERpbmdlIG51ciBhdWYgVW5pcmVjaG5lcm4gbWFjaGVuIGthbm4uCgpQYWRyZWljCgpQLlMuOiBXb3p1IHphaGxzdCBEdSBlaWdlbnRsaWNoIEdlbGQgZnVlciBuZSBTdGFuZGxlaXR1bmcsIGRpZSBEdSBkYW5uIGRvY2gKbmljaHQgc28gYmVudXR6ZW4ga2FubnN0IHdpZSBkdSB3aWxsc3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKEdyaW1tYm9ybiwgIDguIEFwciAxOTk5LCAxODoyOTo1OCk6Cn4jISBybj1QYWRyZWljIHJ0PTkyMzU4OTQ3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzU4ODk4MwpBbHNvLCB3ZW5uIG1hbiBtaXIgZGVuIHBvcnQgMjMgc3BlcnJlbiB3dWVyZGUsIHdhZXJlIGljaCBmYXN0IG1laW5lIGtvbXBsZXR0ZW4Kd2lzc2Vuc2NoYWZ0bGljaGVuIEFyYmVpdHNtb2VnbGljaGtlaXRlbiBsb3MuIExldHp0bGljaCBudXR6ZSBpY2ggbWVpbmVuCmxva2FsZW4gUmVjaG5lciBmYXN0IGF1c3NjaGxpZXNzbGljaCBhbHMgdGVybWluYWwgKG9rLCB3ZW5uIGRpZSBCYW5kYnJlaXRlCm1pdHNwaWVsdC4uLikuIAoKTmljaHRzZGVzdG90cm90eiBrb2VubnRlIG1hbiBzaWNoIHNpY2hlciB1ZWJlcmxlZ2VuLCBNRyBhdWYgMjMgdW5kIHp1c2FldHpsaWNoCmF1ZiBlaW5lbSBhbmRlcmVuIHBvcnQgKD4xMDI0KSBob3JjaGVuIHp1IGxhc3Nlbiwgd2VubnMgcXVhc2kgbml4IGtvc3RldCB1bmQKaXJnZW5kd2VtIG51ZXR6dC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKenVtIENyYXNoLCA5LjQuIGNhIDE5IHVociAoV2ltLCAgOS4gQXByIDE5OTksIDE5OjQzOjIyKToKfiMhIG9uPVdpbSBvdD05MjM2ODYyMDUgb2c9ZGlza3Vzc2lvbgpCZXZvciBrZWluZXIgZXR3YXMgenUgZGllc2VtIFRoZW1hIHZlcm9lZmZlbnRsaWNodCwgbWFsIG1laW4gUmF0c2NobGFnLApyZXNwZWt0aXZlIG1laW5lIFJla29uc3RydWt0aW9uIGRlciBHZXNjaGVobmlzc2UuCgpXaWUgaWhyIHNpY2hlciBiZW1lcmt0IGhhYnQsIHdhciB1bSAxOSBVaHIgcGxvZXR6bGljaCBhbGxlcyBoaW51ZWJlci4gWnUgZGVtClplaXRwdW5rdCB3YXIgaWNoIGxlaWRlciBuaWNodCBlaW5nZWxvZ2d0LCBzbyBkYXNzIGljaCBudXIgZGllIEF1c3dpcmt1bmdlbgptaXRiZWtvbW1lbiBoYWJlOiBEaWUgQ2hhcnMgZGllIHp1IGRpZXNlbSBQdW5rdCBlaW5nZWxvZ2d0IHdhcmVuLCBoYWJlbiBpaHIKa29tcGxldHRlcyBJbnZlbnRhciwgZC5oLiBpbnNiZXNvbmRlcmUgaW5jbC4gQXV0b2xvYWRlcm4gdW5kIEZCYW5kIHZlcmxvcmVuLgoKSWNoIGdlaGUgZGF2b24gYXVzLCBkYXNzIHNvYmFsZCBDYXR0eSBvZGVyIFJvY2h1cyBhbSBNRyBTZXJ2ZXIgc2luZCwgenVtaW5kZXN0CmRpZSBTYXZlZmlsZXMgZGVyIEJldHJvZmZlbmVuIHdpZWRlciBlaW5nZXNwaWVsdCB3ZXJkZW4uIEljaCBrYW5uIHVuZCB3aWxsCmplZG9jaCBuaWNodCBhdXNzY2hsaWVzc2VuLCBkYXNzIGVpbiBrb21wbGV0dGVzIFJlc3RvcmUgZ2VmYWhyZW4gd2VyZGVuCmtvZW5udGUuIAoKTWVpbmUgRW1wZmVobHVuZyBkYXp1IGFsc286IElociBzb2xsdGV0IHZpZWxsZWljaHQgYXVmcyBRdWVzdGVuIHZlcnppY2h0ZW4sCmJpcyBzaWNoIGVpbiBFTSBkYXp1IHZlcmJpbmRsaWNoIGdlYWV1c2VydCBoYXQuCgpKdXN0IG15IDIgQ2VudHMsIFdpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHp1bSBDcmFzaCwgOS40LiBjYSAxOSB1aHIgKE1haGF0bXUsICA5LiBBcHIgMTk5OSwgMTk6NTA6NTEpOgp+IyEgcm49V2ltIHJ0PTkyMzY4NzAwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzY4NzAwMgpIbW1tIC4uLiBnZWdlbiBlaW4ga29tcGxldHRlcyBSZXN0b3JlIHNwcmljaHQgZWlnZW50bGljaCBkaWUgQW56YWhsIGRlcgpiZXRlaWxpZ3RlbiBTcGllbGVyLiBFcyB3aXJkIHp3YXIgZXR3YXMgS2xlaW5hcmJlaXQsIGFiZXIgaWNoIGRlbmtlLCBudXIKZWluZSBXdW5zY2hsaXN0ZSB2b24gU3BpZWxlcm4gc29sbHRlIHJlc3RhdXJpZXJ0IHdlcmRlbiAtIGRhIHNpbmQgc2ljaGVyCm5pY2h0IGVpbm1hbCAxMDAuIERpZSBMZXV0ZSBtaXQgdmVybG9yZW5lbiBBdXRsb2FkZXIgbWFjaGVuIGVpbmUgendvdGUKTGlzdGUsIGRpZSBzb2dhciBhbiBrbGVpbmUgTWFnaWVyIGRlbGVnaWVydCB3ZXJkZW4ga2Fubi4gSWNoIG1laW5lc3RlaWxzCndpbGwga2VpbiB6d2VpdGVzIE1hbCBTZWhlciB3ZXJkZW4gOikKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKEplaG92YSwgIDkuIEFwciAxOTk5LCAxOTo1NjozOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTIzNTk2MTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNTg4OTgzCgpkZXIgcG9ydCAyMyBpc3Qgc28gemllbWxpY2ggZGVyIHdpY2h0aWdzdGUgdW5kIGVzIGlzdCBtaXIgdW52ZXJzdGFlbmRsaWNoLCB3ZWkKZWluIGFkbWluIHVlYmVyaGF1cHQgYXVmIGRpZSBpZGVlIGtvbW1lbiBrYW5uLCBkYXNzIGRlbiBuaWVtYW5kIGJlbnV0enQuCnNjaGxpZXNzbGljaCBicmF1Y2h0IG1hbiB0ZWxuZXQtc2Vzc2lvbnMgaW1tZXIsIHdlbm4gbWFuIHNhY2hlbiBhdWYgZnJlbWRlbgpyZWNobmVybiBtYWNoZW4gbXVzcy4gd2llIGxlc3QgaWhyIGVpZ2VudGxpY2ggZXVyZSBtYWlscywgbXVlc3N0IGlociBkaWUgZXh0cmEKcGVyIHBvcDMgaG9sZW4gPyA6KQoKZWluZmFjaCBuZW4gaG9laGVyZW4gcG9ydCB6dSBuZWhtZW4ga29lbm50ZSBwcm9ibGVtZSBtYWNoZW4sIHdlbm4gZGVyIGdld2lzc2UKYWRtaW4gZGllc2VuIGF1Y2ggZXJzdCBmcmVpc2NoYWx0ZW4gbXVzcy4gdmVybXV0ZSBpY2ggZWluZmFjaCBtYWwgLi4uCgpqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGVsbmV0L1BvcnQgMjMgd2lzc2Vuc2NoYWZ0bGljaCBudWV0emxpY2g/IChUYXJhZ29uLCAgOS4gQXByIDE5OTksIDIwOjQ1OjU3KToKfiMhIHJuPUplaG92YSBydD05MjM2ODc3OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM1ODg5ODMKc3NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKEZldWVyd2VociwgIDkuIEFwciAxOTk5LCAyMDo1MDozNSk6Cn4jISBybj1UYXJhZ29uIHJ0PTkyMzY5MDc1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzU4ODk4MwpIaSEKCldhcyB1bnNlciBrdXJ6IGFuZ2VidW5kZW5lciBUYXJhZ29uIGRhbWl0IHNhZ2VuIHdpbGwsIGlzdCBmb2xnZW5kZXM6CkFuc3RhdHQgdGVsbmV0IG9kZXIgcnNoIGthbm4gbWFuIGRhcyBQcm9ncmFtbSBzc2ggYmVudXR6ZW4sIHdlbGNoZXMgc2ljaAphZWhubGljaCB0ZWxuZXQgYXVmIGFuZGVyZW4gUmVjaG5lcm4gZWlubG9nZ3QsIGRpZSBVZWJlcnRyYWd1bmcgYWJlcgp2ZXJzY2hsdWVzc2VsdC4gRGVzaGFsYiBiZW51dHp0IGVzIG5pY2h0IFBvcnQgMjMsIHNvbmRlcm4gUG9ydCAyMi4gTWFuIGthbm4Kc2ljaCBkYW1pdCBhdWYgZWluZW0gUmVjaG5lciBkZXIgVW5pIGVpbmxvZ2dlbiB1bmQgdm9uIGRvcnQgYXVzIGlucyBNRwpzdGFydGVuLgoKc3NoIGlzdCBmdWVyIExpbnV4IGZyZWkgdW5kIGZ1ZXIgV2luZG93cyBhbHMgU2hhcmV3YXJlLVZlcnNpb24gZXJoYWVsdGxpY2guCgpHcnVlc3NlIQoKICAgIEZldWVyd2Voci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1dG9sb2FkLU9iamVrdGUgKFNseWZveCwgIDkuIEFwciAxOTk5LCAyMjo0MjoyMik6CkRhIGRlcyBvZWZ0ZXJlbiBBdXRvbG9hZC1PYmpla3RlIHZlcnNjaHdpbmRlbiwgZGVyIGxldHp0ZSBDcmFzaCB3YXIKZWluIGV4dHJlbWVzIEJlaXNwaWVsLCB3dWVyZGUgaWNoIGVzIGZ1ZXIgYW5nZWJyYWNodCBmaW5kZW4sIHdlbm4gZXMKaXJnZW5kd28gZWluZW4gTlBDIGdhZWJlLCBkZXIgZWluZW0gZGllc2UgU2FjaGVuIHdpZWRlciBnZWJlbiBrb2VubnRlLgpNYW4gZnJhZ3QgZGVuIGVpbmZhY2ggei5CLiBuYWNoIGRlbSBUZWRkeSwgZGVyIHBydWVmdCwgb2IgZGVyIFNwaWVsZXIgZGllClF1ZXN0IGJlcmVpdHMgZ2Vsb2VzdCBoYXQsIHVuZCBnaWJ0IGlobSBpbiBkZW0gRmFsbCB3aWVkZXIuCldhZXJlIHNjaG5lbGxlciBhbHMgamVkZXNtYWwgZWluZW4gTWFnaWVyIHp1IHN1Y2hlbiwgaWhtIGRhcyBlcmtsYWVyZW4sCmRlciBicmF1Y2h0IHp1bSBUZWlsICduZSBFd2lna2VpdCB1c3cuLi4KVW5kIGRpZSBNYWdpZXIgd2VyZGVuIHdlbmlnZXIgYmVpbSBQcm9ncmFtbWllcmVuLCBBcmJlaXRlbiB1bmQgRGVidWdnZW4KZ2VzdG9lcnQuCgogICBTbHlmb3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXRvbG9hZC1PYmpla3RlIChUYXJhZ29uLCAgOS4gQXByIDE5OTksIDIyOjQzOjUwKToKfiMhIHJuPVNseWZveCBydD05MjM2OTc3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM2OTc3NDIKV2FlcmUgaW1obyBlaW5lIGd1dGUgSWRlZS4uLiBrb2VubnRlIGFiZXIgZXR3YXMgdW1mYW5ncmVpY2ggd2VyZGVuLCB3ZWlsIGVzIGphCmF1Y2ggYW5kZXJlIGF1dG9sb2FkIERpbmdlIGdpYnQgd2llIHouQi4gZGVuIERhcmtvdmFuZXJkb2xjaCBvZGVyIGRlbgptYWdpc2NoZW4gQmV1dGVsIChudXIgYWxzIEJlaXNwaWVsKSBkaWUgamEgbmljaHQgaW4gZWluZXIgUXVlc3QgZXJ3b3JiZW4Kd2VyZGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdXRvbG9hZC1PYmpla3RlIChIaWdodCwgIDkuIEFwciAxOTk5LCAyMjo0NzozMSk6Cn4jISBybj1UYXJhZ29uIHJ0PTkyMzY5NzgzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzY5Nzc0MgpuZXJqYSBkZW4gYmV1dGVsIGthbm4gbWFuIHNpY2ggamEgaW1tZXJ3aWVkZXIga2F1ZmVuIC4uLiBkYXMgaXMgZG9jaCBrZWluIGFjdAp1bmQga29zdGVuIHR1dCBlciBhdWNoIG5ldCB2aWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBdXRvbG9hZC1PYmpla3RlIChUYXJhZ29uLCAgOS4gQXByIDE5OTksIDIyOjUwOjM3KToKfiMhIHJuPUhpZ2h0IHJ0PTkyMzY5ODA1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzY5Nzc0MgpHZW5hdSBkaWVzZSBSZWFrdGlvbiB3YXIgZGVyIEdydW5kIGZ1ZXIgbWVpbiAobnVyIGFscyBCZWlzcGllbCkgZGFoaW50ZXIuIE1pcgppc3QgZ2VyYWRlIGtlaW4gcGFzc2VuZGVyZXMgQmVpc3BpZWwgZWluZ2VmYWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1dG9sb2FkLU9iamVrdGUgKFBhZHJlaWMsIDEwLiBBcHIgMTk5OSwgMTA6NTM6NDcpOgp+IyEgcm49VGFyYWdvbiBydD05MjM2OTc4MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM2OTc3NDIKRGFzIGVzIGphIGltbWVyIHdpZWRlciBtYWwgUHJvYmxlbWUgbWl0IEF1dG9sb2FkZXJuIGdpYnQsIGJla29tbXQgbWFuIGFiIG51bgpiZWkgZGVuIFJoZWludG9lY2h0ZXJuIGVpbmVuIG5ldWVuLCB3ZW5uIG1hbiBzaWUgZGFuYWNoIGZyYWd0LiBCZWkgZGVuIG1laXN0ZW4KYW5kZXJlbiBTdGVsbGVuIHdvIGVzIGF1dG9sb2FkZXIgZ2lidCwgaXN0IGRpZXMgamEgYmVyZWl0cyBhdWNoIHNvCmltcGxlbWVudGllcnQuIERpZXNlcyBoYXQgamV0enQgYWJlciBudXIgYmVkaW5ndCB3YXMgbWl0IGRlbSBDcmFzaCB6dSB0dW4uCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBdXRvbG9hZC1PYmpla3RlIChUYW5pcywgMTAuIEFwciAxOTk5LCAxMjozNDoxMSk6Cn4jISBybj1QYWRyZWljIHJ0PTkyMzc0MTYyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzY5Nzc0MgpIaWhvLCBtb2VjaHRlIG51ciBkYXJhdWYgYXVmbWVya3NhbSBtYWNoZW4sIGRhcyB6Yi4gZGVyIGRyYWNoZW50b2V0ZXItb3JkZW4Kdm9uIGFzYW5pZWwgbmljaHQgenVydWVjayBnZWdlYmVuIHdpcmQgLi4uIGFsc28gaW4gc29mZXJuIHVudGVyc3R1ZXR6IGljaApzY2hvbiBlaW5lbiBucGMsIGRlciBhdWYgYW5mcmFnZSwgamVkZW4gYXV0b2xvYWRlciB3aWVkZXJnaWJ0IChtaXQgdm9yaGVyaWdlcgp1ZWJlcnBydWVmdW5nIHZlcnN0ZWh0IHNpY2gpCgpUYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXV0b2xvYWQtT2JqZWt0ZSAoUGFkcmVpYywgMTAuIEFwciAxOTk5LCAxMjo0MDozMSk6Cn4jISBybj1UYW5pcyBydD05MjM3NDc2NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM2OTc3NDIKV2VubiBBc2FuaWVsIHNvIGdlcHJvZ2d0IGlzdCwgZGFubiB3ZW5kZSBEaWNoIGFuIGRlbiBiZXRyLiBNYWdpZXIuIEVpbmVuCnNvbGNoZW4gTlBDLCBkZXIgZGFzIGFsbGdlbWVpbiBrYW5uIGlzdCBkZXJ6ZWl0IGVpbmZhY2ggbmljaHQgcHJvZ2dyYW1pZXJiYXIuCjExMiB1bmQgaWNoIGFyYmVpdGVuIGFiZXIgZ2VyYWRlIGFuIHNvd2FzIGluIGRlciBBcnQsIGRhcyBkaWVzIGVpbm1hbGlnIGZ1ZXIKZGllc2VuIENyYXNoIGF1ZiBHcnVuZGxhZ2UgZGVyIEJhY2t1cHMgdHVuIGthbm4sIGFiZXIgYWxsZ2VtZWluIGlzdCBkaWVzIG5pY2h0Cm1vZWdsaWNoLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVzdGF1cmllcmVyIChGZXVlcndlaHIsIDEwLiBBcHIgMTk5OSwgMTQ6MjU6NTUpOgpIaSEKCldpZSBnZXNhZ3Qgc3RlaHQgaW4gZGVyIEdpbGRlIGRpZXNlciBSZXN0YXVyaWVyZXIuCk1vbWVudGFuIGthbm4gZXIgYWxsZXMgcmVzdGF1cmllcmVuIGJpcyBhdWYgRWhlcmluZ2UsIHVuZCBpY2gga2FubiBuaWNodApyYXVza3JpZWdlbiB3ZXNoYWxiIG5pY2h0LiBEdW1tZXMgRGluZy4gS2xlcnVzLiBIbXBmLgoKV2VubiBpaHIgZGllIGFsc28gd2llZGVyaGFiZW4gd29sbHQga29lbm50IGlocgogIGEpIGV1Y2ggZGllIERpbmdlciBuZXUgYmVzb3JnZW4KICBiKSB3YXJ0ZW4gYmlzIHdpciBkZW4gQnVnIGdlZnVuZGVuIGhhYmVuLgoKQXVzc2VyZGVtIHNjaGVpbmVuIFRpZXJlIHVuZ2Vob3JzYW0genUgc2VpbiBuYWNoIGRlbSByZXN0YXVyaWVyZW4uIE1hZ2llcgpzb2xsZW4gZGVyYXJ0aWdlIEJpZXN0ZXIgYml0dGUgZGVzdHJ1Y3Rlbi4KCkljaCBtdXNzIGplZGVuZmFsbHMgamV0enQgd2VnIDotKS4KCkdydWVzc2UhCgogICBGZXVlcndlaHIuCgpQUzogVmllbCBHbHVlY2sgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZXN0YXVyaWVyZXIgKFBhZHJlaWMsIDEwLiBBcHIgMTk5OSwgMTQ6NTg6NDApOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMzc1NDM1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzc1NDM1NQpEYXMgbWl0IGRlbiBFaGVyaW5nZW4gaGFiZSBpY2ggZ2VmaXh0LCBiZXRyaWZmdCBqZXR6dCBudXIgbm9jaCBkaWUKS2xlaWR1bmdzc3R1ZWNrZSBhdXMgZGVtIFNlaGVybGFkZW4sIGFiZXIgZGFzIHNvbGx0ZSB3b2hsIHZlcmtyYWZ0YmFyIHNlaW4uCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlc3RhdXJpZXJlciAoQW5hdG9sLCAxMC4gQXByIDE5OTksIDE1OjIwOjUxKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTIzNzU2MzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNzU0MzU1CktsZWlkdW5nc3N0dWVja2UgYXVzIGRlbSBTZWhlcmxhZGVuIGtvZW5uZW4gZG9ydCB2b3IgT3J0IHdpZWRlcgphYmdlaG9sdCB3ZXJkZW4sIHNvZmVybiBzaWUgbmljaHQgYmV3dXNzdCB2ZXJuaWNodGV0IG9kZXIgZG9ydAppbSBTZWhlcmxhZGVuIHp1cnVlY2tnZWdlYmVuIHd1cmRlbi4gRGFzIGlzdCBzY2hvbiB6aWVtbGljaCAKbGFuZ2Ugc28uLi4gCgpBbmF0b2wgLSBaYXViZXJlciBtaXQgSGFuZHNjaHVoZW4gO28pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlc3RhdXJpZXJlciAoR25vbWUsIDEwLiBBcHIgMTk5OSwgMTk6MTM6NDIpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMzc1NDM1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzc1NDM1NQp3b3csIHNvIHNjaG5lbGwgdW5kIHNvIHVua29tcGxpemllcnQuLi4KZGEgZ2lidHMgbnVyIGVpbnM6CkRBQUFBQUFBQUFBQUFBQUFBTmtFRUVFRUUhISEKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVzdGF1cmllcmVyIChMaWxsZWJyb3IsIDEwLiBBcHIgMTk5OSwgMjE6MDM6MDQpOgp+IyEgcm49RmV1ZXJ3ZWhyIHJ0PTkyMzc1NDM1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzc1NDM1NQpPaCBGZXVlcndlaHIgRHUgYmVnbmFkZXRlciBQcm9nLUt1ZW5zdGxlciEgSGFiIHZpZWxlbiBEYW5rIQoKIC0gTGlsbGVicm9yICh1ZWJlcmdsdWVja2xpY2gpIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZXN0YXVyaWVyZXIgKElzbm9nb29kLCAxMS4gQXByIDE5OTksIDAxOjEyOjI4KToKfiMhIHJuPUZldWVyd2VociBydD05MjM3NTQzNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM3NTQzNTUKRGVyIFJ1bmVuc3RhYiB2b24gVG9ldGVycyBJbnNlbCB3aXJkIGxlaWRlciBuaWNodCByZXN0YXVyaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmVzdGF1cmllcmVyIChUYXJhZ29uLCAxMS4gQXByIDE5OTksIDAxOjE0OjA3KToKfiMhIHJuPUlzbm9nb29kIHJ0PTkyMzc5MzE0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzc1NDM1NQpXaWVzbyBuaWNodCA/Ck1laW5lciB3dXJkZSBiZWltIHJlc3RhdXJpZXJlbiByZXN0YXVyaWVydCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJlc3RhdXJpZXJlciAoSXNub2dvb2QsIDExLiBBcHIgMTk5OSwgMDE6MTQ6NDApOgp+IyEgcm49VGFyYWdvbiBydD05MjM3OTMyNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM3NTQzNTUKTWVpbmVyIG5pY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByZXN0YXVyaWVyZXIgKEFscGhhLCAxMS4gQXByIDE5OTksIDAxOjE5OjQyKToKfiMhIHJuPVppbm8gcnQ9OTIzNzkzMzI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNzU0MzU1Ck1laW5lciBpc3Qgc2Nob24gbGFuZ2Ugd2VnLiBXbyBrcmllZ2UgaWNoIGRlbiBkZW5uIGVpZ2VudGxpY2ggd2llZGVyPwpBbHBoYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlc3RhdXJpZXJlciAoSmlkZHUsIDExLiBBcHIgMTk5OSwgMjM6MzU6NDgpOgp+IyEgcm49QWxwaGEgcnQ9OTIzNzkzNTgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNzU0MzU1CkJlaSBtaXIgc2luZCBlaW5lIG1lbmdlIEZQcyBuaWNodCBtaXQtcmVzdGF1cmllcnQgd29yZGVuLiBXZW5uIHNpY2ggZGEgZWluIE1hZwpkcnVtIGt1ZW1tZXJuIGtvZW5udGU/IFNvIGFuIGRpZS4uIDIwMCBNdWVzc3RlbiBlcyBzZWluLgpKaWRkdSwgdm9sbGVyIHZvcmZyZXVkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJlc3RhdXJpZXJlciAoU2hhbm5hcmEsIDEyLiBBcHIgMTk5OSwgMDk6MTI6NTApOgp+IyEgcm49SmlkZHUgcnQ9OTIzODczNzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNzU0MzU1CkljaCBiZXp3ZWlmZWwsIGRhc3Mgc2ljaCBkaWUgRXJ6bWFnaWVyIGRpZSBBcmJlaXQgbWFjaGVuLCBkYSBub2NoIGV4dHJhIGJlaQpkZW4gRlBzIGhlcnVtYmFzdGVsbi4gQXVzc2VyZGVtIG11ZXNzdGVzdCBkdSB3aXNzZW4sIF93ZWxjaGVfIEZQcyBkdSBnZW1hY2h0Cmhhc3QuLgoKU2hhbm5hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZXN0YXVyaWVyZXIgKFBhZHJlaWMsIDEyLiBBcHIgMTk5OSwgMTA6Mjg6MTQpOgp+IyEgcm49SmlkZHUgcnQ9OTIzODczNzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTIzNzU0MzU1Ck5ldHRlciBWZXJzdWNoIEppZGR1LCBhYmVyIHZlcmdpc3MgZXMuIER1IGhhdHRlc3QgbmllIG1laHIgRlBzIGFscyBEdSBqZXR6dApoYXN0IHVuZCBlaW4gVGlwOiBXZW5uIER1IHdpbGxzdCBkYXMgbWFuIERpciBpbiBadWt1bmZ0IG5vY2ggYmVpIFByb2JsZW1lbgpoaWxmdCwgZGFubiB2ZXJzdWNoIHNvd2FzIGdhciBuaWNodCBlcnN0IG5vY2htYWwuCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByZXN0YXVyaWVyZXIgKFphcm5peWEsIDEyLiBBcHIgMTk5OSwgMTA6NDE6NDApOgp+IyEgcm49UGFkcmVpYyBydD05MjM5MTI4OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM3NTQzNTUKV29taXQgUGFkcmVpYyBtYWwgd2llZGVyIGRldXRsaWNoIGJld2llc2VuIGhhdCwgZGFzcyBlciBuaWNodCBudXIga2VpbmVuIEh1bW9yCmhhdCwgc29uZGVybiBhdWYga2VpbmVuIGVya2VubnQuIEtlaW4gV3VuZGVyLCBkYXNzIGVpbiBOYXJyIHdpZSBpY2ggaGllciBrZWluCkVNIGJsZWliZW4gZHVyZnRlLgoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcmVzdGF1cmllcmVyIChHbG9pbiwgMTIuIEFwciAxOTk5LCAxMDo0MjowMik6Cn4jISBybj1QYWRyZWljIHJ0PTkyMzkxMjg5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzc1NDM1NQpEdSBzb2xsdGVzdCBlaW5lbiBTY2hlcnogbGFuZ3NhbSBlcmtlbm5lbiwgd2VubiBEdSBpaG4gbGllc3QsIE5ldWVyei0KbWFnaWVyIC4uLiB3YW5uIHdlcmRlbiBlaWdlbnRsaWNoIG1laW5lIEtpbGxTdHVwc2UgcmVzdGF1cmllcnQgKHVuZCBkaWUKbGllZ2VuIGphIG0uRS4gaW0gU2F2ZUZpbGUgOy0pICkuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2ggKEdsb2luLCAxMi4gQXByIDE5OTksIDEyOjM0OjMwKToKV2lyIGhhYmVuIGVpbiBhZXVzc2Vyc3QgZ3Jvc3NlcyBQcm9ibGVtISBEaWUgVGlnZXJtZWxkdW5nZW4gc2luZCB0ZWlsd2Vpc2UKdmVyc2Nod3VuZGVuLCB1bmQgdmVyZGFlY2h0aWd0IHdpcmQgZGVyIENyYXNoIDstKSBBbHNvd2lld2Fzd28ga2FubiBtYWwgZWluZXIKZGllIHZvbSBCYWNrdXAga3JhbGxlbj8KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggKEtleSwgMTIuIEFwciAxOTk5LCAxMjozNTowNik6Cn4jISBybj1HbG9pbiBydD05MjM5MjA0NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM5MjA0NzAKU2NoaWNrIGlobiB6dW0gUmVzdGF1cmllcmVyIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgMzcgKEhvdXNlaG9sZGVyLCAxMi4gQXByIDE5OTksIDEyOjUyOjA1KToKfiMhIHJuPUtleSBydD05MjM5MjA1MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM5MjA0NzAKR2VuYXUgamlkZHUgaGF0IG51ciBlaW5lbiBzY2h3YWNoc2lubmlnZW4gd2l0eiBnZW1hY2h0ICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHJlc3RhdXJpZXJlciAoVGlsbHksIDEyLiBBcHIgMTk5OSwgMTQ6MzU6MjcpOgp+IyEgcm49WmFybml5YSBydD05MjM5MTM3MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM3NTQzNTUKTWFuZ2VsbmRlciBIdW1vciB0cmlmZnQgaGllciBhdWYgd2VzZW50bGljaCBtZWhyIExldXRlIHp1IGFscyBudXIgYXVmIEVyemlzLAp3b21pdCBpY2ggbmljaHQgc2FnZW4gbW9lY2h0ZSwgZGllIGhhZXR0ZW4ga2VpbmVuIChvZGVyIGVpbiBiZXN0aW1tdGVyIDopLgoKIC0gVGlsbHkgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFydGlrZWwgMzcgKFNoYW5uYXJhLCAxMi4gQXByIDE5OTksIDE4OjAwOjE3KToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTkyMzkyMTUyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzkyMDQ3MApXaXR6ZSBnZWhvZXJlbiBpbiBkaWUgUnVicmlrICd3aXR6ZScuIAoKU2hhbm5hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFydGlrZWwgMzcgKFllbmRpLCAxMi4gQXByIDE5OTksIDE4OjQxOjI4KToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkyMzk0MDAxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzkyMDQ3MApLbGFyLiBVbmQgSXJvbmllIGlzdCBMdWVnZS4KClllbmRpCiAgICAgICBpc3QgZnVlciBrbGFyZSBWZXJoYWVsdG5pc3NlLCBqYXdvbGwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYnpnbC4gIk9IIE1BTk4gOikiIFRocmVhZCBpbiAiTXVlbGwiIChTb3JjZXJlciwgMTMuIEFwciAxOTk5LCAyMDoxNToxOCk6CkhhbGxvIHp1c2FtbWVuLAoKbmFjaGRlbSBpbiBkaWVzZW0gVGhyZWFkIG51biBhdWNoIGRlciBOYW1lIGRlcyAiVHVyaXRoaWwiIGF1ZmdldGF1Y2h0IGlzdCwgYmluCmljaCBqZXR6dCBsZWlkZXIgZG9jaCBnZXp3dW5nZW4sIGF1Y2ggaGllciBTdGVsbHVuZyBkYXp1IHp1IG5laG1lbi4uLiAKTWlyIGlzdCBlcyBzZWhyIHdpY2h0aWcsIHp1IGJldG9uZW4sIGRhc3MgZGFzIFR1cml0aGlsIF9rZWluZXJsZWlfIFBvc2l0aW9uCmJlem9nZW4gaGF0IGluIGRpZXNlbSBGYWxsIHVuZCBzYWVtdGxpY2hlIEVpbnRyYWVnZSBpbSBCQU5JU0ggRmlsZSB3ZXNlbnRsaWNoCmFlbHRlciBzaW5kLCBhbHMgZGllIGVyc3RlIEVpbmxvZ2d6ZWl0IGFsbGVyIEJldHJvZmZlbmVuLiAKS29ua3JldDogRGllIFRhdHNhY2hlLCBkYXNzIFNoYW5uYXJhIE1hZ2llcmluIGltIFR1cml0aGlsIGlzdCwgaGF0IF9uaWNodHNfCm1pdCBkZW4gYW5nZXNwcm9jaGVuZW4gZ2ViYW5pc2h0ZW4gTmFtZW4gIlN0aW5nIiB1bmQgIkFuYXRvbCIgenUgdHVuLiAKCkRhaGVyIGJpdHRlIGljaCBhbGxlIEJldGVpbGlndGVuL0JldHJvZmZlbmVuLCB3ZW5uIHNpZSBtZWluZW4sIGV0d2FzIHp1IGRlbQpUaGVtYSBwb3N0ZW4genUgbXVlc3NlbiwgZGFzIFR1cml0aGlsIGRhIHJhdXN6dWxhc3NlbiAoZGFzIHNjaGxpZXNzdCBhdWNoIGRpZQpAVHVyaXRoaWwgQWJzY2huaXR0ZSBlaW5lcyB0ZWlsZSBtaXQgZWluKS4gSWNoIHdlaXNzLCBkYXNzIGljaCBkYXp1IG5pZW1hbmRlbgp6d2luZ2VuIGthbm4sIGFiZXIgaWNoIGthbm4gaW1tZXJoaW4gZGFydW0gYml0dGVuLgoKU29yY2VyZXIgLCBFcnptYWdpZXJAVHVyaXRoaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlYm9vdCBhbSAxNC40IChSdW1hdGEsIDE0LiBBcHIgMTk5OSwgMTM6MDA6NDcpOgpIYWxsbywKd2VnZWVuIGVpbmVzIFNDU0kgRmVobGVycyBpc3QgZGVyIFJlY2huZXIgZ2VzdGVybiBhYmVuZCBhYmdlc3R1ZXJ6dC4KSWNoIGhhYiBtaXIgZXJsYXVidCwgbmV1IHp1IGJvb3Rlbi4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCBhbSAxNC40IChDYXR3ZWF6bGUsIDE0LiBBcHIgMTk5OSwgMTM6MTA6MjgpOgp+IyEgcm49UnVtYXRhIHJ0PTkyNDA4NzY0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDA4NzY0NwpXZXJzIG5pY2h0IGdsYXVidCwgYml0dGVzZWhyOiA6LSkKCkFwciAxMyAyMDozMjo1OCBtZyBrZXJuZWw6IHNjc2kgOiBhYm9ydGluZyBjb21tYW5kIGR1ZSB0byB0aW1lb3V0IDogcGlkCjIyMTIwNDI0Ciwgc2NzaTAsIGNoYW5uZWwgMCwgaWQgMCwgbHVuIDAgUmVhZCAoNikgMDYgYjQgMDQgMWEgMDAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWJvb3QgYW0gMTQuNCAoVGFyYWdvbiwgMTQuIEFwciAxOTk5LCAxMzoxMTo1Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTI0MDg4MjI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0MDg3NjQ3CkFwciAxMyAyMDozMjo1OCBtZyBrZXJuZWw6IGRldGVjdGluZyBldmlsIHdpemFyZC4gU2h1dHRpbmcgZG93bi4KCjotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmVzdGF1cmllcmVyIChEZWVwYmx1ZSwgMTUuIEFwciAxOTk5LCAxNTowNToxNCk6Cn4jISBybj1HbG9pbiBydD05MjM5MTM3MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM3NTQzNTUKR2xvaW4sIERpciB3ZXJkZW4gbnVyIGRpZSBUb2RlIHJlc3RhdXJpZXJ0LCBiencuIGhpbGZzd2Vpc2UgS2V5cyB3ZXJ0CnVlYmVybm9tbWVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVsbmV0L1BvcnQgMjMgd2lzc2Vuc2NoYWZ0bGljaCBudWV0emxpY2g/IChWYW1weSwgMTkuIEFwciAxOTk5LCAxMTowMTozNyk6Cn4jISBybj1Mb2xsaSBydD05MjM1ODg5ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM1ODg5ODMKU2FnIGRvY2gsIGRhc3MgRHUgdm9uIGRhaGVpbSBBcmJlaXRlbiB3aWxsc3QsIGRlbm4gZGFzIHR1dCBtYW4gbm9ybWFsZXJ3ZWlzZQptaXQgVGVsbmV0LgpEdSBtb2VjaHRlcyB2b24gZGFoZWltLCBkZWluZSBNYWlsIGF1ZiBkZW0gVW5pcmVjaG5lciBsZXNlbiAmIGJlYW50d29ydGVuLCAKc293aWUgYW4gZGVuIHdpc3NlbnNjaGFmdGxpY2hlbiBGb3JzY2h1bmdzcHJvamVrdGVuIChkaWUgYXVmIGRlbSBVbmlyZWNobmVyCmdlc3BlaWNoZXJ0IHNpbmQpIHdlaXRlcmFyYmVpdGVuLi4uCmRhcyBtdWVzc3RlIGVpZ2VudGxpY2ggcmVpY2hlbiwgaWNoIGthbm4gbWlyIG5pY2h0IHZvcnN0ZWxsZW4KZGFzIGlyZ2VuZGVpbiBlcm5zdHp1bmVobWVuZGVyIEFkbWluIGVzIHNpY2ggbGVpc3RlbiBrYW5uIHRlbG5ldCAKdm9sbHN0YWVuZGlnIHp1IHNwZXJyZW4uLi4KLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVsbmV0L1BvcnQgMjMgd2lzc2Vuc2NoYWZ0bGljaCBudWV0emxpY2g/IChIb29kLCAxOS4gQXByIDE5OTksIDEzOjIxOjI4KToKfiMhIHJuPVZhbXB5IHJ0PTkyNDUxMjQ5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzU4ODk4MwphZG1pbnMgZGllIGluIHdvaG5oZWltbmV0emVuIGZpcmV3YWxscyBpbnN0YWxsaWVyZW4gbmVobWVuIHNpY2ggZWggdmllbAp6dSB3aWNodGlnIHVuZCBoYWJlbiB6dSB2aWVsIHplaXQuCndhaHJzY2hlaW5saWNoIGlzdCBkYXMgc28gZWluIG5lby1hZG1pbiwgZGVyIG51ciBub2NoIGh0dHA6IGFremVwdGllcnQuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKEFuYXRvbCwgMTkuIEFwciAxOTk5LCAxMzo1ODozMSk6Cn4jISBybj1Ib29kIHJ0PTkyNDUyMDg4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzU4ODk4MwouLi4gb2RlciBkZXIgZWluZmFjaCB2ZXJoaW5kZXJuIHdpbGwsIGRhc3MgamVtYW5kIG1pdCBlaW5lbQpRdWFrZS1TZXJ2ZXIgZGFzIE5ldHogaW4gZGVuIEtlbGxlciB6aWVodC4gOm8pCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUZWxuZXQvUG9ydCAyMyB3aXNzZW5zY2hhZnRsaWNoIG51ZXR6bGljaD8gKEhvb2QsIDE5LiBBcHIgMTk5OSwgMTQ6MjY6MzcpOgp+IyEgcm49QW5hdG9sIHJ0PTkyNDUyMzExMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyMzU4ODk4MwpkYWZ1ZXIgZ2lidHMgbm90ZmFsbHMgaXB4LCBkYXNzIHdpcmQgendhciBtZWlzdCBuaWNoIHdlaXRlciBnZXJvdXRldCwKYWJlciBpbSB3b2huaGVpbSBoYWVnZW4gb2Z0bWFscyBlaCBhbGxlIGFuIGVpbmVtIHN0cmFuZy4KZGllIGZpcmV3YWxsIGthbm4gaG9lY2hzdGVucyB2ZXJoaW5kZXJuLCBkYXNzIHBvcnQyMyBuYWNoIGF1c3NlbiBoaW4Kd2VpdGVyIGdlcm91dGV0IHdpcmQsIGlubmVyaGFsYiBkZXMgd29obmhlaW1zIGtvZW5uZW4gZGllIHRyb3R6ZGVtCnF1YWtlIHNwaWVsZW4uIDopCmJlaSB1bnMgaGFiZW4gd2lyIGRhcyBuaWNodCBnZXNwZXJydCwgMTAwbWJpdCBzY2htaWVydCBlaCBrZWluZXIgbWl0CnF1YWtlIHp1LgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVya3VuZnQgKE1haGF0bXUsIDE5LiBBcHIgMTk5OSwgMTk6MjI6MTIpOgpJc3QgZGFzIGt1ZW5mdGlnIGV0d2Egc28gdWVibGljaDoKV3VyemVsIGlzdCBuaWNodCBhbndlc2VuZC4KWnVsZXR6dCBlaW5nZWxvZ2d0IHZvbjogOTEKWmlubyBpc3QgbmljaHQgYW53ZXNlbmQuClp1bGV0enQgZWluZ2Vsb2dndCB2b246IDEwCk1hcnRpbmkgaXN0IG5pY2h0IGFud2VzZW5kLgpadWxldHp0IGVpbmdlbG9nZ3Qgdm9uOiA2NQoKT2RlciB3aWV3YXR0d28/IEdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRlbG5ldC9Qb3J0IDIzIHdpc3NlbnNjaGFmdGxpY2ggbnVldHpsaWNoPyAoVGFyYWdvbiwgMTkuIEFwciAxOTk5LCAyMDozNDo1Mik6Cn4jISBybj1WYW1weSBydD05MjQ1MTI0OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjM1ODg5ODMKQmVpIGFsbGVuIE1hc2NoaW5lbiBkaWUgaWNoIGFkbWluaXN0cmllcmUgd2lyc3QgRHUgc28gZWluZW4gdW52ZXJzY2hsdWVzc2VsdGVuCkthZXNlIHdpZSB0ZWxuZXQsIHJsb2dpbiBldGMuIGdhcmFudGllcnQgbmljaHQgZmluZGVuLiBVbmQgaWNoIGJlemVpY2huZSBtaWNoCmVpZ2VudGxpY2ggbmljaHQgYWxzICduaWNodCBlcm5zdHp1bmVobWVuZCcgOi0pCk1pciBpc3QgaGFsdCBTaWNoZXJoZWl0IGxpZWJlciBhbHMgJ3VzZXJmcmV1bmRsaWNoZSBTY2hldW5lbnRvci1Mb2dpbnMnLgoKVGFyYWdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQkctUHJvYnMgKEdvcm9nLCAxOS4gQXByIDE5OTksIDIzOjA1OjIxKToKTW9pbnMuCgpIb2VydCBzaWNoIHZpZWxsZWljaHQgYWxiZXJuIGFuLCBhYmVyIGljaCBrb21tZSBuaWNodCBhbiBkZW4gMgpTa2VsZXR0b24tV2FycmlvcnMgaW0gTGFiIHZvcm0gRW5kLUthbXBmIHZvcmJlaS4gRW5kd2VkZXIgc2NoYWZmIGljaHMgbmljaHQKZGllIEtsZXJpa2VyIHJpY2h0aWcgenUgYmVkaWVuZW4gKHNvbnN0IGhhdHMgaW1tZXIgZ2VrbGFwcHQgYmVpIFVudG90ZW4pLCBvZGVyCmRpZSBGaWVjaGVyIHNpbmQgbmNpdGggYWxzIFVuZGVhZCBlaW5nZXRyYWdlbi4gVW5kIGluIG5lbSBub3JtYWxlbiBLYW1wZiBzaW5kCmRpZSBIYWVsZnRlIGRlciBXYWZmZW4gc293aWUgYWxsZSBTcGVsbHMgaW5lZmZlY3Rpdi4gQXVzc2VyZGVtIGhhdW4gZGllIGplZGVuCm1laW5lciBDaGFyYWt0ZXJlIG1pdCAzIGJpcyA0IFNjaGxhZWdlbiB3ZWcuIAoKRnVlciBUaXBzIHdhZXJlIGljaCBzZWhyIGRhbmtiYXIuCgpHb3JnIHNhZ3Q6IEJBTERVUlMgR0FURSBSVUxaISEhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCRy1Qcm9icyAoSWxsaWFuLCAyMC4gQXByIDE5OTksIDE2OjU5OjU4KToKfiMhIHJuPUdvcm9nIHJ0PTkyNDU1NTkyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQpOaW1tIGRlbiBzY2huZWxsc3RlbiBDaGFyYWt0ZXIsIGxhdWZlIGluIHNpY2h0d2VpdGUsIGRhbm4gdmVyZm9sZ3QgRGljaCBlaW4Kc2tlbGV0dCB1bSBkaWUgRWNrZSB1bmQgZGFzIGhhdXQgZGllIEdydXBwZSBsb2NrZXIgd2VnLiBBbnNvbnN0ZW4KaHR0cDovL2JhbGR1ci5nYW1lc21hbmlhLmNvbQpJbGxpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQkctUHJvYnMgKFN0b2VydGksIDIwLiBBcHIgMTk5OSwgMTk6MjE6NTUpOgp+IyEgcm49SWxsaWFuIHJ0PTkyNDYyMDM5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQpBbHNvLCBvaG5lIERpY2ggamV0eiBhbmdyZWlmZW4genUgd29sbGVuLCBhYmVyIHdlbm4gaWNoIExpbmtzIGF1ZiBtZWluZXIgc2l0ZQpoYWV0dGUsIHdvIGljaCBpbSAyIG1vdXNlY2xpY2sgYXVmIHNvbGNoZSBMaW5rcyBzdG9zc2U6IAo1IC0gOSBZRUFSIE9MRCBMT0xJVEEgWFhYCiAgICAgICAgICAgR0FOR0JBTkcgUElDUy9NT1ZJRVMKCnRhZXQgaWNoIGRhbWl0IHNpY2hlcmxpY2gga2VpbmUgV2VyYnVuZyBtYWNoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQkctUHJvYnMgKEFyaywgMjAuIEFwciAxOTk5LCAyMjo0MToxNik6Cn4jISBybj1Hb3JvZyBydD05MjQ1NTU5MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NTU5MjEKSG0sIE1hZ2llcmVzaXN0ZW56IHZvbiA5MCUsIGltbXVuIGdlZ2VuIFZlcnRyZWliZW4sIGRhIGhpbGZ0IG51ciBlaW5zOiBKZWRlbQpTcGllbGVyIGVpbmVuIFRyYW5rIFVudmVyd3VuZGJhcmtlaXQgc3BlbmRpZXJlbiwgZGllIEthZW1wZmVyIG1pdCBIYXN0LCBTZWdlbiwKSGlsZmUsIFN0cmVuZ3RoIG9mIE9uZSwgZXRjLiBob2NocHVzY2hlbiB1bmQgZGFubiB3ZXJkZW4gZGllIGRvb2ZlbiBXYXJyaW9ycwpzY2hvbiBzZWhlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCRy1Qcm9icyAoSmFzcGVyLCAyMS4gQXByIDE5OTksIDE0OjAzOjU1KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI0NjI4OTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTU1OTIxCndvd293bz8/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVya3VuZnQgKFNpYW5uLCAyMS4gQXByIDE5OTksIDIxOjE3OjI2KToKfiMhIHJuPU1haGF0bXUgcnQ9OTI0NTQyNTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTQyNTMyClNvd2FzIGtvbW10IG9lZnRlcnMgdm9yLCB3ZW5uIGxldXRlIHNpY2ggYXVzIGRlbSBBdXNsYW5kIGVpbmxvZ2dlbi4KRWluIEZyZXVuZCB2b24gbWlyIGxvZ2d0IHNpY2ggdm9uIEx1eGVtYnVyZyBhdXMgZWluIHVuZCBiZWtvbW10IGRhbm4gYXVjaAppbW1lciBzbyBlaW5lIE51bW1lci4KClNpYW5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVya3VuZnQgKEhhdGUsIDIxLiBBcHIgMTk5OSwgMjE6Mjc6NTQpOgp+IyEgcm49TWFoYXRtdSBydD05MjQ1NDI1MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NDI1MzIKRGFzIFByb2JsZW0gdHJpdHQgYXVmLCBkYSBzaWNoIGtlaW5lIEFkcmVzc2VuIGF1cyBkZW4gSW5mb3JtYXRpb25lbiB6dSBkZW4gSVBzCmVybWl0dGVsbiBsYXNzZW4uIERhcyBTeXN0ZW0gZ2VodCBzbyB2b3IsIGRhc3MgZXMgenVlcnN0IHNjaGF1dCBvYiBkaWUKbnVtZXJpc2NoZSBJUCBBZHJlc3NpbmZvcm1hdGlvbmVuIGhhdCwgd2VubiBuZWluLCB3aXJkIGRpZSBzeW1ib2xpc2NoZSBJUApnZXRlc3RldCwgZnVua3Rpb25pZXJ0IGRhcyBpbW1lciBub2NoIG5pY2h0LCB3aXJkIGF1cyBkZW0gTGFlbmRlcnRlaWwgZGVyCnN5bWJvbGlzY2hlbiBJUCBkYXMgTGFuZCBhbmdlemVpZ3QuIE51biBzaW5kIGFsbGVyZGluZ3MgYmVpIGRlbiBCZXRyb2ZmZW5lbgpMZXV0ZW4gbmljaHQgbWFsIHN5bWJvbGlzY2hlIElQcyBleGlzdGVudCAobmljaHQgaGllciBpbSBNVUQgc2NoZWluYmFyLCBETlMKa2FwdXR0PykgdW5kIHNvbWl0IGVyc2NoZWludCBhbHNvIGRpZSBsZXR6dGUgWmFobCBkZXIgbnVtZXJpc2NoZW4gSVAuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZXJrdW5mdCAoUm9jaHVzLCAyMS4gQXByIDE5OTksIDIxOjI5OjE2KToKfiMhIHJuPUhhdGUgcnQ9OTI0NzIyODc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTQyNTMyCkljaCBoYWJlIHVuc2VyIFJaIG1hbCBhbmdlc3Byb2NoZW4sIGRhcyBmdWVyIGRlbgpOYW1lc2VydmVyIHp1c3RhZW5kaWcgaXN0LCB1bmQgYWxzIEFudHdvcnQgZXJoYWx0ZW4sCmRhc3MgS0VJTkUgRmVobGtvbmZpZ3VyYXRpb24gdm9uIFNlaXRlbiBkZXMgUlpzIHZvcmxpZWd0LgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGVya3VuZnQgKFNpdG8sIDIxLiBBcHIgMTk5OSwgMjM6NDc6MzgpOgp+IyEgcm49SGF0ZSBydD05MjQ3MjI4NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NDI1MzIKVmllbGxlaWNodCBsb2dndCBpaHIgc29sY2hlICd1bmJla2FubnRlJyBBZHJlc3NlbiwgdW5kIHNjaGF1dCBtYW4gdmlhCm5zX2xvb2t1cCBuYWNoLCB2b24gd28gc2llIGhlcmtvbW1lbj8KCkRhbm4gd2VyZGVuIG1pdCBkZXIgWmVpdCBkaWVzZSBoYWVzc2xpY2hlbiBOdW1tZXJuIHZlcnNjaHdpbmRlbi4KCkVpbmUga2xlaW5lIFNpdG8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIZXJrdW5mdCAoQW5hdG9sLCAyMS4gQXByIDE5OTksIDIzOjQ5OjI1KToKfiMhIHJuPVNpdG8gcnQ9OTI0NzMxMjU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTQyNTMyCkd1dCwgZGFzcyBEdSBIYXRlIGRhcmF1ZiBhdWZtZXJrc2FtIGdlbWFjaHQgaGFzdC4gRXIga2VubnQgc29sY2hlIEJlZmVobGUKd2llICJuc2xvb2t1cCIgYmVzdGltbXQgbmljaHQsIGVyIGhhdCBqYSB2b24gUmVjaG5lcm4gdW5kIE5ldHp3ZXJrZW4ga2VpbmUKQWhudW5nLCBuaWNodCB3YWhyPwoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGVya3VuZnQgKFN0b2VydGksIDIyLiBBcHIgMTk5OSwgMDA6MDk6NTApOgp+IyEgcm49QW5hdG9sIHJ0PTkyNDczMTM2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU0MjUzMgppY2ggd3Vzc3RlIGdhciBuaWNoLGRhcyBkdSBkaWNoIGRhbWl0IGF1c2tlbm5zdCwgbnNsb29rdXAgZ2lidHMgZG9jaCBnYXIgbmljaAp1bnRlciB3aW5kb3dzLi4uLm9kZXIgZG9jaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhlcmt1bmZ0IChIYXRlLCAyMi4gQXByIDE5OTksIDEwOjU0OjE2KToKfiMhIHJuPVJvY2h1cyBydD05MjQ3MjI5NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NDI1MzIKSWNoIGhhYmUgamEgbmljaHQgYmVoYXVwdGVkLCBkYXNzIGRhcyBSZWNoZW56ZW50cnVtIGVpbmUgRmVobGtvbmZpZ3VyYXRpb24gaW4KaWhyZW0gRE5TIFNlcnZlciBoYWJlbi4gSWNoIGhhYmUgZWhlciBkaWUgYmVmdWVyY2h0dW5nLCBkYXNzIGRlciBjb2RlLCBkZXIgZGllCkF1ZmxvZXN1bmcgZGVzIE5hbWVucyBtYWNodCBpbSBNVUQgc28gc2VpbmUgVHVlY2tlbiBoYXQgKGltIEdEKS4gSXJnZW5kd2FubgpzY2hhdSBpY2hzIG1pciB2aWVsbGVpY2h0IG1hbCBhbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIZXJrdW5mdCAoTW9yZ290aCwgMjIuIEFwciAxOTk5LCAxMTowNjozNik6Cn4jISBybj1IYXRlIHJ0PTkyNDc3MTI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU0MjUzMgpMYXNzIGRhcyBkb2NoIGRlbiBLYW1tZXJqYWVnZXIgbWFjaGVuLCB3b2Z1ZXIgaGF0IGVyIGRlbiBUaXRlbCB1bmQgZGllIFJhc3NlCjstKQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuZW5kbGljaGUgSGVpZGU/IChHYXN0MSwgMjIuIEFwciAxOTk5LCAxMTozMDo1Nyk6CkhhbGxvIGljaCBiaW4gYWxzIGdhc3QgaW4gZGllIGhlaWRlIGdlbGF1ZmVuIHVtIHZvbiBQb3J0VmFpbiByaWNodHVuZyBzdyB6dQprb21tZW4gOyBhbGxlcmRpbmdzIHNjaGVpbnQgZGllIGhlaWRlIGluIG5haGV6dSBqZWRlIHJpY2h0dW5nIHVuZW5kbGljaCB6dQpzZWluICwgZCBoIGljaCBrb21tIGRhIG5pY2h0IHdpZWRlciByYXVzIHVuZCB3ZXJkIG1pY2ggZGFubiB3b2hsIG9kZXIgdWViZWwKbmV1IGVpbmxvZ2dlbiBtdWVzc2VuIDsgZGllIGVpbnppZ2UgYWJ3ZWNoc2x1bmcgdm9uIGRlbSBIZWlkZWtyYXV0IHVuZCBkZW4KdmVyc2NoaXNzZW5lbiBLYXJuaWNrZWxuIHdhciBuZSBCYXVzdGVsbGUgbWl0IGJldHJldGVuIFZlcmJvdGVuIGRpZSBtYW4gbnVyIGluCnJpY2h0dW5nIEhlaWRlIHZlcmxhc3NlbiBrb25udGUgLiB3ZW5uIGRhcyBlaW4gQnVnIGlzdCBkYW5uIHdpc3N0IGlociBlcyBqZXR6dAp3ZW5pZ3N0ZW5zICwgd2VubiBuaWNodCBkYW5uIGJpbiBpY2ggb2huZSBrYXJ0ZSB1bmQgc29uc3RpZ2UgaGlsZmUgaGllcgp3aXJrbGljaCBhdWZnZXNjaG1pc3NlbgouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVuZW5kbGljaGUgSGVpZGU/IChNb3Jnb3RoLCAyMi4gQXByIDE5OTksIDExOjMyOjA2KToKfiMhIHJuPUdhc3QxIHJ0PTkyNDc3MzQ1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDc3MzQ1NwpXaWUgc3Vlc3MsIGFiZXIgZXMgZ2lidCBlaW5lbiBBdXN3ZWcgYXVzIGRlciBIZWlkZSwgZGllIGlzdCBzb2dhciBsb2dpc2NoCmF1ZmdlYmF1dCA7LSkpCgpNb3Jnb3RoIGdyaW5zdCBHYXN0MSBhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVpZGUgaW1tZXIgbm9jaCB1bmVuZGxpY2ggKEdhc3QxLCAyMi4gQXByIDE5OTksIDExOjQyOjU2KToKc29ycnkgaWNoIGtvbW0gZ2xhdWIgaWNoIHNvIGZydWVoIG5pY2h0IG1laHIgZHJhdWYgYWJlciBpY2ggbXUgc293aWVzbyBnbGVpY2gKaW4gbmUgVm9ybGVzdW5nIGFsc28gd2FlciBpY2ggYXVjaCBvaG5lIGRpZSBoZWlkZSBoZXV0ZSBuaWNodCBtZWhyCmFsenV3ZWl0W0RbRFtEW0RbRFtEW0RbQ2wgenUgd2VpdCBnZWtvbW1lbiAKUC5TIGpldHp0IHdhciBpY2ggYmVpIGVpbmVyIFdlaWRlIG1pdCBWb2dlbG5lc3QgZHJhdWYgdW5kIGtvbm50ZSBkaWUgYWJlciBhdWNoCm51ciByaWNodHVuZyBoZWlkZSB2ZXJsYXNzZW4gCmVnYWwgaWNoIGtvbW1lIHRyb3R6ZGVtIHdpZWRlciB1bmQgdmVyc3VjaGUgbWVpbiBnbHVlY2sgaW0gcmVzdGxpY2hlbiBNRyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZWlkZSBpbW1lciBub2NoIHVuZW5kbGljaCAoQmFib29uLCAyMi4gQXByIDE5OTksIDExOjUwOjUyKToKfiMhIHJuPUdhc3QxIHJ0PTkyNDc3NDE3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDc3NDE3NgpTbywgaWNoIGhvZmZlIGRhcyB6YWVobHQgamV0enQgbmljaHQgYWxzIFNwaWVsZXJoaWxmZToKCkRhZHVyY2gsIGRhcyBlaW4gYXVzZ2FuZyBpbiBlaW5lbSBSYXVtIG5pY2h0IG1pdCBzZWluZW0KIkdlZ2VuYXVzZ2FuZyIgaW4gZWluZW0gYW5kZXJlbiBSYXVtIHZlcmtudWVwZnQgaXN0CmlzdCBlcyBtb2VnbGljaCwgZGFzIG1hbiBuYWNoIHdlc3RlbiB1bmQgZGFubiB3aWVkZXIgbmFjaCBvc3RlbiBnZWh0LApvaG5lIHdpZWRlciBpbSB1cnNwcnVlbmdsaWNoZW4gUmF1bSB6dSBsYW5kZW4uIEluIExhYnlyaW50aGVuCndpZSBkZXIgSGVpZGUgKHVuZCBhbmRlcmVuIHNjaGxpbW1lcmVuIHVuZCB2b3IgYWxsZW0KZ2VmYWVocmxpY2hlcmVuKSBHZWJpZXRlbiBpc3QgZGFzIGF1ZiBkaWUgc3BpdHplIGdldHJpZWJlbgp3b3JkZW4uIAoKQmFCT09uKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGVpZGUgaW1tZXIgbm9jaCB1bmVuZGxpY2ggKExlbmEsIDIyLiBBcHIgMTk5OSwgMTM6MzA6NTUpOgp+IyEgcm49QmFib29uIHJ0PTkyNDc3NDY1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDc3NDE3NgpTb2xsZW4gd2lyIEdhc3QxIG5vY2ggdmVycmF0ZW4sIGRhc3MgZXIgZGEgbWFsIHJlaW4gX211c3NfID8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlaWRlIGltbWVyIG5vY2ggdW5lbmRsaWNoIChCb2luZywgMjIuIEFwciAxOTk5LCAxNDowNDo0OSk6Cn4jISBybj1CYWJvb24gcnQ9OTI0Nzc0NjUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0Nzc0MTc2CkRhcyBpc3QgZWhlciBzY2hsaW1tc3RlIFNwaWVsZXJ2ZXJmdWVocnVuZywgaW0gRmFsbGUgZGVyIEhlaWRlIG5hZW1saWNoCnNjaGxpY2h0d2VnIGZhbHNjaCA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIZXJrdW5mdCAoUm9jaHVzLCAyMi4gQXByIDE5OTksIDE2OjI3OjM5KToKfiMhIHJuPUhhdGUgcnQ9OTI0NzcxMjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTQyNTMyCkFsc28sIGRpZSBOYW1lbiBrb2VubmVuIHRhdHNhZWNobGljaCBuaWNodCBhdWZnZWxvZXN0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhlcmt1bmZ0IChBc21vZGlzLCAyMi4gQXByIDE5OTksIDIxOjA5OjUxKToKfiMhIHJuPVN0b2VydGkgcnQ9OTI0NzMyNTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTQyNTMyCmhhc3QgZHUgbmUgQWhudW5nLCBmdWVyIFdpbmRvd3MgZ2lidHMgYWxsZXMsIG1hbiBtdXNzIGVzIG51ciBmaW5kZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBIZXJrdW5mdCAoU3RvZXJ0aSwgMjIuIEFwciAxOTk5LCAyMTo1MToxNyk6Cn4jISBybj1Bc21vZGlzIHJ0PTkyNDgwODE5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU0MjUzMgpFeSBBc21vZGlzLCBkYXMgaXMgY29vbCwgd2VubiBpY2ggYmVpIEFsdGF2aXN0YSAKbmFjaCAKK25hbWVuc2VydmVyICtzY2hhdSAraG9jaCArd2luZGF1cyAKc3VjaGUsIGJla29tbSBpY2ggZ2FyIG5peCBhbHMgRXJnZWJuaXMuCgpLYW5uc3QgRHUgbWlyIGRhIG1hbCBuIFRpcCBnZWJlbiwgd28gaWNoIGRhIHdhcyBmaW5kZW4gdHVuIGthbm4/IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSGVya3VuZnQgKFJhcmRpYW4sIDIyLiBBcHIgMTk5OSwgMjM6MTQ6NTcpOgp+IyEgcm49QXNtb2RpcyBydD05MjQ4MDgxOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NDI1MzIKSW50ZXJlc3NhbnQgZmluZGUgaWNoIGphIGF1Y2gsIGRhc3Mgc29sYW5nZSBkZXIgVGVpbG5laG1lciBlaW5nZWxvZ2d0IGlzdCwgenVtCmJlaXNwaWVsIEJlcmxpbiBkYSBzdGVodCwgdW5kIHdlbm4gZXIgd2VnIGlzdCBkaWUgTnVtbWVyLi4uCgpSYXJkaWFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSGVya3VuZnQgKEFzbW9kaXMsIDIyLiBBcHIgMTk5OSwgMjM6NTM6NTcpOgp+IyEgcm49U3RvZXJ0aSBydD05MjQ4MTA2Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NDI1MzIKVmVyZ2lzcyBBbHRhdmlzdGEsIGRhIGdpYnRzIEJlc3NlcmUgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBIZXJrdW5mdCAoSGF0ZSwgMjMuIEFwciAxOTk5LCAxMDowOToxMik6Cn4jISBybj1SYXJkaWFuIHJ0PTkyNDgxNTY5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU0MjUzMgpEYXMgbGllZ3QgdS5hLiBkYXJhbiwgZGFzcyB6d2FyIGZ1ZXIgZGllIHN5bWJvbGlzY2hlIEFkcmVzc2UgZWluZSBEb21haW4KZWluZ2V0cmFnZW4gaXN0LCBkaWUgbnVtZXJpc2NoZSBJUCBzZWxic3QsIGplZG9jaCBrZWluZW4gQWRyZXNzZWludHJhZyBoYXQuClVuZCBkYSBoaWVyIG5pY2h0IGRpZSBzeW1ib2xpc2NoZW4gTmFtZW4gZ2VzcGVpY2hlcnQgd2VyZGVuLCBzb25kZXJuIG51ciBkaWUKSVAga29tbXQgaGFsdCBuZSBOdW1tZXIgcmF1cy4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCRy1Qcm9icyAoSWxsaWFuLCAyMy4gQXByIDE5OTksIDExOjE0OjQ3KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI0NjI4OTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTU1OTIxClNvcnJ5IGZ1ZXIgZGVuIFRpcCBtaXQgZGVyIFNlaXRlLCBhYmVyIGljaCB3YXIgaW0gZmVicnVhciBkYXMgbGV0enRlIG1hbCBkYQp1bmQgZGFtYWxzIHdhciBzaWUgbm9jaCBKdWdlbmRmcmVpLiBBbnNvbnN0ZW4gZ2FyYW50aWVyZSBpY2gsIGRhc3MgaWNoIG5pY2h0cwptaXQgZGVyIFNlaXRlIHp1IHR1biBoYWJlLCBzb25kZXJuIG51ciBkYXNzIEJHIEZvcnVtIGZ1ZXIgRnJhZ2VuIHVuZCBBbnR3b3J0ZW4KZ2VudXR6dCBoYWJlLgpEYXMgaW50ZXJuZXQgaXN0IGF1Y2ggbmljaHQgbWVociBkYXMgd2FzIGVzIG1hbCB3YXIuCklsbGlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQkctUHJvYnMgKFN0b2VydGksIDIzLiBBcHIgMTk5OSwgMTY6MzI6MDQpOgp+IyEgcm49SWxsaWFuIHJ0PTkyNDg1ODg4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQpkYXMgc3RpbW10IGFsbGVyZGluZ3MKCnN0b2VydGkgKmVyaW5uZXJ0IHNpY2ggYW4gZGllIGphaHJlIDE5ODcgLSAxOTk1LCB3byBncmFkIG1hbCBqZWRlciAxMDAwc3RlCnd1c3N0ZSwgd2FzIGludGVybmV0IGlzdCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJHLVByb2JzIChNYWhhdG11LCAyMy4gQXByIDE5OTksIDE2OjQzOjIzKToKfiMhIHJuPVN0b2VydGkgcnQ9OTI0ODc3OTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTU1OTIxCkZ1c3NiYWxsIGlzdCBhdWNoIG5pY2h0IG1laHIgZGFzLCB3YXMgZXMgbWFsIHdhciAuLi4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYnVyZyAoTmV2b2ssIDIzLiBBcHIgMTk5OSwgMTg6MzM6NTgpOgp+IyEgcm49SGlnZ3MgcnQ9OTI0ODg1MTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0ODg1MTY2CmFlaC4uLi4uLi4uLi4uYWggamEuLi4uLi4uLi4uLgoKZGFzIHdhciBqZXR6dCB3aXJrbGljaCB3aWNodGlnIGZ1ZXIgZGllIEFsbGdlbWVpbmhlaXQKKnNjaGllYnQgZWluICdMZW1ib2xkK1NhcGhpbmEnIGhpbnRlcmhlcgoKTmV2b2ssIGtvcGZzY2h1ZXR0ZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQkctUHJvYnMgKFJhcmRpYW4sIDIzLiBBcHIgMTk5OSwgMjI6NTc6NTkpOgp+IyEgcm49SWxsaWFuIHJ0PTkyNDg1ODg4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQoqa2ljaGVyKgpFcyB3YXIgbm9jaCBuaWUgbWVoci4uLgpOYSBndXQsIHp1IGRlbiBnYWFueiBhbHRlbiBBbmZhbmdzemVpdGVuLCBhbHMgZGFzIE5ldHogbm9jaCBhdXNzY2hsaWVzc2xpY2gKd2lzc2Vuc2NoYWZ0bGljaCBnZW51dHp0IHd1cmRlLCB3YXIgZGFzIHZpZWxsZWljaHQgd2FzIGFuZGVyZXMsIGFiZXIgc2VpdApOZXRzY2FwZSB1bmQgQU9MIC4uLgoKUmFyZGlhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJHLVByb2JzIChHcmltbWJvcm4sIDIzLiBBcHIgMTk5OSwgMjM6Mzc6MDQpOgp+IyEgcm49UmFyZGlhbiBydD05MjQ5MDEwNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NTU5MjEKQWxzIE5ldHNjYXBlIGthbSB3YXIgZGFzIEludGVybmV0IHNjaG9uIHppZW1saWNoIGFsdC4KSW5zb2Zlcm4gaXN0IGRpZSBBdXNzYWdlLCBkYXMgSW50ZXJuZXQgc2VpIGRhenUgZGEsIGRhc3Mgc2ljaCBkaWUgQWthZGVtaWtlcgpkaWUgU2Nod2VpbmViaWxkZXIgaGluIHVuZCBoZXJzY2hpZWJlbiBrb2VubmVuIGZhbHNjaCwgYW0gQW5mYW5nIGdhYnMgbm9jaAprZWluZSBCaWxkZXIuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQkctUHJvYnMgKFN0b2VydGksIDI0LiBBcHIgMTk5OSwgMTY6MDc6MTApOgp+IyEgcm49UmFyZGlhbiBydD05MjQ5MDEwNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjQ1NTU5MjEKd2FzIGhlaXNzdCBoaWVyIGdhbnogYWx0PyBJbnRlcm5ldCBnaWJ0cyBzZWl0Li4uYWVoLi4uMTk3MyBvZGVyIHNvd2FzKGhhYnMKbmljaCBtZWhyIGdlbmF1IGltIGtvcGYpIAp1bmQgZGllIHplaXRlbiBkZXIgc2Nod2VpbmViaWxkZXIsIGh0dHAgdW5kIElSQyB1bmQgc29uIGtyYW1zIGFsbGVzIGdpYnRzIGdyYWQKbWFsIHNlaXQgMTk5My85NC4gCkFsc28gbml4IHZvbiB3ZWdlbiBnYW56ZSBhbHRlIGFuZmFuZ3N6ZWl0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJHLVByb2JzIChTdHJlYXdrY2V1ciwgMjUuIEFwciAxOTk5LCAxNjo0NTo1Nik6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNDk2MjgzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQpiaWxkZXIga29ubnRlc3QgZHUgYXVjaCBzY2hvbiB2aWVlZWwgZnJ1ZWhlciB6aWVoZW4gdmlhIGZ0cCBvZGVyIGFscyB1dWVuY29kZWQKZmlsZXMgaW4gZGVuIGFsdC5iaW5hcmllcy5waWN0dXJlcy4qIG5ld3Nncm91cHMuCmtsaWNraWJ1bnRpIGdlaHQgYWxsZXJkaW5ncyBlcnN0IGFiIDkzIG9kZXIgc28sIHNlaXQgZXJmaW5kdW5nIHZvbiBodHRwIHVuZApkZXMgIm1vc2lhYyItYnJvd3NlcnMuIHNlaXQgZGVyIHplaXQga2VubmVuIGF1Y2ggZGllIHdpbmRvb2ZzLWp1ZW5nZXIgLSB3aWUKKHZlcm11dGxpY2ggYXVjaCkgZHUgLSBkYXMgaW50ZXJuZXQuIAoKcnIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJHLVByb2JzIChTdG9lcnRpLCAyNS4gQXByIDE5OTksIDIzOjU3OjUyKToKfiMhIHJuPVN0cmVhd2tjZXVyIHJ0PTkyNTA1MTU1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNDU1NTkyMQpEdSBiaXN0IGphIHJpY2h0aWcgb2JlcmNvb2wgU3RyZWF3a2NldXIuCkFscyBpY2ggbWl0IGludGVybmV0IGFuZmluZywgZ2FicyBhdWNoIG5vY2gga2VpbiB3aW5kb29mcy4KQWJlciB3YWhyc2NoZWlubGljaCBiaXN0IER1IG5vY2ggdmllbCB6dSBrbGVpbiB1bSBtaXRyZWRlbiB6dSBrb2VubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIHVlYmVyc2V0enQgbWlyIGRhcyBiaXR0ZT8gKExlbmEsIDI2LiBBcHIgMTk5OSwgMTM6MTQ6MTkpOgpLb25ncnVlbno6IFVlYmVycHJ1ZWZlbiBTaWUgZGllIEZsZXhpb25zZm9ybWVuIGRlciBBdXNkcnVlY2tlICJ3dXJkZSIgdW5kCiJpY2giLgoKKEF1cyBkZXIgTWVsZHVuZyB2b24gV29yZC05NyB3YWVocmVuZCBkZXIgUmVjaHRzY2hyZWlicHJ1ZWZ1bmcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIHVlYmVyc2V0enQgbWlyIGRhcyBiaXR0ZT8gKEFuYXRvbCwgMjYuIEFwciAxOTk5LCAxNDoyNzo0Nik6Cn4jISBybj1MZW5hIHJ0PTkyNTEyNTI1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTEyNTI1OQpXT1JEOTctUmVnZWwgKDEpOiAKICBIYXN0IER1IHZvbiBHcmFtbWF0aWsga2VpbmUgQWhudW5nLCBzdGVsbCcgZGllIEdyYW1tYXRpay1VZWJlcnBydWVmdW5nCiAgYWIgLSBEdSBrb2VubnRlc3QgbWl0IGRlbiBNZWxkdW5nZW4gc28gb2RlciBzbyBuaWNodHMgYW5mYW5nZW4uCgpXT1JEOTctUmVnZWwgKDIpOgogIEhhc3QgRHUgdm9uIEdyYW1tYXRpayBBaG51bmcsIHN0ZWxsJyBkaWUgR3JhbW1hdGlrLVVlYmVycHJ1ZWZ1bmcKICB0cm90emRlbSBhYi4gRWluIHNvcmdmYWVsdGlnZXMgS29ycmVrdHVybGVzZW4gaXN0IHdlbmlnZXIgemVpdGludGVuc2l2CiAgYWxzIGRhcyBBYmhha2VuIGRlciBGZWhsZXJtZWxkdW5nZW4sIGRpZSBiZWkgZWluZW0gTmljaHQtQmFzaWMtR3JhbW1hci0KICBEb2t1bWVudCBoZXJ2b3JnZWJyYWNodCB3ZXJkZW4uCgpBbmF0b2wgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXIgdWViZXJzZXR6dCBtaXIgZGFzIGJpdHRlPyAoR3VpbGRvLCAyNi4gQXByIDE5OTksIDE2OjUwOjU5KToKfiMhIHJuPUFuYXRvbCBydD05MjUxMjk2NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjUxMjUyNTkKQWNoIHdhcywgZGllIFJlY2h0c2NyZWliLSB1bmQgR3JhbW1hdGlrcHJ1ZWZ1bmcgdm9uIFdPUkQ5NyBpc3Qgb2JlcmdlaWwhCkljaCBoYWIgbmV1bGljaCBlaW5lIERva3UgenUgZWluZXIgQXBwbGlrYXRpb24gc2NocmVpYmVuIG11ZXNzZW4sIGluIGRlciBpY2gKZGFzIFdvcnQgImNvbm5Nb2RlIiAoZnVlciAiY29ubmVjdGlvbiBNb2RlIikgYmVudXR6dCAgaGFiZTsgZGllCldPUkQ5Ny1SZWNodHNjaHJlaWJwcnVlZnVuZyB3b2xsdGUgZGFzIGdlcm5lIGR1cmNoICJDb25kb20iIGVyc2V0emVuLiBTZWl0ZGVtCmhhYiBpY2ggZGllIGltbWVyIGFuLgoKR3J1c3MsIEd1aWxkbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VyIHVlYmVyc2V0enQgbWlyIGRhcyBiaXR0ZT8gKFd1cnplbCwgMjcuIEFwciAxOTk5LCAwMToyMTozOCk6Cn4jISBybj1SaWt1cyBydD05MjUxMzk5NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjUxMjUyNTkKZmFsc2NoZSBydWJyaWsuCmhhYiBzY2hvbiBsYW5nZSBuaWNodCBtZWhyIHNvIGdlbGFjaHQsIC0+IHdpdHplIChvZGVyIHNjaG1hcnJuPyBncmltbWk/KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkIGRvd24gKEtleSwgMjcuIEFwciAxOTk5LCAxNzo1NjoyNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTI1MjI4MzA4IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD05MjUyMjgzMDgKCkRhbmtlIERpciBlcnN0bWFsIGRhcyBEdSBkYXMgTXVkIHNvIGxhbmdlIGdlaHVldGV0IGhhc3QgOikKCkFuc29uc3RlbiB3dWVyZGUgaWNoIHNhZ2VuIGRhcyBzaWNoIGZ1ZXIgZGllIHBhYXIgVGFnZSBkZXIgQXVmd2FuZCBuaWNodCBsb2hudApmdWVyIGZ0cCB1bmQgd3d3IC4uLiBLbGFyIGRhbm4ga2FubiBhdWNoIGtlaW4gTWFnaWVyIHdhcyBydWViZXJzY2hpZWJlbiwgYWJlcgppbW1lcmhpbiBzY2hvbm1hbCB6dWhhdXNlIGZlcnRpZ3Byb2dnZW4gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxzbyBqZXR6dCB3aXJkIGFsYmVybiAoUHVrLCAyOC4gQXByIDE5OTksIDE0OjU1OjQ2KToKICAgRm9sZ2VuZGUgS3JpZWdlciBkZXMgQ2hhb3Mgc2luZCBtb21lbnRhbiBhbndlc2VuZDogKE09MCwgUz02LCBzPTIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEdMZXZlbCAgIFBMZXZlbCAgIElkbGUgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICBPcnQKICAgICAxMiAgICAgICA0MSAgIDAxOjAwOjAwICAqIFtTXSBQdWsgICAgICAgICAgICAgICAgIFsgWml0dGF1ICAgICAgICAgICAgICAKXQogICAxMSAgICAgICAzOCAgIDAxOjAwOjA0ICAqIFtTXSBSYXNwdXRpbiAgICAgICAgICAgIFsgMzMgICAgICAgICAgICAgICAgICAgIApdCiAgIDExICAgICAgIDQ2ICAgMDE6MDc6NTEgICogW1NdIEVpc2kgICAgICAgICAgICAgICAgWyA0MSAgICAgICAgICAgICAgICAgICAgCl0KICAgMTEgICAgICAgNTUgICAwNTowMDozMSAgKiBbU10gUm9hZHJ1bm5lciAgICAgICAgICBbIDMxICAgICAgICAgICAgICAgICAgICAKXQogICAxMCAgICAgICAzOCAgIDAxOjE0OjE3ICAqIFtTXSBQcmEgICAgICAgICAgICAgICAgIFsgMjAwICAgICAgICAgICAgICAgICAgIApdCiAgIDEwICAgICAgIDQ2ICAgMDE6MDA6MDggIC0gW1NdIFBsb3RpbiAgICAgICAgICAgICAgWyA1NiAgICAgICAgICAgICAgICAgICAgCl0KICAgOCAgICAgICAgMjQgICAwMToxOToyMSAgLSBbc10gQ2Fsem9uZSAgICAgICAgICAgICBbIDQ1ICAgICAgICAgICAgICAgICAgICAKXQogICAxICAgICAgICAxMSAgIDAxOjAwOjIwICAtIFtzXSBBcmFuY2lhICAgICAgICAgICAgIFsgMTU4ICAgICAgICAgICAgICAgICAgIApdCiAKCmRhcyBpc3QgZG9jaCBlY2h0IGFsYmVybiBvZGVyID8/Pz8/Pwp3ZW5uIGVpbiBvZGVyIHp3ZWkgZXMgc2luZCBzYWcgaWNoIGphIG5pY2h0LCBhYmVyIG51biBqYS4gZXMgbmltbXQgZG9jaAp1ZWJlcmhhbmQKClB1ayAodGllZiBzZXVmemVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHNvIGpldHp0IHdpcmQgYWxiZXJuIChDYXR3ZWF6bGUsIDI4LiBBcHIgMTk5OSwgMTQ6NTc6NTApOgp+IyEgcm49UHVrIHJ0PTkyNTMwNDE0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTMwNDE0NgpJY2ggbmVobWUgYW4sIER1IG1laW5zdCBkaWUgWmFobGVuLCBhbnN0YXR0IGRlciBPcnRlIGdlbGw/ClJlZyBEaWNoIGFiLCB1bmQgbGllcyBub2NobWFscyAnUnVicmlrIGJla2FubnRtYWNodW5nZW4sIEFydGlrZWwgMTgnLgoKWVRDCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHNvIGpldHp0IHdpcmQgYWxiZXJuIChaaWxsdXMsIDI4LiBBcHIgMTk5OSwgMjE6MTc6NTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkyNTMwNDI3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTMwNDE0NgpOZWluIG5laW4sIGRpZSBpZGxlLVplaXQgaXN0IG5hdHVlcmxpY2ggYWxiZXJuLCBpZGVsbiBkZW5uIGRpZSBDaGFvdGVuIG51cgpub2NoPyB3YXMgc2luZCBkYXMgZnVlciBXdWVyc3RlIDstKQoKWi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvaG51bmcgaW4gS29lbG4gKEdyaW1tYW4sIDMwLiBBcHIgMTk5OSwgMTA6MDQ6MzIpOgpNb2lucyEKRWluZSBCZWthbm50ZSB2b24gbWlyIHN1Y2h0IGluIEtvZWxuIGVpbmUgV29obnVuZy9NaXR3b2huZ2VsZWdlbmhlaXQgaW4gS29lbG4uClN0dWRlbnRlbnRhdWdsaWNoZSBBbmdlYm90ZSBvZGVyIFRpcHMgYml0dGUgKGJlaSBHZWxlZ2VuaGVpdCkgcGVyIE1haWwgYW4KbWljaC4KCkdyaW1NYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVyIFJlY2huZXIgLi4uIChIYXRlLCAzMC4gQXByIDE5OTksIDEyOjMzOjQ3KToKQWxzbyBkZXIgbmV1ZSBSZWNobmVyIGV4aXN0aWVydCBzY2hvbiAoaW4gRWluemVsdGVpbGVuKSwgZ2VsaWVmZXJ0IGtyaWVnIGljaApkZW4gYW0gRGllbnN0YWcgdW5kIGRhbm4gZmFuZyBpY2ggYW4gZGVuIHp1IGluc3RhbGxpZXJlbiAuLi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZXIgUmVjaG5lciAuLi4gKEFzbW9kaXMsIDMwLiBBcHIgMTk5OSwgMTk6NTU6MDkpOgp+IyEgcm49SGF0ZSBydD05MjU0Njg0Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU0Njg0MjcKR3V0IEJhc3RlbCEgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdSBpc3NlcyBwYXNzaWVydCEgKEplbmFuZHJhLCAgMS4gTWFpIDE5OTksIDA0OjQ5OjM5KToKV29taXQgbmllbWFuZCBnZXJlY2huZXQgaGF0dGUsIHdpciBhbSBhbGxlcndlbmlnc3RlbjoKSW4gZGVyIFdhbHB1cmdpc25hY2h0LCB6dXIgR2Vpc3RlcnN0dW5kZSwgaGFiZW4gd2lyIHVucyBkYXMgSmEtV29ydCBnZWdlYmVuLgpEYW1pdCBoYXQgQ3lNb25rIGVpbmUgU2Nod2llZ2VydG9jaHRlciBiZWtvbW1lbiB1bmQgRGlyaW9uIGVpbmUgd2VpdGVyZQpIb2NoemVpdCBvaG5lIHp1IHN0ZXJiZW4gdWViZXJzdGFuZGVuLgpKZW5hbmRyYSBpc3QgamV0enQgTWFnaWVyZnJhdSBzdGF0dCBLdXNjaGVsZWxmZSB1bmQgZnVlciBTY2hsZWljaGVyIGhhdCBudW4KYXVjaCBkZXIgRXJuc3QgZGVzIExlYmVucyB1bnRlciBpaHJlciBGdWNodGVsIGJlZ29ubmVuLgpGdWVyIEdsdWVja3d1ZW5zY2hlIHVuZCBHcmF0dWxhdGlvbmVuIHN0ZWhlbiB3aXIgamVkZXJ6ZWl0IHp1ciBWZXJmdWVndW5nLCB2b24KQmVpbGVpZHNiZWt1bmR1bmdlbiBiaXR0ZW4gd2lyIGFienVzZWhlbiAtIHVuZCBmdWVyIGRpZSwgZGVuZW4gZGFzIEdhbnplIG5pY2h0CnBhc3N0LCB2ZXJ3ZWlzZW4gd2lyIGF1ZiBlaW4gYmVrYW5udGVzIEx1Zy1aaXRhdCA7LSkKRnVlciBHbHVlY2t3dWVuc2NoZSB1bmQgR3JhdHVsYXRpb25lbiBzdGVoZW4gd2lyIGplZGVyemVpdCB6dXIgVmVyZnVlZ3VuZywgdm9uCkJlaWxlaWRzYmVrdW5kdW5nZW4gYml0dGVuIHdpciBhYnp1c2VoZW4gLSB1bmQgZnVlciBkaWUsIGRlbmVuIGRhcyBHYW56ZSBuaWNodApwYXNzdCwgdmVyd2Vpc2VuIHdpciBhdWYgZWluIGJla2FubnRlcyBMdWctWml0YXQgOy0pCkRhcyB2ZXJsaWVidGUgUGFhcgpKZW5hbmRyYSB1bmQgU2NobGVpY2hlciEgOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51IGlzc2VzIHBhc3NpZXJ0ISAoSmVuYW5kcmEsICAxLiBNYWkgMTk5OSwgMDQ6NTA6MzcpOgp+IyEgcm49SmVuYW5kcmEgcnQ9OTI1NTI2OTc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NTI2OTc5CkplbmFuZHJhIGdydW1tZWx0IGRhcyB1bmdld29obnRlIHptdWQgYW4gLi4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSFRNTC1BbmZhZW5nZXIgKEdyaW1tYW4sICAyLiBNYWkgMTk5OSwgMjM6NDM6NDApOgpJY2ggd2lsbCBtaXIgYWxzIEFORkFFTkdFUiEhISBlaW5lbiBrbGVpbmVuIEVpbmJsaWNrIHp1IEhUTUwgdmVyc2NoYWZmZW4uCkhhdCBqZW1hbmQgbmVuIFRpcCx3byBpY2ggbmVuIHBhc3NhYmxlbiBFaW5zdGllZyBrcmllZ2VuIGthbm4sdmllbGxlaWNodApnbGVpY2ggbWl0IG5lbSBicmF1Y2hiYXJlbiBFZGl0b3I/CkRhbmtlIHNjaG9ubWFsIGpldHp0IC4uLgoKQmllcnRyaW5rZXIgR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhUTUwtQW5mYWVuZ2VyIChXdXJ6ZWwsICAyLiBNYWkgMTk5OSwgMjM6NDY6MTYpOgp+IyEgcm49R3JpbW1hbiBydD05MjU2ODE0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKZ3V0ZXIgZWluc3RpZWcga29tbXQgdm9uIG9yZWlsbHk6IGh0bWwgLSB0aGUgZGVmaW5pdGl2ZSBndWlkZS4KZWRpdG9yIGRhenUgaXN0IHZpLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSFRNTC1BbmZhZW5nZXIgKFN0b2VydGksICAyLiBNYWkgMTk5OSwgMjM6NDY6NTApOgp+IyEgcm49R3JpbW1hbiBydD05MjU2ODE0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKRGVyIHBhc3NlbnN0ZSBFZGl0b3IgZnVlciBodG1sIGlzdCBOb3RlcGFkIG9kZXIgdmkuClVuZCBmdWVyIHp1bSBhbmZhbmdlbiBzb2xsdGVzdCBkdSBkaXIgbWFsIGdhbnogZWluZmFjaCBhdWZnZWJhdXRlIGh0bWwgc2VpdGVuCmltIHNvdXJjZSBhbnNlaGVuLgp1bmQgZGFubiBlbXBmZWhsZSBpY2ggdm9uIHN0ZWZhbiBtdWVueiAnc2VsZmh0bWwnIAprYW5uIG1hbiBhbHMgYnVjaCBmdWVyIDM5LDgwIGthdWZlbiBvZGVyIGltIGludGVybmV0IGZ1ZXIgdW1zb25zdCBkb3dubG9hZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIVE1MLUFuZmFlbmdlciAoR3JpbW1ib3JuLCAgMi4gTWFpIDE5OTksIDIzOjQ4OjU3KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI1NjgxNjEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NjgxNDIwCkRlciBodG1sLU1vZHVzIGRlcyBlbWFjcyBzY2hsYWVndCBkZW4gdm9uIE5vdGVwYWQgdW0gTGFlbmdlbi4gWnVtYWwgTm90ZXBhZAptaXQgYXVjaCBudXIgYW5uYWVoZXJuZCB1bWZhbmdyZWljaGVuIERhdGVpZW4gKHdvIHdhciBkaWUgR3JlbnplPyAyaz8pIG5pY2h0Cm1laHIga2xhcmtvbW10LiBWb2VsbGlnIHVudGF1Z2xpY2guCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhUTUwtQW5mYWVuZ2VyIChTdG9lcnRpLCAgMi4gTWFpIDE5OTksIDIzOjUxOjIwKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MjU2ODE3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKTm90ZXBhZCBrb210bSBzZWl0IHdpbjk1IG1pdCAzMiBrYiBrbGFyLCBkYXMgc29sbHRlIGZ1ZXIgaHRtbCBzZWl0ZW4KbWFzc2VuaGFmdCByZWljaGVuLiBhYmVyIGluIGRlbSBhcnRpa2VsIGhhdCBoYWx0IG5pY2h0IGdlc3RhbmRlbiwgd2VsY2hlcwpiZXRyaWVic3N5c3RlbSB6dXIgYXVzd2FobCBzdGVodC4gCnVuZCBiZXZvciB3aWVkZXIga29tbXQ6ICd3YXMgaXMgZGVubiB2aT8nIG9kZXIgJ3dhcyBpc3QgZGVubiBlbWFjcz8ga2FubmljaApuaWNodCBhdWNoIHdvcmQgbmVobWVuPycgaGFiIGljaCBoYWx0IGJlaWRlIHZhcmlhbnRlbiByZWluZ2VzY2hyaWViZW4gOi0pKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIVE1MLUFuZmFlbmdlciAoV3VyemVsLCAgMi4gTWFpIDE5OTksIDIzOjUxOjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MjU2ODE3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKZnVlciBncm9zc2UgZmlsZXMgaGF0IHN0b2VydGkgamEgYXVjaCB2b2VsbGlnIGtvcnJla3Qgdmkgdm9yZ2VzY2hsYWdlbi4gYmVpCldJUktMSUNIIGdyb3NzZW4gZmlsZXMgd2VzZW50bGljaCBiZXNzZXIgYWxzIGVtYWNzICh1bmQgd2VubiBtYW4gZGFtaXQKdW1nZWhlbiBrYW5uLCBiZWkga2xlaW5lbiBhdWNoKS4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSFRNTC1BbmZhZW5nZXIgKEdyaW1tYm9ybiwgIDIuIE1haSAxOTk5LCAyMzo1MjoyNyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTI1NjgxODg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NjgxNDIwClNhZyBuaWNodHMgZ2VnZW4gZW1hY3MsIGRhcyBpc3QgZWluIGdhbnogdm9yenVlZ2xpY2hlcyBCZXRyaWVic3N5c3RlbS4KRmVobHQgaGFsdCBudXIgZWluIGFuc3RhZW5kaWdlciBFZGl0b3IuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSFRNTC1BbmZhZW5nZXIgKFRhcmFnb24sICAzLiBNYWkgMTk5OSwgMDA6MDM6MDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkyNTY4MTk0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTY4MTQyMApFTUFDUyAtIEVpZ2h0IE1lZ2FieXRlcyBBbmQgQ29tcGxldGVseSBTaGl0ICh0bSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEhUTUwtQW5mYWVuZ2VyIChaaWxsdXMsICAzLiBNYWkgMTk5OSwgMDc6Mzk6MDcpOgp+IyEgcm49VGFyYWdvbiBydD05MjU2ODI1ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKV2VubiBEdSBlaW5lbiBncmFmaWtmYWVoaWdlbiBCaWxkc2NoaXJtIGhhc3QgdW5kIGFsc28gYXVjaCBhbmRlcmVzIGFscyB2aQpiZW51dHplbiBrYW5uc3QsIHNpbmQgZ3V0ZSBobXRsIEVkaXRvcmVuIERyZWFtd2VhdmVyICh2b24gTWFjcm9tZWRpYSkgb2RlcgpDeWJlcnN0dWRpbyB2b24gR29MaXZlL0Fkb2JlLgpPZGVyIHdlbm5zIGdyYXRpcyBzZWluIG11c3MgbmltbSBkZW4gTmV0c2NhcGUgQ29tcG9zZXIuCgpNYW4ga2FubiBhdWNoIG9obmUgdmkgdW5kIGVtYWNzIGd1dGUgV2Vic2VpdGVuIG1hY2hlbiA6LSkKClouIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSFRNTC1BbmZhZW5nZXIgKEFjcmltb24sICAzLiBNYWkgMTk5OSwgMTE6NTQ6MDIpOgp+IyEgcm49WmlsbHVzIHJ0PTkyNTcwOTk0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTY4MTQyMApPZGVyIG5pbW0gZGVuICd2aW0nLiBEYXMgaXN0IGVpbmUgZXR3YXMga29tZm9ydGFibGVyZSBWZXJzaW9uIGRlcyB2aS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSFRNTC1BbmZhZW5nZXIgKEFwc3UsICAzLiBNYWkgMTk5OSwgMTI6MjY6MDcpOgp+IyEgcm49WmlsbHVzIHJ0PTkyNTcwOTk0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTY4MTQyMApOZXRzY2FwZSBDb21wb3Nlcj8gSGllciB3YXIgZ2xhdWIgaWNoIG5hY2ggX2JyYXVjaGJhcmVuXyBIVE1MLUVkaXRvcmVuCmdlZnJhZ3QuCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhUTUwtQW5mYWVuZ2VyIChIYXRlLCAgMy4gTWFpIDE5OTksIDEzOjE0OjU4KToKfiMhIHJuPUFwc3UgcnQ9OTI1NzI3MTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NjgxNDIwCkhtbSwKCmFsc28gZnVlciBkZW4gbm9ybWFsZW4gQW53ZW5kZXIgcmVpY2h0IGRlciBDb21wb3NlciB2b2VsbGlnIGF1cy4gUHJvZHV6aWVydAphdWNoCmtlaW4gYWxsenUgc2NobGltbWVzIEhUTUwgKGFiZ2VzZWhlbiB2b24gZGVuICZuYnNwOwoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEhUTUwtQW5mYWVuZ2VyIChDYXR3ZWF6bGUsICAzLiBNYWkgMTk5OSwgMTM6MTc6MjUpOgp+IyEgcm49QXBzdSBydD05MjU3MjcxNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKSWNoIHNlaGUgRGVpbiBQcm9ibGVtIG5pY2h0LiBEZWZpbmllcmUgYnJhdWNoYmFyLi4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBIVE1MLUFuZmFlbmdlciAoTWFoYXRtdSwgIDMuIE1haSAxOTk5LCAxOTo1Njo1Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTI1NzMwMjQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NjgxNDIwCi4uLiBicmF1Y2hiYXIgd2FyIGZ1ZXIgbWljaCBzZWxic3QgV29yZFBhZCB6dW0gRXJzdGVsbGVuLCBzb2JhbGQgbWFuIGRpZQpkcmluZ2VuZHN0ZW4gQmVmZWhsZSB2b24gSFRNTCBpbnR1cyBoYXQuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhZWR0ZW5hbWVuIChIYXRlLCAgMy4gTWFpIDE5OTksIDIwOjUyOjA0KToKSGFsbG9lY2hlbiwKCmljaCBoYWJlIG1hbCB3aWVkZXIgYW4gdW5zZXJlbSBTdGFlZHRlbmFtZW5hdWZsb2VzZXIgZ2VhcmJlaXRldCB1bmQgaG9mZmUKZXIgaXN0IGpldHp0IG5vY2ggYmVzc2VyIDstKSBBdWYgamVkZW4gRmFsbCBrb2VubnRlIGVzIHNlaW4sIGRhc3Mgbm9jaAprYXB1dHRlIEJlemVpY2hudW5nZW4gKHZvciBhbGxlbSBiZWkgQXVzbGFlbmRpc2NoZW4gRWludHJhZWdlbikgdm9yaGFuZGVuCnNpbmQuIFdlciBzb3dhcyBoYXQsIHNhZ3MgbWlyIGJpdHRlLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIVE1MLUFuZmFlbmdlciAoSGFkcmEsICAzLiBNYWkgMTk5OSwgMjE6NTI6MTQpOgp+IyEgcm49R3JpbW1hbiBydD05MjU2ODE0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKenVtIHRoZW1hIGVkaXRvciBoYXQgamEgc2Nob24gKGZhc3QpIGplZGVyIHNlaW5lbiBsaWVibGluZ3NlZGl0b3IgYXVmZ2VmdWVocnQuCmFiZXIgZGllIHVybCB2b24gc2VsZmh0bWwgZmVobHQgbm9jaC4gaHR0cDovL3d3dy50ZWFtb25lLmRlL3NlbGZodG1sLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YWVkdGVuYW1lbiAoS2VybmJlaXNzZXIsICAzLiBNYWkgMTk5OSwgMjM6NDU6NTYpOgp+IyEgcm49SGF0ZSBydD05MjU3NTc1MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU3NTc1MjQKV2llIG1hY2hzdCBEdSBkYXMgdWViZXJoYXVwdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RhZWR0ZW5hbWVuIChIYXRlLCAgNC4gTWFpIDE5OTksIDA4OjM0OjExKToKfiMhIHJuPUtlcm5iZWlzc2VyIHJ0PTkyNTc2Nzk1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTc1NzUyNApWb24gamVkZW0gU3BpZWxlciBpc3QgZGllIElQIEFkcmVzc2UgdW5kIGRpZSBzeW1ib2xpc2NoZSBBZHJlc3NlIGJla2FubnQuIERpZQpzeW1ib2xpc2NoZSBBZHJlc3NlIG1hbmNobWFsIG5pY2h0LCBhYmVyIGRhcyBpc3QgbmljaHQgdW5iZWRpbmd0IHJlbGV2YW50LgoKTWl0dGVscyBkZXIgQWRyZXNzZW4gbGFzc2UgaWNoIG1pciBhdXMgZGVyIFdIT0lTIERhdGVuYmFuayBkZXMgUklQRSBvZGVyIGRlcwpJTlRFUk5JQyBkaWUgRGF0ZW4genVyIERvbWFpbiBnZWJlbi4gRGFiZWkgd2lyZCB6dWVyc3QgZGVyIGdhbnplIE5hbWUKZ2VwcnVlZnQsIGRhbm4gZGVyIGVyc3RlIFRlaWwgKEhvc3RuYW1lKSBhYmdlc2Nobml0dGVuIHVuZCBnZXBydWVmdCB1bmQgc28Kd2VpdGVyLCBiaXMgbWFsIGVpbmUgSW5mb3JtYXRpb24gcmF1c2tvbW10LiBBdXMgZGllc2VuIERhdGVuIHdpcmQgZGllIEFkcmVzc2UKaGVyYXVzZ2VmaWx0ZXJ0IHVuZCBhdXMgZGVyIEFkcmVzc2UgbWl0dGVscyBwYXR0ZXJuIG1hdGNoaW5nCihaZWljaGVua2V0dGVuZXJrZW5udW5nIGR1cmNoIHJlZ3VsYWVyZSBBdXNkcnVlY2tlKSBkaWUgU3RhZHQgb2RlciBlaW5lClplaWNoZW5rZXR0ZSBkaWUgZGVyIFN0YWR0IHVuZCBlciBQb3N0bGVpdHphaGwgKG1laXN0IHp1c2FtbWVuISkgZW50c3ByaWNodC4KVW5kIHZvaWxhLCBkYSBoYWJlbiB3aXIgZGllIFN0YWR0LiBPZnQga29tbXQgZGFubiBub2NoIGRhenUsIGRhc3MgZnVlciBkaWUKbnVtZXJpc2NoZSBJUCB1bmQgZGllIHN5bWJvbGlzY2hlIEFkcmVzc2UgdW50ZXJzY2hpZWRsaWNoZSBEYXRlbiB2b3JsaWVnZW4sCmQuaC4gRmlybWEgaGF0IGRvbWFpbiAiYmxhLmRlIiByZXNlcnZpZXJ0LCBhYmVyIGRpZSBlaW56ZWxuZW4gWndlaWdzdGVsbGVuCmhhYmVuIGpld2VpbHMgZ2V0cmVubnRlIG51bWVyaXNjaGUgSVAgYmVyZWljaGUsIGRpZSBqZXdlaWxzIGVpbmVuIGVpZ2VuZW4KRWludHJhZyBoYWJlbi4gU28gd2lyZCBhbHNvIGRlbiBEYXRlbiBhdXMgZGVyIG51bWVyaXNjaGVuIElQIFZvcnJhbmcgdm9yIGRlcgpEb21haW4gZ2VnZWJlbi4KCkxlaWRlciBoYWJlIGljaCBnZXN0ZXJuIGZlc3RnZXN0ZWxsdCwgZGFzcyBtZWluIHJlZ3VsYWVyZXIgQXVzZHJ1Y2sgenVtCkVya2VubmVuIGRlciBQTFogdW5kIGRlciBTdGFkdCBudXIgYmVkaW5ndCBwZXJmZWt0IGlzdC4gRGEgZGVua2UgaWNoIGdlcmFkZQpub2NoIGRydWViZXIgbmFjaC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGFlZHRlbmFtZW4gKElzbm9nb29kLCAgNC4gTWFpIDE5OTksIDExOjE4OjMwKToKfiMhIHJuPUhhdGUgcnQ9OTI1Nzk5NjUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NzU3NTI0CkRhIHNjaGVpbnQgZXMgYWJlciBub2NoIFByb2JsZW1lIHp1IGdlYmVuLCBiZWkgbWlyIGtvbW10IG51ciAubmV0IGFscwpIZXJrdW5mdCwKb2J3b2hsIGRpZSBEb2FtaW5hbmdhYmVuIGluIGRlciBSaXBlIERhdGVuYmFuayBzdGltbWVuCkRvbWFpbjpzYWFyLm5ldApJc25vKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3RhZWR0ZW5hbWVuIChIYXRlLCAgNC4gTWFpIDE5OTksIDExOjQwOjIxKToKfiMhIHJuPUlzbm9nb29kIHJ0PTkyNTgwOTUxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTc1NzUyNApXZW5uIGljaCBrZWluZSBBZHJlc3NlIGhlcmF1c2Jla29tbWVuIGthbm4gd2lyZCBudXIgZGllIGxldHp0ZSBLb21wb25lbnRlIGRlcwpEb21haW4gTmFtZW5zIGFuZ2V6ZWlndCwgZGVzaGFsYiBuZXQuIEljaCBrb2VubnRlIGF1Y2ggZGllIGJlaWRlbiBsZXR6dGVuCm5laG1lbiAuLi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnUgaXNzZXMgcGFzc2llcnQhIChLZXksICA0LiBNYWkgMTk5OSwgMTM6NDM6MjkpOgp+IyEgcm49SmVuYW5kcmEgcnQ9OTI1NTI2OTc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1NTI2OTc5CkhtbSB3ZWxjaGVzIFppdGF0PyA6KQpIYWx0cyBNYXVsISA/CkZpZEtnID8gOikKClVmZiBkYXMga29lbm50ZSBqZXR6dCBub2NoIHNlaXRlbndlaXNlIHdlaXRlcmdlaGVuIDspIEFsc28gd2VsY2hlcz8gOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhUTUwtQW5mYWVuZ2VyIChLZXksICA0LiBNYWkgMTk5OSwgMTM6NDQ6MjMpOgp+IyEgcm49R3JpbW1hbiBydD05MjU2ODE0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU2ODE0MjAKc2VsZmh0bWwsIGdpYmJldCBrb3N0ZW5sb3MgaW0gTmV3dCBvZGVyIGJlaSBMaW51eCwgYWxzIEVkaXRvciBuZW4gVGV4dGVkaXRvcgo7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGFlZHRlbmFtZW4gKFN0b2VydGksICA0LiBNYWkgMTk5OSwgMjA6MDU6NDEpOgp+IyEgcm49SGF0ZSBydD05MjU3OTk2NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjU3NTc1MjQKZGFzIGlzIG5hdHVlcmxpY2ggd2VuaWNoIHNpbm52b2xsLCB3ZWlsOgoKbWFuY2htYWwga29tbWUgaWNoIHVlYmVyIHN0b2VydGkuY29tLCBhdWZnZWxvZXN0IGJla29tbXN0IGR1IApkYW5uIGJhZCBzb2RlbiAod2VpbCBpY2ggYWxzIGRvbWFpbiBpbmhhYmVyIGluIGJhZCBzb2RlbiBnZXJhZGUgZWluZW4KbGViZW5zYWJzY2huaXR0IGRhcmJlKQpkZXIgcmVjaG5lciBzZWxiZXIgc3RlaHQgYWJlciBpbiBkZXIgbmFlaGUgdm9uIHNhbiBmcmFuY2lzY28gKGRhcyBhbiBkZXIKd2VzdGt1ZXN0ZSB1c2EncykKCmphLCB1bmQgamV0enQgc29sbHRlbiB3aXIgbWFsIGF1c2Rpc2t1dGllcmVuLCB3YXMgZGVubiBudW4gcmljaHRpZyBpc3QuLi4KTWVpbmVyIE1laW51bmcgbmFjaDogUy5GLi9VU0EhCkljaCBrYW5uIGRpZSBLaXN0ZSBqYSBhdWNoIGFscyBndyBuZWhtZW4sIHdlbm4gaWNoIG1hbCB3b2FuZGVycyBiaW4uCnVuZCBqZXR6IHdvbGx0IGljaCBncmFkIC4uLnZlcmRhbW10Li4ubWVpbiBpbnRlcm5pYyBlaW50cmFnIGlzIGZ1dHNjaC4uLgpqZWRlbmZhbGxzIHNvbGx0ZSBkYSBuaWNoIGJhZCBzb2RlbiBzdGVoZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRUJPT1Q/IChIYXRlLCAgNC4gTWFpIDE5OTksIDIwOjU4OjMyKToKQmVyZWl0ZXQgRXVjaCBzY2hvbiBtYWwgbW9yYWxpc2NoIGF1ZiBlaW5lbiBzaHV0ZG93biBtb3JnZW4gdm9yLiBJY2gga2FubnMKbmljaHQgZ2FyYW50aWVyZW4sIGFiZXIgbmFjaCBkZW0gV2VjaHNlbG4gZGVyIE5ldHp3ZXJra2FydGUgbGFldWZ0IGRlciBSZWNobmVyCnJlY2h0IGd1dCB1bmQgZGFubiB6aWVoZSBpY2ggZGFzIE1VRCBzbyBzY2huZWxsIHdpZSBtb2VnbGljaCB1bS4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkVCT09UPyAoQW5hdG9sLCAgNS4gTWFpIDE5OTksIDA3OjU0OjU3KToKfiMhIHJuPUhhdGUgcnQ9OTI1ODQ0MzEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI1ODQ0MzEyCkR1IHdlaXNzdCBqYSwgSGF0ZS4uLiBicmF1Y2hzdCBEdSB3ZW5pZ2VyIGFscyBuZSBTdHVuZGUsIHdpcnN0IER1IApnZWZlaWVydGVyIEhlbGQgc2Vpbi4gQnJhdWNoc3QgRHUgbGFlbmdlciBhbHMgendlaSwgd2VyZGVuIERpY2ggCnp3ZWlodW5kZXJ0IFN1ZWNodGlnZSBpbSBHZWlzdGUgZXJtb3JkZW4uCgpBbmF0b2wgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCRy1Qcm9icyAoSmltZGlncml6LCAgNS4gTWFpIDE5OTksIDE3OjA5OjI3KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI0OTYyODMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI0NTU1OTIxCk1vaW4sCgpJUkMgZ2lidCBlcyBzZWl0IDE5ODggIQoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdGFlZHRlbmFtZW4gKFd1cnplbCwgIDUuIE1haSAxOTk5LCAxOTozNjowMyk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNTg0MTE0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTc1NzUyNAplcyBnaWJ0IGFiZXIgbmF0dWVybGljaCBub2NoIGRpZSBnbGVpY2hlbiBwcm9ibGVtZS4gYW5nZWJsaWNoIGtvbW1lIGljaApqZXR6dCBhdXMgaGFtYnVyZywgZGFiZWkgd29sbHRlIGljaCBnZW5hdSBkYXMgdmVybWVpZGVuIHVuZCBiaW4gZGFoZXIgaW4KZGVuIHN1ZWRlbiBnZWdhbmdlbi4uLgpkYSBnaWJ0cyBiZXN0aW1tdCBlaW5lIHNlaHIgdGVjaG5pc2NoZSBlcmtsYWVydW5nIGRhZnVlciwgYWJlciBpbSBlZmZla3QKc3RlaHQgZGEgd2FzIGZhbHNjaGVzLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdGFlZHRlbmFtZW4gKFRhcmFnb24sICA1LiBNYWkgMTk5OSwgMTk6MzY6NDEpOgp+IyEgcm49V3VyemVsIHJ0PTkyNTkyNTc2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNTc1NzUyNApCZWkgZGVyIC5wbGFuIGdlc2NoaWVodCBkaXIgZGFzIGdhbnogcmVjaHQgOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxpYXNlL1RyaWdnZXIgKEdyaW1tYW4sICA2LiBNYWkgMTk5OSwgMjE6MTI6MDkpOgpLYW5uIHNlaW4sZGFzIG1laW5lIEFuZnJhZ2Ugc2Nob24gd2llZGVyIHVlYmVyaG9sdCBpc3QsYWJlciBlcyB3dXJkZSBtYWwKYW5nZXNwcm9jaGVuLGRhcyBqZW1hbmQgbmUgU2VpdGUgbWl0IFRpcHMgdW5kIEJlaXNwaWVsZW4gZnVlciBabXVkCnJlaW5nZWhhZW5ndCB3ZXJkZW4gc29sbHRlLHNwZXppZWxsIGJldHJlZmZlbmQgVmFyaWFibGVuIHVuZCBzbyAuLi5laW5lciBuZQpJbmZvIGZ1ZXJyIG1pY2g/CgpHcmltTWFuICwgZHVtbSBmcmFnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWxpYXNlL1RyaWdnZXIgKFN3aWZ0LCAgNi4gTWFpIDE5OTksIDIxOjM1OjUwKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTI2MDE3OTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDE3OTI5CnZpZWxsZWljaHQgZmluZGVzdCBkdSB3YXMgYXVmIG1laW5lciBob21lcGFnZSwgZGEgaGFiIGljaCBlaW5lIHptdWQgc2VpdGUuCiBodHRwOi8vd3d3LnBzeW5ldC5uZXQvc3dpZnQvem11ZC5odG1sCgplaW5mYWNoIG1hbCByZWluc2NoYXVlbiA6KQoKICBzd2lmdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbGlhc2UvVHJpZ2dlciAoRmlyZWhhd2ssICA2LiBNYWkgMTk5OSwgMjI6MjY6MDMpOgp+IyEgcm49U3dpZnQgcnQ9OTI2MDE5MzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDE3OTI5CllvLCBtYWNoIGRhcyBtYWwsIGRpZSBTZWl0ZSBpc3QgZ3V0IDopCgpGaXJlaGF3ayAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhZXViZXIgLSBCdWcgb2RlciBGZWF0dXJlPyAoSXNub2dvb2QsICA3LiBNYWkgMTk5OSwgMDk6Mzk6MTgpOgpGb2xnZW5kZXMgaXN0IGhldXRlIHBhc3NpZXJ0OgpJY2ggZ2luZyB6dSBkZW4gUmFldWJlcm4gKG9obmUgR2VsZCBuYXR1ZXJsaWNoKSwgd2VpbCBrdXJ6IHp1dm9yIGplbWFuZCBkb3J0Cmdlc3RvcmJlbiB3YXIsIHVtIGRlbiByZXN0IHNlaW5lciBTYWNoZW4gcmF1c3p1aG9sZW4uIEhpcHBlIHdhciBkYQp1bmQgZGllIFJhZXViZXIgaGFiZW4gbWljaCBzb2ZvcnQgYW5nZWdyaWZmZW4uIEJlaW0gRmx1ZWNodGVuIGthbQpkYW5uIGZvbGdlbmRlIE1lbGR1bmc6IERpZSBSYWV1YmVyIGxhc3NlbiBEaWNoIG5pY2h0IGdlaGVuLAp3ZWlsIEhpcHBlIG5vY2ggR2VsZCBoYXQgdW5kIERpY2ggdmVyZm9sZ3QuCklzdCBkYXMgc28gZ2V3b2xsdCBvZGVyIGlzdCBkYXMgZWluIEJ1Zz8KCklzbm8qCgpQLlMuIEltIFViZXJpZ2VuIGJpbiBpY2ggZGVyIE1laW51bmcsIGRhc3MgZGllIFphdWJlcmVyIGFiZ2V3ZXJ0ZXQgd2VyZGVuCnNvbGx0ZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYWV1YmVyIC0gQnVnIG9kZXIgRmVhdHVyZT8gKEFuYXRvbCwgIDcuIE1haSAxOTk5LCAwOTo1Njo0MSk6Cn4jISBybj1Jc25vZ29vZCBydD05MjYwNjI3NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwNjI3NTgKSmEgdW5kIG5laW4sIGRlbmtlIGljaCBtYWwuClp1bmFlY2hzdCBtYWwgbGFzc2VuIERpY2ggZGllIFJhZXViZXIgbmljaHQgcmF1cywgd2VubiBEaWNoIGplbWFuZCBtaXQKR2VsZCBiZWkgc2ljaCB2ZXJmb2xndC4gQWxzbyBuaXggaXMgbWl0ICJJY2ggZ2ViIGRhcyBHZWxkIGVpbmVtIE5QQywgZGVyCm1pciBoaW50ZXJoZXJsYWV1ZnQuIi4gRGFzIGlzdCBrZWluIEJ1ZywgZGFzIGlzdCB2b24gUm9jaHVzIGJlc3RpbW10IHNvCnZvcmdlc2VoZW4gOm8pLgoKRWluIHNwaWVsdGVjaG5pc2NoZXIgQlVHIGR1ZXJmdGUgc2VpbiwgZGFzcyBHb2JsaW56b21iaWVzIHZvbiBIbmdybXBmCm5hY2ggd2llIHZvciBhZ2dyZXNzaXYgc2luZC4gRGEgZGllIFJhZXViZXIgbmFlbWxpY2ggZWluIFRlYW0gYmlsZGVuCnVuZCBhdWNoIGRpZSBab21iaWVzIGRhcmluIGF1Zm5laG1lbiwgZ3JlaWZ0IGRhbm4gZGFzIGdlc2FtdGUgVGVhbSBkZW4KYXJtZW4gdW5zY2h1bGRpZ2VuIGFobnVuZ3Nsb3NlbiBTZWhlciBhbiAtIGRpZSByaWNodGlnZSBadXNhbW1lbnNldHp1bmcKa29lbm50ZSB6LkIuIGVpbmVuIHVlYmVycmFzY2h0ZW4gWmF1YmVyZXIgaW4gYXJnZSBCZWRyYWVuZ25pcyBicmluZ2VuLiAKSGF0IGRhcyBlaWdlbnRsaWNoIHNjaG9uIGplbWFuZCBSb2NodXMgZ2VtYWlsdD8gOikKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmFldWJlciAtIEJ1ZyBvZGVyIEZlYXR1cmU/IChQYXJhY2Vsc3VzLCAgNy4gTWFpIDE5OTksIDEwOjAwOjQ0KToKfiMhIHJuPUFuYXRvbCBydD05MjYwNjM4MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwNjI3NTgKQWNoLCBkYXMgbWl0IEhpcHBlIGthbm4gZ2FyIG5pY2h0IHNlaW4uIFdhcnVtPwoiSGlwcGUgdmVyZm9sZ3QgbmllbWFuZGVuLiIgKFppdGF0IFBhZHJlaWMpCgpQYXJhKiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmFldWJlciAtIEJ1ZyBvZGVyIEZlYXR1cmU/IChQYWRyZWljLCAgNy4gTWFpIDE5OTksIDEyOjI0OjQ2KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTI2MDY0MDQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDYyNzU4CipncnVlYmVsKgoKV2FubiBiaXR0ZSBzb2xsIGljaCBkYXMgZ2VzYWd0IGhhYmVuPyBJbiBIaXBwZSBpc3QgZG9jaCBhdXNkcnVlY2tsaWNoIGRhcwp2ZXJmb2xnZWZsYWcgZ2VzZXR6dC4gU3ByaWNoOiBlciBfc29sbF8gdmVyZm9sZ2VuID8hCkFsbGVzIHdhcyBzdGltbXQgaXN0LCBkYXMgSGlwcGUgbmljaHQgdWViZXJhbGwgaGluIGZvbGd0LCBzb25kZXJuIHNpY2ggZGFzCkdlYmlldCBpbmRlbSBlciBsYWV1ZnQgYXVmIGRpZSBFYmVuZSBiZXNjaHJhZW5rdC4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvZ21vZWdsb2Noa2VpdCA6KSAoS2V5LCAgNy4gTWFpIDE5OTksIDE0OjU1OjE3KToKSHVodSA6KQoKSWNoIHN1Y2hlIGRyaW5nZW5kIG5lIE1vZWdsaWNoa2VpdCBtaXR6dWxvZ2dlbiB3YW5uIHdlbGNoZXIgVXNlciB3ZWxjaGVzClByb2dyYW1tIGF1c2dlZnVlaHJ0IGhhdCAuLi4KQnp3IFdpZSBsYW5nZSBlaW4gVXNlciBvbmxpbmUgd2FyIC4uLi4uCgpVbmQgZGFzIHVudGVyIFdpbmRvb2Y5NSA6KQpWb24gbWlyIGF1cyBpbnN0YWxsaWVyIGljaCBhdWNoIE5UIHdlbm5zIGRhcnVudGVyIGdlaHQgOikKCkphIHVudGVyIExpbnV4IGdlaHQgZGFzLCBpY2ggd2Vpc3MgLi4uLiB3b2JlaSB3ZXIgbmUga3VyemUgRXJrbGFlcnVuZyBkYWZ1ZXIKaGF0IGRhcmZzZSBtaXIgc2NoaWNrZW4gOykKCk51ciBtZWluIFZhdGVyIHVuZCBtZWluZSBTY2h3ZXN0ZXIgd29sbGVuIHVudGVyIFdpbmRvb2Ygb25saW5lIC4uLiB1bmQgaWNoIGhhYgprZWluZSBMdXN0IGZ1ZXIgZGVyZW4gc2VydmVyZWkgenUgYmxlY2hlbiA6KQoKSGF0IGplbWFuZCBkYXp1IG5lIElkZWU/IDopCgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9nbW9lZ2xvY2hrZWl0IDopIChLZXksICA3LiBNYWkgMTk5OSwgMTQ6NTY6NTUpOgp+IyEgcm49S2V5IHJ0PTkyNjA4MTcxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjA4MTcxNwpzZXJ2ZXJlaSA9IHN1cmZlcmVpIDspCgoKS2V5IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9nbW9lZ2xvY2hrZWl0IDopIChSb25kYSwgIDcuIE1haSAxOTk5LCAxNTowMTowNik6Cn4jISBybj1LZXkgcnQ9OTI2MDgxNzE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDgxNzE3Ck1hY2ggaWhuZW4gZG9jaCBuZW4ga2xlaW5lcyBCYXRjaGZpbGUsIHdhcyB6QiBpbiBkZXIgQXV0b1N0YXJ0IGF1c2dlZnVlaHJ0CndpcmQgdW5kIG1pdHByb3Rva29sbGllcnQsIHdlciB3YW5uIGVpbmdlbG9nZ3Qgd2FyIC0gZGFzIHZlcmdsZWljaHN0ZSBkYW5uIG1pdApEZWluZXIgVGVsZWZvbnJlY2hudW5nLgpXYWVyZSBkYXMgZWluZSBJZGVlPwoKVHNjaHVlc3MsCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExvZ21vZWdsb2Noa2VpdCA6KSAoSmVob3ZhLCAgNy4gTWFpIDE5OTksIDE1OjA5OjUxKToKfiMhIHJuPUtleSBydD05MjYwODE3MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKCkxhc3MgZGllIGJlaWRlbiBkb2NoIGFudGVpbGlnIGRlaW5lIGdlc2FtdGUgUmVjaG51bmcgYmV6YWhsZW4gOikKCkoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExvZ21vZWdsb2Noa2VpdCA6KSAoSG9ibywgIDcuIE1haSAxOTk5LCAxNToxMzoxNyk6Cn4jISBybj1KZWhvdmEgcnQ9OTI2MDgyNTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDgxNzE3CkhtbSwgaWNoIGhhYiBkb2NoIGdsYXR0ICdIZWlkZW4nIHN0YXR0ICdiZWlkZW4nIGdlbGVzZW4uLi4uCgpMb3MsIEtleSwgYmVrZWhyZSBkaWUgYmVpZGVuIFVuZ2xhZXViaWdlbiB6dW0gTVVELgoKICBIb2JvIC0gdW5mYWVoaWcgenVtIExlc2VuIHVuZCB6dW0gVGlwcGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMb2dtb2VnbG9jaGtlaXQgOikgKERpZWRlciwgIDcuIE1haSAxOTk5LCAxNToxNzo1Mik6Cn4jISBybj1Ib2JvIHJ0PTkyNjA4Mjc5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjA4MTcxNwoKd296dSBtdWVzc2VuIGRpZSB1ZWJlcmhhdXB0IGlucyBJbnRlcm5ldCwga2V5PyBJbSBHZWdlbnNhdHogenUgRGlyIG1hY2hlbiBkaWUKZGEgZG9jaCBlaCBudXIgVW5zaW5uIHVuZCBTcGllbGNoZW4sIGFuc3RhdHQgZXJuc3RoYWZ0IHp1IGFyYmVpdGVuIDopKSkKCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTG9nbW9lZ2xvY2hrZWl0IDopIChLZXksICA3LiBNYWkgMTk5OSwgMTU6MTg6NDIpOgp+IyEgcm49SG9ibyBydD05MjYwODI3OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKKmh1c3QqCgpIZXkgaWNoIHdpbGwgbWljaCBuaWNodCBibGFtaWVyZW4gOykpKSkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTG9nbW9lZ2xvY2hrZWl0IDopIChLZXksICA3LiBNYWkgMTk5OSwgMTU6MTk6MTgpOgp+IyEgcm49RGllZGVyIHJ0PTkyNjA4MzA3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjA4MTcxNwpTdGltbXQgZWlnZW50bGljaCBnZmVuYXUgZGllZGVyIDspCgpIbW0gYXByb3BvIC4uLiBrYW5uIG1hbiBUZWxlZm9ua29zdGVuIHZvbiBkZXIgU3RldWVyIGFic2V0emVuPyBJY2ggbWVpbgp3aXNzZW5zY2hhZnRsaWNoZXMgQXJiZWl0ZW4gb2RlciBzbz8gOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTG9nbW9lZ2xvY2hrZWl0IDopIChBcHN1LCAgNy4gTWFpIDE5OTksIDE4OjM2OjIzKToKfiMhIHJuPUtleSBydD05MjYwODMxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKQXVqYSB1bmQgZ2xlaWNoIG5vY2ggbXVkZGVuIGF1ZiBLcmFua2Vuc2NoZWluIGVpbmZ1ZWhyZW4uCgpBcHN1LCBlaW56ZWlsZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua3NhZ3VuZyAoRGllZGVyLCAgNy4gTWFpIDE5OTksIDE5OjE0OjM1KToKSmEsIGljaCB3ZWlzcywgJHN1YmplY3QkIHNvd2llIGZyZXVuZGxpY2gsIG5ldHQsIHVuZCB2b3IgYWxsZW0gX2RhbmtiYXJfIHBhc3N0CnVlYmVyaGF1cHQgbmVkIHp1IG5lbSBDaGFvdGVuLCBhYmVyIHNlaHRzIGVpbmVtIGFsdGVuIFJlbnRlciBuYWNoLi4uIDotKQoKQWxzbyBpY2ggd29sbHRlIG1pY2ggYmVpIGFsbGVuIGJlZGFua2VuLCBkaWUgd2FzIHp1bSBuZXVlbiBSZWNobmVyIGJlaWdldHJhZ2VuCmhhYmVuLCBhbHNvIG1hbCBhbiBlcnN0ZXIgU3RlbGxlIEhhdGUgZnVlcnMgQXVmc2V0emVuIGV0Yy4sIGFiZXIgYXVjaCBhbGxlCmFuZGVyZW4gc293aWUgenVtIFNjaGx1c3MgZGllIFNjaGFyIGRlciBNdWRkZXIsIGRpZSBpbSBWZXJlaW4gc2luZCB1bmQgZGFkdXJjaApkYXMgbWl0IHVudGVyc3R1ZXR6dCBoYWJlbiEKCihKYSwgaWNoIHdlaXNzLCBkYXNzIGVyIG5vY2ggbmVkIGdhbnogZmVydGlnIGlzdCwgYWJlciBpY2ggYmluIGdhbnogaGluIHVuZAp3ZWcsIHdpZSBlcyBqZXR6dCBsYWV1ZnQgOi0pKQoKRGllZGVyCgpQUzogV28gd2lyIGdyYWQgYmVpbSBUaGVtYSBzaW5kLi4uIGVzIGdpYnQgc2ljaGVyIG5vY2ggc2FlY2tld2Vpc2UgTXVkZGVyIGRpZQpoaWVyIGRlbiBnYW56ZW4gVGFnIHJ1bWhhZW5nZW4gdW5kIGF1ZiBpaHJlIEtvc3RlbiBrb21tZW4sIGFiZXIgbmVkIGltIFZlcmVpbgpzaW5kLi4uIHVlYmVybGVndHMgRXVjaCBtYWwhIE5hZWhlcmUgSW5mb3MgaW0gUmF1bSB1ZWJlciBkZXIgR2lsZGUpLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2dtb2VnbG9jaGtlaXQgOikgKFN0b2VydGksICA3LiBNYWkgMTk5OSwgMjA6MTk6MTUpOgp+IyEgcm49S2V5IHJ0PTkyNjA4MTcxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjA4MTcxNwpzY2hhbHRlIG1vZGVtLWxvZyBlaW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExvZ21vZWdsb2Noa2VpdCA6KSAoR29yLCAgNy4gTWFpIDE5OTksIDIwOjUwOjMwKToKfiMhIHJuPUtleSBydD05MjYwODE3MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKSG1tIGljaCBiZW51dHplIGluIGRlaXNlbSBGYWxsIFdpbmdhdGUuIERhIGJla29tbXQgamVkZXIgVXNlciBuZW4gZWlnZW5lbnMKcGFzc3dkLiBOYXR1ZXJsaWNoIHdlaXNzIGljaCBhbGxlIDopIE5hamEgYWJlciBpbm5lciBGYW1pbGllIG11c3MgbWFuIHNpY2ggamEKZWluIGJpc3NlbCB0cmF1ZW4ga29lbm5lbi4gQWxzbyBlcyBmdW5rdGlvbmllcnQgcmVjaHQgZ3V0IHVuZCBkaWUgYW5kZXJlbgpha3plcHRpZXJlbiBhdWNoIGRpZSBaZWl0YW5nYWJlbiB2b20gV2luZ2F0ZS4gV2VubiBkdSBkaWVzIGRhbm4gbm9jaCBtaXQgZGVtCk9ubGluZUNvdW50ZXIgdm9uIFNXUiAzIHZlcmtudWVwZnN0IGJyYXVjaHN0ZSBuaWNodCBtYWwgbWVociBuZW4KVGFzY2hlbnJlY2huZXIgOikKCkljaCBob2ZmZSBkYXMgaGF0IGplZGVyIHZlcnN0YW5kZW4uIEFuc29uc3RlbiBNYWlsIGFuIG1pY2guCgpHb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2dtb2VnbG9jaGtlaXQgOikgKFN0cmVhd2tjZXVyLCAgNy4gTWFpIDE5OTksIDIxOjQ5OjUwKToKfiMhIHJuPUtleSBydD05MjYwODE3MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKaW4gZGVyIG5ldWVuIGMndCBnaWJ0cyBkYWZ1ZXIgbmVuIGtsZWluZXMgdmJzY3JpcHQgcHJvZ2dpLi4uIG1vbSBtYWwKbmFjaHNlaGVuLi4uIHNlaXRlIDk4IG9kZXIgc28uIG11c3N0ZSB2aWVsZWxpY2h0IG5vY2huIGJpc3NrZW4gYXVzYmF1ZW4KCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2TFBDIChTdG9lcnRpLCAgOC4gTWFpIDE5OTksIDAxOjU5OjEzKToKT0ssIG5hY2hkZW0gaWNoIHNvIHphaGxyZWljaCBhdWYgZGVuIHZpc3VhbCBMUEMgRWRpdG9yIGFuZ2VzcHJvY2hlbiAKd3VyZGUgbmFjaCBtZWluZW0gQXJ0aWtlbCBpbiBxdWl6LCB2b24gTGV1dGVuLCBkaWUgYWxsZSBkZW4gdkxQQyBFZGl0b3IgaGFiZW4gCm1vZWNodGVuOgoKV2VyIG1hZywga2FubiBzaWNoIHNjaG9ubWFsIGVpbmVuIFNjcmVlbnNob3QgYW5zZWhlbjoKCmh0dHA6Ly93d3cuc3RvZXJ0aS5jb20vdmxwYy0xLmpwZwoKSWNoIGJpbiBncmFkIGZsZWlzc2lnIGFtIHNjaHJlaWJlbiwgZGFtaXQgZGFzIERpbmcgYmFsZCBmZXJ0aWcgaXN0LiAKCkRhIGljaCBkZW4gRWRpdG9yIGZ1ZXIgYWxsZSAoZ2FlbmdpZ2VuKSBMUC1NdWRzIGtvbXBhdGliZWwgaGFiZW4gd2lsbCwgaXN0IGRhcwptaXQgZXR3YXMgZXJob2VodGVtIEFyYmVpdHNhdWZ3YW5kIHZlcmJ1bmRlbi4KQXVzc2VyZGVtIGlzdCBkYXMgRGluZyBNdWx0aWxpbmd1YWwgKGRldXRzY2gvZW5nbGlzY2gvbm9jaHdhcyx3ZW5uIHNpY2h3ZXIgenVtCnVlYmVyc2V0emVuIGZpbmRldCkKRXMgd2lyZCBub2NoIGVpbmlnZSBUYWdlIGRhdWVybi4gVmllbGxlaWNodCAyIFdvY2hlbiBvZGVyIHNvLgpJY2ggdmVyc3VjaGUgZGVuIGZydWVoemVpdGlnIHp1IHJlbGVhc2VuLgoKVGlwcyB1bmQgQW5yZWd1bmdlbiBnZXJuZSBhbjogdkxQQ0BzdG9lcnRpLmNvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZMUEMgKFN0b2VydGksICA5LiBNYWkgMTk5OSwgMTY6NDI6MTQpOgp+IyEgcm49U3RvZXJ0aSBydD05MjYxMjE1NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYxMjE1NTMKTnUgaXNzZXQgcGFzc2llcnQ6CgpEaWUgZXJzdGVuIHZMUEMgZXJ6ZXVndGVuIFJhZXVtZSBsYXVmZW4uCihJbSBBbmRlcmxhbmQuLi5hbmRlcmUgbXVkcyBrYW5uIGljaCBsZWlkZXIgbmljaCBhdWYgZGllIHNjaG5lbGxlIHRlc3Rlbi4pCihNYW5nZWxzIG1hZ2llcmNoYXJha3RlciwgZWluemlnIHBrIHVuZCBjYXJsZWRvbiB3ZXJkIGljaCBnbGVpY2ggbWFsIGFuZ2VoZW4pCgpCZXp1ZWdsaWNoIGRlciBGcmFnZW4gYXVmIGRpZSB2ZXJzY2hpZWRlbmVuIEViZW5lbiB2b24gR2ViaWV0ZW46ClRlY2huaXNjaCB2b3JnZXNlaGVuIHNpbmQgMzAweDMwMCByYWV1bWUgYXVmIG4gZWJlbmVuIChsaW10OiBtYXguIGxvbmcKaW50ZWdlcikKRXZlbnR1ZWxsIGdpYnRzIG5hZWNoc3RlIFdvY2hlIG1hbCBuZW4gYWxwaGEtcHJldmlldyBvZGVyIHNvLgpKZXR6IGdlaHRzIGFiZXIgd29obCBlcnN0bWFsIGFucyBEb2t1IHNjaHJlaWJlbiAuLi4gOi0vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHZMUEMgKEtleSwgIDkuIE1haSAxOTk5LCAyMToyMzo0MCk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNjI2MDkzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjEyMTU1MwpIbW0gc2NocmVpYiBkaWUgYWJlciBzY2hvZW4gaW4gZGV1dHNjaCBiaXR0ZSA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB2TFBDIChTdG9lcnRpLCAgOS4gTWFpIDE5OTksIDIxOjM1OjM4KToKfiMhIHJuPUtleSBydD05MjYyNzc4MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYxMjE1NTMKSWNoIHdvbGx0ZSBkaWUgZWlnZW50bGljaCBzY2hvZW4gaW4gYWx0LWdyaWVjaGlzY2ggc2NocmVpYmVuLCBkYW1pdCBpaHJzIG5pY2h0CnZlcmxlcm50IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTG9nbW9lZ2xvY2hrZWl0IDopIChUaHVmaGlyLCAxMC4gTWFpIDE5OTksIDEwOjUzOjQwKToKfiMhIHJuPUtleSBydD05MjYwODMxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYwODE3MTcKCkphLCBpbiBkZXIgUmVnZWwgenUgMTAlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdkxQQyAoTWFoYXRtdSwgMTAuIE1haSAxOTk5LCAxMDo1NTowNSk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNjI3ODUzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjEyMTU1MwpOYWphIEhhdXB0c2FjaGUgbWFuIGthbm4gRGV0YWlscyBvcmRlbnRsaWNoIHNjaHJlaWJlbiwgVW1icnVjaGZ1bmt0aW9uZW4KbWl0IFBhcmFtZXRlcm4gZnVlciBTdHJpbmdzIGFuZ2ViZW4gdW5kIHVlYmVyaGF1cHQgd2ljaHRpZ2UgbGZ1bnMgd2llCkFkZERldGFpbCBldHdhcyBrb25maWd1cmllcmVuICh3ZWlsIHdlZ2VuIERFVEFJTF9YWFggdW5kIGFuZGVyZW4KUGFyYW1ldGVybikgLi4uCgpHbG9pbiAuLi4gZGV0YWlsZnJldWRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlYi1QYWdlIG1pdCBQaG90b3MgKD8pIChRaXRlc3MsIDEwLiBNYWkgMTk5OSwgMTE6Mjc6MDQpOgpIYWxsby4ga2FubiBtYWwgYml0dGUgamVtYW5kIHNhZ2VuLCB3aWUgbWFuIHNlaXQgbmV1ZXN0ZW0gYW4gZGllIFBhcnR5YmlsZGVyCmhlcmFua29tbXQgPyBJY2gga2FubiBudXIgZGllIFBhcnR5c2VpdGUgYXVmcnVmZW4sIHVuZCB1bnRlciBkZW4gZWluemVsbmVuClBhcnRpZXMga29tbXQgaW1tZXIgbnVyICdUaGUgcmVxdWVzdGVkIFVSTCAqKioqKiB3YXMgbm90IGZvdW5kIG9uIHRoaXMKc2VydmVyLicKCldvIHNpbmQgc2llIGRlbm4gZGFubiBmaW5kYWJsZSA/IDopCgpNaXQgZGVyIEJpdHRlIHVtIEF1ZmtsYWVydW5nIHZlcmJsZWlidAooaGV1dGUgbWFsIGhvZWZsaWNoKSBRaXRlc3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExvZ21vZWdsb2Noa2VpdCA6KSAoS2V5LCAxMC4gTWFpIDE5OTksIDEyOjEzOjI0KToKfiMhIHJuPVRodWZoaXIgcnQ9OTI2MzI2NDIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MDgxNzE3CkhtbW0gdW5kIGRhbWl0IER1IGRpZSAxMCUgZXJzdGF0dGV0IGJla29tbXN0IG11c3N0ZSB3YWhyc2NoZWlubGljaCAzMDAlCmJlcnVmbGljaGUgTnV0enVuZyBuYWNod2Vpc2VuLCBvZGVyPyA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMb2dtb2VnbG9jaGtlaXQgOikgKFRodWZoaXIsIDEwLiBNYWkgMTk5OSwgMTI6NDg6MTEpOgp+IyEgcm49S2V5IHJ0PTkyNjMzMTIwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjA4MTcxNwoKbm9lLCBzb2xsdGUgZWlnZW50bGljaCBvaG5lIFByb2JsZW1lIGdlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VzdWNodCA7KSAoS2V5LCAxMC4gTWFpIDE5OTksIDIyOjQwOjUxKToKSGF0IHp1ZmFlbGxpZyBqZW1hbmQgZGllIGZvbGdlbmRlIFNlbmR1bmcgZ2VzZWhlbj8KS0FCRUwgMQogICAgICAgICAgICAgICBTb25udGFnLCAwOS4wNS4xOTk5IDAwOjUwIC0gMDE6MjAKCiAgICAgICAgICAgICAgIEludGVybmV0OiBPbmxpbmUgaW4gZGllIFN1Y2h0IAogICAgICAgICAgICAgICBBYmhuZ2lnIHZvbSBJbnRlcm5ldC4gRXMgaXN0IGVpbiBUcmllYiwgZWluIHp3YW5naGFmdGVyCiAgICAgICAgICAgICAgIEdlYnJhdWNoLiBTZWxic3QsIHdlbm4gbWFuIGVya2VubnQsIGRhendhbmdoYWZ0ZXIgZXMgc2NoYWRldCwKbWFjaHQKICAgICAgICAgICAgICAgbWFuIHRyb3R6ZGVtIHdlaXRlciIsIGVya2xydCBEci4gT2xpdmVyIFNlZW1hbm4gdm9uIGRlcgogICAgICAgICAgICAgICBVbmlrbGluaWsgTXxuY2hlbiBkYXMgc29nZW5hbm50ZQogICAgICAgICAgICAgICBJbnRlcm5ldC1BYmhuZ2lna2VpdHMtU3luZHJvbSIuIEluIGRlciBidW5kZXN3ZWl0IGVyc3RlbgogICAgICAgICAgICAgICBPbmxpbmUtQW1idWxhbnoiIGJldHJldXQgZXIgT25saW5lLVN8Y2h0aWdlLiBEaWUgU3ltcHRvbWUKICAgICAgICAgICAgICAgZGVyIFBhdGllbnRlbjogU3R1bmRlbmxhbmdlIEdlc3ByY2hlIGluIHNvZ2VuYW5udGVuCiAgICAgICAgICAgICAgIENoYXRyb29tcyIgdW5kIGVuZGxvc2VzIFN1cmZlbiBpbSB3ZWx0d2VpdGVuIERhdGVubmV0ei4KICAgICAgICAgICAgICAgRGllIEZvbGdlbjogU2llIHZlcmxpZXJlbiBkZW4gQmV6dWcgenUgWmVpdCwgUmVhbGl0dCwgaWhyZXIKICAgICAgICAgICAgICAgc296aWFsZW4gVW1nZWJ1bmcgdW5kIG9mdCBzb2dhciBkZW4gQXJiZWl0c3BsYXR6ZXMuIAoKSWNoIHN1Y2ggYXVzIGRlciBTZW5kdW5nIGRpZSBUdXNzIG1pdCBkZXIgV2Vic2l0ZSBkaWUgYW5nZWJsaWNoIHN1ZWNodGlnIGlzdAo7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB2TFBDIChTdG9lcnRpLCAxMS4gTWFpIDE5OTksIDEzOjAyOjQ2KToKfiMhIHJuPU1haGF0bXUgcnQ9OTI2MzI2NTA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MTIxNTUzCmFuIGRlbiBkZXRhaWxzIGFyYmVpdGUgaWNoIGdlcmFkZS4KZWJlbiB1LmEuIGRhZnVlciBiaXR0ZSBpY2ggZ2VyYWRlIHZpZWxlIGVyem1hZ2llciBhdXMgZGl2ZXJzZW4gbXVkcywgbWl0IG5lbgprbGVpbmVuIG1hZ2llciB6dSBnZWJlbjsgZGllcyBzdGVsbHQgc2ljaCBqZWRvY2ggYWxzIG5pY2h0IHNvIGVpbmZhY2ggZGFyLAp3ZWlsIGlyZ2VuZHdpZSBhbGxlIGRlciBtZWludW5nIHNpbmQsIGljaCBrZW5uZSBhbGxlIExQQyAtIGRpYWxla3RlIGJ6dy4gYWxsZQptdWRsaWJzLiAKTnVuamEsIG1laW4gRGFuayBnZWh0IGFuIERyYWdvbldvcmxkIHVuZCBTaWxpY29uRHJlYW0sIHdvIG1hbiBtaXIgZGllcwplcm1vZWdsaWNodCBoYXQgdW5kIGljaCBoYWJlIGpldHp0IGVuZGxpY2ggbWFsIGFuZGVyZSBNdWRsaWJzIGdlc2VoZW4gdW5kCmRhYmVpIGJlbWVya3QsIGRhc3MgIGVzIG5vY2ggdmllbCB6dSB0dW4gZ2lidC4gCkljaCBrYW5uIGplZG9jaCBudXIgZGllIFZhcmlhdGlvbnNtb2VnbGljaGtlaXRlbiBlaW5iYXVlbiwgdm9uIGRlbmVuIGljaAp3ZWlzcywgd2FzIGVzIGVpZ2VudGxpY2ggYWxsZXMgZ2lidCwKU3ByaWNoOiBJY2ggbmVobWUgZGllIFZhcmlhbnRlbiwgZGllIGVzIGltCkFuZGVybGFuZCxTaWxpY29uRHJlYW0sRHJhZ29uV29ybGQsUEstTXVkIHVuZCBDYXJsZWRvbiBnaWJ0IHVuZCBzZWhlIHp1LCBkYXNzCmljaCBkYW1pdCBmdW5rdGlvbnNmYWVoaWdlIFJhZXVtZSBtYWNoZW4ga2FubiB1bmQgZ2VoZSBlaW5mYWNoIGRhdm9uIGF1cywgZGFzcwpkaWUgZGFubiBhdWNoIGluIGFuZGVyZW4gTXVkcyBsYXVmZW4uIApXYXMgZnVua3Rpb25zYXVmcnVmZSAoYnJlYWtfc3RyaW5nIGV0YykgYW5nZWh0OgoKRGllIERla2xhcmF0aW9uIGZ1ZXIgQWRkRGV0YWlsIHNpZWh0IGltIHZMUEMgc28gYXVzOgoKQWRkRGV0YWlsKCIlREVUQUlMUyUsICIlREVUREVTQ1IlIik7CldpbGwgbWFuIGVpbmVuIGJyZWFrX3N0cmluZyBlaW5iYXVlbiwgc2llaHQgZGFzIHNvIGF1czogCkFkZERldGFpbCgiJURFVEFJTFMlIiwgYnJlYWtfc3RyaW5nICgKICAgIiVERVRERVNDUiUiKSk7ClNvIGxhZXNzdCBzaWNoIGplZGUgRWlnZW5zY2hhZnQgdm9uIEJlbnV0emVyIGF1cyBlaW5zdGVsbGVuLgoKRWluc2NocmFlbmt1bmc6IFJhc3NlbmFiaGFlbmdpZ2UgRGV0YWlscyBnZWhlbiBub2NoIG5pY2ggdW5kIGljaCBoYWIgbm9jaAprZWluZSBBaG51bmcsIHdpZSBpY2ggZGFzIG1hY2hlbiBzb2xsLiBXYXJ1bT8gLT4genV2aWVsZSB1bmJla2FubnRlIGluIGRlbgp2ZXJzY2hpZWRlbmVuIGxpYnMuIApBYmVyIGlyZ2VuZHdhbm4gd2lyZCBhdWNoIGRpZXMga29tbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdkxQQyAoS2V5LCAxMS4gTWFpIDE5OTksIDE1OjI0OjUwKToKfiMhIHJuPVN0b2VydGkgcnQ9OTI2NDIwNTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2MTIxNTUzCkhtbW0gLi4uLiBhdWYgamVkZXMgTXVkIGthbm5zdSBrYXVtIGFic3RpbW1lbiAuKQpEYWZ1ZXIgYnJhdWNoc3RlIEphaHJ6ZW50ZSAuLi4uLiAKCktlYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHZMUEMgKFN0b2VydGksIDExLiBNYWkgMTk5OSwgMTY6Mjk6MjcpOgp+IyEgcm49S2V5IHJ0PTkyNjQyOTA5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjEyMTU1MwpXaXIgd2VyZGVuIHNlaGVuIDotKQoKSW0gdWVicmlnZW46IAoKSWNoIGhhYmUgYW5nZWZhbmdlbiwgZXR3YXMgRG9rdSB6dXNhbW1lbnp1c2NocmVpYmVuLgpEaWUgZXJzdGUgKGdhbnogdW5kIGdhciBuaWNodCBmZXJ0aWdlIDotKSkgVmVyc2lvbiAKa29lbm50ZSBJaHIgYXVmOiBodHRwOi8vd3d3LnN0b2VydGkuY29tIHVudGVyIHZscGMgCmJlZ3V0YWNodGVuIHVuZCBldnRsLiBtaXQgYW5yZWd1bmdlbiBydWViZXJrb21tZW4uIAphbnJlZ3VuZ2VuIGFuIHZscGNAc3RvZXJ0aS5jb20gLCBrcml0aWtlbiBhbiAvZGV2L251bGxAc3RvZXJ0aS5jb20gOi0pKSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG1tbSAoS2V5LCAxMS4gTWFpIDE5OTksIDE2OjQwOjE1KToKCk5hanV0LCBkYSBpY2ggZ2VyYWRlIG5lbiBrbGVpbmVuIGFuc2NoaXNzIGJla2FtIHZvbiB3ZWdlbiBkYXMgYW5kZXJlIHVudGVyIG1pcgpsZWlkZW4sIHVuZCBvaG5lIG1laW5lIGFydGlrZWwgaW4gZGVyIG1wYSBkYXMgYWJnc3RlbGx0IHdhZXJlLCB2ZXJicmVubiBpY2gKZGFzIGd1dGUgU3R1ZWNrIG1hbCA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG1tbSAoWmFybml5YSwgMTEuIE1haSAxOTk5LCAxNjo0MTo0OSk6Cn4jISBybj1LZXkgcnQ9OTI2NDMzNjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2NDMzNjE1Cmxhc3MgZGljaCBkb2NoIG5jaWh0IHZvbiBzbyBlaW5lbSBuZXJ2aWdlbiBXaWNodGlndHVlciBhdXMgS29lbG4gdW50ZXJrcmllZ2VuLApLZXlsaWVic3Rlci4uLiAKCldpciBrb2VubnRlbiBuYXR1ZXJsaWNoIGF1Y2ggd2VpdGVyIHBlciBNYWlsIGZsYW1lbiB1bmQgaW1tZXIgZWluZSBLb3BpZSBhbgphbGxlIEVNcyBVTkQgQmVuZGVpZ2lkIHNjaGlja2VuIDopCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VzdWNodCA7KSAoS2FydG9mZmVsLCAxMS4gTWFpIDE5OTksIDIxOjIzOjU0KToKfiMhIHJuPUtleSBydD05MjYzNjg4NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjYzNjg4NTEKTGVpZGVyIG5pY2h0IGRhcyB3YXMgKGJ6dy4gZGllKSBEdSBzdWNoc3QgYWJlciBhdWNoIG5ldHQ6CgpLYW0gZWJlbiBiZWkgdW5zIGltIExva2FsZmVybnNlaGVuOgpTZWxic3RoaWxmZWdydXBwZSBmdWVyIG9ubGluZS1TdWVjaHRpZ2UsIG5hdHVlcmxpY2ggb25saW5lLi4uCgonVG9mZmVsIC0gZnJhZ3Qgc2ljaCwgb2IgZGllIEFub255bWVuIEFsa29ob2xpa2VyIHNpY2ggamV0enQgYXVjaCBpbgpDb2NrdGFpbC1CYXJzIHRyZWZmZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhbXMuLi4gKE5ldm9rLCAxMi4gTWFpIDE5OTksIDA0OjI0OjMzKToKSWNoIHdlaXNzIHp3YXIgbmV0IG9iIGRhcyB1bmJlZGluZ3QgaGllcmhlcmdlaG9lcnQuLi5hYmVyIGVnYWwuLi4KaWNoIHN1Y2hlIGV0d2FzIGdhbnogYmVzdGltbXRlcywgdW5kIHp3YXIgZGllIEdlZGljaHRlIGRlcyBTYW1zIGF1cyBQYXVsCk1hYXIncyBLaW5kZXJidWNoICdFaW5lIFdvY2hlIHZvbGxlciBTYW1zdGFnZScsICdOZXVlIFB1bmt0ZSBmdWVyIGRhcyBTYW1zJywKJ0FtIFNhbXN0YWcga2FtIGRhcyBTYW1zIHp1cnVlY2snIHVuZCAnRWluIFNhbXMgZnVlciBNYXJ0aW4gVGFzY2hlbmJpZXInLgpCZXNvbmRlcnMgd2ljaHRpZyB3YWVyZSBkYXMgR2VkaWNodCAnVWRha2EgdW5kIExpZG9rb3JrJwp3YWVyZSBuZXR0IHdlbm4gbWlyIGRhIHdlciBoZWxmZW4ga29lbm50ZSwgZGEgaWNoIGFuIGRhcyBCdWNoIGhpZXIgaW4gZGVuClN0YWF0ZW4gYXVjaCBuZXQgcmFua29tbWUuLi4uCgpOZXZvawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVib290IChIYXRlLCAxMi4gTWFpIDE5OTksIDE3OjIyOjMyKToKVGphLCB0dXQgbWlyIGxlaWQgTGV1dGUsIGFiZXIgZGFtaXQgaWNoIGVpbmUgRmVobGVycXVlbGxlIGF1c3NjaGFsdGVuIGthbm4sCm11c3MgaWNoIGRhcyBNVUQgaGV1dGUgMTkwMCBtYWwgcnVudGVyZmFocmVuLiBEYW5uIG1hY2ggaWNoIGVpbiBha3R1ZWxsZXMKYmFja3VwIHVuZCBkYW5uIHdpcmQgbmV1IGtvbmZpZ3VyaWVydCB1bmQgZGFubiBpcmdlbmR3YW5uIGRhbmFjaCBnZWh0cyB3aWVkZXIKd2VpdGVyIDstKSAuIEhvZmZlbiB3aXIsIGRhc3MgZXMgZGFubiBsYWVuZ2VyIGFscyA2IFRhZ2UgZ2VodC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChKYW1lc29uLCAxMi4gTWFpIDE5OTksIDE3OjMzOjMyKToKfiMhIHJuPUhhdGUgcnQ9OTI2NTIyNTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI2NTIyNTUyCndhYWFhYWFhYXMgMTkwMCBtYWw/ISBrZWluIFd1bmRlciBkYXNzIGRhcyAyLTMgU3R1bmRlbiBkYXVlcnQsIHNjaGFmZnN0CkR1IGRhcyBkZW5uIHVlYmVyaGF1cHQgaW4gZGVyIFplaXQ/CgpTQ05SIDstKQoKakFtZXNvbiAtPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCAoQWNyaW1vbiwgMTQuIE1haSAxOTk5LCAxNTo1NDowMyk6Cn4jISBybj1IYXRlIHJ0PTkyNjUyMjU1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNjUyMjU1MgpobW0uLi4gYW4gZWluZW0gVGFnIDE5MDAgUmVib290cywgZGFzIHNpbmQgZmFzdCA0NSw1IFNla3VuZGVuIHBybyBSZWJvb3QuCkR1IHdpbGxzdCBhbHNvIDI0IFN0dW5kZW4gZHVyY2hnZWhlbmQgYXVmYmxlaWJlbiwga2VpbmUgcmljaHRpZ2UgTWFobHplaXQKZWlubmVobWVuLCB1bmQgZmFlaHJ0IGRlciBuZXVlIFJlY2huZXIgZWlnZW50bGljaCBpbm5lcmhhbGIgdm9uIDQwIFNla3VuZGVuCmhvY2g/IEthbm5zdCBEdSBpbiBkZW4gcmVzdGxpY2hlbiA1IFNla3VuZGVuIG5vY2ggRmVobGVyc3VjaGUgYmV0cmVpYmVuPwoKVmllbCBTcGFzeiwgSGF0ZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdkxQQyBuZXdzIChTdG9lcnRpLCAxNS4gTWFpIDE5OTksIDE5OjEyOjU5KToKaWNoIGRldXRlIGVpbmZhY2ggc2V1ZnplbmQgYXVmIHd3dy5zdG9lcnRpLmNvbS92bHBjL3ZscGNfbWFpbi5odG1sCm1haGx6ZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2TFBDIChTdG9lcnRpLCAxOC4gTWFpIDE5OTksIDIxOjI4OjM1KToKU28gS2luZGVyLCAKCnZMUEMgaXN0IHJlbGVhc2ViZXJlaXQgKGljaCB0ZXN0ZSBub2NoIHNvbiBiaXNzY2hlbikKTmFjaGRlbSBpY2ggKGhvZmZlbnRsaWNoIGJpcyBtb3JnZW4gYWJlbmQpIGRpZSBEb2t1IGF1ZmJlcmVpdGV0IGhhYmUgd2VyZGUgaWNoCndvaGwgbW9pbiBhYmVuZC9uYWNodApkYXMgZXJzdGUgcHJldmlldyByZWxlYXNlbi4KKEhldXRlIGlzdCBnYW56IHVlYmVycmFzY2hlbmQgbiBmZWF0dXJlIGRhenVnZWtvbW1lbjoKIGxhbWJkYSBjbG9zdXJlcyBnZWhlbiBqZXR6dCBhdWNoIDotKSkpCgpVbmQgZXMgaXN0IGVpbiBCdWcgYmVrYW5udCwgZGVuIGljaCBub2NoIG5pY2h0IGZpeGVuIAprb25udGUsIHdlaWwgaWNoIGdhbnogZWluZmFjaCBuaWNodCB2ZXJzdGVoZSx3YXJ1bSBkZXIgcGFzc2llcnQuCgooaGluIHVuZCB3aWVkZXIgdmVybGllcmVuIGVpbnplbG5lIFJhZXVtZSBpaHJlIGF1c2dhZW5nZS4gQWJlciBudXIgZGllIApBdXNnYWVuZ2UuLi4uKQoKTmFqYSwgd2llIGdld29obnQ6IApuZXdzIGF1ZiB3d3cuc3RvZXJ0aS5jb20gCnVudGVyIHZMUEMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdkxQQyAoSmFzcGVyLCAxOS4gTWFpIDE5OTksIDE2OjQyOjIyKToKfiMhIHJuPVN0b2VydGkgcnQ9OTI3MDU1NzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1Cm5hY2hkZW0gZHUgaGllciBzdGFlbmRpZyBtaXQgZGVpbmVtIHN0b2VydGkuY29tIG5lcnZzdCwgc2NoYXUgaWNoIG1pciBkaWUKc2VpdGUgYXVjaCBtYWwgYW4sIHNpbmQgZGEgYXVjaCBuZXR0ZSBmaWNrYmlsZF5IXkheSF5IXkheSF5IXkhiaWxkY2hlbj8/CgpKYXNwZXIgYmVhbnRyYWd0IGVpbmUgbmV1ZSBydWJyaWsgJ3N0b2VydGkuY29tJyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB2TFBDIChUYXJhZ29uLCAxOS4gTWFpIDE5OTksIDE3OjAwOjI2KToKfiMhIHJuPUphc3BlciBydD05MjcxMjQ5NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKaWNoIGJpbiBmdWVyCmRlLmFsdC5tdWQuZWRpdG9yZW4uc3VwZXJnZWlsLmJlc3Rlc3ZvbndlbHQudm9uc3RvZXJ0aS52bHBjLmdlaWwuZ2VpbC5nZWlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptYWlsIChKYXNwZXIsIDE5LiBNYWkgMTk5OSwgMTc6MjU6NTkpOgprYW5uIGVzIHNlaW4gZGFzIGJyaWVmZSBudXIgZGFubiB3ZWl0ZXJnZWxlaXRldCB3ZXJkZW4sIHdlbm4gbWFuIGVpbmdlbG9ndAppc3Q/CnVuZCB3ZW5uIG1hbiBzaWNoIG1hbCB0YWdlIG5pY2h0IGVpbmxvZ3QgaGF0IHNpY2ggaGllciBldGxpY2hlciBtdWVsbAphbmdlc2FtbWVsdCB1bmQgZXMgd3VyZGUgbml4IHdlaXRlcmdlbGVpdGV0LCBoYXQgamV0enQgbml4IG1pdCBkZW0KcmVoY25lcnVtenVnIHp1IHR1biwgZGFzIHdhciBlaWdlbnRsaWNoIHNjaG9uIGxhZW5nZXIgc28uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFpbCAoVGFyYWdvbiwgMTkuIE1haSAxOTk5LCAxNzozMDo1Nik6Cn4jISBybj1KYXNwZXIgcnQ9OTI3MTI3NTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MTI3NTU5CkR1IE1hZ2llci4gRHUgZml4ZW4gZGFzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB2TFBDIChTdG9lcnRpLCAxOS4gTWFpIDE5OTksIDE5OjIwOjIzKToKfiMhIHJuPUphc3BlciBydD05MjcxMjQ5NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKc2FnIGJlc2NoZWlkLCB3ZW5uZSB3ZWxjaGUgZmluZGVzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdkxQQyAoU3RvZXJ0aSwgMTkuIE1haSAxOTk5LCAyMDowMjo1MSk6Cn4jISBybj1UYXJhZ29uIHJ0PTkyNzEyNjAyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpKYSwgc29ycnksIGljaCBrYW5ucyBoaWVyIGxlaWRlciBuaWNoIGluIG1hZ2llciBwb3N0ZW4uIEFsc28gYmVrb21tZW4gZGFzCnp3YW5nc2xhZXVmaWcgYXVjaCBzcGllbGVyIHp1IGdlc2ljaHQgdW5kIGRhIG11c3MgbWFuIGViZW4gZGFtaXQgcmVjaG5lbiwgZGFzCmVzIGltbWVyIHdpZWRlciBrbGVpbmUgc3BpZWxlciBnaWJ0LCBkaWUgbWVpbmVuLGdhbnogZ3Jvc3MgenUgc2Vpbi4KCmRhcyB3YXIgamV0enQgbGVkaWdsaWNoIGVpbiBzdGF0ZW1lbnQgenUgdGFyYWdvbnMgYXJ0aWtlbC4Kd2VpbDogbWl0IGxldXRlbixkaWUgbWVociBhbHMgNCBtYWwgaW4gZWluZXIgemVpbGUgZGFzIHdvcnQgZ2VpbCBiZW51dHplbgp1bnRlcmhhbHRlIGljaCBtaWNoIGdhciBuaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB2TFBDIChUYXJhZ29uLCAxOS4gTWFpIDE5OTksIDIwOjUxOjI0KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI3MTM2OTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1ClN0b2VydChpKSBtaWNoIGVpZ2VudGxpY2ggdWViZXJoYXVwdCBuaWNodC4gRHUgZXJrZW5uc3QgamEgZWluZSBWZXJhcnNjaHVuZwpuaWNodCBtYWwgd2VubiBEdSBtaXQgZGVyIE5hc2UgZHJpbnN0ZWNrc3QgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB2TFBDIChTdG9lcnRpLCAxOS4gTWFpIDE5OTksIDIxOjA4OjE1KToKfiMhIHJuPVRhcmFnb24gcnQ9OTI3MTM5ODg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1CmRhZnVlciBiaW4gaWNoIGJla2FubnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHZMUEMgKFRhcmFnb24sIDE5LiBNYWkgMTk5OSwgMjE6MjY6NDgpOgp+IyEgcm49U3RvZXJ0aSBydD05MjcxNDA4OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKRmFsc2NoZSBCZXplaWNobnVuZy4gSWNoIGRlbmtlIGVoZXIgZGFzcyAnZ2VmdWVyY2h0ZXQnIGJlc3NlciBwYXNzdCA6LSkKQWJlciB3aWUgZ2VzYWd0Li4uIGRhcyAoZ2Upc3RvZXJ0KGkpIG1pY2ggamEgbmljaHQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1haWwgKFRydWcsIDE5LiBNYWkgMTk5OSwgMjI6MDE6NTUpOgp+IyEgcm49VGFyYWdvbiBydD05MjcxMjc4NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcxMjc1NTkKRGFubiBhcmJlaXRlIGRpY2ggbWFsIGluIGRlbiBTb3VyY2UgZGVyIE1QQSBiencgZGVzIE1haWxzeXN0ZW1zIGVpbi4KClZpZWwgU3Bhc3MuCgpTcGFnaGV0dGljb2RlIGEgbGEgY2FydGUgdW5kIGhhcnRrb2RpZXJ0ZSBQZmFkZSBlbiBtYXNzZS4gV2VubiBtYW4gZGFzCk1haWxwYWtldCBpbiBlaW4gYW5kZXJlcyBWZXJ6ZWljaG5pcyB2ZXJzY2hpZWJlbiB3aWxsIG9kZXIgZ2FyIGFsbGUKcmVsZXZhbnRlbiwgdmVyc3RyZXV0ZW4gRmlsZXMgaW4gZWluZW4gVmVyemVpY2huaXMgenVzYW1tZW5mYXNzZW4gd2lsbCwgZGFubgpuYSBNYWhsemVpdC4KClRydWcuIEhhdCBlaW5lIFBmYWRhbnBhc3N1bmcgZGVzIE1haWxwYWtldHMgaGludGVyIHNpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtYWlsIChUYXJhZ29uLCAxOS4gTWFpIDE5OTksIDIyOjA3OjQxKToKfiMhIHJuPVRydWcgcnQ9OTI3MTQ0MTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MTI3NTU5CldpZXNvIGljaCA/IEJpbiBpY2ggaGllciBNYWdpZXIgPyBOZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbWFpbCAoVHJ1ZywgMjAuIE1haSAxOTk5LCAwMTo0MjoxMik6Cn4jISBybj1UYXJhZ29uIHJ0PTkyNzE0NDQ2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzEyNzU1OQpCZXRvbnVuZyBsaWVndCBhdWYgJ2hpZXInIDopKQoKVHJ1Zy4gd2llZGVyIG1hbCBlaW56ZWlsZXJuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG1haWwgKFRhcmFnb24sIDIwLiBNYWkgMTk5OSwgMTA6MjM6MTMpOgp+IyEgcm49VHJ1ZyBydD05MjcxNTczMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcxMjc1NTkKUHNjaHQhIE11c3N0IERvY2ggbmljaHQgYWxsZXMgdmVycmF0ZW4sIHNvbnN0IHdvbGxlbiBkaWUgbWljaCBoaWVyIG5vY2gKYWxzIE1hZyBlaW5zcGFubmVuIDotKSkpCgpUYXJhZ29uIC0gWndlaXplaWxlciBpc3QgRWluemVpbGVyIC0gRWluemVpbGVyIGlzdCBLZWluemVpbGVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWFpbCAoTXVhZGliLCAyMC4gTWFpIDE5OTksIDEyOjAyOjUxKToKfiMhIHJuPVRydWcgcnQ9OTI3MTQ0MTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MTI3NTU5Cm5hamEgc29vbyBzcGFnaGV0dGkgaXMgZXMgamEgYXVjaCBuaWNoIDopCmRpY2ggc3RvZXJ0IGVzIGVpbmZhY2ggbmljaCBnZW51ZyA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBtYWlsIChEYXJpYSwgMjAuIE1haSAxOTk5LCAxNDoyNTo1NCk6Cn4jISBybj1UYXJhZ29uIHJ0PTkyNzE4ODU5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzEyNzU1OQpBbHNvIG1laW4gTGF0ZWlubGVocmVyIGhhdCBpbW1lciBnZXNhZ3Q6CmVpbm1hbCBpc3Qga2Vpbm1hbCwgendlaW1hbCBpc3QgZHJlaW1hbC4KRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG1haWwgKFRhcmFnb24sIDIwLiBNYWkgMTk5OSwgMTU6MzI6MDEpOgp+IyEgcm49RGFyaWEgcnQ9OTI3MjAzMTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MTI3NTU5CkpldHp0IHZlcnN0ZWhlIGljaCBhdWNoIHdpZXNvIGRlciBMYXRlaW5sZWhyZXIgd2FyIHVuZCBrZWluIE1hdGhlbGVocmVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbWFpbCAoQWxib2luLCAyMC4gTWFpIDE5OTksIDE1OjM0OjA0KToKfiMhIHJuPURhcmlhIHJ0PTkyNzIwMzE1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzEyNzU1OQppY2gga2VubmUgZWluZW4gTWF0aGVwcm9mZXNzb3IsIGRlciBwZmxlZ3RlIGltbWVyenUgc2FnZW46CkVzIGdpYnQgZHJlaSBTb3J0ZW4gdm9uIE1lbnNjaGVuOiBkaWUgZWluZW4ga29lbm5lbiB6YWVobGVuLCBkaWUgYW5kZXJlbiBuaWNodAouIAoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdkxQQyAoUmFyZGlhbiwgMjEuIE1haSAxOTk5LCAxNToyODo1OCk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNzA1NTcxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpSYWV1bWUgdmVybGllcmVuIGlocmUgQXVzZ2FlbmdlPwpOYSBkYXMgaXN0IGRvY2ggaGFsYiBzbyB3aWxkLCB3b3p1IGJyYXVjaHQgZWluIFJhdW0gZGVubiBBdXNnYWVuZ2U/PyA6KQoKUmFyZGlhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHZMUEMgKFJhcmRpYW4sIDIxLiBNYWkgMTk5OSwgMTU6MzE6MDgpOgp+IyEgcm49VGFyYWdvbiBydD05MjcxMjYwMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKV2llZGVyIHR5cGlzY2gsCmRhIG1hY2h0IHNpY2ggamVtYW5kIG5lbiBIYXVmZW4gQXJiZWl0IGZ1ZXIgZWluIFByb2R1a3QsIGZ1ZXIgZGFzIGVyIGtlaW5lbgpQZmVubmlnIHNlaGVuIHdpbGwgdW5kIGFsbGUgc3RvY2hlcm4gYXVmIGlobSBydW0uLi4KClJhcmRpYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB2TFBDIChBY3JpbW9uLCAyMS4gTWFpIDE5OTksIDE4OjM2OjIyKToKfiMhIHJuPVJhcmRpYW4gcnQ9OTI3MjkzNDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1ClVuZCBzb2xhbmdlIGVzIGlyZ2VuZHdpZSBhdWYgVW5peCBvZGVyIEFtaWdhIG9kZXIgVk1TIGxhZXVmdCwga2FubiBtYW4gZXMgYXVjaAp2ZXJ3ZW5kZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHZMUEMgKFN0b2VydGksIDIxLiBNYWkgMTk5OSwgMTg6Mzk6NTEpOgp+IyEgcm49QWNyaW1vbiBydD05MjczMDQ1ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKZ2lidHMgYWJlciAobm9jaCkgbmljaC4KCkFtaWdhOiBGdWVyIHNwaWVsa29uc29sZW4gbWFjaCBpY2ggbml4ClZNUzogc2ljaGVyLGljaCBzdGVsbCBtaXIgbmVuIGV4dHJhIHJlY2huZXIgZnVlciB2bXMgaGllciBoaW4sb2RlciB3YXM/CiAgICAgV29iZWkuLi5pY2ggaGFiIGRhIHNvbmUgc2Nob2VuZSBhbHBoYSBnZXNlaGVuLCBzcG9uc29yIG1pciBkaWUgZG9jaApVTklYLi4uLiBlcyBrYW5uIHNlaW4sIGRhcyBlcyBtYWwgbmUgdmVyc2lvbiBmciBrZGUgZ2ViZW4gd2lyZC4gCiAgICAgd2Vpc3MgaWNoIGFiZXIgbm9jaCBuaWNoLgpTb2xhbmdlIGVzIGxldXRlIGdpYnQsIGRpZSBkYXMgaGFiZW4gd29sbGVuLCBlbnR3aWNrZWwgaWNoIGRhcyBkaW5nIHdlaXRlci4KV2VubnMgbnVyIG5vY2ggYWNyaW1vbnMgZ2lidC4uLmVudHdpY2tlbCBpY2ggZGFzIGZ1ZXIgbWljaCBhbGxlaW4gd2VpdGVyLgpTbyBpc3QgZGVyIHN0YW5kIGRlciBkaW5nZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHZMUEMgKEFjcmltb24sIDIxLiBNYWkgMTk5OSwgMjA6MTk6NDQpOgp+IyEgcm49U3RvZXJ0aSBydD05MjczMDQ3OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKSG1wZiEgRHUgYmV6ZWljaG5lc3QgbWVpbmVuIGJlc3RlbiBBcmJlaXRzcmVjaG5lciBhbHMgU3BpZWxla29uc29sZT8KVW5kIHdhcyBpc3QgZGFubiB3b2hsIERlaW5lIFdpbmRvd3NtYXNjaGluZT8gRXR3YSBrZWluZSBTcGllbGVrb25zb2xlPwpMZXJuIGVyc3RtYWwgZGllIG1vZGVybmVuIFN5c3RlbSBrZW5uZW4sIGJldm9yIER1IGRhcnVlYmVyIG1lY2tlcnN0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB2TFBDIChTdG9lcnRpLCAyMS4gTWFpIDE5OTksIDIxOjQzOjM0KToKfiMhIHJuPUFjcmltb24gcnQ9OTI3MzEwNzg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1Cm1vZGVybmU/IHNhZ3Rlc3QgZHUgTU9ERVJORT8gCnVuZCBkYXMgaW4gZWluZW0gc2F0eiBtaXQgZWluZW0gYW1pZ2E/CmRhenUgZmFlbGx0IG1pciBqZXR6dCBhYmVyIHdpcmtsaWNoIG5peCBtZWhyIGVpbiA6LSkpKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHZMUEMgKFNpbHZhbmEsIDIxLiBNYWkgMTk5OSwgMjI6NTE6NDUpOgp+IyEgcm49UmFyZGlhbiBydD05MjcyOTM0Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKRGFzIGVudHNwcmljaHQgZGVuIG5vcm1hbGVuIFZlcmhhbHRlbiBkZXMgZHVyY2hzY2huaXR0bGljaGVuIE11ZGRlcnMuIElzdApldHdhcyBndXQsIG9kZXIgenVtaW5kZXN0IGJyYXVjaGJhciB1bmQgYXJiZWl0c2ludGVuc2l2IGdld2VzZW4sIHdpcmQgZXMKdmVycmlzc2VuIHVuZCBnZW1lY2tlcnQsIGRhc3MgZGllIE1QQSB0cmllZnQuClZvcnNpY2h0aWcgc2VpbiBzb2xsdGUgbWFuIGhpbmdlZ2VuIGFscyBNYWdpZXIsIHdlbm4gbWFuIGZ1ZXIgc2VpbmUgQXJiZWl0CmdlbG9idCB3aXJkLiBEQU5OIHNvbGx0ZSBtYW4gc2NobmVsbHN0ZW5zIHNlaW5lbiBDb2RlIGR1cmNoc2VoZW4sIG9iIG1hbiBuaWNodAppcmdlbmR3byBlaW5lIGtvc3Rlbi0gdW5kIGVuZGxvc2UgSGVpbHN0ZWxsZSBvZGVyIGRpZSB2b2xsa29tbWVuZSBVZWJlcndhZmZlCmVpbmdlYnVnZ3QgaGF0Li4uCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHZMUEMgKFRydWcsIDIxLiBNYWkgMTk5OSwgMjM6Mjk6MzUpOgp+IyEgcm49U3RvZXJ0aSBydD05MjczMDQ3OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKTmFqYSwgS0RFIHdpbGwgbmljaHQgamVkZXIgZ2V6d3VuZ2VuIHNlaW4gZXMgenUgYmVudXR6ZW4uCgpBdXNzZXJkZW0gZnJpc3N0IGVzIGltaG8genV2aWVsZSBSZXNzb3VyY2VuLCBkYSBpc3Qgd2FlcmUgZWluZSBWZXJzaW9uIGJlc3NlciwKZGllICd3aW5kb3dtYW5hZ2VyLW5ldXRyYWwnIGlzdC4KCihIb2ZmZW50bGljaCB6ZXR0ZWwgaWNoIG5pY2h0IGpldHp0IGVpbmVuIEdsYXViZW5za3JpZWcgYW46ICJNZWluCldpbmRvd21hbmFnZXIgaXN0IGJlc3NlciBhbHMgZGVpbmVyIikKClRydWcgc2FndCBudXIgJ2VubGlnaHRtZW50Jy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHZMUEMgKFN0b2VydGksIDIxLiBNYWkgMTk5OSwgMjM6MzM6NDUpOgp+IyEgcm49VHJ1ZyBydD05MjczMjIxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKQWVobSwgS2luZGVyLCBpaHIgc29sbHRldCBldWNoIG1hbCBlaW5lcyB2b3IgQXVnZW4gaGFsdGVuOgoKQXVjaCB3ZW5uIGljaCBnZXJuZSBhbHMgdWViZXJmbGllZ2VyIGdlZmVpZXJ0IHdlcmRlLCBhbHMgamVtYW5kLCBkZXIgdmllbGUKc3ByYWNoZW4gY29kaWVyZW4ga2FubiA6LSkpKSkpKSkpKSkpCk5laW4sIGltIGVybnN0OiBJY2gga2VubmUgdmllbGUgc3ByYWNoZW4sIGFiZXIgaWNoIGJpbiBzaWNoZXIgbmljaHQgZGVyIGNyYWNrLApkZXIgbWFsIGViZW4gc28gamVkZXMgT1MgdW5kIGplZGVuIHdpbmRvd21hbmFnZXIgdW5kIGFsbGUgWCB2YXJpYW50ZW4gdW5kIGFtCmJlc3RlbiBub2NoIGRpZSBhdXRvZXJrZW5udW5nIGF1ZiBkZW4gcHJvemVzc29yIHNjaHJlaWJlbiBrYW5uLiAKCkp1bmdzICh1bmQgbWFlZGVscykgd2lyIHNjaHJlaWJlbiBkYXMgdGVpbCB6dSB6d2VpdC4gdW5kIGJlaW0gYmVzdGVuIHdpbGxlbjoKCldpciB6d2VpIHNpbmQga2VpbmUgMjAwICwgZGllIG1hbCBlYmVuIGVpbmUgVGV4dHZlcmFyYmVpdHVuZyBzY2hyZWliZW4uCgpEZW5rdCBtYWwgYml0dGUgZGFyYW4uCgpXZW5uIHNpY2ggamVtYW5kIGZpbmRldCwgZGVycyBwcm9nZ2VuIHdpbGwsIGJpdHRlLCBpY2ggZ2ViZSBhbGxlIHRpcHMgdW5kCmRva3UoZGllIHp1IHNjaHJlaWJlbiB3YWVyZSA6LSkpIGdlcm5lIHdlaXRlciwgd2VubnMgZGFubiB3YXMgd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWxpY2ggYmVpIE4nb3MnRnJldCAoS2ludGFyYSwgMjIuIE1haSAxOTk5LCAwMDoyMDo1MCk6CkhvY2ggZXJoZWJzdCBEdSBEZWluIEtyZXV6IHVuZCBzY2hsZXVkZXJzdCBkZW0gQm9lc2VuIERlaW5lIEJhbm5mb3JtZWxuCmVudGdlZ2VuLgpEZXIgUXVhZGVyIGZhZWxsdCB6aXNjaGVuZCBpbiBzaWNoIHp1c2FtbWVuLgpNZWhyZXJlIEdlaXN0ZXIgdmVyc2Nod2luZGVuIGF1cyBkaWVzZW0gZHVua2xlbSBHZWZhZW5nbmlzLgpTaWUgZ2ViZW4gRGlyIG5ldWUgS3JhZnQuT2huZSBkaWUgS3JhZnQgZGVyIGJlZnJlaXRlbiBHZWlzdGVyIHZlcmxpZXJ0Ck4nb3MnRnJldCB6d2VpIGlocmVyIEtpbmRlci4+IFtBbGxnZW1laW46WXVuZ2EgdmVyZHVlbm5pc2llcnQgc2ljaF0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHZMUEMgKEFwc3UsIDIyLiBNYWkgMTk5OSwgMDE6Mjk6MDgpOgp+IyEgcm49VHJ1ZyBydD05MjczMjIxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKV2VyIGJyYXVjaHQgc2Nob24gS0RFID8KCgpBcHN1LCB2b24gd2VpcmRvd3MgenUgdW5peCBlbWlncmllcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHZMUEMgKEtleSwgMjQuIE1haSAxOTk5LCAxNjo1ODozNSk6Cn4jISBybj1TaWx2YW5hIHJ0PTkyNzMxOTkwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpQc3Nzc3QhISEhCk5ldCBhbGxlIFRpcHMgYW4gdW5lcmZhaHJlbmUgd2VpcnRlcmdlYmVuIDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHZMUEMgKFNvbmdva3UsIDI1LiBNYWkgMTk5OSwgMDg6NTk6MTYpOgp+IyEgcm49UmFyZGlhbiBydD05MjcyOTM0Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKbW9lY2h0ZSBkYSBqZXR6dCBlaW4gbWFnaWVyIHNlaW5lbiBjb21tZW50IGFiZ2ViZW4gIDspCgpheW91bmFyYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHZMUEMgKFNvbmdva3UsIDI1LiBNYWkgMTk5OSwgMDk6MDM6MjApOgp+IyEgcm49U3RvZXJ0aSBydD05MjczMDQ3OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKQW1pZ2E9U3BpZWxla29uc29sZT8/Pz8KVW5kIHdhcyBpc3QgZGVyIFN0YW5kYXJ0IFdJTi1QQz8/PyAKCkRhcmF1ZiBrYW5uIGVzIG51ciBlaW5lIEFudHdvcnQgZ2ViZW4hISEKKG1pciBmYWVsbHQgc2llIG51ciBnZXJhZGUgbmljaHQgZWluKQoKClNheW91bmFyYSEgKGVpbiBBbWlnYWxpZWJlbmRlciBTb25Hb2t1KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdkxQQyAoTm9ubmUsIDI1LiBNYWkgMTk5OSwgMDk6MDU6NDIpOgp+IyEgcm49VHJ1ZyBydD05MjczMjIxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKV2VubiBldHdhcyBmdWVyIEtERSBnZXNjaHJpZWJlbiBpc3QsIGJyYXVjaHQgbWFuLCB1bSBlcyBsYXVmZW4genUgbGFzc2VuLCBqYQpuaWNodCBkYXMga29tcGxldHRlIEtERS4gRGllIFFULWxpYnJhcmllcyBpbnN0YWxsaWVyZW4gcmVpY2h0IGltIG5vcm1hbGZhbGwuCk9id29obCwgcGxhaW4geGxpYiBmYWVuZCBpY2ggcGVyc29lbmxpY2ggc2Nob24gc3Bhbm5lbmRlciA7LSkKCk5vbm5lIChoYXQga2VpbmUgQWhudW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdkxQQyAoU2hhbm5hcmEsIDI1LiBNYWkgMTk5OSwgMTI6MDg6NDMpOgp+IyEgcm49Tm9ubmUgcnQ9OTI3NjE1OTQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1Ck5hamEsIAoKZGFubiBmdWVyIGRhcyBHbm9tZSBhdWNoIG5vY2ggZGllIEdub21lIGxpYnMgaW5zdGFsbGllcmVuLCBkaWUgUVQtbGlicy4uLi4gZGEKa29tbXQgc2Nob24gZWluaWdlcyB6dXNhbW1lbiwgdm9yIGFsbGVuIGJlbGVndCBkYXMgU3BlaWNoZXIgKEphLCBpY2ggaGFiICdudXInCjQwIE1CIFJBTSB1bmQga2FubiBkaWUgIFJpZWdlbCBhdWZncnVuZCBlaW5lcyBNYWluYm9hcmRmZWhsZXJzIG5pbW1lcgphdXN0YXVzY2hlbikuCgpBdWNoIHdlbm4gZGFzIG1pdCBkZXIgeGxpYiBpcm9uaXNjaCBnZW1laW50IHd1cmRlLCB3YWVyZSBkb2NoIGRhcyBkaWUgYmVzdGUKVmFyaWFudGUgKGhhbHQgZWluZmFjaCBkaWUgQXRoZW5hLzNEIHdpZGdldHMgYmVudXR6ZW4sIGRhbm4gZ2VodHMgamEgYXVjaCkuCgpTaGFubmFyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdkxQQyAoTm9ubmUsIDI1LiBNYWkgMTk5OSwgMTI6NTg6MjIpOgp+IyEgcm49U2hhbm5hcmEgcnQ9OTI3NjI2OTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1CkRhcyB3YXIgaW4ga2VpbnN0ZXIgd2Vpc2UgaXJvbmlzY2ggZ2VtZWludC4gSWNoIHByb2dnZSB6dWhhdXNlbiBudXIKcGxhaW4teGxpYiwgbmljaHQgbWFsIGRpZSBBdGhlbmEtd2lkZ2VzIGJlbnV0emUgaWNoLiBLYW5uIG1hbiBhdWNoIGFsbGVzCnNlbGJzdCBtYWNoZW4uCgpOb25uZSwgcHVyaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdkxQQyAoVHVuaXhndXQsIDI1LiBNYWkgMTk5OSwgMTQ6Mzc6NTIpOgp+IyEgcm49U3RvZXJ0aSBydD05MjczMDQ3OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKRGFubiB0dSBkYXMgdW5kIG11ZWxsIGhpZXIgbmljaHQgc3RhZW5kaWcgZGllIE1QQSB6dSEKCidzIEthcmF0ZS1ad2VyY2hsZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdkxQQyAoQWNyaW1vbiwgMjUuIE1haSAxOTk5LCAxNjo1OTowMSk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNzMxNTgxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpTdG9lcnRpLCBuZW5uc3QgRHUgZWluZW4gUFBDLUFtaWdhIG1pdCBDRC1CcmVubmVyLCBHcmFmaWtrYXJ0ZSwgU291bmRrYXJ0ZSwKODBNQiBSQU0sIDRHQi1QbGF0dGUsIC4uLiBkZWluIGVpZ2VuPwpVbmQgcGxhdHp0IGRpZSBQbGF0dGUgYmVyZWl0cyBhdXMgYWxsZW4gTmFlaHRlbj8KCldlbm4gbmVpbiAtIGRhbm4ga2VubnN0IER1IGtlaW5lbiBtb2Rlcm5lbiBBbWlnYS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdkxQQyAoU3RvZXJ0aSwgMjUuIE1haSAxOTk5LCAyMDoyMjo0NCk6Cn4jISBybj1Tb25nb2t1IHJ0PTkyNzYxNTgwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQphYmVyIG1pcjoKU3RhbmRhcmQgc2NocmVpYnQgbWFuIG1pdCAiRCIgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB2TFBDIChTdG9lcnRpLCAyNS4gTWFpIDE5OTksIDIwOjI1OjQ4KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTkyNzYzNTg3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpJY2ggbXVlbGwgaGllciBnYXIgbml4IG1laHIgenUsd2FzIHZscGMgYW5nZWh0LgpTZWl0IG5ldWVzdGVtIGdpYnRzIGhpZXIgUmVnaW9uc21hZ2llciwgZGllIHNpY2ggdmVycGZsaWNodGV0IGZ1ZWhsZW4sIG1pY2ggenUKKGZha2UpemFwcGVuLCB3ZWlsIG1hbiBkZXIgTWVpbnVuZyBpc3QsIGljaCB3dWVyZGUgZGllIExldXRlIGF1ZiBkYXMgUHJvZ3JhbW0KaGVpc3MgbWFjaGVuIHVtIG5hY2hoZXIgZGFmdWVyIEdlbGQgenUgdmVybGFuZ2VuLgoKRW5kZSBkZXIgV29jaGUgd2lyZHMgZGF6dSBlaW4gZGVtZW50c3ByZWNoZW5kZXMgU3RhdGVtZW50IGdlYmVuLgooSmUgbmFjaCBSZWFrdGlvbiBkZXIgSVNfQVJDSCBlbXBmYWVuZ2VyLikKCkxvcywgamV0enQgZmxhbWV0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZMUEMgKEZhZ2d1LCAyNS4gTWFpIDE5OTksIDIxOjExOjAwKToKfiMhIHJuPVN0b2VydGkgcnQ9OTI3MDU1NzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1ClNvIGRhIGhpZXIgamVkZXIgU3RvZXJ0aSB6ZXJyZWlzc3QsIG51ciB3ZWlsIGVyIG1hbCBuZW4gbmV0dGVzIFRvb2wKZ2VzY2hyaWViZW4gaGF0IHVuZCBkdXJjaCBkaWUgTVBBIGVzIGplZGVtIGRlciBzaWNoIGRhZnVlciBpbnRlcmVzc2llcnQKYmVrYW5udG1hY2h0LCB3aWxsIGljaCBoaWVyIG1hbCBrbGFyIGF1c2RydWVja2VuOgotIGVzIGdpYnQgTWFnaWVyIGRpZSBzaWNoIHNvd2FzIHd1ZW5zY2hlbiAoanVwLCBpY2ggd2FlciBhdWNoIGVpbmVyKQotIHVuZCB3aWUgaGllciBlaW5pZ2UgU3RvZXJ0aWVzIEFyYmVpdCB6ZXJyZWlzc2VuIGhhbHRlIGljaCBmdWVyIHNlaHIgdW5mYWlyLgoKU28gbXVzc3RlIGVpbmZhY2ggbWFsIGdlc2FndCB3ZXJkZW4KCkZhZ2d1CgpQUzogZmxhbWVzIGJpdHRlIGFuIC9kZXYvbnVsbCwgaWNoIGxlc2UgZGllIGVoIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdkxQQyAoU2lsdmFuYSwgMjUuIE1haSAxOTk5LCAyMTo1MDowOSk6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNzY1Njc0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpJY2ggZGVua2UsIGRhcyBlcnN0ZSwgd2FzIER1IGhpZXIgbGVybmVuIG11c3N0LCB3ZW5uIER1IGFscyAiRW50d2lja2xlciIKZ2VsdGVuIHdpbGxzdCwgU3RvZXJ0aSwgaXN0IEdlZHVsZCB1bmQgUnVoZS4gSWNoIGhhYmUgZGFzIGR1cmNoYXVzCmVybnN0IGdlbWVpbnQ6IFdlbm4gZGllIExldXRlIG1lY2tlcm4sIGthbm5zIG5pY2h0IGdhbnogZmFsc2NoIHNlaW4sCmRlbm4gc2llIG5laG1lbiBlcyB6dXIgS2VubnRuaXMuIFdlbm4gc2llIGp1YmVsbiwgaGFzdCBEdSBuZW4gZHJpbmdlbmRlbgpHcnVuZGUsIERpciBTb3JnZW4gdWViZXIgQnVncyB6dSBtYWNoZW4uIFNhZ2VuIHNpZSBnYXIgbmljaHRzLi4uIHdpcmRzCm9mZmVuYmFyIGlnbm9yaWVydCAtIGF1cyB3ZWxjaGVtIEdydW5kIGF1Y2ggaW1tZXIuCgpVbmQgd2FzIGRlbiBGYWtlLVphcCBhbmdlaHQ6IFVlYmVyZW1wZmluZGxpY2hlIElkaW90ZW4gZ2lidCBlcyB1ZWJlcmFsbC4KT2IgZGFzIG51biBCaWVyY2hlbiBpc3QsIHdlaWwgZXIgc2ljaCB2b24gZGVyIGhhZXVmaWdlbiBXZXJidW5nIGluendpc2NoZW4KZ2VuZXJ2dCBmdWVobHQsIG9kZXIgRHUsIHdlaWwgRHUgb2ZmZW5iYXIgbm9jaCBtZWhyIEFuZXJrZW5udW5nIHVuZApVbnRlcnN0dWV0enVuZyBzdWNoc3Qgb2RlciBpY2gsIHdlaWwgbWljaCBkaWVzZXIgTWFpbHNwYW0gbGV0enRsaWNoCnJlaWNobGljaCBnZWFlcmdlcnQgaGF0Li4uIERhcyBtdXNzIGplZGVyIHNlbGJzdCBlbnRzY2hlaWRlbi4KCldhcyBsZXJuZW4gd2lyIGRhcmF1cz8gS2VlcCBDb29sLCBtYWNoIERlaW5lIEFyYmVpdCB1bmQgbWFjaCBzaWUgZ3V0LgpXZW5ucyBmZXJ0aWcgaXN0LCB3ZXJkZW4gc2ljaCBkaWUgTGV1dGUgc2Nob24gc2VsYnN0IGVpbmUgTWVpbnVuZyAKYmlsZGVuLiBNaXQgcnVtZ2VicnVlbGxlIGltIFN0aWxlIHZvbiAiaWNoIHZlcmxhbmdlIGRhc3MuLi4uIiBpc3QgaGllcgpuaWVtYW5kZW0gZ2Vob2xmZW4uCgpTaWUgaG9lcnRlbiBkYXMgV29ydCB6dW0gTWl0dHdvY2ggLSBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiB2TFBDIChKYXNwZXIsIDI1LiBNYWkgMTk5OSwgMjI6MTQ6NDEpOgp+IyEgcm49QWNyaW1vbiBydD05Mjc2NDQzNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKaG9lcnQgc2ljaCBuYWNoIGRlciBpZGVhbGVuIHNwaWVsa29uc29sZSBhbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHZMUEMgKE5vbm5lLCAyNi4gTWFpIDE5OTksIDA5OjQzOjM2KToKfiMhIHJuPUphc3BlciBydD05Mjc2NjMyODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjcwNTU3MTUKRnVlciBkaWUgTGV1dGUsIGRlbmVuIGRhcyBzbyB0aWVyaXNjaCBhdWYgZGVuIEdlaXN0IGdlaHQ6Cgp1ZWJlcmdlaGUgdGhyZWFkCgpEYXMgd2lya3QgbWFuY2htYWwgV3VuZGVyISBVbmQgZGEgc3RvZXJ0aSBzY2hvZW4gaW4gc2VpbmVtIHRocmVhZCBnZWJsaWViZW4KaXN0LCB1bmQgbmljaHQgZnVlciBqZWRlbiBhcnRpa2VsIGVpbmVuIG5ldWVuIGF1ZmdlbWFjaHQgaGF0LCBoYWV0dGUgZGFzIGluCmRpZXNlbSBmYWxsIHNvZ2FyIHdhcyBnZWJyYWNodCEKCkljaCBicmF1Y2hlIGRhcyB0b29sIG5pY2h0LCBhYmVyIHdlaXRlciBzbyBTdG9lcnRpISBVbmQgaWNoIGZpbmRlIGRpZSBtcGEgYXVjaApkYXMgcmljaHRpZ2UgRm9ydW0gZGF6dSwgZGEgZHUgamEgbmljaHQgaW4gZGllIG1hZ2llci1ydWJyaWtlbiBwb3N0ZW4gZGFyZnN0IQoKTm9ubmUsIGZpbmRldCBhcmJlaXRlbmRlIExldXRlIGltbWUgZ3V0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnp1IHBvbGl6ZWkuYmVzY2h3ZXJkZW4gKEdhc3QxLCAyNi4gTWFpIDE5OTksIDExOjEzOjAzKToKRWluIHZvcmdldGFldXNjaHRlciBUb2QgKHZvbiBNYWdpZXJuKSB2ZXJ1cnNhY2h0IGlzdCwgR3J1bmQgZ2VudWcgdW0genUKc3BlcnJlbj8gUHJpbWEsIGVuZGxpY2ggYmVrb21tZW4gZGllIFNwaWVsZXIgaWhyZSBSbmUgTmFtZW4gbmVubmVuLCBhYmVyCmFsbGVpbiBkaWUgVGF0c2FjaGUsIGRhc3MgaWNoIG1pY2ggaGllciBudXIgYWxzIEdhc3QgcmVpbnRyYXVlIGlzIGRvY2ggc2Nob24Kc2NobGltbSBnZW51Zy4gRGEgd2lyZCBtYW4gCmxhdWZlbmQgdm9uIGRlbSBzZWxiZW4gTWFnaWVyIGJlbGFlc3RpZ3QsIChpZ25vcmUgaGlsZnQgbmF0dWVybGljaCBuaWNodCksIG1pdApMYXJzLU1lbGR1bmdlbiB6dW0gQmVzdGVuIGdlaGFsdGVuIGVjdC4gdm9uIGFuZHJvaHVuZ2VuIHdpZTogaWNoIHNldHogZGVpbmUKc2tpbGxzL3N0YXRzIHJ1bnRlciBmYW5nIGljaCBnYXIgbmljaHQgZXJzdCBhbi4uLgp1bmQgZGFzIGFsbGVzIG51ciwgd2VpbCBpY2ggTGV1dGUgaGFzc2UsIGRpZSAia3dlciB3ZWlibGljaCIgbWFjaGVuLCB1bmQKZGFuaHJlIExpc3RlIGR1cmNoZ2VoZW4sIHVuZCBob2ZmZW46IGVpbmUgd2lyZCBzY2hvbiBhbmJlaXNzZW4gOiggTWFnaWVyCmFid2VydGVuISBBbGxlIE1hY2h0IGRlbiBTZWhlcm4uLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHp1IHBvbGl6ZWkuYmVzY2h3ZXJkZW4gKEhhdGUsIDI2LiBNYWkgMTk5OSwgMTE6MzE6MjMpOgp+IyEgcm49R2FzdDEgcnQ9OTI3NzA5OTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3NzA5OTgzClZpZWxsZWljaHQgd2VuZGVzdCBEdSBEaWNoIGFuIGRpZSBmYWxzY2hlbiBMZXV0ZSAuLi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp2VEYgMS4wIG91dCAoVGFyYWdvbiwgMjYuIE1haSAxOTk5LCAxMjoyMzo0Mik6CkhhbGxvIQpJY2gga3VlbmRpZ2UgaGllcm1pdCBkaWUgVmVyc2lvbiB2VEYgMS4wIGFuLiBFaW4gZ2VuaWFsZXMgVGVpbCBmdWVyIGFsbGUgZGVuZW4KZGFzIFRGIHNjcmlwdGVuIHp1IGtvbXBsaXppZXJ0IGlzdC4KTWl0IHZURiBlcmhhZWx0IG1hbiBkYXMgcGVyZmVrdGUgVG9vbCB1bSBzZWluZSBUcmlnZ2VyLCBXZWdlc2NyaXB0ZSwKVWVic3lzdGVtZSBldGMuIGVpbmZhY2ggenVzYW1tZW56dWNsaWNrZW4uIFByb2JpZXJ0cyBtYWwgYXVzLgpadSBrcmllZ2VuIGlzdCBkYXMgZ2FuemUgUGFrZXQgYXVmIGh0dHA6Ly93d3cudlRGLmNvbS8KClAuUy4gS3JpZWdlIGljaCBqZXR6dCBhdWNoIGVpbmVuIEdhc3RtYWdpZXIgPyBJY2ggYnJhZXVjaHRlIGRlbiB1bSBtaXIgZGllClN0cnVrdHVyIGRlciBBdXNnYWJlbWVsZHVuZ2VuIGFuenVndWNrZW4gZGFtaXQgaWNoIGRpZXNlIGlucyB2VEYgbWl0IGVpbmJhdWVuCmthbm4uCgpHcnVzcwogICAgICAgICAgICBUYXJhZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB2TFBDIChTb25nb2t1LCAyNi4gTWFpIDE5OTksIDE2OjE5OjQ3KToKfiMhIHJuPVN0b2VydGkgcnQ9OTI3NjU2NTY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3MDU1NzE1CnByb2dnZSBkb2NoIG4gc3BlbGxjaGVja2VyIGZ1ZXIgZGllIG1wYSA6KAoKU2F5b3VuYXJhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdkxQQyAoUmFyZGlhbiwgMjYuIE1haSAxOTk5LCAxNzo0OTowMCk6Cn4jISBybj1TaWx2YW5hIHJ0PTkyNzMxOTkwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpWZXJzdGVoZS4uLgoKZWluIGxhY2hlbmRlciBSYXJkaWFuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZURiAxLjAgb3V0IChNYWhhdG11LCAyNy4gTWFpIDE5OTksIDEzOjQ0OjIyKToKfiMhIHJuPVRhcmFnb24gcnQ9OTI3NzE0MjIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI3NzE0MjIyCkRhenUgemllaHN0IER1IERpciBkaWUgTGliLiBCZWkgZGVuIEdpbGRlbiBmcmFnc3QgRHUgRGVpbmUgS3VtcGVscy4KTGFobWVyIFdpdHogaW0gdWVicmlnZW4uCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJidW5nIC4uLiAoSGF0ZSwgMjguIE1haSAxOTk5LCAxMDo1OTozNSk6CmRhIGljaCBnZXJhZGUgaW0gTG9nZmlsZSB2ZXJzdWNodGUgVmVyYmluZHVuZ2VuIHZvbiBlaW5lciBlaWdlbmFydGlnZW4gQWRyZXNzZQpzZWhlLiBGYWxscyBqZW1hbmQgaGllciBXZXJiZUVtYWlsIChTUEFNKSBiZWtvbW10LCBzb2xsdGUgbWlyIEJlc2NoZWlkIHNhZ2VuLApkYW1pdCBpY2ggZGFnZWdlbiBldHdhcyB1bnRlcm5laG1lbiBrYW5uLiBTb2xsdGUgamVtYW5kIHVuYmVyZWNodGlndGVyd2Vpc2UKdm9tIEVtYWlsZW1wZmFuZyBhdXNnZXNjaGxvc3NlbiBzZWluICh6LkIuIGRpZSBBZHJlc3NlIHRyYW5zaGFpci5kZSB3aXJkIHZvbQpTaWNoZXJoZWl0c3N5c3RlbSBuaWNodCBha3plcHRpZXJ0LCBkYSBzaWUgc2ljaCBuaWNodCB1ZWJlciBkaWVzZW4gTmFtZW4KYXVmbG9lc2VuIGxhZXNzdCkgc29sbHRlIG1pciBhdWNoIGJlc2NoZWlkIHNhZ2VuLCB3ZW5uIGVyIE1haWwgZXJ3YXJ0ZXQgdW5kCmtlaW5lIGJla29tbXQuIApIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdkxQQyAoUmFyZGlhbiwgMjguIE1haSAxOTk5LCAxMTozMzowMik6Cn4jISBybj1TdG9lcnRpIHJ0PTkyNzY1NjU2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyNzA1NTcxNQpBYmVyIFN0YW5kYXJ0ZSBtaXQgdCAoc29nYXIgendlaSEgKmZyZXUqKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2ggLyBSZWJvb3QgKEhhdGUsICAxLiBKdW4gMTk5OSwgMTA6MTc6NDEpOgpIaSwKCmFsc28gZXMgaXN0IG1pciByYWV0c2VsaGFmdCwgd2llc28gZGVyIFJlY2huZXIgY3Jhc2h0LiBEYXMgZWlnZW5hcnRpZ2UKZGFyYW4gaXN0IHZvciBhbGxlbSwgZGFzcyBlciBkcmVpbWFsIGhpbnRlcmVpbmFuZGVyIHJlYm9vdGV0IGhhdCB1bmQKZXJzdCBkYW5uIHdpZWRlciBub3JtYWwgbGllZjoKCnJlYm9vdCAgIHN5c3RlbSBib290ICAyLjIuOSAgICAgICAgICAgIFR1ZSBKdW4gIDEgMDg6NDUgICAgICAgICAgKDAxOjI5KSAgICAKcmVib290ICAgc3lzdGVtIGJvb3QgIDIuMi45ICAgICAgICAgICAgVHVlIEp1biAgMSAwODozOSAgICAgICAgICAoMDE6MzUpICAgIApyZWJvb3QgICBzeXN0ZW0gYm9vdCAgMi4yLjkgICAgICAgICAgICBUdWUgSnVuICAxIDA4OjMyICAgICAgICAgICgwMTo0MSkgICAgCgp3dG1wIGJlZ2lucyBUdWUgSnVuICAxIDA4OjMyOjM2IDE5OTkKCkRpZSBsb2dmaWxlcyBzaW5kIG5pY2h0IHNvbmRlcmxpY2ggYXVmc2NobHVzc3JlaWNoLCBhdXNzZXIsIGRhc3MgZGVyCmxldHp0ZSBFaW50cmFnIG1laXN0ZW5zIGRpZSBBa3RpdmllcnVuZyBkZXMgc3dhcGZpbGVzIGlzdC4gRGFzIGthbm4KYWJlciBuaWNodCBkZXIgRmVobGVyIHNlaW4sIGRhIGljaCBhdWNoIHNjaG9uIGthcHV0dGUgRWludHJhZWdlCmRhbmFjaCBnZXNlaGVuIGhhYmUuIEFsc28gZmVobHQgaW0gbG9nIGVpbmlnZXMsIHdhcyBuaWNodCBtaXQKYXVmIGRpZSBQbGF0dGUgZ2V3YW5kZXJ0IGlzdCAoYnVmZmVyKS4KClZpZWxsZWljaHQgaGF0IGphIGplbWFuZCBlaW5lIEFobnVuZyBvZGVyIEhpbndlaXNlLCB3YXMgbWFuIG5vY2gKYW4gRGVidWdoaWxmZW4gZWluc2NoYWx0ZW4ga2FubiBvZGVyIHdvIGVzIGV2ZW50dWVsbCBQcm9ibGVtZQpnaWJ0LCBkYW1pdCBpY2ggZGVtIE15c3Rlcml1bSBhdWYgZGllIFNwdXIga29tbXQuIEltbWVyaGluCmlzdCBkZXIgUmVjaG5lciBqYSB2b3JoZXIgZ3V0IDE4IFRhZ2UgbGFuZyBzYXViZXIgZ2VsYXVmZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoIC8gUmVib290IChUYXJhZ29uLCAgMS4gSnVuIDE5OTksIDExOjEwOjIxKToKfiMhIHJuPUhhdGUgcnQ9OTI4MjI1MDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4MjI1MDYxCkhtbW0uLi4gZXhwbG9pdGVkID8KV2FzIGZ1ZXIgS2VybmVsLCB3YXMgZnVlciBEaWVuc3RlIGxhdWZlbiBkZW5uIHNvbnN0IG5vY2ggPyBXZXJkZW4gU2FjaGVuIGR1cmNoClRDUEQgZ2VzY2h1ZXR6dCA/CkRyZWltYWwgaGludGVyZWluYW5kZXIga2xpbmd0IElNSE8gZWhlciBuYWNoIGVpbmVtIEFic2NodXNzIGFscyBuYWNoIGVpbmVtClN5c3RlbWZlaGxlciBhbiBzaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaCAvIFJlYm9vdCAoSGF0ZSwgIDEuIEp1biAxOTk5LCAxMToxNzozOSk6Cn4jISBybj1UYXJhZ29uIHJ0PTkyODIyODIyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyODIyNTA2MQpTYWVtdGxpY2hlIGxhdWZlbmRlIGRpZW5zdGUgc2luZCBwZXIgdGNwZCBnZXNjaHVldHp0LgoKTGF1ZmVuIHR1dCBkYSBudXIgZGVyIG5hc2VmdHBkIChhbHMgbXVkKSwgaWRlbnRkLCBjZmluZ2VyZCB1bmQgZWluIGJhY2t1cApzeXN0ZW0uIFVuZCBuYXR1ZXJsaWNoIGRhcyBtdWQuCgpJY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIGVzIGVpbiBleHBsb2l0IGlzdCwgZGEgZGVyIHJlY2huZXIgbmllIGdhbnogZmVydGlnIApob2NoZ2VmYWhyZW4gd2FyLCBhbHMgZXMgZXJuZXV0IGNyYXNodGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWVjaHN0ZXIgUmVib290IChIYXRlLCAgMS4gSnVuIDE5OTksIDExOjIyOjIyKToKSGksCgppY2ggbXVzcyBkZW4gUmVjaG5lciBoZXV0ZSBub2NobWFsIHJ1bnRlcmZhaHJlbiwgZGEgbWVocmVyZSBEaW5nZSB6dQplcmxlZGlnZW4gc2luZCB1bmQgYmVzc2VyIGpldHp0IGFscyBpbiAzIFRhZ2VuLgoKYSkgSWNoIGhhYmUgaW0gS2VybmVsIGVpbmlnZXMgcmF1c2dlbm9tbWVuLCB3YXMgUHJvYmxlbWUgdmVydXJzYWNoZW4gCiAgIGtvZW5udGUuCmIpIERlciBSZWNobmVyIG11c3MgbGVpZGVyIHVtZ2VzdGVsbHQgd2VyZGVuIHVuZCBkYXp1IG11c3MgbWFuIGhhbHQgZGVuCiAgIFN0ZWNrZXIgemllaGVuICh3b2xsZW4gdW5zZXJlIEFkbWlucyBzbykuCmMpIERlciBSZWNobmVyIGtyaWVndCBuZSBTQ1NJIEthcnRlIGRhbWl0IGRhcyBCYWNrdXAgZGlyZWt0IGFtIEdlcmFldAogICBhdWZzIEJhbmQga2Fubi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggLyBSZWJvb3QgKEVtYWlsLCAgMi4gSnVuIDE5OTksIDE1OjI4OjQwKToKfiMhIHJuPUhhdGUgcnQ9OTI4MjI1MDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4MjI1MDYxCkdlZ2VuIEJ1ZmZlciBrYW5uIG1hbiBqYSBuIHBhYXIgc3luY3MgaW4gZGllIFN0YXJ0dXBzY3JpcHRlIGVpbmJhdWVuLgpPa2ksIGRpZSBrb3N0ZW4gWmVpdCwgYWJlciBzbyBvZnQgaGFidCBpaHIgbmljaCB2b3IgZGVuIFJlY2huZXIKbmV1IHp1IGJvb3Rlbiwgb2RlciBldHdhIGRvY2g/IT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2ggLyBSZWJvb3QgKEhhdGUsICA1LiBKdW4gMTk5OSwgMTY6MzQ6NTcpOgp+IyEgcm49RW1haWwgcnQ9OTI4MzMwMTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4MjI1MDYxCkRlciBsZXR6dGUgY3Jhc2ggd2FyIGVpbmUgYm9lc3dpbGxpZ2UgQWt0aW9uIGVpbmVzIE1hZ2llcnMuIEVudHNwcmVjaGVuZGUKTWFzc25haG1lbiB3ZXJkZW4gd2lyIHdvaGwgZXJncmVpZmVuIC4uLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENyYXNoIC8gUmVib290IChUYXJhZ29uLCAgNS4gSnVuIDE5OTksIDIxOjQ1OjM0KToKfiMhIHJuPUhhdGUgcnQ9OTI4NTkzMjk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4MjI1MDYxClBmdWkgd2VyIG1hY2h0IGRlbm4gc293YXMgIQpHZWJ0IGRlbiBOYW1lbiBwcmVpcyBkYW1pdCB3aXIgaWhuIGFtIFBvcnQgVmFpbmVyIFByYW5nZXIgYXVmc3RlbGxlbiB1bmQKbHluY2hlbiBrb2VubmVuISA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3Jhc2ggLyBSZWJvb3QgKE11YWRkaWIsICA2LiBKdW4gMTk5OSwgMTA6Mzc6MzkpOgp+IyEgcm49SGF0ZSBydD05MjgyMjUwNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MjgyMjUwNjEKRGFzIDIuMi45IGlzdCBkaWUgS2VybmVsdmVyc2lvbiwgbmVobSBpY2ggYW4sIG9kZXI/IFZvciBlaW4gcGFhciBUYWdlbiB3YXIKZWluZSBNZWxkdW5nIHVlYmVyIGVpbmVuIEV4cGxvaXQgYXVmIEZyZXNobWVhdCwgbmUgZ2VmaXh0ZSBWZXJzaW9uIGdpYnRzIGF1ZgpkZW0ga2VybmVsLm9yZy1taXJyb3IuCgpsZywKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29udGFrdCBBbnplaWdlIChOZXZvaywgIDYuIEp1biAxOTk5LCAyMDo1NzowOSk6Cn4jISBybj1YYW4gcnQ9OTI4NjkxMjk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4NjkxMjk0CndhciBkYXMgZGllIFNwZW5kZSBkaWUgRHUgdm9yaGluIHdvbGx0ZXN0PwoKZWluIGtvcGZzY2h1ZXR0ZWxuZGVyIApOZXZvawoKd3Vzc3Rlc3QgRHUgbmljaCwgZGFzcyBGcmF1ZW4gUXVlc3RiZWxvaG51bmcgc2luZD8gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtvbnRha3QgQW56ZWlnZSAoVGVkZHksICA2LiBKdW4gMTk5OSwgMjA6NTc6MzkpOgp+IyEgcm49TmV2b2sgcnQ9OTI4Njk1NDI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI4NjkxMjk0ClF1ZXN0QkVMT0hOVU5HPyBTdHJhZmUgd29obCBlaGVyLgoKVGVkZHktPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaCAvIFJlYm9vdCAoSGF0ZSwgIDYuIEp1biAxOTk5LCAyMTo1NjozNyk6Cn4jISBybj1NdWFkZGliIHJ0PTkyODY1ODI1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyODIyNTA2MQpQYXRjaCBpc3QgaW0gS2VybmVsIC4uLgpIYXRlLgotCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJ3ZWlzIGF1ZiB1bnNlcmVuIEFydGlrZWwgaW4gUnVicmlrIEFuemVpZ2VuIChDaXNvdSwgMTIuIEp1biAxOTk5LCAxMTowMzoxMik6CkRhIHdpciB1bnMgbW9lZ2xpY2hzdCB6YWhscmVpY2hlIEFubWVsZHVuZ2VuIGVyaG9mZmVuLCBtb2VjaHRlbiB3aXIgaGllciBhdWYKZGVuIEFydGlrZWwgIkdlbWVpbnNhbWUgVW50ZXJuZWhtdW5nZW4iIGluIGRlciBSdWJyaWsgQW56ZWlnZW4gaGlud2Vpc2VuLgpBdWYgZWluZSBWZXJsZWd1bmcgZGVzIEFydGlrZWxzIG5hY2ggc3VjaGUvYmlldGUgbGVnZW4gd2lyIHVlYnJpZ2VucyBrZWluZW4KV2VydCA7KQpDaXNvdSB1bmQgTGVpYSAtIDEwMCUgc2VyaW9lcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga2luZGVyPyAoTW9yZ290aCwgMTUuIEp1biAxOTk5LCAwNzozMzoyNCk6Cn4jISBybj1TaWx2YW5hIHJ0PTkyOTM4MjA5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTM2MzkyMApIRVksIGljaCBiaW4gTklDSFQgdm9uIElrZWEgKmdydW1tZWwqCgpTdmVuIChNKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1laW4gYXJ0aWtlbCB2b24gZ2VzdGVybiAoSWtlYSwgMTUuIEp1biAxOTk5LCAxMTo0ODozNyk6CmhhbGxvIG5vY2htYWwsIGljaCBoYWIgZGFzIGdlc3Rlcm4gbGVpZGVyIG5pY2h0IG1laHIgbWl0YmVrb21tZW4sIHdhcyBpc3QgZGVubgpkYSBtaXQgbWVpbmVtIGFydGlrZWwgcGFzc2llcnQ/IHdpZXNvIGlzdCBkZXIgZ2Vsb2VzY2h0IHdvcmRlbj8gCmhhbGxvIG5vY2htYWwsIGljaCBoYWIgZGFzIGdlc3Rlcm4gbGVpZGVyIG5pY2h0IG1laHIgbWl0YmVrb21tZW4sIHdhcyBpc3QgZGVubgpkYSBtaXQgbWVpbmVtIGFydGlrZWwgcGFzc2llcnQ/IHdpZXNvIGlzdCBkZXIgZ2Vsb2VzY2h0IHdvcmRlbj8gCmdydXNzLCBpa2VhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWVpbiBhcnRpa2VsIHZvbiBnZXN0ZXJuIChQcmEsIDE1LiBKdW4gMTk5OSwgMTE6NTY6MTQpOgp+IyEgcm49SWtlYSBydD05Mjk0NDAxMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Mjk0NDAxMTcKQWxzbyBub2NobWFsOgpBbHNvIG5vY2htYWw6CkRlciBpc3QgbmljaHQgZ2Vsb2VzY2h0IHdvcmRlbiwgc29uZGVybiBpbiBkaWUgUnVicmlrICdFbnR3aWNrbHVuZycgdmVybGVndAp3b3JkZW4KRGVyIGlzdCBuaWNodCBnZWxvZXNjaHQgd29yZGVuLCBzb25kZXJuIGluIGRpZSBSdWJyaWsgJ0VudHdpY2tsdW5nJyB2ZXJsZWd0CndvcmRlbgoKUHJhLiA6LSkKUHJhLiA6LSkKClAuUy4gUGFkcmVpYzogaWNoIHdlcmQgZGFzIHRyaW5rZW4gc29iYWxkIHdpZSBtb2VnbGljaCBhdWZnZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZlcmxlZ3VuZyAoQmllcmNoZW4sIDE2LiBKdW4gMTk5OSwgMDU6Mjk6NTYpOgpoaWhvLAppY2ggbW9lY2h0ZSBtaWNoIG1hbCBlYmVuIGJlaSBhbGxlbiBlbnRzY2h1bGRpZ2VuLCBkZXJlbiBhcnRpa2VsIGljaCB2ZXJsZWd0CmhhYmUuIHByaW1hZXIgd2FyZW4gZGllcyB3ZWxjaGUgYXVzIGQudW50ZXJ3ZWx0LiBkaWVzZSBydWJyaWsgd2FyIHZvbGwsIGF1cwp3ZWxjaGVuIGdydWVuZGVuIGF1Y2ggaW1tZXIgZWluZSBydWJyaWsgJ3ZvbGwnIHNlaW4ga2FubiwgdW5kIG5ldWUgYXJ0aWtlbAprb25udGVuIG5pY2h0IG1laHIgZWluZ2VicmFjaHQgd2VyZGVuLiBhbHNvIHNpbmQgZWluaWdlIGFydGlrZWwgaW4gbXVlbGwsCnNjaG1hcnJuLCBvZGVyIGdpbGRlbi5rYXJhdGUgZ2VsYW5kZXQuIGRpZXNlIHNvcnRpZXJ1bmcgd2FyIHJlY2h0CndpbGxrdWVybGljaCwgaWNoIHdlaXNzLCBhYmVyIGljaCBob2ZmZSwgZGFzcyBlaW5lIGRlcmF0aWdlICdhcnRpa2VsZ3JlbnplJwp6dWt1ZW5mdGlnIGF1ZmdlaG9iZW4gd2lyZC4gZ2xhdWJzIGFiZXIgbmljaHQgOikKZ3J1c3MsCiAgLSBCaWVyY2hlbiAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVybGVndW5nIChDYXR3ZWF6bGUsIDE2LiBKdW4gMTk5OSwgMTA6MzI6NDEpOgp+IyEgcm49QmllcmNoZW4gcnQ9OTI5NTAzNzk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5NTAzNzk2CkFydGlrZWxncmVuemUgZXJob2VoZW4gd3VlcmQgaWNoIGphIGdlcm4gdHVuLCBhYmVyIGVpbiBTaWNoZXJoZWl0cy0KZmFuYXRpa2VyIGhhdCBkaXZlcnNlIEZ1bmt0aW9uZW4gZWluZ2VmdWVndCwgc28gZGFzcyBpY2ggZXMgbmljaHQgCm1laHIga2FubiAuLi4uCgpZb3VycyB0cnVseSwKICAgIENhdHdlYXpsZSAoRXgtKU1QQS1NaXR2ZXJ3YWx0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdmVybGVndW5nIChUZWRkeSwgMTYuIEp1biAxOTk5LCAxODo1NTo0OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTI5NTIxOTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5NTAzNzk2CkhtLCBrb2VubnRlIGRpZXNlciBTaWNoZXJoZWl0c2ZhbmF0aWtlciBldnRsLiBtaXQgQyogYmVnaW5uZW4/CgpUZWRkeQpQLlMuIGRlciBSZXN0IHZvbSBOYW1lbiB3ciBhdWNoIG5jaWh0IGJlc3NlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdmVybGVndW5nIChNYWhhdG11LCAxNy4gSnVuIDE5OTksIDE1OjA2OjE4KToKfiMhIHJuPVRlZGR5IHJ0PTkyOTU1MjE0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTUwMzc5NgpJY2ggdGlwcGUgZWhlciBhdWYgUCogOy0pCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgd2FycyAoU3RpbmcsIDIwLiBKdW4gMTk5OSwgMjM6MDA6MjkpOgpTb28sIGRhcyB3YXJzIG51bi4gSWNoIGhhYmUgbWVpbiBaaWVsIGVycmVpY2h0IHVuZCBiaW4gTGV2ZWwgMTAwIGdld29yZGVuLiBXaWUKaWNoIGRhbWFscyBzY2hvbiBpbW1lciBnZXNhZ3QgaGFiZSwgYWJlciBtaXIgbmllIGVpbmVyIGdlZ2xhdWJ0IGhhdCwgd3VyZGUgaWNoCm51biBNYWdpZXIuIERhbmtlIGFuIGFsbGUgZGllIG1pciBpbW1lciBnZWhvbGZlbiBoYWJlbiwgYXVjaCBiZWltIGVycmVpY2hlbgptZWluZXMgWmllbGVzLiBNZWluZSBad2VpdGllcyB3ZXJkZW4gYWxsZSBnZWxvZXNjaHQsIGJldm9yIG1pY2ggbm9jaCBqZW1hbmQKZnJhZ3QgOikgVW5kIGFjaGphOiBpY2ggd2VyZGUgbWljaCBuYXR1ZXJsaWNoIGluIGRlciBLdW5zdCBkZXMgSWRlbG5zIHVlYmVuLAphbHNvIGVyd2FydGV0IGluIFp1a3VuZnQgbmljaHQgaW1tZXIgZWluZSBBbnR3b3J0IDopIENpYW8sIHVuZCBkYW5rZSBmdWVyCmFsbGVzLCBpaHIgU2VoZXIgdW5kIFNwaWVsZXIsIGljaCB3YXIgbGFuZ2UgZ2VudWcgZGFiZWkhIDopCgpTdGluZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgd2FycyAoU2hhcmlhLCAyMC4gSnVuIDE5OTksIDIzOjAzOjA2KToKfiMhIHJuPVN0aW5nIHJ0PTkyOTkxMjQyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTkxMjQyOQpCcnVlZGVyY2hlbiwKCldlbm4gZHUgamV0enQgYXVjaCBzbyBlaW4gTWFnaWVyIHdpcnN0IGRlciBOSUUgc3BpZWx0IGZhZW5kZSBpY2ggZGFzIGVjaHQKc2NoYWRlLi4gZGFubiBtYWNoIGRpciwgd2VubiBkdSBkZWluZSB6d2VpdGllcyBsb2VzY2hzdCAuLiB3ZW5pZ3N0ZW5zIG5lbgpuZXVlbiBTcGllbGVyIDopCgpTaGFyaWEsIGhhdCBpaHJlIFNlZWxlIHZvbiBTQVRBTiByZWluaWdlbiBsYXNzZW4gdW5kIHdlaW50IGltbWVybm9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXMgd2FycyAoSG91c2Vob2xkZXIsIDIwLiBKdW4gMTk5OSwgMjM6MjA6NDMpOgp+IyEgcm49U2hhcmlhIHJ0PTkyOTkxMjU4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTkxMjQyOQphZWggc3RpbmcgZHUgaGFzdCBkYSBnbGF1YiBpY2ggd2FzIGZhbHNjaCB2ZXJzdGFuZGVuIAptYW4gbXVzcyBudWEgc2VoYSBzZWluIHVtIG1hZ2llciB3ZXJkZW4genUga29lbm5lbiAxMDBMZXZlbCBzaW5kIGVpbmRldXRpZyBlaW4KT3ZlcmtpbGwgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWt0aXZlIFNwaWVsZXIgKEhhdGUsIDIxLiBKdW4gMTk5OSwgMTI6MTA6NDApOgp+IyEgb249SGF0ZSBvdD05Mjk5MDc2Njggb2c9bWFnaWVyLm1hZ2llcgp+IyEgcm49TW9ub3RvbmkgcnQ9OTI5OTA1OTc0IHJnPW1hZ2llci5tYWdpZXIKfiMhIHRpZD05Mjk5MDU5NzQKSGksCgp3aXIgaGFiZW4gaW0gTW9tZW50IDc4NTEgcmVnaXN0cmllcnRlIENoYXJha3Rlcm5hbWVuLgoKSW4gZGVuIGxldHp0ZW4gOCBUYWdlbiB3YXJuIGRhdm9uIDExODEgQ2hhcmFrdGVyIGFrdGl2LgpJbiBkZW4gbGV0enRlbiAxNCBUYWdlbiB3YXJuIGRhdm9uIDE1MjAgQ2hhcmFrdGVyIGFrdGl2LgpJbSBsZXR6ZW4gTW9uYXQgd2FybiBkYXZvbiAxOTU3IENoYXJha3RlciBha3Rpdi4KRGFuYWNoIHdpcmQgd2lyciwgd2VpbCBkaWUgRGF0ZWllbiBhbmdlZmFzc3Qgd2VyZGVuLCB3ZW5uIG5hY2ggZWluZW0gCk1vbmF0IGF1c3NvcnRpZXJ0IHdpcmQuIEFiZXIgc28gaW4gZXR3YSA1NTMwIENoYXJha3RlcmUgd2FyZW4gaW0KbGV0enRlbiBoYWxiZW4gSmFociBha3Rpdi4KClZpZWwgU3Bhc3MgZGFtaXQsCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBha3RpdmUgU3BpZWxlciAoVHdpbnNlbiwgMjEuIEp1biAxOTk5LCAxNDo1Nzo0MSk6Cn4jISBybj1IYXRlIHJ0PTkyOTk1OTg0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTkwNTk3NApLYW5uIG1hbiBuaWNodCBtYWwgYWxsZSBTcGllbGVyIGxvZXNjaGVuIGRpZSBlaW5lIGJlc3RpbW10ZSBaZWl0IG5pY2h0IG9ubGluZQp3YXJlbiBkYW1pdCBkaWUgTmFtZW4gd2llZGVyIGZyZWkgd2VyZGVuID8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBha3RpdmUgU3BpZWxlciAoSGF0ZSwgMjEuIEp1biAxOTk5LCAxNToxNDo0NCk6Cn4jISBybj1Ud2luc2VuIHJ0PTkyOTk2OTg2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTkwNTk3NApFcyBnaWJ0IGVpbiBleHBpcmUgU2NyaXB0LCB3ZWxjaGVzIGRpZSBOYW1lbiByZWdlbG1hZXNzaWcgYXVzc29ydGllcnQuCkFsbGVyZGluZ3MgaGFiZW4gd2lyIGVpbmUgcmVsYXRpdiBsYW5nZSBaZWl0IGJpcyBkYXMgcGFzc2llcnQsIGRhIGltbWVyCndpZWRlciBMZXV0ZSB6dXJ1ZWNra29tbWVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFrdGl2ZSBTcGllbGVyIChBY3JpbW9uLCAyMS4gSnVuIDE5OTksIDE3OjA1OjQ3KToKfiMhIHJuPVR3aW5zZW4gcnQ9OTI5OTY5ODYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTA1OTc0Ck5laW4sIHdlaWwgZXMgbmljaHQgd2VuaWdlIGdpYnQsIGRpZSBmdWVyIHZpZWxlIEphaHJlIGlocmVuIEludGVybmV0LUFjY291bnQKdmVybGllcmVuIHVuZCBuYWNoIGRpZXNlbiBKYWhyZW4gZ2VybmUgaWhyZW4gTUctQ2hhcmFrdGVyIHdlaXRlcnNwaWVsZW4Kd3VlcmRlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYWt0aXZlIFNwaWVsZXIgKFR3aW5zZW4sIDIxLiBKdW4gMTk5OSwgMTc6Mjc6MjQpOgp+IyEgcm49QWNyaW1vbiBydD05Mjk5Nzc1NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Mjk5MDU5NzQKSmEgbWFuIHNvbGx0ZSBqYSBhdWNoIG51ciBkaWUgU3BpZWxlciBtaXQgbHZsIDEtMTAgbG9lc2NoZW4gb2RlciBzby4KCkxlaWRlciBlaW56ZWlsZXIgVHdpbnNlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgd2FycyAoU3RyZWF3a2NldXIsIDIxLiBKdW4gMTk5OSwgMTk6MjM6MjkpOgp+IyEgcm49U3RpbmcgcnQ9OTI5OTEyNDI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTEyNDI5CkhtbS4uLi4gd2VubiBUaGVyaW4gTGV2ZWwgMTAwIGVycmVpY2h0LCB3ZXJkZW4gZGFubiBhdWNoIGFsbGUgMnRpZXMgZ2Vsb2VzY2h0Pwo6LSkKCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqd2FlbHoqIChTdGluZywgMjEuIEp1biAxOTk5LCAxOToyOTo1Nik6CkhlaGVoZWhlLgoKTWFuIGhhYiBpY2ggaW4gZGVuIGxldHp0ZW4gMiBUYWdlbiBnZWxhY2h0LiAqd2FlbHoqClNvIGdlbGFjaHQgaGFiIGljaCBoaWVyIHNlaHIgc2VsdGVuIDopIEVzIGlzdCBlaW5mYWNoIHVuZ2xhdWJsaWNoCndpZSBtYW5jaGUgTGV1dGUgcmVhZ2llcnQgaGFiZW4gYWxzIGljaCBlcnN0IEx2IDEwMCB3dXJkZSB1bmQgZGFubgphdWNoIG5vY2ggTWFnaWVyIDopIEljaCBiZWthbSBkaWUgbHVzdGlnc3RlbiBUZWlsZS1NaXRzIGFuIGRlbiBLb3BmCmdld29yZmVuLCB2b24gYm9zaGFmdCB1ZWJlciBncmF0dWxpZXJlbmQgYmlzIHp1IHVlYmVyc2Nod2VuZ2xpY2hlbQpKdWJlbCA6KSBXYXMgd3VlcmRldCBpaHIgSnVuZ3MgdW5kIE1hZWRlbHMgbnVuIHNhZ2VuIHdlbm4gaWNoIGV1Y2ggc2FnZToKSEVZLCBkYXMgd2FyIGRvY2ggbnVyIGVpbiBHQUcsIGFiZXIgaWhyIHNlaWQgQUxMRSBkcmF1ZiBoZXJlaW5nZWZhbGxlbiA6KQooTmF0dWVybGljaCBtaXQgQXVzbmFobWUgZGVyZXIgZGllIG1pciBkYWJlaSBnZWhvbGZlbiBoYWJlbiAqZ3JpbnMpCkx5bmNodCBJaHIgbWljaCBkYW5uID8gOikgTnVuamEsIGFiZXIgZXMgaXN0IHRhdHNhZWNobGljaCBzbyAqa2ljaGVyKgoKR2xhdWJ0IGlociBlY2h0IGljaCBob2VyIG1pdCBMdiAxMDAgYXVmID8gOikpIE5lZWUsIGljaCB3aWxsIGRvY2ggc2NobGllc3NsaWNoCkxldmVsIDExMiB3ZXJkZW4sIHVuZCBkYW1pdCBlaW5lbiBMZXZlbCBtZWhyIGhhYmVuIGFscwpkaWUgTVVELUdvZXR0ZXIgKmdyaW5zIGRhZW1vbmlzY2gqCgpBbHNvIGRhbm4sIGRpZSBTcGllbGVyd2VsdCBoYXQgbWljaCBqZWRlbmZhbGxzIHdpZWRlci4gQW4gYWxsZSBDaGFvdGVuOgpFdXJlIEhvZmZudW5ncy1UZWlsZS1NaXRzIHdhcmVuIGxlaWRlciB2ZXJnZWJsaWNoLCBpY2ggbWFjaGUgYXVjaCBpbiBadWt1bmZ0CmJlaQpkZW4gRXJ6bWVpc3RlcmthZW1wZmVuIG1pdCAqa2ljaGVyIGJvc2hhZnQqClVuZCBhbSBiZXN0ZW4gaGFiZW4gbWlyIG1laW5lIGJlc3RlbiBGcmV1bmRlIGdlZmFsbGVuLCBkaWUgYXVjaCBuaXggZGF2b24Kd3Vzc3RlbiwgZGllIFJlYWt0aW9uZW4gd2FyZW4gc2VociBlaW5kcnVja3N2b2xsIGZ1ZXIgbWljaCAqZ3JpbnMgU2hhcmlhCmJyZWVlZWVlaWlpaWlpaXQgYW4qIDopCgpHcm9zc2VyIERBTksgYW4gUGFkcmVpYywgZGVyIGVpbmUgc2VociBzY2hvZW5lIFNlcXVlbnogZnVlciBtZWluZW4gMTAwc3RlbiBpbgpkaWUgTXVkbGliIGZ1ZXIgbWljaCBlaW5nZWJhdXQgaGF0LCBiZWkgZGVyIGljaCBhbGxlcmRpbmdzIHp1ZXJzdG1hbAplcnNjaHJvY2tlbgpiaW4gOikKR3Jvc3NlciBEQU5LIG5hdHVlcmxpY2ggYXVjaCBhbiBGZXVlcndlaHIsIGRlciBtaXIgYmVpbSBNYWdpZXJ3ZXJkZW4gZGVuIFZhdGVyCmdlc3BpZWx0IGhhdCwgdW5kIFN3aWZ0LCB2b24gZGVtIGRpZSB1cnNwcnVlbmdsaWNoZSBJZGVlIGthbSA6KQoKSWNoIGRlbmtlIG1hbCBkYXMgd2FyIGVpbmVyIGRlciBiZXN0ZW4gR0FHcyBkaWUgaGllciBqZSB2b2xsZnVlaHJ0IHd1cmRlbiwKbmFqYSwgZXMgZ2FiIGVpbmlnZSBkaWUgbmFoIGRyYW4gd2FyZW4gKGRpZSAxMCBob2VjaHN0ZW4gQ2hhb3RlbiB3ZXJkZW4KZ2Vsb2VzY2h0Li4uICpncmlucyBOZXNhamEqKSBhYmVyIGRlciBoaWVyIHdhciBzY2hvbiBmYXN0IHVsdGltYXRpdiA6KQpJY2ggaGFiZSBkaWUgTHYtMTAwLVdlcmR1bmcgdW5kIGRpZSBhbnNjaGxpZXNzZW5kZSBNYWdpZXItVmVyZWlkaWd1bmcKbmF0dWVybGljaAprb21wbGV0dCBtaXRnZWxvZ2d0LiBEYSBkaWVzZXMgTG9nZmlsZSBhYmVyIHNlbGJzdCBuYWNoIG1laW5lciBVZWJlcmFyYmVpdHVuZwpub2NoIGV4dHJlbSBsYW5nIGlzdCwgaGFiIGljaCBiZXNjaGxvc3NlbiBlcyBkb2NoIG5pY2h0IGluIGRpZSBNUEEgenUgc3RlbGxlbiwKd2llIGljaCBlcyB1cnNwcnVlbmdsaWNoIHdvbGx0ZS4gRGVyamVuaWdlIGRlciBlaW5zIGhhYmVuIG1vZWNodGUgc29sbCBtaXIgZGFzCnNhZ2VuLCBkYW5uIG1haWwgaWNoIGVzIGlobSA6KQoKU3RpbmcsIGRpZSBsZXVjaHRlbmRlIERvcHBlbG51bGwgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqd2FlbHoqIChTaGFyaWEsIDIxLiBKdW4gMTk5OSwgMTk6MzI6MTYpOgp+IyEgcm49U3RpbmcgcnQ9OTI5OTg2MTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTg2MTk2CmZhc3QgOikKCkJydWVkZXJjaGVuLCB3aWUgZ2VzYWd0LCBoYWV0dGVzdCBkdSBlcyBtaXIgdm9yIG1laW5lbSBUb2QgZ2VzYWd0OiBpY2ggaGFldHRlCm1pY2ggZGVubm9jaCB1bWdlYnJhY2h0IDopCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqd2FlbHoqIChBbmFraW4sIDIxLiBKdW4gMTk5OSwgMjE6MDk6MDYpOgp+IyEgcm49U3RpbmcgcnQ9OTI5OTg2MTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTg2MTk2Cgo+PiBJY2ggZGVua2UgbWFsIGRhcyB3YXIgZWluZXIgZGVyIGJlc3RlbiBHQUdzIGRpZSBoaWVyIGplIHZvbGxmdWVocnQgd3VyZGVuLAoKV293LCB3aWUgd2FyIGRhcyBtaXQgZGVtIEVpZ2VubG9iPwoKTmFqYSBTZWhlciBzaW5kIGF1Y2ggbmljaHQgbWVociBkYXNzIHdhcyBzaWUgbWFsIHdhcmVuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAqd2FlbHoqIChTdGluZywgMjEuIEp1biAxOTk5LCAyMToxMDo0MCk6Cn4jISBybj1BbmFraW4gcnQ9OTI5OTkyMTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTg2MTk2Ck1laW4gR290dCwgaWNoIGhhZXR0ZSB3aXNzZW4gc29sbGVuIGRhcyBtYW5jaGUgTGV1dGUgd2llZGVyIGFsbGVzIF9zdXBlcmVybnN0XwpuZWhtZW4uCgpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogKndhZWx6KiAoTWFoYXRtdSwgMjEuIEp1biAxOTk5LCAyMTozODowMSk6Cn4jISBybj1TdGluZyBydD05Mjk5OTIyNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Mjk5ODYxOTYKT2gsIGljaCBtdXNzIERlaW5lbiBlcnN0ZW4gQXJ0aWtlbCB1ZWJlcmxlc2VuIGhhYmVuLiBEdSB3YXJzdCBNYWdpZXI/CgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAqd2FlbHoqIChUYXJhZ29uLCAyMS4gSnVuIDE5OTksIDIyOjA4OjAyKToKfiMhIHJuPVN0aW5nIHJ0PTkyOTk5MjI0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTk4NjE5NgpBbHNvIGljaCBmYW5kIGRlbiBHYWcga2lub3JlaWYgOi0pKQoKVGFyYWdvbiAtIGltbWVybm9jaCBicmVpdCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICp3YWVseiogKEJhbWJ1bGtvLCAyMi4gSnVuIDE5OTksIDA5OjI3OjI0KToKfiMhIHJuPVN0aW5nIHJ0PTkyOTk4NjE5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTk4NjE5NgpBY2ggaXN0IGRhcyBzY2hvZW4gYmVzY2hlaWRlbiwgd2VubiBqZW1hbmQgc2VpbmVuIGVpZ2VuZW4gR2FnIGFscyBkZW4gYmVzdGVuCmFsbGVyIFplaXRlbiBhbnByZWlzc3QuLi4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbGFwcGVyZ2VpZW4gKFdpbSwgMjMuIEp1biAxOTk5LCAwMTozODozOCk6CkJlc2l0emVyIGRpZXNlciBuZXJ2aWdlbiBUaWVyZSBrb2VubmVuIGRpZSBUaWVyaGlsZmUgbmFjaCBlaW5lbQplbmRlL3JlbmV3L3JlYm9vdC9jcmFzaCBhdWNoIHdpZWRlciBsZXNlbi4KLi4uaG9mZmUgaWNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqd2FlbHoqIChTb25nb2t1LCAyMy4gSnVuIDE5OTksIDA4OjM2OjI5KToKfiMhIHJuPVN0aW5nIHJ0PTkyOTk4NjE5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkyOTk4NjE5Ngp3YXJ1bSB6dW1laGxlbj8/ClNvd2FzIGdlaG9lcnQgYXVmIGRpZSBIb21lcGFnZS4KClNheW91bmFyYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkpBMiAoTGVuYSwgMjQuIEp1biAxOTk5LCAxNzo0OTo1Nik6CkhpLgpGdWVyIGFsbGUgSkEyLSBTcGllbGVyLgpXZWdlbiBCdWdzOiBiZWkgbWlyIHNjaG1pZXJ0IGRhcyBTcGllbCBhYiB1bmQgenUgYWIsIHdlbm4gaWNoIG1pdCBkZW0gTWVyYwoiV29sZiIgbWl0IG5lciBNMTQgYmFsbGVyLCBiZWkKamVtYW5kIGFuZGVyZW0gcGFzc2llcnQgZGFzIG1pdCBuZXIgTEFXLgpJY2ggaGFiIFYxLjAwIChkZXV0c2NoKS4gV2VubiB3ZXIgd2FzIGdlbmF1ZXJlcyB3ZWlzcywgbWFpbGVuIG9kZXIgYW50d29ydGVuLgo6KQphY2ggamE6IHVybDogaHR0cDovL3d3dy5qYTIuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcyBrYW5uIGRvY2ggd29obCBuaWNodCB3YWhyIHNlaW4uLi4uLi4uLi4gKFB1aywgMjguIEp1biAxOTk5LCAwMjo1NzoxNyk6CkFsc28gZWNodCwgd2FzIGlzdCBkZW4gaGllciBsb3MgPyB3YXMgd2Vpc3MgaWNoIGRlbiB3YW5uIGljaCBkZW4gbGV0enRlbgpBcnRpa2VsIGdlbGVzZW4gaGFiZSwgYWJlciBkYXMgaXN0IGJlc3RpbW10IHNjaG9uIG5lIHBhYXIgc3R1bmRlbiBoZXIsIHdhcwpzb2xsIG1hbiBkZW4gbWFjaGVuIHdlbm4gbWFuIGdlcmFkZSBtYWwgaG9jaGlkbGVuIG11c3MgPyAKQWxzbyBmYXNzdCBldWNoIGVpbiBIZXJ6IHVuZCBzY2hyZWlidCBtYWwgd2llZGVyIHdhcyA7KQoKClB1ayAoIHZlcmxlZ3RzIG5hY2ggc2NobWFycm4gd2VyIHdpbGwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptdWQgZnRwIChSdW1hdGEsIDI5LiBKdW4gMTk5OSwgMjE6MDk6MDQpOgpIYWxsbywKbGVpZGVyIGhhYmVuIGRpZSBtb21lbnRhbmVuIGZ0cGQgZGVuIFd1cm0gZHJpbm5lLiBJY2ggaGFiZSBqZXR6dCBlaW5lbgpQUk9WSVNPUklTQ0hFTiBFcnNhdHpmdHBkIGF1ZiBQb3J0IDQ0NzEzIGluc3RhbGxpZXJ0LCBkZXIgbWVpc3RlbnMgbGF1ZnQKKGViZW4gd2VnZW4gZGVyIGJ1Z3MpLiBXZW5uIG1hbCB3YXMgbmljaHQga2xhcHB0IGVpbmZhY2ggYXVzbG9nZ2VuIHVuZApub2NobWFpbCBlaW5sb2dnZW4gc29sbHRlIGhlbGZlbi4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG11ZCBmdHAgKFBob2JvcywgMjkuIEp1biAxOTk5LCAyMjozOToxMSk6Cn4jISBybj1SdW1hdGEgcnQ9OTMwNjgzMzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMwNjgzMzQ0Ckthbm5zdCBEdSBlaW5lbiBQb3J0IHVudGVyIDMyNzY3IG5laG1lbj8gVmVyc2NoaWVkZW5lIEZUUHMga29tbWVuIHNvbnN0IG5pY2h0CmRhbWl0IGtsYXIuCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZCYW5kLCBmaGlzdCwgZnN0YXQgJiBDbyAoVGlhbWFrLCAzMC4gSnVuIDE5OTksIDEzOjEwOjExKToKSGlobyEKCkRhIGRpZSBGcmFnZSBhbnNjaGVpbmVuZCBkb2NoIG9lZnRlciBhdWZ0YXVjaHQsIHNjaHJlaWJlIGljaCBlcyBsaWViZXIgZ2xlaWNoCmluIGRpZSBNUEE6CgpNaXQgZGVyIFVtc3RlbGx1bmcgZGVzIEZyZXVuZHNjaGFmdHNiYW5kZXMgbXVlc3NlbiBkaWUgTG9naW4tRGF0ZW4gdWViZXIgZGllCkZyZXVuZGUgZXJzdCBuZXUgZ2VzYW1tZWx0IHdlcmRlbi4gVWViZXIgU3BpZWxlciwgZGllIHNlaXQgRGllbnN0YWcgbmFjaG1pdHRhZwpub2NoIG5pY2h0IHdpZWRlciBpbSBNRyB3YXJlbiwgc2luZCBkZW1lbnRzcHJlY2hlbmQgbm9jaCBrZWluZSBEYXRlbiB2b3JoYW5kZW4KLSBkZXNoYWxiIHdlcmRlbiBzaWUgYXVjaCBhbHMgImxhbmdlIG5pY2h0IG1laHIgZWluZ2Vsb2dndCIgYXVzZ2VnZWJlbi4KCkRhcyBQcm9ibGVtIHNvbGx0ZSBhbHNvIGlubmVyaGFsYiBkZXIgbmFlY2hzdGVuIFRhZ2Ugdm9uIHNlbGJzdCB2ZXJzY2h3aW5kZW4sCnNvYmFsZCBkaWUgInVuYmVrYW5udGVuIiBGcmV1bmRlIGhpZXIgd2llZGVyIHZvcmJlaXNjaGF1ZW4uIAoKVW5kIHp1bSBGZWluZHNjaGFmdHNiYW5kIGthbm4gaWNoIG51ciBzYWdlbiwgZGFzcyBpY2ggZGFtaXQgbmljaHRzIHp1IHR1bgpoYWJlLiA6LSkgRGFzIFRlaWwgd3VyZGUgc2VpdCBFd2lna2VpdGVuIG5pY2h0IG1laHIgdmVyYWVuZGVydC4gV2FzIGRhZHJhbgpidWdndCwgYnVnZ3Qgc2Nob24gbGFuZ2UuIERpZSBvZWZ0ZXIgYW5nZXNwcm9jaGVuZSBIaWxmZXNlaXRlIHouQi4gZXhpc3RpZXJ0Cm5pY2h0IGVpbm1hbC4KClZpZWxlbiBEYW5rIGZ1ZXIgSWhyZSBBdWZtZXJrc2Fta2VpdCwKVGlhbWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULVNoaXJ0IChUd2luc2VuLCAzMC4gSnVuIDE5OTksIDEzOjM3OjMxKToKSWNoIHdvbGx0ZSBudXIgbWFsIEZyYWdlbiB3byBtYW4gc2VpbmUgSWRlZW4gZnVlciBkYXMgbmFlY2hzdGUgTUcgdC1zaGlydApoaW5tYWlsZW4gc29sbC4KClR3bmdvICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjMxIChUaWFtYWssIDMwLiBKdW4gMTk5OSwgMTQ6MTI6MTEpOgp+IyEgcm49VGlhbWFrIHJ0PTkzMDc0MTAxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDc0MTAxMQpPa2F5b2theW9rYXksIGljaCBoYWIgZGllIGFsdGVuIExvZ2luLURhdGVuIHVlYmVydHJhZ2VuLgoKQW5zY2hlaW5lbmQgbGllZ3QgZWluaWdlbiBldHdhcyBtZWhyIGRhZHJhbi4gOy0pCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVybmV0c3VjaHQhISAoSHllbmEsICAxLiBKdWwgMTk5OSwgMTk6MTU6MTEpOgpXYXMgaXN0IGRyYW4gYW4gZGVyIFN1Y2h0IGltIE5ldHo/IEdpYnQgZXMgdGF0c2FlY2hsaWNoICJJbnRlcm5ldC1KdW5raWVzIj8KV2VubiBqYTogV2VyIHNpbmQgc2llIHVuZCB3ZWxjaGVzIHNpbmQgZGllIFJpc2lrb2Zha3RvcmVuIGVpbmVyIEFiaGFlbmdpZ2tlaXQKdm9tIEludGVybmV0PyBEaWVzZSB1bmQgd2VpdGVyZSBGcmFnZW4gbW9lY2h0ZW4gZGllIEJlcmxpbmVyIFdpc3NlbnNjaGFmdGxlcgp1bSBQcm9mLiBEci4gTWF0dGhpYXMgSmVydXNhbGVtIGFtIExlaHJzdHVobCBmdWVyIFBhZWRhZ29naXNjaGUgUHN5Y2hvbG9naWUKdW5kIEdlc3VuZGhlaXRzcHN5Y2hvbG9naWUgZGVyIEh1bWJvbGR0LVVuaXZlcnNpdGFldCB6dSBCZXJsaW4ga2xhZXJlbi4gSGllcnp1CndlcmRlbiBtb2VnbGljaHN0IHZpZWxlIGF1c2t1bmZ0c2ZyZXVkaWdlIEludGVybmV0bnV0emVyIGdlc3VjaHQsIGRpZSBzaWNoIGFuCmRlciBPbmxpbmUtU3R1ZGllIHVudGVyIGRlciBBZHJlc3NlIGh0dHA6Ly93d3cuaW50ZXJuZXRzdWNodC5kZSBiZXRlaWxpZ2VuCm1vZWNodGVuLgoKLi4uaWNoIGJpbiBtaXIgc2ljaGVyLCBkYXNzIGRlciBBcnRpa2VsIGhpZXIgaW0gTVVEIHJpY2h0aWcgcGxhemllcnQgaXN0OykKCkh5ZW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW50ZXJuZXRzdWNodCEhIChSb2NodXMsICAxLiBKdWwgMTk5OSwgMTk6MjU6NTkpOgp+IyEgcm49SHllbmEgcnQ9OTMwODQ5MzExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMwODQ5MzExCldpZXNvIHNvbGwgZGVyIGhpZXIgcmljaHRpZyBwbGF6aWVydCBzZWluPwpXaXIgc2luZCBkb2NoIG5pY2h0IHN1ZWNodGlnIHVuZCBrb2VubnRlbiBqZWRlcnplaXQgYXVmaG9lcmVuISA7LSkKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVybmV0c3VjaHQhISAoRGllZGVyLCAgMS4gSnVsIDE5OTksIDIwOjE4OjM5KToKfiMhIHJuPVJvY2h1cyBydD05MzA4NDk5NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA4NDkzMTEKKnNldWZ6Kgp3aWVzbyBoYWIgaWNoIG5hY2ggbGVzZW4gZGVzIEFydGlrZWxzIDM0IGJlcmVpdHMgZ2V3dXNzdCwgd2FzIGluIEFydGlrZWwgMzUKZHJpbiBzdGVodD8gOi0pKQoobnVyIGRlbiBBdXRvciBuaWNodCwgenVnZWdlYmVuZXJtYXNzZW4uLi4pCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcm5ldHN1Y2h0ISEgKE1vbm90b25pLCAgMi4gSnVsIDE5OTksIDEzOjI4OjU5KToKfiMhIHJuPUh5ZW5hIHJ0PTkzMDg0OTMxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDg0OTMxMQpJbnRlcm5ldHN1Y2h0PwpTb3dhcyBnaWJ0cyBiZXN0aW1tdCBnYXIgbmljaHQhClVuZCBhbHMgaWNoIG1pY2ggdm9yIDE3aCBlaW5nZXdhZWhsdCBoYWJlIHdhciBpY2ggZ2FyYW50aWVydCBuaWNodCBzdWVjaHRpZyEKCk1vbm90b25pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVybmV0c3VjaHQhISAoQXBzdSwgIDIuIEp1bCAxOTk5LCAxNDozNToyNyk6Cn4jISBybj1Nb25vdG9uaSBydD05MzA5MTQ5Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA4NDkzMTEKRGFubiBlcmtlbm5lbiBkaWUgaG9sbGFlbmRpc2NoZW4gS3Jhbmtlbmthc3NlbiBzY2hvbiBTdWNodGVya3Jhbmt1bmdlbiBhbiwgZGllCmVzIGdhciBuaWNodCBnaWJ0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZXJuZXQtU3VjaHQgKFBlcnRpbmF4ZSwgIDIuIEp1bCAxOTk5LCAyMjo0OTowNSk6Ck5hamEsIGRpZSBoYWIgaWNoIGVpZ2VudGxpY2gsIGFiZXIgaWNoIGhhYiBTaWUsIHp1bWluZGVzdCB3YXMgZGFzIE1HIGFuZ2VodC4KQWhhLCBGZXN0cGxhdHRlIHNwcmluZ3QgYW4uCkljaCBrYW5uIG5hdHVlcmxpY2ggamVkZXJ6ZWl0IGF1ZmhvZXJlbiB3aWUgYWxsZSBoaWVyIHNwaWVsZW5kZW4gTWVuc2NoZW4uClVuZCBncmFkZSBoYWIgaWNoIGF1Y2ggTHVzdCBkYXp1LgpIaW1tZWxhcnNjaCwgd2FzIGlzdCBkaWUgbmV1ZSBDaGFvcy1HaWxkZSBrb21wbGl6aWVydC4gSWNoIGhhYiBtaWNoIGRhcyBiaXNoZXIKbmljaHQgenUgc2FnZW4gZ2V0cmF1dCwgZXMgd2FyZW4gYWxsZSBzbyBzdG9seiBkYXJhdWYuCkljaCBkZW5rZSwgZXMgd2lyZCBtaWNoIHNpY2hlciBlaW5lbiBIdW5uaSBrb3N0ZW4sIGRhIGVpbmlnZXJtYXNzZW4KZHVyY2h6dWJsaWNrZW4uIEljaCBmcmV1IG1pY2ggdWViZXIgZGllIEZQcywgaGFiIGFiZXIgZ3JhZGUgbmUgaGFsYmUgU3R1bmRlCmdlYnJhdWNodCB1bSBuYWNoIGVpbmVtIFRvZCB3aWVkZXIgcmF1c3p1ZmluZGVuLgpFcyBpc3Qgc2ljaGVyIHRvbGwgZnVlciBMZXV0ZSwgZGllIGltIHdlc2VudGxpY2hlbiBuaWNodHMgYW5kZXJlcyB6dSB0dW4KaGFiZW4uIEZ1ZXIgTmViZW5lcndlcmJzc3BpZWxlciB3aXJkIGRpZSBMdWZ0IGRhIGR1ZW5uLgpVbmQgaW0gSGF1cHRiZXJ1ZiBtb2VjaHRlIGljaCBlaWdlbnRsaWNoIG5pY2h0IE11ZGRlciBzZWluLgpMZXV0ZSwgZGVua3QgbWFsIGRydWViZXIgbmFjaCB3b2hpbiBkYXMgR2FuemUgZ2VodC4KT2huZSBLbHMgdW5kIG9obmUgWnQtTGlzdGUsIG9obmUgUHJvdGVrdGlvbiBpc3QgZGFzIE1HIGRvY2ggd2VpdGdlaGVuZAp1bnNwaWVsYmFyIGdld29yZGVuLgpJY2ggYmluIG51ciBTZWhlcmluIHdlaWwgaWNoIEtscyBiZW51dHp0IGhhYmUuIERpdmVyc2UgUXVlc3RzIHNpbmQgb2huZSBkaWVzZQpuaWNodCBzcGllbGJhciwgZXMgc2VpIGRlbm4gbWFuIHppZWh0IHVtLCB2b20gUkwgaW5zIE1HLgpBYmVyIGxhc3N0IG5vY2ggZWluZW4gUGxhdHogZnVlciBOZWJlbmVyd2VyYnMtbGFuZHdpcnRlIHJlc3AuIC1NdWRkZXIuCk1hZyBzZWluIGljaCBiaW4genUgYWx0IGRhZnVlciwgbWVpbmUgQXVzZWluYW5kZXJzZXR6dW5nIG1pdCBsb2dpc2NoZW4gTWVuZ2VuCm9kZXIgc28gd2FzIGxpZWd0IDMwIEphaHJlIHp1cnVlY2suCkxhbmdlciBSZWRlIGt1cnplciBTaW5uOiBEYXMgTUcgaXN0IG9obmUgbWFzc2l2ZSBIaWxmZSBuaWNodCBzcGllbGJhciwgU2VoZXIKd2VyZGVuIGlzdCBlaWdlbnRsaWNoIG5pY2h0IGRyaW4sIGVzIHNlaSBkZW5uIG1hbiBnaWJ0IHNlaW4gUkwgYXVmLgpJY2ggYmluIG11ZWRlIHVuZCBtaXIgc3Rpbmt0cyAoYWx0ZSBNZW5zY2hlbiBzdGlua2VuKSwgYmFsYW5jaWVydCBkYXMKU2NoaWZmY2hlbiBNRyBtYWwgd2llZGVyIGluIFJpY2h0dW5nIEZyZXVkZS4KR3J1ZXNzZSwgQWx0ZSBGcmF1IFBlcnRpLCBPbWEgdXN3LgpRCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVybmV0LVN1Y2h0IChXaW0sICAyLiBKdWwgMTk5OSwgMjM6MTg6MTYpOgp+IyEgcm49UGVydGluYXhlIHJ0PTkzMDk0ODU0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDk0ODU0NQoKV1dXLk9OTElORVNVQ0hULkRFCnVuZCBEdSBrYW5uc3QgYXVmaG9lcmVuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlcm5ldC1TdWNodCAoTmFjaHR3aW5kLCAgMi4gSnVsIDE5OTksIDIzOjE5OjI4KToKfiMhIHJuPVdpbSBydD05MzA5NTAyOTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA5NDg1NDUKRWluZSBXZWJwYWdlIGZ1ZXIgT25saW5lc3VlY2h0aWdlPyBEYXMgaXN0IGphIHdpZSBlaW4gQmllcmxva2FsCmZ1ZXIgQWxrb2hvbGFiaGFlbmdpZ2UuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZXJuZXQtU3VjaHQgKFdpbSwgIDIuIEp1bCAxOTk5LCAyMzoyNjoxMik6Cn4jISBybj1OYWNodHdpbmQgcnQ9OTMwOTUwMzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMwOTQ4NTQ1CkhldXRlIGluIGRlciBjJ3QgZ2VsZXNlbi4gSXJnZW5kd2llIG11c3N0ZSBpY2ggZGFzIGxvc3dlcmRlbiA6KSBEZXIgVmVyZWluIGhhdApzaWNoIGFtIDIwLjYuIGdlZ3J1ZW5kZXQsIHNvIGRlciBBcnRpa2VsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVybmV0LVN1Y2h0IChHcmltbWFuLCAgMy4gSnVsIDE5OTksIDA1OjU4OjM5KToKfiMhIHJuPVBlcnRpbmF4ZSBydD05MzA5NDg1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA5NDg1NDUKSG1tbW1tLCBhbHNvLCBQZXJ0aW5heGUsIGRlaW4gQXJ0aWtlbCBoYXQgZWluaWdlcyBmdWVyIHNpY2gsIGRhIG11c3MgaWNoIGphCnp1Z2ViZW4gLi4uCkFiZXIgaXJnZW5kd28gaGF0IGRhcyBhdWNoIHNlaW5lIFZvcnRlaWxlIC4uLiAKRGEgaWNoIChwZXJzb2VubGljaCkgbm9jaCBrZWluZSBTZWl0ZSBnZWZ1bmRlbiBoYWJlLCB3byBLTHMgZ2Vwb3N0ZXQgd2VyZGVuCihnaWJiZXQgYmVzdGltbXQpIGlzdCBkaWUgU2FjaGUgS0wgaW1tZXJub2NoIG5lIEJlemllaHVuZ3NraXN0ZSwgd2FzIGhlaXNzZW4Kc29sbCwga2VpbmVyIG9obmUgQ29ubmVjdGlvbnMsIG9iIG51IGF1ZiBLTGViZW5lIG9kZXIgZWluZmFjaCBzbyAuLi4gd2lyZCBuZQpRdWVzdCBPSE5FIGV3aWcgcHJvYmllcmVuIHNjaGFmZmVuLgpXYXMgaWNoIGRhbWl0IHNhZ2VuIHdpbGw/IApFbmR3ZWRyLCBkdSBoYXN0IG5lbiB3aXJrbGljaGVuIFBsYW4gdm9tIE1HLCBvZGVyIGVyIGhhdCBndXRlIENvbm5lY3Rpb25zLApiZWlkZXJzIHN0ZWh0IGVpZ2VudGxpY2ggZnVlciByZWxhdGl2IGxhbmdlIE9ubGluZVplaXQgLi4uCgpHYW56IGtsYXIgYmluIGljaCBuaWNodCBtZWhyLCBhYmVyIGVpZ2VudGxpY2ggc29sbHRlIGtsYXIgc2Vpbiwgd2FzIGljaCBzYWdlbgp3aWxsLCBvZGVyPwoKR3JpbU1hbiwgbW9yZ2VucyB1bSAwNjowMCB1bmQgemllbWxpY2ggYW5nZXRydW5rZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEludGVybmV0c3VjaHQhISAoTW9ub3RvbmksICAzLiBKdWwgMTk5OSwgMTI6MTg6MDYpOgp+IyEgcm49QXBzdSBydD05MzA5MTg5Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA4NDkzMTEKSG1tbS4uLiBJY2ggc2VoIHNjaG9uISBTY2h3ZXJlciBGYWxsIQpUamEgQXBzdSwgd2VubiBMZXV0ZSBJcm9uaWUgbmljaHQgbWVociBlcmtlbm5lbiBpc3QgZGFzIFBoYXNlIDIgZGVyCkludGVybmV0c3VjaHQhCgpEYW5hY2ggZm9sZ3QgZGFubiBQaGFzZSAzIG1pdCBmb2xnZW5kZW4gU3ltcHRvbWVuOgoxLiBWZXJmb2xndW5nc3dhaG46IE1hbiBzaWVodCB1ZWJlcmFsbCBNb25zdGVyIHVuZCBiZWthZW1wZnQgZGllc2UuLi4KCjIuIE1hbiBzZXR6dCB1ZWJlcmZsdWVzc2lnZSBBcnRpa2VsIHVlYmVyIGhvbGxhZW5kaXNjaGUgS3Jhbmtlbmthc3NlbiBpbiBkaWUKWmVpdHVuZyEKCktvbW10IERpciBkYXMgYmVrYW5udCB2b3I/CgpCZWkgRnJhZ2VuIHVuZCBOZWJlbndpcmt1bmdlbiB3ZW5kZW4gc2llIHNpY2ggYml0dGUgYW4gUHJvZi4gRHIuIE1vbm90b25pIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZXJuZXRzdWNodCEhIChBY3JpbW9uLCAgNC4gSnVsIDE5OTksIDA0OjM2OjQ3KToKfiMhIHJuPU1vbm90b25pIHJ0PTkzMDk5NzA4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDg0OTMxMQo+IERhbmFjaCBmb2xndCBkYW5uIFBoYXNlIDMgbWl0IGZvbGdlbmRlbiBTeW1wdG9tZW46Cj4gMi4gTWFuIHNldHp0IHVlYmVyZmx1ZXNzaWdlIEFydGlrZWwgdWViZXIgaG9sbGFlbmRpc2NoZSBLcmFua2Vua2Fzc2VuIGluIGRpZQo+IFplaXR1bmchCgpVbmQgaWNoIGxlc2UgaW1tZXIgbm9jaCBtcGEtQXJ0aWtlbCEKSXN0IGRhcyBzY2hvbiBQaGFzZSA0IGRlciBJbnRlcm5ldHN1Y2h0PwoKQWNyaW1vbiBlcnN1Y2h0IHVtIGVpbmUgQXVkaWVueiBiZWkgRHIuIE1vbm90b25pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZXJuZXRzdWNodCEhIChNb25vdG9uaSwgIDQuIEp1bCAxOTk5LCAyMTowNDowMyk6Cn4jISBybj1BY3JpbW9uIHJ0PTkzMTA1NTgwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDg0OTMxMQpPaCBvaC4uLiBMZXNlbiB2b24gc2lubmxvc2VuIEFydGlrZWxuIGluIGRlciBNUEEhCgpEYXMgZXMgc2Nob24gc293ZWl0IGJlaSBEaXIgaXN0ISBJY2ggZGVua2UgUGhhc2UgNCBoYXN0IER1IGdsYXR0CnVlYmVyc3BydW5nZW4hCgpEYXMgZWluemlnZSB3YXMgamV0enQgbm9jaCBoaWxmdCBpc3QgZWluZSBlcnN0IGVpbmUgSm9mLUF1c3RyZWlidW5nCnVuZCBkYW5uIGVpbiAyIHdvZWNoaWdlciBLdXJhdWZlbnRoYWx0IGF1ZiBkZXIgSG9jaGViZW5lIQoKSWNoIGhvZmZlLCBEdSBiaXN0IFByaXZhdHBhdGllbnQhCkRpZSBSZWNobnVuZyBrb21tdCEKClByb2YuIERyLiBNb25vdG9uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSW50ZXJuZXRzdWNodCEhIChBcHN1LCAgNS4gSnVsIDE5OTksIDE3OjU0OjE3KToKfiMhIHJuPU1vbm90b25pIHJ0PTkzMDk5NzA4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDg0OTMxMQpQaGFzZSA1OiBNYW4gbXVzcyBncnVuZHNhZXR6bGljaCBpbW1lciBkYXMgbGV0enRlIFdvcnQgaW4gZWluZW0gbW9lZ2xpY2hzdAp1ZWJlcmZsdWVzc2lnZW4gVGhyZWFkIGhhYmVuLgoKQXBzdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZXJuZXRzdWNodCEhIChaYXBob2IsICA1LiBKdWwgMTk5OSwgMTc6NTU6MDApOgp+IyEgcm49QXBzdSBydD05MzExOTAwNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzA4NDkzMTEKRGFzIHN0aW1tdCBnYXIgbmljaHQuCgpaYXBob2Iga2FubiBqZWRlcnplaXQgYXVmaG9lcmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHNvIEdhc3QxIChMdWcsICA3LiBKdWwgMTk5OSwgMDM6NTk6MzApOgoKQWxzbyBHYXN0MSBzYWd0OiBMb3Mgc2NocmVpYiB3YXMuCk1hY2ggaWNoIG5hdHVlcmxpY2ggbmljaHQsIHdlciBob2VydCBzY2hvbiBhdWYgR2Flc3RlPwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEludGVybmV0c3VjaHQhISAoRW1haWwsICA3LiBKdWwgMTk5OSwgMDc6MzE6MjIpOgp+IyEgcm49THVnIHJ0PTkzMTMxMTc2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMDg0OTMxMQpOYWphLCBlZ2FsLgpBYmVyIGFuIGlyZ2VuZG5lciBTdGVsbGUgaGF0dGUgaWNoIG5lbiBGaWxtcmlzcy4gQmluIGljaCBhdWNoIHN1ZWNodGlnPwpJY2ggaGFiIGlyZ2VuZHdpZSB2ZXJwYXNzdCwgd2llIGF1cyBEci4gTW9ub3RvbmkgUHJvZi4gRHIuIE1vbm90b25pCnd1cmRlLgotLS0tLQpFbWFpbCBmdWVyIERpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqd2FlbHoqIChQb3N0aXQsICA5LiBKdWwgMTk5OSwgMTc6NDg6NTYpOgp+IyEgcm49U3RpbmcgcnQ9OTI5OTg2MTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTI5OTg2MTk2CkRpZSBHZXNjaGljaHRlIG1pdCBGYWtlLU1hZ2llcndlcmR1bmcgaXN0IGFiZXIgc2Nob24gbmVuIGJpc3NlcmwgYWx0LCBmaW5kZXN0ZQpuaWNodD8KKmVyaW5uZXJ0IHNpY2ggbm9jaCBhbiBlaW5lIGFuZGVyZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtbW1tbSAuLi4gbmV0dCAgKEdyaW1tYW4sIDExLiBKdWwgMTk5OSwgMDE6MzI6NDkpOgpBbHNvLCBmb2xnZW5kZXMgLi4uIGljaCBtZWxkZSBuZW4gRWxmZW4gYW4sIG51ciB1bSB6dSBzZWhlbiwgd2llIGRpZXNlcwpQYXJhZGVzY2h3ZXJ0IGF1ZiBFbGZlbiB3aXJrdCAuLi4gZXIgZmFlbGx0IHVtIHVuZCBpc3QgdG90LgpJY2ggbWFjaGUgbmltbSBhbGxlcyBhdXMgbGVpY2hlLCB1bSB2aWVsbGVpY2h0IGRhcyBTY2h3ZXJ0IHp1cnVlY2sgenUga3JpZWdlbiwKa3JpZWdlIGFiZXIgJ251cicgNjg1NSBNdWVuemVuLgpEYXMgUGFyYWRlc2Nod2VydCBpc3QgYmVpIHdlaXRlbSB3ZW5pZ2VyIHdlcnQsIGRhcyBrYW5uIGVzIGFsc28gbmljaHQgc2VpbiA7KQp3byBrb21tdCBkaWUgS29obGUgaGVyPwoKR3JpbU1hbiwgZXR3YXMgZXJzdGF1bnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIbW1tbW0gLi4uIG5ldHQgIChHcmltbWFuLCAxMS4gSnVsIDE5OTksIDAxOjM1OjQ5KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTMxNjQ5NTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMxNjQ5NTY5CkFscyBBbm1lcmt1bmc6IEJlaW0gendlaXRlbiBWZXJzdWNoIGdhYiBlcyBrZWluZSBLb2hsZSA7KSBGYW5nZW4gRWxmZW4gYWxzbwptaXQgc28gdmllbCBHZWxkIGFuLCBvZGVyIHdhcz8KCkdyaW1NYW4gKkVsZmVuIGFid2VydGVuIGRlbmtlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1TZXJ2ZXIgaXN0IG5lIERPU2UhIChHdWlsZG8sIDE5LiBKdWwgMTk5OSwgMDk6MTY6NDMpOgpFbmRsaWNoIGhhYiBpY2ggZGVuIER1cmNoYmxpY2s7IGdlc3Rlcm4gbmFjaG1pdHRhZyBmaWVsIGVzIG1pciB3aWUgU2NodXBwZW4KYXVzIG1laW5lbSB2b2xsZW4gSGFhciB1bmQgbWlyIHd1cmRlIGtsYXI6CgpERVIgTUctU0VSVkVSIExBRVVGVCBVTlRFUiBNUy1ET1MgMy4qIChnYW56IGVnYWwgd2FzIGZ1ZXIgZ2VnZW50ZWlsaWdlCkJlaGF1cHR1bmdlbiB1bnNlcmUgRGFtZW4gdW5kIEhlcnJlbiBHb2V0dGVyIHVuZCBNYWdpZXIgdmVyYnJlaXRlbikgISEhCgpXQVJVTSBERU5OIFdPSEwgU09OU1QgZHVlcmZlbiBkaWUgTmFtZW4gdm9uIFNwaWVsZXJjaGFyYWt0ZXJlbiBtYXhpbWFsIDExClplaWNoZW4gbGFuZyBzZWluPz8/IERPQ0ggVkVSTVVUTElDSCBERVNIQUxCLCBkYW1pdCBkaWUgU3BpZWxlcmluZm9ybWF0aW9uZW4KaW4gTVMtRE9TLURhdGVpZW4gYWJnZWxlZ3Qgd2VyZGVuIGtvZW5uZW4gKG1hbiBiZWFjaHRlOiAxMSA9IDggKyAzKTsgc28gc3RlaGVuCmRpZSBTdGF0cyBldGMuIHZvbiBiZWlzcGllbHN3ZWlzZSBCYWNrdHJhY2tlciAod2lsbGt1ZXJsaWNoIGF1c2dld2FlaGx0ZXMKQmVpc3BpZWwpIGRvY2ggbWl0IFNpY2hlcmhlaXQgaW4gZWluZXIgRGF0ZWkgbmFtZW5zICJCQUNLVFJBQy5LRVIiLCBuZXNwYT8KCkd1aWxkbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLVNlcnZlciBpc3QgbmUgRE9TZSEgKE1lbmFjZSwgMjAuIEp1bCAxOTk5LCAyMToxODowOSk6Cn4jISBybj1HdWlsZG8gcnQ9OTMyMzY4NjAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyMzY4NjAzCi4uLgpzbyBzdGVoZW4KZGllIFN0YXRzIGV0Yy4gdm9uIGJlaXNwaWVsc3dlaXNlIEJhY2t0cmFja2VyICh3aWxsa3VlcmxpY2ggYXVzZ2V3YWVobHRlcwpCZWlzcGllbCkgZG9jaCBtaXQgU2ljaGVyaGVpdCBpbiBlaW5lciBEYXRlaSBuYW1lbnMgIkJBQ0tUUkFDLktFUiIsIG5lc3BhPwoKQWNoIHVuZCBkaWUgdm9uIGx1ZyBpbiAiLkxVRyIgb2RlciB3aWU/CgpNZW5hY2UgKmRhcyBkb2NoIHNjaHdlciBiZXp3ZWlmZWxuZCB1bmQgYW4gInZlcnN0ZWNrdGUiIERhdGVpZW4gZGVua2VuZCoKCmxzIC1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLVNlcnZlciBpc3QgbmUgRE9TZSEgKEx1ZywgMjAuIEp1bCAxOTk5LCAyMjo0Njo0Myk6Cn4jISBybj1NZW5hY2UgcnQ9OTMyNDk4Mjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyMzY4NjAzCgpTdGF0cz8gV2FzIGZ1ZXIgU3RhdHM/IEthbm4gbWFuIGRpZSBlc3Nlbj8gVW5kIG1laW5lIHdhZXJlIGVoIGluCi5WRVJOSUNIVEVERVBQRU4KCkJhaApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLVNlcnZlciBpc3QgbmUgRE9TZSEgKE1lbmFjZSwgMjAuIEp1bCAxOTk5LCAyMzoyNjo0MCk6Cn4jISBybj1MdWcgcnQ9OTMyNTAzNjAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyMzY4NjAzCndhciBudXIgZWluIEJlaXNwaWVsIGZ1ZXIgbmVuIE5hbWVuIG1pdCAzIEJ1Y2hzdGFiZW4uIEljaCBoYWV0JyBhdWNoIE5lYiBvZGVyCnNvbnN0IHdlbiBuZWhtZW4ga29lbm5lbi4KCk1lbmFjZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTUctU2VydmVyIGlzdCBuZSBET1NlISAoTHVnLCAyMS4gSnVsIDE5OTksIDAwOjA5OjI3KToKfiMhIHJuPU1lbmFjZSBydD05MzI1MDYwMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzIzNjg2MDMKCk5lZSwKCmhhZXR0ZXN0IER1IG5pY2h0Li4uCgoKSGFoIQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLVNlcnZlciBpc3QgbmUgRE9TZSEgKE11YWRpYiwgMjEuIEp1bCAxOTk5LCAwOTo1MzozOSk6Cn4jISBybj1NZW5hY2UgcnQ9OTMyNTA2MDAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyMzY4NjAzCmRhIHdpcmQgbWl0IG51bGxlbiBhdWZnZWZ1ZWxsdCBpcyBkb2NoIGdhbnogZWluZmFjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGluZGEgZGUgTW9sIC0gUGFubmUgPz8/IChNb25vdG9uaSwgMjIuIEp1bCAxOTk5LCAxNzozNjoxMyk6CkljaCBoYWIgZ2VyYWRlIGVpbmUgKGZyIG1pY2ggdW5nbGF1YndyZGlnZSkgR2VzY2hpY2h0ZSBnZWhydC4uLgpBbmdlYmxpY2ggc29sbCBlaW5lIEthbmRpZGF0aW4gaW4gZWluZXIgZGVyIGxldHp0ZW4gTGluZGEgZGUgTW9sLVNob3dzCmF1ZiBkaWUgRnJhZ2Ugd28gc2llIGRlbm4gZGFzIGxldHp0ZSBNYWwgTGllYmUgZ2VtYWNodCBoYXR0ZSBnZWFudHdvcnRldApoYWJlbjogKCpCaXR0ZSBhbnNjaG5hbGxlbiB1bmQgVHJlbiBzY2hsaWVzc2VuLi4uKikKIkltIFBvISIKCk1laW5lIEZyYWdlOiBXZXJkZSBpY2ggZ2VyYWRlIHRpZXJpc2NoIGhvY2hnZW5vbW1lbiBvZGVyIGdpYnQgZXMgc28KZGFlbWxpY2hlIE1lbnNjaGVuPz8/ICgqRGFzIFdvcnQgdmVyYXJzY2hlbiBoYWIgaWNoIGV4dHJhIHZlcm1pZWRlbiEgOikqKQoKTW9ub3RvbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW5kYSBkZSBNb2wgLSBQYW5uZSA/Pz8gKEJhbWJ1bGtvLCAyMi4gSnVsIDE5OTksIDE3OjQ2OjE3KToKfiMhIHJuPU1vbm90b25pIHJ0PTkzMjY1Nzc3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMjY1Nzc3MwpIYWJlIGRhcyBnbGVpY2hlIGdlaG9lcnQuLi4uLi4KCmFiZXIgbmljaHQgc2VsYmVyIGdlc2VoZW4uLi4KQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGluZGEgZGUgTW9sIC0gUGFubmUgPz8/IChBbGJvaW4sIDIyLiBKdWwgMTk5OSwgMTg6MzA6MjYpOgp+IyEgcm49QmFtYnVsa28gcnQ9OTMyNjU4Mzc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyNjU3NzczCmRlbmt0IGRvY2ggbWFsIG5hY2ghCmRpZSB3YXJlbiBpbSBJdGFsaWVudXJsYXViISBBbGxlcyBrbGFyPwoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGluZGEgZGUgTW9sIC0gUGFubmUgPz8/IChUZWRkeSwgMjIuIEp1bCAxOTk5LCAxODo1ODoyMyk6Cn4jISBybj1Nb25vdG9uaSBydD05MzI2NTc3NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzI2NTc3NzMKV2FydW0gc29sbHRlIHNpZSBkYXMgbmljaHQgaW4gZWluZW0gaXRhbGllbmlzY2hlbiBGbHVzcyBnZW1hY2h0IGhhYmVuPwoKVGVkZHksIHZlcnN0ZWh0IGRhcyBQcm9ibGVtIG5pY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbmRhIGRlIE1vbCAtIFBhbm5lID8/PyAoUGFyYWNlbHN1cywgMjIuIEp1bCAxOTk5LCAxODo1ODo0MSk6Cn4jISBybj1UZWRkeSBydD05MzI2NjI3MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzI2NTc3NzMKV2VpbCBkZXIgc28gZHJlY2tpZyBpc3Q/CgpQYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpbmRhIGRlIE1vbCAtIFBhbm5lID8/PyAoVGVkZHksIDIyLiBKdWwgMTk5OSwgMTg6NTk6MTkpOgp+IyEgcm49UGFyYWNlbHN1cyBydD05MzI2NjI3MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzI2NTc3NzMKS2FubiBtYW4gZGVuIG5pY2h0IHdhc2NoZW4/CgpUZWRkeSwgbmljaHQgbWVociBnYW56IHNpY2hlciB1bSB3ZWxjaGVuIFBvIGVzIGdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaW5kYSBkZSBNb2wgLSBQYW5uZSA/Pz8gKE5ldm9rLCAyMi4gSnVsIDE5OTksIDE5OjM0OjMwKToKfiMhIHJuPVRlZGR5IHJ0PTkzMjY2Mjc1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMjY1Nzc3MwphbHNvIG1hbCB6dXIgYXVma2xhZXJ1bmcKZGFzIGlzIGVpbiBhZGFwdGllcnRlciBqb2tlIGRlciBzbyBnZXNlaGVuIG5pY2ggdWViZXJwcnVlZnQgd2VyZGVuIGthbm4KYmVpIGVpbmVyIGF1ZnplaWNobnVuZyB6dSBkZXIgc2VuZHVuZyAnbmV3bHl3ZWQgZ2FtZScgc3RlbGx0ZSBkZXIgSG9zdCBCb2IKRXViYW5rcyBkaWUgRnJhZ2UgbmFjaCBkZW0gJ3N0cmFuZ2VzdCBwbGFjZSB5b3UgZXZlciBtYWRlIHdob29wZWUnCih1bmdld29laG5saWNoc3RlbSBPcnQgd28gbWFuIFNleCBoYXR0ZSkgd29yYXVmIHZvbiBlaW5lbSBLYW5kaWRhdGVuIGRpZQpBbnR3b3J0ICdUaGF0IHdvdWxkIGJlIGluIHRoZSBCdXR0LCBCb2InIGthbSAoYWxzbyBpbSBQbywgSGludGVybiBvZGVyIHdpZQphdWNoIGltbWVyIG1hbiBlcyBiZWltIE5hbWVuIG5lbm5lbiB3aWxsKS4KQmlzaGVyIGhhdCBCb2IgRXViYW5rcyBkaWUgRnJhZ2Ugb2IgZGllc2UgU3RvcnkgZGVyIFdhaHJoZWl0IGVudHNwcmVjaGVuCnd1ZXJkZSBvZGVyIG51ciBlaW4gSGlybmdlc3BpbnN0IHNlaSBpbW1lciB2ZXJuZWludCwgd2VubiBkZXIgNjEgamFlaHJpZ2UgR2FtZQpzaG93IGhvc3QsIFJvY2trb256ZXJ0IFByb2R1Y2VyIHVuZCBDb3VudHJ5IG11c2ljIFRhbGVudCBNYW5hZ2VyIGRlciBnZXJhZGUgYW4Kc2VpbmVuIE1lbW9pcmVuIGFyYmVpdGV0IG5hY2ggZGVyIFdhaHJoZWl0IGdlZnJhZ3Qgd2lyZCwgenVja3QgZXIgbnVyIG1pdCBkZW4KQWNoc2VsbiB1bmQgYW50d29ydGV0ICdZb3UgY2FuIHJlYWQgYWJvdXQgaXQgaW4gIlRoYXQgV291bGQgQmUgaW4gdGhlIEJvb2ssCkJvYi4iCgpEaWUgU2VyaWUgbGllZiBFbmRlIGRlciA3MGVyIEphaHJlLCB2b24gZGFoZXIga2FubiBtYW4gZ3V0IHNlaGVuIHdpZSBsYW5nIGRhcwpoZXIgaXN0Li4uLgoKTmFjaHp1bGVzZW4gaW4gVFYgR3VpZGUgLSBUViBDb25maWRlbnRpYWwsIGdlaG9lcnQgenVtIEZveC9SdXBlcnQgTXVyZG9jaApJbXBlcml1bSAoTWFjaGVyIHZvbiBTaW1wc29ucywgWC1GaWxlcyB1bmQgc28gS3JhbSkKCk5ldm9rLCBkZXIgZW5kbGljaCBtYWwgU2lubiBpbiBzZWluZXIgS3VyaW9zaXRhZXRlbnNhbW1sdW5nIGZpbmRldAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW5kYSBkZSBNb2wgLSBQYW5uZSA/Pz8gKEFjcmltb24sIDIzLiBKdWwgMTk5OSwgMTc6NDI6NTYpOgp+IyEgcm49TW9ub3RvbmkgcnQ9OTMyNjU3NzczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyNjU3NzczCkRhcyB3YXMgRHUgbWVpbnN0LCBpc3QgbmljaHQgIkxpZWJlIiwgc29uZGVybiBTZXguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbmRhIGRlIE1vbCAtIFBhbm5lID8/PyAoR3JpbW1ib3JuLCAyMy4gSnVsIDE5OTksIDE5OjI5OjMxKToKfiMhIHJuPUFjcmltb24gcnQ9OTMyNzQ0NTc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTMyNjU3NzczCkFjaCwgZGEgZ2lidHMgbmVuIFVudGVyc2NoaWVkPyBEYSBiaW4gaWNoIG1hbCBnZXNwYW5udC4uLgoKR3JpbW0iV28gaXN0IGRhcyBQb3Bjb3JuPyJib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW1pdCBhbGxlIFNwYXNzIGhhYmVuLi4uIChab29rLCAyOC4gSnVsIDE5OTksIDIxOjQ2OjQ1KToKSGlobwoKZWluIGVyc3RlciBTY2h3dW5nIGJpbGRlciBpc3QgenUgc2VoZW4gdW5kIHp3YXIKaHR0cDovL21nLm11ZC5kZS9QYXJ0eS9QYXJ0eS4xMi9mb3Rvcy5zbHlmb3gvCgpab29rLCBncmluc2VuZCB1bmQga2ljaGVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW1pdCBhbGxlIFNwYXNzIGhhYmVuLi4uIChBbmF0b2wsIDI4LiBKdWwgMTk5OSwgMjE6NTY6MDIpOgp+IyEgcm49Wm9vayBydD05MzMxOTEyMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzMxOTEyMDUKV2FlciBuYXR1ZXJsaWNoIG5ldHQsIHdlbm4gc2ljaCBqZW1hbmQgdW0gZWluZW4gRm90by1JbmRleCBrdWVtbWVybiB3dWVyZGUuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbWl0IGFsbGUgU3Bhc3MgaGFiZW4uLi4gKFJvbmRhLCAyOC4gSnVsIDE5OTksIDIxOjU2OjQ4KToKfiMhIHJuPUFuYXRvbCBydD05MzMxOTE3NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzMxOTEyMDUKSmEsIEFuYXRvbCwgZGVyIHdpcmQgbW9yZ2VuIGtvbW1lbiwgd2VubiBpY2ggUm9jaHVzIHZlcnN0YW5kZW4gaGFiZSA7KQoKTnVyIG5lZCBodWRlbG4sCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW1pdCBhbGxlIFNwYXNzIGhhYmVuLi4uIChQYXRyeW4sIDI4LiBKdWwgMTk5OSwgMjE6NTY6NTIpOgp+IyEgcm49QW5hdG9sIHJ0PTkzMzE5MTc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMzE5MTIwNQplcyBrdWVtbWVydCBzaWNoIGplbWFuZC4uLmRpZSBhZHJlc3NlIHdhciBlaWdlbnRsaWNoIG51ciBhbHMgcHJldmlldwpnZWRhY2h0IHVuZCBzdGFuZCBnYXIgbmljaHQgenVyIHZlcm9lZmZlbnRsaWNodW5nLHNvb3dlaXQgaWNoIHdlaXNzCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFtaXQgYWxsZSBTcGFzcyBoYWJlbi4uLiAoTW9yZ290aCwgMjkuIEp1bCAxOTk5LCAwODowMzoyNik6Cn4jISBybj1ab29rIHJ0PTkzMzE5MTIwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzMzE5MTIwNQpBcmdsLCBkYXMgaXN0IGphIGtyYW5rLiBFaW4gZ2x1ZWNrIGdpYnQgZXMgd2dldCA7LSkKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbWl0IGFsbGUgU3Bhc3MgaGFiZW4uLi4gKEF0b3osIDI5LiBKdWwgMTk5OSwgMTI6Mjg6MDcpOgp+IyEgcm49TW9yZ290aCBydD05MzMyMjgyMDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzMxOTEyMDUKSG1tbSBpbnRlcmVzc2FudCwgd2lldmllbGUgTGV1dGUsIGF1ZiBkZXIgUGFydHkgd2FyZW4sIGRpZSBlaWdlbnRsaWNoIGdhcgpuaWNodCBkYSBzZWluIHdvbGx0ZW4gOykgbXVlc3NlbiB3b2hsIGFsbGVzIERvcHBlbGdhZW5nZXIgc2VpbiA7KQoKQXRveiAtIGRlciBlaWdlbnRsaWNoIGRhY2h0ZSwgZXMgd2FlcmUga2F1bSB3ZXIgZGEuIFMuSC4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClppdGF0IChEZWFubmEsIDI5LiBKdWwgMTk5OSwgMTU6MDE6NDgpOgpiZWkgZWluZW0gR2VzcHJhZWNoIG1pdCBQYWRyZWljOgpQYWRyZWljIHNhZ3Q6IGRhc3MgbXVzcyBnYW56IHNjaG9lbiBhYmFydGlnIGdld2VzZW4gc2Vpbi4KUGFkcmVpYyBzYWd0OiAobWVpbiBEaW5nIHdhZXIgZGFzIGplZGVuZmFsbHMgbmljaHQpCgoqbGFjaCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBRdWVzdCBtaXQgZGVyIE1hdXMgdHV0IHdpZWRlciAoS2V0b3MsICA5LiBBdWcgMTk5OSwgMTU6Mzg6MzcpOgpEaWUgUXVlc3QgbWl0IGRlciBNYXVzIGdpbmcgaW4gZGVuIGxldHp0ZW4gVGFnZW4gbmljaHQsCmRhIFZhZXRlcmNoZW4gWmVpdCBzZWluZSBGcmFnZW4gdmVybG9yZW4gaGF0dGUuCkRpZSB1aWQtVW1zdGVsbHVuZyBoYXR0ZSBpaG4genUgc2VociB2ZXJ3aXJydC4KCkVzIHR1dCBudW4gd2llZGVyLiBWaWVsIFNwYXNzIQoKLSBLZXRvcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGF1dGU/IChQaHlnb3MsIDE3LiBBdWcgMTk5OSwgMTU6NDM6NTEpOgpTaW5kIGFsbGUgaW4gVXJsYXViLCBvZGVyIGhlcnJzY2h0IGFsbGdlbWVpbmUgVW5sdXN0PyBEaWUgWmVpdHVuZyBpc3QgamEgd2llCmxlZXJnZWZlZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmxhdXRlPyAoUmFyZGlhbiwgMTkuIEF1ZyAxOTk5LCAxNDo1Njo1NCk6Cn4jISBybj1QaHlnb3MgcnQ9OTM0OTA0NjMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM0OTA0NjMxCmhtLi4uCk5hIHdlbm4gaWNoIG1pY2gsIG51ciB3ZWlsIGljaCBtYWwgendlaSBXb2NoZW4gbmljaHQgaW4gZGVyIFJ1YnJpayBUcmVmZmVuCm5hY2hsZXNlLCBkdXJjaCAxMTkgQXJ0aWtlbCBrYWVtcGZlbiBtdXNzLCBrb21tIGljaCBuYXR1ZXJsaWNoIHVlYmVyaGF1cHQKbmljaHQgenVtIFNjaHJlaWJlbiB2b24gZ2Vpc3RyZWljaGVuIEFydGlrZWxuLi4uCgpSYXJkaWFuIGhhdCBpbiBsZXR6dGVyIFplaXQgc2VociB3ZW5pZyB2b24gc2VsYmlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKE1lc2lyaWksIDIwLiBBdWcgMTk5OSwgMjE6MjE6MDUpOgpMaWViZSBNaXRtdWRkZXIsCndlciB3aWUgaWNoIHVlYmVyIE1vZGVtIG11ZGRlbiBtdXNzICphcmdsKiB1bmQgbmljaHQgYXVmIGVpbmUgU3RhbmRsZWl0dW5nCnZlcnRyYXVlbiBrYW5uLCBkZW0ga29tbWVuIGltbWVyIGdyYXVlIEhhYXJlIHdlbm4gZXIgZGllIFRlbGVmb25yZWNobnVuZyBpbgpkaWUgSGFuZCBiZWtvbW10LgpOYWNoZGVtIGljaCBpbiBkZXIgYyd0IDE2Lzk5IHdhcyB6dSBiaWxsaWdlbiBQYXVzY2hhbGFuZ2Vib3RlbiBnZWZ1bmRlbiBoYWIsCmhhYiBpY2ggaW0gV2ViIG1hbCBuYWNoZ2VndWNrdCB1bmQgZGFubiBhdWNoIGdsZWljaCB6dWdlc2NobGFnZW46CjEwMCBETSBmdWVyIDEwMCBTdHVuZGVuIHBybyBNb25hdCArIDQ5IERNIEFubWVsZGVnZWJ1ZWhyIHVuZCAgNiBQZiBwcm8gRWlud2FobApzaW5kIHVtIEdyb2Vzc2Vub3JkbnVuZ2VuIGd1ZW5zdGlnZXIgYWxzIE9ydHN0YXJpZiBpbiBkZXIgTmFjaHQgenVyIFVuaS4KSWNoIGhhYiBhbHNvIGRpZSBBbm1lbGRlcHJvemVkdXIgbWl0Z2VtYWNodDogCldlYmZvcm11bGFyIGF1c2Z1ZWxsZW4KZ2VuZXJpZXJ0ZSBTZWl0ZW4gYXVzZHJ1Y2tlbiwgdW50ZXJzY2hyZWliZW4gdW5kIGFic2NoaWNrZW4KdW5kIGhhYiBoZXV0ZSBuYWNoIDIgVGFnZW4gZGllIEZyZWlzY2hhbHR1bmcgYmVrb21tZW4uCgpTY2hlaW50IGVpbiBnYW56IHNlcmlvZXNlciBWZXJlaW4genUgc2Vpbi4KClVuZCBtaXQgMTAwIFN0dW5kZW4ga2FubiBpY2ggMjAgVGFnIGEgNSBTdHVuZGVuIG11ZGRlbiA7KQpvZGVyIHZpZXIgVGFnZSBpbSBNRyBhZWx0ZXIgd2VyZGVuLgoKV2VuJ3MgaW50ZXJlc3NpZXJ0IHd3dy5uYWtlZC1leWUuZGUKCk1lc2ksIG11ZGRlZCBqZXR6dCBiaWxsaWdlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKE1hZ2VuYnJvdCwgMjAuIEF1ZyAxOTk5LCAyMTo0NToyNik6Cn4jISBybj1NZXNpcmlpIHJ0PTkzNTE4NDA2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQoKaGFsbG8sCgpoaWVyIG5vY2ggZWluZSBBZHJlc3NlIGZ1ZXIgZ3VlbnN0aWdlIFBhdXNjaGFsdGFyaWZlIChpbmtsLiBUZWwuR2VidWVocmVuKToKIHd3dy53ZXN0c3VyZi5kZQoKaWNoIGJlemllaGUgbWljaCBkYWJlaSBhdWYgZGVuIEZsYXQtUmF0ZS1UYXJpZi4gV2VubiBtYW4gc2ljaCBiZWVpbHQsIGJla29tbXQKbWFuIHZpZWxsZWljaHQgc29nYXIgbm9jaCBuZW4gQWNjb3VudCwgZGEgZGFzIGVyc3RtYWwgYXVmIDI1MDAgTGV1dGUKYmVzY2hyYWVua3QgaXN0LiBXZWdlbiBkZW4gUHJlaXNlbiB1bmQgc28sIGt1Y2t0IG5hY2guCgpjdSBNYWdlbmJyb3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChHZW9yZGksIDIwLiBBdWcgMTk5OSwgMjE6NDg6MTYpOgp+IyEgcm49TWVzaXJpaSBydD05MzUxODQwNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKQWxzbyBpY2ggbXVkZGUgc2VpdCBsZXR6dGVtIE1vbmF0IGF1Y2ggbWl0IE5ha2VkIEV5ZS4KSWNoIGhhYmUgZGFiZWkgc29nYXIgbm9jaCBlaW5lbiBiZXNzZXJlbiBDb25uZWN0IGFscyBtaXQgbWVpbmVtIGJpc2hlcmlnZW4KUHJvdmlkZXIuClNpZSBoYWJlbiBkaWUgUHJlaXNlIGZ1ZXIgRm9sZ2VtaW51dGVuIChuYWNoIGRlbiAxMDBoKSBzb2dhciBhdWYgMyw1IFBmL01pbnV0ZQpnZXNlbmt0IChnaWx0IGF1Y2ggdGFnc3VlYmVyKS4KCkdlb3JkaQoKUC5TLjogTmllZGVyIG1pdCBkZW4gVGVsZWtvbXByZWlzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVlciBTdWNodGllcyBiaWxsaWdlciAoSGVyb21jZmx5LCAyMC4gQXVnIDE5OTksIDIxOjUyOjE1KToKfiMhIHJuPUdlb3JkaSBydD05MzUxODU2OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKCmhtbS4uLiBhbHNvIGRhIHNpbmQgMzUuLSBwcm8gbW9uYXQgaW0gaWNhZmUgaW1tZXIgbm9jaCBiaWxsaWdlciB1bmQgdHJvdHpkZW0Kc2NobmVsbGVyIDopCgptdXNzdCBpY2ggZXR6IGVpbmZhY2ggbWFsIHNvIGxvc3dlcmRlbiA9KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnVlciBTdWNodGllcyBiaWxsaWdlciAoRGllZGVyLCAyMC4gQXVnIDE5OTksIDIxOjUzOjQzKToKfiMhIHJuPUhlcm9tY2ZseSBydD05MzUxODU5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKa29tbXQgYXVmIGRpZSBvbmxpbmV6ZWl0IGFuLCBkZW5rIGljaCBtYWwuLi4KRHUgYmlzdCB3b2hsIG5vY2ggbmljaHQgZ2FhYWFhYWFueiBzbyBzdWVjaHRpZyB3aWUgYW5kZXJlLCBkaWUgbGFlbmdlciBkcmluCnNpbmQgOi0pCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKEhlcm9tY2ZseSwgMjAuIEF1ZyAxOTk5LCAyMTo1NjoxMik6Cn4jISBybj1EaWVkZXIgcnQ9OTM1MTg2MDIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1MTg0MDY1CmFlaG0uLi4uIDM1Li0gYmVpbmhhbHRlbiAxMCBzdHVuZGVuIHByb3RhZyAoZW50c3ByZWNoZW4gZGVuIG9lZmZudW5nc3plaXRlbjspCgpuYWNodHJhZyBvZGVyIHNvIDotUAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChNYWdlbmJyb3QsIDIwLiBBdWcgMTk5OSwgMjE6NTY6MzApOgp+IyEgcm49TWFnZW5icm90IHJ0PTkzNTE4NTUyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQoKZGVyIFRhcmlmIGhlaXNzdCByaWNodGlnOiBGbGF0LU1lCgpjdSBNYWdlbmJyb3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKFN0b2VydGksIDIwLiBBdWcgMTk5OSwgMjE6NTc6MzYpOgp+IyEgcm49SGVyb21jZmx5IHJ0PTkzNTE4NjE3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQpkYXJmIG1hbiBkYSBhbGxlaG9obCB6dSBzaWNoIG5laG1lbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKEhlcm9tY2ZseSwgMjAuIEF1ZyAxOTk5LCAyMTo1OTowNik6Cn4jISBybj1TdG9lcnRpIHJ0PTkzNTE4NjI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQphZWhtbSB3YXMgbWVpbnN0IGR1IHdpZSBtYW5uIHNvIGVpbmVuIGJpbGxpZ3RhcmlmIHNvbnN0IGF1ZnJlY2h0IGVyaGFsdGVuIGthbm4KPyA6KQpzcGVuZGVuIHNhbW1lbG4gPwoKKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRnVlciBTdWNodGllcyBiaWxsaWdlciAoTWFnZW5icm90LCAyMC4gQXVnIDE5OTksIDIyOjAwOjAyKToKfiMhIHJuPUhlcm9tY2ZseSBydD05MzUxODYzNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKCmFsc28ga29tbWVuIGRhIGltIE1vbmF0IG5vY2ggMjAwIE11ZWNrZW4gZnVlciBBbGtvaG9sIGRhenUsIG9kZXI/CgoqZyogTWFnZW5icm90CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChTdG9lcnRpLCAyMC4gQXVnIDE5OTksIDIyOjAwOjIzKToKfiMhIHJuPUhlcm9tY2ZseSBydD05MzUxODYzNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKYWxsZSBpY2FmZXMgZGllIGljaCBrZW5uZSwgdmVyYmlldGVuIGFsayBhbSByZWNobmVyIAoodW5kIGJlc29mZmVuZSBsZXV0ZSBhbSByZWNobmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnVlciBTdWNodGllcyBiaWxsaWdlciAoSGVyb21jZmx5LCAyMC4gQXVnIDE5OTksIDIyOjA4OjAzKToKfiMhIHJuPVN0b2VydGkgcnQ9OTM1MTg2NDIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1MTg0MDY1CjEuIGtlbm5zdCBkdSB6dSB3ZW5pZyBpY2FmZXMKCjIuaXN0IGVzIG5pY2h0IHZlcmJvdGVuCgozLiBpc3QgZXMgZXJzdCByZWNodCBuaWNodCB2ZXJib3RlbiAKCiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRnVlciBTdWNodGllcyBiaWxsaWdlciAoU3RvZXJ0aSwgMjAuIEF1ZyAxOTk5LCAyMjowODozNSk6Cn4jISBybj1IZXJvbWNmbHkgcnQ9OTM1MTg2ODgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1MTg0MDY1CmRhbm4gc2NobGllc3NlIGljaCBtaWNoIE1hZ2VuYnJvdHMgTWVpbnVuZyBhbiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKEhlcm9tY2ZseSwgMjAuIEF1ZyAxOTk5LCAyMjoxMDo0NSk6Cn4jISBybj1TdG9lcnRpIHJ0PTkzNTE4NjkxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQoKYWVobS4uLi4gZGF6dSB2ZXJ3ZWlnZXJlIGljaCBkaWUgYXVzc2FnZQoKIDopCgptYW5uIGthbm4gbXVzcyBhYmVyIG5pY2h0IG9kZXIgc28gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRnVlciBTdWNodGllcyBiaWxsaWdlciAoR2VvcmRpLCAyMC4gQXVnIDE5OTksIDIzOjMxOjEzKToKfiMhIHJuPUhlcm9tY2ZseSBydD05MzUxODcwNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKSG1tLCB3b2xsdCBpaHIgamVkZW4gYWJlbmQgaW4gbmVtIHZlcnJhZXVjaGVydGVtIENhZmUgc2l0emVuPyBJY2ggbmljaHQhCgpHZW9yZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChTdG9lcnRpLCAyMS4gQXVnIDE5OTksIDA4OjI5OjEwKToKfiMhIHJuPUdlb3JkaSBydD05MzUxOTE4NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKb2IgaW4gbmVtIHZlcnJhZXVjaGVydGVuIHdvaG56aW1tZXIgb2RlciBpbm5lciB2ZXJyYWV1Y2hlcnRlciBrbmVpcGUsZGFzIGlzCndvaGwgZWdhbC4KRGVyIFZvcnRlaWwgaXMgbnVyOiBWb24genUgSGF1c2UgaGF0IG1hbnMgbnVyIG4gcGFhciBtZXRlciBpbnMgQmV0dCwgb2RlciBtYW4Ka2FubiBkaXJla3Qgdm9tIEJldHQgYXVzIG11ZGRlbiA6LSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgU3VjaHRpZXMgYmlsbGlnZXIgKFRydWcsIDIyLiBBdWcgMTk5OSwgMTU6MzI6MzEpOgp+IyEgcm49TWVzaXJpaSBydD05MzUxODQwNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKTU1oIGRhcyBBbmdlYm90IHNjaGVpbnQgbWlyIGV0d2FzIHp1IHdpbmRpZyB6dSBzZWluLCBzZWxic3QgaW4gZGVyIGMndCB3YXJlbgpCZWRlbmtlbiBkYXJpbm5lbiB1bmQgZGllIEhvbWVwYWdlIG1hY2h0IGF1Y2gga2VpbmVuIGd1dGVuIEVpbmRydWNrLgoKVHJ1Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChSYXJkaWFuLCAyMi4gQXVnIDE5OTksIDE2OjU4OjQ2KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTM1MTg0MDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1MTg0MDY1CkNvb2wsCgpkYW5rZSBNZXNpLAppY2ggd2VyZCBtYWwgZHVyY2hyZWNobmVuLCBvYiBzaWNoIGRhcyBmdWVyIG1pY2ggbG9obnQgOikKClJhcmRpYW4sIGRhbm4gdmllbGxlaWNodCBvZWZ0ZXIgdm9uIHp1IEhhdXMgbWFsIGRyaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVlciBTdWNodGllcyBiaWxsaWdlciAoTWVzaXJpaSwgMjMuIEF1ZyAxOTk5LCAwMTowMDoyOSk6Cn4jISBybj1UcnVnIHJ0PTkzNTMzNTk1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTE4NDA2NQpBbHNvIGljaCBmYW5kIGRpZSBIb21lcGFnZSBuaWNodCBzY2hsZWNodC4KVW5kIGRpZSBBR0JzLCBOdXR6dW5nc2JlZGluZ3VuZ2VuIHVuZCBkaWUgVW50ZXJsYWdlbiwgZGllIGljaCB2b24KZGVuZW4gYmVrb21tZW4gaGFiZSwgc2VoZW4gYXVjaCBzZXJpb2VzIGF1cy4KTWVzaSwgc3BhcnQgYmVpbSBNdWRkZW4gdW5kIE11ZGRlZCBiZWltIHNwYXJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2ggKEhhdGUsIDIzLiBBdWcgMTk5OSwgMDc6MjY6MjcpOgpIaSwKCndpZSBpaHIgc2Nob24gbWl0YmVrb21tZW4gaGFidCwgaXN0IGRhcyBNVUQgZ2VzdGVybiB6d2VpbWFsIGdlY3Jhc2h0LgpTY2hlaW5iYXIgaGF0IGVzIHdhcyBtaXQgZWluZW0gTmFjaHRoZW1kIHp1IHR1biwgYWJlciBkYXMga3JpZWdlbgp3aXIgbm9jaCByYXVzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIFN1Y2h0aWVzIGJpbGxpZ2VyIChNZW5hY2UsIDIzLiBBdWcgMTk5OSwgMTE6MDY6MTQpOgp+IyEgcm49TWVzaXJpaSBydD05MzUxODQwNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUxODQwNjUKSWNoIGhhYiBkYXMgQW5nZWJvdCBhdWNoIGdlc2VoZW4sIGFiZXIgaW4gZGVyIEludGVybmV0IFdvbGQgc3RhbmQgYXVjaCBkcmluLApkYXNzIGRhcyBBbmdlYm90IGVyc3RtYWwgYmlzIE5vdmVtYmVyIGJlZnJpc3RldCBpc3QuCkF1c3NlcmRlbTogd2VubiBhbGxlIEt1bmRlbiBkaWUgMTAwIFN0dW5kZW4gYXVzbnV0emVuLCBkYW5uIGdlaGVuIGRpZSBwbGVpdGUhCkRpZSBrYXVmZW4gZGllIE1pbnV0ZSBmdWVyIDIsNiBQZiBlaW4gdW5kIGJlaSBkZW4gMTAwIFN0dW5kZW4gYmVrb21tZW4gZGllCmRhbm4gbm9jaCBldHdhIDEsNyBQZiEgRGllIGthbGt1bGllcmVuIGRhbWl0LCBkYXNzIG5pY2h0IGFsbGUgS3VuZGVuIGlocmUgMTAwCihiencuIDMwKSBTdHVuZGVuIGF1c251dHplbiBvZGVyIGRhcnVlYmVyIGtvbW1lbiwgZGVubiBkYW5uIGtvc3RldCBkaWUgTWludXRlCndpZWRlciAzLDYgUGYuCkFiZXIgYW5zb25zdGVuIGVpbiBndWVuc3RpZ2VzIEFuZ2Vib3QuIERpZSBudXR6ZW4gaGFsdCBkaWUgZ2xlaWNoZW4KRWlud2FobGtub3RlbiB3aWUgVC1PbmxpbmUsIHNvbGx0ZW4gYWxzbyBhdWNoIHJlY2h0IGd1dCBlcnJlaWNoYmFyIHNlaW4uCgpNZW5hY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5FVUUgS09OVE9WRVJCSU5EVU5HISAoTHV6aWUsIDI0LiBBdWcgMTk5OSwgMTk6MzA6MzIpOgpIYWxsbyEKQWIgc29mb3J0IGhhdCBkZXIgVmVyZWluIGVpbmUgbmV1ZSBLb250b3ZlcmJpbmR1bmchClNpZSBsYXV0ZXQ6CgpLdG8tTnIuOiAxMDAwMzgxMgpTcGFya2Fzc2UgUGFkZXJib3JuLCBCTFogNDcyIDUwMSAwMQoKRGllIE1pdGdsaWVkZXIgd2VyZGVuIG5vY2ggYmVuYWNocmljaHRpZ3QuCgpDaWFvLApMdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoIChLYXJ0b2ZmZWwsIDI1LiBBdWcgMTk5OSwgMjA6MDE6NTMpOgp+IyEgcm49SGF0ZSBydD05MzUzOTMxODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzUzOTMxODcKV2llLCBEdSBoYXN0IERpY2ggaW0gTkFjaHRobWVkIHZvciBkZW4gUmVjaG5lciBnZXN0ZWxsdCB1bmQgZGVyIGlzIHZvciBTY2hyZWNrCmdlY3Jhc2hlZD8KCidUb2ZmZWwgLSBoYWV0dGUgZGFzIG5pY2h0IHZvbiBIYXRlIGdlZGFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlaW4gUGxhdHogZnVlcnMgUGlja25pY2shIChNb25vdG9uaSwgMjcuIEF1ZyAxOTk5LCAwMDo1MTowMCk6CkhhbGxvIE1pdG11ZGRlciEKCkRhIG1laW5lIFNwaWVsZXJ6ZWl0ZW4gc2Nob24gZXR3YXMgbGFlbmdlciBoZXIgc2luZCBicmF1Y2hlIGljaApldXJlIE1pdGhpbGZlIQpJY2ggc3VjaGUgUGxhZXR6ZSBpbSBNVUQsIGRpZSB6d2FyIHVuZ2VmYWVocmxpY2ggc2luZCwgYWJlciBhdWYKaWhyZSBBcnQgdW5kIFdlaXNlIHVuYW5nZW5laG0gc2luZCwgd2VpbCBtYW4gbnVyIG5vY2ggc2Nod2VyCndlZ2tvbW10IQpBbHMgQmVpc3BpZWwgbmVubmUgaWNoIGRlbiBCcnVubmVuIGluIGRlciBFY2hzZW5zdGFkdCwgZGVyIGphCnJlbGF0aXYgc2ljaGVyIGlzdCAoYWVoLCB3YXIgZG9jaCBzbywgb2Rlcj8pIGFiZXIgZG9jaApQcm9ibGVtZSBiZWltIFJ1ZWNrd2VnIG1pdCBzaWNoIGJyaW5ndCEKCldlbm4gaWhyIHNvbGNoZSBQbGFldHplIGtlbm50IHNjaGlja3QgZG9jaCBiaXR0ZSBlaW5lIE1haWwgYW4gbWljaAptaXQgZGVtIE9ydCAoZnVlciBNYWdpZXIgRmlsZW5hbWVuIHdhZXJlbiB0b2xsISkgdW5kIGVpbmVyCmt1cnplbiBCZXNjaHJlaWJ1bmcgZGVyIFNjaHdpZXJpZ2tlaXRlbiBhdWYgZGVtIFJ1ZWNrd2VnIGluIGRpZQpaaXZpbGlzYXRpb24hCgpGcmV1ZSBtaWNoIGF1ZiBldXJlIEFudHdvcnRlbiEKCk1vbm90b25pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2VpbiBQbGF0eiBmdWVycyBQaWNrbmljayEgKFRhcmFnb24sIDI3LiBBdWcgMTk5OSwgMTE6MDk6MDMpOgp+IyEgcm49TW9ub3RvbmkgcnQ9OTM1NzE1MDYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1NzE1MDYwCkhtbW0uLi4gd29mdWVyIGVpZ2VudGxpY2ggPwpVbSBkYWZ1ZXIgenUgc29yZ2VuIGRhc3MgYW4gZGllc2VuIHBsYWV0emVuIGtlaW4gZW5kZSwgdGVsZXBvcnQgb2RlcgphZWhubGljaGVzIG1laHIgZnVua3Rpb25pZXJ0ID8gOi0pCgpUYXJhZ29uIC0gbWlzc3RyYXVpc2NoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtlaW4gUGxhdHogZnVlcnMgUGlja25pY2shIChaaW5vLCAyNy4gQXVnIDE5OTksIDExOjE0OjI3KToKfiMhIHJuPVRhcmFnb24gcnQ9OTM1NzUyMTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM1NzE1MDYwClNpZWh0IGVoZXIgc28gYXVzLCBhbHMgd29sbHRlIGVyIGVpbiBNb25zdGVyIHNjaHJlaWJlbiwgd2VsY2hlcyBlaW5lbiBpbSBLYW1wZgphbiBzb2xjaCBuZXR0ZSBQbGFldHplIHRyYW5zdC4KCk1haGF0bWEgKGhpbGZ0IE1hZ2llcm4gbnVyIGltIFN1ZmYpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHJlYXdrY2V1ciA6LSkgKEFyaywgMjcuIEF1ZyAxOTk5LCAxNjozNTowNik6CktvbWlzY2hlciBOYW1lLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuIHdhbmQgKEZhY2huaXIsIDI3LiBBdWcgMTk5OSwgMjA6NTA6MzUpOgpIb21vLWVoZSBpbnMgTVVkIEYuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuIHdhbmQgKERpZWRlciwgMjcuIEF1ZyAxOTk5LCAyMDo1MDo1Myk6Cn4jISBybj1GYWNobmlyIHJ0PTkzNTc4NzAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTc4NzAzNQoqd2FlbHoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbiB3YW5kIChGYWNobmlyLCAyNy4gQXVnIDE5OTksIDIwOjUxOjQxKToKa2VuIHNlbnQgbWUuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FuZCAoRmFjaG5pciwgMjcuIEF1ZyAxOTk5LCAyMToxNDoyOSk6CkRBcyBzb2xsdGUgZWluIEtsb3NwcnVjaCBmdWVyIGVpbmVuIG5hY2h0Y2x1YiBzZWluLCB3ZXIgYWFodG4gZGVubiBkYXMgZGFzCmdsZWljaCBwdWJsaXppZXJ0IHdpcmQsIGhlaiBuZSBwdWJsaWthdGlvbi4uLmRpZSBsaXN0ZSB3aXJkIGltbWVyIGxhZW5nZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtlaW4gUGxhdHogZnVlcnMgUGlja25pY2shIChNb25vdG9uaSwgMjcuIEF1ZyAxOTk5LCAyMzowODo1Nyk6Cn4jISBybj1aaW5vIHJ0PTkzNTc1MjQ2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTcxNTA2MApXb2Z1ZXIgaWNoIGRpZSBJbmZvcm1hdGlvbiBicmF1Y2hlLi4uIEtlaW4gS29tbWVudGFyIQoKQWJlciBudXIgc292aWVsOiBJY2ggaGF0dGUgZGllIFdhaGwgU3BpZWxlciB1bmQgTWFnaWVyCm5hY2ggJ3dpdHppZ2VuJyBQbGFldHplbiB6dSBmcmFnZW4uLi4KCk5hIGphLCBzb29vb29vIHNjaGxpbW0gd2VyZGVuIGRpZSBNYWdpZXItUGxhZXR6ZSBzY2hvbiBuaWNodCBzZWluISA6KQoKTW9ub3RvbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtlaW4gUGxhdHogZnVlcnMgUGlja25pY2shIChNYWhhdG11LCAzMC4gQXVnIDE5OTksIDEzOjUwOjQ5KToKfiMhIHJuPU1vbm90b25pIHJ0PTkzNTc5NTMzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNTcxNTA2MApLYW0gbWFuIGF1cyBkZW0gQnJ1bm5lbiBhdWYgVG9ldGVycyBJbnNlbD8gVW5kIHdpZSBzaWVodCBlcyBlaWdlbnRsaWNoCm1pdCAvcGxheWVycy9tb3Jnb3RoL3dvcmtyb29tLmMgYXVzPwoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVnaW9uZW4tU2VpdGVuIChHcmltbWFuLCAzMC4gQXVnIDE5OTksIDIxOjA1OjQwKToKSG1tbSAuLi4gd2VyZGVuIGRpZSBTZWl0ZW4gaXJnZW5kd2FubiBhdWZnZWZyaXNjaHQ/IEljaCBmaW5kZSBlcyBzY2hhZGUsIGRhcwpkaWUgUk1zIGRvcnQgbmljaHQgdm9sbHN0YWVuZGlnIHNpbmQsIGJ6dy4gbmljaHQgc3RpbW1lbiAuLi4gCk9kZXIgZ2lidCBlcyBub2NoIG5lIGFuZGVyZSBNb2VnbGljaGtlaXQgaGVyYXVzenVmaW5kZW4sIHdlbGNoZSBNYWdpZXIgZnVlcgp3ZWxjaGUgUmVnaW9uIHp1c3RhZW5kaWcgc2luZCwgYXVzc2VyIHNpZSBhbGxlIHp1IGZpbmdlcm4/CgpHcmltTWFuICwgaGF0IGRhIGdyYWQgZWluIFByb2JsZW0gZGVzd2VnZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWdpb25lbi1TZWl0ZW4gKFdpbSwgMzAuIEF1ZyAxOTk5LCAyMTowNjoyOCk6Cn4jISBybj1HcmltbWFuIHJ0PTkzNjA0NzE0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNjA0NzE0MApUamEsIGRhZnVlciBtdWVzc3RlIHNpY2ggbWVpc3QgbWFsIGplbWFuZCBmaW5kZW4sIGRlciBzaWNoIG1pdCBIVE1MIGF1c2tlbm50CnVuZCBkaWUgWmVpdCBkYWZ1ZXIgaGF0IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlZ2lvbmVuLVNlaXRlbiAoVGlsbHksIDMwLiBBdWcgMTk5OSwgMjE6MDk6MDcpOgp+IyEgcm49R3JpbW1hbiBydD05MzYwNDcxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzYwNDcxNDAKSG1tbSwgbnVuIGljaCBkZW5rZSBkYXNzIGVpbiAnaGlsZmUgcmVnaW9uc21hZ2llcicgRGlyIHNpY2hlciBoaWxmdC4gRGFzIHdpcnN0CkR1IG1laW5lbiAoYnp3LiBpY2ggd2Vpc3MgZXMgOi0pICkgdW5kIGRhcyBpc3QgYXVjaCBha3R1ZWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlZ2lvbmVuLVNlaXRlbiAoQXJrLCAzMC4gQXVnIDE5OTksIDIxOjEyOjE5KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTM2MDQ3MTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2MDQ3MTQwCkhtLCBhbHNvIHdhcyBkaWUgRWJlbmUgYW5nZWh0LCBkYXMgbGllZ3QgaW4gZGVuIEhhZW5kZW4gdm9uIEN5bW9uaywgdW5kIGVyCndvbGx0ZSB3YXMgdWViZXJhcmJlaXRlbiBpcmdlbmR3YW5uIGRlbW5hZWNoc3QuIFdhcyBkaWUgV3Vlc3RlIGFuZ2VodCwgdGphLCBkYQpzaWVodCBlcyBtYXUgYXVzLiBIbSwgZGVyIFJNIGlzdCB3YWhyc2NoZWlubGljaCB6dSBkb29mIGZ1ZXIgSFRNTCB1bmQgc3VjaHQKbnVyIG5vY2ggZWluZW4gU3BpZWxlcnNrbGF2ZW4gd2llIERpY2gsIGRlciBpaG0gaGlsZnQuIEFsc28sIHZvcmFuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVnaW9uZW4tU2VpdGVuIChHcmltbWFuLCAzMC4gQXVnIDE5OTksIDIxOjEzOjE3KToKfiMhIHJuPVRpbGx5IHJ0PTkzNjA0NzM0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNjA0NzE0MApMZWlkZXIgR290dGVzIG5pY2h0IGFrdHVlbGwsIFRzdW5hbWkgdGF1Y2h0IGRvcnQgTklDSFQgYWxzIFJNIFBvbGFyIGF1ZiAuLi4Kd2FzIHdlaXRlciBmYWxzY2ggaXN0LCB3ZWlzcyBpY2ggbmljaHQgLi4uCgpHcmltTWFuICwgbWVpbnRlIGRhcyBhYmVyIGFuc2ljaCBzY2hvbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWdpb25lbi1TZWl0ZW4gKFdpbSwgMzAuIEF1ZyAxOTk5LCAyMToxNDoyNSk6Cn4jISBybj1BcmsgcnQ9OTM2MDQ3NTM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2MDQ3MTQwCgpIaWVybWl0IGJlc3RpbW1lbiB3aXIgdW5zZXJlbiBtb3RpdmllcnRlbiBNaXRhcmJlaXRlciBBcmsgYWxzIEhUTUwgdmVydHJhdXRlbgpmdWVyIGRpZSBSZWdpb24gV3Vlc3RlLgoKU28gZWluZmFjaCBrYW5ucyBnZWhlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVnaW9uZW4tU2VpdGVuIChHcmltbWFuLCAzMC4gQXVnIDE5OTksIDIxOjE0OjI3KToKfiMhIHJuPUFyayBydD05MzYwNDc1Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzYwNDcxNDAKRGFzIGlzdCBBbnNpY2gga2VpbmUgc2NobGVjaHRlIElkZWUsIG51ciBoYWIgaWNoIGlyZ2VuZHdpZSBub2NoIHdlbmlnZXIgQWhudW5nCnZvbiBIVE1MIDspCgpHcmltTWFuICwgQmxhY2tCb3hVc2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWdpb25lbi1TZWl0ZW4gKEFyaywgMzAuIEF1ZyAxOTk5LCAyMToxNzowMik6Cn4jISBybj1XaW0gcnQ9OTM2MDQ3NjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2MDQ3MTQwCkhpZXJtaXQgbXVzcyBkZXIgaG9jaG1vdGl2aWVydGUgbWl0YXJiZWl0ZXIgd2VnZW4gZWluZXMgQmVzdGVjaHVuZ3N2b3J3dXJmcwpkYXMgQW10IHp3YW5nc3dlaXNlIGFibGVobmVuLiBFaW4gVW50ZXJzdWNodW5nc2F1c3NjaHVzcyBlcm1pdHRlbHQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVnaW9uZW4tU2VpdGVuIChTdHJlYXdrY2V1ciwgMzAuIEF1ZyAxOTk5LCAyMTozODo0MCk6Cn4jISBybj1XaW0gcnQ9OTM2MDQ3NjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2MDQ3MTQwCkJlZGllbnN0IER1IERpY2ggamV0enQgZGVzIFBsdXJhbGlzIE1hamVzdGF0aXMsIFdpbT8gV2lyIGhhYmVuIGJlc2NobG9zc2VuLApVbnNlcmVuIE1pdGFyYmVpdGVyLi4uLiA6LSkKCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RyZWF3a2NldXIgOi0pIChSYXJkaWFuLCAgMi4gU2VwIDE5OTksIDIwOjM1OjEyKToKfiMhIHJuPUFyayBydD05MzU3NzE3MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzU3NzE3MDYKSG0uLi4Kc3RpbW10LCBhYmVyIHJ1ZWNrd2FlcnRzIGdlbGVzZW4ga2xpbmd0IGVyIGJlc3Nlci4uLiAqdmVyd2lycnRhbWtvcGZrcmF0eioKClJhcmRpYW4sIGhldXRlIGluIEdlYmVybGF1bmUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RyZWF3a2NldXIgOi0pIChBcmssICAzLiBTZXAgMTk5OSwgMTc6NDA6NTApOgp+IyEgcm49UmFyZGlhbiBydD05MzYzMDQ1MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzU3NzE3MDYKSWhyIHNlaWQgamEgYWxsZSBuaWNodCBtZWhyIGdhbnogc2F1YmVyIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKFRhcmFnb24sICA1LiBTZXAgMTk5OSwgMTI6MzQ6MDMpOgp+IyEgcm49TWVyY3V0aW8gcnQ9OTM2NTM0Nzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2NTM0Nzk5CkphLCBzZWhyIGludGVyZXNzYW50LiBFcnphZWhsIG1laHIgdm9uIHp1aGF1c2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYW5nd2VpbGUgKEx1ZywgIDcuIFNlcCAxOTk5LCAyMzowMjozOCk6CgpLZW5udCBkYXMgbm9jaCBlaW5lcj8gRGllc2VzIEdlZnVlaGwgdm9uIE9lZGUsIHdlbm4gZGllIE1QQSBsZWVyIGlzdCB1bmQKZ2VyYWRlIGtlaW4gVHJvdHRlbCBhdWYgLWEgcnVtZmxlbm50PwoKRmlkS0d1SGRzYXYKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFuZ3dlaWxlIChTdHJlYXdrY2V1ciwgIDcuIFNlcCAxOTk5LCAyMzowOTo1Nyk6Cn4jISBybj1MdWcgcnQ9OTM2NzQ1MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM2NzQ1MzU4CkxvZ2cgbmVuIDJ0aSBlaW4gdW5kIGZsZW5uIHNlbGJzdCAKCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhbmd3ZWlsZSAoTHVnLCAgNy4gU2VwIDE5OTksIDIzOjEwOjM3KToKfiMhIHJuPVN0cmVhd2tjZXVyIHJ0PTkzNjc0NTc5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNjc0NTM1OAoKQWhhLCAKCmRlbSBpc3Qgb2VkZS4uLgoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFuZ3dlaWxlIChDaXJkYW4sIDEwLiBTZXAgMTk5OSwgMTc6MDM6MzMpOgp+IyEgcm49THVnIHJ0PTkzNjc0NTM1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNjc0NTM1OApXaWVzbzoga2VpbiBUcm90dGVsIGZsZW5udCBhdWYgLWEgcnVtPyBEVSB3YXJzdCBkb2NoIGRhIChncmlucykuCgpGcmVjaCB3aWUgaW1tZXIsCkNpcmRhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaWJpZXIhIChFbG9yYSwgMTEuIFNlcCAxOTk5LCAwOToyNjoyNyk6CgpLYXVtIHp1IGdsYXViZW4sIGFiZXIgd2FocjogTHVnIHVuZCBpY2ggemllaGVuIHVtIQoKRGFmdWVyIHN1Y2hlbiB3aXIgbm9jaCBmbGVpc3NpZ2UgSGVsZmVyIGluIE5pZWRlcm5oYXVzZW4gKHp3aXNjaGVuIEZyYW5rZnVydAp1bmQgV2llc2JhZGVuKSBiZWkgbWlyIChmYXN0IG51ciBLYXJ0b25zLCB3ZW5pZyBNb2ViZWwpIHVuZC9vZGVyIGluIE1hcmJ1cmcuCgpFaW4gTGtXIHdpcmQgZ2VtaWV0ZXQgdW5kIGdlYm90ZW4gd2VyZGVuIEZyZWliaWVyIHVuZCBQaXp6YSAob2RlciBzb3dhcykgdW5kCm5hdHVlcmxpY2ggTFVHIC0gbGl2ZSB1bmQgaW4gRmFyYmUhISEgOikKCkF1ZiB6YWhscmVpY2hlIFVudGVyc3R1ZXR6dW5nIGhvZmZlbmQsCgpFbG9yYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaWJpZXIgLSBOYWNodHJhZyAoRWxvcmEsIDExLiBTZXAgMTk5OSwgMDk6MzA6MzcpOgoKCk9rYXksIGVpbmUgVGVybWluYW5nYWJlIHdhZXJlIHZpZWxsZWljaHQgYXVjaCBub2NoIGhpbGZyZWljaC4uLgoKRGFzIGdhbnplIFNwZWt0YWtlbCBzb2xsIHN0YXR0ZmluZGVuIGFtIERpZW5zdGFnLCAyMS45LiB2b3JtaXR0YWdzIGluCk5pZWRlcm5oYXVzZW4gdW5kIG5hY2htaXR0YWdzIGluIE1hcmJ1cmcgKE5pZWRlcndlaW1hciB1bSBnZW5hdSB6dSBzZWluKSAtIGplCm5hY2hkZW0gd2llIHNjaG5lbGwgd2lyIHNlaW4gd2VyZGVuLgoKRWxvcmEgKGhvZmZ0LCBkYXNzICJhbGxnZW1laW4iIG1laHIgQWJvbm5lbnRlbiBoYXQgYWxzICJBbnplaWdlbiIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpicmllZiAoQmVubnksIDExLiBTZXAgMTk5OSwgMTU6MzA6MDkpOgpoYWxsbyBncmltbWFuIAoKd2VubiB3aXIgMiBtYWwgenVmbGxpZyBhbSBnbGVpY2hlbiB0YWcgenVyIGdsZWljaGVuIHplaXQgYW53ZXNlbmQgc2luZCBtdXNzdApkdSBtaWNoIG1hbCB6dSBkZWluZW0gaGF1cyBmaHJlbi4gZGFubiB3ZWdlbiBkZXIgdmVybG9idW5nOiBkaWUgZHVtbWVuIHN0ZXJiZW4KbmllIGF1cy4gOi0pICBhYmVyIHdlbm4gZXMgc2VpbiBtdXNzISEhICAKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJyaWVmIChIZXJvbWNmbHksIDExLiBTZXAgMTk5OSwgMTc6NDg6NDApOgp+IyEgcm49QmVubnkgcnQ9OTM3MDYzODA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3MDYzODA5CmRpZSBtcGEgaXN0IGtlaW4gcG9zdGFtdCB1bmQgbWl0bSBicmllZmdlaGVpbW5pc3Mgd2lyZHMgYXVjaCBuIGJpc3Nlcmwgc2Nod2VyCjspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIFplaXQgKEhhdGUsIDEzLiBTZXAgMTk5OSwgMTI6MDI6MjgpOgpBbHNvLCBkaWUgUmVjaG5lcnplaXQgaXN0IGpldHp0IHdpZWRlciBrb3JyZWt0LCBhYmVyIGRhcyBNVUQgc2NoZWludApkYXMgbmljaHQgbWl0enViZWtvbW1lbi4gQWxzbyByZWNobmV0IDIgU3R1bmRlbiBkYXp1LCBkZW5uIGRpZSBpbQpNb21lbnQgZXJzY2hlaW5lbmRlIFplaXQgaXN0IFVUQyAoVW5pdmVyc2FsIFRpbWUgQ29vcmRpbmF0ZSkuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVkdBIFBsYW5ldHMgKERlZXBibHVlLCAxMy4gU2VwIDE5OTksIDEyOjMzOjEwKToKaGF0IGhpZXIgamVtYW5kIEx1c3QsIGFuIG5lbSBWR0EtUGxhbmV0cy1TcGllbCB0ZWlsenVuZWhtZW4/Ckdlc3BpZWx0IHdpcmQgdW50ZXIgVEhPU1QsIHNldHRpbmdzIGthbm4gaWNoIGJlaSBiZWRhcmYgcGVyIEVtYWlsIHp1c2NoaWNrZW4KU3BpZWx6dWVnZSBrb2VubmVuIG1pdCBlaW5lbSBGaWRvbWFpbGVyICh6LkIuIENyb3NzcG9pbnQpIGFiZ2VnZWJlbiB3ZXJkZW4sCkVtYWlsYWJnYWJlIGdlaHQgbGVpZGVyIG5pY2h0LgoKQmVpIGludGVyZXNzZSBiaXR0ZSBtYWlsIGFuIG1pY2guCkRSCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVkdBIFBsYW5ldHMgKFdpbSwgMTMuIFNlcCAxOTk5LCAxMjozNDoxMyk6Cn4jISBybj1EZWVwYmx1ZSBydD05MzcyMjU5OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzcyMjU5OTAKT2g/IGRhcyBnaWJ0cyBub2NoPyBGaWRvbmV0IGlzdCBub2NoIG5pY2h0IHRvdD8KCldpbSwgaGF0dGUgdm9yIDUgSmFocmVuIGRhcyBsZXR6dGUgbWFsIFZHQSBQbGFudGVzIChldmlsIGVtcGlyZSkgZ2VzcGllbHQgdW5kCnNlaW5lIEZpZG9ib3ggdm9yIDIgSmFocmVuIGdlc2NobG9zc2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVkdBIFBsYW5ldHMgKEhvdXNlaG9sZGVyLCAxMy4gU2VwIDE5OTksIDEyOjM3OjM5KToKfiMhIHJuPURlZXBibHVlIHJ0PTkzNzIyNTk5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzIyNTk5MApub2Uga2VpbmUgbHVzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWR0EgUGxhbmV0cyAoRGVlcGJsdWUsIDEzLiBTZXAgMTk5OSwgMTI6NDg6MDQpOgp+IyEgcm49V2ltIHJ0PTkzNzIyNjA1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzIyNTk5MApNZWluZSBGaWRvYm94IGlzdCBhdWNoIHNlaXQgbmVtIEphaHIgenUsIGVpbiBQb2ludGFjY291bnQgZXhpc3RpZXJ0IGFiZXIgbm9jaC4KRGllIFphaGwgZGVyIExldXRlIGlzdCBuYXR1ZXJsaWNoIHp1cnVlY2tnZWdhbmdlbiwgYWJlciBpbW1lciBub2NoIG9yZGVudGxpY2guClVuZCBQbGFuZXRzIG1hY2h0IGltbWVyIG5vY2ggc3Bhc3MsIER1IHNvbGx0ZXN0IG1hbCB3aWVkZXIuIFdlbm4gaWNocyByaWNodGlnCmluIGVyaW5uZXJ1bmcgaGFiZSwgaXN0IGRhcyBFbXBpcmUgc29nYXIgbm9jaCBmcmVpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlaWJpZXIhIChSb2NodXMsIDEzLiBTZXAgMTk5OSwgMTM6MTQ6MDMpOgp+IyEgcm49RWxvcmEgcnQ9OTM3MDQxOTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3MDQxOTg3Cj4gWy4uLl0gKGZhc3QgbnVyIEthcnRvbnMsIHdlbmlnIE1vZWJlbCkKQWVoLCBkb2NoIG5pY2h0IGV0d2EgcmFuZHZvbGwgbWl0IEJVRUNIRVJOIGdlcGFja3RlIEthcnRvbnMsIG9kZXI/IDstKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJlaWJpZXIhIChUZWRkeSwgMTMuIFNlcCAxOTk5LCAxMzo1NjoxOSk6Cn4jISBybj1Sb2NodXMgcnQ9OTM3MjI4NDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3MDQxOTg3CldvbWl0IHNvbGwgbWFuIGRpZSBzb25zdCB2b2xscGFja2VuPwpBdXNzZXJkZW0sIG51ciBlaW4gdm9sbGVyIEthcnRvbiBpc3QgZWluIGd1dGVyIEthcnRvcG4gOy0pCgpUZWRkeSwgZ2VoYXNzdCBmdWVyIHNlaW5lIFVtenVlZ2UgdW5kIG1pdHRlbiBpbiBkZXIgV29jaGUgbmljaHQgZ2VyYWRlIGluIGRlcgpOYWVoZSB2b24gSGVzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZWliaWVyISAoTHVnLCAxNC4gU2VwIDE5OTksIDIzOjUyOjE1KToKfiMhIHJuPUVsb3JhIHJ0PTkzNzA0MTk4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzA0MTk4NwpIbW1tPwoKRWNodD8KVW5kIHNlaXQgd2FubiBMSVZFPyBJY2ggd2FyIG5vY2ggbmllIGxpdmUuLi4KCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmVpYmllciEgKEx1ZywgMTQuIFNlcCAxOTk5LCAyMzo1MzoyMyk6Cn4jISBybj1Sb2NodXMgcnQ9OTM3MjI4NDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3MDQxOTg3CkhtLAoKYWxzbyBpY2gga2FubiBqYSBuaWNodCBsZXNlbi4uLgoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZWliaWVyISAoRWxvcmEsIDE1LiBTZXAgMTk5OSwgMTI6NTg6MjUpOgp+IyEgcm49Um9jaHVzIHJ0PTkzNzIyODQ0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzA0MTk4NwoKTmVpbiwgbmF0dWVybGljaCBuaWNodCByYW5kdm9sbCBtaXQgQnVlY2hlcm4gLSBFTE9SQSBMSUVTVCBET0NIIE5JQ0hUISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYnJpZWYgKENhaWxsZWFuLCAxNy4gU2VwIDE5OTksIDAxOjE5OjA4KToKfiMhIHJuPUJlbm55IHJ0PTkzNzA2MzgwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzA2MzgwOQpzb3NvLCBkaWUgZHVtbWVuIHN0ZXJiZW4gbmllIGF1cy4uLgp3ZW5uIGR1IGlyZWdlbmR3YXMgYW56dW1lcmtlbiBoYXN0LCBrbGVpbmVyLCBkYW5uIG1hY2hzIGRvY2ggbGllYmVyCnBlcnNvZW5saWNoLCBhbSBiZXN0ZW4gaW4gZGVyIGFyZW5hCgpncmltbWFucyBnbHVlY2tsaWNoIHZlcmxvYnRlLCBtaXQgZGVtIGZlZGVyaGFuZHNjaHVoIHdpbmtlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYnJpZWYgKEFwb2xsb25pYSwgMTcuIFNlcCAxOTk5LCAxMDozMzo0MSk6Cn4jISBybj1DYWlsbGVhbiBydD05Mzc1MzExNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzcwNjM4MDkKQWVoLi4uIGhpZXNzIGRhcyBuaWNodCBGZWhkZWhhbmRzY2h1aD8/Pz8gOykKQXBvKiAoc2ljaCB3dW5kZXJuZCwgb2IgbWFuIG1pdCBlaW5lciBGZWRlciBTY2hhZGVuIGFucmljaHRlbiBrYW5uLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYnJpZWYgKFN0cmVhd2tjZXVyLCAxNy4gU2VwIDE5OTksIDEwOjM0OjE1KToKfiMhIHJuPUFwb2xsb25pYSBydD05Mzc1NjQ0MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzcwNjM4MDkKVG90a2l0emVsbj8gOi0pCgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYnJpZWYgKFJhcmRpYW4sIDE3LiBTZXAgMTk5OSwgMTA6NTI6MjkpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTkzNzU2NDQyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzA2MzgwOQpBcG8sIGRhcyBtaXQgZGVtIFNjaGFkZW4gaXN0IGRvY2ggbnVyIHN5bWJvbGlzY2guLi4KClJhcmRpYW4gd3VuZGVydCBzaWNoIHVlYmVyIGdhciBuaWNodHMgbWVociA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBicmllZiAoSmFtYWxza2ksIDE3LiBTZXAgMTk5OSwgMTM6NTA6MzQpOgp+IyEgcm49Q2FpbGxlYW4gcnQ9OTM3NTMxMTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3MDYzODA5CkljaCB3b2xsdGUgbnVyIGF1Y2ggYW5tZXJrZW4sIGRhc3MgZGVyIEZlaGRlbmhhbmRzY2h1aCBhdWNoIGJlaSBtaXIgbG9ja2VyCnNpdHp0IQpKYW1hbHNraSwgR2lsZGVuc2NoYW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYnJpZWYgKE5ldm9rLCAxNy4gU2VwIDE5OTksIDE2OjEyOjU2KToKfiMhIHJuPUphbWFsc2tpIHJ0PTkzNzU3NjIzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzA2MzgwOQpwZmZmZmZmZmZmdCBkaWUgYmV3ZXJmZW4gc2ljaCBiZXN0aW1tdCBtaXQgV2F0dGViYWV1c2NoY2hlbgonRGEgRHUgYm9lc2VyIEZlaW5kIER1JyAqc2NobWVpc3MqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBicmllZiAoR3JpbW1hbiwgMTguIFNlcCAxOTk5LCAxNzoxOTo1OCk6Cn4jISBybj1DYWlsbGVhbiBydD05Mzc1MzExNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzcwNjM4MDkKSGEsIGRhIHNpZWhzdGVzLCBCZW5ueSEKCkdyaW1NYW4gLCBsaWVidCBzZWluIHJlc29sdXRlcyBNYXVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKb2ssb2ssb2s6IGZlaGRlaGFuZHNjaHVoICpzY2hhZW0qIChDYWlsbGVhbiwgMTkuIFNlcCAxOTk5LCAxNzo0NToyMCk6CndpZSBhdWNoIGltbWVyLCBlcyB3YXIgc3BhZXQgdW5kIGljaCB3YXIgc2F1ZXIuCnNwYW5uZW5kIGlzIGpldHp0IG51ciwgZGFzcyBkZXIgYmV0cm9mZmVuZSBvZmZlbnNpY2h0bGljaCBsaWViZXIgYmV0cm9mZmVuCnNjaHdlaWd0OikKbmFqYSwgd2lyIHdlcmRlbiBzZWhlbi4uLi4KCmNhaWxsZWFuLCBzZWhyIHJlc29sdXQgdW5kIHNjaG9uIGltbWVyIGdld3Vzc3QgaGFiZW5kLCBkYXNzIG1hbmNoZSBtYWVubmVyCmVpbmZhY2ggZmVpZ2Ugc2luZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG9rLG9rLG9rOiBmZWhkZWhhbmRzY2h1aCAqc2NoYWVtKiAoR3JpbW1hbiwgMTkuIFNlcCAxOTk5LCAyMzo0MjoyMik6Cn4jISBybj1DYWlsbGVhbiBydD05Mzc3NjMxMjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Mzc3NjMxMjAKSGEsIGljaCBiaW4gYWxzbyBuaWNodCBmZWlnZSwga2FubiBpY2ggamEgbmljaHQgc2Vpbiwgc2NobGllc3NsaWNoIGJpbiBpY2ggbWl0CmRpciB2ZXJsb2J0IDspCgpHcmltTWFuICwgaXN0IHN0b2x6IGRyYXVmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogb2ssb2ssb2s6IGZlaGRlaGFuZHNjaHVoICpzY2hhZW0qIChSYXJkaWFuLCAyMC4gU2VwIDE5OTksIDE1OjA2OjQwKToKfiMhIHJuPUNhaWxsZWFuIHJ0PTkzNzc2MzEyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzNzc2MzEyMApKZWRlciBpc3QgbWFsIGZlaWdlLi4uCm9kZXI/Cm9kZXIgbmljaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG9rLG9rLG9rOiBmZWhkZWhhbmRzY2h1aCAqc2NoYWVtKiAoQW5hdG9sLCAyMS4gU2VwIDE5OTksIDE4OjQ4OjExKToKfiMhIHJuPVJhcmRpYW4gcnQ9OTM3ODQwMDAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3NzYzMTIwCk5hY2h0cmFnLi4uIGRpZXNlciBvbWlub2VzZSBCcmllZiwgZGVyIGRhIGluIGRlciBaZWl0dW5nIHN0ZWh0LCAuLi4gZGVuCmhhdCBCZW5ueSBkYW5uIG5vY2htYWwgYW4gR3JpbW1hbiBhYmdlc2NoaWNrdC4gTmFqYS4uLi4gOykKCkNjOiBOaWNodHMsIEF1Y2gsIEljaCwgU2NocmVpYmUsIEFsbHNvLCAqVU5HVUVMVElHRVIgTkFNRTogYmVkZXV0ZXQuICosIENjLApXYXMsIE5pY2h0LCBXZWlzCgpNdXNzIGltbWVyIHdpZWRlciBncmluc2VuIDopCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG9rLG9rLG9rOiBmZWhkZWhhbmRzY2h1aCAqc2NoYWVtKiAoR3JpbW1hbiwgMjMuIFNlcCAxOTk5LCAwMDo1MDo0OSk6Cn4jISBybj1BbmF0b2wgcnQ9OTM3OTM5NjkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM3NzYzMTIwCmhtbW0gLi4uIGphLGhhYiBtaWNoIHNjaG9uIGdld3VuZGVydCA7KQoKR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm5vcmQ/IFdhcyBpc3QgZGFzPyAoTmV2b2ssIDI0LiBTZXAgMTk5OSwgMTY6MTk6NTgpOgpOdW4gamEsIG5hY2hkZW0gaWNoIGRpZXNlIEZyYWdlIHNjaG9uIG9lZnRlcnMgZ2Vob2VydCBoYWJlIHVuZCAnS3VsdHVyJwpwaWNrZXBhY2tlIHZvbGwgaXN0Li4uLgoKRm5vcmQ/IApGbm9yZCBpcyBldmFwb3JhdGVkIGhlcmJhbCB0ZWEgd2l0aG91dCB0aGUgaGVyYnMuIApGbm9yZCBpcyB0aGF0IGZ1bm55IGZlZWxpbmcgeW91IGdldCB3aGVuIHlvdSByZWFjaCBmb3IgdGhlIFNuaWNrZXJzIGJhciBhbmQKY29tZSBiYWNrIGhvbGRpbmcgYSBzbHVycGVlLiAKRm5vcmQgaXMgdGhlIDQzIDEvM3JkIHN0YXRlLCBuZXh0IHRvIFd5b21pbmcuIApGbm9yZCBpcyB0aGlzIHJlYWxseSwgcmVhbGx5IHRhbGwgbW91bnRhaW4uIApGbm9yZCBpcyB0aGUgcmVhc29uIGJveGVzIG9mIGNvbmRvbXMgY2FycnkgdHdlbHZlIGluc3RlYWQgb2YgdGVuLiAKRm5vcmQgaXMgdGhlIGJsdWUgc3RyaXBlcyBpbiB0aGUgcm9hZCB0aGF0IG5ldmVyIGdldCBwYWludGVkLiAKRm5vcmQgaXMgcGxhY2Ugd2hlcmUgdGhvc2Ugc29ja3MgdmFuaXNoIG9mZiB0byBpbiB0aGUgbGF1bmRyeS4gCkZub3JkIGlzIGFuIGFyY2FkZSBnYW1lIGxpa2UgUGFjbWFuIHdpdGhvdXQgdGhlIGxpdHRsZSBkb3RzLiAKRm5vcmQgaXMgYSBsaXR0bGUgcHVmZmxpa2UgY2xvdWQgeW91IHNlZSBhdCA1cG0uIApGbm9yZCBpcyB0aGUgdG9vbCB0aGUgZGVudGlzdCB1c2VzIG9uIHVucnVseSBwYXRpZW50cy4gCkZub3JkIGlzIHRoZSBibGFuayBwYXBlciB0aGF0IGNhc3NldHRlIGxhYmVscyBhcmUgcHJpbnRlZCBvbi4gCkZub3JkIGlzIHdoZXJlIHRoZSBidXNlcyBoaWRlIGF0IG5pZ2h0LiAKRm5vcmQgaXMgdGhlIGVtcHR5IHBhZ2VzIGF0IHRoZSBlbmQgb2YgdGhlIGJvb2suIApGbm9yZCBpcyB0aGUgc2NyZXcgdGhhdCBmYWxscyBmcm9tIHRoZSBjYXIgZm9yIG5vIHJlYXNvbi4gCkZub3JkIGlzIHdoeSBCdXJnZXIgS2luZyB1c2VzIHBhcGVyIGluc3RlYWQgb2YgZm9hbS4gCkZub3JkIGlzIHRoZSBsaXR0bGUgZ3JlZW4gcGViYmxlIGluIHlvdXIgc2hvZS4gCkZub3JkIGlzIHRoZSBvcmFuZ2UgcHJpbnQgaW4gdGhlIHllbGxvdyBwYWdlcy4gCkZub3JkIGlzIGEgcGlja2xlIHdpdGhvdXQgdGhlIGJ1bXBzLiAKRm5vcmQgaXMgd2h5IGR1Y2tzIGVhdCB0cmVlcy4gCkZub3JkIGlzIHRvYXN0IHdpdGhvdXQgYnJlYWQuIApGbm9yZCBpcyBhIHZlbmV0aWFuIGJsaW5kIHdpdGhvdXQgdGhlIHNsYXRzLiAKRm5vcmQgaXMgdGhlIGxpbnQgaW4gdGhlIG5hdmVsIG9mIHRoZSBtaXRlcyB0aGF0IGVhdCB0aGUgbGludCBpbiB0aGUgbmF2ZWwgb2YKdGhlIG1pdGVzIHRoYXQgZWF0IHRoZSBsaW50IGluIEZub3JkJ3MgbmF2ZWwuIDtGbm9yZCBpcyBhbiBhcG9zdHJvcGhlIG9uCmRydWdzLiA7Rm5vcmQgaXMgdGhlIGJ1Y2tldCB3aGVyZSB0aGV5IGtlZXAgdGhlIHVudXNlZCBzZXJpZnMgZm9yIEgqbHZldGljYS4KO0Zub3JkIGlzIHRoZSBndW5rIHRoYXQgc3RpY2tzIHRvIHRoZSBpbnNpZGUgb2YgeW91ciBjYXIncyBmZW5kZXJzLiAKRm5vcmQgaXMgdGhlIHNvdXJjZSBvZiBhbGwgdGhlIHplcm8gYml0cyBpbiB5b3VyIGNvbXB1dGVyLiAKRm5vcmQgaXMgdGhlIGVjaG8gb2Ygc2lsZW5jZS4gCkZub3JkIGlzIHRoZSBwYXJzbGV5IG9uIHRoZSBwbGF0ZSBvZiBsaWZlLiAKRm5vcmQgaXMgdGhlIHNhbGVzIHRheCBvbiBoYXBwaW5lc3MuIApGbm9yZCBpcyB0aGUgcHJlcG9zaXRpb24gYXQgdGhlIGVuZCBvZiBzaXhwZW5jZS4gCkZub3JkIGlzIHRoZSBmZWVsaW5nIGluIHlvdXIgYnJhaW4gd2hlbiB5b3UgaG9sZCB5b3VyIGJyZWF0aCB0b28gbG9uZy4gCkZub3JkIGlzIHRoZSByZWFzb24gbGF0ZW50IGhvbW9zZXh1YWxzIHN0YXkgbGF0ZW50LiAKRm5vcmQgaXMgdGhlIGRvbnV0IGhvbGUuIApGbm9yZCBpcyB0aGUgd2hvbGUgZG9udXQuIApGbm9yZCBpcyBhbiBhbm5veWluZyBzZXJpZXMgb2YgZW1haWwgbWVzc2FnZXMuIApGbm9yZCBpcyB0aGUgY29sb3Igb25seSBibGluZCBwZW9wbGUgY2FuIHNlZS4gCkZub3JkIGlzIHRoZSBzZXJpYWwgbnVtYmVyIG9uIGEgYm94IG9mIGNlcmVhbC4gCkZub3JkIGlzIHRoZSBVbml2ZXJzZSB3aXRoIGRlY3JlYXNpbmcgZW50cm9weS4gCkZub3JkIGlzIGEgbmFrZWQgd29tYW4gd2l0aCBoZXJwZXMgc2ltcGxleCA0MjguIApGbm9yZCBpcyB0aGUgeWluIHdpdGhvdXQgeWFuZy4gCkZub3JkIGlzIGEgcHlyb3R1bWVzY2VudCByZXRyb2dyYWRlIG9ueXggb2JlbGlzay4gCkZub3JkIGlzIHdoeSBsaXNwIGhhcyBzbyBtYW55IHBhcmVudGhlc2VzLiAKRm5vcmQgaXMgdGhlIHRoZSBmb3VyLWxlYWYgY2xvdmVyIHdpdGggYSBtaXNzaW5nIGxlYWYuIApGbm9yZCBpcyBkb3VibGUtam9pbnRlZCBhbmQgaGFzIGEgY3ViaWMgc3BsaW5lLiAKRm5vcmQgbmV2ZXIgc2xlZXBzLiAKRm5vcmQgaXMgdGhlICJlZW4iIGluIGJhbGVlbiB3aGFsZS4gRm5vcmQgaXMgbmVpdGhlciBhIHBhcnRpY2xlIG5vciBhIHdhdmUuIApGbm9yZCBpcyB0aGUgc3BhY2UgaW4gYmV0d2VlbiB0aGUgcGl4ZWxzIG9uIHlvdXIgc2NyZWVuLiAKRm5vcmQgaXMgdGhlIGd1eSB0aGF0IHdyaXRlcyB0aGUgSW5maW5pdGkgYWRzLiAKRm5vcmQgaXMgdGhlIG51dCBpbiBwZWFudXQgYnV0dGVyIGFuZCBqZWxseS4gCkZub3JkIGlzIGFuIGFudGViZWxsdW0gZmxhZ2VsbHVtIGZlbGxhLiAKRm5vcmQgaXMgYSBzZW50aWVudCB2YWN1dW0gY2xlYW5lci4gCkZub3JkIGlzIHRoZSBzbWFsbGVzdCBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8uIApGbm9yZCBsaXZlcyBpbiB0aGUgZW1wdHkgc3BhY2UgYWJvdmUgYSBkZWNpbWFsIHBvaW50LiAKRm5vcmQgaXMgdGhlIG9kZC1jb2xvcmVkIHNjYWxlIG9uIGEgZHJhZ29uJ3MgYmFjay4gO0Zub3JkIGlzIHRoZSByZWR1bmRhbnQKY29pbiBzbG90IG9uIGFyY2FkZSBnYW1lcy4gO0Zub3JkIHdhcyBsYXN0IHNlZW4gaW4gT21haGEsIE5lYnJhc2thLiA7Rm5vcmQgaXMKdGhlIGZvdW5kaW5nIGZhdGhlciBvZiB0aGUgcGhyYXNlICJmb3VuZGluZyBmYXRoZXIiLiA7Rm5vcmQgaXMgdGhlIGxhc3QgYml0IG9mCnNhbmQgeW91IGNhbid0IGdldCBvdXQgb2YgeW91ciBzaG9lLiAKRm5vcmQgaXMgSmVzdXMncyBzcGVlY2ggYWR2aXNvci4gO0Zub3JkIGtlZXBzIGEgc3BhcmUgZXllYnJvdyBpbiBoaXMgcG9ja2V0Lgo7Rm5vcmQgaW52ZW50ZWQgdGhlIGdyZWVuIGh1YmNhcC4gO0Zub3JkIGlzIHdoeSBkb2N0b3JzIGFzayB5b3UgdG8gY291Z2guCjtGbm9yZCBpcyB0aGUgIm9vbyIgaW4gdmFyb29vbSBvZiByYWNlIGNhcnMuIDtGbm9yZCB1c2VzIHR3byBiYXRodHVicyBhdCBvbmNlLgo7SSBjYW5ub3QgZXNjYXBlIHRoZW0gTm8gbWF0dGVyIGhvdyBJIHRyeSBUaGV5IHdhaXQgZm9yIG1lIGV2ZXJ5d2hlcmUgSSBjYW5ub3QKcGFzcyB0aGVtIGJ5LiBEcml2aW5nIGRvd24gdGhlIHN0cmVldCBJIHNlZSAiSmVzdXMgSXMgTG9yZCIgQW5kIHRoZW4KaW1tZWRpYXRlbHkgYWZ0ZXIgSSBoZWFyIHRoZSB3b3JkICJGTk9SRCEiIElubm9jdW91cyBzYXlpbmdzIGFuZCBwYXJhYmxlcyBBbmQKb24gdGhlIGV2ZW5pbmcgbmV3cyBJIGhlYXIgdGhlIHdvcmQgIkZOT1JEISIgQW5kIHN1ZGRlbmx5IEknbSBjb25mdXNlZCBJIHNpdAphbG9uZSBpbiBteSByb29tIEFuZCBJJ20gZmVlbGluZyByYXRoZXIgYm9yZWQgSSB0dXJuIG9uIHRoZSB0dWJlIGFuZCBndWVzcwp3aGF0IEkgaGVhciB0aGUgd29yZCAiRk5PUkQhIiAiRG9uJ3Qgc2VlIHRoZSBmbm9yZHMgYW5kIHRoZXkgd29uJ3QgZWF0IHlvdSIKVGhhdCdzIHdoYXQgSSd2ZSBoZWFyZCB0aGUgd2lzZW1lbiBzYXkgQnV0IEkgY2FuJ3QgZ2V0IGF3YXkgZnJvbSB0aG9zZQpiZWFzdGllcyBUaGVyZSdzIGp1c3Qgbm8gZnVja2luZyB3YXkuIEkgYmVsaWV2ZSBJIGZvdW5kIHRoZXNlIG9uIGFsdC5kaXNjb3JkaWEKYnV4dG9uQHVpdWMuZWR1IAoKCkFsbCBIYWlsIEVSSVMgISEhCkFsbCBIYWlsIERJU0NPUkRJQSAhISEKCk5ldm9rLCBzdG9semVyIEJlc2l0emVyIHZvbiAgUFJJTkNJUElBIERJU0NPUkRJQSAqIG9yICogSG93IEkgRm91bmQgR29kZGVzcwpBbmQgV2hhdCBJIERpZCBUbyBIZXIgV2hlbiBJIEZvdW5kIEhlciBUSEUgTUFHTlVNIE9QSUFURSBPRiBNQUxBQ0xZUFNFIFRIRQpZT1VOR0VSIFdoZXJlaW4gSXMgRXhwbGFpbmVkIEFic29sdXRlbHkgRXZlcnl0aGluZyBXb3J0aCBLbm93aW5nIEFib3V0CkFic29sdXRlbHkgQW55dGhpbmcgUHVibGlzaGVkIEJ5OiBMT09NUEFOSUNTIFVOTElNSVRFRCBQTyBCT1ggMTE5NyBQb3J0ClRvd25zZW5kLCBXQSA5ODM2OCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChIYXRlLCAyNi4gU2VwIDE5OTksIDE4OjE0OjAwKToKRXMgaXN0IFNjaGx1c3MgbWl0IEx1c3RpZyAuLi4KCkFsbGUgdW5zZXJlIEdvZXR0ZXIgc2luZCBlaW5lbSBWaXJ1cyB6dW0gT3BmZXIgZ2VmYWxsZW4gdW5kIHdlcmRlbgpqZXR6dCBkdXJjaCBleHRlcm5lIEdld2FsdCBiZWVpbmZsdXNzdC4gS2VpbiBlaW56aWdlciBpc3QgamV0enQgbWVocgp1ZWJyaWcsIGRlciBhdWNoIG51ciBkYXMgZ2VyaW5nc3RlIG9obmUgZGllIEVpbmZsdXNzbmFobWUgc2VpbmVyIEZyYXUKdHV0LgoKQXVzIGRpZXNlbSBHcnVuZGUgc2NobGFnZSBpY2ggdm9yLCBpbiBlaW5lciBVbXN0dXJ6YWt0aW9uIGRpZSBHb2V0dGVyCnp1IGVudG1hY2h0ZW4gdW5kIGRpZSBNYWNodCBhbiBkaWUsIG5vY2ggZnJlaWVuLCBFcnptYWdpZXIgenUgdWViZXJnZWJlbi4KCk1laW5lIFdlbmlna2VpdCBpc3Qgdm9uIGRpZXNlbSBWaXJ1cyBub2NoIG5pY2h0IGJlZmFsbGVuIHVuZCBkZXNoYWxiCmF1Y2ggZnVlciBkYXMgVm9sayBoaWVyIG5hY2h6dXZvbGx6aWVoZW4sIHdhcyBiZWkgZGVuIGpldHppZ2VuIEdvZXR0ZXJuCm5pY2h0IGRlciBGYWxsIGlzdC4gSXJyYXRpb25hbGVzIFZlcmhhbHRlbiBrYW5uIG5pY2h0IGdlZHVsZGV0IHdlcmRlbiEKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEFuYXRvbCwgMjYuIFNlcCAxOTk5LCAxODoxNToyMCk6Cn4jISBybj1IYXRlIHJ0PTkzODM2OTY0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApCaXR0ZWJpdHRlLCBzYWcsIGRhc3MgUGFkcmVpYyBOSUNIVCBmcmVpIGlzdCEgU293YXMga2FubiBtYW4gbmljaHRtYWwKSU0gU0NIRVJaRSBsYXV0IHNhZ2VuIG9kZXIgbGVpc2UgZGVua2VuIHdvbGxlbiEgQml0dGViaXR0ZSEKCkFuYXRvbCAtIFBhYWFhYWFhYWFhYW5paWlpaWlpayEgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChUZWRkeSwgMjYuIFNlcCAxOTk5LCAxOTozODoxNik6Cn4jISBybj1BbmF0b2wgcnQ9OTM4MzY5NzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCkthbm5zdCBkdSBkaXIgZGVubiB2b3JzdGVsbGVuLCBkYXNzIGVyIGVzIG5pY2h0IGlzdCwgYW5hdG9sPwoKVGVkZHksIGRlc3NlbiBWb3N0ZWxsdW5nc2tyYWZ0IGVpbmZhY2ggbmljaHQgYXVzcmVpY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEFuYXRvbCwgMjYuIFNlcCAxOTk5LCAxOTozOTo0OCk6Cn4jISBybj1UZWRkeSBydD05MzgzNzQ2OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKQXVzICJoaWxmZSBlcnptYWdpZXIiOgogICAgICAgIFBhZHJlaWMga3VlbW1lcnQgc2ljaCB1bSBkYXMgd2FydGVuIGRlciBNdWRsaWIgdW5kIHVtIGRhcwogICAgICAgIGRva3VtZW50aWVyZW4gZGVyIGdhZW5naWdlbiB1bmQgb2Z0IGJlbm9ldGlndGVuIEZ1bmt0aW9uZW4uCgpNbW1tbW1tbWgsIHNvIHdpZSBpY2ggZGllIE11ZGxpYiBrZW5uZSwgaXN0IGRhcyBlaW4gSm9iIGZ1ZXIncyBMZWJlbi4KTmVpbiwgUGFkcmVpYyBrYW5uIHJlaW4gdGhlb3JldGlzY2ggbmljaHQgZnJlaSBzZWluLiBSZWluIHRoZW9yZXRpc2NoLgoKQW5hdG9sIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEdyaW1tYW4sIDI2LiBTZXAgMTk5OSwgMTk6NDE6MjUpOgp+IyEgcm49QW5hdG9sIHJ0PTkzODM3NDc4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApIbW1tLCBhbmRlcnMsIGVyIGlzdCBuYXR1ZXJsaWNoIG5pY2h0IGZyZWksIGRlbm4gZGllIE11ZGxpYiBpc3QKYW5zcHJ1Y2hzdm9sbGVyIGFscyBtYW5jaGUgRnJhdSwgb2Rlcj8KCk1CSU1HICwgR3JpbU1hbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFd1cnplbCwgMjYuIFNlcCAxOTk5LCAxOTo0MjozOSk6Cn4jISBybj1HcmltbWFuIHJ0PTkzODM3NDg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MAp3aWUgbWFuIGVzIG5pbW10LiBkaWUgbXVkbGliIHRyaXR0IGRpciB3ZW5pZ3N0ZW5zIG5pcmdlbmR3b2hpbiwgd2VubiBkdSBkaWNoCm5pY2h0IHVtIHNpZSBrdWVtbWVyc3QgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFBhcmFjZWxzdXMsIDI2LiBTZXAgMTk5OSwgMTk6NDI6NDMpOgp+IyEgcm49R3JpbW1hbiBydD05MzgzNzQ4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKVW5kIGRpZSBEb2t1IGVyc3QgLi4uIGFiZXIgYW4gZGllIHRyYXV0IGVyIHNpY2ggamEgYXVjaCBub2NoIGdhciBuaWNodApoZXJhbi4uLgoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChHcmltbWFuLCAyNi4gU2VwIDE5OTksIDE5OjQzOjQxKToKfiMhIHJuPVd1cnplbCBydD05MzgzNzQ5NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKRnVlcnMgVHJldGVuIGhhdCBkaWUgTGliIGRvY2ggdW5zIGJyYXZlIFNwaWVsZXIgOikKCkdyaW1NYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoSGlnaGxhbmRlciwgMjYuIFNlcCAxOTk5LCAxOTo1MzozNyk6Cn4jISBybj1IYXRlIHJ0PTkzODM2OTY0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApXZXIgc2FndCwgZGFzcyBkaWUgRU0gYWxsZSBmcmVpIHNpbmQ/CgogIEhyVC4gSGF0IDMxLjA3Ljk5IGltIFJpbmcgc3RlaGVuICh1bmQgZGF2b3Igbm9jaCBlaW5lbiBOYW1lbiA6PikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChSb25kYSwgMjYuIFNlcCAxOTk5LCAyMzoxODoyNCk6Cn4jISBybj1HcmltbWFuIHJ0PTkzODM3NDg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MAouLi4gaG0sIEdyaW1NYW4uLi4gZGllIE11ZGxpZ2IgaXN0IGFuc3BydWNoc3ZvbGxlciBhbHMgbWFuY2hlIEZyYXUuLi4gbmFqYS4uLgpEdSBrZW5uc3QgRnJhdWVuIG5pY2h0IHdpcmtsaWNoLCBnZWxsPyA7KQoKLi4uIHVuZCBhYiBuYWNoIFNjaG1hcnJuIGRhbWl0LAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoQW5ha2luLCAyNy4gU2VwIDE5OTksIDA4OjI5OjAxKToKfiMhIHJuPUhhdGUgcnQ9OTM4MzY5NjQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCgpXaWUgbGFuZ2Ugbm9jaCBiaXN0IGR1IG5pY2h0IGJlZmFsbGVuPwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChNYXJjdXMsIDI3LiBTZXAgMTk5OSwgMjA6MTI6MjQpOgp+IyEgcm49SGF0ZSBydD05MzgzNjk2NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKCkR1IEhhdGUgLi4uIAoKU2FndCBkaXIgZGFzIFdvcnQgIkF1Z3JhIiBldHdhcz8gOykgCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFRhcmFnb24sIDI3LiBTZXAgMTk5OSwgMjA6MjQ6MzQpOgp+IyEgcm49TWFyY3VzIHJ0PTkzODQ2MzE0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApJc3QgZGFzIHNvd2FzIHdpZSAndmlhZ3JhIGZ1ZXIgYXJtZScgPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChIYXRlLCAyNy4gU2VwIDE5OTksIDIwOjMwOjMzKToKfiMhIHJuPVRhcmFnb24gcnQ9OTM4NDYzODc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCk1hbCBzY2hhdWVuIC4uLiAKCmNkIG11ZGxpYgoKY2Qgc2VjdXJlCmNkIHNhdmUKKmhtbSAuLi4gdCwgd2llIFRhcmFnb24KCmNkIHQKVW5kIGpldHp0IGhvZmYgbWFsLCBkYXNzIGljaCBtaXQgZGVtIHZpIHVtZ2VoZW4ga2FubiAuLi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoVGFyYWdvbiwgMjcuIFNlcCAxOTk5LCAyMDo1NTo1OSk6Cn4jISBybj1IYXRlIHJ0PTkzODQ2NDIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApuaWNodCB3aXJrbGljaC4uLiBkdSBiaXN0IG1hZ2llciwgYWxzbyBrYW5uc3QgZHUgaG9lY2hzdGVucyBtaXQgbmVtIGVtYWNzCnVtZ2VoZW4gOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEphbWFsc2tpLCAyOC4gU2VwIDE5OTksIDA3OjUzOjI3KToKfiMhIHJuPU5ldm9rIHJ0PTkzODE4OTk5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApJY2ggZW1wZmVobGUgSmFuIHZhbiBIZWxzaW5nIC0gR2VoZWltZ2VzZWxsc2NoYWZ0ZW4gdW5kIGlocmUgTWFjaHQgaW0gMjAuCkphaHJodW5kZXJ0LgpKYW1hbHNraSwgR2lsZGVuc2NoYWRlbiAoZW1wZm9obGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKE5vbm5lLCAyOC4gU2VwIDE5OTksIDA4OjM1OjQ3KToKfiMhIHJuPVRhcmFnb24gcnQ9OTM4NDY1NzU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwClByb3Rlc3QhIGljaCBiaW4gendhciBlcnN0IHNlaXQga3VyemVtIE1hZ2llciwgYXJiZWl0ZSBhYmVyIGF1Y2ggd2VpdGVyaGluIG51cgptaXQgZGVtIFZJISBNb3Jnb3RoIHRyYXV0IHNpY2ggYXVjaCBzY2hvbiBuaWNodCBtZWhyLCBlaW5lbiBFbWFjcyB6dSBvZWZmbmVuLAp3ZW5uIGljaCBpaG4gYmVzdWNoZSA7LSkKCk5vbm5lLCBWSS1Mb3ZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFphcmRveiwgMjguIFNlcCAxOTk5LCAxMDo0NjoyMSk6Cn4jISBybj1Ob25uZSBydD05Mzg1MDc3NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKQXUgamEsIGxhc3N0IHVucyBkaWUgMTAwMDBzdGUgRWRpdG9yLURpc2t1c3Npb24gYW5mYW5nZW4hISBJY2ggc2Nod29lciBqYSBhdWYgCnZpbSBmYWxscyBkYXMgamVtYW5kZW4gaW50ZXJlc3NpZXJ0IHVuZCB1ZWJlcmhhdXB0IGlzdCBkZXIgZGVyIGJlc3N0ZSB1bmQKdG9sbHN0ZSB1bmQgYWxsZXMgYW5kZXJlIGlzdCBNaXN0IHVuZCBzbyB3ZWl0ZXIgdW5kIHNvIGZvcnQuLi4KCnphcmRvegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEFtZXNhZHMsIDI4LiBTZXAgMTk5OSwgMTA6NDg6MjEpOgp+IyEgcm49WmFyZG96IHJ0PTkzODUxNTU4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApobSBhbHNvIGljaCBmaW5kIGRlciBhbGxhYmVzdGUgZWRpdG9yIGlzdCBub3RlcGFkICh3b3JkcGFkIGZpbmQgaWNoIGF1Y2gKemllbWxpY2ggZ3V0KSAgbGVpZGVyIGdpYnQgZXMgZGllIGJlaWRlbiBuaWNodCBmdWVyIHVuaXgvbGludXgsIHNvIGRhc3MgaWNoCmhpZXIgYW0gbGllYnN0ZW4gYXVmIG5lZGl0L2tlZGl0IHp1cnVlY2tncmVpZmUgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoQmFtYnVsa28sIDI4LiBTZXAgMTk5OSwgMTA6NDg6MzkpOgp+IyEgcm49WmFyZG96IHJ0PTkzODUxNTU4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApRdWF0c2NoLi4uLi5Ob3RwYWQgaXN0IGRhcyBiZXN0ZS4uLi5EdSBoYXN0IGRvY2ggZ2FyIGtlaW5lIEFobnVuZy4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChCYW1idWxrbywgMjguIFNlcCAxOTk5LCAxMDo0OTozMyk6Cn4jISBybj1CYW1idWxrbyBydD05Mzg1MTU3MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKRmx1Y2ghCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFRzdW5hbWksIDI4LiBTZXAgMTk5OSwgMTA6NTA6MDMpOgp+IyEgcm49QmFtYnVsa28gcnQ9OTM4NTE1NzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCk5vY2htYWxzIFF1YXRzY2guLi4KCidqb3QnIHZvbiBTR0kgdW5kIGRhbm4gY29weS9wYXN0ZSBpbnMgJ2VkJyB2b24gaGllci4KClNjaG5lbGwsIGVpbmZhY2gsIGVmZml6aWVudCA6KSkKClRzdW5hbWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoQW1lc2FkcywgMjguIFNlcCAxOTk5LCAxMDo1MDoyNSk6Cn4jISBybj1CYW1idWxrbyBydD05Mzg1MTU3NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKaG0gaWNoIGhhYiBtaWNoIGluIGRlciBmb3JtdWxpZXJ1bmcgdmVyZ3JpZmZlbiBpY2ggbWVpbnRlIG5hdHVlcmxpY2g6CipsZWlkZXIga2FubiBsaW51eC91bml4IG5pY2h0IG5vZXRlcGFkL3dvcmRwYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoRGFyaWEsIDI4LiBTZXAgMTk5OSwgMTA6NTA6NTApOgp+IyEgcm49QmFtYnVsa28gcnQ9OTM4NTE1NzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCkFtIHNjaG9lbnN0ZW4gaXMgZG9jaCBXb3JkLiBEYSBrYW5uIG1hbiAgZGFzLCB3YXMgbWFuIHByb2dyYW1taWVydCwgZ2xlaWNoCnN1cGVyIGZvcm1hdGllcmVuIG1pdCB1bnRlcnNjaGllZGxpY2hlbiBTY2hyaWZ0Z3JvZXNzZW4gZnVlciB2ZXJzY2hpZWRlbmUKRWJlbmVuLi4uIFVuZCBrdXJzaXYgZnVlciBBbm1lcmt1bmdlbiBvZGVyIHNvLgoKRGFyaWEgemllaHQgc2Nob24gbWFsIGRlbiBLb3BmIGVpbi4gKmtpY2hlcioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChBbWVzYWRzLCAyOC4gU2VwIDE5OTksIDEwOjUxOjE4KToKfiMhIHJuPURhcmlhIHJ0PTkzODUxNTg1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApkYXMga2FubiB3b3JkcGFkIGF1Y2ggISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoRGFyaWEsIDI4LiBTZXAgMTk5OSwgMTA6NTQ6MDIpOgp+IyEgcm49QW1lc2FkcyBydD05Mzg1MTU4Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKSG0gZGFzIHd1c3N0ZSBpY2ggbmljaHQuIEFiZXIgd29yZCBrYW5uIG1hbiBkYW5uIGF1Y2ggc28gc2Nob2VuIGF1c2RydWNrZW4sCmRhbWl0IGthbm4gbWFuIGRhbm4gYWxsIGRpZSBzY2hvZW5lbiBTYWNoZW4sIGRpZSBtYW4gcHJvZ3JhbW1pZXJ0LCBnYW56Cnd1bmRlcmJhciBhYmhlZnRlbi4gRGFtaXQgYXVjaCBhbGxlcyBzZWluZSBPcmRudW5nIGhhdC4KRGFyaWEgc2NobWFycm50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEFuYXRvbCwgMjguIFNlcCAxOTk5LCAxMjoyMzoxNyk6Cn4jISBybj1Uc3VuYW1pIHJ0PTkzODUxNTgwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MAoiZWQiIGhpZXI/IElzdCBkYXMgbmljaHQgZGFzLCB3YXMgbWFuIGJlaSBkZXIgUHJvbXB0LVVtc3RlbGx1bmcgbWl0CiJXZXIgYmVudXR6dCBzY2hvbiBkZW4gZWQ/IiB1bnRlciBkZW4gVGlzY2ggaGF0IGZhbGxlbiBsYXNzZW4/ICpzZXVmeioKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChNYXJjdXMsIDI4LiBTZXAgMTk5OSwgMTI6NDI6MzEpOgp+IyEgcm49QW1lc2FkcyBydD05Mzg1MTU4MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKd2luZSB3b3JkcGFkLmV4ZSA7IHdpbmUgbm90ZXBhZC5leGUgLi4uIFR1dC4KCkNpYW8sIE0uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFJvY2h1cywgMjguIFNlcCAxOTk5LCAxMjo1ODowNyk6Cn4jISBybj1IYXRlIHJ0PTkzODQ2NDIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApXaWVzbyB2aT8gRnVlciBEZWluZSBad2Vja2UgcmVpY2h0IGRlciBFZGl0b3IgInJtIiBkb2NoIHZvbGxrb21tZW4gYXVzLi4uCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKEdydW1iYXJ0LCAyOC4gU2VwIDE5OTksIDEzOjU2OjE2KToKfiMhIHJuPVRzdW5hbWkgcnQ9OTM4NTE1ODAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCldlaWNoZWkgIQonZGQnIGlzdCBhbHMgZWRpdG9yIHZvZWxsaWcgYXVzcmVpY2hlbmQuCgpHcnVtYmFydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGllIHNjaG9lbmVuIFplaXRlbiBzaW5kIHZvcmJlaSAuLi4gKFNoYXJpYSwgMjguIFNlcCAxOTk5LCAxNDo0MDo0MCk6Cn4jISBybj1Uc3VuYW1pIHJ0PTkzODUxNTgwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApqb3Qgdm9uIFNHSSBpcyBjb29sLi4gZGFzIGlzIHdhaHIgLi4gYWJlciBhbnNvbnN0ZW4gZG9jaCBpbW1lcm5vY2ggam9lIDopCgpTaGFyaWEgZ3JpbnN0IG51cm5vY2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEaWUgc2Nob2VuZW4gWmVpdGVuIHNpbmQgdm9yYmVpIC4uLiAoU3RyZWF3a2NldXIsIDI4LiBTZXAgMTk5OSwgMTQ6NDY6NTMpOgp+IyEgcm49U2hhcmlhIHJ0PTkzODUyOTY0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MApJY2ggc2FjaCBudXIgVGVtcHVzLiBMZWlkZXIgd3VyZGUgZGVyIG5pZSBwb3J0aWVydCAoYXVmIFdpbmRvb2ZzIG9kZXIgTGludXgpCgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChFbmd5d3VjaywgMjguIFNlcCAxOTk5LCAxNzo0MDozMCk6Cn4jISBybj1TdHJlYXdrY2V1ciBydD05Mzg1MzAwMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgzNjk2NDAKS2VubnQgamVtYW5kIGRlbiBHVEU/IEdpYnRzIGF1Y2ggbnVyIGZ1ZXIgV2luIChnbGF1YiBpY2gpIGFiZXIgaXMgdm9sbApnZW5pYWwuLi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEx1ZywgMjguIFNlcCAxOTk5LCAyMzowNDowMSk6Cn4jISBybj1KYW1hbHNraSBydD05Mzg1MDUyMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKV2llIGJpdHRlPwoKSmFuIHZhbiBIZWxzaW5nPyBJY2ggaG9mZmUgZnVlciBEaWNoIEphbWFsc2tpLCBkYXMgRGlyIG5pY2h0IGtsYXIgaXN0IHdlcgpkYWhpbnRlcnN0ZWNrdC4gQmVpIEphbiB2YW4gSGVsc2luZyBoYW5kZWx0IGVzIHNpY2ggdW0gSmFuIFVkbyBIb2xleXMsIGRlc3NlbgphbnRpc2VtaXRpc2NoZW4gVmVyc2Nod29lcnVuZ3N0aGVvcmllbiBiZWkgTmF6aXMgc2VociBiZWxpZWJ0IHN3aW5kIGFiZXIKYW5zb25zdGVuIHZvbiBnZWlzdGlnZXIgQXJtdXQgemV1Z2VuLgoKRmFlbGx0IGRhcyBoaWVyIGVpZ2VudGxpY2gga2VpbmVtIGF1Zj8KTmF6aWFlcnNjaGUgdHJldGVuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZub3JkPyBXYXMgaXN0IGRhcz8gKE5ldm9rLCAyOC4gU2VwIDE5OTksIDIzOjA1OjQzKToKfiMhIHJuPUx1ZyBydD05Mzg1NTk4NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKbmFqYSBzY2hhdSBlaW5mYWNoIG1hbCBkaWUgbWVpc3RlbiBydW5lbmt1bmRsZXIgYW4gZGllIGF1ZiBkaWUgZ2VmYWtldGVuIHJ1bmVuCmF1cyBkZXIgZHJpdHRlbiByZWljaCBhZXJhIHJlaW5mYWxsZW4uLi4uCgpuYXR1ZXJsaWNoIGdpYnRzIGF1Y2ggbGV1dGUgZGllIGFobnVuZyBoYWJlbi4uLi5hYmVyIDgwJSBkZXIgU2FjaGVuIHNpbmQKdm9lbGtpc2NoZW4gVXJzcHJ1bmdzLCBuZXQgbm9yZGlzY2gKCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChMdWcsIDI4LiBTZXAgMTk5OSwgMjM6MDc6MTMpOgp+IyEgcm49TmV2b2sgcnQ9OTM4NTU5OTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CgpSYWV1c3BlciwKCmFsc28gd2VubiBEdSBkaWUgc29nZW5hbm50ZSBhbWVyaWthbmlzY2hlbiBSdW5lbmluc2NocmlmdGVuIG1laW5zdCwgd2llIGRlbgpLZW5zaW5ndG9uIFN0b25lLCBzaW5kIGRhcyBlaCBhbGxlcyBGYWtlcy4uLgoKQXVjaCBSdW5vbG9nZSAod2lzc2Vuc2NoYWZ0bGljaCkgc2VpZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChBbmFraW4sIDI5LiBTZXAgMTk5OSwgMDc6MTM6MDMpOgp+IyEgcm49U2hhcmlhIHJ0PTkzODUyOTY0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODM2OTY0MAoKTnVyIGRhcyBKb3Qga2VpbmUgVmVydGlrYWxzY3JvbGxiYWxrZW4gaGF0IDopIEFiZXIgaGFiIGljaCBhdWNoCnppZW1saWNoIG9mdCBiZW51dHp0LgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZub3JkPyBXYXMgaXN0IGRhcz8gKE1hbW1pLCAyOS4gU2VwIDE5OTksIDIxOjMyOjE0KToKfiMhIHJuPU5ldm9rIHJ0PTkzODE4OTk5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApBbHNvIG1pciBpc3QgZXMgc2NobnVyemVwaWVwZSwgd2FzIGZub3JkIGFsbGVzIGlzdCwgZGFzcyBlcyBoaWVyIGVpbmVuClNwaWVsZXIgbmFtZW5zIEZub3JkIGdpYnQsIG9kZXIgYWVobmxpY2hlcy4gTWljaCBuZXJ2dCBhdXNzY2hsaWVzc2xpY2ggZGllc2VzCnVubW90aXZpZXJ0ZSBBdWZ0YXVjaGVuIGRlciBaZWlsZSAKRk5PUkQuCnp3aXNjaGVuIEF1c2dhbmdzYXVmbGlzdHVuZyB1bmQgT2JqZWt0bGlzdGUgZGVzIFJhdW1zLgoKSWNoIGhhbGx1emluaWVyZSBuaWNodCBuYWNoIGRlbSBXb3J0IEZOT1JELCBpY2ggYmluIEZub3JkIGF1Y2ggbm9jaCBuaWUgYmUtCmdlZ25ldCwgZGllc2UgWmVpbGUgaXN0IHJlaW5lciBTY2hyb3R0LCBnZWhvZXJ0IG5pY2h0IGRhaGluLCB3byBlciBhbmdlLQp6ZWlndCB3aXJkLCBldGMuLi4gKmhyc25nbmduZyoKCldlciBhdWNoIGltbWVyIGRhIHdhcyAiZ2VmdW5kZW4iIGhhdCwgc29sbHRlIGVzIHNjaG5lbGxzdG1vZWdsaWNoc3Qgd2llZGVyCmFic2NoYWx0ZW4hCgpWZXJhZXJnZXJ0ZSBHcnVlc3NlLApNYW1taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKanVzdCBteSAzIHBlbm5pZXMgKEFzaGFuLCAyOS4gU2VwIDE5OTksIDIyOjUxOjQ4KToKfiMhIHJuPU1hbW1pIHJ0PTkzODY0MDczNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApGdWVyIGFsbGUsIGRpZSBkaWUgTWVsZHVuZyAnTml4IE5ldWVzIGF1ZiBkZXIgV2VsdCcgbmljaHQgbW9lZ2VuLApoaWVyIG5vY2ggbWVociBUZXh0IGluIGRlciBNUEE6IDotKQoKTWljaCBuZXJ2dCBkYXMgRk5PUkQgYXVjaCwgYWJlciBpY2ggYmluIGRhbmtiYXIgZnVlciBkaWUgQXVma2xhZXJ1bmcuCkRpZSBtZWlzdGVuIEFia3Vlcnp1bmdlbiBzaW5kIGphIG9rLCB1bmQgYmVpIG1hbmNoZW4ga2FubiBtYW4gamEgbm9jaCAKc2VsYmVyIGludGVycHJldGllcmVuLCB3aWUgei5CLiAnZmlka2cnIGFscyBkaWUgS3JhbmtoZWl0IGRpZSBMdWcgCnp1bSBGcmF1ZW5oYXNzZXIgbWFjaHQuIEFiZXIgZGllc2VzIEZOT1JEIC4uLiBtYW4ga2FubiBlcyBuaWNodCAKdW50ZXJzdWNoZW4sIGFuZmFzc2VuLCBnYXIgbml4LiBudXIgNSBCdWNoc3RhYmVuIGxlc2VuLiBGTk9SRC4gClNpbm5sb3MsIGRhZW1saWNoLCB1bm1vdGl2aWVydC4gQWJlciBkYW5rIGRlciBBdWZrbGFlcnVuZyBrYW5uIGljaHMgCm51biBhbHMgVmVyc3VjaCBlaW5lcyBNYWdpZXJzIHZlcmJ1Y2hlbiB3aXR6aWcgenUgc2Vpbi4gCkF1Y2ggZ3V0LgoKQXNoYW4gKGhldXRlIG1hbCBrZWluZSBrb25zdHJ1a3RpdmUgQXJ0aWtlbCBzY2hyZWliZW5kIHVuZCBtaXQgTWFtbWk7ICAgICAgIGltCkR1ZXR0IGdydW1tZWxkKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERpZSBzY2hvZW5lbiBaZWl0ZW4gc2luZCB2b3JiZWkgLi4uIChXaWRld2l0dCwgMjkuIFNlcCAxOTk5LCAyMzoxMTo1OCk6Cn4jISBybj1TaGFyaWEgcnQ9OTM4NTI5NjQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MzY5NjQwCkljaCBzY2h3b2VyIGphIGF1ZiBlZGxpbiAhCgpXaWRld2l0dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoZWlzc2VyZWkgKERlZXBibHVlLCAzMC4gU2VwIDE5OTksIDEyOjU0OjA5KToKV2VubiBtYW4gc2Nob24gZGllIEZ1cnplcmVpIGhhdCwgd2llc28ga2FubiBtYW4ga2VpbmUgTW9uc3RlciBtaXQgY2hlbWlzY2hlCm4gS2FtcGZzdG9mZmVuIGJla2FlbXBmZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGbm9yZD8gV2FzIGlzdCBkYXM/IChKYW1hbHNraSwgMzAuIFNlcCAxOTk5LCAxMzo1MTo1NCk6Cn4jISBybj1MdWcgcnQ9OTM4NTU5ODQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CkhtbSwgaWNoIGJpbiBtaXIgbmljaHQgc2ljaGVyLCBvYiBlcyBzaWNoIHVtIGRlbiBnbGVpY2hlbiBoYW5kZWx0LgoxLiBiZW51dHp0IG1laW4gSGVsc2luZyBkZW4gTmFtZW4gdW0gaW5jb25naXRvIHp1IGJsZWliZW4uCjIuIGlzdCBtZWluIEhlbHNpbmcgMjYgSmFocmUgYWx0LgozLiBoYWIgaWNoIC1iaXMgamV0enQtIG5vY2ggbmljaHRzIGFudGlzZW1pdGlzY2hlcyBlbnRkZWNrdCAoamVkZW5mYWxscyBuaWNodAptZWhyLCBhbHMgamVkZXIgR2xvYmFsLVBhcmFub2lrZXIgamVkZXIgR2xhdWJlbnNnZW1laW5zY2hhZnQgdm9yd2lyZnQsIGRpZQptZWhyIGFscyAzIE1pdGdsaWVkZXIgaGF0Lgo0LiBzY2htZWlzc3QgbWVpbmVyIGFuc2NoZWluZW5kIGF1ZiBhbGxlcyBEcmVjay4gRWdhbCBvYiBLYXRob2xpa2VuLCBKdWRlbiwKRnJlaW1hdWVyIG9kZXIgZGFzIFBlbnRhZ29uLiBDSUEgdW5kIFByYWVzaWRlbnRlbiwgU3RhYXRzZnVlaHJlciB1bmQKUHV0c2NoaXN0ZW4gdW5kIGF1c3NlcmRlbSBXaXNzZW5zY2hhZnRsZXIgdW5kIE1pbGl0YWVyIQpKZWRlciBrcmllZ3QgYmVpIGRlbSBzZWluIEZldHQgd2VnLgpXZW5uIGVyIG5pY2h0IHNvIHBhcmFub2lkIHdhZXJlIHd1ZXJkZSBpY2ggaWhuIGFscyBCYXNpc2xpYmVyYWxpc3Qgb2RlcgpXYWhyaGVpdHNzdWNoZXIgYmV6ZWljaG5lbi4KV2VubiBEdSBRdWVsbGVuIHp1IEphbiB2YW4gSGVsc2luZyBtaXQgUHJvLU5hemktTWF0ZXJpYWwgZmluZGVzdCBzYWcgYml0dGUKQmVzY2hlaWQuCkphbWFsc2tpLCBuaWNodCBwYXJhbm9pZCAobm9jaG5pY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoTHVnLCAgNS4gT2t0IDE5OTksIDIzOjMxOjM1KToKfiMhIHJuPUphbWFsc2tpIHJ0PTkzODY5OTUxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OAoKVW0gbWFsIHNjaG5lbGwgd2FzIHp1IHNjaHJlaWJlbjoKClZlcnN1Y2ggbWFsIEhvbWVwYWdlOiBnZWlzdGVyLWJyZW1lbi5kZQoKRGEga2FubiBtYW4gRGlyIG1pdCBIZXJybiB2YW4gSGVsc2luZyBzaWNoZXJsaWNoIHdlaXRlcmhlbGZlbi4uLgoKTmF6aXMgaGFlbmdlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChKYW1hbHNraSwgIDYuIE9rdCAxOTk5LCAxNTowMjoyOCk6Cn4jISBybj1MdWcgcnQ9OTM5MTY2Mjk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CkhpIEx1ZyEgCkljaCB3ZXJkZSBkYXMgbWFsIGNoZWNrZW4hCkFuc29uc3RlbiBiaW4gaWNoIGluendpc2NoZW4gc293ZWl0IGluIGRlbSBCdWNoLCBkYXNzIGljaCBzdGVsbGVuIGdlZnVuZGVuCmhhYmUsIGRpZSBOYXppcyBiZXN0aW1tdCBnZXJuZSBmdWVyIHNpY2ggaW50ZXJwcmV0aWVyZW4uCkljaCBicmluZ2UgYWJlciBnZXJuZSBtYWwgZWluIEJlaXNwaWVsIGRhZnVlciwgZGFzcyB2LkhlbHNpbmcgYmVzdGltbXQga2VpbgpOYXppL1Jhc3Npc3QgaXN0OiBFcyBnZWh0IGRhYmVpIHVtIGRlbiBLS0ssIHZvbiBkZXNzZW4gR3J1ZW5kZXIgQWxiZXJ0IFBpa2UKSEVVVEUgTk9DSCBlaW5lIFN0YXR1ZSBpbiBXYXNoaW5ndG9uIHN0ZWh0LiBFciBtZWludCBkYXp1IChaaXRhdCk6IFdlbm4gbWFuCmRpZSByYXNzaXN0aXNjaGVuIHVuZCBtZW5zY2hlbnZlcmFjaHRlbmRlbiBaaWVsZSBkZXMgS0tLIGJldHJhY2h0ZXQgdW5kIGRhbm4KYXVmIGRhcyAnaW5uZXJlIFdlc2VuJyBzZWluZXIgR3J1ZW5kZXIgdW5kIE1pdGdsaWVkZXIgenVydWVja3NjaGxpZXNzdCwgbXVzcwptYW4gc2ljaCB3aXJrbGljaCBmcmFnZW4sIG9iIG1hbiBoaWVyIHVlYmVyaGF1cHQgdWViZXIgQXJ0Z2Vub3NzZW4gZGVyIFJhc3NlCk1lbnNjaCBzY2hyZWlidC4gVW50ZXIgYW5kZXJlbSBnZWh0IGRlciBLS0sgZ2V3YWx0dGFldGlnIHZvciwgdW0gZGVuIHNjaHdhcnplbgpCdWVyZ2VybiBkYXMgV2FobHJlY2h0IHp1IHJhdWJlbiwgZGFzIFJlY2h0IGF1ZiBXYWZmZW5iZXNpdHogYWJ6dWVya2VubmVuLApTY2h1bGVuLCBpbiBkZW5lbiBzY2h3YXJ6ZSBLaW5kZXIgdW50ZXJyaWNodGV0IHdlcmRlbiB6dSBiZW5hY2h0ZWlsaWdlbiB1bmQgdW0KZGllIExlYmVuc2JlZGluZ3VuZ2VuIGRlciBTY2h3YXJ6ZW4gYXVmIGVpbmVtIE5pdmVhdSB6dSBzZW5rZW4sIGRhcyBkZXIKU2tsYXZlcmVpIGdsZWljaGtvbW10LiAoWml0YXQgRW5kZSkKSG1tLCBob2VydCBzaWNoIGZ1ZXIgbWljaCBuaWNodCBzbyBhbiwgYWxzIG9iIGVyIG1pdCBkaWVzZXIgQWV1c3NlcnVuZyBhdWYKdmllbCBHZWdlbmxpZWJlIGluIGRlbiBSZWloZW4gZGVyIE5hemlzIGdlc3Rvc3NlbiB3YWVyZS4KCkphbWFsc2tpLCBrZWluZSBOYXppLVByb3BhZ2FuZGEgdmVyYnJlaXRlbmQsIHNvbmRlcm4genVtIGtyaXRpc2NoZW4gQmxpY2sgYXVmCnVucywgRGV1dHNjaGxhbmQgdW5kIGRpZSBXZWx0IGFucmVnZW5kLgooU29sbHRlbiB3aXIgYmVpIGRpZXNlbSBCbGljayBlaW5lIG5hemktYWVobmxpY2ggS3JlYXR1ciB0cmVmZmVuOiBBbSBiZXN0ZW4KZ2VuYXUgendpc2NoZW4gZGllIEF1Z2VuISEhCktsYW1tZXIgenUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChFbmRlciwgIDYuIE9rdCAxOTk5LCAxNTozMDowNSk6Cn4jISBybj1KYW1hbHNraSBydD05MzkyMjIxNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKSGkgSmFtYWxza2kKClZvcnNpY2h0IG1pdCBzb2xjaGVuIE1lbnNjaGVudmVyYWNodGVuZGVuIE1laW51bmdlbi4gVm9tIFByaW56aXAgaGVyIHN0ZWxsZQppY2ggbWljaCBhdWYgZGllIFNlaXRlIGRlciBOYXppLUdlZ25lciwgbnVyIHdhcyBkZWluZW4gQmVpdHJhZWdlbiB6dSBlbnRuZWhtZW4KaXN0IHd1ZXJkZXN0IER1IGF1ZiBzaWUgZ2VuYXVzbyB2b3JnZWhlbiwgd2llIGRpZSBOYXppcyBzZWluZXJ6ZWl0IHZvcmdlZ2FuZ2VuCnNpbmQuCkZ1ZXIgbWljaCBpc3QgZGFzIE5hemktR2VoYWJlIGFsbGVzIG1laHJlcmVuIGtyYW5rZW4gR2Vpc3Rlcm4gZW50c3BydW5nZW4sCndlbGNoZW4sIGRhcyB3aXNzZW4gYW5kZXJlIGJlc3NlciB1bmQgZGV0YWlsaWVydGVyLgpXdXJ6ZWxuIGZpbmRldCBtYW4gYXVmIGplZGVuIEZhbGwgaW4gZGVtIFN0cmViZW4gdmllbGVyIE1lbnNjaGVuIGJlc3NlciB6dQpzZWluIGFscyBkZXIgYW5kZXJlIE1lbnNjaCwgb2RlciBiZXNzZXIgenUgc2VpbiBhbHMgZWluZSBHcnVwcGUgdm9uIE1lbnNjaGVuLgpCZWkgdmllbGVuIHdpcmt0IHNpY2ggZGFzIEtyYW5raGFmdCBhdXMuClVuZCBuYWVjaHN0ZW5zIGJlZGVua2UgbWFsIHdpZSB2aWVsZSBzaWNoIGFuc3RlY2tlbiBsYXNzZW4gd3VlcmRlbiwgd2VubiBpaG5lbgphbGxlIHBhYXIgU3R1bmRlbiBnZXNhZ3Qgc2luZCwgZGFzcyBzaWUgYmVzc2VyIHNlaW4gYWxzIGFuZGVyZT8KVW5kIHdlbm4gZXMgamVtYW5kZW4gc2NobGVjaHQgZ2VodCBzaW5kIGViZW4gYXVjaCBtZWlzdCBhbmRlcmUgZHJhbiBTY2h1bGQuCkltIEdydW5kZSBnYW56IG5vcm1hbGVzIERlbmtlbi4gRGVyIFNjaGx1ZXNzZWwgbGllZ3Qgd29obCBpbiBkZXIgQmVyZWl0c2NoYWZ0LApkZW4gYW5kZXJlbiBncnVlbmRsaWNoc3QgenUgdmVybmljaHRlbi4gV29obCBkYXMgd2ljaHRpZ3N0ZSB3YXMgaGllciBub2NoCmhpbnp1a29tbWVuIG11c3MgdW0gZGFzIHp1IHZlcnVyc2FjaGVuIHdhcyBiZXJlaXRzIGdlc2NoZWhlbiBpc3QuCkFsc28gd2FzIG51ZXR6dCBlcyB3ZW5uIHdpciBhbGxlIE5hemlzIHVtYnJpbmdlbi4KTGVpZGVyIHdlaXNzIGljaCBhdWNoIGtlaW4gYW5kZXJlcyB0b2RzaWNoZXJlcyBNaXR0ZWwgZ2VnZW4gTmF6aXNtdXMsIGFiZXIKaWhyZSBNZXRob2RlbiB0dWUgaWNoIG5pY2h0IGFkYXB0aWVyZW4uCgpFbmRlciBwaGlsb3BoaWVyZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChFbmRlciwgIDYuIE9rdCAxOTk5LCAxNTozNDoxMyk6Cn4jISBybj1FbmRlciBydD05MzkyMjM4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKRWtlbGhhZnRlIFRpcGZlaGxlciwgVmVyemVpaHQgbWlyLCBFbmRlciwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZub3JkPyBXYXMgaXN0IGRhcz8gKFByYSwgIDYuIE9rdCAxOTk5LCAxNjo0MTozOSk6Cn4jISBybj1FbmRlciBydD05MzkyMjM4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKPiBMZWlkZXIgd2Vpc3MgaWNoIGF1Y2gga2VpbiBhbmRlcmVzIHRvZHNpY2hlcmVzIE1pdHRlbCBnZWdlbiBOYXppc211cywgYWJlcgo+IGlocmUgTWV0aG9kZW4gdHVlIGljaCBuaWNodCBhZGFwdGllcmVuLgoKRGFzIGhlaXNzdCAnTmFyemlzc211cycgOy0pICB1bmQgaXN0IGhpZXIgaW0gTUcgbGVpZGVyIHdlaXR2ZXJicmVpdGV0LgoKTGVpZGVyIHdlaXNzIGljaCBhYmVyIGF1Y2gga2VpbiBNaXR0ZWwgZGFnZWdlbi4uLgoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoSmFtYWxza2ksICA2LiBPa3QgMTk5OSwgMTY6NDg6MjQpOgp+IyEgcm49RW5kZXIgcnQ9OTM5MjIzODA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CkhpIEVuZGVyIQpTY2hvZW4sIGRhc3MgRHUgbWljaCBhdWYgZGVuIGxldHp0ZW4gU2F0eiBtZWluZXMgQXJ0aWtlbHMgcmVkdXppZXJzdCEKSmFtYWxza2ksIEJhZXVtY2hlbiBwZmxhbnplbmQgdW5kIEJsdWVtY2hlbiB2ZXJzY2hlbmtlbmQhIChVbmQgYW4gTmF6aXMKdmVyc2NoZW5rZSBpY2gga2VpbnMhISEgQmFzdGEhIChkYXMgd2FyIGl0YWxpZW5pc2NoKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZub3JkPyBXYXMgaXN0IGRhcz8gKENpcmRhbiwgIDYuIE9rdCAxOTk5LCAyMTozNDoxNik6Cn4jISBybj1FbmRlciBydD05MzkyMjM4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKSGFsbG8sIEVuZGVyIQoKQWxzbyBlaW4gTWl0dGVsIGdpYnQncyBnZWdlbiBOYXppczogRGllIER1bW1oZWl0IGFic2NoYWZmZW4sIGRhbm4gc2luZCBkaWUKTmF6aXMgc28gZ2FueiBuZWJlbmJlaSBhdWNoIGVybGVkaWd0ICh1bmQgZGVyIEtvbW11bmlzbXVzIGhvZmZlbnRsaWNoIGF1Y2gpLgoKQ2lyZGFuIChEYXJmJ3Mgbm9jaCBlaW4gQWxsaGVpbG1pdHRlbCBzZWluPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZub3JkPyBXYXMgaXN0IGRhcz8gKFd1ciwgIDYuIE9rdCAxOTk5LCAyMTo0OToyNCk6Cn4jISBybj1FbmRlciBydD05MzkyMjM4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKV2FzIGhhdCBkYXMgYWxsZXMgaW4gYWxsZ2VtZWluIHp1IHN1Y2hlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEVuZGVyLCAgNy4gT2t0IDE5OTksIDA1OjU0OjAyKToKfiMhIHJuPUphbWFsc2tpIHJ0PTkzOTIyODUwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApKYSBrbGFyIHZvbiBGbm9yZCB1bmQgZGVtIGdhbnplbiBaZXVnIGhhYmUgaWNoIGtlaW5lIEFobnVuZywgYWJlciBuZSBrbGFyZQpNZWludW5nIHp1IGplZGVyIEZvcm0gdm9uIEFncmVzc2l2aXRhZXQuCldhcnVtIHdlaWwgZXMgbmljaHRzIGJyaW5ndC4gSW1tZXIgd2VubiBqZW1hbmQgQWdyZXNzaXYgd2lyZCB2ZXJzY2hsZWNodGVybgpzaWNoIERpbmdlLCBhdWNoIGJlaSBtaXIuClVlYnJpZ2VucyB2aWVsZWljaHQgc29sbHRlc3QgRHUgZG9jaCBoaW4gdW5kIHdpZWRlciBtYWwgZWluIEJsdWVtY2hlbiBhbgpGZWluZGUgdmVyc2NoZW5rZW4sIG1hbmNobWFsIGhpbGZ0IGVzIER1IGhhc3QgZWluZW4gRmVpbmQgd2VuaWdlciBvaG5lIGlobgpiZWthZW1wZnQgenUgaGFiZW4uCgpFbmRlci4KClBTOiBNaXN0IHNjaG9uIHdpZWRlciBNb3JhbCBnZXByZWRpZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChFbmRlciwgIDcuIE9rdCAxOTk5LCAwNTo1NTo1MCk6Cn4jISBybj1DaXJkYW4gcnQ9OTM5MjQ1NjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CkphIHNjaG9lbiBkYXMgaXN0IHdhaHIuIHNjaGFmZmVuIHdpciBkaWUgRHVtbWhlaXQgYWIsIGZhbmdlbiB3aXIgc29mb3J0IGFuLgpIYXN0IER1IG5lbiBQbGFuIHdpZT8KCkVuZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoSmFtYWxza2ksICA3LiBPa3QgMTk5OSwgMTI6MTA6NDYpOgp+IyEgcm49Q2lyZGFuIHJ0PTkzOTI0NTY1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApEaWUgRHVtbWhlaXQgd2lyZCBhYmVyIGxlaWRlciBhdWNoIChvZGVyIGdlcmFkZSkgaW4gZGVyICdEZW1va3JhdGllJwpnZXNjaHVlcnQuIExldXRlIHZlcmJsb2VkZW4gYW0gRmVybnNlaGVuLCBrb2VubmVuIHNpY2ggZGFzIEhpcm4gcmF1c3NhdWZlbiB1bmQKZGllIGVpbnppZ2VuIGRpZSBub2NoIGVybnN0Z2Vub21tZW4gd2VyZGVuIHNpbmQgV2lzc2Vuc2NoYWZ0bGVyISBEaWUKTWVuc2NoaGVpdCB1ZWJlcmxhZXNzdCBkYXMgRGVua2VuIGVpbmlnZW4gd2VuaWdlbiB1bmQgc2NoYXV0IHp1IG9kZXIgYXVjaApuaWNodCEKRHVyY2ggc3RhZW5kaWdlIHBvbG90aXNjaGUgRGViYXR0ZW4gdW5kIFZlcnNwcmVjaGVuIGRpZSBuaWNodCBlaW5nZWhhbHRlbgp3ZXJkZW4gd2lyZCBwb2xpdGlrdmVyZHJvc3NlbmhlaXQgZ2VzY2h1ZXJ0ISBFcyBrb21tdCBkaWUgTWVpbnVuZyBhdWY6ICdEYXMKc2luZCBlaCBhbGxlcyBMdWVnbmVyLCBkYSBoYWx0ZSBpY2ggbWljaCByYXVzIScKSWNoIGdsYXViZSBuaWNodCwgZGFzcyBOYXRpb25hbGlzbXVzIG9kZXIgS29tbXVuaXNtdXMgdmllbCBtZWhyIG1pdCBEdW1taGVpdAp6dSB0dW4gaGFiZW4sIGFscyBqZWRlIGFuZGVyZSBGb3JtIGRlciBQb2xpdGlrIQpFcyBnZWh0IGRhcnVtIGVpbmUgRm9ybSB6dSBmaW5kZW4sIG1pdCBkZXIgbWFuIHN1Ympla3RpdiB6dWZyaWVkZW4gaXN0LgpEZW0gZWluZW4gZ2VodCBlcyB1bSB3aXJ0c2NoYWZ0bGljaGUgRmFrdG9yZW4sIGRlciBhbmRlcmUgbWFnIGVzLCB3ZW5uIHNpY2gKYWxsZSBMZXV0ZSB3aWUgQnJ1ZWRlciB1bmQgU2Nod2VzdGVybiBsaWViZW4uCkdlbGR3ZXNlbiB1bmQgQnVlcm9rcmF0aWUgaGFiZW4gdW5zIHdlaXQgdm9uIHVucyBzZWxic3Qgd2VnZ2VicmFjaHQgdW5kIHdpcgpoYWx0ZW4gU2FjaGVuIGZ1ZXIgc2VsYnN0dmVyc3RhZW5kbGljaCwgZGllIGFic29sdXQgdW5uYXR1ZXJsaWNoIHNpbmQhCldJUiBTSU5EIERVTU0hIFVORCBaV0FSIFNDSE9OIExBTkdFISEhCkphbWFsc2tpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChZZW5kaSwgIDcuIE9rdCAxOTk5LCAxODoxNDowNik6Cn4jISBybj1FbmRlciBydD05MzkyMjM4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKRW5kZXIsIEVuZGVyLi4uClVuZCBkYXMgdm9uIGRlbSBNZW5zY2hlbiwgZGVyIHNlaW5lIEdlZ25lciBzbyBoYXJ0IHp1IHRyZWZmZW4gcGZsZWd0ZSwgZGFzcwpzaWUgbmllIG1laHIgYXVmc3RhbmRlbi4uLgoKQWJlciBlcyBmcmV1dCBtaWNoLCBkYXNzIGF1Y2ggRHJpdHRpZXMgbGVybmZhZWhpZyBzaW5kLgoKLi4udW5kIGFiIG5hY2ggc2NobWFycm4uCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChFbmRlciwgIDguIE9rdCAxOTk5LCAwNTowMDo0MSk6Cn4jISBybj1KYW1hbHNraSBydD05MzkyOTgyNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKRGVtIHNjaGxpZXNzZSBpY2ggbWljaCBhbi4gICAgIEVuZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChFbmRlciwgIDguIE9rdCAxOTk5LCAwNToxMzozNSk6Cn4jISBybj1ZZW5kaSBydD05MzkzMjAwNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKRW5kZXIgZ3JpbnN0IERpY2ggYW4uCkVuZGVyIHNhZ3Q6IEljaCB3ZXJkZSBEZWluZW4gVG9kIHNwcmVjaGVuLgoKQWJlciBtYWwgaW0gRXJuc3QsIGVudHdlZGVyIGhhc3QgRHUgZGllIFRyaWxvZ2llICJFbmRlciIgdm9uIE9yc29uIFNjb3R0IENhcmQKbmljaHQgdm9sbHN0YWVuZGlnIGdlbGVzZW4gb2RlciB3YXMgdmVyZ2Vzc2VuLgpFbmRlciBoYW5kZWx0ZSB6d2FyIGltIHdlc2VudGxpY2hlbiBpbW1lciBiZXd1c3N0LCB3YXMgaWhtIGVpbmVuIFZvcnRlaWwKdmVyc2NoYWZmdGUgaW4gamVkZXIgQXVzZWluYW5kZXJzZXR6dW5nLkFsbGVyZGluZ3Mgd2FyIGVzIG5pZSBzZWluZSBBYnNpY2h0CnNlaW5lIEdlZ25lciB6dSB2ZXJuaWNodGVuLiBFcyB3YXIgaW1tZXIgZWluZSBUYXQgYXVzIE5vdHdlaHIgbWl0IGRlbSBaaWVsIGRlbgpHZWdlbmVyIGdydWVuZGxpY2ggenUgc2NobGFnZW4sIGFiZXIgbmljaHQgaWhtIGRhcyBMZWJlbiB6dSBuZWhtZW4uCgpBYmVyIHZpZWxlaWNodCB3ZWlzc3QgRHUgZGFzIGF1Y2ggdW5kIGljaCBoYWJlIG51ciBuZW4gU2NoZXJ6IHZlcmtlaHJ0CnZlcnN0YW5kZW4uClp1IG1laW5lciBOYW1lbnN3YWhsIGlzdCB6dSBzYWdlbiwgZGFzcyBpY2ggZGFzIEJ1Y2ggZ2VsZXNlbiBoYWJlLCBuYWNoZGVtIG1hbgptaWNoIGhpZXIgaW0gTXVkIG1laHJtYWxzIGRhcmF1ZiBhdWZtZXJrc2FtIGdlbWFjaHQgaGF0LCBhbHNvIGRpZSBHbGVpY2hlaXQKZGVzIE5hbWVucyBtaXQgZGVyIFJvbWFuZmlndXIgaXN0IFp1ZmFsbC4KCkVuZGVyCgpQczoKRW5kZXIgc2NoYXV0IGF1ZiBkZW0gVGhyZWFkLgpFbmRlciBzYWd0OiBXYXMgZnVlciBlaW5lIFBsYXVkZXJ0YXNjaGUgaWNoIGRvY2ggZ2V3b3JkZW4gYmluLgpFbmRlciBzY2h1ZXR0ZWx0IGRlbSBLb3BmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoQ2lyZGFuLCAgOC4gT2t0IDE5OTksIDE0OjE0OjU2KToKfiMhIHJuPUVuZGVyIHJ0PTkzOTI3NTc1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OAo+SmEgc2Nob2VuIGRhcyBpc3Qgd2Foci4gc2NoYWZmZW4gd2lyIGRpZSBEdW1taGVpdCBhYiwgZmFuZ2VuIHdpciBzb2ZvcnQgYW4uCj5IYXN0IER1IG5lbiBQbGFuIHdpZT8KClRqYSwgRW5kZXIsIGdlbmF1IGRhIGZhZW5ndCBkYXMgUHJvYmxlbSBhbi4uLi4KRGEgcHJvYmllciBpY2ggamV0enQgdmllbGxlaWNodCBiZXNzZXIgZXJzdCBtYWwsIG9iIGljaCBlaW4gS2FuaW5jaGVuIHplaWNobmVuCmthbm4sIGRhcyB3aWUgU3VlZGFtZXJpa2EgYXVzc2llaHQuLi4KCgpJY2gga2FubiEgOikKCkNpcmRhbiAoZGVyIG1hbCB3aXNzZW4gd2lsbCwgd2FzIEZub3JkIGVpZ2VudGxpY2ggaXN0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoQWxib2luLCAgOC4gT2t0IDE5OTksIDIwOjQ4OjE4KToKfiMhIHJuPUx1ZyBydD05MzkxNjYyOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKYWVobSBkYXMgQnVjaCB2b24gSGVycm4gdmFuIEhlbHNpbmcgaXN0IGF1Y2ggaW4gRCB2ZXJib3Rlbi4gV2VpbCBtaWNoIHNvbGNoZQpTYWNoZW4gYXVjaCBpbnRlcmVzc2llcmVuLCBoYWJlIGljaCBtaWNoIG1hbCBpbSBXZWIgdW1nZXNjaGF1dCB1bmQgc2llaGUgZGEgZXMKZ2lidCBlaW5lICwgd2FzIGhlaXNzdCBlaW5lLCBhbHNvbyBlaW5lIGRvd25sb2FkYmFyZSBUZXh0IHVuZCBlaW5lIFRleHQrQmlsZAp2ZXJzaW9uLiBEcmVpIG1hbCBkdWVyZnQgaWhyIHJhdGVuIHdvLiBGdWVyIGRlbiBEdWVtbXN0ZW46ICdNZWluIEthbXBmJyB1bmQKJ0RpZSBQcm90b2tvbGxlIGRlciBXZWlzZW4gdm9uIFppb24nIHNpbmQgZ2xlaWNoIGRhbmViZW4uCgpBbGJvaW4KUC5TLiBOZWluIGljaCBnZWJlIGtlaW5lIEFkcmVzc2Ugd2VpdGVyLCB3ZXIgZXMgdW5iZWRpbmd0IGhhYmVuIHdpbGwgbXVzcyBzaWNoCnNjaG9uIHNlbGJlciBkdXJjaCBkaWVzZW4gU2NodW5kIHN1cnZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZub3JkPyBXYXMgaXN0IGRhcz8gKFd1cnplbCwgIDkuIE9rdCAxOTk5LCAxNDozMToyMik6Cn4jISBybj1BbGJvaW4gcnQ9OTM5NDE1Njk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CmVpZ2VudGxpY2ggYmluIGljaCByZWNodCB6dWZyaWVkZW4gbWl0IG1pci4gdmFuIGhlbHNpbmcgaXN0IGZ1ZXIgbWljaCBkZXIgdHlwLApkZXIgZHJhY3VsYSBkZW4gaG9senBmbG9jayBkdXJjaCBkYXMgaGVyeiBnZXJhbW10IGhhdCwgdW5kIGRhcyByZWljaHQgbWlyCnZvZWxsaWcuIGRhIG11c3MgaWNoIG5pY2h0IG5vY2ggbWVya3d1ZXJkaWdlIGJ1ZWNoZXIgbGVzZW4gZGFmdWVyLiB1bmQgZmFsbHMKc2ljaCBqZXR6dCBlaW5lIHBhcHBuYXNlIHZvbiBuYXppIG1pdCBkZW0gZ2xlaWNoZW4gbmFtZW4gYXVmbWFjaHQsIGRlbSByZXN0CmRlciB3ZWx0IG1pdCBlaW5lbSBpbnRlbGxla3R1ZWxsZW4gaG9senBmbG9jayB6dSBkcm9oZW4sIGthbm4gaWNoIG51ciBob2ZmZW4KZGFzcyBkcmFjdWxhIHdpZWRlciBhdWZlcnN0ZWh0IHVtIGRlbSBzcHVrIGVpbiBlbmRlIHp1IG1hY2hlbi4KCm5hemlzIGlucyBrbG8sIHd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoSmFtYWxza2ksIDExLiBPa3QgMTk5OSwgMTQ6NDI6NDEpOgp+IyEgcm49V3VyemVsIHJ0PTkzOTQ3OTQ4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApEYXMgaXN0IGRpZSBFc3NlbnogYXVzIFByZXNzZS1Qcm9wYWdhbmRhOgpXdXJ6ZWwgZ2xhdWJ0IG51biwgdi4gSGVsc2luZyBpc3QgZWluIE5hemkhCkRlbSBpc3QgYWJlciAxMDAlaWcgbmljaHQgc28uIEljaCBiaW4gYXVjaCBrZWluZXIuCkljaCBiaW4ga3JpdGlzY2guIEljaCBnbGF1YmUgbmljaHQsIGRhc3MgZXMgRGVtb2tyYXRpZSBnaWJ0IChhbHMgU3RhYXRzZm9ybSksCmdlbmF1LCB3aWUgZXMga2VpbmUgQW5hcmNoaWUgdW5kIGtlaW5lbiBLb21tdW5pc211cy9Tb3ppYWxpc211cyBnaWJ0LgpEYXMgZWluemlnZSAnZnVua3Rpb25pZXJlbmRlJyBTeXN0ZW0gZnVlciBkaWUgYnJlaXRlIE1hc3NlIGlzdCBkZXIgRWdvaXNtdXMsCmRlciBhdWNoIGFscyAoTWFya3QpV2lydHNjaGFmdCBiZWthbm50IGlzdC4KRXMgc3RlaHQgaW4gZGVuIG1laXNzdGVuIEZhZWxsZW4gbmljaHRzIHVlYmVyIGRlbiBHZWZ1ZWhsZW4gaW0gZW5nZW4gS3JlaXMKKEZhbWlsaWUsIGV0YykgYWJlciBhbGxlcyB3YXMgTGV1dGUgYW5nZWh0LCBkaWUgd2lyIGthdW0ga2VubmVuLCBsYWVzc3Qgc2ljaApsZWljaHQgdmVyZHJhZW5nZW4uCklociBrb2VubnQgZ2VybmUgZ2xhdWJlbiB3YXMgaWhyIHdvbGx0LiBJaHIga29lbm50IGF1Y2ggdi5IZWxzaW5nIGZ1ZXIgZWluZW4KTmF6aSBoYWx0ZW4uIEVzIGlzdCBlaW5lIGFuZGVyZSBGb3JtIGRlcyBWZXJib3RzLCB3ZW5uIG1hbiBkZW4gUnVmIGVpbmVyClBlcnNvbiBzbyBzY2hhZWRpZ3QsIGRhc3MgZGFzIExlc2VuIHNlaW5lciBUZXh0ZSBtb3JhbGlzY2ggbmljaHQgdmVydHJldGJhcgp3aXJkLgpXZW5uIG1hbiBlaW4gc29sY2hlcyBCdWNoIHNjaHJlaWJ0IGJla29tbXQgbWFuIFN0cmVzcyBtaXQgYWxsZW4hIEF1c3NlciBtaXQKZGVtICdrbGVpbmVuIE1hbm4gdm9uIG5lYmVuYW4nISBNYW4gYmVrb21tdCBQcm9ibGVtZSBtaXQgYWxsZW4gbWFlY2h0aWdlbgpHcnVwcGllcnVuZ2VuLiBOaWNodCBtaXQgUG9saXRpa2VybiBvZGVyIFBhcnRlaWVuLiBNaXQgR3J1cHBpZXJ1bmdlbiBkaWUgbGlua3MKdW5kIHJlY2h0cyBudXR6ZW4hIEFscyBHbGFkaWF0b3JlbmthbXBmIGRlcyAyMC5KYWhyaHVuZGVydHMhIApHZXJhZGUgZ2VzdGVybiBmYW5kIHdpZWRlciBzbyBlaW4gR2xhZGlhdG9yZW5rYW1wZiBzdGF0dCEKSnVuZ2UsIHdhcyBoYWJlbiAgd2lyIChkYXMgVm9saykgZ2VzdGVybiB3aWVkZXIgZ3Jvc3NlIFBvbGl0aWsgZ2VtYWNodCEKTWVpbmUgU3RpbW1lIHd1cmRlIGdlemFlaGx0ISBFcyB3YXIgendhciBuaWNodCBkYXMgdG9sbHN0ZSBFcmdlYm5pcywgYWJlciBpY2gKZmluZGUgZXMgdG9sbCwgd2llIHNjaG9lbiBtYW4gaW4gRGV1dHNjaGxhbmQgYW4gZGVyIFBvbGl0aWsgdGVpbGhhYmVuIGthbm4gdW5kCmljaCBiaW4gbWFlY2h0aWcgc3RvbHogZ2VzZWhlbiB6dSBoYWJlbiwgZGFzcyBuaWNodCB6dWxldHp0IG1laW5lIFN0aW1tZSBlaW5lcgpQYXJ0ZWksIGRpZSBpY2ggYXVjaCBuaWNodCBiZXNvbmRlcnMgbWFnLCBlaW5lIFN0ZWlnZXJ1bmcgZGVyIFByb3plbnRwdW5rdGUKZXJsYXVidGUhCldvdyEKQWJlciBhbnNvbnN0ZW4gbW9lY2h0ZSBpY2ggZGllIERpc2t1c3Npb24gbGllYmVyIHZlcmdlc3NlbiwgZGEgc2llIGhpZXIgbmljaHQKc28gYXVmIGZydWNodGJhcmVuIEJvZGVuIGZhZWxsdC4KTGVidCB2b3IgZXVjaCBoaW4gdW5kIGFlbmRlcnQgbml4Cm9kZXI6CndlcmRldCBldWNoIGJld3Vzc3QgKGF1Y2ggZGFydWViZXIsIGRhc3MgaWhyIG5pY2h0cyBhZW5kZXJuIGtvZW5udCkKR2xhdWJ0IG5pY2h0IGFsbGVzISEhCkdsYXVidCBhdWNoIGtlaW5lbSB2LkhlbHNpbmchCkZpbmRldCBldXJlICdFaWdlbmUgV2FocmhlaXQnCgpqYW1hbHNraSBtZWludCBnZW51ZyBJbnB1dCBmdWVyJ3MgTUcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEFwc3UsIDExLiBPa3QgMTk5OSwgMTU6MTk6MzMpOgp+IyEgcm49SmFtYWxza2kgcnQ9OTM5NjUyOTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4Ck1hbCBlaHJsaWNoLCBEaWVzZXMgb21pbm9lc2UgQnVjaCB2b24gSi4gdmFuIEhlbHNpbmcgd2lyZCBkb2NoIGR1cmNoIEV1cmUKRmxhbWVyZWkgZXJzdCB1bmdlYnVlaHJlbmQgYXVmZ2V3ZXJ0ZXQuCldlciBoYXQgc29uc3Qgd2FzIHZvbiBkZW0gQnVjaD8gZG9jaCB3b2hsIG51ciBwYXJhbm9pZGUKVmVyc2Nod29lcnVuZ3N0aGVvcmV0aWtlciwgenUgZGVuZW4gdi4gSGVsc2luZyB3b2hsIGF1Y2ggZ2Vob2VydCwgZGllIG1pdAplaW5lbSBCZWluIGluIGRlciBLbGFwcHNlIHN0ZWhlbi4gV2FzIHNvbGwgZGVyIFRocmVhZD8hPz8KCkFwc3UgL3NlbmYgb2ZmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoRW5kZXIsIDExLiBPa3QgMTk5OSwgMTU6NTE6MDkpOgp+IyEgcm49Q2lyZGFuIHJ0PTkzOTM5MjA5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApFbmRlciBncmluc3QgRGljaCBhdXMgZGVyIEZlcm5lIGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoSmFtYWxza2ksIDExLiBPa3QgMTk5OSwgMTc6MjI6MjEpOgp+IyEgcm49QXBzdSBydD05Mzk2NTUxNzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKKioqIC0gQkVMSUVWRSBJVCBPUiBOT1QgLSAqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBGbm9yZD8gV2FzIGlzdCBkYXM/IChBbGJvaW4sIDExLiBPa3QgMTk5OSwgMTg6MTM6MjIpOgp+IyEgcm49SmFtYWxza2kgcnQ9OTM5NjYyNTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4Ck9iIHZhbiBIZWxzaW5nIE5hemkgaXN0IG9kZXIgbmljaHQsIGFudGlzZW1pdGlzY2ggaXN0IGVyIGRlZmluaXRpdi4gRGFzIGZhZW5ndApzY2hvbiBkYW1pdCBhbiBkYXMgZXIgYmVoYXVwdGV0LCBkYXNzIGRpZSBKdWRlbiBTYXRhbmlzdGVuIHdhZXJlbi4gVWViZXJoYXVwdCAKZmluZGUgaWNoIHppZW1saWNoIHZpZWxlIEJlaGF1cHR1bmdlbiB3aWVkZXIsIGRpZSBtYW4gaW1tZXIgbWFsIGF1cyBkZW0KcmVjaHRzZXh0cmVtZW4gTGFnZXIgZ2Vob2VydCBoYXQ6IERldXRzY2hsYW5kIHdhZXJlIGRhcyBlaW56aWcgdm9uIEdvdHQKdmVyaGVpc3NlbmUgTGFuZCwgdW5kIG1pbmQuIGVpbiAoaWNoIGJpbiBlcnN0IGFtIEFuZmFuZykgTWVzc2lhcyAoS2FzcGFyCkhhdXNlcikga29tbXQgYXVjaCB2b24gZG9ydC4gRXMgZmVobHQgbnVyIG5vY2gsIGRhc3MgdmFuIEhlbHNpbmcgZGVuCkFyaWVybmFjaHdlaXMgZnVlciBKZXN1cyBlcmJyaW5ndCAuLi4KCiprb3BzY2h1ZXR0ZWxuZCogQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChQYXJhY2Vsc3VzLCAxMS4gT2t0IDE5OTksIDE5OjA4OjA3KToKfiMhIHJuPUphbWFsc2tpIHJ0PTkzOTY1Mjk2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApXYXMsIGVzIGdpYnQga2VpbmUgQW5hcmNoaWU/IE1pc3QuCgpQYXJhKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoV3VyemVsLCAxMS4gT2t0IDE5OTksIDIwOjQ0OjU5KToKfiMhIHJuPUphbWFsc2tpIHJ0PTkzOTY1Mjk2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApkdSBnZWhzdCB2b24gZmFsc2NoZW4gdm9yYXVzc2V0enVuZ2VuIGF1cy4KaWNoIGdsYXViZSBuaWNodCwgZGFzcyB2YW4gaGVsc2luZyBlaW4gbmF6aSBpc3QuIHdlbm4gZHUgYXVmbWVya3NhbSBnZWxlc2VuCmhhZXR0ZXN0LCB3dWVzc3Rlc3QgZHUgZGFzcyBlciBmdWVyIG1pY2ggZWluIHZhbXBpcmphZWdlciBpc3QgKHVlYmVyIGV0d2FpZ2UKdW50ZXJzY2hpZWRlIHVuZCBnZW1laW5zYW1rZWl0ZW4gendpc2NoZW4gZGllc2VuIGJlaWRlbiB0eXBlbiBtb2VjaHRlIGljaAptaWNoIGpldHp0IHVuZCBoaWVyIG5pY2h0IHZlcmJyZWl0ZW4sIGRhc3MgZGFyZnN0IGR1IGdlcm4gc2VsYnN0IGltIHN0aWxsZW4Ka2FlbW1lcmxlaW4gdHVuLCB3ZW5uIGRpciBkYW5hY2ggaXN0KS4gYW5zb25zdGVuIGlzdCBtaXIgemllbWxpY2ggZWdhbCwgd2FzCmlyZ2VuZHdlbGNoZSBzY2hyZWliZXJsaW5nZSBpcmdlbmR3byBhdWYgZGVyIHdlbHQgYWJzb25kZXJuLCBzbyBsYW5nZSBlcyBuaWNodAp2b24gcGFyYW5vaWRlbiBkdW1wZm5hc2VuIHp1ciBiaWJlbCBlcmhvYmVuIHdpcmQuIGFsbGUgZGllc2UgYmliZWxuIChhdWNoIHdlbm4Kc2llIG5pY2h0IGF1ZiBkZW0gZWluYmFuZCBzbyBoZWlzc2VuKSBwcmVkaWdlbiBkb2NoIG51ciB2ZXJzY2hpZWRlbmUgd2VnZSwKc2ljaCBiZWkgbWlyIGV4dHJlbSB1bmJlbGllYnQgenUgbWFjaGVuLiBvYiBkYXMgbmF6aXMsIHNjaWVudG9sb2dlbiwgbW9zbGVtcwpvZGVyIGtvbW11bmlzdGVuIHNpbmQsIHNwaWVsdCBkYWJlaSBkb2NoIHVlYmVyaGF1cHQga2VpbmUgcm9sbGUuCgotPiBzZWxiZXIgZGVua2VuIG1hY2h0IHNjaGxhdS4KCnd1cnplbAoKcC5zLiB3YXJ1bSBpc3Qgc2NoZWlzc2UgYnJhdW4/IGtsYXIsIHdlaWwgYnJhdW4gaW1tZXIgc2NoZWlzc2UgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoT255eCwgMTIuIE9rdCAxOTk5LCAxMDo1NTozNSk6Cn4jISBybj1KYW1hbHNraSBydD05Mzk2NTI5NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKR2xhdWIgaWNoIGRpciBqZXR6dD8KICAqKioqLCBuYWNoZGVua2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEx1ZywgMTMuIE9rdCAxOTk5LCAwMTozMTozOCk6Cn4jISBybj1BbGJvaW4gcnQ9OTM5NDE1Njk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CgpTYWNoaWNoZG9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEFwc3UsIDEzLiBPa3QgMTk5OSwgMTQ6Mjg6MzkpOgp+IyEgcm49QWxib2luIHJ0PTkzOTY2NTYwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApEaWUgSnVkZW4ga29lbm5lbiBzY2hvbiBkZXN3ZWdlbiBrZWluZSBTYXRhbmlzdGVuIHNlaW4sIHdlaWwgaWhyIEJpbGQgU2F0YW5zCmVpbiBnYW56IGFuZGVyZXMgYWxzIGRhcyBkZXIgKGdub3N0aXNjaCB2ZXJzZXVjaHRlbikgQ2hyaXN0ZW4gaXN0LiBJbQpHZWdlbnRlaWw6IFNhdGFuIGlzdCBoaWVyIG5pY2h0IEdlZ2Vuc3BpZWxlciBHb3R0ZXMsIHNvbmRlcm4gaWhtIG5pY2h0IG51cgp1bnRlcmdlb3JkbmV0LCBzb25kZXJuIFdlcmt6ZXVnIHVuZCB3aWxsZmFlaHJpZ2VyIERpZW5lciBHb3R0ZXMsIHdpZSB6LkIuIGRhcwpCdWNoIEhpb2IgYmVsZWd0OiBEb3J0IGxhZXNzdCBHb3R0IGRlbiBUZXVmZWwgenUgc2ljaCB6aXRpZXJlbiwgdW0gaWhuIGRhbWl0Cnp1IGJlYXVmdHJhZ2VuLCBIaW9iIHp1IHBsYWdlbi4gU29sY2hlIEJlaXNwaWVsZSBnaWJ0cyB2aWVsZSBpbSBBVC4KCkFsc28gd2llIGljaCBzY2hvbiBzYWd0ZTogdW5ub2V0aWdlIEF1ZndlcnR1bmcgZWluZXMgbGl0ZXJhcmlzY2hlbgpCZXR0bmFlc3NlcnMgZHVyY2ggRXVlciBHZWZsYW1lIDopCgpBcHN1IC9zZW5mIG9mZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEZub3JkPyBXYXMgaXN0IGRhcz8gKEphbWFsc2tpLCAxMy4gT2t0IDE5OTksIDE1OjU5OjI4KToKfiMhIHJuPUFwc3UgcnQ9OTM5ODE3NzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CldlciB3ZWlzcyBkZW5uLCB3ZXIgZGllIEJpYmVsIGdlc2NocmllYmVuIGhhdCB1bmQgb2IgZGEgYWxsZXMgcmljaHRpZyBpc3Q/CgpKYW1hbHNraSwgYmVpIGRlbiBDaGFvdGVuIGdlbmF1IHJpY2h0aWchCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGbm9yZD8gV2FzIGlzdCBkYXM/IChBY3JpbW9uLCAxNC4gT2t0IDE5OTksIDIxOjE1OjEzKToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTM5NjY4ODg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CkFiZXIgZXMgZ2FiIHNpZSBtYWwuClp1bGV0enQgZnVlciBrdXJ6ZSBaZWl0IGluIEFsYmFuaWVuLCB3byBzaWNoIGRpZSBMZXV0ZSBkaWUgS29lcGZlIGJsdXRpZwpnZXNjaGxhZ2VuIGhhYmVuLgoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRm5vcmQ/IFdhcyBpc3QgZGFzPyAoQWxib2luLCAxNS4gT2t0IDE5OTksIDAwOjUzOjUzKToKfiMhIHJuPU9ueXggcnQ9OTM5NzI1NzM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4CmRhIGZhZWxsdCBtaXIgbm9jaCBlaW46IGJ1ZWNoZXIuZGUgaGF0IHNpY2ggbWl0IGRlbSB2YW4gSGVsc2luZyAtIEJ1Y2ggZWluZW4KemllbWxpY2hlbiBBdXNydXRzY2hlciBnZWxlaXN0ZXQuIERlciBGdXNzYmFsbGVyIFRob21hcyBCZXJ0aG9sZCBtYWNodGUKV2VyYnVuZyBmdWVyIGRpZXNlbiBWZXJzYW5kIHVuZCBzY2hyaWViIGViZW5kIGRpZXNlcyBCdWNoIGF1ZiBzZWluZW4KV3Vuc2NoemV0dGVsLiBPZmZlbmJhciB3dXNzdGUga2VpbmVyIGRhc3MgZXMgYmVyZWl0cyBzZWl0IDMgTW9uYXRlbiB2ZXJib3Rlbgp3YXIgLC0pCgpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjcyIChBdWdyYSwgMTcuIE9rdCAxOTk5LCAyMDoyMTo1OCk6Cn4jISBybj1BbGJvaW4gcnQ9OTM5OTQxNjMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTM4MTg5OTk4Ck1hbCBuZSBGcmFnZSB6dXIgQWJydW5kdW5nIGRlciBJbmZvcm1hdGlvbjoKCldhbm4gdW5kIG1pdCB3ZWxjaGVyIEJlZ3J1ZW5kdW5nIHd1cmRlIGRhcyBCdWNoICJ2ZXJib3RlbiI/IFVuZCBrYW5ubWFuIGRpZQpCZWdydWVuZHVuZyAoZGllIG9mZml6aWVsbGUpIGlyZ2VuZHdvIG5hY2hsZXNlbj8KCkF1Z3JhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogNzIgKEphbWFsc2tpLCAxOC4gT2t0IDE5OTksIDE1OjUyOjM3KToKfiMhIHJuPUF1Z3JhIHJ0PTk0MDE4NDUxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApFcyBnaWJ0IHNvZ2FyIGVpbiBCdWNoIGRhcnVlYmVyLCB3YW5uIHdhcnVtIHVuZCB3byBkaWVzZXMgQnVjaCB2ZXJib3RlbiB3dXJkZS4KV2FzIGljaCBkYXZvbiBoYWx0ZSB3ZXJkZSBpY2ggaGllciBhYmVyIG5pY2h0IG1laHIgYWV1c3Nlcm4uCmphbWFsc2tpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDcyIChCYW1idWxrbywgMTguIE9rdCAxOTk5LCAxNTo1Mzo1MSk6Cn4jISBybj1KYW1hbHNraSBydD05NDAyNTQ3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MzgxODk5OTgKd2FydW0gbmljaHQ/IFNjaHJlaWJzdCBEdSBkYXJ1ZWJlciBnZXJhZGUgZWluIEJ1Y2g/CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogNzIgKEphbWFsc2tpLCAxOC4gT2t0IDE5OTksIDE4OjUxOjI0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTk0MDI1NDgzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTkzODE4OTk5OApuZWluLCBkYXMgd3VlcmRlIHdhaHJzY2hlaW5saWNoIGFlaG5saWNoIGJlaGFuZGVsdCB3aWUgZWluIGFydGlrZWwgaW4gZGVyIG1wYQpqYW1hbHNraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FzIGljaCBkYXJmLiAoQmFtYmksIDE5LiBPa3QgMTk5OSwgMTY6MTk6NTgpOgpEaWVzZXIgVGV4dCBnZWh0IGFuIGFsbGUuCgpJY2ggaGFiZSBoZXV0ZSB6d2VpIFNwaWVsZXIgZ2VzdGVsbHQsIGRpZSBuaWNodG1hcmtpZXJ0ZSAiWndlaXRpZXMiIGJlc2l0emVuLgpJY2ggaGFiZSB2b24gZWluZXIgTWVsZHVuZyBiZWltIFNoZXJyaWZmIGFiZ2VzZWhlbiB1bmQgb2huZSBkZW4gIlJlY2h0c3dlZyIKdmVyc3VjaHQsIG1pY2ggbWl0IGdlbmFubnRlbiBTcGllbGVybiB6dSAiZWluaWdlbiIuIERhYmVpIHd1cmRlIG1pciBnZXNhZ3QsIGVzCmdpbmdlIG1pY2ggZ2FyIG5peCBhbiwgb2IgendlaXRpZXMgbWFya2llcnQgc2VpZW4gb2RlciBuaWNodC4KRGFzIGlzdCBmYWxzY2guIEFscyBNYWdpZXIgaGFiZSBpY2ggdW50ZXIgYW5kZXJlbSBkaWUgQXVmZ2FiZSwgZGllIEJlYWNodHVuZwplaW5pZ2VyIFJlZ2VsbiBzaWNoZXJ6dXN0ZWxsZW4uCkRhc3MgaWNoIGRhYmVpIG5pY2h0IGdsZWljaCBwZXR6ZW5kIHp1bSBTaGVycmlmZiBnZXJhbm50IGJpbiwgaXN0IGVoZXIgZWluClZvcnRlaWwgZnVlciBkaWUgamV3ZWlsaWdlbiBTcGllbGVyLgpVbmQgU3BpZWxlciBhdWYgUmVnZWxuIGhpbnp1d2Vpc2VuLCBpc3QgLWdlcmFkZSBhbHMgTWFnaWVyLSBrZWluIEFrdCBkZXIKQmVzc2Vyd2lzc2VyZWkgb2RlciBXaWNodGlndHVlcmVpLgpJY2ggaGFiZSBhdWNoIGtlaW5lIFN0cmFmZW4gb2RlciBBZWhubGljaGVzIGFuZ2Vkcm9odCwgZGEgZGllcyBpbSBBbGxnZW1laW5lbgpBdWZnYWJlIGRlcyBTaGVycmlmZnMgaXN0LgpCZWxsZW5kZSBIdW5kZS4uLgpFaW4gU3ByaWNod29ydCBiZXNhZ3QsIGRhc3MgZ2V0cm9mZmVuZSBIdW5kZSBiZWxsZW4uCkRpZSBad2VpdGllbWFya2llcnVuZyB3dXJkZSB2ZXJzcHJvY2hlbiB1bmQgdmVybXV0bGljaCBhdWNoIGR1cmNoZ2VmdWVocnQuClNvbGx0ZSBkaWVzIGRlciBGYWxsIHNlaW4sIHNvIHZlcmdlc3MgaWNoIGRpZSBTYWNoZSBhdWNoIHNjaG5lbGwuCkFuZGVyZXJzZWl0cyByZWdlbiBzaWNoIFNwaWVsZXIgbmljaHQgYXVmLCBkaWUga2VpbmUgVm9ydGVpbGUgdW50ZXJsYXNzZW5lcgpNYXJraWVydW5nIGhhYmVuLCB6dW1pbmRlc3Qgc2luZCBtaXIga2VpbmUgYmVnZWduZXQuIERpZSwgZGllIHNpY2ggYXVmcmVnZW4sCmhhYmVuIG1laXNzdGVucyBlaW5lbiBHcnVuZCB1bmQgbWVociBtdXNzIGljaCBkYXp1IGphIG5pY2h0IHNhZ2VuLgoKU28sIEFydGlrZWwgenVtIGZsYW1lbiwga3JpdGlzaWVyZW4sIHVudGVyc3RlbGxlbiB1bmQgbWljaCBiZXNjaGltcGZlbgpmcmVpZ2VnZWJlbi4KQmFtYmksIGVpbiBnYW56IGdlbWVpbmVzLCBzcGllbGVyZnJlc3NlbmRlcywgYmx1dHJ1ZW5zdGlnZXMgTWlzdHZpZWguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhcyBpY2ggZGFyZi4gKFNoYXJpYSwgMTkuIE9rdCAxOTk5LCAxNjoyODowNyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9OTQwMzQzMjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CkRFUiB3YXIgamV0enQgYWJlciBnZW1laW4gISEhIENVU0NIIFVMTEkgISEKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdhcyBpY2ggZGFyZi4gKEdub21lLCAxOS4gT2t0IDE5OTksIDE2OjI4OjM2KToKfiMhIHJuPUJhbWJpIHJ0PTk0MDM0Mjc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OAphZWhtLi4uIHdhcyBzb2xsIHNvIGVpbiBhcnRpa2VsIGlubmVyIE1QQT8KZGFzIGdlaHQgZWlnZW50bGljaCBudXIgZGllIGJldHJlZmZlbmRlbiBzcGllbGVyLCBkZW4gc2hlcmlmZiB1bmQgZXZ0bC4KZGljaCB3YXMgYW4uCmFiZXIgYmVzdGltbXQgbmljaHQgNjAwIGFrdGl2ZSBtaXRzcGllbGVyLCBtYWwgZ2FueiBhYmdlc2VoZW4gZGF2b24sIGRhc3MKZXMgd2FocnNjaGVpbmxpY2gga2VpbmVuIGludGVyZXNzaWVydC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhcyBpY2ggZGFyZi4gKFN1YmxpbWUsIDE5LiBPa3QgMTk5OSwgMTY6MzU6MjcpOgp+IyEgcm49R25vbWUgcnQ9OTQwMzQzMzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CkhtbSwuLi5pY2ggbXVzcyBkYSBub2NoIHdhcyB6dSBzYWdlbi4gVWViZXJhbGwgaGVpc3N0IGVzCmVzIHNlaSB2ZXJib3RlbiwgWndlaXRpZXMgdW5tYXJraWVydCB6dSBoYWx0ZW4uLi5BYmVyIGljaCBkZW5rZQpzb3dpZSBpY2ggZGFzIGluIGRlciBGQVEgZ2VsZXNlbiBoYWInIChvZGVyIHVlYmVyZmxvZ2VuKSwKaXN0IGRhcyBuaWNodCBnYW56IGVpbmRldXRpZy4uLiA6CmRhIHN0ZWh0IG5hZW1saWNoIC4uLgpad2VpdGNoYXJha3RlciBrbm5lbiAoYWJlciBtc3NlbiBuaWNodCkgaW4gZGVyIFp3ZXJnZW5zY2htaWVkZQphdWYgZGVyIEhvY2hlYmVuZSBhbHMgc29sY2hlIGdla2VubnplaWNobmV0IHdlcmRlbi4KCkJsaWNrdCBkYSBub2NoIGVpbmVyIGR1cmNoID8KU3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogd2FzIGljaCBkYXJmLiAoUmFuaSwgMTkuIE9rdCAxOTk5LCAxNjozODoxMCk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0MDM0MzcyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OAppbWhvIHN0YW1tdCBkaWUgZmFxIGF1cyBkZXIgemVpdCBiZXZvciBkaWUgendlaXRpZW1hcmtpZXJ1bmcgYWxzIHBmbGljaHQKZWluZ2VmdWVocnQgd3VyZGUuIGluIGRlciBmYXEgc3RlaHQgYnR3IHNvIGVpbmlnZXMgd2FzIG5pY2h0IG1laHIgZ3VlbHRpZyBpc3QKLi4uIHp1bSBiZWlzcGllbCBkaWUgaXAtYWRyZXNzZSB2b24gbXVlbnN0ZXIgOy0pCgpSYW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3YXMgaWNoIGRhcmYuIChTaGFyaWEsIDE5LiBPa3QgMTk5OSwgMTY6Mzk6MzApOgp+IyEgcm49UmFuaSBydD05NDAzNDM4OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKWndlaXRzcGllbGVyCj09PT09PT09PT09PQoKIEFMTEdFTUVJTjoKICAgIFp3ZWl0Y2hhcmFrdGVyZSBNVUVTU0VOIGFscyBzb2xjaGUgbWFya2llcnQgd2VyZGVuISBNb2VnbGljaCBpc3QgZGllcwp6LkIuCiAgICBiZWltIFNjaG1pZWQgaW4gZGVyIFp3ZXJnZW5zdGFkdC4gQW5kZXJlIFN0ZWxsZW4gd2VyZGVuIHNpY2hlciBiYWxkCiAgICBmb2xnZW4uIERpZSBNYXJraWVydW5nIG11c3MgbWl0IGRlbSBOYW1lbiBkZXMgRXJzdGNoYXJha3RlcnMgZXJmb2xnZW4sCiAgICBkYW1pdCBtYW4gZGllIFp1Z2Vob2VyaWdrZWl0IGRlcyBad2VpdGllcyBlaW5kZXV0aWcgZmVzdHN0ZWxsZW4ga2Fubi4KCiAgICBFcyBpc3QgZWluIHJpY2h0aWdlciBUZWFtbW9kdXMgZ2VwbGFudCwgYmVpIGRlbSBkaWUgTWl0Z2xpZWRlciBlaW5lcwpUZWFtcwogICAgYXVjaCBhbGxlIHZvbSBFcmZvbGcgYmVpbSBNZXR6ZWxuIG9kZXIgUXVlc3RlbiBwcm9maXRpZXJlbi4gRGllCiAgICBFbnR3aWNrbHVuZyBkaWVzZXMgVGVhbW1vZHVzIHN0ZWh0IHVuZCBmYWVsbHQgYWxsZXJkaW5ncyBtaXQgZGVyCiAgICBFaW5oYWx0dW5nIGRpZXNlciBad2VpdHNwaWVsZXJyaWNodGxpbmllbi4gRXMgbGllZ3QgYWxzbyBhbiBldWNoIQoKIE1BR0lFUlpXRUlUSUVTOgogICAgRnVlciBad2VpdGNoYXJha3RlcmUgdm9uIE1hZ2llcm4gZ2VsdGVuIHp1c2FldHpsaWNoIGRpZSBmb2xnZW5kZW4gUmVnZWxuOgoKKiBEZXIgTWFnaWVyIGRhcmYgbmljaHQgZ2xlaWNoemVpdGlnIG1pdCBzZWluZW0gTWFnaWVyLSB1bmQKICAgICAgIFp3ZWl0Y2hhcmFrdGVyIGVpbmdlbG9nZ3Qgc2Vpbi4KICAgICAqIERlciBad2VpdHNwaWVsZXIgZGFyZiB2b20gTWFnaWVyIGluIGtlaW5lciBXZWlzZSBtYW5pcHVsaWVydCB3ZXJkZW4KICAgICAoZGFzIGZvbGd0IGVpZ2VudGxpY2ggc2Nob24gYXVzIGRlbSBlcnN0ZW4gUHVua3QpLiBNYW5pcHVsYXRpb25lbiBhbQogICAgICAgWndlaXRzcGllbGVyIGZ1ZWhyZW4gZGF6dSwgZGFzcyBkZXIgU3BpZWxlciB6dW0gVGVzdHNwaWVsZXIgd2lyZCwKZGFtaXQKICAgICAgIGlzdCBlciB2b2xsIGRlbiBNYWdpZXJyZWdlbG4gdW50ZXJ3b3JmZW4uCiAgICAgKiBFUyBJU1QgU1RSRU5HU1RFTlMgVU5URVJTQUdUIEJFSSBRVUVTVFMgWlUgSEVMRkVOIQogICAgICAgRGF2b24gYWJnZXNlaGVuIHdpcmQgZGVyIFp3ZWl0c3BpZWxlciBhbHMgbm9ybWFsZXIgU3BpZWxlciBiZXRyYWNodGV0LAogICAgICAgZC5oLiBlciBrYW5uIGFtIG5vcm1hbGVuIFNwaWVsZ2VzY2hlaGVuIHRlaWxuZWhtZW4sIGRhcmYgbWl0IGFuZGVyZW4KICAgICAgIFNwaWVsZXJuIHp1c2FtbWVuIG1ldHplbG4sIGlobmVuIEdlbGQgb2RlciBBdXNydWVzdHVuZyBnZWJlbiBvZGVyIHouQi4KICAgICAgIFdlZ2UgZXJrbGFlcmVuLgogICAgICogRGVyIFp3ZWl0Y2hhcmFrdGVyIHNvbGx0ZSBzaWNoIGV0d2FzIHp1cnVlY2toYWx0ZW4sIHdlbm4gZXIgZHVyY2gKc2VpbmUKICAgICAgIEFrdGlvbmVuIGVjaHRlIFNwaWVsZXIgYmVoaW5kZXJ0LiBCZWlzcGllbGUgZGFmdWVyIHNpbmQgei5CLiBkYXMKICAgICAgIEJsb2NraWVyZW4gdm9uIFF1ZXN0cyBvZGVyIGRhcyBFaW5uZWhtZW4gaG9oZXIgKGxpbWl0aWVydGVyKQogICAgICAgR2lsZGVucmFlbmdlLiBJbSBsZXR6dGVuIEZhbGwgc3RlaHQgZXMgbmF0dWVybGljaCBqZWRlbQogICAgICAgR2lsZGVucHJvZ3JhbW1pZXJlciBmcmVpLCBzZWluZSBlaWdlbmVuIFJlZ2VsbiBiemdsLiBNYWdpZXJ6d2VpdGllcwogICAgICAgZmVzdHp1bGVnZW4uCgogU0lFSEUgQVVDSDoKICAgIHRlc3RzcGllbGVyLCB2ZXJ0cmFnCgogTEVUWlRFIEFlTkRFUlVORzoKICAgIFRodSwgMDQuMDkuMTk5NywgMTE6MjE6NTIgdm9uIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd2FzIGljaCBkYXJmLiAoQmFtYmksIDE5LiBPa3QgMTk5OSwgMTY6NDI6MzkpOgp+IyEgcm49UmFuaSBydD05NDAzNDM4OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKZnVlciBkaWUgbGV0enRlbiA1IGFydGlrZWwgb2RlciBzby4uLgoxLiBBbmF0b2wsIGhhbHRzIG1hdWwuCjIuIHdhcyBpbnRlcmVzc2llcnQgbWljaCBkaWUgRkFRLCB3ZW5uIG1pciBkZXIgU2hlcnJpZmYgbWl0IGVpbmVtIHIgd2FzCmFuZGVyZXMgc2FndC4KMy4gV2FzIGFsbGUgYW5nZWh0Li4uIE51ciBkYW1pdCBMZXV0ZSB3aWUgWFkgbWFsIGthcGllcmVuLCBkYXNzIGVzIGF1Y2ggUmVnZWxuCmdpYnQgdW5kIGRhc3MgZGFzIG5pY2h0bWFya2llcmVuIGVpZ2VuZXIgWndlaXRpZXMgbnVyIGRlc2hhbGIgYmlzaGVyIG5pY2h0CmFuZ2VtZWNrZXJ0IHd1cmRlLCB3ZWlscyBiaXNoZXIgbmljaHQgYXVmZ2VmYWxsZW4gaXN0LiBEYXMgZ2VodCBzY2hvbiBhbmRlcmUKd2FzIGFuLiBVbmQgd2FzIGRpZSAiQmV0ZWlsaWd0ZW4iIGJldHJpZmZ0LCBtaXQgZGVuZW4gaGFiIGljaCBrZWluIFByb2JsZW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB3YXMgaWNoIGRhcmYuIChBbmF0b2wsIDE5LiBPa3QgMTk5OSwgMTY6NTE6MDYpOgp+IyEgcm49QmFtYmkgcnQ9OTQwMzQ0MTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CkFybWVzIGtsZWluZXMgQmFtYmkuIFZpZWxsZWljaHQgZnJldW5kZXN0IER1IERpY2ggd2lya2xpY2ggbWFsIG1pdCBkZW0KR2VkYW5rZW4gYW4sIGRhc3MgR25vbWUgcmVjaHQgaGFiZW4ga29lbm50ZTogV2ljaHRpZ21hY2hlcmlzY2hlcyAiSGV5LAptYXJraWVyJyBEaWNoIG9kZXIgaWNoIG11c3MgcGV0emVuIiBpbiBkaWUgWmVpdHVuZyB6dSBzZXR6ZW4sIGlzdCB3b2hsCndpcmtsaWNoIG5pY2h0IGFuZ2VicmFjaHQuCgpBYmVyLi4uIGRhIG11ZXNzdGVzdCBEdSBEaXIgamEgb2ZmZW4gZWluZ2VzdGVoZW4sIGRhc3MgRHUgTWlzdCBnZW1hY2h0IApoYXN0LiBVbmQgZGFzIGZhZWxsdCBLb29taWtlcm4gc2Nod2VyLi4uCgpBbmF0b2wgLSBCcmVpdHNjaHdlcnQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3YXMgaWNoIGRhcmYuIChQYXRyeW4sIDE5LiBPa3QgMTk5OSwgMTc6MTU6MjApOgp+IyEgcm49UmFuaSBydD05NDAzNDM4OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKd2VtIHNvbGNoZSB1bmdlcmVpbXRoZWl0ZW4gYXVmZmFsbGVuLCBkZXIgbWFpbGUgc2llIG1pciBlaW5mYWNoLgppc3QgendhciBuaWNoIG1laW4gam9iLCBhYmVyIGhpbiB1bmQgd2llZGVyIGtsaWVyIGljaCBzY2hvbiBtYWwgaW4KZGVuIGhpbGZlc2VpdGVuIHJ1bS4uLmlzdCByZWNodCBlbnRzcGFubmVuZCA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2FzIGljaCBkYXJmLiAoVGFyYWdvbiwgMTkuIE9rdCAxOTk5LCAxODoxNzoyMik6Cn4jISBybj1CYW1iaSBydD05NDAzNDQxNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKV29iZWkgaWNoIGVzIGFscyBoZWxmZW5kIGVtcGZpbmRlbiB3dWVyZGUgd2VubiBkaWUgJ3Vuc2ljaHRiYXJlJyBtYXJraWVydW5nCndpZWRlciBlbnRmZXJudCB3ZXJkZW4ga29lbm50ZS4uLiBkYXMgd3VlcmRlIGRlbiBkcnVjaywgc2VpbmVuIHp3ZWl0aSB6dQptYXJraWVyZW4gSU1ITyBkcmFzdGlzY2ggZXJob2VoZW4uLi4gZGVubiBzbyByZW5udCBkb2NoIGVoIGtlaW4gc3BpZWxlciB6dW0Kc2hlcnJpZmYgdW5kIHNjaHdhZXJ6dCBlaW5lbiB2ZXJtZWludGxpY2ggbmljaHQgbWFya2llcnRlbiB6d2VpdGkgYW4gd2VpbCBlcgpoYWx0IGltIGhpbnRlcmtvcGYgaGF0ICdlcyBrb2VubnRlIGphIGVpbiB1bnNpY2h0YmFyIG1hcmtpZXJ0ZXIgc2VpbiB1bmQgZGFubgptYWNoIGljaCBtaWNoIG51ciBsYWVjaGVybGljaCcgOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogd2FzIGljaCBkYXJmLiAoTGlhcmEsIDE5LiBPa3QgMTk5OSwgMTk6MjU6MDApOgp+IyEgcm49VGFyYWdvbiBydD05NDAzNDk4NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKQWxzbyBpY2ggZmluZGUgZGllc2UgSW52aXMtTWFya2llcnVuZyBleHRyZW0gbnVldHpsaWNoLgpCZWlzcGllbDoKTWVpbmUgS2FlbXBmZXJ6d2VpdGluZSBNaXJqYW0gd3VyZGUgaW4gZGVuIFplaXRlbiBkZXMgQXp1YmltYW5nZWxzIG9lZnRlciBzZWhyCnJ1ZWRlIGFuZ2VtYWNodCwgc2llIHNvbGxlIGRvY2ggYWxzIFphdWJpendlaXRpZSBuaWNodCBkZW4gZWNodGVuIEthZW1wZmVybgpkaWUgQXp1YmlzIHdlZ25laG1lbi4gKEphIGdlbmF1LCB3b3J1ZWJlciBtYW5jaGUgTGV1dGUgc2ljaCBoYWx0IGF1ZnJlZ2VuLikKU2VpdGRlbSBoYWJlIGljaCBkaWUgbmFtZW50bGljaGUgWndlaXRpZWtlbm56ZWljaG51bmcgZW50ZmVybnQgdW5kIG1laW5lIFJ1aGUKdW5kIFNwYXNzIGFtIEthZW1wZmVuIHVuZCBaYXViZXJuIG9kZXIgc28uIDstKQoKTGlhcmEsIFp3ZXJnZW56YXViZXJpbmUgbWl0IEthZW1wZmVyc3Bhc3N6d2VpdGllIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3YXMgaWNoIGRhcmYuIChMdWcsIDIwLiBPa3QgMTk5OSwgMDA6NTM6NTMpOgp+IyEgcm49QW5hdG9sIHJ0PTk0MDM0MzI4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OAoKQW5hdG9sPwoKSXJnZW5kd2FzIGhhc3QgRHUgZGEgZHVyY2hlaW5hbmRlcmJla29tbWVuLCB3ZW5uIGljaCBudXIgd3Vlc3N0ZSB3YXMuLi4KCkZpZEtHdW1hcgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHdhcyBpY2ggZGFyZi4gKEx1ZywgMjAuIE9rdCAxOTk5LCAwMDo1NTo0MSk6Cn4jISBybj1BbmF0b2wgcnQ9OTQwMzQ0NjY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CgpEdSBiaXN0IHp1IG1pbGRlIEFuYXRvbCwKCmljaCBlbXBmZWhsZSBCYW1iaSBlaW4gaGVyemxpY2hlczogTEQhCgpBYmVyIHphY2tpZywgZGVubiBEdSBiaXNzdCBvZmZlbnNpY2h0bGljaCB1bmdlZWlnbmV0IGZ1ZXIgbmVuIE1hZ2pvYi4KCktvcnQgdW4gYnVlbm5pZwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXMgaWNoIGRhcmYuIChBcmFuY2lhLCAyMC4gT2t0IDE5OTksIDA3OjIwOjQzKToKfiMhIHJuPUJhbWJpIHJ0PTk0MDM0Mjc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApobSwgd2VubiBkaWUgendlaXRpZW1hcmtpZXJ1bmcgdmVyc3Byb2NoZW4gdW5kIGR1cmNoZ2VmdWVocnQgd3VyZGUsIHZlcnN0ZWgKaWNoIGRlbiBTaW5uIGRlcyBBcnRpa2VscyBuaWNodCBnYW56LiBFcyBzZWkgZGVubiBEdSBsZWlkZXN0IHVudGVyIGNocm9uaXNjaGVyCkxhbmdld2VpbGUuIFVuZCB3aWVzbyBlcmlubmVydCBtaWNoIGRhcyBhbiBtZWluZSBLaW5kZXJnYXJ0ZW56ZWl0Pz8/CgpEaWUgQXBmZWxzaW5lLCBmaW5kZXQgZGFzIGFsYmVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2FzIGljaCBkYXJmLiAoQmFtYmksIDIwLiBPa3QgMTk5OSwgMTA6NDg6MDQpOgp+IyEgcm49QXJhbmNpYSBydD05NDAzOTY4NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKTm9jaCBtYWwga3VyeiB1bmQga25hcHAuCjEuIGhhbHRlIGljaCBlcyBmdWVyIHJpY2h0aWcsIGFscyBtYWdpZXIgU3BpZWxlciBhdWYgUmVnZWx2ZXJzdG9lc3NlCmhpbnp1d2Vpc2VuLCBlaGUgZXMgKHZvbiBhbmRlcmVyIFNlaXRlKSBtZWhyIGFlcmdlciBnaWJ0LgoyLiBtZWluIEFydGlrZWwgc29sbCAuLi4gYWNoIHdhcyBzb2xscy4KV2lyZCBlaCB3aWVkZXIgYWxsZXMgZmFsc2NoIHZlcnN0YW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgaWNoIGRhcmYuIChBbmF0b2wsIDIwLiBPa3QgMTk5OSwgMTE6MTU6MjYpOgp+IyEgcm49QmFtYmkgcnQ9OTQwNDA5Mjg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4ClVuZCB3YXMgc29sbCBESUVTRVIgQXJ0aWtlbCBudW4gc2Nob24gd2llZGVyIGF1c3NhZ2VuPyBadSAoMSkgd2lyZApEaXIgYmVzdGltbXQgbmllbWFuZCB3aWRlcnNwcmVjaGVuLiBFaW4gZGlyZWt0ZXMgUHJvYmxlbWxvZXNlbiBpc3QsIApmYWxscyBtYWNoYmFyIHVuZCBkZXIgTWFnaWVyIGtvbXBldGVudCwgYmVzdGltbXQgYmVzc2VyLCBhbHMgenVtClJvY2t6aXBmZWwgZGVzIFNoZXJpZmZzIChiZWFjaHRlIGRpZSBTY2hyZWlid2Vpc2UpIHp1IGxhdWZlbi4gSXN0CmplZG9jaCBwZWlubGljaCwgZGFzcyBEZWluIEVya2xhZXJ1bmdzbm90c3RhbmQgZGFubiBhYmVyIGdlbmF1IGRhCigyKSBlaW5zZXR6dCwgd28gZGllIC0gdmllbGZhY2hlbiAtIEZyYWdlbiBhbiBEaWNoIGVpbmdpbmdlbi4gRGVpbmUKVW5mYWVoaWdrZWl0IHR1dCBuaWNodCBudXIgRGlyIHdlaCwgd2Vpc3N0IER1IGRhcz8gCgpBdXMgYWt0dWVsbGVtIEFubGFzcyBub2NoIGVpbmUgcHJpdmF0ZSBNZWxkdW5nOiBTb2xsdGUgaWNoIGluIGVpbmVtCnZvcmhlcmdlaGVuZGVuIEFydGlrZWwgZXJ3YWVobnQgaGFiZW4sIGRhc3MgQmFtYmkgZWluZW4gdW5zaWNodGJhcgptYXJraWVydGVuIFp3ZWl0Y2hhcmFrdGVyIHBmbGVndCwgZGVyIHNpY2ggZ2VuYXVzbyBtaW5kZXJiZW1pdHRlbHQKdmVyaGFlbHQsIHppZWhlIGljaCBkaWVzZSBBdXNzYWdlIGF1ZiBob2NoZXJ6bWFnaWVybGljaGVuIERydWNrIGhpbgp1bnRlcnRhZW5pZ3N0IHp1cnVlY2suIEVpbmUgQWVobmxpY2hrZWl0IHp3aXNjaGVuIExlbmEgdW5kIEJhbWJpIGlzdApyZWluIHp1ZmFlbGxpZyEKCkFuYXRvbCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdhcyBpY2ggZGFyZi4gKFN1YmxpbWUsIDIwLiBPa3QgMTk5OSwgMTE6MTk6NDEpOgp+IyEgcm49QW5hdG9sIHJ0PTk0MDQxMDkyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApEYXMgaWhyIGV1Y2ggYWxsZSBhbiBkaWVzZW0gU2NocmVpYmZlaGxlcmNoZW4gYXVmaGFlbmd0CmlzdCBzY2hvbiBrb21pc2NoIDspKSkpKQoKU3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2FzIGljaCBkYXJmLiAoU3VibGltZSwgMjAuIE9rdCAxOTk5LCAxMToyMDozOSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0MDQxMTE4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApVbmQgZGllIFVlYmVyc2NocmlmdCBlcnN0IDogOykgd2FzIGljaCBkYXJmLi4uIDspCkRhcyBpc3QgZG9jaCBlaGVyIGxhbmdzYW0gaW4gZGllIGVja2Ugdm9uIHNjaG1hcnJuCmVpbnp1b3JkbmVuLCBmaW5kZXQgaWhyIG5pY2h0ID8KClN1Ymwgbm9jaG1hbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2FzIGljaCBkYXJmLiAoQmFtYnVsa28sIDIwLiBPa3QgMTk5OSwgMTE6MjI6MDEpOgp+IyEgcm49U3VibGltZSBydD05NDA0MTExODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKSXN0IGViZW4gYXVjaCBlaW4gZ3Jvc3NlcyBWZXJicmVjaGVuICJTaGVyaWZmIiBmYWxzY2ggenUgc2NocmVpYmVuLCBkYXMgbWl0CnNvZm9ydGlnZXIgTG9lc2NodW5nIGJlc3RyYWZ0IHdlcmRlbiBzb2xsdGUuLi4uCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogd2FzIGljaCBkYXJmLiAoU3VibGltZSwgMjAuIE9rdCAxOTk5LCAxMToyMzoyOCk6Cn4jISBybj1CYW1idWxrbyBydD05NDA0MTEzMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKVW5kIGxlYmVuc2xhbmdlciBTcGVycnVuZyBkZXMgTmFtZW5zIHVuZCBkZXIgSVAgIQoKU3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogd2FzIGljaCBkYXJmLiAoQmFtYnVsa28sIDIwLiBPa3QgMTk5OSwgMTE6MjU6MjIpOgp+IyEgcm49U3VibGltZSBydD05NDA0MTE0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKTWluZGVzdGVucy4uLndlbm4gbmljaHQgc29nYXIgZGllIFNwZXJydW5nIGFsbGVyIElQJ3MgYXVzIGRlbSBCdW5kZXNsYW5kLi4KRXMgd2lyZCBaZWl0LCBkYXNzIHdpciBoaWVyIGV0d2FzIGRyYXN0aXNjaGVyZSBNYXNzbmFobWVuIGVpbmZ1ZWhyZW4uIAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHdhcyBpY2ggZGFyZi4gKFN1YmxpbWUsIDIwLiBPa3QgMTk5OSwgMTE6NDA6MjgpOgp+IyEgcm49QmFtYnVsa28gcnQ9OTQwNDExNTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4ClN1YmwgaXN0IGVoIGZ1ZXIgZGllIE5ldW9yZG51bmcgZGVyIGdhbnplIElQLUFkcmVzc2VuIChtaXQgZGQgPyA7KSkuCklzdCBkb2NoIFNjaHdhY2hzaW5uLCBtYW4gbXVlc3N0ZSBkaWUgTGV1dGUgdm9yaGVyIHZpZWwgZ2VuYXVlciAKcHJ1ZWZlbiwgZWhlIG1hbiBzaWUgaW5zIEludGVybmV0IGxhZXNzdC4gV2llIHdhZXJzIG1pdCBub2NoIG5lcgpzdGFhdGxpY2hlbiBCZWhvZXJkZSA/CgpTdWJsLCBpbSBMYWJlcnJhdXNjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogd2FzIGljaCBkYXJmLiAoQmFtYnVsa28sIDIwLiBPa3QgMTk5OSwgMTE6NDI6NDgpOgp+IyEgcm49U3VibGltZSBydD05NDA0MTI0Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKR3V0ZSBJZGVlLCB1bmQgZGllIExldXRlIG11ZXNzZW4gdm9yaGVyIGVpbmVuIEVpZ251bmdzdGVzdCBtYWNoZW4uIFVuZCBkYXp1CmdlaG9lcnQgZXMgZHJlaSBTZWl0ZW4gb2huZSBGZWhsZXIgenUgdGlwcGVuLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXMgaWNoIGRhcmYuIChEYXJrbWFnZSwgMjAuIE9rdCAxOTk5LCAxMTo0MzozMik6Cn4jISBybj1CYW1iaSBydD05NDAzNDI3OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKSWNoIGZpbmRlLCBEdSBoYWV0dGVzdCB3ZW5pZ3N0ZW5zIGFuc3RhbmRzaGFsYmVyIHZvcmhlciBWb2xsbWFnaWVyIHdlcmRlbgprb2VubmVuLCBiZXZvciBEdSBkYW5uIGFuZmFlbmdzdCwgaGllciBpbiBkZXIgTVBBIGRlbiBIaWxmcy1TaGVyaWZmIGZ1ZXIgQXJtZQp6dSBnZWJlbi4KT2RlciB3YXIgYmVpIERlaW5lciBNYWdpZXJ3ZXJkdW5nIGxlZGlnbGljaCBlaW5lIGdld2lzc2UgR2VsdHVuZ3NzdWNodAphdXNzY2hsYWdnZWJlbmQ/IFNjaGF1dCBzbyBhdXMuLi4uCgpHcnVzcywgTmViLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHdhcyBpY2ggZGFyZi4gKFdpbGxvdywgMjAuIE9rdCAxOTk5LCAxMTo0Mzo1MCk6Cn4jISBybj1CYW1idWxrbyBydD05NDA0MTI1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKSWhyIHNwaW5udCBqYSBhbGxlLi4uIDstKQoKa290IHVuIGJ1bm5pY2ggV2lsbG93CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogd2FzIGljaCBkYXJmLiAoSXNub2dvb2QsIDIwLiBPa3QgMTk5OSwgMTM6MTk6MTgpOgp+IyEgcm49V2lsbG93IHJ0PTk0MDQxMjYzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApEaWUgZWluemlnZSBMb2VzdW5nIGRlcyBwcm9ibGVtcyB3YWVyZSwgZnVlciBNYWdpZXIgZWluZW4gRWlnbnVuZ3N0ZXN0CmVpbnp1ZnVlaHJlbi4gRGFubiB3dWVyZGUgZXMgYWxsZXJkaW5ncyB6aWVtbGljaCBsZWVyIHdlcmRlbiBoaWVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogd2FzIGljaCBkYXJmLiAoQmFtYnVsa28sIDIwLiBPa3QgMTk5OSwgMTM6MjI6MjApOgp+IyEgcm49SXNub2dvb2QgcnQ9OTQwNDE4MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CkRlbiBnaWJ0IGVzIHNjaG9uLiBEZXIgbmVubnQgc2ljaCAiU2VoZXJ3ZXJkdW5nIi4uLi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiB3YXMgaWNoIGRhcmYuIChHbm9tZSwgMjAuIE9rdCAxOTk5LCAxMzoyMzoyNCk6Cn4jISBybj1CYW1idWxrbyBydD05NDA0MTg1NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKZGFyZiBpY2ggbWFsIGt1cnogbGFjaGVuPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiB3YXMgaWNoIGRhcmYuIChCYW1idWxrbywgMjAuIE9rdCAxOTk5LCAxMzoyNTo1NSk6Cn4jISBybj1Hbm9tZSBydD05NDA0MTg2MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKSWNoIGdsYXViZSBzY2hvbi4uLi5oYWJlIG5pY2h0cyBkYWdlZ2VuLi46LSkKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgaWNoIGRhcmYuIChBcHN1LCAyMC4gT2t0IDE5OTksIDE3OjQ2OjQzKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQwMzQzNzI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4CkRhcyAnbXVlc3NlbiBhYmVyIG5pY2h0JyBiZXpvZyBzaWNoIHdvaGwgZWhlciBhdWYgZGllIE1vZWdsaWNoa2VpdCwgZGllClp3ZWl0aWVzIGF1Y2ggYmVpIEZvbmRpbCBGYXJpbiBtYXJraWVyZW4gbGFzc2VuIHp1IGtvZW5uZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogd2FzIGljaCBkYXJmLiAoQXBzdSwgMjAuIE9rdCAxOTk5LCAxNzo0ODoyOCk6Cn4jISBybj1UYXJhZ29uIHJ0PTk0MDM0OTg0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OAoKaGlsZmUgendlaXRpZW1hcmtpZXJ1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXMgaWNoIGRhcmYuIChKYXNwZXIsIDIwLiBPa3QgMTk5OSwgMTc6NDk6MDYpOgp+IyEgcm49QmFtYmkgcnQ9OTQwMzQyNzk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4Cm51amEgdW5kIHdvenUgc29sbCBkZXIgYXJ0aWtlbCBndXQgc2Vpbj8gCgpKYXNwZXIgd2lsbCBOYW1lbiAoTW9lcHNlLFNvbW1lcixuZSBueW1waG9tYW5pc2NoZSBNaWxsaW9uYWVyaW4gZGllIHNhbXN0YWdzCmFiZW5kcyBnZXJuZSBhdXRvIGZhZWhydCxrZWluZW4gYWxrb2hvbCB0cmlua3QsIG5lIHNhdSBpbSBiZXR0IGlzdCwgZ3V0IGtvY2hlbgprYW5uLGV0Yy4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhcyBpY2ggZGFyZi4gKEphc3BlciwgMjAuIE9rdCAxOTk5LCAxNzo1Mjo0Mik6Cn4jISBybj1EYXJrbWFnZSBydD05NDA0MTI2MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKYWxzbyBhdXMgZGVuIGhpbGZzLXNoZXJpZmZlbiBmdWVyIGFybWUgd2lyZCBoaW4gdW5kIHdpZWRlciBhdWNoIHNwYWV0ZXIgbWFsCmVpbiBlcnptYWdpZXIgOikKCmphc3BlciBndWNrdCBudSBrZWluZW4gYW4gOlAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2FzIGljaCBkYXJmLiAoQmFtYmksIDIxLiBPa3QgMTk5OSwgMDc6NDc6MjQpOgp+IyEgcm49SmFzcGVyIHJ0PTk0MDQzNDU0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OAp3ZXIgc28gbGllYiBmcmFlZ3QuLi4KMS4gTWFnaWVyIHNpbmQgbmljaHQgKGdydW5kc2FldHpsaWNoKSBib2VzZSBMZXV0ZSwgd2VubiBzaWUgZWluZW4KU3BpZWxlciBhdWYgbmUgUmVnZWwgaGlud2Vpc2VuLgoyLiBMZXV0ZSwgbWFya2llcnQgZXVyZSBad2VpdGllcywgZGVubiB3ZW5uIGV1Y2ggZWluZXIgYm9lcyB3aWxsIHVuZCBkYXMKcmF1c2tyaWVndC4uLgpCYW1iaSwga2VpbiBIaWxmc3NoZXJpZmYgYmVzb25kZXJlciBOYXR1ci4gKEFsbGUgTWFnaWVyIHNpbmQgaW4gZ2V3aXNzZXIgV2Vpc2UKSGlsZnNzaGVyaWZmcywgZGVuayBpY2ggbWFsLiBBYmVyIGRhcyBEZW5rZW4gdWViZXJsYXNzIGljaCBiZXNzZXIgQW5hdG9sLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdhcyBpY2ggZGFyZi4gKEJhbWJpLCAyMS4gT2t0IDE5OTksIDA3OjQ4OjI2KToKfiMhIHJuPUJhbWJpIHJ0PTk0MDQ4NDg0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApOYWNodHJhZywgZWhlIGVzIHdpZWRlciBNaWFzc3ZlcnN0YWVuZG5pc3NlIGdpYnQuLi4KSmVtYW5kIGRlciBldWNoIGJvZXMgd2lsbCwga2FubiBldWNoIG5peCwgd2VpbCBpaHIgZXVyZSBad2VpdGllcyBtYXJraWVydCwKc29uZGVybiB3ZWlsIGlociBzaWUgZ2dmLiBuaWNodCBtYXJraWVydCBoYWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHN1bmFtaSBrb21tdCBpbSBGZXJuc2VobiAoVHN1bmFtaSwgMjEuIE9rdCAxOTk5LCAxMzo1MzowMyk6CldlbidzIGludGVyZXNzaWVydDoKCmhldXRlIGFiZW5kLCBpcmdlbmR3YW5uIHp3aXNjaGVuIDIxOjA1IHVuZCAyMTo1MCBpbiBkZXIgU2VuZHVuZyAKIk1lbnNjaGVuIFRlY2huaWsgV2lzc2Vuc2NoYWZ0IiBhdWYgU2Nod2VpemVyIEZlcm5zZWhlbiBTRiAxCmtvbW10IGVpbiA0MC1zZWt1ZW5kaWdlciBCZWl0cmFnIHVlYmVyIEFsemhlaW1lciB1bmQgRGlhYmV0ZXMuIApHZWZpbG10IGluIHVuc2VyZW0gSW5zdGl0dXQgYW4gbWVpbmVtIEFyYmVpc3BsYXR6LiBVbmQgYW0gU2NobHVzcwpkZXMgQmVyaWNodHMgZ2ViZSBpY2ggbm9jaCAxMCBTZWt1bmRlbiBzYWxidW5nc3ZvbGxlIFdvcnRlIHZvbiBtaXIuCkljaCBob2ZmLCBtZWluZSBob2hlIFN0aXJuIGdsYWVuenQgbmljaHQgenUgZmVzdCA6KSBHZXNlaGVuIGhhYmUgaWNoIGRlbgpCZWl0cmFnIG5hZW1saWNoIG5vY2ggbmljaHQuCgpUc3VuYW1pICpkZW4gaGV1dGlnZW4gQWJlbmQgbWl0IFNwYW5udW5nIGVyd2FydGVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc3VuYW1pIGtvbW10IGltIEZlcm5zZWhuIChTdWJsaW1lLCAyMS4gT2t0IDE5OTksIDEzOjU3OjI3KToKfiMhIHJuPVRzdW5hbWkgcnQ9OTQwNTA2NzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTA2NzgzCldlbm4gRHUgbWlyIG5vY2ggc2Fnc3QsIHdpZSBpY2ggZGFzIGRldXRzY2hlIEthYmVsbmV0egpoYWNrZW4ga2FubiwgdW0gU2Nod2VpemVyIEZlcm5zZWhlbiBhdWNoIGluIEJlcmxpbiBzZWhlbgp6dSBrb2VubmVuLCBkYW5uIHNjaGF1IGljaCB6dSA7KQoKU3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUc3VuYW1pIGtvbW10IGltIEZlcm5zZWhuIChUc3VuYW1pLCAyMS4gT2t0IDE5OTksIDEzOjU5OjE5KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQwNTA3MDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTA2NzgzCkljaCBnbGF1YiwgZGllIFNlbmR1bmcgd2lyZCBhbSBuYWVjaHN0ZW4gRGllbnN0YWcgaXJnZW5kd2FubiBhbSBOYWNobWl0dGFnCmF1ZiAzU2F0IHdpZWRlcmhvbHQuCgpUc3VuYW1pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgaWNoIGRhcmYuIChNdXBmZWwsIDIxLiBPa3QgMTk5OSwgMTQ6Mzc6MTYpOgp+IyEgcm49QmFtYmkgcnQ9OTQwNDg0ODQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwMzQyNzk4ClB1bmt0IDIga2xpbmd0IHdpZSBuZSBEcm9odW5nIGJ0dy4KCmFsc28gbGV1dGU6Cm1hcmtpZXJ0ZSBldXJlIDJ0aWVzLCBkZW5uIGJhbWJpIHdpbGwgZXVjaCBib2VzLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2FzIGljaCBkYXJmLiAoSmFtYWxza2ksIDIxLiBPa3QgMTk5OSwgMTQ6NDE6MDApOgp+IyEgcm49U3VibGltZSBydD05NDA0MTExODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKTWFuY2hlIExldXRlIGxlYmVuIGViZW4gaGllciBzZW1pLWFub255bSBhdXMsIHdhcyBzaWUgc2ljaCBSTCBuaWNodCB0cmF1ZW4Kb2RlciBuaWNodCBsZWlzdGVuIGtvZW5uZW4uClNvenVzYWdlbiEgSmFtYWxza2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiB3YXMgaWNoIGRhcmYuIChKYW1hbHNraSwgMjEuIE9rdCAxOTk5LCAxNDo0MzowNSk6Cn4jISBybj1CYW1idWxrbyBydD05NDA0MTI1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDAzNDI3OTgKVW5kIHdlbm4gRHUgZGFzIG5pY2h0IHNjaGFmZnN0OgpEYW5uIHZlcnBpc3MgRGljaCBkb2NoIHp1IEVWRVJRVUVTVCEKSmFtYWxza2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2FzIGljaCBkYXJmLiAoSmFtYWxza2ksIDIxLiBPa3QgMTk5OSwgMTU6Mjc6MTkpOgp+IyEgcm49SmFzcGVyIHJ0PTk0MDQzNDU0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDM0Mjc5OApEYXMgaXN0IG1hbCBhdWYgZGVuIFB1bmt0IGdlYnJhY2h0ISBEaWVzZXIgTWFubiBoYXQgbmFjaGdlZGFjaHQhCkljaCB3aWxsIGRhcyBhdWNoLi4uIFVuZCwgSmFzcGVyISBJY2ggd3VlcmRlIHNpZSBzb2dhciBtaXQgRGlyIHRlaWxlbiEgOikKCkphbWFsc2tpLCBhdWYgZGVtIFdlZyB6dW0gTmlydmFuYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUc3VuYW1pIGtvbW10IGltIEZlcm5zZWhuIChKYW1hbHNraSwgMjEuIE9rdCAxOTk5LCAxNToyOTozOSk6Cn4jISBybj1Uc3VuYW1pIHJ0PTk0MDUwNjc4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDUwNjc4MwpXZW5uIGljaCBkYXMgbWFsIG5pY2h0IHdpZWRlciB2ZXJnZXNzZSwgYmlzIGljaCB6dSBIYXVzZSBiaW4hIApKYW1hLi4uYWVoLi4uIHdpZSBnaW5nIGVzIGdsZWljaCB3ZWl0ZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHN1bmFtaSBrb21tdCBpbSBGZXJuc2VobiAoRXJkYmVlcmUsIDIxLiBPa3QgMTk5OSwgMTU6NTA6MzgpOgp+IyEgcm49VHN1bmFtaSBydD05NDA1MDY3ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1MDY3ODMKSGFiIGtlaW4gU2Nod2VpemVyIEZlcm5zaGVoZW4uLi4gd2VubiBkdSBzY2hvbiBzbyBkYXJhdWYgbWVkaWFsIGd1dCBkYWJpc3QsCndhcnVtIG1hY2hzdCBkdSBuaWNodCBGYW5rYXNldHRlbiB2b24gZGlyPwoKVmllbGxlaWNodCBtaXQgZWluZXIga2xlaW5lbiBadXNhdHpyZXBvcnRhZ2UgdW0gZGVuIFp1c3RhbmQgZGVyIEVpc21pbmU/IEV4dHJhCmZ1ZXIgbXVkZGllcz8gOikKCkVyZGJlZXJlIHNjaG1hcnJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRzdW5hbWkga29tbXQgaW0gRmVybnNlaG4gKEVyZGJlZXJlLCAyMS4gT2t0IDE5OTksIDE1OjUzOjA0KToKfiMhIHJuPUVyZGJlZXJlIHJ0PTk0MDUxMzgzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDUwNjc4MwpXZWlhLCBpY2ggc29sbHRlIG5pY2h0IGdsZWljaHplaXRpZyBpbiBlaW5lbiB0ZWxuZXQgdGlwcGVuIHVuZCBhdWNoIHdhcwplc3Nlbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZWl0aWVzIHVuZCBDby4gKE9ya3RvZXRlciwgMjIuIE9rdCAxOTk5LCAxNDo0ODoxOCk6CkFsc28gaWNoIHZlcnN0ZWhlIGRpZSBBdWZyZWd1bmcgbmljaHQgZ2FueiwgZGllIGVpbiBnZXdpc3NlciBBcnRpa2VsCmF1c2dlbG9lc3QgaGF0LgpEYSBoYXQgZWluIE1hZ2llciB1bm1ha2llcnRlIFp3ZWl0aWVzIGVudGRlY2t0IHVuZCBkaWVzZSBuaWNodCBlaW5mYWNoCiJ2ZXJwZXp0IiBzb25kZXJuIHNpZSBkYXJhdWYgaGluZ2V3aWVzZW4sIGRhcyBkYXMgdmVyYm90ZW4gaXN0LgpEYW5uIGhhdCBlciBlaW5lbiBBcnRpa2VsIGluIGRpZSBNUEEgZ2VzY2hyaWViZW4gdW0gYXVjaCBhbmRlcmUgbm9jaCBtYWwgYXVmCmRpZXNlIFJlZ2VsIGF1Zm1lcmtzYW0genUgbWFjaGVuLgpEaWUgbWVpc3RlbiBSZWFrdGlvbmVuIGRldXRlbiBkYXJhdWYgaGluLCBkYXMgZ2VnZW4gZGllc2UgUmVnZWwgbWFzc2l2CnZlcnN0b3NzZW4gd2lyZCB1bmQgdmllbGUgTGV1dGUgYXJnIG5lcnZvZXMgd2VyZGVuLCBzb2xsdGUgZGllc2UgUmVnZWwKZHVyY2hnZXNldHp0IHdlcmRlbi4KV2llIGluIGVpbmVtIGRlciB6YWhscmVpY2hlbiBBcnRpa2VsIHNjaG9uIG1hbCBlcndhZWhudCwgaXN0IGRpZQptYXJraWVydW5nc3BmbGljaHQgaW0genVzYW1tZW5oYW5nIG1pdCBkZW0gVGVhbWthbXBmIHp1IHNlaGVuLiBTY2hsaWVzc2xpaGMKaXN0IGRhcyBoaWVyIGVpbiBNVUQgdW5kIGtlaW4gIkljaCBoYWJlIG1laW5lIEZhbWlsaWUgenUgZWluZW0KTWVnYS1pY2gtc2NobGFnZS1hbGxlcy1hbGxlaW5lLXRvdCIgU3BpZWwuCkluIGRpZXNlbSB6dXNhbW1lbmhhbmcgbW9lY2h0ZSBpY2ggYXVjaCBub2NoIG1hbCBkYXJhdWYgaGlud2Vpc2VuLCBkYXMgZXMKdmVyYm90ZW4gaXN0LCBzZWluZSBDaGFyYWN0ZXJlIGFuZGVyZW4gU3BpZWxlcm4genUgImxlaWhlbiIsIGRhIGF1Y2ggZGFubgp3aWVkZXIgZWluIFNwaWVsZXIgYWxsZWluZSBlaW4gZ2FuemVzIFRlYW0gaGFiZW4ga2Fubi4gKHNvcnJ5IHdlbm4gaWNoIGhpZXIKbmljaHQgc2FnZW4ga2Fubiwgd28gZ2VuYXUgZGFzIHN0ZWh0LCB2aWxlaWNodCBmZWhsdCBkYSBhdWNoIG5vY2ggZGllIEhpbGZlLAphYmVyIGdlc2FndCB3dXJkZSBlcyBhdWYgYWxsZSBmYWVsbGUgYmVyZWl0cykKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlaXRpZXMgdW5kIENvLiAoQW5hdG9sLCAyMi4gT2t0IDE5OTksIDE0OjUxOjQyKToKfiMhIHJuPU9ya3RvZXRlciBydD05NDA1OTY0OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKYSkgR2VzYWd0IHdpcmQgdmllbC4KYikgV28gc3RlaHQgZGFzPwpjKSBTY2hhZGUsIGRhc3MgRHUgaGllciBrZWluIE1hZ2llciB3ZXJkZW4gZGFyZnN0LCBPcmt0cm9ldGUsIER1IAogICB3dWVyZGVzdCBoZXJ2b3JyYWdlbmQgenUgQmFtYmkgcGFzc2VuLiA6KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpdGllcyB1bmQgQ28uIChPcmt0b2V0ZXIsIDIyLiBPa3QgMTk5OSwgMTQ6NTQ6MjApOgp+IyEgcm49QW5hdG9sIHJ0PTk0MDU5NjcwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDU5NjQ5OApBbHNvIEFuYXRvbCwgZ2VyYWRlIGR1LCBkZXIgZHUgZG9jaCBpbW1lciBzbyB2aWVsIFdlcnQgYXVmIERlbmtlbiBsZWdzdCB1bmQgc28KbmV0dGUgc3VidGlsZSBHZW1laW5oZWl0ZW4gd2llIG5hbWVuc3ZlcmJhbGxob3JudW5nZW4gZHJhdWYgaGFzdC4uCkRhcyBhdXNnZXJlY2huZXQgZHUgbnVuIGRpZSBzY2h3YXJ6IGF1ZiB3ZWlzcyBnZXNjaHJpZWJlbiBSZWdlbCBzZWhlbiB3aWxsc3QKdW5kIG5pY2h0IGF1cyBkZW0gU2lubiBkYXJhdWYgc2NobGllc3NlbiBrYW5uc3QsIGRhcyBzaWUgbm90d2VuZGlnIGlzdC4uLiAKc2NoYWRlIHNjaGFkZSBzY2hhZGUKCk9ya1QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3ZWl0aWVzIHVuZCBDby4gKEdyaW1tYm9ybiwgMjIuIE9rdCAxOTk5LCAxNDo1ODo1Myk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTQwNTk2ODYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CkdsYXViIG1pciwgd2VubiBtYW4gZWluZW4gTmFtZW4gaGF0IHdpZSBBbmEudG8ubCBpc3QgbWFuIGZ1ZXIKTmFtZW5zdmVyYmFsbGhvcm51bmdlbiB6aWVtbGljaCBzZW5zaWJpbGlzaWVydC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBrYW5uIHVlYmVyIE9yZ2FzbWVuIGF1Y2ggbmljaHQgdW5iZWRpbmd0IGxhY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlaXRpZXMgdW5kIENvLiAoQW5hdG9sLCAyMi4gT2t0IDE5OTksIDE1OjE2OjE3KToKfiMhIHJuPU9ya3RvZXRlciBydD05NDA1OTY4NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKQWxzbyBPcmtUcm9ldGUsIGdlcmFkZSBEdSwgZGVyIER1IGRvY2ggaW1tZXIgc28gdmllbCBXZXJ0IGF1ZiBOaWNodGRlbmtlbgpsZWdzdCB1bmQgc28gZWtsaWdlIGZsYWdyYW50ZSBHZW1laW5oZS4uLiBtbW1oLCBuZWluLCBuaWNodCBlaW5tYWwgZGFzLgoKRGFzcyBhdXNnZXJlY2huZXQgRFUsIGRlciBEdSwgYWxzIER1IGRlcyBVbnRlcnN1Y2hlLVNjcmlwdGVucyB1ZWJlcmZ1ZWhydAp3dXJkZXN0LCBrbGVpbmtyYWVtZXJpc2NoIHVlYmVyIGRlbiBBdXNkcnVjayAiU2NyaXB0IiB6dSB2ZXJoYW5kZWxuIHZlci0Kc3VjaHRlc3QsIEtFSU5FIE5vdHdlbmRpZ2tlaXQgaW4gZGVyIE5pZWRlcnNjaHJlaWJ1bmcgZWluZXIgUmVnZWwgc2llaHN0LAouLi4gZGFzIHd1bmRlcnQgbWljaCBkYW5uIGRvY2ggbmljaHQuCgpXYXMgbWljaCBhYmVyIHN0YXR0ZGVzc2VuIHZlcnd1bmRlcnQ6IER1IGhhc3QgaW4gZGVuIGtuYXBwIGRyZWllaW5oYWxiIApKYWhyZW4sIGRpZSBzZWl0IGRlbSAiTGFnZXJoYWVmdGxpbmcgT3JrdG9ldGVyIG11c3MgZGVuIGdlbGJlbiBTY3JpcHRlcnN0ZXJuCnRyYWdlbiItQXJ0aWtlbCBoZXIgc2luZCwgb2ZmZW5iYXIgbmljaHRzIHVlYmVyIERpY2ggdW5kIERlaW5lIE1pdG1lbnNjaGVuLAp1ZWJlciBkaWUgTm90d2VuZGlna2VpdCB2b24gUmVnZWxuLCB3ZW5uIGRlciAiZ2VzdW5kZSBNZW5zY2hlbnZlcnN0YW5kIiAKZmVobHp1Z2VoZW4gZHJvaHQsIGRhenVnZWxlcm50LiBBYmVyLi4uLiB2aWVsbGVpY2h0IHNvbGx0ZSBtaWNoIGF1Y2ggREFTCm5pY2h0IHd1bmRlciBuZWhtZW4sIHNjaGxpZXNzbGljaCByZWRlbiB3aXIgdm9uIERpci4uLgpTY2hhZGUsIHNjaGFkZSwgc2NoYWRlLi4uCgpBbmF0b2wgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBad2VpdGllcyB1bmQgQ28uIChHb2xhcywgMjIuIE9rdCAxOTk5LCAxNToyMTowNCk6Cn4jISBybj1BbmF0b2wgcnQ9OTQwNTk4MTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CmRhIHdhciBtaXIgZGFzIHNvbW1lcmxvY2ggd2lya2xpY2ggbGllYmVyLCBhbHMgZGllc2VyIGdlaXN0aWdlIGVpdGVyCgpnb2xhcyBiZXRyb2ZmZW4gZGVuIGtvcGYgc2NodWV0dGVsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZWl0aWVzIHVuZCBDby4gKE1haGF0bXUsIDIyLiBPa3QgMTk5OSwgMTU6MzU6MzgpOgp+IyEgcm49R29sYXMgcnQ9OTQwNTk4NDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4Ck9oLCBub2UuIERhcyBpc3QgZG9jaCB3ZW5nc3RlbnMgbWFsIHdpZWRlciBzcGFubmVuZC4gQW5hdG9sIHVlYmVyCk9ya3Ryb2V0ZSBsYWVzdGVybiBzZWhlbiB2ZXJzdG9lc3N0IHp3YXIgZ2VnZW4gamVnaWNoZXMgTWVuc2NoZW4tCnJlY2h0LCBpc3QgYWJlciB1bnRlcmhhbHRzYW1lciBhbHMgQmFtYmlzIFJlY2h0ZmVydGlndW5nZW4uCldpZWF1Y2hpbW1lciwgbWl0IGRlbSBNYXJraWVyZW4gaGF0IGRhcyBrYXVtIG1laHIgd2FzIHp1IHR1bi4gVW5kCmRpZSBBbnRpLVZlcmxlaWgtUmVnZWwgd2lyZCBoaWVyIHNpY2ggbmllbWFuZCBhdWZzY2hyZWliZW4sIG9kZXIKZXR3YSBkb2NoPyEgSWNoIGJpbiBzZWxiZXIgcGFyYW5vaWQgZ2VudWcsIGRhIG11c3MgZXMgbWVpbiBMaWVibGluZ3MtCnNwaWVsIG5pY2h0IG5vY2ggZm9lcmRlcm4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWndlaXRpZXMgdW5kIENvLiAoRXJkYmVlcmUsIDIyLiBPa3QgMTk5OSwgMTU6NTU6MTEpOgp+IyEgcm49QW5hdG9sIHJ0PTk0MDU5ODE3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDU5NjQ5OApJY2ggdmVyd2Vpc2UgZGEgbnVyIGF1ZiAnaGlsZmUgcmVnZWxuJy4gWml0YXQ6CgpbLi5dCiogRWJlbmZhbGxzIGhhcnQgYmVzdHJhZnQgd2lyZCBkaWUgVmVyd2VuZHVuZyB2b24gU2NyaXB0cywgZGEgaGllciBudXIKLS1tZWhyLS0oMzglKSBBTkZBTkcKICAgICAgIGRhcyBGcm9udGVuZCAic3BpZWx0IiB1bmQgbWFuIHNpY2ggdW5mYWlyZSBWb3J0ZWlsZSBkZW4gTGV1dGVuCiAgICAgICBnZWdlbnVlYmVyIHZlcnNjaGFmZnQsIGRpZSBrZWluZSBTY3JpcHRzIHZlcndlbmRlbiAoa29lbm5lbikuCgogICAgICogSW4gZGllIGdsZWljaGUgU3RyYWZrYXRlZ29yaWUgZmFlbGx0IGRpZSBWZXJicmVpdHVuZyB2b24KICAgICAgIEtvbXBsZXR0bG9lc3VuZ2VuIHZvbiBBYmVudGV1ZXJuLiBXZXIgc2ljaCBkYWJlaSBlcndpc2NoZW4gbGFlc3N0LAp3aXJkCiAgICAgICBzb2ZvcnQgdW5kIG9obmUgVmVyd2FybnVuZyBiZXN0cmFmdC4KCiAgICAgKiBad2VpdHNwaWVsZXIgbXVlc3NlbiBhbHMgc29sY2hlIG1hcmtpZXJ0IHdlcmRlbi4gQXVjaCBoaWVyIHNwaWVsZW4KICAgICAgIEZhaXJuZXNzIHVuZCBTcGllbHNwYXNzIGVpbmUgUm9sbGUuCgpbLi5dCgpEYXMgU2tyaXB0ZXJlaSBsYXV0IGRpZXNlbiBoaWxmZXRleHQgSU1NRVIgbm9jaCB2ZXJib3RlbiBpc3QsIGlzdCBzZWhyCmludGVyZXNzYW50Li4uIEF1c3NlcmRlbSB3YXMgaXN0IGRhcmFuIHNvIHNjaGxpbW0sIFp3ZWl0c3BpZWxlciBtYXJraWVyZW4genUKbGFzc2VuPyBIYWJ0IGlociBsYW5nc2FtIGRlbiBTaW5uIGZ1ZXIgUmVhbGl0YWV0IHZlcmxvcmVuIHVuZCBrbGlua3QgaW4gU2FjaGVuCihNYWNodClnaWVyIHVuZCAnRGVtLWFuZGVyZW4tZWlucy1hdXN3aXNjaGVuJyB0b3RhbCBhdXM/CgpXZWl0ZXJlIFppdGF0ZSBhdXMgZGVyIEhpbGZlOgoKRWluIFNjcmlwdCBpc3QgZWluZSBSZWloZSB2b24gbWluZGVzdGVucyB6d2VpIEtvbW1hbmRvcywgd2VsY2hlCiAgICAgICBkdXJjaCBlaW5lIGVpbnplbG5lIEFrdGlvbiB6dW0gQWJsYXVmIGdlYnJhY2h0IHdlcmRlbi4gU2llIHNpbmQKICAgICAgIGdydW5kc3R6bGljaCB2ZXJib3RlbiwgbWl0IGRlciBBdXNuYWhtZSB2b24gQmV3ZWd1bmdzc2tyaXB0ZW4sCiAgICAgICBkaWUgbnVyIEJld2VndW5nc2JlZmVobGUgdW5kIGxhbmcsIGt1cnogb2RlciB1bHRyYWt1cnogZW50aGFsdGVuLgogICAgICAgRWluIFRyaWdnZXIgaXN0IGVpbmUgYXV0b21hdGlzaWVydGUgUmVha3Rpb24gYXVmIEF1c2dhYmVuIGR1cmNoCiAgICAgICBkaWUgZWluZSB3ZWl0ZXJlIEFrdGlvbiBvZGVyIGVpbiBTY3JpcHQgYXVzZ2Vsc3Qgd2lyZC4gRXMgc2luZAogICAgICAgbnVyIFRyaWdnZXIgZ2VzdGF0dGV0LCBkaWUgZGVuIGFua29tbWVuZGVuIFRleHQgYXVzIGRlbiBNVUQKICAgICAgIGVudHNwcmVjaGVuZCBlaW5mcmJlbiwgdW0gZGllIEF1c2dhYmUgYmVyc2ljaHRsaWNoZXIgenUKICAgICAgIGdlc3RhbHRlbi4KCgpEaWVzZXMgWml0YXQgaXN0IHdvaGwgbmljaHQgbWVociBnYW56IGFrdHVlbGwsIGFiZXIgb2huZWhpbiBnaWJ0cyBqYSBhdWNoCn5+ZAoKRXJkYmVlcmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VpdGllcyB1bmQgQ28uIChHb2xhcywgMjIuIE9rdCAxOTk5LCAxODoyNToxOCk6Cn4jISBybj1Hb2xhcyBydD05NDA1OTg0NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKaWNoIG11c3Mgd29obCBub2NoIG5lbiBuYWNoc2F0eiBhbmJyaW5nZW4KCm1laW4gbGV0enRlciBhcnRpa2VsIGdpbmcgX05JQ0hUXyBhdXNzY2hsaWVzc2xpY2ggYW4gYW5hdG9sLCBhdWNoIHdlbm4gZXMgc28KcmF1c2thbS4KaWNoIG1vZWNodGUgbWljaCB6dW5hZWNoc3QgZGFmdWVyIGVudHNjaHVsZGlnZW4KbWVpbmUgImJlc2Nod2VyZGUiIGdpbmcgYW4gYWxsZSwgZGllIHp1IGRpZXNlbSB0aHJlYWQgaWhyZW4gLSBpY2ggYmxlaWJlIGRhYmVpCi0gZ2Vpc3RpZ2VuIGVpdGVyIGFibGFzc2VuIG11c3N0ZW4KbGFzc3QgYmFtYmkgZWluZmFjaCBtYWwgZGFtcGYgYWJsYXNzZW4sIHdlaWwgc2ljaCBlaW4gc3BpZWxlciwgZGVyIGF1ZiByZWdlbG4KYXVmbWVya3NhbSBnZW1hY2h0IHd1cmRlLCBydW1nZW5vZWx0IGhhdC4KCmdvbGFzIHNpY2ggaW4genVrdW5mdCBnbGVpY2ggdW5taXNzdmVyc3RhZW5kbGljaCBhdXNkcnVlY2tlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZWl0aWVzIHVuZCBDby4gKE1haGF0bXUsIDIyLiBPa3QgMTk5OSwgMTk6MjU6NDMpOgp+IyEgcm49RXJkYmVlcmUgcnQ9OTQwNjAwNTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CkRhcyBaaXRhdCB1bnRlbiBpc3QgYWJzb2x1dCBuaWNodCBtZWhyIGFrdHVlbGwuIE5hY2ggZGVtIFN0YW5kIHZvbgonaGlsZmUgc2NyaXB0JyBzaW5kIFRyaWdnZXIgc28gbGFuZ2UgZXJsYXVidCwgd2llIHNpY2gga2VpbmUgTWl0LQpzcGllbGVyIGRyYW4gc3RvZXJ0LiBXb21pdCB3aXIgaW4gZGllIERpc2t1c3Npb246IElociBwb2VzZW4gU2NyaXB0ZXIsCmJ6dy4gaWhyIGJpZ2dvdGVuIE5pY2h0c2NyaXB0ZXIgdWViZXJnZWdhbmdlbiB3YWVyZW4uICpsYW5nd2VpbCoKQW5hdG9sLCBzY2hyZWliIG1hbCB3aWVkZXIgd2FzIGZlaW5lcy4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VpdGllcyB1bmQgQ28uIChOZXZvaywgMjIuIE9rdCAxOTk5LCAyMDoyMzowOSk6Cn4jISBybj1Hb2xhcyBydD05NDA2MDk1MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKcnVtZ2VOT0VMdD8gd2FzIGhhdCBkZW5uIGRlciBhcm1lIGtsZWluZSBOb2VsIGpldHp0IGRhbWl0IHp1IHR1bj8KCk5ldm9rIC0+IFNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VpdGllcyB1bmQgQ28uIChXdXJ6ZWwsIDIzLiBPa3QgMTk5OSwgMDA6MDM6NDgpOgp+IyEgcm49R29sYXMgcnQ9OTQwNjA5NTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CmljaCB3ZWlzcyBuaWNodCB3YXMgZHUgZnVlciBwcm9ibGVtZSBtaXQgZGllc2VtICJnZWlzdGlnZW4gZWl0ZXIiIGhhc3QsIGljaAphbXVlc2llcmUgbWljaCBqZWRlbmZhbGxzIGltbWVyIHdpZWRlciBrb2VzdGxpY2gsIHdlbm4gc2ljaCB6d2VpIHBhcHBuYXNlbgpnZWdlbnNlaXRpZyBlaW4gImR1IHBhcHBuYXNlIiBhbiBkZW4ga29wZiB3ZXJmZW4uCndlaXRlciBzbywgbmljaHQgbmFjaGxhc3Nlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpdGllcyB1bmQgQ28uIChIaWdobGFuZGVyLCAyNS4gT2t0IDE5OTksIDE0OjE2OjI5KToKfiMhIHJuPUFuYXRvbCBydD05NDA1OTY3MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKYikgaGlsZmUgc3RyYWZlbgpJY2ggeml0aWVyZToKSW0gUHJpbnppcCBoYWx0ZW4gd2lyIGRhcyBWZXJsZWloZW4gdm9uIENoYXJha3RlcmVuIGZ1ZXIgZWluZSBVbnNpdHRlLCBkaWUKd2lyIG5pY2h0IHNlaGVuIHdvbGxlbi4gTGVpZGVyIGtvZW5uZW4gd2lyIGVzIGFiZXIgd29obCBuaWNodCB2ZXJoaW5kZXJuLApkYWhlciBkaWVzZSBSZWdlbHVuZy4gSWhyIGtvZW5udCBlcyBhbHMgdmVyYm90ZW4gYW5zZWhlbiAtIGVpbmUgQXVzcmVkZQphIGxhICJEYXMgd3Vzc3RlIGljaCBuaWNodCIgd2VyZGVuIHdpciBhdWYgamVkZW4gRmFsbCBuaWNodCBha3plcHRpZXJlbgpiZWkgVmVybGVpaC4gICAgICAKRXJzdCBibGFldHRlcm4sIGRhbm4gcG9zdGVuPwogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpdGllcyB1bmQgQ28uIChKYW1hbHNraSwgMjUuIE9rdCAxOTk5LCAxNDoyNzo1NSk6Cn4jISBybj1BbmF0b2wgcnQ9OTQwNTk2NzAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CkphbWFsc2tpIG1hZyBBbmF0b2xzIGx1c3RpZ2VuIEFCQy1TdGlsISAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp3ZWl0aWVzIHVuZCBDby4gKEphbWFsc2tpLCAyNS4gT2t0IDE5OTksIDE0OjMzOjQzKToKfiMhIHJuPUFuYXRvbCBydD05NDA1OTgxNzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKRGVyIGdlbGJlIFN0ZXJuIGhhdCBqYSB3b2hsIG1pdCBTY3JpcHRlbiByZWNodCB3ZW5pZyB6dSB0dW4sIGRhIFNjcmlwdGVuIGdlZ2VuCmVpbmUgUmVnZWwgdmVyc3RvZXNzdCwgZGllIGltIEFsbGdlbWVpbmVuIGF1Y2ggbmFjaCBndXRlciBVZWJlcmxlZ3VuZwpha3plcHRpZXJ0IHdlcmRlbiBrYW5uLCB3YWVocmVuZCBkYXMgQmVzdHJhZmVuIGVpbmVyIEdydXBwZSB2b24gTWVuc2NoZW4KYXVmZ3J1bmQgaWhyZXIgR2xhdWJlbnNyaWNodHVuZyBuaWNodCB1bmJlZGluZ3QgenUgZGVuIFRhdGVuIHphZWhsdCwgZGllIG1hbgptaXQgJ2dlc3VuZGVtIE1lbnNjaGVudmVyc3RhbmQnIGJpbGxpZ3QhClBhc3MgYXVmIEFuYWx0b2xsLCBkYXNzIER1IG5pY2h0IGluIERlaW5lbSB0aGVhdHJhbGlzY2hlbiBBdWZ0cmV0ZW4sIGRhc3MgRGlyCkRlaW4gZnJhZ3d1ZXJkaWdlciBSdWYgaGllciBhYnZlcmxhbmd0IHVlYmVyIGRhcyBaaWVsIGhlcnJhdXNzY2hpZXNzdCEKSmFtYWxza2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3ZWl0aWVzIHVuZCBDby4gKFRpYW1haywgMjUuIE9rdCAxOTk5LCAxNDozNTozNyk6Cn4jISBybj1KYW1hbHNraSBydD05NDA4NTQ4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKVW0gQW5hdG9scyBBbnR3b3J0IG1hbCB2b3J6dWdyZWlmZW46CgpXZXIgbGVzZW4ga2FubiwgaXN0IGtsYXIgaW0gVm9ydGVpbC4KCkRlciBTcHJ1Y2ggbWl0IGRlbSBnZWxiZW4gU2tyaXB0ZXJzdGVybiBzdGFtbXQgbmljaHQgdm9uIEFuYXRvbCAtIGRhcyBpc3QgZWluClppdGF0IHZvbiBPcmt0b2V0ZXIuCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFp3ZWl0aWVzIHVuZCBDby4gKEphbWFsc2tpLCAyNS4gT2t0IDE5OTksIDE0OjQ0OjU3KToKfiMhIHJuPVRpYW1hayBydD05NDA4NTQ5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKRGFubiBzb2xsdGUgQW5hdG9sIGViZW4gYXVmcGFzc2VuLCBvYiBlciBkZW4gU2NoZWlzcywgZGVuIE9UIGFibGFlc3N0IGdlcm5lCnppdGllcmVuIHdpbGwuCkljaCBrdWVtbWVyIG1pY2ggYmVpbSBiZXN0ZW4gV2lsbGVuIG5pY2h0IHVtIGRpZSBVcmhlYmVycmVjaHRlIHZvbiBzaW5ubG9zZW4KVmVya251ZXBmdW5nZW4gendpc2NoZW4gUkwtR2VzY2hpY2h0ZSB1bmQgVkwtQWxsdGFnIQpKYW1hbHNraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWndlaXRpZXMgdW5kIENvLiAoVGlhbWFrLCAyNS4gT2t0IDE5OTksIDE0OjQ4OjA4KToKfiMhIHJuPUphbWFsc2tpIHJ0PTk0MDg1NTQ5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MDU5NjQ5OApVbSBqZW1hbmRlbiB6dSBkaXNrcmVkaXRpZXJlbiBpc3QgZGFzIFppdGllcmVuIHZvbiBkZXJhcnRpZ2VuIEF1c3J1dHNjaGVybgplaWdlbnRsaWNoIHd1bmRlcmJhciBnZWVpZ25ldC4KClZvcmF1c2dlc2V0enQsIGRpZSBMZXNlciB2ZXJzdGVoZW4gZGVuIFdpbmsgdWViZXJoYXVwdC4KClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlaXRpZXMgdW5kIENvLiAoQW5hdG9sLCAyNS4gT2t0IDE5OTksIDE0OjU5OjM5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTQwODUzNzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CkhleSBIaWdobGFuZGVyLi4uIHdlbm4gRHUgc28gc2NobmVsbCBpc3N0IHdpZSBEdSBkZW4gQ29sdCBkZXIKR2VyZWNodGlna2VpdCB6aWVoc3QsIGRhbm4gd2lyc3QgRHUgRGlyIG5vY2ggTWFnZW52ZXJzdGltbXVuZ2VuCmhvbGVuLiBPZGVyIGRpZSBIdWVobmVycGVzdCA7XikuCgpKZWRlbmZhbGxzIGthbm4gaWNoIHNvIGdhbnogcGVyc29lbmxpY2ggZnVlciBtaWNoIHVuZCBvaG5lCkFuc3BydWNoIGF1ZiBBbGxnZW1laW5ndWVsdGlna2VpdCBlaW5lIGRlcmFydGlnZSBBcmd1bWVudGF0aW9uCmthdW0gZ2VsdGVuIGxhc3Nlbi4gV2lyIHNpbmQgaGllciBpbiBlaW5lbSBNVUQsIG5pY2h0IGluIGVpbmVtCnZlcmtvcmtzdGVuIFJlY2h0c3N0YWF0LCBpbiBkZW0gTGV1dGUgR2VsZCB2ZXJkaWVuZW4sIHdlaWwgc2llCmplZGUgbm9jaCBzbyB2ZXJzdGVja3RlIFNlaXRlIGRlcyBSZWdlbHdlcmtzIGtlbm5lbiAodW5kIGplIApuYWNoIEJlZGFyZiB6dSBpbnRlcnByZXRpZXJlbiB3aXNzZW4pLgoKR2VuYXUuICJoaWxmZSBzdHJhZmVuIi4gVG9sbC4gV2VyICpTVUNIVCogaW0gU3RyYWZrYXRhbG9nLCB3YXMKZXJsYXVidCB1bmQgd2FzIG5pY2h0IGVybGF1YnQgaXN0PyAiaGlsZmUgcmVnZWxuIiBzcHVja3QgZWluZW4KVGFzY2hlbmJ1Y2hyb21hbiBhdXMsICJoaWxmZSB6d2VpdGllcyIgZGFzIDQwemVpbGlnZSBOYWNod29ydC4KVW5kIGluIEtFSU5TVEVSIFdlaXNlIHdpcmQgZXJ3YWVobnQsIGRhc3MgZGFzIFZlcmxlaWhlbiB2b24gClp3ZWl0Y2hhcmFrdGVyZW4gLSBvYnNjaG9uIGRlciBnZXN1bmRlIE1lbnNjaGVudmVyc3RhbmQgZGFzClRlYW1tZXR6ZWxuIG1pdCBtZWhyZXJlbiBzb2xjaGVuIHZvbSBnbGVpY2hlbiBNZW5zY2hlbiBnZXN0ZXVlcnQKc2VsYnN0dmVyc3RhZW5kbGljaCB6dSB2ZXJ1cnRlaWxlbiB3ZWlzcyAtIHVuZXJ3dWVuc2NodCBvZGVyIApnYXIgdmVyYm90ZW4gaXN0LgoKV2VubiBEdSBtaXQgZGllc2VyICJQb2xpdGlrIiBkdXJjaGtvbW1lbiBtb2VjaHRlc3QsIHNldHplIGJpdHRlCmFscyBESUNLRVMgRkVUVEVTIEVOREUgaW4gImhpbGZlIiBlaW5lbiBIaW53ZWlzIGRlciBBcnQ6CgogICAgICAgICAiQml0dGUgc3BpZWxlIGhpZXIgZXJzdCBkYW5uLCB3ZW5uIER1IGFsbGUgCiAgICAgICAgICAgICAgSGlsZmVzZWl0ZW4gZHVyY2hnZWxlc2VuIGhhc3QuIgoKQW5hdG9sCgoiRXJzdCBibGFldHRlcm4sIGRhbm4gcG9zdGVuPyIgT2ggamEsIHVuZCB3aWUuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBad2VpdGllcyB1bmQgQ28uIChOZXZvaywgMjUuIE9rdCAxOTk5LCAxNTowNjozNik6Cn4jISBybj1BbmF0b2wgcnQ9OTQwODU2Mzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQwNTk2NDk4CmF1c3NlcmRlbSBkZXIgdm9sbHN0YWVuZGlna2VpdCBoYWxiZXIuLi4uCgpHZW5lcmVsbCBpc3QgenUgc2FnZW4sIGRhc3MgZGllc2UgUmVnZWxuIEFuaGFsdHNwdW5rdGUgc2luZC4KCnBvY2hlIG5pY2h0IGF1ZiBSZWdlbG4gZGllIGtlaW5lIHNpbmQgOikKCk5ldm9rLCBkZXIgR3JhdXpvbmVuIGtsYXNzZSBmaW5kZXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3ZWl0aWVzIHVuZCBDby4gKE1haGF0bXUsIDI1LiBPa3QgMTk5OSwgMTU6MTc6MDQpOgp+IyEgcm49SGlnaGxhbmRlciBydD05NDA4NTM3ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDA1OTY0OTgKRXMgd2FlciBuZXR0LCB3ZW5uIGRhcyBhbHMgJ3NpZWhlIGF1Y2gnIHVudGVyICdoaWxmZSBzY3JpcHRlJyB2ZXJtZXJrdAp3dWVyZGUsIGJpc2hlciBoYWJlIGljaCBtaXIgbm9jaCBuaWUgZWluICdoaWxmZSBzdHJhZmVuJyBhbmdldGFuLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdkxQQyAgKFN0b2VydGksIDI5LiBPa3QgMTk5OSwgMDA6MDM6MDUpOgpVbmQgZXMgaXN0IE5JQ0hUIHRvZCA6LSkKCk5hY2ggZGl2ZXJzZW0gTWFpbGluZ3ZlcmtlaHIgbWl0IG1hc3NpY2ggTGV1dGVuIGF1cyBVU0EsIGRpZSBpcmdlbmR3byAKZGFzIHZMUEMgZ2VmdW5kZW4gaGFiZW4sIHdpcmQgdkxQQyBhYiBTb25udGFnIG9kZXIgTW9udGFnIAphbHMgT3BlbiBTb3VyY2UgUHJvamVrdCB3ZWl0ZXJnZWZ1ZWhydC4KRXMgZmFlbGx0IGRhbm4gdW50ZXIgZGllIEdQTCB1bmQgd3d3LnN0b2VydGkuY29tIHdpcmQgd2VpdGVyaGluIGRlciBTZXJ2ZXIKZnVlciB2TFBDIHNlaW4uCgpTdG9lcnRpCgpQUzogTG9zLCBpaHIgZHVlcmZ0IHdpZWRlciBmbGFtZW4KClBQUzogSWNoIGxlcyBkYXMgZWggbmljaHQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLYXJhdGUgYXVmd2VydGVuPyAoQW5hdG9sLCAgMi4gTm92IDE5OTksIDE4OjU4OjE3KToKfiMhIHJuPUJhbWJpIHJ0PTk0MTU2NTEzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MTEwNjg0NQpTY2hyZWlic3QgRHUgamV0enQgd2llZGVyIGVpbmUgYm9lc2UgTWFpbCBhbiBIaWdobGFuZGVyPyA6KQoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS2FyYXRlIGF1ZndlcnRlbj8gKEFuYXRvbCwgIDIuIE5vdiAxOTk5LCAxOTowNDo0OSk6Cn4jISBybj1CYW1iaSBydD05NDE1NjU3MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDExMDY4NDUKQnJhYmJlbCBuaWNodCwgTGVuYS4gOikKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEthcmF0ZSBhdWZ3ZXJ0ZW4/IChUYXJpbmEsICAyLiBOb3YgMTk5OSwgMTk6MDU6NTgpOgp+IyEgcm49QmFtYmkgcnQ9OTQxNTY1NzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1CkJhbWJpLAoKRHUga29lbm50ZXN0IHdlbmlnc3RlbnMgZWluZW4gbmV1ZW4gVGhyZWFkIGFuZmFuZ2VuLCB3ZW5uIER1IHNvIHdlaXQgdm9tIFRoZW1hCndlZyBiaXN0LgoKVW5kIG51IG11c3MgaWNoIG1hbCBzY2hhdWVuIHdpZSBkYXMgZ2luZyBtaXQgaWdub3JpZXJlIHVuZCBiZXN0aW1tdGVuCkFydGlrZWxzY2hyZWliZXJuLiBVZWJlcmdlaGUgVGhyZWFkIGdlaHQgamEgbmljaHQsIHdlaWwgaWNoIGRhbm4gQW5hdG9scwpBbnR3b3J0ZW4gdmVycGFzc2VuIHd1ZXJkZS4uLgp1bmQgZGFzIG1vZWNodCBpY2ggYXVmIGtlaW5lbiBGYWxsLgoKVGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogS2FyYXRlIGF1ZndlcnRlbj8gKEdyaW1tYm9ybiwgIDIuIE5vdiAxOTk5LCAxOToxMDo1Nik6Cn4jISBybj1UYXJpbmEgcnQ9OTQxNTY1OTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1Cmlnbm9yaWVyZSBiYW1iaS5tcGEKV29iZWkgZGFzIGVpZ2VudGxpY2ggc2NoYWRlIGlzdCwgZXMgaXN0IGRvY2ggaW1tZXIgd2llZGVyIHVudGVyaGFsdHNhbSB6dQpzZWhlbiwgd2llIHNpY2ggYW5kZXJlIGR1cmNoIHB1cmUgVW5pbnRlbGxpZ2VueiBzZWxiZXIgaW5zIEFic2VpdHMgc3RlbGxlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogS2FyYXRlIGF1ZndlcnRlbj8gKFd1cnplbCwgIDIuIE5vdiAxOTk5LCAyMDowOToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQxNTY2MjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1CndvYmVpIG1hbiBlaW5lIGZ1bmt0aW9uIGluIGRpZSBtcGEgYmF1ZW4gbXVlc3N0ZSwgZGllIHNjaHdhY2hzaW5uIGVya2VubnQgdW5kCmRhbm4gZ2dmLiBkYXMgbG9lc2NoZW4gZGVzIGJldHJlZmZlbmRlbiBhcnRpa2VscyB2ZXJoaW5kZXJ0LiBzbyB3YXIgaWNoIG1hbAp3aWVkZXIgenUgc3BhZXQgdW5kIHNlaCBudXIgbm9jaCBkaWUgYW50d29ydGVuLCBkYSBpc3QgZGVyIGdhbnplIHNwYXNzIHdlZy4KZGVua3QgZG9jaCBhdWNoIG1hbCBhbiBkaWUgYXJtZW4gYmVydWZzdGFldGlnZW4sIGRpZSBuaWNodCBkZW4gZ2FuemVuIHRhZyBpbQptdWQgcnVtaGFlbmdlbiBrb2VubmVuLgoKd3VyemVsIChlbnR0YWV1c2NodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBLYXJhdGUgYXVmd2VydGVuPyAoQXJrLCAgMi4gTm92IDE5OTksIDIxOjQzOjA5KToKfiMhIHJuPVd1cnplbCBydD05NDE1Njk3NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDExMDY4NDUKRHUgbWVpbnN0LCBlaW5lIEZ1bmt0aW9uLCBkaWUgZGVuIEluaGFsdCBkZXMgQXJ0aWtlbCBhdWYgRm9ybXVsaWVydW5nZW4gd2llCiJIZXVsIGRvY2giLCAiTG9lc2NoIERpY2giLCAiVHJvdHRlbCIsICJEZXBwIiwgdW5kIGFuZGVyZSBlaW5zY2hsYWVnaWdlClNjaGltcGZ3b3J0ZSBkdXJjaHNjYW5udD8KV2FobHdlaXNlIGtvZW5uZW4gYXVjaCBkaWUgQXV0b3Jlbiwgd2VubiBzaWUgaW4gZWluZW0gVGhyZWFkIG1laHIgYWxzIGVpbm1hbAp1bmQgbWl0IHVubWl0dGVsYmFyZW4gQW50d29ydGVuIGF1ZnRhdWNoZW4sIG1hcmtpZXJ0LCB1bmQgZGVyIEFydGlrZWwgc28gdm9yCmRlbSBMb2VzY2hlbiBiZXdhaHJ0IHdlcmRlbi4gU28gYmxlaWJlbiBkYW5uIHdvaGwgYWxsZSBCZWl0cmFlZ2Ugdm9uIEFuYXRvbApmdWVyIGRpZSBJbnRlcmVzc2llcnRlbiBlcmhhbHRlbiAqbGFjaCoKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogS2FyYXRlIGF1ZndlcnRlbj8gKFd1cnplbCwgIDIuIE5vdiAxOTk5LCAyMTo0NjoxNCk6Cn4jISBybj1BcmsgcnQ9OTQxNTc1Mzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1Cm5laW4sIG5pY2h0IHdpcmtsaWNoLiBpY2ggbWVpbmUgc29sY2hlIGFydGlrZWwsIGRpZSBqZW1hbmQgKGF1cyBzY2hhbSBvZGVyCmFuZGVyZW4gYWVobmxpY2hlbiBncnVlbmRlbikgbGllYmVyIGxvZXNjaGVuIHdpbGwuIGRhcyBzaW5kIGdlZnVlaGxlLCB6dSAKZGVuZW4gYW5hdG9sIG5pY2h0IGVya2VubmJhciBmYWVoaWcgaXN0LCBhbHNvIHN0aW1tdCBkZWluZSB2ZXJtdXR1bmcgbmljaHQKZ2FueiA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogS2FyYXRlIGF1ZndlcnRlbj8gKFd1ciwgIDIuIE5vdiAxOTk5LCAyMzozMjoyMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQxNTY2MjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1ClVtIG5pY2h0IHp1IHZlcmdlc3Nlbiwgd2llIHNpY2ggVW5pbnRlbGxpZ2VueiBnZXBhYXJ0IG1pdCBJZ25vcmFueiBpbiBkZQpNaXR0ZWxwdW5rdCBkcmFlbmd0LgoKV3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogS2FyYXRlIGF1ZndlcnRlbj8gKEx1ZywgIDMuIE5vdiAxOTk5LCAwMDo1MDowOCk6Cn4jISBybj1BcmsgcnQ9OTQxNTc1Mzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQxMTA2ODQ1CgpMb2VzY2ggRGljaC4KCktuYXBwCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkZGVyIHNpbmQga2VpbmUgRnJ1ZWhhdWZzdGVoZXIgKEdyb28sICA2LiBOb3YgMTk5OSwgMDg6NTQ6MzYpOgprd2VyPgogICBMaXN0ZSBkZXIgTWl0c3BpZWxlciB2b20gU2FtLCAgNi4gTm92IDE5OTksIDA4OjUzOjIwICg3IFRlaWxuZWhtZXIpCgpFbGJlcmV0Li4uLi4uLi4ud3MgQXJ3cm9uLi4uLi4uLi4uLi5zIFNjaG51cnIuLi4uLi4uLi4uUyBWaW9sYS4uLi4uLi4uLi4uLlMKSG91c2Vob2xkZXIuLi4uSndaICpHcm9vLi4uLi4uLi4uLi4ubSAoV3Vyc3QuLi4uLi4uKS5KLk0gICAgICAgICAgICAgICAgICAgICAgCgpTbyBzY2hvZW4gd2llIGZydWVoZXIuLi4KR3JvbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0enByb2JsZW1lIGluIEJlcmxpbiAoQW5ha2luLCAgOC4gTm92IDE5OTksIDE1OjI4OjQ4KToKCldlZ2VuIGRlbiBhdWdlbmJsaWNrbGljaGVuIE5ldHpwcm9ibGVtZW46CgpOZXUgZWluZ2VyZWljaHRlIFRpY2tldHMgKDEpCiogYXJydmQ6IDk5LTExLTA4IDExOjU3ICBsc3QgdXBkdDogOTktMTEtMDggMTQ6MzcgIElubGFuZC8xNDYwCiAgaG9oZSAoQ1JDKSBGZWhsZXJyYXRlbiBhdWYgc2FlbXRsaWNoZW4gUFZDcywgZGllIGFtIFJvdXRlciBaUi1CZXJsaW4xIGVuZGVuCgpXaWxsIGhlaXNzZW4gdm9uIGF1c3NlcmhhbGJ2b24gYmVybGluIGhhdCBtYW4gUHJvYmxlbWUgbWl0IGRlcgpWZXJiaW5kdW5nLiBBYmVyIERGTiBhcmJlaXRldCBkcmFuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHpwcm9ibGVtZSBpbiBCZXJsaW4gKENhdHdlYXpsZSwgIDguIE5vdiAxOTk5LCAxNjoxNjoxNyk6Cn4jISBybj1BbmFraW4gcnQ9OTQyMDcxMzI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDcxMzI4Ck5hIGRhcyBzaW5kIGphIHdvaGwgdW5tb2VnbGljaGUgWnVzdGFlbmRlLiBrZWluIFd1bmRlciBiZWkgZGllc2VyCkJhdXN0ZWxsZS4gQmVpIHVucyB3YWVyZSBzb2V0d2FzIF9uaWVtYWxzXyB2b3JnZWtvbW1lbi4gSWNoIGJlc3RlaGUKZGFyYXVmLCBkYXNzIGRhcyBNdWQgX3NvZm9ydF8gd2llcmRlciBuYWNoIE11ZW5zdGVyIHp1cnVlY2stCnRyYW5zcG9ydGllcnQgd2lyZC4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXR6cHJvYmxlbWUgaW4gQmVybGluIChOb25uZSwgIDguIE5vdiAxOTk5LCAxNjoxODozOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTQyMDc0MTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDcxMzI4CkFsc28gaGllciBpbiBETyBpc3QgYXVjaCBhbGxlcyBndXQuIFdvbGx0ZSBpbW1lciBzY2hvbiBtYWwgYW4gZGVtIFJlY2huZXIKcnVtc2NocmF1YmVuIHVuZCBkYSBlaW4gcmljaHRpZ2VzIGxvZ2luIGhhYmUgOy0pCgpOb25uZSwgd3VlcmRlIGRhcyBnYXJhbnRpZXJ0IG5pY2h0IGF1c251dHplbi4KClAuUy46IE5vbm5lIHdpbmt0IGRlbiBaYXViZXJlciBlaW4gbGV0enRlcyBtYWwuLi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHpwcm9ibGVtZSBpbiBCZXJsaW4gKE1haGF0bXUsICA4LiBOb3YgMTk5OSwgMTg6MzI6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk0MjA3NDE3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA3MTMyOApTdGltbXQsIGlociBoYWJ0IGRlbiBSZWNobmVyIGltbWVyIGdsZWljaCBnYW56IGFiZ2VoYWVuZ3QgdW5kIGdhbnogYWxsZWluCmdlc3BpZWx0LCBpaHIgSGF1ZmVuIHZvbiBlaGVtYWxpZ2VtIEZpbHohIFBvZWghCgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdXNzZ2FlbmdlciBsZWJlbiBnZWZhZWhybGljaCAuLi4gKFN1YmxpbWUsICA4LiBOb3YgMTk5OSwgMjE6MjE6MjYpOgpTb3Nvc29zb3NvLCBndXRlbiBNb3JnZW5ncmF1ZW4gOykKCkFsc28sIGRhIGRpZSBNUEEgbWFsIHdpZWRlciB0b3RhbCBsZWVyZ2VmZWd0IGlzdCxtdXNzIGljaCAKaGllciBlaW5mYWNoIG1hbCBtZWluIGhldXRpZ2VzIFJlYWwtbGlmZS1FcmxlYm5pcyBwb3N0ZW4gOykKCkljaCB3YXJ0JyBhbHNvIGhldXQnIG5hY2htaXR0YWcgbmljaHRzYWhuZW5kIG1pdCBkZW0gQnVzCmluIEJlcmxpbiB1bnRlcndlZ3MsIHVtIHp1IEtpcGVydCwgbmVtIHJpZXNlbmdyb3NzZW4gQnVjaGxhZGVuLAp6dSBmYWhyJ24uIEljaCBzdGVpZ2UgYXVzLCBsYXVmZSAyMCBNZXRlciB2b3IgZGVyIGVpZ2VudGxpY2hlbgpBbXBlbCB1ZWJlciBkaWUgRmFocmJhaG4gKEhhdXB0dmVya2VocnNzdHJhc3NlLCBuYWVoaGUgRXJuc3QtClJldXRlciBQbGF0eiBtaXQgZ3J1ZW5lbiBNaXR0ZWxzdHJlaWZlbiksIHVtIHNjaG5lbGxlciB6dQpLaWVwZXJ0IHp1IGtvbW1lbi4KCkljaCBhbHNvIGJhaG4gbWlyIGRlbiBXZWcgZHVyY2ggZGllIEF1dG9zY2hsYW5nZW4gYXVmIGRpZSBhbmRyZQpTZWl0ZSAoYWxzbyBhdWYgZGllIGFuZGVyZSBGYWhyYmFobikuIFByb2JsZW0gd2FyIHdvaGwsIGRhcyBhdXMKZGllc2VyIGdld2lzc2VuIFNlaXRlbnN0cmFzc2UgZWluIHBhYXIgQXV0b3MgYWJiaWVnZW4gd29sbHRlbi4KTnVuIGphLCBkYSBzdGFuZGVuIDMgQXV0b3MgcnVtLCB1bmQgaWNoIGxhdWYgbmF0dWVybGljaCBnZW5hdSAKdm9yIGRpZXNlbiBhdWYgZGllIGFuZGVyZSBTdHJhc3NlbnNlaXRlLCBkZXIgRmFocmVyIGluIHNlaW5lbQp0b2xsZW4gcm90ZW4gZGFlY2hlcmxvc2VuIEF1dG8gc2NobmF1enQgbWljaCB2b2xsIGFuLCB3ZWlsIGVyCm5pY2h0IGFiYmllZ2VuIGthbm4sIGljaCBzY2huYXV6IHp1cnVlY2sgdW5kIGdlaGUgd2VpdGVyLiBEaWVzZXIKbXVzcyBlaW5lIHdlaXRlcmUgQW1wZWxwaGFzZSB3YXJ0ZW4sIHdvYmVpIGRlciBIaW50ZXJtYW5uIGluCnNlaW5lbSBLYWRldCBkaWVzIHdvaGwgbmljaHQgYmVtZXJrdCBoYXQgdW5kIGRlbiByb3RlbiBXYWdlbgpkaWVzZXMgc2NobGVjaHRnZWxhdW50ZW4gVHlwZW4gcmFtbXQuCgpNZWluZSBSZWFrdGlvbjpWZXJ3dW5kZXJ1bmcsU2NoYWRlbnNmcmV1bmRlKGljaCB3ZWlzcyxpc3QgZ2VtZWluKQp1bmQgZGFubiB3b2hsIGVpbiBiaXNzY2hlbiBQYW5payBkYXZvciwgZGFzIGljaCBzY2h1bGQgc2Vpbgprb2VubnRlLi4ubnVuIGphLCBpY2ggYmluIHp1IGtpZXBlcnQgcmVpbmdlZ2FuZ2VuLCBoYWIgbWlyCm1laW5lIFBzeWNob2J1ZWNoZXIgZ2VrYXVmdCwgd2FlaHJlbmQgZHJhdXNzZW4gZGllIFBvbGl6ZWkgYXVmCnVuZCBhYmdlZmFocmVuIGlzdCwgd29obCBpbiBkZXIgSG9mZm51bmcgbmVuIFR5cGVuIG1pdCBncnVlbmVyCk11ZXR6ZSB6dSBzZWgnbi4KCkZyYWdlIDogSGFiIGljaCBkYSBudW4gU2NodWxkIGFuIGRlbSBibG9lZGVuIFVuZmFsbCBvZGVyIG5pY2gnID8KSWNoIG1laW4sIGRlciBUeXAgaXN0IGphIHNlbGJlciBzY2h1bGQgd2VubiBlciBkYSBsb3NmYWVocnQsCmFiZXIgaWNoIGhhYiBqYSBhdWNoIGRlbiBWZXJrZWhyIGJlaGluZGVydCwgaWNoIG1laW4gd2FlcmUgaWNoCm5pY2h0IGdld2VzZW4sIHdhZXIgZGFzIGd1dGdlZ2FuZ2VuIDs9KQoKTmFqYSwgd29sbHQncyBudXIgbWFsIGt1bnR0dW4gdW5kIHdpc3Nlbiwgb2IgbWljaCBkYSB3b2hsICduZQpTdHJhZmUgZXJ3YXJ0ZXQgaGFldHRlIC4uLgoKQnkgdGhlIHdheSwgZGllIEluc2Fzc2VuIHNpbmQgbmljaHQgenVzY2hhZGUgZ2Vrb21tZW4sIGRhcyBrb25udGUKbWFuIGFuIGRlciBsYXV0c3RhcmtlbiBBdXNlaW5hbmRlcnNldHp1bmcgZGV1dGxpY2ggdmVybmVobWVuLgoKU3VibGltZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoR3JpbW1hbiwgIDguIE5vdiAxOTk5LCAyMToyMzo0MSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0MjA5MjQ4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA5MjQ4NgpEdSBpbW1lciBtaXQgZGVpbmVtIGtyaW1pbmVsbGVuIFZlcmhhbHRlbiAuLi4KU1RFSU5JR1QgSUhOICEhISEKCkdyaW1NYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdXNzZ2FlbmdlciBsZWJlbiBnZWZhZWhybGljaCAuLi4gKENhaWxsZWFuLCAgOS4gTm92IDE5OTksIDAzOjA5OjI2KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMDkyNDg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2CmZlaWdsaW5nOikgaW0gYnVjaGxhZGVuIHZlcnN0ZWNrZW4sIHRzdHN0cwphbHNvOiBnb2xkZW5lIHJlZ2VsOiB3ZXIgYXVmZmFlaHJ0IGlzIHNjaHVsZC4KYWxsZXJkaW5ncyBrYW5uc3RlIHZvbSB1bmZhbGwgZ2FueiBhYmdlc2VoZW4gZGFmdWVyIGJlbGFuZ3Qgd2VyZGVuLCBkYXNzIGR1CnVlYmVyIG5lIHN0cmFzc2UgcmVubnN0LCBvYndvaGwgZGEgd2VkZXIgYW1wZWwgbm9jaCB6ZWJyYXN0cmVpZmVuIHNpbmQuCmZ1ZXIgZGVuIHVuZmFsbCBrYW5uc3RlIGFiZXIgbml4LCBzb3dlaXQgZGFzIGRlciBwb2xpemlzdCwgZGVyIGhpZXIgZ3JhZCB6dQpiZXN1Y2ggaXMsIGJldXJ0ZWlsdDopCmNhaWxsZWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVzc2dhZW5nZXIgbGViZW4gZ2VmYWVocmxpY2ggLi4uIChCaWVyY2hlbiwgIDkuIE5vdiAxOTk5LCAwMzozNzoyOSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0MjA5MjQ4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA5MjQ4Ngp6dW1pbmRlc3QgYmlzdCBkdSBnYXJhbnRpZXJ0IG1pdHNjaHVsZGlnIGRhcmFuLCB3ZW5uIGRlciB0eXAgaW4gc2VpbmVtCmRhY2hsb3NlbSBhdXRvIGR1cmNoIGRhcyBicmVtc2VuIGVpbmVuIHNjaGFkZW4gZXJsaXR0ZW4gaGF0LiBhYmVyIGljaCByYXRlCmRpciwgZGFzIG1hbCBpbiBkZS5zb2MucmVjaHQubWlzYyBtYWwgenUgcG9zdGVuLCBhYmVyIG1vZWdsaWNoc3Qgb2huZSBnZW5hdWUKb3J0c2FuZ2FiZSwgd2FocnNjaGVpbmxpY2ggZ2licyBzY2hvbiBnZWxkIGZ1ZXIgZGVpbmVuIGtvcGYgOikKZ3J1c3MsCiAgLSBCaWVyY2hlbiAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoQm9pbmcsICA5LiBOb3YgMTk5OSwgMDk6MjM6NTQpOgp+IyEgcm49QmllcmNoZW4gcnQ9OTQyMTE1MDQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2CkljaCBiaW4ga2VpbiBSZWNodGxlciwgYWJlciBpY2ggZGVua2UgZGFzcyBEdSB6dW1pbmRlc3QgZWluIFVuZmFsbGJldGVpbGlndGVyCmJpc3QsIHVuZCBkYW5uIGlzdCBkYXMgRW50ZmVybmVuIHZvbSBVbmZhbGxvcnQgc3RyYWZiYXIuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoTWFoYXRtdSwgIDkuIE5vdiAxOTk5LCAxMDo1Nzo1OSk6Cn4jISBybj1Cb2luZyBydD05NDIxMzU4MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDIwOTI0ODYKQWxzIGVpbiBlaHJsaWNoZXIgTWVuc2NoIGdpbmdlc3QgRHUgenVyIFBvbGl6ZWkgLi4uIHVuZCBiZWthZW1zdCBhbSBFbmRlCm5lYmVuIGRlciBTdHJhZmUgd2VnZW4gVmVybGFzc2VuIGRlcyBVbmZhbGxvcnRlcyBub2NoIGVpbmUgVGVpbHNjaHVsZCwgd2VpbAplaW5lciBkZXIgYmVpZGVuIEF1dG9mYWhyZXIgbWVpbnQsIHdlZ2VuIERpciB1bnZlcmhhZWx0bmlzbWFlc3NpZyBpbiBkaWUKRWlzZW4gZ2VnYW5nZW4gc2VpbiB6dSBtdWVzc2VuLgpBbHNvIHdpcnN0IER1IGFscyBrbHVnZXIgTWVuc2NoIGVpbiBwYWFyIE1vbmF0ZSBEZWluIEdld2lzc2VuIGdydW1tZWxuCmxhc3NlbiwgaHVlYnNjaCBiZWkgR3J1ZW4gdWViZXIgZGllIEFtcGVsIGdlaGVuIChhYmVyIG51ciBkaWUgcGFhciBNb25hdGUpCnVuZCBEaWNoIHZvbiBzb2xjaGVuIHJvdGVuIEF1dG9zIGZlcm5oYWx0ZW4gdW5kIGF1Y2ggRGVpbmUgS2xhbW90dGVuCndlY2hzZWxuIC4uLiBhZWhtLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnVzc2dhZW5nZXIgbGViZW4gZ2VmYWVocmxpY2ggLi4uIChIb29kLCAgOS4gTm92IDE5OTksIDE3OjAzOjExKToKfiMhIHJuPU1haGF0bXUgcnQ9OTQyMTQxNDc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2CmFsc28gZWlnZW50bGljaCBnaWx0IHdpZSB1ZWJsaWNoIGRlciBncnVuZHNhdHo6CiAgd2VyIHNpY2ggYW0gbWVpc3RlbiBuZW4ga29wcCBtYWNodCwgYmVrb21tdCBkaWUgaGFlcnRlc3RlbiBzdHJhZmVuIGFiLgpkYWhlciBkZXIgdGlwOiBibGVpYiBjb29sIHVuZCB2ZXJnaXNzIGRhcyBnYW56ZS4ga2xhcHB0IGJlaSB2aWVsZW4KaWRlb3RlbiBsZWlkZXIgYXVjaC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoU3VibGltZSwgIDkuIE5vdiAxOTk5LCAyMzowODoyNik6Cn4jISBybj1Ib29kIHJ0PTk0MjE2MzM5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA5MjQ4NgpOYSBkYW5uIG1hbCBlcnN0bWFsIHZpZWxlbiBEYW5rIDs9KQoKUmVzdW1lZSAob2RlciB3aWUgbWFuIGRhcyBzY2hyZWlidCkgOgpEZXIgVHlwIGlzdCBqYSBuaWNodCB3ZWdlbiBtaXIgaW4gZGllIEVpc2VuCmdlZ2FuZ2VuLiBFciBtdXNzdGUgbGVkaWdsaWNoIGVpbmUgd2VpdGVyZQpBbXBlbHBoYXNlIHdhcnRlbiwgd2VpbCBkaWUgU3RyYXNzZSB2b24gZWluZXIKSG9yZGUgbG9zZ2VsYXNzZW5lciBBdXRvcyBiZWZhaHJlbiB3dXJkZSB1bmQKZGEgZGFubiBqYSB3b2hsIGVpbiBhYmJpZWdlbiBrYXVtIG1vZWdsaWNoIGlzdC4KRGVyIEhpbnRlcm1hbm4gaGF0IGRhcyBqZWRvY2ggbmljaHQgZ2VyYWZmdCwKd2VpbCBlciB3b2hsIHp1IGxhbmcgbmFjaCBsaW5rcyBnZXNjaGF1dCBoYXQKdW5kIGhhdCBlaW5mYWNoIG1hbCBhbmdlc2Nob2Jlbi4KCkRhcyBpY2ggZGEgJ25lIFRlaWxzY2h1bGQgaGFiJywgZGVua2UgaWNoIG1pcgphdWNoLiBadXIgUG9saXplaSBnZWhlbiB0dScgaWNoIGFsbGVyIFZvci0KcmF1c3NpY2h0IGplZG9jaCBzb3dpZXNvIG5pY2h0LiBJY2ggbWVpbiwgd2VyCm1hY2h0IGFscyBrbGVpbmVyIEFsdC1BbmFyY2hvIGRlbm4gc28gd2FzID8KQWJlciBpc3QgJ25lIGd1dGUgSWRlZSwgbWFsIDUgbWluIG1laHIgZWluenUtCnBsYW5lbiB1bmQgZGllIGdydWVuZSBQaGFzZSBkZXIgQW1wZWwgenUgbnV0emVuLgpVbmQsYWVoLCA7KSBtZWluZSBTYWNoZW4gd2VjaHNlbG4gPyBadWZhZWxsaWcKaGFiZSBpY2ggaGV1dGUgZ2VtZXJrdCxkYXMgaWNoIGF1ZiBkaWUgZ3J1ZW5lIApNdWV0emUgKHNlaHIgYXVmZmFlbGxpZyksIGRpZSBpY2ggenUgZGVyIFRhdHplaXQKdHJ1ZywgJ25lIGJlc29uZGVycyBla2xpZ2UgQWxsZXJnaWUgaGFiJy4gCkljaCBzYWcgZXVjaCwgZGVuIGdhbnplbiBUYWcgd2FyIG1laW4gS29wZiByb3QKdW5kIGFuZ2VzY2h3b2xsZW4uIERpZSBXb2xsZSBpc3QgbWlyIHdvaGwKenUgS29wZiBnZXN0aWVnZW4uIEFsc28gZ2lidHMgZGEgYXVjaCBrZWluZQpJZGVlLCBkYXMgbWljaCBkYSBqZW1hbmQgd2llZGVyZXJrZW5udC4gClNvbGx0ZSBkb2NoIGplbWFuZCBtZWluIEJpbGQgb2RlciBkaWUgVGF0CmluIGRlciBUYWdlc3NjaGF1LGdsZWljaCBuZWJlbiBkZW4gQmlsZGVybgpkZXMgYXJtZW4gSnVuZ2VuIGluIGRlciBVLlMuQS4sIGRlciBzZWluZXIKU2Nod2VzdGVyIGJlaW0gYXVzdHJldGVuIGhhbGYsIGF1ZnRhdWNoZW4Kc28gYmVuYWNocmljaHRpZ3QgbWljaCBkb2NoIG1hbCBiaXR0ZS4gOykpKSkKClN1YmwsIG5pY2h0IGdhbnogZXJuc3QsIGhvZmZlbnRsaWNoIGplZGVyIGthcGllcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoR3JpbW1ib3JuLCAgOS4gTm92IDE5OTksIDIzOjE5OjU3KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMTg1MzA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2CkR1IHdlaXNzdCwgZGFzcyBkaWVzZXMgR2VzdGFlbmRuaXMgdm9uIERpciB6aWVtbGljaCBuYWNoIGhpbnRlbiBsb3NnZWhlbiBrYW5uLAp3ZW5uIFNjaHJ1bXBmaSBkYXMgenUgbGVzZW4ga3JpZWd0LCBnZWxsZT8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCAoamFqYSwgZGllIGd1dGVuLCBhbHRlbiBaZWl0ZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIbW1tbS4uLiAoTW9ub3RvbmksIDEwLiBOb3YgMTk5OSwgMTM6MTk6MjApOgpHZXJhZGUgaW0gVmlkZW90ZXh0IGdlbGVzZW46CkphcGFucyBncm9lc3N0ZXIgSGVyc3RlbGxlciB2b24gVW50ZXJoYWx0dW5nc2VsZWt0cm9uaWsKaGF0IHNlaW5lbiBNaXRhcmJlaXRlcm4gdmVyYm90ZW4sIHp1bSBKYWhyZXNlbmRlIERpZW5zdHJlaXNlbgpwZXIgRmx1Z3pldWcgenUgdW50ZXJuZWhtZW4uLi4KCk1vbm90b25pIChnZXJhZGUgYXVmIGRlbSBXZWcgenUgQWxkaSB1bSBWb3JyYWV0ZSB6dSBidW5rZXJuISkKOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXVlciBWZXJlaW4gKE5vbm5lLCAxMC4gTm92IDE5OTksIDEzOjMxOjU1KToKSGFsbG8gTGV1dGUsCgplcyBnaWJ0IGphIGltIE1HIGVpbmlnZSBHZXNpbm51bmdzZ2Vub3NzZW4gdm9uIG1pciwgZGllIGF1Y2ggdm9yYmVoYWx0ZSBnZWdlbgplaW5lIGdld2lzc2UgR2lsZGUgaGFiZW4uIERhaGVyIGhhYmUgaWNoIG1pY2ggZW50c2NobG9zc2VuIGVpbmVuClphdWJlcmhhc3Nlci1WZXJlaW4genUgZ3J1ZW5kZW4gdW5kIGVpbiBWZXJlaW5zaGF1cyB6dSBwcm9ncmFtbWllcmVuLiBXZW5uCmplbWFuZCBJZGVlbiBvZGVyIFZvcnNjaGxhZWdlIHp1IEZ1bmt0aW9uYWxpdGFldGVuIGRpZXNlcyBIYXVzZXMgaGF0LCB3dWVyZGUKaWNoIG1pY2ggdWViZXIgTWFpbHMgbWl0IGRpZXNlbiBWb3JzY2hsYWVnZW4gZnJldWVuLiBFaW5pZ2UgR2ltbWlrcyBoYWJlIGljaAptaXIgc2Nob24gdWViZXJsZWd0LiBFcyB3aXJkIGJlc3RpbW10IGVpbmUgc3Bhc3NpZ2UgU2FjaGUuIFZvciBhbGxlbSBlaW5lCkF1Zm5haG1lYmVkaW5ndW5nIChvZGVyIG1laHJlcmUpIGZlaGxlbiBtaXIgbm9jaC4gV3VlcmRlIG1pY2ggc2VociBmcmV1ZW4sCndlbm4gamVtYW5kZW0gZGF6dSB3YXMgZWluZmllbGUgdW5kIG1pciBkYXMgYXVjaCBtYWlsZW4gd3VlcmRlLgoKSWNoIGhvZmZlIG1hbCBhdWYgcmVnZSBCZXRlaWxpZ3VuZyAoc2NoaWVsIGF1ZiBkaWUgS2FlbXBmZXIpLCBkYW1pdCBlcyBkZW4KWmF1YmVyZXJuIGF1Y2ggbWFsIGFuIGRlbiBLcmFnZW4gZ2VodC4gOy0pCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXVlciBWZXJlaW4gKE5vbm5lLCAxMC4gTm92IDE5OTksIDEzOjM2OjU0KToKfiMhIHJuPU5vbm5lIHJ0PTk0MjIzNzExNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQpOYWNodHJhZzogQml0dGUga2VpbmUgVm9yc2NobGFlZ2UgaW4gZGllIE1QQSwgZGFzIGJyaW5ndCBuaWNodHMsIHNvbmRlcm4KcHJvZHV6aWVydCBudXIgZmxhbWUtd2Fycy4gSWNoIHdlcmRlIGRpZSBWb3JzY2hsYWVnZSB1ZWJlcmRlbmtlbiB1bmQgYXVjaCBtaXQKZGVuIGJldHJlZmZlbmRlbiBQZXJzb25lbiBkaXNrdXRpZXJlbiEgSWNoIG1laW5lIGRhcyBkdXJjaGF1cyBlcm5zdCB1bmQgd2lsbApkYXMgdW1zZXR6ZW4uIERhaGVyIGhhYmUgaWNoIGtlaW5lIEx1c3QsIGRhcyBoaWVyIGthcHV0dHJlZGVuIHp1IGxhc3NlbiEKCkRhbmtlIGZ1ZXIgSWhyZSBBdWZtZXJrc2Fta2VpdApOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmV1ZXIgVmVyZWluIChaYXJuaXlhLCAxMC4gTm92IDE5OTksIDE0OjE0OjU4KToKfiMhIHJuPU5vbm5lIHJ0PTk0MjIzNzQxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQppY2ggZGFjaHRlLCBlaW5lbiBzb2xjaGVuIFZlcmVpbiBnaWJ0IGVzIHNjaG9uIG1pdCBkZXIgQ2hhb3MtR2lsZGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGdXNzZ2FlbmdlciBsZWJlbiBnZWZhZWhybGljaCAuLi4gKFJhcmRpYW4sIDEwLiBOb3YgMTk5OSwgMTQ6MjE6MjUpOgp+IyEgcm49U3VibGltZSBydD05NDIxODUzMDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDIwOTI0ODYKSG0uLi4KCndhcyBoZWlzc3QgZWlnZW50bGljaCAiX0FsdF8tQW5hcmNobyIgPyBTb2xsdGUgZGFzIGF1Y2ggZWluIFNjaGVyeiBzZWluPyA7KQoKUmFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5ldWVyIFZlcmVpbiAoVGFyYWdvbiwgMTAuIE5vdiAxOTk5LCAxNToxNjo1Myk6Cn4jISBybj1Ob25uZSBydD05NDIyMzcxMTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDIyMzcxMTUKSG1tbS4uLiB3ZW5uIHdpciBkYWZ1ZXIgaW0gZ2VnZW56dWcgZWluIHBhYXIgYW50aS1rbGVyaWtlci1mZWF0dXJlcyBpbiB1bnNlcmVuCnphdWJlcnN0YWIga3JpZWdlbiwgZ2VybmUgOi0pCgpUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5ldWVyIFZlcmVpbiAoTWFoYXRtdSwgMTAuIE5vdiAxOTk5LCAxNToyMzowNSk6Cn4jISBybj1UYXJhZ29uIHJ0PTk0MjI0MzQxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQpadXNhbW1lbmFyYmVpdCB6d2lzY2hlbiBLbGVyaWtlcm4gdW5kIFphdWJlcmVybiBmYWVuZGUgaWNoIHZpZWwgdW50ZXItCnN0dWV0emVuc3dlcnRlciBhbHMgZWluIEhhc3N0aXJhZGVuaGF1cy4gRGllIGJlaWRlbiBHaWxkZW4gbXVlc3NlbiBzaWNoCm5pY2h0IG1vZWdlbiwgYWJlciBhdXMgZGVyIFp1c2FtbWVuYXJiZWl0IGtvZW5uZW4gVm9ydGVpbGUgZXJ3YWNoc2VuLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG5ldWVyIFZlcmVpbiAoVGFyYWdvbiwgMTAuIE5vdiAxOTk5LCAxNjo1NDowMSk6Cn4jISBybj1NYWhhdG11IHJ0PTk0MjI0Mzc4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQpEYWJlaSB3aXJzdCBkdSBiZWkgZGVuIGtsZXJpa2VybiBhdWYgdW5nZWxhZXV0ZXJ0ZSBvaHJlbiBzdG9zc2VuLi4uIGFsbGVzIHdhcwpkaWUga2VubmVuIGlzdCBkcmF1ZmhhdWVuIHVuZCB1ZWJlciBhbmRlcmUgZ2lsZGVuIGxhZXN0ZXJuLCBkaWUgc2llIG5pY2h0CnZlcnN0ZWhlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5ldWVyIFZlcmVpbiAoTWFoYXRtdSwgMTAuIE5vdiAxOTk5LCAxNzowNjowOCk6Cn4jISBybj1UYXJhZ29uIHJ0PTk0MjI0OTI0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQpEYXMgYmV6d2VpZmxlIGljaCwgYmluIGphIHNlbGJlciBlaW5lci4gQWJlciBpY2ggZGVua2UsIGRpZSB0YXViZW4gT2hyZW4Kc2NobGFwcGVybiBpbiBkZW4gRnVlaHJ1bmdzZXRhZ2VuIGhlcnVtLiBNaXIgbWlzc2ZhZWxsdCBkZXIgVW5zaW5uIG1pdApkZW4gV2Flc3Nlcm4gdW5kIGRlbSBTZWduZW4sIGR1cmNoIGViZW5kaWVzZSBGdWVocnVuZ3NldGFnZW4gZWluZ2VmdWVocnQKemllbWxpY2guCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnVzc2dhZW5nZXIgbGViZW4gZ2VmYWVocmxpY2ggLi4uIChTdWJsaW1lLCAxMC4gTm92IDE5OTksIDIyOjE3OjAzKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMTg1MzA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2CkhtbSwgd2llc28ga2FubiBkYXMgZnVlciBtaWNoIG5hY2ggaGludGVuIGxvc2dlaGVuID8gClNwYW5uJyBtaWNoIGRvY2ggbmljaHQgc28gYXVmIGRpZSBGb2x0ZXIuLi4KClN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoQXJrLCAxMC4gTm92IDE5OTksIDIyOjMxOjMwKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMjY4NjIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2Ck1hbiBzY2hhdWUgbnVyIGRlbiBBcnRpa2VsIDQxIGluIFJ1YnJpayA1NSBhbiwgdW5kIHNjaG9uIHdpcmQgZXMgZ2xhc2tsYXIgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnVzc2dhZW5nZXIgbGViZW4gZ2VmYWVocmxpY2ggLi4uIChBcmssIDEwLiBOb3YgMTk5OSwgMjI6MzI6MjgpOgp+IyEgcm49QXJrIHJ0PTk0MjI2OTQ5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA5MjQ4NgpBbHNvIFJ1YnJpayBTdHVmZW4gLi4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbmV1ZXIgVmVyZWluIChCaWVyY2hlbiwgMTEuIE5vdiAxOTk5LCAwMzoyOToyMCk6Cn4jISBybj1aYXJuaXlhIHJ0PTk0MjIzOTY5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjIzNzExNQpuaWNodCBnYW56LCB3aXIgaGFzc2VuIHZvbiBuYXR1ciBhdXMgYWxsZXMgdW5kIGplZGVuIHVuZCBzaW5kIGRhYmVpIG5pY2h0IGdhbnoKc28gd2FlaGxlcmlzY2guIGJ0dy4uLiB3ZW5ucyB1bSBrbGVyaWtlciBnaW5nZSBkYW5uIGhhZXR0ZSBpY2ggamEgbm9jaCB1ZWJlcgplaW5lbiB6d2FuZ3NiZWl0cml0dCBhbGxlciBjaGFvdGVuIHp1IGRpZXNlbSB2ZXJlaW4gbmFjaGdlZGFjaHQuLi4KbmFjaGdlZGFjaHQsIG1laHIgYWJlciBuaWNodCA6KQprb3Bmc2NodWV0dGVsbmQsIC0gQmllcmNoZW4gLSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZ1c3NnYWVuZ2VyIGxlYmVuIGdlZmFlaHJsaWNoIC4uLiAoR3JpbW1hbiwgMTQuIE5vdiAxOTk5LCAyMDozNzo1OCk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0MjE4NTMwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MjA5MjQ4NgpBbHQtQW5hcmNobz8KS29tbSBlcnN0bWFsIGluIG5lbSBBbHRlciwgd28gZHUgZGljaCBhbHQgbmVubmVuIGRhcmZzdCwgS2xlaW5lciAhISEKCkdyaW1NYW4gLCB1ZWJlciBkYXMgSnVuZ3ZvbGsgZ3J1bW1lbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHpwcm9ibGVtZSBpbiBCZXJsaW4gKEx1ZywgMTUuIE5vdiAxOTk5LCAwMDowMTowMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTQyMDc0MTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDcxMzI4CgpKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLAoKCnp1cnVlY2sgbWl0IGRlbSBEaW5nIG5hY2ggCk11ZW5zdGVyIQoKTC5ECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVzc2dhZW5nZXIgbGViZW4gZ2VmYWVocmxpY2ggLi4uIChBcHN1LCAxNy4gTm92IDE5OTksIDE3OjUyOjM2KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMDkyNDg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQyMDkyNDg2Ck5vZSBuaWNodCBzY2h1bGQuIExhdXQgU3RWTyBoYXQgZGVyIHNjaHdhZWNoc3RlIFZlcmtlaHJzdGVpbG5laG1lciBWb3JyYW5nLCBpbgpkaWVzZW0gRmFsbCBkZXIgRnVzc2dhZW5nZXIsIGJlaW0gQWJiaWVnZW4sIHdlbm4gbmV0IGdyYWQgbmUgRnVzc2dhZW5nZXJhbXBlbApkYSBpc3QsIGRpZSBhdWYgcm90IGlzdC4gV2VubiBkYSBhbGxlcmRpbmdzIG5lIHJvdGUgQW1wZWwgd2FyLCBoYXR0dSBQZWNoCmdlaGFidCB1bmQgc293YXMgd2lyZCBhbHMgVW5mYWxsZmx1Y2h0IGdlYWhuZGV0LgoKQXBzdSAvc2VuZiBvZmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFudGlmYSBpbiBCZXJsaW4uLi4gKFN1YmxpbWUsIDIxLiBOb3YgMTk5OSwgMjE6NDI6NDUpOgpIaSA7PSkKCkhldXRlIG1hbCBlaW4gZ2FueiBhbmRlcmVzIFRoZW1hLCBlcyBpc3QgendhciBlaW4gc2Vocgpwb2xpdGlzY2hlcyBUaGVtYSwgYWJlciBpY2ggZGVua2UsIGRhc3MgZXMgaGllciBpbSBNRwpqYSBzb3dpZXNvIGtlaW5lIHJlY2h0ZW4gU2Nod2VpbmUgZ2lidCwgZGllIExldXRlLCBkaWUKc2ljaCBtYW5jaG1hbCBmdWVyIDUgbWluIGVpbmxvZ2dlbiB1bmQgdmVyc3VjaGVuIGFuZGVyZQpMZXV0ZSB6dSBuZXJ2ZW4gbWFsIGF1c2dlbm9tbWVuLgoKVW1zIGt1cnogenUgbWFjaGVuIDoKSWNoIHBsYW5lIChuZWJlbiBtZWluZW0gbWFnaWVyZGFzZWluKSBlaW5lIEFudGlmYS0KT3JnYW5pc2F0aW9uIGluIEJlcmxpbi1DaGFybG90dGVuYnVyZywgZGEgZXMgaGllcgpzbyBldHdhcyBub2NoIG5pY2h0IGdpYnQgdW5kIGljaCB3YXMgZ2VnZW4gZGllIGJyYXVuZQpTY2hlaXNzZSBoYWJlIHVuZCBnZWdlbiBkaWUgd2FzIG1hY2hlbiB3aWxsLgpEYXp1IG1hbCBtZWluZSBGcmFnZSA6IEtlbm50IHNpY2ggd2VyIG1pdCBWZXJlaW5zYmlsZHVuZwphdXMgdW5kIHd1ZXJkZSBkYXMgdWViZXJoYXVwdCBTaW5uIG1hY2hlbiA/IEZydWVoZXIgb2RlcgpzcGFldGVyIG1vZWNodGUgaWNoLCB3ZW5uIGljaCBnZW51ZyBNaXRnbGllZGVyIGhhYmUsIERlLQptb25zdHJhdGlvbmVuIG1pdHZlcmFuc3RhbHRlbiB1bmQgZWluIGJpc3NjaGVuIE9lZmZlbnQtCmxpY2hrZWl0c2FyYmVpdCBtYWNoZW4uLi5hbHNvLCBicmluZ3QgbWlyIGRlciBUaXRlbCBWZXJlaW4KZXR3YXMsIHdlbm4gaWNoIEZsdWdibGFldHRlciB1bnRlciBkaWUgTGV1dGUgYnJpbmdlbiB3aWxsLgpEZW1vcyB2ZXJhbnN0YWx0ZW4gbW9lY2h0ZSB1bmQgZ2V3aXNzZSBUcmVmZmVuIGFycmFuZ2llcmVuCndpbGwgPwoKV2FlcmUgbmV0dCwgd2VubidzIGRhIGVpbiBwYWFyIE1laW51bmdlbiBnaWJ0LCBNdWRkZXIKYXVzIEJlcmxpbiB3YWVyZW4gbmF0dWVybGljaCBhdWNoIGhlcnpsaWNoIGVpbmdlbGFkZW4KbWl0enVtYWNoZW4gOz0pCgpsaWViZSBncnVlc3NlClN1YmwKClBTOiBVbmQgd2FydW0gZGFzIGdhbnplID8gSGV1dGUgaXN0IGRlciBHZWRlbmt0YWcKZnVlciBTaWx2aW8gTWVpZXIsIGRlciB2b3IgMiBKYWhyZW4gdm9uIHJlY2h0ZW4gClNjaHdlaW5lbiBhdWYgZGVtIFUtQmFobmhvZiBTYW1hcml0ZXJzdHJhc3NlIHVtZ2UtCmJyYWNodCB3dXJkZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFudGlmYSBpbiBCZXJsaW4uLi4gKE1haGF0bXUsIDIyLiBOb3YgMTk5OSwgMTQ6NDk6NTEpOgp+IyEgcm49U3VibGltZSBydD05NDMyMTY5NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDMyMTY5NjUKUmVjaHRlIFNjaHdlaW5lPyBEdSBtZWluc3QsIGRpZSBsaWVmZW4gYXVmIGRlbiByZWNodGVuIEJlaW5lbiBvZGVyCmdydW56dGVuIHJlY2h0cyBvZGVyIHdpZT8gR2VnZW4gYnJhdW5lIFNjaGVpc3NlIGhhYmUgaWNoIGFiZXIgYXVjaApzY2hvbiBsYWVuZ2VyIGV0d2FzLCBIdW5kZWtvdCBpbiBCZXJsaW4gbmltbXQgdWViZXJoYW5kLgpFZ2FsLiBNZWluZXIgTWVpbnVuZyBuYWNoIGthbm5zdCBEdSBEZW1vbnN0cmF0aW9uZW4gYXVjaCBndXQgdW5kIGdlcm4gb2huZQpWZXJlaW4gYmVhbnRyYWdlbiB1bmQgZ2VuZWhtaWdlbiBsYXNzZW4uIEJlaSBwb2xpdGlzY2hlbiBPcmdhbnNpc2F0aW9uZW4KcmVjaHRlciBvZGVyIGxpbmtlciBOYXR1ciBiaWV0ZXQgc2ljaCBkYXMgSG9yZGVuYmlsZGVuIHNvd2llc28gZWhlciBhbi4KCk1haGF0bXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbnRpZmEgaW4gQmVybGluLi4uIChQcmEsIDIyLiBOb3YgMTk5OSwgMTU6MDg6MzgpOgp+IyEgcm49U3VibGltZSBydD05NDMyMTY5NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDMyMTY5NjUKU29sbHRlc3QgRHUgRGljaCBkYSBuaWNodCBiZXNzZXIgYmVpIGJlcmVpdHMgZXhpc3RpZXJlbmRlbiAKT3JnYW5pc2F0aW9uZW4gZXJrdW5kaWdlbj8gV3VlcmRlIG1pY2ggd3VuZGVybiwgd2VubiBlcyBpbiBCZXJsaW4KbmljaHQgbWluZGVzdGVucyBlaW5lIEFudGlmYS1HcnVwcGllcnVuZyBnaWJ0LiAKCkF1c2dlcmVjaG5ldCBoaWVyIHp1IHBvc3Rlbiwgc2NoZWludCBtaXIgZWluIGhvZmZudW5nc2xvc2VzIFVudGVyZmFuZ2VuCnp1IHNlaW4uIE9kZXIgaGF0IHNjaG9uIG1hbCBqZW1hbmQgZGF2b24gZ2Vob2VydCwgZGFzcyBlaW4gTXVkZGVyCmZyZWl3aWxsaWcgYXVmIGRpZSBTdHJhc3NlIGdlaHQ/IEhvZWNoc3RlbnMgZG9jaCwgdW0gZGFzIG5hZWNoc3RlIApJbnRlcm5ldC1DYWZlIGF1Znp1c3VjaGVuLCB3ZW5uIGRlciBlaWdlbmUgQ29tcHV0ZXIgb2RlciBkZXIgaW4gZGVyClVuaSB2ZXJzYWd0Li4uIDotKQoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbnRpZmEgaW4gQmVybGluLi4uIChKYW1hbHNraSwgMjMuIE5vdiAxOTk5LCAxMzowODozNCk6Cn4jISBybj1QcmEgcnQ9OTQzMjc5NzE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQzMjE2OTY1ClNjaGF1IGFtIGJlc3RlbiBtYWwgaW5zIHRlbGVmb25idWNoIQpHYW56IGJlc3RpbW10IGZpbmRlc3QgZHUgZGEgaXJnZW5kd2VsY2hlIEFudGlmYVZlcmVpbmUhClVuZCBzZWllbiBlcyBudXIgZGllIEZhbGtlbiBkZXIgU1BEIQpWaWVsIFNwYXNzLCBkdSwgZXkhIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbnRpZmEgaW4gQmVybGluLi4uIChNYWhhdG11LCAyMy4gTm92IDE5OTksIDEzOjE5OjA3KToKfiMhIHJuPUphbWFsc2tpIHJ0PTk0MzM1ODkxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0MzIxNjk2NQpEYSBpY2ggZWluIFVudGVyc3R1ZXR6ZXIgZGVzIEthcGl0YWxpc211cyBiaW4gdW5kIGRlbWVudHNwcmVjaGVuZCBkaWUKQmVybGluemVyIFplaXR1bmcgYmV6aWVoZSB3ZWlzcyBpY2ggdW0gZWluZW4gQXJ0aWtlbCBpbiBkZXIgZ2VzdHJpZ2VuCkF1c2dhYmUgZWJlbmplbmlnZW4gQmxhdHRlcywgaW4gd2VsY2hlbSBzaWNoIGRhcnVlYmVyIGF1c2dlYnJlaXRldCB3YXJkLApkYXNzIHNpY2ggenVtaW5kZXN0IGVpZSBGcmF1IHVtIGRpZSBPcmdhbmlzYXRpb24gZGVyIHZvcmdlc3RyaWdlbiBEZW1vCnp1ciBFcmlubmVydW5nIGFuIGVyd2FlaG50ZW4ganVuZ2VuIE1hbm4gdmVyZGllbnQgbWFjaHQuClZpZWxsZWljaHQgc29sbHRlc3QgRHUgbWFsIHNjaGF1ZW4sIG9iIER1IGRlbiBBcnRpa2VsIGltIE5ldHogbm9jaCBmaW5kZXN0CnVuZCBEaWNoIGRhIG1hbCB1bXNlaGVuLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW50aWZhIGluIEJlcmxpbi4uLiAoUHJhLCAyMy4gTm92IDE5OTksIDE2OjQwOjI3KToKfiMhIHJuPU1haGF0bXUgcnQ9OTQzMzU5NTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQzMjE2OTY1CkFjaGphLCBpbSBOZXR6IGZpbmRldCBtYW4gZWluZSBnYW56ZSBNZW5nZSB1ZWJlciBBbnRpZmEsIGZhbmcgbWFsCmJlaSB3d3cuYW50aWZhLmRlIGFuIDotKQoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFudGlmYSBpbiBCZXJsaW4uLi4gKEdyaW1tYW4sIDI3LiBOb3YgMTk5OSwgMjM6NDM6MzEpOgp+IyEgcm49U3VibGltZSBydD05NDMyMTY5NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDMyMTY5NjUKQWxzbyAuLi4gbmF0dWVybGljaCBnaWJ0IGVzIGluIGJlcmxpbiBzY2hvbiBBbnRpZmFfR3J1cHBlbiAuLi5BZHJlc3NlbiBhdWYKQW5mcmFnZSBiZWkgbWlyIC4uLgpVbmQgd2VubiBkdSBiZWkgZGVyIFNpbHZpby1NZWlzc25lciBEZW1vIHdhcnN0LCB3dWVyZGVzdCBkdSBkaWUgQWRyZXNzZW4Kc2VsYmVyIGhhYmVuIC4uLgoKR3JpbU1hbiAsIHdlaXNzIGJlc2NoZWlkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbmJlZGluZ3QgYW5zY2hhdWVuISEhIChNb3Jnb3RoLCAzMC4gTm92IDE5OTksIDA5OjM5OjI3KToKQWxzIEVtcGZlaGx1bmcgZnVlciBqZWRlbiBNdWRkZXIsIG1vZWNodGUgaWNoIGRlbiBGaWxtICdlWGlzdGVuWicgdm9yc2NobGFnZW4uCkVyIHNwcmVuZ3QgamVkZSBWb3JzdGVsbHVuZ3NrcmFmdC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW5iZWRpbmd0IGFuc2NoYXVlbiEhISAoR3JpbW1ib3JuLCAzMC4gTm92IDE5OTksIDEwOjQ4OjA5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTQzOTUxMTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQzOTUxMTY3CkR1IG1laW5zdCB3YWhyc2NoZWlubGljaCBfRGVpbmVfIFZvcnN0ZWxsdW5nc2tyYWZ0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVuYmVkaW5ndCBhbnNjaGF1ZW4hISEgKEx1ZywgMzAuIE5vdiAxOTk5LCAyMzoyODo1MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQzOTU1Mjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQzOTUxMTY3CkhBSCEKClRvdWNoZWUhCgpHcmltIDEgOiAwIE1vcmcKCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVuYmVkaW5ndCBhbnNjaGF1ZW4hISEgKFdpZGV3aXR0LCAgMS4gRGV6IDE5OTksIDEwOjUyOjUyKToKfiMhIHJuPU1vcmdvdGggcnQ9OTQzOTUxMTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQzOTUxMTY3CkhtIC4uLiBhbHNvIGljaCBmaW5kZSBkZW4gRmlsbSAnZVhpc3RlblonIHppZW1saWNoIGZsYWNoIC4uLgoKV2lkZXdpdCwgYXVjaCBzZWluZSBNZWludW4ga3VuZHR1ZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmJlZGluZ3QgYW5zY2hhdWVuISEhIChSYW50YW5wbGFuLCAxMC4gRGV6IDE5OTksIDA0OjM2OjM5KToKfiMhIHJuPVdpZGV3aXR0IHJ0PTk0NDA0MTk3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0Mzk1MTE2NwpXYXMgaGVpc3N0IGRlbiBBbnRpZmEgPwoKQW50aSBGaWNrZW4gQWxtYW5hY2gsIG9kZXIKQW4gVGllcmVuIEZsYWNoZXIgQXVzc2NobGFnIApvZGVyIEFuYWwgVGllZiBGYWVrYWxvcmdpZXJuIApvZGVyIHdhcyBhdWNoIGltbWVyLi4uLgoKSWNoIGJpbiBlY2h0IEFudGllZmFla2FsIGVoaGgKCk9ldHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVuYmVkaW5ndCBhbnNjaGF1ZW4hISEgKFJhbnRhbnBsYW4sIDEwLiBEZXogMTk5OSwgMDQ6NDE6NDkpOgp+IyEgcm49UmFudGFucGxhbiBydD05NDQ3OTY5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDM5NTExNjcKRWluIFRhZyBpbSBMZWJlbiBkZXMgTXVkZGVycyBYOgoKbm4gPENSLUxGPiAob2RlciBhdWNoIDBEMEEpCm5uIDxDUi1MRj4Kbm4gPENSLUxGPiA8Q1ItTEY+ICgiU2Nod2FldHplciIpIDxDUi1MRj4KLi4uCgp0byBiZSBjb250aW51ZWQKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVW5iZWRpbmd0IGFuc2NoYXVlbiEhISAoT2xsaSwgMTAuIERleiAxOTk5LCAwNDo0Mjo1MSk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTk0NDc5NzMwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0Mzk1MTE2NwpEaWUgVGFzdGF0dXIgbW9lY2h0ZSBpY2ggc2VoZW4sIGRpZSBhdWYgUmV0dXJuIHp1c2FldHpsaWNoIGVpbiBMRgplcnpldWd0IDspCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVbmJlZGluZ3QgYW5zY2hhdWVuISEhIChHcmltbWJvcm4sIDEwLiBEZXogMTk5OSwgMTA6MDc6NDMpOgp+IyEgcm49T2xsaSBydD05NDQ3OTczNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDM5NTExNjcKQWNoIHdhcywgT2V0dGkgd29sbHRlIG51ciBkZW1vbnN0cmllcmVuLCBkYXNzIGVyIHVudGVyIGRlbSBPUyBzZWluZXIgV2FobAooYWxzbyBET1MpIG11ZGRldC4gRG9ydCBnZWh0IGRhcyBhdXRvbWF0aXNjaC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGllciBnZWZhZWxsdHMgbWlyIChUaG9yYWssIDIwLiBEZXogMTk5OSwgMjA6MjA6NTYpOgp+IyEgb249VGhvcmFrIG90PTk0NTcxNzU0MiBvZz1rdWx0dXIKaGFsbG8sCmljaCB3b2xsdGUgYmxvc3MgbWFsIHNhZ2VuLCBkYXNzIGVzIG1pciBoaWVyIHVuaGVpbWxpY2ggZ2VmYWVsbHQuCmhhYiBtaXIgbGFuZyB1ZWJlcmxlZ3QsIHdpZSBpY2ggZXMgYW0gYmVzdGVuIGF1c2RydWVja2UsIGFiZXIKYW0gYmVzdGVuIGljaCB6aXRpZXIgbWFsIGZyZWkgbmFjaCBnb2V0aGU6CgpzY2hvbiBob2VyIGljaCBwb3J0IHZhaW5zIGdldHVlbW1lbApkaWVzIGlzdCBkZXMgdm9sa2VzIHdhaHJlciBoaW1tZWwKenVmcmllZGVuIGphdWNoemV0IGdyb3NzIHVuZCBrbGVpbgpoaWVyIGJpbiBpY2ggbWVuc2NoKiwgaGllciBsb2cgaWNoIGVpbgoKKiBiZWxpZWJpZ2UgcmFzc2UgZWluc2V0emVuCgpkYXMgaXN0IG1laW4gZXJzdGVzIG11ZCB1bmQgaWNoIG11c3Mgc2FnZW4sIGRhc3MgaWNoIHNlbHRlbiBzbyB3YXMKZmFzemluaWVyZW5kZXMgZXJsZWJ0IGhhYi4gaWNoIG1vZWNodGUgbWljaCBhdWNoIGdsZWljaCBub2NoIGJlaQpkZW4gbGV1dGVuIChtYWdpZXI/KSBiZWRhbmtlbiwgZGllIGRhcyBlcm1vZWdsaWNodCBoYWJlbi4KCgp0aG9yYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBoaWVyIGdlZmFlbGx0cyBtaXIgKFN0aW5nLCAyMC4gRGV6IDE5OTksIDIwOjI2OjM4KToKfiMhIHJuPVRob3JhayBydD05NDU3MTc2NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDU3MTc2NTYKZHUgd2lyc3QgZGVuIHRhZyBub2NoIHZlcmZsdWNoZW4gYW4gZGVtIGR1IGFuZ2VmYW5nZW4gaGFzdCA6KQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaGllciBnZWZhZWxsdHMgbWlyIChUaG9yYWssIDIwLiBEZXogMTk5OSwgMjA6Mjk6NTkpOgp+IyEgcm49U3RpbmcgcnQ9OTQ1NzE3OTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ1NzE3NjU2CmljaCBob2VyIGVyc3Qgd2llZGVyIGF1Ziwgd2VubiBtaXIgZGllIHRlbGVrb20gZGllIGxlaXR1bmcgenVtYWNodAp3ZWdlbiB1bmJlemFobHRlciBtZWdhLXJlY2hudW5nZW4gOikpCgphbHNvIGhhc3QgZHUgd2FocnNjaGVpbmxpY2ggcmVjaHQuLi4KCnRob3JhawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaGllciBnZWZhZWxsdHMgbWlyIChCZWxnYXJpYWQsIDIwLiBEZXogMTk5OSwgMjA6NTI6MTEpOgp+IyEgcm49VGhvcmFrIHJ0PTk0NTcxODE5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NTcxNzY1NgpOYWphIGRhcyB3aXJkIGphIG5pY2h0IGxhbmdlIGdlaGVuLCBiaXMgZGllIDEuIFJlY2hudW5nIGtvbW10LgoKQmVsZ2EgaGF0IGViZW4gZXJzdCBuZSBfcmllc2VuXyBSZWNobnVuZyBiZXphaGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogaGllciBnZWZhZWxsdHMgbWlyIChTb3JjZXJlciwgMjEuIERleiAxOTk5LCAxOTowMjo1OSk6Cn4jISBybj1CZWxnYXJpYWQgcnQ9OTQ1NzE5NTMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ1NzE3NjU2ClJlY2hudW5nPyBUZWxlZm9uLi4uIG9oamUsIGRhcyBrb21tdCBqYSBhdWNoIG5vY2guLi4gdW5kIGljaCBoYXR0ZSBtaWNoIGdlcmFkZQphbiBkZW4gRmVzdGJldHJhZyBpbiBVU0EgZ2V3b2VobnQuLi4KClNvcmNlcmVyIC4uLiBzaWNoIHdvaGwgYmVzc2VyIG5hY2ggZWluZXIgR2VsZHF1ZWxsZSB1bXNlaGVuIHNvbGxlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGhpZXIgZ2VmYWVsbHRzIG1pciAoTmV2b2ssIDIxLiBEZXogMTk5OSwgMTk6MDU6MzcpOgp+IyEgcm49U29yY2VyZXIgcnQ9OTQ1Nzk5Mzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ1NzE3NjU2CnNlbGJlciBzY2h1bGQgd2VubiBEdSBtaWNoIGhpZXIgYWxsZWluZSBzaXR6ZW4gbGFlc3N0Li4uLi4uZ2VzY2hpZWh0IERpcgpyZWNodCwgZGFzcyBEdSBudSBmZXR0IEtvaGxlIHphaGxlbiBtdXNzdCwgWWV0aS4uLgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBoaWVyIGdlZmFlbGx0cyBtaXIgKENvcm55LCAyMi4gRGV6IDE5OTksIDEzOjEzOjA2KToKfiMhIHJuPVRob3JhayBydD05NDU3MTc2NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDU3MTc2NTYKTGVybmUgZXJzdG1hbCBkaWUgaGllc2lnZW4gTG9iYnlzIGtlbm5lbiwgaWNoIHNjaGFldHplLCBkYW5uIHdpcnN0IGR1IGRhcwpzY2huZWxsIHdpZWRlciBydWVja3ppZWhlbiwgd2llIGVzIGhpZXIgenVnZWh0LgoKQ29ybnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaWhuYWNodGVuIChHcmltbWJvcm4sIDIzLiBEZXogMTk5OSwgMTg6NDk6MjYpOgpGdWVyIGFsbGUgZGllamVuaWdlbiwgZGllIGRpZXNlIEdlc2NoaWNodGUgbGV0enRlcyBKYWhyIG5pY2h0IGdlbGVzZW4gaGFiZW4sCmhpZXIgZWluZSB6d2VpdGUgQ2hhbmNlOgoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uIApEYXJ1bSBzY2hyaWViIHNpZSBhbiBkaWUgVGFnZXN6ZWl0dW5nICJTdW4iIGVpbmVuIEJyaWVmOgoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICdTdW4nIHN0ZWh0IGlzdCBpbW1lciB3YWhyLiBCaXR0ZSBzYWdlbgpTaWUgbWlyOiBHaWJ0IGVzIGVpbmVuIFdlaWhuYWNodHNtYW5uPyAtIFZpcmdpbmlhIE8nSGFubG9uIgoKRGllIFNhY2hlIHdhciBkZW0gQ2hlZnJlZGFrdGV1ciBGcmFuY2lzIFAuIENodXJjaCBzbyB3aWNodGlnLCBkYXNzIGVyIHNlbGJlcgphbnR3b3J0ZXRlIC0gYXVmIGRlciBUaXRlbHNlaXRlIGRlciAiU3VuIjoKCiJWaXJnaW5pYSwKRGVpbmUga2xlaW5lbiBGcmV1bmRlIGhhYmVuIG5pY2h0IHJlY2h0LiBTaWUgZ2xhdWJlbiBudXIsIHdhcyBzaWUgc2VoZW47IHNpZQpnbGF1YmVuLCBkYXNzIGVzIG5pY2h0IGdlYmVuIGthbm4sIHdhcyBzaWUgbWl0IGlocmVtIGtsZWluZW4gR2Vpc3QgbmljaHQKZXJmYXNzZW4ga29lbm5lbi4gQWxsZXIgTWVuc2NoZW5nZWlzdCBpc3Qga2xlaW47IG9iIGVyIG51biBlaW5lbSBFcndhY2hzZW5lbgpvZGVyIGVpbmVtIEtpbmQgZ2Vob2VydC4gSW0gV2VsdGFsbCB2ZXJsaWVydCBlciBzaWNoIHdpZSBlaW4gd2luemlnZXMgSW5zZWt0LgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4KSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbyBnZXdpc3Mgd2llIExpZWJlCnVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2FubiB1bnNlciBMZWJlbiBzY2hvZW4KdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbiBXZWlobmFjaHRzbWFubgpnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUgUG9lc2llIC0gZ2FyCm5pY2h0cywgd2FzIGRhcyBMZWJlbiBlcnN0IGVydHJhZWdsaWNoIG1hY2h0ZS4gRWluIEZsYWNrZXJyZXN0IGFuIHNpY2h0YmFyZW0KU2Nob2VuZW4gYmxpZWJlIHVlYnJpZy4gQWJlciBkYXMgTGljaHQgZGVyIEtpbmRoZWl0LCBkYXMgZGllIFdlbHQgYXVzc3RyYWhsdCwKbXVlc3N0ZSB2ZXJsb2VzY2hlbi4KRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IER1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgRHUga29lbm50ZXN0IERlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgYmVrYWVtZSBpaG4genUKR2VzaWNodCAtIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4gZWluZmFjaCBzby4gRGFzCmJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdlbiBEaW5nZSBibGVpYmVuIG1laXN0ZW5zIHVuc2ljaHRiYXIuIERpZQpFbGZlbiwgenVtIEJlaXNwaWVsLCB3ZW5uIHNpZSBhdWYgTW9uZHdpZXNlbiB0YW56ZW4uIFRyb3R6ZGVtIGdpYnQgZXMgc2llLiBBbGwKZGllIFd1bmRlciB6dSBkZW5rZW4gLSBnZXNjaHdlaWdlIGRlbm4gc2llIHp1IHNlaGVuLCBkYXMgdmVybWFnIG5pY2h0IGRlcgpLbHVlZ3N0ZSBhdWYgZGVyIFdlbHQuIFdhcyBEdSBhdWNoIHNpZWhzdCwgRHUgc2llaHN0IG5pZSBhbGxlcy4KRHUga2FubnN0IGVpbiBLYWxlaWRvc2tvcCBhdWZicmVjaGVuIHVuZCBuYWNoIGRlbiBzY2hvZW5lbiBGYXJiZmlndXJlbiBzdWNoZW4uCkR1IHdpcnN0IGVpbmlnZSBidW50ZSBTY2hlcmJlbiBmaW5kZW4sIG5pY2h0cyB3ZWl0ZXIuIFdhcnVtPyBXZWlsIGVzIGVpbmVuClNjaGxlaWVyIGdpYnQsIGRlciBkaWUgd2FocmUgV2VsdCB2ZXJodWVsbHQsIGVpbmVuIFNjaGxlaWVyLCBkZW4gbmljaHQgZWlubWFsCmFsbGUgR2V3YWx0IGF1ZiBkZXIgV2VsdCB6ZXJyZWlzc2VuIGthbm4uIE51ciBHbGF1YmUgdW5kIFBvZXNpZSB1bmQgTGllYmUKa29lbm5lbiBpaG4gbHVlZnRlbi4gRGFubiB3aXJkIGRpZSBTY2hvZW5oZWl0IHVuZCBIZXJybGljaGtlaXQgZGFoaW50ZXIgYXVmCmVpbm1hbCB6dSBlcmtlbm5lbiBzZWluLiAKJ0lzdCBkYXMgZGVubiBhdWNoIHdhaHI/JyBrYW5uc3QgRHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuCldlbHQgaXN0IHdhaHJlciB1bmQgbmljaHRzIGJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQsIHVuZCBld2lnCndpcmQgZXIgbGViZW4uIFNvZ2FyIGluIHplaG5tYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyCndpZSBEaWNoIHVuZCBqZWRlcyBvZmZlbmUgSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0LApWaXJnaW5pYS4KRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKCihEZXIgQnJpZWZ3ZWNoc2VsIHp3aXNjaGVuIFZpcmdpbmlhIE8nSGFubG9uIHVuZCBGcmFuY2lzIFAuIENodXJjaCBzdGFtbXQgYXVzCmRlbSBKYWhyIDE4OTcuIEVyIHd1cmRlIHVlYmVyIGVpbiBoYWxiZXMgSmFocmh1bmRlcnQgYmlzIHp1ciBFaW5zdGVsbHVuZyBkZXIKIlN1biIgaW0gSmFocmUgMTk1MCBhbGxlIEphaHJlIHdpZWRlciB6dXIgV2VpaG5hY2h0c3plaXQgYXVmIGRlciBlcnN0ZW4gU2VpdGUKZGVyIFplaXR1bmcgYWJnZWRydWNrdC4pCgoKSWNoIHd1ZW5zY2hlIGFsbGVuIGVpbiBmcm9oZXMgdW5kIGdlc2VnbmV0ZXMgV2VpaG5hY2h0c2Zlc3QhCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRlbiAoQWNyaW1vbiwgMjMuIERleiAxOTk5LCAxOTowNTo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQ1OTcxMzY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ1OTcxMzY2CldhYWgsIG11c3p0IER1IGRpZXNlIEx1ZWdlbmdlc2NoaWNodGUgaW1tZXIgd2llZGVyIHBvc3Rlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0ZW4gKEdyaW1tYm9ybiwgMjMuIERleiAxOTk5LCAxOTowNzo0Myk6Cn4jISBybj1BY3JpbW9uIHJ0PTk0NTk3MjM0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NTk3MTM2NgpKYS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpaG5hY2h0ZW4gKEdub21lLCAyMy4gRGV6IDE5OTksIDE5OjIzOjE0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NDU5NzI0NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDU5NzEzNjYKZGFzcyBncmFkZSBEVSB1bnMgZWluIGZyb2hlcyB1bmQgZ2VzZWduZXRlcyBmZXN0IHd1ZW5zY2hzdCwgZXJzY2h1ZXR0ZXJ0Cm1pY2ggaXJnZW5kd2llLgphYmVyIHZpZWxsZWljaHQgc29sbHRlIG1pY2ggYXVjaCBuaWNodHMgbWVociBiZWkgZGlyIHd1bmRlcm4uLi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0ZW4gKE15dGhyYW4sIDI0LiBEZXogMTk5OSwgMTI6NDA6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0NTk3MTM2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NTk3MTM2NgpJY2ggZGVua2UgenUgV2VpaG5hY2h0ZW4gZWhlciBhbiBmb2xnZW5kZW4gQXVzc2Nobml0dCAqendpbmtlcio6CgpJbiBkZXIgbGV0enRlbiBXb2NoZSBoYWJlbiB3aXIgZGVtIFNjaG5lZXZhdGVyIEJyaWVmZSBnZXNjaHJpZWJlbiwgd2Vpc3N0IER1Cm5vY2ggPwpKYT8KQWJlciBpbSBQYXJrIGhhdCBSYWNoZWwgZ2VzYWd0LCBkYXNzIGVzIGlobiBnYXIgbmljaHQgZ2lidCB1bmQgZXIgZWlnZW50bGljaApEZWluIGVpZ2VuZXIgVmF0ZXIgaXN0LiBVbmQgYWxsZSBhbmRlcmVuIGdhYmVuIGlociByZWNodC4KKC4uLikKJ1NpZWggZXMgbWFsIHNvJywgc2FndGUgc2llIHVuZCBhdG1ldGUgaW4gR2VkYW5rZW4gdGllZiBkdXJjaC4gJyBXbyBpbW1lcgpMZXV0ZSBiZWdyaWZmc3N0dXR6aWcgdW5kIGFic3VyZCBzaW5kLCB3byBzaWUgc2VsYnN0IG5hY2ggc2VociBncm9zc3p1ZWdpZ2VuCk1hc3NzdGFlYmVuIGRpZSBLbnplbnRyYXRpb25zc3Bhbm5lIGVpbmVzIEh1aG5zIGltIFN0dXJtIHVuZCBkYXMKRXJtaXR0bHVuZ3NnZXNjaGljayBlaW5lciBlaW5iZWluaWdlbiBLYWtlcmxha2UgaGFiZW4uLi4KdW5kIHdvIGltbWVyIExldXRlIHZpZWwgenUgbGVpY2h0Z2xhZXViaWcgc2luZCB1bmQgc2ljaCBhdWYgZXJiYWVybWxpY2hlIFdlaXNlCmFuIGRpZSBHZXdpc3NoZWl0ZW4gZGVyIEtpbmRoZWl0IGZlc3RrbGFtbWVybiwgZGFiZWkgZGllIFJlYWxpdGFldCBkZXMKdGF0c2FlY2hsaWNoIGV4aXN0aWVyZW5kZW4gVW5pdmVyc3VtcyBlYmVuc29ndXQgdmVyc3RlaGVuIHdpZSBlaW5lIEF1c3RlciBkaWUKS3Vuc3QgZGVzIEJlcmdzdGVpZ2Vucy4uLgpKYSwgVHd5bGEsIGFuIHNvbGNoZW4gT3J0ZW4gX2dpYnRfIGVzIGRlbiBTY2huZWV2YXRlci4nCgpJY2ggd3VlbnNjaGUgRXVjaCBhbGxlbiBlaW4gZnJvaGVzIEZlc3QgISEhICprbnVkZGVsKgpNeSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0ZW4gKEJvaW5nLCAyNC4gRGV6IDE5OTksIDIxOjQzOjMxKToKfiMhIHJuPUFjcmltb24gcnQ9OTQ1OTcyMzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ1OTcxMzY2CkF1ZiBtYW5jaGUgRGluZ2UgaXN0IGVpbmZhY2ggaW1tZXIgVmVybGFzcyAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlaWhuYWNodGVuIChNb3JlbGxhLCAyOS4gRGV6IDE5OTksIDIyOjMwOjQxKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NDU5NzEzNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDU5NzEzNjYKdXBzCmRlciBhdGhlaXN0IHd1ZW5zY2h0IGVpbiBnZXNlZ25ldGVzIHdlaWhuYWNodHNmZXN0PyB3YXMgc3RpbW10IGVkZW5uIGRhIG5pY2h0PwpncnVlYmVsbmQKbW9yZWxsYS4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlaWhuYWNodGVuIChKYW1hbHNraSwgMzAuIERleiAxOTk5LCAxNDoyOToyNyk6Cn4jISBybj1Nb3JlbGxhIHJ0PTk0NjUwMzA0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NTk3MTM2NgpWZXJtdXRsaWNoIGhhdCBlciBhdWNoIGdlbWVya3QsIGRhc3MgZGFzIEZlc3QgbWl0IEdsYXViZW4gbm9jaCBzbyB2aWVsIHp1IHR1bgpoYXQsIHdpZSBlaW4gdGliZXRhbmlzY2hlciBNb2VuY2ggbWl0IHkyay12b3JiZXJlaXR1bmdlbi4uLgpkZXIKamFtYWxza2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgRkFRIChQaWxncmltLCAzMS4gRGV6IDE5OTksIDIzOjEzOjAzKToKSGksCgpwdWVua3RsaWNoIHp1bSBKYWhyZXN3ZWNoc2VsIGlzdCBkaWUgTUctRkFRIGF1ZiBlaW5lbgooaG9mZmVudGxpY2gpIGFrdHVlbGxlbiBTdGFuZCAoVmVyc2lvbiAyLjAzKSBnZWJyYWNodAp3b3JkZW4uIEdyb3NzZXIgRGFuayBiZWkgZGVyIFVlYmVyYXJiZWl0dW5nIGdlYnVlaHJ0CnZvciBhbGxlbSBKZW5hbmRyYSwgc293aWUgU2NobGVpY2hlciB1bmQgVGlhbWFrLCBkaWUKaGllcmJlaSBtYXNzZ2VibGljaCBnZWhvZmVuIGhhdCAoaGFiZW4pLgoKSWNoIGthbm4gKG51biB3aWVkZXIgZ3V0ZW4gR2V3aXNzZW5zIDstKSApIGFsbGVuCi0gaW5zYmVzb25kZXJlcyBkZW4gIk5ldWVuIiAtIGVtcGZlaGxlbiwgYmVpIEZyYWdlbgpkb3J0IG1hbCBlaW5lbiBCbGljayByZWluenV3ZXJmZW4uCgpadSBmaW5kZW4gaXN0IGRpZSBNRy1GQVEgd2llIGltbWVyIGF1ZiBkZXIKTW9yZ2VuR3JhdWVuIFdXVy1TZWl0ZSAodW5kIGltIE1HIGFscyBjYSAxMDBrIGdyb3NzZXMKVGV4dGZpbGUgYmVpbSBPcmtsYWdlciBbd2FzIGljaCBhYmVyIG5pY2h0IGdlcmFkZSAKZW1wZmVobGUgOy0pICkuCgpGcm9oZXMgbmV1ZXMgSmFociB3dWVuc2NoZW4KUGlsZ3JpbSB1bmQgKGkuQS4pIEplbmFuZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBGQVEgKFBpbGdyaW0sICAxLiBKYW4gMjAwMCwgMjM6MDE6NDYpOgp+IyEgcm49UGlsZ3JpbSBydD05NDY2NzgzODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY2NzgzODMKUFMuOiBVbSBBbnJlZ3VuZ2VuL0VyZ2Flbnp1bmdlbiB3aXJkIGdlYmV0ZW4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW50ZXJwYXJ0eSAyMDAwPz8gKFZpcGVyLCAgMy4gSmFuIDIwMDAsIDIxOjMxOjUxKToKSHVodSBhbGxlLAoKbWlyIGlzdCBnZXJhZGUgZWluZ2VmYWxsZW4sIGRhc3Mgc2ljaCBkb2NoIG1hbCBqZW1hbmQgdW0gZWluZSBXaW50ZXJwYXJ0eQprdWVtbWVybiBrb2VubnRlLiBUZXJtaW4gc29sbHRlIGV0d2EgRW5kZSBGZWJydWFyL0FuZmFuZyBNYWVyeiBzZWluLCBkYW1pdAphdWNoIGRpZSBNaXRnbGllZGVydmVyc2FtbWx1bmcgZGVzIE1HLVZlcmVpbnMgZnJpc3RnZXJlY2h0IHN0YXR0ZmluZGVuIGthbm4uCgpOYSwgd2VyIGhhdCBMdXN0IGVpbmUgbmV0dGUgUGFydHkgenUgb3JnYW5pc2llcmVuPwoKSWNoIGhvZmZlIGF1ZiB2aWVsZSBBbnR3b3J0ZW4gOi0pCgpWaXBlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbnRlcnBhcnR5IDIwMDA/PyAoUmFyZGlhbiwgIDMuIEphbiAyMDAwLCAyMTo1NTowNyk6Cn4jISBybj1WaXBlciBydD05NDY5MzE1MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKSWNoIGRhY2h0ZSwgZGllIERyZXNkZW5lciBtYWNoZW4gZWluZT8/CgpSYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcnBhcnR5IDIwMDA/PyAoTWFoYXRtdSwgIDMuIEphbiAyMDAwLCAyMjoxMDo0Nyk6Cn4jISBybj1SYXJkaWFuIHJ0PTk0NjkzMjkwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpWaXBlciB3aXJkIGFsdC4gLi4uIGlzdCBhbHQ/CgpNYWhhdG11CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFJhcmRpYW4sICAzLiBKYW4gMjAwMCwgMjI6MzU6MzEpOgp+IyEgcm49TWFoYXRtdSBydD05NDY5MzM4NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKQWNoc28hISAqbGFjaCoKQWxzbyBuaWNodHMsIHdhcyBtYW4gYmVoYW5kZWxuIGtvZW5udGUuLi4KUi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJwYXJ0eSAyMDAwPz8gKEhvb2QsICAzLiBKYW4gMjAwMCwgMjM6MTY6NTApOgp+IyEgcm49VmlwZXIgcnQ9OTQ2OTMxNTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ2OTMxNTExCmlzdCBkb2NoIGluIGFyYmVpdCwgdGVybWluIGtvbW10IGF1Y2ggaW4gZXR3YSBoaW4sIGlyZ2VuZHdhbm4ga3VyeiBuYWNoCkNlQml0IChkaWUgaXN0IHVlYnJpZ2VucyBkb2NoIHdpZWRlciBpbiBoYW5ub3ZlciB0cm90eiBFWFBPICpncnVtbWVsKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW50ZXJwYXJ0eSAyMDAwPz8gKE1haGF0bWEsICA0LiBKYW4gMjAwMCwgMTU6Mjg6MTIpOgp+IyEgcm49VmlwZXIgcnQ9OTQ2OTMxNTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ2OTMxNTExClJhcmRpYW4gaGF0IHJlY2h0LCBkaWUgRHJlc2RuZXIgbWFjaGVuIGVpbmUsIHVuZCB6d2FyIHdpZSBlcyBhdXNzaWVodCB2b20gCjEwLiBiaXMgMTIuIE1hZXJ6LiBTb2JhbGQgd2lyIGRpZSBUdXJuaGFsbGUgdW5kIGRlbiBQYXJ0eXJhdW0gZmVzdCBoYWJlbiwgZ2lidAplcyBuZSBnZW5hdWUgQW5rdWVuZGlndW5nLgoKTWFoYXRtYSBydWZ0OiBEcmVzZGVuIDIwMDAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbnRlcnBhcnR5IDIwMDA/PyAoUmFyZGlhbiwgIDQuIEphbiAyMDAwLCAxNjowNTo0Nik6Cn4jISBybj1NYWhhdG1hIHJ0PTk0Njk5NjA5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpZaXBwaWVlZWVlZWUhISEKClJhcmRpYW4gZnJldXQgc2ljaCBzY2hvbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFN1YmxpbWUsICA0LiBKYW4gMjAwMCwgMTg6MjI6MjUpOgp+IyEgcm49TWFoYXRtYSBydD05NDY5OTYwOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKTWFsIGt1cnogenVyIENlQml0IC4uLiBrYW5uIG1pciBlaW5lciBtYWwgZ2VuYXVlIFRlcm1pbmUgbmVubmVuLCBhbiAKZGVuZW4gZGllIENlQml0IHVuZCBkaWUgRXhwbyBzdGF0dGZpbmRlbiA/IEljaCBrb21tIGdyYWQgbmljaHQgYW4gZGllCmh0bWwtc2VpdGNoZW4gdm9uJ25lciBDZWJpdCBub2NoIHZvbiduZXIgIEV4cG8uLi4KCnRoeApzdWJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFJhcmRpYW4sICA0LiBKYW4gMjAwMCwgMTg6NTU6NTcpOgp+IyEgcm49U3VibGltZSBydD05NDcwMDY1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKa2FubnN0IER1IG1hbCBuZW4gbmV1ZW4gVGhyZWFkIGFuZmFuZ2VuIChiaXR0ZSksIHdlbm4gRHUgZGFzIFRoZW1hIHdlY2hzZWxzdD8KRXMgZ2VodCBoaWVyIHVtIGRpZSBuYWVjaHN0ZSBQQVJUWSEhISAqZnJldSogOikKClJhcmRpYW4sIHNpY2ggd2lya2xpY2ggZnJldWVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcnBhcnR5IDIwMDA/PyAoU3VibGltZSwgIDQuIEphbiAyMDAwLCAyMDo0NTowMSk6Cn4jISBybj1SYXJkaWFuIHJ0PTk0NzAwODU1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpPaywgd2lyZCBnZW1hY2h0IChuYWVjaHN0ZXMgbWFsKSwgYWJlciBSYXIsLi4uRHUgbXVzc3QgRGljaCBhdWNoIGJlaQpWaXBlciBiZXNjaHdlcmVuIDspIEVyIGhhdCBkaWVzZW4gdWViZXJncmVpZmVuZGVuIFRocmVhZCBnZXN0YXJ0ZXQsIGRlbm4KaGFldHRlIGRlciBUaXRlbCBXaW50ZXJwYXJ0eSAyMDAwPyBuaWNodCB2aWVsIGJlc3NlciB1bnRlciAndHJlZmZlbicgZ2UtCnBhc3N0LCBhbHMgaW4gYWxsZ2VtZWluZXMgPwoKc3VibCwgbnVlY2h0ZXJuIGxhYmVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbnRlcnBhcnR5IDIwMDA/PyAoSGlnaHQsICA0LiBKYW4gMjAwMCwgMjA6NTk6MjYpOgp+IyEgcm49U3VibGltZSBydD05NDcwMTUxMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKaWNoIHd1ZXJkZSBzcG9udGFuIHNhZ2VuIGRhcyBkYXMgaW4gcGFydHkgZ2Vob2VydCBuZXQgaW4gdHJlZmZlbiAsbykKCmhpZ2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKEx1ZywgIDQuIEphbiAyMDAwLCAyMjo1ODoxMik6Cn4jISBybj1TdWJsaW1lIHJ0PTk0NzAxNTEwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpIbXBmLAoKRHJlc2RlbiBpc3QgZWluZSBlY2h0IGJla2xvcHB0ZSBJZGVlLiBXYXJ1bSBuaWNodCBuYWVjaHN0ZXNtYWwgQm90c3dhbmE/IEF1Y2gKbmljaHQgd2VpdGVyIHdlZyB1bmQgZGllIEVpbmhlaW1pc2NoZW4gdmVyc3RoYXQgbWFuIGF1Y2ggbmljaHQuLi4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFd1cnplbCwgIDQuIEphbiAyMDAwLCAyMjo1ODo1Mik6Cn4jISBybj1MdWcgcnQ9OTQ3MDIzMDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ2OTMxNTExCmd1dGUgaWRlZS4gaW4gYm90c3dhbmEgd2FyIGljaCBub2NoIG5pZS4gb3JnYW5pc2llcnN0IGR1IGRhcz8KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ludGVycGFydHkgMjAwMD8/IChMdWcsICA0LiBKYW4gMjAwMCwgMjM6MDA6MDYpOgp+IyEgcm49V3VyemVsIHJ0PTk0NzAyMzEzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQoKSWNoIGJpbiBuaWNodCBzY2h3YXJ6LiBBbHNvIGtlaW4gQmF5ZXIuIApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ludGVycGFydHkgMjAwMD8/IChUYXJpbmEsICA0LiBKYW4gMjAwMCwgMjM6MDQ6NTgpOgp+IyEgcm49SG9vZCBydD05NDY5Mzc4MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKQ2VCaXQgaXN0IGRvY2ggd2llZGVyIGluIEhhbm5vdmVyPyBFY2h0IG5pY2h0IHdhaHIhCgpTb3dhcyBhYmVyIGF1Y2guCgoKV28gZGVubiBzb25zdCEKClRhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVycGFydHkgMjAwMD8/IChMdXppZSwgIDQuIEphbiAyMDAwLCAyMzoyMzowOCk6Cn4jISBybj1IaWdodCBydD05NDcwMTU5NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKZ2FueiBlaW5mYWNoOiBoaWVyIGxlc2VuIGVzIG1laHIgbGV1dGUhIDotKQpncnVlc3NlLCBsdXppZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ludGVycGFydHkgMjAwMD8/IChIb29kLCAgNS4gSmFuIDIwMDAsIDAyOjAyOjMyKToKfiMhIHJuPVRhcmluYSBydD05NDcwMjM0OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKbmljaHRzIGlzdCBzY2hsZWNodGVyIGFscyB2ZXJzY2hvc3NlbmVyIGN5bmlzbXVzLgp3ZWdlbiBkZXIgZXhwbywgZGllIGRpciBldnRsLiBlaW4gYmVncmlmZiBzZWluIGR1ZXJmdGUsIHVuZCB3ZWdlbiBpaHJlcwpkaWVzamFlaHJpZ2VuIHN0YW5kb3J0ZXMgKGR1IGtvbW1zdCBub2NoIG1pdD8pIHdhciBlcyBsYW5nZSB6ZWl0IGltCmtrd2VyCmdlc3ByYWVjaCwgZGllIENlQml0IGVpbm1hbGlnIGluIGxlaXB6aWcgc3RhZHRmaW5kZW4genUgbGFzc2VuLgp3YWhyc2NoZWlubGljaCBoYXR0ZW4gZGllIGhhbm5vdmVyYW5lciB2ZXJhbnN0YWx0ZXIgZGFubiBhYmVyIGRvY2ggYmFtbWVsLApkYXNzIGRpZSBhdXNzdGVsbGVyIHVuZCBnYWVzdGUgc2ljaCBuaWNoIHdlaXRlciBkcmFuZ3NhbGllcmVuIGxhc3NlbiB3b2xsZW4KdW5kIGRhbm4gZ2xlaWNoIG1hbCB3b2FuZGVycyBibGVpYmVuLCB3ZW5ucyBkZW5lbiBkb3J0IGdlZmFlbGx0LgogKG9kZXIgZ2xhdWJ0IG5vY2ggd2VyIGFuIGRpZSB0aGVvcmllLCBkYXNzIGRpZSBlaW50cml0dHNwcmVpc2UKamVuc2VpdHMgdm9uIGd1dCB1bmQgYm9lc2UgbGllZ2VuLCBkYW1pdCBkaWUgdHVybnNjaHVoa2lkZGllcyBuaWNoIGRhCnJlaW5rb21tZW4/IGxldHp0ZXMgamFociBodWVwZnRlbiBtaW5kZXN0ZW5zIGdlbmF1c28gdmllbGUgYWxiZXJuZSBsZXV0ZQpuYWNoIG1hdXNwYWRzLi4ub2ssIGltIG5hZGVsc3RyZWlmZW4gZGllc21hbCwgaGloaSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcnBhcnR5IDIwMDA/PyAoR25vbWUsICA1LiBKYW4gMjAwMCwgMTA6NDA6MjcpOgp+IyEgcm49SG9vZCBydD05NDcwMzQxNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKY2ViaXQgaXN0IGVoIG51ciBub2NoIHdhcyBmdWVyIGF1c3N0ZWxsZXIsIGRpZSBwcm90emVuIHdvbGxlbiAoJ3dpciBwcmFlLQpzZW50aWVyZW4gaGllciBkZW4gMSwyIEdIei1Qcm96ZXNzb3IuLi4gYnJhdWNodCB6d2FyIGtlaW4gc2Nod2VpbiwgYWJlcgplciBsYWV1ZnQuLi4nKSB1bmQga3VuZGVuLCBkaWUgaWhyIGdlbGQgYW4gZGVyIGJvZXJzZSB2ZXJkaWVuZW4uCmNlYml0IGlzdCBzY2hvbiBzZWl0IGphaHJlbiB6dW0geXVwcGllLXRyZWZmIHZlcmtvbW1lbiB1bmQgZGllIGhpZ2hsaXRlcwpzaWVodCBtYW4genVzYW1tZW5nZWZhc3N0IGluIGRlciBhYmVuZHNjaGF1IG9kZXIgbGllc3Qgc2llIGluIGRlciBjdC4Kc28gd2hhdD8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKE11cGZlbCwgIDUuIEphbiAyMDAwLCAxMDo0OToxMCk6Cn4jISBybj1Hbm9tZSBydD05NDcwNjUyMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKRnVlciBkZW4gUHJpdmF0a3VuZGVuIGlzdCBkaWUgQ2VCSVQgdGF0c2FlY2hsaWNoIG5peCwgYWJlciBhbHMgRmlybWEgKG9kZXIKYXVjaCBGcmVpYmVydWZsZXIpIHNpZWh0IGRpZSBTYWNoZSBzY2hvbiBhbmRlcnMgYXVzIC0gdW5kIHdlbm4gbWFuIGhpbmdlaHQsIHVtCmJlaSBzZWluZW4gIlp1bGllZmVyZXJuIiBuZW4gS2FmZmVlIHp1IHpvY2tlbi4uLi4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFJhcmRpYW4sICA1LiBKYW4gMjAwMCwgMTE6NDQ6NDYpOgp+IyEgcm49U3VibGltZSBydD05NDcwMTUxMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKLi4uIFZpZWxsZWljaHQgd3Vzc3RlIFZpcGVyIG5pY2h0LCBkYXNzIGVzIGVpbmUgZW50c3ByZWNoZW5kZSBSdWJyaWsgZ2lidD8gOykKLi5uZW5lLCBkYSBnaWJ0cyBrZWluZSBFbnRzY2h1bGRpZ3VuZyBTdWJiaWUhCgpSLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2ludGVycGFydHkgMjAwMD8/IChNYWhhdG11LCAgNS4gSmFuIDIwMDAsIDEzOjI4OjI0KToKfiMhIHJuPUdub21lIHJ0PTk0NzA2NTIyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpMZWlkZXIgamEuCkFiZXIgbWFsIGVpbiBnYWFhbnogYW5kZXJlcmUgVm9yc2NobGFnOgpMYXNzdCB1bnMgZWluZSBQYXJ0eSBhdWYgZGVyIENlQml0IG9yZ2FuaXNpZXJlbiA6PiBBbHMgVmVyYW5zdGFsdGVyIDspCkRhcyBHZXRyYWVua2Vwcm9ibGVtIGhhZXR0ZW4gd2lyIGRhbm4gamEgc2Nob24gZmFzdCBnZWxvZXN0LiBVbmQgbWFsCnNlaGVuLCB2aWVsbGVpY2h0IGdld2lubnQgZWluZXIgZWluZW4gTW9uaXRvciBvZGVyIGVpbmVuIEt1Z2Vsc2NocmVpYmVyLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ludGVycGFydHkgMjAwMD8/IChTdWJsaW1lLCAgNS4gSmFuIDIwMDAsIDE5OjM0OjM5KToKfiMhIHJuPUhvb2QgcnQ9OTQ3MDM0MTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ2OTMxNTExCkF1Y2ggRGlyLCBIb29kLCBtdXNzIG1hbiBsZWlkZXIgc2FnZW4sIGRhc3MgRGVpbiBBcnRpa2VsIHZpZWwgYmVzc2VyIGFuCmVpbmUgYW5kZXJlIFN0ZWxsZSBnZXBhc3N0IGhhZXR0ZS4gRGVyIGdpbmcgbWl0IHNlaW5lciBGcmFnZSBuYWNoIGRlbQpTdGFuZG9ydCBkZXIgQ2VCaXQgZWhlciBpbiBkaWUgUmljaHR1bmcgJ09zdGRvZWRlbCcsIGZhbGxzIER1J3MgZ2VsZXNlbgpoYXN0LgpFcyBpc3QgZG9jaCBrbGFyLCBkYXNzIGRpZSBIYW5ub3ZlcixkaWUgd29obCBoaW50ZXJ3YWVsZGxpY2hzdGUgU3RhZHQKRGV1dHNjaGxhbmRzLCB6dW0gVGVjaG1la2thIGZ1ZXIncyBBdXNsYW5kIG1hY2hlbiB3b2xsZW4uIEljaCBtZWluLCBkaWUKc28gaG9jaGdlcHJpZXNlbmVuIG5ldWVuIEJ1bmRlc2xhZW5kZXIgaGFiZW4gbnVuIG1hbCBhbGxlIHp1c2FtbWVuIG5pY2h0Cm1laHIgYWxzIGVpbmUgSGFuZHZvbGwgYW4gaG9jaHRlY2huaXRpc2llcnRlbiBVbnRlcm5laG1lbiBpbSBMYW5kLiBEYQpuZWhtJyBpY2ggQmVybGluIG5pY2h0IGF1cywgLi4uIFNpZW1lbnMgc3RpcmJ0IGphIGF1Y2ggdW5kIGRpZSBzb2cuCidBYnNjaHVzc2V0YWdlbicgdWViZXJzdGVpZ2VuIGphIGF1Y2ggc2Nob24gZGllIFphaGwgZGVyIGFyYmVpdGVuZGVuClNpZW1lbnNtaXRhcmJlaXRlciA7KQpIbW0sIG11c3MgamEgbm9jaCBrbGFyc3RlbGxlbiwgZGFzcyBpY2ggbWljaCBtaXQgZGllc2VtIFByb2JsZW0gYXVza2VubmUsLi4uCkFsc28gZGEgd2FlcmUgenVtIEVpbmVuIGRhcyBWVyBXZXJrIGluIFNhY2hzZW4gKGFsc28gdm9tIFdlc3RlbiBnZXNwb25zb3J0KSwKb2RlciBkYXMgT3B0aWtlcndlcmsgaXJnZW5kd28gaW4gVGh1ZXJpbmdlbiwuLi53byBnZW5hdSBkYXMgaXN0IGZyYWcKaWNoIG1pY2ggYXVjaCBncmFkLC4uLnVuZCBzY2hsaWVzc2xpY2ggZ2lidHMgbm9jaCBkaWVzZXMgdG9sbGUgKCEpIFRlY2gtCnplbnRydW0gaW4gRnJhbmtmdXJ0IGFuJ25lciBPZGVyLCB3YXMgc28gaG9jaGdlcHJpZXNlbiB3aXJkLgpBYmVyIHNlaW4gd2lyIGRvY2ggbWFsIGVocmxpY2gsIHdlciBkZW5rdCBhbiBIaWdodGVjaHplbnRyZW4sIHdlbm4gZXIgaW4gClJpY2h0dW5nIFBvbGVuIGZhZWhydCA/IFdvaGwga2F1bSBqZW1hbmQsdW5kIGRhcyBpc3QgYXVjaCBkZXIgR3J1bmQsIHdhcnVtCmRpZSBDZUJpdCBpbiBIYW5ub3ZlciBzdGF0dGZpbmRldC4gTWVya2UsIEhhbm5vdmVyIGxpZWd0IGV0d2EgaW4gZGVyIE1pdHRlCkRldXRzY2hsYW5kcy4uLiA7PSkKCipTZW5mX2FiZ2ViKgpzdWJsIHN1YmJlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKEhvb2QsICA1LiBKYW4gMjAwMCwgMjM6MjU6MjEpOgp+IyEgcm49U3VibGltZSBydD05NDcwOTcyNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKZXMgd2FyIGF1Y2ggbnVyIGFscyBlaW5qYWVocmlnZXIgYXVzd2VpY2hzdGFuZG9ydCBhbmdlZGFjaHQuCm1hbmNoZW4gaXN0IGVpbiBmZXN0ZXIgamFocmVzdGVybWluIHdpY2h0aWdlciBhbHMgZWluIGZlc3RlciBvcnQuCmFsbGVpbiBpbiBkcmVzZGVuIHN0ZWhlbiB1ZWJyaWdlbnMgZGV1dHNjaGxhbmRzIHp3ZWkgZ3JvZXNzdGVuIGNoaXBmYWJzLApkaWUgZGVyemVpdCBhdWNoIGluIHNhY2hlbiBlbnR3aWNrbHVuZyBlaW5pZ2VzIHp1IGJpZXRlbiBoYWJlbi4Kb3N0ZGV1dHNjaGxhbmQgaXN0IG5vY2ggd2VpdCB2b24gZWluZW0gaGFsYndlZ3MgaG9tb2dlbiBpbmR1c3RyaWVsaXNpZXJ0ZW4KdW5kIG1pdCB3ZXN0ZGV1dHNjaGxhbmQgYXVmIGdsZWljaGVtIGxldmVsIGxpZWdlbmRlbiB3aXJ0c2NoYWZ0c3N0YW5kb3J0CmVudGZlcm50LCBhYmVyIGRhcyBnZWJpZXQgbGVpcHppZy1kcmVzZGVuIHNjaGVpbnN0IGR1IHNjaG9uIGxhZW5nZXIgbmljaHQKbWVociBnZXNlaGVuIHp1IGhhYmVuLiBpbiBsZWlwemlncyBiYWhuaG9mIHBhc3N0IGRlciBoYW5ub3ZlcmFuZXJzY2hlCndhaHJzY2hlaW5saWNoIGdsZWljaCBtZWhyZmFjaCByZWluLCBob3RlbHMgZ2lidHMgd2llIHNhbmQgYW0gbWVlciwKZGVyIGZsdWdwbGF0eiBpbiBoYW5ub3ZlciBpc3QgamEgYXVjaCBuaWNodCBzbyBkZXIgcmVpc3NlciB1bmQgYXVjaCBzb25zdApoYXQgc2ljaCB2aWVsIGdldGFuLi4uCm5lYmVuYmVpIGlzdCBsZWlwemlnIHNjaG9uIHNlaXQgZXdpZ2tlaXRlbiBtZXNzZXN0YWR0IHVuZCBoYXQKZGVtZW50c3ByZWNoZW5kZSBtb2VnbGljaGtlaXRlbiwgZGllIGluIGRlbiBsZXR6dGVuIGphaHJlbiBuaWNoIGdhbnoKdW5lcmhlYmxpY2ggYXVzZ2ViYXV0IHd1cmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbnRlcnBhcnR5IDIwMDA/PyAoTWFoYXRtdSwgIDUuIEphbiAyMDAwLCAyMzoyNzoxNyk6Cn4jISBybj1Ib29kIHJ0PTk0NzExMTEyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpOdSBnZW5hdSEKCk1haGF0bXUgc2luZ3Q6IERhZXIgSG9vb2QsIGRhZXIgSG9vZCwgZGFlciBoYWRkIGltbW9yIHJhZXNjaHQsIEdlbm9zc2VuCiAgICAgICAgICAgICAgIGVzIGJsZWliZSBkYWJlaSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbnRlcnBhcnR5IDIwMDA/PyAoTHVnLCAxMi4gSmFuIDIwMDAsIDAzOjEyOjA5KToKfiMhIHJuPUhvb2QgcnQ9OTQ3MDM0MTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ2OTMxNTExCk9laD8KCkR1IGdsYXVic3QgZWNodCwgZGFzIGVpbmVyIGZyZWl3aWxsaWcgbmFjaCBMZWlwemlnIHdpbGw/CgpJY2ggbWVpbiBhdXNzZXIgU2tpbmhlYWRzPwpCYWggSHVtYnVnCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVlY2t0cml0dCAoTHVnLCAxMi4gSmFuIDIwMDAsIDAzOjE2OjA5KToKCkhtLAoKd2VubiBpY2ggQk9JTkdTIGJla2FubnRtYWNodW5nIGxlc2UsIGRhbm4gZnJhZyBpY2ggbWljaDoKCldBTk4gVFJFVEVOIERJRSBBTkRFUkVOIFpVUlVFQ0s/CgpTby4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW50ZXJwYXJ0eSAyMDAwPz8gKFJhcmRpYW4sIDEyLiBKYW4gMjAwMCwgMTI6MjI6MzUpOgp+IyEgcm49THVnIHJ0PTk0NzY0MzEyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0NjkzMTUxMQpIbS4uLgpBbHNvIHNwb250YW4gZmFsbGVuIG1pciBkYSBtaW5kZXN0ZW5zIDIgR3J1ZW5kZSwgZGFydW50ZXIgZWluIGdhYWFueiB3aWNodGlnZXIKZWluLCBuYWNoIExlaXB6aWcgenUgZmFocmVuLi4uCgpSYXIsIGdlbmllc3N0IHVuZCBzY2h3ZWlndCwgd2VpbCBkaWUgZGllIHdpc3Nlbiwgd2FzIGdlbWVpbnQgaXN0LCBlaCB3aXNzZW4sCndhcyBnZW1laW50IGlzdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ludGVycGFydHkgMjAwMD8/IChMdWcsIDEyLiBKYW4gMjAwMCwgMjI6NDk6MjMpOgp+IyEgcm49UmFyZGlhbiBydD05NDc2NzYxNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDY5MzE1MTEKCkxhc3MgbWljaCByYXRlbi4uLgoKCmhhdCB3YXMgbWl0IFBvcHBlbiB6dSB0dW4uCgpFYXN5Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xlaW5lIEhpbGZlIGJlbm9ldGlndCAoR29sYXMsIDEzLiBKYW4gMjAwMCwgMTI6MzI6MDUpOgpIaSBhbGwsCgpVbmFzYWkgaGF0IG1pY2ggZ3JhZCBiZWF1ZnRyYWd0IGRpZXNlbiBBcnRpa2VsIHp1IHNjaHJlaWJlbi4KU2llIHNvbGwgZWluZW4gQXJ0aWtlbCBzY2hyZWliZW4sIGRhcnVlYmVyLCB3YXMgdmVyc2NoaWVkZW5lIExldXRlIHp1ClN5bHZlc3RlciBnZW1hY2h0IGhhYmVuLiBFcyB3YWVyZSBhbHNvIG5ldHQsIHdlbm4gaWhyIGVpbmUga3VyemUgbWFpbCBhbgp1bmFzYWkgc2NoaWNrZW4ga29lbm50ZXQuCgoxMDAwIHVuZCB6d2VpIGRhbmsKCmkuYS4gZ29sYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGVpbmUgSGlsZmUgYmVub2V0aWd0IChHb2xhcywgMTMuIEphbiAyMDAwLCAxNDoxMjo0MCk6Cn4jISBybj1Hb2xhcyBydD05NDc3NjMxMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDc3NjMxMjUKa2xlaW5lciBuYWNodHJhZyAuLi4KCnNpZSBzY2hyZWlidCBkaWVzZW4gYXJ0aWtlbCBmdWVyIGlociBzdHVkaXVtIC4uLgoKZ29sYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1ZiBhcnRpa2VsIDQwIChTa3ksIDEzLiBKYW4gMjAwMCwgMTQ6MTQ6MjApOgphZWhtIHdhcnVtIHNhZ3QgKGJ6dyBmcmFndCkgc2llIGRhcyBlaWdlbnRsaWNoIG5pY2ggc2VsYmVyPyArbnVybWFsc29mcmFnKyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF1ZiBhcnRpa2VsIDQwIChQYWRyZWljLCAxMy4gSmFuIDIwMDAsIDE0OjE0OjUwKToKfiMhIHJuPVNreSBydD05NDc3NjkyNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDc3NjkyNjAKVW5hKiBpcyBoYWx0IGVpbiBiaXNzZXJsIHNjaHVlY2h0ZXJuLi4uIHd1c3N0ZXN0IER1IGRhcyBuaWNodD8KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdWYgYXJ0aWtlbCA0MCAoUmFyZGlhbiwgMTMuIEphbiAyMDAwLCAxNDoxODo0Nik6Cn4jISBybj1Ta3kgcnQ9OTQ3NzY5MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ3NzY5MjYwCkFudHdvcnRlc3QgRHUgbGllYmVyLCB3ZW5uIHNpZSBwZXJzb2VubGljaCBmcmFndD8/CgpSYXIsIHZlcnN0ZWh0IGRhcyBnYXIgbmljaHQgdW5kIGhhZXR0ZSBVbmEgc2Nob24gbGFlbmdzdCBuZSBNYWlsIGdlc2NocmllYmVuLAp3ZW5uIHNpZSBuaWNodCBzY2hvbiB3dWVzc3RlLCB3YXMgZXIgU2lsdmVzdGVyIHNvIGFsbGVzIGdlbWFjaHQgaGF0Li4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVmIGFydGlrZWwgNDAgKEdvbGFzLCAxMy4gSmFuIDIwMDAsIDE0OjM2OjUyKToKfiMhIHJuPVNreSBydD05NDc3NjkyNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDc3NjkyNjAKd2VpbCBlcyBkcmluZ2VuZCBpc3QsIHVuZCBzaWUgbmljaHQgd3Vzc3RlLCBvYiBzaWUgaGV1dGUgbm9jaG1hbCByZWlua29tbXQuCmF1c3NlcmRlbSBpc3Qgc2llIGZlc3QgZGF2b24gdWViZXJ6ZXVndCwgZGFzcyBzaWNoIGFsbGVyIGhvZWNoc3RlbnMgMjUgbGV1dGUKZGF2b24gYW5nZXNwcm9jaGVuIGZ1ZWhsZW4gdW5kIGlociB3YXMgc2NocmVpYmVuIC4uLgpnb2xhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgKFVuYXNhaSwgMTcuIEphbiAyMDAwLCAxMTo0Mzo0Mik6ClZpZWxlbiBEYW5rIGZyIGV1cmUgcmVnZSBCZXRlaWxpZ3VuZyBhbiBtZWluZW0gQXJ0aWtlbCwgaWNoIG11c3MgZnIgbWVpbgpTdHVkaWVuZmFjaCBKb3VybmFsaXN0aWsgbm1saWNoIGRpdmVyc2UgQXJ0aWtlbCBtaXQgc2VsYnN0Z2V3aGx0ZW0gVGhlbWEKdmVyZmFzc2VuLCB1bmQgZGFzIGJvdCBzaWNoIHF1YXNpIGFuLi4uLmljaCB3ZXJkIG5vY2htYWwgZWluIHBhYXIgZnJhZ2VuCnN0ZWxsZW4sIHVuZCB3ZXIgbWFnIGJlYW50d29ydGV0IHNpZSwgd3VlcmRlIG1pciBlY2h0IHNlaHIgdmllbCB3ZWl0ZXJoZWxmZW4KOikKMS4pIFdpZXZpZWwgR2VsZCBoYXN0IGR1IHp1IFN5bHZlc3RlciBhdXNnZWdlYmVuLCBiencsIHZlcmRpZW50PwoyLikgV2llIGdyb3NzIHdhciBEZWluIFplaXRhdWZ3YW5kIGZyIFN5bHZlc3Rlcj8gKFBhcnR5IG9yZ2FuaXNpZXJlbiBldGMuKQozLikgV2llIHdyZGVzdCBEdSBEZWluZSBGZWllciBiZXVydGVpbGVuPyAoZ3V0IG9kZXIgc2NobGVjaHQpCjQuKSB3aWV2aWVsIGttIHZvbSBIZWltYXRvcnQgZW50ZmVybnQgaGFzdCBEdSBnZWZlaWVydD8KNS4pIFdpcnN0IER1IG5jaHRlcyBKYWhyIHdpZWRlciBnZW5hdXNvIGZlaWVybj8KCgp2aWVsZW4gZGFuayBub2NoIGFuIEZhY2huaXIsIFNwZWxsZmlyZSwgUGFkcmVpYywgRm9vYmFyLCBPbGxpLCBTb3JjZXJlciwKU2lsdmFuYSwgR2xvaW4sIEJ1YmJhLCBPcmt0b2V0ZXIsIExlaWJuaXosIE9oYW0sIFRlZGR5LCBXb2xrZSwgQXNoYW4sCkRhcmt3aW5nLCBSb2NodXMsIEx1cmNoaSB1bmQgUmFyZGlhbiwgZGllIG1pciBhbGxlIHNjaG9uIGdlc2NocmllYmVuIGhhYmVuCjopKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2Nod2FzIChVbmFzYWksIDE3LiBKYW4gMjAwMCwgMTE6NDQ6NTMpOgplaW5lIGZyYWdlIGZlbHRlIG5vY2g6CjYuKSBIYXQgc2ljaCBldHdhcyBiZXNvbmRlcmVzLCB1ZWJlcnJhc2NoZW5kZXMsIHNjaHJlY2tsaWNoZXMgYXVmIGRlaW5lciBwYXJ0eQplcmVpZ25ldD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZSBCaXR0ZSwgKFVuYXNhaSwgMjEuIEphbiAyMDAwLCAxNDozMTo0Nik6CmtvZW5udGVuIG1pciBiaXR0ZSBub2NobWFsIGFsbGUgZGllIExldXRlIG5lIGUtbWFpbCBzY2hpY2tlbiwgZGllIGlocgpTaWx2ZXN0ZXIgaW0gTVVEIHZlcmJyYWNodCBoYWJlbj8gaWNoIHdhZXJlIGV1Y2ggc2VociBkYW5rYmFyIDopIGljaCBmcmFnIGRhbm4KZ2VuYXVlciBuYWNoICwgYW5zb25zdGVuIHZpZWxlbiBEYW5rIGFuIGFsbGUgZGllIG1pciBnZXNjaHJpZWJlbiBoYWJlbiA6KQpVbmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xlaW5lIEJpdHRlLCAoQnViYmEsIDIxLiBKYW4gMjAwMCwgMTQ6NDY6MzMpOgp+IyEgcm49VW5hc2FpIHJ0PTk0ODQ2MTUwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODQ2MTUwNgoKc28gZGFlbWxpY2gga2FubiBrZWluZXIgc2VpbiwgYXVjaCBub2NoIFNpbHZlc3RlciBpbSBNdWQgenUgdmVyYnJpbmdlbiEKT2RlciBldHdhIGRvY2g/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmUgQml0dGUsIChTb3JjZXJlciwgMjEuIEphbiAyMDAwLCAxNDo0ODozMyk6Cn4jISBybj1CdWJiYSBydD05NDg0NjIzOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg0NjE1MDYKRXMgZ2lidCBEaW5nZSwgZGllIGthbm4gbWFuIG51ciB2ZXJ0c3RlaGVuIHVuZCB3ZXJ0c2NoZXR6ZW4sIHdlbm4gbWFuIHNpZQpzZWxic3QgZXJsZWJ0IGhhdCA6KQoKU29yY2VyZXIgLSBuaWNodCAob2RlciBudXIgZXR3YXMpIHN1ZWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGVpbmUgQml0dGUsIChTdWJsaW1lLCAyMi4gSmFuIDIwMDAsIDAyOjM0OjAwKToKfiMhIHJuPVNvcmNlcmVyIHJ0PTk0ODQ2MjUxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODQ2MTUwNgpudXIga3VyeiBhbHMgQW5tZXJrdW5nIDogOykKVW5hLCBBcHN1IGZyYWdlbiwuLi5kZXIgd2FyIGhpZXIsIGdsYXViIGljaC4KCmxpZWJlIGdydWVzc2UKc3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRSBNYWlsIEhpbGZlIChHcmltbWJvcm4sIDI1LiBKYW4gMjAwMCwgMTI6NDA6MDQpOgpJY2ggaGFiZSwgZ2VnZW4gbWVpbmUgc29uc3RpZ2UgR2V3b2huaGVpdCwgZWluZW4gZ2FuemVuIHRocmVhZCB1ZWJlciBlaW5lbgpFbWFpbCBLZXR0ZW5ob2F4IG5hY2ggbXVlbGwgdmVybGVndC4gRGllc2UgR2VzY2hpY2h0ZW4gc2luZCB3ZWRlciB3aXR6aWcsIG5vY2gKc2lubnZvbGwsIG5vY2ggYmVpIGdsZWljaHplaXRpZ2VyIEFrdGl2aXRhZXQgdm9uIG1pbmRlc3RlbnMgendlaSBHZWhpcm56ZWxsZW4KZ2xhdWJ3dWVyZGlnLCB1bmQgZGFzIHNjaGllbiBtaXIgZGllIGJlc3RlIEdlbGVnZW5oZWl0LCBkaWUgQW5nZWxlZ2VuaGVpdCB6dQpiZWdyYWJlbi4gSmUgd2VuaWdlciBXaW5kIGdlbWFjaHQgd2lyZCwgZGVzdG8gYmVzc2VyLgoKTnVyIHp1c2FtbWVuZ2VmYXNzdDogQWxsZXMsIHdhcyBlaW5lbiBhdWZmb3JkZXJ0LCBzbyB2aWVsZSBtYWlscyBhdXMgd2VsY2hlbgooZmFkZW5zY2hlaW5pZ2VuKSBHcnVlbmRlbiBhdWNoIGltbWVyIGFuIGFuZGVyZSB6dSBzY2hpY2tlbiwgaXN0IEJvZXNlLiBVbmQKbmVydnQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gVW5kIHdlbm4gaWhyIGRpZSBEaXNrdXNzaW9uIGF1cyBtdWVsbCB3aWVkZXIgcmF1c3ppZWhlbiB3b2xsdCwgd2VpbCAKICAgICB0YXRzYWVjaGxpY2ggYmVkYXJmIGJlc3RlaHQ6IGluIG11ZWxsIGRlbiBBcnRpa2VsIGxlc2VuLCBydWJyaWsKICAgICBydWJyaWsgZGlza3Vzc2lvbiwgcmVwbHkuIFVuZCB3ZXJkZXQgZGFubiBnbHVlY2tsaWNoIGRhbWl0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhbmtlLi4uIChVbmFzYWksIDI1LiBKYW4gMjAwMCwgMTc6MTA6MjIpOgpkYW5rZSBhbiBhbGxlLCBkaWUgbWlyIHdlZ2VuIGRlcyBTaWx2ZXN0ZXJhcnRpa2VscyBnZXNjaHJpZWJlbiBoYWJlbi4gRGllCk1hdGVyaWFsc3VjaGUgaXN0IG51biBhYmdlc2NobG9zc2VuIHVuZCBzb2JhbGQgZGVyIEFydGlrZWwsIGJ6dyBkaWUgWmVpdHVuZwp2ZXJvZWZmZW50bGljaHQgd2lyZCBzYWcgaWNoIGV1Y2ggQmVzY2hlaWQgd2VnZW4gZGVyIEFkcmVzc2UuIERhbmtlIG5vY2htYWwKdW5kIHNjaGlja3QgbWlyIGJpdHRlIGtlaW5lIG1haWxzIG1laHIgOikgZGFua2UKdHNjaHVlc3NpIFVuYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkYW5rZS4uLiAoUmFyZGlhbiwgMjYuIEphbiAyMDAwLCAxMToyOToyNyk6Cn4jISBybj1VbmFzYWkgcnQ9OTQ4ODE2NjIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODE2NjIyCldhYWFhcz8KSWNoIHNvbGwgRGlyIG5pZSB3aWVkZXIgTWFpbHMgc2NocmVpYmVuPz8/CgpSYXJkaWFuLCBlcnNjaHVldHRlcnQgdW5kIHRyYXVyaWcuIDooCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lIGdlc3VjaHQgPyAoVGFuZ2FsdXIsIDI2LiBKYW4gMjAwMCwgMTQ6MTk6MDIpOgpIYWxsbywKCm5hY2hkZW0gbWVpbiBIdW5kIGVpbmVyIHNlaHIgaGVpbXR1ZWNraXNjaGVuIEtyYW5raGVpdCBFbmRlIGxldHp0ZW4gSmFocmVzCmdlc3RvcmJlbiBpc3QsIGxlZ2UgaWNoIG1pciBudW4gbmFlY2hzdGUgV29jaGUgZWluZW4gbmV1ZW4genUgdW5kIGRhIHNpbmQgbm9jaApOYW1lbnN2b3JzY2hsYWVnZSBnZXN1Y2h0LiBXZXIgZWluZSBJZGVlIGhhdCBtb2VnZSBtaXIgbWFpbGVuLgoKVGFuZ2FsdXIKClAuUy46IGFiZXIgbmljaHQgc293YXMgd2llIEZpZmZpLCBvZGVyIEJlbGxvCgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFtZSBnZXN1Y2h0ID8gKEJlbGdhcmlhZCwgMjYuIEphbiAyMDAwLCAxNDoyMDowOCk6Cn4jISBybj1UYW5nYWx1ciBydD05NDg4OTI3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKV2llIHdhZXJlIGVzIG1pdCBOYWlsZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFtZSBnZXN1Y2h0ID8gKEhvYm8sIDI2LiBKYW4gMjAwMCwgMTQ6MjI6MDkpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9OTQ4ODkyNzQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkhtbSwga29tbXQgZG9jaCB3b2hsIGRyYXVmIGFuLCB3YXMgZXMgd2lyZC4KRWluIERhY2tlbHJ1ZWRlIGJla29tbXQgZWluZW4gYW5kZXJlbiBOYW1lbiBhbHMgZWluZSBEb2dnZS4uLgoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lIGdlc3VjaHQgPyAoVGFyYWdvbiwgMjYuIEphbiAyMDAwLCAxNDo0Mjo0Nyk6Cn4jISBybj1Ib2JvIHJ0PTk0ODg5MjkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpJbiBiZWlkZW4gZmFlbGxlbiBkdWVyZnRlIG1vcmdvdGggcGFzc2VuZCBzZWluIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lIGdlc3VjaHQgPyAoTXVwZmVsLCAyNi4gSmFuIDIwMDAsIDE2OjMyOjMxKToKfiMhIHJuPVRhbmdhbHVyIHJ0PTk0ODg5Mjc0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpXaWUgd2FlcnMgbWl0IE9tYmF0aXMgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFtZSBnZXN1Y2h0ID8gKERlZXBibHVlLCAyNi4gSmFuIDIwMDAsIDE3OjE0OjE4KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTk0ODg5Mjc0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpNZXBoaXN0bywgU2FtaWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWUgZ2VzdWNodCA/IChHdWlsZG8sIDI2LiBKYW4gMjAwMCwgMTc6MzE6MDApOgp+IyEgcm49SG9ibyBydD05NDg4OTI5Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKV2llc28/IEVpbiBmcnVlaGVyZXIgS3VtcGVsIHZvbiBtaXIgaGF0dGUgbmVuIERhY2tlbCBuYW1lbnMgJ1JleCcuIERhcyBoYXQKamVkZW5mYWxscyBoYWV1ZmlnIGZ1ZXIgSGVpdGVya2VpdCBnZXNvcmd0LgoKR3J1c3MsCkd1aWxkbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmFtZSBnZXN1Y2h0ID8gKFB1cnplbCwgMjYuIEphbiAyMDAwLCAxNzozNDoxOCk6Cn4jISBybj1HdWlsZG8gcnQ9OTQ4OTA0MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkRhcyBIYW5kdGFzY2hlbiBIdWVuZGNoZW4gbWl0IE5hbWVuIFN1c2NoaWUsIGZhbmQgaWNoIGF1Y2ggbmljaHQgc2NobGVjaHQKClB1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFtZSBnZXN1Y2h0ID8gKENhbGltZXJhLCAyNi4gSmFuIDIwMDAsIDE4OjA1OjQ4KToKfiMhIHJuPVB1cnplbCBydD05NDg5MDQ0NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKSG0gd2VubiBpaHIgc28ga3JlYXRpdiBzZWlkLCBtaXIgZmVobGVuIGRhIG5vY2ggZWluIHBhYXIgS2F0emVubmFtZW4gOykpCmZ1ZXIgTWFlbm5sZWluL1dlaWJsZWluLgoKZ2VzcGFubnQKQ2FsaQooTUctTmFtZW4gd2lsbCBpY2ggbmljaHQgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOYW1lIGdlc3VjaHQgPyAoTWFhcmcsIDI2LiBKYW4gMjAwMCwgMjA6Mzk6NTApOgp+IyEgcm49Q2FsaW1lcmEgcnQ9OTQ4OTA2MzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkJlaSAiVGllcmUgc3VjaGVuIGVpbiBadWhhdXNlIiB3YXJlbiB6d2VpIGx1c3RpZzogS3VraSB1bmQgRGVudC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5hbWUgZ2VzdWNodCA/IChHcmltbWJvcm4sIDI2LiBKYW4gMjAwMCwgMjM6MzQ6NTgpOgp+IyEgcm49TWFhcmcgcnQ9OTQ4OTE1NTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkRlciBiZXN0ZSBOYW1lIGZ1ZXIgZWluZW4gSHVuZCBpc3QgaW1tZXIgbm9jaCAiTWlzdGtvZXRlciIuCkljaCBtZWluZSwgaW0gRW5kZWZmZWt0IHdpcmQgZXIgZWggc28gZ2VuYW5udCwgZGFubiBrYW5uIGVyIGF1Y2ggZ2xlaWNoIHNvCmhlaXNzZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gS2F0emUsIFRlZSwgTmljaHRyYXVjaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lIGdlc3VjaHQgPyAoUm9hZHJ1bm5lciwgMjcuIEphbiAyMDAwLCAwODo0Njo1Mik6Cn4jISBybj1Ib2JvIHJ0PTk0ODg5MjkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpuYWphLSB3aWUgd2FlcnMgbWl0IFpldXMgb2RlciBBcG9sbG8gLSBzb2xsdGUgZGFubiBhYmVyIG5pY2h0IGdyYWRlIGVpbgpZb3Jrc2hpcmUgb2RlciBzbyBzZWluLiBNYW4gaGF0IGRvY2ggc28gc2VpbmUgVm9yYmVsYXN0dW5nZW4gd2FzIGRpZSBOYW1lbgpiZXRyaWZmdCA7KQpSUgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lIGdlc3VjaHQgPyAoSmFtYWxza2ksIDI3LiBKYW4gMjAwMCwgMTE6MDM6MjcpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9OTQ4ODkyNzQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCk5lbm4gaWhuIERzY2hpbmdpcyBLYWhuLCBkYW5uIGhhdCBlciBiZWkgZGVuIEthbXBmaHVuZGVuIGVpbmUgYmVzc2VyZQpTdGVsbHVuZy4KClZpZWxsZWljaHQgZGFyZiBlciBkYW5uIGF1Y2ggbWFsIG9iZW4gc2VpbiEKCkphbWFsc2tpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOYW1lIGdlc3VjaHQgPyAoSmFtYWxza2ksIDI3LiBKYW4gMjAwMCwgMTE6MDc6NTMpOgp+IyEgcm49Q2FsaW1lcmEgcnQ9OTQ4OTA2MzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCk11c2NoaSBpcyduIEtsYXNzaWtlciEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5hbWUgZ2VzdWNodCA/IChCYWJvb24sIDI3LiBKYW4gMjAwMCwgMTE6MTY6NDQpOgp+IyEgcm49Q2FsaW1lcmEgcnQ9OTQ4OTA2MzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkthdHplbm5hbWVuPyBXaWUgd2FlcnMgbWl0IEx1bmEgdW5kIEFydGVtaXM/CgpCYUJPT24oKSB3aW5rdCBtaXQgZGVtIE1vbmRzemVwdGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmFtZSBnZXN1Y2h0ID8gKFNvbmdva3UsIDI3LiBKYW4gMjAwMCwgMTE6NTE6NDMpOgp+IyEgcm49QmFib29uIHJ0PTk0ODk2ODIwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpEYXJhdWYga2FubiBlcyBudXIgZWluZSBBbnR3b3J0IGdlYmVuISEKCkthbWUgSGFtZSBIQUFBQSEKCjxhc2NoZWhhdWZlbndlZ2tlaHI+CgpTb25Hb2t1IGRlciB3YXMgZ2VnZW4gZGVuIE1vbmQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmFtZSBnZXN1Y2h0ID8gKEJhYm9vbiwgMjcuIEphbiAyMDAwLCAxMjowMDoyNik6Cn4jISBybj1Tb25nb2t1IHJ0PTk0ODk3MDMwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpIbSwgbmV0dGUgSWRlZSwgIkVpbiBBc2NoZWhhdWZlbiBuYW1lbnMgU29uZ29rdS4iCk1hbCBndWNrZW4uICp4dG9vbCByYXVza3JhbSoKCkJhQk9PbigpIChoZXV0ZSBtYWwgaW0gTmFtZW4gZGVzIE1vbmRlcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hbWUgZ2VzdWNodCA/IChIb2JvLCAyNy4gSmFuIDIwMDAsIDEyOjQzOjA2KToKfiMhIHJuPVNvbmdva3UgcnQ9OTQ4OTcwMzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkhtbSwgYWJlciB3aWVzbyBLYW1laGFtZWhhPyBXYXMgaGF0IGRlbm4gZGVyIGhhd2FpaWFuaXNjaGUgS29lbmlnc25hbWUgZGFtaXQKenUgdHVuPyA7KQoKICAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5hbWUgZ2VzdWNodCA/IChNYWhhdG11LCAyOC4gSmFuIDIwMDAsIDA5OjMzOjU0KToKfiMhIHJuPUhvYm8gcnQ9OTQ4OTczMzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCkRhcyBpc3QgZWluZSBqYXBhbmlzY2hlIFZlcmJhbGxob3JudW5nLiBTdGVodCBhbmdlYmxpY2ggZnVlciAnU2NoaWxka3JvZXRlbi0Kd2VsbGUnIHVuZCBsdC4gV29lcnRlcmJ1Y2ggdGF1Y2hlbiBkaWUgV29ydGUgYXVjaCBkcmluIGF1ZiA6PgpEZXIgZWluemlnIHJpY2h0aWdlIE5hbWUgZnVlciBzbyBlaW5lIFRvZWxlIGlzdCwgQmlvbGVocmVyIGxhZXNzdCBncnVlc3NlbjoKRG9NaUtvZS4KRG9yZm1pc2Noa29ldGVyLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYyd0IGlnbm9yaWVydCB1bnMhIChNZXNpcmlpLCAyOC4gSmFuIDIwMDAsIDExOjEwOjI2KToKTGllYmUgTWl0bXVkZGVyLAphbHMgaWNoIGxldHp0ZW5zIGluIGRlciBjJ3QgMi8wMCBkZW4gQXJ0aWtlbCB1ZWJlciBPbmxpbmVzcGllbGUgZ2VsZXNlbiAKaGFiZSwgaXN0IG1pciBmb2xnZW5kZXIgQWJzY2huaXR0IHNhdWVyIGF1Zmdlc3Rvc3NlbjoKClJvbGxlbnNwaWVsZSBnZWhvZXJlbiB6dSBkZW4gYWVsdGVzdGVuIE9ubGluZS1TcGllbGVuIHVlYmVyaGF1cHQuCkJlcmVpdHMgaW4gZGVuIDcwZXIgSmFocmVuIGdhYiBlcyBkaWUgdGV4dGJhc2llcnRlbiBNdWx0aS1Vc2VyLUR1bmdlb25zCihNVURzKSwgaW4gZGVuZW4gZGllIFNwaWVsZXIgc2ljaCBpbiBlaW5lciBGYW50YXNpZXdlbHQgYmV3ZWd0ZW4sIGRpZQpzdGFyayBhbiBkaWUgUm9tYW5lIHZvbiBUb2xraWVuIGFuZ2VsZWhudCB3YXIuIEVyZmFocmVuZSBTcGllbGVyCmtvbm50ZW4gZGFtYWxzIHNlbGJzdCBuZXVlIE1vZHVsZSBwcm9ncmFtbWllcmVuIC0gc28gZW50c3RhbmQgZWluZSBzZWhyCmxlYmVuZGlnZSB1bmQga29tbXVuaWthdGl2ZSBTcGllbHdlbHQuIERvY2ggVGV4dC1BZHZlbnR1cmVzIHNpbmQgc2VpdApFbmRlIGRlciA4MGVyIEphaHJlIGF1c2dlc3RvcmJlbi4uLgoKSWNoIGhhYiBtaWNoIGVyc3RtYWwgdmVyZ2V3aXNzZXJ0LCBkYXNzIGljaCBub2NoIG5pY2ggdmVyZ3JlaXN0IGJpbiA7KSAKaXJnZW5kd2llIHNjaGVpbmVuIGRpZSBNdWRkZXIgbmljaCBzbyByaWNodGlnIHdhaHJnZW5vbW1lbiB6dSB3ZXJkZW4uCgpNZWluZSBGcmFnZW46IHZpZWxsZWljaHQgd2Vpc3MgamVtYW5kLCB3di4gRGF1ZXJzcGllbGVyIGRhcyBNRyBiencuIGRpZQpNdWQuREUgTXVkcyBoYWJlbj8KCldlciBMdXN0IGhhdCwgYXVmIHVuc2VyZSAoaW1obyBkaWUgc2Nob2Vuc3RlIDspIEFydCB6dSBzcGllbGVuIGF1Zm1lcmtzYW0KenUgbWFjaGVuLCBrYW5uIGphIG5lIE1haWwgYW4gY3RAY3QuaGVpc2UuZGUgc2NocmVpYmVuIG9kZXIgYW4gZGVuClJlZGFrdGV1ciBkZXMgQXJ0aWtlbHMgSnVlcmdlbiBLdXJpIChkZXIgbWlyIGJpc2hlciBub2NoIG5pY2ggc28gbmVnYXRpdiA7KQphdWZnZWZhbGxlbiBpc3QgOykgKGprQGN0LmhlaXNlLmRlKS4KClZpZWxsZWljaHQgaXN0IGphIGF1Y2ggbmUgVW50ZXJzY2hyaWZ0ZW5saXN0ZSBtYWwgd2FzIG5ldHRlcyB6dXIgQWJ3ZWNoc2x1bmcKOykKCk1pdCBkZXIgSWdub3JhbnogZGVyIE1VRHMgd2lyZCBuYXR1ZXJsaWNoIGF1Y2ggaWdub3JpZXJ0LCBkYXNzIGdlcmFkZSBhdWNoCmRpZSBNdWRkZXIgaW4gUkwgZW5nZW4gS29udGFrdCBoYWx0ZW4gdW5kIHNpY2ggYXVjaCBmdWVyIGFuZGVyZSBTYWNoZW4KZW5nYWdpZXJlbiAoU3RhVGkncywgUGFydGllcywgVmVyZWluLCBSQzUuLi4pCgpTYWNodCBtYWwgd2FzIGRhenUKCk1lc2ksIHZlcmFlcmdlcnQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYyd0IGlnbm9yaWVydCB1bnMhIChNYWhhdG11LCAyOC4gSmFuIDIwMDAsIDExOjEzOjI3KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTQ5MDU0MjI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CkhlcnJqZSA6PiBQYXBpZXIgaXN0IGdlZHVsZGlnIHVuZCBkaWUgZWxla3Ryb25pc2NoZW4gTWVkaWVuIG1laHIgdm9uZWluYW5kZXIKZ2V0cmVubnQgYWxzIGljaCBkYWNodGUuCkJpdHRlIGxlc3QgZGF6dSBkZS5tdWQubHAgLi4uIHVuZCBkYW5uIG5laG10IGVzIG5pY2h0IHNvIHNjaHdlciwgZGFzcyBuaWNodAphbGxlICdKb3VybmFsaXN0ZW4nIHVlYmVyIGRpZSBGYWVoaWdrZWl0IHp1ciBSZWNoZXJjaGUgdmVyZnVlZ2VuLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjJ3QgaWdub3JpZXJ0IHVucyEgKEdydW1iYXJ0LCAyOC4gSmFuIDIwMDAsIDExOjIzOjEwKToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ5MDU0NDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CkRhIGdpYnRzIG51ciBlaW5zOgoKPiBpZ25vcmllcmUgYyd0CkR1IGlnbm9yaWVyc3QgamV0enQgZm9sZ2VuZGUgTWl0dGVpbHVuZ2VuOiBjJ3QuCgpHcnVtYmFydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjJ3QgaWdub3JpZXJ0IHVucyEgKFByYSwgMjguIEphbiAyMDAwLCAxMjowOTo0NSk6Cn4jISBybj1NYWhhdG11IHJ0PTk0OTA1NDQwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpCbG9lZGUgRnJhZ2U6IFdhcyBpc3QgZGUubXVkLmxwPyBJY2ggbGVzZSBkZS5hbHQubXVkLCBnaWJ0J3MgZGEKd2FzLCB3YXMgaWNoIG5pY2h0IHdlaXNzLCBhYmVyIHdpc3NlbiBzb2xsdGU/CgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYyd0IGlnbm9yaWVydCB1bnMhIChCb2luZywgMjguIEphbiAyMDAwLCAxMjo1MzozOSk6Cn4jISBybj1NZXNpcmlpIHJ0PTk0OTA1NDIyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpEaWVzZXIgTWlzc3RhbmQgd3VyZGUgc2Nob24gYXVmIGRlciBjJ3Qgc2VpdGUgZXJ3YWVobnQsIGJlaSBkZW4gS29tbWVudGFyZW4KenVtIGVudHNwcmVjaGVuZGVuIEFydGlrZWwuIEljaCBoYWJzIG1pciBkYXJhdWZoaW4gZ2VzcGFydCBzZWxiZXIgbm9jaAp3YXMgenUgc2NocmVpYmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXVlcmdlcGllcHNlIHVudGVyIFRGIChUaWFtYWssIDI4LiBKYW4gMjAwMCwgMTM6MzQ6MzMpOgpNYWhsemVpdCEKCkFuc2NoZWluZW5kIHRyaWZmdCBlcyBuZXVlcmRpbmdzIG1laHJlcmUgU3BpZWxlcjogYXVzIGhlaXRlcmVtIEhpbW1lbCBmYWVuZ3QKZGFzIFRGIGFuLCBBbW9rIHp1IGxhdWZlbiB1bmQgcXVpdHRpZXJ0IGplZGUgZWludHJ1ZGVsbmRlIFplaWxlIHZvbSBNRyBtaXQKZWluZW0gUGllcHNlci4KClp1c3RhbmRlIGtvbW10IGRhcyBkdXJjaCBlaW5lIEtvbWJpbmF0aW9uIHZvbiBCdWdzIGF1ZiBNRy0gdW5kIFRGLVNlaXRlLiBBdWYKTUctU2VpdGUgYmV0cmlmZnQgZXMgbGVpZGVyIF9zZWhyXyB2aWVsZSBlaW56ZWxuZSBHZWdlbnN0YWVuZGUuIERpZSBCdWdzCndlcmRlbiB6d2FyIG5hY2ggdW5kIG5hY2ggYmVob2JlbiwgYWJlciBiaXMgZGllIGFsbGUgZHJhdXNzZW4gc2luZCwga2FubiBkYXMKZGF1ZXJuLgoKTGFuZ2UuCgpBbGxlcmRpbmdzIGthbm4gamVkZXIgVEYtTnV0emVyIGRlbiBCdWcgYXVmIHNlaW5lciBTZWl0ZSBhdWYgZWluZmFjaHN0ZSBXZWlzZQp1bWdlaGVuOiBkZWZpbmllcnQgRXVyZSBXZWx0IGZ1ZXIgZGFzIE1HIGVpbmZhY2ggYWxzIC1UbHBwLiBOaWNodCBhbHMgLVRscCwKbmljaHQgYWxzIC1UdGVsbmV0IG9kZXIgc29uc3QgaXJnZW5kd2VsY2hlIFNhY2hlbi4gR2FueiBzaW1wZWwgLVRscHAuCgpBbHMga2xlaW5lIFNvbmRlcmJlbG9obnVuZyBmdW5rdGlvbmllcmVuIGRhbm4gZGllIFByb21wdHMgYXVjaCBlbmRsaWNoIHp1CmVpbmh1bmRlcnQgUHJvemVudC4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGMndCBpZ25vcmllcnQgdW5zISAoTWFoYXRtdSwgMjguIEphbiAyMDAwLCAxMzozNzo1NCk6Cn4jISBybj1QcmEgcnQ9OTQ5MDU3Nzg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2ClR5cGlzY2hlciBGYWxsIG1vcmdlbmRsaWNoZXIgVmVyd2lycnVuZyA6PiBEdSBsaWVzdCBpbiBkZXIgcmljaHRpZ2VuIE5HLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGMndCBpZ25vcmllcnQgdW5zISAoSG9vZCwgMjguIEphbiAyMDAwLCAxNDo1MjoxMyk6Cn4jISBybj1NZXNpcmlpIHJ0PTk0OTA1NDIyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpkYXMgd3VyZGUgYmVyZWl0cyBpbiBhbHQubXVkLmRlIHBhbGF2ZXJ0LCB1bmQgaWNoIGhhYiBkYSBtZWluZSBtZWludW5nCmt1bmRnZXRhbiwgZGFzcyBiZWkgc3BpZWxlcnphaGxlbiB2b24gODAwMCBwcm8gdGFnIGJlaSBlaW5lbSBlaW56aWdlbgpkZXIgZ2FlbmdpZ2VuIG5ldHp3ZXJrYmFsbGVyZWllbiBkaWUgbXVkZGVyc2NoYWZ0IGRlciBnYW56ZW4gd2VsdApnZXJhZGV6dSB2ZXJzY2h3aW5kZW5kIHVudGVyZ2VodC4gZGVyIGtvbW1lbnRhciBtYWcgYWxzbyBuaWNodCBzdGltbWVuLAphYmVyIGVyIGtvbnZlcmdpZXJ0IHJlY2h0IGd1dCBnZWdlbiBkaWUgd2FocmhlaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGMndCBpZ25vcmllcnQgdW5zISAoQmFib29uLCAyOC4gSmFuIDIwMDAsIDE1OjI1OjEyKToKfiMhIHJuPUhvb2QgcnQ9OTQ5MDY3NTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CkRlciBLb21tZW50YXIgc3RpbW10IG5pY2h0IHVuZCBlciBrb252ZXJnaWVydCBhdWNoIG5pY2h0CmdlZ2VuIGRpZSBXYWhyaGVpdC4gWnVtIGVpbmVuIGlzdCBkaWUgQmVudXR6ZXJzY2hhZnQgZGVyCiJCYWxsZXJzcGllbHNlcnZlciIgc2ljaGVyIHZpZWwga2xlaW5lciBhbHMgZXMgYXVmIGRlbgplcnN0ZW4gQmxpY2sgc2NoZWluZW4gbWFnLiA4MDAwIHBybyBTZXJ2ZXIgaG9lcnQgc2ljaAp6d2FyIGVpbmRydWNrc3ZvbGwgYW4uIEFiZXIgZGFzIHNjaGFmZmVuIGF1Y2ggbnVyIGVpbmlnZQpIYXVwdHNlcnZlci4gWnVtIGFuZGVyZW4gd3VlcmRlbiBhdWNoIGJlaW0gTW9yZ2VuR3JhdWVuCnZpZWwgZWluZHJ1Y2tzdm9sbGVyZSBaYWhsZW4gYWxzIDcwLTEwMCBQZXJzb25lbiBoZXJhdXNrb21tZW4sCndlbm4gbWFuIGRpZSBCZXN1Y2hlIHVlYmVyIGRlbiBUYWcgenVzYW1tZW56YWVobHQgdW5kIG5pY2h0Cm51ciBkaWUgRGF1ZXJnYWVzdGUuIERhbm4gbXVzcyBtYW4gYmVkZW5rZW4sIGRhc3MgZXMgYXVjaAp2aWVsZSBNdWRzIChuaWNodCB6dSB2ZXJnZXNzZW4gTVVDSywgTVVTSCB1bmQgYW5kZXJlIEZvcm1lbgphdXNzZXIgTVVEKSBnaWJ0LiBEYXMgRHV0emVuZCBiZWthbm50ZXIgZGV1dHNjaGVyIE11ZHMgaXN0IGphCm51ciBkaWUgU3BpdHplIGRlcyBFaXNiZXJnZXMuIFdpZXZpZWxlIE11ZHMgZXRjLiBleGlzdGllcmVuCndlbHR3ZWl0PyBXZW5uIG1hbiBiZWRlbmt0IGRhcyBhbGxlaW5lIGRhcyBNRyBtZWhyZXJlIHRhdXNlbmQKbWVociBvZGVyIHdlbmlnZXIgcmVnZWxtYWVzc2lnIGFrdGl2ZXIgU3BpZWxlciBoYXQsIGRhbm4gd2FlcmUKaWNoIG5pY2h0IHVlYmVycmFzY2h0LCB3ZW5uIGRpZSBCZW51dHplcnphaGxlbiBmdWVyIGRpZQpNdWx0aXVzZXItVGV4dHNwaWVsZSBnYW56IG5haCBhbiBkZW5lbiBkZXIgM0QtQmFsbGVyZWllbgpsaWVnZW4uIFNlbGJzdCB3ZW5uIGVzIG51ciAxMCUgc2VpbiBzb2xsdGVuIGlzdCBkYXMgaW1tZXIgbm9jaAplaW5lIGdhbnplIE1lbmdlLiBBdWYgamVkZW5mYWxsIGlzdCBkaWUgQmVoYXVwdHVuZyAic2VpdCBBbmZhbmcKZGVyIDkwZXIgYXVzZ2VzdG9yYmVuIiBlaW5mYWNoIG51ciB0b3RhbCBmYWxzY2guCgoKQmFCT09uKCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGMndCBpZ25vcmllcnQgdW5zISAoSG9vZCwgMjguIEphbiAyMDAwLCAxNTo0NToxNCk6Cn4jISBybj1CYWJvb24gcnQ9OTQ5MDY5NTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CmRhcyBtZyBtZWhyZXJlIHRhdXNlbmQgbWVociBvZGVyIHdlbmlnZXIgYWt0aXZlIHNwaWVsZXI/IHRyYWV1bXN0IGR1PyA6KQp6dWRlbSBpc3QgZXMgbWl0IGFic3RhbmQgZGFzIGJlc3RiZXN1Y2h0ZSBkZXV0c2NoZSBtdWQsIHVuZCBzZWxic3QgbWl0CmtyZWF0aXZlciBidWNoZnVlaHJ1bmcga29tbXN0IGR1IGhpZXIgbmljaCBhbiBkaWUgc3BpZWxlcnphaGxlbgpzY2hsZWNodGVyZXIgZ3JhZmlrLWJhbGxlcmVpZW4gaGVyYW4sIGRpZSB6dW1haGwgaW4gMiBqYWhyZW4gZWluZW4KZ3JvZXNzZXJlbiBha3RpdnN0YW1tIGFuZ2VzYW1tZWx0IGhhYmVuIGFscyB3aXIgaW4gPjYgamFocmVuLgprZWluZSBmcmFnZSwgZXMgZ2lidCB3ZWx0d2VpdCBub2NoIGVpbmUgbWVuZ2UgbXVkc3BpZWxlciwgZWluZSBtZW5nZQphdXMgdW5zZXJlciBzaWNodCwgbGFlY2hlcmxpY2ggd2VuaWcgYXVzIHNpY2h0IGRlciBpbSBpbnRlcm5ldCBzcGllbGVuZGVuCmxldXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYyd0IGlnbm9yaWVydCB1bnMhIChCb2luZywgMjguIEphbiAyMDAwLCAxNjoyNTozOCk6Cn4jISBybj1Ib29kIHJ0PTk0OTA3MDcxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpNaXQgbWVocmVyZW4gdGF1c2VuZCBtZWhyIG9kZXIgd2VuaWdlciBha3RpdmVuIFNwaWVsZXJuIGlzdCBlciBnYXIgbmljaHQKc28gd2VpdCB2b24gZGVyIFJlYWxpdGFldCBlbnRmZXJudC4gRmFrdCBpc3QsIGRhc3MgaW4gZGVuIGxldHp0ZW4gMzAgVGFnZW4KY2EuIDI1MDAgU3BpZWxlciBlaW5nZWxvZ2d0IHdhcmVuLiBEYSBzaW5kIG1pdCBTaWNoZXJoZWl0IGVpbmUgTWVuZ2UKWndlaXRjaGFyYWt0ZXJlIGRhYmVpLCBhYmVyIGRpZSBBbnphaGwgaXN0IHRyb3R6ZGVtIG5pY2h0IGdlcmFkZSBrbGVpbi4KV2VsdHdlaXQgc2luZCB3aXIgbGFlbmdzdCBuaWNodCBiZWkgZGVuIGdyb2Vzc3RlbiBNdWRzIGRhYmVpLCBlcyBnaWJ0Ck11ZHMgd28gZ2xlaWNoemVpdGlnIG1laHIgYWxzIDMwMCBTcGllbGVyIGVpbmdlbG9nZ3Qgc2luZC4gV2VubiB3aXIgbWFsCnZvbiBjYS4gNTAwIG9mZmVuZW4gTXVkcyB3ZWx0d2VpdCBhdXNnZWhlbiAod2FzIHNpY2hlciBuaWNodCBnYW56IGZhbHNjaAppc3QpLCBkYW5uIGtvbW10IG1hbiBhdWYgZWluZSBiZWFjaHRsaWNoZSBaYWhsLgpEYXp1IGtvbW10IGRpZSBUcmFkaXRpb246IFdlbGNoZXMgR3JhZmlrLUJhbGxlcnNwaWVsIGthbm4gdm9uIHNpY2ggYmVoYXVwdGVuLApzaWNoIHVlYmVyIDggSmFocmUgKE1HKSBvZGVyIG1laHIgZ2VoYWx0ZW4genUgaGFiZW4/IApEaWUgQXVzc2FnZSBpbiBkZXIgYyd0IGlzdCBzY2hsaWNodHdlZyBmYWxzY2ggdW5kIHpldWd0IHZvbiBtYW5nZWxuZGVyClJlY2hlcmNoZS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhdWVyZ2VwaWVwc2UgdW50ZXIgVEYgKEFuYXRvbCwgMjguIEphbiAyMDAwLCAxODo0MjoyMCk6Cn4jISBybj1UaWFtYWsgcnQ9OTQ5MDYyODczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDYyODczCkVpbnppZ2VyIE5hY2h0ZWlsIHZvbiAtVGxwcDogQWxzIE1hZ2llciBtdXNzIG1hbiBhdWYgZGVuIHBoYWVub21lbmFsZW4KT25saW5lLUVkaXRvciAiZWQiIGxlaWRlciB2ZXJ6aWNodGVuLiBTY2hhZGUsIHNjaGFkZSwgc2NoYWRlLi4uCgpBbmF0b2wgLSBoYXQgZGVuIEVkIGRhbWFscyBzZWhyIGdlbW9jaHQgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBjJ3QgaWdub3JpZXJ0IHVucyEgKEFuYXRvbCwgMjguIEphbiAyMDAwLCAxODo0NjowMCk6Cn4jISBybj1Cb2luZyBydD05NDkwNzMxMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDkwNTQyMjYKVm9lbGxpZyBhbmRlcmUgV3VuZGU6IFdlbGNoZXIgT25saW5lLTFzdC1QZXJzb24tU2hvb3RlciBrYW5uIG1pdAplaW5lciBlY2h0ZW4gc296aWFsZW4gS29tcG9uZW50ZSBhdWZ3YXJ0ZW4/IElzdCBlcyBuaWNodCBnZW5hdQpkZXIgRmFrdG9yLCBkZXIgZGllIG1laXN0ZW4gaGllciBpbiBkaWVzZXIgYXNjaWktMTI3LVdlbHQgZmVzdGhhZWx0PwoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGMndCBpZ25vcmllcnQgdW5zISAoU2FtdHBmb3RlLCAyOC4gSmFuIDIwMDAsIDE5OjQyOjU1KToKfiMhIHJuPU1lc2lyaWkgcnQ9OTQ5MDU0MjI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CkVpZ2VudGxpY2ggaXN0IGRpZXNlciBBcnRpa2VsIHNjaG9uIHZpZWxlbiBiZWthbm50LCBNZXNpcmlpLgoKTmFqYSBkaWUgYyd0IGhhdCBoYWx0IGF1Y2ggdmVyZ2Vzc2VuLCBpbiBpaHJlbiBBcmNoaXZlbiB6dSBrcmFtZW4sIHNwZXppZWxsCmVpbmVuIGF1cyBkZW0gSmFociAxOTk2LCB3byBzaWUgc2VsYmVyIGVpbmlnZSBNVURzIHZvcmdlc3RlbGx0IGhhdC4gCgpTYW10cGZvdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGMndCBpZ25vcmllcnQgdW5zISAoS2FyaXMsIDI4LiBKYW4gMjAwMCwgMjI6NDA6NTYpOgp+IyEgcm49U2FtdHBmb3RlIHJ0PTk0OTA4NDk3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpqYWphLi4uIGljaCBlcmlubmVyZSBtaWNoIC4uLiB3YXIgZWluIHNlZWVlaHIgdmVyaGFlbmduaXN2b2xsZXIgQXJ0aWtlbC4KWnVtaW5kZXN0IGZ1ZXIgbWljaC4KCkthcmlzLiBLYW5uIG5hdHVlcmxpY2ggamVkZXJ6ZWl0IGF1ZmhvZXJlbiAoZGFzIGhhYiBpY2ggaW4gZGVyIG1wYSBzY2hvbiAKbGFuZ2UgbmljaCBtZWhyIGdlbGVzZW46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXVlcmdlcGllcHNlIHVudGVyIFRGIChXdXJ6ZWwsIDI5LiBKYW4gMjAwMCwgMDA6MzI6NTUpOgp+IyEgcm49QW5hdG9sIHJ0PTk0OTA4MTM0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA2Mjg3MwprYWVzZS4gaWNoIGJlbnV0emUgLVRscHAgdW5kIGVkLCBrZWluZSBwcm9ibGVtZS4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmFtZSBnZXN1Y2h0ID8gKFN1YmxpbWUsIDI5LiBKYW4gMjAwMCwgMTU6MDg6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0ODkyNjA5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpBbHRlcm5hdGl2IGRhenUgZ2VodCBhdWNoIGRlciBOYW1lICJUb2VsZSIsIGRhcyBzY2hyZWllbiBkaWUgaW4gQmVybGluCmltbWVyIGF1ZiBkZW4gU3RyYXNzZW4gcnVtLiBEYSBnZWInIGljaCBEaXIgdm9lbGxpZyByZWNodCwgR3JpbW1ib3JuLi4uCgpXaWUgd2FlcnMgbWl0IFdhbGRpID8gOz0pCnN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGMndCBpZ25vcmllcnQgdW5zISAoVGlhbWFrLCAyOS4gSmFuIDIwMDAsIDE4OjM1OjQxKToKfiMhIHJuPUthcmlzIHJ0PTk0OTA5NTY1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpFaW4gSGlud2VpcyBhdWYgd3d3Lm11ZC5kZSBoYXQgZXMgamEgdGF0c2FlY2hsaWNoIGJpcyBpbiBkYXMgTGVzZXJmb3J1bSBkZXIKYWt0dWVsbGVuIGMndCBnZXNjaGFmZnQuCgpGcmFndCBzaWNoIG51cjogd2VyIHZvbiB1bnMgaXN0IFN0ZWZhbiBUaXR0ZWxiYWNoPyA7LSkKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYyd0IGlnbm9yaWVydCB1bnMhIChUYXJhZ29uLCAyOS4gSmFuIDIwMDAsIDE5OjA3OjAzKToKfiMhIHJuPVRpYW1hayBydD05NDkxNjczNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDkwNTQyMjYKRGFzIGtsaW5ndCBpcmdlbmR3aWUgbmFjaCBmbGllc3NlbmRlbSBPYmVyd2VpdGVuZ2V3YWVzc2VyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lIGdlc3VjaHQgPyAoTWFuZ28sIDI5LiBKYW4gMjAwMCwgMjM6Mzk6MTkpOgp+IyEgcm49SG9ibyBydD05NDg4OTI5Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKCm5hIGljaCBrZW5uIHdlbiBzZWluZW4gaHVuZCAsIHVuZCBkZXIgaGVpc3N0IG9ua2VsIGRpdHRtZWllciB1bmQgZGVzc2VuIGthdHplCmRhbm4gaGVpc3N0IHZhbGVuc2luYSA6KQoKc28gdmllbCBkYXp1LCBNYW5nby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBjJ3QgaWdub3JpZXJ0IHVucyEgKE1haGF0bXUsIDMwLiBKYW4gMjAwMCwgMTA6MzY6NTQpOgp+IyEgcm49VGlhbWFrIHJ0PTk0OTE2NzM0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpJbiBhbHQubXVkLmRlIHd1cmRlIGF1Y2ggKGF1ZiBIb29kcyBBcnRpa2VsIGhpbikgYXVmIGRlbiBNdWRjb25uZWN0b3IKaGluZ2V3aWVzZW4sIGRlciBkZXJ6ZWl0IDE1MzAgTVVEcyBsaW5rdCwgZWluZSBaYWhsLCBkaWUgaW0gVmVyaGFlbHRuaXMKenUgODAwMCBuaWNodCBnZXJhZGUgdmVyc2Nod2luZGVuZCBnZXJpbmcgaXN0LgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogYyd0IGlnbm9yaWVydCB1bnMhIChUYXJhZ29uLCAzMC4gSmFuIDIwMDAsIDEyOjAzOjI1KToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ5MjI1MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CldhcyBoYWJ0IGlociBhbGxlIG1pdCBhbHQubXVkLmRlID8gQXVmIGtlaW5lbSBuZXdzc2VydmVyIHp1IGRlbSBpY2ggenVncmlmZgpoYWJlLCBmaW5kZSBpY2ggZWluZSBncnVwcGUgZGUgdW50ZXIgYWx0Lm11ZC4uLiBvZGVyIHJlZGV0IGlociB2b24gZGUuYWx0Lm11ZAp1bmQgc2NocmVpYnQgZXMgbnVyIGZhbHNjaCA/IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYyd0IGlnbm9yaWVydCB1bnMhIChNYWhhdG11LCAzMC4gSmFuIDIwMDAsIDEyOjA0OjEzKToKfiMhIHJuPVRhcmFnb24gcnQ9OTQ5MjMwMjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2CkljaCB3ZXJkIGV4dHJhIGZ1ZXIgRGljaCBub2NoIG5hY2ggYWx0Lm11ZC5scCBrb3BpZXJlbiAuLi4KCk1haGF0bXUgZ2FlaG50IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYyd0IGlnbm9yaWVydCB1bnMhIChUYXJhZ29uLCAzMC4gSmFuIDIwMDAsIDEyOjA1OjExKToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ5MjMwMjUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MDU0MjI2Ck5hLCBkaWUgZ2licywgYWJlciBhbHQubXVkLmRlIGZpbmRlIGljaCB0cm90emRlbSBuaXJnZW5zIDotKQpCVFc6IFNjaGxhZWZzdCBkdSB6dSB3ZW5pZywgZGFzcyBkdSBzb25udGFncyB1bSAxMiBub2NoIGdhZWhuc3QgPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGMndCBpZ25vcmllcnQgdW5zISAoTWFoYXRtdSwgMzAuIEphbiAyMDAwLCAxMjoxNzozNCk6Cn4jISBybj1UYXJhZ29uIHJ0PTk0OTIzMDMxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpPaywgdW0gZXMgbm9jaG1hbCBrbGFyenVzdGVsbGVuOiBJY2ggdmVyc2NocmVpYmUgbWljaCBnZXJuIHVuZCBvZnQuIEVzCmdpYnQgYWx0Lm11ZC5nZXJtYW4sIGFiZXIgd2lyIHJlZGVuIGRpZSBnYW56ZSBaZWl0IHZvbiBkZS5hbHQubXVkIChvZGVyCnNvIDo+KS4KCk1haGF0bXUgLi4uIGlzdCBtdWVkZSB1bmQgbXVzcyBEYXRlbmJhbmtlbiBtYWNoZW4gLi4uIGJhZWgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGMndCBpZ25vcmllcnQgdW5zISAoVGFyYWdvbiwgMzAuIEphbiAyMDAwLCAxMjoxODo1MCk6Cn4jISBybj1NYWhhdG11IHJ0PTk0OTIzMTA1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpIZWhlaGVoZS4uLgpNYWNoIGRpciBkb2NoIG1hbCBlaW5lIGRhdGVuYmFuaywgZGllIGF1dG9tYXRpc2NoIGFsdC5tdWQuZGUgaW4gZGUuYWx0Lm11ZAp1bXdhbmRlbHQgYmV2b3IgZGVyIGFydGlrZWwgZ2Vwb3N0ZXQgd2lyZCA6LSkpCgpUYXJhZ29uLi4uIHVzdCBodW5ncmlnIHVuZCBnZWh0IHNpY2ggamV0enQgZnV0dGVyIG1hY2hlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGMndCBpZ25vcmllcnQgdW5zISAoSG9vZCwgMzAuIEphbiAyMDAwLCAxMjo0NzoxMSk6Cn4jISBybj1NYWhhdG11IHJ0PTk0OTIyNTAxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgplaW4gZ3Jvc3N0ZWlsIGRpZXNlciAxNTMwIG11ZHMgYmVoZXJiZXJndCBpbSBzY2huaXR0IGVpbmVuIHNwaWVsZXIsIHdlbm4KdWViZXJoYXVwdC4gZHUgd2Vpc3N0IHNlbGJzdCwgd2lldmllbGUgbXVkbGVpY2hlbiBlcyBnaWJ0LgpkaWUgemFobCA4MDAwIGJlc2NocmVpYnQgbGVkaWdsaWNoIGVpbmVuIHNlcnZlciBlaW5lcyBiYWxsZXJzcGllbHMgYW4KZWluZW0gdGFnLi4uZHUgYmVtZXJrc3QsIHdpZSBvZnQgZGEgYGVpbmVuYCBkcmluIGVudGhhbHRlbiBpc3Q/IGd1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5hbWUgZ2VzdWNodCA/IChMdWcsIDMxLiBKYW4gMjAwMCwgMDI6Mjk6MTkpOgp+IyEgcm49SmFtYWxza2kgcnQ9OTQ4OTY3NjczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCgpOSVggUkVJTVQgU0lDSCBBVUYgVVNDSEkhCgoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZXh0bXVkcyBnb29kYnllIChMdWcsIDMxLiBKYW4gMjAwMCwgMDI6Mzk6MTApOgoKTnVuamEsCgpsYW5nZnJpc3RpZyB3ZXJkZW4gZGllIFRleHRtdWRzIGViZW5zbyBzdGViZW4sIHdpZSBkaWUgVGV4dGFkdmVudHVyZS4gQXVmZ3J1bmQKZGVyIEdlZ2ViZW5oZWl0ZW4gaW4gRGV1dHNjaGxhbmQsIGRhdWVydCBkYXMgYmxvc3MgZXR3YXMgbGFlbmdlci4uLgoKRGVyIFJlYWxpdGFldCBpbnMgQXVnZSBzcHVja2VuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hbWUgZ2VzdWNodCA/IChZZW5kaSwgMzEuIEphbiAyMDAwLCAxNDo0Njo0OCk6Cn4jISBybj1MdWcgcnQ9OTQ5MjgyMTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCj4gTklYIFJFSU1UIFNJQ0ggQVVGIFVTQ0hJIQoKTHVzY2hpPwoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRleHRtdWRzIGdvb2RieWUgKFZhbmlvbiwgMzEuIEphbiAyMDAwLCAxNDo1Mzo0Myk6Cn4jISBybj1MdWcgcnQ9OTQ5MjgyNzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MjgyNzUwCldlbm4gbWFuIGRhcyBMYW5nZnJpc3RpZyBsYW5nIGdlbnVnIGF1c2xlZ3QsIHNpY2hlci4KClZhbmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmFtZSBnZXN1Y2h0ID8gKFN1YmxpbWUsIDMxLiBKYW4gMjAwMCwgMTU6Mzc6MzgpOgp+IyEgcm49WWVuZGkgcnQ9OTQ5MzI2NDA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyClVuZCAgLi4uCiAgICAgVFVTQ0hJCgpOZWluLCBkYXMgaXN0IGpldHp0IGtlaW5lICJTdWJsaW1lIG1hY2h0IHNpY2ggaW4gZGVyIE1QQQpicmVpdCB1bmQgbGFiZXJ0IG51ciBTY2hlaXNzZSJBa3Rpb24sIG5laW4sIFR1c2NoaSBpc3QgZWluIGdhYWFuegpvZnQgYmVudXR6dGVyIE5hbWUgYXVmIGRlbiBQaGlsaXBpbmVuLi4uaG1tLGhvZmZlbnRsaWNoIGtsYXBwdHMgbWl0CmRlciBGb3JtYXRpZXJ1bmcgd2VpbCB0ZWxuZXQgdW5kIHNjcm9sbC4uLmVnYWwgOikKCmxpZWIgZ2VncnVlc3N0IHNlaXQgdm9uIHN1YmwsIG1hbCB3aWVkZXIgc29sbyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmFtZSBnZXN1Y2h0ID8gKEJlZWx6ZWJ1YiwgMzEuIEphbiAyMDAwLCAxNTo0MDo0Mik6Cn4jISBybj1TdWJsaW1lIHJ0PTk0OTMyOTQ1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0Mgp3aWUgd2FlcnMgbWl0IE11c2NoaSA/CgpCZWVsemUgKGZpbmRldCAiV2l0emUiIG5hY2ggQXJ0IHZvbiAxMCBuYWNrdGUgRnJpc29lc2VuIHp1IGRvb2YpCgpGUkVFRE9NIE9GIFNQRUVDSCBdOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmFtZSBnZXN1Y2h0ID8gKEd3ZW5kdWxhLCAzMS4gSmFuIDIwMDAsIDE1OjQxOjU1KToKfiMhIHJuPUJlZWx6ZWJ1YiBydD05NDkzMjk2NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKaGV5LCBsYXNzIG1laW5lIGthdHplIGluIHJ1aGUhCgpnd2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmFtZSBnZXN1Y2h0ID8gKFN1YmxpbWUsIDMxLiBKYW4gMjAwMCwgMTY6MDA6MDcpOgp+IyEgcm49QmVlbHplYnViIHJ0PTk0OTMyOTY0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpXaXR6ZSBuYWNoIEFydCB2b24gMTAgbmFja3RlbiBGcmlzb2VzZW4gPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE5hbWUgZ2VzdWNodCA/IChIb3VzZWhvbGRlciwgMzEuIEphbiAyMDAwLCAxNjoxOTo1OSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0OTMzMDgwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0Mgp3aWUgd2FlcnMgbWl0IHdoaXNrYXNmcmVzc2VuZGEgZmxvaHRlcHBpY2ggPyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOYW1lIGdlc3VjaHQgPyAoQmVlbHplYnViLCAzMS4gSmFuIDIwMDAsIDE3OjQ5OjQ2KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQ5MzMwODA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCmtlbm5zdGUgbmljaHQgZGllc2VuIGRpc2NvLXNvbmcuLi4gdm9uIHdlbSBkZXIgYXVjaCBpbW1lciB3YXI6CmljaCB3aWxsIDEwIG5hY2t0ZSBmcmlzb2VzZW4sIDEwIG5hdW5kIHNvIHdlaXRlcgptaXQgcmljaHRpZyBmZXVjaHRlbiAuLi4gaGFhcmVuCgpuaWNodCB3aXJrbGljaCB3aXR6aWcsCkJlZWx6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5hbWUgZ2VzdWNodCA/IChUcmFuY2UsIDMxLiBKYW4gMjAwMCwgMjE6NDQ6NTcpOgp+IyEgcm49QmVlbHplYnViIHJ0PTk0OTMyOTY0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0Mgo+ICJXaXR6ZSIgbmFjaCBBcnQgdm9uIDEwIG5hY2t0ZSBGcmlzb2VzZW4KCmVyemFlaGwhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE5hbWUgZ2VzdWNodCA/IChTdWJsaW1lLCAgMS4gRmViIDIwMDAsIDAwOjMwOjA4KToKfiMhIHJuPUJlZWx6ZWJ1YiBydD05NDkzMzczODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKQWphLCB3YXMgRHUgYWxsZXMgc28ga2VubnN0IDspIE5laW4sIGljaCBtdXNzIHp1Z2ViZW4sIGRhdm9uIGhhYicgaWNoIG5vY2gKbmllIHdhcyBnZWhvZXJ0LiBPYnMgbnVuIGd1dCBvZGVyIHNjaGxlY2h0IGlzdCwgc3RlaHQgYXVzc2VyIEZyYWdlIDspIERhIGJpbgppY2ggbWlyIHNpY2hlci4gTmVlLCBhYmJhJyBtYSBpbSBFcm5zdCwgd2FzIHNvbGwgbWFuIHNvbnN0IGRhcmF1ZiBhbnR3b3J0ZW4sCmljaCB3b2xsdCdzIGhhbHQgZWluZmFjaCBuaWNodCBzbyB2b24gTHVnIHN0ZWhlbmxhc3NlbiB1bmQgZGEgaXN0IG1pciBtZWluZQpFeC1GcmV1bmRpbiBUdXNjaGkgZWluZ2VmYWxsZW4gOykKCkFiZXIgZWdhbCwuLi4KLT4gbXVlbGwsIGRhIE5vbnNlbnNlLi4uCnN1YmxpbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBOYW1lIGdlc3VjaHQgPyAoT2xsaSwgIDEuIEZlYiAyMDAwLCAwMDozMjoyMSk6Cn4jISBybj1CZWVsemVidWIgcnQ9OTQ5MzM3Mzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCmV2dGwuIGhhdCBzaWNoIEx1ZyB3YXMgYW5kZXJlcyBiZWkgZGVtIFNhdHogZ2VkYWNodCwKYWxzIEhhbm5vdmVyYW5lciBmYWVsbHQgbWlyIGRhIG5hZW1saWNoIHNwb250YW4gd2FzIHp1IGVpbiA7KQoKT2xsaSBkZW5rdCAuIG8gTyAoYWxsZXMgQmFuYXVzZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYyd0IGlnbm9yaWVydCB1bnMhIChKYW1hbHNraSwgIDEuIEZlYiAyMDAwLCAxMjoxMTo1Myk6Cn4jISBybj1NZXNpcmlpIHJ0PTk0OTA1NDIyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgpEdSB3aWxsc3QgZG9jaCBuaWNodCBlY2h0IGRlbW9uc3RyaWVyZW4gdW5kIGRhcyBNVUQgc28gcHVibGlrIG1hY2hlbiwgZGFzcwpqZWRlciBSYXZlciBhdXMgSGludGVyZHVkZWxkb3JmIGhlcmtvbW10IHVuZCBncm9iIGFiZmFlaHJ0LgoKU29sbGVuIGRpZSBkb2NoIGRlbmtlbiwgZGFzcyBNdWRkZW4gYXVzZ2VzdG9yYmVuIGlzdC4KQW5nZWJsaWNoZSBOaWNodGV4aXN0ZW56IGhhdCBhdWNoIGRpZSBFaW5nZWJvcmVuZW52b2Vsa2VyIGltIFJlZ2Vud2FsZCBkaWUKbGFlbmdzdGUgWmVpdCB2b3IgZGVtIFZlcmZhbGwgYmV3YWhydCEKTGFzc3QgdW5zIGhpZXIgbmljaHQgU3RvbHogc2Vpbiwgc29uZGVybiBpbSBTdGlsbGVuIGdlbmllc3NlbiEKCkphbWFsc2tpLCBHZW50bGVtYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5hbWUgZ2VzdWNodCA/IChKYW1hbHNraSwgIDEuIEZlYiAyMDAwLCAxMjoxOTo1NSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk0OTE1NDkzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpOZW5uIGlobiAnQmxlaWJkYSchCgpKYW1hbHNraSB6b2xsdCBKdWVyZ2VuIHZvbiBkZXIgTGlwcGUgUmVzcGVrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZXh0bXVkcyBnb29kYnllIChKYW1hbHNraSwgIDEuIEZlYiAyMDAwLCAxMjoyMzo0Mik6Cn4jISBybj1MdWcgcnQ9OTQ5MjgyNzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MjgyNzUwCklucyBBdWdlIHNwdWNrZW5kIGlzdCBndXQhClZpZWxsZWljaHQsIHdlbm4gRHUgZGFzIGxhbmcgZ2VudWcgbWFjaHN0LCBnaWJ0IGVzIGRhbm4gYWt1c3Rpc2NoZSBNdWRzIQpKYW1hbHNraSBzcGllbHQgd2VubiBlciBPcHRpayB3aWxsIG5ldGhhY2shCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOYW1lIGdlc3VjaHQgPyAoSmFtYWxza2ksICAxLiBGZWIgMjAwMCwgMTI6MjU6MzgpOgp+IyEgcm49U3VibGltZSBydD05NDkzMjk0NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKSmVvbywgZGFzIHN0aW1tdCA8ZWluIGdhYW56IG9mdCBiZW51dHp0ZXIgbmFlbSBhdWYgZGVuIFBoaWxpcGluZW4hCkRpZSBkZXV0c2NoZSBWZXJzaW9uIGtlbm5lbiB3aXIgamEgYWxsZSEKSmFtYWxza2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5hbWUgZ2VzdWNodCA/IChTb25nb2t1LCAgMS4gRmViIDIwMDAsIDEzOjM5OjUwKToKfiMhIHJuPVNvbmdva3UgcnQ9OTQ4OTcwMzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ4ODkyNzQyCm5pY2h0IGljaCBhc2NoZWhhdWZlbi4gZHUgYXNjaGVoYXVmZW4uCgooZ3JtYmwga2VpbmVyIHZlcnN0ZWh0IG1pY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOYW1lIGdlc3VjaHQgPyAoU29uZ29rdSwgIDEuIEZlYiAyMDAwLCAxMzo0MToyMCk6Cn4jISBybj1Ib2JvIHJ0PTk0ODk3MzM4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpmcmFnIGRpZSBmcmF1bSB2b20gemVpY2huZXIuCgoodW5kIGljaCB3b2xsdGUgc2Nob24gd2llZGVyIG1pdCBzdHJnL2IgbmUgbmFjaHJpY2h0IGJlYW50d29ydGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmFtZSBnZXN1Y2h0ID8gKFNvbmdva3UsICAxLiBGZWIgMjAwMCwgMTM6NDI6MTcpOgp+IyEgcm49TWFoYXRtdSBydD05NDkwNDg0MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDg4OTI3NDIKYWxsZSBuYW1lbiBpbiBkcmFnb25iYWxsIHNpbmQgbmUgdmVyYmFsbGhvcm51bmcuCih3b2hlciBrb21tdCBlaWdlbnRsaWNoIGRpZXNlcyB3b3J0Pz8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGV4dG11ZHMgZ29vZGJ5ZSAoU29uZ29rdSwgIDEuIEZlYiAyMDAwLCAxMzo0OToxNSk6Cn4jISBybj1MdWcgcnQ9OTQ5MjgyNzUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MjgyNzUwCmFiZXIgbGFuZ2ZyaXN0aWcgd2lyZCBhdWNoIGRhcyBpbnRlcm5ldCBzbyB3aWUgd2lyIGVzIGtlbm5lbiBhdXNzdGVyYmVuIHVuZAplcnNldHp0IHdlcmRlbi4KLi4KLi4KLi4KLi4KYWxsZXMgbnVyIGVpbmUgZnJhZ2UgZGVyIHplaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdWNoZSBibGVpYmUgaW4gZG9ydG11bmQgendlY2tzIHByYWt0aWt1bSAoSmFlbm55LCAgMS4gRmViIDIwMDAsIDE5OjM1OjI3KToKaWNoIGJyYXVjaCBmdWVyIHNlY2hzIHdvY2hlbiBlaW5lIFVudGVya3VuZnQsIGljaCBiaW4gZGVuIGdhbnplbiB0YWcgbmljaHQgZGEuCnVuZCBkYXMgZ2FuemUgc29sbHRlIGJpcyBzYW1zdGFnIGFiZ2VtYWNodCBzZWluOiBlcyBlaWx0LiBLbGFyIGdpYnQgZXMgYXVjaAplaW5lIGVudHNjaGRpbmd1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRleHRtdWRzIGdvb2RieWUgKEx1ZywgIDIuIEZlYiAyMDAwLCAwMjo1ODo0NCk6Cn4jISBybj1KYW1hbHNraSBydD05NDk0MDQyMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDkyODI3NTAKCkFra3VzdGlzY2hlIE11ZHM/IFNpY2hlcmxpY2guCgpTY2hvbiBldHdhcyB3ZWl0ZXIgZGVua2VuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lIGdlc3VjaHQgPyAoSmFzcGVyLCAgMy4gRmViIDIwMDAsIDAyOjIxOjI0KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTk0ODg5Mjc0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0Mgp6aW5hLGJvZW1tZWwsd3VzY2hlbCxkYWdnZWwsem90dGVsdmllaCwuLi4uCgpqYXNwZXIgbWFnIGh1bmRlIGdlZ3JpbGx0IHVuZCBuaWNodCBnZXNjaHVldHRlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpY2h0IChQYWRyZWljLCAgOC4gRmViIDIwMDAsIDE2OjE2OjA4KToKTmFjaCBkZW4gbnVuIGF1c2Z1ZWhybGljaGVuIFRlc3RzIHd1cmRlbiBhbSBMaWNodHN5c3RlbSAoYnp3LiB3ZXJkZW4gaW4gendlaQpTdHVuZGVuKSBub2NobWFsIGVpbmlnZSBrbGVpbmUgQWVuZGVydW5nZW4gdm9yZ2Vub21tZW4uCjEuIEZhY2tlbG4gdXN3LiBsZXVjaHRlbiBoZWxsZXIgYWxzIGJpc2hlciEKMi4gV2VyIGVpbmUgRmFja2VsIHRyYWVndCBlcmhlbGx0IGRhbWl0IGF1Y2ggYmVyZWl0cyBkZW4gUmF1bSBlaW4gd2VuaWcuCjMuIFBmaXJzaWNoZSB3YXJlbiBiaXNoZXIgbm9jaCBlaW4ga2xlaW4gd2VuaWcgYWRkaXRpdiAoaGFsdCBiaXMgenUgendlaQpTdHVlY2spLiBEYXMgZmFlbGx0LCBkYWZ1ZXIgc2luZCBlaW5pZ2UgTGljaHRxdWVsbGVuIHdpZSBGYWNrZWxuIGFic29mb3J0CmhlbGxlci4KClBhZHJlaWMKClAuUy46IEljaCBtdXNzIGxlaWRlciBub2NoIGt1cnogbmFjaCBIYXVzZSBmYWhyZW4gdW5kIGRpZSBGaWxlcyBlcnN0bWFsIGhvbGVuLApkZXNoYWxiIGRhdWVydCBlcyBiaXMgenVtIFJlYm9vdCBub2NoIDJoIChlciBrYW0gaGFsdCBldHdhcyB1bmVyd2FydGV0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGljaHQgKEhlcm9tY2ZseSwgIDguIEZlYiAyMDAwLCAxNjoxNzoxNik6Cn4jISBybj1QYWRyZWljIHJ0PTk1MDAyMjk2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDAyMjk2OAoKd2VyIHdpbGwgaW4gZWluZW0gZGVyYXJ0aWcgbWFnaXNjaGVtIGxhbmQgd2llIGRlbSBtZyBzb3dhcyBiYW5hbGVzIHdpZSBmYWNrZWwKYmVudXR6ZW4gPyAqc2NodWV0dGVsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpY2h0IChHb2xhcywgIDguIEZlYiAyMDAwLCAxNjoxODoxOSk6Cn4jISBybj1QYWRyZWljIHJ0PTk1MDAyMjk2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDAyMjk2OApoYXQgYmlzaGVyIGVpZ2VudGxpY2ggaXJnZW5kd2VyIGF1c3NlciBkaXIgZGFzIG5ldWUgbGljaHRzeXN0ZW0gZ3V0IGdlZnVuZGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaWNodCAoQmVlbHplYnViLCAgOC4gRmViIDIwMDAsIDE2OjE5OjIzKToKfiMhIHJuPUdvbGFzIHJ0PTk1MDAyMzA5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDAyMjk2OApoYXQgZXMgZGVubiBqZW1hbmQgc2NobGVjaHQgZ2VmdW5kZW4gPyBhbHNvIGljaCBuaWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGljaHQgKFJvY2h1cywgIDguIEZlYiAyMDAwLCAxNjoyMTowNik6Cn4jISBybj1UYXRqYW5hIHJ0PTk1MDAyMzIxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDAyMjk2OApIbW0sIHdlbm4gZGFuYWNoIG5pZW1hbmQgbWVociBldHdhcyBnZWZ1bmRlbiBoYWV0dGUsCndhZXJlIFBhZHJlaWMgd29obCBlY2h0IGVpbiB3dWVyZGlnZXIgTmFjaGZvbGdlciB2b24gSGF0ZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGljaHQgKERlZXBibHVlLCAgOC4gRmViIDIwMDAsIDE2OjMyOjA1KToKfiMhIHJuPUdvbGFzIHJ0PTk1MDAyMzA5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDAyMjk2OAp1bnRlcnNjaGllZGxpY2hlIExpY2h0bGV2ZWwgc2luZCBzY2hvbiBnYW56IGludGVyZXNzYW50LCBudXIgc29sbHRlIG1hbiBuaWNodAp1ZWJlcnRyZWliZW4uIEVyc3RtYWwgdGVzdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGljaHQgKEhpZ2h0LCAgOC4gRmViIDIwMDAsIDE2OjM0OjEzKToKfiMhIHJuPUJlZWx6ZWJ1YiBydD05NTAwMjMxNjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTAwMjI5NjgKaGF0IGJpc2hlciBqZW1hbmQgbmUgZ3JhdmllcmVuZGUgYWVuZGVydW5nIGZlc3RnZXN0ZWxsdCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaWNodCAoR29sYXMsICA4LiBGZWIgMjAwMCwgMTY6MzU6MTcpOgp+IyEgcm49SGlnaHQgcnQ9OTUwMDI0MDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwMDIyOTY4CmplZGVzbWFsLCB3ZW5uIGhpZXIgd2FzIGNyYXNodCBoZWlzc3QgZXMsIGVzIGtvbW10IHdhcyBuZXVlcyB6dW0gbGljaHRzeXN0ZW0uCm11c3MgamEgbnggYmVkZXV0ZW4sIGFiZXIgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaWNodCAoUGFyYWNlbHN1cywgIDguIEZlYiAyMDAwLCAyMjozNToxMSk6Cn4jISBybj1IaWdodCBydD05NTAwMjQwNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTAwMjI5NjgKT2NoLCBhYndhcnRlbiAuLi4gbWl0IGRlbSBuZXVlbiBMaWNodHN5c3RlbSBrYW5uIG1hbiBzaWNoZXJsaWNoIHNjaG9lbmUKU2FjaGVuIG1hY2hlbiAuLi4gc28gYXVzIE1hZ2llcnNpY2h0IGdlc2VoZW4gOykKClBhcmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaWNodCAoU3VibGltZSwgIDkuIEZlYiAyMDAwLCAyMzoyMDo1MSk6Cn4jISBybj1IaWdodCBydD05NTAwMjQwNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTAwMjI5NjgKTmVpbiAhCjspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGMndCBpZ25vcmllcnQgdW5zISAoVGVkZHksIDEwLiBGZWIgMjAwMCwgMTY6NTE6NTEpOgp+IyEgcm49U2FtdHBmb3RlIHJ0PTk0OTA4NDk3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0OTA1NDIyNgo5NiB3YXIgZGFzPwpTbyBsYW5nZSBzcGllbCBpY2ggc2Nob24/CgpUZWRkeSwgZGVyIGF1ZmdydW5kIGRpZXNlcyBBcnRpa2VscyBoaWVyIGFuZ2VmYW5nZW4gaGF0LgpQLlMuOiBJY2ggYmluIG5pY2h0IHN1ZWNodGlnIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ljaHRpZyEgcGFydHktPmFydGlrZWwgNzAgKE1lc2lyaWksIDEyLiBGZWIgMjAwMCwgMTM6MjI6MjcpOgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbGF5c3RhdGlvbiAoRGFudGUsIDEzLiBGZWIgMjAwMCwgMTY6NTQ6NTEpOgpLYW5uICBtaXIgaXJnZW5kd2VyIGVpbmVuIExpZ2h0Z3Vuc2hvb3RlciBlbXBmZWhsZW4sIHNvd2FzIHdpZQpIb3VzZSBvZiB0aGUgcmFpc2luZyBkZWFkcyBvZGVyIHNvIGFlaG5saWNoLgpJY2ggbXVzcyBtZWluZSBBZ3Jlc3Npb25lbiBkcmluZ2VuZCBhYmJhdWVuLi46LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbGF5c3RhdGlvbiAoV2hpdGV3aXosIDEzLiBGZWIgMjAwMCwgMTY6NTk6MTMpOgp+IyEgcm49RGFudGUgcnQ9OTUwNDU3MjkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwNDU3MjkxCgpmdWVyIHBsYXlzdGF0aW9uID8KdmVyZ2lzc2VzCmFiZXIgaWNoIGJpbiBzY2hvbiByZWNodCBsYW5nZSBuaWNodCBtZWhyIGFrdGl2IGluIGRlciByaWNodHVuZzopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBsYXlzdGF0aW9uIChaYXJkb3osIDE0LiBGZWIgMjAwMCwgMTE6MTM6MTApOgp+IyEgcm49V2hpdGV3aXogcnQ9OTUwNDU3NTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwNDU3MjkxCkVzIHNvbGwgYmFsZCBuZW4gUmVzaWRlbnQtRXZpbCBzaG9vdGVyIGtvbW1lbi4gRnVlciBnZW5hdWVyZSBJbmZvcyBtdXNzIGljaApzZWxic3QgZXJzdCBuYWNoZnJhZ2VuLgoKWmFyZG96CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphdWYgYXJ0aWtlbCA4NiAoU2t5LCAxNC4gRmViIDIwMDAsIDEyOjIxOjEwKToKTEctU2hvb3RlciBpcyBuIGR1ZXN0ZXJlcyBLYXBpdGVsIGZ1ZXIgZGllIFBTWCA6KS4gTGFzcyBhdWYgamVkZW4gRmFsbCBkaWUKRmluZ2VyIHZvbiBDcnlwdC1LaWxsZXIgdW5kIEFyZWEgNTEuLi4ud2VubiBEdSBfdW5iZWRpbmd0XyBlaW5zIHZlcnN1Y2hlbgp3aWxsc3QgZGFubiBuaW1tIFRpbWUtQ3Jpc2lzLCB3YXMgYW4gc2ljaCB6d2FyIHNjaG9uIHNjaGxlY2h0LCBhYmVyIGltbWVyIG5vY2gKYmVzc2VyIGFscyBkZXIgUmVzdCBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQbGF5c3RhdGlvbiAoSmFtYWxza2ksIDE0LiBGZWIgMjAwMCwgMTU6NDU6MDMpOgp+IyEgcm49WmFyZG96IHJ0PTk1MDUyMzE5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDQ1NzI5MQpKZXBwIQpDYXBjb20gYnJpbmd0IGdsZWljaCBuYWNoIFJlcy4gRXZpbCBJSUkgZGVuIEd1biBTdXJ2aXZvciByYXVzLgpOYWNoIFBsYXlzdGF0aW9uIEdhbW1lcyBzb2xsdGUgZGVyIGRpZSBFR08tVmVyc2lvbiB2b24gQnJhaW5kZWFkIHNjaG9uIGFiCkFuZmFuZyBGZWJydWFyIHp1IGhhYmVuIHNlaW4uClZpZWxsZWljaHQgcmVkZW4gc2llIGFiZXIgYXVjaCBudXIgdm9uIEphcGFuIQpBbnNvbnN0ZW4gdmllbGxlaWNodCBkaWUgREMgYWxzIFVlYmVyZ2FuZyB6dXIgUFMyCkphbWFsc2tpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWUgZ2VzdWNodCA/IChGbGludG5haWwsIDE0LiBGZWIgMjAwMCwgMTU6NTQ6MzUpOgp+IyEgcm49QmVsZ2FyaWFkIHJ0PTk0ODg5MjgwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk0ODg5Mjc0MgpIbW0uLi53YXMgc29sbCBkYXMgZGVuIGhlaXNzZW4/IDotKQogRmxpbnROQUlMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBjJ3QgaWdub3JpZXJ0IHVucyEgKEZsaW50bmFpbCwgMTQuIEZlYiAyMDAwLCAxNjowNTo0MCk6Cn4jISBybj1Cb2luZyBydD05NDkwNzMxMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDkwNTQyMjYKSGksCndlbm4gaWNoIG1pY2ggbmljaHQgdGFldXNjaGUsIHNvIHpldWd0IHNvIHppZW1saWNoIDUwJSBkZXMgZ2VzYW10ZQpNcG9nLUFydGlrZWxzIHZvbiBzY2hsZWNodGVyIFJlY2hlcmNoZSwgd2llIGRpZSBMZXNlcmJyaWVmZSBpbiBkZXIgbmFlY2hzdGVuCkF1c2dhYmUgemVpZ3RlbiA6LSkKCkZsaW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaWNodCAoUGFkcmVpYywgMTQuIEZlYiAyMDAwLCAxODozMjowMSk6Ck51biBudW4gd2llZGVyaG9sdCBkZXIgV3Vuc2NoIGF1ZmthbSBlaW4gd2VuaWcgdWViZXIgZGFzIG5ldWUgTGljaHRzeXN0ZW0KaW5mb3JtaWVydCB6dSB3ZXJkZW4sIHdpbGwgaWNoIHZlcnN1Y2hlbiBlcyBrdXJ6IHp1IGVybGFldXRlcm4uLi4KCi0gTGljaHRsZXZlbCBzaW5kIG5pY2h0IG1laHIgYWRkaXRpdiwgc28gZXJnZWJlbiBuaWNodCBtZWhyIHdpZSBmcnVlaGVyIDEwMAogIFBmaXJzaWNoZSBlaW5lIGtsZWluZSBTb25uZS4gU3RhdHRkZXNzZW4gd2lyZCBudXIgZGFzIGhvZWNoc3RlIHBvc2l0aXZlIG1pdAogIGRlbSBrbGVpbnN0ZW4gbmVnYXRpdmVuIExpY2h0bGV2ZWwgdmVycmVjaG5ldC4KLSBCZWhhZWx0ZXIgd2llIFBha2V0ZSBvZGVyIEJldXRlbCBzY2hsdWNrZW4gZWluIHdlbmlnIExpY2h0LCBlaW5lIHNlaHIgaGVsbGUKICBMaWNodHF1ZWxsZSBpbiBlaW5lbSBvZmZlbmVuIFBha2V0IGthbm4gdmllbGxlaWNodCBpbW1lciBub2NoIExpY2h0CiAgYWJnZWJlbiwgbm9ybWFsZSBrbGVpbmVyZSBMaWNodHF1ZWxsZW4gd2VyZGVuIGFiZXIga2F1bSBub2NoIGF1c3JlaWNoZW4gdW0KICBldHdhcyB6dSBzZWhlbiB3ZW5uIHNpZSBpbiBlaW5lbSBQYWtldCBsaWVnZW4uCi0gUmFldW1lIHNjaGx1Y2tlbiBhdWZncnVuZCBpaHJlciBHcm9lc3NlIGVpbiB3ZW5pZyBMaWNodC4gRWluZSBrbGVpbmUKICBMaWNodHF1ZWxsZSByZWljaHQgYWxzbyBuaWNodCBtZWhyIGF1cywgdW0gZWluZW4gZ2FuemVuIFJhdW0gYXVzenVsZXVjaHRlbi4KICBNYW4gbXVzcyBhbHNvIHNjaG9uIGltbWVyIHdpcmtsaWNoIG5haCBhbiBldHdhcyByYW5nZWhuIHVtIGVzIHVudGVyc3VjaGVuCiAgenUga29lbm5lbi4gRXMgd2lyZCBhbHNvIHVudGVyc2NoaWVkZW4gendpc2NoZW4gZWluZW0gTGljaHRsZXZlbCBkZXMgUmF1bWVzCiAgdW5kIGVpbmVtIExpY2h0bGV2ZWwgZGFzIGRpcmVrdCBiZWkgZWluZW0gU3BpZWxlciBpc3QuIEVpbiBndXRlcyBCZWlzcGllbAogIHNpbmQgaGllcmJlaSB6LkIuIG1hZ2lzY2hlIER1bmtsZSBBdXJlbiB3aWUgdm9tIHNjaHdhcnplbiBSaW5nIGRpZSBkZW4KICBTcGllbGVyIG1pdCBlaW5lciBkdW5rbGVuIEF1cmEgdW1nZWJlbiwgb2huZSBkYWR1cmNoIGRlbiBnZXNhbXRlbiBSYXVtCiAgYWJ6dWR1bmtlbG4uCgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV0lDSFRJRyBCZXNpY2h0aWd1bmcgQU1EID8/Pz8gKEFtZCwgMTYuIEZlYiAyMDAwLCAwOTo0Nzo1NSk6CkhhbGxvIE1pY2hhZWwsCgppY2ggd3JkZSBtaWNoIGZyZXVlbiwgd2VubiBJaHJlIEdydXBwZSB1bnNlciBXZXJrIGJlc3VjaGVuIHdyZGVuLiBMZWlkZXIKaXN0IGRhcyBXb2NoZW5lbmRlIHZvbSAxMS4vMTIuIE1yeiBiZWkgdmllbGVuIEtvbGxlZ2VuIHVuZCBhdWNoIGJlaSBtaXIKc2Nob24gdmVycGxhbnQuIEFiZXIgdmllbGxlaWNodCBrbm5lbiBTaWUgdW5zIGFtIApGcmVpdGFnLCAxMC4gTXJ6IDIwMDAsIDE2IC0gMTggVWhyIGJlc3VjaGVuPyAKCkRhcyBCZXN1Y2hlcnByb2dyYW1tIHNpZWh0IGZvbGdlbmRlcm1hZW4gYXVzOgoxLiAgICAgICJEYXMgRmFiIDMwIFByb2pla3QiIFZpZGVvZG9rdW1lbnRhdGlvbiAoY2EuIDIwIE1pbi4pCjIuICAgICAgIkFNRCBpbiBEcmVzZGVuIC0gV2VyaywgUHJvZHVrdCwgVW1mZWxkIiAoY2EuIDQwIE1pbi4pCjMuICAgICAgIkVpbnN0aWVnc2NoYW5jZW4gYmVpIEFNRCIgKGNhLiAyMCBNaW4uKQoKQXVlcmRlbSB3cmRlIGljaCB2ZXJzdWNoZW4sIGVpbmVuIEtvbGxlZ2VuIGF1cyBkZXIgUHJvZHVrdGlvbiBmciBlaW5lbgpLdXJ6dm9ydHJhZyB6dSBnZXdpbm5lbi4gRnIgZGllc2VuIFB1bmt0IGthbm4gaWNoIGxlaWRlciBuaWNodCBnYXJhbnRpZXJlbiwKZGEgaWNoIG1pY2ggaGllciBuYWNoIGRlbSBQcm9kdWt0aW9uc2VyZm9yZGVybmlzc2VuIHJpY2h0ZW4gbXVzcyAtIGljaApob2ZmZSwgU2llIGhhYmVuIGRhZnIgVmVyc3RuZG5pcy4gRGVyIFJlaW5yYXVtIGthbm4gbGVpZGVyIG5pY2h0CmJlc2ljaHRpZ3Qgd2VyZGVuLCBhYmVyIGRhcyBWaWRlbyB6ZWlndCBlaW5pZ2Ugc2NobmUgUmVpbnJhdW1hdWZuYWhtZW4gdW5kCmRpZSBHcnVuZHpnZSBkZXIgQXJiZWl0IGRvcnQuCgpLbm5lbiBTaWUgbWlyIG5vY2ggc2FnZW4sIHdpZSBncm8gZGllIEdydXBwZSBpc3Q/IApGciBlaW5lIGJhbGRpZ2UgVGVybWluYmVzdHRpZ3VuZyB3cmUgaWNoIElobmVuIHNlaHIgZGFua2Jhci4KTWl0IGZyZXVuZGxpY2hlbiBHcmVuIAoKS2FyaW4gSmVsdHNjaCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tLS0tLS0tLS0tLQpLYXJpbiBKZWx0c2NoCgpQdWJsaWMgUmVsYXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKQU1EIFNheG9ueSBNYW51ZmFjdHVyaW5nIEdtYkggICAgICAgICAgICAgICAgT2ZmaWNlIFRlbCAgIDQ5IC0gMzUxIC0gMjc3CjEwMTMKV2lsc2NoZG9yZmVyIExhbmRzdHIuIDEwMSAgICAgICAgICAgICAgICAgICAgICAgIE9mZmljZSBGYXggICA0OSAtIDM1MSAtIDI3Nwo5MTAxMwowMTEwOSBEcmVzZGVuL0dlcm1hbnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsCmthcmluLmplbHRzY2hAYW1kLmNvbSA8bWFpbHRvOmthcmluLmplbHRzY2hAYW1kLmNvbT4gCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQU1ELCBha2EgTWVzaXJpaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51ciBlaW4gU3BpZWwuLi4gKEJ1YmJhLCAxNi4gRmViIDIwMDAsIDE1OjQyOjMxKToKfiMhIHJuPVJheXplZWwgcnQ9OTUwNzExNzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwNzExNzE2CgpNYW5jaGUga2FwaWVyZW4gZXMgbmllLi4uICpzZXVmeioKRGFzIE1vcmdlbkdyYXVlbiBpc3QgbmljaHQgZWluZmFjaCBudXIgZWluIFNwaWVsIQpVbmQgbmllbWFuZCwgZGVyIGhpZXIgaXN0LCB3aWxsIFNwYXNzIGhhYmVuIQpVbmQgamV0enQgc2FnIG1hbCwgdm9uIHdlbSBEdSBkaWVzZSBpcnJpZ2VuIEFuc2ljaHRlbiBoYXN0IQpXZXIgYXVjaCBpbW1lciBzb2xjaGUgRmFsc2NobWVsZHVuZ2VuIHZlcmJyZWl0ZXQgZ2Vob2VydCBnZWJhbmlzaGVkIQoKQnViYmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hZ25lc2l1bWZhY2tlbCAoUGFkcmVpYywgMTcuIEZlYiAyMDAwLCAxNjo1MTo0OSk6CkRhIGVzIGpldHp0IHNvIG5hY2ggdW5kIG5hY2ggZGllIGVyc3RlbiBzZWhyIGhlbGxlbiBMaWNodHF1ZWxsZW4gYXVjaCB6dQpmaW5kZW4gZ2lidCwgbGFldWZ0IGRhcyBBbmdlYm90IGRlciBoZWxsZW4gTWFnbmVzaXVtZmFja2VsbiBkZXMKRmFja2VsaGFlbmRsZXJzIHp1bSAwMS4wMyBhdXMuIChEYSBhbiBkaWVzZW0gRGF0dW0gYXVjaCBzYWVtdGxpY2hlIG5vY2ggaW0KU3BpZWwgYmVmaW5kbGljaGVuIEZhY2tlbG4gdmVycm90dGVuIHdlcmRlbiwgaGF0IGVpbiBidW5rZXJuIGF1Y2ggd2VuaWcgU2lubgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTggKERhbnRlLCAxOC4gRmViIDIwMDAsIDE4OjI0OjQ1KToKfiMhIHJuPVZhbmlvbiBydD05NDkzMjY4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NDkyODI3NTAKTGFuZ2ZyaXN0aWcgYmV0cmFjaHRldCB3aXJkIHNpY2ggZGllIFNvbm5lIGF1ZmJsYWVoZW4gdW5kIGRpZSBFcmRlCnZlcnNjaGx1Y2tlbiB1bmQgd2VubiBtYW4gZGFubiBub2NoIHBhYXIgSmFocmUgd2FydGV0IHdpcmQgZGVyIEtvc21vcyBpbiBzaWNoCnp1c2FtbWVuc3R1ZXJ6ZW4gKG9kZXIgYXVjaCBuaWNodCkuIFVuZCBkYW5uIHdhZXJzIGRvY2ggc2NoYWRlIHdlbm4gZGFiZWkgZGllCm9sbGVuIFRleHRtdWRzIGF1Y2ggZHJhdWZnZWhlbiBtdWVzc3RlLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDE4IChDYXR3ZWF6bGUsIDE5LiBGZWIgMjAwMCwgMDE6NDI6MjUpOgp+IyEgcm49RGFudGUgcnQ9OTUwODk0Njg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTQ5MjgyNzUwCldpZWRlcmxpY2guCkljaCBoYXNzZSBkaWVzZXMgRXhpc3RlbnppYWxpc3RlbnBhY2suCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjlrNi1TdGFuZGxlaXR1bmcgKERlZXBibHVlLCAxOS4gRmViIDIwMDAsIDEwOjE1OjA2KToKV2VubiBkaWUgVGVsZWtvbSB3aXJrbGljaCBkZW4gVGFyaWYgZWluZnVlaHJ0LCBkYXNzIG1hbiBmdWVyIDEwRE0vTW9uYXQgbmUKOWs2LXN0YW5kbGVpdHVuZyBiZWtvbW10LCBkYW5uIG11ZXNzdGUgZGFzIGRvY2ggbmVuIEF1ZnNjaHd1bmcgZnVlciBtdWRzCmJlZGV1dGVuLiBhbGxlLCBkZW5lbiBkaWUgamV0emlnZW4gb25saW5lLWdlYnVlaHJlbiB6dSBob2NoIHNpbmQsIGhhYmVuIGRhbm4KZG9jaCBkZW4gaGluZGVydW5nc2dydW5kIG5pY2h0IG1laHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA5azYtU3RhbmRsZWl0dW5nIChOZWZhcywgMjAuIEZlYiAyMDAwLCAxNTowMDo1MCk6Cn4jISBybj1EZWVwYmx1ZSBydD05NTA5NTE3MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKV29oZXIgaGFzdCBkdSBkaWVzZSBJbmZvPz8gV2FyZSBqYSBzY2hvZW4sIHdlbm4gc2ljaCBzbyBlaW5lCkZsYXRyYXRlYW5rdWVuZGlndW5nIEVORExJQ0ghISEhIG1hbCBpbiBkaWUgUmVhbGl0YWV0IHVtc2V0emVuIHd1ZXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogOWs2LVN0YW5kbGVpdHVuZyAoU3VibGltZSwgMjAuIEZlYiAyMDAwLCAxNzozNToxNCk6Cn4jISBybj1OZWZhcyBydD05NTEwNTUyNTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKSmEsIGRhcyBtaXQgZGVyIDEwLC0gRE0gRmxhdHJhdGUgaGFiZSBpY2ggYXVjaCBnZWhvZXJ0LiBBYmVyIGRpZXNlciBTZXJ2aWNlCmlzdApqYSBpbiBlcnN0ZXIgTGluaWUgZnVlciBkaWUgTGV1dGUgZ2VkYWNodCwgZGllIG1laHJtYWxzIGFtIFRhZyBpaHJlIEVtYWlscwpjaGVja2VuIG11ZXNzZW4gdW5kIHdvbGxlbi4KTWVpbmUgRnJhZ2UgYWJlciBpc3QsIHJlaWNodCBkaWUgQmVncmVuenVuZyB2b24gZGVyIFRlbGVrb20sIGFsc28gOWs2LCB1ZWJlci0KaGF1cHQgPyBVbmQgd2Vubiwgd2llIHZpZWxlIFN0dW5kZW4gbXVkZGVuIGthbm4gbWFuIGRhbm4gZGEgcmF1c2tpdHplbG4gPyA7KQoKbGllYmUgZ3J1ZXNzZQpzdWJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiA5azYtU3RhbmRsZWl0dW5nIChQYWRyZWljLCAyMC4gRmViIDIwMDAsIDE3OjQ2OjIxKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMDY0NTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkljaCBlbXBmZWhsZSBtYWwgZGllIFNlaXRlbiB2b24gVC1PbmxpbmUgenUgYmVzdWNoZW4sIGRpZSBUZWxla29tIHBsYW50IF9kcmVpXwpGbGF0cmF0ZWFuZ2Vib3RlICh3b2JlaSB6d2VpIG51ciBmdWVyIElTRE4gS3VuZGVuIHNpbmQpLgoxLiBmdWVyIDUsLSBBdWZwcmVpcyBrb2VubmVuIElTRE4gQmVudXR6ZXIgZGVuIGdhbnplbiBTb25udGFnIHVtc29uc3QKdGVsZWZvbmllcmVuIERldXRzY2hsYW5kIHdlaXQgKGRpZXNlIEZsYXRyYXRlIHdpcmQgdm9uIGRlcgpSZWd1bGllcnVuZ3NiZWhvZXJkZSBuaWNodCBnZW5laG1pZ3QpLgoyLiBmdWVyIHVudGVyIDEwMCwtIGtvc3RlbmxvcyBtaXQgdC1vbmxpbmUgaW5zIGludGVybmV0IGdlaG4gMjRoIHRhZWdsaWNoCihkaWVzZXIgVGFyaWYgd2lyZCB3b2hsIGluIGlyZ2VuZGVpbmVyIEZvcm0ga29tbWVuLCBkYSBhdWNoIE1hbm5lc21hbm4gQXJjb3IKYmVyZWl0cyBlaW5lbiBhZWhubGljaGVuIFRhcmlmIGluIGdsZWljaGVyIFByZWlza2xhc3NlIGFuZ2VrdWVuZGlndCBoYXQpLgozLiBPbmxpbmUgWnVnYW5nIHVlYmVyIGRlbiBELUthbmFsIGZ1ZXIgZWluZSBtb25hdGxpY2hlIGVyaG9laHRlIEdydW5kZ2VidWVocgp2b24gMTAsLSAoaGllcmJlaSB3aXJkIG1hbiBhYmVyIHdvaGwgdmVybXV0bGljaCBhdWYgZGllIFRlbGVrb210cmVpYmVyCmFuZ2V3aWVzZW4gc2VpbiAodW50ZXIgVW1zdGFlbmRlbiBhbHNvIG51ciB2b24gV2luZG93cyBtb2VnbGljaCkgLSBtYW4gbGFzc2UKc2ljaCB1ZWJlcnJhc2NoZW4pCgpBbmdla3VlbmRpZ3Qgc2luZCB3b2hsIHp1bWluZGVzdCAxKzIgbm9jaCBmdWVycyBlcnN0ZSBIYWxiamFociAyMDAwLCBiZWkgMwp3ZWlzcyBpY2hzIGpldHp0IG5pY2h0IGdhbnogZ2VuYXUuIERhcyAxIGFiZXIgX25pY2h0XyBrb21tdCBpc3QgemllbWxpY2gKd2FocnNjaGVpbmxpY2guCgpQYWRyZWljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiA5azYtU3RhbmRsZWl0dW5nIChTdWJsaW1lLCAyMC4gRmViIDIwMDAsIDE3OjUzOjQzKToKfiMhIHJuPVBhZHJlaWMgcnQ9OTUxMDY1MTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2Ck5vY2ggZWluZW4ga2xlaW5lbiBUaXAgISBGdWVyIGFsbGUgSVNETi1LdW5kZW4sIGRpZSBpbW1lciBub2NoIGJlaSBkZXIgVGVsZWtvbQpzaW5kLgoKICBhKSBFcyBnaWJ0IGpldHp0IHNlaXQgZWluaWdlciBaZWl0IGRpZSBNb2VnbGljaGtlaXQsIDEwLC0gRE0gbWVocgpHcnVuZGdlYnVlaHIKICAgICB6dSB6YWhsZW4gdW5kIGRhbm4gc2Nob24gYWIgMTggVWhyIGZ1ZXIgM3BmIHBybyBNaW51dGUgenUgdGVsZWZvbmllcmVuCm9kZXIKICAgICB6dSBtdWRkZW4sIGplIG5hY2ggZGVtIDspIERhcyBndXRlIGRhcmFuIGlzdCwgZGFzIG1hbiBkYXMgZ2FuemUKV29jaGVuZW5kZQogICAgIGF1Y2ggbmFjaG1pdHRhZ3MgbnVyIDNwZiBwcm8gTWludXRlIHphaGx0LCB3YXMgc2ljaCBhdWYgbWVpbmVyClRlbGVmb25yZWNobnVuZwogICAgIGRldXRsaWNoIGJlbWVya2JhciBnZW1hY2h0IGhhdC4KCmxpZWJlIGdydWVzc2UKc3VibAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDlrNi1TdGFuZGxlaXR1bmcgKFBhZHJlaWMsIDIwLiBGZWIgMjAwMCwgMTc6NTU6MzIpOgp+IyEgcm49U3VibGltZSBydD05NTEwNjU2MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKV2FzIER1IG1laW5zdCBpc3QgQWt0aXYgUGx1cyB1bmQgaXN0IF9uaWNodF8gYXVmIElTRE4gS3VuZGVuIGJlc2NocmFlbmt0LCBmdWVyCklTRE4gS3VuZGVuIGdpYnQgZXMgZGFzIGplZG9jaCBub2NobWFsIGVpbiB3ZW5pZyBiaWxsaWdlciB1bmQgbmVubnQgc2ljaCBkYW5uCklTRE4gMzAwLgpXZW5ucyBEaXIgbnVyIHVtcyBXRSBnZWh0LCBkYW5uIG5pbW1zdGUgYWJlciBiZXNzZXIgQ2l0eVdlZWtlbmQsIGRhcyBrb3N0ZXQKbmFlbWxpY2ggbnVyIDUsLSBtZWhyLgoKUGFkcmVpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogOWs2LVN0YW5kbGVpdHVuZyAoVGlhbWFrLCAyMC4gRmViIDIwMDAsIDE5OjEzOjE2KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTUxMDY1NzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkFiIGRlbSAwMS4wMy4yMDAwIGthbm4gbWFuIHNpY2ggYWxzIElTRE4tS3VuZGUgZGVyIFRlbGVrb20gYXVjaCBDaXR5V2Vla2VuZApzY2hlbmtlbiwgc28gZGllIEdlcnVlY2h0ZSBkZW5uIHN0aW1tZW4uIERlbW5hY2ggd2lyZCBkaWUgVGVsZWtvbSB6dXIgQ2VCaXQKbmFlbWxpY2ggbmV1ZSBUYXJpZnNlbmt1bmdlbiBiZWthbm50Z2ViZW4gLSBkaWUgaW50ZXJlc3NhbnRlbiBmdWVyIE11ZGRlcjogZGllCiJndWVuc3RpZ2UiICgqa251cnIqKSBaZWl0IGdpbHQgYWIgMTg6MDAgVWhyIHVuZCBuaWNodCBlcnN0IGFiIDIxOjAwIFVociB1bmQKYW0gV29jaGVuZW5kZSBkZW4gZ2FuemVuIFRhZyB1ZWJlci4gQWxzbyB3aWVkZXIgc28gd2llIHZvciBkZXIgZXJzdGVuIGdyb3NzZW4KVGFyaWYic2Vua3VuZyIgdm9yIGVpbiBwYWFyIEphaHJlbi4KCkRlciBmdWVyIGRpZSAiRmVpZXJhYmVuZC1NdWRkZXIiIHJlbnRhYmVsc3RlIFRlbGVrb20tVGFyaWYgaXN0IHVlYnJpZ2VucwpTZWxlY3QgNS8zMCAtIHNvZmVybiBkZXIgUHJvdmlkZXIgZWluZSBub3JtYWxlIE9ydHN2b3J3YWhsIGJlbnV0enQuIEtvc3RldCA1LC0KRE0vTW9uYXQgdW5kIHNlbmt0IGRpZSBUZWxlZm9ucmVjaG51bmcgdW0gYmlzIHp1IDMwJS4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IDlrNi1TdGFuZGxlaXR1bmcgKEJyYW5kaXIsIDIwLiBGZWIgMjAwMCwgMjI6NDU6MTcpOgp+IyEgcm49VGlhbWFrIHJ0PTk1MTA3MDM5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpBbHNvIHp1IGRlciAxMERNIEZsYXRyYXRlIGF1ZiBkZW0gRC1LYW5hbCB3dXJkZSBuZXVsaWNoIHdhcyBpbSBSYWRpbyBvZGVyCkZlcm5zZWhlbiAod2Vpc3MgbmltbWVyKSBnZXNhZ3QuIERlbW5hY2ggc29sbCBkYXMgZXNydG1hbCBpbiBCZXJsaW5nIHVuZApIYW5ub3ZlciAoZ2xhdWIgaWNoKSBnZXRlc3RldCB3ZXJkZW4uIERhcyB3aXJkIG51ciBkYW5uIGR1cmNoa29tbWVuLCB3ZW5uIGVzCmRvcnQgbmljaHQgenUgc2VociB1ZWJlcnRyaWViZW4gd2lyZC4gQWxzbyBoYWx0ZXQgZXVjaCB6dXJ1ZWNrIDopIERlbm4gZGllClRlbGVrb20gYmVmdWVyY2h0ZXQsIGRhcyBiZWkgenUgZ3Jvc3NlbSBOdXR6ZW4gRGV1dHNjaGxhbmR3ZWl0LCBkaWUgTmV0emUKenVzYW1tZW5icmVjaGVuIGtvZW5udGVuLgpFcyB3aXJkIGF1Y2ggc28gYWJsYXVmZW4sIGRhc3MgKGljaCBuZWhtZSBhbiB1ZWJlciBlaWdlbmUgVHJlaWJlcikgYXV0b21hdGlzY2gKYXVmIGVpbmVuIGRlciBCLUthbmFlbGUgZ2VzY2hhbHRldCB3aXJkLCBzb2JhbGQgZGFzIERhdGVudm9sdW1lbiB6dSBncm9zcwp3aXJkLiBJY2ggZ2VoZSBtYWwgZGF2b24gYXVzLCBkYXNzIGVzIFByb2dyYW1tZSBpbSBOZXR6IGdpYnQsIGRpZSBkaWUKQmFuZGJyZWl0ZSBiZWdyZW56ZW4ga29lbm5lbiwgd29taXQgZGFzIGRhbm4ga2VpbiBQcm9ibGVtIHdlcmRlbiBzb2xsdGUuLi4gCkJsZWlidCBudXIgZGllIGJpdHRlIGFuIGRpZSBNYWdpZXIga2VpbmUgTWVnYXNjcm9sbGVuZGUgTW9uc3RlciBtZWhyIHp1CnByb2dnZW4sIGRhbWl0IGRhcyBWb2x1bWVuIGtsZWluIGJsZWlidCA6KSAobmljaHQgd2FociBSb2NodXMgPyA6KSkKCkhtbW0sIHdlbm4gaWNoIGVzIG1pciBqZXR6dCByZWNodCB1ZWJlcmxlZ2UsIGthbm4gZXMgYXVjaCBzZWluLCBkYXNzIGljaCBkZW4KQmVyaWNodCBpbiBkZXIgQ1QgZ2VsZXNlbiBoYWJlIC0ga2VpbmUgQWhudW5nIDopCgpCcmFuZGlyIC0gaG9mZnQsIGRhc3MgZXMgZGllc21hbCB3YXMgd2lyZC4KCnAucy46IGlnbm9yaWVyZSBUeXBvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogOWs2LVN0YW5kbGVpdHVuZyAoU3VibGltZSwgMjAuIEZlYiAyMDAwLCAyMjo1NDoxMik6Cn4jISBybj1CcmFuZGlyIHJ0PTk1MTA4MzExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpNaWNoIHd1ZXJkZSBtYWwgaW50ZXJlc3NpZXJlbiwgd2llIGRpZSBhbWVyaWthbmlzY2hlbiBUZWxlZm9uZ2VzZWxsc2NoYWZ0ZW4KZGllc2VzIFByb2JsZW0gZ2Vsb2VzdCBoYWJlbi4gSWNoIG1laW4sIGRpZSBGbGF0cmF0ZSBpbSBPcnQgaXN0IGRvcnQgamEKcXVhc2kgU3RhbmRhcmQuClVuZCBhdXNzZXJkZW0gaGVpc3N0J3MgZG9jaCBpbW1lciwgRGV1dHNjaGxhbmQgaGFldHRlIGRhcyB3b2hsIGJlc3QKYXVzZ2ViYXV0ZXN0ZSBUZWxla29tbXVuaWthdGlvbnNuZXR6IGRlciBXZWx0ICEgQWxzbyBiaXR0ZSwgd2FzIHJlZ3QgZGllClRlbGVrb20gc2ljaCBzbyBhdWYgPyA7KQoKc3VibCwgZnJhZ2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogOWs2LVN0YW5kbGVpdHVuZyAoQW5hdG9sLCAyMC4gRmViIDIwMDAsIDIyOjU5OjQwKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMDgzNjUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkRpZSBtYWNoZW4gaWhyIEdlbGQsIGRlbmtlIGljaCwgZHVyY2ggZGllIEZlcm5nZXNwcmFlY2hlLiBEaWUgU3RhYXRlbgpzaW5kIGphIGF1Y2ggZWluIGJpc3NjaGVuIGdyb2Vzc2VyIGFscyBndWQgb3VsZCBEc2Nob2VybWFlbmkuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogOWs2LVN0YW5kbGVpdHVuZyAoU3VibGltZSwgMjEuIEZlYiAyMDAwLCAwMDoyMToyNSk6Cn4jISBybj1BbmF0b2wgcnQ9OTUxMDgzOTgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkRpZSBGcmFnZSB6aWVsdGUgdmllbG1laHIgZGFyYXVmIGFiLCB3aWUgZGllIGFtZXJpa2FuaXNjaGVuIApUZWxlZm9uZ2VzZWxsc2NoYWZ0ZW4gZGllIFByb2JsZW1lIG1pdCBkZXIgVWViZXJsYXN0dW5nIGdlLQpsb2VzdCBoYWJlbi4gRGFzIHd1ZXJkZSBtaWNoIG1hbCBpbnRlcmVzc2llcmVuLCBkZW5uIGRvcnQgCmdpYnQgZXMgamEgbWVpc3Qgbm9jaCB2aWVsIGdyb2Vzc2VyZSBCYWxsdW5nc2dlYmlldGUuLi4KCnN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IDlrNi1TdGFuZGxlaXR1bmcgKEhvYm8sIDIxLiBGZWIgMjAwMCwgMDk6MDU6NDcpOgp+IyEgcm49U3VibGltZSBydD05NTEwODM2NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKSG1tLCAKZGllIGtvcnJla3RlIFZlcnNpb24gbGF1dGV0OiBkYXMgd29obCBiZXN0IGF1c2dlYmF1dGVzdGUgR2xhc2Zhc2VybmV0eiBkZXIKV2VsdC4gVW5kIGRhcyBoYXQgRGV1dHNjaGxhbmQgd29obCB0YXRzYWVjaGxpY2gsIGluIGRlbiBVU0EgbGFldWZ0IGRhbmsgQURTTAp2aWVsZXMgZWJlbiBub2NoIHVlYmVyIGRpZSBLdXBmZXJrYWJlbC4KCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IDlrNi1TdGFuZGxlaXR1bmcgKERlZXBibHVlLCAyMS4gRmViIDIwMDAsIDA5OjA2OjE5KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMDgzNjUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkRhcyBBdXNiYXVlbiBlaW5lcyBUZWxlZm9ubmV0emVzIGtvc3RldCB2aWVsIEdlbGQsIHVuZCBkYXMgbXVzcyBkaWUgVGVsZWtvbQp3aWVkZXIgZWlubmVobWVuLiBadW0gVVMtTmV0ejogZGllIFZlcmJpbmR1bmdzcXVhbGl0YWV0IGlzdCBkb3J0IHRlaWx3ZWlzZQpncmF1ZW5lcnJlZ2VuZCwgYXVjaCBhYmJydWVjaGUgZ2lidCBlcyBpbW1lciB3aWVkZXIuIExpbmUgbm9pc2Ugc3BvbnNvcmVkIGJ5CkFUJlQKVW5kIEdydW5kZ2VidWVocmVuIHRlaWx3ZWlzZSB1bSAkMTAwIHNpbmQgYXVjaCBuaWNodCBzbyB0b2xsLCBkYXMgZXJyZWljaCBpY2gKaW5rbHVzaXZlIEdlc3ByYWVjaHNnZWJ1ZWhyZW4gbmljaHQgbWFsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogOWs2LVN0YW5kbGVpdHVuZyAoRGVlcGJsdWUsIDIxLiBGZWIgMjAwMCwgMDk6MDk6MDEpOgp+IyEgcm49U3VibGltZSBydD05NTEwODg4ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKRGllIFVlYmVydHJhZ2VuIElocmUgRGF0ZW4gbm9ybWFsIHVuZCBuaWNodCBhdWYgZGVtIFNpZ25hbGlzaWVydW5nc2thbmFsLiBXZW5uCkR1IGluIERlaW5lbSBDb21wdXRlciBEYXRlbiB1ZWJlciBkZW4gU3RldWVyYnVzIHVlYmVydHJhZ2VuIGxhZXNzdCB1bmQgamVkZXMKR2VyYWV0IGRhcyBtYWNodCBnaWJ0cyBhdWNoIGFlcmdlci4gU292aWVsIGljaCB3ZWlzcywgdmVya3JhZnRldCBkZXIgRC1LYW5hbAplaW4genVzYWV0emxpY2hlcyBEYXRlbnZvbHVtZW4gdm9uIDJrIHByb2JsZW1sb3MsIGRhcmFuIHdpcmQgc2ljaCBkaWUgVApvcmllbnRpZXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiA5azYtU3RhbmRsZWl0dW5nIChLYXJhbSwgMjEuIEZlYiAyMDAwLCAxMToxNDo0Mik6Cn4jISBybj1EZWVwYmx1ZSBydD05NTExMjA1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKV2FzIGRpZSBEYXRlbiBhdWYgZGVtIEQtS2FuYWwgYmV0cmlmZnQ6IFNjaG9uIHZvciBlaW5pZ2VyIFplaXQgZ2FiIGVzIGVpbmVuCkJlcmljaHQgaW4gZGVyIGMndCBvZGVyIGlYIHVlYmVyIERhdGV4LVAgdWViZXIgZGVuIEQtS2FuYWwuIERhcyBpc3QgYWxzbyBhbgpzaWNoIGtlaW5lIG5ldWUgRXJmaW5kdW5nLCBzb25kZXJuIGVpbmZhY2ggVENQL0lQIHN0YXR0IERhdGV4LVAgKHdlciB3ZWlzcywKdmllbGxlaWNodCB3ZXJkZW4gZGllIElQLVBha2V0ZSBhdWNoIG51ciBpbiBEYXRleC1QLVBhZWNrY2hlbiB2ZXJwYWNrdCkuCkRpZSBCYW5kYnJlaXRlIHdhciBuYXR1ZXJsaWNoIGF1ZiAxNiBrQml0L3MgbWludXMgd2FzIGRhIHNvIG5vcm1hbCB1ZWJlciBkZW4KRC1LYW5hbCBnZWh0IGJlc2NocmFlbmt0LgoKLS0KS2FyYW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhbGFuY2UtSGlsZmVzZWl0ZSAoQm9pbmcsIDIxLiBGZWIgMjAwMCwgMTE6NTY6MDUpOgpBdWYgdmllbGZhY2hlbiBXdW5zY2ggZ2lidCBlcyBqZXR6dCBlaW5lIEhpbGZlc2VpdGUgenVyIEJhbGFuY2UsIGFicnVmYmFyCm1pdCAnaGlsZmUgYmFsYW5jZScuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDlrNi1TdGFuZGxlaXR1bmcgKEplaG92YSwgMjEuIEZlYiAyMDAwLCAxODoxNTo1Mik6Cn4jISBybj1CcmFuZGlyIHJ0PTk1MTA4MzExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgoKPiBCbGVpYnQgbnVyIGRpZSBiaXR0ZSBhbiBkaWUgTWFnaWVyIGtlaW5lIE1lZ2FzY3JvbGxlbmRlIE1vbnN0ZXIgbWVociB6dQo+IHByb2dnZW4sIGRhbWl0IGRhcyBWb2x1bWVuIGtsZWluIGJsZWlidCA6KSAobmljaHQgd2FociBSb2NodXMgPyA6KQoKRGEgc3RlbGx0IHNpY2ggbWlyIGRpZSBGcmFnZSwgb2IgZXMgc2lubnZvbGwgaXN0LCBkYXMgTXVkIENsaWVudCBDb21wcmVzc2lvbgpQcm90b2NvbCB6dSBpbXBsZW1lbnRpZXJlbi4gRXMgZ2lidCBqYSBtaXR0bGVyd2VpbGUgZWluaWdlIENsaWVudHMsIGRpZSBkYXMKdW50ZXJzdHVldHplbiwgYWJlciBpc3QgZGVyIFRyYWZmaWMsIGRlciBkdXJjaCBlaW4gTVVEIGVyemV1Z3Qgd2lyZCB3aXJrbGljaApzbyBlbm9ybSwgZGFzcyBzaWNoIHNvZXR3YXMgbG9obnQ/CgpWaWVsbGVpY2h0IGtvZW5udGUgamEgbWFsIHdlciB0ZXN0d2Vpc2UgZGFzIE1DQ1AgaW4gZGllIE11ZExpYi9kZW4gRHJpdmVyCmVpbmJhdWVuPwoKV2llIGF1Y2ggaW1tZXIsIGRpZSBIb21lcGFnZSBpc3Q6Cmh0dHA6Ly9ob21lcGFnZXMuaWh1Zy5jby5uei9+aWNlY3ViZS9jb21wcmVzcy9pbmRleC5odG1sCgpKKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IDlrNi1TdGFuZGxlaXR1bmcgKFBhbXBlcnMsIDIxLiBGZWIgMjAwMCwgMTk6MTk6MjIpOgp+IyEgcm49QW5hdG9sIHJ0PTk1MTA4Mzk4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpLYXVtIHJpY2h0aWNoLiBEaWUgTG9uZyBEaXN0YW5jZSBDYXJyaWVycyBzaW5kIGluIGRlbiBVU0Egc2VpdCAxOTg2IG1pdCBkZW4KUmVnaW9uYWwgQmVsbHMgd2VkZXIgdmVyd2FuZHQgbm9jaCB2ZXJzY2h3YWVnZXJ0LgoKUGFtcGVycy4gV2Vpc3MsIHdpZSBpbiBkZW4gVVNBIGRhcyBUZWxlcGhvbm5ldHogZnVua3Rpb25pZXJ0IHVuZCBpc3QgZGVzaGFsYgpmcm9oLCBoaWVyIHp1IHdvaG5lbi4uLiAqc2NodWV0dGVsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogOWs2LVN0YW5kbGVpdHVuZyAoRGVlcGJsdWUsIDIxLiBGZWIgMjAwMCwgMjI6MjQ6MzEpOgp+IyEgcm49SmVob3ZhIHJ0PTk1MTE1MzM1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpFaGVyIHNvbGx0ZW4gZGllIFZlcmJpbmR1bmdzc2VydmVyIFY0MmIgdW50ZXJzdHVldHplbiwgbW9lZ2xpY2hzdCBmdWVyIGRpdmVyc2UKSVNETi1TeXN0ZW1lLiBEYXMga29tcHJpbWllcnQgZ2VudWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiA5azYtU3RhbmRsZWl0dW5nIChUaG9yYWssIDIyLiBGZWIgMjAwMCwgMDA6MTM6MjUpOgp+IyEgcm49UGFkcmVpYyBydD05NTEwNjUxODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKYWxzbyBuYWNoZGVtIGljaCBqYW51YXIgZWluZSBuaWNodCBtZWhyIHp1IHZlcnRyZXRlbmRlIHRlbC1yZWNodW5nCmJla29tbWVuIGhhYiwgaGFiIGljaCBtaXIgZGllIGZsYXRyYXRlIHZvbiBzdXJmMSB6dWdlbGVndCB1bmQgbXVzcyBlY2h0CnNhZ2VuIGRhc3MgaWNoIGJpcyBqZXR6dCBzZWhyIHp1ZnJpZWRlbiBiaW4uIGljaCB6YWhsIGpldHp0IDk5LC0gcHJvCm1vbmF0IChwcmUtcGF5IGZ1ZXIgZWluIGphaHIgOy0pIHVuZCBrYW5uIHNvdmllbCBvbmxpbmUgc2VpbiB3aWUgaWNoIHdpbGwuCm5hY2ggMjRoIHdlcmQgaWNoIGhhbHQgZ2V0cmVubnQgdW0gbmV1IGNvbm5lY3RlbiB6dSBtdWVzc2VuLgp2b20gZGF0ZW5kdXJjaHNhdHogYmluIGljaCBtZWlzdGVucyBiZWkgY2EgN2svc2VrLiB1bmQgd2VuIGVzIGludGVyZXNzaWVydDoKaWNoIGhhYiB6dSBkZXV0c2NoZW4gdW5kIGVuZ2xpc2NoZW4gcXVha2UyLXNlcnZlcm4gbmVuIHBpbmcgdm9uIDcwLTEwMG1zCnVuZCB6dSBkZXNjZW50MiszLXNlcnZlcm4gMTAwLTEyMG1zLiBhbHNvIGVpZ2VudGxpY2ggZ2FueiBndXQuCmRhcyBlaW56aWdlIHdhcyBtaWNoIGltIG1vbWVudCBuZXJ2dCwgaXN0IGRhc3MgaWNoIGRhcyBuaWNodCBzY2hvbiBmcnVlaGVyCmdlbWFjaHQgaGFiIDspCgp0aG9yYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IDlrNi1TdGFuZGxlaXR1bmcgKFRpYW1haywgMjIuIEZlYiAyMDAwLCAxNDoyNjo0MCk6Cn4jISBybj1UaWFtYWsgcnQ9OTUxMDcwMzk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkVzIGlzdCBzb3dlaXQgLSBkaWUgR2VydWVjaHRlIHd1cmRlbiB2b24gUm9uIFNvbW1lciBiZXN0YWV0aWd0OgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvamstMjIuMDIuMDAtMDA1LwoKQWIgMDEuMDMuMjAwMCBhbHNvIGFiIDE4OjAwIFVociB1bmQgZGFzIGdhbnplIFdFIHVlYmVyIGZ1ZXIgMiwxIFBmZW5uaWcvTWludXRlCm11ZGRlbiAoT3J0c2dlc3ByYWVjaCBpbiBWZXJiaW5kdW5nIG1pdCBTZWxlY3QgNS8zMCkgdW5kIGFiIGRlbSAwMS4wNS4yMDAwCmZ1ZXIgdW50ZXIgaHVuZGVydCBNYXJrIHBhdXNjaGFsLgoKVGlhbWFrLiBXYXJ0ZXQgZ2VzcGFubnQgYXVmIGRpZSBLb25rdXJyZW56LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IDlrNi1TdGFuZGxlaXR1bmcgKFN1YmxpbWUsIDIyLiBGZWIgMjAwMCwgMjE6MDQ6MTYpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTUxMTIwMzc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2ClVtIG1hbCBtaXQgWmFobGVuIGF1Znp1d2FydGVuICh2aWVsbGVpY2h0IHdlaXNzIE5ldm9rIGphIHdhcwphbmQncmVzKSA6IE1laW4gT25rZWwgd29obnQgaW4gSGFsaWZheCwgTm92YSBTY290aWEsIENhbmFkYQp1bmQgemFobHQgc28gMzAkLCBhbHNvIGtuYXBwIDYwIE1hZXJrZXIgcHJvIE1vbmF0IHVuZCBoYXQKendpc2NoZW4gOCBVaHIgbW9yZ2VucyB1bmQgMTggVWhyIGFiZW5kcyBrb3N0ZW5sb3NlIE9ydHMtCmdlc3ByYWVjaGUgenVtIE51dHplbi4gOykgQWJlciBzaWNoZXIgZ2lidCdzIGlyZ2VuZHdvIGF1ZgpkaWVzZW0gcmllc2VuIEtvbnRpbmVudCBhdWNoIFJlZ2lvbmVuLCB3byBkYXMgdGV1cmVyIGlzdC4KCnN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiA5azYtU3RhbmRsZWl0dW5nIChBY3JpbW9uLCAyMy4gRmViIDIwMDAsIDE1OjUxOjI2KToKfiMhIHJuPUthcmFtIHJ0PTk1MTEyODA4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpJY2ggZGVua2UsIGRpZSBUZWxla29tIGthbm4gZ2FyIGtlaW4gVENQL0lQPyBXZW5uIHNpZSBlcyBrb2VubnRlLCBkYW5uCmJyYWV1Y2h0ZSBzaWUga2VpbmUgU3BlemlhbHNvZnR3YXJlLgoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IDlrNi1TdGFuZGxlaXR1bmcgKFNvcmNlcmVyLCAyMy4gRmViIDIwMDAsIDE2OjA3OjE2KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMjQ5ODU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2ClVtIGF1Y2ggbm9jaCBlaW4gcGFhciBaYWhsZW4gYmVpenV0cmFnZW4gKGF1Y2ggd2VubiBlcyB3b2hsIGFuIGRlciBTaXR1YXRpb24KaW4gLmRlIG5peCBhZW5kZXJuIHdpcmQpIDoKaWNoIGhhYiBpbiBBbGJ1cXVlcnF1ZSwgTk0sIFVTQSBpbiBkZW4gMTUgTW9uYXRlbiwgZGllIGljaCBkYSB3YXIgJDIxCkdydW5kZ2VidWVociBnZXphaGx0IHVuZCBhbGxlIE9ydHMtIHVuZCAiTmFoYmVyZWljaHMtIkdlc3ByYWVjaGUgKGRpZSBnaW5nZW4KdGVpbHdlaXNlIGJpcyB6dSA1MCBNZWlsZW4gd2VpdCkgb2huZSBleHRyYSBHZWJ1ZWhyZW4gLSAyNGggYW0gVGFnLgoKU29yY2VyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiA5azYtU3RhbmRsZWl0dW5nIChUb2UsIDIzLiBGZWIgMjAwMCwgMTg6NTk6NTcpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTUxMTIwNTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CmRpZSBUZWxla29tIHNhZ3Qgdm9uIGRlbiAxNmsgQmFuZGJyZWl0ZSBrb2VubmVuIDlLNiBiZW51dHp0IHdlcmRlbiwgZGVyIFJlc3QKd2lyZCBmdWVyIGRpZSBWZXJ3YWx0dW5nIGRlciBCLUthbmFlbGUgYmVub2V0aWd0Lgp0b2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiA5azYtU3RhbmRsZWl0dW5nIChTdWJsaW1lLCAyMy4gRmViIDIwMDAsIDE5OjQ4OjI0KToKfiMhIHJuPVRvZSBydD05NTEzMjg3OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKV2FzIGhlaXNzdCBkZW4gaGllciBWZXJ3YWx0dW5nID8gRXR3YSBkaWUgcmVzdGxpY2hlIEJhbmRicmVpdGUsCmRpZSBkaWUgbmV0dGVuIERhbWVuIHVuZCBIZXJyZW4gdm9uIGRlciBUZWxla29tIHp1bSBzZWxiZXIKc3VyZmVuIG51dHplbiB3b2xsZW4vZHVlcmZlbi9tdWVzc2VuL2tvZW5uZW4gPyA7KSBXYWVyIGphIG1hbAp3YXMgbmV1ZXMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiA5azYtU3RhbmRsZWl0dW5nIChUb2UsIDIzLiBGZWIgMjAwMCwgMTk6NTE6MTgpOgp+IyEgcm49U3VibGltZSBydD05NTEzMzE3MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKV28gbWFjaGUgaWNoIG51ciBkZW4gRGVua2ZlaGxlcj8gSWNoIGRhY2h0ZSBkZXIgRC1LYW5hbCB2ZXJiaW5kZXQgZGllClZlcm1pdHRsdW5nc3N0ZWxsZSBtaXQgbWVpbmVtIFRlbGVmb25hbnNjaGx1c3M/IFVuZCBkaWVzZXIgRC1LYW5hbCBicmF1Y2h0CmhhbHQgZXR3YXMgQmFuZGJyZWl0ZSBmdWVyIGRpZSBVZWJlcm1pdHRsdW5nIGRlciBEYXRlbiBpbSBSYWhtZW4gZWluZXMKVGVsZWZvbmFucnVmZXMgYXVmIGRlbiBCLUthbmFlbGVuIChSdWZudW1tZXIsIGJlc2V0enQsIEtvbmZlcmVuenNjaGFsdHVuZywKR2ViaHJlbiwgZXRjLikKCnRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IDlrNi1TdGFuZGxlaXR1bmcgKERlZXBibHVlLCAyNC4gRmViIDIwMDAsIDA5OjI3OjQxKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxMzMxNzA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2Ck5vZSwgUnVmbnVtbWVybnVlYmVybWl0dGx1bmcsIGFicmVjaG51bmcsIEZlaGxlcnVlYmVybWl0dGx1bmcKRWJlbiBhbGxlcywgd296dSBlaW4gU3RldWVyYnVzL2thbmFsIGVpZ2VudGxpY2ggZGEgaXN0LgpTY2hvbiBtYWwgdmVyc3VjaHQsIHVlYmVyIGRlbiBBZHJlc3NidXMgRGF0ZW4genUgdmVyc2VuZGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaHJ1ZiBmdWVyIGVpbmVuIGd1dGVuIEZyZXVuZCAoTWVzaXJpaSwgMjQuIEZlYiAyMDAwLCAxMDoyMjoyOCk6ClJ1YnJpayBBbnplaWdlbiBBcnRpa2VsIDEwCk1lc2lyaWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiA5azYtU3RhbmRsZWl0dW5nIChCYW1idWxrbywgMjQuIEZlYiAyMDAwLCAxMzoyOTowMCk6Cn4jISBybj1TdWJsaW1lIHJ0PTk1MTI0OTg1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpJbiBSdXNzbGFuZCBzaW5kIGFsbGUgT3J0c2dlc3ByYWVjaGUga29zdGVubG9zLi4uLi4uIERhIG1hY2h0IGRhcyBzdXJmZW4gZG9jaApyaWNodGlnIHNwYXNzLi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiA5azYtU3RhbmRsZWl0dW5nIChMaWFyYSwgMjQuIEZlYiAyMDAwLCAxMzo1MToyMSk6Cn4jISBybj1CYW1idWxrbyBydD05NTEzOTUzNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKQWhhLCB1bmQgd28ga2Fubi9tdXNzIG1hbiBzaWNoIGRhIGVpbndhZWhsZW4/IDstKSAKSW4gUG9sZW4/IDstKQoKTGlhcmEsIFp3ZXJnZW56YXViZXJpbmUgKC0+IFNjaG1hcnJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDlrNi1TdGFuZGxlaXR1bmcgKFN1YmxpbWUsIDI0LiBGZWIgMjAwMCwgMTg6MDY6NTIpOgp+IyEgcm49QmFtYnVsa28gcnQ9OTUxMzk1MzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwOTUxNzA2CkRhIG11c3N0IER1IGFiZXIgZXJzdG1hbCBkaWUgR3J1bmRnZWJ1ZWhyIGJlemFobGVuIGtvZW5uZW4uIFVuZCB3ZXIKa3JpZWd0IGRhIHNjaG9uIGdlcmVnZWx0IExvaG4gPyA7KQoKU3VibCwgZ3JhZGUgRG9rdSB1ZWJlciBSdXNzbGFuZCBnZXNlaCduLgpubgoqYXJnbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiA5azYtU3RhbmRsZWl0dW5nIChBcG9waGlzLCAyNC4gRmViIDIwMDAsIDE4OjQyOjE2KToKfiMhIHJuPURlZXBibHVlIHJ0PTk1MTM4MDg2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgppbiBkZXIgRWxla3Ryb25payBrYW5uIGVzIGR1cmNoYXVzIHNjaG9ubWFsIHZvcmtvbW1lbiwgZGFzcyBhdWNoIHVlYmVyIGRlbgpBZHJlc3NidXMgRGF0ZW4gZ2VzY2hpY2t0IHdlcmRlbi4uLiB3YXJ1bSBhbHNvIGF1Y2ggbmljaHQgaGllcj8KCkFwb3BoaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiA5azYtU3RhbmRsZWl0dW5nIChOZXZvaywgMjUuIEZlYiAyMDAwLCAwMTozOTozNSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk1MTI0OTg1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpIbW1tbSBpY2ggd2Vpc3MgbmV0LCBpY2ggemFobGUgaW0gTW9uYXQgNyBEb2xsYXIgZnVlciBtZWluZW4gQW5zY2hsdXNzLCBkYWZ1ZXIKa29zdGVubG9zZSBPcnRzZ2VzcHJhZWNoZSBydW5kIHVtIGRpZSBVaHIsIDIwIERvbGxhciBmdWVyIGRlbiBJbnRlcm5ldHp1Z2FuZwpkZXIgdW5saW1pdGllcnQgaXMgaW0gTW9uYXQgdW5kIGRhbm4gaGFsdCBqZSBuYWNoIHRhZ2VzemVpdCA5IG9kZXIgMTcgQ2VudApuYWNoIERldXRzY2hsYW5kIHBybyBNaW51dGUuIEZlcm5nZXNwcmFlY2hlIHNjaGxhZ2VuIGZ1ZXIgbWljaCBtaXQgNwpjZW50L01pbnV0ZSBoaWVyIHp1IEJ1Y2hlLCBzcHJpY2ggYXVzc2VyaGFsYiBtZWluZXMgT3J0c25ldHp0ZXMgdW5kIGluIGFuZGVyZQpCdW5kZXNzdGFhdGVuLiBXZXIgaGllciB3YXMgdm9uIEdydW5kZ2VidWVociAxMDAkIGZhc2VsdCByZWRldCBTY2h3YWNoc2lubi4KSWNoIHdvaG5lIHp1ZGVtIG5vY2ggaW4gZWluZW0gS2FmZiwgNDAuMDAwIEVpbndvaG5lciAoaW5rbHVzaXZlIFVtZmVsZCkgbWl0Cnp1c2FldHpsaWNoIGtuYXBwIDE2LjAwMCBTdHVkZW50ZW4uIEhpZXIgc2luZCBiZXN0aW1tdCBrZWluZSBob2NobW9kZXJuZW4KVGVsZWZvbmxlaXR1bmdlbiwgYWJlciBncm9zc2FydGlnZSBVZWJlcnRyYWd1bmdzcXVhbGl0YWV0c3Zlcmx1c3RlIGhhYiBpY2gKbmljaHQsIGltIEdlZ2VudGVpbCwgZGllIFZlcmJpbmR1bmcgaXN0IGJlc3NlciB1bmQga2xhcmVyIGFscyBpbiBCb25uIHdvIGljaApkYXZvciBtZWluIGRhc2VpbiBnZWZyaXN0ZXQgaGFiZS4gRG93bmxvYWRzIHVlYmVyIDU2SyBNb2RlbSB6d2lzY2hlbiA0ayB1bmQgNWsKc2luZCBkaWUgUmVnZWwuIFNvb29vb28gc2NobGVjaHQgZmluZCBpY2ggZGFzIG5ldC4gCgpOZXZvawoKUC5TLjogQWIgQXVndXN0IGhhYiBpY2ggZGFubiBhYmVyIGF1Y2ggbmUgRXRoZXJuZXQgU3RhbmRsZWl0dW5nIGZ1ZXIKMTckL01vbmF0LiBOaWUgd2llZGVyIE1vZGVtLiBBRFNMIHdpcmQgaGllciBhdWNoIGFuZ2Vib3RlbiBmdWVyIDUwJC9Nb25hdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiA5azYtU3RhbmRsZWl0dW5nIChEZWVwYmx1ZSwgMjUuIEZlYiAyMDAwLCAwOTo1ODoyMik6Cn4jISBybj1OZXZvayBydD05NTE0MzkxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKSWNoIHdlaXNzIG5pY2h0LCB3YXMgbWVpbmUgVmVybWlldGVyaW4gYWxsZXMgYW4gdW5nZW51dHp0ZW4gTGVpc3R1bmdlbgptaXRnZXphaGx0IGhhdC4gQWxsZWRpbmdzIHNpbmQgZGllIEtvc3RlbiBhbiBkZXIgInJlaWNoZW4iIE9zdGt1ZXN0ZSBhdWNoCmhvZWhlci4gQ29tcHV0ZXIgd2FyIG5pY2h0IGltIEhhdXMgKGFsc28gYXVjaCBrZWluIEludGVybmV0KSwgS2FiZWxmZXJuc2VoZW4Kd2FyIGV4dHJhLiBPcnRzZ2VzcHJhZWNoZSBmcmVpLCBGZXJuZ2VzcHJhZWNoZSAxMiBjZW50L01pbnV0ZSB1ZWJlciBBVCZULgpNZWhyIHdlaXNzIGljaCBuaWNodCwgaWNoIGhhYiBoYWx0IG51ciBpbW1lciBkaWUgVGVsZWZvbnJlY2hudW5nIGdlc2VoZW4gdW5kCm1laW5lIEdlc3ByYWVjaGUgcmF1c2dlc3VjaHQuIChXYXJlbiBuaWNodCB2aWVsLCB3ZWlsIGljaCBuYWNoIERldXRzY2hsYW5kCnVlYmVyIENhbGx0aHJ1IGFuZ2VydWZlbiBoYWIuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IDlrNi1TdGFuZGxlaXR1bmcgKFBhcnNpdmFsLCAyNS4gRmViIDIwMDAsIDE0OjMyOjMwKToKfiMhIHJuPURlZXBibHVlIHJ0PTk1MTQ2OTEwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MDk1MTcwNgpOYWphLCBBVCZUIGlzdCB3b2hsIGF1Y2ggbmljaHQgZ2VyYWRlIGRlciBiaWxsaWdzdGUgQW5iaWV0ZXIuLi4KClBhcnNpdmFsIC0gZmluZGUgZGllIEFUJlQgTWV0aG9kZSwgZWluZmFjaCBMZXV0ZSBvaG5lIGRlcmVuIFdpc3NlbiB2b24gZWluZXIKYW5kZXJlbiBMb25nLURpc3RhbmNlLUNvbXBhbnkgenUgdWViZXJuZWhtZW4gb2huZWhpbiBldHdhcyAndW5mZWluJyAtIGF1Y2gKd2VubiBlcyBsZWdhbCBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiA5azYtU3RhbmRsZWl0dW5nIChOZXZvaywgMjUuIEZlYiAyMDAwLCAxOToxODoyNSk6Cn4jISBybj1EZWVwYmx1ZSBydD05NTE0NjkxMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKVmlyZ2luaWEgaXN0IGRlciBTdGFhdCBkZXIgT3N0a3Vlc3RlIGRlciBkZXJ6ZWl0IHdpcnRzY2hhZnRsaWNoIGRhcyBncm9lc3N0ZQpXYWNoc3R1bSBoYXQsIEhhcnJpc29uYnVyZyBoYXQgaW0gVmVyZ2xlaWNoIHp1IHNlaW5lciBHcm9lc3NzZSwgcmVsYXRpdiBob2hlCkxlYmVuc2hhbHR1bmdza29zdGVuLiBXaXIgaGFiZW4gaGllciBkZXJ6ZWl0IGVpbmUgV2FjaHN0dW1zcXVvdGUgaW4gZGVyIFN0YWR0CnVuZCB1bWdlYnVuZyBkaWUgbmljaHQgbWVociBub3JtYWwgaXN0LCBoaWVyIHdpcmQgZ2ViYXV0IGRhcyBkaWUgU29ja2VuCnF1YWxtZW4gdW5kIHRyb3R6ZGVtIGthbm4gbWFuIGdhciBuaWNodCBzbyB2aWVsIGF1ZiBlaW5tYWwgc2ljaApHcnVuZGdlYnVlaHJ0ZWNobmlzY2ggYXVmaGFsc2VuIGRhc3MgZGEgMTAwJCB6dXNhbW1lbiBrb21tZW4uIERlciBlaW56aWdlCkdydW5kIGZ1ZXIgc28gbmUgaG9oZSBHcnVuZGdlYnVlaHIgaXN0IGVpbmUgQ3JlZGl0aGlzdG9yeSBkaWUga3VyeiB2b3IgZGVtCkJhbmtyb3R0IHN0ZWh0IHVuZC9vZGVyIHNjaG9uIG1hbCBlaW4gYWJiZXN0ZWxsdGVzIFRlbGVmb24gYXVmZ3J1bmQKbmljaHRnZXphaGx0ZXIgUmVjaG51bmdlbiB1ZWJlciBlaW5lbiBsYWVuZ2VyZW4gWmVpdHJhdW0gaGlud2VnLgpEYXMgS2FiZWxmZXJuc2VoZW4gZXh0cmEgZ2VodCBpc3Qga2xhciwgZGFzIEludGVybmV0IGFjY291bnQgZ2VodCBqYSBtZWlzdAphdWNoIG5ldCB1ZWJlciBkZW4gbG9jYWwgcGhvbmUgcHJvdmlkZXIuIAoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiA5azYtU3RhbmRsZWl0dW5nIChOZXZvaywgMjUuIEZlYiAyMDAwLCAxOToyMToyMyk6Cn4jISBybj1QYXJzaXZhbCBydD05NTE0ODU1NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTA5NTE3MDYKTmFqYSBlcyBnaWJ0IGltbWVyIG5vY2ggZGFzIEJldHRlciBCdXNpbmVzcyBCdXJlYXUgKFZlcmJyYXVjaGVyc2NodXR6IGVyc2F0egpkZXIgaGllciBzZWhyIGtvbXBldGVudCBpc3QuLi5pcyBqYSBhdWNoIGRldXRsaWNoIG1laHIgR2VsZCB6dSBlcmtsYWdlbikgdW5kCndlbm4gbWFuIHNpY2ggcmljaHRpZyBhbnN0ZWxsdCBrYW5uIG1hbiBmdWVyIG5lbiBXZWNoc2VsIDgwIERvbGxhciBhbiBHdXRoYWJlbgplcmhhbmRlbG4gZGllIGRhbm4gbWl0IGRlciBuYWVjaHN0ZW4gVGVsZWZvbnJlY2hudW5nIHZlcnJlY2huZXQgd2lyZC4gV2VjaHNlbG4KZGVzIFNlcnZpY2VzIGtvc3RldCBiZWkgbWlyIDUgRG9sbGFyLCBlcmdvIHNpbmQgZGFzIDc1JCBpbiBGcmVpbWludXRlbi4gQXVjaApuZXQgc28gc2NobGVjaHQsIHNvbGx0ZW4gc2llIHdvaGwgbWFsIGluIERldXRzY2hsYW5kIG1hY2hlbi4gV2FzIGljaCBzZWhyIGd1dApmaW5kZSBpc3QgZGFzcyBlcyBmdWVyIGplZGVuIGRlbiByaWNodGlnZW4gVGFyaWYgZ2lidCwgaXN0IHp3YXIgZWluIERzY2h1bmdlbApmdWVyIExldXRlIGRpZSBzaWNoIG5ldCBtaXQgYmVzY2hhZWZ0aWdlbiwgc29iYWxkIG1hbiBhYmVyIG1hbCBlaW5lbgpOYWNobWl0dGFnICdvcGZlcnQnIGthbm4gbWFuIHZlcmRhbW10IHZpZWwgR2VsZCBzcGFyZW4uLi4KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eWJpbGRlciAoT3JrdG9ldGVyLCAyNy4gRmViIDIwMDAsIDIxOjEwOjA2KToKT2tvaywgZXMgaXN0IHNjaG9uIGFyZyBzcGFldCwgYWJlciBpY2ggYmluIGpldHp0IGVyc3QgZGFiZWksIGRpZSBCaWxkZXIgZGVyCmxldHplbiBQYXJ0eSB6dSBzY2FubmVuLi4KV2VubiBqZW1hbmQgbWVpbnQgZHJhdWYgenUgc2VpbiB1bmQgdW5iZWRpbmd0IG5pY2h0IGltIEFsYnVtIHp1IGxhbmRlbiAoYXVzc2VyClN1Z2FhbikgZGFubiBtYWlsZSBlci9zaWUgbWlyIGJpdHRlLCBhbmRlcm5mYWxscywgYW5zY2hhdWVuIHVuZCBiZWkKbmljaHRnZWZhbGVuIGVpbmUgbWFpbCBhbiBSb2NodXMsIGRhcyBlciBlcyB3aWVkZXIgZW50ZmVybmVuIG1vZWdlLiBFcnNjaGVpbmVuCmRlciBCaWxkZXIgOiBJbSBsYXVmZSBkZXIgV29jaGUsIGhvZmZlIGljaC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaTVVEIChEYW50ZSwgMjkuIEZlYiAyMDAwLCAwMjoyODowNSk6CldlaXNzIGplbSB3byBtYW4gbmUgVmVyc2lvbiB2b24gWk1VRCBoZXJiZWtvbW10IGRpZSBuaWNodCBhdWYgMzB4IGxpbWl0aWVydAppc3Q/CkRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpNVUQgKE5ldm9rLCAyOS4gRmViIDIwMDAsIDAyOjMxOjMzKToKfiMhIHJuPURhbnRlIHJ0PTk1MTc4NzY4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MTc4NzY4NQp5byBkaWUga2FubiBtYW4gc2ljaCBrYXVmZW4sIGRhbm4gZnVua3Rpb25pZXJ0IGRpZSBvZWZ0ZXIuLi4uZGVyIHJlc3Qgd2FlcmUKaWxsZWdhbCBvZGVyIHJhdWJrb3BpZSB1bmQgc293YXMgbWFnIGJvaW5nIGphIGdhciBuaWNoIGluIGRlciBtcGEKYnJlaXRnZXRyZXRlbiBoYWJlbi4uLgoKCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFpNVUQgKFRydWcsIDI5LiBGZWIgMjAwMCwgMDI6MzY6NTkpOgp+IyEgcm49TmV2b2sgcnQ9OTUxNzg3ODkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUxNzg3Njg1CkVzIGdpYnQgZGEgbmUgYWx0ZSBGcmVld2FyZSBWZXJzaW9uLCBkaWUgaXJnZW5kd2VsY2hlIEtsZWluaWdrZWl0ZW4gbmljaHQgdm9uCmRlciBuZXVlc3RlbiBWZXJzaW9uIGhhdC4KCnRydWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaTVVEIChQdWssIDI5LiBGZWIgMjAwMCwgMDM6MDc6MjkpOgp+IyEgcm49VHJ1ZyBydD05NTE3ODgyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTE3ODc2ODUKdmVyZ2lzcyBkaWUgZnJlZXdhcmUgOikKZGEgZnVua3Rpb25pZXJ0IGdhciBuaWNodHMgb2RlciBudXIgbmUgYnJ1Y2h0ZWlsIDopCgpob2xzIGRpciBsaWViZXIgLCBzb29vIHRldWVyIGlzdCBkYXMgYXVjaCBuaWNodCAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBaTVVEIChaYXJuaXlhLCAyOS4gRmViIDIwMDAsIDA5OjIxOjI2KToKfiMhIHJuPVB1ayBydD05NTE3OTAwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTE3ODc2ODUKZWlnZW50bGljaCBoYWIgaWNoIHZvbiBhbmRlcmVyIFNlaXRlIG1pdCBkZW0gSGlud2VpcyBnZXJlY2huZXQsIGFiZXIgZ2lidCBlcwpuaWNodCBhdWNoIGVpbiBURiBmdWVyIFdpbj8gU29uc3QgbXVzc3QgaGFsdCBMaW51eCBpbnN0YWxsaWVyZW4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGljaHQgKFNyYWJpLCAyOS4gRmViIDIwMDAsIDEwOjA1OjM3KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTUwMDIyOTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUwMDIyOTY4CkF1ZiBkZW0gRlRQLVNlcnZlciBkZXIgVW5pLUhlaWRlbGJlcmcgKHd3dy51bmktaGVpZGVsYmVyZy5kZSkgZ2lidCBlcwp2ZXJzY2hpZWRlbmUgWk1VRC0KVmVyc2lvbmVuLCB2b24gZGVuZW4gaWNoIEdlYnJhdWNoIG1hY2hlIHVuZCBkaWUgb2huZSBncm9zc2VuIFByb2JsZW1lIGxhdWZlbi4KVmVyc3VjaGUgZXMKZG9jaCBiaXR0ZSBlaW5tYWwgZGEuCkxlaWRlciBnaWJ0IGVzIGF1ZiBkZXIgTW9yZ2VuR3JhdWVuLUhvbWVwYWdlIGFscyBDbGllbnRlbiBqZWRlIE1lbmdlIFRGIGFiZXIKbGVpZGVyIGhhdCBtYW4gZG9ydApaTVVEIHZlcmdlc3NlbiA6LSkKSW4gZGllc2VtIFNpbm5lLCB2aWVsIEdsdWVjayBiZWltIHN1Y2hlbi4KCkdyYSdUYWthbCBTcmFiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpNVUQgKFN1YmxpbWUsICAxLiBNYXIgMjAwMCwgMjA6MzY6MjMpOgp+IyEgcm49RGFudGUgcnQ9OTUxNzg3Njg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUxNzg3Njg1CkFsc28gd3d3Lnp1Z2dzb2Z0LmNvbSB3YXIgaW1tZXIgJ25lIGd1dGUgQWRyZXNzZS4gRG9ydCBnaWJ0cyB1bnRlcgonRG93bmxvYWRzJyBkaWUgYmVpZGVuIEZyZWV3YXJlIFZlcnNpb25lbiAoZWluZSBpc3QgYXVjaCBhdWYgMzAKVGFnZSBiZXNjaHJhZW5rdCwgbGFldWZ0IGplZG9jaCBhdWNoIGRhbmFjaCwuLi4pIHVuZCBhbGxlIG5vcm1hbGVuClZlcnNpb25lbi4KClN1YmxpbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5IFQtU2hpcnQgKFRzaGlydCwgIDEuIE1hciAyMDAwLCAyMjoyNzo1Nik6CkhpIExldXRlLAoKaWNoIG1vZWNodGUgZXVjaCBhdWNoIGhpZXIgbm9jaG1hbCBhdWYgZGFzIFBhcnR5LVRTaGlydCBoaW53ZWlzZW4sIHdhcyBpaHIgYmVpCm1pciBiZXN0ZWxsZW4ga29lbm50LiAoMTcgTWFyayBWb3JrYXNzZS8yMCBNYWFyayBBYmVuZGthc3NlKQoKQXVjaCBhdWYgZGllIFBhcnR5LVJ1YnJpayB2ZXJ3ZWlzZW5kLAoKVHNoaXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFpNVUQgKEhpZ2h0LCAgMi4gTWFyIDIwMDAsIDE1OjQwOjU4KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTUxOTM5MzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUxNzg3Njg1CmFuIHVuZCBmdWVyc2ljaCByaWNodGljaCBhbGxlcmRpbmdzIGlzdCBlcyBmbGFzY2ggZGFzIGRpZSAzMCB0YWdldmVyc2lvbiB2b24Kem11ZCA1LjU1IG5hY2ggZGVuIDMwIHRhZ2VuIG5vY2ggbGFldWZ0IApkaWUgdmVyd2VpZ2VydCBkYW5uIGVpbmZhY2ggaWhyIGFyYmVpdCAuLi4gaW0gbm9ybWFsZmFsbCAsbykKCkhpZ2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHJhZmUgbXVzcyBzZWluLCBhYmVyLi4uIChMdWcsICA4LiBNYXIgMjAwMCwgMDA6NDM6MDQpOgoKU3RyYWZlIG11c3Mgc2VpbiwgYWJlciB1ZWJlcnRyZWliZW4gc29sbHRlIG1hbnMgbmljaHQgZ2xlaWNoLgoKTnVuIGZ1ZWhsZSBzaWNoIGFuZ2VzcHJvY2hlbiB3ZXIgd2lsbC4KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVhbSBtaXQgWndlaXRpZXMgKFNoYXJpYSwgIDguIE1hciAyMDAwLCAxNjoyODo1OSk6Cn4jISBybj1NdWFkaWIgcnQ9OTUyNDUyMjU5IHJnPXBvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTk1MjQ1MjI1OQpJY2ggaGFldHRlIGRhIG1hbCBuZSBrbGVpbmUgRnJhZ2UuLi4KCkVzIGlzdCBhbHNvIGRlZmluaXRpdiB2ZXJib3RlbiBtaXQgZ2VsaWVoZW5lbiBad2VpdGllcyBpbSBURUFNIGhlcnVtenVsYXVmZW4Kb2RlciA/IC4uLiBpc3QgZXMgZGVubiBhdWNoIHZlcmJvdGVuIHNpY2ggWndlaXRpZXMgYXVzenVsZWloZW4gdW5kIG1pdCBkaWVzZW4KaW4gZWluZW0gIlRGLVRFQU0iIHp1c2FtbWVuenVtZXR6ZWxuID8gb2RlciB3aWUgb2RlciB3YXMgPyA6LSkKCmJpdHRlIGdlbmF1ZXIgZXJrbGFlcmVuIDotKQoKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWFtIG1pdCBad2VpdGllcyAoQXBzdSwgIDguIE1hciAyMDAwLCAxNjozMDo0NSk6Cn4jISBybj1TaGFyaWEgcnQ9OTUyNTI5MzM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUyNDUyMjU5CkxpZXMgZXMgZG9jaCBhdWYgU2VpdGUgMzI0NCBkZXMgNTAuIEJhbmRlcyBkZXIgS29tbWVudGFyZSB6dSBkZW4gJ1NwaWVscmVnZWxuCmltIE1vcmdlbmdyYXVlbicgKDIwMC4ga29ycmlnaWVydGUgQXVmbGFnZSkgbmFjaC4gOy0pCgpBcHN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYXJiaWdlIFRleHRlIChXdXJzdCwgIDguIE1hciAyMDAwLCAxOTo1OToxNik6CgogSW4gbGV0enRlciAgWmVpdCBzaW5kIHdvaGwgbWFuY2hlbSBTcGllbGVyIGhpZXIgZmFyYmlnZSBUZXh0ZSAgCiB2b24gYW5kZXJlbiAgU3BpZWxlcm4gIGF1ZmdlZmFsbGVuLiBEaWUgIFJlYWt0aW9uIGhpZXJhdWYgaXN0ICAKIHp3YXIgbWVpc3QgUG9zaXRpdiwgamVkb2NoICBnYWIgIGVzICB2ZXJlaW56ZWx0IGF1Y2ggU3BpZWxlciwgCiBkaWUgc28gZXR3YXMgbGllYmVyIG5pY2h0IHNlaGVuIG1vZWNodGVuLgoKIERpZXNlIGtvZW5uZW4gIHNvbGNoZSBUZXh0ZSAgZW50d2VkZXIgIGdhbnogIGlnbm9yaWVyZW4sIG9kZXIKIHNpY2ggbGVkaWdsaWNoICBkaWUgc2Nod2Fyei93ZWlzcyBWZXJzaW9uIGRlcyBUZXh0ZXMgYXVzZ2ViZW4KIGxhc3Nlbi4gIERpZSAgQmVmZWhsZSAgIGhpZXJmdWVyICBzaW5kICAnaWdub3JpZXJlIHRyaWNodGVyJywKIGJ6dy4gJ2lnbm9yaWVyZSBmYXJiZScuCiBFcyBpc3QgIG5pY2h0IG5vdHdlbmRpZywgZGVuIGVudHNwcmVjaGVuZGVuICBTcGllbGVyIGtvbXBsZXR0CiB6dSBpZ25vcmllcmVuLCBhdWNoIHdlbm4gZGFzIG5hdHVlcmxpY2ggYXVjaCBkZW4gZ2V3dWVuc2NodGVuCiBFcmZvbGcgYnJpbmd0LiA6KSBFaW4gJ2lnbm9yaWVyZSBuYW1lLnRyaWNodGVyJyAgZnVua3Rpb25pZXJ0CiB1ZWJyaWdlbnMgYXVjaC4KCiBTb2xsdGUgIGRlciAgU3BpZWxlciAgZWluIFRlcm1pbmFsICBiZW51dHplbiwgZGFzICBkaWUgRmFyYmVuCiBuaWNodCAgZGFyc3RlbGxlbiBfa2Fubl8sIHNvICBzb2xsdGUgZXIgICdzdHR5IGR1bWInICBzZXR6ZW4uIAogV2VpdGVyZSBJbmZvcm1hdGlvbmVuICBkYXp1IGdpYnQgIGF1Y2ggbm9jaCBlaW4gJ2hpbGZlIHN0dHknLgoKIC0+IFd1cnN0IDwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFyYmlnZSBUZXh0ZSAoQW5hdG9sLCAgOC4gTWFyIDIwMDAsIDIwOjA4OjQ5KToKfiMhIHJuPVd1cnN0IHJ0PTk1MjU0MTk1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MjU0MTk1NgoKIFdlciBqZWRvY2ggbnVyIGRpZSBGYXJiZSBnZWxiIGlnbm9yaWVyZW4gd2lsbCwgbXVzcyBzaWUgYXVzIAogZGVtIElnbm9yaWVyZW4gaGVyYXVzbmVobWVuLCAgei5CLjogImlnbm9yaWVyZSBmYXJiZVxnZWxiIi4gCiBFYmVuc28gZ2lsdCwgd2VubiBtYW4gbnVyIGZ1ZXIgZWluZW4gU3BpZWxlciBlaW5lIGJlc3RpbW10ZQogRmFyYmUgIGlnbm9yaWVyZW4gd2lsbCwgIGlnbm9yaWVyZSA8c3BpZWxlcj4uZmFyYmUuPGZhcmJlPiwKIGFsc28gYmVpc3BpZWxzd2Vpc2UgImlnbm9yaWVyZSB3dXJzdC5mYXJiZS5ncnVlbiIuICBLb21wbGktCiB6aWVydGVyICB3aXJkIGVzLCAgbW9lY2h0ZSBtYW4gYmVpIGVpbmVtIFNwaWVsZXIgZGVuIGdhbnplbgoKIE11ZWxsIGlnbm9yaWVyZW4sIGVnYWwgb2IgZmFyYmlnIG9kZXIgbmljaHQgLSAgZXMgc2VpIGRlbm4sCiBkZXIgU3BpZWxlciB3YWVobHQgZWluZSBnYW56IGJlc3RpbW10ZSBGYXJiZS4gIE1hbiB2ZXJ3ZW5kZQogZGF6dSBiaXR0ZSAiaWdub3JpZXJlIDxzcGllbGVyPi50cmljaHRlclxmYXJiZS48Z3J1ZW4+Ii4KCiBOb2NoIEZyYWdlbj8gTmVpbj8gIEd1dCwgZGFubiBkaWUgR2VnZW5wcm9iZTogIFdhcyBiZWRldXRldCAKICJpZ25vcmllcmUgYW5hdG9sXHRyaWNodGVyLmZhcmJlXChncnVlbnxnZWxifHJvdCkiPyAgR2VuYXUsCiBtYW4gaWdub3JpZXJ0ICBBbmF0b2wgZ2FueiwgIGJpcyBhdWYgYWxsZXMsICB3YXMgZXIgbWl0IGRlbQogVHJpY2h0ZXIgZmFyYmlnIHNhZ3QsICBzb2Zlcm4gZXMgd2VkZXIgZ3J1ZW4gbm9jaCBnZWxiIG5vY2gKIHJvdCBnZXNhZ3Qgd2lyZC4gOikKClNvcnJ5LCBjb3VsZG4ndCByZXNpc3QgOykKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhcmJpZ2UgVGV4dGUgKFJvbmRhLCAgOC4gTWFyIDIwMDAsIDIwOjExOjMyKToKfiMhIHJuPUFuYXRvbCBydD05NTI1NDI1Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTI1NDE5NTYKQW5hdG9sLCBEdSBoYXN0IG5vY2ggZGVuIHZlcmdlc3NlbjoKCmlnbm9yaWVyZSBhbmF0b2wuc2Nod2FmZWw+MTAgLT4gQWxsZXMsIHdhcyBEdSB1ZWJlciAxMCB6ZWlsZW4gc2Nod2FmZWxzdCwgd2lyZAppZ25vcmllcnQgOy0pIE9lcmdzLSBrbGFyLCBkYXMga2FubiBtYW4gTkFUVUVSTElDSCBhdWNoIG1pdCBkZW4gRmFyYmZpbHRlcm4Ka29tYmluaWVyZW4uLi4gdW5kIG1pdCAuR1JPU1NCVUNIU1RBQkVOIGdlZ2VuIGRpZSBMZXV0ZSwgZGllIGltbWVyCnJ1bXNjaHJlaWVuLi4uIHVuZCAuTXVsdGlwbGVFeGNsYW1hdGlvbm1hcmtzIGZ1ZXIgZGllIExldXRlLCBkaWUgUHJhdGNoZXR0Cm5pY2h0IGtlbm5lbiA7LSkKClJvbmRhIChzY2h3YWZlbHQgdW50ZXIgMTAgWmVpbGVuIG9obmUgRmFyYmUgdW5kIGZhc3Qga2VpbmVuIEdST1NTQlVDSFNUQUJFTikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhcmJpZ2UgVGV4dGUgKEx1ZywgIDguIE1hciAyMDAwLCAyMzo1MDo0NCk6Cn4jISBybj1Sb25kYSBydD05NTI1NDI2OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTI1NDE5NTYKCkhlciBtaXQgbmVtIFRyaWNodGVyLgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmFyYmlnZSBUZXh0ZSAoSG9vZCwgIDkuIE1hciAyMDAwLCAwMToyNjowOCk6Cn4jISBybj1BbmF0b2wgcnQ9OTUyNTQyNTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUyNTQxOTU2CnVuZCBkYSBiZWhhdXB0ZW4gZ2FyIG1hbmNoZSwgZGllIHphdWJlcmVyZ2lsZGUgd2FlcmUga29tcGxpemllcnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChDYWxpbWVyaW9uLCAxOC4gTWFyIDIwMDAsIDIyOjA2OjAxKToKSGFsbG8gTXVkZGllcywKCmhpZXIgZWluIFZvcnNjaGxhZywgZGVubiBpY2ggZ2FueiBuZXR0IGZpbmRlLgpXaWUgd2FlcmUgZXMgd2VubiBhdWYgZGVyIFdlYiBTZWl0ZSB2b24gTUcgYXVzc2VyIGRlbiBQbGF5ZXJmb3Rvcwp2b24gZGVuIFBhcnR5cyBhdWYgZnVlciBhbmRlcmUgUGxheWVyIGRpZSBNb2VnbGljaGtlaXQgYmVzdGVoZW4Kd3VlcmRlIHNlaW4gQmlsZCBob2NoenVsYWRlbi4KRC5oLiBuYXR1ZXJsaWNoIG51ciB3ZW5uIG1hbiBkYXMgbW9lY2h0ZS4KSWNoIHBlcnNvZW5saWNoIGZpbmRlIGVzIGdhbnogbmV0dCwgd2VubiBpY2ggbWFsIHNjaGF1biBrYW5uCndpZSBkZXIgUGxheWVyIG9kZXIgU2VoZXIgb2RlciBNYWdpZXIgbWl0IHdlbGNoZW0gaWNoIGdlcmFkZQprbnVkZGVsZSwgY2hhdHRlIG9kZXIgc29uc3Qgd2FzIG1hY2hlIDspIGltIFJMIGF1c3NpZWh0LgoKU2ljaGVybGljaCBtb2VjaHRlIGV2dGwgbmljaHQgamVkZXIsIGRhc3MgZGVyICJHZWlzdCBkZXIKVm9yc3RlbGx1bmciIHplcnN0b2VydCB3aXJkIDspIGFiZXIgYWxzIE9wdGlvbiBmaW5kZSBpY2gKZXMgZ2FueiBuZXR0LgoKV2FzIGhhbHRldCBpaHIgZGF2b24gPwoKQ2FsaW1lcmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChHb2xhcywgMTkuIE1hciAyMDAwLCAwMDozMjozMik6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk1MzQxMzU2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpkYSBlcyBhdWYgZnJlaXdpbGxpZ2VyIGJhc2lzIGlzLCBmaW5kZSBpY2ggZXMgb2suCgpnb2xhcyBlaCBzY2hvbiB2ZXJld2lndCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoU29yY2VyZXIsIDE5LiBNYXIgMjAwMCwgMDM6NDU6NTQpOgp+IyEgcm49R29sYXMgcnQ9OTUzNDIyMzUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCkphLCB3YWVyZSBuZSBndXRlIEVyZ2Flbnp1bmcgenUgZGVuIFBhcnR5LUZvdG9zLi4uIHVuZCBzb2xsdGUgamEgYWJnZXNlaGVuIHZvbgpkZXIgIkVyc3R6dXNhbW1lbnN0ZWxsdW5nIiBhdWNoIGtlaW4gYWxsenUgZ3Jvc3NlciAiVmVyd2FsdHVuZ3NhdWZ3YW5kIiBzZWluLgoKU29yY2VyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChCYW1iaSwgMTkuIE1hciAyMDAwLCAxNDo0NDo0Myk6Cn4jISBybj1Tb3JjZXJlciBydD05NTM0MzM5NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKZXMga2FubiBzaWNoIGplZGVyLCBkZXIgdGVjaG5pc2NoIGRpZSBtb2VnbGljaGtlaXQgYmVzaXR6dCwgc2VpbiBiaWxkIHp1CnNjYW5uZW4sIGF1Y2ggYXVmIGRlciBlaWdlbmVuIGhwIHZlcmV3aWdlbiB1bmQgZGllIGhwLWFkcmVzc2UgYW5nZWJlbiBvZGVyCmdnZi4gYXVjaCBtaXR0ZWlsZW4uCkRhIHdpciBzb2dhciBlaW5pZ2Ugd3d3LVNlaXRlbiB2b20gTUcgc29nYXIgYXVzbGFnZXJuLCAuLi4KQmFtYmksIGRlbiBWb3JzY2hsYWcgbmljaHQgZ3J1bmRzYWV0emxpY2ggc2NobGVjaHQgZmluZGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvZydzIChSYW50YW5wbGFuLCAxOS4gTWFyIDIwMDAsIDIzOjQzOjAyKToKWW8gWnVzYW1tZW4uLi4KCgpBbGJvaW4gZ2FiIG1pciBnZXJhZGUgZWluZW4gTG9nLUtsYXNzaWtlcjoKClNhaWthbiB2cy4gT2V0dGkuLi4KCkhhdCBub2NoIGplbWFuZCBtZWhyIHZvbiBkZXIgU29ydGUsIGljaCBoYWIgamEgbGVpZGVyIG5pZSBnZWxvb2d0LCBhYmVyIGdlaWxlcgp3YWVycyBzY2hvbi4uLgoKR3J1CkdydQoKQ2Fyc3RpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKFphcm5peWEsIDIwLiBNYXIgMjAwMCwgMDk6MjA6MzQpOgp+IyEgcm49Q2FsaW1lcmlvbiBydD05NTM0MTM1NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKU28gZWluIFNjaHdhY2hzaW5uISBXZW5uIER1IGVpbiBSTCBGb3RvIGRhZnVlciBub2V0aWcgaGFzdCwgdW0genUgc2VoZW4sIHdlbgpkdSBoaWVyIGdlcmFkZSBrbnVkZGVsc3QsIGRhbm4gaGFzdCBEdSBkYXMgR3J1bmRwcmluemlwIGRlcyBSb2xsZW5zcGllbHMgbmljaHQKZ2VzY2huYWxsdCB1bmQgaGllciBlaWdlbnRsaWNoIG5peCB2ZXJsb3Jlbi4uLi4gQWJlciBpbW1lciB3aWVkZXIgaW50ZXJlc3NhbnQsCndpZSBzaWNoIGhpZXIgTGV1dGUgenUgcXVhbGlmaXppZXJlbiB2ZXJzdWNoZW4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKERlZXBibHVlLCAyMC4gTWFyIDIwMDAsIDEwOjA1OjUzKToKfiMhIHJuPUNhbGltZXJpb24gcnQ9OTUzNDEzNTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxClJlaWNodCBkYSBuaWNodCwgZGFzcyBtYW4gbmUgaHR0cC1BZHJlc3NlIHNldHplbiBrYW5uLCBkaWUgamVkZXIgYmVpbSBGaW5nZXJuCnNpZWh0PyBLYW5uc3QgamEgZWluIEJpbGQgYXVmIERlaW5lIEhvbWVwYWdlIHNldHplbi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChCb2luZywgMjAuIE1hciAyMDAwLCAxMDoxMjoxMik6Cn4jISBybj1EZWVwYmx1ZSBydD05NTM1NDMxNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKTmljaHQgamVkZXIgd2lsbCBudXIgZnVlciBlaW4gQmlsZCBnbGVpY2ggZWluZSB3ZWl0ZXJlIHNpbm5iZWZyZWl0ZQpIb21lcGFnZSBpbnMgTmV0eiBzZXR6ZW4sIGljaCBoYWx0ZSBkaWUgQmlsZGVyZ2FsZXJpZSBmdWVyIGVpbmUgZ3V0ZQpJZGVlLCBtdXNzIHNpY2ggbnVyIGplbWFuZCBmaW5kZW4gZGVyIGRhcyB1bXNldHp0LiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChXaWRld2l0dCwgMjAuIE1hciAyMDAwLCAxNDo0NDowMyk6Cn4jISBybj1aYXJuaXlhIHJ0PTk1MzU0MDQzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpTZWluIG1pciBuaWNodCBib2VzIE1hcmMgLi4uIAoKQWJlciB3YXJ1bSBnaWJzdCBkdSBkYW5uIGRlaW5lbiBSTCBOYW1lIGFuCmQuaC4gd2VubiBlcnMgaXN0ID8hPwoKR3J1c3MgV2lkZXdpdHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChIb29kLCAyMC4gTWFyIDIwMDAsIDE0OjUyOjIyKToKfiMhIHJuPVdpZGV3aXR0IHJ0PTk1MzU1OTg0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQp3ZWlsIGVyIHNpY2ggaW0gbXVkIG5pY2h0cyBiZXNzZXJlcyB2b3JzdGVsbGVuIGthbm4sIGFscyB1bmVybXVlZGxpY2gKZWlnZW50b3JlIHp1IHNjaGllc3Nlbj8gZXIgaGF0IGRpZXNlbiBjaGFyYWt0ZXJ6dWcgZ2VyYWRlenUKcGVyZmVrdGlvbmllcnQuLi4KZm90b3Mgdm9uIGRlciBwYXJ0eSBzaW5kIGF1Y2ggbmljaHQgendhbmdzbGFldWZpZyBtaXQgZGVtCnJvbGxlbnNwaWVsY2hhcmFrdGVyIGRlcyBtdWRzIGdsZWljaHp1c2V0emVuLCBzY2hsaWVzc2xpY2ggdHJpdHQgbWFuIGRvcnQKUkwgYXVmIHVuZCBzcHJpY2h0IGF1Y2ggYWJ1bmR6dSBuaWNodCBudXIgdWViZXIgZGFzIG11ZC4gZGVzaGFsYiBzZWhlCmljaCBkYSBnYXIga2VpbmUgdW50ZXJzY2hpZWRlLCB3b2hlciBkaWUgZm90b3MgbnVuIGdlbmF1IHN0YW1tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoTm9ubmUsIDIwLiBNYXIgMjAwMCwgMTQ6NTQ6NDIpOgp+IyEgcm49SG9vZCBydD05NTM1NjAzNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKVW5kIG1hbi9mcmF1IGhhdCBkaWUgTW9lZ2xpY2hrZWl0IGV0d2FzIHZvcnRlaWxoYWZ0ZXJlIEZvdG9zIGlucyBOZXR6IHp1CnN0ZWxsZW4uIFdlbm4gaWNoIG1pciBkaWUgRm90b3MgZWluaWdlciBMZXV0ZSBkYSBhbnNjaGF1ZSwgYmVzdGVodCBkYSBkcmluZ2VuZApoYW5kbHVuZ3NiZWRhcmYgOy0pCk5vbm5lLCBhdWNoIG5hY2ggYmVzc2VyZW4gRm90b3Mgdm9uIHNpY2ggc3VjaGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChIb29kLCAyMC4gTWFyIDIwMDAsIDE0OjU2OjE2KToKfiMhIHJuPU5vbm5lIHJ0PTk1MzU2MDQ4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpoZXksIHVuZCB3aWVzbyBhbnR3b3J0ZXN0IGR1IG1pdCBkaWVzZXIgYmVtZXJrdW5nIGdlcmFkZSBhdWYgbWVpbmVuCmFydGlrZWw/IHNvbGwgaWNoIGV0d2Egendpc2NoZW4gZGVuIHplaWxlbiBldHdhcyBoZXJhdXNsZXNlbiwgd2FzIGljaApuaWNodCBoZXJhdXNsZXNlbiB3aWxsPyA7KQpuYSBqYSBndXQuLi5pY2ggd2Vpc3MgYXVjaCBzbywgZGFzcyBpY2ggbWl0IGZvdG9hcHBlcmF0ZW4gYXVmIGtyaWVnc2Z1c3MKc3RlaGUuLi5hdWYgYmVpZGVuIHNlaXRlbiBkZXIgbGluc2UgKmdyaW5zKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKE5vbm5lLCAyMC4gTWFyIDIwMDAsIDE0OjU3OjMxKToKfiMhIHJuPUhvb2QgcnQ9OTUzNTYwNTc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCk5lbmUsIGJyYXVjaHN0IERpciBkZW4gU2NodWggbmljaHQgYW56dXppZWhlbiwgaWNoIHdvbGx0ZSBibG9zcyBpbSBUaHJlYWQKYmxlaWJlbi4uLiBvYndvaGwsIHZpZWxsZWljaHQgc29sbHRlIGljaCBtaXIgZGllIEZvdG9zIHZvbiBEaXIgZXJzdCBhbnNjaGF1ZW4sCmJldm9yIGljaCBoaWVyIHJ1bXRvZW5lIDstKQoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChSYXJkaWFuLCAyMC4gTWFyIDIwMDAsIDE2OjQ0OjM5KToKfiMhIHJuPVphcm5peWEgcnQ9OTUzNTQwNDM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCkRhcyBNRyBpc3QgZG9jaCBrZWluIFJvbGxlbnNwaWVsLCB6dW1pbmRlc3QgdHJlZmYgaWNoIGhpZXIga2F1bSBMZXV0ZSwgZGllCmlocmUgb2RlciB1ZWJlcmhhdXB0IGVpbmUgUm9sbGUgKCA7KS4uLiApIHdpcmtsaWNoIHNwaWVsZW4uLi4KClJhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoSmFtYWxza2ksIDIwLiBNYXIgMjAwMCwgMTk6MzM6NDQpOgp+IyEgcm49Q2FsaW1lcmlvbiBydD05NTM0MTM1NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKSWNoIHd1c3N0ZSBlcyEKCkVzIGlzdCBlaW4gRmxpcnRtdWQhCgpKYW1hbHNraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoVHJhbmNlLCAyMC4gTWFyIDIwMDAsIDIwOjI3OjUxKToKfiMhIHJuPVphcm5peWEgcnQ9OTUzNTQwNDM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCkFoISBFciBudSB3aWVkZXIgOikKClRyYW5jZSwgaG9sdCBDaGlwcyB1bmQgQmllci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChHcmltbWFuLCAyMC4gTWFyIDIwMDAsIDIxOjI4OjE2KToKfiMhIHJuPU5vbm5lIHJ0PTk1MzU2MDQ4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpXYWVyZSB2aWVsbGVpY2h0IG5lIGd1dGUgSWRlZSwgZGEga29lbm50ZSBpY2ggbWFsIGVuZGxpY2ggZGVtIFZvcnVydGVpbApnZWdlbmFyYmVpdGVuLCBpY2ggd2FlcmUgZW50d2VkZXIgYmxhdSwgb2RlciBoYWV0dGUgbmVuIEthdGVyIDopCgpHcmltTWFuICwga2FubiBhdWNoIG9obmUgQWxrb2hvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKEdvbGFzLCAyMC4gTWFyIDIwMDAsIDIxOjI5OjE4KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTUzNTg0MDk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCndhcyBuZSBsZWJlbnNhdWZnYWJlIDspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKExlaWJuaXosIDIwLiBNYXIgMjAwMCwgMjI6MTM6MTkpOgp+IyEgcm49SmFtYWxza2kgcnQ9OTUzNTc3MjI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCnNvIGlzc2VzIDopCgpsZWliaSBncmluc3QgbnVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChMdWcsIDIxLiBNYXIgMjAwMCwgMDE6MDE6MjApOgp+IyEgcm49SmFtYWxza2kgcnQ9OTUzNTc3MjI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCgpVTkZVRyEgRGllcyBpc3QgZWluIEZyYXVlbmhhc3Nlci1NdWQuIEhpZWJlIHN0YXR0IFRyaWViZSEKCkRlcHBlbnBhY2sgbXVybWVsbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoR3JpbW1hbiwgMjEuIE1hciAyMDAwLCAwMTowNDoyMik6Cn4jISBybj1MdWcgcnQ9OTUzNTk2ODgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCkJlaSBtYW5jaGVuIGhpZXIgc2NobGllc3N0IGRhcyBlaW5lIGRhcyBhbmRlcmUgamEgbmljaHQgYXVzLCBvZGVyIEx1Zz8KCkdyaW1NYW4gLCBsZWJ0IG5vY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChMdWcsIDIxLiBNYXIgMjAwMCwgMjI6MzE6MzMpOgp+IyEgcm49R3JpbW1hbiBydD05NTM1OTcwNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKCkhtPyBXb3J1bSBnZWh0cz8KCkZyYWdsaWNoCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoTWFtbWksIDIzLiBNYXIgMjAwMCwgMTg6MTg6MjIpOgp+IyEgcm49WmFybml5YSBydD05NTM1NDA0MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKRmFsc2NoLCAiTWFyYyIuIE1vcmdlbkdyYXVlbiBiZXN0ZWh0IG5pY2h0IG51ciBhdXMgUm9sbGVuc3BpZWwgdW5kIApSb2xsZW5zcGllbGVybi4gSWNoIGtlbm4gYW5kZXJlIE11ZHMsIHdvIHdlc2VudGxpY2ggbWVociBSb2xsZW5zcGllbAp2b3JoYW5kZW4gaXN0LCBqYSwgTW9yZ2VuZ3JhdWVuIGlzdCBzb2dhciBzZWhyIGd1dCBhbHMgTmljaHRyb2xsZW5zcGllbGVyCnNwaWVsLSB1bmQgZXJsZWJiYXIhCk1vcmdlbmdyYXVlbiBiaWV0ZXQgZGllIE1PRUdMSUNIS0VJVCwgc2ljaCB6dSB2ZXJzdGVsbGVuIChSb2xsZW4genUgc3BpZWxlbiksCmVzIGlzdCBhYmVyIGtlaW4gWldBTkcuIEF1c3NlcmRlbSBoYWIgaWNoIHBlcnNvZW5saWNoIGF1Y2ggbmljaHQgaW1tZXIgCkx1c3QsIHouQi4gbWVpbmUgUm9sbGUgdm9sbCBkdXJjaHp1c3BpZWxlbiAoYnp3LiBhdWYgYW5kZXJlICJpbiBSb2xsZSIgenUKcmVhZ2llcmVuKS4gTXVkcywgd28gUm9sbGUgd2ljaHRpZ2VyIGFscyBkZXIgTWVuc2NoIGRhaGludGVyIGlzdCwgZ2lidAplcyBnZW51ZWdlbmQuIFdlbm4gRGlyIGRhcyB3aWNodGlnZXIgaXN0LCBkYW5uIGdlaCBEdSBkb2NoIGRhIGhpbiAqZ3JpbnMqCgpEYXNzIGhpZXIgbmFjaCBQaG90b3MgZ2VmcmFndCB3aXJkLCBpc3QsIG1laW5lciBNZWludW5nIG5hY2gsIG51ciB2ZXJzdGFlbmQtCmxpY2ggdW5kIHNvbGx0ZSBuaWNodCB2ZXJ1cnRlaWx0IHdlcmRlbi4KCk1hbW1pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoQ2FsaW1lcmlvbiwgMjMuIE1hciAyMDAwLCAyMTo0MDoyMyk6Cn4jISBybj1Cb2luZyBydD05NTM1NDM1MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKSGFsbG8gQm9pbmcsCgp3aWUgRHUgZ2VzY2hyaWViZW4gaGFzdCBtdWVzc3RlIHNpY2ggbnVyIGplbWFuZCBmaW5kZW4sIGRlciBzaWNoIGRlcgpTYWNoZSBhbm5pbW10IHVuZCBkZXIgQmlsZGVyZ2FsZXJpZSBzdG5kZSBuaWNodHMgbWVociBpbSBXZWdlLgoKTnVuIHdhcyBtdWVzc3RlIGRpZXNlciBqZW5lIEZyZWl3aWxsaWdlIG1pdGJyaW5nZW4sIGJ6dy4gcmVpY2h0IGVzCndlbm4gc2ljaCBlaW4gUGxheWVyIGRlciBTYWNoZSBhbm5pbW10IG9kZXIgbXVlc3N0ZSBlcyBlaW4KTWFnIHNlaW4sIG9kZXIuLi4KCkZyYWdlbiB1ZWJlciBGcmFnZW4gOykKCkNhbGltZXJpb24uLi4gLSBkZXIgdW53aXNzZW5kIGZyYWdlbmRlCk5OTk4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChGZWhsZXIsIDIzLiBNYXIgMjAwMCwgMjE6NDk6NDcpOgp+IyEgcm49Q2FsaW1lcmlvbiBydD05NTM4NDQwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM0MTM1NjEKV2llIGlzdCBkYXMgZWlnZW50bGljaCBtb3RpdmllcnQsIENhbGltZXJpb24/IFJpY2h0aWcgbGFuZ2UKc3BpZWxzdCBEdSBvZmZlbmJhciBub2NoIG5pY2h0IGhpZXIgKHVuZCB3YXJzdCBhdWNoIG5vY2ggYXVmCmtlaW5lciBQYXJ0eT8pLiBPaG5lIE9ubGluZS1FcmZhaHJ1bmcgYmlzdCBEdSBhYmVyIGF1Y2ggCm5pY2h0LCBpbW1lcmhpbiBJQ1EsIHN1cmYxIHVuZCBkaWUgRmFlaGlna2VpdCwgQXJ0aWtlbCBpbiAKZGVyIE1QQSB6dSB2ZXJvZWZmZW50bGljaGVuLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVm9yc2NobGFnOiBQbGF5ZXIgRm90b3MgKENhbGltZXJpb24sIDIzLiBNYXIgMjAwMCwgMjI6Mzg6MjQpOgp+IyEgcm49RmVobGVyIHJ0PTk1Mzg0NDU4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpIYWxsbyBGZWhsZXIsCgpqYSB3aWUgaXN0IGRhcyBtb3RpdmllcnQuIEd1dGUgRnJhZ2UuCkRhenUga2FubnN0IER1IGFiZXIgZGFzIGVyc3RlIFBvc3Rpbmcgdm9uIG1pciAxIHp1IDEgdWViZXJuZWhtZW4uClNpY2hlcmxpY2ggdmllbCBFcmZhaHJ1bmcgaW0gTW9yZ2VuZ3JhdWVuIE11ZCBoYWJlIGljaCB3aXJrbGljaApub2NoIG5pY2h0LiBCaW4gbm9jaCBuaWNodCBsYW5nZSBkYWJlaSB1bmQgd2FyIGRhaGVyIGF1Y2gKbm9jaCBhdWYga2VpbmVyIFBhcnR5IGFud2VzZW5kLiBXaXJkIHNpY2ggaG9mZmVudGxpY2ggbmFjaApkZXIgbmFlY2hzdGVuIFBhcnR5IGFlbmRlcm4gOykKCk9ubGluZSBFcmZhaHJ1bmcgaGFiZSBpY2ggc2Nob24gZWluIHdlbmlnLiBBYmVyIHdpZSBnZXNhZ3QKbmljaHQgRXJmYWhydW5nIGltIE1vcmdlbmdyYXVlbi4KCk11ZCBFcmZhaHJ1bmcgaGFiZSBpY2ggc2Nob24gZWluIHdlbmlnLgoKQWJlciBhdWNoIG5pY2h0IGltIEludGVybmV0IHNvbmRlcm4gaW0gUGFja2V0IFJhZGlvLgoKUGFja2V0IFJhZGlvIGlzdCBpbSBBbWF0ZXVyZnVua3QgYmVoZWltYXRldC4KCkRpZXNlcyBOZXR6IGlzdCBlaW4gZmFzdCB3ZWx0d2VpdGVzIEhvYmJ5IE5ldHogd2VsY2hlcyBkdXJjaAplaHJlbmFtdGxpY2hlIEFrdGl2aXRhZXRlbiBhdWZnZWJhdXQgdW5kIGdld2FydGV0IHdpcmQuCgpJc3Qgd2lya2xpY2ggaW50ZXJlc3NhbnQuIEQuaC4gd2VubiBzaWNoIGplbWFuZCBmdWVyIEFtYXRldXJmdW5rCmludGVyZXNzaWVydCA7KQoKR3J1c3MsCkNhbGltZXJpb24gLyBSb2JlcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBsYXllciBGb3RvcyBkaWUgWndlaXRlICEgKFN1YmxpbWUsIDI0LiBNYXIgMjAwMCwgMjA6NTI6MDApOgpBZWhtLC4uLmFscyBpY2ggZGFzIHZvcmhpbiBoaWVyIHVlYmVyZmxvZ2VuIGhhYicsIGlzdAptaXIgYXVmZ2VmYWxsZW4sIGRhc3MgaXJnZW5kamVtYW5kIG1laW50ZSAoWmFybml5YSBvZGVyIApzbyB3YXMgYWVobmxpY2hlcyksIHdlbm4gbWFuIEZvdG9zIHZvbiBkZW4gU3BpZWxlcm4gYXVmCmRpZSBXZWJzaXRlIHN0ZWxsZW4gd3VlcmRlLCBoYWV0dGUgbWFuIGRhcyBQcmluemlwIHZvbQpSb2xsZW5zcGllbCBuaWNodCBnZXBsYW50LgoKRGFoZXIgbWFsIGVpbiBwYWFyIHdlaXRlcmUgTW9lZ2xpY2hrZWl0ZW4genVyIER1cmNoZnVlaHJ1bmc6CgogICAxLiBXaWUgd2FlcnMsIHdlbm4gamVkZXIgZGVyIFN0YW1tc3BpZWxlciBlaW4gUGFzc2JpbGQKICAgICAgc3RpZnRldCBiencuIGVpbnNjYW5udCB1bmQgZGFzIGRhbm4gc296dXNhZ2VuIGFscwogICAgIEdlc2ljaHQgdm9uICduZW0gZ2V6ZWljaG5ldGVuIFp3ZXJnIChtaXQgQXh0KSBvZGVyIHZvbgogICAgICduZW0gRWxmIG9kZXIgYmxhZmFzZWxub2Nod2FzLi4uaXJnZW5kd2llIHNvIGhhbHQuIDspCiAgIDIuIEplZGVyIHZlcmV3aWd0IHNpY2ggbWl0ICduZXIgWmVpY2hudW5nIHVuZCB3ZXIgbmljaHQKICAgICAgemVpY2huZW4gd2lsbCwgZGVyIHdpcmQgZ2V6ZWljaG5ldCAhISEgOykKCipIQUVIKkhBRUgqClN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbGF5ZXIgRm90b3MgZGllIFp3ZWl0ZSAhIChNaXJqYW0sIDI0LiBNYXIgMjAwMCwgMjA6NTg6NTApOgp+IyEgcm49U3VibGltZSBydD05NTM5Mjc1MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM5Mjc1MjAKSG0sIFN1YmxpbWUsIGhhc3QgZHUgenV2aWVsIFplaXQ/IDstKQoKaS4gVi4gTWlyamFtLCBrbGVpbmUgU2Nod2VzdGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyB2b20gVGlnZXIuLi4gKFd1cnN0LCAyNS4gTWFyIDIwMDAsIDAwOjEzOjI4KToKCiBJY2ggaGFiIHZvcmhpbiBtYWwgIHdpZWRlciBtaXQgUmlrdXMgdGVsZWZvbmllcnQsIHVuZCBkYXJmCiBkaWUgZnJldWRpZ2UgTWl0dGVpbHVuZyBtYWNoZW4sIGRhc3ogZXIgIGluendpc2NoZW4gd2llZGVyCiBnZXN1bmQsIHVuZCBhYiAxMC4gQXByaWwgd29obCB3aWVkZXIgZmxlaXNzaWcgYmVpIHVucyBpc3QuCgogLT5XdXJzdCgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpELUthbmFsIHVuZCBNdWQgOykgKENhbGltZXJpb24sIDI1LiBNYXIgMjAwMCwgMTQ6MDM6NTYpOgpIYWxsbyBNdWRkaWVzLAoKZGllIGdlcGxhbnRlIEQtS2FuYWwgIlBhdXNjaGFsZSIgZnVlciAxMCBETSBpbSA0LlF1YXJ0YWwgaXN0IGRvY2gKZWluIFNlZ2VuIGZ1ZXIgYWxsZSBJbnRlcm5ldCBOdXR6ZXIsIHdlbGNoZSB2b3IgYWxsZW0gZGFzIE11ZApudXR6ZW4gdW5kIG5pY2h0ICJhbiBkZXIgVW5pIGhhZW5nZW4iIG9kZXIgc2ljaCBhbmRlcnN3ZWl0aWcKUGF1c2NoYWxlbiBsZWlzdGVuIGtvZW5uZW4vbW9lY2h0ZW4gb2RlciBob2hlIFRlbGVmb25yZWNobnVuZ2VuLgoKRGFzIGlzdCBkb2NoIGVpbiBTaWVnZXN6dWcgZnVlciBkYXMgTVVEIGluIERldXRzY2hsYW5kIDspKSkgbG9sCgpIb2ZmZSBlcyB3aXJkIGF1Y2ggc28gdmVyd2lya2xpY2h0IHZvbiBkZXIgVGVsZWtvbW0uCgpDYWxpbWVyaW9uIC0gUm9iZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGxheWVyIEZvdG9zIGRpZSBad2VpdGUgISAoWmFybml5YSwgMjcuIE1hciAyMDAwLCAxMDoxODozNSk6Cn4jISBybj1TdWJsaW1lIHJ0PTk1MzkyNzUyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzkyNzUyMApIaSwgCgppY2ggd2lsbCBoaWVyIG5peCBhdWZ3YWVybWVuIHVuZCBrZWluZSBEaXNrdXNzaW9uIGRhcnVlYmVyLCBhYmVyIGljaCB3ZXJkIGhpZXIKaW1tZXIgZmFsc2NoIHppdGllcnQuLi4uLiB3ZW5uIGVpbmVyIEJpbGRlciB2b24gc2ljaCBpbSBOZXR6IGhhYmVuIHdpbGwsIGRhbm4Ka2FubiBlciBkYXMgaGFiZW4uIEljaCBoYWIgZGFtYWxzIGluIG1laW5lbSBBcnRpa2VsIGdlc2FndCwgd2VubiBlaW5lciBlaW4KV2ViYmlsZCBicmF1Y2h0LCB1bSB6dSBlbnRzY2hlaWRlbiwgb2IgZXIgaGllciBqZW1hbmRlbiBrbnVkZGVsdCwgZGFubiBoYXQgZXIKd2FzIG5pY2h0IHZlcnN0YW5kZW4uIElzdCBkZXIgVW50ZXJzY2hpZWQga2xhcj8KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGxheWVyIEZvdG9zIGRpZSBad2VpdGUgISAoTm9ubmUsIDI3LiBNYXIgMjAwMCwgMTA6MjA6NDkpOgp+IyEgcm49WmFybml5YSBydD05NTQxNDUxMTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM5Mjc1MjAKYWJlciB2aWVsbGVpY2h0IGdlaHQgZXMgbmljaHQgdW0gZGFzIGBvYmAgc29uZGVybiB1bSBkYXMgYHdlbmAuIFNjaG9uIG1hbApkcnVlcmJlciBuYWNoZ2VkYWNodCwgWmFybml5YT8gS29lbm50ZSBkb2NoIG1hbCBpbnRlcmVzc2FudCBzZWluLCB6dSB3aXNzZW4sCndpZSBkZXJqZW5pZ2UgYXVzc2llaHQsIGRlbiBtYW4gc2Nob24gMTAwMCBtYWwgZ2VrbnVkZGVsdCB1bmQgZ2V3dXNjaGVsdCBoYXQuCgpOb25uZSwgZmluZGV0IGRhcyBhdWNoIG1hbmNobWFsIGludGVyZXNzYW50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGxheWVyIEZvdG9zIGRpZSBad2VpdGUgISAoRmVobGVyLCAyNy4gTWFyIDIwMDAsIDEyOjM1OjA2KToKfiMhIHJuPU5vbm5lIHJ0PTk1NDE0NTI0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzkyNzUyMApJaHIgaGFidCBiZWlkZSByZWNodC4KCkVrbGlnZXIgU2F0eiwgYWJlciBoYXQgd2FzLiBJY2ggc3RpbW1lIE5vbm5lICh1bmQgYXVjaCBpaHJlbSBmcnVlaGVyZW4KQXJ0aWtlbCkgenUsIG1hbiBpc3QgWy0tLS0tLS1zby0tLS0tLS1dIGdlc3Bhbm50LCB3ZW5uIG1hbiB3ZWlzcywgZGFzcwptYW4gZWluIEJpbGQgZWluZXMgbGFuZ2VuIE11ZC1GcmV1bmRlcyB6dSBzZWhlbiBiZWtvbW10IG9kZXIgaWhuIGdhciAKYXVmIGVpbmVyIFBhcnR5IHRyaWZmdC4gQXVzc2VyZGVtIGlzdCBlcywgZGVua2UgaWNoLCBmdWVyIGRpZSAiT3BmZXIiCmF1Y2ggZ2FueiBhbmdlbmVobSwgd2VubiBzaWUgc2VsYnN0IGVudHNjaGVpZGVuIGtvZW5uZW4sIHdlbGNoZXMgQmlsZAptaXQgaWhyZW0gQ2hhcmFrdGVyIGluIFZlcmJpbmR1bmcgZ2VicmFjaHQgd2lyZCAtIGRpZSBGb3RvcywgZGllIHZvbgpQYXJ0aWVzIHZlcm9lZmZlbnRsaWNodCB3ZXJkZW4sIGxhc3NlbiBhbiBHdWV0ZSB1bmQgUXVhbGl0YWV0IHJlY2h0CmhhZXVmaWcgenUgd3VlbnNjaGVuIHVlYnJpZy4uLgoKTmF0dWVybGljaCBoYXQgYXVjaCBZL1otTSByZWNodCwgd2VyIExldXRlIGltIE5ldHogbmFlaGVyIGtlbm5lbmxlcm50CnVuZCB1bmJlZGluZ3QgZWluIEJpbGQgYnJhdWNodCwgdW0gdWViZXIgU3ltcGF0aGllIG9kZXIgQW50aXBhdGhpZQplbnRzY2hlaWRlbiB6dSBrb2VubmVuLCBtYWNodCB3YXMgZmFsc2NoLiBTaWNoZXIsIG9mdG1hbHMgd2lyZCBtYW4gCnZvbSBSTC1NZW5zY2hlbiBhdWYgUGFydGllcyBtYXNzbG9zIGVudHRhZXVzY2h0LCB3ZWlsIGVyIGVpbmZhY2ggbmljaHQKZGVuIEVyd2FydHVuZ2VuIGVudHNwcmljaHQgb2RlciBzY2hsaWNodCAiYW5kZXJzIiBpc3QsIGFiZXIgaXN0IG5pY2h0CmdlcmFkZSBEQVMgZGVyIFJlaXo/IE1hbiBsZXJudCBMZXV0ZSBrZW5uZW4sIHJlZGV0IG1pdCBMZXV0ZW4sIGdlaHQKYXVmIExldXRlIGVpbiwgZGllIG1hbiwgd2VubiBtYW4gZWhybGljaCBpc3QsICJpbiByZWFsIGxpZmUiIHZpZWxsZWljaHQKbmljaHRtYWwgZ2VncnVlc3N0IGhhZXR0ZS4gSWRlYWxlIEdlbGVnZW5oZWl0IHVlYnJpZ2VucywgdW0gVm9ydXJ0ZWlsZQphYnp1YmF1ZW4uIF06XikKCgpFcmdvIHdhZXJlIGVzIG5hdHVlcmxpY2ggc2Nob2VuLCBpbnNiZXNvbmRlcmUgbmF0dWVybGljaCBmdWVyIGRpZQphdHRyYWt0aXZlbiBNdWRkZXIgKHVuZCBNdWRkZXJpbm5lbiwgc2ljLCBlcyBnaWJ0IHNpZSEpLCB3ZW5uIGVzIAplaW5lbiBob2Nod2VydGlnZW4gQmlsZGluZGV4LCBkZW4gZGllIGpld2VpbGlnZW4gTWVuc2NoZW4gbWl0YmVzdGltbWVuCmtvZW5uZW4sIGdhZWJlIFsxXS4gRGEgYWJlciBhbmRlcmVyc2VpdHMgZGFzICdub3JtYWxlcndlaXNlJyAKVm9yaGFuZGVuc2VpbiB2b24gQmlsZGVybiBuZXR6dGVjaG5pc2NoIGVpbiBSdWVja3NjaHJpdHQgaW4gU2FjaGVuCktlbm5lbmxlcm5lbiBhdWYgUkwtRWJlbmUgKGRlc2ljaW9uIG9uIGZpcnN0IHNpZ2h0KSB1bmQgZWluIGhhcnRlcwpMb3MgZnVlciBhbGxlIHN1ZXNzZW4gTWFlZGVscywgZGllIG1hbCBOSUNIVCB1bnVudGVyYnJvY2hlbiBhbmdlZ3JhYmVuCndlcmRlbiB3b2xsZW4sIGlzdCwgZGFyZiBtZWluZXIgdW5iZXNjaGVpZGVuZW4gOykgTWVpbnVuZyBuYWNoIHNvCmVpbiBJbmRleCBudXIgaG9lY2hzdGZyZWl3aWxsaWcgc2VpbiwgZC5oLiBuaWNodDogIldlbm4gRHUga2VpbgpFaW5zcHJ1Y2ggZXJoZWJzdCwga29tbXQgZWluIEJpbGQgdm9uIERpciByZWluIiwgc29uZGVybjogIldlbm4gRHUKZWluIEJpbGQgdm9uIERpciBpbSBQZXJzb25lbmluZGV4IGhhYmVuIG1vZWNodGVzdCwgc2NoaWNrIGVzIGFuCjxadXN0YWVuZGlna2VpdD4uIgoKUGVyc29lbmxpY2hlIE1laW51bmc/IFNvIGdhbnogcHJpdmF0PyBJY2ggZGVua2UsIHdpciBrb2VubmVuIGF1Y2gKZ2FueiBndXQgb2huZSBCaWxkZXIuIFdpciBzaW5kIGVpbiBNVUQsIGtlaW5lIFBhcnRuZXJzY2hhZnRzdmVyLQptaXR0bHVuZy4gRGllIFJlaWhlbmZvbGdlIGJlaW0gS2VubmVubGVybmVuIHNvbGx0ZSBzY2hvbiB3ZWl0ZXIKZGFzIElubmVyZSB2b3JhbnN0ZWxsZW4gdW5kIGVpbiBKZWRlci1udXItZWluLUJpbGQtU29uZGVyaW5kZXgKd3VlcmRlIGRhcyAtIG1laHIgbm9jaCBhbHMgZGllIFBhcnR5YmlsZGVyIC0gdW50ZXJncmFiZW4uIEljaCAKYmluIHNpY2hlciwgZGVyIGVpbmUgb2RlciBhbmRlcmUgZW50aHVzaWFzdGlzY2hlIFRGLU1lc2lyaWkgCmtvZW5udGUgc29nYXIgZWluIEphdmEtQXBwbGV0IGRhZnVlciBzY2hyZWliZW4sIGRhcyBiZWkgVGVpbGVtaXRzCmF1dG9tYXRpc2NoIGRhcyBCaWxkIGRlcyBHZXNwcmFlY2hzcGFydG5lcnMgYWJydWZ0Li4uIFdlbGNvbWUKdG8gdGhlIHJlYWwgd29ybGQuLi4KCk1hY2h0IGtlaW5lbgpGZWhsZXIKClsxXSBXaWUgZ3Jvc3Mgc29sbGVuIGRpZXNlIEJpbGRlciB1ZWJlcmhhdXB0IHNlaW4/IFdlciBlbnRzY2hlaWRldCwKICAgIHdlbGNoZSBCaWxkZXIgenVnZWxhc3NlbiB3ZXJkZW4gdW5kIHdlbGNoZSBuaWNodD8gRGFyZiBtYW4gamVkZXMKICAgIEJpbGQgZWlucmVpY2hlbiwgYWxzbyBhdWNoIGljaCBlaW4gRm90byB2b24gS2FudSBSaWV2cz8gT2RlcgogICAgZWlucyB2b24gU2luZGkgS3JhaGZvcnQ/IFdpZSBnZWh0IG1hbiBkZW0gImdlc2VsbHNjaGFmdGxpY2hlbgogICAgWndhbmcgYXVzIGRlbSBXZWc/IEhuZ2wuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9jaHplaXQgKEFyYW5jaWEsIDI3LiBNYXIgMjAwMCwgMTk6MDU6MDgpOgpIdWh1IExldXRlLAoKY2EuIHVtIDE5OjMwIHdlcmRlIGljaCBoZWlyYXRlbi4gVW5kIHp3YXIgZWluIHZvbiBtaXIgaGVpc3MgZ2VsaWVidGVzCk1pc3RzdHVlY2sgbmFtZW5zIEFwb2xsb25pYS4gCkRhcyBnYW56ZSBmaW5kZXQgaW0gSGVpcmF0c2hhaW4gYW0gRW5kZSBkZXIgV2VsdCBzdGF0dC4gTWFjaHQgZXVjaCBhdWYgZGllClNvY2tlbiAqc21pbGUqCgpiaXMgZ2xlaWNoCgplaW5lIGdsdWVja2xpY2hlIEFwZmVsc2luZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvY2h6ZWl0IChEZWVwYmx1ZSwgMjguIE1hciAyMDAwLCAwODozNzo0OSk6Cn4jISBybj1BcmFuY2lhIHJ0PTk1NDE3NjcwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NDE3NjcwOApIZXJ6bGljaGVzIEJlaWxlaWQgRXVjaCBiZWlkZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG9jaHplaXQgKFd1cnN0LCAyOC4gTWFyIDIwMDAsIDEwOjI4OjExKToKfiMhIHJuPUFyYW5jaWEgcnQ9OTU0MTc2NzA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU0MTc2NzA4CgogSmF1LCB1bmQgdW0gZGFzIG5ldWUgR2x1ZWNrIHVuYmVlaW5mbHVzc3QgYXVmYmx1ZWhlbiB6dSBsYXNzZW4KIGhhYmUgaWNoIG1pY2ggZ2xlaWNoIGZlaWVybGljaCB2b24gaWhyIGdlc2NoaWVkZW4gOykKCiBWaWVsIFNwYXNzL0dsdWVjay9XYXNBdWNoSW1tZXIgZGVtICdCcmF1dHBhYXInCgogZXJsZWljaHRlcnQtPld1cnN0KCkKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGljaHQgKFBhZHJlaWMsICAxLiBBcHIgMjAwMCwgMTk6NTM6MzEpOgpEYSBpY2ggaW4gZGVyIHNjaGllcmVuIEZsdXQgdm9uIExpY2h0YW50cmFlZ2VuIHVudGVyenVnZWhlbiBkcm9odGUsIGZyZXVlIGljaAptaWNoIGJla2FubnRnZWJlbiB6dSBrb2VubmVuIGRhcyBpY2ggZWluZSBVbnRlcnN0dWV0enVuZyBnZWZ1bmRlbiBoYWJlLgpFcyBpc3QgbWlyIGdlbHVuZ2VuIGRpZSB2ZXJtdXRsaWNoIGJlc3RlbiBkZXIgYmVzdGVuIGZ1ZXIgZGllc2VuIHNlaHIKdmVyYW50d29ydHVuZ3N2b2xsZW4gSm9iIHp1IGdld2lubmVuLiBFbGVuZGlsIHVuZCBTcGVsbGZpcmUgaGFiZW4gc2ljaCBiZXJlaXRzCmVya2xhZXJ0IHNpY2ggaW4gZGVuIERpZW5zdCBkZXMgTXVkcyB6dSBzdGVsbGVuIHVuZCB1bmVybXVldGxpY2ggZnVlciBlaW4gZ3V0ZQphdXNiYWxhbmNpZXJ0ZXMgTXVkIGVpbnp1dHJldGVuLgpJY2ggZmluZGUgZGllc2UgYXVmb3BmZXJ1bmdzYmVyZWl0c2NoYWZ0IHZlcmRpZW50IGVpbiBIb2hlcyBNYXNzIGFuIExvYiB1bmQKQW5lcmtlbm51bmcuLi4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaWNodCAoRm9vYmFyLCAgMS4gQXByIDIwMDAsIDE5OjU5OjI1KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTU0NjExNjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU0NjExNjExCkFwcmlsLCBBcHJpbC4uLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaWNodCAoVGVkZHksICAxLiBBcHIgMjAwMCwgMjA6MzE6NTgpOgp+IyEgcm49Rm9vYmFyIHJ0PTk1NDYxMTk2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NDYxMTYxMQpTaWNoZXI/CgpUZWRkeSwgc2ljaCBhbiBnZXdpc3NlIEdlc3ByYWVjaGUgYXVmIGRlciBsZXR6dGVuIFBhcnR5IGVyaW5uZXJuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpY2h0IChSYXJkaWFuLCAgMy4gQXByIDIwMDAsIDAxOjAyOjQzKToKfiMhIHJuPVRlZGR5IHJ0PTk1NDYxMzkxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NDYxMTYxMQpIbS4uLiBJY2ggZmluZGUsIGRhc3MsIHdhcyBQYWRyZWljIGRhIGdlc2NocmllYmVuIGhhdCwga2xpbmd0IGVoZXIgc28sIGFscwp3dWVyZGVuIEVsZW5kaWwgdW5kIFNwZWxsZmlyZSBkaWUgQmFsYW5jZSBqZXR6dCBhbGxlaW5lIHNjaG1laXNzZW4uIFNvd2VpdCBpY2gKd2Vpc3MsIGdlaHQgZXMgYWJlciBudXIgdW0gZGllIExpY2h0YmFsYW5jZSwgYWxzbyB3ZW5uIGVzIGV1Y2ggaXJnZW5kd28gbWFsIHp1CmhlbGwgb2RlciB6dSBkdW5rZWwgc2VpbiBzb2xsdGUsIHdpc3N0IGlociBudW4sIGFuIHdlbiBpaHIgZXVjaCBhdXNzZXIgUGFkcmVpYwp3ZW5kZW4ga29lbm50Li4uCgpSYXIuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoSmFtYWxza2ksICA0LiBBcHIgMjAwMCwgMTg6Mjg6NTcpOgp+IyEgcm49THVnIHJ0PTk1MzU5Njg4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQpFaW4gRnJhdWVuaGFzc2VyIG1hY2h0IG5vY2gga2VpbiBGcmF1ZW5oYXNzZXItTXVkLgoKU29ycnksIEx1ZyEKCj0gL3dvcmxkIGphbWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoSmFtYWxza2ksICA0LiBBcHIgMjAwMCwgMTg6MzE6NDMpOgp+IyEgcm49TWFtbWkgcnQ9OTUzODMxOTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCktsYXIsIGplZGVyIGRlciBzZWluIEZvdG8gYXVmIGRlbiBTZWl0ZW4gaGFiZW4gd2lsbCwgc3VjaHQgc2ljaCBlaW4gaHVlYnNjaGVzCmF1cyB1bmQgc2NoaWNrdCBlcyBhbiBpcmdlbmRqZW1hbmQsIGRlciBkYWZ1ZXIgc29yZ3QsIGRhcyBlcyBtaXQgZWluZW0gbGluawp2b24gZGVyIEhvbWVwYWdlIGF1cyB6dSBzZWhlbiBpc3QuCgpXZXIgZGFzIG1hY2h0PyAKKnp1dmsqCj0gL3dvcmxkIGphbWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGxheWVyIEZvdG9zIGRpZSBad2VpdGUgISAoSmFtYWxza2ksICA0LiBBcHIgMjAwMCwgMTg6MzU6NTgpOgp+IyEgcm49U3VibGltZSBydD05NTM5Mjc1MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM5Mjc1MjAKU3VwZXIhClVuZCBqZWRlc21hbCB3ZW5uIERpY2ggamVtYW5kIGFuZ3JpbnN0L2xhZWNoZWx0IGJla29tbXN0IER1IGVpbmUgZmV0dGUgYXNjaWkKWndlcmdlcm4vRWxmZW4vTWVuc2NoZW5vZGFzb25zdHdhc0ZyYXR6ZSB1ZWJlciBkZW4gQmlsZHNjaGlybSBnZXNjcm9sbHQhCgpIb3Bwc2Fzc2EhCkphbWFsc2tpLCBpZ25vcmllcmUgZnJhdHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWc6IFBsYXllciBGb3RvcyAoTHVnLCAgNi4gQXByIDIwMDAsIDAxOjU2OjMxKToKfiMhIHJuPUphbWFsc2tpIHJ0PTk1NDg2NTczNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1MzQxMzU2MQoKV0VJQ0hFSSEKCkJhaCBIdW1idWcKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRC1LYW5hbCB1bmQgTXVkIDspIChHbm9tZSwgIDcuIEFwciAyMDAwLCAyMDoyMjoyMyk6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk1Mzk4OTQzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1Mzk4OTQzNgplaW4gc2VnZW4/CmRhcyBpc3QgbnVyIGVpbmUgd2VpdGVyZSBnZWxkc2NoaW5kZXJlaS4Kd2VubiBpY2ggb25saW5lIGJpbiwgbW9lY2h0IGljaCBuaWNodCBudXIgbXVkZGVuLCBzb25kZXJuIGF1Y2ggc3VyZmVuLgp3ZW5uIGljaCBkYXMgdHVlLCBzY2hhbHRldCBzaWNoIGF1dG9tYXRpc2NoIGVpbiBCLWthbmFsIGVpbiwgZGEgZWluZQpob2VoZXJlIGJhbmRicmVpdGUgZ2VmcmFndCBpc3QuIGFsc28gemFobCBpY2ggZGllIDEwIG1hcmssIGRhbWl0IGRpZQpha3RpZW4gd2VpdGVyIHN0ZWlnZW4sIG1laHIgbmljaHQuCmVpbiBlY2h0ZXIgc2VnZW4gZGFnZWdlbiB3YWVyZSBlbmRsaWNoIG1hbCBlaW5lIGZsYXRyYXRlIHVudGVyIDEwMCBtYXJrLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRC1LYW5hbCB1bmQgTXVkIDspIChHcmltbWJvcm4sICA4LiBBcHIgMjAwMCwgMDg6NTY6MDQpOgp+IyEgcm49R25vbWUgcnQ9OTU1MTMxNzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzOTg5NDM2CkdlbmF1LiBBdXNzZXJkZW0gd2FlcmUgZXMgZWluIFNlZ2VuLCB3ZW5uIEJlbnppbiBudXIgNTAgUGYvTGl0ZXIga29zdGVuIHd1ZXJkZQp1bmQgbWlyIGRlciBaZWl0dW5nc2JvdGUgbW9yZ2VucyBkaWUgWmVpdHVuZyBncmF0aXMgYnJpbmd0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEQtS2FuYWwgdW5kIE11ZCA7KSAoRGVlcGJsdWUsICA4LiBBcHIgMjAwMCwgMDk6NDY6NTkpOgp+IyEgcm49R25vbWUgcnQ9OTU1MTMxNzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzOTg5NDM2CkR1IGJpc3QgZG9jaCBuaWNodCB2ZXJwZmxpY2h0ZXQsIGRpZSAxMC1ETS1GbGF0cmF0ZSB6dSBuZWhtZW4/IFVuZCBzb3dlaXQKcmVjaG5lbiB3aXJzdCBEdSBqYSB3b2hsIGtlbm5lbiwgdW0gcmF1c3p1ZmluZGVuLCBvYiBzaWNoIGRhcyBmdWVyIERpY2ggbG9obnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEQtS2FuYWwgdW5kIE11ZCA7KSAoR25vbWUsICA4LiBBcHIgMjAwMCwgMTg6MjU6MDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1NTE3Njk2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1Mzk4OTQzNgppbmZvcm1pZXIgZGljaCBsaWViZXIgYWxzIGR1bW0gcnVtenVsYWJlcm4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUkU6IFBsYXllciBQaG90b3MgKFdhYiwgIDkuIEFwciAyMDAwLCAxNDowMjo0Nik6Ck1lbnNjaCBkYXMgd3JlIG1hbCBlaW5lIGdlaWxlIElkZWUuIERhbm4gd2VpcyBtYW4gYXVjaCB3ZWxjaGVzIE1kY2hlbiB3aWUgYWx0CmlzdCAqZyouIEljaCBmaW5kZSBtYW4gc29sbHRlIGRhbm4gYXVjaCBub2NoIEhlcmt1bmZ0IHVuZCBGYW1pbGllbnN0YW5kCmRyYXVmc2NocmVpYmVuICpsYWNoKi4gCgpOZSwgTWFsIGltIEVybnN0IGdlaWxlIElkZWUuCgpXYWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEQtS2FuYWwgdW5kIE11ZCA7KSAoTHVnLCAxMC4gQXByIDIwMDAsIDAxOjQ5OjE0KToKfiMhIHJuPUdub21lIHJ0PTk1NTEzMTc0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1Mzk4OTQzNgoKSGV5IEdub21lIGdsYXVidCBhbiBkZW4gT3N0ZXJoYXNlbiEgRGFiZWkgd2Vpc3MgZG9jaCBqZWRlciwgZGFzcyBlcyBudXIgZGVuCldlaWhuYWNodHNtYW5uIGdpYnQhCgpIQVIhCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJFOiBQbGF5ZXIgUGhvdG9zIChEZWVwYmx1ZSwgMTAuIEFwciAyMDAwLCAxMDoyMDoxMyk6Cn4jISBybj1XYWIgcnQ9OTU1MjgxNzY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU1MjgxNzY2Cm5vdGdlaWw/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQbGF5ZXIgRm90b3MgZGllIFp3ZWl0ZSAhIChLYXJpcywgMTQuIEFwciAyMDAwLCAxNjo0NTowOCk6Cn4jISBybj1HYXN0MiBydD05NTU3MjMzMzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTM5Mjc1MjAKPk5vY2ggRnJhZ2VuPwprbGFyLiBXZXIgaXN0IEdhc3QyPwpLYXJpcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvcnNjaGxhZzogUGxheWVyIEZvdG9zIChKYW1hbHNraSwgMTcuIEFwciAyMDAwLCAxMzo0ODo0Mik6Cn4jISBybj1MdWcgcnQ9OTU0OTc4OTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTUzNDEzNTYxCjIgRnJhdWVuaGFzc2VyIGJyaW5nZW4gZXMgYXVjaCBuaWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2tpbGx2ZXJsdXN0IGJlaSBHaWxkZW5hdXN0cml0dCAoU2x5Zm94LCAxNy4gQXByIDIwMDAsIDE3OjI1OjExKToKQmlzaGVyIGlzdCBlcyBiZWkgZWluZW0gR2lsZGVuYXVzdHJpdHQgamEgc28sIGRhc3MgbWFuIDMzJSBkZXIgU2tpbGxzCnZlcmxpZXJ0LAphdWNoIHdlbm4gbWFuIHNvZm9ydCB3aWVkZXIgZWludHJpdHQuClp1ZGVtIHZlcmxpZXJ0IG1hbiBhdWNoIG5vY2ggYWxsZSBHaWxkZW5xdWVzdHMgKHp1bWluZGVzdCBiZWkgZWluZW0gS2FlbXBmZXIKd2FyIGRpZXMgbWFsIHBhc3NpZXJ0LCBkZXIgZHVyZnRlIGFsbGUgbm9jaG1hbCBtYWNoZW4sIHdhcyBtZWluZXIgTWVpbnVuZwpuYWNoIGVpbiBTY2h3YWNoc2lubiBpc3QpLgpTaW5udm9sbGVyIHdhZXJlIGVzIHNpY2hlciwgd2VubiBtYW4gZGVuIFNraWxsdmVybHVzdCBhYmhhZW5naWcgbWFjaGVuIHd1ZXJkZQp2b24gZGVyIERhdWVyLCB3aWUgbGFuZ2UgbWFuIGF1cyBkZXIgR2lsZGUgZHJhdXNzZW4gaXN0LiBEaWUgd2FlcmUgYXVjaApyZWFsaXN0aXNjaCwgd2VyIGluIFJMIG1hbCBlaW5lbiBhbmRlcmVuIFNwb3J0L0JlcnVmL0hvYmJ5IGF1c3Byb2JpZXJ0LAp2ZXJsaWVydCBqYSBhdWNoIG5pY2h0IGdsZWljaCBzZWluZSBiaXNoZXJpZ2VuIEZhZWhpZ2tlaXRlbi4KTWFuIGtvZW5udGUgc28gYXVjaCBtYWwgaW4gZWluZSBhbmRlcmUgR2lsZGUgcmVpbiBzY2hudXBwZXJuLCBvaG5lIGdsZWljaCAKZWluZW4gbmV1ZW4gMnRpZSBlcnNjaGFmZmVuIHp1IG11ZXNzZW4uCgogICBWaWVsbGVpY2h0IGRlbmtlbiBtYWwgZGllIEVyem1hZ2llciBkYXJ1ZWJlciBuYWNoCgogICAgICAgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2tpbGx2ZXJsdXN0IGJlaSBHaWxkZW5hdXN0cml0dCAoRGVlcGJsdWUsIDE3LiBBcHIgMjAwMCwgMTc6NTg6NDMpOgp+IyEgcm49U2x5Zm94IHJ0PTk1NTk4NTExMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NTk4NTExMQpTaWNoZXIga2FubiBtYW4gc293YXMgbWFjaGVuLCBhbGxlcmRpbmdzIHNvbGx0ZSBtYW4gZGFubiB6dSBoYWV1ZmlnZXMKR2lsZGVud2VjaHNlbG4gdW50ZXJiaW5kZW4uIE51ciBtYWwgc2NobmVsbCBmdWVyIGVpbiBNb25zdGVyIGRpZSBHaWxkZQp3ZWNoc2VsbiBpc3QgU2Nod2FjaGZ1ZwogYW5kZXJlcnNlaXRzIGtvZW5udGUgbWFuIGRpZSBad2VpdGllZmx1dCBlaW5zY2hyYWVua2VuLCB3ZW5uIG1hbiBkaWUKR2lsZGVud2VydGUgc3BlaWNoZXJ0IHVuZCBkZW0gU3BpZWxlciBlcmxhdWJ0LCBtaXR0ZWxmcmlzdGlnIGluIHNlaW5lIGFsdGUKR2lsZGUgenVydWVja3p1a2VocmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNraWxsdmVybHVzdCBiZWkgR2lsZGVuYXVzdHJpdHQgKEhvb2QsIDE3LiBBcHIgMjAwMCwgMTg6MzY6NDgpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTU1OTg3MTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU1OTg1MTExCmljaCBmaW5kZSBlcyBzZWhyIHNjaG9lbiwgZGFzcyBlcyBub2NoIGxldXRlIGdpYnQsIGRpZSBhbiBkYXMgZ3V0ZSBpbQptZW5zY2hlbiBnbGF1YmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTa2lsbHZlcmx1c3QgYmVpIEdpbGRlbmF1c3RyaXR0IChNb3Jnb25hdGUsIDE4LiBBcHIgMjAwMCwgMTQ6NDI6MDUpOgp+IyEgcm49SG9vZCBydD05NTU5ODk0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTU5ODUxMTEKV2llIHNhZWhlIGVzIGF1cywgZGFtaXQgbWFuIGtlaW4gR2lsZGVuLUhvcHBpbmcgamUgbmFjaCBNb25zdGVyIGJldHJlaWJ0LCBkYXNzCm1hbiBkaWUgU2tpbGxzIGlubmVyaGFsYiB2b24gLSBsZXRzIHNheSAtIDMgTW9uYXRlbiBuaWNodCB2ZXJsZXJudCwgYWJlciBlcnN0Cm5hY2ggZnJ1ZWhlc3RlbnMgZWluZW0gTW9uYXQgd2llZGVyIHp1cnVlY2trZWhyZW4ga2Fubj8gVS5VLiBNb25hdCBkdXJjaApXb2NoZW4gZXJzZXR6ZW4sIG9kZXIgT25saW5lLVN0dW5kZW4gb2RlciB3aWUgYXVjaCBpbW1lci4KCkp1c3QgbXkgMmNlbnRzCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNraWxsdmVybHVzdCBiZWkgR2lsZGVuYXVzdHJpdHQgKFRlZGR5LCAyMi4gQXByIDIwMDAsIDE5OjIxOjQ4KToKfiMhIHJuPVNseWZveCBydD05NTU5ODUxMTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTU5ODUxMTEKV2llIHdhZXJlIGVzLCB3ZW5uIG1hbiBuYWNoIGVpbmVtIEdpbGRlbmF1c3RyaXR0IG5pZSB3aWVkZXIgaW4gZGllc2UgZ2lsZGUKZWludHJldGVuIGthbm4uClNjaGxpZXNzbGljaCBoYWJlbiBkaWUgbWVpc3RlbiBHaWxkZW4gYXVjaCBpaHJlbiBTdG9sei4KClRlZGR5LCBzZWxic3Qgc2Nob24gYXVzLSB1bmQgd2llZGVyIGVpbmdldHJldGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXNtb2RpcyAoU2x5Zm94LCAyMy4gQXByIDIwMDAsIDAzOjU4OjA2KToKV2Vpc3MgamVtYW5kLCB3YXMgbWl0IEFzbW9kaXMgbG9zIGlzdD8KV2llc28gbXVkZGV0IGRlciBlaW5zdGlnZSBEYXVlcm11ZGRlciBuaWNodCBtZWhyPwoKICAgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3RpZ21hdGEgZWluZSBiaWVmIChOZXZvaywgMjQuIEFwciAyMDAwLCAwMzo0Mzo0OSk6Cn4jISBybj1TY29ycGlvbiBydD05NTY1NDA1MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTY1NDA1MDkKS2xhc3NlLCBnbGVpY2ggZHJlaSBBcm11dHN6ZXVnbmlzc2UgYXVmIGVpbm1hbC4gCk1lZXAgT25lOiBCcmllZmUgc2NocmVpYmVuIGdlaHQgYW5kZXJzCk1lZXAgdHdvOiBEaWUgUXVlc3QsIHR1IERpY2ggbWl0IFhhbiB6dXNhbW1lbi4KTWVlcCBUaHJlZTogVW1sYXV0ZSBnZWhlbiBpbiBkaWVzZW0gTXVkIG5pY2h0IChiZXZvciBEdSBmcmFnc3QsIGRhcyBNdWQpLApzb2xsdGUgRGlyIG5hY2ggc2llYmVuIFN0dW5kZW4gb25saW5lIFplaXQgc2Nob24gYXVmZ2VmYWxsZW4gc2Vpbi4KCk5ldm9rLCBzdGV0cyBoaWxmc2JlcmVpdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpZWR0ZXh0ZSAoQmFtYmksIDI0LiBBcHIgMjAwMCwgMTg6MjA6MTcpOgpXZWlzcyB6dWZhZWxsaWcgamVtYW5kLCB3byBtYW4gKG9ubGluZSkgTGllZHRleHRlIHZvbiBCb24gSm92aSAtIExpZWRlcm4KaGVya3JpZWdlbiBrYW5uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpZWR0ZXh0ZSAoUGFyZGF1eiwgMjQuIEFwciAyMDAwLCAxOTo1NzoyMCk6Cn4jISBybj1CYW1iaSBydD05NTY1OTMyMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTY1OTMyMTcKd3d3Lmx5cmljcy5kZSAtIG9kZXIgd2FycyAuY2g/IHdlaXNzIG5pbW1lciBnZW5hdSA6KQoKUGFyZGF1eiwgYXVzbmFobXN3ZWlzZSB1bnNpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpZWR0ZXh0ZSAoTWFraXNoLCAyNC4gQXByIDIwMDAsIDIyOjU2OjA0KToKfiMhIHJuPUJhbWJpIHJ0PTk1NjU5MzIxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NjU5MzIxNwpVbnRlciB3d3cubHlyaWNzLmNoIGhhYmVuIHNpZSBpbW1lciByZWNodCB2aWVsLi4uCgpNYWtpc2gsIHRybGxlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGllZHRleHRlIChCYW1iaSwgMjUuIEFwciAyMDAwLCAxMToxMzo0NCk6Cn4jISBybj1CYW1iaSBydD05NTY1OTMyMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTY1OTMyMTcKaGFiIG5lIGhwIG1pdCBhbGxlbiBseXJpY3MgZ2VmdW5kZW4sIHdlbnMgaW50ZXJlc3NpZXJ0LgooUFM6IERhbmtlIGZ1ZXIgZGllIGJpc2hlcmlnZW4gSGludHMuKQpodHRwOi8vd3d3Lmdlb2NpdGllcy5jb20vSG9sbHl3b29kL0hpbGxzLzY5MzAvL3AwMTAuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXNtb2RpcyAoQnViYmEsIDI1LiBBcHIgMjAwMCwgMTI6NDA6NTQpOgp+IyEgcm49U2x5Zm94IHJ0PTk1NjQ1NTA4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NjQ1NTA4NgoKRGllIEZyYWdlIGxhZXNzdCBzaWNoIG5pY2h0IHNvIGVpbmZhY2ggYmVhbnR3b3J0ZW4uLi5Bc21vZGlzIGlzdCBkZXIgZXJzdGUoPykKTUctTXVkZGVyLCBkZXIgdm9uIHNjaHdlcmVyIFNjaGl6b3BocmVuaWUgaGVpbWdlc3VjaHQgd3VyZGU7IGRpZSBiZWhhbmRlbG5kZW4KQWVyenRlIGZ1ZWhyZW4gZGFzIGF1ZiBleHplc3NpdmVzIE1laHJzcGllbGVyLVZlcmhhbHRlbiAoMnRpZS1TeW5kcm9tKQp6dXJ1ZWNrLi4uZGEgZXMgc2ljaCB1bSBnYWxsb3BpZXJlbmRlIFNjaGl6b3BocmVuaWUgaGFuZGVsdCwgbXVzcyBhbmdlbm9tbWVuCndlcmRlbiwgZGFzcyBlaW5lIFp1c3RhbmRzYmVzc2VydW5nIGF1c2dlc2NobG9zc2VuIGlzdC4KWnUgRGVpbmVyIEZyYWdlIHp1cnVlY2ssIFNseWZveDogRWluIFRlaWwgdm9uIEFzbW9kaXMgenVlY2h0ZXQgamV0enQKT2Noc2VuZnJvZXNjaGUgaW4gZGVuIEZpZWJlcnN1ZW1wZmVuIFN1ZWRwYW5uYW1hcywgZWluIGFuZGVyZSBUZWlsIHZvbiBpaG0KYmVzY2hhZWZ0aWd0IHNpY2ggbWl0IGRlciBvZWtvbG9naXNjaCBrb3JyZWt0ZW4gS2Flc2VlcnpldWd1bmcgaW0KdGliZXRhbmlzY2hlbiBIb2NobGFuZCwgZWluIHdlaXRlcmVyIFRlaWwgamFnZCBzY2h3YW56bG9zZSBCZXV0ZWx3b2VsZmUgaW0KYXVzdHJhbGlzY2hlbiBPdXRiYWNrLCBlaW4ga2xlaW5lciBUZWlsIGlzdCBpbSBzaWJpcmlzY2hlbiBQZXJtYWZyb3N0CnZlcnNjaG9sbGVuLCBlaW5lbiBhbmRlcmVyIFRlaWwuLi4KLi4uamVkZW5mYWxscyBpc3QgQXNtb2RpcyBhdWYgUmF0IHNlaW5lciBBZXJ6dGUgd2VpdCB3ZWcgdm9uIGplZGVtCk9ubGluZV9BbnNjaGx1c3MgLSB1bmQuLi5lciBpc3QgZ2x1ZWNrbGljaCEhIVdvaGVyIGlzdCBkYXMgYWxsZXMgd2Vpc3M/IE51biwKaWNoIGJpbiBlaW5lbSBUZWlsIHZvbiBBc21vZGlzIGF1ZiBkZXIgUnVlY2tzZWl0ZSBkZXMgTW9uZGVzIGJlZ2VnbmV0LCBlciBrYW0KenVmYWVsbGlnIGFuIGRlciBGYXJtIHZvcmJlaSwgYXVmIGRlciBpY2ggZnVlciBlaW5lIGhvbGxhZW5kaXNjaGUgQ29tcGFueSBhbgpkZXIgV2VpdGVyZW50d2lja2x1bmcgZ2VzY2htYWNrbG9zZXIgVG9tYXRlbiBhcmJlaXRlIChzZWxic3R2ZXJzdGFlbmRsaWNoCnN0cmVuZyBnZWhlaW0pLiBEZXIgcGFydGllbGxlIEFzbW9kaXMgd29sbHRlIHNpY2ggZG9ydCBhbHMgR2FlcnRuZXJnZWhpbGZlCmJld2VyYmVuLi4ud2lyIG11c3N0ZW4gaWhtIGFiZXIgYWJzYWdlbiwgd2VpbCBzZWluZSBCZXdlcmJ1bmdzdW50ZXJsYWdlbgp1bnZvbGxzdGFlbmRpZyB3YXJlbi4uLmVpbiB0ZWlsIHdhciB3b2hsIG5vY2ggaW4gUGFuYW1hLCBUaWJldCwgQXVzdHJhbGllbi4uLgoKQnViYmEgOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVkaWV2aWwgMiAoRGFudGUsIDI2LiBBcHIgMjAwMCwgMTY6MzM6MzQpOgpLZW5udCBqZW0gbmUgdXJsIHVudGVyIGRlciBtYW4gY2hlYXRzL2hpbGZlIGZ1ZXIgTWVkaWV2aWwgMiBmdWVyIFBTWCBiZXJlaXRzCmJla29tbXQ/CkRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1lZGlldmlsIDIgKFBpbGdyaW0sIDI2LiBBcHIgMjAwMCwgMjI6MDk6MDQpOgp+IyEgcm49RGFudGUgcnQ9OTU2NzU5NjE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU2NzU5NjE0Cktlbm4gZGFzIHNwaWxlIG5pY2h0IC4uLgoKQWJlciAuLi4Kd3d3LmdhbWV6LmRlICBvZGVyIGRsaC5uZXQgIHNpbmQgaW1tZXIgZ3V0ZSBhbmxhdWZwdW5rdGUgLi4uCgpQaWxncmltCgotPgo+IE1lZGlFdmlsIDIKPiAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVhdCBtb2RlIChQQUwgdmVyc2lvbik6Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG9sZCBMMiBhbmQgcHJlc3MgTGVmdCwgVXAsIFNxdWFyZSwKVHJpYW5nbGUsIFJpZ2h0LCBDaXJjbGUsIFVwLCBTcXVhcmUgZHVyaW5nCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FtZSBwbGF5IHRvIHVubG9jayBhIGNoZWF0IG1lbnUgd2l0aAp1bmxpbWl0ZWQgaGVhbHRoLCBhbGwgd2VhcG9ucywgbGV2ZWwgc2tpcCBhbmQKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxpbWl0ZWQgbW9uZXkgb3B0aW9ucy4KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmZvcm1hdGlvbiBpbiB0aGlzIHNlY3Rpb24gd2FzIGNvbnRyaWJ1dGVkCmJ5IFRoZSBNb29wLiA8LQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZWRpZXZpbCAyIChQaWxncmltLCAyNi4gQXByIDIwMDAsIDIyOjEwOjIyKToKfiMhIHJuPVBpbGdyaW0gcnQ9OTU2Nzc5NzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU2NzU5NjE0ClVwcyAuLi4gbGV0emV0ZXJlcyB3YXIgdm9uICAgY2hlYXR6LmRlICAgOy0pIC4uLiAKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkViZW4gcGVyIE1haWwgYXVzIFVuaXRvcGlhIGJla29tbWVuICAoTGFyaW5hLCAyNi4gQXByIDIwMDAsIDIzOjAwOjA3KToKSGFsbGloYWxsbyBoYWIgZGFzIGViZW4gbWl0IGRlciBCaXR0ZSBlcyBpbiB1bnNlcmUgWmVpdHVuZyB6dSBzZXR6ZW4gYmVrb21tZW4KOyBhbHNvIGJpdHRlc2Nob2VuIDogClRpdGVsOiBadXMuOiBEaXBsb21hcmJlaXQgKEF6aXBocmFlbCkKSW0gVm9yZmVsZCBtZWluZXIgRGlwbG9tYXJiZWl0IGluIFNvemlvbG9naWUgd29sbHRlIGljaCBtYWwgYmVpIGRlbiAKU3BpZWxlcm4gdW0gTWl0YXJiZWl0IGVyZnJhZ2VuLiAKTWVpbiBUaGVtYSB3YWVyZSBQYXJ0bmVyc2NoYWZ0c2JlemllaHVuZ2VuIGR1cmNoIEludGVybmV0IGJ6dyBjaGF0Ym94ZW4gKGljaApiZXppZWhlIG11ZHMgZGEgbWl0IGVpbiApIC4gQWxzbyBtZWluZSBGcmFnZSBnaWJ0IGVzIGhpZXIgTGV1dGUgd2VsY2hlIGlocmUvbgpQYXJ0bmVyICggaW4gZHVyY2hzIEludGVybmV0IGtlbm5lbmdlbGVybnQgaGFiZW4gdW5kIGJlcmVpdCB3YWVyZW4gKG5hdHVlcmxpY2gKYW5vbnltKSBGcmFnZWJvZ2VuIHp1IGJlYW50b3dvcnRlbiA/IApFcyB3YWVyZSBuZXR0IHdlbm4gd2VuaWdzdGVucyBlaW5pZ2UgYXVmIGRpZXNlIEFuZnJhZ2UgcmVhZ2llcmVuIHd1ZXJkZW4gLiAKdmllbGVuIERhbmsKQXpyaXBoYWVsIApBenJpcGhhZWwgCiAKaGllcm1pdCB3ZWl0ZXJnZWxlaXRldCAKTGFyaW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdWNodCBpaHIgZWluZW4gTmFtZW4gLi4uIChHb2xhcywgMjcuIEFwciAyMDAwLCAxNTowMzo0OSk6Cmh0dHA6Ly93d3cucmlua3dvcmtzLmNvbS9uYW1lZ2VuLwoKdmllbCBzcGFzcwpnb2xhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1Y2h0IGlociBlaW5lbiBOYW1lbiAuLi4gKE1lbmFjZSwgMjcuIEFwciAyMDAwLCAxNToxMzoxMCk6Cn4jISBybj1Hb2xhcyBydD05NTY4NDA2Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTY4NDA2MjkKd2l0emlnISA7bykKCkhlYWRrbm9ja2VydHdpdCAob2RlciB3aWUgd2FyIGpldHp0IG1laW4gbmV1ZXIgTmFtZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNodCBpaHIgZWluZW4gTmFtZW4gLi4uIChQYXJkYXV6LCAyNy4gQXByIDIwMDAsIDE5OjIwOjAxKToKfiMhIHJuPUdvbGFzIHJ0PTk1Njg0MDYyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1Njg0MDYyOQpIbW1tIC4uIEluIGRlciBlcnN0ZW4gTGlzdGUgd2FyIGdsZWljaCB3ZXIgYmVrYW5udGVzIGRhYmVpIC4uLgpXaW0sIGhhc3QgRHUgRGVpbmVuIE5hbWVuIHZvbiBkYSA/Pz8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF6aXBocmFlbCAgKExhcmluYSwgIDIuIE1haSAyMDAwLCAxNTozNzoxMSk6CkFsc28gbWVpbmUgTGllYmVuIGljaCBoYWIgZG9jaCBnbGF0dCBtYWwgd2llZGVyIHdhcyB2b24gZGVtIEhlcnJlbiBnZWhvZXJ0IDoKaGllciBiaXR0ZXNjaG9lbiBhbiBhbGxlIGRpZSBlcyBpbnRlcmVzc2llcnQgLi4uIApUaXRlbDogRGlwbG9tYXJiZWl0IC0gVGVpbCBJSQpWZXJmYXNzZXI6IEF6aXBocmFlbCAKQWxzbzogZXJzdCBlaW5tYWwgdmllbGVuIGRhbmtlIGZ1ZXIgZGllIFJlc29ubmFueiAhCkxlaWRlciBtdXNzIGljaCBkZW4gRWlmZXIgZXR3YXMgc3RvcHBlbiwgZGVubiBlcyBnaWJ0IG5vY2gga2VpbmUgRnJhZ2Vib2dlbgpkZW5uIG1laW4gUGZvZiBha3plcHRpZXJ0IGRpZSBTYWNoZSAoc28gZ2VoZXVlciBlcnNjaGVpbnQgc2llIGlobSBuaWNodCAqbGFjaCoKKSBudXIgd2VubiBlaW5lIGF1c3JlaWNoZW5kZSBGYWxsemFobCB6dXNhbW1lbmtvbW10LCB3YXMgZHVyY2hhdXMgc2lubnZvbGwgaXN0CndlaWwgc29uc3QgZGllIEF1c3NhZ2VuIHdlcnRsb3Mgc2luZC4gCkFiZXIgaWNoIHNlaGUgZGFzcyB2aWVsZSBMZXV0ZSBoaWxmc2JlcmVpdCBzaW5kIHVuZCBpY2ggd2VyZGUgZGllIFNhY2hlCmR1cmNoYm94ZW4gLSB2ZXJzcHJvY2hlbiAhCkFsc28sIGZ1ZXIgYWxsZSBkaWUgdGVpbGhhYmVuIHdvbGxlbiBrYW5uIGljaCBtZWluZSBSbC0gZW1haWwgLSBBZHJlc3NlIGdsZWljaApoaWVyIHBvc3RlbiBhbHNvIDogcGtpZWZuZXJAaXgudXJ6LnVuaS1oZWlkZWxiZXJnLmRlCkljaCB3dWVyZGUgbWljaCBmcmV1ZW4gd2VubiBpaHIgc2llIGFuIGFuZGVyZSBDaGF0dGVyIG9kZXIgTXVkZGVyIHdlaXRlcmxlaXRlbgp3dWVyZGV0LCBkZW5uIGplIG1laHIgbWl0bWFjaGVuLCBkZXN0byBnZW5hdWVyIHdlcmRlbiBkaWUgQXVzc2FnZW4uIApBQkVSIGRpZSBEaXBsb21hcmJlaXQgd2lyZCB3b2hsIGVyc3QgaW0gSGVyYnN0IDIwMDAgaW4gQW5ncmlmZiBnZW5vbW1lbiB3ZXJkZW4Ka29lbm5lbiAtIGRlc2hhbGIgbWFpbHQgbWlyIGRhbWl0IGljaCBldWNoIGRhbm4gZGVuIEZyYWdlYm9nZW4genVzY2hpY2tlbgprYW5uLiAKTm9jaG1hbHMgdmllbGVuIERhbmsKQXppcGhyYWVsIAoKClNvIHdlaXQgc28gZ3V0IGljaCB3dWVuc2NoIGV1Y2ggd2FzIAoqa251ZGRlbCAqCkxhcmluYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVklSRU5XQVJOVU5HIChNdWFkaWIsICA0LiBNYWkgMjAwMCwgMTU6MDg6NTIpOgpoaSwKCndlciBudCByZWNobmVyIGhhdCBtaXQgd2luZG93c3NjcmlwdGluZ2hvc3QsIGZhbGxzIGlociBlaW5lIG1haWwgYmVrb21tdCBtaXQKZGVtIGF0dGFjaG1hbnQgTE9WRS1MRVRURVItRk9SLVlPVS50eHQudmJzLiBiaXR0ZSBhdWYga2VpbmVuIGZhbGwgb2VmZm5lbi4gZGFzCnRlaWwgaXN0IGVpbiBtb2RpZml6aWVydGVyIG1lbGlzc2EtdmlydXMgdW5kIHNjaHdlbW10IGltIG1vbWVudCB1ZWJlcgpkZXV0c2NobGFuZC4gZWluIHBhdGNoIGdpYnQgZXMgTk9DSCBuaWNodC4gZWlubWFsIGFrdGl2IGhhZW5ndCBzaWNoIGRhcyB0ZWlsCmluIGRpZSByZWdpc3RyeSB1bmQgYWxsZSAudmJzLCAudmJlIHVuZCBhZWhubGljaGUgYW4uCgpncnVzcwoKbXVhZGliICpiZXRyb2ZmZW5lciBtYWlsYWRtaW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVklSRU5XQVJOVU5HIChNdWFkaWIsICA0LiBNYWkgMjAwMCwgMTU6MTQ6MDkpOgp+IyEgcm49TXVhZGliIHJ0PTk1NzQ0NTczMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpoaSwKCmFlaCBsZWlkZXIgaXN0IGRhcyB0ZWlsIG5pY2h0IG51ciBlaW4gbW9kaWZpemllcnRlciBtZWxpc3NhLCBzb25kZXJuIGxhZWR0CmF1Y2ggYW5nZWJsaWNoIG5vY2ggZWluZW4gdHJvamFuZXIgYXVzIGRlbSBpbnRlcm5ldCBuYWNoLiB3YWhyc2NoZWlubGljaCB1ZWJlcgpodHRwLgoKZ3J1c3MKCm11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVklSRU5XQVJOVU5HIChOb25uZSwgIDQuIE1haSAyMDAwLCAxNToyMjowMyk6Cn4jISBybj1QcmEgcnQ9OTU3NDQ2NDU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkRhcyBpc3QgZGVyIFRyaWNrLiBEaWUgVmlydXN3YXJudW5nIHVlYmVyc2Nod2VtbXQgbWVociBNYWlsYm94ZW4sIGFscyBkZXIKVmlydXMgc2VsYnN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVklSRU5XQVJOVU5HIChHbG9pbiwgIDQuIE1haSAyMDAwLCAxNToyNToxOSk6Cn4jISBybj1Ob25uZSBydD05NTc0NDY1MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKKnNpbmcqCkphamFqYSwgamV0enQgd2lyZCB3aWVkZXIgaW4gZGllIEhhZW5kZSBnZWtsYXRzY2h0LAp3aXIgc3RlaWdlcm4gZGVuIEJydXR0b2RhdGVuZHVyY2hzYXR6IC4uLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZJUkVOV0FSTlVORyAoV3Vyc3QsICA0LiBNYWkgMjAwMCwgMTU6Mzc6MzApOgp+IyEgcm49R2xvaW4gcnQ9OTU3NDQ2NzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCgpEYXMgVGVpbCBpc3Qgd2lya2xpY2ggbHVzdGlnLi4uIApBdWZtIFJlY2huZXIgdm9tIEtvbGxlZ2VuIGhhdCBkYXMgZ2VyYWRlIDg1NSAudmJzLURhdGVpbiBnZW5lcmllcnQsCnVuZCB6d2FyIGlubmVyaGFsYiB2b24gMiBNaW51dGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWSVJFTldBUk5VTkcgKEthcmlzLCAgNC4gTWFpIDIwMDAsIDE1OjM5OjE5KToKfiMhIHJuPVd1cnN0IHJ0PTk1NzQ0NzQ1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpXaWxsc3QgRHUgZGFtaXQgc2FnZW4sIGRhc3MgbWFuIGRhcyBUZWlsIHp1bSBiZW5jaG1hcmtlbiBuZWhtZW4gc29sbD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZJUkVOV0FSTlVORyAoTW9yZ290aCwgIDQuIE1haSAyMDAwLCAxNTo0NzowOCk6Cn4jISBybj1LYXJpcyBydD05NTc0NDc1NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSGV5IGhleSwgc2NoaWNrcyBtaXIsIGljaCB3aWxsIGF1Y2ggbGFjaGVuLiAKCk0qIHdpbGwgVmlydXMgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZJUkVOV0FSTlVORyAoTm9ubmUsICA0LiBNYWkgMjAwMCwgMTU6NDc6NTMpOgp+IyEgcm49TW9yZ290aCBydD05NTc0NDgwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKZG9uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWSVJFTldBUk5VTkcgKEdvciwgIDQuIE1haSAyMDAwLCAxNTo1MDozMyk6Cn4jISBybj1NdWFkaWIgcnQ9OTU3NDQ1NzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkRpZSBNYWlsIGthbSBldHdhcyB6dSBzcGFldC4KSGllciBzaW5kIHNjaG9uIDM2MCBSZWNobmVyIGltIEFyc2NoLi4uIApOb2NoIGFuenVtZXJrZW4gaXN0IGZvbGdlbmRlcy4uLiBEZXIgVmlydXMgdmVyc2NoaWNrdCBzaWNoIHNlbGJlciB3ZWl0ZXIgYW4KQUxMRSBFbXBmYWVuZ2VyIGltIE9yZG5lciBLb250YWt0ZS4KCkdvciBzY2hvbiBmbGVpc3NpZyBhbSBpbnN0YWxsaWVyZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZJUkVOV0FSTlVORyAoTm9ubmUsICA0LiBNYWkgMjAwMCwgMTU6NTE6MjUpOgp+IyEgcm49R29yIHJ0PTk1NzQ0ODIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgphYmVyIGRvY2ggbmljaHQgZGVuIGdsZWljaGVuIFNjaGVpc3Mgd2llIHZvcmhlciwgb2Rlcj8KClVuaXggcnVsZXohCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVklSRU5XQVJOVU5HIChQcmEsICA0LiBNYWkgMjAwMCwgMTU6NTI6MTcpOgp+IyEgcm49R29yIHJ0PTk1NzQ0ODIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpKZXR6dCBtYWwgZG9vZiBnZWZyYWd0IGFscyBOaWNodC1PdXRsb29rLUJlbnV0emVyOiAKV2lyZCBkYXMgVGVpbCAqYXVmIGplZGVuIEZhbGwqIGF1c2dlZnVlaHJ0LCBvZGVyIG51ciwgd2VubiBkZXIgQmVudXR6ZXIKc28gZG9vZiBpc3QgdW5kIHp1IGFsbGVtIHVuZCBqZWRlbSAnSmEgdW5kIEFtZW4hJyBzYWd0Pz8/CgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWSVJFTldBUk5VTkcgKEJvaW5nLCAgNC4gTWFpIDIwMDAsIDE1OjUzOjQ2KToKfiMhIHJuPVByYSBydD05NTc0NDgzMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKS29tbXQgYXVmIGRlbiBtYWlsZXIgYW4sIG1hbmNoZSBmdWVocmVuIFZCUy1BbmhhZW5nc2VsIHVuZ2VmcmFndCBlaW5mYWNoCmF1cywgT3V0bG9vayBtZWluZXMgV2lzc2VucyBuaWNodCAoenVtaW5kZXN0IGJlaSBtaXIgbmljaHQpLiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVklSRU5XQVJOVU5HIChHb3IsICA0LiBNYWkgMjAwMCwgMTU6NTQ6MzIpOgp+IyEgcm49Qm9pbmcgcnQ9OTU3NDQ4NDI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyClVuc2VyZSBBbndlbmRlciBtdXNzdGVuIG9obmUgV2luZG93czk4IFNjcmlwdGluZyBIb3N0IHdhcyBiZXN0YWV0aWdlbiBtaXQKbGllZnMgb2huZSBWb3J3YXJudW5nIGR1cmNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWSVJFTldBUk5VTkcgKEhpZ2h0LCAgNC4gTWFpIDIwMDAsIDE2OjM1OjAyKToKfiMhIHJuPUdvciBydD05NTc0NDgyMzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKaG0gd2VubiBtYW4gc2llaHQgd2FzIGlociBmdWVuciBzcGFzcyBtaXQgZGVtIGRpbmcgaGFidCBrb2VubnRlIG1hbiBmYXN0Cm5laWRpc2NoIHdlcmRlbiAuLi4gaWNoIHN0ZWxsIGRlbiBtYWlsc2VydmVyIGV0eiBkb2NoIGF1ZiBudCB1bSAqZWcqCgpIaWdodCB1ZWJlciBzZWluIHN1bm9zIGFyZ2VsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZJUkVOV0FSTlVORyAoTHlyYSwgIDQuIE1haSAyMDAwLCAxNjo0MDoyNSk6Cn4jISBybj1QcmEgcnQ9OTU3NDQ2NDU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkljaCBtdXNzIHdvaGwgaXJnZW5kZXR3YXMgZmFsc2NoIG1hY2hlbjogaWNoIGJla29tbWUgaW1tZXIgbnVyIFdhcm51bmdlbiB2b3IKVmlyZW47IGRpZSBWaXJlbiBzZWxiZXIgc2VoZSBpY2ggbmllLi4uCgpMeXJhIGdydWViZWx0IGFuZ2VzdHJlbmd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWSVJFTldBUk5VTkcgKEFwb3BoaXMsICA0LiBNYWkgMjAwMCwgMTY6NTM6MTMpOgp+IyEgcm49THlyYSBydD05NTc0NTEyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKenVyIEluZm86CiBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9ubC0wNC4wNS4wMC0wMDAvCnVuZAogaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvbmwtMDQuMDUuMDAtMDAxLwoKQXBvcGhpcyAtIGF1Y2ggZ2VwbGFndC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVklSRU5XQVJOVU5HIChIb3VzZWhvbGRlciwgIDQuIE1haSAyMDAwLCAxNzoxOTo1OCk6Cn4jISBybj1BcG9waGlzIHJ0PTk1NzQ1MTk5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgp3aWVzbyB6dW0gaGVua2VyIGhhdCB1bnRlciBOVCBlaW4gcHJvemVzcyBkZW4gZWluIHVzZXIgYXVzZnVlaHJ0IGRhcyByZWNodCBkaWUKcmVnaXN0cnkgenUgbW9kaWZpemllcm4gPz8/PyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZJUkVOV0FSTlVORyAoR2xvaW4sICA0LiBNYWkgMjAwMCwgMTc6Mjc6NDgpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTU3NDUzNTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkRhbWl0IHNpY2ggUHJvZ3JhbW1lIC5JTkktRGF0ZWllbiBzcGFyZW4gOj4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWSVJFTldBUk5VTkcgKEFwc3UsICA0LiBNYWkgMjAwMCwgMTg6MTM6NTgpOgp+IyEgcm49R2xvaW4gcnQ9OTU3NDU0MDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCldvaGwgZWhlciwgZGFtaXQgYW0gSHVuZ2VydHVjaCBuYWdlbmRlIFZpcmVucHJvZ3JhbW1pZXJlciBzaWNoIHdhcyBkdXJjaCBkYXMKcHJvZ3JhbW1pZXJlbiB2b24gVmlyZW5zY2FubmVybiB2ZXJkaWVuZW4ga29lbm5lbiA7LSkKCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZJUkVOV0FSTlVORyAoR29yLCAgNC4gTWFpIDIwMDAsIDIwOjU1OjI0KToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTk1NzQ1MzU5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpXZWlsIE5UIGluIHNjaGVpc3MgQmV0cmllYnNzeXN0ZW0gaXN0LiBEdSBrYW5uc3QgYXVjaCBlaW5mYWNoIG1pdCBkZW0KR2FzdC11c2VyIERvbWFlbmVuYWRtaW4tYWNjb3VudHMgZXJ6ZXVnZW4uLiBXZW5uIGR1IG1hbCBpcmdlbmR3aWUgZHJpbiBpc3QKZ3JhZWJzdCBkdSBpbm5lcmhhbGIgdm9uIDEgTWludXRlIGRhcyBrb21wbGV0dGUgU3lzdGVtIHVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWSVJFTldBUk5VTkcgKE1vcmdvdGgsICA0LiBNYWkgMjAwMCwgMjE6MjE6MTApOgp+IyEgcm49R29yIHJ0PTk1NzQ0ODIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpPaCBTY2hlaXNzZSwgaWNoIGhhYiBpaG4gYXVjaCBnZW9lZmZuZXQuLi4uCgouLi4gd2llIGR1bW0sIGRhc3MgaWNoIExpbnV4IGhhYiA7LSkpCgoKTSogc2FndDogTWljcm9zb2Z0IHJ1bGV6ICEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWSVJFTldBUk5VTkcgKEdub21lLCAgNC4gTWFpIDIwMDAsIDIyOjIwOjU4KToKfiMhIHJuPUdsb2luIHJ0PTk1NzQ1NDA2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgp3b3p1IHNpbmQgZGFubiAuaW5pLWZpbGVzIGRhPyA7LSkKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWSVJFTldBUk5VTkcgKFJhcmRpYW4sICA0LiBNYWkgMjAwMCwgMjI6MjY6MTcpOgp+IyEgcm49TW9yZ290aCBydD05NTc0NjgwNzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKVW5kIHdhcyBzdGFuZCBkcmluPwoKUmFyLCBuZXVnaWVyaWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWSVJFTldBUk5VTkcgKE1hZ2ljdHV4LCAgNC4gTWFpIDIwMDAsIDIyOjQ2OjE5KToKfiMhIHJuPVJhcmRpYW4gcnQ9OTU3NDcxOTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkFsc28gdW50ZXIgd3d3LmFudGl2aXJ1cy5jb20gc29sbCBlcyBhbmdlYmxpY2ggd2FzIGdlYmVuLCBhYmVyIGJpc2hlciB3YXIgZGVyCiJTZXJ2ZXIgdG9vIGJ1c3kiLiBhYmVyIHVudGVyIGh0dHA6Ly93d3cudHJlbmRtaWNyby5kZS92aXJpbmZvL2FrdXQuaHRtbCBoYWIKaWNoIGVpbiBwYWFyIGx1c3RpZ2UgcHJvZ3JhbW1lIGdlZnVuZGVuLgood2VyIHNpY2ggc2VsYmVyIGRhaGluIHN1cmZlbiB3aWxsLCBiZWkgd3d3LmFudGl2aXJ1cy5kZSBmYWVuZ3RzIGFuIDspCgpNYWdpY3R1eAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVklSRU5XQVJOVU5HIChFdGFpbiwgIDUuIE1haSAyMDAwLCAwMToyMzo1MCk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05NTc0NTM1OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSGF0IGVyIG51ciBpbiBiZXN0aW1tdGVuIFp3ZWlnZW4uIEFCRVIgKGVzIGdpYnQgaW1tZXIKZWluIEFCRVIpLCBkZXIgU2NyaXB0aW5nLUhvc3QgaGF0IFNVLVJlY2h0ZS4gRXJnbzogRXIKa2Fubi4gRWlnZW50bGljaCBlaW4gYWx0ZXIgRXhwbG9pdC4gU2VociBwcmFrdGlzY2guCgpCdHcsIGRpZSBkb3BwZWx0ZSBFbmR1bmcgdHh0LnZicyBzaWVodCBlaGVyIG5hY2ggZWluZW0KRXhwbG9pdCBmdWVyIElDUSBhdXMsIG9kZXI/Cgoqd2luayoKCkV0YWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVklSRU5XQVJOVU5HIChOaWNrdGFyLCAgNS4gTWFpIDIwMDAsIDA4OjQyOjI5KToKfiMhIHJuPU11YWRpYiBydD05NTc0NDU3MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSGksCgppY2ggd2FyIChnbHVlY2tsaWNoZXJ3ZWlzZSkgbm9jaCBuaWNodCBpbiBkZXIgTGFnZSBkYXMgYW0gbGViZW5kZW4gT2JqZWt0IHp1CnZlcmlmaXppZXJlbiwgYWJlciBzb3Bob3MKd3d3LnNvcGhvcy5jb20gYmVoYXVwdGV0IHZvbiBzaWNoIGRhcyBEaW5nIHp1IGZpbmRlbi4gTWl0IGRlbSBFbnRmZXJuZW4KaGFwZXJ0J3Mgbm9jaCwgYWJlciBkYSBpc3QKU29waG9zIGVoIG5pY2h0IHp1IGdlYnJhdWNoZW4uLi4uCgpOaWNrdGFyIChtaXQgZGVtIFZpcmVuc2ljaGVyZW4gTWFpbHByb2dyYW1tKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWSVJFTldBUk5VTkcgKE1vcmdvdGgsICA1LiBNYWkgMjAwMCwgMDk6MjY6MTEpOgp+IyEgcm49Tmlja3RhciBydD05NTc1MDg5NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKQWVoLCBrYW5uc3QgRHUgIlNvcGhvcyBlaCBuaWNodCB6dSBnZWJyYXVjaGVuLi4uLiIgbWFsIG5hZWhlciBlcmxhZXV0ZXJuLiBXaXIKaGFiZW4gZGFzIERpbmcgYWxzIENhbXB1c2xpemVueiBnZWthdWZ0IHVuZCBzb2xsZW4gZGFzIG51biBiZW51dHplbi4gV2FlcgpzY2hvZW4sIHdlbm4gRHUgZGEgbWFsIEVyZmFocnVuZ2VuIHJ1ZWJlcnNjaGllYmVuIGtvZW5udGVzdC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWSVJFTldBUk5VTkcgKE5pY2t0YXIsICA1LiBNYWkgMjAwMCwgMTA6MDU6NTYpOgp+IyEgcm49TW9yZ290aCBydD05NTc1MTE1NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSGkKCldlbm4gZHUgbWFsIGRhcyBWaXJlbmxleGlrb24gdm9uIFNvcGhvcyBhdWZzY2hsYWVnc3Qga2FubnN0IGR1IGxlc2VuLCBkYXNzIGVyCnp1IGFsbGVuIFZpcmVuIGxvZXNjaGVuIHVuZApuZXUgaW5zdGFsbGllcmVuIGFscyBlaW56aWdlIExvZXN1bmcgdm9yc2NobGFlZ3QsIGFiZXIgZGllIERldGVjdGlvbi1FbmdpbmUKaXN0IGtsYXNzZS4uLgoKQlRXOiBFcyBrdXJzaXJlbiBzY2hvbiBuZXVlIFZhcmlhbnRlbiB2b24gSUxPVkVZT1UuLi4gRGVyIFF1ZWxsdGV4dCBpc3QgYXVjaAp6dSBsZWljaHQgdmVyc3RhZW5kbGljaCB1bmQKYW4gZWluaWdlbiBTdGVsbGVuIHdpcmtsaWNoICd2ZXJiZXNzZXJ1bmdzd3VlcmRpZycuLi4KCk5pY2t0YXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZJUkVOV0FSTlVORyAoTXVhZGliLCAgNS4gTWFpIDIwMDAsIDEyOjE2OjU4KToKfiMhIHJuPU5pY2t0YXIgcnQ9OTU3NTEzOTU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCmhpLAoKbnVyIGZ1ZXIgZGllIG5pZSBlcyBub2NoIG5pY2h0IHdpc3NlbjogZWluIGNsZWFudXAgZnVlciBkZW4gSUxPVkVZT1UgZ2lidCBlcwp1bnRlciB3d3cuY200YWxsLmNvbS4gCkRhcyBWaXJ1c3BhdHRlcm4gNjkzIHZvbiB0cmVuZG1pY3JvLCBlcmtlbm50IGlobiByZWNodCBwcm9ibGVtbG9zIHVuZCBhdWNoIGRpZQpyZXN0bGljaGUgYW50aXZpcmVuc29mdHdhcmUgc2NoZWludCBkb2NoIGluendpc2NoZW4gcmVhZ2llcnQgenUgaGFiZW4uCgpncnVzcyAKCm11YWRpYiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZJUkVOV0FSTlVORyAoR3JpbW1ib3JuLCAgNS4gTWFpIDIwMDAsIDEzOjMxOjU5KToKfiMhIHJuPU11YWRpYiBydD05NTc1MjE4MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKRXMgZ2lidCBkYXVlcmhhZnRlbiwgMTAwJWlnZW4gVmlyZW5zY2h1dHogZnVlciBydW5kIDEwMCBETSBpbQpDb21wdXRlcmZhY2hoYW5kZWwsIEJ1Y2hoYW5kZWwgb2RlciBhbHMgZG93bmxvYWQgKElTTyBJbWFnZSkgdm9uIGRpdmVyc2VuCkxpbnV4ZGlzdHJpYnV0b3Jlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCB2ZXJzdGVodCBkYXMgR2VzY2hyZWkgbmljaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZJUkVOV0FSTlVORyAoTHlyYSwgIDUuIE1haSAyMDAwLCAxNDozNDowNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU3NTI2MzE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkljaCBnbGF1YmUsIGRlciBTZWl0ZW5zY2huZWlkZXIgYmVpIE9iaSB6dW0gRHVyY2h0cmVubmVuIHZvbiBTdHJvbS0gdW5kCk5ldHp3ZXJra2FiZWxuIGlzdCBub2NoIGd1ZW5zdGlnZXIuLi4KCkx5cmEgaXN0IGZ1ZXIgcmFkaWthbGUgUHJvYmxlbWxvZXN1bmdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVklSRU5XQVJOVU5HIChEaWVkZXIsICA1LiBNYWkgMjAwMCwgMjA6MDE6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1NzUyNjMxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgoxMDAlaWc/IGRhIHdhZXIgaWNoIHZvcnNpY2h0aWcgLSBhdWNoIExpbnV4IGhhdCBTaWNoZXJoZWl0c2x1ZWNrZW4sIG51ciBlYmVuCm5pY2h0IHNvIHNjaGxpbW0gd2llIHVudGVyIFdpbmRvd3MuIEFiZXIgZGFzIGFic29sdXQgc2ljaGVyZSBCZXRyaWVic3N5c3RlbQpnaWJ0cyBsZWlkZXIgaW1tZXIgbm9jaCBuaWNodC4KCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVklSRU5XQVJOVU5HIChHbG9pbiwgIDUuIE1haSAyMDAwLCAyMTozNjo0Nyk6Cn4jISBybj1Sb25kYSBydD05NTc1NDk3Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKRGFzIGFic29sdXQgc2ljaGVyZSBCUyBpc3QgbWl0IGRlciBFcmZpbmR1bmcgZGVyIEtvbW11bmlrYXRpb24gdWViZXIgZGVuClJlY2huZXIgaGluYXVzIGFiZ2VzY2hhZmZ0IHdvcmRlbiA6KQoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZJUkVOV0FSTlVORyAoQ2hlYXN5LCAgNy4gTWFpIDIwMDAsIDE2OjU1OjA4KToKfiMhIHJuPVd1cnN0IHJ0PTk1NzQ0NzQ1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpJTE9WRVlPVSBoYXQgaGllciBpbSBoYXVzIGluIHdlbmlnZXIgYWxzIGRyZWkgTWludXRlbiB1ZWJlciAxMC4wMDAKLmpwZy1EYXRlaWVuIGdlbG9lc2NodC4gRGFzIERpbmcgaXN0IEdFRkFFSExJQ0guIEtlaW4gV2l0ei4gRGEgaGlsZnQgaW0KTm90ZmFsbCBudXIgbm9jaCBOZXR6c3RlY2tlciB6aWVoZW46IEFtIFNlcnZlciwgaGludGVyIGRlciBOb3RzdHJvbXZlcnNvcmd1bmchCi1DaGVhc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZJUkVOV0FSTlVORyAoQ2hlYXN5LCAgNy4gTWFpIDIwMDAsIDE2OjU2OjUwKToKfiMhIHJuPUdvciBydD05NTc0NDg0NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKQmVpIHVucyBsaWVmJ3MgZHVyY2ggTWFjQWZmZWUgVmlydXMgQ2xpbmljIGR1cmNoOiBpbSBsb2dmaWxlIHN0YW5kIHdhcyB2b24KIlNlcnZlciBkaWQgbm90IHJlc3BvbmQsIHRpbWVvdXQiLiBTb3ZpZWwgenVyIGF1dG9tYXRpc2NoZW4gQWt0dWFsaXNpZXJ1bmcgdm9uClZpcmVuZGF0ZWllbi4uLgotQ2hlYXN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWSVJFTldBUk5VTkcgKEhvb2QsICA3LiBNYWkgMjAwMCwgMTc6MTk6NTkpOgp+IyEgcm49Q2hlYXN5IHJ0PTk1NzcxMTMwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgp3ZWlzcyBnYXIgbmljaCB3YXMgaWhyIGhhYnQsIHNvbGFuZyBkYXMgdGVpbCBudXIganBnIHVuZCBtcDMgbG9lc2NodCwKcmFldW10cyBlaCBudXIgZmFjaGdlcmVjaHQgZGllIHBsYXR0ZSBhdWYgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZJUkVOV0FSTlVORyAoQ2hlYXN5LCAgNy4gTWFpIDIwMDAsIDE3OjI0OjA1KToKfiMhIHJuPUhvb2QgcnQ9OTU3NzEyNzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCmZ1ZXIgZGljaCB2aWVsbGVjaWh0LiB3aXIgdmVkaWVuZW4gZGFtaXQgYWJlciB1bnNlciBnZWxkLgotQ2hlYXN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWSVJFTldBUk5VTkcgKEhhdGUsICA3LiBNYWkgMjAwMCwgMTc6MjU6MTMpOgp+IyEgcm49SG9vZCBydD05NTc3MTI3OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSWNoIHdlaXNzIGdhcm5pY2h0IHdhcyBpaHIgYWxsZSBoYWJ0LiBEYXMgaXN0IGVpbiB0eXBpc2NoZXMgU3luZHJvbSBiZWkKTW9ub2t1bHR1cmVuLiBCZWkgdW5zIGltIEluc3RpdHV0IGlzdCBfbmljaHRzXyBwYXNzaWVydC4gQWJlciBoaWVyIHdpcmQKYXVjaCBuaWNodCB1ZWJlcmFsbCAodW5kIHNjaG9uIGdhcm5pY2h0IGluIFNpY2hlcmhlaXRzYmVyZWljaGVuKSBNaWNyb3NvZnQKZWluZ2VzZXR6dC4gV2VubiBpY2ggbWlyIGF1Y2ggbm9jaCBkaWUgZ2FuemUgRGlza3Vzc2lvbiBpbiBkZW4gTWVkaWVuIHVuZAp2b24gU2VpdGVuIGRlciBQb2xpdGlrIHNvIGFuc2VoZSB6d2VpZmxlIGljaCBhbSBNZW5zY2hlbnZlcnN0YW5kLiBBbnN0YXR0CndpZSBiZWkgZWluZXIgS3JhbmtoZWl0IGRhcyB1cnNhZWNobGljaGUgUHJvYmxlbSB6dSBiZXNlaXRpZ2VuIHdpcmQgCmRpc2t1dGllcnQsIHdpZSBtYW4gZGllIEZyZWloZWl0IG5vY2ggbWVociBlaW5zY2hyYWVua2VuIGthbm4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVklSRU5XQVJOVU5HIChDaGVhc3ksICA3LiBNYWkgMjAwMCwgMTc6Mjg6MjcpOgp+IyEgcm49SGF0ZSBydD05NTc3MTMxMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSG0gSGF0ZSwKCnZvbiBNb25va3VsdHVyIGthbm4gaGllciBpbSBIYXVzIGtlaW5lIFJlZGUgc2VpbjogYmV0cm9mZmVuIGlzdCBfZWluZXJfIHZvbgpmdWVuZiBTZXJ2ZXJuLCBhbGxlIG1pdCB1bnRlcnNjaGllZGxpY2hlbiBCZXRyaWVic3N5c3RlbWVuICh3YXJ1bSBudXI/KS4gRGFzClByb2JsZW0gaXN0IG51ciwgZGFzcyBlaW5pZ2Ugd2VuaWdlIFByb2dyYW1tZSBnZW5hdSBlaW5lbiBzb2xjaGVuIFNlcnZlcgp2b3JhdXNzZXR6ZW4sIHVuZCBkaWVzZXIgZWluZSBTZXJ2ZXIgendhciBudXIgZXR3YSA1JSBhbGxlciBEYXRlbiBiZWhlcmJlcmd0LApkYWZ1ZXIgYWJlciBldHdhIDk1JSBtZWluZXIgQXJiZWl0c3plaXQgaW4gQW5zcHJ1Y2ggbmltbXQgLS0gaW0gTm9ybWFsYmV0cmllYi4KRGFzIHdpcmtsaWNoIHNjaGxpbW1lIGlzdCwgZGFzcyBpY2ggdm9uIG1laW5lbiBWb3JnZXNldHp0ZW4gc29sYW5nZSBtaXQgbWVpbmVuCldhcm51bmdlbiBpZ25vcmllcnQgd2VyZGUsIGJpcyBlcyB6dSBzcGFldCBpc3QuIE51ciBndXQsIGRhc3MgaWNoIGRpZQpwcm8tTlQtU2VydmVyLUVudHNjaGVpZHVuZyBzY2hyaWZ0bGljaCBoYWJlIC0tIG1pdCBtZWluZW4gV2FybnVuZ2VuIGRyYXVmLgotQ2hlYXN5Ci4uLi53dWVyZGUgaGV1dGUgYW0gbGllYnN0ZW4gZWluIHBhYXIgQmV0cmllYnN3aXJ0c2NoYWZ0bGVyIGJlaSBNaWNyb3NvZnQKcHJvZ3JhbW1pZXJlbiBsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVklSRU5XQVJOVU5HIChIYXRlLCAgOC4gTWFpIDIwMDAsIDA4OjE3OjAyKToKfiMhIHJuPUNoZWFzeSBydD05NTc3MTMzMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSG1tLAoKYWxzbyB3b3p1IGJyYXVjaCBtYW4gTlQgYWxzIHNlcnZlcj8gRmlsZXNlcnZlcj8gRGEgZ2lidHMgU2FtYmEgdW5kIExpbnV4LgpBbHNvIEV4Y2hhbmdlIHNlcnZlcj8gRGVuIGthbm4gbWFuIGxvY2tlciBtaXQgUHJvZHVrdGVuIHdpZSBIUCBPcGVuTWFpbAooYXVjaCB1bnRlciBMaW51eCkgZXJzZXR6ZW4uIFdhcyBnaWJ0cyBkZW5uIG5vY2g/CgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZJUkVOV0FSTlVORyAoSG9vZCwgIDguIE1haSAyMDAwLCAwOTozMTozOCk6Cn4jISBybj1IYXRlIHJ0PTk1Nzc2NjYyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpuYSBqYS4uLmRlciBrbGVpbmUgdmlydXMgaGVpenQgZGllIGJldHJpZWJzc3lzdGVtZGlza3VzaW9uIGdhbnogc2Nob2VuCndpZWRlciBhbiA7KQppY2ggbW9lY2h0ZSBkYXp1IG51ciBiZW1lcmtlbiwgZGFzcyBtYW4gZGVuIHNjaHdhcnplbiBwZXRlciBpbiBkaWVzZW0KZmFsbCBlaWdlbnRsaWNoIHdlbmlnZXIgd2luZG93cyB6dXNjaGllYmVuIGRhcmYsIHNvbmRlcm4gZGFzIHByb2JsZW0gbGFnCmhpZXIgYXVzc2NobGllc3NsaWNoIGJlaSBvdXRsb2NrLiBnYWViZSBlcyB1bnRlciBsaW51eCBlaW4gb3V0bG9jay1kZXJpdmF0Cm1pdCBhZWhubGljaGVtIGZ1bmt0aW9uc3VtZmFuZywgZGFubiB3YWVyZSBlaW4gdmlydXMgZGllc2VyIGdhdHR1bmcKZ2VuYXVzbyB1bnRlciBsaW51eCBlaW5zZXR6YmFyLgpqZWRlciB1c2VyIGthbm4gZGFubiB6d2FyIG51ciBkaWUgZGF0ZWllbiBsb2VzY2hlbiwgenUgZGVuZW4gZXIgc2VsYnN0Cnp1Z3JpZmYgaGF0LCB1bmQgZGEgaXN0IGxpbnV4IGRlcnplaXQgbm9jaCBldHdhcyByZXN0cmlrdGl2ZXIgaW4gZGVyCmdydW5kZWluc3RlbGx1bmcgYWxzIHdpbmRvd3MgKHdhcyBhYmVyIGplZGVyIGhhbGJ3ZWdzIHZlcm51ZW5mdGlnZSBudC1hZG1pbgphZW5kZXJ0KSwgYWJlciBlcyBpbnRlcmVzc2llcnQgZGVuIHZpcnVzIHpiIG5pY2h0LCBvYiBtYW4gc2ljaCB2b24KYXVzc2VyaGFsYiBkZWZhdWx0bWFlc3NpZyBwZXIgcm9vdCBlaW5sb2dnZW4ga2FubiBvZGVyIG5pY2gsIG9iIG1hbgplaW5lIGZpcmV3YWxsIGF1Zmdlc2V0enQgaGF0IG9kZXIgbmljaCwgdS5zLncuCmF1c2Z1ZWhyZW5kZXIgd2FyIGluIGRpZXNlbSBmYWxsIGRlciB1c2VyIGluIHZlcmJpbmR1bmcgbWl0IG91dGxvY2ssIGVpbgpwcm9ncmFtbSwgd2FzIGVzIGluIGRpZXNlciBoaW5zaWNodCBhbGx6dWxlaWNodCBtYWNodC4KdW5kIGljaCBnbGF1YmUgYXVjaCBuaWNoLCBkYXNzIHZpZWxlIGxpbnV4LXJvb3Qgd2VuaWdlciBhbmZhZWxsaWcgZ2VnZW4KZWluICJpY2ggbGllYmUgZGljaCIgc2luZCwgYWxzIGRpZSB6YWhscmVpY2hlbiBudC1hZG1pbnMsIGRpZSB3b2hsIHNlbGJzdAptaXN0IGdlYmF1dCBoYWJlbiwgZGEgc29uc3QgYXVjaCBuaWNoIF9zb18gdmllbGUgZGF0ZWllbiBnZWtpbGx0IHdvcmRlbgp3YWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVklSRU5XQVJOVU5HIChNdWFkaWIsICA4LiBNYWkgMjAwMCwgMDk6NDU6MDApOgp+IyEgcm49SG9vZCBydD05NTc3NzEwOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKbmljaCBnYW56IHJpY2h0aWcsIGRlciB2aXJ1cyByaWNodGV0IGF1Y2ggb2huZSBvdXRsb29rIGdlbnVnIHNjaGFkZW4gYW4sIGVyCnZlcmJyZWl0ZXQgc2ljaCBkYW5uIGxlZGlnbGljaCBuaWNodCBrb3JyZWt0IHdlaXRlciB1ZWJlciBlbWFpbC4gbGVpZGVyCnZlcmJyZWl0ZXQgZXIgc2ljaCBhbGxlcmRpbmdzIGF1Y2ggdWViZXIgSVJDLCBzb3dlaXQgZGVyIGJldHJvZmZlbmUgVXNlciBtSXJjCmFscyBJUkMtQ2xpZW50IHZlcndlbmRldCB1bmQgZGFzIHNvbGxlbiB1bnRlciB3aW4gZG9jaCBzY2hvbiBzbyBlaW5pZ2Ugc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBWSVJFTldBUk5VTkcgKEhhdGUsICA4LiBNYWkgMjAwMCwgMTA6NDU6NDEpOgp+IyEgcm49TXVhZGliIHJ0PTk1Nzc3MTkwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpOdW5qYSwgbm9jaHdhcywgZGVyIFZpcnVzIGlzdCBzY2hvbiBTeXN0ZW1hYmhhZW5naWcuIERhcyBnYW56ZSBiYXNpZXJ0IGphCmF1ZiBWQlMgdW5kIGdhbnogcHJvYmxlbWF0aXNjaCBpc3QgZGVyIFdpbmRvd3MgU2NyaXB0aW5nIEhvc3QsIGRlciwgd2VubgplciBpbnN0YWxsaWVydCBpc3QsIGRhenUgZnVlaHJ0LCBkYXNzIGRlciBha3RpdmUgSW5oYWx0IGF1Y2ggb2huZSBzcGV6aWVsbGVzCmFua2xpY2tlbiBkZXIgQW5sYWdlIGF1c2dlZnVlaHJ0IHdpcmQuIEF1c3NlcmRlbSBsYWV1ZnQgZGVyIFdTSCBtaXQgQWRtaW4KUmVjaHRlbiB1bmQgZGEgZ2lidHMgYmVsaWViaWdlIFByb2JsZW0gdW50ZXIgV2luZG93cy9OVC4gRGFzIEdydW5kc2FldHpsaWNoZQpQcm9ibGVtIGlzdCBkZXIgImFrdGl2ZSIgSW5oYWx0IHZvbiBNYWlsLU5hY2hyaWNodGVuLiBTb2V0d2FzIHp1IGVybGF1YmVuCmlzdCByZWluZSBEdW1taGVpdCB1bmQgZmFocmxhZXNzaWcgc293aWVzby4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVklSRU5XQVJOVU5HIChHcmltbWJvcm4sICA4LiBNYWkgMjAwMCwgMTM6NDI6NTYpOgp+IyEgcm49SGF0ZSBydD05NTc3NzU1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSWNoIGhvZXJlIGltbWVyIFZpcnVzLiBGdWVyIG1pY2ggaXN0IGRhcyBpbW1lciBub2NoIGVpbiBXdXJtLiBBbnN0YWVuZGlnZQpWaXJlbiBiZWZhbGxlbiBCb290c2VrdG9yZW4gb2RlciBoYWVuZ2VuIHNpY2ggYW4gYW5kZXJlIFByb2dyYW1tZSBkcmFuLiBFaW4KYXVmIHouQi4gcGVybCBzdGF0dCB2YnMgYmFzaWVyZW5kZXIgV3VybSBrb2VubnRlIHNpY2ggYXVjaCBhdWYgVW5peC1TeXN0ZW1lbgp2ZXJicmVpdGVuLiBTb3dhcyB3aWUgZGllIFZlcmJpbmR1bmcgbWl0IGRlbSBXU0gsIGRpZSBkYXMgZXJzdCBzbyByaWNodGlnCnR1ZWNraXNjaCBnZW1hY2h0IGhhdCwgaXN0IGFsbGVyZGluZ3MgZWhlciBuaWNodCBkZW5rYmFyLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAwLCAxMzo0NTozNCk6Cn4jISBybj1EaWVkZXIgcnQ9OTU3NTQ5NjgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkxpbnV4IGlzdCAxMDAlaWcgdmlyZW5zaWNoZXIuIERhcyBpc3QgbmljaHQgZGFzc2VsYmUgd2llICJrZWluZQpTaWNoZXJoZWl0c2x1ZWNrZW4gaGFiZW5kIi4gQWJlciBhbHMgdXNlciBrb21tc3QgRHUgaGFsdCBuaWNodCBhbiBkZW4gKE0pQlIsCnVuZCBhdWNoIHNvd2FzIHdpZSAvYmluLCAvc2JpbiBldGMuIHNpbmQgZGljaHQuIFNpY2hlciBnaWJ0cyBkYSBpbW1lciB3aWVkZXIKaGFja3MuIEFiZXIgd2VsY2hlIGRpZSBpbiBlaW5lbiBrbGVpbmVuLCB1bmF1ZmZhZWxsaWdlbiBWaXJ1cyByZWlucGFzc2VuPwpLYXVtLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWSVJFTldBUk5VTkcgKE1vcmdvbmF0ZSwgIDguIE1haSAyMDAwLCAxNDozNToxNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU3Nzg2MzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCk5hamEsIC9iaW4gZXRjLiBpc3QgbnVyIHNvbGFuZ2Ugc2ljaGVyLCB3aWUgZHUgbmljaHQgYXVzIEZhdWxoZWl0IGRpY2gKc3RhbmRhcnRtYWVzc2lnIGFscyByb290IGVpbmxvZ2dzdCwgdW5kIGRhbm4gZGVpbiBub3JtYWxlcyBUYWdlc2dlc2NoYWVmdAplcmxlZGlnc3QuIEF1Y2ggdW50ZXIgTlQgbXVzcyBpY2ggbWljaCBuaWNodCBpbW1lciBhbHMgQWRtaW4gZWlubG9nZ2VuLCB2aWVsZQp0dW4gZGFzIGF1cyBGYXVsaGVpdC4gU28gdmllbCB6dSBkZW4gUmVjaHRlbi4gQXVzc2VyZGVtLCB3ZWxjaGUgcmVjaHRlIGhhdCBlaW4KUGVybC1Ta3JpcHQ/IFdlbm4gYXVjaCBBZG1pbiwgZGFubiBrYW5uIGRhcyBnbGVpY2hlIGF1Y2ggdW50ZXIgVW5peCBwYXNzaWVyZW4uClZvbiBkYWhlciwgbmljaHRzIGlzdCAxMDAlIHVuZCBiZWkgVW5peCAodW5kIHNlaW5lbiBEZXJpdmF0ZW4pIGdpYnQgZXMgbGVpZGVyCmltbWVyIG5vY2ggaXJnZW5kd2VsY2hlICJXYXJ0dW5ncy1Vc2VyIiBkaWUgYXVjaCBSb290LVJlY2h0ZSBoYWJlbi4gV2VubiBtYWwKamVtYW5kLCBkZXIgbmVuIFRlbG5ldC1EYWVtb24gcHJvZ3JhbW1pZXJ0IGhhdCwgZGFzIGFscyBsdXN0aWcgLyBzaW5udm9sbAphbnNhaC4KCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVklSRU5XQVJOVU5HIChUdW5peGd1dCwgIDguIE1haSAyMDAwLCAxNDozNzo0Myk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9OTU3Nzg5MzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCldlciBzaWNoICh2b3IgYWxsZW0gaW4gRmlybWVuLVJlY2huZXIpIGFscyByb290IGVpbmxvZ2d0IHVuZCBkYW5uIG5pY2h0IG51cgpyb290LUF1ZmdhYmVuIGVybGVkaWd0LCBpcyBzZWxic3Qgc2NodWxkIC0gdW50ZXIgTlQgd2llIHVudGVyIExpbnV4LgpVbnRlciBMaW51eCBoYXQgYmxvc3MgbmljaHQgamVkZXMgU2hlbGwtU2NyaXB0IFJvb3QtUmVjaHRlLi4uCgoncyBLYXJhdGUtWndlcmNobGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZJUkVOV0FSTlVORyAoRGllZGVyLCAgOC4gTWFpIDIwMDAsIDE0OjQxOjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NTc3ODYzMzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKRWluIFZpcnVzIG11c3MgbmljaHQga2xlaW4gc2VpbiwgdW0gZWluaWdlcm1hc3NlbiB1bmF1ZmZhZWxsaWcgenUgc2Vpbi4KCkljaCBoYWIgZnJ1ZWhlciBzZWxic3QgbWFsIEFWLVNvZnR3YXJlIGdlc2NocmllYmVuIHVuZCB2b24gZGFoZXIgbm9jaCBuZQpTYW1tbHVuZyB2b24gZ3V0IDEyMDAgVmlyZW4gZGFoZWltLiBEaWUgZ2lidHMgaW4gYWxsZW4gR3JvZXNzZW4uIDotKQoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAwLCAxNDo0Mzo0Myk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9OTU3Nzg5MzE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkRpZSBHZWZhaHIsIGF1cyAiRmF1bGhlaXQiIGdlbmVyZWxsIGFscyByb290IHp1IGFyYmVpdGVuIGlzdCBiZWkgVW5peC1TeXN0ZW1lbgpkZXV0bGljaCBnZXJpbmdlciwgZGEgZGllc2UgU3lzdGVtZSBlY2h0IG11bHRpdXNlcmZhZWhpZyBzaW5kLiBELmguIHdlbm4gaWNoCmt1cnogcm9vdC1SZWNodGUgYnJhdWNoZSBpc3QgZXMgbmljaHQgbm9ldGlnLCBzaWNoIGF1c3p1bG9nZ2VuLCBhbHMgcm9vdAplaW56dWxvZ2dlbiwgYXVzenVsb2dnZW4sIGFscyBCZW51dHplciB3aWVkZXIgZWluenVsb2dnZW4uIERpZSBwc3ljaG9sb2dpc2NoZQpTaWNoZXJoZWl0c2x1ZWNrZSBpc3QgYXVmZ3J1bmQgZGllc2VyIFVtc3RhZW5kbGljaGtlaXQgdW50ZXIgTlQgZGV1dGxpY2gKZ3JvZXNzZXIuIEdlbmVyZWxsZSByb290LVJlY2h0ZSBmdWVyIGFuZGVyZSBCZW51dHplciBnaWJ0IGVzIG5pY2h0ICh2b24gc3VpZApQcm9ncmFtbWVuIGFiZ2VzZWhlbiwgdW5kIGRpZSBzaW5kIGdlbmVyZWxsIGJvZXNlKSwgdW5kIG51ciBlaW4gdXNlciBoYXQgZGllClVJRCAwIHVuZCBpc3QgZGFtaXQgcm9vdC4gUGVybHNjcmlwdGUgaGFiZW4gd2llIGFsbGUgYW5kZXJlbiBhdXNmdWVocmJhcmVuClByb2dyYW1tZSBnZW5lcmVsbCBkaWUgUmVjaHRlIGRlcyBhdXNmdWVocmVuZGVuIEJlbnV0emVycy4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWSVJFTldBUk5VTkcgKEhvdXNlaG9sZGVyLCAgOC4gTWFpIDIwMDAsIDE0OjQ5OjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NTc3ODk4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKZWJuIHVuZCBrZWluIHZlcm51ZW5mdGlnZXIgdW5peC1hZG1pbiB3dWVyZGUgYWxzIHJvb3Qgc2VpbmUgbWFpbCBsZXNlbiwKZ2VzY2h3ZWlnZSBkZW5uIGlyZ2VuZHdlbGNoZSBhdXNmdWVocmJhaHJlbiBhdHRhY2htZW50cywgZGllIHBlciBtYWlsIGtvbW1lbgphbHMgcm9vdCBhdXNmdWVocmVuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZJUkVOV0FSTlVORyAoVHVuaXhndXQsICA4LiBNYWkgMjAwMCwgMTQ6NTA6NDUpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTU3NzkwMTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCk51ciBndXQsIGRhc3MgZXIgZGllIFdhaGwgaGF0LCBvYiBlciBkYXMgQXR0YWNobWVudCBhdXNmdWVocnQuLi4gLG8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVklSRU5XQVJOVU5HIChHb3IsICA4LiBNYWkgMjAwMCwgMTQ6NTE6MjkpOgp+IyEgcm49VHVuaXhndXQgcnQ9OTU3NzkwMjQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkxpZXMgZGlyIG5vY2htYWwgSGF0ZXMgQXJ0aWtlbCBnZW5hdSBkdXJjaCBUdW5peGd1dC4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBWSVJFTldBUk5VTkcgKE1vcmdvbmF0ZSwgIDguIE1haSAyMDAwLCAxNDo1MjoxMSk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05NTc3OTAxNzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKRGEgaGFldHRlbiB3aXIgZXMgd2llZGVyLCBqZWRlciBWZXJubmZ0aWdlIEFkbWluLiAKRGVyIHd1ZXJkZSBhdWNoIHVudGVyIE5UIHNpY2ggbmVuIE5vcm1hbC1Vc2VyIGVpbnJpY2h0ZW4sIHVuZCBzbyB3YXMgd2llIGRlbgpWQlMtU2tyaXB0aW5nLUhvc3QgZ2FyIG5pY2h0IGVyc3QgaW5zdGFsbGllcmVuLiBEZW5uIHdvenUgYnJhdWNoIGljaCBWQlM/IFVuZApkYXNzIG5vY2ggaW4gZWluZW0gRS1NYWlsLUF0dGFjaG1lbnQ/CgpNb3Jnb25hdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBWSVJFTldBUk5VTkcgKEdvciwgIDguIE1haSAyMDAwLCAxNDo1NDowNyk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9OTU3NzkwMzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkphIHdpciByZWRlbiBoaWVyIGltbWVyIHZvbSBBZG1pbi4gV2VubiBkaWUgZ2FuemVuIEFud2VuZGVyIG51ciBhdXMgQWRtaW5zCmJlc3RlaGVuIHd1ZXJkZW4sIGhhZXR0ZSBzaWNoIGRlciBWaXJ1cyBlcnN0IGdhciBuaWNodCB2ZXJicmVpdGV0LiBIaWVyCnNpdHp0ZW4gYWJlciBhdWNoIExldXRlLCBkaWUgZ3JhZGUgbWFsIGZyb2ggc2luZCB3ZW5uIHNpZSBkZW4gRWluc2NoYWx0a25vcGYKdm9uIGlocmVtIFJlY2huZXIgZ2VmdW5kZW4gaGFiZSB1bmQgc2ljaCB1ZWJlciBqZWRlIG5ldWUgRW1haWwgZnJldWVuLCBkYSBzaWUKc29uc3QgZGVuIGxpZWJlbiwgbGFuZ2VuIFRhZyBuaXggenUgYXJiZWl0ZW4gaGFiZW4sIHdlaWwgc2llIG5pY2h0IG1pdCBpaHJlbQpSZWNobmVyIHVtZ2VoZW4ga29lbm5lbi4uLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFZJUkVOV0FSTlVORyAoR2xvaW4sICA4LiBNYWkgMjAwMCwgMTU6MTE6MjkpOgp+IyEgcm49R29yIHJ0PTk1Nzc5MDQ0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpEYWZ1ZXIgc29sbHRlIGRlciBjbGV2ZXJlIEFkbWluIGRhbm4gamEgYXVjaCBzb3JnZW4gLSBkYXNzIHNpZSBzaWNoIHVlYmVyCmplZGUgRS1NYWlsIGZyZXVlbiBrb2VubmVuIChiencuIGFuIGlocmVuIERva3VtZW50ZW4gcnVta3JpdHplbG4pIG9obmUKZGFzcyBzaWUgZGFiZWkgU2NoYWRlbiBhbnJpY2h0ZW4ga29lbm5lbi4gV2VkZXIgYmVpIHNpY2ggbm9jaCBiZWkgYW5kZXJlbi4KRGFzIG5lbm50IHNpY2ggZGFubiA8ZnJlbWR3b3J0Pk51dHplcmZyZXVuZGxpY2hrZWl0PC9mcmVtZHdvcnQ+LiBOaWNodAp6dSB2ZXJ3ZWNoc2VsbiBtaXQgSW5mb3JtYXRpa2VyZnJldW5kbGljaGtlaXQuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFZJUkVOV0FSTlVORyAoR29yLCAgOC4gTWFpIDIwMDAsIDE1OjE3OjI1KToKfiMhIHJuPUdsb2luIHJ0PTk1Nzc5MTQ4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpTb3JyeSBHbG9pbiwKamVkZXIgVXNlciBzY2hpZXNzdCBpcmdlbmR3YW5uIG1hbCBlaW5lbiBCb2NrLi4uIERhIGthbm4gZGVyIEFkbWluIHNvdmllbApzcGVycmVuIHVuZCBlaW5yaWNodGVuIHdpZSBlciB3aWxsLiBJcmdlbmR3YW5uIGlzdCBoYWx0IG1hbCBTY2hsdXNzLiBEdSBrYW5uc3QKbmljaHQgZGllIEFtbWUgZnVlciAxMDAwIEFud2VuZGVyIHNwaWVsZW4sIGRhZnVlciBoYXN0IGR1IGVpbmZhY2gga2VpbmUgWmVpdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBWSVJFTldBUk5VTkcgKEdsb2luLCAgOC4gTWFpIDIwMDAsIDE1OjIxOjIzKToKfiMhIHJuPUdvciBydD05NTc3OTE4NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKSWNoIGdsYXViZSwgd2lyIG1pc3N2ZXJzdGVoZW4gZWluYW5kZXIuIEljaCBzZWhlIGVpbmVuIEFkbWluIGFscyBBbW1lCmZ1ZXIgZGllIFVzZXIgZGVzIE5ldHplcy4gRGFmdWVyIHd1cmRlIGVyIGFuZ2VzdGVsbHQuIEljaCBzZWhlIGVpbiwKZGFzcyBlciBudXIgaW4gZGVuIEdyZW56ZW4gZGVzIE9TIGFyYmVpdGVuIGthbm4gLSBhYmVyIG1pdCBkZW5lbiBzb2xsdGUKZXIgc2ljaCB3b2hsIHZlcnRyYXV0IG1hY2hlbi9nZW1hY2h0IGhhYmVuLgoKR2xvaW4KClBTOiBOYXR1ZXJsaWNoIHJ1dHNjaHQgbWFuY2htYWwgd2FzIGR1cmNoLCBhYmVyIGluIGRpZXNlbSBGYWxsIHdhciBkYXMKICAgIHdvaGwgZWluZGV1dGlnIGVpbiBiaXNzY2hlbiB2aWVsIER1cmNoZ2VydXRzY2hlIG1pdCBJTE9WRVlPVS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAwLCAxNToyNDoyMSk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9OTU3NzkwMzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkRlciBXU0ggaXN0IHNlaHIgcHJha3Rpc2NoLCB3ZW5uIG1hbiBxdWFzaS1yZW1vdGUgdmVyc2NoaWVkZW5lIFJlY2huZXIKYWRtaW5pc3RyaWVyZW4gd2lsbCwgb2huZSBhbGx6dWhvaGUgU2NodXN0ZXJyZWNobnVuZ2VuIGZ1ZXJzIE5ldWJlc29obGVuIHp1CnJpc2tpZXJlbi4gTWljcm9zb2Z0IGhhdCBkb2NoIGF1Y2ggc2VsYmVyIGdlc2FndCwgZGllIFByb2JsZW1lIHdhZXJlbiBkYWR1cmNoCnZlcnVyc2FjaHQsIGRhc3MgaWhyZSBCZW51dHplciBCZXF1ZW1saWNoa2VpdCB6dSBzY2hhZXR6ZW4gd3Vlc3N0ZW4uIFNvbGxlbgpoYWx0IG5pY2h0IHNvIGZhdWwgc2Vpbi4KCldhcyBlcndhcnRlc3QgRHUgdm9uIGVpbmVtIFN5c3RlbSwgd28gZXMgZWluICJaZXJvIEFkbWluaXN0cmF0aW9uIEtpdCIgZnVlcgpnaWJ0PyBEaWUgc2FnZW4gamEgc2VsYmVyLCBkYXNzIGRhIE51bGwgQWRtaW5pc3RyYXRpb24gbW9lZ2xpY2ggaXN0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBWSVJFTldBUk5VTkcgKEhvdXNlaG9sZGVyLCAgOC4gTWFpIDIwMDAsIDE1OjI2OjAzKToKfiMhIHJuPUdsb2luIHJ0PTk1Nzc5MjA4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgphbnR3b3J0ZSBlcyBpc3Qgc2VsYnN0dmVyc3RhZW5kbGljaCBkYXNzIGVpbiBhZG1pbiBkYWZ1ZXIgc29yZ3QsIGRhc3Mgc2VpbmUKdXNlciB1bmQgcHJvZ3JhbW1lIGRpZSBzZWluZSB1c2VyIGF1c2Z1ZWhyZW4ga2VpbmUga29uZmlndXJhdGlvbnNkYXRlaWVuCmJlc2NocmVpYmVuIGtvZW5uZW4sIGRhc3MgaGF0IG5peGggbWl0IGFtbWVuLXRhZXRpZ2tlaXQgenUgdHVuLiBhdXNzZXJkZW0gaXN0CmVzIHNlbGJzdHR2ZXJzdGFlbmRsaWNoIGRhc3MgZWluIGJldHJpZWJzc3lzdGVtIHN0YW5kYXJkbWFlc3NpZyBzbwplaW5nZXJpY2h0ZXQgaXN0LCBkYXNzIHVzZXIgdW5kIHVzZXJwcm96ZXNzZSBvaG5lIHdlaXRlcmVzIGtlaW5lbiBzY2hhZGVuCmFucmljaHRlbiBrb2VubmVuIChhdXNzZXIgc2NoYWRlbiBhbiBkZW4gZGF0ZWllbiwgZGllIGRlbSB1c2VyIGdlaG9lcm4gdW5kCmRhbm4gaXNzYSBoYWx0IHNlbGJzdCBzY2h1bGQpIC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBWSVJFTldBUk5VTkcgKEdvciwgIDguIE1haSAyMDAwLCAxNTozMzowOSk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05NTc3OTIzNjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKRHUga2FubnN0IGJlc3RpbW10ZSBCZXJlaWNoZSB2b24gV2luOTgvOTUvTlQgbmljaHQgc3BlcnJlbiwgZGEgZGFzIDEuIHZvbSBPUwpuaWNodCBtb2VnbGljaCBpc3QgdW5kIDIuIHdlbm4gbWFuIGFuZGVyZSBUZWlsYmVyZWljaGUgc3BlcnJ0IGlyZ2VuZHdlbGNoZQphbmRlcmUgTWlja3lzb2Z0c2NoZWlzc2UgbmljaHQgbWVociBsYWV1ZnQuIFdlbm4gdW0gMTAgVWhyIGRpZSBNYWlsIHJ1bWdlaHQsCmRhc3MgZWluIFd1ZXJtY2hlbiBydW1mbGl0enQsIGRlciB3YXMgYW0gUmVjaG5lciBkcmVodCB1bmQgbWFuIGRpZXNlIE1haWwKc29mb3J0IGxvZXNjaGVuIHNvbGwsIHVuZCBkaWUgVXNlciBzaWUgZGVubm9jaCBvZWZmbmVuLCBrYW5uIGljaCBhdWNoIG5peCBtZWhyCm1hY2hlbi4gQW5zY2hsaWVzc2VuZCBoZWlzc3QgZXMgZGFubiwgZGFzcyBkaWUgTWFpbCB2b24gYWxsZWluZSBhdWZnZWdhbmdlbgppc3QuLi4gRGllIFN5c3RlbWUgc2luZCBzbyBndXQgYWJnZXNpY2hlcnQgd2llIG1vZWdsaWNoLCB1bmQgendhciBzbywgZGFzcyBzaWUKbm9jaCBzdGFiaWwgbGF1ZmZhZWhpZyBzaW5kLiBVbmQgYW4gU3lzdGVtZGF0ZWllbiBrb21tdCBlaW4gVXNlciBhdWNoIGltbWVyCnJhbi4uIHVuZCB3ZW5uIGVyIGVzIG1pdCBkZXIgSG9semhhbW1lciBNZXRob2RlIGFsbGEgRmRpc2sgbWFjaHQgdW5kIGRhbmFjaApiZWhhdXB0ZXQsIGRhc3MgenVoYXVzZSBzZWluIFN5c3RlbSBkYW5uIHZpZWwgc2NobmVsbGVyIGxpZWYsIG5hY2hkZW0gZXIgbmV1CnBhcnRpdGlvbmllcnQgaGF0Li4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVklSRU5XQVJOVU5HIChUYXJhZ29uLCAgOC4gTWFpIDIwMDAsIDE1OjM1OjMxKToKfiMhIHJuPUNoZWFzeSBydD05NTc3MTE0MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKU2Nod2FjaGZ1Zy4gV2VyIHNvIGVpbmVuIG1pc3Qgd2llIHdpbmRvd3Mgc2NyaXB0aW5nIGhvc3QgYW4gaGF0IHVuZCBhbGxlcwphdXRvbWF0aXNjaCBvaG5lIG5hY2hmcmFnZW4gYXVzZnVlaHJlbiBsYWVzc3QgdW5kIGF0dGFjaG1lbnRzIHZvbiB1bmJla2FubnRlbgpxdWVsbGVuIG9lZmZuZXQgaXN0IHNlbGJlciBzY2h1bGQuCkRhcyBkaW5nIGlzdCBuaWNodCBnZWZhZWhybGljaCwgZXMgc2luZCBkaWUgdXNlciBkaWUgZXMgZXJzdCB6dSBkZW0gbWFjaGVuIHdhcwplcyBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVklSRU5XQVJOVU5HIChNaWdodHVzLCAgOC4gTWFpIDIwMDAsIDE1OjQyOjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NTc3OTIyNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKVGphLCBhYmVyIG11c3MgaW1tZXIgZXJzdCBkaWUgQmVxdWVtZSBWYXJpYW50ZSBlaW5nZXN0ZWxsdCBzZWluPyBXYXJ1bSBrYW5uCk91dGxvb2sgbmljaHQgc3RhbmRhcnRnZW1hZXNzIGF1ZiBuYWNoZnJhZ2VuIHN0ZWhlbiwgdW5kIGJlaSBVbXN0ZWxsdW5nIGF1ZgphdXRvbWF0aXNjaCBhdXNmdWVocmVuIGVyc3QgbWFsIG5hY2hmcmFnZW4sIG9iIG1hbiBkYXMgd2lya2xpY2ggd2lsbD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVklSRU5XQVJOVU5HIChDYXR3ZWF6bGUsICA4LiBNYWkgMjAwMCwgMTY6NDc6MTYpOgp+IyEgcm49R29yIHJ0PTk1Nzc5Mjc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpOYSBkYSBzaW5kIHdpciBkYW5uIHdvaGwgZW5kbGljaCBhbSBLZXJuIGRlcyBQcm9ibGVtcyBhbmdla29tbWVuLCBobT8KV2VubiBlcyBlaW5lbSBBZG1pbiBuaWNodCBlaW5tYWwgbW9lZ2xpY2ggaXN0IEJldHJpZWJzeXN0ZW1yZWxldmFudGUgCkRhdGVpZW4gdm9yIGRlbSBadWdyaWZmIGRlcyBEQVUncyB6dSBzY2h1ZXR6ZW4gb2huZSBkaWUgRnVua3Rpb25zZmFlaGlna2VpdApkZXIgU29mdHdhcmUgenUgZ2VmYWVocmRlbiwgZGFubiBicmF1Y2hlbiB3aXIgdW5zIHVtIGRpZSBRdWFsaXRhZXQgZGVzCkJldHJpZWJzc3lzdGVtcyBkb2NoIHdvaGwgbmljaHQgbWVociB6dSBzdHJlaXRlbiwgb2Rlcj8KCkRlciBWZXJnbGVpY2ggV2luZG93cy9Vbml4IHVuZCBBZG1pbi9Vc2VyIGhpbmt0IGdld2FsdGlnLiBTZWxic3QgCndlbm4gZXMgbW9lZ2xpY2ggd2FlcmUgdW50ZXIgTGludXggZWluZW4gYWVobmxpY2hlbiBXdXJtIHp1IGFrdGl2aWVyZW4sIHNvCndhZXJlIHRyb3R6IGFsbGVkZW0gZGFzIFN5c3RlbSBrYXVtIGdlZmFlaHJkZXQgKHVlYmVyIEFkbWluLUxvZ2luCnVuZCByb290LWxvZ2luIGhhYmVuIHdpciB1bnMgamEgc2Nob24gYXVzZ2VsYXNzZW4pLgpFbnRnZWdlbiB2aWVsZW4gYW5kZXJlbiBvZmZpemllbGxlbiBTdGVsbGUgc2VoZSBpY2ggZGFzIFByb2JsZW0gc2VociB3b2hsIGF1Y2gKaW0gQmV0cmllYnNzeXN0ZW0gYmVncnVlbmRldCB1bmQgd3VlcmRlIGVzIG5pY2h0IG51ciBhdWYgCk1hZW5nZWwgaW4gT3V0bG9vayBvZGVyIGRpZSBEdW1taGVpdCBkZXIgVXNlciB6dXJ1ZWNrZnVlaHJlbi4gCldpbmRvd3MgaXN0IG51biBtYWwgZW5vcm0gYW5mYWVsbGlnIGdlZ2VudWViZXIgc29sY2hlbiBBbmdyaWZmZW4uIEtsYXIgaXN0IGRhcwplaW4gc2VrdW5kYWVyZXMgUHJvYmxlbSwgd2VubiBkYWJlaSBkYXMgT1MgYWJzY2htaWVydCwgYWJlciBpY2ggd2V0dGUgZWluZQpHcm9zc3RlaWwgZGllc2VyIGZ1ZXJjaHRlcmxpY2hlbiBNaWxsaWFyZGVuc3VtbWUgU2NoYWRlbiB3aXJkIGZ1ZXIgZGllCk5ldWluc3RhbGxhdGlvbiB2b24gV2luZG93cyBkcmF1ZmdlaGVuIDopLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWSVJFTldBUk5VTkcgKFRlZGR5LCAgOC4gTWFpIDIwMDAsIDE3OjMyOjM0KToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTk1NzQ1MzU5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpXZW5uIGR1IGJlaXNwaWVsc3dlaXNlIF9LRVlfQ1VSUkVOVF9VSVNFUjsgZGVyIGhhdXB0c2FlY2hsaWNoIGJldHJvZmZlbiBpc3QsCk5JQ0hUIHZvbSBBbndlbmRlciBhZW5kZXJiYXIgbWFjaHN0LCBoYXN0IGR1IGFscyBBZG1pbiBlY2h0IFNwYXNzLiAKRGFmdWVyIGdpYnRzIGRhcyBUZWlsIGphIHNjaGxpZXNzbGljaC4KVWViZXIgZWluaWdlIGJldHJvZmZlbmUgS2V5cyBrb2VubnRlIG1hbiBhYmVyIHNpY2hlciBkaXNrdXRpZXJlbi4KClRlZGR5LCBoYXQgamVkZSBNZW5nZSBBbndlbmRlciBtaXQgZGVtIFNjaGVpc3N0ZWlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVklSRU5XQVJOVU5HIChUZWRkeSwgIDguIE1haSAyMDAwLCAxNzozNToxMCk6Cn4jISBybj1Ib29kIHJ0PTk1NzcxMjc5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpUdXRzIGFiZXIgbmljaHQuCkJlaXNwaWVsc3dlaXNlIEphdmFzY3JpcHRkYXRlaWVuIHdlcmRlbiBhdWNoIGJldHJvZmZlbi4KSmFqYSwgaWNoIHdlaXNzLCBkaWUgYnJhdWNodCBlaCBrZWluZXIsIGF1Y2ggRGF0ZWllbiB3aWUgcHJlZnMuanMgc2luZApzY2hsaWVzc2xpY2ggbnVyIHVubm9ldGlnZXIgU2Nobmlja3NjaG5hY2sgZnVlciBuZW4gTmV0c2NhcGUsIG9kZXI/IDspCk9LLCB3ZXIgSW50ZXJuZXRleHBsb3JlciBudXR6dCwgYnJhdWNodCBzaWUgd2lya2xpY2ggbmljaHQsIGRhZnVlciBnaWJ0cyBkYW5uCmphIGF1YyBkZW4gS2V5LCBkZXIgYmVpbSBuYWVjaHN0ZW4gSUUtU3RhcnQgZGFzIEhpbnRlcnR1ZXJjaGVuIGxhZWR0LgoKdGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZJUkVOV0FSTlVORyAoSG9vZCwgIDguIE1haSAyMDAwLCAxODoyNjoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU3Nzg2MzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCmxpbnV4IDEwMCVpZyB2aXJlbnNpY2hlcj8gZGFzIGdlaG9lcnQgc2Nob24gZmFzdCBuYWNoIHNjaG1hcnJuLgpqZWRlIGtvbXBsZXhlcmUgc29mdHdhcmUgYmlldGV0IGdlbnVlZ2VuZCBidWdzLCBkaWUgYmVpCnNpY2hlcmhlaXRzcmVsZXZhbnRlbiBnZXNjaGljaHRlbiBudW4gZWlubWFsIHp1IHNpY2hlcmhlaXRzZmVobGVybgpmdWVocmVuLiBlcyBpc3Qgc2Nob24gcmljaHRpZywgZGFzcyBkZXIgdmlydXMsIHVtIGRlbiBlcyBnZXJhZGUgZ2VodAplaWdlbnRsaWNoIGVoZXIgbmVuIHd1cm0gaXN0LiBsaW51eCBiaWV0ZXQgYWJlciBuaWNodCBudXIgaGllciBnZW5hdXNvCmtvbXBsZXhlIHNjcmlwdC1zcHJhY2hlbiBvZGVyIG5vY2gga29tcGxleGVyZSwgdW0gbWl0IGVpbmVtIGFlaG5saWNoCmZhaHJsYWVzc2lnZW4gZW1haWwtcHJvZ3JhbW0gYWVobmxpY2hlbiBzY2hhZGVuIGFuenVyaWNodGVuLCBzb25kZXJuCmxpbnV4IGJpZXRldCBhdWNoIGdlbnVlZ2VuZCBzaWNoZXJoZWl0c2xvZWNoZXIsIGFuIGRlbmVuIGVpbiBlY2h0ZXIKdmlydXMgYW5ncmVpZmVuIGtvZW5udGUuIHZpZWxlIGRpZXNlciBsb2VjaGVyIHdlcmRlbiBpbiBlaW5zY2hsYWVnaWdlbgptYWlsLWxpc3RlbiB2ZXJvZWZmZW50bGljaHQsIHRlaWx3ZWlzZSBhdWNoIGF1ZiB3ZWItcGFnZXMsIHVuZCBuZWluOgogIGdlbmF1c28gd2VuaWcgd2llIGRpZSBtZWlzdGVuIHdpbmRvd3MtdXNlciBpaHJlIHJlY2h0ZSBzaWNoZXJlcgplaW5zdGVsbGVuLCBzbyB3ZW5pZyB3ZXJkZW4gYXVjaCBhbGxlIGJla2FubnRlbiBidWdzIHRhZWdsaWNoIHZvbiBkZW4KbGludXgtYWRtaW5zIGRpZXNlciB3ZWx0IGF1c2dlbWVyenQuIGxldHp0ZW5kbGljaCBmaW5kZW4gbGV1dGUsIGRpZQpyaWNodGlnZSB2aXJlbiBzY2hyZWliZW4sIGVoIGlocmUgZWlnZW5lbiBzaWNoZXJoZWl0c2xvZWNoZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBWSVJFTldBUk5VTkcgKEhvb2QsICA4LiBNYWkgMjAwMCwgMTg6MzA6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk1Nzc5NzIzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgplcyBpc3Qgd2FociwgZGFzcyBtYW4gdW50ZXIgd2luLU5UIG1hbmNoZSBkaW5nZSBudXIgbWl0IG11ZWhlIGFic2ljaGVybgprYW5uLCBkaWUgZWlnZW50bGljaCBhYmdlc2ljaGVydCBzZWluIHNvbGx0ZW4uIGVzIGdpYnQgamVkb2NoIGFuZGVyZQpiZXJlaWNoZSwgZGEgYmlldGV0IE5UIHdlaXRhdXMgbWVociBhbHMgbGludXgsIGdlcmFkZSBpbiBzYWNoZW4KenVncmlmZnN2ZXJ0ZWlsdW5nLgplaW4gb3VnKy1yd3ggaXN0IG5pY2h0IGViZW4gc2VociB2aWVsLCB3ZW5uIG1hbiBkaWUgcmVjaHRldmVyZ2FiZSBlaW5lcwpOVCBrZW5udCB1bmQgc2NoYWV0emVuIGdlbGVybnQgaGF0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAwLCAxODo1MDowMCk6Cn4jISBybj1Ib29kIHJ0PTk1NzgwMzE4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpOZWluLiBEdSBoYXN0IFVucmVjaHQuCk5hdHVlcmxpY2ggaGFzdCBEdSBMb2VjaGVyLCBkaWUgRHUgbWl0IGVpbmVtIGdlemllbHRlbiwgdm9yYmVyZWl0ZXRlbiBBbmdyaWZmCmF1ZnJlaXNzZW4ga2FubnN0LiBBYmVyIGVpbiBWaXJ1cyBzZXR6dCBlaW5lIHNlbGJzdGFlbmRpZ2UgVmVyYnJlaXR1bmcgdm9yYXVzLgpVbmQgZGFtaXQgZWluZSByZWxhdGl2IGxlaWNodGUgSW5maXppZXJiYXJrZWl0IGRlcyBXaXJ0c3N5c3RlbXMuIFVuZCBnZW5hdSBkYXMKaXN0IG5pY2h0IGdlZ2ViZW4uCgpMaW51eCBoYXQgdWVicmlnZW5zIFNjcmlwdHNwcmFjaGVuLCBhYmVyIGtlaW5lbiBNZWNoYW5pc211cyAod2llIGRlbiBXU0gpLCBkZXIKc2NyaXB0ZSBvaG5lIEFrdGlvbiBkZXMgQmVudXR6ZXJzIGF1c2Z1ZWhydC4gTGludXggaGF0IGtlaW4gZmFocmxhZXNzaWdlcwpNYWlscHJvZ3JhbW0sIGRhc3MgdW5nZWZyYWd0IHNvd2FzIGF1c2Z1ZWhyZW4gbGFlc3N0LiBFcnN0IHJlY2h0IG5pY2h0IG1pdApyb290LVJlY2h0ZW4uIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVklSRU5XQVJOVU5HIChIb29kLCAgOC4gTWFpIDIwMDAsIDE5OjIwOjM1KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NTc4MDQ2MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKc2VsYnN0c3RhZW5kaWdlIHZlcmJyZWl0dW5nIGVpbmVzIHZpcnVzLCBkZXIgZ2V6aWVsdCBlaW4gc2ljaGVyaGVpdHNsb2NoCnVudGVyIGxpbnV4IGF1c251dHp0LCBpc3QgZHVyY2hhdXMgbW9lZ2xpY2guIGljaCBkZW5rZSBtYWwsIGVzIHdpcmQgaW4KenVrdW5mdCBhdWNoIHNvd2FzIGdlYmVuLCB3ZW5uIGxpbnV4IHZlcmJyZWl0ZXRlciBpc3QuCmVzIGJyaW5ndCBuaXgsIHNpY2ggZGFyaXVlYmVyIHp1IHN0cmVpdGVuLCBkaWUgenVrdW5mdCB3aXJkcyB6ZWlnZW4uCmljaCBrZW5uZSBnZW51ZWdlbmQgZGVyIG9lZmZlbnRsaWNoIGJla2FubnRlbiBidWdzIHVtIGhpbnJlaWNoZW5kCmdlZmxpc3NlbnRsaWNoIGRlciB0aGVvcmllIGFuenVoYWVuZ2VuLCBkYXNzIGRhcyBlaWdlbnRsaWNoIGtlaW4Kc3VwZXJncm9zc2VzIHByb2JsZW0gaXN0LCBhYmVyIG5laW46IGljaCBoYWJlIG5pY2h0IGRpZSB6ZWl0IGRhZnVlcgoKaW4gZGVyIHRhdCwgZWluIHNvbGNoZXMgZW1haWwtcHJvZ3JhbW0ga2VubmUgaWNoIG5pY2h0LCBoYWJlIGljaCBuaWNodApiZXJlaXRzIGJlc2NocmllYmVuLCBkYXNzIGdlbmF1IGRpZXMgZGFzIHByb2JsZW0gaXN0LCB3YXMgd2luZG93cyBpbgpkaWVzZW0gZmFsbCBoYXR0ZT8hCm91dGxvY2sgc2VsYnN0IHN0YXJ0ZXQgZGllIGF0dGFjaG1lbnRzLCBnYWViZSBlcyBlaW4gZW1haWwtcHJvZ3JhbW0gbWl0CmFlaG5saWNoZW0gdmVyaGFsdGVuIHVudGVyIGxpbnV4LCB3YXMgemIgcGVybC1zY3JpcHRlIGFscyBhdHRhY2ggYXV0b21hdGlzY2gKc3RhcnRldCwgaGFldHRlc3QgZHUgZGVuIHNlbGJlbiBlZmZla3QuCnVuZCBuZWluLCBtaXQgenVncmlmZnNyZWNodGVuIGhhdHRlIGRhcyBpbiBkaWVzZW0gZmFsbCBhdWNoIHdlbmlnIHp1IHR1biwKaWNoIHNjaGFldHplIG1hbCwgZGllIGpwZ3MgdW5kIG1wM3MgZGVyIGZpcm1lbiwgZGVuZW4gZXMgcmljaHRpZyBhbiBkZW4Ka3JhZ2VuIGdpbmcgbGFnZW4gYXVmIG50LXNlcnZlcm4sIGhhZXR0ZW4gYWxzbyBvaG5lIHdlaXRlcmVzIGdlc2NodWV0enQKd2VyZGVuIGtvZW5uZW4sIHNvbGx0ZW4gamVkb2NoIG9lZmZlbnRsaWNoIHp1Z2FlbmdsaWNoIHNlaW4gb2RlciB3dXJkZW4KZHVyY2ggZGVuIGZhdWxlbiB1bnZvcnNpY2h0aWdlbiByb290IHNlbGJzdCBnZWtpbGx0Lgp1bnRlciBsaW51eCB3YWVyZSBkYXMgbmljaHQgYW5kZXJzIGdlbGF1ZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFZJUkVOV0FSTlVORyAoRXRhaW4sICA5LiBNYWkgMjAwMCwgMDI6MDE6MDQpOgp+IyEgcm49SGF0ZSBydD05NTc3NzU1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKS29ycmVrdCwgZGVyIFNjcmlwdGluZy1Ib3N0IGxhZXVmdCBtaXQgU1UtUmVjaHRlbi4gSWNoCmhhYidzIGhldXRlIGV4dHJhIG5vY2htYWwga29udHJvbGxpZXJ0LgoKQXVzc2VyZGVtIGhhYicgaWNoIGVpbmVuIEJsaWNrIGluIGRpZSBTb3VyY2VuIGdld29yZmVuLi4uCgpEYXMgRGluZyBlcnpldWd0IGVpbmUgSFRNTC1EYXRlaSwgZGllLCB3ZW5uIHNpZSBpbQpJRSBhdWZnZW1hY2h0IHdpcmQsIG51ciBlaW5lIEZlaGxlcm1lbGR1bmcgYW56ZWlndDogRGFzcwptYW4gU2NyaXB0aW5nIGFrdGl2aWVyZW4gbXVlc3NlLiBIbS4uLiBBbHNvLCB3ZXIgZGFyYXVmCnJlaW5mYWVsbHQsIGlzdCBkdW1tIHVuZCBzdGlua3QuCgpJbSBVZWJyaWdlbiBoYXQgSGF0ZSBSZWNodCwgZGFzIFRlaWwgaGFlbmd0IHZvbiBXaW4gYWIsCndlaWwgZXMgZWluIGJlc3RpbW10ZXMgT2JqZWt0IGJyYXVjaHQsIGRhcyB1bnRlciAqbml4Cm5pY2h0IHZlcmZ1ZWdiYXIgaXN0LiBBdXNzZXJkZW0gYmVub2V0aWd0IGVzIGRpZSBSZWdpc3RyeS4KClVlYnJpZ2VucyBiZWRhcmYgZGFzIERpbmcgbmljaHQgZWlubWFsIGRlciBTVS1SZWNodGUsCnVtIHNpY2ggenUgdmVyYnJlaXRlbiwgZWluIFd1cm0gaXN0J3MgYXVjaCBpbSBiZXN0ZW4gU3lzdGVtLgoKVW50ZXIgT3V0bG9vayAodW5kIHVlYnJpZ2VucyBhdWNoIE5ldHNjYXBlKSBnaWJ0IGVzCnp3ZWkga3JpdGlzY2hlIEVpbnN0ZWxsdW5nZW46IFNjcmlwdGluZyBmdWVyIE1haWwgdW5kCk5ld3MgYWt0aXZpZXJlbiAobGVpZGVyIERlZmF1bHQpIHVuZCBkaWUgQXV0by1Wb3JzY2hhdQplaW5zY2hhbHRlbi4gSXN0IFNjcmlwdGluZyBkZWFrdGl2aWVydCwgZXJzY2hlaW50IGRpZQpGZWhsZXJtZWxkdW5nLCB3ZW5uIG1hbiBkaWUgQXV0by1Wb3JzY2hhdSBlaW5nZXNjaGFsdGV0CmhhdC4KCkF1c3NlcmRlbSB3aXJkIGRpZSBIb21lcGFnZSB1bWdlc2V0enQgdW5kIGVpbiBFeGVjdXRhYmxlCmhlcnVudGVyZ2VsYWRlbi4gRGEgYmluIGljaCBub2NoIG5pY2h0IGdhbnogc2NobGF1CmRyYXVzIGdld29yZGVuLCB3ZW5uIGljaCBtZWhyIHdlaXNzLCBlcnphZWhsJyBpY2gncyBFdWNoLgoKKndpbmsqCgpFdGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVklSRU5XQVJOVU5HIChFdGFpbiwgIDkuIE1haSAyMDAwLCAwMjowNTowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU3Nzg2MzM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkZhbHNjaC4KMS4gRWluIFZpcnVzIGthbm4gRXhwbG9pdHMgYmVudXR6ZW4uCjIuIEVzIHNpbmQgbWluZGVzdGVucyB6d2VpIFZpcmVuIGZ1ZXIgTGludXggYmVrYW5udC4KCkxpbnV4IGlzdCBuaWNodCBzaWNoZXIsIGFiZXIgd2VuaWdlciBhbmZhZWxsaWcgZnVlciBkaWUKdmVyaGVlcmVuZGVuIFNjaGFlZGVuLCBkaWUgVmlyZW4gdW50ZXIgV2luZG93cyBhbnJpY2h0ZW4uClVlYmVyIGRpZSBHcnVlbmRlIGthbm4gbWFuIHNwZWt1bGllcmVuLCBhYmVyIHdlbm4gZWJlbnNvCnZpZWxlIEx1c2VyIExpbnV4IGJlbnV0enRlbiB3aWUgTHVzZXIgdm9yIFdpbmRvc2VuIHNpdHplbiwKZ2FlYidzIGF1Y2ggZGEgbWVociBBZXJnZXIuIE1pciBmYWxsZW4gYXVmIEFuaGllYiBlaW4gcGFhcgphZXVzc2Vyc3QgZmllc2UgTW9lZ2xpY2hrZWl0ZW4gZWluLCB3aWUgaWNoIG1pdCBlaW5lcgpNYWlsIFNVLVJlY2h0ZSBiZWtvbW1lbiB1bmQgamVkZSBNZW5nZSBVbnNpbm4gYW5zdGVsbGVuCmthbm4uCgpFdGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVklSRU5XQVJOVU5HIChNYXgsICA5LiBNYWkgMjAwMCwgMDI6MDg6MjIpOgp+IyEgcm49RXRhaW4gcnQ9OTU3ODMwNzAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkdydWVzc2UKCkFsc28sIGljaCBiZW51dHplIFdpbjk4LCB3ZWlsIGljaCBiaXNoZXIga2VpbmUgTWdsaWNoa2VpdCBoYXR0ZSwgbWFsIDQgaCB1bmQKZWluZW4gRXJmYWhyZW5lbiBMaW51eHVzZXIgenUgYmVudWV0emVuLCBzZWxiaWdlcyB6dSBpbnN0YWxsaWVybi4KSWNoIGJlbnV0emUgYXVjaCBPdXRsb29rLCB3ZWlsIGRhcyBkYSB2b24gYW5mYW5nIGFuIGRhYmVpIGlzdC4uLgpOdW4ga2VubmUgaWNoIGVudHdlZGVyIGV1cmUgU3ludGF4IG5ldCwgb2RlciBpY2ggYmluIG11ZWRlLi4uIChtb2VnbGljaCkKU28gb2RlciBzbyBmaW5kZSBpY2ggZGllc2UgT3B0aW9uZW4gbmljaHQuLi4gZ2lidCBtaXIgd2VyIG5lbiBXZWd3ZWlzZXI/CgpWaWVsIFNwYXNzLCAoVilheAogUFM6IElsb3ZleW91YWxsCi0tLWZpbmlzLS0tCioqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFZJUkVOV0FSTlVORyAoRXRhaW4sICA5LiBNYWkgMjAwMCwgMDI6MDk6MjQpOgp+IyEgcm49R29yIHJ0PTk1Nzc5Mjc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpaaWVtbGljaCBzaWNoZXIsIGRhc3Mgc2llICJ2b24gYWxsZWluIiBhdWZnZWdhbmdlbiBpc3QuCkF1dG92b3JzY2hhdSBoYWx0IDooIFNvbGx0ZSBtYW4gYWxzIEFkbWluIGRpZSBVc2VyIGZ1ZXIgcHJ1ZWdlbG4uCgpFdGFpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFZJUkVOV0FSTlVORyAoRXRhaW4sICA5LiBNYWkgMjAwMCwgMDI6MTQ6MjgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1NzgwNDYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpGYWxzY2guIEdyaW1taSwgaGV1dCBtdXNzIGljaCBEaXIgYWJlciBvZnQgd2lkZXJzcHJlY2hlbi4uLgpOZXRzY2FwZSwgU3Rhck9mZmljZS4uLiBNaXIgZmFsbGVuIGVpbmUgUmVpaGUgdm9uIGRlbiBEaW5nZXJuCmVpbiwgZGllIHVlYmVyYWxsIGluc3RhbGxpZXJ0IHdlcmRlbiwgaW5zYmVzb25kZXJlIGRhbm4sIHdlbm4KZGVyIFJlY2huZXIgbmljaHQgYXVzc2NobGllc3NsaWNoIGFscyBTZXJ2ZXIgZ2VudXR6dCB3aXJkLgoKRXRhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZJUkVOV0FSTlVORyAoVHVuaXhndXQsICA5LiBNYWkgMjAwMCwgMDg6NTI6MTMpOgp+IyEgcm49RXRhaW4gcnQ9OTU3ODMwNzAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkpldHp0IGdpYiBkb2NoIG1hbCBlaW4gYmlzY2hlbiBCdXR0ZXIgYmVpcyBkaWUgRmlzY2hlIHVuZCBlcnphZWhsIG1hbCwgd2llCnNpY2ggZWluZSBNYWlsIHVudGVyIFVuaXggU1UtUmVjaHRlIGJlc29yZ2VuIGthbm4hISEKV3VlcmRlIG1pY2ggamV0enQgZWNodCBtYWwgaW50ZXJlc3NpZXJlbi4KCidzIEthcmF0ZS1ad2VyY2hsZSAtIHNvd29obCBXaW5kb29mLSBhbHMgYXVjaCBMaW51eC1EQVUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZJUkVOV0FSTlVORyAoU2lsdmFuYSwgIDkuIE1haSAyMDAwLCAxMDo0OTowNCk6Cn4jISBybj1IYXRlIHJ0PTk1NzcxMzExMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpEYSBzdGVsbHQgc2ljaCBkb2NoIGRpZSBGcmFnZSwgb2IgVmlyZW4gd2llIGRpZXNlciBuaWNodCB2aWVsbGVpY2h0IGdlbmF1IHp1CmRlbSBad2VjayBpbiBkaWUgV2VsdCBnZXNldHp0IHd1cmRlbjogVW0gZGVuZW4sIGRpZSBlcyB2ZXJhbmxhc3NlbiBrb2VubmVuLAplaW5lbiBHcnVuZCB6dSBnZWJlbiwgZGllIEZyZWloZWl0ZW4gZGVyIEVpbnplbG5lbiB3ZWl0ZXIgZWluenVzY2hyYWVua2VuLi4uCgpTaWx2YW5hIC4gbyBPIChIbSwgb2IgaWNoIGpldHp0IG5lbiBGbGFtZXdhciBkYW1pdCBzdGFydGUuLi4/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZJUkVOV0FSTlVORyAoR3JpbW1ib3JuLCAgOS4gTWFpIDIwMDAsIDExOjAyOjAxKToKfiMhIHJuPUV0YWluIHJ0PTk1NzgzMTI2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpPSywgZGFzIGlzdCBtaXIgbmV1LCBkYXNzIFN0YXJPZmZpY2Ugc2VsYnN0dGFldGlnIGFuIG1haWxzIGFuZ2VoYWVuZ3RlIFNjcmlwdGUKbWl0IHJvb3QtUmVjaHRlbiBhdXNmdWVocnQuIEF1Y2ggdm9uIE5ldHNjYXBlIHdhciBtaXIgZGFzIG5pY2h0IGJla2FubnQuIEFiZXIKaWNoIGJpbiBzaWNoZXIsIER1IGthbm5zdCBtaXIgZGllIE1lY2hhbmlzbWVuIG5hZWhlciBlcmxhZXV0ZXJuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgIDkuIE1haSAyMDAwLCAxMTowMzo1Nyk6Cn4jISBybj1TaWx2YW5hIHJ0PTk1Nzg2MjE0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpEZW4gZmxhbWV3YXIga2FubnN0IER1IGhhYmVuLiBFcyBnZWh0IG5hY2ggd2llIHZvciB1bSBlaW5lbiBXdXJtLCBuaWNodCB1bSBlaW4KVmlydXMuIAoKR2VnZW50ZWlsaWdlIEJlaGF1cHR1bmdlbiB3ZXJkZW4gbmljaHQgYWt6ZXB0aWVydCwgd2VubiBzaWUgbmljaHQgd2VuaWdzdGVuc3MKZHJlaSBCZXNjaGltcGZ1bmdlbiBwZXJzb2VubGljaGVyIEFydCBlbnRoYWx0ZW4gKHNjaGxpZXNzbGljaCBzb2xsIGRhcyBlaW4KZmxhbWV3YXIgd2VyZGVuKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZJUkVOV0FSTlVORyAoU2lsdmFuYSwgIDkuIE1haSAyMDAwLCAxMToxNDo0OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU3ODYzMDM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCk9jaCBub2UuLi4gUGVyc29lbmxpY2hlIEJlc2NoaW1wZnVuZ2VuIHVlYmVybGFzc2UgaWNoIGRlbiBMZXV0ZW4sIGRpZSBtZWhyCmRhdm9uIHZlcnN0ZWhlbi4gSWNoIGxlaG4gbWljaCBqZXR6dCB6dXJ1ZWNrIHVuZCBnZW5pZXNzZSBkYXMgU3Bla3Rha2VsIC0gc28KZXMgZWlucyBnaWJ0LgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVklSRU5XQVJOVU5HIChNdWFkaWIsICA5LiBNYWkgMjAwMCwgMTI6MjQ6MzkpOgp+IyEgcm49VHVuaXhndXQgcnQ9OTU3ODU1MTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCmhtbSBudXIgdW0ga2VpbmUgYW5sZWl0dW5nIHp1IGdlYmVuIGFiZXIgenUgZGVtb25zdHJpZXJlbiwgZGFzcyBlcyBzZWhyIHdvaGwKdmlyZW4gdW50ZXIgbGludXggZ2lidCB1bmQgZGllc2UgYXVjaCBleHBsb2l0cyBudXR6ZW4sIHNlaSBhbiBsaW51eC5zdG9hZwplcmlubmVydCwgZGVyIHZlcnN1Y2h0IHJvb3QtenVncmlmZiB6dSBlcmhhbHRlbiB1ZWJlciAyIG92ZXJmbG93IGJ1Z3MgdW5kCmVpbmVtIHBlcmwgYnVnLgplaW5lbiBkdW1tZW4gbnV0emVyIGhhdCBlcyBuYXR1ZXJsaWNoIGltbWVyIG5vY2ggZ2VicmF1Y2h0LgpkZXIgdmlydXMgd3VyZGUgYXVjaCB1ZWJlciBtYWlsIHZlcmJyZWl0ZXQuCgpncnVzcwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVklSRU5XQVJOVU5HIChNYXJjdXMsICA5LiBNYWkgMjAwMCwgMTI6Mzk6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1Nzg2MzAzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpFcyBnaWJ0IGVpbmVuIExpbnV4IFZpcnVzLiBJbmZpemllcnQgendhciBudXIgRGF0ZWllbiBkZXMgQmVudXR6ZXJzLCBhYmVyCnRyb3R6ZGVtIGlzdCBlcyBlaW4gVmlydXMuCgo6aGF0IGRlbiBRdWVsbGNvZGUgZ2VzZWhlbi4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZJUkVOV0FSTlVORyAoS2FyYW0sIDEwLiBNYWkgMjAwMCwgMjI6MzI6MTIpOgp+IyEgcm49SG9vZCBydD05NTc4MDY0MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKQmV2b3IgaGllciBkaWUgVGhlb3JpZW4gbm9jaCB3ZWl0ZXIgd2FjaHNlbiwgb2Igc28gZWluIFd1cm0gYXVjaCBiZWkgTGludXgKbW9lZ2xpY2ggd2FlcmUsIGlzdCB2aWVsbGVpY2h0IG1hbCBlaW4gQmxpY2sgaW4gZGllIFZlcmdhbmdlbmhlaXQgYW5nZWJyYWNodC4KRGVubiBkZW4gSW50ZXJuZXQtV3VybSBnYWIgZXMgc2Nob24gZnVlciBVbml4LVN5c3RlbWUsIGJldm9yIGVzIExpbnV4IGdhYi4KU2llaGUgei5CLgoKICBodHRwOi8vc3VubGFuZC5nc2ZjLm5hc2EuZ292L2luZm8vZ3VpZGUvVGhlX0ludGVybmV0X1dvcm0uaHRtbAoKQWxzbyB3byBCdWdzIChvZGVyIGR1bW1lIFVzZXIpIHNpbmQsIGtvZW5uZW4gV3Vlcm1lciBncnVuZHNhZXR6bGljaCBnZWRlaWhlbi4KCi0tIApLYXJhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIG5hZWNoc3RlIGhlaXNzdDogIkhlaiBBbHRlciEiIChSb25kYSwgMTEuIE1haSAyMDAwLCAyMTowODowNyk6Ck9rLCB1bmQgZGEgd2FlcmVuIHdpciB3aWVkZXIgZGFiZWkgLSBkZXIgbmFlY2hzdGUgT3V0bGxvay1WaXJ1cyBpc3QgbGF1dCAxbGlmZQpyYXVzLCBoZWlzc3QgIkhlaiBBbHRlciIuLi4KRHJpbiBpcmdlbmR3aWUgZWluZSBNZXNzYWdlIGRlciBBcnQgIkhpZXIgZGFzIFNwaWVsLCBkYXNzIER1IGhhYmVuIHdvbGx0ZXN0IgpvZGVyIHNvIC0gdW5kIHdpZWRlciBuZW4gV3VtciBkcmluLgoKV2llIGxldHp0ZXMgTWFsOiBuaWNodCBvZWZmbmVuLCBlaW5mYWNoIGxvZXNjaGVuIC0gb2RlciBMaW51eCBpbnN0YWxsaWVyZW4uLi4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVyIG5hZWNoc3RlIGhlaXNzdDogIkhlaiBBbHRlciEiIChQcmEsIDEyLiBNYWkgMjAwMCwgMTA6NDQ6MDApOgp+IyEgcm49Um9uZGEgcnQ9OTU4MDcyMDg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU4MDcyMDg3CndhcyBoZWlzc3QgZGVubiBoaWVyOiAnbmljaHQgb2VmZm5lbiwgZWluZmFjaCBsb2VzY2hlbic/Cgpzb2xjaGUgU2FjaGVuIG11c3MgbWFuIGF1ZiBmZXN0cGxhdHRlIHNwZWljaGVybiB1bmQgc2ljaCBhbmd1Y2tlbiAtCnNvdmllbCBrYW5uc3QgZHUgc29uc3QgbmllIHNvIHNjaG5lbGwgdW5kIGVpbmZhY2ggbGVybmVuLi4uIDotKQoKUHJhLiBIYXQncyBnZXRhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBWSVJFTldBUk5VTkcgKEdhc3QxLCAxOC4gTWFpIDIwMDAsIDIxOjIzOjMzKToKfiMhIHJuPUhvb2QgcnQ9OTU3ODA2NDM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkt1cnogbWFsIG5lIFp1c3RpbW11bmcgenUgSG9vZC4KTGF1dCBQbGFudW5nIGVpbmlnZXIgIlZlcnJ1ZWNrdGVyIiB3ZXJkZW4gZGllIGVyc3RlbiBWaXJlbiBmdWVyIFVuaXggTGludXgKRW5kZSBkaWVzZXMgSmFocmVzIEFuZmFuZyBuYWVjaHN0ZW4gSmFocmVzIGZlcnRpZyBzZWluIC4uLgoKQWxzbyBoYWx0ZXQgZXVjaCBmZXN0LgoKUC5zLjogRGFzIGlzdCBrZWluZSBTY2h3YXJ6bWFsZXJlaSwgc29uZGVybiBkYXMgd2FzIG1hbiBob2VydCB3ZW5uIG1hbiBzaWNoCm5pY2h0IG51ciBhdWYgZGllIG9mZml6aWVsbGVuIHF1ZWxsZW4gYWxhIG1haWwgbGlzdGVuLCBodHRwIHNlaXRlbiB1c3cKdmVybGFzc2VuIHdpbGwgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVklSRU5XQVJOVU5HIChWYW5pb24sIDE4LiBNYWkgMjAwMCwgMjM6MTI6NTQpOgp+IyEgcm49R2FzdDEgcnQ9OTU4Njc3ODEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkhhbGxvIFVuYmVrYW5udGVyIEdhc3QxLAoKZGVpbmUgQmVtdWVodW5nZW4sIGhpZXIgYW5vbnltIHp1IHBvc3RlbiBtYWNoZW4gZGljaCBzZWhyIGdsYXVid3VlcmRpZy4KQWJnZXNlaGVuIGRhdm9uIGlzdCBkYXMga2VpbiBndXRlciBTdGlsLgoKVmFuaW9uIC0gZGVua3QsIGRhc3MgZGFzIG1hbCBnZXNhZ3Qgd2VyZGVuIG11c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogVklSRU5XQVJOVU5HIChHbG9pbiwgMTkuIE1haSAyMDAwLCAwOTozMzoyMCk6Cn4jISBybj1WYW5pb24gcnQ9OTU4Njg0Mzc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCkJhaC4gRGFzIHdpcmQgdmllbCB6dSBvZnQgZ2VzYWd0LiBJY2ggYmluIGVoZXIgZGVyIE1laW51bmcsIGRhc3MgS2VubnRuaXMKZGVyIFF1ZWxsZSBkaWVzZSBuaWNodCBnbGF1Ynd1ZXJkaWdlciBtYWNodCAtIGRhcyBpc3QgZG9jaCBudXIgZWluZQpzY2hsZWNodGUgR2V3b2huaGVpdCwgYWIgdmllbGVuIHdhaHJlbiBBdXNzYWdlbiBtZWhyIHp1IHZlcnRyYXVlbi4gVW5kCmRhIHNpY2ggRGlza3V0YW50IGthdW0gYW5kZXJzIGJld2FlaHJlbiBrYW5uIC0gc2luZCBzaWUgYWxsZSBnbGVpY2guCkxhc3MgZXMgZG9jaCBzZWluZSBNZWludW51bmcgYW5vbnltIHZlcnRyZXRlbiAtIGRpZSBNZWludW5nIGlzdCBuaWNodApuZXUgbm9jaCBvcmlnaW5lbGwuIEZ1ZXIgamVkZXMgT1MgZ2lidCBlcyBpcmdlbmR3YW5uIG1hbCBlaW4gcGFhcgpuZXR0ZSBQcm9ncmFtbWUuIEJlaSBMaW51eCBrb2VubnRlIG1hbiBhYmVyIGFtIGVoZXN0ZW4gbm9jaCBhdWYgU2NoYWRlbnMtCmJlZ3Jlbnp1bmcgZHVyY2ggS29ycmVrdHVyIGRlcyBPUyBob2ZmZW4uCgpHbG9pbiAuLi4gaGF0IGtlaW5lbiBWaXJlbnNjYW5uZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdsYWRpYXRvciAoRGVlcGJsdWUsIDE5LiBNYWkgMjAwMCwgMDk6MzM6MzYpOgpEZW4gRmlsbSB1bmJlZGluZ3QgYXVuc2NoYXVlbi4gRWlnZW50bGljaCBoYWIgaWNoIG5lbiBLbGlzY2hlZWZpbG0gZXJ3YXJ0ZXQsCmFiZXIgbml4IGRlcmdsZWljaGVuLCB2b24gZGVyIDEuIGJpcyB6dXIgMTUwdGVuIE1pbnV0ZSBvaG5lIExhbmdld2VpbGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBWSVJFTldBUk5VTkcgKEhvb2QsIDE5LiBNYWkgMjAwMCwgMTI6Mzk6MjIpOgp+IyEgcm49R2xvaW4gcnQ9OTU4NzIxNjAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU3NDQ1NzMyCmF1ZiB3ZWxjaGUgc2NoYWRlbnNiZWdyZW56dW5nIHdpbGxzdCBkdSBob2ZmZW4/IHdlbm4gZWluIHZpcnVzIG1pdCBlaW5lcgpzaWNoZXJoZWl0c2x1ZWNrZSBlaW5zY2hsYWVndCwgZGFubiBzY2hsYWVndCBlciBlaW4uCmVpbmUgc2ljaGVyaGVpdHNsdWVja2Ugc3RlaHQgamUgZ2VyYWRlIGRhZnVlciwgZGFzcyBlYmVuIGtlaW4gc2NoYWRlbgpiZWdyZW56dCB3aXJkIDopCmFjaCBqYSwgZnVlciB1bnNlcmUgbGllYmVuICJsaW51eCBoYXQga2VpbmUgc2ljaGVyaGVpdHNsb2VjaGVyIi1mYW5hdGlrZXI6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3BhYi0xOC4wNS4wMC0wMDAvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogVklSRU5XQVJOVU5HIChHcmltbWJvcm4sIDE5LiBNYWkgMjAwMCwgMTI6NTE6NDEpOgp+IyEgcm49SG9vZCBydD05NTg3MzI3NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTc0NDU3MzIKS2xhci4gRGllIFphZWhsdW5nIGxhZXVmdCBzbzogRWluIHNlbmRtYWlsIC1idWcgd2lyZCBlbnRkZWNrdC4gQWxzbwp2ZXJvZWZmZW50bGljaHQgUmVkIEhhdCB1cGRhdGVzIGZ1ZXIgZGllIFZlcnNpb25lbiA2LjAsIDYuMSB1bmQgNi4yLCBTdVNFIGZ1ZXIKNi4xLCA2LjIsIDYuMywgNi40LCBkZWJpYW4gZnVlciBkaWUgbGV0enRlbiBiZWlkZW4gVmVyc2lvbmVuLCBtYWNodCB6dXNhbW1lbiA5CmdlbWVsZGV0ZSBTaWNoZXJoZWl0c2xvZWNoZXIuCk5hdHVlcmxpY2ggaGVpc3N0IGRhcyBuaWNodCwgZGFzcyBlcyBrZWluIExvY2ggZ2VnZWJlbiBoYXQsIGFiZXIgZWJlbiBudXIKZWluZXMsIG5pY2h0IG5ldW4gKHVuZCBzZWxic3Qgd2VubiBuaWNodCBqZWRlIFZlcnNpb24gZWluemVsbiBnZXphZWhsdCB3dXJkZSwKd3VyZGVuIGRvY2ggZGllIERpc3RyaWJ1dGlvbmVuIGVpbnplbG4gZ2V6YWVobHQuIE1hY2h0IDQgZ2VtZWxkZXRlIExvZWNoZXIKc3RhdHQgZWluZW0pLgoKQWJlciBzaWNoZXJlIFN5c3RlbWUgZ2lidCBlcyBwcmFrdGlzY2ggbmljaHQsIG51ciB3ZWxjaGUgd28gZGllIExvZWNoZXIgbm9jaApuaWNodCAoYWxsZ2VtZWluKSBiZWthbm50IHNpbmQgdW5kIHNvbGNoZSwgd28gZGFzIGZsaWNrZW4gZWluZmFjaGVyIG9kZXIKc2Nod2VyZXIgaXN0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVklSRU5XQVJOVU5HIChQcmEsIDE5LiBNYWkgMjAwMCwgMTM6MDM6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1ODczMzUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpkZXIgQXJ0aWtlbCB2b24gSGVpc2UgaXN0IHdpcmtsaWNoIGRhZW1saWNoICg9bWlzc3ZlcnN0YWVuZGxpY2gpLgoKTWFuIHNvbGx0ZSBzaWNoIGRpcmVrdCBkaWUgU3RhdGlzdGlrIGFuc2VoZW4gdW50ZXIKaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9mcmFtZXMvP2NvbnRlbnQ9L3ZkYi9zdGF0cy5odG1sCihhdWYgZGVyIGhlaXNlLXNlaXRlIGlzdCBhdWNoIGVpbiBsaW5rIGhpZXJoaW4genUgZmluZGVuKQoKZGllIFRvcC1MaXN0ZSBkZXIgdnVsbmVyYWJsZSBQYWNrYWdlcyAxOTk5IGlzdCBiZXNvbmRlcnMgc2Nob2VuOgpQbGF0eiAxLTEyIGlzdCB2b24gTWljcm9zb2Z0IGJlbGVndC4gV2lyIGdyYXR1bGllcmVuISA6LSkKClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBWSVJFTldBUk5VTkcgKEhvb2QsIDE5LiBNYWkgMjAwMCwgMTM6MTU6MTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1ODczMzUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgptaXIga29tbXQgZXMgbnVyIGF1ZiBnZW5hdSBlaW5lbiBwdW5rdCBhbjoKeml0YXQ6ICJBYmVyIHNpY2hlcmUgU3lzdGVtZSBnaWJ0IGVzIHByYWt0aXNjaCBuaWNodCIKd2lyIHNpbmQgYWxzbyBlaW5lbiBzY2hyaXR0IHdlaXRlci4uLiA7KQp1bmQgdWVicmlnZW5zOgogIGVzIGlzdCBnYXIga2VpbmUgZnJhZ2UsIGRhc3MgdmllbGUgYnVncywgZGllIGRvcnQgbWl0Z2V6YWVobHQgd3VyZGVuCm51ciBnZWZ1bmRlbiB3dXJkZW4sIHdlaWwgdmllbGUgbGV1dGUgaW0gY29kZSBydW13dWVobGVuIGtvZW5uZW4sCmJ1Z3MgZGllIGluIHdpbmRvd3Mgd2FocnNjaGVpbmxpY2ggbmllIGVudGRlY2t0IHdlcmRlbi4uLm1pdCBkZXIKYXVzc2FnZSBoYWIgaWNoIGdhciBrZWluIHByb2JsZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBWSVJFTldBUk5VTkcgKEhvb2QsIDE5LiBNYWkgMjAwMCwgMTM6MTc6NTUpOgp+IyEgcm49UHJhIHJ0PTk1ODczNDIwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1NzQ0NTczMgpkaWUga2VybmF1c3NhZ2UgYmxlaWJ0IGRpZSBzZWxiZSB1bmQgZGllc2Ugc2VpdGUga2FubiBnZW5hdXNvCm1pc3N2ZXJzdGFlbmRsaWNoIGF1Zmdlbm9tbWVuIHdlcmRlbiwgd2llIGRpZSB2b24gaGVpc2UuCm9kZXIgd2FydW0ga29tbWUgaWNoIGdyYWQgenUgZGVyIGF1c3NhZ2U6CkJlT1MgaXN0IGRhcyBzaWNoZXJzdGUgYmV0cmllYnNzeXN0ZW0gZGVyIHdlbHQgOykKbmFjaHdpZXZvciBnaWJ0IGVzIHdlaXRhdXMgbWVociBudC1zZXJ2ZXIgYWxzIGxpbnV4LXNlcnZlci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVzdHVuZyAuLi4gKEdsb2luLCAxOS4gTWFpIDIwMDAsIDEzOjQ3OjUyKToKPiBsaWVzIHNjaGlsZApHb3IgdGVpbHQgRGlyIG1pdDogRmFsbHMgZXMgZGlyIHp1IG11ZWhzYW0gaXN0IGRpY2ggaGllciBldHdhcyB1bXp1c2NoYXVlbiB1bmQKR29yIHRlaWx0IERpciBtaXQ6IGRpciBkaWUgTW9uc3RlciBoaWVyIGF1Y2ggenUgaGVmdGlnIHNpbmQsIGRhbm4gbWVpZGUKR29yIHRlaWx0IERpciBtaXQ6IGVpbmZhY2ggZGllc2VzIEdlYmlldC4gQXVmIHNvbGNoZSBTcGllbGVyIGthbm4gaWNoCkdvciB0ZWlsdCBEaXIgbWl0OiB2ZXJ6aWNodGVuIQoKU29sbCBpY2ggamV0enQgbGFjaGVuIG9kZXIgbWljaCB3dW5kZXJuPwpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZlc3R1bmcgLi4uIChLYXJpcywgMTkuIE1haSAyMDAwLCAxMzo1MjowMyk6Cn4jISBybj1HbG9pbiBydD05NTg3MzY4NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTg3MzY4NzIKTWVpZGUgZWluZmFjaCBkaWVzZXMgR2ViaWV0LiBVTmQgd3VuZGVyZSBEaWNoLgpLYXJpcywga2FubiBhdWYgYXJyb2dhbnRlIE1hZ2llciB2ZXJ6aWNodGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZlc3R1bmcgLi4uIChIb29kLCAxOS4gTWFpIDIwMDAsIDEzOjU4OjI5KToKfiMhIHJuPUdsb2luIHJ0PTk1ODczNjg3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1ODczNjg3MgptaXIgaXN0IGRvcnQgZWlnZW50bGljaCBudXIgenUgaGVmdGlnLCBkYXNzIGV0d2FzIHp1IGFjaHRsb3MgbWl0CmN1dCZwYXN0ZSBwcm9ncmFtbWllcnQgd3VyZGUgOikgd2VubiBkYW5uIHpiIGRlciBvc3R0dXJtIGltIHdlc3RlbgpkZXMgcGxhdHplcyBpc3QsIGthbm5kIGEgaXJnZW5kd2FzIG5pY2ggc3RpbW1lbiwgdW5kIGRhcyBhbiBtZWhyZXJlbgpzdGVsbGVuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGZXN0dW5nIC4uLiAoR29yLCAxOS4gTWFpIDIwMDAsIDE0OjA2OjMxKToKfiMhIHJuPUhvb2QgcnQ9OTU4NzM3NTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU4NzM2ODcyCkRpZSBTdGVsbGUgemVpZ3N0ZSBtaXIgSG9vZC4uLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZlc3R1bmcgLi4uIChHbG9pbiwgMTkuIE1haSAyMDAwLCAxNDoxMjowMyk6Cn4jISBybj1Hb3IgcnQ9OTU4NzM3ODM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU4NzM2ODcyCk9oamUuIFdlbm4gZGFzIFZlcmhhZWx0bmlzIFRleHQvVHlwbyBkb3J0IGdlbmF1c28gc2NobGltbSBpc3Qgd2llIGluCkRlaW5lbSBBcnRpa2VsLCBHb3IgLi4uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmVzdHVuZyAuLi4gKFphbmFjLCAxOS4gTWFpIDIwMDAsIDE1OjI4OjI2KToKfiMhIHJuPUdvciBydD05NTg3Mzc5OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTg3MzY4NzIKQWxzbyBpY2gga2VubmUgZGllIGF1Y2gsIHdlbm4gRHUgc2llIG5pY2h0IGdlYWVuYmRlcnQgaGFzdCAuLi4KCmdydXNzIFphbmFjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3dW5zY2ggKFNhbmdvLCAyOS4gTWFpIDIwMDAsIDEyOjMzOjA2KToKSWNoIHd1ZW5zY2hlIG1pciBlaW5lIGVpZ2VuZSBSYXNzZSBmdWVyIEZlcm53ZXN0IG1pdCBTdGFydCBpbiBkZXIgS2FyYXRlLUdpbGRlCnVuZCBkYXp1IGVpbmUgZWlnZW5lIE1hZ2llIGZ1ZXIgRmVybndlc3QuQXVzc2VyZGVtIGVpbmUgR3Jvc3NlIEJpYmxpb3RoZWsgbWl0ClVtZmFuZ3JlaWNoZW4gSW5mb3JtYXRpb25lbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3dW5zY2ggKFJhcmRpYW4sIDI5LiBNYWkgMjAwMCwgMTI6NDk6MjIpOgp+IyEgcm49U2FuZ28gcnQ9OTU5NTk2Mzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NTk2Mzg2Ck5hIGRhbm4gaG9wcCEgTWFnaWVyIHdlcmRlbiwgbWl0IFJvY2h1cyB1bmQgRmVybndlc3RtYWdpZXJuIGFic3ByZWNoZW4gdW5kCmxvc3Byb2dyYW1taWVyZW4uLi4KCkdydXNzLAogIFJhcmRpYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd3Vuc2NoIChEZWVwYmx1ZSwgMjkuIE1haSAyMDAwLCAxMjo1MjoxMyk6Cn4jISBybj1TYW5nbyBydD05NTk1OTYzODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk1OTYzODYKV2FzIHNvbGwgZGFzIGZ1ZXIgbmUgUmFzc2Ugc2Vpbj8gV2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gc29sbCBzaWUgaGFiZW4/IFdpZXNvCnNvbGwgc2llIGluIGVpbmVyIEdpbGRlIHN0YXJ0ZW4gdW5kIG5pY2h0IGlyZWdlbmR3byBhbmRlcnM/IFdhcyBzb2xsIGRhcwpiZXNvbmRlcmUgYW4gZGVyIEZlcm53ZXN0LU1hZ2llIHNlaW4/CgpWaWVsbGVpY2h0IGthbm5zdCBEdSBqYSBkaWUgRnJhZ2VuIGJlYW50d29ydGVuLCBpbmRlbSBEdSBEZWluZW4gQ2hhcmFrdGVyCnNjaG5lbGwgaG9jaHNwaWVsc3QsIE1hZ2llciB3aXJzdCB1bmQgZGllIFNhY2hlbiBwcm9nZ3N0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHd1bnNjaCAoTHVnLCAzMC4gTWFpIDIwMDAsIDAwOjQxOjU5KToKfiMhIHJuPVJhcmRpYW4gcnQ9OTU5NTk3MzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NTk2Mzg2CgpVbmQgd2llIGhlaXNzdCBkaWUgIlJhc3NlIiBkYW5uPyBTY2hsaXR6aWVzPwoKU2V1ZnplbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3dW5zY2ggKFNreSwgMzAuIE1haSAyMDAwLCAwMDo0Mjo1MSk6Cn4jISBybj1MdWcgcnQ9OTU5NjQwMTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NTk2Mzg2Cm5vZSByZWlzYmF1ZXJuIGlzdCBkb2NoIGtsYXIuCmRpZSBlcnN0ZSBnaWxkZSBkaWUgYXVzc2VyIGlkZWxuIHVuZCByZWlzYW5iYXVlbiBpbiBmZXJud2VzdCBuaXggbWFjaGVuIG11c3M6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd3Vuc2NoIChMdWcsIDMwLiBNYWkgMjAwMCwgMDA6NDM6MjMpOgp+IyEgcm49U2t5IHJ0PTk1OTY0MDE3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTU5NjM4NgoKTmFndXQsIGRhbm4gemllaCBpY2ggc2FlbXRsaWNoZSBCZWRlbmtlbiBzb2ZvcnQgenVydWVjay4uLgoKR3Jvc3N6dWVnaWcKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoTXV0YW50dXMsIDMxLiBNYWkgMjAwMCwgMTY6MzM6MjEpOgpIYWxsbyBMZXV0ZSEKSWNoIGJpbiBsYW5nc2FtIHppZW1saWNoIHNhdWVyLiBOaWNodCB3ZW5pZ2UgaGFiZW4gc2ljaCBpbiBsZXR6dGVyIFplaXQgc2VocgpodWZpZyBiZXIgbWljaCBiZXNjaHdlcnQgKHVuZCBkYXMgbWVpc3QgbmljaHQgb2huZSBHcnVuZCEpLgpEaWUgZ2FuemUgU2l0dWF0aW9uIGlzdCBkYWJlaSB6aWVsaWNoIGVza2FsaWVydC4gRXMgZ2luZyBtaXQga2xlaW5lbgpHZW1laW5oZWl0ZW4gd2VpdGVyIHdpZSBldHdhIGRpZSB0b2xsZW4gT21iYXRpcy1Ba3Rpb25lbgoobmFjaCBkZW0gZnVlbmZ0ZW4gT21iYXRpcyB3aXJkcyBkYW5uIGxhbmdzYW0gbGFuZ3dlaWxpZykuIEljaCBoYWIgZGFubgpuYXRybGljaCBpbW1lciBzY2huICJ6dXJja2dlc2NobGFnZW4iLCBkYWJlaSBhYmVyIHZsbGlnCnZlcmdlc3NlbiwgZGEgaGllciBkb2NoIG1pdCB6d2VpZXJsZWkgTWEgZ2VtZXNzZW4gd2lyZC4gRWluaWdlIE1hZ2llciBzb2xsdGVuCm1hbCBkYXJiZXIgbmFjaGRlbmtlbiwgd29yaW4gaWhyZSBlaWdlbnRsaWNoZW4gQXVmZ2FiZW4gYmVzdGVoZW4uCkljaCBmciBtZWluZW4gVGVpbCB2ZXJsaWVyZSBsYW5nc2FtIGRpZSBMdXN0IGFtIG11ZGRlbi4gSWNoIGhhYiBzZWl0IGhldXRlCmVpbmVuIEViZW5lbmJhbm4sIHVuZCBrZWluZXIga2FubiBtaXIgc2FnZW4sIHZvbiB3ZW0gdW5kIHdvZnIgZ2VuYXUuCkZpbmQgaWNoIGVjaHQgbHVzdGlnLiBIYWhhLiBNZ2Ugc2ljaCBkb2NoIGJpdHRlIGRlciB2ZXJhbnR3b3J0bGljaGUgTWFnaWVyCnNpY2ggYml0dGUgbWFsIGJlaSBtaXIgbWVsZGVuLgpBbiBzb25zdGVuIHdlcmRlIGljaCBtaWNoIGF1cyBkaWVzZW0gTXVkIGZyIGltbWVyIHZlcmFic2NoaWVkZW4sIHVuZCBkYXMgZm5kCmljaCBlaWdlbnRsaWNoIHppZW1saWNoIHNjaGFkZSwKaGFiZSBpY2ggZG9jaCBpbSBsYXVmZSBkZXIgWmVpdCBuZSBNZW5nZSBuZXR0ZXIgTGV1dGUgYXVjaCBSTCBrZW5uZW5nZWxlcm50LAp3YXIgYXVmIGRyZWkgUGFydGllcyB1bmQgaGFiIG1laW5lIHp1a25mdGlnZSBFaGVmcmF1CnVlYmVycyBNdWQga2VubmVuZ2VsZXJudC4Kd2llIGdlc2FndCwgaW4gbGV0enRlciBaZWl0IGlzdCB2aWVsIGVza2FsaWVydCwgd29iZWkgaWNoIGF1Y2ggbmUgTWVuZ2UKU2NoZWlzcyBlcnpobHQgaGFiZSAqZ3JpbnMqLCBpY2ggYWJlciBuaWNodCBkZXIgRWluemlnZSBiaW4uIApNYW5jaGUgU3RyYWZlbiBzaW5kIGVpbmZhY2ggdW5nZXJlY2h0LCB3ZWlsIHNpZSBlaW5mYWNoIHNvIGF1c2dlc3Byb2NoZW4Kd2VyZGVuIGtubmVuLiBXZXIgbml4IHZvbiBtaXIgaHJlbiB3aWxsLApzb2xsIG1pY2ggZGFubiBoYWx0IGlnbm9yaWVyZW4uIFNvLCBtdXNzIGpldHp0IGxvcywgYWxzbywgYmlzIGRhbm4Kc29sbCBtaWNoIGRhbm4gaGFsdCBpZ25vcmllcmVuLiBTbywgbXVzcyBqZXR6dCBsb3MsIGFsc28sIGJpcyBkYW5uCmRlciBndXRlIGFsdGUgTXV0YW50dXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoU3ZldGxhbmEsIDMxLiBNYWkgMjAwMCwgMTY6Mzc6NDIpOgp+IyEgcm49TXV0YW50dXMgcnQ9OTU5NzgzNjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCk9oIG1laW4gR290dCwgZWluIEViZW5lbi1CYW5uLi4uLkRhcyB2ZXJzdG9lc3N0IGRvY2ggZ2VnZW4gZGllIE1lbnNjaGVucmVjaHRlLApvZGVyPyBTdGVpbmlndCBkZW4gTWFnaWVyIHNvZm9ydCwgdW5kIHdlbm4gbWFuIG5pY2h0IGhlcmF1c2ZpbmRlbiBrYW5uLCB3ZXIgZXMKd2FyLCBzb2xsZW4gYWxsZSBnZXN0ZWluaWd0IHdlcmRlbi4KClN2ZXRsYW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChHcmltbWJvcm4sIDMxLiBNYWkgMjAwMCwgMTY6NDU6MjQpOgp+IyEgcm49U3ZldGxhbmEgcnQ9OTU5NzgzODYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCldlbm4gZXIgd2VpdGVyIHNvIG1pdCBVbWxhdXRlbiBzY2hyZWlidCBrcmllZ3QgZXIgYXVjaCBlaW5lbiBtcGEtQmFubi4gRGEKa3JpZWcgaWNoIGphIEF1Z2Vuc2NobWVyemVuIHZvbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKFRpYW1haywgMzEuIE1haSAyMDAwLCAxNzowNTo1NCk6Cn4jISBybj1NdXRhbnR1cyBydD05NTk3ODM2MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKIk5pY2h0IHdlbmlnZSBoYWJlbiBzaWNoIGluIGxldHp0ZXIgWmVpdCBzZWhyIGh1ZmlnIGJlciBtaWNoIGJlc2Nod2VydCAodW5kCmRhcyBtZWlzdCBuaWNodCBvaG5lIEdydW5kISkuIiBbLi4uXSAiRWluaWdlIE1hZ2llciBzb2xsdGVuIG1hbCBkYXJiZXIKbmFjaGRlbmtlbiwgd29yaW4gaWhyZSBlaWdlbnRsaWNoZW4gQXVmZ2FiZW4gYmVzdGVoZW4uIgoKV2llIHdhZXJlIGVzIG1pdCBkZXIgQXVmZ2FiZSwgZWluenVncmVpZmVuLCB3ZW5uIGplbWFuZCBTcGllbGVyIGJlbGFlc3RpZ3Q/CgoiTWdlIHNpY2ggZG9jaCBiaXR0ZSBkZXIgdmVyYW50d29ydGxpY2hlIE1hZ2llciBzaWNoIGJpdHRlIG1hbCBiZWkgbWlyCm1lbGRlbi4iCgpEYXMgYmluIGRhbm4gd29obCBpY2guCgoiTWFuY2hlIFN0cmFmZW4gc2luZCBlaW5mYWNoIHVuZ2VyZWNodCwgd2VpbCBzaWUgZWluZmFjaCBzbyBhdXNnZXNwcm9jaGVuCndlcmRlbiBrbm5lbi4iCgpTY2hlaXNzIE1hZ2llcndpbGxrdWVyLCBnZW5hdSEKCkR1IHd1cmRlc3QgbWl0IGRlciBoYWVydGVzdGVuIGFsbGVyIFN0cmFmZW4gYmVsZWd0OiBEdSBkdXJmdGVzdCBuaWNodHMgbWVocgphdWYgZGVuIEViZW5lbiBzYWdlbi4gRGllIFN0cmFmZSB3YXIgc28gaGFydCwgZGFzcyBEdSBuYWNoIGRyZWkgU3R1bmRlbiAoZGllCkR1IG5pY2h0bWFsIGRpZSBnYW56ZSBaZWl0IGFud2VzZW5kIHdhcnN0KSBtaXQgU2VsYnN0bG9lc2NodW5nICJkcm9oc3QiLiAKCldpZSB3YXIgZGFzIG1pdCB6d2VpZXJsZWkgTWFzcz8KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEJ1YmJhLCAzMS4gTWFpIDIwMDAsIDE3OjIyOjA3KToKfiMhIHJuPVRpYW1hayBydD05NTk3ODU1NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKCkZhbHNjaCEgRGllIGhhZXJ0ZXN0ZSBhbGxlciBTdHJhZmVuIGlzdCBlaW5lIGFuZGVyZS4uLnVuZCBkaWUgaGF0IGVyIGphIGF1Y2gKc2Nob24gZ2VrcmllZ3Q6IGVyIGhhdCBrZWluZSBhbmRlcmUgYWxzICduZSBNdWRkZXJpbiBhYmJla29tbWVuLi4uICpwcnV1dXN0KgpEYXMgTXVkZGVuIHNvIGJydXRhbCBzZWluIGthbm4uLi50c3RzdHMKCkJ1YmJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoSGlnaHQsIDMxLiBNYWkgMjAwMCwgMTg6MTg6MTkpOgp+IyEgcm49QnViYmEgcnQ9OTU5Nzg2NTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCmhtIG1hbiBtYWcgdWVyIGlobiB1bmQgZGFzIGdhbnplIHRoZW1hIGRlbmtlbiB3YXMgbWFuIHdpbGwgLi4uIGFiYmEgZGFzIGdlaHQKd29obCBkb2NoIG4ga2xlaW4gd2VuaWcgenUgd2VpdCBidWJiYSAKCmR1IGthbm5zdCBkaWNoIG1laW5ldHdlZ2VuIHN0cmVpdGVuIG1pdCB3ZW0gZHUgd2lsbHN0IGFiYmEgYml0dGUgbmV0IGF1ZiBkZXIKZWJlbmUgdW5kIG5pY2h0IGluIGRlciBtcGEKCkhpZ2h0IG4gYmlzc2kgb2JlcmxlaHJlcmhhZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChXdXJ6ZWwsIDMxLiBNYWkgMjAwMCwgMjE6MTI6NTMpOgp+IyEgcm49SGlnaHQgcnQ9OTU5Nzg5ODk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCmljaCBoYWIgYXVjaCBsYW5nc2FtIGRpZSBzY2huYXV6ZSB2b2xsLiBlcyBnaWJ0IGRvY2ggaGllciBzbyB2aWVsZSBlY2h0ZQpjcmFja3MsIGRhIHNvbGx0ZSBzaWNoIGRvY2ggbWFsIGVpbmVyIGZpbmRlbiBsYXNzZW4sIGRlciBlaW5lIHdpcmtsaWNoIGd1dGUKdW5kIGZ1bmt0aW9uaWVyZW5kZSByZWNodHNjaHJlaWJwcnVlZnVuZyBpbiBkaWUgbXBhIGVpbmJhdXQuIGVzIGlzdCBqYSBkb2NoCmVpbmUgemllbWxpY2ggc2Nod2VyZSBzdHJhZmUsIHdlbm4gbWFuIGhpZXIgZGVuIGdhbnplbiBtdWVsbCBsZXNlbiBtdXNzLCB1bmQKd2VubiBkYXMgZ2FuemUgZGFubiBub2NoIHZvciBmZWhsZXJuIHN0cm90enQgaXN0IGRhcyBlaW5lIGVjaHRlIGJvZXN3aWxsaWdlCnZlcnNjaGFlcmZ1bmcuCndlbm4gaWhyIG5pY2h0IGVuZGxpY2ggZGllIHJlZ2VsbiBkZXIgZGV1dHNjaGVuIHNwcmFjaGUgYmVoZXJ6aWd0LCBsb2VzY2gKaWNoIG1pY2ggc2VsYnN0LiBvZGVyIGF1Y2ggbmljaHQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChBcmssIDMxLiBNYWkgMjAwMCwgMjE6MjM6MTgpOgp+IyEgcm49V3VyemVsIHJ0PTk1OTgwMDM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpPaG8sIFd1cnplbCB3cm90ZToKPiAuLi4gbm9jaCB2b3IgZmVobGVybiBzdHJvdHp0XyxfIGlzdCBkYXMgZWluZSBlY2h0ZSAuLi4gPApBbHNvIGRpZSBLb21tYXRhIGtyZWlkZSBpY2ggZGFubiBhYmVyIHNjaG9uIG5vY2ggYW4sIHdlbm4gbWFuIG1hbCB2b24gZGVyCm11ZXNzaWdlbiBHcm9zcy1LbGVpbnNjaHJlaWJ1bmcgYWJzaWVodCA7XikKCldvcnVtIGdlaHQgZXMgZWlnZW50bGljaCBnZW5hdT8gRGEgYmxlaWJ0IG51ciBub2NoIGVpbmUgRnJhZ2UgenUgYmVhbnR3b3J0ZW46CgpIb3cgbWFueSBib2FyZHMgd291bGQgdGhlIE1vbmdvbHMgaG9hcmQgaWYgdGhlIE1vbmdvbCBob2FyZHMgZ290IGJvcmVkPwooYykgQ2FsdmluCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEFyaywgMzEuIE1haSAyMDAwLCAyMToyNDozMCk6Cn4jISBybj1BcmsgcnQ9OTU5ODAwOTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCk5lOgoKSG93IG1hbnkgYm9hcmRzIHdvdWxkIHRoZSBNb25nb2xzIGhvYXJkIGlmIHRoZSBNb25nb2wgaG9yZGVzIGdvdCBib3JlZD8KCjteKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKFBhcmFjZWxzdXMsIDMxLiBNYWkgMjAwMCwgMjE6Mjc6NTQpOgp+IyEgcm49VGlhbWFrIHJ0PTk1OTc4NTU1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpBbHNvIHByaW56aXBpZWxsIHdhciBkYXMgamEgZHVyY2hhdXMgaW4gT3JkbnVuZywgU29obmVtYW5uLiBBYmVyIGVpbmVuClB1bmt0IG11c3MgaWNoIGRhbm4gZG9jaCBrcml0aXNpZXJlbjoKICAgIER1IGhhc3QgZGVuIEJhbm4gdmllbCB6dSBzY2huZWxsIHdpZWRlciBhdWZnZWhvYmVuLgoKTmEsIGFiZXIgZGFzIHVlYmVuIHdpciBub2NoLgoKUGFyYWNlbHN1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoSG9vZCwgMzEuIE1haSAyMDAwLCAyMzowNzoxNSk6Cn4jISBybj1NdXRhbnR1cyBydD05NTk3ODM2MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKZHUgaGFzdCBlaW5lbiBlYmVuZW5iYW5uIHVuZCB3ZWlzc3QgbmljaHQgd29mdWVyIHVuZCB3YXJ1bT8KZnVlciB3aWUgYmxvZWQgaGFlbHN0IGR1IGRpY2ggZWlnZW50bGljaD8gZGVpbiBkYWVtbGljaGVzCm1vbm90b24tZ2VzYWJiZWwgdWViZXIgZGllIGViZW5lbiBuZXJ2dCBzZWl0IHRhZ2VuLCB1bmQgbmVpbjoKIGR1IGJpc3QgZGVuIHNwZWljaGVyIHVuZCBkaWUgemVpdCBuaWNodCB3ZXJ0LCBkaWUgamVkZXIgaW52ZXN0aWVyZW4KbXVlc3N0ZSwgdW0gZGljaCB6dSBpZ25vcmllcmVuLiB2aWVsIHNwYXNzIGJlaSBkZXIgc2VsYnN0bG9lc2NodW5nLgpkYW5rZSBpbSB2b3JhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChNYXRpcywgMzEuIE1haSAyMDAwLCAyMzoxNDoyMyk6Cn4jISBybj1Ib29kIHJ0PTk1OTgwNzIzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpNYWVzc2lnZSBEaWNoIG1hbCBlaW4gd2VuaWcsIEhvb2QuCkljaCB3ZWlzcyB6d2FyIG5pY2h0IHdhcyBNdXQqIGdldGFuIGhhYmVuIHNvbGwsIGFiZXIgZWluZQpkZXJhcnQgcGx1bXBlIHVuZCBibG9lZGUgQW5tYWNoZSBsaWVndCB3ZWl0IHVudGVyIERlaW5lbQpOaXZlYXUuIEhvZmYgaWNoIG1hbCBmdWVyIERpY2ghCgpNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKFd1cnplbCwgMzEuIE1haSAyMDAwLCAyMzoxNToyMSk6Cn4jISBybj1NYXRpcyBydD05NTk4MDc2NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKbGllc3QgZHUgbnVyIHNlbHRlbiBpbiBkZXIgbXBhPyBob2ZmbnVuZ2VuIGtvZW5uZW4gYXVjaCB0cnVlZ2VuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoSG9vZCwgMzEuIE1haSAyMDAwLCAyMzoxNzo1MSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTU5ODA3NzIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCmhhY2gsIG11dGFudHVzIHdhciBzbyBlaW4gbGllYmVyLCBpY2gga2FubiBnYXIgbmljaHQgbWVociBydWhpZyBzY2hsYWZlbgp2b3IgbGF1dGVyIHNvcmdlLgp3YXIgZGFzIGpldHp0IG9rIGZ1ZXIgZGllIHNjaGxlaW1lci1yaWVnZT8gZXVlciBuaXZlYXUgbGllZ3QgbWlyIG5pY2ggc28sCm1lcmsgaWNoIGdyYWRlLiBpcmdlbmR3aWUgd2lyZCBtaXIgZ3JhZCB1ZWJlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChXdXJ6ZWwsIDMxLiBNYWkgMjAwMCwgMjM6MTg6NDcpOgp+IyEgcm49SG9vZCBydD05NTk4MDc4NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKa290eiBkb2NoLiBkYXMgaGlsZnQsIHdlbm4gZWluZW0gdWViZWwgaXN0LgoKd3VyemVsIHdlaXNzLCB3YXJ1bSAtYS0gZGF1ZXJ6dXN0YW5kIGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEhvb2QsIDMxLiBNYWkgMjAwMCwgMjM6MTk6NDEpOgp+IyEgcm49V3VyemVsIHJ0PTk1OTgwNzkyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpuYSBqYSwgbWFuIGRhcmYgaGllciBkb2NoIGJlc3RpbW10IG51ciBub2NoIGVpbm1hbCBwcm8gcmVzZXQga290emVuLi4uCmFuc29uc3RlbiBiYXVzZSBzY2huZWxsIHVtIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoTXVwZmVsLCAgMS4gSnVuIDIwMDAsIDAwOjAxOjA3KToKfiMhIHJuPU1hdGlzIHJ0PTk1OTgwNzY2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQoqdW50ZXIqIHNlaW5lbSBOaXZlYXU/IGVoZXIgZHJ1ZWJlci4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChIb29kLCAgMS4gSnVuIDIwMDAsIDAwOjI4OjQ5KToKfiMhIHJuPU11cGZlbCBydD05NTk4MTA0Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKbXVwZmVsIHNjaGFsdGV0IHNpY2ggaW4gZWluZSBkaXNrdXNzaW9uIGluIHNhY2hlbiBuaXZlYXUgZWluPwptdXRpZywgbXV0aWcuLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChGZXVlcndlaHIsICAxLiBKdW4gMjAwMCwgMDk6NDY6NDEpOgp+IyEgcm49SG9vZCBydD05NTk4MTIxMjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKCktvZW5udCBpaHIgZXVyZSBTY2hsYW1tc2NobGFjaHQgdmllbGxlaWNodCBpbiBlaW5lciBhbmRlcmVuIFJ1YnJpayBmb3J0c2V0emVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEhhdGUsICAxLiBKdW4gMjAwMCwgMTA6MDk6MzcpOgp+IyEgcm49V3VyemVsIHJ0PTk1OTgwMDM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpLQXVmIGRlbSBWZXJlaW4gZWluZW4gU2VydmVyIGRlbSBtYW4gVGV4dGUgc2NoaWNrZW4ga2FubiB1bmQgZGVyIGRpZQpvcmRlbnRsaWNoIGtvcnJpZ2llcnQgd2llZGVyIHp1cnVlY2tzZW5kZXQgdW5kIGRhbm4ga2FubiBtYW4gZGFzIGF1Y2gKZWluYmF1ZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEJhbWJpLCAgMS4gSnVuIDIwMDAsIDEwOjQwOjUyKToKfiMhIHJuPUZldWVyd2VociBydD05NTk4NDU2MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKU29sbCBzaWNoIGtlaW5lciB1bnRlcnN0ZWhlbiwgZGVuIGdhbnplbiBUaHJlYWQgenUgdmVybGVnZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoSGlnaHQsICAxLiBKdW4gMjAwMCwgMTU6MDk6NTEpOgp+IyEgcm49V3VyemVsIHJ0PTk1OTgwMDM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQoqbGFjaCogdWViZXJ0cmVpYiBuZXQgc28gLi4uIGRhcyBpY2ggd2VkZXIgdGlwcGVuIG5vY2ggYW5sb2cgcmljaHRpZyBzY2hyZWliZW4Ka2FubiBpcyBtaXIgYmVrYW5udCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChHb3IsICAxLiBKdW4gMjAwMCwgMTc6NTE6MTgpOgp+IyEgcm49TWF0aXMgcnQ9OTU5ODA3NjYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCk5lbmUgTWF0aXMsIGRhcyBpcyBnZW5hdSBIb29kcyBOaXZlYXUuIDopCgpHb3IgZ3JpbnNlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoSG9vZCwgIDEuIEp1biAyMDAwLCAxNzo1MjoyNik6Cn4jISBybj1Hb3IgcnQ9OTU5ODc0Njc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTU5NzgzNjAxCmphIGphIGdvciwgaW0ga2luZGVyZ2FydGVuIGhhZXR0ZXN0ZSBqZXR6dCBnZWZldHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSWNoIGhhYiBsYW5nc2FtIGRpZSBTY2huLi4uIHZvbGwgKEdvciwgIDEuIEp1biAyMDAwLCAxNzo1MzoxOCk6Cn4jISBybj1Ib29kIHJ0PTk1OTg3NDc0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpLYW5uc3RlIGRhcyBiaXR0ZSBtaXQgUmVjaHRzY2hyZWliZmVobGVybiB2ZXJzZWhlbiwgZGFtaXQgaWNoIGVzIGF1Y2gKdmVyc3RlaGVuIGthbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoRXRhaW4sICAyLiBKdW4gMjAwMCwgMjM6MDE6NTIpOgp+IyEgcm49V3VyemVsIHJ0PTk1OTgwMDM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQpQYWgsIFd1cnplbC4KV2VubiBEdSBkaWUgIld1cnplbCBhbGxlbiBVZWJlbHMiIGJpc3QsIHplaWNobmVzdCBEdQphdWNoIHZlcmFudHdvcnRsaWNoIGZ1ZXIgVW1sYXV0ZSB1bmQgc29uc3RpZ2VuIE11ZWxsIGluCmRlciBNUEEuCkFsc28gbGFzcyBkZW4gQmxvZWRzaW5uIDspKSkKCkV0YWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoTHVnLCAgMy4gSnVuIDIwMDAsIDEzOjM1OjI2KToKfiMhIHJuPUV0YWluIHJ0PTk1OTk3OTcxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQoKQWxzbyBlaW5pZ2UgTWFncyBoYWJlbiBhbnNjaGVpbmVuZCB3aXJrbGljaCBkaWUgRnVua3Rpb24gImlnbm9yaWVyZW4iIG5pY2h0Cm1laHIgaW0gS29wZi4gV2VtIGlyZ2VuZHdlbGNoZXMgR2VzYWJiZWwgdm9uIFNwaWVsZXIgWCBuaWNodCBwYXNzdCwgaGF0IG5vY2gKbGFuZ2UgbmljaHQgZGFzIFJlY2h0LCBwZXIgIkdlc2V0eiBkZXMgU3RhZXJrZXJlbiIgenUgemVuc2llcmVuLiBJY2ggd2Vpc3MKd2lya2xpY2ggbmljaHQgd2FydW0gImlnbm9yaWVyZW4iIHNvIHNjaHdlciBzZWluIHNvbGwuIFVuZCB3YXMgbWljaCBiZXRyaWZmdCwKaGFiZSBpY2ggbm9jaCBpbW1lciBXZWdlIGdlZnVuZGVuLCBtaWNoIGFuIGRlbiBNYWdzIHp1IHJhZWNoZW4sIGRpZSBtZWludGVuCm1pY2ggYW5ncmVpZmZlbiB6dSBtdWVzc2VuLiBJbSBad2VpZmVsIGJpbiBpY2ggYXVmIERhdWVyIG5lcnZpZ2VyLi4uIAoKQWxzbyBoZXVsIG5pY2h0IHJ1bSBNdXRhbnR1cywgc29uZGVybiB3ZWhyIERpY2ggb2RlciBsb2VzY2ggRGljaC4KCk1hZ2llcmhhc3Nlci9TcGllbGVyaGFzc2VyL1NlaGVyaGFzc2VyL0FjaHdhc2ljaGhhc3NlYWxsZQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEljaCBoYWIgbGFuZ3NhbSBkaWUgU2Nobi4uLiB2b2xsIChTcGlyaWxsLCAgMy4gSnVuIDIwMDAsIDIwOjUzOjQ1KToKfiMhIHJuPUFyayBydD05NTk4MDA5OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NTk3ODM2MDEKRGFua2UsIEFyaywgc2VsdGVuIHNvIGdlbGFjaHQhIEhhc3QgRHUgbm9jaCBtZWhyIENhbHZpbi1XZWlzaGVpdGVuIGluIHBldHRvPwoKVW0gbWl0IEpPaG4gU2lsdmVyc3RlaW4genUgc3ByZWNoZW46IEFsbCBJIGNhbiBhZmZvcmQKaXMgYSBib2FyZC4KClNwaXJpbGwsIHJvdGZsbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJY2ggaGFiIGxhbmdzYW0gZGllIFNjaG4uLi4gdm9sbCAoQnViYmEsICA1LiBKdW4gMjAwMCwgMTc6NTk6MjYpOgp+IyEgcm49THVnIHJ0PTk2MDAzMjEyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk1OTc4MzYwMQoKR2VuYXUgTXV0YW50dXMgLSByYWVjaCBEaWNoIQpWZXJrdXBwZWwgRGVpbmUgTXVkZGVyLUZyZXVuZGluIG1pdCBlaW5lbSBNYWdpZXIhIFdlbGNoIGVpbmUgUmFjaGUuLi4KCkJ1YmJhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYnJpZWYgKEdyaW1tYm9ybiwgIDkuIEp1biAyMDAwLCAxMDowMTo1OSk6Cn4jISBvbj1KYWdvIG90PTk2MDQ5NDAyMyBvZz1hbGxnZW1laW5lcwpIYWxsbyBSYW5kLCBhbGxlcyBmcmlzY2gsIGljaCB3ZWlzcyBicmlnZW5zIG5pY2h0IHdpZSBpY2ggZWluZW4gQnJpZWYgaW0KUG9zdGFtdCBsZXNlbiBrYW5uLiBNdXNzdCBEdSBtaXIgYmVpIEdlbGVnZW5oZWl0IG1hbCBlcmtscmVuLiBJbSBNb21lbnQKcHJvYmllcmUgaWNoIGdlcmFkZSBlaW4gYmlzc2NoZW4gcnVtIC0gaG9mZmVudGxpY2gga2xhcHB0IGRhcyB1bmQgRHUgYmVrb21tc3QKZGVuIEJyaWVmIGF1Y2ghIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJyaWVmIChHcmltbWJvcm4sICA5LiBKdW4gMjAwMCwgMTE6MDQ6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk2MDUzNzcxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpPSywgZHJlaSBGcmFnZW4gcmVjaHRmZXJ0aWdlbiBlaW5lIEZBUToKSWNoIGhhYmUgZGVuIEFydGlrZWwgaW4gZGllc2VsYmUgUnVicmlrIHZlcmxlZ3QgdW0gaWhuICJzY2hyZWlienVzY2h1ZXR6ZW4iLApkYW1pdCBhbHNvIEphZ28gc2VpbmVuIChtZWluZXIgQW5zaWNodCBuYWNoKSBrb2VzdGxpY2hlbiBCZWl0cmFnIHp1cgphbGxnZW1laW5lbiBVbnRlcmhhbHR1bmcgbmljaHQgYXVzIFZlcnNlaGVuIHdpZWRlciBsb2VzY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJyaWVmIChUaWFtYWssICA5LiBKdW4gMjAwMCwgMTE6MDY6MzcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk2MDU0MTQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQouLi4gd2FzIG1pY2ggZG9jaCBnbGF0dCB3aWVkZXIgYW4gZWluZW4gUHVua3QgYXVmIFRvRG8gZXJpbm5lcnQ6IHZlcmxlZ3RlCkFydGlrZWwsIGRpZSB1cnNwcnVlbmdsaWNoIHZvbiBlaW5lbSBzZWxiZXIgc3RhbW1lbiwgc29sbHRlIG1hbiBhdWNoIGxvZXNjaGVuCmtvZW5uZW4uCgpUaWFtYWsuIEhhZWx0IGFsbGVzIGFuZGVyZSBmdWVyIGJlZGVua2xpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBicmllZiAoTm9ubmUsICA5LiBKdW4gMjAwMCwgMTE6MTM6MjUpOgp+IyEgcm49VGlhbWFrIHJ0PTk2MDU0MTU5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpEZXIgTWVpbnVuZyBiaW4gaWNoIGFsbGVyZGluZ3MgYXVjaC4gV2VubiBlaW4gbmV3YmllIGBzY2hyZWliZSBicmllZmAgZWluZ2lidCwKd2VpbCBlciBlcyBlaW5mYWNoIG5pY2h0IGJlc3NlciB3ZWlzcywgc29sbHRlIGVyIGRhcyBhdWNoIHdpZWRlciBsb2VzY2hlbgprb2VubmVuLiBCZWkgZGllc2VtIEluaGFsdCB2aWVsbGVpY2h0IHVucHJvYmxlbWF0aXNjaC4gQWJlciB3YXMsIHdlbm4gZGEKaW50aW1lcmVzIGRyaW4gc3RlaHQ/IEF1c3NlcmRlbSBiaW4gaWNoIG5pY2h0IHNpY2hlciwgb2IgZGVyIEF1dGhvciB1ZWJlcmhhdXB0CmdlbWVya3QgaGF0LCBkYXNzIHNlaW4gQnJpZWYgaW4gZGVyIFplaXR1bmcgc3RlaHQuCgpOb25uZSwgdW0gZGllIE5ld2JpZXMgYmVzb3JndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGJyaWVmIChHcmltbWJvcm4sICA5LiBKdW4gMjAwMCwgMTE6MTQ6NTUpOgp+IyEgcm49VGlhbWFrIHJ0PTk2MDU0MTU5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpDb29sLiB2ZXJsZWdlIGFydGlrZWwgbmFjaCBtYWdpZXIuKiwgd2llIGxvZXN0IER1IGRhcyBmdWVyIE5pY2h0bWFnaWVyPwpBdXNzZXJkZW0sIGVpbmUgRnVua3Rpb24sIGRhc3MgYmVyZWl0cyBnZWxlc2VuZSBBcnRpa2VsIG5hY2ggVmVybGVnZW4gbmljaHQKbm9jaCBlaW5tYWwgZ2VsZXNlbiB3ZXJkZW4sIGlzdCBzaWNoZXIgd2VzZW50bGljaCBzdGFlcmtlciBnZXd1ZW5zY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGJlaGVycnNjaHQgZnVlciBkZW4gTm90ZmFsbCBhdWNoIGN1dC1hbmQtcGFzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYnJpZWYgKEdyaW1tYm9ybiwgIDkuIEp1biAyMDAwLCAxMToxNTozNyk6Cn4jISBybj1Ob25uZSBydD05NjA1NDIwMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKUmVeMzogYnJpZWYgKE5vbm5lLCAgOS4gSnVuIDIwMDAsIDExOjEzOjI1KToKW0JlenVnOiBBcnRpa2VsIDUzIHZvbiBUaWFtYWsgdm9tICA5LiBKdW4gMjAwMCwgMTE6MDY6MzddCgpEZXIgTWVpbnVuZyBiaW4gaWNoIGFsbGVyZGluZ3MgYXVjaC4gV2VubiBlaW4gbmV3YmllIGBzY2hyZWliZSBicmllZmAgZWluZ2lidCwKd2VpbCBlciBlcyBlaW5mYWNoIG5pY2h0IGJlc3NlciB3ZWlzcywgc29sbHRlIGVyIGRhcyBhdWNoIHdpZWRlciBsb2VzY2hlbgprb2VubmVuLiBCZWkgZGllc2VtIEluaGFsdCB2aWVsbGVpY2h0IHVucHJvYmxlbWF0aXNjaC4gQWJlciB3YXMsIHdlbm4gZGEKaW50aW1lcmVzIGRyaW4gc3RlaHQ/IEF1c3NlcmRlbSBiaW4gaWNoIG5pY2h0IHNpY2hlciwgb2IgZGVyIEF1dGhvciB1ZWJlcmhhdXB0CmdlbWVya3QgaGF0LCBkYXNzIHNlaW4gQnJpZWYgaW4gZGVyIFplaXR1bmcgc3RlaHQuCgpOb25uZSwgdW0gZGllIE5ld2JpZXMgYmVzb3JndC4KCkR1IHNpZWhzdCwgc28gZ2VodHMgYXVjaC4KR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBicmllZiAoTHlyYSwgIDkuIEp1biAyMDAwLCAxMToxNzo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTYwNTQyMTM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwNTM3NzE5CkFsc28gaWNoIHdpbGwgYWxsIGRlbiBLbGF0c2NoIHVuZCBUcmF0c2NoIGxlc2VuLiBPZGVyIElociBicmluZ3QgZWluZSBNUEEgZGVyCkZyYXUgaGVyYXVzLiA7LSkKCkx5cmEgc2NoYWZmdCBlcyBuaWNodCwgZWluemVpbGlnIHp1IGJsZWliZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGJyaWVmIChOb25uZSwgIDkuIEp1biAyMDAwLCAxMToxODowNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTYwNTQyMTM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwNTM3NzE5CkFlaCwgd2FzIGljaCBtZWludGUsIGlzdCBuaWNodCBib2Vzd2lsbGlnZXMgYG5pY2h0LWxvZXNjaGVuLWxhc3NlbmAsIHNvbmRlcm4Kd2VubiBzb3dhcyBuYWNoIFNjaG1hcnJuIHdhbmRlcnQsIGthbm4gZXMgbmljaHQgbWVociBnZWxvZXNjaHQgd2VyZGVuLiBEYSBoYXN0CkR1IG1pY2ggZmFsc2NoIHZlcnN0YW5kZW4uIEljaCBob2ZmZSBlaW5mYWNoIG1hbCwgRHUgYmlzdCBEaXIgdWViZXIgZGllClByb2JsZW1hdGlrIGRlcyBgc2NocmVpYmUgQnJpZWZgIHVuZCBJbnRpbXNwaGFlcmUgaW0ga2xhcmVuIHVuZCBoYXN0IGRlbgpBcnRpa2VsIG51ciBhdXMgdmVyc2VoZW4gc2NocmVpYmhlc2N1ZXR6dCEKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYnJpZWYgKEJvaW5nLCAgOS4gSnVuIDIwMDAsIDExOjE5OjM1KToKfiMhIHJuPU5vbm5lIHJ0PTk2MDU0MjI4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpJY2ggZGVua2UgR3JpbW1ib3JuIGlzdCBpbiBkZXIgTGFnZSBpbnRpbWUgdW5kIHVuYmVkZW5rbGljaGUgSW5mb3JtYXRpb25lbgphdXNlaW5hbmRlciB6dSBoYWx0ZW4gdW5kIGdlZ2ViZW5lbmZhbGxzIHp3aXNjaGVuIGxvZXNjaGVuIHVuZCAKJ3NjaHJlaWJzY2h1ZXR6ZW4nIHp1IGVudHNjaGVpZGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBicmllZiAoVGlhbWFrLCAgOS4gSnVuIDIwMDAsIDExOjIwOjA5KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NjA1NDIxMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKSW4gbWVpbmVuIEF1Z2VuIGJpc3QgRHUgZ2VyYWRlIGF1ZiBkZW0gYmVzdGVuIFdlZywgRGljaCBmdWVyIERlaW5lClNjaHJlaWJyZWNodGUgaW4gZGVuIE1QQS1SdWJyaWtlbiB6dSBkaXNxdWFsaWZpemllcmVuLgoKRGFzcyBpY2ggZGllIE11ZGxpYiBuaWVtYWxzIDEwMCVpZyBnZWdlbiB2b3JzYWV0emxpY2hlbiBNaXNzYnJhdWNoIGR1cmNoCk1hZ2llciBhYnNpY2hlcm4ga2FubiwgaXN0IG1pciBiZWthbm50LiBBYmVyIGRhcywgd2FzIG5pY2h0IGF1ZiB0ZWNobmlzY2hlcgpFYmVuZSB2ZXJoaW5kZXJ0IHdlcmRlbiBrYW5uLCBzb2xsdGUgZWlnZW50bGljaCBkdXJjaCBSZWdlbG4gYnp3LiBlaWdlbnRsaWNoCnNvZ2FyIHNjaG9uIGR1cmNoIGRlbiBnZXN1bmRlbiBNZW5zY2hlbnZlcnN0YW5kIGdlcmVnZWx0IHdlcmRlbi4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGJyaWVmIChHcmltbWJvcm4sICA5LiBKdW4gMjAwMCwgMTI6MTU6NDIpOgp+IyEgcm49VGlhbWFrIHJ0PTk2MDU0MjQwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpJY2ggZ2VoZSBkYXZvbiBhdXMsIGRhc3MgRHUgbGVkaWdsaWNoIGF1cyBVbmFjaHRzYW1rZWl0ICJTY2hyZWlicmVjaHRlIiB1bmQKbmljaHQgIkxvZXNjaHJlY2h0ZSIgZ2VzY2hyaWViZW4gaGFzdC4gU29uc3Qgd3VlcmRlIERpY2ggZGFzIG5hZW1saWNoIGluCm1laW5lbiBBdWdlbiBhdWYgZGVuIGJlc3RlbiBXZWcgYnJpbmdlbiwgRGljaCBmdWVyIGVpbmVuIEVNLVBvc3RlbiB6dQpkaXNxdWFsaWZpemllcmVuLi4uCgpGWUk6IEljaCBrYW5uIGFscyBqZWRlciBHYXN0IGVpbmVuIEFydGlrZWwgdmVybGVnZW4sIGluIGplZGUgUnVicmlrLCBpbiBkZXIKaWNoIFNjaHJlaWJyZWNodGUgaGFiZSAodW5kIGRhcyBzaW5kIGZhc3QgYWxsZSwgZGllIGljaCBhbHMgR2FzdCBhdWNoIGxlc2VuCmthbm4pLiBEZXIgVW50ZXJzY2hpZWQgenUgei5CLiBtaXIgaXN0IGxlZGlnbGljaCwgZGFzcyBkZXIgVXJzcHJ1bmdzYXJ0aWtlbApuaWNodCBnZWxvZXNjaHQgd2lyZC4gCgpXYXMgRHUgamV0enQgZ2VuYXUgbWl0ICJNaXNzYnJhdWNoIiBtZWluc3QgaXN0IG1pciBuaWNodCBrbGFyLCBhYmVyIGZ1ZWhsZQptaWNoIGRlZmluaXRpdiBuaWNodCBnZXRyb2ZmZW4uIEljaCBoYWJlIG1pdCBtcGEtVmVybGVnZW4gYW5nZWZhbmdlbiBiZXZvciBlcwpEaWNoIGdhYiwgdW5kIGJpc2hlciBoYXQgc2ljaCBub2NoIG5pZW1hbmQgYmVpIG1pciB3ZWdlbiBNaXNzYnJhdWNoIGJlc2Nod2VydApzb25kZXJuIG51ciBkYXJ1ZWJlciwgZGFzcyBlciBBcnRpa2VsIGRvcHBlbHQgbGVzZW4gbXVzc3RlLiBEb3J0IGRhcmZzdCBEdQpzZWhyIGdlcm5lIGFuc2V0emVuIHVuZCB6dXNlaGVuLCBkYXNzIGdlbGVzZW5lIEFydGlrZWwgYXVjaCBuYWNoIFZlcmxlZ2VuCm5pY2h0IHdpZWRlciBhbHMgIm5ldSIgbWFya2llcnQgc2luZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYnJpZWYgKEdsb2luLCAgOS4gSnVuIDIwMDAsIDEyOjI2OjUxKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NjA1NDU3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKSWNoIHNjaGFldHplIGRpZSBHcmVuemUgenVtIE1pc3NicmF1Y2ggaXN0IGRlc2hhbGIgZ2VmYWVocmxpY2ggbmFoZSwgd2VpbApEdSB6dW0gIlNjaHJlaWJzY2h1dHoiIGRlbiBBcnRpa2VsIGVpbmVzIE1pdHNwaWVsZXJzIHZlcmxlZ3QgaGFzdCwgb2J3b2hsCkR1IERpciBvZmZlbnNpY2h0bGljaCBkZXIgVGF0c2FjaGUgYmV3dXNzdCBiaXN0LCBkYXNzIGRlcmplbmlnZSBkZW4KQXJ0aWtlbCwgc28gcGVpbmxpY2ggZXIgYXVjaCBmdWVyIGlobiBpc3QgbmljaHQgbWVociBsb2VzY2hlbiBrYW5uLgpEYXMgZmFlbGx0IG1laW5lciBBbnNpY2h0IG5hY2ggYXVjaCBuaWNodCBtZWhyIHVudGVyIE1vZGVyYXRpb24uCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogYnJpZWYgKEdyaW1tYm9ybiwgIDkuIEp1biAyMDAwLCAxMjo1MDozMCk6Cn4jISBybj1HbG9pbiBydD05NjA1NDY0MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKRGFzIGx1c3RpZ2UgYW4gZGVyIFNhY2hlIGlzdCwgd2VubiBpY2ggZGllc2VuIEFydGlrZWwgbmFjaCBzY2htYXJybiBvZGVyIHdpdHplCih3aWUgdmVyZ2xlaWNoYmFyZSBBcnRpa2VsIHNjaG9uIG9lZnRlcnMgaW4gZGVyIFZlcmdhbmdlbmhlaXQpIGdlbGVndCBoYWV0dGUsCmhhZXR0ZSBrZWluIEhhaG4gZGFuYWNoIGdla3JhZWh0Li4uIE1hbCBnYW56IGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBKYWdvIGd1dCAxMgpTdHVuZGVuIFplaXQgaGF0dGUgZGFzIHp1IGtvcnJpZ2llcmVuLiBVbmQgaWNoIHp1bWluZGVzdCBsZXNlIGF1Y2ggbWVpbmUKZWlnZW5lbiBBcnRpa2VsIGlubmVyaGFsYiB2b24gMTIgU3R1bmRlbiB1bmQga2FubiBkYW5uIHBlaW5saWNoZSBGZWhsZXIKa29ycmlnaWVyZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGJyaWVmIChIdW1uaSwgIDkuIEp1biAyMDAwLCAxMjo1MzoxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTYwNTQ3ODMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwNTM3NzE5CkR1IHZpZWxsZWljaHQuIE1hbCB1ZWJlcmxlZ3QsIGRhc3MgZWluIE5ld2JpZSB2aWVsbGVpY2h0IGdhciBuaWNodCB3ZWlzcywKd2llIG1hbiBkaWUgWmVpdHVuZyBsaWVzdD8/IERhcyBpc3QgbmljaHQgc29vIGVpbmZhY2guIFp1bWluZGVzdCBuaWNodAphbSBBbmZhbmcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGJyaWVmIChQYWRyZWljLCAgOS4gSnVuIDIwMDAsIDEyOjU0OjQyKToKfiMhIHJuPUh1bW5pIHJ0PTk2MDU0Nzk5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpEYSBlaW4gTmV3YmllIG5vY2gga2VpbmVybGVpIFNjcmlwdGUgaGF0IGR1ZXJmdGUgaWhtIGRhcyAibm4iIG5vY2ggc2NobmVsbGVyCnVudGVyIGRpZSBGaW5nZXIga29tbWVuIGFscyBlcyBtaXIgZWggbm9jaCBvZnQgZ2VudWcgcGFzc2llcnQgOjkuCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogYnJpZWYgKEx5cmEsICA5LiBKdW4gMjAwMCwgMTI6NTU6NTgpOgp+IyEgcm49UGFkcmVpYyBydD05NjA1NDgwODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKQWJlciBtYW5jaGUgTmV1bGluZ2Ugc2NocmVpYmVuIGltbSBub3JkZW4gYXVzIHVuZCBzdG9scGVybiBkYW1pdCBuaWNodCBzbwpzY2huZWxsIHVlYmVyIG5uCkx5cmEgd2FyIGF1Y2ggbWFsIGp1bmcgYWVobSBuZXUgaHVlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYnJpZWYgKFRpYW1haywgIDkuIEp1biAyMDAwLCAxMzowODo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTYwNTQ1NzQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwNTM3NzE5CkphLCBpY2ggbWVpbnRlIExvZXNjaHJlY2h0ZSB1bmQgbmljaHQgU2NocmVpYnJlY2h0ZS4gRGFua2UgZnVlciBkZW4gSGlud2Vpcy4KCkRhcyBtaXQgZGVtIHZvcnNhZXR6bGljaGVuIE1pc3NicmF1Y2ggd2FyIHdlbmlnZXIgYXVmIERlaW4gVmVybGVnZW4gYmV6b2dlbiwKYWxzIHZpZWxtZWhyIGF1ZiBEZWluZSBBdXNzYWdlLCBkYXNzIGljaCBEaWNoIHNvd2llc28gbmljaHQgc3RvcHBlbiBrYW5uLCB3ZWlsCkR1IGltbWVyIG5lbiBXZWcgZmluZGVzdC4gVW5kIGRhcyB2b3JzYWV0emxpY2hlIFVtZ2VoZW4gdm9uClNpY2hlcnVuZ3NtYXNzbmFobWVuIHZlcnN0ZWhlIGljaCBudW5tYWwgYWxzIE1pc3NicmF1Y2guCgpVZWJyaWdlbnMgc3RvZXJ0IGVzIG1pY2ggaW4gZGVyIFRhdCBuaWNodCwgd2VubiBEdSBlaW5lbiBzb2xjaGVuIEFydGlrZWwKd29ydGxvcyBuYWNoIHNjaG1hcnJuIHZlcmxlZ3N0LiBEYW5uIGdlaGUgaWNoIG5hZW1saWNoIGRhdm9uIGF1cywgZGFzcyBEdQpsZWRpZ2xpY2ggZGFmdWVyIHNvcmdzdCwgZGFzcyBlciBpbiBkZXIgcGFzc2VuZGVuIFJ1YnJpayBsYW5kZXQgdW5kIGRhYmVpIGluCkthdWYgbmltbXN0IChuZWhtZW4gbXVzc3QsIGRhIGVzIG1vbWVudGFuIG5pY2h0IGFuZGVycyBnZWh0KSwgZGFzcyBkZXIgQXV0b3IKc2VpbmVuIEFydGlrZWwgbmljaHQgbWVociBsb2VzY2hlbiBrYW5uLiBXYXMgbWlyIHBlcnNvZW5saWNoIGFiZXIgZ2VnZW4gZGVuClN0cmljaCBnZWh0LCBpc3QgRGVpbmUgQXVzc2FnZSwgZGFzIFZlcmxlZ2VuIGViZW4gd2VnZW4gZGllc2VzIE5lYmVuZWZmZWt0ZXMKenUgYmV0cmVpYmVuLCBkZXIgbWVpbmVyIE1laW51bmcgbmFjaCBuaWNodHMgbWl0IERlaW5lciAiTVBBLVJlaW5oYWx0dW5nIiB6dQp0dW4gaGF0LgoKClRpYW1hawoKUC5TOiBWaWVsbGVpY2h0IGhpbGZ0IGphIG1laHJmYWNoZXMgV2llZGVyaG9sZW4sIGRhbWl0IGF1Y2ggZGVyIExldHp0ZSBlcwppcmdlbmR3YW5uIGJlZ3JlaWZ0OiB2ZXJsZWd0ZSBBcnRpa2VsIHdlcmRlbiBnZW5hdSBkZXNoYWxiIGltbWVyIHdpZWRlciBhbHMKIm5ldWUiIEFydGlrZWwgZXJzY2hlaW5lbiwgd2VpbCBlaW5lIEFiaGlsZmUgenUgYXJiZWl0cy0gdW5kIHNwZWljaGVyaW50ZW5zaXYKd2FlcmUuIFB1bmt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogYnJpZWYgKFBhZHJlaWMsICA5LiBKdW4gMjAwMCwgMTM6MTE6MjkpOgp+IyEgcm49VGlhbWFrIHJ0PTk2MDU0ODkyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpXaWVzbyBzbyB1bmdlaGFsdGVuIFRpYW1haz8gR3JpbW1ib3JuIGthbm4gc2ljaCBkb2NoIHJ1aGlnIGhpbnNldHplbiB1bmQgZGFzCmdhbnplIHNhdWJlciB1bmQgb3JkZW5saWNoIGltcGxlbWVudGllcmVuLCBkYW5uIHNvbGx0ZSBlcyBkb2NoIHNpY2hlciBtb2VnbGljaApzZWluIGRhcyBzY2huZWxsIGVpbnp1YmF1ZW4uCgpQYWRyZWljLCB3aWUgaW1tZXIga29uc3RydWt0aXYgLG8pCgpQLlMuOiBvaGggLT4gc2NobWFycm4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBicmllZiAoQW5hdG9sLCAgOS4gSnVuIDIwMDAsIDE0OjUyOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NjA1NDU3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA1Mzc3MTkKRz4gRllJOiBJY2gga2FubiBhbHMgamVkZXIgR2FzdCBlaW5lbiBBcnRpa2VsIHZlcmxlZ2VuLCBpbiBqZWRlIFJ1YnJpaywKRz4gaW4gZGVyIGljaCBTY2hyZWlicmVjaHRlIGhhYmUgKHVuZCBkYXMgc2luZCBmYXN0IGFsbGUsIGRpZSBpY2ggYWxzCkc+IEdhc3QgYXVjaCBsZXNlbiBrYW5uKS4gRGVyIFVudGVyc2NoaWVkIHp1IHouQi4gbWlyIGlzdCBsZWRpZ2xpY2gsCkc+IGRhc3MgZGVyIFVyc3BydW5nc2FydGlrZWwgbmljaHQgZ2Vsb2VzY2h0IHdpcmQuIAoKSGllciBpcnJ0IGRlciBBdGhlaXN0LgpJbiBkZXIgVGF0LCBmcnVlaGVyIHdhciBkYXMgd2lya2xpY2ggc286IFZlcnN1Y2h0ZSBzaWNoIGVpbiBTcGllbGVyCmFscyBWZXJsZWdlciwgd3VyZGUgZGVyICJuZXVlIiBBcnRpa2VsIGVyemV1Z3QsIGdnZi4gYWJlciBkZXIgYWx0ZQptYW5nZWxzIGVudHNwcmVjaGVuZGVuIExvZXNjaHJlY2h0ZW4gbmljaHQgZW50ZmVybnQuIEJlb2JhY2h0ZXIgZGVyCk1QQSwgZGllIGF1cyBkZXIgR2VuZXJhdGlvbiBzdGFtbWVuLCBkaWUgIkFzbW9kaXMgbGl2ZSIgbm9jaCBzZWxic3QKbWl0ZXJsZWJ0ZW4sIHdpc3NlbiBqZWRvY2ggenUgYmVyaWNodGVuOiBBcnRpa2VsLCBkZXJlbiBlcnN0ZSB6ZWhuClplaWxlbiBudXIgZGllICJ2ZXJsZWd0IHZvbiBhdXMgbmFjaCItSGlud2Vpc2Ugc2luZCwgc2luZCB3ZW5pZ2VyCmx1c3RpZyAtIHVuZCBkYWhlciBkYXJmIG1hbiAoYWxzIFNwaWVsZXIpIHNjaG9uIHNlaXQgbGFlbmdlcmVtIG51cgplaWdlbmUgQXJ0aWtlbCB2ZXJsZWdlbi4KCkluIGR1YmlvIHBybyBsZW8gLSBzZWxic3Qgd2VubiBHKiBkZXIgTG9ld2Ugc2VpbiBzb2xsdGUgOykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IGJyaWVmIChIaWdodCwgIDkuIEp1biAyMDAwLCAxNTo0MDo0Mik6Cn4jISBybj1QYWRyZWljIHJ0PTk2MDU0ODA4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDUzNzcxOQpzdGltbXQgbm4gaXMgc2NobmVsbCBtYWwgcGFzc2llcnQgLi4uIGFiYmEgaWNoIGhhYiBkaWUgemVpdHVuZyBnZW5hdSBkZXNoYWxiCmRhbWFscyB2ZXJicmFubnQgCgpkaWUgemVpdHVuZyBoYWIgaWNoIGFuZ2VmYW5nZW4genUgbGVzZW4gYWxzIGljaCBpbiBuZXIgcGhhc2Ugd28gbmljaHRzIGdpbmcKd2VnZW4gbGFnIHp1dmllbCB6ZWl0IGhhdHRlIAoKdW5kIGRhcyB3YXIgendpc2NoZW4gMjAgdW5kIDMwIChQTCkKCgoKCmhpZ2h0IG5vbm5lIHZlcnN0ZWhlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluIGVpZ2VuZXIgdW5kIGZyZW1kZXIgU2FjaGUgKFBhZHJlaWMsIDEzLiBKdW4gMjAwMCwgMTY6NDk6MDYpOgp+IyEgb249QXBvbGxvbmlhIG90PTk2MDkwNzU3NCBvZz1tYWdpZXIubWFnaWVyCkhpIExldXRlLAoKZGFzIE11ZCBtYWcgbmljaHQgd2lya2xpY2ggZGVyIHJpY2h0aWdlIE9ydCBmdWVyIGVpbmVuIHNvbGNoZW4gQXVmcnVmIHNlaW4sCmFiZXIgd2FzIHNvbGwncy4uLiBXaWUgZWluaWdlIHZvbiBFdWNoIGJlcmVpdHMgd2lzc2VuLCBoYWIgaWNoIExldWthZW1pZSB1bmQKbmFjaCBkZXIgbGV0enRlbiBBdXNzYWdlIGVpbmVzIEFyenRlcyB1bmJlaGFuZGVsdCBub2NoIGtuYXBwIDE4IE1vbmF0ZSB6dQpsZWJlbiwgc29mZXJuIHNpY2ggbmljaHQgcmF1c3N0ZWxsdCwgZGFzcyBlcyBkb2NoIGVpbmUgY2hyb25pc2NoZQpMZXVrYWVtaWV2YXJpYW50ZSBpc3QuIEluIGFueSBldmVudCBicmF1Y2hlIGljaCB1ZWJlciBrdXJ6IG9kZXIgbGFuZyBlaW5lCktub2NoZW5tYXJrc3BlbmRlLCBkZW5uIG51ciBzbyBpc3QgTGV1a2FlbWllIHdpcmtsaWNoIGhlaWxiYXIuIERhIGljaCBlaW5lCnNlbHRlbmUgQmx1dGdydXBwZSBoYWJlLCBnaWJ0IGVzIGRlcnplaXQgd2VkZXIgbmF0aW9uYWwgbm9jaCBpbnRlcm5hdGlvbmFsCmVpbmVuIHBhc3NlbmRlbiBTcGVuZGVyIC0gd29taXQgaWNoIHVlYnJpZ2VucyBuaWNodCBhbGxlaW5lIHN0ZWhlLCBlcyBnaWJ0IG5lCk1lbmdlIExldXRlLCBkaWUgdWViZXJzIEludGVybmV0IGVpbmVuIGdlZWlnbmV0ZW4gU3BlbmRlciBzdWNoZW4uICBTb2xsCmhlaXNzZW4sIHdpciBtdWVzc2VuIGRpZSBMZXV0ZSBtb2JpbGlzaWVyZW4sIHNpY2ggdHlwaXNpZXJlbiB6dSBsYXNzZW4sIHdhcwptYW4gKGEpIG1pdCBlaW5lciBCbHV0cHJvYmUgYmVpbSBIYXVzYXJ6dCB1bmQgKGIpIGVpbmVyIGFuc2NobGllc3NlbmRlbgpLbm9jaGVubWFya2Jpb3BzaWUgbWFjaGVuIGthbm4uIEluZm9zIGRhenUgZ2lidCBlcyB1bnRlciB3d3cuZGttcy5kZS4KSW4gbWVpbmVtIGVpZ2VuZW4gSW50ZXJlc3NlIHVuZCBpbiBkZW0gdmllbGVyIGFuZGVyZXIgTGV1a2FlbWlla3Jhbmtlciwgdm9uCmRlbmVuIGVpbmUgbmljaHQgdW5lcmhlYmxpY2hlIEFuemFobCBLaW5kZXIgc2luZCwgd29sbHRlIGljaCBFdWNoIGJpdHRlbiwgRXVjaAp3ZW5pZ3N0ZW5zIG1hbCBkaWUgU2VpdGUgYW56dXNjaGF1ZW4gdW5kIGluIEVyd2FlZ3VuZyB6dSB6aWVoZW4sIEV1Y2ggcGlla3Nlbgp6dSBsYXNzZW4uClNjaG9uIG1hbCB2aWVsZW4gRGFuayB1bmQgbGFzc3QgZXMgRXVjaCBndXQgZ2VoZW4uCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2ggd2FzLi4uIChBcG9sbG9uaWEsIDEzLiBKdW4gMjAwMCwgMTY6NDk6NDgpOgpNZWluZSBCbHV0Z3J1cHBlIGlzdCBpbSB1ZWJyaWdlbiBBQiBSaGVzdXMgTmVnYXRpdi4KCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NoIHdhcy4uLiAoQXBvcGhpcywgMTMuIEp1biAyMDAwLCAxNzo0ODowNik6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTYwOTA3Nzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4CmhtbSwgaWNoIGhhYiBkaWUgR2xlaWNoZSwgc2VsdHNhbS4uLgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBub2NoIHdhcy4uLiAoQXBvbGxvbmlhLCAxMy4gSnVuIDIwMDAsIDE3OjQ5OjI5KToKfiMhIHJuPUFwb3BoaXMgcnQ9OTYwOTExMjg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4CkRpZSBnbGVpY2hlIEFia3Vlcnp1bmcgb2RlciBkaWUgZ2xlaWNoZSBCbHV0Z3J1cHBlIG9kZXIgYmVpZGVzPyAqaGVsbGhvZXJpZwp3ZXJkKgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaCB3YXMuLi4gKEFwb3BoaXMsIDEzLiBKdW4gMjAwMCwgMTc6NTE6MjYpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTk2MDkxMTM2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApobW0sIGJlaWRlcyA6KQp3YXMgaGVpc3N0IGRhcyBqZXR6dD8KCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2ggd2FzLi4uIChLYXJpcywgMTMuIEp1biAyMDAwLCAxNzo1MjoxNCk6Cn4jISBybj1BcG9waGlzIHJ0PTk2MDkxMTQ4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApEYXMgaGVpc3N0LCBkYXNzIGR1IGVyc3QgaW4gZGVyIFplaXR1bmcgc2NocmVpYnN0IHVuZCBkYW5uIG5pY2ggYWxsZXMgbGllc3QgOikKa2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NoIHdhcy4uLiAoSG9vZCwgMTMuIEp1biAyMDAwLCAxODozMTo0OSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9OTYwOTA3Nzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4Cmthbm5zdGUgbmljaCBkaWUgdW50ZXJmYWt0b3JlbiBtaXQgYW5nZWJlbj8gZGllIHphZWhsZW4gZG9jaCBiZWkKa25vY2hlbm1hcmtzcGVuZGUuIGljaCBoYWIgYXVjaCBlaW5lIGFldXNzZXJzdCBzZWx0ZW5lIHVudGVyZ3J1cHBlIHZvbgpBQi0sIGVzIGdpYnQgYWJlciBhdWNoIGhhZXVmaWdlcmUsIHNwcmljaCBlaW4gcHJvemVudCBkZXIgYmV2b2Vsa2VydW5nCmhhdCB6d2FyIEFCLSAoaXN0IHNvbWl0IGF1Y2ggc28gc2VsdGVuc3RlcyksIGFiZXIgc2Nod2llcmlnIHdpcmRzIGRhbm4KZXJzdCByaWNodGlnIGR1cmNoIGRpZSB1bnRlcmZha3RvcmVuLCB3YXMgYXVjaCBpbW1lciBkaWUgenUgYmVkZXV0ZW4gaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5vY2ggd2FzLi4uIChCYW1iaSwgMTQuIEp1biAyMDAwLCAwOToxNjo1NCk6Cn4jISBybj1Ib29kIHJ0PTk2MDkxMzkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApJY2gga2VubmUgbWljaCB6d2FyIG5pY2h0IHNvb28gZG9sbCBhdXMgbWl0IGRpZXNlbiB1bnRlcmdydXBwZW4sIGFiZXIgb2huZQpkYXNzIER1IGJlaW0gREtNUyB3YXJzdCBiencuIERlaW4gQmx1dCBhdWYgVGF1Z2xpY2hrZWl0IHVlYmVycHJ1ZWZ0IHd1cmRlICh3YXMKZGVyIERLTVMgZGFubiB3aXNzZW4gc29sbHRlKSwgd2VyZGVuIERpciBkaWUgVW50ZXJncnVwcGVuYW5nYWJlbiB3b2hsIG5pY2h0IHNvCnZpZWwgbnVldHplbiwgZ2xhdWIgaWNoLgpJY2ggaGFiZSB6d2FyIChHb3R0IHNlaSBEYW5rKSBrZWluZSBMZXVrYWVtaWUsIGFiZXIgaWNoIG1vZWNodGUgbWljaCBBcG8ncwpBdWZydWYgenVtIEJsdXR0ZXN0IGFuc2NobGllc3NlbiB1bmQgdmllbGxlaWNodCBmaW5kZXQgc2ljaCBqYSB3aXJrbGljaApqZW1hbmQsIGRlciBBcG8gb2RlciBpcmdlbmRlaW5lbSBhbmRlcmVuIE1lbnNjaGVuIGFscyBTcGVuZGVyIGRpZW5lbiBrYW5uLgpCYW1iaSwgc2VociBiZXRyb2ZmZW4gdm9uIEFydGlrZWwgNTYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NoIHdhcy4uLiAoQnJhbmRpciwgMTQuIEp1biAyMDAwLCAxMDo0ODozNik6Cn4jISBybj1CYW1iaSBydD05NjA5NjcwMTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKRGEgd2VkZXIgZGllIEJXIG5vY2ggZGllIERLTVMgZXMgdHJvdHogTmFjaGZyYWdlIGZ1ZXIgbm9ldGlnIGhpZWx0ZW4sIG1pcgptZWluZSBCbHV0Z3J1cHBlIG1pdHp1dGVpbGVuIChpY2ggc2llIGFsc28gYmlzIGhldXRlIG5vY2ggbmljaHQga2VubmUpIGthbm4KaWNoIGRhenUgbmljaHRzIHNhZ2VuLiBBYmVyIGljaCBiaW4gdHlwaXNpZXJ0IHVuZCBob2ZmZSBkb2NoIG1hbCBkYXNzIGRhcwpDb21wdXRlcnJlZ2lzdGVyIGRlciBES01TIHZlcm51ZW5mdGlnIGdlZnVlaHJ0IHdpcmQgdW5kIHNpZSBlaW5lbiBkYW5uIGF1Y2gKd2lya2xpY2ggenVvcmRuZW4uCgpOb2NobWFsIGFuIGFsbGUsIGRpZSBtaXQgZGVtIEdlZGFua2VuIHNwaWVsZW4sIHNpY2ggdHlwaXNpZXJlbiB6dSBsYXNzZW46IEVzCndpcmQgZXVjaCB6dW5hZWNoc3Qgd2lya2xpY2ggbnVyIGVpbm1hbCBCbHV0IGFiZ2Vub21tZW4gdW5kIGVyc3Qgd2VubiBpaHIgaW4KZGllIGVuZ2VyZSBBdXN3YWhsIGtvbW10LCB3ZXJkZW4gd2VpdGVyZSBVbnRlcnN1Y2h1bmdlbiBmYWVsbGlnLiBEYXMgZGllCkJsdXRhYm5haG1lIG5pY2h0IHdpcmtsaWNoIHdlaCB0dXQgYnJhdWNoIGljaCBldWNoIHdvaGwga2F1bSB6dSBzYWdlbi4KVW5lcmZyZXVsaWNoIGFsbGVyZGluZ3MgaXN0KGJ6dy4gd2FyKSBkYXNzIG1hbiBmdWVyIHNlaW5lIFR5cGlzaWVydW5nCnp1bWluZGVzdCB2b3IgNiBKYWhyZW4gbm9jaCB6dXIgS2Fzc2UgZ2ViZXRlbiB3dXJkZS4gRXZlbnR1ZWxsIGhhdCBzaWNoIGRhcwpoZXV0ZSBnZWFlbmRlcnQuIEFiZXIgc2VsYnN0IHdlbm4gZXMgd2FzIGtvc3RldCwgZXMgaXN0IHdpcmtsaWNoIHdpY2h0aWcgZGllCkthcnRlaSBzb3dlaXQgZXMgZ2VodCB6dSB2ZXJncm9lc3Nlcm4uIFVuZCB3ZW0gZXMgbmljaHQgcmVpY2h0LCAgZXZlbnR1ZWxsCmFuZGVyZW4genUgaGVsZmVuLCBkZXIgc29sbHRlIG1hbCB1ZWJlcmxlZ2VuLCBvYiBlciBuaWNodCBzZWxic3QgZWlubWFsIGluIGRpZQpTaXR1YXRpb24ga29tbWVuIGtvZW5udGUsIGF1ZiBlaW5lbiBwYXNzZW5kZW4gU3BlbmRlciB3YXJ0ZW4genUgbXVlc3Nlbi4KCkJyYW5kaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2ggd2FzLi4uIChUYW5nYWx1ciwgMTQuIEp1biAyMDAwLCAxNDowOTozMSk6Cn4jISBybj1CcmFuZGlyIHJ0PTk2MDk3MjUxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApIYWxsbywKCmhhYmUgbGVpZGVyIGRpZSBmYWxzY2hlIEJsdXRncnVwcGUsIGJpbiBhYmVyIGJlaW0KREtNUyByZWdpc3RyaWVydCB1bmQgaGFiZSB2b24gZGVuZW4gYXVjaCBzbyBlaW5lCkFydCBTcGVuZGVyYXVzd2VpcyBiZWtvbW1lbi4gTGV1dGUgbWFuIHdpcmQgZGEgZXJzdAptYWwgbnVyIGdlcGlla3N0IHVuZCBkaWUgbmVobWVuIGVpbmVtIDEwIG1sIEJsdXQgYWIsCmRhcyBzb2xsdGUgamVkZW0gZGVyIG5pY2h0IGdyYWRlIHdhcm0gZHVjaHN0IHdhcyAKYXVzbWFjaGVuLiBNYW4gcmV0dGV0IHNjaGxpZXNzbGljaCBkYW1pdCB1LlUuIGplbWFuZCAKYW5kZXJlbSBkYXMgTGViZW4gYWxzbyBnZWJ0IGV1Y2ggZWluZW4gUnVjay4KClRhbmdhbHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBub2NoIHdhcy4uLiAoQnViYmEsIDE0LiBKdW4gMjAwMCwgMTQ6MzM6NTQpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9OTYwOTg0NTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4CgpXaWU/IEFsbGVpbmUgbWl0IGRlciBUeXBpc2llcnVuZyByZXR0ZXQgbWFuIExlYmVuPyBVbndhaHJzY2hlaW5saWNoISBEYXp1IGlzdAp3b2hsIGRvY2ggZGllIEtub2NoZW5tYXJrc3BlbmRlIGVyZm9yZGVybGljaCEgQWJlciBkaWUgbWFjaHQgbWFuIGF1Y2ggbWFsIGViZW4Kc28sIHdlbm4gbWFuIGtlaW4gV2FybWR1c2NoZXIgaXN0ISBUeXBpc2llcmVuIHNvbGx0ZSBzaWNoIG51ciBkZXIgbGFzc2VuLCBkZXIKYXVjaCB6dXIgc3BhZXRlcmVuIFNwZW5kZSBiZXJlaXQgaXN0LCBzb25zdCBpc3QgZGllIFR5cGlzaWVydW5nIHNpbm5sb3MsIHdlaWwKdGV1ZXIhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbm9jaCB3YXMuLi4gKFRhbmdhbHVyLCAxNC4gSnVuIDIwMDAsIDE0OjQ0OjA0KToKfiMhIHJuPUJ1YmJhIHJ0PTk2MDk4NjAzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApLTEFSU1RFTExVTkc6CgpEYXMgZXMgaW1tZXIgTGV1dGUgZ2ViZW4gbXVzcyBkaWUgbml4IHZlcnN0ZWhlbiwKbmF0dWVybGljaCBzb2xsdGUgZWluZW0ga2xhciBzZWluLCBkYXNzIG1hbiBkYXMgCm5pY2h0IGVpbmZhY2ggc28gbWFjaHQgdW5kIHBvdGVudGllbGwgaXJnZW5kd2FubgptYWwgc3BlbmRlbiB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbm9jaCB3YXMuLi4gKEhvb2QsIDE0LiBKdW4gMjAwMCwgMTQ6NDU6NTQpOgp+IyEgcm49SG9vZCBydD05NjA5ODY2NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKZGFzIHN0aW1tdCwgamVkZXIgc29sbHRlIHNpY2ggd29obCB2b3JoZXIgZGFydWViZXIga2xhciBzZWluLCBkZW5uIGRpZXNlCmtub2NoZW5tYXJrc3BlbmRlIG1hY2hlbiB2aWVsZSBuaWNodCBtYWwgZWJlbiBzby4KZGFzcyBtYW4gZWluIHBhYXIgdGFnZSBpbSBrcmFua2VuaGF1cyBsaWVndCwgb2suLi5uaW1tdCBtYW4gbWl0LCBhYmVyIG5pY2gKamVkZXIgbW9lY2h0ZSBzaWNoIGdlcm5lIGluIHZvbGxuYXJrb3NlIHZlcnNldHplbiB1bmQgYW4gc2ljaCBoZXJ1bWRva3Rlcm4KbGFzc2VuLiBkYXMgbWFnc3QgZHUgbmljaHQgdmVyc3RlaGVuLCBhYmVyIGRlciBwc3ljaG9sb2dpc2NoZSBmYWt0b3IKbmFtZW5zIGFuZ3N0IGlzdCBuaWNodCB6dSB1bnRlcnNjaGFldHplbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbm9jaCB3YXMuLi4gKEFuYXRvbCwgMTQuIEp1biAyMDAwLCAxNDo1MDo1NSk6Cn4jISBybj1Ib29kIHJ0PTk2MDk4Njc1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApJY2ggbXVzcyBnZXN0ZWhlbiwgaWNoIHdlaXNzIHNjaGxpY2h0IHVuZCBlcmdyZWlmZW5kIGZhc3Qgbml4IAp1ZWJlciBLbm9jaGVubWFya3NwZW5kZW4uIFdpZSB3YWVyZSBlcyBtaXQgZWluZXIgdW1mYXNzZW5kZXJlbgoiV2FzIGtvbW10IGltIEZhbGxlIGVpbmVzIEZhbGxlcyItRXJrbGFlcnVuZz8gOikgRnJhZ2VuIHdpZSAiV2lldmllbApSaXNpa28gYmlyZ3QgZWluZW4gS25vY2hlbm1hcmtzcGVuZGU/IiwgIkthbm4gbWFuIG1laHJtYWxzIApLbm9jaGVubWFyayBzcGVuZGVuLCBvZGVyIGdlaHQgZGEgZGF1ZXJoYWZ0IGV0d2FzIHZlcmxvcmVuPyIgdW5kCm5pY2h0IHp1bGV0enQgIkdlcmF0ZW4gZGllIGdlc3BlbmRldGVuIFplbGxlbiBpbiBkaWUgVmVyZXJidW5nc2xpbmllCmRlcyBFbXBmYWVuZ2Vycz8iIGR1ZXJmdGVuIHdvaGwgamVkZW4gYmlzIHp1IGVpbmVtIGdld2lzc2VuIEdyYWQKYmVzY2hhZWZ0aWdlbiAoYXVjaCB3ZW5uIGRlciBSaXNpa29mYWt0b3IgaW4gU2FjaGVuIExlYmVuc3JldHR1bmcKZnVlciB2aWVsZSB6d2VpdHJhbmdpZyBzZWluIG1hZykuIFVuZCB6dW1pbmRlc3QgaWNoIHd1ZXJkZSBtaWNoCnVlYmVyIEFudHdvcnRlbiBhdWYgZGllc2UgRnJhZ2VuIGZyZXVlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogbm9jaCB3YXMuLi4gKEFuYXRvbCwgMTQuIEp1biAyMDAwLCAxNDo1OTo0Myk6Cn4jISBybj1BbmF0b2wgcnQ9OTYwOTg3MDU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4Ck1pciBmbHVlc3RlcnRlIGViZW4gamVtYW5kICJ3d3cua25vY2hlbm1hcmtzcGVuZGUuZGUiIHp1LiBEYXMgaXN0Cnp3YXIgZWluIGJheXJpc2NoZXIgZS5WLiwgYWJlciB6dW1pbmRlc3Qgd2VyZGVuIGRvcnQgendlaSB2b24gZGVuCmRyZWllbiB2b24gbWlyIGF1ZmdlZnVlaHJ0ZW4gRnJhZ2VuICh1bmQgbm9jaCBlaW4gcGFhciBhbmRlcmUpIGJlYW50d29ydGV0LiAKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IG5vY2ggd2FzLi4uIChCcmFuZGlyLCAxNC4gSnVuIDIwMDAsIDE1OjE0OjI1KToKfiMhIHJuPUFuYXRvbCBydD05NjA5ODc1ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKQWxzbyBpY2gga2FubiBuaWNodHMgdWViZXIgS25vY2hlbm1hcmtyZWdlbmVyYXRpb24gc2FnZW4sIGFiZXIgRHUgYnJhdWNoc3QgRGlyCndlZ2VuIGRlciBWZXJlcmJ1bmdzbGluaWUga2VpbmUgU29yZ2VuIHp1IG1hY2hlbiwgYW4gZGVyIFZlcmFlbmRlcnQgc2ljaApuaWNodHMuIERlaW5lIFVya2VpbXplbGxlbiBzdGVoZW4gc2VpdCBkZXIgR2VidXJ0IGZlc3QgdW5kIGFsbGVzIHdhcyBEdSBzbyBhbgpGb3J0cGZsYW56dW5nc21hdGVyaWFsIChhdWYgbm9ybWFsZW0gV2VnZSkgdm9uIERpciBnaWJzdCwgd2lyZCBhdXMgZGllc2VuClVya2VpbXplbGxlbiBnZWJpbGRldC4gRGFzIGlzdCBhdWNoIGRlciBHcnVuZCB3ZXNoYWxiIGRkZXIgT25rZWwgRG9rdG9yIERpcgpiZWltIFJvZW50Z2VuIGltbWVyIHNvIGVpbmUgc2NoaWNrZSBCbGVpdW50ZXJob3NlIGFuemllaHQsIChuaWNodCB3ZWlsIGVyIG5lbgpGZXRpc2NoIGhhdCA6KSkgZGVubiB3ZW5uIGRpZXNlIFVya2VpbXplbGxlbiBlaW5tYWwgZ2VzY2hhZWRpZ3Qgc2ljaCAoei5iLgpSb2VudGdlbnN0cmFobHVuZykgaXN0IGVzIHZvcmJlaSwgZGllIHdlcmRlbiAgbmljaHQgbmV1IGdlYmlsZGV0IG9kZXIKUmVnZW5lcmllcnQgb2RlciBzb25zdHdhcy4KQmVpIEZyYXVlbiBzaWVodCBlcyBhZWhubGljaCBhdXMsIGFsbGUgRWl6ZWxsZW4gbGllZ2VuIHZvbiBBbmZhbmcgYW4sIHNjaG9uCnZvciBkZXIgR2VidXJ0IHZvciAoY2EuIDQwMDAwMCBGb2xpa2VsKSB1bmQgcmVpZmVuIGVyc3QgbmFjaCB1bmQgbmFjaCBoZXJhbgoobGV0enRlbmRsaWNoIG51ciBlaW4gcGFhciBodW5kZXJ0KS4gQXVjaCBkYSBrYW5uIG5hY2h0cmFlZ2xpY2ggbmljaHQgZWluZmFjaAptYWwgZWJlbiBmcmVtZGVzIGdlbmV0aXNjaGVzIE1hdGVyaWFsIGVpbmdlYnJhY2h0IHdlcmRlbi4KCkJyYW5kaXIgLSBob2ZmdCB3ZW5pZ3N0ZW5zIGRpZXNlIFNvcmdlbiB6ZXJzdHJldXQgaGFiZW4genUga29lbm5lbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IG5vY2ggd2FzLi4uIChIb29kLCAxNC4gSnVuIDIwMDAsIDE1OjE2OjQ1KToKfiMhIHJuPUJyYW5kaXIgcnQ9OTYwOTg4NDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4CmVpbmUgdW5rb250cm9sbGllcnRlIHZlcm1laHJ1bmcgdm9uIGFuYXRvbHMgd3VlcmRlIHNpY2ggamEgd29obCBhdWNoCnZlcmhlZXJlbmQgYXVmIHVuc2VyIGdlc2VsbHNjaGFmdHNiaWxkIGF1c3dpcmtlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IG5vY2ggd2FzLi4uIChHcmltbWJvcm4sIDE0LiBKdW4gMjAwMCwgMTU6MjM6MTUpOgp+IyEgcm49SG9vZCBydD05NjA5ODg2MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKVmVyc3RlaGUgaWNoIGRhcyByaWNodGlnOiBFaW5lIFZlcm1laHJ1bmcgdm9uIEFuYXRvbHMgd2FlcmUgdmVyaGVlcmVuZCwgaW0KR2VnZW5zYXR6IHp1ciBMZXVrYWVtaWUgYW5kZXJlciBMZXV0ZSAoZGllIGRhbWl0IGphIHF1YXNpIGVpbiBTZWdlbiB3YWVyZSk/ClB1aCwgdW5kIGljaCBkYWNodGUgZWlnZW50bGljaCwgZGFzcyBpY2ggc2Nob24genUgZ2VzY2htYWNrbG9zZW4gS29tbWVudGFyZW4KbmVpZ2VuIHd1ZXJkZS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogbm9jaCB3YXMuLi4gKEhvb2QsIDE0LiBKdW4gMjAwMCwgMTU6Mjc6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk2MDk4ODk5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OApqYSwgaWNoIGhhdHRlIGF1Y2ggc2Nob24gdWViZXJsZWd0LCBvYiBkYXMgbnVuIHBvbGl0aXNjaCBrb3JyZWt0IHNlaSwKYWJlciBkYXNzcyBnZXJhZGUgZHUgZnVlciBzZWxiaWdlIGdlc2VsbHNjaGFmdHNtb2RlIGluIGRpZSBicmVzY2hlCnNwcmluZ3N0LCB3YXIgZXMgYWxzIGVybGVibmlzIGRhbm4gZG9jaCB3ZXJ0CnZpZWwgd2ljaHRpZ2VyIGFscyBoZXVjaGxlcmlzY2hlcyB0b2RzdGVsbGVuIHVuZCBiZXRyb2ZmZW5oZWl0c3R1biBpc3QKd2lya2xpY2hlciBha3Rpb25pc211cywgdW5kIHp1bWluZGVzdCBoaWVyYmVpIGhhYiBpY2gga2VpbiBzY2hsZWNodGVzCmdld2lzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbm9jaCB3YXMuLi4gKExhcmFuaXMsIDE0LiBKdW4gMjAwMCwgMTU6MzQ6MDUpOgp+IyEgcm49SG9vZCBydD05NjA5ODY3NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKU293ZWl0IGljaCB3ZWlzcyBtdXNzIGhldXRlIGtlaW5lciBtZWhyIGZ1ZXIgZWluZSBLbm9jaGVubWFya3NwZW5kZSBtZWhyZXJlClRhZ2UgaW5zIEtyYW5rZW5oYXVzLCB1bmQgVm9sbG5hcmtvc2UgYmVrb21tdCBtYW4gZGFiZWkgYXVjaCBuaWNodCBtZWhyLCBkZWluZQpJbmZvcyBzaW5kIGV0d2FzIHZlcmFsdGV0IEhvb2QuCk5hY2ggbWVpbmVtIGxldHp0ZW4gV2lzc2Vuc3RhbmQsIGdpYnQgZXMgaGV1dGUgZGllIE1vZWdsaWNoa2VpdCBkaWUgZnVlciBkaWUKU3BlbmRlIGJlbm9ldGlndGVuIFN0YW1temVsbGVuIGF1cyBkZW0gQmx1dCB6dSBmaWx0ZXJuLCBzbyBkYXNzIG5vY2ggbmljaHQgbWFsCm1laHIgZWluIEtub2NoZW4gYW5nZWJvaHJ0IHdlcmRlbiBtdXNzLiBVbmQgZGVzaGFsYiBkZW5rZSBpY2gsIGRhc3MgaGV1dHp1dGFnZQpkZXIgIkFuZ3N0ZmFrdG9yIiBrZWluIFJvbGxlIG1laHIgc3BpZWxlbiBzb2xsdGUuCgpMYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBub2NoIHdhcy4uLiAoSG9vZCwgMTQuIEp1biAyMDAwLCAxNTozNzo0Nyk6Cn4jISBybj1MYXJhbmlzIHJ0PTk2MDk4OTY0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MDkwNzc4OAphbHNvIGRlciBlaW5lIGFuZ2VnZWJlbmUgdGFnIGluIG5rb2NoZW5tYXJrc3BlbmRlLmRlIGlzdCBzZWhyIHNlaHIKb3B0aW1pc3Rpc2NoLCAyIGJpcyAzIHRhZ2Uga2FubiBtYW4gcmVjaG5lbiwgZGFzIGlzdCBuaWNodCB2ZXJhbHRldC4KYmVpIGVpbmVyIGtub2NoZW5rYXJrc3BlbmRlIGdhYnMgenVtaW5kZXN0IGZydWVoZXIgaW1tZXIgdm9sbG5hcmtvc2UsIHdpZQpkYXMgamV0enQgaXN0IHdlaXNzIGljaCBuaWNodCBnZW5hdSwgYWJlciBkYSBkaWUgZ2VmYWhyIGVpbmVyCmFsbGVyZ2lzY2hlbiByZWFrdGlvbiBvZGVyIGVpbmVzIGhhZW1hdG9tcyBiZWkgZGVyIGVudG5haG1lIGJlc3RlaGVuLAprYW5uIGljaCBtaXIgZWhybGljaCBuaWNodCB2b3JzdGVsbGVuLCBkYXNzIGRhcyBnZWFlbmRlcnQgd3VyZGUuCmRhcyBtaXQgZGVtIGJsdXQgaXN0IGJla2FubnQsIGFsbGVyZGluZ3MgZGFyZnN0ZSBkYWZ1ZXIgZWluaWdlIHdvY2hlbgptZWRpa2FtZW50ZSBzY2hsdWNrZW4sIGRlcmVuIGt1cnp6ZWl0d2lya3VuZyBzZWhyIHVuYW5nZW5laG0gdW5kIGRlcmVuCmxhbmd6ZWl0d2lya3VuZyB3ZWl0Z2VoZW5kIHVuYmVrYW5udCBpc3QuLi5kYW5uIGRvY2ggbGllYmVyIGF1ZgpoZXJrb2VtbWxpY2hlbiB3ZWcsIG9kZXI/IGthbm4gamEgamVkZXIgc2VsYnN0IGVudHNjaGVpZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbm9jaCB3YXMuLi4gKEFwc3UsIDE0LiBKdW4gMjAwMCwgMTU6NTA6NTQpOgp+IyEgcm49QnJhbmRpciBydD05NjA5NzI1MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKQW4gZGVyIE1haW56ZXIgVW5pa2xpbmlrIGtvc3RldHMgbnVsbC4KCkFwc3UsIHNlaXQgNSBKYWhyZW4gdHlwaXNpZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBub2NoIHdhcy4uLiAoVmFuaW9uLCAxNC4gSnVuIDIwMDAsIDE2OjQ1OjIzKToKfiMhIHJuPUJyYW5kaXIgcnQ9OTYwOTcyNTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4ClNvd2VpdCBpY2ggZGFzIHZlcnN0YW5kZW4gaGFiZSwgc29sbHRlIGVzIGJlaSBkZXIgREtNUyBuaWNodHMga29zdGVuLiBNYW4KX2thbm5fIGFiZXIgZHVyY2hhdXMgU3BlbmRlbiwgdW0gc2VpbmUgZWlnZW5lIFR5cGlzaWVydW5nIGJ6dywgZGllIGFuZGVyZXIgenUKZmluYW56aWVyZW4uCgoKVmFuaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBub2NoIHdhcy4uLiAoR3JpbW1ib3JuLCAxNC4gSnVuIDIwMDAsIDE2OjQ3OjU4KToKfiMhIHJuPVZhbmlvbiBydD05NjA5OTM5MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKS2xhciBrb3N0ZXQgZXMgbmljaHRzLiBEaWUgZ2FuemVuIGJldGVpbGlndGVuIEFlcnp0ZSBhcmJlaXRlbiBlaHJlbmFtdGxpY2gsCmRpZSBMYWJvcmUgZWJlbmZhbGxzLCB1bmQgZGllIGJlbm9ldGlndGVuIFJlYWdlbnppZW4gdW5kIEFwcGFyYXRlIHNpbmQKZWJlbmZhbGxzIFNwZW5kZW4uIElOc29mZXJuIGVudHN0ZWh0IG5hdHVlcmxpY2gga2VpbiBTY2hhZGVuLCB3ZW5uIG1hbiBzaWNoCnR5cGlzaWVyZW4gbGFlc3N0LCBhYmVyIGdlbmVyZWxsIHp1IGVpbmVyIFNwZW5kZSBuaWNodCBiZXJlaXQgaXN0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LCBrb3Bmc2NodWV0dGVsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG5vY2ggd2FzLi4uIChQYWRyZWljLCAxNC4gSnVuIDIwMDAsIDE2OjUzOjQzKToKfiMhIHJuPUhvb2QgcnQ9OTYwOTk0MjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwOTA3Nzg4CkljaCBtdXNzIHNhZ2VuIGVzIGlzIGRvY2ggaW1tZXIgd2llZGVyIHVlYmVycmFzY2hlbmQgd2llIGVzIGRvY2ggZ2VsaW5ndAp3aXJrbGljaCBfamVkZXNfIFRoZW1hIHRvdHp1ZGlza3V0aWVyZW4uIEFwbyogaGF0IGFuIGplZGVuIGFwcGVsbGllcnQgaW4gc2ljaAp6dSBnZWhuIHVuZCBmdWVyIHNpY2ggenUgZW50c2NoZWlkZW4gb2IgZXIgZGllc2VuIFNjaHJpdHQgdHVuIHdpbGwgb2RlciBuaWNodCwKYWxsZSBJbmZvcyB3aWUgV2Vic2VpdGVuIHNpbmQgaW56d2lzY2hlbiBhdWNoIGhpZXIuIE11c3MgaGllciB3aXJrbGljaCBfYWxsZXNfCnRvZGdlcmVkZXQgd2VyZGVuPwoKUGFkcmVpYywgemllbWxpY2ggZ2VuZXJ2dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCB3YXMuLi4gKFNwaXJpbGwsIDE2LiBKdW4gMjAwMCwgMjM6MzE6MDkpOgp+IyEgcm49SG9vZCBydD05NjA5MTM5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjA5MDc3ODgKVW50ZXJncnVwcGVuIGd1dCB1bmQgc2Nob2VuLCBvaG5lIEhMQS1UeXBpc2llcml1bmcgZ2VodCBkYSBlaCBuaXguCktub2NoZW5tYXJrc3NwZW5kZW4gc2luZCB6aWVtbGljaCBlbXBmbGluZGxpY2guClNwaXJpbGwsIHNjaG9uIHR5cGlzaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlZnJpZXJnZWt1ZWhsdCB1bmJlZ3Jlbnp0IGhhbHRiYXI/IChBdG96LCAyMS4gSnVuIDIwMDAsIDE1OjQ3OjQ3KToKSGkgTGV1dGUsCgppY2ggc3VjaGUgSW5mb3MgenVtIFRoZW1hOiBFaW5mcmllcmVuIG5hY2ggZGVtIFRvZC4gCkhhdXB0c2FlY2hsaWNoIGdlaHQgZXMgbWlyIHVtIHRlY2huaXNjaGUgRnJhZ2VuOiBEYXMgaGVpc3N0LCB3aWUgc2llaHQgc28gZWluClRhbmsgaW4gZXR3YSBhdXMsIHdpZSBncm9zcyBpc3QgZXIsIHdpZSBnZW5hdSBmdW56dCBlciwgd2llIGdlaHQgZGVyCmVpZ2VudGxpY2hlIEVpbmZyaWVycHJvemVzcyB2b24gc3RhdHRlbiB1bmQgd2FzIHdpcmQgYWxzIEt1ZWhsdW5nIGJlbnV0enQuIEFjaApqYSwgdW5kIHdpZSB2ZXJoaW5kZXJuIGRpZSwgZGFzIEdlZnJpZXJicmFuZCBhbiBkZXIgSGF1dCBlbnRzdGVodCB1c3cgdXN3LgpXZWlzcyBqZW1hbmQsIHdvIGljaCBkYSBldHdhcyBoZXJrcmllZ2VuIGthbm4/CgpEYW5rZSBpbSBWb3JhdXMgLSBBdG9aClBTOiBOZWluLCBlcyBpc3QgbmljaHQgZnVlciBtaWNoLCBkYW5rZSBkZXIgTmFjaGZyYWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2Vmcmllcmdla3VlaGx0IHVuYmVncmVuenQgaGFsdGJhcj8gKEdvciwgMjEuIEp1biAyMDAwLCAxNjowMDo1OCk6Cn4jISBybj1BdG96IHJ0PTk2MTU5NTI2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MTU5NTI2NwpEYXMgUHJvYmxlbSBsaWVndCBnYW56IHdvIGFuZGVycy4gTGVpZGVyIGdpYnQgZXMgenVyIFplaXQgbm9jaCBrZWluZQpNb2VnbGljaGtlaXQgdW0gZ3JvZXNzZXJlIE1hc3NlbiBpbiBkZXIgZXJmb3JkZXJsaWNoZW4gR2VzY2h3aW5kaWtlaXQKZWluenVmcmllcmVuLiBEZXIgZ2FuemUgUHJvemVzcyBtdXNzIGluIGVpbmVtIEJydWNodGVpbCBlaW5lciBTZWt1bmRlCmFiZ2VzY2hsb3NzZW4gc2VpbiwgZGEgc29uc3QgZGFzIEdld2ViZSB6ZXJzdG9lcnQgd2lyZC4gV2VubiBtYW4gbmljaHQgc2NobmVsbApnZW51ZyBlaW5mcmllcnQgYmlsZGVuIHNpY2ggRWlza3Jpc3RhbGxlIGFlaG5saWNoIGRlbmVuLCBkaWUgZHUgaW0gV2ludGVyCmJld3VuZGVybiBrYW5uc3QuIERpZXNlIEtyaXN0YWxsZSAnc3ByZW5nZW4nIGRhbm4gc296dXNhZ2VuIGRhcyBHZXdlYmUgYXVmLgpTcHJpY2ggc2VsYnN0IHdlbm4gZXMgZGVuZW4gZWluZXMgVGFnZXMgZ2VsaW5nZW4gd2lyZCBkaWNoIHdpZWRlcgpnZW5hdXNvc2NobmVsbCBhdWZ6dXRhdWVuLCBvaG5lIGRpY2ggenUga29jaGVuLCB3aXJkIGRlaW4gS29lcnBlciBuaWNodCBtZWhyCmxlYndlbnNmYWVoaWcgc2VpbiwgZGEgZXIgc296dXNhZ2VuICdleHBsb2RpZXJ0JyBpc3QuCgpHb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2Vmcmllcmdla3VlaGx0IHVuYmVncmVuenQgaGFsdGJhcj8gKEdsb2luLCAyMS4gSnVuIDIwMDAsIDE2OjU3OjE1KToKfiMhIHJuPUdvciBydD05NjE1OTYwNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjE1OTUyNjcKQWNod2FzIEdld2ViZSA6KSBEaWUgbWVpc3RlbiBHZWZyaWVyZ2V0cm9ja25ldGVuIGhhdHRlbiBzY2hvbiB2b3JoZXIgZWluZQpyZWljaGxpY2hlIE1hdHNjaGJpcm5lLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWZyaWVyZ2VrdWVobHQgdW5iZWdyZW56dCBoYWx0YmFyPyAoSGFzaW0sIDIxLiBKdW4gMjAwMCwgMTc6MTU6NDgpOgp+IyEgcm49QXRveiBydD05NjE1OTUyNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjE1OTUyNjcKQWxzbyBtaXQgTWVsaXR0YSBnaWJ0cyBrZWluZW4gR2VmcmllcmJyYW5kCjspIEhhc2ltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm90b2tvbGwgZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkZXMgTUcgZS5WLiAoVmlwZXIsIDI1LiBKdW4gMjAwMCwgMTk6NDI6MjgpOgpIYWxsbyBMZXV0ZSwKCmluIGRlciBWZXJlaW5zcnVicmlrIHVuZCBhdWYgZGVuIFdXVy1TZWl0ZW4gZGVzIFZlcmVpbnMga29lbm50IElociBhYiBzb2ZvcnQKZGFzIFByb3Rva29sbCBkZXIgTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlcyBNRy1WZXJlaW5zIG5hY2hsZXNlbi4KClZpZWwgU3Bhc3MgZGFiZWkhCgoKVmlwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYnJpZWYgKEx5cmEsIDI4LiBKdW4gMjAwMCwgMTY6Mzk6MTQpOgp+IyEgcm49Q29yYWsgcnQ9OTYyMjAzMDE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYwNTM3NzE5CmEKYQphCmEKCkx5cmEgc2NocmVpYnQgbWVociBhbHMgZWluZSBaZWlsZSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG9lbmUgR3J1ZXNzZSAoR2FzdDEsIDI5LiBKdW4gMjAwMCwgMTc6MDE6MzcpOgpIYWxsbyBpaHIgTW9yZ2VuZ3JhdWxlcihpbm5lbiksCgppY2ggaGF0dGUgaGV1dGUgZGllIEVocmUsIE1haGF0bWEgenUgc2VpbmVtIDI2LiBHZWJ1cnRzdGFnIGVpbmVuIEJsdW1lbnN0cmF1c3MKdm9uIEV1Y2ggdWViZXJicmluZ2VuIHp1IGtvZW5uZW4uIEljaCBiZWRhbmtlIG1pY2ggbm9jaCBlaW5tYWwgaGVyemxpY2ggZnVlcgpkaWUgU3BlbmRlbmJlcmVpdHNjaGFmdCB1bmQgZGllIEFudGVpbG5haG1lLgpEYW5rZW4gc29sbCBpY2ggYXVjaCBpbSBOYW1lbiBkZXIgRmFtaWxpZSwgZC5oLiBzZWluZXIga2xlaW5lbiBTY2h3ZXN0ZXIsIGRpZQptaWNoIHp1bSBHcmFiIGJlZ2xlaXRldCBoYXQuClVuZCBsYXN0IGJ1dCBub3QgbGVhc3QgaGFiIGljaCBNYWhhdG1hIHNjaG9lbmUgR3J1ZXNzZSB2b24gRXVjaCBhdXNnZXJpY2h0ZXQKdW5kIHNvbGwgRXVjaCB6dXJ1ZWNrIGdydWVzc2VuIHVuZCBldWNoIGF1c3JpY2h0ZW4sIGRhc3MgaWhyIGRpZSBIeWRyYSBtYWwKd2llZGVyIGJlc2NoYWVmdGlnZW4gc29sbHQuIE9kZXIgc28sIGFlaG0uIDopCgptZmcsIGkuQS4gTGFyZ28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJQ1EgKEhlbHZhLCAzMC4gSnVuIDIwMDAsIDIzOjE4OjUyKToKWnVtIG1pdGxlaWRlbi4uLndpZSBhdWNoIGltbWVyLi4uCkVpbmUgRnJldW5kaW4gbW9lY2h0ZSwgZGFzcyBpY2ggSUNRIG1hY2hlIC4gRGEgaWNoIHNjaG9uIGluIGlocmVtCmh5b3BlcmFuc3BydWNoc3ZvbGxlbiBjaGF0IG1pdCBtZWluZW0ga2xlaW5lbiBSZWNobmVyIG5pY2h0IGtsYXJrb21tZS4gU2llCm5lbm50IG1pciBob21lcGFnZXMKZGllIGVyc3RlOiBlaW5lIHByaXZhdGUsIHNlaHIgaW50ZXJlc3NhbnQgKmdhZWhuKiB1bnMga2VpbiBJQ1EKZGllIHp3ZWl0ZTogRWluZSB2b24gZGVuZW4sIGRpZSBhbmdlYmxpY2ggYWxsZSBNYWVubmVyIGFuc2NoZXVlbiAqZyosCnJpY2h0aWc6S2VpbiBJQ1EKT2ssIHZlcnN1Y2hlbiB3aXJzIG1hbCBtaXQgSUNRLmNvbSwgamF1LCByaWNodGlnIGdlcmF0ZW4uCldhcnVtIGljaCB1ZWJlciBDTkVUIGRvd25sb2FkZW4gc29sbCwgd2Vpc3MgaWNoIHp3YXIgbmljaHQsIGFiZXIgbWFjaGUKbWl0Li4uZGF1ZXJ0IGFqIG51ciBFd2lna2VpdGVuLi4uCgpEYSBtZWxkZXQgc2ljaCBtZWluIE5DU21hcnRVcGRhdGUsIGxlaWNodHNpbm5pZ2Vyd2Vpc2UgbGV0enRlbnMgYmVpbQpSdW50ZXJsYWRlbiBkZXMgbmV1ZW4gTkMgaW5zdGFsbGllcnQuLi5zY2hvZW4gIGRlbmtlIGljaCwgYWJlciBkYToKRWluZSBQYXNzd29ydCB1bmQgQmVudXR6ZXJrZW5udW5nQWJmcmFnZSEKV2FzIHNvbGwgaWNoIGRlbm4gZGEgbnVyIGVpbmdlYmVuPyBlbWFpbGFkcmVzc2U/IE1FaW5lIEVpbmxvZ2drZW5udW5nPwpBbnNjaGVpbmVuZCBpcmdlbmRldHdhcyBhbmRlcmVzLiAKRGFzIE5DIEJlbnV0emVycHJvZmlsIGlzdCBlcyB3b2hsIGF1Y2ggbmljaHQuCk5hIGphLiBEQW5uIGhhbHQgbmljaHQuClZpZWxsZWljaHQgdmVyc3VjaGUgaWNoIGVzIGRlbW5hZWNoc3Qgd2llZGVyIG9obmUgYnVudGUgQmlsZGNoZW4uClZlaWxsZWljaHQga2FubiBpY2ggbWVpbmUgRnJldW5kaW4gamEgZG9jaCBub2NoIHp1IElSQyB1ZWJlcnJlZGVuLgpWaWVsbGVpY2h0IGF1Y2ggenVtIE1HLgpNYWwgc2Vobi4KU2Nob2VuZXMgV0UgLSBIZWx2YSB0cmFlbGxlcnQgbnVuIHdpZWRlciBmcm9laGxpY2ggOykKUC5TLiBUeXBvcyBlbiBtYXNzZSwgd2VpbCBudXIgc2NobGVjaHRlIEtvcnJla3R1cm1vZWdsaWNoa2VpdCwgc29ycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJQ1EgKFRhcmFnb24sICAxLiBKdWwgMjAwMCwgMTI6MDk6MzIpOgp+IyEgcm49SGVsdmEgcnQ9OTYyMzk5OTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYyMzk5OTMyCkd1dGVyIFJhdDogdWViZXJyZWRlIHNpZSB6dSB3ZWJjaGF0IGF1ZiB3d3cud2ViLmRlIC4uLiBkZXIgaXN0IG5hZW1saWNoIElSQwpiYXNpZXJ0LCB1bmQgZHUga2FubnN0IGRhbm4gZ2VtdWV0bGljaCB1ZWJlciBJUkMgbWl0IGlociBjaGF0dGVuIHVuZCBzaWUga2FubgpjbGlja2lidW50aSBiZW51dHplbiA6LSkKTWFjaGUgaWNoIGF1Y2ggbWl0IGVpbiBwYWFyIGJla2FubnRlbiBkaWUga2VpbmUgbHVzdCBvZGVyIGtlaW5lIGFobnVuZyBhdWYvdm9uCmlyYyBoYWJlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJQ1EgKEhpZ2h0LCAgMS4gSnVsIDIwMDAsIDE1OjM5OjE0KToKfiMhIHJuPUhlbHZhIHJ0PTk2MjM5OTkzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2MjM5OTkzMgpvZWhtIGJsb2VkZSBnZXNjaGljaHRlIHVtcyBhbnp1bWVya2VuIC4uLiAKYWJiYSBlaWdlbnRsaWNoIHd1ZXJkZSBtaWNoIGRlciBncnVkIHdlc2hhbGIgZHUgdW5zIGRhcmFuIHRlaWxoYWJlbiBsYWVzc3QKdmllbCBtZWhyIGludGVyZXNlaWVybiAKCmhpZ2h0IHNpY2ggYW0ga29wZiBrcmF0emVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3J1ZXNzZSBhdXMgS3JldGEgKFJpa3VzLCAgMi4gSnVsIDIwMDAsIDIyOjA4OjE1KToKSGFsbG8gQWxsZXJzZWl0cyEKS2FydG9mZmVsIHVuZCBUaWdlcmF1Z2UgYmF0ZW4gbWljaCwgRXVjaCBzY2hvZW5lIEdydWVzc2UgYXVzenVyaWNodGVuLgpTaWUgbWFjaGVuIGdyYWRlIFVybGF1YiBhdWYgS3JldGEuCgpjdSwgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSUNRIChSYXJkaWFuLCAgMi4gSnVsIDIwMDAsIDIzOjA0OjQwKToKfiMhIHJuPVRhcmFnb24gcnQ9OTYyNDQ2MTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYyMzk5OTMyCkhtLi4uIGljaCBkYWNodGUgaW1tZXIsIElSQyB1bmQgSUNRIHdhZXJlbiBncnVuZHZlcnNjaGllZGVuZSBTYWNoZW4uLi4KClJhciwga3JhdHp0IHNpY2ggYXVjaCBhbSBLb3BwLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJQ1EgKFRhcmFnb24sICAyLiBKdWwgMjAwMCwgMjM6MTE6MzIpOgp+IyEgcm49SGlnaHQgcnQ9OTYyNDU4NzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYyMzk5OTMyCkdlbmF1IGRlc3dlZ2VuLi4uIGRhbm4gYnJhdWNodCBkZXIgYWVybXN0ZSBzaWNoIG5pY2h0IG1pdCBJQ0t1aCBhYnp1bXVlaGVuLApzb25kZXJuIGthbm4gd2VpdGVyaGluIGlyYyBiZW51dHplbiB3ZW5uIGVyIGVzIHNjaGFmZnQgc2llIHp1IHVlYmVycmVkZW4gSVJDCnp1IGJlbnV0emVuIDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcnVlc3NlIGF1cyBLcmV0YSAoRGVlcGJsdWUsICAzLiBKdWwgMjAwMCwgMDk6Mzk6MzgpOgp+IyEgcm49UmlrdXMgcnQ9OTYyNTY4NDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYyNTY4NDk1ClNlaXQgd2FubiBnaWJ0IGVzIGF1ZiBLcmV0YSBLYXJ0b2ZmZWxuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcnVlc3NlIGF1cyBLcmV0YSAoSGFzaW0sICA0LiBKdWwgMjAwMCwgMjI6MDA6NTIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9OTYyNjA5OTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYyNTY4NDk1CldhaHJzY2hlaW5saWNoIHNlaXQgZGVtIDE5LiBKYWhyaHVuZGVydCwgZGFzIHdhciBkb2NoIHNvIGRpZSBaZWl0LCB3byBkaWUKS2FydG9mZmVsIGluIGV1cm9wYSBOYWhydW5nc21pdHRlbCB3dXJkZSwgb2RlciB3YXJzIHNjaG9uIGltIDE4Li4uIE1hbm4sIGJpbgppY2ggYWx0IDspCkhhc2ltLCBhbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDcmFzaCB1bmQgUmVib290IChQcmEsICA2LiBKdWwgMjAwMCwgMTg6NTA6NTApOgpbQmV6dWc6IEFydGlrZWwgMTUgaW4gUnVicmlrIGJla2FubnRtYWNodW5nZW4gdm9uIFRpYW1ha10gCgpXZXIgaXN0IGRlbm4gamV0enQgZGllc2VyICd1bmFjaHRzYW1lIE1hZ2llcic/CkltbWVyIGRpZXNlIHZhZ2VuIEhpbndlaXNlLi4uCgpQcmEuIFdpbGwgTmFtZW4uIFdpbGwgQmx1dCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGFjaHQgISEhISAoVGhhbm9zLCAgOS4gSnVsIDIwMDAsIDIyOjUwOjQ1KToKRHUgc2NobGFlZ3N0IGRlbiBCcnVkZXIgZGVzIFNjaHdlcnRtZWlzdGVycyBtaXQgZGVtIEtyYWNoZW4gYnJlY2hlbmRlcgpLbm9jaGVuLgpEZXIgQnJ1ZGVyIGRlcyBTY2h3ZXJ0bWVpc3RlcnMgZmFlbGx0IHRvdCB6dSBCb2Rlbi4KRWluZW0gQnJ1ZGVyIGRlcyBTY2h3ZXJ0bWVpc3RlcnMgZmFlbGx0IGt1cnogdm9ybSBUb2QgZGFzClNjaHdlcnRtZWlzdGVyc2Nod2VydCBhdXMgZGVyIEhhbmQgdW5kIGVpbmVuIFJhdW0gdGllZmVyLgpFaW4gQnJ1ZGVyIGRlcyBTY2h3ZXJ0bWVpc3RlcnMga29tbXQgYW4uCkVpbiBCcnVkZXIgZGVzIFNjaHdlcnRtZWlzdGVycyBzY2hsYWVndCBEaWNoIHBsb2V0emxpY2ggdW5kIHZvZWxsaWcgdW5lcndhcnRldAptaXQgZWluZW0gU2Nod2VydC4KRGVyIEJydWRlciBkZXMgU2Nod2VydG1laXN0ZXJzIHRyaWZmdCBEaWNoIHNlaHIgaGFydC4KCm9tYW1vcmkKTXVzcyBuaWNodCB3aXJrbGljaCBzZWluCgpUaGFub3MsIGdydW1tbGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoYWNodCAhISEhIChMaWFyYSwgIDkuIEp1bCAyMDAwLCAyMzoxNjoyNik6Cn4jISBybj1UaGFub3MgcnQ9OTYzMTc1ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzMTc1ODQ1Cldlbm4gRHUgZWluIFNtcyB3aWxsc3QsIG11c3N0ZSBlaCBnYW56IHJ1bnRlci4gRGEgaXN0IGVzIGRvY2ggdmllbCBiZXNzZXIsCmRhc3MgZGllIEF1c2JldXRlIGRvcHBlbHQgc28gaG9jaCBhdXNmYWVsbHQuIDotKQoKTGlhcmEsIFp3ZXJnZW56YXViZXJpbmUsIGhhZXR0ZSBkYXMgZ2VybmUgb2VmdGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSm9qbyAoRGFya3dpbmcsIDEyLiBKdWwgMjAwMCwgMjA6NTM6MTApOgp+IyEgcm49R2FzdDEgcnQ9OTYzNDI3NTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzNDI3NTQwCmhhbGxvIHNseSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR3J1ZXNzZSBhdXMgS3JldGEgKEx1ZywgMTcuIEp1bCAyMDAwLCAwMDo0MToxNik6Cn4jISBybj1IYXNpbSBydD05NjI3NDA4NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjI1Njg0OTUKClVuZnVnLAoKZGllIEthcnRvZmZlbCBpc3QgZWluZSB1cmdlcm1hbmlzY2hlIEZlbGRmcnVjaHQsIGRpZSBzY2hvbiBkZXIgYWx0ZQpnZXJtYW5pc2NoZSBSZWljaHNlcm5hZWhyZXIgaW4gZGVyIGhlaW1pc2NoZW4gU2Nob2xsZSB2ZXJncnViLiBBbGxlcyBBbmRlcmUKaXN0IHdlbHNjaGUgUHJvcGFnYW5kYS4uLgoKRXJuc3RoYWZ0aWdzdApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklDQU5OIChDYXR3ZWF6bGUsIDE5LiBKdWwgMjAwMCwgMDk6NDA6NTEpOgpGYWxscyBpaHIgZXMgbm9jaCBuaWNodCBzZWlkLCBtb2VjaHRlIGljaCBFdWNoIGVtcGZlaGxlbiBNaXRnbGllZCBiZWkgZGVyCklDQU5OIHp1IHdlcmRlbiAoaHR0cDovL21lbWJlcnMuaWNhbm4ub3JnL2pvaW5fbm93Lmh0bSkuIElDQU5OIGlzdCBkaWUKTmFjaGZvbGdlb3JnYW5pc2F0aW9uIGRlciBJQU5BLCBkZXIgSW5zdGl0aXR1dGlvbiBkaWUgYmlzaGVyIGZ1ZXIgZGllCk51bW1lcm52ZXJnYWJlIChJUC1BZGRyZXNzZW4sIFBvcnQtTnVtbWVybiwgRG9tYWlubmFtZW4sIGV0Yy4pIHp1c3RhZW5kaWcKd2FyLiBJQ0FOTiBzb2xsIGRlbW9rcmF0aXNjaCB2ZXJ3YWx0ZXQgd2VyZGVuIHVuZCB1bSBkYSBzdGltbXJlY2h0bGljaGVuCkVpbmZsdXNzIG5laG1lbiB6dSBrb2VubmVuIG11c3MgbWFuIE1pdGdsaWVkIHNlaW4uCgpBbm1lbGR1bmdlbiBzaW5kIG51ciBub2NoIGRpZXNlbiBNb25hdCBndWVsdGlnLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSUNBTk4gKENhdHdlYXpsZSwgMTkuIEp1bCAyMDAwLCAwOTo0Njo1OCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTYzOTkyNDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzOTkyNDUxCjooIDooIDooIDooIDooIDooCgpQRFQgaXN0IHVlYnJpZ2VucyBtaW51cyBzaWViZW4gU3R1bmRlbiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElDQU5OIChHdWlsZG8sIDIxLiBKdWwgMjAwMCwgMDc6NDc6NTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk2Mzk5MjgxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2Mzk5MjQ1MQo8a2x1Z3NjaGlzcz4KICBNaW51cyBfbmV1bl8uCjwva2x1Z3NjaGlzcz4KCkdydXNzLApHdWlsZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElDQU5OIChDYXR3ZWF6bGUsIDIxLiBKdWwgMjAwMCwgMDg6NDQ6MTMpOgp+IyEgcm49R3VpbGRvIHJ0PTk2NDE1ODQ3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2Mzk5MjQ1MQpJY2ggcmVjaG5lciBuYXR1ZXJsaWNoIGltbWVyIGluIEdNVCA6KQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJQ0FOTiAoUGlsZ3JpbSwgMjIuIEp1bCAyMDAwLCAxMjo1NjowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTYzOTkyNDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzOTkyNDUxCkhpLAoKPiBGYWxscyBpaHIgZXMgbm9jaCBuaWNodCBzZWlkLCBtb2VjaHRlIGljaCBFdWNoIGVtcGZlaGxlbiBNaXRnbGllZCBiZWkgZGVyCj4gSUNBTk4genUgd2VyZGVuIChodHRwOi8vbWVtYmVycy5pY2Fubi5vcmcvam9pbl9ub3cuaHRtKS4KbmFqYSwgc2VpdCBUYWdlbiBrb21tIGljaCBkYSBuaWNodCBkdXJjaCA6LSgKCkFiZXIgbWFsIHdhcyBhbmRlcmVzOiBXZW5uIG1hbiBNaXRnbGllZCBpc3QsIHNvbGwva2FubiBtYW4gamEgd29obCBlaW5lbiAoPz8/KQpkZXIgbmV1ZW4gRGlyZWt0b3JlbiB3YWVobGVuIC4uLiBhbSBiZXN0ZW4gYXVzIERldXRzY2hsYW5kIC4uLiB1bmQgd2VuCmJpdHRlc2Nob2VuIC4uLiBnaWJ0cyBkYSBpcmdlbmQgbmVuIGZhZWhpZ2VuIEthbmRpZGF0ZW4gLi4uIHdpbGwvd2lyZCBkaWUKT25saW5lL01VRCBHZW1laW5kZSBlaW5lbiBhdWZzdGVsbGVuCihuYXQuIGplbWFuZCBkZXIgQWhudW5nIHZvbSBOZXR6dCBoYXQgdW5kIG5pY2h0IE5VUiB2b20gU3BpZWxlbiA7LSkpIC4uLiBvZGVyCndpZSBvZGVyIHdhcz8KCkRlbm4gbWl0ICdudXIgTWl0Z2xpZWQgd2VyZGVuJyBpc3QgamEgbm9jaCBrZWluZW0gZ2Vob2xmZW4sIG9kZXIgPwoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJQ0FOTiAoR2xvaW5zb24sIDIyLiBKdWwgMjAwMCwgMTM6NDI6NTEpOgp+IyEgcm49UGlsZ3JpbSBydD05NjQyNjMzNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjM5OTI0NTEKQ2F0d2VhemxlIGZvciBJbnRlcm5ldC1TaGVyaWZmIQoKR2xvaW4oc29uKSBzY2h3ZW5rdCBlaW4gZ2VsYmVzIEZhZWhuY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSUNBTk4gKFBpbGdyaW0sIDIyLiBKdWwgMjAwMCwgMTQ6Mjk6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTY0MjY2MTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzOTkyNDUxCkFlaGgsCgpzY2hyaWViIGljaCBuaWNodCAnamVtYW5kLCBkZXIgQWhudW5nJyBoYXQgOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIHBhc3N3b3J0IChCYW1iaSwgMjUuIEp1bCAyMDAwLCAxMzoxNDozNyk6CkhpLgpTZWl0IGRlciBFaW5sb2dnYWVuZGVydW5nIGthbm4gaWNoLCB3ZW5uIGljaCBtaWNoIHVlYmVyIHRmIGVpbmxvZ2dlLCBtZWluCnBhc3N3b3J0IGxlc2VuLgpJY2ggd2Vpc3MsIGRhc3MgaWNoIGRhcyBtaXQgZGVyIHJpY2h0aWdlbiB3b3JsZCB1bWdlaGVuIGthbm4uCkVya2xhZXJ0IG1pciBhYmVyIGJpdHRlIGplbWFuZCwgd2llIGljaCBlaW5lIHdvcmxkIGJlbnV0emUsIHdlbm4gaWNoIG1pY2ggZXJzdAphdWYgZWluZW4gYW5kZXJlbiByZWNobmVyIGVpbmxvZ2dlbiBtdXNzLCB1bSBpbnMgd2ViIHp1IGtvbW1lbj8KRnVlciBIaW53ZWlzZSB3YWVyIGljaCBzZWhyIGRhbmtiYXIuLi4gOikKQmFtYmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCBwYXNzd29ydCAoVGlhbWFrLCAyNi4gSnVsIDIwMDAsIDAwOjIzOjQ4KToKfiMhIHJuPUJhbWJpIHJ0PTk2NDUyMzY3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NDUyMzY3NwpVbSBEZWluZSBGcmFnZSB6dSBiZWFudHdvcnRlbjogIi9oZWxwIHByb3h5Ii4KCkFiZXIgZGFzIG1pdCBkZW0gc2ljaHRiYXJlbiBQYXNzd29ydCBtdXNzdCBEdSBtaXIgbm9jaCBnZW5hdWVyIGVya2xhZXJlbi4gV2llCmxvZ2dzdCBEdSBEaWNoIGdlbmF1IGVpbj8KCkFuIGRlciBQYXNzd29ydC1BYmZyYWdlIHd1cmRlIG5hZW1saWNoIG5pY2h0cyBnZWFlbmRlcnQuIERhcyB3ZWlzcyBpY2gKenVmYWVsbGlnIGF1cyBzaWNoZXJlciBRdWVsbGUuIDstKQoKClRpYW1hay4gS2FubiBkYXMgUGhhZW5vbWVuIG5pY2h0IHJlcHJvZHV6aWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZWhsZXIgKFN3b29wLCAyNi4gSnVsIDIwMDAsIDAxOjQ2OjUwKToKSG1tbW0uIERhIHd1cmRlIGRvY2ggbmV1bGljaCBkZXIgRmVobGVyIG1pdCAid2VocnQgeHh4IGFiIiBiZWhvYmVuPwpXYXIgZGFzIHZvciBvZGVyIG5hY2ggZGVtIFJlYm9vdD8gV2VubiB2b3IgZGVtIFJlYm9vdCwgZGFubiB3YXIgZXMKd29obCBuaWNodCBhbGxnZW1laW4gZ2VudWc6Cgo+IGZyYWdlIHByaWVzdGVyIG5hY2ggcmluZwpEZXIgT3JrcHJpZXN0ZXIgc2FndDogRGFua2UsIER1IGhhc3QgbWlyIG1laW5lbiBSaW5nIHp1cnVlY2tnZWJyYWNodC4gRGFmdWVyCkRlciBPcmtwcmllc3RlciBzYWd0OiBiZWtvbW1zdCBEdSBlaW5lIEJlbG9obnVuZyB2b24gbWlyLiAKRGVyIE9ya3ByaWVzdGVyIGdpYnQgRGlyIGVpbmUgUGhpb2xlIG1pdCBXZWlod2Fzc2VyLgoKRGVyIE9ya3ByaWVzdGVyIHNhZ3Q6IERhbWl0IGthbm5zdCBEdSBEaWNoIGhlaWxlbiwgb2RlciB2ZXJmbHVjaHRlIFNhY2hlbgpEZXIgT3JrcHJpZXN0ZXIgc2FndDogJ2VudGZsdWNoZW4nLiBTbywgZGFtaXQgYXVjaCBhbGxlIGFuZGVyZW4gU3Bhc3MgYW4KRGVyIE9ya3ByaWVzdGVyIHNhZ3Q6IGRpZXNlciBBdWZnYWJlIGhhYmVuLCBiaXR0ZSBpY2ggRGljaCwgZGVtIFNjaG9lcGZlciBkaWUKRGVyIE9ya3ByaWVzdGVyIHNhZ3Q6IFBvc3QgenVydWVjayB6dSBzY2hpY2tlbiwgZGllIER1IGJla29tbWVuIHdpcnN0LgpPcmt0b2V0ZXIgd2VocnQgImZyYWdlIiBhYi4KW0FiZW50ZXVlcjo8UXVlc3Q+XSBTd29vcCBoYXQgZ2VyYWRlIGVpbiBBYmVudGV1ZXIgYmVzdGFuZGVuOiBEZXIgU2llZ2VscmluZwpbQWJlbnRldWVyOjxRdWVzdD5dIGRlcyBQcmllc3RlcnMgCgpTd29vcAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhcnRpa2VsIHBhc3N3b3J0IChCYW1iaSwgMjYuIEp1bCAyMDAwLCAwODozODoxNCk6Cn4jISBybj1EZWVwYmx1ZSBydD05NjQ1MjM4MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjQ1MjM2NzcKS29lbm5lbjpqYS4KRHVlcmZlbjpuZWluLgoKU2VoIGljaCBkYXMgcmljaHRpZywgZGFzcyBkYXMgdWViZXIgd29ybGQgbmljaHQgbG9lc2JhciBpc3Q/CkdpYnRzIGZ1ZXJzIGdhbnogbm9ybWFsZSB0ZWxuZXQgdW50ZXIgdW5peCBuZW4gQmVmZWhsLCBkYXNzIGRlciBkaWUKUGFzc3dvcnQtWmVpbGUgYXVjaCAod2llZGVyKSBhbHMgc29sY2hlIGVya2VubnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhcnRpa2VsIHBhc3N3b3J0IChSaWt1cywgMjYuIEp1bCAyMDAwLCAxMTo1NDo0NCk6Cn4jISBybj1CYW1iaSBydD05NjQ1OTM0OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjQ1MjM2NzcKZGFyZnN0IGR1IGRvcnQgZ2FyIG5peCBsYXVmZW4gaGFiZW4/IHdlbm4gZG9jaCwgZGFubiBuZW5uIHRmIGRvY2ggaW4geHRlcm0Kb2RlciBpcmdlbmR3YXMgdW0uLi4KCnJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmVobGVyIChPcmt0b2V0ZXIsIDI2LiBKdWwgMjAwMCwgMjA6NDk6MTgpOgp+IyEgcm49U3dvb3AgcnQ9OTY0NTY4ODEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY0NTY4ODEwCkFsc28gaWNoIHdlaHJlICJmcmFnZSIgc2ljaGVybGljaCBuaWNodCBnZW5lcmVsbCBhYiEKCk9ya1QuCgpBdXNzZXJkZW0gYmluIGljaCBLRUlOIE5QQyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFydGlrZWwgcGFzc3dvcnQgKFRpYW1haywgMjcuIEp1bCAyMDAwLCAxMjo0Mzo0NCk6Cn4jISBybj1CYW1iaSBydD05NjQ1OTM0OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjQ1MjM2NzcKSWNoIGZ1ZWhsIG1pY2ggaXJnZW5kd2llIGlnbm9yaWVydC4KCmEpIGVzIGdlaHQgYWxzIG5lIG5vcm1hbGUgd29ybGQsCmIpIER1IHNjaHVsZGVzdCBkZXIgQWxsZ2VtZWluaGVpdCBub2NoIGltbWVyIG5lIEVya2xhZXJ1bmcsIHdhcyBEdSBkYSBnZW5hdQogICB0cmVpYnN0IC0gZWluIG5vcm1hbGVzIFVuaXgtVGVsbmV0IGhhdCBkYSBuYWVtbGljaCBrZWluZSBQcm9ibGVtZS4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpcnVzd2FybnVuZyAoQ2Fzc2FuZHJhLCAzMS4gSnVsIDIwMDAsIDExOjUzOjA5KToKSWNoIGhhYiBncmFkIG5lIFZpcnVzd2FobnVuZyBlcmhhbHRlbiwgd2lld2VpdCBkaWUgc3RpbW10IGthbm4gaWNoIG5pY2h0CmJldXJ0ZWlsZW4uCkRlciBWaXJ1cyBzb2xsIENBTElGT1JOSUEgaGVpc3NlbiB1bmQgbWl0IGVpbmVyIG1haWwgbWl0IGRlbSBUaXRlbCBXSU4gQQpIT0xJREFZIGtvbW1lbi4gQW5nZWJsaWNoIGxvZXNjaHQgZXIgZGllIGdlc2FtbXRlIGZlc3RwbGF0dGUuCgpDYXNzYW5kcmEKClAuUy4gQmVzc2VyIGVpbmUgV2FybnVuZyB6dSB2aWVsIGFscyB6dSB3ZW5pZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpcnVzd2FybnVuZyAoTXVwZmVsLCAzMS4gSnVsIDIwMDAsIDEyOjA4OjM5KToKfiMhIHJuPUNhc3NhbmRyYSBydD05NjUwMzcxODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjUwMzcxODkKRGFzIGlzdCBlaW4gRmVobGFsYXJtICgiSG9heCIpLCBzaWVoZSBhdWNoCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3BhYi0yNS4wNy4wMC0wMDAvCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJQ0FOTiAoQW5hdG9sLCAgMS4gQXVnIDIwMDAsIDE4OjAxOjMyKToKfiMhIHJuPVBpbGdyaW0gcnQ9OTY0MjYzMzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzOTkyNDUxCgpHaW5nIG1pciBhZWhubGljaC4gSWNoIGhhYidzIHZlcnN1Y2h0LiBJY2ggaGFiJ3Mgb2Z0IHZlcnN1Y2h0LiBBbSBsZXR6dGVuClRhZyAoZ2VzdGVybikgZGFubiwga2FtbSBpY2ggZW5kbGljaCBhbiBkYXMgRm9ybXVsYXIgcmFuLiBBYmVyIGljaAprb25udGUgZGllIERhdGVuIG5pY2h0IGFuIGRlbiBTZXJ2ZXIgdWViZXJtaXR0ZWxuLCBrbGFwcHRlIGVpbmZhY2gKbmljaHQsIFNlcnZlciB1ZWJlcmxhc3RldC4gWndlaSBTdHVuZGVuIHZvciBNaXR0ZXJuYWNodCBrYW0gZGFubgpub2NoIGVpbiAiaW50ZXJuYWwgZXJyb3IiIGRlcyBTZXJ2ZXJzLCBkYW5uIG1hY2h0ZW4gc2llIGRpY2h0LiBUb2xsZXIKVmVyZWluLCB3aXJrbGljaCA7KQoKQW5hdG9sIC0gTklDSFQgaW0gSUNBTk4gQExBUkdFCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJQ0FOTiAoSHVtbmksICAxLiBBdWcgMjAwMCwgMTg6MDU6MDkpOgp+IyEgcm49QW5hdG9sIHJ0PTk2NTE0NTY5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2Mzk5MjQ1MQpJY2ggaGFicyBnZXN0ZXJuIGluIGxldHp0ZXIgU2VrdW5kZSBnZXNjaGFmZnQgLSBuYWNoIGRlbnNlbGJlbiBQcm9ibGVtZW4sCmljaCBmcmFnIG1pY2ggbnVyLCBvYiBpY2ggbWljaCBkYSB1ZWJlcmhhdXB0IG5vY2ggYW5tZWxkZW4ga2Fubiwgd2VubgppY2ggZGllIFBJTiBlcnN0IHBlciBQb3N0IGtyaWVnZSwgd2FzIHdvaGwgbGFlbmdlciBkYXVlcnQuLmdpbHQgZGllCkZyaXN0IHZvbSAzMS43LiBkYWZ1ZXIgYXVjaD8/IFdhZXJlIGphIHdvaGwgVW5zaW5uLCB3ZWlzcyBkYXMgCnZpZWxsZWljaHQgamVtYW5kPz8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJQ0FOTiAoR2xvaW5zb24sICAxLiBBdWcgMjAwMCwgMTg6MDY6MzcpOgp+IyEgcm49SHVtbmkgcnQ9OTY1MTQ1OTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTYzOTkyNDUxCkRhZnVlciwgZGFzcyBzaWUgbWFsIG1hZWNodGlnIEdlbGQgaGluLSB1bmQgaGVyc2NoYXVmZWxuIHdvbGxlbiB1bmQKd2VyZGVuIHNjaGVpbmVuIHNpZSB3aXJrbGljaCBsYXVzaWdlIEhhcmR3YXJlIHp1IGhhYmVuLiBOYWphLiBJY2gKaGFiZSBtZWluZW4gZ2xvYmFscG9saXRpc2NoZW4gV2lsbGVuIGF1c2dlZHJ1ZWNrdCB1bmQgbWljaCBhbmdlbWVsZGV0LApkZXIga29taXNjaGVuIFdhaGwgd2VyZGUgaWNoIHdvaGwgZWhlciBmZXJuYmxlaWJlbi4gRGllIGlzdCBldHdhcyB6dQplaWdlbmFydGlnIG5hY2ggZGVtIHdhcyBpY2ggc28gbGVzZS4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJvaW5nIChXZXJ0aGVyLCAgNi4gQXVnIDIwMDAsIDAyOjUxOjAzKToKU2VociBnZWVocnRlciBIZXJyIEJvaW5nIQoKSWNoIHdvbGx0ZSBJaG5lbiBtaXR0ZWlsZW4sIGRhc3MgSWhyIHR5cG8tVHJhbmsgKFpUKSBOaWNodCBiZWkgYWxsZW4KQ2hhcmFrdGVyZW4gaW0gTWcgYXVmIHp1IGZpbmRlbiBpc3QuIFZpZWxsZWljaHQga2FubiBtYW4gZGVuIEZlaGxlciBiZWhhYmVuCm9kZXIgYmVzc2VyIGdlc2FndCB3aWVkZXIgaGVyc3RlbGxlbiAoZXMgaXN0IGphIGVpbiB0eXBvKS4KCk0uIGYuIEcuIApJaHIgV2VydGhlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTHVnIChSYXN5YSwgIDguIEF1ZyAyMDAwLCAxMzoxODo0Myk6CgpMdWcgbGllZ3Qgbm9jaCBiaXMgU2Ftc3RhZyBpbiBPbGRlbmJ1cmcgaW0gS3JhbmtlbmhhdXMgYXVmIGRlciBITk8gU3RhdGlvbiB1bmQKbGFuZ3dlaWx0IHNpY2guIEZhbGxzIGlyZ2dlbmR3ZXIgaWhtIHNjaHJlaWJlbiBtb2VjaHRlLCBoaWVyIGRpZSBBZHJlc3NlOgoKRy4gU2F1ZXJtYW5uClN0YWVkdGlzY2hlIEtsaW5pa2VuIE9sZGVuYnVyZwpITk8gU3RhdGlvbiAzMTQKWmltbWVyIDMuMDkxCkRyLiBFZGVuLVN0ci4gMTAKMjYxMzMgT2xkZW5idXJnCgpVbmQgYmV2b3IgamV0enQgdGF1c2VuZCBBbmZyYWdlbiBrb21tZW46IGVyIHd1cmRlIGFuIGRlbiBOZWJlbmhvZWhsZW4gb3BlcmllcnQKdW5kIGJsdXRpZ2UgRGV0YWlscyBsaWVmZXJ0IGVyIGJlc3RpbW10IHNlbGJzdCwgc29iYWxkIGVyIHdpZWRlciBoaWVyIGlzdC4KClJhc3lhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppcmMgY2hhbm5lbCBlcvZmZm5ldCAoRGp0b20sIDIyLiBBdWcgMjAwMCwgMTA6MDY6MjEpOgphdWYgd3Vuc2NoIHZpZWxlciBsZXV0ZSBhdWYgbWVpbmVuIGZiYW5kIGhhYiBpY2ggdW5kIGVpbmlnZSBhbmRlcmUgZWluZW4gaXJjCmNoYW5uZWwgaW0gY2hhdCBnZWdydWVuZGV0IC0gI21vcmdlbmdyYXVlbiB1bnRlciBhbGxlbiBkZXV0c2NoZW4gaXJjbmV0CnNlcnZlcm4KYWxzbyBpY2ggYmluIGZ1ZXIgbmljaHRzIHp1IHZlcmFudHdvcnRlbiBpY2ggZGFyZiB3aWVkZXIgbnVyIGZ1ZXIgYW5kZXJlCnRpcHBzZWxuCmFsc28gdmllbCBzcGFzcyBiaXMgYmFsZCBldWVyIGRqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaXJjIGNoYW5uZWwgZXL2ZmZuZXQgKEFwb3BoaXMsIDI0LiBBdWcgMjAwMCwgMTg6NDE6MDEpOgp+IyEgcm49RGp0b20gcnQ9OTY2OTMxNTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY2OTMxNTgxCmdhYnMgZGEgbmljaHQgc2Nob24gbmVuIGNoYW5uZWwgbmFtZW5zICNtZywgZGVyIHNvZ2FyIGhpZXIgYWxzIGViZW5lIGFuZ2V6ZWlndAp3aXJkPwoKIE1hZ15IXkheSCBBcG9waGlzIC0gdmVyd2lycnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpcmMgY2hhbm5lbCBlcvZmZm5ldCAoU2FuZGllLCAyNC4gQXVnIDIwMDAsIDIwOjUzOjE4KToKfiMhIHJuPURqdG9tIHJ0PTk2NjkzMTU4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQplaW4gY2hhbm5lbCB2b2xsZXIgY2xvbmUtYm90cywgZGllIGJlc3RpbW10IG5pY2h0IHVtc29uc3Qgay1saW5lcyBoYXNzZW4Kc2FnZW4gdHV0IGRhIGtlaW5lciB3YXMKYWxzbyBudXIgZWluIHdlaXRlcmVyIHZlcnN1Y2ggZGVuIGlyYyB2b2xsZW5kcyB0b3QgenUga3JpZWdlbj8KClNBTkR8RSAtIGJsZWlidCBiZWkgI21nIHdlbm4gYmVkYXJmIGJlc3RlaHQgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChRaXRlc3MsIDI0LiBBdWcgMjAwMCwgMjA6NTQ6MjQpOgp+IyEgcm49U2FuZGllIHJ0PTk2NzE0MzE5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQp3YXMgc2luZCBjbG9uZS1ib3RzLCB1bmQgd2FzIHNpbmQgay1saW5lcyA/CnFpKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChTYW5kaWUsIDI0LiBBdWcgMjAwMCwgMjA6NTU6NDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTk2NzE0MzI2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQpmcmFnIGRvY2ggbWFsIGF1ZiAjbW9yZ2VuZ3JhdWVuLCBpY2ggc2NoYWV0emUgZGllIGtlbm5lbiBzaWNoIGRhbWl0IGF1cyA7LSkKUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChRaXRlc3MsIDI0LiBBdWcgMjAwMCwgMjA6NTY6MTMpOgp+IyEgcm49U2FuZGllIHJ0PTk2NzE0MzM0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQp3YXMgaXN0ICNtb3JnZW5ncmF1ZW4gPwpxaSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBpcmMgY2hhbm5lbCBlcvZmZm5ldCAoSGlnaHQsIDI0LiBBdWcgMjAwMCwgMjA6NTk6MTMpOgp+IyEgcm49UWl0ZXNzIHJ0PTk2NzE0MzM3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQplcyBzcHJpY2h0IGZ1ZXIgZGljaCBkYXMgZHUgZGFzIG5pY2h0IHdlaXNzdAoKaGlnaHQgZ3JpbnNlbmQKKisKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChRaXRlc3MsIDI0LiBBdWcgMjAwMCwgMjA6NTk6MzkpOgp+IyEgcm49SGlnaHQgcnQ9OTY3MTQzNTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY2OTMxNTgxCndpZXNvPyBtdXNzIG1hbiBzb3dhcyBrZW5uZW4/ClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChNYXJjdXMsIDI0LiBBdWcgMjAwMCwgMjM6MTg6NDkpOgp+IyEgcm49UWl0ZXNzIHJ0PTk2NzE0MzU3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NjkzMTU4MQpOZWluLCBuaWNodCB1bmJlZGluZ3QuLi4gSVJDIGthbm4gbWFuYiBsaWViZW4gLi4uIG9kZXIgYXVjaCBoYXNzZW4uCgpMYXNzIGVzIG1pY2ggc28gc2FnZW4sIGRhcyBNVUQgaGF0IHByb3plbnR1YWwgd2VzZW50bGljaCBtZWhyIG5ldHRlcmUgTGV1dGUgOykKCkNpYW8sIE1hcmN1cyAoaGF0IElSQyBpbiBzZWluZXIgRmlybWEgZWluZ2VmdWVocnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGlyYyBjaGFubmVsIGVy9mZmbmV0IChHbG9pbnNvbiwgMjQuIEF1ZyAyMDAwLCAyMzozMDowMik6Cn4jISBybj1NYXJjdXMgcnQ9OTY3MTUxOTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY2OTMxNTgxCkJlaW0gSVJDIGlzdCBtaXIgaXJnZW5kd2FubiBFbmRlIDk1IGRpZSBTaWduYWwvTm9pc2UgenUgc2VociBnZW4gTm9pc2UKZ2VzdGllZ2VuLgpBYmVyIGRlciBIaW53ZWlzIGF1ZiAjbWcgaXN0IG0uRS4gZHVyY2hhdXMga29ycmVrdC4KCkdsb2luc29uIHJvbGx0IG5ldWVyZnVuZGVuZSBSYWVkZXIgd2VnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb2xpemVpIChBbm9yaXMsIDMwLiBBdWcgMjAwMCwgMjA6NDE6NTcpOgoKT2sgSGlnaGxhbmRlciBpc3QgU2hlcmlmZiB1bmQgTXVhZGliIHNlaW4gQmltYm8uIGZpbmdlciBoaWdobGFuZGVyIGVyZ2lidApiZWkgbWlyLCBkYXNzIGVyIHNlaXQgY2EgNjIgVGFnZW4gbmltbWVyIGhpZXIgd2FyLgoKRXMgaXN0IG1pciBiZXd1c3N0LCBkYXNzIGVyIHRyb3R6ZGVtIGRpZSBnYW56ZSBaZWl0IEludmlzaWJsZSBkYSBzZWluIGtvZW5udGUuCgpKZWRvY2ggYmluIGljaCBkZXIgTWVpbnVuZywgZGFzcyB3ZW5uIHdlciBlaW5lIEF1ZmdhYmUgdWViZXJuaW1tdCwgd2llIGViZW4Kei5CLiBTaGVyaWZmLCBkYXNzIGRlcmplbmlnZSByZWdlbG1hZXNzaWcgYW53ZXNlbmQgc2VpbiBzb2xsdGUuIEZhbGxzIGRpZXMKbmljaHQgbWVociBtb2VnbGljaCBpc3QsIGdpYnQgZXMgZG9jaCBkaWUgTW9lZ2xpY2hrZWl0IGRpZXNlbiBQb3N0ZW4KYW5kZXJlbiB6dSBVZWJlcnRyYWdlbiAuLgoKQW5vcmlzIC0gKmdydWViZWxuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb2xpemVpIChHbG9pbnNvbiwgMzAuIEF1ZyAyMDAwLCAyMTo1MDo1Mik6Cn4jISBybj1Bbm9yaXMgcnQ9OTY3NjYwOTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkFiZXIgZGFzIGlzdCBudXIgbm9ldGlnIHdlbm4gZGllc2UgUGVyc29uIGlocmVyIEF1ZmdhYmUgbmljaHQgbmFjaGtvbW10LiBJY2gKa2FubiBkYXJ1ZWJlciBuaWNodCB3aXJrbGljaCBlbnRzY2hlaWRlbiwgbWVpbmUgYWJlciBpbiBsZXR6dGVyIFplaXQgd2VuaWcgaW4KcG9saXplaS5iZXNjaHdlcmRlbiBnZWxzZW4genUgaGFiZW4sIGVyZ28gYXVjaCB3ZW5pZyBnZXNlaGVuIHp1IGhhYmVuIGJlaSBkZW0KZXMgSGlnaGxhbmRlcnMgcmVhbGVyIHVuZCBzaWNodGJhcmVyIEFud2VzZW5oZWl0IGJlZGFyZi4KV28gaXN0IGVpZ2VudGxpY2ggRGVpbiBQcm9ibGVtIG1pdCBIaWdobGFuZGVyPwoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQb2xpemVpIChUc3VuYW1pLCAzMS4gQXVnIDIwMDAsIDAwOjAwOjEyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk2NzY2NTA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpXZW5uIGRlciBTaGVyaWZmIG9lZnRlciB2b3JiZWlzY2hhdWVuIHd1ZXJkZSwgd3VlcmRlIGVyIGV2ZW50dWVsbCBtZWhyCidlbnRkZWNrZW4nLi4uLgoKRGEgaWNoIGFiZXIgZ2VnZW4gVWViZXJ3YWNodW5nZW4gamVkd2VkZXIgQXJ0IGJpbiwgaXN0IG1pciBkYXMgcmVjaHQgc28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQb2xpemVpIChHb2xhcywgMzEuIEF1ZyAyMDAwLCAwMTo1MDoxNik6Cn4jISBybj1Uc3VuYW1pIHJ0PTk2NzY3MjgxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwptaXIgd2FyIHNvLGFscyB3ZW5uIGRlciBzaGVyaWZmIG51ciBpbiBha3Rpb24gdHJpdHQsIHdlbm4gZXIgYXVmIGRpbmdlCmF1Zm1lcmtzYW0gZ2VtYWNodCB3aXJkLiB1bmQgZGFzIGdlaHQgYW0gYmVzdGVuIHBlciBtYWlsLCB3ZW5uIGVyIHNpY2ggZGllCmZvcndhcmRlbiBsYWVzc3QsIG11c3MgZXIgbnVyIG9ubGluZSBnZWhlbiwgd2VubiB3YXMgaXN0LgoKZ29sYXMgc2llaHQgZGEgbnVsbCBwcm9ibGVtZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUG9saXplaSAoRm9vYmFyLCAzMS4gQXVnIDIwMDAsIDAyOjAwOjQzKToKfiMhIHJuPUdvbGFzIHJ0PTk2NzY3OTQxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpNb2luIGFsbGUuCgpBbHNvLCB3ZW5uIElDSCBTaGVycmlmZiB3YWVyZSBoYWV0dGUgaWNoIG1pciBzY2hvbiBsYWVuZ3N0IHZvbiBhbGxlcmhvZWNoc3RlcgpJbnN0YW56IGVpbmUgU29uZGVyZ2VuZWhtaWd1bmcgZnVlciBlaW5lbiB1bm1hcmtpZXJ0ZW4gWndlaXRpZSBnZWhvbHQuCk5hdHVlcmxpY2ggZWluZW4gX3dlaWJsaWNoZW5fLgoKTWl0IGRlbSBrYW5uIG1hbiBwcmltYSBndWNrZW4gd2FzIGRpZSBhbmRlcmVuIFNwaWVsZXIgc28gbWFjaGVuLiBadXIgVGFybnVuZwp3aXJkIGVyIGV0d2FzIGhvY2hnZXNwaWVsdCwgZGFubiBsYWVzc3QgbWFuIGlobiBiZWkgYW5kZXJlbiBTcGllbGVybiB1bmQKTWFnaWVybiBuYWNoIEtMcy9GUC1MaXN0ZW4gdXN3LiBmcmFnZW4gdW5kIHJ1Y2t6dWNrIGhhdCBtYW4gZWluIER1dHplbmQgTGV1dGUsCmRpZSBnZWdlbiBkaWUgUmVnZWxuIHZlcnN0b3NzZW4gaGFiZW4uCgpVbSBkaWUgU2FjaGUgenUgcGVyZmVrdGlvbmllcmVuIG11c3MgbWFuIG5hdHVlcmxpY2ggYXVmIGRlbiBNRy1XZWItU2VpdGVuIGVpbgpQaG90byBlaW5lciBzY2hhcmZlbiBCcmF1dCB1bnRlcmJyaW5nZW4sIG1pdCBkZW0gTmFtZW4gZGVzIFNwaW9uaWVyLVp3ZWl0aWVzLgo6bykKCkFiZXIgbWFsIGltIEVybnN0OiBJbSBSTCBzZWggaWNoIGRpZSBQb2xpemVpIGF1Y2ggcmVjaHQgc2VsdGVuIChNdWFkaWIgaXN0IGphCmhpbiB1bmQgd2llZGVyIG1hbCBkYSkuIFdlbm4gbWFuIHNpY2ggYnJhdWNodCwga2FubiBtYW4gc2llIHJ1ZmVuIChtYWlsCnBvbGl6ZWkpLiBXZW5uIG1hbiBzZWxiZXIgTWlzdCBtYWNodCBzaW5kIHNpZSBkYS4KClNvIHNvbGx0ZSBlcyBhdWNoIGhpZXIgc2Vpbi4KCkdydXNzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBvbGl6ZWkgKEJvaW5nLCAzMS4gQXVnIDIwMDAsIDA5OjMxOjM0KToKfiMhIHJuPUZvb2JhciBydD05Njc2ODAwNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKTXVhZGliIGhhdCBhbGxlIFJlY2h0ZSB1bmQgUGZsaWNodGVuIHVtIGRlbiBTaGVycmlmLUpvYiB6dSBlcmZ1ZWxsZW4uIEVyCnR1dCBkaWVzIGF1Y2ggc2Nob24gc2VpdCBnZXJhdW1lciBaZWl0IHVuZCBhdWNoIG9obmUgUnVlY2tmcmFnZSBtaXQKSGlnaGxhbmRlciB3ZW5uIGRpZXNlciBuaWNodCB6dSBlcnJlaWNoZW4gaXN0LiAKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvbGl6ZWkgKERhcmlhLCAzMS4gQXVnIDIwMDAsIDA5OjU2OjMwKToKfiMhIHJuPUFub3JpcyBydD05Njc2NjA5MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKRmluZGVzdCBEdSwgZGFzcyBCaW1ibyBpcmdlbmR3aWUgZWluIFdvcnQgaXN0LCBkYXNzIHdlaXRlcmhpbiBzZWluZW4gUGxhdHogaW4KZGVyIGRldXRzY2hlbiBTcHJhY2hlIGhhYmVuIHNvbGx0ZT8KCkRhcmlhIGdydWViZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQb2xpemVpIChQaWxncmltLCAzMS4gQXVnIDIwMDAsIDExOjAwOjA0KToKfiMhIHJuPURhcmlhIHJ0PTk2NzcwODU5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpPaCBuZWluIQoKQmxvc3Mga2VpbmUgRGlza3Vzc2lvbiB1ZWJlciAncG9saXRpY2FsIGNvcnJlY3RuZXNzJyAuLi4KClBpbGdyaW0KKHdpbGwgd2VpdGVyIE5lZ2Vya3Vlc3NlIHVuZCBaaWdldW5lcnNjaG5pdHplbCBlc3NlbiBkdWVyZmVuKSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBvbGl6ZWkgKE1vcmdvdGgsIDMxLiBBdWcgMjAwMCwgMTE6MDE6NTEpOgp+IyEgcm49UGlsZ3JpbSBydD05Njc3MTI0MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKR2FueiB6dSBzY2h3ZWlnZW4gdm9uIEhhbWJ1cmdlcm4sIEZyYW5rZnVydGVybiwgV2llbmVybiwgQmVybGluZXJuIC4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQb2xpemVpIChPaGFtLCAzMS4gQXVnIDIwMDAsIDExOjA3OjAzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTY3NzEyNTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkljaCBoYWIgbml4IGdlZ2VuIE5lZ2Vya3Vlc3NlIHVuZCBaaWdldW5lcnNjaG5pdHplbCwgZGFzIFdvcnQgLEJpbWJvJwptdXNzIGhpZXIgYWJlciB3aXJrbGljaCBuaWNodCBzZWluLgoKKFZvcnNpY2h0IE1laW51bmchISEpCgpIdW1uaQpQUzogV2VubiBtYW4ga2VpbmUgRGlza3Vzc2lvbiBsb3N0cmV0ZW4gd2lsbCwgdmVybWVpZGV0IG1hbiBzb2xjaGUgCkJlZ3JpZmZlIGVpbmZhY2guIERhbm4gcmVndCBzaWNoIGF1Y2gga2VpbmVyIGF1Zi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBvbGl6ZWkgKENhdHdlYXpsZSwgMzEuIEF1ZyAyMDAwLCAxMToxNDo1Mik6Cn4jISBybj1PaGFtIHJ0PTk2NzcxMjgyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpJY2ggbXVzcyB6dWdlYmVuLCBkYXMgbWlyIGRhcyBib2VzZSwgYm9lc2UgV29ydCBCaW1ibyBiZWltIApMZXNlbiBkZXMgQXJ0aWtlbCBpbiBrZWluZXIgYmVzb25kZXJlbiBXZWlzZSBhdWZnZWZhbGxlbiBpc3QuIApJaHIgc2NoZWludCBkZXV0bGljaCBuZWdhdGl2ZXJlIEFzc296aW9hdGlvbmVuIG1pdCBkZW0gV29ydAp6dSB2ZXJiaW5kZW4sIHZvbiBkYWhlciBkZW5rZSBpY2ggbGllZ3QgZGFzIFByb2JsZW0gYWxsZWluZQpiZWkgRXVjaCA6KQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvc28gKEdvbGFzLCAzMS4gQXVnIDIwMDAsIDE1OjM0OjE2KToKRC5nZWJpcmdlLnB1bWEgdmVyc3VjaHQgc2ljaCBlcmZvbGdsb3MgYW4gZWluZW0gV2FlY2h0ZXJtb2VuY2ggdm9yYmVpenVtb2dlbG4uCgpnb2xhcyByYWV0c2VsbmQgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQb2xpemVpIChMaWFyYSwgMzEuIEF1ZyAyMDAwLCAxOTowMjoxNik6Cn4jISBybj1Gb29iYXIgcnQ9OTY3NjgwMDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3Clp3ZXJnZW56YXViZXJpbmUgTGlhcmEga3VlaGx0IEZvb2JhcnMgS29wZiBpbiBlaW5lbSBLdWViZWwgbWl0IEVpc3d1ZXJmZWxuLgo7LSkKCk9kZXIgdmllbGxlaWNodCBhdWNoIG5pY2h0IG51ciBkZW4gS29wZi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQb2xpemVpIChOZXZvaywgIDEuIFNlcCAyMDAwLCAwMDoyMjo0Myk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTk2NzcxMjUxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwp1bmQgd2FzIGlzIG1pdCBkZW0gU2Fyb3R0aSBNb2hyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUG9saXplaSAoQXBzdSwgIDMuIFNlcCAyMDAwLCAwMjoyMTo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTY3NzEzMjkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkJpbWJvIGlzdCBpbSBJdGFsaWVuaXNjaGVuIHVlYmxpY2gsIGFscyBBYmt1ZXJ6dW5nIGZ1ZXIgQmFtYmlubywgc293ZWl0IGljaAp3ZWlzcy4KCkhvbmkgc29pdCBxdWkgbWFsIHkgcGVuc2UuCgpBcHN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQb2xpemVpIChXZWF0aGVyd2F4LCAgNC4gU2VwIDIwMDAsIDAxOjM5OjA2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05Njc3MTMyOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKT2gsCgpEaXIgaXN0IGJlaSAiTXVhZGliIGlzdCBzZWluIEJpbWJvIiBuaWNodHMgYXVmZ2VzdG9zc2VuPwoKTmEgZ3V0LCBpc3QgcmVjaHQuIEFiZXIgc2FnIGJpdHRlIG5pY2h0LCBkaWUsIGRlbmVuIGVzIGF1ZmZhZWxsdCwgaGFldHRlbiBlaW4KUHJvYmxlbS4KCld4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQb2xpemVpIChIaWdodCwgIDQuIFNlcCAyMDAwLCAwMTo0NDo0Nyk6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODAyNDM0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpobSBpY2ggZ2ViZSB6dSBpY2ggbXVzc3RlIGxhY2hlbiBhbHMgaWNoIGRpZSBhdXNzYWdlICJNdWFkaWIgaXN0IHNlaW4gQmltYm8iCmdlbHNlbiBoYWIgLi4uIGljaCBmdWVyIG1laW5lbiB0ZWlsIGthbm4gZGFyYW4gbmljaHRzIHNjaGxpbW1lcyBmaW5kZW4gLi4uIAoKbWlyIGlzIGJld3VzdCBkYXMgbWFuIG1pdCAiYmltYm8iIGF1Y2ggbmVnYXRpdmVzIHZlcmJpbmRlbiBrYW5uIGFiYmEgSU1ITyBpc3QKZGFzIG5pY2h0IHp3aW5nZW5kIHVuZCBhdWNoIG5pY2h0IGluIGplZGVtIGZhbGwgYW5nZWJyYWNodAoKWUYgSGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBvbGl6ZWkgKFdlYXRoZXJ3YXgsICA0LiBTZXAgMjAwMCwgMDE6NTI6NTQpOgp+IyEgcm49SGlnaHQgcnQ9OTY4MDI0Njg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkFsc28KCmljaCBiaW4gbWl0IFNpY2hlcmhlaXQgbmljaHQgaW1tZXIgd2FobnNpbm5pZyBrb3JyZWt0LCB2b3IgYWxsZW0gbWl0IGRlciBQQwpnZWdlbnVlYmVyIEZyYXVlbiBoYWx0ZSBpY2ggZXMgbmljaHQgaW1tZXIgc28gZ2FueiBnZW5hdS4KCkFiZXIgZnVlciBkZW4gQXVzZHJ1Y2sgIkJpbWJvIiBoYWJlIGljaCBkb2NoIGRhcyBHZWZobCwgbWljaCBiZWkgYWxsZW4KZmFyYmlnZW4gVGVpbG5laG1lcm4gaW0gTUcgZW50c2NodWxkaWdlbiB6dSBtdWVzc2VuLgpWaWVsbGVpY2h0IGlzdCBlcyBhYmVyIGF1Y2ggbnVyIGFsdG1vZGlzY2gsIGRpZXNiZXp1ZWdsaWNoIGVtcGZpbmRsaWNoIHp1CnNlaW4sIGRhIGRpZSBaZWl0ZW4gaGV1dGUgd2llZGVyIF9nYW56XyBhbmRlcnMgc2luZC4KCk5hY2hkZW5rbGljaAoKV3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBvbGl6ZWkgKEx1cHVzLCAgNC4gU2VwIDIwMDAsIDEwOjQzOjI3KToKfiMhIHJuPVdlYXRoZXJ3YXggcnQ9OTY4MDI1MTc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3ClVudGVyc3RlbGxzdCBEdSBqZXR6dCBqZWRlbSwgZGVyIERlaW5lIEFuc2ljaHQgbmljaHQgdGVpbHQgZWluZSByZWNodGUKR2VzaW5udW5nPwoKTHVwdXMsIGViZW5mYWxscyBuYWNoZGVua2xpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUG9saXplaSAoSHVtbmksICA0LiBTZXAgMjAwMCwgMTE6MTI6MzYpOgp+IyEgcm49THVwdXMgcnQ9OTY4MDU3MDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkljaCB3dWVyZGUgZGFzIHNvIG5pY2h0IHNhZ2VuLiBBYmVyIG1pciBwZXJzb2VubGljaCBnZWZhZWxsdCBkYXMKV29ydCBlaW5mYWNoIG5pY2h0LiBKYSwga2xhciwgZGFzIGlzdCBtZWluIFByb2JsZW0gdW5kIG9mZmVuYmFyCm5pY2h0IEV1cmVzIChvZGVyIG5pY2h0IGRhcyBQcm9ibGVtIHZvbiBhbGxlbikgYWJlciB3ZW5uIG1hbnMKdmVybWVpZGVuIGthbm4uLi53YXJ1bSBuaWNodD8KClVuZDogRWdhbCwgb2IgZGFzIFdvcnQgaXJnZW5kd28gYW5kZXJzIGFscyBLdXJ6Zm9ybSBmdWVyIEJhbWJpbm8KZ2VicmF1Y2h0IHdpcmQsIGRlciB6dXNhbW1lbmhhbmcgaGllciBpc3QgZWluIHZvZWxsaWcgYW5kZXJlciB1bmQKZWluZGV1dGlnIGF1ZiBkaWUgcmFzc2lzdGlzY2hlbiBVcnNwcnVlbmdlIGRlcyBXb3J0ZXMgenVydWVja3p1ZnVlaHJlbi4KCkljaCB3aWxscyBtYWwgc28gc2FnZW46IEljaCBrZW5uIGVpbmZhY2ggZWluaWdlIExldXRlLCBkaWUgYXVmZ3J1bmQKaWhyZXIgSGF1dGZhcmJlIG1pdCBzb2xjaGVuIFdvZXJ0ZXJuIGJlbGVndCB3dXJkZW4gKGRhcyB3YXIgYWJlcgprZWluZXN3ZWdzIGlociBncm9lc3N0ZXMgUHJvYmxlbSwgYWJlciBlcyB3YXJlbiBkaWVzZWxiZW4gTGV1dGUgZGllCmlobmVuIGF1ZiBhbmRlcmUgV2Vpc2UgbmFjaGdlc3RlbGx0IGhhYmVuIGRpZSBzaWUgbWl0IHNvbGNoZW4gV29lcnRlcm4KYmVsZWd0ZW4pIHVuZCBkYW1pdCBoYWIgSUNIIGVpbiBQcm9ibGVtIGRhbWl0LgoKVmllbGxlaWNodCBiaW4gaWNoIGluIGRlciBIaW5zaWNodCBlaW4gd2VuaWcgenUgc2Vuc2liZWwsIG1hZyBqYQpkdXJjaGF1cyBzZWluLiBVbmQgaWNoIHVudGVyc3RlbGxlIGtlaW5lbSwgZGVyIGRhbWl0IGtlaW4gUHJvYmxlbQpoYXQsIG5lIHJlY2h0ZSBHZXNpbm51bmcgb2RlciBzb25zdGlnZXMuIEFiZXIgaWNoIGZpbmRlLCBkYXMgV29ydApnZWhvZXJ0IG5pY2h0IGhpZXJoZXIuCgpTbywgZGFzcyB3YXIgbmF0dWVybGljaCBqZXR6dCBNZWludW5nLCB1bmQga2VpbmUgRmFrdGVuLgoKQ1UgSHVtbmkKUFM6IE1laW4gWmllbCBpc3QgZXMgZ2VyYWRlIG5pY2h0LCBCZXRyb2ZmZW5oZWl0IHp1IGVyd2Vja2VuLCBhdWNoCndlbm4gZGVyIEFydGlrZWwgc28ga2xpbmd0LiBXZWlzcyBhdWNoIG5pY2h0LCB3aWUgaWNocyBhbmRlcnMgCmZvcm11bGllcmVuIHNvbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUG9saXplaSAoV2VhdGhlcndheCwgIDQuIFNlcCAyMDAwLCAxMjozNDozMSk6Cn4jISBybj1MdXB1cyBydD05NjgwNTcwMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKTmF0cmxpY2ggbmljaHQsCgphYmVyIEdlZGFua2VubG9zaWdrZWl0IGJlaW0gR2VicmF1Y2ggc29sY2hlciBBdXNkcnVlY2tlIGluIG9lZmZlbnRsaWNoZW4gRm9yZW4KKHVuZCBhbHMgc29sY2hlcyBtdXNzIGRhcyBoaWVyIGphIHdvaGwgenUgdmVyc3RlaGVuIHNlaW4pIGR1cmNoYXVzLgpMZXV0ZSwgc2VodCBFdWNoIGRvY2ggYml0dGUgbWFsIHVtLCB3YWVocmVuZCBpbW1lciB3aWVkZXIgaW0gZXVyb3BhZWlzY2hlbiB1bmQKaW50ZXJuYXRpb25hbGVuIEF1c2xhbmQgZGllIHJlY2h0ZSBTemVuZSBpbiBEZXV0c2NobGFuZCBtaXQgZ3Jvc3NlciBTa2Vwc2lzCmJldHJhY2h0ZXQgd2lyZCwgc29sbHRlbiBkb2NoIHZlcm51ZW5mdGlnZSBNZW5zY2hlbiBuaWNodCBvZWZmZW50bGljaCB2b24KIkJpbWJvcyIgcmVkZW4sIG9kZXI/CgpXeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBvbGl6ZWkgKEFub3JpcywgIDQuIFNlcCAyMDAwLCAxMjo0NjoyNSk6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODA2MzY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpoaWVyIGluIGRlciBTY2h3ZWl6IGhvZXJ0IG1hbiBkYXMgV29ydCBzZWhyIG9mdC4gVHV0IG1pciBqYSBsZWlkIGRhc3MgZGFzIGluCkRldXRzY2hsYW5kIGFuZGVyc3QgZ2V3ZXJ0ZXQgd2lyZCBhbHMgaGllci4KCkVzIGlzdCB3aWUgInNoaXQiIGluIEphcGFuIG9kZXIgRW5nbGFuZC4gRWluZXMgZGVyIHNjaGxpbW1lbiBGbHVjaHdvZXJ0ZXIgZGllCm51ciBpbSBOb3RmYWxsIGFldXNzZXJzdCBzZWx0ZW4gZ2VicmF1Y2h0IHdlcmRlbi4gSGllciBqZWRvY2ggbGVpZGVyIGRlbgpncm9zc2VuIFRlaWwgZGVzIFdvcnRzY2hhdHplcyBhdXNtYWNoZW4uLi4KCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUG9saXplaSAoR3JpbW1ib3JuLCAgNC4gU2VwIDIwMDAsIDEyOjU0OjE1KToKfiMhIHJuPUFub3JpcyBydD05NjgwNjQzODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKTmFqYSwgZGllIFNjaHdlaXplciBoZWlzc2VuIGphIGF1Y2ggIlVlbGkgQmFlcmZ1c3MiIHVuZCBzY2hsaW1tZXJlcywgZGEga2FubgptYW4gZG9jaCBuaWNodCB2aWVsIGFuZGVyZXMgZXJ3YXJ0ZW4uLi4KClVlYnJpZ2VucywgaGllc3MgbmljaHQgZGVyIEhlbGQgYXVzIGFlbHRlcmVuIEtpbmRlcmJ1ZWNoZXJuIG5pY2h0ICJCaW1ibyI/IERhcwppc3QgZXdpZyBoZXIsIGRlciBoYXR0ZSBlaW4gU2NoaWZmIG1pdCBkZW0gZXIgaW4gZGVyIFN1ZWRzZWUgd2FyLCBtaXQgc28KbHVzdGlnZW4gR3JhbmF0ZW4gZnVlciBkaWUgS2Fub25lLCB1bmQgaW0gV2lsZGVuIFdlc3RlbiBlaW4gR2V3ZWhyLCBkYXMgZ2FuegpvZnQgZ2FueiB3ZWl0IHNjaGllc3NlbiBrYW5uLCB1bmQgZGFtaXQgaGF0IGVyIHNlbmtyZWNodCBpbiBkaWUgTHVmdApnZXNjaG9zc2VuIHVuZCBhbGxlIEt1Z2VsbiBzaW5kIGltIExvY2ggZ2VsYW5kZXQsIHVlYmVyIGRlbSBlciBkYWJlaQpnZXNjaG9zc2VuIGhhdCwgdW5kLi4uIG5hamEsIGJpc2NoZW4gdmVyc2Nod29tbWVuLCBkaWUgRXJpbm5lcnVuZywgYWJlciBpY2gKaGFiIGRhIGVpbmVuIFRpdGVsIGEgbGEgIkJpbWJvcyBBYmVudGV1ZXIgaW4gZGVyIFN1ZWRzZWUiIGltIEtvcGYuIEplbWFuZCBtaXQKYmVzc2VyZW0gR2VkYWVjaHRuaXMgaGllcj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gU2FndCBzY2hsaW1tZSBXb3J0ZSB3aWUgQmltYm8sIFBlbmlzLCBIaXRsZXIsIFdpbmRvd3MsCkhhdXNmcmF1LCBqYSwgc29nYXIgTWVuc2Flc3Nlbiwgb2huZSByb3QgenUgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBvbGl6ZWkgKEx1cHVzLCAgNC4gU2VwIDIwMDAsIDE4OjExOjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NjgwNjQ4NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKSWNoIGtlbm5lIGxlaWRlcig/KSBkaWVzZXMgQnVjaCBuaWNodCwgYWJlciBhbWF6b24uZGUgbGlzdGV0IHp3ZWkKS2luZGVyYnVlY2hlciBtaXQgQmltYm8gaW0gTmFtZW4gYXVmLgpXZWRlciBkYXMgTGV4aWtvbiBub2NoIGRhcyBIZXJrdW5mdHN3b2V0ZXJidWNoIGtvbm50ZW4gbWljaCBkYXJ1ZWJlcgphdWZrbGFlcmVuLCB3b2hlciBkYXMgV29ydCBCaW1ibyBlaWdlbnRsaWNoIGtvbW10LgpJY2ggdmVybXV0ZSBlaW5mYWNoIG1hbCBmb2xnZW5kZXM6IERhcyBXb3J0IHd1cmRlIHVyc3BydWVuZ2xpY2ggbWVociBvZGVyCm1pbmRlciBoYXJtbG9zIGZ1ZXIgaXJnZW5kd2VsY2hlIFBlcnNvbmVuIHZlcndhbmR0LCBkYW5uIGhhYmVuIGVzIGFuZGVyZQpNZW5zY2hlbiBuZWdhdGl2IHZlcndlbmRldCB1bmQgc2Nob24gImRhcmYiIG1hbiBlcyBuaWNodCBtZWhyIHNhZ2VuLiBEYXMKUHJpbnppcCBpc3Qga2VpbmUgbmV1ZXMsIGRhcyBnYWJzIHNjaG9uIGJlaSAiRGV1dHNjaGxhbmQsIERldXRzY2hsYW5kIHVlYmVyCmFsbGVzIiwgYmVpIFppZ2V1bmVybiB1bmQgc2ljaGVyIGJlaSB0YXVzZW5kIGFuZGVyZW4gV29lcnRlcm4gYXVjaC4KV2FzIGljaCBzYWdlbiB3aWxsOiBEaWUgV29lcnRlciBzaW5kIG5pY2h0IHNjaGxpbW0sIG51ciBkaWUgQW53ZW5kdW5nISBVbmQKd2VubiBoaWVyIGRhcyBXb3J0IGluIGhhcm1sb3NlciBXZWlzZSBzbyBiZW50dXR6dCB3aXJkLCBkYXNzIHdpciBhbGxlIHdpc3NlbiwKd2FzIE11YWRpYiBlaWdlbnRsaWNoIHdpcmtsaWNoIGlzdCAoZGVyIGFybWUgaGF0IHVudGVyIGRpZXNlciBnYW56ZW4KRGlza3Vzc2lvbiB3YWhyc2NoZWlubGljaCBhbSBtZWlzdGVuIHp1IGxlaWRlbiBvZGVyIG1hY2h0IHNpY2ggYWx0ZXJuYXRpdiBpbgpkaWUgSG9zZSB2b3IgTGFjaGVuKSwgZGFubiBoYWx0ZSBpY2ggZXMgamVkZW5mYWxscyBuaWNodCBmdWVyIHNjaGxpbW0uIFBDCnRhdXNjaHQgbnVyIFdvcnRlIGF1cy4gTmljaHQgVm9ydXJ0ZWlsZS4KCkx1cHVzCgpQLlMuOiBLYW5uIGplbWFuZCBzcGFuaXNjaD8gV2FzIGdlbmF1IGxhZXVmdCBkYSBhdWYgYmltYm8uY29tPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBvbGl6ZWkgKE5pY2t0YXIsICA0LiBTZXAgMjAwMCwgMTg6MTY6MzYpOgp+IyEgcm49THVwdXMgcnQ9OTY4MDgzODk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkhJLAoKPiBQLlMuOiBLYW5uIGplbWFuZCBzcGFuaXNjaD8gV2FzIGdlbmF1IGxhZXVmdCBkYSBhdWYgYmltYm8uY29tPwoKRWluZSBsZWVyZSBTZWl0ZSBtaXQgZWluIHdlbmlnIEphdmEtU2NyaXB0IGRyYXVmICg9CgpEZW4gS2V5d29yZHMgbmFjaCBrbGluZ3QncyBuYWNoIEZydWVoc3R1ZWNrc2NlcmVhbGllbi4uLiBLYW5uIGFiZXIgYXVjaCBzZWluLApkYXNzIGJhYmVsZmlzaCBkYXMgZmFsc2NoIHZlcnN0YW5kZW4gaGF0Li4uCgpOaWNrdGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQb2xpemVpIChOZXZvaywgIDQuIFNlcCAyMDAwLCAxODoyNDowMik6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODAyNTE3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpkYXMgJ2ZhcmJpZycgYXVjaCBuaWNodCBQQyBpc3Qgd2Vpc3N0IER1IGFiZXIsIG9kZXI/Cndlbm4gc2Nob24sIGRhbm4gYml0dGUgUGVyc29uZW4gZGVyIGFmcmlrYW5pc2NoZW4gZXRobmlzY2hlbgpIZXJrdW5mdC9adWdlaG9lcmlna2VpdCwgd2VubiBEdSB2b24gc2VsYmlnZW4gaW4gQW1lcmlrYSBzcHJpY2hzdCBzaW5kIGRhcwonQWZybyBBbWVyaWthbmVyJy4KCk1hbiBrYW5uJ3MgYXVjaCB1ZWJlcnRyZWliZW4sIHNjaGxpZXNzbGljaCBiaW4gaWNoIGphIGF1Y2ggbmljaHQgJ3dlaXNzJwpzb25kZXJuIGthdWthc2lzY2hlciBIZXJrdW5mdC4gCgpCbG9lZHNpbm4gZWxlbmRlci4KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUG9saXplaSAoQXBzdSwgIDQuIFNlcCAyMDAwLCAxOToyNzoxMCk6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODA2MzY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpBY2g/IGltIEV1cm9wYWVpc2NoZW4gQXVzbGFuZCBnaWJ0cyBrZWluZSByZWNodGUgU3plbmU/IFVuZCBldHdhIGtlaW5lIFJhc3Npc3Rlbj8gU2NobWFycm4hCkhvZXJ0IGRvY2ggZW5kbGljaCBhdWYgbWl0IGRpZXNlbSAnaWNoIGJpbiBlaW4gTmF6aWVua2VsLCBpY2ggYmluIGphIHNvb29vbwpzY2hlaXNzZSctR2VoZXVsZS4gRGFzIFdvcnQgQmltYm8gbWFnIG1hbiBhbHMgdW52ZXJmYWVuZ2xpY2ggZXJhY2h0ZW4gb2RlcgpuaWNodCwgZGllc2VuIEFydGlrZWwgamVkZW5mYWxscyBmaW5kZSBpY2ggbm9jaCB3ZXNlbnRsaWNoIHVlYmVyZmx1ZXNzaWdlciBhbHMKZGllIERpc2t1c3Npb24gJ0JpbWJvIG9kZXIgbmljaHQgQmltYm8nLiAKClJhaWx1ciwgZGVyIHNvIG5ldHRlIGVuZ2xpc2NoZSBBdXNkcnVlY2tlIHdpZSAndG8gcmlkZSBuaWdnZXInIChzY2h3YXJ6ZmFocmVuKQpmYXN0IHRhZWdsaWNoIGluIEVuZ2xhbmQgZ2Vob2VydCBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBvbGl6ZWkgKFBhbXBlcnMsICA0LiBTZXAgMjAwMCwgMjE6MzE6MzYpOgp+IyEgcm49V2VhdGhlcndheCBydD05NjgwMjUxNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKRXJzdGVucyBoZWlzc3QgZGFzIG5pY2h0IG1laHIgInBvbGl0aWNhbGx5IGNvcnJlY3QiLCBzb25kZXJuICJzb2NpYWxseSBhd2FyZSIuClp3ZWl0ZW5zIGthbm5zdCBuaWNodCBEdSBEaWNoIGVudHNjaHVsZGlnZW4sIHNvbmRlcm4gd2lyIERpY2guIER1IGthbm5zdCB1bQpFbnRzY2h1bGRpZ3VuZyBiaXR0ZW4uIChJbiBkZXIgRGV1dHNjaGVuIFNwcmFjaGUgbGVpZGVyIG1pdHRsZXJ3ZWlsZSBnYW5nIHVuZApnYWViZS0gRW50c2NodWxkaWd1bmcsIGRhc3MgaWNoIElocmUgRnJhdSB1bmQgZHJlaSBLaW5kZXIgbWl0IGRlcgpTY2hsYWdib2hybWFzY2hpbmUgaGluZ2VyaXRldCBoYWIsIGpldHp0IHdvIGljaCBtaWNoIGVudHNjaHVsZGlndCBoYWIsIGthbm4KbWlyIGphIGtlaW5lciBtZWhyIGJvZXNlIHNlaW4uLi4uKQpEcml0dGVucyBsYXNzIGljaCBtaXIgdm9uIG5lbSBCaW1ibyB3aWUgRGlyIG5pY2h0IHNhZ2VuLCB3ZWxjaGUgV29ydGUKInNvY2lhbGx5IGF3YXJlIiBzaW5kIHVuZCB3ZWxjaGUgbmljaHQuIDstKQoKVmllcnRlbnM6IEJpbiBpY2ggbmljaHQgZmFyYmlnLCBzb25kZXJuIE5lZ2VyLgoKUGFtcGVycy4gQWZyaWthbmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBvbGl6ZWkgKEFyaywgIDQuIFNlcCAyMDAwLCAyMTo0MTozNSk6Cn4jISBybj1MdXB1cyBydD05NjgwNTcwMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKVGphLCBzY2h3aWVyaWcsIGljaCBob2ZmZSBuaWNodCwgZGFzcyBtYW4gamV0enQgc2Nob24gYXVmIEJlZGVua2VuIHN0b2Vzc3QsCndlbm4gbWFuIGdld2lzc2UgV29ydGUgbWFsIGluIGFuZGVyZW0gS29udGV4dCBhZXVzc2VydC4gT2RlciBoYWV0dGVuIHdpciBkYW5uCmF1Y2ggUHJvYmxlbWUgbWl0IGhpc3RvcmlzY2hlbiBBZXVzc2VydW5nZW4gd2llICJIZWlsIERpciwgPHdlcmF1Y2hpbW1lcj4hCktvbW10IGltbWVyIGF1ZiBkZW4gS29udGV4dCBhbiwgdW5kIGRhIGxhbmd0IGRvY2ggb2Z0IGRhcyBnZXNjaHJpZWJlbmUgV29ydApuaWNodC4gSWNoIGdlYmUgenUsIG1hbiBrYW5uLCB3ZW5uIG1hbiB3aWxsLCBiZWkgZGVtIFdvcnQgIkJpbWJvIiBlaW5lbiBUaHJlYWQKenVtIFRoZW1hIFJhc3Npc211cyBnZW5lcmllcmVuLiBBYmVyIGljaCBkZW5rZSBuaWNodCwgZGFzcyBkYXMgaW0gU2lubmUgZGVzCkF1dG9ycyB3YXIuIEtvZW5uZW4gd2lyIGVzIGRhYmVpIGJlbGFzc2VuID8gTmUsIG9kZXIgPyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUG9saXplaSAoRm9vYmFyLCAgNS4gU2VwIDIwMDAsIDAyOjQxOjIwKToKfiMhIHJuPU5ldm9rIHJ0PTk2ODA4NDY0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpHZW5hdSEKClVuZCBlcyBoZWlzc3QgYXVjaCBuaWNodCAiU2Nod2Fyem1hcmt0Iiwgc29uZGVyICJBZnJvYW1lcmlrYW5pc2NoZXIgTWFya3QiLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUG9saXplaSAoQnViYmEsICA1LiBTZXAgMjAwMCwgMTk6NDU6MzIpOgp+IyEgcm49Rm9vYmFyIHJ0PTk2ODExNDQ4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwoKSWNoIGJpbiB6dXRpZWZzdCBiZXRyb2ZmZW4gdWViZXIgZGFzIG1hbmdlbG5kZSBVbnJlY2h0c2Jld3Vzc3RzZWluLCB3ZWxjaGVzCmhpZXIgdm9uIGVpbmlnZW4gYW4gZGVuIFRhZyBnZWxlZ3Qgd2lyZC4gV29ydGUgd2llICJCaW1ibyIgc2luZCBwZnVpIHVuZApnZWhvZXJlbiBnZWFlY2h0ZXQgKG5pY2h0IHZlcmJvdGVuLCBzY2hsaWVzc2xpY2ggbGViZW4gd2lyIGluIGVpbmVyCk1lZGllbmRlbW9rcmF0aWUpISBOb2NoIHNjaGxpbW1lciBpc3QgZGllIER1bGR1bmcgZGVyYXJ0aWdlciB2ZXJiYWxlcgpFbnRnbGVpc3VuZ2VuIGR1cmNoIGRpZSBzY2h3ZWlnZW5kZSBNYXNzZSB6dSB3ZXJ0ZW4hIEVyc3QgZGFkdXJjaCB3aXJkCkdlc2lubnVuZ3N0YWV0ZXJuIGRlciBCb2RlbiBiZXJlaXRldC4gV2FjaHNhbWtlaXQgaXN0IHVuYWJkaW5nYmFyLCBkYWhlciBnaWx0CmRlciBEYW5rIGRlbmplbmlnZW4sIGRpZSBkaWVzZSB3ZXJ0dm9sbGUgRGlza3Vzc2lvbiBhbmdlc3Rvc3NlbiBoYWJlbiEKCkJ1YmJhIC0gbWVpc3RlbnMgYmxhdSwgbmljaHQgc2Nod2FyegoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQb2xpemVpIChQYW1wZXJzLCAgNS4gU2VwIDIwMDAsIDE5OjQ3OjQ4KToKfiMhIHJuPUJ1YmJhIHJ0PTk2ODE3NTkzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpBdXdlaWhhLAoKd2VydHZvbGxlIERpc2t1c3Npb24uIERhIHR1biBtaXIgamEgZGllIEF1Z2VuIHdlaC4KClBhbXBlcnMuIE1hZyBHdXRtZW5zY2hlbiBuaWNoLiBJZGVvbG9naWUgaXMgcGZ1aS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQb2xpemVpIChCYW1iaSwgIDUuIFNlcCAyMDAwLCAyMToxMjo0NCk6Cn4jISBybj1CdWJiYSBydD05NjgxNzU5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKaWNoIGhhYiBtaWNoIGphIGxhbmcgenVydWVja2dlaGFsdGVuLi4uCkRlbiBBcnRpa2VsIHdvbGx0ZXN0IER1IG5pY2h0IGluICJzY2htYXJybiIgdmVyb2VmZmVudGxpY2hlbiwgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJMIChSb2NodXMsICA1LiBTZXAgMjAwMCwgMjE6Mzg6MTIpOgpmaW5nZXIgcmVhcGVyCkhvcHBsYSAtIGRpZXNlciBOYW1lIGlzdCByZXNlcnZpZXJ0IG9kZXIgZ2VzcGVycnQgKCJnZWJhbmlzaHQiKSEKR3J1bmQgZnVlciBkaWUgU3BlcnJ1bmc6IFNvIGhpZXNzIG1hbCBlaW4gU2VoZXIgaGllci4KZmluZ2VyIHd1cnN0CkhvcHBsYSAtIGRpZXNlciBOYW1lIGlzdCByZXNlcnZpZXJ0IG9kZXIgZ2VzcGVycnQgKCJnZWJhbmlzaHQiKSEKR3J1bmQgZnVlciBkaWUgU3BlcnJ1bmc6IFNvIGhpZXNzIG1hbCBlaW4gU2VoZXIgaGllci4KCkdyYXR1bGllcmUuCldlciBzaWNoIGpldHp0IGFuZ2VzcHJvY2hlbiBmdWVobHQgaXN0IGF1Y2ggZ2VtZWludC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSTCAoUm9jaHVzLCAgNS4gU2VwIDIwMDAsIDIxOjQ1OjE5KToKfiMhIHJuPVJvY2h1cyBydD05NjgxODI2OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjgxODI2OTIKUFM6CkdsYXVidCBuaWNodCBhbGxlcywgd2FzIElociBob2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUkwgKEFuYXRvbCwgIDUuIFNlcCAyMDAwLCAyMTo0NTo0OSk6Cn4jISBybj1Sb2NodXMgcnQ9OTY4MTgzMTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4MTgyNjkyCkRpdG8uCgpTQ05SLCBBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJMIChMYW5mZWFyLCAgNS4gU2VwIDIwMDAsIDIxOjQ4OjE3KToKfiMhIHJuPUFuYXRvbCBydD05NjgxODMxNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjgxODI2OTIKTGVpZGVyIGhvZXIgaWNoIGphIGdhciBuaWNodHMsIGljaCBzZWhlIG51ciwgZXIgaXN0IGRhIHVuZCBkYW5uIGhhdCBlciBzaWNoCmdlbG9lc2NodC4uLiAgOigoKAoKTGFuZmVhciAtIHdlaXNzIG1hbCB3aWVkZXIgdWViZXJoYXVwdCBuaWNodCB3YXJ1bS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBvbGl6ZWkgKFdlYXRoZXJ3YXgsICA2LiBTZXAgMjAwMCwgMDI6NDY6MjcpOgp+IyEgcm49TmV2b2sgcnQ9OTY4MDg0NjQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkljaCBmdWVyY2h0ZSwgZGEgaGFzdCBEdSB3YXMgZmFsc2NoIHZlcnN0YW5kZW4uCgpFcyBnaW5nIG1pciB3ZW5pZ2VyIHVtIFBDLCBkaWUgd2llIEx1cHVzIGRhcyBJTUhPIHNlaHIgc2Nob2VuIGRhcmdlc3RlbGx0IGhhdApudXIgIldvcnRlIGF1c3RhdXNjaHQiLCBhbHMgdmllbG1laHIgZGFydW0sIG9iIG1hbiBpbiBkZXIgT2VmZmVudGxpY2hrZWl0CmVpbmVzIC0gd2llIG1hbiBzaWVodCBkb2NoIHJlY2h0IGludGVybmF0aW9uYWxlbiBGb3J1bXMgLSBnZW5hdXNvIHNvcmdsb3MKZGFoZXJzY2huYXR0ZXJuIGthbm4sIHdpZSBhbSBTdGFtbXRpc2NoIG1pdCBkZW4gS3VtcGVscy4KRGVyIGFsbGVpbmlnZSBHcnVuZCBpc3QsIGRhc3MgZXMgdmllbGxlaWNodCBnYXIgbmljaHQgc28gc2NobGltbSBpc3Qgb2RlciBlcnN0CnJlY2h0IG5pY2h0IGJzIGdlbWVpbnQsIGplZG9jaCB1bnRlciBVbXN0YWVuZGVuIHZvZWxsaWcgdW5ub2V0aWdlcndlaXNlIExldXRlCnZvciBkZW4gS29wZiBzdG9lc3N0LgoKQWxzbyBpY2ggZmluZGUsIGRhcyBtdXNzIG5pY2h0IHVuYmVkaW5ndCBzZWluLgoKV3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQb2xpemVpIChOYWNodG1haHIsICA2LiBTZXAgMjAwMCwgMDI6NTM6NDQpOgp+IyEgcm49QnViYmEgcnQ9OTY4MTc1OTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CgpTbywKCklociBkYWVtbGljaGVuIFNleGlzdGVuIGhhYnQgdm9lbGxpZyBkaWUgQmltYmV0dGVuIHZlcmdlc3Nlbi4KCktyYW1wZW5wYWNrCmkuQS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQb2xpemVpIChXZWF0aGVyd2F4LCAgNi4gU2VwIDIwMDAsIDAyOjU1OjAyKToKfiMhIHJuPUFwc3UgcnQ9OTY4MDg4NDMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CkRhbm4gZG9jaCBnbGVpY2ggbm9jaCBuZSB1ZWJlcmZsdWVzc2lnZSBGcmFnZSBoaW50ZXJoZXI6CgpIZWlzc3QgZGFzLCBEdSBiaXN0IGRlciBNZWludW5nLCB3ZWlsIGphIGF1Y2ggZGllIEVuZ2xhZW5kZXIgbHVzdGlnZXJ3ZWlzZSBzbwpkYXMgU2Nod2FyemZhaHJlbiBiZXplaWNobmVuLCBpc3QgZGllc2VyIEF1c2RydWNrIGRhbWl0IHNhbG9uZmFlaGlnPwpVbmQgd2VpbCBkaWVzZSBnYW56ZSBkdW1tZSBwZWlubGljaGUgR2VzY2hpY2h0ZSBqYSBzY2hvbiB6d2VpIEdlbmVyYXRpb25lbiBoZXIKaXN0LCB3aXJkIG1hbiBqYSBhbHMgbW9kZXJuZXIgRGV1dHNjaGVyIG1hbCB1bmdlc3RyYWZ0IHZvbiBOaWdnZXJuIHNwcmVjaGVuCmR1ZXJmZW4/CgpNYWNoIHdhcyBEdSB3aWxsc3QsIGFiZXIgaWNoIGRlbmtlIG5pY2h0LCBkYXNzIGRhcyBzbyBlaW5mYWNoIGlzdCB1bmQgbWl0Cm1hbmdlbG5kZW0gU2VsYnN0YmV3dXNzdHNlaW4gaGF0IGRhcyBhYmVyIHVlYmVyaGF1cHQgZ2FybmljaHRzIHp1IHR1bi4KCld4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogUG9saXplaSAoTmV2b2ssICA2LiBTZXAgMjAwMCwgMDM6MTc6NDYpOgp+IyEgcm49V2VhdGhlcndheCBydD05NjgyMDE3MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKd2FzIGhlaXNzdCBoaWVyIGVpZ2VudGxpY2ggU0NIV0FSWmZhaHJlbj8gaXMgZGFzIG5pY2ggdmllbGxlaWNodCBkYXMgc2VsYmUgd2llCmltIGVuZ2xpc2NoZW4/CgpCVFcsIHdhcyBpcyB3ZW5uIHNpY2ggQWZybyBBbWVyaWthbmVyIGRhbm4gdW50ZXJlaW5hbmRlciBOaWdnZXIgbmVubmVuPwpEdWVyZmVuIGRpZSBkYXMgZGFubiBvZGVyIHZlcmFjaHRlbiBzaWUgc2ljaCBkYW5uIHNlbGJlciBkYW1pdD8KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUG9saXplaSAoV2VhdGhlcndheCwgIDYuIFNlcCAyMDAwLCAwMzoyODozNCk6Cn4jISBybj1OZXZvayBydD05NjgyMDMwNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKR3V0ZSBGcmFnZSwgTmV2b2suCgpNZWluIFZvcnNjaGxhZzogQmVnaWIgRGljaCBkb2NoIG1hbCBpbiBkaWUgbm9lcmRsaWNoZXJlbiBTdGFhdGVuLCBnZWggaW4gZWluZQp2b24gQWZyb2FtZXJpa2FuZXJuIGZyZXF1ZW50aWVydGUgQmFyLCBiZWdydWVzcyBzaWUgbWl0ICJIaSBOaWdnZXJzISIgdW5kIGZyYWcKc2llLgoKV3gsIGtvcGZzY2h1ZXR0ZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFBvbGl6ZWkgKEZvb2JhciwgIDYuIFNlcCAyMDAwLCAwMzoyOTowOCk6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODIwMzcxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpJc3QgTmV2b2sgZGVubiBTY2h3YXJ6ZXI/CgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBQb2xpemVpIChXZWF0aGVyd2F4LCAgNi4gU2VwIDIwMDAsIDAzOjMxOjE0KToKfiMhIHJuPUZvb2JhciBydD05NjgyMDM3NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKS2VpbmUgQWhudW5nLCBudXIgZWluIFZvcnNjaGxhZy4KClZpZWxlIEdydWVzc2UgYXVzIEtvZWxuCkFyc2NoIGh1aCwgWmFlbmcgdXNzZW5hbmRlciEgLSBHaWx0IHdpZSBkYW1hbHMuCgpXeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFBvbGl6ZWkgKE5ldm9rLCAgNi4gU2VwIDIwMDAsIDAzOjQxOjQ0KToKfiMhIHJuPVdlYXRoZXJ3YXggcnQ9OTY4MjAzODc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CnBhZXBzdGxpY2hlciBhbHMgZGVyIFBhcHN0LCBvZGVyIHdpZSBtYWNoZSBpY2ggYXVzIGVpbmVyIE11ZWNrZSBlaW5lbgpFbGVmYW50ZW4sIHgtdGVyIFRlaWwuLi4uCgpOZXZvawoKUC5TLjogV2VubiBEdSBtaXIgamV0enQgbm9jaCBtYWwgbWl0IE5TIEdlc2NoaWNodGUga29tbXN0LCBmYW5nIGljaCBlY2h0IGFuIHp1CmtvdHplbiwgaWNoIHdlaXNzIG5pY2ggd2llIGRhcyBiZWkgZXVjaCB3YXIsIGFiZXIgbWlyIGxhbmd0IGVzIHdhZWhyZW5kIG1laW5lcgpnYW56ZW4gWmVpdCBiaXMgenVtIEFiaXR1ciBqZWRlcyBKYWhyIGF1ZnMgTmV1ZSB1ZWJlciBkaWUgendlaXRlIEVyYnN1ZW5kZQpuYWNoIEFkYW0gdW5kIEV2YSBhdWZnZWtsYWVydCB3b3JkZW4genUgc2Vpbi4gTmFjaCBkZXIgNC4gV2llZGVyaG9sdW5nCnJlYWdpZXJ0IG1hbiBtaXQgRGVzaW50ZXJlc3NlLCBkYW5uIG1pdCBBYm5laWd1bmcgdW5kIHp1IGd1dGVyIGxldHp0IG1pdApHbGVpY2hndWVsdGlna2VpdC4gSXMgRGlyIG1hbCBhdWZnZWZhbGxlbiwgd2llIHZpZWxlIExldXRlIG5vY2ggYXVmIHNvbGNoZQpLZXJ6ZW5tYWVyc2NoZSB1bmQgUHJvdGVzdGFrdGlvbmVuIGdlaGVuPyBVbmQgYWJrYXNzaWVyZW4ga2FubiBtYW4gYXVjaCBuaWNoCm1laHIgbWl0IHNvbGNoZW4gYXJzY2ggaG9jaCBtYXVsIGF1ZiBTcHJ1ZWNoZW4gYXVjaCBuaWNoIG1laHIsIGtvZW5udGUgZGFzIGRlcgpHcnVuZCBzZWluLCBkYXNzIGVzIHNvd2FzIG5pY2ggbWVociBnaWJ0PyBNYXVsIGF1Zm1hY2hlbiBrYW5uIGplZGVyLCBuaWNodAp3YWhyLCBXZWF0aGVyd2F4PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBvbGl6ZWkgKFdlYXRoZXJ3YXgsICA2LiBTZXAgMjAwMCwgMDM6NTU6MTEpOgp+IyEgcm49TmV2b2sgcnQ9OTY4MjA0NTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3ClRqYSwgZGFzcyBEaXIgZGFzIFRoZW1hIHVuYW5nZW5laG0gaXN0LCB3YXIgc2Nob24gcmVsYXRpdiBrbGFyIGdld29yZGVuLgoKTWFuIG11c3MgYXVjaCBkZXV0c2NoZSBHZXNjaGljaHRlIGVpZ2VudGxpY2ggbnVyIGVpbm1hbCBsZXJuZW4sIHVtIHp1CmthcGllcmVuLCBkYXNzIG1hbiBudXIgZGFyYXVzIGxlcm5lbiBrYW5uLCBkYXNzIGVpbmUgd2lya2xpY2hlIEdlZmFociBiZXN0ZWh0LAp3ZW5uIHp1IHZpZWxlIExldXRlIHdpZGVyIGJlc3NlcmVzIFdpc3NlbiBkaWUgS2xhcHBlIGhhbHRlbi4gVW5kIGRpZSBoYWx0IGljaApuaWNodC4KSWNoIGJlZGF1cmUgc2VociBEaWNoIGdlbGFuZ3dlaWx0IHp1IGhhYmVuLgoKV3gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBQb2xpemVpIChOZXZvaywgIDYuIFNlcCAyMDAwLCAwNDowMjoyOCk6Cn4jISBybj1XZWF0aGVyd2F4IHJ0PTk2ODIwNTMxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpVTkFOR0VORUhNIHRyaWZmdCBkaWUgU2FjaGUgbmljaHQgaW0gTWluZGVzdGVuCk51ciBnZWhlbiBtaXIgR2xhdHplbiBnZW5hdXNvIGF1ZiBkZW4gU2FjayB3aWUgSGFyZGNvcmUgRW1hbnplbiwgZGllIGFsbGVzCnBvbGl0aXNjaCBrb3JyZWt0IGZvcm11bGllcnQgaGFiZW4gbXVlc3NlbiBkYXNzIGVyL3NpZS9lcyBzaWNoIGRhcyBEb2t1bWVudApwb2xpdGlzY2ggS29ycmVrdCBpbiBpaHIvc2VpbiBSZWt0dW0gZWluZnVlaHJlbiBrYW5uLCB1bmQgTGV1dGUgd2llIER1LCBkaWUsCmFuc3RhdHQgd2FzIHp1IG1hY2hlbiwgaW1tZXIgbnVyIGJsb2VkZSBkYXMgTWF1bCBhdWZyZWlzc2VuIHVuZCBhbmRlcmUgb2IKaWhyZXMgRmFsc2NoaGFuZGVsbnMgYmVsZWhyZW4gbXVlc3Nlbi4gTGFzcyB1bnMgZHJ1ZWJlciByZWRlbiBEdSBteSBhc3MuIFNjaG9uCm1hbCB1ZWJlcmxlZ3Qgd2FydW0gS0VJTkUgU2F1IGRpZSBBbnRpZmEgZnVlciB2b2xsIG5pbW10PyBXZWlsIGFsbGUgaWhyZQpTYWNoZW4gZWluZSBzb2ZvcnRpZ2UuLi4uLi4uRElTS1VTU0lPTiBlcmZvcmRlcm4sIEFiZXIgc2Nob2VuIGRhcyB3aXIgZHJ1ZWJlcgpnZXJlZGV0IGhhYmVuLCBWb2xrc2Zyb250IHZvbiBKdWRhZWEgamVtYW5kPwoKV2VubiBpY2ggbmUgTWFyayBrcmllZ2VuIHd1ZXJkZSB2b24gamVkZW0sIGRlciBkYXJ1ZWJlciBSRURFVCwgbWFuLCBpY2ggd2FlcmUKcmVpY2guIE5hdHVlcmxpY2ggZmluZGVuIHdpciBlcyBhbGxlIGV4dHJlbSBzY2hsaW1tLCBEdSwgdW5kIGRhIG11c3MgbWFuIGRvY2gKd2FzIG1hY2hlbiwgRHUuIFVuZCwgd2FzIHBhc3NpZXJ0PyBOYWRhLiAKClNvIGdlc2VoZW4gbWFjaGVuIGRpZSBHbGF0emVuIGRhcyBlaW56aWcgcmljaHRpZ2UuIFNpZSB6ZWlnZW4gUHJhZXNlbnogdW5kCnppZWhlbiBpaHIgRGluZyBkdXJjaC4KVHJhdXJpZyBpcmdlbmR3aWUsIG9kZXI/CgpBYmVyIHNjaG9lbiBkYXMgd2lyIGRydWViZXIgZ2VyZWRldCBoYWJlbiwgS3VtcGVsCgpKYSwgdW5kIGljaCBiZWRhdXJlIGF1Y2ggZGFzcyBpY2ggZGVuIFRocmVhZCBuaWNodCBnbGVpY2ggdWViZXJnYW5nZW4gaGFiZW4sCnNhbWUgc2hpdCwgZGlmZmVyZW50IGRhdGUgYW5kIGF1dGhvci4KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogUG9saXplaSAoV2VhdGhlcndheCwgIDYuIFNlcCAyMDAwLCAwNDozMDo0MSk6Cn4jISBybj1OZXZvayBydD05NjgyMDU3NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKV2VyIHNlaW5lbiBXb3J0ZW4gYXVjaCBUYXRlbiBmb2xnZW4gbGFlc3N0LCBrb2VubmVuIHdpciBuaWNodCBoaWVyIGluIGRlciBtcGEsCm5vY2ggc29uc3QgaXJnZW5kd28gaW0gTmV0eiwgb2RlciB2b20gU2Vzc2VsIGF1cyBrbGFlcmVuLgpJY2ggZW50c2NodWxkaWdlIG1pY2ggd2lya2xpY2ggaW4gYWxsZXIgRm9ybSwgd2VubiBpY2ggRGlyIGFscyBha3RpdmVtCk1pdGdsaWVkIGRlciBBbnRpZmEgZHVyY2ggbWVpbiBkdW1tZXMgR2VzY2h3YWV0eiB6dSBuYWhlIGdldHJldGVuIGJpbi4KV2VubiBEaWNoIHZvbiBBbmZhbmcgYW4gbnVyIGdlc3RvZXJ0IGhhdCwgZGFzcyBudXIgdWViZXIgVW1nYW5nc2Zvcm1lbgpkZWJhdHRpZXJ0IHdpcmQsIHN0YXR0IGRhcyBhdWYgZGllIFN0cmFzc2UgZ2VnYW5nZW4gd2lyZCwgZGFubiBoYWV0dGVzdCBEdSBkYXMKZ2xlaWNoIHNhZ2VuIHNvbGxlbi4KCkhhc3QgRHUgYWJlciBuaWNodC4gU3RhdHRkZXNzZW4gaG9lcnRlbiB3aXIgdm9uIGRlciB2b2VsbGlnIGhhcm1sb3NlbgpWZXJ3ZW5kdW5nIGRlcyBXb3J0ZXMgTmlnZ2VyIHVuZCB2b24gZGVyIExhbmdld2VpbGUsIGRpZSBkaWUgUmVwZXRpdGlvbgpkZXV0c2NoZXIgR2VzY2hpY2h0ZSB2ZXJ1cnNhY2h0LgoKVmllbGxlaWNodCBuaW1tc3QgRHUgbWFsIG5lIEF1c3plaXQgdW5kIHdpcnN0IERpciBkYXJ1ZWJlciBrbGFyLCB3YXMgRHUKZWlnZW50bGljaCBtZWluc3QuCgpXeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUkwgKFd1cnplbCwgIDYuIFNlcCAyMDAwLCAxNjo1OToyOSk6Cn4jISBybj1MYW5mZWFyIHJ0PTk2ODE4MzI5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODE4MjY5MgpnZXdpc3NlIGRpbmdlIGdlaG9lcmVuIG5pY2h0IGluIGRpZSB6ZWl0dW5nLiBkYXMgZ2FuemUgd2FyIGF1Y2ggc28gc2Nob24KdmllbCB6dSBvZWZmZW50bGljaCBmdWVyIG1laW5lbiBnZXNjaG1hY2suCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJMIChTdGluZywgIDYuIFNlcCAyMDAwLCAxODoxNDozMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTY4MjUyMzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4MTgyNjkyCmlociBzcGlubnQgYWxsZSBtaXRlaW5hbmRlciA6KQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJMIChZZW5kaSwgIDcuIFNlcCAyMDAwLCAxMDo0NToxNCk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTY4MjUyMzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4MTgyNjkyCk9LLCBrYW5uIG1pciBqZXR6dCBtYWwgamVtYW5kIHZlcnJhdGVuLCB3YXMgZGEgYWJnaW5nPwoKWWVuZGksCiAgICAgICBwZXJwbGV4CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUkwgKFByYSwgIDcuIFNlcCAyMDAwLCAxNTo0ODowNyk6Cn4jISBybj1ZZW5kaSBydD05NjgzMTYzMTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjgxODI2OTIKSWNoIGZpbmRlIGF1Y2gsIGRhc3MgU2VsYnN0bG9lc2NodW5nZW4gaW4gZGVyIEtsYXRzY2hzcGFsdGUgZGVyIE1QQQpicmVpdGdldHJldGVuIHdlcmRlbiBzb2xsdGVuLiBOdXIgd2VpbCBpY2ggbWFsIGVpbiBwYWFyIFdvY2hlbgpuaWNodCBkYSB3YXIsIGtyaWVnIGljaCBkaWUgc2Nob2Vuc3RlbiBTYWNoZW4gbmljaHQgbWl0LiBJY2ggd2lsbAptaXRyZWRlbiwgbWl0bGFlc3Rlcm4sIG1pdHNjaG1hcnJlbiB1bmQgbWl0a3JpZWdlbiwgd2FydW0gc2ljaAp3ZXIgc2VsYmVyIGxvZXNjaHQuCgpQcmEuIEhhdCBkaWUgQmlsZCBzY2hvbiBkdXJjaCBoZXV0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJMIChQYW1wZXJzLCAgNy4gU2VwIDIwMDAsIDE4OjQyOjQyKToKfiMhIHJuPVByYSBydD05NjgzMzQ0ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjgxODI2OTIKV3Vyc3QgaGF0IHNpY2ggZ2Vsb2VzY2h0PyBSZWFwZXIgaGF0IHNpY2ggZ2Vsb2VzY2h0PwoKSG0uLi4gV2VyIHNpbmQgUmVhcGVyIHVuZCBXdXJzdD8gRWdhbC4gQXVmIGplZGVuIEZhbGwgZmluZCBpY2ggZXMgc2VocgpiZWRhdWVybGljaCwgZGFzcyBpY2ggbWFsIHdpZWRlciB1ZWJlciBkZW4gc2Nob2Vuc3RlbiBUcmF0c2NoIG5pY2h0IGluZm9ybWllcnQKYmluLgoKVW0gd2VsY2hlIEZyYXUgZ2VodHMgZGVubj8KClBhbXBlcnMuIFVudGVyaW5mb3JtaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJMIChIaWdodCwgIDcuIFNlcCAyMDAwLCAyMDoxNToyMik6Cn4jISBybj1QYW1wZXJzIHJ0PTk2ODM0NDk2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODE4MjY5MgpobXBmIHNvcnJ5IGJpbiBkZXIgbWVpbnVuZyBkYXMgZGllIGdhbnplIHNhY2hlIDEuIG5pY2h0cyBpbiBkZXIgbXBhIHp1IHN1Y2hlbgpoYXQgMi4ga2VpbmVuIHdpcmtsaWNoIHdhcyBhbmdlaHQgdW5kIDMuIGVzIHd1cnRzIHVuZCBYWSdzIHNhY2hlIGlzIHNpY2ggZGEKZHJ1ZWJlciBkZW4ga29wZiB6dSB6ZXJicmVjaGVuCgpoaWdodCBkZW4gdGhyZWFkIGFiYmVzdGVsbGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUkwgKExhbmZlYXIsICA4LiBTZXAgMjAwMCwgMjE6MTU6NDcpOgp+IyEgcm49SGlnaHQgcnQ9OTY4MzUwNTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4MTgyNjkyCk51ciBtYWwgc28gYWxzIEZyYWdlIGluIGRlbiBSYXVtIGdlc3RlbGx0OgpXZXIgd2lsbCBkYXMgdWViZXJoYXVwdCBpbiBkZXIgTVBBIGxlc2VuL2JyZWl0dHJldGVuL3dhc2F1Y2hpbW1lcj8KCkFsc28gYWxsZSBhcmd1bWVudGllcmVuLCBkYXMgRVMgKHdhcyBhdWNoIGltbWVyKSBuaWNodHMgaW4gZGVyIE1QQSB2ZXJsb3JlbgpoYXQsIGtlaW5lciBpc3QgZGFmdWVyLCBkYXMgZXMgaW4gZGllIE1QQSBrb21tdC4gTnVuIHN0ZWxsdCBzaWNoIG1pciBkaWUKRnJhZ2UsIHdhcyBkZXIgZGllIGdhbnplIFVucnVoZSBkYW5uIHNvbGwuCgpMYW5mZWFyIC0ga29wZnNjaHVldHRlbG5kCgpwLnMuOiBEZXIgZWluemlnZSwgdm9uIGRlbSBpY2ggZ2VybmUgd2FzIGRhcnVlYmVyIGhvZXJlbiB3dWVyZGUsIGlzdCBSZWFwZXIKc2VsYnN0LCBhYmVyIGxlaWRlciBoYXQgZXIgd29obCB2ZXJnZXNzZW4sIGVpbmUgTWFpbCBGcmV1bmRlIHp1IHNjaGlja2VuLCBvZGVyCmFiZXIgZXIgaGF0dGUgc2NobGljaHR3ZWcga2VpbmUgTHVzdCBkYXp1IHVuZCBhdWNoIGRhcyBzZWkgaWhtIHdvaGwgZ2VzdGF0dGV0LgoKcC5wLnMuOiBpY2ggaGF0dGUgbm9jaCBnYXIga2VpbmUgZ2VydWVjaHRlIGRhenUgZ2Vob2VydCwgYWJlciBnZXJhZGUgYnJpbmd0CklociwgZGllIGphIGdlZ2VuIGdlcnVlY2h0ZSBzZWlkLCBkYXMgZ2FuemUgaW4gUmljaHR1bmcgRnJhdWVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUkwgKFBhbXBlcnMsICA4LiBTZXAgMjAwMCwgMjI6NDQ6NTgpOgp+IyEgcm49TGFuZmVhciBydD05Njg0NDA1NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NjgxODI2OTIKVHNjaGEsCgp3ZW5pZ3N0ZW5zIHdlaXNzIGljaCBqZXR6dCB3aWVkZXIgd2VyIFJlYXBlciBpc3Qvd2FyLiBNZWluIEdlZGFlY2h0bmlzIGlzdApoYWx0IG5pY2h0IG1laHIgZGFzIEJlc3RlLiAKCldlbm4gaWNoIGpldHp0IG5vY2ggd3Vlc3N0ZSwgd29ydW1zIGdlaHQsIHdhZXJlIGljaCBtaXIgc2ljaGVyLCBkYXNzIGVzIGhpZXIKbml4IHp1IHN1Y2hlbiBoYXQuIDotKQoKClBhbXBlcnMuIFdpbmt0IFJlYXBlciB0cmF1cmlnIHp1LiBBYmVyIGJpdHRlIG5pY2h0IHdlaXRlcnNhZ2VuLCBkYXNzIGljaApHZWZ1ZWhsZSBoYWJlLCBkYXMgd2FlcmUgc2NobGVjaHQgZnVlciBtZWluZW4gUnVmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFBvbGl6ZWkgKEFwc3UsIDEwLiBTZXAgMjAwMCwgMDE6NDE6NTQpOgp+IyEgcm49TmV2b2sgcnQ9OTY4MjA0NTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY3NjYwOTE3CipudXIgbm9jaCBoZWZ0aWcgenVzdGltbWVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBSTCAoUmlrdXMsIDExLiBTZXAgMjAwMCwgMTI6NDA6MTUpOgp+IyEgcm49UHJhIHJ0PTk2ODY2ODQwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODE4MjY5MgplcyBnaWJ0IHNjaG9uIGdlbnVlZ2VuZCBMZXV0ZSwgZGllIG5lZ2F0aXYgb2RlciBwb3NpdGl2IGluIGRhcyAiUHJvYmxlbSIKaW52b2x2aWVydCBzaW5kLiBXZW5uIHNpZSB2b24gRXVjaCB3YXMgd29sbGVuLCBkYW5uIHNwcmVjaGUgc2llIHNjaG9uCm1pdCBFdWNoISBBbHNvIGdlYnQgbnVuIGVuZGxpY2ggbWFsIFJ1aGUuIEljaCBzZWxiZXIgd3VlcmRlIGF1Y2ggdmVoZW1lbnQKZWluZ3JlaWZlbiwgd2VubiBtZWluZSBwcml2YXRlbiBTYWNoZW4gaGllciBkaXNrdXRpZXJ0IHd1ZXJkZW4uCkRpc2t1dGllcnQgdm9yIGFsbGVtIG5pY2h0IHVlYmVyIGplbmUsIGRpZSBuaWNodCBtYWwgYW53ZXNlbmQgc2luZC4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXeD8gKEx1ZywgMTIuIFNlcCAyMDAwLCAyMTozMjoyNyk6CgpBbHNvLAoKaWNoIG11c3N0ZSBqYSBkaWVzZSBnYW56ZSBCaW1iby1EZWJhdHRlIG5hY2hob2xlbi4gRGEgZmllbCBtaXIgZG9jaCBhdWYsIGRhc3MKZWluZXIgaW1tZXIgd2llZGVyIG1pdCBXeCB1bnRlcnNjaHJpZWJlbiBoYXQ/IFdpZSBzcHJpY2h0IG1hbiBkYXMgZWlnZW50bGljaAphdXM/IEJlaSBtaXIgd2lsbCBzaWNoIGRhIGltbWVyIGVpbiBWb2thbCBlaW5zY2hsZWljaGVuLCBkYSBmcmFnIGljaCBkb2NoCmxpZWJlciBtYWwgZ2FueiB1bnNjaHVsZGlnLi4uCgpMaWViCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU01TIChTY2huaWNrLCAxMi4gU2VwIDIwMDAsIDIzOjQxOjQzKToKU2VpdCBlaW5pZ2VyIFplaXQgd2VyZGVuIG1laW5lIEZyZXVuZGluIHVuZCBpY2ggbWFzc2l2IG1pdCBiZWxlaWRpZ2VuZGVuIHVuZApvYnN6b2VuZW4gU01TIHVlYmVyaGFldWZ0LiBVbmQgZGFzIHZvbiBlaW5lciBIYW5keW51bW1lciwgdm9uIGRlciBpY2ggZGVuCkJlc2l0emVyIG5vY2ggbmljaHQgZWlubWFsIGtlbm5lLiBWZXJzdWNoIGljaCBkb3J0IGFuenVydWZlbiwgd2lyZCBzb2ZvcnQKYXVmZ2VsZWd0LiBEYXMgZ2VodCBqZXR6dCBzY2hvbiBNb25hdGUgc28uIE1pciBibGVpYnQgZWlnZW50bC4gZmFzdCBudXIgbm9jaApkaWUgV2FobCBtZWluZSBOdW1tZXIgenUgd2VjaHNlbG4gb2RlciBtaXIgZWluZW4gdGV1cmVuIFJlY2h0c2Fud2FsdCB6dQpuZWhtZW4sIHVtIG1pdCBlaW5lciBVbnRlcmxhc3N1bmdza2xhZ2UgenUgZHJvaGVuLiBadXZvciB3aWxsIGljaCBhbGxlcmRpbmdzCm5vY2ggZWluZSBhbmRlcmUgTW9lZ2xpY2hrZWl0IHZlcnN1Y2hlbi4gRGVuIG1hc3NpdmVuIFJFLU11ZWxsLiBXZW5uIGlociBtaXIKZWluZW4gZ3Jvc3NlbiBHZWZhbGxlbiB0dWVuIHdvbGx0LCBkYW5uIG11ZWxsdCBiaXR0ZSBmb2xnZW5kZSBOdW1tZXIgenU6IDAxNzMKLyA5NjM3NTIzIEJlcmVpY2h0ZXQgdm9uIGRlbiBLcmFtcGZhZGVybiBFdXJlciBNdWV0dGVyIG9kZXIgc2NoaWNrdCBkaWUKV2luZG93cyBEb2t1LiBvLmFlLiBJY2ggdmVyc3VjaCBudXIgc28gdmllbGUgU01TIHdpZSBudXIgbW9lZ2xpY2ggdm9uIGRlbgp2ZXJzY2hpZWRlbnN0ZW4gTnVtbWVybiB6dSBzY2hpY2tlbi4KClZpZWxlbiBEYW5rIGZ1ZXIgRXVyZSBIaWxmZQoKUFM6IFdlbm4gaWhyIGVpbmUgZ3V0ZSBNb2VnbGljaGtlaXQga2VubnQsIHdpZSBtYW4gc29uc3QgZ2VnZW4gc29sY2hlIFNNUwp2b3JnZWhlbiBrYW5uLCBtYWlsdCBtaXIgYml0dGU6IGtvZW5pZ0BiaS13ZWIuZGUKClNjaG5pY2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTTVMgKE1hcmN1cywgMTIuIFNlcCAyMDAwLCAyMzo0NjoyMSk6Cn4jISBybj1TY2huaWNrIHJ0PTk2ODc5NDkwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODc5NDkwMwouLi4gUnVmIGRvY2ggbWFsIGJlaSBkZXIgaG90bGluZSBkZXMgSGFuZHlwcm92aWRlcnMgYW4sIGV2dC4ga2FubnN0IGR1IApkaWNoIGVudHdlZGVyIGJlc2Nod2VyZW4gb2RlciAoYmVpIGRlaW5lbSkgZGVyIE51bW1lciB2ZXJiaWV0ZW4sIGRpciBTTVNlCnp1IHNjaGlja2VuLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU01TIChSaWt1cywgMTMuIFNlcCAyMDAwLCAwODo0MzoxOCk6Cn4jISBybj1TY2huaWNrIHJ0PTk2ODc5NDkwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODc5NDkwMwpuaXggZ2VnZW4gRGljaCwgYWJlciB3ZXIgc2FndCB1bnMsIGRhc3MgZGVyL2RpZSBtaXQgZGllc2VyIE51bW1lciBEaWNoCnBlciBTTVMgdm9sbG11ZWxsdCB1bmQgbmljaHQgbnVyIER1IGplbWFuZCBhZXJnZXJuIHdpbGxzdCBvZGVyIER1IERpY2gKbnVyIGluIGRlciBOdW1tZXIgdmVydGlwcHQgaGFzdD8gQWxzbyBzZW5kZXQgZGFoaW4ga2VpbmUgU01TLCBTY2huaWNrCnNvbGwgc2ljaCBhbiBzZWluZW4gcHJvdmlkZXIgd2VuZGVuIQoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkltYmlzcy4uLiAoTG9sbGksIDEzLiBTZXAgMjAwMCwgMTA6MjU6MTgpOgpIaSEKaWNoIHdvbGx0ZSBtYWwgYW5yZWdlbiwgb2IgbWFuIGV2ZW50LiBkYXMgc3lzdGVtIHZvbSBpbWJpc3MsIHVuZCBkb3J0IHNwZXppZWxsCnZvbSAnc3RpbGxlbiBvZXJ0Y2hlbicgbWFsIGV0d2FzICdwZXJzb25pZml6aWVyZW4ga29lbm50ZS4gZGguIGljaCBoYWIgZGllCmVyZmFocnVuZyBnZW1hY2h0LCBkYXNzIHdhZWhyZW5kIGljaCBkb3J0IGRyaW4gYmluIHVuZCBwaXNzZSB1bmQgamVtYW5kIGtvbW10CnJlaW4gdW5kIGRydWVja3Qgd2FlaHJlbmRkZXNzZW4gd2FzIGFiIHVuZCBpY2ggcmF1cyB3aWxsLCBkYXMgZWJlbiBuaWNodCBnZWh0LAp3ZWlsIGRlciBoYXVmZW4gbmljaHQgd2VnIGlzdC4Ka29lbm50ZSBtYW4gZXMgbmljaHQgc28gZWlucmljaHRlbiBkYXNzIGRlciBoYXVmZW4gZWJlbiBudXIgYXVzd2lya3VuZ2VuIGF1ZgpkaWUgdmVydXJzYWNoZW5kZSBwZXJzb24gaGF0PyB3YXMgZ2VoZW4gbWljaCBkaWUgaGF1ZmVuIGFuZGVyZXIgbGV1dGUgYW4/IHVuZApkYXNzIGljaCBzcHVlbGVuIG11c3MgdW0gcmF1c3p1a29tbWVuIGlzIGphIGF1Y2ggbmljaCBnYW56IG5hY2h6dXZvbGx6aWVoZW4uCmZhbGxzIGRhbWl0IG5vY2ggYW5kZXJlciAncHJvYmxlbWUnIGhhYmVuLCBiaXR0ZSB1bnRlcnN0dWV0emVuLi4uIGZhbGxzIGNpaApkZXIgZWluemlnZSBiaW4gZGVuIGRhcyBuZXJ2dCwgdmVyZ2Vzc3QgZGVuIGFydGlrZWwgOi0pKS4KCncKdwpkCnVlYmVyIGRpZSBoYXVmZW4gYW5kZXJlciBMZXV0ZSBzdG9scGVybmQsICBMT0xMSSAhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEltYmlzcy4uLiAoRGVlcGJsdWUsIDEzLiBTZXAgMjAwMCwgMTA6MzM6MjYpOgp+IyEgcm49TG9sbGkgcnQ9OTY4ODMzNTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4ODMzNTE4CldpZSB3YWVyZSBlcyBtaXQgbmVyIEtsb2ZyYXUsIGRpZSBEaWNoIHp1c2FtbWVuc2NobGFlZ3QsIHdlbm4gRHUgbmljaHQgemllaHN0PwpEZWVwYmx1ZSwgZWluemVpbGlnIHNjaG1hcnJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTTVMgKEhpZ2h0LCAxMy4gU2VwIDIwMDAsIDE1OjAyOjI3KToKfiMhIHJuPVNjaG5pY2sgcnQ9OTY4Nzk0OTAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4Nzk0OTAzCndlaXNzIG5pY2ggYWJiYSBlcyBzb2xsIHRhdHNhZWNobGljaCBsZXV0ZSBnZWJlbiBkaWUgYXVmIGlocmVtIEFCIGRlbiBuYW1lbgpsYWJlcm4gLm8pIHZlcnN1Y2ggZWluZmFjaCBtYWwgZGlyZWt0IGRlbiBhYiBhbnp1cnVmZW4gLi4uIHNvbGx0ZSBiZWkgRDIKMDE3KDIvMy8/KS81NSghKW51bW1lciBzZWluIHdlbm4gaWNoIG1pY2ggcmljaHRpZyBlcmlubmVyZSAuLi4gbmVyamEgdmVyc3VjaHMuCgoKWUYgSGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vdGVwYWQtV3VybSAoTGFuZmVhciwgMTQuIFNlcCAyMDAwLCAxMzowNzo1Nik6CkhpIHp1c2FtbWVuIQoKRGllIGxldHp0ZW4gendlaSBUYWdlIHd1bmRlcnRlIGljaCBtaWNoLCB3YXJ1bSBpY2ggaW0gaGludGVyZ3J1bmQgaW1tZXIgZWluCm5pY2h0IG9mZmVuIHNpY2h0YmFyZXMgTm90ZXBhZCBsYXVmZW4gaGF0dGUuIFp1ZmFlbGxpZyBmYW5kIGljaCBoZXV0ZSBlaW5lbgpwYXNzZW5kZW4gQXJ0aWtlbCBpbSBIZWlzZS1OZXdzdGlja2VyLgpFcyBpc3QgaW0gbW9tIGVpbiBXdXJtIGltIFVtbGF1ZiwgZGVyIGRpZSBub3JtYWxlIFdpbmRvd3MtTm90ZXBhZGRhdGVpCmVyc2V0enQuCldlaXRlcmVzIGRhenUgYXVmIGRlbiBTZWl0ZW46Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3Z6YS0xMi4wOS4wMC0wMDAvCnVuZApodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS92emEtMTQuMDkuMDAtMDAwLwoKZG9ydCBzaW5kIGF1Y2ggTWFzc25haG1lbiB6dXIgQmVzZWl0aWd1bmcgdW5kIFZlcmh1ZXR1bmcuLi4KCkFtIGJlc3RlbiBuYWNod2Vpc2VuIGxhZXNzdCBlciBzaWNoIG1laW5lciBNZWludW5nIG5hY2gsIHdlbm4gbWFuIGVpbmZhY2ggbWFsClNUUkcrQUxUK0VOVEYgZHJ1Y2t0IHVuZCBzaWNoIGRpZSBsaXN0ZSBkZXIgbGF1ZmVuZGVuIFByb2dyYW1tZSBhbnNpZWh0Li4uCnNvbGx0ZSBkb3J0IE5vdGVwYWQgYXVmdGF1Y2hlbiwgb2J3b2hsIGVzIGVpZ2VudGxpY2ggbmljaHQgZ2VvZWZmbmV0IHd1cmRlLApzb2xsdGUgbWFuIG1hbCB3aWUgaW0gQXJ0aWtlbCBhbmdlZ2ViZW4gZGllIFN5c1JlZyBkdXJjaHN1Y2hlbi4KCkRhcyBnYW56ZSBnaWx0IG5hdHVlcmxpY2ggbnVyIHVudGVyIFdpbmRvd3MgdW5kIGZsYW1lcywgZGFzcyBMaW51eCBiZXNzZXIgaXN0CmJyYXVjaCBpY2ggamV0enQgYXVjaCBuaWNodCA6LSkKCkxhbmZlYXIKCgpwLnMuOiBKYSwgZGFzIGthbm4gbnVyIGJlaSBsZWljaHRzaW5uaWdlbiBTaWNoZXJoZWl0c2VpbnN0ZWxsdW5nZW4gcGFzc2llcmVuLAppY2ggaGF0dGUgbWVpbmUgYXVjaCBhYmdlYWVuZGVydCwgYWxsZXJkaW5ncyB3YXIgZGFzIGJlaSBtZWluZXIgbGV0enRlbgpXaW4tSW5zdGFsbGF0aW9uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vdGVwYWQtV3VybSAoTGFuZmVhciwgMTQuIFNlcCAyMDAwLCAxMzoyMTo1MCk6Cn4jISBybj1MYW5mZWFyIHJ0PTk2ODkyOTY3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODkyOTY3NgpBZWhtLCBuYXR1ZXJsaWNoIGthbm4gbWFuIGF1Y2ggZWluZmFjaCBuYWNoZ3Vja2VuLCBvYiBzaWNoIGltCldpbmRvd3MtdmVyemVpY2huaXMgZGllIERhdGVpIE5vdGUuY29tIGJlZmluZGV0LCBkYXMgaXN0IG5hZW1saWNoIGRpZSBvcmlnaW5hbApOb3RlcGFkLmV4ZSBuYWNoZGVtIGRlciBXdXJtIHNpZSB1bWJlbmFubnQgaGF0Li4uCgpMYW5mZWFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vdGVwYWQtV3VybSAoQ2F0d2VhemxlLCAxNC4gU2VwIDIwMDAsIDE2OjAzOjE3KToKfiMhIHJuPUxhbmZlYXIgcnQ9OTY4OTMwNTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4OTI5Njc2CldpZSBuZXR0IHZvbiBpaG0gOi0pCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFd4PyAoV2VhdGhlcndheCwgMTYuIFNlcCAyMDAwLCAxNzoxNzo1OSk6Cn4jISBybj1MdWcgcnQ9OTY4Nzg3MTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4Nzg3MTQ3CldlYXRoZXJ3YXgKCkdhbnogZ2FueiBsaWViIDopKSkpCld4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFd4PyAoTHVnLCAxOS4gU2VwIDIwMDAsIDAzOjEzOjAwKToKfiMhIHJuPVdlYXRoZXJ3YXggcnQ9OTY5MTE3NDc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4Nzg3MTQ3CgpPZWgsCgoKYWxzbyB3ZW5uIGljaCBXeCBhdXNzcHJlY2hlIGtvbW10IGRhIG5peCBsYW5nZXMgcmF1cy4KCkVpbiBGYWxsIGZ1ZXIgZGllIEtvbW1pc3Npb24genVyIFJlaW5oYWx0dW5nIGRlcyBNdWRzPwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFd4PyAoTGlhcmEsIDE5LiBTZXAgMjAwMCwgMTQ6MjI6NDUpOgp+IyEgcm49THVnIHJ0PTk2OTMyNTk4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2ODc4NzE0NwpEdSBtZWluc3QgZGllIEtvbW1pc3Npb24sIGRpZSBEaWNoIGFscyBlcnN0ZSByYXVza2lja3Q/IDstKSkpCgpMWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBvbGl6ZWkgKFNvbG15ciwgMTkuIFNlcCAyMDAwLCAxNjowNzowNSk6Cn4jISBybj1QYW1wZXJzIHJ0PTk2ODE3NjA2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2NzY2MDkxNwpBbGxlcyB3aXJkIGd1dCwKCnVuZCBpbiBkZXIgWmVpdCwgaW4gZGVyIElociBoaWVyIGZsZWlzc2lnIEFydGlrZWwgZ2VzY2hyaWViZW4gaGFidCwgaGFldHRldApJaHIgZG9jaCBzY2hvbiB3aWVkZXIgMU1pbyBFcCdzIG1hY2hlbiwgJ25lbiBUYWxpc21hbiBhdWZsYWRlbiBvZGVyIGVpbmZhY2gKbnVyCm1pdCBqZW1hbmRlbSB1ZWJlciBpcmdlbmRldHdhcyBnZXJlZGV0IGhhYmVuIGtvZW5uZW4uIFN0YXR0IGRlc3NlbiBkdWVyZmVuIHdpcgp1bnMgaGllciBlaW5lIGZyb2VobGljaGUgRGlza3Vzc2lvbiB1ZWJlciBkaWUgQmVudXR6dW5nIHVuZCBkZXIgSGVya3VuZnQgZGVzCldvcnRlcyAnQmltYm8nIGFuaG9lciduLiBTb3JyeSwgYWJlciBpc3QgZWlnZW50bGljaCBlZ2FsLCB3aWUgZXIgZGFzIGpldHp0CmF1cy0KZ2VkcnVlY2t0IGhhdC4KQWNodHVuZyBNZWludW5nOiA7KSBJY2ggZGVua2UsIGRhc3Mgc2ljaCBudXIgTGV1dGUsIGRpZSBzaWNoIG5pY2h0IHNpY2hlciBzaW5kCmluIHdpZSB3ZWl0IHNpZSBkaWUgbGlua2UgYnp3LiByZWNodGUgR2VzaW5udW5nIHVudGVyc3R1ZXR6ZW4gd3VlcmRlbi4gTmljaHQKamVkZXIgd3VlcmRlIHp3ZWlmZWxzZnJlaSBuYWNoIEJlcmxpbi1NYXJ6YWhuIGZhaHJlbiB1bmQgZGEgbWl0IGRlbiBKdW5ncyB1bmQKTWFlZGVscyB2b24gZGVyIEFuaXRmYSAnbmVuIExhZGVuLCBkZXIgbmF0aW9uYWxzb3ppYWxpc3Rpc2NoZXMgTWF0ZXJpYWwKdmVydHJlaWJ0LApuaWVkZXJicmVubmVuLiBBdWYgZGVyIGFuZGVyZW4gU2VpdGUgaGF0IHNpY2hlciBqZWRlciBzY2hvbiBlaW5tYWwgc28gd2FzCmdlc2FndAp3aWUsIHdlbm4gaGllciBlaW4gQXVzbGFlbmRlciBlaW5lIFN0cmFmdGF0IGJlZ2VodCBvZGVyIHZpZWxlIFN0cmFmdGF0ZW4KYmVnZWh0LAp1bmQgc2ljaCBrZWluZSBCZXNzZXJ1bmcgemVpZ3QgKCEpLCBkYXNzIG1hbiBJaG4gZG9jaCB3aWVkZXIgaW4gc2VpbgpIZXJrdW5mdHMtCmxhbmQgenVydWVja3NjaGlja2VuIHNvbGx0ZS4gTmF0dWVybGljaCBtdXNzIGRhbm4gcG9saXRpc2NoZSBWZXJmb2xndW5nIGF1c2dlLQpzY2hsb3NzZW4gc2VpbiwgYWJlciBqZWRlciBoYWVsdCBudW5tYWwgc2VpbiBlaWdlbmVzIFNjaGlja3NhbCBzZWxiZXIgaW4gZGVyCkhhbmQKdW5kIGplZGVyIGhhdCBhdWNoIGRpZSBNb2VnbGljaGtlaXQgZGFyYXVzIHdhcyB6dSBtYWNoZW4uIFNpZWhlIGRhLCBkaWUgbGlua2UKdW5kIGRpZSByZWNodGUgR2VzaW5udW5nIGJpZXRlbiB3aXJrbGljaCB2aWVsIEZyZWlyYXVtIHVuZCBtYW4ga2FubiBzaWNoIGJlaQpiZWlkZW4gR3J1cHBpZXJ1bmdlbiBzbyBzZWluZSBlaWdlbmVuIEdlZGFua2VuIG1hY2hlbiwgYWVxdWl2YWxlbnQgenVyIEtpcmNoZQp1ZWJyaWdlbmRzLiBTbyBtdXNzIGljaCBhbHNvIGF1Y2ggbmljaHQgbWVociBiZXRvbmVuLCB6dSB3ZWxjaGVyIEdydXBwaWVydW5nCmljaApnZWhvZXJlLCBkZW5uIGRhbm4gaG9lcnQgc2ljaCBkYXMgc2Nob24gd2llZGVyIHNvIGFuLCB3aWU6ICdJY2ggYmluIGxpbmtzLApuZWluCmVocmxpY2gsIGFsc28gd2lya2xpY2gsIHNpZWh0IG1hbiBtaXIgZGFzIG5pY2h0IGFuPycuCgpTdWJsaW1lLCBkZXIgamV0enQgd29obCBtaW5kLiA4MC4wMDAgRXAncyBnZWxhc3NlbiBoYXQsIHVtIGRpZXNlbiBBcnRpa2VsIGhpZXIKenUgc2NocmVpYmVuLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV3g/IChMdWcsIDIwLiBTZXAgMjAwMCwgMDI6NDI6MTIpOgp+IyEgcm49TGlhcmEgcnQ9OTY5MzY2MTY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY4Nzg3MTQ3CgpHZWh0IG5pY2h0LCBpY2ggYmluIFZvcnNpdHplbmRlci4KClZlcndlaXNlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUG9saXplaSAoTHVnLCAyMC4gU2VwIDIwMDAsIDAyOjQzOjE2KToKfiMhIHJuPVNvbG15ciBydD05NjkzNzI0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njc2NjA5MTcKCkJMQUghCgpLb3J0IHVuIGJ1ZW5uaWcKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIGdy/G5kZSBpY2ggVGVhbXMgKFNpbHZhbmEsIDIxLiBTZXAgMjAwMCwgMjA6Mjg6MjkpOgp+IyEgcm49UmFpZHJpIHJ0PTk2OTU2MDgxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2OTU2MDgxNgpTY2hvbiBtYWwgImhpbGZlIHRlYW0iIHByb2JpZXJ0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWUgZ3L8bmRlIGljaCBUZWFtcyAoUmFuaSwgMjEuIFNlcCAyMDAwLCAyMDoyODo1MSk6Cn4jISBybj1TaWx2YW5hIHJ0PTk2OTU2MDkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk2OTU2MDgxNgpvZGVyICdoaWxmZSBlYmVuZW4nIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VydWVjaHRlIChOZXZvaywgMjQuIFNlcCAyMDAwLCAxMjo0MToxNyk6Cn4jISBybj1HYXN0MSBydD05Njk3OTE5Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Njk3OTE0MDUKVGphIG51biwgbWFsIHNlaGVuLi4uCkFsc28sIER1LCBsaWViZXIgR2FzdCwgYmlzdCBvZmZlbnNpY2h0bGljaAphKSBlaWZlcnN1ZWNodGlnIGF1ZiBlaW5lbiBkZXIgYmV0ZWlsaWd0ZW4KdW5kCmIpIGZlaWdlCndlc3dlZ2VuIER1IApjKSBVbnJ1aGUgc3RpZnRlbiBtdXNzdAoKS2xhc3NlIExlaXN0dW5nCgpOZXZvaywgbWl0IHNlaW5lciBLYWZmZWV0YXNzZSB3ZWRlbG5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VydWVjaHRlIChMdWcsIDI2LiBTZXAgMjAwMCwgMDE6MTk6MjkpOgp+IyEgcm49TmV2b2sgcnQ9OTY5NzkyMDc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTY5NzkxNDA1CgpOZXZvayBEdSBXZWljaGVpLAoKc293YXMgaWdub3JpZXJ0IG1hbiBnZWZsaXNzZW50bGljaC4KClRhZGVsbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFLU1haWwtQWRyZXNzZSBiZWltIEZpbmdlcm4gKFNseWZveCwgIDYuIE9rdCAyMDAwLCAxMzo1NDoxNSk6CkJpc2xhbmcga29lbm5lbiBhdXMgd2VsY2hlbiBHcnVlbmRlbiBhdWNoIGltbWVyIG51ciBNYWdpZXIgZGllIEUtTWFpbC1BZHJlc3NlCmVpbmVzIFNwaWVsZXJzIHNlaGVuLgoKV2VubiBtYW4gbWFsIGRyaW5nZW5kIGRpZSBFLU1haWwtQWRyZXNzZSBlaW5lcyBGcmV1bmRlcy9GcmV1bmRpbiBzdWNodCwKdW0gaWhtIHdhcyB3aWNodGlnZXMgenUgbWFpbGVuIChuaWNodCBhbGxlIGxlc2VuIGRpZSBNdWQtTWFsIHNvIG9mdCB3aWUgZGllClJMLU1haWwpLCBpc3QgbWFuIGF1Zmdlc2NobWlzc2VuLiBNZWlzdCB3ZWlzcyBkaWUgQWRyZXNzZSBlaW5lcyBiZXN0aW1tdGVuCmVoIGtlaW5lciwgdW5kIHdlbm4gbWFuIGVpbmVuIE1hZ2llciBiaXR0ZXQsIGdlYmVuIHNpZSBtZWlzdCwgc3R1ciBvZGVyCmlkbGUgd2llIHNpZSBzaW5kLCBkcmF1ZiBrZWluZSBBbnR3b3J0LgoKRGVzaGFsYiBtYWNoIGljaCBlaW5lbiB2ZXJudWVuZnRpZ2VuIFZvcnNjaGxhZzoKSmVkZXIgc29sbCBkb2NoIHNlbGJlciBlbnRzY2hlaWRlbiBrb2VubmVuLCB3ZXIgZGllIEUtTWFpbC1BZHJlc3NlIGJlaW0KRmluZ2VybiBzZWhlbiBkYXJmOgoKYSkgbnVyIE1hZ2llciAod2llIGJpc2hlcikKYikgcGx1cyBkaWUgRnJldW5kZQpjKSBhbGxlIGR1ZXJmZW4gc2llIHNlaGVuCgpXYXMgbWVpbnQgaWhyIGRhenU/IFdhZXJlIHRvbGwsIHdlbm4gZGFzIGVpbmdlYmF1dCB3ZXJkZW4gd3VlcmRlLgoKICAgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRS1NYWlsLUFkcmVzc2UgYmVpbSBGaW5nZXJuIChUaG9yYWssICA2LiBPa3QgMjAwMCwgMTM6NTc6MjUpOgp+IyEgcm49U2x5Zm94IHJ0PTk3MDgzMzI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MDgzMzI1NQpEYXMgZmFlbmRlIGljaCBlaW5lIGd1dGUgSWRlZSwgdm9yIGFsbGVtIG1pdCBkZXIgVHJlbm51bmcgZnJldW5kZS9hbGxlLiBIYWIKbWljaCBzb3dpZXNvIHNjaG9uIGdlZnJhZ3Qgd296dSBtYW4gZGllIGVtYWlsIGFuZ2ViZW4ga2FubiB3ZW5uIHNpZSBlaCBrZWluZXIKc2llaHQuCgp0aG9yYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRS1NYWlsLUFkcmVzc2UgYmVpbSBGaW5nZXJuIChQaWxncmltLCAgNi4gT2t0IDIwMDAsIDE1OjE3OjAzKToKfiMhIHJuPVRob3JhayBydD05NzA4MzM0NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzA4MzMyNTUKRGVyIHVyc3BydWVuZ2xpY2hlIEdydW5kIHdhciAobS5XLm4uKSBkaWUgTW9lZ2xpY2hrZWl0LCBTcGllbGVyIGltCkZhbGxlIGVpbmVzICdwbG9ldHpsaWNoZW4gVW16dWdzJyBvZGVyIFBvcnR3ZWNoc2VscyB1ZWJlciBkaWVzZQpNYWlsYWRkcmVzc2UgenUgZXJyZWljaGVuIC4uLiBiencsIGRhc3MgTWFnaWVyIGlocmUgTWl0TWFnaWVyIGltClByb2JsZW1mYWxsIGF1Y2ggYXVzc2VyaGFsYiBkZXMgTVVEcyBlcnJlaWNoZW4ga29lbm5lbiAoZnJ1ZWhlcgpnYWJzIG5vY2ggbmljaHQgc28gc2Nob2VuZSBTYWNoZW4gd2llIFdlaXRlcmxlaXR1bmcgdm9uIE1VRG1haWwKbmFjaCBhdXNzZXJoYWxiKSAuLi4KCk5hamEsIHNvIHdpZSBkaWUgZS1tYWlsIGFkZHJlc3NlIHouWi4gZ2VoYW5kaGFidCB3aXJkICh1bnNpY2h0YmFyIGZ1ZXIKU3BpZWxlciAoYXVjaCBmdWVyIFNlaGVyPykgaGFsdCcgaWNoIGVzIHZvciBkZW0gSGludGVyZ3J1bmQgbWVpbmVyCm9icmlnZW4gQXVzc2Z1ZWhydW5nZW4gdW5kIGRlbSAnUmVjaHQgYXVmIFByaXZhdHNwaGFlcmUnIGF1Y2ggbmljaHQKZnVlciBhbmdlYnJhY2h0LCBqZW1hbmRlbSBlaW5lIFJMIGVtYWlsLWFkZHJlc3NlIGVpbmVzIGFuZGVyZW4genUKZ2ViZW4uCgpQaWxncmltCgpQUzogSWNoIGhhbHRlIFNseWZveCdzIFZvcnNjaGxhZyB1ZWJyaWdlbnMgZnVlciBnYW56IGd1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFLU1haWwtQWRyZXNzZSBiZWltIEZpbmdlcm4gKExlaWJuaXosICA3LiBPa3QgMjAwMCwgMTE6NDA6MzApOgp+IyEgcm49U2x5Zm94IHJ0PTk3MDgzMzI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MDgzMzI1NQpmaW5kZSBpY2ggZWluZSBndXRlIGlkZWUuCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmlzc2NoZW4gc3RhdGlzdGlrIHZvbiBIYXRlIDotKSAoSmVuYW5kcmEsIDE0LiBPa3QgMjAwMCwgMTE6NTM6MTkpOgpsZWlkZXIgd2FyIGRlciBhbmZhbmcgZGVyIHN0YXRpc3Rpay1vcmdpZSBzY2hvbiBhdXMgZGVyIGViZW5lIHJhdXNnZXNjcm9sbHQsCmhpZXIgZGFzLCB3YXMgaWNoIG5vY2ggcmV0dGVuIGtvbm50ZToKCltBbGxnZW1laW46SGF0ZV0gYWt0aXYgd2FyZW46IGlubmVyaGFsYiAyNGg6IDQyNCwgaW5uZXJoYWxiIDEgTW9uYXRzOiAyMjg4IHVuZApbQWxsZ2VtZWluOkhhdGVdIGlubmVyaGFsYiBkZXMgbGV0enRlbiBKYWhyZXMgODQ3MSA8MTk6MDU6MzM+CltBbGxnZW1laW46SGF0ZV0gaG1tLCAxNzA1IHZlcnNjaGllZGVuZSAiV2FmZmVuIiA8MTk6MTA6MDk+CltBbGxnZW1laW46SGF0ZV0gMjc2OSBSdWVzdHVuZ2VuCltBbGxnZW1laW46SGF0ZV0gcmVnaXN0cmllcnQgc2luZCA5OTAgV2FmZmVuCltBbGxnZW1laW46SGF0ZV0gaGV5LCB1bmQgMjAyMSBSdWVzdHVuZ2VuCltBbGxnZW1laW46VmluY2VudF0gd2l2aWVsZSBwbG9heWVyZmlsZXMgZ2lidCBlcyBkZW5uIGluc2dlc2FtdCBpbSBNRwpbQWxsZ2VtZWluOlZpbmNlbnRdIG1vbWVudGFuPwpbQWxsZ2VtZWluOkhhdGVdIHNvIHp3aXNjaGVuIDI3IHVuZCAyOCB0YXVzZW5kCltBbGxnZW1laW46SGF0ZV0gV2lyIHVlYmVyd2FjaGVuIGNhIDIwMDAgU1BpZWxlciB1bmQgNTAwMCBzaW5kIHNjaG9uIGdldG9ldGV0CltBbGxnZW1laW46SGF0ZV0gd29yZGVuCltBbGxnZW1laW46SGF0ZV0gS2xlaW5lciBXaXR6CltBbGxnZW1laW46SGF0ZV0gMTA4MzkgbmljaHQgYWJnZWFyYmVpdGV0ZSBUWVBPcwpbQWxsZ2VtZWluOkhhdGVdIDQ2NTMgbmljaHQgYWJnZWFyYmVpdGV0ZSBCVUdTCltBbGxnZW1laW46SGF0ZV0gNzAyNSBuaWNodCBhYmdlYXJiZWl0ZXRlIElkZWVuCltBbGxnZW1laW46SGF0ZV0gQW5vcmlzOiA4IG1hbCBoYXN0ZSBiaXNoZXIgd2FzIGFiZ2VzZXR6dApbQWxsZ2VtZWluOkhhdGVdIGFsc28gaWNoIHphZWhsZSBoaWVyIHNvIDY1ODggbnBjcwpbQWxsZ2VtZWluOkhhdGVdIGluc2dlc2FtdCB3dXJkZW4gaW4gZGVuIDk5IFRhZ2VuIGJpc2hlciA1LDggTWlvIE9iamVrdGUKW0FsbGdlbWVpbjpIYXRlXSBlcnNjaGFmZmVuCltBbGxnZW1laW46SGF0ZV0gZXMgZ2lidCB3b2hsIGRlcnplaXQgMTc4IE9iamVrdGUgbWl0IGVpbmVtIEhlcnpzY2hsYWcgdW5kIDQuMgpbQWxsZ2VtZWluOkhhdGVdIE1pbyBtYWwgd3VyZGUgZWluIGhlcnpzY2hsYWcgYXVzZ2VmdWVocnQgOi0pCltBbGxnZW1laW46VGlhbWFrXSBkaWUgNC4yIE1pb3Mgc2luZCBhYmVyIG5pY2h0IGZ1ZXIgZGllIGVpbnplbG5lbiBTcGllbGVyCltBbGxnZW1laW46VGlhbWFrXSBhdWZzdW1taWVydC4gU3ByaWNoOiBudXIgd2VpbCBoaWVyIH43MCBTcGllbGVyK1NlaGVyCltBbGxnZW1laW46VGlhbWFrXSBlaW5nZWxvZ2d0IHNpbmQsIHphZWhsdCBkZXIgbmljaHQgamVkZXMgTWFsIHVtIDcwIGhvY2gsCltBbGxnZW1laW46VGlhbWFrXSBzb25kZXJuIG51ciB1bSAxLiBNYW4ga29lbm50ZSBhdWNoIHNhZ2VuLCBkaWUgVXB0aW1lCltBbGxnZW1laW46VGlhbWFrXSBiZXRyYWVndCBIZXJ6c2NobGFlZ2UqMiBpbiBTZWt1bmRlbiA7LSkKW0FsbGdlbWVpbjpIYXRlXSBvaCwgd2llIGljaCBnZXJhZGUgZXJrbGFlcnQgYmVrb21tZSBzaW5kIGRpZSA0LjIgTWlvCltBbGxnZW1laW46SGF0ZV0gSGVyenNjaGxhZWdlLCBlaWdlbnRsaWNoIG51ciBkaWUgZ2VzdGFydGV0ZW4gSGVyenNjaGxhZWdlLApbQWxsZ2VtZWluOkhhdGVdIGFsc28gZGVyIGpld2VpbHMgZXJzdGUgdW5kIGZ1ZXIgU3BpZWxlciB1bmQgTW9uc3RlciB6dXNhbW1lbgpbPE1hc3RlUj46PE1hc3RlUj5dIEltIE1vbWVudCBzaW5kIGluc2dlc2FtdCA1MyBFYmVuZW4gbWl0IDExNCBUZWlsbmVobWVybgpbPE1hc3RlUj46PE1hc3RlUj5dIGFrdGl2LiBEZXIgPE1hc3RlUj4gd3VyZGUgZGFzIGxldHp0ZSBtYWwgYW0gRnJlLCAgNy4gSnVsCls8TWFzdGVSPjo8TWFzdGVSPl0gMjAwMCwgMTM6MzY6MzQgdm9uIFRpYW1hayBuZXUgZ2VzdGFydGV0LiBTZWl0ZGVtIHd1cmRlbgpbPE1hc3RlUj46PE1hc3RlUj5dIDI5MjcgRWJlbmVuIG5ldSBlcnpldWd0IHVuZCAyODc0IHplcnN0b2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiaXNzY2hlbiBzdGF0aXN0aWsgdm9uIEhhdGUgOi0pIChQaWxncmltLCAxNC4gT2t0IDIwMDAsIDEyOjA4OjQ4KToKfiMhIHJuPUplbmFuZHJhIHJ0PTk3MTUxNzE5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MTUxNzE5OQpTY2hhZGUsCgppY2ggc3VjaCBub2NoIGRlbiBBbmZhbmcgLi4uIGVpbiBwYWFyIFphaGxlbiBmdWVyIGRpZSBGQVEgLi4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJpc3NjaGVuIHN0YXRpc3RpayB2b24gSGF0ZSA6LSkgKExpYXJhLCAxNC4gT2t0IDIwMDAsIDEzOjQyOjQyKToKfiMhIHJuPVBpbGdyaW0gcnQ9OTcxNTE4MTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcxNTE3MTk5CkljaCBoYWIgbm9jaCBlaW5lIFplaWxlIHZvcmhlcjogOy0pCgpbQWxsZ2VtZWluOkhhdGVdIGFsc28gZXMgZ2lidCBkZXJ6ZWl0IHNpZWJlbnVuZHp3YW56aWd0YXVzZW5kIHJlZ2lzdHJpZXJ0ZQpbQWxsZ2VtZWluOkhhdGVdIE5hbWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3QgKFRob3JhaywgMTUuIE9rdCAyMDAwLCAxNjo1NDoxOCk6CkFsc28gZWluZXIgbXVzcyBlcyBqYSBmcmFnZW4gdW5kIHdlaWxzIG1pY2ggaW50ZXJlc3NpZXJ0IG1hY2ggaWNocyBoYWx0OgoKV2VubiBkaWUgQWVuZGVydW5nZW4gZWgga2VpbmVtIGF1ZmZhbGxlbiwgd2FydW0gZGFubiBuaWNodCBiaXMgenUgbmVtIENyYXNoCm9kZXIgZWluZW0gWmVpdHB1bmt0IHdhcnRlbiwgd28gZWNodCBtZXJrYmFyZSBWZXJhZW5kZXJ1bmdlbiB3aXJrc2FtIHdlcmRlbgpzb2xsZW4/CgpUaG9yYWssIG9obmUgUGxhbiBhYmVyIG5ldWdpZXJpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3QgKEFuYXRvbCwgMTUuIE9rdCAyMDAwLCAxODoyMzo0NSk6Cn4jISBybj1UaG9yYWsgcnQ9OTcxNjIxNjU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcxNjIxNjU4CkRpZSBBbnR3b3J0IGxpZWd0IGluIGRlciBGcmFnZS4gQWVuZGVydW5nZW4sIGRpZSBrZWluZXIgd2lya2xpY2ggCmJlbWVya3QsIGRlbm5vY2ggYWJlciB3aWNodGlnIGdlbnVnIGZ1ZXIgZWluZW4gUmVib290IHNpbmQsIHdlcmRlbgp3b2hsIHp1IGRpZXNlciBBcnQgQWVuZGVydW5nZW4gZ2Vob2VyZW4sIGRpZSB2b2xsem9nZW4gd2VyZGVuCm11ZXNzZW4sIGRhbWl0IGFuZGVyZSBBZW5kZXJ1bmdlbiB1ZWJlcmhhdXB0IGFuZ2VnYW5nZW4gd2VyZGVuCmtvZW5uZW4uCgpVbmQgZWluZW4gYXJiZWl0c2xvc2VuIFRpYW1haywgZGFzIHdvbGxlbiB3aXIgZG9jaCBuaWNodCB3aXJrbGljaC4KCkp1c3QgZ3Vlc3NpbmcsCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9yc2NoZXJwdW5rdGUgKENocmlzdG9waGVyLCAyMS4gT2t0IDIwMDAsIDE2OjE2OjE3KToKRm9yc2NoZXJwdW5rdGUsCgoKaWNoIGhhYmUgaGV1dGUgdW5kIGdlc3Rlcm4gIGVpbiBncm9lc3NlcmVzIEdlYmlldCBlcmt1bmRldCB1bmQgZGFuYWNoIGdlbWVya3QgCmRhcyBpY2ggb2ZmZW5zaWNodGxpY2gga2VpbmUgU3R1ZmVucHVua3RlIGJla2FtICggZXJob2VoZSBnYWIgZGllIGdsZWljaGUgCk1lbGR1bmcgKS4KQWxzIGljaCBkYXJhdWYgRnJldW5kZSBhbnNwcmFjaCBrYW0gZGFzIEdlcnVlY2h0IGF1ZiwgZGFzcyBlcyB6dXIgWmVpdApQcm9ibGVtZQptaXQgZGVuIEZvcnNjaGVycHVua3RlbiBnaWJ0IHVuZCBtYW4gdmllbGxlaWNodCBrZWluZSBmaW5kZW4ga2Fubi5BbmdlYmxpY2gKd3VyZGUgZGEgZXR3YXMgZ2VhZW5kZXJ0IHdhcyB2aWVsbGVpY2h0IG5vY2ggbmljaHQgcmljaHRpZyBsYWV1ZnQuCgpTY2hhZGUgZmluZGUgaWNoIGRhcyBkaWVzIG5pY2h0IG9mZml6aWVsIGluIGRlciBNUEEgYmVrYW5udCBnZW1hY2h0CndpcmQvd3VyZGUuClNvIGhhZXR0IGRhcyBlcmZvcnNjaGVuIGRlciBDaGFvc2dpbGRlIGF1ZiBlaW4gYW5kZXJtYWwgbGVnZW4ga29lbm5lbiwgZGVuIAplaW4gendlaXRlcyBNYWwgZGFzIGdsZWljaGUgR2ViaWV0IGVyZm9yc2NoZW4gaXNzIGVoZXIgbmV0IHNvIHdpdHppZy4KCihJY2ggaGFiIGF1Y2ggTWFnaWVyIGF1ZiBkaWUgU2FjaGUgYW5nZXNwcm9jaGVuIGRpZSBtaXIgZGFzIEdlcnVlY2h0IHp3YXIgCiBuaWNodCBiZXN0YWV0aWdlbiBrb25udGVuIGFiZXIgYW5kZXV0ZXRlbiBkYXMgaWNoIHZpZWxsZWljaHQgbmljaHRzIAogZmFsc2NoZXMgaG9lcnRlICkKCkdydXNzIENocmlzdG9waGVyCgpQLlMuOiBNQU4gQkVBQ0hURSBCSVRURSBVTkJFRElOR1QgREVOIEtPTkpVTktUSVYgISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyZXVuZGUgKEltdGl5YXosIDIxLiBPa3QgMjAwMCwgMjI6MTM6NDEpOgpoaSwKd2llIGV1Y2ggdmVybXV0bGljaCBhdWZnZWZhbGxlbiBpc3QsIGJpbiBpY2ggZmFzdCBuaWUgYW53ZXNlbmQuIGljaCBtb2VjaHRlIHVtCmV1cmUgdmVyemVpaHVuZyBiaXR0ZW4sIGRhc3MgaWNoIG51biBtZWluIGZyZXVuZHNjaGFmdHNiYW5kIGF1ZmxvZXNlLiBlcyBpc3QKbmljaHRzIHBlcnNvZW5saWNoZXMsIGljaCBmdWVobGUgbWljaCBkYW5uIGVpbmZhY2ggYmVzc2VyLiBlcyB3YXIgbWlyIGVpbmUKZWhyZSwgbWl0IGV1Y2ggdmVyYnVuZGVuIHp1IHNlaW4KaW10aXlheiwgZGllIHNlbHRlbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmV1bmRlIChMdWcsIDIxLiBPa3QgMjAwMCwgMjM6MDg6NDUpOgp+IyEgcm49SW10aXlheiBydD05NzIxNTkyMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIxNTkyMjEKCk9od2VpYWgsCgp3YXMgZnVlciBlaW4gZXJiYWVybWxpY2hlcyBHZWhldWxlLiByZWlzc3QgZGFzIGpldHp0IGVpbj8gS2FubiBtYW4gc2ljaApoZXV0enV0YWdlIG5pY2h0IG1laHIgZWluZmFjaCBzZWxiZXIgbG9lc2NoZW4/IE51biBzY2hvbiB3ZWluZXJsaWNoZQpGYmFuZC1Mb2VzY2h0aXJhZGVuLgoKTWlyIHdpcmQgc2NobGVjaHQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9yc2NoZXJwdW5rdGUgKFJpa3VzLCAyMi4gT2t0IDIwMDAsIDE1OjE4OjEwKToKfiMhIHJuPUNocmlzdG9waGVyIHJ0PTk3MjEzNzc3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjEzNzc3NwpIbSwKCndlbmRlIERpY2ggbWFsIGFuIG1pY2gsIHdlbm4gaWNoIG1hbCBkYSBiaW4hIEljaCBoYWJlIGJlaSBkaXIgbmFjaGdlc2VoZW4KdW5kIER1IGhhc3QgYXVjaCBlaW5pZ2UgRlBzIHNlaXQgbWVpbmVyIFVtc3RlbGx1bmcgZXJmb3JzY2h0LiBNZWluZQp0ZXN0aWVzIGJla29tbWVuIGF1Y2ggRlBzLi4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKNSBXb2VydGVyIChIYXNpbSwgMjMuIE9rdCAyMDAwLCAxMjo0ODowOCk6CkljaCBoYWJlIGdlaG9lcnQsIGVzIGdhZWJlIDUgV29lcnRlciBpbSBkZXV0c2NoZW4sIGRpZSBhdWYgbmYgZW5kZW4uCkljaCBoYWJlIGFsbGVyZGluZ3MgZXJzdCA0IGdlZnVuZGVuLCBkaWUgZGEgc2luZDogRnVlbmYsIEdlbmYsIEhhbmYsIFNlbmYKV2VtIGZhZWxsdCBkYXMgbGV0enRlIHdvcnQgZWluPyBXZW5uIGlociBlcyBmaW5kZXQsIG1haWx0IG1pciwgZGFua2UKSGFzaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA1IFdvZXJ0ZXIgKFBob2JvcywgMjMuIE9rdCAyMDAwLCAxMjo0OTo0Mik6Cn4jISBybj1IYXNpbSBydD05NzIyOTgwODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIyOTgwODgKVW5kIGljaCBoYWIgZ2Vob2VydCwgZXMgZ2lidCBpbSBFbmdsaXNjaGVuIDMgV29lcnRlciwgZGllIGF1ZiAtZ3J5IGVuZGVuIC4uLgo6KQoKUGhvYm9zICAtICBhbmdyeSwgaHVuZ3J5IGFuZCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA1IFdvZXJ0ZXIgKEFuYXRvbCwgMjMuIE9rdCAyMDAwLCAxMzowMjoyOCk6Cn4jISBybj1IYXNpbSBydD05NzIyOTgwODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIyOTgwODgKU28gZ2VoZSBlciBzaWNoIHNlaW5lIE9ocmVuIHdhc2NoZW4uCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogNSBXb2VydGVyIChDYXR3ZWF6bGUsIDIzLiBPa3QgMjAwMCwgMTM6MDU6MzEpOgp+IyEgcm49UGhvYm9zIHJ0PTk3MjI5ODE4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjI5ODA4OApJY2ggd3VlcmRlIHNhZ2UsIGlociBzZWlkIGJlaWRlIGVpbmUgWmFobCB6dSBob2NoLgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKClBTOiBJY2ggYmVyZWl0ZSBtaWNoIGRhbm4gc2Nob24gbWFsIGF1ZiBkZW4gRWluc2NobGFnIGRlcyBHZWdlbmJld2Vpc2VzCiAgICB2b3IuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo4IEtvbnNvbmFudGVuIChWaW5jZW50LCAyMy4gT2t0IDIwMDAsIDE2OjA4OjAwKToKUGFyYWxsZWwgenUgZGVyIEZyYWdlIG1pdCBkZW4gNSBXb2VydGVybiwgZGllIGF1ZiBuZiBlbmRlbiwgc3VjaGUgaWNoCmdhZW5naWdlIGRldXRzY2hlIFdvZXJ0ZXIsIGluIGRlbmVuIDggS29uc29uYW50ZW4gYXVmZWluYW5kZXIgc3Rvc3Nlbi4KWndlaSBzaW5kIG1pciBiZWthbm50LCBhYmVyIHZpZWxsZWljaHQgZ2lidHMgamEgbm9jaCBtZWhyPwoKV2VyIGVpbnMgZ2VmdW5kZW4gaGF0Li4uYml0dGUgcGVyIG1haWwgYW4gbWljaC4gCgpHcnVzcwpWaW5jZW50CgpQLlMuOiBXb2VydGVyIG1pdCA2IGF1ZmVpbmFuZGVyc3Rvc3NlbmRlbiBLb25zb25hbnRlbiBzaW5kIHVlYnJpZ2VucyBzZWhyCmhhZXVmaWc6IFp1bSBCZWlzcGllbDogS3VlaGxzY2hyYW5rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDggS29uc29uYW50ZW4gKFBob2JvcywgMjMuIE9rdCAyMDAwLCAxNjoxOTo1Nik6Cn4jISBybj1WaW5jZW50IHJ0PTk3MjMxMDA4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjMxMDA4MApBbmdzdHNjaHdlaXNzCkJvcnNjaHRzY2gKR2VzY2hpY2h0c3NjaHJlaWJ1bmcKR2x1ZWNrd3Vuc2Noc2NocmVpYmVuCkxlYmVuc3JoeXRobXVzCgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogOCBLb25zb25hbnRlbiAoSmFuaXNhLCAyMy4gT2t0IDIwMDAsIDE2OjQ1OjI3KToKfiMhIHJuPVZpbmNlbnQgcnQ9OTcyMzEwMDgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcyMzEwMDgwCkhhbGxvZWxlLAoKc2FndCBtYWwsIGV1Y2ggaXN0IGFiZXIgYXVmZ2VmYWxsZW4sIGRhc3MgZGFzIGFsbGVzIHp1c2FtbWVuZ2VzZXR6dGUgV29lcnRlcgpzaW5kLCBvZGVyPz8/CkFuZGVybmZhbGxzIHNpbmQgOCBLb25zb25hbnRlbiBpbiBlaW5lbSBXb3J0IGVoZXIgdW53YWhyc2NoZWlubGljaC4KCkphbmkgd29sbHRlIG51ciBpaHJlbiBTZW5mIGRhenVnZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogOCBLb25zb25hbnRlbiAoUm9uZGEsIDIzLiBPa3QgMjAwMCwgMTc6MDg6MjUpOgp+IyEgcm49SmFuaXNhIHJ0PTk3MjMxMjMyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjMxMDA4MApFaiBMZXV0ZSwgc2VpZCBJaHIgZWluZmFsbHNsb3MsIGlzdCBkb2NoIGdhbnogc2ltcGVsOgoKCkVMQkVSRUVFRUVFRUVFRUVFRVRUVFRUVFRUVFRUVFRUISEhIQoKS0FESUlJSUlJSUlJSUlJSUlJU1NTU1NTU1NTU1NTISEhISEKCkhvZXJ0IG1hbiBqZWRlbiBUYWcsIGtlbm50IGplZGVyIC0gdW5kIGhhdCBzbyB2aWVsZSBWb2xha2UgLi4uIE1pc3QgU2Nyb2xsIQpWb2thbGUgdW5kIEtvbnNvbmFudGVuIHNvIHZpZWwgbWFuIHdpbGwuLi4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxIFdvcnQgYXVzIDEgU2lsYmUgbWl0IDEwIEJ1Y2hzdGFiZW4gKFllbmRpLCAyNC4gT2t0IDIwMDAsIDEwOjE4OjU2KToKTmEsIHdpZXZpZWxlIFdvZXJ0ZXIgZmluZGV0IGlociBkZW5uLCBkaWUgYXVzIGVpbmVyIFNpbGJlIGJlc3RlaGVuLCBhYmVyIDEwCkJ1Y2hzdGFiZW4gZW50aGFsdGVuPyAKCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDggS29uc29uYW50ZW4gKE5pZXRlLCAyNC4gT2t0IDIwMDAsIDExOjI0OjMzKToKfiMhIHJuPVJvbmRhIHJ0PTk3MjMxMzcwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjMxMDA4MAplcyBnYWIgKG9kZXIgbm9jaCBha3Rpdj8pIHVlYnJpZ2VucyBtYWwgZWluZW4gdXMtYW1lcmlrYW5pc2NoZW4gdm9sbGV5YmFsbC0Kc3BpZWxlciBuYW1lbnMgcmF5IGN0dnJ0bGlrLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYnR3IChBbG1kdWRsZXIsIDI0LiBPa3QgMjAwMCwgMTk6MDQ6NDgpOgpzdWNoZSBqYSBpbW1lcm5vY2ggZWluIHdvcnQgZGFzIHNpY2ggc2F1YmVyIGF1ZiBrbm9ycGVsIHJlaW10Li4uCmphamEKc2VuZGxpbmdlcnRvcnBsLgpLLlZhbGVudGluIGxhZXNzdCBncnVlc3Nlbi4uLgprZW5udCB3ZXIgZWlucz8KCgpnZXNwYW5udCwgQWxtaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogOCBLb25zb25hbnRlbiAoRWxiZXJldCwgMjQuIE9rdCAyMDAwLCAxOTo1MjoxMCk6Cn4jISBybj1OaWV0ZSBydD05NzIzNzk0NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIzMTAwODAKSW4gZGllc2VtIFp1c2FtbWVuaGFuZywgd20gZmFsbGVuIGxhbmdlIFdvZXJ0ZXIgYXVmLCBiZWkgZGVuZW4ga2VpbiBCdWNoc3RhYmUKZG9wcGVsdCB2b3Jrb21tdCwgd29iZWkgVW1sYXV0ZSB1bmQgc3MgKHN6KSBhbHMgZWlnZW5lciBCdWNoc3RhYmUgZ2V6YWVobHQKd2VyZGVuLiBBbHNvIFdvZXJ0ZXIgd2llIEhlaXpvZWxydWVja3N0b3NzYWJkYWVtcGZ1bmcgOikKCkVsYmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMSBXb3J0IGF1cyAxIFNpbGJlIG1pdCAxMCBCdWNoc3RhYmVuIChEb3R6LCAyNC4gT2t0IDIwMDAsIDIxOjEyOjE4KToKfiMhIHJuPVllbmRpIHJ0PTk3MjM3NTUzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjM3NTUzNgoKSWNoIGhhYiBlaW5zIGdlZnVuZGVuLiA6XikKCkRvdHogKHdlaXRlciBzZWluIEJvcnNjaHRzY2ggbWFtcGZlbmQgdW5kIGFuIGFsdGUgSGFuZ21hbi1aZWl0ZW4gZGVua2VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMSBXb3J0IGF1cyAxIFNpbGJlIG1pdCAxMCBCdWNoc3RhYmVuIChTY2h3dWJiZWwsIDI1LiBPa3QgMjAwMCwgMDk6NDM6MTMpOgp+IyEgcm49RG90eiBydD05NzI0MTQ3Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIzNzU1MzYKVW5kIHdhcyBpc3QgbWl0IFdvZXJ0ZXJuIG9obmUgVm9rYWxlPwoKSWNoIGRlbmtlIGRhIGFuIHNvd2FzIHdpZSBkaWUgSW5zZWwgS3JrLi4uLgoKR2VzcGFubnQgd2FydGVuZCwKU2Nod3ViYmVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMSBXb3J0IGF1cyAxIFNpbGJlIG1pdCAxMCBCdWNoc3RhYmVuIChQaG9ib3MsIDI1LiBPa3QgMjAwMCwgMTI6Mzc6MTkpOgp+IyEgcm49WWVuZGkgcnQ9OTcyMzc1NTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcyMzc1NTM2CnNjaG5hcmNoc3QsIHNjaGxlaWNoc3QsIHNjaHJ1bXBmc3QsIHNjaGx1bXBmc3QKCnBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDggS29uc29uYW50ZW4gKFJhcmRpYW4sIDI1LiBPa3QgMjAwMCwgMTQ6Mzk6MDEpOgp+IyEgcm49VmluY2VudCBydD05NzIzMTAwODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIzMTAwODAKSWhyIGhhYnQgamEgYWxsZSBMYW5nZXdlaWxlLi4uCgpSYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAxIFdvcnQgYXVzIDEgU2lsYmUgbWl0IDEwIEJ1Y2hzdGFiZW4gKERvdHosIDI1LiBPa3QgMjAwMCwgMTY6NDY6NDIpOgp+IyEgcm49U2Nod3ViYmVsIHJ0PTk3MjQ1OTc5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjM3NTUzNgoKTmFqYSwgZGVyIEtsYXNzaWtlciBLcmsgaXN0IGhhbHQgZWluIE5hbWUgdW5kIHNvbGNoZSB3YXJlbiBqYQpuaWNodCBnZXN1Y2h0LCB3ZW5uIGljaCBkYXMgbm9jaCByaWNodGlnIGltIEtvcGYgaGFiLiBBbnNvbnN0ZW4KZ2VodCBhdWNoIFN0eXguIChOZWluLCBsYXV0IFJlZ2Vsd2VyayBkZXIgZGV1dHNjaGVuIFJlY2h0c2NocmVpYnVuZwppc3QgInkiIGtlaW4gVm9rYWwuKQoKRG90eiwgbWFsIHdhcnRlbmQsIHdhcyBoaWVyIHNvbnN0IG5vY2ggZnVlciBhYnN0cnVzZSBTYWNoZW4gZ2VzdWNodAp1bmQgZ2VmdW5kZW4gd2VyZGVuIDpeKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMSBXb3J0IGF1cyAxIFNpbGJlIG1pdCAxMCBCdWNoc3RhYmVuIChIYXNpbSwgMjYuIE9rdCAyMDAwLCAxNTowMzo0Nyk6Cn4jISBybj1Eb3R6IHJ0PTk3MjQ4NTIwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjM3NTUzNgpKYSwgZ2VuYXUsIHdhcnVtIGlzdCAiWSIgZWlnZW50bGljaCBrZWluIFZva2FsLCBvYndvaGwgZXMgc2ljaCBkb2NoIHdpZSBlaW5lcgp2ZXJoYWVsdD8gRGFzIGlzdCBkb2NoIG1hbCB3aWVkZXIgcmVpbmUgV2lsbGt1ZXIhCgpIYXNpbSwgb2huZSAiWSIgaW0gTmFtZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDEgV29ydCBhdXMgMSBTaWxiZSBtaXQgMTAgQnVjaHN0YWJlbiAoU2Nod3ViYmVsLCAyNi4gT2t0IDIwMDAsIDIyOjE3OjM5KToKfiMhIHJuPUhhc2ltIHJ0PTk3MjU2NTQyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjM3NTUzNgpOdW4sIGltIEdydW5kZSBpc3QgWSBWb2thbCB1bmQgS29uc29uYW50IHp1Z2xlaWNoLCBqZSBuYWNoZGVtIHdvIHVuZCB3aWUgZXMgaW0Kd29ydCBzdGVodC4gZXJpbm5lcnQgZWluIGJpc3NjaGVuIGFuIGRhcyBpIGRlciBhbHRlbiBsYXRlaW5lciwgZGFzcyBhdWNoIHNvIG5lCnp3aXNjaGVucm9sbGUgZWlubmFobS4KClNjaHd1YmJlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxIFdvcnQgYXVzIDEgU2lsYmUgbWl0IDEwIEJ1Y2hzdGFiZW4gKFllbmRpLCAyNy4gT2t0IDIwMDAsIDEwOjE1OjAzKToKfiMhIHJuPVBob2JvcyBydD05NzI0NzAyMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIzNzU1MzYKT0ssIGRhbm4gd2VyZmUgaWNoIG5vY2ggZWluICJrbmF1dHNjaHN0IiBpbiBkaWUgUnVuZGUgLS0KdW5kIGVyaG9laGUgZGllIEFuZm9yZGVydW5nZW46CgpLZW5udCBqZW1hbmQgZWluIGVpbnNpbGJpZ2VzIFdvcnQgbWl0IEVMRiBCdWNoc3RhYmVuPwpEYSB3aXJkcyBkYW5uIG5hZW1saWNoIHNjaHdpZXJpZy4uLgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMSBXb3J0IGF1cyAxIFNpbGJlIG1pdCAxMCBCdWNoc3RhYmVuIChBcHN1LCAgNS4gTm92IDIwMDAsIDAxOjQ4OjI3KToKfiMhIHJuPVNjaHd1YmJlbCBydD05NzI0NTk3OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzIzNzU1MzYKSW0gVHNjaGVjaGlzY2hlbiBnaWJiZXQgZ2FuemUgU2FldHplIG9obmUgVm9rYWw6CgpTa3JjIHByc3Qgc2tyeiBrcmsKClN0ZWNrIERpciBEZWluZW4gRmluZ2VyIGluIGRlbiBIYWxzLCBmcmVpIHVlYmVyc2V0enQuIExlaWRlciBrYW5uIGRhcyBNRyBrZWluZQpBa3plbnRlLCBzZWxiaWdlcyBmZWhsdCBhdWYgZGVtIGVyc3RlbiBjLCBzb3JyeSA7LSkKCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDEgV29ydCBhdXMgMSBTaWxiZSBtaXQgMTAgQnVjaHN0YWJlbiAoWW5nLCAgNi4gTm92IDIwMDAsIDEyOjMxOjA2KToKfiMhIHJuPUFwc3UgcnQ9OTczMzg1MzA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcyMzc1NTM2ClNvcnJ5LCBhYmVyIGRhcyBlcnN0ZSBXb3J0IGhlaXNzdDogU3RyY14gKGN6Ljogc3RydHNjaCkKClluZywga2xlaW5saWNoIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLyAoU2luYSwgIDYuIE5vdiAyMDAwLCAxNDo1Njo1Nik6CkhtLCB2aWVsbGVpY2h0IGhhYiBpY2ggamEgd2FzIHZlcnBhc3N0LCBhYmVyIHdhcnVtIGhhYmVuIGRpZSBEYWVtb25lbgppbiBNb3Jnb3RocyBLYXRhcyBrZWluZSBMZWljaGVuIG1laHI/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC4vIChQYXJhY2Vsc3VzLCAgNi4gTm92IDIwMDAsIDE2OjUwOjA2KToKfiMhIHJuPVNpbmEgcnQ9OTczNTE5MDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTczNTE5MDE2CldhaHJzY2hlaW5saWNoIGVpbiBCdV5IXkhuZXVlcyBGZWF0dXJlLgoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogLi8gKEdvcm9nLCAgNi4gTm92IDIwMDAsIDE4OjQ4OjQwKToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTczNTI1ODA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTczNTE5MDE2Ck5hamEgYXVmIEFucmVndW5nIHZvbiBTcGllbGVybiBhdWYgbmVtIE1TLVN0YXRpIGhhdCBlciBkaWUgTGVpY2hlbiBlbnRmZXJudCwKZGEgRGFlbW9uZW4gamEgbmljaHQgc3RlcmJlbiBzb25kZXJuIG51ciBpbiBlaW5lIGFuZGVyZSBEaW1lbnNpb24gdmVyYmFubnQKd2VyZGVuLgpHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogLi8gKE5penpsLCAgNi4gTm92IDIwMDAsIDIxOjExOjA0KToKfiMhIHJuPUdvcm9nIHJ0PTk3MzUzMjkyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MzUxOTAxNgprb21pc2NoZXJ3ZWlzZSBoYWJlbiBkaWUgbmdob2dzIGFiZXIgbmUgbGVpY2hlIHVuZCByZWFnaWVyZW4gYXVmICd0b2V0ZQpkYWVtb24nIDopCgpOaXp6bCwgKnNlbmYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAuLyAoTWF0aXMsICA2LiBOb3YgMjAwMCwgMjE6MTM6MzcpOgp+IyEgcm49Tml6emwgcnQ9OTczNTQxNDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTczNTE5MDE2Cj4gcm9ocmhvZXJlCkRpZXNlciBSYXVtIHd1cmRlIHZvbiBNb3Jnb3RoIGdlc2NocmllYmVuLgoKU29uc3Qgbm9jaCBGcmFnZW4/IDtvKQoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogLi8gKEdvciwgIDYuIE5vdiAyMDAwLCAyMTo1NDowMSk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTk3MzUyNTgwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MzUxOTAxNgpJcyBkb2NoIGxvZ28gOykgS2VpbmUgTGVpY2hlIC0+IGtlaW5lIE1vZXJkZXJtZWxkdW5nIC0+IGtlaW5lIFRyaWdnZXIgOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAuLyAoRGllZGVyLCAgNy4gTm92IDIwMDAsIDEyOjE4OjUyKToKfiMhIHJuPUdvcm9nIHJ0PTk3MzUzMjkyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MzUxOTAxNgp2aWVsbGVpY2h0IGthbm4gZXIgamEgImF1ZiBBbnJlZ3VuZyB2b24gU3BpZWxlcm4gaGluIiBtYWwgZGFzIFJlcGZpbGUKYWJhcmJlaXRlbj8gOikKSXN0IGlyZ2VuZHdpZSBuaWNodCBzbyBwcmlja2VsbmQsIHdlbm4gbWFuIFR5cG9zLCBkaWUgbWFuIHZvciBuZW0gZ3V0ZW4gSmFocgpzY2hvbiBhYmdlc2V0enQgaGF0LCBpbW1lciBub2NoIHNlaGVuIG11c3MgLSBkYXMgc3RlaWdlcnQgbmljaHQgZ2VyYWRlIGRpZQpNb3RpdmF0aW9uLCB3ZWl0ZXJlIFR5cG9zLCBJZGVlbiBldGMuIGFienVzZXR6ZW4uCgpzY25yLApEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IC4vIChQYXJhY2Vsc3VzLCAgNy4gTm92IDIwMDAsIDEyOjM0OjE2KToKfiMhIHJuPURpZWRlciBydD05NzM1OTU5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzM1MTkwMTYKVmVybGFuZ3N0IER1IGRhIG5pY2h0IGVpbiBiaXNzY2hlbiB2aWVsPwoKUGFyYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IC4vIChTaW5hLCAgOS4gTm92IDIwMDAsIDEzOjEwOjE4KToKfiMhIHJuPUdvciBydD05NzM1NDQwNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzM1MTkwMTYKQWhoLCBoYXQgd29obCBlaW4gbmljaHQgbmFlaGVyIGdlbmFubnRlciBTcGllbGVyIHp1IG9mdCAnU0NITkFVWkUnIGdlc3BvdHRldDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaW4gc2FuZCAoSGVyb21jZmx5LCAxOS4gTm92IDIwMDAsIDE1OjI2OjUxKToKfiMhIHJuPVR3aW5naSBydD05NzQ2NDM5NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzQ2NDM5NDcKCnVuZCBkYXMgdm9uIG5lbSBzZWhlcnp3ZWl0aSAuLi4gYXVhIDopCi0tPiBzY2htYXJybiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA4IEtvbnNvbmFudGVuIChHcmltbWJvcm4sIDIxLiBOb3YgMjAwMCwgMjE6NTA6NTMpOgp+IyEgb249R3JpbW1ib3JuIG90PTk3NDgzOTgxOSBvZz13aXR6ZQp+IyEgb249QXBzdSBvdD05NzMzODUwNjEgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPVZpbmNlbnQgcnQ9OTcyMzEwMDgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTcyMzEwMDgwCmFuZ3N0c2Nod2Vpc3MKCkFwc3UsIGtvcnQgdW5uIGJ1ZW5uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiA4IEtvbnNvbmFudGVuIChHcmltbWJvcm4sIDIxLiBOb3YgMjAwMCwgMjE6NTE6MjcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk3NDgzOTg1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjMxMDA4MApTb3JyeSwgaGFiIG1pY2ggdmVydGlwcHQgdW5kIGRlbiBBcnRpa2VsIGRhYmVpIHZlcnNlaGVudGxpY2ggbmFjaCB3aXR6ZQp2ZXJsZWd0IGdlaGFidC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDggS29uc29uYW50ZW4gKFNpbmEsIDIzLiBOb3YgMjAwMCwgMTE6NTg6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk3NDgzOTg1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3MjMxMDA4MApJY2ggZGFjaHRlLCBlcyB3YXIgbmFjaCBkZW4gbWVpc3RlbiBfdmVyc2NoaWVkZW5lbl8gZ2VzdWNodD8hCkFsc28gYmVpIHZlcnNjaGllZGVuZW4gYmlldGUgaWNoIG1hbCBzaWViZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgU2FtdXJlaSwgZGVyIEtvZW5pZywgdW5kIGRpZSBhcm1lbiBTY2h3ZWluZSwgZGllIG9obmUgZGllIFNhbXVyZWkgenVtIEtvZW5pZyBrb21tZW4uLi4gKFVsbywgMjguIE5vdiAyMDAwLCAxMToxMzo1OSk6CkhhbGxvIQoKRGEgU2hpbm9iaSBzY2hvbiBsYWVuZ2VyIG5pY2h0bWVociBkYSBpc3QsIGJsZWlidCBkaWUgV2FydHVuZyBkZXIgUXVlc3QKS29uZnVzaXVzIGFuIG1pciBoYWVuZ2VuLiBadW0gRWlubGVzZW4gaW4gZGFzIFRoZW1hIHd1ZXJkZSBpY2ggbWljaCBmcmV1ZW4sCndlbm4gaWNoIGVpbnNjaGxhZWdpZ2UgTGl0ZXJhdHVyIChLTCkgenVnZW1haWx0IGJla29tbWVuIGtvZW5udGUuLi4gOy0pCgpHcnVzcywKVWxvCgpQLlMuIERlbiBBYnNlbmRlcm4gd2lyZCBhYnNvbHV0ZSBBbm9ueW1pdGFldCB6dWdlc2ljaGVydC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCB0c2NodWVzcyAoQmllcmNoZW4sIDI5LiBOb3YgMjAwMCwgMDE6MDE6MjkpOgp1bmQgdHNjaHVlc3MsCgoxOiBEYXMgVG90bWFjaGVuIHZvbiBsYXVmZW5kZW4gQnVncywgZWluaWdlIG5lbm5lbiBzaWUgU3BpZWxlciwgaXN0IHJlY2h0CiAgIHVuc2Nob2VuLgoyOiBIaWdoLCB3b3csIGRlciBMYW5kZXIgZmFuZCBkYXMgYXVjaCBuaWNodCBndXQsIGRhc3MgaWNoIGltbWVyIG51cgogICBzbyB0YXQsIHVuZCBuaWUgcmljaHRpZyB6dWhhdXRlLiBEYXMgZ2FiIGxhZWNoZXJsaWNoZSAxNCBUYWdlIDopCiAgIEljaCBzdGFuZCBpZGVsbmQgZGFiZWkgdW5kIHNhaCAoZWlnZW50bGljaCBnYXJuaWNodCwgaWNoIHdhciBpbiBlaW5lcgogICBLbmVpcGUpIGJlaSBkZXIgU3RyYWZlIHp1LgozLiBVaGksIGRhIGdhYnMgZG9jaCB0YXRzYWVjaGxpY2ggd2VuIG1pdCAzIHRhZ2VuIHBhdXNlLCBkZXIgaGF0IGFiZXIgbnVyCiAgIGVpbmVuIHBrIGJlZ2FuZ2VuLgo0OiBEYSBoaW50ZW4gaGlsZnQgZWluIEdvdHQgc2VpbmVyIFZlcndhbmRzY2hhZnQsIG5hamEsIGRlciBtdXNzIG1hbiBqYQogICBoZWxmZW4uICp3aW5rIGIqCjU6IEVpbiBXdW5zY2g/IEljaCBiaW4gYWIgamV0enQgZWluIFJlbnRuZXIuCjY6IEVpbiBXdW5zY2guLi4gaGFiIGljaCBqZXR6dCBlaW5lbiBmcmVpPyBOZW5lLCB1ZWJlcmFsbCBzY2hvbiwgbnVyIGhpZXIKICAgbmljaHQuCjc6IFdhcnVtIGVpZ2VudGxpY2g/Cjg6IEVnYWwsIHNjaHJlaWJlIGljaCBlYmVuIHdvYW5kZXJzLi4uIGFuZGVyZSBiZWhlcnJzY2hlbiBkYXMgQXVzbnV0emVuCiAgIGF1Y2ggZ3V0LgoKZ3J1c3MsCgogIC0gQmllcmNoZW4gLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2llaGUgYXVjaCBQYXJ0eS1SdWJyaWsgKFBpenphcGVwZSwgMzAuIE5vdiAyMDAwLCAxMzoxMDo1Myk6CgpTZWlkIGlociBzcG9udGFuPwoKRGEgc2ljaCBtZWluIEFiZmx1ZyB1ZWJlciBkZW4gVGVpY2ggbm9jaCB3ZWl0ZXIgbmFjaCBoaW50ZW4gdmVyc2NoaWVidCwgaGFldHRlCmljaCBqYSBzcG9udGFuIHdpZWRlciBMdXN0IHVuIGF1Y2ggdmllbGxlaWNodCBaZWl0LCBrdXJ6ZnJpc3RpZyBlaW5lCk5pa29sYXVzZmV0ZSBhdWYgZGVyIEJ1cmcgc3RlaWdlbiB6dSBsYXNzZW4uCkljaCBtdWVzc3RlIGRhbm4gZ2xlaWNoIG1sIG5hY2hmcmFnZW4sIG9iIHVuZCB3YW5uIGRpZSBCdXJnIG5vY2ggZnJlaSBpc3QgLQphYmVyIGVyc3RtYWwgYml0dGUgRmVlZGJhY2sgdm9uIGV1Y2gsIG9iIGlociBhbSAyLiBvZGVyIDMuIEFkdmVudHN3b2NoZW5lbmRlCihhbHNvIGVudHdlZGVyIGluIHp3ZWkgb2RlciBpbiBkcmVpIFdPY2hlbikgTHN1dCBhdWYgTXVkLVBhcnR5IGhhZXR0ZXQ/IQoKQW50d29ydGVuIGluIGRlciBQYXJ0eS1SdWJyaWsgb2RlciBwZXIgTWFpbCBhbiBtaWNoIQoKLVBQCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lIGdlc3VjaHQhIChWZXJnaWwsIDMwLiBOb3YgMjAwMCwgMTQ6Mjg6MjQpOgpLYW5uIG1pciBqZW0gc2FnZW4gd2llIGRlciBEYXJzdGVsbGVyIGRlcyBSYW1ib2xkIGF1cyBkZXIgU2VyaWUKRGVyIEJ1bGxlIHZvbiBUaG9lbHogaGVpc3QuCkRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWUgZ2VzdWNodCEgKEhvdXNlaG9sZGVyLCAzMC4gTm92IDIwMDAsIDE0OjI5OjQ0KToKfiMhIHJuPVZlcmdpbCBydD05NzU1OTA5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzU1OTA5MDQKbm9lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmcmFnZS4uLiAoRGFudGUsIDEwLiBEZXogMjAwMCwgMTg6Mzc6MjIpOgprYW5uIG1pciBqZW0gcGwgc2FnZW4gd2FzIGZ1ZXIgZWluIGZpbGV0eXAgbmFtZS5yIGlzdCAobW92aWUpLiByZWFscGxheWVyCndpbm1lZGlhcGxheWVyIHVzIGtlbm5lIGRhcyBhbGxlIG5pY2h0Lgp3b21pdCBrYW5uIG1hbiBkYXMgYW5zZWhlbj8hCmRhbmtlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoQmFib29uLCAxMS4gRGV6IDIwMDAsIDA5OjM4OjI0KToKRm9sZ2VuZGVyIEFydGlrZWwgc3RhbmQgbGV6dGVuIFNhbXN0YWcgaW4gZGVyCktvZWxuaXNjaGVuIFJ1bmRzY2hhdS4gQmluIGxlaWRlciBlcnN0IGpldHp0IHp1bSBBYnRpcHBlbgpnZWtvbW1lbi4gVmllbGxlaWNodCBpbnRlcmVzc2llcnRzIGphIGRlbiBlaW5lbiBvZGVyCmF1Y2ggYW5kZXJlbi4KCkJhQk9PbigpCgoKCk9ubGluZS1BZHZlbnR1cmUKClp1IE1hZ2llcm4gdW5kIFNlaGVybgoKSW4gZWluZSBmcmVtZGUgV2VsdCB0YXVjaGVuIFN1cmZlciBpbiBkZW0gT25saW5lLUFkdmVudHVyZQoiTW9yZ2VuR3JhdWVuIiBlaW4sIGRhcyB1ZWJlciBkaWUgU2VpdGUgaHR0cDovL21nLm11ZC5kZSB6dQplcnJlaWNoZW4gaXN0LiBIaWVyIG9lZmZuZXQgc2ljaCBlaW5lIGF1ZndhZW5kaWcgZ2VzdGFsdGV0ZSwKdmlydHVlbGxlIFdlbHQsIGluIGRlciBtYW4gc2ljaCB6dXNhbW1lbiBtaXQgYW5kZXJlbiBTcGllbGVybgp0dW1tZWx0LiBWZXJzY2hpZWRlbmUgQmVyZWljaGUgd2llIFVudGVyd2VsdCwgRHNjaHVuZ2VsIG9kZXIKYXVjaCBJbnNlbCB1bmQgR2ViaXJnZSBsYWRlbiBpbiBlaW4gUmVpY2ggdm9sbGVyIE1hZ2llciwKRWxmZW4gdW5kIFNlaGVybiBlaW4uIFp1bSBNaXRzcGllbGVuIG11c3MgbWFuIHNpY2ggYWxsZXJkaW5ncwphbm1lbGRlbi4gRnVlciBkZW4gZ2VsZWdlbnRsaWNoZW4gWmVpdHZlcnRyZWliIGVpZ25ldCBzaWNoCmRhcyBTcGllbCBkZXNoYWxiIG5pY2h0LiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ2VuZ3JhdWVuIGluIGRlciBSdW5kc2NoYXUgKERhcmlhLCAxMS4gRGV6IDIwMDAsIDIwOjM3OjU5KToKfiMhIHJuPUJhYm9vbiBydD05NzY1MjM5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKPiBadW0gTWl0c3BpZWxlbiBtdXNzIG1hbiBzaWNoIGFsbGVyZGluZ3MKYW5tZWxkZW4uIEZ1ZXIgZGVuIGdlbGVnZW50bGljaGVuIFplaXR2ZXJ0cmVpYiBlaWduZXQgc2ljaApkYXMgU3BpZWwgZGVzaGFsYiBuaWNodC4gCgpLYW5uIG1pciBqZW1hbmQgZGllc2UgQXJndW1lbnRhdGlvbnNrZXR0ZSBlcmxhZXV0ZXJuPyAKV2lyIGFsbGUgd2lzc2VuIGRhcyBkYXMgbWl0IGRlbSAiZ2VsZWdlbnRsaWNoZW4gWmVpdHZlcnRlaWIiIG5pY2h0IGhpbmhhdXQKKm5laW5pY2hiaW5uaWNodHN1ZWNodGlnKiAtIGFiZXIgd2llc28gaGF0IGRhcyB3YXMgbWl0IGRlbSBBbm1lbGRlbiB6dSB0dW4/CgoqZ3J1ZWJlbG5kKgpEYXJpYSBXZXR0ZXJ3YWNocwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoVHN1bmFtaSwgMTEuIERleiAyMDAwLCAyMTozODoxMCk6Cn4jISBybj1EYXJpYSBydD05NzY1NjM0Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKU0tBTkRBTCEhISEhCgonUG9sYXInIHd1cmRlIGVpbmZhY2ggdWViZXJzZWhlbi4gV2llZGVyIG1hbCBlaW4gdG90YWwgbmljaHQtcmVjaGVyY2hpZXJ0ZXIsCm5pY2h0LWZ1bmRpZXJ0ZXIgQXJ0aWtlbC4KClVuZCBkaWUgS2V0dGUgJ01hZ2llci1FbGZlbi1TZWhlcicgaXN0IGF1Y2ggZXR3YXMgc2VsdHNhbSA7KQoKRWluIFJlaWNoIHZvbGxlciBNYWdpZXI/IDopIEhtbW0uLi4uCgpUc3VuYW1pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoR25vbWUsIDEyLiBEZXogMjAwMCwgMDA6MjE6MjkpOgp+IyEgcm49RGFyaWEgcnQ9OTc2NTYzNDc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc2NTIzOTA0CndlaWwgZGVyIHp1c3RhZW5kaWdlIHJlZGFrdGV1ciBrZWluZW4gYmxhc3NlbiBzY2hpbW1lciBoYXQsIHdvdm9uIGVyCnNjaHJlaWJ0Pwp3ZWlsIGVyIHNpY2ggbWF4aW1hbCBlaW5tYWwgLSB1bmQgZGFzIGF1Y2ggbnVyIGFscyBnYXN0IC0gZWluZ2Vsb2dndCBoYXQ/Cgpnbk9tZSB2ZXJ3ZXR0ZXQgc2VpbmVuIGJhcnQgZGFkcmF1Zi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9yZ2VuZ3JhdWVuIGluIGRlciBSdW5kc2NoYXUgKFFpdGVzcywgMTIuIERleiAyMDAwLCAwOTo1NTo0Nik6Cn4jISBybj1Uc3VuYW1pIHJ0PTk3NjU2NzA5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NjUyMzkwNApaV0VSR0UhCgpJQ0ggV0lMTCBaV0VSR0UhIQoKWldFUkdFIFpXRVJHRSBaV0VSR0UhISEKClFJKiogLSBaV0VSSyEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoTW9udGFudXMsIDEyLiBEZXogMjAwMCwgMTE6MTg6MjQpOgp+IyEgcm49UWl0ZXNzIHJ0PTk3NjYxMTM0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NjUyMzkwNAoKRGFzIGtsaW5ndCBpcmdlbmR3aWUgd2llOgoKS1VFSEUhCgpJQ0ggV0lMTCBLVUVIRSEKCnVzdy4gSmV0enQgZGllIEZyYWdlOiBLYW5uIG1hbiBad2VyZ2UgYXVjaCBtZWxrZW4/IDotKQoKLU1vbnRhbnVzLiBFbGYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoQmFib29uLCAxMi4gRGV6IDIwMDAsIDExOjI0OjU3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk3NjYxNjMwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NjUyMzkwNApLYW5uIG1hbiBad2VyZ2UgYXVjaCBtZWxrZW4/IEd1dGUgRnJhZ2UhCkljaCB3dWVyZGUgc2FnZW4sIGRhcyBrb21tdCBhdWYgZGVuIFp3ZXJnIGFuLgpGcnVjaHR6d2VyZ2UgenVtIEJlaXNwaWVsIGxhc3NlbiBzaWNoIG51ciBsb2VmZmVsbi4KCkJhQk9PbihBTlRJX0RXQVJGX01PREUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoR3JpbW1ib3JuLCAxMi4gRGV6IDIwMDAsIDExOjMyOjEwKToKfiMhIHJuPUJhYm9vbiBydD05NzY2MTY2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKT2IgbWFuIFp3ZXJnZSBtZWxrZW4ga2FubiBtdXNzdCBEdSBzY2hvbiBkaWUgRWxmZW4gZnJhZ2VuLiBEaWUgaW50ZXJlc3NpZXJlbgpzaWNoIGRvY2ggZnVlciBhbGxlcywgd2FzIGF1Y2ggbnVyIGVudGZlcm50IHdpZSBzbyBlaW5lIEt1aHppdHplIGF1c3NpZWh0LiBWb3IKYWxsZW0gd2VubiBlcyBudXIgaW4gZWluZmFjaGVyIEF1c2Z1ZWhydW5nIGF1ZnRyaXR0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaXN0cmlidXRlZC1uZXQgKFBlcnRpbmF4ZSwgMTIuIERleiAyMDAwLCAyMToxMDozNSk6Ck5hY2hkZW0gbnVuIGluIGRlbiBsZXR6dGVuIE1vbmF0ZW4gZWluZSBnYW56ZSBNZW5nZSBuZXVlciBTcGllbGVyIGRhenVnZWtvbW1lbgpzaW5kIG1vZWNodGUgaWNoIGF1ZiBkYXMgUHJvamVrdCBkZXIgdmVydGVpbHRlbiBSZWNobmVyIGF1Zm1lcmtzYW0gbWFjaGVuLgpTcGllbGVyIGRlcyBNRyBiencuIGRlciBkZXV0c2NoZW4gTVVEcyBiZXRlaWxpZ2VuIHNpY2ggc2VpdCBsYW5nZW0gYW4gZGllc2VtClByb2pla3QsIHNpbmQgYWJlciBudW4gdm9uIGVoZW1hbHMgUGxhdHogODAgKG9kZXIgc28pIGF1ZiAxMTggYWJnZXJ1dHNjaHQuCkluZm9zIGdpYnRzIHVudGVyIGh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L3Byb2plY3RzLmh0bWwsIGRlbiBQbGF0eiBkZXIKZGV1dHNjaGVuIE11ZGRlciBmaW5kZXQgbWFuIHVudGVyCmh0dHA6Ly9zdGF0cy5kaXN0cmlidXRlZC5uZXQvcmM1LTY0L3RzZWFyY2gucGhwMz9zdD1tdWQuZGUuCgpBbHR0ZWlsbmVobWVyIHNvbGx0ZW4gdmllbGxlaWNodCBtYWwgaWhyZSBjbGllbnRlbiB1cGRhdGVuLgpQZXJ0aSogJiBDbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTW9yZ2VuZ3JhdWVuIGluIGRlciBSdW5kc2NoYXUgKFFpdGVzcywgMTMuIERleiAyMDAwLCAxODozODowMik6Cn4jISBybj1Nb250YW51cyBydD05NzY2MTYzMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKa29tbXQgaW1tZXIgZ2FueiBkcmF1ZiBhbiwgd2FzIGRlciBad2VyZyBnZXJhZGUgaW0gQmFydCBoYXQuLi4KUUkqKiBhbHMgWndlcmdlbmZyYXUgbmF0dWVybGljaCBvaG5lIEJhcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoTGlhcmEsIDEzLiBEZXogMjAwMCwgMTg6Mzk6MjgpOgp+IyEgcm49UWl0ZXNzIHJ0PTk3NjcyOTA4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NjUyMzkwNApGcmV2bGVyaW4uCgpMWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRpc3RyaWJ1dGVkLW5ldCAoUWl0ZXNzLCAxMy4gRGV6IDIwMDAsIDE4OjM5OjQ4KToKfiMhIHJuPVBlcnRpbmF4ZSBydD05NzY2NTE4MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY2NTE4MzUKZXJzdGVucyAtIGFiIHdpZXZpZWwgb25saW5lLXRhZ2VuIGlzdCBtYW4gYWx0LXRlaWxuZWhtZXIKendlaXRlbnMgLSB3YXMgaXN0IGVpbiBjbGllbnQKZHJpdHRlbnMgLSB3aWUgc29sbCBpY2ggc2VsYmlnZW4gdXBmZGF0ZW4KdmllcnRlbnMgLSA/ID8gPyA/ID8gPyA/ID8gPwpmdWVuZnRlbnMgLSBRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoTW9yZ290aCwgMTMuIERleiAyMDAwLCAyMTo0NDoxMCk6Cn4jISBybj1Nb250YW51cyBydD05NzY2MTYzMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKS2F1bSwgZGFmdWVyIGhhYmVuIHNpZSB2b24gTmF0dXIgYXVzIEJTRSA7LSkKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoVmFuaW9uLCAxMy4gRGV6IDIwMDAsIDIzOjE3OjA2KToKfiMhIHJuPVFpdGVzcyBydD05NzY3MjkwODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKWndlcmdlbmZyYXVlbiBoYWJlbiBrZWluZW4gQmFydD8KS29taXNjaC4KClYqLCBpbiBlaW5zY2hsYWVnaWdlciBMaXRlcmF0dXIgYmxhZXR0ZXJuZCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGlzdHJpYnV0ZWQtbmV0IChDYXR3ZWF6bGUsIDE0LiBEZXogMjAwMCwgMDk6Mjg6MTApOgp+IyEgcm49UWl0ZXNzIHJ0PTk3NjcyOTE4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NjY1MTgzNQpodHRwOi8vd3d3Lm11ZC5kZS9yYzUvCkt1cnosIGtuYXBwLCByaWNodGlnLAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTW9yZ2VuZ3JhdWVuIGluIGRlciBSdW5kc2NoYXUgKFFpdGVzcywgMTQuIERleiAyMDAwLCAxMDoxNjozNyk6Cn4jISBybj1WYW5pb24gcnQ9OTc2NzQ1ODI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc2NTIzOTA0Ci4uLnVuZCBzYWcgamV0enQgbmljaHQgdGVycmkgcHJldHRzY2hldHQuLi5kZXIgaGF0IGRvY2ggbm9jaCBuaWUgbmVuIHp3ZXJnCmdlc2VoZW4uLi4gCmVzIGdpYnQgX25hdHVlcmxpY2hfIGF1Y2ggd2VpYmxpY2hlIHp3ZXJnZSBtaXQgYmFydCwgYWJlciBkYXMgc2luZCBkaWUKd2VuaWdzdGVuLiB1bmQgbnVyLCB3ZWlsIHRlcnJpIHByZXR0c2NoZXR0IHNvIGJla2FubnQgaXN0LCBoZWlzc3QgZGFzIGphIG51bgpub2NoIGxhbmdlIG5pY2h0LCBkYXNzIGVyIGRpZSB3YWhyaGVpdCB2ZXJicmVpdGV0LgpRSSoqIAoKUC5TLjogc2VpdCBnZW5lcmF0aW9uZW4gaXN0IGluIG1laW5lciBmYW1pbGllIGtlaW5lIGZyYXUgbWVociBtaXQgYmFydAp2b3JnZWtvbW1lbi4uLm9id29obC4uLiB0YW50ZSBqZWRkYSBoYXR0ZSBpbSBhbHRlciBkb2NoIGdhbnogc2Nob2VuIHZpZWwgaW0KZ2VzaWNodC4uLm5hamEsIGJhcnQga2FubiBtYW4gZGFzIGFsbGVyZGluZ3MgbmV0IHNvIGdhbnogbmVubmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoVmFuaW9uLCAxNC4gRGV6IDIwMDAsIDE4OjEzOjE4KToKfiMhIHJuPVFpdGVzcyBydD05NzY3ODUzOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKSWNoIGJpdHRlIGRpY2gsIFRlcnJ5IGlzIGtlaW4gWndlcmcgLSBhbHNvIHBlciBEZWZpbml0aW9uIGdsYXVid3VlcmRpZ2VyIGFscwpkdSA7LSkKClYqIHRyYXV0IGtlaW5lbSB1bnRlciAxLDYwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoV2FyZ29uLCAxNi4gRGV6IDIwMDAsIDE1OjE0OjQ2KToKfiMhIHJuPVFpdGVzcyBydD05NzY3ODUzOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKUmVpY2h0IFRvbGtpZW4gYWxzIFF1ZWxsZW5hbmdhYmU/CkluICJMb3JkIG9mIHRoZSBSaW5ncyIsIEFwcGVuZGl4IEEgSUlJLCAiRHVyaW4ncyBGb2xrIiwgemllbWxpY2ggenVtIFNjaGx1c3MKaGVpc3N0IGVzIHp1bSBUaGVtYSBad2VyZ2VuZnJhdWVuOgpUaGV5IGFyZSBpbiB2b2ljZSBhbmQgYXBwZWFyYW5jZSBbLi4uXSBzbyBsaWtlIHRoZSBkd2FyZi1tZW4gdGhhdCB0aGUgZXllcyBhbmQKZWFycyBvZiBvdGhlciBwZW9wbGVzIGNhbm5vdCB0ZWxsIHRoZW0gYXBhcnQuIFRoaXMgZ2l2ZXMgcmlzZSB0byB0aGUgZm9vbGlzaApvcGluaW9uIGFtb25nIE1lbiB0aGF0IHRoZXJlIGFyZSBubyBkd2FyZi13b21lbiwgYW5kIHRoYXQgdGhlIER3YXJ2ZXMgJ2dyb3cKb3V0IG9mIHN0b25lJy4KVGVycnkgUHJhdGNoZXR0IGhhdCBkYXMgVGhlbWEgYWxzbyBob2VjaHN0ZW5zIHZlcmZlaW5lcnQuIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoUWl0ZXNzLCAxNi4gRGV6IDIwMDAsIDE4OjQwOjQwKToKfiMhIHJuPVdhcmdvbiBydD05NzY5NzYwODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKZ3V0LCBkYW5uIGhhdCBhdWNoIHRvbGtpZW4ga2VpbmUgYWhudW5nIHZvbiB6d2VyZ2VuClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNb3JnZW5ncmF1ZW4gaW4gZGVyIFJ1bmRzY2hhdSAoV3VyemVsLCAxNi4gRGV6IDIwMDAsIDE4OjQ1OjQ2KToKfiMhIHJuPVFpdGVzcyBydD05NzY5ODg0NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzY1MjM5MDQKZXMgZ2lidCBrZWluZSB6d2VyZ2Ugb2huZSBiYXJ0LiB3ZW5uIHp3ZXJnZW5mcmF1ZW4ga2VpbmVuIGJhcnQgaGFiZW4sIGdpYnQKZXMgZWJlbiBrZWluZSB6d2VyZ2VuZnJhdWVuLgpuYXR1ZXJsaWNoIHJlaWNodCBlcyBuaWNodCBhdXMsIHNpY2ggYXVmIHNla3VuZGFlcmxpdGVyYXR1ciB3aWUgdG9sa2llbgpvZGVyIHByYXRjaGV0dCB6dSB2ZXJsYXNzZW4uIGVpbiB3ZW5pZyBlcmZhaHJ1bmcgaGlsZnQgZGEgYXVjaC4gdW5kCnNpZWhlIGRhOiBpY2ggaGFiZSBub2NoIG5pZSB6d2VyZ2Ugb2huZSBiYXJ0IGdlc2VoZW4uIGFsc286IHMuby4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY3Jhc2hzIChQYWRyZWljLCAxNy4gRGV6IDIwMDAsIDE4OjM5OjE4KToKRGllIGhldXRpZ2VuIENyYXNocyB3YXJlbiAoaG9mZmVudGxpY2gpIGRpZSBsZXR6dGVuIGlocmVyIEFydCB6dW1pbmRlc3Qgd2FzCmRpZSBkZXJ6ZWl0aWdlIFF1ZWxsZSBhdXNnZWh0LiBEZXIgRmVobGVyIHd1cmRlIGF1ZiBlaW5lbiBCZWZlaGwgaGluCmVpbmdlZ3Jlbnp0IHVuZCBpc3QgaW56d2lzY2hlbiBleGFrdCByZXByb2R1emllcmJhci4gV2llIGxhbmdlIGRpZSBGZWhsZXJzdWNoZQppbSBEcml2ZXIgZGF1ZXJuIHdpcmQgd2Vpc3MgaWNoIG5pY2h0LCBiaXMgZGVyIEZlaGxlciBnZWZ1bmRlbiB3dXJkZSB1bmQgZWluClJlYm9vdCBhbmdlc2V0enQgd2lyZCwgZHVlcmZ0ZSBkYXMgTXVkIGFiZXIgd2llZGVyIHN0YWJpbCBsYXVmZW4uCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY3Jhc2hzIChXdXJ6ZWwsIDE3LiBEZXogMjAwMCwgMTk6NDY6MTIpOgp+IyEgcm49UGFkcmVpYyBydD05NzcwNzQ3NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzcwNzQ3NTgKZGFzIHdhciB3b2hsIGVpbmUgZmVobGVpbnNjaGFldHp1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNyYXNocyAoUGFkcmVpYywgMTcuIERleiAyMDAwLCAyMDoyMjowMSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTc3MDc4NzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc3MDc0NzU4Cm5pY2ggdW5iZWRpbmd0LCBkaWVzbWFsIGR1ZXJmdGUgZGVyIEJ1ZyB3b2FuZGVycyBhdXNnZWxvZXN0IHdvcmRlbiBzZWluIDpvKQoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogY3Jhc2hzIChPcmt0b2V0ZXIsIDE3LiBEZXogMjAwMCwgMjA6NTk6NTgpOgp+IyEgcm49UGFkcmVpYyBydD05NzcwODA5MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzcwNzQ3NTgKaWNoIGhvZmZlIG1hbCwgZHUgaGFzdCBpbiBlaW5lciBNYWdpZXJydWJyaWsga3VuZGdldGFuLCB3aWUgZGVyIEJ1ZwphdXN6dWxvZXNlbiBpc3QsIGF1ZiBkYXMgYW5kZXJlIE1hZ2llciBpaHJlIFNhY2hlbiBwcnVlZmVuIGtvZW5uZW4sIG9iIGRhcyBkYQphdWNoIGlyZ2VuZHdvIGF1ZmdlcnVmZW4gd2lyZD8KCm9id29obC4uIEhtbSBkYXMgd3VlcmRlIGVpbmlnZSBudXIgZGF6dSByZWl6ZW4gZXMgbWFsIHp1IHRlc3Rlbi4uLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNyYXNocyAoV3VyemVsLCAxNy4gRGV6IDIwMDAsIDIxOjAxOjM4KToKfiMhIHJuPU9ya3RvZXRlciBydD05NzcwODMxOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzcwNzQ3NTgKbmVpbiwgaGF0IGVyIG5pY2h0LiB3aXIgdW53aXNzZW5kZW4gYW5kZXJlbiBzaW5kIG5vY2ggYXVmIGRlciBzdWNoZSwKYWJlciBlcyBrYW5uIG5pY2h0IG1laHIgYWxsenUgbGFuZ2UgZGF1ZXJuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBjcmFzaHMgKE9ya3RvZXRlciwgMTcuIERleiAyMDAwLCAyMTowNjoyNCk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTc3MDgzMjk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc3MDc0NzU4Cmthbm4gbmljaHQgbGFuZ2UgZGF1ZXJuPyBIYXQgV29jaGVuIGdlZGF1ZXJ0IGJpcyBQYWRyZWljIGRlbiBBdXNsb2VzZXIKZ2VmdW5kZW4gaGF0Li4uIHZpZWwgU3Bhc3MgYmVpbSBzdWNoZW4sIGJpcyBkYWhpbiBoYXQgVGlhbWFrIGRlbiBCdWcKaG9mZmVudGxpY2ggZ2VraWxsdC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBjcmFzaHMgKFBhdHJ5biwgMTcuIERleiAyMDAwLCAyMjozODoxNyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTc3MDgzNTg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc3MDc0NzU4CmljaCB2ZXJzdGVoIGdhciBuaWNoLCB3YXJ1bSBqZXR6dCBlaW4gZ3Jvc3NlcyB0cmFyYSBkYXJ1bSBlbnRzdGVodC4KcGFkcmVpYyB3YXIgaGV1dCBzbyBuZXR0LCBhdWYgbWVpbmUgYml0dGUgaGluIGVpbiBwYWFyIGxvZ3MgZWluenViYXVlbiwKdW5kIG5hY2gga3VyemVyIHplaXQgaGFiIGljaCBkZW4gZmVobGVyIHNvIHdlaXQgZWluZ2VrcmVpc3QsIGRhc3MgaWNoCmlobiBtaXQgZWluZXIgemVpbGUgY29kZSBhdWZydWZlbiBrYW5uLgphYmVyOgoxLikgbmVpbiwgZXMgd2lyZCBuaXJnZW5kd28gaW4gaXJnZW5kZWluZXIgcnVicmlrIHN0ZWhlbiwKMi4pIG5laW4sIGVzIGlzdCBuaWNodCBkYXMgcHJpbWFlcmUgemllbCBkZXMgZ2VsYW5nd2VpbHRlbiBzZWhlcnMsCiAgICBzaWNoIG1pdCBzb2xjaGVuIHNhY2hlbiB6dSBiZXNjaGFlZnRpZ2VuLAozLikgbWFuIHNvbGx0ZSBzZWl0ZW5zY2hsYWVnZSBsYSB3b2NoZW5sYW5nZXMgc3VjaGVuIG5pY2h0IHJhdXNoYXVlbiwgd2VubgogICAgbWFuIHZvbSBnYW56ZW4gZHJ1bWhlcnVtIHJlaW4gZ2FyIG5pY2h0cyB3ZWlzcy4Kc293ZWl0IGljaCBkYXMgdWViZXJzY2hhdWUsIGhhYmUgaWNoIG51bm1laHIgMyBmYXRhbGUgZHJpdmVyYnVncyBnZWZ1bmRlbiwKZGllIGFuZmFuZ3Mgc2NoZWluYmFyIG51ciBlaW4gZmVobGVyIHdhcmVuLgp0aWFtYWsgd2lyZCBzY2hvbiBzYWdlbiwgd2VubiBkaWUgZ2VmaXhlZCBzaW5kLi4ucHVua3QgdW5kIGF1cy4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVzYSAoR2FyYmluLCAyMS4gRGV6IDIwMDAsIDE3OjI5OjA0KToKSGksCmljaCB3b2xsdGUgbWFsIGZyYWdlbiwgb3BiIGljaCBlaWdlbnRsaWNoIGRlciBlaW56aWdlIGJpbiBkZXIgdWFzIGRlbiBVU0EgaGllcgptaXRzcGllbHQuIEdhbnogc2Nob2VuIGVpbnNhbSBoaWVyIDotKQpHcnVzcwpHYXJiaW4KPgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVzYSAoQW5hY3Jpb24sIDIxLiBEZXogMjAwMCwgMTg6NDU6MjUpOgp+IyEgcm49R2FyYmluIHJ0PTk3NzQxNjE0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NzQxNjE0NApOb2UuIEJpc3RlIG5pY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdXNhIChIYXRlLCAyMi4gRGV6IDIwMDAsIDA5OjI1OjE3KToKfiMhIHJuPUdhcmJpbiBydD05Nzc0MTYxNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Nzc0MTYxNDQKTWFsIHdhcyBhbmRlcmVzLCBpY2ggYmluIHZvbSA1Li0xMy4gSmFudWFyIGluIFBob2VuaXguIFdlbm4gaXJnZW5kamVtYW5kCnZvbiBkYSBpc3Qgb2RlciBpbiBkZXIgTmFlaGUgKHdhcyBtYW4gYW1lcmlrYW5pc2NoIHNvIGFscyBOYWVoZSBzaWVodCksCmRhbm4ga29lbm50ZSBtYW4gc2ljaCBqYSBtYWwgdHJlZmZlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmFjaHRlbiAoTGluZmxhcywgMjMuIERleiAyMDAwLCAxNzowMTo1Nik6CkljaCB3dWVuc2NoZSBldWNoIGVpbiBmcm9oZXMgRmVzdCEKCkxpbmZsYXMsIGZyb2hlIEZlc3RlIHd1ZW5zY2hlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmFjaHRlbiAtIHdhcyBzb25zdCAoUmFpZHJpLCAyMy4gRGV6IDIwMDAsIDIxOjE4OjE1KToKSWNoIHd1ZW5zY2hlIGV1Y2ggYmVzaW5ubGljaGUgV2VpaG5hY2h0c3RhZ2UuIFZlcmdlc3N0IG1hbCBkaWUgR2VzY2hlbmtlIHVuZApzcGVuZGV0IHNpZSBlaW5lbSBndXRlbiBad2VjayAqZyogKG1laW5lIEFkcmVzc2UgZXJmb2xndCBkYW5uIGF1ZiBBbmZyYWdlKSA6KQpOZWJlbiB0b2xsZW4gRmVpZXJ0YWdlbiB1bmQgZWluZW0gZ3V0ZW4gUnV0c2NoIHd1ZW5zY2hlIGljaCBldWNoIG5vY2ggdmllbApTcGFzcyBpbSBNdWQuClJhaWRyaSwgaW0gSGFsYnNjaGxhZiBKaW5nbGUgQmVsbHMgc3VtbWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpbUkVQT1NUSU5HXSAoQW5hdG9sLCAyNS4gRGV6IDIwMDAsIDAwOjU0OjAxKToKCkF1cyBha3R1ZWxsZW0gQW5sYXNzIGVpbiBSZXBvc3RpbmcgKEx1a2FzIEkuMiwgMS0yMCkgOikKClVuZCBlcyBiZWdhYiBzaWNoIGFiZXIgenUgZGVyIFplaXQsIGRhc3MgZWluIEdlYm90IHZvbiBkZW0gS2Fpc2VyIEF1Z3VzdHVzCmF1c2dpbmcsIGRhc3MgYWxsZSBXZWx0IGdlc2NoYWV0enQgd3VlcmRlLiBVbmQgZGllc2UgU2NoYWV0enVuZyB3YXIgZGllCmFsbGVyZXJzdGUgdW5kIGdlc2NoYWggenVyIFplaXQsIGRhIEN5cmVuaXVzIExhbmRwZmxlZ2VyIGluIFN5cmllbiB3YXIuIFVuZApqZWRlcm1hbm4gZ2luZywgZGFzcyBlciBzaWNoIHNjaGFldHplbiBsaWVzc2UsIGVpbiBqZWdsaWNoZXIgaW4gc2VpbmUgU3RhZHQuCkRhIG1hY2h0ZSBzaWNoIGF1Y2ggYXVmIEpvc2VwaCBhdXMgR2FsaWxhZWEsIGF1cyBkZXIgU3RhZHQgTmF6YXJldGgsIGluIGRhcwpqdWVkaXNjaGUgTGFuZCB6dXIgU3RhZHQgRGF2aWRzLCBkaWUgZGEgaGVpc3N0IEJldGhsZWhlbSwgZGFydW0gZGFzcyBlciB2b24KZGVtIEhhdXNlIHVuZCBHZXNjaGxlY2h0ZSBEYXZpZHMgd2FyLCBhdWYgZGFzcyBlciBzaWNoIHNjaGFldHplbiBsaWVzc2UgbWl0Ck1hcmlhLCBzZWluZW0gdmVydHJhdXRlbiBXZWliZSwgZGllIHdhciBzY2h3YW5nZXIuClVuZCBhbHMgc2llIGRhc2VsYnN0IHdhcmVuLCBrYW0gZGllIFplaXQsIGRhc3Mgc2llIGdlYmFlcmVuIHNvbGx0ZS4gVW5kIHNpZQpnZWJhciBpaHJlbiBlcnN0ZW4gU29obiB1bmQgd2lja2VsdGUgaWhuIGluIFdpbmRlbG4gdW5kIGxlZ3RlIGlobiBpbiBlaW5lCktyaXBwZTsgZGVubiBzaWUgaGF0dGVuIHNvbnN0IGtlaW5lbiBSYXVtIGluIGRlciBIZXJiZXJnZS4KVW5kIGVzIHdhcmVuIEhpcnRlbiBpbiBkZXJzZWxiZW4gR2VnZW5kIGF1ZiBkZW0gRmVsZGUgYmVpIGRlbiBIdWVyZGVuLCBkaWUKaHVldGV0ZW4gZGVzIE5hY2h0cyBpaHJlIEhlcmRlLiBVbmQgc2llaGUsIGRlcyBIZXJybiBFbmdlbCB0cmF0IHp1IGlobmVuLCB1bmQKZGllIEtsYXJoZWl0IGRlcyBIZXJybiBsZXV0Y2h0ZXRlIHVtIHNpZTsgdW5kIHNpZSBmdWVyY2h0ZXRlbiBzaWNoIHNlaHIuIFVuZApkZXIgRW5nZWwgc3ByYWNoIHp1IGlobmVuOiAiRnVlcmNodGV0IGV1Y2ggbmljaHQhIFNpZWhlLCBpY2ggdmVya3VlbmRpZ2UgZXVjaApncm9zc2UgRnJldWRlLCBkaWUgYWxsZW0gVm9sayB3aWRlcmZhaHJlbiB3aXJkOyBkZW5uIGV1Y2ggaXN0IGhldXRlIGRlcgpIZWlsYW5kIGdlYm9yZW4sIHdlbGNoZXIgaXN0IENocmlzdHVzLCBkZXIgSGVyciwgaW4gZGVyIFN0YWR0IERhdmlkcy4gVW5kIGRhcwpoYWJ0IHp1bSBaZWljaGVuOiBpaHIgd2VyZGV0IGZpbmRlbiBkYXMgS2luZCBpbiBXaW5kZWxuIGdld2lja2VsdCB1bmQgaW4gZWluZXIKS3JpcHBlIGxpZWdlbi4iIFVuZCBhbHNiYWxkIHdhciBkYSBiZWkgZGVtIEVuZ2VsIGRpZSBNZW5nZSBkZXIgaGltbWxpc2NoZW4KSGVlcnNjaGFyZW4sIGRpZSBsb2J0ZW4gR290dCB1bmQgc3ByYWNoZW46ICJFaHJlIHNlaSBHb3R0IGluIGRlciBIb2VoZSB1bmQKRnJpZWRlIGF1ZiBFcmRlbiB1bmQgZGVuIE1lbnNjaGVuIGVpbiBXb2hsZ2VmYWxsZW4uIgpVbmQgZGEgZGllIEVuZ2VsIHZvbiBpaG5lbiBnZW4gSGltbWVsIGZ1aHJlbiwgc3ByYWNoZW4gZGllIEhpcnRlbgp1bnRlcmVpbmFuZGVyOiAiTGFzc3QgdW5zIG51biBnZWhlbiBuYWNoIEJldGhsZWhlbSB1bmQgZGllIEdlc2NoaWNodGUgc2VoZW4sCmRpZSBkYSBnZXNjaGVoZW4gaXN0LCBkaWUgdW5zIGRlciBIZXJyIGt1bmRnZXRhbiBoYXQuIiBVbmQgc2llIGthbWVuIGVpbGVuZAp1bmQgZmFuZGVuIGJlaWRlLCBNYXJpYSB1bmQgSm9zZXBoLCBkYXp1IGRhcyBLaW5kIGluIGRlciBLcmlwcGUgbGllZ2VuLiBEYSBzaWUKZXMgYWJlciBnZXNlaGVuIGhhdHRlbiwgYnJlaXRldGVuIHNpZSBkYXMgV29ydCBhdXMsIHdlbGNoZXMgenUgaWhuZW4gdm9uCmRpZXNlbSBLaW5kZSBnZXNhZ3Qgd2FyLiBVbmQgYWxsZSwgdm9yIGRpZSBlcyBrYW0sIHd1bmRlcnRlbiBzaWNoIGRlciBSZWRlLApkaWUgaWhuZW4gZGllIEhpcnRlbiBnZXNhZ3QgaGF0dGVuLiBNYXJpYSBhYmVyIGJlaGllbHQgYWxsIGRpZXNlIFdvcnRlIHVuZApiZXdlZ3RlIHNpZSBpbiBpaHJlbSBIZXJ6ZW4uIFVuZCBkaWUgSGlydGVuIGtlaHJ0ZW4gd2llZGVyIHVtLCBwcmllc2VuIHVuZApsb2J0ZW4gR290dCB1bSBhbGxlcywgd2FzIHNpZSBnZWhvZXJ0IHVuZCBnZXNlaGVuIGhhdHRlbiwgd2llIGRlbm4genUgaWhuZW4KZ2VzYWd0IHdhci4KCkZyb2hlIFdlaWhuYWNodGVuISA6KQoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogW1JFUE9TVElOR10gKFd1cnplbCwgMjUuIERleiAyMDAwLCAwMDo1Njo0Nik6Cn4jISBybj1BbmF0b2wgcnQ9OTc3NzAyMDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc3NzAyMDQxCmR1IHdpcnN0IHdvaGwgYXVjaCBsYW5nc2FtIGFsdC4uLgpkYSBoYXN0IGR1IGFiZXIgc2Nob24gbWFsIGJlc3NlcmUgYXJ0aWtlbCBnZXNjaHJpZWJlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFtSRVBPU1RJTkddIChDeW1vbmssIDI1LiBEZXogMjAwMCwgMDE6MjM6MDApOgp+IyEgcm49QW5hdG9sIHJ0PTk3NzcwMjA0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NzcwMjA0MQpzb3JyeSwgYWJlciBpY2ggZ2xhdWInIGljaCBtdXNzIGtvKiplbiAuLi4KCmJlaSBiZWRhcmYgcmVjaHRmZXJ0aWdlIGljaCBnZXJuZSBtZWluZW4gYnJlY2hyZWl6IDspCgpncnVzcywKY3kKCnAucy4KZGllIHJlY2h0ZmVydGlndW5nIHNjaGVua2UgaWNoIG1pciBhYmVyIGF1Y2ggZ2VybmUKd2VnZW4gdW5lcnd1ZW5zY2h0ZXIgZmxhbWUgd2Fycy0gaXN0IGVzIG5pY2h0IHdlcnQhIDopCgpwLnAucy4KZGllc2VzIHJlcGx5IGlzdCBhdWNoIGtlaW5lIGFudHdvcnQgd2VydCAuLi4ganVzdCAKY291bGRuJ3QgcmVzaXN0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0ZW4gLSB3YXMgc29uc3QgKFJhcmRpYW4sIDI2LiBEZXogMjAwMCwgMDI6NDU6MjApOgp+IyEgcm49UmFpZHJpIHJ0PTk3NzYwMjY5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NzYwMjY5NQpIbS4uLiBXYXMgd2lsbHN0IGR1IGRlbm4gbWl0IGRlbiBTdHVldHpzdHJ1bXBmaG9zZW4gbWVpbmVyIE9tYT8gRmV0aXNjaGlzdD8KClJhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGxlaWNoZXIgc2FndCBCeWUuLi4gKFNjaGxlaWNoZXIsIDI5LiBEZXogMjAwMCwgMDQ6MDc6NDApOgpsZWlkZXIgbGVpZGVyIGZ1ZXIgZWluaWdlIGhpZXIgcnVtbHVuZ2VybmRlIE11ZGRlciBuaWNodCBnYW56IHNvbmRlcm4gbnVyIGRlcgpLb21tdW5pa2F0aW9uIHNhZ2UgaWNoIGJ5ZS4gSWNoIGJpbiBuYWNoIGtuYXBwIDIwMCBUYWdlbiBTcGllbHBhdXNlIHdpZWRlciBpbnMKTUcgZ2Vrb21tZW4gdW0gaGllciBTcGFzcyB6dSBoYWJlbiwgbXVzc3RlIGFiZXIgbGVpZGVyIEVyZmFocmVuIGRhcyBkYXMgaGllcgpqYSBnYXIga2VpbiBTcGllbCBpc3QhIERhcyBoaWVyIGlzdCBhbnNjaGVpbmVuZCBlaW5lIHRvZGVybnN0ZSBBbmdlbGVnZW5oZWl0CnVuZCBncmFkZSBhbHMgTWFnaWVyIHNvbGx0ZSBtYW4gaGllciB0dW5saWNoc3QgS0VJTkVOIFNwYXNzIGhhYmVuLiBOYWphLCBsYW5nZQpSZWRlIGt1cnplciBTaW5uIGljaCBmYXNzZSBtYWwgenVzYW1tZW4uLi4gSWNoIGxhYmVyZSBwZWlubGljaGVzIFpldWcgYXVmIGRlbgpFYmVuZW4sIGljaCBsZWlzdGUgU3BpZWxlcmhpbGZlLCBpY2ggdHJlaWJlIGtsZWluZSBTcGllbGVyIGluIGRlbiBzaWNoZXJlbgpUb2QsIGljaCBiZWxhZXN0aWdlIFNwaWVsZXIsIGljaCBwcm9nZ2UgTlBDIHVtIG1laW5lbiBad2VpdGllcyBWb3J0ZWlsZSB6dQp2ZXJzY2hhZmZlbiwgaWNoIGJpbiBlaW4gYXJyb2dhbnRlcyBBcnNjaGxvY2gsIGljaCBiaW4gZGVzIE1hZ2llcnNlaW5zCnVud3VlcmRpZywgaWNoIGJpbiBlaW4gU2Nod2VpbiwgZWluIEx1ZWduZXIsIGljaCBmYWtlemFwcGUgd2FobG9zIFNwaWVsZXIgLi4uCmFsbCBkYXMgaGFiZSBpY2ggaW4gY2EuIDIgV29jaGVuIHp1IGhvZXJlbiBiZWtvbW1lbiAtIEVzIHJlaWNodCwgaWNoIHdlcmRlCm1pY2ggenUgZGllc2VuICJWb3J3dWVyZmVuIiBoaWVyIGFuIGRpZXNlciBTdGVsbGUgTklDSFQgcmVjaHRmZXJ0aWdlbiBpY2gKd2VyZGUgbWljaCBudXIgdm9uIGplZ2xpY2hlciBLb21tdW5pa2F0aW9uIGF1c3NlciBtaXQgZWluIHBhYXIgKHZlcm11dGxpY2gKc2VociBzZWhyIGFybWVuIE1lbnNjaGVuIGRhIHNpZSBtaWNoIGVydHJhZ2VuIG11ZXNzZW4pIExldXRlbiB6dXJ1ZWNremllaGVuLgpEYXMgaGVpc3N0IGFsbGUgRWJlbmVuIHNpbmQgYXVzLCBqZWdsaWNoZSBBcnQgdm9uIFJ1ZmUgd2lyZCBpZ25vcmllcnQuIE9rLCBpY2gKaG9lcmUgc2Nob24gZGFzIGljaCBqYW1tZXJlIGtsYXIsIGthbm4gbWFuIHNvIHNlaGVuIGljaCBzZWhlIGVzIGVoZXIgc28gZGFzCmljaCBub2NobWFsIGluZm9ybWllcmUgd2FydW0gaWNoIG5pY2h0IG1laHIgcmVhZ2llcmUuIFdlciBkYXp1IHdhcyBzYWdlbgptb2VjaHRlIGRhcmYgZGFzIGdlcm5lIHBlciBNYWlsIGFuIG1pY2ggZXJsZWRpZ2VuLCBkaWVzZXIgQXJ0aWtlbCBpc3Qga2VpbmUKQXVmZm9yZGVydW5nIHp1IFJlcGx5cy4gSWNoIHd1ZW5zY2hlIHZpZWwgU3Bhc3MgdW5kIGRhcyBlaW5lciBkaWVzZW4gZ2FuemVuCm1vcmFsaW5zYXVyZW4gRGVwcGVuIGhpZXIgbWFsIGdlaG9lcmlnIHdvaGluIHRyaXR0IHVuZCBzaWUgbWl0IGRlciBOYXNlIG1hbAp3aWVkZXIgZHJhdWYgc3RvZXNzdCBkYXMgZXMgc2ljaCBoaWVyIHVtIGVpbiBTcGllbCBoYW5kZWx0IHVuZCBlaW4gc29sY2hlcyBpbQpndWVuc3RpZ3N0ZW4gRmFsbGUgbWl0IFNwYXNzIHZlcmJ1bmRlbiBzZWluIHNvbGx0ZS4gTWlyIGZlaGx0IGVpbmZhY2ggZGllIEx1c3QKdW5kIGRpZSBLcmFmdCBub2NoIHdlaXRlciB6dSBrYWVtcGZlbi4KClNjaGxlaWNoZXIgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobGVpY2hlciBzYWd0IEJ5ZS4uLiAoT3JrdG9ldGVyLCAyOS4gRGV6IDIwMDAsIDEwOjM3OjE5KToKfiMhIHJuPVNjaGxlaWNoZXIgcnQ9OTc4MDU5MjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc4MDU5MjYwCldhciBqYSBrbGFyLCBkYXMgZGEgcmVwbHkocykga29tbWVuIG11c3N0ZW4sIGhpZXIgZ2VodHMgYWxzbyBsb3M6CgoxLiBEYXMgTUcgaXN0IGVpbiBTcGllbCB1bmQgc29sbCBTcGFzcyBtYWNoZW4uCjIuIE9obmUgZGlyIGRhIGpldHp0IGV0d2FzIHVudGVyc3RlbGxlbiB6dSB3b2xsZW4sIGFiZXIgU3Bhc3MgaGFiZW4gaGVpc3N0Cm5pY2h0IGplZ2xpY2hlIFJlZ2VsbiB6dSBtaXNzYWNodGVuLiBEYXMgbWFnIGZ1ZXIgZGVuIGVpbmVuIGphIHNwYXNzaWcgc2VpbiwKYWJlciBmdWVyIHZpZWxlIGFuZGVyZSBpc3QgZXMgZGFzIG5pY2h0IHVuZCBkYXMgaXN0IHNjaGxpZXNzbGljaCBlaW4gU3BpZWwsCmRhcyBuaWNodCBudXIgZnVlciBlaW4gcGFhciB3ZW5pZ2UgZGEgaXN0LgozLiBXZW5uIGZ1ZXIgZGljaCBkZXIgU3BpZWxzcGFzcyBhdXMgZGVuIGRpciB2b3JnZXdvcmZlbmVuIERpbmdlbiBiZXN0ZWh0LApkYW5uIG11c3MgaWNoIGFuIGRpZXNlciBTdGVsbGUgc2FnZW4sIGRhcyBpY2ggZXMgZ2FyIG5pY2h0IGZhbHNjaCBmaW5kZSwgd2VubgpkdSBkaWNoIHp1cnVlY2t6aWVoc3QuIAoKT3JrVAoKUFMgQXVjaCBpY2ggc2VoZSBkYXMgTUcgYWxzIFNwaWVsIHVuZCB3ZW5uIG1hbiBtYWwgZWluZSBGYWtlemFwIGJlZ2VodCwgbm9jaApkYXp1LCB3ZW5uIGRhcyBkYW5uIG1pdCBkZW0gT3BmZXIgYWJnZXNwcm9jaGVuIGlzdCwgaXN0IGRhcyBzaWNoZXIgbmljaHQgZGVyCldlbHR1bnRlcmdhbmcsIGFiZXIgZXMgaXN0IHNjaG9uIGVpbiBVbnRlcnNjaGllZCwgb2IgbWFuIGRpZSBSZWdlbG4gZ2VuZXJlbGwKYWt6ZXB0aWVydCwgb2RlciBtZWludCBoaWVyIHR1biB1bmQgbGFzc2VuIHp1IGtvZW5uZW4gd2FzIG1hbiB3aWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGxlaWNoZXIgc2FndCBCeWUuLi4gKFd1cnplbCwgMjkuIERleiAyMDAwLCAxMTowODowNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTc4MDgyNjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc4MDU5MjYwCmtlaW5lIGFobnVuZywgd2FzIGRhIGxvcyB3YXIgYnp3LiBpc3QuIGFiZXIgZWluIHBhYXIgYWxsZ2VtZWluZSBwdW5rdGUgaGF0CnNjaGxlaWNoZXIgZGEgYW5nZXNwcm9jaGVuLCBkaWUgbWFuIHZvbiBlaW5lciBnYW56ZW4gbWVuZ2Ugdm9uIGxldXRlbgppbW1lciB3aWVkZXIgenUgaG9lcmVuIGJla29tbXQ6IGRpZSBhdG1vc3BoYWVyZSBoaWVyIHdpcmQgd2VzZW50bGljaCB2b24KZGVuZW4gYmVzdGltbXQsIGRpZSBhbSBsaWVic3RlbiBhbGxlbiBhbmRlcmVuIGRlbiBzcGFzcyBkYWJlaSB2ZXJtaWVzZW4uCmRhcyBuYXR1ZXJsaWNoIGltbWVyIG1pdCBkZW0gaGlud2VpcyBhdWYgZGllIHRvbGxlbiByZWdlbG4sIGRpZSBzaWUgbWl0CmRlbSBhbnNwcnVjaCBkZXIgYWxsZ2VtZWluZ3VlbHRpZ2tlaXQgZ2VtYWNodCBoYWJlbi4gcXVlcmRlbmtlciBzaW5kCm5pY2h0IGdlZnJhZ3QgdW5kIHVuZXJ3dWVuc2NodC4KZXMgZ2lidCByZWljaGxpY2ggbGV1dGUgaGllciwgYmVpIGRlbmVuIGljaCBlaW5lIHNhZnRpZ2UgcG9ydGlvbgpyZWFsaXRhZXRzdmVybHVzdCB2ZXJtdXRlLCBkaWUgZGFzIG5hdHVlcmxpY2ggZGFubiBpbSBtdWQga29tcGVuc2llcmVuCndvbGxlbiAobXVlc3Nlbj8pLiBkZW4gIm1vcmFsaW5zYXVyZW4gZGVwcGVuIiwgdm9uIGRlbmVuIHNjaGxlaWNoZXIKZ2VzcHJvY2hlbiBoYXQsIGthbm4gbWFuIG51ciBlbXBmZWhsZW4gZGVuIHJlY2huZXIgbWFsIGZ1ZXIgZWluIGhhbGJlcwpvZGVyIGdhbnplcyBqYWhyIGF1c3p1c2NoYWx0ZW4sIGFuIGRpZSBmcmlzY2hlIGx1ZnQgenUgZ2VoZW4gdW5kIG1hbAp6dSB2ZXJzdWNoZW4sIHdpZWRlciBlaW5lbiBrbGFyZW4gZ2VkYW5rZW4genUgZmFzc2VuLiBlcyBoaWxmdC4KCmVzIGdlaG9lcnQgc2Nob24gZWluZSBnZXdpc3NlIHBvcnRpb24gbWFzb2NoaXNtdXMgZGF6dSwgaGllciBtYWdpZXIgenUKc2Vpbi4gd2VyIGRhcyBzbyBsYW5nZSBiZW9iYWNodGV0IGhhdCB3aWUgaWNoLCB3ZWlzcyBkYXMgc2VociB2aWVsZQpndXRlIGlkZWVuIHVuZCBhbnNhZXR6ZSBlcnN0aWNrdCB3ZXJkZW4sIHNlaSBlcyBkdXJjaCBtb25hdGVsYW5nZQpiZWFyYmVpdHVuZ3N6ZWl0ZW4gYmVpIGRlciBiYWxhbmNlLCBzZWkgZXMgZHVyY2ggbW9iYmluZyB3aWUgaW0KcmljaHRpZ2VuIGxlYmVuIG9kZXIgYWVobmxpY2hlIGNsaXF1ZW53aXJ0c2NoYWZ0c2JlZGluZ3RlIHVtc3RhZW5kZS4KZXMgdHV0IG1pciBsZWlkIHVtIGplZGVuLCBkZXIgd2VnZW4gZWluaWdlbiBpZGlvdGVuIGhpZXIgZGFzCmhhbmR0dWNoIHdpcmZ0LiB2ZXJzdGVoZW4ga2FubiBpY2ggZGFzIGFiZXIgZHVyY2hhdXMuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBbUkVQT1NUSU5HXSAoR2xvaW5zb24sIDI5LiBEZXogMjAwMCwgMTI6MTQ6NDgpOgp+IyEgcm49QW5hdG9sIHJ0PTk3NzcwMjA0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3NzcwMjA0MQpKZXR6dCBoYWV0dGVzdCBEdSBkYXMgbnVyIG5vY2ggbWl0IGRlciBTdGltbWUgSGVpbnogUnVlaG1hbm5zIHNjaHJlaWJlbiAoaGloaSkKbXVlc3NlbiB1bmQgbWlyIHdhZXIgZ2xlaWNoIHdpZWRlciB3aWUgSGVpbGlnYWJlbmQgZ2V3ZXNlbiA7KQoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NobGVpY2hlciBzYWd0IEJ5ZS4uLiAoT3JrdG9ldGVyLCAyOS4gRGV6IDIwMDAsIDE4OjU2OjA5KToKfiMhIHJuPVd1cnplbCBydD05NzgwODQ0ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzgwNTkyNjAKVGphIFd1cnplbC4uIHdhcyBzb2xsIG1hbiB6dSBkZWluZW0gQXJ0aWtlbCBzYWdlbj8KSmVkZXIgZGVyIHNpY2ggYW4gZGllIFJlZ2VsbiBoYWVsdCBpc3QgZWluICJtb3JhbGluc2F1ZXJlciBkZXBwIiBkZXIgYW5kZXJlbgpkZW4gU3Bhc3MgbmljaHQgZ29lbm50PwpNZWluZXIgTWVpbnVuZyBuYWNoIHNpbmQgZXMgTGV1dGUgZGllIHNpY2ggbmljaHQgYW4gZGllIFJlZ2VsbiBoYWx0ZW4gdW5kIHNpY2gKYnp3LiBlaW5pZ2VuIHdlbmlnZW4gVm9ydGVpbGUgdmVyc2NoYWZmZW4gZGllamVuaWdlbiwgZGllIGhpZXIgZGllIFN0aW1tdW5nCnZlcm1pZXNlbi4KCk5vY2ggbWFsIGltIEtMYXJ0ZXh0OiBEYXMgaXN0IGhpZXIga2VpbiBTb2xvc3BpZWwgYSBhbCBCYXJkcyBUYWxlLCBkYXMgbWFuIGF1ZgpkZW0gZWlnZW5lbiBDb21waSBzcGllbHQgdW5kIHdvIG1hbiAoc28gbWFuIGVzIGRlbm4gbWVpbnQgbm9ldGlnIHp1IGhhYmVuKSBtaXQKbmVtIEhFWC1lZGl0b3IgYmVsaWViaWcgbWFuaXB1bGllcmVuIGthbm4sIGRhcyBNRyB3aXJkIHZvbiB2aWVsZW4gZ2VzcGllbHQgdW5kCmljaCBtb2VjaHRlIG5pY2h0IHdpc3Nlbiwgd2llIGR1IHJlYWdpZXJzdCwgd2VubiBkdSBpbiBnZW11ZXRsaWNoZXIgUnVuZGUKYmVpc2FtbWVuc2l0enQgdW5kIG1pdCBhbmRlcmVuIGV0d2FzIHNwaWVsc3QgdW5kIGRlciBlaW5lIG9kZXIgYW5kZXJlIHN0YWVuZGlnCmRpZSBSZWdlbG4gbWlzc2FjaHRldCBiencuIGZ1ZXIgc2ljaCBuZXVlIFJlZ2VsbiBlcmZpbmRldC4uCgpPcmtULgoKUFMgdW0gZXMgbm9jaCBtYWwgZGV1dGxpY2ggenUgc2FnZW46IDEuIEVzIGdpYnQgUmVnZWxuIHVuZCBkaWUgZ2VsdGVuLiAgMi4gV2VyCnNpY2ggbmljaHQgZHJhbiBoYWVsdCB3aXJkIGZydWVoZXIgb2RlciBzcGFldGVyIHZvciBkZW0gU2hlcmlmZiBsYW5kZW4gdW5kCm11c3MgZGFubiBoYWx0IG1pdCBkZW4gS29uc3F1ZW56ZW4gbGViZW4gIDMuIERlciBTaGVyaWZmIG9kZXIgImRpZSBFcnppZXMiCm9kZXIgd2VyIGF1Y2ggaW1tZXIgaW4gRmFlbGxlbiB2b24gTWFnaWVybiAiZGFzIFVydGVpbCIgZmFlbGx0LCBoYXQgYWJlcgptZWluZXMgd2lzc2VucyBuYWNoIGJpc2xhbmcgYXVjaCBpbW1lciBldHdhcyBGaW5nZXJzcGl0emVuZ2VmdWVobCBiZXdpZXNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NobGVpY2hlciBzYWd0IEJ5ZS4uLiAoR2xvaW5zb24sIDI5LiBEZXogMjAwMCwgMjA6MjY6MDUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTk3ODExMjU2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3ODA1OTI2MApWaWVsbGVpY2h0IHJlZGV0IGlociBnZXJhZGUgYW5laW5hbmRlciB2b3JiZWkuIFdvIER1IGRpcmVrdCB1ZWJlciBTY2hsZWljaGVyCnVuZCBkaWUgSGlzdG9yaWUgcmVkZXN0IG9kZXIgZHJhbiBkZW5rc3Qgd2VubiBEdSBhdWYgV3VyemVsIGFudHdvcnRlc3Qgc3ByaWNodApXdXJ6ZWwgKElNSE8pIGVpbmUgZ2FuemUgS2xhc3NlIHZvbiBWZXJoYWx0ZW4gYW4gLSB1bmQgc2FndCBhdWNoIGFuZmFuZ3MsIGRhc3MKc2llIG5pY2h0IHVlYmVyIGRpZSBHZXNjaGljaHRlbiB1bSBTY2hsZWljaGVyIEJlc2NoZWlkIHdlaXNzLgpFaW5lcnNlaXRzIGhhdCBtaXIgU2NobGVpY2hlcnMgVmVyaGFsdGVuIGFscyBNYWdpZXIgYXVjaCBtYW5jaG1hbCBhdWZnZXN0b3NzZW4KdW5kIGljaCBoYWIgaWhuIHZvbGxnZW5vZWx0IGFuZGVyZXJzZWl0cyBpc3QgZGVyIFRvbiAod2llIG1laW4gTm9lbGVuIGF1Y2gpIGluCk1HIG9mdCB6dSByYXVoLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgSmFociwgbmV1ZXMgR2x1ZWNrIChMaW5mbGFzLCAzMS4gRGV6IDIwMDAsIDEzOjE0OjQ4KToKCkd1dGVuIFJ1dHNjaCEKCkxpbmZsYXMsIGVpbmVuIGd1dGVuIFJ1dHNjaCB3dWVuc2NoZW5kIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIEphaHIsIG5ldWVzIEdsdWVjayAoR25vbWUsIDMxLiBEZXogMjAwMCwgMTQ6MjU6MDUpOgp+IyEgcm49TGluZmxhcyBydD05NzgyNjQ4ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzgyNjQ4ODgKZXMgZ2lidCBsZXV0ZSwgZGllIHNjaGFmZmVuIGVzLCBzZWxic3QgaW4gZWluZW4gendlaXplaWxlciByZWR1bmRhbnoKZWluenViYXVlbi4uLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpZWwgU3Bhc3MgLiAuIC4gKFJhaWRyaSwgMzEuIERleiAyMDAwLCAxNTowMjoxMyk6Ci4gLiAuIHd1ZW5zY2hlIGljaCBldWNoIGJlaW0gZGllc2phZWhyaWdlbToKSyBPIFIgSSBOIFQgSCBFIE4gSyBBIEMgSyBFIFIgTSBJIEwgTCBFIE4gSSBVIE0gISAhICEgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTY2hsZWljaGVyIHNhZ3QgQnllLi4uIChaYXJuaXlhLCAgMi4gSmFuIDIwMDEsIDEzOjQzOjQ1KToKfiMhIHJuPU9ya3RvZXRlciBydD05NzgxMTI1Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzgwNTkyNjAKSEkgT3JraSwgCgp3ZWlzc3QgRHUgZWlnZW50bGljaCwgd2llIHBlaW5saWNoIGRldXRzY2ggRHUgbWl0IERlaW5lciBFaW5zdGVsbHVuZyBiaXN0PyBXaWUKdW5lcndhY2hzZW4/IFJlZ2VsbiBzaW5kIGdydW5kc2FldHpsaWNoIG5pY2h0IGRhLCB1bSBzaWNoIE5VUiBkYXJhbiB6dSBoYWx0ZW4sCnNvbmRlcm4gdm9yIGFsbGVtLCB1bSB1ZWJlciBzaWUgbmFjaHp1ZGVua2VuLCBzaWUgenUgdmVyYWVuZGVybiwgc2llCmFuenVwYXNzZW4uCgpXZW5uIHNpY2ggaW1tZXIgYWxsZSBhbiBkaWUgUmVnZWxuIGdlaGFsdGVuIGhhZXR0ZW4sIGRhbm4gaGFldHRlIGVzIGtlaW5lCldpZWRlcnZlcmVpbmlndW5nIGdlZ2ViZW4uLi4gaGFldHRlIGVzIGF1Y2ggbmljaHQgZ2VicmF1Y2h0LCB3ZWlsIHdlbm4gc2ljaAphbGxlIGFuIGRpZSBTcGllbHJlZ2VsbiBkZXIgTWFjaHRoYWJlciBoYWx0ZW4sIG9obmUgZGVuIFZlcnN0YW5kCmVpbnp1c2NoYWx0ZW4sIGRhbm4gaGFldHRlIEhpdGxlciBkZW4ga3JpZWcgZ2V3b25uZW4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTY2hsZWljaGVyIHNhZ3QgQnllLi4uIChOb25uZSwgIDIuIEphbiAyMDAxLCAxMzo0ODo1MCk6Cn4jISBybj1aYXJuaXlhIHJ0PTk3ODQzOTQyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3ODA1OTI2MApEYXJmIGljaCBEaWNoIHppdGllcmVuLCB3ZW5uIGljaCB2b3IgZGVtIFJpY2h0ZXIgc3RlaGUsIHdlaWwgaWNoIFJMLXphcHBlbmQKZHVyY2ggZGllIEZ1c3NnYWVuZ2Vyem9uZSBnZWxhdWZlbiBiaW4/CgpOb25uZSwgc2ljaCBmcmFnZW5kLCB3byBlaW5pZ2UgTGV1dGUgaWhyZW4gVmVyc3RhbmQgaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2hsZWljaGVyIHNhZ3QgQnllLi4uIChaYXJuaXlhLCAgMi4gSmFuIDIwMDEsIDEzOjU1OjI4KToKfiMhIHJuPU5vbm5lIHJ0PTk3ODQzOTczMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3ODA1OTI2MApJY2ggaGFiZSBuaWNodCBnZXNhZ3QsIGRhc3MgbWFuIGFsbGUgUmVnZWxuIGdydW5kc2FldHpsaWNoIGJyZWNoZW4gZGFyZi4uIGljaApoYWJlIGdlc2FndCwgZGFzcyBtYW4gYWJlciBiZWkgYWxsZW0gUmVnZWxuIGRlbiBWZXJzdGFuZCBlaW5zY2hhbHRlbiBtdXNzLCB1bQpzaWUgenUgaGludGVyZnJhZ2VuLi4uIAoKRGFzIG1pdCBkZW0gVmVyc3RhbmQgc2NoZWluc3QgRHUgYWJlciBpcmdlbmR3aWUgbmljaHQgbWl0Z2VrcmllZ3QgenUgaGFiZW4uLi4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2hsZWljaGVyIHNhZ3QgQnllLi4uIChBbmF0b2wsICAyLiBKYW4gMjAwMSwgMTQ6MDQ6MDMpOgp+IyEgcm49Tm9ubmUgcnQ9OTc4NDM5NzMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc4MDU5MjYwCkR1IGthbm5zdCB0dW4gd2FzIER1IG1vZWNodGVzdCwgc29sYW5nZSBEdSBiZXJlaXQgYmlzdCwgZGllCktvbnNlcXVlbnplbiBEZWluZXMgSGFuZGVsbnMgaW4gdm9sbGVtIFVtZmFuZyB6dSBha3plcHRpZXJlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU2NobGVpY2hlciBzYWd0IEJ5ZS4uLiAoTGluZmxhcywgIDIuIEphbiAyMDAxLCAxNDowNTo0MSk6Cn4jISBybj1BbmF0b2wgcnQ9OTc4NDQwNjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc4MDU5MjYwCkRhcyBlcnN0ZSB2ZXJudWVuZnRpZ2UgV29ydHNlaXQgMiBUYWdlbiBpbiBkaWVzZXIgWmVpdHVuZyA6KQoKTGluZmxhcywgZ3JpbnNlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY2hsZWljaGVyIHNhZ3QgQnllLi4uIChPYmksICAyLiBKYW4gMjAwMSwgMTQ6MTM6MDMpOgp+IyEgcm49QW5hdG9sIHJ0PTk3ODQ0MDY0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3ODA1OTI2MApTcHJpY2h3b3J0L0xlYmVuc2VpbnN0ZWxsdW5nIGRlciBBaWVsCgpPQkkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNjaGxlaWNoZXIgc2FndCBCeWUuLi4gKEthcmlzLCAgMi4gSmFuIDIwMDEsIDIyOjU0OjM0KToKfiMhIHJuPUFuYXRvbCBydD05Nzg0NDA2NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzgwNTkyNjAKQXVjaCB3ZW5uIER1IG5pY2h0IGJlcmVpdCBiaXN0LCBkaWUgS29uc2VxdWVuemVuIHp1IHRyYWdlbiwga2FubnN0CkR1IHR1biB1bmQgbGFzc2VuIHdhcyBzaWUgd2lsbHN0LiBEdSBrYW5uc3QgRGljaCBzb2dhciBoaW50ZXJoZXIKYmVzY2h3ZXJlbiwgd2VubiBzaWUgRGljaCB0cmVmZmVuLiBEYXMgaXN0IG51ciBlaW5lIEZyYWdlIGRlciAKVWViZXJ3aW5kdW5nIChiZWkgbWlyIHp1bWluZGVzdCksIGJlaSBhbmRlcmVuIGxhdXRldCBkaWUgRnJhZ2UKdmllbGxlaWNodCBhbmRlcnMuCgpLYXJpcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdvbmF0ZTogbWVpbmUgVmVyd2FuZHNjaGFmdCB6dSBNb3Jnb3RoIChNb3Jnb25hdGUsICA3LiBKYW4gMjAwMSwgMjA6MjI6MDkpOgpEYSBpY2ggaGV1dGUgbWFsIHdpZWRlciBkYXJhdWYgYW5nZXNwcm9jaGVuIHdvcmRlbiBiaW46CgpJY2ggYmluIHdlZGVyIHZlcndhbmR0IG5vY2ggdmVyc2Nod2FlZ2VydCBtaXQgZGVtIE1hZ2llciBNb3Jnb3RoLgoKV3VlcmRlIG1pY2ggYXVjaCB3dW5kZXJuLCB3ZW5uIHNpY2ggZWluIE1hZ2llciBlaW5lbiBad2VpdG1hZ2llciBoYWx0ZW4Kd3VlcmRlLgoKCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJrbGFlcnVuZ2VuLi4uIChTY2hsZWljaGVyLCAgOS4gSmFuIDIwMDEsIDE3OjM3OjU1KToKTW9pbnNlbiwKCmRhIG1pY2ggaGllciBzY2hvbiBlaW4gcGFhciBNdWRkZXIgYW5nZXNwcm9jaGVuIGhhYmVuIHdhcyBkZW5uIGxvcyBzZWkgdW5kIGljaApiaXNoZXIgZ2VhbnR3b3J0ZXQgaGFiZSBkYXMgZGFzIHp1dmllbCBUaXBwc2VyZWkgaXN0LCBrdWVuZGlnZSBpY2ggYXVmIGRpZXNlbQpXZWdlIG1hbCBtZWluZSBUZWlsbmFobWUgYW0gRHVlc3NlbGRvcmZlciBTdGF0aSBhbSAxMi4xIGFuLiBEb3J0IGJpbiBpY2ggZGFubgpnZXJuZSBiZXJlaXQgbWljaCB1bmQgbWVpbiBWZXJoYWx0ZW4genUgZXJrbGFlcmVuIHVuZCBhdWNoIGxhZW5nZXJlCkRpc2t1c3Npb25lbiB6dSBmdWVocmVuIGRpZSBpY2ggaGllciBpbSBNRyBhYmxlaG5lLgoKU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVya2xhZXJ1bmdlbi4uLiAoQnViYmEsICA5LiBKYW4gMjAwMSwgMTg6Mzk6MjcpOgp+IyEgcm49U2NobGVpY2hlciBydD05NzkwNTgyNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzkwNTgyNzUKCgpXZXIgaXN0IGVpZ2VudGxpY2ggU2NobGVpY2hlcj8/PwoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpnYW56IGFsbGdlbWVpbiAoU2t5LCAxMC4gSmFuIDIwMDEsIDIxOjMyOjM2KToKCgpPYndvaGwgaWNoIG1pY2ggbmFjaCB3aWUgdm9yIGhpZXIgYXVzIGFsbGVtIHJhdXNoYWx0ZW4gd2VyZGUsCmlzdCBtaXIgYmVpIGRlciBnYW5nZW4gR2VzY2hpY2h0ZSBkb2NoIGVpbmVzIGF1ZmdlZmFsbGVuOgoKW3J1YnJpazogcG9saXplaS5iZWthbm50bWFjaHVuZ10KW0JpZXJjaGVuIChNdWFkaWIsIDEwLiBKYW4gMjAwMSwgMTU6MzU6NDQpXQoKPkVpbiBad2VpdHNwaWVsZXIgdm9uIFdpbSwgTGV3cywgd2VjaHNlbHRlIHZvbiBkZXIgQ2hhb3NnaWxkZQo+aW4gZGllIFRhbmppYW5naWxkZSwgb2J3b2hsIGRpZXMgbmljaHQgdm9yZ2VzZWhlbiBpc3QuIERlciAKPlNwaWVsZXIgd3VyZGUgYWxzbyBtYW5pcHVsaWVydC4gQXVzIGRpZXNlbSBHcnVuZCB3dXJkZSBMZXdzIAo+dm9uIG1pciBhbHMgVGVzdHNwaWVsZXIgbWFya2llcnQuCgpPYiBlcyBudW4gc3RpbW10IGRhcyBoaWVyIG1hbmlwdWxpZXJ0IHd1cmRlIG9kZXIgbmljaHQsIGthbm4gaWNoIApuaWNodCBiZXVydGVpbGVuLCB1bmQgaWNoIHdlcmRlIGhpZXJ6dSBhdWNoIGtlaW5lIE1laW51bmcgYXVlc3Nlcm4uCkZlc3Qgc3RlaHQgZnVlciBtaWNoIGFiZXI6CgpXZW5uIGVzIHN0aW1tdCwgZGFzcyBlaW4gTWFnaWVyIChnYW56IGVnYWwgd2VyKSBpcmdlbmR3ZWxjaGUgRmlsZXMKenUgc2VpbmVuIEd1bnN0ZW4gYWVuZGVydCB1bmQgbWFuaXB1bGllcnQgdW0gc29taXQgZWluZW4gVm9yLQp0ZWlsIHp1IGhhYmVuLCBkYW5uIGlzdCBkaWUgJ1N0cmFmZScgZGllc2VuIGJldm9yenVndGVuIFNwaWVsZXIKYWxzIFRlc3RzcGllbGVyIHp1ICBtYXJraWVyZW4sIG1pdCBWZXJsYXViLCBpbSBhbGxlcmhvZWNoc3RlbiAKTWFzc2UgbGFlY2hlcmxpY2guIEljaCBzYWdzIGdlcm5lIG5vY2htYWw6IGxhZWNoZXJsaWNoIQoKRGFzIGthbm4gamEgZGFubiBudXIgZGllIEVybXV0aWd1bmcgZnVlciBhbmRlcmUgTWFnaWVyIHNlaW46CiJNYWNoIGljaCBoYWx0IG1hbCBuIGJpc3NjaGVuIGFuIGRlbiBGaWxlcyBydW0uLi5mYWxscyBlaW5lcgp3YXMgbWVya3QgaGFiIGljaCBoYWx0IGVpbiBUZXN0c3BpZWxlciBtZWhyLiIKCkFsc28gTGV1dGUsIG1hbCBpbSBFcm5zdDsgc293YXMgZGFyZiBkb2NoIHdpcmtsaWNoIG5pY2h0IAphbmdlaGVuLgoKQWxsZ2VtZWluIGJpbiBpY2ggZGVyIE1laW51bmcsIGRhc3MgZWluIE1hZ2llciAoZWdhbCB3ZXIpLCBkZXIKX25hY2h3ZWlzbGljaF8gYW4gZGVyIE11ZExpYiBydW1mdW1tZWx0IHVtIHNvIGZ1ZXIgKHMpZWluZW4KU3BpZWxlciBlaW5lbiBWb3J0ZWlsIHp1IGVyemllbGVuIGhpZXIgYWJzb2x1dCBuaWNodHMgbWVocgp6dSBzdWNoZW4gaGF0LiAKCgpTa3ksIG1pdCBmcmV1bmRsaWNoZW4gR3J1ZXNzZW4uCgogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlIFdvY2hlIHdpZWRlci4uLiAoR3JpbW1ib3JuLCAxMC4gSmFuIDIwMDEsIDIyOjA2OjU3KToKLi4uZXJpbm5lcmUgaWNoIGF1cyBnZWdlYmVuZW0gQW5sYXNzLCBkYXNzIGljaCBBcnRpa2VsIHZvbiBHYWVzdGVuIGxvZXNjaGUKKHVuZCBuaWNodCB2ZXJzY2hpZWJlKS4gVW5kIHp3YXIgdW5hYmhhZW5naWcgdm9tIEluaGFsdC4gS2VpbmUgR2FzdGtvbW1lbnRhcmUKaW4gZGVyIG1wYS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsbGUgV29jaGUgd2llZGVyLi4uIChRaXRlc3MsIDEwLiBKYW4gMjAwMSwgMjI6MDc6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk3OTE2MDgxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTE2MDgxNwp1bmQgaWNoIGhhdHRlIG1pY2ggZ2VyYWRlIGdld3VuZGVydCwgZGFzLCBvYndvaGwgaWNoIGdlcmFkZSBnZWxlc2VuIGhhdHRlLCBkYXMKZWluIGdhc3QgbmVuIGFydGlrZWwgZ2Vwb3N0ZXQgaGF0LCBuaXggbmV1ZXMgYXVmIGRlciB3ZWx0IHNlaS4KSWNoIGZpbmRzIG9rYXksIGJpbiBhYmVyIHRyb3R6ZGVtIG5ldWdpZXJpZy4uLndhcyBzdGFuZCBkZW5uIGRyaW4/IDspCgpRSSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsbGUgV29jaGUgd2llZGVyLi4uIChQYXRyeW4sIDEwLiBKYW4gMjAwMSwgMjI6MTA6MDkpOgp+IyEgcm49UWl0ZXNzIHJ0PTk3OTE2MDg3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTE2MDgxNwplcyBzdGFuZCBlbnRnZWdlbiBkZXIgZ2V3b2huaGVpdCB3YXMgc2lubnZvbGxlcyBkcmluIDopCmljaCBiaW4gendhciBhdWNoIGdlZ2VuIGdhc3RhcnRpa2VsLCBhYmVyIHdlbm4gZ3JpbW1ib3JucyBkaWVzYmV6dWVnbGljaGUKdGFldGlna2VpdCBzb3dpZXNvIGdlZHVsZGV0IHdpcmQsIHNwcmljaHQgZG9jaCBuaXggZGFnZWdlbiwgZGFzcyBwZXIKY29kZSB6dSByZWdlbG4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbGxlIFdvY2hlIHdpZWRlci4uLiAoUWl0ZXNzLCAxMC4gSmFuIDIwMDEsIDIyOjIwOjMyKToKfiMhIHJuPVBhdHJ5biBydD05NzkxNjEwMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzkxNjA4MTcKbmljaHQsIGRhc3MgaWNoIGpldHp0IGlyZ2VuZHdhcyB2b20gemF1biBicmVjaGVuIHdpbGwuLi4gYWJlciBpY2ggZGVua2UsIGVzCmlzdCBzY2hvbiBzaW5udm9sbCwgcmlnb3JvcyB6dSBzYWdlbiwgZGFzcyBhZ2VzdGUgbml4IGluIGRpZSBtcGEgenUgc2NocmVpYmVuCmhhYmVuLiBzY2hsdXNzLnB1bmt0LmF1cy4gd2VyIHNvbGx0ZSBkZW5uIGVudHNjaGVpZGVuLCB3YXMgc2lubnZvbGwgaXN0LCB1bmQKd2FzIG5pY3hodD8gZ3JpbW1pPyBuYWphLi4uCmJlc3NlciwgZXMgZ2lidCBrZWluZSBncmF1em9uZS4KUUkqKgpQLlMuOiBEaXNrdXNzaW9uIGJlZW5kZXQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsbGUgV29jaGUgd2llZGVyLi4uIChPcmt0b2V0ZXIsIDEwLiBKYW4gMjAwMSwgMjM6MzI6NTkpOgp+IyEgcm49UWl0ZXNzIHJ0PTk3OTE2MTYzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTE2MDgxNwpadSBRaXRlc3MgQXJ0aWtlbDoKV28gd2lsbHN0IGR1IGRpZSBHcmVuemUgemllaGVuPyBXZW5uIEdhZXN0ZSBuaWNodCBzY2hyZWliZW4gZHVlcmZlbiwgZXJzY2hhZmZ0Cm1hbiBoYWx0IGZ1ZXIga3VyemUgemVpdCBlaW5lbiBuZXVlbiBTcGllbGVyLCBzY2hyZWlidCBkYXMsIHdhcyBtYW4gc2NocmVpYmVuCndpbGwgdW5kIGxvZXNjaHQgaWhuIHdpZWRlciBvZGVyIGF1Y2ggbmljaHQuIEFsc28gbXVlc3N0ZXN0IGR1IGF1Y2ggbmV3YmllcwpkYXMgcG9zdGVuIHZlcmJpZXRlbi4uLiBhbHNvLCBhYiB3YW5uIHNvbGwgbWFuIGRhbm4gcG9zdGVuIGR1ZXJmZW4/CgpBYmVyIHdlc2VudGxpY2ggd2ljaHRpZ2VyICh1bmQgZGFoZXIgZXJzdCB6dWxldHp0KToKSWNoIHd1bmRlcmUgbWljaCBhdWNoLCB3aWUgbG9ja2VyIGRpZXNlciB3ZWNoc2VsIGVpbmVzIE1hZ2llcnp3ZWl0aWVzIGdlbm9tbWVuCndpcmQsIGRlciBzbyBlaWdlbnRsaWNoIG5pY2h0IGVybGF1YnQgd2FyLiBEYXMgZGVyIEVNIGF1Y2ggbm9jaApwcmFrdGlzY2hlcndlaXNlIHZlcmdlc3NlbiBoYXQsIG9kZXIgbmljaHQgZmFlaGlnIGdlbnVnIHdhciwgc2VpbmVuIHp3ZWl0aQpkYW5uIGF1Y2ggYWxzIFRlc3RpZSB6dSBtYXJraWVyZW4ga29tbXQgbm9jaCBlcnNjaHdlcmVuZCBoaW56dS4KTGVpZGVyIGVyd2Vja3QgZXMgYXVjaCBpbiBtaXQgZGVuIEVpbmRydWNrLCBkYXMgbWFuIGFscyBNYWdpZXIgYWJzb2x1dAphdXNzZXJoYWxiIGplZ2xpY2hlciBSZWdlbG4gc3RlaHQgdW5kIG1hbmlwdWxpZXJlbiBkYXJmIHNvIHZpZWwgbWFuIHdpbGwuClNlbGJzdCB3ZW5uIG1hbiBzaWNoIGVyd2lzY2hlbiBsYWVzc3QgcGFzc2llcnQgamEgbmljaHRzIHdlc2VudGxpY2hlcy4KRGEgZmluZGUgaWNoIGVzIGltIE5hY2hoaW5laW4gZG9jaCBndXQsIGRhcyBpY2ggc2Nob24gc2VpdCBkZXIgRWluZnVlaHJ1bmcgZGVyClN0dWZlbnB1bmt0ZSBrZWluZSBUb3BsaXN0ZW4gbWVociBsZXNlLgoKT3JrVCwgZGVyIGltbWVyIG5vY2ggZGVyIG1laW51bmcgaXN0LCBkYXMsIHdlciBtZWludCBzaWNoIGR1cmNoIG1hbmlwdWxhdGlvbgplaW5lbiBWb3J0ZWlsIHZlcnNjaGFmZmVuIHp1IG11ZXNzZW4gZGFubiBkb2NoIHdlbmlnc3RlbiBuaWNodCBhdWNoIG5vY2gKZ3Jvc3NhcnRpZyBhbmRlcmUgU3BpZWxlciBhbHMgdW5mYWVoaWcgYWJrYW56ZWxuIHNvbGx0ZSwgd2llIGVzIGxlaWRlciBhdWNoCmltbWVyIHdpZWRlciBnZXNjaGllaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZ2FueiBhbGxnZW1laW4gKEdvbGFzLCAxMS4gSmFuIDIwMDEsIDAxOjQ5OjI4KToKfiMhIHJuPVNreSBydD05NzkxNTg3NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzkxNTg3NTYKbWFnaWVyIGxvZXNjaGUgZmluZCBpY2ggdWViZXJ0cmllYmVuLCBhYmVyIGRlbiAodGVzdClzcGllbGVyIHdlZ21hY2hlbiBmYWVuZAppY2ggb2suIGlzdCB6d2FyIGZ1ZXIgdmllbGUgbmljaHQgd2lya2xpY2ggYXJiZWl0IG5lbiBzZWhlciB6dSBtYWNoZW4sIGFiZXIKZWluZSBrbGVpbmUgaGVtbXVuZyB3YWVyZSBlcyBzY2hvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBnYW56IGFsbGdlbWVpbiAoQW5hdG9sLCAxMS4gSmFuIDIwMDEsIDAyOjMyOjU4KToKfiMhIHJuPUdvbGFzIHJ0PTk3OTE3NDE2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTE1ODc1NgpBcnRpa2VsID09IFNpbm5mcmVpLCBHb2xhcy4gVGVzdGlzIGthbm4gbWFuIC0genVtaW5kZXN0IGFscyBob2VoZXJlcgpNYWdpZXIgLSBvaG5laGluIGVyemV1Z2VuIHdpZSBTcGlubmVuIGltIFdhbGQuIERlciBXZXJ0IGVpbmVzIFRlc3RpZXMKaXN0IG51ciBzbyBrbmFwcCB1ZWJlciAwLCBkYXNzIGRpZSBXYW5kbHVuZyBad2VpdHNwaWVsZXItPlRlc3RzcGllbGVyCm5hY2ggYm9lc3dpbGxpZ2VyIE1hbmlwdWxhdGlvbiBpbiBkZXIgUmVnZWwgLSBuYWVtbGljaCBkYW5uLCB3ZW5uIGluIGRlbgpad2VpdHNwaWVsZXIgc2Nob24gZGV1dGxpY2ggQXJiZWl0IGZsb3NzIC0gZnVlciBkZW4gQmV0cm9mZmVuZW4gc3B1ZXJiYXIgCmlzdC4KClZpZWxsZWljaHQga29lbm50ZSBtYW4sIHVtIGVpbmVzIHZvbiBLYXJpcycgYmVsaWVidGVzdGVuIFNjaGxhZ3dvcnRlbgplaW56dWJyaW5nZW4sIGhpZXIgZWluIHdlbmlnID5UcmFuc3BhcmVuejwgd2FsdGVuIGxhc3NlbiB1bmQgZGllIAplbnRzcHJlY2hlbmRlbiBWb3JmYWVsbGUgaW4gJ3BvbGl6ZWkuYmVrYW5udG1hY2h1bmdlbicgby5hZS4gZnVlciBkaWUKKG1pdGJldHJvZmZlbmU/KSBPZWZmZW50bGljaGtlaXQgZmVzdGhhbHRlbi4gSGF0IGVpbmVuIHNlaHIgYml0dGVyZW4KQmVpZ2VzY2htYWNrLCBqYSwgYWJlci4uLiA6LVwKClsiVGhlIGFubm91bmNlbWVudCBpcyBwYXJ0IG9mIHRoZSBwdW5pc2htZW50LCBvZiBjb3Vyc2UuIiAtIFNpdWFuIFNhbmNoZV0KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGdhbnogYWxsZ2VtZWluIChNb3Jnb3RoLCAxMS4gSmFuIDIwMDEsIDA3OjM3OjA2KToKfiMhIHJuPUFuYXRvbCBydD05NzkxNzY3Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzkxNTg3NTYKU28sIGVpbiByZXBseSBhdWYgZGVuIGxldHplbiBBcnRpa2VsIGltIFRocmVhZC4KSWhyIHJlZGV0IGRhIGVpZ2VudGxpY2ggbnVyIHZvbiAiTWFnaWVybiIsIHZlcmdlc3N0IGFiZXIgd29obCwgZGFzcwpoZXJ1bXBmdXNjaGVuIGluIGRlbiBTYXZlLUZpbGVzIGRlbiBFcnptYWdpZXJuIHZvcmJlaGFsdGVuIGlzdC4gSmVkZXIgYW5kZXJlCm11ZXNzdGUgc2VpbmVuIFp3ZWl0aWUgZ2xlaWNoemVpdGlnICJlaW5sb2dnZW4iIHVtIFdlcnRlIHp1IGFlbmRlcm4uIEFsc28KYml0dGUgdmVyYWxsZ2VtZWluZXJ0IG5pY2h0IGRhcyBNaXNzdmVyaGFsdGVuIHZvbiBFTXMgbWl0IGRlbSBkZXIgbm9ybWFsZW4gTXMKKG5pY2h0LCBkYXNzIGRpZSBuaWNodCBhdWNoIFNjaGVpc3NlIGJhdWVuIHd1ZXJkZW4pLgpPYiB1bmQgd2llIGRpZSBTdHJhZmUgbnVuIGdlcmVjaHRmZXJ0aWd0IGlzdCBvYmxpZWd0IGRlciBQb2xpemVpLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGdhbnogYWxsZ2VtZWluIChBbmF0b2wsIDExLiBKYW4gMjAwMSwgMTA6NDY6MDIpOgp+IyEgcm49TW9yZ290aCBydD05NzkxOTUwMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05NzkxNTg3NTYKSWNoIGdsYXViZSwgZGllIHdlbmlnc3RlbiBTcGllbGVyIGRpZmZlcmVuemllcmVuIGJlaW0gIlBmdXNjaGVuIGFtClp3ZWl0aWUiIHp3aXNjaGVuIE1hbmlwdWxhdGlvbiBkZXMgU2F2ZWZpbGVzIHVuZCBkZXIgTWFuaXB1bGF0aW9uIAphbSAobmV0enRvdGVuKSBad2VpdHNwaWVsZXIgc2VsYnN0LiAKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogZ2FueiBhbGxnZW1laW4gKFNpbHZhbmEsIDExLiBKYW4gMjAwMSwgMTE6MDA6MDEpOgp+IyEgcm49QW5hdG9sIHJ0PTk3OTIwNjM2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTE1ODc1NgpXaW1zIDJ0aWUgaXN0IG1pdCBuaWNodGVuIGRlciBlcnN0ZSBNYWdpZXJ6d2VpdGllLCBkZXIgYWxzIG1hbmlwdWxpZXJ0IGVya2FubnQKd3VyZGUgLSBhbGxlcmRpbmdzIFdpbXMgZXJzdGVyLiBTb3dlaXQgaWNoIGRhcyByaWNodGlnIG1pdHZlcmZvbGd0IGhhYmUsIGlzdAp6dW1pbmRlc3Qgc2VpdCBNdWFkaWIgc2ljaCBkZXIgU2FjaGUgYW5nZW5vbW1lbiBoYXQsIGlzdCBkaWUgU3RyYWZlICJTcGllbGVyCi0+IFRlc3RpZSIgZnVlcnMgTWFuaXB1bGllcmVuIHZvbiBad2VpdGllcyBkdXJjaCBkZW4gTWFnaWVyLUVyc3RpZSBiZWkKRXJzdHRhZXRlcm4gZHVyY2hhdXMgbm9ybWFsLgpPYiBtYW4gZGFzIG51biBmdWVyIGFuZ2VtZXNzZW4gaGFlbHQgb2RlciBuaWNodCwgc2VpIG1hbCBkYWhpbmdlc3RlbGx0LiBFcyBpc3QKZGllIGRlcnplaXQgdWVibGljaGUgRm9ybSBkZXIgQmVzdHJhZnVuZyAtIHVuZCBnZXJhZGUgZnVlciBlaW5lbiBFTSwgZGVyIHNpY2gKc2VpbmUgVGVzdGllcyBsZWljaHQgdW5kIG9obmUgdmllbCBBdWZ3YW5kIGJ1Y2hzdGFlYmxpY2ggc2NocmVpYmVuIGthbm4sIGtvbW10CmRhcyBlaW5lciBMb2VzY2h1bmcgZGVzIDJ0aWVzIGdsZWljaC4KT2IgZXMgbm9jaCB3ZWl0ZXJlIFZvcnd1ZXJmZSBnZWdlbiBFTXMgZ2lidCwga2FubiBpY2ggbmljaHQgYmV1cnRlaWxlbi4gV2VubgpkZW0gc28gaXN0LCB1bmQgTXVhZGliIGJla29tbXQgTmFjaHJpY2h0IGRhdm9uLCBzbyB2ZXJ0cmF1ZSBpY2ggZGFyYXVmLCBkYXNzCmVyIHNpY2ggZGVyIFNhY2hlIGFubmltbXQuIEFsbGVyZGluZ3MgbXVlc3N0IElociBuaWNodCBhbm5laG1lbiwgZGFzcyBqZWRlCk5hY2hmcmFnZSwgZGllIE11YWRpYiB1bnRlcm5pbW10LCBnbGVpY2ggaW4gZGVyIFplaXR1bmcgc3RlaHQuIEVzIGlzdApzY2hsaWVzc2xpY2ggc2Nob24gc28gbGVpY2h0IGdlbnVuZywgaGllciBzbyBldHdhcyB3aWUgZWluZW4gUnVmbW9yZCB6dQpiZWdlaGVuLi4uClVuZCBudW4gcmVndCBFdWNoIGJpdHRlIGFiLiA6KSBEYXMgaGllciBpc3QgZWluIFNwaWVsIC0gQmVzY2h3ZXJkZW4gZGFoZXIgYW4KZGVuIFNjaGllZHNyaWNodGVyIHVuZCBsYXNzdCBkaWUgYW5kZXJlbiB3ZWl0ZXIgc3BpZWxlbi4KClNpbHZhbmEgKG1pdCB3ZWlzc2VyIEZhaG5lIHdlZGVsbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWQgdWViZXIgV2ViIFBvcnQgODA/IChDYWxpbWVyaW9uLCAxMi4gSmFuIDIwMDEsIDA2OjE0OjI4KToKSGFsbG8hCgpXZWlzcyBqZW1hbmQsIG9iIGVzIGVpbmUgTW9lZ2xpY2hrZWl0IGdpYnQgbWl0dGVscyBXZWIgUG9ydCA4MCBNRyB6dSBjb25uZWN0ZW4KPyAgIAoKVGVsbmV0IFBvcnQgaXN0IGJlaSB1bnMgZ2VzcGVycnQgOykKCgpDYWxpbWVyaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkIHVlYmVyIFdlYiBQb3J0IDgwPyAoUGFkcmVpYywgMTIuIEphbiAyMDAxLCAxMDoxMTowMyk6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk3OTI3NjQ2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTI3NjQ2OApEYW5uIHZlcnN1Y2ggbWFsIFBvcnQgNDcxMSwgaXN0IGRlciBmcmVpPwoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5hdG9sIC0gVXJ0ZWlsZSBqZWRlciBzZWxic3QgKFRvd2VyLCAxNC4gSmFuIDIwMDEsIDE4OjI0OjU5KToKRm9sZ2VuZGVzIGlzdCBzb2ViZW4gZ2VzY2hlaGVuOgpFaW4gYW5kZXJlciBHZW5lcmFsIHVuZCBpY2ggaGFiZW4gZGVuIEJydWRlciBkZXMgU2Nod2VydG1laXN0ZXJzIGdlaGF1ZW4uIEF1cwpiZXF1ZW1saWNoa2VpdCB1bSBuaWNodCB6d2VpIG1hbCBkZW4gZ2FuemVuIFJlc3QgZGVzIFNjaGFjaHRlcyB6dSBraWxsZW4sIGhhYmUKaWNoIGRhbm4gYmVpbSBCcnVkZXIgZ2V3YXJ0ZXQuIEFuYXRvbCBrb21tdCByZWluIHVuZCBnZWh0IHdpZWRlciBuYWNoIG9iZW4uCkFuYXRvbCBrb21tdCB3aWVkZXIgaGVyZWluIHVudCBnZWh0IHdlaXRlciBydW50ZXIuIERhcmF1ZmhpbiBoYWJlIGljaAp2ZXJzdWNodCwgaWhuIGFuenVzcHJlY2hlbiwgbWVocm1hbHMsIG9obmUgQW50d29ydC4gRGFyYXVmaGluIGhhYmUgaWNoIGRhbm4KZXR3YXMgZ2VydWZlbiwgd29yYXVmaGluIHNpY2ggQW5hdG9sIGRhbm4gYXVjaCBwZXIgdGVpbGUgbWl0IGdlbWVsZGV0IGhhdC4gSWNoCmhhYmUgaWhtIGRhbm4gZGllIFNpdHVhdGlvbiBnZXNjaGlsZGVydCB1bmQgYmluLCBhbHMgZGVyIEJydWRlciByZXNldGV0ZSBlaW4KRmVsZCBuYWNoIG9iZW4gdW5kIGhhYmUgZ2VyYWRlIGRlbSBhbmRlcmVuIEdlbmVyYWwgYmVzY2hlaWQgZ2VzYWd0LCBkYXMgZGVyCkJydWRlciByZXNldGV0IGlzdCwgYWxzIEFuYXRvbCBhdWNoIGRlbiBiZXJlaXRzIGdla2lsbHQgaGF0dGUuIEVpbmUga3VyemUKQmVzaWNodGlndW5nIGVyZ2FiLCBkYXMgQW5hdG9sIHNhbXQgYmVpZGVyIFNjaHdlcnRlciByYXVzZ2VnYW5nZW4gaXN0LgpEYW5rZSBBbmF0b2whCgpJY2ggbW9lY2h0ZSBuaWNodCB2ZXJnZXNzZW4genUgZXJ3YWVobmVuLCBkYXMgZXIgZGFzIGVpbmUgc21zIGFuIGRlbiBhbmRlcmVuCkdlbmVyYWwgYWJnZWdlYmVuIGhhdCwgYWJlciBkaWVzZSAiZ3Jvc3N6dWVnaWdrZWl0IiBtYWNodCBkaWUgU2FjaGUgaW4gbWVpbmVuCkF1Z2VuIGF1Y2ggbmljaHQgYmVzc2VyLgoKVG93ZXIsIGVpZ2VudGxpY2ggbmljaHQgd2lya2xpY2ggdWViZXJyYXNjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbiBidWNoIChKaWdnYSwgMTYuIEphbiAyMDAxLCAyMDo0NDozOCk6CkpvIEljaCBGaW5kZSBEYXMgQ2FzaW5vIE5ldCEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBpbiBidWNoIChOb25uZSwgMTYuIEphbiAyMDAxLCAyMjozMzo0NSk6Cn4jISBybj1UYWluYSBydD05Nzk2Nzk5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05Nzk2NzQyNzgKS29lbm50ZSBtYW4gbmljaHQgZGVuICdzY2hyZWliZSctQmVmZWhsIGFlbmRlcm4/IFZpZWxsZWljaHQgJ3Zlcm9lZmZlbnRsaWNoZScKb2RlciBzbz8gSXN0IGphIG5pY2h0IGRhcyBlcnN0ZSBtYWwsIGRhcyBoaWVyIHNhY2hlbiBsYW5kZW4sIGRpZSBuaWNodCBpbiBkaWUKTVBBIHNvbGx0ZW4uIEhpZXIgd2FyZW4gamEgc29nYXIgc2Nob25tYWwgbWFpbHMgenUgbGVzZW4uIFVuZCB3ZW5uIGRhcyB3YXMKaW50aW1lcmVzIGRyaW5zdGVodCwgaXN0IGRhcyBuaWNodCBtZWhyIHdpdHppZy4gRGFubiBtYWcgbWFuIGpldHp0IHNhZ2VuOgpFci9TaWUga2FubiBqYSBhYmJyZWNoZW4sIGFiZXIgd2VsY2hlciBOZXVzcGllbGVyIGtvbW10IHNjaG9uIG1pdCBkZW4gRWRpdG9yCmtsYXI/IERhcyBrb2VubmVuIGphIG1hbmNoZSBTZWhlciBuaWNodC4KCk51ciBlaW5lIEFucmVndW5nCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaW4gYnVjaCAoTW9udGFudXMsIDE3LiBKYW4gMjAwMSwgMDA6MDk6MTQpOgp+IyEgcm49Tm9ubmUgcnQ9OTc5NjgwODI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc5Njc0Mjc4CnZlcmxlZyBkb2NoIGJpdHRlIGplbWFuZCBkZW4gQXJ0aWtlbCB2b24gTm9ubmUgbmFjaCBHZWphbW1lci4gaWNoIGRhcmZzIGxlaWRlcgpuaWNodC4KQXVzc2VyZGVtLCBpc3QgbmljaHQgZGVyIEJlZmVobCB6dW0gTVBBIHNjaHJlaWJiZW4gInJlcGx5Ij8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkIHVlYmVyIFdlYiBQb3J0IDgwPyAoSGF0ZSwgMTcuIEphbiAyMDAxLCAwOTozNDowMyk6Cn4jISBybj1DYWxpbWVyaW9uIHJ0PTk3OTI3NjQ2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTI3NjQ2OApBbHNvLCBlcyBnaWJ0IG5vcm1hbGVyd2Vpc2Uga2VpbmUgbW9lZ2xpY2hrZWl0IHRlbG5ldCB1ZWJlciBwb3J0IDgwCnp1IHR1bm5lbG4uIEFsbGVyZGluZ3Mga2FubnN0IER1IGF1ZiBkZW4gV2Vic2VpdGVuIHZvbSBNRyB1bnRlciAKIlNwaWVsZW4iIGVpbmUgU2hvY2t3YXZlIEZsYXNoIHZlcnNpb24gZGVzIHRlbG5ldCBmaW5kZW4sIHdhcwphdWNoIG1pdCBuZW0gRmlyZXdhbGwgZnVua3Rpb25pZXJlbiBzb2xsdGUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWQgdWViZXIgV2ViIFBvcnQgODA/IChHb2xhcywgMTcuIEphbiAyMDAxLCAxNDowMzozMSk6Cn4jISBybj1IYXRlIHJ0PTk3OTcyMDQ0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk3OTI3NjQ2OAppbiBtZWluZXIgZmlybWEgZnVuenQgYXVjaCBkYXMgbmljaHQgOigoKAoKZ29sYXMgdHJhdWVucmQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZCB1ZWJlciBXZWIgUG9ydCA4MD8gKEhhdGUsIDE3LiBKYW4gMjAwMSwgMjE6Mzk6MjMpOgp+IyEgcm49R29sYXMgcnQ9OTc5NzM2NjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTc5Mjc2NDY4CkFoYSwgd2FzIHBhc3NpZXJ0IGRlbm4/IExhZXNzdCBkZWluZSBjb21wYW55IGtlaW4gU2hvY2t3YXZlIEZsYXNoIHp1PwoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiNtZy5kZSBJUkMgZ2VodCB3aWVkZXIgKEhhdGUsIDIwLiBKYW4gMjAwMSwgMTk6MzE6NDUpOgpIaSwKCmljaCBoYWJlIGVuZGxpY2ggbWFsIGRpZSBaZWl0IGdlZnVuZGVuLCBkZW4gaXJjIGNoYW5uZWwgenUgcmVha3RpdmllcmVuLiBFcwpoYXQgc2ljaCBhbGxlcmRpbmdzIGVpbmUgQWVuZGVydW5nIGVyZ2ViZW4sIGRlciBjaGFubmVsIGhlaXNzdCBqZXR6dCAjbWcuZGUKYWJlciBoaWVyIGltIE1VRCBpc3QgZXIgbnVyIGFscyAjbWcgYW56dXNwcmVjaGVuLiBOYWphLCBaZWl0IGdlZnVuZGVuIGlzdApldHdhcyB6dXZpZWwgZ2VzYWd0LiBJY2ggaGFiIG51ciBlbmRsaWNoIG5lbiBXZWcgZ2VzdWNodCBtaXQgbWVpbmVyIERyZWFtY2FzdAppbnMgTVVEIHp1IGtvbW1lbiB1bmQgZGFzIEV0aGVybmV0YWRhcHRlciBoYXQgaGFsdCBlaW4gSVJDIGNsaWVudCBkYWJlaSAuLi4KbWFuIGJyYXVjaCBoYWx0IGZ1ZXIgYWxsZXMgZWluZW4gQW5zdG9zcyA7LSkKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoUWl0ZXNzLCAyMC4gSmFuIDIwMDEsIDE5OjU5OjA3KToKfiMhIHJuPUhhdGUgcnQ9OTgwMDE1NTA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CndpZXNvIGJyYXVjaHQgbWFuIGluIGVpbmVtIGludGVyYWt0aXZlbiwgYXVmIHZpZWxlbiBTcGllbGVybiBiYXNpZXJlbmRlbiBTcGllbAptaXQga2FuYWVsZW4gZnVlciBhbGxlcyBtb2VnbGljaGUgdW5kIG1pdCBlaW5lciB6ZWl0dW5nIG1pdCBydWJyaWtlbiBmdWVyCmFsbGVzIG1vZWdsaWNoZSwgdW5kIG1pdCBkZXIgbW9lZ2xpY2hrZWl0LCBzaWUgZXR3YXMgbWl0dGVpbGVuIHp1IGtvZW5uZW4sCndpZXNvIGJyYXVjaHQgbWFuIGRhIG5vY2ggZWluZW4gaXJjLWNoYXQtY2hhbm5lbD8KClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoU29sbXlyLCAyMC4gSmFuIDIwMDEsIDIwOjAxOjI5KToKfiMhIHJuPVFpdGVzcyBydD05ODAwMTcxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAwMTU1MDUKTmEgd2VnZW4gZGVyIEdsb2JhbGlzaWVydW5nIG5hdHVlcmxpY2ggOz0pCgpTb2xteXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICNtZy5kZSBJUkMgZ2VodCB3aWVkZXIgKFFpdGVzcywgMjAuIEphbiAyMDAxLCAyMDowMjoxMSk6Cn4jISBybj1Tb2xteXIgcnQ9OTgwMDE3Mjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1Ci4uLnVuZCB3ZWlsIGVzIGlubm92YXRpdiBpc3Q/ClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6ICNtZy5kZSBJUkMgZ2VodCB3aWVkZXIgKFNvbG15ciwgMjAuIEphbiAyMDAxLCAyMDowMzo0Myk6Cn4jISBybj1RaXRlc3MgcnQ9OTgwMDE3MzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CkR1IGhhc3QgZG9jaCBhbiBIYXRlJ3MgQmVnZWlzdGVydW5nIGdlbWVya3QsIGRhc3MgZGVyIElSQyBDaGFubmVsCnNlaW4gQmFieSBpc3QuIExhc3MgSWhtIGRvY2ggc2VpbmVuIEZyZWlyYXVtLCB2aWVsZSBsb2VzY2hlbiBJaHJlClNhY2hlbiwgZWluaWdlIGZ1ZWdlbiBOZXVlIGhpbnp1LiBBbGxlcyBsaWViZXIgZWluZSBGcmFnZSBkZXIKUXVhbnRpdGFldCwgbmljaHQgZGVyIFF1YWxpdGFldC4KClNvbG15cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoUWl0ZXNzLCAyMC4gSmFuIDIwMDEsIDIwOjA0OjU3KToKfiMhIHJuPVNvbG15ciBydD05ODAwMTc0MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAwMTU1MDUKamFkb2NoamEgOikKaXN0IGRvY2ggb2theSwgaWNoIGhhYiBuaWNodHMgZGFnZWdlbiwgYXVjaCB3ZW5uIGljaHMga29taXNjaCBmaW5kZSA7KQpRSSoqCgpQLlMuOiBzY2hsdXNzIGpldHp0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAjbWcuZGUgSVJDIGdlaHQgd2llZGVyIChIYXRlLCAyMC4gSmFuIDIwMDEsIDIxOjM3OjU5KToKfiMhIHJuPVFpdGVzcyBydD05ODAwMTc0OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAwMTU1MDUKSG1tLCBhbmRlcmUgQXJndW1lbnRhdGlvbi4uLiBXaWVzbyBrYW5uIG1hbiBkaWVzZXMgTVVEIHBlciB0ZWxuZXQsIGphdmEgdW5kCkZsYXNoIHNwaWVsZW4uIFdvenUgZ2lidHMgbmUgV2Vic2VpdGUgLi4uIHdpZXNvIHNvbGwgbWFuIGRhbm4gbmljaHQgYXVjaCBkaWUKTW9lZ2xpY2hrZWl0IGhhYmVuIG1pdCBMZXV0ZW4gYXVzIGRlbSBJUkMgenUgY2hhdHRlbi4KCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAjbWcuZGUgSVJDIGdlaHQgd2llZGVyIChCb2luZywgMjEuIEphbiAyMDAxLCAxODowNTozOSk6Cn4jISBybj1RaXRlc3MgcnQ9OTgwMDE3MTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CkR1IHdlaXNzdCwgZGFzcyBtYW4gRWJlbmVuIGFic2NoYWx0ZW4ga2Fubiwgb2Rlcj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoR29vZnksIDIyLiBKYW4gMjAwMSwgMDg6NTQ6MzgpOgp+IyEgcm49Qm9pbmcgcnQ9OTgwMDk2NzM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CkhpZXIgZ2lidCBlcyBzb3ZpZWxlIFNwaWVsZXIgdW5kIE1hZ2llci4gV296dSBnaWJ0IGVzIGF1Y2ggbm9jaCBRaXRlc3M/Ckdvb2Z5LCB2ZXJ3dW5kZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoRGFyaWEsIDIyLiBKYW4gMjAwMSwgMTA6NTA6MTUpOgp+IyEgcm49R29vZnkgcnQ9OTgwMTUwMDc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CkRlciBDaGFubmVsIGlzdCBkYW5uIHByYWt0aXNjaCwgd2VubiBkYXMgTUcgYWJzdHVlcnp0IGJ6dy4gZG93biBpc3QuCgpEYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogI21nLmRlIElSQyBnZWh0IHdpZWRlciAoTW9udGFudXMsIDIyLiBKYW4gMjAwMSwgMTc6MTQ6NDYpOgp+IyEgcm49RGFyaWEgcnQ9OTgwMTU3MDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1Ck9oLCBub3JtYWxlcndlaXNlIHRyaWZmdCBtYW4gZGFubiBkaWUgZ2FuemVuIExldXRlIGluIGFuZGVyZW4gTXVkcywgd28gc2llCndhcnRlbiwgZGFzcyBkYXMgKiogd2llZGVyIGxhZXVmdC4uLgpOaXggZ2VnZW4gSVJDLCBhYmVyIGRhZnVlciBicmFldWNodGUgbWFuIGVzIG51biB3aXJrbGNpaCBuaWNodC4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAjbWcuZGUgSVJDIGdlaHQgd2llZGVyIChRaXRlc3MsIDIzLiBKYW4gMjAwMSwgMTc6MzQ6MjYpOgp+IyEgcm49RGFyaWEgcnQ9OTgwMTU3MDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMDE1NTA1CmplcCwgaWNoIHRyZWZmZSBtaWNoIGVpZ2VudGxpY2ggYXVjaCBsaWViZXIgaW4gZWluZW0gYW5kZXJlbiBtdWQuCgptYWwgZ2FueiBkYXZvbiBhYmdlc2VoZW4sIGRhc3Mgd29obCBlaW5pZ2UgbGV1dGUgYXVmIGlyb25pZSBlcnN0IGFuc3ByaW5nZW4sCndlbm4gbWFuIGlobmVuIGVpbiAqaGFsbG8sIGljaCBzY2hlcnplIGpldHp0Ki1zY2hpbGQgdW50ZXIgZGllIG5hc2UgaGFlbHQsCndvbGx0IGljaCBudXIgbm9jaG1hbCBrbGFyc3RlbGxlbiwgZGFzcyBpY2ggTklDSFRTIGRhZ2VnZW4gaGFiZSwgZGFzcyBlcyBlaW5lbgptZy1jaGF0LWNoYW5uZWwgZ2lidCwgZGFzcyBpY2ggZGVuIGNoYXQtY2hhbm5lbCBOSUNIVCBoZXJ1bnRlcmdlbWFjaHQgaGFiZSwKdW5kIGRhc3MgaWNoIGR1cmNoYXVzIHdlaXNzLCB3aWUgbWFuIGViZW5lbiBhbi0gdW5kIGFic3RlbGx0LgppY2ggd3Vzc3RlIG5pY2h0LCBkYXNzIHdpciBoaWVyIHZvbSBtZyB1ZWJlciBlaW5lIGViZW5lIGluIGRlbiBjaGF0CnJlaW5rb2VubmVuLCBkZW5uIGljaCBzY2hhdSBuaWNodCBiZWkgamVkZW0gZWlubG9nZ2VuIG5hY2gsIHdlbGNoZSBuZXVlbgplYmVuZW4gZXMgZ2lidC4gdW5kIGRhIGVzIGZ1ZXIgbWVpbmVuIHRlaWwgZ2VudWVnZW5kIG1vZWdsaWNoa2VpdGVuIGltIG11ZApnaWJ0LCBzaWNoIHp1IHVudGVyaGFsdGVuLCBoYWJlIGljaCBtaWNoIGF1Y2ggbm9jaCBuaWNodCBmdWVyIGRlbiBjaGF0LWNoYW5uZWwKaW50ZXJlc3NpZXJ0LiB1bmQgaWNoIGJldG9uZSBub2NoIGVpbm1hbCBhdXNkcnVlY2tsaWNoLCBkYXNzIGljaCBOSUVNQU5ERU4KaGVydW50ZXJnZW1hY2h0IGhhYmUuCgpRSSoqIG1hZyBhdWNoIEdvb2Z5IHVuZCBCb2luZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChTa3ksIDI0LiBKYW4gMjAwMSwgMjA6MzQ6MzcpOgp+IyEgcm49UmlrdXMgcnQ9OTgwMjYzNzM2IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD05ODAyNjM3MzYKSWNoIGJpbiBob2ZmZW50bGljaCBuaWNodCBkZXIgZWluemlnZSwgZGVyIGFuZ2VzaWNodHMgc29sY2hlciBOZXVpZ2tlaXRlbiBlaW5lCkF1Z2VuYnJhdWUgaG9jaHppZWh0LgoqU2t5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChFbGVuZGlsLCAyNS4gSmFuIDIwMDEsIDExOjU3OjE5KToKfiMhIHJuPVNreSBydD05ODAzNjQ4Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKV29yYXVmIFNreSBhbnNwaWVsdCB3aXJkIHdvaGwgZGllIFRhdHNhY2hlIHNlaW4sIGRhc3MgaGludGVyIEFtYXJ5bGxpcyB1bmQgR29yCmF1Y2ggU3BpZWxlciAoRXJzdHNwaWVsZXIpIHN0ZWhlbi4gV2llIElociBkYWJlaSBkYXMgUHJvYmxlbSBlaW5lcwpJbmZvcm1hdGlvbnN2b3JzcHJ1bmdzIGxvZXNzdCBibGVpYnQgZXVjaCB1ZWJlcmxhc3NlbiBvZGVyIG9iIGlociB1ZWJlcmhhdXB0CmVpbmVuIHNlaHQuIApFaW5lIExvZXN1bmcgd2lyZCBlcyBkYSBtZWluZXIgTWVpbnVuZyBuYWNoIGFsbGVyZGluZ3MgbmljaHQgZ2ViZW4sIGF1ZiBkZXIKZWluZW4gU2VpdGUgaXN0IGVpbiBWb3JzcHJ1bmcgdm9yaGFuZGVuIGF1ZiBkZXIgYW5kZXJlbiBTZWl0ZSBpc3QgZWluZQpzcGllbGVybmFoZSBOUEMtQmFsYW5jZSB3dWVuc2NoZW5zd2VydC4gRGFzIENsb25lbiBkZXIgTlBDcyBpbiBlaW5lbiBSYXVtCnd1ZXJkZSBkaWUgQmV1cnRlaWx1bmcgdmVyZmFlbHNjaGVuLCBkYSBkaWUgVW1nZWJ1bmcgZmVobHQuCkNVLCBFbGVuZGlsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChBbmF0b2wsIDI1LiBKYW4gMjAwMSwgMTE6NTk6NTgpOgp+IyEgcm49RWxlbmRpbCBydD05ODA0MjAyMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKSWNoIGJlendlaWZsZSwgZGFzcyBTa3kgYXVmIGRhcyBQcm9ibGVtIGRlcyAiSW5mb3JtYXRpb25zdm9yc3BydW5ncyIKYW5zcGllbHQsIHp1bWFsIGhpZXIgcGVyIERlZmluaXRpb25lbSBlaW4gTWFnaWVyendlaXRjaGFyYWt0ZXIga2VpbgpFcnN0c3BpZWxlciBzZWluIGthbm4gLSB3ZXIgYXVjaCBpbW1lciB2b24gR29yIG9kZXIgQW1hcnlsbGlzIG5vY2gKZ2VzcGllbHQgd2lyZCwgaXN0IFp3ZWl0c3BpZWxlciBlaW5lcyBNYWdpZXJzIHVuZCB1bnRlcmxpZWd0IGRpZXNlbgpSZWdlbG4uCgpBbmF0b2wsIHd1ZW5zY2h0IEdvcm1hcnlsbGlzIG1hbCB2aWVsIEVyZm9sZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyc3RraWxscyB1bmQgTlBDLUJhbGFuY2UgKFJpa3VzLCAyNS4gSmFuIDIwMDEsIDEyOjAxOjE4KToKfiMhIHJuPUFuYXRvbCBydD05ODA0MjAzOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKVW5kIHdlciBzYWd0IGRlbm4sIGRhc3MgZGVyZW4gMnRpZXMgbm9jaCBFcnN0a2lsbHMgZXJoYWx0ZW4ga29lbm5lbj8gOikKClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChBcG9sbG9uaWEsIDI1LiBKYW4gMjAwMSwgMTI6MDE6MjIpOgp+IyEgcm49RWxlbmRpbCBydD05ODA0MjAyMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKSG1tLCBpY2ggd3VlcmRlIG1hbCBzYWdlbiwgaGludGVyIGplZGVtIE1hZ2llciBzdGVoZW4gZWluIG9kZXIgbWVocmVyZQpTcGllbGVyLiBVbmQgaWNoIHBlcnNvZW5saWNoIGhhbHRlIEdvciB1bmQgQW1hKiBmdWVyIHZlcmFudHdvcnR1bmdzdm9sbCBnZW51ZywKbWl0IGVpbmVtIGV2ZW50dWVsbGVuIEluZm9ybWF0aW9uc3ZvcnNwcnVuZyB1bXp1Z2VoZW4uIE1pciBpc3QgamVkZW5mYWxscyBuZQpzcGllbGVybmFoZSBOUEMtQmFsYW5jZSBsaWViZXIgYWxzIGVpbmUsIGRpZSBzY2hvbiBzZWl0IEphaHJlbiBuaWNodCBtZWhyCnNlbGJzdCBtZXR6ZWx0LgoKQWJnZXNlaGVuIGRhdm9uLCBoYWIgaWNoIERpZWRlciBqYSBzY2hvbiBlZWV3aWcgbmljaCBtZWhyIGdlc2VoZW4uCgpBcG8qIChqdXN0IG15IDIgY2VudHMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChTaWx2YW5hLCAyNS4gSmFuIDIwMDEsIDEyOjA2OjU3KToKfiMhIHJuPUFwb2xsb25pYSBydD05ODA0MjA0ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKV2VyIGFuIGRlciBFbnR3aWNrbHVuZyBkZXMgTUcgbWl0YXJiZWl0ZXQsIGhhdCBkYWR1cmNoIGVpbmVuCkluZm9ybWF0aW9uc3ZvcnNwcnVuZy4gRGVtIGlzdCBzbyB1bmQgZGFzIGlzdCBhdWNoIG5pY2h0IHp1IGFlbmRlcm4uIERhcyBnaWx0CmZ1ZXIgSnVuZ21hZ2llciB3aWUgZnVlciBFcnptYWdpZXIgd2llIGZ1ZXIgU3BpZWxlciBpbiBCYWxhbmNlZ3JlbWllbiB3aWUKZnVlci4uLiB3YXMgYXVjaCBpbW1lci4gV2VubiBkaWUgTGV1dGUgZGFtaXQgdW1nZWhlbiBrb2VubmVuLCBpc3QgZGFnZWdlbiBhdWNoCm5pY2h0cyBlaW56dXdlbmRlbi4gV2VubiBzaWUncyBuaWNodCBrb2VubmVuLCB3aXJkJ3MgaXJnZW5kd2FubiBhdWZmYWxsZW4gdW5kCmVzIHdlcmRlbiBkYW5uIEtvbnNlcXVlbnplbiBmb2xnZW4uIERhcmF1cyBhYmVyIHp1IGZvbGdlcm4sIGRhc3MgbmllbWFuZCwgZGVuCkluZm9ybWF0aW9uc3ZvcnNwcnVuZyBoYXQsIG5vY2ggc3BpZWxlbiBkdWVyZnRlLCB3YWVyZSB2b2xsa29tbWVuIGZhbHNjaCAtIGltCkdlZ2VudGVpbDogR2VyYWRlIGRpZSBMZXV0ZSwgZGllIG1pdCBCYWxhbmNlIHp1IHR1biBoYWJlbiwgc29sbHRlbiBha3RpdgpzcGllbGVuIG9kZXIgenVtaW5kZXN0IHZvbiBha3RpdmVuIFNwaWVsZXJuIHVudGVyc3R1ZXR6dCB3ZXJkZW4uClVuZCBudW4gbGFzc3QgZGllIGRyZWkgbWFsIGlocmUgQXJiZWl0IHR1bi4gV2VubidzIHNjaGllZiBnZWh0LCBkdWVyZnQgSWhyCmF1Y2ggZ2VybiAiSWNoIGhhYnMgZG9jaCBnbGVpY2ggZ2VzYWd0IiBydWZlbi4gQWJlciBiaXMgZGFoaW4gKGZhbGxzIGVzIGRhenUKa29tbXQpIHd1ZW5zY2ggaWNoIGRlbiBkcmVpZW4gZWluZmFjaCBtYWwgdmllbCBFcmZvbGcgdW5kIFZlcmdudWVnZW4uCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyc3RraWxscyB1bmQgTlBDLUJhbGFuY2UgKEVsZW5kaWwsIDI1LiBKYW4gMjAwMSwgMTI6MTU6NDUpOgp+IyEgcm49QW5hdG9sIHJ0PTk4MDQyMDM5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MDI2MzczNgpIaSwKamEgOikgaWNoIG1laW50ZSBhdWNoIGFrdGl2ZSBTcGllbGVyIG5pY2h0IEVyc3RzcGllbGVyIDopIFNvcnJ5IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChFbGVuZGlsLCAyNS4gSmFuIDIwMDEsIDEyOjE5OjUzKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTgwNDIwODE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMjYzNzM2CkFsc28gbmljaHQgZGFtaXQgZWluIGZhbHNjaGVyIEVpbmRydWNrIGVudHN0ZWh0LiBNZWluZSBNZWludW5nIHN0ZWh0IHVudGVuIGltCkFydGlrZWwgdW5kIGljaCBoYWJlIGFuIGtlaW4gU3BpZWx2ZXJib3Qgb2RlciBhZWhubGljaGVzIGdlZGFjaHQuIE1laW5lcgpNZWludW5nIG5hY2ggbGFlc3N0IHNpY2ggZWJlbiBkYXMgUHJvYmxlbSBhdWNoIGdhcm5pY2h0IGFuZGVycyBsb2VzZW4sIGhhYmUKYXVmIGRlbiBBcnRpa2VsIHZvbiBTa3kgcmVhZ2llcnQsIHRoYXRzIGFsbCA6KSBTcGllbGVybmFoZSBOUEMtQmFsYW5jZQpiZWZ1ZXJ3b3J0ZSBpY2guCkVsZW5kaWwgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyc3RraWxscyB1bmQgTlBDLUJhbGFuY2UgKFphcmRveiwgMjUuIEphbiAyMDAxLCAxNjowNTowMCk6Cn4jISBybj1FbGVuZGlsIHJ0PTk4MDQyMTU5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MDI2MzczNgpXYXMgbWljaCBpbW1lciB3aWVkZXIgd3VuZGVydDogV2FydW0gc29sbHRlbiBhbGxlIFNwaWVsZXIgYWJzb2x1dCBkaWUgZ2xlaWNoZW4KQmVkaW5ndW5nZW4gaGFiZW4/IFdpciB0cmFnZW4gaGllciBqYSBzY2hsaWVzc2xpY2gga2VpbmVuIFdldHRiZXdlcmIgYXVzLCB3bwpmYWlyZSB1bmQga2xhcmUgUmVnZWxuIHdpY2h0aWcgc2luZCBmdWVyIGVpbmVuIGVpbmRldXRpZ2VuIEF1c2dhbmcsIGFiZXIgZGEKd2lyIGhpZXIgenVzYW1tZW5zcGllbGVuIHVuZCBuaWNodCBnZWdlbmVpbmFuZGVyIHNvbGx0ZSBlcyBkb2NoIHJlbGF0aXYgZWdhbApzZWluLCBvYiBqZW1hbmQgd2Vpc3MsIHdpZSBlaW5lIGJlc3RpbW10ZSBHZWdlbmQgcHJvZ3JhbW1pZXJ0IGlzdCwgd28gd2VsY2hlCkdlaGVpbW5pc3NlIHNpbmQgb2RlciB3ZWxjaGUgU2Nod2FlY2hlbiBlaW4gTW9uc3RlciBoYXQuIE9kZXIgdmVyc3RlaGUgaWNoCk11ZHMgZWluZmFjaCBuaWNodD8KClpkcm96egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRXJzdGtpbGxzIHVuZCBOUEMtQmFsYW5jZSAoTGlhcmEsIDI1LiBKYW4gMjAwMSwgMTY6MTk6MDUpOgp+IyEgcm49WmFyZG96IHJ0PTk4MDQzNTEwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MDI2MzczNgpNdWRzIHNjaG9uLCBhYmVyIHZpZWxsZWljaHQgZWluZSBnZXdpc3NlIEthdGVnb3JpZSBTcGllbGVyIG5pY2h0LiBEaWUgYnJpbmdlbgplaW5lIE1lbnRhbGl0YWV0IG1pdCwgZGFzcyBtYW4ga290emVuIGtvZW5udGUsIHdlbm4gbWFuIHNpZSBlcm5zdCBuZWhtZW4Kd3VlcmRlLgoKWnVtIEdsdWVjayBzaW5kIGRpZXNlIExldXRlIG1pdCBzaWNoIHNlbGJlciBzY2hvbiBnZW51ZyBnZXN0cmFmdC4gOy0pIFdlbm4gc2llCmlociBMZWJlbiBzbyBsZWJlbiAnbXVlc3NlbicsIHdpZSBzaWUgc2ljaCBoaWVyIGltIE11ZCBhdWZmdWVocmVuCihFZmZla3Rpdml0YWV0IHJ1bGVzIHVzdy4pLCBkYW5uIGlzdCBlcyBrZWluIFd1bmRlciwgZGFzcyBzaWUgZXMgbnVyIG5vY2ggaGllcgphdXNoYWx0ZW4ga29lbm5lbiB1bmQgUkwgbmljaHQgZHVyY2hoYWx0ZW4uCgpMWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJzdGtpbGxzIHVuZCBOUEMtQmFsYW5jZSAoQW1hcnlsbGlzLCAyNS4gSmFuIDIwMDEsIDIwOjEyOjA3KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTgwNDIwODE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgwMjYzNzM2CkdlbmF1LgpJbSB1ZWJyaWdlbiBmcmFnZSBpY2ggbWljaCwgd2FzIGVzIHVlYmVyaGF1cHQgbWl0IGRpZXNlbSBvbWlub2VzZW4KIkluZm9ybWF0aW9uc3ZvcnNwcnVuZyIgYXVmIHNpY2ggaGFiZW4gc29sbC4gRGFzcyBlciB2b3JoYW5kZW4gaXN0LCBpc3Qga2xhciwKYWJlciBlciB3YXIgc2Nob24gdm9yaGFuZGVuLCBfYmV2b3JfIEdvciB1bmQgaWNoIHVucyB6dSBkaWVzZXIgTWl0YXJiZWl0IGJlaQpkZXIgTlBDLUJhbGFuY2UgZW50c2NobG9zc2VuLiBPZGVyIGFuZGVycyBnZXNhZ3Q6IFdlbm4gbWl0CiJJbmZvcm1hdGlvbnN2b3JzcHJ1bmciIGdlbWVpbiBzZWluIHNvbGwsIGRhc3Mgd2lyIE5QQ3MgbmFlaGVyIGFuc2NoYXVlbgprb2VubmVuLCBkYW5uIGlzdCBlcyBzY2hudXJ6LCBvYiB3aXIgamV0enQgIk5QQy1CYWxhbmNlLUJlcmF0ZXIiIFsxXSBzaW5kIG9kZXIKbmljaHQgLSBlcyBoYWJlbiBzaWNoIHdlZGVyIHVuc2VyIExldmVsIG5vY2ggdW5zZXJlIFJlY2h0ZSBnZWFlbmRlcnQsIHVuZApGaWxlcyBhbnNjaGF1ZW4ga29ubnRlbiB3aXIgZGF2b3IgYXVjaCBzY2hvbi4gQWxzbyB3YXMgc29sbCBkYXMgZGFubj8KQXVmIGplZGVuIEZhbGwga2FubiBqZWRlciBFcnppZSBzZWhlbiwgV0FTIGljaCBiaXNoZXIgYW4gRmlsZXMgYW5nZXNjaGF1dApoYWJlLCB1bmQgc2ljaCBkYXJhdXMgZWluIFVydGVpbCBiaWxkZW4sIG9iIGljaCBoaWVyIHZlcmFudHdvcnR1bmdzdm9sbCBtaXQKbWVpbmVtIE1hZ2llcmpvYiB1bWdlaGUgb2RlciBlaW5mYWNoIG51ciB2b20gIkRhdGVpZW4tU3BlY2h0ZW4iIHByb2ZpdGllcmVuCndpbGwgLSB1bmQgc28gd2llIGJpc2hlciB3ZXJkZSBpY2ggZXMgYXVjaCBpbiBadWt1bmZ0IGhhbHRlbi4KV2lyIGhhYmVuIHVuc2VyZSBNaXRoaWxmZSBhbmdlYm90ZW4sIHdlaWwgd2lyIGRlciBNZWludW5nIHNpbmQsIGRhc3Mgd2lyIC0gZGEKd2lyIHp1c2FtbWVuIG1pdCB1bnNlcmVuIFNwaWVsZXJuIHJlY2h0IHZpZWxlIEdpbGRlbiBpbiB0ZWlsd2Vpc2UgcmVjaHQgaG9oZW4KTGV2ZWwgYWJkZWNrZW4gLSBlaW5lIF9VbnRlcnN0dWV0enVuZ18gYmVpIGRlciBCZXdlcnR1bmcgby5hZS4gdm9uIE5QQ3MgYmlldGVuCmtvZW5uZW4gLSB1bmQgbmljaHQgbWVoci4gRGFzIHdhcyBTa3kgaW4gc2VpbmVtIEFydGlrZWwgbWVpbnRlLCB3YXIgd29obCBlaGVyCmRpZSBUYXRzYWNoZSwgZGFzcyBlciB1bnMgZnVlciBuaWNodCBnZWVpZ25ldCBoYWVsdCwgd2VpbCBlciBlaW4gcGFhciB1bnNlcmVyCk9iamVrdGUgZnVlciBuaWNodCB0cmFnYmFyIGhhZWx0LiBXZW5uIGljaCBkYXMgZmFsc2NoIHZlcnN0YW5kZW4gaGFiZTogc29ycnkuCkZhbGxzIG5pY2h0LCBpc3QgZGF6dSB6dSBzYWdlbiwgZGFzcyBlcyB3b2hsIGJlaSBqZWRlbSBNYWdpZXIgU2FjaGVuIGdpYnQsIGRpZQplaW5lbSBwYXNzZW4gb2RlciBuaWNodC4KSWNoIHBlcnNvZW5saWNoIGhhYmUgdm9uIHZpZWxlbiBzY2hvbiBwb3NpdGl2ZSBadXN0aW1tdW5nIHp1IGRlbSBFbnRzY2hsdXNzCmJla29tbWVuLiBJbnNvZmVybiBiZWRhbmtlIGljaCBtaWNoIGRhZnVlciB1bmQgd2VyZGUgdmVyc3VjaGVuLCBkZW4gSm9iIGF1Y2gKZ3V0IHVuZCB2ZXJhbnR3b3J0dW5nc3ZvbGwgenUgbWFjaGVuLgoKQW1hKiwgc2ljaCBqZWRlcnplaXQgdWViZXIgTWFpbHMgdW5kIGtvbnN0cnVrdGl2ZSBLcml0aWsgZnJldWVuZC4KClsxXSBhY2ssIHdhcyBmdWVyIGVpbiBXb3J0Li4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFcnN0a2lsbHMgdW5kIE5QQy1CYWxhbmNlIChNYXRpcywgMjUuIEphbiAyMDAxLCAyMDoxNzoyMyk6Cn4jISBybj1MaWFyYSBydD05ODA0MzU5NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODAyNjM3MzYKRXMgaXN0IGRvY2ggc2Nob2VuLCB3aWUgYWxsZSBnZW5hdSB3aXNzZW4genUgbWVpbmVuLCB3YXMgU2t5IHp1CnNlaW5lbSBBcnRpa2VsIGJld2VndCBoYXQuIFVuZCBkYW5uIHpUIGF1Y2ggZ2xlaWNoIHdpZWRlciAKcGVyc29lbmxpY2ggd2VyZGVuIC4uLgoKSWNoIGhhYmUsIGFscyBpY2ggZGllIEJla2FubnRtYWNodW5nIGdlbGVzZW4gaGFiZSwgd2lya2xpY2ggZGllIApBdWdlbmJyYXVlIGhvY2hnZXpvZ2VuLiBBbGxlcmRpbmdzIG5pY2h0IHdlZ2VuIGlyZ2VuZGVpbmVzCiJXaXNzZW5zdm9yc3BydW5nZXMiLCBlaW4gc29sY2hlciBrYW5uIGF1Y2ggbWlyIGFscyBCYWxhbmNsZXIKdm9yZ2VoYWx0ZW4gd2VyZGVuLiBWaWVsbWVociBiaW4gaWNoIG5vY2ggKD8pIG5pY2h0IHZvbGxrb21tZW4gCnVlYmVyemV1Z3QsIGRhc3MgQW1hKiB1bmQgR29yIGRpZSBSaWNodGlnZW4gZnVlciBkaWVzZW4gSm9iIHNpbmQuIApVbmQgZGFzIGhhdCByZWluIGdhciBuaWNodHMgbWl0IHBlcnNvZW5saWNoZW4gUHJvYmxlbWVtIHp1IHR1biAtIApkaWUgenVnZWhvZXJpZ2VuIFNwaWVsZXIgc2luZCBhbHRlIHVuZCBndXRlIEZyZXVuZGUuIAoKQWJlciB3aWUgc2Nob24gdm9uIGlyZ2VuZHdlbSBnZXNhZ3QsIGltIEZhbGxlIGVpbmVzIEZhbGxlcyBrYW5uIG1hbgppbW1lciBub2NoIHNwYWV0ZXIgbWVja2Vybiwgdm9yaGVyIGplZG9jaCBkdWVyZmVuIHNpZSAodmVyc3VjaGVuIHp1KQp6ZWlnZW4sIGRhc3Mgc2llIGRpZSByaWNodGlnZSBXYWhsIHdhcmVuIHVuZCBzaW5kIDpvKS4KCk1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChKb2hubnlkZXBwLCAgMS4gRmViIDIwMDEsIDE2OjI4OjA1KToKbXBhLldpZSBhdXMgc2ljaGVyZW4gUXVlbGxlbiBiZXJpY2h0ZXQgd3VyZGUsIHd1cmRlIGdlc3Rlcm4gKDMxLjEuMjAwMSkgaW4KZWluZXIgZnVlciBkZW4gCkdyb3NzdGVpbCBkZXMgTW9yZ2VuZ3JhdWVucyB2ZXJib3JnZW5lbiBBa3Rpb24gZGVyICJNb3JnZW5ncmF1ZW4gQnJpdG5leQpTcGVhcnMgRmFuLUNsdWIiCmdlZ3J1ZW5kZXQuIFRyb3R6IGRlciBiZWluYWhlIHVuYmVtZXJrdGVuIFZlcmVpbnNncnVlbmR1bmcgcmVjaG5ldCBkaWUgTGVpdHVuZwptaXQgcmVnZW0KWnVsYXVmLiBCZXNvbmRlcnMgYmVub2V0aWd0IHNpbmQgTWFnaWVyIGRhbWl0IGRlciBWZXJlaW4gbW9lZ2xpY2hzdCBzY2huZWxsCmVpbiBDbHViaGF1cywKTWVyY2hhbmRpc2UtQXJ0aWtlbCB1bmQgZWluZSBlaWdlbmUgUXVlc3QgYmVrb21tdC4gSW50ZXJlc3NpZXJ0ZSBhdWYgLWJyaXRuZXknCm1lbGRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChZZW5kaSwgIDEuIEZlYiAyMDAxLCAxNjozMzo1Mik6Cn4jISBybj1Kb2hubnlkZXBwIHJ0PTk4MTA0MTI4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQpEYXMga29tbXQgZGF2b24sIHdlbm4gZGllIExldXRlIG5pY2h0IGJpcyA3NSB6YWVobGVuIGtvZW5uZW4uCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoSGlnaHQsICAxLiBGZWIgMjAwMSwgMTY6Mzk6MzgpOgp+IyEgcm49Sm9obm55ZGVwcCBydD05ODEwNDEyODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKKnBydXV1dXV1dXV1dXV1dXV1dXVzdCoKCmhpZ2h0IC0+IHNjaG1hcnJuIAoKUC5TLjogd2llIHNhZ3RlIHNvbiBhbHRlciBzYWNrID8hIGplZGVtIGRpcnNjaGVuIHNlaW4gYmxlc2llcnNjaG4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoQm9pbmcsICAxLiBGZWIgMjAwMSwgMTY6NTA6MzQpOgp+IyEgcm49SGlnaHQgcnQ9OTgxMDQxOTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMDQxMjg1CkljaCBzY2hsYWdlIHZvciwgZWluZmFjaCBkZW4gV29scGktQ2x1YiBkYWZ1ZXIgenUgbmVobWVuLiBEYW5uIG11c3MgbWFuIGF1Y2gKZGFzIFNwcmVuZ2VuIG5pY2h0IG5ldSBwcm9ncmFtbWllcmVuIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAgTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChIaWdodCwgIDEuIEZlYiAyMDAxLCAxNjo1Njo1Nik6Cn4jISBybj1Cb2luZyBydD05ODEwNDI2MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKaGVoZSBibGVpYnQgbnVyIGVpbmVzIHp1IGtsYWVyZW4gLi4uCgpkaWUgd29scGlzIHNpbmQgaW4gbmVyIHFlc3QgdmVyZXdpZ3QgdW5kIHNvIHVuc3RlcmJsaWNoIC5vKSAKd2FzIGlzIHdlbm4gaW4gbmVtIGphaHIgb2RlciBzbyBrZWluZSBzYXUgbWVociB3ZWlzcyB3ZXIgYnJpdG5leSBzcGVhcnMgaXMgPyAKc2NocmVpYnQgd2VyIG5lIHF1ZXN0ID8gCnNvIGJyaW5nIGRpZSBkaWUgcXVha2VuZGUgYmFyYmllIHp1IHNjaHdlaWdlbiBvZGVyIHNvID8KCmhpZ2h0IGV0d2FzIGdlaGFlc3NpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoU29sbXlyLCAgMS4gRmViIDIwMDEsIDE4OjQ4OjAzKToKfiMhIHJuPUhpZ2h0IHJ0PTk4MTA0MzAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQpIaWdodCwgSGlnaHQsIEhpZ2h0LCAuLi4gZGFyYXVzIG1hY2hlbiB3aXIgZWluZSBQcm9maSBRdWVzdC4gU28KYWVobmxpY2ggd2llICdCZXNvcmdzIHpldWcgZnVlciBkZW4gS29jaCcsICdCZXNvcmdzIFNpbGlrb24gZnVlcgpCcml0bmV5IFNwZWFycycuIEFsc28gZXJzdG1hbCBTaWxpa29uIGhlcnN0ZWxsZW4sIGRhbm4gT3BlcmF0aW9uCmR1cmNoZnVlaHJlbiB1bmQgaG9mZmVuIGRhcyBCcml0bmV5IG5pY2h0IHN0aXJidC4gWnVyIEJlbG9obnVuZwpnaWJ0cyBlaW5lIDEyIFN0dW5kZW4gQnJpdG5leUxpdmVLb256ZXJ0U2VxdWVuei4gV2lyIHN1Y2hlbiBub2NoClRlc3RzcGllbGVyLCBhbHNvIG1lbGRlbiA6KQoKU29sbXlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAgTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChNb250YW51cywgIDEuIEZlYiAyMDAxLCAxODo0ODo1NCk6Cn4jISBybj1Tb2xteXIgcnQ9OTgxMDQ5NjgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMDQxMjg1CgpPb29vb29vb3BzIHNoZSBkaWQgaXQgYWdhaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKEhpZ2h0LCAgMS4gRmViIDIwMDEsIDE4OjUzOjQzKToKfiMhIHJuPVNvbG15ciBydD05ODEwNDk2ODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKaG0gd2VubiBpY2ggc2UgaGludGVyaGVyIGF1ZiBuZW4gc2FlcmVzcGVlciBzcGllc3NlbiBkdWVyZnRlIHVuZCB6dWd1Y2tlbgprb2VubnQgd2llIHNlIHZvbiBpbm5lbiB6ZXJmcmVzc2VuIHd1ZXJkIC4uLiBhYmJhIGJlaSBkZW4gYXVzc2ljaHRlIHdpcmQgZGFzCndvaGwgZGllIGVyc3RlIHF1ZXN0IGRpZSBpY2ggbmljaHQgc3BpZWxlCgpoaWdodCBncnVlbmxpY2ggdW0gZGllIG5hc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKFNvbG15ciwgIDEuIEZlYiAyMDAxLCAxODo1NDo1Nyk6Cn4jISBybj1IaWdodCBydD05ODEwNTAwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKSWNoIG5laG1lIHNvbnN0aWdlIFZvcnNjaGxhZWdlIHdhcyBtYW4gaW4gdW5kIGFuIElociBub2NoIGltcGxlbnRpZXJlbgprb2VubnRlIGdlcm5lIGVudGdlZ2VuIDopICpHKiBNaXIgZmFlbGx0IGRhIG5vY2ggc28gZWluaWdlcyBlaW4uCgpTb2xteXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKEhpZ2h0LCAgMS4gRmViIDIwMDEsIDE4OjU2OjExKToKfiMhIHJuPVNvbG15ciBydD05ODEwNTAwOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKZHluYW1pdCAtIGhhbmRncmFuYXRlbiAtIGxhbmRtaWVuZW4gLSBlY3QuIHBwCgpoaWdodCBwbG9ldHpsaWNoIGRvY2ggZ2VmYWxsZW4gYW4gZGVyIGlkZWUgZmluZGVuZCAsbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKEJvaW5nLCAgMS4gRmViIDIwMDEsIDE4OjU3OjE0KToKfiMhIHJuPUhpZ2h0IHJ0PTk4MTA1MDAyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQpPY2gsIGJpcyB6dXIgT3BlcmF0aW9uIGtsaW5ndCBkYXMgZG9jaCBuYWNoIG5lciBndXRlbiBRdWVzdCwgZGllCk9wZXJhdGlvbiBzZWxic3Qga2FubnN0IER1IGphIGRhbm4gbWl0IGRlbSBTYWV1cmVzcGVlciBkdXJjaGZ1ZWhyZW4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKEhpZ2h0LCAgMS4gRmViIDIwMDEsIDE4OjU4OjMwKToKfiMhIHJuPUJvaW5nIHJ0PTk4MTA1MDIzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQoqZyogdGVpbCBkZXIgcXVlc3Q6IGF1c2JpbGR1bmcgYmVpIGRyLiBmcmFua2Vuc3RlaW4gLi4uLiBpbmNsIHNraWxsICxvKQoKaGlnaHQgR3JpbW1ib3JuIGFyYmVpdCBiZXNjaGFmZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoTW9udGFudXMsICAxLiBGZWIgMjAwMSwgMTg6NTk6MjIpOgp+IyEgcm49SGlnaHQgcnQ9OTgxMDUwMzEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMDQxMjg1Cndlbm4gbWFuIGRpY2ggc29pIGhvZXJ0LCBIaWdodDoKCkRhcyBrbGluZ3QgdmVyZGFtbXQgbmFjaCBGcnVzdC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAgTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChTb2xteXIsICAxLiBGZWIgMjAwMSwgMTk6MTI6MTYpOgp+IyEgcm49SGlnaHQgcnQ9OTgxMDUwMTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMDQxMjg1CkljaCBkYWNodGUgZGEgZWhlciBhbiBTY2h3aW1taGFldXRlIHp3aXNjaGVuIGRlbiBaZWhlbiwgS2llbWVuIGFtCkhhbHMgdW5kIFNlZ2Vsb2hyZW4uLi4KClNvbG15cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoVGhvcmFrLCAgMS4gRmViIDIwMDEsIDIwOjIwOjQ2KToKfiMhIHJuPUhpZ2h0IHJ0PTk4MTA0MzAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQpvZGVyIGVpbmZhY2ggYW1hbmRhIGluIGJyaXRuZSB1bWJlbm5lbi4gbXVlc3N0ZSBkb2NoIGF1Y2ggcGFzc2VuIDopCgp0aG9yYWssIG5pY2h0IHdpcmtsaWNoIHNwZWFycyBmYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKE9sbGksICAxLiBGZWIgMjAwMSwgMjE6NDg6MTIpOgp+IyEgcm49U29sbXlyIHJ0PTk4MTA1MDA5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQppbXBsZW1lbnRpZXJlbj8gSGllc3MgZGFzIG5pY2h0IGltcGxhbnRpZXJlbj8gKmcqCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAgTUc6IEJyaXRuZXkgU3BlYXJzIEZhbi1DbHViIGdlZ3J1ZW5kZXQhIChTb2xteXIsICAyLiBGZWIgMjAwMSwgMDc6MDE6MjgpOgp+IyEgcm49T2xsaSBydD05ODEwNjA0OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEwNDEyODUKRGEgaGF0IHNpY2ggZG9jaCB3aWVkZXIgZGVyIEZlaGxlcnRldWZlbCBlaW5nZXNjaGxpY2hlbiEKClNvbG15ciwgZnJlaSBuYWNoIGRpZXNlbSBFaW5zdGVpbiBkZXIgTmV1emVpdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6ICBNRzogQnJpdG5leSBTcGVhcnMgRmFuLUNsdWIgZ2VncnVlbmRldCEgKFNuaWJyaWwsICAyLiBGZWIgMjAwMSwgMTE6MTM6MDEpOgp+IyEgcm49U29sbXlyIHJ0PTk4MTA5MzY4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTA0MTI4NQpJY2ggd2Vpc3MgZ2FybmljaHQgd2FlcyBpaHIgYWxsZSBnZWdlbiBCcml0bmV5IGhhYnQsCndlbm4gZXMgdW0gTXVzaWsgZ2VodCwgaGF0IGRpZXNlIEZyYXUgZWluZmFjaCBncm9zc2FydGlnZSBUaXR0ZW4uCgpzbmlicmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogIE1HOiBCcml0bmV5IFNwZWFycyBGYW4tQ2x1YiBnZWdydWVuZGV0ISAoU29sbXlyLCAgMi4gRmViIDIwMDEsIDE4OjIxOjMyKToKfiMhIHJuPVNuaWJyaWwgcnQ9OTgxMTA4NzgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMDQxMjg1ClVuZCBkZW4gc3Vlc3NlbiBIaW50ZXJuIGhhc3QgRHUgdmVyZ2Vzc2VuLC4uLiA6KQoKU29sbXlyLCBoZXJ6bGljaCBnZWxhY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCUklUTkVZISAoSm9obm55Ym9zcywgIDIuIEZlYiAyMDAxLCAyMjoyODoyNCk6CmljaCB3dWVyZGUgbWljaCBnZXJuZSBhbHMgdGVzdHNwaWVsZXIgYmVyZWl0c3RlbGxlbi4gYnJpdG5leSB1bmdlc3RyYWZ0IGFuIGRpZQp0KioqKm4gZ2VoZW4gaGF0IHNjaG9lbiB3YXMgZnVlciBzaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQlJJVE5FWSEgKFNvbG15ciwgIDMuIEZlYiAyMDAxLCAwNzozNjozOSk6Cn4jISBybj1Kb2hubnlib3NzIHJ0PTk4MTE0OTMwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE0OTMwNAp0KioqKm4gaGllc3MgVGl0dGVuLCBvZGVyPyA6KSBKb2hubnlCb3NzLCBoaWVyIGRhcmYgbWFuIHNvIHdhcyBhdWNoCm1hbCBzY2hyZWliZW4uIEljaCBtZWluIG51ciB2b24gZGVuIHdlaWJsaWNoZW4gc2VrdW5kYWVyZW4gR2VzY2hsZWNodHMtCm9yZ2FuZW4genUgc2NocmVpYmVuLCB3YWVyIGVpbiB3ZW5pZyBlaW5mYWVsdGlnLCBhYmVyIG1hbCBkYXJmIG1hbgpkYXMgV29ydCBUSVRURU4gYXVjaCBpbiBkZW4gTXVuZCBuZWhtZW4gKGltIHVlYmVydHJhZ2VuZGVuIFNpbm5lKS4KClNvbG15ciwgZ3JhZCB2b24gJ25lciBQYXJ0eSBrb21tZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJSSVRORVkhIChSb2NodXMsICAzLiBGZWIgMjAwMSwgMTA6MTM6MjgpOgp+IyEgcm49U29sbXlyIHJ0PTk4MTE4MjE5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE0OTMwNApIbW0sIGJpc3QgRHUgRGlyIHNpY2hlciwgZGFzcyBkYXMgYmVpIGRpZXNlbiB2ZXJrbGVtbXRlbiBNdWRkZXJuIGdlaHQ/IDopCkljaCBoYWJlIGdlc3Rlcm4gKGF1ZiBkZXIgZ2xlaWNoZW4gUGFydHkpIGVybGVidCwgZGFzcyBlaW5pZ2UgTXVkZGVyCmdsYXVidGVuLCBwcmltYWVyZSB1bmQgc2VrdW5kYWVyZSBHZXNjaGxlY2h0c29yZ2FuZSBlaW5lciBGcmF1IChCZXN0YW5kdGVpbAplaW5lcyBGaWd1cmVuLUNvdWNodGlzY2hzKSBtaXQgVHVlY2hlcm4gdmVyZGVja2VuIHp1IG11ZXNzZW4uLi4KRGFiZWkgd2FyZW4gKGEpIGtlaW5lIE1pbmRlcmphZWhyaWdlbiBhbndlc2VuZCB1bmQgKGIpIGRlciBUaXNjaApub2NoIGp1Z2VuZGZyZWkgKEtvbW1lbnRhciBtZWluZXMgVG9lY2h0ZXJjaGVuczogIldlbm4gc2llIHBvcHBlbgp3dWVyZGUsIHd1ZXJkZSBpY2ggZGFzIGphIG5vY2ggdmVyc3RlaGVuIikgOi0pCgogIFJvY2h1cyAoZ2VnZW4gWmVuc3VyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFiIGljaCBudXIgYXVzIHJ1ZWNrc2ljaHQgYXVmIGFsbGUgenVlY2h0aWdlbiBtdWRkZXIgZ2VtYWNodCAoSm9obm55Ym9zcywgIDMuIEZlYiAyMDAxLCAxMToyNjo0Myk6Cm5hdHVlcmxpY2gga2FubiBpY2ggZGFzIHdvcnQgdGl0dGVuIGF1c3NwcmVjaGVuIHVuZCBzb2dhciBzY2hyZWliZW4uIGljaAp3b2xsdGUgbnVyIHZlcm1laWRlbiwgZGFzcyBpcmdlbmR3ZWxjaGUgYWxsenUgenVlY2h0aWdlbiBtdWRkZXIsIGRpZSBiZWkgZGVtCndvcnQgc2V4IHJvdCB3ZXJkZW4gZWluZW4gaGVyemFuZmFsbCBrcmllZ2VuLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhhYiBpY2ggbnVyIGF1cyBydWVja3NpY2h0IGF1ZiBhbGxlIHp1ZWNodGlnZW4gbXVkZGVyIGdlbWFjaHQgKEdsb2luc29uLCAgMy4gRmViIDIwMDEsIDExOjMwOjQ5KToKfiMhIHJuPUpvaG5ueWJvc3MgcnQ9OTgxMTk2MDAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMTk2MDAzCndvcnQgdGl0dGVuIGF1c3NwcmVjaGVuIC0+IHdvcnQgc2V4CkJhaCwgYmlzdCBEdSBiYW5hbC4gRHUgd2lsbHN0IGphIG51ciBtaXQgZWluZW0gQnJpdG5leS1OUEMgcnVtbWFjaGVuLiBXaXIKc2FtbWVsbiBhdWYgZGVyIG5hZWNoc3RlbiBQYXJ0eSBmdWVyICduZSBQdXBwZSBmdWVyIERpY2guCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhhYiBpY2ggbnVyIGF1cyBydWVja3NpY2h0IGF1ZiBhbGxlIHp1ZWNodGlnZW4gbXVkZGVyIGdlbWFjaHQgKEpvaG5ueWJvc3MsICAzLiBGZWIgMjAwMSwgMTE6MzM6MzUpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTgxMTk2MjQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMTk2MDAzCmhleSwgb2ssIGljaCBsYXNzIG1laW5lIGFrdGlvbi4gaWNoIGhhYiBudXIgZ2VkYWNodCwgZGVzIHdhciBlaW4gZ3V0ZXIgYmVpdHJhZwpmdWVycyB6cGsgZ2V3ZXNlbi4gYWJlciBuYWNoZGVtIGRlciBncm9zc3RlaWwgZGVzIG1vcmdlbmdyYXVlbnMgbGllYmVyIGFuZGVyZQptdXNpayBob2VydC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkLVRyYWZpYyAoQmlnYXMsICA0LiBGZWIgMjAwMSwgMTc6MjQ6MTApOgpIaSEKCkluIGVpbmVyIE1haWxpbmdsaXN0ZSBrYW0gZGllIEZyYWdlIGF1Ziwgd2lldmllbCBUcmFmaWMgc28gZWluIE11ZAplaWdlbmRsaWNoICJwcm9kdXppZXJ0Ii4gSWNoIGhhYiBtYWwgdmVyc3VjaHQsIGRhcyB6dSBzY2hhZXR6ZW4gdW5kCmJpbiBkYWJlaSBhdWYgY2EuIDI1R0IvTW9uYXQgZ2Vrb21tZW4gLSBhbHNvIHJlaWNobGljaCB2aWVsLgpIYXQgdmllbGVpY2h0IGplbWFuZCBnZW5hdWVyZSBaYWhsZW4/CgpCaWdhcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZC1UcmFmaWMgKEhhdGUsICA0LiBGZWIgMjAwMSwgMTc6NTg6MDUpOgp+IyEgcm49QmlnYXMgcnQ9OTgxMzAzODUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMzAzODUwCmh0dHA6Ly9tZy5tdWQuZGUvc3RhdApBdWYgZGVyIE1HIFNlaXRlIHNpbmQgYXVjaCBJUCBTdGF0aXN0aWtlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGFiIGljaCBudXIgYXVzIHJ1ZWNrc2ljaHQgYXVmIGFsbGUgenVlY2h0aWdlbiBtdWRkZXIgZ2VtYWNodCAoQXBzdSwgIDQuIEZlYiAyMDAxLCAxODo1OTowNik6Cn4jISBybj1Kb2hubnlib3NzIHJ0PTk4MTE5NjAwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE5NjAwMwpTb2xhbmcgbWFuIG5pY2h0ICdmb3JzY2hlbicgc2FndCwgLi4uIDstKQoKQXBzdSwgaGV1dGUgbWFsIG9ic3pvZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaGFiIGljaCBudXIgYXVzIHJ1ZWNrc2ljaHQgYXVmIGFsbGUgenVlY2h0aWdlbiBtdWRkZXIgZ2VtYWNodCAoSm9obm55Ym9zcywgIDQuIEZlYiAyMDAxLCAxOToyNzoxNik6Cn4jISBybj1BcHN1IHJ0PTk4MTMwOTU0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE5NjAwMwpkYSBtaWNoIGtlaW5lciBtZWhyIGFuIGRpZSBicml0bmV5LWFrdGlvbiBlcmlubmVydCEgc29uc3QgZmFuZyBpY2ggc2Ugd2llZGVyCmFuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWxtZHVkbGVyIChFbGl6YWJldGgsICA0LiBGZWIgMjAwMSwgMTk6NTA6MjIpOgpvayBtYWwgZGVuIHNlcnZpdmUgYXVzcHJvYmllcmVuCmFsbGVzIGtsYXIgc293ZWl0LCB3YWVyIG51ciBiZWluYWhlIGdldHRvYXN0ZXQgd29yZGVuICpnKiBhbHNvIAphbG9oYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQlJJVE5FWSEgKEdyaW1tYm9ybiwgIDQuIEZlYiAyMDAxLCAxOTo1ODo0MCk6Cn4jISBybj1Sb2NodXMgcnQ9OTgxMTkxNjA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMTQ5MzA0CkhtbSwgZGFzIHdpbGwgaWNoIHNlaGVuIHdpZSBtYW4gZGllIHByaW1hZXJlbiBHZXNjaGxlY2h0c21lcmttYWxlIGVpbmVzCkZyYXVlbmZpZ3VyZW5jb3VjaHRpc2NoZXMgdmVyaHVlbGx0LiBPZGVyIGlzdCBkYXMgZGllIERhcnN0ZWxsdW5nIGVpbmVyCnVtZ2VrcmVtcGVsdGVuIEZyYXU/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaGFiIGljaCBudXIgYXVzIHJ1ZWNrc2ljaHQgYXVmIGFsbGUgenVlY2h0aWdlbiBtdWRkZXIgZ2VtYWNodCAoT2Jlcm1vdHosICA1LiBGZWIgMjAwMSwgMDk6NTI6MzkpOgp+IyEgcm49QXBzdSBydD05ODEzMDk1NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODExOTYwMDMKU2FnIG1hbCBzcGlubnN0IER1PyBTbyBlaW5mYWNoIGRhcyBmKi1Xb3J0IGluIGRpZSBNUEEgenUgc2V0emVuISBEYSBrb2VubnRlbgpkb2NoIGVpbmlnZSBMZXV0ZSBkZW5rZW4sIGRhcyBoaWVyIHdhZXJlIGVpbiBRdWVzdC1NdWQgKnd1ZXJnKi4KCk9NIGhhc3N0IGZvcnNjaGVuIHVuZCBzY2hpZWJ0IGRlbiBBcnRpa2VsIGlyb25pc2NoIG5hY2gKc2NobWFycm4vbXVlbGwvYWJzb2x1dF91ZWJlcmZsdWVzc2lnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBoYWIgaWNoIG51ciBhdXMgcnVlY2tzaWNodCBhdWYgYWxsZSB6dWVjaHRpZ2VuIG11ZGRlciBnZW1hY2h0IChNb3Jnb3RoLCAgNS4gRmViIDIwMDEsIDEwOjE3OjU2KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTk4MTM2MzE1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE5NjAwMwpmKiB3b3J0ID8/CmR1IG1laW5zdCBmaWNrZW4sIG9kZXIgZ2lidHMgZGEgbm9jaCBhbmRlcmU/PwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGhhYiBpY2ggbnVyIGF1cyBydWVja3NpY2h0IGF1ZiBhbGxlIHp1ZWNodGlnZW4gbXVkZGVyIGdlbWFjaHQgKFRodWZoaXIsICA1LiBGZWIgMjAwMSwgMTA6MTg6NTQpOgp+IyEgcm49TW9yZ290aCBydD05ODEzNjQ2NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODExOTYwMDMKKm9yc2NoZW4sIE1vcmdvdGgsIGRhcyB3b3J0IGhlaXNzdCAqb3JzY2hlbiEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGhhYiBpY2ggbnVyIGF1cyBydWVja3NpY2h0IGF1ZiBhbGxlIHp1ZWNodGlnZW4gbXVkZGVyIGdlbWFjaHQgKFNvbG15ciwgIDUuIEZlYiAyMDAxLCAxMDoyMTozMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTk4MTM2NDY3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTE5NjAwMwpCZWkgc29sY2hlbiBUaGVtZW4gd2llICpGKkkqQypLKkUqTiogOikgbXVzcyBtYW4gZG9jaCBnbGF0dCBub2NoCm1hbCBhdWYgZGllIEp1Z2VuZCBkZXIgQ2hyaXN0ZW4tRnJvbnQgYXVmbWVya3NhbSBtYWNoZW4gOj0pKSkpKQoKRGllIGlzOiBodHRwOi8vcmFzcHV0aW4uZGUvQ0YvSnVnZW5kL2luZGV4Lmh0bWwKClNvbG15ciwgaW1tZXIgbm9jaCB0b3RhbCBiZWdlaXN0ZXJ0IHZvbiBkZW5lbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXVzIGdlZ2ViZW5lbSBhbmxhc3MgKEN5bW9uaywgIDUuIEZlYiAyMDAxLCAxNTo1OToyNyk6CmF1cyBnZWdlYmVuZW0gYW5sYXNzIGJ6Z2wuIGRpdmVyc2VyIHRocmVhZHMgaW4gCnVudGVyc2NoaWVkbGljaHN0ZW4gcnVicmlrZW46CgoxLiBvaG5lIG1hZ2llciBnYWViZSBlcyBkYXMgbWcgaW4gZGllc2VyIGZvcm0gbmljaHQhCjIuIG9obmUgc3BpZWxlciBnYWViZSBlcyBkYXMgbWcgaW4gZGllc2VyIGZvcm0gbmljaHQhCgp1bmQgbGFzdCBidXQgbm90IGxlYXN0OgoKMy4gZGFzIHJlY2h0IGF1ZiBtdWRkZW4gaXN0IGltbWVyIG5vY2ggbmljaHQgaW0gZ3J1bmRnZXNldHoKICAgdmVyYW5rZXJ0IQoKdGhpbmsgYWJvdXQgYW5kIHRoaW5rIGRpZmZlcmVudC0gbmVpbiwgaWNoIGhhYmUga2VpbmVuIG1hYyA7KQoKY3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlc2Nob2VuIChPcmt0b2V0ZXIsICA1LiBGZWIgMjAwMSwgMjM6NDk6NTgpOgpJY2ggbW9lY2h0ZSBhbiBkaWVzZXIgU3RlbGxlIGVpbmZhY2ggbWFsIGRlbiBNYWdpZXJuIGRpZSAiYW0gU3lzdGVtCmhlcnVtZ2VmaW5nZXJ0IiBoYWJlbiBtZWluZW4gRGFuayBmdWVyIGRpZSBnZWx1bmdlbmUgQXJiZWl0IGF1c3NwcmVjaGVuIQoKT3JrVCBkZW5rdCAuIG8gTyh3ZWxsIGRvbmUhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF1cyBnZWdlYmVuZW0gYW5sYXNzIChTYWx2b3IsICA2LiBGZWIgMjAwMSwgMTk6NTc6NDEpOgp+IyEgcm49Q3ltb25rIHJ0PTk4MTM4NTE2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTM4NTE2NwpNaWNoIHd1ZXJkZSBudXIgbWFsIGludGVyZXNzaWVyZW4gd2llc28gZGllIFNwaWVsZXIgaW1tZXIgYXVmIGRlbiBNYWdpZXJuCnJ1bWhhY2tlbiAuLiBvaG5lIFNwaWVsZXIgZ2lidHMga2VpbmUgTWFnaWVyLi4gb2huZSBNYWdpZXIga2VpbmUgU3BpZWxlciAuLgphbHNvIE1hZ2llciBydWxleiA7KSBkYSBpY2ggZGVua2UgZGFzIHNpY2ggZGllIG1laXN0ZW4gYmVtdWVobiA7KQpDaHVja3lsZWluLCBFaGVtYW5uIHZvbiBBcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVzIGdlZ2ViZW5lbSBhbmxhc3MgKENodWNreWxlaW4sICA2LiBGZWIgMjAwMSwgMTk6NTk6MTIpOgp+IyEgcm49Q3ltb25rIHJ0PTk4MTM4NTE2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTM4NTE2NwpkYXMgbmFlY2hzdGUgbWFsIHNvbGx0ZSBpY2ggYXVjaCBtaXQgbWVpbmVtIGVyc3RpZSBzY2hyZWliZW4gd2VubiBpY2ggbWl0IGlobQpzY2hyZWliZW4gd2lsbCAqRyoKQ2h1Y2t5bGVpbiwgaW1tZXIgbm9jaCBFaGVtYW5uIHZvbiBBcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGF1cyBnZWdlYmVuZW0gYW5sYXNzIChQYXJhY2Vsc3VzLCAgNi4gRmViIDIwMDEsIDIxOjQzOjMwKToKfiMhIHJuPVNhbHZvciBydD05ODE0ODU4NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODEzODUxNjcKT2huZSBFaSBrZWluZSBIZW5uZSB1bmQgb2huZSBIZW5uZSBrZWluIEVpIC4uLgp3b21pdCBkYXMgZ2FuemUgd2llZGVyIGF1ZiBlaW5lcyBkZXIgYWVsdGVzdGVuIFByb2JsZW1lIGRlciBNZW5zY2hoZWl0Cnp1cnVlY2tnZWZ1ZWhydCB3YWVyZS4KClBhcmFjZWxzdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhdXMgZ2VnZWJlbmVtIGFubGFzcyAoU29sbXlyLCAgNi4gRmViIDIwMDEsIDIyOjUxOjI5KToKfiMhIHJuPVBhcmFjZWxzdXMgcnQ9OTgxNDkyMjEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxMzg1MTY3CkFyZ2gsIGpldHp0IHNpdHplbiB3aXIgYWJlciBpbiBkZXIgU2NoKioqKiA6KSBXYXMgc29sbGVuIHdpciBtYWNoZW4/CkFtIGJlc3RlbiB3aXIgc2NoYWZmZW4gYmVpZGVzIGFiLCBvZGVyIHdpciBzdHVmZW4gc2llIHp1bWluZGVzdCBhbGxlCmFiLgoKU29sbXlyLCB3aXJyIGltIEtvcGYsIHdlaWwgZ3JhZCBhdWZnZXN0YW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpraW5kZXJwb3Jub3MgaW0gV1dXIChDaHVja3lsZWluLCAxMC4gRmViIDIwMDEsIDIyOjMwOjQ1KToKSWNoIGhhYiBtaWNoIGdlcmFkZSBtaXQgZWluZW0gRnJldW5kIHVudGVyaGFsdGVuLCBlciBpc3QgbWl0Z2xpZWQgZWluZXIKSGFja2VyZ3J1cHBlIGRpZSBmdWVyIGRpZSBQb2xpemVpIGFyYmVpdGV0IHVuZCBLaW5kZXJwb3Jub3NlaXRlbiBhdXNmaW5kaWcKbWFjaHQgdW5kIGhhY2t0LiBEYSBpY2ggc29sY2ggU2VpdGVuIGZ1ZXIgZWluZSBTY2h3ZWluZXJlaSBoYWx0ZSBtb2VjaHRlIGljaAphbGxlIE1pdG11ZGRlciBiaXR0ZW4Kc2llIGJlaSBpaHJlciBUYWV0aWdrZWl0IHp1IHVudGVyc3R1ZXR6ZW4uIHdlbm4gaWhyIGVpbmUgU2VpdGUgZmluZGV0IHNjaGlja3QKc2llIGRvY2ggYml0dGUgYW4gOiBEYW5fTW9yZ2FuQGdteC5kZSAsIGRhIGtvZW5udCBpaHIgZXVjaCBhdWNoIGJlaSBmcmFnZW4KdWViZXIgZGllc2UgT3JnYW5pc2F0aW9uIHdlbmRlbiwgc2llIGZpbmRlbiBEdXJjaHNjaG5pdHRsaWNoIDEwMCBTaXRlcyBwcm8KVGFnLCBkYXZvbiBrb2VubmVuIHNpZSAxLzcgCmhhY2tlbiBiZXZvciBkZXIgQWRtaW4gZGVyIEhwIGRpZSBTZWl0ZSB3ZWNoc2Vsc3Qgd2VpbCBlciBlcyBiZW1lcmt0LCBzaWUKZmluZGVuIG1laXN0ZW5zIGF1Y2ggYmxvc3MgZGllIFVzZXIgd2VpbCBtYW4gYW4gZGllIEFkbWlucyBuaWNodCBsZWljaHQKcmFua29tbXQgd2VpbCBzaWUgUHJvZmlzIHNpbmQuIEljaCBkYW5rZSBzY2hvbiBtYWwgYWxsZW4gaW0gdm9yYXVzIGRpZSBkaWVzZQpMZXV0ZSB1bnRlcnN0dWV0emVuIGRpZSBzb2xjaGUKUGVydmVyc2VuIFNhY2hlbiBpbnMgSW50ZXJuZXQgc3RlbGxlbi4gRGFua2UgOykgCkNodWNreWxlaW4gdmVyYWJzY2hldXQgc29sY2hlIExldXRlIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKFRpYW1haywgMTAuIEZlYiAyMDAxLCAyMjo0Nzo0NSk6Cn4jISBybj1DaHVja3lsZWluIHJ0PTk4MTg0MDY0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTg0MDY0NQpNYW5jaG1hbCBmcmFnZSBpY2ggbWljaCBlcm5zdGhhZnQsIG9iIGljaCB6dSBwYXJhbm9pZCBiaW4gb2RlciBkaWUgYW5kZXJlbgplaW5mYWNoIHp1IGxlaWNodGdsYWV1YmlnIHNpbmQgLi4uCgpXZW5uIGljaCBhbHNvIGVpbmUgS2luZGVycG9ybm9zZWl0ZSBpbSBOZXR6IGZpbmRlLCBzb2xsIGljaCBkaWUgQWRyZXNzZSBhbgplaW5lIG9taW5vZXNlIGFub255bWUgR01YLUFkcmVzc2Ugc2NoaWNrZW4/IEtvbW10IG51ciBtaXIgc28gZWluZSBBdWZmb3JkZXJ1bmcKZWlnZW5hcnRpZyB2b3I/CgpJbiBkZW0gRmFsbCB3ZW5kZXQgbWFuIHNpY2ggbWVpbmVyIGJlc2NoZWlkZW5lbiBNZWludW5nIG5hY2ggbGllYmVyIGRpcmVrdCBhbgpkaWUgUG9saXplaS4gRXMgZ2lidCBzb2dhciBleHRyYSBvZmZpemllbGxlKCEpIFN0ZWxsZW4gaW0gTmV0eiwgZGllIHNvbGNoZQpIaW53ZWlzZSBlbnRnZWdlbiBuZWhtZW4gdW5kIGlobmVuIG5hY2hnZWhlbi4KCkZhbGxzIGVzIGRpZXNlIG9mZml6aWVsbCB2b24gZGVyIFBvbGl6ZWkgYmVhdWZ0cmFndGUgSGFja2VyZ3J1cHBlIHdpcmtsaWNoCmdpYnQsIHNvIHdpcmQgZGllIFBvbGl6ZWkgZGllIEFkcmVzc2UgdW50ZXIgR2FyYW50aWUgc2NobmVsbHN0bW9lZ2xpY2ggYW4gc2llCndlaXRlcmxlaXRlbi4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2luZGVycG9ybm9zIGltIFdXVyAoQ2h1Y2t5bGVpbiwgMTAuIEZlYiAyMDAxLCAyMjo1ODoxOSk6Cn4jISBybj1UaWFtYWsgcnQ9OTgxODQxNjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CkpvIGljaCBrYW5uIGF1Y2gga2VpbmVuIGRhenUgendpbmdlbiBhdWYgZGllc2UgYWRkcmVzc2UgenUgc2NocmVpYmVuLi4gYWJlcgppY2ggd2Vpc3MgZGFzIHNpZSBlY2h0IGlzdC4gSWNoIHZlcnN0ZWggYXVjaCB3ZW5uIGlociBkZXIgYWRkcmVzc2UgbmljaHQgdHJhdXQKLi4gYWJlciBmdWVyIG1pY2ggaXN0IGVzIHNvOiB3ZW5uIG51ciBlaW5lciBkYWhpbiBzY2hyZWlidCBoYXQgc2ljaHMgZnVlciBtaWNoCnNjaG9uIHJlbmRpZXJ0LiAKZWluZSBvZmZpemllbGxlIGVtYWlsIGFkZGkgZGVyIHBvbGl6ZWkgaXMgYXVmIHBwbXVjQHBvbGl6ZWkuYmF5ZXJuLmRlIGFiZXIKc29sY2hlIGlub2ZmaXppZWxlbiBtZXRob2RlbiBzaW5kIGJlc3NlciB3ZWlsIGRpZSBzb2dlbmFubnRlbiBhZG1pbnMgZGllCnN1Y2htZXRob2RlbiBkZXIgcG9saXplaSBzY2hvbiBrZW5uZW4gLiAuIHVuZCBkYW1pdCBlaW5lIGdydXBwZSBkaWUgZXJzdCBkaWUKc2VpdGUgaGFja3QgdW5kIGRhbm4gYW4gZGllCnBvbGl6ZWkgZGllIGRhdGVuIGdpYnQgYmVzc2VyIGlzdCA7KSAKQ2h1Y2t5bGVpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2luZGVycG9ybm9zIGltIFdXVyAoRGllZGVyLCAxMC4gRmViIDIwMDEsIDIzOjAxOjA2KToKfiMhIHJuPUNodWNreWxlaW4gcnQ9OTgxODQyMjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CmRpZSBTZWl0ZW4gaGFja3Q/IFdhcyB2ZXJzdGVoc3QgRHUgZGFydW50ZXIgZ2VuYXVlcj8KCkJlaW0gbGV0enRlbiBGYWxsIChoYXR0ZSBuaXggbWl0IEtpbmRlcnBvcm5vcyB6dSB0dW4sIGFuZGVyZSBCYXVzdGVsbGUpIGhhYgppY2ggZXJzdCBkaWUgImF1ZnNjaGx1c3NyZWljaHN0ZW4iIEhUTUwtU2VpdGVuIGdlc2ljaGVydCwgYmV2b3IgaWNoIGVpbmUKTmFjaHJpY2h0IGFucyBCS0EgZ2VzY2hpY2t0IGhhYi4KRGllIGhhYmVuIHNpY2ggZ2VmcmV1dCAtIHdhciBkb2NoIGJlc2FndGUgSG9tZXBhZ2Ugc2Nob24gYW0gTmFjaG1pdHRhZyBkZXMKZ2xlaWNoZW4gVGFnZXMgbmljaHQgbWVociBvbmxpbmUsIHNvZGFzcyBkaWUgRXJtaXR0bHVuZ2VuIHdvaGwgZXJoZWJsaWNoCmVyc2Nod2VydCBvZGVyIHNvZ2FyIGltIFNhbmRlIHZlcmxhdWZlbiB3YWVyZW4uCgpEaWVkZXIsIHd1ZXJkZSBpbiBlaW5lbSBzb2xjaGVuIEZhbGwgYXVjaCBsaWViZXIgc2VsYnN0IGRpZSBJbml0aWF0aXZlCmVyZ3JlaWZlbiBiencuIGFuICJzZXJpb2VzZSIgQWRyZXNzZW4gc2NocmVpYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBraW5kZXJwb3Jub3MgaW0gV1dXIChDaHVja3lsZWluLCAxMC4gRmViIDIwMDEsIDIzOjA2OjU1KToKfiMhIHJuPVRpYW1hayBydD05ODE4NDE2NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKc28gaWNoIGhhYiBub2NobWFsIG1pdCBpaG0gZ2VyZWRldCB3ZWdlbiBvZmZpemllbGVuIHNlaXRlbiAuLiB2aWVsbGVpY2h0CndlcmRlbiBlaW5pZ2UgZGVua2VuIGRhcyBpY2ggaGllciBudXIgc2hjZWlzc2UgbGFiZXIgdW5kIHNvIC4uIGFiZXIgaXMgbWlyCmF1Y2ggd3Vyc2NodCAuLiB3ZW5uIG51ciBlaW5lciBzY2hyZWlidCB2b24gZXVjaCAuLiBlaW5lIHNlaXRlIGZpbmRldCBoYXQgc2ljaApkYXMgYWxsZXMgcmVuZGllcnQuLiBpbiBtZWluCkF1Z2VuIC4uIGFsc28gaWNoIHppdGllcmU6IE9mZml6aWVsbGUga2FubiBtYW4gYXVzc3BlcnJlbiAtIHNpZSBoYWJlbiBlaW5lCmJlc3RpbW10ZSBJUCB3ZWlsIG1laXN0ZW5zIFN0YW5kbGVpdHVuZyB1bmQgYmVzdGltbWUgc3VjaHNjaGVtZW4gLi4uIGRpZQprb2VubmVuIGFiZ2VyaWVnZWx0IHdlcmRlbiBzbyBkYXMgc2llIGF1ZiBkaWUgc2VpdGUgbmljaHQgbWVociB6dWdyZWlmZW4Ka29lbm5lbiwgYXVzc2VyZGVtIHR1biBzaWUgZWluZmFjaApuaXggbWFuIGthbm4gaWhuZW4gVVJMcyBzY2hpY2tlbiB3aWUgbWFuIHdpbGwsIGVpbmUgamFociBzcGFldGVyIHNpbmQgZGllCnNlaXRlbiBpbW1lciBub2NoIGRhLCB3ZWlsIGRlciBsaWViZSBSZWNodHN3ZWcgamEgYWNoIHNvIGxhbmdlIGRhdWVydC4gSGFiIGljaApkYW5uIGdlZnJhZ3Q6IHNjaGlja3QgZGllIFBvbGl6ZWkgZGllIERhdGVuIG5pY2h0IGFuIHNvbGNoZSBHcnVwcGVuIHdpZSBldWNoPyAKQW50d29ydDogTmVpbiBkdWVyZmVuIHNpZSBuaWNodCwgd3VlcmRlIGdlZ2VuIGRhdGVuc2NodXR6IHZlcnN0b3NzZW4gd2VpbCB3aXIKamEgaGVyYXVzZmluZGVuIGtvZW5udGVuIHdlciBkaWUgbWFpbCBnZXNjaGlja3QgaGF0IGFuIHNpZS4uLiB1c3cuLi4gbmFqYSB3ZXIKaWhuZW4gdmVydHJhdXQgc29sbCBpaG5lbiB2ZXJ0cmF1ZW4gLi4gd2VyIG5pY2ggc29sbCBhbiBvZmZpemllbGxlIHNjaHJlaWJlbi4uCkNodWNreWxlaW4sIGRlciB3aWVkZXIgQWhudW5nc2xvcyBzY2hyZWlidCB1bmQgbnVyIHppdGllcnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2luZGVycG9ybm9zIGltIFdXVyAoQ2h1Y2t5bGVpbiwgMTAuIEZlYiAyMDAxLCAyMzoxMDozNSk6Cn4jISBybj1UaWFtYWsgcnQ9OTgxODQxNjY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CkRlc3dlaXRlcmVuIHNvbGwgaWNoIG5vY2ggYXVzcmljaHRlbjogU2NocmVpYnQgcnVoaWcgYW4gZGllIG9mZml6aWVsbGVuClZlcndhbHR1bmdzc3RlbGxlbiBnZWdlbiBLaW5kZXJwb3Jub2dyYXBoaWUsIHdpciBzZWhlbiBkYXMgc286IHdlbm4gd2lyCkhpbndlaXNlIGJla29tbWVuIGlzdCB1bnNlcmVyIEFyYmVpdCBsZWljaHRlciwgd2VubiBkaWUgSGlud2Vpc2UgamVtYW5kIGFuZGVycwpiZWtvbW10IHdpcmQgc2llIGRhZHVyY2ggYXVjaApuaWNodCBzY2h3ZXJlciAtIHdpciB3b2xsZW4gbnVyIGRlbiAiVmVyd2FsdHVuZ3N3ZWciIHVtZ2VoZW4gLSBkZXIgZ2VsaWRlCmdlc2FndCBiZWkgS2luZGVycG9ybm9ncmFwaGllbiB6aWVtbGljaCBsYW5nZSBkYXVlcnQgKHdlZ2VuIFNlcnZlcm4gaW0gQXVzbGFuZAp1c3cuIHVzdy4pIHR1dCBkYXMgd2FzIGlociBmdWVyIHJpY2h0aWcgaGFsdGV0IC0gYWVuZGVybiBrb2VubmVuIHdpciBlaCBuaWNodHMKZGFyYW4gCkNodWNreWxlaW4gdWViZXJtaXR0ZWx0IG51ciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBraW5kZXJwb3Jub3MgaW0gV1dXIChDaHVja3lsZWluLCAxMC4gRmViIDIwMDEsIDIzOjE4OjQyKToKfiMhIHJuPVRpYW1hayBydD05ODE4NDE2NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKTmFqYSBkYSBtZWluIFZvcnNjaGxhZyBoaWVyIGphIG5pY2h0IHNlaHIgYXVmIEFucmVndW5nIHN0b2Vzc3QgLi4gd2FzIGljaCBhdWNoCnZlcnN0ZWhlLi4gd2VubiBqZW1hbmQgZnJlbWRlcyBzb3dhcyBzY2hyZWlidC4uIHdlcmRlIGljaCBudXIgbm9jaCBzYWdlbiAuLgpXZXIgaWhuZW4gdmVydHJhdXQgc29sbCBlcyB0dW4uLiB3ZXIgbmljaCBzb2xsIGFuIG9mZml6aWVsbGUuLiBpY2ggcGVyc29lbmxpY2gKd2VyZGUgbWljaCBhbiBkaWVzZQpBZGRyZXNzZSB3ZW5kZW4gOykgCkNodWNreWxlaW4sIGhhdCBzY2hvbiBpbSB2b3JhdXMgZ2VhaG50IGRhcyBlcyBuZXQgZ3V0Z2VobiB3aXJkICpHKiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2luZGVycG9ybm9zIGltIFdXVyAoQW5hdG9sLCAxMC4gRmViIDIwMDEsIDIzOjQ0OjI1KToKfiMhIHJuPUNodWNreWxlaW4gcnQ9OTgxODQzNTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CltBdXN6dWcgYXVzIGRlciBGQVEgZGVzIEJLQV0KCjcuIE1hY2hlIGljaCBtaWNoIHN0cmFmYmFyLCB3ZW5uIGljaCBpbSBJbnRlcm5ldCBuYWNoIEtpbmRlcnBvcm5vZ3JhZmllCiAgIHN1Y2hlLCB1bSBkaWVzIGRlciBQb2xpemVpIG1pdHp1dGVpbGVuPwoKICAgICBXaXIgcmF0ZW4gSWhuZW4gYWIsIHVuYXVmZ2Vmb3JkZXJ0IGFrdGl2IGltIEludGVybmV0IG5hY2gKICAgICBLaW5kZXJwb3Jub2dyYWZpZSB6dSBzdWNoZW4sIGF1Y2ggd2VubiBTaWUgZGllcyBtaXQgZGVyIEFic2ljaHQKICAgICB0dW4sIGRpZSBTdHJhZnZlcmZvbGd1bmdzYmVob2VyZGVuIGJlaSBJaHJlciBBcmJlaXQgenUgdW50ZXJzdHVldHplbi4KICAgICBOYWNoIFBhci4gMTg0IEFicy4gNSBTdHJhZmdlc2V0emJ1Y2ggKFVudGVybmVobWVuc2RlbGlrdCkgd2lyZAogICAgIGRlcmplbmlnZSBiZXN0cmFmdCwgZGVyIGVzIHVudGVybmltbXQsIHNpY2ggb2RlciBlaW5lbQogICAgIERyaXR0ZW4gQmVzaXR6IHZvbiBraW5kZXJwb3Jub2dyYWZpc2NoZW4gU2NocmlmdGVuIHp1IHZlcnNjaGFmZmVuLgoKICAgICBBdWNoIHdlbm4gZXJzdCBkaWUgU3BlaWNoZXJ1bmcgZGVyIERhdGVuIGF1ZiBkZW0gQ29tcHV0ZXIgdW5kIG5pY2h0IAogICAgIGJlcmVpdHMgZGVyIEFuYmxpY2sgZGVzIE1hdGVyaWFscyBhdWYgZGVtIEJpbGRzY2hpcm0gZGVuIFRhdGJlc3RhbmQgCiAgICAgZGVzIFBhci4gMTg0IEFicy4gNSBTdHJhZmdlc2V0emJ1Y2ggZXJmdWVsbHQgKHZnLiBUcm9lbmRsZS9GaXNjaGVyIAogICAgIGFhTyBSZG5yLiA0MiksIGthbm4gZXMgaW4gamVkZW0gRmFsbCBmdWVyIFNpZSB6dSBTY2h3aWVyaWdrZWl0ZW4gCiAgICAga29tbWVuLCBpaHJlIHVyc3BydWVuZ2xpY2hlIEFic2ljaHQsIGRpZSBTdHJhZnZlcmZvbGd1bmdzYmVob2VyZGVuIAogICAgIGJlaSBpaHJlciBBcmJlaXQgenUgdW50ZXJzdHVldHplbiwgZGVuIEVybWl0dGx1bmdzYmVob2VyZGVuIG9kZXIgCiAgICAgZGVtIEdlcmljaHQgZGFyenVsZWdlbi4KCltBdXN6dWcgRW5kZV0KCkRhcyBzb2xsdGUgZWlnZW50bGljaCBrZWluZSBGcmFnZW4gb2ZmZW4gbGFzc2VuLCBvZGVyPwoKQW5hdG9sIC0gbWFpbHQgaW0gWndlaWZlbHNmYWxsIGFuIGluZm9AYmthLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBraW5kZXJwb3Jub3MgaW0gV1dXIChDaHVja3lsZWluLCAxMC4gRmViIDIwMDEsIDIzOjU4OjQ1KToKfiMhIHJuPUFuYXRvbCBydD05ODE4NDUwNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKaWNoIGhhYiBtZWlucyBlaWdlbnRsaWNoIGRhcmF1ZiBiZXpvZ2VuIG5pY2h0IGRpcmVrdCBkYW5hY2ggenUgc3VjaGVuIC4uCnNvbmRlcm4gd2VubiBtYW4gZHVyY2ggZWluZW4gbGluayB6dWZhZWxsaWcgYXVzIHNvIGVpbmUgc2VpdGUga29tbXQgd2llIGVzIG1pcgpzY2hvbiB6d2VpIGRyZWltYWwgcGFzc2llcnQgaXN0IC4gLiBleHRyYSBkYW5hY2ggenUgc3VjaGVuIHd1ZXJkIGljaCBhdWNoIG5pZQptYWNoZW4uLiAKQ2h1Y2t5bGVpbiBzdHJvdHp0IHZvciB1bndpc3NlbmhlaXQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKERpZWRlciwgMTEuIEZlYiAyMDAxLCAwMDowNTo0NCk6Cn4jISBybj1BbmF0b2wgcnQ9OTgxODQ1MDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CkViZW4gZGllcyB3b2xsdGUgaWNoIGF1Y2ggZ2VyYWRlIHppdGllcmVuLgoKSW5zb2Zlcm4ga2FubiBpY2ggbnVyIGplZGVtIHJhdGVuLCBzaWNoIGFuICJvZmZpemllbGxlIiBTdGVsbGVuIHp1IHdlbmRlbi4KRHVyY2ggZGFzICJIYWNrZW4iIHNvbGNoZXIgU2VpdGVuIGtvbW10IG1hbiBJTUhPIHNvd2llc28gbmljaHQgYW4gZGllIFVyaGViZXIKaGVyYW4uIEljaCBoYWJlIG1pY2ggaW5zb2Zlcm4gaW4gZWluZW0gc29sY2hlbiBGYWxsIChrb25rcmV0IGdpbmcgZXMgdW0KcmVjaHRzcmFkaWthbGUgTmF6aS1TZWl0ZW4pIG1pY2ggc29mb2VyIGFuIGRpZSBlbnRzcHJlY2hlbmRlbiBTdGVsbGVuIGdld2FuZHQuCkRhcyBQcm9ibGVtIHNlaGUgaWNoIGluc29mZXJubSwgYWxzIG1hbiBhdWNoIGR1cmNoIFp1ZmFsbCAoei5CLiBhbHMgRXJnZWJuaXMKZWluZXIgU3VjaG1hc2NoaW5lKSBhdWYgc29sY2hlbiBTZWl0ZW4gbGFuZGVuIGthbm4gLSBlYmVuIHNvIHdhciBlcyBiZWkgbWlyLgpVbmQgaWNoIHdlaXNzIG5pY2h0LCB3YXMgbWFuIGdlZ2VuIG1pY2ggYnp3LiB3YXMgaWNoIHR1biBrYW5uLCB3ZW5uIGljaCBkdXJjaApadWZhbGwgYXVmIGVpbmVyIGtpbmRlcnBvcm5vZ3JhcGhpc2NoZW4gU2VpdGUgbGFuZGUgKHp1bSBHbHVlY2sgbm9jaCBuaWNodApnZXNjaGVoZW4pLgoKSW4gImVpbmZhY2hlcmVuIiBGYWVsbGVuICh6LkIuIG1vbmF0ZWxhbmdlLCB1bmVybGF1YnRlIFVDRSB6dSB2ZXJib3RlbmVuClNjaG5lZWJhbGxzeXN0ZW1lbiBldGMuKSBoYWJlIGljaCBndXRlIEVyZmFocnVuZ2VuIGRhbWl0IGdlbWFjaHQsIHNvd29obCBkaWUKSG9zdGVyIGRlciBTZWl0ZW4gYWxzIGF1Y2ggZW50c3ByZWNoZW5kZSBTdGVsbGVuIHp1IGluZm9ybWllcmVuLiBJbiBkZXIgUmVnZWwKbmVobWVuIGRpZSBzb2xjaGUgIkFuZ2Vib3RlIiByZWNodCBzY2huZWxsIHZvbSBOZXR6IHVuZCBtYWhuZW4gZGVuIFZlcnVyc2FjaGVyCmV2dGwuIGFiLgoKRGFzcyBtYW4gd2VkZXIgbWl0ICJIYWNrZW4iIG5vY2ggbWl0IE5hY2hyaWNodCBhbiBkZW4gSG9zdG1hc3RlciBhbiBkaWUKU2NodWxkaWdlbiBoZXJhbmtvbW10LCBpc3Qga2xhciAtIGViZW4gZGFydW0gaXN0IGVpbmUgTWFpbCBhbiAib2ZmaXppZWxsZSIKU3RlbGxlbiBpbWhvIGJlc3NlciAtIHVuZCB3ZW5uIGVzIGRhbm4gZWJlbiB1bSAiZ2VsaW5kZXJlIiBTYWNoZW4gYWxzCktpbmRlcnBvcm5vZ3JhZmllIGdlaHQsIHNjaGlja2UgaWNoIGdlcm5lIGF1Y2ggbWFsIGVpbmUgSFRNTC1TZWl0ZSBtaXQuCgpCaXNsYW5nIGhhYmUgaWNoIGRhbWl0IGd1dGUgRXJmYWhydW5nZW4gZ2VtYWNodC4KCkRpZWRlcgoKUFM6IENodWNreWxlaW4sIERlaW5lIDQgQXJ0aWtlbCBoYWV0dGVuIHNpY2ggZHVyY2hhdXMgYXVmIGVpbmVuIGtvbXByaW1pZXJlbgp1bmQgYmVzc2VyIGZvcm1hdGllcmVuIGxhc3NlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKFNjcmVhbWVyLCAxMS4gRmViIDIwMDEsIDAwOjA2OjM3KToKfiMhIHJuPUNodWNreWxlaW4gcnQ9OTgxODQyMjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CkhpLAoKaWNoIG11c3Mgc2FnZW4sIGljaCBmaW5kZSBuZSBnbXgtYWRyZXNzZSBhdWNoIHNlaHIgc2VsdHNhbS4gQXVjaApmcmFnd3VlcmRpZyBlcnNjaGVpbnQgbWlyIGRhc3MgZWluZSBvZmZpemVsbGUgR3J1cHBlIFNlaXRlbiBoYWNrdC4uLgpEYXMgaXN0IGRvY2ggaXJnZW5kd2llIHdpZSBFaW5icnVjaCBzdGF0dCBuZSByaWNodGVybGljaGUKRHVyY2hzdWNodW5ncyBHZW5laG1pZ3VuZy4gVW5kIGF1c2dlcmVjaG5ldCBnbXggQWRyZXNzZW4gZGllbmVuCmltbWVyd2llZGVyIGlsbGVnYWxlbiBha3Rpdml0YWV0ZW4gaW0gSW5ldCwgZGFzIGlzdCB6dW1pbmRlc3QgbWVpbmUKRXJmYWhydW5nLgoKWnVyIG1lbGR1bmcgdm9uIEtpbmRlcnBvcm5vcyBnaWJ0IGVzIGF1Y2ggYW5kZXJlIEFkcmVzc2VuLCBkaWUgZGFzCmFub255bSBhbiBkaWUgUG9saXplaSBnaWJ0LCBkZW5uIG1pdCBzb2xjaGVuIGJpbGRlcm4gaW0gY2FjaGUgc2VpbmVzClJlY2huZXJzIG1hY2h0IG1hbiBzaWNoIGF1Y2ggc3RyYWZiYXIsIGF1Y2ggd2VubiBtYW4gZGF2b24gbml4IHdlaXNzLgpFaW5lIEFkcmVzc2Ugd2lyZCBnbGF1YmUgaWNoIGF1ZiBoZWlzZSBnZW5hbm50LiAKClNjcmVhbWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBraW5kZXJwb3Jub3MgaW0gV1dXIChEaWVkZXIsIDExLiBGZWIgMjAwMSwgMDA6MTU6MzUpOgp+IyEgcm49RGllZGVyIHJ0PTk4MTg0NjM0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTg0MDY0NQpzb3JyeSwgZ2VyYWRlIHRhdWNodGUgZGllIEZyYWdlIGF1Ziwgd2FzIFVDRSBpc3Q6ClVDRSA9IHVuc29saWNpdGVkIGNvbW1lcmNpYWwgZW1haWwgKHVuZXJ3dWVuc2NodGUgV2VyYnVuZyBwZXIgRW1haWwsIGdpYnQgYXVjaApub2NoIFVCRSAsIGI9IkJ1bGsiKS4KRGFzIGdhbnplIGlzdCBhdWNoIHVudGVyIGRlbSB3YXNjaGlnZW4gT2JlcmJlZ3JpZmYgIlNQQU0iIGJla2FubnQuCgpEYSBzbyBldHdhcyBpbiBEZXV0c2NobGFuZCBkdXJjaGF1cyBzdHJhZmJhciBpc3QgWzFdIHVuZCBtaXR0bGVyd2VpbGUKZWlnZW50bGljaCBhbGxlICJzZXJpb2VzZW4iIEhvc3RlciBTUEFNIG5pY2h0IHp1bGFzc2VuLCBrYW5uIG1hbiBkdXJjaGF1cwpkYWdlZ2VuIHZvcmdlaGVuLiBXZW4gZXMgbmFlaGVyIGludGVyZXNzaWVydCwgZGFyZiBtaWNoIGdlcm5lIGZyYWdlbiAsIGljaAp3aWxsIGhpZXIgbnVyIG5pY2h0IGFsbGUgbWl0IG1laW5lciBLbHVnc2NoZWlzc2VyZWkgbmVydmVuIDopCgpHcnVzcywKRGllZGVyCgpbMV0gei5CLiBodHRwOi8vd3d3Lm5ldHp2ZXJ3YWx0dW5nLmRlL3NwYW1fdXJ0ZWlsLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKE9sbGksIDExLiBGZWIgMjAwMSwgMDA6NDM6NTMpOgp+IyEgcm49Q2h1Y2t5bGVpbiBydD05ODE4NDI4MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKSGksCgptYWwgZWluIHdlbmlnIHdlZyB2b20gVGhlbWEsIG1pciBkcmVodCBzaWNoIGF1Y2ggZGVyIE1hZ2VuIHVtLCB3ZW5ucyB1bQpLaW5kZXJwb3Jub2dyYXBoaWUgZ2VodCwgZGEga3JpZWcgaWNoIGVjaHQgbmUgSGFzc2thcHBlLCBhYmVyOgoKPiBuaXggbWFuIGthbm4gaWhuZW4gVVJMcyBzY2hpY2tlbiB3aWUgbWFuIHdpbGwsIGVpbmUgamFociBzcGFldGVyIHNpbmQgZGllCj4gc2VpdGVuIGltbWVyIG5vY2ggZGEsIHdlaWwgZGVyIGxpZWJlIFJlY2h0c3dlZyBqYSBhY2ggc28gbGFuZ2UgZGF1ZXJ0LiBIYWIKCkJpbiBpY2ggZGVyIGVpbnppZ2UsIGRlbSBkaWVzZSBaZWlsZSBVbndvaGxzZWluIGJlcmVpdGV0PyBTaW5kIHdpciBoaWVyIGltCldpbGRlbiBXZXN0ZW4sIExldXRlPwoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga2luZGVycG9ybm9zIGltIFdXVyAoU2NyZWFtZXIsIDExLiBGZWIgMjAwMSwgMDA6NDc6NTcpOgp+IyEgcm49T2xsaSBydD05ODE4NDg2MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKaGkgT2xsaSwKCmljaCBoYWJlIGRhenUgbml4IGdlc2FjaHQsIHdlaWwgZGFzIG5pY2h0IGRlciBmYWxsIGlzdC4uLi4KRGVyYXJ0aWdlIFNhY2hlbiBibGVpYmVuIG5pY2h0IHdlZ2VuIGVpbmVtIEd1dGVuIFJlY2hzYW53YWx0IG9ubGluZS4uLgoKU2NyZWFtZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKEx1cHVzLCAxMS4gRmViIDIwMDEsIDA5OjA2OjU5KToKfiMhIHJuPVNjcmVhbWVyIHJ0PTk4MTg0ODg3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTg0MDY0NQpFeGFrdCwgc293YXMgYmxlaWJ0IG5pY2h0IHdlZ2VuIGRlbSBSZWNodHN3ZWcgbGFuZ2Ugb25saW5lLiBPZGVyIGhhc3QgRHUKc2Nob25tYWwgZGF2b24gZ2Vob2VydCwgZGFzcyBkaWUgUG9saXplaSBiZWkgZWluZW0gYW5kZXJlbiBEYXVlcmRlbGlrdCB3aWUKei5CLiBlaW5lciBFbnRmdWVocnVuZyBkZW4gRW50ZnVlaHJ0ZW4gZXJzdCBiZWZyZWl0LCB3ZW5uIHNpZSBlaW4KcmVjaHRza3JhZWZ0aWdlcyBVcnRlaWwgaW4gZGVyIGRyaXR0ZW4gSW5zdGFueiBlcndpcmt0IGhhdD8KCkx1cHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBraW5kZXJwb3Jub3MgaW0gV1dXIChDeW1vbmssIDExLiBGZWIgMjAwMSwgMDk6MjI6NDkpOgp+IyEgcm49THVwdXMgcnQ9OTgxODc4ODE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CmJyaW5nZW4gd2lyIGVzIG1hbCBhdWYgZGVuIHB1bmt0OgoKZGFzIHdhciBlaW4gYXVmcnVmIHp1ciAnc2VsYnN0anVzdGl6JyEKCm5pY2h0IGltbWVyIGhlaWxpZ3QgZGVyIHp3ZWNrIGRpZSBtaXR0ZWwhCgpjeQoKcC5zLiBpY2ggbWFsZSB1ZWJyaWdlbnMgZ2VyYWRlIGVpbiBjaXJjbGUgYSBpbiBkZW4gc2FuZCBhbSBzdHJhbmQhCiAgICAgdW0gZmxhbWVzICdtYWwgdm9yenViZXVnZW4gLi4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp+QCAoTm9ubmUsIDExLiBGZWIgMjAwMSwgMDk6NDU6NTgpOgpNbW1oLAoKCmljaCBmaW5kZSwgZGFzcyBnYW56ZSBrbGluZ3Qgc2Nob24gc2VociBzZWxzYW0uIEVpbmVyc2VpdHMgaXN0IGVzIGVpbmUKJ29mZml6aWVsbGUgR3J1cHBlJyBkZXIgUG9saXplaSwgYW5kZXJlcnNlaXRzIGJla29tbWVuIHNpZSBhYmVyIGtlaW5lIEluZm9zCndlZ2VuIERhdGVuc2NodXR6LiBBbHNvIGRvY2ggbmljaHQgb2ZmaXppZWxsPyBXaWVzbyBoYWJlbiBkaWUga2VpbmUKV1dXLVNlaXRlbiwgdW0gc2ljaCBtYWwgdm9yenVzdGVsbGVuLCBkYW1pdCBtYW4gZWluZSBBaG51bmcgYmVrb21tdCwgbWl0IHdlbQptYW4gZXMgenUgdHVuIGhhdC4gS2FubiBtYW4gamEgYmVpIGVpbmVtIGtvbW1lcnppZWxsZW4gUHJvdmlkZXIgaG9zdGVuLCBkYW5uCndlcmRlbiBkaWUgSGFja2VyIGF1Y2ggbmljaHQgYXVzZ2VzcGVycnQuIENDQyBzY2hhZmZ0IGVzIGphIGF1Y2gsIHRyb3R6CldXVy1TZWl0ZW4genUgaGFja2VuLiBTaWNoIHVlYmVyIGhvZXJlbnNhZ2VuIGluIE11ZHMgYmVrYW5udCB6dSBtYWNoZW4sIGlzdApuaWNodCBzZWhyIGVmZml6aWVudCwgb2Rlcj8KCk9jaCB3aWxsIGphIENodWNreWxlaW4gbmljaHRzIHVudGVyc3RlbGxlbiwgYWJlciB3ZW5uIGljaCBzbyBlaW5lbiBIaW53ZWlzCmFub255bSBiZWthZW1lLCB3dWVyZGUgaWNoIGRlbmtlbiwgZGEgc3VjaHQgamVtYW5kIGVpbmUgTWV0aG9kZSBzZWluZQpLaW5kZXJwb3Jub3NhbW1sdW5nIHp1IGVyd2VpdGVybi4gSWNoIGJpbiB3aXJrbGljaCB2ZXJzdWNodCwgZGllc2UgTWFpbAphZHJlc3NlIGFuIGRhcyBCS0Egd2VpdGV6dWxlaXRlbiwgZGFubiBrb2VubmVuIGRpZSBkaWUgQWt0aXZpdGFldGVuIGRpZXNlcgonSGFja2VyZ3J1cHBlJyBtYWwgdW50ZXIgZGllIEx1cGUgbmVobWVuLi4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB+QCAoTm9ubmUsIDExLiBGZWIgMjAwMSwgMDk6NDg6MzEpOgp+IyEgcm49Tm9ubmUgcnQ9OTgxODgxMTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODgxMTU4ClNvcnJ5LCBkYXNzIGVzIGVpbiBuZXVlciBUaHJlYWQgd3VyZGUsIGdpbmcgZWluIGJpc3NjaGVuIGR1cmNoZWluYW5kZXIsIHdlaWwKaWNoIGJlaW0gc2NocmVpYmVuIGRpc2Nvbm5lY3RlZCB3dXJkZSApYzoKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga2luZGVycG9ybm9zIGltIFdXVyAoQ3ltb25rLCAxMS4gRmViIDIwMDEsIDEwOjAwOjU0KToKfiMhIHJuPUNodWNreWxlaW4gcnQ9OTgxODQ1OTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CmFoZW0/IT8KCndpZSBnZXJhZXQgbWFuIGJlaW0gJ2xlZ2FsZW4nIHN1cmZlbiBhdXMgdmVyc2VoZW4gYXVmIHNlaXRlbiBtaXQKJ2tpbmRlcnBvcm5vJyE/IT8KCmN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBraW5kZXJwb3Jub3MgaW0gV1dXIChMaWFyYSwgMTEuIEZlYiAyMDAxLCAxMDo1NDo0Mik6Cn4jISBybj1TY3JlYW1lciBydD05ODE4NDYzOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKQ2h1Y2t5bGVpbiBzYWd0ZSwgZXMgd2FlcmUgZWluZSBHcnVwcGUsICdkaWUgZnVlciBkaWUgUG9saXplaSBhcmJlaXRldCcuCkluIHNlaW5lbiB3ZWl0ZXJlbiBBcnRpa2VsbiBoYXQgZXIgZGllc2VyIEF1c3NhZ2UgamEgc2Nob24gd2lkZXJzcHJvY2hlbi4KQWxzbyBrYW5uIHZvbiBlaW5lciAnb2ZmaXppZWxsZW4nIEdydXBwZSBqYSB3b2hsIGtlaW5lIFJlZGUgc2Vpbi4KV2llIG1hbiBhbiBBbmF0b2xzIEFydGlrZWwgc2llaHQsIHNpbmQgc29sY2hlIEF1ZnJ1ZmUgc29nYXIgZWhlciBnZWZhZWhybGljaCwKd2VpbCBEdSBtaXQgcmVjaHRsaWNoZW4gS29uc2VxdWVuemVuIHJlY2huZW4gbXVzc3QsIHdlbm4gRHUgS2luZGVycG9ybm9zCidzdWNoc3QnLgoKTFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKFNpbHZhbmEsIDExLiBGZWIgMjAwMSwgMTE6MjU6NTcpOgp+IyEgcm49Q3ltb25rIHJ0PTk4MTg4MjA1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MTg0MDY0NQpTY2hvbiBtYWwgaW0gV2ViIG5hY2ggIitmYW50YXN5ICtyb2xsZW5zcGllbCIgZ2VzdWNodCB1bmQgZGFiZWkgZGFzICIteHh4Ci1zZXgiIHZlcmdlc3Nlbj8gSXN0IGVpbmUgZHVyY2hhdXMgZWluc2NobmVpZGVuZGUgRXJmYWhydW5nLiA7LS8KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKFBhbXBlcnMsIDExLiBGZWIgMjAwMSwgMTI6MDg6MzApOgp+IyEgcm49Q2h1Y2t5bGVpbiBydD05ODE4NDA2NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKSWNoIGJpbiBNaXRnbGllZCBlaW5lciBHcnVwcGUgZWhlbWFsaWdlciBHZWxkZmFlbHNjaGVyLCBkaWUgZGVyIFBvbGl6ZWkgaGlsZnQsCmdlZmFlbHNjaHRlIEdlbGRzY2hlaW5lIGF1cyBkZW0gVmVya2VociB6dSB6aWVoZW4uIENhLiAxLzcgYWxsZXIgR2VsZHNjaGVpbmUsCmRpZSB3aXIgcHJ1ZWZlbiwgemllaGVuIHdpciBhdXMgZGVtIFZlcmtlaHIuIERhIGljaCBHZWxkZmFlbHNjaGVuIGZ1ZXIgZWluZQpTY2h3ZWluZXJlaSBoYWx0ZSwgYml0dGUgaWNoIEV1Y2gsIEdlbGRzY2hlaW5lLCBkaWUgRXVjaCB2ZXJkYWVjaHRpZwplcnNjaGVpbmVuLCBtaXIgenVyIFZlcmZ1ZWd1bmcgenUgc3RlbGxlbi4gRGVyIEVpbmZhY2hoZWl0IGhhbGJlciB1ZWJlcndlaXNzdApkYXMgR0VsZCBiaXR0ZSBlaW5mYWNoIGFuIFBvc3RiYW5rIEVzc2VuLCAyODMzNjI3MywgQkxaIDM2MDEwMDQzLiBVbnNlcmUKR3J1cHBlIHdpcmQgZGFubiBhbGxlcyBGZWxzY2hnZWxkLCB3YXMgZGFydW50ZXIgaXN0LCBhdXMgZGVtIFZlcmtlaHIgemllaGVuLgoKRGFua2UuCgpQYW1wZXJzLiBNYW5uLCB0dW4gc29sY2hlIEF1ZnJ1ZmUgd2VoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga2luZGVycG9ybm9zIGltIFdXVyAoT2xsaSwgMTEuIEZlYiAyMDAxLCAxNDo1NzoyNik6Cn4jISBybj1DeW1vbmsgcnQ9OTgxODc5NzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CkljaCBkYWNodGUsIGljaCBoYWV0dGUgZGFzIGRhbWl0IGVpZ2VudGxpY2ggc2Nob24gemllbWxpY2gga2xhciBhdWYgZGVuClB1bmt0IGdlYnJhY2h0LCBhYmVyIGFuc2NoZWluZW5kIGhhZXR0ZSBpY2ggZXMgZGlyZWt0IHNhZ2VuIG11ZXNzZW4uLi4KCk9sbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGtpbmRlcnBvcm5vcyBpbSBXV1cgKFFpdGVzcywgMTEuIEZlYiAyMDAxLCAxNjowMDoxNSk6Cn4jISBybj1DeW1vbmsgcnQ9OTgxODgyMDU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgxODQwNjQ1CmplcCwgRElFU0UgZnJhZ2UgaGFiZSBpY2ggbWlyIGF1Y2ggc2Nob24gZ2VzdGVsbHQuCnVlYmVyIHN1Y2htYXNjaGluZW4/IHdhcyBnZWJlIGljaCBkYSBlaW4/CmtpbmRlcisgYmlvbG9naWV1bnRlcnJpY2h0ICsgYW5zY2hhdXVuZ3NtYXRlcmlhbCsgPz8/CgpRSSoqIG5vY2ggbmljaHQgbWFsIGFuc2F0endlaXNlIGFuICdzbyBzYWNoZW4nIGdla29tbWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2luZGVycG9ybm9zIGltIFdXVyAoQWdvbnksIDExLiBGZWIgMjAwMSwgMTk6MTA6MTcpOgp+IyEgcm49Q2h1Y2t5bGVpbiBydD05ODE4NDA2NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKaWNoIGJpbiBqZXR6dCBzZWl0IGZhc3QgMTAgamFocmVuIGltIG5ldHogdW5kIG5vY2ggbmllIGF1ZiBraW5kZXJwb3Jub3MKZ2VzdG9zc2VuOiBpY2ggZnVlcmNodGUsIGljaCBzdXJmZSBlaW5mYWNoIGFuIGRlbiBmYWxzY2hlbiBvcnRlbi4uLgpkYXZvbiBhYmdlc2VoZW4gdmVycmF0ZSBpY2ggZG9jaCBzb2xjaGUgZ2VoZWltdGlwcHMgbmljaHQgYW4gYW5nZWJsaWNoZQpoYWNrZXJ0cnVwcGUucHJvLnBvbGl6ZWksIGthbm4gamEgamVkZXIgYmVoYXVwdGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBraW5kZXJwb3Jub3MgaW0gV1dXIChDeW1vbmssIDEyLiBGZWIgMjAwMSwgMDM6NTM6NTEpOgp+IyEgcm49U2lsdmFuYSBydD05ODE4ODcxNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKCmphLCBpY2gga2VubmUgbmF0dWVybGljaCBkaWVzZSBsaW5rcyBhbHMgZXJnZWJuaXNzZSB2b24gc3VjaGFuZnJhZ2VuLgphYmVyIGljaCBiZXp3ZWlmZWwsIGRhc3MgZHUgZG9ydCAna2luZGVycG9ybm9zJyBmaW5kZW4gd2lyc3QsCmRhIGRpZSBhZG1pbnMgdm9uIGlsbGVnYWxlbiAna2luZGVycG9ybm8nIHNpdGVzIHNpY2hlciByb2JvdHMudHh0IHNvCmZvcm11bGllcnQgaGFiZW4sIGRhc3Mgc2llIG5pY2h0KCEpIG1pdHRlbHMgc3VjaG1hc2NoaW5lbiBnZWZ1bmRlbgp3ZXJkZW4ga29lbm5lbi4KCmN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBraW5kZXJwb3Jub3MgaW0gV1dXIChBcHN1LCAxMi4gRmViIDIwMDEsIDIzOjU0OjU2KToKfiMhIHJuPVFpdGVzcyBydD05ODE5MDM2MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODE4NDA2NDUKWnVtIGJlaXNwaWVsOiBiaWV0ZSBHZWJyYXVjaHR3YWdlbiBuZXVlciBhbHMgNSBKYWhyZT8KCkFwc3UsIGxpZXN0IGF1Y2ggbWFsIHp3aXNjaGVuIGRlbiBaZWlsZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClQtT25saW5lIEZsYXQgKFNvbG15ciwgMTQuIEZlYiAyMDAxLCAwNToyNjo1Myk6CkphLCBpY2ggaGFiIGdyYWQgZWluIHdlbmlnIGdlc3VyZnQgdW5kIGRhIHN0ZWlndCBtaXIgZG9jaCBnbGF0dCB3aWVkZXIKZGllIE1hZ2Vuc2FldXJlIGlucyBHZWhpcm4uIChOb2NoIG9mZml6aWVsbCB1bmJlc3RhZXRpZ3QpIGhlaXNzdCBlcyBiZWkKRm9jdXMgT25saW5lLCBpbiBtZWhyZXJlbiBOZXdzZ3JvdXBzIHVuZCBpbiBtZWhyZXJlbiBEMkNvbW11bml0aWVzLCBkYXNzClQtT25saW5lIElocmUgRmxhdHJhdGUgZnVlciBBbmFsb2cgdW5kIElTRE4gZWluc3RlbGxlbiBtdXNzLCBkaWUgRmxhdGYKZnVlciBEU0wgc29sbCBhbGxlcmRpbmdzIGJlc3RlaG4gYmxlaWJlbi4gSW50ZXJlc3NpZXJ0ZSBrb2VubmVuIGphIG1hbApuYWNobGVzZW4gOiBodHRwOi8vd3d3LmZvY3VzLmRlL0cvR1cvR1dBL2d3YS5odG0/c25yPTg0MjcwJnN0cmVhbXNucj04CgpTb2xteXIsIGV0d2FzIHZlcmFlcmdlcnQgdW5kIGdlZnJ1c3RldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtT25saW5lIEZsYXQgKFd1cnplbCwgMTQuIEZlYiAyMDAxLCAyMDowODo1Nyk6Cn4jISBybj1Tb2xteXIgcnQ9OTgyMTI0ODEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgyMTI0ODEzCmRpZSBvZmZpemllbGxlIHByZXNzZWtvbmZlcmVueiBpc3QgZnVlciBtb3JnZW4gYW5nZXNldHp0LiBkYW5uIHNvbGx0ZQphdWNoIHVlYmVyIGZsYXRyYXRlIGtsYXJoZWl0IGhlcnJzY2hlbiwgdW5kIHNwZWt1bGF0aW9uZW4gaG9lcmVuIGF1Zi4KCnd1cnplbCAoYXJiZWl0ZXQgZGVyemVpdCBiZWkgdC1vbmxpbmUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFQtT25saW5lIEZsYXQgKEhpZ2h0LCAxNC4gRmViIDIwMDEsIDIxOjQzOjEzKToKfiMhIHJuPVd1cnplbCBydD05ODIxNzc3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODIxMjQ4MTMKYmVpbGVpZCAsbykKCgpIaWdodCBob2ZmZW5kIGRhcyBkaWUgZmxhdHJhdGUgc28gYmxlaWJ0IHdpZSBzZSBpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtT25saW5lIEZsYXQgKEhlcm9tY2ZseSwgMTUuIEZlYiAyMDAxLCAxNjoxNjoyOCk6Cn4jISBybj1Tb2xteXIgcnQ9OTgyMTI0ODEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgyMTI0ODEzCgpIZXJvTWNGbHkgaGF0IERzbC4KZGFmdWVyIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULU9ubGluZSBGbGF0IChIaWdodCwgMTUuIEZlYiAyMDAxLCAxNjozNjozOSk6Cn4jISBybj1IZXJvbWNmbHkgcnQ9OTgyMjUwMTg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgyMTI0ODEzCkhpZ2h0IHdhcnRldCBtYWwgYXVmIGRpZSBoYXJkd2FyZQoKbWlyIHdvc2NodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVC1PbmxpbmUgRmxhdCAoV3VyemVsLCAxNS4gRmViIDIwMDEsIDE5OjU0OjAyKToKfiMhIHJuPUhpZ2h0IHJ0PTk4MjI1MTM5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MjEyNDgxMwpudXIgZ3V0IGRhc3MgZHNsIGZsYXQgYmxlaWJ0LgpmcmFndCBzaWNoIG51ciB3aWUgbGFuZ2Ugbm9jaC4uLgpkZXIgbmV1ZSB2b3JzdGFuZHN2b3JzaXR6ZW5kZSBiZWkgdC1vbmxpbmUga29tbXQgdm9uIGVpbmVyIGJhbmsuIGRhcwpoZWlzc3QsIGVyIHZlcnN0ZWh0IHdhcyB2b24gZ2VsZCwgYWJlciB2b24gc29uc3QgbmljaHRzLiBmb2xnZXJpY2h0aWcKc2luZCBoZXV0ZSBhdWNoIGRpZSB0LW9ubGluZSBha3RpZW4gdW0gMTIlIGdlc3RpZWdlbiwgbmFjaGRlbSBkYXMgZW5kZQpkZXIgaXNkbi1mbGF0cmF0ZSB2ZXJrdWVuZGV0IHdhci4gdW5kIGRhcyBpc3QgamEgZGFzIGVpbnppZ2UsIHdhcwpoZXV0enV0YWdlIG5vY2ggd2FzIGdpbHQuCgp3dXJ6ZWwgKG5vY2ggZnVlbmYgbGFuZ2Ugd29jaGVuIGF1ZiB0LW9ubGluZS1wcm9qZWt0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFlbW1lciAoTXVhZGliLCAyMC4gRmViIDIwMDEsIDE3OjA3OjI3KToKSGksCgpkaWUgUmF1bW1lbGR1bmdlbiBlaW5lcyBoYWVtZXJuZGVuIFNwaWVsZXJzIGJ6dyBkaWVqZW5pZ2VuIGRpZSBiZWltIEJlaGFlbW1lcm4KZWluZXMgU3BpZWxlcnMgYXVmdHJldGVuLCB3ZXJkZW4gbnVuIGF1Y2ggaWdub3JpZXJ0LCB3ZW5uIGRhcyBoYWVtbWVybgppZ25vcmllcnQgd2lyZC4gRGVzd2VnZW4gZGllIGxldHp0ZW4gMiBIYW1tZXJ2ZXJsdXN0ZS4KCkdydXNzCgpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsYXRyYXRlIChMaW5mbGFzLCAyNS4gRmViIDIwMDEsIDIzOjM3OjMxKToKV2VyJ3MgYnJhdWNodDoKVC1PZmZsaW5lIHNjaGFmZnQgZGllIEZsYXRyYXRlIGFiLCBBcmNvciBicmluZ3Qgc2llIHJlaW46CgpodHRwOi8vd3d3LnpkbmV0LmRlL25ld3MvYXJ0aWtlbC8yMDAxLzAyLzI0MDE1LXdjLmh0bWwKCkxpbmZsYXMsIHNvcmd0IHNpY2ggdW0gZGllIEZsYXRyYXRlbXVkZGVyIGhpZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlkZWUgLm8pIChIaWdodCwgIDEuIE1hciAyMDAxLCAxNDo1OTowMCk6CnNvIG9raSBpY2ggZXJ3YXJ0ZSBzY2hsYWVnZSB3ZWlscyBkYXMgd2FzIGljaCB2b3JzY2hsYWdlbiBtb2VjaHRlIHNjaG9uCmV4aXN0aWVydCBudXIgaWNoIGRhdm9uIG5peCB3ZWlzcyAuLi4KCmFiYmEga2FubiBtYW4gaW4gZGllIG1wYSBuaWNoIGlyZ2VuZHdhcyBlaW5iYXVlbiBhbGEgaWdub3JpZXJlIHZlcnNjaG9iZW4ubmV3cwpvZGVyIHNvID8KCgpZVCBIaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhZW1tZXIgKEdhc3QyLCAgNS4gTWFyIDIwMDEsIDAzOjQxOjU5KToKfiMhIHJuPU11YWRpYiBydD05ODI2ODUyNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODI2ODUyNDcKT2NoIG1vZW5zY2ggOigKRGVyIHNjaG9lbmUgSGFtbWVyIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIChIaW1tZWxzdGVybiwgIDcuIE1hciAyMDAxLCAxMTozNzoxOSk6CkhhbGxvIQoKSWNoIHN1Y2hlIGRyaW5nZW5kIGZ1ZXIgZWluZW4gQmVrYW5udGVuIEFyYmVpdGVuIHp1bSBUaGVtYSBNVUQuIEFsc28KaXJnZW5kd2VsY2hlIERpcGxvbWFyYmVpdGVuIG9kZXIgYWVobmxpY2hlcyB6dW0gVGhlbWEuIFdhZXJlIGtsYXNzZSwgd2VubiBtaXIKZGVyIGVpbmUgb2RlciBhbmRlcmUgZWluZSBNYWlsIHNjaGlja2VuIHd1ZXJkZSwgZGEgaWNoIG51ciBzZWhyIHNlbHRlbiBpbQpNb3JnZW5HcmF1ZW4gYmluIHVuZCBkYWhlciBkaWUgWmVpdHVuZyBudXIgdW5yZWdlbG1hZXNzaWcgbGVzZS4KVmllbGVuIERhbmshCgpIaW1tZWxzdGVybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9nb25zIChTdHJvaGFsbSwgIDcuIE1hciAyMDAxLCAxNjoyODo1NCk6CkxvcmR3eW5kLi4uLi4uLkoucyBWYW54YXZhLi4uLi4uLi5KLnMgUmFzY2hhdWEuLi4uLi4uSi5zIEJsdWVza3VsbC4uLi4uLkoucwpKYW1lc29uLi4uLi4uLi5pLnMgWWFsYWRhbi4uLi4uLi4uSndTIEJ1dGNoZXIuLi4uLi4uLmouWiBDaG9qaW4uLi4uLi4uLi4ud1oKS2FyaXMuLi4uLi4uLi4uaS5TIFBhbXBlcnMuLi4uLi4uLkp3bQoKaGF0IGVzIG5lbiBiZXN0aW1tdGVuIGdydW5kLCBkYXNzIGVpbmlnZSB0aWVmc3R1ZmlnZSBzcGllbGVyIHZvbiBpcmdlbmR3ZW0KdWViZXIgc2Fua3QgYXVndXN0aW4gZWluZ2Vsb2d0IHd1cmRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2dvbnMgKFRpYW1haywgIDcuIE1hciAyMDAxLCAxNjozOTo1MSk6Cn4jISBybj1TdHJvaGFsbSBydD05ODM5Nzg5MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODM5Nzg5MzQKTi0xIExvZ2lucyB2b24gU2Fua3QgQXVndXN0aW4gZXJmb2xnZW4gdWViZXIgSGF0ZXMgRmxhc2gtUGx1Z2luLgoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsb2dvbnMgKFN0cm9oYWxtLCAgNy4gTWFyIDIwMDEsIDE2OjQzOjA5KToKfiMhIHJuPVRpYW1hayBydD05ODM5Nzk1OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODM5Nzg5MzQKRGFzIExvZ291dCBzY2hlaW50IHp1IGJ1Z2dlbi4uLiBqZWRlbmZhbGxzIGJsZWliZW4gQ2hhcnMgbmFjaCBlaW5zY2hsYWZlbgp0cm90emRlbSB3ZWl0ZXIgZWluZ2Vsb2dndCA7KQoKSGFlbG1jaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBsb2dvbnMgKFRpYW1haywgIDcuIE1hciAyMDAxLCAxNjo0NToyNyk6Cn4jISBybj1TdHJvaGFsbSBydD05ODM5Nzk3ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODM5Nzg5MzQKTmEgZGFubiBsZWl0ZSBkaWVzZSBCdWdtZWxkdW5nIGRvY2ggZWluZmFjaCBtYWwgYW4gSGF0ZSB3ZWl0ZXIuIDotKQoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbG9nb25zIChTdHJvaGFsbSwgIDcuIE1hciAyMDAxLCAxNjo0Njo0NCk6Cn4jISBybj1UaWFtYWsgcnQ9OTgzOTc5OTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgzOTc4OTM0CkhtbW0uLi4gc28gaXMgZG9jaCBhdWNoIGdhbnogaW50ZXJlc3NhbnQsIHdpcmQgZGVyIHJlbnRuZXJhbnRlaWwgaW0gTVVECndlbmlnc3RlbnMgbmFjaCBvYmVuIGdldHJpZWJlbiA7KQoKSGFlbG1jaGVuLCBzaWNoIGFiIHNvZm9ydCBudXIgbm9jaCB2b20gRmxhc2gtVGVsbmV0IGF1c2xvZ2dlbmQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2dvbnMgKFBhbXBlcnMsICA5LiBNYXIgMjAwMSwgMTg6MTA6MjgpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9OTgzOTc4OTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgzOTc4OTM0CkRhcyBzaW5kIGFsbGVzIG1laW5lIFp3ZWl0aWVzLiA6LSkKClBhbXBlcnMuIFNjaGl6b3BocmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVudG9wb2xpcyAoWWVuZGksIDEyLiBNYXIgMjAwMSwgMTU6MDc6MTgpOgpTYWx2ZXRlIQoKS2VubnQgamVtYW5kIGVpbmUgRmlybWEgbmFtZW5zIE1lbnRvcG9saXMgaW4gTWlsdGVuYmVyZyBhbSBNYWluIG9kZXIKYXJiZWl0ZXQgc29nYXIgZG9ydD8KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmluIHNhbmQgaG1tIChIYXVrZSwgMTcuIE1hciAyMDAxLCAyMjoyMjoxOSk6CnNjaHJlaWJzYW5kIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29udmVudHVzIExlb25pcyAoQm9pbmcsIDIwLiBNYXIgMjAwMSwgMTQ6Mjc6MTEpOgp+IyEgcm49UWl0ZXNzIHJ0PTk4NTA5NDU5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NTA5NDU5MQpBbHNvIGltIEFydGlrZWwgODYgaW4gZGVyIFJ1YnJpayBUcmVmZmVuIGdlaHQncyB1bSBkZW4gS2FybHNydWhlciAKU3RhbW10aXNjaC4gRGFua2UgZnVlciBkaWUgV2VyYnVuZyAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmxlZ2VyZWkgKFNvbG15ciwgMjAuIE1hciAyMDAxLCAxNToxNjoxNCk6Cn4jISBybj1Cb2luZyBydD05ODUwOTc3MTQgcmc9ZGlza3Vzc2lvbgp+IyEgdGlkPTk4NTA5NzcxNApPaCBtYW4sIGhhYnQgSWhycyBiYWxkPyBJc3QgamV0enQgZ2VudWcgV2VyYnVuZyBmdWVyIGRpZXNlcyBDb3ZlbnR1cy0KRGluZ2VucyBnZW1hY2h0PyA6KSBEYW5rZSEgV2lyIGhhYmVuJ3MgdmVyc3RhbmRlbiwKClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVybGVnZXJlaSAoR2xvaW5zb24sIDIwLiBNYXIgMjAwMSwgMTU6NDA6MzMpOgp+IyEgcm49U29sbXlyIHJ0PTk4NTA5Nzc3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NTA5NzcxNApXYXMgZnVlciBlaW4gRGluZz8gSWNoIGRlbmsgaGllciBnZWh0cyBkYXJ1bSBzaWNoIHp1IGZldHplbiwgc29uc3Qgd3VlcmQgaWNoCmRvY2ggbmljaHQgbWl0bWFjaGVuLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIE1hcHBlciAoSWNobywgMjguIE1hciAyMDAxLCAxMToyNzoxNik6CkxpZWJlIE1pdG11ZGRlciwKbmFjaGRlbSBudW4gdm9uIFNlaXRlbiBkZXIgRU0rIGtlaW4gVmV0byBnZWtvbW1lbiBpc3QgdW5kIHNvIGRlciBNYXBwZXIKYXVjaCBlaW5lIERlbW9rYXJ0ZSB2b20gTUcgYW56ZWlnZW4gZGFyZiwgbW9lY2h0ZSBpY2ggRXVjaCBrdXJ6IHNhZ2VuCndvcnVtIGVzIHNpY2ggZGFiZWkgaGFuZGVsdCB1bmQgRXVjaCBkYW5uIGJpdHRlbiBkYXMgVGVpbCBkb2NoIGVpbmZhY2gKbWFsIGF1c3p1dGVzdGVuLgoKRGEgaWNoIGVzIGxlaWQgd2FyLCBtZWluZSBLYXJ0ZW4gbWl0IFBhcGllciB1bmQgQmxlaXN0aWZ0IGF1Znp1bWFsZW4KdW5kIGRhbm4gYmVpIGplZGVyIEFlbmRlcnVuZyBoZXJ1bXp1cmFkaWVyZW4gYmlzIG1hbiBuaXggbWVociBzYWggb2RlciAKbWljaCBlbmRsb3MgbWl0IGRlbSBpbW1lciB6dSBrbGVpbmVuIG9kZXIgYXVmIGVpbmVyIFNlaXRlIHp1IGt1cnplbgpCbGFldHRlcm4gaGVydW16dWFlcmdlcm4sIGhhYiBpY2ggbWljaCB2b3IgZWluaWdlciBaZWl0IGRhcmFuIGdlc2V0enQKbWFsIGVpbmVuIE1hcHBlciBpbiBKYXZhIHp1IHNjaHJlaWJlbi4KCkFtIEFuZmFuZyB3YXIgZXMgYWxsZXMgbm9jaCBzZWhyIGtyeXB0aXNjaCB6dSBiZWRpZW5lbiAoZGllIG1laXN0ZW4ga2VubmVuCiBtaWNoIGphOikgYWJlciBpbSBMYXVmZSBkZXIgWmVpdCB3dXJkZSBlcywgdm9yIGFsbGVtIGR1cmNoIGRpZSBmbGVpc3NpZ2VuCkFscGhhLVRlc3RlciBTdHJvaGFsbSwgT2xsaSB1bmQgU2FoYWRvb20gZGV1dGxpY2ggYmVzc2VyLgoKTmFqYSBsYW5nZXIgUmVkZSBrdXJ6ZXIgU2lubiwgZGVyIE1hcHBlciBlcmxhdWJ0IGVzIEthcnRlbiB2b24gTXVkcyB6dSAKbWFsZW4gbWl0IGFsbGVuIG1vZWdsaWNoZW4gU29uZGVyc2FjaGVuIChTcGV6aWFsYXVzZ2FlbmdlLCBGYXJiZW4sIApIaW50ZXJsZWd1bmdlbiwgSWNvbnMsIFBhcmF3ZWx0LCBJbmZvcyB6dSBlaW56ZWxuZW4gUmFldW1lbiBhYmxlZ2VuIHVzdy4gLQppY2ggaGFiIGJlc3RpbW10IHdpZWRlciBkaWUgSGFlbGZ0ZSB2ZXJnZXNzZW4pLiBBdXNzZXJkZW0ga2FubiBtYW4gZGVuCk1hcHBlciBzb2Zlcm4gZXIgbG9rYWwgbGFldWZ0IGF1Y2ggbWl0IGRlbSBNdWQtQ2xpZW50IHZlcmJpbmRlbiwgc28gZGFzcwplciAoenVyIFplaXQgei5CLiBtaXQgbWVpbmVuIFRGLVBha2V0ZSBnZWtvcHBlbHQpIG1pdGxhdWZlbiBrYW5uLCB3YWVocmVuZAptYW4gZHVyY2hzIE11ZCB3YW5kZXJ0LiBTbyB2ZXJsaWVydCBtYW4gKGZhc3QpIG5pZSBkZW4gVWViZXJibGljayB1bmQKaGF0IGltbWVyIGVpbmUgS2FydGUgenVyIEhhbmQgd2VubiBtYWwgZWluZXIgZWluZSBGcmFnZSBoYXQuCgpNYW4ga2FubiBhdWNoIHVlYmVyIGRpZSBJbmZvcyBkZXIgS25vdGVuIHN1Y2hlbiwgd2FzIHouYi4gc2VociBwcmFrdGlzY2ggCmlzdCB3ZW5uIG1hbiBlaW5lbiBiZXN0aW1tdGVuIFJhdW0gc3VjaHQsIGFiZXIgbmljaHQgbWVociB3ZWlzcyB3byBlcyB3YXMKZ2FiLiBBdXNzZXJkZW0gaGFsdCB6b29tZW4sIHNjcm9sbGVuIHVzdy4KCldhcyBnaWJ0cyBub2NoIHp1IHNhZ2VuPyBBY2hqYToKWnVtIFRlc3RlbiBsYWV1ZnQgZGFzIERpbmcgYWxzIEFwcGxldCwgZnVlciBkaWUgcmljaHRpZ2UgQmVudXR6dW5nIHNvbGx0ZSAKbWFuIGVzIHNpY2ggbG9rYWwgaW5zdGFsbGllcmVuLCB3ZWlsIG1hbiBkYW5uIHouQi4gYXVjaCBBYnNwZWljaGVybiBrYW5uLgpVUkw6IGh0dHA6Ly9lbXcuaW5mLnR1LWRyZXNkZW4uZGUvfm1oMTQvdGYvbWFwL2luZGV4Lmh0bWwKCkRlciBNYXBwZXIgaXN0IG5vY2ggd2VpdCB2b24gamVkZXIgUGVyZmVrdGlvbiBlbnRmZXJudCwgYWxzbyBzY2hpbXBmdCBuaWNoCnNvbmRlcm4gc2NoaWNrdCBtaXIgRXVyZSBJZGVlbiwgQnVncywgVm9yc2NobGFlZ2Ugd2FzIG1hbiBiZXNzZXIgbWFjaGVuIAprYW5uLiBXZW5uIEZyYWdlbiBhdWZ0YXVjaGVuIHdlbmRldCBFdWNoIGVudHdlZGVyIGFuIG1pY2ggKEljaG8gaW4gVmVydHJldHVuZwp2b24gTWVzaXJpaSBvZGVyIGFuIGVpbmVuIGRlciBmbGVpc3NpZ2VuIFRlc3RlcikKCkRhbmtlLCBNZXNpCgpCdHcuIGljaCBzdWNoZSBub2NoIGVpbiBwYWFyIEhPV1RPIFNjaHJlaWJlciwgZGEgbWVpbmUgZXR3YXMgc2VociAKdGVjaG5pc2NoZW4gRG9rdXMgbmljaCBzbyBiZXNvbmRlcnMgZG9sbGUgYW5rb21tZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBNYXBwZXIgVGVpbCAyIChJY2hvLCAyOC4gTWFyIDIwMDEsIDExOjI3OjMyKToKCldlbm4gamVtYW5kIHZvbiBFdWNoIGRhcyBBcHBsZXQgYXVmIGVpbmVyIFdlYnNlaXRlIHZlcndlbmRlbiB3aWxsLCBrYW5uIGVyCiBlcyBnZXJuIHR1biwgZnVlciBLYXJ0ZW4gdm9tIE1HIHZlcndlaXNlIGljaCBhdWYgImhpbGZlIHJlZ2VsbiIgKGphamEKaWNoIHdlaXNzIFNjaGFkZW5mcmV1ZGUgLi4uIDopCgpGYWxscyBlaW4gTWFnaWVyIHNlaW5lIFJlZ2lvbiBtaXQgZWluZXIgaW50ZXJha3RpdmVuIEthcnRlIHZhcmlhYmxlciAKRGV0YWlsdGllZmUgYXVmIGRlciBSZWdpb25zc2VpdGUgYW5iaWV0ZW4gbWFnLCBpc3QgZXIgaGVyemxpY2ggZGF6dSAKZWluZ2VsYWRlbiwgaWNoIGhlbGZlIGF1Y2ggYmVpbSBFcnN0ZWxsZW4gZGVyIEthcnRlbi4KCkFuc29uc3RlbiBpc3QgZGVyIE1hcHBlciAiV29yayBpbiBQcm9ncmVzcyIgZXMgd2lyZCBhbHNvIGltbWVyIHdpZWRlcgpuZXVlIFZlcnNpb25lbiBpbiBrdXJ6ZXIgRm9sZ2UgZ2ViZW4sIGRpZSBpbW1lciBlaW4gcGFhciBOZXVlcnVuZ2VuIAptaXRicmluZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VydWVjaHQgKEdlcnVlY2h0LCAgMy4gQXByIDIwMDEsIDE3OjEzOjUxKToKSmFzbWluIGlzdCBlaW4gWndlaXRpZSB2b24gU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcnVlY2h0IChKYXNtaW4sICAzLiBBcHIgMjAwMSwgMTg6NTQ6MTcpOgp+IyEgcm49R2VydWVjaHQgcnQ9OTg2MzEwODMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg2MzEwODMxClNjaGVpc3NlLGpldHp0IGlzc2VzIHJhdXMgOigoCldpZSBrYW1zdCBEdSBkYSBudXIgZHJhdWYuLi5pY2ggaGF0dGUgZXMgZmFzdCBmdWVyIHVubW9lZ2xpY2ggZ2VoYWx0ZW4gZGFzCnJhdXN6dWZpbmRlbi4uLj8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VydWVjaHQgKFNjaGxlaWNoZXIsICA0LiBBcHIgMjAwMSwgMDA6Mzc6MjApOgp+IyEgcm49R2VydWVjaHQgcnQ9OTg2MzEwODMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg2MzEwODMxCkRhcyBtdXNzIGljaCBkb2NoIG1hbCBzdGFyayBkZW1lbnRpZXJlbiEgS0VJTkVSIG1laW5lciBad2VpdGllcyBpc3Qgc28gaG9jaApnZWtvbW1lbi4uLiBEYWZ1ZXIgZmVobHQgbWlyIGVocmxpY2ggZ2VzYWd0IGRlciBFaHJnZWl6LCBuZWUgYW5kZXJzLCwsIGljaCBiaW4KZGF6dSB2aWlpaWllbCB6dSBmYXVsLiA7LSkgUS5FLkQuCgpTY2hsZWljaGVyIGRlciBGYXVscGVsegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTnUgYWJiYSAoSGlnaHQsICA3LiBBcHIgMjAwMSwgMTQ6NTA6NDQpOgpuYWNoZGVtIG1pY2ggc2Nob24gdmVybWVociBsZXV0ZSBnZWZyYWd0IGhhYmVuIG9iIGljaCB3ZWlzcyBvYiBEZXZpbGNoZW4gYXVmCmRpZSBwYXJ0eSBrb21tdCwgZ2ViZSBpY2ggaGllbWl0IGhvY2ggb2ZmaXppZWxsIGJla2FubnQgOgogICAgICAgICAgIE5laW4gRGV2aWxjaGVuIHdpcmQgbmljaHQga29tbWVuICEKCnNjaGFkZSB6d2FyIGFiYmEgc28gaXMgZGFzIGxlYmVuIC5vKSAKCllUIGhpZ2h0CgpQLlMuOiBkaWUgZ3J1ZW5kZSBzaW5kIGlycmVsZXZhbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOdSBhYmJhIChHcmltbWFuLCAgOS4gQXByIDIwMDEsIDIxOjAyOjA5KToKfiMhIHJuPUhpZ2h0IHJ0PTk4NjY0Nzg0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NjY0Nzg0NApBbGxlcmRpbmdzIHNjaGFkZSAuLi4gCk5hamEsIGVzIGdpYnQgaW1tZXIgTGV1dGUsIGRpZSBhdWYgbmVyIFBhcnR5IHNvIHNjaGV1c3NsaWNoZSBMdWVja2VuCmhpbnRlcmxhc3Nlbi4KCkdyaW1NYW4sIHdlaXNzIGpldHogc2Nob24gZGFzIERldiBpaG0gZmVobGVuIHdpcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbG15ciBpc3QgdHJhdXJpZy4uLiAoU29sbXlyLCAxNy4gQXByIDIwMDEsIDA1OjI4OjUyKToKSHVodSwKClNvbG15ciBzdWNodCBlaW5lIG5ldHRlLCBpbnRlbGxpZ2VudGUsIGd1dGF1c3NlaGVuZGUgWndlcmdlbmZyYXUsIG5pY2h0Cnp1IGp1bmcgdW5kIGJpdHRlIG9obmUgQmFydCB6dW0gZ2VtZWluc2FtZW4gRmFzc3BvbGllcmVuIHVuZCBHb2xkIHN1Y2hlbi4KQWNoIGphLCB1bmQgZGllIHZlcnNjaGllZGVuZW4gVHJ1aGVuIGluIG1laW5lbSBIYXVzIG11ZXNzdGVuIGF1Y2ggbWFsCndpZWRlciBhdWZnZXJhZXVtdCB3ZXJkZW4sIGRvY2ggZGF6dSBoYWIgaWNoIG5pZSBMdXN0IDopIEFlaCwgdW5kIG5vY2gKZWlucyA6IFNpZSBtdWVzc3RlIG5hdHVlcmxpY2ggbWVpbmUgTWV0emVsZXNrYXBhZGVuIHVudGVyc3R1ZXR6ZW4gb2Rlcgp6dW1pbmRlc3QgdG9sZXJpZXJlbi4KV2VyIHNpY2ggaW1tZXIgbm9jaCBhbmdlc3Byb2NoZW4gZnVlaGx0LCB1bnRlciAnc29sbXlyQG1nLm11ZC5kZScgbmVobWUKaWNoIGdlcm5lIEJld2VyYnVuZ3N1bnRlcmxhZ2VuIGFuLCBhYmVyIGF1Y2ggZ2VnZW4gZWluICd0ZWlsZSBtaXQnIGhhYmUKaWNoIG5peCBlaW56dXdlbmRlbi4gQWNoIGphLCBiZWltICdFaW5zdGVsbHVuZ3N0ZXN0JyBtdXNzIG1hbiBlaW5lClJ1bmRlIFJhZ2UgZ2VnZW4gbWljaCBnZXdpbm5lbiwgZGFzIHN0YWVuZGlnZSBCaW1tZWxuIG1laW5lciBaaXBmZWxtdWV0emUKZXJ0cmFnZW4sIGViZW5zbyBkYXMgUnVtZ2VodWVwZmUsIEdld3VlcmdlLCBHZWtudWRkZWwsIEdlbXVzdGVyZSB1bmQgc29sY2hlClNhY2hlbiBoYWx0IDopCgpTb2wqLCBhbSBmcnVlaGVuIE1vcmdlbiAtPiBlaW5lIFJ1YnJpayAnZXIgc3VjaHQgc2llJyBvZGVyICdzaWUgc3VjaHQgaWhuJwpnaWJ0cyBuaWNoJywgJ3NjaG1hcnJuJyB1ZWJlcmdlaGVuIHp1IHZpZWxlLCBhbHNvIGtvbW10cyBoaWVyZWluIDopIEVpbmVuCnJlY2h0IHNjaG9lbmVuIGd1dGVuIE1vcmdlbiBhbiBhbGxlIE1wYUxlc2VyLGRpZSBtaWNoIG5pY2h0IGlnbm9yaWVyZW4gKkcqCgpQcyA6IEVzIGtvbW1lbiBuYXR1ZXJsaWNoIG51ciB1bnZlcmhlaXJhdGV0ZSBad2VyZ2lubmVuIGluIEZyYWdlLCBTZWl0ZW4tCnNwcnVlbmdlIGdpYnRzIGJlaSBtaXIgaW0gTXVkIG5pY2h0LCBnZW5hdXNvIHdlbmlnLCB3aWUgdW1nZXRyYW5zdGUKbWFlbm5saWNoZSBad2VyZ2UuIEFsc28gRm9vYmFyLCBVZ2ksIGV0Yy4ga29tbXQgYmxvc3MgbmljaHQgYXVmIGR1bW1lCklkZWVuIDo9KSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29sbXlyIGlzdCB0cmF1cmlnLi4uIChNdWFkZGliLCAxNy4gQXByIDIwMDEsIDA5OjExOjMwKToKfiMhIHJuPVNvbG15ciBydD05ODc0NzgxMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODc0NzgxMzIKaW50ZWxsaWdlbnQsIGd1dGF1c3NlaGVuZCB1bmQgb2huZSBCYXJ0PyBXYXMgYmlzdCBkZW5uIER1IGZ1ZXIgZWluCldhcm1kdXNjaGVyLVp3ZXJnPwoKRHUgc29sbHRlc3QgRGlyIGVpbmUgRWxmaW4gc3VjaGVuLCBkaWUgaGFiZW4gZGllIGFuZ2VzcHJvY2hlbmVuIFF1YWxpdGFldGVuLAphYmVyIG1pdCBad2VyZ2VuIHdvbGxlbiBkaWUgbGVpZGVyIChmdWVyIERpY2gpIHNlbHRlbiB3YXMgenUgdHVuIGhhYmVuIDotKQoKTXVhLiBFbGYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbG15ciBpc3QgdHJhdXJpZy4uLiAoRmFudGFnaGlybywgMTcuIEFwciAyMDAxLCAwOToxNDowNik6Cn4jISBybj1NdWFkZGliIHJ0PTk4NzQ5MTQ5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzQ3ODEzMgpOYWphLCBlciBzdWNodCB3b2hsIGRvY2ggZWluZW4gRWxmLCBvZGVyIHNvbGx0ZSBlcyBzb3dhcyBnZWJlbjogRWluZSBFbGZpbi4gCkVyIGlzdCBoYWx0IGViZW4gZG9jaCBlaW4gdmVya2FwcHRlciBCYWV1bWVrbnVkZGxlci4gCgpGYW50YSogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRyBlLlYuIC0gVW1mcmFnZSAoTHV6aWUsIDE3LiBBcHIgMjAwMSwgMTY6MTE6MzkpOgpIYWxsbyB6dXNhbW1lbiEKClVtIGhlcmF1c3p1ZmluZGVuLCB3YXMgc293b2hsIGRpZSBNaXRnbGllZGVyLCBhbHMgYXVjaCBOaWNodC1NaXRnbGllZGVyCnVlYmVyIGRlbiBWZXJlaW4gZGVua2VuLCBoYWJlbiB3aXIgYXVmIGRlbiBXV1ctU2VpdGVuIGRlcyBWZXJlaW5zIGVpbmVuCmtsZWluZW4gRnJhZ2Vib2dlbiBlaW5nZXJpY2h0ZXQuCldpciBob2ZmZW4sIGF1ZiBkaWVzZW0gV2VnIHp1IGVyZmFocmVuLCB3YXMgd2lyIGluIGRlciBWZXJlaW5zYXJiZWl0CnZlcmJlc3Nlcm4ga29lbm5lbi4gSGllciBrYW5uIGFsc28gamVkZS9yIGZyZWkgdm9uIGRlciBMZWJlciBzY2hyZWliZW4sCndhcyBpaHIvaWhtIGFtIFZlcmVpbiBzdG9lcnQsIGdlZmFlbGx0IC4uLgoKRGllIEFkcmVzc2UgZGVzIEZyYWdlYm9nZW5zOgpodHRwOi8vbWcubXVkLmRlL1ZlcmVpbi9mcmFnZWJvZ2VuLmh0bWwKCkNpYW8sCkx1emllCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29sbXlyIGlzdCB0cmF1cmlnLi4uIChTb2xteXIsIDE4LiBBcHIgMjAwMSwgMDU6NDE6NTYpOgp+IyEgcm49U29sbXlyIHJ0PTk4NzQ3ODEzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzQ3ODEzMgpIdWh1LAoKaG1tLCBpY2ggd2FyIGhldXRlIEFiZW5kIG1pdCBHcmltbWllIFBhcnR5IG1hY2hlbiB1bmQgaWNoIG11c3MgbWFsIHNhZ2VuLAppY2ggaGFiIDMgdmVyc2NoaWVkZW5lIEZyYXVlbiBrZW5uZW5nZWxlcm50IHVuZCBhbGxlIDMgbWVpbnRlbiwgc2llIHd1ZXJkZW4KbnVyIGRpZSBOYWNodCBtaXRrb21tZW4gOikgU2ljaGVyLCB2aWVsZSBhbmRlcmUgd3VlcmRlbiBzaWNoIGRydW0gcmVpc3NlbiwKYWJlciBpY2ggd2lsbCBqZW1hbmRlbiwgdW0gZGVuIGljaCBtaWNoIGt1ZW1tZXJuIGthbm4sLi4uCgpTb2wqLiBncnVtbWVsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29sbXlyIGlzdCB0cmF1cmlnLi4uIChHbG9pbnNvbiwgMTguIEFwciAyMDAxLCAxMDoyNDowMik6Cn4jISBybj1Tb2xteXIgcnQ9OTg3NTY1MzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg3NDc4MTMyCkRyZWkgWndlcmdpbm5lbj8gTWl0IEJhcnQgYW4gZGVtIG1hbiBzaWNoIGZlc3RoYWx0ZW4ga2Fubj8KCkdsb2luKHNvbiksIGtpbm9nZXNjaGFlZGlndCwgcG9wY29ybmdlZnVlbGx0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTb2xteXIgaXN0IHRyYXVyaWcuLi4gKEhpZ2h0LCAxOC4gQXByIDIwMDEsIDE0OjA4OjMyKToKfiMhIHJuPUdsb2luc29uIHJ0PTk4NzU4MjI0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzQ3ODEzMgoqbGFjaCogZGllIGVpbnppZ2UgZ3V0ZSBzdGVsbGUgaW0gZmlsbSB6aXRpZXJlbiAsbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvbG15ciBpc3QgdHJhdXJpZy4uLiAoUmlrdXMsIDE4LiBBcHIgMjAwMSwgMTQ6MDk6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTg3NTgyMjQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg3NDc4MTMyCm9jaCwgZGVyIEZpbG0gd2FyIGF1Y2ggYW4gdmllbGVuIGFuZGVyZW4gU3RlbGxlbiBsdXN0aWcgOikKClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUcgZS5WLiAtIFVtZnJhZ2UgKEx1emllLCAxOC4gQXByIDIwMDEsIDE2OjE4OjQ3KToKfiMhIHJuPUx1emllIHJ0PTk4NzUxNjY5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzUxNjY5OQpEaWUgQWt0aW9uIGxhZXVmdCBndXQgYW4sIHZpZWxlbiBEYW5rIEV1Y2ggYWxsZW4hIDotKQpJY2ggd2lsbCB2ZXJzdWNoZW4sIHJlZ2VsbWFlc3NpZyBkaWUgQmVpdHJhZWdlIHp1c2FtbWVuenVmYXNzZW4uCkFsbGVzIHdlaXRlcmUgZGF6dSB3aXJkIGluIGRlciBSdWJyaWsgIlZlcmVpbiIgdW5kIGF1ZiBkZW4KV1dXLVNlaXRlbiAod28gbWFuIHNpY2ggdWVicmlnZW5zIGF1Y2ggdWViZXIgZGVuIFZlcmVpbgppbmZvcm1pZXJlbiBrYW5uOiBodHRwOi8vbWcubXVkLmRlL1ZlcmVpbi8gKSB2ZXJvZWZmZW50bGljaHQuCgpMdXppZSAqIGZyZXV0IHNpY2ggYXVmIHZpZWxlIHdlaXRlcmUgYXVzZ2VmdWVsbHRlIEZyYWdlYm9lZ2VuICogOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvbG15ciBpc3QgdHJhdXJpZy4uLiAoR3JpbW1hbiwgMTguIEFwciAyMDAxLCAxODowNToyMik6Cn4jISBybj1Tb2xteXIgcnQ9OTg3NTY1MzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg3NDc4MTMyCkphIGphIC4uLiBsYWVuZ2VyIGhhbHRlbiBzaWUgZGFzIGhhbHQgbmljaCBhdXMgLi4uIHVuZCBzaWUgd2lzc2VuIGVzIHNjaG9uCnZvcmhlciAuLi4gZGFzIHd1ZXJkZSBtaXIgenUgZGVua2VuIGdlYmVuCgpHcmltTWFuIC4uLiBoYXR0ZSBhdWNoIHNlaW5lbiBTcGFzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXByaWxzY2hlcnplIGltIE1HIChaYXBob2IsIDE5LiBBcHIgMjAwMSwgMDE6NDM6NTEpOgpXb3JhbiBsaWVndCBkYXMgZWlnZW50bGljaCwgZGFzcyBpY2ggZGllIGFtIGVyc3RlbiBBcHJpbCBqZWRlcyBKYWhyZXMKdm9yZ2VzdGVsbHRlbiBWZXJiZXNzZXJ1bmdzdm9yc2NobGFlZ2UgaW1tZXIgZ3V0IGZpbmRlIHVuZCBmcmV1ZGlnIGFremVwdGllcmU/CkljaCBoYWIgZ3JhZCBpbiBkZXIgTGlzdGUgbmFjaGdlc2VoZW4sIG9iIGpldHp0IGVuZGxpY2ggZGllIFBmbGljaHRhYmVudGV1ZXIKZWluZ2V0cmFnZW4gd3VyZGVuLCBoYWIgbWljaCBkYW5uIGFiZXIgZXJpbm5lcnQsIGRhc3MgZGFzIGphIG51cm4gU2NoZXJ6IHdhci4KRGFiZWkgZmFuZCBpY2ggZGllIElkZWUgZWlnZW50bGljaCBnYW56IGd1dC4KTGV0enRlcyBKYWhyIHdhciBnbGF1YiBpY2ggaXJnZW5kd2FzIG1pdCBTZWhlcm4sIGRhc3MgZXMgbnVyIGVpbmUgSGFuZCB2b2xsClNlaGVyIGdlYmVuIHNvbGx0ZSBvZGVyIGlyZ2VuZHdpZSBiZXNzZXJlIFNlaGVyLCBob2VydGUgc2ljaCBkYW1hbHMgYWJlciBhdWNoCnJlaXp2b2xsIGFuLgpLYW5uIGF1Y2ggZGFyYW4gbGllZ2VuLCBkYXNzIGljaCBkaWUgRGluZ2VyIG5pZSBhbSBFcnN0ZW4gbGVzZSwgc29uZGVybiBpbW1lcgplcnN0IGVpbiBwYWFyIFRhZ2Ugc3BhZXRlciwgd2VpbCBpY2ggYW0gRXJzdGVuIHp1ZmFlbGxpZyBuaWUgZGEgYmluLgpBYmVyIGltbWVyLCB3ZW5uIGljaCBrdXJ6IG5hY2ggZGVyIE1vbmF0c3dlbmRlIGJlaW0gWmVpdHVuZyBkdXJjaGZvcnN0ZW4gZGVua2UKIkludGVyZXNzYW50ZSBJZGVlIiBlcnNjaGVpbnQgZWluIHBhYXIgQXJ0aWtlbCBzcGFldGVyIGVpbmUgIkVudHdhcm51bmciLgpTbyBhbHMgb2IgZGllIElkZWUgdm9sbCBncmF1c2FtIGdld2VzZW4gd2FlcmUuIFdhciBzaWUgYWJlciBnYXIgbmljaHQuIEZ1ZXIKbWljaCBqZWRlbmZhbGxzIG5pY2h0LiBHZWh0IGRhcyBlaWdlbnRsaWNoIG51ciBtaXIgc28/ClphcGhvYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFwcmlsc2NoZXJ6ZSBpbSBNRyAoS2FmZiwgMTkuIEFwciAyMDAxLCAwOToyOTozNCk6Cn4jISBybj1aYXBob2IgcnQ9OTg3NjM3NDMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg3NjM3NDMxCk5hamEsIGZ1ZXIgdW5zIFNlaGVyIHdhZXIgc2llIHNpY2hlciBuaWNodCBncmF1c2FtIGdld3NlbiwgZGEgd2lyIGRpZSBRdWVzdHMKc2ljaGVyIGhhZXR0ZW4gbmljaHQgbWVociBtYWNoZW4gYnJhdWNoZW4uLi4KV2VubiBkb2NoLCBkYW5uIGhhZXR0ZSBlcyBzaWNoZXIgbWVociBBdWZyZWd1bmcgZ2VnZWJlbi4KQW0gc2NobGltbXN0ZW4gc3R1ZW5kZW4gZGFubiBsZWRpZ2xpY2ggZGllIFNwaWVsZXIgZGEuLi4KS2FmZiAtIGZpbmRldCBkYXMgbWFuY2hlIEFwcmlsc2NoZXJ6ZSB3aXJrbGljaCBndXQgc2luZCAoaGFiIGRlbiBhdWNoIGVyc3QKZXJuc3QgZ2Vub21tZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXByaWxzY2hlcnplIGltIE1HIChNdWFkaWIsIDE5LiBBcHIgMjAwMSwgMTA6MzU6NDgpOgp+IyEgcm49WmFwaG9iIHJ0PTk4NzYzNzQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzYzNzQzMQphbHNvIGljaCBmYW5kIGRlbiBhcHJpbHNjaGVyeiB2b24gdm9yIDIgamFocmVuIGF1Y2ggaW4gbmFjaGhpbmVpbiBncmF1c2xpZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2Vsb2VzY2h0PyAoQmlnb25lLCAxOS4gQXByIDIwMDEsIDEwOjQzOjMzKToKSWNoIGhhYiBtYWwgbmUgRnJhZ2U6CkhhdCBzaWNoIEpvaG5ueSBib3NzIGpldHp0IGVpZ2VudGxpY2ggZ2Vsb2VzY2h0PwoKQmlnT25lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2Vsb2VzY2h0PyAoQm9pbmcsIDE5LiBBcHIgMjAwMSwgMTA6NDg6MzMpOgp+IyEgcm49Qmlnb25lIHJ0PTk4NzY2OTgxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzY2OTgxMwpJY2ggaGFiIG1hbCBuZSBBbnR3b3J0OgpmaW5nZXIgam9obm55Ym9zcwoKQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2Vsb2VzY2h0PyAoU2lsdmFuYSwgMTkuIEFwciAyMDAxLCAxMDo0OTo1NSk6Cn4jISBybj1Cb2luZyBydD05ODc2NzAxMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODc2Njk4MTMKSWNoIGhhYiBlaGVyIG5lIEZyYWdlOgpXaWVzbyBzb2xsdGUgZXI/CgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcm1vZWJlbCAoU29sbXlyLCAyMC4gQXByIDIwMDEsIDAyOjAxOjQzKToKfiMhIHJuPUhpZ2h0IHJ0PTk4NzcyNDc5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4NzcyNDc5MQpIaWdodCwgbXV0dHUnIGxlc2VuLiBEYSBzdGVodCwgZGFzcyBkaWUgbmljaCcgcmVib290ZmVzdCBzaW5kLCBkYSBzaWUgaW1tZXIKbm9jaApnZWFuZGVydCB3ZXJkZW4gdW5kIGRlciBqZXdlaWxpZ2UgTWFnaWVyIChkZW4gTmFtZW4gaGFiIGljaCB2ZXJnZXNzJ24sIHNyeSopCmRhCm5pY2h0IGltbWVyIGVpbmUgQXJ0IFJ1ZWNrcnVmYWt0aW9uIHN0YXJ0ZW4gd2lsbCA6KQoKU29sKiwgZGVyIEF1ZmtsYWVyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1cyBnZWdlYmVuZW0gQW5sYXNzIChNYW5kcmFnb24sIDIxLiBBcHIgMjAwMSwgMjA6MDM6MDMpOgpVbSBlaW5lciBGbHV0IHZvbiBUeXBvcyBhdXMgZGVtIFdlZyB6dSBnZWhlbiwgYW4gZGllc2VyIFN0ZWxsZSBrdXJ6IGRlcgpIaW53ZWlzLCBkYXMgbWFuIG1hbmNobWFsIGF1Y2ggYmVpbSBrb25qdWdpZXJlbiBzb2xjaCBlaW5mYWNoZXIgV29lcnRlciB3aWUKJ2hhbHRlbicgZWluIFdvZXJ0ZXJidWNoIGtvbnN1bHRpZXJlbiBzb2xsdGUuCgpFbnRnZWdlbiBkZXIgbGFuZGxhZXVmaWdlbiBWZXJzaW9uICdoYWVsc3QnIHdpcmQgc2VsYmlnZXMgd29ydCBuYWVtbGljaCBpbiBkZXIKendlaXRlbiBwZXJzb24gc2luZ3VsYXIgcHJhZXNlbnMgCgpIQUVMVFNUCgpnZXNjaHJpZWJlbi4KCgoKRGFua2UgOi0pCgpNYW5kcmFnb24sIFZlcmZlY2h0ZXIgZGVyIFJlaW5oZWl0IGRlciBEZXV0c2NoZW4gU3ByYWNoZSwgR3Jvc3Nrb25kdWthdG9yLAouLi4uLCAuLi4uLCAuLi4gYmxhZmFzZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXMgZ2VnZWJlbmVtIEFubGFzcyAoSG91c2Vob2xkZXIsIDIxLiBBcHIgMjAwMSwgMjA6MTc6NDApOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTk4Nzg3NjE4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4Nzg3NjE4Mwprd2F0c2NoIGRhcyBoZWlzc3QgaGFlbHp0ICEhIQpISCAoc2NodWxsZWhyZXJoYWZ0IG5pY2tlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1cyBnZWdlYmVuZW0gQW5sYXNzIChEZWVwYmx1ZSwgMjEuIEFwciAyMDAxLCAyMTo1OToyNyk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05ODc4NzcwNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODc4NzYxODMKTWVpbnN0IER1IHNvd2FzIHdpZSAiRHUgaGFlbHNkIERpciBkZSBIYW5kIGFuJyBHb2JiPyIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXMgZ2VnZWJlbmVtIEFubGFzcyAoSGlnaHQsIDIxLiBBcHIgMjAwMSwgMjM6MzA6MDQpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTk4Nzg3NjE4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4Nzg3NjE4MwoqbGFjaCogZHUgaGFzdCBwcm9ibGVtZSBpY2hiaW4gc2Nob24gZnJvaCB3ZW5uIGljaCBtZWluZW4gbmFtZW4gKGRlciBuaWNrIGdlaHQKaW56d2lzY2hlbikgcmljaHRpZyBnZXRpcHB0IGtyaWVnZSAKCmhpZ2h0IHZvbGxlciB1bnZlcnN0YWVuZG5pc3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjaHR1bmchIC0tLSBQcm9ibGVtZSBtaXQgZGVtIEZyYWdlYm9nZW4hIChMdXppZSwgMjIuIEFwciAyMDAxLCAxMToyOTowMCk6CkhhbGxvIHp1c2FtbWVuIQpadWZhZWxsaWcgaGFiIGljaCBncmFkIGZlc3RnZXN0ZWxsdCwgZGFzcyBlcyBiZWltIEFic2VuZGVuIGRlciBBbnR3b3J0ZW4KZGVzIEZyYWdlYm9nZW5zIFByb2JsZW1lIGdpYnQuIFNlaXQgRnJlaXRhZywgY2EuIDkuMzAgVWhyICh2b3JtaXR0YWdzKQpoYWJlbiBtaWNoIGtlaW5lIEFudHdvcnRlbiBlcnJlaWNodC4gV2lyIGFyYmVpdGVuIGRyYW4gdW5kIGljaAp3ZXJkZSBoaWVyIGJla2FubnRnZWJlbiwgd2VubiBlcyB3aWVkZXIgZnVua3Rpb25pZXJ0LgoKKnNldWZ6KgpMdXppZSAoaGF0dGUgc2ljaCBzY2hvbiBzbyBnZWZyZXV0LCBkYXNzIGVzIGZ1bmt0aW9uaWVydGUKICAgICAgIHVuZCBkYXNzIHNvIHRvbGxlIEFudHdvcnRlbiB6dXJ1ZWNra2FtZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZWJvZ2VuIGZ1bmt0aW9uaWVydCB3aWVkZXIhIChMdXppZSwgMjIuIEFwciAyMDAxLCAxOToyNzozMSk6CkhhbGxvIQpEYXMgUHJvYmxlbSBzY2hlaW50IGVyc3RtYWwgYmVob2JlbiB6dSBzZWluLCBpY2ggaG9mZmUsCmRhc3MgZXMgbmljaHQgbWVociBhdWZ0cml0dCwgd2VyZGUgYWJlciB0cm90emRlbQp2ZXJzdWNoZW4sIGVpbmUgbG9lc3VuZyB6dSBmaW5kZW4sIGZhbGxzIGVzIHdpZWRlciBuaWNodCBrbGFwcHQuCgpXZXIgaW4gZGVuIGxldHp0ZW4gendlaSBUYWdlbiB2ZXJzdWNodCBoYXQsIGRpZSBBbnR3b3J0ZW4KYXVmIGRlbiBGcmFnZWJvZ2VuIGFienVzY2hpY2tlbiB1bmQgZGFyYXVmaGluIGtlaW5lIEFudHdvcnRzZWl0ZQp2b20gVmVyZWluIGVyaGFsdGVuIGhhdCwgZGVuIG1vZWNodGUgaWNoIGJpdHRlbiwgZGllCkZyYWdlbiBub2NobWFsIHp1IGJlYW50d29ydGVuLCBkYW5uIGlzdCBuYWVtbGljaCBiZWkgbWlyCm5pY2h0cyBhbmdla29tbWVuLgoKQXVzc2VyZGVtIG1vZWNodGUgaWNoIGFsbGUgYml0dGVuLCBmYWxscyBkYXMgaW4gWnVrdW5mdAp3aWVkZXIgcGFzc2llcnQsIG1pciBkb2NoIGVpbmUgTWFpbCB6dSBzY2hpY2tlbiwgZGFtaXQKaWNoIHNjaG5lbGxlciBkYXJhdWYgcmVhZ2llcmVuIGthbm4uCgpBbHNvIGxpZWJlIExldXRlLCBFdXJlIE1laW51bmcgaXN0IGdlZnJhZ3QhCkljaCBiaW4gZGF2b24gdWViZXJ6ZXVndCwgZGFzcyBub2NoIHZpZWxlIHZpZWxlIGd1dGUKSWRlZW4gaXJnZW5kd28gc2NobHVtbWVybi4gTmF0dWVybGljaCB3ZXJkZW4gd2lyIGF1Y2gKaW4gZGVyIE1pdGdsaWVkZXJ2ZXJzYW1tbHVuZyBkYXJ1ZWJlciBkaXNrdXRpZXJlbi4KCkx1emllCihoYXQga2VpbmUgQWhudW5nIHZvbiBuaXggdW5kIHd1cnNjaHRlbHQgc2ljaCBzbwpkdXJjaCBkZW4gZ2FuemVuIEhUTUwtS3JhbSB1bmQgbGFlc3N0IHZvbiBDR0kgby5hZS4KbGllYmVyIGRpZSBGaW5nZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpab29rIGVyZnVlbGx0IGRhcyBNaXRsZWlkLi4uLiAoWm9vaywgMjMuIEFwciAyMDAxLCAxNDozNDo1Myk6Ci4uLiB1bmQgaGF0IGRhZnVlciBmdWVyIGRlbiB2b24gaWhuIHNlbGJzdCBpbml0aWllcnRlbiBTY2htYXJybi1UaHJlYWQKbWFsIG5lIGVpZ2VuZSBSdWJyaWsgYW5nZWxlZ3QuIEFiZXIga2VpbmUgU29yZ2UsIGRpZSB3aXJkIGF1Y2ggd2llZGVyCmdlbG9lc2NodCwgd2VubiBkZXIgVGhyZWFkIHRvdCBpc3QuIDopCgpEZXIgUmVzdCBrYW5uIG51biBqYSB3aWVkZXIgU2NobWFycm4gYWJvbm5pZXJlbiB1bmQgZmxlaXNzaWcgcnVtc2NobWFycmVuLgoKWm9vayB3aWxsIHdpZWRlciBGTFctQXJ0aWtlbCBsZXNlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBab29rIGVyZnVlbGx0IGRhcyBNaXRsZWlkLi4uLiAoT2xsaSwgMjMuIEFwciAyMDAxLCAyMTowNTowOCk6Cn4jISBybj1ab29rIHJ0PTk4ODAyOTI5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODAyOTI5MwpkYW5rZSwgZGFua2UsIGRhbmtlIDopKQoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFtZW5zYWVuZGVydW5nIChOZWx2aW4sIDI0LiBBcHIgMjAwMSwgMDA6MDY6MzcpOgpWYWxkeW4gd2FyIGZydWVoZXIgQ29uYW4gKGlzdCBpbnp3aXNjaGVuIGJlc2V0enQpLgoKcQplbmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpob3BwbGEuIG5hbWUgdmVyd2VjaHNlbHQgKHMuby4pIChOZWx2aW4sIDI0LiBBcHIgMjAwMSwgMDA6MTQ6NTUpOgpOZWx2aW4gKG5pY2h0IFZhbGR5bikgd2FyIGZydWVoZXIgYWxzIENvbmFuIGJla2FubnQuCnNvcnJ5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhvcHBsYS4gbmFtZSB2ZXJ3ZWNoc2VsdCAocy5vLikgKFBhcmRhdXosIDI0LiBBcHIgMjAwMSwgMDA6MzY6NTYpOgp+IyEgcm49TmVsdmluIHJ0PTk4ODA2NDA5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODA2NDA5NQpuYSBzb2xhbmcncyBuaWNoIE1lbHZpbiB3YXIgLi4uClBhcmRhdXogKGNvdWxkbid0IHJlc2lzdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzIHp1bSBUaGVtYSBCYXR0bGUtTmV0IChHb3IsIDI1LiBBcHIgMjAwMSwgMTU6Mzk6MTkpOgpXZW5uIGRhcyBoaWVyIG5pY2h0IGludGVyZXNzaWVydCwgc29sbHRlIGFtIGJlc3RlbiBnbGVpY2ggcSBkcnVlY2tlbi4gOykKCgoKQmxpenphcmQgemVpZ3QgU3Bpb25hZ2UtQW1iaXRpb25lbiBiZWkgT25saW5lLVNwaWVsZXJuCgpGcmV1bmRlIHZvbiBPbmxpbmUtTXVsdGlwbGF5ZXItUGFydGllbiBkZXMgZXJmb2xncmVpY2hlbiBSb2xsZW5zcGllbHMKRGlhYmxvIElJWzFdIHNpbmQgc3RpbmtzYXVlciBhdWYgZGVuIEhlcnN0ZWxsZXIgQmxpenphcmRbMl0sIGRlciBhdWNoIGRlbgp6dW0gbmV0emdlc3R0enRlbiBTcGllbGVuIHZlcndlbmRldGVuIFNlcnZlciBCYXR0bGUubmV0WzNdIGJldHJlaWJ0OiBNaXQKZGVtIGFtIDE5LiBBcHJpbCB2ZXJmZmVudGxpY2h0ZW4gVXBncmFkZS1QYXRjaFs0XSBhdWYgZGllIFZlcnNpb24gMS4wNiBkZXMKU3BpZWxzIGhhdCBCbGl6emFyZCB6dWdsZWljaCBhdWNoIGdlbmRlcnRlIFp1Z2FuZ3NiZWRpbmd1bmdlbiBmciBkYXMKa29zdGVubG9zIG51dHpiYXJlIEJhdHRsZS5uZXQgZWluZ2VmaHJ0LCB3ZWxjaGUgZGllIE51dHplciBwZXIgTWF1c2tsaWNrCmFremVwdGllcmVuIG1zc2VuICBzb2Zlcm4gc2llIG5pY2h0IGRyYXVlbiBibGVpYmVuIHdvbGxlbi4gRGFyaW4gbHNzdApkZXIgU3BpZWxlaGVyc3RlbGxlciBzaWNoIHNlaHIgd2VpdCBnZWhlbmRlIFJlY2h0ZSB6dWJpbGxpZ2VuLCB3YXMgZGFzCkF1c3NwaGVuIHZvbiBTeXN0ZW1kYXRlbiBkZXIgVGVpbG5laG1lciBiZWltIFNwaWVsZW4gaW0gQmF0dGxlLm5ldApiZXRyaWZmdC4gU28gaGVpdCBlcyBldHdhIGluIFB1bmt0IDkuSUlJIGRlciBuZXVlbiBCZW51dHplcnJlZ2VsbjoKIkJsaXp6YXJkIGhhdCBkYXMgUmVjaHQsIGJlc3RpbW10ZSBJZGVudGlmaXppZXJ1bmdzaW5mb3JtYXRpb25lbiBiZXpnbGljaApJaHJlciBDb21wdXRlci1IYXJkd2FyZSB1bmQgSWhyZXMgQmV0cmllYnNzeXN0ZW1zLCBlaW5zY2hsaWVsaWNoIGRlcgpJZGVudGlmaWthdGlvbnNudW1tZXJuIElocmVyIEZlc3RwbGF0dGVuLCBDUFUsIElQLUFkcmVzc2VuIHVuZApCZXRyaWVic3N5c3RlbXMgenUgSWRlbnRpZml6aWVydW5nc3p3ZWNrZW4genUgZXJoYWx0ZW4sIG9obmUgZGFzcyBTaWUKZGFyYmVyIGVpZ2VucyBpbmZvcm1pZXJ0IHdlcmRlbi4iIERhcmJlciBoaW5hdXMgYmVhbnNwcnVjaHQgbWFuIGF1Y2ggZGFzClJlY2h0LCAibmljaHQtcGVyc25saWNoZSBEYXRlbiIgYXVzIGRlciBCcm93c2Vyc29mdHdhcmUgZGVyIFRlaWxuZWhtZXIKYXVzenVsZXNlbiwgdW0gImJlc3RpbW10ZSBkZW1vZ3JhcGhpc2NoZSBFcmhlYnVuZ2VuIiBkdXJjaHp1ZmhyZW4gCmViZW5mYWxscyBvaG5lIGF1c2RyY2tsaWNoZSBJbmZvcm1hdGlvbiBkZXIgQmV0cmVmZmVuZGVuLiBCZW9iYWNodGVyCmJlendlaWZlbG4sIGRhc3Mgc29sY2hlcmxlaSBuYWNoIGRlbSBkZXV0c2NoZW4gRGF0ZW5zY2h1dHpyZWNodCBiZXJoYXVwdAp6dWxzc2lnIHdyZS4KCkZyIFVucnVoZSBpbiBkZXIgU3BpZWxlcnNjaGFmdCBzb3JndCBkYXJiZXIgaGluYXVzIGVpbmUgd2VpdGVyZSBQYXNzYWdlCmRlciBuZXVlbiBCZW51dHplcnJlZ2VsbiwgZGllIG5hY2ggQW5zaWNodCBldGxpY2hlciBuYWhlbGVndCwgZGFzcyBkZXIKZWlnZW50bGljaGUgWndlY2sgZGVzIHBvc3R1bGllcnRlbiAiU2NobmZmZWxyZWNodHMiIG1pdCBkZXIgYmVhYnNpY2h0aWd0ZW4KVmVyZm9sZ3VuZyB2b24gQ29weXJpZ2h0LVZlcmxldHp1bmdlbiB6dSB0dW4gaGF0LiBJbiBQdW5rdCA4IGhlaXQgZXM6ICJFcwpnZWhydCB6dXIgUG9saXRpayB2b24gQmxpenphcmQsIGJlaSBzdHJhZnJlY2h0bGljaGVuIE5hY2hmb3JzY2h1bmdlbiBtaXQKZGVuIGRhbWl0IGJlZmFzc3RlbiBJbnN0aXR1dGlvbmVuIGluIHZvbGxlbSBVbWZhbmcgenUga29vcGVyaWVyZW4sIHdvenUKZ2VocnQuLi4sIEJlbnV0emVyLUludGVybmV0LVByb3Rva29sbC1BZHJlc3NlbiAoSVApIHVuZCBkYW1pdCB2ZXJidW5kZW5lCnBlcnNubGljaGUgSW5mb3JtYXRpb25lbiB6dSB2ZXJmb2xnZW4gc293aWUgYWxsZSB6dXIgVmVyZmd1bmcgc3RlaGVuZGVuCkJlbnV0emVyLUluZm9ybWF0aW9uZW4gYmVyZWl0enVzdGVsbGVuLi4uIgoKWnVyIElkZW50aWZpa2F0aW9uIGRlciBTcGllbGVyIHZvbiBTZWl0ZW4gZGVzIFNlcnZlcnMgaXN0IGRhcyBBdXNsZXNlbgppcmdlbmR3ZWxjaGVyIFN5c3RlbWRhdGVuIGplZGVuZmFsbHMgbmljaHQgbm90d2VuZGlnICBkaWVzZSBnZXNjaGllaHQgYmVyCmRpZSBWZXJiaW5kdW5nIGRlcyBTcGllbGVybmFtZW5zIG1pdCBlaW5lciBtZWhyc3RlbGxpZ2VuIFNlcmllbm51bW1lciwgZGllCm1hbiBiZWltIEthdWYgZGVzIFNwaWVscyBlcmhsdCB1bmQgYmVpIGRlciBJbnN0YWxsYXRpb24gYW5naWJ0LgoKRGFzIGltIHZlcmdhbmdlbmVuIEphaHIgZXJzY2hpZW5lbmUgRGlhYmxvIElJIGJlemllaHQgdmllbGVuIEt1ZmVybgp6dWZvbGdlIGVpbmVuIGdyb2VuIFRlaWwgc2VpbmVyIFBvcHVsYXJpdHQgYXVzIGRlciBNZ2xpY2hrZWl0LCBiZXIKQmF0dGxlLm5ldCBrb3N0ZW5sb3MgbWl0IGFuZGVyZW4gVGVpbG5laG1lcm4gaW5zIGdlbWVpbnNhbWUgQWJlbnRldWVyCmVpbnN0ZWlnZW4genUga25uZW4uIERpZXMgZXJzY2hlaW50IGF1Y2ggYWxzIFdlcmJlYXJndW1lbnQgYmVyZWl0cyBhdWYgZGVyClZlcnBhY2t1bmcgZGVzIFNwaWVscy4KCmJlciBCYXR0bGUubmV0IGxhdWZlbiBNdWx0aXBsYXllci1TZXNzaW9ucyBkZXIgQmxpenphcmQtU3BpZWxlIERpYWJsbywKRGlhYmxvIElJLCBXYXJjcmFmdCBJSSB1bmQgU3RhcmNyYWZ0LiBEaWFibG8tSUktRmFucywgdm9uIGRlbmVuIHZpZWxlIGluCmpuZ3N0ZXIgVmVyZ2FuZ2VuaGVpdCBiZXIgSW5zdGFiaWxpdHQgZGVzIFNlcnZlcmJldHJpZWJzIG1pdAphdXNnZXByZ3RlbiBWZXJ6Z2VydW5nZW4gKCJsYWdzIikgZ2VrbGFndCBoYWJlbiwga3JpdGlzaWVyZW4gbnVuLCBkYXNzCkJsaXp6YXJkIHp3YXIgb2ZmZW5iYXIgbmljaHQgaW4gZGVyIExhZ2UgZ2V3ZXNlbiBpc3QsIGRpZSB0ZWNobmlzY2hlbgpQcm9ibGVtZSBhdXN6dXJ1bWVuLCBzdGF0dGRlc3NlbiBhYmVyIHNlaW5lIEVuZXJnaWVuIGRhcmF1ZiB2ZXJ3ZW5kZXQgaGF0LAptaXQgZGVtIG5ldWVuIFBhdGNoIHNhbXQgZGF6dWdlaHJpZ2VyIG5ldWVyIE51dHplcmJlZGluZ3VuZ2VuIGZyCkJhdHRsZS5uZXQgZWluZSBBcnQgTGF1c2NoYW5ncmlmZiBhdWYgZGllIFNwaWVsZXIgenUgdW50ZXJuZWhtZW4uCihwc3pbNV0vYyd0KQoKVVJMIGRpZXNlcyBBcnRpa2VsczoKIGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3Bzei0yNS4wNC4wMS0wMDAvCgpMaW5rcyBpbiBkaWVzZW0gQXJ0aWtlbDoKIFsxXSBodHRwOi8vd3d3LmQybmV0d29yay5kZS8KIFsyXSBodHRwOi8vd3d3LmJsaXp6YXJkLmNvbQogWzNdIGh0dHA6Ly93d3cuYmF0dGxlLm5ldAogWzRdIGh0dHA6Ly93d3cuYmxpenphcmQuY29tL3N1cHBvcnQvaW5mb3JtYXRpb24vZDJwYXRjaC5zaHRtbAogWzVdIG1haWx0bzpwc3pAY3QuaGVpc2UuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkNvcHlyaWdodCAyMDAxIGJ5IFZlcmxhZyBIZWlueiBIZWlzZQoKCgoKCgpEYXMgQ29weXJpZ2h0IG11c3MgbGVpZGVyIG1pdCBkYXp1LiA7KQoKCkdydXNzIEdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWVzIHp1bSBUaGVtYSBCYXR0bGUtTmV0IChOb25uZSwgMjUuIEFwciAyMDAxLCAxNTo0Mjo1MCk6Cn4jISBybj1Hb3IgcnQ9OTg4MjA1OTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4MjA1OTU5CldpZXNvIHNjaHJlaWJzdCBEdSBuaWNodCBkYXMgVGhlbWEgdW5kIGRpZSBVUkwsIHd1ZXJkZSBkYXMgbmljaHQgcmVpY2hlbj8KRnJ1ZWhlciBoYWV0dGUgbWFuIERpY2ggZnVlciBCYW5kYnJlaXRlbnZlcnNjaHdlbmR1bmcgZ2VzdGVpbmlndCAoYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlcyB6dW0gVGhlbWEgQmF0dGxlLU5ldCAoR29yLCAyNS4gQXByIDIwMDEsIDE1OjQzOjQ4KToKfiMhIHJuPU5vbm5lIHJ0PTk4ODIwNjE3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODIwNTk1OQpCZWkgZGVuIHNpbm52b2xsZW4gVGhyZWFkcyBkZXIgbGV0enRlbiBaZWl0IGlzdCBkYXMgbnVyIGVpbiBUcm9wZmVuIGF1ZiBkZW4KaGVpc3NlbiBTdGVpbi4KLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWVzIHp1bSBUaGVtYSBCYXR0bGUtTmV0IChHb3IsIDI1LiBBcHIgMjAwMSwgMTU6NDk6MjkpOgp+IyEgcm49R29yIHJ0PTk4ODIwNjIyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODIwNTk1OQpEaWUgQWt0aW9uIGdlaHQgamEgbm9jaCB3ZWl0ZXIuIEJldHJvZmZlbmUgU29mdHdhcmUgaXN0IGF1Y2ggZGFzIG5ldWUgV2luZG93cwpYUCB1bmQgZGFzIG5ldWUgT2ZmaWNlLiBGdWVyIGRpZXNlIHVtc3RyaXR0ZW5lbiBEYXRlbnNhbW1lbGFrdGlvbmVuIGdpYnQgZXMKdm9tIExHIE11ZW5jaGVuIGJlcmVpdHMgZWluIFVydGVpbC4gV2VuIGVzIGludGVyZXNzaWVydCwgaGllciBkaWUgVVJMLgoKaHR0cDovL3d3dy5uZXRsYXcuZGUvdXJ0ZWlsZS9sZ21fMTguaHRtCgpHb3IsIE5vbm5lIGFuZ3JpbnNlbmQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhvcHBsYS4gbmFtZSB2ZXJ3ZWNoc2VsdCAocy5vLikgKENodWNreWxlaW4sIDI1LiBBcHIgMjAwMSwgMTg6MDY6MTQpOgp+IyEgcm49UGFyZGF1eiBydD05ODgwNjU0MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODgwNjQwOTUKSWNoIGthbm4gaWhuIGphIG1hbCBmcmFnZW4gb2IgZXIgd2llZGVyIGtvbW10LiA6KQoKQ2h1Y2t5bGVpbiwgc2ljaCBzY2huZWxsIHZlcnN0ZWNrZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaG9wcGxhLiBuYW1lIHZlcndlY2hzZWx0IChzLm8uKSAoQ2h1Y2t5bGVpbiwgMjUuIEFwciAyMDAxLCAxOToyNDoyMSk6Cn4jISBybj1DaHVja3lsZWluIHJ0PTk4ODIxNDc3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODA2NDA5NQpNaGggbmF0dWVybGljaCBrb2VubnRlIGljaCBpaG0gYXVjaCBzYWdlbiBkYXMgaWhyIGluIGFsbGUgZ2FueiBkb2xsZSB2ZXJtaXNzdC4KRGFubiB3aXJkIGVyIHNpY2hlciB3aWVkZXIga29tbWVuLiBOYSB3YXMgaGFsdGV0IGlociBkYXZvbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtsYXJzdGVsbHVuZyAoQmllcnRlc3QsICAxLiBNYWkgMjAwMSwgMDM6MzQ6MzgpOgpIaWhvLAp1bSBkYXMgaGllciBtYWwga2xhcnp1c3RlbGxlbjogdm9yIG9kZXIgbmFjaCBtZWluZW0gZXJ6d3VuZ2VuZW4gYWJnYW5nCmhhYmUgaWNoIGtlaW5lIHVuZXJsYXVidGVuIGFlbmRlcnVuZ2VuIGFuIGRlciBjaGFvc2dpbGRlIHZvcmdlbm9tbWVuLgpidWdzLCBkaWUgZGFuYWNoIGF1ZmdldHJldGVuIHNpbmQsIHNpbmQgcmVpbmVyIHp1ZmFsbCBvZGVyIGJlZGluZ3QgZHVyY2gKZGllIHVuZmFlaGlna2VpdCBlaW5pZ2VyIG1hZ3MuIGh1aHUsIGFtYXJ5bGxpcy4uCmljaCBoYWJlIGtlaW5lIGZpbGVzIHZvbiBhbmRlcmVuIGxldXRlbiBnZWxvZXNjaHQgbm9jaCBiaW4gaWNoCnZlcmFudHdvcnRsaWNoIGZ1ZXIgaXJnZW5kd2VsY2hlIGFic3R1ZXJ6ZSBkZXMgTUdzLgpzbywgdW5kIGZhbGxzIGpldHp0IGplbWFuZCBmZXN0c3RlbGx0LCBkYXNzIGVyIHBsb2V0emxpY2ggc2Nod3VsIGlzdCBvZGVyCnNlaW5lIGthdHplIHVuZXJ3YXJ0ZXQgYW5mYWVuZ3QsIHdpZSBibG9lZCB6dSBuaWVzc2VuLi4uIGRhbWl0IGhhYmUgaWNoIGF1Y2gKbml4IHp1IHR1bi4KZGllc2UgZ2VydWVjaHRla3VlY2hlIGdlaHQgbWlyIGxhbmdzYW0gYWJlciBzaWNoZXIgYXVmIGRlbiBnZWlzdCwgYXVjaCB3ZW5uCmljaCBuaWNodG1laHIgaW0gbWcgdmVydHJldGVuIGJpbi4gYWJlciBtaXQgJ2Fid2VzZW5kZW4nIGthbm4gbWFucyBqYQptYWNoZW4uLgpncnVzcywgLSBCaWVyY2hlbiAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2xhcnN0ZWxsdW5nIChQYXRyeW4sICAxLiBNYWkgMjAwMSwgMDM6Mzk6MjApOgp+IyEgcm49QmllcnRlc3QgcnQ9OTg4NjgwODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4NjgwODc4CmFsc28gZGFzIGlzdCBlY2h0IHVuZXJob2VydCwgd2llc28gYmVrb21tZSBpY2ggdm9uIHNvbGNoZW4gZ2VydWVjaHRlbgpuaWNodHMgbWVociBtaXQ/IGljaCBmb3JkZXJlIGhpZXJtaXQsIG1pY2ggd2llZGVyIGFuIGRlciBnZXJ1ZWNodGVrdWVjaGUKenUgYmV0ZWlsaWdlbiA6KQoKLS0tLS0tCnBhdHJ5biwgc2NyZWVuIHRmIEMtZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtsYXJzdGVsbHVuZyAoR2xvaW5zb24sICAxLiBNYWkgMjAwMSwgMDQ6MzQ6MDApOgp+IyEgcm49QmllcnRlc3QgcnQ9OTg4NjgwODc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4NjgwODc4CkFsc28gd2lya2xpY2ghIEljaCBtdXNzIGViZW5mYWxscyBzYWdlbiwgZGFzcyBpY2ggdm9uIGRpZXNlbiBHZXJ1ZWNodGVuIG5pY2h0cwptaXRiZWtvbW1lbiBoYWJlIGlzdCBlaW5lIFJpZXNlbnNjaHdlaW5lcmVpIQpBbGxlaW4gc2Nob24gZGFzcyBpY2ggbmljaHQgYmVoYXVwdGVuIGR1cmZ0ZSBtaXQgZGFyYW4gYmV0ZWlsaWd0IGdld2VzZW4genUKc2VpbiBEZWluZW4gQWJnYW5nIHp1IGVyendpbmdlbiBsYWVzc3QgbWljaCBoaWVyICptb21lbnQqIHNjaGx1Y2h6ZW5kIHVuZApqYW1tZXJuZCBtaXQgZGVuIEZhZXVzdGVuIGF1ZiBkZW4gVGVwcGljaCBoYWVtbWVybiwgdm9uIGRlbiBqZXR6aWdlbgpHZXJ1ZWNodGVuIG1hbCB2b2VsbGlnIGFiZ2VzZWhlbi4KSWNoIGhnbGF1YmUgaWNoIHdlcmRlIGF1cyBsYXV0ZXIgRnJ1c3QgbWVpbiBHZXNlbGxlbnN0dWVjayBhbGxlbmZhbGxzIEVuZGUgZGVzCkphaHJlcyBmZXJ0aWdzdGVsbGVuIHVuZCBlcyBzb2xhbmdlIGF1ZiBBbWFyeWxsaXMgc2NoaWViZW4hIFNvLiBOdW4gaGFidCBpaHIKZXMgYWJlciBkaWNrZSEKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGFyc3RlbGx1bmcgKEdvciwgIDEuIE1haSAyMDAxLCAxMzowMDoyMCk6Cn4jISBybj1CaWVydGVzdCBydD05ODg2ODA4Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg2ODA4NzgKRGFzIGR1IEFtYXJ5bGxpcyBpbiBCZXp1ZyBhdWYgZGllIENoYW9zZ2lsZGUgYW5zcHJpY2hzdCwgemVpZ3QgZGVpbmUKVW5mYWVoaWdrZWl0IG1hbCB3aWVkZXIgc2VociBkZXV0bGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2xhcnN0ZWxsdW5nIChSYW5pLCAgMS4gTWFpIDIwMDEsIDEzOjEwOjU0KToKfiMhIHJuPUdvciBydD05ODg3MTQ4MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg2ODA4NzgKZGFzIGJlem9nIHNpY2ggYXVmIGRhcyBhYmhhZW5nZW4gZGVzIHp3ZXJnZW5hbmdyaWZmcyBkaXJla3QgbmFjaApCaWVyY2hlbnMgbG9lc2NodW5nLiBtaXQgZGVyIGJlZ3J1ZW5kdW5nLCBCaWVyY2hlbiBoYWV0dGUgd2FzCmdlYWVuZGVydC4gaGF0IGVyIGFiZXIgbmljaHQuCndlbm4sIGRhbm4ga2FubiBtYW4gZGFzIEplbmFuZHJhIGluIGRpZSBzY2h1aGUgc2NoaWViZW4sIHdlaWwKendlcmdlbmFuZ3JpZmYgbmFjaCBpaHJlciBhZW5kZXJ1bmcgZ2VidWdndCBoYXQuIHdhcyBhbGxlcmRpbmdzCmF1Y2ggbmljaHQgYmVhYnNpY2h0aWd0IHdhci4gYWJlciB3YXMgcmVkIGljaCwgbWFuY2hlIHdpc3NlbgplYmVuIGFsbGVzIGJlc3Nlci4KCi0gUmFuaSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrbGFyc3RlbGx1bmcgKEFtYXJ5bGxpcywgIDEuIE1haSAyMDAxLCAxMzoyMzoxNik6Cn4jISBybj1SYW5pIHJ0PTk4ODcxNTQ1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODY4MDg3OApJY2ggaGFiZSB1ZWJyaWdlbnMgZGFzIEdhbnplIHNjaG9uIHZvciBVcnplaXRlbiBkaXJla3QgbWl0IEplbmFuZHJhIGdla2xhZXJ0LAppbnNvZmVybiBpc3QgZXMgdW5ub2V0aWcsIGRhc3MgZGllc2UgSW50ZXJuYXMgamV0enQgbm9jaG1hbCBpbiBkZXIgTVBBCmF1c2dlYnJlaXRldCB3ZXJkZW4uCgpEYXNzIGRpZSBDaGFvc3p3ZXJnZSBudW4gZHVyY2ggZGllc2UgZmVpZ2VuIEVpc2tyaWVnZXIsIGRpZSBzaWNoIHN0YWVuZGlnIGltCkVpc3NjaHJhbmsgdmVya3JpZWNoZW4gbXVlc3NlbiAoZ3JpbnMgVGlsbHkpIGVyc2V0enQgd3VyZGVuLCBsaWVndCBlaW5mYWNoCmRhcmFuLCBkYXNzIGVzIG5pY2h0IG1vZWdsaWNoIHdhciwgZGVtIENoYW9zLVNwZWxsYm9vayBlaW5lIHNpbXBsZSBpZi1BYmZyYWdlCmhpbnp1enVmdWVnZW4gLSB1bmQgZGEgaWNoIGphLCB3aWUgQmllcmNoZW4gc28gdHJlZmZlbmQgYmVtZXJrdGUsIHVuZmFlaGlnCmJpbiwgaGFiZSBpY2ggZXMgYXVmIGFuZGVyZW0gV2VnZSBuaWNodCBoaW5nZWtyaWVndCwgd2FzIHp1IGRlbiBiZWthbm50ZW4gQnVncwpmdWVocnRlLgoKQWJlciBpbW1lciB3aWVkZXIgc2Nob2VuLCB3aWUgaGllciBpbiBzY2hvZW5lciBSZWdlbG1hZXNzaWdrZWl0IG1hc3NlbmhhZnQKaGVpc3NlIEx1ZnQgcHJvZHV6aWVydCB1bmQgb2xsZSBLYW1lbGxlbiBhdWZnZXdhZXJtdCB3ZXJkZW4gbXVlc3NlbiAtIG1hbmNoZQpzY2hlaW5lbiBkYXMgenUgYnJhdWNoZW4uCgonbnVmZiBzYWlkLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga2xhcnN0ZWxsdW5nIChHcmltbWFuLCAgMS4gTWFpIDIwMDEsIDE5OjA0OjQxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD05ODg3MTYxOTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg2ODA4NzgKVW5kIG1laW5lIEthdHplIG5pZXN0IG5pY2h0LCBpc3QgQmllcmNoYW4gYXVjaCBkYXJhbiBzY2h1bGQ/IAoKR3JpbU1hbiAtIEdlcnVlY2h0ZSBhdWZicmluZ2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtsYXJzdGVsbHVuZyAoQXJrLCAgMi4gTWFpIDIwMDEsIDEzOjUxOjIxKToKfiMhIHJuPUJpZXJ0ZXN0IHJ0PTk4ODY4MDg3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODY4MDg3OApHZWdlbiBHZXJ1ZWNodGUgc29sbHRlIG1hbiBhYmVyIG1hbCBzbyBsYW5nc2FtIGltbXVuIGdlZ2VudWViZXIgc2Vpbi4KRGF1ZXJuZGVzIE1lY2tlcm4sIFdlaW5lbiBvZGVyIFRyb3R6a29wZnNwaWVsZW4gbGVpc3RldCBuZXVlbiBHZXJ1ZWNodGVuIGVoCm51ciBWb3JzY2h1Yi4gR2VyYWRlIHdlbm4gbWFuIHNvd2llc28gYXVzIGdlbmFubnRlbiBHcnVlbmRlbiBuaWNodCBtZWhyCndpZGVyc3ByZWNoZW4ga2Fubi4gV2FydW0gYWxzbyBsZWdlbiB3aXIgZGFzIEdhbnplIG5pY2h0IGVuZGxpY2ggYWQgYWN0YT8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGtsYXJzdGVsbHVuZyAoR2xvaW5zb24sICAyLiBNYWkgMjAwMSwgMTQ6NTk6MTIpOgp+IyEgcm49QXJrIHJ0PTk4ODgwNDI4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODY4MDg3OApJaWllaC4gQWQgYWN0YSBpc3QgZGFzIGJsYXVlIFNjaG11dHpibGF0dCBkZXIgRHJlc2RuZXIgU3R1ZGVudGVuemVpdHVuZyBBZApSZW0uIE5lZWUsIGRhcmluIGxlZyBpY2ggd2lya2xpY2ggbmljaHRzIQoKR2xvaW4oc29uKQoKUFM6IHd3dy5hZC1yZW0uZGUgKD8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrbGFyc3RlbGx1bmcgKFd1cnplbCwgIDIuIE1haSAyMDAxLCAxNTozNzoxNik6Cn4jISBybj1HbG9pbnNvbiBydD05ODg4MDgzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg2ODA4NzgKYXVzc2VyZGVtOiBlcyBnaWJ0IHdlbmlnIGF1ZiBkZXIgd2VsdCwgd2FzIHNvdmllbCBzcGFzcyBtYWNodCBhbHMgaW4gYWx0ZW4Kd3VuZGVuIHp1IGdyYWJlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga2xhcnN0ZWxsdW5nIChEZWVwYmx1ZSwgIDIuIE1haSAyMDAxLCAxNTozODoyNyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTg4ODEwNjM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4NjgwODc4CkFjaCBVbmZ1ZyEKRGFzIGlzdCBkb2NoIG51ciBMb2JieWFyYmVpdCBkZXIgcG9wY29ybi1JbmR1c3RyaWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZmFlbmdlciAoQXJrLCAgMi4gTWFpIDIwMDEsIDE3OjE1OjE5KToKSGksIGRhIGljaCBpbW1lciB3aWVkZXIgbHVzdGlnZSBSZXBseS1NYWlscyBhdWYgUXVlc3RzIGJla29tbWUsIGluIGRlbmVuIGRlcgplaWdlbnRsaWNoZSBJbmhhbHQgKG9lZnRlciBhdWNoIG1hbCBtZWhyIGFscyBlaW4gcGFhciBaZWlsZW4pIHNjaG9uIGltIFN1YmplY3QKc3RlaHQsIHdhZXJlIGVzIG5ldHQsIEFuZmFlbmdlciBtYWwgYXVjaCBkdXJjaCBkZW4gTW9yZ2VuR3JhdWVuIE1haWxlciB6dQpmdWVocmVuLCBkLmguIEJlbnV0enV1bmcgZGVzIFBvc3RhbXRzIG9kZXIgUmVwbHkgYXVmIFF1ZXN0bWFpbHMgZXJrbGFlcmVuLgpTdXBlciwgZGFua2UgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZmFlbmdlciAoR3JpbW1hbiwgIDIuIE1haSAyMDAxLCAxNzoxNjoyMSk6Cn4jISBybj1BcmsgcnQ9OTg4ODE2NTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4ODE2NTE5CmhtbW0gLi4uIGthbm5zdCBqYSBtYWwgbiBwYWFyIG5ldHRlIFplaWVsbiB6dSBkaWVzZW0gVGhlbWEgdmVyZmFzc2VuLCBBcmsgOikKCkdyaW1NYW4gLSBkZWxlZ2llcnQgd2VpdGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFuZmFlbmdlciAoQXJrLCAgMi4gTWFpIDIwMDEsIDE3OjE4OjI4KToKfiMhIHJuPUdyaW1tYW4gcnQ9OTg4ODE2NTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4ODE2NTE5CldhciBkYXMgZWJlbiBuaWNodCBuZXR0IGdlbnVnPyBXb2xsdCBpaHIgRmFsbGVuLCBGbHVlY2hlLCBLcmFua2hlaXRlbj8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbmZhZW5nZXIgKEFuYWNyaW9uLCAgMi4gTWFpIDIwMDEsIDE3OjE4OjU2KToKfiMhIHJuPUFyayBydD05ODg4MTY3MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKU29sYW5nZSBlcyBrZWluZSBSZWltZSBhdWYgLVQgc2luZCAuLi4uCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mYWVuZ2VyIChXdXJ6ZWwsICAyLiBNYWkgMjAwMSwgMTc6MTk6MjIpOgp+IyEgcm49QXJrIHJ0PTk4ODgxNjcwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODgxNjUxOQphYmVyIGphIGRvY2guIHNpZSBiZXR0ZWxuIGphIGZvZXJtbGljaCBkYXJ1bS4gaGF1IGluIGRpZSB0YXN0ZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mYWVuZ2VyIChHcmltbWFuLCAgMi4gTWFpIDIwMDEsIDE3OjE5OjI2KToKfiMhIHJuPUFyayBydD05ODg4MTY3MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKSWNoIGRhY2h0ZSBkYSBtZWhyIGFuIHNvIG5lIEFydCAuLi4gbmFqYSAuLi4gSGlsZmUgUG9zdCAuLi4gb2RlciBzb3dhcyBlYmVuIDopCgpHcmltTWFuIC0gdmVyc3VjaHRzIGltbWVyIHdpZWRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZmFlbmdlciAoRWxiZXJldCwgIDIuIE1haSAyMDAxLCAxNzoxOTozNik6Cn4jISBybj1BbmFjcmlvbiBydD05ODg4MTY3MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKbmVlLCBtZWhyIFF1ZXN0cyB3aWUgZGFzIEF1Z2UgZGVzIFRldWZlbHMgOikKCkVsYmkgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZmFlbmdlciAoQW5hY3Jpb24sICAyLiBNYWkgMjAwMSwgMTc6MjA6MzApOgp+IyEgcm49R3JpbW1hbiBydD05ODg4MTY3NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKTkEgamEgLi4gc28gdmVyc3VjaGUgLi4uCgpTb2xsZW4gd2lyIGdsZWljaCBuYWNoIG1lZ2FzY2htYXJybiB2ZXJsZWdlbiBvZGVyIGVyc3Qgbm9jaCBlaW4gcGFhciByZXBseXMKcG9zdGVuID8gOy0pCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW5mYWVuZ2VyIChBcmssICAyLiBNYWkgMjAwMSwgMTc6MjY6MDYpOgp+IyEgcm49V3VyemVsIHJ0PTk4ODgxNjc2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4ODgxNjUxOQpJY2ggd2FzY2hlIG1laW5lIEhhZW5kZSBpbiBVbnNjaHVsZCAuLi4gaW4gcm90ZXIgVW5zY2h1bGQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQW5mYWVuZ2VyIChNb250YW51cywgIDIuIE1haSAyMDAxLCAyMDowNDozNSk6Cn4jISBybj1BcmsgcnQ9OTg4ODE3MTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4ODE2NTE5CnJvdGUgVW5zY2h1bGQ/CkRhcyBaZXVjaCBoZWlzc3QgQmx1dCwgbGllYnN0ZXIgQVJLLgoKVW5kIGhpbnRlcmhlciBzaW5kIHNpZSBuaWNodCB1bmJlZGluZ3Qgc2F1YmVyZXIuLi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbmZhZW5nZXIgKFNvbG15ciwgIDIuIE1haSAyMDAxLCAyMDo1ODo1Nyk6Cn4jISBybj1Nb250YW51cyBydD05ODg4MjY2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKREFTIGlzdCBBbnNpY2h0c3NhY2hlIDopCgpTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBbmZhZW5nZXIgKE1vbnRhbnVzLCAgMi4gTWFpIDIwMDEsIDIxOjAxOjM5KToKfiMhIHJuPVNvbG15ciBydD05ODg4Mjk5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKVW5kIHdhcyBnaWJ0IGVzIGhpZXIgamV0enQgZnVlciBkYXMgUmVeMTAwPyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFuZmFlbmdlciAoR29yLCAgMi4gTWFpIDIwMDEsIDIyOjE3OjEyKToKfiMhIHJuPUFyayBydD05ODg4MTY3MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODg4MTY1MTkKUmVpbWUhIERVIGhhc3QgZGllIFJlaW1lIHZlcmdlc3NlbiwgQXJrISA7KSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQW5mYWVuZ2VyIChBcmssICAzLiBNYWkgMjAwMSwgMTA6NDI6NDcpOgp+IyEgcm49TW9udGFudXMgcnQ9OTg4ODI2Njc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg4ODE2NTE5CklDSCB3b2xsdGUgamEgbnVyIHZvcm5laG0gYW5kZXV0ZW4sIERVIG11c3N0IGphIGFsbGVzIGJydXRhbCBkaXJla3QKYW5zcHJlY2hlbiwgdHN0cy4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbiBlaWdlbmVyIHNhY2hlIChNYW5pYWMsICAzLiBNYWkgMjAwMSwgMjE6MDE6MDIpOgpoZXkgbGV1dGUsCgpzbyBqZXR6dCBtdXNzIGljaCBtYWwgd2VyYnVuZyBmdWVyIGF1c3Nlcm1vcmdlbmdyYXVlbmlzY2hlIGFuZ2VsZWdlbmhlaXRlbgptYWNoZW4gKHZvciBhbGxlbSBmdWVyIGthcmxzcnVoZXIgaW50ZXJlc3NhbnQpCmFtIHdvY2hlbmVuZGUgdm9tIDE4LiBiaXMgenVtIDIwLiBtYWkgZmluZGV0IGlobiBicmV0dGVuIChzbyBlaW5lIGtsZWluZQpzdGFkdCwgc28gY2lyY2EgMS8yIHN0dW5kZSB2b24ga2EgZW50ZmVybnQgKG5pY2h0IHp1IGZ1c3MsIG1pdCBkZW0gYXV0bykpIGVpbmUKbmV0dGUga2xlaW5lIGxhbi1wYXJ0eSBzdGF0dC4gYXVjaCB3ZW5uIGRpZSBtZWlzdGVuIHZvbiBldWNoIHNpY2hlciAidmllbCB6dQphbHQiIGZ1ZXIgc29sY2hlbiBraW5kZXJrcmFtIHNpbmQgd2FlcmUgZXMgdm9sbCBjb29sLCB3ZW5uIGVpbiBwYWFyIHNpY2gKYXVmcmFmZmVuIHd1ZXJkZW4gdW5kIGtvbW1lbiB3dWVyZGVuLiBpY2gga29tbWUgYXVjaCAoaWhyIGtvZW5udCBhdWNoIGphIHdlaXQKd2VnIHNldHplbiA7KSkuIHNjaGF1dCBlaW5mYWNoIG1hbCBhdWYgbGFuLW9obmUtbmFtZW4uZGUudnUKbWFuIHNpZWh0IHNpY2ggZGFubiBob2ZmZW50bGljaCA7KQoKbWFuaWFjIChhdWYgZGVyIGxhbiBoZWlzcyBpY2ggLT1LREU9LVRhbm5lbnphZXBmbGUgOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChTa3ksICA5LiBNYWkgMjAwMSwgMjI6MTA6NTcpOgp+IyEgcm49UmlrdXMgcnQ9OTg5NDE1NjE4IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD05ODk0MTU2MTgKCkhpLAoKJ0tsZWluZSBBZW5kZXJ1bmcnIGlzdCBqYSBlaW4gd2lya2xpY2ggbmllZGxpY2hlciBBdXNkcnVlY2sgZGFmdWVyIDopCkljaCBtdXNzIGFiZXIgenVnZWJlbiwgZGFzcyBmdWVyIG1pY2ggZGVyIGVpZ2VudGxpY2hlIEdydW5kIGRlciAKV2VydGlna2VpdHNhZW5kZXJ1bmcgZGVyIEVwcyAoYXVzIERlaW5lbSBBcnRpa2VsKSBuaWNodCBnYW56IGVyc2ljaHRsaWNoIAp3YXIuCgpGdWVyIG1pY2gga2FtIGVzIHNvIHJ1ZWJlciwgYWxzIHdhZXJlIGRpZSBBZW5kZXJ1bmcgbnVyIGRlc2hhbGIsIGRhc3MgZXMKaW4gbmllZHJpZ2VyZW4gU3BpZWxlcnN0dWZlbiBrZWluZSBTcHJ1ZW5nZSBtZWhyIGdpYnQuIFdlbm4gaWNoIGRhcyBmYWxzY2ggCnZlcnN0YW5kZW4gaGFiZSBiaXR0ZSBpY2ggdW0gQXVma2xhZXJ1bmcuCgonc2lubmxvc2VzIE1ldHplbG4nPyBtdWgtbXVoLW11aGFoYWhhaGEsIHNvcnJ5IGFiZXIgZGEgbXVzcyBpY2ggZWluZmFjaCAKbGFjaGVuLiBFaW5lcnNlaXRzIHNjaG9ubWFsIG5ldHQsIGRhc3MgaGllciBmdWVyIGVpbmVuIGRlZmluaWVydCB3aXJkLCB3YXMgCnNpbm52b2xsIGlzdCB1bmQgd2FzIG5pY2h0LCBhbmRlcmVyc2VpdHMsIHdhcyBibGVpYnQgZWluZW0gU3BpZWxlciBkZW4gc29uc3QsCndlbm4gZXIgYWxsZSBRdWVzdHMgZ2Vsb2VzdCBoYXQgdW5kIHdlbmlnIEJvY2sgYXVmIGZvcnNjaGVuIGhhdD8gWnVtYWwgZGllIApHaWxkZW4gKG1laW5lciBNZWludW5nIG5hY2gpIGF1c3NjaGxpZXNzbGljaCBhbGxlIGF1ZiAnc2lubmxvc2VzJyBNZXR6ZWwgCmF1c2dlbGVndCBzaW5kLiBPayBhYmdlc2VoZW4gdm9uIGRlbiBhcm1lbiBaYXViaXMsIGRpZSBhdXNzZXIgRnV0dGVyIGF1Y2ggCktvbXBvcyBrYXVmZW4gbXVlc3Nlbi4KCkljaCBrYW5uIGpldHp0IGF1Y2ggZ3V0IGRpZSBMZXV0ZSB2ZXJzdGVoZW4sIGRpZSBkYW1hbHMgZHVyY2ggZGllIEVpbmZ1ZWhydW5nCmRlciBGb3JzY2hlcnB1bmt0ZSBkaWUgTHVzdCB2ZXJsb3JlbiBoYWJlbiB1ZWJlcmhhdXB0IG5vY2ggaXJnZW5kd2FzIHp1Cm1hY2hlbi4KQWVobmxpY2ggaXN0IGVzIHdvaGwgbW9tZW50YW4gYXVjaCwgenVtaW5kZXN0IGJlaSBkZW5lbiwgZGllIGljaCBrZW5uIGJ6dy4KbWl0IGRlbmVuIGljaCBnZXJlZGV0IGhhYmUuIE5pY2h0IHNlaHIgbW90aXZpZXJlbmQsIGlyZ2VuZHdhcyAnZ3Jvc3NlcycgenUKaGF1ZW4gKHVpaCAnc2lubmxvc2VzJyBtZXR6ZWxuKS4gRGFuYWNoIGZlaGxlbiBlaW5lbSBkYW5uIGhhbHQgbmljaHQgbWVocgo1LDUgU3R1ZmVuIHNvbmRlcm4gbnVyIG5vY2ggNSwzLiBOYSBLbGFzc2UuCgpHdXQgZWluIGtsZWluZXIgVm9ydGVpbCBpc3QgZXMsIGRhc3MgbWFuIGltIEZhbGxlIGVpbmVzIFRvZGVzIG5pY2h0IG1laHIgc28KdmllbGUgU3R1ZmVucHVua3RlIHZlcmxpZXJlbiB3aXJkIHdpZSBmcnVlaGVyLgoKV2FzIGljaCBtaWNoIGFiZXIgYXVjaCBmcmFnZSwgd2FydW0gZGllc2UgbmljaHQgdm9yIGVpbmlnZW4gTW9uYXRlbiBvZGVyIGluCmVpbmVtIGhhbGJlbiBKYWhyIHN0YXR0ZmluZGV0LCBzb25kZXJuIGF1c2dyZWNobmV0IGpldHp0IHdvIGRpZSBTdGltbXVuZyBpbQpNRyBzb3dpZXNvIHNjaG9uIGF1ZiBlaW5lbSB6aWVtbGljaGVuIFRpZWZwdW5rdCBpc3QuIAoKRnJhZ2UgenVtIFNjaGx1c3MgZnVlciBtaWNoIHdhZXJlLCBvYiBtaXQgZGVuIEZQcyBnZW5hdXNvIHZlcmZhaHJlbiB3aXJkLApiencgd2FydW0gdWViZXJoYXVwdCB3YXMgZ2VhZW5kZXJ0IHd1cmRlLiBEYXMgVmVyaGFlbHRuaXMgRlAvRXAgV2VydGlnLQprZWl0IHdhciBtZWluZXIgTWVpbnVuZyBuYWNoIG5pY2h0IHNjaGxlY2h0IHNvIHdpZSBlcyB3YXIuCgpKYXdvaGwgc3VwZXIgU2FjaGUgd2VubiBpY2ggbWlyIDMgVGFnZSBsYW5nIGRlbiBBcioqKiBhYmZvcnNjaGUgdW5kIGVpbgpoYWxiZXMgSmFociBzcGFldGVyIGRhcyBHZWJpZXQgYWJnZWhhZW5ndCB3aXJkLiBJY2ggZnVlciBtZWluZW4gVGVpbCB3ZXJkZSAKaGllciBhdWNoIHdlaXRlcmhpbiBtZWhyIG9kZXIgd2VuaWdlciBzaW5udm9sbCBtZXR6ZWxuLCBnYW56IGVpbmZhY2gsIHdlaWwgCm1pciBkYXMgU3Bhc3MgbWFjaHQsIGFldHNjaCA6KSBVbmQgd2VubiBpY2ggaXJnZW5kd2FubiBpbSBKYWhyIDIwMDMgd2llZGVyIAphdWYgbWVpbmUgYWx0ZSBTcGllbGVybGV2ZWwga29tbSBkYXJmIHdpZWRlciBhbiBkZXIgRXAtU2NocmF1YmUgZ2VkcmVodCAKd2VyZGVuLgoKTWZHIFNreSwgMTExICgxMDApCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEdsb2luc29uLCAgOS4gTWFpIDIwMDEsIDIyOjE1OjQxKToKfiMhIHJuPVNreSBydD05ODk0MzkwNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKV2VubiBEaXIgZGFzIE1ldHplbG4gU3Bhc3MgbWFjaHQgLSBPSy4gQWJlciBtdXNzIGVzIHNpY2ggZGVzaGFsYiBhdWNoIGdsZWljaApzdGFyayBpbiBEZWluZW0gTGV2ZWwgbmllZGVyc2NobGFnZW4/IEhlaCAtIGZ1ZXIgZGllICJncm9zc2VuIiBNb25zdGVyLCBmdWVyCmRpZSBEdSBEaXIgaGFzdCB3YXMgZWluZmFsbGVuIGxhc3NlbiBtdWVzc2VuIGJla29tbXN0IER1IG1laXN0IHNjaG9uIGV0d2FzCm1laHIgYWxzIG51ciAwLDIgU3R1ZmVuLiBXaWUgdmllbGUgZXMgdm9uIGRlbmVuIGdpYnQgZGllIG1hbiBuaWNodCBudXIgc28gbWl0ClRlYW0gdW5kIGxhbGEgbWFjaHQgc3RlaHQgamEgYXVmIGVpbmVtIGFuZGVyZW4gQmxhdHQuCgpHbG9pbihzb24pCgpQUzogU3RpbW11bmcgYXVmIGRlbSBUaWVmcHVua3Q/IEhhYiBpY2ggZGEgd2FzIHZlcnNjaGxhZmVuLCBhZWggdmVyaWRlbHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoUmlrdXMsICA5LiBNYWkgMjAwMSwgMjI6NDA6MjYpOgp+IyEgcm49U2t5IHJ0PTk4OTQzOTA1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApHcnVzcywKCmljaCBzY2hyaWViOiAuLi4gd2FzIG51ciBkYXMgc2lubmxvc2UgTWV0emVsbiBhbnNwb3JudC4uLgpOaXJnZW5kcyBzdGVodCwgZGFzcyBqZW1hbmQgKHouQi4gRHUpIHNpbm5sb3MgbWV0emVsdCwgd2VubiBEdSBEaWNoCmFuZ2VzcG9ybnQgZnVlaGxzdCwgZGFubiBiaXR0ZSA6KQpFcyBoYWV0dGUgZWJlbnNvIGd1dCB2b3IgTW9uYXRlbiBvZGVyIGluIEphaHJlbiBnZXNjaGVoZW4ga29lbm5lbiwgaWNoCmhhdHRlIGFiZXIgZ3JhZGUgaGV1dGUgWmVpdCBkYWZ1ZXIuCk1pdCBkZW4gRlBzIHdpcmQga2VpbmVzZmFsbHMgc28gdmVyZmFocmVuIHVuZCB3dXJkZSBlaW4gR2ViaWV0IGFiZ2VoYWVuZ3QsCmRhbm4gaGFiZSBpY2ggZGVzd2VnZW4gYXVjaCBuaWNodCBkaWUgRlBzIGR1cmNoZ2Vsb2VzY2h0LgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoT3JrdG9ldGVyLCAgOS4gTWFpIDIwMDEsIDIzOjU0OjUyKToKfiMhIHJuPVJpa3VzIHJ0PTk4OTQ0MDgyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApJbnRlcmVzc2FudCwgZGllIEZQIHZvbiBnZWxvZXNjaHRlbiBHZWJpZXRlbiB3ZXJkZW4gbmljaHQgZ2Vsb2VzY2h0LCBkaWUKRmlyc3RraWxscyB2b24gTlBDIGF1cyBnZWxvZXNjaHRlbiBHZWJpZXRlbiBhYmVyIHNjaG9uLi4uIAoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoQmllbGVmZWxkLCAgOS4gTWFpIDIwMDEsIDIzOjU2OjA4KToKfiMhIHJuPU9ya3RvZXRlciBydD05ODk0NDUyOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKSmFtbWVyIGRvY2guLi4gOikKCi1CaWVsZWZlbGQgKGhpbGZzYmVyZWl0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChTb2xteXIsIDEwLiBNYWkgMjAwMSwgMDA6MDM6MDUpOgp+IyEgcm49QmllbGVmZWxkIHJ0PTk4OTQ0NTM2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApCaWVsZWZlbGQsIER1IHNvbGxzdCBBbmF0b2wgZG9jaCBuaWNodCBpbW1lciBkaWUgUmVwbGllcyBhdWYgc29sY2hlCkFydGlrZWwga2xhdWVuIDopCgpTb2wqLCAuLi4gbixuLG5pY2h0IGJvZXNlIHNlaW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEh1bW5pLCAxMC4gTWFpIDIwMDEsIDExOjAzOjA1KToKfiMhIHJuPU9ya3RvZXRlciBydD05ODk0NDUyOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKV2VubiBpY2hzIHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlIHdlcmRlbiBkaWUgRlBzIG5pY2h0IGdlbG9lc2NodCwgc29uZGVybiBuZXUKdmVydGVpbHQuIERhcyBoZWlzc3QsIER1IGJlaGFlbHN0IERlaW5lIEZQcywgYWJlciBkaWUgZW50c3ByZWNoZW4gamV0enQgRlBzLApkaWUgaXJnZW5kd28gYW5kZXJzIHp1IGZpbmRlbiBzaW5kLgoKV2VubiBEdSBlaW4gdmVybnVlbmZ0aWdlcyBTeXN0ZW0ga2VubnN0IG1pdCBFS3MgZ2VuYXVzbyB6dSB2ZXJmYWhyZW4ga2FubnN0CkR1J3MgamEgbWFsIG1pdHRlaWxlbiA7LSkKCkNVIEh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFN0cm9oYWxtLCAxMC4gTWFpIDIwMDEsIDExOjMxOjM5KToKfiMhIHJuPUh1bW5pIHJ0PTk4OTQ4NTM4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApFS3MgYXVzIGdlbG9lc2NodGVuIEdlYmlldGVuIGFuIGRlbiBTYW5kdGlnZXIgc3RlbGxlbiwgamF3b2xsIQoKSGFlbG1jaGVuLCBpZGVlbnJlaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChWYXJkaW9uLCAxMC4gTWFpIDIwMDEsIDE0OjQ5OjM5KToKfiMhIHJuPVJpa3VzIHJ0PTk4OTQxNTYxOCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9OTg5NDE1NjE4CkhpLgoKV2VucyBpbnRlcmVzc2llcnQ6IGRlciBTY2huaXR0cHVua3QgemlzY2hlbiBkZXIgYWx0ZW4gdW5kIGRlciBuZXVlbiBGdW5rdGlvbgpsaWVndCBiZWkgZXR3YSAyNDAzNDY3NDMgRVAsIHdhcyBrbmFwcCA0ODEgU3R1cHNlbiBlbnRzcHJpY2h0LiBXZXIgYWxzbwp3ZW5pZ2VyIEVQIGhhdHRlLCBoYXQgU3R1cHNlIGdld29ubmVuLCB3ZXIgbWVociBoYXR0ZSwgaGF0IFN0dXBzZSB2ZXJsb3Jlbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChNdXBmZWwsIDEwLiBNYWkgMjAwMSwgMTQ6NTg6NTYpOgp+IyEgcm49VmFyZGlvbiBydD05ODk0OTg5Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKImV0d2EiIGlzdCBndXQgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKENhdHdlYXpsZSwgMTAuIE1haSAyMDAxLCAxNDo1OTo1NCk6Cn4jISBybj1NdXBmZWwgcnQ9OTg5NDk5NTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4Ck51biwgaWNoIHNjaGFldHplIGVyIGhhdCBkaWUgTmFjaGtvbW1hc3RlbGxlbiB3ZWdnZWt1ZXJ6dCAtPiAnZXR3YScKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoU2luYSwgMTAuIE1haSAyMDAxLCAxNTowMTo0NCk6Cn4jISBybj1WYXJkaW9uIHJ0PTk4OTQ5ODk3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApqbywgYWxzbyBpc3QgYWxsZXMgYmlzIChldHdhKSAyNDAzNDY3NDMgRVBzIHNpbm52b2xsZXMgTWV0emVsbiwgZGFzCmJlbG9obnQgd2lyZCBkdXJjaCBuZW4gWnVnZXdpbm4gYW4gc3R1cHNlbiwgYWxsZXMgZHJ1ZWJlciBpc3QgJ3Npbm5sb3MnCnVuZCB3aXJkIHNvbWl0IG5pZWRlcmdla3Vlcnp0LgpOYSBkYW5uLi4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKE11cGZlbCwgMTAuIE1haSAyMDAxLCAxNTowODozNCk6Cn4jISBybj1TaW5hIHJ0PTk4OTQ5OTcwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApCZXJ1aGlnIERpY2guIEVzIGhhZXR0ZSAic2NobGltbWVyIiBrb21tZW4ga29lbm5lbi4gei5CLjogYWIgMTAwLjAwMC4wMDAgZXAKKnVlYmVyaGF1cHQqIGtlaW5lIHN0dXBzZSBtZWhyLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChQaXRmYWxsLCAxMC4gTWFpIDIwMDEsIDE1OjA5OjA4KToKfiMhIHJuPU11cGZlbCBydD05ODk1MDAxMTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKaXN0IGRvY2ggbnVyIG5lIGZyYWdlIGRlciB6ZWl0IGJpcyB3aXIgZGFzIGF1Y2ggaGFiZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoU2luYSwgMTAuIE1haSAyMDAxLCAxNToxMDo1NCk6Cn4jISBybj1NdXBmZWwgcnQ9OTg5NTAwMTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4Ck5hIHByaW1hIG51IHNvbGwgaWNoIG1pY2ggbm9jaCBkYWZ1ZXIgYmVkYW5rZW4sIGRhc3MgbWFuIG1pciBudXIgaW5zIEdlc2ljaHQKaGF1dCwgdW5kIGF1ZiBkYXMgTmFjaHRyZXRlbiB2ZXJ6aWNodGV0PyBOZSBhYmVyIG1hbCBlcm5zdGhhZnQ6CldhcyBtaXIgdmllbCBtZWhyIE1hZ2Vuc2NobWVyemVuIGJlcmVpdGV0LCBpc3QgZGFzcyBkYXMgKGluIG1laW5lbiBBdWdlbiAKYmlzaGVyIGd1dGUpIEdsZWljaGdld2ljaHQgZnA8LT5lcCBudW4gZW1wZmxpbmRsaWNoIGdlc3RvZXJ0IHdpcmQuCgpJY2ggZnJldSBtaWNoIHNjaG9uIGRyYXVmLCB3ZW5uIGpldHp0IHdpZWRlciBkaWUgZnAtTGlzdGVuIHJvdXRpZXJlbiA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChBbmF0b2wsIDEwLiBNYWkgMjAwMSwgMTU6MTE6MDgpOgp+IyEgcm49U2luYSBydD05ODk0OTk3MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKTmFqYSwgZGllIEF1c3NhZ2UgaXN0IFNPIG5pY2h0IGdhbnoga29ycmVrdCwgZGVubiBhdWNoIGRydWViZXIgZ2lidCAKZXMgamEgbm9jaCBYUCwgd2VubiBhdWNoIHp1bmVobWVuZCBpbW1lciB3ZW5pZ2VyLiBBYmdlc2VoZW4gZGF2b24uLi4KaWNoIGhhYmUgZ3JhZGUgMjMwIE1pbyBYUCB1bmQgaWNoIGthbm4gZWNodCBuaWNodCBiZWhhdXB0ZW4sIGRhc3MgaWNoCmRpZSBtaXQgInNpbm52b2xsZW0gTWV0emVsbiIgZXJhcmJlaXRldCBoYWJlLiBPaCBuZWluLgoKVWVicmlnZW5zIGdpYnQgZXMgZHVyY2ggZGllc2UgUmVnZWx1bmcgZWluZSAodm9yZXJzdCkgemllbWxpY2ggZml4ZQpPYmVyZ3JlbnplLCB3YXMgZGVuIG1heGltYWwgZHVyY2ggRVAgenUgZXJyZWljaGVuZGUgTGV2ZWx6dWdld2lubgphbmdlaHQ6IEV0d2FzIHVlYmVyIDkgMS8yIExldmVsIGthbm4gbWFuIGpldHp0IG5vY2ggZHVyY2ggRVAtS2xvcHBlbgp6dXNhbW1lbnJhZmZlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChQYXRyeW4sIDEwLiBNYWkgMjAwMSwgMTU6MTE6MTApOgp+IyEgcm49TXVwZmVsIHJ0PTk4OTUwMDExNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApkYW5uIHdpbGwgaWNoIGFiZXIgYXVjaCBhYiAxMDAgYWJlbnRldWVycHVua3RlIGtlaW5lIHN0dXBzZSBtZWhyLi4uCi4uLnVuZCBoYWIgMTAwIGZvcnNjaGVycHVua3RlLi4udW5kIHNvd2llc28ga29lbm50ZSBtYW4gZGFubiBlbmRsaWNoCmVpbmZ1ZWhyZW4sIHdlciA0MDAgc3R1cHNlIGhhdCwgZGVyIGhhdCBkYXMgc3BpZWwgZ2V3b25uZW4gdW5kIGRhcmYgbmV1CmFuZmFuZ2VuLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChNdXBmZWwsIDEwLiBNYWkgMjAwMSwgMTU6MTM6MTcpOgp+IyEgcm49UGF0cnluIHJ0PTk4OTUwMDI3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApJbSBHcnVuZGUgc29sbHRlbiBkaWUgRVAgZ2FyIG5pY2h0IGluIGRpZSBTdHVwc2UgZWluZ2VoZW4uIFNjaGxpZXNzbGljaCBpc3QKZGFzIGhpZXIga2VpbiBNZXR6ZWxtdWQgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFNpbmEsIDEwLiBNYWkgMjAwMSwgMTU6MTM6NDcpOgp+IyEgcm49TXVwZmVsIHJ0PTk4OTUwMDM5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOAp3ZW5uIGR1IGpldHp0IG5vY2ggJ3F1ZXN0bXVkJyBzYWd0LCBmYW5nIGljaCBhbiB6dSBsYWNoZW47KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChHb3IsIDEwLiBNYWkgMjAwMSwgMTU6MTQ6MTEpOgp+IyEgcm49U2luYSBydD05ODk1MDAyNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKRnAtbGlzdGVuPyBTb3dhcyBicmF1Y2h0IG1hbiBkb2NoIG5pY2h0LiBTb3dhcyBzdGVodCBhbGxlcyBiZXJlaXRzIGltIE5ldHouCnd3dy5mcGxpc3RlLm5ldAoKLT4gc2NobWFycm4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKENyb2Z0LCAxMC4gTWFpIDIwMDEsIDE1OjE2OjA4KToKfiMhIHJuPUFuYXRvbCBydD05ODk1MDAyNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKU3RlbGx0IHNpY2ggZGllIHNwYW5uZW5kZSBGcmFnZSBvYiBtYW4gbmFjaCBkZW4gOS41IExldmVsbiBkYW5uIHBsb2V0emxpY2gKZ2FyIGtlaW5lIFN0dXBzZSBtZWhyIGhhdCBvZGVyIGVzIFByb2JsZW1lIG1pdCBkZW0gUlpHIGdpYnQgOy0pCkdydXNzIENyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKE11cGZlbCwgMTAuIE1haSAyMDAxLCAxNToxNjo0MCk6Cn4jISBybj1TaW5hIHJ0PTk4OTUwMDQyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApMYXV0IEJvaW5nIGlzdCBkYXMgTUcgaW4gZGVyIFRhdCBlaW4gUXVlc3RtdWQuIFdpciBoYWJlbiA+IDMwMDAgUXVlc3RwdW5rdGUgenUKdmVyZ2ViZW4sIHVtIGRpZSBkYW1pdCB2ZXJidW5kZW5lbiBTdHVwc2UgenUgYmVrb21tZW4sIG11ZXNzdGVzdCBEdSA1MDAKRm9yc2NoZXJwdW5rdGUgZmluZGVuIG9kZXIgendpc2NoZW4gMTUwMCB1bmQgMzAwMCB2ZXJzY2hpZWRlbmUgTW9uc3RlcgpraWxsZW4uLi4gZGEgZmFlbGx0IGRhcyBRdWVzdGVuIGRvY2ggbGVpY2h0ZXIgb2Rlcj8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFBhdHJ5biwgMTAuIE1haSAyMDAxLCAxNToxNzozMik6Cn4jISBybj1NdXBmZWwgcnQ9OTg5NTAwMzk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4Cnp3YXIgd29sbGVuIG1hbmNoIGdvZXR0bGljaGUga3JhZWZ0ZSBkZW0gbWcgdW5iZWRpbmd0IGRlbiBzdGVtcGVsIGVpbmVzCnF1ZXN0bXVkcyBhdWZkcnVlY2tlbiwgYWJlciB6dW0gZWluZW4gaGF1ZW4gZGllc2Uga3JhZWZ0ZSBkYWZ1ZXIgc2VsYnN0Cnp1IG9mdCBpbiBlaW5lIGFuZGVyZSByaWNodHVuZyB1bmQgenVtIGFuZGVyZW4gaXN0IGVzIGluendpc2NoZW4genUgc3BhZXQsCmZ1ZXIgZGllIG1hc3NlbiB1bXp1ZGVmaW5pZXJlbiwgd2llIHNpZSBoaWVyIGlocmVuIHNwYXNzIG9kZXIgaWhyZQpiZXN0aW1tdW5nIHZlcmZvbGdlbi4KaWNoIGZhbmQgZGllIGVwIHZvcmhlciBuaWNodCBncmFkIHVlYmVyYmV3ZXJ0ZXQuLi4KCi0tLS0tLQpwYXRyeW4sIGVoIG5pY2h0IHNwaWVsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEFuYXRvbCwgMTAuIE1haSAyMDAxLCAxNToyMToxMSk6Cn4jISBybj1Dcm9mdCBydD05ODk1MDA1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKVmllbCB0cmFnaXNjaGVyLCBWSUVMIHRyYWdpc2NoZXIuCgpTY2hhdWVuIHdpciBkZW4gU3VwZXJtZXR6bGVyIFNreSBhbjogRGllIGVyc3RlIFNjaGFsbG1hdWVyIGlzdCBkaWUgIjEgTXJkIiwKZGVubiBkYW5uIGlzdCBkaWUgRm9ybWF0aWVydW5nIGRlciBUb3BsaXN0ZSBtYWwgd2llZGVyIGdlc3ByZW5ndC4gRGFzIApzaW5kIHNvIGV0d2EgNy42IExldmVsLCBkaWUgZXIgYmlzIGRhaGluIGR1cmNoIEVQICh3aWVkZXIpIGdld29ubmVuIGhhdC4KCkRpZSB6d2VpdGUgU2NoYWxsbWF1ZXIgaXN0IDInMTQ3JzQ4Myc2NDcgRVAuIFVuZCBkYW5uIGd1dCcgTmFjaHQuIDopCgpBbmF0b2wgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoWm9vaywgMTAuIE1haSAyMDAxLCAxNToyMjoxNyk6Cn4jISBybj1TaW5hIHJ0PTk4OTQ5OTcwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApXaWUgQW5hdG9sIHNjaG9uIHNjaHJpZWIsIGlzdCBkaWVzZSBBdXNzYWdlIHNvIGVyc3QgZWlubWFsIGZhbHNjaC4gU2llCmdpbHQgbnVyIGZ1ZXIgZGllIFVtc3RlbGx1bmcsIGRhc3MgZGllIGplbmlnZW4gU3BpZWxlciwgZGllIGRhcnVudGVyCmxpZWdlbiBudW4gbWVociBTdHVwc2UgaGFiZW4gdW5kIGRpZSBkYXJ1ZWJlciB3ZW5pZ2VyLiBGdWVyIGVpbmVuIG5ldQpiZWdpbm5lbmRlbiBTcGllbGVyIGdpbHQgZGFzIGVyIGltbWVyIFN0dXBzZSBmdWVyIHNlaW5lIEVQcyBiZWtvbW10LApudXIgbWl0IHp1bmVobWVuZGVuIEVQcyBlYmVuIHdlbmlnZXIgdW5kIHdlbGNoZXMgTWFzcyBhbiBNZXR6ZWxuIGVyCm51biBmdWVyIHNpbm52b2xsIGVyYWNodGV0LCB1bSBlaW5lIGJlc3RpbW10ZSBTdHVwc21lbmdlIHp1IGVycmVpY2hlbiwKbXVzcyBlciBzZWxic3QgZW50c2NoZWlkZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChQYXRyeW4sIDEwLiBNYWkgMjAwMSwgMTU6MjI6MzMpOgp+IyEgcm49QW5hdG9sIHJ0PTk4OTUwMDg3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOAphY2ggd2FzLCBtaXQgbmVtIGRyaXZlcnBhdGNoIGtvZW5uZW4gd2lyIHNreSBlbmRsb3Mgd2VpdGVybWFjaGVuIGxhc3NlbiA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChDcm9mdCwgMTAuIE1haSAyMDAxLCAxNToyNToyMik6Cn4jISBybj1BbmF0b2wgcnQ9OTg5NTAwODcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4CkRpZSB6d2VpdGUgbWVpbnRlIGljaCBqYS4gIFdhcyBwYXNzaWVydCBiZWkgTUFYX0lOVCsxPyA6LSkKR3J1c3MgQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoR2xvaW5zb24sIDEwLiBNYWkgMjAwMSwgMTU6MjU6MzQpOgp+IyEgcm49UGF0cnluIHJ0PTk4OTUwMDk1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApSZWJvb3Q6IEdydW5kOiBaYWhsZW5iYXNpcyBtdXNzdGUgZnVlciBTa3kgdmVyYnJlaXRlcnQgd2VyZGVuIDopCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFBhdHJ5biwgMTAuIE1haSAyMDAxLCAxNToyNjo1NCk6Cn4jISBybj1Dcm9mdCBydD05ODk1MDExMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKZGVuIGVmZmVrdCBoYXR0ZSBpY2ggbWFsIGFscyBzcGllbGVyIHdlZ2VuIGVpbmVzIGJ1Z3MgYmVpIGVpbmVtIHNwZWxsLApuZW4gZ2FueiBub3JtYWxlciB1ZWJlcmxhdWYsIG5peCB3ZWl0ZXIuLi56dW0gaGV1bGVuIGhhbHQgOikKCi0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChHbG9pbnNvbiwgMTAuIE1haSAyMDAxLCAxNTozMToxOSk6Cn4jISBybj1QYXRyeW4gcnQ9OTg5NTAxMjE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4CkhhY2hqYSwgaXJnZW5kIGVpbiBLYW1lbCB2b24gZWluZW0ga2FtZWxpZ2VuIE1hZ2llci4gRGFzIHdhciBkb2NoIGVpbiBuZXR0ZXIKRWZmZWt0IDopIC4uLiBudXIgZGFzIER1IG5peCBkYXZvbiB3aXJrbGljaCBoYXR0ZXN0IDspCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEFuYXRvbCwgMTAuIE1haSAyMDAxLCAxNTozNDozMCk6Cn4jISBybj1HbG9pbnNvbiBydD05ODk1MDE0Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKSGFldHRlIGVyIG5pY2h0IHJ1bWdlcGxhZXJydCBzb25kZXJuIG5vY2ggZWluIHBhYXIgbWFsIGdlemFwcHQsIGhhZXR0ZQplciBzaWNoIGd1dCBob2NobW9nZWxuIGtvZW5uZW4uLi4gQWJlciBuZWVlaW4sIGVyIG11c3N0ZSBqYSBqYW1tZXJuLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoQ3JvZnQsIDEwLiBNYWkgMjAwMSwgMTU6MzQ6MzEpOgp+IyEgcm49UGF0cnluIHJ0PTk4OTUwMTIxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApwb3coTUlOX0lOVCwgMC4zMikgLT4gQ2FuJ3QgcmFpc2UgbmVnYXRpdmUgbnVtYmVyIHRvIGZyYWN0aW9uYWwgcG93ZXJzLgo7LSkKR3J1c3MgQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoTXVwZmVsLCAxMC4gTWFpIDIwMDEsIDE1OjM2OjU3KToKfiMhIHJuPUNyb2Z0IHJ0PTk4OTUwMTY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApXaXIgc3RlaWdlbiBkYW5uIHVtIGF1ZiBlaW4gNjQgQml0IFN5c3RlbQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChBcmssIDEwLiBNYWkgMjAwMSwgMTY6MTM6NDMpOgp+IyEgcm49U2t5IHJ0PTk4OTQzOTA1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApIaSwgbmljaHQgYm9lc2Ugc2Vpbiwgd2VubiBpY2ggZmxhcHNpZyBiaW4sIGFiZXIgaWNoIGdsYXViZSwgZXMgZ2FiIGdyYWRlIHdnLgpTcGllbGVybiB3aWUgRGlyIERpc2t1c3Npb25lbiB1ZWJlciBlaW5lIGRlcmFydGlnZSBBZW5kZXJ1bmcuIEJldm9yIGljaCBqZXR6dAp6ZXJmbGVkZGVydCB3ZXJkZSAoc3RvZXJ0IG1pY2ggbmljaHQsIGVzIGlzdCBzY2hvZW5lcyBXZXR0ZXIgYW4gbWVpbmVtCkdlYnVydHN0YWcgamlwcGkpLCBtb2VjaHRlIGljaCBtYWwgd2lzc2VuLCB3YXMgZWluZW4gZGVubiBzbyBmcnVzdHJpZXJ0LCB3ZW5uCm1hbiB2b24gMTExIGF1ZiAxMDAgcnVudGVyZmx1dHNjaHQuIFNjaGxhZWd0IG1hbiBqZXR6dCBlbnRzY2hlaWRlbmQgd2VuaWdlcgpndXQgenU/IElzdCBlcyBwc3ljaG9sb2dpc2NoIHZvbiBWb3J0ZWlsLCBlaW5lIGhvaGUgU3R1ZmUgenUgaGFiZW4/IEZ1ZXJzCkZvcnNjaGVuIGJyaW5ndCBlcyBuaWNodHMsIGFsc28gbnVyIGZ1ZXJzIE1ldHplbG4uIFVuZCBzY2hlaW5iYXIgaXN0IGVzIGZ1ZXIKS2FlbXBmZXIgKHVuZCBhbmRlcmUgR2lsZGVuPyEpIGV4dHJlbSB3aWNodGlnLCBhbHNvIG11ZXNzZW4gd2lyIGFuIGRlbgpTcGVsbGJvb2tzIHVuZCBkZW4gRm9ybWVsbiBkcmVoZW4sIGRhc3MgZGVyIEVpbmZsdXNzIGRlciBTdHVmZSB3ZWl0Z2VoZW5kCm5pdmVsbGllcnQgd2lyZD8gSWNoIGJpbiBlYmVuIG51ciBlaW4gYmxvZWRlciBNYWdpZXIsIGRlciB2aWVsbGVpY2h0IHNjaG9uCmV0d2FzIHdlaXRlciB2b20gU3BpZWxnZXNjaGVoZW4gd2VnIGlzdCwgYWJlciBiaW4gamEgaW1tZXIgZ2VybmUgYmVyZWl0LCBtaWNoCndpZWRlciBpbiBTcGllbGVyIHp1IHZlcnNldHplbi4gS2xpbmd0IGZ1ZXIgbWljaCBhbGxlcmRpbmdzIGVpbiBiaXNzY2hlbiBhcm0sCmRpZSBhbmdlc3Byb2NoZW5lbiBTcGllbG1vdGl2YXRpb25lbiB2b24gZm9yc2NoZXJ1bndpbGxpZ2VuIEhMUCwgYWJlciBuYWphLAptdXNzIG5pY2h0IHZpZWwgaGVpc3Nlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKE1hdGlzLCAxMC4gTWFpIDIwMDEsIDE2OjM1OjE5KToKfiMhIHJuPUFyayBydD05ODk1MDQwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKTWFuIGthbm4gZ2VuYXVzbyBnZWdlbiBkaWUgQWVuZGVydW5nIGFyZ3VtZW50aWVyZW4uIFdlciBoYXQgZGVubgpTY2hhZGVuIGVybGl0dGVuIGR1cmNoIGRhcyBhbHRlIFN5c3RlbT8gU3RhbmQgZGFzIE1HIGt1cnogdm9yIGRlbQpadXNhbW1lbmJydWNoPyBIYWJlbiB3aXIgSmFocmUgbGFuZyBlaW4gbmljaHQgdHJhZ2JhcmVzIFN5c3RlbSBoaWVyCmdlaGFidCB1bmQgZXMgbmljaHQgYmVtZXJrdD8gSGF0IGlyZ2VuZHdlciBkZXV0bGljaCB3ZW5pZ2VyIFNwaWVsc3Bhc3MKZHVyY2ggZGFzIGFsdGUgU3lzdGVtIGdlaGFidD8KRGFzcyBtYW4gamV0enQgZWluZSBzdGV0aWdlICJTdHVwcy1FcHMtRnVua3Rpb24iIGhhdCwgaXN0IGR1cmNoYXVzIG5ldHQuCkFiZXIgZGFzIGhhZXR0ZSBuaWNodCBkZXJhcnRpZyBrcmFzc2VyIEFlbmRlcnVuZ2VuIGJlZHVyZnQuIEljaCBmYW5kIGRhcwphbHRlIFN5c3RlbSBvay4gTmljaHQgcGVyZmVrdCwgYWJlciBlcnByb2J0IHVuZCBpbSBQcmF4aXN0ZXN0IGZ1ZXIgZ3V0CmJlZnVuZGVuLiBVbmQgd2VubiBtYW4gZGFubiB3aXJrbGljaCBkZW4gU3R1cHMtWnV3YWNocyBzdGFlcmtlciBiZWdyZW56ZW4gCndvbGx0ZSwgZGFubiBkb2NoIGJlc3NlciBhYiBFUC1HcmVuemVuLCBkaWUgbm9jaCBrZWluZXIgZXJyZWljaHQgaGF0IC0gd2FlcmUKZWluZmFjaCBmYWlyZXIuCgpXb3JhdXMgbWFuIGhpZXIgc2VpbmUgU3BpZWxtb3RpdmF0aW9uIGJlemllaHQsIGlzdCB6dW5hZWNoc3QgbmViZW5zYWVjaGxpY2guClNvbGFuZ2UgbWFuIGRhYmVpIFNwYXNzIGhhdCB1bmQgZWluaWdlcm1hc3NlbiBtaXQgZGVuIGFuZGVyZW4gYXVza29tbXQuIExlYmVuCnVuZCBsZWJlbiBsYXNzZW4gLi4uCgpNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChQYXRyeW4sIDEwLiBNYWkgMjAwMSwgMTg6MTM6NTYpOgp+IyEgcm49QXJrIHJ0PTk4OTUwNDAyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOAphcm0gb2RlciBuaWNodCwgZGlyIHN0ZWh0IGRpZSBlbnRzY2hlaWR1bmcgbmljaHQgenUsIHdhcyBhbmRlcmUgdW50ZXIKc3BpZWxzcGFzcyB2ZXJzdGVoZW4uIGZ1ZXIgZGllIGVpbmVuIHNpbmQgZXMgaGFsdCB0b3BsaXN0ZW4sIGZ1ZXIgZGllCm5hZWNoc3RlbiBpc3QgZXMgZWluZSBuZXUgZXJyZWljaHQgc3R1ZmUsIHdpZWRlciBhbmRlcmUgYmxvZWRlbG4gbnVyCmdlcm5lIHJ1bSBvZGVyIHF1YXRzY2hlbiBnZXJuLgplcyBpc3QgcmVpY2hsaWNoIGhldWNobGVyaXNjaCBmdWVyIGFuZGVyZSB6dSBkZWZpbmllcmVuIHdhcyBzY2hsZWNodGVzCnVuZCB3YXMgZ3V0ZXMgc3BpZWx2ZXJoYWx0ZW4gaXN0LCBudXIgd2VpbCBtYW4gcGVyc29lbmxpY2ggYW5kZXJlCmFuc2ljaHRlbiBkYXp1IGhhdC4gc2t5IHN0ZWxsdCBkaWNoIHdvaGwgYXVjaCBuaWNodCBhbHMgZ2Vpc3RpZyBhcm1lbgptYWdpZXIgaGluLCB3ZWlsIGR1IGhpZXIgc28gYmlzdCB3aWUgZHUgZWJlbiBiaXN0LgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChBcmssIDEwLiBNYWkgMjAwMSwgMTg6MjQ6MTQpOgp+IyEgcm49UGF0cnluIHJ0PTk4OTUxMTIzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApEYXMgaXN0IGluIGRlciBUYXQgcmljaHRpZy4gTnVyIGxhc3NlIGljaCBtaWNoIGltbWVyIG5vY2ggZ2VybmUgaGludGVyZnJhZ2VuLgpNYW5jaGUgRGluZ2UsIGRpZSBpY2ggZnVlciBzZWxic3R2ZXJzdGFlbmRsaWNoIGhhbHRlLCBzaW5kIG5pY2h0IGRlc2hhbGIKcmljaHRpZywgd2VzaGFsYiBpY2ggaW0gTmFjaGhpbmVpbiBkYW5rYmFyIGJpbiAob2RlciBzZWluIG11ZXNzdGUpLCBkYXNzIG1hbgptaWNoIHdpZWRlciBtYWwgZHJhdWYgZ2VzdG9zc2VuIGhhdC4gU28ga2FubiBpY2ggZ2dmLiBtYWwgbWVpbiBWZXJoYWx0ZW4gb2RlcgptZWluZSBNZWludW5nIGF1Y2ggbWFsIHdpZWRlciB1ZWJlcmRlbmtlbiBvZGVyIGFucGFzc2VuLiBVbmQgbmljaHQgbWVociBhbHMKZGFzIHNvbGx0ZSBkZXIgQXJ0aWtlbCBlcnJlaWNoZW4uIEZhbGxzIGljaCBtaXNzdmVyc3RhbmRlbiB3dXJkZSwgaGFiZSBpY2ggZGFzCmhvZmZlbnRsaWNoIHJpY2h0aWcgZ2VzdGVsbHQuIFdlbm4gbWV0emVsbiB1bSBkZXIgRVAgd2lsbGVuIGZ1ZXIgZWluZW4gZWJlbiBvawppc3QsIGd1dC4gRGVubm9jaCBkZW5rZSBpY2gsIGRhc3Mgd2lyIGViZW4gUmVnZWxuIG5pY2h0IGVyZmluZGVuIChzb2xsdGVuKSwgdW0KZWluemVsbmUgenUgc3RyaXR6ZW4gdW5kIHp1IGFlcmdlcm4sIHNvbmRlcm4gdW0gZGFzIFNwaWVsIGZ1ZXIgYWxsZSB6dQp2ZXJiZXNzZXJuLiBEYXNzIHNvbGNoZSBSZWdlbG4gaW1tZXIgYW4gZWluemVsbmVuIEJlaXNwaWVsZW4gZmVzdGdlbWFjaHQKd2VyZGVuLCB0cmlmZnQgendhciBkaWUgVXJzYWNoZSwgd2FydW0gbWFuIHNvbGNoZSBSZWdlbG4gd2lsbCwgYWJlciBuaWNodCBkaWUKSW50ZW50aW9uLCBuYWVtbGljaCBlaW5lIFZlcmJlc3NlcnVuZyBmdWVyIGRpZSBNZWhyaGVpdCBoZXJiZWl6dWZ1ZWhyZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChGaXJlaGF3aywgMTAuIE1haSAyMDAxLCAyMjozNTozMCk6Cn4jISBybj1NdXBmZWwgcnQ9OTg5NTAwNjAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4CkRhbmtlIE11dXBmZWwsIGRhIGZ1ZWhsIGljaCBtaWNoIGRvY2ggZ2xhdHQgYmVzdGFldGlndCA7KQoKRmlyZWh3YWssIHplaWxlaW5lcm5kIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChHbm9tZSwgMTEuIE1haSAyMDAxLCAwMDoxNTowOSk6Cn4jISBybj1NYXRpcyBydD05ODk1MDUzMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKZGFua2UgbWF0aXMuIGF1cyBkZW0gaGVyemVuIGdlc2NocmllYmVuLgoKdW5kLCBhcmssIGVzIGhhdCB6d2FyIHdlZGVyIGVpbmVuIHBzeWNob2xvZ2lzY2hlbiBub2NoIHdlbmlnIHNwaWVsZXJpc2NoZQpuYWNodGVpbGUgdm9uIDExMSBhdWYgMTAwIGhlcmFiZ2VzZXR6dCB6dSB3ZXJkZW4sIGRvY2ggaWNoIC0gdW5kIHNpY2hlcmxpY2gKYXVjaCBza3kgLSBmcmFnZSBtaWNoIGpldHp0LCB3b2Z1ZXIgZXIgZGllIGxldHp0ZW4gMTEgbGV2ZWwgImdlYXJiZWl0ZXQiCmhhdC4Kd2llIGxhbmdlIGJyYXVjaHQgbWFuIGZ1ZXIgMTEgbHZsIGF1ZiBkZXIgc3R1ZmU/IDMgbW9uYXRlPyBlaW4gaGFsYmVzIGphaHI/CmRpZSB6ZWl0IGlzdCBqZXR6dCBlaW5mYWNoIHdlZy4gcmVjaG5ldCBtYW4gaW0gc2Nobml0dCAxIG1vbmF0ICJ6ZWl0dmVybHVzdCIKYXVmIGRpZSBnZXNhbXRlIHNwaWVsZXJzY2hhZnQgdW0uLi4gbnVuamEuCgptYW4gaGFldHRlIHZpZWxsZWljaHQgd2lya2xpY2ggZGVuIHNjaG5pdHQgZG9ydCBhbnNldHplbiBrb2VubmVuLCB3byBlcwpub2NoIGtlaW5lbSB3ZWhnZXRhbiBoYWV0dGUgLSB3ZW5uIGVzIGRlbm4gdWViZXJoYXVwdCBub2V0aWcgZ2V3ZXNlbiB3YWVyZS4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFppbGx1cywgMTEuIE1haSAyMDAxLCAwMDozMDo1OSk6Cn4jISBybj1Hbm9tZSBydD05ODk1MzI5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKemVpdHZlcmx1c3Q/IGljaCBkYWNodGUgaWNoIG11ZGRlIHVtIHp1IGNoYXR0ZW4gdXN3LiB3ZXIgaGllciBtZXR6ZWx0IGlzdApzZWxiZXIgc2NodWxkIDopCgp6aWxsdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoU29sbXlyLCAxMS4gTWFpIDIwMDEsIDAwOjMzOjA3KToKfiMhIHJuPVppbGx1cyBydD05ODk1MzM4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKRHUgYmlzdCBrZWluIHJpY2h0aWdlciBNdWRkZXIsIHdlbm4gRHUgbmljaHQgYmVpZGVzIGdsZWljaHplaXRpZwpiZWhlcnJzY2hzdC4KClNvbCogOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoWmlsbHVzLCAxMS4gTWFpIDIwMDEsIDAwOjM0OjU1KToKfiMhIHJuPVNvbG15ciBydD05ODk1MzM5ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKbmVpbiBuZWluLCB1bmQgcXVlc3RlbiB1bmQgZm9yc2NoZW4gc29sbCBpY2ggd29obCBhdWNoIG5vY2ggZ2xlaWNoemVpdGlnPyBEYQpiaW4gaWNoIGFscyBjaGFvdCBob2ZmbnVuZ3Nsb3MgdWViZXJmb3JkZXJ0LiA6LSgKCnppbGx1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChTb2xteXIsIDExLiBNYWkgMjAwMSwgMDA6MzU6MzIpOgp+IyEgcm49WmlsbHVzIHJ0PTk4OTUzNDA5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApMb2VzY2ggRGljaCEgKGMpIEx1ZwoKU29sKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChaaWxsdXMsIDExLiBNYWkgMjAwMSwgMDA6MzU6NTYpOgp+IyEgcm49U29sbXlyIHJ0PTk4OTUzNDEzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOAp3ZXIgaXN0IGx1ZyAoYykgbHVnIDopCgp6aWxsdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoS2FyaXMsIDExLiBNYWkgMjAwMSwgMDA6NTg6MTApOgp+IyEgcm49R25vbWUgcnQ9OTg5NTMyOTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4Ckp1bmdlLCBqdW5nZS4uLiAxMSBMZXZlbCBudXIgbWl0IEVrcy4uLiBmaW5kIGljaCBqYSBkZW4gaGVsbGVuIApXYWhuc2lubiEgRGFzIG1hY2h0IGRhbm4uLi4gKmdydWViZWwqIDEwMCBtYWwgLi4uIGFlaC4uIGphIC4uIHVuZCBkYW5uCmVpbnMgaW0gU2lubi4uLiBuZWUsIGRhcyBpcyBtaXIgamV0enQgenUgaG9jaC4KTmljaCwgZGFzcyBpY2ggZGFzIGpldHp0IGlyZ2VuZHdpZSBiZXdlcnRlbiB3aWxsLiAoTmViZW5iZWk6IEh1dCBhYiwgU2t5LgpJY2ggaGFiYSBkaWVzZSBBdXNkYXVlciBuaWNodCkuCkRpZSBNZWhyemFobCBkZXIgU3BpZWxlciBoYXRzIGdlZnJldXQuIE1pY2ggYXVjaC4gVW5kIG5hY2hkZW0gQW5hdG9sIApqYSBudW4gYXVzZ2VyZWNobmV0IGhhdCwgd2lldmllbGUgTGV2ZWwgbWFuIGpldHp0IGVybWV0emVsbiBrYW5uIG1pdAppbW1lciBkZW0gZ2xlaWNoZW4gVmllY2gsIGthbm4gbWFuIG51ciBmZXN0c3RlbGxlbjogRXMgZ2lidCBkYW1pdCB3b2hsCmVpbmUgYWJzb2x1dGUgT2JlcmdyZW56ZSBkZXMgRXJyZWljaGJhcmVuIGhpZXIuIFNlaHIgd2VpdCB3ZWcgdW5kIGtlaW5lcgooZGVyIFNwaWVsZXIpIHdlaXNzIHdvaGwsIHdvIGRhcyBudW4gaXN0IC0gYWJlciBlcyBpc3QgZW5kbGljaC4KV2FzIHdvaGwgd2llZGVyIFJhdW0gc2NoYWZmdCBmdWVyIGVpbmUgYWJzb2x1dGUgRWluc2NoYWV0enVuZyBkZXIgU3BpZWxlci4KUHJvemVudGUgc2luZCB3YXMgc2Nob2VuZXMsIGRpZSBrYW5uIG1hbiBuYWVtbGljaCBhdXNtYXhlbi4KVW5kIGVzIGlzdCBlaW5lIFJlbGF0aW9uIGdlc2NoYWZmZW4gendpc2NoZW4gZGVuIEZQcywgZGVuIEFQcyB1bmQgZGVuCkVLcy4gWnVtaW5kZXN0IGltIE1vbWVudC4gV2VpbCBzaWNoIGRpZSBSZWxhdGlvbiBuYXR1ZXJsaWNoIChvZGVyCmhvZmZlbnRsaWNoKSBhZW5kZXJuIHdpcmQuIEFuIGRpZSBBcmJlaXQsIGlociBNYWdpZXIsIHNjaGFmZnQgRiB1bmQgQQpQZXMhIFVuZCBkYW1pdCBkdWVyZnRlIGRhbm4gZGllIFplaXQgZnVlciBlaW5lIGFsdGUsIGFiZXIgZG9jaAphbmdlYmxpY2ggZ29ldHRsaWNoZSBEZWZpbml0aW9uIGRlcyBRdWVzdG11ZHMgYXJiZWl0ZW4uLiBpcmdlbmR3YW5uLi4uCmluIGVpbiBwYWFyIEV3aWdrZWl0ZW4uLi4gdW5kIGRhbm4gbm9jaCBlaW4gYmlzc2NoZW4gc3BhZXRlci4uLi4KaGFiZW4gd2lyIGdhbnogYXV0b21hdGlzY2ggZW5kbGljaCBkYXMgUXVlc3RtdWQgd2llZGVyLiAKQW5hdG9sLCBrYW5uIG1hbiBkYSBuZSBBc3ltcHRvdGUgYWJzY2hhZXR6ZW4/IDspClVuZCBuaWVtYW5kLCBnYXIga2VpbmVyIHdpcmQgaGllciBtZWhyIG1ldHplbG4gd29sbGVuLiBXZWlsIHNpY2ggZGFzCmphIGVoIG5ldCBsb2hudC4gTGllYmVyIGZyYWdlbiB3aXIgQW5keSBuYWNoIGRlbiBGUC1MaXN0ZW4uIFVuZCBkYW5uLi4uCmphIGRhbm4gLi4uIGRhbm4gd2lyZCBkaWUgQmFsYW5jZSB1ZWJlcmZsdWVzc2lnLiBXZWlsIGVoIGtlaW5lciBtZWhyCm1ldHplbG4gd2lsbC4gRGFubiBicmF1Y2h0cyBqYSBhdWNoIGtlaW5lIHRvbGxlbiBXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4KbWVoci4gTmFqYS4uLiB6dW1pbmRlc3QgZGllIEJhbGFuY2UsIGRpZSB3aXIgamV0enQga2VubmVuLi4uICBkYW5uIGdpYnRzCmJlc3RpbW10IG5lIEZvcnNjaGVyLUJhbGFuY2UsIGRpZSBGUHMgdW5kIGVybGl0dGVuZSBUb2RlIGF1c2JhbGFuY2llcnQuCihBcm1lciBBcmsuLi4pLiBFcyB3ZXJkZW4gYmVzdGltbXQgdHJpY2tyZWljaGUgVW50ZXJzdWNoZXNrcmlwdGUgZ2ViYXV0CihlbmRsaWNoIHdpcmQgZGllIEtyZWF0aXZpdGFldCBkZXIgU3BpZWxlci4uIGFlaCAuLiBwcm9ncmFtbWllcmVuZGVuCk5pY2h0LU1hZ2llciByaWNodGlnIGdlZm9yZGVydCksIGRpZSBhbGxlbiBGYWxsZW4gZW50Z2VoZW4uIFVuZCBiZXN0aW1tdApnaWJ0IGVzIGRhbm4gYXVjaCAuLi4uIGFjaCB3YXMuIAoKS2FyaXMsIGdlaHQgamV0enQgaW5zIEJldHQgdW5kIHVlYmVybGVndCBzaWNoLCB3b3ZvbiBlciBOYWNodHMgdHJhZXVtdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoUGF0cnluLCAxMS4gTWFpIDIwMDEsIDAxOjAwOjIzKToKfiMhIHJuPVppbGx1cyBydD05ODk1MzM4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKbWFuY2hlIHdvbGxlbiBtZWluZW4gYXJ0aWtlbCBuaWNodCBrYXBpZXJlbiBvZGVyIHNpZSBrb2VubmVuIGVzIG5pY2h0Lgp3ZW5uIGR1IGdlcm5lIGNoYXR0ZXN0IGlzdCBkYXMgZGVpbiBiaWVyLiBkZXNoYWxiIG11ZXNzZW4gd2lyIHdvaGwga2F1bQphbGxlIGhlcmRlbnRyaWViYXJ0aWcgaGludGVyaGVydHJhbXBlbG4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFNvbG15ciwgMTEuIE1haSAyMDAxLCAwMTowMDo1Nyk6Cn4jISBybj1QYXRyeW4gcnQ9OTg5NTM1NjIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4Ck1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVIICEKClNvbCosIGhlcmRlbnRyaWViYXJ0aWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoS2FyaXMsIDExLiBNYWkgMjAwMSwgMDE6MTI6MjYpOgp+IyEgcm49R25vbWUgcnQ9OTg5NTMyOTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4ClNvcnJ5LCBHbm9tZSwgZGVuIGthbm4gaWNoIG1pciBncmFkIG5ldCB2ZXJrbmVpZmVuLgpXZW5uIER1IGFuZmFlbmdzdCwgTGV2ZWwgZ2VnZW4gWmVpdCBhdWZ6dXJlY2huZW4sIGRhbm4gc29sbHRlc3QgRHUKc2Nob24gYXVjaCBkYXMgZ2FuemUgU3lzdGVtIGJldHJhY2h0ZW4uIEFscyBkYSB3YWVyZTogd2lldmllbGUgU3BpZWxlciBoYWJlbiAKZ3JhZGUgMS0yIExldmVsIGdlc2NoZW5rdCBiZWtvbW1lbj8gVW5kIGRhcyBudW4gbmljaHQgbnVyIGF1ZiBkZW4KYWxsZXJuaWVkcmlnc3RlbiBTdHVmZW4/IEt1bXVsaWVydCBlcmdpYnQgZGFzIGJlc3RpbW10IEphaHJ6ZWhudGUgOikKCkdlbmVyYWVsY2hlbiBLYXJpcyB3ZWlzcyBhdWNoIG5ldCB3YXJ1bSBkaWUgRUtzIGVpZ2VudGxpY2ggcmVmb3JtaWVydCB3dXJkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEFuYWNyaW9uLCAxMS4gTWFpIDIwMDEsIDAxOjI1OjA3KToKfiMhIHJuPUdub21lIHJ0PTk4OTUzMjkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApBbHNvIGljaCBzdGVsbGUgZmVzdDoKYSkgS2VpbmVyIGJlc2Nod2VydCBzaWNoLCBkYXNzIGVzIGpldHp0IGVpbmUgZHVyY2hnYWVuZ2lnZSBYUC1LdXJ2ZSBnaWJ0LgpiKSBEaWUgbWVpc3RlbiBmcmV1ZW4gc2ljaCBvYiBkZXIgVW1zdGVsbHVuZyAuLi4gd2llc28gYXVjaCBuaWNodCwgZGVubiBkZXIKR3Jvc3N0ZWlsIGRlciBBbndlc2VuZGVuIGhhdCBlaCBuaWNodCBkaWUgRWxvcXVlbnosIHNvIGhhZXVmaWcgZGllIGdsZWljaGVuCk1vbnN0ZXIgenUgaGF1ZW4sIHVtIHdlaXQgdWJlciBkaWUgNTAwTUVQIHp1IGtvbW1lbiwgYWIgZGVyIElNSE8gbWVociBYUHMKa2VpbmVuIGdyb3NzZW4gU2lubiBtZWhyIG1hY2hlbiAoNTAwTUVQPTZMVkwsIDFHRVA9Ny41IExWTCwgZGEgaGF1dCBtYW4gZG9jaApsaWViZXIgbWFsIE5hcnMgb2RlciBzbyA7LSkgKQoKQWxzbyBpY2ggbXVzcyBzYWdlbjogSmEsIGVzIHR1dCBtaXIgbGVpZCB1bSBkaWUgZ2FuemUgQXJiZWl0LCBkaWUgaWhyIGhhdHRldCwKaWhyIGRpZSBpaHIgZXVjaCB1ZWJlciB2ZXJsb3JlbmUgU3R1cHNlIGF1ZnJlZ3QsIGFiZXI6CgpFcyBnZWh0IG5pY2h0IGRhcnVtLCBkYXMgTUcgenUgZ2V3aW5uZW4gLi4uIG9kZXIgaGFiIGljaCB3YXMgZmFsc2NoCnZlcnN0YW5kZW4/IFp1bWluZGVzdCBpc3QgbmljaHQgZGVyamVuaWdlIGRlciBHZXdpbm5lciBtaXQgZGVuIG1laXN0ZW4gU3R1cHNlbgpzb25kZXJuIGRlciBtaXQgZGVtIG1laXN0ZW4gU3Bhc3MuIFdlciBkZW4gU3Bhc3MgYW0gTUcgYXVzc2NobGllc3NsaWNoIGRhcmFuCmFibGVpdGV0LCB3aWV2aWVsZSBTdHVwc2UgZXIgaGF0IHVuZCBkYXVzZ2VyZWNobmV0IHZvbiBYUCAuLi4gZGVyIGhhdCBqZXR6dAp3b2hsIHZlcmxvcmVuIHdlaWwgZGllIFN0dXBzZSB1bmQgYXVjaCBkZXIgU3Bhc3Mgd2VnIHNpbmQuIEJlaWxlaWQhIFdlbm4gZGFzCm1ldHplbG4ga2VpbmVuIFNwYXNzIG1laHIgbWFjaHQsIG51ciB3ZWlsIGVzIHdlbmlnZXIva2VpbmUgU3R1cHNlIG1laHIgZ2lidApvZGVyIGRpZSBnYW56ZW4gbGV0enRlbiBXb2NoZW4gdmVybG9yZW4gc2luZCwgbnVyIHdlaWwgZGllIFhQLVN0dXBzZSB1ZWJlcgoyNDBNRVAgYWJnZXdlcnRldCB3b3JkZW4gc2luZCwgZmFlbGx0IG1pciBlY2h0IG51ciBlaW5zIGVpbjogSUhSIFRVVCBNSVIKTEVJRCEhIFRpZWYgaW0gaW5uZXJzdGVuIG1laW5lcyBIZXJ6ZW5zIC4uLiB1bmQgbmljaHQgd2VnZW4gZGVyIGxhZXBwaXNjaGVuCnBhYXIgU3R1cHNlLgoKQW5hYyoKClAuUy4gSW0gVmVyZ2xlaWNoIG1pdCB6LkIuIERpYWJsbyBmaW5kZSBpY2ggZGllIDMud3VyemVsLWZvcm1lbCBub2NoIHJlY2h0IGd1dAouLi4gdW5kIGphLCBpY2ggZmluZGUsIHdlciBzcGFzcyBkcmFuIGhhdCwgc29sbCBqZWRlcyBiZWxpZWJpZ2Ugb3BmZXIgMQpNaWxsaW9uIG1hbCB0b3QgaGF1ZW4gLi4gZGVzIHNwYXNzZXMgd2VnZW4gaGFsdCAuLiBuaWNodCB3ZWdlbiBkZXIgWFAgLi4gZnJhZwpMdWcgLSBlciBoYXQgU3Bhc3MgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKFBhdHJ5biwgMTEuIE1haSAyMDAxLCAwMToyNzo1Mik6Cn4jISBybj1BbmFjcmlvbiBydD05ODk1MzcxMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKaXJnZW5kd2llIGZ1ZWhsZSBpY2ggbWljaCBpZ25vcmllcnQuCmRhc3MgZHUgZWluICJkYXMgaXN0IGFybSIgaW4gZWluICJpaHIgdHV0IG1pciBsZWlkIiB1bXdhbmRlbHN0LCBtYWNodCBlcwpkYWJlaSBuaWNodCB3aXJrbGljaCBiZXNzZXIsIGR1ZXJmdGUgaW4gZXR3YSBnZW5hdXNvIGJlbGVpZGlnZW5kIHNlaW4uCmRhc3MgZGllc2VyIGFydGlrZWwgaW4gZGVyIGZvcm0gZ2VyYWRlIHZvbiBkaXIga29tbXQgc2V0enQgZGVtCmhldWNoZWxlaWZha3RvciA+PiAxIGhvZWNoc3RlbnMgbm9jaCBkYXMgcXVhZHJhdCBhdWYgZGllIGhhdWJlLgoKLS0tLS0tCnBhdHJ5biwgbWV0emxlciB2ZXJ0ZWlkaWdlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoS2FyaXMsIDExLiBNYWkgMjAwMSwgMDE6MzE6MTkpOgp+IyEgcm49QW5hY3Jpb24gcnQ9OTg5NTM3MTA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4CkdlbmF1LCBBbmFjKi4KVW5kIG1pciBtYWNodHMgU3Bhc3MsIGltbWVyIHdpZWRlciBkaWVzZSBpY2gtYmluLXRvbGwtd2VpbC1pY2gKa2Fubi1uYWVtbGljaC1kZWZpbmllcmVuLXdhcy1TcGFzcy1tYWNodC1hcnRpa2VsIHp1IGxlc2VuLiBHYW56IGVocmxpY2guCkRhcyBtYWNodCBpbnp3aXNjaGVuIGVpbmVuIGdyb3NzZW4gVGVpbCBtZWluZXMgTXVkLUxlYmVucyBhdXMsCm1pY2ggdWJlciBhbmRlcmUgTGV1dGUgenUgYW11ZXNpZXJlbi4KRGFzIGlzdCBiZXNvbmRlcnMgZWluZmFjaCwgd2VpbCBkaWUgc2ljaCBpbW1lciB3aWVkZXIgc2VsYnN0IAphbiBkZW4gUHJhbmdlciBzdGVsbGVuLiBBYmVyIGVpbnMga2FubiBpY2ggRGlyIHNhZ2VuOiBkaWUgdHVuIG1pcgpuaWNodCBsZWlkLiBOZWluLCBnYW56IHVuZCBnYXIgbmljaHQuIAoKS2FyaXMuIEVpZ2VudGxpY2ggaXN0IGphIHNjaG9uIGFsbGVzIGdlc2FndC4gU29ycnksIFBhdHJ5bi4KQWJlciBlYmVuIG5vY2ggbmljaHQgdm9uIGplZGVtIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEFuYWNyaW9uLCAxMS4gTWFpIDIwMDEsIDAxOjM5OjIwKToKfiMhIHJuPUthcmlzIHJ0PTk4OTUzNzQ3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApJY2ggd29sbHRlIG1pdCBtZWluZW0gQXJ0aWtlbCBrZWluZSBTaWNodHdlaXNlIGluIGlyZ2VuZGVpbmVyIFdlaXNlCmhlcmFid2VydGVuLiBXZW5uIGplbWFuZCBnbHVlY2tsaWNoIGlzdCB1bmQgZGFiZWksIGRhcyBNRyB6dSBnZXdpbm5lbiwKd3VlbnNjaGUgaWNoIGlobSB2aWVsIFNwYXNzIGRhYmVpLiBVbmQgd2VubiBlciBpaG4gaGF0LCBzb2xsdGUgZnVlciBpaG4gYWxsZXMKaW4gT3JkbnVuZyBzZWluLiBXZW5uIG5pY2h0LCBoYXQgZXIgbWVpbiBCZWlsZWlkLgoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoTWF0aXMsIDExLiBNYWkgMjAwMSwgMDM6NDY6MjYpOgp+IyEgcm49S2FyaXMgcnQ9OTg5NTM1NDkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5NDE1NjE4CkthcmlzLCBsZXJuIGVyc3RtYWwgZGVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIEVLcyB1bmQgRVBzIC4uLiBiZWkgRUtzIGtvZW5udGUKbWFuIHdlaXQgbWVociBhbHMgMTEgU3R1ZmVuIHZlcmxpZXJlbi4KCk1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKE1vcmdvdGgsIDExLiBNYWkgMjAwMSwgMDg6MTg6MTkpOgp+IyEgcm49TXVwZmVsIHJ0PTk4OTUwMDYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApOYWphLCBhYmVyIFF1ZXN0ZW4gaXMga2Fja2UKbWV0emVsbiBydWxleiAhCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChTb2xteXIsIDExLiBNYWkgMjAwMSwgMDg6Mjc6NTEpOgp+IyEgcm49TW9yZ290aCBydD05ODk1NjE4OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKVW5kIHNvIHdlbGNoZSBuYW5udGVuIHNpY2ggbWFsIFJvbGxlbnNwaWVsZXIsICpzZXVmeioKCkthbXBmWndlcmcgU29sKiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChSaWt1cywgMTEuIE1haSAyMDAxLCAxMTowNDozMik6Cn4jISBybj1Hbm9tZSBydD05ODk1MzI5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKSGFldHRlIG1hbiBuaWNodCBkaWUgTW9uYXRlICJnZWFyYmVpdGV0IiwgdW0gdm9uIDEwMCBhdWYgMTExIHp1IGtvbW1lbiwKd2FlcmUgbWFuIG51biBuaWNodCBhdWYgMTAwLCBzb25kZXJuIGlyZ2VuZHdvIHp3aXNjaGVuIDkwIHVuZCA5NCAob2huZQplcyBuYWNoZ2VyZWNobmV0IHp1IGhhYmVuKS4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFcmZhaHJ1bmdzcHVua3RlIHVuZCBTdHVwc2UgKEFyaywgMTEuIE1haSAyMDAxLCAyMDoyMTowOSk6Cn4jISBybj1LYXJpcyBydD05ODk1MzU0OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKT2NoLCBzb2xhbmdlIHNpY2ggZWluZShyKSBkYXJ1ZWJlciBmcmV1dCwgc2ljaCBkdXJjaCBlY2h0ZXMgRioqKioqKiogYW4gc28KZWluZXIgRioqKiogb2RlciBlaW5lciBLKioqKioqKiovZWluZW0gRioqKiogdm9yYmVpZ2Vtb2dlbHQgenUgaGFiZW4sIGJlc2l0emUKaWNoIElNSE8gZWluZSBEYXNlaW5zYmVyZWNodGlndW5nIGhpZXIgO14pIFNvIGFybSBkcmFuIGJpbiBpY2ggYWxzbyBuaWNodC4gVW5kCnNpY2hlciBuaWNodCBkZXIsIGRlciBFdWNoIGFtIGhhZXVmaWdzdGVuIHp1IExhcnMgc2NoaWNrdC4gSG9mZmVudGxpY2ggZWhlciBpbgpzcGFubmVuZGUgR2VzY2hpY2h0ZW4sIHdvIGRpZSAqKiogbnVyIE1pdHRlbCB6dW0gWndlY2sgc2luZC4gVW5kIGF1Y2ggV2FmZmVuCnVuZCBUb29scy4gVW5kIGRpZSBCYWxhbmNlIG51ciBlaW5lIEtvbnRyb2xsZSwgZGllIG1pY2ggdm9tClVubG9naXNjaC1IaXJucmlzc2lnZW4gYWJoYWVsdCAuLi4gYWNoIHdhcy4KSWNoIHRyYWV1bWUgbnVyIHNlbHRlbiwgYWJlciB3ZW5uLCBkYW5uIG1laXN0IGtvbWlzY2ggOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXBzIHVuZCBGcHMgbWFsIHdpZWRlci4uIChTa3ksIDEzLiBNYWkgMjAwMSwgMjA6Mjk6NTgpOgoKCgpIaSwKCkRhbWl0IGtlaW4gZmFsc2NoZXIgRWluZHJ1Y2sgZW50c3RlaHQ6IEVzIGZyZXV0IG1pY2ggZnVlciBqZWRlbiwgZGVyCkF1ZmdydW5kIGRlciBXZXJ0aWdrZWl0c2FlbmRlcnVuZyBkaWUgZWluZSBvZGVyIGFuZGVyZSBTdHVmZSBlcmhvZWhlbgprb25udGUuIEdvZW5uZSBpY2ggamVkZW0gdW5kIHdpbGwgZXMgbmllbWFuZGVtIG1hZGlnIG1hY2hlbi4gVW5kIGVzCmZyZXV0IG1pY2ggdm9yYWxsZW0gYXVjaCBmdWVyIGRpZSAnRHVyY2hzY2huaXR0c3NwaWVsZXInLCBkaWUgbnVuIApub2NoIHNjaG5lbGxlciBhbHMgYmlzaGVyIFN0dWZlbnB1bmt0ZSB1ZWJlciBFcHMgZ3V0IG1hY2hlbiBrb2VubmVuLgoKQUJFUjoKCkljaCBiZWhhdXB0ZSBtYWwsIGRhc3MgZXMgbnVuIGVpbiBub2NoIHN0YWVya2VyZXMgVW5nbGVpY2hnZXdpY2h0IGRlcgpFcHMgdW5kIEZwcyBnaWJ0LCBhbHMgZGFzIGJpc2hlciBzY2hvbiBkZXIgRmFsbCB3YXIuClp1Z2VnZWJlbiwgbmllbWFuZCBoYXQgZ2VzYWd0LCBkYXNzIGlyZ2VuZHdhcyBpbSBHbGVpY2hnZXdpY2h0IHNlaW4gCm11c3MsIGFiZXIgd2VubiBpY2ggZGF2b24gYXVzZ2VoZSwgZGFzcyBtYW4gKHp1bWluZGVzdCBpbSBNb21lbnQpIG51ciAKMTIgTGV2ZWxzIGR1cmNoIEVyZmFocnVuZ3NwdW5rdGUgaG9sZW4ga2FubiBzbyBpc3QgZGFzIGltIFZlcmdsZWljaCB6dQpkZW4genUgZXJyZWljaGVuZGVuIFN0dWZlbnB1bmt0ZSBzY2hvbiBldHdhcyBtYWdlci4gSWNoIG1laW5lIG1hbCBnZS0KaG9lcnQgenUgaGFiZW4sIGRhc3MgZXMgaW0gTUcgZnVlciAxMDAgU3R1ZmVuIEZvcnNjaGVycHVua3RlIGdpYnQuIApTZWxic3QgaWNoIGFscyBub3RvcmlzY2hlciBOdWxsLUZvcnNjaGVyIGR1ZXJmdGUgc28gY2EuIGZ1ZXIgMTUgU3R1ZmVuCmdlZm9yc2NodCBoYWJlbi4gRGEgd2FyIGRlciAnQXVmd2FuZCcgZGVzIEVwcy1tZXR6ZWxuIGRhbm4gZG9jaCBldHdhcyAKZ3JvZXNzZXIuIFp1bWFsIG1hbiBkaWUgRXBzIGR1cmNoIHN0ZXJiZW4gYmVrYW5udGxpY2ggd2llZGVyIHp1IGVpbmVtCm5pY2h0IGdlcmFkZSBnZXJpbmdlbiBUZWlsIHZlcmxpZXJ0LgoKSXJnZW5kd2VyIGhhdCBtYWwgZ2VzY2hyaWViZW4sIHdhcyBkZW5uIHNvIHNjaGxpbW0gZGFyYW4gc2VpLCBtYWwgc28gCmViZW4gdW0gPHg+LUxldmVscyBhYmdlc3R1ZnQgenUgd2VyZGVuLiBEYSBzdGVsbCBpY2ggZG9jaCBnZXJuIGRpZSBHZWdlbi0KZnJhZ2U6IFdhcyBpc3Qgc28gJ3RvbGwnIGRhcmFuIHNlaW5lIFN0dWZlIHp1IGVyaG9laGVuPyBXb3p1IGdpYnQgZXMgZGVubgpoaWVyIHVlYmVyaGF1cHQgUHVua3RlIGZ1ZXIgaXJnZW5kd2FzPyBXYXJ1bSBnaWJ0IGVzIGluIGRlciBBLUdpbGRlIGRhcwpLb21tYW5kbyAnZXJob2VoZSc/IFZpZWxsZWljaHQgc29sbHRuIHdpciBhbGxlIENoYXJha3RlcmUgYXVmIFN0dWZlIDAgCnNldHplbiwgZGFubiBrb2VubmVuIHdpciB1bnMgYWxsZSBpbiBkaWUgR2lsZGUgc3RlbGxlbiB1bmQgY2hhdHRlbi4KCkRlc3dlaXRlcmVuIGZ1ZXIgbWljaCBuaWNodCBiZWdyZWlmbGljaCBpc3QsIGRhc3MgaW4gZGVtICh6dW0gR2x1ZWNrCm5pY2h0IGFsbHp1IGhhZXVmaWdlbikgRmFsbCB3ZW5uIGVpbiBHZWJpZXQgYWJnZWhhZW5ndCB3aXJkLCBkaWUgRXJzdGtpbGxzCmF1c2dldHJhZ2VuLCBkaWUgRm9yc2NoZXJwdW5rdGUgYWJlciAnbnVyJyB1bWdlc2NocmllYmVuIHdlcmRlbi4gV2FzIGRlbm4gCm51bj8gSXN0IGRhcyBHZWJpZXQgd2VnIG9kZXIgbmljaHQ/IFdlbm4gbWlyIG1laW5lIEVrcyBhYmVya2FubnQgd2VyZGVuLApkYW5uIGhhZXR0ZSBpY2ggYXVjaCBnZXJuZSBlaW4gJ3VuZGllJyBmdWVyIGplZGVuIFRvZCwgZGVuIGljaCBtaXIgaW4gCmRpZXNlbSBHZWJpZXQgYWJnZWhvbHQgaGFiZS4gQWxzIFN0aWNod29ydCBzdGVsbHZlcnRyZXRlbmQgc2VpIG51ciBtYWwKV2luZnJpZWQgZ2VuYW5udC4KCkRhcyBzbyBlaW5lIGVpbnNjaG5laWRlbmUgQWVuZGVydW5nIGJlaSBkZW4gQmV0cm9mZmVuZW4gZWluZSBlbnRzcHJlY2hlbmRlClJlYWt0aW9uIGF1c3Nsb2VzdCBzb2xsdGUga2xhciBzZWluLiBIaWVyIHZvbiBlaW5lbSAiZXJmb2xncmVpY2gtc2NobGVjaHRlLQpTdGltbXVuZy12ZXJicmVpdGVuIiB6dSByZWRlbiBoYWx0ZSBpY2ggaW4gaG9lY2hzdGVtIE1hc3NlIGZ1ZXIgdW5mYWlyLgpJY2ggZnVlciBtZWluZW4gVGVpbCB3ZXJkZSBlcyBtaXIgYXVjaCB3ZWl0ZXJoaW4gbmljaHQgbmVobWVuIGxhc3NlbiBldHdhaWdlCk1pc3N0YWVuZGUgb2RlciBhdXMgbWVpbmVyIFNpY2h0IHVuZ2VyZWNodGZlcnRpZ3RlIEFrdGlvbmVuIHp1IGJlbWFlbmdlbG4uCkF1Y2ggZ2xhdWJlIGljaCBuaWNodCwgaGllciBqZW1hbHMgZnVlciBpcmdlbmR3YXMgZGllIGZhbHNjaGUgV29ydHdhaGwgZ2UtCmZ1bmRlbiB6dSBoYWJlbi4KCkhhYnQgU3Bhc3MgYW0gU3BpZWwgOikKClNreSwgc2Nob24gaW1tZXIgdW5kIGF1Y2ggd2VpdGVyaGluIHNwYXNzaGFiZW5kLgoKClAuUy46IE5laW4gQXJrLCBEdSBiaXN0IG1pdCBTaWNoZXJoZWl0IGtlaW4gJ2FybWVyIE1hZ2llcicgc29uZGVybiwgbWVpbmVyCiAgICAgIE1laW51bmcgbmFjaCwgbWl0IGJlaSBkZW0gYmVzdGVuLCB3YXMgZGFzIE1HIChpbiBkZW0gZnVlciB1bnMgU3BpZWxlcgogICAgICBlcmtlbm5iYXJlbiBUZWlsKSB6dSBiaWV0ZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVwcyB1bmQgRnBzIG1hbCB3aWVkZXIuLiAoR29yLCAxNC4gTWFpIDIwMDEsIDE1OjQ0OjEzKToKfiMhIHJuPVNreSBydD05ODk3Nzg1OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk3Nzg1OTgKSWNoIHNvbGx0ZSBtaXIgbWFsIG5lbiBpZ25vcmVpcmUgVGhyZWFkLWFsaSBzY2hyZWliZW4uIERhbmtlIGZ1ZXIgZGVuIG5ldW5lClRIcmVhZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcHMgdW5kIEZwcyBtYWwgd2llZGVyLi4gKFZhcmxhcmlvbiwgMTQuIE1haSAyMDAxLCAxNTo0Nzo1MCk6Cn4jISBybj1Hb3IgcnQ9OTg5ODQ3ODUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5Nzc4NTk4ClZlcmJyZW5uIGRvY2ggZGVpbmUgWmVpdHVuZyB9O28+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEb3VnbGFzIEFkYW1zIGlzdCB0b3QgKEhvYm8sIDE1LiBNYWkgMjAwMSwgMTQ6Mjg6MTYpOgpGYWxscyBlcyBqZW1hbmRlbiBpbnRlcmVzc2llcnQsIGRlciBlcyBiaXNoZXIgbm9jaCBuaWNodCBtaXRiZWtvbW1lbiBoYXQ6CkRvdWdsYXMgQWRhbXMgaXN0IGFtIFdvY2hlbmVuZGUgZ2VzdG9yYmVuLgpTY2hhZGUsIGRhc3MgZXMgZWluZW4gZ3Jvc3NhcnRpZ2VuIEF1dG9yIG51biBuaWNodCBtZWhyIGdpYnQuCgogICAgICBIb2JvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERvdWdsYXMgQWRhbXMgaXN0IHRvdCAoR3JpbW1ib3JuLCAxNS4gTWFpIDIwMDEsIDE2OjU0OjA2KToKfiMhIHJuPUhvYm8gcnQ9OTg5OTI5Njk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5OTI5Njk2ClVuZCBmdWVyIGRpZWplbmlnZW4sIGRpZSBub2NoIHdlbmlnZXIgbWl0YmVrb21tZW4gaGFiZW46CkF1Y2ggU2hha2VzcGVhcmUgbGVidCBuaWNodCBtZWhyLCB1bmQgZGFzIHNlaXQgMzg1IEphaHJlbi4gClNjaGFkZSwgZGFzcyBlcyBlaW5lbiBkZXIgYWJzb2x1dCBncm9zc2FydGlnc3RlbiBBdXRvcmVuIG51biBuaWNodCBtZWhyIGdpYnQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRG91Z2xhcyBBZGFtcyBpc3QgdG90IChHcmltbWFuLCAxNS4gTWFpIDIwMDEsIDE2OjU1OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05ODk5Mzg0NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk5Mjk2OTYKQWxzIHdlbm4gZHUgZGVuIGVybGVidCBoYWV0dGVzdCA6KQoKR3JpbU1hbiAtIGlzdCBhdWNoIHdpZWRlciBkYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRG91Z2xhcyBBZGFtcyBpc3QgdG90IChWYW5pb24sIDE1LiBNYWkgMjAwMSwgMTk6Mzc6NTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4OTkzODQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTkyOTY5NgpHcmltbWJvcm4sIHdpZSBlciBsZWlidCB1bmQgbGVidC4gCkR1IGhhc3QgZWNodCBkYXMgVGFrdGdlZnVlaGwgZWluZXMgKHJlaWNobGljaCkgZGVmZWt0ZW4gTWV0cm9ub21zLgoKViogZid1cHMgbmFjaCBkZS5hbHQuZmxhbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcHMgdW5kIEZwcyBtYWwgd2llZGVyLi4gKFNwZWxsZmlyZSwgMTcuIE1haSAyMDAxLCAwOTo0NTozMik6Cn4jISBybj1Ta3kgcnQ9OTg5Nzc4NTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTg5Nzc4NTk4Ck9oIE1hbm4gU2t5LApkdSBqYW1tZXJzdCBqYSBtZWhyIGFscyB3aXIgYmVpIGRlbiBSYXR0ZW4sIHVuZCBkYXMgd2FyIHdpcmtsaWNoIG5lIE1lbmdlCmFyYmVpdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERvdWdsYXMgQWRhbXMgaXN0IHRvdCAoQnViYmEsIDE3LiBNYWkgMjAwMSwgMjA6MDI6MzMpOgp+IyEgcm49VmFuaW9uIHJ0PTk4OTk0ODI3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTkyOTY5NgoKRXJrZW5udCBJaHIgZGVubiBuaWNodCBkYXMgU3lzdGVtLCBkYXMgaGludGVyIGFsbCBkZW0gc3RlY2t0PyE/IEVyc3Qgc3RpcmJ0ClNoYWtlc3BlYXJlIChhbmdlYmxpY2ggZWluZSBGaXNjaHZlcmdpZnR1bmcpLCBkYW5uIHdlcmRlbiBkaWUgRm9yc2NoZXJwdW5rdGUKZWluZ2VmdWVocnQsIGRhbm4gd2VyZGVuIGRpZSBFUHMgZ2VzdW5kZ2VzY2hydW1wZnQsIGRhbm4gaXN0IEQuIEFkYW1zIGRyYW4KKGFuZ2VibGljaCBlaW4gSGVyemthc3BlcikgLSB3YXMga29tbXQgYWxzIG5hZWNoc3Rlcz8gS2VpbmVyIHdlaXNzIGVzLCBpY2gKYXVjaCBuaWNodCAtIGVpbmVzIHdlaXNzIGljaCBhYmVyIHVtc28gc2ljaGVyZXI6IFdJUiBXRVJERU4gQUxMRSBNQU5JUFVMSUVSVCEKQW4gZGVuIG9iZW4gYW5nZWZ1ZWhydGVuIEJlaXNwaWVsZW4gaXN0IGtsYXIgYWJ6dWxlc2VuLCBkYXNzIGRpZQpGdWVocnVuZ3NjbGlxdWUgZGVzIE1vcmdlbmdyYXVlbnMgdW5zIGFsbGUgenUgdW50ZXJqb2NoZW4gdmVyc3VjaHQuIERpZQpzdHJlYmVuIGRvY2ggYXVjaCBudXIgZGllIFdlbHRoZXJyc2NoYWZ0IGFuIC0gdW5kIHdpciB3ZXJkZW4gZGllIHZlcnNrbGF2dGVuCk9wZmVyIHNlaW4hIApHZWh0IG5hY2ggSGF1c2UsIExldXRlISBHZWh0LCBiZXZvciBlcyB6dSBzcGFldCBpc3QhISEKCkJ1YmJhIC0gZGllIEhvc2VuIHZvbGwgdm9yIEFuZ3N0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRG91Z2xhcyBBZGFtcyBpc3QgdG90IChHb2RvdCwgMTcuIE1haSAyMDAxLCAyMjowNzoxOCk6Cn4jISBybj1CdWJiYSBydD05OTAxMjI1NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk5Mjk2OTYKQXVjaCBLYXJsIFJhbXNhdWVyIGlzdCB0b3QhCgpHb2RvdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRG91Z2xhcyBBZGFtcyBpc3QgdG90IChLYXJpcywgMTcuIE1haSAyMDAxLCAyMjozMToxOSk6Cn4jISBybj1Hb2RvdCBydD05OTAxMzAwMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk5Mjk2OTYKS2FybCBoZWlzc3QgZXIsIG51ciBSYW5zZWllci4KQWJlciB0b3QgaXNzZXIsIGRhIGhhc3RlIHJlY2h0LgoKQW4gd2FzIHN0YXJiIGRlciBlaWdlbnRsaWNoPyAKCkdlbmVyYWVsY2hlbiBLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRG91Z2xhcyBBZGFtcyBpc3QgdG90IChSYW5zZWllciwgMTkuIE1haSAyMDAxLCAyMTozMjo0OSk6Cn4jISBybj1LYXJpcyBydD05OTAxMzE0Nzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk5Mjk2OTYKaG1tbSwgaW0gbW9tZW50IGJpbiBpY2ggamEgZ2FybmV0IHRvdC4uLnVuZCB3ZXIga2FybCByYW1zYXVlciBpcyp6dWNrKgoKCkV1ZXIgd2FocmVyIEthcmwgUmFuc2VpZXIsIApkZXIgd28gbmllIHdhcyB6dSBzYWdlbiBoYXQsIHdlaWwgZXIgZGVyIHdvaGwKZXJmb2xnbG9zZXN0ZSBtdWRkZXIgYWxsZXIgemVpdGVuIGlzdC4uLgpLYXJsIFJhbnNlaWVyIHN0YXJiIGJlaSBkZW0gVmVyc3VjaCwgc2VpbmUgTVBBIHp1IHZlcmJyZW5uZW4uCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERvdWdsYXMgQWRhbXMgaXN0IHRvdCAoQXRveiwgMjEuIE1haSAyMDAxLCAxMzoyNzoyMyk6Cn4jISBybj1CdWJiYSBydD05OTAxMjI1NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk5Mjk2OTYKQ29vbCBEdSBiaXN0IGphIG5vY2ggYmVzc2VyLCBhbHMgZGVyIEVyc3RpZSBkZW4gaWNoIGxldHp0ZXMgSmFociBpbSBUdXRvcml1bQpoYXR0ZSB1bmQgZGVyIG1pciBlcnphZWhsdCBoYXQsIGRhc3MgZGllIFBmZWlsZSBBbGxhaHMgamV0enQgZGllIEJpbGxzIGRpZXNlcgpXZWx0IHRyZWZmZW46CkVyc3QgdmVybGllcnQgR2F0ZXMgZGllc2VuIFByb3plc3MgdW5kIGRhbm4gYXVjaCBub2NoIHNlaW5lIEFrdGllbiBhbiBXZXJ0Lgp1bmQgQmlsbCBDbGludG9uIGhhdCBQcm9ibGVtZSBtaXQgc2VpbmVyIEZyYXUuCkFiZXIgbmllbWFuZCB3ZWlzcyB3YXMga29tbWVuIHdpcmQuLi4KCndhcyBlciBkYW1pdCBzYWdlbiB3b2xsdGU/IEtlaW5lIEFobnVuZywgaWNoIHZlcnN1Y2hlIG5vY2ggd2VuIHp1IGZpbmRlbiwgZGVycwptaXJ0IGVya2xhZXJ0LiBEYSBrYW5uIGljaCBEZWluZSBBcmd1bWVudGUgZmFzdCBub2NoIGJlc3NlciBuYWNodm9sbHppZWhlbgo7KSkpCgpHcnVzcywKQXRveiAtIGhlaXNzdCB6dW0gR2x1ZWNrIG5pY2h0IEJpbGwgdW5kIGVpZ25ldCBzaWNoIGVpZ2VudGxpY2ggYXVjaCBuaWNodCB6dW0KT3BmZXIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVyZmFocnVuZ3NwdW5rdGUgdW5kIFN0dXBzZSAoQW5ha2luLCAyNS4gTWFpIDIwMDEsIDE3OjMzOjM4KToKfiMhIHJuPU11cGZlbCBydD05ODk1MDA2MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODk0MTU2MTgKCk1HIGlzdCBlaW4gTWV0emVsbXVkLCBzY2hvbiBpbW1lciBnZXdlc2VuIDopCgpBbmFraW4uIChBdXMgZGVyIFJlbnRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChJaHNhaG4sIDI2LiBNYWkgMjAwMSwgMDA6MTc6MzIpOgp+IyEgcm49QW5ha2luIHJ0PTk5MDgwNDgxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApBbHNvIG5hY2ggZGVtIExlc2VuIGRpZXNlciBlaW5lbiBSdWJyaWssIHdlaXNzIGljaCB3aWVkZXIgd2llc28gaWNoIGtlaW5lIEx1c3QKenVtIE11ZGRlbiBtZWhyIGhhYmUgOykgQWJlciB6dW0gTVBBIHZvbGxtdWVsbGVuIGltbWVyLgoKRmlkS0cgKGkuQS4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRXJmYWhydW5nc3B1bmt0ZSB1bmQgU3R1cHNlIChaaWxsdXMsIDI2LiBNYWkgMjAwMSwgMDE6MDg6MzkpOgp+IyEgcm49SWhzYWhuIHJ0PTk5MDgyOTA1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4OTQxNTYxOApLb2VubnRlc3QgRHUgZGllc2VuIEFydGlrZWwgbmljaHQgaW4gZGVyIFJ1YnJpayBNZWdhc2NobWFycm4gc2NocmVpYmVuLCBkYW5uCmtvbW1lbiB3aXIgc2NobmVsbGVyIHp1bSBaaWVsIDotKQoKWmlsbHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJhMiAoVmVjdG9yLCAxMS4gSnVuIDIwMDEsIDE3OjMxOjA1KToKSGFsbG8gRnJldW5kZSBkZXIgaG9oZW4gS3Vuc3QgZGVzIE1ldHplbG5zICEKCgpMYW5nZSBaZWl0IHdhciBlcyBzdGlsbCBpbiBQYXJhMiwgZG9jaCBkYXMgaXN0IG51biB2b3JiZWkuCldpciB1bnRlcm5laG1lbiBlaW5lbiBuZXVlbiBBbmxhdWYsIFBhcmFjZWxzdXMnIFNrZWxldHRlCmVpbnp1Z3JhYmVuLiBXZXIgSW50ZXJlc3NlIGhhdCwgenUgZGVuIGVyc3RlbiB6dSBnZWhvZXJlbiwKZGllIGRhcyBnZWhlaW1uaXN2b2xsZSBIYXVzIGJldHJldGVuLCBiaXR0ZSBuZSBrdXJ6ZSBNYWlsCmFuIG1pY2gsIGRhbWl0IHdpciBkYXMgYmVzc2VyIG9yZ2FuaXNpZXJlbiBrb2VubmVuIG1pdCBkZW4KdmVyc2NoaWVkZW5lbiBUZWFtcyAodm9ycmF1c3NpY2h0bGljaCB3aXJkIGVzIDMgVGVhbXMgZ2ViZW4pLgpCZWkgQmVkYXJmIHNjaGljayBpY2ggZXVjaCBXZWdlc2NyaXB0ZSB1bmQgS2FydGVuIGluIGJlc3RlY2hlbmRlcgpBU0NJSS1RdWFsaXRhZXQuCkRhcyBHYW56ZSBmaW5kZXQgZGllc2VuIEZyZWl0YWcgYWJlbmQgc3RhdHQgKGljaCBzY2hhZXR6ZSBhYgpjYSAyMC4wMCkuIEJlc29uZGVycyBlaW5nZWxhZGVuIHNlaWVuIGhpZXIgQ2hhb3RlbiB1bmQgZGVyIEJlc2l0emVyCmRlcyBFcmRzdGVpbnMuIDopCkF1ZiBkYXMgZGllc2VzIE1hbCBkaWUgU2tlbGV0dGUgYmVrb21tZW4sIHdhcyBzaWUgdmVyZGllbmVuLgoKLS1WZWN0b3ItLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYXJhMiAoRm9vYmFyLCAxMS4gSnVuIDIwMDEsIDE3OjMzOjIxKToKfiMhIHJuPVZlY3RvciBydD05OTIyNzM0NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTIyNzM0NjUKQWJ3ZWhybWFnaXN0ZXIgc2luZCBuaWNodCBtZWhyIGdhbnogc28gbnVldHpsaWNoLCBhYmVyIG5hdHVlcmxpY2ggdHJvdHpkZW0KZ2VybmUgZ2VzZWhlbi4gOm8pCgpVbmQgaWNoIHBlcnNvZW5saWNoIGhhZXR0ZSBhdWNoIGdlcm5lIGVpbmVuIExlbWJvbGQtSFAuLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFya3RsYWdlIChTaXJqb2huLCAxMi4gSnVuIDIwMDEsIDE1OjIzOjQyKToKSGkhCkRhIGhpZXIgZGllIFNwaWVsZXJnZW1laW5kZSBpbW1lciBub2NoIHN0ZXRpZyB3YWVjaHN0LCBzb2xsdGVuIHdpciB2bGx0IGRpZQpSYXRlIGV0d2FzIHZlcnJpbmdlcm4sIG1pdCBkZXIgZGllIE1hcmt0bGFnZSBzaWNoIHZlcnNjaGxlY2h0ZXJ0LiBXZW5uIGVpbgpwYWFyIExldXRlIGJlaSBndXRlciBNYXJrdGxhZ2UgdmllbCB2ZXJrYXVmZW4gdW5kIGZ1ZXIgZGllIHJlc3RsaWNoZW4gMTAwCmJsZWlidCBmYXN0IG5pY2h0cyBtZWhyLCBpc3QgZGFzIGphIHZpZWxsZWljaHQgbmljaHQgc28gdW5yZWFsaXN0aXNjaCwgYWJlcgpJTUhPIG5pY2h0IGdlcmFkZSBmYWlyLCB1bmQgTUcgaXN0IGphIG51ciBlaW4gU3BpZWwuCkdydXNzLCBTaXJKb2huCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFya3RsYWdlIChHbG9pbnNvbiwgMTIuIEp1biAyMDAxLCAyMDoxNDo1NSk6Cn4jISBybj1TaXJqb2huIHJ0PTk5MjM1MjIyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MjM1MjIyMgpNZWluZSBTcGllbGNoYXJha3RlcmUgaGFiZW4gZWlnZW50bGljaCBub2NoIG5pZSBhbiBha3V0ZW0gR2VsZG1hbmdlbCBnZWxpdHRlbi4KV2VubiBkaWUgTWFnaWVyc2NoYWZ0IG5hY2ggRGVpbmVtIFd1bnNjaCBlaW5lIHdlaXRlcmUgTGl6ZW56IHp1bSBHZWxkZHJ1Y2tlbgphdXNnZWJlbiBzb2xsLCBkYW5uIG11ZXNzdGVuIHNpY2ggYWxsZXJkaW5ncyBhdWNoIGRpZSBQcmVpc2UgaW5mbGF0aW9uYWVyCmV0d2FzIGFucGFzc2VuLiBBdWNoIGluIGRlbiBLbmVpcGVuLgpNYW4ga29lbm50ZSBhbGxlcmRpbmdzIGRlbiBNYW5uIG1pdCBkZW0gTGFnZXIgZXR3YXMgd2FlaGxlcmlzY2hlciBtYWNoZW4gdW5kCmlobiBuYWNoIGZ1ZW5mIE9iamVrdGVuIGltIExhZ2VyIGRlbiBzZWxiZW4gU2NoZWlzcyBlaW5mYWNoIGFibGVobmVuIGxhc3Nlbi4KSWNoIGZyYWcgbWljaCBzb3dpZXNvIHdvaGluIGRpZSBkYXMgd2VpdGVydmVya2F1ZmVuLiBIYWJlbiB3aXIgZWluZSBBbmJpbmR1bmcKbmFjaCBTaWxiZXJsYW5kIG9kZXIgUEssIGQuaC4gZWluIE1VRCB3byBSdWVzdHVuZ2VuIHVuZCBXYWZmZW4gc2ljaCBhYm51dHplbgpvZGVyIHdvIGdlaGVuIGRpZSBnYW56ZW4gV2FyZW4gaGluICp1bmVybnN0ZSBGcmFnZSo/CgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hcmt0bGFnZSAoQ3JvZnQsIDEyLiBKdW4gMjAwMSwgMjA6MTY6MjkpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTkyMzY5Njk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkyMzUyMjIyCktyZWlzbGF1ZiBuYXR1ZXJsaWNoLiAgRGllIE1vbnN0ZXIgYmVrb21tZW4gaWhyIFpldWcgc2NobGllc3NsaWNoIGF1Y2gKaXJnZW5kd29oZXIgOy0pCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYXJrdGxhZ2UgKEdsb2luc29uLCAxMi4gSnVuIDIwMDEsIDIwOjE5OjU1KToKfiMhIHJuPUNyb2Z0IHJ0PTk5MjM2OTc4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MjM1MjIyMgpIYWVuZGxlcjogR3V0ZW4gVGFnLCBNciBXZWdoaWVyLiBTaWUgd3VlbnNjaGVuPwpXZWdoaWVyOiBEYXMgdWVibGljaGUuIEVpbmVuIFNhY2sgZnVlciBkaWUgS29lcGZlLCBlaW5lbiBWb2xsc3RyZWNrZXIKV2VnaGllcjogdW5kIFN0aXJuYmFuZCB1bmQgQW50aWZldWVycmluZy4KSGFlbmRsZXI6IE1vbWVudC4KSGFlbmRsZXI6IEhpZXIgaWhyIFN0aXJuYmFuZC4gU2FnIHNpZSBtYWwsIGVpbiBOYWNodGRvbGNoIHNhZWhlIGFuIGlobmVuIGRvY2gKSGFlbmRsZXI6IHVuaGVpbWxpY2ggc2NoaWNrIGF1cy4gVW5kIGRpZXNlciByb2V0bGljaGUgUmluZyBoaWVyLCB3aWUgZWxlZ2FudApIYWVuZGxlcjogZGVyIHp1IGRlbiBTY2hydW1wZmtvZXBmZW4gcGFzc2VuIHd1ZXJkZS4KV2VnaGllciBncnVtbWVsdC4KKnBsaW5ncGxvbmcgW0luOiBFaW4gTWFtbXV0XQpNYW1tdXQ6IEhhYmVuIHNpZSBFbGZlbmJlaW5zdG9zc3phZWhuZSB2b3JyYWV0aWc/CkhhZW5kbGVyOiBGcmFnZW4gc2llIGRvY2ggbWFsIGJlaSBPQkkuCgpHbG9pbihzb24pIGdyaW5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFya3RsYWdlIChHcmltbWJvcm4sIDEyLiBKdW4gMjAwMSwgMjA6MjA6MDMpOgp+IyEgcm49Q3JvZnQgcnQ9OTkyMzY5Nzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkyMzUyMjIyCkplcHAsIHVuZCBkYXMgaXN0IGdhbnogc2Nob2VuIGF1ZndlbmRpZy4gV2lyIGJyYXVjaGVuIGhpZXIgaW1tZXIgZWluZQpNaW5kZXN0YmVzZXR6dW5nIHZvbiBNYWdpZXJuLCBkaWUgdm9uIGRlbiBMYWVkZW4gZGllIEF1c3J1ZXN0dW5nIGVpbnNhbW1lbG4KdW5kIHdpZWRlciBhbiBuZXUgZW50c3RlaGVuZGUgTlBDIGF1c2dlYmVuLiBLbGFwcHQgbWl0dGxlcndlaWxlIGdhbnogZ3V0LCB3ZWlsCmVzIGdlbnVnIE1hZ2llciB1bmQgYXVjaCBlaW4gcGFhciB0ZWNobmlzY2hlIEhpbGZzbWl0dGVsICgiU2NyaXB0dmVyYm90PyBJY2gKZGFjaHRlIGRhcyBnaWx0IG51ciBmdWVyIFNwaWVsZXI/IikgZ2lidC4gQWJlciBpY2ggZXJpbm5lcmUgbWljaCBub2NoIGFuCmZydWVoZXIsIGxhbmdlIHZvciB0Ziwgd28gZGFzIGFsbGVzIHZvbiBIYW5kIGdlbWFjaHQgd2VyZGVuIG11c3N0ZSwgdW5kIGF1Y2gKbmljaHQgaW1tZXIgTWFnaWVyIGRhIHdhcmVuLiBEYSBpc3QgZXMgZGFubiBuYWNodHMgbWFuY2htYWwgdm9yZ2Vrb21tZW4sIGRhc3MKZGllIE5QQ3Mga2VpbmUgQXVzcnVlc3R1bmcgaGF0dGVuIHdlbm4gbWFuIHNpZSB0cmFmLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBzaW5kIGZvbGdlbmRlIFBDcyBjYSB3ZXJ0Li4uIChEYW50ZSwgMTQuIEp1biAyMDAxLCAxMTowMzoxOSk6CkNvbXB1dGVyYW5sYWdlIENvbXBhcTQwMCAxNycnIEJpbGRzY2hpcm0sIENELSB1LiBEaXNrZXR0ZW5sYXVmd2VyaywgVGFzdGF0dXIsCk1hdXMgCgpEcnVja2VyIEhQIExhc2VyIEpldCA0MDUwIFROICAKRHJ1Y2tlciBIUCBMYXNlciBKZXQgMzEwMCAgCkNvbXB1dGVyYW5sYWdlIFBvd2VyIE1hY2ludG9zaCA0NDAwLzIwMCAxNycnIEJpbGRzY2hpcm0sIFRhc3RhdHVyLCBNYXVzIAoKQ29tcHV0ZXJhbmxhZ2UgUG93ZXIgTWFjaW50b3NoIDQ0MDAvMjAwIDE5JycgQmlsZHNjaGlybSwgVGFzdGF0dXIsIE1hdXMgCgpDb21wdXRlcmFubGFnZSBNYWNpbnRvc2ggUG93ZXIgNzYwMC8yMCAxOScnIEJpbGRzY2hpcm0sIFRhc3RhdHVyLCBNYXVzIApDb21wdXRlcmFubGFnZSBQb3dlciBNYWNpbnRvc2ggNzYwMC8xMjAgMTknJyBCaWxkc2NoaXJtLCBUYXN0YXR1ciwgTWF1cyAKQ29tcHV0ZXJhbmxhZ2UgUG93ZXIgUEMgNjAzRS8xODAgQmlsZHNjaGlybSwgVGFzdGF0dXIsIE1hdXMgCkNvbXB1dGVyYW5sYWdlIFBvd2VyIE1hY2ludG9zaCAKMyBCaWxkc2NoaXJtLCBUYXN0YXR1ciwgTWF1cwoKU29ycnkgZnVlciBkaWUgUmVkdW5kYW56LCBpcyBhYmVyIG5lIHJlY2h0IHdpY2h0aWdlIFNhY2hlLCB0bnguLgpNaWNoIGludGVyZXNzaWVydCB3YXMgZGllc2UgdGVpbGUgc28gY2EgV2VydCBzZWluIGtvZW5udGVuLAp3ZW5uIG1hbiBkYXMgc28gdWViZXJoYXVwdCBzYWdlbiBrYW5uLgp0bngKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgc2luZCBmb2xnZW5kZSBQQ3MgY2Egd2VydC4uLiAoR3JpbW1ib3JuLCAxNC4gSnVuIDIwMDEsIDExOjA0OjEyKToKfiMhIHJuPURhbnRlIHJ0PTk5MjUwOTM5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MjUwOTM5OQpJY2ggYmlldGUgRGlyIDUwIERNIGZ1ZXIgYWxsZXMgenVzYW1tZW4uCgpHcmltbWJvcm4gZGVyIEF0ZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVkaW1heCAoRGFyaWEsIDE1LiBKdW4gMjAwMSwgMTU6MTI6MDIpOgpIdWh1LAppbiBkZXIgWmVpdHNjaHJpZnQgQXVkaW1heCwgZGllIGltbWVyIGtvc3RlbmxvcyBhbiBVbmlzIGF1c2xpZWd0LCBpc3QgZWluCkFydGlrZWwgdWViZXIgTXVkcy4KQW4gTXVkcyBzdGVoZW4gZGljayBVbml0b3BpYSB1bmQgR3VlbGRlbmxhbmQgKGJlaWRlIG1pdCBkZW0gWnVzYXR6IERFUgpLTEFTU0lLRVIpIGRyaW4uClZvbSBNRyBrZWluIFdvcnQsIGFuc29uc3RlbiBoYWx0IHd3dy5tdWQuZGUgLgpEYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1ZGltYXggKEJhYm9vbiwgMTUuIEp1biAyMDAxLCAxNjowMDowNSk6Cn4jISBybj1EYXJpYSBydD05OTI2MTA3MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTI2MTA3MjIKTmFqYSwgd2VyIHNwaWVsdCBhdWNoIHNjaG9uIE1vcmdlbkdyYXVlbj8KCklkbGUgaGVydW1zdGVoZW5kLCBCYWJvb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWNoc2VuZGVhbnRyYWcgKFllbmRpLCAyNy4gSnVuIDIwMDEsIDIxOjUyOjM1KToKCkhhdCBlcyBlaW5lbiBiZXNvbmRlcmVuIEdydW5kLCBkYXNzIE5hY2hzZW5kZWFudHJhZWdlIGZ1ZXIgbWFpbCB2b24gYXVzc2VyaGFsYgpkZXMgTVVEIG5pY2h0IGZ1bmt0aW9uaWVyZW4/CgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaHNlbmRlYW50cmFnIChUYXJhZ29uLCAyNy4gSnVuIDIwMDEsIDIxOjU4OjMzKToKfiMhIHJuPVllbmRpIHJ0PTk5MzY3MTU1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzY3MTU1NQpqYS4gZGllcyBoaWVyIGlzdCBuaWNodCBHTVguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmUgV2FmZmVua3VuZGUgKEloc2FobiwgMjguIEp1biAyMDAxLCAxMjoyMToyMyk6Ck1vaW4sCgpiZWltIGR1cmNoaGVjaGVsbiBkZXIgTVBBIGZpZWwgbWlyIGJlc29uZGVycyBkaWUgQmFsYW5jZSAoZi5kLkIuKSB1bmQKS29jaG1lc3NlcmRpc2t1c2lvc2lvbiBhdWYuIFNlbHRlbiBzbyB2aWVsIEJsb2Vkc2lubiBnZWxlc2VuLCBkZXIgYXVzIGJsYW5rZXIKVW53aXNzZW5oZWl0IGVudHN0ZWh0LiBCZXNvbmRlcnMgZGFzIFRoZW1hIHp3ZWloYWVuZGlna2VpdCBiZWRhcmYKb2ZmZW5zaWNodGxpY2ggZGVyIEVybGFldXRlcnVuZy4gCjEuIFdhZmZlbnR5cGVuIGhhZW5nZW4gdW5taXR0ZWxiYXIgdm9uIGRlciBLYW1wZnRha3RpaywgS2FtcGZ0ZWNobmlrIHVuZApSdWVzdHVuZ3N0ZWNobmlrIGlocmVyIFplaXQgYWIuCjIuIE51ciBpbSBGYW50YXN5YmVyZWljaCBleGlzdGllcmVuIGFsbGUgV2FmZmVudHlwZW4gZ2xlaWNoemVpdGlnCm5lYmVuZWluYW5kZXIuCjMuIEJlc3RpbW10ZSBXYWZmZW4gdGF1Y2hlbiBkYWhlciBpbiBSZWFsaXRhZXQgbnVyIGluIGVpbmVtIGVuZyBiZWdyZW56dGVuCktvbnRleHQgYXVmLCBkYWhlciBpc3QgZGFzIEFyZ3VtZW50ICJIYWJlIHp3ZWloYWVuZGlnZSBNZXNzZXIgaW4gbWVpbmVtCldhZmZlbmJ1Y2giIGdlc2VoZW4gdW50YXVnbGljaC4KCkVya2xhZXJ1bmc6IFp3ZWloYWVuZGlnZSBTY2h3ZXJ0ZXIgc2luZCBrZWluZXN3ZWdzIG1pdHRlbGFsdGVybGljaC4gSHVjaCwgaGFiCmljaCBkb2NoIGltIEZpbG0gZ2VzZWhlbj8gVGphIEJyYXZlaGVhcnQgaXN0IGViZW4gbmljaHQgZGllIFJlYWxpdGFldC4KQmloYWVuZGVyIGhhYmVuIGRpZSBBdWZnYWJlIGxhbmdlIFN0YW5nZW53YWZmZW4sIHouQi4gUGlrZW4genUgYnJlY2hlbi4KQW5zb25zdGVuIHNpbmQgZGllIGVpbmZhY2ggenUgdW5oYW5kbGljaC4gUGlrZW53YWVsZGVyIGdhYiBlcyBhYmVyIGVyc3QgenUKTGFuZHNrbmVjaHRzemVpdGVuLCBkaWUgbWl0IGRlbiBsYW5nZW4gU2Nod2VydGVybiBnaW5nZW4gZGFubiBpbiBlcnN0ZXIgUmVpaGUKKFZlcmxvcmVuZXIgSGF1ZmUpIHVuZCBiZWthbWVuIGRvcHBlbHRlbiBTb2xkLiBXaWVnZW1lc3NlciBzaW5kIHp1bSBLb2NoZW4gZGEsCm5pY2h0IHp1bSBLYWVtcGZlbi4gendlaWhhZW5kaWdlIE1lc3NlciBob2VjaHN0ZW5zIHp1ciBSZXByYWVzZW50YXRpb24sIHdpZQp6LkIuIGF1Y2ggdmlWaWVyLSBvZGVyIFNlY2hzaGFlbmRlci4gV2FzIGhpZXIgYXVjaCBuaWUgdW50ZXJzY2hpZWRlbiB3aXJkIHNpbmQKU3BlZXJlIHVuZCBMYW56ZW4uIERpZSBlaW5lbiBzaW5kIHp1bSBXZXJmZW4sIGRpZSBhbmRlcm4genVtIFN0b3NzZW4gdW5kCkZlY2h0ZW4gKHRhdHNhZWNobGljaCkuIApMYW5nZSBSZWRlLCBrdXJ6ZXIgU2lubjogV29sbHRlIG1hbiB3aXJrbGljaCBSZWFsaXRhZXRzYmV6dWcgYmVpIGRlbiBXYWZmZW4sCm11ZXNzdGUgbWFuIGFsbGUgV2FmZmVudHlwZW4gaW4gQmV6dWcgenUgUnVlc3R1bmdzdHlwZW4gdW5kIEthbXBmd2Vpc2UKYnJpbmdlbi4gRC5oLiBVbmZ1Zy4gUmVhbGl0YWV0IChob2ZmZW50bGljaCBrYW5uIG1hbiBkYXMgbGVzZW4pIGF1cyBkZW0KU3BpZWwuLi4KCmkuQS4gdS4gRi5pLmQuSy5HLgpJaHNhaG4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmUgV2FmZmVua3VuZGUgKEdvciwgMjguIEp1biAyMDAxLCAyMDo1MTozNCk6Cn4jISBybj1JaHNhaG4gcnQ9OTkzNzIzNjgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCk5hamEgbWFuIHN0ZWxsZSBzaWNoIGVpbmVuIEhvYmJpdCB2b3IsIGRlciBtaXQgZWluZW0gbGFuZ2VuIEt1ZWNoZW5tZXNzZXIKcnVtaGFudGllcnQuLiBBdWZncnVuZCBkZXMgaG9oZW4gR2V3aWNodGVzIGRlciBLTGluZ2UgdW5kIGRlciBnZXJpbmdlbgpLb2VycGVyZ3JvZXNzZSBtdXNzIGRlciBIb2JiaXQgZGFzIERpbmcgendlaWhhZW5kaWcgenVlY2tlbi4gRGFnZWdlbiBpc3QgZG9jaAp1ZWJlcmhhdXB0IG5peCBlaW56dXdlbmRlbiBvZGVyPyBNYWwgZGllIFNpY2h0IGRlciBCYWxhbmNlIHdlZ2dlbm9tbWVuLiA7KQpHb3IgZGVyIGZ1ZXIgWndlaWhhbmR3YWZmZW4gZnVlciBIb2JiaXRzIHBsYWVkaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xlaW5lIFdhZmZlbmt1bmRlIChHbG9pbnNvbiwgMjguIEp1biAyMDAxLCAyMjowMTowMCk6Cn4jISBybj1Hb3IgcnQ9OTkzNzU0Mjk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCkphLCBpc3QgZG9jaCBPSywgZGFzcyBEdSBSZWFsaXNtdXMgZWluZnVlaHJzdCB1bmQgZGFtaXQgRGVpbmUgU2ljaHQKdW50ZXJzdHVldHp0LiBEYW5uIGRlbmtlIGljaCBzb2ZvcnQgYW4gZGVuIGtsZWluZW4gSG9iYml0IHVuZCBTdGluZyB1bmQgc2FnZToKRXIgZnVlaHJ0IGRpZXNlcyBNZXNzZXIgd2llIGVpbiBTY2h3ZXJ0LgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xlaW5lIFdhZmZlbmt1bmRlIChQYXRyeW4sIDI4LiBKdW4gMjAwMSwgMjI6Mjc6MDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTkzNzU4NDYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCm5hIGphLCBpY2ggaGFiIGhpZXIgZ2xhdWIgaWNoIHNjaG9uIG1hbCBnZXNhZ3QsIGRhc3MgZGllIGRlcnplaXRpZ2UKa2xhc3NpZml6aWVydW5nIHZvbiB3YWZmZW4gYXVjaCBuaWNodCBzb29vbyB0b2xsIGlzdCwgZWJlbiB3ZWlsIGRpZQplaW50ZWlsdW5nIHZpZWwgenUgZ3JvYiBpc3QgdW5kIGF1Y2ggY29udGV4dGFiaGFlbmdpZywgemIgb2IgZWluZQpyYXNzZSBkYXMgbGFlbmdsaWNoZSB0ZWlsIG1pdCBrbGluZ2UgYWxzIHNjaHdlcnQgb2RlciBtZXNzZXIgZnVlaHJ0Lgp2aWVsIHNpbm52b2xsZXIgd2FlcmUgZWluZSBlaW50ZWlsdW5nIGRlciBhcnQ6CiBoYXVlbi9zdGVjaGVuLCBzaXplPDE0MDplaW5oYWVuZGlnLCBoYXVlbjpjdXQscG9zaW9uLCBzdGVjaGVuOnBpZXJjZSxwb2lzb24KdS5zLncuLCB3b2JlaSBkaWUgZWluemVsbmVuIGFuZ2FiZW4gYWJoYWVuZ2lnIHZvbSBmdWVocmVuZGVuIHNlaW4ga29lbm5lbiwKd2llIGJlaSBzaXplIGdlc2VoZW4uLi5hZWhuIHNpemU8MTQwP3p3ZWloYWVuZGlnOmVpbmhhZW5kaWcgaGFldHRlIGVzCmhlaXNzZW4gbXVlc3NlbiwgaXN0IGphIG51ciBwc2V1ZG9jb2RlIDopCgotLQpwYXRyeW4sIGtvbmZ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmUgV2FmZmVua3VuZGUgKFB1aywgMjguIEp1biAyMDAxLCAyMzoxODoyNik6Cn4jISBybj1Hb3IgcnQ9OTkzNzU0Mjk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCk1oLCBoZWlzc3QgZGFzIGRhbm4gZGFzIGxhdXQgZGVpbmVyIEFyZ3VtZW50YXRpb24gSG9iYml0cyBzY2hvbiBtaXQgbGFuZ2VuCk1lc3Nlcm4gdWViZXJoYW5kIGJla29tbWVuID8gV2FzIHBhc3NpZXJ0IGRhbm4gZXJzdCB3ZW5uIGRpZXNlIGVpbgpad2VpaGFlbmRlcnNjaHdlcnQgaW4gZGllIEhhbmQgbmVobWVuID8gRGFubiBmYWxsZW4gZGllIGphIGJlaSBqZWRlbSB6dWVja2VuCmVyc3RtYWwga3JhZWZ0aWcgYXVmIGRpZSBOYXNlIHdhcyBzaWNoIGphIGJla2FubnRsaWNoIHNlaHIgc2NobGVjaHQgYXVmIGRlbgpBbmdyaWZmIHVuZCBkaWUgVmVydGVpZGlndW5nIGF1c3VlYnQuCkFsc28gc2NobGllc3N0IG1hbiBkYW5uIGRhcmF1cyBkYXMgSG9iYml0cyBuaWVtYWxzIGF1Y2ggbnVyIGVpbmVuIFp3ZWloYWVuZGVyCnp1ZWNrZW4gZHVlcmZlbiA/ClVuZCB3aWUgc2llaHQgZGFzIGRhbm4gbWl0IFNwZWVyZW4gYXVzID8gSWNoIG1laW4gZnVlciB3YXMgYW5kZXJlcyBhbHMKU3RhYmhvY2hzcHJ1bmcgc2luZCBkaWUgZGFubiBmdWVyIEhvYmJpdHMgZWggbmljaHQgenUgZ2VicmF1Y2hlbi4KClB1ayBzYWd0IHNvIG9sZCBzY2htYXJybiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xlaW5lIFdhZmZlbmt1bmRlIChXdXJ6ZWwsIDI5LiBKdW4gMjAwMSwgMDg6NDY6NDApOgp+IyEgcm49UHVrIHJ0PTk5Mzc2MzEwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpkZXMgcmFldHNlbHMgbG9lc3VuZzogaG9iYml0cyBhYnNjaGFmZmVuLgpvZGVyIGFsbGVzIHZpZWwsIHZpZWwga29tcGxpemllcnRlciBtYWNoZW4uLi4gc3VjaHQgZXVjaCB3YXMgYXVzLgpwZXJzb2VubGljaCBiZXZvcnp1Z2UgaWNoIGVpbmUgZHJpdHRlIGFsdGVybmF0aXZlOiBsYXNzZW4gd2llIGVzIGlzdC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xlaW5lIFdhZmZlbmt1bmRlIChXaWxsb3csIDI5LiBKdW4gMjAwMSwgMDg6NTI6NTIpOgp+IyEgcm49V3VyemVsIHJ0PTk5Mzc5NzIwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4Mwp0amFoYWFhLCBkaWUgZHJpdHRlIGFsdGVybmF0aXZlIGtsaW5ndCBuYWNoIG5lciBtZW5nZSBhZXJnZXIgLSBhYmVyIGRhZnVlcgpzaWNoZXJsaWNoIG5hY2ggd2VuaWcgYXJiZWl0IC0gYWxzbzogZGFmdWVyIQp3ZWlkY2hlbiB3aWxsb3cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsZWluZSBXYWZmZW5rdW5kZSAoR3JpbW1ib3JuLCAyOS4gSnVuIDIwMDEsIDA4OjUzOjMyKToKfiMhIHJuPVdpbGxvdyBydD05OTM3OTc1NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKV2VubiBkYXMgaGllciBlaW5lIEFic3RpbW11bmcgd2lyZDoKW1hdIDEKWyBdIDIKWyBdIDMKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2xlaW5lIFdhZmZlbmt1bmRlIChBbWFyeWxsaXMsIDI5LiBKdW4gMjAwMSwgMDg6NTY6NDQpOgp+IyEgcm49V2lsbG93IHJ0PTk5Mzc5NzU3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpIbSwgZGllIGVyc3RlIFZhcmlhbnRlIGlzdCBkb2NoIHNpY2hlcmxpY2ggZWluZSwgZGllIHNlaHIgd2VuaWcgQXJiZWl0CnZlcnVyc2FjaHQuLi4Kcm0gL3N0ZC9zaGVsbHMvaG9iYml0LmMKCkFtYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2xlaW5lIFdhZmZlbmt1bmRlIChHbG9pbnNvbiwgMjkuIEp1biAyMDAxLCAwOTowMzowNyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9OTkzNzk3ODA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCjIgW1hdIC4uLiBzb3p1c2FnZW4uIFdvYmVpIGljaCBnZWdlbiAia29tcGxpemllcnRlciIgYmluLiBEYXMgTVVEIGdpYnQgZXMgaGVyCm5pY2h0IG51ciBpbiBkaWUgYWx0ZW4gQUQmRC1XYWZmZW5rYXRlZ29yaWVyZW4gZWludGVpbGVuIHp1IG11ZXNzZW4uIEF1ZgpkaWVzZXIgRWludGVpbHVuZyB6dSBiZWhhcnJlbiBlcmlubmVydCBtaWNoIGFuIExldXRlLCBkaWUgQUQmRC1XdWVyZmVsc3lzdGVtZQptaXQgZGVtIHJlaW5lbiBXdWVyZmVsd2VydGVuIGluIGVpbmUgTGliIHdlcmZlbiB3b2xsZW4gb2huZSBkaWUgTW9lZ2xpY2hrZWl0ZW4KenUgc2VoZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLbGVpbmUgV2FmZmVua3VuZGUgKEJhYm9vbiwgMjkuIEp1biAyMDAxLCAxMToyNToxNCk6Cn4jISBybj1HbG9pbnNvbiBydD05OTM3OTgxODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKTWVpbmVyIE1laW51bmcgbmFjaCBnYWViZSBlcyBlaW5lIHJlbGF0aXYgZWluZmFjaGUgTW9lZ2xpY2hrZWl0LApkaWUgSGFuZGhhYnVuZyB2b24gV2FmZmVuIHp1IHZlcmJlc3Nlcm46IEdyb2Vzc2Vua2xhc3Nlbi4KRGFzIGhlaXNzdCwgamVkZSBSYXNzZSB1bmQgamVkZSBXYWZmZSB3aXJkIGluIGVpbmUKYmVzdGltbXRlIEdyb2Vzc2Vua2xhc3NlIGVpbmdlc3R1ZnQuIEVpbiBTcGllbGVyCmtvZW5udGUgZGFubiBqZWRlIFdhZmZlIGJlbnV0emVuLCBkaWUgc2FnZW4gd2lyIG1hbCBtYXhpbWFsCmVpbmUgR3JvZXNzZW5rbGFzc2UgdWViZXIgb2RlciB1bnRlciBzZWluZXIgRWluc3R1ZnVuZyBsaWVndC4KQlNQLjoKRWxmL01lbnNjaDogR0sgMApad2VyZy9Ib2JiaXQgR0sgLTEKUmllc2VuIGV0Yy4gR0sgMQpTY2h3ZXJ0IEdLIDAKRG9sY2gvTWVzc2VyIEdLIC0xClp3ZWloYWVuZGVyIEdLIDEKQmVpIGVpbmVyIEdLIGRlciBXYWZmZSB1ZWJlciBkZXIgZWlnZW5lbiBHSyB3dWVyZGUgZGFubiBhdXRvbWF0aXNjaCB2b24KendlaWhhZW5kaWdlbSBHZWJyYXVjaCBhdXNnZWdhbmdlbi4KVW0gQXJndW1lbnRlbiBiZXp1ZWdsaWNoICJob2hlIFN0YWVya2UiIHZvcnp1YmV1Z2VuOgpEYXMgQmVudXR6ZW4gZ3Jvc3NlciBXYWZmZW4ga2FubiB1bmFiaGFlbmdpZyB2b24gZGVyIFN0YWVya2UgZXJmb2xnZW4KZGEgZGllIEdyb2Vzc2Vua2xhc3Nlbi1laW50ZWlsdW5nIGphIG5hY2ggR3JvZXNzZSB1bmQgbmljaHQgbmFjaApHZXdpY2h0IGdlaHQuIE9iIG51biBlaW4gc3BpZWxlciBlaW5lbiBlaXNlbmtsdW1wZW4KYWxzIFdhZmZlIGJlbnV0emVuIGthbm4gaGFlbmd0IHZvbiBkZXIgU3RhZXJrZSBhYiwgYWJlciBkZXIKS2x1bXBlbiBpc3Qgd29obCBpbW1lciBhbHMgR0sgLTEgZWluenVzdHVmZW4uCkVpbmVuIGdhbnoga2xhcmVuIG5hY2h0ZWlsIGhhdCBkYXMgU3lzdGVtIGFsbGVyZGluZ3M6CkRhcyBlaW56aWdlIHdhcyBlcyBiZXdpcmtlbiB3dWVyZGUgd2FlcmUgKGluc2Jlc29uZGVyZQpkYSBlcyBrZWluZSByaWVzZW4gYWxzIHNwaWVsZXJyYXNzZSBnaWJ0KQpkYXMgaG9iYml0cyBrZWluZSB3YWZmZW4gbWl0IEdLIDEgYmVudXR6ZW4ga29lbm5lbi4KQXVzc2VyZGVtIHdhZXJlIGVzIGRhbm4gbnVyIGxvZ2lzY2ggZGFzIGF1Y2ggZnVlcgpSdWVzdHVuZ2VuIGVpbnp1ZnVlaHJlbiAoTWFuIGRlbmtlIG51ciBhbiBGcm9lc2NoZQppbSBQbGF0dGVucGFuemVyKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEtsZWluZSBXYWZmZW5rdW5kZSAoUGF0cnluLCAyOS4gSnVuIDIwMDEsIDExOjQ1OjAxKToKfiMhIHJuPUJhYm9vbiBydD05OTM4MDY3MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKZGFzIGlzdCBxdWFyay4gZ2FueiBub3JtYWxlIGdyb2Vzc2Vud2VydGUga2FubiBtYW4gZGEgZ2VuYXVzbyBuZWhtZW4Kc3RhdHQgbmUgbmV1ZSBncm9lc3NlbmtsYXNzZW56d2lzY2hlbnNjaGljaHQgZWluenV6aWVoZW4uCgotLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEtsZWluZSBXYWZmZW5rdW5kZSAoSHVtbmksIDI5LiBKdW4gMjAwMSwgMTE6NDg6MDYpOgp+IyEgcm49UGF0cnluIHJ0PTk5MzgwNzkwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpFcyBpc3QgYXVzc2VyZGVtIHZvZWxsaWcgYWxiZXJuLCBad2VyZ2VuIEFleHRlIChhdWNoIHJpZXNpZ2Ugc29sY2hlKSB6dQp2ZXJiaWV0ZW4sIG51ciB3ZWlsIHNpZSBrbGVpbmVyIHNpbmQgYWxzIE1lbnNjaGVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBLbGVpbmUgV2FmZmVua3VuZGUgKEZvb2JhciwgMjkuIEp1biAyMDAxLCAxMjo1MzoyMCk6Cn4jISBybj1IdW1uaSBydD05OTM4MDgwODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKV2FydW0gbmljaHQgZWluIEF1ZnNwbGl0dGVuIGRlciBXYWZmZW5rbGFzc2VuIGluIDEtSGFlbmRpZ2UgdW5kIDItSGFlbmRpZ2U/CgpBbnN0YXR0IGRlciBXYWZmZW5rbGFzc2UgQWV4dGUgZ2lidCBlcyBkYW5uIHouQi4gMi1IYW5kLSB1bmQgMS1IYW5kLUFleHRlLiBEYXMKbGFlc3N0IHNpY2ggZGFubiBhdWYgYWxsZSBXYWZmZW5rbGFzc2VuIGF1c3dlaXRlbiAoYXVzc2VyIE1lc3NlcikuCgpIb2JiaXRzIHVuZCBad2VyZ2Uga29lbm50ZW4gZGFubiBldnRsLiAxLUhhbmQtU3BlZXJlIGJlbnV0emVuLCBhYmVyIGtlaW5lCjItSGFuZC1TcGVlcmUsIHVuZCBGZWxpbmVuIHVuZCBFbGZlbiBzaW5kIG5hdHVlcmxpY2ggZnVlciAyLUhhbmQtQWV4dGUgdW5kCi1LZXVsZW4gdmllbCB6dSB6YXJ0IGdlYmF1dC4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEtsZWluZSBXYWZmZW5rdW5kZSAoTW9udGFudXMsIDI5LiBKdW4gMjAwMSwgMTY6MDg6MzEpOgp+IyEgcm49Rm9vYmFyIHJ0PTk5MzgxMjAwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpbeF0gMQpbIF0gMgpbIF0gMwoKR2FyIGtlaW5lIEZyYWdlLiBEYW5rZSBHcmltbWJvcm4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEtsZWluZSBXYWZmZW5rdW5kZSAoVmVjdG9yLCAyOS4gSnVuIDIwMDEsIDE2OjEwOjA2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTk5MzgyMzcxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpbIF0gS2Flc3RjaGVuIHp1bSBBbmtyZXV6ZW4gc2luZCB0b3RhbCBzdXBlci4KCihjKSBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBLbGVpbmUgV2FmZmVua3VuZGUgKFR6dWlvcCwgMjkuIEp1biAyMDAxLCAxNjoxNTo0Myk6Cn4jISBybj1WZWN0b3IgcnQ9OTkzODIzODA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzClByb2dyYW1taWVydCBtaXIgZW5kbGljaCBlaW5lbiBUYXNjaGVuemVyc3RhZXViZXIgIQpBdXRvbG9hZCBuYXR1ZXJsaWNoIDspKQoKVHp1aW9wIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEtsZWluZSBXYWZmZW5rdW5kZSAoU2t5LCAyOS4gSnVuIDIwMDEsIDE2OjE2OjI5KToKfiMhIHJuPVR6dWlvcCBydD05OTM4MjQxNDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKRHUgd2lsbHN0IFRhc2NoZW4gemVyc3RhZXViZW4/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogS2xlaW5lIFdhZmZlbmt1bmRlIChBbmF0b2wsIDI5LiBKdW4gMjAwMSwgMjM6MDc6NDIpOgp+IyEgcm49Rm9vYmFyIHJ0PTk5MzgxMjAwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwoKKCApIEphICgqKSBOZWluICAgICAgICAgRGFzIFRoZW1hICJSZWFsaXRhZXRzbmFlaGUiIGlzdCBuZXUuICAgICAgCgpbSWNoIG11c3MgZWluZmFjaCBtYWwgcmFkaW8tYnV0dG9ucyBuZWhtZW4sIGRpZSBbWF0gc2luZCBsYW5nc2FtIG9lZGUuXQoKRmVpbi4gQWxzbyBzZXR6ZW4gd2lyIGF1ZiBSZWFsaXRhZXRzbmFlaGUuIFdpciBlcmtsYWVyZW4gaW4gWnVrdW5mdCAKamVkZXIgV2FmZmUsIGF1cyB3ZWxjaGVuIE1hdGVyaWFsaWVuIHNpZSBiZXN0ZWh0IChqZXdlaWxzIGZ1ZXIgYWt0aXZlIApLb21wb25lbnRlbiBtaXQgRmVpbmRrb250YWt0IHVuZCBwYXNzaXZlbiBLb21wb25lbnRlbiBvaG5lKSwgd2VsY2hlCkRpY2h0ZSBzaWUgaGF0LCB3aWUgc2Nod2VyIHNpZSBpc3QgdW5kIHdvIGlociBTY2h3ZXJwdW5rdCBsaWVndCwgd2VsY2hlCkRpbWVuc2lvbmVuIHNpZSBlaW5uaW1tdCAoTGFlbmdlLUJyZWl0ZS1Ib2VoZSByZWljaHQgbmF0dWVybGljaCBuaWNodCwgCndpciBtdWVzc2VuIGRhcyB2ZWt0b3JpZWxsIGZlc3RsZWdlbiksIHdlbGNoZSBHcnVuZGdlc3RhbHQgZGFzIGFrdGl2ZQpFbGVtZW50IGhhdCAoU3BpdHplbiwgU2NobmVpZGVuLCBQYXJpZXJzdGFuZ2VuIHVzdy4pLiBXaXIgZ2ViZW4gaWhyIFdlcnRlIAptaXQsIGRpZSBpaHJlIEhhbmRsaWNoa2VpdCwgaWhyZSBWZXJhcmJlaXR1bmcgKGdldHJlbm50IHdpZSBNYXRlcmlhbGllbikKdW5kIGlocmVuIEVpZ2VuZ2VydWNoIHdpZWRlcnNwaWVnZWxuLiBEZXMgd2VpdGVyZW4gZXJtaXR0ZWxuIHdpciBkaWUgCkVja2RhdGVuIGRlcyBOdXR6ZXJzLiBHcm9lc3NlLCBNYXNzZSwgU3RhZXJrZSB1bmQgR2VzY2hpY2tsaWNoa2VpdCwgClVlYnVuZyB1bmQgRXJmYWhydW5nIHBhY2tlbiB3aXIgZWJlbmZhbGxzIG1pdCBpbiB1bnNlciBncm9zc2VzIFBha2V0LgpEaWUgQXJ0IGRlciBIYW5kaGFiZSBmdWVyIGRpZXNlbiBiZXN0aW1tdGVuIFNwaWVsZXIgaXN0IC0gZWJlbnNvIHdpZSAKVmVyc2NobGVpc3MsIEFibnV0enVuZyB1bmQgbW9lZ2xpY2hlciBTY2hhZGVuIC0gZGFubiBudXIgbm9jaCByZWluZQpGb3JtZWxzYWNoZSB1bmQgZ2VyYWRlenUgdHJpdmlhbCAtIGRhbWl0IGlzdCBhdWNoIGtsYXIsIHdlbGNoZXIgU2NoYWRlbgp3byAoS29wZiwgT2JlcmtvZXJwZXIsIFVudGVybGVpYiwgRXh0cmVtaXRhZXRlbiB1c3cuKSBhbSBHZWduZXIgdmVydXJzYWNodCAKd2VyZGVuIGthbm4uIFNlaHIgdHJpdmlhbCwgZWlnZW50bGljaC4KCk1oLCBuZWluLCBlcm5zdGhhZnQuIFZvciB6aWcgSmFocmVuIGhhdCBpcmdlbmR3ZXIgbWFsIGZlc3RnZWxlZ3QsIGRhc3MgCldhZmZlbiBpbiBIYWVuZGlna2VpdCB1bmQgR2F0dHVuZyBlaW5nZW9yZG5ldCB3aXJkIC0gdW5kIGVzIGRhcyBkYW1pdAp3YXIuIERhcyBpc3QgZGllIEFyYmVpdHNncnVuZGxhZ2UgZGllIHdpciBoYWJlbiB1bmQgbWl0IGRlciB3aXIgdm9yZXJzdAphdXNrb21tZW4gbXVlc3Nlbi4gV2llIEx1ZyAtIHZlcm11dGxpY2gga29ycmVrdCAtIGFubWVya3RlLCBzaW5kIE1lc3NlcgppbiB6d2VpaGFlbmRpZ2VyIEZvcm0gdmVybmFjaGxhZXNzaWdiYXIgc2VsdGVuLiBTaWUgZ2FueiB6dSB2ZXJiaWV0ZW4gCmFuc3RhdHQgZnVyY2h0YmFyIHdlbmlnZSBBdXNuYWhtZW4genV6dWxhc3NlbiBtYWNodCBmdWVyIGRpZSBCYWxhbmNlIHVuZApkZW0gVHJ2ZXMtR2lsZGVubWFnaWVyIChtaW5kZXN0ZW5zIDspKSBkYXMgS2Fsa3VsaWVyZW4gdmllbCBsZWljaHRlci4gCgpEZXIgVmVyc3VjaCwgZGFzIHp1IGFlbmRlcm4gdW5kIGVpbiB3ZW5pZyBtZWhyIFZpZWxmYWx0IHVuZCAiS29tcGxleGl0YWV0IiAKaW0gd2FocnN0ZW4gU2lubmUgZGVzIFdvcnRlcyBpbnMgU3BpZWwgenUgYnJpbmdlbiwgc2V0enQgbmljaHQgbnVyIGVpbiAKZ3V0IGR1cmNoZGFjaHRlcyBLb256ZXB0IHZvcmF1cywgc29uZGVybiBiZWRhcmYgYXVjaCBlaW5lcyBNYWdpZXJzLCBkZXIgCmhlcnZvcnJhZ2VuZGVzIE11ZGxpYi1WZXJzdGFlbmRuaXMgaGF0LCBHZW5pZSBnZW51ZyBpc3QsIHVtIGRpZSAnQ29tYmF0JwptZWhyIG9kZXIgd2VuaWdlciBuZXUgenUgc2NocmVpYmVuIHVuZCBkYWJlaSBzYXViZXJlcyBQcm9maWxpbmcgYmV0cmVpYnQgCihkZW5uIGJlaSBlaW5lbSB3ZXNlbnRsaWNoIGtvbXBsZXhlcmVuIEthbXBmc3lzdGVtIGtvbW10IHdvaGwgb2RlciB1ZWJlbCAKZGFzIFJlY2hlbnplaXRwcm9ibGVtIG1pdCBpbnMgU3BpZWwpIHVuZCBkZXIgdG9ubmVud2Vpc2UgV2FmZmVuL1J1ZXN0dW5nZW4gCm9obmUgYWt0aXZlbiBCZXRyZXVlciAoZGVubiBkYXMgTW9yZ2VuZ3JhdWVuIGdpYnQgZXMgbmljaHQgZXJzdCBzZWl0IApnZXN0ZXJuKSB1ZWJlcmFyYmVpdGVuIGthbm4gLSB1bmQgZGVyIGRhcyBhbGxlcyB6dSB0dW4gYXVjaCBnZXdpbGx0IGlzdC4KCkhvdXN0b24sIHdpciBoYWJlbiBlaW4gUHJvYmxlbS4gOykKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBLbGVpbmUgV2FmZmVua3VuZGUgKEdsb2luc29uLCAyOS4gSnVuIDIwMDEsIDIzOjQ5OjE0KToKfiMhIHJuPUFuYXRvbCBydD05OTM4NDg4NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKV2lyIGtvZW5uZW4gZGllIFNhY2hlIG5hdHVlcmxpY2ggYXVjaCBuaWNodGFuYXRvbHNjaCAoaW4gZGllc2VtIEZhbGwgd2lya2xpY2gKbmljaHQgcG9zaXRpdiBvZGVyIG5ldXRyYWwgZ2VtZWludCkgYW5nZWhlbiB1bmQgbWl0IGVpbmVtIFZpZXJ0ZWwgZGVyIERhdGVuCmV0d2FzIG1laHIgUmVhbGl0YWV0c25hZWhlIHZlcnN1Y2hlbi4gU2FnZW4gd2lyIG1hbCAtIHZpZWxsZWljaHQgaW4gZGVyCkdyb2Vzc2Vub3JkbnVuZyB3aWUgc2Nob24gamV0enQgZGl2ZXJzZSBHaWxkZW4gZWlnZW5lIFBhcmFtZXRlciBpbiBkaWUgV2FmZmVuCmVpbmdlZnVlaHJ0IGhhYmVuIG9kZXIgZGl2ZXJzZSBBdHRyaWJ1dGUgZnVlciBRdWFlbGl0YWV0c2F1c3NhZ2VuIGF1c3dlcnRlbi4KVW5kIHZpZWxsZWljaHQgZmFlbGx0IHVucyBkYW5uIGF1ZiwgZGFzcyBkYXMgZ3JvZXNzdGUgUHJvYmxlbSBkaWUgdmllbGVuCk1laW51bmdlbiBzaW5kIHVuZCBuaWNodCB2b3JnZWJsaWNoZSBLb21wbGV4aXRhZXQgKGJlaSByZWluZXIgQXJpdGhtZXRpaz8KKmxhY2gqKSBvZGVyIG1hbmdlbG5kZSBBbnBhc3N1bmcgaXN0LiBBYmVyIHZpZWxsZWljaHQgZmFlbGx0IHVucyBhdWNoIGF1ZiwKZGFzcyB3aXIgZGFzIGFsbGVzIGdhciBuaWNodCB3b2xsZW4gdW5kIHVucyBkYXMgYWx0ZSBTeXN0ZW0gZG9jaCByZWljaHQuCkRhcmF1ZiB3aXJkIGVzIHNpY2hlciBhdWNoIGhpbmF1c2xhdWZlbi4gQWJlciBzaWNoZXIgbmljaHQgd2lsbGVudGxpY2guCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGVpbmUgV2FmZmVua3VuZGUgKEhpZ2h0LCAzMC4gSnVuIDIwMDEsIDAwOjMyOjMxKToKfiMhIHJuPUdsb2luc29uIHJ0PTk5Mzc1ODQ2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwphbGxlcyBxdWFyayAuLi4gZXMgaXMgbnVubWFsIGZlc3RnZWxlY2h0IGRhcyBlcyBkYXMgbml0IGdpYnQgLi4uIAoKenUgZ29yOiAqZ3JpbiogbmV0dGUgaWRlZSBhYmJhIHdpZSBtYWNoZW4gZXMgZGllIGZyZXNzZXIgZGFubiBkYSBzaWUgMmhhZW5kaWUKYWV4dGUgYmVudXR6ZW4gPyBkaWUgbXVlc3N0ZW4gc2llIG5pY2htYWwgdm9tIGJvZGVuIGF1ZmhlYmVuIGtvZW5uZW4gLG8pIGRldioKaGF0IGRhcyB6dW1pbmRlc3QgaW1tZXIgZ2VtYWNodCAuLi4KCnVuZCBzcGVlcmUgKGhpZXIgd2FmZmVuZ2F0dHVuZyBkZXMgbWcpIHVtIHNvbiB0ZWlsIHRyYWdlbiB6dSBrb2VubmVuIGJyYWVjaHRlbgpzZSBuZW4gbGVpdGVyd2FnZW4gb2RlciBuZW4gc3RhcGVsIC4uLiBzbyAzIHVlYmVyIGVpbmFuZGVyIGRlciBvYmVyc3RlIGhhZWx0CmZlc3QgdW5kIGFtIGhpbnRlcmVuIGVuZGUgaGFlbmd0IG4gdmllcnRlciBhbHMgZ2VnZW5nZXdpY2h0IGRhcyBlciBuaXQgbmFjaAp2b3JuIHJ1bnRlcmtpcHB0IAoKaGlnaHQgc2NobWFycmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xlaW5lIFdhZmZlbmt1bmRlIChBcHN1LCAgMS4gSnVsIDIwMDEsIDE0OjU1OjAzKToKfiMhIHJuPUhpZ2h0IHJ0PTk5Mzg1Mzk1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5MzcyMzY4MwpGYWxzY2ggSGlnaHQuIFdpciBoYWJlbiB2b20gdmllbGVuIHNjaG1hY2tvZmF0emVuIHNvbm5ubm5uZW4gZmV0dGVuCkFsbGVyd2VydGVzdGVuLCBkYXNzIGVyIGVpbiBlbnRzcHJlY2hlbmRlcyBHZWdlbmdld2ljaHQgZ2lidCA6KSBTb21pdCBrb2VubmVuCndpciwgd2VubiB3aXIgZGllIHZvbGxnZWZyZXNzZW5lIFdhbXBlIGVpbnppZWhlbiwgc2VociB3b2hsIHNvd2FzIGhlYmVuLCBhdWNoCndlbm4gd2lyIGRhYmVpIHVuc2Nob2VuIGJsYXUgYW5ubGF1ZmVuIDstKQoKQXBzdSwgbWFtcGZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEtsZWluZSBXYWZmZW5rdW5kZSAoQXJrLCAgMi4gSnVsIDIwMDEsIDE4OjAwOjA2KToKfiMhIHJuPUJhYm9vbiBydD05OTM4MDY3MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKSWNoIGhhc3NlIHp3YXIsIGV0d2FzIG5lZ2F0aXYgenUgemVycmVkZW4sIHR1ZSBlcyBhYmVyIGhpZXJtaXQgdHJvdHpkZW0gOl4pClJlYWxpc211cyBndXQgdW5kIHNjaG9lbiwgaXN0IHZpZWxsZWljaHQgYXVjaCB0b2xsLCBkYXJ1ZWJlciB6dSByZWRlbiwgZGllClZlcndpcmtsaWNodW5nIG1hY2h0IGFiZXIgZWlnZW50bGljaCBudXIgZGFubiBTaW5uLCB3ZW5uIGF1Y2ggYWxsZSAoISkgTlBDIGRlcgpnbGVpY2hlbiBSYXNzZS9kZXMgZ2xlaWNoZW4gTmFtZW5zIHNvIGZ1bmt0aW9uaWVyZW4uIERhcyBzY2hlaXRlcnQgYWJlcgppcmdlbmR3aWUgc2Nob24gYW4gZGVuIHVudGVyc2NoaWVkbGljaGVuIEF1ZmZhc3N1bmdlbiBkZXIgTWFnaWVyIGhpZXIgdWViZXIKYmVzdGltbXRlIE1vbnN0ZXIuIEF1c3NlcmRlbSB3aWxsIHNpY2ggaGllciBzaWNoZXIga2VpbmVyIGJlbGVocmVuIGxhc3Nlbiwgd2FzCnNlaW4gSG9iYml0IHp1ZWNrZW4ga2Fubi9kYXJmLCB1bmQgd2FzIG5pY2h0LiBXdWVyZGUgYWxzbyBhdWYgZWluZQpzcGllbGVyd2VpdGUgUmVnZWx1bmcgaGluYXVzbGF1ZmVuLiBMb2hudCBzaWNoIGRhcyA/IC0+IE5vZSwgb2RlciA/IDwtIElyb25pZQppc3QgaGllciBpbSBTcGllbCAhCkZheml0OiBqbywgd2lyIGtvZW5uZW4gaGllciBhbGxlcyBiZWxpZWJpZyBrb21wbGl6aWVydC9yZWFsaXN0aXNjaCBtYWNoZW4sCmFiZXIgZGFzIHdpcmQgd29obCBiZXNzZXIgaW1tZXIgbWl0IGRlbSBTcGllbHNwYXNzIGFiZ2V3b2dlbi4gSW0gdm9ybGllZ2VuZGVuCkZhbGwga2FubiBpY2ggbWlyIGtlaW5lIFNwaWVsZXJtZWhyaGVpdCBkZW5rZW4sIGRpZSBzYWd0LCBzdXBlciwgZGFzIGlzdCBndXQKc28sIGRhc3MgSG9iYml0cyBudXIgbm9jaCBhbHMgRG9sY2hpbmZhbnRlcmllIGhlcnVtbGF1ZmVuIGR1ZXJmZW4sIGRpZSBrbGVpbmVuClp3b2NrZWwuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS2xlaW5lIFdhZmZlbmt1bmRlIChNb250YW51cywgIDIuIEp1bCAyMDAxLCAxODozNjoxOSk6Cn4jISBybj1BcmsgcnQ9OTk0MDg5NjA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTkzNzIzNjgzCkhvYmJpdHMgYWxzIERvbGNoaW5mYW50ZXJpZT8KW3hdIGphClsgXSBuZWluCgpNZkcgTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xlaW5lIFdhZmZlbmt1bmRlIChaYXJuaXlhLCAgNS4gSnVsIDIwMDEsIDA4OjQwOjA2KToKfiMhIHJuPUdvciBydD05OTM3NTQyOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTM3MjM2ODMKSGksIAoKaWNoIGhhdHRlIG1hbCBlaW4gS3VyenNjaHdlcnQgZGVzIFNrb3dlaGF1cHRsaW5ncyBwcm9ncmFtbWllcnQsIGRhcyB3YXIKZWlnZW50bGljaCBlaW4gTWVzc2VyLi4uLiBJY2ggZGVua2UgYWxzbywgZGFzcyBtYW4gc293YXMgc2Nob24gZWluYmF1ZW4ga2Fubi4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtcGYgKEloc2FobiwgIDguIEp1bCAyMDAxLCAwMzoyNjoxMSk6CkJsdWVtY2hlbnBmbHVlY2tlcmFybWxldWNoZXI+Pj4+Pj4+Pj4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eSAhISAoS2FkaXMsIDE3LiBKdWwgMjAwMSwgMTg6Mzc6MDQpOgpIaSwKCmFsc28sIGRhIGFuc2NoZWluZW5kIGVpbmlnZSBkaWUgUnVicmlrIFBhcnR5IGluIHdlbGNoZXIgQXJ0IHVuZCBXZWlzZSBhdWNoCmltbWVyIHVlYmVybGVzZW4sIG1vZWNodGUgaWNoIG51biBhbiBkaWVzZXIgU3RlbGxlIG5vY2htYWwga3VuZHR1biwgZGFzcyB2b20KMTAuLTEyLjguIGluIEJvbm4gZGllIE1HLVBhcnR5IHN0YXR0ZmluZGV0IHVuZCB6dSBkaWVzZW0gWndlY2tlIHouIEIuIGluIGRlcgpBRyBlaW4gUGFydHlicmV0dCBzdGVodCwgd2FzIG1hbiBzaWNoIGR1cmNobGVzZW4ga2FubiB1bmQgYW4gZGVtIG1hbiBzaWNoCmRhbmFjaCBiaXR0ZSBhbm1lbGRlbiBzb2xsdGUgOi0pCkJlaSBVbmtsYXJoZWl0ZW4gZWluZmFjaCBlaW5lIE1haWwgYW4gbWljaCBvZGVyIENpbmRlcmVsbGEuCldlciBzaWNoIGRhcyBNb3RpdiB2b20gVC1TaGlydCBhbnNjaGF1ZW4gbW9lY2h0ZSwgc2NoaWNrZSBiaXR0ZSBhbiBDaW5kZXJlbGxhCmVpbmUgTWFpbCBtaXQgZW5zcHJlY2hlbmRlciBlaWdlbmVyIE1haWxhZHJlc3NlLCBhbiBkaWUgZGllc2VzIChqcGcpIGRhbm4KZ2VzY2hpY2t0IHdlcmRlbiBzb2xsLgoKU28sIGRhcyBzb2xscyBlcnN0bWFsIGdld2VzZW4gc2VpbgpCaXMgYmFsZGUKa2FkaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlYmF1ZnRyaXR0IExLQSBIYW5ub3ZlciAoU3VibGltZSwgMTguIEp1bCAyMDAxLCAxNDo0Nzo0NSk6Cn4jISBvbj1TdWJsaW1lIG90PTk5NTQ2MDM4MyBvZz1zdWNoZS1iaWV0ZQpIaSwgCgppY2ggaGFldHRlIGFsbGVyIFZvcnJhdXNzaWNodCBuYWNoIGVpbmVuIEpvYiBmdWVyIG5lbiBmbGlua2VuIGh0bWwvCmphdmEgUHJvZ3JhbW1pZXJlciBpbiBBdXNzaWNodCwgZGVubiBkaWUgQWJ0ZWlsdW5nIGZ1ZXIgRHJvZ2VuLQpwcmFldmVudGlvbiBkZXMgTEtBIEhhbm5vdmVycyBoYXQgR2VsZGVyIHp1Z2VzaWNoZXJ0IGJla29tbWVuIHVuZCBtb2VjaHRlCnNpY2ggZGFtaXQgZWluZSBJbnRlcm5ldHByYWVzZW56IHNjaGFmZmVuLiBELmguIGVzIGdlaHQgdW0gZGllIEVyLQpzdGVsbHVuZyBlaW5lciBXZWJzaXRlIG5lYnN0IEJldHJldXVuZyBiencuIFNjaHVsdW5nIGRlciBNaXRhcmJlaXRlciwKZGFtaXQgZGllc2UgZGFubiBkYW1pdCB1bWdlaGVuIGtvZW5uZW4uCgpCZWkgSW50ZXJlc3NlLCBiaXR0ZSBpbm5lcmhhbGIgZGVyIG5hZWNoc3RlbiAyIFRhZ2UgZWluZSBNYWlsIGFuIFN1Yi0KbGltZSBvZGVyIG1pY2ggdmVyZmFzc2VuLCBkYXJhdWZoaW4gZ2lidHMgS29udGFrdGFkcmVzc2VuIHVuZCBuYWVoZXJlCkluZm9zLgoKR3J1c3MKU3VibCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWJhdWZ0cml0dCBMS0EgSGFubm92ZXIgKEdsb2luc29uLCAxOC4gSnVsIDIwMDEsIDE1OjAzOjEyKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTk1NDYwNDY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk1NDYwNDY1CldpciB3b2xsZW4ga2VpbiBHZWxkLCB3aXIgd29sbGVuIGZyZWllbiBadWdyaWZmIGF1ZiBkaWUgQXNzZXJ2YXRlbmthbW1lciA7KQoKR2xvaW4oc29uKSwgdW5lcm5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWJhdWZ0cml0dCBMS0EgSGFubm92ZXIgKFBpdGZhbGwsIDE4LiBKdWwgMjAwMSwgMTY6NTU6MjIpOgp+IyEgcm49R2xvaW5zb24gcnQ9OTk1NDYxMzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk1NDYwNDY1CndpciB3b2xsZW4gZ2VsZCBVTkQgZGVuIGZyZWllbiB6dWdyZ2lmZiA6PSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlYmF1ZnRyaXR0IExLQSBIYW5ub3ZlciAoU29sbXlyLCAxOC4gSnVsIDIwMDEsIDE2OjU4OjU5KToKfiMhIHJuPVBpdGZhbGwgcnQ9OTk1NDY4MTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk1NDYwNDY1Ck51ciB3ZWlsIG1hbCBlaW4gZXJuc3QgZ2VtZWludGVyIEFydGlrZWwgdm9uIG1pciBpbiBkZXIgWmVpdHVuZwpzdGVodCwgZGVyIG1pdHVudGVyIGF1Y2ggbHVrcmF0aXYgc2VpbiBrYW5uLCBicmF1Y2h0IElociBuaWNodApnbGVpY2ggcnVtc2NobWFycmVuLCBJaHIgRm90emtvZXBwZSAoYykgWmxhZGRpCgpTb2wqLCBldHdhcyBzYWV1cmxpY2gsIGFiZXIgbmljaHQgZ2FueiBlcm5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2ViYXVmdHJpdHQgTEtBIEhhbm5vdmVyIChXdXJ6ZWwsIDE4LiBKdWwgMjAwMSwgMTc6MjI6NTYpOgp+IyEgcm49U29sbXlyIHJ0PTk5NTQ2ODMzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NTQ2MDQ2NQplcm5zdGdlbWVpbnRlIGFydGlrZWwgaGFiZW4gaW4gZGllc2VyIHplaXR1bmcgYWJzb2x1dGVuIHNlbHRlbmhlaXRzd2VydC4KbWl0IGF1c25haG1lIG5hdHVlcmxpY2ggZGVyIGVpbnppZyB3YWhyZW4gcnVicmlrLgppbnNvZmVybiBzb2xsdGVzdCBkdSBkaWNoIG5pY2h0IHd1bmRlcm4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlBDIC0+IE5hY2hydWYgKEVsb2RpYSwgMTkuIEp1bCAyMDAxLCAyMTo1NToxMCk6CgpMaWViZSBHZW1laW5kZSwgbGllYmUgTWFnaWVyLCB2ZXJlaHJ0ZSBHb2V0dGVyLAoKbnVubWVociBtdXNzIGljaCBoaWVyIHVuZCBoZXV0ZSBsZWlkZXIgZGllIHRyYXVyaWdlIE5hY2hyaWNodCAKdmVya3VlbmRlbiwgZGFzcyBkZXIgYWxsc2VpdHMgYmVsaWVidGUsIGxlYmVuc2Zyb2hlIHVuZCBtdXRpZ2UgClRlc3RzcGllbGVyIE5QQyB2b24gdW5zIGdlZ2FuZ2VuIGlzdC4gCk5hY2hkZW0gTWl0dGVpbHVuZ2VuIGF1cyBlcnptYWdpZXJsaWNoZW4gS3JlaXNlbiBhbmZhZW5nbGljaCBhdWYgCmVpbmUgYmFsZGlnZSBIZWlsdW5nIGVpbmVyIHZvcmxhZXVmaWdlbiBMb2VzY2h1bmcgaG9mZmVuIGxpZXNlbiwgCmVyZWlsdGUgdW5zIG51biBkaWUgdHJhdXJpZ2UgTmFjaHJpY2h0IHNlaW5lciBlbmRndWVsdGlnZW4gdW5kIAp1bmhlaWxiYXJlbiBMb2VzY2h1bmcuIERpZSBMb2VzY2h1bmcgZXJlaWx0ZSBpaG4gdm9lbGxpZyAKdWViZXJyYXNjaGVuZCB1bmQgc28ga3VyemZyaXN0aWcsIGRhc3MgaWhtIHNlbGJzdCBkaWUgRnJpc3QsIHNpY2ggCnBlcnNvZW5saWNoIHZvbiBGYW1pbGllLCBGcmV1bmRlbiB1bmQgZGVtIE1HIHZlcmFic2NoaWVkZW4genUgCmR1ZXJmZW4sIG5pY2h0IG1laHIgZ2V3YWVocnQgd3VyZGUuIApOUEMgaGludGVybGFlc3N0IGVpbmUgRWhlZnJhdSB1bnRlciBkZW4gQ2hhb3NtYWdpZXJuIHVuZCBlaW5lIGJlcmVpdHMgCm5pY2h0IG1laHIgdm9sbHN0YWVuZGlnIHJlc3RhdXJpZXJiYXJlIEZyZXVuZGVzbGlzdGUuCk5hY2hkZW0gZXIgbnVuIGltIHphcnRlbiBBbHRlciB2b24gZXR3YSAyIDEvMiBKYWhyZW4gc2VpbmVzIE5hbWVucyAKd2VnZW4gaGluZ2VyYWZmdCB3dXJkZSwgd3VlbnNjaGVuIHdpciBpaG0gYWxsZXMgR3V0ZSBhdWYgc2VpbmVyIAp3ZWl0ZXJlbiBSZWlzZSBpbnMgVW5iZWthbm50ZSB1bmQgZ2VkZW5rZW4gc2VpbmVyIGFuZGFlY2h0aWcgaW4gZWluZXIgCnJ1aGlnZW4gTWludXRlLiBOUEMsIGR1IHdpcnN0IHVucyBmZWhsZW4hCgpSdWhlIGluIEZyaWVkZW4sCiAgIGVpbmUgRnJldW5kaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOUEMgLT4gTmFjaHJ1ZiAoQW1hcnlsbGlzLCAyMy4gSnVsIDIwMDEsIDE5OjIzOjUzKToKfiMhIHJuPUVsb2RpYSBydD05OTU1NzI1MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTU1NzI1MTAKKnNjaGx1Y2h6KgoKbm90aGluZyBtb3JlIHRvIHNheS4uLgoKQW1hKiwgV2l0d2UgOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoQXJrLCAyNi4gSnVsIDIwMDEsIDE0OjM1OjQ1KToKSGksIGF1ZmdydW5kIGVpbmlnZXIgRGlza3Vzc2lvbmVuIGF1ZiBkaXZlcnNlbiBFYmVuZW4gZnVlaGxlIGljaCBtaWNoCmdlbm9ldGlndCwgbWFsIGVpbiBwYWFyIFdvcnRlIHp1IHNhZ2VuLiBFcyBpc3QgbWlyIGltIFByaW56aXAgZWdhbCwgd2VubiBzaWNoCnNvbGNoZSBEaW5nZSBhdWZncnVuZCB2b24gSG9lcmVuc2FnZW4gYXVmYmF1c2NoZW4sIGFiZXIgZWluIGJpc3NjaGVuIGFlcmdlcm4KbXVzcyBpY2ggbWljaCB0cm90emRlbSBtYW5jaG1hbCwgd2VubiB2b24gU3BpZWxlcm4sIGRpZSBuaWUgaW4gZGVuIEdlYmlldGVuCndhcmVuLCBkaWVzZSBhbHMgInN1cGVydW5mYWlyZ2VmYWVocmxpY2hhc296aWFsZGFrb21tc3RkdW51cmFsc3NlaGVyZHVyY2giCmJlemVpY2huZXQgd2VyZGVuLiBOdW4gZ3V0LiBEaWVzZSBLb21tZW50YXJlIGthbWVuLCB3ZWlsIHNpY2ggZWluaWdlIHdvaGwKZ2Vub2V0aWd0IGZ1ZWhsZW4sIGRhaGluIHp1IGdlaGVuLCB3ZWlsIGRvcnQgWlRzIHZlcnN0ZWNrdCBzaW5kLiBEaWVzZSBzaW5kLAp1bSBkYXMgbm9jaCBlaW5tYWwgenUgc2FnZW4sIHJpY2h0aWcgZWluZ2VzdHVmdCB3b3JkZW4sIGQuaC4gaW4gZGVyIFJlZ2VsCmJla29tbXQgbWFuIHNpZSBhdWNoLCBhdWNoIHdlbm4gc2llIGZ1ZXIgZWluZSBzdWJqZWt0aXYgIm5pZWRyaWdlIiBTdHVmZQp2ZXJnZWJlbiB3dXJkZW4uIFVuZCBzaWUgd2VyZGVuIGViZW4gZXJzdCBldHdhcyBzcGFldGVyIHVuZCBzZWx0ZW5lciB2ZXJnZWJlbgphbHMgZGllIGxlaWNodGVuIFpUcywgZGllIGZhc3Qga2F1bSBlaW5lciBtZWhyIHVlYmVyIGRpZSBFYmVuZSBlcmZyYWdlbiBtdXNzLgpEZXNoYWxiIGtlbm50IHNpZSBhdWNoIG5vY2gga2F1bSBlaW5lci4gVW5kIHdlbm4ga2VpbmVyIHNpY2ggc2VsYnN0IGF1Zm1hY2h0LApzaWUgenUgc3VjaGVuLCB3aXJkIGRhcyBhdWNoIHdlaXRlcmhpbiBzbyBibGVpYmVuIDotKQpEYSBrYW5uIG1hbiBtb3R6ZW4gdWViZXIgZGVuIGJvZXNlbiBBcmsgdW5kIHNlaW5lIG1pZXNlbiBHZWJpZXRlIHdpZSBtYW4gd2lsbC4KVWVicmlnZW5zIGdhYiBlcyBub2NoIGVpbmVuIEtvbW1lbnRhciB1ZWJlciBkaWUgZWJlbmZhbGxzIGJlc2NoKioqKiogU3ludGF4LgpVaSwgaXNzZXMgenV2aWVsIHZvbiBlaW5lbSBldHdhcyBlcmZhaHJlbmVyZW4gU3BpZWxlciB6dSB2ZXJsYW5nZW4sIDxpZGVlPiwKPHR5cG8+IHVuZCA8YnVnPiB6dSB2ZXJ3ZW5kZW4/IE1laW4gUmVwZmlsZSBpc3QgbGVlci4KRmF6aXQ6IGxhc3N0IEV1Y2ggZG9jaCBuaWNodCBpbW1lciBhYnNjaHJlY2tlbiB2b24gZ3JhdXNpZ2VuIEJlcmljaHRlbiwKc29uZGVybiB6ZWlndCBzZWxic3QgSW5pdGlhdGl2ZS4gTmV1ZSBHZWJpZXRlIHVuZCBaVHMgZXJmb3JzY2hlbiB1bmQgZmluZGVuCnNpY2ggZWJlbiBuaWNodCBhbGxlaW4gOi0pIFVuZCB3ZW0gbWVpbmUgenVnZWdlYmVuZXJtYXNzZW4gbmljaHQgaW1tZXIKc2NyaXB0ZnJldW5kbGljaGUgU3ludGF4IGFlcmdlcnQsIGRlciBrZW5udCBqYSBkaWUgQmVmZWhsZSwgZ2VsbGU/IEljaCBlcndhcnRlCnZvbiBtdWVuZGlnZW4gU3BpZWxlcm4gZWluIGFuc3RhZW5kaWdlcyBGZWVkYmFjaywgbmljaHQgU3RhbW10aXNjaG5pdmVhdSBhdWYKZGVuIEViZW5lbiAqcGVuZyogOi0pClNvLCBGbGFtZXMgb24uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoVGVrdHVrbywgMjYuIEp1bCAyMDAxLCAxNzoxOToyOCk6Cn4jISBybj1BcmsgcnQ9OTk2MTUwOTQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk2MTUwOTQ1CkRhcyBlaW56aWdlIHdhcyBtaWNoIG1hbmNobWFsIG5lcnZ0IGlzdCB3ZW5uIGljaCBpbiBHZWJpZXRlbiBuYWNoIFp0cyBmb3JzY2hlbgpzb2xsIHdvIGljaCBtaXQgTWV0emVsbiBzb2xhbmdlIGJyYWV1Y2h0ZSBkYXMgc2Nob24gd2llZGVyIGRpZSBlcnN0ZW4gUmVzZXR0ZXQKd2VyZGVuIDopLiBEZXN3ZWdlbiBtZWlkZSBpY2ggYXVjaCBOT0NIIE11cmFkaHMgVHVybSBnZW5hdWVyIHp1IHVudGVyc3VjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXJ1ZWNodGUgc2luZCBrbGFzc2UgKFd1cnplbCwgMjYuIEp1bCAyMDAxLCAxNzozMjoyMCk6Cn4jISBybj1UZWt0dWtvIHJ0PTk5NjE2MDc2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NjE1MDk0NQp3ZWljaGVpLiB3dWVyZGVzdCBkdSBuaWNodCBzdGVyYmVuIHdvbGxlbiBmdWVyIGVpbmVuIHp0PwoKd3VyemVsIHNjaHVldHRlbHQgZGVuIGtvcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VydWVjaHRlIHNpbmQga2xhc3NlIChBcmssIDI2LiBKdWwgMjAwMSwgMTc6NDQ6MjgpOgp+IyEgcm49VGVrdHVrbyBydD05OTYxNjA3Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKUHV1aCwgaG9mZmVudGxpY2ggd2FyIGRhcyBqZXR6dCBrZWluZSB2ZXJzdGVja3RlIEF1ZmZvcmRlcnVuZywgZWluZQpzcGllbGVyaW5kaXZpZHVlbGxlLCBmb3JzY2hnZXNjaHdpbmRpZ2tlaXRzYWJoYWVuZ2lnZSBSZXNldHplaXQgZWluenVzdGVsbGVuCjteKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoVGVrdHVrbywgMjYuIEp1bCAyMDAxLCAxODowMDowMyk6Cn4jISBybj1BcmsgcnQ9OTk2MTYyMjY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk2MTUwOTQ1CmhhZT8gTmFqYSBmdWVyIFp0cyBzdGVyYmVuIG9kZXIgc3RlcmJlbiBiZXZvciBtYW4gZGVuIFp0IHN1Y2h0IDopIEljaCBoZWIgaWhuCm1pciBsaWViZXIgbWFsIGF1Zi4gTmVpbiBBcmssIGljaCBrYW5uIG1pciBkaWUgWnRzIGluIE11cmFoZHMgVHVybSBhdWNoIG5vY2gKaG9sbiB3ZW5uIG1laW4gR2wgaG9laGVyIGlzdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VydWVjaHRlIHNpbmQga2xhc3NlIChHcmltbWJvcm4sIDI2LiBKdWwgMjAwMSwgMTg6MDQ6NTIpOgp+IyEgcm49VGVrdHVrbyBydD05OTYxNjMyMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKQWxsZXMgV2VpY2hlaWVyLiBJY2gga2FubiBtaWNoIGFuIGVpbmUgS2FtcGFnbmUgenVyIFN0ZWluYmVpc3NlcmhvZWhsZQplcmlubmVybiB1bSBkZW4genQgenUgaG9sZW4uIFNlY2hzIExldXRlLCBhdXNzZXIgbWlyIGFscyBBbmZhZW5nZXIgbm9jaCBlaW4KSGF1ZmVuIEVjaHQgSGFydGVyIEtlcmxlLiBTZWNocyBMZXV0ZSBnaW5nZW4gaGluLCB1bmQgendlaSBUb3RlIGdhYnMKbWluZGVzdGVucyAoZGFzIHdhciBkYW1hbHMgZWluIGdhbnogZ3V0ZXIgU2Nobml0dCkuIFVuZCBpcmdlbmRzb2xjaGUgYmxvZWRlbgpNYWdpZXIgc3RhbmRlbiBtaXQgIlN0ZWluYmVpc3NlciB2b3IhIiBGYWVobmNoZW4gZGFuZWJlbiB1bmQgaGFiZW4gc2ljaAphbXVlc2llcnQsIHdpZSBkaWUgU3BpZWxlciB3aWUgRmxpZWdlbiB3ZWdzdGFyYmVuLiBGYW5kIGljaCBkYW1hbHMgemllbWxpY2gKZ2VtZWluIHZvbiBkZW5lbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2VydWVjaHRlIHNpbmQga2xhc3NlIChBcmssIDI2LiBKdWwgMjAwMSwgMTg6MDk6MzEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5NjE2MzQ5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NjE1MDk0NQpBZWhubGljaGVzIHdvbGx0ZSBpY2ggYXVjaCBzYWdlbiAuLi4gYWxsZXJkaW5ncyBuaWNodCBzbyAuLi4gdW5nZWZpbHRlcnQgd2llCkR1IDotKQpXZWljaGVpIGlzdCBlaW4gV29ydCwgZGFzIG1hbiBtaXIgb2VmdGVyIGFuIGRlbiBLb3BmIHdpcmZ0LCBpY2ggd2Vpc3MuIEFiZXIKaWNoIGFyYmVpdGUgZHJhbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHZXJ1ZWNodGUgc2luZCBrbGFzc2UgKE1vbnRhbnVzLCAyNi4gSnVsIDIwMDEsIDE4OjE4OjQwKToKfiMhIHJuPUFyayBydD05OTYxNjM3NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKQWxzbyBpY2ggbXVzcyBtYWwgKGFscyBzZWhyLXNlbHRlbi1oaWVyLXVlYmVyaGF1cHQtbm9jaC1TcGllbGVyKSBmdWVyIEFyawpzZWluZSBMYW56ZSBicmVjaGVuLCBvZGVyIHdpZSBkYXMgaGVpc3N0LiA6LSkKSWNoIGZpbmRlIEFya3MgR2ViaWV0ZSBlaWdlbnRsaWNoIHRvbGwsIHdlaWwgZXIgZXMgd2llIGtlaW4gYW5kZXJlciB2ZXJzdGVodCwKZGllIGR1bW1lbiB2b24gZGVuIGtsdWdlbiBTcGllbGVybiBhdXN6dXNvcnRpZXJlbi4KRXJzdGVyZSBzdGVyYmVuLCBsZXR6dGVyZSBrb2VubmVuIGVzIHZlcm1laWRlbi4KRGEgemVpZ3Qgc2ljaCBkYW5uIG5hZW1saWNoIGRvY2gsIGRhc3MgbmljaHQgZGVyIGVyc2NyaXB0ZXRlIEdpbGRlbmxldmVsLApzb25kZXJuIGRpZSBncmF1ZW4gWmVsbGVuIGF1c3NjaGxhZ2dlYmVuZCBzaW5kLgoKSW4gZGllc2VtIFNpbm5lLCB3ZWl0ZXIgc28sIEFyayEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoQmFtYmksIDI2LiBKdWwgMjAwMSwgMTk6NDE6MzgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5NjE2MzQ5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NjE1MDk0NQpEYSBzaWVoc3QgRHUgbWFsLCB3byB1bnMgZGllIFJ1ZXN0dW5nc3NwaXJhbGUgaGluZ2VicmFjaHQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoTml6emwsIDI2LiBKdWwgMjAwMSwgMjE6MzA6MTApOgp+IyEgcm49QXJrIHJ0PTk5NjE1MDk0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NjE1MDk0NQpEYSBkaWUgS2F0YXMgdW50ZXIgTS5zIFR1cm0gbmFjaCBEZWluZXIgZWlnZW5lbiBBdXNzYWdlIG51ciBkYXp1ICJnZW9lZmZuZXQiCnd1cmRlbiB1bSBpbiBkZXIgS2lsbHN0YXQgbmFjaCBvYmVuIHp1IGtvbW1lbiBzdGVodCBkYXMgR2ViaWV0IGJlaSBtaXIKd2VpdGVyaGluIGF1ZiBkZXIgIm11c3MtaWNoLW5pY2h0LWhpbiItTGlzdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoSHVtbmksIDI2LiBKdWwgMjAwMSwgMjI6MDA6NDkpOgp+IyEgcm49Tml6emwgcnQ9OTk2MTc1ODEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk2MTUwOTQ1CkhtcGYuIEljaCBoYWIgZGFzIEdlYmlldCBnZXNwaWVsdGVzdGV0LiBKYSwgZXMgaXN0IG5pY2h0IHNpbXBlbCwgYWJlciBkYXNzIGVzCm51ciBmdWVyIGRpZSBLaWxsc3RhdGlzdGlrIGdlcHJvZ2d0IHd1cmRlIGdsYXViIGljaCBlaW5mYWNoIG5pY2h0LiBEYXMgZ2VodAp2aWVsLCB2aWVsIGVpbmZhY2hlciBhbHMgZWluaWdlIHdpcmtsaWNoIHRvbGxlIEJlc2NocmVpYnVuZ2VuIHp1IGtyZWllcmVuLiBVbmQKamEsIGluIEFya3MgR2ViaWV0ZW4gaGF0IG1hbiBBbmdzdCwgdW5kIGRhcyBnZWhvZXJ0IHNvLiAKQlRXOiBEaWUgVmllY2hlciBpbiBhbmRlcmVuIEdlYmlldGVuIHNpbmQgaGFlcnRlci4gRGEgYmVzY2h3ZXJ0IHNpY2ggYXVjaApuaWVtYW5kLgpVbmQ6IEZ1ZXIgZWluZW4gbWVpbmVyIGVyc3RlbiBaVHMgaGFiZW4gd2lyIGVpbiBEcmVpZXItVGVhbSBnZWJyYXVjaHQsIGRhYmVpCmhhYiBpY2ggZ2xlaWNoIG1hbCBlaW5lbiBuZXVlbiBGcmV1bmQgZ2VmdW5kZW4uIEJlc2Nod2VydCBoYXQgc2ljaCBrZWluZXIKZGFydWViZXIuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXJ1ZWNodGUgc2luZCBrbGFzc2UgKEFyaywgMjYuIEp1bCAyMDAxLCAyMjowMzozMyk6Cn4jISBybj1OaXp6bCBydD05OTYxNzU4MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKTWFnIHNlaW4sIGRhc3MgaWNoIHNlbmlsIGJpbiwgd28gc3RlaHQgZGVyIFp1c2FtbWVuaGFuZyB6d2lzY2hlbiAiT2VmZm5lbiBkZXIKS2F0YXMiIChzaW5kIG5lYmVuYmVpIGVpZ2VudGxpY2gga2VpbmUgS2F0YWtvbWJlbikgdW5kIGRlciB2aWVseml0aWVydGVuCktpbGxzdGF0aXN0aWs/IEljaCBzZWhlIGlobiBuaWNodC4gSWNoIHNjaHJlaWJlIEdlYmlldGUsIGluIGRlbmVuIGVzIGV0d2FzIHp1CnF1ZXN0ZW4gZ2lidCAoaW0gd2VpdGVzdGVuIFNpbm5lKS4gRGllIE1vZWdsaWNoa2VpdCB6dSBzdGVyYmVuIGdpYnQgZGVtIEdhbnplbgpldHdhcyBQZmVmZmVyLCBtZWhyIG5pY2h0LiBVbSBpbiBkZXIgS2lsbHN0YXRpc3RpayBuYWNoIG9iZW4genUga29tbWVuLCBnaWJ0CmVzIHNjaG5lbGxlcmUgTWV0aG9kZW4gYWxzIGVpbiBwYWFyIE1vbmF0ZSBBcmJlaXQgO14pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VydWVjaHRlIHNpbmQga2xhc3NlIChUZWt0dWtvLCAyNi4gSnVsIDIwMDEsIDIyOjE0OjM3KToKfiMhIHJuPUFyayBydD05OTYxNzc4MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKRWlnZW50bGljaCBmaW5kZSBpY2ggQXJrcyBHZWJpZXRlIGphIGdhbnogc2Nob2VuLCBhYmVyIGxlaWRlciBiaW4gaWNoIHp1CnNjaHdhY2ggdW0gZGEgenUgZm9yc2NoZW4gOikKU2luZCBndXQgYmVzY2hyaWViZW4sIG1pdCB2aWVsZW4gRGV0YWlscyBhYmVyIG1pdCBtZWluZXIgZGVyemVpdGlnZW4KS2FtcGZrcmFmdCBrb21tIGljaCBpbiBkZW4gS2F0YWtvbWJlbiB3byBlaWdlbnRsaWNoIGtlaW5lIHNpbmQgbmljaHQgd2VpdC4gVW5kCmRpZSBtZWlzdGVuIEZhbGxlbiBrYW5uIG1hbiBkb3J0IGVyYWhuZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHZXJ1ZWNodGUgc2luZCBrbGFzc2UgKEltZGEsIDI3LiBKdWwgMjAwMSwgMDE6MDY6NDApOgp+IyEgcm49TW9udGFudXMgcnQ9OTk2MTY0MzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk2MTUwOTQ1CkhtbW0sIGljaCBiaW4gaW0gbmV1ZW4gbXVyaGFkdGdlYmlldCBhdXNzY2hsaWVzc2xpY2ggYW4gZmFsbGVuIGdlc3RvcmJlbiwgZGllCmljaCB2b3JoZXIgZ2VmdW5kZW4gaGF0dGUsIHVuZCBzb2dhciB0ZWlsd2Vpc2UgbWVpbnRlIGVudHNjaGFlcmZ0IHp1IGhhYmVuLgpCaW5uaWNoIG51biBkdW1tLCB3ZWlsIGljaCBuaWNoIGF1ZiBkaWUgU3ludGF4IGdla29tbWVuIGJpbiA/CldhcyBhYmVyIG5hdHVlcmxpY2ggZHVyY2ggImlkZWUiIHVuZCBjbyB6dSBsb2VzZW4gZ2V3ZXNlbiB3YWVyZSwgc3RpbW10IHNjaG9uLgoKSW1kYS4gQW5zb25zdGVyIGdyb3NzZXIgQXJrZ2ViaWV0ZnJldW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZXJ1ZWNodGUgc2luZCBrbGFzc2UgKE5penpsLCAyNy4gSnVsIDIwMDEsIDIzOjQ3OjUxKToKfiMhIHJuPUFyayBydD05OTYxNzc4MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKU28gc3RhbmRzICJkYW1hbHMiIGluIGRlciBNcGE6CgouLi5bXQpGYWNoaWRoIHN0b2VobnQgbm9jaCBtZWhyLgpEdSBzYWdzdDogVW5kIGF1c3NlcmRlbSwgZGVua2UgYW4gbWVpbmVuIFBsYXR6IGluIGRlciBMaXN0ZSEKRmFjaGlkaCBkZW5rdCAuIG8gMCAod2VsY2hlIExpc3RlPz8/KS4KRHUgZ3JpbnN0OiBOYSwgZGllIFRvcC1LaWxsZXItTGlzdGUsIGRpZSBhbmRlcmVuIGhvbGVuIG1hZWNodGlnIGF1Zi4KRmFjaGlkaCBzZXVmenQuCkZhY2hpZGggc2FndDogSWhyIHNlaWQgZWluIGVnb2lzdGlzY2hlciBUZXVmZWwsIE1laXN0ZXIuCkR1IGxhY2hzdCBoZXJ6bGljaDogSmVkZXIgaGF0IHNvIHNlaW5lIFNjaHdhZWNoZSwgbWVpbiBGcmV1bmQuCkR1IHN0ZWhzdCBhdWYuCkR1IHNhZ3N0OiBEYXMgd2FyJ3MgZGFubiwgaWNoIGdlaGUgc29mb3J0IGFuIGRpZSBBcmJlaXQuCkZhY2hpZGggc2NodWV0dGVsdCBiZXRydWVidCBkZW4gS29wZi4KRHUgd2lua3N0LgpGYWNoaWRoIHdpbmt0LgpEdSB2ZXJsYWVzc3QgZGVuIFJhdW0uCi4uLi5bXQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VydWVjaHRlIHNpbmQga2xhc3NlIChBcmssIDI3LiBKdWwgMjAwMSwgMjM6NTE6MTEpOgp+IyEgcm49Tml6emwgcnQ9OTk2MjcwNDcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk2MTUwOTQ1Ck9rLCBpY2ggbGFjaGUgYXVjaCB3ZWl0ZXIgaGVyemxpY2guIFdlbm4gYXVjaCBhdXMgZWluZW0gYW5kZXJlbiBHcnVuZCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcnVlY2h0ZSBzaW5kIGtsYXNzZSAoSGlnaHQsIDI4LiBKdWwgMjAwMSwgMDI6MDk6NDApOgp+IyEgcm49VGVrdHVrbyBydD05OTYxNjA3Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTYxNTA5NDUKc2VsYmVyIHNjaHVsZCAKCmljaCBnZWJlIHp1IGljaCBoYWIgdm9uIGRlbiBuZXVlbiB6dCdzIGFic29sdXQga2VpbmVuIHBsYW4gYWJlciBkaWUgZGllIGtlbm5lCndhcmVuIG5haGV6dSBhbGxlIG1hY2hiYXIgYXVjaCBvaG5lIGdyb3NzZXMgbWV0emVsbiAoYXVzbmFobWUgaXMgYmx1dG1lZXIgdW5kCndhcnVtIGZsZWNrIGRlbiB2ZXJzdGVoIGljaCBiaXMgaGV1dCBuZXQgYWJiYSBkYXMgZWdhbCkKCmRhenUga29tbXQgZGFzIGZyYWdlIG1hbmNobWFsIGhpbGZ0Cm5laW4gbmljaHQgYXVjaCAtenQgd28gZGVyIGlzIHNvbmRlcm4gbmFjaCBqZW1hbmRlbiBkZXIgZWluZW0gZGVuIHdlZwpmcmVpa2xvcGZ0IG9kZXIgbGVpYndhZWNodGVyIHNwaWVsdCAKCmhpZ2h0Cm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IGFtIE1pdHR3b2NoIChWYXJkaW9uLCAxNC4gQXVnIDIwMDEsIDEwOjM2OjE2KToKfiMhIHJuPUJvaW5nIHJ0PTk5NzcwMzI4MCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9OTk3NzAzMjgwCkhhdCBlciBnbGVpY2ggZWluICdpZ25vcmllcmUgYXJtYWdlZGRvbicgZWluZ2ViYXV0LCBvZGVyIG11c3MgbWFuIGRlbgp3ZWl0ZXJoaW4gZ2FnZ2VuPyA6LSkKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVudHNjaHVsZGlndW5nIChXaGl0ZXRpZ2VyLCAxNS4gQXVnIDIwMDEsIDIxOjQ1OjAzKToKSWNoIHdpbGwgbWljaCBoaWVybWl0IGZ1ZXIgbWVpbmUgc2Nyb2xscyBiZWltIHJlYm9vdCBlbnRzY2h1bGRpZ2VuLgpJY2ggaGFiIG1pdGdla3JpZWd0LCBkYXNzIGVzIGVpbmUgZG9vZmUgc2FjaGUgd2FyLiBBZW5kZXJuIGthbm4gbWFuIGRhcyBqYQpqZXR6dCBuaWNodCBtZWhyLgpUcm90emRlbSwKVHV0IG1pciBsZWlkLgpXVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVudHNjaHVsZGlndW5nIChGaXJlaGF3aywgMTUuIEF1ZyAyMDAxLCAyMTo0Nzo0NCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTk5NzkwNDcwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkwNDcwMwpIbW1tLCB3ZW5uIHNpY2ggYWxsZSBMZXV0ZSBlbnRzY2h1bGRpZ2VuIHd1ZXJkZW4sIGRpZSBoaWVyIHJ1bXNjcm9sbGVuLCB3YWVyZQpkaWUgTVBBIGRvcHBlbHQgc28gZGljayA7KQoKRmlyZWhhd2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZW50c2NodWxkaWd1bmcgKEJvaW5nLCAxNS4gQXVnIDIwMDEsIDIxOjQ4OjU3KToKfiMhIHJuPUZpcmVoYXdrIHJ0PTk5NzkwNDg2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkwNDcwMwpJY2ggZmluZCdzIHByaW1hIQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBlbnRzY2h1bGRpZ3VuZyAoVmFyZGlvbiwgMTUuIEF1ZyAyMDAxLCAyMTo0OTozMyk6Cn4jISBybj1Cb2luZyBydD05OTc5MDQ5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTc5MDQ3MDMKV2FubiBlbnRzY2h1bGRpZ3Qgc2ljaCBBcm1hZ2VkZG9uIGZ1ZXIgc2VpbmVuIFNjcm9sbD8gOi0pCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBlbnRzY2h1bGRpZ3VuZyAoS2FkYWJyYSwgMTUuIEF1ZyAyMDAxLCAyMTo1MDowNSk6Cn4jISBybj1Cb2luZyBydD05OTc5MDQ5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTc5MDQ3MDMKQWVoIGRhcyB3b2xsdGUgaWNoIHNhZ2VuIDotKSBFaW4gbXVkZGVyLCBkZXIgc2ljaCBlbnRzY2h1bGRpZ3QsCndpciB3ZXJkZW4gbm9jaCBzb3ppYWxlIFdlc2VuLCB3ZW5ucyBzbyB3ZWl0ZXIgZ2VodCA6LSkKa2FkYWJyYSAoaGF0IG5peCBkYWdlZ2VuIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGVudHNjaHVsZGlndW5nIChGaXJlaGF3aywgMTUuIEF1ZyAyMDAxLCAyMTo1MToyMik6Cn4jISBybj1WYXJkaW9uIHJ0PTk5NzkwNDk3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkwNDcwMwpJY2ggc2FnIGphIG5pY2gsIGRhc3MgaWNocyBuaWNodCBwcmltYSBmaW5kZSwgZGFzcyBzaWNoIGVuZGxpY2ggbWFsIGVpbmVyCmVudHNjaHVsZGlndCwgYWJlciBlcyBnaWJ0IExldXRlIGRpZSBzY3JvbGxlbiBzY2hsaW1tZXIgb2huZSBhdWNoIG51ciBlaW4gV29ydApkcnVlYmVyIHp1IHZlcmxpZXJlbiA7KQpBbHNvLCBrZWluZSBTb3JnZW4gbWFjaGVuIFdoaXRldGlnZXIsIGRhcyBiaXNjaGVuIFNjcm9sbCBicmluZ3QgbmllbWFuZGVuIHVtLAp1bnMgbmljaHQgdW5kIERpY2ggc2ljaGVyIGF1Y2ggbmV0IDspCgpGaXJlaGF3awoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYm9pbmcgKFd1cnplbCwgMTYuIEF1ZyAyMDAxLCAwMDo0Mjo1NCk6CmlyZ2VuZHdpZSBmZWhsdCB3YXMuCmVpbiBtdWQsIGRhcyBtb3JnZW5ncmF1ZW4gaGVpc3N0LCBoYXQgYm9pbmcgYWxzIG11ZGdvdHQuIHNvIHdhciBlcyBpbW1lciwKc28ga2VubmVuIHdpciBkYXMgYWxsZS4gdW5kIGpldHp0IGlzdCBkYXMgYXVmIGVpbm1hbCBuaWNodCBtZWhyIHNvLgp3YXMgd2FlcmUgZGFzIG1nLCB3ZW5uIGJvaW5nIGRlbiBqb2IgbmljaHQgc28gbGFuZ2UgZ2VtYWNodCBoYWV0dGU/CmtlaW5lIGFobnVuZywgYWJlciBqZWRlbmZhbGxzIG5pY2h0IGRhcywgd2FzIGVzIGhldXRlIGlzdC4gd2FocnNjaGVpbmxpY2gKd2FlcmUgZXMgc2Nob24gbGFlbmdzdCBudXIgbm9jaCBnZXNjaGljaHRlLgppY2ggbW9lY2h0ZSBtaWNoIGFuIGRpZXNlciBzdGVsbGUgYXVzZHJ1ZWNrbGljaCBiZWkgYm9pbmcgYmVkYW5rZW4gZnVlcgpkYXMsIHdhcyBlciBmdWVyIHVuc2VyIGFsbGVyIGhvYmJ5IGdldGFuIGhhdC4gdW5kIGljaCBkZW5rZSwgaWNoIHNwcmVjaGUKZGEgbmljaHQgbnVyIGZ1ZXIgZGVuIHZlcmVpbiwgc29uZGVybiBmdWVyIGRpZSBnYW56IGdyb3NzZSBtZWhyaGVpdCBkZXIKbGV1dGUsIGRpZSBoaWVyIGVpbmVuIG9mdCBlcmhlYmxpY2hlbiB0ZWlsIGlocmVyIGZyZWl6ZWl0IHZlcmJyaW5nZW4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBib2luZyAoVGVrdHVrbywgMTYuIEF1ZyAyMDAxLCAwMDo1NDo1Myk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTk3OTE1Mzc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk3OTE1Mzc0CkljaCBzY2hsaWVzc2UgbWljaCBXdXJ6ZWwgYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYm9pbmcgKEtlbHJpcywgMTYuIEF1ZyAyMDAxLCAwMTowMzowMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTk3OTE1Mzc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk3OTE1Mzc0CkljaCBkZW5rZSBpY2ggZGFyZiBtaWNoIGltIE5hbWVuIGFsbGVyIEp1bmdzcHVuZGUgV3VyemVscyBBcnRpa2VsCmFuc2NobGllc3Nlbi4KR2FueiBwZXJzb2VubGljaCBtb2VjaHRlIGljaCBCb2luZyBmdWVyIHNlaW5lIHRvbGxlbiBTdGltbXVuZ3N2b2xsZW4gUXVlc3RzCmRhbmtlbi4KQWxzbyBCb2luZywgZ2VuaWVzcyBkZWluIFJlbnRuZXJkYXNlaW4gdW5kIGJlZ2x1ZWNrZSB1bnMgbWl0IG5vY2ggbWVociBRdWVzdHMsCmF1Y2ggd2VubiBkaWUgQXJiZWl0IGpldHp0IG1laHIgWmVpdCB2ZXJzY2hsaW5ndC4KCmJlc3QgcmVnYXJkcyB2b20gVGFuamktRWxmIEtlbHJpcyA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBib2luZyAoV2lsbG93LCAxNi4gQXVnIDIwMDEsIDAxOjE3OjQ4KToKfiMhIHJuPVd1cnplbCBydD05OTc5MTUzNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTc5MTUzNzQKamF3b2xsamEgLSBhbHNvIGljaCBiaW4gamEgbWl0dGxlcndlaWxlIGF1Y2ggc2Nob24gcmVsYXRpdiBsYW5nZSBkYWJlaSB1bmQgaWNoCmthbm4gZGVtIG51ciB6dXN0aW1tZW4hIHdhcyB3YWVyZSBkYXMgbWcgb2huZSBib2luZz8/PyB3YWhyc2NoZWlubGljaApnZXNjaGljaHRlIC0gZGVzaGFsYiB3aXJkIG1pciBhdWYgamVkZW4gZmFsbCBldHdhcyBmZWhsZW4sIHdlbm4gaGludGVyIGJvaW5nCm51ciBub2NoIGRhcyBSIHN0ZWh0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYm9pbmcgKEhpZ2h0LCAxNi4gQXVnIDIwMDEsIDAxOjM1OjM3KToKfiMhIHJuPVdpbGxvdyBydD05OTc5MTc0Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTc5MTUzNzQKaWNoIHNjaGxpZXNzZSBtaWNoIHNhZW10bGljaGVuIHZvcnJlZG5lcm4gYW4gYXVjaCB3ZW5uIGljaCB3ZWRlciBqdW5nc3B1bmQKbm9jaCBhbHRlciBzYWNrIGJpbgoKaGlnaHQgc2ljaCB2b3IgQm9pbmcgc28gdGllZiBlcyBkZXIgcnVlY2tlbiB1bmQgZGVyIGJpZXJiYXVjaCB6dWxhZXNzdAp2ZXJuZWlnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsb2dpbiAoSGlnaHQsIDE2LiBBdWcgMjAwMSwgMDE6NTY6MjQpOgpvZWhtIG1pciBpcyBncmFkIGF1ZmdlZmFsbGVuIGRhcyBiZWltIGxvZ2luIGRpZSB6ZWlsZW50cmVubnVuZyBmYWxzY2ggaXMgLG8pCgp1bmQgc2NodWxkIGlzIG51ciBsaWFyYSB3ZWlsIGRpZSBtaWNoIGF1ZiBkaWUgaWRlZSBnZWJyYWNodCBoYXQgenUgZ3Vja2VuIHdhcwphbiBkZW0gbG9naW4gbmV1IGlzICxvKQoKaGlnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2dpbiAoVmFuaW9uLCAxNi4gQXVnIDIwMDEsIDA3OjQ5OjAxKToKfiMhIHJuPUhpZ2h0IHJ0PTk5NzkxOTc4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkxOTc4NApTY2hhbHQgbWFsIGRlaW5lIGdhbnplbiBUcmlnZ2VyIGFiLCB1bmQgc2NoYXVzIGRpciBub2NobWFsIGFuIDstKQoKViosIGF1Y2ggc2Nob24gZHJhdWYgcmVpbmdlZmFsbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJvaW5nIChUcm95LCAxNi4gQXVnIDIwMDEsIDA4OjU0OjE4KToKfiMhIHJuPVd1cnplbCBydD05OTc5MTUzNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTc5MTUzNzQKSGFsbG8sCgpuYWNoIGRpdmVyc2VuIEJ1Zy1TY2hsYWNodGVuIHdpcmQgbWlyIEJvaW5nIGFscyBNdWRnb3R0IGVjaHQgZmVobGVuLiBJY2gKaG9mZmUsIGRhc3Mgc2ljaCBab29rIGVudHNwcmVjaGVuZCBldGFibGllcnQsIGRpZSBWb3J6ZWljaGVuIHNlaGVuIGFiZXIgZ3V0CmF1cyA6LSkgQmxlaWJ0IG5vY2ggYW56dW1lcmtlbiwgZGFzcyB3aWUgdmVybXV0bGljaCBoaW5sYWVuZ2xpY2ggYmVrYW5udAppc3QgLSBTdGVpbmJlaXNzZXIgamEgZWlnZW50bGljaCBGaXNjaGUgc2luZC4gV2FzIGhpZXIgaW4gSGFtYnVyZyBhdXMgZGVyCkVsYmUgYnp3LiBkZXIgTm9yZHNlZSBnZXpvZ2VuIHdpcmQsIGtvZW5udGUgbWFuIGFiZXIgZHVyY2hhdXMgYWxzIGdyb3NzLApzY2h3YXJ6IHVuZCBiZWhhYXJ0IGJlemVpY2huZW4uIFdlciBrYW5uIGRhIHNjaG9uIHNhZ2VuLCBvYiBlcyBuaWNodAp2aWVsbGVpY2h0IGF1Y2ggbGF1ZmVuIGdlbGVybnQgaGF0Li4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYm9pbmcgKFNoYWtlZGJlZXIsIDE2LiBBdWcgMjAwMSwgMTE6MTU6NDkpOgp+IyEgcm49V3VyemVsIHJ0PTk5NzkxNTM3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkxNTM3NApIaSEKCk1pciBnZWh0IGVzIGdlbmF1c28uIFZpZWxlbiBEYW5rLCBCb2luZywgZnVlciBEZWluZSBnb2V0dGxpY2hlbiBUYXRlbi4gVW5kCkRpciwgWm9vaywgdmllbCBFcmZvbGcgaW0gbmV1ZW4gUG9zdGVuLiA7LSkKClNoYWtlZGJlZXIgLSB3aXJkIGpldHp0IHdvaGwgZXJzdG1hbCBkaWUgR2VmYWVuZ25pc2luc2VsIHVtc2NocmVpYmVuIG11ZXNzZW4uCjstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3Vlc3N3YXNzZXJ0YXVjaGVuIGRlciBiZXNvbmRlcmVuIEFydCAoTXVhZGRpYiwgMjAuIEF1ZyAyMDAxLCAxNDo0OToyMSk6CkhpLAoKZnVlciBhbGxlIFRhdWNoZXIsIGRpZSBkZW5rZW4sIGRhc3MgU3Vlc3N3YXNzZXJ0YXVjaGVuIG9lZCBpc3Q6CkluIER1aXNidXJnIGlzdCBzZWl0IGxldHp0ZW0gU2Ftc3RhZyBhdWYgZGVtIEFyZWFsIGVpbmVzIEh1ZXR0ZW53ZXJrZXMgZGFzClRhdWNoZ2Fzb21ldGVyIG9mZmVuLiBFaW4gYWx0ZXMgTmFzc2dhc29tZXRlciwgNDVtIER1cmNobWVzc2VyLCB+MTIuNW0gdGllZi4KRGEgZHJpbiB6dSBmaW5kZW46IC0gZWluZSAxMW0gWWFjaHQsIHZvbGxzdGFlbmRpZyB6dSBiZXRhdWNoZW47IDIgQXV0b3dyYWNrcywKZWluZSBrdWVuc3RsaWNoZSBIb2VobGVubGFuZHNjaGFmdCwgLi4uCgpJbSBnYW56ZW4gZWluIGR1cmNoYXVzIHNrdXJyaWxlcyBFcmxlYm5pcy4gTWFuIGZ1ZWhsdCBzaWNoLCBhbHMgd3VlcmRlIG1hbiBpbgplaW5lbSBJbmR1c3RyaWVtdXNldW0gdGF1Y2hlbi4gVW5kIGRhcyBmZWhsZW5kZSBMaWNodCAoZHVyY2hnZWhlbmQgZWhlcgpkYWVtbXJpZ2UgQmVsZXVjaHR1bmcpIHR1dCBzZWluIHVlYnJpZ2VzIGZ1ZXIgZWluZSBhYnNvbHV0IGdlbmlhbGUgU3RpbW11bmcuCgpNZWhyIEluZm9zOiB3d3cudGF1Y2hnYXNvbWV0ZXIuZGUKS29zdGVuOiA1MCBETSBmdWVyIDIgVEcKClVuZCBqYSwgZnVlciBtaWNoIGhhYmVuIHNpY2ggZGllIGtuYXBwIDg1MGttIEFuZmFocnQgYXVzZ2V6YWhsdCA6KQoKTXVhLCBTdGlja3N0b2Zmc3VlY2h0aWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWVzc3dhc3NlcnRhdWNoZW4gZGVyIGJlc29uZGVyZW4gQXJ0IChNdWFkaWIsIDIwLiBBdWcgMjAwMSwgMTY6MTI6NTYpOgp+IyEgcm49TXVhZGRpYiBydD05OTgzMTE3NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTgzMTE3NjEKd29iZWkgdGF1Y2hlbiBpbiBub3JtYWxlbiBzZWVuLCBhdWNoIHN1ZXNzd2Fzc2VyLCBiZWlsZWliZSBuaWNodCB6dSB2ZXJhY2h0ZW4KaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdWVzc3dhc3NlcnRhdWNoZW4gZGVyIGJlc29uZGVyZW4gQXJ0IChNdWFkZGliLCAyMC4gQXVnIDIwMDEsIDE2OjE0OjAwKToKfiMhIHJuPU11YWRpYiBydD05OTgzMTY3NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05OTgzMTE3NjEKam8sIGtsYXIsIGFiZXIgLSBtYW5jaGUgd2FybWR1c2NoZXIgbW9lZ2VuIGRpZSBzaWNodCB1bmQgZGllIHRlbXBlcmF0dXIgbmljaHQKOikKCkltIHVlYnJpZ2VuIGdpYnRzIGluIGRlbiB3ZW5pZ3N0ZW4gU2VlbiBzb3ZpZWwgenUgc2VoZW4gLSBhdWYgc28gZW5nZW0gUmF1bQp1bmQgaW4gZWluZXIgc28gc2Nob2VuZW4sIGZsYWNoZW4gVGllZmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGJvaW5nIChQYW1wZXJzLCAyMi4gQXVnIDIwMDEsIDA5OjMwOjE4KToKfiMhIHJuPUhpZ2h0IHJ0PTk5NzkxODUzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk5NzkxNTM3NApXZXIgc2FndCBkYXNzIER1IGtlaW4gSnVuZ3NwdW5kIGJpc3Q/IDotKQoKUGFtcGVycy4gSnVuZ3NwdW5kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3Vlc3N3YXNzZXJ0YXVjaGVuIGRlciBiZXNvbmRlcmVuIEFydCAoS2VsbHlidW5keSwgMjYuIEF1ZyAyMDAxLCAxMzo1ODoyNyk6Cn4jISBybj1NdWFkaWIgcnQ9OTk4MzE2Nzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTk4MzExNzYxCkxlaWRlciBzaW5kIGRpZSBtZWlzdGVuIFNlZW4genUgdHJ1ZWJlLCBhbHMgZGFzcyBlcyBlaW4gR2VudXNzIHdhZXJlLgoKRHVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmaW5nZXIgMTc3OUBub2MuZGZuLmRlIChGb29iYXIsIDEwLiBTZXAgMjAwMSwgMTc6NTU6NDcpOgoxMC4wOS4yMDAxIGNhLiAxNToyNQotLS0tLS0tLS0tLS0tLS0tLS0tLQpEZXIgQi1XaU4gcm91dGVyIHpyLWJlcmxpbjEgaXN0IG5pY2h0IGJldHJpZWJzYmVyZWl0LgpEYWR1cmNoIHNpbmQgZGllIEItV2lOIEFuc2NobHVlc3NlIGltIFJhdW0gQmVybGluIG5pY2h0IGVycmVpY2hiYXIuClVyc2FjaGUgaXN0IGVpbiBTdHJvbWF1c2ZhbGwgaW0gQmVyZWljaCBkZXIgRFRBRy4KRGllIFRlbGVrb20gYXJiZWl0ZXQgYW4gZGVyIEVudHN0b2VydW5nLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgpOYWphLCBzaWUgc2NoZWluZW4gZGllIFN0b2VydW5nIGJlaG9iZW4genUgaGFiZW4gOm8pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmaW5nZXIgMTc3OUBub2MuZGZuLmRlIChXdXJ6ZWwsIDEwLiBTZXAgMjAwMSwgMTg6MDM6MTIpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDAxMzczNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMTM3MzQ3CmdlaG9lcnQgZGllIHRlbGVrb3R6IG5ldWVyZGluZ3MgYXVjaCB6dSBkZW4gc3Ryb212ZXJzb3JnZXJuPyBtYW4gbGVybnQgbmllCmF1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1ha2FiZXIuLi4gKE1vbnRhbnVzLCAxMS4gU2VwIDIwMDEsIDIxOjM1OjA0KToKSWNoIHdlaXNzLCBkYXNzIGRhcyBoaWVyIGFsbGVzIG51ciBlaW4gU3BpZWwgaXN0LCBhYmVyIGljaCBmaW5kZSBlcyBkb2NoCmV4dHJlbSBtYWthYmVyLCBkYXNzIG1hbiBoaWVyIHdlaXRlcmhpbiBkZW4gV29scGktQ2x1YiBpbiBkaWUgTHVmdCBzcHJlbmdlbgprYW5uLCB3YWVocmVuZCBnZXJhZGUgaW4gZGVyIFJMIG1pdCBUZXJyb3JhbnNjaGxhZWdlbiB1bmQgVG90ZW4genVnZWh0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1ha2FiZXIuLi4gKEVsZW5kaWwsIDExLiBTZXAgMjAwMSwgMjE6NDU6NTgpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAwMDIzNjkwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKRGllIEVyZWlnbmlzc2UgaW4gZGVuIFVTQSBzaW5kIGhvZWNoc3QgdHJhZ2lzY2gsIHRyb3R6ZGVtIHNvbGx0ZQptYW4gUkwgdW5kIFZMIHRyZW5uZW4uIERpZXMgenUgdWViZXJ0cmFnZW4gd3VlcmRlIHp1ciBBYnNjaGFmZmVuCmV0bGljaGVyIERpbmdlIGltIE1HIGZ1ZWhyZW4uCgpFbGVuZGlsLCBlbnRzZXR6dCB1ZWJlciBkaWUgQW5zY2hsYWVnZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWthYmVyLi4uIChXdXJ6ZWwsIDExLiBTZXAgMjAwMSwgMjE6NDg6NDkpOgp+IyEgcm49RWxlbmRpbCBydD0xMDAwMjM3NTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApkZW0gc2NobGllc3NlIGljaCBtaWNoIGFuLiBkYXMgZWluZSBoYXQgbmljaHRzIG1pdCBkZW0gYW5kZXJlbiB6dSB0dW4sIG9kZXIKc29sbHRlIGVzIHp1bWluZGVzdGVucyBuaWNodC4KaWNoIG1hZyBlcyBnZW5hdXNvIHdlbmlnLCB3ZW5uIHRlcnJvcmlzdGVuIGFtZXJpa2FuaXNjaGUgaG9jaGhhZXVzZXIgc3ByZW5nZW4Kb2RlciBpc3JhZWxpc2NoZSBzdGFhdHN0ZXJyb3Jpc3RlbiBhcmFiZXJmdWVocmVyIGVybW9yZGVuLiBhYmVyIGRhcyBtaXQgZGVtCndvbHBpY2x1YiBoYXQgZnVlciBtaWNoIGVpbmUgYW5kZXJlIHF1YWxpdGFldC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZXJzY2h1ZXR0ZXJuZC4uLiAoV3VyemVsLCAxMi4gU2VwIDIwMDEsIDAwOjIzOjMwKToKaGV1dGUgaXN0IHNpY2hlcmxpY2ggZWluIGRlbmt3dWVyZGlnZXIgdGFnLiBhdXMgdmVyc2NoaWVkZW5lbiBncnVlbmRlbiwgdm9yCmFsbGVtIGFiZXIgZHVyY2ggZGllIGFuc2NobGFlZ2UgYXVmIGFtZXJpa2FuaXNjaGUgZWlucmljaHR1bmdlbi4gZGFzIHdpbGwKaWNoIGhpZXIgbmljaHQgd2VpdGVyIGtvbW1lbnRpZXJlbiwgZGFzIGhhYmVuIHNjaG9uIHNlaHIgdmllbGUgZ2V0YW4gaGV1dGUuCnNlaHIgdmllbGUgYXVjaCBoaWVyIGF1ZiBkZW0gYWxsZ2VtZWluLWthbmFsLCBkZW4gaWNoIG5vcm1hbGVyd2Vpc2UgbmljaHQKYW4gaGFiZS4gaGV1dGUgaGFiZSBpY2ggbWFsIGRpZSBkaXNrdXNzaW9uIGF1cyBuYWhlbGllZ2VuZGVuIGdydWVuZGVuIGVpbmUKemVpdCBsYW5nIG1pdGdlbGVzZW4uIHdhcyBpY2ggZGEgZ2VzZWhlbiBoYWJlIGVyc2NodWV0dGVydCBtaWNoIHp3YXIgbmljaHQKc28gd2llIGFuZGVyZSBkaW5nZSwgZGllIGluIGRlciB3ZWx0IHZvciBzaWNoIGdlZ2FuZ2VuIHNpbmQgYW4gZGllc2VtIHRhZywKYWJlciBlcyBnaWJ0IG1pciBkb2NoIGVpbiBzZWhyIHVuZ3V0ZXMgZ2VmdWVobCwgd2VubiBpY2ggYW4gZGllIHp1a3VuZnQKZGVua2UuIHNvIHZpZWxlIGxldXRlIGhhYmVuIGhpZXIgbWVociBvZGVyIHdlbmlnZXIgdW52ZXJob2hsZW4genUgbW9yZCBhbgp1bmJldGVpbGlndGVuIGF1ZmdlcnVmZW4sIGRhc3MgbWlyIGdyYXV0LiB2b3IgZGllc2VyIGVpbnN0ZWxsdW5nLCB2b3IgZGVyCnp1a3VuZnQgdW5zZXJlcyBsYW5kZXMgdW5kIGluc2Jlc29uZGVyZSB2b3IgZXVjaC4KZGllIHByaW56aXBpZW4gZGVzIHJlY2h0c3N0YWF0ZXMgYmVkZXV0ZW4gdmllbGVuIGhpZXIgb2ZmZW5zaWNodGxpY2ggbmljaHQKc28gdmllbCB3aWUgc2NobXV0eiB1bnRlciBkZW0gZmluZ2VybmFnZWwuIGRhIHdpcmQgZGF6dSBhdWZnZXJ1ZmVuLCBlaW4gbGFuZAp6dSBib21iYXJkaWVyZW4sIG51ciB3ZWlsIG1vZWdsaWNoZXJ3ZWlzZSBlaW4gbWFubiBkb3J0IGxlYnQsIGdlZ2VuIGRlbiBkZXIKdmVyZGFjaHQgZGVzIHRlcnJvcmlzbXVzIGJlc3RlaHQuIHNlbGJzdCB3ZW5uIGVyIHNjaHVsZGlnIHdhZXJlIChlciBoYXQgbmFjaAp1bnNlcmVyIHJlY2h0c25vcm0gc28gbGFuZ2UgYWxzIHVuc2NodWxkaWcgenUgZ2VsdGVuLCBiaXMgaWhtIGRpZSBzY2h1bGQgdm9yCmdlcmljaHQgYmV3aWVzZW4gaXN0KSwgd2lyZCBiaWxsaWdlbmQgaW4ga2F1ZiBnZW5vbW1lbiwgZGFzcyB0YXVzZW5kZSB2b24KbWVuc2NoZW4gZ2V0b2V0ZXQgd2VyZGVuLCBudXIgd2VpbCBzaWUgenVmYWVsbGlnIGViZW5mYWxscyBpbiBkZW0gbGFuZApsZWJlbi4gInNvbGwgYW1lcmlrYSBkYXMgZXR3YSBhdWYgc2ljaCBzaXR6ZW4gbGFzc2VuPyIgdW5kIGFlaG5saWNoZXMKYmVrb21tdCBtYW4genUgaG9lcmVuLiBzdHVtcGZlbiByYWNoZWdlZnVlaGxlbiB3ZXJkZW4gcHJpbnppcGllbiBnZW9wZmVydCwKZGllIGVpZ2VudGxpY2ggYWxzIGdydW5kbGFnZSB1bnNlcmVyIHdlc3RsaWNoZW4geml2aWxpc2F0aW9uIGdlbHRlbiBzb2xsdGVuLgp3YXMgdW50ZXJzY2hlaWRldCB1bnMgZGFubiBub2NoIHZvbiBkZW4gdGVycm9yaXN0ZW4sIGF1c3NlciBkZXIgdGF0c2FjaGUKZGFzcyBkaWUgd2VzdGxpY2hlbiBsYWVuZGVyIGRhbm4gb2ZmaXppZWxsIGdlbmF1IGRhcyB0dW4sIHdhcyBzaWUgZGVuCnRlcnJvcmlzdGVuIHZvcndlcmZlbj8KaWNoIGhhYmUgdm9uIGVtcG9lcnVuZyBnZWxlc2VuIHVlYmVyIGRpZSBmcmV1ZGVuZmVzdGUgZGVyIHBhbGFlc3RpbmVuc2VyLgptaWNoIG1hY2hlbiBzaWUgZWhlciBuYWNoZGVua2xpY2ggYWxzIGVtcG9lcnQuIHdpZSBzZWhyIG11c3MgbWFuIG1lbnNjaGVuCmRlbXVldGlnZW4gdW5kIHF1YWVsZW4sIGRhc3Mgc2llIHNpY2ggdWViZXIgZGVuIHRvZCB2b24gdGF1c2VuZGVuIGFuZGVyZW4KbWVuc2NoZW4gZnJldWVuPyB3YXMgaXN0IGRpZSB1cnNhY2hlIGRpZXNlciBmcmV1ZGU/IHVuZCB3YXMgYmV3ZWd0IG1lbnNjaGVuCmRhenUsIGZsdWd6ZXVnZSBhdWYgaG9jaGhhZXVzZXIgenUgbGVua2VuIHVuZCBkYWJlaSBiZXd1c3N0IGluIGRlbiB0b2QgenUKZ2VoZW4/IGFiZXIgZW1wb2VydW5nIGlzdCBzZWhyIHZpZWwgZWluZmFjaGVyIGFscyBlaW4gZGVua3Byb3plc3MuIHVuZCBnZW5hdQpkZXN3ZWdlbiB3aXJkIGVzIHNjaGxhZyBhdWYgc2NobGFnIHdlaXRlcmdlaGVuLCBhdWdlIHVtIGF1Z2UsIHphaG4gdW0gemFobiwKYmx1dCB1bSBibHV0LiBlcyB3ZXJkZW4gbm9jaCB2aWVsZSBtZW5zY2hlbiBzdGVyYmVuLCBmYXN0IGFsbGUgdW5zY2h1bGRpZwp1bmQgdW5iZXRlaWxpZ3QuIHVuZCBpaHIgZmluZGV0IGRhcyBhdWNoIG5vY2ggZ3V0IHVuZCByaWNodGlnIHNvLiBpY2gga29lbm50ZQpzYWdlbiwgZGFzcyBpaHIgbWlyIGxlaWQgdHV0LiBhYmVyIHZpZWwgbWVociBncmF1dCBtaXIgdm9yIGV1Y2gsIGRlbm4gZWluZXMKdGFnZXMgd2lyZCBldXJlIGdlbmVyYXRpb24gZGllIGdlc2NoaWNrZSB1bnNlcmVzIGxhbmRlcyBiZXN0aW1tZW4uIGljaCBob2ZmZQptYWwsIGRhc3Mgd2VuaWdzdGVucyBlaW4gcGFhciBtZWhyIGFscyBzaWNoIGhldXRlIGluIGRlciBkaXNrdXNzaW9uIGdlemVpZ3QKaGFiZW4gYmlzIGRhaGluIGdlbGVybnQgaGFiZW4sIGRhc3MgbmFjaGRlbmtlbiBiZXNzZXIgaXN0IGFscyBkcmF1ZmhhdWVuLgpsYXNzdCBtaXIgd2VuaWdzdGVucyBkaWVzZSBob2ZmbnVuZy4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVyc2NodWV0dGVybmQuLi4gKFRzdW5hbWksIDEyLiBTZXAgMjAwMSwgMDE6NDU6MDQpOgp+IyEgcm49V3VyemVsIHJ0PTEwMDAyNDcwMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjQ3MDEwCldhcyBkdSBkYSBzY2hyZWlic3QgaXN0IGphIGd1dCB1bmQgcmVjaHQgdW5kIGltIFByaW56aXAgdm9lbGxpZyByaWNodGlnLgpCbG9zcywgZGFzcyBtYW4gbWl0IFRlcnJvcmlzdGVuIG5pY2h0IHZlcmhhbmRlbG4ga2Fubi4gVm9yIGFsbGVtIHdlbm4gbWFuCnZvciB2b2xsZW5kZXRlIFRhdHNhY2hlbiBnZXN0ZWxsdCB3aXJkIChCb21iZSBob2NoZ2VnYW5nZW4sIGtlaW5lIFdhcm51bmcKdm9yaGVyKS4KClNvbGxlbiB3aXIgbmljaHRzIHVudGVybmVobWVuIHVuZCB3ZWl0ZXIgbGViZW4gd2llIGdld29obnQgKGFiZXIgaW4gQW5nc3QKdW5kIFNjaHJlY2tlbikgYmlzIGFsbGUgdW5zZXJlIFN0YWVkdGUgaW4gU2NodXR0IHVuZCBBc2NoZSBnZWxlZ3Qgd29yZGVuCnNpbmQgb2RlciBkZW4gZXJwcmVzc2VyaXNjaGVuIEZvcmRlcnVuZ2VuIGRlciBUZXJyb3Jpc3RlbiBuYWNoZ2VnZWJlbiB3aXJkPwoKU29sbGVuIHdlaXRlcmhpbiB1bnNjaHVsZGlnZSBNZW5zY2hlbiBzdGVyYmVuIG51ciB3ZWlsIGVpbiBwYWFyIFdhaG5zaW5uaWdlCmlocmUgRm9yZGVydW5nZW4gbWl0IEdld2FsdCBkdXJjaHNldHplbiB3b2xsZW4/IEljaCB3ZWlzcywgZGllc2VyIEdlZGFua2VuLQpnYW5nIGZ1ZWhydCB6dSBlaW5lbSBzZWhyIHVuYmVxdWVtZW4gRW5kZTogV2FzIHR1biBkYWdlZ2VuIHVuZCB3aWUgZHJhc3Rpc2NoPwoKRGllIEdlc2NoaWNodGUgaGF0IGdlemVpZ3QsIFRlcnJvcmlzdGVuIGRpZSBuYWNoIHVuc2VyZW4gd2VzdGxpY2hlbiB1bmQgdm9uCmRpciBzbyBnZWxvYnRlbiBSZWNodHNtaXR0ZWxuIGFiZ2V1cnRlaWx0IHdlcmRlbiwgd2FuZGVybiBpbnMgR2VmYWVuZ25pcywKd2VyZGVuIGRhbm4gZW50d2VkZXIgd2VnZW4gZ3V0ZXIgRnVlaHJ1bmcgZnJ1ZWh6ZWl0aWcgZW50bGFzc2VuIChzaWVoZSB6LkIuClJvdGUgQXJtZWUgRnJha3Rpb24pIG9kZXIgbm9jaCBzY2hsaW1tZXIsIGVzIGZvbGd0IGVpbiB3ZWl0ZXJlciBUZXJyb3Jha3QKdW0gc2llIGZyZWl6dXByZXNzZW4uIFVuZCBub2NoIG1laHIgdW5zY2h1bGRpZ2UgTWVuc2NoZW4gc3RlcmJlbiAoc2llaGUgCndpZWRlciBSb3RlIEFybWVlIEZyYWt0aW9uIHVuZCB1bnphZWhsaWdlIGFuZGVyZSBUZXJyb3JlaW5oZWl0ZW4gYXVzIGRlbSAKbWl0dGxlcmVuIE9zdGVuKS4KCkRlc3dlZ2VuIGhhYmVuIFRlcnJvcmlzdGVuICh1bmQgbnVyIFRlcnJvcmlzdGVuKSBpbiBtZWluZW4gQXVnZW4gbmljaHQgZGllIApHbmFkZSB1bnNlcmVzIFJlY2h0c3N5c3RlbXMgdmVyZGllbnQuIAoKVHN1bmFtaS4gUHJvIFRvZGVzc3RyYWZlIGZ1ZXIgVGVycm9yaXN0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVyc2NodWV0dGVybmQuLi4gKFRydWcsIDEyLiBTZXAgMjAwMSwgMDE6NDc6MjQpOgp+IyEgcm49VHN1bmFtaSBydD0xMDAwMjUxOTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDI0NzAxMApIYWIgaWNoIHdhcyBoZXV0ZSB2ZXJzY2hsYWZlbiwgb2RlciBnYWJzIGRhIGlyZ2VuZHdvIC8gd2FubiBkYSBzbwplcnByZXNzZXJpc2NoZSBGb3JkZXJ1bmdlbiB2b24gVGVycm9yaXN0ZW4sIGRpZSBzaWNoIGRhIHNjaG9uIG5hdHVlcmxpY2ggaW4KRmVybnNlaGVuIG9kZXIgaXJnZW5kd2llIGFuZGVycyBnZXplaWd0IGhhYmVuPwoKVHJ1Zywgdm9yc2ljaHRpZyBsaWViZXIgbmljaHQgYWxsenV2aWVsIE9lbCBpbnMgRmV1ZXIgaW4gZGVuIFRocmVhZCg/KSBnaWVzc2VuCndvbGxlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZXJzY2h1ZXR0ZXJuZC4uLiAoQW5hdG9sLCAxMi4gU2VwIDIwMDEsIDAxOjQ4OjQ2KToKfiMhIHJuPVRzdW5hbWkgcnQ9MTAwMDI1MTkwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKW1hdIElociByZWRldCBhbmVpbmFuZGVyIHZvcmJlaS4KClsgXSBXaXIgYWxsZSBoYWJlbiBkaWUgU2FjaGUgYXVzcmVpY2hlbmQgdmVyYXJiZWl0ZXQsIHVtIFJlYWt0aW9uZW4KICAgIHZvbiBlbW90aW9uYWwgYW5kZXJzZ2VzdGFsdGlnIEludm9sdmllcnRlbiB1bmdlZmFlcmJ0IGtyaXRpc2llcmVuCiAgICB6dSBrb2VubmVuLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVyc2NodWV0dGVybmQuLi4gKEpvaG5ueWJvc3MsIDEyLiBTZXAgMjAwMSwgMDE6NTI6NDYpOgp+IyEgcm49V3VyemVsIHJ0PTEwMDAyNDcwMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjQ3MDEwCmljaCBzaXR6ZSBoaWVyIGZhc3QgZGlyZWt0IHZvciBvcnQgdm9uIGRlbiBhdHRlbnRhdGVuIHVuZCBoYWIgamV0enQgZGVuIGdhbnplbgp0YWcgZGllIG5hY2hyaWNodGVuIGdlc2VoZW4sIHVuZCBzZWx0c2FtZXJ3ZWlzZSB3aXJkIGhpZXIgbm9jaCBuaWNodCBkYW5hY2gKZ2VzY2hyaWVuIGdld2lzc2UgbGFlbmRlciB6dSBib21iZW4uIG5hdHVlcmxpY2ggc2luZCBoaWVyIGFsbGUgZ2VzY2hvY2t0IHVlYmVyCmRpZXNlcyBhdHRlbnRhdCwgYWJlciBpbSBtb21lbnQgc2luZCBkaWUgbGV1dHogaGllciBlaGVyIGRhcmFuIGludGVyZXNzaWVydCwKZGllIGhpbnRlcm1hZW5uZXIgenUgZmluZGVuLCBiZXZvciBzaWUgZ2VnZW4gaXJnZW5kZWluIGxhbmQgc2NocmVpZW4uCmRpZSBmZWllcm5kZW4gcGFsYWVzdGluZW5zZXIgbGFzc2VuIGVpbmVtIHdpcmtsaWNoIGRpZSBnYWxsZSBob2Noa29tbWVuLiBkZXJlbgpmcmV1ZGUgaGFlbmd0IGFsbGVyZGluZ3Mgd2VuaWdlciBkYW1pdCB6dXNhbW1lbiwgZGFzcyBzaWUgZ2VkZW11ZXRpZ3Qgd29yZGVuLApzb25kZXJuIGRhc3MgZGllIHVzYSB2ZXJidWVuZGV0ZSB2b24gaXNyYWVsIHNpbmQuCgppbiBkaWVzZW0gc2lubmUKCmpvaG5ueWJvc3MKCnAucy46IGljaCBmb3JkZXJlIGFsbGUgcmVsaWdpb2VzZW4gbXVkZGVyIGhpZXIgYXVmLCBmdWVyIGRpZSBzaXR1YXRpb24genUKYmV0ZW4sIHVuZCBob2ZmZSwgZGFzcyBncmltbWJvcm4gaGllciBrZWluZW4gYmxvZWRlbiBjb21tZW50IHNldHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlcnNjaHVldHRlcm5kLi4uIChNb250YW51cywgMTIuIFNlcCAyMDAxLCAwMTo1NTo0OCk6Cn4jISBybj1Kb2hubnlib3NzIHJ0PTEwMDAyNTIzNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjQ3MDEwCk5vZSwgbmljaHQgR3JpbW1ib3JuLCBpY2ggc2V0emUgbWVpbmUgImJsb2VkZW4gY29tbWVudCIgaGllciBkcnVudGVyLgpXZW5uIERpciBub2NoIG5jaWh0IGF1ZmdlZmFsbGVuIGlzdCwgZGFzcyBSRUxJR0lPRVNFUiBFWFRSRU1JU01VUyBkaWUKSGF1cHRzY2h1bGQgYW4gZGVyIGdhbnplbiBLYWdnZSBoYXQsIGRhbm4gc29sbHRlc3QgZHUgbWFsIGRpZSBBdWdlbgphdWZzcGVycmVuLgpJY2ggc2l0emUgaGllciBhdWNoIHZvciBPcnQsIGljaCBoYWJlIHZpZWxlIFJlYWt0aW9uZW4gbWl0ZXJsZWJ0LCB1bmQgaWNoIGhhYmUKbWljaCBnZWZyZXV0LCBhbHMgc2ljaCBLb2xsZWdlbiAoYW1lcmlrYW5pc2NoZSkgYmVzY2h3ZXJ0IGhhYmVuLCBkYXNzIGRhcwpGZXJuc2VoZW4gZGllIHBhYXIgZmVpZXJuZGVuIHBhbGlzdGFlbnNpc2NoZW4gSG9vbGlnYW5zIHplaWd0IHN0YXR0IGRlcgpCZXNvbm5lbmVuIHVuZCBkYW1pdCBkaWUgU1RpbW11bmcgd2lldGVyIGF1ZmhlaXp0LgpVbmQgaWNoIGhhYiBhdWNoIGltIEhpbnRlcmdydW5kIGRpZSBHbG90emUgYW4gdW5kIGFlcmdlciBtaWNoIHVlYmVyIGplZGVuICJXaXIKYmV0ZW4gZnVlciBkZW4gV2VsdGZyaWVkZW4iLVByZWRpZ2VyLCB2b24gZGVuZW4gZXMgaGllciBpbiBkZW4gVVNBIG1laHIgZ2lidAphbHMgU2FuZHN0cmFlbmRlIGluIERldXRzY2hsYW5kLgpEQVMgaGlsZnQgbmFlbWxpY2ggbmljaHQuCgotTW9udGFudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVyc2NodWV0dGVybmQuLi4gKEpvaG5ueWJvc3MsIDEyLiBTZXAgMjAwMSwgMDI6MDA6MzUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAwMDI1MjU0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKb2ssIHNvcnJ5IHdlbm4gZGlyIG1laW4gYXJ0aWtlbCBuZXQgcGFzc3QsIGFiZXIgZXJzdGVucyBoYWJlIGljaCBhbGxlCnJlbGlnaW9lc2VuIGF1ZmdlZm9yZGVydCB6dSBiZXRlbiwgd2VpbCBpY2ggZ2xhdWJlIGRhc3MgZGFzIGVpbiB3ZWcgaXN0LCBkZXIKaGlsZnQ6IHdlaWwgaWNoIGRhcmFuIGdsYXViZS4KMnRlbnMgaXN0IG1pciBhdWZnZWZhbGxlbiwgZGFzcyByZWxpZ2lvZXNlciBleHRyZW1pc211cyBkaWUgaGF1cHR1cnNhY2hlIGlzdCwKbnVyIHdhciBkYXMga2VpbiBwdW5rdCBpbiBtZWluZW0gc3RhdGVtZW50IChpY2ggYmluIGRhcmF1ZiBuaWNodCBlaW5nZWdhbmdlbiwKdXJzYWNoZW4gdW5kIHNvLCBkdSB3ZWlzc3Qgc2Nob24pLgppY2gga2FubiB2ZXJzdGVoZW4sIHdlbm4gZHUgYXRoZWlzdCBiaXN0LCBudXIgd2VydGUgbmljaHQgZWluZW4gZnJpZWRsaWNoCmdlbGVidGVuIGdsYXViZW4gYWIhCgpqbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlcnNjaHVldHRlcm5kLi4uIChIaWdodCwgMTIuIFNlcCAyMDAxLCAwMjowNzo1Mik6Cn4jISBybj1Uc3VuYW1pIHJ0PTEwMDAyNTE5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjQ3MDEwCkljaCBrYW5uIGRlbSB3YXMgZHUgc2NocmVpYnN0IHNvIG5pY2h0IHp1c3RpbW1lbi4KSWNoIGJpbiBkZXIgTWVpbnVuZyBkYXMgZXMga2VpbmUgYWJzb2x1dCBHQVJLRUlORSBnZWVpZ25ldGUgc3RyYWZlIGZ1ZXIgc29sY2hlClZlcmJyZWNoZW4gZ2lidC4gSWNoIGJpbiBzbyB1bmQgc28gZ2VnZW4gZGllIHRvZGVzc3RyYWZlIGRhIGljaCBkZW5rZSBkYXMgc2llCm5pY2h0cyBudWV0enQgdW5kIGVzIGZ1ZXIgYmVzc2VyIGhhbHRlIGRpZSB2ZXJicmVjaGVyIG1pdCBpaHJlciBzY2hhbmRlIHVuZApkZW0gc2NobGVjaHRlbiBnZXdpc3NlbiBpcmdlbmR3byBlaW5nZXNwZXJydCBsYW5nc3NhbSAidmVycm90dGVuIiB6dSBsYXNzZW4uCkFsbGVyZGluZ3MgemVpdGVuIGRpZSBnZXN0cmlnZW4gZXJlaWduaXNzZSBkZXV0bGljaCBkYXMgIndlciBhdWNoIGltbWVyCnZlcmFudHdvcnRsaWNoIHNlaW4gbWFnIiBzb2V0d2FzIHdpZSBlaW4gZ2V3aXNzZW4gbmljaHQgYmVzaXR6dC4KCkljaCBiaW4gZ3JhZGUgbWl0IGRlbSB0YXhpIG5hY2ggaGF1c2UgZ2VmYWhyZW4gdW5kIGhhYiBkdW1tZXJ3ZWlzZSBlaW5lbgpnZWlzdGlnIGV0d2FzIGVpbmdlc2NocmFlbmtldGVuIGZhcmhyZXIgZ2VoYWJ0LCBkZXIgLHdpZSBpY2ggYXVzIHd1cnplbHMKYXJ0aWtlbCBlbnRuZWhtZSwgd2llIGVpbmlnZSBoaWVyIGRlciBtZWludW5nIHdhciBkYXMgbWFuIGF1cyBkZW0gc28gdW5kIHNvCnNjaG9uIHN0ZWluemVpdGxpY2hlbiBhZmdoYW5pc3RhbiBlaW5lbiB3ZWlzc2VuIGZsZWNrIGluIGRlciBsYW5kc2NoYWZ0IG1hY2hlbgpzb2xsdGUuIApXZW5uIGxldXRlIHdpZSBkaWVzZXIgbWFubiBtYWwgZHJ1ZWJlciBuYWNoIGRlbmtlbiB3YXMgc2llIGRhIHZvbnNpY2ggZ2ViZW4sCndlcmRlIGF1Y2ggc2llIGhvZmZlbnRsaWNoIGRyYXVmIGtvbW1lbiwgZGFzcyBhbGxlcyB3YXMgc2ljaCBhdXMgZWluZXIgc29sY2hlbgpha3Rpb24gZXJnZWJlbiB3dWVyZGUsIDEwMDAwMCB0b3RlIHVudGVyIGRlciB6aXZpbGVuIGJldm9lbGtlcnVuZyBzaW5kIHVuZCBkaWUKZGFtaXQgZGllIHVyaGVyYmVyIGRlcyBhdGF0ZW50YXMgaW4gaWhyZW4gYW5zaWNodGVuIHVuZCBiZWhhdXB0dW5nZW4gbnVyCnN0YWVya2VuIHd1ZXJkZW4uIGFiZ2VzZWhlbiBkYXZvbiBnZWhlIGljaCBwZXJzb2VubGljaCBkYXZvbiBhdXMgZGFzIGVpbiBtYW4Kd2llIGJpbiBsYWRlbiAoYXVmIGRlbiBlcyBsYXV0IG1vbWVudGVuZW4gYmVvYmFjaHR1bmdlbiByYXVzbGFldWZ0KSBuaWNodCBzbwpibG9lZGUgaXN0IHVuZCBzaWNoIGFuIGVpbmVtIG9ydCBhdWZoYWVsdCBhbiBkZW0gZXIgIm1hbCBlYmVuIiBnZXRvZXRldCAvCmdlZmFuZ2VuIHdlcmRlbiBrYW5uLiAKCmljaCBzdGltbWUgZWhlciBtaXQgd3VyemVsIHVlYmVyIGVpbiB1bmQgZGVua2UgbWFuIHNvbHRlIGVyc3QgZGVua2VuIHVuZCBzaWNoCmRhbm4gYWV1c2Vybi4gZGllIHRyYWdpc2NoZW4gZXJlaWduaXNzZSBpbiBkZW4gdmVyZWluaWd0ZW4gc3RhYXRlbiBoYWJlbiBiZWkKdmllbGVuIGdyb3NzZSBzY2hvY2tzIGF1c2dlbG9lc3QgYWJlciBtYW4gc29sdGUgc2VpbmUgYXVlc2VydW5nZW4gaW4gcnVoZQp1ZWJlcmRlbmtlbi4gd2VyIGRhcyBuaWNodCB0dXQgc3RlbHQgc2ljaCBpbWhvIHNlbGJzdCBlaW4gYXJtdXRzemV1Z25pcyBhdXMuCgpoaWdodCBtaXQgMTAwMDAwMDAgdHlwb3MgbXVzc3RlIGRhcyBsb3N3ZXJkZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGVyc2NodWV0dGVybmQuLi4gKEhpZ2h0LCAxMi4gU2VwIDIwMDEsIDAyOjEzOjU0KToKfiMhIHJuPUpvaG5ueWJvc3MgcnQ9MTAwMDI1MjgzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKZmFsc2NoZXIgYXJ0aWtlbCBpY2ggd2Vpc3Mgc29sbCBhbiBtb250YW51cyBnZWhlbjoKCmljaCBzZWxic3QgYmluIGVoZXIgYXRoZWlzdCBhbHMgYWxsZXMgYW5kZXJlIGFiZXIgc29nYXIgaWNoIGFscyBoZWlkZSBrYW5uCnp3aXNjaGVuIEdMQVVCRU4gdW5kIGRhcyBiaXR0ZW4gdW0gaGlsZmUgYmVpIGdvdHQgdW5kIHJlbGlnb2VzZW0gZmFuYXRpc211cwp1bnRlcnNjaGVpZGVuLgoKaWNoIGZ1ZXIgbWVpbmVuIHRlaWwgYmV0ZSBkYXJ1bSAoYXVjaCB3ZW5uIGljaCBkYXMgc29uc3QgbmllIHR1ZSB1bmQgbmljaHQKZ2VuYXUgd2Vpc3MgYW4gd2VuIGljaCBtaWNoIGVpZ2VudGxpY2ggd2VuZGUpIGRhcnVtIGRhcyBkaWUgc2FjaGUgZ2xvYmFsCmdlc2VoZW4gZ2xpbXBmbGljaCBhYmxhZXVmdAoKaGlnaHQgd2VpdGUgMTAwMCB0eXBvcyBhbmhhZW5nZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBlcnNjaHVldHRlcm5kLi4uIChWYXJsYXJpb24sIDEyLiBTZXAgMjAwMSwgMDI6MTQ6NTkpOgp+IyEgcm49SGlnaHQgcnQ9MTAwMDI1MzYzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKYmlzdCBkdSBudW4gYXRoZWlzdCBvZGVyIGhlaWRlLCBoaWdodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGVyc2NodWV0dGVybmQuLi4gKEhpZ2h0LCAxMi4gU2VwIDIwMDEsIDAyOjIzOjU2KToKfiMhIHJuPVZhcmxhcmlvbiBydD0xMDAwMjUzNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDI0NzAxMAp1ZWJlcm11ZWRldCB1bmQgbWl0IGtvcGZzY2htZXJ6ZW4gZ2VzY2hsYWdlbiAKCmhpZ2h0IG1pdCB2aWVyZWNraWdlbiBhdWdlbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGVyc2NodWV0dGVybmQuLi4gKExpbmZsYXMsIDEyLiBTZXAgMjAwMSwgMDg6MDQ6MjUpOgp+IyEgcm49SGlnaHQgcnQ9MTAwMDI1NDIzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKTWlyIGlzdCBzY2hsZWNodC4gSWNoIGthbm4gbmljaHQgc2NobGFmZW4uIEljaCBiaW4gdHJhdXJpZy4gRXMgc2luZCBNZW5zY2hlbgpnZXN0b3JiZW4uIFdhcyBzb2xsIG1hbiBkYSBub2NoIHNhZ2VuPwoKSXN0IGVzIHJpY2h0aWcgbnVuIFJhY2hlIHp1IHVlYmVuIHVuZCB1ZWJlciBkYXMgZnVlciB1bmQgd2lkZXIgZGVyIFRvZGVzc3RyYWZlCnp1IGRpc2t1dGllcmVuPyBJc3QgZXMgcmljaHRpZyBudW4gdm9uIHJlbGlnaW9lc2VtIEV4dHJlbWlzbXVzIHp1IHJlZGVuLCBudXIKd2VpbCBqZW1hbmQgYXVmZm9yZGVydCB6dSBiZXRlbj8gSXN0IGVzIHJpY2h0aWcsIGluIGVpbmVtIE1vbWVudCBkZXIgVHJhdWVyCnNpY2ggc2VpbmUgZWlnZW5lIE1laW51bmcgenVyIHdpY2h0aWdzdGVuIGhvY2h6dXNwaWVsZW4/IElzdCBlcyByaWNodGlnLApHZWZ1ZWhsIGFscyBHZXNwcmFlY2hzZ3J1bmRsYWdlIHp1IHZlcndlbmRlbj8gSXN0IGVzIHJpY2h0aWcgZGllIEF1Z2VuIHZvciBkZW0KenUgdmVyc2NobGllc3Nlbiwgd2FzIG51biBrb21tZW4gbWFnPyBJY2ggaGFiZSBBbmdzdC4KCkxpZWJlIE11ZGRlcklubmVuLCBlcyBpc3QgbWlyIHNjaG51cnogb2IgaWhyIGRpZSBIYWVuZGUgenVtIGJldGVuIGZhbHRldCwKbWVkaXRpZXJ0IG9kZXIgZXVjaCBuYWNoIE1la2thIHdlbmRldCwgc29sbHRldCBpaHIgZGFyYW4gZ2xhdWJlbiwgc28gdHV0IGVzCmJpdHRlLiBJc3QgZGVtIG5pY2h0IGRlciBGYWxsLCByZXNwZWt0aWVydCBkaWUgT3BmZXIuIERvY2ggdmVydXJ0ZWlsdCBuaWNodCwKZGVubiBHZXdhbHQgd2lyZCBkaWVzZW4gS29uZmxpa3QgX25pY2h0XyBsb2VzZW47IEdld2FsdCBpc3Qga2VpbmUgTG9lc3VuZyEKCkljaCBoYWJlIHNlaXQgZ2VzdGVybiBuYWNobWl0dGFnIGZ1cmNodGJhcmUgS29wZnNjaG1lcnplbiB1bmQgYmVmdWVyY2h0ZSwgZGFzcwpkYW5rIGRlbSBUZXhhbmVyIGRpZSBuaWNodCBzbyBzY2huZWxsIHdlaWNoZW4gd2VyZGVuLgoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWthYmVyLi4uIChaYXJuaXlhLCAxMi4gU2VwIDIwMDEsIDA5OjI0OjM3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMDAyMzY5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CkhtbW0gLCAKCmljaCB3aWxsIG5pY2h0IHp1IHZpZWwgYm9lc2VzIEJsdXQgc2NoYWZmZW4sIGFiZXIgaWNoIGZpbmRlIHNvIGVpbmUgRm9yZGVydW5nCmhpZXIgbnVyIHNjaGVpbmhlaWxpZ2UgV2ljaHRpZ3R1ZXJlaSB1bmQgZGFzIGlzdCB0eXBpc2NoIERFVVRTQ0guLiBJY2ggZmFlbmRlCmVzIG51ciBtYWthYmVyLCB3ZW5uIGplbWFuZCBoZXV0ZSBkaWUgRnJhY2h0Z3V0cXVlc3Qgc28gdW1wcm9nZ3QsIGRhc3MgbWFuIGRhcwpGbHVnemV1ZyBudXR6ZW4ga29lbm50ZSwgdW0gZGVuIFdvbHBpY2x1YiB6dSBzcHJlbmdlbi4uLi4uIAoKQW5zb25zdGVuIGlzdCBkZWluIEFydGlrZWwgZ2VuYXVzbyB1ZWJlcnpvZ2VuIHdpZSBkaWUgRW50c2NoZWlkdW5nIGRlciBQb2xpemVpCmluIEZyYW5rZnVydCwgZG9ydCBkaWUgSG9jaGhhZXVzZXIgenUgZXZha3VpZXJlbi4uLiBEYSBrb21tZW4gc2ljaCBpbiBGRk0KZWluaWdlIExldXRlIHdpY2h0aWdlciB2b3IsIGFscyBzaWUgc2luZCEgTGFlY2hlcmxpY2ggc293YXMuCgpHcnVzcywgCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFrYWJlci4uLiAoU3JhYmksIDEyLiBTZXAgMjAwMSwgMDk6MzE6MTIpOgp+IyEgcm49WmFybml5YSBydD0xMDAwMjc5NDc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApEaWUgUmVha3Rpb25lbiBkZXIgUG9saXplaSBpbiBGcmFua2Z1cnQgZmluZGUgaWNoIGFsbGVzIGFuZGVyZSBhbHMgdWViZXJ6b2dlbi4KSW4gRnJhbmtmdXJ0IGdpYnQgZXMgZWluZW4gRmx1Z2hhZmVuIHVuZCwgd2llIGluIE5ldyBZb3JrLCBlaW5pZ2UKSG9jaGhoYWV1c2VyLiBLZWluZXIgd2Vpc3MsIHdvenUgZGllc2VyIGJpbiBMYWRlbiBub2NoIGluIGRlciBMYWdlIGlzdC4KCldlbm4gaWNoIG1pciBnZXJhZGUgYXVmIG4tdHYgZGllIEJpbGRlciB2b24gZGVyIEthdGFzdHJvcGhlIGFuc2NoYXVlLCBrb2VubnRlCmljaCBrb3R6ZW4uIFdlciBrYW5uIHVucyBkZW5uIHZlcnNpY2hlcm4sIGRhcyBzbyBldHdhcyBpbiBGZXV0c2NobGFuZCBuaWNodAphdXMgcGFzc2llcmVuIGtvZW5udGUuIEluIEtvZWxuIGxlYnQgc2NobGllc3NsaWNoIGVpbmVyIGRlciBlbmdlc3RlbiBBbmhhZW5nZXIKdm9uIGRpZXNlbSBiaW4gTGFkZW4gdW5kIGRhbWl0IGlzdCBLb2VsbiB1bmQgYXVjaCBGcmFua2Z1cnQgZWluZXMgZGVyCkhvY2hidXJnZW4gdm9uIGJpbiBMYWRlbi1BbmhhZW5nZXJuLgoKU3JhYmksIGRlciBub2NoIGltbWVyIGFic29sdXQgZmFzc3VuZ3Nsb3MgaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWthYmVyLi4uIChaYXJuaXlhLCAxMi4gU2VwIDIwMDEsIDA5OjQxOjMyKToKfiMhIHJuPVNyYWJpIHJ0PTEwMDAyNzk4NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CldhcyB3aWxsc3QgZHUgZGVubj8gRGVuIEZsdWdoYWZlbiBpbiBGRk0gZnVlciBpbW1lciBTcGVycmVuIHVuZCBkaWUKSG9jaGhhZXVzZXIgenVtYXVlcm4/Pz8gVmVyaGluZGVybiBrYW5uIG1hbiBlaW5lbiBzb2xjaGVuIEFuc2NobGFnIG5pY2h0Li4uCnVuZCB3ZXIgbWVpbnQsIGRhc3Mgc29sY2hlIEF0dGVudGFldGVyIGhpZXIgZGFzIHNlbGJlIG1hY2hlbiB3aWUgaW4gTlksIGRlcgp1bnRlcnNjaGFldHp0IGVpbmZhY2ggZGllIFNpdHVhdGlvbiB1bmQgZGllIEZsZXhpYmlsaXRhZXQgdW5kIE9yaWdpbmVsbGl0YWV0CmRlciBJZGVlbiBzb2xjaGVyIE1lbnNjaGVuLi4uIEljaCB3aWxsIG5pY2h0IGZhbHNjaCB2ZXJzdGFuZGVuIHdlcmRlbiwgaWNoCmZpbmRlIGRpZXNlIFRlcnJvcmFrdGUgbmljaHQgb2ssIGFiZXIgc2llIGhhYmVuIGdlemVpZ3QsIGRhc3MgbWFuIHNpY2ggZWgKbmljaHQgc2NodWV0emVuIGthbm4uLi4gU2llIGhhYmVuIGdlemVpZ3QsIGRhc3MgbWFuIGltbWVyIGRhbWl0IHJlY2huZW4gbXVzcywKZGFzcyBlaW5lciBuZSBJZGVlIGhhdCwgbWl0IGRlciBtYW4gbmljaHQgcmVjaG5ldC4gRGVyIEFuc2NobGFnIGluIGRlbiBVU0Egd2FyCmJydXRhbCwgZmFuYXRpc2NoIHVuZCBzZWxic3RhdWZvcGZlcm5kIHZvbiBkZW4gQXVzZnVlaHJlbmRlbi4uLiBzb2xhbmdlIGVzCnNvbGNoZSBGYW5hdGlrZXIgZ2lidCwga2FubiBtYW4gYWxzbyBzb2xjaGUgU2FjaGVuIGVpbmZhY2ggbmljaHQgdmVyaGluZGVybi4uLgp1bmQgR2VnZW5nZXdhbHQgZnVlaHJ0IG51ciB6dSBXdXQgdW5kIE1hZXJ0eXJlcnR1bS4gSWNoIGhhYiBhdWNoIGtlaW5lIGVjaHRlCkxvZXN1bmcgZnVlciBkaWUgU2FjaGUsIGFiZXIgZWluZXMgd2Vpc3MgaWNoOiBNYW4ga2FubiBuaWNodCBuaWNodCBzY2h1ZXR6ZW4sCmRlc3dlZ2VuIGVtZmluZGUgaWNoIGRpZXNlIEFrdGlvbmVuIGluIEZGTSBudXIgYWxzIFByb3BhZ2FuZGF2ZXJzdWNoIGRlcgpQb2xpdGlrLCB1bnMgZHVtbWVzIFZvbGsgaW4gU2ljaGVyaGVpdCB6dSB3aWVnZW4uLi4gZXMgaXN0IGphIHdhcyBnZXRhbgp3b3JkZW4uLi4uCgpNYXJjCihhcmdzLi4uIG51biBmYW5nIGljaCBhdWNoIG5vY2ggYW4gbWl0IGRlbiBUeXBvcykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1ha2FiZXIuLi4gKFBhdHJ5biwgMTIuIFNlcCAyMDAxLCAxMDoyMDoyNyk6Cn4jISBybj1TcmFiaSBydD0xMDAwMjc5ODcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApiaXMgamV0enQgaXN0IG5vY2ggbmljaCBtYWwgcmF1cyB3ZXIgZXMgdWViZXJoYXVwdCB3YXIsIGFsbGVzIGhhbHRsb3NlCnNwZWt1bGF0aW9uZW4gdW5kIGJsYWJsYSB2b24gd2ljaHRpZ3R1ZXJuLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZXJzY2h1ZXR0ZXJuZC4uLiAoR29yLCAxMi4gU2VwIDIwMDEsIDEwOjM3OjIyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMDAyNTI1NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjQ3MDEwClNvcnJ5IQpXZW5uIGR1IHNhZ3N0LCBkYXMgZGllIFByZWRpZ2VyIG5peCBicmluZ2VuIHN0ZWxsc3QgZHUgZGljaCBpbSBQcmluemlwIGF1ZiBkaWUKZ2xlaWNoZSBTdHVmZSB3aWUgZGllIGlzbGFtaXNjaGVuIEZ1bmRhbWVudGFsaXN0ZW4uIER1IGJpc3Qgc29taXQgZWJlbnNvCmludG9sZXJhbnQgdW5kIGZlaW5kc2VlbGlnIHdpZSBzaWUuIFZpZWxsZWljaHQgc29sbHRlc3QgZHUgZGljaCB1ZWJlciBkaWUKSGludGVyZ3J1ZW5kZSBnZW5hdWVyIGluZm9ybWllcmVuLCB3aWUgZGFzIGFsbGVzIGFuZ2VmYW5nZW4gaGF0IHVzdy4gRApMYXNzIGRvY2ggZGllIFByZWRpZ2VyIGJldGVuLiBUdW4gc2llIGRpciB3ZWg/IFNjaGFkZW4gc2llIGRpcj8gSWNoIGJpbiBhdWNoCm5pY2h0IGNocmlzdGxpY2ggdmVyYW5sYWd0LCBtaXIgc2VsYnN0IGJyaW5ndCBkYXMgYXVjaCBuaXguIEFiZXIgZXMgaXN0IGRvY2gKc2Nob2VuLCB3ZW5uIHNpY2ggYW5kZXJlIE1lbnNjaGVuIGRhbWl0IEhvZmZudW5nIG1hY2hlbiB1bmQgdm9yIGFsbGVuIERpbmdlbgphbmRlcmVuIExldXRlbiB0cm9zdCBzcGVuZGVuLiAKCkdydXNzIEdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWthYmVyLi4uIChHb3IsIDEyLiBTZXAgMjAwMSwgMTA6Mzk6MjYpOgp+IyEgcm49WmFybml5YSBydD0xMDAwMjc5NDc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApXYXMgd3VlcmRlc3QgZHUgdHVuLCB3ZW5uIGR1IFRlcnJvcmlzdCB3YWVyc3Q/IExpZWJlciAxMG1hbCB1bm5vZXRpZwpldmFrdWllcnQsIGFscyBlaW5lIG5ldWUgVHJhZ29lZGllIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFrYWJlci4uLiAoWmFybml5YSwgMTIuIFNlcCAyMDAxLCAxMDo0MTo0Mik6Cn4jISBybj1Hb3IgcnQ9MTAwMDI4Mzk2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKd2llIHNjaG9uIGdlc2FndC4uLiB3ZW5uIElDSCBUZXJyb3Jpc3Qgd2FlcmUsIGRhbm4gd3VlcmQgaWNoIG5pY2h0IHp3ZWltYWwgZGFzCnNlbGJlIG1hY2hlbi4uLiBadW0gR2x1ZWNrIGJpbiBpY2ggYWJlciBaYXJuaXlhLi4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1ha2FiZXIuLi4gKFZpbmNlbnQsIDEyLiBTZXAgMjAwMSwgMTE6MDE6MTkpOgp+IyEgcm49WmFybml5YSBydD0xMDAwMjgwNDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApEaWUgZ2V0cm9mZmVuZW4gU2ljaGVyaGVpdHNtYXNzbmFobWVuIHNpbmQga2VpbmVzd2VncyB1ZWJlcnpvZ2VuLCBzb25kZXJuCmFic29sdXQgbm90d2VuZGlnLiBSZXNpZ25hdGlvbiBnZWdlbnVlYmVyIHNvbGNoZW4gQXR0ZW50YXRlbiBpc3QgbmFlbWxpY2gKZ2VuYXUgZGVyIGZhbHNjaGUgV2VnIHVuZCBmdWVocnQgZGF6dSwgZGFzcyBzb2xjaGUgS2F0YXN0cm9waGVuIHp1cgpUYWdlc29yZG51bmcgd2VyZGVuLiBVbmQgbmVobWVuIHdpciBtYWwgYW4sIGVzIHdhZXJlbiBrZWluZSBHZWJhZXVkZQpldmFrdWllcnQgd29yZGVuIHVuZCBlcyB3YWVyZSBkYW5uIGRvY2ggd2FzIHBhc3NpZXJ0LCBkYW5uIGhhZXR0ZW4gc2ljaCBhbGxlCmRhcnVlYmVyIGJlc2Nod2VydCwgb2IgbWFuIGRlbm4gYXVzIGRlbiBHZXNjaGVobmlzc2VuIG5pY2h0cyBnZWxlcm50IGhhZXR0ZS4KCk5hdHVlcmxpY2gga2FubiBtYW4gbmljaHQgYWxsZXMgVm9yYXVzcGxhbmVuLiBFcyBpc3QgbmFoZXp1IHVubW9lZ2xpY2gKYWxsZSBTemVuZXJhaWVuLCBkaWUgc2ljaCBlaW4gZmFuYXRpc2NoZXMgSGlybiBhdXNtYWxlbiBrb2VubnRlLCBpbQpWb3JhdXMgZHVyY2h6dXNwaWVsZW4uIEFiZXIgbWFuIGthbm4gc2ljaCBhdWYgZGllIG5ldWVuIERpbWVuc2lvbmVuLApkaWUgZGVyIGhldXRpZ2UgVGVycm9yaXNtdXMgZXJyZWljaHQgdW5kIHZlcnVyc2FjaHQgaGF0LCBlaW5zdGVsbGVuLgpVbmQgbWFuIGthbm4genVtaW5kZXN0IHZlcnN1Y2hlbiwgZXMgZGVuIFRlcnJvcmlzdGVuIHNvIHNjaHdlciB3aWUgbW9lZ2xpY2gKenUgbWFjaGVuLCBvZGVyIG5vY2ggYmVzc2VyLCBlcyBpaG5lbiB1bm1vZWdsaWNoIHp1IG1hY2hlbiwgaWhyZSBaaWVsZQp6dSBlcnJlaWNoZW4uIApBYmVyIGVpbmUgRWluc3RlbGx1bmcgd2llICJXYXMgc29sbCBkYXMgYnJpbmdlLiBEYSBrYW5uIG1hbiBzb3dpZXNvIG5pY2h0cwptYWNoZW4iIGthZW1lIGRlbSBFaW5nZXN0YWVuZG5pcyBnbGVpY2gsIGRhc3MgZGVyIFJlY2h0c3N0YWF0IHZvciBkZW0KVGVycm9yaXNtdXMga2FwaXR1bGllcmVuIG11c3MuCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWthYmVyLi4uIChQYXRyeW4sIDEyLiBTZXAgMjAwMSwgMTE6MTc6MDApOgp+IyEgcm49VmluY2VudCBydD0xMDAwMjg1Mjc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApkYXMgcHJvYmxlbSBpc3QgbnVyLCBkYXNzIGVzIGdlbmF1IGVpbiB6aWVsIGRlciB0ZXJyb3Jpc3RlbiBpc3QsCmRhc3MgZWJlbiBnZWJhZXVkZSBldmFrdWllcnQgd2VyZGVuLCBzaWNoZXJoZWl0c21hc3NuYWhtZW4gYXVzZ2V3ZWl0ZXQsCm1lbnNjaGVuIGluIGlocmVyIGdld29obnRlbiBsZWJlbnN3ZWlzZSBlaW5nZXNjaHJhZW5rdCB3ZXJkZW4uLi5udXIgdW0KZGFubiBpcmdlbmR3YW5uIHNwYWV0ZXIgdm9lbGxpZyB1bmVyd2FydGV0IHVuZCB1bmtvbnRyb2xsaWVyYmFyIHdpZWRlcgp6dXp1c2NobGFnZW4uCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNYWthYmVyLi4uIChWaW5jZW50LCAxMi4gU2VwIDIwMDEsIDExOjI0OjQ4KToKfiMhIHJuPVBhdHJ5biBydD0xMDAwMjg2MjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApEYXMgc3RpbW10LiBBbGxlcmRpbmdzIG9obmUgZGllc2UgU2ljaGVyaGVpdHNtYXNzbmFobWVuIHdhZXJlbiBkaWUgVmVybHVzdGUKbm9jaCBob2VoZXIuIFVuZCBhdXNzZXJkZW0sIGR1cmNoIGRpZSBUYXRzYWNoZSwgZGFzcyBzaWNoIExldXRlIGF1ZmdydW5kCnZvbiBUZXJyb3Jpc211cyBpbiBpaHJlciBMZWJlbnN3ZWlzZSBlaW5nZXNjaHJhZW5rdCBmdWVobGVuIHVuZCBuaWNodApiZXJlaXQgc2luZCwgZGFzIHNvIHp1IGFremVwdGllcmVuLCBnaWJ0IGVzIExldXRlLCBkaWUgZ2VnZW4gZGVuClRlcnJvcmlzbXVzIGthZW1wZmVuLgoKLS0KVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFrYWJlci4uLiAoUGFyZGF1eiwgMTIuIFNlcCAyMDAxLCAxMjo1MjozNSk6Cn4jISBybj1WaW5jZW50IHJ0PTEwMDAyODY2ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CkljaCBoYWx0ZSBkaWUgRXZha3VpZXJ1bmdzYWt0aW9uIGluIEZGTSBhdWNoIGZ1ZXIgcmljaHRpZywgc2VsYnN0Cndlbm4gZGFzIGdhbnplIHppZW1saWNoIG5hY2ggYmxpbmRlbSBBa3RpdmlzbXVzIGF1c3NlaGVuIG1hZy4KTnVyIGZyYWdlIGljaCBtaWNoIHdpZSBsYW5nZSBzaWUgZGllIEdlYmFldWRlIHNwZXJyZW4gd29sbGVuLgpVbmQgd2lldmllbGUgRmx1Z3pldWdlIGZsaWVnZW4gZGEgbmFlY2hzdGUgV29jaGUgd2llZGVyIHJ1bT8KV2FlciBpY2ggZWluIFRlcnJvcmlzdCB3dWVyZCBpY2ggZ2VuYXUgc29sYWdlIHdhcnRlbiBiaXMgd2llZGVyCmFsbGVzIGltIE5vcm1hbHp1c3RhbmQgaXN0LiBUcm90emRlbSBpc3QgbmljaHRzIHR1biBhdWNoIG5pY2h0CmJlc3Nlci4gRGllIGV1cm9wYWVpc2NoZSBaZW50cmFsYmFuayB3YWVyIGF1Y2ggZWluIFN5bWJvbHRyYWVjaHRpZ2VzClppZWwsIHVuZCB3ZXIgc2FndCBkZW5uIGRhc3MgZGllIFRhZXRlciBudXIgbmVuIEhhc3MgYXVmIGRpZSBVU0EgaGFiZW4/Ck5vY2ggaXN0IG5pY2h0bWFsIGJla2FubnQgd2VyIGRhZnVlciB2ZXJhbnR3b3J0bGljaCBpc3QuCgpQYXJkYXV6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWthYmVyLi4uIChHbG9pbnNvbiwgMTIuIFNlcCAyMDAxLCAxMzowNTo1NSk6Cn4jISBybj1QYXJkYXV6IHJ0PTEwMDAyOTE5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CkRhcyBpc3QgZWluIHRlbXBvcmFlcmVyIFp1c3RhbmQsIGJpcyBuZXVlIFNpY2hlcmhlaXRzcHJvemVkdXJlbiBlaW5nZWZ1ZWhydAp3dXJkZW4gbWl0IGRlbmVuIG1hbiBob2ZmdCBlaW5lbiBpZGVudGlzY2hlbiBGYWxsIGFienV3ZW5kZW4uIExldHpsaWNoIG1laW50ZQplaW4gZm9ybWVyIEZCSS1DaGllZiBnZXN0ZXJuIGF1ZiBDTk4gZGFzcyBzb2xjaGUgQW5zY2hsYWVnZSBhdWNoIHNjaG9uCmFiZ2V3ZW5kZXQgd29yZGVuIHNpbmQuIFJlc2lnbmF0aW9uIGhpbGZ0IGdlbmF1c28gd2VuaWcgd2llIEFrdGlvbmlzbXVzLCBhYmVyCmljaCBiaW4gbWlyIHNpY2hlciBkaWUgenVzdGFlbmRpZ2VuIE1lbnNjaGVuIGluIGRlbiBCZWhvZXJkZW4gZmluZGVuIGRpZQpyaWNodGlnZSBCYWxhbmNlLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTWFrYWJlci4uLiAoUmVhcGVyLCAxMi4gU2VwIDIwMDEsIDE1OjI3OjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDAyOTI3NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CgpBbHNvICBpcmdlbmR3aWUgYnJpY2h0ICBqZXR6dCAgdWViZXJhbGwgIGVpbmUgIFRlcnJvci1IeXN0ZXJpZSAgYXVzLgpXb2Z1ZXIgaW4gRnJhbmtmdXJ0IGRpZSBUdWVybWUgc3BlcnJlbj8gTWlsbGlvbmVudmVybHVzdGUgaGlubmVobWVuLAp3ZWlsIGluIGRlbiBVU0EgZ2VzdGVybiB6d2VpIEZsdWd6ZXVnZSAgZWluZW4gVHVybSBhdHRhY2tpZXJ0IGhhYmVuPwpEYXMgZ2FuemUgd2FyIHNlaHIgdWViZXJsZWd0IHVuZCBrb29yZGluaWVydCwgZGllIFRlcnJvcmlzdGVuIHdlcmRlbgppbSAgZ2xlaWNoZW4gQXRlbXp1ZyBuaWNodCBzbyB3ZWl0ZXJtYWNoZW4uIFNpY2hlciBrYW5uIGRhcyB1ZWJlcmFsbApwYXNzaWVyZW4sIGFiZXIgZXMgIGthbm4gYXVjaCBqZWRlcnplaXQgIHBhc3NpZXJlbi4gRGllIFR1ZXJtZSBKRVRaVAp6dSBldmFrdWllcmVuIGlzdCBnZW5hdXNvIHNpbm52b2xsLCB3aWUgaW4gZWluZXIgV29jaGUsIGVpbmVtIE1vbmF0LgoKV2FzIGluIEFtZXJpa2EgZ2VzY2hlaGVuIGlzdCBpc3Qgc2NocmVja2xpY2ghIFRhdXNlbmRlICB2b24gTWVuc2NoZW4gCnNpbmQgZ2VzdG9yYmVuLiBEb2NoIGVzICBzdGVyYmVuIHRhZWdsaWNoIHRhdXNlbmRlIHZvbiBNZW5zY2hlbiwgdW5kCm5pZW1hbmQgc3ByaWNodCBkYXJ1ZWJlci4gVGF1c2VuZGUgdm9uIEtpbmRlcm4gdmVyaHVuZ2VybiBqZWRlbiBUYWcsCnVuZCAgbnVyIHdlaWwgZGllICBBbWVyaWthbmVyIEFtZXJpa2FuZXIgIHNpbmQsIGhhYmVuICBzaWUgYXVjaCBrZWluClZvcnJlY2h0IGF1ZiAgTGViZW4gdW5kIEdlc3VuZGhlaXQsIG5pY2h0IG1laHIgYWxzIGplZGVyIGFuZGVyZS4gRGllClRyYWdpayBkZXMgQW5zY2hsYWdzIGlzdCwgZGFzcyBVbnNjaHVsZGlnZSBpaHIgTGViZW4gZnVlciBwb2xpdGlzY2hlClppZWxlICdBbmRlcnNkZW5rZW5kZXInIGxpZXNzZW4sIHVuZCBzZWxic3QgZGFzIHBhc3NpZXJ0IHRhdXNlbmRmYWNoCmplZGVuIFRhZy4gCgpEZXIgVGVycm9yIG11c3MgIGJla2FlbXBmdCB3ZXJkZW4sIGRvY2ggS3JpZWcgdW5kICBkaWUgQm9tYmFyZGllcnVuZyAKd2VpdGVyZXIgIFVuc2NodWxkaWdlciAgaXN0IHp3ZWlmZWxsb3MgIGRlciBTY2hyaXR0IGluICBkaWUgIGZhbHNjaGUgClJpY2h0dW5nLiBEZXIgVG9kICB3ZWl0ZXJlciAgVW5zY2h1bGRpZ2VyLCBlZ2FsICBhdWYgd2VsY2hlciAgU2VpdGUsIApoaWxmdCB3ZWRlciAgZGVuIE9wZmVybiBub2NoIGlocmVuIEFuZ2Vob2VyaWdlbiwgd2lyZCAgbmllbWFuZGVuIHp1cgpFaW5zaWNodCBicmluZ2VuICBzb25kZXJuIG5ldWVuICBIYXNzIGVyemV1Z2VuICB1bmQgZGVuICBUZXJyb3Igbm9jaAp3ZWl0ZXIgYW5mYWNoZW4uIApHZWdlbiBUZXJyb3Iga2FubiAgbWFuIHNpY2ggbmljaHQgc2NodWV0emVuLiBEZXIgVGVycm9yICB6aWVsdCBpbW1lciAKZGFyYXVmLCBkaWUgdmVybGV0emJhcmVuIFB1bmt0ZSBkZXIgR2VzZWxsc2NoYWZ0IHp1IG51dHplbiwgdW5kIGVpbmUKR2VzZWxsc2NoYWZ0IEtBTk4gIG5pY2h0IHVudmVybGV0emJhciAgc2Vpbi4gS29udHJvbGxlbiAgdW5kIFNpY2hlci0KaGVpdHNrb256ZXB0ZSBtYWNoZW4gZGllIER1cmNoZnVlaHJ1bmcgdm9uIFRlcnJvcmF0dGFja2VuIHZpZWxsZWljaHQKc2Nod2llcmlnZXIsIGRvY2ggd2VyICBlaW5lbiBUZXJyb3JhbnNjaGxhZyAgcGxhbnQgdW5kIHNvZ2FyICBiZXJlaXQKaXN0LCBkYWZ1ZXIgenUgc3RlcmJlbiwgZGVyIGZpbmRldCB0b3RzaWNoZXIgZWluZSBNb2VnbGljaGtlaXQgc2VpbmUgClVtd2VsdCBzY2htZXJ6aGFmdCB6dSB0cmVmZmVuLgpFdHdhcyBtdXNzIGFsc28gZ2VzY2hlaGVuLCBhYmVyIG5pZW1hbmQgd2Vpc3Mgd2FzLiBBbGxlIHNwcmVjaGVuIHZvbgonQmluIExhZGVuJywgZG9jaCBuaWVtYW5kIHdlaXNzLCBvYiBlciB1ZWJlcmhhdXB0IGV0d2FzIGRhbWl0IHp1IHR1bgpoYXQ/IFNpY2hlciwgd2VubiAgZGVyIFpvcm4gIGJyb2RlbHQsIGJyYXVjaHQgbWFuICBlaW5lbiBTdWVuZGVuYm9jaywgCmRhcyB3YXIgamEgc2Nob24gaW1tZXIgc28uIFVuZCBuaWVtYW5kIGxlcm50IGRhcmF1cy4uLgpFcyBnaWJ0IHdvaGwga2VpbmUgIE1vZWdsaWNoa2VpdCwgZGVuIEFuc2NobGFlZ2VuIGVudHNwcmVjaGVuZCBnZWdlbgpkZW4gIFRlcnJvciB1bmQgIHNlaW5lIFZlcmFudHdvcnRsaWNoZW4gIHZvcnp1Z2VoZW4sIHVuZCAgc2VsYnN0IGRpZSAKVG9kZXNzdHJhZmUgIGVpbmVzICBBbmZ1ZWhyZXJzIHdpcmt0IGxhZWNoZXJsaWNoICBnZWdlbiBkZW4gIFRvZCB2b24KemVobnRhdXNlbmRlbi4gRG9jaCAgZGFzICBSZWNodHNzeXN0ZW0gIHVuc2VyZXIgIEdlc2VsbHNjaGFmdCAgc2llaHQKSG9lY2hzdHN0cmFmZW4gdm9yLCB1bmQgZGFzICBzaW5kIFJlZ2VsbiwgZGllIHdpciBzZWxic3QgYXVmZ2VzdGVsbHQgCmhhYmVuLiBXYXJ1bSBhbHNvIGRhcnVlYmVyIGRpc2t1dGllcmVuPwpEaWUgVHJhdWVyIGxpZWd0ICBudW4gYmVpIGRlbiAgQmV0cm9mZmVuZW4sIGRlciBab3JuICBiZWkgZGVuZW4sIGRpZSAKbGVybmVuIG11c3N0ZW4sIGRhc3Mgc2VsYnN0IEFtZXJpa2EgbmljaHQgZ2VmZWl0IGlzdCB2b3Igc29sY2hlbiBBbi0KZ3JpZmZlbiB1bmQgZGVyIEhhc3MgZ2VnZW4gZGllIFBhbGFlc3RpbmVuc2VyICh1bmQgYW5kZXJzcnVtKSBsb2RlcnQKZWluICB3ZWl0ZXJlcyAgbWFsIGF1Zi4gVW5kICBqZWRlciBzY2hhbHRldCB1bnRlciAgZGllc2VtICBFbW90aW9ucy0KZWluZmx1c3MgIGVyc3RtYWwgZGVuIGtsYXJlbiAgR2Vpc3QgYXVzLiBTb2xjaGUgIFRlcnJvcmlzdGVuIGR1ZXJmZW4KbmljaHQgZGllIE1hY2h0IGhhYmVuLCBlaW5lbiBwb3RlbnRpZWxsZW4gS3JpZWcgaGVyYXVmenViZXNjaHdvZXJlbiwKREFTIGlzdCBlcywgd2FzIGVzIGFienV3ZW5kZW4gZ2lsdCwgZGFzIEdlc2NoZWhlbmUgd2lyZCBuaWVtYW5kIG1laHIKcnVlY2tnYWVuZ2lnIG1hY2hlbi4uLi4uLgoKdGllZiBlcnNjaHVldHRlcnQuLi4uCi1yZWFwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNYWthYmVyLi4uIChHbG9pbnNvbiwgMTIuIFNlcCAyMDAxLCAxNTo1ODozNCk6Cn4jISBybj1SZWFwZXIgcnQ9MTAwMDMwMTIzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKSWNoIG5lbm5lIGVzIG5pY2h0IFBhbmlrLCB3ZW5uIGJlaSBlaW5lciBvZmZlbnNpY2h0bGljaGVuIEdlZmFociBzY2huZWxsCnZlcnN1Y2h0IHdpcmQgenUgcmVhZ2llcmVuIHVuZCBkaWUgR2VmYWhyIGVyc3RtYWwgZWluenVkYWVtbWVuLiBHZW5hdSBkYXMgaXN0CmRhcyBTcGVycmVuIHBvdGVudGllbGxlciBaaWVsZSB1bmQgZGFzIEVyaG9laGVuIGRlciBTaWNoZXJoZWl0IGF1ZiBGbHVnaGFlZmVuLgpTbyBhbGJlcm4gZGFzIGtsaW5nZW4gbWFnIC0gYWJlciBoaWVyIGthbm4gbWFuIGRpZSBQYXJhbGxlbGUgenUgRGVpbmVtCkNvbXB1dGVyIHppZWhlbi4KCkRpZSBUb3RlbiB1bnNlcmVyIFdlbHQsIHVuc2VyZXIgV2VsdHVtc3RhZW5kZSwgc28gd2llIHNpZSBzaWNoIGVudHdpY2tlbHQKaGFiZW4gZ2VnZW4gZGllIFRvdGVuIGVpbmVzIE1vcmRhbnNjaGxhZ2VzIGF1ZnJlY2huZW4genUgd29sbGVuIGlzdCBkb2NoIGdyb2IKdmVyZWluZmFjaGVuZC4gV2VubiBEdSBlaW5lIGJyYXVjaGJhcmUgUGF0ZW50bG9lc3VuZyBnZWdlbiBkZW4gSHVuZ2VyIGRlciBXZWx0Cmhhc3QgLSBudXIgenUuIEFiZXIgdmVyZ2xlaWNoIGRpZXNlIFRvZGUgbmljaHQgbWl0IGRlbiBUb2RlbiBkdXJjaCBNb3JkIHVuZApLcmllZy4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaHdlaWdlbWludXRlLiAoWm9vaywgMTIuIFNlcCAyMDAxLCAxNjoxNjozMSk6CkRpZSBCdW5kZXNyZWdpZXJ1bmcgdW5kIGFsbGUgQmVzY2hhZWZ0aWd0ZW4gZGVzIG9lZmZlbnRsaWNoZW4gRGllbnN0ZXMKd2VyZGVuIG1vcmdlbiwgYW0gMTMuIFNlcHRlbWJlciwgMTAuMDAgVWhyLCBmdWVuZiBTY2h3ZWlnZW1pbnV0ZW4genVtCkdlZGVua2VuIGRlciBPcGZlciBkZXIgVGVycm9yYW5zY2hsYWVnZSBpbiBkZW4gVVNBIGVpbmxlZ2VuLiBEYW1pdCBmb2xnZW4Kc2llIGRlbSBBdWZydWYgZGVzIERldXRzY2hlbiBHZXdlcmtzY2hhZnRzYnVuZGVzIHVuZCBkZXIgQnVuZGVzdmVyZWluaWd1bmcKZGVyIEFyYmVpdGdlYmVydmVyYmFlbmRlLCBhbSBEb25uZXJzdGFnIGZ1ZXIgZnVlbmYgTWludXRlbiBtaXQgZGVyCmFyYmVpdCBpbm5lIHp1IGhhbHRlbiBbMV0sIHVtIGVpbiBaZWljaGVuIHp1IHNldHplbiwgZWluIFplaWNoZW4gZGVyClZlcnVydGVpbHVuZyBkZXMgVGVycm9ycyBkZXIgQW50ZWlsbmFobWUgdW5kIGRlcyBNaXRnZWZ1ZWhscyB1bmQgZGVyCkZyZXVuZHNjaGFmdCBtaXQgZGVtIGFtZXJpa2FuaXNjaGVuIFZvbGsgdW5kIGVpbiBaZWljaGVuIGZ1ZXIgRnJpZWRlbgp1bmQgRnJlaWhlaXQuIFsyLCAzXQoKQXVjaCB3aXIgaW0gTW9yZ2VuR3JhdWVuIHNjaGxpZXNzZW4gdW5zIGRpZXNlbSBBdWZydWYgYW4gdW5kIHJ1ZmVuIEV1Y2gKYXVmLCBtb3JnZW4gZnVlciBmdWVuZiBNaW51dGVuIG1pdCBkZXIgQXJiZWl0IHVuZCBkZW0gTW9yZ2VuR3JhdWVuIGlubmUKenUgaGFsdGVuLgoKR3J1c3MsIFpvb2suCgogWzFdIGh0dHA6Ly93d3cuYnVuZGVzcmVnaWVydW5nLmRlL2ZyYW1lc2V0L2luZGV4LmpzcAogWzJdIGh0dHA6Ly93d3cuYm1pLmJ1bmQuZGUvdG9wL2Rva3VtZW50ZS9QcmVzc2VtaXR0ZWlsdW5nL2l4XzU1Nzk2Lmh0bQogWzNdIGh0dHA6Ly93d3cuZGdiLmRlL2NnaS9tZWxkdW5nZW4vcG1zLmNnaT9pZD0xNDg0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1ha2FiZXIuLi4gKFJlYXBlciwgMTIuIFNlcCAyMDAxLCAxNzozMTowNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDAwMzAzMTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNAoKSWNoIG5lbm5lIGVzIGF1Y2ggbmljaHQgUGFuaWssIHVuZCBpY2ggd2lsbCBlcyBrZWluIGJpc3NjaGVuIGFid2VydGVuLAp3ZW5uICB2ZXJzdWNodCB3aXJkIHp1ICByZWFnaWVyZW4uIERhc3MgZGllICBGbHVnaGFlZmVuICBlcnN0bWFsIGRpY2h0IApnZW1hY2h0ICB3dXJkZW4sIG1hY2h0ZSAgU2lubiwgZGFzcyBzaWUgdmVyc2NoYWVyZnQgIGtvbnRyb2xsaWVyZW4gdW5kIAp1ZWJlcnBydWVmZW4gYXVjaC4gQWJlciBkYXNzICBlaW5lbiBUYWcgc3BhZXRlciAgaXJnZW5kd2VsY2hlIEdlYmFldWRlCmdlcmFldW10ICB3ZXJkZW4sIGhhbHRlIGljaCBmdWVyIHVlYmVydHJpZWJlbiwgZGEgZXMga2VpbmVuIEJlenVnIG1laHIgCnp1IGRpZXNlbSBUZXJyb3Jha3QgaGF0LgpUZXJyb3Jpc3RlbiBncmVpZmVuIG1pdCB6d2VpIEZsdWd6ZXVnZW4gZGFzIFdUQyBpbiBOWSBhbi4gQW0gVGFnIGRyYXVmIApyYWV1bXQgQU9MIGlocmUgQnVlcm9zIGluIERldXRzY2hsYW5kIGF1cyBBbnN0IHZvciBkaWVzZXIgVGVycm9yd2VsbGUuIApobW0sIGlyZ2VuZHdpZSBldHdhcyB3ZWl0IGhlcmdlaG9sdC4uLgoKPiBEaWUgVG90ZW4gdW5zZXJlciBXZWx0LCB1bnNlcmVyIFdlbHR1bXN0YWVuZGUsIHNvIHdpZSBzaWUgc2ljaCAKPiBlbnR3aWNrZWx0IGhhYmVuIGdlZ2VuIGRpZSBUb3RlbiBlaW5lcyBNb3JkYW5zY2hsYWdlcyBhdWZyZWNobmVuIAo+IHp1IHdvbGxlbiBpc3QgZG9jaCBncm9iIHZlcmVpbmZhY2hlbmQuIAoKU2luZCAgbmljaHQgYXVjaCAgVGVycm9yYW5zY2hsYWVnZSBXZWx0dW1zdGFlbmRlLCBkaWUgIHNpY2ggZW50d2lja2VsdApoYWJlbj8gSWNoIHZlcnN1Y2hlIGhpZXIgbmljaHRzIHp1IHJlY2h0ZmVydGlnZW4gb2RlciB6dSB2ZXJoYXJtbG9zZW4sCmljaCBiaW4gdm9uIGRpZXNlbiAgQW5zY2hsYWVnZW4gIGViZW5zbyAgZXJzY2h1ZXR0ZXJ0ICB3aWUgdmllbGUgaGllciwgCmljaCAgdmVyc3VjaGUgIGplZG9jaCAgbGVkaWdsaWNoLCBkYXMgR2V3aWNodHVuZ3N2ZXJoYWVsdG5pcyAgaW4gZWluZW0KcmVhbGlzdGlzY2hlbiBMaWNodCB6dSBiZWhhbHRlbi4gR2VnZW5laW5hbmRlciAgYXVmcmVjaG5lbiBsYXNzZW4gc2ljaApUb3RlIGluIGtlaW5lbSBGYWxsISEKCj4gV2VubiBEdSBlaW5lIGJyYXVjaGJhcmUgUGF0ZW50bG9lc3VuZyBnZWdlbiBkZW4gSHVuZ2VyIGRlciBXZWx0Cj4gaGFzdCAtIG51ciB6dS4gQWJlciB2ZXJnbGVpY2ggZGllc2UgVG9kZSBuaWNodCBtaXQgZGVuIFRvZGVuIGR1cmNoIAo+IE1vcmQgdW5kIEtyaWVnLgoKTGllcyAgbWVpbmVuIEFydGlrZWwgIG5vY2htYWwsIEdsaW5zb24uIEljaCAgc2NocmVpYmUsIGRhc3MgamVkZXIsIGRlciAKc2VpbiBMZWJlbiAgZHVyY2ggS3JpZWcgb2RlciAgTW9yZCBsYWVzc3QsIGVpbiBUb3RlciAgenV2aWVsIGlzdC4gRWdhbCwKb2IgZHVyY2ggIGlyZ2VuZHdlbGNoZSAoQnVlcmdlcilrcmllZ2UsIEF1ZnN0YWVuZGUgIG9kZXIgIGR1cmNoIFRlcnJvciEKVW5kIGVzICBnaWJ0IGh1bmRlcnRlICB1bmQgdGF1c2VuZGUgZGF2b24gdGFlZ2xpY2guIE51ciB3ZWlsIGVzIGRpZXNtYWwKaW4gIEFtZXJpa2EgIHN0YXR0ZmluZGV0LCBzaW5kICBkaWUgIFRvdGVuICBuaWNodCAgYmVrbGFnZW5zd2VydGVyICBhbHMgCmFuZGVyc3dvLCBhdWNoICB3ZW5uIGRpZSB3ZXN0bGljaGUgIFdlbHQgZWluZW4gIGdyb2Vzc2VyZW4gIEJlenVnICBkYXp1CmZpbmRldCwgdW5kIGVzIGRhZHVyY2ggdmllbGxlaWNodCBiZXNzZXIgd2Focm5pbW10LgoKV2llIGF1Y2ggaW1tZXIuIEljaCAgaG9mZmUsIHVuZCBpY2ggIGRlbmtlIGRhICBzaW5kIHdpciB1bnMgZWluaWcsIGRhc3MgCmRpZSAgS29uc2VxdWVuemVuICBhdXMgZGVtIGdhbnplbiAgdW5ibHV0aWcgYWJsYXVmZW4sIGRpZSBVU0Egd2Focm5pbW10LApkYXNzIGF1Y2ggc2llICBuaWNodCBhbGxtYWVjaHRpZyB1bmQgdW52ZXJ3dW5kYmFyIHNpbmQsIHVuZCBkaWUgVXJoZWJlcgplcyBiZWkgZGllc2VyIGVpbm1hbGlnZW4gRGVtb25zdHJhdGlvbiBiZWxhc3Nlbi4KCi1yZWFwZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWthYmVyLi4uIChNb250YW51cywgMTIuIFNlcCAyMDAxLCAxNzozMzowNCk6Cn4jISBybj1SZWFwZXIgcnQ9MTAwMDMwODY2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKV2VyIEFydGlrZWwgaW4gQmxvY2tzYXR6IHNjaHJlaWJ0LCBoYXQgaXJnZW5kd2FzIGZhbHNjaCBnZW1hY2h0LgoKSnVzdCBteSAyIHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVyc2NodWV0dGVybmQuLi4gKEFyaywgMTIuIFNlcCAyMDAxLCAxNzo0OTo0MSk6Cn4jISBybj1Nb250YW51cyBydD0xMDAwMjUyNTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDI0NzAxMApSZWxpZ2lvZXMgbW90aXZpZXJ0IGlzdCBkYXMgc2ljaGVybGljaCBudXIgdm9yZGVyZ3J1ZW5kaWcuIEZ1ZXIgZGllIHZvciBkaWUKS2FtZXJhcyBnZXNjaGV1Y2h0ZW4gUGFsYWVzdGluZW5zZXIgdmllbGxlaWNodC4gRnVlciBkaWUgRHJhaHR6aWVoZXIgZ2VodCBlcwpkb2NoIGltIEtlcm4gbnVyIHVtIGVpbmVzOiBNYWNodC4gSXJhbiwgSXNyYWVsLCBVU0EsIFN5cmllbiwgZXRjLiwgZXMgaXN0CmplZGVzbWFsIHVuZCBpbW1lciB3aWVkZXIgTWFjaHQuIFJlbGlnaW9lc2UgTW90aXZlIHNpbmQgZGEgbmF0dWVybGljaCBkYW5rYmFyZQpNaXR0ZWwgdW5kIGJlcXVlbSBlaW56dXNldHplbiwgZGEgc2llIHNpY2ggZWluZmFjaCBsZWdpdGltaWVyZW4gdW5kIHNjaHdlcgpiZXNlaXRpZ2VuIGxhc3Nlbi4gQWJlciBhdWNoIGRlciBlaWZyaWdzdGUgU2NoaWl0IHdpcmQgc2ljaCBzaWNoZXJsaWNoCnNjaHdlcnR1biwgYXVzIGRlbSBLb3JhbiBlaW5lIGRlcmFydGlnZSBUYXQgenUgcmVjaHRmZXJ0aWdlbi4gRGVyIGhldXRpZ2UKR2xhZXViaWdlIGhvbHQgc2ljaCBzZWluZSBSZWNodGZlcnRpZ3VuZyBlaGVyIGF1cyBkZXIgTW9zY2hlZSBuZWJlbmFuLCB3bwp2ZXJkcmVodGUgVGV4dGUgdm9uIERlbWFnb2dlbiBhdWYgZGllIExldXRlIGVpbnByYXNzZWxuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1ha2FiZXIuLi4gKEFyaywgMTIuIFNlcCAyMDAxLCAxNzo1NTozNCk6Cn4jISBybj1QYXRyeW4gcnQ9MTAwMDI4NjIyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKVGphLCB3ZW5uIGVzIG5pY2h0IHNjaGFlYmlnZSBUcml0dGJyZXR0ZmFocmVyIGdhZWJlLCBkaWUgaGV1dGUgZWluZQpCb21iZW5kcm9odW5nIGltIE1lc3NlZ2ViYWV1ZGUgaW4gRkZNIGFiZ2VnZWJlbiBoYWV0dGVuLCB3YWVyZSBlcyB3aWVkZXIgbWFsCmRpZSBGcmFnZSwgb2IgZGFzIGVpbmUgUFIgTWFzc25haG1lIGRlciBoZXNzaXNjaGVuIFJlZ2llcnVuZyBpc3Qgb2RlciBuaWNodC4KV2FyIGRhcyB1ZWJlcnpvZ2VuLCB3ZW5uIG1hbiBtaXQgc29sY2hlbiBEcm9odW5nZW4gcmVjaG5lbiBtdXNzPyBXdXNzdGVzdCBEdSwKZGFzcyBkYXMgZWluIEZha2Ugd2FyPyBNaXIgd2FyIGVzIGVocmxpY2ggZ2VzdGFuZGVuIHNvIGxpZWJlci4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWthYmVyLi4uIChQYXRyeW4sIDEyLiBTZXAgMjAwMSwgMTg6MDc6MTIpOgp+IyEgcm49QXJrIHJ0PTEwMDAzMTAxMzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0Cm5vY2ggbWFsIGZ1ZXIgdW5zZXJlIGxhbmdzYW1lbiBtaXRsZXNlciBvZGVyIHp1IHNjaG5lbGxlciBtaXRsZXNlciB6dW0KbWl0bWVpc3NlbG46IGljaCBzYWdlIG5pY2h0LCBkYXNzIG1hbiBlcyBhbmRlcnMgaGFuZGhhYmVuIHNvbGwuCmljaCBzYWdlIG51ciwgZGFzcyBkaWVzIF9hdWNoXyBkYXMgemllbCBkZXIgdGVycm9yaXN0ZW4gaXN0LCBkZW5uCmdlcmFkZSBkdXJjaCBkYXMgYmVzY2huZWlkZW4gZ2V3b2hudGVyIGxlYmVuc3dlaXNlbiBkZXIgbWVuc2NoZW4sCm5pY2h0IG51ciBkdXJjaCBkZW4gdW5taXR0ZWxiYXJlbiB0ZXJyb3IsIHNvbmRlcm4gYXVjaCBkdXJjaCBkaWUKdmVyc3RhZXJrdGVuIHNpY2hlcmhlaXRzbWFzc25haG1lbiwKd2VyZGVuIGRpZSBtZW5zY2hlbiBkYXp1IGdlend1bmdlbiwgc2ljaCBtaXQgZGVuIGZvcmRlcnVuZ2VuIGRlcgp0ZXJyb3Jpc3RlbiBhdXNlaW5hbmRlcnp1c2V0emVuLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWFrYWJlci4uLiAoQW5hY3Jpb24sIDEyLiBTZXAgMjAwMSwgMTg6MDg6MDgpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDAzMTA4MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CkFsc28gZG9jaCBkaWUgV2VzdCBCYW5rLCBkZW4gR2F6YXN0cmVpZmVuLCBCZWlydXQgdW5kIEFmZ2hhbmlzdGFuIHp1IHdlaXNzZW4KRmxlY2tlbiBtYWNoZSA/IAoKYW5hYyogLSBzYXJrYXN0aXNjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTWFrYWJlci4uLiAoUGF0cnluLCAxMi4gU2VwIDIwMDEsIDE4OjA5OjA0KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDAzMTA4ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CmFsc28gZW50d2VkZXIgaGFzdCBkdSBlcyBhdWNoIG5pY2gga2FwaWVydCBvZGVyIGR1IHdpbGxzdCBlcyBuaWNoIGthcGllcmVuCm9kZXIgZHUgaGFzdCBhdWYgZGVuIGZhbHNjaGVuIGFydGlrZWwgZ2VhbnR3b3J0ZXQuCm1pciBlaWdlbnRsaWNoIGF1Y2ggZWdhbC4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNYWthYmVyLi4uIChBbmFjcmlvbiwgMTIuIFNlcCAyMDAxLCAxODoxMToyMyk6Cn4jISBybj1QYXRyeW4gcnQ9MTAwMDMxMDk0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyMzY5MDQKTmVpbi4gSWNoIGhhYiBkZWluZW4gYXJ0aWtlbCBrYXBpZXJ0LgoKQWJlciBkaWUgZWluemlnZSBtb2VnbGljaGtlaXQsIHNpY2ggbmljaHQgbWl0IHRlcnJvcmlzdGVuIGF1c2VpbmFuZGVyenVzZXR6ZW4sCmlzdCBlcywgd2VubiBlcyBrZWluZSB0ZXJyb3Jpc3RlbiBnaWJ0LiBFcmdvIG11ZXNzdGUgbWFuIHNjaG9uIGdhbnplCmxhbmRzdHJpY2hlIGVudHZvZWxrZXJuIHVtIGRhcyB6dSBlcnJlaWNoZW4uCgphbmFjKiAtIG1laW50IG5pY2h0LCBkYXNzIGR1IGRhcyBiZWhhdXB0ZXQgaGFzdCB1bmQgaXN0IGF1Y2ggc2VsYmVyIG5jaWh0CmRhZnVlciwgZmluZGV0IGFiZXIsIGRhc3MgbWFuIGF1Y2ggbmljaHRzIHR1biBrYW5uLCB1bSBzaWNoIE5JQ0hUIG1pdApmb3JkZXJ1bmdlbiBhdXNlaW5hbmRlcnp1c2V0emVuLCB3ZW5uIG1hbiBzaWNoIG5jaWh0IGJlc2NocmFlbmt0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWthYmVyLi4uIChBcmssIDEyLiBTZXAgMjAwMSwgMTg6MjE6MDgpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDAzMTA4MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwMjM2OTA0CkpvLCBhZ3JlZWQuIFVuZCBlcyBpc3QgbWlyIHdlaXRlcmhpbiBsaWViZXIsIHdlbm4gZ2xlaWNoIG5hY2ggZWluZW0gZGVyYXJ0aWdlbgpGbGFlY2hlbmJyYW5kIFZvcnNpY2h0bWFzc25haG1lbiBlcmdyaWZmZW4gd2VyZGVuLCBhdWNoIHdlbm4gZXMgZGVuIFRhZXRlcm4KcmVjaHQgaXN0L2VudGdlZ2Vua29tbXQvIm51dHp0Ii4gTmFjaGhlciBoYWVuZ3Qgc2ljaCBlaW5lIFNwbGl0dGVyZ3J1cHBlIG1pdAplaWdlbmVuIE1vdGl2ZW4gZHJhbiB1bmQgZWluZXIgcmVhbGVuIEJlZHJvaHVuZy4gV2VubiBkYW5uICJidXNpbmVzcyBhcyB1c3VhbCIKaXN0LCBpc3QgZGFzIEdlc2NocmVpIG1pdCBTY2h1bGRnZXN1Y2hlIGF1Y2ggZ3Jvc3MuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29uZG9sZW56IChFbG9kaWEsIDEzLiBTZXAgMjAwMSwgMTQ6Mjk6MzcpOgpPZmZlbmVyIEJyaWVmIGRlciBNaXRhcmJlaXRlcmlubmVuIHVuZCBNaXRhcmJlaXRlciBkZXIgV0VCLkRFIEFHCgoKTGllYmUgRnJldW5kZSB2b24gV0VCLkRFLAoKZGVyIDExLiBTZXB0ZW1iZXIgaXN0IGZ1ZXIgdW5zIGFsbGUgenUgZWluZW0gVGFnIGRlciBUcmF1ZXIgZ2V3b3JkZW4sIGVpbgpUYWcsIGFuIGRlbSBUZXJyb3IgYmlzbGFuZyB1bnZvcnN0ZWxsYmFyZW4gQXVzbWFzc2VzIHVucyBhbGxlIHp1dGllZnN0CmVyc2NodWV0dGVydCBoYXQuCgpEaWVzZSBBbnNjaGxhZWdlLCBhdWNoIHdlbm4gc2llIHVucyBhdWYgZGVuIGVyc3RlbiBCbGljayBudXIgZ2VnZW4gZGllIFVTQQpnZXJpY2h0ZXQgZXJzY2hlaW5lbiwgYmV0cmVmZmVuIHVuZCB0cmVmZmVuIHVucyBhbGxlLCB1bnNlciBMZWJlbiBUYWcgZnVlcgpUYWcsCnVuc2VyZSBHZXNlbGxzY2hhZnQgdW5kIHVuc2VyIFdpcnRzY2hhZnRzc3lzdGVtLiBEaWUgTWVuc2NoZW4sIGRpZSBzdGFyYmVuLAp3YXJlbiBhbHMgT3BmZXIgZGVyIEFuc2NobGFlZ2UgYmVzdGltbXQgd29yZGVuLCB3ZWlsIHNpZSBCdWVyZ2VyaW5uZW4gdW5kCkJ1ZXJnZXIgZWluZXIgZnJlaWVuIEdlc2VsbHNjaGFmdCB3YXJlbjogTWl0IGRpZXNlbSBBbnNjaGxhZyBzb2xsdGVuIHVuc2VyZQpXZXJ0ZSwgc29sbHRlIHVuc2VyZSBEZW1va3JhdGllIHplcnN0b2VydCB3ZXJkZW4uCgpXaXIgc2luZCBhbGxlIGdlZm9yZGVydCwgc28gc2Nod2VyIGRlciBHZWRhbmtlIGFuZ2VzaWNodHMgZGVzIExlaWRzIGF1Y2ggenUKZXJ0cmFnZW4gaXN0LCB3ZWl0ZXJ6dW1hY2hlbiwgd2VpdGVyenVsZWJlbiwgd2VpdGVyenVhcmJlaXRlbi4gRXMgaXN0IHVucwp3aWNodGlnCnp1IHplaWdlbiwgZGFzcyB3aXIgbmljaHQgImF1ZiBTdG9wcCBnZWhlbiIsIHdvenUgZGVyIFRlcnJvciB1bnMgendpbmdlbgp3b2xsdGUuClVuc2VyZSBHZWZ1ZWhsZSBzaW5kIGJlaSBkZW4gTWVuc2NoZW4sIGRpZSBzdGFyYmVuLCBiZWkgZGVuIFZlcmxldHp0ZW4sIGJlaQppaHJlbgpBbmdlaG9lcmlnZW4uCgpBdXMgZGllc2VuIEJld2VnZ3J1ZW5kZW4gaXN0IGJlaSB1bnMgaW0gVW50ZXJuZWhtZW4gZGVyIEdlZGFua2UgZW50c3RhbmRlbiwKZHVyY2ggZWluZSBLb25kb2xlbnpha3Rpb24gZGllIEFuZ2Vob2VyaWdlbiB6dSB1bnRlcnN0dWV0emVuLgoKRnVlciBhbGxlLCBkaWUgaWhyZSBBbnRlaWxuYWhtZSBhdXNkcnVlY2tlbiBtb2VjaHRlbiwgaGFiZW4gd2lyIGVpbiBPbmxpbmUtCktvbmRvbGVuemJ1Y2ggdW50ZXIgZGVyIEUtTWFpbC1BZHJlc3NlIGtvbmRvbGVuekB3ZWIuZGUgZWluZ2VyaWNodGV0LgpJaHJlIEUtTWFpbHMgd2VyZGVuIHdpciBnZXNhbW1lbHQgYW4gZGllIEFuZ2Vob2VyaWdlbiB3ZWl0ZXJsZWl0ZW4uCgpTaWUga29lbm5lbiBJaHJlciBTb2xpZGFyaXRhZXQgYXVjaCBBdXNkcnVjayB2ZXJsZWloZW4sIGluZGVtIFNpZSBkYXMKQW1lcmlrYW5pc2NoZQpSb3RlIEtyZXV6IGZpbmFuemllbGwgdW50ZXJzdHVldHplbi4gRGVyIEJlaXRyYWcgd2lyZCB1ZWJlciBkYXMgRGV1dHNjaGUgUm90ZQpLcmV1egp3ZWl0ZXJnZWxlaXRldC4gRWluZmFjaCBvbmxpbmUgdWViZXJ3ZWlzZW4gdW50ZXIgaHR0cDovL3d3dy5kcmsuZGUvc3BlbmRlbi8Kb2RlciBhbSBCYW5rc2NoYWx0ZXIgdWViZXJ3ZWlzZW4gYW4gZGFzCkRSSywgU3RpY2h3b3J0ICJTb2ZvcnRoaWxmZSBVU0EiLCBLb250by1Oci4gNDEgNDEgNDEsIERldXRzY2hlIEJhbmssIEJMWiAzODAKNzAwIDU5LgoKS2FybHNydWhlLCAxMi4gU2VwdGVtYmVyIDIwMDEKCgprb21tZW50YXJsb3MsIEVsb2RpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdHJhZ2lzY2gsIGFiZXIuLi4gKFNhcmFoLCAxNS4gU2VwIDIwMDEsIDEyOjE5OjA1KToKSGksIGRpZSBFcmVpZ25pc3NlIGluIGRlbiBVU0Egc2luZCB6d2FyIHNlaHIgdHJhZ2lzY2gsIGFiZXIgZWluZW4gVGFnIGRhbmFjaAppbiB1bnNlcmVyIFRhZ2VzemVpdHVuZyAoaWNoIGdlYiBkYXMgbWFsIHZlcmt1ZXJ6dCB3aWVkZXIsb2J3b2hsIGRhcwplaWdlbnRsaWNoIGthdW0gbm9jaCBtb2VnbGljaCBpc3QpIDogVGFua2VydW5nbHVlY2sgdm9yIEt1ZXN0ZSBYWSAod28gZ2VuYXUKaGFiIGljaCB2ZXJnZXNzZW4sIGlzdCBhdWNoIGVnYWwpLCA5MDAwMCBMaXRlciBCZW56aW4gYXVzZ2VsYXVmZW4sIGdlc2FtdGUKVGllcndlbHQgZGllc2VyIEt1ZXN0ZSBiZWRyb2h0LgpXYXJ1bSBrdWVtbWVydCBzaWNoIGRhIGRydW0gZWlnZW50bGljaCBrZWluZXI/IEZydWVoZXIgd3VyZGVuIGRvY2ggc29sY2hlCkthdGFzdHJvcGhlbiBpbW1lciB0YWdlbGFuZyBpbiBkZW4gTWVkaWVuIGR1cmNoZ2VrYXV0LgoKU2FyYWgsIGRpZSBFcmVpZ25pc3NlIGluIEFtZXJpa2Egc2VociB0cmFnaXNjaCBmaW5kZW5kLCBhYmVyIHRyb3R6ZGVtLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdHJhZ2lzY2gsIGFiZXIuLi4gKERlZXBibHVlLCAxNS4gU2VwIDIwMDEsIDEyOjIwOjEzKToKfiMhIHJuPVNhcmFoIHJ0PTEwMDA1NDkxNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwNTQ5MTQ1Ck1vbWVudGFuIGt1ZW1tZXJ0IHNpY2ggamEgYXVjaCBrZWluZXIgZGFydW0sIGRhcyBJc3JhZWwgZGFzIGJpc3NlbCBQYWxlc3RpbmEsCndhcyBub2NoIGRhIGlzdCwgamV0enQgYXVjaCBrdXJ6IHVuZCBrbGVpbiBoYXV0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRyYWdpc2NoLCBhYmVyLi4uIChOb25uZSwgMTUuIFNlcCAyMDAxLCAxMjoyMTowMyk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDAwNTQ5MjEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDU0OTE0NQpXZWlsIHdlZGVyIGRpZSBQYWxhZXN0aW5lbnNlciBub2NoIGRpZSBUaWVyZSBlaW5lbiBQYXNzIGVpbmVzIHdlc3RsaWNoCid6aXZpbGlzaWVydGVuJyBTdGFhdGVzIGhhYmVuLCBkZXN3ZWdlbi4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRyYWdpc2NoLCBhYmVyLi4uIChWYW5pb24sIDE1LiBTZXAgMjAwMSwgMTI6MjM6NTEpOgp+IyEgcm49U2FyYWggcnQ9MTAwMDU0OTE0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDA1NDkxNDUKTWVuc2NoZW4gc2luZCBzY2hvbiB3YXMgdG9sbGVzLiBVbmQgaWhyIFZlcmRyYWVuZ3VuZ3NtZWNoYW5pc211cyBpc3QKZXJzdGF1bmxpY2guIEluc2Jlc29uZGVyZSB3YXMgZGFzIFZlcmRyYWVuZ2VuIGRlciBQcm9ibGVtZSBhbmRlcmVyIGFuZ2VodCwKc29sYW5nZSBlcyBuaWNodCB2b24gZGVuIE1lZGllbiBpbiBtdW5kZ2VyZWNodGVuIEhhZXBwY2hlbiBwcmFlc2VudGllcnQgd2lyZC4gCgpJY2ggZnJhZyBtaWNoIGRlcnplaXQsIHdhcyBkYXMgQW1lcmlrYW5pc2NoZSBSb3RlIEtyZXV6IG1pdCBkZW0gZ2FuemVuClNwZW5kZXJibHV0IG1hY2h0IC0gaWNoIG1laW5lIGd1dCwgZXMgZ2lidCB2aWVsZSBWZXJsZXR6dGUgLSBhYmVyIHdlbm4gMTAgTWlvCkxldXRlIHp1bSBCbHV0c3BlbmRlbiByZW5uZW4sIGlzIGRhcyBtZWhyIGFscyBnZW51ZyBmdWVyIHZpZWxsZWljaHQgMTAwMDAKQmVkYXJmc3RyYWVnZXIuCgpWKiBzaW5uaWVydCwgenVzYW1tZW5oYW5nbG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0cmFnaXNjaCwgYWJlci4uLiAoTGluZmxhcywgMTUuIFNlcCAyMDAxLCAxMzoxMjo0MCk6Cn4jISBybj1WYW5pb24gcnQ9MTAwMDU0OTQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDA1NDkxNDUKRWluZnJpZXJlbi4gU29sbHRlbiBkaWUgVVNBIGluIGRlbiBLcmllZyB6aWVoZW4sIHdlcmRlbiBzaWUgZGllc2UgYnJhdWNoZW4uCkljaCB3aWxsIGdhcm5pY2h0IHdpc3Nlbiwgd2VsY2ggc2NobGltbWUgU2Nobml0dHZlcmxldHp1Z25lbiBzaWNoIFNvbGRhdGVuCmJlaW0gS25vZXBmY2hlbmRydWVja2VuIGhvbGVuIGtvZW5uZW4uCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0cmFnaXNjaCwgYWJlci4uLiAoRGVlcGJsdWUsIDE1LiBTZXAgMjAwMSwgMTM6MTQ6MDQpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMDA1NDk0MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwNTQ5MTQ1CkRpZSB2ZXJrYXVmZW4gZGFzIGRhbm4gYW4gZGllIExhZW5kZXIsIGRpZSBkZXIgQW1pIGpldHp0IGFscyBSYWNoZSBrbGVpbmtsb3BwdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdHJhZ2lzY2gsIGFiZXIuLi4gKFZhbmlvbiwgMTUuIFNlcCAyMDAxLCAxMzoyNTo0Nyk6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMDA1NTIzNjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwNTQ5MTQ1CkFmYWlrIGdlaHQgZGFzIG5pY2guIEJsdXRrb25zZXJ2ZW4gc2luZCBudXIgY2EuIDEwMCBUYWdlIGhhbHRiYXIgKGVzIHNlaSBkZW5uLApkYSBzaW5kIG1hc3NpdmUgRm9ydHNjaHJpdHRlIGdlbWFjaHQgd29yZGVuLCB3YXMgaWNoIG5pY2ggYXVzc2NobGllc3NlbiBrYW5uKS4KCldvcmF1ZiBpY2ggZWlnZW50bGljaCBoaW5hdXN3b2xsdGUgaXN0LCBkYXNzIGVzIHZpZWxlIEdydXBwaWVydW5nZW4gKEZpcm1lbiwKVmVyZWluZSwgLi4uKSBnaWJ0LCBkaWUgdm9uIGRlbSBVbmdsdWVjayBhbmRlcmVyIHByb2ZpdGllcmVuLiBKYSwKZXJzY2hyZWNrZW5kLCBpc3QgYWJlciBzby4gU2VsYnN0IHJlc3Bla3RhYmxlIFZlcmVpbmUgd2llIGRhcyBSb3RlIEtyZXV6LiBEaWUKemFobGVuIGF1Y2ggbnVyIGVpbmVuIEJydWNodGVpbCBkZXNzZW4sIHdhcyBzaWUgZnVlciBlaW5lIEtvbnNlcnZlIGJla29tbWVuIGFuCmRlbiBTcGVuZGVyIChpbiBEZXV0c2NobGFuZCBtZWlzdCBpbiBGb3JtIHp3ZWllciBCdXR0ZXJicm90ZSBvZGVyIHNvIC4uLikuCgpJY2ggd2Vpc3MgbmljaHQgaW4gd2llIHZpZWxlbiBGaXJtZW4gdW5kIFByaXZhdGhhdXNoYWx0ZW4gaW4gZGVyIGxldHplbiBXb2NoZQplaW4gRmF4IGF1Zmdlc2NobGFnZW4gaXN0LCBpbiBkZW0gZGVyIEVtcGZhZW5nZXIgYXVmZ2Vmb3JkZXJ0IHdpcmQsIGluIGVpbmVtCmRlciB6d2VpIEthZXN0Y2hlbiBkZXIgTWFjaGFydCAnSmEsIGljaCBiaW4gZnVlciBHZXdhbHQuJyB1bmQgJ05laW4sIGxhc3N0IHVucwphbGxlIGdsdWVja2xpY2ggenVzYW1tZW5sZWJlbi4nIGVpbiBLcmV1eiB6dSBtYWNoZW4gLSB1bmQgZGFuIGluIGVpbmUKMyw5OC9NaW51dGUtRmF4LUFkZHkgenVydWVja3p1c2NoaWNrZW4uCgpTbyBsYXNzZW4gc2ljaCBub2NoIHZpZWxlIHdlaXRlcmUgQmVpc3BpZWxlIGZ1ZXIgaGVtbXVuZ3Nsb3NlIEFiem9ja2UgdW5kCkF1c251dHp1bmcgZGVzIE1pdGdlZnVlaGxzIHVuc2VyZXIgTWl0bWVuc2NoZW4gZmluZGVuLgoKViosIGhhdCBudSBnZW51ZyBnZWphbW1lcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB0cmFnaXNjaCwgYWJlci4uLiAoRGVlcGJsdWUsIDE1LiBTZXAgMjAwMSwgMTM6Mjg6MDIpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMDA1NTMxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAwNTQ5MTQ1ClZhbmlvbiwgZGVtIFJvdGVuIEtyZXV6IHd1ZXJkZSBpY2ggYWJlciBub2NoIHp1dHJhdWVuLCBkZW4gR3Jvc3N0ZWlsIGRlcgpFcmxvZXNlIHNpbm52b2xsIChhbHNvIGZ1ZXIgQXVmZ2FiZW4sIGZ1ZXIgZGllIGRhcyBSSyBzdGVodCB1bmQgZGVyZW4KVmVyd2FsdHVuZykgYXVzenVnZWJlbi4gQWxzbyBiaXR0ZSBrZWluZSBQYXVzY2hhbHZlcnVydGVpbHVuZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0cmFnaXNjaCwgYWJlci4uLiAoRWxiZXJldCwgMTUuIFNlcCAyMDAxLCAxMzoyOTo0MSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDAwNTUzMjgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDU0OTE0NQphdXNzZXJkZW0sIHdlbm4gZGFkdXJjaCBsZXV0ZSB6dSBibHV0c3BlbmRlcm4gd2VyZGVuIGRpZSBkYXMgdm9yaGVyIG5vY2ggbmNpaHQKd2FyZW4sIGhhdCBkYXMgYXVjaCBzZWluIGd1dGVzLCB2aWVsbGVpY2h0IG1hY2hlbiBzaWVzIGRhbm4gamEgYXVjaCBvZWZ0ZXJzCmRhbmFjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdHJhZ2lzY2gsIGFiZXIuLi4gKFZhbmlvbiwgMTUuIFNlcCAyMDAxLCAxMzozMjozOCk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDAwNTUzMjgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDU0OTE0NQpJY2ggcGVyc29lbmxpY2ggbWFnIGRhcyBEUksgYXVzIHZlcnNjaGllZGVuZW4gR3J1ZW5kZW4gbmljaHQuIERlbm5vY2ggc2VoZSB1bmQKc2NoYWV0emUgaWNoIHNlaW5lbiBnZXNlbGxzY2hhZnRsaWNoZW4gTnV0emVuLiBJY2ggZ2xhdWIgaWNoIGhhYiBhdWNoCidyZXNwZWt0YWJlbCcgaW0gWnVzYW1tZW5oYW5nIG1pdCBkZW0gRFJLIGdlc2NocmllYmVuLiBFcyBzb2xsdGUgbnVyCnZlcmRldXRsaWNoZW4sIHdhcyBpY2ggbWVpbmUuIEF1c3NlcmRlbSBnZWh0IGVpbiBHcm9zc3RlaWwgZGVyIEVpbm5haG1lbiBkZXMKRFJLIC0gd2llIGluIGplZGVyIGdyb2Vzc2VyZW4gSGlsZnNvcmdhbmlzYXRpb24gLSBmdWVyIGRpZSBFaWdlbnZlcndhbHR1bmcKZHJhdWYuCgpWKiwgaXN0IE5JQ0hUIGZ1ZXIgZGllIEFic2NoYWZmdW5nIGRlcyBEUksuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRyYWdpc2NoLCBhYmVyLi4uIChWYW5pb24sIDE1LiBTZXAgMjAwMSwgMTY6MTA6NDIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAwMDU0OTIxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDA1NDkxNDUKSW4gZGllc2VtIFp1c2FtbWVuaGFuZzoKaHR0cDovL3d3dy5waG9lbml4LmRlL3RoZW1lbi9oaW50ZXIvMDkyMDAxLzAyMTQzL25zLmh0bWwKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB0cmFnaXNjaCwgYWJlci4uLiAoQW5hdG9sLCAxNS4gU2VwIDIwMDEsIDIwOjMwOjEwKToKfiMhIHJuPUF0b3ogcnQ9MTAwMDU3ODU4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDA1NDkxNDUKLWEgamEuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWFrYWJlci4uLiAoU2hhZG93bGFkeSwgMTYuIFNlcCAyMDAxLCAyMjo0ODo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDAwMzAzMTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDIzNjkwNApHcm9iIHZlcmVpbmZhY2hlbmQgd3VlcmRlIGljaCBkYXMgbmljaHQgbmVubmVuLi4uIGRlbm4gYXVjaCBkaWVzZXIKTW9yZGFuc2NobGFnIGlzdCBlaW4gRXJnZWJuaXMgdW5zZXJlciBXZWx0dW1zdGFlbmRlLi4uCkVzIGlzdCB0cmFnaXNjaCwgZGFzcyBzbyB2aWVsZSBNZW5zY2hlbiBkaWVzZW4gSXJyZW4genVtIE9wZmVyIGZpZWxlbiwgdW5kIG1hbgprYW5uIGdhciBuaWNodCBvZnQgZ2VudWcgZGFyYXVmIGhpbndlaXNlbiwgZGFyYW4gZXJpbm5lcm4sIGRhc3MgZXMgaGllciB1bQpNZW5zY2hlbmxlYmVuIGdlaHQuIFVuZCBkb2NoIG11c3MgYXVjaCBpY2ggZGFyYW4gZXJpbm5lcm4sIGRhc3MgVEFlR0xJQ0gKendpc2NoZW4gMzAuMDAwIHVuZCA0MC4wMDAgS2luZGVyIHN0ZXJiZW4gLSBhbiBIdW5nZXIsIEtyYW5raGVpdGVuIG9kZXIgZGVuCkZvbGdlbiBlaW5lcyBLcmllZ2VzLiAKSkVERU4gVEFHIE1FSFIgQUxTIERSRUlNQUwgU08gVklFTEUgT1BGRVIgV0lFIElOIEFNRVJJS0EhISEgVW5kIHdpZXZpZWxlCnRhZWdsaWNoIGR1cmNoIExhbmRtaW5lbiBvLmFlLiB2ZXJzdHVlbW1lbHQgd2VyZGVuLCBpc3QgbmljaHRtYWwgYmVrYW5udC4uLiBFcwppc3QgZ3V0IHVuZCByaWNodGlnLCBkYXNzIGVpbiBBdWZzY2hyZWkgZHVyY2ggZGllIFdlbHQgZ2VodCBhbmdlc2ljaHRzIGRlcgp0cmFnaXNjaGVuIEVyZWlnbmlzc2UgaW4gQW1lcmlrYS4gQWJlciB3byBibGVpYnQgZGVyIEF1ZnNjaHJlaSBhbmdlc2ljaHRzIGRlcgp2aWVsZW4gYW5kZXJlbiBPcGZlcj8gCkRpZSBUZXJyb3JhbnNjaGxhZWdlIGluIEFtZXJpa2Egd2VyZGVuIGFscyBBbmdyaWZmIGF1ZiBkaWUgd2VzdGxpY2hlLAoneml2aWxpc2llcnRlJyBXZWx0IGdld2VydGV0CnZpZWxsZWljaHQgZ2VoZW4gc2llIHVucyBkZXNoYWxiIHNvIG5haGUsIHdlaWwgQW1lcmlrYSB1bnMgbmFlaGVyIGVyc2NoZWludAphbHMgdmllbGUgTGFlbmRlciBkZXIgZHJpdHRlbiBXZWx0LCBpbiBkZW5lbiB0YWVnbGljaCBUYXVzZW5kZSB2b24gTWVuc2NoZW4KaWhyIExlYmVuIGxhc3NlbiBtdWVzc2VuCnZpZWxsZWljaHQgZnVlaGxlbiB3aXIgdW5zIHVubWl0dGVsYmFyZXIgYmV0cm9mZmVuLCB3ZWlsIGF1Y2ggdW5zZXJlICdoZWlsZSwKZ2VvcmRuZXRlIFdlbHQnIGViZW5zbyBsZWljaHQgaW4gc2ljaCB6dXNhbW1lbmZhbGxlbiBrYW5uIHdpZSBkaWUgYmVpZGVuClR1ZXJtZSBkZXMgV1RDLiBUYXRzYWNoZSBpc3QgdW5kIGJsZWlidCBhYmVyIG51bm1hbCwgZGFzcyBuaWNodCBudXIgQW1lcmlrYQpPcGZlciB2b24gS3JpZWcsIEdld2FsdCB1bmQgVGVycm9yIHdpcmQuIEVzIGdpYnQgbnVyIGRlbiBlaW5lbiBVbnRlcnNjaGllZDoKRGllIHRvdGVuIEtpbmRlciBkZXIgRHJpdHRlbiBXZWx0IGhhYmVuIGtlaW5lIFZlcmJ1ZW5kZXRlbiwga2VpbmUgU3VwZXJtYWNodApoaW50ZXIgc2ljaC4gCkF1Y2ggaWNoIGJpbiBiZXRyb2ZmZW4gdW5kIGVudHNldHp0LiBBdWNoIG1pY2ggYmVsYXN0ZXQgZGVyIFRvZCBhbGwgZGllc2VyCk1lbnNjaGVuLiBVbmQgYXVjaCBpY2ggaGFiZSBBbmdzdCB2b3IgZGVuIElycmVuLCBkaWUgbWl0IHNvIHJlbGF0aXYgZWluZmFjaGVuCk1pdHRlbG4gdW5kIGVpbmVyIGdyb3NzZW4gUG9ydGlvbiBFbnRzY2hsb3NzZW5oZWl0IG9mZmVuYmFyIGRpZSBXZWx0IGlucyBDaGFvcwpzdHVlcnplbiBrb2VubmVuLiBBdWNoIGljaCBoYWJlIEFuZ3N0IHVtIGRpZSBzb3JnbG9zZSwgZnJpZWRsaWNoZSBadWt1bmZ0Cm1laW5lcyBLaW5kZXMuIApEb2NoIG5pY2h0c2Rlc3RvdHJvdHogYmluIGljaCBlYmVuc28gZW50c2V0enQgdWViZXIgZGllIHZpZWxlbgpOaWNodC1BbWVyaWthbmVyLCBkaWUgdGFlZ2xpY2ggaWhyIExlYmVuIGxhc3NlbiBtdWVzc2VuLi4uIHZpZWxsZWljaHQgZ2ViZW4KZGllIGp1ZW5nc3RlbiBFcmVpZ25pc3NlIEFubGFzcywgYXVjaCBlaW5tYWwgYW4gZGllIHp1IGRlbmtlbiwgZGllIHdlbmlnZXIKcHJpdmlsZWdpZXJ0IHNpbmQgLSB3ZWlsIGdlcmFkZSBkaWVzZSBBbnNjaGxhZWdlIGVpbmVzIGtsYXJnZW1hY2h0IGhhYmVuOiBFcwpnaWJ0IGtlaW5lIGFic29sdXRlIFNpY2hlcmhlaXQsIHVuZCBhbSBFbmRlIHNpbmQgd2lyIGRvY2ggYWxsZSBudXIgTWVuc2NoZW4uCkVnYWwgd28uIEVnYWwgd2llLiAKU2hhZG93CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprbGVpbmVyIFBvbGwgOi0pIChNb250YW51cywgMjAuIFNlcCAyMDAxLCAyMDo0OToyNSk6CldlciBncmFkIG5lIFNla3VuZGUgWmVpdCBoYXQgdW5kIG1yaSBuZW4ga2xlaW5lbiBHZWZhbGxlbiB0dW4gd2lsbDoKZ2VodCBtYWwgYXVmIHd3dy5tY2VsZGVyLmRlIHVuZCBrbGlja3QgZG9ydCBiZWltIE1pbmktUG9sbCBkaWUgTG9lc3VuZyAzCihFbmRsaWNoIGRldXRzY2hlIEthcnRlbikgYW4uCk1hbCBndWNrZW4sIG9iIGRpZSBVbWZyYWdlIG5pY2h0IG5vY2ggZ2VraXBwdCB3ZXJkZW4ga2Fubi4gOy0pCgpNZXJjaSBpbSBWb3JyYXVzIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtsZWluZXIgUG9sbCA6LSkgKEdvciwgMjEuIFNlcCAyMDAxLCAwMDoxNToyNSk6Cn4jISBybj1Nb250YW51cyBydD0xMDAxMDExNzY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMTAxMTc2NQpMb2VzdW5nIDEgd2Fycz8gSWNoIGhhc3NlIGRldXRzY2hlIEthcnRlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2xlaW5lciBQb2xsIDotKSAoQm9pbmcsIDIxLiBTZXAgMjAwMSwgMDk6MzU6MTkpOgp+IyEgcm49R29yIHJ0PTEwMDEwMjQxMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAxMDExNzY1CkljaCBtdXNzdGUgZXJzdCBtYWwgbmUgV2VpbGUgc3VjaGVuLCBiaXMgaWNoIHJhdXNnZWZ1bmRlbiBoYWIsIHVtIHdhcwplcyBkYSB1ZWJlcmhhdXB0IGdlaHQgLi4uIE1hZ2ljISBEaWUgT3B0aW9uIGJlaW0gUG9sbCAnZGFzIGlzdCBtaXIgc293YXMKdm9uIHNjaGVpc3NlZ2FsJyBhbnp1Z2ViZW4sIGdhYidzIGFiZXIgbGVpZGVyIG5pY2h0IC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrbGVpbmVyIFBvbGwgOi0pIChHcmltbWJvcm4sIDIxLiBTZXAgMjAwMSwgMDk6NDI6NTUpOgp+IyEgcm49Qm9pbmcgcnQ9MTAwMTA1NzcxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDEwMTE3NjUKT2NoLCBpY2ggaGFiIG1hbCBlaW4gYmlzY2hlbiBhdWYgZGllIFNlaXRlIGdlZ3Vja3QsIGFiZXIgYmVpIHNvdmllbCBidW50ZW4KQmlsZGVybiwgSmF2YSwgLXNjcmlwdCAmIENvLiBoYWJlbiBtaXIgZGllIEF1Z2VuIHdlaGdldGFuIGJldm9yIGRpZSBTZWl0ZQpmZXJ0aWcgZ2VsYWRlbiB3YXIuIEljaCBzZWhlIGljaCBoYWJlIG5pY2h0cyB2ZXJwYXNzdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUTMzTlkgKE1vbnRhbnVzLCAyMS4gU2VwIDIwMDEsIDE4OjM1OjU4KToKV2VyIGRpZSB0b2xsZSBWZXJzY2h3b2VydW5nc3RoZW9yaWUtZU1haWwgUTMzTlkgc2Nob24gYmVrb21tZW4gaGF0IC0gaWNoCmVtcGZlaGxlIGVpbmVuIHNlaHIgaW50ZXJlc3NhbnRlbiBBcnRpa2VsIGltIFNwaWVnZWwgZGFydWViZXI6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvbmV0emt1bHR1ci8wLDE1MTgsMTU4NTE2LDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGVyc2NodWV0dGVybmQuLi4gKERhbnRlLCAyMy4gU2VwIDIwMDEsIDA3OjM1OjAzKToKfiMhIHJuPUdvciBydD0xMDAwMjgzODQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMDI0NzAxMApJY2ggZm9yZGVyZSwKZGllIFByZWRpZ2VyIGtvZW5uZW4gYWxsZXMgdG90IGJldGVuIChiZXRlIHRvdCkKZGllIEthZW1wZmVybmthZW1wZmVuIGFsbGVzIHRvdCAoa2FlbXBmZSB0b3QpCmRpZSBDaGFvdHJuISEhIHZlcndpcnJlbiBhbGxlcyhyZWJvb3QpCnVzdy4uLi5hamEgbWFnaWVyIGhhYmVuIDxtYWNoZSBzZWhyIGludGVyZXNhbnRlIHF1ZXN0PgpkYW50ZSwgbm9jaCBmcmFnZW4uLnRoZSB6b21iaWVraW5nIGFuIGtpbmcgb2YgbGFtYmRhIGNsb3N1cmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBlcnNjaHVldHRlcm5kLi4uIChHb3IsIDIzLiBTZXAgMjAwMSwgMTY6MTA6MjEpOgp+IyEgcm49RGFudGUgcnQ9MTAwMTIyMzMwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDAyNDcwMTAKd2VubiBkYW4gJ2Ega2luZyBvZiBjbG9zdXJlcycgOykpKQoKVHV0IHZlcm11dGxpY2ggZ2VuYXVzb3dlbmlnIHp1ciBTYSBoZSB3aWUgZGVpbiBBcnRpa2VsLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdWVyIG1pcnJvciAoRm9vYmFyLCAyMy4gU2VwIDIwMDEsIDIyOjEwOjIzKToKfiMhIHJuPUlubmVzIHJ0PTEwMDEyNzU3ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAxMjc1NzgxCkdhbnogZ3V0IG9mZmVuYmFyLCBudXIgZGllIFJlY2h0c2NocmVpYnBydWVmdW5nIGxhZXNzdCB6dSB3dWVuc2NoZW4gdWVicmlnLi4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZnVlciBtaXJyb3IgKEFub3JpcywgMjMuIFNlcCAyMDAxLCAyMjoxMDo0Myk6Cn4jISBybj1Gb29iYXIgcnQ9MTAwMTI3NTgyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDEyNzU3ODEKbml4IGdlZ2VuIHNjaHdlaXplciBkaWFsZWt0IGJpdHRlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmdWVyIG1pcnJvciAoQmFtYmksIDI0LiBTZXAgMjAwMSwgMTM6MTI6NTYpOgp+IyEgcm49QW5vcmlzIHJ0PTEwMDEyNzU4NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAxMjc1NzgxClVuZCB3YXMgc3RhbmQgaW4gZGVtIEFydGlrZWwgZHJpbiwgZGVuIElubmVzIGdlc2NocmllYmVuIGhhdHRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFucyBpcyBkb29mIChJc29yZGFuLCAyNS4gU2VwIDIwMDEsIDE2OjIwOjMwKToKaGFucyBpcyBkb29mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGFucyBpcyBkb29mIChDYXR3ZWF6bGUsIDI1LiBTZXAgMjAwMSwgMTY6MjE6MDQpOgp+IyEgcm49SXNvcmRhbiBydD0xMDAxNDI3NjMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMTQyNzYzMApEYXMgbWFnIHNlaW4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWdub3JpZXJlbiBkZXIgRGlkZGwtTWF1cyAoR3JpbW1ib3JuLCAyOS4gU2VwIDIwMDEsIDE1OjU3OjAyKToKfiMhIG9uPUFyayBvdD0xMDAxNzY2NzU4IG9nPWQuZWJlbmUKT2ssIGljaCB3dXJkZSB2b24gamVtYW5kZW0gYW5nZXNwcm9jaGVuLCBkYXNzIG1hbiBkaWUgRGlkZGxtYXVzIG5pY2h0Cmlnbm9yaWVyZW4ga2FubiwgZC5oLiBpY2ggdmVybXV0ZSwgZGFzcyBzaWUgenVtIE5lcnZlbiBpZ25vcmllcmVuZGVyIFNwaWVsZXIKbWlzc2JyYXVjaHQgd2lyZC4gSXN0IHZpZWxsZWljaHQgd2VuaWcgYmVrYW5udCwgZGFzcyBtYW4gZGFzIHNjaG9uIGthbm4sIHVuZAp6d2FyIG1pdCBkZW0gQXJndW1lbnQgImlnbm9yaWVyZSA8c3BpZWxlcm5hbWUubWF1cz4iIG9kZXIgImlnbm9yaWVyZSA8Lm1hdXM+IiwKd2VubiBhbGxlIE1hZXVzZSBpZ25vcmllcnQgd2VyZGVuIHNvbGxlbi4KRWluZW4gZW50c3ByZWNoZW5kZW4gSGlud2VpcyB3aXJkIGVzIGJlaSBuZXVlbiBEaWRkbG1hZXVzZW4gZ2ViZW4sIGRhbWl0IGRpZQphcm1lbiBLbnVmZmVsY2hlbiBuaWNodCBhbHMgSW5zdHJ1bWVudGUgZGVzIFRlcnJvcnMgaGVyaGFsdGVuIGtvZW5uZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJrcyAuLi4gKEdsb2luc29uLCAgOS4gT2t0IDIwMDEsIDAxOjI1OjIxKToKU2NoYWV0emUgaWNoIHdhciBHcnVuZCBmdWVyIGRlbiBSZWJvb3QgLSBpY2ggZ2xhdWJlIHp3YXIgbmljaHQgZGFzIG1laW4gZXR3YXMKbWlzc2dsdWVja3QgYXVzZ2VkcnVlY2t0ZXMgT2JqZWt0ICh3YXMgc28gZWluZSBOdWxsIGhhbHQgYXVzbWFjaHQpIGdlY3Jhc2h0CmhhdCwgYWJlciBzaWNoZXIgd3VyZGUgZGVzd2VnZW4gZ2Vib290ZXQuCkphLCBtZWluIGFsdGVyIGVnbyBoYXR0ZSBkYSBhdWNoIG5vY2ggZGllcyB1bmQgZGFzIGltIFNlaGVyaGF1cyB6dSBsaWVnZW4uCkFyZ2xhcmtzIHVuZCBzb3JyeS4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcmtzIC4uLiAoR3JpbW1ib3JuLCAgOS4gT2t0IDIwMDEsIDAxOjMyOjUxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDI1ODM1MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAyNTgzNTIxCldhcyBsZXJuZW4gd2lyIGRhcmF1cz8gRXMgaGF0IHNlaW5lbiBTaW5uIGRhc3MgTWFnaWVyIHVuZCBOaWNodG1hZ2llcnp3ZWl0aWUKbmljaHQgZ2xlaWNoemVpdGlnIGVpbmdlbG9nZ3Qgc2VpbiBzb2xsdGVuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcmtzIC4uLiAoU2NobGVpY2hlciwgIDkuIE9rdCAyMDAxLCAwMTozMzowMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDAyNTgzNTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMjU4MzUyMQpOYWphIHZpZWxsZWljaHQgaGFzdCBEdSBqYSBHbHVlY2sgdW5kIERlaW4gQ2hyYXNoIHdpcmQgYWxzIEdlc2VsbGVuc3R1ZWNrCmFuZXJrYW5udCB9Oi0+CgpTY2hsZWljaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBY2h0dW5nIChBbmFjcmlvbiwgIDkuIE9rdCAyMDAxLCAwNToxNjozMSk6CkljaCB3b2xsdGUgbnVyIG1hbCBkYXJhdWYgaGlud2Vpc2VuLCBkYXNzIGVzIGFuIHZlcnNjaGllZGVuZW4gU3RlbGxlbiBpbSBNRwptYXNzaXYgYnVnZ3QgdW5kIGluc2Jlc29uZGVyZSBkaWUgS2xlcmlrZXJnaWxkZSBuaWNodCBnZWxhZGVuIHdlcmRlbiBrYW5uLiBJY2gKd2Vpc3MgbmljaHQsIG9iIGRhZHVyY2ggZWluIFJlYm9vdCBub3R3ZW5kaWcgd2VyZGVuIGthbm4gb2RlciBuaWNodCwgYWJlciBhdWYKamVkZW4gZmFsbCBrYW5uIGRlciBTcGllbHNwYXNzIG1hc3NpdiBiZWVpbnRyYWVjaHRpZ3Qgc2Vpbi4gTWFnaWVyIG1pdAphdXNyZWljaGVuZGVuIFNjaHJlaWItL0xlc2VyZWNodGVuIHdhcmVuL3NpbmQgbmljaHQgdmVyZnVlZ2JhciB6dXIgWmVpdC4KCkZyb2hlcyBNdWRkZW4KCmFuYWMqCgpQLlMuIEFydGlrZWwgbmFjaCBFcmxlZGlndW5nIGJpdHRlIG5hY2ggbXVlbGwgdmVybGVnZW4uIEdyaW1tYm9ybiwgdWViZXJuZWhtZW4Kc2llIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFjaHR1bmcgKENhdHdlYXpsZSwgIDkuIE9rdCAyMDAxLCAwNzo1OTozNik6Cn4jISBybj1BbmFjcmlvbiBydD0xMDAyNTk3MzkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMjU5NzM5MQpTbywgZGllIEtsZXJpa2VyZ2lsZGUgdHV0IHdpZWRlci4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nIChDYXR3ZWF6bGUsICA5LiBPa3QgMjAwMSwgMDk6MzY6MDkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDI2MDcxNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAyNTk3MzkxCkljaCBiaW4genUgZmxlaXNzaWcgaGV1dGUgOigKRHVyY2ggZWluIEZpbGUtUHJvYmxlbSBiZWkgZGVuIFphdWJlcmVybiwga2FubiBlcyBzZWluLCBkYXMgZGl2ZXJzZSBSYWV1bWUKa2VpbmUgQXVzZ2FlbmdlIGJla29tbWVuIGhhYmVuLiBGYWxscyBqZW1hbmQgaW4gc28gZWluZW0gUmF1bSBoYWVuZ2VuIHNvbGx0ZSwKZWluZmFjaCBlaW5lbiBNYWdpZXIgYml0dGVuLCBkZW4gUmF1bSB6dSBsYWRlbiwgZGFubiBrb21tdCBpaHIgYXVjaCB3aWVkZXIKcmF1cy4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBY2h0dW5nIChNZXNpcmlpLCAgOS4gT2t0IDIwMDEsIDA5OjQ0OjI4KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDAyNjEyOTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMjU5NzM5MQpEYW5rIGFuIENhdHR5LCBzb2xjaGUgTWVuc2NoZW5mYWxsZW4ga29lbm5lbiBzb25zdCBuYXR1ZXJsaWNoIG51ciB2b24gZGVuZW4KdmVybGFzc2VuIHdlcmRlbiwgYmVpIGRlbmVuIGVzIGJ1Z2d0IDopCk1lc2lyaWksIG5pbW1lciBpbSBXYXJvayBlaW5nZXNwZXJydCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcmtzIC4uLiAoQXJrLCAgOS4gT2t0IDIwMDEsIDE2OjU3OjU5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDI1ODM1MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAyNTgzNTIxCkFyZ2xhcmtzPyBIYXQgbml4IG1pdCBtaXIgenUgdHVuIDotKSBJY2ggd2FyIHp1ciBUYXR6ZWl0IGFid2VzZW5kLCBqYXdvbGwuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFya3MgLi4uIChHbm9tZSwgMTIuIE9rdCAyMDAxLCAxNzo0Nzo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDAyNTgzNTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMjU4MzUyMQpkdSBkYXJmc3QgamV0enQgM3ggcmF0ZW4sIHdvenUgbWFuIG5ldSBnZXByb2dndGUgc2FjaGVuIGVyc3RtYWwgaW0KaG9tZW11ZCBhdXNwcm9iaWVyZW4gc29sbHRlLi4uCgpnbk9tZSBicnVtbWVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhcmQ/IChTb2xteXIsIDE2LiBPa3QgMjAwMSwgMDg6MTY6NTYpOgpIYXQgdmllbGxlaWNodCBqZW1hbmQgbWFsIHdpZWRlciB3YXMgdm9uIEJhcmQgZ2Vob2VydD8KClNvbCogdmVybWlzc3QgamVtYW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3JvZnQgaXN0IGpldHp0IGVpbiBTZWhlciEgKFpvb2ssIDE2LiBPa3QgMjAwMSwgMTU6MDY6NTgpOgp+IyEgcm49TWVybGluIHJ0PTEwMDMyMzcyMzIgcmc9c3R1ZmVuCn4jISB0aWQ9MTAwMzIzNzIzMgpHUlJSUlJSUlJSUkFUUyBDcm9mdCEgOykKClpvb2sga2ljaGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3JvZnQgaXN0IGpldHp0IGVpbiBTZWhlciEgKE11YWRpYiwgMTYuIE9rdCAyMDAxLCAxNToyMDoxNCk6Cn4jISBybj1ab29rIHJ0PTEwMDMyMzc2MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAzMjM3MjMyCnNjaG9uID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcnNjaHdvZXJ1bmdzdGhlb3JpZW4uLi4/IChMaW5mbGFzLCAxNi4gT2t0IDIwMDEsIDE1OjM0OjE1KToKdW50ZXIgd3d3LnRlbGVwb2xpcy5kZSBuYWNoIHd0YyBjb25zcGlyYWN5IHN1Y2hlbi4KCmwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFyZD8gKEZpcmVoYXdrLCAxNi4gT2t0IDIwMDEsIDIwOjM0OjI3KToKfiMhIHJuPVNvbG15ciBydD0xMDAzMjEzMDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzIxMzAxNgpEdSBiaXN0IG5vY2h0IGRlciBlaW56aWdlLCBTb2xteXIgKnNldWZ6KgoKRmlyZWhhd2ssIHZlcm1pc3N0IG1laHJlcmUgTGV1dGUgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFyZD8gKExpYXJhLCAxNi4gT2t0IDIwMDEsIDIxOjM1OjU3KToKfiMhIHJuPVNvbG15ciBydD0xMDAzMjEzMDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzIxMzAxNgpIYWJlIG5vY2ggS29udGFrdC4KCkdydWVzc2UsIExpYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVmIGFsdGFyIFJFR08gSEVSQkFNIChOb25uZSwgMTguIE9rdCAyMDAxLCAxNDoyNToyOSk6Cn4jISBybj1GYW50dXMgcnQ9MTAwMzQwNzg2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDM0MDc4NjcKKmtpY2hlcioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXVmIGFsdGFyIFJFR08gSEVSQkFNIChCYW1iaSwgMTguIE9rdCAyMDAxLCAxNjoxMToyMik6Cn4jISBybj1Ob25uZSBydD0xMDAzNDA3OTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpEYXMgemVpZ3QgbnVyIG1hbCB3aWVkZXIsIGRhc3MgIkFkZENtZCgoeyJzY2hyZWliIiwgInNjaHJlaWJlIn0pLAoiY21kX3NjaHJlaWJlbiIsIDEpOyIgc28gemllbWxpY2ggZGFzIGJlc2NoaXNzZW5zdGUgRmVhdHVyZSBkZXIgTVBBIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGF1ZiBhbHRhciBSRUdPIEhFUkJBTSAoR3JpbW1ib3JuLCAxOC4gT2t0IDIwMDEsIDE2OjE3OjA3KToKfiMhIHJuPUJhbWJpIHJ0PTEwMDM0MTQyODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAzNDA3ODY3Cldlbm4gaWNoIG1pciBhbmd1Y2tlIHdpZXZpZWxlIEFydGlrZWwgYmV3dXNzdCBpbiBkZXIgTVBBIGxhbmRlbiB1bmQgd2llIHdlbmlnZQphdXMgVmVyc2VoZW4gZG9ydCBsYW5kZW4gYmluIGljaCBnZW5laWd0IERpciB6dSBlbXBmZWhsZW4sIERpciBlbnR3ZWRlciBlaW4KcGFhciBTdGF0aXN0aWtrZW5udG5pc3NlIGFuenVlaWduZW4gb2RlciBEZWluZSBvZmZlbnNpY2h0bGljaCB2b20gYWxsZ2VtZWluZW4KU3ByYWNoZ2VicmF1Y2ggYWJ3ZWljaGVuZGUgRGVmaW5pdGlvbiB2b24gImJlc2NoaXNzZW4iIHp1Z2FlbmdsaWNoIHp1IG1hY2hlbi4gCk1hbCBhYmdlc2VoZW4gZGF2b24gZGFzcyByZWFsIGV4aXN0aWVyZW5kZXIgY29kZSBuaWNodCBpbiBTcGllbGVycnVicmlrZW4KZ2Vob2VydC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYXVmIGFsdGFyIFJFR08gSEVSQkFNIChNYW5kcmFnb24sIDE4LiBPa3QgMjAwMSwgMTY6MTg6MTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDM0MTQ2Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDAzNDA3ODY3Ck5BamEuIGFiZXIgd2VubiBtYW4gZGVuIEJlZmVobCBhdWYgJ3NjaHJlaWJlIGFydGlrZWwnIGFlbmRlcm4gd3VlcmRlLCB3YWVyZQp0cm90emRlbSBrZWluIFNjaGFkZW4gZW50c3RhbmRlbiAuLiBpY2ggbmVobWUgYW4sIGRpZSBQcm9mZXNzaW9uZWxsZW4KTWVnYXNjaG1hcnJuZXIgaGFiZW4gZWggZWluIGFsaSBkYXJhdWYgOm8pCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGF1ZiBhbHRhciBSRUdPIEhFUkJBTSAoSXNpLCAxOC4gT2t0IDIwMDEsIDE2OjE4OjU1KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDAzNDE0Njk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpuZWluLCB3aXIgdmVyd25lZGVuIGFudHdvcnRlCmlzaSAobW91c3Nld2VyZmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGF1ZiBhbHRhciBSRUdPIEhFUkJBTSAoR3JpbW1ib3JuLCAxOC4gT2t0IDIwMDEsIDE2OjIwOjExKToKfiMhIHJuPUlzaSBydD0xMDAzNDE0NzM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpOb3BlLiAicmVwbHkiIGlzdCBrdWVyemVyLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKE1hbmRyYWdvbiwgMTguIE9rdCAyMDAxLCAxNjoyMDoyMyk6Cn4jISBybj1Jc2kgcnQ9MTAwMzQxNDczNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDM0MDc4NjcKRXMgZ2luZyBhdWNoIHVtIGFuZGVyZSBSdWJyaWtlbiAuLi4KCk1hKiAobW91c3NlbWFtcGZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKEJhbWJpLCAxOC4gT2t0IDIwMDEsIDE2OjI3OjQ2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzNDE0NjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpMaWViZXIgR3JpbW1ib3JuLiBOb3JtYWxlcndlaXNlIGFudHdvcnRlIGljaCBqYSBuaWNodCBhdWYgQXJ0aWtlbCwgZGllIGVpbmUKQW50d29ydCBhdWYgdm9uIG1pciBnZXNjaHJpZWJlbmUgQXJ0aWtlbCBkYXJzdGVsbGVuLiBBYmVyIERpciB6dWxpZWJlIHVuZCB1bQp6dSB6ZWlnZW4sIHdpZSBlbmdzdGlybmlnIGljaCBkb2NoIGJpbiBtb2VjaHRlIGljaCBlcyBhdXNuYWhtc3dlaXNlIHRyb3R6ZGVtCnR1bi4uLgpFcnN0ZW5zIGlzdCBkYXMga2VpbmUgcmVhbCBleGlzdGllcmVuZGVyIENvZGUgdW5kIGZhbGxzIGRvY2gsIGRhbm4gaXN0IGRhcwpadWZhbGwsIGljaCBoYWIgbmFlbWxpY2ggbnVyIGVpbiBtb2VnbGljaGVzIEFkZENtZCBoaW5nZXNjaHJpZWJlbi4gS2FubiBzZWluLApkYXNzIGljaCBtaWNoIGlycmUsIGFiZXIgaWNoIGdsYXViZSwgZGFzIFRlaWwgc3RlaHQgKGluIGFiZ2V3YW5kZWx0ZXIgRm9ybSkgaW0KaW5pdCgpIGRlciBtcGEuClp3ZWl0ZW5zIGlzdCBkaWUgLDEgbmljaHQgbnVyIGVpbiBQcm9ibGVtIGZhZWxzY2hsaWNoIGluIGRlciBNUEEgbGFuZGVuZGVyCkFydGlrZWwgc29uZGVybiBhbmRlcndlaXRpZyB1bm1vZWdsaWNoIGdlbWFjaHRlciBTeW50YXhlbiwgbmFlbWxpY2gKKGVpZ2VudGxpY2gpIGFsbGVyIFN5bnRheGVuLCBkaWUgbWl0ICJzY2hyZWliKGUpIiBiZWdpbm5lbiB1bmQgaW4gaW52LU9iamVrdGVuCmltcGxlbWVudGllcnQgd2VyZGVuIHNvbGxlbi4gQXVjaCBoaWVyIGthbm4gaWNoIG1pY2ggaXJyZW4sIGFiZXIgbWlyIGlzdCBlcwoob2huZSBoYWNrKSBuaWNodCBnZWx1bmdlbiwgc2VsYmlnZSBTeW50YXggaW4gZWluIGludi1PYmpla3QgZWluenViYXVlbi4gSXN0Cm1pciBzY2hvbiBrbGFyLCBkYXNzIChhbnNjaGVpbmVuZCBudXIpIGljaCB6dSBkb29mIGJpbiwgcmljaHRpZyB6dSBwcm9nZ2VuLAphYmVyIGRhbm4ga29tbXQgamEgbm9jaCBoaW56dSwgZGFzcyBiZXNhZ3RlIG1wYS1GdW5rdGlvbiBkZXJtYXNzZW4gc2NoLi4ubGVjaHQKaW1wbGVtZW50aWVydCBpc3QsIGRhc3Mgc2llIGdlbmVyZWxsIGF1ZiBzY2hyZWliZSByZWFnaWVydCwgdW5hYmhhZW5naWcgdm9tClBhcmFtZXRlci4KRGllICwxIGF1c3p1YmF1ZW4gd2FlcmUgZWluIHJpY2h0aWdlciBTY2hyaXR0LCBzY2hlaW50IGFiZXIgZGVuIEF1ZndhbmQgbmljaHQKd2VydCB6dSBzZWluLCB3ZW5uIGljaCBtZWluZXIgKHdvaGx3b2xsZW5kZW4pIEludGVycHJldGF0aW9uIERlaW5lcyBBcnRpa2Vscwp0cmF1ZW4gZGFyZi4gRWluZSBTeW50YXgtQWJmcmFnZSB3YWVyZSBtZWluZXIgKHVucXVhbGlmaXppZXJ0ZW4pIE1laW51bmcgbmFjaAprZWluIGFsbHp1IGdyb3NzZXIgQXVmd2FuZCwgYWJlciB3ZW5uIGljaCBsYW5nZSBuYWNoZGVua2UsIGRhbm4ga29lbm50ZSBpY2ggamEKcmF1c2tyaWVnZW4sIGRhc3MgZWluZSBkZXJhcnRpZ2UgQWJmcmFnZSB1bmVyd3VlbnNjaHQgaXN0LCB6dW0gZWluZW4sIHdlaWwKZGFubiBnZXdpc3NlIEFydGlrZWwgd29obCBuaWNodCBtZWhyIGluIGRlciBaZWl0dW5nIHN0dWVuZGVuLCB6dW0gYW5kZXJlbiwKd2VpbCBzaWNoIGRhbm4gZWluaWdlIGFsdGdlZGllbnRlIExldXRlLCBkaWUgKGJlc3NlciBhbHMgaWNoKSBtaXQgZGVyIE1QQQp1bWdlaGVuIGtvZW5uZW4gYXVmIGRlbiBTY2hsaXBzIGdldHJldGVuIGZ1ZWhsZW4ga29lbm50ZW4uCgpGYXppdDogRGVuIEFydGlrZWwgaGFldHQgaWNoIG1pciBzY2hlbmtlbiBrb2VubmVuLCBpY2ggd2Vpc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKEdyaW1tYm9ybiwgMTguIE9rdCAyMDAxLCAxNjozMDo1MSk6Cn4jISBybj1CYW1iaSBydD0xMDAzNDE1MjY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpBaCwgd2lyIGhhYmVuIGVpbmVuISBFbmRsaWNoIGplbWFuZCBkZXIgc2ljaCBmcmVpd2lsbGlnIG1lbGRldCwgZGVuCmhpc3RvcmlzY2hlbiBtcGEgY29kZSBhdWZ6dXJhZXVtZW4gdW5kIG5ldSB6dSBpbXBsZW1lbnRpZXJlbi4gTmEsIEJhbWJpLCBkZW5uCmtyZW1wZWwgbWFsIGRpZSBBZXJtZWwgaG9jaCB1bmQgc3B1Y2sgaW4gZGllIEhhZW5kZSwgRHUgd2Vpc3N0OiBWaWVsIEZlaW5kLAp2aWVsIEVociwgdW5kIGhpZXIgd2FydGV0IHdpcmtsaWNoIFZJRUwgRWhyZSBhdWYgRGljaC4uLiA7LSkKCkdkQSBoYXQgc2ljaCB2b3IgVXJ6ZWl0ZW4gbWFsIGRpZSBtcGEgdm9uIGlubmVuIGFuZ2VzY2hhdXQuIFNjaGxpbW1lciBhbHMKUm9jaHVzJyBHaWxkZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYXVmIGFsdGFyIFJFR08gSEVSQkFNIChTaWx2YW5hLCAxOC4gT2t0IDIwMDEsIDE2OjM5OjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzNDE1NDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpVbmJlc3RhZXRpZ3RlbiBHZXJ1ZWNodGVuIHp1Zm9sZ2Ugc29sbCBkaWUgVWViZXJhcmJlaXR1bmcgZGVyIG1wYSBpcmdlbmR3byBpbgpCYW5kIDMgb2RlciA0IHZvbiBUaWFtYWtzIFJlZ2Fsd2FlbmRlIGZ1ZWxsZW5kZXIgVG9Eby1MaXN0ZSBzdGVoZW4uIEVzIGthbm4Kc2ljaCBhbHNvIG51ciBub2NoIHVtIEphaHJ6ZWhudGUgaGFuZGVsbiwgYmlzIGRhcyBUaGVtYSB2aWVsbGVpY2h0IGVpbm1hbCBpbQplcnN0IEJhbmQgYXVmdGF1Y2h0Li4uIFdlciB3ZWlzcywgdmllbGxlaWNodCBzY2hhZmZ0IGVyJ3Mgc29nYXIgbm9jaCwgYmV2b3IKVGFyYW1pcyBmZXJ0aWcgd2lyZD8gQWJlciB2aWVsbGVpY2h0IHdpbGwgQmFtYmkgamEgd2lya2xpY2ggenUgTG9jb3MKTmFjaGZvbGdlciB3ZXJkZW4uIFdlciB3ZWlzcy4uLj8KCiAgU2lsdmFuYSAobmljaHQgZXJuc3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKEdvciwgMTguIE9rdCAyMDAxLCAxOToyMDowNyk6Cn4jISBybj1CYW1iaSBydD0xMDAzNDE0MjgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwpXaWVzbz8gRGFzIGlzdCBlaW4gYWx0ZXIgS2xhc3Npa2VyLiBXYWVyZSBzY2hhZGUgd2VubiBtYW4gZGEgbmljaHQgbWVociBzZWhlbgp3dWVyZGUuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhdWYgYWx0YXIgUkVHTyBIRVJCQU0gKE5hZGRsLCAxOC4gT2t0IDIwMDEsIDE5OjU3OjAwKToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwMzQxNTk3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDM0MDc4NjcKR2FueiBiZXN0aW1tdCBuaWNodC4gQWJlciB3ZXIgd2Vpc3MsIHZpZWxsZWljaHQgZXJ3ZWlzdCBzaWNoIGphIEJhbWJpIGRlciBFaHJlCmRlcyBFTXMgYWxzIHd1ZXJkaWc/IElzdCBqYSBuaWNodCBzbywgZGFzcyBkaWUgd2llIEVyemJpc2Nob2VmZSBzb2ZvcnQgbmFjaApBYnRyaXR0IG5ldSBiZXJ1ZmVuIHdlcmRlbi4KCmkuVi4gR2xvaW4oc29uKSwgbnVyIGViZW4gZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGF1ZiBhbHRhciBSRUdPIEhFUkJBTSAoUGVzdCwgIDUuIE5vdiAyMDAxLCAxNDo1MTozMik6Cn4jISBybj1OYWRkbCBydD0xMDAzNDI3ODIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwMzQwNzg2NwoKSGFlaD8gU2VpdCB3YW5uIHRhdWdlbiBFTXMgenUgaXJnZW5kd2FzPz8gSW1tZXIgZGllc2UKTltDW0NbQ1tDW0NbQ1tDW0NbQ2V1ZXJ1bmdlbiwgd2VubiBtYW4gbWFsIGt1cnogd2VjaCBpc3QuLi4KCkJhaCBIdW1idWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic2NoaWVkcy1IdWRlbGVpIChHb3JvZywgMTUuIE5vdiAyMDAxLCAyMjo0NzozOSk6CkxlbWJvbGQgc2NoaWNrdGUgbWlyIGdlcmFkZSBkaWUgTWl0dGVpbHVuZywgZGFzcyBlciBHZWJldGUgbmFjaCBtZWluZW0KbmFlY2hzdGVuIFRvZCBuaWNodCBlcmhvZXJlbiB3aXJkLiBEaWUgR3J1ZW5kZSBkYWZ1ZXIgYmV6aWVoZW4gc2ljaCBhdWYgZWluZQphbmRlcmUgV2VsdCAqYmxhYmxhYmxhKgoKU29sbCBoZWlzc2VuOiBWaWVsIFNwYXNzIHVuZCBndXRlIFVudGVyaGFsdHVuZyBpbiBkZW0gT25saW5lLVJvbGxlbnNwaWVsIGlocmVyCldhaGwuIEFiIGhldXRlIG9obmUgZGllIEJldGVpbGlndW5nIGVpbmVzIGRlciB2aWVsZW4gRGllbmVyIExlbWJvbGRzLiAKCkdvcm9nIHZlcm5laWd0IHNpY2ggdW5kIHNhZ3Q6IEJpcyBzcGFldCwgc2VociB2aWVsIHNwYWV0ZXIgb2RlciBpbSBuYWVjaHN0ZW4KTGViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaXBwOiBLdWVuZGlndW5nc2ZyaXN0IChBbWFyeWxsaXMsIDIzLiBOb3YgMjAwMSwgMjE6MDg6MzcpOgpNb2luLAoKd2Vpc3MgbmljaHQsIHdvIGljaCBkYXMgYmVzc2VyIHVudGVyYnJpbmdlbiBrb2VubnRlLCBhYmVyIG51ciBhbHMga2xlaW5lcgpIaW53ZWlzOgpBbSAzMC4xMS4gaXN0IGRlciBTdGljaHRhZyBmdWVyIGdld2lzc2UgS3VlbmRpZ3VuZ2VuIC0gdS5hLiBLRlotVmVyc2ljaGVydW5nLApmYWxscyBtYW4genUgZWluZW0gZ3VlbnN0aWdlcmVuIEFuYmlldGVyIHdlY2hzZWxuIG1vZWNodGUgOi0pCgpWaWVsbGVpY2h0IGlzdCBlcyBqYSBmdWVyIGRlbiBlaW4gb2RlciBhbmRlcmVuIGVpbmUgc2lubnZvbGxlIEVyaW5uZXJ1bmcuCgpHcnVzcywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRpcHA6IEt1ZW5kaWd1bmdzZnJpc3QgKEdvciwgMjQuIE5vdiAyMDAxLCAyMTozMTo0Myk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAwNjU0NjExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDY1NDYxMTcKRGVzIHdlaXRlcmVuIGlzdCBhbnp1bWVya2VuLCBkYXMgbWFuIGRpZSBtZWlzdGVuIFZlcnNpY2hlcnVuZ2VuIGt1ZW5kaWdlbgprYW5uLCBzb2JhbGQgbWFuIHNpZSBkYXMgZXJzdGUgbWFsIGluIEFuc3BydWNoIGdlbm9tbWVuIGhhdC4gWi5iLiBIYXVzcmF0LApSZWNodHNjaHV0eiwgQXV0b3ZlcnNpY2hlcnVuZ2VuIHVzdy4gOykKCkdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaXBwOiBLdWVuZGlndW5nc2ZyaXN0IChBbmFjcmlvbiwgMjQuIE5vdiAyMDAxLCAyMTozMzoyMyk6Cn4jISBybj1Hb3IgcnQ9MTAwNjYzMzkwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDY1NDYxMTcKSmEuIFVuZCBkaWUgVmVyc2ljaGVydW5nZW4ga29lbm5lbiBkYW5uIGF1Y2gga3VlbmRpZ2VuIC4uLgoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRpcHA6IEt1ZW5kaWd1bmdzZnJpc3QgKEdvciwgMjQuIE5vdiAyMDAxLCAyMTozMzo1Nyk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDA2NjM0MDAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwNjU0NjExNwpEYXMgc2luZCBkb2NoIFZlcmJyYXVjaGVydGlwcywgbmljaHQgVmVyc2ljaGVydW5nc2dlYmVydGlwcy4gUFNTU1NUISA7OQpHb3Igc2Nod2VpZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaXBwOiBLdWVuZGlndW5nc2ZyaXN0IChBbmFjcmlvbiwgMjQuIE5vdiAyMDAxLCAyMTozNDozNSk6Cn4jISBybj1Hb3IgcnQ9MTAwNjYzNDAzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDY1NDYxMTcKV2FyIGF1Y2ggZWluIFZlcmJyYXVjaGVydGlwIC4uLiBlaW5lIFdBUk5VTkcgLi4uCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluZSBrbGVpbmUgSW5mb3JtYXRpb24gYW0gUmFuZGUuLi4gKFpvb2ssIDI3LiBOb3YgMjAwMSwgMTA6MjU6NDIpOgpGdWVyIGFsbGUsIGRpZSBkaWUgd3VuZGVyYmFyZSBSdWJyaWsgbmljaHQgbGVzZW4sIHNlaSBoaWVyIGt1bmRnZXRhbiwKZGFzcyBkZXIgTWVnYXNjaG1hcnJuLVRocmVhZCBnZXJhZGUgZWJlbiBkYXMgMTUwMjR0ZSBCYW1iaSBlcnJlaWNodApoYXQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFpbC1BbGlhc2UgKFpvb2ssIDMwLiBOb3YgMjAwMSwgMTE6MDU6MTIpOgpIb2ksCgppY2ggaGFiZSBtYWwgZWluIHBhYXIgenVzYWV0emxpY2hlIE1haWwtQWxpYXNlIGVpbmdlcmljaHRldC4gRXMgc2luZCBkaWVzCmltIHdlc2VudGxpY2hlbiBBbGlhc2UgZnVlciBFcnptYWdpZXIsIFJlZ2lvbnNtYWdpZXIgdW5kIEdpbGRlbm1hZ2llcmUuCgpJbSBmb2xnZW5kZW4gbWFsIGRlbiBha3R1ZWxsZW4gU3RhbmQ6CgpVZWJyaWdlbnMsIHdlciBzaWNoIGVpbmVuIFVlYmVyYmxpY2sgdWViZXIgZGllIGFrdHVlbGxlbiBBbGlhc2UgdmVyc2NoYWZmZW4KbW9lY2h0ZSwga2FubiBkaWVzIGluIGVpbmVtIFBvc3RhbXQgKFNlaGVyIHVuZCBNYWdpZXIgbmF0dWVybGljaCBtaXQgZWluZXIKTVBBIHVlYmVyYWxsKSBmb2xnZW5kZXJtYXNzZW4gbWFjaGVuOiAibWFpbCIgZWluZ2ViZW4gdW5kIG5hY2hkZW0gZGllIAprdXJ6ZSA7KSBMaXN0ZSBkZXIgTWFpbHMgdm9yYmVpZ2VyYXVzY2h0IGlzdCwgZWluZmFjaCAiYSIgZWluZ2ViZW4uIAoKLS0gc2NobmlwcCAtLQplbV9mcCAgICAgICAgPSByaWt1cwplbV9nZXNlbGxlbiAgPSB6b29rLHNpbHZhbmEKZW1fZ2lsZGVuICAgID0gbmFjaHR3aW5kCmVtX21pbmlxdWVzdHMgPSB6b29rCmVtX211ZGxpYiAgICA9IHRpYW1hawplbV9ucGMgICAgICAgPSByaWt1cwplbV9xdWVzdHMgICAgPSB6b29rCmVtX3Jhc3NlbiAgICA9IHNpbHZhbmEKZW1fenQgICAgICAgID0gcmlrdXMKZ21fYWJlbnRldXJlciA9IGJvaW5nCmdtX2JpZXJzY2h1ZXR0bGVyID0gc2hha2VkYmVlcixiaWVsZWZlbGQKZ21fY2hhb3MgICAgID0gbXVwZmVsLHN3aWZ0LGplbmFuZHJhLGZldWVyd2VocgpnbV9rYWVtcGZlciAgPSBib2luZyxiZW5kZWlnaWQsdHN1bmFtaQpnbV9rYXJhdGUgICAgPSByb2NodXMKZ21fa2F0emVua3JpZWdlciA9IHBhcmFjZWxzdXMKZ21fa2xlcnVzICAgID0gbW9yZ290aCxub25uZQpnbV90YW5qaWFuICAgPSBwYXRyeW4scGFyYWNlbHN1cwpnbV96YXViZXJlciAgPSBwYXRyeW4sc2lsdmFuYQpybV9kc2NodW5nZWwgPSByaWt1cwpybV9lYmVuZSAgICAgPSBhcmssY2Ftb25rLHJvY2h1cwpybV9mZXJud2VzdCAgPSB1bG8Kcm1fZ2ViaXJnZSAgID0gYmFtYmksYm9pbmcsa2V0b3MKcm1faW5zZWxuICAgID0gd2FyZ29uLHNoYWtlZGJlZXIsaGF0ZQpybV9wb2xhciAgICAgPSB0c3VuYW1pCnJtX3F1ZXN0ZSAgICA9IGFtYXJ5bGxpcwpybV9zY2hhdHRlbndlbHQgPSBkYW5jZXIKcm1fc2VoZXIgICAgID0gaGF0ZSxraXJrCnJtX3VudGVyd2VsdCA9IHd1cnplbApybV92bGFuZCAgICAgPSBub25uZSxtb3Jnb3RoCnJtX3dhbGQgICAgICA9IHBhdHJ5bixzaWx2YW5hCi0tIHNjaG5hcHAgLS0KClZpZWwgU3Bhc3MgZGFtaXQuLiA6LSkpCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsLUFsaWFzZSAoQW1hcnlsbGlzLCAzMC4gTm92IDIwMDEsIDE1OjU1OjU4KToKfiMhIHJuPVpvb2sgcnQ9MTAwNzExNDcxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDcxMTQ3MTIKcm1fcXVlc3RlID0gYW1hcnlsbGlzPz8KCkljaCBkYWNodGUsIFF1ZXN0cyBiZXRyZXVzdCBEdSBzZWxiZXIgOi0pCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWwtQWxpYXNlIChab29rLCAzMC4gTm92IDIwMDEsIDE2OjE5OjUxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDA3MTMyMTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwNzExNDcxMgpLYW5uc3QgbWEgc2VoZW4sIHdpZSBtYW4gaGllciBhbiBBcmJlaXQga29tbXQuIE5laW4sIGhhYiBlcyBuYXR1ZXJsaWNoCmluICJybV93dWVzdGUiIGdlYWVuZGVydC4gOi0pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFpbC1BbGlhc2UgKE1vbnRhbnVzLCAzMC4gTm92IDIwMDEsIDE2OjU3OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTAwNzEzMzU5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDcxMTQ3MTIKZXMgZmVobHQgZ21fc2NoYXR0ZW5rcmllZ2VyID0gZGFuY2VyLgoKPSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFpbC1BbGlhc2UgKEVsYmVyZXQsICAzLiBEZXogMjAwMSwgMTQ6MjM6NDApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDcxMzIxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA3MTE0NzEyCm5hamEgYWJlciBHZWlnZW4ga2xpbmdlbiBhdWYgYWxsZSBGYWVsbGUgaHlzdGVyaXNjaGVyIGFscyBCcmF0c2NoZW4uIEF1Y2gKd2VubnMgZWluIE9pc3RyYWNoIHNwaWVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1haWwtQWxpYXNlIChHcmltbWJvcm4sICAzLiBEZXogMjAwMSwgMTQ6MjU6MjkpOgp+IyEgcm49RWxiZXJldCBydD0xMDA3Mzg1ODIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwNzExNDcxMgpEYXMgbWFnIHNlaW4gKE1vemFydCBiZXplaWNobmV0ZSBkaWUgQnJhdHNjaGUgYWxzICJCdXR0ZXJnZWlnZSIpLCBhYmVyIHdhcyBoYXQKZGFzIG1pdCBNYWlsYWxpYXNlbiB6dSB0dW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1haWwtQWxpYXNlIChab29rLCAgMy4gRGV6IDIwMDEsIDE0OjI4OjI2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA3Mzg1OTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwNzExNDcxMgpFbGJlcmV0LCBsb3Mgc2NocmVpYiBkZW4gQXJ0aWtlbCBub2NobWEgaW0gcmljaHRpZ2VuIFRocmVhZCEKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFpbC1BbGlhc2UgKFBhcmRhdXosICA1LiBEZXogMjAwMSwgMjM6Mjk6NDgpOgp+IyEgcm49Wm9vayBydD0xMDA3MTE0NzEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwNzExNDcxMgpab29rLCBEdSBoYXN0IGRhIG5vY2ggbmVuIFR5cG8gYmVpIHJtX2ViZW5lIC4uLiBjYW1vbmsgZ2lidHMgbmVkCgpQYXJkYXV6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWwtQWxpYXNlIChab29rLCAgNS4gRGV6IDIwMDEsIDIzOjMwOjM0KToKfiMhIHJuPVBhcmRhdXogcnQ9MTAwNzU5MTM4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDcxMTQ3MTIKU3RpbW10LiBJcyBhYmVyIGF1Y2ggc2Nob24gbGFlbmdzdCBnZWZpeHQuIDotKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cnprcml0aWs6IEhlcnIgZGVyIFJpbmdlIChSb2NodXMsIDE5LiBEZXogMjAwMSwgMjE6MTQ6MDkpOgpBbHNvIGljaCBmYW5kIGVzLCBzbyBndXQgZGFzIEJ1Y2ggdWViZXJoYXVwdCB2ZXJmaWxtYmFyIGlzdCwgZ2VsdW5nZW4uCkphLCBlcyBnaWJ0IEFid2VpY2h1bmdlbiB2b24gZGVyIFZvcmxhZ2UsIGFiZXIgaWNoIGRlbmtlLCBlcyBoYWVsdCBzaWNoCndlaXQgZ2VudWcgaW4gR3JlbnplbiwgZGFzcyBzaWNoIFRvbGtpZW4gTklDSFQgaW0gR3JhYmUgdW1kcmVoZW4gd2lyZCA6KQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoR2xvaW5zb24sIDE5LiBEZXogMjAwMSwgMjE6MTg6MDMpOgp+IyEgcm49Um9jaHVzIHJ0PTEwMDg3OTI4NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4NzkyODQ5CkRlciBoYXQgZGVuIEh5cGUgdW0gZGFzIEJ1Y2ggZWggbmllIHZlcnN0YW5kZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKERlZXBibHVlLCAyMC4gRGV6IDIwMDEsIDA5OjIzOjEzKToKfiMhIHJuPVJvY2h1cyBydD0xMDA4NzkyODQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQpXZXIgc2FndCBkZW5uIHVlYmVyaGF1cHQsIGRhc3MgZWluIEZpbG0gdW5iZWRpbmd0IGVpbmUgMToxLVVtc2V0enVuZyBkZXMKQnVjaGVzIHNlaW4gbXVzcz8gVm9uIE1hbGVybiB2ZXJsYW5ndCBkb2NoIGF1Y2gga2VpbmVyLCBkYXNzIHNpZSBlaW5lIGV4YWt0ZQpLb3BpZSBJaHJlciBWb3JsYWdlIGFuZmVydGlnZW4uCgpJY2ggZmFuZCBkZW4gRmlsbSBhdWNoIGFic29sdXRlIEtsYXNzZSAtIGRhcyBCdWNoIGtlbm4gaWNoIChub2NoKSBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKFNoYXJpYSwgMjAuIERleiAyMDAxLCAwOToyNzoyMik6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDA4ODM2NTkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQoKSGVyciBkZXIgUmluZ2UuLi4uIGVpbmZhY2ggZW1wZmVobGVuc3dlcnQgLi4uLi4gcmljaHRpZyBnZW5pYWxlIFVtc2V0enVuZyAKCmVpbmZhY2gga2xhc3NlIC4uLi4gU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoR3JpbW1ib3JuLCAyMC4gRGV6IDIwMDEsIDA5OjM0OjI2KToKfiMhIHJuPVNoYXJpYSBydD0xMDA4ODM2ODQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQpOYWphLCB6d2VpIHJpY2h0aWdlIHZvbiBkcmVpZW4gaXN0IGRvY2ggZ2FyIG5pY2h0IHNvIHNjaGxlY2h0Li4uIDstKQoKSWNoIGZyZXVlIG1pY2ggamV0enQgYXVmIGRpZSBPbVUgVmVyc2lvbiBhbSBTb25udGFnLCBuaWNodCBkYXNzIGljaCBtaWNoIHZvcmFiCmluZm9ybWllcnQgaGFldHRlLCBhYmVyIGljaCBmdWVyY2h0ZSBkYXMgZWhyd3VlcmRpZ2UgYnJpdGlzY2ggZGVyIFZvcmxhZ2Ugd2lyZAphbi4uLiBhbWVyaWthbmlzY2hlIFZlcmhhZWx0bmlzc2UgZXR3YXMgYW5nZXBhc3N0IHdvcmRlbiBzZWluLiBPYndvaGwsCkJyYXZlaGVhcnQgaGF0dGUgamEgYXVjaCBzb3dhcyB3aWUgc2Nob3R0aXNjaGVuIEFremVudC4gTWFsIHNjaGF1bi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKFRyb3ksIDIwLiBEZXogMjAwMSwgMTE6MTA6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDg4MzcyNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4NzkyODQ5CkRhIGxvYiBpY2ggbWlyIGRpZSBPViBtb3JnZW4gYWJlbmQgOi0pIE9tVSBtYWNodCBkaWUgQXVnZW4gd3VuZC4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEt1cnprcml0aWs6IEhlcnIgZGVyIFJpbmdlIChSb2NodXMsIDIwLiBEZXogMjAwMSwgMjI6MTY6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDg4MzcyNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4NzkyODQ5CkFlaG0sIFBldGVyIEphY2tzb24gaXN0IHVlYnJpZ2VucyBOSUNIVCBBbWVyaWthbmVyIHNvbmRlciBOZXVzZWVsYWVuZGVyLi4uClVuZCBlciBzb2xsIHNpY2ggbWl0IGRlbiBXb3J0ZW4gIldhcnVtIHNvbGwgaWNoIGRhcyBBdWVubGFuZCB2ZXJsYXNzZW4sCnVtIG5hY2ggTW9yZG9yIHp1IGdlaGVuIiBnZXdlaWdlcnQgaGFiZW4sIGluIGRlbiBVU0EgenUgZHJlaGVuIDopCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3Vlc3NlciBkZXIgRHJhY2hlIG5pZSBrbnVkZGVsdC4uLi4gKEFuY2FsYWdvbiwgMjEuIERleiAyMDAxLCAyMzowNjoyOSk6Ci4uLiBhbHMgenUgZGVyIHdlaWhlaW5hY2h0c3plaXQuLi4uLiAqdHJhZWxsZXIqCkV1Y2ggYWxsZW4gZWluZW4gY2hyaXN0YmF1bWFydGlnZW4sIHdlaWhuYWNodHNkdWZ0aWdlbiwgR2x1ZWh3ZWluc2Nod2VyZW4sCnNjaGxlbW1lcmhhZnRpZ2VuLCBiZXNpbm5saWNoZW4gdW5kIHdlbHRmcmllZGVubWFlc3NpZ2VuCkhlaWxpZ2FiZW5kZ3V0ZW5ydXRzY2hpbnNuZXVlamFoci1LbnVkZGxlciEKQWxsZXMgaXJnZW5kd2llIGVyZGVua2xpY2ggZ3V0ZSB3dWVuc2NoIGljaCBldWNoIGZ1ZXIgZGVuIHJlc3QgZGVzIGphaHJlcyB1bmQKZnVlciBkYXMgZ2FuemVuYWVjaHN0ZSBKYWhyIQpBbmNhbGFnb24KRHJhY28gd2VpaG5hY2h0aWVuc2lzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3Vlc3NlciBkZXIgRHJhY2hlIG5pZSBrbnVkZGVsdC4uLi4gKEdvciwgMjEuIERleiAyMDAxLCAyMzowOTowMik6Cn4jISBybj1BbmNhbGFnb24gcnQ9MTAwODk3MjM4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg5NzIzODkKRGFzIHdhcmVuIG5vY2ggWmVpdGVuLCBhbHMgbWFuIG1pdCBlaW5lbSBlaW5mYWNoZW4gbWFpbCBmcmV1bmRlLCBzZWxiaWdlbgplaW5lbiBsYW5nc2FtZW4gUnV0c2NoIGlucyBuZXVlIEphaHIgbWl0IGV0d2FzIExhZyBiZXNjaGVydCBoYXQuIERpZQpKdWdlbmQuLi4uIHRzdHN0c3RzCgpHb3IgLT5zY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdWVzc2VyIGRlciBEcmFjaGUgbmllIGtudWRkZWx0Li4uLiAoQm9pbmcsIDIyLiBEZXogMjAwMSwgMTM6MDg6MDApOgp+IyEgcm49R29yIHJ0PTEwMDg5NzI1NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4OTcyMzg5CkFlaCAuLi4gaGFzdCBEdSBtYWwgQW5jYWxhZ29uIGdlZmluZ2VydD8gSWNoIGdsYXViZSBkZXIgaXN0IHVtIGVpbmlnZXMKbGFlbmdlciBkYWJlaSBhbHMgRHUgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKFJhcmRpYW4sIDIyLiBEZXogMjAwMSwgMTU6MTI6MTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODc5MzA4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKPkRlciBoYXQgZGVuIEh5cGUgdW0gZGFzIEJ1Y2ggZWggbmllIHZlcnN0YW5kZW4uClNvIGdlaHRzIG1pciB6dXIgWmVpdCBtaXQgSGFycnkgUG90dGVyLi4uCgpSYXI6IEhkUiBpc3QgZWluIE11c3MgZnVlciBhbGwgamVuZSwgZGVuZW4gZGFzIEJ1Y2ggZ2VmYWxsZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKEdsb2luc29uLCAyMi4gRGV6IDIwMDEsIDE5OjExOjQ2KToKfiMhIHJuPVJhcmRpYW4gcnQ9MTAwOTAzMDMzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKQmVoYXVwdHVuZzogRHUgaGFzdCBIYXJyeSBQb3R0ZXIgbmljaHQgZ2VsZXNlbgpCZWhhdXB0dW5nIGFsdGVybmF0aXY6IER1IGhhc3QgSGFycnkgUG90dGVyIGdlbGVzZW4sIG1vY2h0ZXN0IGRpZXNlCiAgICAgICAgICAgICAgICAgICAgICAgQXJ0IHp1IHNjaHJlaWJlbiBqZWRvY2ggbm9jaCBuaWUuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoU2lsdmFuYSwgMjIuIERleiAyMDAxLCAyMToyNDo1NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA5MDQ0NzA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQpBbHRlcm5hdGl2ZTogRXIgaGF0IGRpZSBCdWVjaGVyIGdlbGVzZW4gdW5kIGZhbmQgc2llIGd1dC4gV2FzIGphIG5vY2ggbGFuZwpuaWNodCBoZWlzc3QsIGRhc3MgZXIgZGVuIEh5cGUgdmVyc3RlaGVuIG11c3MuLi4gU28gZ2VodCdzIG1pciBqZWRlbmZhbGxzLiBJY2gKaGFiIGRpZSBCdWVjaGVyIGdlcm4gZ2VsZXNlbiB1bmQgZmFuZCBzaWUgd2lya2xpY2ggZ3V0LiBBYmVyIGRlc3dlZ2VuIGJyYXVjaAppY2ggd2lya2xpY2ggbmljaHQgc28gbmVuIEF1ZnN0YW5kIHp1IG1hY2hlbi4KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKEdsb2luc29uLCAyMy4gRGV6IDIwMDEsIDA4OjUwOjM3KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwOTA1MjY5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKSG0uIEFsbGVzIHdhcyBhbm5hZWhlcm5kIGd1dCBpc3Qgd2lyZCB2ZXJtYXJrdGV0IGJpcyB6dW0gS290emVuLiBEaWUgRGluZ2UgZGllCnJpY2h0aWcgZ3V0IHNpbmQgbm9jaCBlaW4ga2xlaW5lcyBiaXNzY2hlbiBtZWhyLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKFd1cnplbCwgMjMuIERleiAyMDAxLCAyMjozNjowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA5MDkzODM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQp3YXMgaXN0IHNjaGxlY2h0IGFuIGRlciB2ZXJtYXJrdHVuZz8gaWNoIGZpbmRlIGVzIGFic29sdXQgbGVnaXRpbSwgd2VubiBtYW4KZGFtaXQgZ2VsZCB2ZXJkaWVuZW4ga2Fubi4gbWFuIG11c3Mgc2ljaCBqYSBuaWNodCB1bmJlZGluZ3QgZHJhbiBiZXRlaWxpZ2VuLAphYmVyIGljaCBoYWJlIGJlc3RpbW10IGtlaW4gcHJvYmxlbSBkYW1pdCB3ZW5uIGplbWFuZCBkZW4gZGVwcGVuIGRpZSBldXJvcwphdXMgZGVyIHRhc2NoZSB6aWVodC4gb2RlciBzcHJpY2h0IGRhIGVoZXIgZGVyIG5laWQgYXVzIGRpcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEt1cnprcml0aWs6IEhlcnIgZGVyIFJpbmdlIChMaWFyYSwgMjMuIERleiAyMDAxLCAyMjo0NjowMik6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAwOTE0MzM2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKREVSIFBMVVJBTCBWT04gRVVSTyBJU1QgRVVSTyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEt1cnprcml0aWs6IEhlcnIgZGVyIFJpbmdlIChXdXJ6ZWwsIDIzLiBEZXogMjAwMSwgMjI6NDY6MzkpOgp+IyEgcm49TGlhcmEgcnQ9MTAwOTE0Mzk2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKdW5kIGRlaW5lIHNoaWZ0dGFzdGUgaXN0IGthcHV0dC4gYXVzc2VyZGVtOiBtaXIgZG9jaCBlZ2FsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoQ3VjaHVsbGluLCAyNC4gRGV6IDIwMDEsIDAxOjQ2OjIxKToKfiMhIHJuPUxpYXJhIHJ0PTEwMDkxNDM5NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4NzkyODQ5CgpEZXIgUGx1cmFsIHZvbiAiRXVybyIgaXN0IGluIFd1cnplbHMgVmVyd2VuZHVuZ3N3ZWlzZSAiRXVyb3MiLgoKIkRhcyBrb3N0ZXQgendhbnppZyBFdXJvLiIKIk1pciBzaW5kIGRpZSBFdXJvcyBhdXMgZGVyIEJvZXJzZSBnZWZhbGxlbi4iCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoR2xvaW5zb24sIDI0LiBEZXogMjAwMSwgMTM6MDI6NTQpOgp+IyEgcm49V3VyemVsIHJ0PTEwMDkxNDMzNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDA4NzkyODQ5Ck5vZS4gSWNoIG5laWRlIGRhcyBuaWNodC4gSWNoIHZlcnN0ZWhlIG51ciBkYXNzIG1hbiBlaW5lbiBIeXBlIHVtIEhhcnJ5IFBvdHRlcgplbnRmYWNodCwgZGEgZGllIEJ1ZWNoZXIgZ3V0IHNpbmQuIFVuZCBpY2ggdmVyc3RlaGUgYXVjaCB3YXJ1bSB2aWVsZSBkaWVzZW0KZm9sZ2VuLCBpc3QgamEgbmljaHQgbGFuZyBoZXIgZGEgd2FyIGljaCBhdWNoIG5vY2gganVuZyBnZW51ZyB1bSBhbGxlcyB1bmQKendhciBzb2ZvcnQgaGFiZW4genUgd29sbGVuLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3VyemtyaXRpazogSGVyciBkZXIgUmluZ2UgKEhpZ2h0LCAyNS4gRGV6IDIwMDEsIDAyOjM3OjE2KToKfiMhIHJuPVNoYXJpYSBydD0xMDA4ODM2ODQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAwODc5Mjg0OQpuZXJqYSBkZXIgZmlsbSBpcyBuZXQgc2NobGVjaHQgYWJlciAxMDAlIHVlYmVyemV1Z2VuIHR1dCBlciBtaWNoIG5ldCAuLi4KdmllbGNpdGggenUgOTAlICxvKSBhdWYgamVkZW4gZmFsbCBzZWhlbnN3ZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLdXJ6a3JpdGlrOiBIZXJyIGRlciBSaW5nZSAoR2xvaW5zb24sIDI1LiBEZXogMjAwMSwgMDk6NTk6NDQpOgp+IyEgcm49SGlnaHQgcnQ9MTAwOTI0NDIzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMDg3OTI4NDkKRGllIG1laXN0ZW4gRmlsbWUgc29sbGVuIG51ciB1bnRlcmhhbHRlbiBuaWNodCB1ZWJlcnpldWdlbiA7KQoKR2xvaW4oc29uKSwgbGVndCBlaW5lIEtvcGllIHZvbiAiRGllIEdsb2NrZW4gdm9uIEthdHluIiBlaW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlcyBHdXRlIGltIG5ldWVuIEphaHIhIChab29rLCAzMS4gRGV6IDIwMDEsIDE1OjA1OjEwKToKKmh1ZXN0ZWwqICprbG9wZiBnZWdlbiBkYXMgTWlrcm8qIFNpbmQgd2lyIHNjaG9uIGF1ZiBTZW5kdW5nPyAqaHVlc3RlbCogCkFoYSwgamEuIFdhcnVtIHNhZ3QgbWlyIGRhcyBkZW5uIGtlaW5lci4uPyAqcmFldXNwZXIqCgpOdW4sIGFsc28uLiBoYWxsbyB6dXNhbW1lbiEKCkljaCBlcmdyZWlmZSBlaW5mYWNoIG1hbCBpbiBtZWluZXIgbnVuIHp3YXIgbmljaHQgbWVociBnYW56IHNvIG5ldWVuLCBhYmVyCnp1bSBUZWlsIG5vY2ggaW1tZXIgZXR3YXMgdW5nZXdvaG50ZW4gUG9zaXRpb24gZGFzIFdvcnQuIEhpbnRlciB1bnMgCmxpZWd0IGluIFJMIHVuZCBWTCBlaW4gZXJlaWduaXNyZWljaGVzIEphaHIuIEplZGVyIHdpcmQgc2VpbmUgZWlnZW5lbgpwZXJzb2VubGljaGVuIEhvY2ggdW5kIFRpZWZzIGVybGVidCBoYWJlbi4gSWNoIGhvZmZlLCBkYXMgTW9yZ2VuR3JhdWVuCndhciBmdWVyIEV1Y2ggZWluIGFuZ2VuZWhtZXIgQW5sYXNzIHp1bSBaZWl0dmVydHJlaWIgdW5kIGhhdCBFdWNoIGluIAoyMDAxIGVpbiBwYWFyIG5ldHRlIFN0dW5kZW4gZ2VicmFjaHQuIFNlaSBlcyBhbHMgRm9yc2NoZXIsIE1ldHpsZXIsIApBYmVudGV1cmVyLCBhYmVyIGF1Y2ggZWluZmFjaCB6dW0gU2Nod2F0emVuLCBEaXNrdXRpZXJlbiwgU2NobWFycm5lbi4gTmljaHQKdmVyZ2Vzc2VuIG1vZWNodGUgaWNoIG5hdHVlcmxpY2ggZGllIE1hZ2llciB1bmQgaWhyIEVpbnNhdHogZnVlciBkaWUgCkVyd2VpdGVydW5nLCBWZXJiZXNzZXJ1bmcgZGVzIFNwaWVscy4gSWhuZW4gdW5kIGF1Y2ggZGVuIHZpZWxlbiBTcGllbGVybiwKZGllIG1pdCBIaW53ZWlzZW4sIFRpcHMsIFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZW4gbWl0ZWhvbGZlbiBoYWJlbiwgc293aWUKZGVuIFNwaWVsZXJuLCBkaWUgR2ViaWV0ZSB1bmQgR2lsZGVuIGdldGVzdGV0IGhhYmVuIHVuZCBuYXR1ZXJsaWNoIGRlbmVuLCBkaWUKaW0gQmFsYW5jZS1UZWFtIGFscyBTcGllbGVyIG1pdGdld2lya3QgaGFiZW4sIHNlaSBhbiBkaWVzZXIgU3RlbGxlIGVpbgpoZXJ6bGljaGVzIERhbmtlc2Nob2VuIGdlc2FndC4gV2llIGltbWVyIGJlaSBzb2xjaGVuIEF1ZnphZWhsdW5nZW4sIGhhYmUKaWNoIG1pdCBTaWNoZXJoZWl0IGplbWFuZGVuIHZlcmdlc3NlbiB6dSBlcndhZWhlbi4gRXIvU2llIG1vZWdlIGVzIG1pcgpuYWNoc2VoZW4uCgpGdWVyIGRhcyBKYWhyIDIwMDIgd3VlbnNjaGUgaWNoIEV1Y2ggYWxsZXMgR3V0ZSwgaW0gcHJpdmF0ZW4gdW5kIGJlcnVmbGljaGVuClJMIHVuZCBuYXR1ZXJsaWNoIGF1Y2ggaGllciBmdWVyIGRhcyBNb3JnZW5HcmF1ZW4uIAoKU28sIGdlbnVnIGRlciB3YXJtZW4gV29ydGU6IEd1dGVuIFJ1dHNjaCB1bmQgZmVpZXJ0IHNjaG9lbiEKQXVmIGVpbiBmcm9oZXMgdW5kIGVyZm9sZ3JlaWNoZXMgMjAwMiEKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCcgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvICAgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLScgICAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwvIC8+LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDwvL19cCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fLyAgIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSctLiAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4vICA6XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy4nICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4tIi0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCAgICB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLi0nICAnLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICggKC4gICApODoKICAgICAgICAgICAgICAgICAgICAgICAgIC4nICAgIC8gKF8gICkKICAgICAgICAgICAgICAgICAgICAgICAgICBfLiA6KC4gICApOFAgIGAKICAgICAgICAgICAgICAgICAgICAgIC4gICggIGAtJyAoICBgLiAgIC4KICAgICAgICAgICAgICAgICAgICAgICAuICA6ICAoICAgLmE4YSkKICAgICAgICAgICAgICAgICAgICAgIC9fYCggImEgYGEuICkiJwogICAgICAgICAgICAgICAgICAoICAoLyAgLiAgJyApPT0nCiAgICAgICAgICAgICAgICAgKCAgICggICAgKSAgLjgiICAgKwogICAgICAgICAgICAgICAgICAgKGAnOGEuKCBfKCAgICgKICAgICAgICAgICAgICAgIC4uLS4gYDhQICAgICkgYCAgKSAgKwogICAgICAgICAgICAgIC0nICAgKCAgICAgIC1hYjogICkKICAgICAgICAgICAgJyAgICBfICBgICAgICg4UCJZYQogICAgICAgICAgXyggICAgKCAgICApYiAgLWAuICApICsKICAgICAgICAgKCA4KSAgKCBfLmFQIiBfYSAgIFwoIFwgICAqCiAgICAgICArICApLyAgICAoOFAgICAoODggICAgKSAgKQogICAgICAgICAgKGE6ZiAgICIgICAgIGAiICAgICAgIGAKCgpHcnVzcywgWm9vay4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGllYmVyIE9zdGVyaGFzZSEgKFZhcmxhcmlvbiwgIDUuIEphbiAyMDAyLCAxOTo0NzozOCk6Cn4jISBybj1CYW1iaSBydD0xMDEwMjU1NjI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDI1NTYyNgpWZXJsZWcgZGFzIGRvY2ggYml0dGUgbWFsIG5hY2ggbWFnaWVyLmlyZ2VuZHdhcy4gSWNoIHd1ZXNzdGUgenVtaW5kZXN0IG5pY2h0LApkYXNzIGljaCBlaW4gUmVwZmlsZSBoYWV0dGUsIHdlbGNoZXMgYWJnZWFyYmVpdGV0IHdlcmRlbiBtdWVzc3RlIDspCgpWYXJsKiBpc3QgbnVyIFNlaGVyIHVuZCBuaWNodCBkZXIgT3N0ZXJoYXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpZWJlciBPc3Rlcmhhc2UhIChDdWNodWxsaW4sICA1LiBKYW4gMjAwMiwgMjA6MDA6MjcpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMTAyNTY0NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwMjU1NjI2Ck9jaCwgaXN0IGFiZXIgbWFsIHdpZWRlciBkaWUgR2VsZWdlbmhlaXQsIHNlbGJzdCBlaW5lbiBXdW5zY2ggYW4gZGVuCldlaWhuYWNoc15IT3N0ZXJoYXNlbiBsb3N6dXdlcmRlbjogCgpMaWViZXIgT3N0ZXJoYXNlLCBpY2ggd3VlbnNjaGUgbWlyLCBkYXNzIGJlaSBkZW4gQmVmZWhsZW4gImZlaGxlciIsICJidWciLAoidHlwbyIgdW5kICJpZGVlIiBkYW5uLCB3ZW5uIGZ1ZXIgZGFzIEdlYmlldCBrZWluIEJldHJldWVyIG1laHIgZGEgaXN0IAooei5CLiBOZWFuZGVydGFsKSBvZGVyIGRlciBWZXJhbnR3b3J0bGljaGUga2VpbmUgTHVzdCBtZWhyIGhhdCAoei5CLiAKYWxsZXMgdm9uIE1vcmdvdGggOykpLCBkaWUgTWVsZHVuZyBlcnNjaGVpbnQ6CgoiU3BhcicgRGlyIGRpZSBNdWVoZSwgaGllciBwYXNzaWVydCBuaWNodHMgbWVoci4iCgpEZWluIEt1dHNjaGlidXRzY2hpdWxsaW4KCmFsaWFzIHR5cG8gZWNobyBTcGFyJyBEaXIgZGllIE11ZWhlLCBoaWVyIHBhc3NpZXJ0IG5pY2h0cyBtZWhyLgpzY2hhdQphcmdsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaWViZXIgT3N0ZXJoYXNlISAoT3JrdG9ldGVyLCAgNS4gSmFuIDIwMDIsIDIwOjAzOjA5KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDEwMjU3MjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDI1NTYyNgpZb3UgbmV2ZXIga25vdy4uLiBzaWVoZSBNaW5lbiB2b24gTW9yaWEgdW5kIGFuZGVyZSAiQWx0bGFzdGVuIiBhdWYgZGllIHNpY2gKbnVuIGhvZmZudW5nc3ZvbGxlIEp1bmdtYWdpZXIgc3R1ZXJ6ZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaWViZXIgT3N0ZXJoYXNlISAoQ3VjaHVsbGluLCAgNS4gSmFuIDIwMDIsIDIwOjA2OjI3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDEwMjU3Mzg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDI1NTYyNgpNdWFoYWhhLCBhbHMgc2ljaCBQYWRyZWljIGF1ZiBkaWUgRHVua2VsZWxmZW4gc3R1ZXJ6dGUsIHdhcmVuIHZpZWxsZWljaHQKYXVjaCBlcnN0bWFsIGFsbGUgZnJvaC4uLiBBYmVyIGFscyBkYXMgS3Vla2VuIGRhbm4gZ2VzY2hsdWVwZnQgd2FyLi4uIAp3ZWhlLCB3ZWhlLCBoYWInIGljaCBEZWluZXIgR2FiZW4gYW5nZW1lc3Nlbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpZWJlciBPc3Rlcmhhc2UhIChBbWFyeWxsaXMsICA1LiBKYW4gMjAwMiwgMjA6MzQ6MDIpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTAyNTcyMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwMjU1NjI2CldpZXNvICJoaWVyIHBhc3NpZXJ0IG5pY2h0cyBtZWhyIj8KCkFtYSwgaGF0IGFscyBSTSBhdWNoIGFscyBlcnN0ZXMgZGFtYWxzIGRpZSBSZXBmaWxlcyBkZXIgaW5ha3RpdmVuIE1pdGFyYmVpdGVyCmFiZ2VhcmJlaXRldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhZWhydW5nc3JlZm9ybSAoS2FkYWJyYSwgIDcuIEphbiAyMDAyLCAwMDoxMjozNSk6Ck51IGhhdHQgZXMgdW5zIGF1Y2ggaGllciBlcndpc2NodC4gQWJlciBzY2hvZW4gaXN0IGRhcyBuZXVlIEdlbGQgZ2V3b3JkZW4hClVuZCBzbyBzaWNoZXIhIE1laW5lbiBEYW5rIGFuIEdsb2luc29uLCBkZW4gYW5zY2hlaW5lbmQgaW5vZmZpemllbGxlbgpDaGVmIGRlciBNWkIgdW5kIGFsbGUgZGllIG1pdCBnZWJhc3RlbHQgaGFiZW4uCmthZGFicmEgKG11ZW56ZW5zY2hlZmZlbG5kIHVuZCBpbiBkaWUgTHVmdCB3ZXJmZW5kLCBkYXNzIHNpZSBhdWYgCmRpZSBHbGF0emUgcHJhc3NlbG4gOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhZWhydW5nc3JlZm9ybSAoQ3VjaHVsbGluLCAgNy4gSmFuIDIwMDIsIDEyOjIyOjA0KToKfiMhIHJuPUthZGFicmEgcnQ9MTAxMDM1ODc1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTAzNTg3NTUKRHJlaSBaZWlsZW4gbWVociwgZGllIG1hbiByYXVzZ2FnZ2VuIG11c3MsIHdlbm4gbWFuIGt1cnogdW5kIHNjaG1lcnpsb3MKc2VpbmVuIEJhcmJlc3RhbmQgc2VoZW4gd2lsbC4uLgoKQ3VjaCBkZW5rdCBwcmFrdGlzY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmluIGFsbGdlbWVpbmVzIChTbXVyZiwgIDcuIEphbiAyMDAyLCAxMzozNjoxMSk6CkFuc2NoZWluZW5kIGdpYnQgZXMgUm91dGluZ3Byb2JsZW1lIGlucyBERk4uCgpNb2VnZW4gc2llIHNjaG5lbGwgd2llZGVyIGJlaG9iZW4gc2Vpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGluIGFsbGdlbWVpbmVzIChDYXR3ZWF6bGUsICA3LiBKYW4gMjAwMiwgMTQ6MDQ6MDQpOgp+IyEgcm49U211cmYgcnQ9MTAxMDQwNjk3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA0MDY5NzEKU2llIHNpbmQgZXMgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FlaHJ1bmdzcmVmb3JtIChWYW5pb24sICA3LiBKYW4gMjAwMiwgMTc6MzE6MzApOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTA0MDI1MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwMzU4NzU1CkZ1ZXIgbWFuY2hlIGlzIG11ZGRlbiBtZWhyIGFscyBTdGF0aXN0aWtlbiBzY2h1cHNlbi4KClYqIGZpbmRldCBGbGFpciBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eC1XdXJtIGltIFVtbGF1ZiAoVmFyZGlvbiwgMTEuIEphbiAyMDAyLCAwMTo0ODozNyk6ClNhZyBtYWwgR3JpbW1ib3JuLCB3YXMgZnVlciBuZW4gU2NoYWRlbiBoYXN0IER1IGVpZ2VudGxpY2g/IER1IGRhcmZzdCBnZXJuCkRlaW5lbiBLb21tZW50YXIgYWJnZWJlbiwgYWJlciBtZWluIFBvc3RpbmcgZWluZmFjaCB6dSB2ZXJsZWdlbiBpc3QKX2luYWt6ZXB0YWJlbF8gLSB1bmFiaGFlbmdpZyBkYXZvbiBvYiBtZWluIFBvc3Rpbmcgd2FociBpc3Qgb2RlciBuaWNodC4KSWNoIGhhYiBlaWdlbnRsaWNoIGtlaW5lIEx1c3QsIG5lbiBSZVBvc3QtQm90IHp1IHNjaHJlaWJlbi4KCkFscyAiUmVmZXJlbnoiIGhhZXR0ZSBpY2ggaGllciBkYXMgVFUtQ2hlbW5pdHotbG9rYWxlIFBvc3RpbmcgZWluZXMKYmV0cm9mZmVuZW4gQWRtaW5pc3RyYXRvcnMuIEVzIGlzdCBuYXR1ZXJsaWNoIGd1dCBtb2VnbGljaCwgZGFzcyBkaWVzIGtlaW4KQm90IHNvbmRlcm4gd2FzIGFuZGVyZXMgaXN0LCBhYmVyIGRhIG1pbmRlc3RlbnMgZWluIE11ZGRlciBhdXNzZXJoYWxiIGRlcgpUVS1DaGVtbml0eiAicGFzc2VuZGUiIE1lbGR1bmdlbiBpbiBzZWluZW0gU3lzbG9nIGhhdCwgaGFiIGljaCBtaWNoIHp1bQpQb3N0ZW4gZW50c2NoaWVkZW4uCgotLS0tIHVyc3BydWVuZ2xpY2hlcyBQb3N0aW5nIC0tLS0tCkhpLgoKTW9tZW50YW4gIGlzdCAgZWluICBib2VzYXJ0aWdlciAgTGludXgtV3VybSAgaW0gIFVtbGF1Zi4gIEVyICB2ZXJicmVpdGV0ICBzaWNoClNpY2hlcmhlaXRzbHVlY2tlbiBpbiAgU1NILCAgRE5TIChiaW5kKSwgIExQUiAgdW5kIEZUUCAgKHZlcm11dGxpY2ggIHd1LWZ0cGQpLgpFaW5tYWwgZWluZ2VkcnVuZ2VuIGVudHNvcmd0IGVyICBkaWUgTG9nZmlsZXMgdW5kIHRhdXNjaHQgYXVmICBkZW0gU3lzdGVtIGV0d2EKMTAwICAgQmluYXJpZXMgIGF1cy4gIEVpbiAgSW5kaXogIGZ1ZXIgIGVpbmUgIEluZmVrdGlvbiAgaXN0ICBkYXMgIGZlaGxlbiAgZGVyClN5c3RlbWxvZ2ZpbGVzIHVuZCAgZGFzICBWb3JoYW5kZW5zZWluICBlaW5lcyAgQmluYXJpZXMgIC91c3IvYmluL2FoYS4gIERpZXNlcwpCaW5hcnkgaXN0IGF1ZiBkZW0gaW5maXppZXJ0ZW4gU3lzdGVtIG5pY2h0IHNpY2h0YmFyICAtIG1hbiBzaWVodCBlcywgd2VubiBtYW4KZGllIFBsYXR0ZSAgdm9uICBlaW5lbSAgc2F1YmVyZW4gIHN5c3RlbSAgKHouQi4gIERpc2tldHRlbmxpbnV4ICB3aWUgIHRvbXNydGIpCm1vbnRpZXJ0LiAgIEZ1ZXIgICBkYXMgICBCZXRyb2ZmZW5lICAgU3lzdGVtICBibGVpYnQgICBlaWdlbnRsaWNoICAgbnVyICAgZWluZQpOZXVpbnN0YWxsYXRpb24uCkFuZ3JpZmZzdmVyc3VjaGUgYXVmICBldXJlbiBSZWNobmVyICBlcmtlbm50ICBpaHIgYmVpICBzaWNoZXJlbSBzc2hkICB6LkIuICBhbgpMb2dmaWxlemVpbGVuIHdpZToKSmFuICA5IDAxOjAwOjQxIHB5cm9zIHNzaGRbMjYzNThdOiBEaWQgbm90IHJlY2VpdmUgaWRlbnRpZmljYXRpb24gc3RyaW5nIGZyb20KeC54LngueAoKV2llIGltbWVyICBpc3QgZGVyICBiZXN0ZSBTY2h1dHosIGFsbGUgIG1pdCBSb290cmVjaHRlbiAgbGF1ZmVuZGVuIFNlcnZlciAgYXVmCmFrdHVlbGxlbSBTdGFuZCB6dSBoYWx0ZW4gdW5kIG5hY2ggYXVzc2VuIG51ciBkYXMgYWxsZXJub2V0aWdzdGUgZnJlaXp1Z2ViZW4uCgpWYXJkaW9uLCBob2ZmdCBkYXNzIGRpZXNlIFdhcm51bmcgZnVlciBuaWVtYW5kZW4genUgc3BhZXQga29tbXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eC1XdXJtIGltIFVtbGF1ZiAoR3JpbW1ib3JuLCAxMS4gSmFuIDIwMDIsIDA4OjE4OjEzKToKfiMhIHJuPVZhcmRpb24gcnQ9MTAxMDcxMDExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA3MTAxMTcKSWNoIGdsYXViZSBkZXIgRmFjaGF1c2RydWNrIGlzdCAia2luZGlzY2giLi4uCk5hamEsIGZ1ZXIgZGllamVuaWdlbiwgZGllIGpldHp0IGJsYXNzIGdld29yZGVuIHNpbmQ6IGVpbmUgZXR3YXMKYXVzZnVlaHJsaWNoZXJlIEVyb2VydGVydW5nIGlzdCBpbiAiaGFyZHNvZnR3YXJlIiwgd29zIGhpbmdlaG9lcnQuIE1pdCBncm9zc2VyCldhaHJzY2hlaW5saWNoa2VpdCBoYW5kZWx0IGVzIHNpY2ggZWhlciB1bSBtYW51ZWxsZW4gQW5ncmlmZiB1bmQgdW0ga2VpbmVuCld1cm0uIEF1Y2ggd2VubiBzZWl0IE1pY3Jvc29mdCBzb2xjaGUgVW50ZXJzY2hpZWRlIGdlcm5lIGlnbm9yaWVydCB3ZXJkZW4gKHZvcgphbGxlbSBuYXR1ZXJsaWNoIGRpZSB6d2lzY2hlbiBWaXJ1cyB1bmQgV3VybSkuIEdlbmF1c28gd2llIGRhaGVyIGRlciBJcnJnbGF1YmUKa29tbXQsICJuZXVlc3RlIFZlcnNpb24iIHNlaSBnbGVpY2ggImJlc3RlciBWZXJzaW9uIi4gQWJlciB2ZXJtdXRsaWNoIGJlemllaHQKc2ljaCBkaWUgRW1wZmVobHVuZywgZGFzIFN5c3RlbSBhdWYgZGVtIGFrdHVlbGxlbiBTdGFuZCB6dSBoYWx0ZW4sIGF1ZgpzZWN1cml0eSB1cGRhdGVzLCB1bmQgZGFubiBtYWNodCBzaWUgYXVjaCBTaW5uLgoKTmF0dWVybGljaCBpc3QgZXMgYWxsZ2VtZWluIGFremVwdGllcnQgZGFzcyBpY2ggQXJ0aWtlbCwgZGllIGVpbmRldXRpZyBpbiBkZXIKZmFsc2NoZW4gUnVicmlrIGdlbGFuZGV0IHNpbmQsIGluIGVpbmUgcGFzc2VuZGUgdmVybGVnZSAoZXJzdCBkaWUKIkJsaW5kd2FybnVuZyIgbmFjaCBzY2htYXJybiwgZGFubiBkaWUgZXR3YXMgZGlmZmVyZW56aWVydGVyZSBXYXJudW5nIG5hY2gKaGFyZHNvZnR3YXJlKS4gTmF0dWVybGljaCBnaWJ0IGVzIGltbWVyIHdpZWRlciBMZXV0ZSBkaWUgc2FnZW4gImljaCBiaW4gYWJlcgp0b3RhbCB3aWNodGlnIHVuZCBpbSBWb2xsYmVzaXR6IG1laW5lciBnZWlzdGlnZW4gS3JhZWZ0ZSB1bmQgd2Vpc3Mgd2FzIGljaAptYWNoZSwgd2VyIG1laW5lIFNhY2hlbiB2ZXJsZWd0IGhhdCBlaW5lbiBTY2hhZGVuIi4gQmV2b3IgYWJlciBkaWVzZSBXYXJudW5nCnVlYmVyYWxsIGluIGRlciBtcGEgYXVmdGF1Y2h0IC0gYml0dGUgc2Nob2VuLCBkYSBibGVpYnQgc2llIGhpZXIgc3RlaGVuIHVuZCBEdQprYW5uc3QgRGljaCBzbyByaWNodGlnIGVyd2FjaHNlbiB1bmQgYWxzIFNpZWdlciBmdWVobGVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4LVd1cm0gaW0gVW1sYXVmIChQYXRyeW4sIDExLiBKYW4gMjAwMiwgMDg6MzU6NDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTA3MzM0OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwNzEwMTE3CmlyZ2VuZHdpZSBrb21tdCBtaXIgZGVpbmUgcmVjaHRmZXJ0aWd1bmcvZmxhbWUga2luZGlzY2hlciB2b3IgYWxzIGRlcgphdXNsb2VzZW5kZSBhcnRpa2VsLiB6dW1pbmRlc3QgZWluZSB2ZXJsZWd1bmcgbmFjaCBzY2htYXJybiB3YXIgZWluZQpwZXJzb2VubGljaGUgd2VydHVuZyBnZW1pc2NodCBtaXQgdWViZXJoZWJsaWNoZW0gcnVudGVycHV0emVuIGRlcyBwb3N0ZXJzCnVuZCBrZWluZXNmYWxscyBlaW5lIGtvcnJla3RlcmUgcnVicmlrZW4tZWlub3JkbnVuZywgd2llIGR1IHNpZSBzb25zdAplaWdlbnRsaWNoIHJlY2h0IGd1dCBoaW5iZWtvbW1zdC4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGludXgtV3VybSBpbSBVbWxhdWYgKE11YWRkaWIsIDExLiBKYW4gMjAwMiwgMTA6MzY6NTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTA3MzM0OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwNzEwMTE3CkFsc28sIGljaCBkZW5rZSBlaHJsaWNoIGdlc2FndCBhdWNoLCBkYXNzIGVzIHNpY2ggdW0gZWluZW4gV3VybSBoYW5kZWx0LiBFcwp6ZWlnZW4gc2ljaCBleHRyZW1lIEFlaG5saWNoa2VpdGVuIGRlciBBbmdyaWZmZSBhdWYgdmVyc2NoaWVkZW5lbiBSZWNobmVybiBpbgp2ZXJzY2hpZWRlbmVuIEZpcm1lbiwgZGllIHByb3ZpZGVyYmVkaW5ndCBpbiBlaW5lciBhZWhubGljaGVuIElQLVJhbmdlIGxpZWdlbi4KSW0gdWVicmlnZW4gZ2lidCBlcyBkYSBlaW5lIERpc2tyZXBhbnouIFdlbm4gZXMgZWluIG1hbnVlbGxlciBBbmdyaWZmIHdhciwKZGFubiB3YXIgZGVyIEFuZ3JlaWZlciBzdHJvaGR1bW0sIHdlaWwgZXIgdW5zZXJlbiBXZWJzZXJ2ZXIgbmljaHQgZ2VmdW5kZW4KaGF0LiBBbnN0ZWxsZSBkZXMgd3d3LVNlcnZlcnMgYW50d29ydGV0IGJlaSB1bnMgZWluIExvYWRiYWxhbmNlci4gVW5kIGVzIGlzdAplY2h0IHRyaXZpYWwsIGRpZSB3aXJrbGljaGUgV2Vic2VydmVyYWRyZXNzZSByYXVzenVmaW5kZW4uCgpNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpbnV4LVd1cm0gaW0gVW1sYXVmIChHcmltbWJvcm4sIDExLiBKYW4gMjAwMiwgMTE6MzU6NTEpOgp+IyEgcm49TXVhZGRpYiBydD0xMDEwNzQxODExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDcxMDExNwoia2VpbiBXdXJtIiAhPSAiYXV0b21hdGlzY2giCk1laW5lIFJlZGUsIGVzIG1hbmdlbHQgZWluIGJpc2NoZW4gYW4gZGVyIERpZmZlcmVuemllcnVuZy4gTmF0dWVybGljaCBrYW5uIGljaAp2b24gZWluZW0gKG9kZXIgZWluIHBhYXIpIFJlY2huZXJuIGF1cyBhdXRvbWF0aXNjaCBnYW56ZSBOZXR6YmVyZWljaGUKYWJzdWNoZW4uIEVpbmVuIFd1cm0gamVkb2NoIHd1ZXJkZSBpY2ggZWlubWFsIGVpbnNldHplbiwgdW5kIGRpZSBiZWZhbGxlbmVuClJlY2huZXIgd3VlcmRlbiBpaHJlcnNlaXRzIGF1dG9tYXRpc2NoIHdlaXRlcmUgUmVjaG5lciBhbmdyZWlmZW4sIGRpZSBkYW5uCndpZWRlcnVtLi4uIER1IHNpZWhzdCBkYXMgUHJpbnppcC4gR2VyYWRlIGRhc3MgZGllIHRhcmdldHMgaW4gYWVobmxpY2hlciBJUApyYW5nZSBsaWVnZW4gZGV1dGV0IGRvY2ggZWlnZW50bGljaCBzY2hvbiBkYXJhdWYgaGluIGRhc3MgZGFzIGtlaW4gV3VybSBpc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpbnV4LVd1cm0gaW0gVW1sYXVmIChNdWFkZGliLCAxMS4gSmFuIDIwMDIsIDExOjQwOjQ4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDEwNzQ1MzUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDcxMDExNwpPayAtIERlZmluaXRpb25lbi4gRXMgaXN0IGtlaW4gV3VybSwgd2VubiBlciBSYW5nZXMgYWJncmFzdC4gQWJlciBlciBrb2VubnRlCld1cm0tYWVobmxpY2hlIEVpZ2Vuc2NoYWZ0ZW4gaGFiZW4uIEFiZXIgZWlnZW50bGljaCBpc3QgZGllc2UgSGFhcnNwYWx0ZXJlaQp0b3RhbCBzaW5ubG9zLiBFcyBnaWJ0IGVpbmVuIEF1dG9tYXRpc211cywgZGVyIEV1cmUgU2VydmVyIGJlZmFlbGx0IHVuZAppcmdlbmR3YXMgZGFtaXQgbWFjaHQuIEFsc28gZ2VoZXQgaGluIHVuZCBwYXRjaHQgZW5kbGljaCBFdXJlIFNvZnR3YXJlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXgtV3VybSBpbSBVbWxhdWYgKFZhcmRpb24sIDExLiBKYW4gMjAwMiwgMTY6MTk6MTQpOgp+IyEgcm49VmFyZGlvbiBydD0xMDEwNzEwMTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMDcxMDExNwpIaS4KCldlaXRlcmUgVW50ZXJzdWNodW5nZW4gaGFiZW4gZXJnZWJlbiwgZGFzcyBlcyBzaWNoIG5pY2h0IHVtIGVpbmVuIFd1cm0gc29uZGVybgp1bSBlaW5lbiBkaXJla3RlbiBBbmdyaWZmIGVpbmVzIEhhY2tlcnMvU2NyaXB0LUtpZGRpZXMgaGFuZGVsdGUuIEVpbmdlYnJvY2hlbgp3dXJkZSB1ZWJlciBlaW5lIGFlbHRlcmUgT3BlblNTSCB1bmQgZGFuYWNoIHd1cmRlIGVpbiBSb290a2l0IG1pdCBkZW0KQWRvcmUtS2VybmVsbW9kdWwgaW5zdGFsbGllcnQgKHdlbGNoZXMgdW50ZXIgYW5kZXJlbSBGaWxlcyB1bmQgUHJvemVzc2UKdmVyc3RlY2tlbiBrYW5uKS4gVm9uIGRlciBNYXNjaGluZSBhdXMgd3VyZGVuIGRhbm4gUG9ydC0gdW5kClZ1bG5hcmliaWxpdHlzY2FucyBnZXN0YXJ0ZXQgLSBhdWNoIGF1ZiBSZWNobmVyIGF1c3NlcmhhbGIgZGVyIFVuaS4KSW53aWV3ZWl0IGRhcyBhbHMgRW50d2FybnVuZyB6dSB2ZXJzdGVoZW4gaXN0LCBtb2VnZSBiaXR0ZSBqZWRlciBzZWxic3QKZW50c2NoZWlkZW4uIEljaCBoYWx0ZSBlcyBmdWVyIHVud2FocnNjaGVpbmxpY2gsIGRhc3MgZGllIFRVLUNoZW1uaXR6IGRhcwplaW56aWdlIEFuZ3JpZmZzemllbCB3YXIuLi4gRXMga2FubiBhdWYgamVkZW4gRmFsbCBuaWNodCBzY2hhZGVuLCB3ZW5uIGplZGVyCm1hbCBzY2hhdXQsIG9iIGVyIG5vY2ggaXJnZW5kd28gYWx0ZSBzc2hkIGxhdWZlbiBoYXQuCkFjaGphIC0gZGFzIEtlcm5tb2R1bCB2ZXJoaW5kZXJ0IG51ciBkYXMgTGlzdGVuIGRlciB2ZXJzdGVja3RlbiBEYXRlaWVuIHBlciBscwpldGMsIG5pY2h0IGplZG9jaCBkaWUgRGF0ZWktb2VmZm5lLUZ1bmt0aW9uZW4gLSBtYW4ga2FubiBhdWNoIGF1ZiBiZWZhbGxlbmVtClN5c3RlbSBwZXIgImNhdCAvdXNyL2Jpbi9hdmEiIHRlc3Rlbiwgb2IgZGFzIEJpbmFyeSBleGlzdGllcnQgKHp1bWluZGVzdCB3ZW5uCmNhdCBuaWNodCBlcnNldHp0IHd1cmRlLi4uKS4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eC1XdXJtIGltIFVtbGF1ZiAoRGllZGVyLCAxMS4gSmFuIDIwMDIsIDE4OjIxOjI3KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAxMDcxMDExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA3MTAxMTcKTWFjaCBEaXIgbmljaHRzIGRyYXVzLCBWYXJkaW9uIC0gZGFzIGlzdCBtYW4gdm9uIEdyaW1taSBkb2NoIGdld29obnQuCk5pY2h0cyBOZXVlcywgZGFzcyBlciBzZWxic3RoZXJybGljaCBBcnRpa2VsIHplbnNpZXJ0IChsb2VzY2h0L3ZlcnNjaGllYnQsIHdhcwpiZWlkZXMgYXVmZ3J1bmQgZWlnZW5lciwgcGVyc29lbmxpY2hlciBNZWludW5nIHp1bSBBcnRpa2VsIGdlc2NoaWVodCB1bmQgZGFtaXQKWmVuc3VyIGlzdCkuCkVyaW5uZXJ0IG1pY2ggbGViaGFmdCBhbiBkZW4gRmFsbCwgYWxzIGVyIGVpbmVuIEFydGlrZWwgdm9uIG1pciBpbiAid2l0emUiCmdlbG9lc2NodCBoYXQsIHdlaWwgZGllc2VyIGRhcyBXb3J0ICJOZWdlciIgZW50aGllbHQgdW5kIGRhbWl0IHNvb28gYm9lc2UsCnJhc3Npc3Rpc2NoIHVuZCB2b2xrc3ZlcmhldHplbmQgd2FyIChuYXR1ZXJsaWNoIG5pY2h0LCBvaG5lIGRhcyBMb2VzY2hlbiBub2NoCmVudHNwcmVjaGVuZCB6dSBrb21tZW50aWVyZW4sIHdlaWwgZGFzIGphIHNvbnN0IGtlaW4gU2Nod2VpbiBtaXRrcmllZ3QsIHdpZQp0b2xsIG1hbiB3aWVkZXIgd2FyKS4gRWluaWdlIFplaXQgc3BhZXRlciBkdXJmdGUgaWNoIGRhbm4gamVkb2NoIGVpbmVuIEFydGlrZWwKdm9uIGlobSBpbiAia3VsdHVyIiBsZXNlbiwgaW4gZGVyIGVzIHVtIE11c2lrIGdpbmcgLSBoaWVyIGhhdCBlciBzaWNoIGRhbm4KdS5hLiBtaXQgZGVtIEJlZ3JpZmYgIk5lZ2VyamF6eiIgenUgV29ydCBnZW1lbGRldC4KCkFsc286IG5peCBOZXVlcyAtIGVybnN0IG5laG1lIGljaCBpaG4gc2Nob24gbGFuZ2UgbmljaHQgbWVoci4gQWJlcgp3YWhyc2NoZWlubGljaCB3YXIgZGVyIHZvbiBpaG0gZ2V3YWVobHRlIEJlZ3JpZmYgbmF0dWVybGljaCBldHdhcyBnYW56CmFuZGVyZXMsIGJ6dy4gaXJvbmlzY2ggZ2VtZWludCwgc29kYXNzIGVyIG5hdHVlcmxpY2ggc2VpbmUgQmVyZWNodGlndW5nIGhhdHRlLgoKQmluIG1hbCBnZXNwYW5udCwgd2llIGxhbmdlIGVzIG5vY2ggZGF1ZXJ0LCBiaXMgYXVjaCBkaWUgb2JlcmUgRXRhZ2UgYmVtZXJrdApoYXQsIHdpZSBHcmltbWkgaGllciBzZWluZSBLb21wZXRlbnplbiBsYXVmZW5kIHVlYmVyc2NocmVpdGV0LgoKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaG9lbml4IChLZXksIDEyLiBKYW4gMjAwMiwgMDE6NDM6MzQpOgpTbywgZGFtaXQgZXMgYWxsZSB3aXNzZW46CkphIGljaCB3YXIgZGEgPTspCk9iIHVuZCB3aWVvZnQgaWNoIHdpZWRlcmtvbW1lIG1hZyBkYWhpbmdlc3RlbGx0IHNlaW4sIGRhcyBzaWVodCBtYW4gbWl0IGRlcgpaZWl0IDopCgpEYW5rZSBmdWVyIGRpZSBTdXBlciBCZWdydWVzc3VuZwoKS0VZCgpQLlMuOiBOZWluIEdyaW1taSwgZGFzIGlzdCBrZWluIHNjaG1hcnJuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eC1XdXJtIGltIFVtbGF1ZiAoWmFybml5YSwgMTQuIEphbiAyMDAyLCAwOToxOTo0MSk6Cn4jISBybj1EaWVkZXIgcnQ9MTAxMDc2OTY4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA3MTAxMTcKRGllZGVyLCB3ZW5uIGljaCBrb2VubnRlLCBkYW5uIHd1ZXJkIGljaCBEZWluZW4gQXJ0aWtlbCBuYWNoIGdlamFtbWVyCnZlcmxlZ2VuLi4uIHNvIGVpbmVuIFVuc2lubiB1ZWJlciBHcmltbWJvcm4gdW5kIHdhcyBlciBkb2NoIGZ1ZXIgZWluIERlcHAgaXN0Cm11c3MgbWFuIGhpZXIgYXVjaCBpbnp3aXNjaGVuIGFsbGUgMyBNb25hdGUgdm9uIGRlbiBzZWxiZW4gTGV1dGVuIGxlc2VuLiAKCk1laW5lciBNZWludW5nIG5hY2ggbWFjaHQgR3JpbW1ib3JuIHNlaW5lbiBKb2IgaGVydm9ycmFnZW5kLCB3ZW5uIGVyIEFydGlrZWwKdmVybGVndCwgZGFubiBoYXQgZXIgZWluZSBzbyBnZXJpbmdlIEZlaGxlcnF1b3RlLCBkYSB0cmFldW1lbiBhbmRlcmUgaW4gaWhyZW0KSm9iIHZvbi4gV2llIHNhZ3QgbWFuIHNvIHNjaG9lbj8gU2Nod3VuZCBpc3QgaW1tZXIhIAoKTWFyYwpQLlMuOiBXbyBibGVpYmVuIGRpZSAiSGV1bCBkb2NoIiBBcnRpa2VsLCB3ZW5uIG1hbiBzaWUgYnJhdWNodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChDdWNodWxsaW4sIDE2LiBKYW4gMjAwMiwgMDI6MzQ6MjQpOgpHZXJ1ZWNodGV3ZWlzZSBzb2xsIGVzIGFuIG1hbmNoZW4gVW5pdmVyc2l0YWV0ZW4gbW9lZ2xpY2ggc2VpbiwgZWluCkluZm9ybWF0aWtzdHVkaXVtIGVyZm9sZ3JlaWNoIGFienVzY2hsaWVzc2VuLCBvaG5lIGF1Y2ggbnVyIGVpbmUgZWluemlnZQpaZWlsZSBQcm9ncmFtbWNvZGUgZ2VzY2hyaWViZW4genUgaGFiZW4uIEthbm4gbWlyIGRhcyBqZW1hbmQgYmVzdGFldGlnZW4/CgpDdWNodWxsaW4gKG5ldWdpZXJpZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoQmllbGVmZWxkLCAxNi4gSmFuIDIwMDIsIDA4OjI0OjI1KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDExMTQ0ODY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTE0NDg2NAoiTmljaHQgZWluZSBlaW56aWdlIFplaWxlIiBzb2xsdGUgc2Nod2VyIHNlaW4uIEFiZXIgbWl0IHJlbGF0aXYgd2VuaWcKUHJvZ3JhbW1pZXJ1bmcgZXJmb2xncmVpY2ggZWluIFN0dWRpdW0gYWJzY2hsaWVzc2VuIGdlaHQgenVtaW5kZXN0CmluIEhhbWJ1cmcgc2Nob24uCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChOYWRkbCwgMTYuIEphbiAyMDAyLCAxMjowMjowMik6Cn4jISBybj1CaWVsZWZlbGQgcnQ9MTAxMTE2NTg2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTExNDQ4NjQKRGEgZXMgb2Z0IHVtIFRlYW1zIGdlaHQgaXN0IGVzIGR1cmNoYXVzIG1vZWdsaWNoIGRhcyBHcnVuZHN0dWRpdW0gdW5kIGRlc3NlbgpQcm9ncmFtbWllcmF1ZmdhYmVuIG9obmUgZWluZSBlaWdlbmUgWmVpbGUgQ29kZSB6dSBiZXdhZWx0aWdlbi4KRGlwbG9taW5mb3JtYXRpayAhPSBQcm9ncmFtbWllcmVuLgoKaS5BLiBHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoUGF0cnluLCAxNi4gSmFuIDIwMDIsIDEyOjA3OjAxKToKfiMhIHJuPU5hZGRsIHJ0PTEwMTExNzg5MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CmFsc28gaW4gZHJlc2RlbiBoYWJlIGljaCBkZW4gZWluZHJ1Y2sgZ2V3b25uZW4sIG1hbiBrYW5uIGVzIGZhc3Qgc2NoYWZmZW4uCndpciBoaWVyIGthbWVuIHpiIG5pY2h0IGRydW1ydW0sIGluIGdydW5kc3R1ZGl1bSBuZW4gZGVjb21waWxlciBmdWVyCk1JUFMtbWFzY2hpbmVuY29kZS0+YXNzZW1ibGVyIGluIGFzc2VtYmxlciB6dSBzY2hyZWliZW4sIHdhcyBhYmVyIG5pY2h0CnNlaHIgdmllbCB3YXIuIGFsc28gaGF0dGUgbWFuIGRhIHNjaG9uIG1hbCBkYSByZWluZ2VzY2hudXBwZXJ0LgpkZXN3ZWl0ZXJlbiBnYWJzIG5lbiBzb2Z0d2FyZXByYWt0aWt1bSBkaWUgaW4gZ3J1cHBlbiB6dSBiZXdhZWx0aWdlbiB3YXIsCmRhIGNvZGV0ZSBtZWlzdGVucyBlaW5lciBvZGVyIDIgdm9uIDQgbWFubi4gZGFzIHdhcnMgZGFubiBhdWNoIHNjaG9uLgp3ZW5uIG1hbiBkYW5uIHRoZW9yZXRpc2NoZSBpbmZvIHdlaXRlcm1hY2h0IHpiLCB3aXJkIG1hbiB3YWhyc2NoZWlubGljaCBuaWNodAptZWhyIHByb2dnZW4uCmljaCBmaW5kIGRhcyBhYmVyIGVpZ2VudGxpY2ggbmljaHQgc2VociBlcnNjaHVldHRlcm5kLCB2aWVsIG1hdGhlLCAKdGhlb3JldGlzY2hlIGdydW5kbGFnZW4gdW5kIHNvbWl0IGFic3RyYWt0aW9uc3Zlcm1vZWdlbiBzaW5kIGRlciB3aWNodGlnZQpwdW5rdCwgbmVic3QgdGVhbWFyYmVpdCwgZGllIG1hbiBhYmVyIG1laXN0IHVuenVyZWljaGVuZCBlcmxlcm50LCBzY2hvbiB3ZWdlbgp6ZWl0IHVuZCBwcm9qZWt0Z3JvZXNzZSwKcHJvZ3JhbW1pZXJlbiBrYW5uIGVpZ2VudGxpY2ggamVkZXIsIG51ciB3ZXJkZW4gZGlwbC4taW5mb3JtYXRpa2U0ciBtZWlzdCBkaWUKYmVzc2VyZW4gcHJvZ3JhbW1pcmVyIHNlaW4gbWl0IGlocmVtIGhpbnJ0ZXJncnVuZHdpc3NlbiB1ZWJlcgpoYXJkd2FyZSwgc29mdHdhcmUuLi5hbGdvcml0aG1lbiwgbWF0aGUgdS5zLncuCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoQmFtYmksIDE2LiBKYW4gMjAwMiwgMTI6NTE6NDcpOgp+IyEgcm49UGF0cnluIHJ0PTEwMTExNzkyMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CkljaCBrYW5uIG5pY2h0IGZ1ZXJzIFVOSS1TdHVkaXVtIHNwcmVjaGVuLCBhYmVyIGFuIGRlciBGYWNoaG9jaHNjaHVsZQooS2FybHNydWhlKSBpc3QgbWFuIHNwYWV0ZXN0ZW5zIGltIFByYXhpc3NlbWVzdGVyIGVpbiBTaWViLCB3ZW5uIG1hbiBuaWNodCBtYWwKcHJvZ3JhbW1pZXJ0IGhhdCBvZGVyIGVzIGRvcnQgc2NobmVsbCBsZXJudC4gTWlyIGlzdCB6dW1pbmRlc3QgZ3JhZCBrZWluIEZhbGwKYmVrYW5udCwgd28gZWluIEZILVN0dWRlbnQgYWxzIFByYWt0aWthbnQgZWluZ2VzdGVsbHQgd3VyZGUgdW5kIGluIGRlbiAxMDAgenUKZXJicmluZ2VuZGVuIEFyYmVpdHN0YWdlbiBuaWUgaGFldHRlIHByb2dyYW1taWVyZW4gbXVlc3Nlbi4KSWNoIHN0aW1tZSBEaXIgYWJlciB6dSwgZGFzcyBEaXBsLUluZi4gZGllIGJlc3NlcmVuIFByb2dnZXIgd2VyZGVuIGtvZW5uZW4sCmFscyBkaWUsIGRpZSAibnVyIiBwcm9nZ2VuIGtvZW5uZW4uCkljaCBoYWJlIGltICh6d2VpdGVuKSBQcmF4aXNzZW1lc3RlciB6dXNhbW1lbiBtaXQgUGFyZGF1eiBlaW5lbiBTZXJ2ZXIgbWl0CldlYnNlcnZlciwgTWFpbHNlcnZlciwgRE5TLCBGaXJld2FsbCB1bmQgc28gbmVtIEtyYW0gYXVmZ2VzZXR6dCB1bmQgc2NocmVpYmUKZGllIEtvbW11bmlrYXRpb25zbmV0emUtS2xhdXN1ciwgZGllIGVpZ2VudGxpY2ggdm9yIGRlbSAyLiBQUyBhbmdlc2V0enQgaXN0LAplcnN0IGpldHp0IHVuZCBpY2ggbXVzcyBzYWdlbiwgZGFzIG1pciBkZXIgUHJheGlzYmV6dWcgc2VociBiZWkgZGVtClZlcnN0YWVuZG5pcyBpbiBkZXIgVm9ybGVzdW5nIGdlaG9sZmVuIGhhdC4gR2FueiBvaG5lIGRpZSBWb3JsZXN1bmcgd3VlcmRlbgptaXIgbmF0dWVybGljaCBlaW5pZ2UgR3J1bmRsYWdlbiBmZWhsZW4gKCJXYXMgaXN0IGVpbgpJU08tT1NJLVNjaGljaHRlbm1vZGVsbD8/PyIpIHVuZCBhdWYgZGllIFByb2dyYW1taWVyYXJiZWl0IGthbm4gbWFuIGRhcwpuYXR1ZXJsaWNoIHVlYmVydHJhZ2VuLgpXZW5uIG1hbiB0aGVvcmV0aXNjaGUgR3J1bmRsYWdlbiBiZWhlcnJzY2h0LCBoYXQgbWFuIGJlc3NlcmUKS29uemVwdGlvbnNtb2VnbGljaGtlaXRlbiwgYWJlciBnYW56IG9obmUgUHJheGlzIHdpcmQgZGFzIGRhbm4gYXVjaCBlaW4gYmlzc2wKZG9vZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChQYXRyeW4sIDE2LiBKYW4gMjAwMiwgMTI6NTM6MjcpOgp+IyEgcm49QmFtYmkgcnQ9MTAxMTE4MTkwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTExNDQ4NjQKZmFjaGhvY2hzY2h1bGUgc2luZCBhdWNoIGdhbnogYW5kZXJlIHdlbHRlbi4KZGllIHByb2dnZW4gYXVjaCBoaWVyIGluIGRyZXNkZW4gemllbWxpY2ggdmllbCBoZXJ1bSwgd2VubiBlcyBuaWNoIGdyYWQgbmVuCndpcnRzY2hhZnRzLWJpbmRlc3RyaWNoLXN0dWRpZW5nYW5nIGlzdCwgZGllIGVoIGF1c3NlcmhhbGIga29ua3VyZW56IGxhdWZlbi4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChab29rLCAxNi4gSmFuIDIwMDIsIDE1OjU2OjA4KToKfiMhIHJuPVBhdHJ5biBydD0xMDExMTgyMDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTE0NDg2NApBY2gsIGRhcyBnaWJ0IG1pciBqYSBkaWUgTW9lZ2xpY2hrZWl0LCBtZWluZSBWb3J1cnRlaWxlIHp1IHBmbGVnZW46CgpXYXMgaGFsdCBJaHIgZGVubiB2b24gQmluZGVzdHJpY2hpbmZvcm1hdGlrZXJuPyBXaXJ0c2NoYWZ0cy1JLCAKTWVkaXppbi1JLCBCaW8tSSBvZGVyIHdhcyBlcyBkYSBub2NoIGFuIGV4b3Rpc2NoZW4gU3R1ZGllbmdhZW5nZW4KZ2lidC4KCkRhcyBGcmFnZXplaWNoZW4gaXN0IGhpZXI6ID8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoSW1kYSwgMTYuIEphbiAyMDAyLCAxNjowNjozOCk6Cn4jISBybj1ab29rIHJ0PTEwMTExOTI5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0ClN0ZWh0IGRvY2ggc2Nob24gZGEuIFdpcnRzY2hhZnQgbWludXMgSW5mb3JtYXRpay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChOYWRkbCwgMTYuIEphbiAyMDAyLCAxNjo0MDoyNCk6Cn4jISBybj1ab29rIHJ0PTEwMTExOTI5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CkhhZW5ndCB2b24gZGVyIFVuaSBhYi4gRGllIEJpby1JLCB3ZW5uIHNpZSBkZW5uIHdpcmtsaWNoIG5lYmVuaGVyIGV0d2FzCkJpb2xvZ2llIHN0dWRpZXJlbiBzaW5kIHp1bWluZGVzdCBlaW5lIGludGVyZXNzYW50ZSBWZXJ0aWVmdW5nc3JpY2h0dW5nLiBBYmVyCmljaCB3dWVyZCBzaWUgZWhlciBEQi9EVy9QYXR0ZXJuL0dyYXBoZW4tSSBhbHMgQmlvLUkgbmVubmVuLgoKaS5BLiBHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoSGlnaHQsIDE2LiBKYW4gMjAwMiwgMTY6NDE6MzMpOgp+IyEgcm49UGF0cnluIHJ0PTEwMTExODIwMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CmhtbW0gaGllciBrb21tdCBlaWdlbnRsaWNoIGtlaW5lciBkdWNoIG5lbiBpbmZvcm1hdGlrLnN0dWRpZW5nYW5nIG9obmUgenUKY29kZW4gLi4uIGljaCBoYWIgZXR6IGltIGVyc3RlbiBzZW1lc3RlciBjKysgZ3J1bmRsYWdlbiB1bmQgaW0gMi4gZGFubgpvYmpla29yaWVudGllcnVuZyAuLi4gYW5zb25zdGVuIG1hY2h0IGZhc3QgamVkZXIgamF2YSAxIHdlaWxzIGhhbHQgbmV0IHNvCnVtd2VyZmVuZCBzY2h3ZXIgaXMgLi4uIG9obmUgY29kZW4gZ2VodCBkYXMgenVtaW5kZXN0IGhpZXIgbmljaCB2b24gc3RhdHRlbgouLi4gYWJiYSBpY2ggbnVyIG5lIEZIIGFtIGFyc2NoIGRlciB3ZWx0CgpoaWdodCBzaWNoIGltbWVybm9jaCBmcmFnZW5kIHdhcnVtIHNlaW5lIHByb2dyYW1tZSBhdWYgZGVuIHdvcmtzdGF0aW9ucyBpbSByegplcnN0IG5hY2ggdWViZXJhcmJlaXR1bmcgbGF1ZmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJbmZvcm1hdGlrLVN0dWRpdW0gZnVlciBUaGVvcmV0aWtlciAoV3VyemVsLCAxNi4gSmFuIDIwMDIsIDIzOjU4OjIzKToKfiMhIHJuPUhpZ2h0IHJ0PTEwMTExOTU2OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0Cnp3aXNjaGVuIGZoLWluZm9ybWF0aWtlcm4gdW5kIHNvbGNoZW4gdm9uIGRlciB1bmkgbGllZ2VuIHdlbHRlbiwgZGFzIGthbm4gbWFuCm5pY2h0IHZlcmdsZWljaGVuLiB3YWVocmVuZCBkaWUgbGV1dGUgdm9uIGRlciBmaCByZWxhdGl2IHZpZWwgcHJheGlzYmV6dWcKaGFiZW4gdW5kIGluIGRlciByZWdlbCBnYW56IG9yZGVudGxpY2ggcHJvZ3JhbW1pZXJlbiBrb2VubmVuLCBrYW5uIG1hbiBzaWNoCmZhc3Qgc2ljaGVyIHNlaW4sIGRhc3MgZGllIGluZm9ybWF0aWtlciB2b24gZGVyIHVuaSBnYW56IGFuZGVycyBnZXN0cmlja3QKc2luZC4gaWNoIHd1ZXJkZSBzb2dhciBzbyB3ZWl0IGdlaGVuIHp1IHNhZ2VuLCBkYXNzIChhdXNuYWhtZW4gZ2lidHMgZGEKbmF0dWVybGljaCBhdWNoKSBkaWUgdW5pLWluZm9ybWF0aWtlciBmYXN0IGRpZSBlaW56aWdlbiBzaW5kLCBkaWUgdWViZXJoYXVwdApuaWNodCBwcm9ncmFtbWllcmVuIGtvZW5uZW4uIHZvbSBmYWVoaWdrZWl0c2xldmVsIGhlciBpcmdlbmR3byB6d2lzY2hlbgpoaXN0b3Jpa2VybiB1bmQgZ2VybWFuaXN0ZW4gYW56dXNpZWRlbG4sIGRlciB0eXBpc2NoZSBzb3ppb2xvZ2Uga2FubiBkYSBtZWhyLgphYmVyIHZvbiBlaW5lbSBpbmZvcm1hdGlrZXIgd2lyZCBqYSBtZWlzdCBhdWNoIHdhcyBnYW56IGFuZGVyZXMgZXJ3YXJ0ZXQgYWxzCnByb2dyYW1taWVyc2tsYXZlIHp1IHNlaW4uIHdlciBlaW5lbiBlbnR3aWNrbGVyIHN1Y2h0IHVuZCBlaW5lbiBpbmZvcm1hdGlrZXIKZWluc3RlbGx0LCBoYXQgd2FzIGdydW5kc2FldHpsaWNoZXMgbmljaHQgdmVyc3RhbmRlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSW5mb3JtYXRpay1TdHVkaXVtIGZ1ZXIgVGhlb3JldGlrZXIgKFNpbHZhbmEsIDE3LiBKYW4gMjAwMiwgMDA6MDk6MDYpOgp+IyEgcm49V3VyemVsIHJ0PTEwMTEyMjE5MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CkluIEJpZWxlZmVsZCwgaW4gZGVyIE5hdHVyd2lzc2Vuc2NoYWZ0bGljaGVuIEluZm9ybWF0aWssIGthbm4gbWFuIHJlY2h0CnByb2JsZW1sb3Mgc2VpbiBEaXBsb20gbWFjaGVuLCBvaG5lIGplIG5lIFplaWxlIHp1IHByb2dyYW1taWVyZW4uIFVuZCBkYXMKdHJvdHogZGVyIG9ibGlnYXRvcmlzY2hlbiBQcm9ncmFtbWllci1QcmFrdGlrYS4gRGEgZG9ydCBpbW1lciBHcnVwcGVuYXJiZWl0CmFuZ2VzYWd0IGlzdCwgc2luZCBkaWUgUHJvZ3JhbW1pZXItQ3JhY2tzIG1laXN0IHppZW1saWNoIGZyb2gsIHdlbm4gc2llCmplbWFuZGVuIGRhYmVpIGhhYmVuLCBkZXIgZnJlaXdpbGxpZyBkYXMgVXNlci1JbnRlcmZhY2UgZW50d2lyZnQsIGRpZQpIaWxmZXNlaXRlbiBzY2hyZWlidCB1bmQgZGFzIGdhbnplIGRva3VtZW50aWVydC4uLiBVbmQgZGFzIHNvbGwgbmljaHQgaGVpc3NlbiwKZGFzcyBkaWVzZSBMZXV0ZSBkYW5uIG5peCBhbHMgSW5mb3JtYXRpa2VyIHRhdWdlbiAtIG9mdCBnYW56IGltIEdlZ2VudGVpbC4gTnVyCnNvbGx0ZSBtYW4gZGllIG5pY2h0IGFscyBQcm9ncmFtbWllcmUgZWluc3RlbGxlbi4uLiBBYmVyIHdlciBuZW4KRGlwbC1JbmZvcm1hdGlrZXIgYWxzIHJlaW5lbiBQcm9nLVNrYWx2ZW4gYW5zdGVsbHQsIGhhdCBlaCB6dSB2aWVsIEdlbGQuLi4gOy0pCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEluZm9ybWF0aWstU3R1ZGl1bSBmdWVyIFRoZW9yZXRpa2VyIChLYXJpcywgMTcuIEphbiAyMDAyLCAwOToyODoyNSk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMTEyMjI1NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMTQ0ODY0CkRhIGthbm4gaWNoIEV1Y2ggbnVyIGJlaXBmbGljaHRlbi4gSW1tZXIgd2llZGVyIHNjaG9lbiBkaWUgR2VzY2hpY2h0ZSB2b20KZ2VyYWRlIGRpcGxvbWllcmVuZGVuIEluZm9ybWF0aWtlciBtaXQgZWluZXIgUHJvZ2ctQXVmZ2FiZS4gRXIgbWFjaHRlCmRpZSBLb256ZXB0aW9uIHVuZCBicmFjaHRlIHNpZSB6dSBQYXBpZXIuIEJlaW0gQWJnYWJldGVybWluIGZyYWd0ZSBlcjoKIldhcywgY29kaWVyZW4gaGFldHRlIGljaCBkYXMgc29sbGVuPz8/IEFiZXIgZGFmdWVyIGdpYnRzIGRvY2ggSW5nZW5pZXVyZSEhIgoKS2FyaXMsIFByb2dyYW1taWVyc2tsYXZlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1BBTSAoQ2F0d2VhemxlLCAxOC4gSmFuIDIwMDIsIDA4OjE5OjA1KToKU28sIGljaCBoYWIgZGllIE5hc2UgZW5kZ3VlbHRpZyB2b2xsLiBJY2ggaGFiIGplZGVuIG1vcmdlbiBldHdhIDIwIFNwYW0tTWFpbHMKaW4gbWVpbmVyIE1haWwgdW5kIGxvZXNjaGUgYXVjaCB0YWdzdWViZXIgZGl2ZXJzZSB3ZWcuIAoKR0lidCBlcyBpcmdlbmRlaW5lIHNpbm52b2xsZSB1bmQgZXJmb2xndmVyc3ByZWNoZW5kZSBNZXRob2RlLCB1bSBkaWVzZW4gTGFlcm0KbG9zenV3ZXJkZW4/CgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTUEFNIChDYWRyYWNoLCAxOC4gSmFuIDIwMDIsIDA5OjE3OjM5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDExMzM4MzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpFbWFpbGFkZHIgd2VjaHNlbG4gdW5kIG5lIGVpZ2VuZSBEb21haW4ga2F1ZmVuIHVtIGRhcyBQcm9ibGVtIGluIGRlciBadWt1bmZ0Cnp1IHZlcm1laWRlbi4gV2VubiBEdSBhbiBUY2hpYm8gbnVyIHRjaGlib0BibGFibHViLmRlIHJhdXNnaWJzdCB3ZWlzc3Qgc3UgYSkKd2VyIHNjaHVsZCBpc3Qgd2VubiBkdSBkYSBldHdhcyBiZWtvbW1zdCB1bmQgYikga2FubnN0ZSBkaWUgZGFubiBiZXF1ZW0gbmFjaAovZGV2L25pbCBzY2hpZWJlbi4KCkNhZHJhY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU1BBTSAoQWhhYiwgMTguIEphbiAyMDAyLCAwOTozMDozNSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTEzNDE4NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CkFsc28gSU1ITyBsb2VzdCBzb3dhcyBkYXMgUHJvYmxlbSBudXIgdGVpbHdlaXNlLiBCZWkgYSkgZ2ViZSBpY2ggRGlyIGR1cmNoLQphdXMgcmVjaHQuIER1IHdlaXNzdCBkYW5uIHppZW1saWNoIHNpY2hlciwgX3dlcl8gZGllIEFkcmVzc2Ugd2VpdGVyZ2VnZWJlbgpoYXQuIEFiZXIgYmVpIGIpIGhhc3QgRHUgaW1tZXIgbm9jaCBkYXMgUHJvYmxlbSwgZGFzcyBEdSBkaWUgYXVmIAp0Y2hpYm9AYmxhYmx1Yi5kZSBlaW5sYXVmZW5kZW4gTWFpbHMgZHVyY2hzZWhlbiBtdXNzdCwgd2VubiBEdSBhdWYgd2FzIApJbnRlcmVzc2FudGVzIHZvbiBUY2hpYm8gd2FydGVzdC4KICBXZW5uIGRhcyBhbGxlcmRpbmdzIGVybGVkaWd0IGlzdCwga2FubnN0IER1IGRlbiBLcmFtIGluIGRlciBUYXQgaW4gZGllClRvbm5lIHRyZXRlbi4gQWJlciBiaXMgZGFoaW4gbXVzc3QgRHUgYXVjaCBkb3J0IG1pdCBkZW0gU3BhbSBsZWJlbiwgYmlzIGRpZQpBZHJlc3NlIHVlYmVyZmx1ZXNzaWcgaXN0LgoKSWNoIGJlaGVsZmUgbWlyIGRlcnplaXQgbm9jaCBkYW1pdCwgZGFzcyBpY2ggZGllIE1haWxzIGRpcmVrdCBhdWZtIFNlcnZlcgpraWxsZSwgc28gZGFzcyBkZXIgVHJhZmZpYyBuaWNodCBtZWluZSBMZWl0dW5nIHZlcnN0b3BmdCwgYWJlciBhdWYgRGF1ZXIgdW5kCndlbm4gZGFzIG1laHIgd2lyZCwgaGlsZnQgd29obCBudXIgZWluIGdlc2NoZWl0ZXIgU3BhbWZpbHRlciBpbSBNYWlsZXIuCgpBaG9pLAogICBBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1BBTSAoR3JpbW1ib3JuLCAxOC4gSmFuIDIwMDIsIDA5OjQ3OjA5KToKfiMhIHJuPUFoYWIgcnQ9MTAxMTM0MjYzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKMTAwJSBpc3Qga2F1bSB6dSBlcndpc2NoZW4sIGFiZXIgbWl0IHJlbGF0aXYgcHJpbWl0aXZlbiBwcm9jbWFpbCBleHByZXNzaW9ucwpiZWtvbW10IG1hbiBzY2hvbm1hbCBlaW5lbiBndXRlbiBUZWlsIGRlcyBzcGFtcyBpbiBkZW4gR3JpZmYuIE5hY2h0ZWlsIGlzdApuYXR1ZXJsaWNoIGRhc3MgZGFzIGVyc3RtYWwgY2xpZW50c2VpdGlnIGlzdCwgZC5oLiB3ZW5uIER1IGF1ZiBEZWluZW0gbG9rYWxlbgpSZWNobmVyIGZpbHRlcnN0IHdpcmQgZGVyIHNwYW0gZWJlbiBkb2NoIGVyc3QgZG9ydGhpbiB1ZWJlcnRyYWdlbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNQQU0gKERlZXBibHVlLCAxOC4gSmFuIDIwMDIsIDA5OjU1OjIyKToKfiMhIHJuPUFoYWIgcnQ9MTAxMTM0MjYzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKd2VubiBtYW4gd2FzIGJlc3RpbW10ZXMgdm9uIGRvcnQgZXJ3YXJ0ZXQgc2llaHQgbWFuIGFiZXIgbWl0IGVpbmVtIEJsaWNrLCBvYgpkYXMgZXJ3YXJ0ZXRlIGRhIGlzdCwgdW5kIGhhdCBkZW4gcmVzdCBzY2huZWxsZXIgZ2Vsb2VzY2h0IGFscyBlciB2ZXJzY2hpY2t0Cnd1cmRlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU1BBTSAoVmFyZGlvbiwgMTguIEphbiAyMDAyLCAxMTowODozMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMTMzODM0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKSGkuCgpBYmdlc2VoZW4gdm9uIG5lciBlaWdlbmVuIERvbWFpbiB0dXQgcHJvY21haWwgYXVjaCBnYW56IGd1dC4gRGllIG1laXNzdGVuClNwYW1tZXIgdmVyd2VuZGVuIGluIGlocmVuIE1haWxzIHR5cGlzY2hlIFBocmFzZW4sIGRpZSBhdWNoIG51ciBpbiBTcGFtCnZvcmtvbW1lbi4gU28gZW50c29yZ3QgYmVpIG1pciBwcm9jbWFpbCBldHdhIDIvMyBiaXMgMy80IGRlcyBTcGFtcy4gQmVpc3BpZWxlOgoKIlRvIGJlIHJlbW92ZSIKU2VyaW9lc2UgTWFpbGluZ2xpc3RlbiB2ZXJ3ZW5kZW4gaW1tZXIgIlRvIHVuc3Vic2NyaWJlLi4uIgoKIlRoaXMgLiogYmVpbmcgc2VudC4qaW4gY29tcGxpYW5jZSB3aXRoIgpNZWlzc3QgZWluIGZhZGVuc2NoZWluaWdlciBHcnVuZCwgd2FydW0gYXVzZ2VyZWNobmV0IGRpZXNlciBTcGFtIGxlZ2FsIHNlaW4Kc29sbC4KCiIxLTgwMC1bMC05LV0rIE5PVyEiCkRpZXNlIFJlZ2V4cCBoYXQgYXVjaCBub2NoIGF1ZiBrZWluZSBnZXd1ZW5zY2h0ZSBFbWFpbCBnZXBhc3N0IDstKQoKIk9yZGVyIE5vdy4qISIKRGl0by4KCkVpbmUgYW5kZXJlIE1vZWdsaWNoa2VpdCBpc3QgZXMgbm9jaCwgZGllIEhlYWRlciBhbnp1c2VoZW4uIFNvIGthbm5zdCBEdSBhdWNoCmFsbGUgTWFpbHMgZW50c29yZ2VuLCBkaWUgRGljaCB3ZWRlciBpbSAiVG86ICIgbm9jaCBpbSAiQ0M6ICIgZW50aGFsdGVuLiBIaWVyCm11c3MgbWFuIGFsbGVyZGluZ3Mgdm9yc2ljaHRpZyBzZWluOiBkaWVzZSBBZHJlc3NlbiBpc3QgZGFubiBuaWNodCBtZWhyIGZ1ZXIKTWFpbGluZ2xpc3RlbiBnZWVpZ25ldCwgQkNDcyBrb21tZW4gbmljaHQgYW4sIGZvcndhcmRzIGF1cyBkZW0gTXVkIGF1Y2gKbmljaHQuLi4gdW5kIHZpZWxlIFNwYW1tZXIgZ2VoZW4gaW56d2lzY2hlbiBkYXp1IHVlYmVyLCBkZWluZSBNYWlsYWRyZXNzZQp0YXRzYWVjaGxpY2ggaW0gIlRvOiAiIGFuenVnZWJlbi4gQWxzbyBpY2ggZmluZGUgZWluZSBGaWx0ZXJ1bmcgbmFjaApCb2R5LUluaGFsdGVuIGdlZWlnbmV0ZXIuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNQQU0gKE5vbm5lLCAxOC4gSmFuIDIwMDIsIDExOjIyOjM0KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAxMTM0ODUxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKSGFzdCBub2NoIHdhcyBlbnRzY2hlaWRlbmRlcyB2ZXJnZXNzZW46ICQkJCByYXVzZmlsdGVybiEgKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTUEFNIChDaHJpc3RvcGhlciwgMTguIEphbiAyMDAyLCAxMToyNDoyNik6Cn4jISBybj1Ob25uZSBydD0xMDExMzQ5MzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpHaWJ0IGVzIGVpZ2VudGxpY2ggcmVjaHRsaWNoZSBNb2VnbGljaGtlaXRlbiBTUEFNcyB6dSB1bnRlcmJyaW5kZW4gPwpBZWhubGljaCBkZW0gQXVma2xlYmVyIGF1ZiBkZW0gQnJpZWZrYXN0ZW4gPiBLZWluZSBXZXJidW5nIDwgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU1BBTSAoQ3VjaHVsbGluLCAxOC4gSmFuIDIwMDIsIDExOjI1OjA5KToKfiMhIHJuPUNocmlzdG9waGVyIHJ0PTEwMTEzNDk0NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CldpZSBzdGVsbHN0IER1IERpciBkYXMgdm9yPyBTcGFtIGRpZSBhdXMgVGltYnVrdHUga29tbXQgcmVjaHRsaWNoIHVudGVyYmluZGVuPwoKQ3VjaHVsbGluIGt1Y2t0IGZyYWdlbmQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTUEFNIChIdW1uaSwgMTguIEphbiAyMDAyLCAxMToyNTo0MSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxMTM0OTUwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKTmFqYSwgbWl0IG5lbSBBdWZrbGViZXIgYXVmIERlaW5lbSBSZWNobmVyIGtvbW1zdCBEdSBuaWNodCB3ZWl0Li4uCgpTUEFNcyBhbiBzaWNoIHNpbmQgZG9jaCBlaCB2ZXJib3RlbiwgbnVyIGthbm4gZGFzIGtlaW5lciB3aXJrc2FtIHR1biwgb2RlciBoYWIKaWNoIGRhcyBmYWxzY2ggaW0gS29wZj8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTUEFNIChHcmltbWJvcm4sIDE4LiBKYW4gMjAwMiwgMTE6MjY6MzkpOgp+IyEgcm49SHVtbmkgcnQ9MTAxMTM0OTU0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKSmEsIER1IGhhc3QgZGFzIGZhbHNjaCBpbSBLb3BmLiBadW1pbmRlc3Qgc293ZWl0IGVzIGdlbHRlbmRlIFJlY2h0c3ByZWNodW5nIGluCnNlaHIgdmllbGVuIExhZW5kZXJuIGFuZ2VodC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU1BBTSAoQ3VjaHVsbGluLCAxOC4gSmFuIDIwMDIsIDExOjI3OjEzKToKfiMhIHJuPUh1bW5pIHJ0PTEwMTEzNDk1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1ClZlcmJvdGVuPyAqcHJ1c3QqIEljaCB6aXRpZXJlIG1hbCBlaW5lIG1laW5lciBMaWVibGluZ3NzcGFtbWFpbHMuLi46Cgo+IFdvdWxkIHlvdSBsaWtlIHRvIHNlbmQgYSBCcm9hZGNhc3QgRW1haWwgQWR2ZXJ0aXNlbWVudCB0bwo+IDEsMDAwLDAwMCBQRU9QTEUgREFJTFkgKDMwLDAwMCwwMDAgUGVvcGxlIGEgTW9udGgpIGZvciBGUkVFPwoKVW5kIGRhcyBnZWh0IG5vY2ggMTNrQiBzbyB3ZWl0ZXIuIDspCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTUEFNIChIdW1uaSwgMTguIEphbiAyMDAyLCAxMToyODowNSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxMTM0OTYzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKT0sgT0sgLi4uIGlociBoYWJ0IG1pY2ggdWViZXJ6ZXVndC4KClVuZCBuYXR1ZXJsaWNoLCBzZWxic3Qgd2VubiBzcGFtbWVuIGluIEQgdmVyYm90ZW4gd2FlcmUsIGJyaW5ndCBkYXMgbml4LCBzZWgKaWNoIGphIGVpbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTUEFNIChWYXJkaW9uLCAxOC4gSmFuIDIwMDIsIDExOjQxOjM2KToKfiMhIHJuPUh1bW5pIHJ0PTEwMTEzNDk2ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CkdlZ2VuIGRldXRzY2hlIFNwYW1tZXIga2FubnN0IER1IHZvcmdlaGVuLiBHaWJ0IHp1bWluZGVzdCBHZXJpY2h0c3VydGVpbGUsIGRpZQpTcGFtbWVuIGZ1ZXIgaWxsZWdhbCBlcmtsYXJlbi4gQWJlciB6dW1pbmRlc3QgYmVpIG1pciBtYWNodCBkZXV0c2NoZXIgU3BhbQptb21lbnRhbiB3ZW5pZ2VyIGFscyAxJSBkZXIgR2VzYW10bWVuZ2UgYXVzLi4uIFVuZCBTcGFtIGF1cyBUaW1idWt0dSBldGMKa2FubnN0ZSBudXIgd2lya3NhbSB2ZXJoaW5kZXJuLCB3ZW5uIER1IGRpZSBnZW5hdWVuIEtvb3JkaW5hdGVuIGRlcyBzcGFtbWVuZGVuClJlY2huZXJzIHVuZCBadWdyaWZmIGF1ZiBNYXJzY2hmbHVna29lcnBlciBoYXN0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1BBTSAoUnVtYXRhLCAxOC4gSmFuIDIwMDIsIDEyOjI5OjU3KToKfiMhIHJuPU5vbm5lIHJ0PTEwMTEzNDkzNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1ClN1YmplY3Qgb2huZSBlaW5lbiBrbGVpbmJ1Y2hzdGFiZW4gaXN0IGF1Y2ggemllbWxpY2ggZWZmZWt0aXYuCnJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTUEFNIChWYXJkaW9uLCAxOC4gSmFuIDIwMDIsIDEyOjMzOjU3KToKfiMhIHJuPVJ1bWF0YSBydD0xMDExMzUzMzk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpFaW5lIE1lbmdlIFNwYW0gZmFlbGx0IGF1Y2ggbWl0IGVpbmVyIFplaWxlIHdpZQoKXkZyb206IFthLXpBLVowLTldK0BbYS16QS1aMC05XC4tXSskCgpyYXVzLCBkaWUgYWxsZXMgZW50c29yZ3QsIHdhcyBrZWluZW4gUmVhbG5hbWVuIGhhdC4gRGFtaXQgc29sbHRlIG1hbiBhYmVyCmV0d2FzIHZvcnNpY2h0aWcgc2VpbiAtIGdlbmF1IHdpZSBtaXQgWmVpbGVuIHdpZQoKXlN1YmplY3Q6IC4qIChtb25leXxjYXNofHJpY2h8aGFyZGNvcmV8bWFya2V0aW5nfGFkdWx0fGZyZWV8JCQkKVteYS16XQoKSG1tIC0gdmllbGxlaWNodCBrb2VubnRlIG1hbiBqYSBoaWVyIChpbiBhbmRlcmVyIFJ1YnJpaykgbWFsIG5lIFNhbW1sdW5nIHZvbgpnZWVpZ25ldGVuIEZpbHRlci1FeHByZXNzaW9ucyBtYWNoZW4uLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNQQU0gKFJ1bWF0YSwgMTguIEphbiAyMDAyLCAxNjoyODoyNyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwMTEzNTM2Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CjxvYmVybGVocmVyaW4+CiQkJCBpc3QgaW4gZWluZXIgcmVnZXhwIG5pY2h0IHNpbm52b2xsCjwvb2JlcmxlaHJlcmluPgpydW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU1BBTSAoVmFyZGlvbiwgMTguIEphbiAyMDAyLCAxNjozMDo0MSk6Cn4jISBybj1SdW1hdGEgcnQ9MTAxMTM2NzcwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKU3RpbW10LCBkYXMgc29sbHRlIG1hbiBlc2NhcGVuIDopCgpWYXJkaW9uLCBrb3JyaWdpZXJ0IGF1ZiBcJFwkXCQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNQQU0gKFJvY2h1cywgMTguIEphbiAyMDAyLCAxOToyMzo0NSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwMTEzNTM2Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1ClRIRSBVTFRJTUFURSBNRVRIT0RFIFRPIFJFTU9WRSBTUEFNIE1BSUw6CkRFTEVURSBFVkVSWVRISU5HIFdJVEggTU9SRSBUSEFOIDEwJSBDQVBTISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTUEFNIChDdWNodWxsaW4sIDE4LiBKYW4gMjAwMiwgMjA6MTY6MDIpOgp+IyEgcm49Um9jaHVzIHJ0PTEwMTEzNzgyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CkdlbG9nZW4uIERpZSBJbnN0aXR1dHNzZWtyZXRhZXJpbiBoaWVyIHZlcnNlbmRldCByZWdlbG1hZXNzaWcKRW1haWxzIG1pdCBTdWJqZWN0ICJXSUNIVElHISEhISEhISEhISEhISEhISEhISEiLiBEYWJlaSBnaW5nIGVzCnouXCxCLiBudXIgdW0gZGllIFphaGx1bmcgZGVyIFRlbGVmb25laW5oZWl0ZW4uLi4KCkN1Y2ggKG1oLiBnZW5hdWdlbm9tbWVuLi4uIGRvY2gsIHN0aW1tdGUgZG9jaC4gQ0FQUyA9IFNwYW0gOykpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplbWFpbDJzbXMgKENhZHJhY2gsIDE5LiBKYW4gMjAwMiwgMTU6MTE6MDkpOgpLZW5udCBqZW1hbmQgZWluZW4gRGllbnN0IGRlciBlbWFpbHMgYXV0b21hdGlzY2ggaW4gZWluZSBTTVMgdW13YW5kZWx0IHVuZCBhbgplaW5lIGJlbGllYmlnZSBSdWZudW1tZXIgdmVyc2VuZGV0PwooU29sbHRlIGFtIGJlc3RlbiBvaG5lIFdlcmJ1bmcgc2VpbiwgZGFyZiBhYmVyIHJ1aGlnIHdhcyBrb3N0ZW4gW2F1Y2gKUmVnaXN0cmllcnVuZ10pCgpDYWRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW1haWwyc21zIChNdXBmZWwsIDE5LiBKYW4gMjAwMiwgMTk6MTM6MzQpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDExNDQ5NDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTQ0OTQ2OQpIbS4uLiBkdSB3aWxsc3QgZGVuIFNwYW0gZGVuIGR1IGJla29tbXN0IGF1ZiBlaW4gSGFuZHkgZm9yd2FyZGVuPyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZW1haWwyc21zIChMaW5mbGFzLCAyMC4gSmFuIDIwMDIsIDE4OjA5OjEwKToKfiMhIHJuPU11cGZlbCBydD0xMDExNDY0MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTQ0OTQ2OQpqYS4KCnd3dy5kaXJlY3Rib3guY29tCgpUb2xsLCB3ZW5uIGR1IHdpbGxzdCBkYXMgYWxsZSBkZWluZSBNYWlscyBsZXNlbiBrb2VubmVuIDspCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaHJpY2h0ZW4gc2luZCBuYWNocmljaHRlbi4uLiAoTGluZmxhcywgMjAuIEphbiAyMDAyLCAxODoxNjoyOSk6CkpvLCBtYWwgd2llZGVyIGJlaSB5YWhvby1uZXdzIHJpY2h0aWcgaW50ZXJlc3NhbnRlIG5ldWlna2VpdGVuIHp1IGZpbmRlbi4uLmRlcgpyZWRha3RldXIgc2NoZWludCBzaWNoIGphIGVjaHQgenUgbGFuZ3dlaWxlbjoKClNjaGlsbCB3aWxsIGRlbW5hZWNoc3QgbWl0IFN0b2liZXIgc3ByZWNoZW4KCmRlLm5ld3MueWFob28uY29tLzAyMDEyMC8zLzJsOG1tLmh0bWwKCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW1haWwyc21zIChUYW5nYWx1ciwgMjEuIEphbiAyMDAyLCAwOTo1OTowMik6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTE0NDk0Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExNDQ5NDY5CkhpLApzY2hhdSBtYWwgaGllciBuYWNoLiBEYSBzb2xsdGVzdCBEdSB3YXMgZmluZGVuCmh0dHA6Ly93d3cuaGVoYS5jamIubmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW1haWwyc21zIChTaGFyaWEsIDIxLiBKYW4gMjAwMiwgMTE6MDM6NDIpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDExNDQ5NDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTQ0OTQ2OQp3d3cuc21hcnR2aWEuZGUKCnp1bSBCZWlzcGllbAoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW1haWwyc21zIChLZXksIDIxLiBKYW4gMjAwMiwgMTQ6MDY6MDQpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDExNDQ5NDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTQ0OTQ2OQppY3EgOikKCldlbm4gZXMgbWFsIHdpZWRlciBvcmRlbnRsaWNoIGZ1bnp0IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlbWFpbDJzbXMgKE1vbnRhbnVzLCAyMS4gSmFuIDIwMDIsIDE4OjExOjA5KToKfiMhIHJuPUtleSBydD0xMDExNjE4MzY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTQ0OTQ2OQpTT2xsIGhlaXNzZW4sIHdlbm4gbmljaHQgYWxsZSA1IE1pbnV0ZW4gZWluZSBOYWNocmljaHQgIkhpLCBteSBuYW1lIGlzCldlbmR5WzFdIiBrb21tdD8KClsxXSBFcnNldHplIFdlbmR5IGplZGUgZHJpdHRlIE5hY2hyaWNodCBhYndlY2hzZWxuZCBtaXQgIlNoYXJvbiIgb2RlciAiSmFzb24KYW5kIEknbSBiaSIKCk1laW5lIGlnbm9yZS1MaXN0ZSBpbSBJQ1EgIHdhZWNoc3QgdWRuIHdhZWNoc3QgdWRuIHdhZWNoc3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVtYWlsMnNtcyAoS2V5LCAyMS4gSmFuIDIwMDIsIDIwOjU0OjU5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTE2MzMwNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExNDQ5NDY5CldpZSBkaWUgc3ByZWNoZW4gRGljaCBhdWNoIGFsbGUgYW4/IApVbmQgaWNoIGRhY2h0IGRlbmVuIGdlaHQgZXMgd2lya2xpY2ggdW0gbWljaCAqc2NobnVlZmYqCgpLRXkKClAuUy46IFVtIGRlbiBzbXMgc2VydmljZSB2b24gSUNRIG51dHplbiB6dSBrb2VubmVuIGJlbm9ldGlndCBtYW4ga2VpbiBJQ1EKQ2xpZW50LgpFaW5mYWNoIGVpbmUgbWFpbCBhbiArNDkxNzBYWFhYWFhYQGljcXNtcy5jb20gcmVpY2h0IHZvZWxsaWcgYXVzIChXZW5uIGRpZQpBZHJlc3NlIGpldHp0IHN0aW1tdCwgaWNoIHZlcmdlc3MgZGllIGltbWVyLCBhYmVyIGRhcyBzdGVodCBhdWYgZGVyIFdlYnNldGllLgpQLlAuUy46IFNvcnJ5IGZ1ZXJzIGxhbmdlIFAuUy4gPTspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTUEFNIChIYXRlLCAyMy4gSmFuIDIwMDIsIDExOjU0OjAwKToKfiMhIHJuPVJ1bWF0YSBydD0xMDExMzUzMzk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpJY2ggaGFiZSBhdWYgbWVpbmVtIG1haWxzZXJ2ZXIgZGllIFJCTCBlaW5nZXNjaGFsdGV0ZXQsIGRhbWl0IGdlaHQgbmUgZ2FuemUKTWVuZ2Ugc2Nob24gd2VnLiBQcm9ibGVtYXRpc2NoIHNpbmQgc3BhbW1lciwgZGllIGF1ZiBkZXIgTm90ZmFsbGxlaXR1bmcKTWFpbCBzZW5kZW4sIGFsc28gYWxzIEFudHdvcnQgYXVmIG5pY2h0enVzdGVsbGJhcmUgRW1haWwgYW5nZWJsaWNoLiAKRGEgZ2lidHMgYWJlciBhdWNoIGtlaW5lIExvZXN1bmcgZnVlci4KCkhhdGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU1BBTSAoQ2FkcmFjaCwgMjQuIEphbiAyMDAyLCAxNzoxODozMik6Cn4jISBybj1IYXRlIHJ0PTEwMTE3ODMyNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CldhcyBoYWx0ZXQgaWhyIGRlbm4gdm9uIGZvbGdlbmRlciBJZGVlOiBTb2JhbGQgbWFuIGVpbmUgc29sY2hlClNwZWNpYWxlbWFpbGFkZHIuIHdpZSB0Y2hpYm9AYmxhYmx1Yi5kZSBuaWNodCBtZWhyIGJlbm9ldGlndCwgbG9lc2NodCBtYW4gc2llCm5pY2h0IGdsZWljaCwgc29uZGVybiB0cmFlZ3QgZnVlciBlaW5lbiBtb25hdCBvZGVyIHNvIGVyc3RtYWwgZWluIGZvcndhcmQgbmFjaApzdXBwb3J0QHRjaGliby5kZSBlaW4gKG9kZXIgYWVobmxpY2hlcykuCkRpZXMgaGFldHRlIGRlbiBFZmZla3QgZGFzIGFsbGVyIFNQQU0gZGVyIGF1ZiBkaWVzZXIgZW1haWxhZGRyIGVpbnRyaWZmdCAod2VpbApkaWVzZSBpbGxlZ2FsZXIgV2Vpc2Ugd2VpdGVyZ2VnZWJlbiB3dXJkZSkgYW4gZGVuIFZlcnVyc2FjaGVyIHp1cnVlY2tnZXNhbmR0CndpcmQuCgpDYWRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTUEFNIChPcmt0b2V0ZXIsIDI0LiBKYW4gMjAwMiwgMTc6MjA6NTUpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDExODg5MTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpIYXQgZGFzIG5pY2h0IEVsdmlzIChpbiB3ZWlzZXIgdm9ycmF1c3NpY2h0KSBzY2hvbiBnZXN1bmdlbj8KCiJSZXR1cm4gdG8gc2VuZGVyLi4iCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU1BBTSAoSGF0ZSwgMjUuIEphbiAyMDAyLCAwOTowNDo0NSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTE4ODkxMTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1CkRhbm4gZXJ6ZXVnc3QgRHUgZWluZW4gTG9vcCwgd2VpbCBkaWUgbWVpc3RlbiBkZXIgU3BhbSBhZHJlc3NlbiBuaWNodApleGlzdGllcmVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNQQU0gKENhZHJhY2gsIDI1LiBKYW4gMjAwMiwgMTA6MDQ6MjMpOgp+IyEgcm49SGF0ZSBydD0xMDExOTQ1ODg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpJY2ggd2lsbCBlcyBuaWNodCBhbiBkaWUgU1BBTS1BZHJlc3NlIGZvcndhcmRlbiwgc29uZGVybiB6LkIuIGFuIGRlbiBUY2hpYm8KS3VuZGVuZGllbnN0LiBIYWx0IGRlbmplbmlnZW4sIGRlciBkaWUgQWRyZXNzZSB1cnNwcnVlbmdsaWNoIG1hbAppbGxlZ2FsZXJ3ZWlzZSB3ZWl0ZXJnZWdlYmVuIGhhdCAoaWNoIGRhY2h0ZSBkYXMgd2FlciBpcmdlbmR3aWUga2xhcgpnZXdvcmRlbikuCgpDYWRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTUEFNIChCb2luZywgMjUuIEphbiAyMDAyLCAxMDowODoxMyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMTE5NDk0NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDExMzM4MzQ1ClVtIGRhbm4gZWluIGF1dG8tcmVwbHkgenUgZXJoYWx0ZW4sIGRhc3Mgd2llZGVyIGFuIGRlbiBLdW5kZW5kaWVuc3QgCmdlbGVpdGV0IHdpcmQgdW5kIGVpbiB3ZWl0ZXJlcyBhdXRvLXJlcGx5IGVyemV1Z3QgZXRjLj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU1BBTSAoQ2FkcmFjaCwgMjUuIEphbiAyMDAyLCAxMzozOToyNyk6Cn4jISBybj1Cb2luZyBydD0xMDExOTQ5NjkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpEYSBiZWkgbWlyIGtlaW5lcmxlaSBEYXRlbiBnZXNhbW1lbHQgd2VyZGVuLCBpc3QgZGFzIGdhbnplIGZ1ZXIgbWljaAp1bnByb2JsZW1hdGlzY2guIERlciBLdW5kZW5kaWVuc3QgaGFldHRlIGRhbm4gc2Nob24gZWhlciBlaW4gUHJvYmxlbSBkYW1pdCBhbHMKaWNoLgpSZWluIGludGVyZXNzZWhhbGJlcjogZ2lidHMgZGEgaW4gZGVuIFByb3Rva29sbGVuIGVpZ2VudGxpY2ggZWluZW4gU2NodXR6IHZvcj8KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTUEFNIChDdWNodWxsaW4sIDI1LiBKYW4gMjAwMiwgMTQ6NDA6MzgpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDExOTYyMzY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMTMzODM0NQpJY2ggd3VlcmRlIGRhenUgcmF0ZW4sIHNpY2ggb2IgZGVyIFByb3Rva29sbGUgdm9yIGRlbiBUYXRlbiBrdW5kaWcKenUgbWFjaGVuLiBXaXIgc2luZCBuaWNodCBpbSBXaWxkZW4gV2VzdGVuLCBTZWxic3QtIHVuZCBMeW5jaGp1c3Rpegp3b2xsZW4gd2lyIGRvY2ggYWxsZSB2ZXJtZWlkZW4sIGphPyA7KQoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNQQU0gKEFub3JpcywgMjcuIEphbiAyMDAyLCAxMzoyODozNSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxMTk2NjAzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKWC1Mb29wPwoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTUEFNIChFbmd5d3VjaywgIDMuIEZlYiAyMDAyLCAxNzo0MzowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMTMzODM0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTEzMzgzNDUKRWluZSBJZGVlIGlzdCB2aWVsbGVpY2h0IHd3dy5zcGFtbW90ZWwuY29tLiBXZW5uIER1IG1hbCBEZWluZSBFbWFpbC1BZHJlc3NlIGFuCmVpbmUgbmljaHQgdmVydHJhdWVuc3d1ZXJkaWdlIFN0ZWxsZSByYXVzZ2ViZW4gd2lsbHN0LCBrYW5uc3QgRHUgRGlyIGRvcnQKZWluZW4gTWFpbGFsaWFzIHZlcnBhc3NlbiBsYXNzZW4sIGRpZSBlaW5nZWhlbmRlIE1haWwgd2lyZCBkYW5uIGFuIERpY2gKd2VpdGVyZ2VsZWl0ZXQuIFdlbm4gZGVyIFNwYW0gdWViZXJoYW5kIG5pbW10LCBrYW5uc3QgZHUgZGllIEFkcmVzc2UgZGFubgp3aWVkZXIgbG9lc2NoZW4uCgpWaWVsIFNwYXNzLCAKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpYWJsbyAyIChHb3IsICA3LiBGZWIgMjAwMiwgMDA6Mjg6MzQpOgpIaSB6dXNhbW1lbiwKZWluaWdlIHZvbiBldWNoIGhhYmVuIHNpY2hlcmxpY2ggZG9jaCBhdWNoIGltIEJhdHRsZS1OZXQgRDIgZ2V6b2NrdC4gTnVuIGhhYmVuCndpciBlaW5lbiBnYW56IHRvbGxlIEVudGRlY2t1bmcgZ2VtYWNodC4gU2FlbXRsaWNoZSBBY2NvdW50cywgZGVyZW4gU3BpZWxlciA8Ckx2bCA1IGhhYmVuIHVuZCBkaWUgbnVyIHp1bSBCdW5rZW5yIGdlbnV0enQgd29yZGVuIHNpbmQsIHNpbmQgbmljaHQgbWVocgp2b3JoYW5kZW4uCkFsbGUgd3VyZGVuIGFtIDIzLjEyIGVpbmdlbG9ndC4gS29taXNjaGVyIFdlaXNlIGZlaGxlbiBnZW5hdSBkaWUgU3BpZWxlciwgZGllCmhvcmVuZCB3ZXJ0dm9sbGUgSXRlbXMgZGFiZWkgaGF0dGVuLiBJc3QgYmVpIGV1Y2ggZXR3YXMgYWVobmxpY2hlcwphdWZnZWZhbGxlbj8gQWNoamEgVm9ybSAyMy4xMiB3YXJlbiBzaWUgYW0gMTAuMTIgYWxsZSBkcmluLiBBbHNvIHNlbGJzdCBkYXMKc2luZCBub2NoIGtlaW5lIDkwIFRhZ2UgaGVyLgoKR3J1ZXNzIEdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpYWJsbyAyIChOYWRkbCwgIDcuIEZlYiAyMDAyLCAwMzo0MToyMyk6Cn4jISBybj1Hb3IgcnQ9MTAxMzAzODExNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTMwMzgxMTQKV2FzIHdpbGxzdCBEdSB1bnMgZGFtaXQgc2FnZW4/IEluIGxldHp6dGVyIFplaXQgbWFsICJ3ZXIgbW9yZ2VuIiBoaWVyIGdlbWFjaHQ/CklyZ2VuZHdhcyB2b24gIkRpYWJsby1UdXJib3RvbGwtWm9ja2VyIiBnZWxlc2VuPyBOZWluPyBEYW5rZS4KCmkuQS4gR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWFibG8gMiAoQm9pbmcsICA3LiBGZWIgMjAwMiwgMDc6MzI6NDEpOgp+IyEgcm49TmFkZGwgcnQ9MTAxMzA0OTY4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTMwMzgxMTQKR2xvaW5zb24sIGljaCBnbGF1YmUgbmljaHQsIGRhc3MgRGVpbiBkdW1tZXIgQXJ0aWtlbCBHb3IgaW4gaXJnZW5kZWluZXIKQXJ0IHVuZCBXZWlzZSB3ZWl0ZXIgaGlsZnQgLi4uCgpadW0gVGhlbWE6IE1laW5lIE11bGktQWNjb3VudHMgc2luZCBhbGxlIG5vY2ggZGEsIHNjaGVpbnQgYWxzbyBrZWluCmFsbGdlbWVpbmVzIFByb2JsZW0genUgc2Vpbi4KCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpYWJsbyAyIChOYWRkbCwgIDcuIEZlYiAyMDAyLCAwOTo0ODozNyk6Cn4jISBybj1Cb2luZyBydD0xMDEzMDYzNTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMzAzODExNApadXIgRmxhbWUgKHdpZSBrYW5uc3QgRHUgc293YXMgbnVyIHNvIHByb2ZhbiB6dSB1bnRlcmRydWVja2VuIHZlcnN1Y2hlbik6IEljaApzY2hyaWViIG51ciB3YXMgbWlyIHVuZCBNaXRsZXNlcm4gYXVzIGRlciBTZWVsZSBzY2hyaWUuCgppLkEuIEdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpYWJsbyAyIChCYW1iaSwgIDcuIEZlYiAyMDAyLCAxNDoyNDozOCk6Cn4jISBybj1OYWRkbCBydD0xMDEzMDcxNzE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMzAzODExNApJY2ggaGFiZSB3ZWRlciBEZWluZW4gQXJ0aWtlbCB2ZXJzdGFuZGVuIG5vY2ggd2FzIERpciBhdXMgZGVyIFNlZWxlIHNjaHJpZS4KS2FubnN0IER1IGRhcyBhdWNoIGZ1ZXIgV2VuaWctYmlzLWdhci1uaWNodHMtVmVyc3RlaGVyIHdpZSBtaWNoIHNjaHJlaWJlbiwKYWxzbyBzbywgZGFzcyBpY2gvd2lyIGRhcyB2ZXJzdGVoZShuKT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpYWJsbyAyIChHb3IsICA3LiBGZWIgMjAwMiwgMTQ6NDM6MTQpOgp+IyEgcm49QmFtYmkgcnQ9MTAxMzA4ODI3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTMwMzgxMTQKSWNoIGdsYXViZSBkYXMgd2FyIHNlaW5lIEludGVudGlvbi4gRGFzIG5pZW1hbmQgdmVyc3RlaHQgd2FzIGVyIGxhYmVydC4gTmFqYQp3aWUgYXVjaCBpbW1lci4gaWNoIHd1ZXJkZSBtaWNoIHRyb3R6ZGVtIHVlYmVyIHdlaXRlcmUgUG9zdHMsIGRpZSBkYXMKdXJzcHJ1ZW5nbGljaGUgVGhlbWEgYmV0cmVmZmVuLCBmcmV1ZW4uIDspCgpEYW5rZSAmIEdydXNzIEdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGlhYmxvIDIgKEdvciwgIDguIEZlYiAyMDAyLCAwODowNjoxNyk6Cn4jISBybj1OYWRkbCBydD0xMDEzMDkxMTAxIHJnPXNjaG1hcnJuCn4jISB0aWQ9MTAxMzAzODExNApTZWhyIGd1dCBHbG9pbnNvbiwKaWNoIHd1c3N0ZSBzY2hvbiBpbW1lciwgZGFzcyBkdSBldWJlciBlaW5lbiBzZWhyIGhvY2hlbnR3aWNrZWx0ZW4gSW50ZWxsZWt0CnZlcmZ1ZWdzdC4gRGFydW0gZ2luZyBlcyBtaXIgbmljaHQgaW0gbWluZGVzdGVuLiBJY2ggd29sbHRlIGxlZGlnbGljaCB3aXNzZW4uLApvYiBlcyBub2NoIGFuZGVyZSBlcndpc2NodCBoYXQuIEljaCBmdWVyIG1laW5lbiBUZWlsIHdlcmUgRDIgaXJnZW5kd2llCnZlcmhlYmVsbiBzZWlzIGJlaSBFYmF5IG9kZXIgc29uc3Qgd28uIE1pY2ggc2Nob24gd2llZGVyIHZvbiBCbGl6emFyZAp2ZXJhcnNjaGVuIGxhc3NlbiwgZGFyYXVmIGhhYmUgaWNoIHdpcmtsaWNoIGtlaW5lIEx1c3QuIApOb2NoZWlubWFsIHp1IGRpciBTb2huIHZvbiBHbG9pbi4gRHUgbXVzc3Qgc2Nob24gZWluIGFybWVzIFd1ZXJzdGNoZW4gc2VpbiwKd2VubiBkdSBkaWNoIGF1ZiBkaWVzZSBBcnQgdW5kIFdlaXNlIHByb2ZpbGllcmVuIG11c3N0LCBpbmRlbSBkdSBpbiBqZWRlbQpUaHJlYWQgZXR3YXMgc2NocmVpYnN0LCB2b24gZGVtIGR1IGtlaW5lIEFobnVuZyBoYXN0LgpHb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERpYWJsbyAyIChOb25uZSwgIDguIEZlYiAyMDAyLCAwOTo0MzoxOSk6Cn4jISBybj1Hb3IgcnQ9MTAxMzE1MTk3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTMwMzgxMTQKRGFmdWVyIGdpYnRzIGltIFVzZW5ldCBlaWdlbnRsaWNoIG51ciBlaW5lIEFudHdvcnQsIGRpZSBpY2ggYXVjaCBudXIKdW50ZXJzY2hyZWliZW4ga2FubjogRG9udCBmZWVkIHRoZSB0cm9sbHMhCgpJcmdlbmR3YW5uIHdpcmRzIGplZGVtIGxhbmd3ZWlsaWcsIHdlbm4gZXIgYXVmIHNlaW5lIE11ZWxscG9zdGluZ3Mga2VpbmUKQW50d29ydGVuIG1laHIgYmVrb21tdC4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGlhYmxvIDIgKEJlbmRlciwgMTEuIEZlYiAyMDAyLCAxOTozNDo0OSk6Cn4jISBybj1Hb3IgcnQ9MTAxMzA4OTM5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTMwMzgxMTQKQWxzbyBiZWkgbWlyIGlzIGF1Y2ggbmljaHRzIHBhc3NpZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW50d2FybnVuZyB1bmQgYXVmIGVpbmUgbGFuZ2UgVXB0aW1lISAoTml6emwsIDEyLiBGZWIgMjAwMiwgMjM6Mjk6MjApOgp+IyEgcm49Wm9vayBydD0xMDEzNTQ2ODMzIHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDEzNTQ2ODMzCklvbGFudGhlIGxhZXNzdCBzaWNoIGltbWVyIG5vY2ggbmljaHQgZmluZ2VybiA6KSBnaW5nIGFiZXIgZ2xhdWInIG5vY2ggbmllLApzZWl0IGljaCBoaWVyIGJpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVzZW5ldC1HcnVwcGUgZGUuYWx0Lm11ZCAoVHVyYm8sIDE1LiBGZWIgMjAwMiwgMDA6Mjc6MjkpOgpIYWxsbywKCk51ciBtYWwgZWluIEhpbndlaXMgKGhvZmZlbnRsaWNoIGlzdCBkYXMgb2spLgoKSW0gZGV1dHNjaHNwcmFjaGlnZW4gVXNlbmV0IGdpYnQgZXMgc2VpdCBjYS4gMTAgSmFocmVuIGRpZQpOZXdzZ3J1cHBlIGRlLmFsdC5tdWQsIGluIGRlciBhbGxlIE11ZHMgYmV0cmVmZmVuZGVuIEZyYWdlbgpkaXNrdXRpZXJ0IHdlcmRlbiBrb2VubmVuIHVuZCBhdWNoIGRpc2t1dGllcnQgd2VyZGVuLiBBbGxlcmRpbmdzCmlzdCBkaWUgKHNjaHJlaWJlbmRlKSBCZW51dHp1bmcgZGVyIEdydXBwZSBtaXQgZWluZXIgQXJ0aWtlbG1lbmdlCnZvbiAzMC0zNSBQb3N0aW5ncy9Nb25hdCBzbywgZGFzcyBlcyBpbiBkZW4gbGV0enRlbiBKYWhyZW4KbWVocmZhY2ggKHp1bGV0enQgZ2VyYWRlIHZvciBlaW4gcGFhciBUYWdlbikgenUgVm9yc2NobGFlZ2VuCmluIGRlbiBVc2VuZXQtQWRtaW5mb3JlbiBrYW0sIGRpZSBHcnVwcGUgenUgbG9lc2NoZW4uCgpJY2ggbW9lY2h0ZSBkYWhlciBub2NoIGVpbm1hbCBhbGxlLCBkaWUgZGllc2UgS29tbXVuaWthdGlvbnMtCm1vZWdsaWNoa2VpdCBuaWNodCBrZW5uZW4sIGRhcmF1ZiBoaW53ZWlzZW4sIGRhc3MgZXMgaW0gVXNlbmV0CmRpZXNlcyBGb3J1bSBnaWJ0LCBpbiBkZW0gcHJvZ3JhbW10ZWNobmlzY2hlLCBzcGllbGJlem9nZW5lCnVuZCBhbGxnZW1laW5lcmUgRnJhZ2VuIGRlcyBNdWRkZW5zIGRpc2t1dGllcnQgd2VyZGVuIGtvZW5uZW4uCkRpZSBEZWJhdHRlbiB1bSBMb2VzY2h1bmdlbiBoYWJlbiBzdGV0cyBnZXplaWd0LCBkYXNzIGVpbgpzZWhyIGdyb3NzZXIgUGVyc29uZW5rcmVpcyBkaWVzZSBHcnVwcGUgbGllc3QgdW5kIHdhaHJuaW1tdC4KCkVzIHdhZXJlIHNjaG9lbiwgd2VubiBkaWVzZSBLb21tdW5pa2F0aW9uc21vZWdsaWNoa2VpdCBhdWNoCmF1cyBNRyBzdGFlcmtlciB3YWhyZ2Vub21tZW4gd3VlcmRlLiBVbmQgbmVpbiwgYml0dGUgbmljaHQgYWxsZQphdWYgZWlubWFsLgoKR2FueiBrdXJ6ZSBXYXJudW5nOiBXZXIgbm9jaCBuaWUgaW0gVXNlbmV0IHdhciwgYml0dGUgdm9yIGRlbQpQb3N0ZW4gdW5iZWRpbmd0IGRpZSBBbmxlaXR1bmdlbiBpbiBkZXIgR3J1cHBlIGRlLm5ld3VzZXJzLmluZm9zCmF1Zm1lcmtzYW0gbGVzZW4uIExlaWRlciBtYWNoZW4gYmVzdGltbXRlIE5ld3NyZWFkZXIgKHZvciBhbGxlbQpPdXRsb29rIEV4cHJlc3MpIGVzIGFsbHp1IGVpbmZhY2gsIHNpY2ggbWl0IHZlcm1laWRiYXJlbiBGZWhsZXJuCmF1c2dlc3Byb2NoZW4gdW5iZWxpZWJ0IHp1IG1hY2hlbi4KCkdydWVzc2UKClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdydWVzc2UhIChNYXJpdGEsIDE1LiBGZWIgMjAwMiwgMDE6NTc6NTMpOgoKSGFsbG8gTUcsCgphdWNoIHdlbm4gbWljaCBoZXV0ZSBiZWkgbWVpbmVtIGVyc3RlbiBMb2dpbiBuYWNoIDEzNjEgX3VlYmVyaGF1cHRfIF9rZWluZXJfCmJlbWVya3QgaGF0IChzbyBzY2huZWxsbGViaWcgaXN0IGRhcyBNRyksIGtlbm5lbiBtaWNoIHZpZWxsZWljaHQgbm9jaCBlaW5pZ2UsCmltbWVyaGluIHN0ZWhlIGljaCBhdWYgZGVyIExpc3RlIGRlciBHZXN1Y2h0ZW4uIEFsc28sIGljaCBsZWJlIG5vY2gsIHVuZCBtaXQKZWluZW0gZ2FueiBlbnRzY2hpZWRlbmVuIFZpZWxsZWljaHQgd2lyZCBzaWNoIG1laW4gTWVuc2NoIHNvZ2FyIGF1ZiBkZXIKSnViaWxhZXVtc3BhcnR5IGJsaWNrZW4gbGFzc2VuLiAoSWNoIHdlaXNzIGRhcyBzb2xsdGUgaWNoIGVpZ2VudGxpY2ggZGVtClBhcnR5bW9uc3RlciBvZGVyIGVpbmVyIFBhcmt1aHIgZXJ6YWVobGVuLCBhYmVyIGVpbmlnZSBWZXRlcmFuZW4gZnJldXQncwp2aWVsbGVpY2h0IHRyb3R6ZGVtKQoKSGVlLCBpY2ggc2FndGUgInZpZWxsZWljaHQiLgoKU2VpdCBsYW5nZW0gd2llZGVyIG1laW4gZXJzdGVyLi4uIEJlaXRyYWNoISA6LSkKTWFyaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVXNlbmV0LUdydXBwZSBkZS5hbHQubXVkIChWYXJkaW9uLCAxNS4gRmViIDIwMDIsIDA5OjA3OjIxKToKfiMhIHJuPVR1cmJvIHJ0PTEwMTM3MjkyNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEzNzI5MjQ5CkhtbW0uLi4gc2Nob2VuIHVuZCBndXQsIGFiZXIgd2FzIGdlbmF1IHNvbGx0ZSBtYW4gZG9ydCBkaXNrdXRpZXJlbiBrb2VubmVuLAp3YXMgbmljaHQgYXVjaCBpbiBkZXIgTVBBIGdlaHQ/IERpZSB3aXJkIHp3YXIgbnVyIHZvbiBNR2xlcm4gZ2VsZXNlbiwgYWJlciB6dW0KZWluZW4gaXN0IGRhcyBNRyBkYXMgZ3JvZXNzdGUgZGV1dHNjaGUgTVVEIChhdWNoIHZvbiBkZXIgU3BpZWxlcnphaGwgaGVyKSB1bmQKenVtIGFuZGVyZW4gaGFiZW4gZGllIG1laXNzdGVuICJ3aWNodGlnZW4iIExldXRlIGF1cyBhbmRlcmVuIGRldXRzY2hlbiBNVURzCmhpZXIgYXVjaCBpcmdlbmQgZWluZW4gQ2hhci4gQWxzbyBpY2ggc2VoZSBpcmdlbmR3aWUgbmljaHQgZGllIE5vdHdlbmRpZ2tlaXQsCmF1ZiBkaWVzZSBVc2VuZXQtR3J1cHBlIGF1c3p1d2VpY2hlbi4gQXVzc2VyZGVtIGthbm4gZGllIE1QIGdhcmFudGllcnQgdm9uCmFsbGVuIGdlbGVzZW4gd2VyZGVuLCBkaWUgZXMgYmV0cmlmZnQgLSBkZW4gTXVkZGVybiwgd2VyaHJlbmQgZGllIEJlbnV0enVuZwplaW5lciBOZXdzZ3JvdXAgenVzYWV0emxpY2hlIFNvZnR3YXJlICh1bmQgbmV1ZW4gTGVybmF1ZndhbmQgZnVlciBkaWUsIGRpZQpzb3dhcyBuaWUgYmVudXR6dCBoYWJlbikgYmVkZXV0ZXQuCgpKdXN0IG15IDIgQ2VudHMsClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVXNlbmV0LUdydXBwZSBkZS5hbHQubXVkIChDYXR3ZWF6bGUsIDE1LiBGZWIgMjAwMiwgMDk6NDg6NTkpOgp+IyEgcm49VmFyZGlvbiBydD0xMDEzNzYwNDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxMzcyOTI0OQpJY2ggc2VoZSBkYXMgc28sIGRhcyBkZS5hbHQubXVkIGRhcyBlaW56aWdlIE11ZC11ZWJlcmdyZWlmZW5kZSBGb3J1bSBpc3QsCmluZGVtIHNjaHJpZnRsaWNoZXMgbGFuZ2ZyaXN0aWcgZmVzdGdlaGFsdGVuIHdpcmQuIERlciBJbnRlcm11ZC1LYW5hbCBpc3QgendhcgpnYW56IHByYWt0aXNjaCwgYWJlciBsZWlkZXIgenUga3VyemxlYmlnLiBJY2ggZmluZGUgZXMgZGFoZXIgX2Vub3JtXyB3aWNodGlnLApkYXMgZGUuYWx0Lm11ZCBlcmhhbHRlbiBibGVpYnQuIAoKZGUuYWx0Lm11ZCBoYXQgc2ljaCBzZWl0IDEwIEphaHJlbiAnZWluZ2VidWVyZ2VydCcuIERhcyBwcmFrdGlzY2hlIGFuIGRlbQpLYW5hbCBpc3QsIGRhcyBlcyBoYWx0IGF1c3NjaGxpZXNzbGljaCB1bSBNdWRzIGdlaHQgdW5kIG1hbiBpbW1lciBzaWNoZXIgc2VpbgprYW5uLCBkYXMgbWFuIEJlaXRyYWVnZSBhdWNoIG51ciB6dSBkaWVzZW0gVGhlbWEgZmluZGV0LiBTb2xsdGUgZGUuYWx0Lm11ZApnZXp3dW5nZW4gd2VyZGVuIGlyZ2VuZHdvIG5hY2ggZGUuYWx0LmlyZ2VuZHdhcy5ycGcgYXVzenV3YW5kZXJuIHVuZAppbnRlZ3JpZXJ0IHdlcmRlbiwgYmluIGljaCBtaXIgc2ljaGVyLCBkYXMgaWNoIGRhcyBuaWNodCBtZWhyIGxlc2VuIHd1ZXJkZS4gU28Kd2VuaWcgd2llIGljaCBkYXMgdXNlbmV0IGJyYXVjaGUgYmluIGljaCBtaXIgc2ljaGVyLCBkYXMgaWNoIG1pciBuaWNodCBkaWUKTXVlaGUgbWFjaGVuIHd1ZXJkZSwgZWluZSBSdWJyaWsgbWl0IGh1bmRlcnRlbiB2b24gTmFjaHJpY2h0ZW4gcHJvIE1vbmF0IG5hY2gKZGVuIDM1IGR1cmNoenVzdWNoZW4sIGRpZSBtaWNoIGludGVyZXNzaWVyZW4uIAoKRGFydW0gZWluIGdhbnoga2xhcmVzICdwcm8gZGUuYWx0Lm11ZCcuIEljaCBoYWV0dGUgenVtIEJlaXNwaWVsIHNvbnN0IG5pY2h0Cmdld3Vzc3QsIHdvIGljaCBtdWR1ZWJlcmdyZWlmZW5kIGRpZSBQYXJ0eS1FaW5sYWR1bmcgaGFldHRlIHZlcm9lZmZlbnRsaWNoZW4Kc29sbGVuLiBJY2ggaGFldHRlIG1pciBrYXVtIGRpZSBNdWVoZSBnZW1hY2h0LCBpbiBqZWRlcyBNdWQgZWluemVsbiB6dSBnZWhlbi4KCkZyYWdlIGFtIFJhbmRlOiBlcyBnYWIgZG9jaCBtYWwgQmVtdWVodW5nZW4gZGllIE1QQSBtaXQgZGVtIHVzZW5ldCB6dQp2ZXJrbnVlcGZlbi4gV2llIHNpZWh0cyBkZW5uIGRhbWl0IGF1cz8KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVc2VuZXQtR3J1cHBlIGRlLmFsdC5tdWQgKE11cGZlbCwgMTUuIEZlYiAyMDAyLCAyMDowMTowMyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwMTM3NjA0NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEzNzI5MjQ5CkRhcyBpc3QgZGllIEFycm9nYW56IGRlcyBNYXJrdGZ1ZWhyZXJzIDspIFdvenUgZWluIGRlLmFsdC5tdWQgPyBTb2xsZW4gZG9jaAphbGxlLCBkaWUgZGEgbGVzZW4gdW5kIHNjaHJlaWJlbiB3b2xsZW4sIG5lbiBDaGFyIGltIE1HIGFubGVnZW4sIHVuZCBkaWUgbXBhCmxlc2VuLi4uIGRhIG1hY2hlbiB3aXIgbmUgUnVicmlrICJkZS5hbHQubXVkIiB1bmQgZ3V0IGlzLiAKRGllIExldXRlIHdlcmRlbiBEaXIgd2FzIGh1c3RlbiA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4QGJ1bmRlc3RhZyAoQ2F0d2VhemxlLCAyMC4gRmViIDIwMDIsIDEyOjQ1OjUzKToKSG0sIGdsZWljaCBnaWJ0cyBkYSBuZSBEaXNrdXNzaW9uIGltIEhlaXNlLUNoYXQuIApXZXIgTHVzdCBoYXQgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eEBidW5kZXN0YWcgKEJvaW5nLCAyMC4gRmViIDIwMDIsIDEyOjUyOjA1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDE0MjA1NTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNDIwNTU1MwpFaW5lIERpc2t1c3Npb24gb2RlciBlaW5lbiBGbGFtZXdhcj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmxSb2xsbnNwaWVsZSAoRWxpemFiZXRoLCAyNy4gRmViIDIwMDIsIDIxOjEzOjI3KToKSGlyIHdlaXNzIG5pY2h0IHp1ZmFsbGlnIGplbWFuZCBlaW5lIEFkcnNzZSBhbiBkaWUgbWFuIHNpY2ggd25kbiBrYW5uIGZ1ZXIKcmxyb2xsbnNwaWVsZSA/CndhZXIgbmV0dCB3ZW5uIGRlci9kaWUvZGFzIG1pciBtYWwgenVtIHRoZW1hPCBtYWlsdC4uCmRhbmtlCmVsbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSbFJvbGxuc3BpZWxlIChSb25kYSwgMjcuIEZlYiAyMDAyLCAyMToxNTowMyk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAxNDg0MDgwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTQ4NDA4MDcKKnNjaG11bnplbCogR3V0ZSBJZGVlLCBkYSBmYWVsbHQgbmUga2xlbW1lbmRlIFRhc3RhdHVyIGF1Y2ggbmltbWVyIGF1ZiA7LSkKClJvbmRhICpvaG5lIGd1dGUgTGlua3MgaGV1dGUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmxSb2xsbnNwaWVsZSAoUm9jaHVzLCAgMS4gTWFyIDIwMDIsIDAwOjA0OjA0KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDE0ODQwODA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNDg0MDgwNwpXZW5uIER1IFBlbiZQYXBlciBtZWluc3Q6CkluIEJlcmxpbiBuZXh1cy5waGFudGFzaWEub3JnCkJlaSBMQVJQOiBJY2gga2VubiBkYSBlaW4gcGFhciBMZXV0ZSA6KQoKUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJsUm9sbG5zcGllbGUgKFhlbmFkYSwgIDUuIE1hciAyMDAyLCAxODo1NzoyNik6Cn4jISBybj1Sb2NodXMgcnQ9MTAxNDkzNzQ0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTQ4NDA4MDcKZGEgZHUgamEgaW4gYmVybGluIHdvaG5zdCB3dWVyZCBpY2ggZGlyIGRlbiBsYWRlbiAic3BpZWxicmV0dCIgZW1wZmVobGVuLgpkaWUgYWRyZXNzZSBpcyBtaXIgbnVyIGdyYWQgZW50ZmFsbGVuLi4uZGllIHN0ZWhlbiBhYmVyIGltIHRlbGVmb25idWNoLgpYZW5hZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSbFJvbGxuc3BpZWxlIChRaXRlc3MsIDExLiBNYXIgMjAwMiwgMDA6MDE6MDkpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMTQ4NDA4MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE0ODQwODA3Ck1laW5zdCBEdSBMYXJwPyBoZWhlLCBnZWlsZ2VpbC4uLiBUaGlsb3MtTGFycGthbGVuZGVyICh3d3cubGFycGthbGVuZGVyLmRlKQpzb2lsbHRlbiBlaW4gcGFhciBuZXR0ZSBpbmZvcyBkcnVudGVyIHNlaW4uIGFuc29uc3RlbiAtIGljaCBrYW5uIGRpZSBicnV0IGdvcgp1bmQgaWhyZSBmcmV1bmRlIGF1aXMgdW5kIGluIGJyYXVuc2Nod2VpZyBudXIgZW1wZmVobGVuIDstKQpRSSoqClNpZW50amUqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChHcmltbWJvcm4sIDExLiBNYXIgMjAwMiwgMDk6MjU6NDUpOgpBdWYgZHJlaSB1bmFiaGFlbmdpZ2VuIG5hbWVzZXJ2ZXJuIGJla29tbWVuIGljaCBlaW46Cm5zbG9va3VwIG1nLm11ZC5kZQoqKiogbnMuY2FsZGVyYS5kZSBjYW4ndCBmaW5kIG1nLm11ZC5kZTogTm9uLWV4aXN0ZW50IGhvc3QvZG9tYWluCgpOaWNodCBkYXNzIGljaCBtaWNoIGF1c2tlbm5lbiB3dWVyZGUsIGFiZXIgZGFzIHNjaGVpbnQgd29obCBlaW4gYWxsZ2VtZWluZXJlcwpQcm9ibGVtIHp1IHNlaW4uIERpZSBJUCBkZXMgUmVjaG5lcnMgaXN0IDE5NC45NS4xNzAuMjA1LCBmYWxscyBqZW1hbmQgZGFzIGhpZXIKbGVzZW4ga2FubiBkZW0gZGllc2UgSW5mb3JtYXRpb24gd2VpdGVyaGlsZnQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoRm9vYmFyLCAxMS4gTWFyIDIwMDIsIDA5OjI3OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE1ODM1MTQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQpVbnRlciBkZW0gTmFtZW4gbWcuZmlyc3QuZ21kLmRlIGlzdCBkZXIgUmVjaG5lciBhdWNoIGVycmVpY2hiYXIuCgpHcnVzcywKCiAgICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoQ2F0d2VhemxlLCAxMS4gTWFyIDIwMDIsIDA5OjMyOjA0KToKfiMhIHJuPUZvb2JhciBydD0xMDE1ODM1Mjc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQpMZXR6dGUgV29jaGUgaGF0IEhhdGUgdm9yZ2V3YXJudCwgZGFzIGVyIGRlbiBQcm92aWRlciBvZGVyIHNvbnN0d2FzIHdlY2hzZWx0CnVuZCBzaWNoIGRlc3dlZ2VuIFByb2JsZW1lIGVyZ2ViZW4ga29lbm5lbi4KQWxzbyBzdGF5IHB1ZnQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChNb250YW51cywgMTEuIE1hciAyMDAyLCAyMjozOTowNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxNTgzNTUyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKTmFqYSwgZ2FueiBtdWQuZGUgaXN0IG5pY2h0IGVycmVpY2hiYXIsIG5pY2h0IG51ciBkYXMgKiouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBtZy5tdWQuZGU6IEROUy1Qcm9ibGVtZT8gKEdyaW1tYm9ybiwgMTEuIE1hciAyMDAyLCAyMjo0MTo1Myk6Cn4jISBybj1Nb250YW51cyBydD0xMDE1ODgyNzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQpJc3QgbWl0dGxlcndlaWxlIGJla2FubnQuIERhaGVyIGhpZXIgZWluZSBMaXN0ZSB2ZXJzY2hpZWRlbmVyIG11ZHMgKG1pdCBEYW5rCmFuIENocmlzdGlhbiBGaWVkbGVyKToKCjNrICAgICAgICAgICAgICAgICAgIDIwNy41Ny42NC4xMDkKQWJhbmRvbmVkTXVkICAgICAgICAgMjA2LjIwLjIxNy45CkFkYW1hbnQgICAgICAgICAgICAgIDEzMC44My45LjE5CkFldGhlck11ZCAgICAgICAgICAgIDE2NC4xMDcuODQuNTQKQWZ0ZXJIb3VycyAgICAgICAgICAgMjA0LjcxLjE1Ny4yMDEKQWxhdGlhICAgICAgICAgICAgICAgMjA3Ljk2LjQwLjYyCkFsZGViYXJhbiAgICAgICAgICAgIDE5NC4xNjIuMjAwLjE1CkFuY2llbnRBbmd1aXNoICAgICAgIDIwOC4yNS40OS41CkFuY2llbnRBbmd1aXNoVGVzdCAgIDIwOC4yNS40OS41CkFuZGVyTGFuZCAgICAgICAgICAgIDE5NC45NC4yMjQuMTgxCkFubm8gICAgICAgICAgICAgICAgIDEzNC4xNzYuMTgzLjgKQVNURVJJWCAgICAgICAgICAgICAgMTI4LjEzMC4xMDkuNTEKQXVyb3JhICAgICAgICAgICAgICAgMTQxLjIwMS44MC41NQpBdmFsb24gICAgICAgICAgICAgICAxNDEuODIuMTYuMTg4CkJldXRlbGxhbmQgICAgICAgICAgIDE5My4xNzAuNzIuMjEyCkJyb2tlblByb21pc2VzICAgICAgIDE1Ny45MS4xLjI1MwpDYXJsZWRvbiAgICAgICAgICAgICAxNDEuNTUuMjI1LjI2CkNoYW9zTVVEICAgICAgICAgICAgIDIwOS4xNDAuMzQuMTUyCkNpdHlMaWZlICAgICAgICAgICAgIDE5NC45NS4xOTMuOQpDb3Ntb3MgICAgICAgICAgICAgICAyMDcuNjcuODUuMwpDcmltc29uZXN0aSAgICAgICAgICAyMDYuMjQ1LjE1OC4zOApEYXJrd29ybGQgICAgICAgICAgICAyMDQuNzEuMTU3LjIwMgpEZWFkb2ZOaWdodCAgICAgICAgICAyMDQuNzEuMTU2LjQKRGVhdGhSaXNpbmcgICAgICAgICAgMjQuMTI4LjEwMS4yMjEKRGVmaWFuY2UgICAgICAgICAgICAgMjA5LjE5OC4zMi4yMApEZXZEdW5lICAgICAgICAgICAgICAyMDkuNTAuMjI1LjM2CkRvbnRQYW5pYyAgICAgICAgICAgIDIwNy40OS4yNDAuNjIKRHJhZ29uRmlyZSAgICAgICAgICAgMjA5LjgzLjEzMi42NgpEcmFnb25IZWFydCAgICAgICAgICAyMDQuNzEuMTU3LjIwMgpEdW5lICAgICAgICAgICAgICAgICAyMDkuNTAuMjI1LjE0CkVvdEwgICAgICAgICAgICAgICAgIDE3MS42NC4xMi4zMApFcXVpbm94S25pZ2h0cyAgICAgICAyMDcuNjcuODUuMwpFdmVybW9yZSAgICAgICAgICAgICAxMzQuMi4xNC4xMjMKRmFsbGVuTmlnaHQgICAgICAgICAgMjQuMTMxLjU5LjQ1CkZhbnRhc2lhICAgICAgICAgICAgIDEyOC4xMzAuODcuMTA0CmZlYXIgICAgICAgICAgICAgICAgIDE5NS40OC42OS4xNDAKRmluYWxGcm9udGllciAgICAgICAgMTkzLjE5Ny4xNTMuMjAKRmlyc3RMaWdodCAgICAgICAgICAgMTM0LjE3Ni4xMzkuNjAKRm9yZ290dGVuS2luZ2RvbXMgICAgMjA2LjI0NS4xNTguMTcKR3VlbGRlbkxhbmQgICAgICAgICAgMTk0LjY0LjIzOS41MQpJbmZlcm5vICAgICAgICAgICAgICAxMjguMTMwLjEwOS41MQpJbnRvVGhlTGlnaHQgICAgICAgICAxOTQuOTQuNzguODcKSXRoYWNhcydNdWQgICAgICAgICAgMjA1LjIzMi4zNC4yMApJdnkmQ2hyb21lICAgICAgICAgICAyMDguMi4yNy45Cktlcm92bmlhICAgICAgICAgICAgIDIwNC43MS4xNTYuNjYKS25pZ2h0c19vZl9TaGFkb3cgICAgMjA0LjcxLjE1Ny4yMDIKTGlnaHRvZkRheSAgICAgICAgICAgMjA0LjcxLjE1Ny4xMjgKTExNQyAgICAgICAgICAgICAgICAgMjA0LjcxLjE1Ni42NgpNYWV0aG9zICAgICAgICAgICAgICAyMDQuNzEuMTU2LjYKTWFnaWNPZlRoZURyYWdvbnMgICAgMTk0LjEyMS4yMDIuMTEwCk1heWhlbSAgICAgICAgICAgICAgIDE0MS4yMTguNDAuNzYKTWVlY2hNdWQgICAgICAgICAgICAgMjE2LjExMS4xNjAuMTM4Ck1vcmdlbkdyYXVlbiAgICAgICAgIDE5NC45NS4xNzAuMjA1Ck15c3RpY0RyYWdvbnMgICAgICAgIDIwNC43MS4xNTcuMjAyCk15dGhzICAgICAgICAgICAgICAgIDE5NC4xMTkuMTI5LjIyMgpOYXRpdmVMYW5kcyAgICAgICAgICAyMDkuODMuMTMyLjcwCk5ld01vb24yICAgICAgICAgICAgIDEzMS4yNTIuMjA4LjQ4Ck5ld1dvcmxkTXVkICAgICAgICAgIDIwNC4yNTIuMjAuOQpuZXh1cyAgICAgICAgICAgICAgICAxMzQuMTE1LjgyLjEyOApOaWdodGZhbGwgICAgICAgICAgICAxMzQuMi4xNzAuOTkKT3JjaGFyZCAgICAgICAgICAgICAgMjEyLjIxLjIuMTU3Ck9TQiAgICAgICAgICAgICAgICAgIDE5Mi4xMjQuMjguODAKT3V0ZXJTcGFjZSAgICAgICAgICAgMjEyLjgzLjc2Ljg5Ck91dGVyU3BhY2VUZXN0ICAgICAgIDIxMi44My43OC43NgpQSy1NdWQgICAgICAgICAgICAgICAxNDEuNTUuMjI1LjI2ClJlYWxtc211ZCAgICAgICAgICAgIDIwOC4xNDguMTcuMTcKUmVhbG1zdGVzdCAgICAgICAgICAgMjA4LjE0OC4xNy4xNgpSZWdlbmJvZ2VuICAgICAgICAgICAxNDEuNzYuMS4yClJpdHVhbFNhY3JpZmljZSAgICAgIDIwMy4xMDMuNzcuNDUKU2Vjb25kU2t5ICAgICAgICAgICAgMTk0LjIyMS41LjYKU2VpZmVuYmxhc2UgICAgICAgICAgMTQxLjcuMTUuMTAKU2hhdHRlcmVkTGFuZHMgICAgICAgMjA3LjE1My42Ni4xNTAKU2lsYmVyTGFuZCAgICAgICAgICAgMTk1LjM0LjEzMS4zNApTaWxpY29uRHJlYW0gICAgICAgICAxOTQuOTUuMjA5LjMKU0lMS0UgICAgICAgICAgICAgICAgMTM0LjEwMC4yMjEuMTAxClNpdmFvICAgICAgICAgICAgICAgIDE0MS4yMi4xOTQuMTM1ClNvbm55T3ZlbiAgICAgICAgICAgIDIwNS4yNDMuMTM5LjUxClN1c2hpICAgICAgICAgICAgICAgIDEzNy40NC4xMDIuMjAKVEFQUE11ZCAgICAgICAgICAgICAgMTMxLjI0Ni44OS4yMwpUZXJhYml0aGlhICAgICAgICAgICAyMDQuNzEuMTU2LjY2ClRlcmFEZXYgICAgICAgICAgICAgIDIwNC43MS4xNTYuNjYKVGVzdC1EVyAgICAgICAgICAgICAgMTM0Ljk2LjIyMC4yMApUZXN0U2lsYmVyQCAgICAgICAgICAxMjguMTMwLjEwOS41MQpUaGVSZWFsbXMgICAgICAgICAgICAyMDQuNzEuMTU3LjIwMgpUaGlyZEFnZSAgICAgICAgICAgICAxMzQuMTA2LjEyMS4yMjAKVGlkZXNvZkRhcmtuZXNzICAgICAgMjAzLjMzLjI1My4yMzAKVGltZXNQZXJpbCAgICAgICAgICAgMjA3LjQ5LjI0MC42MgpUaW1ld2FycCAgICAgICAgICAgICAyMDcuNDkuMjQwLjYyClRpbWV3YXJwLVJFTkVHQURFICAgIDIwNC44OS4xNDQuMjMKVG90TCAgICAgICAgICAgICAgICAgMjA0LjE3LjE2My4xNwpUcmFuc2h1bWFuICAgICAgICAgICAxMzEuMTMwLjE0MS4xMDAKVHJla01VRCAgICAgICAgICAgICAgMTk0Ljc3LjE4Ny4zClRyb24gICAgICAgICAgICAgICAgIDE0MS4yNDEuODQuNjUKVHJvbkRldiAgICAgICAgICAgICAgMTQxLjI0MS44NC42NQpUdWJNdWQgICAgICAgICAgICAgICAxMzAuMTQ5LjE5LjIwClR1cml0aGlsICAgICAgICAgICAgIDE5My4xNzAuMTkyLjc4ClVsYW50cmlzICAgICAgICAgICAgIDIwNi4xMDkuMTUzLjY2ClVOSXRvcGlhICAgICAgICAgICAgIDEyOS42OS4yMjEuMTMwClVua25vd24gTXVkICAgICAgICAgIDIwOC4xNDEuMTM2LjUwClZlbnVzICAgICAgICAgICAgICAgIDIwNy4yMzguMTYyLjE4CldlZUhvdXJzICAgICAgICAgICAgIDIxNi4xOS41Ni44Cld1bmRlcmxhbmQgICAgICAgICAgIDEzOS4xOC4xMS4xNjEKWmViZWRlZSAgICAgICAgICAgICAgMTM4LjQwLjE3LjExClplaXR0dW5uZWwgICAgICAgICAgIDEzNC4xMDkuMTMyLjYzCgpIYXZlIGZ1bi4KR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBtZy5tdWQuZGU6IEROUy1Qcm9ibGVtZT8gKEFudGhlYSwgMTIuIE1hciAyMDAyLCAxMDowODozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxNTg4MjkxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKKmdyaW5zKiBXZW5uIG1hbiBhbHNvIGlucyBNdWQgcmVpbmtvbW10LCBrYW5uIG1hbiBuYWNobGVzZW4sIHdpZSBtYW4gaW5zIE11ZApyZWlua29tbXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoSHVtbmksIDEyLiBNYXIgMjAwMiwgMTI6MTM6MTMpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTU5MjQxMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE1ODM1MTQ1CkRhbm4gbXVzcyBpY2ggbm90Z2VkcnVuZ2VuIG5vY2ggZWluZW4gZHJhdWZzZXR6ZW46CgpFcGFjcmlzICAgICAgICAgICAyMTcuODkuMTAwLjE1ICAgIDIzCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGRlIE1HIGUuVi4gKFZpcGVyLCAxMi4gTWFyIDIwMDIsIDIyOjE4OjAwKToKSHVodSwKSHVodSwKCmluIGRlciBSdWJyaWsgVmVyZWluIGhhYmUgaWNoIGdlcmFkZSBkaWUgRWlubGFkdW5nIHp1ciBNaXRnbGllZGVydmVyc2FtbWx1bmcKdmVyb2VmZmVudGxpY2h0LCBCZWkgSW50ZXJlc3NlIGJpdHRlIGljaCBkb3J0IG5hY2h6dXNjaGF1biwKCgpHcnVlc3NlCgoKCnZpcGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBtZy5tdWQuZGU6IEROUy1Qcm9ibGVtZT8gKFFpdGVzcywgMTMuIE1hciAyMDAyLCAxODowMzowMSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNTkyNDExNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKT2gsIGluIG1hbmNoZW4gRmlybWVuIGlzdCBkYXMgc28gdm9lbGxpZyBub3JtYWwuCkJlaSBlaW5lbSBncm9zc2VuIE5pZWRlcnNhZWNoc2lzY2hlbiBBdXRvbW9iaWxoZXJzdGVsbGVyIHp1IEJlaXNwaWVsLgpJY2ggd2FydGV0ZSBuYWVtbGljaCBldHF3YSBkcmVpIFRhZ2UgYXVmIG1laW5lbiBhY2NvdW50LCByaWVmIGRhbm4gZGllCnNvZ2VuYW5udGUgaG90bGluZSBhbiwgd28gbWlyIGVyc3RhdW50IGVya2xhZXJ0IHd1cmRlLCBpY2ggaGFldHRlIGRpb2NoIGFiZXIKZWluZSBlLW1haWwgYmVrb21tZW4sIGRhc3MgZGVyIGFjY291bnQgamV0enQgZnJlaWdlc2NoYWx0ZXQgc2VpIHVuZCBpY2ggbWlyCm1laW4gcGFzc3dvcmQgYWJob2xlbiBrb2VubmUgLi4uCldhcyBzb2xsIG1hbiBkYXp1IG5vY2ggc2FnZW4/ClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoSGF0ZSwgMTMuIE1hciAyMDAyLCAxODo0Njo1NCk6Cn4jISBybj1RaXRlc3MgcnQ9MTAxNjAzODk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKTW9yZ2VuLCBEbywgMTMuMDMuMjAwMiB3aXJkIGRlciBERU5JQyBlbmRsaWNoIHNlaW5lbiBOUyBVcGRhdGVuIHVuZCBkYW5uCmhvZmZlbnRsaWNoIGF1Y2ggZGllIERvbWFpbiBtdWQuZGUgd2llZGVyIHZvbGwgZnVua3Rpb25hbCBtYWNoZW4uCgpTb3JyeSwKCiAgSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoQW50aGVhLCAxNC4gTWFyIDIwMDIsIDA5OjUxOjQzKToKfiMhIHJuPUhhdGUgcnQ9MTAxNjA0MTYxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKRG8sIDEzLjAzLjIwMDI/IEJpc3QgRHUgRGlyIHNpY2hlcj8gRGFubiB2ZXJzdGVoZSBpY2ggYXVjaCwgd2FydW0gZXMgbm9jaApuaWNodCBmdW5rdGlvbmllcnQuLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoSGF0ZSwgMTUuIE1hciAyMDAyLCAxOTo0MzoxOSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNjA5NTkwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKbmF0dWVybGljaCB3YXIgbWl0dHdvY2ggZ2VtZWludCB1bmQgZGllIGNhY2hlcyBicmF1Y2hlbiBoYWx0IGltbWVyIG5lIHdlaWxlCmJpcyBkaWUgYWxsZXMgbWl0YmVrb21tZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoQmlyZHksIDE2LiBNYXIgMjAwMiwgMDU6MDM6NTMpOgp+IyEgcm49SGF0ZSBydD0xMDE2MjE3Nzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQpkYXNzIGVzIGhpZXIgaXJnZW5kd2VsY2hlIHByb2JsZW1lIG1pdCBkZW0gc2VydmVyIHVuZC9vZGVyIGRlciB2ZXJiaW5kdW5nCmdpYnQsIHRhbmdpZXJ0ZSBtaWNoIGJpc2hlciBlaWdlbnRsaWNoIG51ciBwZXJpcGhlci4Kd2VubiBlcyBlaW5lbiBhYmVyIHBsb2V0emxpY2ggc2VsYnN0IGJldHJpZmZ0LCBkYW5uIGlzdCBkYXMgc2Nob24gc2VocgphZXJnZXJsaWNoLgpoZXV0ZSBuYWNodCBzbyBnZWdlbiAwMDoyMCB1aHIgd2FyIGRhcyBtZyBhdWYgZWlubWFsIG5pY2h0IG1laHIgZXJyZWljaGJhciwKZGFzIHdhciBhbnNjaGVpbmVuZCBuaWNodCBudXIgYmVpIG1pciBzbywgZ2VsbCB2YXJsYXJpb24/Cndlbm4gbWFuIHNpY2ggZGFubiB3aWVkZXIgZWlubG9nZ2VuIGthbm4gdW5kIGluIGVpbmUgdG9kZXNzZXF1ZW56IGtvbW10LApmYWVuZ3QgbWFuIHNjaG9uIGFuLCB6dSBncnVlYmVsbi4KbG9lc3QgZGllc2Ugc2VydmVyL3ZlcmJpbmR1bmdzcHJvYmxlbWUgYml0dGUgc28gc2NobmVsbCwgd2llIG1vZWdsaWNoIQoKYmlyZHkKKnNpY2ggbmV1ZSBhdXNydWVzdHVuZyBiZXNvcmdlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChBbWFyeWxsaXMsIDE2LiBNYXIgMjAwMiwgMDk6MzY6MzMpOgp+IyEgcm49QmlyZHkgcnQ9MTAxNjI1MTQzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKZGFzIHdhciBpbWhvIGVpbiBERk4tS25vdGVuICJ2b3IiIGRlbSBNRywgZGFmdWVyIGthbm4gaGllciB3b2hsIGplZGVyIGhlcnpsaWNoCndlbmlnLiBTb2xsIHNjaG9ubWFsIHZvcmtvbW1lbi4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoQ3JvZnQsIDE2LiBNYXIgMjAwMiwgMDk6NTA6MzEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMTYyNjc3OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE1ODM1MTQ1Cj4gREZOIE5ldHdvcmsgT3BlcmF0aW9uIENlbnRlciAgICAgICAgICAgICAgICAgICAgICAgICBmaW5nZXIKdHJvdWJsZUBub2MuZGZuLmRlCj4gWy4uXQo+ICAxODM3IEt1cnp6ZWl0YXVzZmFlbGxlIGFtIENSLUJlcmxpbjEKPiAgICAgICBFaW5nZWdhbmdlbjogICAgICBUaHUgTWFyIDE0IDEzOjU2OjAwIE1FVCAyMDAyCj4gICAgICAgTGV0enRlIEFlbmRlcnVuZzogW25ldmVyXQo+IFsuLl0KPiBXZWdlbiBIYXJkL1NvZnR3YXJlcHJvYmxlbWVuIGF1ZiBkZW0gUm91dGVyIENSLUJlcmxpbjEga2FubiBlcyB6dQo+IEt1cnp6ZWl0YXVzZmFlbGxlbiBhdWYgZGVuIFN0cmVja2VuIEJlcmxpbiAtCj4gW0tvZWxuLE1hZ2RlYnVyZyxSb3N0b2NrXSBrb21tZW4uIEZ1ZXIgYWxsZSBTdHJlY2tlbiBnaWJ0IGVzCj4gWndlaXR3ZWdlLCBzbyBkYXNzIGVzIHp1IGtlaW5lbSBWZXJiaW5kdW5nc3Zlcmx1c3Qga29tbWVuIHNvbGx0ZS4gV2lyCj4gYXJiZWl0ZW4gbWl0IENpc2NvIGFuIGVpbmVyIFByb2JsZW1iZWhlYnVuZy4KQmVzY2h3ZXIgZGljaCBiZWltIERGTiB1bmQgYmVpIENpc2NvLCBCaXJkeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBtZy5tdWQuZGU6IEROUy1Qcm9ibGVtZT8gKERlZXBibHVlLCAxNi4gTWFyIDIwMDIsIDA5OjUyOjEwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwMTYyNjg2MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE1ODM1MTQ1CkhtLCBkYXMgd2FyIGFiZXIgZG9ubmVyc3RhZywgdW5kIHdlbiBpbnRlcmVzc2llcmVuIGRlbm4gS29lbG4sIE1hZ2RlYnVyZyB1bmQKUm9zdG9jaz8gRGEgbGFldWZ0IGRvY2ggZWggbmllIG5lIFZlcmJpbmR1bmcgZHVyY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChGb29iYXIsIDE2LiBNYXIgMjAwMiwgMDk6NTI6MTgpOgp+IyEgcm49Q3JvZnQgcnQ9MTAxNjI2ODYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKSW5zYmVzb25kZXJlIGRlciBBYnNjaG5pdHQgbWl0IGRlbiBad2VpdHdlZ2VuIHJ1ZWhydCBtaWNoIHp1IFRyYWVuZW4uLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoRm9vYmFyLCAxNi4gTWFyIDIwMDIsIDA5OjUzOjU2KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMTYyNjg3MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE1ODM1MTQ1CkFtIERvbm5lcnN0YWcgaXN0IGRhcyBQcm9ibGVtIGdlbWVsZGV0IHdvcmRlbiwgd2FzIG5pY2h0IGhlaXNzdCBkYXMgZXMgYmVyZWl0cwpiZWhvYmVuIHd1cmRlLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChEZWVwYmx1ZSwgMTYuIE1hciAyMDAyLCAwOTo1NToxMCk6Cn4jISBybj1Gb29iYXIgcnQ9MTAxNjI2ODgzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTU4MzUxNDUKT2ssIGthbm4gbmF0dWVybGljaCBzZWluLCBkYXNzIG1hbiBkYXMgYW0gRnJlaXRhZyBhdWYgYW5kZXJlIChGcmFua2Z1cnQpCmF1c2dlZGVobnQgaGF0IG9kZXIgbWVpbnRlLCBhbSBGcmVpdGFnIGFiZW5kIGthbm4gbWFuIGRhcyB0ZWlsIHRlc3R3ZWlzZSBtYWwKZ2FueiBhdXNzY2hhbHRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IG1nLm11ZC5kZTogRE5TLVByb2JsZW1lPyAoUGl0ZmFsbCwgMTYuIE1hciAyMDAyLCAxMjoyNzozOCk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDE2MjY4OTEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQphbHNvIGhpZXIgZ2luZyBub2NoIGFsZXMgOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChMaWFyYSwgMTYuIE1hciAyMDAyLCAyMDowNDoxMik6Cn4jISBybj1CaXJkeSBydD0xMDE2MjUxNDMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQpXZW4gbWVpbnN0IGR1IG1pdCAnbG9lc3QnPwpVbmQgYmlzdCBkdSBiZXJlaXQsIGZ1ZXIgZGVuIEFyYmVpdHNhdWZ3YW5kIGRlciBiZXRyZWZmZW5kZW4gUGVyc29uZW4gZWluZQpFbnRzY2hhZWRpZ3VuZyBiZXJlaXR6dXN0ZWxsZW4sIGRhIGR1IHNpZSBzbyBiZWhhbmRlbHN0LCBhbHMgd2FlcmUgZXMgZGVyZW4KSm9iIHVuZCBuaWNodCBlaW4gZWhyZW5hbXRsaWNoZXMgVmVyZ251ZWdlbj8gOy0pCgpMaWFyYWtlbiwgbXVzc3RlIGRvY2ggZXR3YXMgZ3JpbnNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xlaW5lcyBxdWl6IChRaXRlc3MsIDIzLiBNYXIgMjAwMiwgMTI6NDQ6NDApOgpoYWxsbywgaWNoIGhhYmUgbWFsIGluIHB1aXogZWluIGtsZWluZXMgcXVpeiBnZXNldHp0LCBpY2ggTVVTUyBkYSBnZXdpbm5lbiA7LSkKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmV3YXJlIHAzMiAoQmVyZW4sIDI0LiBNYXIgMjAwMiwgMTM6MTg6NDUpOgpIaS4KCkRhcyBQYXJhcG9ydGFsIGFuIHAzMiBzY2hlaW50IG1vbWVudGFuIHp1IGJ1Z2dlbi4KV2VjaHNlbCBpbiBlaW5lIFBhcmF3ZWx0IGdlaHQsIGFiZXIgenVydWVjayBpbiBkaWUgTm9ybWFsd2VsdCBnZWh0IG5pY2h0LiBJaHIKbGFuZGV0IGFuIGRlbiB1ZWJsaWNoZW4gc3RlbGxlbiAtIGF1Y2ggd2VubiBpaHIgZGFzIFBvcnRhbCByaWNodGlnIGdlaG9sdApoYWJ0LCB1bmQgZXVjaCBuaWNodCB2ZXJ0aXBwdC4uLgoKR3J1c3MsClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiZXdhcmUgcDMyIChBbmFjcmlvbiwgMjQuIE1hciAyMDAyLCAxNDoyODo1Mik6Cn4jISBybj1CZXJlbiBydD0xMDE2OTcyMzI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNjk3MjMyNQpBbHNvIGJlaSBtaXIgZ2VodHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJld2FyZSBwMzIgKFpvb2ssIDI0LiBNYXIgMjAwMiwgMTQ6Mjk6MjQpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxNjk3NjUzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTY5NzIzMjUKQmVpIG1pciBhdWNoLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYmV3YXJlIHAzMiAoQWhhYiwgMjUuIE1hciAyMDAyLCAwMDoxMTo0NCk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDE2OTc2NTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNjk3MjMyNQpFcyBzY2hlaW50IG5pY2h0IGJlaSBhbGxlbiBzbyB6dSBzZWluLiBCZWkgendlaWVuIG1laW5lciBTcGllbGVyIGdlaHRzIGtsYWctCmxvcywgQmVyZW4gc2NocmVpYnQsIGJlaSBpaG0gZ2luZ2UgZXMgbnVyIHZvbiBQYXJhIHp1cnVlY2sgbmFjaCBOb3JtYWwgbmljaHQuCkVpbiBhbmRlcmVyIFNwaWVsZXIgaGF0IGRvcnQgaW4gYmVpZGUgUmljaHR1bmdlbiBhdXNzY2hsaWVzc2xpY2ggRmVobHRlbGUtCnBvcnRzIGFuIGRpZSBiZWthbm50ZW4gT3J0ZSBpbSBNRy4KCkt1cno6IGRhc3MgZXMgYmVpIGRlbiBtZWlzdGVuL2Zhc3QgYWxsZW4vd2VtIGF1Y2ggaW1tZXIgX2dlaHRfLCBzY2hsaWVzc3QKbmljaHQgYXVzLCBkYXNzIGVzIGJlaSBhbmRlcmVuIG5pY2h0IGdlaHQuIFVuZCB1bWdla2VocnQuCgpBaG9pLApBaGFiLCBtYWwgYXVmIGdld2lzc2UgUmVnaW9uc21hZ2llciBob2ZmZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmV3YXJlIHAzMiAoSWRsZWZpeCwgMjUuIE1hciAyMDAyLCAwMDozODoxOCk6Cn4jISBybj1BaGFiIHJ0PTEwMTcwMTE1MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE2OTcyMzI1CkhhYmUgZGFzc2VsYmUgUHJvYmxlbSBtaXQgbWVpbmVuIGJlaWRlbiBTZWhlcm4uIEluIGJlaWRlIFJpY2h0dW5nZW4gdW5kIHdpZQpiZXNjaHJpZWJlbiBhbiBkaWUgYmVrYW5udGVuIE9ydGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBiZXdhcmUgcDMyIChab29rLCAyNS4gTWFyIDIwMDIsIDEwOjQ5OjM1KToKfiMhIHJuPUlkbGVmaXggcnQ9MTAxNzAxMzA5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTY5NzIzMjUKWm9vayByZWljaHQgZWluZW4gWmV0dGVsIG1pdCBkZW0gSGlud2Vpc2UgJ1NjaHJlaWJlIGRlbSBSTScgaGVydW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxMCBKYWhyZSBNRyAoQm9pbmcsIDI2LiBNYXIgMjAwMiwgMTY6NTE6NDcpOgpEaWUgUGFydHkgaXN0IHp3YXIgZXJzdCBpbSBBcHJpbCwgYWJlciB0cm90emRlbSB3b2xsdGUgaWNoIG1hbCBlcndhZWhuZW4sCmRhc3MgZGFzIE1HIGdlc3Rlcm4gKGFtIDI1LjMuKSAxMCBKYWhyZSBhbHQgZ2V3b3JkZW4gaXN0IC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMTAgSmFocmUgTUcgKEFudGhlYSwgMjYuIE1hciAyMDAyLCAxNjo1Njo1MCk6Cn4jISBybj1Cb2luZyBydD0xMDE3MTU3OTA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNzE1NzkwNwpEYW5uIGFrdHVhbGlzaWVyIGRvY2ggbWFsIGRpZSBIb21lcGFnZSwgZGFuYWNoIGlzdCBkYXMgTUcgZXJzdCA5IEphaHJlIHVuZCAzMzcKVGFnZSBhbHQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdXNhbiBTdGFobmtlIGltIEFyc2NoLi4ub2RlciBzby4uLiAoTGluZmxhcywgMjYuIE1hciAyMDAyLCAxNzo0NDo0Nyk6CkhldXRlIHdpZWRlciBzY2hvZW5lIE5hY2hpY2h0ZW4gYmVpIFNwaWVnZWwtb25saW5lOgpTdXNhbiBTdGFobmtlIC0gRGllIG9lZmZuZXRsaWNoZSBEYXJtc3BpZWdlbHVuZwoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwxODkwNzYsMDAuaHRtbAoKTC4sIGtlaW4gS29tbWVudGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1c2FuIFN0YWhua2UgaW0gQXJzY2guLi5vZGVyIHNvLi4uIChCYW1iaSwgMjYuIE1hciAyMDAyLCAxOTo0OTo1NCk6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMTcxNjEwODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE3MTYxMDg3Ck51ciBzbyBhdXMgbWVkaXppbmlzY2hlbSBJbnRlcmVzc2U6IFdhbm4gd2VyZGVuIGRpZSBBdWZuYWhtZW4gZ2VzZW5kZXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDEwIEphaHJlIE1HIChIYXRlLCAyNi4gTWFyIDIwMDIsIDIwOjQzOjIxKToKfiMhIHJuPUFudGhlYSBydD0xMDE3MTU4MjEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNzE1NzkwNwpJY2ggaGFiIGRhcyBTa3JpcHQgbWFsIGFuZ2VwYXNzdC4gU3RpbW10IHp3YXIgaW1tZXIgbm9jaCBuaWNodCBnYW56LCBhYmVyIGF1ZgpkZW4gVGFnIGlzdCBlcyBpbiBldHdhcyBnZW5hdS4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAxMCBKYWhyZSBNRyAoSGF0ZSwgMjYuIE1hciAyMDAyLCAyMDo0NjoyNik6Cn4jISBybj1IYXRlIHJ0PTEwMTcxNzE4MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE3MTU3OTA3CkFjaGphLCB1bmQgd2VubiBtaXIgamVtYW5kIGVpbiBTdHVlY2sgcGVybCBvZGVyIHNoZWxsIGdlYmVuIGthbm4sIGRhc3MgZXhha3QKZGllIEphaHJlLCBUYWdlIHVuZCBNb25hdGUgc2VpdCBkZW0gMjUuMy4yMDAyIGF1c3JlY2huZXQsIGhlciBkYW1pdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAxMCBKYWhyZSBNRyAoSGF0ZSwgMjYuIE1hciAyMDAyLCAyMDo0Nzo1MCk6Cn4jISBybj1IYXRlIHJ0PTEwMTcxNzE5ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE3MTU3OTA3CjE5OTIgbmF0dWVybGljaC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1c2FuIFN0YWhua2UgaW0gQXJzY2guLi5vZGVyIHNvLi4uIChMaW5mbGFzLCAyNy4gTWFyIDIwMDIsIDEyOjM0OjQyKToKfiMhIHJuPUJhbWJpIHJ0PTEwMTcxNjg1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE3MTYxMDg3ClN0YWhua2VzIElubmVyZWllbiB3ZXJkZW4gd29obCBoZXV0ZSwgYWxzbyBNaXR0d29jaCBhYmVuZCwgYmVpIFN0ZXJuIFRWIHp1CnNlaGVuIHNlaW4uCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VzYW4gU3RhaG5rZSBpbSBBcnNjaC4uLm9kZXIgc28uLi4gKExpYXJhLCAyNy4gTWFyIDIwMDIsIDE1OjA5OjIzKToKfiMhIHJuPUxpbmZsYXMgcnQ9MTAxNzIyODg4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTcxNjEwODcKRGFzIGlzdCBob2ZmZW50bGljaCBlaW4gU2NoZXJ6IHVuZCBnZWhvZXJ0IG5hY2ggTWVnYXNjaG1hcnJuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3VzYW4gU3RhaG5rZSBpbSBBcnNjaC4uLm9kZXIgc28uLi4gKEdyaW1tYm9ybiwgMjcuIE1hciAyMDAyLCAxNToyMzowNik6Cn4jISBybj1MaWFyYSBydD0xMDE3MjM4MTYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNzE2MTA4NwpOZWluLCBlcnN0ZW5zIGlzdCBkYXMga2VpbiBTY2hlcnosIHp3ZWl0ZW5zIGRpZSBoZXV0aWdlIEJpbGQtU2NobGFnemVpbGUsIHVuZApkcml0dGVucyBpc3QgZGFzIFN1YmplY3QgZnVlciBtZWdhc2NobWFycm4gZmFsc2NoLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdXNhbiBTdGFobmtlIGltIEFyc2NoLi4ub2RlciBzby4uLiAoQW50aGVhLCAyNy4gTWFyIDIwMDIsIDE1OjU1OjE4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE3MjM4OTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNzE2MTA4NwpBdXNzZXJkZW0gd3VyZGUgZGFzIFRoZW1hIGdlc3Rlcm4gc293b2hsIHZvbiBIYXJhbGQgU2NobWlkdCBhbHMgYXVjaCB2b24KU3RlZmFuIFJhYWIgZXJvZXJ0ZXJ0LCBkYW1pdCBtdXNzIGVzIGphIHJpY2h0aWcgc2VpbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbWcubXVkLmRlOiBETlMtUHJvYmxlbWU/IChBcHN1LCAzMC4gTWFyIDIwMDIsIDE5OjMxOjU5KToKfiMhIHJuPVFpdGVzcyBydD0xMDE2MDM4OTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNTgzNTE0NQplcnphZWhsIG1pciBuaXgsIGljaCBiaW4gdS5hLiBmcmVpZXIgTWl0YXJiZWl0ZXIgYmVpIGRlcjUgTHVmdGhhbnNhLCBkYXMKTmV0endlcmsgaXN0IGJlaSBkZW5lbiB2b3JzaW50Zmx1dGxpY2ggOikKCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN1c2FuIFN0YWhua2UgaW0gQXJzY2guLi5vZGVyIHNvLi4uIChBcHN1LCAzMC4gTWFyIDIwMDIsIDE5OjM1OjM0KToKfiMhIHJuPUxpbmZsYXMgcnQ9MTAxNzIyODg4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTcxNjEwODcKU29sYW5nZSBkaWUgQmlsZHplaXR1bmcga2VpbmVuIGFuZGVyZW4gVGl0ZWxhdWZtYWNoZXIgaGF0IGFscyBTdDZhaG5rZXMKRGFybXNwaWVnZWx1bmcsIGlzdCBkaWUgV2VsdCB3b2hsIG5vY2ggaW4gT3JkbnVuZyAuLi4gOy0pCgpBcHN1LCBzZW5mZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3Bpcml0IENvcnBzZSB6ZXJzdG9lcmVuIERvcnRtdW5kIChHcmltbWJvcm4sICAyLiBBcHIgMjAwMiwgMDk6NDM6MTUpOgp+IyEgcm49QmVlbHplYnViIHJ0PTEwMTc3MzMzNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE3NzMzMzQxClVuZCBlaW4gUHJvYmUtbXAzIGhhc3QgRHUgZ2VuYXUgd28gYWJnZWxlZ3Q/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1Zmxpc3R1bmc/ISAoRmVuZGVyLCAgOC4gQXByIDIwMDIsIDE3OjI5OjE5KToKV2FocnNjaGVpbmxpY2gga2VubnQgSWhyIGFsbGUgJ0ZpcmUgV2F0ZXIgQnVybicgdm9uIGRlciBCbG9vZGhvdW5kZ2FuZywgaWNoCnNldHp0ZSBkYXMgZWluZmFjaCBtYWwgdm9yYXVzIDstKSBFaW4gcGFhciB2b24gRXVjaCBkdWVyZnRlbiBhdWNoICdNb25rZXkgZ29uZQp0byBIZWF2ZW4nIHZvbiBkZW4gUGl4aWVzIGtlbm5lbi4uLgpOYWphLCBpbiBiZWlkZW4gTGllZGVybiB0YXVjaHQgZWluZSAoZmFzdCkgZ2xlaWNoZSBBdWZsaXN0dW5nIGF1ZjoKQmVpIGRlbiBQaXhpZXM6ICdpZiBtYW4gaXMgZml2ZS4uLiBhbmQgdGhlIGRldmlsIGlzIHNpeC4uLiB0aGVuIGdvZCBpcyBzZXZlbicKQmVpIGRlciBCbG9vZGhvdW5kZ2FuZzogJ3NvIGlmIG1hbiBpcyBmaXZlLCBhbmQgdGhlIGRldmlsIGlzIHNpeCwgdGhlbiB0aGF0Cm11c3QgbWFrZSBtZSBzZXZlbicKCk1laW5lIEZyYWdlIGlzdCBudW4sIG9iIGlyZ2VuZGplbWFuZCB3ZWlzcywgd2VyIGF1ZiBkZXIgU3R1ZmUgMSBiaXMgNCBpc3Q/IFVuZAp2b3IgYWxsZW0sIHdhcyBkYXMgQXVmbGlzdHVuZ3Nrcml0ZXJpdW0gaXN0Pz8KSGFidCBJaHIgZGEgenVmYWVsbGlnIElkZWVuIG9kZXIgZWluZSBBaG51bmcsIHdhcyBkYW1pdCBnZW1laW50IGlzdD8/CgpGZW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1Z2Vub3BlcmF0aW9uIHZvbGxlciBFcmZvbGcgOikgKFRzdW5hbWksICA4LiBBcHIgMjAwMiwgMjM6MTE6MjkpOgpJY2ggYmluIHNvIGV1cGhvcmlzY2gsIGljaCBtdXNzIGVzIGV1Y2ggZWluZmFjaCB3aXNzZW4gbGFzc2VuOgoKaWNoIGhhYmUgbWljaCBlbmRsaWNoIGRhenUgZHVyY2hnZXJ1bmdlbiBtZWluZSBBdWdlbiBvcGVyaWVyZW4genUgbGFzc2VuLgpVbmQgYmlzIGpldHp0IGlzdCBhbGxlcyBwbGFubWFlc3NpZyB1bmQgdHJhdW1oYWZ0IGxlaWNodCBhYmdlbGF1ZmVuLiBVbmQgaWNoCnNlaGUga2xhciBtaXQgYmVpZGVuIEF1Z2VuLiBVbmQgZGFzIG9obmUgamVkd2VnbGljaGVuIFNjaG1lcnplbi4KClZvbSBQcmluemlwIGhlciBmdW5rdGlvbmllcnQgZXMgZm9sZ2VuZGVybWFzc2VuOiBlaW4gVGVpbCBkZXIgSG9ybmhhdXQgd2lyZAphdWZnZXNjaG5pdHRlbiB1bmQgYXVmZ2VrbGFwcHQuIERhbmFjaCBlbnRmZXJudCBlaW4gTGFzZXIgd2VpdGVyZSBIb3JuaGF1dAphdWYgZGVtIEF1Z2UgdW5kIGR1cmNoIGRlbiBBdWdlbmRydWNrIHZlcmZvcm10IHNpY2ggZGFubiBkaWUgSG9ybmhhdXQgdWViZXIKZGVyIFB1cGlsbGUuIERhbmFjaCB3aXJkIGRlciBhdWZnZWtsYXBwdGUgVGVpbCB6dXJ1ZWNrZ2VsZWd0IHVuZCBtYW4gc2llaHQKc2NoYXJmLi4uIGJlaSBrdXJ6c2ljaHRpZ2VuIFBhdGllbnRlbiB3aXJkIGRpZSBIb3JuaGF1dCBhYmdlZmxhY2h0IHVtIGRpZSAKQXVnZW5rcnVlbW11bmcgenUgbWluaW1pZXJlbi4gQmVpIHdlaXRzaWNodGlnZW4gUGF0aWVudGVuIGhpbmdlZ2VuIG11c3MgZGFzCkF1Z2UgbWVociBnZWtydWVtbXQgd2VyZGVuLiBEYSB3aXJkIGVpbmZhY2ggZWluIFJpbmcgdW0gZGllICJTcGl0emUiIHVlYmVyIGRlcgpQdXBpbGxlIGluIGRpZSBIb3JuaGF1dCBnZWJyYW5udCB1bmQgZHVyY2ggZGVuIEF1Z2VuaW5uZW5kcnVjayB3aXJkIGRpZSAKU3BpdHplIGRhbm4gd2VpdGVyIG5hY2ggYXVzc2VuIGdlYm9nZW4gdW5kIHNvbWl0IHN0YWVya2VyIGdla3J1ZW1tdC4gQmVpCnp1c2FldHpsaWNoZW0gQXN0aWdtYXN0aXNtdXMgKHdhcyBpY2ggaGF0dGU6IGRhcyBzaW5kIG1laHJlcmUgQnJlbm5wdW5rdGUKc3RhdHQgbnVyIGVpbmVtKSB3aXJkIGVpbmZhY2ggZWluIG92YWxlciBSaW5nIHp1c2FldHpsaWNoIGluIGRpZSBIb3JuaGF1dCAKZ2VicmFubnQuIFNvbWl0IGtydWVtbXQgc2ljaCBkaWUgSG9ybmhhdXQgYXN5bW1ldHJpc2NoIG5hY2ggYXVzc2VuIHVuZCBzY2hpZWJ0CmRpZSBCcmVubnB1bmt0ZSB6dXNhbW1lbiB6dSBlaW5lbSwgc28gd2llIGVzIHNlaW4gc29sbHRlLiBFaW4gcGFhciBUYWdlIHZvcgpkZXIKT3BlcmF0aW9uIHdpcmQgZWluIDMtRCBTY2FuIGRlciBBdWdlbm9iZXJmbGFlY2hlIGFuZ2VmZXJ0aWd0IHVuZCBTb2Z0d2FyZQpiZXJlY2huZXQgZGFubiB3aWUgdW5kIHdvIGRlciBMYXNlciBNYXRlcmlhbCBhYnRyYWdlbiBtdXNzLiBEYXMgUHJpbnppcCBpc3QKZWlnZW50bGljaCBnYW56IHNpbXBlbC4gRmFzemluaWVyZW5kIGlzdCwgZGFzcyBlaW4gcGFhciBNaWtyb21ldGVyIHJlaWNoZW4KdW0gZGllIFNlaHN0b2VydW5nIHp1IGJlaGViZW4uCgpBbSBGcmVpdGFnIE5hY2htaXR0YWcgd2FyIGljaCB1bnRlciBkZW0gTWVzc2VyIHJlc3AuIGRlbSBMYXNlci4KCkRpZSBnYW56ZSBQcm96ZWR1ciB3YXIgaW4gd2VuaWdlciBhbHMgMTAgbWluIGZ1ZXIgYmVpZGUgQXVnZW4gdm9yYmVpIHVuZCBkYXMKdm9lbGxpZywgYWJzb2x1dCBzY2htZXJ6ZnJlaS4gCgpWb3IgZGVyIE9wZXJhdGlvbiB3ZXJkZW4gZWluZW0gZWluIFZhbGl1bSwgZWluZSBTY2htZXJ6dGFibGV0dGUgdW5kIGVpbmUKU2NobGFmdGFibGV0dGUgKGRpZSBlcnN0IGluIGVpbmVyIFN0dW5kZSB3aXJrdCkgdmVyYWJyZWljaHQuIERhbm4gbXVzcyBtYW4gCjMwIG1pbiB3YXJ0ZW4gYmlzIGRhcyBWYWxpdW0gd2lya3QuIERhbm4gd2VyZGVuIG1pdCBlaW5lbSBTdGlmdCB1bnRlciAKZGVtIE1pa3Jvc2tvcCBrbGVpbmUgTWFya2llcnVuZ2VuIGF1ZiBkaWUgQXVnZW4gZ2VwaW5zZWx0IC0gZWluIApndXRlciBUZXN0IG9iIGRpZSBQaWxsZW4gc2Nob24gd2lya2VuIC0gaWNoIGhhYmUgdWViZXJoYXVwdCBuaWNodHMgZ2VmdWVobHQsCm5pY2h0IG1hbCBlaW5lbiBEcnVjayBhdWYgZGVuIEF1Z2VuLgoKRGFubiBnZWh0cyBhdWYgZGVuIE9wZXJhdGlvbnN0aXNjaC4gRWluIEF1Z2Ugd2lyZCBhYmdlZGVja3QgZGFzIGFuZGVyZSBmdWVyCmRlbiBTY2huaXR0IG1pdCBkZW0gTWlrcm9rZXJhdG9tIHZvcmJlcmVpdGV0LiBEYXp1IHdhcmVuIGRpZSBNYXJraWVydW5nZW4sIApkYW1pdCBkYXMgTWlrcm9rZXJhdG9tIGluIGRlciByaWNodGlnZW4gT3JpZW50aWVydW5nIGF1Zmdlc2V0enQgd2lyZC4gCkRhbm4gd2lyZCBub2NoIGVpbmUgS2xhbW1lciBpbnMgQXVnZSBnZWxlZ3QgZGFtaXQgbWFuIG5pY2h0IG1laHIKYmxpbnplbHQsIGRhcyBpc3QgendhciBldHdhcyB1bmFuZ2VuZWhtIGFiZXIgYXVjaCBhYnNvbHV0IHNjaG1lcnpmcmVpIHVuZCBkaWUKQXVnZW5icmF1ZW4gd2VyZGVuIG1pdCBLbGViZWJhbmQgYW4gZGllIExpZWRlciBnZWtsZWJ0IGRhbWl0IHNpZSBuaWNodCBpbQpXZWcgc2luZC4KCkVpbmUga2xlaW5lICJLbGFwcGUiIHdpcmQgaW4gbnVuIGRpZSBIb3JuaGF1dCBnZXNjaG5pdHRlbiwgZGFzIGRhdWVydCAKZXR3YSBlaW5lIFNla3VuZGUgdW5kIG1hbiBmdWVobHQgdWViZXJoYXVwdCBuaWNodHMgZGFiZWkuIERhcyBNaWtyb2tlcmF0b20gCndpcmQgdm9uIGVpbmVtIGtsZWluZW4gTW90b3IgYW5nZXRyaWViZW4uIEVpbiBrdXJ6ZXMgU3VtbWVuLCB1bmQgc2Nob24gaXN0IGRpZQpTY2hlaWJlIGdlc2Nobml0dGVuLiBNYW4gc2llaHQgbmljaHRzLCBkYSBkYXMgVGVpbCBqYSBkaXJla3QgYXVmIGRlbSBBdWdlCmxpZWd0LiBEYW5hY2ggd2lyZCBkYXMgTWlrcm9rZXJhdG9tIGVudGZlcm50IHVuZCBtYW4gc2llaHQgd2llIGRpZSAiS2xhcHBlIiAKYXVmZ2VrbGFwcHQgd2lyZC4uLiB3aWUgd2VubiBtYW4gZGllIEtvbnRha3RsaW5zZSBhdXMgZGVtIEF1Z2UgbmltbXQuIApEYW5hY2ggaXN0IGFsbGVzIHZvZWxsaWcgdW5zY2hhcmYgdW5kIGRhcyBHZXNpY2h0c2ZlbGQgc28gc3RhcmsgZWluZ2VzY2hyYWVua3QKZGFzcyBtYW4gbnVyIG5vY2ggZGVuIHJvdGVuIFB1bmt0IGluIGRlciBMYXNlcnZvcnJpY2h0dW5nIHNpZWh0LCBhYmVyIGFsbGVzCndhcyBtZWhyIGFscyA1LTYgY20gbGlua3Mgb2RlciByZWNodHMgbGllZ3QgaXN0IGltIER1bmtlbG4uIFppZW1saWNoCm1lcmt3dWVyZGlnZXMgR2VmdWVobCBhYmVyIG5pY2h0IHVuYW5nZW5laG0uIAoKRGFzIGVpZ2VudGxpY2hlIEFicmFzcGVsbiBkZXIgSG9ybmhhdXQgdW0gZGVuIFNlaGZlaGxlciB6dSAKa29ycmlnaWVyZW4gZGF1ZXJ0IHdlbmlnZXIgYWxzIDUgU2VrdW5kZW4uICBEZXIgVVYgTGFzZXIgaXN0IHVuc2ljaHRiYXIKKG1hbiBzaWVodCBlaCBudXIgZGVuIHJvdGVuIFB1bmt0IGF1ZiBkZW4gbWFuIHNpY2gga29uemVudHJpZXJlbiBtdXNzKS4KRGVyIExhc2VyIGJyaWNodCBkaWUgS29obGVuc3RvZmYgTW9sZWt1ZWwtQmluZHVuZ2VuIHVuZCBkZXNpbnRlZ3JpZXJ0IGRhcwpHZXdlYmUgcmVnZWxyZWNodCwgYWJlciBvaG5lIEhpdHplZW50d2lja2x1bmcgdW5kIHZlcnVyc2FjaHQgc29taXQgYXVjaCAKa2VpbmUgU2NobWVyemVuLiBEYW5hY2ggd2lyZCBkYXMgQXVnZSBtaXQgU2F1ZXJzdG9mZiBiZWJsYXNlbiB1bSAKbGllZ2VuZ2VibGllYmVuZXMgTWF0ZXJpYWwgenUgZW50ZmVybmVuIHVuZCBkaWUgYmVpZGVuIGF1Zmdlc2Nobml0dGVuZW4gCkZsYWVjaGVuIHp1IGRlc2luZml6aWVyZW4uIERpZSAiS2xhcHBlIiB3aXJkIHp1cnVlY2tnZWtsYXBwdCB1bmQgZGFuYWNoIG11c3MKbWFuIGVpbiBwYWFyIG1hbCBmZXN0ICBibGluemVsbiBkYW1pdCBkaWUgSG9ybmhhdXQgZ3V0IGZlc3RrbGVidC4gCgpEYXMgd2FyJ3MgZGFubiBzY2hvbiBmdWVyIGRhcyByZWNodGUgQXVnZS4gQmVpbSBsaW5rZW4gQXVnZSB3YXIgaWNoIG5vY2gKdmllbCBlbnRzcGFubnRlciBkZW5uIG51biB3dXNzdGUgaWNoIGphIGdlbmF1LCB3aWUgYWJzb2x1dCBzY2htZXJ6ZnJlaQpkaWVzZSBQcm96ZWR1ciBpc3QuCgpJY2ggbXVzc3RlIGRhbm4gc29mb3J0IG5hY2ggSGF1c2UgdW5kIDMgU3R1bmRlbiBzY2hsYWZlbiB3YXMgaWNoIGF1Y2ggZ3V0Cmtvbm50ZSBkYW5rIGRlciBUYWJsZXR0ZS4gU2llIGhhYmVuIGdlc2FndCBtYW4gd3VlcmRlIG5hY2ggZGVyIE9wZXJhdGlvbgplaW4gQXVnZW5icmVubmVuIGhhYmVuIHdpZSBuYWNoIGRlbSBad2llYmVsc2NoYWVsZW4gdW5kIGF1Y2ggdHJhZW5lbi4KSWNoIGhhYmUgbmljaHRzIGdlZnVlaGx0IHVuZCBhdWNoIGtlaW5lIFRyYWVuZSB2ZXJnb3NzZW4gOikgVW5kIG11c3N0ZSBhdWNoCmtlaW5lIFNjaG1lcnp0YWJsZXR0ZW4gc2NobHVja2VuLgoKTmFjaCBlaW4gcGFhciBTdHVuZGVuIFNjaGxhZiBhbSBGcmVpdGFnIGFiZW5kIGtvbm50ZSBpY2ggYmVyZWl0cwplaW5pZ2VybWFzc2VuIHNjaGFyZiBzZWhlbiB1bmQgaWNoIGR1cmZ0ZSBhdWNoIEZlcm5zZWggc2NoYXVlbiAtIGluIEFtZXJpa2EKbXVlc3NlbiB3b2hsIGFsbGUgT3BlcmF0aW9uZW4gc28gZ2VwbGFudCB3ZXJkZW4gZGFzcyBtYW4gaGludGVyaGVyIHNvZm9ydApGZXJuc2VoIHNjaGF1ZW4gZGFyZiA6KQoKQWJlciBkaWUgZ3Jvc3NlIFVlYmVycmFzY2h1bmcga2FtIGFtIFNhbXN0YWcgbW9yZ2VuLiBJY2ggYmluIGF1Zmdld2FjaHQgdW5kCmhhYmUgZHVyY2ggZGllIGF1Zmdla2xlYnRlbiBQbGFzdGlrc2hpZWxkcyAoZGllIHp1bSBTY2h1dHogZGVyIEF1Z2VuIAphbmdlYnJhY2h0IHd1cmRlbikgYWJzb2x1dCBrbGFyIGdlc2VoZW4uIE1pdCBiZWlkZW4gQXVnZW4uCgpJY2ggbXVzc3RlIHVtIDkgVWhyIG1vcmdlbnMgenVyIGVyc3RlbiBLb250cm9sbGUgdW5kIGljaCBoYXR0ZSBpbiB3ZW5pZ2VyIGFscwoyNCBTdHVuZGVuIG5hY2ggZGVyIE9wZXJhdGlvbiBiZXJlaXRzIDIwLzIwIGF1ZiBqZWRlbSBBdWdlIGdldHJlbm50IChkYXMgaXN0CmRlciBEdXJzY2huaXR0c3dlcnQgaW4gQW1lcmlrYSkgdW5kIHNvZ2FyIDIwLzE1IG1pdCBiZWlkZW4gQXVnZW4uIERhcyBiZWRldXRldAppY2ggc2VoZSBpbiAyMCBGdXNzIEVudGZlcm51bmcgZGllIEJ1Y2hzdGFiZW4gYXVmIGRlciBUYWZlbCBzY2hhcmYsIHdhZWhyZW5kCmRlciBEdXJzY2huaXR0IGRlciBCZXZvZWxrZXJ1bmcgc2ljaCBhdWYgMTUgRnVzcyBuYWVoZXJuIG11ZXNzdGUgdW0gZGllIApnbGVpY2hlbiBCdWNoc3RhYmVuIHNjaGFyZiB6dSBzZWhlbi4gRGllIEFlcnp0ZSB3YXJlbiBzZWxic3QgdWViZXJyYXNjaHQgZGFzcwplcyBzaWNoIGJlaSBtaXIgc28gc2NobmVsbCBlaW5nZXN0ZWxsdCBoYXQuIE5vcm1hbGVyd2Vpc2UgZGF1ZXJ0IGVzIGJpcyB6dQplaW5lbSBNb25hdCB1bmQgaW4gc2VsdGVuZW4gRmFlbGxlbiBiaXMgenUgMyBNb25hdGVuIGJpcyBkaWUgZ2V3dWVuc2NodGUgClNlaHN0YWVya2UgZXJyZWljaHQgd2lyZC4KCkp1YmVsLCBUcnViZWwgSGVpdGVya2VpdCBhbHNvIGJpcyBqZXR6dC4gCgpHYW56IHZvcmJlaSBpc3QgZGllIEdlc2NoaWNodGUgbm9jaCBuaWNodC4gSmV0enQgbXVzcyBkaWUgSG9ybmhhdXQgd2llZGVyCmd1dCB6dXNhbW1lbndhY2hzZW4gdW5kIGRhcyBkYXVlcnQgbWluZGVzdGVucyAzIE1vbmF0ZS4gRGllIEdlZmFociBlaW5lcgpJbmZla3Rpb24gaXN0IGVpbmVuIE1vbmF0IGxhbmcgZGEsIGRhenUgbXVzcyBpY2ggQW50aWJpb3Rpa2EtQXVnZW50cm9wZmVuCm5laG1lbi4gV2llIGlociBhbGxlIGphIGJla2FubnRlcm1hc3NlbiB3aXNzdCwgc2luZCBkaWUgQXVnZW4gdm9tIEltbXVuc3lzdGVtCmF1c2dla2xhbW1lcnQsIGQuaC4gZWluZSBJbmZla3Rpb24ga2FubiBudXIgbWl0IE1lZGlrYW1lbnRlbiBiZWhhbmRlbHQgd2VyZGVuLgpVbmQgZXMgd2lyZCB1bndlaWdlcmxpY2ggTmFyYmVuZ2V3ZWJlIGVudHN0ZWhlbiB3ZWxjaGVzIGRpZSBTaWNodCBldHdhcwp0cnVlYmVuIHdpcmQuIEVyc3QgaW4gZHJlaSBNb25hdGVuIHNpbmQgZGllIGxldHp0ZW4gVWViZXJibGVpYnNlbCB3aWVkZXIKYWJnZWJhdXQuCgpUcm90emRlbSBzZWhlIGljaCBqZXR6dCBzY2hvbiBiZXNzZXIgYWxzIGRlciBEdXJzY2hzY2huaXR0IHVuZCBkYXMgaXN0IGVpbmZhY2gKaXJyZSEhIE5pZSBtZWhyIEJyaWxsZW5wdXR6ZW4sIG5pZSBtZWhyIFRyYWVuZW4gZGEgZXR3YXMgdW50ZXIgZGllIEtvbnRha3QtCmxpbnNlIGdlcnV0c2NodCBpc3QuIEVuZGxpY2ggU29ubmVuYnJpbGxlbiBvaG5lIGdlc2NobGlmZmVuZSBHbGFlc2VyLgoKVmllbGxlaWNodCBpc3QgZGFzIGRpZSBFdXBob3JpZSBpbSBNb21lbnQgYWJlciBpY2ggaGFiZSBkYXMgIEdlZnVlaGwgaWNoIHNlaGUKYXVjaCByYWV1bWxpY2ggZXR3YXMgYmVzc2VyIGFscyBtaXQgQnJpbGxlIG9kZXIgTGluc2VuLiBBbGxlcyBpc3QgdGllZmVyLCAKaG9laGVyLCBicmVpdGVyLCBncm9lc3NlciA6KQoKSmVkZW0gQnJpbGxlbnRyYWVnZXIsIGRlciBkYXMga2xlaW5lIFJpc2lrbyBkYXNzIGV0d2FzIHNjaGllZmdlaGVuIGtvZW5udGUKZWluZ2VoZW4gd2lsbCwga2FubiBpY2ggZGllc2UgUHJvemVkdXIgdm9uIEhlcnplbiBlbXBmZWhsZW4uIERpZSBLcmFua2Vua2Fzc2UKdWViZXJuaW1tdCBkaWVzZSBPcGVyYXRpb24gbm9ybWFsZXJ3ZWlzZSBuaWNodCwgZXMgaXN0IGFiZXIgamVkZW4gQ2VudCB3ZXJ0IQoKClRzdW5hbWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVnZW5vcGVyYXRpb24gdm9sbGVyIEVyZm9sZyA6KSAoUm9hZHJ1bm5lciwgIDguIEFwciAyMDAyLCAyMzoyOToxNyk6Cn4jISBybj1Uc3VuYW1pIHJ0PTEwMTgzMDAyODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE4MzAwMjg5CmhtbSwgSGllcnp1bGFuZGUgd3VyZGUgc2Nob24gZ2VsZWdlbnRsaWNoIGF1Y2ggdWViZXIgZGllc2UgTWV0aG9kZSBiZXJpY2h0ZXQuCkFsbGVyZGluZ3MgYmluIGljaCBkZXIgTWVpbnVuZywgZG9ydCB3dXJkZSBnZXNhZ3QsIGRhc3MgZXJzdG1hbCBFSU4gYXVnZQp2ZXJzb3JndCB3aXJkLiBkYW5hY2ggZGFubiBlcnN0bWFsIHBhdXNlLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgZXMgZ2VrbGFwcHQKaGF0IC0gYmlzIG5hY2ggZGVyIGVuZGd1ZWx0aWdlbiBIZWlsdW5nLiBEYW5uIGVyc3QgZGFzIGFuZGVyZS4gLSBmYWxscyB3YXMKc2NoaWVmZ2VodCB1bmQgbWFuIGhhdCBiZWlkZSBtYWNoZW4gbGFzc2VuLCB3YWVycyBmYXRhbCAuLi4KUlIKKGhhdCBkYXMgcHJvYmxlbSBuaWNodC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1Z2Vub3BlcmF0aW9uIHZvbGxlciBFcmZvbGcgOikgKEdsb2luc29uLCAgOS4gQXByIDIwMDIsIDAwOjAzOjE5KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTAxODMwMTM1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgzMDAyODkKSmEsIGRpZSBUZWNobmlrIGlzdCBqZXR6dCBldHdhIDE1IEphaHJlIGFsdCB1bmQgd2lyZCBoaWVyIGF1Y2ggYXVzZnVlaHJsaWNoCnVuZCBpbW1lciBzYXViZXJlciBiZXRyaWViZW4uIFNvd2pldGlzY2hlIEFlcnp0ZSBoYWJlbiBkYXMgYmlzIHZvciBldHdhIDEwCkphaHJlbiBzb2dhciBub2NoIHBlciBIYW5kIG9wZXJpZXJ0LgpXYXMgZGllIEV1cGhvcmllIHVuZCBkaWUgRW1wZmVobHVuZyBiZXRyaWZmdCAtIGRlciBQcm96ZXNzIHNlbGJzdCBpc3QKaW56d2lzY2hlbiBzZWhyIGV0YWJsaWVydCwgYWxsZXJkaW5ncyBnaWJ0IGVzIGViZW4ga2VpbmUgZWNodGVuCkxhbmd6ZWl0ZXJmYWhydW5nZW4uIEF1Y2ggaGFiZSBpY2ggdm9uIEZhZWxsZW4gZ2Vob2VydCwgZGFzcyB1bnRlciBzdGFya2VyCkJlbGFzdHVuZyBkaWUgSG9ybmhhdXQgYW4gZGVyIHZlcm5hcmJ0ZW4gU3RlbGxlIHdpZWRlciBhdWZyZWlzc3QuIEljaCBiaW4gamEKYXVjaCB6aWVtbGljaCBrdXJ6c2ljaHRpZywgYWJlciBpY2ggZ29lbm4gZGVtIGdhbnplbiBlaW4gcGFhciB3ZWl0ZXJlIEphaHJlCmJpcyBpY2ggZXMgYXVzcHJvYmllcmUsIHNvIHNjaGxpbW0gaXN0IGRpZSBCcmlsbGUgbmljaHQgOikKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChUc3VuYW1pLCAgOS4gQXByIDIwMDIsIDAwOjE2OjM1KToKfiMhIHJuPVRzdW5hbWkgcnQ9MTAxODMwMDI4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgzMDAyODkKTmFjaHRyYWcgbmFjaGRlbSBtaWNoIDEwMDAgdGVpbGUtbWl0cyBlcnJlaWNodCBoYWJlbjoKCmljaCB3YXIga3VyenNpY2h0aWc6IC05IGF1ZiBkZW0gbGlua2VuIHVuZCAtNC41IGF1ZiBkZW0gcmVjaHRlbiBBdWdlLCBzb3dpZQplaW4gQXN0aWdtYXRpc211cyB2b24KMS4wIGF1ZiBkZW0gcmVjaHRlbiBBdWdlLgoKR2Vrb3N0ZXQgaGF0IGRlciBTcGFzcyAkMjcwMC4wMC4gRGFyaW4gaW5iZWdyaWZmZW4gc2luZCAxIDEvMiBTdHVuZGVuIEV4YW0gdm9yCmRlciBPcGVyYXRpb24sCmRpZSBPcGVyYXRpb24sIEtvbnN1bGF0aW9uIGFtIG5hZWNoc3RlbiBUYWcsIG5hY2ggZWluZW0gTW9uYXQsIG5hY2ggZHJlaQpNb25hdGVuIHVuZCBuYWNoIGVpbmVtCkphaHIuIEZhbGxzIG5hY2hrb3JyaWdpZXJ0IHdlcmRlbiBtdXNzIChkYXMga2FubiBwYXNzaWVyZW4pLCBpc3QgZGllIE9wZXJhdGlvbgpncmF0aXMuCgpFdHdhIDQgJSBkZXIgUGF0aWVudGVuIG1pdCBlaW5lciBBYndlaWNodW5nIHZvbiBuaWNodCBtZWhyIGFscyArLTMgRGlvcHRyaWVuCm11c3MgbmFjaGJlc3Nlcm4uCk5hY2hiZXNzZXJuIGhlaXNzdCwgZGllIExldXRlIGhhYmVuIGltIFNjaG5pdHQgMjAvNDAuIEQuaC4gbWFuIGJyYWV1Y2h0ZSBuZQpCcmlsbGUgenVtIApBdXRvZmFocmVuIGFiZXIgYW5zb25zdGVuIHdhZXJlIG1hbiBuaWNodCBhbGx6dSBncm9zcyBlaW5nZXNjaHJhZW5rdC4gVmllbGUKbGFzc2VuIG5pY2h0Cm5hY2hiZXNzZXJuLgpOYWNodHJhZyBuYWNoZGVtIG1pY2ggMTAwMCB0ZWlsZS1taXRzIGVycmVpY2h0IGhhYmVuCgppY2ggd2FyIGt1cnpzaWNodGlnIC05IGF1ZiBkZW0gbGlua2VuIHVuZCAtNC41IGF1ZiBkZW0gcmVjaHRlbiBBdWdlLCBzb3dpZQplaW4gQXN0aWdtYXRpc211cyB2b24gMS4wIGF1ZiBkZW0gcmVjaHRlbiBBdWdlLgoKR2Vrb3N0ZXQgaGF0IGRlciBTcGFzcyAkMjcwMC4wMC4gRGFyaW4gaW5iZWdyaWZmZW4gc2luZCAxIDEvMiBTdHVuZGVuIEV4YW0gdm9yCmRlciBPcGVyYXRpb24sIGRpZSBPcGVyYXRpb24sIEtvbnN1bGF0aW9uIGFtIG5hZWNoc3RlbiBUYWcsIG5hY2ggZWluZW0gTW9uYXQsCm5hY2ggZHJlaSBNb25hdGVuIHVuZCBuYWNoIGVpbmVtIEphaHIuIEZhbGxzIG5hY2hrb3JyaWdpZXJ0IHdlcmRlbiBtdXNzCihkYXMga2FubiBwYXNzaWVyZW4pLCBzaW5kIGFsbGUgRm9sZ2UtT3BlcmF0aW9uZW4gaW5uZXJoYWxiIDEyIE1vbmF0ZW4gZ3JhdGlzLgoKV2VubiBpY2ggZGVua2UsIHdpZXZpZWwgaWNoIG5vcm1hbGVyd2Vpc2UgZnVlciBuZSBndXRlIEJyaWxsZSBhdXNnZWJlIChpbiBkZXIKU2Nod2VpeiBrb3N0ZXQgZWluIGFuc3RhZW5kaWdlciBSYWhtZW4gbG9ja2VyIENIRiA4MDAuMDAsIHVuZCBqZWRlcyBlaW56ZWxuZQpCcmlsbGVuZ2xhcyBpc3QgQ0hGIDM1MC4wMCwgdW5kIE1vbmF0c2tvbnRha3RsaW5zZW4gc2luZCBmdWVyIG1pY2ggc3VlbmRoYWZ0CnRldWVyLCBkYSBkaWUgcmVjaHRlIExpbnNlIGVpbmUgU3BlemlhbGFuZmVydGlndW5nIGlzdCwgZGllIG5pY2h0IGltIEF1Z2UKcm90aWVydCAtIHdlZ2VuIGRlbSBBc3RpZ21hdGlzbXVzKSBzcGFyZSBpY2ggemllbWxpY2ggdmllbCBHZWxkIGluIGRlbgpuYWVjaHN0ZW4gMzAgSmFocmVuIDopKQoKRXR3YSA0JSBkZXIgUGF0aWVudGVuIG1pdCBlaW5lciBBYndlaWNodW5nIHZvbiBuaWNodCBtZWhyIGFscyArLTMgRGlvcHRyaWVuCm11c3MgbmFjaGJlc3Nlcm4uIE5hY2hiZXNzZXJuIGhlaXNzdCwgZGllIExldXRlIGhhYmVuIGltIFNjaG5pdHQgMjAvNDAgc3RhdHQKZGVyIGdld3VlbnNjaHRlbiAyMC8yMCBELmguIG1hbiBicmFldWNodGUgbmUgQnJpbGxlIHp1bSAgQXV0b2ZhaHJlbiBhYmVyIAphbnNvbnN0ZW4gd2FlcmUgbWFuIG5pY2h0IGFsbHp1IGdyb3NzIGVpbmdlc2NocmFlbmt0LiBWaWVsZSBsYXNzZW4gbmljaHQKbmFjaGJlc3Nlcm4uCgpCZWkgRGlvcHRyaWVuIHZvbiBtZWhyIGFscyArLTYgc2lua3QgZGllIFN0YXRpc3RpayBhdWYgZXR3YSA4NCUgZGllIGltIGVyc3RlbgpBbmxhdWYgMjAvMjAgZXJyZWljaGVuLiBJY2ggaGF0dGUgYWxzbyBHbHVlY2sgOikKClNlaXQgMTk0OSB3aXJkIGRpZXNlIFRlY2huaWsgYW5nZXdlbmRldCwgZGFtYWxzIG5hdHVlcmxpY2ggbm9jaCBvaG5lIExhc2VyLgpOb2NoIG5pZW1hbmQgaXN0IGJsaW5kIGdld29yZGVuLiBIYXVwdHJpc2lrZW4gc2luZCBJbmZla3Rpb24gdW5kIE5hcmJlbmdld2ViZQpkYXMgbmljaHQgdmVyc2Nod2luZGV0LiBEYW5uIG11c3MgZGllIEtsYXBwZSBub2NobWFscyBhdWZnZXJpc3NlbiB1bmQKZ2VzYWV1YmVydCB3ZXJkZW4uIFVuZCB3aWVkZXIgMyBNb25hdGUgd2FydGVuLiBJbSBzY2hsaW1tc3RlbiBGYWxsIGdpYnRzCm5lIFRyYW5zcGxhbnRhdGlvbi4gRGFzIHBhc3NpZXJ0IGFiZXIgd2lya2xpY2ggZ2FueiwgZ2FueiwgZ2FueiBzZWx0ZW4sCjEgaW4gMjUwJzAwMCBvZGVyIHNvLCB1bmQgZGFzIG1laXN0IHNlbGJzdHZlcnNjaHVsZGV0IGRhIHp1IGZydWVoIGF1ZmdlaG9lcnQKQW50aWJpb3Rpa2EtQXVnZW50cm9wZmVuIHp1IG5laG1lbi4KCkRpZSBPcHRpayBkZXMgQXVnZXMgYWVuZGVydCBzaWNoIG5pY2h0IG1laHIsIGRhcyB6ZWlnZW4gZGllIERhdGVuIHZvbiAxOTQ5LgpXZWl0c2ljaHRpZyB3aXJkIG1hbiBhYmVyIHRyb3R6ZGVtIGltIEFsdGVyLCBkZW5uIGRpZSBPcGVyYXRpb24gaGF0IGtlaW5lbgpFaW5mbHVzcyBhdWYgZGVuIE11c2tlbCBkZXIgZGllIExpbnNlIHN0ZXVlcnQgdW5kIGRlciBpbSBBbHRlciBsYXNjaGVyIHdpcmQgCih1bmQgZGllIExpbnNlIHdlbmlnZXIgZmxleGliZWwpLgoKWnUgUm9hZHJ1bm5lcjogaW4gZGVuIFN0YWF0ZW4gbWFjaGVuIHNpZSBiZWlkZSBBdWdlbiBnbGVpY2h6ZWl0aWcuIElzdCBmdWVyCmRlbiBQYXRpZW50ZW4gdmllbCBlaW5mYWNoZXIsIGRhIG1hbiBzbyBuaWNodCBleHRyYSBuZSBMaW5zZSBmdWVycwp1bmJlaGFuZGVsdGUKQXVnZSB0cmFnZW4gbXVzcy4KCkljaCB3YXIgYW0gR29yZG9uLUJpbmRlciBJbnN0aXR1dC4gRHIuIEJpbmRlciBpc3QgUGlvbmllciBpbiBkZW4gU3RhYXRlbiB1bmQKZGllIGJlaWRlbiBoYWJlbiB1ZWJlciAzMCcwMDAgUGF0aWVudGVuIG1pdCBkZW0gRXhpbWVyIExhc2VyIG9wZXJpZXJ0LiBVbmQKbm9jaCB2aWVsIG1laHIgdm9yIGRlciBMYXNlci1BcmVhIChkYW1hbHMgbWl0IE1lc3Nlcm4uLi4gYnJycnJyLi4uKS4KTGF1dCBpaHJlcmUgQnJvc2NodWVyZSBoYWJlbiBBTExFLCB3aXJrbGljaCBhbGxlIFBhdGllbnRlbiAyMC8yMCBlcnJlaWNodC4KCkRydW0gaXN0J3MgYmVpIGRlbmVuIHZpZWwgdGV1cmVyIGFscyBhbiBhbmRlcmVuIE9ydGVuLiBJY2ggaGFiZSBQcmVpc2UgZ2VzZWhlbgpkaWUgZ2VoZW4gcnVudGVyIGJpcyAkNDAwLjAwLiBXaXJkIHdvaGwgaW4gTWV4aWtvIGdlbWFjaHQuLi4gOikKCkVpbiBUaXA6IGRlciBBcnp0IHNvbGx0ZSBzY2hvbiB2aWVsZSBPcGVyYXRpb25lbiBnZW1hY2h0IGhhYmVuIHVuZCBzZWluZSBEYXRlbgppbiBlaW5lbSB3aXNzZW5zY2hhZnRsaWNoZW4gSm91cm5hbCBwdWJsaXppZXJlbi4gRGFubiBrYW5uIG1hbiBzaWNoZXIgc2VpbgpkYXNzIGFsbGVzIG1pdCByZWNodGVuIERpbmdlbiB6dWdlaHQuCgpUc3VuYW1pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChCaXJkeSwgIDkuIEFwciAyMDAyLCAxMDo1NjowOSk6Cn4jISBybj1Uc3VuYW1pIHJ0PTEwMTgzMDQxOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE4MzAwMjg5CkhpaG8hCgpMZWlkZXIgZ2lidHMgZnVlciBXZWl0c2ljaHRpZ2Uga2VpbmUgc28gZWluZmFjaGUgT3BlcmF0aW9uLiA6KAoKR3J1c3MKQmlyZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1Z2Vub3BlcmF0aW9uIHZvbGxlciBFcmZvbGcgOikgKEdyaW1tYm9ybiwgIDkuIEFwciAyMDAyLCAxMTowMDo0NSk6Cn4jISBybj1CaXJkeSBydD0xMDE4MzQyNTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQpOYSwgd2FydW0gbGllc3N0IER1IFRzdW5hbWlzIEFydGlrZWwgbmljaHQgZWluZmFjaCBub2NobWFsIHNvcmdmYWVsdGlnPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChCaXJkeSwgIDkuIEFwciAyMDAyLCAxMToyNDo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxODM0Mjg0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgzMDAyODkKRGEgc3RlaHQgbmljaHQsIGRhc3MgZGFzIGVpbmUgZWluZmFjaGUgT3BlYXRpb24gaXN0LCBHcmltbWJvcm4uCn4KCkRhIHN0ZWh0IG5pY2h0LCBkYXNzIGRhcyBlaW5lIGVpbmZhY2hlIE9wZXJhdGlvbiBpc3QuCkljaCB3ZWlzcywgZGFzcyBkYXMgZWluZSBzY2h3aWVyaWdlIHVuZCBkZWZpemlsZSBPcGVyYXRpb24gaXN0LCBiZWkgZGVyIGRpZQpFcmZvbGdzY2hhbmNlbiBhdWNoIGRyYXN0aXNjaCBrbGVpbmVyLCBhbHMgYmVpIGVpbmVyIEt1cnpzaWNodGlna2VpdHNvcGVyYXRpb24Kc2luZC4KCkJpcmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChCaXJkeSwgIDkuIEFwciAyMDAyLCAxMToyOTo1NCk6Cn4jISBybj1CaXJkeSBydD0xMDE4MzQ0MjgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQpJY2ggaGFiZSBpbnp3aXNjaGVuIGJlaWdlYnJhY2h0IGJla29tbWVuLCBkYXNzIGVzIG5pY2h0ICJkZWZpemlsIiBzb25kZXJuCiJkaWZmaXppbCIgZ2VzY2hyaWViZW4gd2lyZC4gRGFua2UhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChHbG9pbnNvbiwgIDkuIEFwciAyMDAyLCAxMTozOTo0NSk6Cn4jISBybj1CaXJkeSBydD0xMDE4MzQ0NTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQpEZWZpemlsIGlzdCBkb2NoIGVpbiBzY2hvZW5lciBLb21wcm9taXNzIHp3aXNjaGVuIGRlZml6aXRhZXIgdW5kIGRpZmZpemlsLgpHbGVpY2ggbWFsIGJlaSBEdWRlbiBkYXMgQ29weXJpZ2h0IGRhZnVlciBhbm1lbGRlbiBCaXJkeSA6KQoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQXVnZW5vcGVyYXRpb24gdm9sbGVyIEVyZm9sZyA6KSAoR3JpbW1ib3JuLCAgOS4gQXByIDIwMDIsIDExOjQwOjMxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMTgzNDUxODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE4MzAwMjg5Ck5pY2h0IHp1IHZlcmdlc3NlbiAiZGVmYWV0aXN0aXNjaCIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQXVnZW5vcGVyYXRpb24gdm9sbGVyIEVyZm9sZyA6KSAoR2xvaW5zb24sICA5LiBBcHIgMjAwMiwgMTE6NDM6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTgzNDUyMzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE4MzAwMjg5CkRhcyBpc3QgYWJlciBudXIgYXVmIEJpcmR5IGluIGRlbSBGYWxsIGFud2VuZGJhci4gSWNoIGdsYXViZSBhYmVyLCAiZGVmZWt0IgpwYXNzdCBhdWNoIG5vY2ggcHJpbWEgcmVpbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEF1Z2Vub3BlcmF0aW9uIHZvbGxlciBFcmZvbGcgOikgKFd1cnplbCwgIDkuIEFwciAyMDAyLCAxODo0NTo0MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDE4MzQ1Mzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQpleGNpbWVybGFzZXIga29lbm5lbiwgd2llIHRzdW5hbWkgYmVzY2hyaWViZW4gaGF0LCBkYXMgZ2V3ZWJlIGVpbmZhY2ggb2huZQpoaXR6ZWVudHdpY2tsdW5nIHZlcmRhbXBmZW4sIGRhIGRpZSB1di1zdHJhaGx1bmcgZGllIGNoZW1pc2NoZW4gdmVyYmluZHVuZ2VuCmF1ZnRyZW5udC4gaW5zb2Zlcm4gaXN0IGRhcyBlaW5lIGV4dHJlbSBzYXViZXJlIHRlY2huaWssIG5pY2h0IHp1bGV0enQgYXVjaApkZXN3ZWdlbiwgd2VpbCBzaWNoIGRhcyBsaWNodCBlaW5lcyBleGNpbWVyIGxhc2VycyBkdXJjaCBkaWUga3VyemUgd2VsbGVuLQpsYWVuZ2Ugc2VociBndXQgZm9rdXNzaWVyZW4gbGFlc3N0LiBmdWVyIGludGVyZXNzaWVydGU6IGVpbiBleGNpbWVyIGlzdAp0eXBpc2NoZXJ3ZWlzZSBlaW5lIHZlcmJpbmR1bmcgYXVzIGVpbmVtIGVkZWxnYXMgdW5kIGVpbmVtIGhhbG9nZW4sIGRpZSBudXIKaW0gYW5nZXJlZ3RlbiB6dXN0YW5kIGV4aXN0aWVyZW4ga2FubiAoZXhjaW1lcj1leGNpdGVkIGRpbWVyKS4gZXMgZ2lidCBhbHNvCmtlaW5lbiBncnVuZHp1c3RhbmQsIHdpZSBtYW4gbWl0IHNjaHVsY2hlbWlzY2hlbiBncnVuZGtlbm50bmlzc2VuIGxlaWNodApuYWNodm9sbHppZWhlbiBrYW5uLiBkYXMgbWFjaHQgZGVuIGxhc2VyIGVyc3RlbnMgYmVzb25kZXJzIGVmZml6aWVudCB1bmQgCnp3ZWl0ZW5zIGxlaXN0dW5nc3N0YXJrLiBzcGFubmVuZGVyd2Vpc2UgZ2lidCBlcyBhdWNoIG5vY2ggb2huZSBkZW4gZ2FuemVuCnZlcmx1c3RyZWljaGVuIGZyZXF1ZW56dmVyZG9wcGx1bmdzc2Nobmlja3NjaG5hY2sga29oYWVyZW50ZXMgdXYtbGljaHQuLi4KZnVlciBkaWUgYmVzY2hyaWViZW5lbiBhdWdlbmtvcnJla3R1cmVuIGFsc28gZGFzIG1pdHRlbCBkZXIgd2FobD8gbnVuIGphLAphdWYgZGVuIGVyc3RlbiBibGljayBzY2hvbi4gZXMgZ2lidCBhYmVyIG5vY2ggd2VuaWcgbGFuZ3plaXRlcmZhaHJ1bmdlbiwgdW5kCmxlaWRlciBnaWJ0IGVzIG1pdHRsZXJ3ZWlsZSBhdWNoIHN0YXJrZSBoaW53ZWlzZSBkYXJhdWYsIGRhc3MgZHVyY2ggZGFzCnV2LWxpY2h0IGdld2ViZXZlcmFlbmRlcnVuZ2VuIGF1c2dlbG9lc3Qgd2VyZGVuIGtvZW5uZW4sIGRpZSBiaXMgenVtIGtyZWJzCnJlaWNoZW4ga29lbm5lbi4gZ2VnZW53YWVydGlnIHdlcmRlbiBhbHRlcm5hdGl2ZSBsYXNlciBhdWYgaWhyZSBlaW5zYXR6LQptb2VnbGljaGtlaXRlbiBmdWVyIHNvbGNoZSBvcGVyYXRpb25lbiB1bnRlcnN1Y2h0LCB1bSBkaWVzZW4gZWZmZWt0IHp1CnVtZ2VoZW4uIGhvZmZlbiB3aXIgbWFsLCBkYXNzIGJlaSB0c3VuYW1pIGFsbGVzIGd1dCBnZWh0LCBhbnNvbnN0ZW4gd3VlcmRlCmljaCBqZWRlbSBnbG9pbnNvbnMgdGFrdGlrIGRlcyAibm9jaCBldHdhcyB3YXJ0ZW4iIGVtcGZlaGxlbi4KCnd1cnplbCwgbWVkaXppbnBoeXNpa2VyIG1pdCBzY2h3ZXJwdW5rdCBsYXNlcm1lZGl6aW4gKG5pY2h0IHByYWt0aXppZXJlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQXVnZW5vcGVyYXRpb24gdm9sbGVyIEVyZm9sZyA6KSAoTm9ubmUsIDEwLiBBcHIgMjAwMiwgMDg6NTU6NDUpOgp+IyEgcm49V3VyemVsIHJ0PTEwMTgzNzA3NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE4MzAwMjg5Ck1tbWgsIHZlcnN0ZWhlIGljaCBuaWNodCBzbyBnYW56LiBXZW5uIGRlciBMYXNlciBvaG5lCiJmcmVxdWVuenZlcmRvcHBsdW5nc3NjaG5pY2tzY2huYWNrIiBhdXNrb21tdCwgd2lyZCBlciBpbiBkZXIgTGVpc3R1bmcgd29obAplaGVyIFJpY2h0dW5nIGxhZWNoZXJsaWNoIGdlaGVuLiAoTmVpbiwgaWNoIGVya2xhZXJlIG5pY2h0IHdhcnVtLApJbnRlcmVzc2llcnRlIG1vZWdlbiBzaWNoIGVpbmVuIEF1ZnNhdHogdm4gRWluc3RlaW4gbmVobWVuKSBEYSBkaWUgRW5lcmdpZQp3b2hsIGRpZSBpc3QsIGRpZSBtYW4gYnJhdWNodCwgdW0gZWluZW4gQy1DLUJpbmR1bmcgenUga25hY2tlbiwgd2lyZCB2b24gZGVtCmJpc3NjaGVuIExlaXN0dW5nIG5hY2ggZWluaWdlbiBOYW5vbWV0ZXJuIEdld2ViZSB3b2hsIG5pY2h0IHZpZWwKdWVicmlnYmxlaWJlbi4gQmVzdGVodCBkaWUgSG9ybmhhdXQgYXVzIGxlYmVuZGVtIEdld2ViZSBtaXQgWmVsbHRlaWx1bmcsIGRhc3MKZGEgS3JlYnMgZW50c3RlaGVuIGthbm4/IE9kZXIgd28gZW50c3RlaHQgZGVyIEtyZWJzPyBTY2hsaWVzc2xpY2ggbWl0IGRhCkxhc2VybGljaHQgaGluLCBzb25zdCBoYXQgZGFzIGVpbmUgbWl0IGRlbSBhbmRlcmVuIHdvaGwgbml4IHp1IHR1bi4KCk5vbm5lLCB2ZXJ3aXJydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChHbG9pbnNvbiwgMTAuIEFwciAyMDAyLCAwOTowNjozMyk6Cn4jISBybj1Ob25uZSBydD0xMDE4NDIxNzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQo+IEJlc3RlaHQgZGllIEhvcm5oYXV0IGF1cyBsZWJlbmRlbSBHZXdlYmUgbWl0IFplbGx0ZWlsdW5nIC4uLgpJY2ggZm9sZ2VyZSBhdXMgZGVyIE1vZWdsaWNoa2VpdCBkZXMgVmVybmFyYmVucyB1bmQgVmVyaGVpbGVucyBtZXNzZXJzY2hhcmY6CkphIHVuZCBKYS4KClVtIGVpbiBLcmVic3Jpc2lrbyB6dSBlcmhhbHRlbiBtdXNzIGVpbiBlcmJzdWJzdGFuenNjaGFlZGlnZW5kZXIgQmVpdHJhZyBuaWNodAp0aWVmIGVpbmRyaW5nZW4uIEVzIHJlaWNodCB2b2VsbGlnIHdlbm4gZXIgZWluIHBhYXIgWmVsbGVuIGJlc2NoYWVkaWd0CnVlYnJpZ2xhZXNzdC4KCmxvaW4oc29uKSwgYmV0cmFjaHRldCB0aGVvcmV0aXNjaCBtaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBBdWdlbm9wZXJhdGlvbiB2b2xsZXIgRXJmb2xnIDopIChHcmltbWJvcm4sIDEwLiBBcHIgMjAwMiwgMTE6MDM6MjcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAxODQyMjM5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgzMDAyODkKRGllIEVuZXJnaWUsIGRpZSBtYW4gYnJhdWNodCB1bSBkaWUgQy1DIEJpbmR1bmcgenUga25hY2tlbiBoYXQgbnVyIHVuZAphdXNzY2hsaWVzc2xpY2ggbWl0IGRlciBXZWxsZW5sYWVuZ2UgenUgdHVuLiBNaXQgaW5mcmFyb3RlbSBMaWNodCBrYW5uc3QgRHUKemllbWxpY2ggbGFuZ2UgYXVmIGRpZSBLb2hsZW5zdG9mZmUgbGV1Y2h0ZW4gYmV2b3Igc2ljaCB3YXMgdHV0IChqYWphLCBkYXMKZ2VodCBkYW5uIGluIFNjaHdpbmd1bmcgdW5kIFJvdGF0aW9uIHVuZCBzbywgdW5kIGlyZ2VuZHdhbm4gcGxhdHp0IGF1Y2ggZGFubgpkaWUgQmluZHVuZy4gQWJlciBkYXMgaXN0IHdlc2VudGxpY2ggc2Nod2VyZXIpLiBXb21pdCB3aXIgZ2VyYWRld2VncyBiZWkgZGVuClRoZW1lbiAiU3RyZXV1bmciIHVuZCAiUmVmbGV4aW9uIiB3YWVyZW4sIHNlbGJzdCB3ZW5uIGRpZSBIb3JuaGF1dCB0b3Qgd2FlcmUuCgpVbmQgQXVnZW5rcmVicyB3aXJkIHVlYmxpY2hlcndlaXNlIG5pY2h0IGR1cmNoIExhc2VyLCBzb25kZXJuIGR1cmNoIGphdmFzY3JpcHQKdW5kIGlubm92YXRpdiB2ZXJ3ZW5kZXRlcyBodG1sIGF1c2dlbG9lc3QuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1Zmxpc3R1bmc/ISAoU2FuZCwgMTEuIEFwciAyMDAyLCAyMDo1MjozNik6Cn4jISBybj1GZW5kZXIgcnQ9MTAxODI3OTc1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgyNzk3NTkKRGFzIGhhdCB3YXMgbWl0IG9ra3VsdGVyIFphaGxlbm15c3RpayB6dSB0dW4sIHdvYmVpIDY2NiAiVGhlIE51bWJlciBvZiB0aGUKQmVhc3QiIChkZXMgVGV1ZmVscykgdW5kIDc3NyAiVGhlIE51bWJlciBvZiBHb2QiIGlzdC4KV2FzIGVzIGRhIG5vY2ggc28gZ2lidCB3ZWlzcyBpY2ggbmljaHQsIGFiZXIgd2FocnNjaGVpbmxpY2ggZ2lidHMgZGEgZHJ1ZWJlcgplaW5pZ2VzIGltIFdXVyB6dSBmaW5kZW4KSFRIClNhbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndhbnRlZDogdmVybWlzc3RlIG1nZXYtbWl0Z2xpZWRlciAoTHV6aWUsIDEzLiBBcHIgMjAwMiwgMTQ6MzA6NDYpOgpoYWxsbyB6dXNhbW1lbiwKCmRlciBmb2VyZGVydmVyZWluIHByb2pla3QgbW9yZ2VuZ3JhdWVuIGUudi4gaXN0Cm1pdHRsZXJ3ZWlsZSBiYWxkIDggamFocmUgYWx0LgooZ3J1ZW5kdW5nc2RhdHVtOiAxMi4xMi4xOTk0KQoKbGVpZGVyIGhhYmVuIGluendpc2NoZW4gbWl0Z2xpZWRlciwgZGllIHNjaG9uCnJlY2h0IGxhbmdlIGRhYmVpIHNpbmQsIHZlcmdlc3NlbiwgZGFzcwplcyB1bnMgYXVjaCBub2NoIGdpYnQuIHNpbmQgdW1nZXpvZ2VuLAp1bmQgbnVuIG5pY2h0IG1laHIgZXJyZWljaGJhci4KCm1laW5lIHByb2JsZW1mYWVsbGUgc2luZCB6dXIgemVpdDoKCiAgIC0gbGVvbmlkYXMKICAgLSBoYW5uaQoKa2VubnQgamVtYW5kIGRpZSBiZWlkZW4gdW5kIGhhdCB2aWVsbGVpY2h0CmVpbmUgZS1tYWlsLWFkcmVzc2U/CmljaCB3YWVyZSBzZWhyIGZyb2gsIHdlbm4gaWhyIGV1Y2ggaW4KZGVtIGZhbGwgYmVpIG1pciBtZWxkZW4gd3VlcmRldCEKCnNjaG9lbmUgZ3J1ZXNzZSwKbHV6aWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXIgVXBkYXRlIChBcmssIDE3LiBBcHIgMjAwMiwgMjM6NTU6NTcpOgpUaGUgbWFnaWNhbCBjb252ZW50IG9mIENhc3RhbGxhIFJvc3NvOgpBa3R1ZWxsZSBaYWhsIGdlcGxhbnRlciBSYWV1bWUgICAgLT4gICAyMjMKRGF2b24gZmVydGlnICAgICAgICAgICAgICAgICAgICAgIC0+ICAgIDE1CkFrdHVlbGxlIFphaGwgZ2VwbGFudGVyIE5QQ3MgICAgICAtPiAgICA2NApEYXZvbiBmZXJ0aWcgICAgICAgICAgICAgICAgICAgICAgLT4gICAgIDQKQWt0dWVsbGUgWmFobCBnZXBsYW50ZXIgT2JqZWt0ZSAgIC0+ICAgICA5CkRhdm9uIGZlcnRpZyAgICAgICAgICAgICAgICAgICAgICAtPiAgICAgOApBa3R1ZWxsZSBaYWhsIGdlcGxhbnRlciBLdXJhdG9yZW4gLT4gICAgMTgKRGF2b24gZmVydGlnICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAwCkFrdHVlbGxlIFphaGwgZ2VwbGFudGVyIEF1ZmdhYmVuICAtPiAgICAxNwpEYXZvbiBmZXJ0aWcgICAgICAgICAgICAgICAgICAgICAgLT4gICAgIDIKCipzY2h3aXR6KgoKTmFjaGRlbSB1bnMgU2lsdmFuYSBsZWlkZXIgdmVybGFzc2VuIGhhdCwgaXN0IGRpZSBHaWxkZSBmdWVyIGVpbmUgV2VpbGUgaW4KZWluZSBBcnQgTGltYm8gZ2V0YXVjaHQuIFdlciBzaWUgZGEgd2llZGVyIGhlcmF1c2hvbHQsIGlzdCB6dXIgWmVpdCBub2NoCnVuZ2V3aXNzLiBJY2gga2FubiBFdWNoIGVyc3RtYWwgbnVyIHZlcnNwcmVjaGVuLCBkYXNzIG1laW5lIEFyYmVpdCBhdWYga2VpbmVuCkZhbGwgaGVydW1saWVnZW4gYmxlaWJlbiB3aXJkLiBEYXp1IGlzdCBzaWUgbmljaHQgc2NobGVjaHQgZ2VudWcgYmlzaGVyIDteKQpOb3RmYWxscyBzY2hsaWVzcyBpY2ggZGFzIGF1Y2ggb2huZSBHaWxkZSBtYWwgYW4uIEFiZXIgaWNoIHNjaHdlaWZlIGFiLiBCZWkKZ2VnZWJlbmVyIFplaXQgd2lyZCBlcyBlaW5lbiBuZXVlbiBVcGRhdGUgZ2ViZW4sIGRhbm4gaG9mZmVudGxpY2ggbWl0IGRlcgpOYWNocmljaHQ6IC4uLiBFUyBHRUhUIFdFSVRFUiEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGlua2VuZGUgU3BpZWxlciAoR3J1bXBmLCAxOS4gQXByIDIwMDIsIDEyOjEzOjIyKToKSW4gbGV0enRlciBaZWl0IHdpcmQgZGVzIG9lZnRlcmVuIG1hbCBtZWluZSBhcm1lIE5hc2Ugdm9uIHN0aW5rZW5kZW4gU3BpZWxlcm4KYmVsZWlkaWd0LCB3b2hsIGFscyAiU3RyYWZlIiBmdWVyIHp1IHNjaG5lbGxlcyBlbnR0YW5rZW4gZ2VkYWNodCB3ZW5uIGljaCBkYXMKcmljaHRpZyBzZWhlPyEgQWxsZXJkaW5ncyBmaW5kZSBpY2ggZGFzIGRpZSBlaW56aWdlbiBsZWlkdHJhZ2VuZGVuIGRpZSBTcGllbGVyCnNpbmQgZGllIG1pdCBkcmVpICJTdGlua2VybiIgaW0gRG9qbyBzdGVoZW4gd28gZGllc2UgdWViZW4gdW5kIHVlYmVsCnNjcm9sbGVuLi4uIFdpZSB3YWVyIGVzIGRlbm4gd2VubiBtYW4gaW0gTW9lYmVsbGFkZW4gbmUgRHVzY2hlIGthdWZlbiBrb2VubnRlPwpXYXJ1bSBnaWJ0IGVzIGRpZSBNb2VnbGljaGtlaXQgenUgZHVzY2hlbiBpbiBlaW5lbSBIb3RlbHppbW1lciBhYmVyIG5pY2h0IGluCmVpbmVtICJoYXJ0IGVybWV0emVsdGVuIiBTZWhlcmhhdXM/IFNvbGxlbiBqZXR6dCBkaWUgZ2FuemVuIFNlaGVyIHdpZWRlcgphbmZhbmdlbiBaaW1tZXIgenUgbWlldGVuPyBVbmQgbmVpbiwgbWFuIHdpcmQgZGVuIEdlc3RhbmsgYXVjaCBuaWNodCBsb3Mgd2VubgptYW4gaW4gZGVyIEdsYWRpc2NodWxlIGR1c2NodC4gV2VubiBpY2ggbWljaCBlaW5zYXVlbiBrYW5uIG1vZWNodGUgaWNoIG1pY2gKYXVjaCB3YXNjaGVuIGtvZW5uZW4/ISBBYmVyIHZpZWxsZWljaHQgYmluIGljaCBhdWNoIGRlciBlaW56aWdlIGRlciBuaWNodAp3ZWlzcyBfd29fIG1hbiBpbSBNRyBhdXNzZXIgaW4gZWluZW0gSG90ZWx6aW1tZXIgZGllc2VuIEdlc3Rhbmsgd2llZGVyCmxvc3dpcmQuCkdydW1wZiBncnVtcGZ0LiAobmljaHQgc3RpbmtlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RpbmtlbmRlIFNwaWVsZXIgKFZhcmRpb24sIDE5LiBBcHIgMjAwMiwgMTI6MTY6MjQpOgp+IyEgcm49R3J1bXBmIHJ0PTEwMTkyMTEyMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyCkRhcyBQcm9ibGVtIGlzdCBkb2NoIHdvaGwgZWhlciBkZXIgbmV1ZXJsaWNoZSBSYW5kb20gaW4gZGVyIHplaXQuIEZydWVoZXIKa29ubnRlIG1hbiBzYWdlbiAib2ssIGljaCBnZWggZGEgbnVyIGFsbGVyIHggU2VrdW5kZW4gaGluLCBkYW5uIGZhbGwgaWNoIG5pY2h0CnJlaW4iLiBEYXMgZ2VodCBudW4gb2ZmZW5iYXIgbmljaHQgbWVoci4KS2VpbmUgQWhudW5nLCB3aWVzbyBkaWVzZSBBZW5kZXJ1bmcgc2VpbiBtdXNzdGUsIGFiZXIgdmllbGxlaWNodCBtYWcgV3VyemVsIGphCnN0aW5rZW5kZSBTcGllbGVyLi4uCgpWYXJkaW9uLCBFbGYgbWl0IGVtcGZpbmRsaWNoZXIgTmFzZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0aW5rZW5kZSBTcGllbGVyIChHcnVtcGYsIDE5LiBBcHIgMjAwMiwgMTI6MTY6MzApOgp+IyEgcm49R3J1bXBmIHJ0PTEwMTkyMTEyMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyClBTOgpCaXR0ZSBrZWluZSBWb3JzY2hsYWVnZSB3aWU6ICJQcm9nZ3MgZG9jaCBzZWxiZXIiIEhhYiBnZW51ZyBLcmFtIGF1ZiBIYWxkZQpsaWVnZW4gZGVyIGF1ZiBBYm5haG1lIHdhcnRldCB3ZW5uIGRhcyBwYXNzaWVydCBpc3QgZGVuayBpY2ggdWViZXIgbmV1ZSBTYWNoZW4KbmFjaC4uLgpHcnVtcGYgZ3J1bXBmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RpbmtlbmRlIFNwaWVsZXIgKE5vbm5lLCAxOS4gQXByIDIwMDIsIDEyOjUzOjEwKToKfiMhIHJuPUdydW1wZiBydD0xMDE5MjExMzkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTIxMTIwMgpJY2ggd2Vpc3MgYXVjaCBnYXIgbmljaHQsIHdhcyBkYXMgdWViZXJoYXVwdCBzb2xsLiBXZXIgZGEgcnVtc2NyaXB0ZXQsIGdhZ3QKc2ljaCBkZW4gS3JhbSBhdWNoIHdlZy4gU3RvZXJ0IGRhbm4gbnVyIHdpZWRlciBkaWUgTmV1ZW4sIGRpZSBub2NoIGtlaW5lCkNsaWVudHMgYmVudXR6ZW4uIFdlbm4gbWFuIGFsbGVyZGluZ3MgYXVmIGRlciBTY2hlaXNzZSBhbiBkZW4gU2NodWhlbgphdXNydXRzY2hlbiB3dWVyZGUgdW5kIGFsbGUgcGFhciBTY2hyaXR0ZSBpbiBlaW5lIHp1ZmFlbGxpZ2UgKG5pY2h0CmFuZ2V6ZWlndGUpIFJpY2h0dW5nIHRhdW1lbHRlICwgZGFzIHdhZXJlIHNjaG9uIGVpbmUgZ3V0ZSBTY3JpcHRmYWxsZSAoYzsgCgpOb25uZS4KUC5TOiBKYSwgc293YXMgaGFiZSBpY2ggc2Nob24gZ2VzY2hyaWViZW4sIGtvbW10IGF1Y2ggYmFsZCBkcmFuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3RpbmtlbmRlIFNwaWVsZXIgKEdydW1wZiwgMTkuIEFwciAyMDAyLCAxMzoxNzoxNyk6Cn4jISBybj1Ob25uZSBydD0xMDE5MjEzNTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTIxMTIwMgpNYW4gbXVzcyBkYSBuaWNodCBzY3JpcHRlbi4uLiBkYXMgaXN0IGphIGRhcyBQcm9ibGVtLi4uIG1hbiBmYWVsbHQgaGFsdAplaW5mYWNoIG1hbCByZWluLgpHcnVtcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN0aW5rZW5kZSBTcGllbGVyIChBbmFjcmlvbiwgMTkuIEFwciAyMDAyLCAxMzoxNzo1NSk6Cn4jISBybj1HcnVtcGYgcnQ9MTAxOTIxNTAzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTkyMTEyMDIKS2xvKHMpIGFiaGFlbmdlbiAuLiBQcm9ibGVtIGdlbG9lc3QuCgphbmFjKiBzY2hyZWlidCwgd2FzIGFuZGVyZSB2b24gaWhtIGVyd2FydGV0IGhhZXR0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFN0aW5rZW5kZSBTcGllbGVyIChWZWN0b3IsIDE5LiBBcHIgMjAwMiwgMTM6MTg6MzcpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAxOTIxNTA3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTkyMTEyMDIKVW5kIHdlbm4gd2VyIG1pdCBuZW0gU3BsaXR0ZXIgaW0gRmluZ2VyIHp1IGRpciBrb21tdCwKaGFja3N0IGR1IGlobSBkaWUgSGFuZCBhYj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN0aW5rZW5kZSBTcGllbGVyIChDb2JyYXgsIDE5LiBBcHIgMjAwMiwgMTU6MTQ6MTMpOgp+IyEgcm49VmVjdG9yIHJ0PTEwMTkyMTUxMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyCndpZXNvIEhhbmQgYWJoYWNrZW4gPwp3aXJkIGRhIG5lZCBnbGVpY2ggZGVyIGtvbXBsZXR0ZSBBcm0gYW11dGllcnQgYW0gU2NodWx0ZXJibGF0dCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdGlua2VuZGUgU3BpZWxlciAoS2V5LCAxOS4gQXByIDIwMDIsIDIwOjMyOjQ1KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMTkyMTUwNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyClp1c3RpbW11bmcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN0aW5rZW5kZSBTcGllbGVyIChDdWNodWxsaW4sIDIwLiBBcHIgMjAwMiwgMDE6NTc6MDQpOgp+IyEgcm49S2V5IHJ0PTEwMTkyNDExNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyCktsbyB3ZWcuCgpWZXJzdGVoJyBub2NoIGltbWVyIG5pY2h0LCB3aWVzbyBhdXNnZXJlY2huZXQKJ0RpZS1HaWxkZW4tbWFjaGVuLWFsbGVzLWthcHV0dCctV3VyemVsIGRlbiBNdWVsbCAKaGF0IGFuaGFlbmdlbiBrb2VubmVuLi4uIDtvKQoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEF1Z2Vub3BlcmF0aW9uIHZvbGxlciBFcmZvbGcgOikgKFd1cnplbCwgMjEuIEFwciAyMDAyLCAxMjo0MTozNyk6Cn4jISBybj1Ob25uZSBydD0xMDE4NDIxNzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxODMwMDI4OQpkYSBzb2xsdGVzdCBkdSBkZW4gYXJ0aWtlbCB2aWVsbGVpY2h0IG1hbCBzZWxic3QgbGVzZW4uIG5pY2h0IGRhc3MgZWluc3RlaW4Kc2Nob24gdmllbCB1ZWJlciBmcmVxdWVuenZlcmRvcHBsdW5nIGdld3Vzc3QgaGFldHRlLCBhYmVyIHZpZWxsZWljaHQgaGlsZnQKZXMgZG9jaCBldHdhcyA6KSBmcmVxdWVuenZlcmRvcHBsdW5nIGlzdCBlaW4gbmljaHRsaW5lYXJlciB2b3JnYW5nLCBkZXIgdm9yCmFsbGVtIHNlaHIgdmllbCBsZWlzdHVuZyBmcmlzc3QuIGRlciB3aXR6IGJlaW0gZXhjaW1lciBpc3QsIGRhc3MgZXIgZGllIHZvbGxlCmxlaXN0dW5nIG9obmUgZGVyYXJ0aWdlIHZlcmx1c3RlIGJyaW5ndC4KCnd1cnplbAoKcC5zLiBpY2ggd2Vpc3MsIGJpbiBldHdhcyBzcGFldCBkcmFuIG1pdCBkZXIgYW50d29ydC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0aW5rZW5kZSBTcGllbGVyIChBbWFyeWxsaXMsIDIxLiBBcHIgMjAwMiwgMjI6NTM6NDQpOgp+IyEgcm49R3J1bXBmIHJ0PTEwMTkyMTEyMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5MjExMjAyCkhpLAoKZGEgbWlyIGRhcyBHYW56ZSBhdWNoIHNlaHIgdW5hbmdlbmVobSBhdWZzdG9lc3N0LCB1bmQgZXMgYmVpIG1pciBqYSBhdWNoIGVpbmUKR2VsZWdlbmhlaXQgZ2lidCwgc2ljaCBzb3dhcyBuZXJ2aWdlcyBlaW56dWZhbmdlbiwgaGFiZSBpY2ggZWluICJyZW1vdmUiCmVpbmdlYmF1dCA6LSkKCkFtYSoKClBTOiBpbSBHZWdlbnNhdHogenUgU3BhbW1lcm4gc29sbHRlIGRpZXNlcyByZW1vdmUgYXVjaCBmdW5rdGlvbmllcmVuLi4uCmFuc29uc3RlbiBNYWlsIGFuIG1pY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogQXVnZW5vcGVyYXRpb24gdm9sbGVyIEVyZm9sZyA6KSAoVHN1bmFtaSwgMjIuIEFwciAyMDAyLCAyMDozMDoxMCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAxOTM4NTY5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTgzMDAyODkKLi4uZGFtaXQgZXMgaW0gZ2xlaWNoZW4gVGhyZWFkIGJsZWlidDoKCm51biBpc3QgZXMgb2ZmaXppZWxsLCBpY2ggaGFiZSBqZXR6dCBBZGxlcmF1Z2VuIDopCgpXYXIgZ2VyYWRlIGJlaW0gZXJzdGVuIENoZWNrdXAuIERpZSBIb3JuaGF1dCB2ZXJoZWlsdCBwcmltYSB1bmQgaWNoIHNlaGUgbnVuCjIwLzEwICBkLmguIGljaCBrYW5uIGRpZSB1bnRlcnN0ZSBaZWlsZSBhdWYgZGVyIFNlaHRhZmVsIGluIDIwIEZ1c3MgKGphIGRpZQpBbWlzIGhhbHQpIEVudGZlcm51bmcgbGVzZW4sIHdhZWhyZW5kIGRlciBEdXJjaHNjaG5pdHQgc2ljaCBhdWYgMTAgRnVzcwpkZXIgVGFmZWwgbmFlaGVybiBtdWVzc3RlIHVtIGRhcyBHbGVpY2hlIHp1IGVudHppZmZlcm4uCgpEZXIgQXJ6dCBtZWludGUsIGluIGFjaHQgV29jaGVuIGJlaW0gbmFlY2hzdGVuIENoZWNrdXAgd3VlcmRlIGljaCBkYW5uIGRpcmVrdApkdXJjaCBkaWUgV2FuZCBzY2hhdW4gLi4uIDopCgpWb2xsZXIgRXJmb2xnIGFsc28hCgpCaW4gaWNoIGdsdWVja2xpY2ghCgpUc3VuYW1pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKFJhZ25hcm9laywgMjIuIEFwciAyMDAyLCAyMTo1MDo1Myk6CgpBZWhtLCB3byBnYWJzIGdsZWljaCBub2NoIGRlbiBiZXN0ZW4gU3BhcmdlbD8KCjpyYWduYToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoTW9udGFudXMsIDIyLiBBcHIgMjAwMiwgMjI6MDA6MjQpOgp+IyEgcm49UmFnbmFyb2VrIHJ0PTEwMTk1MDUwNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkluIFJoZWluaGVzc2VuLiBTY2hvZW4gc2FuZGlnZXIgQm9kZW4sIGRhIG1hZyBkZXIgU3BhcmdlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKEdsb2luc29uLCAyMi4gQXByIDIwMDIsIDIyOjIxOjUxKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTk1MDU2MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkluIEJyYW5kZW5idXJnLiBEYXMgaGF0IGtpZXN0ZWNobmlzY2ggZWluZmFjaCBtZWhyIEdsdWVjayBpbiBkZXIgRWlzemVpdC4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChNb250YW51cywgMjIuIEFwciAyMDAyLCAyMjozMzoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDE5NTA2OTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpJY2ggd2lsbCBrZWluZW4gS2llcyBhdXMgbWVpbmVuIFNwYXJnZWxuIHB1bGVuLiBTYW5kIGthbm4gbWFuIGFid2Flc2NoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoSXNpLCAyMi4gQXByIDIwMDIsIDIyOjM0OjI0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTk1MDc2MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCm1laW5lIHNjaHdpZWdlcm11dHRlciBzY2h3b2VydCBhdWYgc2Nocm9iZW5oYXVzZXIuIGRhcyBpc3QgaXJnZW5kd28gaW4gYmF5ZXJuCnVuZCBrZWluZSBhaG51bmcgd2FzIGRpZSBmdWVyIG5lbiBCb2RlbiBoYWJlbgppc2kgKG1vdXNzZXdlcmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoUmFnbmFyb2VrLCAyMi4gQXByIDIwMDIsIDIyOjM3OjU2KToKfiMhIHJuPUlzaSBydD0xMDE5NTA3NjY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpBbHNvLCBUd2luZ2kgei5CLiBtZWludGU6Ck1hZ2llaGV4ZSBUd2luZ2kgdGVpbHQgRGlyIG1pdDogZGVuIGJlc3RlbiBTcGFyZ2VsIGdpYmJldCBoaWVyIGJlaSB1bnMgaW0KTWFnaWVoZXhlIFR3aW5naSB0ZWlsdCBEaXIgbWl0OiBWb3JnZWJpcmdlCmthbm4gZGFzIGplbWFuZCBiZXN0YWV0aWdlbj8gOykKCjpyYWduYToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChMZWlibml6LCAyMi4gQXByIDIwMDIsIDIyOjM4OjQ0KToKfiMhIHJuPVJhZ25hcm9layBydD0xMDE5NTA3ODc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpkZW4gYmVzdGVuIHNwYXJnZWwgZ2lidHMgbm9jaCBpbW1lciBpbiBkZXIgdm9yZGVycGZhbHoKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoRGVlcGJsdWUsIDIyLiBBcHIgMjAwMiwgMjI6Mzk6MjApOgp+IyEgcm49UmFnbmFyb2VrIHJ0PTEwMTk1MDc4NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkljaCBiZXN0YWV0aWdlIGdlcm4sIGRhc3MgZXMgZGVuIGJlc3RlbiBTcGFyZ2VsIGJlaSB1bnMgZ2lidAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKEFtYXJ5bGxpcywgMjIuIEFwciAyMDAyLCAyMjo0MzowNik6Cn4jISBybj1SYWduYXJvZWsgcnQ9MTAxOTUwNzg3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKTmV0dCwgd2llIGhpZXIgZGllIEZpc2Noa15IXkheSF5IXkheSEZsYWNobGFuZC1UaXJvbGVyIGRpZSBHZWdlbmQgYmV6ZWljaG5lbi4KV2VubiBSaGVpbGFuZD09Vm9yZ2ViaXJnZSwgbXVlc3N0ZSB6LkIuIGRlciBTY2h3YXJ6d2FsZCBhdWYgSG9laGUgZGVzCktpbGltYW5kc2NoYXJvIGxpZWdlbiA6KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKEdydW1wZiwgMjIuIEFwciAyMDAyLCAyMjo0NjowNik6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAxOTUwODE4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKVW0gZGllIERpc2t1c3Npb24ga3VyeiB1bmQga25hcHAgenUgYmVlbmRlbiBkZXIgT3J0IGhlaXN0IFdhbGJlY2sgdW5kIGxpZWd0IGFtCk5pZWRlcnJoZWluLiBEb3J0IHdpcmQgYW5lcmthbm50ZXJtYXNzZW4gZGVyIGJlc3RlIGRldXRzY2hlIFNwYXJnZWwgYW5nZWJhdXQKdW5kIGdlZXJudGV0LiBHdXRlbiBIdW5nZXIuCkdydW1wZiBncnVtcGZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoR2xvaW5zb24sIDIyLiBBcHIgMjAwMiwgMjI6NTQ6MTcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxOTUwNzYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKSmV0enQgdWViZXJsZWcgbm9jaG1hbCB3YXJ1bSBtYW4gIktpZXNlIHVuZCBTYW5kZSIgaW4gZWluZW0gV29ydCBlcndhZWhudC4KQXVzc2VyZGVtIHdpcmQgRGlyIGplZGVyIEJyYW5kZW5idXJnZXIgYmVzdGFldGlnZW4gZGFzcyBzaWUgYXVzc2VyIFNhbmQgbmljaHQKdmllbCBhbiBCb2RlbiBoYWJlbiAtIHdlbm4gaWNoIG1pY2ggbmljaHQgaXJyZSB0cmF1ZXJuIHNpZSBkYXJ1ZWJlciBhdWNoIGluCmlocmVyIExhbmRlc2h5bW5lLiBJbiBkZW0gRmFsbCBoYWx0IFZvcnRlaWwuIFBmYWx6LCBwZnJ0LiBEYSBtb2VnZW4gZGllIFBSZWlzZQphbSBob2VjaHN0ZW4gc2Vpbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChNb250YW51cywgMjIuIEFwciAyMDAyLCAyMzowNDowNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDE5NTA4ODU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpTYWcgbml4IGdlZ2VuIFJoZWluaGVzc2VuIG9kZXIgZGllIFBmYWx6LiBWaWVsbGVpY2h0IHNpbmQgZGllIEJyYW5kZW5idXJnZXIKbmVpZGlzY2gsIHdlaWwgc2llIG5pY2h0IGF1Y2ggbm9jaCBkZW4gZGF6dSBwYXNzZW5kZW4gZ3V0ZW4gV2VpbiB1bmQgZGllCktydW1tYmVlcmVuIHByb2R1emllcmVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKExpYXJhLCAyMi4gQXByIDIwMDIsIDIzOjA0OjMxKToKfiMhIHJuPVJhZ25hcm9layBydD0xMDE5NTA3ODc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpCZXN0YWV0aWd0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKEdsb2luc29uLCAyMi4gQXByIDIwMDIsIDIzOjE1OjMzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTk1MDk0NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkljaCBoYWIgbml4IGdlZ2VuIGRpZSBQZmFseiAtIGFiZXIgZGllIHNvbGxlbiBiZWkgZGVtIGJsZWliZW4gd2FzIHNpZSBrb2VubmVuCi0gV2VpbiBhbmJhdWVuIHVuZCBoZXJzdGVsbGVuLiBLbGFyIGtvZW5uZW4gZGllIHNpY2ggYmVzc2VyZSBXZXJidW5nIGZ1ZXIKaWhyZW4gZWluaGVpbWlzY2hlbiBTcGFyZ2VsIGxlaXN0ZW4gYWxzIGRpZSBhcm1lbiBCcmFuZGVuYnVyZ2VyLCBhYmVyIGRhcwptYWNodCBpaG4gYXVjaCBuaWNodCBiZXNzZXIuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoTW9udGFudXMsIDIyLiBBcHIgMjAwMiwgMjM6MjA6NDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAxOTUxMDEzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKRmFociBtYWwgbmFjaCBTY2h3ZXR6aW5nZW4gb2RlciBlaW5lbiBkZXIgdmllbGVuIGtsZWluZW4gU3BhcmdlbG9ydGUgaW4gZGVyClBmYWx6IC0gdW5kIGxlaXN0ZSBoaW50ZXJoZXIgQWJiaXR0ZS4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoR2xvaW5zb24sIDIyLiBBcHIgMjAwMiwgMjM6MzI6MzMpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAxOTUxMDQ0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKTnVyIHdlbm4gRHUgZWluZSBSdW5kZmFocnQgdW0gQmVybGluIGhlcnVtbWFjaHN0IHVuZCBkYW5hY2ggbmljaHQgYmVpIGRlbgpXZWlnaHR3YXRjaGVycyBlaW50cmV0ZW4gbXVzc3QgKG9kZXIgcHJpdmF0ZW4gS29ua3VycyBhbm1lbGRlc3QpLiBLYW5uc3QgYXVjaApnZXJuIGVpbmVuIEFic3RlY2hlciBpbiBkaWUgQWx0bWFyayBtYWNoZW4sIGluIHVuc2VyZXIgQnJlaXRlIHdpcmQKZmxhZWNoZW5kZWNrZW5kIFNwYXJnZWwgYW5nZWJhdXQgdW5kIGdlc3RvY2hlbi4gVW5kIGRhcyBuaWNodCB3ZWlsIGRlciBzbwpzY2hsZWNodCB3YWVjaHN0LgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChNdWFkaWIsIDIyLiBBcHIgMjAwMiwgMjM6NTg6MDApOgp+IyEgcm49UmFnbmFyb2VrIHJ0PTEwMTk1MDUwNTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCmluIGR1ZGVuaG9mZW4gaW4gZGVyIHBmYWx6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChNYXJjdXMsIDIzLiBBcHIgMjAwMiwgMDg6MTU6MzgpOgp+IyEgcm49TXVhZGliIHJ0PTEwMTk1MTI2ODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCk5hdHVlcmxpY2ggdm9tIEtub2JsYXVjaHNsYW5kIHp3aXNjaGVuIE51ZXJuYmVyZyB1bmQgRXJsYW5nZW4uCgpDaWFvLCBNYXJjdXMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChEZWVwYmx1ZSwgMjMuIEFwciAyMDAyLCAwODoyNDowMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDE5NTEwMTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpHbG9pbnNvbiwgSXN0IGRvY2gga2xhciwgZGFzcyBpbiBCcmFuZGVuYnVyZyBkZXIgQnJhbmRlbmJ1cmdlciBTcGFyZ2VsIGRlcgpiZXN0ZSBpc3QsIGluIERyZXNkZW4gZGVyIFJhZGViZXVsZXIgdW5kIGluIGRlciBQZmFseiBkZXIgUGZhZWx6ZXIuClNjaGxpZXNzbGljaCBrb21tdCBlaW5oZWltaXNjaGVyIFNwYXJnZWwgZGlyZWt0IHZvbSBGZWxkICh1bmQgbmljaHQgMTAwMGttCmF1Zm0gTEtXIGR1cmNoIEV1cm9wYWVpc2NoZW4gU3RyYXNzZW5kcmVjaykKClVuZCBmcmlzY2hlciBTcGFyZ2VsIGlzdCBpbW1lciBkZXIgQmVzdGUhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoQW50aGVhLCAyMy4gQXByIDIwMDIsIDA4OjI5OjU0KToKfiMhIHJuPU1hcmN1cyBydD0xMDE5NTQyNTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpEYSBtdXNzIGljaCBNYXJjdXMgYXVzbmFobXN3ZWlzZSBtYWwgcmVjaHQgZ2ViZW4uCkFuc29uc3RlbjogSmUgZnJpc2NoZXIgZGVyIFNwYXJnZWwsIGRlc3RvIGJlc3NlciBzY2htZWNrdCBlci4gSmUgd2VuaWdlciBlcgpyZWlzZW4gbXVzcyB1bmQgamUga3VlcnplciBkaWUgWmVpdCB6d2lzY2hlbiBTdGVjaGVuIHVuZCBFc3NlbiBpc3QsIGRlc3RvCndlbmlnZXIgR2VzY2htYWNrIHZlcmxpZXJ0IGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKFRyb3ksIDIzLiBBcHIgMjAwMiwgMDg6NTc6MzIpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTk1NDMzOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCk5hdHVlcmxpY2ggZ2lidHMgZGVuIGluIFRob21hc2J1cmcgYmVpIEx1ZW5lYnVyZyBpbSBXZW5kbGFuZC4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChDYXR3ZWF6bGUsIDIzLiBBcHIgMjAwMiwgMDg6NTg6MzQpOgp+IyEgcm49VHJveSBydD0xMDE5NTQ1MDUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpBbHNvIGRlbiBhbGxlcmJlc3RlbiBTcGFyZ2VsIGdpYnRzIGF1ZiBqZWRlbiBGYWxsIGJlaSBtaXIgaW0gR2FydGVuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoWm9vaywgMjMuIEFwciAyMDAyLCAwOTowMToxMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxOTU0NTExNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKV2FyIGRhcyBlaW5lIEVpbmxhZHVuZz8KClpvb2sgZnJldXQgc2ljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChPcmt0b2V0ZXIsIDIzLiBBcHIgMjAwMiwgMDk6MDI6MTEpOgp+IyEgcm49Wm9vayBydD0xMDE5NTQ1MjcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpLbGFyIHdhciBkYXMgZWluZSBFaW5sYWR1bmchIENhdHR5IGlzdCBkb2NoIGVoIERFUiBPcmdhbmlzYXRvciBmdWVyIFBhcnR5cyEgOykKCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKENhdHdlYXpsZSwgMjMuIEFwciAyMDAyLCAwOTowMzo0MCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAxOTU0NTMzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKQWNoIFF1YXRzY2gsIGljaCBoYWIgZG9jaCBuaWNodCBtYWwgbmVuIEdhcnRlbi4KSWNoIHdvbGx0ZSBudXIgYXVjaCBtYWwgTWlzdCBlcnphZWhsZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChPcmt0b2V0ZXIsIDIzLiBBcHIgMjAwMiwgMDk6MDQ6NTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTk1NDU0MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkhhISBEdSB3aWxsc3QgbnVyIGRlaW5lIGxlY2tlcmVuIFNwYXJnZWwgbmljaHQgbWl0IGVpbmVyIEhvcmRlClNwYXJnZWxzdWVjaHRpZ2VyIE11ZGRlciB0ZWlsZW4hCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKEFudGhlYSwgMjMuIEFwciAyMDAyLCAwOTowNzozMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxOTU0NTQyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKYW50d29ydGUKQWxzbyB3aXJrbGljaCBDYXR0eSwgRHUgbWFjaHN0IFNhY2hlbiEKV2lyIG1hY2hlbiBqZXR6dCBoaWVyIGVpbmUgQWJzdGltbXVuZywgb2IgRHUgRGlyIG5pY2h0IHNvZm9ydCBlaW5lbiBuZXR0ZW4KU2NocmViZXJnYXJ0ZW4gbWl0IHNjaG9lbmVyIExhdWJlIHp1bGVnc3QsIHVuZCBkb3J0IGdlbnVlZ2VuZCBTcGFyZ2VsIGFuYmF1c3QuClVuZCB3ZW5uIER1IHVlYmVyc3RpbW10IHdpcnN0LCBoYXN0IER1IGdhciBrZWluZSBhbmRlcmUgV2FobCBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChHbG9pbnNvbiwgMjMuIEFwciAyMDAyLCAxMTo0Njo0Nik6Cn4jISBybj1BbnRoZWEgcnQ9MTAxOTU0NTY1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKQ2F0dHkga2FubiBpY2ggbWlyIGdhciBuaWNodCBiZWltIFNwYXJnZWxzdGVjaGVuIHZvcnN0ZWxsZW4uIEJlaW0KQmllcmFuc3RlY2hlbiBzY2hvbiBlaGVyLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXIsIGRlciBrb21tdC4uLiAoUGVzdCwgMjMuIEFwciAyMDAyLCAxNTo1Mjo0MSk6CgpFciBrb21tdCEKCmdlei4gaS5BLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyLCBkZXIga29tbXQuLi4gKEN1Y2h1bGxpbiwgMjMuIEFwciAyMDAyLCAxNTo1MzozMSk6Cn4jISBybj1QZXN0IHJ0PTEwMTk1Njk5NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTY5OTYxCkJlaGFsdGUgRGVpbiBTZXh1YWxsZWJlbiBkb2NoIGVpbmZhY2ggZnVlciBEaWNoLiAKCkN1Y2ggOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyLCBkZXIga29tbXQuLi4gKENhdHdlYXpsZSwgMjMuIEFwciAyMDAyLCAxNTo1Njo1NSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxOTU3MDAxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1Njk5NjEKU29uIHBlcnZlcnNlcyBTY2h3ZWluLiBJY2ggZmluZGUgc29sY2hlIExldXRlIHNvbGx0ZW4ga29uc2VxdWVudCBnZWxvZXNjaHQKd2VyZGVuLiBTcGllbGVyIG1pdCBrb21pc2NoZW4gTmFtZW4gd2VyZGVuIGphIGF1Y2ggc29mb3J0IHZlcm5pY2h0ZXQuCgpXaWRlcmxpY2guCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyLCBkZXIga29tbXQuLi4gKFBlbmljaWxsaW4sIDIzLiBBcHIgMjAwMiwgMTU6NTg6MTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTk1NzAyMTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTY5OTYxCk5JQ0hUUyBMRUlDSFRFUiBBTFMgREFTLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyLCBkZXIga29tbXQuLi4gKEdyaW1tYm9ybiwgMjMuIEFwciAyMDAyLCAxNTo1OToyNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxOTU3MDIxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1Njk5NjEKTmljaHQgenVsZXR6dCBpc3QgZGllIG1wYSB2b24gYXVzc2VyaGFsYiBsZXNiYXIuIEltIEVuZGVmZmVrdCBzZXR6ZW4gd2lyIG1pdApkZXIgRHVsZHVuZyBzb2xjaGVyIFNjaHdlaW5lcmVpZW4gZGllIEV4aXN0ZW56IGRlcyBNRyBhdWZzIFNwaWVsLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChMZWlibml6LCAyMy4gQXByIDIwMDIsIDE3OjM2OjI3KToKfiMhIHJuPU11YWRpYiBydD0xMDE5NTEyNjgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwprYW5uIGljaCB1bnRlciBhbmRlcmVtIGJlc3RhZXRpZ2VuIDopCgoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChHbm9tZSwgMjMuIEFwciAyMDAyLCAxODowMToxOSk6Cn4jISBybj1Nb250YW51cyBydD0xMDE5NTA5NDQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwouLi53ZW5pZ3N0ZW5zIGhhYmVuIHNpZSBkZW4gYmVzdGVuIHNwYXJnZWwgZGV1dHNjaGxhbmR3ZWl0LiA6bykKCmduT21lCgpwLnMuIHNlaXQgd2FubiBpc3QgZGV1dHNjaGVyIHdlaW4gZ3V0ZXIgd2Vpbj8gKnd1ZXJnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyLCBkZXIga29tbXQuLi4gKE11cGZlbCwgMjMuIEFwciAyMDAyLCAxODoxNjo1Nik6Cn4jISBybj1QZXN0IHJ0PTEwMTk1Njk5NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTY5OTYxCkVyIGhhZXR0ZSB6dXIgUGFydHkga29tbWVuIHNvbGxlbiAoYWxzIGFsdGVyIFNhY2sgaGFldHRlIGVyIGRhIHByaW1hIGhpbgpnZXBhc3N0KSwgbnUgaXNzZXMgenUgc3BhZXQgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoTW9udGFudXMsIDIzLiBBcHIgMjAwMiwgMTg6MTk6MTQpOgp+IyEgcm49R25vbWUgcnQ9MTAxOTU3NzY3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKV2VyIGRlcnplaXQgdWViZXIgZGV1dHNjaGVuIFdlaW4gc2NoaW1wZnQsIGRlciBoYXQgbm9jaCBqYWhyemVobnRlYWx0ZQpWb3J1cnRlaWxlIGltIEtvcGYuIE9kZXIgbWFsIGltIEF1c2xhbmQgZGV1dHNjaGVuIEV4cG9ydHdlaW4gZ2V0cnVua2VuLgpHZXJhZGUgaW0gQmVyZWljaCBST3R3ZWluIGlzdCBEZXV0c2NobGFuZCBpbiBkZW4gbGV0enRlbiAxMCBKYWhyZW4gdm9uCkVudHdpY2tsdW5nc2xhbmQgaW4gZGllIGVyd2VpdGVydGUgV2VsdHNwaXR6ZSBnZXJ1ZWNrdCwgZGEgZ2lidCBlcwplaW5pZ2VsZWNrZXJlIFRyb2VwY2hlbiwgZ2VnZW4gZGllIEZyYW56b3NlbiwgSXRhbGllbmVyIHVuZCBDaGlsZW5lIGdhbnoKc2NobGVjaHQgYXVzc2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoQWhhYiwgMjMuIEFwciAyMDAyLCAxODoyMDoyMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDE5NTc4NzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpEYW5uIHNhY2ggZG9jaCBtYWwgd2FzIGFuICpsZWNoeioKCkFob2ksCkFoYWIsIGR1cnN0aWcuIDo9KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQmV2b3IgaWNoJ3MgdmVyZ2Vzc2UuLi4gKE1vbnRhbnVzLCAyMy4gQXByIDIwMDIsIDE4OjI3OjM0KToKfiMhIHJuPUFoYWIgcnQ9MTAxOTU3ODgyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKV2VubiBlcyBudXIgdW1zIER1cnN0bG9lc2NoZW4gZ2VodDogUmllc2xpbmdzY2hvcmxlLCBzYXVlci4KQWJlciBkYXJ1bSBnaW5ncyBoaWVyIGdsYXViIGljaCBncmFkIGdhciBuaWNodC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoTXVwZmVsLCAyMy4gQXByIDIwMDIsIDE5OjE2OjQ1KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMTk1Nzg3NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCkdpYiBtYWwnbiBCbGVpc3RpZnQgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoQW5jYWxhZ29uLCAyMy4gQXByIDIwMDIsIDIxOjQyOjQ4KToKfiMhIHJuPUFudGhlYSBydD0xMDE5NTQzMzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTUwNTA1MwpUYWdjaGVua251ZGRlbHMhCkFudGhlYSBoYXQgcmVjaHQhIFNwYXJnZWwgZGVyIGVyc3QgbWFsIG1pdCBkZW0gTGt3IGR1cmNoIGhhbGIgZGV1dHNjaGxhbmQKZmFlaHJ0LCBrYW5uIGdhciBuaWNodCBtZWhydCAgZGVyIGJlc3Q1ZSBzZWluLiBBbHNvIGhhdCBqZWRlcyBnZWJpZXQgc28gc2VpbmUKU3BlemlhbHJlZ2lvbmVuLiBCZWkgdW5zIGFtIFRldXRvYnVyZ2VyIFdhbGQgaXN0IGRhcyBuYXR1ZXJsaWNoIGRlcgpTZW5uZXNwYXJnZWwhCkF1ZiB3aWVkZXJrbnVkZGVsbiEKCkFuY2FsYWdvbgoKUC5TLjogSmV0enQgd28gaWNoIGdyYWQgdm9uIFNwYXJnZWwgc2NocmVpYmUsIGZhZWxsdCBtaXIgZWluLC4gZGFzcyBlcyBzZWl0Cmt1cnplbSBqYSBkZW4gZXJzdGVuIGZyaXNjaGVuIGdpYnQuLi4uICpzY2htYXR6KnNhYmJlciogOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChLYXJpcywgMjMuIEFwciAyMDAyLCAyMjo1NzoxMCk6Cn4jISBybj1BbmNhbGFnb24gcnQ9MTAxOTU5MDk2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKQWxzbywgZGVyIGJlc3RlIFNwYXJnZWwgaXMgZWluZGV1dGlnIGRlciwgZGVyIGF1ZiBtZWluZW0gVGVsbGVyIGxpZWd0LgoKS2FyaXMsIGhhdCBnZXJhZGUgZGVuIGxldHp0ZW4gZWluZ2Vmcm9yZW5lbiBTY2hyb2JlbmhhdXNlbmVyIHZlcm5pY2hldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFciwgZGVyIGtvbW10Li4uIChLZXksIDI1LiBBcHIgMjAwMiwgMDI6MzU6MzYpOgp+IyEgcm49UGVzdCBydD0xMDE5NTY5OTYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxOTU2OTk2MQoqd2FydCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJldm9yIGljaCdzIHZlcmdlc3NlLi4uIChMdXppZSwgMjUuIEFwciAyMDAyLCAxNjo0Mjo1MSk6Cn4jISBybj1BbmNhbGFnb24gcnQ9MTAxOTU5MDk2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTk1MDUwNTMKaGFsbG8genVzYW1tZW4sCgpzdGltbWUgYW5jYWxhZ29uIGluIGFsbGVuIHB1bmt0ZW4genUgOi0pCgplbmRsaWNoIGVpbmVyLCBkZXIgZWluIHZlcm51ZW5mdGlnZXMgd29ydCBzcHJpY2h0ICpnKgoKZ3J1c3MsCmwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCZXZvciBpY2gncyB2ZXJnZXNzZS4uLiAoV3VyemVsLCAyNi4gQXByIDIwMDIsIDIyOjU4OjM0KToKfiMhIHJuPUx1emllIHJ0PTEwMTk3NDU3NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDE5NTA1MDUzCmJhaC4gYWxsZXMgcXVhdHNjaC4gd2llIGplZGVzIGphaHIgd2llZGVyIGZlc3RnZXN0ZWxsdCB3ZXJkZW4ga2FubiwgZ2lidHMKZGVuIGJlc3RlbiBzcGFyZ2VsIGltIGdyaWVzaGVpbWVyIHNhbmQuIG1vbnRhbnVzIG1hZyBub2NoIGVpbmlnZXJtYXNzZW4KcmVjaHQgaGFiZW4sIGltbWVyaGluIGdpYnQgZXMgaW4gcmhlaW5oZXNzZW4gZGVuIGdsZWljaGVuIGJvZGVuLiBhYmVyIGRhcwphcmd1bWVudCBkZXIgZnJpc2NoZSB6YWVobHQgOikKZGVyIGJlcnVlaG10ZSBzY2hyb2JlbmhhdXNlbmVyIHNwYXJnZWwgaXN0IGRhZ2VnZW4gZ2xhdHQgenUgdmVyZ2Vzc2VuLCB3aWUgCmljaCB3YWVocmVuZCBtZWluZXIgemVpdCBpbiBtdWVuY2hlbiBsZWlkZXIgZmVzdHN0ZWxsZW4gbXVzc3RlLiBkZXIgc3BhcmdlbAp3YXIgZWluZXIgZGVyIGdydWVuZGUsIHdlc3dlZ2VuIGljaCBkb3J0IG5pY2h0IGJsZWliZW4gd29sbHRlLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAzMC4gQXByIDIwMDIsIDEyOjAxOjEwKToKfiMhIG9uPUdyaW1tYm9ybiBvdD0xMDIwMTUwMDMxIG9nPXNjaG1hcnJuCn4jISBvbj1DYWRyYWNoIG90PTEwMjAxNDY1NDIgb2c9YWxsZ2VtZWluZXMKSWNoIHBsYWVkaWVyZSBkYWZ1ZXIgTWluZXN3ZWVwZXIgenUgdmVyYmlldGVuLCBkYSBlcyBnZXdhbHR2ZXJoZXJybGljaGVuZCBpc3QKdW5kIFNlbGJzdG1vcmRhbnRhZXRlcm4gZGllbnQsIGRhcyBsZWdlbiB2b24gQm9tYmVuIHp1IHVlYmVuIHVuZCBzaWNoIGRhbWl0CmF1ZiBJaHJlIEFuc2NobGFlZ2Ugdm9yenViZXJlaXRlbi4KTmF0dWVybGljaCBpc3QgbWlyIGJld3Vzc3QsIGRhcyBkaWVzIGVpbmUgV2lydHNjaGFmdHNrcmlzZSBhdXNsb2VzZW4gd2lyZCwgZGEKTWljcm9zb2Z0IFdpbmRvd3Mgdm9tIE1hcmt0IG5laG1lbiBtdXNzLCBkYSBNaW5lc3dlZXBlciB1bnRyZW5uYmFyIG1pdCBkZW0KQmV0cmllYnNzeXN0ZW0gdmVyYnVuZGVuIGlzdC4gQWJlciBpY2ggZGVua2UgZGllc2VzIE9wZmVyIHdlcmRlbiB3aXIgenVtIHdvaGxlCnVuc2VyZXIgR2VzZWxsc2NoYWZ0IHVuZCB1bnNlcmVyIEtpbmRlciBhdWYgdW5zIG5laG1lbiBtdWVzc2VuLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDMwLiBBcHIgMjAwMiwgMTI6MDE6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjAxNjA4NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkF1ZiBBbnRyYWcgQ2FkcmFjaHMgd2llZGVyIHp1cnVlY2t2ZXJsZWd0LiBUdXQgbWlyIGxlaWQsIGF1ZiBkaWUgSWRlZSwgZGFzcwpkYXMgamVtYW5kIGVybnN0aGFmdCBmb3JkZXJuIGtvZW5udGUgYmluIGljaCBudW4gd2lya2xpY2ggbmljaHQgZ2Vrb21tZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaW5lc3dlZXBlciAoQ2ljZXJvLCAzMC4gQXByIDIwMDIsIDEyOjA2OjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIwMTYwOTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApTZWxic3Qgd2VubiBlcyBtb2VnbGljaCB3YWVyZSwgbWluZXN3ZWVwZXIgdm9uIHdpbmRvd3MgenUgdHJlbm5lbiwgd3VlcmRlCndpbmRvd3Mgdm9tIE1hcmt0IGdlZHJhZW5ndCB3ZXJkZW4sIGRhIG1pbmVzd2VlcGVyIGRhcyBlaW56aWdlIGZ1bmt0aW9uaWVyZW5kZQp1bmQgcHJha3Rpc2NoZSBmZWF0dXJlIGRpZXNlcyBCZXRyaWVic3N5c3RlbXMgaXN0ISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaW5lc3dlZXBlciAoQW5hY3Jpb24sIDMwLiBBcHIgMjAwMiwgMTI6MDY6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjAxNjA5MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCk5hamEuIE1hbiB1ZWJ0IGRhcyBmaW5kZW4gdW5kIGVsaW1pbmllcmVuIHZvbiBNaW5lbiAuLi4gZGFoZXIgYXVjaCBNaW5lU1dFRVBFUgpzdGF0dCBtaW5lTEFZRVIgOm8pIERhcyBmaW5kZSBpY2ggbmljaHQgc2NobGltbSBzb25kZXJuIGVoZXIgbm9iZWwgdW5kCmJld3VuZGVyc3dlcnQgOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWluZXN3ZWVwZXIgKEJvaW5nLCAzMC4gQXByIDIwMDIsIDEyOjM4OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIwMTYwODcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApXYXMgZnVlciBlaW4gU2NobWFycm4gLi4uIDspIFdpZXNvIHN0ZWh0IGRlciBBcnRpa2VsIG5pY2h0IGluIGRlciBSdWJyaWsKc2NobWFycm4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMzAuIEFwciAyMDAyLCAxMzo0MzoxMyk6Cn4jISBybj1Cb2luZyBydD0xMDIwMTYzMDg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApXZWlsIENhZHJhY2ggZGFzIGFscyBlcm5zdGdlbWVpbnRlbiBWb3JzY2hsYWcgYW5zaWVodC4gRGFzIGlzdCB3aWVkZXIgZGllCkZyYWdlIG5hY2ggc3ViamVrdGl2ZW0gdW5kIG9iamVrdGl2ZW0gU2NobWFycm4uIEFiZXIgZGEgYnJhdWNodHMgc2Nob24gZWluZW4KUk0gZnVlciB1bSBkYXMgenUgYmV1cnRlaWxlbiB1bmQgZW50c2NoZWlkZW4genUga29lbm5lbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb250YWt0bGluc2VuIChGZW5kZXIsIDMwLiBBcHIgMjAwMiwgMTQ6NTE6MjQpOgpWb3IgZWluaWdlciBaZWl0IGhhYiBpY2ggIG1hbCB3YXMgdm9uIEtvbnRha3RsaW5zZW4gZ2Vob2VydCwgZGllIGRhcyBnYW56ZQpBdWdlIGJlZGVja2VuIHNvbGxlbi4gSGF0IGplbWFuZCB2b24gRXVjaCBkYXZvbiBzY2hvbiBtYWwgZ2Vob2VydCwgdW5kCmV2ZW50dWVsbCBlaW4gcGFhciBJbmZvcyBvZGVyIHdlbmlnc3RlbnMgZGllIGdlbmF1ZSBCZXplaWNobnVuZyBmdWVyIGRpZQpEaW5nZXI/IEVpbmUgSW50ZXJuZXRzZWl0ZSB3dWVyZGUgZXMgYXVjaCB0dW4gOy0pCgpGZW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1pbmVzd2VlcGVyIChDYWRyYWNoLCAzMC4gQXByIDIwMDIsIDE1OjE4OjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIwMTY2OTkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApPaCBpY2ggaGFiZSBuaWUgYmVoYXVwdGV0IGRhcyBlcyBlaW4gZXJuc3RnZW1laW50ZXIgVm9yc2NobGFnIGlzdCAobmVpbiwgYXVjaApkYXMgR2VnZW50ZWlsIG5pY2h0KS4gSWNoIGhhYmUgbGVkaWdsaWNoIGdlc2FndCBkYXMgZGVyIEFydGlrZWwgZWluZQplcm5zdGdlbWVpbnRlIEF1c3NhZ2UgaGF0IHVuZCBpbiBtZWluZW4gQXVnZW4ga2VpbiBzY2htYXJybiBpc3QuCgpDYWRyYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNaW5lc3dlZXBlciAoTW9udGFudXMsIDMwLiBBcHIgMjAwMiwgMTU6NTI6MjgpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDIwMTcyNzE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApBbGxlaW4gZGFkdXJjaCwgZGFzcyBkdSBkaWVzZW4gQXJ0aWtlbCBhbHMgZXJuc3RnZW1laW50IGJlemVpY2huZXQsIHZlcmhvZWhuc3QKZHUgZGllIE9wZmVyIGRlcyBNYXNzYWtlcnMgdW5kIGFsbGUgZGllLCBkaWUgdmVyaGluZGVybiB3b2xsZW4sIGRhc3Mgc2ljaCBzbwpldHdhcyBub2NoIGVpbm1hbCBlcmVpZ25ldC4KRHUgZGlzcXVhbGlmaXppZXJzdCBkaWNoIGphIHNlbGJlciBnZXJuZSwgYWJlciBkaWVzbWFsIGhhc3QgZHUgZGljaCBzZWxic3QKdWViZXJ0cm9mZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMzAuIEFwciAyMDAyLCAxNTo1NDozMCk6Cn4jISBybj1Nb250YW51cyBydD0xMDIwMTc0NzQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApNb250YW51czogRHUgYmlzdCBkZW5uIGRvY2ggdmllbGxlaWNodCBlaW4gYmlzY2hlbiB6dSBsYW5nZSBpbiBkZW4gVVNBIGdld2VzZW4KamV0enQuIEF1ZiBkaWVzZXIgU2VpdGUgZGVzIFRlaWNoZXMgaGFlbHQgbWFuIGRlbiBWZXJzdWNoLCBpcnJhdGlvbmFsZQpQc3ljaG9wYXRoZW4genUgdmVyaGluZGVybiBpbmRlbSBtYW4gZGVuIFJlc3QgZGVyIEJldm9lbGtlcnVuZyBkcmFzdGlzY2gKZWluZW5ndCBuaWNodCBmdWVyIGFuZ2VtZXNzZW4sIHNvbmRlcm4gZnVlciBnZWZhZWhybGljaCB1bmQgc2NoYWVkbGljaC4KWnVtaW5kZXN0IGhvZmZlIGljaCBkYXMuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWluZXN3ZWVwZXIgKE1vbnRhbnVzLCAzMC4gQXByIDIwMDIsIDE1OjU3OjIyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIwMTc0ODcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApTb3JyeSwgaWNoIHNlaCBuYWNoIHdpZSB2b3IgbmljaHQsIGRhc3MgZWluIFZlcmJvdCB2b24gRWdvLVNob290ZXJuIGZ1ZXIgOTksOSUKZGVyIEJldm9lbGtlcnVuZyBlaW5lIGRyYXN0aXNjaGUgRWluc2NocmFlbmt1bmcgYmVkZXV0ZXQuCkFtZXJpa2FuaXNjaGUgVmVyaGFlbHRuaXNzZSBtaXQgdWViZXJ0cmllYmVuZW0gU0ljaGVyaGVpdHNzdGFuZGFyZHMgd2lsbCBpY2gKbmljaHQsZGllIG51ZXR6ZW4gbS5FLiBrYXVtIHVuZCB1bmQgc2luZCBvZnQgZGllIEF1c3RyZWlidW5nIGRlcyBEZWlmaXMgbWl0CmRlbSBCZWVsemVidWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNaW5lc3dlZXBlciAoQmllbGVmZWxkLCAzMC4gQXByIDIwMDIsIDE1OjU4OjI4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjAxNzUwNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkhtLCBpY2ggc3BpZWxlIGRhbm4gdW5kIHdhbm4gbWl0IEVnby1TaG9vdGVybi4gQmluIGljaCBkZXN3ZWdlbiBqZXR6dAplaW4gcG90ZW50aWVsbGVyIE1hc3Nlbm1vZXJkZXI/CgotQmllbGVmZWxkIChzdWNodCBnZXN1bmRlbiBNZW5zY2hlbnZlcnN0YW5kIGluIGRpZXNlbSBUaHJlYWQgdmVyZ2ViZW5zKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWluZXN3ZWVwZXIgKE1vbnRhbnVzLCAzMC4gQXByIDIwMDIsIDE2OjA1OjI1KToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMDIwMTc1MTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApOb2UsIGVzIGlzdCBudXIgZWluIFRyYWluaW5nc3Byb2dyYW1tIGluIGRlciBBdXNiaWxkdWduIHp1bSBNYXNzZW5tb2VyZGVyLCBkaWUKaW4gZGVuIGxldHp0ZW4gSmFocmVzIGFuc2NoZWluZWVuZCBnZXNlbGxzY2hhZnRzZmFlaGlnIGdld29yZGVuIGlzdC4KOTksOSUgZGVyIExldXRlIHdlcmRlbiB2ZXJudWVuZnRpZyBkYW10aSB1bWdlaGVuIGtvZW5uZW4sIGRvY2ggc2Nob24gZWluCmVpbnplbG5lciwgZGVyIGRlc3dlZ2VuIGR1cmNoZHJlaHQsIGlzdCB6dXZpZWwuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWluZXN3ZWVwZXIgKE9ya3RvZXRlciwgMzAuIEFwciAyMDAyLCAxNjowNjoyNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyMDE3NDg3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKRGFubiBob2ZmIG1hbCBzZWhyIGZlc3RlLi4uIGRpZSBVbmlvbiBoYXQgamEgbnVuIGdsZWljaCBkaWUgVmVyb2VmZmVudGxpY2h1bmcKaWhyZXMgV2FobHByb2dyYW1tcyB1bSBlaW5lIFdvY2hlIHZlcnNjaG9iZW4uIFJhdGUgbWFsIHdhcnVtLi4gYWxzbyAibWFuIiBpc3QKd29obCBhdWYgZGllc2VyIFNlaXRlIGRlcyBUZWljaGVzIGF1Y2ggbmljaHQgdmllbCBiZXNzZXIgYWxzIGF1ZiBkZXIKYW5kZXJlbi4uLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1pbmVzd2VlcGVyIChWYW5pb24sIDMwLiBBcHIgMjAwMiwgMTY6MDY6MjcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDE3NTA0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmEsIHdlbm4gZGFzIG51ciAwLDElIGVpbmVyIEJldm9lbGtlcnVuZyBlaW5zY2hyYWVua3QsIGRhbm4gYmluIGljaCBqYQpiZXJ1aGlndC4gRGllIGhhYmVuJ3Mgc2ljaGVyIG5pY2h0IGFuZGVycyB2ZXJkaWVudCB1bmQgZGllIEFsbGdlbWVpbmhlaXQgbXVzcwp2b3Igc29sY2hlbiBMZXV0ZW4gZ2VzY2h1ZXR6dCB3ZXJkZW4uCgpBdXMgbWVpbmVyIFNpY2h0IGlzdCBqZWRlIEVpbnNjaHJhZW5rdW5nLCBkaWUgbWFuIHRyaWZmdCBnZW5hdSBhYnp1d2FlZ2VuLiBVbmQKendhciBuaWNodCBudXIsIG9iIHNpZSB2aWVsZSBMZXV0ZSB0cmlmZnQsIHNvbmRlcm4gYXVjaCwgb2IgZGVyIFNjaGFkZW4sIGRlbgpkaWUgd2VuaWdlbiBkYXJhbiBuZWhtZW4gZGVuIE51dHplbiwgZGVuIGFuZGVyZSBkYXZvbiBoYWJlbiwgcmVjaHRmZXJ0aWdlbi4KCkRpZSBTdW1tZSB2aWVsZXIga2xlaW5lciBTY2huaXR0ZSBsYWVzc3QgZWluZW4gYXVjaCB2ZXJibHV0ZW4sIHVtIGVzIG1hbApwaGlsb3NvcGhpc2NoIHp1IHNhZ2VuLgoKVioKClBTOiBFaW4gZGlyZWt0ZXIgWnVzYW1tZW5oYW5nIG1pdCBNaW5lc3dlZXBlciBpc3QgaGllciBuYXR1ZXJsaWNoIG5pY2h0Cmhlcnp1c3RlbGxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1pbmVzd2VlcGVyIChHbG9pbnNvbiwgMzAuIEFwciAyMDAyLCAxNjowNjozOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDIwMTc1NTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApVbmQgZGVzaGFsYiBtYWNoZW4gd2lyIGVzIHdpZSBpbSBhbHRlbiBKYXBhbiB1bmQgbmVobWVuIGRlbiBNZW5zY2hlbiBhbGxlcyB3ZWcKd29taXQgc2llIHNpY2ggdmVybGV0emVuIGtvZW5udGVuIG9kZXIgd2FzIHNpZSBhdWYgZHVtbWUgR2VkYW5rZW4gYnJhZWNodGUuCkZvcnQgbWl0IGRlbSBlaXNlcm5lbiBNZXNzZXJuIGF1cyBkZW4gS3VlY2hlbiwgZm9ydCBtaXQgZGVuIGNoZW1pc2NoZW4KUmVpbmlndW5nc21pdHRlbC4gTWFuIG11c3MgdW5zIHZvciB1bnMgc2VsYnN0IGJlc2NodWV0emVuLiBKYXdvbGxqYSEKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1pbmVzd2VlcGVyIChBcmssIDMwLiBBcHIgMjAwMiwgMTY6MTA6MDcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDE3NTUyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmFqYSwgd3VlcmRlIGFsbGVzIGFuIGRlbiBFcmZvbGcgZGVyIFByb2hpYml0aW9uIGVyaW5uZXJuLCBhdXMgZGVtIGphCmJla2FubnRsaWNoIGRpZSBNYWZpYSBoZXJ2b3JnaW5nLiBCaW4gZ2V3aXNzIG5pY2h0IGRhZnVlciwgYWxsZXMgZ3V0enVoZWlzc2VuLAphYmVyIGRlbiBTY2h1YnMgaW4gZGllIElsbGVnYWxpdGFldCBmdWVyIGRlcmFydGlnZSBTcGllbGUgYWxsZ2VtZWluIGtvbW10IG1pcgplaW4gYmlzc2VybCB1ZWJlcnpvZ2VuIHZvci4gTWl0IGRlbSBBcmd1bWVudCAiZWluZXIgaXN0IHp1dmllbCIgbGFzc2VuIHNpY2gKYmVsaWViaWcgdmllbGUgQmVpc3BpZWxlIGJlZ2x1ZWNrZW4sIHouQi4gQXV0b3MgdW5kIFN0cmFzc2VudmVya2VociBvZGVyCkFsa29ob2wuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWluZXN3ZWVwZXIgKENhZHJhY2gsIDMwLiBBcHIgMjAwMiwgMTY6MTA6MjcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDE3NTA0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKWnVtIGVpbmVuIGhhbHRlIGljaCBlcyBkdXJjaGF1cyBmdWVyIGVpbmVuIGRyYXN0aXNjaGVuIEVpbmdyaWZmIGRhcyBhbSBtZWlzdAp2ZXJicmVpdGVzdGUgQ29tcHV0ZXJzcGllbCAoaWNoIGdsYXViIGluIERldXRzY2hsYW5kIGFsbGVpbiB1ZWJlciA1MDAuMDAwIG1hbAp2ZXJrYXVmdCkgc293aWUgZWluIEdyb3NzdGVpbCBkZXIgaGV1dGlnZW4gSG9sbHl3b29kZmlsbWUgKGVnYWwgd2FzIG1hbiB2b24KZGVuZW4gaGFlbHQpIHZlcmJpZXRlbiB6dSB3b2xsZW4uIERhcyBQcm9ibGVtIGhhdCBpbiBtZWluZW4gQXVnZW4gZGFtaXQgYXVjaApnYXIgbmljaHRzIHp1IHR1biB1bmQgd2VubiBEdSBtYWwgZ2VuYXUgaGluaG9lcnN0IHdpcnN0IER1IGZlc3RzdGVsbGVuIGRhcwpzZWxic3QgZGllIG1laXN0ZW4gUGFlZGFnb2dlbiB1bmQgRXJ6aWVodW5nc3dpc3NlbnNjaGFmdGxlciBfc2Vocl8gdm9yc2ljaHRpZwpzaW5kIG1pdCBzb2xjaGVuIEJlZ3J1ZW5kdW5nZW4uIEluIG1laW5lbiBBdWdlbiBnZWh0cyBoaWVyIHVtIHB1cmVuCkFrdGlvbmlzbXVzIGluIFdhaGxrYW1wZnplaXRlbiBkZXIgYWJlciByZWluIGdhciBuaWNodHMgYmV3aXJrZW4gd2lyZC4KV2VubiA0MCUgZWluZXIgR2VuZXJhdGlvbiBlaW4gYmVzdGltbWVzIENvbXB1dGVyc3BpZWwgc3BpZWxlbiwgaXN0IGRpZSBDaGFuY2UKbmljaHQgc29vb28gdW53YWhyc2NoZWlubGljaCBkaWVzIHp1ZmFlbGxpZyBhdWYgZGVtIFJlY2huZXIgZWluZXMgQW1va2xhZXVmZXJzCnp1IGZpbmRlbi4KSW4gZXJzdGVyIExpbmllIGhhdCBkYXMgaW4gbWVpbmVuIEF1Z2VuIHdhcyBkYW1pdCB6dSB0dW4sIGRhcyB2aWVsZSBFbHRlcm4KaWhyZSBLaW5kZXIgaGV1dGUgdWViZXJoYXVwdCBuaWNodCBtZWhyIGVyemllaGVuLiBXZW5uIGVpbiA4IGphZWhyaWdlcgp0YWVnbGljaCBRdWFrZSBzcGllbHQgdW5kIHNpY2ggQXJub2xkIEZpbG1lIGFuc2NoYXV0IGthbm4gZGFzIGR1cmNoYXVzIHNlaW4sCmRhcyBzb2V0d2FzIEF1c3dpcmt1bmdlbiBoYXQgLSBkZXNoYWxiIGRpZSBGaWxtZSB1bmQgU3BpZWxlIHp1IHZlcmJpZXRlbiBpc3QKUXVhdHNjaC4gU2NoYXUgbWFsIGluIGRpZSBGZXJuc2VoemVpdHVuZyB3YXMgYXVmIEthYmVsMSBzbyBmdWVyIGFsdGUKS3JpZWdzZmlsbWUgbGF1ZmVuLiBOVVIgX2ljaF8gZHVyZnRlIHNvd2FzIGFscyBLaW5kIG5vY2ggbmljaHQgc2VoZW4uCgoKQ2FkcmFjaAoKUC5TLjogSW4gbWVpbmVuIEF1Z2VuIGhhYmVuIEtpbmRlciBiaXMgMTYgdWViZXJoYXVwdCBuaWNodHMgaW0gSW50ZXJuZXQgenUKc3VjaGVuIGJ6dy4gd2VubiBkYW5uIG51ciB1bnRlciBBdWZzaWNodCAoZGl0byBhdWNoIGtlaW5lIEZlcm5zZWhlciBpbgpLaW5kZXJ6aW1tZXJuKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1pbmVzd2VlcGVyIChWYXJsYXJpb24sIDMwLiBBcHIgMjAwMiwgMTY6MTA6NTUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDE3NTUyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKV2lsbHN0IGR1IGRlc3dlZ2VuIGRlbiA5OSw5JSBkZW4gU3Bhc3MgdmVyZGVyYmVuIHVuZCBkaWUgU3BpZWxlIHZlcmJpZXRlbj8KQWxzbyBpY2ggc3BpZWxlIHNlaXQgSmFocmVuIGltbWVyIG1hbCB3aWVkZXIgU2hvb3RlciwgdGVpbHdlaXNlIGhhYmUgaWNoIGRhcwpyZWNodCBleHplc3NpdiBiZXRyaWViZW4gdW5kIGljaCBrYW5uIGtlaW5lIG5hY2h0ZWlsaWdlIFdpcmt1bmcgYXVmIG1laW5lClBlcnNvZW5saWNoa2VpdCBmZXN0c3RlbGxlbi4KR2VuYXVzb3dlbmlnIGJpbiBpY2ggZGFkdXJjaCBhYmdlc3R1bXBmdCB3YXMgR2V3YWx0YW53ZW5kdW5nIGdlZ2VudWViZXIKT2JqZWt0ZW4gdW5kIExlYmV3ZXNlbiBiZXRyaWZmdCB1bmQgbm9jaCB2aWVsIHdlbmlnZXIga2FubiBpY2ggZGFkdXJjaCBtaXQKZWluZXIgZWNodGVuIFdhZmZlIHVtZ2VoZW4uCk1pdCAiVHJhaW5pbmdzcHJvZ3JhbW0iIGhhdCBkYXMgYmVpbGVpYmUgbmljaHQgdmllbCB6dSB0dW4gdW5kIGljaCBiZXp3ZWlmbGUKc3RhcmssIGRhc3MgamVtYW5kLCBkZXIgc28gdmVyZHJlaHQgaXN0LCBkYXNzIGVyIGlyZ2VuZHdhbm4gZHVyY2h0aWNrdCwgZGF6dQpTaG9vdGVyLCBNdXNpaywgVmlkZW9zIG9kZXIgc29uc3R3YXMgYWxzIEFucmVndW5nIGJyYXVjaHQsIHNvbmRlcm4gZXIgd2lyZAp1ZWJlciBrdXJ6IG9kZXIgbGFuZyBzbyBvZGVyIHNvIGR1cmNoZHJlaGVuLgpBbnNldHplbiBzb2xsdGUgbWFuIGRhIHZpZWwgZWhlciBpbSBFbHRlcm5oYXVzIHVuZCB2b3IgYWxsZW0gaW4gZGVuIFNjaHVsZW4sCmRlbm4gYmVpbSBoZXV0aWdlbiBTdGFuZCBkZXIgRGluZ2UgaW4gZGVuIFNjaHVsZW4gZGllIGljaCBrZW5uZW5nZWxlcm50IGhhYmUsCmlzdCBlcyBlaWdlbnRsaWNoIHZlcnd1bmRlcmxpY2gsIGRhc3MgbmljaHQgdmllbCBtZWhyIExldXRlIGR1cmNoZHJlaGVuCihTY2h1ZWxlciB3aWUgTGVocmVyKS4KClZhcmwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWluZXN3ZWVwZXIgKE1vbnRhbnVzLCAzMC4gQXByIDIwMDIsIDE2OjIzOjU0KToKfiMhIHJuPVZhcmxhcmlvbiBydD0xMDIwMTc1ODU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApJaHIgdHV0IGFsbGUgc28gc2NoZWluaGVpbGlnLCBhbHMgd2FlcmUgZWluZSBXZWx0IG9obmUgZWtlbGhhZnQgcmVhbGl0YWV0c25haGUKS2lsbGVyc3BpZWxlIG5pY2h0IG1laHIgbGViZW5zd2VydC4gQWxzIGtvZW5uZSBtYW4gb2huZSBkaWVzZSBTcGllbGUga2VpbmVuClNwYXNzIG1laHIgaGFiZW4uClR1dCBtaXIgbGVpZCwgd2VubiBpaHIgZXMgbmljaHQgbWVociBzY2hhZmZ0LCBvaG5lIHNvbGNoZSBTcGllbGUgYXVzenVrb21tZW4sCmRhbm4gc29sbHRldCBpaHIgZG9jaCBtYWwgZGV1dGxpY2ggdWViZXIgZXVjaCBzZWxic3QgbmFjaGRlbmtlbi4KWmVuc3VyIGlzdCBlaW4gc2VociB6d2Vpc2NobmVpZGlnZXMgU2Nod2VydC4gRWluIHNlbnNpYmxlciBVbWdhbmcgaXN0IHNlaHIKc2Nod2VyLiBBYmVyIGRpZSAiYWxsZXMtaXN0LWVybGF1YnQiLU1lbnRhaWx0YWV0LCBkaWUgaW4gdXNuZXJlciBHZXNlbGxzY2hhZnQKZHVyY2ggZGllIGFrdHVlbGxlIEthcGl0YWxpc211cy1WYXJpYW50ZSAod2FzIG1hbiBrYXVmZW4ga2FubiwgZGFyZiBuaWNodAp3aWVkZXIgd2VnZ2Vub21tZW4gd2VyZGVuKSBlaW5zaWNrZXJ0LCB3aWxsIGljaCBuaWNodCBndXRoZWlzc2VuLgpTaG9vdGVyIHNpbmQgcGVydmVycy4gSW4gU3BpZWxvdGhla2VuIGdpYnQgZXMgdW56YWVobGlnZSBNYXNjaGluZW4gKHp1bWluZGVzdAphdWYgZGllc2VyIFNlaXRlIGRlcyBPemVhbnMpLCBiZWkgZGVuZW4gbWFuIG1pdCBQbGFzdGlrLVBpc3RvbGVuIGF1ZgoiVGVycm9yaXN0ZW4iLCAiWm9tYmllcyIgZXRjIGF1ZiBkZW0gQmlsZHNjaGlybSBoZXJ1bWJhbGxlcnQgdW5kIHNvZ2FyCmlyZ2VuZHdlbGNoZSBkZW0gbmFjaGxhZGVuIGFlaG5saWNoZSBCZXdlZ3VuZ2VuIG1hY2hlbiBtdXNzLCB3ZW5uIGRpZSBNdW5pdGlvbgphbGxlIGlzdC4KV2FzIGlzdGRhcyBhbmRlcmVzIGFscyBlaW5lIEFtb2tsYXVmLVVlYnVuZz8KVW5kIGFsbGVzIG11c3MgYXVjaCBub2NoIHNvIHJlYWxpc3Rpc2NoIHdpZSBtb2VnbGljaCBhYmxhdWZlbi4gRGVtbmFlY2hzdAprb21tdCBkaWUgbmFlY2hzdGUgR2VuZXJhdGlvbiB2b24gTW9uaXRvcmVuLCBhdXMgZGVuZW4gZGFzIEJsdXQgcmF1c3Ryb3BmZW4Ka2Fubi4oMSkKCigxKSBWb3JzaWNodCwgaW4gZGllc2VtIFNhdHoga29lbm50ZSBTYXRpcmUgdmVyc3RlY2t0IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWluZXN3ZWVwZXIgKEFyaywgMzAuIEFwciAyMDAyLCAxNjozMjozMik6Cn4jISBybj1Nb250YW51cyBydD0xMDIwMTc2NjM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApVbnNlcmUgV2VsdCBpc3QsIHdlbm4gRHUgc28gd2lsbHN0LCBzY2hvbiBzZWl0IEphaHJodW5kZXJ0ZW4gbWl0IEJsdXQsIExlaWQKdW5kIEdld2FsdCBkdXJjaHRyYWVua3QuIEVzIGhhdCBzaWNoIG51ciBlaW4gd2VuaWcgaW0gVW1nYW5nIGRhbWl0IGdlYWVuZGVydAooaG9mZmUgaWNoKS4gTWl0IFZlcmJvdGVuIHVuZCBIZWltbGljaGtlaXRlbiBoYXQgbWFuIGluIGRlciBWZXJnYW5nZW5oZWl0Cm5pY2h0cyBlcnJlaWNodCwgd2FydW0gc29sbHRlIGRhcyBudW4gYWxzbyBhbmRlcnMgc2Vpbiwgd2VubiBlcyB1bSBzb2xjaGUKU3BpZWxlIGdlaHQuIFdpciBoYWJlbiB1ZWJyaWdlbnMgYXVjaCBmcnVlaGVyIGltIEdhcnRlbiBDb3dib3kgdW5kIEluZGlhbmVyCiJnZXNwaWVsdCIsIGF1Y2ggZGEgZmxvc3MgQmx1dCwgd2VubiBhdWNoIG1laXN0IHVuYmVhYnNpY2h0aWd0IHVuZCBhdXMKRGFlbWxpY2hrZWl0LgpFcmdvLCB3YXMgaXN0IGVyZm9sZ3ZlcnNwcmVjaGVuZGVyLCBlaW5lIFZlcmJvdHNrYW1wYWduZSBvZGVyIEF1ZmtsYWVydW5nIGRlcgoiYmV0cm9mZmVuZW4gQmV2b2Vsa2VydW5nc3RlaWxlIiwgZXJnbyBLaW5kZXIgdW5kIEp1Z2VuZGxpY2hlIChFcndhY2hzZW5lCmVpbmdlc2NobG9zc2VuKT8gV2VubiBzaWNoIG5pY2h0IGplZGVyIGRhbWl0IGF1c2VpbmFuZGVyc2V0emVuIGthbm4sIGhhdCBtYW4KSU1ITyBudXIgZXJyZWljaHQsIGRhc3Mgc2ljaCB2b3JuZWhtbGljaCBkaWUgZGFtaXQgYXVzZWluYW5kZXJzZXR6ZW4sIGRpZSBtYW4KaGV1dGUgc2Nob24gYWxzICJnZWZhZWhyZGV0IiBlaW5zdHVmZW4ga29lbm50ZS4KVmVyYm90ZSBzaW5kIHNpbm5sb3MsIGRhcyBoYWJlbiBzY2hsaWVzc2xpY2ggYXVjaCBtZWluZSBFbHRlcm4gZWluZ2VzZWhlbiA7XikKSGFsdCwgbmF0dWVybGljaCB3aWxsIGljaCBkYW1pdCBuaWNodCBqZWRlcyBWZXJib3QgYWxzIHNpbm5sb3MgYW5rcmVpZGVuLCBpc3QKaG9mZmVudGxpY2ggdmVyc3RhbmRlbi4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWluZXN3ZWVwZXIgKEdsb2luc29uLCAzMC4gQXByIDIwMDIsIDE2OjM0OjQ0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjAxNzY2MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkluIERldXRzY2hsYW5kIGdpYnQgZXMgZnVlciBlaW5pZ2UgemVobnRhdXNlbmQgcHJvIEphaHIgZWluZSBHcnVuZGF1YnNpbGR1bmcsCmluIGRlciBtYW4gU2NoaWVzc2VuIHVuZCBOYWNobGFkZW4gbGVybnQgLi4uCj4gV2FzIGlzdGRhcyBhbmRlcmVzIGFscyBlaW5lIEFtb2tsYXVmLVVlYnVuZz8KCkRhcyBlaW4gQW1va2xhdWYgdW5kIGVpbmUgQXVzYmlsZHVuZyBhbiBlaW5lciBXYWZmZS9laW4gU3BpZWwgZGFzIFRvZXRlbgp2aXJ0dWVsbGVyIFdlc2VuIGJlaW5oYWx0ZXQgc2ljaCBsZXR6dGxpY2ggZGFyaW4gdW50ZXJzY2hlaWRlbiBkYXNzIG1hbiBiZWkKZXJzdGVyZW0gZ2V6aWVsdCB1bmQgbWl0IFZvcnNhdHogYXVmIGFuZGVyZSBNZW5zY2hlbiBzY2hpZXNzdC4gSWNoIHNlaCBkaWUKSGVtbXNjaHdlbGxlIGRhZnVlciBiZWltIGR1cmNoc2Nobml0dGxpY2hlbiBNaXRtZW5zY2hlbiBuaWNodCBkdXJjaApHZXdhbHRzcGllbGUvU2NodXNzd2FmZmVuYXVzYmlsZHVuZy9VZWJ1bmdlbi92aXJ0dWVsbGUgS3JpZWdzc3BpZWxlIHNpbmtlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNaW5lc3dlZXBlciAoS2FyaXMsIDMwLiBBcHIgMjAwMiwgMjM6MjU6NTkpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDE3NjYzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKWmVuc3VyIGlzdCBldHdhcywgd2FzIG1hbiBlaWdlbnRsaWNoIGltbWVyIGR1cmNoIEF1ZmtsYWVydW5nIHVtZ2VoZW4ga29lbm50ZSwKd2VubiBkYXMgdm9uIHN0YWF0bGljaGVyIFNlaXRlIGdld29sbHQgaXN0LgpFaW5mYWNoIGV0d2FzIHZlcmJpZXRlbiBicmluZ3QgZ2FyIG5peCAtIHdlciBhbiBpcmdlbmR3YXMgcmFua29tbWVuIHdpbGwsIAp1bmQgc2VpIGVzLCB3ZWlscyBkYXMgaXJnZW5kd2FubiBtYWwgZ2FiLCBkZXIga29tbXQgYXVjaCByYW4uCkRhcyBlaW56aWdlLCB3YXMgc2ljaCB2ZXJhZW5kZXJuIGxhZXNzdCwgaXN0IGRlciBBdWZ3YW5kIGZ1ZXIgZ2V3aXNzZQpNaW5kZXJoZWl0ZW4sIGlyZ2VuZGV0d2FzIHp1ICdiZXNvcmdlbicKT2IgU2hvb3RlciBudW4gcGVydmVycyBzaW5kIG9kZXIgbmljaHQsIHdpbGwgaWNoIG5pY2h0IGJldXJ0ZWlsZW4uCkljaCBwZXJzb2VubGljaCBmaW5kZSBqYSBzY2hvbiwgZGFzcyBkYXMgRzMtU2NoaWVzc2VuIGJlaW0gQmFycmFzIGF1ZgpkaWUgUGFwcGthbWVyYWRlbiBkaWUgSGVtbXNjaHdlbGxlIHNlbmt0IChhYmdlc2VoZW4gZGF2b246IGRhcyBzb2xsIGVzCndvaGwgYXVjaCkuIEFiZXIgZGVyIFVudGVyc2NoaWVkIHp1ciBVZWJ1bmcgenVtIEFtb2stTGF1ZiBpc3Qgc2Nob24gZ3Jvc3MuClVtIG5pY2h0IHp1IHNhZ2VuOiBlcyBoYXQgZGFtaXQgdWViZXJoYXVwdCBuaWNodHMgenUgdHVuLiBHZW5hdXNvd2VuaWcKd2llIGlyZ2VuZHdlbGNoZSBCYWxsZXJzcGllbGUuIApQc3ljaG9sb2dlbiBzYWdlbiwgZGFzcyBtYW5jaGUgVmlkZW9zcGllbGUgZGllIEhlbW1zY2h3ZWxsZSBzZW5rZW4uCk9rLiBTaWUgZGVzd2VnZW4gdmVyYmlldGVuPyBXYXJ1bT8KVWViZXJsZWcgbWFsIGFuZGVyZSBEaW5nZTogZGllIEVsdGVybiBlaW5lcyBnZXdpc3NlbiBBbW9rbGFldWZlcnMgYmVoYXVwdGVuLApzaWUgZGFjaHRlbiwgaWhyIFNvaG4gd3VlcmRlIGVpbmUgQWJpdHVycHJ1ZWZ1bmcgYWJsZWdlbi4gU2llIHd1ZXNzdGVuCm5peCB2b24gZWluZW0gU2NodWx2ZXJ3ZWlzLgpEQVMgaXN0IG0uRS4gZWluIHZpZWwgZ3JvZXNzZXJlcyBQcm9ibGVtLiBFbHRlcm4gdmVybGFuZ2VuIHZvbiBpaHJlbgpLaW5kZXJuLCBkYXNzICdlcycgZ2VuYXVzbyBlcmZvbGdyZWljaCB3aXJkIHdpZSBCb2JiZWxlLiBVbmQgZGFmdWVyCnBlaXRzY2hlbiBzaWUgJ2VzJyBkdXJjaCBkaWUgU2NodWxlLCBlcmtsYWVyZW4gaWhtIHNjaG9uIGluIGRlciAzLiBLbGFzc2UgClZvbGtzc2NodWxlLCBkYXNzIGVzIGF1ZnMgR3VtbWluYXNpdW0gbXVzcy4gU2V0emVuIGRlbiBMZWhyZXIgdW50ZXIgRHJ1Y2suCldhcnVtPyBOdXIgd2VpbCBtYW4gQW5nc3QgdW0gZGllIFJlcHV0YXRpb24gaW4gZGVyIGRpcmVrdCBhbmdyZW56ZW5kZW4KR2VzZWxsc2NoYWZ0IGhhdD8gT2ZmZW5zaWNodGxpY2ggc2Nob24uIFNwYWV0ZXIgbXVzcyBkYXMgS2luZCBkYW5uIEFiaXR1ciAKbWFjaGVuLCBhdWNoIHdlbm5zIHZpZWxsZWljaHQgbGllYmVyIEhhbmR3ZXJrZXIgZ2V3b3JkZW4gd2FlcmUuCldhcnVtPyBXZWlsIG1hbmNoZSBFbHRlcm4gbWVpbmVuLCBkYXMgS2luZCBoYWV0dGUgc29uc3Qga2VpbmVyIENoYW5jZQp3ZW5ucyBtYWwgZ3Jvc3MgaXN0PwoKV2FydW0gYWt6ZXB0aWVyZW4gdmllbGUgRWx0ZXJuIGlocmUgS2luZGVyIG5pY2h0IGVpbmZhY2ggc28sIHdpZSBzaWUKc2luZD8gV2FydW0gdW50ZXJzdHVldHplbiB2aWVsZSBFbHRlcm4gbmljaHQgaWhyZSBLaW5kZXIgZGEsIHdvIHNpZSAKaWhyZSBTdGFlcmtlbiBoYWJlbiwgc29uZGVybiBzZXR6ZW4gc2llIG1hc3NpdiB1bnRlciBFcmZvbGdzZHJ1Y2s/CldhcnVtIGJlaGFuZGVsbiB2aWVsZSBFbHRlcm4gaWhyZSBLaW5kZXIgd2llIE1hc2NoaW5lbiwgZGllIGVpbmZhY2ggCm51ciB6dSBmdW5rdGlvbmllcmVuIGhhYmVuPyBXZWlscyBlaW5mYWNoZXIgaXN0IHVuZCBpY2ggdHJvdHpkZW0KbWljaCBzZWxic3QgdmVyd2lya2xpY2hlbiBrYW5uPwoKSWNoIGtvZW5udGUgaGllciBub2NoIHZpZWxlIEZyYWdlbiBkaWVzZXIgQXJ0IHN0ZWxsZW4uIE1pdCBaZW5zdXIKa2FubiBtYW4gYWxsZSB2b20gVGlzY2ggZmVnZW4sIGFiZXIga2VpbmUgYmVhbnR3b3J0ZW4uIAoKS2FyaXMuCgpQUzogTmVpbiwgaWNoIGtlbm5lIGtlaW5lbiwgZGVyIGplbWFuZGVuIGtlbm50LCBkZXIgaW4gRXJmdXJ0IGplbWFuZGVuIAp2ZXJsb3JlbiBoYXQuIE1hZyBzZWluLCBkYXNzIGljaCBzb25zdCBhbmRlcnMgcmVhZ2llcmVuIHd1ZXJkZS4KQWJlciBob2ZmZW50bGljaCBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVnby1TaG9vdGVyIC0gZGllIFd1cnplbCBhbGxlbiBVZWJlbHM/IHdhcjogTWluZXN3ZWVwZXIgKFBpbGdyaW0sICAxLiBNYWkgMjAwMiwgMTg6MDg6MzQpOgpFaWdlbnRsaWNoIHdvbGx0IGljaCB6dSBkZW0gVGhlbWEgbml4IHNhZ2VuIC4uLgpBYmVyIC4uLi4KCj5SdWJyaWsgMTogYWxsZ2VtZWluZXMsIEFydGlrZWw6IDc1IHZvbiA4Nwo+UmVeNjogTWluZXN3ZWVwZXIgKE1vbnRhbnVzLCAzMC4gQXByIDIwMDIsIDE1OjU3OjIyKToKPltCZXp1ZzogQXJ0aWtlbCA3NCB2b24gR3JpbW1ib3JuIHZvbSAzMC4gQXByIDIwMDIsIDE1OjU0OjMwXQo+Cj5Tb3JyeSwgaWNoIHNlaCBuYWNoIHdpZSB2b3IgbmljaHQsIGRhc3MgZWluIFZlcmJvdCB2b24gRWdvLVNob290ZXJuIGZ1ZXIKOTksOSUKPmRlciBCZXZvZWxrZXJ1bmcgZWluZSBkcmFzdGlzY2hlIEVpbnNjaHJhZW5rdW5nIGJlZGV1dGV0LgoKSG1tbW0gLi4uLiBPLksuIC4uLi4KCkljaCBzZWhlIG5hY2ggd2llIHZvciBuaWNodCwgd2FydW0gZWluIFJlaXNldmVyYm90IG5hY2ggCk1hZGFnYXNrYXIsIEtvbmdvLCBUYWRzY2hpa2lzdGFuLCBBbmdvbGEsIFNvbWFsaWEsIExpYmVyaWEgClplbnRyYWxhZnJpa2FuaXNjaGUgUmVwdWJsaWssIEFmZ2hhbmlzdGFuLCBTYWxvbW9uZW4gb2RlciAKSGFpdGkgOTkuOSUgZGVyIEJldm9lbGtlcnVuZyBpcmdlbmR3ZWxjaGUgRWluc2NocmFlbmt1bmdlbiAKYnJpbmdlbiBzb2xsdGU/IEFjaCAuLi4gZXMgZ2lidCBrZWluIFJlaXNldmVyYm90IGluIGRpZXNlIApMYWVuZGVyIC4uLiBkYW5uIGlzdCBlcyB3ZW5pZ3N0ZW5zIHZlcmJvdGVuLCBSZWlzZW4gaW4gZGllc2UgCkxhZW5kZXIgenUgdmVya2F1ZmVuIG9kZXIgc2llIHp1IGJld2VyYmVuID8gLi4uIEF1Y2ggbmljaHQ/IApBYmVyIEtpbmRlcm4gaXN0IHp1bWluZGVzdCBlaW5lIFJlaXNlIGRhaGluIHZlcmJvdGVuIC4uLiAKTmljaHQ/IEphIHdpZXNvIGRlbm4gbmljaHQ/IEZ1ZXIgYWxsZSBkaWVzZSBMYWVuZGVyIGhhdCBkYXMgCkF1c3dhZXJ0aWdlIEFtdCBkb2NoIFJlaXNld2FybnVuZ2VuIHJhdXNnZWdlYmVuIChkaWUgCmJlaW5oYWx0ZW4sIGRhcyBlcyB1LlUuIGZ1ZXIgTGViZW4gdW5kIEdlc3VuZGhlaXQgCmdlZmFlaHJsaWNoIHNlaW4ga2FubiwgZGFoaW4genUgcmVpc2VuLiBNYW4ga2FuIGVudGZ1ZWhydCwgCmVycHJlc3N0LCB2ZXJnZXdhbHRpZ3Qgb2RlciBnZXRvZXRldCB3ZXJkZW4gLi4uIGRhcyBpc3QgZG9jaCAKZWluIGd1dGVyIEdydW5kIGRpZSBMZXV0ZSAtIGF1Y2ggZ2VnZW4gSWhyZW4gV2lsbGVuIC0gCnp1ICdzY2h1ZXR6ZW4nLCBvZGVyIG5pY2h0PwoKV2FzIGhlaXNzdCBoaWVyOiBHcnVuZHJlY2h0ZT8gSW4gZWluZW0gTGFuZCwgd28gc2Nob24gY2EuIAozMCUtNTAlIGF1ZiBlaW5lbiBUZWlsIElocmVyIEdydW5kcmVjaHRlIChkZW0gUmVjaHQgenVyIFdhaGwgCnp1IGdlaGVuKSB2ZXJ6aWNodGVuIHNvbGwncyBkYXJhdWYgamEgYXVjaCBuaWNodCBtZWhyIAphbmtvbW1lbi4gVmllbGVpY2h0IHNvbGx0ZW4gd2lyIGF1Y2ggbmUgUmFzdGVyZmFobmR1bmcgbWFjaGVuOiAKQWxsZSBTY2hlaWR1bmdza2luZGVyLCBkaWUgdm9uIGRlciBTY2h1bGUgZ2VmbG9nZW4gc2luZCwgQ1MgCnNwaWVsZW4gdW5kIGltIFNjaHVldHplbnZlcmVpbiBzaW5kIGFtIGJlc3RlbiBnbGVpY2ggCndlZ3NjaGxpZXNzZW4gLi4uPyBWaWVsbGVpY2h0IGthbm4gbWFuIGF1Y2ggbmUgR2VuYW5hbHlzZSAKbWFjaGVuIC4uLiBJY2ggaGFiJyB2b3Iga3VyemVuIGdlaG9lcnQsIG1hbiBzdWNodCBuYWNoIApnZXdpc3NlbiBHZW5zdHJ1Y2t0dXJlbiwgZGllIGZ1ZXIgc29sY2hlIEFydCB1bmtvbnRyb2xsaWVydGUgCkFncmVzc2l2aXRhZXQgJ3ZlcmFudHdvcnRsaWNoJyBzaW5kIChvZGVyIGhhdCBtYW4gc2llIHNjaG9uIApnZWZ1bmRlbikgLi4uIGRhbm4ga29lbm50ZSBtYW4gc2Nob24gQmFieXMgZGFyYXVmIGhpbiAKdW50ZXJzdWNoZW4gdW5kIGRpZSBLaW5kZXIgc3BhZXRlciB0aGVyYXBpZXJlbiAuLi4gb2RlciAKZ2xlaWNoIGRpZSBTY2h3YW5nZXJzY2hhZnQgdW50ZXJicmVjaGVuIC4uLiBkYXMKd3VlcmRlIGRpZSBXZWx0IGRvY2ggc2ljaGVyZXIgbWFjaGVuPyAuLi4gdW5kIGZ1ZXIKOTkuOSUgZGVyIEJldm9lbGtlcnVuZyBzaWNoZXIga2VpbmUgRWluc2NocmFlbmt1bmcgYmVkZXV0ZW4uCgoKPlJ1YnJpayAxOiBhbGxnZW1laW5lcywgQXJ0aWtlbDogNzcgdm9uIDg3Cj5SZV44OiBNaW5lc3dlZXBlciAoTW9udGFudXMsIDMwLiBBcHIgMjAwMiwgMTY6MDU6MjUpOgo+W0JlenVnOiBBcnRpa2VsIDc2IHZvbiBCaWVsZWZlbGQgdm9tIDMwLiBBcHIgMjAwMiwgMTU6NTg6MjhdCj4KPk5vZSwgZXMgaXN0IG51ciBlaW4gVHJhaW5pbmdzcHJvZ3JhbW0gaW4gZGVyIEF1c2JpbGR1Z24genVtIE1hc3Nlbm1vZXJkZXIsCmRpZQoKQWggamEgLi4uIHZpZWxlaWNodCBrYW5uc3QgRHUgaGllciBtYWwgZWluLCB6d2VpIGFsbGdlbWVpbiBhbmVya2FubnRlCndpc3NlbnNjaGFmdGxpY2hlIFN0dWRpZW4geml0aWVyZW4sIGRpZSBEZWluZSBCZWhhdXB0dW5nIHVudGVybWF1ZXJuPwooV2VsY2hlbiBFZ28tU2hvb3RlciBoYXQgRGVpbmVyIE1laW51bmcgbmFjaCBlaWdlbnRsaWNoICdKYWNrLXRoZS1SaXBwZXInCmdlc3BpZWx0PykKCj5pbiBkZW4gbGV0enRlbiBKYWhyZXMgYW5zY2hlaW5lZW5kIGdlc2VsbHNjaGFmdHNmYWVoaWcgZ2V3b3JkZW4gaXN0Lgo+OTksOSUgZGVyIExldXRlIHdlcmRlbiB2ZXJudWVuZnRpZyBkYW10aSB1bWdlaGVuIGtvZW5uZW4sIGRvY2ggc2Nob24gZWluCj5laW56ZWxuZXIsIGRlciBkZXN3ZWdlbiBkdXJjaGRyZWh0LCBpc3QgenV2aWVsLiAKCktsYXIgLi4uIHVuZCBkZXNoYWxiIGJlc2NobmVpZGVuIHdpciBtYWwgJ3ByYWV2ZW50aXYnIGRpZSBSZWNodGUgYWxsZXI/ClNjaG9uIG1hbCBhdWYgZGllIElkZWUgZ2Vrb21tZW4sIGRhc3MgJ0Ftb2tsYWV1ZmVyJyBnZW5lcmVsbCBlaW5lbgpwc3ljaGlzY2hlbiBEZWZla3QgaGFiZW4gdW5kIHNvbWl0IGFscyAna3JhbmsnIGFuenVzZWhlbiBzaW5kPwpEYSBoaWxmdCBlaW4gVmVyYm90IHZvbiBnZXdhbHR2ZXJoZXJsaWNoZW5kZW4gTWVkaWVuIGJlc3RpbW10IHdlaXRlcj8KCj5SdWJyaWsgMTogYWxsZ2VtZWluZXMsIEFydGlrZWw6IDg0IHZvbiA4Nwo+UmVeMTA6IE1pbmVzd2VlcGVyIChNb250YW51cywgMzAuIEFwciAyMDAyLCAxNjoyMzo1NCk6Cj5bQmV6dWc6IEFydGlrZWwgODMgdm9uIFZhcmxhcmlvbiB2b20gMzAuIEFwciAyMDAyLCAxNjoxMDo1NV0KPgo+SWhyIHR1dCBhbGxlIHNvIHNjaGVpbmhlaWxpZywgYWxzIHdhZXJlIGVpbmUgV2VsdCBvaG5lIGVrZWxoYWZ0CnJlYWxpdGFldHNuYWhlCj5LaWxsZXJzcGllbGUgbmljaHQgbWVociBsZWJlbnN3ZXJ0LiBBbHMga29lbm5lIG1hbiBvaG5lIGRpZXNlIFNwaWVsZSBrZWluZW4KPlNwYXNzIG1laHIgaGFiZW4uCgpVbmQgRHUgc2ltcGxpZml6aWVyc3QgKGViZW5zbyBzY2hlaW5oZWlsaWcpIGVpbiBrb21wbGV4ZXMgUHJvYmxlbSBhdWYKZWluLCB6d2VpIFNjaGxhZ3dvcnRlIC4uLiBhdWYgZGllIEdlZmFociBoaW4sIGRhc3Mgc28gZWluZSBvYmpla3RpdmUKdW5kIGZ1ZXIgZGllIFp1a3VuZnQgaGlsZnJlaWNoZSBBdWZhcmJlaXR1bmcgZGVzIFByb2JsZW1zIHVudGVyYmxlaWJ0LgoKPkluIFNwaWVsb3RoZWtlbiBnaWJ0IGVzIHVuemFlaGxpZ2UgTWFzY2hpbmVuICh6dW1pbmRlc3QKPmF1ZiBkaWVzZXIgU2VpdGUgZGVzIE96ZWFucyksIGJlaSBkZW5lbiBtYW4gbWl0IFBsYXN0aWstUGlzdG9sZW4gYXVmCj4iVGVycm9yaXN0ZW4iLCAiWm9tYmllcyIgZXRjIGF1ZiBkZW0gQmlsZHNjaGlybSBoZXJ1bWJhbGxlcnQgdW5kIHNvZ2FyCj5pcmdlbmR3ZWxjaGUgZGVtIG5hY2hsYWRlbiBhZWhubGljaGUgQmV3ZWd1bmdlbiBtYWNoZW4gbXVzcywgd2VubiBkaWUKTXVuaXRpb24KPmFsbGUgaXN0Lgo+V2FzIGlzdGRhcyBhbmRlcmVzIGFscyBlaW5lIEFtb2tsYXVmLVVlYnVuZz8KCmEpIHNvdmllbCBpY2ggd2Vpc3MsIHNpbmQgZGllIG1laXN0ZW4gZGllc2VyIE1hc2NoaW5lbiBpbiBEZXV0c2NobGFuZAood2VnZW4gR2V3YWx0dmVyaGVybGljaHVuZywgSlNjaEcgby5zLikgdmVyYm90ZW4gLi4uCnVuZApiKSBXaWVzbyBpc3QgZGFzIG5lIEFtb2tsYXVmdWVidW5nPyBXaXJkIGplZGVyLCBkZXIgZGFzICdzcGllbHQnIHp1bSAKQW1va2xhZXVmZXI/CgoKQWxsZSB0dW4gaW1tZXIgc28sIGFscyBzZWluZW4gS2lsbGVyc3BpZWxlLCBIb3Jyb3J2aWVkZW9zIHVuZCBIZWF2eSBNZXRhbApkaWUgVXJzYWNoZSBmdWVyIHNvbGNoZSBBbW9rbGFldWZlIChudXIgd2VpbCBtYW4gZGFzIGJlaSB2aWVsZW4vZmFzdCBhbGxlbikKZ2VmdW5kZW4gaGF0IC4uLiBTY2hvbiBtYWwgYXVmIGRpZSBJZGVlIGdla29tbWVuLCBkYXNzIHNvd2FzIG51ciBlaW4gU3ltdG9tCmlzdC4gVW5kIFN5bXRvbWUgenUgYmVoYW5kZWxuIGhhdCBiZWthbm50bGljaCBub2NoIG5pZSBuZSBLcmFua2tlaXQgZ2VoZWlsdC4KCldpc3N0IElociB3YXMgZGFzIFByb2JsZW0gaXN0PyBEYXMgUHJvYmxlbSBpc3QsIGRhc3Mgc2ljaCBnYW56IHZpZWxlCnNjaHVsZGlnIGZ1ZWhsZW4gKHVuZCBlcyBhdWNoIHNpbmQgdW5kIGF1Y2ggd2llZGVyIG5pY2h0KToKRGllIE11dHRlciAuLi4gd2llc28gaGF0IGRpZSBNdXR0ZXIgbmljaHRzIGdlbWVya3QgLi4uIGlzdCBkb2NoIElociBTb2huPwpEaWUgTGVocmVyIC4uLiBkaWUgd2FyZW4gZG9jaCB0YWVnbGljaCBtaXQgZGVtIHp1c2FtbWVuIC4uLiBkaWUgaGFiZW4KICAgICAgICAgICAgICAgZG9jaCBnZXNlaGVuLCBkYXNzIGRlciBKdW5nZSBhdXMgUHJ1ZWZ1bmdzLS9WZXJzYWdlbnNhbmdzdCAoPykKICAgICAgICAgICAgICAgc2ljaCB2b3IgZGVtIHp3ZWl0ZW4gQW5sYXVmIGRydWVja2Ugd29sbHRlIC4uLiB1bmQgd2FzIGhhYmVuCiAgICAgICAgICAgICAgIGRpZSBnZXRhbiAuLi4gaWhuIHZvbiBkZXIgU2NodWxlIHZlcndpZXNlbi4KRGFzIExhbmQgLi4uIHdlciB6d2VpbWFsIGR1cmNoIEFiaSByYXNzZWx0LCBoYXQgS0VJTkVOIEFic2NobHVzcyAobmljaHQgbWFsCiAgICAgICAgICAgICBIYXVwdHNjaHVsZSkgLi4uIGltIE9zdGVuIG1pdCBzZWluZW4gKD8pIDIwJSBBcmJlaXRsb3NpZ2tlaXQKICAgICAgICAgICAgIGlzdCBkYXMgZG9jaCBkYXMgcGVyc3Bla3RpdmlzY2hlIEF1cyBmdWVyIGVpbmVuIC4uLgpEZXIgU2NodWV0emVudmVyZWluIC4uLiBhdWNoIGRhIGhhdCBrZWluZXIgd2FzIGdlbWVydCAhPwpEZXIgQnVuZCAuLi4gbWl0IHNlaW5lbSBXYWZmZW5nZXNldHogLi4uIGhhZXR0ZSBtYW4gZXJzdCBtaXQgMjEgc2VpbmUgV2FmZmVuCiAgICAgICAgICAgICBtaXQgbmFjaCBoYXVzZSBuZWhtZW4ga29lbm5lbiAuLi4/ClNlaW5lIE1pdHNjaHVlbGVyIC4uLiBoYWJlbiBhdWNoIG5peCBnZW1lcmt0IChvZGVyIG5peCBtZXJrZW4gd29sbGVuID8pIG9kZXIKICAgICAgICAgICAgICAgICAgICAgIHNpY2ggZWluZmFjaCBuaWNodCBkYWZ1ZXIgaW50ZXJlc3NpZXJ0IC4uLiBvZGVyIHdpZT8KICAgICAgICAgICAgICAgICAgICAgIFdpZSB3YXIgZGFzIG5vY2ggbWl0IGRlbiBXYXJuLVNNU2VuIC4uLiBzdGltbXQgZGllClN0b3J5PwpLaW5vIHVuZCBGZWhyc2VoZW4gLi4uIG1hbCBhdWZnZWZhbGxlbiwgZGFzIGRvcnQgZWluZSBzdGV0aWdlIFp1bmFobWUgYW4KICAgICAgICAgICAgICAgICAgICAgICBhbiB6dXIgU2NoYXVzZXRsbHVuZyB2b24gR2V3YWx0IHp1IHZlcnplaWNoZW4gaXN0CiAgICAgICAgICAgICAgICAgICAgICAgKEhhYicgYmlzIGhldXRlIG5pY2h0IHZlcnN0YW5kZW4sIHdpZXNvIG1hbiBpbW1lcgp3aWVkZXIKICAgICAgICAgICAgICAgICAgICAgICBkaWUgYXVzIGRlbSBXVEMgc3ByaW5nZW5kZW4gTWVuc2NoZW4gaW4gZGVuCk5hY2hyaWNodGVuCiAgICAgICAgICAgICAgICAgICAgICAgZ2V6ZWlndCBoYXQgLi4uIHdhcyBzb2xsIGRhcywgd29mdWVyIHdhciBkYXMgZ3V0PykKICAgICAgICAgICAgICAgICAgICAgICBVbmQgaW4gRmlsbWVuIHN0ZXJiZW4gTWVuc2NoZW4gamEgaW1tZXIgc29vbyAnc2F1YmVyJy4KICAgICAgICAgICAgICAgICAgICAgICBQZW5nIC0gZmFlbGx0IHVtLCBuZW4gYmlzc2NoZW4gQmx1dCB1bmQgZGFzIHdhcnMuCiAgICAgICAgICAgICAgICAgICAgICAgRGFzIHNjaHJlaXQga2VpbmVyIHdpZSBhbSBTcGllc3MsIHdlaW50LCByb2NoZWx0IG9kZXIKICAgICAgICAgICAgICAgICAgICAgICBzY2hyZWl0IG5hY2ggc2VpbmVyIE1hbWEgKEljaCBmYW5kIGRlbiBBbmZhbmcgdm9uCiAgICAgICAgICAgICAgICAgICAgICAgU29kYXQgUnlhbiBpbiBkaWVzZXIgSGluc2ljaHQgZG9jaCBlaGVyIHJlYWxpc3Rpc2NoCi4uLgogICAgICAgICAgICAgICAgICAgICAgIGFiZXIgZGFzIGlzdCBqYSBkYW5uIHNjaG9uIHdpZWRlcgpHZXdhbHR2ZXJoZXJybGljaHVuZywKICAgICAgICAgICAgICAgICAgICAgICBvZGVyPykuCkVpbiBnYW56ZSBLZXR0ZSB2b24gVW1zdGFlbmRlbiBoYXQgenUgZGllc2VtIEVyZ2VpZ25pc3MgZ2VmdWVocnQgdW5kIHZpZWxlCmhhZXR0ZW4gZGllc2UgS2V0dGUgdW50ZXJicmVjaGVuIGtvZW5uZW4gLi4uCgpEaWUgVXJzYWNoZSBmdWVyIHNvd2FzIGxpZWd0IG5pY2h0IGluIFNwaWVsZW4sIFZpZGVvcyB1bmQgTXVzaWsgLi4uCkRpZSBVcnNhY2hlIGxpZWd0IGluIGRlciBXZXJ0ZXZlcm1pdGx1bmcgZHVyY2ggRmFtaWxpZSB1bmQgU2NodWxlLgpHZW5hdSBkYSBtdXNzIG1hbiBhbnNldHplbiAuLi4gamVkZXIuIAoKRGFubiBiZWtvbW10IG1hbiBhdWNoIGFuZGVyZSBQcm9ibGVtZSBpbiBkZW4gR3JpZmYsIHdpZQpBdXNsYWVuZGVyZmVpbmRsaWNoa2VpdCwKQW50aXNlbWl0aXNtdXMgb2RlciBkaWUgZ2VuZXJlbGxlIFZlcnJvaHVuZyBkZXIgU2l0dGVuIChzaWNoYmFyIGluIGRlcgp6dW5laG1lbmRlbiBHZXdhbHQgYW4gU2NodWxlbiB1bmQgc29nYXIgc2Nob24gaW4gS2luZGVyZ2FlcnRlbikuCgpBbGxlIHJlZ3RlbiBzaWNoIHVlYmVyIFBpc2EgYXVmOiBKZXR6dCBtdXNzIHdhcyBnZXNjaGVoZW4hIFVuc2VyIFNjaHVlbGVyCnNpbmQgenUgc2NobGVjaHQgYXVzZ2ViaWxkZXQgLi4uIGFjaCwgdW5kIHdhcyBpc3QgbWl0IGRlciBWZXJtaXR0bHVuZwp2b24gc296aWFsZW4gRmFlaGlna2VpdGVuIC4uLiBkYSBnaWJ0cyBrZWluZSBTdHVkaWUgenUgLSBhbHNvIGJyYXVjaHQKbWFuIGRhcyB3b2hsIG5pY2h0PwoKQWJlciB3aWUgZ2VzYWd0IC4uLiBhbGwgZGFzIG1hY2h0IGVpbmVuIG5pY2h0IGF1dG9tYXRpc2NoIHp1bSBBbW9rbGFldWZlciAuLi4KZWluIHBzeWNoaXNjaGVyIERlZmVrdCBnZWhvZXJ0IHdvaGwgYXVjaCBpbW1lciBkYXp1IC4uLiB1bmQgbGV0emVuZW5kZXMKZWluIEJsdXRrb2VycGVyY2hlbiBvZGVyIE5ldXJvaW1wbHVzIGRlciB6dXIgZmFsc2NoZW4gWmVpdCBhbSBmYWxzY2hlbgpQbGF0eiB3YXIgLi4uIGJpdHRlciwgYWJlciB3YWhyLgoKUGlsZ3JpbQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNaW5lc3dlZXBlciAoSG9vZCwgIDIuIE1haSAyMDAyLCAxMToxODoyNik6Cn4jISBybj1Nb250YW51cyBydD0xMDIwMTc2NjM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApkaWUgImFsbGVzLWlzdC1lcmxhdWJ0Ii1tZW50YWxpdGFldD8Kd2FzIHNvbGwgZGFzIHNlaW4/CmRpZSBnZXNlbGxzY2hhZnQgc2NocmFlbmt0IHNpY2ggc2VpdCBqYWhyemVobnRlbiB6dW5laG1lbmQgZWluLAp0ZWlsd2Vpc2UgYmlzIHp1ciBnYWVuZ2VsZWkuCmRlciBlaW56ZWxuZSBzb2xsIGRvY2ggbnVyIHp1ciBlbW90aW9uc2xvc2VuIGdlbGR1bXNhdHptYXNjaGluZSB2ZXJrb21tZW4sCnZvbiB3ZWdlbiBhbGxlcy1lcmxhdWJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZWJzdGFlaGxlIChTY2hsZWljaGVyLCAgMy4gTWFpIDIwMDIsIDEwOjM1OjU3KToKQWxzbywgbnVyIG1hbCBzbywgb2huZSBqZW1hbmRlbiBkaXJla3QgYW56dXNwcmVjaGVuLCBHZWdlbnN0YWVuZGUgZGllIG1pdAplaW5lbSBOYW1lbiBnZWtlbm56ZWljaG5ldCBzaW5kLCBzaW5kIF9kZWZpbnRpdl8gS0VJTiBhbGxnZW1laW5ndXQgc29uZGVybgpnZWhvZXJlbiBkZW0gZW50c3ByZWNoZW5kZW4gU3BpZWxlciEgSW4gbGV0enRlciBaZWl0IGhhZXVmZW4gc2ljaCBEaWVic3RhZWhsZQp2b24gUnVja3NhZWNrZW4gaW4gZGVyIEthcmF0ZWdpbGRlLiBEb3J0IHN0ZWh0IGVpbiBQYWtldCBmdWVyIEthcmF0ZWthcyBpbiBkZW0KWmV1ZyBsaWVndCBkYXJhdXMga2FubiBtYW4gc2ljaCB3ZW5uIGVzIHNlaW4gbXVzcyBiZWRpZW5lbiBhYmVyIG5hbWVudGxpY2gKbWFya2llcnRlIFJ1Y2tzYWVja2UgenVtIEJlaXNwaWVsIG1vZWdlIG1hbiBkb2NoIGxpZWdlbiBsYXNzZW4uIE1laXN0IHRyaWZ0Cm1hbiBkYW1pdCBuYWVtbGljaCBrbGVpbmUgU3BpZWxlciBkaWUgZGEgSWhyZW4gZ2FuemVuIEtyYW0gZHJpbmhhYmVuLiBBbHNvCkZpbmdlciB3ZWcsIHNvbGx0ZSBpY2ggamVtYW5kIGRhYmVpIGJlb2JhY2h0ZW4gd2VyZGUgaWNoIG1pY2ggbmljaHQgc2NoZXVlbgpkYXMgZGVtIFNoZXJpZmYgenUgbWVsZGVuLiBTY2hvZW5lIFRhZyBub2NoLgpTY2hsZWljaGVyIC0gU3RpbmtzYXVlciB1ZWJlciBzb3ZpZWwgdW5rb2xsZWdpYWxpdGFldCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWVic3RhZWhsZSAoR2xvaW5zb24sICAzLiBNYWkgMjAwMiwgMTE6MDc6MjEpOgp+IyEgcm49U2NobGVpY2hlciBydD0xMDIwNDE0OTU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDQxNDk1NwpFcndhcnRlc3QgRHUgZGFyYXVmaGluIGpldHp0IGVpbmUgZWhybGljaGUgQW50d29ydCBvZGVyIGVpbiBnZWhldWNoZWx0ZXMgIkphLApTaXIsIE1hZ2llciwgU2lyPyIuIE1laW5lciBNZWludW5nIG5hY2ggaXN0IGRhcyBUZWlsIGRlcyBTcGllbHMgdW5kL29kZXIKQ2hhcmFrdGVycywgc28gInVua29sbGVnaWFsIiBlcyBhdWNoIHNlaW4gbWFnLiBOaWNodCBhbGxlIFNwaWVsZXIgc2luZApLb2xsZWdlbiwgYXVjaCB3ZW5uIER1IGRlcyBvZWZ0ZXJlbiBad2VyZ2UgdW5kIEVsZmVuLCBDaGFvdGVuIHVuZCBLbGVyaWtlcgp6dXNhbW1lbnNpZWhzdCBoZWlzc3QgZGFzIG5pY2h0LCBkYXNzIGFsbGUgdmVyZ2Vzc2VuIGhhYmVuIG1hbmNobWFsIGF1Y2ggZWluZQpSb2xsZSB6dSBzcGllbGVuLgoKR2xvaW4oc29uKQoKUFM6IEhhYiBpY2ggZXJ3YWVobnQsIGRhc3MgaWNoIHNjaG51ZWZmZWxuZGUvdWViZXJ3YWNoZW5kZS9ob2NobmV1Z2llcmlnZQpJbnZpc21hZ2llciBmdWVyIG1pbmRlc3RlbnMgZWJlbnNvIHVua29sbGVnaWFsIGhhbHRlIHdpZSBEdSBzdGVobGVuZGUgU3BpZWxlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllYnN0YWVobGUgKFZlY3RvciwgIDMuIE1haSAyMDAyLCAxMjozOTo1NCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDIwNDE2ODQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDQxNDk1NwpBYnNvbHV0IG1pZXMgdW5kIHVudGVyIGFsbGVyIFNhdSBpc3QgZXMsIHouQi4gZGVuIEtyYW0gdm9uIExldXRlbiB6dSBrbGF1ZW4sCndhZWhyZW5kIGRpZXNlIGJlaSBMYXJzIHN0ZWhlbi4gU293YXMgaXN0IHBmdWkuCkFiZXIgd2VubiB3ZXIgdWViZXIgVGFnZSBpbiBuZW0gZnJlaSB6dWdhZW5naWdlbiBSYXVtIEtyYW0gc3RlaGVuIGxhZXNzdCwKc29sbHRlIHNpY2ggbmljaHQgd3VuZGVybiwgd2VubiBzaWNoIHdlciBmaW5kZXQsIGRlciBkYXMgWmV1ZyBndXQgKGJlc3NlcikKYnJhdWNoZW4ga2Fubi4gVGphIFBha2V0IG9kZXIgSW5oYWx0IHdlZywgUGVjaCBnZWhhYnQsIGRhcyBuYWVjaHN0ZSBtYWwgCmJlaGFsdGVuICwgaW4gbmVtIFppbW1lciBlaW5taWV0ZW4gb2RlciBpbSBMYWdlcnJhdW0gaW4gUFYgZGEgZ2lidHMKdGF1c2VuZGUgTW9lZ2xpY2hrZWl0ZW4uCkJyaW5ndCBkYXMgZXR3YSBWb2xsc2NyaXB0ZSBkdXJjaGVpbmFuZGVyLCB3ZW5uIG1hbiBzaWNoIGRhIGJlZGllbnQ/CkRhbm4gbml4IHdpZSBoaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWVic3RhZWhsZSAoQ2ljZXJvLCAgMy4gTWFpIDIwMDIsIDEyOjUzOjU1KToKfiMhIHJuPVZlY3RvciBydD0xMDIwNDIyMzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDQxNDk1NwpOdW4gamEuLi4gR2lidCBuZSBlaW5mYWNoIE1ldGhvZGUgZGFzIHp1IHZlcmhpbmRlcm4uLi4gTWlyIGlzdCBlcyB6d2FyIHNlbGJlcgpzY2hvbiBwYXNzaWVydCBhYmVyIGRhcyB3YXIgYXVjaCBtaXQgbWVpbiBGZWhsZXIuLi4gRmFzdCBqZWRlciBoYXQgbmVuClJ1Y2tzYWNrLi4uIFVuZCB3ZW5uIG1hbiBkZW4gbWFsIGdlbmF1IHVudGVyc3VjaHQga2FubiBtYW4gc2Nob24gc2Nob2VuCnZlcmhpbmRlcm4gZGFzcyBkYXJhdXMgd2FzIGdla2xhdXQgd2lyZC4uLgpDaWNlcm8gYWthIFNoYWRvVyAoRGVyIG5pZSB3aWVkZXIgc2VpbmVuIFJ1Y2tzYWNrIHVuZ2VzaWNoZXJ0IGFic3RlbGxlbiB3aXJkKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWVic3RhZWhsZSAoQXBvbGxvbmlhLCAgMy4gTWFpIDIwMDIsIDEzOjA0OjU2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjA0MTY4NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwNDE0OTU3Ck5hIGRlbm4gcGFjayBEaWNoIG1hbCBhbiBkaWUgZWlnZW5lIE5hc2UsIEdsb2luc29uLiBVbnNpY2h0YmFyZSBtYXJraWVydGUKMnRpZXMgenUgdmVycmF0ZW4gaXN0IGF1Y2ggbmljaHQgZ2VyYWRlIGRpZSBmZWluZSBlbmdsaXNjaGUgQXJ0LCBvZGVyPwoKQXBvKgptaXQgaG9jaGdlem9nZW5lciBBdWdlbmJyYXVlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWVic3RhZWhsZSAoQ3JvZnQsICAzLiBNYWkgMjAwMiwgMTM6MDU6MDApOgp+IyEgcm49Q2ljZXJvIHJ0PTEwMjA0MjMyMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwNDE0OTU3CkVzIGdpYnQgUnVja3NhZWNrZSB1bmQgUnVja3NhZWNrZSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZWJzdGFlaGxlIChHbG9pbnNvbiwgIDMuIE1haSAyMDAyLCAxMzozMTo0NSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTAyMDQyMzg5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKTGllYmUgQXBvbGxvbmlhLAogd2FzIGF1Y2ggaW1tZXIgRHUgdWViZXIgWndlaXRpZXMgZ2Vob2VydCBoYWJlbiBtYWdzdCBvZGVyIGdlaG9lcnQgenUKIHdvbGxlbiBnbGF1YnN0IC0gYml0dGUgdW50ZXJoYWx0ZSBEaWNoIGRvY2ggbWl0IE11YWRpYiBkYXJ1ZWJlciwgZGVyCiBoYXQgZGllIEZvZXJtY2hlbiB3aWVkZXIgaW4gVmVyd2FocnVuZyB1bmQgZ2lidCBzaWUgZ2VybiB6dW0gU3BpZWxlbgogaGVyYXVzLgoKTWZHLCBHbG9pbihzb24pIChrYWhsa29lcGZpZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZWJzdGFlaGxlIChHcnVtcGYsICAzLiBNYWkgMjAwMiwgMTM6MzI6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyMDQyNTUwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKVmllbGxlaWNodCBzb2xsdGUgbWFuIGlobiBhdWNoIG1hbCBkYXp1IGJlZnJhZ2VuIHdhcyBlciB2b24gZGVyIHdlaXRlcmdhYmUgdm9uCmZpbGVzIGFuIHNwaWVsZXIgaGFlbHQ/IQpHcnVtcGYgZ3J1bXBmdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZWJzdGFlaGxlIChCb2luZywgIDMuIE1haSAyMDAyLCAxMzozNDozMCk6Cn4jISBybj1HcnVtcGYgcnQ9MTAyMDQyNTU3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKTWVociBEZXRhaWxzISBNZWhyIERldGFpbHMhCiAgQm9pbmcgKHBvcGNvcm4tc3VjaGVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZWJzdGFlaGxlIChHbG9pbnNvbiwgIDMuIE1haSAyMDAyLCAxMzozNTo1MSk6Cn4jISBybj1HcnVtcGYgcnQ9MTAyMDQyNTU3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKS29tbXQgc2ljaGVybGljaCBhdWYgZGllIEZpbGVzIGFuLCBpY2gga2VubmUgU3BpZWxlciBkaWUgbWl0IEJlYXJiZWl0dW5nCndlaXRlcmdlbGVpdGV0ZXIgRmlsZXMgenVtIEVyem1hZ2llciBnZXdvcmRlbiBzaW5kLiBXZWxjaGVuIFNhY2h2ZXJoYWx0IER1CmRhbWl0IGF1Y2ggaW1tZXIgYW5kZXV0ZW4gbW9lY2h0ZXN0IDopCgpHbG9pbihzb24pIHNhZ3Q6IEJpbGQgRGlyIGRlaW5lIE1laW51bmcgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWVic3RhZWhsZSAoUGlsZ3JpbSwgIDMuIE1haSAyMDAyLCAxMzozNzo0OSk6Cn4jISBybj1WZWN0b3IgcnQ9MTAyMDQyMjM5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKPiBBYnNvbHV0IG1pZXMgdW5kIHVudGVyIGFsbGVyIFNhdSBpc3QgZXMsIHouQi4gZGVuIEtyYW0gdm9uIExldXRlbiB6dSBrbGF1ZW4sCj4gd2FlaHJlbmQgZGllc2UgYmVpIExhcnMgc3RlaGVuLiBTb3dhcyBpc3QgcGZ1aS4KCkphIC4uLiBpc3QgZGVmLiBuaWNodCBuZXR0IC4uLiBhYmVyIGlsbGVnYWwgaXN0IGVzIHdvaGwgbmljaHQuCkFsbGVyZGluZ3MgbWFjaHQgbWFuIHNpY2ggc28ga2VpbmUgRnJldW5kZS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZWJzdGFlaGxlIChQaXRmYWxsLCAgMy4gTWFpIDIwMDIsIDEzOjM4OjE5KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAyMDQyNTg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjA0MTQ5NTcKeHh4IHRlaWx0IERpciBtaXQ6IGhtIC0gaWNoIGhhZXR0IGdlcm4gbWFsIG1laW4gc3BpZWxlcmZpbGUgLSBpY2ggZ2VicyBhdWNoCnp1cnVlY2sgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZWJzdGFlaGxlIChHbG9pbnNvbiwgIDMuIE1haSAyMDAyLCAxMzo0ODoyNSk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwMjA0MjU4OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwNDE0OTU3CkJlaWRlIFNwaWVsZXJmaWxlcyBuZWhtZW4sIFNwaWVsZXIgZXJuZXVlcm4gKHVtIGRlbiBtYXR0ZW4gU2NoaW1tZXIgdm9uIGRlbgpBdWdlbiB6dSBlbnRmZXJuZW4pLCBhbiBTcGllbGVyIG1haWxlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWVic3RhZWhsZSAoVmFyZGlvbiwgIDMuIE1haSAyMDAyLCAxNDozMDozNik6Cn4jISBybj1TY2hsZWljaGVyIHJ0PTEwMjA0MTQ5NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwNDE0OTU3CldvenUgd3VyZGVuIGRvY2ggZ2xlaWNoIFNlaGVyaGFldXNlciB1bmQgSG90ZWx6aW1tZXIgZXJmdW5kZW4/CgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZWJzdGFlaGxlIChNdXBmZWwsICAzLiBNYWkgMjAwMiwgMTQ6Mzg6MjYpOgp+IyEgcm49VmFyZGlvbiBydD0xMDIwNDI5MDM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDQxNDk1NwpOYWphIGluIEZXIGdpYnRzIGtvYSBIb3RlbHMgbmljaHQsIGhvYXN0IG1lPwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZWJzdGFlaGxlIChDdWNodWxsaW4sICA2LiBNYWkgMjAwMiwgMDk6MzY6NTYpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjA0MjM4OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwNDE0OTU3CkljaCBnZWJlIEdsb2luc29uIHVuZ2VybiByZWNodCwgYWJlciB3YXMgZGllIEJhbGtlbmdyb2Vzc2UgaGluc2ljaHRsaWNoCiJVbmtvbGxlZ2lhbGl0YWV0IiBhbmdlaHQsIGR1ZXJmdGUgU2NobGVpY2hlciBrYXVtIHp1IHRvcHBlbiBzZWluLi4uIAoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWluZXN3ZWVwZXIgKEhhdGUsICA3LiBNYWkgMjAwMiwgMTU6MTA6NDYpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDIwMTc1ODI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApFcyBnYWIgZWluZSBSZWloZSB2b24gRm9yc2NodW5nc3Byb2pla3RlbiwgZGllIHNpY2ggbWl0IFVyc2FjaGVuIHVuZCBXaXJrdW5nCnZvbiBHZXdhbHQgYmVzY2hhZWZ0aWd0IGhhYmVuLiBEYXJ1bnRlciBhdWNoIGVpbmlnZSwgZGllIHp1c2FtbWVuaGFlbmdlIHZvbgpHZXdhbHQgdW5kIFZpZGVvc3BpZWxlbiB1bmQgRmlsbWVuIGJldHJhY2h0ZXQgaGFiZW4uIEFsbGUgZGllc2UgUHJvamVrdGUKd3VyZGVuIGluendpc2NoZW4gdm9uIGRlciBERkcgdW5kIGRlbSBCTUJGIGFscyBnZXNjaGVpdGVydCBlcmtsYWVydCwgZGEgc2ljaAprZWluIG1vbm9rYXVzYWxlciBadXNhbW1lbmhhbmcgendpc2NoZW4gZGVtIEtvbnN1bSB2b24gR2V3YWx0dmlkZW9zIHVuZAotc3BpZWxlbiB1bmQgR2V3YWx0YXVzdWVidW5nIGZlc3RzdGVsbGVuIGxpZXMuCgpXYXMgaGVyYXVza2FtIHdhciwgZGFzcyBkaWUgR3J1ZW5kZSBmdWVyIGdld2FsdHRhZXRpZ2VzIFZlcmhhbHRlbiB3ZXNlbnRsaWNoCmtvbXBsZXhlciBzaW5kLCBhbHMgYWxsIGRpZSBFcmtsYWVydW5nc3ZlcnN1Y2hlLCBkaWUgaW4gZGVyIGxldHp0ZW4gWmVpdCBzbwpzY2hvZW4gbWVkaWVudHJhZWNodGlnIHZvcmdlYnJhY2h0IHdlcmRlbi4gTmV1ZSBGb3JzY2h1bmdzcHJvamVrdGUgYmV0cmFjaHRlbgpqZXR6dCBkaWUga29tcGxleGVuIFp1c2FtbWVuaGFlbmdlLCBkaWUgYXVjaCBkaWUgTGViZW5zZ2VzY2hpY2h0ZSB1bmQgYW5kZXJlCkVpbmZsdWVzc2UgZWluYmV6aWVoZW4uCgpVbmQgc28gZ2FueiBhbSBSYW5kZSBtdXNzIG1hbiBlaW5mYWNoIHNhZ2VuOiBDb3VudGVyc3RyaWtlIGhhdCBub2NoIGtlaW5lbgpVbWdlYnJhY2h0LCBlaW5lIFBpc3RvbGUgc2Nob24uIEFsc28gYmVzc2VyIFdhZmZlbiB1bmQgTXVuaXRpb24gbmljaHQgaW4KUHJpdmF0aGFuZCwgc29uZGVybiBvcmRlbnRsaWNoIHVudGVyIEF1ZmxhZ2VuIHdlZ2dlc2NobG9zc2VuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1pbmVzd2VlcGVyIChNb250YW51cywgIDcuIE1haSAyMDAyLCAxOTowNjozMCk6Cn4jISBybj1IYXRlIHJ0PTEwMjA3NzcwNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkxpZXMgbWFsIGRpZSBHcm9zc21hbi1TdHVkaWUsIGljaCB3dWVyZGUgZGllc2UgRm9yc2NodW5nIG5pY2h0IHBhdXNjaGFsIGFscwpnZXNjaGVpdGVydCBiZXplaWNobmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE1pbmVzd2VlcGVyIChNb250YW51cywgIDcuIE1haSAyMDAyLCAxOToyMDoxNCk6Cn4jISBybj1Nb250YW51cyBydD0xMDIwNzkxMTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApXZWlsIGljaCBkaXJla3QgZGFuYWNoIGdlZnJhZ3Qgd3VyZGUsIGhpZXIgZWluIGxpbms6Cmh0dHA6Ly93d3cua2lsbG9sb2d5LmNvbS9ib29rcy5odG0KCkdpYnQgbmVuIGVyc3RlbiBVZWJlcmJsaWNrLCB3ZXIgbWVociB3aXNzZW4gd2lsbCwgZGllIFNlaXRlIGhhdCBnbGVpY2ggZGVuCkxpbmsgenUgYW1hem9uLmNvbSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNaW5lc3dlZXBlciAoUm9jaHVzLCAgOC4gTWFpIDIwMDIsIDAwOjA1OjUyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjA3OTExOTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkVyc3RtYWwgZ3J1bmRzYWV0emxpY2hlcyB6dSBTdHVkaWVuOgpJY2ggZ2xhdWJlIGljaCBoYWJlIGJpc2hlciB6dSBqZWRlbSBUaGVtYSB2b24gZWluZXIgU3R1ZGllIGVyZmFocmVuLApkaWUgZWluZSBUaGVzZSB1bnRlcnN0dWV0enQsIHVuZCBlaW5lciBhbmRlcmVuLCBkaWUgZGFzIGdlbmF1ZQpHZWdlbnRlaWwgYmVsZWd0LiBNZWluZSBFcmZhaHJ1bmcgYmlzaGVyOiBCZWkgU3R1ZGllbiBrb21tdCBpbW1lcgpnZW5hdSBkYXMgaGVyYXVzLCB3YXMgZGVyIEF1ZnRyYWdnZWJlciBnZXJuZSBob2VyZW4gd3VlcmRlLi4uCkJlaSBkaWVzZW4gU3R1ZGllbiB1ZWJlciBXaXJrdW5nIHZvbiBNZWRpZW5nZXdhbHQgaXN0CmdydW5kc2FldHpsaWNoIGRhcyBQcm9ibGVtOiBXYXMgaXN0IFVyc2FjaGUsIHdhcyBXaXJrdW5nPwpFaW4gRm9yc2NodW5nc2VyZ2VibmlzLCBkYXMgeml0aWVydCB3dXJkZSwgd2FyIHouQi4gZGFzcwpMZXV0ZSwgZGllIG1laHIgZmVybnNlaG4sIGdld2FsdGJlcmVpdGVyIHdlcmRlbi4KRnJhZ2U6IElzdCBlcyBtb2VnbGljaCwgZGFzcyB2b24gZGVuIGZ1ZXIgZGllc2UgU3R1ZGllIGJlZnJhZ3RlbgpMZXV0ZSBnZW5hdSBkaWUgbWVociBmZXJuc2VobiwgZGllIGF1Y2ggbWVociBQcm9ibGVtZSBtaXQKc296aWFsZW4gS29udGFrdGVuIGhhYmVuLCBzbyBkYXNzIGRlciBlcmhvZWh0ZSBGZXJuc2Voa29uc3VtCmViZW5zbyBlaW5lIEZvbGdlIGlzdCB3aWUgZGllIGVyaG9laHRlIEdld2FsdGJlcmVpdHNjaGFmdD8KSW4gZGVtIEZhbGwgaXN0IGVzIGtlaW4gV3VuZGVyLCBkYXNzIGVzIGRhIGVpbmUKc3RhdGlzdGlzY2hlIEtvcnJlbGF0aW9uIGdpYnQuLi4KTnVyIG1hbCBzbyBhbHMgRGVua2FucmVndW5nIC0gYmVpIFN0YXRpc3Rpa2VuIHNvbGx0ZSBtYW4gZGllCnp1Z3J1bmRlbGllZ2VuZGUgTWV0aG9kaWsgdW5kIGRpZSBsb2dpc2NoZSBTY2hsdXNza2V0dGUgaW1tZXIKR0FOWiBnZW5hdSBiZXRyYWNodGVuLCBvYiBzaWNoIGRhIG5pY2h0IHNvIGVpbiBGZWhsZXIKZWluZ2VzY2hsaWNoZW4gaGF0Li4uCgogIFJvY2h1cwoKUFM6IEljaCBoYWJlIGJlaSBub3JtYWxlbiBNZW5zY2hlbiBkZW4gRWluZHJ1Y2ssIGRhc3MgZXMgTklDSFRTCmF1c21hY2h0Li4uIFdlbm4gaGluZ2VnZW4gc2Nob24gUHJvYmxlbWUgdm9yaGFuZGVuIHNpbmQsIGtvZW5uZW4KZGllIGR1cmNoYXVzIHZlcnN0YWVya3Qgd2VyZGVuLCBhYmVyIGVzIGlzdCBuaWNodCBkaWUgVVJTQUNIRS4KSWNoIGZpbmRlIGVzIGVoIG1lcmt3dWVyZGlnLCBkYXNzIGFsbGUgdm9uIGVpbmVtIEJ1ZW5kbmlzIGdlZ2VuCkdld2FsdCBzcHJlY2hlbiwgYWJlciBudXIgZ2VnZW4gR2V3YWx0REFSU1RFTExVTkcgdm9yZ2VoZW4gd29sbGVuLi4uClBoeXNpc2NoZSB1bmQgcHN5Y2hpc2NoZSBHZXdhbHQgZ2VnZW4gU2NodWVsZXIgc3BpZWx0IHNpY2hlcgplaW5lIHdlc2VudGxpY2ggc3RhZXJrZXJlIFJvbGxlIGluIGRlcmVuIEVudHdpY2tsdW5nLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWluZXN3ZWVwZXIgKEthcmlzLCAgOC4gTWFpIDIwMDIsIDAwOjEwOjM2KToKfiMhIHJuPVJvY2h1cyBydD0xMDIwODA5MTUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApJY2ggd2lsbCBSb2NodXMgbmljaHQgd2lkZXJzcHJlY2hlbi4gR2FueiBpbSBHZWdlbnRlaWwuCkFiZXIgaW56d2lzY2hlbiBoYWJlbiBzb2dhciBGb3JzY2hlciBrYXBpZXJ0LCBkYXNzIGVzIHNpY2ggbWl0CmRlbSBlaW5mYWNoZW4gYmV3ZWlzZW4gZWluZXIgVGhlc2UgbmljaHQgZ2V0YW4gaGF0LgpNYW4gZm9yc2NodCBpbnp3aXNjaGVuIHVlYmVyIGtvbXBsZXhlcmUgWnVzYW1tZW5oYWVuZ2UuIFVuZCBkYXMgCmlzdCBhdWNoIGd1dCBzby4KSG9mZmVudGxpY2ggdmVyc3RlaHQgZGFzIGRpZSBiYXllcmlzY2hlICBLdWx0dXNtaW5pc3RlcmluLCBkaWUgSWhyZW4KTmFtZW4gJ0hvaGwnbWVpZXIgenUgcmVjaHQgdHJhZWd0LCBhdWNoIGlyZ2VuZHdhbm4uIERpZSBpc3QgCm5hZW1saWNoIGltbWVyIG5vY2ggZGVyIE1laW51bmcsIGRhc3MgZXMgcmVpY2h0LCBkZW4gZ2FuemVuCidTY2h1bmQnIHp1IHZlcmJpZXRlbi4gCkFuc3RhdHQgZW5kbGljaCBtYWwgZGVuIEVsdGVybiBnZXNldHpsaWNoIHZvcnp1c2NocmVpYmVuLCB3aWUKS2luZGVyIG51biBlaWdlbnRsaWNoIHp1IGVyemllaGVuIHNpbmQgOykKCkthcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTWluZXN3ZWVwZXIgKE5vbm5lLCAgOC4gTWFpIDIwMDIsIDEwOjUzOjU4KToKfiMhIHJuPUthcmlzIHJ0PTEwMjA4MDk0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkFjaD8gV2llIHNpbmQgZGVubiBLaW5kZXIgenUgZXJ6aWVoZW4/IEljaCBoYWV0dGUgZGEgZ2VybmUgbWFsIGVpbgpQYXRlbnRyZXplcHQsIGRhbWl0IGRhIGxhdXRlciBuZXR0ZXIsIGJyYXZlLCBsZWlzdHVuZ3NmYWVoaWdlLCBwcm9kdWt0aXZlCk1pdGdsaWVkZXIgZGVyIEdlc2VsbHNjaGFmdCBkcmF1cyB3ZXJkZW4uCgpBYmVyIG1hbCBpbSBFcm5zdC4gRXMgbGllZ3QgZG9jaCB3b2hsIGVoZXIgYW4gdW5zZXJlciBMZWlzdHVuZ3NnZXNlbGxzY2hhZnQsCmRpZSBpbW1lciBtZWhyIEdlbGQsIG1laHIgQXV0b3MsIG1laHIgVmlkZW9yZWNvcmRlciB3aWxsLiBXZXIgZGVtIERydWNrIG5pY2h0Cmdld2FjaHNlbiBpc3QsIGZhZWxsdCBoYWx0IGR1cmNocyBHaXR0ZXIuIEVpbmlnZSBsYW5kZW4gYXVmIGRlciBTdHJhc3NlLAphbmRlcmUgYW4gZGVyIE5hZGVsLCB3aWVkZXIgYW5kZXJlIG1pdCBkZXIgUHVtcGd1biBpbiBkZXIgU2NodWxlLiBNYW4gc29sbHRlCnNpY2ggbWFsIEdlZGFua2VuIGRydWViZXIgbWFjaGVuLCBvYiBkaWUgR2VzZWxsc2NoYWZ0LCBkaWUgd2lyIHVucyBnZXNjaGFmZmVuCmhhYmVuLCBkYW1pdCBlcyB1bnMgZ3V0IGdlaHQsIHdpcmtsaWNoIGd1dCBmdWVyIGRlbiBNZW5zY2hlbiBpc3QuIEljaCBoYWJlIGRlbgpFaW5kcnVjaywgZGllIGlzdCBndXQgZnVlciBkZW4gR2VsZGJldXRlbCBkZXIgUG9saXRpa2VyIHVuZCBkZXJlciwgZGllIHNpY2gKZGllIExlaXN0dW5nc2ZhZWhpZ2tlaXQgYW5kZXJlciB6dW51dHplIG1hY2hlbi4gRGFzIGlzdCBpbiBkZXIgRmlybWEgZ2VuYXVzbwp3aWUgaW4gZGVyIFdlbHRwb2xpdGlrLiBEaWUgcmVpY2hlbiBTdGFhdGVuIGJlbmVobWVuIHNpY2ggd2llIGRpZSBDaGVmcyB1bmQKYmV1dGVuIGRpZSBBYmhhZW5naWdlbiBhdXMuIEluIG1laW5lbiBBdWdlbiBsaWVnZW4gZGVtIDExLiBTZXB0ZW1iZXIgZGllCmdsZWljaGVuIFVyc2FjaGVuIHp1Z3J1bmRlLCB3aWUgamV0enQgZGVtIEFtb2tsYXVmIGVpbmVzIHVlYmVyZm9yZGVydGVuClNjaHVlbGVycy4gTnVyIGRhcyBkaWUgZWluZW4gZGVuIElzbGFtIGZ1ZXIgaWhyZSBSZWNodGZlcnRpZ3VuZyBiZW51dHplbiB1bmQKZGVyIGFuZGVyZSBlaW5lbiBTY2h1bHZlcndlaXMuCgpMb2VzdW5nZW4/IEtlaW5lLiBEaWUgR2VzZWxsc2NoYWZ0IHdpcmQgc2ljaCB6dWdydW5kZSByaWNodGVuLCB2aWVsbGVpY2h0IHNpbmQKZGllLCBkaWUgZGFuYWNoIGtvbW1lbiwgc2NobGF1ZXIuIEFiZXIgZXMgc2luZCBzY2hvbiBzbyB2aWVsZSBHZXNlbGxzY2hhZnRlbgphbiBpaHJlciBEZWthZGVueiB6dWdydW5kZSBnZWdhbmdlbiwgZGFzcyBpY2ggZ2xhdWJlLCBlcyB3aXJkIHNvIHdlaXRlciBnZWhlbiwKYmlzIGRpZSBNZW5zY2hoZWl0IG1hZWNodGlnIHVuZCBkdW1tIGdlbnVnIGlzdCwgc2ljaCBhdXN6dXJvdHRlbi4gQWJlciBiaXMKZGFoaW4gc3BpZWxlIGljaCBDUyAqRyoKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE1pbmVzd2VlcGVyIChLYXJpcywgIDguIE1haSAyMDAyLCAxMjo1ODoxOSk6Cn4jISBybj1Ob25uZSBydD0xMDIwODQ4MDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApKbywgZ2VuYXUsIGRpZSBMZWlzdHVuZ3NnZXNlbGxzY2hhZnQuIERpZSBpc3Qgc2NodWxkLiBLbGFyLgpBYmVyIHNvIHVucmljaHRpZyBpc3QgZGFzIG5pY2h0IGluIG1laW5lbiBBdWdlbi4gTnVyOiBXZXIgaXN0IGRlbm4KZGFzIGVpZ2VudGxpY2gsIGRpZXNlIExlaXN0dW5nc2dlc2VsbHNjaGFmdD8KSWNoIGJpbiBsZWlkZXIgZWluIFRlaWwgZGF2b24uIFdpbGwgaWNoIHVlYmVybGViZW4gKHVuZCBkYWJlaSBlaW5lbgpnZXdpc3NlbiBMZWJlbnNzdGFuZGFyZCBoYWJlbiksIG11c3MgaWNoIHdvaGwgbWl0c3BpZWxlbi4KVW5kIGVocmxpY2hnZXNhZ3QsIGljaCBrZW5uIGtlaW5lbiwgZGVyIG5pY2h0IE1pdGdsaWVkIGRpZXNlciAKTGVpc3R1bmdzZ2VzZWxsc2NoYWZ0IGlzdC4KSWNoIGJpbiBhbGxlcmRpbmdzIGRlciBBbnNpY2h0LCBkYXNzIG1hbiBkaWUgVmVyYW50d29ydHVuZyBmdWVyIGRpZQpLaW5kZXJlcnppZWh1bmcgbmljaHQgdW5iZWRpbmd0IGVpbmVyIGFub255bWVuICdHZXNlbGxzY2hhZnQnCmF1ZmRydWVja2VuIHNvbGx0ZSAtIGdlbmF1IGRhcyBwYXNzaWVydCBqYSB6dXIgWmVpdC4KU29uZGVybiBFbHRlcm4gc29sbHRlbiBzaWNoIHVtIGlocmUgS2luZGVyIHNlbGJzdCBrdWVtbWVybiB1bmQgCnNlbGJzdCBWZXJhbnR3b3J0dW5nIHVlYmVybmVobWVuLiBXYXMgbmljaHQgbGVpY2h0IGlzdCBpbiBaZWl0ZW4sCmluIGRlbmVuIGRlciBTdGFhdCB2aWVsZSBNb2VnbGljaGtlaXRlbiBhbmJpZXRldCwgc2ljaCB1bSBWZXJhbnR3b3J0dW5nCnp1IGRydWVja2VuLiAKCkxvZXN1bmdlbj8gSmEsIGdpYnQgZXMuIERpZSBGcmFnZSBpc3QgbnVyLCBvYiBkaWUgRWluemVsdGVpbGUgCmRpZXNlciB0b2xsZW4gJ0xlaXN0dW5nc2dlc2VsbHNjaGFmdCcgYmVyZWl0IHNpbmQsIGlocmUKQmVxdWVtbGljaGtlaXQgenUgb3BmZXJuLgoKS2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNaW5lc3dlZXBlciAoTm9ubmUsICA4LiBNYWkgMjAwMiwgMTM6NDY6MDQpOgp+IyEgcm49S2FyaXMgcnQ9MTAyMDg1NTQ5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKSWNoIHdvbGx0ZSBtaWNoIGRhbWl0IG5pY2h0IHZvciBkZXIgVmVyYW50d29ydHVuZyBkZXIgS2luZGVyZXJ6aWVodW5nIGRydWVja2VuCnVuZCBhdWNoIG5pZW1hbmRlbSBlaW5lIEF1c3JlZGUgcHJhZXNlbnRpZXJlbiwgd2VubiBlciBzaWNoIGRydWVja3QuIEhpZXIgd2lyZApVcnNhY2hlbmZvcnNjaHVuZyBiZXRyaWViZW4sIHdpZXNvIHNvbGNoZSBBbW9rbGFldWZlIGltbWVyIHdpZWRlciBwYXNzaWVyZW4uCkRhcmF1ZiB3b2xsdGUgaWNoIGVpbmdlaGVuLiBVbmQgd2FzIGRpZSBMb2VzdW5nZW4gYmV0cmlmZnQ6IEljaCBzcHJhY2ggdm9uCnVtc2V0emJhcmVuIExvZXN1bmdlbi4gRHUgd2lyc3QgbmllbWFuZGVuIGZpbmRlbiwgZGVyIHBsb2V0emxpY2ggYXVmClp3ZWl0d2FnZW4gdW5kIFNraXVybGF1YiB2ZXJ6aWNodGV0LCB3ZWlsIGRhZHVyY2ggdmllbGxlaWNodCBlaW5lCm1lbnNjaGxpY2hlcmUgR2VzZWxsc2NoYWZ0IG1vZWdsaWNoIHdpcmQuIERhaGVyIGF1Y2ggbWVpbiBzY2h3YXJ6ZXMgQmlsZCB2b24KZGVyIFp1a3VuZnQgZGVyIE1lbnNjaGhlaXQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBNaW5lc3dlZXBlciAoSHVtbmksICA4LiBNYWkgMjAwMiwgMTM6NTg6MzApOgp+IyEgcm49Tm9ubmUgcnQ9MTAyMDg1ODM2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKT2IgZGllIFp1a3VuZnQgd2lya2xpY2ggc28gc2Nod2FyeiBhdXNzaWVodCB3ZWlzcyBpY2ggbmljaHQgdW5kIHdpbGwgZGFzIGF1Y2gKbmljaHQgZGlza3V0aWVyZW4uIFdhcyBpY2ggaW0gWnVzYW1tZW5oYW5nIG1pdCBFcmZ1cnQgYWJlciBpbW1lciB3aWVkZXIKc2Nod2llcmlnIGZpbmRlIGlzdCBkYXMgV29ydCAsLEFtb2tsYXVmJycuIEZ1ZXIgbWljaCB3YXIgZGFzIGVpbmZhY2ggZWluZQpnZXBsYW50ZSBBa3Rpb24sIGFsc28gc2NobGljaHR3ZWcgTW9yZC4gLCxBbW9rbGF1ZicnIGJlaW5oYWx0ZXQgZnVlciBtaWNoCmVpbmVuIGF1c3NlciBLb250cm9sbGUgZ2VyYXRlbmVuIE1lbnNjaGVuLCB1bmQgZGEgYmluIGljaCBtaXIgbmljaHQgc2ljaGVyLCBvYgpkaWVzZXIgaGllciBuaWNodCBnZW5hdSBnZXBsYW50IGhhdCwgc2VpbmVtIExlYmVuIG1pdCBlaW5lbSByaWNodGlnZW4KS25hbGxlZmZla3QgZWluIEVuZGUgenUgc2V0emVuLgoKVW5kIG1hbCB3YXMgYW5kZXJlczogRWluIFNjaHVsc3lzdGVtLCBkYXMgZWluZW0gTWVuc2NoZW4sIGRlciBpbiBkZXIgT2JlcnN0dWZlCnZvbiBkZXIgU2NodWxlIGFiZ2VodCwgbmljaHRtYWwgZGllIG1pdHRsZXJlIFJlaWZlIGluIGRpZSBIYW5kIGRydWVja3QsIGlzdApvaG5laGluIG5pY2h0IGR1cmNoZGFjaHQgLSBuaWNodCwgZGFzcyBlaW5lIHNvbGNoZSBHZXNjaGljaHRlIGRlc2hhbGIKcmVjaHRmZXJ0aWd0IHdpcmQsIGFiZXIgZGllIFBlcnNwZWt0aXZlbmxvc2lna2VpdCBkZXIgTWVuc2NoZW4gd2lyZCBkYWR1cmNoCm51biBuaWNodCB3aXJrbGljaCBiZWthZW1wZnQuCgooRGFzIHNvbGwgS0VJTiBWZXJzdWNoIHNlaW4sIG51ciAsLGRlbSBTeXN0ZW0nJyBkaWUgU2NodWxkIHp1enVzY2hyZWliZW4sIGFiZXIKaWNoIGRlbmtlLCBkYXNzIGhpZXIgZGVyYXJ0aWcgdmllbGUgRmFrdG9yZW4gZWluZSBSb2xsZSBzcGllbGVuLCBkYXNzIGVpbgpWZXJib3Qgdm9uIEVnb3Nob290ZXJuIGhvZWNoc3RlbnMgZWluZW4gU2Nod2Fyem1hcmt0IG9lZmZuZXQgc293aWUgZWluZQpTY2hlaW5zaWNoZXJoZWl0IHdhaHJ0IC0gc293YXMgZmFuZCBpY2ggbm9jaCBuaWUgZ3V0KS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTWluZXN3ZWVwZXIgKE5vbm5lLCAgOC4gTWFpIDIwMDIsIDE0OjAxOjQwKToKfiMhIHJuPUh1bW5pIHJ0PTEwMjA4NTkxMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCldlbm4gZnVlciBlaW5lbiBBbW9rbGF1ZiBqZW1hbmQgYXVzc2VyIEtvbnRyb2xsIGdlcmF0ZW4gbXVzczogV2Vzc2VuIEtvbnRyb2xsZQpkZW5uPyBTdGFhdD8gRWx0ZXJuPyBGcmV1bmRlPyBTZWluZSBFaWdlbmU/IEljaCBmaW5kZSwgZGFzcyBzaWNoIGdlcGxhbnRlIFRhdAp1bmQgQW1va2xhdWYgbmljaHQgYXVzc2NobGllc3Nlbi4gU2NobGllc3NsaWNoIGthbm4gc2VpbiBnZXN1bmRlcgpNZW5zY2hlbnZlcnN0YW5kIGRlbiBLb250cm9sbGUgdWViZXIgZGVuIE1lbnNjaGVuIHNjaG9uIHZvciBNb25hdGVuIHZlcmxvcmVuCmhhYmVuLiBaZWl0IGdlbnVnIGZ1ZXIgc2VpbiBrcmFua2VzLCBhdXNzZXIgS29udHJvbGxlIGdlcmF0ZW5lcyBHZWhpcm4sIGVpbgpGaW5hbCB6dSBwbGFuZW4sIHZvbiBkZW0gd2lyIG5vY2ggbGFuZ2UgcmVkZW4gd2VyZGVuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTWluZXN3ZWVwZXIgKEh1bW5pLCAgOC4gTWFpIDIwMDIsIDE0OjA0OjIxKToKfiMhIHJuPU5vbm5lIHJ0PTEwMjA4NTkzMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkljaCBtZWluZSBzZWluZSBlaWdlbmUsIHVuZCBuYWNoIG1laW5lciBEZWZpbml0aW9uLCBmdWVyIGRpZSBpY2gga2VpbmVuCkFuc3BydWNoIGF1ZiBBbGxnZW1laW5ndWVsdGlna2VpdCBlcmhlYmUsIHZlcm11dGUgaWNoLCBkYXNzIGVyIHNpZSBoYXR0ZS4gRGFzcwplciBXVVNTVEUsIHdhcyBlciB0YXQuIEltIEdlZ2Vuc2F0eiB6dSBpcmdlbmR3ZWxjaGVuIExldXRlbiwgZGllIGVpbmZhY2ggbnVyCmR1cmNoZHJlaGVuIHVuZCBtaXQgZWluZXIgV2FmZmUgaW4gZGVyIEhhbmQgZGllIG5hZWNoc3RlIFNjaHVsZSBzdHVlcm1lbiB1bQpkb3J0IGlyZ2Vud2VuIHVtenVsZWdlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTWluZXN3ZWVwZXIgKENhZHJhY2gsICA4LiBNYWkgMjAwMiwgMTQ6MTU6MjEpOgp+IyEgcm49SHVtbmkgcnQ9MTAyMDg1OTExMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKQWxzbyBsYXV0IGVpbmVtIGRlciBzdXBlcnRvbGxlbiBNZWRpZW5mb3JzY2hlcm4sIGRlciB6dSBkaWVzZW0gVGhlbWEKbmF0dWVybGljaCBhdWNoIFN0dWRpZW4gZHVyY2hnZWZ1ZWhydCB1bmQgQnVlY2hlciBnZXNjaHJpZWJlbiBoYXQsIGlzdCBkYXMKV29ydCBFZ29zaG9vdGVyIGFuc2ljaCBzY2hvbiBlaW5lIHZlcmhhcm1sb3N1bmcgdW5kIGVyIHZlcnRyYXQgbmV1bGljaCBpbSBUYWxrCmluIEJlcmxpbiBkaWUgTWVpbnVuZyBtYW4gc29sbGUgZG9jaCBsaWViZXIgdm9uICJNb3Jkc2ltdWxhdGlvbnNzcGllbGVuIgpyZWRlbi4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBNaW5lc3dlZXBlciAoQ3VjaHVsbGluLCAgOC4gTWFpIDIwMDIsIDE0OjIzOjI2KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAyMDg2MDEyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmF0dWVybGljaCBpc3QgYWxsZXMgZWluZSBWZXJoYXJtbG9zdW5nIChpY2ggaGFiZSBkZW4gU2Fya2FzbXVzIERlaW5lcwpBcnRpa2VscyBuaWNodCB1ZWJlcnNlaGVuLCBrZWluZSBTb3JnZSksICJFZ28tU2hvb3RlciIga2xpbmd0IGhhcm1sb3MuIApXaWUgIkZyZWlzZXR6dW5nIHZvbiBBcmJlaXRza3JhZnQiLCAiV2VpY2h6aWVsIiBvZGVyICJLb2xsYXRlcmFsc2NoYWRlbiIuCgpVZWJyaWdlbnMgaXN0IGRhcyBlaW4gUHVua3QsIGRlciBDb3VudGVyc3RyaWtlIHZvciBkZXIgSW5kaXppZXJ1bmcgYmV3YWhyZW4Ka29lbm50ZTogSW4gUXVha2UsIERvb20sIC4uLiBnaWx0IGRpZSBNYXhpbWU6IFdhcyBzaWNoIGJld2VndCwgaXN0IFppZWwsCmVzIHdpcmQgYXVzZHJ1ZWNrbGljaCBkZXIgUmVmbGV4IHRyYWluaWVydCwgYXVmIGFsbGVzIHp1IHNjaGllc3Nlbiwgd2FzCmhlcnVtbGFldWZ0LiBEaWUgQ291bnRlcnN0cmlrZXIgcmVkZW4gc2ljaCBpbSBNb21lbnQgZGVuIE11bmQgZnVzc2VsaWcKdW5kIGVya2xhZXJlbiwgZGFzcyBlcyBiZWkgSUhORU4gbmljaHQgc28gaXN0LiBFcyBnYWViZSBrZWluZW4gcGVyc29lbi0KbGljaGVuIFNpZWcsIG51ciBHcnVwcGVuc2llZ2UsIGVzIGdhZWJlIEdlaXNlbG4gKCJIb3NzaWVzIiksIGRlcmVuIFRvZApncnVuZHNhZXR6bGljaCBBYnp1ZWdlIGJyaW5nZSAoZWdhbCBvYiBUIG9kZXIgQ1QpIHVuZCB1ZWJlcmhhdXB0IHNlaSBkaWUKVGFrdGlrIGRhcyB3aWNodGlnZSB1bmQgZGFzIEVsaW1pbmllcmVuIGVpbmVzIGFuZGVyZW4gbnVyIGVpbmVzIGRlciAKTWl0dGVsIHp1bSBad2VjaywgYWJlciBuaWNodCB6d2luZ2VuZCBLZXJuZWxlbWVudC4gRGFzcyBnZXJhZGUgRElFU0UgQXJ0CnZvbiBSZWRlIGRpZSBOb3JtYWxzdGVyYmxpY2hlbiBlcnNjaHJlY2t0LCBtdWVzc2VuIHNpZSBhdWNoIGVyc3QgbGVybmVuLgoKU28gd2llIHdpciBNdWRkZXIgbmljaHQgc29mb3J0IGRpZSBlcnNjaHJlY2t0ZW4gR2VzaWNodGVyIGFuZGVyZXIKWnVncmVpc2VuZGVuIGVya2VubmVuLCB3ZW5uIHdpciBlcnphZWhsZW4sIHdpZSB3aXIgZGVuIEtvZW5pZyBibGEgYmx1YmIKZ2VzY2hsYWNodGV0IGhhYmVuIG9kZXIgYW4gc28gZWluZW0gZGFlbWxpY2hlbiBpcmdlbmR3YXMgdmVycmVja3Qgc2luZC4KCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNaW5lc3dlZXBlciAoUGlsZ3JpbSwgIDguIE1haSAyMDAyLCAxNDo1ODoyOCk6Cn4jISBybj1Sb2NodXMgcnQ9MTAyMDgwOTE1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKPiBSdWJyaWsgMTogYWxsZ2VtZWluZXMsIEFydGlrZWw6IDEwNCB2b24gMTEzCj4gUmVeMTA6IE1pbmVzd2VlcGVyIChSb2NodXMsICA4LiBNYWkgMjAwMiwgMDA6MDU6NTIpOgo+IFtCZXp1ZzogQXJ0aWtlbCAxMDIgdm9uIE1vbnRhbnVzIHZvbSAgNy4gTWFpIDIwMDIsIDE5OjA2OjMwXQo+IEljaCBmaW5kZSBlcyBlaCBtZXJrd3VlcmRpZywgZGFzcyBhbGxlIHZvbiBlaW5lbSBCdWVuZG5pcyBnZWdlbgo+IEdld2FsdCBzcHJlY2hlbiwgYWJlciBudXIgZ2VnZW4gR2V3YWx0REFSU1RFTExVTkcgdm9yZ2VoZW4gd29sbGVuLi4uCj4gUGh5c2lzY2hlIHVuZCBwc3ljaGlzY2hlIEdld2FsdCBnZWdlbiBTY2h1ZWxlciBzcGllbHQgc2ljaGVyCj4gZWluZSB3ZXNlbnRsaWNoIHN0YWVya2VyZSBSb2xsZSBpbiBkZXJlbiBFbnR3aWNrbHVuZy4uLgoKRmluZCBpY2ggbmljaHQgTWVya3d1ZXJkaWcgLi4uIGRhcyBpc3QgZGllCidTY2hpZWItZGllLVNjaHVsZC1hdWYtYW5kZXJlLWRpZS1zaWNoLW5pY2h0LXdlaHJlbi1rb2VubmVuLU1lbnRhbGl0YWV0Jy4KRGllIFNwaWVsZS9WaWRlb2hlcnN0ZWxsZXIgc2luZCBpbiBkZXIgc2Nod2FlY2hzdGVuIFBvc3Rpb24gLi4uIGRhIG1hbgppbnNiZXMuIHouWi4ga2F1IGhpbmdlaGVuIHdpcmQgdW5kIHNhZ3Q6IEdld2FsdC1TcGllbGUvVmllZGVvcyBzaW5kIGd1dC90b2xsCm9kZXIgc28gLi4uCkF1c3NlcmRlbSBpc3QgZXMgcG9wdWxhZXIgZ2VnZW4gc293YXMgenUgc2VpbiAodW5kIGVpbmZhY2gpIC4uLiBlcyBpc3Qga2F1bQptaXQKR2VnZW53ZWhyIHp1IHJlY2hlbmVuIC4uLiBzbyBhZWhubGljaCwgd2llIGRhbWFscyBtaXQgZGVuIEthbXBmaHVuZGVuICh3YXMKYXVjaApuaWNodCB2ZXJoaW5kZXJydCBoYXQsIGRhcyBlcyBkYW5hY2ggenVtaW5kZXN0IDIgc2Nod2VyZSBBdGFja2VuIGdhYiAoZWluZQpzb2dhciB0b2V0bGljaCkhCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTWluZXN3ZWVwZXIgKFBpbGdyaW0sICA4LiBNYWkgMjAwMiwgMTU6MDI6MDIpOgp+IyEgcm49Tm9ubmUgcnQ9MTAyMDg0ODAzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKPiBSZV4xMjogTWluZXN3ZWVwZXIgKE5vbm5lLCAgOC4gTWFpIDIwMDIsIDEwOjUzOjU4KToKPiAgV2VyIGRlbSBEcnVjayBuaWNodAo+IGdld2FjaHNlbiBpc3QsIGZhZWxsdCBoYWx0IGR1cmNocyBHaXR0ZXIuCldlbGNoZXMgR2l0dGVyPz8/IERhcyBpc3QgamEgZGFzIFByb2JsZW06IEVzIGdpYnQga2VpbmUgR2l0dGVyIG1laHIgKGRpZQpGYW1pbGllIGFscyBBdWZmYW5nbmV0eiBicmljaHQgaW1tZXIgbWVociB3ZWcgdW5kCmRpZSBTY2h1bGUgLi4uICpoYSopLgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE1pbmVzd2VlcGVyIChLYXJpcywgIDguIE1haSAyMDAyLCAxNjozNDowNCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMjA4NjI5MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkRpZSBTY2h1bGUga2FubiBkYXMgbmljaHQgbGVpc3Rlbi4gTGVpZGVyIHdpcmQgZGFzIGFiZXIgCnZvbiB2aWVsZW4gRWx0ZXJuIHdvaGwgYW5nZW5vbW1lbi4gVW5kIGRhcyBLaW5kIGluIHNlbGJpZ2UgZ2VzdGVja3QsCnVuZCBkYW5uIHdpcmQgZXJ3YXJ0ZXQsIGRhc3MgZGllIFNhY2hlICdLaW5kJyBsYWV1ZnQKd2llIHVuc2VyZSBDaGFycyBpbiBkZXIgUHJvZ3Jlc3NRdWVzdC4gSGF1cHRzYWNoZSwgZGllIEVsdGVybiAKaGFiZW4gaWhyZSBSdWhlLiBVbmQgaW0gWndlaWZlbHNmYWxsIGVpbmVuIFNjaHVsZGlnZW4uClNjaG9uIGJlbWVya3Q/IEVpbmUgSW5zdGl0dXRpb24gb2RlciBlaW5lIEdlc2VsbHNjaGFmdCBrYW5uCnNpY2ggamEgbmljaHQgd2VocmVuLi4uCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE1pbmVzd2VlcGVyIChHbG9pbnNvbiwgIDguIE1haSAyMDAyLCAxOToxMjo1OCk6Cn4jISBybj1LYXJpcyBydD0xMDIwODY4NDQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApEZXNoYWxiIGJsZWlidCBkYXMgZGFubiBhbiBkZW4gQmVkaWVuc3RldGVuIGRlciBJbnN0aXR1dGlvbiBoYWVuZ2VuLiBkaWUKTGVocmVyIHNpbmQgbmFlbWxpY2ggYXVjaCB6aWVtbGljaCBhcm1lIFNjaHdlaW5lIC0gb2RlciBrb2VubnQgSWhyIEV1Y2gKdGF0c2FlY2hsaWNoIHZvcnN0ZWxsZW4sIFVudGVycmljaHQgbWl0IDI1IEtpbmRlcm4gdW5kIG1laHIgbWFjaHQgbm9jaCBTcGFzcz8KVW5kIGVzIG1hY2h0IGF1Y2gga2VpbmVuIFNwYXNzIHZvbiBkZW4gRWx0ZXJuIGRhZnVlciBiZXNjaGltcGZ0IHp1IHdlcmRlbiB3ZW5uCm1hbiBzaWUgbmljaHQgZnVlciBzaWUgZXJ6b2dlbiBoYXQuIFVuZCBlaW4gc29sY2hlcyBFbHRlcm5wYWFyIHBybyBLbGFzc2UKcmVpY2h0IHNjaG9uIHVtIGRlbiBKb2Igc2F1ZXIgenUgbWFjaGVuLgpHbG9pbihzb24pIHdlaXNzIHNjaG9uLCB3YXJ1bSBzZWluZSBNdXR0ZXIgaW4gZGVuIExlcm5CZWguLUJlcmVpY2ggZ2VnYW5nZW4KaXN0CgpQUzogTGVpc3R1bmdzZ2VzZWxsc2NoYWZ0IHNvbGx0ZSBhdWNoIGRpZSByaWNodGlnZW4gVm9yYXVzc2V0enVuZ2VuIGZ1ZXIgZGllCmVyd2FydGV0ZSBMZWlzdHVuZyBzY2hhZmZlbi4gTWFjaHQgdW5zZXJlIHNlbHRlbi4gVW5kIFZvcmF1c3NldHp1bmcgaXN0IGRhYmVpCm5pY2h0ICJBdXRvLCBGZXJuc2VoZW4sIEZyZXNzZW4iLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE1pbmVzd2VlcGVyIChDYWRyYWNoLCAgOS4gTWFpIDIwMDIsIDEzOjMwOjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjA4Nzc5Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwClNjaHVsZSAia29lbm50ZSIgc29nYXIgbm9jaCBnZXdpc3NlIEVyemllaHVuZ3NmdW5rdGlvbmVuIHdhaHJuZWhtZW4sIHdlbm4gbWFuCnNpZSBkZW5uIGxhc3NlbiB3dWVyZGUuIEljaCBnbGF1YmUgZGllIGFsbGVyd2VuaWdzdGVuIGtvZW5uZW4gc2ljaCB2b3JzdGVsbGVuLAp3YXMgaGV1dGUgc2VsYnN0IGFuIGdhbnogIm5vcm1hbGVuIiBTY2h1bGVuIHNvIGFiZ2VodC4gRGFzIEVsdGVybiBlaW5lbgpSZWNodHNhbndhbHQgZWluc2NoYWx0ZW4gc29iYWxkIGVpbiBLaW5kIGVpbmUgS2xhc3NlbmtvbmZlcmVueiBiZWtvbW10IHdlaWwgZXMKZWluZW0gTWl0c2NodWVsZXIgZWluZSBKYWNrZSBhbmdlenVlbmRldCBoYXQsIG9kZXIgdW0gZGFnZWdlbiB2b3J6dWdlaGVuIGRhcwpJaHJlIEtpbmRlciBuYWNoc2l0emVuIG11ZXNzZW4sIGlzdCBoZXV0ZSBLRUlOIHNvbmRlcmZhbGwgbWVoci4KV2VubiBpY2ggZnJ1ZWhlciB6dSBtZWluZW0gVmF0ZXIgZ2VnYW5nZW4gd2FlcmUgdW0gbWljaCB1ZWJlciBlaW4gTmFjaHNpdHplbgp6dSBiZXNjaHdlcmVuIGhhZXR0ZSBlciBtaWNoIHZlcm11dGxpY2ggYXVzZ2VsYWNodCBvZGVyIG1pdG0gTGVocmVyIGdlcmVkZXQKbmFjaCBkZW0gTW90dG8gIndlaXRlciBzbyIuIEhldXRlIHZlcnN1Y2hlbiBkaWUgRWx0ZXJuIElocmUgS2luZGVyIHZvciBqZWRlcgpBcnQgdm9uIFN0cmFmZSB1bmQgU2Fua3Rpb24genUgYmV3YWhyZW4gKHNlbGJzdCB2b3IgaGFybWxvc2VuKS4KCkNhZHJhY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBNaW5lc3dlZXBlciAoTm9ubmUsICA5LiBNYWkgMjAwMiwgMTQ6MDU6MDUpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDIwOTQzODQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApWaWVsbGVpY2h0IGJyYXVjaHQgbWFuIGRvY2ggZWluZW4gS2luZGVyZnVlaHJlcnNjaGVpbi4gT2huZSBaZXR0ZWwgZGFyZiBtYW4KbmljaHQgQXV0byBmYWhyZW4sIGtlaW5lbiBIdW5kIHVlYmVyIEtuaWVob2VoZSBrYXVmZW4sIGFiZXIgS2luZGVyIGluIGRpZSBXZWx0CnNldHplbi4gVW5kIGRhcyBTY2hsaW1tc3RlOiBEaWUgQW56YWhsIGRlciBOYWNoa29tbWVuIGlzdCBhdWNoIG5vY2gKYW50aXByb3BvcnRpb25hbCB6dW0gSVEuIFdlbiB3dW5kZXJ0cyBkYW5uLCB3YXMgaGV1dGUgc28gYWJnZWh0PyAoYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IE1pbmVzd2VlcGVyIChDdWNodWxsaW4sICA5LiBNYWkgMjAwMiwgMjA6Mjc6MDMpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDIwOTQzODQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApEZWluZSBBcmd1bWVudGF0aW9uIGhpbmt0LCBDYWRyYWNoLiBTZWxic3QgbWl0IGdlc2V0emxpY2hlciBHcnVuZGxhZ2UsIApkaWUgZGFzIEVyemllaGVuIGRlciBTcHJvZXNzbGluZ2UgZHVyY2ggTGVocmtyYWVmdGUgZXJsYXViZW4gd3VlcmRlIC0gCndpZSBzdGVsbHN0IER1IERpciBkYXMgdm9yPyBEaWUgS2xhc3NlbiBTSU5EIG51bm1hbCBpbnp3aXNjaGVuIHZpZWwgenUgCmdyb3NzLCBhbHMgZGFzcyBlaW4gTGVocmVyIGRlbSBCZWRhcmYgZW50c3ByZWNoZW5kIGludGVuc2l2IGF1ZiBlaW5lbgpFaW56ZWxuZW4gZWluZ2VoZW4ga2Fubiwgb2huZSBaZWl0IHVuZCBHZWxkIGF1c3NlcmhhbGIgZGVyIERlZmluaXRpb24Kc2VpbmVzIEFyYmVpdHNiZXJlaWNocyB1bmVudGdlbHRsaWNoIHp1IGludmVzdGllcmVuLgoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE1pbmVzd2VlcGVyIChOZWRpbWUsICA5LiBNYWkgMjAwMiwgMjA6Mzc6MDQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjA5Njg4MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCk1hbCBlaW4ga2xlaW5lciBIaW53ZWlzIGRlciBGYWNoZnJhdTogCgpMZWhya3JhZWZ0ZW4gaXN0IGRhcyBFcnppZWhlbiBuaWNodCBudXIgZXJsYXVidCwgZXMgaXN0IG5lYmVuIGRlbSBMZWhyZW4KZGllIHp3ZWl0ZSAoZ2xlaWNoYmVyZWNodGlndGUpIEF1ZmdhYmUuIExlaWRlciBtdXNzIGljaCBldWNoIGJlaWRlbgp6dXN0aW1tZW4sIGRlbiBlcyBzaW5kIHp1bSBlaW5lbiBkaWUgS2xhc3NlbiB6dSBncm9zcyB1bmQgenVtCmFuZGVyZW4gZ2lidCBlcyB0YXRzYWVjaGxpY2ggZWluZSBSZWloZSB2b24gRWx0ZXJuIGRpZSBzbyByZWFnaWVyZW4gKG1laXN0ZW5zCmJlaSBQcm9ibGVta2luZGVybikuIEVzIGlzdCBlaW5mYWNoIHNjaGFkZSwgZGFzcyBnZXJhZGUgYW0gR3ltbmFzaXVtCm5pY2h0IHdlbmlnZSB1ZWJlcmZvcmRlcnRlIHVuZCBkYW1pdCB2b2VsbGlnIGZydXN0cmllcnRlIEtpbmRlciBydW1zaXR6ZW4sCmRpZSBzaWNoZXIgYW4gZWluZXIgYW5kZXJlbiBTY2h1bGZvcm0gZ2x1ZWNrbGljaGVyIGdld29yZGVuIHdhZXJlbi4KQWxsZXJkaW5ncyBpc3RzIHp1bWluZGVzdCBpbiBOUlcgaW56d2lzY2hlbiBzbywgZGFzcyBkaWUgTGVocmVyIG5hY2gKZGVyIDYuIEtsYXNzZSBlbnRzY2hlaWRlbiAobmljaHQgbWVociBudXIgYmVyYXRlbikgYXVmIHdlbGNoZSBTY2h1bGZvcm0KZGFzIEtpbmQgYW5zY2hsaWVzc2VuZCBnZWh0LgpWaWVsbGVpY2h0IGluIGRpZXNlciBIaW5zaWNodCBlaW4ga2xlaW5lciBMaWNodGJsaWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IE1pbmVzd2VlcGVyIChPcmt0b2V0ZXIsIDEwLiBNYWkgMjAwMiwgMDg6Mzc6NTUpOgp+IyEgcm49TmVkaW1lIHJ0PTEwMjA5Njk0MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCktsYXNzZW5ncm9lc3NlIGhpbiBLbGFzc2VuZ3JvZXNzZSBoZXIsIHdpZSB2aWVsZSBTdHVuZGUvV29jaGUgc2llaHQgZWluIGVpbgplaW56ZWxuZXIgTGVocmVyIHNlaW5lIFNjaHVlbGVyPyAyLTMgdW5kIHdlbm4gZXMgaG9jaGtvbW10IDQtNiBvZGVyPyBEYSBpc3QgZXMKd29obCBrYXVtIG1vZWdsaWNoIGVyemllaGVyaXNjaCB6dSB3aXJrZW4gKHdpZSBhdWNoIGltbWVyIGRhcyBnZWhlbiBzb2xsKQpXYXMgZGFzIGVpbnNjaGFsdGVuIGVpbmVzIEFud2FsdHMgc2VpdGVucyBkZXIgRWx0ZXJuIGJld2lya2VuIHNvbGwgaGFiZSBpY2gKbm9jaCBuaWNodCBzbyBnYW56IHZlcnN0YW5kZW4uIEVzIGdpYnQgZG9jaCB3b2hsIFJlZ2VsbiB1bmQgZW50c3ByZWNoZW5kZQpTYW5rdGlvbmVuIGJlaSBuaWNodGVpbmhhbHR1bmcsIG9kZXI/IERhIG1hZyBlcyBldHdhcyBtZWhyIGF1ZndhbmQgc2Vpbiwgd2VubgpkaWUgRWx0ZXJuIGVpbmVuIEFud2FsdCBlaW5zY2hhbHRlbiwgYWJlciBlcyB3aXJkIGFtIEVyZ2VibmlzIG5pY2h0cyBhZW5kZXJuLgooa29zdGV0IGRpZSBFbHRlcm4gZGFubiBoYWx0IGVpbmVuIGJhdHplbiBHZWxkIHp1c2FldHpsaWNoKQoKQmxlaWJ0IGVzIGhhbHQgYmVpbTogRGllIEVsdGVybiBzaW5kIHByaW56aXBpZWxsIGZ1ZXIgZGllIEVyemllaHVuZyBpaHJlcgpLaW5kZXIgdmVyYW50d29ydGxpY2guIEFiZXIgYXVjaCB3aXIgYWxsZSwgZGllIHNvZ2VuYW5udGUgR2VzZWxsc2NoYWZ0LiBXaWUKa29lbm5lbiB3aXIgdm9uIHVuc2VyZW4gS2luZGVybiBlcndhcnRlbiBkYXMgc2llIHNpY2ggYW4gR2Vib3RlIHVuZCBWZXJib3RlCmhhbHRlbiwgd2VubiB3aXIgKGRpZSBFcndhY2hzZW5lbikgaWhuZW4gc3RhZW5kaWcgdm9ybGViZW4gZGFzIHdpciBzZWxiZXIgc2llCm5pY2h0IGVybnN0IG5laG1lbj8KCkFscyBCZWlzcGllbCBtb2VjaHRlIGljaCBoaWVyIG51ciBtYWwgZGFzIHVlYmVycXVlcmVuIHZvbiBGdXNzZ2FlbmdlcmFtcGVsbgpiZWkgUm90bGljaHQgbmVubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDEwLiBNYWkgMjAwMiwgMDk6MzA6MzIpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMjEwMTI2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkljaCBuZWhtZSBkYXMgbWl0IGRlbiAoRnVzc2dhZW5nZXItKSBBbXBlbG4gZHVyY2hhdXMgc2VociBlcm5zdDogV2VubiBlaW4gQXV0bwprb21tdCBnZWhlIGljaCBuaWNodCBiZWkgcm90LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogTWluZXN3ZWVwZXIgKFRhbmdhbHVyLCAxMC4gTWFpIDIwMDIsIDA5OjMyOjQ2KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDIxMDEyNjc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAouLi4gdW5kIHdlbm4gZWluIEZ1c3NnYWVuZ2VyIGRvY2ggYmVpIHJvdCBnZWh0IGdlaHQgZ2ViZSBpY2ggR2FzIG9kZXIgd2llID8KTXVzcyBlcyBlaWdlbnRsaWNoIGZ1ZXIgYWxsZXMgdW5kIGplZGVzIFJlZ2VsbiBnZWJlbi4KTWFuY2htYWwgcmVpY2h0IGRvY2ggYmVzdGltbXQgZWluZmFjaCBkYXMgZ2VoaXJuIHp1IGJlbnV0emVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE1pbmVzd2VlcGVyIChFbGJlcmV0LCAxMC4gTWFpIDIwMDIsIDA5OjM0OjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxMDE1ODMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApvY2gsIGljaCBoYWIgc2Nob24gYnVzc2UgdW5kIHp1ZWdlIHZlcnBhc3N0IHdlaWwgaWNoIGVpZ2VudGxpY2ggZ2VuZXJlbGwgbmljaHQKYmVpIHJvdCB1ZWJlciBkaWUgYW1wZWwgZ2VoZSA6KQoKQWJlciBpY2ggZGVua2UsIGRpZSBMZWhyZXIgaGFiZW4gZHVyY2hhdXMgZWluZW4gYmV0cmFlY2h0bGljaGVuIFRlaWwgZGVyCkVyemllaHVuZyB6dSBsZWlzdGVuLiBWb3IgYWxsZW0sIHdlbm4gbWFuIGJlZGVua3QsIGRhc3MgZGllIEtpbmRlciBkdXJjaGF1cwplaW5lbiBiZXRyYWVjaHRsaWNoZW4gVGVpbCBpaHJlciBuaWNodHNjaGxhZmVuc3plaXQgaW4gZGVyIFNjaHVsZSB2ZXJicmluZ2VuLgpOdXIgd2lyZCBlcyBkZW4gTGVocmVybiBhdXMgdmVyc2NoaWVkZW5lbiBHcnVlbmRlbiBpbW1lciBzY2h3ZXJlciwgZGllc2VuCkF1ZnRyYWcgenUgZXJmdWVsbGVuLiBXZWdlbiBncm9zc2VyIEtsYXNzZW4sIHdlZ2VuIEVsdGVybiBkaWUgc3RhZW5kaWcgbWl0CkdlcmljaHRlbiBkcm9oZW4gKHVuZCBkYXMgaXN0IGxlaWRlciBrZWluIFdpdHogKSBhYmVyIGF1Y2ggd2VnZW4gdmllbGVyCmFuZGVyZXIgRGluZ2UuIAoKRWxiaSAoYmVpcm90dWViZXJhbXBlbGdlaGVyc2luZHdlaWNoZWllcndlcmZlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTWluZXN3ZWVwZXIgKEFuYWNyaW9uLCAxMC4gTWFpIDIwMDIsIDA5OjQwOjA0KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyMTAxNjA3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKU2Nob2VuLCB3ZW5uIGVzIGJlaW0gZHJvaGVuIGJsaWViZSA7LSkKCmFuYWMqIChoYXQgbmUgbXV0dGVyLCBkaWUgZ3J1bmRzY2h1bGxlaHJlcmluIGlzdCB1bmQgZGEgdWViZWxzdGUgZ2VzY2hpY2h0ZW4KZXJ6YWVobHQgaGF0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IE1pbmVzd2VlcGVyIChHbG9pbnNvbiwgMTAuIE1haSAyMDAyLCAxMTozNTozMCk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDIxMDE2NDA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApQYXNzaWVydCB0ZWlsd2Vpc2UuIEFuZ2VmYW5nZW4gdm9uIEtsYWdlbiB3ZWdlbiBWb3JlaW5nZW5vbW1lbmhlaXQgdW5kIGRhbWl0CnNjaGxlY2h0ZXIgTm90ZW5nZWJ1bmdlIChnZWdlbiBlaW5lIHNjaGxlY2h0ZSBLbGF1c3Vybm90ZSBsZXR6dGxpY2gpIGJpcyBoaW4KenUgS2xhZ2VuIHdlZ2VuIEtvZXJwZXJ2ZXJsZXR6dW5nIG8uYWUuIExlaHJlciBoYWJlbiBkZXJ6ZWl0IGlocmUgTXVlaGUgaWhyCkJyb3QgaW4gRCB6dSB2ZXJkaWVuZW4sIGRpZSBsZWlkZW4gYXVjaCBkYXJ1bnRlciBkYXNzIGluendpc2NoZW4gZ2VybiBqZWRlcgpqZWRlbiBhdWYgamVkZW4gRnVyeiB2ZXJrbGFndC4gVW5kIGRpZSBLaW5kZXIgc2luZCBqYSBuaWNodCBibG9lZCAtIGRpZSBtZXJrZW4KamEsIGRhc3MgaWhyZSBFbHRlcm4gc2llIHVucmVmbGVrdGllcnQgaW4gU2NodXR6IG5laG1lbi4gTWVpbmUgTXV0dGVyIGhhdAp3ZWdlbiBzdGFlbmRpZ2VyIFZlcmJhbGF0dGFja2VuIHVuZCBlaW5pZ2VuIHNlaHIsIGhtbW0sIGFycm9nYW50ZW4/CmFubWFzc2VuZGVuPyBmb3JkZXJuZGVuPyBzY2h1bGR1d2Vpc2VuZGVuPyBFbHRlcm4gaW4gZGVuCkxlcm5iZWhpbmRlcnRlbmJlcmVpY2ggZ2V3ZWNoc2VsdC4gSXJnZW5kd2llIHNpbmQgZGEgZGllIEVsdGVybiBzaWNoIG5vY2ggbWVocgppaHJlciBBdWZnYWJlIGFscyBlaWdlbnRsaWNoZSBFcnppZWhlciBiZXd1c3N0LCB1bmQgZGFtaXQgaGF0IGVzIGRlciBMZWhyZXIKc2VociB2aWVsIGxlaWNodGVyLgpBYmVyIER1IGthbm5zdCBzY2hsZWNodCBydW1nZWhlbiB1bmQgYWxsZW4gRWx0ZXJuIGFuIGRpZSBOYXNlIGZhc3Nlbi4gQWJoaWxmZQpzY2hhZmZ0IGRhIElNSE8gbnVyIGVpbmUgRW50bGFzdHVuZyBkZXMgZWluemVsbmVuIExlaHJlcnMgKHdlc2VudGxpY2gga2xlaW5lcmUKS2xhc3NlbnN0YWVya2VuKSB1bmQgZWluZSBvcmRlbnRsaWNoZSBPcmdhbmlzYXRpb24gdW5kIE1hdGVyaWFsYXVzc3RhdHR1bmcgZGVyClNjaHVsZW4uIFdlbm4gTGVocmVyIG51ciBub2NoIGhhbGIgc28gZ2VzdHJlc3N0IGlzdCwga2FubiBlciBzaWNoIGdlZ2VudWViZXIKc29sY2hlbiBVbmJpbGxlbiBhdWNoIGRvcHBlbHQgc28gZ3V0IGR1cmNoc2V0emVuIHVuZCBhbGxlIGhhYmVuIHdhcyBkYXZvbi4gRGllCkVsdGVybmhhZXVzZXIgenUgcmVmb3JtaWVyZW4gaGFsdGUgaWNoIGZ1ZXIgaWxsdXNvcmlzY2guCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTWluZXN3ZWVwZXIgKFBhdHJ5biwgMTAuIE1haSAyMDAyLCAxNTo0NzowNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjEwMTYwNzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCmRhYmVpIG1hY2h0IG1hbiBzaWNoIGluIHZpZWxlbiBsYWVuZGVybiBzY2hvbiBsdXN0aWcgdWViZXIKZGllIGRldXRzY2hlbiBtaXQgaWhyZW4gcm90ZW0gYW1wZWxuLgp6dW1pbmRlc3QgaGFsdGVuIGVzIHZpZWxlIGZ1ZXIgdW5kZW5rYmFyIGluIGFuZGVyZW4gbGFlbmRlcm4sCm1pdHRlbiBpbiBkZXIgbmFjaHQgdm9yIGVpbmVyIGVpbnNhbWVuIHJvdGVuIGFtcGVsIGFscwpvZmZlbnNpY2h0bGljaCBlaW5zYW1lciBhdXRvZmFocmVyIHp1IHZlcndlaWxlbi4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBNaW5lc3dlZXBlciAoTW9udGFudXMsIDEwLiBNYWkgMjAwMiwgMTc6MTY6NTUpOgp+IyEgcm49UGF0cnluIHJ0PTEwMjEwMzg0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkJyaW5nIGRlbiBkZXV0c2NoZW4gQVV0b2ZhaHJlcm4gbWFsIGJlaSwgd2llIGVpbiA0LXdheS1zdG9wIGZ1bmt0aW9uaWVydCwKZnVlaHIgZGVuIGdydWVuZW4gUGZlaWwgZmxhZWNoZW5kZWNrZW5kIGVpbiwgdW5kIGRhbm4ga2FubiBtYW4gYXVjaCB1ZWJlciBkaWUKQWJzY2hhZmZ1bmcgdm9uIE5haGN0YW1wZWxuIHJlZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IE1pbmVzd2VlcGVyIChGZW5kZXIsIDEwLiBNYWkgMjAwMiwgMTc6MjE6MzUpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMTA0MzgxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKQWhoaC4uIGVuZGxpY2ggZWluIG5ldWVzIFRoZW1hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IE1pbmVzd2VlcGVyIChNb250YW51cywgMTAuIE1haSAyMDAyLCAxODoyODozNSk6Cn4jISBybj1GZW5kZXIgcnQ9MTAyMTA0NDA5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKSWNoIGthbm4gZGlyIG5pY2h0IHNhZ2VuLCB3aWUgc2Nob2VuIGVzIGlzdCx3ZW5uIGRpZSBsb2thbGVuIFZlcmtlaHJzcmVnZWxuIGVzCmVpbmVtIHNvZ2FyIGVybGF1YmVuLCB0cm90eiByb3RlciBBbXBlbCBsaW5rcyBhYnp1YmllZ2VuIChmYWxscyBkdSBpbiBlaW5lCkVpbmJhaG5zdHJhc3NlIGFiYmllZ3N0IHVuZCBhdXMgZWluZXIgRWluYmFobnN0cmFzc2Uga29tbXN0KS4KTGVpZGVyIHNjaGVpbnQgc2ljaCBERSBudXIgZGllIHNjaGxlY2h0ZW4gU2FjaGVuIHZvbiBkZW4gVVNBIGFienVndWNrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWluZXN3ZWVwZXIgKEhhdGUsIDExLiBNYWkgMjAwMiwgMTE6MDA6MTcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMDc5MTE5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmF0dWVybGljaCBrYW5uIG1hbiBzb3dhcyBuaWUgcGF1c2NoYWwgc2FnZW4sIGFiZXIgZGllIEZvcnNjaHVuZyBuYWNoCmVpbmZhY2hlbiBVcnNhY2hlbiBtaXQgR2V3YWx0d2lya3VuZyB3dXJkZSB2b24gZGVyIERGRyBqZWRlbmZhbGxzIGVpbmdlc3RlbGx0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxMS4gTWFpIDIwMDIsIDExOjQyOjUyKToKfiMhIHJuPUhhdGUgcnQ9MTAyMTEwNzYxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKRGllIERGRyBoYXQgZWluZmFjaCBlaW5lIFN1cHBvcnRlcmZhaHJ1bmcuIERBVXMgc2luZCBlaW5lIHppZW1saWNoIGVpbmZhY2hlCihfZXh0cmVtXyBlaW5mYWNoKSBVcnNhY2hlLCBkaWUgenUgQWdncmVzc2lvbiB1bmQgR2V3YWx0IGZ1ZWhydC4uLgoKR2RBIHdpbGwgamV0enQgREZHLUdlbGRlciBoYWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IE1pbmVzd2VlcGVyIChXdXJ6ZWwsIDEyLiBNYWkgMjAwMiwgMTQ6NTY6MTApOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyMTA0ODExNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKdmVya2VocnNyZWdlbG4gc2luZCBpbW1lciBzbyBlaW5lIHNhY2hlLgp1cnNwcnVlbmdsaWNoIHdvbGx0ZSBpY2ggbWVpbmVuIGtpbmRlcm4gYmVpYnJpbmdlbiwgYmVpIHJvdCBuaWNodCB1ZWJlciBkaWUKYW1wZWwgenUgZ2VoZW4sIHNvbmRlcm4gYXVmIGdydWVuIHp1IHdhcnRlbi4gbmFjaGRlbSBkYW5uIGluIGt1cnplciBmb2xnZQp6d2VpIGJla2FubnRlIHZvbiBtaXIgdWViZXJmYWhyZW4gd3VyZGVuIChlaW5lIGRhdm9uIHRvZWRsaWNoIHZlcmxldHp0KSwgZGllCmJlaSBncnVlbiBkaWUgc3RyYXNzZW5zZWl0ZSB3ZWNoc2VsbiB3b2xsdGVuLCBoYWJlIGljaCB1bWdlc2Nod2Vua3QgdW5kIGRlbgpraW5kZXJuIGJlaWdlYnJhY2h0LCBkYXNzIHNpZSBydWViZXJnZWhlbiBzb2xsZW4sIHdlbm4ga2VpbiBhdXRvIGtvbW10Lgp3ZWxjaGUgZmFyYmUgZGllIGFtcGVsIGhhdCwgaXN0IGZ1ZXIgbWljaCBkYWJlaSBzZWt1bmRhZXIuCmFiZXIgaW4gZGV1dHNjaGxhbmQgaXN0IGVzIGphIHRhdHNhZWNobGljaCBzbywgZGFzcyBkaWUgYXV0b3MgYW4gcm90ZW4KYW1wZWxuIHN0ZWhlbmJsZWliZW4gKGplZGVuZmFsbHMgbWFuY2hlLCBuaWNodCBhbGxlIHMuby4pLCBhdWNoIHdlbm4gc2ljaGVyCmVya2VubmJhciBpc3QsIGRhc3Mgd2VpdCB1bmQgYnJlaXQgYWxsZXMgZnJlaSBpc3QuIGRhcyBzaW5kIGRpZSBuYWNoa29tbWVuCmRlcmplbmlnZW4sIGRpZSBzaWNoIGF1Y2ggdm9yIGdlc3NsZXJzIGh1dCB2ZXJiZXVndCBoYWJlbi4gbnVyIG5pY2h0IHNlbGJlcgpkZW5rZW4sIHdpZSBndXQgd2VubiBtYW4gZnVlciBhbGxlcyBlaW5lIHJlZ2VsIGhhdC4gZGFua2UsIGRhcyBnZW51ZWd0LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogTWluZXN3ZWVwZXIgKEN1Y2h1bGxpbiwgMTIuIE1haSAyMDAyLCAxNToxNzoyNSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAyMTIwODE3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKT2IgRHUgYmVpIHJvdCBvZGVyIGdydWVuIHVlYmVyIGRpZSBTdHJhc3NlIGdlaHN0LCBpc3QgaW4gZXJzdGVyIExpbmllCkRlaW4gQmllciAtIERlaW5lbSBSTC1BbHRlciBuYWNoIChkYXMgaWNoIG5pY2h0IGdlbmF1IGtlbm5lLCBhYmVyIGljaApoYWJlIEFubmFobWVuIGRpZSBHcm9lc3Nlbm9yZG51bmcgYmV0cmVmZmVuZCkgdW5kIGRlciB2b3JoYW5kZW5lbiBSZWlmZQpuYWNoIGJpc3QgRHUgaW4gZGVyIExhZ2UsIGVpbmUgU2l0dWF0aW9uICJGdXNzZ2FlbmdlcmFtcGVsIiByaWNodGlnCmVpbnNjaGFldHplbiB6dSBrb2VubmVuLiBXZW5uIER1IGJlaSByb3QgZGllIFN0cmFzc2UgdWViZXJxdWVyc3QsIHdlaWwKRHUgZXMgYWxzICJzaWNoZXIiIGVpbnNjaGFldHpzdCwgYml0dGUuCgpBYmVyIGRpZXNlcyBVcnRlaWxzdmVybW9lZ2VuIGlzdCBoYWx0IG5pY2h0IHZvbiBLaW5kZXNiZWluZW4gYW4gZGEuIEVpbgpTZWNoc2phZWhyaWdlciBzaWVodCBkaWUgV2VsdCBhdXMgYW5kZXJlbiBBdWdlbi4gRGFzIEVpbnNjaGFldHplbiB2b24KR2VzY2h3aW5kaWdrZWl0LCB1bnVlYmVyc2ljaHRsaWNoZW4gS3VydmVuIHVuZCBkZXJnbGVpY2hlbiBrbGFwcHQgYmVpCmlobSB2aWVsbGVpY2h0IG51ciB6dSA5OCUuIFVuZCB3ZWdlbiBkaWVzZW4gMiUgUmVzdCBibGVpYmUgaWNoIGFuIGVpbmVyIApyb3RlbiBGdXNzZ2FlbmdlcmFtcGVsIHN0ZWhlbiwgc29iYWxkIGVpbiBLaW5kIGRhYmVpIGlzdC4gQXVjaCB3ZW5uIElDSCAKc2VoZSB1bmQgZGF2b24gdWViZXJ6ZXVndCBiaW4sIGRhc3MgaW4gZGVyIG5hZWNoc3RlbiBoYWxiZW4gTWludXRlIGtlaW4gCkF1dG8ga29tbXQuIERhbWl0IGRhcyBLaW5kIG5pY2h0IHZvcnplaXRpZyBsZXJudCwgZGFzcyBlcyBlaW5lIHJvdGUgQW1wZWwgCmlnbm9yaWVyZW4gZGFyZiwgc29iYWxkIGVzIGdsYXVidCwgZGFzcyBrZWluIEF1dG8gZGEgaXN0LgoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDEyLiBNYWkgMjAwMiwgMTU6MzE6MzEpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjEyMDk0NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkFjaCB3YXMsIGF1Y2ggS2luZGVyIG11ZXNzZW4gc28gZnJ1ZWggd2llIG1vZWdsaWNoIGxlcm5lbiBkYXNzIG1hbiBFcndhY2hzZW5lbgpuaWNodCB0cmF1ZW4ga2Fubi4gV2VubiBEdSBhbHNvIFZvcmJpbGQgc3BpZWxzdCBzdGFlcmtzdCBEdSBtaXRoaW4gZWluCnVuZ2VyZWNodGZlcnRpZ3RlcywgYWxsZ2VtZWluZXMgVmVydHJhdWVuIGluIEVyd2FjaHNlbmUsIGRhcyBsZXR6dGxpY2ggenUKc2NobGltbWVuIEtvbnNlcXVlbnplbiBmdWVocmVuIGthbm4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBNaW5lc3dlZXBlciAoQmFtYmksIDEyLiBNYWkgMjAwMiwgMTY6Mzc6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEyMTAyOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwClNvIGVpbiBCbG9lZHNpbm4uCldlbm4gbWFuIGRhcywgd2FzIER1IGdlc2NocmllYmVuIGhhc3QsIGJvZXN3aWxsaWcgaW50ZXJwcmV0aWVydCwgZGFubiBiZWRldXRldApkYXMsIGRhc3MgbWFuIEtpbmRlcm4gYmVpYnJpbmdlbiBzb2xsLCBkYXNzIEVyd2FjaHNlbmUgZGVuIGdsZWljaGVuCmJlc2NocmFlbmt0ZW4gSG9yaXpvbnQgaGFiZW4gdW5kIGRhaGVyIG5pY2h0IGFscyBWb3JiaWxkIGRpZW5lbiBrb2VubmVuLiBPaywKZGFzIHdhZXIgZWluIGJpc3NsIHdlaXQgaGVyZ2Vob2x0LCBhYmVyIG1hbiBrb2VubnRlIHdlbmlnc3RlbnMKaGluZWluaW50ZXJwcmV0aWVyZW4sIGRhc3MgS2luZGVyIG5pY2h0IGF1ZiBFcndhY2hzZW5lIGhvZXJlbiBzb2xsZW4uIFVuZCBkYXMKaGFsdGUgaWNoIHVlYmVyaGF1cHQgbmljaHQgZnVlciBlaW4gZXJzdHJlYmVuc3dlcnRlcyBMZXJuemllbCBlaW5lcyBLaW5kZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogTWluZXN3ZWVwZXIgKFd1cnplbCwgMTIuIE1haSAyMDAyLCAxNjo0MDoxNSk6Cn4jISBybj1CYW1iaSBydD0xMDIxMjE0MjI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAptYW4gc29sbHRlIGtpbmRlcm4gbmljaHQgdW5iZWRpbmd0IGJlaWJyaW5nZW4sIHNpY2ggbmFjaCB2b3JiaWxkZXJuIHp1CnJpY2h0ZW4uIGVpbmZhY2hlciBsZWhyc2F0ejogc2VsYmVyIGRlbmtlbiBtYWNodCBzY2hsYXUuCnVuZCBpY2ggaGFiZSB2aWVsZSBlcndhY2hzZW5lbiBnZXNlaGVuLCBkaWUgZWluZW4gd2VpdGF1cyBiZXNjaHJhZW5rdGVyZW4KaG9yaXpvbnQgaGF0dGVuIGFscyBkaWUgbWVpc3RlbiBraW5kZXIuIHdhcyBhbmRlcmVyc2VpdHMgYXVjaCBuaWNodCBzZWhyCnZlcnd1bmRlcnQsIHdlbm4gbWFuIHNpY2ggZGllIGNvdWNoIHBvdGF0b2VzIGhldXR6dXRhZ2UgYW5zaWVodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IE1pbmVzd2VlcGVyIChDdWNodWxsaW4sIDEyLiBNYWkgMjAwMiwgMTg6MDg6NTgpOgp+IyEgcm49V3VyemVsIHJ0PTEwMjEyMTQ0MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCk5lbm50IG1pY2ggbmFpdiwgYWJlciBpY2ggaGFiZSBHcmltbWJvcm5zIEFydGlrZWwgYWxzIGlyb25pc2NoIGF1ZmdlZmFzc3QuCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMTIuIE1haSAyMDAyLCAxODoxMjo1MCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyMTIxOTczOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTnVyIGhhbGJ3ZWdzLiBLaW5kZXJuIGJlaXp1YnJpbmdlbiwgZGFzcyBfYWxsZXNfLCB3YXMgX2JlbGllYmlnZV8gRXJ3YWNoc2VuZQp0dW4gdG9sbCB1bmQgbmFjaGFtZW5zd2VydCBpc3QgaXN0IHRhdHNhZWNobGljaCBnZWZhZWhybGljaCwgZGEga29tbXQgYW0gRW5kZQpzb3dhcyB3aWUgQmFtYmkgcmF1cy4uLiBEaWUgTGVocnNhZXR6ZSAiU2VsYmVyIGRlbmtlbiBtYWNodCBzY2hsYXUiIHVuZAoiVmVyc3VjaCBtYWNodCBrbHVjaCIgc2luZCBkYSB3ZXNlbnRsaWNoIGJlc3Nlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IE1pbmVzd2VlcGVyIChDdWNodWxsaW4sIDEyLiBNYWkgMjAwMiwgMTg6MzE6NDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEyMTk5NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwClNjaHdhcnovV2Vpc3MtTWFsZXJlaSBpc3QgZGVtIGFiZXIgbmljaHQgenV0cmFlZ2xpY2guIEVpbmVtIFNlY2hzamFlaHJpZ2VuCmRhcmZzdCBEdSBlaW5mYWNoIG5pY2h0ICJWZXJnaXNzIGRpZSBBbXBlbCB1bmQgZW50c2NoZWlkZSBzZWxic3QiIGJlaWJyaW5nZW4sCndlaWwgaWhtIGRhcyBhdWZmYXNzdW5nc21hZXNzaWdlIFJ1ZXN0emV1ZyBkYXp1IG5vY2ggZmVobHQuIEljaCB3dWVyZGUgZWluZW4KU2VjaHNqYWVocmlnZW4gLSB1bSBkZW4gQm9nZW4genVtIFRoZW1hIHp1IHNjaGxhZ2VuIC0gYXVjaCBudXIgdW5nZXJuc3QKQ291bnRlcnN0cmlrZSBzcGllbGVuIGxhc3NlbiB3b2xsZW4uCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMTIuIE1haSAyMDAyLCAxODozOTozOSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyMTIyMTEwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKRGVtIFNlY2hzamFlaHJpZ2VuIHd1ZXJkZSBpY2ggYmVpYnJpbmdlbiBkYXNzIGVyIG51ciBiZWkgZ3J1ZW4gZ2VoZW4gZGFyZiwgdW5kCnp1c2FldHpsaWNoIGF1ZnBhc3NlbiBtdXNzLiBVbmQgZGFzcyBlciBzaWNoIG5pY2h0IGRyYW4gc3RvZXJlbiBzb2xsIHdlbm4KaXJnZW5kd2VsY2hlIEVyd2FjaHNlbmVuIGRhcyAiZmFsc2NoIiBtYWNoZW4sIHdlaWwgbmFlbWxpY2ggRXJ3YWNoc2VuZSBhdWNoCm51ciBEZXBwZW4gc2luZC4gSWNoIG1laW5lIEVyemllaHVuZyBkb2NoIG5pY2h0IGFuIGRhcyBWZXJoYWx0ZW4gZnJlbWRlcgpFcndhY2hzZW5lciBrb3BwZWxuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogTWluZXN3ZWVwZXIgKE9ya3RvZXRlciwgMTMuIE1haSAyMDAyLCAxMzo0OTo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyMTIyMTU3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKVGphLCBHcmltbWJvcm4sIGR1IHd1ZXJkZXN0IGRlaW5lIEVyemllaHVuZyBuaWNodCBhbiBkYXMgVmVyaGFsdGVuIGZyZW1kZXIKRXJ3YWNoc2VuZXIga29wcGVsbiB3b2xsZW4uIFNvIHdlaXQgc28gZ3V0LiBOdXIgbGVpZGVyIGdlaHQgZXMgbmljaHQgc28KZWluZmFjaC4gS2luZGVyIGxlcm5lbiBzZWhyIHZpZWwgZHVyY2ggYmVvYmFjaHRlbi4gVW5kIGplZGVyIEVyd2FjaHNlbmUgaXN0Cm51biBtYWwgZWluZSBWb3JiaWxkZmlndXIgZnVlciBrbGVpbmUgS2luZGVyLiBTaWNoZXJsaWNoIGhhYmVuIGRpZSBFbHRlcm4gZGEKZWluZSBoZXJhdXNyYWdlbmRlIFJvbGxlLCBhYmVyIGVzIHNpbmQgaGFsdCBuaWNodCBudXIgZGllIEVsdGVybiwgZGllIGR1cmNoCmlociBWZXJoYWx0ZW4gZGllIEtpbmRlciBiZWVpbmZsdXNzZW4uCgpPcmtULCBhdWNoIHNjaG9uIGVybGVidCBoYWJlbmQgd2llIE11dHRpIG1pdCBrbGVpbmVtIEtpbmQgYmVpIFJvdCB1ZWJlciBkaWUKQW1wZWwgcmVubnQgdW0gZGllIEJhaG4gbm9jaCB6dSBiZWtvbW1lbiBkaWUgc293aWVzbyBnZXJhZGUgZGllIEFtcGVscGhhc2UKdmVycGFzc3QgaGF0IHVuZCBub2NoIG1pbmRlc3RlbnMgZWluZSBNaW51dGUgZG9ydCBzdGVoZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxMy4gTWFpIDIwMDIsIDE0OjQyOjU2KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDIxMjkwNTk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAo+IFVuZCBqZWRlciBFcndhY2hzZW5lIGlzdCBudW4gbWFsIGVpbmUgVm9yYmlsZGZpZ3VyIGZ1ZXIga2xlaW5lIEtpbmRlci4KClRqYSwgdW5kIGdlbmF1IGRhcyBpc3QgZWJlbiBuaWNodCAibnVuIG1hbCIsIHNvbmRlcm4gZGVtIGlzdCBtaXR0ZWxzIEVyemllaHVuZwp6dSBiZWdlZ25lbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IE1pbmVzd2VlcGVyIChFbGJlcmV0LCAxMy4gTWFpIDIwMDIsIDE0OjQ5OjQ4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxMjkzNzc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAphbHNvIGltIFByaW56aXAgaXN0IGdlZ2VuIFZvcmJpbGRlciBkb2NoIGdhciBuaWNodHMgZWluenV3ZW5kZW4uIE5hdHVlcmxpY2gKbXVzcyBtYW4gbGVybmVuLCBkYXNzIG1hbiBkaWVzZSBhdWNoIGhpbnRlcmZyYWdlbiBtdXNzLiBBYmVyIGthbm4gZWluCjYtamFlaHJpZ2VzIEtpbmQgZXMgaW1tZXIgYmVzc2VyIHdpc3NlbiBhbHMgZGllIGR1bW1lbiAiTmljaHR2b3JiaWxkZXIiCkVyd2FjaHNlbmUsIGRpZSBkb2NoIGVoIGltbWVyIGFsbGVzIGZhbHNjaCBtYWNoZW4/IFNvbGwgbWFuIGVzIGRhenUgZXJ6aWVoZW4sCmRhc3MgZXMgc2VsYmVyIGltbWVyIGFsbGVzIGJlc3NlciB3ZWlzcyBhbHMgVm9yYmlsZGVyPyBJY2ggd2Vpc3MgamEgbmljaHQuIAoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IE1pbmVzd2VlcGVyIChHbm9tZSwgMTQuIE1haSAyMDAyLCAwMDoyNTozMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyMTI5Mzc3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKZG9jaCwgZ3JpbW1pLCBkYXMgaXN0ICJudW4gbWFsIiBzby4gbmVubnQgc2ljaCBtb2RlbGxlcm5lbiBvZGVyIGF1Y2gKaW1pdGF0aW9ucy0sIGJlb2JhY2h0dW5ncy0sIG5hY2hhaG11bmdzLSwgc296aWFsLWtvZ25pdGl2ZXMgbGVybmVuLgpkaWVzZXMgbGVybnBhcmFkaWdtYSB3ZW5kZW4ga2luZGVyIHVuZCBqdWdlbmRsaWNoZSBhbSBoYWV1Zmlnc3RlbiBhbi4KZGFzIGthbm4gdm9yLSB1bmQgbmFjaHRlaWxlIGhhYmVuLCBqZSBuYWNoZGVtLCB3YXMgZGVyIGVyd2FjaHNlbmUKZHJhdXMgbWFjaHQuCmRhIGFiZXIgYmVzb25kZXJzIGp1Z2VuZGxpY2hlIG1laHIgbWl0IGRlciAiZ2VzZWxsc2NoYWZ0IiB6dSB0dW4gaGFiZW4sCmhhdCBhdWNoIGRpZSBlcnppZWh1bmcgZGVyIGVsdGVybiBzbyBpaHJlIGdyZW56ZW4uIHdhcyB3aXIgdW5zIGluCmRpZXNlbSBmYWxsIHd1ZW5zY2hlbiwgd2FlcmUgZWluZSB2ZXJudW5mdGJlZ2FidGUgZ2VzZWxsc2NoYWZ0LgpsZWlkZXIgc2luZCB3aXIgbGljaHRqYWhyZSBkYXZvbiBlbnRmZXJudC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zODogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMTQuIE1haSAyMDAyLCAwMDoyNzoxMSk6Cn4jISBybj1Hbm9tZSBydD0xMDIxMzI4NzMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApEdSB3aWxsc3QgZGFzIG1pdCBBYnNpY2h0IG5pY2h0IHZlcnN0ZWhlbiwgamE/CkljaCBoYWJlIG5pY2h0IGdlc2FndCBkYXNzIGRhcyBuaWNodCBkYXMgIm5hdHVlcmxpY2hlIFZlcmhhbHRlbiIgd2FlcmUsIGljaApoYWJlIGdlc2FndCBkYXNzIGRhcyB3aWNodGlnIGlzdCBkYXMgZGVuIEtpbmRlcm4gZnJ1ZWh6ZWl0aWcgd2VnenVlcnppZWhlbiwKaGluIHp1IGVpbmVtIHNlbGJzdGFlbmRpZ2VuIERlbmtlbiB1bmQgZWluZXIga3JpdGlzY2hlbiBEaXN0YW56IHp1IHVuYmVrYW5udGVuCkVyd2FjaHNlbmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOTogTWluZXN3ZWVwZXIgKEdub21lLCAxNC4gTWFpIDIwMDIsIDAwOjMyOjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxMzI4ODMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApkdSB2ZXJrZW5uc3QgZGllIGVyemllaGVyaXNjaGVuIG1vZWdsaWNoa2VpdGVuOiBsZWlkZXIgbGFlc3N0IHNpY2ggZGFzCm5pY2h0IGVpbmZhY2ggIndlZ2VyemllaGVuIi4gZWx0ZXJuIGhhYmVuIG5hY2ggbmV1ZXN0ZW4gZXJrZW5udG5pc3NlbgpkZW4gd2VuaWdzdGVuIGVpbmZsdXNzIGF1ZiBpaHJlIGtpbmRlci4gdmllbG1laHIgZXJ6aWVoZW4gc2ljaCBraW5kZXIKZ2VnZW5zZWl0aWcsIGJ6dy4gbGVybmVuIHZvbiBkZXIgZ2VzZWxsc2NoYWZ0LCBpbiBkZXIgc2llIHNpY2gKYmV3ZWdlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MDogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMTQuIE1haSAyMDAyLCAwMDozMzozMik6Cn4jISBybj1Hbm9tZSBydD0xMDIxMzI5MTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApEdSBtZXJrc3QgRGVpbmVuIGVpZ2VuZW4gV2lkZXJzcHJ1Y2g/ICJsZXJuZW4gdm9uIGRlciBnZXNlbGxzY2hhZnQsIGluIGRlciBzaWUKc2ljaCBiZXdlZ2VuIiAtIG9kZXIgZ2Voc3QgRHUgZGF2b24gYXVzIGRhc3MgZGllIEtpbmRlciB2b24gZGVuIEVsdGVybgpnZXRyZW5udCB3ZXJkZW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQxOiBNaW5lc3dlZXBlciAoR25vbWUsIDE0LiBNYWkgMjAwMiwgMDA6MzU6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEzMjkyMTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCmFoYSwgZWluIGhhYXJzcGFsdGVyLiA6KQpqYSwgZWx0ZXJuIGdlaG9lcmVuIHp1ciBnZXNlbGxzY2hhZnQuIG11c3MgaWNoIGRpciBqZXR6dCBhYmVyIHdpcmtsaWNoCmVya2xhZXJlbiwgd2lldmllbCB6ZWl0IGR1cmNoc2Nobml0dGxpY2ggZWluIGtpbmQgbWl0IHNlaW5lbiBlbHRlcm4KdmVyYnJpbmd0PyB1bmQgd2lldmllbCBpbiBkZXIgc2NodWxlPyBtaXQgc2VpbmVuIGZyZXVuZGVuPyB2b3JtIFRWPwpkdSB3YWVyc3QgZXJzY2hyZWNrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxNC4gTWFpIDIwMDIsIDAwOjM4OjMyKToKfiMhIHJuPUdub21lIHJ0PTEwMjEzMjkzNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkljaCBtdXNzIG5pY2h0IGRlbiBncm9lc3N0ZW4gRGVwcHBlbiwgZGVuIGljaCBmaW5kZW4ga2FubiwgenVtIE1hc3NzdGFiCmVyaGViZW4uIFVuZCB3ZXIgc2VpbiBLaW5kIGVyc3QgaW0gU2NodWxhbHRlciBhbmZhbmdlbiB3aWxsIHp1IGVyemllaGVuIGlzdAplaW4gYmlzY2hlbiBzcGFldCBkcmFuLCBtZWluc3QgRHUgbmljaHQ/IFVuZCBnbGF1YnN0IER1IG5pY2h0IGRhc3MgS2luZGVyLApzYWdlbiB3aXIsIGluIGRlbiBlcnN0ZW4gZnVlbmYgTGViZW5zamFocmVuIG1laHIgWmVpdCBtaXQgZGVuIEVsdGVybiBhbHMgbWl0CmlyZ2VuZHdlbSBzb25zdCB2ZXJicmluZ2VuPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDM6IE1pbmVzd2VlcGVyIChHbm9tZSwgMTQuIE1haSAyMDAyLCAwMDo0MDowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyMTMyOTUxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKZXJ6aWVodW5nIGhvZXJ0IG5pY2h0IG1pdCBkZW0gNi4gbGViZW5zamFociBhdWYsIHNvbmRlcm4gZmFlbmd0IGRhCmVyc3QgcmljaHRpZyBhbi4gbGVpZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDQ6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDE0LiBNYWkgMjAwMiwgMDA6NDE6MjgpOgp+IyEgcm49R25vbWUgcnQ9MTAyMTMyOTYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKV2VubiBpY2ggbWljaCBzbyB1bWd1Y2tlIGhhdCBFcnppZWh1bmcgYXVjaCBtaXQgZGVyIFZvbGxqYWVocmlna2VpdCBvZnQgbm9jaApuaWNodG1hbCBhbmdlZmFuZ2VuLgpVbmQgaWNoIGtvbm50ZSBzY2hvbiBhdWYgZGVtIFdlZyB6dW0gS2luZGVyZ2FydGVuIHNlbGJzdGFlbmRpZyB1bmQgYWxsZWluZQpTdHJhc3NlbiB1ZWJlcnF1ZXJlbi4gQXVmIGRlbSBEb3JmLCBuaWNodCBpbiBkZXIgS29lbG5lciBJbm5lbnN0YWR0LCBhYmVyCmltbWVyaGluLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NTogTWluZXN3ZWVwZXIgKEVsYmVyZXQsIDE0LiBNYWkgMjAwMiwgMDg6MTE6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEzMjk2ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCnNjaG9uIG1hbCBkcmFuIGdlZGFjaHQsIGRhc3MgbWFuY2hlIGVsdGVybiBhdWNoIHNjaG9uIHZvciBkZW0gNi4gTGViZW5zamFocgppaHJlcyBTcHJvZXNzbGluZ3MgYXJiZWl0ZW4gbXVlc3Nlbj8gU29uc3Qgd2FlcmVuIEtpbmRlcmdhZXJ0ZW4gdW5kIGFlaG5saWNoZXMKZG9jaCB1ZWJlcmZsdWVzc2lnLCBvZGVyPyAKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ2OiBNaW5lc3dlZXBlciAoQ2F0d2VhemxlLCAxNC4gTWFpIDIwMDIsIDA4OjI1OjQ2KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyMTM1NjY2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmFqYSwgYWJlciBkYWZ1ZXIgdmVyYnJpbmdlbiBkaWUgRWx0ZXJuIGluIGRlbiBlcnN0ZW4gSmFocmVuIGltbWVyIGRpZSBnYW56ZQpOYWNodCBtaXQgaWhyZW4gS2luZGVybi4gRGFzIGlzdCBkb2NoIGJlc3RpbW10IHNjaG9uIG1pbmRlc3RlbnMgNTAlIGRlciBaZWl0LgpVbmQgZGFubiBrb21tdCBub2NoIHRhZ3N1ZWJlciBuZW4gYmlzc2NoZW4gd2FzIGRhenUuIERhIHNvbGx0ZSBkb2NoIG5lIE1lbmdlClplaXQgZnVlciBFcnppZWh1bmcgc2Vpbiwgb2Rlcj8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDc6IE1pbmVzd2VlcGVyIChFbGJlcmV0LCAxNC4gTWFpIDIwMDIsIDA4OjI5OjI3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDIxMzU3NTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApuYXR1ZXJsaWNoLCBpY2ggc2FnIGphIGF1Y2ggbmljaHQsIGRhc3MgRWx0ZXJuIGlocmUgS2luZGVyIG5pY2h0IGVyemllaGVuLAphYmVyIHNwYWV0ZXNlbnMgYWIgZGVtIDMuLTQuIEphaHIga29tbWVuIGRhIHZpZWxlIGFuZGVyZSBFaW5mbHVlc3NlIGhpbnp1LiBJbgpkZW0gQWx0ZXIga2FubiBtYW4gdm9uIEtpbmRlcm4gbmljaHQgZXJ3YXJ0ZW4sIGRhc3Mgc2llIGFsbGVzIHNlbGJlcgpyZWZsZWt0aWVyZW4ga29lbm5lbi4gRXMgaXN0IHZvZWxsaWcgbm9ybWFsIHVuZCBtZWluZXIgTWVpbnVuZyBuYWNoIGd1dCwgZGFzcwpzaWUgZGFubiBnZXdpc3NlIFZlcmhhbHRlbnNzdHJ1a3R1cmVuIG5hY2hhaG1lbi4gCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NzogTWluZXN3ZWVwZXIgKEFwb2xsb25pYSwgMTQuIE1haSAyMDAyLCAwODo0MzoyMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAyMTM1NzU0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKQml0dGU/IERhcyBpc3QgamV0enQgbmljaHQgRGVpbiBFcm5zdCwgQ2F0dGksIG9kZXI/IEljaCBoYWIgbWljaCBqYSBhdXMgZGVyCkRpc2t1c3Npb24gZGllIGdhbnplIFplaXQgcmF1c2dlaGFsdGVuLCBvYndvaGwgaWNoIC0gb2RlciBnZXJhZGUgd2VpbCAtIGljaAplaW4gS2luZCB6dWhhdXNlIGhhYiwgYWJlciBudSBtdXNzIGljaCBkb2NoIG1hbCB3YXMgZGF6dSBzYWdlbi4KCldpZSBiaXR0ZSwgc29sbCBtYW4gZGVuIG5hY2h0cyBzZWluIEtpbmQgZXJ6aWVoZW4/IFdlbm4ncyBlbmRsaWNoIGltIEJldHQKbGllZ3QgdW5kIE1hbWEgdW5kIFBhcGEgZW5kbGljaCBtYWwgUnVoZSB2b3IgZGVtIGtsZWluZW4gUXVhZWxnZWlzdCBoYWJlbj8gRGFzCmVyaW5uZXJ0IG1pY2ggaXJnZW5kd2llIGFuIGRpZXNlIEthc3NldHRlbiwgbWl0IGRlbmVuIG1hbiBhbmdlYmxpY2ggaW0gU2NobGFmClNwcmFjaGVuIGxlcm5lbiBrYW5uIG9kZXIgc28uLi4KCkFsc28gaWNoIHBlcnNvZW5saWNoIF9ob2ZmZV8sIGRhc3MgaWNoIGdlbnVlZ2VuZCBFaW5mbHVzcyBhdWYgbWVpbiBLaW5kIG5laG1lbgprYW5uLiBBYmVyIG1hY2hlbiB3aXIgdW5zIG1hbCBrZWluZSBJbGx1c2lvbmVuIGRhcnVlYmVyLCBkYXNzIGRhcyBVbWZlbGQKd2FocnNjaGVpbmxpY2ggc2VociB2aWVsIHByYWVnZW5kZXIgaXN0LCBhbHNvIHZvciBhbGxlbSBkaWUgRnJldW5kZS4gVW5kCmxldHp0bGljaCBtdXNzIG1hbiBkZW0gS2luZCBqYSBhdWNoIGRlbiBGcmVpcmF1bSBsYXNzZW4sIHNlaW5lIGVpZ2VuZQpQZXJzb2VubGljaGtlaXQgenUgZW50d2lja2VsbiB1bmQga2FubiBuaWNodCBtZWhyIGFscyBob2ZmZW4sIGRhc3MgZGVyIFNjaHVzcwpuaWNodCBpcmdlbmR3aWUgbmFjaCBoaW50ZW4gbG9zZ2VodC4gCgoKQXBvKgpkaWUgc2ljaCBzY2hvbiBhYiB1bmQgYW4gZnJhZ3QsIHdhcyBhdXMgaWhyZXIgS3VyemVuIG1hbCB3ZXJkZW4gd2lyZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDg6IE1pbmVzd2VlcGVyIChDYXR3ZWF6bGUsIDE0LiBNYWkgMjAwMiwgMDg6NDc6MDkpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwMjEzNTg2MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCk5laW4sIGRhcyB3YXIgbmljaHQgbWVpbiBlcm5zdCA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OTogTWluZXN3ZWVwZXIgKEh1bW5pLCAxNC4gTWFpIDIwMDIsIDA4OjUwOjQxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDIxMzU4ODI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApJY2ggZGVua2UsIGRhc3MgaWhyIGRhIGFiZXIgZGVuIEVpbmZsdXNzIGRlciBFbHRlcm4gdW50ZXJzY2hhZXR6dC4gTWFuIGthbm4Kc2ljaGVyIGltbWVyICwsYWxsZXMgcmljaHRpZyBtYWNoZW4nJyB1bmQgdHJvdHpkZW0gcGFzc2llcnQgaXJnZW5kd2FzCmJlc2NoaXNzZW5lcyB1bmQgZW50d2lja2VsdCBzaWNoIGRhbmViZW4sIGFiZXIgaWNoIGdsYXViZSwgZGFzcyBkaWUgZXJzdGVuCkphaHJlIGdhbnogaW50ZW5zaXYgcHJhZWdlbiwgd2llIGRhcyBLaW5kIHNwYWV0ZXIgenUgc2VpbmVuIEVsdGVybiBzdGVodC4KVmllbGUgZGVyIEFsa29ob2xpa2VyIGluIERldXRzY2hsYW5kIHouQi4gaGFiZW4gRnJ1ZWhzdG9lcnVuZ2VuIGF1cyBpaHJlcgpLaW5kaGVpdC4gKEljaCBtdXNzIGRhcyB3aXNzZW4sIG1laW4gVmF0ZXIgc2NocmVpYnQgQnVlY2hlciBkYXJ1ZWJlciA7LSkgKQoKQXVjaCB3ZW5uIGRhcyBuaWNodCBpbW1lciB6dXRyZWZmZW4gbWFnOiBEYXMgUHJvYmxlbSBzaW5kIGluIGRlbiBtZWlzdGVuCkZhZWxsZW4gZGllIEVsdGVybiwgYXVjaCB3ZW5uIGljaCBkZXJ6ZWl0IGF1ZiBuaWVtYW5kZW4gbWl0IGRlbSBGaW5nZXIgemVpZ2VuCndpbGwuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTA6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDE0LiBNYWkgMjAwMiwgMDk6MTE6MDMpOgp+IyEgcm49SHVtbmkgcnQ9MTAyMTM1OTA0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKVW5kIGRhIGhpZXIgaW1tZXIgc28gc2Nob2VuIG1pdCBzdGF0aXN0aXNjaCByZWxldmFudGVuIEVpbnplbGZhZWxsZW4gKGVzIGdpYnQKRWx0ZXJuIGRpZSBiZWlkZSBhcmJlaXRlbiBtdWVzc2VuKSBhcmd1bWVudGllcnQgd2lyZDogYXVzIGhldXRpZ2VyIFNpY2h0Cnd1ZXJkZSBpY2ggc2FnZW4gZGFzcyBpY2ggdWViZXIgd2VpdGUgU3RyZWNrZW4gZHVyY2ggbWVpbmUgRWx0ZXJuIHVuZCBtZWluCkVsdGVybmhhdXMgYmVlaW5mbHVzc3Qgd29yZGVuIGJpbi4gVW5kIGF1ZiBtZWluZSBHZXNjaHdpc3RlciB0cmlmZnQgZGFzIGF1Y2gKenUuIFdpciBzaW5kIGR1cmNoYXVzIHNlaHIgdW50ZXJzY2hpZWRsaWNoLCB1bmQgbmllbWFuZCB2b24gdW5zIGlzdCBlaW4KU3BpZWdlbCBkZXMgRWx0ZXJuaGF1c2VzLCBhYmVyIGJlc3RpbW10ZSBHcnVuZGVpbnN0ZWxsdW5nZW4gKCJXZXJ0ZSIsIHdpZSBkYXMKaGV1dGUgaGVpc3N0KSwgaGFiZW4gd2lyIGFsbGVzYW10IG1pdGJla29tbWVuLiBBdWNoIHdlbm4gd2lyIGRhcyBzaWNoZXIgaW4KZWluaWdlbiBQaGFzZW4gdmVoZW1lbnQgZ2VsZXVnbmV0IGhhZXR0ZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQwOiBNaW5lc3dlZXBlciAoUGlsZ3JpbSwgMTQuIE1haSAyMDAyLCAwOTo0NjoxNSk6Cn4jISBybj1Hbm9tZSBydD0xMDIxMzI5MTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAo+IGVsdGVybiBoYWJlbiBuYWNoIG5ldWVzdGVuIGVya2VubnRuaXNzZW4KPiBkZW4gd2VuaWdzdGVuIGVpbmZsdXNzIGF1ZiBpaHJlIGtpbmRlci4gdmllbG1laHIgZXJ6aWVoZW4gc2ljaCBraW5kZXIKPiBnZWdlbnNlaXRpZywgYnp3LiBsZXJuZW4gdm9uIGRlciBnZXNlbGxzY2hhZnQsIGluIGRlciBzaWUgc2ljaAo+IGJld2VnZW4uCj4gCj4gZ25PbWUKClRqYSAuLi4gd28gd2lyIGJlaSBkZW0gUHJvYmxlbSBkZXIgRWluLUtpbmQtRmFtaWxpZSB3YWVyZW4uCldlbm4gbWFuIG5hZWhtbGljaCAyLDMgb2RlciA0IEtpbmRlciBoYXQsIHNwaWVsdCBzaWNoIGRhcwpMZXJudmVyaGFsdGVuIHNlaHIgd29obCB1bnRlciAnS25vdHJvbGxlJyBkZXIgRWx0ZXJuIGFiOwphdXVzZXJlZGVtIGxlcm50IG1hbiAoS2luZCkgc28gYXVjaCBiZXNzZXIgbWl0IEtvbmZsaWtldG4gdW16dWdlaGVuCgooQWxzbyBLb25mbGlrdGUgbWl0IGFuZGVybiBLaW5kZXJuKS4gRGllIGVyZ2ViZW4gc2ljaCBtaXQgR2VzY2h3aXN0ZXJuCmphIHp3YW5nc2xhZXVmaWcgLSBkYSBhYmVyIHNjaG9uIHJlY2h0IGZydWVoLCBoYXQgbWFuIGFscyBFbHRlcm4Kbm9jaCBtb2VnbGljaGtlaXRlbiBlcnppZWhlcmlzY2ggdGFldGlnIHp1IHdlcmRlbi4gT2RlciBhbmRlcnMgZ2VzYWd0OgpJY2ggZ2xhdWJlIGRhcyBkaWUgRWluLUtpbmQtRmFtaWxpZSwgd28gdS5VLiBhdWNoIG5vY2ggYmVpZGUgRWx0ZXJuCmFyYmVpdGVuIGdlaGVuIChtdWVzc2VuPykgd2FzIGdhbnosIGdhbnogc2NobGVjaHRlcyBpc3QgLi4uIGRhcyBrYW5uCmZ1ZXJzIFNvemlhbHZlcmhhbHRlbiBudXIgbmVnYXRpdiBzZWluICgqUGlsZ3JpbSBkdWNrdCBzaWNoIHNjaG9uIG1hbCopLgoKTmF0dWVybGljaCBrYW5uIG1hbiAoS2luZCkgZGFzIGR1cmNoIEZyZXVkZW4ga29tcGVuc2llcmVuIC4uLiBmdW5rdGlvbmllcnQKYWJlciBudXIsIHdlbm4gbWFuICdndXRlJyBGcmV1bmRlIGhhdCAuLi4gOHVuZCBkYXMgTW9tZW50IGRlcgpFaW5mbHVzc25laG1lbmRlbgpFbHRlcm4gZmVobHQgaGllciBuYXR1ZXJsaWNoLgoKV2llIGdlc2FndDogTnVyIHZpZWxlIEtpbmRlciBicmluZ3RzIG5hdC4gYXVjaCBuaWNodCwgd2VubiBkaWUgRWx0ZXJuCmJlaSBkZXIgV2VydGV2ZXJtaXRsdW5nIHZlcnNhZ2VuLgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDE6IE1pbmVzd2VlcGVyIChOb25uZSwgMTQuIE1haSAyMDAyLCAwOTo0ODozMCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMjEzNjIzNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCkFyYmVpdGVzdCBEdSBiZWltIEZhbWlsaWVubWluaXN0ZXJpdW0gb2RlciBiZWkgZGVyIFJlbnRlbmthc3NlPyAqZyoKClNDTlIKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogTWluZXN3ZWVwZXIgKFBpbGdyaW0sIDE0LiBNYWkgMjAwMiwgMDk6NTE6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEzMjkyMTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCj4gb2RlciBnZWhzdCBEdSBkYXZvbiBhdXMgZGFzcyBkaWUgS2luZGVyIHZvbiBkZW4gRWx0ZXJuCj4gZ2V0cmVubnQgd2VyZGVuPwo+IAo+IEdkQQoKSmEgLi4uIEtpbmRlciB1bmQgRWx0ZXJuIGVudGZlcm5lbiBzaWNoIGxlaWRlciBpbW1lciBtZWhyCnZvbmVpbmFuZGVyIC4uLiBadW5laG1lbmRlIERvcHBlbC1iZXJ1ZnN0YWV0aWdrZWl0IGF1ZiBkZXIKZWluZW4gU2VpdGUgdW5kIGltbWVyIHdlbmlnZXIgSW50ZXJha3Rpb24gRWx0ZXJuLUtpbmQgYXVmIGRlciBhbmRlcm4KU2VpdGUgLi4uIEJlaXNwaWVsZTogYSkgd2VsY2hlIEVsdGVybiBzcGllbGVuIG5vY2ggbWl0IElocmVuIEtpbmRlcm4/CmIpRXMgaXN0IHVudWVibGljaCBnZXdvcmRlbiwgZGFzIEtpbmRlciBhYiBlaW5lbSBiZXN0aW1tdGVuIEFsdGVyIChVTkQKaWNoIG1laW5lIG5pY2h0IDE4IDstKSkgbmljaHQgbWVociBtaXQgaWhyZW4gRWx0ZXJuIGluIFVybGF1YiBmYWhyZW4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MjogTWluZXN3ZWVwZXIgKFBpbGdyaW0sIDE0LiBNYWkgMjAwMiwgMDk6NTg6MDgpOgp+IyEgcm49Tm9ubmUgcnQ9MTAyMTM2MjUxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKPiBBcmJlaXRlc3QgRHUgYmVpbSBGYW1pbGllbm1pbmlzdGVyaXVtIG9kZXIgYmVpIGRlciBSZW50ZW5rYXNzZT8KSG1tIC4uLiBkYXJhbiBoYWIgaWNoIG5pY2h0IGdlZGFjaHQgLi4uIGFiZXIgdW5zZXJlciBWb2xrc3dpcnRzY2hhZnQKa29lbm50ZSBlcyBhdWNoIGhlbGZlbiAuLi4gZGllIGRhcnVhcyB2ZXJiZXNzZXJldGUgT2Vrb25vbWlzY2hlClNpdHVhdGlvbiAoYXVjaCBhbiBzb3ppYWxlbiBCcmVubnB1bmt0ZW4pIGtvZW5udGUgZGllIGRlcnplaXRpZ2UKU2l0dWF0aW9uIG5hdC4gZW50c2NoYWVyZmVuIDstKSAoTy5LLiwgZGFzIGlzdCB3b2hsIGV0d2FzIHdlaXQKaGVyIGdlaG9sdCkuClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxNC4gTWFpIDIwMDIsIDA5OjU4OjM2KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAyMTM2MjY5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKVGphLCBkaXZlcnNlIElkZW9sb2dpZW4gZGllIGRhcmF1ZiBoaW5hdXNsYXVmZW4gZGllIEVsdGVybiB2b24gZGVuIEtpbmRlcm4genUKdHJlbm5lbiB1bmQgbGV0enRlcmUgInplbnRyYWwiIHp1IGVyemllaGVuIGhhdHMgamEgaW1tZXIgd2llZGVyIGdlZ2ViZW4gKG5pY2h0CmVyc3QgaW4ganVlbmdlcmVyIFplaXQsIHNpZWhlIGRhcyBhbnRpa2UgU3BhcnRhKS4gTWVpbmVyIEFuc2ljaHQgbmFjaCBnaW5nIGRpZQpEaXNrdXNzaW9uIGFiZXIgZGFydW0gd2llIEVyemllaHVuZyBzZWluIHNvbGx0ZSwgbmljaHQgd2llIHNpZQpiZWRhdWVybGljaGVyd2Vpc2Ugb2Z0IGlzdC4gVW5kIHNpZSBzb2xsdGUgc28gc2VpbiBkYXNzIEludGVyYWt0aW9uIG1pdCBkZW4KRWx0ZXJuIHN0YXR0ZmluZGV0LCB1bmQgc28gZGFzcyBkaWUgS2luZGVyIGxlcm5lbiBuaWNodCBhbGxlbSwgd2FzIHZvbgpiZWxpZWJpZ2VuIEVyd2FjaHNlbmVuIGdlaHQgenUgdmVydHJhdWVuLgoKVW5kIGRhcyBtaXQgZGVyIGRvcHBlbHRlbiBWZXJuZWludW5nIHVlYmVuIHdpciBub2NobWFsLCBnZWxsPyA7LSkKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDM6IE1pbmVzd2VlcGVyIChBbmNhbGFnb24sIDE2LiBNYWkgMjAwMiwgMDA6MDA6NDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjEzNjMxMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwClRhZ2NoZW5rbnVkZGVscyEKbnVyIG1hbCBuZW4gVm9yc2NobGFnOiBLb2VubnRlIG1hbiBzaWNoIGV2ZW50dWVsbCBkYXJhdWYgZWluaWdlbiwgZGFzcyBlcwprZWluZW4gYWJzb2x1dCByaWNodGlnZW4gd2VnIGdpYnQgZWluIEtpbmQgenUgZXJ6aWVoZW4sIHNvbmRlcm4gZGFzcyBzaWNoIGRpZQpFcnppZWh1bmcgaW5kaXZpZHVlbGwgYW4gZGFzIGpld2VpbGlnZSBraW5kIHVuZCBkZXNzZW4gVW1nZWJ1bmcgb3JpZW50aWVyZW4KbXVzcy4uLi4gPz8KVW5kIGxldHp0ZW4gZW5kZXMga2FubiBtYW4gYWxzIEVsdGVybiBpbW1lciBudXIgaG9mZmVuLCBkYXNzIG1hbiBlcyBiZWkKc2VpbmVtL3NlaW5lbiBLaW5kLyBLaW5kZXJuICBoYWxid2VncyByaWNodGlnIGdlbWFjaHQgaGF0Li4uLi4KCm51ciBtYWwgc28gaW4gZGVuIFJhdW0gZ2VzZW5mdC4uLi4KCgpBbmNhbGFnb24KKHNvd29obCBLaW5kIGFscyBhdWNoIHZhdGVyIHNlaWVuZC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ0OiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxNi4gTWFpIDIwMDIsIDAwOjAyOjQ1KToKfiMhIHJuPUFuY2FsYWdvbiBydD0xMDIxNTAwMDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApVbmQgRHUgbWVpbnN0LCBkYXNzIGRlciAiYWJzb2x1dGUgV2VnIiAoYWxzbyBsZXR6dGxpY2ggZWluZSBUaGVvcmllIGRlcgpLaW5kZXNlbnR6aWVodW5nKSBuaWNodCBkaWUgSW5kaXZpZHVhbGl0YWV0IHV1bmQgVW1nZWJ1bmcgZGVzIEtpbmRlcwplaW56dXNjaGxpZXNzZW4gdmVybW9lY2h0ZT8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDU6IE1pbmVzd2VlcGVyIChBbmNhbGFnb24sIDE2LiBNYWkgMjAwMiwgMDA6MDk6MDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjE1MDAxNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCiBvb2NoLCB3ZW5uIGVzIGlobiBkZW5uIGdhZWJlLCB2aWVsbGVpY2h0IHNjaG9uLi4uLi4gYWJlciBpY2ggZ2xhdWJlIGFuIGZhc3QKZ2FyIG5peCBhYnNvbHV0ZXMuLi4uIDopCgpLbnVkZGVscwoKQW5jYWxhZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NjogTWluZXN3ZWVwZXIgKEFuY2FsYWdvbiwgMTYuIE1haSAyMDAyLCAwMDoxMjoxMSk6Cn4jISBybj1BbmNhbGFnb24gcnQ9MTAyMTUwMDU0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKbm9jaG1hbCBrbnVkZGVscy4uLgoKd2lya2xpY2ggbnVyIHJlaW4gaW50ZXJlc3NlaGFsYmVyOiB3ZXIgdm9uIGRlbiBsZXV0ZW4sIGRpZSBoaWVyIHVlYmVyCmVyemllaHVuZyBkaXNrdXRpZXJlbiBzaW5kIGVsdGVybiBvZGVyIGFlaG5saWNoIGJldHJvZmZlbj8gZGFzICBpc3QgamV0enQgZWNodApudXIgcGVyc29lbmxpY2hlIG5ldWdpZXIgdm9uIG1pci4uLgoKQW5jYWtudWRkZWxkcmFjaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ3OiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxNi4gTWFpIDIwMDIsIDAwOjE4OjMzKToKfiMhIHJuPUFuY2FsYWdvbiBydD0xMDIxNTAwNzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApBbHNvLCBpY2ggYmluIGRhdm9uIGR1cmNoYXVzIGJldHJvZmZlbi4gSWNoIGJpbiBqYWhyZWxhbmcgZXJ6b2dlbiB3b3JkZW4uCkFiZXIgaWNoIHZlcnN0ZWhlLCB3ZW5uIGljaCBtaWNoIGhpZXIgc28gdW1ndWNrZSwgd2llIER1IGF1ZiBkaWUgRnJhZ2Uga29tbXN0Cm9iIGRpZSBMZXV0ZSB2b24gRXJ6aWVodW5nIGJldHJvZmZlbiBzaW5kLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ4OiBNaW5lc3dlZXBlciAoQW5jYWxhZ29uLCAxNi4gTWFpIDIwMDIsIDAwOjIwOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxNTAxMTEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApzby4gamV0enQgaXN0cyBwYXNzaWVydC4gR3JpbW1ib3JuIHZlcnN0ZWh0IG1pY2ghIG11c3MgaWNoIG1pY2ggamV0enQKc2VsYnN0bG9lc2NoZW4/CgpBbmNhCihhY2gsIHZlcmxlZ3MgZWluZmFjaC4uLiA6UAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDk6IE1pbmVzd2VlcGVyIChBbmNhbGFnb24sIDE2LiBNYWkgMjAwMiwgMDA6MjE6NTYpOgp+IyEgcm49QW5jYWxhZ29uIHJ0PTEwMjE1MDEyNTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCmljaCBtdXNzIGRhIG5vY2ggZWluZSBrbGFtbWVyIGJlZW5kZW4uLi4uCgogICAgICAgICApCgpGZXJ0aWchIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MDogTWluZXN3ZWVwZXIgKEdyaW1tYm9ybiwgMTYuIE1haSAyMDAyLCAwMDoyNDo1Nik6Cn4jISBybj1BbmNhbGFnb24gcnQ9MTAyMTUwMTMxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKTmVpbiwgRHUgbXVzc3QgbmljaHQgZWluZSBLbGFtbWVyIGJlZW5kZW4sIHNvbmRlcm4gZGFzIFBhc3N3b3J0IGVpbmdlYmVuLgpTb25zdCBrbGFwcHQgZGFzIG1pdCBkZXIgU2VsYnN0bG9lc2NodW5nIG5pY2h0Li4uCgpEZW4gZ3JvZXNzdGVuIEtvbnRha3QsIGF1c3NlciBlaW5lbSBlaGVyIGFsbGdlbWVpbmVuIGR1cmNoIE9mZmVuZSBBdWdlbiwgenUKYWt0aXZlciBFcnppZWh1bmcsIGhhYmUgaWNoIGFsbGVyZGluZ3MgbWl0YmVrb21tZW4gZHVyY2ggZWluZSB2aWVyZWluaGFsYgpKYWhyZSBqdWVuZ2VyZSBTY2h3ZXN0ZXIsIGRpZSBpY2ggc2VociBlcmZvbGdyZWljaCBtaXQgZXJ6b2dlbiBoYWJlLgpVZWJlcnJhc2NoZW5kZXJ3ZWlzZSBpc3QgYXVzIGlociBkZW5ub2NoIHdhcyBhbnN0YWVuZGlnZXMgZ2V3b3JkZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUxOiBNaW5lc3dlZXBlciAoQW5jYWxhZ29uLCAxNi4gTWFpIDIwMDIsIDAwOjI2OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxNTAxNDk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApkYXMga2FubiBpY2ggdG9wcGVuOiBtZWluIGJydWRlciB1bmQgaWNoIGhhYmVuIHVuc2VyZSA5IGJ6dyA3IGphaHJlIGp1ZW5nZXJlClNjaHdlc3RlciBzbyBlcmZvbGdyZWljaCBlcnpvZ2VuLCBkYXNzIHNpZSBkZW1uYWVjaHN0IGVpbmVuIEtlcmwgaW4gbWVpbmVtCkFsdGVyIGhlaXJhdGVuIHdpbGwuLi4uCgpBbmNhbGFnb24gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40ODogTWluZXN3ZWVwZXIgKEVsYmVyZXQsIDE2LiBNYWkgMjAwMiwgMDA6Mjc6MDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjE1MDExMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIwMTYwODcwCmFsc28gaWNoIGJpbiBuaWNodCBWYXRlciBudXIgT25rZWwgdW5kIGJla29tbSBkYSBuZSBnYW56ZSBNZW5nZSBtaXQuIEFiZXIKbmF0dWVybGljaCBuaWNodCBzbyBndXQgd2llIGFscyBFbHRlcm50ZWlsLiBVbmQgZWhybGljaGdlc2FndCBoYWx0ZSBpY2gKZXJ6b2dlbndvcmRlbiB6dSBzZWluIGZ1ZXIga2VpbmUgYmVzb25kZXJlIFF1YWxpZmlrYXRpb24gaW4gZGllc2VtClp1c2FtbWVuaGFuZy4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ5OiBNaW5lc3dlZXBlciAoQW5jYWxhZ29uLCAxNi4gTWFpIDIwMDIsIDAwOjI4OjMwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyMTUwMTYyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKbmFqYSBtYW4gd2Vpc3MgZGFubiBtZWlzdGVucyB6aWVtbGljaCBnZW5hdSwgd2FzIG1hbiBhbiBkZXIgZXJ6aWVodW5nIGFuZGVycwp3dWVyZGUgbWFjaGVuIHdvbGxlbi4uLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUwOiBNaW5lc3dlZXBlciAoR3JpbW1ib3JuLCAxNi4gTWFpIDIwMDIsIDAwOjMwOjQ1KToKfiMhIHJuPUFuY2FsYWdvbiBydD0xMDIxNTAxNzEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApIbW0sIGRhcyB3ZWlzcyBtYW4gbWl0IDE1IGFiZXIgd2VzZW50bGljaCBiZXNzZXIgYWxzIG1pdCAzMC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTE6IE1pbmVzd2VlcGVyIChFbGJlcmV0LCAxNi4gTWFpIDIwMDIsIDAwOjMxOjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDIxNTAxODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MAptaXQgMTUgd2Vpc3MgbWFuIGVoIGFsbGVzIGJlc3NlcgoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTI6IE1pbmVzd2VlcGVyIChHcmltbWJvcm4sIDE2LiBNYWkgMjAwMiwgMDk6MjU6MDApOgp+IyEgcm49RWxiZXJldCBydD0xMDIxNTAxODk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMDE2MDg3MApJY2ggbXVzcyBkYW5uIGRvY2ggbm9jaG1hbCB3YXMgenVyIEtpbmRlc2VyemllaHVuZyBzYWdlbiwgbWl0IGZyaXNjaGVyCkVyZmFocnVuZy4gSWNoIGJpbiBoZXV0ZSBtb3JnZW4gaW4gZGVyIFMtQmFobiBlaW5lIGhhbGJlIFN0dW5kZSBsYW5nIGVpbmVyCihiZW11ZWh0ZW4sIGFiZXIgbWFjaHRsb3NlbikgTXV0dGVyIHVuZCB6d2VpIEtpbmRlcm4gaW0gS2luZGVyZ2FydGVuLSB1bmQKVm9ya2luZGVyZ2FydGVuYWx0ZXIgYXVzZ2VzZXR6dCBnZXdlc2VuLiBEaWUgd2FyZW4gbmljaHRtYWwgYmVzb25kZXJzCmJvZXN3aWxsaWcsIHNvbmRlcm4gZWluZmFjaCBudXIgZXh0cmVtIG5lcnZpZy4gVW5kIGljaCBiaW4genUgZGVyIFVlYmVyemV1Z3VuZwpnZWxhbmd0IGRhc3MgZGFzLCB3YXMgaW4gZGVyIEVyemllaHVuZyBhbSBub2V0aWdzdGVuIGZlaGx0LCBLZXR0ZW5zYWVnZW4sClZvcnNjaGxhZ2hhZW1tZXIgdW5kIEZsYW1tZW53ZXJmZXIgc2luZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDk6IE1pbmVzd2VlcGVyIChQaWxncmltLCAxNi4gTWFpIDIwMDIsIDE0OjIzOjU3KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyMTUwMTYyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKPiBVbmQgZWhybGljaGdlc2FndCBoYWx0ZSBpY2gKPiBlcnpvZ2Vud29yZGVuIHp1IHNlaW4gZnVlciBrZWluZSBiZXNvbmRlcmUgUXVhbGlmaWthdGlvbiBpbiBkaWVzZW0KPiBadXNhbW1lbmhhbmcuPiBFbGJpCgpJc3QgYWJlciBkaWUgUXVhbGlmaWthdGlvbiwgbWl0IGRlciBqZWRlcyBmcmlzY2hnZWJhY2tlbmVuIEVsdGVybnBhYXIgc3RhcnRlZAo7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUwOiBNaW5lc3dlZXBlciAoQmVuZGVpZ2lkLCAgMi4gSnVuIDIwMDIsIDE5OjQ1OjM2KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAyMTU1MTgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKSG0sIGVpbmUgbWlyIG5haGVzdGVoZW5kZSBQZXJzb24gc2FndGUgbWFsIHp1bSBUaGVtYSBLaW5kZXJlcnppZWh1bmcsIGRhc3MgZXMKYXVmIGVpbiBwYWFyIHRhdXNlbmQgRmVobGVyIG5pY2h0IGFua2FlbWUuIApEZXIgV2lsbGUgc2VpIHdpY2h0aWcuLi4KCkxhc3NlbiB3aXIgZGFzIG1hbCBzbyBzdGVoZW4uLi4gQmVuZGVpZ2lkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MTogTWluZXN3ZWVwZXIgKEN1Y2h1bGxpbiwgIDIuIEp1biAyMDAyLCAxOTo1ODozNik6Cn4jISBybj1CZW5kZWlnaWQgcnQ9MTAyMzAzOTkzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjAxNjA4NzAKV2FyIGRhcyBEZWluZSBNYW1pPyA6KQoKKmhhYXJndW1taWtsYXUqCipzY2hsZWlmY2hlbnJlaW5iaW5kKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZCB2ZXJtYXJrdGVuPyAoTW9udGFudXMsICA0LiBKdW4gMjAwMiwgMjI6NDU6MjgpOgpOZWluLCBlcyBnZWh0IG5pY2h0IHVtIEJhbm5lciB1bmQgYWVobmxpY2hlcy4gU29uZGVybiB1bSBmb2xnZW5kZXM6CldpemFyZHMgc3VjaHQgbmFjaCBlaW5lciBuZXVlbiBGYW50YXN5d2VsdCwgYWVobmxpY2ggRHJhZ29ubGFuY2UgdW5kIEZvcmdvdHRlbgpSZWFsbXMuClVuZCBmdWVyIGRpZSBiZXN0ZW4gSWRlZW4gZ2lidHMgcmljaHRpZyBLb2hsZS4KTnVuIGV4aXN0aWVydCBoaWVyIGVpbmUgc2ljaCB1ZWJlciBlaW4gSmFocnplaG50IGVudHdpY2tlbHRlIEZhbnRhc3l3ZWx0LiBNYW4KbXVlc3N0ZSBudXIgbm9jaCBhbGxlcyB6dXNhbW1lbmZhc3NlbiB1bmQgZWluc2VuZGVuLgpEaWUgYmVzdGVuIGRyZWkgRW50d3VlcmZlIGVyaGFsdGVuIHJpY2h0aWcgZmV0dCBLb2hsZTogendpc2NoZW4gMTAuMDAwIHVuZAoxMDAuMDAwIFVTLURvbGxhci4KRGFzIGtvZW5udGUgZWluIE11ZCB1ZWJlciBkaWVzZXMgSmFocnRhdXNlbmQgcmV0dGVuLgoKTGFzc3QgZXVjaCBkYXMgbWFsIGR1cmNoIGRlbiBLb3BmIGdlaGVuLCBpY2ggcG9zdGUgbWFsIGRlbiBBbmZhbmcgZGVzCkF1c2hhbmdzOgoKUFJPUE9TQUxTIEZPUiBBIE5FVyBGQU5UQVNZIFNFVFRJTkcKV2l6YXJkcyBvZiB0aGUgQ29hc3QsIEluYy4gaXMgc2VhcmNoaW5nIGZvciBwcm9wb3NhbHMgZm9yIGEgbmV3IGZhbnRhc3kKc2V0dGluZyAoRmFudGFzeSBTZXR0aW5nIFNlYXJjaCkuIFN1Y2ggYSBzZXR0aW5nIG1heSBzZXJ2ZSBhcyBhIHZlaGljbGUgZm9yCm5vdmVscywgcm9sZXBsYXlpbmcgZ2FtZXMsIGNhcmQgZ2FtZXMsIG1pbmlhdHVyZXMsIGFuZCBvdGhlciBlbnRlcnRhaW5tZW50CnByb2R1Y3RzLiAgSW4gc2NvcGUgYW5kIGZsYXZvcgosIHlvdXIgcHJvcG9zZWQgZmFudGFzeSBzZXR0aW5nIHNob3VsZCBiZSBzaW1pbGFyIHRvIG91ciBleGlzdGluZyBzZXR0aW5ncywKcGFydGljdWxhcmx5IEZvcmdvdHRlbiBSZWFsbXMgYW5kIERyYWdvbmxhbmNlLiAKClRIRSBQUk9DRVNTCgpJbml0aWFsIE9uZSAoMSkgUGFnZSBQcm9wb3NhbHMgCkFsbCBQcm9wb3NhbHMgbXVzdCAxKSBiZSBjb3ZlcmVkIHdpdGggYSBzaWduZWQsIHVubW9kaWZpZWQgY29weSBvZiB0aGUgSWRlYQpTdWJtaXNzaW9uIEFncmVlbWVudCwgMikgaW5jbHVkZSBhbiBhY2NvbXBhbnlpbmcgY292ZXIgbGV0dGVyIHdpdGggY29udGFjdAppbmZvcm1hdGlvbiwgYW5kIDMpIGJlIHN0cnVjdHVyZWQgaW4gYWNjb3JkIHdpdGggdGhlIGF0dGFjaGVkIHRlbXBsYXRlLiAgCkluaXRpYWwgcHJvcG9zYWxzIHNoYWxsIGJlIG5vIG1vcmUgdGhhbiBvbmUgKDEpIHBhZ2UgaW4gbGVuZ3RoLiAgQXQgdGhpcwpzdGFnZSwgbG9uZ2VyIHByb3Bvc2FscyBvciBwcm9wb3NhbHMgbm90IG1lZXRpbmcgYW55IG9mIHRoZXNlIHJlcXVpcmVtZW50cwp3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVqZWN0ZWQuIApBbGwgb25lIHBhZ2Ugc3VibWlzc2lvbnMgdGhhdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgd2lsbCBiZSByZXZpZXdlZCBibGluZGx5CmJ5IGEgcGFuZWwgb2YgV2l6YXJkcyBleHBlcnRzLiAgCgpBbGwgcHJvcG9zYWxzIG11c3QgYmUgcG9zdG1hcmtlZCBubyBsYXRlciB0aGFuIEp1bmUgMjEsIDIwMDIuICBUaGUgcGFuZWwgd2lsbAp0aGVuIHNlbGVjdCB1cCB0byB0ZW4gZW50cmllcywgd2hvIHdpbGwgYmUgcmVxdWVzdGVkIHRvIHN1Ym1pdCBhIHRlbi1wYWdlCnRyZWF0bWVudC4gIFdlIHdpbGwgbm90aWZ5IHRob3NlIGVudHJhbnRzIHdobyBoYXZlIGJlZW4gc2VsZWN0ZWQgZm9yIHRoZQpzZWNvbmQgc3RhZ2Ugb2YgdGhlIHByb3Bvc2FsIApwcm9jZXNzIG5vIGxhdGVyIHRoYW4gSnVseSAzLCAyMDAyLiAgClBsZWFzZSBub3RlIHRoYXQgdGhlIEZhbnRhc3kgU2V0dGluZyBTZWFyY2ggaXMgYXZhaWxhYmxlIG9ubHkgdG8gaW5kaXZpZHVhbHMKZWlnaHRlZW4gKDE4KSB5ZWFycyBvZiBhZ2UgYW5kIG9sZGVyLiAgCklmIHlvdSBhcmUgdW5kZXIgdGhlIGFnZSBvZiBlaWdodGVlbiAoMTgpLCB5b3VyIHBhcmVudCBvciBndWFyZGlhbiBtdXN0CmNvbXBsZXRlIHRoZSBJZGVhIFN1Ym1pc3Npb24gQWdyZWVtZW50LCBpbiB3aGljaCBjYXNlIHRoZSBwYXJlbnQgb3IgZ3VhcmRpYW4Kd2lsbCB0YWtlIGZ1bGwgcmVzcG9uc2liaWxpdHkgZm9yIGFsbCBvYmxpZ2F0aW9ucyB1bmRlciB0aGUgQWdyZWVtZW50LiAgCgouLi4gdW5kIHNvIHdlaXRlci4gSW4gZGVyIHp3ZWl0ZW4gUlVuZGUgd2VyZGVuIGRhbm4gdm9uIDEwIGF1ZiAzIGdlc2llYnQsIHVuZApkaWUga3JpZWdlbiBzY2hvbiBLb2hsZS4KCkluZm9zIGRhenUgZGVtbmFlY2hzdCBhdWYgZGVyIFdpemFyZHMtSG9tZXBnYWUgb2RlcmJlaSBtaXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkIHZlcm1hcmt0ZW4/IChHbG9pbnNvbiwgIDUuIEp1biAyMDAyLCAwODoxMzowMCk6Cn4jISBybj1Nb250YW51cyBydD0xMDIzMjIzNTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApJY2ggYmVmdWVyY2h0ZSB3aXIgc2luZCBkYXp1IGVpbmVyc2VpdHMgKEpvZiBzZWkgZGFuaykgenUgaW5ob21vZ2VuIHVuZApuZGVyZXJzZWl0cyBvZnQgbmljaHQgb3JpZ2luYWVyIHJlaW4gbW9yZ2VuZ3JhdWlzY2ggZ2VudWcuIE1hbiBrb2VubnRlIFRlaWxlCmRlcyBNRyB2b3J6ZWlnZW4sIGFiZXIgZGFzIE1HIGFuIHNpY2ggaXN0IElNTyBlaGVyIGVpbiBTYW1tZWxzdXJpdW0gdm9uIElkZWVuCmZ1ZXIgamVkZXJtYW5ucyBHZXNjaG1hY2suCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZCB2ZXJtYXJrdGVuPyAoTWFuZHJhZ29uLCAgNS4gSnVuIDIwMDIsIDA4OjE0OjUyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjMyNTc1ODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4Ci4uLi4gYWxzbyBnZW5hdSBkYXMgcmljaHRpZ2UgZnVlciBXb3RDIDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZCB2ZXJtYXJrdGVuPyAoUGF0cnluLCAgNS4gSnVuIDIwMDIsIDExOjM4OjE3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjMyMjM1Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CmZ1ZXIgbGV1dGUgbWl0IHNwYXNzIGRyYW4gd2FzIG5ldHRlcywKYWJlciBkYXMgbWcgbWl0IGVpbmVtIGtvbnplcHQgenUga2Fwc2VsbgogKHdhcyBzY2hvbiB6aWVtbGljaCBzY2h3aWVyaWcgc2VpbiBkdWVyZnRlKQp1bmQgZGFzIGF1Y2ggbm9jaCBmdWVyIGVpbmUgYnVjaHJlaWhlIG9kZXIgc28KaW50ZXJlc3NhbnQgenUgbWFjaGVuLi4ubmEgamEsCm5ldSBzY2hyZWliZW4gaXN0IGxlaWNodGVyIDopCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZCB2ZXJtYXJrdGVuPyAoU2FuZ28sICA1LiBKdW4gMjAwMiwgMTE6Mzk6NDYpOgp+IyEgcm49UGF0cnluIHJ0PTEwMjMyNjk4OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CkhhdCBkYXMgTUcgdWViZXJoYXVwdCBlaW4gS29uemVwdCA/CgpTYW5nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVkIHZlcm1hcmt0ZW4/IChNYW5kcmFnb24sICA1LiBKdW4gMjAwMiwgMTE6NDQ6NDgpOgp+IyEgcm49U2FuZ28gcnQ9MTAyMzI2OTk4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKU3BpZWwsIFNwYXNzIHVuZCBTcGFubnVuZy4KRGFzIHVudGVyc2NoZWlkZXQgdW5zIGFsbGVyZGluZ3MgbmljaHQgd2VzZW50bGljaCB2b24gZWluZW0KVWViZXJyYXNjaHVuZ3NlaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZCB2ZXJtYXJrdGVuPyAoU2FuZ28sICA1LiBKdW4gMjAwMiwgMTE6NTA6MDgpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMjMyNzAyODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CkljaCBkYWNodGUgaW1tZXIgVUUtRWllciB3YWVyZW4gYXVzIFNjaG9rb2xhZGUuIEdpYnRzIGRpZSBudW4gc2Nob24gYWxzIFBpenphCj8KCkhtLCBuYWphLCBqZWRlbmZhbGxzIGRlbmsgaWNoIG1pdCBldHdhcyBnZXNjaHJlaWJzZWwga29lbm50ZSBtYW4gYXVzIGRlbSBNRwpzY2hvbiBlaW5lIGJyYXVoY2JhcmUgUCZQLUhpbnRlcmd1bmR3ZWx0IGJhc3RlbG4uIERpZSBmcmFnZSBpc3Qgd2lldmllbCBtYW4KZGFubiBhbmdsZWljaGVuIHVuZCB1bWFlbmRlcm4gZGFyZi4uLgoKU2FuZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE11ZCB2ZXJtYXJrdGVuPyAoQm9pbmcsICA1LiBKdW4gMjAwMiwgMTE6NTU6NDQpOgp+IyEgcm49U2FuZ28gcnQ9MTAyMzI3MDYwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKRGFzIE1HIGVpZ25ldCBzaWNoIG1laW5lciBNZWludW5nIG5hY2gga2VpbiBiaXNzY2hlbiBmdWVyIHNvd2FzLiBEYXp1CmJlZGFyZiBlcyBuYWVtbGljaCBlaW5lcyBkdXJjaGdhZW5naWdlbiBLb256ZXB0ZXMgdW5kIGRhcyBmZWhsdCBrb21wbGV0dC4KRGFzIGVpbnppZ2Ugd2FzIHdpciBldnRsLiBhbHMgS29uemVwdCBoYWJlbiBpc3QgZGllIEVpbnRlaWx1bmcgaW4gClJlZ2lvbmVuIHVuZCBkYXNzIGVzIGdyb2IgZmFudGFzeS1tYWVzc2lnIHNlaW4gc29sbCAodW5kIGF1Y2ggZGEgZ2lidHMKZWluIHBhYXIgQXVzcmVpc3NlcikuIERhcyBNRyBpc3QgZWluZSBTYW1tbHVuZyB2b24gRWluemVsaWRlZW4gZGllIGtlaW5lbgpnZW1laW5zYW1lbiBIaW50ZXJncnVuZCBoYWJlbi4KCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZCB2ZXJtYXJrdGVuPyAoR2xvaW5zb24sICA1LiBKdW4gMjAwMiwgMTI6MDA6NDMpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyMzI3MDk0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKVW5kIGRhcyBtYWNodCBNRyBzbyBlcmZvbGdyZWljaC4gTnVyIGViZW4gbmljaHQgYWxzIFAmUC4gTWFuIHN0ZWxsZSBzaWNoOiAiSG0sCmhpZXIgbXVzcyBpY2ggamV0enQgZGllIEVNLUFid2VydHVuZ3MtSW50ZXJ2ZW50aW9uc3JlZ2VsIiBhbndlbmRlbiB2b3IuIEJlaQpuYWVoZXJlciBCZXRyYWNodHVuZyBrb2VubnRlbiB3aXIgTUctUCZQLU1hc3RlciBzb2ZvcnQgYWxzIFNoZXJpZmYgb2RlcgpCYWxhbmNpZXJlciBlaW5zdGVsbGVuLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTXVkIHZlcm1hcmt0ZW4/IChTYW5nbywgIDUuIEp1biAyMDAyLCAxMjowNToxMCk6Cn4jISBybj1Cb2luZyBydD0xMDIzMjcwOTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApLb256ZXB0ZSBzb2xsdGUgbWFuIGF1Y2ggbmljaHQgdWViZXJiZXdlcnRlbi4gUHJpbWFlciBnZWh0IGVzIGphIHVtIGVpbmUKRmFudGFzeS1XZWx0IHVuZCBkYXMgaXN0IGRhcyBNRyB6d2VpZmVsbG9zLgpEYXMgc2Nod2Vyd2llZ2VuZGVyZSBQcm9ibGVtIGlzdCBlaW5mYWNoIGRpZSBkYXMgdmllbGVzIGF1cyBkZW0gTUcgYXVjaCBzY2hvbgpiZWkgRCZEIHZvcmtvbW10LiAKClNhbmdvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNdWQgdmVybWFya3Rlbj8gKEN1Y2h1bGxpbiwgIDUuIEp1biAyMDAyLCAxMjowOToxMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDIzMjcxMjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOAo+IFVuZCBkYXMgbWFjaHQgTUcgc28gZXJmb2xncmVpY2guCgpJY2ggaGFldHRlIGRhcyBnZXJuIGJld2llc2VuLCB6dW1pbmRlc3QgYWJlciBlcmxhZXV0ZXJ0LgoKQ3VjaCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZCB2ZXJtYXJrdGVuPyAoR29yLCAgNS4gSnVuIDIwMDIsIDEyOjEyOjE5KToKfiMhIHJuPVNhbmdvIHJ0PTEwMjMyNjk5ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4Ck5laW4gaGF0IGVzIG5pY2h0LCB1bmQgZ2VuYXUgZGFzIGlzdCBkYXMgcmVpdHp2b2xsZSBkYXJhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE11ZCB2ZXJtYXJrdGVuPyAoR2xvaW5zb24sICA1LiBKdW4gMjAwMiwgMTI6NDU6MjEpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjMyNzE3NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4Ckt1cnpmYXNzdW5nOiBIaWVyIGthbm4gZmFzdCBqZWRlciBnbHVlY2tsaWNoIHdlcmRlbiwgR2ViaWV0ZS9BdWZnYWJlbi9TcGllbGUKZmluZGVuIGRpZSBpaG4gZ2x1ZWNrbGljaCBtYWNoZW4uIFdlbSBlcyB6dSBicmVpdCBnZWZhZWNoZXJ0IGlzdCwgZGVyIHdpcmQKc29nYXIgZGFtaXQgZ2x1ZWNrbGljaCBzaWNoIGRhcnVlYmVyIGdlbGVnZW50bGljaCBpbiBkZXIgTVBBIGJlc2Nod2VyZW4genUKa29lbm5lbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE11ZCB2ZXJtYXJrdGVuPyAoQ3VjaHVsbGluLCAgNS4gSnVuIDIwMDIsIDEyOjQ5OjE0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjMyNzM5MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CkR1IGhhc3QgbWVpbmVyIE1laW51bmcgbmFjaCBlaW5lIHNlaHIgYmVzY2hyYWVua3RlIFdlbHRzaWNodCwgd2VubiBEdQpkZW4gRXJmb2xnIGRlcyBNb3JnZW5ncmF1ZW5zIGFsbGVpbiBhdWYgZGllIFJhaG1lbmxvc2lna2VpdCBkZXMgU3BpZWwtCmtvbnplcHRlcyB6dXJ1ZWNrZnVlaHJzdC4gQWJlciBiaXR0ZSwgamVkZW0gZGFzIHNlaW5lLiBVbmQgd2VyIHdlaXNzLAp2aWVsbGVpY2h0IGhhc3QgRHUgc29nYXIgcmVjaHQuIEF1Y2ggd2VubiBpY2ggZXMgbmljaHQgZnVlciB3YWhyc2NoZWlubGljaApoYWx0ZS4KCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNdWQgdmVybWFya3Rlbj8gKEdub21lLCAgNS4gSnVuIDIwMDIsIDE0OjI5OjQ4KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDIzMjc0MTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOAp3ZW5uIG1hbiBtYWwgYWxzIGVyZm9sZ3Nrcml0ZXJpdW0gZGllIGFuemFobCBkZXIgc3BpZWxlci9yYWV1bWUvcXVlc3RzCm5pbW10LCBzb2xsdGUgZXMgbGVpY2h0IHNlaW4sIGRpZXNlIGF1c3NhZ2UgenUgYmV3ZWlzZW4uCm9kZXIgdWViZXJmbHVlZ2VsdCB1bnMgaXJnZW5kZWluIGRldXRzY2hlcyBtdWQgaW4gZGllc2VuIHB1bmt0ZW4/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZCB2ZXJtYXJrdGVuPyAoU2FuZ28sICA1LiBKdW4gMjAwMiwgMTQ6Mzc6NTEpOgp+IyEgcm49R25vbWUgcnQ9MTAyMzI4MDE4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKRGllIEZyYWdlIGlzdCBvYiBkYXMgZGFubiBhbSBLb256ZXB0IGxpZWd0IChiencuIGRlc3NlbiBuaWNodGV4aXN0ZW56KS4KClNhbmdvLCBkaWUgbWVpbnQgZGFzIGRlcmFydGlnZSBTcGVrdWxhdGlvbmVuIHp1IGtvbXBsZXggc2luZCB1bSBzaWUgbG9lc2VuIHp1CmtvZW5uZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNdWQgdmVybWFya3Rlbj8gKEdub21lLCAgNS4gSnVuIDIwMDIsIDE0OjQ2OjEyKToKfiMhIHJuPVNhbmdvIHJ0PTEwMjMyODA2NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CmFuIHdhcyBzb25zdD8Kd2VubiBpY2ggbWlyIGFuZGVyZSBtdWRzIGFuZ3Vja2UsIHdvIGVzIHouQi4gbmFtZW5zYmVzY2hyYWVua3VuZ2VuIGdpYnQsCndvIGRlciBzcGllbGVyIGh1bmdlciB1bmQgZHVyc3QgbGVpZGV0LCBkaWUgbWFnaWVyIGJlc2NocmFlbmt0IHdlcmRlbiwKJ2ZhbnRhc3ktdGF1Z2xpY2gnIHp1IHByb2dnZW4sIHdpcmQgbWlyIGtsYXIsIGRhc3MgaWNoIGRhcyBNRyBsaWViZSwKd2VpbCBoaWVyIGplZGVyIChzcGllbGVyIHVuZCBtYWdpZXIpIGF1ZiBzZWluZSB3ZWlzZSAnZ2x1ZWNrbGljaCcKd2VyZGVuIGthbm4uIGFuZGVyZSBtb2VnZW4gZGFzIGFuZGVycyBzZWhlbiwga2xhci4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTXVkIHZlcm1hcmt0ZW4/IChTYW5nbywgIDUuIEp1biAyMDAyLCAxNDo1Mjo0OSk6Cn4jISBybj1Hbm9tZSBydD0xMDIzMjgxMTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApOYSBkdSBzYWdzdCBlcyBkb2NoIHNjaG9uIHNlbGJzdCwgZGllc2VzIE11ZHMgbGVpZGVuIGRhbm4gdW50ZXIKdWViZXJrb256ZXB0aW9uIDspCkFiZXIgZGFzIHRyaWZmdCBqYSBiZWlsZWliZSBuaWNodCBhdWYgYWxsZSB6dS4gRGllIG1laXN0ZW4gTXVkcyBoZXV0ZSBzaW5kCndvaGwgZWluZmFjaCBuY2lodCBlcmZvbGdyZWljaCB3ZWdlbiBkZXIgR3Jvc3NlbiBLb25rdXJyZW56IHVuZCBkZXIgZ2VyaW5nZW4KR3JvZXNzZS4KClNhbmdvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTXVkIHZlcm1hcmt0ZW4/IChXb29keSwgIDUuIEp1biAyMDAyLCAxNjoyNzo1Mik6Cn4jISBybj1TYW5nbyBydD0xMDIzMjgxNTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApFcyBnaWJ0IERpbmdlLCBkaWUgbWFuIGZhbHNjaCBtYWNoZW4ga2FubiwgZGllIHZlcmhpbmRlcm4sIGRhc3MgZWluCk11ZCBncm9zcyB3aXJkLiBBYmVyIHNlbGJzdCB3ZW5uIG1hbiBhbGxlcyBlaW5pZ2VybWFzc2VuIHJpY2h0aWcKbWFjaHQsIGhlaXNzdCBkYXMgbmljaHQsIGRhc3MgZWluIE11ZCBhdXRvbWF0aXNjaCAiZHVyY2hzdGFydGV0Ii4KRXMga29tbXQgc2VociB2aWVsIGF1ZiBkYXMgcmljaHRpZ2UgVGltaW5nLCBkYXMgWnVzYW1tZW5rb21tZW4gZGVyCnJpY2h0aWdlbiBMZXV0ZSwgdW5kIGVpbmUgQXJ0IEZ1bmtlLCBkZXIgdWViZXJzcHJpbmd0LCBhbiwga3VyenVtOgphdWNoIGVpbmUgUG9ydGlvbiBHbHVlY2sgKG9kZXIgU2NoaWNrc2FsLCB3ZW5uIG1hbiBlcyBuaWNodCBnYW56IHNvCnJvc2Egc2VoZW4gbWFnKS4KCgpqdXN0IG15IGxvbmcgdGVybSBleHBlcmllbmNlIG9waW5pb24gOikKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTXVkIHZlcm1hcmt0ZW4/IChNb250YW51cywgIDUuIEp1biAyMDAyLCAxNjozNTo0Mik6Cn4jISBybj1Xb29keSBydD0xMDIzMjg3MjcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApHdWNrdCBldWNoIG1hbCBkaWVzZSBQdW5rdGUgZHVyY2ggLSBpY2ggYmluIGRlciBNZWludW5nLCBkYXNzIGRhcyBNRyBkYSBzY2hvbgpiZWkgZmFzdCBhbGxlbiBndXQgc2NvcmVuIGtvZW5udGU6CgoxLglDb3JlIEV0aG9zIFNlbnRlbmNlLiBbQSBzZW50ZW5jZSB0aGF0IGRlc2NyaWJlcyB0aGUgY29yZSBldGhvcyBvZiB0aGUKd29ybGQuIEZvciBleGFtcGxlLCBGb3Jnb3R0ZW4gUmVhbG1zIGlzIGEgd29ybGQgb2Ygc3dvcmQtYW5kLXNvcmNlcnkKYWR2ZW50dXJlLCB3aGVyZSBoZXJvZXMgYmF0dGxlIG1vbnN0ZXJzIHdpdGggbWFnaWMuXQoyLglXaG8gYXJlIHRoZSBoZXJvZXM/IFtCcmllZiBkZXNjcmlwdGlvbiBvZiBoZXJvZXMgY2VudHJhbCB0byB0aGUgc2V0dGluZy4KVGhpcyBuZWVkIG5vdCBiZSBhIGNvbXByZWhlbnNpdmUgbGlzdC5dCjMuCVdoYXQgZG8gdGhleSBkbz8gW1doYXQgYXJlIHRoZSBtYWluIG9iamVjdGl2ZXMgb2YgdGhlIGhlcm9lcywgYW5kIHdoYXQKc3RlcHMgZG8gdGhleSB0YWtlIHRvIGFjaGlldmUgdGhvc2Ugb2JqZWN0aXZlcz9dCjQuCVRocmVhdHMsIENvbmZsaWN0cywgVmlsbGFpbnMgIFtXaGF0IGlzIHRoZSBtYWluIGRhbmdlciB0byB0aGUgd29ybGQsIGFuZApmcm9tIHdob20gZG9lcyBpdCBjb21lP10KNS4JTmF0dXJlIG9mIG1hZ2ljIFtXaGF0IGlzIHRoZSBzb3VyY2Ugb2YgbWFnaWM/IEhvdyBhYnVuZGFudC9zY2FyY2UgaXMgaXQ/XQo2LglXaGF0cyBuZXc/IFdoYXRzIGRpZmZlcmVudD8gW1doYXQgbWFrZXMgdGhpcyBzZXR0aW5nIHVuaXF1ZT9dCgpCZWkgUHVua3QgMiBrb2VubnRlbiBlaW5pZ2UgUnVobSBhdWYgTGViZW5zemVpdCBlcmhhbHRlbi4gOy0pCkVybnN0aGFmdDogbmF0dWVybGljaCB3dWVyZGUgZWluZSAxLXp1LTEtVW1zZXR6dW5nIG5pZSBnZWhlbi4gQWJlciB2b20KSGF1cHRrb256ZXB0OiBSZWdpb25lbiBtaXQgZWluZW0gbWFlY2h0aWdzdGVuIE1hZ2llci9BdmF0YXIsIHV0bmVyc3R1ZXR6dCB2b24KZWluZW0gUmF0IGRlciBXZWlzZW4gKHJlZ2lvbnNtaXRhcmJlaXRlciksIGltIHN0YWVuZGlnZW4gQmVtdWVoZW4sIGRpZSBCYWxhbmNlCnp3aXNjaGVuIGd1dCB1bmQgYm9lc2UgenUgCmJld2FocmVuLCBkYXp1IGRpZSBtYWVjaHRpZ2VuIEdJbGRlbiBhbHMgR2VnZW5nZXdpY2h0LCBkaWUgZ2VnZW5laW5hbmRlciB1bQpkaWUgTWFjaHQga2FlbXBmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTXVkIHZlcm1hcmt0ZW4/IChSYWlubWFuLCAgNS4gSnVuIDIwMDIsIDE2OjM3OjUyKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjMyODc3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CmRvY2ggZWluIHBrLW11ZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBNdWQgdmVybWFya3Rlbj8gKEh1bW5pLCAgNS4gSnVuIDIwMDIsIDE2OjQ1OjA3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwMjMyODc3NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4Ck5hdHVyZSBPZiBNYWdpYz8gSWNoIGRlbmtlLCBkYWJlaSBkZW5rZW4gZGllIExldXRlIGFuIGVpbiBrbHVnZXMsIGR1cmNoZGFjaHRlcwpTeXN0ZW0sIHdpZSBpY2ggKGljaCB3ZWlzcywgdmllbGUgbW9lZ2VuIGlobiBuaWNodCkgei5CLiBTYWx2YXRvcmUncwpFZGVsc3RlaW5tYWdpZSBpbiBkZW0gRGFlbW9uZW5kYWVtbWVydW5nLVp5a2x1cyBzZWhyIGdlbHVuZ2VuIGZpbmRlLiBIaWVyIGdpYnQKZXMgZWluIHBhYXIgSWRlZW4gaW4gZWluaWdlbiBHaWxkZW4sIGFiZXIgZGVuIEJpZXJzY2h1ZXR0bGVybiAoZGllIGljaCBuaWNodHMKZGVzdHNvIHRyb3R6IG5hY2ggd2llIHZvciBzZWhyIGdlcm5lIG1hZyB1bmQgYXVjaCBuaWNodCBtaXNzZW4gd2lsbCEpIHouQi4KZWluZSBTb3VyY2Ugb2YgTWFnaWMgenV6dXNjaHJlaWJlbiBpc3QgZGEgZG9jaCBlaGVyIGFsYmVybi4KClVuZCBhbHMgUmVnaW9uc21pdGFyYmVpdGVyL21hZ2llciBpc3QgbWFuIGVoZXIgVmVyd2FsdGVyLApCZXNjaHdlcmRlbmFubGF1ZnN0ZWxsZSB1bmQgV2VpdGVyZW50d2lja2xlciBkZW5uIGVpbiBtYWVjaHRpZ2VyICwsQXZhdGFyJycsCmRlciB1ZWJlciBkZW4gRGluZ2VuIHN0ZWh0LgoKRGFubiB6dSAsLFRocmVhdHMsIENvbmZsaWN0cywgVmlsbGFpbnMnJyAtIGJpcyBhdWYgd2VuaWdlIEF1c25haG1lbiBiZXN0ZWh0CmRhcyBNRyBkYSBlaW5mYWNoIGF1cyBlaW5lbSBTYW1tZWxzdXJpdW0uIFVuc2VyZSBOUENzIGhhYmVuIGtlaW5lbiB3aXJrbGljaGVuCkVpbmZsdXNzIGF1ZiBkYXMgU3BpZWxnZXNjaGVoZW4sIGVpbnplbG5lIFF1ZXN0cyBtYWwgYXVzZ2Vub21tZW4sIHNpZSBzaW5kCmRhenUgZGEsIHZvbiBlaW5lbSAod29tb2VnbGljaCBndXQga2FlbXBmZW5kZW4sIGFiZXIgc29uc3QgbmljaHQgdmllbAosLGtvZW5uZW5kZW4nJyAtIHNlaHQgZGFzIGJpdHRlIG5pY2h0IGFscyBBYndlcnR1bmcgdm9uIEV1Y2ggZ3V0ZW4gTWV0emxlcm4sCmFiZXIgaW4gZGVuIG1laXN0ZW4gRmFlbGxlbiBzdGVja3QgaGludGVyIEtpbGxzdHVwcyA3NTMga2VpbmUgaW50ZXJlc3NhbnRlCkFyYmVpdCwgd2llIG1hbiBlaW5lbiBHZWduZXIgYmVzaWVnZW4ga2Fubiwgc29uZGVybiBoaW5sYXVmZW4sIG1ldHplbG4sCnRhbmtlbiwgaGlubGF1ZmVuLi4uIHVuZCB3b21vZWdsaWNoICghKSBlaW4gZ2FueiBndXQgZGFmdWVyIGdlZWlnbmV0ZXMgSXRlbSkuIApTcGllbGVyIHVtZ2VoYXVlbiB6dSB3ZXJkZW4sIHVtIHNlaW5lbiBMZXZlbCB6dSBlcmhvZWhlbiwgdW5kIG1hbiBrb21tdCBkYW5uCmluIHNlaW4gU2VoZXJoYXVzIHVuZCBkZW5rdCAsLENvb2wsIFBsYWtldHRlIHplaWd0IDc4MCBLaWxscyBhbiwgdW5kIDQwIGRhdm9uCmhhdCBub2NoIG5pY2h0bWFsIEFzdWthJycgKE5hbWUgd2lsbGt1ZXJsaWNoKSB1bmQgbmljaHQgLCxqZXR6dCBiaW4gaWNoIGRlcgpncm9lc3N0ZSwgZGVubiBkaWUgQmVkcm9odW5nIGR1cmNoIGRpZXNlbiBEYWVtb24gaGFiZSBpY2ggZ2VyYWRlIG5vY2htYWwKYXVmaGFsdGVuIGtvZW5uZW4nJy4uLiAoQWRUIHouQi4gaXN0IHdpcmtsaWNoIGVpbmUgcnVlaG1saWNoIEF1c25haG1lKS4KClNvcnJ5LCBpbiBkZW4gUHVua3RlbiBnbGF1YmUgaWNoIG5pY2h0LCBkYXNzIGRhcyBNRyBkYSBwdW5rdGVuIGthbm4uCgpVbmQgaWNoIGVudHNjaHVsZGlnZSBtaWNoIG1hbCBwYXVzY2hhbCBmdWVyIGRpZSBnZXdpc3NlIFVub3JkbnVuZyBpbiBkaWVzZW0KQXJ0aWtlbCwgYWJlciBkYXMgd2FyIGVpbiBnZXdpc3NlcyBBYmJpbGQgbWVpbmVyIEdlZGFua2VuLi4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBNdWQgdmVybWFya3Rlbj8gKEVsYmVyZXQsICA1LiBKdW4gMjAwMiwgMTc6MjI6MTgpOgp+IyEgcm49SHVtbmkgcnQ9MTAyMzI4ODMwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKQWJiaWxkIGRlciBVbm9yZG51bmcgZGVpbmVyIEdlZGFua2VuPyA6KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE11ZCB2ZXJtYXJrdGVuPyAoTW9udGFudXMsICA1LiBKdW4gMjAwMiwgMTc6MzU6MDgpOgp+IyEgcm49RWxiZXJldCBydD0xMDIzMjkwNTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApOYSwgZXMgZ2VodCBqYSBuaWNodCBkYXJ1bSwgZGFzIE1HIG9yaWdpbmFsIGFienViaWxkZW4uIFNvbmRlcm4gZGllIGRhcmVpbgpnZXN0ZWNrdCBLUmVhdGl2aXRhZXQgendlaXR6dXZlcndlcnRlbi4KVW5kIHp3ZWl0ZW5zIGRpZSBkYXVlcm5kIFdlaXRlcmVudHdpY2tsdW5nIGRlciBXZWx0IHp1IG51dHplbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNdWQgdmVybWFya3Rlbj8gKEFyaywgIDUuIEp1biAyMDAyLCAxOToxNTo0Myk6Cn4jISBybj1TYW5nbyBydD0xMDIzMjgxNTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApXYWhsbG9zIG1hbCBnZWFudHdvcnRldCwgaWNoIG1laW5lLCBkYXNzIGRhcyBVZWJlcm5laG1lbiBkZXMgTUdzIGFscyBLb256ZXB0CnNjaG9uIGRhcmFuIHNjaGVpdGVydCwgZGFzcyByZWNodCB2aWVsZSBTYWNoZW4gaGllciBuaWNodCB3ZXNlbnRsaWNoIG5ldSBzaW5kLAptYW4gc2llaGUgc2ljaCBudXIgbWFsIGRpZSBRdWVzdHMgYW4sIGRpZSBlaW4gQnVjaC9GaWxtIG8uYWUuIGFscyBIaW50ZXJncnVuZApoYWJlbiB1bmQgbmljaHQgZ2VyYWRlIG9yaWdpbmFsIHNpbmQgKGtlaW5lIFdlcnR1bmchKS4gRGFtaXQgd3VlcmRlIGljaCBkYXMKIktvbnplcHQiIGFscyBXZXJ0ZXIgc2Nob24gc29mb3J0IGZhbGxlbiBsYXNzZW4uIEVpbiBLb256ZXB0IHNvbGx0ZSBoYWxid2VncwpkdXJjaGdhZW5naWcgc2VpbiB1bmQgZGFzIGlzdCBkYXMgTUcgbnVuIGdld2lzcyBuaWNodCAoYXVjaCBrZWluZSBXZXJ0dW5nCipnKikuIFZvbiBkZW4gQ29weXJpZ2h0cyBtYWwgYWJnZXNlaGVuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNdWQgdmVybWFya3Rlbj8gKENvYnJheCwgIDUuIEp1biAyMDAyLCAyMzowNjowNSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyMzI3NDE1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKQWN1aCBtYWwgd2FzIHNhZ2VuIG11c3MgZGF6dSwgYXVjaCB3ZW5uIGljaCBub2NoIGVpbiByZWxhdGl2IGp1bmdlcyBEYXNlaW4gaW0KTVVEIGFsbGdlbWVpbiB1bmQgTUcgaW0gYmVzb25kZXJlbiB2b3J3ZWlzZW4ga2FubgpFaW4gUmFobWVuIGJlZGV1dGV0ICwgZGFzIGRpZSB2ZXJhbnR3b3JsdGljaGVuIFBlcnNvbmVuLCBkaWUgemIgZWluZSBuZXVlClF1ZXN0IGtyZWllcmVuLCBzaWNoIGFuIGJlc3RpbW10ZSBSZWdlbG4gaGFsdGVuIG11ZXNzZW4gd2FzIHpiIGRpZSBBdWZnYWJlCmJldHJpZmZ0LiBzbyBrYW5uIGplZGVyIE1hZ2llciAgc2VpbmVyIFBoYW50YXNpZSBpbiBkaWVzZXIgcmljaHR1bmcgdm9sbAplbnRmYWx0ZW4gLCB3YXMgLCBmaW5kZSBpY2ggLCBmdWVyICBhbGxlIHZvbiBOdXR6ZW4gaXN0LiAyMCBRdWVzdHMgbmFjaCBTY2hlbWEKMDgvMTUgc2luZCBsYW5nd2VpbGxpZywgYWJlciBzbywgb2huZSAiRWluc2NocmFlbmt1Z2VuIiB3YXMgZGFzIFRoZW1hCmJldHJpZmZ0LCBpc3QgZGllIGdhbnplIFNhY2hlIGZ1ZXIgYWxsZSBzZWhyIHZpZWwgYWJ3ZWNoc2x1bmdzcmVpY2hlci4gIExpZWJlcgo2MCBRdWVzdHMsIGRpZSBqZWRlIGR1ZXIgc2ljaCBlaW4gVW5pa3VtIGRhcnN0ZWxsdCAsIGFscyA0MCBRdWVzdHMsIGRpZSBhbGxlCm51ciBuYWNoIFNjaGVtYSBGIGFienVoYWtlbiBzaW5kICEhLgpTbyB3aWUgaGllciBpbSBNRyBrYW5uIG1hbiBhdWNoIGFscyBhbHRlciBIYXNlIG5vY2ggZWluIEFoYSAtIEVybGVibmlzIGhhYmVuLgpVbmQgaWNqaCBmaW5kZSAsIGRhcyB6ZWljaG5ldCBkYXMgTUcgPj4+IHNlaHIgPDw8IHBvc2l0aXYgYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZCB2ZXJtYXJrdGVuPyAoUm9uZGEsICA1LiBKdW4gMjAwMiwgMjM6NDc6MDMpOgp+IyEgcm49Q29icmF4IHJ0PTEwMjMzMTExNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDIzMjIzNTI4CipzY2htdW56ZWwqIEljaCBmdWVobGUgbWljaCBuYWNoIG51ciBhY2h0IEphaHJlbiBoaWVyIG5pY2h0IGJlZnVndCBkYXJ1ZWJlciB6dQp1cnRlaWxlbiwgb2IgZGFzIE1HICJlaW5mYWNoIGJlc3NlciIgaXN0IGFscyBJZGVlIG9kZXIgbmljaHQuIERpZSBEaXNrdXNzaW9uCmZpbmRlIGljaCBqZWRlbmZhbGxzIHNwYW5uZW5kIDstKQoKQWJlciBlaW5mYWNoIG1hbCB1bSBkYXMgZ2FuemUgYXVmIGVpbmUgYW5kZXJlIEJhaG4genUgYnJpbmdlbi4uLiB2aWVsbGVpY2h0Cm11ZXNzdCBJaHIgZGFubiBuYWVtbGljaCBuaW1tZXIgd2VpdGVyZGlza3V0aWVyZW4gdW5kIGtvZW5udCB3ZWl0ZXIKTWVnYXNjaG1hcnJuOgoKYSkgV2VyIHd1ZXJkZSBzaWNoIHVlYmVyaGF1cHQgaGluc2V0emVuLCBkYXMgS29uemVwdCBhdXNmb3JtdWxpZXJlbiwgc2ljaCB1bQpkaWUgRWlucmVpY2h1bmcga3VlbW1lcm4sIGRhbmFjaCBtaXQgV2l6emFyZHMgc3ByZWNoZW4sIG1pdCBkZW4gTGV1dGVuCmRpc2t1dGllcmVuIGRlcmVuIElkZWVuIG1hbiBnZXJuIGluIGRhcyBLb256ZXB0IGVpbmJyaW5nZW4gd2lsbCBldGMuIE1vbnRhbnVzLAppY2ggdmVybXV0ZSBlaW5mYWNoIG1hbCwgZGFzcyBXaXp6YXJkcyBEaWNoIG5pY2h0IGdlcm4gaW4gZGVyIFJvbGxlIHNlaGVuCndpbGwuLi4gb2RlciB3YWVyZSBkZW5lbiBkYXMgd2lya2xpY2ggZWdhbD8KCmIpIERlciBWb3JzY2hsYWcgZGFtaXQgZGFzIE1HIHp1IHVudGVyc3R1ZXR6ZW4gaXN0IGtsYXNzZS4gQWJlci4gV2VyIGJla29tbXQKZGFubiBkYXMgR2VsZD8gKmtsYXIuIEljaCBiaW4gZ2VsZGdpZXJpZy4qIE5laW4sIGltIEVybnN0LiBLYW5uIGRlciBWZXJlaW4genVtCkJlaXNwaWVsIHNvIHdhcyB1ZWJlcmhhdXB0IGR1cmNoZnVlaHJlbj8gRGFzIHdhZXJlIGVpbmUgRWlubmFobWUuLi4/IEdlaHQgZGFzPwpGYWxscyBqZXR6dCBlaW5lIElkZWUgdm9uIGVpbmVtIE1hZ2llciBpbiBkYXMgS29uemVwdCBnZWh0LCBtdXNzIGVyIGRhcwplcmxhdWJlbj8gRmFsbHMgZGFzIEdlbGQga2FlbWUgdW5kIGRhbm4gYmVzY2hsaWVzc3QgamVtYW5kLCBkYXNzIHNlaW4gQ29kZQp6d2FyIGhpZXIgaW0gTXVkIGxhdWZlbiBzb2xsLCBhYmVyIG5pY2h0IGtvbW1lcnppZWxsIHZlcndlbmRldCB3ZXJkZW4gZGFyZiwKd3VlcmRlIGljaCBkYXMgdmVyc3RlaGVuLi4uCgpSb25kYSAqaGV1dGUgbWFsIGFscyBTcGllbHZlcmRlcmJlcmluLiBTb3JyeS4gQWJlciBpY2ggbmVobSBudXIgbWFsIGVpbiBwYWFyCmtsaXR6ZWtsZWluZSBEaXNrdXNzaW9uZW4gZGVyIG5hZWNoc3RlbiBTaXR6dW5nIGRlcyBNRy1WZXJlaW5zIHZvcmF1cy4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNdWQgdmVybWFya3Rlbj8gKEFyaywgIDYuIEp1biAyMDAyLCAxNDoxNjoxMik6Cn4jISBybj1Sb25kYSBydD0xMDIzMzEzNjIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyMzIyMzUyOApIbSwgYWxzbyB3YXMgV2l6YXJkcyBkYSBlaWdlbnRsaWNoIHNlaGVuIHdpbGwsIGlzdCB3ZW5pZ2VyLCB3aWUgYmVpIHVucyBkaWUKQWRtaW5pc3RyYXRpb24gZWluZXIgQW53ZW5kdW5nIGdlcmVnZWx0IGlzdCwgc29uZGVybiBlaW4gS29uemVwdCBlaW5lciBuZXVlbgooISkgV2VsdCBtaXQgSGVsZGVuLCBTY2h1cmtlbiwgSGludGVyZ3J1bmQsIGV0Yy4gT2Igc2ljaCBkYXMgbHVzdGlnIGJ1bnQKenVzYW1tZW5nZXN0cmlja3RlIE11ZCBkYSB1ZWJlcmhhdXB0IHBsYXppZXJlbiBrYW5uLCB3YWdlIGljaCBoZWZ0aWdzdCB6dQpiZXp3ZWlmZWxuLiBCZWkgZGVtIGVyc3RlbiBBYnN0cmFrdCwgdW0gZGVuIGVzIHdvaGwgaW0gTW9tZW50IGdlaHQsIG11ZXNzdGUKbWFuIGVocmxpY2hlcndlaXNlIG1pdCB1bmdlbnVlZ2VuZGVuIEdlbWVpbnBsYWV0emVuIHdpZSAiQWxsZXMiLAoiVW50ZXJzY2hpZWRsaWNoIiwgIlNvd29obCBhIGFscyBhdWNoIGIgdW5kIGMiLAoiSGFja3NsYXNoZm9yc2NocmFldHNlbGNoYXRnYW1pbmciIGFudHdvcnRlbi4gSWNoIGhhZXR0ZSBhdWNoIHNhZ2VuIGtvZW5uZW4sClRoZW1hIHZlcmZlaGx0LCA2LCBzZXR6ZW4gOi0pCkFsc28gYmVzc2VyIHdhcyB2b2VsbGlnIE5ldWVzIGVyc2lubmVuLiBJc3Qgc2Nod2VyIGdlbnVnLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNdWQgdmVybWFya3Rlbj8gKEZlbmRlciwgMTEuIEp1biAyMDAyLCAxODoxNjo0OCk6Cn4jISBybj1BcmsgcnQ9MTAyMzM2NTc3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjMyMjM1MjgKQWVoaC4uIGxlaWRlciBldHdhcyBzcGFldCwgYWJlciBtYW4gZ2V3b2VobnQgc2ljaCBkcmFuIDstKQoKSXN0IEV1Y2ggc2Nob24gZWlubWFsIGF1ZmdlZmFsbGVuLCBkYXNzIGRhcyBLb256ZXB0IGVpZ2VudGxpY2ggdWViZXJoYXVwdApuaWNodCBuZXUgaXN0Pz8gRGFzIGVpbnppZ2UsIGRhc3Mgc2ljaCBsb2huZW4gd3VlcmRlIHZlcm1hcmt0ZXQgenUgd2VyZGVuIHNpbmQKZGllIGdhbnplbiBJZGVlbiwgdW5kIGRhdm9uIGthbm4ga2VpbiBTcGllbCBsZWJlbi4uLgpPaGguLi4gaXN0IEV1Y2ggYXVjaCBtYWwgYXVmZ2VmYWxsZW4sIGRhc3MgZGFzIE1vcmdlbkdyYXVlbiBuaWNodCBkYXMgRXJzdGUKc2VpbmVyIEFydCBpc3QsIHVuZCBkYXNzIGVzIGF1Y2ggc2Nob24gYWxzIFNwaWVsIGV4aXN0aWVydD8gV2FzIHdpbGwgV2l6YXJkcwpkZW5uIG1pdCBuZXIgbmV1ZW4gQXVmbGFnZSBlaW5lcyBhbHRlbiBTY2hpbmtlbnM/PwpEaWUgd29sbGVuIHdhcyBORVVFUyEhIQoKTmFqYS4uIGljaCBlcndhcnRlIEV1cmUgQmVzY2h3ZXJkZW4gdW5kIHJvc2Fyb3RlbgpJY2gtbGllYmUtYWJlci1kb2NoLWRhcy1Nb3JnZW5HcmF1ZW4tQmVtZXJrdW5nZW4uLi4KCkYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2JpbiAoTWFuZHJhZ29uLCAxNC4gSnVuIDIwMDIsIDAxOjM2OjA4KToKRGEgaWNoIHdlZGVyIFNjaHJlaWItIG5vY2ggTEVzZXJlY2h0ZSBoYWJlIHVtIGRpZSBtYXNzaXZlbiBGaVJaR3MgYXVmIGRlciBIRQp6dSBiZWVuZGUsIGhhYmUgaWNoIGt1cnplcmhhbmQgZGVuIGJldHJlZmZlbmRlbiBSYXVtIG1pdHNhbXQgc2VpbmVuIEJld29obmVybgphYmdlaGFlbmd0LiBJY2ggaG9mZmUsIGRhc3MgZGFzIHNvd29obCBEaWUgRmlSWkdzIGJlc2VpdGlndCBhbHMgYXVjaCBkYXMKbWFzc2l2ZSBHZXNjcm9sbGUgYXVmIC1ELiBFcyB3aXJkIHNpY2ggc2NobmVsbHN0bW9lZ2xpY2hzdCBqZW1hbmQgbWl0CmdlZWlnbmV0ZW0gTWFnaWVybGV2ZWwgZGFydW0ga3VlbW1lcm4uCgpHdXRlIE5hY2h0CgpNYW5kcmFnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSb2JpbiAoTWFuZHJhZ29uLCAxNC4gSnVuIDIwMDIsIDAyOjQ3OjI0KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDI0MDExMzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNDAxMTM2OApTby4gR2VodCB3aWVkZXIgYWxsZXMuCgpGcmFndCBuaWNodCB3YXJ1bS4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmFqYS4uLiAoSHVtbmksIDI0LiBKdW4gMjAwMiwgMTc6MTc6MDYpOgphbHNvIG51ciBtYWwgYW5nZW5vbW1lbi4uLndlbm4gZGllIERldXRzY2hlbiBtb3JnZW4gZ2V3aW5uZW4sIHVuZCBkaWUgVHVlcmtlbgp1ZWJlcm1vcmdlbiBhdWNoIC0gYnp3LiBiZWlkZSB2ZXJsaWVyZW4gLi4uIGFsc28gd2VubiBhdWYgamVkZW4gRmFsbCBELVR1ZXJrZWkKaW0gRmluYWxlL1NQaWVsIHVtIGRlbiAzLiBQbGF0eiBzdGVoZW4uLi4KCk1vZWNodGUgZGFubiBqZW1hbmQgZ2VybmUgZGVyIGZlaWVybmRlIFR1ZXJrZSBhdWYgZGVyIFN0cmFzc2Ugc2Vpbiwgd2VubiBkaWUKVHVlcmtlaSBkYXMgU3BpZWwgZ2V3aW5udD8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmFqYS4uLiAoTW9udGFudXMsIDI0LiBKdW4gMjAwMiwgMTc6MjM6MzUpOgp+IyEgcm49SHVtbmkgcnQ9MTAyNDkzMTgyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjQ5MzE4MjYKSHVtbmksIGFsdGVyIE1vZWxsZW1hbm4sIHdvbGx0ZXN0IGR1IGRhbWl0IGF1c2RydWVja2VuICJXZW5uIGRpZSBUdWVya2VuCmRlbW5hZWNoc3QgZGFzIExhZW5kZXJzcGllbCBnZXdpbm5lbiwgc2NodWVyZW4gc2llIGRhbWl0IGRpZSBsYXRlbnRlCkZyZW1kZW5mZWluZGxpY2hrZWl0IGluIERldXRzY2hsYW5kIHdlaXRlciBhbiIgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYWphLi4uIChHcmltbWJvcm4sIDI0LiBKdW4gMjAwMiwgMTc6MzI6NDkpOgp+IyEgcm49TW9udGFudXMgcnQ9MTAyNDkzMjIxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjQ5MzE4MjYKIkp1c3QgeW91IHdhaXQsICdlbnJ5ICdpZ2dpbnMsIGp1c3QgeW91IHdhaXQuLi4iCgpHZEEgbWVpbnQ6IHRpbWUgd2lsbCB0ZWxsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptZy5tdWQuZGUgKExpYXJhLCAyNS4gSnVuIDIwMDIsIDE3OjEyOjA1KToKS29lbm50ZSBtYW4gZGllIE1HLVN0YXJ0c2VpdGUgaW0gTmV0eiBuaWNodCBtYWwgbWl0IGRlbSBUYXNzZW5tb3RpdiB2b24gR3VhcmQKKD8pIGF1c3N0YXR0ZW4/IERpZSBIZXhlIG1pdCBkZW0gVW5pLU11ZW5zdGVyIGRyYXVmIGhhdCBkb2NoIGluendpc2NoZW4KZWlnZW50bGljaCBhdXNnZWRpZW50LgoKR3J1ZXNzZSwgWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmFqYS4uLiAoV2FyZ29uLCAyNS4gSnVuIDIwMDIsIDE5OjQyOjE1KToKfiMhIHJuPUh1bW5pIHJ0PTEwMjQ5MzE4MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI0OTMxODI2ClNpZWhzIG1hbCBzbywgd2llIGVzIGVpbiBLb2xsZWdlIGhldXRlIG5hY2htaXR0YWcgc2FndGU6Cldlbm4gamV0enQgbm9jaCBkaWUgVHVlcmtlbiBpbnMgRW5kc3BpZWwga29tbWVuLCBnaWJ0cyBkYXMgZXJzdGUKZGV1dHNjaC1kZXV0c2NoZSBXTS1FbmRzcGllbCBzZWl0ICc3NCA6KQogIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYWphLi4uIChFbGJlcmV0LCAyNS4gSnVuIDIwMDIsIDE5OjQ1OjU1KToKfiMhIHJuPVdhcmdvbiBydD0xMDI1MDI2OTM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNDkzMTgyNgpobW0sIGltIGVuZHNwaWVsIHdhcmVuIGRvY2ggZGllIEhvbGxhZW5kZXIsIG9kZXI/IERhcyBkZXV0c2NoIGRldXRzY2hlIER1ZWxsCndhciBpbiBkZXIgVm9ycnVuZGUuIFVuZCBkaWUgRERSIGlzdCBkYXMgZWluemlnZSBMYW5kLCBkYXNzIG5pZSBlaW5lbiBQdW5rdAphYmdlZ2ViZW4gaGF0IGdlZ2VuIEJSRCBpbSBGdXNzYmFsbCA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1nLm11ZC5kZSAoS2FyaW1hLCAyNi4gSnVuIDIwMDIsIDExOjU2OjM4KToKfiMhIHJuPUxpYXJhIHJ0PTEwMjUwMTc5MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1MDE3OTI1CkhtbS4uIFdvaGVyIGtvbW10IGRpZXNlcyBIZXhlbm1vdGl2IGVpZ2VudGxpY2g/CgpIYXQgZGFzIGVpbiBNR2xlciBnZW1hbHQsIG9kZXIgd3VyZGUgZGFzIGlyZ2VuZHdvIGhlcmdlbm9tbWVuPyAKSWNoIHdhciBuYWVtbGljaCBsZWljaHQgdWViZXJyYXNjaHQsIGFscyBpY2ggZGllc2VzIEJpbGQgZGVyIEhleGUgbmV1bGljaCBiZWkKdW5zIGF1ZiBkZW0gU2NoYXVmZW5zdGVyIGRlcyBCbHVtZW5sYWRlbnMgc2FoICpnKgpGaW5kZXQgbWFuIGRvcnQgZHJpbm5uZW4gTUdsZXIgb2RlciBoYWJlbiBkaWUgbnVyIHp1ZmFlbGxpZyBkYXMgZ2xlaWNoZSBNb3RpdgplbnRkZWNrdD8KCkthcmltYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtZy5tdWQuZGUgKEdyaW1tYm9ybiwgMjYuIEp1biAyMDAyLCAxMjoxMjowNyk6Cn4jISBybj1LYXJpbWEgcnQ9MTAyNTA4NTM5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjUwMTc5MjUKSXN0IGlpcmMgZWluIGFsdGVzIENvcmVsIERyYXcgQ2xpcGFydC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbWcubXVkLmRlIChNb3Jnb3RoLCAyNi4gSnVuIDIwMDIsIDEyOjU0OjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI1MDg2MzI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTAxNzkyNQpLb3JyZWt0ICEKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphamEuLi4gKEdvciwgMjYuIEp1biAyMDAyLCAxOTo0MTo1MSk6Cn4jISBybj1XYXJnb24gcnQ9MTAyNTAyNjkzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjQ5MzE4MjYKV2VubiBkdSBqZXR6dCBmdWVyIGRpZSBqdWVuZ2VyZSBHZW5lcmF0aW9uIG5vY2ggZXJsYWV1dGVyc3QsIHdlciA3NCBub2NoIGltCkVuZHNwaWVsIHdhciwgZGFubi4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWcubXVkLmRlIChMaWFyYSwgMjYuIEp1biAyMDAyLCAyMjoyOTo1Nyk6Cn4jISBybj1MaWFyYSBydD0xMDI1MDE3OTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTAxNzkyNQpEZXV0ZSBpY2ggZGllIGZlaGxlbmRlbiBHZWdlbnN0aW1tZW4gYWxzIE9LIGZ1ZXIgZGVuIFZvcnNjaGxhZz8gOy0pIFdhcyBzYWd0CmRlbm4gZGVyIEt1ZW5zdGxlciBkYXp1PwoKWlpMLCBydWZ0IG5hY2ggWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFuZmFobj8gKENhdHdlYXpsZSwgIDUuIEp1bCAyMDAyLCAxMzozNToxNCk6CgpJY2ggaGFiIGZvbGdlbmRlcyBTVFZPLVByb2JsZW0uIAphKSBEYXJmIG1hbiBzaWNoIGFscyBNb3RvcnJhZGZhaHJlciBpbSBTdGF1IGFuIGRlbiBzdGVoZW5kZW4gQXV0b3MKJ3ZvcmJlaW1vZ2VsbicsIHdlbm4gUGxhdHogaXN0PwpiKSBEYXJmIG1hbiBkYXMgYXVjaCB2b3IgZWluZXIgQW1wZWw/CmMpIERhcmYgbWFuIGRhcyBhbHMgRmFocnJhZGZhaHJlciB2b3IgZWluZXIgQW1wZWw/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYW5mYWhuPyAoSmFtZXNvbiwgIDUuIEp1bCAyMDAyLCAxMzozNTo0NCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAyNTg2ODkxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKYWxsZSBkcmVpIHZlcmtlaHJzd2lkcmlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhbmZhaG4/IChQdWssICA1LiBKdWwgMjAwMiwgMTM6MzY6MTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjU4Njg5MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CmEpIG5laW4KYikgbmVpbgpjKSBqYQoKUHVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhbmZhaG4/IChBbmFjcmlvbiwgIDUuIEp1bCAyMDAyLCAxMzozNjo1MSk6Cn4jISBybj1QdWsgcnQ9MTAyNTg2ODk3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSWNoIG1laW5lIGF1Y2gsIGRhcyBjKSBlcmxhdWJ0IGlzdCAuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhbmZhaG4/IChDdWNodWxsaW4sICA1LiBKdWwgMjAwMiwgMTM6Mzc6MTcpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1ODY4OTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApJY2ggbWVpbmUgZ2Vob2VydCB6dSBoYWJlbiAod2FzIGhlaXNzZW4ga2FubiwgZGFzcyBpY2ggbWFsIGRhdm9uIApnZXRyYWV1bXQgaGFiZSksIGRhc3MgbWFuIGFscyBSYWRmYWhyZXIgYW4gZWluZXIgc3RlaGVuZGVuIFNjaGxhbmdlCnJlY2h0cyB2b3JiZWlmYWhyZW4gZGFyZi4gTWFuY2hlIEFtcGVsbiBoYWJlbiB2b3JuZSAqdm9yKiBkZXIgCkhhbHRlbGluaWUgZGVyIEtyYWZ0ZmFocnpldWdlIGVpbmVuIHJvdCBtYXJraWVydGVuIEJlcmVpY2gsIGRlbiBkaWUKUmFkZmFocmVyIGRhbm4gZWlubmVobWVuIGR1ZXJmZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYW5mYWhuPyAoQm9pbmcsICA1LiBKdWwgMjAwMiwgMTM6Mzk6MTMpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjU4NjkwMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkFscyBSYWRmYWhyZXIgaXN0IHJlY2h0cyB2b3JiZWlmYWhyZW4gb2suCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYW5mYWhuPyAoSG9ibywgIDUuIEp1bCAyMDAyLCAxMzozOToyNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAyNTg2ODkxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKQmVpIGRlciBuYWVjaHN0ZW4gUG9saXplaWRpZW5zdHN0ZWxsZSBuYWNoZnJhZ2VuPyBJbiBLQSBnaWJ0J3MgZGFzIHNvZ2FyIHVlYmVyCkludGVybmV0IHVuZCAtIG1hbiBob2VyZSB1bmQgc3RhdW5lIC0gZGllIGFudHdvcnRlbiBzb2dhci4KCiAgIEhvYm8gLSBoYXQgbWFsIGdlZnJhZ3Qgd2llIGRhcyBtaXQgUGxhc3Rpa3JvbGxlcm4gdW5kIHJvdGVuIEFtcGVsbiBpc3QsCmRpZSBkdXJjaCBNZXRhbGwgdW1nZXNjaGFsdGV0IHdlcmRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSYW5mYWhuPyAoSmFtZXNvbiwgIDUuIEp1bCAyMDAyLCAxMzo0MDo0Nyk6Cn4jISBybj1Ib2JvIHJ0PTEwMjU4NjkxNjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0Cm5hPyB1bmQ/IFVSTD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJhbmZhaG4/IChIb2JvLCAgNS4gSnVsIDIwMDIsIDEzOjQyOjIyKToKfiMhIHJuPUphbWVzb24gcnQ9MTAyNTg2OTI0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKU2VsYmVyIHN1Y2hlbiBtYWNodCBrbHVnLi4uCgp3d3cua2FybHNydWhlLmRlL1ZlcmtlaHIvUG9saXplaS9rb250YWt0L2tvbnRha3QuaHRtCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYW5mYWhuPyAoQ2F0d2VhemxlLCAgNS4gSnVsIDIwMDIsIDEzOjQyOjI0KToKfiMhIHJuPUphbWVzb24gcnQ9MTAyNTg2OTI0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKRGFzIHd1ZXJkZSBhbHNvIGhlaXNzZW4sIHdlbm4gaWNoIG1pdCBkZW0gRmFocnJhZCBuYWNoIHZvcm5lIGZhaHJlbiB3aWxsLCB1bmQKbWljaCBlaW4gQXV0byBkYWR1cmNoIHN0b3BwdCwgZGFzIGRlciAoQmVpKUZhaHJlciBkaWUgVHVlciBhdWZtYWNodCB1bmQgaWNoCm5pY2h0IG1laHIgdm9yYmVpIGthbm4sIGRhbm4gaXN0IGRhcyB3YXMgZXIgdHV0IHZlcmJvdGVuLCBnZWxsPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYW5mYWhuPyAoQmlyZHksICA1LiBKdWwgMjAwMiwgMTM6NDI6NDIpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1ODY5MjQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNAp3ZW5uIGF1ZiBkZXIgc3RyYXNzZSBlaW4gYmVyZWljaCBmdWVyIGRpZSBmYWhycmFkZmFocmVyIG1hcmtpZXJ0IGlzdCBvZGVyIGVzCmVpbmUgc2VwYXJhdGUgZmFocnJhZGFtcGVsIGdpYnQsIGRhcmYgbWFuIGMpLiBhKSB1bmQgYikgc2luZCB2ZXJib3Rlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJhbmZhaG4/IChBbmFjcmlvbiwgIDUuIEp1bCAyMDAyLCAxMzo0NDozMik6Cn4jISBybj1CaXJkeSBydD0xMDI1ODY5MzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApJbnRlcmVzc2FudGVyIEZhbGw6CgpGcmV1bmQgdm9uIG1pciAoaXN0IGhldXRlIHp1bSBBbndhbHQgZ2VnYW5nZW4pIGhhdHRlIGxldHp0ZSBXb2NoZQpzdGVoZW5kZXJ3ZWlzZSBuZW4gVW5mYWxsOgoKRmFocnJhZGZhaHJlciBmYWVocnQgYW4gQXV0byByZWNodHMgdm9yYmVpLCBCZWlmYWhyZXIgbWFjaHQgZGllIFR1ZXIgYXVmLApSYWRmYWhyZXIgc3R1ZXJ6dCBhdWYgQXV0byBtZWluZXMgS3VtcGVscyAuLiA5MDBFdXJvIHNjaGFkZW4gLi4uLi4KCndlciBoYXQgQW5zcHJ1ZWNoZSBnZWdlbiB3ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSYW5mYWhuPyAoUHVrLCAgNS4gSnVsIDIwMDIsIDEzOjQ1OjA4KToKfiMhIHJuPUJpcmR5IHJ0PTEwMjU4NjkzNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CmtvbW10IGRhcmF1ZiBhbiA7KQpkdSBtdWVzc3Rlc3QgZGVtIEJlaWZhaHJlciBlcnN0IG1hbCBtdXR3aWxsaWdrZWl0IG5hY2h3ZWlzZW4sIGQuaC4gZXIga2FubgpqZWRlcnplaXQgYmVoYXVwdGVuIGVyIHdvbGx0ZSBhdXNzdGVpZ2VuIHVuZCBoYXQgZXMgc2ljaCBhbmRlcndzIHVlYmVybGVndCA7KQphbHMgZ3J1bmRsYWdlIGZ1ZXIgbmVuIHJlY2h0c3N0cmVpdCB3dWVyZCBpY2ggZGFzIG5pY2h0IG5laG1lbiA7KQoKUHVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSYW5mYWhuPyAoSG9ibywgIDUuIEp1bCAyMDAyLCAxMzo0NjowNSk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDI1ODY5NDcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApXZXIgc2VpbmUgVHVlciBvZWZmbmV0LCBtdXNzIHNjaGF1ZW4sIG9iIGRhcyB3YXMgaW0gV2VnIGlzdCA7KSBFdnRsLiBoYXQgZGVyClJhZGxlciBlaW5lIE1pdHNjaHVsZCwgYWJlciBkZW4gSGF1cHR0ZWlsIGR1ZXJmdGUgZGVyIEJlaWZhaHJlciB0cmFnZW4uCgogICAgLW1laW50IEhvYm8gKHVuZCBmcmV1dCBzaWNoLCBkYXNzIGFud2VzZW5kZSBKdXJpc3RlbiBzaWNoIGVpbmVuIGdyaW5zZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSYW5mYWhuPyAoQm9pbmcsICA1LiBKdWwgMjAwMiwgMTM6NDc6MTMpOgp+IyEgcm49SG9ibyBydD0xMDI1ODY5NTY1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApEZXJqZW5pZ2UgZGVyIGVpbmUgQXV0b3R1ZXIgYXVmbWFjaHQsIG11c3MgaW1tZXIgZXJzdCBzY2hhdWVuLCBvYiBmcmVpCmlzdC4gSWNoIHd1ZXJkZSBhbHNvIHNvZ2FyIGJlaGF1cHRlbiBkZXIgQmVpZmFocmVyIHRyYWVndCBkaWUgdm9sbGUgU2NodWxkLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSYW5mYWhuPyAoQW5hY3Jpb24sICA1LiBKdWwgMjAwMiwgMTM6NDc6NDEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyNTg2OTYzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKT2J3b2hsIGRlciBSYWRsZXIgUkVDSFRTIHZvcmJlaWZ1aHI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSYW5mYWhuPyAoQm9pbmcsICA1LiBKdWwgMjAwMiwgMTM6NDk6NDcpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAyNTg2OTY2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSWNoIGhhYnMgdWVicmlnZW5zLCBTdHJhc3NlbnZlcmtlaHJzb3JkbnVuZyBQYXJhZ3JhcGggNSwgQWJzY2huaXR0IDg6CklzdCBhdXNyZWljaGVuZGVyIFJhdW0gdm9yaGFuZGVuLCBkdWVyZmVuIFJhZGZhaHJlciB1bmQgTW9mYS1GYWhyZXIKRmFocnpldWdlLCBkaWUgYXVmIGRlbSByZWNodGVuIEZhaHJzdHJlaWZlbiB3YXJ0ZW4sIG1pdCBtYWVzc2lnZXIKR2VzY2h3aW5kaWdrZWl0IHVuZCBiZXNvbmRlcmVyIFZvcnNpY2h0IHJlY2h0cyB1ZWJlcmhvbGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSYW5mYWhuPyAoQmFtYmksICA1LiBKdWwgMjAwMiwgMTM6NTA6MDEpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAyNTg2OTY2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKRGF6dSAxIFNUVk8sIHNpZWhlIGh0dHA6Ly93d3cudmVya2VocnNwb3J0YWwuZGUvc3R2by9zdHZvXzAxLnBocDMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFJhbmZhaG4/IChKb3NodWEsICA1LiBKdWwgMjAwMiwgMTM6NTQ6MDkpOgp+IyEgcm49QmFtYmkgcnQ9MTAyNTg2OTgwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSWNoIHdlaXNzIG5pY2h0IG1laHIgd28gZGFzIGhlciBpc3QsIGFiZXIgaWNoIGhhYiBtYWwgZ2Vob2VydCBNb3RvcnJhZGZhaHJlcgp3YWVyZW4gd2FzIGJlc29uZGVyZXMsIHdlaWwgc2llIGEpIEFuc3BydWNoIGF1ZiBuZSBnYW56ZSBTcHVyIGhhYmVuIGFiZXIgYikKZGFyYXVmIHZlcnppY2h0ZW4ga29lbm5lbi4gU2llIGR1ZXJmZW4gYWxzbyBuZWJlbmVpbmFuZGVyIGF1ZiBuZXIgU3B1ciBzdGVoZW4sCm9iIGRhcyBhdWNoIGRhcyB2b3JiZWlzY2hsYWVuZ2VsbiBiZXRyaWZmdCB3ZWlzcyBpY2ggYWJlciBuaWNodCAuLi4gVW5kIGRpZQpJbmZvIGlzdCBtaXQgU2ljaGVyaGVpdCBhbHQgOykKCkpvc2gKKioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSYW5mYWhuPyAoQXJrLCAgNS4gSnVsIDIwMDIsIDE0OjA3OjI5KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMjU4Njk2NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkhlaXNzdCBkYXMsIGFscyBGdXNzZ2FlbmdlciBtdXNzIGljaCBtaWNoIHZvciBEaXIgZnVlcmNodGVuLCB3ZWlsIGVzIERpciBlZ2FsCmlzdCwgd2VyIGRhIHJ1bXN0ZWh0Pz8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBSYW5mYWhuPyAoQ3VjaHVsbGluLCAgNS4gSnVsIDIwMDIsIDE0OjA3OjM1KToKfiMhIHJuPUJvaW5nIHJ0PTEwMjU4Njk3ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkRhbWl0IGR1ZXJmdGUgYXVjaCBrbGFyIHNlaW4sIGRhc3MgZWluZSBnZW9lZmZuZXRlIEJlaWZhaHJlcnR1ZXIsIGRpZQpudXIgenVtIFp3ZWNrZSBkZXIgQmVoaW5kZXJ1bmcgZGVzIFJhZGZhaHJlcnMgZ2VvZWZmbmV0IHd1cmRlLCBhbHMKTm9ldGlndW5nIHp1IHZlcnN0ZWhlbiBpc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFJhbmZhaG4/IChCYW1iaSwgIDUuIEp1bCAyMDAyLCAxNDowOToyOSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyNTg3MDg1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSWNoIHd1ZXJkIGRhcyBqYSBuaWNodCBqZWRlbSByYXRlbiwgYWJlciBhYnN0ZWlnZW4gdW5kIGhvZWZsaWNoIGZyYWdlbiwgb2IgZWluCihtZWRpemluaXNjaGVyKSBOb3RmYWxsIHZvcmxpZWd0LCBkdWVyZnRlIGJlaSBkZW4gbWVpc3RlbiBCZWlmYWhyZXJuIGVpbmUKZXR3YXMgaXJyaXRpZXJlbmRlIFdpcmt1bmcgaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUmFuZmFobj8gKEltZGEsICA1LiBKdWwgMjAwMiwgMTU6MjQ6NTEpOgp+IyEgcm49QmFtYmkgcnQ9MTAyNTg3MDk2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKT2IgZGFzIG51IGVybGF1YnQgaXMsIG9kZXIgbmVkOiBhbiBuZXIgUmVjaHRzYWJiaWVnZXJhbXBlbCBfbmViZW5fIGRlbiBBdXRvcwpzdGVoZW4gd2FlciBtaXIgZG9jaCBuIGJpc2NobiBoZWlzcy4gSWNoIG1laW46IHNjaG9uIGtsYXIsIGRpZSBtdWVzc2VuIGRhbm4KbWVpbmVuIEdydGFic3RlaW4gemFobGVuLCBhYmVyLi4uCgpJbWRhLiBEZXIgZ3JhZCB1ZWJlcmxlZ3QsIHdpZXZpZWwgUmFkZmFocmVyIGVyIHNjaG9uIGZhc3QgZXJsZWd0IGhhZXR0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUmFuZmFobj8gKEphbWVzb24sICA1LiBKdWwgMjAwMiwgMTU6Mjc6MjUpOgp+IyEgcm49SW1kYSBydD0xMDI1ODc1NDkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApuYWphLi4uIEFiaGlsZmUuLi4gc28gd2VpdCB2b3JmYWhyZW4sIGRhc3MgRHUgZGVtIEF1dG9mYWhyZXIgaW4gZGllIEF1Z2VuCnNjaGF1ZW4ga2FubnN0LCBkYW1pdCBEdSB3ZWlzc3QsIGRhc3MgZXIgRGljaCBnZXNlaGVuIGhhdC4gQWxzIFJhZGZhaHJlcgplbnR3aWNrZWx0IG1hbiBzbyBlaW5pZ2UgVWViZXJsZWJlbnNzdHJhdGVnaWVuIDstKSBVbmQgRHUgYWxzIEF1dG9mYWhyZXIKc29sbHN0IERpY2ggYmVpbSBMb3NmYWhyZW4gc293aWVzbyBpbW1lciB1bXNjaGF1ZW4sIGF1Y2ggd2VubidzIGxhZXN0aWcgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFJhbmZhaG4/IChJbWRhLCAgNS4gSnVsIDIwMDIsIDE1OjMxOjU2KToKfiMhIHJuPUphbWVzb24gcnQ9MTAyNTg3NTY0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKRXMgcmVpY2h0IGphLCB3ZW5uZXIgZWlubWFsIG5pY2h0IGd1Y2t0LiBkYSBrYW5uc3RlIGlobSBpbiBkaWUgYXVnZW4gc2NoYXVuLApzb2xhbmcgZHUgbHVzdGlnIGJpc3QuIFZvbSBUaGVtYSB0b3RlIFdpbmtlbCB1bmQvb2RlciBMS1cgd29sbG1hIG1hbCBnYXJuZWQKcmVkZW4uIElzIGVpbmZhY2ggbiBSaXNpa28sIGRhc3NpY2ggd2VnZW4gZGVuIDMgTWludXRlbiBuZWQgYmVyZWl0IGJpbgplaW56dWdlaG4uIE1hbCBzZWhuLCB3YXMgRGFyd2luIGRhenUgbWllbnQuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFJhbmZhaG4/IChDdWNodWxsaW4sICA1LiBKdWwgMjAwMiwgMTU6MzM6MzApOgp+IyEgcm49SW1kYSBydD0xMDI1ODc1OTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApTb2xhbmdlIER1IHN0ZWhzdCwgYW5mYWVocnN0IHVuZCBkYW5uIGdlc2Nobml0dGVuIHdpcnN0IGhhc3QgRHUgamEKbm9jaCByZWNodCBvcmRlbnRsaWNoZSBDaGFuY2VuLCBEaWNoIHp1ciBTZWl0ZSB3ZXJmZW4genUga29lbm5lbi4gRXR3YXMKYWVyZ2VybGljaGVyIHNpbmQgbmljaHQtYmxpbmtlbmRlIFJlY2h0c2FiYmllZ2VyLCBkaWUgbGlua3MgbmViZW4gRGlyCmZhaHJlbi4uLiBmYWhyZW4uLi4gZ2VmYWhyZW4gc2luZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUmFuZmFobj8gKEphbWVzb24sICA1LiBKdWwgMjAwMiwgMTU6MzQ6MjIpOgp+IyEgcm49SW1kYSBydD0xMDI1ODc1OTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApTaWNoZXIsIGhpbnRlciBkZW0gQXV0byBlaW5yZWloZW4gaXN0IGF1Y2ggZWluZSBndXRlIE1vZWdsaWNoa2VpdCwgR2VmYWhyZW4KYXVzIGRlbSBXZWcgenUgZ2VoZW4uIC0gRHUgc29sbHN0IGlobSBuaWNodCBlaW5mYWNoIG1hbCBpbiBkaWUgQXVnZW4gc2NoYXVlbiwKc29uZGVybiBhdWNoIGRyYXVmIGFjaHRlbiwgZGFzcyBlciB6dXJ1ZWNrc2NoYXV0IC0gd296dSBzb25zdCBkYXMgR2FuemUuCkRlc2hhbGIgcmVpY2h0ICJuZWJlbiBkYXMgQXV0by9kZW4gTGt3Ly4uLiBmYWhyZW4iIGhhbHQgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUmFuZmFobj8gKFZhcmxhcmlvbiwgIDUuIEp1bCAyMDAyLCAxNTozOTowMCk6Cn4jISBybj1CYW1iaSBydD0xMDI1ODc2MDcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApSZWNodCBoaW4sIFJlY2h0IGhlci4gV2VubiBpY2ggYXVmIGRlbSBGYWhycmFkIHNpdHplLCBmYWhyIGljaCBsaWViZXIgc28sIGRhc3MKbWljaCBrZWluIEF1dG9mYWhyZXIgZXJ3aXNjaGVuIGthbm4uIERpZSBoYWJlbiBuYWVtbGljaCBuZSBLbmF1dHNjaHpvbmUsIGF1cwpkZXIgaWNoIGRhbm4gdmVybXV0bGljaCByZWljaGxpY2ggemVya25hdXRzY2h0IHdpZWRlciBoZXJhdXNrYWVtZS4gV2llIGRpZQpSZWNodHNsYWdlIGRhIHdpcmtsaWNoIGlzdCwga2FubiBpY2ggbmljaHQgYmV1cnRlaWxlbiwgYWJlciB3ZXIgbWVpbnQsIHNpY2gKYWxzIFJhZGZhaHJlciBpbSBTdGF1L2FuIGVpbmVyIHJvdGVuIEFtcGVsIHp3aXNjaGVuIEF1dG9zIGR1cmNocXVldHNjaGVuIHp1Cm11ZXNzZW4sIGlzdCBpcmdlbmR3byBhdWNoIHNlbGJlciBTY2h1bGQsIHdlbm4gZXIgdW50ZXIgZGllIFJhZWRlciwgYWVoLApSZWlmZW4ga29tbXQuCgpWYXJsKiwgYmxlaWJ0IGVoIGxpZWJlciB6dWhhdXNlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogUmFuZmFobj8gKEltZGEsICA1LiBKdWwgMjAwMiwgMTU6NDA6MjUpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1ODc2MDYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApVbmQgd2VubiBlciBuZWQgenVydWVja3NjaGF1dCB3aXJmc3QgZHUgRGljaCBpbm5lbiBHcmFiZW4gb2RlciB3YXMgPwpPZGVyIGdyYWQgZGllLCB3b3MgQmxpbmtlbiB2ZXJnZXNzZW4uIERlciBSYWRmYWhyZXIgemllaHQgaGFsdCBkZW4ga3VlcnplcmVuLgpXZW1zIGRhcyB3ZXJ0IGlzLi4uCgpJbWRhLiBEZXIgc2ljaCBncmFkIHZvcnp1c3RlbGxlbiB2ZXJzdWNodCwgbWl0bSBBY3Ryb3NmYWhyZXIgQXVnZW5rb250YWt0CnVlYmVyIEJvcmRzdGVpbnNwaWVnZWwgYXVmenVuZWhtZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBSYW5mYWhuPyAoSmFtZXNvbiwgIDUuIEp1bCAyMDAyLCAxNTo0MjoyMSk6Cn4jISBybj1JbWRhIHJ0PTEwMjU4NzY0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkhhYiBpY2ggbmljaHQgZ2VzY2hyaWViZW4gIm5lYmVuIGhpbmZhaHJlbiByZWljaHQgbmljaHQiPyA6KSBJbSBad2VpZmVsc2ZhbGwKbGllYmVyIHVlYmVyIGRpZSBMaW5pZSBmYWhyZW4sIGRhbWl0IER1IGRlbiByaWNodGlnZW4gV2lua2VsIGJla29tbXN0LiBPZGVyCmViZW4gbmljaHQgc28gZHJhZW5nZWxuIHVuZCBkYWhpbnRlciBibGVpYmVuIC0gZGFzIGhhdHRlbiB3aXIgZG9jaCBqZXR6dCBzY2hvbgpvZnQgZ2VudWcuXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFJhbmZhaG4/IChIaXJ1ZG8sICA1LiBKdWwgMjAwMiwgMTU6NDU6MjUpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1ODc2NTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApkaWUgZnJhZ2UgaXN0IGltbWVyIG5vY2gsIG9iIGVzIG5vZXRpZ3VuZyBpc3QsIHdlbm4gaWNoIG1pdCBtZWluZW0gYXV0byBnYW56CnJlY2h0cyBzdGVoZSB1bmQgc28gdmVyaGluZGVyZSwgZGFzcyBlaW4gZmFocnJhZGZhaHJlciByZWNodHMgYW4gbWlyIHZvcmJlaQpmYWVocnQuIG1laW4gYXV0b2xhY2sgaXN0IG1pciBuYWVtbGljaCBldHdhcyB3ZXJ0dm9sbGVyIGFscyBkaWUgMzAgc2VrdW5kZW4sCmRpZSBkZXIgcmFkZmFocmVyIGdld2lubnQsIHdlbm4gZXIgc2ljaCB6ZXJrcmF0emVuZGVyd2Vpc2UgYW4gbWVpbmVtIGF1dG8Kdm9yYmVpIHNjaGllYnQuCgpoaXJ1ZG8KCnBzOiBhdWYgZGVyIGZhaHJiYWhuIGlzdCBLRUlOIGFiZ2V0cmVubnRlciBiZXJlaWNoIGZ1ZXIgcmFkZmFocmVyIHZvcmhhbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBSYW5mYWhuPyAoSW1kYSwgIDUuIEp1bCAyMDAyLCAxNTo0NjowMyk6Cn4jISBybj1KYW1lc29uIHJ0PTEwMjU4NzY1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkFsc28gYmVpIFJvdCB1ZWJlciBkaWUgQW1wZWwgPyA7KSBOdWphLCB3aXJkIGVoIG9mdCBnZW51ZyBnZW1hY2h0LCB1bmQgbWlyCnNvbGxzIGVnYWwgc2Vpbi4uLiBWZXJzdGVoIGFsbGVyZGluZ3Mgc293aWVzbyBuaWNodCwgd2FydW0gZGllIHJhZGZhaHJlcnMgYW4KZGVyIEFtcGVsIHVuYmVkaW5ndCBlcnN0ZXIgc2VpbiBtdWVzc2VuLCBudXIgdW0gc2ljaCBkYW5uIGlubmVyaGFsYiB2b24gMwpNaW51dGVuIHdpZWRlciB2b24gMzggQXV0b3MgbWl0IDMwY20gQWJzdGFuZCB1ZWJlcmhvbGVuIHp1IGxhc3Nlbi4gTWFzb2NoaXNtdXMKPyBPZGVyIGhhYiBpY2ggbnVyIGlyZ2VuZHdhcyBmYWxzY2ggdmVyc3RhbmRlbiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogUmFuZmFobj8gKEJpcmR5LCAgNS4gSnVsIDIwMDIsIDE1OjQ2OjEzKToKfiMhIHJuPUhpcnVkbyBydD0xMDI1ODc2NzI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApzb2xhbmdlIGR1IGF1ZiBkZWluZXIgZmFocmJhaG4gc3RlaHN0LCBrYW5uc3QgZHUgc3RlaGVuLCB3byBkdSB3aWxsc3QuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUmFuZmFobj8gKEN1Y2h1bGxpbiwgIDUuIEp1bCAyMDAyLCAxNTo0NzoxOSk6Cn4jISBybj1CaXJkeSBydD0xMDI1ODc2NzczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApXZW5uIER1IHp1IHdlaXQgcmVjaHRzIHN0ZWhzdCwgbXVzcyBpY2ggRGlyIGRhbm4gbGVpZGVyIERlaW5lbiBkYWVtbGljaGVuCkxhY2sgemVya3JhdHplbiA7bykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogUmFuZmFobj8gKEFub3JpcywgIDUuIEp1bCAyMDAyLCAxNTo0Nzo0MCk6Cn4jISBybj1IaXJ1ZG8gcnQ9MTAyNTg3NjcyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKRGEgX211ZXNzZW5fIChpbiBDSCB6dW1pbmRlc3QpIHNvd2llc28gZGllIHZvcmRlcnN0ZW4gMyBBdXRvcyBhdWYgZGVyIHJlY2h0ZW4KU2VpdGUgZGljaHQgbWFjaGVuLgoKR2VuYXUgdW0gc293YXMgenUgdmVyaGluZGVybi4KCkdlc3RyaWNoZWx0ZSBMaW5pZSBkYXJmIGdlYnJhdWNodCB3ZXJkZW4sIHdlbm4gRmFocnJhZGZhaHJlciBuaWNodCBiZWhpbmRlcnQKd2lyZCwgZHVyY2hnZXpvZ2VuZSBMaW5pZSBkYXJmIHVlYmVyaGF1cHQgbmljaHQgZ2VicmF1Y2h0IHdlcmRlbi4KCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUmFuZmFobj8gKEhpcnVkbywgIDUuIEp1bCAyMDAyLCAxNTo0Nzo1Nyk6Cn4jISBybj1CaXJkeSBydD0xMDI1ODc2NzczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApkYXMgd29sbHRlIGljaCBkb2NoIG51ciBob2VyZW4uIG1pY2ggbmVydnQgZXMgbmFlbWxpY2ggZGVuc2VsYmVuIHJhZGZhaHJlcgo0bWFsIHp1IHVlYmVyaG9sZW4sIHdlaWwgaWNoIG5pY2h0IG1pdCAzMGNtIGFic3RhbmQgYW4gaWhtIHZvcmJlaWZhaHJlLgoKZmF6aXQ6IHJhZGZhaHJlciB2ZXJ1cnNhY2hlbiBzdGF1cyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFJhbmZhaG4/IChBcmssICA1LiBKdWwgMjAwMiwgMTU6NTY6MDIpOgp+IyEgcm49SW1kYSBydD0xMDI1ODc2NzYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApJY2ggc3RhbmQgYWxsZXJkaW5ncyBuaWUgZ2VybmUgaGludGVyIGVpbmVtIGFsdGVuIEdvbGYsIGRlciBtaXIgUnVzc2ZhaG5lbiBpbnMKR2VzaWNodCBxdWFsbXQuIERhbm4gc2Nob24gbGllYmVyIHZvcm5lIG5lYmVuIGlobSwgdW0gZGVtIEZhaHJlciB0YWRlbG5kZQpCbGlja2UgenV6dXdlcmZlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUmFuZmFobj8gKEphbWVzb24sICA1LiBKdWwgMjAwMiwgMTU6NTY6MDgpOgp+IyEgcm49QmlyZHkgcnQ9MTAyNTg3Njc3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKa2xlaW5lciBGZWhsZXIuLi4gS3JhZnRmYWhyemV1Z2UgKGF1c3NlciBNb2ZhcykgbXVlc3NlbiBpbW1lciBpbiBkZXIgTWl0dGUKaWhyZXIgRmFocmJhaG4gZmFocmVuL3N0ZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBSYW5mYWhuPyAoQmlyZHksICA1LiBKdWwgMjAwMiwgMTY6MDA6MjQpOgp+IyEgcm49SmFtZXNvbiBydD0xMDI1ODc3MzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNAppY2ggc2NoYWV0eiBtYWwsIDEwJSBhbGxlciBhdXRvcyBzdGVoZW4gYW4gZWluZXIgYW1wZWwgbWl0dGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFJhbmZhaG4/IChDdWNodWxsaW4sICA1LiBKdWwgMjAwMiwgMTY6MDE6MTQpOgp+IyEgcm49QmlyZHkgcnQ9MTAyNTg3NzYyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKTnVyIHdlaWwgZGllIE1laHJoZWl0IGVpbiBiZXN0aW1tdGVzIFZlcmhhbHRlbiB6ZWlndCwgaXN0IGRhcyBWZXJoYWx0ZW4Kbm9jaCBsYW5nZSBuaWNodCByaWNodGlnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBSYW5mYWhuPyAoSW1kYSwgIDUuIEp1bCAyMDAyLCAxNjowMjoxOCk6Cn4jISBybj1CaXJkeSBydD0xMDI1ODc3NjI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApkZWZpbmllcmUgIm1pdHRpZyIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYW5mYWhuPyAoTGlhcmEsICA1LiBKdWwgMjAwMiwgMjM6MjY6MjcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMjU4Njg5MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CmEpIHVuZCBiKSB2ZXJib3RlbiwgenUgYykga2FubiBpY2ggbnVyIHNhZ2VuLCBkYXNzIGVzIGluIEJvbm4gZXh0cmEgWm9uZW4gYW4KQW1wZWxuIGdpYnQsIGRpZSBkYWZ1ZXIgZWdkYWNodCBzaW5kLCBkYXNzIHNpY2ggUmFkZmFocmVyIHZvciBkZW4gQXV0b2ZhaHJlcm4KcGxhdCh6KWllcmVuIGtvZW5uZS4KClpaTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmFuZmFobj8gKExpYXJhLCAgNS4gSnVsIDIwMDIsIDIzOjI4OjUzKToKfiMhIHJuPUJvaW5nIHJ0PTEwMjU4Njk3ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkhtLCBhbHNvIGluIGRlciBGYWhyc2NodWxlIGhhdHRlIGRlciBGYWhybGVocmVyIGRhbWFscyBkaWVzZSAnYXVzcmVpY2hlbmQKUmF1bScgZGVmaW5pZXJ0LiBJY2ggd2Vpc3MgZGllIFphaGwgbGVpZGVyIG5pY2h0IG1laHIgZ2VuYXUsIGFiZXIgZXMgd2FyIHNvCnZpZWwsIGRhc3MgYXVmIGVpbmVyIG5vcm1hbGVuIFN0cmFzc2UgZWlnZW50bGljaCBuaWUgYXVzcmVpY2hlbmQgUmF1bQp2b3JoYW5kZW4gaXN0LiA7LSkKWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUmFuZmFobj8gKEh1bW5pLCAgNi4gSnVsIDIwMDIsIDA4OjU4OjA1KToKfiMhIHJuPUxpYXJhIHJ0PTEwMjU5MDQ1MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkFsc28sIGljaCBmYWhyZSBpbW1lciByZWNodHMgYW4gQXV0b3Mgdm9yYmVpICh3ZW5uIGljaCBGYWhycmFkIGZhaHJlKSB1bmQgd2VubgppY2ggQXV0byBmYWhyZSBzY2hhdWUgaWNoIGF1Y2ggaW1tZXIsIGRhcyBoYXQgbWFuIG1pciBzY2hvbiBpbiBkZXIgRmFocnNjaHVsZQpzbyBiZWlnZWJyYWNodC4uLgoKTmFqYS4gRGVtbmFlY2hzdCBkYXJmIGljaCB2ZXJtdXRsaWNoIGVpbmVuIE1vbmF0IGxhbmcgenUgRnVzcyBsYXVmZW4sIGljaCBiaW4Kdm9yZ2VzdGVybiBhdWYgZGVyIEF1dG9iYWhuIG1pdCAxNjAgKHRpcHAgaWNoIG1hbCkgZ2VibGl0enQgd29yZGVuLCB3byAxMDAKZXJsYXVidCB3YXJlbi4gTmVpbiwga2VpbmUgQmF1c3RlbGxlLCB3aXJkIHdvaGwgdHJvdHpkZW0gYWVyZ2VybGljaCwgYmVzb25kZXJzCmRhIDEwMCBNZXRlciBuYWNoIGRlciBCbGl0emUgKGRpZSB3b2hsIGFsbGUga2FubnRlbiB1bmQgZGEgbGFuZ3NhbSBnZWZhaHJlbgpzaW5kLCBudXIgaWNoIERvb2YgbmF0dWVybGljaCBuaWNodCkgc2Nob24gZGllIGVyc3RlbiB3aWVkZXIgYW5maW5nZW4gaGludGVyCm1pciB6dSBkcmFlbmdlbG4uLi4KCkh1bW5pLCBpc3QgbmF0dWVybGljaCB0cm90emRlbSBzZWxic3Qgc2NodWxkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFJhbmZhaG4/IChWaW5jZW50LCAgNi4gSnVsIDIwMDIsIDEyOjI0OjA5KToKfiMhIHJuPUhpcnVkbyBydD0xMDI1ODc2NzI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApXZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUgbXVlc3NlbiBBdXRvcyBhdWYgZGVyIHJlY2h0ZW4gU2VpdGUgUGxhdHoKZnVlciBGYWhycmFkZmFocmVyIGFuIGRlciBBbXBlbCAoYXVjaCByZWNodHNhYmJpZWdlciBBbXBlbCkgbGFzc2VuLiAKQW5kZXJlcnNlaXRzIHdpcmQgd29obCBrYXVtIGVpbiBSYWRmYWhyZXIgZWluZW4gQXV0b2ZhaHJlciBhbnplaWdlbiwgd2VubgpkaWVzZXIgcmVjaHRzIGRpY2h0IG1hY2h0LgoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFJhbmZhaG4/IChMYXJpc3NhLCAgNi4gSnVsIDIwMDIsIDE5OjQ1OjA4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTAyNTk1MTA0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSGloaSwKCndhcyBmdWVyIGVpbiB0aHJlYWQgOikKCk1hY2h0IGVzIGVpZ2VudGxpY2ggcmVjaHRsaWNoIGVpbmVuIFVudGVyc2NoaWVkIHdlbm4gbWFuIHNpY2ggcmVjaHRzCnZvcmJlaW1vZ2VsdCBvYndvaGwgKG5vY2ggd2VpdGVyIHJlY2h0cykgZWluIFJhZHdlZyBpc3Q/CgpMYXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogUmFuZmFobj8gKEltZGEsICA2LiBKdWwgMjAwMiwgMTk6NDU6NDQpOgp+IyEgcm49TGFyaXNzYSBydD0xMDI1OTc3NTA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApKdXBwLiBEZW5uIGRhbm4gaGFzdGUgYXVmIGRlciBTdHJhc3NlIG5peCB2ZXJsb3JuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSYW5mYWhuPyAoRGFyaWEsICA3LiBKdWwgMjAwMiwgMTM6NDI6MzUpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTAyNTg2OTQ3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKCkFscyBCZWlmYWhyZXIgbWFjaHQgbWFuIGltIFZFcmtlaHIgZGllIFR1ZXIgVUVCRVJIQVVQVCBuaWNodCBhdWYuCkVnYWwgb2IgZGFzIEF1dG8gc3RlaHQgb2RlciBuaWNodCwgYWJlciBlcyBoYWVsdCBqYSBuaWNodCAoaW0KVkVycmtlaHJzamFyZ29uKS4KCk15IDUgY2VudCwKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJhbmZhaG4/IChIaWdodCwgIDcuIEp1bCAyMDAyLCAxNzo1OToxMSk6Cn4jISBybj1EYXJpYSBydD0xMDI2MDQyMTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApobW1tbSBpY2ggd2Vpc3MgamEgbmljaCBhYmVyIGJldm9yIGljaCBtaWNoIGFuIDEwMCBtZXRlciBzdGF1IHZvciBuZXIgYW1wZWwKdm9yYmVpbW9nZWwgZmVodCBpY2ggZ2xlaWNoIGF1Zm0gYnVlcmdlcnN0ZWlnIApkYSBiaW4gaWNoIGRhbm4gaW0gbm90ZmFsbCBkZXIgc3RhZXJrZXJlICxvKSAKZGFzIGljaCBkYW5uIGt1cnogdm9yIGRlciBhbXBlbCB3aWVkZXIgYXVmIGRpZSBzdHJhc3NlIHdlY2hzZWwgbWFnIHp3YXIgbmljaApkaWUgZmVpbmUgZW5nbGlzY2hlIHNlaW4gYWJlciBzYXZlCgpoaWdodCA0IHBmZW5uaWNoIGlubmUga2Fzc2Ugd2VyZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUmFuZmFobj8gKFBpbGdyaW0sICA3LiBKdWwgMjAwMiwgMjI6NTg6NDEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyNTg2OTc4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKPiBSdWJyaWsgMTogYWxsZ2VtZWluZXMsIEFydGlrZWw6IDI4IHZvbiA2MAo+IFJlXjg6IFJhbmZhaG4/IChCb2luZywgIDUuIEp1bCAyMDAyLCAxMzo0OTo0Nyk6Cj4gW0JlenVnOiBBcnRpa2VsIDI3IHZvbiBBbmFjcmlvbiB2b20gIDUuIEp1bCAyMDAyLCAxMzo0Nzo0MV0KPiAKPiBJY2ggaGFicyB1ZWJyaWdlbnMsIFN0cmFzc2VudmVya2VocnNvcmRudW5nIFBhcmFncmFwaCA1LCBBYnNjaG5pdHQgODoKCkZ1ZXIgQWxsZSAuLi4gU3RWTyBvbmxpbmUgLi4uCmh0dHA6Ly93d3cuZHZyLmRlL2FzcC9kbXMuYXNwP3VybD0vbWVkaWVuL2Zha3Rlbi9zdHZvLzEuaHRtCgo+IElzdCBhdXNyZWljaGVuZGVyIFJhdW0gdm9yaGFuZGVuLCBkdWVyZmVuIFJhZGZhaHJlciB1bmQgTW9mYS1GYWhyZXIKPiBGYWhyemV1Z2UsIGRpZSBhdWYgZGVtIHJlY2h0ZW4gRmFocnN0cmVpZmVuIHdhcnRlbiwgbWl0IG1hZXNzaWdlcgo+IEdlc2Nod2luZGlna2VpdCB1bmQgYmVzb25kZXJlciBWb3JzaWNodCByZWNodHMgdWViZXJob2xlbi4KV29taXQgaW0gRWluemVsbGZhbGwgRGlza3Vzc2lvbnNiZWRyYWYgdWViZXI6IGF1c3NyZWljaGVuZCBSYXVtLCBtYWVzc2lnZXIKR2VzY2h3LiB1bmQgCmJlcy4gVm9yc2ljaHQgZGEgaXN0IQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFJhbmZhaG4/IChQaWxncmltLCAgNy4gSnVsIDIwMDIsIDIzOjA3OjExKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAyNjA3NTUyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKWnVtIHRoZW1hICdtaXR0aWcnOgpNZWluIEZhaHJsZWhyZXIgaGF0IG1pciBkYW1hbHMgYmVpZ2VicmFjaHQgLi4uIFdlbm4gaWNoIG5pY2h0IHdpbGwsIGRhcwpzaWNoIGVpbmVyIHZvcmJlaXNjaGxhZW5nZWx0IC4uLiBnYWFhYW56IHJlY2h0cyBzdGVoZW4gKGFuIGRlciBBbXBlbCkuCgp6dW0gdGhlbWEgdm9yYmVpc2NobGFlbmdlbG46IEljaCBtYWNocyBudXIgbm9jaCwgd2VubiBzaWNoZXJnZXN0ZWxsdCBpc3QsIGRhcwptaWNoIGRpZSBnYW56ZW4gQXV0b3MgbmljaHQgZ2xlaWNoIHdpZWRlciAoZ2VmYWhybGljaGVyd2Vpc2UpIHVlYmVyaG9sZW4KbXVlc3Nlbi4KClBpbGdyaW0KClBTOiBTaWNoZXJoZWl0c2Fic3RhbmQgQXV0by1mYWhyYWQgKG9kZXIgTW9wZWQvLi4uKSBzaW5kIHVlYmVyaWdlbnMgMSw1IG0KKG5pY2h0IGRhcyBzaWNoIGplbWFuZCBkcmFubiBoaWVsdGUpIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhbmZhaG4/IChEZWVwYmx1ZSwgIDguIEp1bCAyMDAyLCAxOToxNzoyOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAyNTg2ODkxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKYSkgbnVyIExpbmtzCmIpIG51ciBsaW5rcwpjKSBsaW5rcyBzb3dpZXNvLCByZWNodHMgbnVyIHdlbm4gYXVzcmVpY2hlbmQgcGxhdHogaXN0IHVuZCBudXIgbWl0IG1hZXNzaWdlcgpnZXNjaHdpbmRpZ2tlaXQgYW4gIndhcnRlbmRlbiBGYWhyemV1Z2VuIiB2b3JiZWkuIEFsbGVyZGluZ3Mgc29sbHRlIG1hbiBzaWNoCnVlYmVybGVnZW4sIHdvIG1hbiBzaWNoIGRhbm4gYXVmc3RlbGx0LCBpbSB0b3RlbiBXaW5rZWwgZWluZXMgcmVjaHRzYmxpbmtlbmRlbgpMS1cgaXN0IG1hbiBuaWNodCBzbyB0b2xsIGF1ZmdlaG9iZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmFuZmFobj8gKEdyaW1tYm9ybiwgIDguIEp1bCAyMDAyLCAxOToyMToxOSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDI2MTQ4NjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApJY2ggd2Vpc3MgbmljaHQsIGlyZ2VuZHdpZSBzZWlkIGlociBhbGxlcyBXZWljaGVpZXIsIGthbm4gZGFzIHNlaW4/IFZlcm11dGxpY2gKc3RlaWd0IGlociBhdWNoIHZvbSBSYWQgd2VubiBpaHIgdmVya2VocnQgaGVydW0gaW4gZWluZXIgRWluYmFobnN0cmFzc2UKdW50ZXJ3ZWdzIHNlaWQuIApHb2xkZW5lIFJlZ2VsOiBBbHMgUmFkZmFocmVyIGRhcmYgbWFuIGFsbGVzLiBBbGxlcmRpbmdzIHNvbGx0ZSBtYW4gZGFiZWkKYXVmcGFzc2VuIHdpZSBlaW4gTHVjaHMsIGRlbm4gZWlucyBkYXJmIG1hbiBkYWJlaSBuaWNodDogQmVpIHNvd2FzIGF1ZiBkaWUKTmFzZSBrcmllZ2VuIHVuZCBzaWNoIGRhbm4gYmVzY2h3ZXJlbi4gV29iZWkgZWluZSB2b24gZWluZW0gYW4gZWluZXIgQW1wZWwKd2FydGVuZGVuIEF1dG8gYXVmZ2VyaXNzZW5lIFR1ZXIgc2VociBoaW50ZXJydWVja3MgaXN0IHVuZCBkZWZpbml0aXYgenUgTGFzdGVuCmRlcyBBdXRvZmFocmVycyBnZWh0OiBXZXIgZWluZSBUdWVyIGF1Zm1hY2h0IGhhdCBnZWZhZWxsaWdzdCB2b3JoZXIgenUgZ3Vja2VuLgpPaG5lIEVpbnNjaHJhZW5rdW5nZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJhbmZhaG4/IChEZWVwYmx1ZSwgIDguIEp1bCAyMDAyLCAxOToyMzowMSk6Cn4jISBybj1Cb2luZyBydD0xMDI1ODY5NjMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNAouLi4gc29mZXJuIGRlciByYWRsZXIgbnVyIG1pdCBtYWVzc2lnZXIgZ2VzY2h3aW5kaWdrZWl0IGZ1aHIuIEFuc29uc3RlbgpNaXRzY2h1bGQgdm9uIHZlcm11dGxpY2ggMjUgb2RlciAzMyUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJhbmZhaG4/IChHcmltbWJvcm4sICA4LiBKdWwgMjAwMiwgMTk6Mjg6MzQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAyNjE0ODk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKRGFzIHdhZ2UgaWNoIHp1IGJlendlaWZlbG4uIERhIGthbm4gZWluIFVmbyBtaXQgTWFjaCAwLjggYW5rb21tZW4sIHdlbm4gRHUgZXMKaGFldHRlc3Qgc2VoZW4ga29lbm5lbiAoZXMgYWxzbyBuaWNodCB1bSBkaWUgRWNrZSBnZXNjaG9zc2VuIGthbSkgYmlzdCBEdQpkcmFuLiBEYXMgaXN0IGVpbmZhY2ggc28gZGVybWFzc2VuIGVpbmRldXRpZywgYmVpIHdhcnRlbmRlbSBBdXRvIGRpZSBUdWVyIHp1Cm9lZmZuZW4gLSBkYXMgaXN0IGphIG5vY2ggc2NobGltbWVyIGFscyBiZWkgcGFya2VuZGVtIEF1dG8gZGllIFR1ZXIgenUKb2VmZm5lbiwgdW5kIHNjaG9uIGRhIGhhc3QgRHUga2VpbmUgQ2hhbmNlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogUmFuZmFobj8gKERlZXBibHVlLCAgOC4gSnVsIDIwMDIsIDE5OjMwOjAwKToKfiMhIHJuPUxhcmlzc2EgcnQ9MTAyNTk3NzUwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKbm9ybWFsZXJ3ZWlzZSBtdXNzIGRlciAoc3RyYXNzZW5iZWdsZWl0ZW5kZSkgcmFkd2VnIGJlbnV0enQgd2VyZGVuLCBhYmVyIGVzCmdpYnQgYXVzbmFobWVuLiBVbmQgd2VubiBtYW4gd2lya2xpY2ggc3VjaHQsIGZpbmRldCBzaWNoIGVpZ2VudGxpY2ggYmVpIGplZGVtCnJhZHdlZyBlaW4gR3J1bmQsIGlobiBsZWdhbCBuaWNodCB6dSBiZW51dHplbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFJhbmZhaG4/IChHcmltbWJvcm4sICA4LiBKdWwgMjAwMiwgMTk6MzM6MzYpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAyNjE0OTQwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKTm9jaG1hbCBkZXV0bGljaGVyOiBEdSBhcmd1bWVudGllcnN0IGRhc3MgZGVyamVuaWdlLCBkZXIgZGllIFR1ZXIgb2VmZm5ldCwgYXVzCmRlbSBTY2huZWlkZXIgaXN0ICh6dW1pbmRlc3QgdGVpbHdlaXNlKSB3ZW5uIGVyIG5pY2h0IGRhbWl0IHJlY2huZW4ga29ubnRlCmRhc3MgZGEgd2FzIGtvbW10IHVuZCBzaWNoIGFsc28gbmljaHQgdW1nZXNjaGF1dCBoYXQuIFVuZCBpY2ggYmV6d2VpZmVsIGdlbmF1CmRhczogd2VubiBlciBkaWUgVHVlciBvZWZmbmV0IG11c3MgZXIgZ3Vja2VuLCBhdWNoIHdlbm4gZGFzIGVpbnppZ2UsIHdhcwprb21tZW4ga29lbm50ZSwgZWluIHJ1c3Npc2NoZXMgVS1Cb290IGlzdC4gTUFXOiBFciBoYXQgZGllIHZvbGxlIFBmbGljaHQgdm9yCk9lZmZuZW4gZGVyIFR1ZXIgc2ljaCB1bXp1Z3Vja2VuLiBJbW1lci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFJhbmZhaG4/IChHbG9pbnNvbiwgIDkuIEp1bCAyMDAyLCAwMjoxMjo0Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNjE0OTYxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKTWFnIGVyIGhhYmVuLCBkaWVzZSBQZmxpY2h0LiBBYmVyIGRhcyBrYW5uIG1hbiBkYW5uIGxlaWRlciBuaWNodCBzbyBhdWYgZGllClNjaHVsZGZyYWdlIHVlYmVydHJhZ2VuLiBTdGljaHdvcnQgIm1hZXNzaWdlIEdlc2Nod2luZGlna2VpdCIuCkVpbmUgQmVrYW5udGUgdm9uIG1pciBpc3Qgc2VociBzY2huZWxsZSBSYWRmYWhyZXJpbi4gTGF1dCBpaHIgaXN0IG1hbiBhbHMKUmFkZmFocmVyIGFiIGVpbmVyIEdlc2Nod2luZGlna2VpdCB2b24gMjUga20vaCBpbW1lciB0ZWlsc2NodWxkaWcsIGRhIG1hbiBhYgpkZW0gTW9tZW50IGFscyBuaWNodCBtZWhyIGVpbnNjaGFldHpiYXIgc2NobmVsbCBnaWx0LiBELmguIGVpbiBhdXRvZmFocmVyCmJyYXVjaHQgbmljaHQgenUgZXJ3YXJ0ZW4sIGRhc3MgaWNoIG1pdCBkZW0gUmFkIHNjaG5lbGxlciBiaW4uCkFsc28gZ2FueiBhYmdlc2VoZW4gZGF2b24sIGRhc3MgbWFuIHJlaW4gcGh5c2lzY2ggc2Nob24gdmVybGllcnQgdW5kIG51cgpkZXNoYWxiIGFsbGVzIGRhcmYgd2VubiBtYW4gd2VuZGlnZXIsIHNjaG5lbGxlciB1bmQgZ2x1ZWNrbGljaGVyIGlzdCB3dWVyZGUKbWFuIGltIFp3ZWlmZWxzZmFsbCBzb2dhciBub2NoIHZvciBHZXJpY2h0IGVpbnMgYXVmIGRpZSBNdWV0emUgYmVrb21tZW4uCgpHbG9pbihzb24pLCBmYWVyaHQgbnVyIGF1ZiBsYW5nZW4gU3RyZWNrZW4gdW50ZXIgMjUga20vaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFJhbmZhaG4/IChEZWVwYmx1ZSwgIDkuIEp1bCAyMDAyLCAwMjoyMjo0Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNjE0OTYxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKSWNoIGhhYiBuaXJnZW5kcyBnZXNhZ3QsIGRhc3MgZXIgImF1cyBkZW0gU2NobmVpZGVyIiBpc3QuIEljaCBoYWIgbnVyIGdlc2FndCwKZGFzcyBlaW4gUmFkZmFocmVyLCBkZXIgcmVjaHRzIHp1IHNjaG5lbGwgdm9yYmVpZmFlaHJ0IGltIFN0cmVpdGZhbGwgdm9yCkdlcmljaHQgaS5kLlIuIGVpbmUgTWl0aGFmdHVuZyBiZWtvbW10LCBzb2Zlcm4gZGVyIFVuZmFsbCBiZWkgIm1hZXNzaWdlcgpHZXNjaHdpbmRpZ2tlaXQiIGhhZXR0ZSB2ZXJtaWVkZW4gd2VyZGVuIGtvZW5uZW4uIExlaWRlciBsaWVmZXJ0IGF1Y2ggS2V0dGxlcgooIlJlY2h0IGZ1ZXIgUmFkZmFocmVyIikga2VpbmUgRGVmaW5pdGlvbmVuIGRlciBHdW1taWJlZ3JpZmZlCkFuIGFuZGVyZXIgU3RlbGxlIChNaXRiZW51dHp1bmcgdm9uIEZhaHJyYWRzdHJhc3NlbiBkdXJjaCBhbmRlcmUgRmFocnpldWdlKQp3aXJkICJtYWVzc2lnZSBHZXNjaHdpbmRpZ2tlaXQiIGFiZXIgbWl0IGNhLiAyMCBrbS9oIGRlZmluaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBSYW5mYWhuPyAoTXVhZGliLCAgOS4gSnVsIDIwMDIsIDEwOjA2OjM5KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMjYxNzQxNjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CmlzdCBlcyBzY2hsaW1tIHdlbm4gaWNoIGRpZSBhdXRvcyBsaW5rcyB1ZWJlcmhvbGUsIGF1Y2ggd2VubiBlcyBuaWNodAp2b3JzaWNodGlnIHVuZCBhdWNoIG5pY2h0IG1pdCBtYWVzc2lnZXIgZ2VzY2h3aW5kaWdrZWl0IGdlc2NoaWVodCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogUmFuZmFobj8gKFBpbGdyaW0sICA5LiBKdWwgMjAwMiwgMTA6MTk6MjEpOgp+IyEgcm49TXVhZGliIHJ0PTEwMjYyMDE5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0Ck5vZSwKCnNvbGFuZ2Ugbml4IHBhc3NpZXJ0ISA7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBSYW5mYWhuPyAoRGVlcGJsdWUsICA5LiBKdWwgMjAwMiwgMTM6MDU6MDEpOgp+IyEgcm49TXVhZGliIHJ0PTEwMjYyMDE5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CmRhIGdlbHRlbiBkaWUgIm5vcm1hbGVuIFJlZ2VsbiB6dW0gVWViZXJob2xlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFJhbmZhaG4/IChab29rLCAgOS4gSnVsIDIwMDIsIDE0OjEwOjAwKToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMjYyMTI3MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkFjaG5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgbmUgRnJhZ2UuLi4gKFNvdSwgMTAuIEp1bCAyMDAyLCAxMzo0MTowNSk6ClN0dWRpZXJ0IGhpZXIgamVtYW5kIE1lZGllbi1EZXNpZ24sIG9kZXIgYWVobmxpY2hlcz8KV2FlcmUgbmV0dCB3ZW5uIGRlci9kaWVqZW5pZ2Ugc2ljaCBtZWxkZW4gd3VlcmRlLCBkYW5rZSA6KQoKU291IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogUmFuZmFobj8gKEthcnRvZmZlbCwgMTIuIEp1bCAyMDAyLCAyMjoyOTowNSk6Cn4jISBybj1ab29rIHJ0PTEwMjYyMTY2MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkhhbGxvZWxlLAoKaWNoIG1laW5lIG1pY2ggenUgZXJpbm5lcm4sIGRhc3MgZXMgbWFsIGVpbiBVcnRlaWwgenVtIER1cmNoc2NobGFlbmdlbG4gdm9uCk1vdG9ycmFkZmFocmVybiBpbSBTdGF1IGdhYiwgbmFlbWxpY2gsIGRhc3MgZGllc2UgZGVuIEFiZ2FzZW4gc3RhZXJrZXIKYXVzZ2VzZXR6dCBzaW5kIGFscyBkaWUgQXV0b2ZhaHJlciB1bmQgaWhuZW4gbmljaHQgenVnZW11dGV0IHdlcmRlbiBrYW5uLApnZW5hdXNvIGR1bW0gcnVtenVzdGVoZW4gd2llIGRpZSBBdXRvZmFocmVyLCBzcHJpY2ggc2llIHNpY2ggaW0gU3RhdQpkdXJjaG1vZ2VsbiBkdWVyZmVuLgpadW0gVGhlbWEgUmFkZmFocmVyOiBJY2ggaGF0dGUgd29obCBkZW4gZ2xlaWNoZW4gRmFocmxlaHJlciB3aWUgUGlsZ3JpbSwgaWNoCnN0ZWxsIG1pY2ggYXVjaCBpbW1lciBzY2hvZW4gcmVjaHRzIGFuIGRlbiBSYW5kLCB3ZW5uIFJhZGZhaHJlciBpbSBCbGljawpzaW5kLi4uCgoKR3J1c3MsCmBUb2ZmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBSYW5mYWhuPyAoR3JpbW1ib3JuLCAxMi4gSnVsIDIwMDIsIDIyOjMwOjI3KToKfiMhIHJuPUthcnRvZmZlbCBydD0xMDI2NTA1NzQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApBaCwgaWhyIHNlaWQgZGFzIGFsc28uIFR1dCBtaWNoIGVjaHQgbGVpZCwgaWhyLiBEYXMgbWl0IGRlbSBMYWNrIHdhciB3aXJrbGljaAprZWluZSBBYnNpY2h0LCBpY2gga2FubiBkYSBuaWNodHMgZGFmdWVyLiBVbmQgZGVtbmFlY2hzdCBrb21tZW4gYXVjaCB3aWVkZXIKZGllc2UgR3VtbWlncmlmZmUgYW4gZGVuIExlbmtlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFJhbmZhaG4/IChHbG9pbnNvbiwgMTIuIEp1bCAyMDAyLCAyMzoyMDozNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNjUwNTgyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKUGZydC4gRGEgZmFlaHJ0IG1hbiBsaW5rcyB2b3JiZWkgdW5kIHN0ZWxsdCBzaWNoIGRpcmVrdCB2b3IgZGFzIEF1dG8uCgpXaWVzbyBzb2xsZW4gZWlnZW50bGljaCAoTW90b3IpUmFkZmFocmVyIEFiZ2FzZW4gc3RhZXJrZXIgYXVzZ2VzZXR6dCBzZWluPyBOdXIKd2VpbCBkaWUgYW5kZXJlbiBDTywgU08yLCBOT3ggYXVmIEF1c3B1ZmZob2VoZSBlaW5hbXRlbiBhYmVyIHNpY2ggZGVuIFJ1c3MKd2VnZmlsdGVybiBsYXNzZW4/CgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogUmFuZmFobj8gKEN1Y2h1bGxpbiwgMTIuIEp1bCAyMDAyLCAyMzoyMTo0NCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDI2NTA4ODM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNTg2ODkxNApFaW4gKE1vdG9yKVJhZGZhaHJlciBoYXQgbGVpY2h0ZSBQcm9ibGVtZSBkYW1pdCwgbWFsIGViZW4gZGFzIEZlbnN0ZXIKaG9jaHp1a3VyYmVsbiB1bmQgYXVmIFVtbHVmdCB6dSBzY2hhbHRlbi4gU29sbHRlIHNvZ2FyIERpciBlcnNpY2h0bGljaApzZWluLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBSYW5mYWhuPyAoR2xvaW5zb24sIDEyLiBKdWwgMjAwMiwgMjM6MjU6NTQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjY1MDg5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkVya2xhZXIgbWlyIGRhcyBtaXQgZGVyIFVtbHVmdD8gSXN0IGRhcyBkaWUgdW0gZGFzIEF1dG8gaGVydW1zdGlua2VuZGUgTHVmdAood2lyIHN0ZWhlbiBpbSBTdGF1Pykgb2RlciBpc3QgZGFzIGRpZSBzdGlua2VuZGUgTHVmdCwgZGllIGljaCBnZXJhZGUgc2Nob24KZWlubWFsIGVpbmdlYXRtZXQgaGFiZSBudXIgbm9jaG1hbCBhdWYgUGFydGlrZWwgZ2VmaWx0ZXJ0PyBXb3p1IGhhYmUgaWNoCmVpZ2VudGxpY2ggTmFzZW5zY2hsZWltaGFldXRlLCB3ZW5uIGljaCBzaWUgZG9jaCBkdXJjaCBlaW5lbiBBdXRvbHVmdGZpbHRlcgplcnNldHplbiBrYW5uPyBVbmQgd2llc28gc2luZCBkaWVzZSBHYXNlIG5vY2ggZGVyIEdlc3VuZGhlaXQgYWJ0cmFlZ2xpY2gsIHdvCnNpZSBkb2NoIGdlZmlsdGVydCB3b3JkZW4gc2luZD8KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBSYW5mYWhuPyAoQ3VjaHVsbGluLCAxMi4gSnVsIDIwMDIsIDIzOjM1OjI0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjY1MDkxNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkVzIGdlaHQgbWlyIG5pY2h0IHVtIGRpZSBTdGF1cyBhdWYgZGVyIEF1dG9iYWhuLiBXZXIgbGFlbmdlciBzdGVodCB1bmQKZGllIEthcnJlIG5pY2h0IGF1c21hY2h0LCB2ZXJoYWVsdCBzaWNoIHZlcmFudHdvcnR1bmdzbG9zLi4uIEltIENpdHktClZlcmtlaHIgc2luZCBnZW5hdXNvdmllbGUgQXV0b3MgYXVmIGVpbmVtIHdlbmlnZXIgenVnaWdlbiBSYXVtIGFscyBlaW5lClVlYmVybGFuZHN0cmFzc2UuIFVuZCBkaWUgd2VuaWdzdGVuIExldXRlIG1hY2hlbiBpbiBkZXIgU3RhZHQgZGVuIApNb3RvciBhdXMsIG51ciB3ZWlsIHNpZSBtYWwgMiBNaW51dGVuIG5pY2h0IHZvcndhZXJ0c2tvbW1lbiAod2FzIHNpZSAKb2huZWhpbiBpbiB3ZW5pZ2VuIEZhZWxsZW4gYW50aXppcGllcmVuIGtvZW5uZW4pLiAKClVuZCB3ZW5uIER1IGVpbmUgS2FycmUgbWl0IGRyZWkgS3ViaWttZXRlcm4gTHVmdHZvbHVtZW4gaGFzdCwgaGFzdCBEdQpkcmVpIEt1YmlrbWV0ZXIgTHVmdCBtZWhyIGFscyBlaW4gUmFkZmFocmVyLgoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFJhbmZhaG4/IChHbG9pbnNvbiwgMTMuIEp1bCAyMDAyLCAwMToyMDowOCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyNjUwOTcyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjU4Njg5MTQKPiBkaWUgS2FycmUgbmljaHQgYXVzbWFjaHQsIHZlcmhhZWx0IHNpY2ggdmVyYW50d29ydHVuZ3Nsb3MuLi4KClNvIGlzdCBhYmVyIGRpZSBSZWFsaXRhZXQuIEljaCBzdGFuZCBnZXN0ZXJuIHdpZWRlciBhbSBCYWhudWViZXJnYW5nIC4uLgoKPiBVbmQgd2VubiBEdSBlaW5lIEthcnJlIG1pdCBkcmVpIEt1YmlrbWV0ZXJuIEx1ZnR2b2x1bWVuIGhhc3QsIGhhc3QKPiBEdSBkcmVpIEt1YmlrbWV0ZXIgTHVmdCBtZWhyIGFscyBlaW4gUmFkZmFocmVyLgoKVm9yYXVzZ2VzZXR6dCwgRHUgc2NoYWx0ZXN0IGF1Y2ggc29mb3J0IGRpZSBVbXdhZWx6bHVmdCBlaW4uIEphLCBpY2gga2VubiBkZW4KaGVrdGlzY2hlbiBHcmlmZi4gVW5kIGljaCB3ZWlzcywgZGFzcyBtYW4gZXMgaW0gU3RvcC11bmQtR28gZ2FueiBzY2huZWxsCmxhZXNzdC4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBSYW5mYWhuPyAoT3JrdG9ldGVyLCAxNC4gSnVsIDIwMDIsIDE2OjE4OjU2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjY1MTYwMDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0CkFsc28sIGluIGRlciBQcmF4aXMgKGxldHplciBPa3RvYmVyKS4gVHVlciBnaW5nIGF1ZiB1bmQgaWNoIGRhbm4gaW5zCktyYW5rZW5oYXVzLi4uIERpZSBWZXJzaWNoZXJ1bmcgZGVzIEF1dG9mYWhyZXJzIGhhdCBnYXIgbmljaHQgZXJzdCBkZW4gVmVyc3VjaApnZW1hY2h0IG5hY2h6dWZyYWdlbiB3aWUgc2NobmVsbCBpY2ggZGVubiB3YXIuIFdlciBlaW5lIEF1dG90dWVyIGF1Zm1hY2h0IG9obmUKenUgc2NoYXVlbiBoYW5kZWx0IGVpbmZhY2ggZ3JvYiBmYWhybGFlc3NpZy4KCk9ya1QsIG1pdCBsYWVkaWVydGVyIFNjaHVsdGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhdHVsaWVyZSBtZWluIFNvaG4hIChab29rLCAxNi4gSnVsIDIwMDIsIDExOjU1OjAwKToKTnVuIGlzdCBlaW4gd2VpdGVyZXIgTmFjaGtvbW1lIGluIGRpZSBSaWVnZSBkZXIgVm9sbG1hZ2llciBhdWZnZW5vbW1lbgp3b3JkZW4uIEljaCBiaW4gc2VociBzdG9seiBhdWYgRGljaCwgSGlydWRvLiBWaWVsIFNwYXNzIGFscyBWb2xsbWFnaWVyCnVuZCB2aWVsZSBLZXJiZW4uLi4uLiA7KSkpCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEJvaW5nLCAxNi4gSnVsIDIwMDIsIDExOjU1OjM2KToKfiMhIHJuPVpvb2sgcnQ9MTAyNjgxMzMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKTGFzcyBEaXIga2VpbmVuIE1pc3QgZWlucmVkZW4sIEtlcmJlbiBzaW5kIG5pY2h0IGRhcyB3YXMgemFlaGx0IC4uLiBwcm9nZyAKbGllYmVyIHdhcyBzY2hvZW5lcywgd2FzIFNwYXNzIG1hY2h0IC4uLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoWm9vaywgMTYuIEp1bCAyMDAyLCAxMTo1NjozMik6Cn4jISBybj1Cb2luZyBydD0xMDI2ODEzMzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApab29rIG5pY2t0IE9wYSBCb2luZyB6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChIaXJ1ZG8sIDE2LiBKdWwgMjAwMiwgMTE6NTk6MTEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyNjgxMzMzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKd28gaXN0IGRhIGRlciB1bnRlcnNjaGllZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoQW50aGVhLCAxNi4gSnVsIDIwMDIsIDExOjU5OjQ5KToKfiMhIHJuPUhpcnVkbyBydD0xMDI2ODEzNTUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApEaWUgTWVuZ2UgZGVyIEVpbnRyYWVnZSBpbSAucmVwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEthc3BhciwgMTYuIEp1bCAyMDAyLCAxMzoyMDoxNSk6Cn4jISBybj1IaXJ1ZG8gcnQ9MTAyNjgxMzU1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKRGVyIFVudGVyc2NoaWVkIGlzdCBnYW56IGVpbmZhY2g6CkVzIGlzdCBhYnNvbHV0IGVpbmZhY2gsIGVpbiBLaWxsZXJnZWJpZXQgenUgcHJvZ2dlbiwgaW4gZGVtIGplZGVyIFNwaWVsZXIKdW5kIFNlaGVyIHZlcnJlY2t0LCBkYXMgaXN0IGtlaW4gUHJvYmxlbS4gRGFubiBrYW5uIG1hbiBtaXQgZGVuIEtlcmJlbiBhbi0KZ2ViZW4gb2RlciBzaWNoIFJMIGRhbWl0IGJydWVzdGVuIHdlciBkZW5uIGhldXRlIHNjaG9uIHdpZWRlciBhbGxlcwp2b24gbmVtIGJlc3RpbW10ZW4gTlBDIHp1IExhcnMgZ2VzY2hpY2t0IHd1cmRlLgpEaWUgS3Vuc3QgYmVzdGVodCBkb2NoIGRhcmluLCBlaW4gR2ViaWV0IHp1IHByb2dnZW4sIGRhcyBiZWlkZW4gU2VpdGVuCmdlZmFlbGx0LiBOZWhtZW4gd2lyIGRvY2ggYWxzIEJlaXNwaWVsIGVpbm1hbCBBcmsuIEdlaHQgbmljaHQgamVkZXNtYWwKZWluIFJhdW5lbiBkdXJjaCBkaWUgU3BpZWxlci0gdW5kIFNlaGVyc2NoYWZ0LCB3ZW5uIGVzIE5ldWFuc2NobHVlc3NlIHZvbQpncm9zc2VuIE1laXN0ZXIgZ2lidD8gV2FzIGdpYnQgZXMgYWxzIFNwaWVsZXIgYmVzc2VyZXMsIHdlbm4gZWluICJyb2hyaG9lcmUiCmFsbGVpbmUgZGVuIHJlc3Bla3RpZXJ0ZW4gTWFnaWVybmFtZW4gYXVzc3B1Y2t0IChnaWJ0IHNpY2hlciBub2NoIGFuZGVyZQphdXNzZXIgQXJrKSB1bmQgbWFuIHdlaXNzOiBHbGVpY2ggZ2VodHMgbG9zIDopClVuZCBpY2ggZGVua2UgYXVjaCBuaWNodCwgZGFzcyBlcyBTcGllbGVyL1NlaGVyIGdpYnQsIGRpZSBzb2xjaGUgR2ViaWV0ZQpkYW5uIGZ1ZXIgdW5mYWlyIGhhbHRlbiAoYXVjaCB3ZW5uIGVzIGFiIHVuZCB6dSBnZXdlaW5lIGdpYnQgYmVpIGVpbmVyIG5ldWVuCk1hZ2llcmlkZWUgZGllIGRhbm4gbWFsIGZ1ZXIgZGVuIFNwaWVsZXIgbWl0IExhcnNiZXN1Y2ggZW5kZXQpLgoKS3VyeiB1bmQgZ3V0OiBEaWUgTWlzY2h1bmcgbWFjaHRzLCB3ZXIgZGllIE1pc2NodW5nIHRyaWZmdCB3aXJkIGFuZ2ViZXRldCwKdW5kIGRlc3NlbiBHZWJpZXRlIHdlcmRlbiBiZXN1Y2h0LCBzbyBlaW5mYWNoIGlzdCBkYXMgOikKCi1WZWN0b3ItCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEFyaywgMTYuIEp1bCAyMDAyLCAxNDo1MTo1Nik6Cn4jISBybj1LYXNwYXIgcnQ9MTAyNjgxODQxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKV28gd2lyIGdyYWQgdm9tIEFuYmV0ZW4gc3ByZWNoZW4sIG1pciBpc3QgZ3JhZCB6dSBPaHJlbiBnZWtvbW1lbiwgZGFzcyBzaWNoCmVpbiBzaWNoIGxhbmd3ZWlsZW5kZXMgTW9uc3RlciBpbiBkZXIgV3Vlc3RlIGVyZm9sZ3JlaWNoIG1pdApiZWxvaG51bmdzbWFlc3NpZ2VyIEF1ZndlcnR1bmcgYmVzY2hhZWZ0aWd0IGhhdC4KKmhpbnQgaGludCoKCjteKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoQXJrLCAxNi4gSnVsIDIwMDIsIDE1OjUyOjMwKToKfiMhIHJuPUthc3BhciBydD0xMDI2ODE4NDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApOYWNoZGVtIGRpZSBUcmFlbmVuIGRlciBSdWVocnVuZyB3ZWdnZXdpc2NodCBzaW5kLCBrbGVpbmUgTWVpbnVuZ3NhZXVzc2VydW5nOgphdWNoIEdlYmlldGUsIGRpZSBsdC4gZGl2ZXJzZW4gU3RhbW10aXNjaGdlc3ByYWVjaGVuIG9kZXIgUGFydHl2ZXJrdWVuZHVuZ2VuCm5pY2h0IHNvIHRvbGwgc2luZCwgd2VyZGVuIGJlc3VjaHQsIHdlbm4gc2llIERpbmdlIGVudGhhbHRlbiwgZGllIGZ1ZXIgdmllbGUKendpbmdlbmQgenVtICJFcmZvbGciIGltIFNwaWVsIGJlaXRyYWdlbjogS2lsbHN0dXBzZSwgUXVlc3RzLCBNaW5pcXVlc3RzLiBEYW5uCmJlc3VjaHQgbWFuIHNpZSBlYmVuIG51ciBlaW5tYWwgdW5kIGV2dGwuIHBlciBTY3JpcHQuCkFiZXIgYXVjaCBndXQgYmVzY2hyaWViZW5lL2dlbWFjaHRlIEdlYmlldGUgc2luZCBuaWNodCB2b3IgZWluZW0gc29sY2hlbgpTY2hpY2tzYWwgZ2VmZWl0LiBNaXIgZmFlbGx0IGF1Y2ggc3BvbnRhbiBuaXggZWluLCBlaW5lbiBTcGllbGVyIHp1bQptZWhyZmFjaGVuIEJlc3VjaCB6dSBhbmltaWVyZW4sIHdlbm4gZXIgbWVpbnQsIGFsbGVzIHB1bmt0cmVsZXZhbnRlIGltIEdlYmlldAphYmdlZ3Jhc3QgenUgaGFiZW4uIFVuZCBkYWJlaSBuZWhtZSBpY2ggTWV0emVsbW9uc3RlciB1bmQgdWViZXIgZGllc2UgenUKZXJoYWx0ZW5lLCB6YXAtYWVobmxpY2hlIFdhZmZlbi9SdWVzdHVuZ2VuL0l0ZW1zIGV4cGxpeml0IGF1cyA7XikKV2VubiBkYSBqZW1hbmQgSWRlZW4gaGF0LCBudXIgenUuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChHbG9pbnNvbiwgMTYuIEp1bCAyMDAyLCAxNTo1NDoxMSk6Cn4jISBybj1BcmsgcnQ9MTAyNjgyNzU1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKVW5pcXVlLUZQcy4gRXMgZ2lidCB6ZWhuIFN0dWVjayBkYXZvbiwgdW5kIHdlbm4gZWluZXIgZGFzIGVsZnRlIE1hbCBkZW4gRlAKaG9sdCwgdmVyZmFlbGx0IGVyIGJlaW0gZXJzdGVuLgoKR2xvaW4oc29uKSwgdmVyc3VjaHQgZXJuc3QgenUgc2NoYXVlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChIaXJ1ZG8sIDE2LiBKdWwgMjAwMiwgMTU6NTk6NDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNjgyNzY1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKYWJlciBkZXIgb3J0IGRlcyBGUHMgcm90aWVydCBhdWNoLCBhbHNvIHdlaXNzIG1hbiBuaWNodCwgd28gbWFuIGlobgp3aWVkZXJiZWtvbW10IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEdsb2luc29uLCAxNi4gSnVsIDIwMDIsIDE2OjAwOjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjY4Mjc2NTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI2ODEzMzAwCk9rb2ssIGVpbmUgSWRlZSBvaG5lIFB1bmt0ZToKRWluIEZsdWNoLCBkZXIgZWluZW4gendpbmd0IGltbWVyIHdpZWRlciBpbiBkYXMgR2ViaWV0IHp1IHNjcmlwdGVuIHVtIHNpY2ggZGVuCnNjaHdhcnplbiBSb3R6IGF1cyBkZXIgU2VlbGUgenUgcmVpc3NlbiAoTmljaHRjaGFvdGVuKS9kZW4gc2NoZWluaGVpbGlnZW4KTW9yYWxzYWJiZXIgdm9uIGRlbiBXYW5nZW4genUgd2lzY2hlbiAoQ2hhb3RlbikuIEFuc29uc3RlbiB3ZXJkZW4gdm9tIEZsdWNoCndhaGxsb3MgRlBzIGdlbG9lc2NodC4KRGEgd2FyZW4gbmljaHQgZGlyZWt0IFB1bmt0ZSBkcmluLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChDdWNodWxsaW4sIDE2LiBKdWwgMjAwMiwgMTY6MDI6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNjgyODAyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKU3RlbGwgZWluZmFjaCBlaW4gRG9rby1UaXNjaCwgZWluIFRJRSwgZWluIE1hZXhjaGVudGlzY2ggby5hZS4gcmVpbi4gCk1hbmNobWFsIGhpbGZ0IGRhcyB1bmQgU3BpZWxlciBrb21tZW4gaW1tZXIgd2llZGVyLi4uIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChCb2luZywgMTYuIEp1bCAyMDAyLCAxNjowMjo0MSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyNjgyODEyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKVmVyZ2lzcyBkYXMgU2NoYWNoYnJldHQgbmljaHQhIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoR2xvaW5zb24sIDE2LiBKdWwgMjAwMiwgMTY6MDI6NTUpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjY4MjgxMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI2ODEzMzAwCldpZSB2aWVsZSBMZXV0ZSBzcGllbGVuIGhpZXIgU2thdD8gOikKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoQ3VjaHVsbGluLCAxNi4gSnVsIDIwMDIsIDE2OjAzOjAxKToKfiMhIHJuPUJvaW5nIHJ0PTEwMjY4MjgxNjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI2ODEzMzAwClNjaGFjaCBpc3QgenUgaW50ZWxsZWt0dWVsbCBmdWVyIE11ZGRlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEFyaywgMTYuIEp1bCAyMDAyLCAxNjowMzoxNyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyNjgyODEyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKSXN0IGphIG1pdCBBdWZ3YW5kIHZlcmJ1bmRlbi4gS2FtIG1hbCBuaWNodCBqZW1hbmQgYXVmIGRpZSBJZGVlLCBNYWdpYyB6dQpwcm9ncmFtbWllcmVuIGltIE11ZD8gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChHcmltbWJvcm4sIDE2LiBKdWwgMjAwMiwgMTY6MDM6MzMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNjgyODE3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKU2thdCBzcGllbGVuIGltbWVyIGRyZWkgTGV1dGUuIEFiZXIgZGFzIGdlaHQgamEgc2Nob24gd29hbmRlcnMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEdsb2luc29uLCAxNi4gSnVsIDIwMDIsIDE2OjAzOjM5KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDI2ODI4MTgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApBcmsga2FubiBqYSBTaWVkbGVyIHZvbiBDYXRhbiBtaXQgYWxsZW4gRXJ3ZWl0ZXJ1bmdlbiBlaW5iYXVlbi4gQXVmIGRpZQpBU0NJSS1FbmdpbmUgYmluIGljaCBnZXNwYW5udC4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEN1Y2h1bGxpbiwgMTYuIEp1bCAyMDAyLCAxNjowNDoxNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDI2ODI4MjE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApaZXJicmVjaGUgbWlyIGdyYWQgZGVuIEtvcGYgZGFydWViZXIsIG9iIHVuZCB3aWUgc2ljaCBSb2JvUmFsbHkgaW4KQXNjaWkgdW1zZXR6ZW4gbGFlc3N0Li4uIDopCgpjdWNoIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHcmF0dWxpZXJlIG1laW4gU29obiEgKFBhbmljLCAxNi4gSnVsIDIwMDIsIDE2OjA0OjIxKToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDI2ODI4MTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMAotIG1hY2ggZWluZSBUb3BsaXN0ZSwgd2VyIGRpZSBNb25zdGVyIGluIGRlciBab25lIGFtIGhhZXVmaWdzdGVuIGtpbGx0IDo+Ci0gbGFzcyBkaWUgZ3V0ZW4gR2VnZW5zdGFlbmRlIHZvbiBkb3J0IG51ciBlaW5lIFdvY2hlIGhhbHRlbi4uLgoKd3dpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChBcmssIDE2LiBKdWwgMjAwMiwgMTY6MDQ6MzYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNjgyODIxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjY4MTMzMDAKTGFuZ3NhbSB3dWVyZGVuIHdpciBkYW5uIGxpemVuenJlY2h0bGljaGUgUHJvYmxlbWUgYmVrb21tZW4uIFd1cmRlbiBkZXNoYWxiCm5pY2h0IGF1Y2ggZGllIE5hbWVuIGRlciBEcmFrb25pZXIgZ2VhZW5kZXJ0PyBTbyByZWluIHByYWV2ZW50aXY/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEdyYXR1bGllcmUgbWVpbiBTb2huISAoR2xvaW5zb24sIDE2LiBKdWwgMjAwMiwgMTY6MDY6MjYpOgp+IyEgcm49QXJrIHJ0PTEwMjY4MjgyNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI2ODEzMzAwClZvcnNjaGxhZzogU3VkbGVyIHZvbiBLb3Rlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBHcmF0dWxpZXJlIG1laW4gU29obiEgKEN1Y2h1bGxpbiwgMTYuIEp1bCAyMDAyLCAxNjoxNDoyNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDI2ODI4Mzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMAphbHNvIGljaCBtdXNzIHNhZ2VuLCBkYXNzIGljaCBoaWVyIGltIE11ZCBEb0tvIGdlbGVybnQgaGFiZSB1bmQgamV0enQKLSB6dW1pbmRlc3QgenVyIFVudGVyaGFsdHVuZyBhbmRlcmVyIC0gYXVjaCBpbiBkZXIgTGFnZSBiaW4sIGRhcyBkYQpkcmF1c3NlbiBpbiBkZXIgZnJlaWVuIFdlbHQgenUgc3BpZWxlbi4gSW5zb2Zlcm4gaGF0IHNpY2ggZGVyIHNhZ2VuIAp3aXIgImdlc2VsbHNjaGFmdGxpY2hlIE51dHplbiIgZGVyIGluLW11ZCBTcGllbGUgc2Nob24gZXJ3aWVzZW4uIDopCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChab29rLCAxNi4gSnVsIDIwMDIsIDE2OjE1OjM1KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDI2ODI4ODY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNjgxMzMwMApab29rIG5pY2t0LCBlaW5lbiBiZXN0aW1tdGVuIFNhdHp0ZWlsIGJlc29uZGVycyBiZXRyYWNodGVuZCwgQ3VjaCogenUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogR3JhdHVsaWVyZSBtZWluIFNvaG4hIChXYXJnb24sIDE2LiBKdWwgMjAwMiwgMTk6MTY6NDcpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjY4MjgyNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI2ODEzMzAwCkFsc28genVtaW5kZXN0IGluaGFsdGxpY2ggd3VlcmRlIHNpY2ggZGFzIGluIGVpbmVtIEZhbnRhc3ktTVVEIGFscyBHb2xlbS1SYWxseQphbmJpZXRlbiAoUHJvZ3JhbW1pZXJtZXRob2RlIHNpZWhlICJGZWV0IG9mIENsYXkiIHZvbiBUZXJyeSBQcmF0Y2hldHQpLgpQcm9ibGVtYXRpc2NoZXIgd2lyZCBkYSBzY2hvbiBkaWUgRGFyc3RlbGx1bmcuIFZpZWxsZWljaHQgbWl0ClVlYmVyYmxpY2stTW9kdXMsIGluIGRlbSBqZWRlcyBGZWxkIGdyb2IgZHVyY2ggZWluIFplaWNoZW4gZGFyZ2VzdGVsbHQgd2lyZCwKdW5kIGVpbiBEZXRhaWwtTW9kdXMsIGluIGRlbSBqZWRlcyBGZWxkIGluIGRlciBVbWdlYnVuZyBkZXMgZWlnZW5lbiBHb2xlbXMKZHVyY2ggM3gzIFplaWNoZW4gZGFyZ2VzdGVsbHQgd2lyZD8KQXVjaCBlaW4gUHJvamVrdCwgZGFzcyBzY2hvbiBsYWVuZ2VyIGtlaW5lciBhbmZhc3NlbiB3aWxsLi4uIDopCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXNzY2hyZWlidW5nLi4uIChab29rLCAyNi4gSnVsIDIwMDIsIDExOjQyOjI2KToKRWluZXIgZGVyIEVyem1hZ2llciBzZXR6dCBlaW5lIEtpc3RlIEJpZXIgZnVlciBkZW4gU3BpZWxlciBhdXMsIGRlciB6dWVyc3QKZGVuIFNwaWVsZXJsZXZlbCAyMDAgZXJyZWljaHQuCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXNzY2hyZWlidW5nLi4uIChHb3IsIDI2LiBKdWwgMjAwMiwgMTQ6MTM6MDQpOgp+IyEgcm49Wm9vayBydD0xMDI3Njc2NTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNzY3NjU0NgpBaGEsIGRhbm4gZ2VoZSBpY2ggYWxzbyBkYXZvbiBhdXMsIGRhcyBkZXIgTFZMIDEyNyBCdWcgbWl0dGxlcndlaWxlIGdlZml4dAppc3Q/IH07LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXVzc2NocmVpYnVuZy4uLiAoWm9vaywgMjYuIEp1bCAyMDAyLCAxNDoxNToyOCk6Cn4jISBybj1Hb3IgcnQ9MTAyNzY4NTU4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjc2NzY1NDYKV2VubiBlcyBlaW5lbiBCdWcgZ2FlYmUsIGdhZWJlIGVzIGV0d2FzIHp1IGZpeGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1c3NjaHJlaWJ1bmcuLi4gKEFudGhlYSwgMjYuIEp1bCAyMDAyLCAxNDoxNjoyMik6Cn4jISBybj1ab29rIHJ0PTEwMjc2ODU3Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI3Njc2NTQ2Ckhhc3QgRHUgZXMgZGVubiBzY2hvbiBtYWwgYXVzcHJvYmllcnQ/IFNjaG5lbGwgbWFsIGVpbmVuIFp3ZWl0aWUgYmlzIGF1ZiBMZXZlbAoxMjggaG9jaHNwaWVsZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdXNzY2hyZWlidW5nLi4uIChHb3IsIDI2LiBKdWwgMjAwMiwgMTQ6MTc6MzgpOgp+IyEgcm49QW50aGVhIHJ0PTEwMjc2ODU3ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI3Njc2NTQ2CldhcnVtIGRlbm4gaG9jaHNwaWVsZW4/IFdlZGVyIHNldHplbiBtaXQgWHRvb2wga2xhcHB0IG5vY2gga2xhcHB0IGVzIG1pdApmaW5naWVydGVuIEZQUyB1bmQgS2lsbHN0dXBzZW4gTGV2ZWwgMTI4IHp1IGVycmVpY2hlbi4gQWxzbyBzY2hlaW50IG1pciBkYSBpc3QKZG9jaCBlaW4gQnVnLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXVzc2NocmVpYnVuZy4uLiAoWm9vaywgMjYuIEp1bCAyMDAyLCAxNDoxODozNCk6Cn4jISBybj1Hb3IgcnQ9MTAyNzY4NTg1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjc2NzY1NDYKQW5hbG9nIHp1ICJFaW4gQmxpY2sgaW5zIEdlc2V0eiBlcmxlaWNodGVydCBkaWUgUmVjaHRzZmluZHVuZyIgZW1wZmVobGUKaWNoICJFaW4gQmxpY2sgaW4gZGVuIENvZGUgZXJsZWljaHRlcnQgZGFzIFZlcnN0YWVuZG5pcyIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQXVzc2NocmVpYnVuZy4uLiAoR29yLCAyNi4gSnVsIDIwMDIsIDE0OjE5OjM2KToKfiMhIHJuPVp3aXJpb24gcnQ9MTAyNzY4NTkxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjc2NzY1NDYKV2FydW0gc29sbHMgbWlyIGtsYXJlciB3ZXJkZW4/IEVzIGdlaHQgbmljaHQsIGZlcnRpZy4gV2FydW1zIG5pY2h0IGdlaHQKaW50ZXJlc3NpZXJ0IG1pY2ggbmV0IGRpZSBCb2huZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEF1c3NjaHJlaWJ1bmcuLi4gKFpvb2ssIDI2LiBKdWwgMjAwMiwgMTQ6MjA6MDgpOgp+IyEgcm49R29yIHJ0PTEwMjc2ODU5NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI3Njc2NTQ2ClRqYSwgc28gemVpZ3QgZWJlbiBqZWRlciwgd2FzIGVyIGthbm4uLi4gCgoKWm9vayBncmluc3Qgc2ljaCBlaW5zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQXVzc2NocmVpYnVuZy4uLiAoR29yLCAyNi4gSnVsIDIwMDIsIDE0OjI2OjIyKToKfiMhIHJuPVpvb2sgcnQ9MTAyNzY4NjAwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjc2NzY1NDYKV2VubiBkdSBldHdhcyBGb3JzY2hlcmdlaXN0IGJld2llc2VuIGhhZXR0ZXN0IG1laW4gTGllYmVyLCBkYW5uIGhhZXR0ZXN0IGR1CmRpZSBlbnRzcHJlY2hlbmRlIEJlZGluZ3VuZyBtYWwgaW0gSG9tZW11ZCBlbnRmZXJudCB1bmQgdW1mYW5ncmVpY2hlIFRlc3RzCmRhbWl0IGdlbWFjaHQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQXVzc2NocmVpYnVuZy4uLiAoWm9vaywgMjYuIEp1bCAyMDAyLCAxNDoyNzo1NCk6Cn4jISBybj1Hb3IgcnQ9MTAyNzY4NjM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjc2NzY1NDYKV2llc28gaWNoPyA7KQoKWm9vayBraWNoZXJ0IGltbWVyIG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQXVzc2NocmVpYnVuZy4uLiAoUmlrdXMsIDI2LiBKdWwgMjAwMiwgMTQ6Mjg6NDApOgp+IyEgcm49Wm9vayBydD0xMDI3Njg2NDc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNzY3NjU0NgppY2gga2FubiBlcyBqYSBmaWVyIEdvcnNjaGUgMnRpZXMgYXVmIDEyNyBsYXNzZW4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEF1c3NjaHJlaWJ1bmcuLi4gKEdvciwgMjYuIEp1bCAyMDAyLCAxNDoyOTowNSk6Cn4jISBybj1SaWt1cyBydD0xMDI3Njg2NTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNzY3NjU0NgpCcmF1Y2hzdGUgbmljaHQsIDEyNyBmdW56dCBqYSBub2NoLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhciBXYXJzLUNvbiBpbiBIYW1idXJnIChTdGluZywgMjYuIEp1bCAyMDAyLCAyMzoxNzoyMyk6CkhhbGxvLAoKd29sbHRlIG51ciBtYWwgZnJhZ2VuIG9iIGhpZXIgdmllbGxlaWNodCBqZW1hbmQgYXVjaCBhdWYgZGllIFN0YXItV2Fycy1Db24gaW4KSGFtYnVyZyBFbmRlIE5vdmVtYmVyL0RlemVtYmVyIGdlaHQgPwoKZ3J1c3MKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldBQ0tFTiBPUEVOIEFJUiAoUWl0ZXNzLCAyNy4gSnVsIDIwMDIsIDEzOjA0OjQzKToKSGFsbG8uIEJyYXVjaHQgbm9jaCBqZW1hbmQgbmUgS2FydGUgZnVlciBkYXMgV2Fja2VuIE9wZW4gQWlyPyBJY2ggaGFldHRlIG5vY2gKZWluZSBhYnp1Z2ViZW4gLSBJbnRlcmVzc2VudGVuIG1lbGRlbiBzaWNoIGJpdHRlIHVudGVyIEIuR3JvaG1hbm5AdHUtYnMuZGUKRGFua2UuClFJKioga3VyeiB1bmQgYnVlbmRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBSYW5mYWhuPyAoQXBzdSwgMjcuIEp1bCAyMDAyLCAyMjowMjo1Mik6Cn4jISBybj1WaW5jZW50IHJ0PTEwMjU5NTEwNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI1ODY4OTE0ClZlcnN1Y2ggZGFzIG1hbCBtaXQgbmVtIDEyLVRvbm5lbi1MS1cgbWl0IFVlYmVyYnJlaXRlLgpBcHN1LCBmYWVocnQgYWIgdW5kIGFuIHNvbiBEaW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHlmb3RvcyB2b24gOTkgKEhhc2ltLCAyOC4gSnVsIDIwMDIsIDEwOjQ1OjAwKToKSGFsbG8sCmFscyBpY2ggbWlyIG1hbCB3aWVkZXIgZGllIEZvdG9zIHZvbiA5OSwgV2ludGVyZmV0ZSBNYXJidXJnIGFuZ3Vja2VuIHdvbGx0ZSwKZmllbCBtaXIgYXVmLCBkYXNzIGVpbmlnZSBmZWhsZW4uLi4gaXMgZGEgaXJnZW5kd2FzIHBhc3NpZXJ0c3MKSGFzaW0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHlmb3RvcyB2b24gOTkgKEhhc2ltLCAyOC4gSnVsIDIwMDIsIDEwOjU4OjU2KToKfiMhIHJuPUhhc2ltIHJ0PTEwMjc4NDU5MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI3ODQ1OTAwCipzY2hhZW0uLi4gaGF0IGVybGVkaWd0Li4uIGhhYiBtaWNoIHZlcmtsaWNrdCAqZ2cqCgpIYXNpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa29uc3Vtb3JpZW50aWVydGUgRWlua29tbWVuc3RldWVyLi4uIChab29rLCAyOS4gSnVsIDIwMDIsIDE2OjE4OjIxKToKV2VyIGRhcyBuZXVsaWNoIGF1ZiBkZXIgRWJlbmUgLWEgdmVyZm9sZ3QgaGF0IHVuZCBldHdhcyBtZWhyIGRhenUKZXJmYWhyZW4gbW9lY2h0ZSwga2FubiBpbiBkZXIgUnVicmlrIE1lZ3NjaG1hcnJuIGRlbiBBcnRpa2VsIDI0NiBsZXNlbiAKdW5kIGRlbiBkYXJhdWYgYXVmYmF1ZW5kZW4gVGhyZWFkLCBNaXRkaXNrdXRpZXJlbmRlIHNpbmQgaGVyemxpY2ggZWluZ2VsYWRlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGluZyAoWm9vaywgMjkuIEp1bCAyMDAyLCAyMTozMjozNSk6ClN0aW5nIGlzdCBhdXMgZGVtIEtyZWlzIGRlciBNYWdpZXIgdmVyc3Rvc3NlbiB3b3JkZW4uIEdydWVuZGUga2FubiBpY2ggRXVjaApsZWlkZXIga2VpbmUgbmVubmVuLCBhYmVyIGVyIGlzdCBudW4gd2llZGVyIGF1ZiBkZW0gU3BpZWxlcnN0YW5kIHZvbiB2b3IKc2VpbmVyIE1hZ2llcndlcmR1bmcsIGRhIGljaCBub2NoIGVpbiBhbHRlcyBTYXZlZmlsZSBnZWZ1bmRlbiBoYWJlLiAKCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVybWlzc3RlbmFuemVpZ2UgKExpYXJhLCAxNS4gQXVnIDIwMDIsIDIyOjIzOjI3KToKRGEgZ2ViZSBpY2ggZ3JhZGUgbWFsIGZzdGF0IGVpbiB1bmQgc2VoZSwgZGFzcyBzaWNoIERyYWNoZW5wYXBwYSBUeXJpb24KZ2Vsb2VzY2h0IGhhdD8KV2Vpc3MgamVtYW5kIGV0d2FzIGRhcnVlYmVyPwoKTGlhcmEsIHNlZWVociB0cmF1cmlnIDooCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbHVtcHMgaW5zIEtsbz8gKFNvbG15ciwgMjAuIEF1ZyAyMDAyLCAxODowMjo1OSk6CkF2ZSwKCnNhZ3QgbWFsLCBpc3QgZWlnZW50bGljaCBiZWthbm50LCBkYXMgd2VubiBtYW4gaW4gV2lsbGlidXJnIGlucyBLbG8gZmFlbGx0CnVuZCBtYW4gaGluYXVzIGtsZXR0ZXJ0IGltIGFuZGVyZW4gSW1iaXNzIHdpZWRlciBhdWZ0YXVjaHQ/IERhcyBpc3QgendhcgpuaWNodCB3aXJrbGljaCBlaW4gUHJvYmxlbSwgYWJlciB3ZW5uJ3Mgc2NobmVsbCBnZWhlbiBzb2xsIHVuZCBtYW4gYW0gTWV0emVsbgppc3QsIGRhbm4gdmVyc2FnZW4gZGllIFdlZ2VzY3JpcHRlIDopCgpGYXJlIHdlbGwsClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQbHVtcHMgaW5zIEtsbz8gKE1hbmRyYWdvbiwgMjAuIEF1ZyAyMDAyLCAxODozNDozMCk6Cn4jISBybj1Tb2xteXIgcnQ9MTAyOTg1OTM3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKS2xhci4gVW5kIHdlbm4gbWFuIGJlaSBTdXNpIGlucyBLbG8gZmFlbGx0LCBwYXNzaWVydCBkYXMgYXVjaC4KCk1hKgoKUC5TLjogS2xvK0ltYmlzcyBhYndlcnRlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGx1bXBzIGlucyBLbG8/IChFbGRhcm9uLCAyMC4gQXVnIDIwMDIsIDE4OjM5OjQzKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDI5ODYxMjcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpLbGFyLiBVbmQgd2VubiBtYW4gYmVpbSBQYXJhLUJhbHJvZyBpbnMgS2xvIGZhZWxsdCwgcGFzc2llcnQgZGFzIGF1Y2guCgpFbGRhcm9uCgpQLlMuOiBQYXJhLUJhbHJvZyBhYndlcnRlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBsdW1wcyBpbnMgS2xvPyAoTXVwZmVsLCAyMC4gQXVnIDIwMDIsIDE5OjMwOjExKToKfiMhIHJuPUVsZGFyb24gcnQ9MTAyOTg2MTU4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKSG0uLi4gYXVjaCB3ZW5uIGRlciBQYXJhLUJhbHJvZyBpbnMgS2xvIGZhZWxsdD8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGx1bXBzIGlucyBLbG8/IChSb2xhbmQsIDIxLiBBdWcgMjAwMiwgMTY6NTA6MTcpOgp+IyEgcm49U29sbXlyIHJ0PTEwMjk4NTkzNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkhpCgpVbSBkYXMgbWFsIHNvIHp1IHNhZ2VuLi4uCkRhcyB3YXIgbWlyIGF1Y2ggbWFsIGF1ZmdlZmFsbGVuIHVuZCB1bndpc3NlbmQgd2llIGljaCB3YXIgaGFiIGljaCBtaWNoIGRhIG1hbAphbiBuZW4gbWFnIGdlbWVsZGV0IHdlaWwgaWNoIGRhY2h0ZSBkYXMgZXMgbiBidWcgc2VpCgpOYWNoIHBydWVmdW5nIGRlciB1bXN0YWVuZGUga2FtbSBkYW4gaGVyYXVzIGRhc3MgZGFzIGVpbmZhY2ggaW1tZXIgaW4gZWluZW0KYXVmZmFuZ2JlY2tlbiBsYW5kZXQgendlY2tzIHByb2dnYXVmd2FuZGJlZ3Jlbnp1bmcgLi4uIDopIGFqbyB3aXN0IHdhcyBpY2gKbWVpbi4uLgoKUm9sYW5kIC4uLiBzZWl0IGRlbSBldHdhcyBzY2hsYXVlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQbHVtcHMgaW5zIEtsbz8gKEZvb2JhciwgMjEuIEF1ZyAyMDAyLCAxNjo1MjoxNyk6Cn4jISBybj1Sb2xhbmQgcnQ9MTAyOTk0MTQxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKVWVicmlnZW5zIGthbm4gbWFuIGRpZSBLbG9zIHByaW1hIGluIFdlZ2Vrc3JpcHRlIGVpbmJhdWVuLgoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBsdW1wcyBpbnMgS2xvPyAoQm9pbmcsIDIxLiBBdWcgMjAwMiwgMTY6NTg6MDMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMjk5NDE1Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkRhcmFuIGxpZWd0IGVzIHdvaGwgYXVjaCwgZGFzcyBoaWVyIGplZGVyIHJ1bWxhZXVmdCB3aWUgZWluIEd1ZWxsZWZhc3MgLi4uCipzZXVmeioKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGx1bXBzIGlucyBLbG8/IChGb29iYXIsIDIxLiBBdWcgMjAwMiwgMTY6NTk6NDEpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyOTk0MTg4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKRWluICJpZ25vcmllcmUgc2NoZWlzc2UiIHdhZXJlIHdvaGwgYW5nZWJyYWNodC4uLgoKQWJlciB3ZXIgd2Vpc3Mgd2FzIG1hbiBkYW5uIGFsbGVzIG5pY2h0IG1laHIgbWl0YmVrb21tdCA7bykKCkdydXNzLAoKICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQbHVtcHMgaW5zIEtsbz8gKEVsYmVyZXQsIDIxLiBBdWcgMjAwMiwgMTc6MDA6MDkpOgp+IyEgcm49Qm9pbmcgcnQ9MTAyOTk0MTg4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKbmVlLCBkYXMgbGllZ3QgZGFyYW4sIGRhc3MgbWFuIHN0YWVuZGlnIHJlaW5mYWVsbHQgdW5kIGRpZSBTZWhlcmhhZXVzZXIga2VpbmUKRHVzY2hlbiBoYWJlbi4gV2VubiBkYSBtYWwgZGFzIEdlc3VuZGhlaXRzYW10IGtvbW10LgoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGx1bXBzIGlucyBLbG8/IChNYW5kcmFnb24sIDIxLiBBdWcgMjAwMiwgMTc6MDU6MzMpOgp+IyEgcm49RWxiZXJldCBydD0xMDI5OTQyMDA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpLbG8rSW1iaXNzIGFiaGFlbmdlbiAoTUhPKSA6bykgCgpMb2VzdCBkYXMgUHJvYmxlbSByZWNodCBlbmRndWVsdGlnLgoKTWEqCgpQLlMuOiBWaWVsbGVpY2h0IGxvaG50IGVzIHNpY2ggZGFubiBhdWNoIG1hbCB3aWVkZXIsIG5lIEtuZWlwZSB6dSBwcm9nZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGx1bXBzIGlucyBLbG8/IChIaXNhc3VsLCAyMS4gQXVnIDIwMDIsIDE3OjA2OjU5KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDI5OTQyMzMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpEdSBoYXN0IHVlYmVyaGF1cHQga2VpbmUgQWhudW5nLgoKQmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQbHVtcHMgaW5zIEtsbz8gKEVsaXphYmV0aCwgMjEuIEF1ZyAyMDAyLCAxNzowODo1Nik6Cn4jISBybj1IaXNhc3VsIHJ0PTEwMjk5NDI0MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5Cipsb2wqIGRhcyBrb21tdCBpbnMgeml0YXRmaWxlISAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBsdW1wcyBpbnMgS2xvPyAoT3JrdG9ldGVyLCAyMS4gQXVnIDIwMDIsIDE3OjEyOjI2KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDI5OTQyNTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpJY2ggZmluZHMgamEgaW50ZXJlc3NhbnQsIHdpZSB2aWVsIFdlcnQgaGllciBhdWYgUm9sbGVuc3BpZWwgZ2VsZWd0IHdpcmQuIERhcwpzY2hlaW5iYXIgc2VsYnN0IEVsZmVuIGluIGtlaW5zdGVyIFdlaXNlIGRhdm9yIHp1cnVlY2tzY2hyZWNrZW4gZGllc2VsYmVuIFdlZ2UKenUgZ2VoZW4gd2llIHNpZSBad2VyZ2Ugd29obCByZWNodCBiZXJlaXR3aWxsaWcgZ2VoZW4uLi4KCk9ya1Qgd3VlbnNjaHQgbm9jaCB3ZWl0ZXIgZnJvaGVzIG1ldHplbG4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQbHVtcHMgaW5zIEtsbz8gKEVsYmVyZXQsIDIxLiBBdWcgMjAwMiwgMTc6MjY6MzUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMjk5NDI3NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CmhhYiBpY2ggbmljaHQgZ2VyYWRlIHdhcyB2b24gcmVpbmZhbGxlbiBnZXNjaHJpZWJlbiAuLi4uPyBpY2ggd3VlcmQgbWlyIGRhcwpnZXJuZSBzcGFyZW4sIHdpcmtsaWNoCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQbHVtcHMgaW5zIEtsbz8gKFNvbG15ciwgMjEuIEF1ZyAyMDAyLCAxODoyODowNik6Cn4jISBybj1Gb29iYXIgcnQ9MTAyOTk0MTUzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKSG1tLAoKaWNoIHRhbmtlIG51biBtYWwgdW5nZXJuZSBpbiBkZXIgdWViZXJmdWVsbHRlbiBUYW5rZSB1bmQgZ2VoZSBsaWViZXIKaW4gV2lsbGlidXJnIGdlbXVldGxpY2ggd2FzIGVzc2VuLCBiZXZvciBpY2ggbWljaCB3aWVkZXIgYW5kZXJlbiBXZXNlbgpzdGVsbGUuCgpXb2JlaSBqZXR6dCB3byBpY2ggZGFydWViZXIgbmFjaGRlbmtlLCBmYWVsbHRzIG1pciBhdWNoIGF1Zi4gSWNoIHRyaWdnZXIKZGFzIGluIFp1a3VuZnQgZWluZmFjaCB1bmQgbWFjaCBkYXJhdXMgZWluIFdlZ2VzY3JpcHQgdm9uIGRlciBUYW5rZSBpbQpPc3RlbiB6dXIgVGFua2UgaW0gV2VzdGVuIDopIERlciBHcnVuZCwgd2FydW0gZXMgbmljaHQgdmVyc2NoaWVkZWUgUmFldW1lCnVudGVyaGFsYiBkZXIgS2xvcyBmdWVyIHZlcnNjaGllZGVuZSBUYW5rZW4gZ2lidCwgaXN0IG1pciBhbGxlcmRpbmdzIGltbWVyCm5vY2ggc2NobGVpZXJoYWZ0LiBQcm9ncmFtbWllcmF1ZndhbmQgb2RlciBTcGVpY2hlcnNwYXJlbiwgZGFyYW4ga2FubgplcyBkb2NoIG51biB3aXJrbGljaCBuaWNodCBkaXJla3QgbGllZ2VuIG9kZXI/IFNvIGF1ZndlbmRpZyBzaW5kIGRpZSBSYWV1bWUKZG9jaCBudW4gYXVjaCBuaWNodCwgb2RlciA/IQoKRmFyZSB3ZWxsLApTb2xteXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBsdW1wcyBpbnMgS2xvPyAoQ3JvZnQsIDIxLiBBdWcgMjAwMiwgMTg6MzA6NDQpOgp+IyEgcm49U29sbXlyIHJ0PTEwMjk5NDcyODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5ClVuZCBiZWkgZGVyIEdlbGVnZW5rZWl0IGtvZW5udGUgbWFuIGF1Y2ggc2ljaGVyIGVpbmJhdWVuLCBkYXMgbWFuIGRlbgpSYXVtIHZlcmxhc3NlbiBrYW5uIHNvYmFsZCBtYW4gc2VsYnN0IGdlc3B1ZWx0IGhhdCB1bmQgbmljaHQgbWVociB3YXJ0ZW4KbXVzcywgZGFzIGplZGVyIGRpZXMgZ2V0YW4gaGF0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGx1bXBzIGlucyBLbG8/IChFbGJlcmV0LCAyMS4gQXVnIDIwMDIsIDE4OjUwOjM5KToKfiMhIHJuPUNyb2Z0IHJ0PTEwMjk5NDc0NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5Cndlbm4gbmljaHQgYWxsZSBnZXNwdWVsdCBoYWJlbiwga2FubnN0IGphIGlucyBLbG8gcmVpbmtyaWVjaGVuIGFuIGFuZGVyZXIKc3RlbGxlIHJhdXNrb21tZW4gdW5kIGhvZmZlbiBkYXNzIGRhIGFsbGUgZ2VzcHVlbHQgaGFiZW4gOykKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBsdW1wcyBpbnMgS2xvPyAoRWxpemFiZXRoLCAyMS4gQXVnIDIwMDIsIDE4OjUxOjU4KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAyOTk0ODYzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKbG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQbHVtcHMgaW5zIEtsbz8gKE9ya3RvZXRlciwgMjEuIEF1ZyAyMDAyLCAxODo1Mjo0OSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMjk5NDg2Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkljaCBoYWJlIG1pY2ggaW1tZXIgc2Nob24gdWViZXIgZGVuIFNwcnVjaCAiSW4gZGllc2VtIFNjaGVpc3NoYXVzIHdvaG50IGVpbgpHZWlzdCwgZGVyIGplZGVtIGRlciB6dSBsYW5nZSBTY2hlaXNzdCB2b24gdW50ZW4gaW4gZGllIEVpZXIgYmVpc3N0IiBpbiBzbwptYW5jaGVtIEtsbyBnZXd1bmRlcnQuLi4gamV0enQgd2VpcyBpY2ggZW5kbGljaCBkYXMgZGEgdm9yIEVsZmVuIGdld2FybnQgd2lyZCwKZGllIHZvbiB1bnRlbiBoZXJhdXNrbGV0dGVybiB3b2xsZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQbHVtcHMgaW5zIEtsbz8gKFNvbG15ciwgMjEuIEF1ZyAyMDAyLCAxOTo1MjoxNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAyOTk0ODc2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKRGFzIGhhZW5ndCBhYiBzb2ZvcnQgYmVpIG1pciBpbSBCYWQgOykgR29ldHRsaWNoLi4KCkZhcmUgd2VsbCwKU29sbXlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGx1bXBzIGlucyBLbG8/IChSb2xhbmQsIDIxLiBBdWcgMjAwMiwgMjE6NTU6MTApOgp+IyEgcm49U29sbXlyIHJ0PTEwMjk4NTkzNzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CmhtbW1tCmZyYWcgbWljaCBncmFkIHdpZXZpZWxlIGxldXRlIHdpcnIgbGF1ZmVuIHdlbm4gZGllIGtsb3MgZWluemVsYXVmZmFuZ2JlY2tlbgpiZWtvbW1lbiB1bmQgZGllIHNwZWVkc2NyaXB0ZSBuZW1tZXIgZ2VoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBsdW1wcyBpbnMgS2xvPyAoQmFtYmksIDIxLiBBdWcgMjAwMiwgMjM6Mzc6MDYpOgp+IyEgcm49RWxiZXJldCBydD0xMDI5OTQ4NjM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpJY2ggaGFiIGphIG5peCBkYWdlZ2VuLCB3ZW5uIGlociBsYWVzdGVydCwgYWJlciBzY2hyZWlidCBkb2NoIGJpdHRlIFd1cnplbCBuZQptYWlsIG9kZXIgd2FzIGlucyByZXBmaWxlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGx1bXBzIGlucyBLbG8/IChFbGJlcmV0LCAyMS4gQXVnIDIwMDIsIDIzOjM3OjQzKToKfiMhIHJuPUJhbWJpIHJ0PTEwMjk5NjU4MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CmxpZXN0IGRlciBkYXMgZGFubj8KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBsdW1wcyBpbnMgS2xvPyAoR2xvaW5zb24sIDIxLiBBdWcgMjAwMiwgMjM6NTU6MDUpOgp+IyEgcm49RWxiZXJldCBydD0xMDI5OTY1ODYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpOZWUsIGFiZXIgQmFtYmkgc2NocmVpYnQgaWhtIGRhbm4gZWluZSBNYWlsIHdvIHNlaW4gUmVwZmlsZSBpc3QgdW5kIHdpZSBXdXJ6ZWwKZXMgYXVzbGVzZW4ga2FubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGx1bXBzIGlucyBLbG8/IChQYXRyeW4sIDIyLiBBdWcgMjAwMiwgMTA6MTI6NTApOgp+IyEgcm49SGlzYXN1bCBydD0xMDI5OTQyNDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpoYXQgZXIgbmljaHQ/IGljaCBkYW5uIGF1Y2ggbmljaHQuCmljaCBmaW5kZSBkaWUga29tYm8gZG9ydCBzZWl0IGphaHJlbiB6dSBoZWZ0aWcsIG9kZXIgd2FydW0gc29uc3Qgd29obApyZW5udCBkYXMgaGFsYmUgbXVkIGRvcnQgaGluLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGx1bXBzIGlucyBLbG8/IChNYXRpcywgMjIuIEF1ZyAyMDAyLCAxMjoxOTowMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAyOTk0ODc2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKRHUgaGFzdGUgZGVuIHp3ZWl0ZW4gVGVpbCB2ZXJnZXNzZW46CiIgLi4uIG1pY2ggaGF0IGVyIG5vY2ggbmljaHQgZ2ViaXNzZW4sIGljaCBoYWIgaWhtIGF1ZiBkZW4gS29wZiAuLi4iCgpNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGx1bXBzIGlucyBLbG8/IChGb29iYXIsIDIyLiBBdWcgMjAwMiwgMTI6NDM6MjMpOgp+IyEgcm49TWF0aXMgcnQ9MTAzMDAxMTU0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKIi4uLmdlc3B1Y2t0PyIKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGx1bXBzIGlucyBLbG8/IChDYWRyYWNoLCAyMi4gQXVnIDIwMDIsIDEzOjExOjEwKToKfiMhIHJuPVBhdHJ5biBydD0xMDMwMDAzOTcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpHYWViZSBlcyBkZW4gSW1iaXNzIGluIGRlciBGb3JtIG5pY2h0LCBnYWViZSBlcyBoYWx0IGlyZ2VuZHdvIGFuZGVycyBlaW5lCmFlaG5saWNoZSBLbmVpcGUgLSBtZWluZXMgV2lzc2VucyBiZWZpbmRlbiBzaWNoIGRvcnQgYWxsZSBTcGVpc2VuIGltIG5pY2h0CmdlbmVobWlndW5nc3BmbGljaHRpZ2VuIFJhaG1lbi4KRGFzIFByb2JsZW0gc2luZCBuaWNodCBkaWUgS25laXBlIChpcmdlbmRlaW5lIEtuZWlwZSBpc3QgaW1tZXIgZGllIGJlc3RlIGltCm11ZCkgc29uZGVybiBkaWUgdmllbGVuIEdlYmlldGUgYXVzIGRlbmVuIG1hbiBtYWwgZWJlbiBrdXJ6IHp1bSB0YW5rZW4gYmlzIGFucwphbmRlcmUgRW5kZSBkZXIgV2VsdCBsYXVmZW4ga2Fubi4gV2VubiBNYWdpZXIgSWhyZSBHZWJpZXRlIGVudHNwcmVjaGVuZApwcm9nZ2VuLCBnaWJ0cyBkYXMgUHJvYmxlbSBpbiBkZXIgRm9ybSBuaWNoIChhbHRlcm5hdGlnZSBoaWVyenUgd2FlcmUKaG9lY2hzdGVucyBFcnNjaG9lcGZ1bmcgYmVpbSBsYXVmZW4genV1dSB3ZWl0ZXIgU3RyZWNrZW4gZWluZSBMb2VzdW5nKS4gRXMKZ2lidCB1ZWJyaWdlbmRzIGR1cmNoYXVzIGJlc3NlcmUgS25laXBlbiwgYWJlciBkaWUgbGFzc2VuIHNpY2ggbmV0IHNvIGd1dApzY3JpcHRlbi4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBsdW1wcyBpbnMgS2xvPyAoVGhhcmdvciwgMjIuIEF1ZyAyMDAyLCAyMTozNjozOSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzAwMTQ2NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5Cm51ciB3ZWlsIGhpZXIgc28gdmllbCB2b24gc2NyaXB0ZW4gZ2VzY2hyaWViZW4gd2lyZDoKaWNoIGRhcmYgZGFzIGdhbnplIGFiZXIgYXVjaCBvaG5lIG11ZC1jbGllbnQgdW5kIHNjcmlwdGUgbWl0IHJlaW5lbSB0ZWxuZXQKcHJvYmllcmVuPwoKVGhhcmdvciwgZGVyIGVpZ2VudGxpY2ggZnJhZ2VuIHdvbGx0ZToKSGF0IG1hbiBtaXQgcmVpbmVtIFRlbG5ldCBvaG5lIGRvcHBlbHRlbiBCb2RlbiBpbSBNb3JnZW5HcmF1ZW4gdWViZXJoYXVwdCBub2NoCm5lIENoYW5jZSB1ZWJlciBMZXZlbCAxMCBoaW5hdXN6dWtvbW1lbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQbHVtcHMgaW5zIEtsbz8gKFNvbG15ciwgMjIuIEF1ZyAyMDAyLCAyMTo0Mzo0Nyk6Cn4jISBybj1Tb2xteXIgcnQ9MTAzMDA0NTM2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKVGhhcmdvciBzY2hyaWViOgoKPCBUaGFyZ29yLCBkZXIgZWlnZW50bGljaCBmcmFnZW4gd29sbHRlOgo8IEhhdCBtYW4gbWl0IHJlaW5lbSBUZWxuZXQgb2huZSBkb3BwZWx0ZW4gQm9kZW4gaW0gTW9yZ2VuR3JhdWVuIHVlYmVyaGF1cHQKPCBub2NoIG5lIENoYW5jZSB1ZWJlciBMZXZlbCAxMCBoaW5hdXN6dWtvbW1lbj8KCkZyYWcgbWFsIEJpcmR5LCBkYXMgd2FyIGRvY2ggZGVyICJDaGFvdCIgbWl0IFRlbG5ldCBiaXMgTHY3MCBvZGVyPyA6KSkKCkZhcmUgd2VsbCwKU29sKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBsdW1wcyBpbnMgS2xvPyAoR2xvaW5zb24sIDIyLiBBdWcgMjAwMiwgMjI6NTk6MTkpOgp+IyEgcm49VGhhcmdvciBydD0xMDMwMDQ0OTk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpLbGFyLiBQcm9maXMgaGFiZW4gYmVpIHRlbG5ldC1vbmx5IGVpbmZhY2ggdmllbGUgRWRpdG9yZW5mZW5zdGVyIG1pdCBTY3JpcHRlbgphdWYsIGRpZSBzaWUgZml4IG1pdCBkZXIgTWF1cyByZWlucGFzdGVuLiBHZWh0IHVudGVyIFggbmF0dWVybGljaCBzY2huZWxsZXIKYWxzIHVudGVyIFdpbmRvb2ZzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBsdW1wcyBpbnMgS2xvPyAoVGhhcmdvciwgMjIuIEF1ZyAyMDAyLCAyMzowMjo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMwMDQ5OTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpobW0gLi4gd29iZWkgbWlyIG5vY2ggbmljaHQgYXVmZ2VnYW5nZW4gaXN0LCB3aWUgdGVsbmV0IGVya2VubnQgZGFzIGVzIHNpY2gKYmVpIGRlbiB6ZWljaGVuIHVtIGVpbiBzY3JpcHQgdW5kIG5pY2h0IHVtIGVpbmUgenVmYWVsbGlnZSBidWNoc3RhYmVuZm9sZ2UKaGFuZGVsdAoKLi4uIGFtIGJlc3RlbiBtYWNoIGljaCBlcyB3aWUgYmlzaGVyLCBhbGxlcyB0aXBwZW4gd2FzIHNpY2ggbmljaHQgbWl0IGFsaXMKZXJzY2hsYWdlbiBsYWVzc3QuCgpUaGFyZ29yLCAKZGVyIGZ1ZXIgc2VpbmVuIGh1bmRlcnRzdGVuIGFsaSBlaW5lIHJ1bmRlIGluIGVpbmVyIGtuZWlwZSBzY2htZWlzc2VuIHdpcmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQbHVtcHMgaW5zIEtsbz8gKFpvb2ssIDIyLiBBdWcgMjAwMiwgMjM6MDM6MjkpOgp+IyEgcm49VGhhcmdvciBydD0xMDMwMDUwMTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpBbHNvIHJpY2h0aWcga3VsdGlnIGlzdCBlaCwgZGFzcyBtYW4gdm9yIFNlaGVyd2VyZHVuZyBudXIgVGVsbmV0CmJlbnV0enQuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQbHVtcHMgaW5zIEtsbz8gKEVsYmVyZXQsIDIyLiBBdWcgMjAwMiwgMjM6MDM6MzkpOgp+IyEgcm49VGhhcmdvciBydD0xMDMwMDUwMTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpoYXN0IGR1IG5lIG1pdHRsZXJlIG1hdXN0YXN0ZT8gbnV0emUgc2llIDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQbHVtcHMgaW5zIEtsbz8gKFNjaG9rbywgMjIuIEF1ZyAyMDAyLCAyMzowMzo0MCk6Cn4jISBybj1QYXRyeW4gcnQ9MTAzMDAwMzk3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKCkhtbW0gYWxzbyBvaG5lIGRlbiByZXN0bGljaGVuIHJlcGx5IGdlbHNlbiB6dSBoYWJlbjogZGFzIGhhbGJlIE11ZCByZW5udApkYWhpbiwgd2VpbCBpcmdlbmR3ZXIgaXJnZW5kd2VtIG1hIGdlc2FndCBoYXQsIGRhcyBpcyB0b2xsIHVuZCBhbGxlIGRhbm4gaW0KVGVhbSBkYWhpbiBza3JpcHRlbiB1bmQgd2VubiBhbGxlIGRhaGluZ2VobiwgZGFubiBtdXNzZXMgamEgZ3V0IHNlaW4gLi4uIGFiZXIKc28gZ2VuYXUgd2Vpc3MgZGFzIGtlaW5lciBtZWhyIDopCgpTY2hva28gKGthbm4gc2ljaCBub2NoIGFuIEtsbyBWMS4wIGVyaW5uZXJuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBsdW1wcyBpbnMgS2xvPyAoVGhhcmdvciwgMjIuIEF1ZyAyMDAyLCAyMzowNDoxNik6Cn4jISBybj1ab29rIHJ0PTEwMzAwNTAyMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CnVuZCBkYW5hY2ggZXJzdCByZWNodAoKVGhhcmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBsdW1wcyBpbnMgS2xvPyAoVGhhcmdvciwgMjIuIEF1ZyAyMDAyLCAyMzowNToxNCk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzAwNTAyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CndhcyBpc3QgZWluZSBNYXVzPwprYW5uIGljaCBkaWUgYXVjaCBhbHMgYW5mYWVuZ2VyIHNjaG9uIGtpbGxlbj8KClRoYXJnb3IsCmFlbmdzdGxpY2ggYXVmIGVpbiBncmF1ZXMgZXR3YXMgcmVjaHRzIG5lYmVuIGRlciBUYXN0YXR1ciBzY2hpZWxlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQbHVtcHMgaW5zIEtsbz8gKEZvb2JhciwgMjIuIEF1ZyAyMDAyLCAyMzowNToyMik6Cn4jISBybj1TY2hva28gcnQ9MTAzMDA1MDIyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKSWNoIHJlbm5lIGRhaGluLCB3ZWlsIGljaCBrZWluZSBMdXN0IGhhYmUgbWVpbiBTa3JpcHQgdW16dWJhdWVuLCB1bSBiZWkgQmFtYmkKc2NoZWlzc2VuIHp1IGtvZW5uZW4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQbHVtcHMgaW5zIEtsbz8gKE11cGZlbCwgMjIuIEF1ZyAyMDAyLCAyMzowOTowMik6Cn4jISBybj1Gb29iYXIgcnQ9MTAzMDA1MDMyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKVmllbGxlaWNodCBzb2xsdGUgbWFuIGRpZSBBdXNnYWVuZ2UgZGVyIEdydWJlbiByYW5kb21pc2llcmVuLi4uIG5pZSB3ZWlzc3RlCnZvcmhlciwgYXVzIHdlbGNoZW0gS2xvIER1IGRlciBHcnViZSBlbnRzdGVpZ3N0IC0gZGEgaGFiZW4gZGllIFNjcmlwdGUgc2Nob24Kd2FzIHp1IGtuYWNrZW4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGx1bXBzIGlucyBLbG8/IChGb29iYXIsIDIyLiBBdWcgMjAwMiwgMjM6MTg6NDQpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMzAwNTA1NDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkFiZXIgYXVjaCBudXIsIHdlbm4gZGllIFJhZXVtZSBpbiBkZW5lbiBpY2ggcmF1c2tvbW1lLCB1bnRlcnNjaGllZGxpY2hlClJhdW1iZXNjaHJlaWJ1bmdlbiBoYWJlbiA6bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBsdW1wcyBpbnMgS2xvPyAoRWxiZXJldCwgMjIuIEF1ZyAyMDAyLCAyMzoyNjowOSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAzMDA1MTEyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKd296dSBnaWJ0IGVzIEtJPyBNYW4ga2FubiBhbGxlcyBzY3JpcHRlbi4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQbHVtcHMgaW5zIEtsbz8gKFdpbGxvdywgMjIuIEF1ZyAyMDAyLCAyMzo1NzozNyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzAwNTE1Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CmhtbW0uLi4gd2FzIGhhdCBtZWluZSBLYXR6ZSBkYW1pdCB6dSB0dW4/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQbHVtcHMgaW5zIEtsbz8gKFBlcnRpbmF4ZSwgMjMuIEF1ZyAyMDAyLCAwODo1NDoxNik6Cn4jISBybj1Tb2xteXIgcnQ9MTAzMDA0NTQyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKVGVsbmV0IGdlaHQgc2Nob24sIGljaCBoYWIgYmlzIGNhLiBsZXZlbCA0MC9TZWhlcmluIG1pdCB0ZWxuZXQgcHVyIGdlbXVkZGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBsdW1wcyBpbnMgS2xvPyAoQXBvbGxvbmlhLCAyMy4gQXVnIDIwMDIsIDA4OjU1OjE3KToKfiMhIHJuPVNvbG15ciBydD0xMDMwMDQ1NDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpBbHNvIGljaCBiaW4gbWl0IHBsYWluIHRlbG5ldCBTZWhlciBiencuIE1hZ2llciBnZXdvcmRlbi4gRXMgZ2VodCBhbHNvIDpvKQoKQWJlciBkYW5hY2ggd2lyZCdzIHNjaHdpZXJpZyAqZyoKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQbHVtcHMgaW5zIEtsbz8gKEdyaW1tYm9ybiwgMjMuIEF1ZyAyMDAyLCAwOToxMToyNyk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTAzMDA4NTcxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKSG1tLCBpY2ggd2FyIG1pdCBwbGFpbiB0ZWxuZXQgcHJha3Rpc2NoIGVpbiBoYWxiZXMgSmFociBsYW5nIFRvcCBUZW4gU2VoZXIuClZlcnN0ZWggZWNodCBuaWNodCB3YXMgaWhyIGhpZXIgc28gcnVtcGllbnp0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBsdW1wcyBpbnMgS2xvPyAoVHdpbmdpLCAyMy4gQXVnIDIwMDIsIDA5OjI0OjUwKToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDI5OTQyNTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpFYmVuLCBkYXMgZnVua3Rpb25pZXJ0IGVpbndhbmRmcmVpLiBBdWNoIGljaCBiaW4gYmlzIG5hY2ggZGVtIFNlaGVyIG5vY2ggZGllCmVyc3RlbiA1IEdpbGRlbmxldmVsIGFscyBaYXViZXJlciBtaXQgVGVsbmV0IHJ1bWdlbGF1ZmVuLiBEYXMgaGF0IGVpbmVuCmdyb3NzZW4gVm9ydGVpbC4gTWFuIHN0ZWh0IG5pY2h0IHBsb2V0emxpY2ggaGlsZmxvcyBhdWYgZGVyIEhFIHJ1bSwgd2VubiBkaWUKV2VnZXNjcmlwdGUgdmVyc2FnZW4gOy0pCgpUd2luZ2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQbHVtcHMgaW5zIEtsbz8gKEFyaywgMjMuIEF1ZyAyMDAyLCAxMTowNDoxOCk6Cn4jISBybj1UaGFyZ29yIHJ0PTEwMzAwNDQ5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkphLCBhYmVyIGViZW4gbmljaHQgaW4gTWljaGFlbCBTY2h1bWFjaGVyIFplaXQsIGRhIGRhcmYgZXMgYXVjaCBlaW4gd2VuaWcKSGFyYWxkIEZyZW50emVuIHNlaW4uIE1hY2hlbiBEaXIgaGFydGUgTGVpdHBsYW5rZW4gd2FzIGF1cz8gTWFuIGtvbW10IGF1Y2gKbGFuZ3NhbSBpbnMgWmllbCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQbHVtcHMgaW5zIEtsbz8gKEdub21lLCAyMy4gQXVnIDIwMDIsIDExOjU2OjU1KToKfiMhIHJuPVR3aW5naSBydD0xMDMwMDg3NDkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQptYW4gX2thbm5fIGF1Y2ggbWl0IGVpbmVtIFAyMzMgcXVha2UzYXJlbmEgc3BpZWxlbi4KCmduT21lCgpwLnMuIGdyaW1taSwgaGF0IGRpciBzY2hvbiBtYWwgamVtYW5kIGdlc2FndCwgX3dpZV8gdG9sbCBkdSBiaXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBsdW1wcyBpbnMgS2xvPyAoQWhhYiwgMjMuIEF1ZyAyMDAyLCAxMjowNjoxMCk6Cn4jISBybj1Tb2xteXIgcnQ9MTAzMDA0NTQyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKCkF1ZiBkZXIgUGFydHkgbXVybWVsdGUgQmlyZHkgd2FzIHZvbiBMZXZlbCA5MCBtaXQgVGVsbmV0Li4uIDstKQoKQWhvaSwKQWhhYi4KCkFjaCwgUC5TLjogVGhhcmdvciwgaWNoIHNwaWVsIHZvbiBBbmZhbmcgYW4gbWl0IFRGIHVuZCBudXIgaW4gZGVyIGFsbGVyLQogICAgICAgICAgIGdyb2Vzc3RlbiBOb3QgbWl0IFRlbG5ldCwgdW5kIGhhYiBpbnp3aXNjaGVuIGd1dCAzMDAgQWxpcy4uLgogICAgICAgICAgIEFsc28gd2VubiBEdSBmdWVyIGpld2VpbHMgMTAwIERlaW5lciBBbGlzIGVpbmUgUnVuZGUgc2NobWVpc3NlbgogICAgICAgICAgIHdpbGxzdCAtIHNhZyBlaW5mYWNoIGJlc2NoZWlkIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBsdW1wcyBpbnMgS2xvPyAoR3JpbW1ib3JuLCAyMy4gQXVnIDIwMDIsIDEyOjA2OjIyKToKfiMhIHJuPUdub21lIHJ0PTEwMzAwOTY2MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CktlaW5lIEFobnVuZywgaWNoIGhhYiBtaWNoIGZ1ZXIgcXVha2UgbmllIGludGVyZXNzaWVydC4gVW5kIGVpbiBQMjMzIHdhcgpkYW1hbHMsIGFscyBpY2ggTWFnaWVyIHd1cmRlLCBoaWdoIGVuZCB0ZWNobm9sb2d5IChobW0sIGdhYnMgZGVuIGRhIGVpZ2VudGxpY2gKc2Nob24/IEdsYXViIG5pY2h0KS4KCkdkQQoKUC5TLiBHbm9taSwgaGF0IERpciBzY2hvbm1hbCBqZW1hbmQgZ2VzYWd0IGRhc3MgbWFuIEx1ZnQgYXRtZW4ga2Fubj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQbHVtcHMgaW5zIEtsbz8gKEZsaW50bmFpbCwgMjQuIEF1ZyAyMDAyLCAwMDo1MDozNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMDA5NzE4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKYWVoLi5tb21lbnQuLi4uCgplcyBnaWJ0IHdhcyBhbmRlcmVzIGFscyBUZWxuZXQ/Pz8KCkZsaW50LCBkYXMgTGV0enRlIHVudGVyIGRlbiBTZWhlcm5kZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQbHVtcHMgaW5zIEtsbz8gKE11YWRkaWIsIDI2LiBBdWcgMjAwMiwgMTQ6NDk6NDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzAwOTcxODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5Ckthbm4gbWFuIGplbWFuZCBlaW5lIG5ldWUgUnVuZGUgRm9lcm1jaGVuIGF1c3RlaWxlbj8gSWNoIGdsYXViLCBHcmltbWJvcm4gaGF0CnNlaW5lIHdpZWRlciBpcmdlbmR3byBsaWVnZW4gZ2VsYXNzZW4uIFVuZCBhbmRlcmUgd29sbGVuIHdvaGwgYXVjaC4uLgoKU29tbWVybG9jaD8gR2liYmV0IG5pY2guCgpNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBQbHVtcHMgaW5zIEtsbz8gKE11YWRpYiwgMjYuIEF1ZyAyMDAyLCAxNTo0NTo0Mik6Cn4jISBybj1NdWFkZGliIHJ0PTEwMzAzNjYxODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CmRpZSBmb2VybWNoZW4gZ2lidHMgbnVyIGluIHNwZXppZWxsZW4gZmFlbGxlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFBsdW1wcyBpbnMgS2xvPyAoRm9vYmFyLCAyNi4gQXVnIDIwMDIsIDE1OjUyOjAwKToKfiMhIHJuPU11YWRpYiBydD0xMDMwMzY5NTQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpTb2xjaGUgRm9lcm1jaGVuIHdhZXJlbiBkb2NoIG1hbCB3YXMgRmVpbmVzIGZ1ZXIgZGVuIFNlaGVybGFkZW4uCgpHcnVzcywKCiAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBsdW1wcyBpbnMgS2xvPyAoQ3JvZnQsIDI2LiBBdWcgMjAwMiwgMTU6NTU6NTUpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMzAzNjk5MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CldhcyBpc3QgbWl0IGRlbiBGb2VybWNoZW4gZGllIGJlcmVpdHMgaW4gYmVpZGVuIFNlaGVybGFlZGVuIHZlcmthdWZ0CndlcmRlbj8KR3J1c3MgQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBQbHVtcHMgaW5zIEtsbz8gKEZvb2JhciwgMjYuIEF1ZyAyMDAyLCAxNTo1ODoxOCk6Cn4jISBybj1Dcm9mdCBydD0xMDMwMzcwMTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQpXb3csIGRhIGdpYnQncyBGb2VybWNoZW4/IDpvKQoKTWFuIGxlcm50IG5pZSBhdXMuLi4KCkdydXNzLAoKICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogUGx1bXBzIGlucyBLbG8/IChUaGFyZ29yLCAyNi4gQXVnIDIwMDIsIDE5OjI3OjMxKToKfiMhIHJuPUFoYWIgcnQ9MTAzMDA5NzE3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMjk4NTkzNzkKYWxpcyBzaW5kIGphIGZhc3Qgc28gZ3V0IHdpZSBlaW4gc2NyaXB0IC4uIGFiZXIgYmVpIG1laHIgYWxzIDEwMCB2ZXJsaWVyZSBpY2gKZGllIHVlYmVyc2ljaHQgdW5kIGRhbm4gaGFiIGljaCBpcmdlbmR3YW5uIHp3ZWktZHJlaSB2ZXJzY2hpZWRlbiBhbGlzIGZ1ZXIgZGVuCnNlbGJlbiBiZWZlaGwgIDopCgpUaGFyZ29yCgpQLiBTLjogQmlzaGVyIGhhdHRlIGljaCBub2NoIGtlaW5lIFNjaHdpZXJpZ2tlaXRlbiBtaXQgVGVsbmV0IHVuZCBzb2xhbmdlIGRhcwpzbyBibGVpYnQgaXMgZ3V0IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBsdW1wcyBpbnMgS2xvPyAoR25vbWUsIDI2LiBBdWcgMjAwMiwgMjA6MjY6MzApOgp+IyEgcm49VGhhcmdvciBydD0xMDMwMzgyODUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQoiYWxpcyBzaW5kIGphIGZhc3Qgc28gZ3V0IHdpZSBlaW4gc2NyaXB0Li4uIgoKYWhhLgoKZ25PbWUsIHNwcmFjaGxvcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBQbHVtcHMgaW5zIEtsbz8gKE5vbm5lLCAyNy4gQXVnIDIwMDIsIDA4OjMxOjUyKToKfiMhIHJuPUdub21lIHJ0PTEwMzAzODYzOTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDI5ODU5Mzc5CkRhbm4ga29lbm50ZSBUaGFyZ29yIGphIGF1ZiBkZXIgbmFlY2hzdGVuIFBhcnR5IGVpbmVuIFNwaWVsZXJ2b3J0cmFnIGhhbHRlbiwKdWViZXIgZGllIE1hZWNodGlna2VpdCBkZXIgQWxpcyB1bmQgd2llIG1hbiBzaWUgZ2VzY2hpY2t0IGFud2VuZGV0IChjOwoKTm9ubmUsIGdlc3Bhbm50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFBsdW1wcyBpbnMgS2xvPyAoVGhhcmdvciwgMjguIEF1ZyAyMDAyLCAyMTo1MTozNCk6Cn4jISBybj1Ob25uZSBydD0xMDMwNDI5OTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyOTg1OTM3OQouLiBmdWVyIGRpZXNlbiB2b3J0cmFnIG11c3MgaWNoIGVyc3Qgbm9jaCBuZW4gYWxpIHNjaHJlaWJlbiA6KQoKVGhhcmdvcgpuaWNodCBuYWNodHJhZ2VuZCBhYmVyIGF1Y2ggbml4IHZvcnRyYWdlbmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlc2NoaWNodGxpY2hlcyAoTWlyaWwsIDMwLiBBdWcgMjAwMiwgMTI6MDU6MDIpOgp+IyEgb249TWlyaWwgb3Q9MTAzMDcwMTI3NyBvZz1tYWdpZXIubWFnaWVyCkZyb20gZnJhdW5lfm1hdG4udW5pLW11ZW5zdGVyLmRlIEZyaSBBcHIgMyAxMzoyNzozMiAxOTkyCkNjOgpDYzogQm9pbmcsIERlZXB0aG91Z2h0LCBKb3NlLCBNaXJpbCwgT3N0ZXJoYXNpLCBQb2lldGl4LApUaGFsbGlvbiwgV3VyemVsLCBVbGxpClN1YmplY3Q6IDEuIE1hZ2llcmtvbmZlcmVueiBkZXMgLCxKUk11ZCIKRGF0ZToJRnJpLCAwMyBBcHIgOTIgMTM6MjU6NTcgKzAyMDAKRGF0ZToJRnJpLCAwMyBBcHIgOTIgMTM6MjU6NTcgKzAyMDAKU2VuZGVyOglKb2YKS3VyemUgWnVzYWFtZW5mYXNzdW5nIGRlciBlcnN0ZW4gTWFnaWVya29uZmVyZW56IGluIEpSTXVkIiB2b20gMDIuMDQuMTk5Mi4KMC4pIERpZXNlcyBNdWQgd2lyZCBiencuIGlzdCB1bmQgYmxlaWJ0IGVpbiBkZXV0c2Noc3ByYWNoaWdlcyBNdWQuCgoxLikgRWludGVpbHVuZyBkZXIgV2VsdCBpbiBSZWdpb25lbiwgZGllIHZvbiBFcnptYWdpZXJuIGF1c2dlc3RhbHRldCB3ZXJkZW4uIAogICAgSW0gR2VnZW5zYXR6IHp1IE5GIHdlcmRlbiBFcnptYWdpZXIgbmljaHQgbnVyIG1pdCBUaGVtZW5iZXJlaWNoZW4sCnNvbmRlcm4gCiAgICBpbiBlcnN0ZXIgTGluaWUgbWl0IFJlZ2lvbmVuIHZlcmJ1bmRlbi4gRGllc2UgRXJ6bWFnaWVyIHNpbmQgTGV2ZWwgMjUuCgoyLikgV2VsdGthcnRlOgoxOCBJCjE3IEkgICAgICAgICAgICBQb2xhcnJlZ2lvbiAoVGhhbGxpb24pCjE2IEkKMTUgSS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxNCBJICAgICAgICAgICAgICAgICAgICAgICAgSSAgICAgICAgICAgSQoxMyBJIFdhbGRyZWdpb24gKFd1cnplbCkgICAgSSBHZWJpcmdlICAgSQoxMiBJICAgICAgICAgICAgICAgICAgICAgICAgSSAoQm9pbmcpICAgSSAgICAgICAgICAtLS0tCjExIEkgICAgICAgICAgICAgICAgICAgICAgICBJICAgICAgICAgICBJICAgICAgICAgIEkgMUkKMTAgSS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgIEkgICAgICAgICAgSSAgSQogOSBJICAgICAgICAgICAgICAgICAgICAgICAgICBVIEktLS0tLS0tLSAgICAgICAgICAtLS0tCiA4IEkgRWJlbmUgKE1pcmlsKSAgICAgICAgICAgICAgSSAgICAgICAgICAgTWVlciAoSm9zZSkKICAgNyBJICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkKICAgNyBJICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkKIDcgSSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJCiA2IEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgSQogNSBJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgSSAgICAgICAgICAgICAgICBJICAgICAgICAgICBJICAgICAgICAgICAgICAgICAgMgogMyBJIERqdW5nZWwoRHVyaWFuKUkgV3Vlc3RlICAgIEkKIDIgSQkgICAgICAgICAgICAgIEkgKFVsbGkpICAgIEkKIDEgSSAgICAgICAgICAgICAgICBJICAgICAgICAgICBJCiAgICAgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIgUyBUIFUgViBXIFggWSBaCgpVKE45KSA9IE1pcmlscyBVbmkgKFdpcmQgZnVlcnMgZXJzdGUgZGVyIFN0YXJ0cGxhdHopCjEJPSBJbnNlbCAxIChCb2luZykKMgk9IEluc2VsIDIgKEpvc2UpCgozLikgUGhpbG9zb3BoaWUgZGVyIEthcnRlOgogICAgRGllIFdlZ2UgaW5uZXJoYWxiIHVuZCB6d2lzY2hlbiBkZW4gUmVnaW9uZW4gc29sbGVuIHNvIGdlc3RhbHRldCB3ZXJkZW4sCiAgICBzb2Rhc3Mgc3BhZXRlciBJTiBkaWUgV2VnZSB3ZWl0ZXJlIFJhdW1lIEVsTmdlZnVlZ3Qgd2VyZGVuIGtvZW5uZW4uCiAgICBGdWVyIGRlbiBTcGllbGVyIHNvbGxlbiBzaWNoIGRpZSBXZWdlIG1pdCBkZXIgWmVpdCB2ZXJsYWVuZ2VybiBrb2VubmVuLgogICAgQW5zY2hhdWxpY2ggc29sbCBtYW4gc2ljaCAsLEpSTXVkMScnIGFscyBOZXR6IHZvcnN0ZWxsZW4sIGluIGRhcyBtaXQKICAgIGRlciBaZWl0IG5ldWUgTWFzY2hlbiBlaW5nZWZ1ZWd0IHdlcmRlbi4KCiAgICBEYXMgYWxsZXMgc2NobGllc3N0IGplZG9jaCBuaWNodCBhdXMsIGRhcyBub2NoIFJlZ2lvbmVuIGFtCiAgICBSYW5kIGRlciBLYXJ0ZSBhbmdlZnVlZ3Qgd2VyZGVuIGtvZW5uZW4uCgogICAgV2VpdGVyaGluIGlzdCBlcyBhdWNoIHdpY2h0aWcsIGRhc3MgZGllIE1hZ2llciBiZW5hY2hiYXJ0ZXIgUmVnaW9uZW4KICAgIGRpZSBTY2huaXR0c3RlbGxlbiBhdWZlaW5hbmRlciBhYnN0aW1tZW4uCgo0LikgTWFnaWVyIG1pdCBiZXNvbmRlcmVuIEF1ZmdhYmVuOgogICAgSm9mIHVuZCBSdW1hdGEgLSBLb29yZGluYXRpb24gKExldmVsIDUwKSA6KQogICAgRHVyaWFuCS0gQ2hlZiBkZXIgUG9saXplaSAoTGV2ZWwgMzApCiAgICBEZWVwdGhvdWdodCAgIC0gTFBDIEVyem1hZ2llciAoTGV2ZWwgMzApCiAgICBXdXJ6ZWwJLSBRdWVzdGtvb3JkaW5hdG9yIDxMZXZlbCAzMCkgCiAgICBXZWl0ZXJlIEVyenJuYWdpZXJwb3N0ZW4gc2luZCBpbiBkZXIgUGxhbnVuZwoKNS4pIFJhc3NlbjoKICAgIEFsbGUgUmFzc2VuIHNvbGxlbiBkaWUgc2VsYmVuIEZhZWhpZ2tlaXRlbiB1bmQgRW5kc3RhdHMgYmVzdGl0emVuLCAKICAgIGRhbWl0IGRpZSBQbGF5ZXIgc2ljaCBuaWNodCBzbyBsYW5nZSBtaXQgbmV1ZW4gTmFtZW4gZWlubG9nZ2VuLAogICAgYmlzIHNpZSBkZXIgLCxiZXN0ZW4iIFJhc3NlIGFuZ2Vob2VyZW4uIEdlcGxhbnRlIFJhc3NlbjoKICAgIE1lbnNjaGVuIC0gU3RhcnQgaW4gZGVyIEViZW5lCiAgICBFbGZlbgktIFN0YXJ0IGltIFdhbGQKICAgIFp3ZXJnZSAgLSBTdGFydCBpbSBHZWJpcmdlCiAgICBFY2hzZW5tZW5zY2hlbiAtIFN0YXJ0IGltIERqdW5nZWwKICAgIEZ1ZXIgZGllIGFuZGVyZW4gUmVnaW9uZW4gc2luZCBOT0NIIGtlaW5lIFJhc3NlbiBnZXBsYW50LgoKNi4pIFBsYXllcmtpbGxpbmc6CnNvbGwgd2VpdGVyaGluIG1vZWdsaWNoIGFiZXIgdmVyYm90ZW4gc2Vpbiwgd2VpbDoKKiBNYW4ga2FubiBzbyBhc296aWFsZSBDaGFyYWt0ZXJlIGxlaWNodGVyIHNjaG9uIGltIFBsYXllcnN0YWRpdW0KICBlcmtlbm5lbi4KKiBTZWxic3R2ZXJ0ZWlkaWd1bmcgc29sbHRlIG1vZWdsaWNoIHNlaW4uCiogUGxheWVyIG1pdCB6dSB2aWVsZW4gUGxheWVya2lsbHMgc29sbGVuIG5pY2h0IGFkdmFuY2VuCiAgdW5kL29kZXIgTWFnaWVyIHdlcmRlbiBrb2VubmVuLgoqIERlciBQb2xpemVpY2hlZiAoZXZ0bCBhdWNoIHNlaW5lIFZlcnRyZXRlcikgaGFiZW4gWnVncmlmZgogIGF1ZiBkaWUgUGxheWVya2lsbHMsIHVtIE5vdHdlaHJha3Rpb25lbiB6dSBrb3JyaWdpZXJlbi4KCjcuKSBzb25zdGlnZXM6CiogTWFnaWVydHJlZmZlbiBzb2xsZW4gbWVlZ2xpY2hzdCByZWdlbG1hZXNzaWcgc3RhdHRmaW5kZW4uCiAgRXMgc29sbCBuaWNodCBkZXIgRmFsbCBlaW50cmV0ZW4sIHdvIGRpZSBsaW5rZSBIYW5kIG5pY2h0CiAgd2Vpc3MsIHdhcyBkaWUgcmVjaHRlIHR1dC4gQXVzc2VyZGVtIG1vZWNodGVuIHdpciBlaW4gRmVlZAogIGJhY2sgZnVlciB1bnNlcmUgQWVuZGVydW5nZW4gdW5kIGVpbmUgZGVtb2tyYXRpc2NoZQogIExlaXR1bmcgZGVzIE11ZHMgdmVyd2lya2xpY2hlbi4KKiBEZXIgTmFtZSBkZXMgTXVkcyBpc3Qgd2VpdGVyaGluIG5vY2ggb2ZmZW4uIEJlc3RlIFZvcnNjaGxhZWdlCiAgc2luZCB6dXIgWmVpdDogS3JhdXRMYW5kLCBLcmF1dE11ZCB1bmQgU2NoYWNoTXVkLCB3b2JlaQogIHdpciBLcmF1dGxhbmQgZmF2b3Jpc2llcmVuLCBhYmVyIHdpZSBnZXNhZ3QsIGRlciBOYW1lIGlzdAogIG5vY2ggb2ZmZW4uCgoKU293ZWl0IHp1ciBHZXNjaGljaHRlIDstKSAKRmFsbHMgbmllbWFuZCB3YXMgZGFnZWdlbiBoYXQsIGtvZW5udGUgbWFuIGRhcyBhdWNoIGluCkFsbGdlbWVpbmVzIHBvc3Rlbi4KTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXNjaGljaHRsaWNoZXMgKEhhc2ltLCAzMC4gQXVnIDIwMDIsIDIyOjAxOjI4KToKfiMhIHJuPU1pcmlsIHJ0PTEwMzA3MDE5MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwNzAxOTAyCldpZSBTVUVTUyEhIQpLcmF1dGxhbmQ/ISBobXBwcHBmZmZmZmZmClVuZCB3YXMgaXN0IGF1cyBkZW4gRWNoc2VubWVuc2NoZW4gZ2V3b3JkZW4/Pz8gCi4gbyBPIChBbGxlcyBzY2hvbiBzbyBsYW5nZSBoZXI/KQpIYXNpbSwgbm9zdGFsZ2lzY2ggd2VyZGVuZC4uLiBvZGVyIHdhcnMgdmVya2Fsa3Q/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZWxsaGFsZGVuLi4uIChab29rLCAgMi4gU2VwIDIwMDIsIDE3OjA5OjQ2KToKRGEgZXMgaW1tZXIgd2llZGVyIGtvbW10LCBoaWVyIGVpbiB3ZW5pZyBIaXN0b3Jpc2NoZXMsIHZlcmJ1bmRlbiBtaXQgZWluZXIKaGFlc3NsaWNoZW4gQWt0aW9uLgoKUmFldW1lIGluIFNlaGVyaGFldXNlcm4sIGRpZSBkZXV0bGljaCBtZWhyIGFscyAxMDAgT2JqZWt0ZSBiZWluaGFsdGVuLApwcm9kdXppZXJlbiBMYWcuIERhcyBnaWx0IGF1Y2ggZnVlciBIb3RlbHppbW1lciB1bmQgYWVobmxpY2hlIE9iamVrdC0Kc2FtbWVsc3RlbGxlbi4gRGEgd2lyIGtlaW5lIGZlc3RlIE9iZXJncmVuemUgZWluZ2ViYXV0IGhhYmVuIChvYndvaGwKVGlhbWFrIGRhcyBkYW1hbHMgYW5nZWRyb2h0IGhhdCksIGhhYmUgaWNoIGFuZ2VzaWNodHMgZGVzIGFrdHVlbGwgCnJlY2h0IGhvaGVuIExhZ3MgbWFsIHdpZWRlciBlaW5lIFJ1bmRlIGR1cmNoIGRpZSBTZWhlcmhhZXVzZXIgdW5kCkhvdGVsemltbWVyIGdlbWFjaHQuIAoKRGllIFNlaGVyaGFldXNlciB3YXJlbiByZWNodCBhdWZnZXJhZXVtdCwgYWxsZXJkaW5ncyBxdW9sbGVuIGVpbmlnZQpIb3RlbHppbW1lciB1ZWJlciwgaWNoIGhhYmUgZG9ydCAobnVuIGRpZSBoYWVzc2xpY2hlIEFrdGlvbiEpIG9obmUKVm9yYW5rdWVuZGlndW5nIGF1ZmdyYWV1bXQuIFNvcnJ5LCB3ZW5uIGVzIG51biBVbndpc3NlbmRlIG8uYWUuIHRyaWZmdCEKCkJpdHRlLCBoYWx0ZXQgRXVyZSBTZWhlcmhhZXVzZXIvSG90ZWx6aW1tZXIgYXVmZ2VyYWV1bXQgdW5kIHNhbW1lbHQgbmljaHQKZGV1dGxpY2ggbWVociBhbHMgMTAwIE9iamVrdGUvUmF1bS4KCkdydXNzLCBab29rLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VzY2hpY2h0bGljaGVzIChSb2xhbmQsICAyLiBTZXAgMjAwMiwgMTk6MTU6MTMpOgp+IyEgcm49SGFzaW0gcnQ9MTAzMDczNzY4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA3MDE5MDIKZGllIGhhYmVuIGpldHp0IGZlbGwgLi4uLgpmZWxsZWNoc2VuCm9kZXIgZmVsaW5lbiAKClJvbGFuZCBGZXR0IEdyaW5zZW5kIHVuZCBLb3BmZHVja2VuZCA6KSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWVsbGhhbGRlbi4uLiAoQWxwaGEsIDE3LiBTZXAgMjAwMiwgMjI6NTk6NTApOgp+IyEgcm49Wm9vayBydD0xMDMwOTc5Mzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpLb2VubnRlIG1hbiBkYXMgUHJvYmxlbSBtaXQgIlJlZ2FsZW4vS2lzdGVuL1NjaHJhZW5rZW4iIGRpZSBlcyBpbSBTZWhlcmxhZGVuCm9kZXIgc29ubnN0d28genUga2F1ZmVuIGdpYnQsIHVuZCBkaWUgYWxzIEJlaGFlbHRlciBtaXQgaG9oZW0gR2V3aWNodCBhYmVyCm5vY2ggbWVociBTdGF1cmF1bSBmdW50aW9uaWVyZW4sIGxvZXNlbj8gRGFubiBwcm9kdXppZXJ0IGtlaW4gUmF1bSBtZWhyIExhZywKdW5kIGRpZSBMZXV0ZSBrb2VubmVuIGlociB6aW1tZXJjaGVuIHNjaG9lbiBhdWZnZXJhZXVtdCBoYWx0ZW4gdW5kIHRyb3R6ZGVtCm1laHIgYWxzIDEwMCBJdGVtcyBiZXNpdHplbj8KTnVyIHNvIG5lIElkZWUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVlbGxoYWxkZW4uLi4gKE1hbmRyYWdvbiwgMTcuIFNlcCAyMDAyLCAyMzowNToyMCk6Cn4jISBybj1BbHBoYSBydD0xMDMyMjk2MzkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpOZWVlLiBNYWNoIFNhY2hlbi4KCk51biBtdWVzc2VuIGRpZXNlIHRvbGxlbiBTdGF1cmF1bW9iamVrdGUgLSBkaWUgZXMgamEgenVoYXVmIGdpYnQgLSBudXIgbm9jaApnZW51dHp0IHdlcmRlbi4gVW5kIHNjaHd1cHBkaXd1cHAgZ2lidHMga2VpbiBQcm9ibGVtIG1laHIuCgpLbGFzc2UsIGdlbGw/CgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZWxsaGFsZGVuLi4uIChFbGRhcm9uLCAxNy4gU2VwIDIwMDIsIDIzOjI5OjM1KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyMjk2NzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpTd2lmdHMgU2NocmFlbmtlIHNpbmQgamEgc2Nob24gZ2FueiBmZWluLCBhYmVyIGtvZW5udGUgbWFuIGRpZSBJdGVtLUdyZW56ZQpuaWNodCBhbmhlYmVuPyBKYWphLCBpY2ggd2Vpc3MsIGRpZSBub3RvcmlzY2hlbiBTYW1tbGVyLi4uCgpXYXMgbmljaHQgbWVociBpbiBkZW4gU2NocmFuayBwYXNzdCwga29tbXQgaGFsdCBhdWYvdW50ZXIvbmViZW4vaGludGVyIGRlbgpTY2hyYW5rLCBnZW5hdSB3aWUgaW4gUkwuIDspCgpFbGRhcm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNdWVsbGhhbGRlbi4uLiAoSmVob3ZhLCAxOC4gU2VwIDIwMDIsIDAwOjEyOjUxKToKfiMhIHJuPUVsZGFyb24gcnQ9MTAzMjI5ODE3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKSWNoIHNlaCBkYXMgUHJvYmxlbSBub2NoIG5pY2h0IHNvIHJpY2h0aWcuIEVpbiBSYXVtIGlzdCBkb2NoIGVpZ2VudGxpY2ggYXVjaApzb3dhcyB3aWUgZWluIFNjaHJhbmssIG9kZXI/IE11c3MgbWFuIGhhbHQgZXh0cmEgTGFnZXJyYWV1bWUgZWluZnVlaHJlbiB1bmQKbmV0IGFsbGVzIGltIGVyc3RlbiBSYXVtIGRlcG9uaWVyZW4gOikKCkoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdWVsbGhhbGRlbi4uLiAoQWxwaGEsIDE4LiBTZXAgMjAwMiwgMDA6MTQ6MjYpOgp+IyEgcm49SmVob3ZhIHJ0PTEwMzIzMDA3NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CkRlcyBwcm9ibGVtIGlzIHdvaGwsIGRhc3MgYmVpIGplZGVtIEJlZmVobCBpbSBSYXVtIGFsbGUgSXRlbXMgaW0gUmF1bQpkdXJjaGdlZ2FuZ2VuIHdlcmRlbiBvYiBkZXIgQmVmZWhsIHBhc3NlbiBrYW5uLCB3YXMgYmVpIElUZW1zIGltIFNjaHJhbmsgbmljaHQKZGVyIEZhbGwgaXN0Li4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZWxsaGFsZGVuLi4uIChNYW5kcmFnb24sIDE4LiBTZXAgMjAwMiwgMDA6MTY6MTgpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMjMwMDg2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKRGFzIFByb2JsZW0gaXN0IG1laHIsIGRhc3Mgd2VubiBlaW5lciBkZW4gUmF1bSBiZXRyaXR0LCBhbGxlIE9iamVrdGUsIGRpZQphdXNnZXN3YXBwZWQgd2FyZW4sIHJlaW5nZXN3YXBwZWQgd2VyZGVuIC4uLiBkYXMgbGFnZ3Qgd2llIFNhdS4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTXVlbGxoYWxkZW4uLi4gKEplaG92YSwgMTguIFNlcCAyMDAyLCAwMDoxNjoyMik6Cn4jISBybj1BbHBoYSBydD0xMDMyMzAwODY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpKYS4gVW5kIHdlbm4gbWFuIGV4dHJhIExhZ2VycmFldW1lIGhhdCwgZ2VodCBkZXIgYXVjaCBuaWNodCBkaWUgSXRlbXMgaW4gUmF1bQoxIGR1cmNoLCB3ZW5uIGljaCBpbSBSYXVtIDIgc3RlaGUgOi0pCgpKKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVlbGxoYWxkZW4uLi4gKEVsYmVyZXQsIDE4LiBTZXAgMjAwMiwgMDg6NTI6MjEpOgp+IyEgcm49SmVob3ZhIHJ0PTEwMzIzMDA5ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CmluIGd1dGVyIG1lZ2FzY2htYXJybnRyYWRpdGlvbiBhbnR3b3J0ZSBpY2ggbWFsIGF1ZiBkZW4gbGV0enRlbiBhcnRpa2VsLgoKU2luZCBTd2lmdHMgU2NocmFlbmtlIGVpZ2VudGxpY2ggcmVib290ZmVzdCBpbnp3aXNjaGVuPyBXZW5uIG5laW4sIHNvIGdsYXViZQppY2gsIGRhc3MgZGVyZW4gTnV0enVuZyB1bnRlciBkZW4gU3BpZWxlcm4gdmVyYnJlaXRldGVyIHdhZXJlIHdlbm4gc2llIGVzCndhZXJlbi4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZWxsaGFsZGVuLi4uIChBcmssIDE4LiBTZXAgMjAwMiwgMTI6NDk6MDQpOgp+IyEgcm49RWxkYXJvbiBydD0xMDMyMjk4MTc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpSaWNodGlnLCB1bmQgd2llIGluIFJMIGhlaXNzdCBkaWUgTG9lc3VuZyBlaWdlbnRsaWNoICJtZWhyIERpc3ppcGxpbiIgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVlbGxoYWxkZW4uLi4gKE1pcmlsLCAxOC4gU2VwIDIwMDIsIDE4OjQ1OjA3KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMjMzMTk0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKTmFjaCBuZW0gUmVib290IG1hbCBlYmVuIG5hY2ggV2lsbGlidXJnIHJlbm5lbiB1bmQgaW4gZWluCnBhYXIgU2NocmFlbmtlIGludmVzdGllcmVuIGlzdCBzaWNoZXJsaWNoIHdlbmlnZXIgYXVmd2FlbmRpZwphbHMgYmVpbSBLcmlzdGFsbGRyYWNoZW4sIERyb20sIFdlZ2hpZXIgdW5kIHNvbnN0d28gU2NobGFuZ2UKenUgc3RlaGVuIChvZGVyIHdvbGx0ZSBpaHIgZGVuIEtyYW0gbnVuIGF1Y2ggcmVib290ZmVzdD8/PykuCk1laW4gWndlaXRpZSBudXR6dCBkaWUgZGl2ZXJzZW4gTW9lYmVsc3R1ZWNrZSBqZWRlbmZhbGxzIApyZWdlbG1hZXNzaWcgdW5kIGRhbWl0IGRpZSBaZWl0LCBpbiBkZXIgbWFuIGVoIG51ciBkb29mIHJ1bXN0ZWhlbgp1bmQgYXVmIGRlbiBuYWVjaHN0ZW4gUmVzZXQgYmVnZWhydGVyIEtsZWludGVpbGUgd2FydGVuIHd1ZXJkZS4KTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE11ZWxsaGFsZGVuLi4uIChFbGJlcmV0LCAxOC4gU2VwIDIwMDIsIDE5OjAyOjU4KToKfiMhIHJuPU1pcmlsIHJ0PTEwMzIzNjc1MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2Cndlbm4gaWNoIG5hY2ggZGVtIHJlYm9vdCBlcnN0IG1hbCBhbGwgZGllIFNjaHJhZW5rZSBrYXVmZSBkaWUgaWNoIGJyYXVjaGUgYmluCmljaCBiZWkgZGVuIFByZWlzZW4gZGFuYWNoIG5haGV6dSBwbGVpdGUuIEFsc28ga2F1ZmUgaWNoIGhhbHQga2VpbmUuCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTXVlbGxoYWxkZW4uLi4gKEVsaXphYmV0aCwgMTguIFNlcCAyMDAyLCAyMDowNzoyMyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzIzNjg1Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CmR1IGhhc3QgamEgYXVjaCBrYXVtIHdhcyB6dW0gcmVpbnN0ZWNrZW4gZWxiaSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZWxsaGFsZGVuLi4uIChDYWRyYWNoLCAxOC4gU2VwIDIwMDIsIDIwOjU0OjU0KToKfiMhIHJuPUVsaXphYmV0aCBydD0xMDMyMzcyNDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpNZWluZSBHdWV0ZSwgd2llc28gc3RlbGx0IGlociBuaWNodCBlaW5mYWNoIG1hbCBkaWUgRnJhZ2U6IFdhcyBzcHJpY2h0CmRhZ2VnZW4sIHNpZSByZWJvb3RmZXN0IHp1IG1hY2hlbj8gV2VubiBkZXIgTWFnaWVyIGRlciBzaWUgZ2Vwcm9nZ3QgaGF0LCBkYXMKbmljaHQgd2lsbCAtIGRhbm4gaGFsdCBuaWNodC4gRGEgc29ldHdhcyBqZWRvY2ggbmljaHQgYmFsYW5jZXJlbGV2YW50IGlzdCwKc3RlaHQgZXMgamVkZW0gTWFnaWVyIGluIEFic3ByYWNoZSBtaXQgc2VpbmVtIFJlZ2lvbnNtYWdpZXIgZnJlaSBzb2V0d2FzIHp1CnByb2dnZW4uIEFtIGJlc3RlbiBtaXQgUnVlY2tzcHJhY2hlIG1pdCBXdXJ6ZWwgZGFubiB3YWVyZSBzb2V0d2FzIG5hZW1saWNoCmJlc29uZGVycyBzYXViZXIgenUgcHJvZ2dlbi4gSWNoIGZpbmRlIGRpZSBGcmFnZSBzb2xsdGUgbmljaHQgc2Vpbiwgb2IgbWFuCmV0d2FzIGlyZ2VuZHdpZSB1bXN0YWVuZGxpY2ggYXVjaCBlcnJlaWNoZW4ga2Fubiwgc29uZGVybiBlcyBpcmdlbmRlaW5lbiBHcnVuZApnaWJ0IGV0d2FzIF9uaWNodF8genUgbWFjaGVuICh6dW1hbCB3ZW5uIGRpZXMgU3BpZWxzcGFzcyB1bmQgS29tZm9ydCBlcmhvZWh0KS4KRWluZSBhbmRlcmUgRnJhZ2UgaXN0IGplZG9jaCwgb2IgTW9lYmVsc3R1ZWNrZSBkYXMgZ2VuZXJlbGxlIFByb2JsZW0gdW0gZGFzIGVzCmVpZ2VudGxpY2ggZ2luZyBsb2VzZW4gd3VlcmRlbi4gREFSQU4gaGFiZSBpY2ggamVkb2NoIG5vY2ggZ2V3aXNzZSBad2VpZmVsLi4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTXVlbGxoYWxkZW4uLi4gKFB1aywgMTguIFNlcCAyMDAyLCAyMjozMjozMyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzIzNzUyOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CnVuZCBkYW1pdCBkZW4gZ2FuemVuIFNwYXNzIG5laG1lbiBuYWNoIG5lbSByZWJvb3QgenUgZmx1Y2hlbiwgZGVuIHNjaHVsZGlnZW4KenUgc3RlaW5pZ2VuIHVuZCBuZXVlcyBlcSB6dSBzdWNoZW4gPwoKQklTVCBEVSBXQUhOU0lOTklHID8/Pz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTXVlbGxoYWxkZW4uLi4gKE5penpsLCAxOC4gU2VwIDIwMDIsIDIyOjMzOjIzKToKfiMhIHJuPVB1ayBydD0xMDMyMzgxMTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgoiZGVuIHNjaHVsZGlnZW4gc3RlaW5pZ2VuLi4uIgpEYSBtdXNzdGUgYWJlciBlcnN0bWFsIDMgVGFnZSB3YXJ0ZW4sIGJpcyBlaW5lciBkZXIgU3VtcGZkcmFjaGVuIGxlYnQgX3VuZF8KZGFubiBhdWNoIG5vY2ggZWluIFN0ZWluIGRhYmVpIGhhdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE11ZWxsaGFsZGVuLi4uIChCYW1iaSwgMTguIFNlcCAyMDAyLCAyMjozNDozNyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzIzNzUyOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CkRpZSBNb2ViZWxzdHVlY2tlIHJlYm9vdGZlc3QgenUgbWFjaGVuLCBpc3QgaW4gIlBsYW51bmciIHVuZCBrZWluZXN3ZWdzCiJQcm9ibGVtIiBkZXIgTW9lYmVsc3R1ZWNrZSwgc29uZGVybiBkZXIgU2VoZXJoYWV1c2VyLiBEYXMgc29sbHRlc3QgRHUKZWlnZW50bGljaCB3aXNzZW4uIE9iIGRpZSBEaW5nZXIgZGFzIFByb2JsZW0gbG9lc2VuIG9kZXIgbmljaHQsIHZlcm1hZyBpY2gKZGVyemVpdCBuaWNodCB6dSBiZXVydGVpbGVuLCBhbGxlcmRpbmdzIHd1ZXJkZSBpY2ggbWlyIGRpZSBEaW5nZXIgenVsZWdlbiwKd2VubiBzaWUgcmVib290ZmVzdCB3YWVyZW4sIGF1Y2ggd2VubiBkYXMgKGJlaSBtZWluZW4gU2VoZXJuKSBuaWNodCB3aXJrbGljaAp3YXMgYnJpbmdlbiB3dWVyZGUsIHp1bSBhbmRlcmVuIHd1ZXJkZSBpY2ggZGFubiBtYWwgbWVpbmUgZGl2ZXJzZW4sIGdlcGxhbnRlbgoiZWlnZW5lbiIgTW9lYmVsc3R1ZWNrZSB1bXNldHplbiwgdm9uIGRlbmVuIGljaCBhbm5laG1lLCBkYXNzIHNpZSB6dW1pZG5lc3QKdGVpbHdlaXNlICh0ZWlscyBhbmRlcmUpIFByb2JsZW1lIGxvZXNlbiB3dWVyZGVuIC0gdW5kIHNlaSBlcyBudXIgYXVzClNwaWVsZXJzaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNdWVsbGhhbGRlbi4uLiAoQ3JvZnQsIDE5LiBTZXAgMjAwMiwgMDE6MDE6MzgpOgp+IyEgcm49Tml6emwgcnQ9MTAzMjM4MTIwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKV2FzIGJpdHRlIGhhdCBkZXIgU3VtcGZkcmFjaGUgYmVpLCB3b21pdCBtYW4gamVtYW5kZW4gc3RlaW5pZ2VuIGtvZW5udGU/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE11ZWxsaGFsZGVuLi4uIChDYWRyYWNoLCAxOS4gU2VwIDIwMDIsIDEyOjA4OjQxKToKfiMhIHJuPUJhbWJpIHJ0PTEwMzIzODEyNzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2CkRhcyBkaWVzIGluIFBsYW51bmcgaXN0LCBpc3Qgc2Nob2VuIHp1IGhvZXJlbi4gQWJlciBwcmltYWVyIGlzdCBkaWVzIHp1bmFlY2hzdAplaW4gUHJvYmxlbSBkYXMgZGVyIFByb2dnZXIgZGVyIE1vZWJlbHN0dWVja2UgbG9lc2VuIGtvZW5udGUgd2VubiBlciB3b2xsdGUgLQpkYXMga2FubiBpY2ggc28gc2FnZW4gZWJlbiBfd2VpbF8gaWNoIHdlaXNzIHdvdm9uIGljaCByZWRlLgpVbnRlciBVbXN0YWVuZGVuIGthbm4gbWFuIGVzIG5vY2ggZWluZW4gVGljayBzY2hvZW5lciBsb2VzZW4gd2VubiBtYW4gZGlyZWt0CmV0d2FzIGluIGRlbiBTZWhlcmhhZXVzZXJuIGFlbmRlcnQgLSBtZWluZW4gRXJmYWhydW5nZW4gaXN0IFd1cnplbCBBZW5kZXJ1bmdlbgphdWNoIG5pY2h0IHZvZWxsaWcgYWJnZW5laWd0ICh6dW1pbmRlc3Qgc29mZXJuIG1hbiBpaG0gZGllIEFyYmVpdCBhYm5pbW10IDpvKS4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNdWVsbGhhbGRlbi4uLiAoQ3VjaHVsbGluLCAxOS4gU2VwIDIwMDIsIDEyOjExOjUxKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjQzMDEyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKUmljaHRlIER1IGRvY2ggRGVpbmUga3JlYXRpdmUgS3JhZnQgYXVmIGRhcyBEZXNpZ24gZWluZXMgTGljaHRzeXN0ZW1zLCAKQ2FkcmFjaC4gV29sbHRlc3QgRHUgZGFzIG5pY2h0IHNjaG9uIHZvciBsYW5nZXIgbGFuZ2VyIFplaXQgdHVuPyAKCkN1Y2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBNdWVsbGhhbGRlbi4uLiAoQ2FkcmFjaCwgMTkuIFNlcCAyMDAyLCAxMjoxMjoyMyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAzMjQzMDMxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKSWNoPyBHbGF1YmUgbmljaHQgZGFzIGljaCBoaWVyIGV0d2FzIGtyZWF0aXZlcyB0dW4gd29sbHRlLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE11ZWxsaGFsZGVuLi4uIChDdWNodWxsaW4sIDE5LiBTZXAgMjAwMiwgMTI6MTg6MTkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNDMwMzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpXZW5uIGljaCBuaWNodCB3dWVzc3RlLCBkYXNzIGljaCBEaXIgVW5yZWNodCB0YWV0ZSwgd3VlcmRlIGljaCBiZWhhdXB0ZW4sCmRhc3MgRHUgYWJnZXNlaGVuIHZvbiBJbnRlcnB1bmt0aW9uIHVuZCBSZWNodHNjaHJlaWJ1bmcgYXVjaCBuaWUgS3JlYXRpdml0YWV0CmVudHdpY2tlbHRlc3QuCgpBYmVyIGljaCBoYWJlIHVlYmVyIGRpZSBBdXNmdWVocnVuZ2VuIHp1bSBUaGVtYSBaaWVnZWwgdW5kIE1hdWVybiBkb2NoCmhlcnpsaWNoIGxhY2hlbiBtdWVzc2VuLiBMaWVndCB2aWVsbGVpY2h0IGFuIG1laW5lbSBlaW5mYWNoZW4gR2Vpc3QuIAoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IE11ZWxsaGFsZGVuLi4uIChDYWRyYWNoLCAxOS4gU2VwIDIwMDIsIDEyOjU4OjA5KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDMyNDMwNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpaaWVnZWxuLCBNYXVlcm4/IEhhYiB2b24gYmVpZGVtIGtlaW5lIEFobnVuZywgZWhybGljaCEKCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBNdWVsbGhhbGRlbi4uLiAoQmFtYmksIDE5LiBTZXAgMjAwMiwgMTU6Mjg6MDMpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNDMzMDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgooQW50d29ydCBhdWYgbGV0enRlbiBBcnRpa2VsKS4uLgoxLiBOZWluLCBiaXR0ZSBuaWNodHMgbWl0IExpY2h0IG1hY2hlbiEKMi4gVGhlb3JldGlzY2gga29lbm50ZXN0IER1IGluIGVpbmVtIE1vZWJlbHN0dWVjayBoZXJnZWhlbiB1bmQgZGllIEluZm8Kd29hbmRlcnMgYWxzIGltIFNlaGVyaGF1cyBzcGVpY2hlcm4uIEljaCBtb2VjaHRlIGluIGRpZXNlbSBTYXR6IF9EdV8gYmV0b25lbi4KU29uc3Qga2VubiBpY2ggbnVyIHdlbmlnZSBNYWdpZXIsIGRpZSBkYXMgd2lya2xpY2ggdHVuIHd1ZXJkZW4sIG5hY2hkZW0gbWFuCnNpY2ggbWFsIChhdWNoIG51ciBrdXJ6KSBtaXQgaWhuZW4gdWViZXIgZGFzIFRoZW1hIHVudGVyaGFsdGVuIGhhdC4gRmFsbHMgaWNoCkRpciBVbnJlY2h0IHR1IHVuZCBEdSBlaW5lIHZpZWwgYmVzc2VyZSBNb2VnbGljaGtlaXQga2VubnN0LCBkYW5uIGxhc3MgbWljaCBhbgpEZWluZW0gV2lzc2VuIGJpdHRlIHRlaWxoYWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBNdWVsbGhhbGRlbi4uLiAoT3JrdG9ldGVyLCAxOS4gU2VwIDIwMDIsIDE1OjM0OjI1KToKfiMhIHJuPUJhbWJpIHJ0PTEwMzI0NDIwODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2Ck51ciBzbyBlaW5lIElkZWUuLiBEaWUgTW9lYmVsIHdlcmRlbiB2b24gZGVuIFNlaGVybiBzZWxiZXIgYmVzY2hyaWViZW4gKGFscwpnYW56IG5vcm1hbGUgSGF1c2Jlc2NocmVpYnVuZyBnZXNwZWljaGVydCkgdW5kIGRpZSBGdW5rdGlvbiBkZXIgU2NocmFlbmtlIHdpcmQKYXVjaCB1ZWJlciBkYXMgaGF1cyB6dXIgVmVyZnVlZ3VuZyBnZXN0ZWxsdC4gRGFubiBrb2VubnRlIG1hbiBub2NoIHNvIGV0d2FzCndpZSBlaW5lIE1pZXR6YWhsdW5nIGVpbmZ1ZWhyZW4gKGRhcyB3YXMgamV0enQgZGVyIG5ldWthdWYgbmFjaCBlaW5lbSByZWJvb3QKa29zdGV0IHouQi4pIHVuZCB3ZW5uIGplbWFuZCBuaWNodCBtYWwgbmljaHQgemFobHQsIGlzdCBkZXIgU2NocmFuayBpbiBkZXIKQmVzY2hyZWlidW5nIG5vY2ggZGEsIGFiZXIgZGllIEZ1bmt0aW9uIGlzdCB3ZWcuIFdlbm4gZXIgd2llZGVyIHphaGx0IChuYWNoCmVpbmVyIFNwaWVscGF1c2Ugei5CLikgaXN0IGRlciBTY2hyYW5rIGRhbm4gYXVjaCAid2llZGVyIGRhIiwgYWxzbyBlaWdlbnRsaWNoCmRpZSBGdW5rdGlvbi4KCk9ya1QsIG1pdHNlbmZlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogTXVlbGxoYWxkZW4uLi4gKENhZHJhY2gsIDE5LiBTZXAgMjAwMiwgMTU6NDY6MTMpOgp+IyEgcm49QmFtYmkgcnQ9MTAzMjQ0MjA4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKT2ZmZW5iYXIgc2NoZWluc3QgRHUgbmljaHQgZ2FueiB6dSB3aXNzZW4gd292b24gRHUgZGEgcmVkZXN0LCB3ZW5uIER1IHZvbiAiaW0KU2VoZXJoYXVzIiBhYnNwZWljaGVybiBzY2hyZWlic3QuIEljaCB3dWVyZGUgdm9yc2NobGFnZW4gRHUgc2NoYXVzdCBEaXIgZGFzCmdhbnplIGVyc3RtYWwgaW4gUnVoZSBrb21wbGV0dCBhbiB1bmQgd2VubiBEdSBkYXMgZ2V0YW4gaGFzdCBfZGFubl8ga2FubnN0IER1Cm1pY2ggZ2VybmUgbWFsIGFuc3ByZWNoZW4gdW5kIGljaCB3ZXJkZSBEaXIgZXJrbGFlcmVuIHdpZSBtYW4gc293YXMgc2F1YmVyCm1hY2hlbiBrYW5uLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IE11ZWxsaGFsZGVuLi4uIChPcmt0b2V0ZXIsIDE5LiBTZXAgMjAwMiwgMTU6NTE6NTcpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNDQzMTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpPaywgd2VubiBlcyBwZXJzb2VubGljaCB3ZXJkZW4gc29sbDoKCjEuIER1IGhhc3QgUmVjaHQsIGljaCBrZW5uZSBtaWNoIGRhIG5pY2h0IGF1cyBTYWd0IGRpciBTIGV0d2FzIChpbSBHZWdlbnNhdHoKenUgTSkKMi4gRGllIEJlc2NocmVpYnVuZ2VuLCBkaWUgZWluIFNlaGVyIHNlaW5lbSBIYXVzIHZlcnBhc3N0IHdlcmRlbiBkb2NoCnNjaGxpZXNzbGljaCBpbiBkZW0gU2VoZXJoYXVzIHp1IFZlcmZ1ZWd1bmcgZ2VzdGVsbHQsIGFsc28ga2FubiBlciBkb2NoIGF1Y2gKImVpbmZhY2ggYWxzIEJlc2NocmVpYnVuZyIgTW9lYmVsIGVpbmZ1ZWdlbi4gRGllIEZ1bmt0aW9uIGRlciBNb2ViZWwgKGV2dGwuCm51ciBnZWdlbiAiTWlldHphaGx1bmciIG1vZWdsaWNoKSwgc29sbHRlIGRvY2ggd29obCBhbHMgRnVua3Rpb24gKEJlZmVobCkgZGVzClNlaGVyaGF1c2VzICh3aWUgei5CLiAid2lyZiB4eHggcmF1cyIpIHp1IHNwZWljaGVybiBzZWluLgoKT3JrVC4gdW53aXNzZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE11ZWxsaGFsZGVuLi4uIChCb2luZywgMTkuIFNlcCAyMDAyLCAxNTo1Mjo0OSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAzMjQ0MzUxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKTWFuY2htYWwgaGlsZnQgZXMsIGRlbiBCZXp1ZyB6dSBiZWFjaHRlbiAuLi4gbnVyIHNvIGFscyBUaXAgOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE11ZWxsaGFsZGVuLi4uIChKb3NodWEsIDE5LiBTZXAgMjAwMiwgMTc6Mjc6MDcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMzI0NDM1MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2ClVuZCB3b2Z1ZXIgTWlldGU/IEljaCB3aWxsIG5lbiBTY2hyYW5rLiBFaW5lbiBkZXIgaW1tZXIgZGEgaXN0LiBFaW5lbiBkZW4gaWNoCm51ciBlaW5tYWwgYmV6YWhsZW4gbXVzcy4gRWhybGljaCBnZXNhZ3Qgd2lsbCBpY2ggc29nYXIgbWVocmVyZSBkYXZvbi4gVW5kIGljaAptb2VjaHRlIHNpZSBnZXJuZSBzZWxic3QgYmVzY2hyZWliZW4ga29lbm5lbiwgYXVjaCB3ZW5uIGRhcyBhYnNvbHV0Cnp3ZWl0cmFuZ2lnIGlzdC4gVW5kIHdlbm4gZWluIE1hZ2llciBzb3dhcyBwcm9nZ3QsIGRhbm4gYmluIGljaCBpaG0gc2VocgpkYW5rYmFyLiBXZW5uIG5pY2h0IHJlbm5lIGljaCB3ZWl0ZXIgbmFjaCBqZWRlbSBSZWJvb3QgbmFjaCBXQiB1bmQga2F1ZmUgbWlyCmRlbiBLcmFtICh1bmQgZmx1Y2hlIGRhYmVpIC0gc3BhZXRlc3RlbnMgd2VubiBpY2ggc2llIHdpZWRlciBkdXJjaCBkaWUgR2VnZW5kCnNjaGllYmUgOykuIEFiZXIgZGllIERpc2t1c3Npb24gaGF0dGUgaWNoIHNjaG9ubWFsIGF1ZiBuZXIgRWJlbmUgYW5nZWZhbmdlbi4KSWNoIGRlbmtlIGJpc2xhbmcgaGF0dGUgZWluZmFjaCBrZWluIGVudHNwcmVjaGVuZGVyIE1hZ2llcgpaZWl0L1J1aGUvTW90aXZhdGlvbiBnZW51ZyBkYWZ1ZXIgLi4uCgpKb3NoIC0gbnV0enQgZGFzIFdCIEFuZ2Vib3QgcmVnZWxtYWVzc2lnIHVuZCBhdXNnaWViaWcgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTXVlbGxoYWxkZW4uLi4gKFZlY3RvciwgMTkuIFNlcCAyMDAyLCAxNzo0OTo1MCk6Cn4jISBybj1Kb3NodWEgcnQ9MTAzMjQ0OTIyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzA5NzkzODYKZWluIG1hZ2llciBzb2xsIG5lbiB3YWxrLW5wYyBwcm9nZ2VubSBkZXIgZC5zZWhlciBhYmxhZXVmdCB1bmQgc29iYWxkIGluIG5lbSAKcmF1bSBtZWhyIGFscyBuIGdlZ2Vuc3RhZW5kZSBzaW5kLCBwYWNrdCBlciBzZWluZW4gbWFnaXNjaGVuIG11ZWxsc2FjayBhdXMKdW5kIHZlcnNjaGllYnQgZGllIG9iamVrdGUgaW5zIGRhdGVuLW5pcnZhbmEuCmplIG5hY2ggbGFnLCB1cHRpbWUgdW5kIHNwaWVsZXJlaW5zaWNodCBrYW5uIG1hbiAnbicgamEgYXVjaCBub2NoIG5hY2gKb2JlbiB1bmQgdW50ZW4gZHJlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IE11ZWxsaGFsZGVuLi4uIChLcmVsbGphLCAyMC4gU2VwIDIwMDIsIDExOjI3OjAyKToKfiMhIHJuPUpvc2h1YSBydD0xMDMyNDQ5MjI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMDk3OTM4NgpJY2ggZmluZGUgZGllIElkZWUgbWl0IGRlbiBNaWV0LVNjaHJhZW5rZW4gKExlYXNpbmctU2NocmFlbmtlPyA6KSApIHJpY2h0aWcKZ3V0LiBNaWNodCBuZXJ2dCBlcyBhdWNoIGVpbmZhY2gsIGltbWVyIHdpZWRlciBkaWUgTW9lYmVsIGR1cmNoIEhhdXMgenUKc2NoaWViZW4uCgpPZGVyIGZlaGx0IG1pciBudXIgZWluIEhhdXNlaW5yaWNodHVuZ3NzY3JpcHQ/IERhcyB3YWVyIG5hdHVlcmxpY2ggYXVjaCBuZQpMb2VzdW5nIDopCgpUc2NodWVzcwpLcmVsbGphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogTXVlbGxoYWxkZW4uLi4gKEN1Y2h1bGxpbiwgMjAuIFNlcCAyMDAyLCAxMTozODowNSk6Cn4jISBybj1LcmVsbGphIHJ0PTEwMzI1MTQwMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMwOTc5Mzg2ClZlcnRpY2snIGRlbiBTY2hlaXNzIGhhbHQgZWluZmFjaCB1bmQgc2NoYWZmIERpciBkYXVlcmhhZnRlIFdlcnRhbmxhZ2VuCmFuLiBEaWUgRGF1ZXJoYWZ0aWdrZWl0IGlzdCB6d2FyIG5pY2h0IGJpbGxpZywgYWJlci4uLiBkYXVlcmhhZnQuIDspCgpDdWNoImhldWwnIGRvY2guInVsbGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWhsIDIwMDIgKENhc3NhbmRyYSwgMjEuIFNlcCAyMDAyLCAxMzoyMzowNyk6CgpEYXMgTW9yZ2VuLCBTb25udGFnLCBXYWhsIGlzdCB3aXNzdCBpaHIgamEgaG9mZmVudGxpY2ggYWxsZS4gKFp1bWluZGVzdCBkaWUKZGllIGluIGRldXRzY2hsYW5kIGlocmVuIHdvaG5zaXR6IGhhYmVuKS4gSWNoIGhvZmZlIG51ciBkYXMgaWhyIGF1Y2ggYWxsZQpoaW5nZWh0LCBkZW4gamVkZSBuaWNodCBhYmdlZ2ViZW5lIFN0aW1tZSBpc3QgZWluZSBTdGltbWUgZnVlciBkaWUgZmFsc2NoZW4uCgpDYXNzYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjEuIFNlcCAyMDAyLCAxMzoyNToxNCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzMjYwNzM4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKU28/CgpBbmdlbm9tbWVuIGljaCBoYWx0ZSBmYXN0IGFsbGUgUG9saXRpa2VyIHBlcnNvZW5saWNoIGZ1ZXIgbmljaHQgd2FlaGxiYXIgKHdhcwpkZXIgRmFsbCBpc3QpLgpBbmdlbm9tbWVuIHdlaXRlcmhpbiwgZGFzcyBpY2ggYWxsZSBQcm9ncmFtbWUgZnVlciBuaWNodCB3YWVobGJhciBoYWx0ZSAod2FzCm5pY2h0IGRlciBGYWxsIGlzdCkuCgpXYWVyZSBlcyBkYSBuaWNodCBrb25zZXF1ZW50LCBuaWNodCB6dSB3YWVobGVuPwoKQWxzbyBpY2ggaGFsdGUgd2FlaGxlbiB1bSBkZXMgV2FlaGxlbnMgd2lsbGVuIGZ1ZXIgZmFsc2NoLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhaGwgMjAwMiAoQ2Fzc2FuZHJhLCAyMS4gU2VwIDIwMDIsIDEzOjI3OjMxKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyNjA3NTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwoKU2VsYnN0IHdlbm4gZHUgYWxsZSBQb2xpdGlrZXIgZnVlciBuaWNodCB3YWVobGJhciBoYWVsbHN0LCB3YXMgaWNoIHZlcnN0ZWhlbgprYW5uLCBnaWJ0cyBkYSBiZXN0aW1tdCBub2NoIGVpbmUgcmVpaGVuZm9sZ2UuIFVuZCBkYWhlciBpc3QgZXMgZG9jaCBpbW1lcgpub2NoIGJlc3NlciBkYXMga2xlaW5lcmUgVWViZWwgenUgd2FlaGxlbiwgb2RlciBldHdhIG5pY2h0LgoKQ2Fzc2FuZHJhLCBtb3JnZW4gd2FlaGxlbiBnZWhlbmQgdW5kIGF1Y2ggd2lzc2VuZCB3YXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhaGwgMjAwMiAoTWFyY3VzLCAyMS4gU2VwIDIwMDIsIDEzOjI5OjQ2KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyNjA3NjUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpFcyB3YWVyZSBrb25zZXF1ZW50LCBzZWxiZXIgZWluZSBQYXJ0ZWkgenUgZ3J1ZW5kZW4gdW5kIHp1IGthbmRpZGllcmVuLgoKKEVzIGdpYnQgaW1tZXIgZWluZW4gZHJpdHRlbiBXZWcuKQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjEuIFNlcCAyMDAyLCAxMzoyOTo0OCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzMjYwNzY1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSWNoIGhhYmUgYXVjaCBzY2hvbiBnZXdhZWhsdC4gRGFzIGtsZWluc3RlIFVlYmVsLiBTY2hhZGVuc2JlZ3Jlbnp1bmcgaGFsdC4KCkFiZXIgd2VubiBkYXMgamVkZXIgbWFjaHQsIGRhbm4gZGVua3QgamVkZSBQYXJ0ZWksIHNpZSBoYWV0dGUgc28gdG9sbGUKWnVzdGltbXVuZ3N3ZXJ0ZSwgb2J3b2hsIHNpZSBlaWdlbnRsaWNoIG51ciBhbHMga2xlaW5zdGVzIFVlYmVsIGdlc2VoZW4gd2lyZC4KVW5kIGtlaW5lciBkZXIgUGFydGVpZW4ga29tbXQgYXVmIGRpZSBJZGVlLCBkYXNzIG1hbiB3YXMgYWVuZGVybiBtdWVzc3RlLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXYWhsIDIwMDIgKFZhbmlvbiwgMjEuIFNlcCAyMDAyLCAxMzozMzowMyk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjYwNzc4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTmEgdW5kPyBXZW5uIER1IG5pY2h0IHdhZWhsc3QsIGdlaHN0IGR1IG51ciBpbiBkaWUgU3RhdGlzdGlrIGRlciBOaWNodHdhZWhsZXIKZWluLCB3aXJzdCBhbHMgcG9saXRpc2NoIGRlc2ludGVyZXNzaWVydCBlaW5nZXN0dWZ0IHVuZCBhZW5kZXJzdCBlYmVuc28KbmljaHRzLiBOdXIgZGFzcyBEdSBlaW5lcyBkZWluZXIgR3J1bmRyZWNodGUgKHZpZWxsZWljaHQgZGFzIHdpY2h0aWdzdGUpCnZlcnNjaHdlbmRldCBoYXN0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhaGwgMjAwMiAoQ2Fzc2FuZHJhLCAyMS4gU2VwIDIwMDIsIDEzOjMzOjIxKToKfiMhIHJuPU1hcmN1cyBydD0xMDMyNjA3Nzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpLZWluZXIgaGluZGVydCBkaWNoIGRhcmFuIGVpbmUgcGFydHkgenUgZ3J1ZW5kZW4sIG11c3N0IG51ciBNaXRnbGllZGVyIGZpbmRlbgp1bmQgZWluIFByb2dyYW0gZXJzdGVsbGVuIGV0Yy4gZGFubiBoYWV0dGVuIHdpciBoYWx0IG5vY2ggZWluZSBQYXJ0eSB1bnRlcgpzb25zdGlnZXMsIGFiZXIgbGFzcyBkaWNoIG5pY2h0IGFiaGFsdGVuIGljaCB3dWVuc2NoZSB2aWVsIEdsdWVjayBiZWltCkdydWVuZGVuLgoKQ2Fzc2FuZHJhLCBiZXN0aW1tdCBrZWluZSBwYXJ0ZWkgZ3J1ZW5kZW4gd29sbGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobCAyMDAyIChDYWRyYWNoLCAyMS4gU2VwIDIwMDIsIDEzOjM0OjEzKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyNjA4MDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpBdWphLi4uIGVpbmUgUGFydHkgUGFydGVpLi4uLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobCAyMDAyIChDdWNodWxsaW4sIDIxLiBTZXAgMjAwMiwgMTM6MzY6NTIpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyNjA4MDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpMYWNoIG5pY2h0LiBNaXQgIldpciB3b2xsZW4gU3RlYWtzISIgaGF0IGVpbmUgSG9jaHNjaHVsZ3J1cHBlIGluIE9zbmFicnVlY2sKc28gdmllbCBQdW5rdGUgZ2VtYWNodCwgZGFzcyBzaWUgenVyIHp3ZWl0c3RhZXJrc3RlbiBHcnVwcGllcnVuZyB3dXJkZS4KClN0dWRlbnRlbi4gRGFzIHNvbGxlbiBkaWUgIkludGVsbGlnZW50ZXN0ZW4gRGV1dHNjaGxhbmRzIiBzZWluLiBJY2ggZ2xhdWJlLApkaWUgd2FocmVuIEludGVsbGlnZW50ZXN0ZW4gc2luZCBpbSBBbHRlciB2b24gMTggSmFocmVuIGF1c2dld2FuZGVydC4gTmFjaApUaW1idWt0dSBvZGVyIHNvLiA7KQoKQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2FobCAyMDAyIChWYW5pb24sIDIxLiBTZXAgMjAwMiwgMTM6NDM6MTMpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI2MDgyMTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkdhYiBlcyBuaWNoIHZvciA0IEphaHJlbiBlaW5lIFBvYm8tUGFydGVpLCBkaWUgYWxzIFdhaGx2ZXJzcHJlY2hlbiBoYXR0ZSwgZGllCldhaGxiZWloaWxmZSAoZGllIHZvbiBkZXIgU3RpbW1lbnphaGwgYWJoYWVuZ3QpIG5hY2ggZGVyIFdhaGwgYmVpIGVpbmVyCmdyb3NzZW4gUGFydHkgenUgdmVyc2F1ZmVuPwoKViosIG1laW50IHNpY2ggZGEgYW4gd2FzIHp1IGVyaW5uZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2FobCAyMDAyIChWYXJsYXJpb24sIDIxLiBTZXAgMjAwMiwgMTM6NDQ6MjgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzI2MDg1OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3ClllcCwgZGFyYW4ga2FubiBpY2ggbWljaCBhdWNoIGVyaW5uZXJuLi4uCgpWYXJsKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWhsIDIwMDIgKEdsb2luc29uLCAyMS4gU2VwIDIwMDIsIDEzOjQ3OjM2KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyNjA3NTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpOZWluLCBkYW5uIGlzdCBlcyBrb25zZXF1ZW50IHdhZWhsZW4genUgZ2VoZW4gdW5kIGRlbiBTdGltbXpldHRlbCB1bmd1ZWx0aWcgenUKbWFjaGVuLiBEYW1pdCBoYXQgbWFuIGdlbmF1IGRpZXNlIE1laW51bmcgYXVzZ2VkcnVlY2t0LiBEdXJjaCBJbmFrdGl2aXRhZXQKIktlaW5lIE1laW51bmcgaXN0IGF1Y2ggZWluZSBNZWludW5nLiIgZHJ1ZWNrdCBtYW4gZ2FyIG5pY2h0cyBhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWhsIDIwMDIgKEVsYmVyZXQsIDIxLiBTZXAgMjAwMiwgMTM6NDg6MjQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMjYwODg1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKaW4gZGllc2VtIHp1c2FtbWVuaGFuZyB3YWVyIGVzIG1hbCBpbnRlcmVzc2FudCB6dSB3aXNzZW4gd2FzIGlociB2b24Kd2FobHBmbGljaHQgaGFsdGV0IHdpZSBzaWUgaW4gbWFuY2hlbiBzdGFhdGVuIGphIGV4aXN0aWVydAoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FobCAyMDAyIChHbG9pbnNvbiwgMjEuIFNlcCAyMDAyLCAxMzo1MjowNik6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzI2MDg5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck51ZXNjaHQuCkljaCBmaW5kIHNvZ2FyLCBXYWVobGVuIHNvbGx0ZSBlaW4gYmVzb25kZXJlcyBSZWNodCBzZWluLiBWaWVsbGVpY2h0IHNvZ2FyCmVpbmVzLCBkYXNzIG1hbiBzaWNoIGR1cmNoIERpZW5zdCBhbiBkZXIgR2VzZWxsc2NoYWZ0IGVyc3QgdmVyZGllbmVuIG11c3MuCk5laW4sIGljaCBoYWJlIG5pY2h0IHp1IGxhbmdlICJTdGFyaHNpcCBUcm9vcGVycyIgZ2VsZXNlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FobCAyMDAyIChNYW5kcmFnb24sIDIxLiBTZXAgMjAwMiwgMTM6NTI6MjApOgp+IyEgcm49RWxiZXJldCBydD0xMDMyNjA4OTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpTY2h3YWNoc2lubi4gSWNoIGZpbmRlLCBtYW4gc29sbHRlIGRhcyBXYWhscmVjaHQgbGltaXRpZXJlbiBhdWYgZGllamVuaWdlbiwKZGllIFdpc3Nlbiwgd2FzIGRpZSBQYXJ0ZWllbiB3b2xsZW4gdW5kIHdlbGNoZSBQb2xpdGlrZXIgd29oaW4gZ2Vob2VyZW4uIEFiZXIKbmFqYS4gU2Nob24gZGllIEVyZm9yZGVybmlzLCBFcnN0LSB1bmQgWndlaXRzdGltbWUgaW4gaWhyZXIgQmVkZXV0dW5nIHp1CmVya2xhZXJlbiB3dWVyZGUgZGllIFdhaGxiZXRlaWxpZ3VuZyB1bnRlciAzMCUgZHJ1ZWNrZW4gOm8pCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdhaGwgMjAwMiAoR2xvaW5zb24sIDIxLiBTZXAgMjAwMiwgMTQ6MTg6NTQpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI2MDkxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CgpJbiBEZXV0c2NobGFuZCB3aXJkIGF1cyBhbGxlbSBvZWZmZW50bGljaGVuIGV0d2FzIGdlbWFjaHQgd29mdWVyIG1hbiB2aWVsZQpNZW5zY2hlbiBicmF1Y2h0IHVtIGVzIHp1IG9yZ2FuaXNpZXJlbiwgenUgYmVncmVpZmVuIHVuZCBtYW5jaG1hbCB6dQplcmtsYWVyZW4uIERldXRzY2hlcyBXYWhscmVjaHQgaXN0IC4uLiBrb21wbGl6aWVydCBsYW5nd2VpbGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobCAyMDAyIChWYW5pb24sIDIxLiBTZXAgMjAwMiwgMTQ6MjM6MDUpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI2MDkxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck1hbmRyYWdvbiwgbWFnIHNlaW4sIGRhc3MgZGFzIHZvbiBEaXIgdm9yZ2VzY2hsYWdlbmUgIldhaGxyZWNodCBkZXIKQmVmYWVoaWd0ZW4iIHRhdHNhZWNobGljaCB6dSBiZXNzZXJlbiBFcmdlYm5pc3NlbiBmdWVocmVuIHd1ZXJkZS4gRGFzIFByb2JsZW0KaXN0IG51cjogV2VyIGxlZ3QgZmVzdCwgd2VyIGJlZmFlaGlndCBpc3QgenUgV2FlaGxlbiB1bmQgd2VyIG5pY2h0PwoKViogd2lsbCBzYWdlbiwgZGFzcyBFaW5ncmVuenVuZyBkZXIgV2FobGJlcmVjaHRpZ3RlbiB1bndlaWdlcmxpY2ggenUKQXJpc3Rva3JhdGllIHVuZCBWZXR0ZXJud2lydHNjaGFmdCBmdWVocnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWhsIDIwMDIgKEdsb2luc29uLCAyMS4gU2VwIDIwMDIsIDE0OjIzOjU1KToKfiMhIHJuPVZhbmlvbiBydD0xMDMyNjEwOTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpXaXIgaGFiZW4gZG9jaCBlaW5lIHN0YXRpc3Rpc2NoZSBFaW5ncmVuenVuZy4gRGFzIHVuc2VyIEJpbGR1bmdzc3lzdGVtIG5pY2h0CmluIGRlciBMYWdlIGlzdCwgZGllIGVsdGVybGljaGUgS29uZGl0aW9uIHp1IFBvbGl0aWt2ZXJkcm9zc2VuaGVpdCB1bmQKT2VmZmVudGxpY2hrZWl0c2Rlc2ludGVyZXNzZSBiaXMgMTggenUgZHVyY2hicmVjaGVuIGthbm4gbWFuIGlobSBqYSBnZXJuZSBhdWNoCm5vY2ggdm9yd2VyZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobCAyMDAyIChNYW5kcmFnb24sIDIxLiBTZXAgMjAwMiwgMTQ6MjQ6NTUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzI2MTA5ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkRlaW4gQXJ0aWtlbCBrb2VubnRlIHZvbiBQbGF0b24gc2Vpbi4gRGVyIHNjaHJlaWJ0IGluICdEZXIgU3RhYXQnIHNvIHppZW1saWNoCmRhcyBhZWhubGljaGUuIEFiZXIgbmVuIGtsZWluZW4gVGVzdCwgb2IgbWFuIHdlaXNzLCB3YXMgbWFuIHR1dCwgaGFsdGUgaWNoIGJlaQpXYWhsZW4gbmljaHQgZnVlciBzb29vbyBmYWxzY2guIFdpc3NlbiBqYSBhdWNoIHZpZWxlIG5pY2h0LCBkYXNzIG1hbiBlaW5lcgpQYXJ0ZWkgZHVyY2ggZWluZSBTdGltbWUgZnVlciBzaWUgU0NIQURFTiBrYW5uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYWhsIDIwMDIgKFZhbmlvbiwgMjEuIFNlcCAyMDAyLCAxNDoyNzoxMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMyNjExMDM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYXMgUHJvYmxlbSBpc3Q6IER1IG11c3N0IGVpbiBXYWhsYmVyZWNodGlndGVuRyBlaW5mdWVocmVuLCBpbiBkZW0gZmVzdGdlbGVndAp3aXJkLCB3ZXIgV2FobGJlcmVjaHRpZ3QgaXN0LiBXZW5uIER1IGRhIFJlZ2VsbiB1ZWJlciBTdGFhdHNidWVyZ2Vyc2NoYWZ0IHVuZApMZWJlbnNhbHRlciBoaW5hdXMgZWluYmF1c3QsIGtvbW10IGVzIGZydWVoZXIgb2RlciBzcGFldGVyIGRhenUsIGRhc3MgbWFuIGFuCmRpZXNlbiBSZWdlbG4gZHJlaHQuIAoKRXMgd2VyZGVuIG51ciBub2NoIGRpZSBMZXV0ZSB6dXIgV2FobCB6dWdlbGFzc2VuLCBkaWUgYXVjaCAnRGllIFJpY2h0aWdlbicKd2FlaGxlbiAtIGF1Y2ggZWluZW4gV2lzc2Vuc3Rlc3Qga2FubiBtYW4gZ2VzY2hpY2t0IGZvcm11bGllcmVuLiBTb3dlaXQgaWNoCm1pY2ggZXJpbm5lciB3dXJkZSBkYXMgaW4gU3VlZGFtZXJpa2EgaW4gZGVuIDUwZXIgSmFocmVuIHNvIGdlbWFjaHQuIFNjaHdhcnplCmRpZSB3YWVobGVuIHdvbGx0ZW4sIG11c3N0ZW4gZXJzdCBlaW5lbiBUZXN0IGJlc3RlaGVuLiAgCgpFaW4gRGFtbWJydWNoIGJlZ2lubnQgbWl0IGVpbmVtIGtsZWluZW4gUmlzcy4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYWhsIDIwMDIgKEVsYmVyZXQsIDIxLiBTZXAgMjAwMiwgMTQ6Mjk6MjApOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI2MTEwOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CmRhcyBsaWVndCBhYmVyIG51ciBhbSBXYWhsc3lzdGVtLCBkYXJhbiBsYWVzc3Qgc2ljaCBkcmVoZW4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhaGwgMjAwMiAoVmFuaW9uLCAyMS4gU2VwIDIwMDIsIDE0OjI5OjI4KToKfiMhIHJuPVZhbmlvbiBydD0xMDMyNjExMjMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpNaXQgU3VlZGFtZXJpa2EgbWVpbmUgaWNoIGRlbiBTdWVkZW4gZGVyIFVTQS4KClYqIHVlYnQgZGFzIG5vY2ggbWl0IGRlbSAnU2ljaCBnZXNjaGlja3QgYXVzZHJ1ZWNrZW4nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjEuIFNlcCAyMDAyLCAxNDozMDoxNCk6Cn4jISBybj1WYW5pb24gcnQ9MTAzMjYxMTM2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGFzIHdpciBFcnN0LSB1bmQgWndlaXRzdGltbWUgaGFiZW4sIGxpZWd0IGF1Y2ggYW0gV2FobHN5c3RlbS4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2FobCAyMDAyIChHbG9pbnNvbiwgMjEuIFNlcCAyMDAyLCAxNDozMTowMCk6Cn4jISBybj1WYW5pb24gcnQ9MTAzMjYxMTIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSm8sIGRhcyBzcHJpY2h0IGphIGF1Y2ggZ2VnZW4gVmVyZGllbmVuIGRlcyBSZWNodGVzIGR1cmNoIGVpbmVuIEVpbnNhdHogZnVlcgpkaWUgR2VzZWxsc2NoYWZ0LiBJcmdlbmR3byB3aXJkIGRhbm4gZ2VrdW5nZWx0IHVuZCBnZXdpc3NlIEdydXBwZW4ga29tbWVuCmFsbGVpbiBkdXJjaCBFaW5mbHVzcyB1bmQgRmFtaWxpZSB6dW0gV2FobHJlY2h0LiBJc3QgaGFsdCBrZWluZSBwZXJmZWt0ZSBXZWx0LAphbHNvIG11ZXNzZW4gd2lyIG1pdCBuaWNodCBwZXJmZWt0ZW4gV2FlaGxlcm4genVzYW1tZW5sZWJlbi4KTmljaHRzZGVzdG90cm90eiBzaW5kIGRpZSBXYWhscmVnZWx1bmdlbiB6aWVtbGljaCBrb21wbGV4IGZ1ZXIgZWluIExhbmQgZGFzcwplcnN0IHZvciBrdXJ6ZXIgWmVpdCBkYXMgR2FuemUgbmV1IGVyZmluZGVuIGtvbm50ZS4gVW5kIHdpciBtYWNoZW4gdW5zIHVlYmVyCmRpZSBXYWhsZ2VzZXR6ZSBkZXIgZGVyemVpdCBhZWx0ZXN0ZW4gKD8pIFJlcHVibGlrIGx1c3RpZyAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYWhsIDIwMDIgKEVsYmVyZXQsIDIxLiBTZXAgMjAwMiwgMTQ6MzE6MDgpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI2MTE0MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CmRhc3Mgc3RpbW1lbiBzY2hhZGVuIGtvZW5uZW4gbGllZ3QgYXVjaCBkYXJhbiBkYXNzIGVzIGVyc3QgdW5kIHp3ZWl0c3RpbW1lCmdpYnQKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjEuIFNlcCAyMDAyLCAxNDozMjoyNCk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzI2MTE0Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3ClJpY2h0aWcuIEFiZXIgZGFzIExldXRlIG5pY2h0IHdpc3NlbiwgZGFzcyBtYW4gbWl0IGRlciBFcnN0c3RpbW1lIGRlbiBLYW56bGVyCndhZWhsdCB1bmQgbWl0IGRlciBad2VpdHN0aW1tZSBkZW4gQnVuZGVzdGFnIChpbW1lcmhpbiB3aXNzZW4gZGFzIG5lIE1lbmdlCkxldXRlKSBsaWVndCBiZXN0aW1tdCBhbSBzY2hsZWNodGVuIEJpbGR1bmdzc3lzdGVtLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2FobCAyMDAyIChFbGJlcmV0LCAyMS4gU2VwIDIwMDIsIDE0OjMzOjI1KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyNjExNTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwphbHNvIGljaCB3ZXJkZSBrYXVtIGRpZSBtb2VnbGljaGtlaXQgaGFiZW4gbWl0IGRlciBlcnN0c3RpbW1lIGZ1ZXIgZGVuIEthbnpsZXIKenUgc3RpbW1lbiwgZWdhbCB3ZXIga2FuemxlciB3aXJkIGhpZXIgaW4gYWFjaGVuIHRyaXR0IGRlciB3b2hsIG5pY2h0IGFuCmdsYXViZSBpY2gKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXYWhsIDIwMDIgKFZhbmlvbiwgMjEuIFNlcCAyMDAyLCAxNDozNDoyMSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzI2MTE2MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck1hbmRyYWdvbiBrb21tdCB2bGx0LiBhdXMgSC4gRGEga2FubiBlciBkZW4gS2FuemxlciB3YWVobGVuLiBOYWphLCB6dW1pbmRlc3QKaW4gVGVpbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFdhaGwgMjAwMiAoTWFuZHJhZ29uLCAyMS4gU2VwIDIwMDIsIDE0OjM2OjI4KToKfiMhIHJuPVZhbmlvbiBydD0xMDMyNjExNjYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpHbmEuIEVzIGdhYiBuZSBVbWZyYWdlIG5hY2ggZGVyIFZJRUxFIExldXRlIG1laW50ZW4sIGRhc3MgZGFzIGRlciBTaW5uIHZvbgpFcnN0LSB1bmQgWndlaXRzdGltbWUgaXN0LiBXZW0gbmljaHQga2xhciBpc3QsIHdhcyBlciBnZXJhZGUgdHV0LCBkZXIga2FubiB2b24KamVkZW0gVmVydHJhZyB6dXJ1ZWNrdHJldGVuIChJbmhhbHRzaXJydHVtKSAuLi4gTnVyIGJlaSBkZXIgV2FobCBtdWVzc2VuIHdpcgozMCBNaW8uIFN0aW1tZW4gdm9uIExldXRlbiB0b2xlcmllcmVuLCBkaWUga2VpbmUgQWhudW5nIGhhYmVuLCB3YXMgc2llIGdlcmFkZQpnZXRhbiBoYWJlbi4KCk1hKiAoYmV3dXNzdCB1ZWJlcnNwaXR6dCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXYWhsIDIwMDIgKEN1Y2h1bGxpbiwgMjEuIFNlcCAyMDAyLCAxNjo1MToyNCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjYxMTc4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKVW5kIHdhcyBtYWNoc3QgRHUsIHdlbm4gaWNoIERpY2ggZnVlciBwb2xpdGlzY2ggZmVobGdlYmlsZGV0IGhhbHRlPyAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FobCAyMDAyIChNYWFyZywgMjEuIFNlcCAyMDAyLCAxNjo1NDo1Nyk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzMjYwNzM4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKQ2Fzc2FuZHJhIHNjaHJ1YjoKCj4gSWNoIGhvZmZlIG51ciBkYXMgaWhyIGF1Y2ggYWxsZSBoaW5nZWh0LCBkZW4gamVkZSBuaWNodCBhYmdlZ2ViZW5lIFN0aW1tZQo+IGlzdCBlaW5lIFN0aW1tZSBmdWVyIGRpZSBmYWxzY2hlbi4KClNjaGFkZSwgZWlnZW50bGljaCB3b2xsdGUgaWNoIG5pY2h0IGhpbmdlaGVuLiBBYmVyIGRhIGljaCBTY2hyb2VkZXIgbmljaHQgd2lsbAptdXNzIGljaCBkb2NoLgoKTWlzdC4KCk1hYXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2FobCAyMDAyIChNYW5kcmFnb24sIDIxLiBTZXAgMjAwMiwgMTc6MTI6MTkpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI2MTk4ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkdhciBuaWNodHMuIFNvbGx0ZSBpY2g/CgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBXYWhsIDIwMDIgKEN1Y2h1bGxpbiwgMjEuIFNlcCAyMDAyLCAxNzoxNDo0NSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjYyMTEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSWNoIG1laW46IEtsYXIgaXN0IERlbW9rcmF0aWUgLSBhdXMgbWVpbmVyIFNpY2h0IC0gc2NoZWlzc2UsIHdlaWwgZGEKTGV1dGUgd2FlaGxlbiBkdWVyZmVuLCBkaWUgLSBhdXMgbWVpbmVyIFNpY2h0IC0gbmljaHQgd2lzc2VuLCB3YXMgc2llCnR1bi4KCkFiZXIgenVtIGVpbmVuIGJpbiBpY2ggbmljaHQgZGVyIFdlaXNoZWl0IGxldHp0ZXIgU2NoKGwpdXNzICh1bmQgRFUKZ2FueiBzaWNoZXIgYXVjaCBuaWNodCkgdW5kIHp1bSBhbmRlcmVuLi4uIHdpZSBzZWhlbiBkaWUgQWx0ZXJuYXRpdmVuCmF1cz8gRGllIHBoaWxvc29waGlzY2hlIEFyaXN0b2tyYXRpZSBob2VydCBzaWNoIGphIHNjaG9uIHRvbGwgYW4sIGFiZXIKZGllIGlkZWFsZW4gTWVuc2NoZW4gZGF6dSBtdXNzdCBEdSBlcnN0bWFsIGZpbmRlbi4gVmllbCBTcGFzcyBiZWltClN1Y2hlbi4KCkMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBXYWhsIDIwMDIgKEVsYmVyZXQsIDIxLiBTZXAgMjAwMiwgMTc6MTk6MTQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI2MjEyODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CmRhcyBtaXQgZGVuIFBoaWxvc29waGVua29lbmlnZW4gaXN0IGphIHNjaG9uIG1hbCBtaXQga2F0YXN0cm9waGFsc3RlbgpFcmdlYm5pc3NlbiBwcm9iaWVydCB3b3JkZW4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBXYWhsIDIwMDIgKEN1Y2h1bGxpbiwgMjEuIFNlcCAyMDAyLCAxNzoyMjo0OSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzI2MjE1NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkRhcyBwYXNzaWVydCwgd2VubiBtYW4gbmljaHQgbGFuZyBnZW51ZyBzdWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFdhaGwgMjAwMiAoRWxiZXJldCwgMjEuIFNlcCAyMDAyLCAxNzoyODoyNCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAzMjYyMTc2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKb2NoIFBsYXRvbiBkdXJmdGUgc2VsYmVyIHJhbiA6KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFdhaGwgMjAwMiAoQmFtYmksIDIxLiBTZXAgMjAwMiwgMTg6MDU6MzgpOgp+IyEgcm49RWxiZXJldCBydD0xMDMyNjIyMTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwooQW50d29ydCBhdWYgZGVyemVpdCBsZXR6dGVuIEFydGlrZWwgZGVzIFRocmVhZHMpCjEuIFN0YXJ0c2hpcCBUcm9vcGVycyBpc3QgY29vbC4gU293b2hsIGRlciBGaWxtIGFscyBhdWNoIGRhcyBCdWNoLgoyLiBEaWUgRXJzdHN0aW1tZSBpc3QgbmljaHQgZGllICJLYW56bGVyc3RpbW1lIiwgc29uZGVybiBkaWUgU3RpbW1lIGZ1ZXIgZGVuCkRpcmVrdGthbmRpZGF0ZW4gZGVzIFdhaGxrcmVpc2VzLiBJbSBHZWdlbnNhdHogZGF6dSBpc3QgZGllIFp3ZWl0c3RpbW1lIGRpZQpTdGltbWUgZnVlciBlaW5lICJMaXN0ZSIgdm9uIExldXRlbiwgZGllIGdlbWVpbnNhbSAodWVibGljaGVyd2Vpc2Ugdm9uIGVpbmVyClBhcnRlaSBnZXN0ZWxsdCkgenVyIFdhaGwgc3RlaGVuLiAoRXMgZ2lidCBhdWNoICJmcmVpZSBXYWVobGVyZ3J1cHBlbiIsIGRpZQpzaWNoIHNlbGJzdCB6dW1pbmRlc3QgbmljaHQgZGlyZWt0IGFscyBQYXJ0ZWkgc2VoZW4uIERhcyBpc3QgaGllciBhYmVyIGVoZXIKdW53aWNodGlnLikgSWNoIHdlaXNzLCBkYXNzIHNjaG9uIGtsYXJnZXN0ZWxsdCB3dXJkZSAvIHdlcmRlbiBzb2xsdGUsIGRhc3MgbWFuCm1pdCBkZXIgRXJzdHN0aW1tZSBuaWNodCBkZW4gS2FuemxlciB3YWVobGVuIGthbm4uIEFiZXIgaWNoIHN0ZWxscyBoaWVybWl0CnRyb3R6ZGVtIHJpY2h0aWcuIERlciBCdW5kZXNrYW56bGVyIHdpcmQgdm9uIERldXRzY2hlbiBCdW5kZXN0YWcgZ2V3YWVobHQuIE1hbgprYW5uIG51ciBkaWUgTWl0Z2xpZWRlciBkaWVzZXMgQnVuZGVzdGFnZXMgd2FlaGxlbi4gRGFzIEthYmluZXR0IChhbHNvIGRpZQpSZWdpZXJ1bmcpIGlzdCBrZWluIFRlaWwgZGVyIExlZ2lzbGF0aXZlIChkZXMgUGFybGFtZW50cyAvIGRlcyBEZXV0c2NoZW4KQnVuZGVzdGFncykuIEVzIGdpYnQgbnVyIChsZWlkZXIpIGVpbmUgUGVyc29uYWx1bmlvbiB6d2lzY2hlbiBNaXRnbGllZGVybgpiZWlkZXIgU3RhYXRzb3JnYW5lLgozLiBEdSBtdXNzdCBrZWluZSBQYXJ0ZWkgZ3J1ZW5kZW4sIHVtIERlaW5lIE1laW51bmcgZWluenVicmluZ2VuLiBXZW5uIERpcgprZWluIFdhaGxwcm9ncmFtbSB6dSBodW5kZXJ0IFByb3plbnQgenVzYWd0LCBpc3QgZGFzIG5vcm1hbC4gV2VubiBEdSBlaW4KV2FobHByb2dyYW1tIGZ1ZXIgaW4gQW5zYWV0emVuIHJpY2h0aWcgaGFlbHRzdCwgYWJlciBkZW5ub2NoIGluIGVpbmlnZW4KUHVua3RlbiBncmF2aWVyZW5kZSBVbnRlcnNjaGllZGUgenUgRGVpbmVyIEF1ZmZhc3N1bmcgZmluZGVzdCwgZGFubiBrYW5uc3QgRHUKZGllc2VyIFBhcnRlaSBiZWl0cmV0ZW4gdW5kIERpY2ggZG9ydCBlaW5icmluZ2VuLiBJc3QgRGlyIGRhcyB6dXZpZWwsIGthbm5zdApEdSBtaXQgTWVuc2NoZW4gcmVkZW4sIGRpZSBkZXIgUGFydGVpIGFuZ2Vob2VyZW4gdW5kIGRpZXNlICJob2VmbGljaCBiaXR0ZW4iLApzaWNoIERlaW5lciBNZWludW5nIGFuenVuYWVoZXJuIG9kZXIgc2llIHNvZ2FyIGdhbnogenUgdWViZXJuZWhtZW4uIFdlbm4gRGlyCmF1Y2ggZGFzIHp1dmllbCBBcmJlaXQgaXN0LCBkYW5uIG11c3N0IER1IERpY2ggZWJlbiBkYW1pdCB6dWZyaWVkZW4gZ2ViZW4sCiJudXIiIGRpZSBiZXN0ZWhlbmRlbiBXYWhscHJvZ3JhbW1lIHp1ciBBdXN3YWhsIHp1IGhhYmVuLiBXZW5uIER1IG5pY2h0CndhZWhsc3QsIGRhbm4gd2FlaGxzdCBEdSBuaWNodCBudXIgImRhcyBrbGVpbmVyZSBVZWJlbCIsIGFsc28gZGFzIERpciBub2NoIGFtCm5hZWhlc3RlbiBzdGVoZW5kZSBQcm9ncmFtbSwgc29uZGVybiBhbGxlIGFuZGVybiBQcm9ncmFtbWUgYXVjaC4KNC4gU293YXMsIHdpZSAiSWNoIGthbm4ga2VpbmVtIFBvbGl0aWtlciBtZWluIFZlcnRyYXVlbiBhdXNzcHJlY2hlbiIgbXVlc3N0ZQppY2ggZWlnZW50bGljaCBwZXJzb2VubGljaCBuZWhtZW4uIFN0YXR0ZGVzc2VuIGRlbmsgaWNoIG1pciBhYmVyIG1laW5lbiBUZWlsLApkZXIgdmllbCBtaXQgZGVuIFdvcnRlbiwgd2llICJVbnNhY2hsaWNoa2VpdCIsICJIZXR6ZSBnZWdlbiBlaW5lIEdydXBwZQpNZW5zY2hlbiIgdW5kIGFlaG5saWNoZW0gYmVzY2hyaWViZW4gd2VyZGVuIGthbm4uIC4uLiBJY2ggYmluIHp3YXIgIm51ciIKKG5vY2gpIGluIGVpbmVtIE9ydHN2ZXJiYW5kIGVpbmVyIFBhcnRlaSBzb3dpZSBkZW0gS3JlaXN2ZXJiYW5kIGVpbmVyCnBvbGl0aXNjaGVuIEp1Z2VuZG9yZ2FuaXNhdGlvbiAoZWluZXIgUGFydGVpKSB0YWV0aWcsIGJldHJhY2h0ZSBtaWNoIGFiZXIKZHVyY2hhdXMgYWxzIFBvbGl0aWtlci4KCkJhbWJpIC0gYXVmIGVpbmlnZXMgaGllciBtYWwgcmVhZ2llcnQgaGFiZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWhsIDIwMDIgKERlZXBibHVlLCAyMS4gU2VwIDIwMDIsIDE4OjE5OjI5KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyNjA3NTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYW5uIFNjaHJlaWIgZWluIGVpZ2VuZXMgUHJvZ3JhbW0sIGthbmRpZGllcmUgc2VsYnN0IHVuZCB3YWVobCBEaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FobCAyMDAyIChDdWNodWxsaW4sIDIxLiBTZXAgMjAwMiwgMTg6MjA6MjUpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAzMjYyNTE2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRXIgYnJhdWNodCBtLlcuIDMwMCBTdGltbWVuLCB1bSBlaW5lIFBhcnRlaSBncnVlbmRlbiB6dSBrb2VubmVuLiBEYQpmZWhsZW4gaWhtIHBlciBzZSAyOTkuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FobCAyMDAyIChNYW5kcmFnb24sIDIxLiBTZXAgMjAwMiwgMTg6MjM6MDUpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzI2MjUyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck5hIHdlbm4gZXMgRXVyZXIgTWVpbnVuZyBuYWNoIGJlc3NlciBpc3QsIGlyZ2VuZHdlbiB6dSB3YWVobGVuLCBhbHMgbmljaHQgenUKd2FlaGxlbiAuLi4ga2VpbiBXdW5kZXIsIHdlbm4gZGVyIERldXRzY2hlIFBvbGl0c3RhYXQgZGFybmllZGVyIGxpZWd0LgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWhsIDIwMDIgKEN1Y2h1bGxpbiwgMjEuIFNlcCAyMDAyLCAxODozMjowNyk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjYyNTM4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSWNoIHdhZWhsZSBuaWNodCAiaXJnZW5kd2VuIi4gVW5kIER1IHNhYmJlbHN0IGluendpc2NoZW4gcnVtLCB3aWUgZWluCnZlcmthbGt0ZXIsIHZlcmJpdHRlcnRlciwgYWJnZXdhZWx0ZXIgUG9saXRpa2VyLiBEYXMgdWViZXJsYXNzZSBkb2NoCmJpdHRlIG1pciAtIGljaCBoYWIgZGFyaW4gbWVociBVZWJ1bmcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobCAyMDAyIChEZWVwYmx1ZSwgMjEuIFNlcCAyMDAyLCAxODozMjozMyk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjYyNTM4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKbmUgd2VpdGVyZSB2YXJpYW50ZSB3YWVyZSBhdWNoLCBuZW4gV2FobHpldHRlbCBhYnp1Z2ViZW4sIHdvIG1hbiBuaWVtYW5kZW4KYW5rcmV1enQgb2RlciBhbGxlIGR1cmNoc3RyZWljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWhsIDIwMDIgKFdpbGxvdywgMjEuIFNlcCAyMDAyLCAxODozOTo0NSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDMyNjI1OTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpvZGVyIHdpZSBlcyBzaWNoIGFscyBvcmRlbnRsaWNoZXIgU3RhYXRzYnVlcmdlciBnZWhvZXJ0LCBkaWVzZW4gV2FobHpldHRlbAprb3JyZWt0IHp1IHVudGVyc2NocmVpYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYWhsIDIwMDIgKERlZXBibHVlLCAyMS4gU2VwIDIwMDIsIDE4OjQ0OjIxKToKfiMhIHJuPVdpbGxvdyBydD0xMDMyNjI2Mzg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpIbSwgaG9lciBtaXIgbWl0IGRlbSBCbG9lZHNpbm4gYXVmLiBEYXMgc2NobGltbWUgYW4gZGVtIEtyYW0gaXN0LCBkYXNzIGVzCkxldXRlIGdlemllbHQgZmFsc2NoIGluZm9ybWllcnQuCldlbm4gbWFuIGRlbiBWZXJ1cnNhY2hlciBkZXMgRmx1Z2JsYXR0ZXMgZmluZGV0LCBzb2xsdGUgbWFuIGlobiB3ZWdlbgp2ZXJzdWNodGVtIFdhaGxiZXRydWcgYW5rbGFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWhsIDIwMDIgKENhZHJhY2gsIDIxLiBTZXAgMjAwMiwgMTk6MDI6MzcpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzI2MDg1OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkRpZSBoaWVzc2VuIG5pY2ggUG9ibyBzb25kZXJuIFBvZ28gUGFydGVpIERldXRzY2hsYW5kIHVuZCBkYXMgV2FobHZlcnNwcmVjaGVuCndhciBnYXIgbmljaCBzbyBkdW1tLiBTaWUgc2FndGVuIHNpZSB3b2xsdGVuIGtlaW4gR2VsZCBmdWVyIGRlbiBXYWhsa2FtcGYKYXVzZ2ViZW4gdW5kIGRpZSBXYWhsa2FtcGZrb3N0ZW5lcnN0YXR0dW5nIGRlcyBTdGFhdGVzIGRpcmVrdCBpbiBGb3JtIHZvbgpGcmVpYmllciBhbiBkaWUgV2FlaGxlciBhdXNzY2h1ZXR0ZW4uIEljaCBmaW5kIGRhcyBoYXR0ZSBkdXJjaGF1cyB3YXMgZnVlcgpzaWNoLgoKQ2FkKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdhaGwgMjAwMiAoTXVwZmVsLCAyMS4gU2VwIDIwMDIsIDE5OjA2OjUxKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjYyNzc1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKV2FybiBkYXMgRnJldW5kZSB2b24gRGlyPyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYWhsIDIwMDIgKEltZGEsIDIxLiBTZXAgMjAwMiwgMTk6MTE6NTApOgp+IyEgcm49TXVwZmVsIHJ0PTEwMzI2MjgwMTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Cmh1Y2gsIGRpZSBnaWJ0cyBqYSBpbW1lcm5vY2gsIGRhY2h0LCBkaWUgaGFldHRlbiBzaWNoIGF1ZmdlbG9lc3QuLi4Kd3d3LmFwcGQuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYWhsIDIwMDIgKENhZHJhY2gsIDIxLiBTZXAgMjAwMiwgMTk6MTg6MjgpOgp+IyEgcm49SW1kYSBydD0xMDMyNjI4MzEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpJaHJlIEF1c3NhZ2U6IERldXRzY2hsYW5kIGhhdCBkaWUgQVBQRCB2ZXJkaWVudCwgc3RpbW10IGRvY2ggZHVyY2hhdXMgd2VubiBpY2gKbWlyIGRlbiBHcm9zc3RlaWwgdW5zZXJlciBXYWVobGVyIHNvIGFuc2NoYXVlLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobCAyMDAyIChHbG9pbnNvbiwgMjEuIFNlcCAyMDAyLCAyMDoyNToxMSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDMyNjI1OTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpJcmdlbmR3byB2b3JoZXIgaGF0dGUgaWNoIGF1Y2ggc2Nob24gZXJ3YWVobnQgZWluZW4gdW5ndWV0bGlnZW4gU3RpbW16ZXR0ZWwKYWJ6dWdlYmVuIHNlaSBlaW4gZWluZGV1dGlnZXJlcyBWb3R1bSBkZXIgVW56dWZyaWVkZW5oZWl0IG1pdCBkZW4gYW5nZWJvdGVuZW4KUHJvZ3JhbW1lbiBhbHMgZGllIE5pY2h0d2FobC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWhsIDIwMDIgKEZpcmVoYXdrLCAyMS4gU2VwIDIwMDIsIDIwOjM2OjA5KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyNjA3Mzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpBbHNvIGljaCBnZWggbmV0IGhpbi4gaXN0IG4gYmlzY2hlbiB3ZWl0IHp1IEZ1c3MgZGllIDEwMHBhYXJ6ZXJxdWV0c2NodGVuCktpbG9tZXRlciAuLi4KQWJlciBmdWVyIHNvd2FzIGdpYnMgamEgQnJpZWZ3YWhsLCBkYSBrYW5uIG1hbiBzaWNoIGRhbm4gYW0gU29ubnRhZyBpbiBhbGxlcgpSdWhlIHp1cnVlY2tsZWhuZW4gdW5kIGF1ZiBkaWUgRXJnZWJuaXNzZSB3YXJ0ZW4uCgpGaXJlaGF3aywgc2Nob24gdm9yIDIgV29jaGVuIGdld2FlaGx0IGhhYmVuZCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FobCAyMDAyIChWYW5pb24sIDIxLiBTZXAgMjAwMiwgMjA6Mzg6MjkpOgp+IyEgcm49RmlyZWhhd2sgcnQ9MTAzMjYzMzM2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKT2NoIHdhcywgYWxsZSA0IEphaHJlIChuYWd1dCA0LzMgSmFocmUsIHdlbm4gbWFuIExhbmR0YWdzLSB1bmQgS29tbXVuYWx3YWhsCm1pdHphZWhsdCkgZWluIFNvbm50YWdzLVNwYXppZXJnYW5nIHp1ciBuYWVjaHN0ZW4gU2NodWxlIGlzIGdyYWQgbm9jaApzY2hhZmZiYXIuCgpWKiBmYWVocnQgbWl0IGRlbSBBdXRvLiA8LSBEZXIgZmF1bGUgU2Fjay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhaGwgMjAwMiAoQ2FkcmFjaCwgMjEuIFNlcCAyMDAyLCAyMjo1NDo0Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDMyNjMyNzExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYXMgd3VlcmRlIG51ciBkYW5uIHNpbm5tYWNoZW4sIHdlbm4gdW5ndWVsdGlnZSBaZXR0ZWwgZ2xlaWNoYmVkZXV0ZW5kIHNpbmQKbWl0IFVuenVmcmllZGVuaGVpdC4gSWNoIGJlaGF1cHRlIG1hbCA5MCUgYWxsZXIgdW5ndWVsdGlnZW4gU3RpbW1lbiBzaW5kCnNjaGxpY2h0d2VnIHVuZmFlaGlna2VpdCB2b24gV2FlaGxlcm4uIFdlciBkaWVzYmV6dWVnbGljaCBtYWwgbGFjaGVuIHdpbGwsCnNvbGx0ZSBtYW4gdW0gMTg6MDAgenUgc2VpbmVtIFdhaGxsb2thbCBnZWhuIHVuZCBiZWkgZGVyIEF1c3phZWhsdW5nIHp1CnNjaGF1ZW4gKGRpZSBpcyBvZWZmZW50bGljaCkuIE1hbiBoYWVsdCBlcyBuaWNoIGZ1ZXIgbW9lZ2xpY2gsIF93aWVfIGR1bW0KTGV1dGUgc2VpbiBrb2VubmVuLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2FobCAyMDAyIChDbGFyaXNzYSwgMjIuIFNlcCAyMDAyLCAwMDo1ODowNyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI2NDE2ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Cldlbm4gRHUgaW4gbWVpbiBXYWhsbG9rYWwga29tbXN0IG51ciB1bSB6dSBnYWZmZW4sIGRhbm4gd2lyc3RlCnp3YW5nc3ZlcnBmbGljaHRldC4KCkNsYXJpc3NhLCBTY2hyaWZ0ZnVlaHJlcmluIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2FobCAyMDAyIChNYW5kcmFnb24sIDIyLiBTZXAgMjAwMiwgMDA6NTg6NDEpOgp+IyEgcm49Q2xhcmlzc2EgcnQ9MTAzMjY0OTA4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTGFzcyBpaG0gZG9jaCBnbGVpY2ggbmUgTGFkdW5nIHp1a29tbWVuLiBFaHJlbmFlbXRlciBrb2VubmVuIGJla2FubnRsaWNoIG5pY2h0CmFiZ2VsZWhudCB3ZXJkZW4uCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYWhsIDIwMDIgKENsYXJpc3NhLCAyMi4gU2VwIDIwMDIsIDAxOjEzOjMyKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyNjQ5MTIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpXZW5uIGplbWFuZCBuaWNodCBrb21tZW4gd2lsbCwga2FubiBtYW4ga2F1bSB3YXMgZGFnZWdlbiB0dW4uIEluIGRlciBSZWdlbAp3ZXJkZW4gZGllIExldXRlIGVpbmZhY2gga3JhbmsuLi4gVW5kIHNlbGJzdCBhYnNpY2h0bGljaGVzIEZlcm5ibGVpYmVuIGlzdCBudXIKZWluZSBPcmRudW5nc3dpZHJpZ2tlaXQgdW5kIGtvc3RldCBtYXhpbWFsIDUwMCBFdXJvLgoKQ2xhcmlzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmQgKE5hcnNlcywgMjIuIFNlcCAyMDAyLCAwNTo0Mzo0Nik6Cm5pbW0KcQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdhaGwgMjAwMiAoRGVlcGJsdWUsIDIyLiBTZXAgMjAwMiwgMDk6Mzc6MjgpOgp+IyEgcm49Q2xhcmlzc2EgcnQ9MTAzMjY1MDAxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTmFqYSwgZXMgZ2lidCB6dW1pbmRlc3QgQmVydWZlLCB3byBlcyBkZW4gSm9iIGtvc3RldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBXYWhsIDIwMDIgKFRla3R1a28sIDIyLiBTZXAgMjAwMiwgMTQ6MDM6NDUpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI2MTE1NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkVyc3RzdGltbWUgd2lyZCAibmljaHQiIGRlciBCdW5kZXNrYW56bGVyIGdld2FlaGx0Li4uIHNvbmRlcm4gZWluIERpcmVrdG1hbmRhdApmdWVyICBlaW5lbiBkZW4gYmV2b3J6dWd0ZW4gYXVzIHNlaW5lbSBXYWhsa3JlaXMuIERhdm9uIGdpYnRzIDI5OS4gQWxzbyAyOTkKQnVuZGVzdGFnc21pdGdsaWVkZXIsIHdlcmRlbiBkdXJjaCBkaWUgRXJzdHN0aW1tZSBnZXdhZWhsdC4gV2VubiBlaW5lIFBhcnRlaQptZWhyIGFscyAzIERpcmVrdG1hbmRhdGUgYmVrb21tdCwgZmFlbGx0IGF1Y2ggZGllIDVwcm96ZW50LWdyZW56ZSB3ZWcuCkRhcyBmYWVsbHQgbWlyIHNwb250YW4gbm9jaCBzbyBlaW4gd2FzIGljaCBtYSBpbiBkZXIgU2NodWxlIGdlbGVybnQgaGFiIHZvciBuCnBhYXIgbW9uYXRlbiBvZGVyIHNvIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogV2FobCAyMDAyIChBbHBoYSwgMjIuIFNlcCAyMDAyLCAxNjowNzozNSk6Cn4jISBybj1UZWt0dWtvIHJ0PTEwMzI2OTYyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CmljaCBiaW4gamEgbm9jaCBpbW1lciBmdWVyIG5hY2ggSVEgZ2V3aWNodGV0ZSBXYWVobGVyc3RpbW1lbi4uLi4KQWxwaGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2FobCAyMDAyIChDcm9mdCwgMjIuIFNlcCAyMDAyLCAxNjoxMzo0Nyk6Cn4jISBybj1BbHBoYSBydD0xMDMyNzAzNjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpVbmQgd29taXQgd2lyIGJlaSBkZXIgRGlza3Vzc2lvbiBhbmdlbGFuZ3Qgc2luZDogd2FzIGlzdCBJbnRlbGxpZ2VueiwKdW5kIHdpZSBiZXdlcnRlc3QgZHUgZGllIHZlcnNjaGllZGVuZW4gQXJ0ZW4gdm9uIEludGVsbGlnZW56IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdhaGwgMjAwMiAoQ3VjaHVsbGluLCAyMi4gU2VwIDIwMDIsIDE2OjI3OjEyKToKfiMhIHJuPUNyb2Z0IHJ0PTEwMzI3MDQwMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CjEpIE5hY2ggSVEgZ2V3aWNodGV0ZSBXYWVobGVyc3RpbW1lbiBrb2VubnRlbiBEaWNoIHVtIERlaW4gV2FobHJlY2h0CiAgIGJyaW5nZW4sIEFscGhhLgoKMikgQXVjaCBpbnRlbGxpZ2VudGUgTGV1dGUga29lbm5lbiBQcm9ibGVtZW4gbWl0IElnbm9yYW56IGJlZ2VnbmVuLiBEYW5uCiAgIGhhc3QgRHUgZWluZSBJbnRlbGxpZ2VuemJlc3RpZSwgZGllIG5pY2h0IHVlYmVyIGRhcyBXaXNzZW4gdmVyZnVlZ3QsIGRhcwogICBzaWUgenVyIGtvcnJla3RlbiBFbnRzY2hlaWR1bmdzZmluZHVuZyBicmF1Y2h0LgoKRGFzIHdpcmZ0IHp3ZWkgd2VpdGVyZSBQcm9ibGVtZSBhdWY6IAoKYSkgV2VyIGVudHNjaGVpZGV0LCBkYXNzIGVpbmUgRW50c2NoZWlkdW5nIGtvcnJla3QgZ2VmdW5kZW4gd2FyPyAKCmIpIFdlciBlbnRzY2hlaWRldCwgZGFzcyBnZW51ZWdlbmQgV2lzc2VuIGZ1ZXIgZWluZSBrb3JyZWt0ZSBFbnRzY2hlaWR1bmcKICAgYWtxdWlyaWVydCB3dXJkZT8gV2FzIHNhZ3QgRElSIGRlbm4sIGRhc3MgRHUgYXVzcmVpY2hlbmQgd2Vpc3N0PyBFcwogICBrYW5uIGRvY2ggZHVyY2hhdXMgc2VpbiwgZGFzcyB3aXIgYWxsZSB2b20gd2FocmVuIFR1dGVuIHVuZCBCbGFzZW4KICAga2VpbmUgQWhudW5nIGhhYmVuLCBkYXNzIGhpbnRlciBkZW4gS3VsaXNzZW4gZ2FueiBhbmRlcmUgRGluZ2UgZ2VzcGllbHQKICAgd2VyZGVuIC0tIGFsc28gZGFzLCB3YXMgd2lyIGFscyAnaGludGVyIGRlbiBLdWxpc3NlbiBbZGVyIEJpbGR6ZWl0dW5nXScKICAgYmV0cmFjaHRlbiwgbnVyIGVpbmUgYW5kZXJlIEt1bGlzc2UgaXN0LiAKICAgR2xhdWJzdCBEdSBuaWNodD8gU28gYWxiZXJuIHdpZSBzaWNoICJpbnRlbGxpZ2VudGUgTGV1dGUiIGhpZXIgaW4gZGllc2VtCiAgIFNwaWVsIHZlcmhhbHRlbiwgd2VubiBzaWUgaWhyZSBGb2VybWNoZW4gbmljaHQgdm9uIGRlbiBNYWdpZXJuIAogICBnZXdhc2NoZW4gYmVrb21tZW4uLi4KCk5vY2ggMTozM2ggLi4uLgoKQwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXYWhsIDIwMDIgKFRla3R1a28sIDIyLiBTZXAgMjAwMiwgMTY6MzQ6NDQpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzMjcwNDAyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKbmljaHQgbnVyIHdlciBpc3QgaW50ZWxsaWdlbnQuLiBoaXRsZXIgd2FyIGF1Y2ggaW50ZWxsaWdlbnQuLiBhbHNvIHdhcyBoYXQKaW50ZWxsaWdlbnogZGFtaXQgenUgdHVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdhaGwgMjAwMiAoQ2FkcmFjaCwgMjIuIFNlcCAyMDAyLCAyMDo0NToxMSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjY0OTEyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRWhyZW5hZW10ZXIga29lbm5lbiBhdWNoIG1pdCB0cmlmZnRpZ2VtIEdydW5kIGFiZ2VsZWhudCB3ZXJkZW4gdW5kCnp3YW5nc3ZlcnBmbGljaHRlbiBrYW5uIG5ldCBkZXIgT2Jlcmd1cnUgdm9yIE9ydCBfc293ZWl0XyByZWljaGVuIGRlc3NlbgpLb21wZXRlbnplbiBudSBkb2NoIG5pY2h0LgpEYXMgaGF0IGF1Y2ggbml4IG1pdCBnYWZmZW4genUgdHVuLCBzb25kZXJuIGlzdCB6ZW50cmFsZXIgQmVzdGFuZHRlaWwgZWluZXIKRGVtb2tyYXRpZSBkYXMgamVkZXIgZGVyIG1vZWNodGUgYmVpbSBhdXN6YWVobGVuIHp1c2NoYXVlbiBrYW5uLiBEaWUgVHVlcmVuCmRlciBXYWhsbG9rYWxlIHdlcmRlbiBkYXJ1bSBzb2dhciAoenVtaW5kZXN0IG9mZml6aWVsKSBzeW1ib2xpc2NoIHVtIDE4OjAwCmFiZ2VzY2hsb3NzZW4gdW5kIGRpcmVrdCB3aWVkZXIgYXVmZ2VzY2hsb3NzZW4gdW0gZGFzIFZvbGsgZWluenVsYWRlbiBkYWJlaSB6dQpzZWluIHdlbm4gZGllIFVybmVuIGdlb2VmZm5ldCB3ZXJkZW4uIERhcyBkYXMga2F1bSBqZW1hbmQgbnV0enQsIGlzdCBlaW5lCmFuZGVyZSBTYWNoZS4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYWhsIDIwMDIgKENsYXJpc3NhLCAyMi4gU2VwIDIwMDIsIDIxOjE0OjE3KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjcyMDMxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKPiB6d2FuZ3N2ZXJwZmxpY2h0ZW4ga2FubiBuZXQgZGVyIE9iZXJndXJ1IHZvciBPcnQgLi4uCgpKYSwgYWJlciB2ZXJwZmxpY2h0ZW4sIHdlbm4gZGllIEJlaXNpdHplciBwbG9ldHpsaWNoIG5pY2h0IG1laHIgYXVzcmVpY2hlbgpzb2xsdGVuIC4uLiBBdXNzZXJkZW0gaXN0IGluIGRlbiBGb3JtdWxhcmVuIFBsYXR6IGZ1ciBzb2dlbmFubnRlICJIZWxmZXIiLgpXZW5uIGljaCBtaXIgZWluZW4gSGVydW1zdGVoZW5kZW4gYXVzZ3Vja2UgdW5kIHp1bSBoZWxmZW4gYXVmZm9yZGVyZSwgZGFubgp3aXJkIGVyIGF1Y2ggaGVsZmVuIChTY2hvbiB3ZWlsIGRhIDMgYmlzIDQgYW5kZXJlIGRhYmVpc3RlaGVuLCB1bmQgd2VyIGxlaG50CmluIGRlciBPZWZmZW50bGljaGtlaXQgc28gZWluZSBlaHJlbnZvbGxlIFRhZXRpZ2tlaXQgYWI/IDotKQoKQ2xhcmlzc2EKCkFjaCBqYSwgd2VyIG1pY2ggaW0gVFYgZ2VzZWhlbiBoYXQuIERhcyBpc3QgbmF0dWVybGljaCBudXIgZWluIFZlcnNlaGVuLCBkYXNzCmljaCBiZWkgZGVyIENEVSBhdWYgZGVyIFBhcnR5IHdhciA6KSBCaW4gd2VpdGVyaGluIGdydWVuLCBhYmVyIGRpZSBTY2h3YXJ6ZW4KaGF0dGVuIGd1dGVzIEVzc2VuIHVuZCBlaW4gYmVmcmV1bmRldGVyIFN0YWR0cmF0IGhhdHRlIG1pY2ggZWluZ2VsYWRlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFdhaGwgMjAwMiAoR3JpbW1ib3JuLCAyMi4gU2VwIDIwMDIsIDIxOjQxOjUyKToKfiMhIHJuPUNsYXJpc3NhIHJ0PTEwMzI3MjIwNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkljaCBzZWhlIGRhcyBQcm9ibGVtIGlyZ2VuZHdpZSBuaWNodC4gV2VubiBpaHIgd2lya2xpY2ggYnJhdWNoYmFyZW4sCnVuZmVobGJhcmVuIFJhdCB3b2xsdCBmcmFndCBlaW5mYWNoIG1pY2gsIHdlbm4gaWNoIG1pY2ggbmljaHQgZ2VyYWRlIG1pdAptZWluZW0gVGlzY2ggdW50ZXJoYWx0ZSBiaW4gaWNoIGdlcm5lIGJlcmVpdCBldWNoIFRpcHMgenUgZ2ViZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXYWhsIDIwMDIgKEZsaW50bmFpbCwgMjMuIFNlcCAyMDAyLCAxMDo0Nzo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjcyMzcxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKa2FubiBtYW4gbmljaHQgZ2xlaWNoIGRpcmVrdCBkZWluZW4gVGlzY2ggdW0gUmF0IGZyYWdlbiA/IDstKQoKRkxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV2FobCAyMDAyIChDYXNzYW5kcmEsIDIzLiBTZXAgMjAwMiwgMTQ6NTA6NDEpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzMjcwNDAyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTWVpbnN0IGR1IHNvd2FzIHdpZSBlcyBpbiBHcm9zc2JyaXRhbmllbiBtYWwgZ2FiLCB3ZXIgbmVuIGhvY2hzY2h1bGFic2NobHVzcwpoYXQgZGFyZiB6d2VpbWFsIHdhZWhsZW4uIEdhbHQgZXR3YSBiaXMgYW5mYW5nIGRlcyAyMEpoIG11ZXNzdGUgaWNoCm5hY2hzY2hhdWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2FobCAyMDAyIChLcmVsbGphLCAyNC4gU2VwIDIwMDIsIDEyOjEyOjA0KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDMyNzg1NDQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpXYXMgbWFuIGluIG1laW5lbiBBdWdlbiB3aXJrbGljaCBtYWwgZWluZnVlaHJlbiBrb2VubnRlIGlzdCBlaW4gS2Flc3RjaGVuCiJrZWluZW4gdm9uIGRlbmVuIiBvZGVyIHp3ZWkgc29sY2hlIEthZXN0Y2hlbiwgamUgZWluZW4gYmVpIGVyc3QgdW5kClp3ZWl0c3RpbW1lLiBEYW5uIGtvZW5udGUgbWFuIHNpY2ggZ2FueiBmb3JtYWwgZW50aGFsdGVuIHVuZCB3dWVyZGUgYXVjaCBzbwpnZXphZWhsdCB3ZXJkZW4gdW5kIG5pY2h0IGFscyBuaWNodHdhZWhsZXIgb2RlciBhbHMgdW5ndWVsdGlnLgoKQWNoIGphLCBkYXMgS2Flc3RjaGVuIHNvbGx0ZSBnYW56IHVudGVuIGluIGRlbiBTcGFsdGVuIHNlaW4gOikgU29uc3Qga3JldXplbgpkYXMgbm9jaCB6dSB2aWVsZSBhbi4KCktyZWxsamEKCnAucy4gTWFuIHNvbGx0ZSB3aXJrbGljaCBtYWwgZWluZSBQYXJ0ZWkgZ3J1ZW5kZW46ICJHZW5lcmF0aW9uIG5peCIsIGRpZQpQYXJ0ZWkgZnVlciBkaWUgR2VuZXJhdGlvbiBkaWUgendhciB1bnN1bW1lbiBpbiBkaWUgUmVudGVudmVyc2ljaGVydW5nCmVpbnphaGx0LCBhYmVyIG51ciBTb3ppYWxoaWxmZW5pdmVhdSByYXVzYmVrb21tZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBXYWhsIDIwMDIgKEFudGhlYSwgMjQuIFNlcCAyMDAyLCAxMjoxNjozNSk6Cn4jISBybj1LcmVsbGphIHJ0PTEwMzI4NjIzMjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3ClVuZCB3ZW5uIGRhbm4gZGllIFBvbGl0aWtlciBudXIgZGVuIFByb3plbnRzYXR6IGlocmVyICJEaWFldGVuIiBrcmllZ2VuLCBkZXIKZGVyIFdhaGxiZXRlaWxpZ3VuZyAoYnp3LiBkZXIgZW50c3ByZWNoZW5kIGd1ZWx0aWdlbiBTdGltbWVuKSBiZWkgaWhyZXIgV2FobAplbnRzcHJpY2h0LCBkYW5uIGhhYmVuIHNpZSBwbG9ldHpsaWNoIGVpbmUgZ2FueiBhbmRlcmUgTW90aXZhdGlvbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdhaGwgMjAwMiAoR3JpbW1ib3JuLCAyNC4gU2VwIDIwMDIsIDEyOjIxOjE2KToKfiMhIHJuPUFudGhlYSBydD0xMDMyODYyNTk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpKYSwgbmFlbWxpY2gga2VpbmUgbWVoci4KRnVlciBkaWUgcGFhciBLcm9ldGVuLCBkaWUgZGllIFBvbGl0aWtlciBrcmllZ2VuLCBiZWtvbW1zdCBEdSBrZWluZW4KKGJyYXVjaGJhcmVuKSBNYW5hZ2VyIGZ1ZXIgYXVjaCBudXIgZWluZSBtaXR0ZWxncm9zc2UgRmlybWEuIFVuZCBkZXIgTWFuYWdlcgptdXNzIGRhdm9uIG5vY2ggbmljaHRtYWwgZWluIFdhaGxrcmVpc2J1ZXJvIGZpbmFuemllcmVuIHVuZCBlaW5lbiB6aWVtbGljaApkZXV0bGljaGVuIFRlaWwgYW4gZWluZSBQYXJ0ZWkgYWJkcnVlY2tlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdhaGwgMjAwMiAoTWFuZHJhZ29uLCAyNC4gU2VwIDIwMDIsIDEyOjI0OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODYyODc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpOYWphLiBBbHNvIGljaCB3aWxsIG5pY2h0LCBkYXNzIG5vY2htZWhyIHBsYXR0ZXIgUG9wdWxpc211cyByYXVza29tbXQsIGFscyBpY2gKU3RvaWJlciwgU2Nocm9lZGVyIHVuZCBNb2VsbGVtYW5uIGVpbmdlc2V0enQgaGFiZW4uIEljaCB3YWVyZSBlaGVyIGZ1ZXIgZWluZQpEaWFldGVudmVyZHJlaWZhY2h1bmcgdW5kIGVpbmUgUmVudGVuZHJpdHRlbHVuZyBmdWVyIEFiZ2VvcmRuZXRlIHVuZCBNaW5pc3RlcgpiZWkgZ2xlaWNoemVpdGlnZXIgQW5yZWNobnVuZyBhbGxlciBGcmVtZGJlenVlZ2UgYXVmIGRpZSBBYmdlb3JkbmV0ZW5yZW50ZS4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFdhaGwgMjAwMiAoS3JlbGxqYSwgMjQuIFNlcCAyMDAyLCAxMjoyNjoxMCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg2MzA0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKZ3V0ZXIgQW5zYXR6LiBiaWNoIGF1Y2ggZGFmdWVyLgoKS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdhaGwgMjAwMiAoSG91c2Vob2xkZXIsIDI0LiBTZXAgMjAwMiwgMTM6MzE6MTYpOgp+IyEgcm49S3JlbGxqYSBydD0xMDMyODYyMzI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpkaWUgc3Bhc3MtZ2VuZXJhdGlvbiB4ICh1bmQgZGllIHZvcmhlcmdlaGVuZGUgZ2VuZXJhdGlvbiBhdWNoKSBtdXNzIGhhbHQgbWVocgpraW5kZXIgaW4gZGllIHdlbHQgc2V0emVuLCBkaWUgaW4gZGllIHJlbnRlbmthc3NlbiBlaW56YWhsZW4sIHdlbm4gZXMgZnVlcgpnZW5lcmF0aW9uLXggc293ZWl0IGlzdCAuLi4gbWl0IGRlbiB1bnN1bW1lbiBkaWUgc2llIGluIGRpZSByZW50ZW5rYXNzZW4KZWluemFobHQsIGthdWZ0IHNpZSBzaWNoIGphIGltIG1vbWVudCB2b24gZGllc2VyIGJlbGFzdHVuZyBmcmVpIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdhaGwgMjAwMiAoTWFuZHJhZ29uLCAyNC4gU2VwIDIwMDIsIDEzOjM2OjUxKToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTEwMzI4NjcwNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkFsc28gcHJpbnppcGllbGwgbXVlc3N0ZSBtYW4gZGFzIFJlbnRlbnN5c3RlbSB3aWUgZm9sZ3QgdW1mdW5rdGlvbmllcmVuOgoKYSkgUmVudGVuYmVpdHJhZWdlIHdlcmRlbiB6dSBlaW5lciBTdGV1ZXIgdW1nZXdhbmRlbHQKYikgRWlubmFobWVuIGF1cyBkZXIgU3RldWVyIGRpZW5lbiB6dXIgRmluYW56aWVydW5nIGRlciBSZW50ZSBkZXIKQmV6dWdzYmVyZWNodGlndGVuIHNlaXQgMS4xLjIwMDMgKGFsc28gYWxsZXIsIGRpZSBiaXMgZGF0byBlaW5nZXphaGx0IGhhYmVuKQpjKSBadWRlbSBtdXNzIG1hbiAyMCUgZGVzIEJydXR0b2dlaGFsdGVzIHN0ZXVlcmZyZWkgaW4gVm9yc29yZ2UgYW5sZWdlbi4KQW5lcmthbm50ZSBWb3Jzb3JnZWFydGVuIGtvZW5uZW4gZWluZW4gTmFjaHdlaXMgdWViZXIgZGllIGphZWhybGljaGUKVmVyc2ljaGVydW5nc2xlaXN0dW5nIGRlcyBBbmxlZ2VycyBhdXNzdGVsbGVuLgpkKSBCZWkgZGVyIFN0ZXVlcmVya2xhZXJ1bmcgZ2lidCBtYW4gZGllc2UgTmFjaHdlaXNlIGFiIHVuZCB3ZW5uIG1hbiB1bnRlciAyMCUKYmxlaWJ0LCB3aXJkIGRlciBSZXN0IGluIGVpbmVuIFN0YWF0bGljaGVuIFJlbnRlbmZvbmRzIChrYXBpdGFsZ2VkZWNrdCkKZWluZ2V6YWhsdAoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2FobCAyMDAyIChEZWVwYmx1ZSwgMjQuIFNlcCAyMDAyLCAxMzo0NTo0MSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg2NzQxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKYWxzbyBLb21wbGV0dCB2b24gR2VuZXJhdGlvbmVudmVydHJhZyBhdWYgIkdlbGRhbmxhZ2UiIHVtc3RlbGxlbj8gQXVjaCBkaWVzZXMKU3lzdGVtIGhhdCBzZWluZSBTY2h3YWVjaGVuLgpEYXMgVmVybW9lZ2VuIHZlcnNjaHdpbmRlbiBoYXR0ZW4gd2lyIGluIGRlbiBsZXR6dGVuIDEwMCBKYWhyZW4gbmljaHQgZXJzdAplaW5tYWwgKEtyaWVnLCBXZWx0d2lydHNjaGFmdHNrcmlzZSwgSW5mbGF0aW9uKS4gRGEgaXN0IGRhcyBQcm9ibGVtIG1pdCBkZW0KTmFjaHd1Y2hzIG1laW5lcyBFcmFjaHRlbnMgZWhlciBkYXMga2xlaW5lcmUuCkFsbGVyZGluZ3Mgc3ByaWNodCBJTUhPIGF1Y2ggbml4IGRhZ2VnZW4sIGRhcyByZW50ZW5zeXN0ZW0gYXVmIG1laHJlcmUgRnVlc3NlCnp1IHN0ZWxsZW4sIHdpZSBlcyBSaWVzdGVyIGltIFByaW56aXAgcGxhbnQgKG9rLCB1ZWJlciBkaWUgQXVzZnVlaHJ1bmcga2FubgptYW4gc3RyZWl0ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2FobCAyMDAyIChIb3VzZWhvbGRlciwgMjQuIFNlcCAyMDAyLCAxMzo0NTo1MSk6Cn4jISBybj1TcGFzcyBydD0xMDMyODY3NTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpnZW5hdSwgc29sYW5nZSBzaWNoIGFuIGRlbiBnZWJ1cnRlbnJhdGVuIG5pY2h0cyBhZW5kZXJ0LCBrYW5uIG1hbiB6YWhsZW4gaGluCnVuZCBoZXIgc2NoaWViZW4gd2llIG1hbiB3aWxsIHVuZCBtb2RlbGxlIGZ1ZXIgZGFzIHJlbnRlbnN5c3RlbSBlcmZpbmRlbiB3aWUKbWFuIHdpbGwsIG9obmUgbmFjaGhhbHRpZ2UgYmVzc2VydW5nIHp1IGVycmVpY2hlbiAuLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2FobCAyMDAyIChEZWVwYmx1ZSwgMjQuIFNlcCAyMDAyLCAxMzo0NzozMik6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMDMyODY3MDc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYXMga29lbm50ZSBqYSBhdWNoIGluIGVpbmVtIG5ldWVuIFBvbGl0aWttb2RlbGwgZW5kZW4uIE1hbiBicmF1Y2h0IGhhbHQKTG9lc3VuZ2VuLCB3byBLaW5kZXIgenVtIFNwYXNzIGRhenVnZWhvZXJlbiB1bmQga2VpbmUgU3Bhc3NicmVtc2VuIHNpbmQuCkRhcyBBbHBoYSB1bmQgT21lZ2Egc2luZCBkYWJlaSB3b2hsIGJldHJldXVuZ3NhbmdlYm90ZSBhdWNoIHp1IHVuZ2V3b2VobmxpY2hlbgpaZWl0ZW4uIE9iIGRpZXNlIG51biB2b20gU3RhYXQgYXVzZ2VoZW4gb2RlciBhdWYgcHJpdmF0ZXIgQmFzaXMgYWdpZXJlbiBzZWkKbWFsIGRhaGluZ2VzdGVsbHQuLi4KRGVlcCwgbWl0IHJpY2h0aWdlbSBDaGFyIHJlcG9zdGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdhaGwgMjAwMiAoS3JlbGxqYSwgMjQuIFNlcCAyMDAyLCAxNTowOTozMCk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDMyODY4MDUyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpOZW5lLCBkYXMgbWl0IGRlbiBLaW5kZXJuIGZ1bnh0IGphIGdlcmFkZSBuaWNodC4KCkFsbGUgTW9kZWxsZSwgZGllIGRhcyBQcm9ibGVtIHBlciBtZWhyIEtpbmRlciAob2RlciBpbXBvcnRpZXJ0ZQpBcmJlaXRza3JhZWZ0ZSkgbG9lc2VuLCBnZWhlbiBkYXZvbiBhdXMsIGRhc3Mgd2lyIGF1Y2ggSm9icyBmdWVyIGRpZSBuZXVlbgpCZWl0cmFnc3phaGxlciBoYWJlbi4gV2VubiBtYW4gYWJlciBtYWwgZGVuIFRyZW5kIGRlciBsZXR6dGVuIGRpdmVyc2VuIEphaHJlCmZvcnRzZXR6dCwgZGFubiBzaW5rdCBkaWUgWmFobCBkZXIgSm9icyBpbSBMYW5kZS4gTWVociBLaW5kZXIgYmVkZXV0ZXQgYWxzbwpudXIgbWVociBBcmJlaXRzbG9zZSAobmF0dWVybGljaCBuaWNodCAxOjEsIGFiZXIgaW5zZ2VzYW1tdCBzY2hvbikuIEVzIGlzdApzY2hvbiByZWNodCBzaW5udm9sbCwgZGFzcyB3aXIgaGllciBpbSBMYW5kZSBpbW1lciB3ZW5pZ2VyIHdlcmRlbi4gV2lyIHdlcmRlbgpoYWx0IGluIFp1a3VuZnQsIHdlbm4gd2lyIGVyc3RtYWwgd2VuaWdlciBMZXV0Y2hlbiBzaW5kLCBsYWVuZ2VyZQpMZWJlbnNhcmJlaXRzemVpdGVuIGhhYmVuLCB1bSBkaWUgaW1tZXIgbGFlbmdlcmVuIExlYmVuc3plaXRlbiBhdWZ6dWZhbmdlbi4KCktyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjQuIFNlcCAyMDAyLCAxNToyNzoyMSk6Cn4jISBybj1LcmVsbGphIHJ0PTEwMzI4NzI5NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck1hbiBrYW5uIGRpZSB6dWt1ZW5mdGlnZSBHZWJ1cnRlbnJhdGUgZ2VuYXVzb3dlbmlnIHBsYW5lbiB3aWUgSW5mbGF0aW9uLApLcmllZywgby5hZS4gRGFzIHN0aW1tdC4KQWJlcjogRXMgaXN0IGFic2VoYmFyLCBkYXNzIGRpZSBHZWJ1cnRlbnJhdGUgbmljaHQgZnVlciBlaW5lbgpHZW5lcmF0aW9uZW52ZXJ0cmFnIGF1c3JlaWNodC4gRGVyIHNldHp0IG5hZW1saWNoIGVpbmUgcmVjaHQgc3BpdHplCkFsdGVyc3B5cmFtaWRlIHZvcmF1cy4gRGllc2VzIFByb2JsZW0ga2FubiBtYW4gbnVuIGF1ZiB6d2VpIEFydGVuIGxvZXNlbjoKCmEpIG1hbiBpbXBvcnRpZXJ0IGRlbiB1bnRlcmVuIFRlaWwgZGVyIEFsdGVyc3B5cmFtaWRlIChFcmhvZWh1bmcgZGVyCkVpbndhbmRlcnVuZykKYikgbWFuIHZlcnJpbmdlcnQgZGllIExlaXN0dW5nIGRlciBSVgoKTGV0enRlcmVzIHdpcmQgdW53ZWlnZXJsaWNoIGdlc2NoZWhlbiBiaXMgbmllbWFuZCBtZWhyIGlyZ2VuZHdhcyBlcmhhZWx0LCB3ZW5uCnNpY2ggbmljaHRzIHR1dC4gSW1obyBkaWUgc2NobGVjaHRlc3RlIExvZXN1bmcuIEljaCBnZWhlIGRlbm5vY2ggZGF2b24gYXVzLAprZWluZSBSZW50ZSBtZWhyIHZvbSBTdGFhdCB6dSBlcmhhbHRlbiwgZGEgZXMgamEgenVkZW0gbm9jaCBzbyBpc3QsIGRhc3MKRWlua3VlbmZ0ZSBnZWdlbiBzdGFhdGxpY2hlIFJlbnRlIGF1ZmdlcmVjaG5ldCB3aXJkLiBELmguIHdlciBwcml2YXQgdm9yc29yZ3QsCmJla29tbXQgd2VuaWdlciB2b20gU3RhYXQuCgpEaWUgYW5kZXJlIE1vZWdsaWNoa2VpdCBoYXQgYXVjaCBpaHJlIFR1ZWNrZW4uIFdpZSBzY2hvbiBnZXNhZ3Qgd3VyZGUsIHNldHp0CmRhcyB2b3JhdXMsIGRhc3MgQXJiZWl0IGZ1ZXIgZGllc2UgTGV1dGUgdm9yaGFuZGVuIGlzdCB1bmQgc2llIHp1ZGVtIFdpbGxlbnMKc2luZCwgdW5zZXJlIFJlbnRlIHp1IGJlemFobGVuLiBadWRlbSBnbGF1YmUgaWNoIG5pY2h0LCBkYXNzIHdpciBzbyB2aWVsZQpMZXV0ZSBpbnRlZ3JpZXJlbiBrb2VubmVuLCB3aWUgZGF6dSBnZWJyYXVjaHQgd3VlcmRlbi4gRGFzIGhhdCBzY2hvbiBpbiBkZXIKVmVyZ2FuZ2VuaGVpdCBiZWkga2xlaW5lcmVuIE1lbmdlbiBuaWNodCBnZWtsYXBwdCAobmFqYS4gd3VyZGUgamEgYXVjaCBuaWNodApwcm9iaWVydCkuCgpEYXMgJ1Byb2JsZW0nIGFuIEthcGl0YWxkZWNrdW5nIGlzdCwgZGFzcyBlcyBlaW5lbiBLcmllZyBvZGVyIEluZmxhdGlvbiBnZWJlbgprb2VubnRlLiBEYXMgc2NobGltbXN0ZSwgd2FzIGRhbm4gcGFzc2llcnQsIGlzdCwgZGFzcyBtYW4gZ2VuYXVzbyBkYXN0ZWh0LCB3aWUKYmVpIGVpbmVtIEdlbmVyYXRpb25lbnZlcnRyYWcgbWl0IFJlbnRlbm5pdmVhdT1Tb3ppYWxoaWxmZW5pdmVhdS4gSW0gRmFsbGUKZWluZXIgc29sY2hlbiBJbmZsYXRpb24gc2VoZSBpY2ggZ3JvZXNzZXJlIFByb2JsZW1lIGFscyBkYXMgOm8pCgoKTnVuIG5vY2ggZWluIGxldHp0ZXIgS29tbWVudGFyOgoKVWViZXJzcGl0enQgZ2VzYWd0LCBtdWVzc2VuIHdpciBiZWkgdW5zZXJlciBCZXZvZWxrZXJ1bmdzc3RydWt0dXIgdW5kIGJlaQp1bnNlcmVuIEFuc3BydWVjaGVuIGFuIEFyYmVpdCAod2VyIHdpbGwgc2Nob24gUHV0emZyYXUvU3RyYXNzZW5rZWhyZXIvLi4uLi4Kd2VyZGVuPz8pIGVpZ2VudGxpY2ggc28gbWFzc2l2IExldXRlIGlucyBMYW5kIGhvbGVuLCB3aWUgZGllIGFsdGVuIFJvZW1lcgpTa2xhdmVuLiBPYmVuIGlzdCBkaWUgRGV1dHNjaGUgSGVycnNjaGVya2FzdGUsIGRpZSBhbmRlcmUgTGV1dGUgZGllIGdhbnplbgpBcmJlaXRlbiBtYWNoZW4gbGFlc3N0LCBkaWUgc2llIG5pY2h0IG1hY2hlbiB3aWxsLCB1bnRlbiBkaWUgTGV1dGUsIGRpZSBkZXIKSGVycnNjaGVya2FzdGUgaWhyZSBQcml2aWxlZ2llbiB3aWUgU296aWFsaGlsZmUsIGtvc3Rlbmxvc2UgQXJ6dGJlc3VjaGUsClJlbnRlLCB1c3cuIGZpbmFuemllcnQuCgpEYXMgaXN0IG5pY2h0IHdpcmtsaWNoIG1laW4gQmlsZCB2b20gU296aWFsc3RhYXQuCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBXYWhsIDIwMDIgKENhZHJhY2gsIDI0LiBTZXAgMjAwMiwgMTY6MTA6MzYpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzI4NzQwNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Clp1ciBLYXBpdGFsZGVja3VuZyBudXIgbWFsIGZvbGdlbmRlcyBQcm9ibGVtOgpBbmdlbm9tbWVuIGFsbGUgTGV1dGUga2F1ZmVuIEFrdGllbiBmdWVyIGlocmUgQWx0ZXJzdm9yc29yZ2UsCmRhbm4gc3RlaWd0IGRlciBQcmVpcyBkZXIgQWt0aWVuIG5hdHVlcmxpY2ggYXVjaCBhbi4KV2VubiBkYW5uIGFiZXIgenUgaXJnZW5kZWluZW0gWmVpdHB1bmt0IG1laHIgTGV1dGUgYXVzIGRlbiBBa3RpZW4gYXVzc3RlaWdlbiwKYWxzIG5ldSBlaW5zdGVpZ2VuLCBicmVjaGVuIGRhbm4gYXVjaCBkaWUgQWt0aWVubWFlcmt0ZSBlaW4gdW5kIHNpZSBrcmllZ2VuCmRhbm4gYXVjaCBhdXMgSWhyZW4gQWt0aWVuIG5pY2h0IG1laHIgc292aWVsIHJhdXMgd2llIHNpZSBlaW5iZXphaGx0IGhhYmVuLgpEYXMgZ2FuemUgZ2lsdCBzbyBmdWVyIF9qZWRlXyBJbnZlc3RpdGlvbnNhcnQuIFdlbm4gamVkZXIgSW1tb2JpbGllbiBrYXVmdCwKZ2lidHMgaXJnZW5kd2FubiBtZWhyIEhhZXVzZXIgYWxzIEVpbndvaG5lci4gU2VsYnN0IHdlbm4gbWFuIGRhcyBHZWxkIGluIG5lbgpTYWZlIGxlZ3QgdW5kIGRpZSBJbmZsYXRpb24gaW4gS2F1ZiBuaW1tdCwgd3VlcmRlIGRhcyBuaWNoIGhlbGZlbiB3ZWlsIGRpZQpQcmVpc2UgZGVyIERpZW5zdGxlaXN0dW5nIGRhbm4gc29vbyB0ZXVlciB3ZXJkZW4sIGRhcyBkaWUgSW5mbGF0aW9uIGltbWVyCndlaXRlciBzdGVpZ3QuIERlbm4gd2VubiBlcyBudXIgbm9jaCBnZW51ZyBGcmlzZXVyZSBnaWJ0IHVtIGRlciBIYWVsZnRlIGRlcgpCZXZvZWxrZXJ1bmcgZGllIEhhYXJlIHp1IHNjaG5laWRlbiwgd2VyZGVuIGRpZXNlIGRlbiBQcmVpcyBzb3dlaXQgYW5oZWJlbiwKZGFzIGVzIHNpY2ggYXVjaCBudXIgbm9jaCBkaWUgSGFlbGZ0ZSBsZWlzdGVuIGthbm4uCkVudHdlZGVyIG1hbiBoYXQgc2VsYnN0IEtpbmRlciwgZGllIG1hbiBhdWNoIG5vY2ggc28gZ3V0IGF1c2JpbGRldCB1bmQgZXJ6aWVodApkYXMgc2llIGVpbmVtIGltIEFsdGVyIGRhbm4gdW50ZXIgZGllIEFybWUgZ3JlaWZlbiBrb2VubmVuLCBfb2Rlcl8gbWFuCnZlcmRpZW50IGhldXRlIHNvIHZpZWwgZGFzIG1hbiB0cm90eiBkZXIgbWFzc2l2ZW4gQWJzY2hsYWVnZSBpbiA1MCBKYWhyZW4KdHJvdHpkZW0gbm9jaCBnZW51ZyBHZWxkIHVlYnJpZyBoYXQgdW0gZGF2b24gZ3V0IGxlYmVuIHp1IGtvZW5uZW4uCldlciBoZXV0ZSBqdW5nIGlzdCwgbmljaHQgenUgZGVuIFNwaXR6ZW52ZXJkaWVuZXJuIGdlaG9lcnQgdW5kIHNlbGJzdCBrZWluZQpLaW5kZXIgaGF0LCBkZXIgZGFyZiBzaWNoIGF1ZiBkaWUgQWx0ZXJzYXJtdXQgc2Nob24gbWFsIHNlZWxpc2NoIHZvcmJlcmVpdGVuLgoKRWluemlnZXIgQXVzd2VnOiBFbnR3ZWRlciB3aXIgc3RlaWdlcm4gZGllIEdlYnVydGVucmF0ZSBvZGVyIGFiZXIgZGllClByb2R1a3Rpdml0YWV0IGRlciBlaW56ZWxuZW4gTGV1dGUgc293ZWl0IGRhcyBkaWUgYXJiZWl0ZW5kZSBCZXZvZWxrZXJ1bmcgc28KcHJvZHVrdGl2IGlzdCBkYXMgd2lya2xpY2ggZWluIEFyYmVpdGVyIHp3ZWkgUmVudG5lciB2ZXJzb3JnZW4ga2Fubi4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjQuIFNlcCAyMDAyLCAxNjo0MjozMCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI4NzY2MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkhtbWphLiBuaWNodCBnYW56IHNvIGZhbHNjaCwgZGllIEFyZ3VtZW50YXRpb24sIGFiZXI6IDotKQoKYSkgV2VubiB3aXIgZGllIEdlc2FtdGJldm9lbGtlcnVuZyBrb25zdGFudCBoYWx0ZW4gKHdlaXQgd2VuaWdlciBFaW53YW5kZXJ1bmcKbm90d2VuZGlnIGFscyBmdWVyIEdlbmVyYXRpb25lbnZlcnRyYWcpLCBkYW5uIHNvbGx0ZW4gc2ljaCBhdWYgZGF1ZXIKSW52ZXN0aXRpb24gdW5kIERlaW52ZXN0aXRpb24gYXVmZ3J1bmQgdm9uIFJlbnRlIGRpZSBXYWFnZSBoYWx0ZW4uCmIpIFdlbm4gZGllIEdlc2FtdGJldm9lbGtlcnVuZ3N6YWhsIGtvbnN0YW50IGJsZWlidCwgZGFubiBkdWVyZnRlIGF1Y2ggZGllCkFuemFobCBkZXIgR2V3ZXJiZXRyZWliZW5kZW4gZ2xlaWNoaG9jaCBibGVpYmVuLiBWaWVsbGVpY2h0IGdlcmluZ2Z1ZWdpZwp3ZW5pZ2VyIGFscyBqZXR6dC4gWnVtaW5kZXN0IHN0ZWlnZW4gZGFtaXQgZGllIFByZWlzZSBuaWNodCBzby4KCkpldHp0IHNhZyBtaXIsIHdhcyBkYXJhbiBpbiBpcmdlbmRlaW5lcndlaXNlIFNDSExFQ0hURVIgaXN0IGFscyBhbgpHZW5lcmF0aW9uZW52ZXJ0cmFnLiBTZWxic3Qgd2VubiBhbGxlIHZvbiBEaXIgYmVzY2hyaWViZW5lbiBFZmZla3RlIG1hc3NpdgplaW5zY2hsYWdlbiB3dWVyZGVuLCB3YWVyZSBLYXBpdGFsZGVja3VuZyBpbW1lciBub2NoIGJlc3NlciBhbHMKR2VuZXJhdGlvbmVudmVydHJhZy4gWnVtaW5kZXN0LCBzb2xhbmdlIGdlbnVnIEVzc2VuIGZ1ZXIgYWxsZSBkYSBpc3QuCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBXYWhsIDIwMDIgKEdsb2luc29uLCAyNC4gU2VwIDIwMDIsIDE2OjQ1OjMxKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMjg3NjYzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGFzIGRpZSBLaW5kZXIgaWhyZW4gRWx0ZXJuIHVudGVyIGRpZSBBcm1lIGdyZWlmZW4gc2NoZWludCBpbSBTb3ppYWxtb2RlbGwgZWgKc2Nob24gdm9lbGxpZyBhdXNzZXIgTW9kZSBnZWtvbW1lbiB6dSBzZWluLiBOZW5lLCBkaWUgRWx0ZXJuIHdlcmRlbiB2b2xsCnZlcnBmbGVndCBpbiBlaW4gSGF1cyBkZXIgU2FiYmVybmRlbiB2ZXJmcmFjaHRldC4KSXJnZW5kd28gaGF0dGUgaWNoIHVlYnJpZ2VucyBhdWNoIGdlbHNlbmUsIGRhc3MgZGllIEJvZXJzZW4gZWggc2Nob24gdWViZXIgZGllCm1pdCBkZW0gVGFnIHVtIGRlbiBHbG9idXMgZWlsZW5kZW4gTWlsbGlhcmRlbiBkZXIgUmVudGVuZXJzcGFybmlzc2UgZGVyCkFtZXJpa2FuZXIga290emVuLiBXaXIga29lbm5lbiBqYSBnZXJuIHVuc2VyIFJlbnRlbmdlbGQgZGF6dWxlZ2VuLCBhYmVyIGljaAp6d2VpZmxlLCBkYXNzIGRhcyBkaWUgTG9lc3VuZyBpc3QgdmFnZSB2b24gaXJnZW5kd2VtIGlyZ2VuZHdvIEdlbGQgZnVlciB1bnNlcmUKUmVudG5lciBlcndpcnRzY2hhZnRlbiB6dSBsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogV2FobCAyMDAyIChEZWVwYmx1ZSwgMjQuIFNlcCAyMDAyLCAxNjo0NjowMyk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg3ODU1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTmFqYSwgaGFzdCBzY2hvbiByZWNodC4gVmVyYXJtZW4gd2VnZW4gS2FwaXRhbHZlcmx1c3N0IGlzdCBqYSBuaWNodCBzbyBzY2hsaW1tCndpZSB3ZW5pZ2VyIHJlbnRlIHdlZ2VuIHdhY2tsaWdlbiBGdWVzc2VuIGRlcyBHZW5lcmF0aW9uZW52ZXJ0cmFnZXMuClVuZCBzY2hsaWVzc2xpY2g6IFdlbm4gamVtYW5kIG5pY2h0IGRhcyBHZWxkIGhhdCwgdW0gZnVlcnMgQWx0ZXIgYW5nZW1lc3Nlbgp2b3J6dXNvcmdlbiwgZGFubiBpc3QgZGFzIGphIHNjaGxpZXNzbGljaCBzZWluIFByb2JsZW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogV2FobCAyMDAyIChNYW5kcmFnb24sIDI0LiBTZXAgMjAwMiwgMTY6NDg6MTUpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAzMjg3ODc2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGVyIGxldHp0ZSBTYXR6IGlzdCBuZSBLbGFzc2Vhcmd1bWVudGF0aW9uLgoKSWNoIHNlaGUgYXVjaCBlaW4gU3plbmFyaW8gd2llIGZvbGd0OgoKVmllbGUgTGV1dGUgc29yZ2VuIC0gdm9uIGRlbiAiRGllIFJlbnRlIGlzdCBzaWNoZXIiLVBvbGl0aWtlcm4gZGF6dSBhbmltaWVydCAtCmViZW4gbmljaHQgdm9yIHVuZCB2ZXJwcmFzc2VuIGFsbGVzLiBBbmRlcmUgTGV1dGUgc29yZ2VuIHZvciB1bmQgZHVlcmZlbiBkYW5uCnZvbiBpaHJlbiBFcnNwYXJuaXNzZW4gZGllIFNvemlhbGhpbGZlIGRlcmplbmlnZW4gemFobGVuLCBkaWUgdm9yaGVyIGluIFNhdXMKdW5kIEJyYXVzIGdlbGVidCBoYWJlbi4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFdhaGwgMjAwMiAoR3JpbW1ib3JuLCAyNC4gU2VwIDIwMDIsIDE2OjQ4OjM3KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwMzI4Nzg3NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkFsc28sIHdlbm4gaWNoIHNhZ2UgaWNoIHNwYXJlIG51ciBub2NoIGZ1ZXIgbWVpbmUgUmVudGUsIHVuZCB6YWhsZSBuaWNodCBtZWhyCmRpZSBSZW50ZSBtZWluZXIgRWx0ZXJuLCBkYW5uIGdsYXViZSBpY2ggbmljaHQgZGFzcyBtZWluZSBFbHRlcm4gZGFzIHNvIGtsYXNzZQpmaW5kZW4gd3VlcmRlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFdhaGwgMjAwMiAoTWFuZHJhZ29uLCAyNC4gU2VwIDIwMDIsIDE2OjQ5OjExKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODc4OTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEdSBtdXNzdCBiZWlkZXMgdHVuLiBBYmVyIGRhcyB0cmF1dCBzaWNoIGphIGtlaW4gUG9saXRpa2VyIGRlbiBMZXV0ZW4genUKc2FnZW4uCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBXYWhsIDIwMDIgKEdyaW1tYm9ybiwgMjQuIFNlcCAyMDAyLCAxNjo1MDoxOCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg3ODk1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRWJlbiwgYmV2b3IgaWNoIGJlaWRlcyB0dWUgYmVzY2hyYWVua2UgaWNoIG1pY2ggbGllYmVyIGRhcmF1ZiwgZGllIFJlbnRlCm1laW5lciBFbHRlcm4genUgemFobGVuLCB1bmQgbWVpbmUgUmVudGUgZHVlcmZlbiBkYW5uIGltIEF1c2dsZWljaCBkaWUgS2luZGVyCmFuZGVyZXIgTGV1dGUgemFobGVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogV2FobCAyMDAyIChNYW5kcmFnb24sIDI0LiBTZXAgMjAwMiwgMTY6NTA6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzI4NzkwMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CldpZSBpY2ggc2Nob24gc2FndGU6CgpLbGFzc2Vhcmd1bWVudGF0aW9uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogV2FobCAyMDAyIChHbG9pbnNvbiwgMjQuIFNlcCAyMDAyLCAxNjo1MTo0Nik6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg3ODk1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKV2FydW0gcGZsYW56ZW4gd2lyIG5pY2h0IGFsbGVuIGtsZWluZSByb3RlIExhbXBlbiBpbiBkZXIgSGFuZCB1bnRlciBkaWUgSGF1dCwKdW5kIHdlbm4gZGllIGRhbm4gYW5mYW5nZW4genUgYmxpbmtlbiAuLi4KT2RlciB3aWUgd2FlcnMgbWl0IHNjaG9lbmVuIGdyb3NzZW4gUGFsYWVzdGVuLCBpbiBkZW5lbiBtYW4gc2ljaCB6dSBCYW1iaSB1bmQKQmVldGhvdmVuIGJldHRlbiBrYW5uIHVtZCBkYW5uIC4uLgpBbHRlcm5hdGl2IHNvbGx0ZSBtYW4gYmlzIDQwIGluIFNhdXMgdW5kIEJyYXVzIGxlYmVuIGR1ZXJmZW4sIHdpciBtdWVzc2VuIG51cgplaW5lIEdlc2VsbHNjaGFmdCBhdWZiYXVlbiBkaWUgZGFubiBpZ25vcmllcnQgZGFzcyBkaWUgQWx0ZW4gYWIgNDAgYmlzIGluIGRlbgpUb2QgZnVlciBkaWVzZSBHZXNlbGxzY2hhZnQgc2NodWZ0ZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogV2FobCAyMDAyIChBcmssIDI0LiBTZXAgMjAwMiwgMTc6MjE6NDQpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyODc2NjM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpIbSwgZGVyIFZlcmdsZWljaCwgb2IgZGVyIHppZWh0PyBEaWUgQm9lcnNlIG1hY2h0IGVpbmlnZSBhdWYgS29zdGVuIGFuZGVyZXIKcmVpY2hlciwgZXMgZ2V3aW5uZW4gZWluaWdlLCB1bmQgenVyIGdsZWljaGVuIFplaXQgdmVybGllcmVuIGVpbmlnZS4gQmVpIGRlcgpSZW50ZSBnZWh0IGVzIGRhcnVtLCBqZWRlbSBkYXMgenV6dXNpY2hlcm4sIHVtIGlobS9paHIgZWluIGRlbSB2b3JoZXJpZ2VuClN0YW5kYXJkIGFuZ2VtZXNzZW5lcyBMZWJlbiB6dSBlcm1vZWdsaWNoZW4sIG9obmUgZGFzIGVpbmVyIGRhYmVpIHZlcmxpZXJ0LgpOYXR1ZXJsaWNoIHNpbmQgZGllIGFic29sdXRlbiBSZW50ZW5ob2VoZW4gdW50ZXJzY2hpZWRsaWNoLCBkYXMgd2FyIGphIGF1Y2gKenVyIEJlcnVmc3plaXQgc28sIGFiZXIgaGllcmJlaSBzb2xsdGUga2VpbmVyIGRhYmVpICJ2ZXJsaWVyZW4iIHdpZSBhbiBkZXIKQm9lcnNlLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBXYWhsIDIwMDIgKERlZXBibHVlLCAyNC4gU2VwIDIwMDIsIDE3OjIzOjAxKToKfiMhIHJuPUFyayBydD0xMDMyODgwOTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpBbiBkZXIgQm9lcnNlIHdpcmQgd2VkZXIgZ2VsZCBnZXdvbm5lbiBub2NoIHZlcmxvcmVuLiBHZWxkIHdlY2hzZWx0IG51ciBzZWluZW4KYmVzaXR6ZXIuCkRlZXAsIDUgTWFyayBpbnMgUGhyYXNlbnNjaHdlaW4gd2VyZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFdhaGwgMjAwMiAoQm9pbmcsIDI0LiBTZXAgMjAwMiwgMTc6Mjc6MzQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTAzMjg4MDk4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKR2VuYXUgZGFzIGhhdCBBcmsgZ2VzY2hyaWViZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBXYWhsIDIwMDIgKENhZHJhY2gsIDI0LiBTZXAgMjAwMiwgMTc6NDU6NTIpOgp+IyEgcm49Qm9pbmcgcnQ9MTAzMjg4MTI1NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGVyIEZlaGxlciBhbiBBcmtzIFRoZXNlIGlzdCBhYmVyOiBEaWUgQm9lcnNlIGlzdCBzbyBhbmdlbGVndCBkYXMgc2llIG5pY2h0CnVuYmVkaW5ndCBqZW1hbmQgQWVybWVyIG1hY2h0IHVtIGFuZGVyZSBSZWljaGVyIHp1IHdlcmRlbi4gQW4gZGVyIEJvZXJzZQprb2VubmVuIGFsbGUgdmVybGllcmVuIHVuZCBhbGxlIGdld2lubmVuLiBEYXMgZWluZSBoYXQgbWl0IGRlbSBhbmRlcmVuIG5pY2h0cwp6dSB0dW4uCkFrdGllbiBzaW5kIG5hZW1saWNoIGtlaW4gR2x1ZWNrc3NwaWVsIHNvbmRlcm4gZWluZSBCZXRlaWxpZ3VuZyBhbiBlaW5lbQpVbnRlcm5laG1lbi4gKEFlaG5saWNoZXMgZ2lsdCBzb2dhciBmdWVyIE9wdGlvbnNzY2hlaW5lIHVuZCBhZWhubGljaGVzLCBhYmVyCmljaCBnZWJlIHp1IGRhcyBlcyBkYWJlaSBzY2h3aWVyaWdlciB6dSB2ZXJzdGVoZW4gaXN0IGFscyBiZWkgQWt0aWVuKS4KV2VubiBzaWNoIGRpZSBCZXZvZWxrZXJ1bmdzcHlyYW1pZGUgbmljaHQgYWVuZGVydCwgYWVuZGVydCBkaWVzCl96d2FuZ3NsYWV1ZmlnXyB1bnNlcmVuIFNvemlhbHN0YWF0LiBFcyBzZWkgZGVubiB3aXIgc3RlaWdlcm4gZGllClByb2R1a3Rpdml0YWV0IGVudHNwcmVjaGVuZCB1bmQgYXVjaCBvYiBlcyBzcGFldGVyIGdlbnVnIHp1IGVzc2VuIGZ1ZXIgYWxsZQpnZWJlbiB3aXJkLCBpc3QgZXR3YXMgd28gaWNoIG5pY2h0IDEwMCUgZHJhdWYgd2V0dGVuIHd1ZXJkZS4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBXYWhsIDIwMDIgKEFyaywgMjQuIFNlcCAyMDAyLCAxODo0Mjo1Myk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI4ODIzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CldlciBoYXQgZGVubiBzb3dhcyBiZWhhdXB0ZXQsIGRhc3MgYWxsZSBnZXdpbm5lbiBrb2VubmVuPyBXaXIgc2luZCBoaWVyIGRvY2gKbmljaHQgaW4gZWluZXIgVm9ybGVzdW5nIG1pdCBpZGVhbGVuIFJhbmRiZWRpbmd1bmdlbi4gV2FydW0gZ2lidCBlcwpJbnNpZGVyZ2VzY2hhZWZ0ZT8gR2V3aW5udCBkYSBqZWRlcj8gV2VubiBqZW1hbmQgUmVpYmFjaCBpbSBncm9zc2VuIFN0aWwKbWFjaHQsIGdlaHQgZGFzIGViZW4genVtZWlzdCBhdWYgZGllIEtvc3RlbiBhbmRlcmVyLiBHZW5hdXNvIGlzdCBtaXQgZGVyClJlbnRlLiBUaGVvcmV0aXNjaCBmdW5rdGlvbmllcnQgZGVyIEdlbmVyYXRpb25lbnZlcnRyYWcsIG51ciBoYWx0IG5pY2h0IGluIGRlcgpSZWFsaXRhZXQsIGFsc28gbWl0IEFyYmVpdHNsb3NpZ2tlaXQsIFp1d2FuZGVydW5nZW4sIEFid2FuZGVydW5nZW4sIEluZmxhdGlvbiwKS3JpZWdlbiwgTmF0dXJrYXRhc3Ryb3BoZW4sIEdlYnVydGVucmF0ZW4sIGV0Yy4gRGEgZXMgZnVlciBkaWUgQWxsZ2VtZWluaGVpdApuaWNodCBmdW5rdGlvbmllcnQsIGlzdCBlcyBkdXJjaGF1cyBsZWdpdGltLCBlcyBqZWRlbSBlaW56ZWxuZW4genUKdWViZXJsYXNzZW4sIHdpZSBlciBzZWluZSBadWt1bmZ0IHBsYW50LiBEYXMgaXN0IGR1cmNoYXVzIHVlYmVyc2NoYXViYXJlciB1bmQKdm9yaGVyc2VoYmFyZXIsIGFscyB3ZW5uIG1hbiBtaXQgYmFuZ2VtIDQgSmFocmVzYmxpY2sgYXVmIGRpZSBSZW50ZSB6dXRydWRlbHQKdW5kIHNpY2ggZnJhZ3QsICJ3YXMgYmVrb21tZSBpY2ggbWFsIHJhdXM/IgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBXYWhsIDIwMDIgKENhZHJhY2gsIDI0LiBTZXAgMjAwMiwgMjE6MTE6NTYpOgp+IyEgcm49QXJrIHJ0PTEwMzI4ODU3NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck5hdHVlcmxpY2ggZ2lidCBlcyBJbnNpZGVyZ2VzY2hhZWZ0ZSwgYWJlciBnYW56IGdlbmF1c28gd2VyZGVuIEJhbmtlbgp1ZWJlcmZhbGxlbiB1bmQgZGllIG11ZXNzZW4gc2ljaCBkYWdlZ2VuIHZlcnNpY2hlcm4uIERlciBTY2hhZGVuIGRlciBkdXJjaAprcmltaW5lbGxlIEVuZXJnaWUgaW4gZGVuIEFrdGllbm1hZXJrdGVuIGVudHN0ZWh0IGlzdCBkZW5rZSBpY2ggcHJvemVudHVhbApuaWNodCBncm9lc3NlciBhbHMgYmVpIGFsbGVuIGFuZGVyZW4gQW5sZWdlZm9ybWVuIChhdWNoIERlaW4gU2FmZSB6dSBIYXVzZQprYW5uIGF1c2dlcmF1YnQgd2VyZGVuKS4KTGVnaXRpbSBlcyBqZWRlbSBlaW56ZWxuZW4genUgdWViZXJsYXNzZW4gaXN0IGVzIG51ciB3ZW5uIER1IGVudHdlZGVyIGVpbiBnYW56CmZyb21tZXIgQ2hyaXN0IGJpc3QgdW5kIGJlcmVpdHMgYmlzdCB3aWUgaW4gZGVyIEdlc2NoaWNodGUgZGVzIHZlcmxvcmVuZW4KU29obmVzIGRlbiBkZXIgaGV1dGUgYWxsZXMgdmVycHJhc3N0IGluIGRlciBadWt1bmZ0IHdpZWRlciBmcmV1ZGlnIGF1Znp1bmVobWVuCnVuZCBkdXJjaHp1ZnVldHRlcm4sIG9kZXIgd2VubiBEdSBiZXJlaXQgYmlzdCBpbiAzMCBKYWhyZW4gTGV1dGUgZGllIGhldXRlCihhYnNlaGJhcmUpIEZlaGxlciBiZWdhbmdlbiBoYWJlbiwgdmVyaHVuZ2VybiB6dSBsYXNzZW4uCldhcyB3aXIgYnJhdWNoZW4gaXN0IGVpbmUgTWlzY2h1bmcgYXVzIGFsbGVtOiBQcml2YXRlIFZvcnNvcmdlIChpbSBXaXNzZW4sIGRhcwplcyBrZWluZSByZWFsZW4gUmVuZGl0ZW4gZ2ViZW4gd2lyZCksIFp1d2FuZGVydW5nIHVuZCBTdGVpZ2VydW5nIGRlcgpHZWJ1cnRlbnJhdGUgc293aWUgbWFzc2l2ZSBQcm9kdWt0aXZpdGFldHN6dXdhZWNoc2UuIE1pdCBBdXNuYWhtZSBkZXMKS2luZGVya3JpZWdlbnMgYmluIGljaCBkdXJjaGF1cyBkZXIgTWVpbnVuZywgZGFzIGRlciBTdGFhdCBlaW5lbiB6dSBhbGxlbQphbmRlcmVuIGR1cmNoYXVzICJ6d2luZ2VuIiBrYW5uIHVuZCBzb2xsdGUuCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogV2FobCAyMDAyIChNYW5kcmFnb24sIDI0LiBTZXAgMjAwMiwgMjE6MTU6MTkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyODk0NzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpPaC4gSWNoIGhhYmUgbmljaHQgZ2VzYWd0LCBkYXNzIGRlciBTdGFhdCBlaW5lbiBuaWNodCB6d2luZ2VuIHNvbGx0ZS4gRXIKbXVlc3N0ZSB2ZXJwZmxpY2h0ZW4sIDIwJSBkZXMgTG9obnMgWlVTQUVUWkxJQ0ggenVyIFJWIGluIHByaXZhdGUgVm9yc29yZ2UgenUKc3RlY2tlbi4gU29uc3QgemFobGVuIGRpZSBWb3Jzb3JnZXIgbWl0IFJlbnRlbmJlc3RldWVydW5nIGRpZSBTb3ppYWxoaWxmZSBkZXIKVmVycHJhc3Nlci4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFdhaGwgMjAwMiAoR3JpbW1ib3JuLCAyNC4gU2VwIDIwMDIsIDIxOjI1OjA1KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyODk0OTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpVbmQgbWl0IGdlbmF1IHdlbGNoZXIgQmVncnVlbmR1bmcgd2lsbHN0IER1IGRpZSBhbHRlIFByYXhpcywgZGFzcyBzaWNoIGRlcgpBcmJlaXRnZWJlciB6dSA1MCUgYW4gZGVyIEFsdGVyc3ZvcnNvcmdlIGJldGVpbGlndCwgc28gZ3JhbmRpb3MgYXVzaGViZWxuPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IFdhaGwgMjAwMiAoQWxwaGEsIDI0LiBTZXAgMjAwMiwgMjE6MjY6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzI4OTU1MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkRlbSBBcmJlaXRnZWJlciBpc3QgZXMgZWggcmVpY2hsaWNoIHd1cnN0LCBvYiBzZWluIEFudGVpbCBkZW4gZXIgZnVlciBEaWNoCnphaGx0IG1pdCBhdWYgRGVpbmVtIExvaG56ZXR0ZWwgc3RlaHQgb2RlciBuZXQsIHJlbGV2YW50IHNhbiBmdWVyIGlobiBudXIgZGllCktvc3RlbiwgZGllIGZ1ZXIgaWhuIGVudHN0ZWhlbiwgd2VubiBhbHNvIGRlciBBcmJlaXRnZWJlcmFudGVpbCBtaXQgYXVmIERlaW5lbgpMb2huemV0dGVsIGthZW1lLCB1bmQgRHUgMTAwJSBiZXRyYWdlbiBtdWVzdGVzdCwgd3VlcmRlIHNpY2ggamEgbml4IGZ1ZXIgRGljaAphZW5kZXJuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogV2FobCAyMDAyIChDYWRyYWNoLCAyNC4gU2VwIDIwMDIsIDIxOjI3OjQ5KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMyODk0OTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpFaHJsaWNoIGdlc2FndCBmcmFnZSBpY2ggbWljaCB3aWVzbyBEVSBEaWNoIHZvbiBtZWluZW0gQXJ0aWtlbCBhdXMKYW5nZXNwcm9jaGVuIGdlZnVlaGx0IGhhc3QuIEljaCBiaW4gZG9jaCBhdWYgRGVpbmVuIEFydGlrZWwgdWViZXJoYXVwdCBuaWNodAplaW5nZWdhbmdlbiwgZ2VzY2h3ZWlnZSBkZW5uIGRhcyBpY2ggRGlyIGlyZ2VuZHdhcyB1bnRlcnN0ZWxsdCBoYWV0dGUgd2FzIER1Cmdlc2FndCBoYWJlbiBzb2xsc3QuCldlbm4gRHUgdmVyaGluZGVybiB3aWxsc3QgaW4gZGVyIFp1a3VuZnQgZGllIFNvemlhbGhpbGZlIGRlciBhbmRlcm4genUKemFobGVuLCwgYmlsZGUgRGVpbmUgQWx0ZXJzdm9yc29yZ2UgYXVzIHZlcnN0ZXVlcnRlbSBHZWxkLiBEYW5uIGhhc3QgRHUKbmFlbWxpY2gga2VpbmUgbmFjaGdlbGFnZXJ0ZSBWZXJzdGV1ZXJ1bmcgdW5kIHZlcnN0ZXVlcnN0IGltbWVyIG51ciBaaW5zZW4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogV2FobCAyMDAyIChHcmltbWJvcm4sIDI0LiBTZXAgMjAwMiwgMjE6MzA6MjIpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMjg5NTYxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGFmdWVyLCBkYXNzIGRlbmVuIGRhcyBXdXJzdCBpc3QsIGphbW1lcm4gZGllIGFiZXIgemllbWxpY2ggdW52ZXJmcm9yZW4gdWViZXIKZGllIChuZWJlbmJlaSBhdWNoIG1hc3NnZWJsaWNoIHZvbiBpaG5lbiBkdXJjaCB6LkIuIEZydWVodmVycmVudG51bmcKdmVydXJzYWNodGVuKSBMb2hubmViZW5rb3N0ZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBXYWhsIDIwMDIgKE1hbmRyYWdvbiwgMjQuIFNlcCAyMDAyLCAyMTozMDo0MCk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwMzI4OTU2Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3Ck9laC4gQWxzbyBpY2ggd2FyIG5pY2h0IHNhdWVyLiBJY2ggaGFiZSBudXIgYmVtZXJrdCwgZGFzcyBpY2ggZGFzIGluIG1laW5lbQp1cnNwcnVlbmdsaWNoZW4gVm9yc2NobGFnIG5pY2h0IGVyd2FlaG50IGhhdHRlCgpBYmVyIHp1IERlaW5lbSBsZXR6dGVuIEFydGlrZWw6IERpciBzYWdlbiBkaWUgQmVncmlmZmUgJ1JlbnRlbmJlc3RldWVydW5nJywKJ1Zlcm1vZWdlbnNzdGV1ZXInIHVzdy4gZXR3YXMgPz8/CgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBXYWhsIDIwMDIgKEFscGhhLCAyNC4gU2VwIDIwMDIsIDIxOjMyOjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODk1ODIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEaWUgamFtbWVybiBqYSBudXIsIHdlaWwgaWhuZW4gZGllIEtvc3RlbiBhdXMgZGVtIFJ1ZGVyIGxhdWZlbiwgb2huZSBkYXMgc2llCih3YXMgc2llIGF1cyBNaXRhcmJlaXRlcmJlZWluZmx1c3NlbmRlciBMb2hucG9saXRpayBzaWNoZXIgZ2VybikgZGVuCkFuZ2VzdGVsbHRlbiBtZWhyIEdlbGQgenVrb21tZW4gbGFzc2VuIGtvZW5uZW4uLi4uLgouLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IFdhaGwgMjAwMiAoQ2FkcmFjaCwgMjQuIFNlcCAyMDAyLCAyMTozNDo0Myk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjg5NTg0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRHUgbWVpbnN0IGRpZSAiVmVybW9lZ2Vuc3N0ZXVlciIgZGllIHZlcmZhc3N1bmdzd2lkcmlnIGVya2xhZXJ0IHd1cmRlLCB3ZWlsCnNpZSBlaW5lIERvcHBlbGJlc3RldWVydW5nIGJlZGV1dGV0PyBHZW5lcmVsbCBtdXNzdCBEdSBudXIgRWlubmFobWVuIChhbHNvClZlcm1vZWdlbnN6dXdhZWNoc2UpIHZlcnN0ZXVlcm4gKHVuZCBpY2ggZ2VoZSBtYWwgZGF2b24gYXVzIGRhcyBkaWVzIGF1Y2ggc28KYmxlaWJ0KS4gQWxsZXMgYW5kZXJlIGlzdCBlaW5lIGRlZmFrdG8gRW50ZWlnbnVuZyAtIHdlbm4gc29ldHdhcyBrb21tdCBiaXN0IER1CmltbWVyIG1hY2h0bG9zLCBhdXNzZXIgRHUgaGFzdCBkYXMgR2VsZCBpbSBBdXNsYW5kLgpSZW50ZW5iZXN0ZXVlcnVuZyBncmVpZnQgbnVyIGRhbm4gd2VubiBlcyBlaW5lIFJlbnRlIGlzdC4gUmVudGUgaXN0IG51ciBkYXMKd2FzIER1IGF1cyBBbmxhZ2VuIGJla29tbXN0IGRpZSBEdSBhdXMgdW52ZXJzdGV1ZXJ0ZW0gR2VsZCBnZWJpbGRldCBoYXN0LgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFdhaGwgMjAwMiAoQ2FkcmFjaCwgMjQuIFNlcCAyMDAyLCAyMTo0MDoxNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjg5NTgyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRnJ1ZWh2ZXJyZW50dW5nIGlzdCBlaW4gTWl0dGVsIHVtIEFyYmVpdHNwbGFldHplIGFienViYXVlbi4gVGVpbHdlaXNlIGRhcwplaW56aWdlIG5vY2ggdmVyYmxpZWJlbmRlLCB3ZW5uIER1IG5pY2h0IGRpZSBqdW5nZSBCZWxlZ3NjaGFmdCBrb21wbGV0dAplbnRsYXNzZW4gd2lsbHN0IHVuZCBEZWluZSBGaXJtYSBhdXMgVWViZXJhbHRlcnVuZyBzdGlyYnQuCkVzIGlzdCBsZWlkZXIgbmljaHQgbW9lZ2xpY2ggd2VubiBhdXMgYmV0cmllYmxpY2hlbiBHcnVlbmRlbiAxMCUgZGVyCkFyYmVpdHNwbGFldHplIHdlZ2ZhbGxlbiBkaWUgcXVlciBkdXJjaCBhbGxlIEFsdGVyc2dydXBwZW4gYWJ6dWJhdWVuLiBFbnR3ZWRlcgpkaWUganVuZ2VuIG11ZXNzZW4gZ2Vobiwgb2RlciBkaWUgYWx0ZW4uClVuZCBiZXZvciBqZXR6dCBhbGxlIHNjaHJlaWVuOiBEZXIgQWJiYXUgdm9uIEFyYmVpdHNwbGFldHplbiBnZWhvZXJ0IGxlaWRlcgp6dXIgTWFya3R3aXJ0c2NoYWZ0IGRhenUsIGdlbmF1IHdpZSBFaW5zdGVsbHVuZ2VuIHVuZCBJbnNvbHZlbnplbi4gV2VubiBlaW5lcgp2b24gendlaSBLdW5kZW4gZWluZXMgQXV0b3p1bGllZmVyZXJzIHBsZWl0ZSBnZWh0LCBkYW5uIG11c3MgYXVjaCBkZXIKWnVsaWVmZXJlciByZWR1emllcmVuIG9kZXIgZXIgZ2VodCBnYW56IHBsZWl0ZS4gRGFzIGhhdCB6dW5hZWNoc3Qgbm9jaCBuaWNodHMKbWl0ICJoaXJlICYgZmlyZSIgenUgdHVuIHVtIGRlbSBBcmd1bWVudCBnbGVpY2ggdm9yenViZXVnZW4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogV2FobCAyMDAyIChHcmltbWJvcm4sIDI0LiBTZXAgMjAwMiwgMjE6NDQ6MTYpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyODk2NDE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYXMgc2luZCBhbGxlcyBhbHRlIEh1ZXRlLiBGYWt0IGlzdCBhYmVyOiB3ZW5uIEFyYmVpdGdlYmVyIEFyYmVpdG5laG1lcgpmcnVlaHZlcnJlbnRlbiAoc3RhdHQgaW4gZGllIEFyYmVpdHNsb3NpZ2tlaXQgenUgZW50bGFzc2VuKSwgc2ljaCBkYW5uIGFiZXIKdWViZXIgZGVuIGhvaGVuIEFHLUFudGVpbCBkZXIgUmVudGVudmVyc2ljaGVydW5nIGJlc2Nod2VyZW4sIGlzdCBkYXMKdW5yZWRsaWNoLiBVbmQgInNhbmllcnQiIGRpZSBBcmJlaXRzbG9zZW52ZXJzaWNoZXJ1bmcgYXVmIEtvc3RlbiBkZXIKUmVudGVudmVyc2ljaGVydW5nLCB3YXMgZGFubiBkaWVzZSBiZWlkZW4gU296aWFsdmVyc2ljaGVydW5nZW4genVtaW5kZXN0IGluCmVpbiBwb2xpdGlzY2hlcyBzY2hyYWVnZXMgVmVyaGFlbHRuaXMgc2V0enQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBXYWhsIDIwMDIgKEFscGhhLCAyNC4gU2VwIDIwMDIsIDIxOjQ2OjEzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODk2NjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpFcyBpc3QgbmljaHQgdW5yZWRsaWNoIC0gZXMgaXN0IGVpbmZhY2ggZGllIGJlc3RlIFdhaGwgZGVyIEZpcm1hIC0gd2VubiBzaWUKbmljaHQgc28gaGFuZGVsdCwgd2lyZCBzaWUgemllbWxpY2ggc2ljaGVyIGRlbiBGaXJtZW4gdW50ZXJsZWdlbiBzZWluLCBkaWUgc28KaGFuZGVsbiwgd2VpbCBkaWUgS29zdGVuIHNwYXJlbi4KRGllIE1vZWdsaWNoa2VpdCBzb2xsdGUgaGFsdCBhYmdlc2NoYWZmdCB3ZXJkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogV2FobCAyMDAyIChHcmltbWJvcm4sIDI0LiBTZXAgMjAwMiwgMjE6NDg6MjkpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMjg5Njc3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKV2FydW0gc29sbCBlaW5lIEZpcm1hLCBkaWUgbmljaHQgdWViZXIgZGVuIGhvaGVuIEFHLUFudGVpbCBkZXIgUlYgamFtbWVydCAodW5kCmdlbmF1IGRhcyBoYWJlIGljaCBhbHMgdW5yZWRsaWNoIGJlemVpY2huZXQpLCBiZW5hY2h0ZWlsaWd0IHNlaW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBXYWhsIDIwMDIgKEFscGhhLCAyNC4gU2VwIDIwMDIsIDIxOjUwOjI2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMyODk2OTA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpXZW5uIHNpZSBsaWViZXIgZGllIGtvc3RlbmludGVuc2l2ZSBBbHRlcm5hdGl2ZSBFbnRsYXNzdW5nIGRlciBndWVuc3RpZ2VyZW4KRnJ1ZWh2ZXJyZW50dW5nIHZvcnppZWh0Li4uLi4KRW50bGFzc3VuZ2VuIHNhbiBoYWx0IHNhdXRldWVyLCBkZXN3ZWdlbiBzdGVsbHQgYXVjaCBrYXVtIHdlciBMZXV0ZSBlaW4gdW5kCmxhZXNzdCBsaWViZXIgZGllIFZvcmhhbmRlbmVuIEFuZ2VzdGVsbHRlbiBVZWJlcnN0dW5kZW4gZmFocmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IFdhaGwgMjAwMiAoR3JpbW1ib3JuLCAyNC4gU2VwIDIwMDIsIDIxOjUxOjIyKToKfiMhIHJuPUFscGhhIHJ0PTEwMzI4OTcwMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkR1IGhhc3QgbWVpbmUgRnJhZ2UgbmljaHQgYmVhbnR3b3J0ZXQ6IElud2lld2VpdCB2ZXJzY2hhZmZ0IGRhcyBKYW1tZXJuClZvcnRlaWxlPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zODogV2FobCAyMDAyIChBbHBoYSwgMjQuIFNlcCAyMDAyLCAyMTo1MjoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjg5NzA4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKRGFkdXJjaCBkYXNzIGVzIGFsbGUgbWFjaGVuLCBzY2hsYWdlbiBkaWUgS29zdGVuIGphIGxldHp0ZW5kbGljaCBkb2NoIHdpZWRlcgp6dXJ1ZWNrLCBhYmVyIGFscyBFaW56aWdlciBhdXNzY2hlcmVuIGJyaW5ndCBlYmVuIG5peC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBXYWhsIDIwMDIgKEdyaW1tYm9ybiwgMjQuIFNlcCAyMDAyLCAyMTo1NDoyNik6Cn4jISBybj1BbHBoYSBydD0xMDMyODk3MTQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpTb2xsIGljaCBtaWNoIGhpZXIgYmlzIFdlaWhuYWNodGVuIHdpZWRlcmhvbGVuPyBCZWFudHdvcnRlIGRvY2ggYml0dGUgZWluZmFjaAptYWwgbWVpbmUgRnJhZ2UsIG9kZXIgZXJrbGFlcmUgbWlyIHdlbGNoZW4gVGVpbCBEdSBkYXZvbiBuaWNodCB2ZXJzdGFuZGVuCmhhc3Q6ICJXYXJ1bSBzb2xsIGVpbmUgRmlybWEsIGRpZSBuaWNodCB1ZWJlciBkZW4gaG9oZW4gQUctQW50ZWlsIGRlciBSVgpqYW1tZXJ0IGJlbmFjaHRlaWxpZ3Qgc2VpbiBnZWdlbnVlYmVyIGVpbmVyIEZpcm1hLCBkaWUgZGFydWViZXIgamFtbWVydD8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDE6IFdhaGwgMjAwMiAoQWxwaGEsIDI0LiBTZXAgMjAwMiwgMjI6MDA6MDQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzI4OTczNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMyNjA3Mzg3CkRhbmtlLCBkYXNzIER1IG1laW5lIElQIGZ1ZXIgYWxsZSBzaWNodGJhciBwb3N0ZXN0LCBpY2ggZ2xhdWIgZGFzIGhhdCBuZW4KU2lubiwgZGFzcyBkaWUgbnVyIE1hZ2llciBiZWltIEZpbmdlcm4gc2VoZW4uLi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBXYWhsIDIwMDIgKENhZHJhY2gsIDI0LiBTZXAgMjAwMiwgMjI6MDI6MDMpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMjg5NzYwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSmV0enQgdmVybGFuZ3N0IER1IGFiZXIgdW5tb2VnbGljaGVzIHZvbiBHcmltbWJvcm4uIER1IGdsYXVic3QgRG9jaCBuaWNodCBpbQpFcm5zdCBkYXMgR3JpbW1ib3JuIGVpbmUgSWRlZSBoYXQgd2FzIFNwaWVsZXIgc2VoZW4gdW5kIHdhcyBuaWNoPwpVbmQgZ2VudWcgQW5zdGFuZCBzZWxic3QgYXVmIGRpZSBJZGVlIHp1IGtvbW1lbiBkYXMgbWFuIHNvd2FzIGltIFp3ZWlmZWwKbGllYmVyIG5pY2ggcG9zdGV0IGhhdCBlciBhdWNoIG5pY2ggLSBhdWNoIG5peCBuZXVlcy4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBXYWhsIDIwMDIgKEdyaW1tYm9ybiwgMjQuIFNlcCAyMDAyLCAyMjowMjo0Myk6Cn4jISBybj1BbHBoYSBydD0xMDMyODk3NjA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpJY2ggYmluIHNlaXQgSmFocmVuIG5pY2h0IG1laHIgU3BpZWxlciBnZXdlc2VuLiBBbHNvIHNjaG9lbiwgaGllciBkaWUKanVnZW5kZnJeV3NwaWVsZXJnZWVpZ25ldGUgVmVyc2lvbjoKZmluZ2VyIGFscGhhCkFscGhhIGlzdCBhbndlc2VuZCwKdW5kIHp3YXIgdm9uOiBWaWVubmEuCgpPSywgaWNoIHppZWhlIGRhcyB6dXJ1ZWNrLiBNYW4gc29sbCBuaWNodHMgdW5tb2VnbGljaGVzIHZlcmxhbmdlbiwgZGFzIHp1CmtsYWVyZW4gd3VlcmRlIG1pciBkZW5uIGRvY2ggenUgbGFuZ2UgZGF1ZXJuLgoKV2VubiBpY2ggZGVuIEVpbmRydWNrIGdld29ubmVuIGhhZXR0ZSBkYXNzIGRhcyBiZWkgRGlyIHp1IGVpbmVyIGF1ZiBkaWUgRnJhZ2UKYmV6b2dlbmVuIEFudHdvcnQgZnVlaHJlbiB3dWVyZGUsIHdlbm4gbWFuIERpY2ggd2FzIGZyYWd0IHd1ZXJkZSBpY2ggamEgZnJhZ2VuCndlbGNoZW4gU2lubiBEdSBkYXJpbiBzaWVoc3QuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDM6IFdhaGwgMjAwMiAoQWxwaGEsIDI0LiBTZXAgMjAwMiwgMjI6MDM6MDcpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMyODk3NzIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpOYSBndXQsIGRhc3Mgc2ljaCB3YWVocmVuZCBtZWluZXIgQWJ3ZXNlbmhlaXQgYXVjaCB3aXJrbGljaCBnYXIgbml4PyBnZWFlbmRlcnQKaGF0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NDogV2FobCAyMDAyIChHcmltbWJvcm4sIDI0LiBTZXAgMjAwMiwgMjI6MDQ6MDMpOgp+IyEgcm49QWxwaGEgcnQ9MTAzMjg5Nzc4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKQWxzbywgS2luZGVycywgd2VubiBpaHIgSVAtQWRyZXNzZW4gZnVlciBnZWhlaW0gdW5kIHNpY2hlciBoYWx0ZXQgaGFidCBpaHIgZWluCnBhYXIgZGVyIGZlaW5lcmVuIERldGFpbHMgdm9uIFRDUC9JUCBuaWNodCBiaXMgaW5zIGxldHp0ZSB2ZXJzdGFuZGVuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ2OiBXYWhsIDIwMDIgKEJvaW5nLCAyNS4gU2VwIDIwMDIsIDE0OjQxOjM0KToKfiMhIHJuPUZsaW50bmFpbCBydD0xMDMyOTU3NjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzMjYwNzM4NwpEYXMgbGllZ3QgYXVmIGRlciBIYW5kOiBOYWNoIGRlbSBKYW1tZXJuIGZ1ZWhsZW4gc2llIHNpY2ggYmVzc2VyIHVuZAprb2VubmVuIGF1c3NlcmRlbSBtaXQgTWl0bGVpZCByZWNobmVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NzogV2FobCAyMDAyIChNYW5kcmFnb24sIDI1LiBTZXAgMjAwMiwgMTQ6NDU6MzYpOgp+IyEgcm49Qm9pbmcgcnQ9MTAzMjk1NzY5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKTmFqYS4gRGFzIGdlaHQgamV0enQgc28gZXR3YXMgYW0gVGhlbWEgdm9yYmVpIG1pdCBkZW4gamFtbWVybmRlbiBVbnRlcm5laG1lcm4uCldlbm4gZGVyIEFyYmVpdGdlYmVyYW50ZWlsIGF1ZiBkZW4gTG9obiBkcmF1Zmdlc2NobGFnZW4gd3VlcmRlIHVuZCBiZWltCkFyYmVpdG5laG1lciBhYmdlem9nZW4gd3VlcmRlbiwgd2FlcmUgZGllIEJlbGFzdHVuZyBuaWNodCA2MCUgc29uZGVybiA4MCUgb2RlcgpzbyAuLi4uCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ4OiBXYWhsIDIwMDIgKEZsaW50bmFpbCwgMjYuIFNlcCAyMDAyLCAxMDo1OToxNik6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMjk1NzkzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzI2MDczODcKSG1tLi4uCkxhbmdzYW0gZ3J1ZWJlbCBpY2ggZGFydWViZXIsIG9iIGR1IFVudGVybmVobWVyIGJpc3Qvc2VpbiB3aWxsc3Qvc2VpbiB3ZXJkZW4Kd2lsbHN0OikuLi4KCkRlZmluaXRpdiBnaWJ0IGVzIEdydWVuZGUgZGFzcyBuaWNodCBkZXIgQU4gaG9laGVyZW4gTG9obiBiZWtvbW10IHVuZCBkYW5uCmFsbGVzIHZvbiAKc2VpbmVtIExvaG4gYWJnZXpvZ2VuIHdpcmQuIFVuZCBkYXMgc2luZCBtZWluIGljaCBzZWhyIGFlaG5saWNoZSBHcnVlbmRlLCB3aWUKZGllamVuaWdlbiwgZGllIGRhenUgZnVlaHJlbiBkYXMgbmljaHQgZGVyIEFHIGFsbGUgU296aWFsbGVpc3R1bmdlbiBhdWZicmluZ2VuCm11c3MsIGRhZnVlciBhYmVyIGRlbSBBTiB3ZW5pZ2VyIHphaGxlbiBicmF1Y2h0IQoKRmxpbnQsIHJvdGUgTmVsa2VuIGhlcmF1c3N1Y2hlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4gKE5pY29sYWksICAyLiBPa3QgMjAwMiwgMTg6MzY6MzQpOgpUYWNoLAoKQW0gRnJlaXRhZyBkZW4gMjguIE5vdmVtYmVyIHZlcmFuc3RhbHRldApkaWUgSG9jaHNjaHVsZSBmdWVyIE11c2lrIEthcmxzcnVoZSBiencKZGFzIEluc3RpdHV0IGZ1ZXIgTXVzaWtUaGVhdGVyIGVpbmVuIApLb256ZXJ0YWJlbmQuIChBYiAxOS4zMCBpbSBNYXJzdGFsbCBhbQpTY2hsb3NzKS4KV2VubiB3ZXIgdm9yaGF0IGRhIGhpbnp1Z2VoZW4sIGtvZW5udGUKbWljaCBrb250YWt0aWVyZW4sIGRhbm4ga29lbm50ZSBtYW4gZGF2b3IgCmJ6dyBkYW5hY2ggbm9jaCB3YXMgbWFjaGVuLiBCaXNzbCB3YXMgZnV0dGVybiwgClN0YWR0IGFua3Vja2VuLCBpcmdlbmR3YXMuCgoqcnVoaWcgdmVyc2NoaWViZW4sIGZhbGxzIGRlciBBcnRpa2VsIGluCiprdWx0dXIsIHRyZWZmZW4sIHN1Y2hlK2JpZXRlIGJlc3NlciBhdWZnZWhvYmVuIGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC4gKFZlY3RvciwgIDQuIE9rdCAyMDAyLCAwMjowNDoyMik6Cn4jISBybj1OaWNvbGFpIHJ0PTEwMzM1NzY1OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDMzNTc2NTk0Ci4uLnZpZWxsZWljaHQgbXVzcyBpY2ggbm9jaCBlcndhZWhuZW4sIGRhc3MgdW50ZXIKZGVuIHNhZW5nZXJpbm5lbiBUYXJqYSBUdXJ1bmVuIHp1IGZpbmRlbiBpc3QgLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2luZGVyLVRlc3QgKEdsb2luc29uLCAxNS4gT2t0IDIwMDIsIDE0OjU0OjIyKToKfiMhIHJuPUFudGhlYSBydD0xMDM0Njg1NTI1IHJnPXdpdHplCn4jISB0aWQ9MTAzNDY4NTUyNQpBcHJvcG9zIEtpbmRlcjoKIEluIEZlcm5zZWhwcm9kdWt0aW9uZW4gaGFiZW4gbWFuY2hlIEtpbmRlciBpbWFnaW5hZXJlIEZyZXVuZGUuIERhcyBrYW5uCiBpY2ggaXJnZW5kd2llIG5pY2h0IG5hY2h2b2xsemllaGVuLCBpY2ggaGF0dGUgaW0gS2luZGVyYWx0ZXIgZ2VudWcgbWl0CiBlY2h0ZW4gRnJldW5kZW4genUgdHVuIGFscyBkYXNzIGljaCBtaXIgd2VsY2hlIGF1c2RlbmtlbiBtdXNzdGUgKGphamEsCiBkaWUga2luZGVycmVpY2hlIEREUiBlYmVuKS4KRnJhZ2U6IFdlciB2b24gRXVjaCBoYXQgc2ljaCBhdWNoIHNvIGVpbmVuIFBoYW50YXNpZS1GcmV1bmQgenVnZWxlZ3Q/CihBbnR3b3J0ZW4gaW4gZGllc2VyIFJ1YnJpayB3ZXJkZW4gTVBBLXZlcnRyYXVsaWNoIGJlaGFuZGVsdCA7KSApCgpJY2ggd2FlcmUgYXVjaCBtaXQgUG9pbnRlcm4gYXVmIHdpc3NlbnNjaGFmdGxpY2hlIEFyYmVpdGVuIGRhenUgenVmcmllZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGVyIG1nMi5tdWQuZGUgIChDcml0dGVyLCAyNi4gT2t0IDIwMDIsIDAwOjQ2OjQxKToKZGVyIGxhZXVmdCBuaW1tZXIuLi4Ka2FubiBzaWNoIGRhcyBtYWwgYml0dGUgamVtYW5kIChIYXRlKSBhbmd1Y2tlbi4KCmRhbmtlIGNyaXR0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmVyIFRpcCBhbSBSYW5kZS4uLiAoWm9vaywgIDcuIE5vdiAyMDAyLCAxMzo1MTozMSk6CkhhbGxvIHp1c2FtbWVuLAoKZXMga29tbXQgaW1tZXIgbWFsIHZvciwgZGFzcyBTcGllbGVyIGlociBQYXNzd29ydCB2ZXJnZXNzZW4uIEluIGRlbSBGYWxsCndpcmQgbWFuIGFscyBFTSsgaGFldWZpZyB2b24gZWluZW0gR2FzdCBhbmdlc3Byb2NoZW4sIG9iIG1hbiBkYXMgUGFzc3dvcnQKenVydWVja3NldHplbiBrYW5uLiBEaWVzIHNldHp0IGlyZ2VuZHdpZSB2b3JhdXMsIGRhc3MgbWFuIHBydWVmZW4ga2FubiwKb2Igc2ljaCBoaW50ZXIgZGVtIEdhc3QgdGF0c2FlY2hsaWNoIGRlciBTcGllbGVyIHZlcmJpcmd0LiBEaWVzZSAKUHJ1ZWZ1bmcgd2lyZCB3ZXNlbnRsaWNoIHZlcmVpbmZhY2h0LCB3ZW5uIElociBlaW5lIFJMLUVtYWlsLUFkcmVzc2UKKG1pdCBkZW0gQmVmZWhsICJlbWFpbCIpIGhpbnRlcmxlZ3QgaGFidC4gCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFzbW9kaXM/IChCYW1idWxrbywgMTkuIE5vdiAyMDAyLCAxNToxOTowNSk6CldlaXNzIGVpZ2VudGxpY2ggamVtYW5kIHdhcyBhdXMgQXNtb2RpcyBnZXdvcmRlbiBpc3Q/CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXJoYXVzd2V0dGJld2VyYiAoUmFnbmFyb2VrLCAxOS4gTm92IDIwMDIsIDE5OjM1OjM2KToKCkxpZWJlIFNlaGVyZ2VtZWluZGUsCgpkaWUgQW5tZWxkdW5nc3BoYXNlIGdlaHQgaW4gZGllIFppZWxnZXJhZGUuIEhpZXJtaXQgcnVmZSAKaWNoIGRpZSBsZXR6dGVuIEludGVyZXNzaWVydGVuIGF1ZiwgaWhyIEhhdXMgenVtIGdyb3NzZW4KU2VoZXJoYXVzd2V0dGJld2VyYiAgYW56dW1lbGRlbiEgRGllIEFubWVsZGVmcmlzdCAgZW5kZXQgCnp1bSAwMS4xMi4gLSBlcyBzaW5kIGFsc28gbmljaHRtYWwgbWVociB6d2VpIFdvY2hlbiwgZGllCkV1Y2ggYmxlaWJlbiwgdW0gRXVyZSBIdWV0dGUgc3RhcnRrbGFyIHp1IG1hY2hlbiEgOm8pCgpJbnp3aXNjaGVuIGhhYmVuIGJlcmVpdHMgMTQgU2VoZXIgaWhyZSBIYWV1c2VyIGFuZ2VtZWxkZXQgCi0gZXMgZ2lidCBhbHNvIG5vY2ggZ3V0ZSBDaGFuY2VuICBhdWYgZWluZW4gZGVyIGJlZ2VocnRlbiAKUHJlaXNlIChWb3JzY2hsYWVnZSBzaW5kIHVlYnJpZ2VucyBub2NoIGltbWVyIHdpbGxrb21tZW4pClNvIGJsZWlidCBtaXIgbmljaHRzLCBhbHMgZGVyIEp1cnkgdW5kIGRlbiAgV2V0dHN0cmVpdGVybgp2aWVsICBTcGFzcyB1bmQgIEVyZm9sZyAgenUgd3VlbnNjaGVuICB1bmQgbWljaCAgYXVmICBkaWUgCm5haGVuZGUgU2llZ2VyZWhydW5nIGluIGRlciBlcnN0ZW4gSmFudWFyd29jaGUgenUgZnJldWVuLgoKOnJhZ25hOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFzbW9kaXM/IChLZXksIDIwLiBOb3YgMjAwMiwgMTQ6MDI6MDQpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTAzNzcxNTU0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMzc3MTU1NDUKV2VyIHdlaXNzIHNjaG9uIHdhcyB2b24gQXNtb2Rpcz8gOikKU293ZWl0IGljaCBtaWNoIGVyaW5uZXJlLCBnYWJzIGRhbWFscyBBbmRldXR1bmdlbiwgZGFzcyBlciBmZXJ0aWcgaXN0IG1pdApTdHVkaWVyZW4gdW5kIHNpY2ggZWluZSBKb2Igc3VjaHQgLi4uCgpLYW5ucyBhYmVyIG5hY2ggZGVyIFplaXQgbmljaHQgZ2FyYW50aWVyZW4gOikKCkN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFzbW9kaXM/IChaYXJuaXlhLCAyMC4gTm92IDIwMDIsIDE1OjI4OjU0KToKfiMhIHJuPUtleSBydD0xMDM3Nzk3MzI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzNzcxNTU0NQp3YXIgZGFzIG5pY2h0IGVpbiBTa3JpcHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBc21vZGlzPyAoQmFtYnVsa28sIDIwLiBOb3YgMjAwMiwgMTY6NTk6MDgpOgp+IyEgcm49WmFybml5YSBydD0xMDM3ODAyNTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAzNzcxNTU0NQpFaGVyIGVpbmUgU2NyaXB0LUFybWVlLi4uLi4gOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsZWluZXIgVGlwIGFtIFJhbmRlLi4uIChQaGF0ZSwgMjYuIE5vdiAyMDAyLCAwMDo0Njo1MCk6Cn4jISBybj1ab29rIHJ0PTEwMzY2NzM0OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDM2NjczNDkxCmhhbGxvIAoKbWVpbnQgZGVyIGV0d2EgbWljaCBoZWhlICpraWNoZXJraWNoZXIqCm5hamEgaXN0IGhhbHQgcGFzc2llcnQhIAoKUGhhdGUgZW50c2NodWxkaWd0IHNpY2ggaW4gYWxsZXMgaGVycmdvdHRzZnJ1ZWgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhZXRhZXRlcmFldGFlZWVlZWVlZSAoTWFuZHJhZ29uLCAgNi4gRGV6IDIwMDIsIDE3OjM2OjA0KToKCkxpZWJlIFZvcmdlc2V0enRlLGxpZWJlIEtvbGxlZ2VuLAp1bmQgbmljaHQgenVsZXR6dAogICBMaWViZSBLdW5kZW4hCgpJY2ggZnJldWUgbWljaCBoZXV0ZSBnYW56IGJlc29uZGVycywgZGVuIEFuc2NobHVzcyBtZWluZXMgendlaXRlbiBXZXJrZXMKYmVrYW5udGdlYmVuIHp1IGR1ZXJmZW46IGRlcyBQcm9qZWt0YnJldHRlcy4KClNlbGJpZ2VzIHN0ZWh0IGluIGRlciBBYmVudGV1cmVyZ2lsZGUgdW5kIGVudGhhZWx0IEluZm9ybWF0aW9uZW4genUKUHJvamVrdGVuLCBmdWVyIGRpZSBlaW56ZWxuZSBNYWdpZXIgendhciBJZGVlbiBoYWJlbiwgYWJlciBuaWNodCBnZW51ZyBaZWl0CmJ6dy4gZnVlciBkaWUgc2llIG5vY2ggUGFydG5lciBzdWNoZW4uCgpXZW5uIElociB2aWVsbGVpY2h0IG51ciB3ZW5pZ2UgUHJvamVrdGUgc2VodCwga2FubiBkYXMgZGFyYW4gbGllZ2VuLCBkYXNzCm51ciB3ZW5pZ2UgUHJvamVrdGUgZnVlciBTcGllbGVyIG9kZXIgU2VoZXIgZnJlaWdlZ2ViZW4gd3VyZGVuLiBJaHJlIFphaGwKc29sbHRlIGFiZXIgbm9jaCBzdGVpZ2VuLgoKTmljaHRmb3JzY2hlcm4gd3VlbnNjaGUgaWNoIHZpZWwgU3Bhc3MgYmVpbSBTdWNoZW4gZGVzIEJyZXR0ZXMsIEZvcnNjaGVybgpzY2hvbiBlaW5tYWwgdmllbCBTcGFzcyBiZWltIGxlc2VuIHVuZCBNYWdpZXJuLCBkYXNzIHNpZSB2aWVsIFJlc29uYW56IGF1ZgppaHJlIEVpbnRyYWVnZSBlcmhhbHRlbiAoenVtaW5kZXN0IG1laHIgYWxzIEFyayA7LSkpCgpNYW5kcmFnb24KClAuUy46Ck1hZ2llciBrb2VubmVuIHNpY2ggZWluIFByb2pla3R0b29sIChvYmovdG9vbHMvcHJvamVrdHRvb2wpIGNsb25lbixkYXMKc293b2hsIGVpbiB0cmFnYmFyZXMgQnJldHQgaXN0LCBlcyBhYmVyIHp1ZGVtIGVybW9lZ2xpY2h0LCBQcm9qZWt0ZSBhbnMKQnJldHQgenUgaGFlbmdlbi4KClAuUC5TLjoKVmllbGVuIERhbmsgYW4gVHdpbmdpIGZ1ZXIgZGllIElkZWUsIGVpbiBzb2xjaGVzIEJyZXR0IHp1IHByb2dyYW1taWVyZW4sCmFuIFRpYW1hayBmdWVyIGRpZSBCZXRyZXV1bmcgaW4gZGVyIEFuZmFuZ3NwaGFzZSwgYW4gWm9vayBmdWVycyBUZXN0ZW4KdW5kIEFibmVobWVuIHVuZCBhbiBUaWxseSB1bmQgSHVtbmkgZnVlcnMgQW5zY2hsaWVzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpaG5hY2h0ZW4gKEdyaW1tYm9ybiwgMjAuIERleiAyMDAyLCAxNTo1MzoxOSk6CkphLCBXZWlobmFjaHRlbiBuYWh0LCB1bmQgZGEgd2lyZCBlcywgd2llIGFsbGUgSmFocmUsIFplaXQgZnVlciBkaWUKV2VpaG5hY2h0c2dlc2NoaWNodGUuIAoKCkVpbmUga2xlaW5lIEdlc2NoaWNodGUgenVyIFdlaWhuYWNodAoKRGllIGFjaHRqYWVocmlnZSBWaXJnaW5pYSBPJ0hhbmxvbiBhdXMgTmV3IFlvcmsgd29sbHRlIGVzIGdhbnogZ2VuYXUgd2lzc2VuLiAKRGFydW0gc2NocmllYiBzaWUgYW4gZGllIFRhZ2VzemVpdHVuZyAiU3VuIiBlaW5lbiBCcmllZjoKCiJJY2ggYmluIGFjaHQgSmFocmUgYWx0LiBFaW5pZ2Ugdm9uIG1laW5lbiBGcmV1bmRlbiBzYWdlbiwgZXMgZ2lidCBrZWluZW4KV2VpaG5hY2h0c21hbm4uIFBhcGEgc2FndCwgd2FzIGluIGRlciAnU3VuJyBzdGVodCBpc3QgaW1tZXIgd2Foci4gQml0dGUgc2FnZW4KU2llIG1pcjogR2lidCBlcyBlaW5lbiBXZWlobmFjaHRzbWFubj8gLSBWaXJnaW5pYSBPJ0hhbmxvbiIKCkRpZSBTYWNoZSB3YXIgZGVtIENoZWZyZWRha3RldXIgRnJhbmNpcyBQLiBDaHVyY2ggc28gd2ljaHRpZywgZGFzcyBlciBzZWxiZXIKYW50d29ydGV0ZSAtIGF1ZiBkZXIgVGl0ZWxzZWl0ZSBkZXIgIlN1biI6CgoiVmlyZ2luaWEsCkRlaW5lIGtsZWluZW4gRnJldW5kZSBoYWJlbiBuaWNodCByZWNodC4gU2llIGdsYXViZW4gbnVyLCB3YXMgc2llIHNlaGVuOyBzaWUKZ2xhdWJlbiwgZGFzcyBlcyBuaWNodCBnZWJlbiBrYW5uLCB3YXMgc2llIG1pdCBpaHJlbSBrbGVpbmVuIEdlaXN0IG5pY2h0CmVyZmFzc2VuIGtvZW5uZW4uIEFsbGVyIE1lbnNjaGVuZ2Vpc3QgaXN0IGtsZWluOyBvYiBlciBudW4gZWluZW0gRXJ3YWNoc2VuZW4Kb2RlciBlaW5lbSBLaW5kIGdlaG9lcnQuIEltIFdlbHRhbGwgdmVybGllcnQgZXIgc2ljaCB3aWUgZWluIHdpbnppZ2VzIEluc2VrdC4KU29sY2hlciBBbWVpc2VudmVyc3RhbmQgcmVpY2h0IG5pY2h0IGF1cywgZGllIGdhbnplIFdhaHJoZWl0IHp1IGVyZmFzc2VuIHVuZAp6dSBiZWdyZWlmZW4uCkphLCBWaXJnaW5pYSwgZXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gRXMgZ2lidCBpaG4gc28gZ2V3aXNzIHdpZSBMaWViZQp1bmQgR3Jvc3NoZXJ6aWdrZWl0IHVuZCBUcmV1ZS4gV2VpbCBlcyBhbGwgZGFzIGdpYnQsIGthbm4gdW5zZXIgTGViZW4gc2Nob2VuCnVuZCBoZWl0ZXIgc2Vpbi4gV2llIGR1bmtlbCB3YWVyZSBkaWUgV2VsdCwgd2VubiBlcyBrZWluZW4gV2VpaG5hY2h0c21hbm4KZ2FlYmUhIEVzIGdhZWJlIGRhbm4gYXVjaCBrZWluZSBWaXJnaW5pYSwga2VpbmVuIEdsYXViZW4sIGtlaW5lIFBvZXNpZSAtIGdhcgpuaWNodHMsIHdhcyBkYXMgTGViZW4gZXJzdCBlcnRyYWVnbGljaCBtYWNodGUuIEVpbiBGbGFja2VycmVzdCBhbiBzaWNodGJhcmVtClNjaG9lbmVuIGJsaWViZSB1ZWJyaWcuIEFiZXIgZGFzIExpY2h0IGRlciBLaW5kaGVpdCwgZGFzIGRpZSBXZWx0IGF1c3N0cmFobHQsCm11ZXNzdGUgdmVybG9lc2NoZW4uCkVzIGdpYnQgZWluZW4gV2VpaG5hY2h0c21hbm4uIFNvbnN0IGtvZW5udGVzdCBEdSBhdWNoIGRlbiBNYWVyY2hlbiBuaWNodApnbGF1YmVuLiBHZXdpc3MsIER1IGtvZW5udGVzdCBEZWluZW4gUGFwYSBiaXR0ZW4sIGVyIHNvbGxlIGFtIEhlaWxpZ2VuIEFiZW5kCkxldXRlIGF1c3NjaGlja2VuLCBkZW4gV2VpaG5hY2h0c21hbm4genUgZmFuZ2VuLiBVbmQga2VpbmVyIGJla2FlbWUgaWhuIHp1Ckdlc2ljaHQgLSB3YXMgd3VlcmRlIGRhcyBiZXdlaXNlbj8gS2VpbiBNZW5zY2ggc2llaHQgaWhuIGVpbmZhY2ggc28uIERhcwpiZXdlaXN0IGdhciBuaWNodHMuIERpZSB3aWNodGlnZW4gRGluZ2UgYmxlaWJlbiBtZWlzdGVucyB1bnNpY2h0YmFyLiBEaWUKRWxmZW4sIHp1bSBCZWlzcGllbCwgd2VubiBzaWUgYXVmIE1vbmR3aWVzZW4gdGFuemVuLiBUcm90emRlbSBnaWJ0IGVzIHNpZS4gQWxsCmRpZSBXdW5kZXIgenUgZGVua2VuIC0gZ2VzY2h3ZWlnZSBkZW5uIHNpZSB6dSBzZWhlbiwgZGFzIHZlcm1hZyBuaWNodCBkZXIKS2x1ZWdzdGUgYXVmIGRlciBXZWx0LiBXYXMgRHUgYXVjaCBzaWVoc3QsIER1IHNpZWhzdCBuaWUgYWxsZXMuCkR1IGthbm5zdCBlaW4gS2FsZWlkb3Nrb3AgYXVmYnJlY2hlbiB1bmQgbmFjaCBkZW4gc2Nob2VuZW4gRmFyYmZpZ3VyZW4gc3VjaGVuLgpEdSB3aXJzdCBlaW5pZ2UgYnVudGUgU2NoZXJiZW4gZmluZGVuLCBuaWNodHMgd2VpdGVyLiBXYXJ1bT8gV2VpbCBlcyBlaW5lbgpTY2hsZWllciBnaWJ0LCBkZXIgZGllIHdhaHJlIFdlbHQgdmVyaHVlbGx0LCBlaW5lbiBTY2hsZWllciwgZGVuIG5pY2h0IGVpbm1hbAphbGxlIEdld2FsdCBhdWYgZGVyIFdlbHQgemVycmVpc3NlbiBrYW5uLiBOdXIgR2xhdWJlIHVuZCBQb2VzaWUgdW5kIExpZWJlCmtvZW5uZW4gaWhuIGx1ZWZ0ZW4uIERhbm4gd2lyZCBkaWUgU2Nob2VuaGVpdCB1bmQgSGVycmxpY2hrZWl0IGRhaGludGVyIGF1ZgplaW5tYWwgenUgZXJrZW5uZW4gc2Vpbi4gCidJc3QgZGFzIGRlbm4gYXVjaCB3YWhyPycga2FubnN0IER1IGZyYWdlbi4gVmlyZ2luaWEsIG5pY2h0cyBhdWYgZGVyIGdhbnplbgpXZWx0IGlzdCB3YWhyZXIgdW5kIG5pY2h0cyBiZXN0YWVuZGlnZXIuIERlciBXZWlobmFjaHRzbWFubiBsZWJ0LCB1bmQgZXdpZwp3aXJkIGVyIGxlYmVuLiBTb2dhciBpbiB6ZWhubWFsIHplaG50YXVzZW5kIEphaHJlbiB3aXJkIGVyIGRhIHNlaW4sIHVtIEtpbmRlcgp3aWUgRGljaCB1bmQgamVkZXMgb2ZmZW5lIEhlcnogbWl0IEZyZXVkZSB6dSBlcmZ1ZWxsZW4uIEZyb2hlIFdlaWhuYWNodCwKVmlyZ2luaWEuCkRlaW4gRnJhbmNpcyBQLiBDaHVyY2giCgooRGVyIEJyaWVmd2VjaHNlbCB6d2lzY2hlbiBWaXJnaW5pYSBPJ0hhbmxvbiB1bmQgRnJhbmNpcyBQLiBDaHVyY2ggc3RhbW10IGF1cwpkZW0gSmFociAxODk3LiBFciB3dXJkZSB1ZWJlciBlaW4gaGFsYmVzIEphaHJodW5kZXJ0IGJpcyB6dXIgRWluc3RlbGx1bmcgZGVyCiJTdW4iIGltIEphaHJlIDE5NTAgYWxsZSBKYWhyZSB3aWVkZXIgenVyIFdlaWhuYWNodHN6ZWl0IGF1ZiBkZXIgZXJzdGVuIFNlaXRlCmRlciBaZWl0dW5nIGFiZ2VkcnVja3QuKQoKCkljaCB3dWVuc2NoZSBhbGxlbiBlaW4gZnJvaGVzIHVuZCBnZXNlZ25ldGVzIFdlaWhuYWNodHNmZXN0IQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0ZW4gKFRoYXJnb3IsIDIwLiBEZXogMjAwMiwgMTY6MTk6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDAzOTU5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwMzk1OTk5Ci4uIGljaCBnbGF1YmUgaWNoIG11c3MgZGVuIEJlZ3JpZmYgQXRoZWlzdCBub2NoIG1hbCBpbSBGcmVtZHdvZXJ0ZXJsZXhpa29uCm5hY2hzY2hsYWdlbi4KClRoYXJnb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRlbiAoQ2F0d2VhemxlLCAyMC4gRGV6IDIwMDIsIDE2OjI5OjU5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQwMzk1OTk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0MDM5NTk5OQp3dXJkZSBhYmVyIGF1Y2ggWmVpdCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWlobmFjaHRlbiAoQm9pbmcsIDIwLiBEZXogMjAwMiwgMTY6MzA6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNDAzOTgxOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwMzk1OTk5CkpvLCBrYW0gc3BhZXQgZGllc2VzIEphaHIgLi4uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0ZW4gKFBob2JvcywgMjEuIERleiAyMDAyLCAxNTozOTo1Nik6Cn4jISBybj1UaGFyZ29yIHJ0PTEwNDAzOTc1ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwMzk1OTk5CldvYmVpIGRlciBXZWlobmFjaHRzbWFubiBuaWNodCBzb29vb29vbyB2aWVsIG1pdCBkZW0gZWlnZW50bGljaGVuCkhpbnRlcmdydW5kIHZvbiBXZWlobmFjaHRlbiB6dSB0dW4gaGF0IDspCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlaWhuYWNodGVuIChIYXNpbSwgMjIuIERleiAyMDAyLCAyMDowODoxMSk6Cn4jISBybj1QaG9ib3MgcnQ9MTA0MDQ4MTU5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDAzOTU5OTkKSXMgZGVyIFdlaWhuYWNodHNtYW5uIG5pY2h0IGVpbmUgRXJmaW5kdW5nIHZvbiBDb2NhIENvbGE/Ckhhc2ltLCBrZWluIEthbWluLCBudXIgWmVudHJhbGhlaXp1bmcuLi4gZGEgc29sbGVyIG1hbCBrb21tZW4gIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhldXQgaGFiZSBpY2ggYWJlciB2aWVsIGdlc2NocmllYmVuIChCYW1iaSwgMjMuIERleiAyMDAyLCAyMjoyNDoyNyk6Cn4jISBvbj1CYW1iaSBvdD0xMDQwNjc4NjU1IG9nPXdpdHplCn4jISBybj1TdW5mbG93ZXIgcnQ9MTA0MDYzNjk3MyByZz13aXR6ZQp+IyEgdGlkPTEwNDA2MzY5NzMKRHUga29lbm50ZXN0IG1pciBlaW5lbiBHZWZhbGxlbiB0dW4uCgpMb2VzY2ggRGljaC4KU2NocmVpYiBrZWluZSBBcnRpa2VsIG1laHIgaW4gZGVyIE1QQS4KTGFzcyBEZWluZSBzaWduYXR1cmUgd2VnLgoKTGV0enRlcmVzIHd1ZXJkZSBtaXIgZnVlciBkZW4gQW5mYW5nIGdlbnVlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMjQuLTI2LkRlei4gKFFpdGVzcywgMjQuIERleiAyMDAyLCAxNjo0NDowNSk6CgoqRipVKkMqSyAqQypIKlIqSSpTKlQqTSpBKlMqICEKClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAyNC4tMjYuRGV6LiAoQmFtYmksIDI0LiBEZXogMjAwMiwgMTY6NDQ6MzEpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwNDA3NDQ2NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwNzQ0NjQ1CkhhdCBEaXIgZGVyIFdlaWhuYWNodHNtYW5uIG5pY2h0IGRhcyBnZWJyYWNodCwgd2FzIER1IGhhYmVuIHdvbGx0ZXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAyNC4tMjYuRGV6LiAoQ3JvZnQsIDI0LiBEZXogMjAwMiwgMTc6MDQ6MjkpOgp+IyEgcm49QmFtYmkgcnQ9MTA0MDc0NDY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDA3NDQ2NDUKRGEgZmVobGVuIGVpbmRldXRpZyBkaWUgcmljaHRpZ2VuIERyb2dlbiAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAyNC4tMjYuRGV6LiAoRmlyZWhhd2ssIDI0LiBEZXogMjAwMiwgMTk6NDU6MjMpOgp+IyEgcm49Q3JvZnQgcnQ9MTA0MDc0NTg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDA3NDQ2NDUKSWNoIHd1ZXJkZSBlaGVyIHNhZ2VuIGRhIGdhYnMgenV2aWVsIHZvbiBkZW4gcmljaHRpZyBndXRlbiBEcm9nZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDI0Li0yNi5EZXouIChCYW1iaSwgMjUuIERleiAyMDAyLCAxNDowNDozNSk6Cn4jISBybj1RaXRlc3MgcnQ9MTA0MDgxOTkxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDA3NDQ2NDUKQmlzdCBEdSBEaXIgZ2FueiBzaWNoZXIsIGRhc3MgRHUgZGFzIHNvIHN0ZWhlbiBsYXNzZW4gd2lsbHN0PyBNaXQgYWxsIGRlbgptb2VnbGljaGVuIEludGVycHJldGF0aW9uZW4sIGRpZSBtYW4gc2ljaCBkYXp1IGF1c2RlbmtlbiBrb2VubnRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMjQuLTI2LkRlei4gKFFpdGVzcywgMjUuIERleiAyMDAyLCAxNDoxMjoxMSk6Cn4jISBybj1RaXRlc3MgcnQ9MTA0MDgxOTkxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDA3NDQ2NDUKaG0sIG1hbCBzZWhuLi4uCmFiZXIgdmllbGxlaWNodCBtb2VjaHRlIGljaCBtaWNoIGphIHVlYmVyIGRpZSBpbiBkZXIgbXBhIGJyZWl0Z2V0cmV0ZW5lbgppbnRlcnByZXRhdGlvbmVuICh1bmtvbW1lbnRpZXJ0KSBhbXVlc2llcmVuPyA7LSkKUUkqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZXJuYXRpdi1BcnRpa2VsIHp1ICgxMykgKFFpdGVzcywgMjUuIERleiAyMDAyLCAxNDoxNTozNSk6CktJTEwgVEhFIFdFSUhOQUNIVFNNQUVOTkVSIQoKOykKClFJKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHRlcm5hdGl2LUFydGlrZWwgenUgKDEzKSAoTW9udGFudXMsIDI2LiBEZXogMjAwMiwgMTE6MDA6MDcpOgp+IyEgcm49UWl0ZXNzIHJ0PTEwNDA4MjIxMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwODIyMTM1CnNjaGVuayBtYWwgZW5kbGljaCBqZW1hbmQgUXVpdGVzcyBkYXMgZmVobGVuZGUgJ3UnLgpEYW5uIGthbm4gZXMgc2ljaCBhdWNoIG5pbW1lciB1ZWJlciBXZWlobmNodGVuIGJlc2Nod2VyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwcm9tcHQ/IChXaGl0ZXRpZ2VyLCAgNS4gSmFuIDIwMDMsIDA3OjIzOjUyKToKaXN0IGVzIG1vZWdsaWNoLCBpbSBtb3JnZW5ncmF1ZW4gc2VpbmVuIHByb21wdCBzZWxic3QgenUgZGVmaW5pZXJlbj8gYWxzbyBkZW4Kc3RhbmRhcmQgJz4nIChiencuICddJyBmdWVyIGVkaXRvcikgemIuIGluICctLVBST01QVC0tPicgdW16dWFlbmRlcm4/IHdlbm4gamEsCndpZSBoZWlzc3QgZGFzIGtvbW1hbmRvIGRhZnVlcj8KV2hpdGVUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHByb21wdD8gKEdyaW1tYm9ybiwgIDUuIEphbiAyMDAzLCAwODoyOTo0OSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDE3NDc4MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQxNzQ3ODMyCmhpbGZlIHByb21wdAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHByb21wdD8gKFdoaXRldGlnZXIsICA1LiBKYW4gMjAwMywgMDg6MzU6NDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDE3NTE3ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQxNzQ3ODMyCkRhenUgaXN0IGtlaW5lIEhpbGZlIHZlcmZ1ZWdiYXIuCi0tIGFiZXIgZXMga29lbm50ZSBqYSBlaW4gdW5kb2N1bWVudGVkIGZlYXR1cmUgc2Vpbiwgb2RlciBldHdhIG5pY2h0PwpXaGl0ZVRpZ2VyCioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHByb21wdD8gKEdyaW1tYm9ybiwgIDUuIEphbiAyMDAzLCAwODo0NTo1Nyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDE3NTIxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQxNzQ3ODMyCkFoLiBOZWluLCBuaWNodCB1bmRva3VtZW50aWVydC4gSWNoIGJpbiBudXIgYW0gU29ubnRhZ21vcmdlbiB6dSBtdWVkZSB1bSBhdXMKZGVtIFdvcnQgIk1BR0lFUktPTU1BTkRPIiBkaWUgcmljaHRpZ2VuIFNjaGx1ZXNzZSB6dSB6aWVoZW4uLi4KVGphLCBkYW5uIHdpcnN0IER1cyB3b2hsIHVlYmVyIGRlbiBtdWQgY2xpZW50IG1hY2hlbiBtdWVzc2VuLCBzb2xsdGUgbWljaAp3dW5kZXJuIHdlbm4gdGYgc293YXMgbmljaHQga2Fubi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZXJoYXVzd2V0dGJld2VyYjogRXJnZWJuaXMgKFJhZ25hcm9laywgIDUuIEphbiAyMDAzLCAxNTowODoyMSk6CiAgICBfX19fX19fX18gICAgICAgICBfICAgICAgICAgICAgICAgICAgICBfCiAgXy8gICBfX19fXy8gX19fX18gIC8gfF9fICAgX19fX18gICBfX18gIC8gfF9fICAgX19fXyAgIF8gICBfXyAgX19fX18KICBcX19fX19fICBcIC8gIF9fIFx8ICB8ICBcIC8gIF9fIFwgLyAgX3x8ICB8ICBcIC8gXyAgfCAvIHwgfCAgfC8gIF9fXy8gIF9fXwogICAvICAgICAgICBcXCAgX19fL3wgICBZICBcXCAgX19fL3wgIHwgIHwgICBZICBcIChfKSB8fCAgfF98ICB8XF9fXyBcICAvX19fLwogIC9fX19fX19fX18vIFxfX18gIClfX198ICAvIFxfX18gIClfX3wgIHxfX198ICAvXF9fX198IFxfX19fXy8vX19fX19fLwogICAgICAgICAgICAgICAgICBcLyAgICAgXC8gICAgICBcLyAgICAgICAgICAgXC8gICAgIAogICAgL1wgICAgICBfXyAgICAgICAgIF9fICAgX18gIC98ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvfAogICAvICBcICAgIC8gIFxfX19fXyBffCAgfF98ICB8fCB8X18gICBfX19fXyBfX18gICAgICBfX19fX19fXyAgIF9fX3wgfF9fCiAgIFwgICBcL1wvICAgLyAgX18gXFwgICAgXyAgICAvICBfX1wgLyAgX18gXFwgIFxfL1xfLyAgLyAgX18gXCAvICBffCAgX19cCiAgICBcICAgICAgICAvXCAgX19fLyB8ICB8IHwgIHx8IC9fLyB8XCAgX19fLyBcICAgICAgICAvXCAgX19fL3wgIHwgfCAvXy8gfAogICAgIFxfXy9cICAvICBcX19fICApfF9ffCB8X198fF9fX19fLyBcX19fICApIFxfXy9cICAvICBcX19fICApX198IHxfX19fLwogICAgICAgICAgXC8gICAgICAgXC8gICAgICAgICAgICAgICAgICAgICAgXC8gICAgICAgXC8gICAgICAgXC8KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PTogQVVTV0VSVFVORyA6PT0KCiAgTGllYmUgTXVkZ2VtZWluZGUsCgogIGRpZSAgRW50c2NoZWlkdW5nIGlzdCBnZWZhbGxlbiEgRGllICBiZXN0ZW4gZHJlaSAgU2VoZXJoYWV1c2VyIGltICBNRyBzaW5kIAogIGVybWl0dGVsdCB1bmQgd2VyZGVuIGVudHNwcmVjaGVuZCBIb25vcmllcnQuIERpZSBBdXN3ZXJ0dW5nIGRlciBKdXJ5IGVyZ2FiIAogIG51biBmb2xnZW5kZXMgRXJnZWJuaXM6CgoKICAgICAgIEZpcmVoYXdrICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICAgICAgIDE4JQogICAgICAgRG90eiAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgICAgICAgICAgMTclCiAgICAgICBTb3UgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMgICAgICAgICAgICAgICAgICAgICAxMCUKCgogIERpZSBhdXNnZXNjaHJpZWJlbmVuIFByZWlzZSBmdWVyIGRpZSBvLmcuIFRlaWxuZWhtZXIgc2luZCBmb2xnZW5kZToKCiAgICAgICAxLiBFaW4gU2VoZXJoYXVzLU5QQyBuYWNoIGVpZ2VuZXIgV2FobAogICAgICAgMi4gRWluZSByZWJvb3RmZXN0ZSBTZWhlcmhhdXMtRWlucmljaHR1bmcgCiAgICAgICAzLiBFaW5lbiB6dXNhZXR6bGljaGVuIFJhdW0uCgogIERlciBlcnN0ZSBQbGF0eiBkYXJmIHNpY2ggendlaSwgZGVyIHp3ZWl0ZSB1bmQgZHJpdHRlIGpld2VpbHMgZWluZW4gZGllc2VyIAogIFByZWlzZSBmdWVyIHNlaW4gU2VoZXJoYXVzIGF1c3N1Y2hlbi4gQWxsZSBhbmRlcmVuIFRlaWxuZWhtZXIgZHVlcmZlbiBzaWNoIAogIHNjaG9uICBiYWxkIHVlYmVyIGVpbmUgIGVjaHRlIFNjaHdhcnp3YWVsZGVyIEt1Y2t1Y2tzdWhyIGluICBpaHJlbSBEb21pemlsIAogIGZyZXVlbiwgZGllIGlobmVuIGdlc2NobWFja3ZvbGwgIHp1IGplZGVyIHZvbGxlbiAgU3R1bmRlIGRpZSBrb3JyZWt0ZSBaZWl0IAogIGFua3VlbmRpZ2VuIHdpcmQuIDpvKQoKCiAgQWxsZSBpbnRlcmVzc2llcnRlbiBTcGllbGVyIHNlaWVuICBhdWNoIGFuZ2VoYWx0ZW4sIGRpZSAgc2llZ3JlaWNoZW4gV2Vya2UgCiAgZWlubWFsIG5hZWhlciB6dSBiZXRyYWNodGVuLCBlcyBsb2hudCBzaWNoISBEaWUgcHJhZW1pZXJ0ZW4gSGF1c2VyIHplaWd0ZW4gCiAgZWluZSBWaWVsZmFsdCBhbiBXaXR6LCBLcmVhdGl2aXRhZXQgdW5kICBFaW5mYWxsc3JlaWNodHVtLCBkaWUgc28gIG1hbmNoZW4gCiAgTWFnaWVyIGhpZXIgZXJibGFzc2VuIGxpZXNzZS4gVmllbGxlaWNodCBrb2VubnRlbiBkaWUgZW50c3ByLiBIYXVzYmVzaXR6ZXIgCiAgZGllIFR1ZXJlbiBmdWVyIEJlc2ljaHRpZ3VuZ2VuIGphIG5vY2ggZWluZSBXZWlsZSBnZW9lZmZuZXQgbGFzc2VuLi4uIDspCgoKICBJY2ggZGFua2UgYWxsZW4gdGVpbG5laG1lbmRlbiBTZWhlcm4gZnVlciBpaHJlIEFyYmVpdCB1bmQgIGRpZSBBdXNzdGVsbHVuZyAKICBpaHJlcyBIZWltZXMsIGJlc29uZGVycyBkZXIgSnVyeSwgZGllIHZpZWwgWmVpdCB1bmQgTXVlaGUgYXVmYnJhY2h0ZSwgc2ljaCAKICBhbGxlIDE2IEhhZXVzZXIgYW56dXNlaGVuIHVuZCBpaHIgVXJ0ZWlsIGFienVnZWJlbiwgVHdpbmdpIGZ1ZXIgZGllIHN0ZWxsLSAKICB2ZXJ0cmV0ZW5kZSBMZWl0dW5nIGRlcyBnYW56ZW4gV2V0dGJld2VyYnMgdW5kIFpvb2ssIGRlciBkZW0gIGdhbnplbiBXZXR0LQogIGJld2VyYiBiZXJhdGVuZCB6dXIgU2VpdGUgc3RhbmQgdW5kIGF1Y2ggUHJlaXN2b3JzY2hsYWVnZSBlaW5nZXJlaWNodGUuCgogIEljaCBob2ZmZSwgZGFzcyB2aWVsZSBTcGllbGVyIHVuZCBTZWhlciBpaHJlIEhhZXVzZXIgc28gc2Nob2VuIHVuZCBwYXNzZW5kCiAgZWlucmljaHRlbiAgd2VyZGVuLCB3aWUgIHVuc2VyZSBUZWlsbmVobWVyLCB1bmQgZGFzcyBpcmdlbmR3YW5uIHZpZWxsZWljaHQgCiAgd2llZGVyIGVpbiBXZXR0YmV3ZXJiIHN0YXR0ZmluZGVuIHdpcmQuCgogIEluIGRpZXNlbSBTaW5uZSwKICA6cmFnbmE6CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVyaGF1c3dldHRiZXdlcmI6IEVyZ2VibmlzIChCb2luZywgIDUuIEphbiAyMDAzLCAxNToxNDoyNCk6Cn4jISBybj1SYWduYXJvZWsgcnQ9MTA0MTc3NTcwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDE3NzU3MDEKR2x1ZWNrd3Vuc2NoISBTY2hpZWJ0IGRlbiBTaWVnZXJuIGRvY2ggbWFsIHVuYXVmZmFlbGxpZyBlaW5lbiBNYWdpZXJ2ZXJ0cmFnCnVudGVyIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlaGVyaGF1c3dldHRiZXdlcmI6IEVyZ2VibmlzIChGbGF1cm9zLCAgNS4gSmFuIDIwMDMsIDE1OjE3OjI0KToKfiMhIHJuPUJvaW5nIHJ0PTEwNDE3NzYwNjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQxNzc1NzAxCkhhYmVuIGRpZSBuaWNodCBzY2hvbiB3ZWxjaGU/IDspCkF1Y2ggdm9uIG1pciBHbHVlY2t3dWVuc2NoZSBhbiBhbGxlIDMuCgpGbGF1c2NoaSAtIHdpbGwgd2lzc2VuLCB3YXMgZGllIGpld2VpbHMgZ2V6YWhsdCBoYWJlbi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJoYXVzd2V0dGJld2VyYjogRXJnZWJuaXMgKFNvdSwgIDUuIEphbiAyMDAzLCAxNToxODoxNCk6Cn4jISBybj1Cb2luZyBydD0xMDQxNzc2MDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0MTc3NTcwMQpEYW5rZSwgaGFldHRlIG5pY2h0IGdlZGFjaHQsIGRhc3MgaWNoIGRlbiBkcml0dGVuIFBsYXR6IG1hY2ggOikKVW5kIEJvaW5nLCBmaW5nZXIgU2VsZXZlbiA7KQoKU291IGZyZXV0IHNpY2ggdGllcmlzY2ggdWViZXIgZWluIEF1dG9sb2FkLVNjaHJhbmsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwcm9tcHQ/IChWYXJkaW9uLCAgNS4gSmFuIDIwMDMsIDIzOjIxOjI0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MTc1MjE0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDE3NDc4MzIKSW0gTVVEIGdlaHRzIG5pY2h0LCBhYmVyIGluIFRGIGdlaHRzIHNlaHIgbGVpY2h0IHVlYmVyIG5lbiBQcm9tcHQtSG9vay4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlaWhuYWNodGVuIChaYXJuaXlhLCAgNi4gSmFuIDIwMDMsIDA3OjM1OjU4KToKfiMhIHJuPUhhc2ltIHJ0PTEwNDA1ODQwOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQwMzk1OTk5CkR1IGhhc3QgZGVuIEZpbG0gIlNhbnRhIENsYXVzZSIgbmljaHQgZ2VzZWhlbi4uLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlcyBOZXVlcyEgKFpvb2ssICA2LiBKYW4gMjAwMywgMTY6MDU6NDkpOgpIYWxsbyB6dXNhbW1lbiwgbGVpZGVyIGlzdCBkaWUgZGllc2phZWhyaWdlIFNpbHZlc3RlcmFuc3ByYWNoZSBkZXMgCk11ZGdvdHRzIHNraXVybGF1YmJlZGluZ3QgYXVzZ2VmYWxsZW4sIGRhaGVyIGhpZXIgZWluIGtsZWluZSBOYWNodHJhZzoKCkljaCBob2ZmZSwgRXVjaCBpc3QgZWluIGd1dGVyIFN0YXJ0IGlucyBuZXVlIEphaHIgZ2VnbHVlY2t0LiBJY2ggd3VlbnNjaGUKRXVjaCBmdWVyIDIwMDMgYWxsZXMgR3V0ZSB1bmQgdmllbCBTcGFzcyB1bmQgRXJmb2xnIGltICJyZWFsIGxpZmUiIHVuZCAKbmF0dWVybGljaCBoaWVyIGltIE1vcmdlbkdyYXVlbiEgOi0pCgpab29rCi0tCiJWb3JzYXR6ZSBzaW5kIHdpZSBTY2hlY2tzIGF1ZiBlaW4gS29udG8gZWluZXIgQmFuaywgZGllIG5pY2h0IGV4aXN0aWVydC4iCiAgT3NjYXIgV2lsZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsdWVoZW5kZSBMYW5kc2NoYWZ0ZW4gKEdyaW1tYm9ybiwgMTYuIEphbiAyMDAzLCAyMDo1OToxNik6CkRpZSBibHVlaGVuZGVuIExhbmRzY2hhZnRlbiBpbiBEdW5rZWxkZV5XTGVpcHppZyBoYWJlbiBGcnVlY2h0ZSBnZXRyYWdlbiwgZWluZQpvZmZlbmJhciBuaWNodCBnYW56IHVuaW50ZXJlc3NhbnRlIEFyYmVpdCB6dW0gVGhlbWEgTVVEcyAoaWNoIGhhYiBzaWUgbnVyCnVlYmVyZmxvZ2VuIGJpc2hlcik6Cmh0dHA6Ly93d3cudW5pLWxlaXB6aWcuZGUvfm11ZC8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJsdWVoZW5kZSBMYW5kc2NoYWZ0ZW4gKEhvYm8sIDE2LiBKYW4gMjAwMywgMjE6MTk6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDI3NDcxNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQyNzQ3MTU2Ckthbm4gbWFuIHNpY2ggZGEgd28gYmVzY2h3ZXJlbj8gQW4gZWluZXIgU3RlbGxlIHNjaHJlaWJ0IGVyIHdvaGwgaXJydHVlbWxpY2gKdm9uIFd1bmRlcmxhbmQgc3RhdHQgdm9uIHVuc2VyZW0gZ3V0ZW4sIGFsdGVuIE1HLgoKICAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9ydGhvZ3JhcGhpZS1GbHVjaCAoQnJld2VyLCAyNy4gSmFuIDIwMDMsIDIxOjM1OjUwKToKV2llIGthbm4gaWNoIGRlbiBPcnRob2dyYXBoaWUtRmx1Y2ggYW53ZW5kZW4/IFdlbm4gaWNoICd2ZXJmbHVjaGUgcGVyc29uPgp2ZXJzdWNoZSwgZGFubiBkZW5rdCBkZXIgemF1YmVyc3RhYiBpY2ggd2lsbCB1ZWJlciBpaG4gamVtYW5kZW4gdmVyZmx1Y2hlbi4KVW5kIHNvbWl0IGtvbW10IGRpZSBNZWxkdW5nOiAiRHUgaGFzdCBuaWNodCBkaWUgTWFjaHQuIi4gV2llIGthbm4gbWFuIGRlbgp6YXViZXJzdGFiIGRhIHVtZ2VoZW4gdW5kIGplbWFuZGVuIHZlcmZsdWNoZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVwc2UgZnVlciBNaW5pUXVlc3RzPyAoV2hpdGV0aWdlciwgMzEuIEphbiAyMDAzLCAxOTo1NToyNik6CkJla29tbWUgaWNoIGZ1ZXIgTWluaVF1ZXN0cywgZGllIGdsZWljaHplaXRpZyBHaWxkZW5xdWVzdHMgc2luZCwgZGllIFN0dXBzZSwKd2VubiBpY2ggc2llIGFscyBHaWxkZW5xdWVzdCBnZWxvZXN0IGhhYj8KQmVpc3BpZWw6IFphdWJpIGJlZnJlaXQgZGVuIEdlZmFuZ2VuZW4gZGVyIE9ya3MuIEhhdCBlciBudW4gZGllIFN0dXBzZSAoZmFsbAplcyB3ZWxjaGUgZ2lidCk/Ci0tIFdoaXRlVGlnZXIsIG5ldWdpZXJpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdHVwc2UgZnVlciBNaW5pUXVlc3RzPyAoWm9vaywgMzEuIEphbiAyMDAzLCAxOTo1Nzo0Myk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDQwMzkzMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ0MDM5MzI2CkRpZSBTdHVwc2UgZnVlciBNaW5pUXVlc3RzIGVyaGFlbHQgbWFuIHVuYWJoYWVuZ2lnIGRhdm9uLCBvYiBkYXMgenVzYWV0emxpY2gKYXVjaCBlaW5lIEdpbGRlbmF1ZmdhYmUgaXN0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3R1cHNlIGZ1ZXIgTWluaVF1ZXN0cz8gKFdoaXRldGlnZXIsIDMxLiBKYW4gMjAwMywgMTk6NTc6NTEpOgp+IyEgcm49Wm9vayBydD0xMDQ0MDM5NDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NDAzOTMyNgpEYW5rZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQVJSUkdHR0dISEhISFNTUyAoQ2FkcmFjaCwgMTIuIEZlYiAyMDAzLCAxMzozNTo1OSk6Cldhbm4gaW1tZXIgaWNoIGF1Y2ggZXR3YXMgYW5kZXJlcyBiZWhhdXB0ZXQgaGFiZW4gbWFnLCBXaW5kb3dzIGlzdCB3aXJrbGljaApkYXMgYWxsZXJsZXR6dGUgdW5kIGluIFplaXRlbiBkZXIgTmV3IEVjb25vbXkgd29obCB6dW0gVGVpbCB2b24gYW5nZWxlcm50ZW4KSGlsZnNrcmFldGVuIGVudHdpY2tlbHQgd29yZGVuIQpJY2ggdmVyendlaWZlbCBoaWVyIGFuIG5lbSBtZW1vcnkgbGVhayB1bmQgd28gbGllZ3RzPyBBbSBzdHJ1Y3R1cmVkIHN0b3JhZ2UKdm9uIG1pY3Jvc2Nocm90dC4gRXMgZ2lidCBzY2hsaWNodHdlZyBfa2VpbmVybGVpXyBNZXRob2RlIGRhcyBvaG5lIG1lbW9yeWxlYWtzCnp1IG51dHplbiAoZnVlciBMYWllbjogRGEgYmF1dCB6dW0gQmVpc3BpZWwgZGllIGdlc2FtdGUgcmVnaXN0cnkgZHJhdWYgYXVmKS4KClNvbGx0ZSBqZW1hbmQgZ3V0ZSBhbHRlcm5hdGl2ZW4gd2lzc2VuIChuZWluIG5pY2ggT1MsIHNvbmRlcm4genVtIHN0cnVjdHVyZWQKc3RvcmFnZSkgd2FlcmUgaWNoIGZ1ZXIgSGlud2Vpc2UgZGFua2Jhci4KCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQVJSUkdHR0dISEhISFNTUyAoT3JrdG9ldGVyLCAxMi4gRmViIDIwMDMsIDE0OjAyOjAwKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTA0NTA1MzM1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDUwNTMzNTkKTmljaHQgZGllIFN5bXRvbWUgYmVrYWVtcGZlbiwgc29uZGVybiBkaWUgVXJzYWNoZSEgPT4gRG9jaCBlaW4gYW5kZXJlcyBPUwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQVJSUkdHR0dISEhISFNTUyAoSG91c2Vob2xkZXIsIDEyLiBGZWIgMjAwMywgMTQ6MjQ6MjgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDUwNTQ5MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ1MDUzMzU5CnVtIGFuZGVyZSB1cnNhY2hlbiB6dSBmaW5kZW4gPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJyaWVmIChOb25uZSwgMTIuIEZlYiAyMDAzLCAxNDo0MTo1NCk6Cn4jISBybj1NaWEgcnQ9MTA0NTA1NzE3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDUwNTcxNzQKV2FocnNjaGVpbmxpY2ggZ2xhdWJ0IG1pciBpbW1lciBub2NoIGtlaW5lciwgZGFzcyBtYW4gJ3NjaHJlaWJlJyBkdXJjaAondmVyb2VmZmVudGxpY2hlJyBlcnNldHplbiBzb2xsdGUsIG9kZXI/CgpOb25uZSwgc2V1ZnplbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJyaWVmIChGb29iYXIsIDEyLiBGZWIgMjAwMywgMTY6MzM6NDApOgp+IyEgcm49Tm9ubmUgcnQ9MTA0NTA1NzMxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDUwNTcxNzQKTWFuIHNvbGx0ZSBlaW5lIE1pbmlxdWVzdCBkYXJhdXMgbWFjaGVuLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJyaWVmIChBbHBoYSwgMTMuIEZlYiAyMDAzLCAwMjoxMDoyNyk6Cn4jISBybj1Ob25uZSBydD0xMDQ1MDU3MzE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NTA1NzE3NApJbSBTTCBuZW5udCBzaWNoIGRpZSBTeW50YXggInNjaHJlaWJlIGFydGlrZWwgW3RpdGVsXSIKRmluZCBpY2ggZ2FueiBwYXNzZW5kIC0gc2VpdCBkZXIgRWluZnVlaHJ1bmcgaGF0IGVzIGtlaW4gZmVobGdlcG9zdGV0ZW4KQXJ0aWtlbCBtZWhyIGdlZ2ViZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVua25vd24gRmVhdHVyZXMsIEZvbGdlIDM5MSAoV2hpdGV0aWdlciwgMjQuIEZlYiAyMDAzLCAxOTozMjowNik6CkZ1ZXIgZGllLCBkZXJlbiBNUEEtUG9zdHMgaW1tZXIgbWl0ICdrb2tvcm8ncywgJ2trd2VyJ3MsIGV0Yy4genVnZW11ZWxsdCBzaW5kOgpXZW5uIG1hbiB2b3IgZGVtIGVpZ2VudGxpY2hlbiBLb21tYW5kbyBlaW4gJyEnIGVpbnRpcHB0IChhbHNvIHouQi4gJyFrb2tvcm8nKQp3aXJkIGRhcyBzbyBhdXNnZWZ1ZWhydCwgYWxzIG9iIG1hbiBuaWNodCBpbSBFZGl0b3Igd2FlcmUuCkRpZXMga2xhcHB0IGRlZmluaXRpdiBmdWVyIE1QQSwgTWFpbCB1bmQgUGxhbiwgZXZ0bC4gYXVjaCBmdWVyIGFuZGVyZSBTYWNoZW4sCmRpZSBkZW4gRWQgbnV0emVuLgpFcyBkdWVyZnRlIG5pY2h0IHNlaHIgdmllbCBBdWZ3YW5kIHNlaW4sIHp1IHRlc3Rlbiwgb2IgbWFuIHNpY2ggZ3JhZGUgaW0gRWRpdC0Kb2RlciBOb3JtYWwtTW9kdXMgYmVmaW5kZXQgdW5kIGRlbWVudHNwcmVjaGVuZCBpbiBzZWluZW4gVHJpZ2dlcm4gdm9ybmUgZWluCichJyBhbnp1ZnVlZ2VuLi4uCi0tIFdoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW5rbm93biBGZWF0dXJlcywgRm9sZ2UgMzkxIChKb3NodWEsIDI0LiBGZWIgMjAwMywgMTk6MzM6MTApOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQ2MTExNTI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjExMTUyNgpub2NoIHZpZWwgYmVzc2VyIC0gc3BpZWx0IGdhciBrZWluZSByb2xsZSB3byBtYW4gaXN0LiBlaW5mYWNoIHVlYmVyYWxsIG5lbiAhCnZvcm5lIHJhbm1hY2hlbiA6KQoKam9zaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmtub3duIEZlYXR1cmVzLCBGb2xnZSAzOTEgKFdoaXRldGlnZXIsIDI0LiBGZWIgMjAwMywgMTk6MzM6NDYpOgp+IyEgcm49Sm9zaHVhIHJ0PTEwNDYxMTE1OTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ2MTExNTI2Ck9rYXkuLi4gR3JhZGUgdm9uIHVlYmVyemV1Z3QuIE5vY2ggdmllZWVlbCBlaW5mYWNoZXIgOikKLS0gV2hpdGVUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmtub3duIEZlYXR1cmVzLCBGb2xnZSAzOTEgKEFzdWthLCAyNC4gRmViIDIwMDMsIDE5OjM0OjEwKToKfiMhIHJuPUpvc2h1YSBydD0xMDQ2MTExNTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjExMTUyNgpVbmQgb2IgZGFzIGVpbiB1bmtub3duIGZlYXR1cmUgaXN0LCBuYWphLCBzdGVodCBqYSBpbW1lcmhpbiBrbGFyIHVuZApkZXV0bGljaCBpbiAnaGlsZmUgZWRpdG9yJy4KCkFzdWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVbmtub3duIEZlYXR1cmVzLCBGb2xnZSAzOTEgKFdoaXRldGlnZXIsIDI0LiBGZWIgMjAwMywgMTk6MzQ6MzgpOgp+IyEgcm49QXN1a2EgcnQ9MTA0NjExMTY1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxMTE1MjYKSmFqYS4uLiBBYmVyIGVzIGlzIG1pciBkb2NoIGFidW5kenUgdW50ZXJnZWtvbW1lbi4uLiBVbmQgZXMgbGVzZW4gamEgbmljaHQKYWxsZSBkaWUgJ2hpbGZlJy4gOikKCi0tIFdoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmtub3duIEZlYXR1cmVzLCBGb2xnZSAzOTEgKERlZXBibHVlLCAyNC4gRmViIDIwMDMsIDIzOjMwOjEyKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0NjExMTUyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxMTE1MjYKRGEgbXVlc3N0ZSBtYW4gZGllIGZyZW1kZW4gU2NyaXB0ZSwgZGllIGRhcyBlcnpldWdlbiwgZXJzdG1hbCBhbnNjaGF1ZW4gdW5kCm1vZWdsaWNoc3QgYXVjaCB2ZXJzdGVoZW4uIERhcyBzZWggaWNoIHNvIGFscyBQcm9ibGVtLgp1ZWJlIHNjaHJlaWJlIGFydGlrZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJcyBqYSBzY2hvbiBpcmdlbmR3aWUgaW50ZXJlc3NhbnQuLi4gKEhpc2FzdWwsIDI1LiBGZWIgMjAwMywgMTc6NTI6MTQpOgp+IyEgcm49TGFyaXNpZWxsZSBydD0xMDQ2MTkxNjkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjE5MTY5MAogYmVpIG1pciBzYWggZGFzIGFuZGVycyBhdXM6Cgpmb2t1cyB6b29rCkR1IGhvZXJzdCBkZW4gQXJlbmFzcHJlY2hlciBydWZlbiA6IApERVIgS0FNUEYgSU4gREVSIEFSRU5BIEJFR0lOTlQhIE1PRUdFIERFUiBTVEFFUktFUkUgR0VXSU5ORU4hCkR1IHNjaGxhZWdzdCBab29rIG1pdCBkZW0gS3JhY2hlbiBicmVjaGVuZGVyIEtub2NoZW4uCj4gICBab29rIGdyZWlmdCBEaWNoIHZlcnd1bmRlcnQgYW4uCiAgWm9vayB2ZXJmZWhsdCBEaWNoLgogIER1IHRyaWZmc3QgWm9vayBzZWhyIGhhcnQuCiAgRHUgdHJpZmZzdCBab29rIGhhcnQuClpvb2sgc3RlaHQgYXVmIGRlciBTY2h3ZWxsZSBkZXMgVG9kZXMuICggMTAlKQpEdSB0cmlmZnN0IFpvb2sgc2VociBoYXJ0LgpEdSB0cmlmZnN0IFpvb2sgc2VociBoYXJ0LgpEdSB6ZXJzY2htZXR0ZXJzdCBab29rcyBpbiBrbGVpbmUgU3R1ZWNrY2hlbi4KRHUgdHJpZmZzdCBab29rIHNlaHIgaGFydC4KRHUgdHJpZmZzdCBab29rIHNlaHIgaGFydC4KPiBEdSBzY2hsYWVnc3QgWm9vayBmaWVzIG1pdCBkZW0gU2FldXJlc3BlZXIuCiAgRHUgc2NobGFlZ3N0IFpvb2sgenUgQnJlaS4KPiBab29rIHN1Y2h0IGV0d2FzIGluIHNlaW5lciBUYXNjaGUuIERhISBFciBpc3Qgd29obCBmdWVuZGlnIGdld29yZGVuLgpab29rIHN1Y2h0IGV0d2FzIGluIHNlaW5lciBUYXNjaGUuIERhISBFciBpc3Qgd29obCBmdWVuZGlnIGdld29yZGVuLgogIFpvb2sgZ3JlaWZ0IERpY2ggbWl0IGRlbSBIb2x6c3RhYiBhbi4KICBab29rIHZlcmZlaGx0IERpY2guCiAgRHUgemVyc2NobWV0dGVyc3QgWm9vayBpbiBrbGVpbmUgU3R1ZWNrY2hlbi4KICBEdSB0cmlmZnN0IFpvb2sgaGFydC4KICBEdSB0cmlmZnN0IFpvb2sgc2VociBoYXJ0LgogIFpvb2sgdmVybmljaHRldCBEaWNoLgoKCiAtIG5vY2ggRnJhZ2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElzIGphIHNjaG9uIGlyZ2VuZHdpZSBpbnRlcmVzc2FudC4uLiAoWm9vaywgMjUuIEZlYiAyMDAzLCAxNzo1MzozMCk6Cn4jISBybj1IaXNhc3VsIHJ0PTEwNDYxOTE5MzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ2MTkxNjkwCkludGVyZXNzYW50LCB3YXMgRHUgc28gYWxsZXMgcmF1c2dhZ2dzdCwgYmVpIG1pciB3YXIgZGEgZGV1dGxpY2ggbWVociBTY3JvbGwKOykpKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElzIGphIHNjaG9uIGlyZ2VuZHdpZSBpbnRlcmVzc2FudC4uLiAoSGlzYXN1bCwgMjUuIEZlYiAyMDAzLCAxNzo1NToxMCk6Cn4jISBybj1ab29rIHJ0PTEwNDYxOTIwMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ2MTkxNjkwCmljaCBzY2hhZXR6IG1hbCBjYSBkYXMgRG9wcGVsdGUgOykKQWJlciBiZXZvciBIZXJpYmVydCBGYXNzYmVuZGVyIGltIE1HIEVpbnp1ZyBlcmhhZWx0IGJlaGFsdGVuIHdpciBsaWViZXIgZGVuCmd1dGVuIGFsdGVuICh0cm90emRlbSBmaXRlcmVuKSBBcmVuYXNwcmVjaGVyIDspCgpIaXMgc3Bhc3NlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkdWVsbCBnZWdlbiByZWRtYW4gYW4gKEdoYXp1dWwsICAzLiBNYXIgMjAwMywgMTY6MDg6NDkpOgpXZWdlbiBnb3R0ZXNsYWVzdGVybGljaGVyIFdvcnRlIGF1cyBkZW0gTXVuZGUgUmVkbWFucyBoYWJlIGljaCBkaWUgaGVpbGlnZQpQZmxpY2h0Li5ibGFibGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcmFuZm9yZGVydW5nZW4gKE1vbnRhbnVzLCAxMS4gTWFyIDIwMDMsIDAxOjU5OjAxKToKfiMhIHJuPVpvb2sgcnQ9MTA0NjE4NzA3NCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTA0NjE4NzA3NApEYSBpY2ggaW4gYmVrYW5udG1hY2h1bmdlbiBuaWNodCB3aWRlcnNwcmVjaGVuIGthbm46Cgpab29rIG1laW50IHNpY2hlcmxpY2ggKDYgRlBzID0gMSBBUCksIGRhIGljaCBuaWNodCBnbGF1YmUsIGRhc3MgZXMgNm1hbApzb3ZpZWxlIEFQcyB3aWUgRlBzIGdpYnQuClRyb3R6ZGVtIGlzdCBlcyBuZSB1bmZlaW5lIFNhY2hlLCBBbHRzcGllbGVybiB1bmQgVXJhbHRzcGllbGVybiBkaWUKU2VoZXJ3ZXJkdW5nIHVubW9lZ2xpY2hlciB6dSBtYWNoZW4uIEJ1dXV1dXV1aCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJhbmZvcmRlcnVuZ2VuIChWYW5pb24sIDExLiBNYXIgMjAwMywgMDc6NTc6NDApOgp+IyEgcm49TW9udGFudXMgcnQ9MTA0NzM0NDM0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxODcwNzQKSWNoIHN0ZWxsIGVpbmZhY2ggbWFsIGRpZSBUaGVzZSBhdWYsIGRhc3MgamVkZXIsIGRlciBlcyBzZWl0ICc5NiBuaWNodApnZXNjaGFmZnQgaGF0LCBtaXQgZGVtIGFsdGVuIFN5c3RlbSBTZWhlciB6dSB3ZXJkZW4sIGVoIGtlaW5lbiBzb25kZXJsaWNoCmdyb3NzZW4gV2VydCBkYXJhdWYgbGVndC4gU2VsYnN0IGljaCBoYWIgZGFzIGlubmVyaGFsYiB2b24gMiBKYWhyZW4gZ2VzY2hhZmZ0LgpNaXQgZGFtYWxzIG5vY2ggMTkwMCBBUCBvZGVyIHNvLgoKR2VsZWdlbnRsaWNoIG11c3MgbWFuIHNpY2ggZGllIEZyYWdlIGdlZmFsbGVubGFzc2VuLCB3aWUgbGFuZ2UgZWluZQpJbnRlcmltc3BoYXNlIHVuZCBkaWUgUnVlY2tzaWNodCBhdWYgZWluZSByZWNodCBrbGVpbmUgU2NoYWFyIFNwaWVsZXIgZGFzClN5c3RlbSBhbSBXZWl0ZXJlbnR3aWNrZWxuIGhpbmRlcm4gZGFyZi4KClNvLCBpY2ggZ2VoIGpldHp0IHp1ciBBcmJlaXQgdW5kIGxlcyBtaXIgaGV1dCBhYmVuZCBkZW4gVGhyZWFkIHp1IGRpZXNlbQpBcnRpa2VsIGR1cmNoLgoKVioKClBTOiBNb250YW51cywgaWNoIGhvZmYgaWNoIHNjaG9jayBEaWNoIG5pY2h0LCBhYmVyIE0kIGhhdCBkZW4gU3VwcG9ydCBmdWVyCiAgICBET1MgNi4xIGVpbmdlc3RlbGx0LiBCdXV1dXV1dWghCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWhlcmFuZm9yZGVydW5nZW4gKE1vbnRhbnVzLCAxMS4gTWFyIDIwMDMsIDA4OjA2OjQ2KToKfiMhIHJuPVZhbmlvbiBydD0xMDQ3MzY1ODYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjE4NzA3NApWYW5pb24sIHdlciBmcmVpd2lsbGlnIEJldHJpZWJzc3lzdGVtZSB2b24gTSQgdmVyd2VuZGV0LCBpc3Qgc2VsYmVyIHNjaHVsZC4KVW5kIGRhcyBtaXQgZGVyIEJlc2l0enN0YW5kd2FocnVuZywgZGFzIGlzdCBzY2hvbiB3YXMuIEVyc3Qgd2VyZGVuIGFsbGUKZmVobGVuZGVuIFphdWJlcnRyYWVua2UgbmV1IGF1c2dld3VlcmZlbHQsIHVuZCBldHdhaWdlIGRvcHBlbHRlIHZlcnNjaHdpbmRlbi4KU2F1ZXJlaS4gVW5kIGRhbm4gYXVjaCBub2NoIEFQcy4gRGFzIGhhZXR0cyBmcnVlaGVyIG5pY2h0IGdlZ2ViZW4uIDstKQoKKFNvIGFscyBUaXA6IGljaCB3b2xsdGUgbnVyIGF1ZiBkZW4gUmVjaGVuZmVobGVyIGF1Zm1lcmtzYW0gbWFjaGVuLiBEZXIgUmVzdAppc3QgbWlyIHNvIGVnYWwgd2llIGRlciBNZW5zYXBsYW4gdm9uIE1hcmJ1cmcuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VoZXJhbmZvcmRlcnVuZ2VuIChUcmljaywgMTEuIE1hciAyMDAzLCAwODoxMzozMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDQ3MzY2NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjE4NzA3NAppbiBtYXJidXJnIGdpYnRzIGhldXRlIG51ZGVsYXVmbGF1ZiBhbHMgdGFnZXNnZXJpY2h0LAphbHRlcm5hdGl2IGthbm4gbWFuIHdhZWhsZW4gendpc2NoZW4gZ2VmdWVsbHRlbiBwYXByaWthc2Nob3RlbiwKU2Nod2Fyend1cnplbC1NZWRhaWxsb24gdW5kIHBhbi4gaGFlaG5jaGVuYnJ1c3RmaWxldCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNlaGVyYW5mb3JkZXJ1bmdlbiAoTm9ubmUsIDExLiBNYXIgMjAwMywgMDk6MDU6MTQpOgp+IyEgcm49VHJpY2sgcnQ9MTA0NzM2NjgxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxODcwNzQKRGFiZWkgZmFlbGx0IG1pciBlaW5lIEZyYWdlIGVpbiwgZGllIG1pciBzY2hvbiBsYW5nZSBhdWYgZGVyIFNlZWxlIGJyZW5udDogV2FzCmhhYmVuIFJlaWJla3VjaGVuIG1pdCBCbHVtZW5rb2hsIHp1IHR1bj8gSW1tZXIgd2VubiBlcyBpbiBkZXIgTWVuc2EgRG9ydG11bmQKUmVpYmVrdWNoZW4gZ2lidCwgZ2lidCBlcyB6dSBkZW4gYW5kZXJlbiBHZXJpY2h0ZW4gYWxzIEJlaWxhZ2UgQmx1bWVua29obC4KSW1tZXIuIE9obmUgQXVzbmFobWUuIFdlbm4gaWNoIHp1IGRlbiBSZWliZWt1Y2hlbiBub2NoIGVpbmUgR2VtdWVzZWJlaWxhZ2UKbW9lY2h0ZSwgc3RlaGUgaWNoIGplZGVzbWFsIHZvciBkaWVzZW4gVG9lcGZjaGVuIG1pdCBCbHVtZW5rb2hsIHVuZCBrb2VubnRlCmtvdHplbiwgZXMgZ2lidCBhYmVyIG5peCBhbmRlcmVzLiBOdXIgQmx1bWVua29obC4gQmFoLgoKTm9ubmUsIHZlcnp3ZWlmZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2VoZXJhbmZvcmRlcnVuZ2VuIChIdW1uaSwgMTEuIE1hciAyMDAzLCAwOTowNjoxNik6Cn4jISBybj1Ob25uZSBydD0xMDQ3MzY5OTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NjE4NzA3NApJY2ggd29sbHRlIG1hbCBlaW4gTmV1cm9uYWxlcyBOZXR6IHByb2dyYW1taWVyZW4sIGRhcyBkZW4gTmFjaHNjaGxhZyBkZXIgTWVuc2EKRnJlaWJ1cmcgYW5oYW5kIGRlcyBNZW5zYXBsYW5lcyB6dSBwcm9nbm9zdGl6aWVyZW4gdmVybWFnLiBMZWlkZXIgaGF0dGUgaWNoCm5vY2gga2VpbmUgWmVpdCwgaXJnZW5kd2FubiBtYWNoIGljaCBkYXMgYmVzdGltbXQgbm9jaC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTZWhlcmFuZm9yZGVydW5nZW4gKFpvb2ssIDExLiBNYXIgMjAwMywgMTE6MzQ6MzUpOgp+IyEgcm49VHJpY2sgcnQ9MTA0NzM2NjgxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxODcwNzQKRGFzIHN0aW1tdCBhdWZmYWxsZW5kLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZXJhbmZvcmRlcnVuZ2VuIChab29rLCAxMS4gTWFyIDIwMDMsIDExOjM4OjI4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNDczNDQzNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ2MTg3MDc0CkRpZSBaYWhsIGRlciBGUHMgdW5kIEFQcyBpc3QgZnVlciBkaWUgVW1yZWNodW5nc2Zvcm1lbCB2b2VsbGlnIHVudGludGVyZXNzYW50LgoKRXMgZ2lsdCBmdWVyIGRlbiBBdXNnbGVpY2ggdm9uIEZQIHp1IEFQIGJlaSBkZW4gU2VoZXJhbmZvcmRlcnVuZ2VuIGRhcwpnbGVpY2hlIFZlcmhhZWx0bmlzLCB3YXMgaW50ZXJuIGF1Y2ggZnVlciBkaWUgVW1yZWNobnVuZyB2b24gRlAgdW5kCkFQIGluIFN0dWZlbnB1bmt0ZSBnZXdhZWhsdCB3aXJkOgoKIDEgQVAgPSAxIFN0dWZlbnB1bmt0CiAxIEZQID0gNiBTdHVmZW5wdW5rdGUgCgpXZW5uIG1hbiBkYXMgZWluIHdlbmlnIHVtc3RlbGx0LCBrb21tZSBpY2ggYXVmIDEgRlAgPSA2IEFQLgoKV28gaXN0IG51biBtZWluIFJlY2hlbmZlaGxlcj8KClpvb2sga3JhdHp0IHNpY2ggZWluIHdlbmlnIGFtIEtvcHAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWhlcmFuZm9yZGVydW5nZW4gKENyb2Z0LCAxMS4gTWFyIDIwMDMsIDExOjQ0OjA1KToKfiMhIHJuPVpvb2sgcnQ9MTA0NzM3OTEwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDYxODcwNzQKS2VpbiBSZWNoZW5mZWhsZXIuICBBYmVyIHdlbm4gaWNoIGRhcyBzbyB1ZWJlcnNjaGxhZ2Uga2FubiBtYW4gMjAlCndlbmlnZXIgRlAgZHVyY2ggY2EuIDEwJSBtZWhyIEFQIGF1c2dsZWljaGVuLiAgVW5kIGRhcyAiTWlzc3ZlcmhhZWx0bmlzIgppc3Qgd29obCBnZW1laW50LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbHR3ZWl0ZSBMaWNodGVya2V0dGUgYW0gU29ubnRhZywgZGVuIDE2LjMgdW0gMTkgVWhyIChLYWRhYnJhLCAxNS4gTWFyIDIwMDMsIDAyOjM5OjM1KToKQW0gU29ubnRhZyBkZW4gMTYuMy4yMDAzIHVtIDE5IFVociBzb2xsZW4gd2VsdHdlaXQgRnJpZWRlbnNkZW1vbnN0cmF0aW9uZW4KbWl0IExpY2h0ZXJrZXR0ZW4gc3RhdHRmaW5kZW4uIFdlciBpbnRlcmVzc2llcnQgaXN0IG9iIGF1Y2ggaW4gCnNlaW5lci9paHJlciBTdGFkdCBlaW5lIEtldHRlIGdlcGxhbnQgaXN0IGthbm4gc2ljaCBhdWYKIGh0dHA6Ly93d3cubW92ZW9uLm9yZy92aWdpbC8KZGFydWViZXIgaW5mb3JtaWVyZW4uIAoKa2FkYWJyYQptZWludCwgZXMgaXN0IGJlc3NlciBlaW5lIEtlcnplIGFuenV6dWVuZGVuLCBhbHMgdWViZXIgZGllIER1bmtlbGhlaXQgenUKamFtbWVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWx0d2VpdGUgTGljaHRlcmtldHRlIGFtIFNvbm50YWcsIGRlbiAxNi4zIHVtIDE5IFVociAoRGVtb25heiwgMTUuIE1hciAyMDAzLCAwMzo1MDoxOSk6Cn4jISBybj1LYWRhYnJhIHJ0PTEwNDc2OTIzNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ3NjkyMzc1CgpVbmQgd28gYmxlaWJ0IGRpZSBEZW1vICJQcm8gS3JpZWchIj8KCktyaWVnc3RyZWliZW5kCkRlbW9uYXoKLkEuIGx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWx0d2VpdGUgTGljaHRlcmtldHRlIGFtIFNvbm50YWcsIGRlbiAxNi4zIHVtIDE5IFVociAoQWxwaGEsIDE1LiBNYXIgMjAwMywgMjM6Mzk6NTkpOgp+IyEgcm49RGVtb25heiBydD0xMDQ3Njk2NjE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0NzY5MjM3NQpEaWUgS3JpZWdzYmVmdWVyd29ydGVyIHdpc3NlbiwgZGFzcyBzaWUga2VpbmUgRGVtbyBtYWNoZW4gYnJhdWNoZW4sIHdlaWwgZGVyCktyaWVnIGphIHNvd2llc28ga29tbXQgLSBkYSBicmF1Y2hlbiBkaWUgZGFubiBuaWNodCBpbiBkZXIgS2FlbHRlIHJ1bXN0ZWhlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgdm9uL25hY2ggYXVzc2VuLi4uIChab29rLCAxOS4gTWFyIDIwMDMsIDA5OjEyOjQ5KToKLi4uIHNjaGVpbnQgZGVyemVpdCBpcmdlbmR3aWUgbmljaHQgenUgZnVuemVuLiBXaXIgYXJiZWl0ZW4gYW4gZWluZXIKTG9lc3VuZy4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFpbCB2b24vbmFjaCBhdXNzZW4uLi4gKFpvb2ssIDE5LiBNYXIgMjAwMywgMDk6MTM6NTUpOgp+IyEgcm49Wm9vayBydD0xMDQ4MDYxNTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0ODA2MTU2OQpIbW1tLi4uIGljaCBrb3JyaWdpZXJlOiBFcyBmdW5rdGlvbmllcnQgbWFuY2htYWwgdW5kIGRhbm4gYXVjaCBuaWNodApyaWNodGlnLgoKWm9vayBhcmdsdCBlaW4gd2VuaWcgdm9yIHNpY2ggaGluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWlsIHZvbi9uYWNoIGF1c3Nlbi4uLiAoQmFtYmksIDE5LiBNYXIgMjAwMywgMTE6MDk6MzMpOgp+IyEgcm49Wm9vayBydD0xMDQ4MDYxNjM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0ODA2MTU2OQpEZXIgWnVzdGFuZCwgZGVuIER1IGluIEFydGlrZWwgMTcgYmVzY2hyaWViZW4gaGFzdCwgaG9lcnQgc2ljaCBuYWNoCklkZWFsbG9lc3VuZyBhbi4gV2FzIHdpbGxzdCBEdSBkYXJhbiBncm9zcyBhZW5kZXJuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFpbCB2b24vbmFjaCBhdXNzZW4uLi4gKEdvciwgMjMuIE1hciAyMDAzLCAxNToxNTozMyk6Cn4jISBybj1CYW1iaSBydD0xMDQ4MDY4NTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0ODA2MTU2OQpCZWkgc29sY2hlbiBQb3N0cyBmYWVsbHQgbWlyIHNwb250YW4gd2llZGVyIGVpbiwgZGFzcyBlcyBoaWVyIGtlaW5lCkdlc2ljaHRza29udHJvbGxlIGdpYnQuLi4uLi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1haWwgdm9uL25hY2ggYXVzc2VuLi4uIChSb2NodXMsIDIzLiBNYXIgMjAwMywgMjM6MDA6MDMpOgp+IyEgcm49R29yIHJ0PTEwNDg0Mjg5MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDQ4MDYxNTY5ClNlaSBmcm9oIGRydWViZXIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWlsIHZvbi9uYWNoIGF1c3Nlbi4uLiAoR29yLCAyNy4gTWFyIDIwMDMsIDIzOjA5OjQyKToKfiMhIHJuPVJvY2h1cyBydD0xMDQ4NDU2ODAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0ODA2MTU2OQpJY2ggZ2xhdWJlLCBsaWViZXIgUm9jaHVzLCB3aXIgcmVkZW4gYW5laW5hbmRlciB2b3JiZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogW2t3ZXIgaW4gYmVdIChHcmltbWJvcm4sICAyLiBBcHIgMjAwMywgMDA6MzY6MTApOgp+IyEgcm49R2FzdDEgcnQ9MTA0OTIzNjUyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY1MjcKPGdlYmV0c211ZWhsZT4KS2VpbmUgQXJ0aWtlbCB2b24gR2Flc3RlbiBpbiBkZXIgbXBhLCBzaWx3dXBsYWV0Lgo8L2dlYmV0c211ZWhsZT4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsc28gbm9jaCBlaW5tYWwuLi4uIChHcmltbWJvcm4sICAyLiBBcHIgMjAwMywgMDA6NDU6NDcpOgp+IyEgcm49R2FzdDEgcnQ9MTA0OTIzNjg5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY4OTcKPiBQUzogR3JpbW1ib3JuLCB3ZW5uIFBvc3RpbmdzIHZvbiBHYWVzdGVuIGluIGRlciBNUEEgdm9uIG9mZml6aWVsbGVyIFNlaXRlCj4gdW5lcnd1ZW5zY2h0IHdhZXJlbiwgZGFubiB3YWVyIGRpZSBPcHRpb24gKHdpZSBiZWltIE1ldHplbG4pIGF1c2dlYmF1dC4KCkF1Y2ggZGllc2UgRGlza3Vzc2lvbiBpc3Qgc2Nob24gbGFlbmdzdCBnZWxhdWZlbi4gQXJ0aWtlbCB2b24gR2Flc3RlbiB3ZXJkZW4KZ2Vsb2VzY2h0LiBTbyBpc3QgZGFzLiBEdSBtdXNzdCBkYXMgbmljaHQgZ3V0IGZpbmRlbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWxzbyBub2NoIGVpbm1hbC4uLi4gKFdpbGxvdywgIDIuIEFwciAyMDAzLCAwMDo0NjozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0OTIzNzE0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY4OTcKbmEsIGlzdCBzY2hvZW4sIGRhc3Mgd2lyIERpY2ggaGFiZW4gR3JpbW1pIC0gd3VlcmQgc2ljaCBqYSBzb25zdCBrZWluZSBTb2NrZQpkcnVtIGt1ZW1tZXJuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbHNvIG5vY2ggZWlubWFsLi4uLiAoR3JpbW1ib3JuLCAgMi4gQXByIDIwMDMsIDAwOjUwOjU0KToKfiMhIHJuPVdpbGxvdyBydD0xMDQ5MjM3MTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0OTIzNjg5NwpTbyBoYXQgamVkZXIgc2VpbmUgZWlnZW5lIE1ldGhvZGUsIE1hY2h0IGF1c3p1dWViZW4gdW5kIGRhcyBTZWxic3R3ZXJ0Z2VmdWVobAp6dSBiZXN0YWV0aWdlbi9zdGVpZ2VybiwgamEuIEtvbW10IGpldHp0IG5vY2ggZGVyICJOZXRjb3AiPyBJbW1lcmhpbiBiaWV0ZSBpY2gKamEgYXVjaCBrb25zZXF1ZW50ZSBHcm9zcy0gdW5kIEtsZWluc2NocmVpYnVuZyBhbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHNvIG5vY2ggZWlubWFsLi4uLiAoVHJ1ZywgIDMuIEFwciAyMDAzLCAyMDo0ODozNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0OTIzNzE0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY4OTcKUmVpY2h0cyBkZW5uIG5pY2h0IGVpbmZhY2gsIGRpZSBNUEEgZW50c3ByZWNoZW5kIHp1IGFlbmRlcm4sIGRhc3Mgc2llIGRhcwplaW5mYWNoIHRlY2huaXNjaCB1bnRlcmJpbmRldD8KClRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsc28gbm9jaCBlaW5tYWwuLi4uIChBaGFiLCAgMy4gQXByIDIwMDMsIDIwOjUwOjQxKToKfiMhIHJuPVRydWcgcnQ9MTA0OTM5NTcxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY4OTcKTmFjaCBkZW0sIHdhcyBMb2NvIGF1ZiBkZXIgUGFydHkgaW4gTVMgZXJ6YWVobHQgaGF0LCBrb2VubnRlIGljaCBtaXIKdm9yc3RlbGxlbiwgZGFzcyBkZXJ6ZWl0IF9uaWVtYW5kXyBkZW4gTVBBLUNvZGUgd2lya2xpY2ggYW5mYXNzZW4KbW9lY2h0ZS4uLiA7KQoKQWhhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsc28gbm9jaCBlaW5tYWwuLi4uIChNYW5kcmFnb24sICAzLiBBcHIgMjAwMywgMjM6MTE6MzYpOgp+IyEgcm49QWhhYiBydD0xMDQ5Mzk1ODQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA0OTIzNjg5NwpIYWxiIHNvIHdpbGQgLi4uCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFsc28gbm9jaCBlaW5tYWwuLi4uIChNb250YW51cywgIDQuIEFwciAyMDAzLCAwMzo1NDoxMik6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTA0OTQwNDI5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNDkyMzY4OTcKSmFqYSwga29tbXQgYWxsZXMuIERpcmVrdCBuYWNoIGRlbSBMaWNodHN5c3RlbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZWxsaGFsZGVuIGRpZSB4LnRlLi4uIChab29rLCAxNi4gQXByIDIwMDMsIDE3OjIzOjEyKToKRGEgZXMgaW1tZXIgbWFsIHdpZWRlciBOYWNoZnJhZ2VuIGdpYnQsIGhpZXIgZWluIGtsZWluZXIgUmVtaW5kZXIsIHZvbiAKVGlhbWFrIHZvbSAyMDAxLTEwLTA4OgoKLXNuaXAtClZvciBlaW4gcGFhciBNb25hdGVuIGhhYmUgaWNoIGVpbmVuIFZlcnN1Y2ggZ2VzdGFydGV0LiBBbnN0YXR0IGRpcmVrdCBuZXVlCkdyZW56d2VydGUgaW4gZGVyIE11ZGxpYiB6dSB2ZXJkcmFodGVuIHVuZCBzb21pdCBhbGxlIHp1IHRyZWZmZW4sIGhhYmUgaWNoIGFuCmV1cmVuIC4uLiBuYWphIC4uLiAiZ2VzdW5kZW4gTWVuc2NoZW52ZXJzdGFuZCIgYXBlbGxpZXJ0IHVuZCBnZWhvZmZ0LCBkYXNzCnVlYmVydHJpZWJlbiBncm9zc2UgTXVlbGxraXBwZW4gaW4gU2VoZXJoYWV1c2VybiBhdWNoIHNvIHZlcnNjaHdpbmRlbiB3ZXJkZW4uCgpVbSBlcyBub2NobWFsIGRldXRsaWNoIHp1IGJldG9uZW46IGRpZSBuZXR0ZW4gc3BvbnRhbmVuIExhZ3Mgendpc2NoZW4gNSB1bmQKNDAlIGtvbW1lbiB6dW0gVGVpbCBkYWhlciwgd2VpbCBoaWVyIG1hbmNoZSBTZWhlciBtZWhyZXJlIGh1bmRlcnQgT2JqZWt0ZSBpbgplaW5lbSBSYXVtIGxhZ2VybiB1bmQgZGllIGRhbm4gYmVpbSBFaW5sb2dnZW4gYXVmIGVpbmVuIFNjaGxhZyB3aWVkZXIKZWluc3dhcHBlbi4KCiguLi4pCgpQLlM6IEJpcyBkaWVzZSBmZXN0ZW4gR3Jlbnp3ZXJ0ZSBlaW5nZWJhdXQgc2luZCwgd2VyZGUgaWNoIG1pciB2b3JiZWhhbHRlbiwKICAgICBhbGx6dWdyb3NzZSBNdWVsbGtpcHBlbiAicGVyIEhhbmQiIGF1Znp1cmFldW1lbi4KCiAgICAgQWxsZXMgYmlzIDEwMCBPYmpla3RlL1JhdW0gKENvbnRhaW5lciB3aWUgUGFrZXQsIEJldXRlbCBldGMuIHphZWhsZW4gYWxzCiAgICAgZWluIE9iamVrdCkgaXN0IG9rYXkuIEVpbiBwYWFyIHplaG4gT2JqZWt0ZSBkcnVlYmVyIGludGVyZXNzaWVyZW4gbWljaAogICAgIGF1Y2ggbmljaHQuIEFiZXIgdWViZXIgMzAwIE9iamVrdGUgc2luZCBkZWZpbml0aXYgenUgdmllbC4KLXNuaXAtCgpEYXMgc3RlaHQgaGllciwgZGEgaWNoIGRhcyBlaW5mYWNoIGF1ZiBNaWV0c2hhZXVzZXIgYXVzZGVobmUgdW5kIGF1Y2gKZGllIGF1ZnJhZXVtZSwgd2VubiBCZWRhcmYgYmVzdGVodC4gOi0pCgpab29rLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtIChEZW1vbmF6LCAgNy4gTWFpIDIwMDMsIDAxOjIxOjExKToKRnJ1ZWhlciB3YXIgZGllc2UgUnVicmlrIHJhbmR2b2xsLiBHaWJ0IGVzIHdpcmtsaWNoIG5peCBhbGxnZW1laW5lcyB6dSBzYWdlbj8KRC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIbSAoQ2F0d2VhemxlLCAgNy4gTWFpIDIwMDMsIDAxOjIxOjQzKToKfiMhIHJuPURlbW9uYXogcnQ9MTA1MjI2MzI3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTIyNjMyNzEKRmFsc2NoZSBSdWJyaWsgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClppdGF0IChMaWFyYSwgMTAuIE1haSAyMDAzLCAxNjowMzozMSk6CkhhYmUgaWNoIGJlaSBkZXIgTGVrdHVlcmUgdm9uIFByYXRjaGV0dHMgJ1dhY2hlbiEgV2FjaGVuIScgZ2VmdW5kZW46CgouLi4gQWJlciBpY2ggd2VyZGUgTWVuc2NoZW4gdmVyc2NobGluZ2VuISAuLi4KRHUgaGFzdCBkaWUgVW52ZXJzY2hhZW10aGVpdCwgc2Nob2NraWVydCB6dSBzZWluLCBkYWNodGUgZGVyIFNjaHVwcGVucmllc2UuCkFiZXIgd2lyIHdhcmVuIERyYWNoZW4uIE1hbiBlcndhcnRldGUgdm9uIHVucywgZ3JhdXNhbSwgaGludGVyaGFlbHRpZywgZ2VtZWluCnVuZCBzY2hyZWNrbGljaCB6dSBzZWluLiBBYmVyIGVpbnMgd2lsbCBpY2ggZGlyIHNhZ2VuLCAuLi4gd2lyIGhhYmVuIHVucyBuaWUKZ2VnZW5zZWl0aWcgdmVyYnJhbm50LCBnZWZvbHRlcnQgdW5kIHplcnJpc3NlbiB1bmQgZGFmdWVyIG1vcmFsaXNjaC1ldGhpc2NoZQpHcnVlbmRlIGFuZ2VmdWVocnQuIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaaXRhdCAoVG9lLCAxMS4gTWFpIDIwMDMsIDEzOjE0OjQ3KToKfiMhIHJuPUxpYXJhIHJ0PTEwNTI1NzU0MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUyNTc1NDExCi4uLiBBYmVyIGljaCB3ZXJkZSBNZW5zY2hlbiBhdXNzcHVja2VuISAuLi4KSWNoIGhhYmUgZGllIERyZWlzdGlna2VpdCwgYW5kZXJlIHp1IHNjaG9ja2llcmVuLCBzYWd0ZSBpY2ggenUgbWlyIHNlbGJlci4KQWJlciB3aXIgd2FyZW4gV2Vyd29lbGZlLiBXaXIgZXJ3YXJ0ZW4gdm9uIHVucywgZWhybGljaCwgb2ZmZW4sIHNlbnNpYmVsIHVuZAptZW5zY2hsaWNoIHp1IHNlaW4uIEFiZXIgdmllbGVzIG1vZWNodGVuIHdpciB1bnMgc2FnZW4sIC4uLiB3aXIgaGFiZW4gdW5zCm5pZSBnZWdlbnNlaXRpZyBpbiBkaWUgQXVnZW4gZ2VzZWhlbiwgV2FocmhlaXRlbiBhdXNnZXNwcm9jaGVuIHVuZCBBZW5nc3RlCnp1Z2VsYXNzZW4gdW5kIGRhZnVlciBmYWRlbnNjaGVpbmlnLW9iZXJmbGFlY2hsaWNoZSBHcnVlbmRlIGFuZ2VmdWVocnQuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoZWlzc2Ugd2FzPyAoTHVnLCAxMi4gTWFpIDIwMDMsIDE0OjU0OjU2KToKRXMgaXN0IHdpZWRlciBkYS4gb2RlciBiZXNzZXI6IElDSCEKU2NobHVzcyBtaXQgbHVzdGlnIQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hlaXNzZSB3YXM/IChab29rLCAxMi4gTWFpIDIwMDMsIDE1OjM1OjEyKToKfiMhIHJuPUx1ZyBydD0xMDUyNzQ0MDk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1Mjc0NDA5NgpLb21tdCBkYXMgZmVpZ2UgTWFldXNjaGVuIHdpZWRlciBhdXMgc2VpbmVtIExvY2ggaGVyYXVzPyA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NoZWlzc2Ugd2FzPyAoVG9lLCAxMi4gTWFpIDIwMDMsIDE2OjAyOjMzKToKfiMhIHJuPVpvb2sgcnQ9MTA1Mjc0NjUxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTI3NDQwOTYKRmVpZ2Ugd2FlcmUgbmljaHQgenVydWVjayB6dSBrb21tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGVpc3NlIHdhcz8gKEx1ZywgMTMuIE1haSAyMDAzLCAxNTo0OToyOSk6Cn4jISBybj1ab29rIHJ0PTEwNTI3NDY1MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUyNzQ0MDk2Clpvb2s/CgpEYXMgImZlaWdlIE1hZXVzY2hlbiByZWlzc3QgRGlyIGRhbm4gbmFjaGhlciBkZW4gS29wcCBhYi4KCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoZWlzc2Ugd2FzPyAoQ2F0d2VhemxlLCAxMy4gTWFpIDIwMDMsIDIzOjI5OjE0KToKfiMhIHJuPUx1ZyBydD0xMDUyNzQ0MDk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1Mjc0NDA5NgpBY2ggZHUgU2NoZWlzc2UgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGVpc3NlIHdhcz8gKFpvb2ssIDE0LiBNYWkgMjAwMywgMTE6MTk6MTEpOgp+IyEgcm49THVnIHJ0PTEwNTI4MzM3Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUyNzQ0MDk2CkhtbW0uLi4gYWxzbyBpY2ggaGFiZSBtZWluZW4gS29wZiBub2NoLiA6LSkgCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NoZWlzc2Ugd2FzPyAoTHVnLCAxNC4gTWFpIDIwMDMsIDE3OjA3OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTA1MjkwMzk1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTI3NDQwOTYKRGFzIHRhZXVzY2h0Li4uCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTY2hlaXNzZSB3YXM/IChHcmltbWJvcm4sIDE0LiBNYWkgMjAwMywgMTc6MDk6MDUpOgp+IyEgcm49THVnIHJ0PTEwNTI5MjQ4NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUyNzQ0MDk2CkRpZSBrbGFzc2lzY2hlIEFudHdvcnQgZGVzIEhlbmtlcnMgbWl0IGRlbSBzY2hhcmZlbiBTY2h3ZXJ0IGlzdDogIk5pY2sgZG9jaAptYWwuIgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5zdGVybmlzc2UgKFZhbmlvbiwgMTQuIE1haSAyMDAzLCAyMzoxMDoxNyk6CkhpLCBkYW1pdCBkaWUgUnVicmlrIG1hbCBuaWNodCBzbyBsZWVyIGlzdDoKCgoxNi4wNS4gVG90YWxlIE1vbmRmaW5zdGVybmlzIHVlYmVyIERldXRzY2hsYW5kLiBEZXV0c2NobGFuZAogICAgICAgaXN0IGFscyBCZW9iYWNodHVuZ3NvcnQgbmljaHQgc28gZ2VlaWduZXQuIERpZSBTdWVkLQogICAgICAgQW1lcmlrYW5lciBoYWJlbiB2b24gZGllc2VyIEZpbnN0ZXJuaXMgbWVoci4gRGVyIE1vbmQgCiAgICAgICB3aXJkIHp1ciBaZWl0IGRlcyBWb2xsc2NoYXR0ZW5zIG51ciAxMDAgKGZhbGxlbmQpIHVlYmVyIAogICAgICAgZGVtIHN1ZWR3ZXN0bGljaGVuIEhvcml6b250IHN0ZWhlbi4gTWFuIHNvbGx0ZSBzaWNoIGFsc28gCiAgICAgICB6dXIgQmVvYmFjaHR1bmcgZWluZW4gT3J0IG9obmUgaG9oZSBTa3lsaW5lIHN1Y2hlbi4KCiAgICAgICBFaW50cml0dDogMDM6MDU7IEtlcm56ZWl0OiAwNTo0MDsgQXVzdHJpdHQ6IDA4OjE1CgogICAgICAgQW5tZXJrdW5nOiBUb3RhbGUgTW9uZGZpbnN0ZXJuaXNzZSBzaW5kIG5pY2h0IHNvIAogICAgICAgc3Bla3Rha3VsYWVyIHdpZSBTb25uZW5maW5zdGVybmlzc2UuIEF1ZiBkZW0gTW9uZCBpc3Qga2VpbgogICAgICAga2xhcmVyIEVyZHNjaGF0dGVuIHp1IHNlaGVuLCBkYSB1bnNlcmUgQXRtb3NwaGFlcmUgZGFzIAogICAgICAgTGljaHQgZGVyIFNvbm5lIHN0cmV1dC4gRGVyIE1vbmQgd2lyZCBiZWltIE1heGltdW0gaW4gCiAgICAgICBkdW5rZWxlbSwgdmVyd2FzY2hlbmVtIFJvdCBzY2hlaW5lbi4KICAgCjMxLjA1LiBSaW5nZm9lcm1pZ2UgU29ubmVuZmluc3Rlcm5pcyB1ZWJlciBHcm9lbmxhbmQuIFVlYmVyIAogICAgICAgRGV1dHNjaGxhbmQgd2lyZCBkaWUgRmluc3Rlcm5pcyBhbHMgcGFydGllbGxlIFNvbm5lbi0KICAgICAgIGZpbnN0ZXJuaXMgenUgc2VoZW4gc2VpbiBtaXQgZGVtIGhvZWNoc3RlbiBCZWRlY2t1bmdzLQogICAgICAgZ3JhZCBpbSBOb3Jkd2VzdGVuIERldXRzY2hsYW5kcyBtaXQgZmFzdCA5MCUgaW0gU3VlZC0KICAgICAgIHdlc3RlbiBzaW5kIGVzIGltbWVyaGluIG5vY2ggODQlLiBBdWNoIGRpZXNlIEZpbnN0ZXJuaXMgCiAgICAgICBpc3QgbWl0IGlocmVtIE1heGltdW0gdW0gMDU6Mjggd2FzIGZ1ZXIgRnJ1ZWhhdWZzdGVoZXIuCgogICAgICAgUmluZ2ZvZXJtaWdlIFNvbm5lbmZpbnN0ZXJuaXNzZSBzaW5kIHRvdGFsZSBTb25uZW4tCiAgICAgICBmaW5zdGVybmlzc2UsIGJlaSBkZW5lbiBkZXIgTW9uZCB6dSB3ZWl0IHdlZyB2b24gZGVyIAogICAgICAgRXJkZSB1bmQgc29taXQgenUga2xlaW4gIGlzdCwgdW0gZGllIGdhbnplIFNvbm5lIHp1CiAgICAgICBiZWRlY2tlbi4gRXMgYmxlaWJ0IGFsc28gZWluIGJyZWl0ZXIgUmFuZCBkZXIgU29ubmUgCiAgICAgICB1bmJlZGVja3QuCgpXZXIgbWVociBJbmZvcyB3aWxsLCBrYW5uIHNpY2ggZ2VybiBiZWkgbWlyIG1lbGRlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluc3Rlcm5pc3NlIChWYW5pb24sIDE0LiBNYWkgMjAwMywgMjM6MTM6MDEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNTI5NDY2MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUyOTQ2NjE3CkRpZSBNb25kZmluc3Rlcm5pcyB3aXJkIGltIFN1ZWR3ZXN0ZW4sIDEwIEdyYWQgdWViZXIgZGVtIEhvcml6b250IHp1IHNlaGVuCnNlaW4uIElyZ2VuZHdvIGJlaW0gQ29weS9QYXN0ZSBpcyB3b2hsIGF1cyBkZW0gR3JhZC1aZWljaGVuIGVpbmUgTnVsbApnZXdvcmRlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpbnN0ZXJuaXNzZSAoTHVnLCAxNC4gTWFpIDIwMDMsIDIzOjEzOjE3KToKfiMhIHJuPVZhbmlvbiBydD0xMDUyOTQ2NzgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1Mjk0NjYxNwpKYWFhYWEsIGdvIG9uLCBsYW5nd2VpbCBoYWx0LgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmluc3Rlcm5pc3NlIChMdWcsIDE0LiBNYWkgMjAwMywgMjM6MTQ6NDcpOgp+IyEgcm49SHVtbmkgcnQ9MTA1Mjk0Njg2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTI5NDY2MTcKCkxELgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHVzc2l0ZW5mZXN0c3BpZWxlIDIwMDMgKEVsaXphYmV0aCwgMTUuIE1haSAyMDAzLCAyMDoyMjo1MSk6CgpWb20gMTMuIC0gMTUuIEp1bmkgMjAwMyBmaW5kZW4gaW4gQmVybGluL0Jlcm5hdSB3aWVkZXIgZGllIEh1c3NpdGVuZmVzdHNwaWVsZQpzdGF0dC4gSW0gUHJvZ3JhbW0gc2luZCwgdW50ZXIgYW5kZXJlbSAgZWluaWdlIFRoZWF0ZXJzcGllbGUsIFNjaGF1a2FlbXBmZSwKVHVybmllcmUgdW5kIGVpbiBNaXR0ZWxhbHRlcm1hcmt0IHZlcnplaWNobmV0LiBEYXMgbnVyIG1hbCBhbHMgVGlwcCBmdWVyIGRpZQpCZXJsaW5lciBvZGVyIGRpZSwgZGllIGRhbm4gZ3JhZCBkYSBzaW5kLiBMb2hudCBzaWNoIGF1ZiBqZWRlbmZhbGwgdW5kIGlzdAptZWlzc3RlbnMgc2Nob2VuLgoKR3J1c3MsIEVsaXphYmV0aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29uZGVyLU5ld3NsZXR0ZXIgZGVyIFVuaSBCb25uIChMaWFyYSwgMjIuIE1haSAyMDAzLCAyMToxMzowMyk6CldlbHRyZWtvcmQtQmx1bWUgYmx1ZWh0IGZydWVoZXIgYWxzIGVyd2FydGV0IQpCb25uZXIgVGl0YW5lbnd1cnogdWViZXJyYXNjaHQgc2VsYnN0IEV4cGVydGVuCgpEZXIgQm9ubmVyIFRpdGFuZW53dXJ6LCBkaWUgYmVyZWl0cyBnZXN0ZXJuIGRlbiBXZWx0cmVrb3JkIGFscyB3ZWx0d2VpdApncm9lc3N0ZSBCbHVldGUgZ2Vicm9jaGVuIGhhdCwgaXN0IGVzIGdlbHVuZ2VuLCBzZWxic3QgZGllIEJvdGFuaWstRXhwZXJ0ZW4genUKdWViZXJyYXNjaGVuOiBTb2ViZW4gbWVsZGV0IGRlciBCb3RhbmlzY2hlIEdhcnRlbiBkZXIgVW5pdmVyc2l0YWV0IEJvbm4sIGRhc3MKZGllIEtub3NwZSBlbnRnZWdlbiBhbGxlciBWb3JoZXJzYWdlbiBkYW1pdCBiZWdvbm5lbiBoYXQsIHNpY2ggenUgb2VmZm5lbi4KRGllIFRpdGFuZW53dXJ6LUJsdWV0ZSB3aXJkIHNpY2ggYW0gZnJ1ZWhlbiBBYmVuZCB2b2xsIGVudGZhbHRldCBoYWJlbi4gQWIgMTkKVWhyIGlzdCBkZXIgQm90YW5pc2NoZSBHYXJ0ZW4gZnVlciBCZXN1Y2hlciBnZW9lZmZuZXQuCgpEaWUgS25vc3BlIGRlciBUaXRhbmVud3VyeiAoQW1vcnBob3BoYWxsdXMgdGl0YW51bSkgaGF0dGUgZ2VzdGVybiBkZW4gNzAKSmFocmUgYWx0ZW4gV2VsdHJla29yZCB2b24gV2FnZW5pbmdlbi9OaWVkZXJsYW5kZSBlaW5nZXN0ZWxsdC4gSW56d2lzY2hlbgppc3QgZGFzIEJvbm5lciBFeGVtcGxhciBhdWYgZWluZSBIb2VoZSB2b24gMjc0IFplbnRpbWV0ZXIgYW5nZXdhY2hzZW4uCgpGdWVyIGRpZSBPZWZmZW50bGljaGtlaXQgd2VyZGVuIGRpZSBHZXdhZWNoc2hhZXVzZXIgaGV1dGUsIERvbm5lcnN0YWcsIHVtIDE5ClVocgpnZW9lZmZuZXQsIEVpbmxhc3MgaXN0IGJpcyAyMyBVaHIgbW9lZ2xpY2guIEFtIEZyZWl0YWcgdW5kIFNhbXN0YWcgd2lyZCBkZXIKQm90YW5pc2NoZSBHYXJ0ZW4gdm9uIDcgYmlzIDIwIFVociBnZW9lZmZuZXQgc2Vpbi4KCkFrdHVlbGxlIEluZm9ybWF0aW9uZW4gdW5kIGVpbmUgbWludWV0bGljaCBha3R1YWxpc2llcnRlIFdlYmNhbSBnaWJ0IGVzIGltCkludGVybmV0IHVudGVyIGh0dHA6Ly93d3cuYm90YW5pay51bmktYm9ubi5kZS9ib3RnYXJ0L2Ftb3JwaG8yMDAzLmh0bWwKClNvcnJ5IGZ1ZXIgZGVuIFVtYnJ1Y2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29uZGVyLU5ld3NsZXR0ZXIgZGVyIFVuaSBCb25uIChHcmltbWJvcm4sIDIyLiBNYWkgMjAwMywgMjE6MTU6NDEpOgp+IyEgcm49TGlhcmEgcnQ9MTA1MzYzMDc4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTM2MzA3ODMKSWNoIGthbm4gZWluZW4gQmVzdWNoIG51ciBlbXBmZWhsZW4sIGljaCBoYWJlIG1pciBkYXMgdm9yIGd1dCBmdWVuZiBKYWhyZW4Kb2RlciBzbyBhbmdlc2VoZW4sIGJlaSBlaW5lciBsb2dpc2NoZXJ3ZWlzZSBldHdhcyBrbGVpbmVyZW4gQmx1ZXRlLiBEYXMgaXN0CmR1cmNoYXVzIGVpbiBFcmxlYm5pcyBkYXNzIGVzIHNvIGhhZXVmaWcgbmljaHQgZ2lidC4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29uZGVyLU5ld3NsZXR0ZXIgZGVyIFVuaSBCb25uIChPcmt0b2V0ZXIsIDIyLiBNYWkgMjAwMywgMjE6MzY6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNTM2MzA5NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDUzNjMwNzgzCkZ1ZXIgTGV1dGUgbWl0IGVtcGZpbmRsaWNoZXIgTmFzZTogTnV0enQgZGllIFdlYmNhbSwgc2llIGlzdCBuaWNodCBudXIKUmVrb3JkaGFsdGVyIGluIFB1bmt0byBHcm9lc3NlLCBhdWNoIGluIFNhY2hlbiAidWVibGVyIEdlcnVjaCIuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29uZGVyLU5ld3NsZXR0ZXIgZGVyIFVuaSBCb25uIChMaWFyYSwgMjIuIE1haSAyMDAzLCAyMTo0MDo0Nyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA1MzYzMjIxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTM2MzA3ODMKRGFzIG5lbm50IG1hbiBBYXNnZXJ1Y2ggLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWNodCB2ZXJnZXNzZW4sIGRpZSBDaGFvdGVuIHNpbmQgbG9zISAoVmFuaW9uLCAyOS4gTWFpIDIwMDMsIDIwOjQzOjU3KToKSW0gS2xhcnRleHQ6IAogRGllIFNvbm5lIGdlaHQgbW9yZ2VuIGdlZmluc3RlcnQgYXVmLiAKIElzIGtlaW5lIHZvbGxlLCBzb25kZXJuICdudXInIGVpbmUgcmluZ2ZvZXJtaWdlIEZpbnN0ZXJuaXMsIGFiZXIgZGEgc2llCiBpbiBIb3Jpem9udG5hZWhlIHN0YXR0ZmluZGV0LCBzb2xsdGUgc2llIHNlaHIgZ3V0IGJlb2JhY2h0YmFyIHNlaW4uCiBOdXIgc2NoYWRlLCBkYXNzIGRpZSBTb25uZSBzbyBmcnVlaCBhdWZzdGVoZW4gbXVzcyA6KAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOaWNodCB2ZXJnZXNzZW4sIGRpZSBDaGFvdGVuIHNpbmQgbG9zISAoVmFuaW9uLCAyOS4gTWFpIDIwMDMsIDIwOjQ3OjQzKToKfiMhIHJuPVZhbmlvbiBydD0xMDU0MjMzODM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1NDIzMzgzNwpodHRwOi8vd3d3LmFzdHJvY29ybmVyLmRlL3dpc3Nlbi93aXNzZW5fZmluc3Rlcm5pc3NlXzIwMDMwNTMxLnBocAoKRnVlciBnZW5hdWUgSW5mb3MuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWNodCB2ZXJnZXNzZW4sIGRpZSBDaGFvdGVuIHNpbmQgbG9zISAoVmFuaW9uLCAyOS4gTWFpIDIwMDMsIDIwOjQ5OjU1KToKfiMhIHJuPVZhbmlvbiBydD0xMDU0MjM0MDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1NDIzMzgzNwpJY2ggd2VyZCBncmFkIGRhcmF1ZiBoaW5nZXdpZXNlbiwgZGFzcyBpY2ggZWluZW4gVGFnIHZvcmdlaGUgKnNjaGFlbSoKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIFNXUjMtQy1UZWFtIGlzdCB6dXJ1ZWNrISA6KSAoR3JpbW1ib3JuLCAgNi4gSnVuIDIwMDMsIDA3OjI3OjUzKToKfiMhIHJuPUxpYXJhIHJ0PTEwNTQ3NjIyOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDU0NzYyMjk1CkxlaWRlciBpc3QgRGVpbmUgSW5mb3JtYXRpb24gRkFMU0NIISBHZWZhZWhybGljaCBmYWxzY2guIERhcyBDLVRlYW0gaXN0IHZvbgpQZmluZ3N0c2Ftc3RhZyBhdWYgUGZpbmdzdHNvbm50YWcuIE1laW5lIEd1ZXRlLCB3ZW5uIGljaCBtaXIgdm9yc3RlbGxlIGRhc3MKaWNoIGRhIFNvbm50YWcgTmFjaHQgdm9yIGRlbSBSYWRpbyBnZXNlc3NlbiBoYWV0dGUgbnVyIHVtIGZlc3R6dXN0ZWxsZW4gZGFzcwppY2ggZGFzIHVtIGVpbmVuIFRhZyB2ZXJwYXNzdCBoYWJlLCBkYSBicmljaHQgbWlyIGpldHp0IG5vY2ggZGVyIEFuZ3N0c2Nod2Vpc3MKYXVzLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhcyBTV1IzLUMtVGVhbSBpc3QgenVydWVjayEgOikgKEZsaW50bmFpbCwgIDYuIEp1biAyMDAzLCAwOTowODowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA1NDg3NzI3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTQ3NjIyOTUKamV0eiBiaW4gaWNoIGFiZXIgZ2VzcGFubnQgd2lpZSAnbmVuIEVsZmVuZmZsaXR6ZWVib2dlbi4uLgpXYXMgaXN0IGRhcmFuIHNlaHIgZ2VmYWVocmxpY2gsIHdlbiBkaWUgZGVyIEFuZ3N0c2Nod2Vpc3MgYXVzYnJpY2h0PyBPRGVyCmJlem9nIHNpY2ggZGFzICdnZWZhZWhybGljaCBmYWxzY2gnIG5pY2h0IGF1ZiBtb2VnbGljaGUgRm9sZ2VuIGRlcyBWZXJwYXNzZW5zCmRlciBTZW5kdW5nPwoKRmxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYXMgU1dSMy1DLVRlYW0gaXN0IHp1cnVlY2shIDopIChHcmltbWJvcm4sICA2LiBKdW4gMjAwMywgMTA6MTY6MzgpOgp+IyEgcm49RmxpbnRuYWlsIHJ0PTEwNTQ4ODMyODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDU0NzYyMjk1CkljaCB3YXJ0ZSBzZWl0IHJ1bmQgZHJlaSBKYWhyZW4gZGFyYXVmLCBkYXNzIGRhcyB3aWVkZXIgbWFsIGtvbW10LiBVbmQgZGFzCmRhbm4gdW0gZWluZW4gVGFnIHp1IHZlcnBhc3NlbiwgZGFzIHdhZXJlIHNlaHIgaGFydCBnZXdlc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYXMgU1dSMy1DLVRlYW0gaXN0IHp1cnVlY2shIDopIChMaWFyYSwgIDYuIEp1biAyMDAzLCAxMTo0Nzo0NSk6Cn4jISBybj1MaWFyYSBydD0xMDU0ODkyNzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1NDc2MjI5NQpSZWNodCBoYXQgZXIuIFNlbmR1bmcgaXN0IFBmaW5nc3RzYW1zdGFnIGJpcyBQZmluZ3N0c29ubnRhZyB2b24gMCBiaXMgNCBVaHIuCkhhYmUgbGVpZGVyIGV0d2FzIGFuZGVyZXMgaGluZ2VzY2hyaWViZW4sIGF1Y2ggd2VubiBpbiBtZWluZW0gS29wZiBkZXIKcmljaHRpZ2UgVGFnIGdlc3BlaWNoZXJ0IGlzdC4gOz4gVmllbCBTcGFzcyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVudGVyc3VjaHVuZyAoTm9ubmUsICA2LiBKdW4gMjAwMywgMTI6MzI6NDgpOgpIYWxsbywKCmhhYmUgZ2VyYWRlIHdhcyBnZWxlc2VuLCB3YXMgaWNoIG5pY2h0IGVpbm9yZG5lbiBrYW5uOgoKQW4gZGVyIFVuaSBNaWNoaWdhbiBnYWIgZXMgZWluZSBVbnRlcnN1Y2h1bmcuIEZyYXVlbiB1bmQgTWFlbm5lciBzb2xsdGVuIGVpbmVuCk1hdGhldGVzdCBtYWNoZW4sIGVpbm1hbCBudXIgbWl0IEJpa2luaS9CYWRlaG9zZSBiZWtsZWlkZXQsIGVpbm1hbAp2b2xsc3RhZW5kaWcgYmVrbGVpZGV0LiBSZXN1bHRhdDogRGllIEJhZGVuaXhlcyBzY2huaXR0ZW4gd2VzZW50bGljaApzY2hsZWNodGVyIGFiIGFscyBpaHJlIGJla2xlaWRldGVuIEdlc2NobGVjaHRzZ2Vub3NzaW5lbiwgd2FlaHJlbmQgYmVpIGRlbgpNYWVubmVyIGRpZSBsZWljaHRiZWtsZWlkZXRlbiBiZXNzZXIgYWJzY2huaXR0ZW4gYWxzIGRpZSB2b2xsc3RhZW5kaWcKYmVrbGVpZGV0ZW4uIERlciBUZXN0IGZhbmQgaW4gRWluemVsa2FiaW5lbiBzdGF0dCwgaW4gZGVuZW4gc2ljaCBudXIgZWluClNwaWVnZWwgdW5kIGVpbiBTY2hyZWlidGlzY2ggYmVmYW5kLgoKRXJzdGUgRXJrbGFlcnVuZ3N2ZXJzdWNoZSB6aWVsZW4gZGFyYXVmIGFiLCBkYXNzIGxlaWNodGJla2xlaWRldGUgRnJhdWVuIHp1CnNlaHIgbWl0IGlocmVtIEF1c3NlaGVuIGJlc2NoYWVmdGlndCBzaW5kLCBhbHMgZGFzcyBzaWUgc2ljaCBhdWYgZGllIEF1ZmdhYmVuCmtvbnplbnRyaWVyZW4ga29lbm50ZW4uIEFiZXIgd2FzIGlzdCBtaXQgZGVuIE1hZW5uZXI/CgpOb25uZSwgYXVmIGVpbmUgRXJrbGFlcnVuZyBob2ZmZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVudGVyc3VjaHVuZyAoRWxiZXJldCwgIDYuIEp1biAyMDAzLCAxMjozNDoxMCk6Cn4jISBybj1Ob25uZSBydD0xMDU0ODk1NTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1NDg5NTU2OAplcyBzb2xsIHVudGVyc3VjaHVuZ2VuIGdlYmVuLCBkaWUgYmVzYWdlbiwgZGFzcyBkaWUgbWVpc3RlbiBTdHVkaWVuIGVpbmZhY2gKbnVyIE11ZWxsIGVyZ2ViZW4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbnRlcnN1Y2h1bmcgKEdyaW1tYm9ybiwgIDYuIEp1biAyMDAzLCAxMjozNjowMyk6Cn4jISBybj1Ob25uZSBydD0xMDU0ODk1NTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1NDg5NTU2OApEaWUgd29sbGVuIGRhcyBFbGVuZCBuaWNodCBzZWhlbiB1bmQga29uemVudHJpZXJlbiBzaWNoIGxpZWJlciBhdWYgZGllCkF1ZmdhYmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVudGVyc3VjaHVuZyAoWm9vaywgIDYuIEp1biAyMDAzLCAxMjo0NzozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA1NDg5NTc2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTQ4OTU1NjgKV2lldmllbGUgRnJhdWVuL01hZW5uZXIgd3VyZGVuIGRlbm4gZGEgdW50ZXJzdWNodD8gVW5kIGhhYmVuIGpld2VpbHMgZGllCmdsZWljaGVuIExldXRlIGFuZ2V6b2dlbiAvIGluIEJhZGVrbGFtb3R0ZW4gZGllIEF1ZmdhYmVuIGdlbWFjaHQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW50ZXJzdWNodW5nIChOb25uZSwgIDYuIEp1biAyMDAzLCAxMjo1NDoyNik6Cn4jISBybj1ab29rIHJ0PTEwNTQ4OTY0NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDU0ODk1NTY4CkdlbmF1ZXJlcyB3ZWlzcyBpY2ggdWViZXIgZGllIFN0dWRpZSBsZWlkZXIgbmljaHQuIEljaCBoYWJlIGRhcyBudXIgYWxzCkJlaXNwaWVsIGZ1ZXIgZWluZSBzaW5ubG9zZSBTdHVkaWUgaW4gZWluZW0gQnVjaCBnZWxlc2VuLiBNdWVzc3RlIG1hbiBtYWwgbmFjaApnb29nbGVuLCB2aWVsbGVpY2h0IGdpYnRzIGRhIG5vY2ggd2FzIE9ubGluZS4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIFByb2pla3RicmV0dCAuLi4uIChNYW5kcmFnb24sICA4LiBKdW4gMjAwMywgMDE6NDY6NDUpOgoKemVpZ3QgamV0enQgYWxzIERhdHVtIGRhcyBkZXIgbGV0enRlbiBBZW5kZXJ1bmcgYW4sIG5pY2h0IG1laHIgZGFzIEVyc3RlbGwtCmRhdHVtLgoKTWFnaWVyIGJpdHRlIGljaCwgZGllIEFlbmRlcnVuZyBhbiBQcm9qZWt0IDkgKGRpZSB6dSBUZXN0endlY2tlbiBlbnRzdGFuZCkKenUgaWdub3JpZXJlbi4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIHVuZCBtZWluIFBvdHRlciAoQmFib29uLCAyMS4gSnVuIDIwMDMsIDIxOjEyOjUwKToKRnVlciBkaWUsIGRpZSBlcyBub2NoIG5pY2h0IG1pdGJla29tbWVuIGhhYmVuOgpTZWl0IGhldXRlIGlzdCBkZXIgbmV1ZSBIYXJyeSBQb3R0ZXIgenUgaGFiZW4uClVuZCB6dXIgRmVpZXIgZGVzIFRhZ2VzIGdpYnQgZXMgYWIgc29mb3J0Cm9mZml6aWVsbCBTY2hva29mcm9lc2NoZSB6dSBrYXVmZW4uIFZpZWwgU3Bhc3MKZGFtaXQuCkRhbWl0IG5pZW1hbmQgZXh0cmEgenVyIEZldWVyaW5zZWwgbXVzcyBnaWJ0IGVzCmpldHp0IGF1Y2ggZWluZW4gU3BpZWx6ZXVnYXV0b21hdGVuIGluIFBvcnQgVmFpbi4KRmluZGVuIG11ZXNzdCBpaHIgaW4gYWJlciBzZWxiZXIuIDotKQoKQmFib29uKCksIGRlciBqZXR6dCBlcnN0IG1hbCBsZXNlbiBnZWh0LgoKcC5zOiBEZXIgTmFjaHJpY2h0ZW5zcHJlY2hlciB2b24gUHJvNywgZGVyIGViZW4KdmVycmF0ZW4gaGF0IHdlbGNoZXIgZGVyIENoYXJha3RlcmUgYWJuaXBwZWx0CmlzdCBlaW4gYmxvZWRlciBTYWNrLiA6LVAKCnAucC5zOiBGYWxscyBqZW1hbmRlbSBhbiBkZW4gU2Nob2tvZnJvZXNjaGVuIHdhcwpzZWx0c2FtIHZvcmtvbW1lbiBzb2xsdGUgaXN0IGRhcyBzZWxic3R2ZXJzdGFlbmRsaWNoCmVpbiBGZWF0dXJlIHVuZCBrZWluIEJ1Zy4gTGFzc3QgbWljaCBhbHNvIGJsb3NzCmRhbWl0IGluIFJ1aGUuIDstKSAgICAgICAgICAgICAgICAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdXNpayAoTW9vbnNoaW5lLCAgNS4gSnVsIDIwMDMsIDEzOjI3OjUwKToKSGFsbG8gbGllYmUgTXVkZ2VtZWluZGUsCgphdWNoIFd1bnNjaCBlaW5lcyBuaWNodCBuYWVoZXIgenUgbmVubmVuZGVuIEdpZXNza2FubmVuendlcmdlcyB1bmQgZWluZXIKWmF1YmluZSBnZWJlIGljaCBoaWVybWl0IG1laW5lbiBNdXNpa2dlc2NobWFjayBvZmZlbiB6dToKCkljaCBzdGVoZSBhdWYgUG9wbXVzaWssIG9mdG1hbHMgYXVjaCBlaGVyIHJ1aGlnLgpOZWluLCBkYXMgaXN0IGtlaW4gV2l0eiwgZXMgaXN0IHdpcmtsaWNoIHNvIQoKWmVycmVpc3N0IG1pY2gsIE1vb25zaGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11c2lrIChCaXJkeSwgIDUuIEp1bCAyMDAzLCAyMTo0MDoxMSk6Cn4jISBybj1Nb29uc2hpbmUgcnQ9MTA1NzQwNDQ3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTc0MDQ0NzAKZHUgc3RlaHN0IGFuc2NoZWluZW5kIGF1Y2ggYXVmIHNjaGxhZWdlIHVuZCBhZWhubGljaGUgc2FjaGVuIC0gIlplcnJlaXNzdAptaWNoIi4KCiJRdWFlbCBEaWNoIG5pY2h0IExpZWJsaW5nLCBsYXNzIG1pY2ggZGFzIHR1biEiCkJpcmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVzaWsgKEFtYXpvcmEsICA2LiBKdWwgMjAwMywgMTY6MDk6MTkpOgp+IyEgcm49TW9vbnNoaW5lIHJ0PTEwNTc0MDQ0NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDU3NDA0NDcwCnVuZD8gaXN0IGRhcyBqZXR6dCBzY2hsaW1tPyBpY2ggc3RlaCBhdWNoIGF1ZiBwb3AuIHlvLCBpcyBzbyB1bmQgZ2FyIG5lZApzY2hsaW1tIHdpZSBpY2ggZmluZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtiYXJrZWl0LiAoWm9vaywgMjQuIEp1bCAyMDAzLCAyMTowNjoxNik6CkljaCBkYXJmIGt1cnogYXVzIGVpbmVtIEFydGlrZWwgdm9uIEhlaXNlIHppdGllcmVuCihnYW56ZXIgVGV4dCB1bnRlcjogaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvb2xhLTI0LjA3LjAzLTAwNy8pCgoiRGVyIFN5c3RlbSBBZG1pbmlzdHJhdG9yIEFwcHJlY2lhdGlvbiBEYXkgYmlldGV0IGFsbCBkZW4gZWJlbnNvIGdlc2Nob2x0ZW5lbgp3aWUKICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmllcnRlbiBBZG1pbmlzdHJhdG9yZW4gR2VsZWdlbmhlaXQsIHNpY2ggc2VsYnN0Cnp1IGJld2VpaHJhZXVjaGVybiAtLSBvZGVyIGF1Y2ggbWFsCiAgICAgICAgICAgICAgICAgICAgICAgYmV3ZWlocmFldWNoZXJuIHp1IGxhc3Nlbi4gRGVubiB3ZXIgaGFlbHQgZGFzClVudGVybmVobWVuIGhhZXVmaWcgYWxzIEVpbnppZ2VyIGFtIExhdWZlbj8KICAgICAgICAgICAgICAgICAgICAgICBEZXIgQWRtaW4uIFVuZCwgZGFua3QgaWhtIGplbWFuZCBkYWZ1ZXI/IEViZW4gLi4uCiIKCnVuZCBkYW5uIG5vY2g6CgoiQWxsZSBOdXR6bmllc3NlciBzaW5kIGRhaGVyIHp1ciBIdWxkaWd1bmcgZGVyIHRhcGZlcmVuIEhlbGZlcmxlaW4gYXVmZ2VydWZlbi4KRGVubgogICAgICAgICAgICAgICAgICAgICAgIHdlbmlnc3RlbnMgZWlubWFsIGltIEphaHIgc29sbGVuIHNpZSBlaW4gbmV0dGVzIFdvcnQKdWViZXIgZGllIGhhcnRlIEFyYmVpdCBoaW50ZXIgZGVuIEt1bGlzc2VuCiAgICAgICAgICAgICAgICAgICAgICAgdmVybGllcmVuLiBPZGVyIGJlc3NlciBub2NoIC0tIGRlbSBBZG1pbmlzdHJhdG9yIG1hbAplaW4ga2xlaW5lcyBHZXNjaGVuayB6dWtvbW1lbiB6dQogICAgICAgICAgICAgICAgICAgICAgIGxhc3NlbiIKCkRhenUgZ2lidCBlcyBub2NoIG5lIHdlaXRlcmUgVXJsOiBodHRwOi8vc3lzYWRtaW5kYXkuc2FmZXdlYi5iZS9HaWZ0cy5odG0KCgoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2JhcmtlaXQuIChab29rLCAyNC4gSnVsIDIwMDMsIDIxOjA4OjUwKToKfiMhIHJuPVpvb2sgcnQ9MTA1OTA3MzU3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNTkwNzM1NzYKQWgsIGljaCBob2VyZSBnZXJhZGUsIFZhbmlvbiBuYWVtZSBzZWluIEdlc2NoZW5rIGF1Y2ggYW4gZGVyIE11ZHBhcnR5CmVudGdlZ2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2JhcmtlaXQuIChWYW5pb24sIDI0LiBKdWwgMjAwMywgMjE6MTY6MDApOgp+IyEgcm49Wm9vayBydD0xMDU5MDczNzMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpBbHNvIHNvd29obCBkZXIgSGFuZGhlbGQgYWxzIGF1Y2ggZGVyIE1QMy1QbGF5ZXIgd3VlcmRlbiBtaXIgcGFzc2VuLgoKViosIGVyc3RhdW50LCBtaXQgd2llIHdlbmlnIEFrdGl2aXRhZXQgbWFuIGFsbGUgZ2xhdWJlbiBsYXNzZW4ga2FubgogICAgZGFzcyBtYW4gMS4pIHVuYWJrb2VtbWxpY2ggdW5kIDIuKSB2b2xsIGRlciBIZWxkIGlzdC4KClBTOiBUaWFtYWsgaXMgc2NodWxkIGFuIGRlciBsYW5nZW4gVXB0aW1lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFua2JhcmtlaXQuIChab29rLCAyNC4gSnVsIDIwMDMsIDIxOjE2OjUwKToKfiMhIHJuPVZhbmlvbiBydD0xMDU5MDc0MTYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpXaWUga29tbXN0IER1IG51biBhdWYgMS4pIHVuZCAyLik/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFua2JhcmtlaXQuIChWYW5pb24sIDI0LiBKdWwgMjAwMywgMjE6MTc6NDgpOgp+IyEgcm49Wm9vayBydD0xMDU5MDc0MjEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpYWFggdGVpbHQgRGlyIG1pdDogZHUgYmlzdCB2b2xsIGRlciBoZWxkLiBudXIgbWFsIHNvIHp1ciBiZXN0YWV0aWd1bmcgOikKClYqLCB0dXQgZWlnZW50bGljaCBuaXguIFdlbm4gZG9jaCwgd3VlcmRlIGVzIG9lZnRlciBjcmFzaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFua2JhcmtlaXQuIChab29rLCAyNC4gSnVsIDIwMDMsIDIxOjE4OjE2KToKfiMhIHJuPVZhbmlvbiBydD0xMDU5MDc0MjY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpBbHNvIG1pdCBYWFggbXVzcyBpY2ggbWljaCwgZ2xhdWJlIGljaCwgbm9jaG1hbCB1bnRlcmhhbHRlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYW5rYmFya2VpdC4gKE1vcmdvdGgsIDI0LiBKdWwgMjAwMywgMjE6MTg6NTMpOgp+IyEgcm49Wm9vayBydD0xMDU5MDc0Mjk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpGcmFnIGVpbmZhY2ggbWFsIGJlaSBHR0cgUHJvZHVjdGlvbnMgLSBNdWVuY2hlbiBuYWNoLiBEaWUgZnJldWVuIHNpY2guCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFua2JhcmtlaXQuIChNb29uc2hpbmUsIDI0LiBKdWwgMjAwMywgMjE6MTk6MDkpOgp+IyEgcm49Wm9vayBydD0xMDU5MDc0Mjk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA1OTA3MzU3NgpEYXMgaXN0IGphIGF1Y2ggd2llIGRhcyBGaW5nZXJuIGJld2Vpc3QsIGVpbiAnU2VsdGVuIGRhZW1saWNoZXIgTmFtZScgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWNodCdzIEd1dCAgKEVsaXphYmV0aCwgMjguIEp1bCAyMDAzLCAxNjo1NDoxNyk6CkRhcyB3YXIgYWxzbyBtZWluZSBaZWl0IGltIE11ZCBtaXQgZXVjaC4gV2FyIGVpbmUgc2Nob2VuZSBaZWl0LiBWb2xsZXIgU3Bhc3MsCkZyZXVkZSwgRmFudGFzaWUsIHZvbGxlciBVZWJlcnJhc2NodW5nZW4gdW5kIGF1Y2ggbWFuY2htYWwgdm9sbGVyIEFlcmdlciB1bmQKRW50YWV1c2NodW5nZW4uIEFiZXIgYWxsIGRhcyB3ZXJkIGljaCB3b2hsIG5pY2h0IHZlcmdlc3NlbiwgZGVubiBkYXMgTXVkIGhhdAppbSB3ZXNlbnRsaWNoZW4gZGF6dSBiZWlnZXRyYWdlbm0sIGRhc3MgaWNoIG1laW5lIEZhbnRhc2llIGVudGZhbHRlbiBrb25udGUKdW5kIGRhcyB3ZXJkZW4ga29ubnRlLCB3YXMgaWNoIGhldXQgYmluLgpJCkljaCBoYWIgbWljaCBtaXQgZWluaWdlbiBoaWVyIGdlc3RyaXR0ZW4gdW5kIG1pdCBhbmRlcmVuIHRvbGwgdmVyc3RhbmRlbiB1bmQKZXMgZ2lidCB2aWVsZSBMZXV0ZSwgYmVpIGRlbmVuIGljaCBtaWNoIEZyYWdlLCB3aWUgc2llIHdvaGwgUkwgc2luZC4gSWNoCm1vZWNodGUgZGllc2UgWmVpdCBhdWYga2VpbmVuIEZhbGwgbWlzc2VuIGFiZXIgZnVlciBtaWNoIGhlaXNzdCBlcyBqZXR6dApOZXVhbmZhbmcuIEljaCBob2ZmZSBpaHIgd3VlbnNjaHQgbWlyIHZpZWwgR2x1ZWNrLCB1bmQgZGllLCBtaXQgZGVuZW4gaWNoCm5pY2h0IGF1ZiBzbyBndXRlbSBGdXNzIHN0YW5kLCBkZW5rZW4gbmljaHQgc28gc2NobGVjaHQgdm9uIG1pciwgd2llIGVzCmF1c3NpZWh0LiBGYWxzIGljaCBoaWVyIGVpbmlnZW4gYXVmIGRpZSBGdWVzc2UgZ2V0cmV0ZW4gaGFiLCB0dXQgZXMgbWlyIGxlaWQsCnVuZCBpY2ggZW50c2NodWxkaWdlIG1pY2ggZGFmdWVyLiAKCmJlaSB3ZW0gaWNoIG1pY2ggYWxsZXJkaW5ncyBuaWNodCBlbnRzY2h1bGRpZ2Ugc2luZCBzYW1vcyB1bmQgc2NobGVpY2hlci4KendlaSwgYW5zY2hlaWVuZCBhdWNoIGltIHdhaHJlbiBsZWJlbiwgYWJncnVuZHRpZWYgaGludGVyaGFlbHRpZ2UgTWVuc2NobGVpbiwKZGllIHNjaGVpbmJhciBzbyB3ZW5pZyBtaXQgc2ljaCBzZWxic3QgenUgdHVuIGhhYmVuLCBkYXNzIHNpZSBhbmRlcmVyIExldXRlCmxlYmVuIGF1c3NwaW9uaWVyZW4gdW5kIHNpZSBkYW5uIHNjaGxlY2h0IG1hY2hlbiBtdWVzc2VuLiBGdWVyIGV1Y2ggYmVpZGUgaXN0CmFsbGVzIGVpbiBnZWZ1bmRlbmVzIEZyZXNzZW4gdW5kIGlociB6ZXJyZWlzc3QgamVkZW4gd2llIEFhc2dlaWVyLiBTY2hvZW4sCmRhc3MgaWhyIGJlaWRlIGtlaW4gR2V3aXNzZW4gaGFidCB1bmQgZGFzcyBpaHIgZGFzIGF1Y2ggenVzYW1tZW4gZHVyY2h6aWVoZW4Ka29lbm50LiBHdXQsIGRhc3MgaWhyIGV1Y2ggZ2VmdW5kZW4gaGFidC4gCihEYXMgaXN0IGVpbiBFaW5kcnVjayB2b24gbWlyIHVuZCBhbmRlcmVuIC0gaG9mZmVudGxpY2ggaXN0IGVyIGZhbHNjaCEpCgpJY2ggYmluIG5pY2h0IG5hY2h0cmFnZW5kIGFiZXIgZGFzIHdvbGx0ZSBpY2ggZ2VzYWd0IGhhYmVuIHVuZCBpY2ggZ2xhdWJlIGljaApzcHJlY2hlIGltIE5hbWVuIHZvbiBlaW5pZ2VuIGhpZXIsIHdlbm4gaWNoIHNhZ2U6IGt1ZW1tZXJ0IGV1Y2ggdW0gZXVyZW4KZWlnZW5lbiBLcmFtIQoKSWNoIHd1ZW5zY2ggZXVjaCBhbGxlbiBlaW4gc2Nob2VuZXMgcmVzdGxpY2hlcyBMZWJlbiwgdmllbCBMaWNodCB1bmQgR2x1ZWNrCmZ1ZXIgZGVuIFJlc3QgZXVyZXMgTGViZW5zIQoKR3J1c3MsIEpvaGFubmEgYWthIEVsaXphYmV0aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3Rlcm5zY2hudXBwZW4gKEFsYm9pbiwgIDkuIEF1ZyAyMDAzLCAwMDowOTo0MSk6CldlaWwgZGllIE5hZWNodGUgZ3JhZGUgd2FybSB1bmQga2xhciBzaW5kOgphYiBTb25udGFnIGtvbW1lbiBkaWUgUGVyc2VpZGVuLCBkLmguIGVzIGdpYnQgamVkZSBNZW5nZSBTdGVybnNjaG51cHBlbiBydW5kCnVtIGRhcyBTdGVybmJpbGQgUGVyc2V1cyBpbSBPc3Rlbi4KR3Vja3QgYWxzbyBydWhpZyBtYWwgcmF1cywgZ2VodCBtaXQgRXVyZW4gTGllYnN0ZW4gc3BhemllcmVuIHVuZCB3dWVuc2NodApFdWNoLCBub2NoIGJlc3NlciBhbmRlcmVuIGV0d2FzIE5ldHRlcyEKCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogU29tbWVybG9jaCAoR2xvaW5zb24sIDEyLiBBdWcgMjAwMywgMTM6MDk6MDApOgp+IyEgcm49Wm9vayBydD0xMDYwNjg2MjY2IHJnPWRpc2t1c3Npb24KfiMhIHRpZD0xMDYwMjkxMDQyCkR1IGJpc3QgZXR3YXMgenUgc2NobWFsIHVuZCB3YWhyZSBHcm9lc3NlIHplaWd0IHNpY2gsIHdpZSBiZWkgQ2F0dHksIGluIGFsbGVuCkRpbWVuc2lvbmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIFdhbmRlcmVyIC4uLiAoQXJrLCAyMS4gQXVnIDIwMDMsIDIyOjQ1OjE2KToKLi4uIGxhZXNzdCBhdWYgZGllc2VtIFdlZ2UgYWxsZW4gYXVzcmljaHRlbiwgZGFzcyBlciBiZWkgZWluaWdlbiBRdWVzdHMgamV0enQKZXR3YXMgcHJhZXppc2VyIG1pdCBPcnRzYW5nYWJlbiB1bSBzaWNoIHdpcmZ0LiBEYW5rIGFuIENyb2Z0IGZ1ZXIgZGllIEhpbGZlCnVuZCBkZW4gSGlud2Vpcy4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyNCAoVmFyZGlvbiwgMjEuIFNlcCAyMDAzLCAyMzozNTo1Myk6CkhpLgoKS2FubiBtaXIgd2VyIGt1cnogenVzYW1tZW5mYXNzZW4sIHdhcyBiZWkgMjQgaW4gZGVyIHplaXQgdm9uIDE1IGJpcyAxNiBVaHIKcGFzc2llcnQgaXN0PyBEYSBpc3QgbGVpZGVyIHdhcyBtaXQgZGVyIEF1Zm5haG1lIHNjaGllZmdlbGF1ZmVuLi4uIDE1IGJpcyAxNgpVaHIgaXN0IGRpZSAyLiBIYWVsZnRlIHZvbiBkZW0sIHdhcyBhbSBGcmVpdGFnIGthbSwgYWxzbyAyMToxNSBiaXMgMjI6MTUuCgpEYW5rZSwKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDI0IChGb29iYXIsIDIxLiBTZXAgMjAwMywgMjM6MzY6NDMpOgp+IyEgcm49VmFyZGlvbiBydD0xMDY0MTgwMTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NDE4MDE1MwpXYXQgZGVubiBudT8KCjE1IGJpcyAxNiBVaHIgb2RlciAyMToxNSBiaXMgMjI6MTU/IDtvKQoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMjQgKENyb2Z0LCAyMi4gU2VwIDIwMDMsIDE1OjU2OjM5KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2NDE4MDE1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjQxODAxNTMKaHR0cDovL2VwZ3VpZGVzLmNvbS8yNC8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcnNwcnVlbmdlIGRlcyBNVURzIChHbG9pbiwgMjMuIFNlcCAyMDAzLCAyMzowNjowMyk6Cmh0dHA6Ly93d3cuYXBvY2FseXBzZS5vcmcvcHViL3UvbHBiL211ZGRleC9iYXJ0bGUudHh0Cmh0dHA6Ly9tdWQuY28udWsvcmljaGFyZC9tdWQuaHRtCgpBbSBiZXN0ZW4gYXVzIGRlciBlcnN0ZW4gU2VpdGUgZ2VmYWVsbHQgbWlyIGphIGZvbGdlbmRlciBTYXR6OiAodWViZXIgVjMgdm9uCmVpbmVtIE1VRC1Qcm9ncmFtbSk6ICIuLi4gYW5kIGV2ZW4gc29tZSBvZiB0aGUgaW5mcmFzdHJ1Y3R1cmUgd2FzIG1pc3NpbmcgKGVnLgp0d28gcGVvcGxlIGluIGEgZGFyayByb29tLCBvbmUgd2l0aCBhIHRvcmNoOiB0aGUgb3RoZXIgc3RpbGwgY291bGRuJ3Qgc2VlKS4iCgo6Z3JpbnN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVyc3BydWVuZ2UgZGVzIE1VRHMgKEJvaW5nLCAyNC4gU2VwIDIwMDMsIDEwOjEyOjMwKToKfiMhIHJuPUdsb2luIHJ0PTEwNjQzNTExNjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY0MzUxMTYzCkphLCBkYSBoYWIgaWNoIGF1Y2ggaGVycmxpY2ggZ2VsYWNodCAuLi4gaXJnZW5kd29oZXIga2VubiBpY2ggZGFzIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVXJzcHJ1ZW5nZSBkZXMgTVVEcyAoWm9vaywgMjQuIFNlcCAyMDAzLCAxMDoyNjoxMik6Cn4jISBybj1Cb2luZyBydD0xMDY0MzkxMTUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NDM1MTE2MwpJY2gga2FubiBkYSBnYXIgbmljaHQgZHJ1ZWJlciBsYWNoZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG9zdGZhZWNoZXIuLi4gKFpvb2ssIDI5LiBTZXAgMjAwMywgMjM6MzE6MTUpOgpEZXIgUG9zdGJvdGUgbWFjaHQgZWluZW4gU3BpZWxlciBqYSBpbSBhbGxnZW1laW5lbiBtaXQgbmVydmlnZW4gTWVsZHVnbmVuCmRhcmF1ZiBhdWZtZXJrc2FtLCBkYXNzIGRhcyBQb3N0ZmFjaCB6dSBncm9zcyBnZXdvcmRlbiBpc3QuIEJpdHRlIG5laG10IGRpZXNlCldhcm51bmdlbiByZWxhdGl2IGVybnN0LiBTb2xsdGUgZGFzIFBvc3RmYWNoIHp1IGdyb3NzIHdlcmRlbiwga2FubiBkaWVzCnp1IFNwaWVsYmVlaW5mbHVzc3VuZ2VuIGRlciB1bnNjaG9lbmVuIEFydCBmdWVocmVuLiBNZWluZSBQb2xpY3kgaW4gZGllc2VtClp1c2FtbWVuaGFuZyBzaWVodCBlaW5lIEVybWFobnVuZyBtZWluZXJzZWl0cyBiZWkgZWluZW0gUG9zdGZhY2ggPjFNQiB2b3IKdW5kIGFiIDJNQiB3aXJkIGRhcyBQb3N0ZmFjaCBhdXMgZGVtIFNwaWVsIGVudGZlcm50IChsaWVndCBhYmVyIG5vY2ggOTAKVGFnZSBoZXJ1bSwgZmFsbHMgZXMgZGVyIFNwaWVsZXIgaGFiZW4gbW9lY2h0ZSkuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5hZGluZSB2ZXJ6d2VpZmVsdCBnZXN1Y2h0IChDYXR3ZWF6bGUsICA2LiBPa3QgMjAwMywgMDg6MzU6MTkpOgoKTW9pbiEKCkljaCBoYWJlIGVpbmUgQW5mcmFnZSB2b24gZWluZW0gZnJhbnpvZXNpc2NoZW4gS29sbGVnZW4gYmVrb21tZW4sIG9iIGljaCBkZW4KVmVyYmxlaWIgZWluZXIgRnJhbnpvZXNpbiBoZXJhdXNmaW5kZW4ga29lbm50ZS4gSWNoIGhhbHRlIGVzIGZ1ZXIKYXVzc2ljaHRzbG9zLCBhYmVyIGljaCBoYWIgaWhtIGdlc2FndCwgZGFzcyBpY2ggZXMgd2VuaWdzdGVucyB2ZXJzdWNoZS4gCgpJc3QgamVtYW5kIGdhbnogenVmYWVsbGlnIGluIGRlciBMYWdlIGVpbiBmcmFuem9lc2lzY2hlbiBNYWVkZWwgbmFtZW5zIE5hZGluZSwKZGFzIDE5OTYgYW4gZGVyIEh1bWJvbGR0LVVuaXZlcnNpdGFldCBHZXNjaGljaHRlIHN0dWRpZXJ0IGhhdCwgenUgZmluZGVuPwoKTmVpbiwgbWVociBJbmZvcm1hdGlvbmVuIGhhYiBpY2ggYXVjaCBuaWNodCA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFkaW5lIHZlcnp3ZWlmZWx0IGdlc3VjaHQgKFBhdHJ5biwgIDYuIE9rdCAyMDAzLCAwOTo0Njo1Nik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2NTQyMjExOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjU0MjIxMTkKSW0gSW1tYWFtdCBkZXIgSHVtYm9sZC1VbmkgbmV0dCBtaXQgZGVuIEF1Z2VuIGtsaW1wZXJuPwpCZWkgdW5zIGhhYmVuIGRhcyBzbyBzY2hvbiB3ZWxjaGUgZ2VzY2hhZmZ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hZGluZSB2ZXJ6d2VpZmVsdCBnZXN1Y2h0IChDYXNzYW5kcmEsICA2LiBPa3QgMjAwMywgMTM6MTQ6NDIpOgp+IyEgcm49UGF0cnluIHJ0PTEwNjU0MjY0MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY1NDIyMTE5Cm1hbCBkZW4gZG9ydGlnZW4gRmFjaHNjaGFmdHNyYXQgb2RlciBzbyBmcmFnZW4gb2IgZGllIGRhIHdhcyB3aXNzZW4/CkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYWRpbmUgdmVyendlaWZlbHQgZ2VzdWNodCAoQmFtYmksICA2LiBPa3QgMjAwMywgMTM6MTg6NTQpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwNjU0Mzg4ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY1NDIyMTE5CldpZSBsYW5nZSBzdHVkaWVydCBtYW4gZGllc2VzIEZhY2ggc28gaW0gU2Nobml0dD8gSWNoIG1laW4sIGRhcyBpc3QgamV0enQgKG1hbApyZWNobmVuKSBldHdhIDcgSmFocmUgaGVyIHVuZCBhdWNoIGRpZSBGYWNoc2NoYWZ0IGtlbm50IGJlaSB3ZWl0ZW0gbmljaHQgYWxsZQpMZXV0ZSBtaXQgTmFtZW4uCgpBYmVyIG5lbiBWZXJzdWNoIGlzdHMgYWxsZW1hbCB3ZXJ0LgpVbmQgenVyIEFuZnJhZ2U6IEtlbm4gaWNoIG5pY2h0LiBNaXIgZmFsbGVuIG51ciBlaW4gcGFhciBFbHNhZXNzZXIgZWluLCBkaWUKaWNoIGtlbm4gdW5kIGRpZSBuaWNodCBtYWwgbWl0IE5hbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmFkaW5lIHZlcnp3ZWlmZWx0IGdlc3VjaHQgKENhdHdlYXpsZSwgIDYuIE9rdCAyMDAzLCAxNDowNDozOSk6Cn4jISBybj1CYW1iaSBydD0xMDY1NDM5MTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NTQyMjExOQpBbHNvIG1laW4gS29sbGVnZSBoYXQgZGllIFVuaXZlcndhbHR1bmcgc2Nob24gZ2VmcmFndCwgYWJlciBkaWUgaGFiZW4KZ2VhbnR3b3J0ZXQsIGRhc3Mgc2llIHNvbGNoZSBJbmZvcm1hdGlvbmVuIG5pY2h0IHJhdXNnZWJlbiBkdWVyZmVuLiBBdWNoCnZlcnN0YWVuZGxpY2guIApJY2ggYmV6d2VpZmVsLCBkYXNzIGRhIGRpZSBGYWNoc2NoYWZ0IG1laHIgd2Vpc3MvZGFyZiwgb2Rlcj8KCkltbWVyaGluIGhhdCBzaWUgR2VzY2hpY2h0ZSBhdWYgTGVocmFtdCBnZW1hY2h0LCBrZW5udCB2aWVsbGVpY2h0IHdlciBlaW5lCmZyYW56b2VzaXNjaGUgR2VzY2hpY2h0bGVocmVyaW4sIGRpZSBmcnVlaGVyIG1hbCBhbiBkZXIgSHVtYm9sZHQgc3R1ZGllcnQgaGF0Pwo6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmFkaW5lIHZlcnp3ZWlmZWx0IGdlc3VjaHQgKEdsb2luc29uLCAgNi4gT2t0IDIwMDMsIDIzOjMxOjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDY1NDQxODc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NTQyMjExOQpOZWluLCBrZW5uZSBpY2ggYXVjaCBuaWNodC4gRGllIEZTLUluaSBpc3QgYWJlciBkb2NoIGVpbiBndXRlciBBbmZyYWdlcHVua3QsCmRhIGRpZSBvZnQgZWluZW4gc2VociBndXRlbiBEcmFodCB6dW0gUHJ1ZWZ1bmdzYW10IGhhYmVuIHdlbGNoZXMgd2llZGVydW0gZ2FuegpnZW5hdSB1ZWJlciBkaWUgTmFtZW4gQmVzY2hlaWQgd2Vpc3MuIEFsc28gc3ByaWNoIGRvY2ggbWFsCiJmc2dlc2NoaWNodGVAZ2VzY2hpY2h0ZS5odS1iZXJsaW4uZGUiIG9kZXIgImtydWVnZXJqQGdlc2NoaWNodGUuaHUtYmVybGluLmRlIgooc3R1ZGVudGlzY2hlIFN0dWRpZW5iZXJhdHVuZykgZ2FhYW56IGZyZXVuZGxpY2ggYW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmFkaW5lIHZlcnp3ZWlmZWx0IGdlc3VjaHQgKFBpbGdyaW0sICA5LiBPa3QgMjAwMywgMTU6MjI6MjgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2NTQ3NTg3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjU0MjIxMTkKClRqYSwgd2VubiBTaWUgZG9ydCBlaW5lbiBBYnNjaGx1c3MgZ2VtYWNodCBoYXQgLi4uIG11ZXNzdGUgZXMgc293YXMKd2llIG5lIEV4YW1lbnNhcmJlaXQvTWFnaXN0ZXJhcmJlaXQgby5hZS4gZ2ViZW4sIG9kZXI/IFVuZCBkaWUgc2luZApvZWZmZW50bGljaCwgb2Rlcj8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4uLiBncm9zc2UgTVVEcyAuLi4gKEdsb2luc29uLCAxNi4gT2t0IDIwMDMsIDAyOjUzOjE4KToKc2VoZW4gc28gYXVzLCB3ZW5uIGRpZSBSZWxvZ2luLVNjcmlwdGUgZGVyIERhdWVyaWRsZXIgbWFsIHNjaGxpY2h0IGtlaW5lCkNoYW5jZSBnZWdlbiBjb25uZWN0LVNjaHdpZXJpZ2tlaXRlbiBoYXR0ZW4gdW5kIGF1ZmdhYmVuOgoKICAgICBMaXN0ZSBkZXIgTWl0c3BpZWxlciB2b20gRG9uLCAxNi4gT2t0IDIwMDMsIDAyOjUwOjEwICgxMiBUZWlsbmVobWVyKSAgICAKCkltdGl5YXouLi4uLi4uLkoucyBYaXBoaW5hLi4uLi4uLi5JLnogSW1kYS4uLi4uLi4uLi4uai5TIE1hZ2lydXMuLi4uLi4uLi4uWgpNY2RlZS4uLi4uLi4uLi5qLlMgRG90ei4uLi4uLi4uLi4uSS5TIEdhdWxpb3VzLi4uLi4uLmkubSBHbG9pbnNvbi4uLi4uLi4ud20KTW9yZ290aC4uLi4uLi4uai5SIE5pYmVsLi4uLi4uLi4uLmouUiBIYXRlLi4uLi4uLi4uLi5KLkUgSHVtbmkuLi4uLi4uLi4uai5FCgpbPE1hc3RlUj46PE1hc3RlUj5dIERhcyBNVUQgbGFldWZ0IGpldHp0IDkgVGFnZSwgMTEgU3R1bmRlbiwgNDkgTWludXRlbiB1bmQgMgpbPE1hc3RlUj46PE1hc3RlUj5dIFNla3VuZGVuLiBFcyBzaW5kIG1vbWVudGFuIDEyIFNwaWVsZXIgZWluZ2Vsb2dndDsgZGFzCls8TWFzdGVSPjo8TWFzdGVSPl0gTWF4aW11bSBsYWcgaGV1dGUgYmVpIDY2IHVuZCBkZXIgUmVrb3JkIGJpc2hlciBpc3QgMTk2LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNNVFAgc3BlcnJlbj8gKENhdHdlYXpsZSwgMTYuIE9rdCAyMDAzLCAxMjoyODowOSk6CgpVbnNlcmUgU2ljaGVyaGVpdHNhYnRlaWx1bmcgaXN0IGdlcmFkZSBhdWYgZGllIHdhaG53aXR6aWdlIElkZWUgZ2Vrb21tZW4sIFNNVFAKbmFjaCBhdXNzZW4gdm9uIG5pY2h0LU1haWxzZXJ2ZXJuIHp1IHZlcmJpZXRlbi4gRGFzIGhpZXNzZSBkYXMgekIgZWluIHNpbXBsZXMKbWFpbCwgbWFpbHggb2RlciBtdXR0IG5pY2h0cyBtZWhyIHNlbGJlciB2ZXJzY2hpY2tlbiBrb2VubnRlLiAKCldpciB1ZWJlcmxlZ2VuIGdlcmFkZSB3YXMgZnVlciBmYXRhbGUgRm9sZ2VuIGRhcyBoYXQgKHp1bSBCZWlzcGllbCBtdXNzCl9qZWRlc18gbG9rYWxlIHNlbmRtYWlsIGFuZ2VwYXNzdCB3ZXJkZW4pIG9kZXIgd2FzIGRhbm4gYWxsZXMgbmljaHQgbWVocgpmdW5rdGlvbmllcnQuCgpCcmFpbnN0b3JtdCBkb2NoIG1hbCBlaW4gYmlzc2NoZW4gdW5kIG1hY2h0IG1pdCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNNVFAgc3BlcnJlbj8gKEdyaW1tYm9ybiwgMTYuIE9rdCAyMDAzLCAxMjozMjo0MSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2NjMwMDA4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKbGVzcyBzZW5kbWFpbC5jZgpbLi4uXQojICJTbWFydCIgcmVsYXkgaG9zdCAobWF5IGJlIG51bGwpCkRTbWFpbHJlbGF5LmRlci5vcmdhbmlzYXRpb24uZGUKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNNVFAgc3BlcnJlbj8gKE5vbm5lLCAxNi4gT2t0IDIwMDMsIDEyOjMzOjA3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDY2MzAwMDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpXYXMgaGVpc3N0IGRlbm4gJ25hY2ggYXVzc2VuJz8gSWNoIHd1ZXNzdGUgYXVjaCBuaWNodCwgd2llc28gbWFuIGRpZSBNYWlsCm5pY2h0IHVlYmVyIGVpbmVuIHplbnRyYWxlbiBNYWlsc2VydmVyIGFid2lja2VsbiBsYXNzZW4gc29sbHRlLiBWb24gZGVuCkFyYmVpdHNwbGFldHplbiBicmF1Y2h0IGRvY2ggbmllbWFuZCBkaXJla3QgbWl0IGVpbmVtIE1haWxjbGllbnQgaW5zIE5ldHouCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU01UUCBzcGVycmVuPyAoQ2F0d2VhemxlLCAxNi4gT2t0IDIwMDMsIDEyOjMzOjIzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDY2MzAwMzYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpKYSBnZW5hdS4KCkVya2xhZXIgZGFzIG1hbCBhbGxlbiAxMDAwMCBVbml4aG9zdGJldHJlaWJlcm4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNNVFAgc3BlcnJlbj8gKEdyaW1tYm9ybiwgMTYuIE9rdCAyMDAzLCAxMjozNDoxOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2NjMwMDQwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKTmFjaCBkZW0gZHJpdHRlbiBib3VuY2UgdmVyc3RlaGVuIHNpZXMgdm9uIGFsbGVpbmUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTTVRQIHNwZXJyZW4/IChWYXJkaW9uLCAxNi4gT2t0IDIwMDMsIDEzOjIzOjAxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDY2MzAwMDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpEYXMgaXN0IGFuIHVuc2VyZXIgVW5pIHNlaXQgbWluZGVzdGVucyAyIEphaHJlbiBzby4uLiBtYW4ga2FubiBkYW1pdCBsZWJlbi4KRGFzIGVpbnppZ2UsIHdhcyBpY2ggdmVybWlzc3QgaGFiZSwgd2FyIEFkcmVzcy1WZXJpZmlrYXRpb24gbWl0IFZSRlkgYXVmIGRlbQpaaWVsc2VydmVyLgpJaHIgc2VpZCBhbHNvIG5pY2h0ICJhbGxlaW4iLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTTVRQIHNwZXJyZW4/IChSaW5nb3IsIDE2LiBPa3QgMjAwMywgMTQ6MzU6NTUpOgp+IyEgcm49VmFyZGlvbiBydD0xMDY2MzAzMzgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQouLi4gdW5kIGRhcyBWUkZZIG1hY2hlbiBzb3dpZXNvIGltbWVyIHdlbmlnZXIgTWFpbHNlcnZlciBtaXQsIHdlaWwgbWFuIGRhbWl0CnNvIHNjaG9lbiBkaWUgRW1wZmFlbmdlcmFkcmVzc2VuIHZvbiBTcGFtbWFpbHMgdmVyaWZpemllcmVuIGthbm4uCgpEZXIgZWluemlnZSBlY2h0ZSBOYWNodGVpbCwgZGVyIG1pciBzcG9udGFuIGVpbmZhZWxsdDogc29mZXJuIGRlciBuZXUKZWluZ2VyaWNodGV0ZSB6ZW50cmFsZSBNYWlsc2VydmVyIGRpZSBhbmdlZ2ViZW5lbiBBYnNlbmRlcmRvbWFpbnMgcHJ1ZWZ0IHVuZAprb3JyaWdpZXJ0LCBoYXQgbWFuIGtlaW5lIENoYW5jZSBtZWhyLCB6LkIuIE1haWxzIG1pdCBwcml2YXRlbSBBYnNlbmRlciB6dQp2ZXJzY2hpY2tlbi4gVW5kIGRhIG1hbiBhdWNoIG5pY2h0IG1laHIgenUgc2VpbmVtIGVpZ2VuZW4gTWFpbHJlbGF5IGR1cmNoCmtvbW10LCBtdXNzIG1hbiBkYW5uIGhhbHQgV2VibWFpbGVyIG51dHplbi4KClVuc2Nob2VuLCBhYmVyIGtlbm5lIGljaCBpbSBCdWVybyBzb3dpZXNvIG5pY2h0IGFuZGVycy4gCgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTTVRQIHNwZXJyZW4/IChHcmltbWJvcm4sIDE2LiBPa3QgMjAwMywgMTQ6NDA6NTQpOgp+IyEgcm49UmluZ29yIHJ0PTEwNjYzMDc3NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5CkplIG5hY2hkZW0gZ2lidHMgYXVjaCBkaWUgTW9lZ2xpY2hrZWl0LCB6LkIuIHBlciBzc2ggYXVmIGRlbiBoZWltaXNjaGVuIChmbGF0CnJhdGUgYW5nZWJ1bmRlbmVuKSBSZWNobmVyIG9kZXIgc29uc3QgZWluZW4gUmVjaG5lciAiZHJhdXNzZW4iIHp1IGtvbW1lbiwgdW5kCmRvcnQgc2VpbmUgbWFpbCB6dSBoYW5kaGFiZW4uIE9kZXIgaGFsdCBkZW4gZWlnZW5lbiBSZWNobmVyIGRyYXVzc2VuIGFscyByZWxheQp6dSB2ZXJ3ZW5kZW4gdW5kIGRvcnRoaW4genUgdHVubmVsbi4gVmVybXV0bGljaCByZWljaHQgc2Nob24gZWluICJ0dW5uZWwiCmR1cmNoIGVpbmVuIHVudWVibGljaGVuIHBvcnQsIGRhbWl0IGRhcyBuaWNodCBhYmdlZmFuZ2VuIHdpcmQuLi4KRGFmdWVyIGJyYXVjaHQgbWFuIGFsbGVyZGluZ3MgZWluZW4gUmVjaG5lciBkcmF1c3NlbiwgYXVmIGRlbSBtYW4KZW50c3ByZWNoZW5kZW4gWnVnYW5nIGhhdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU01UUCBzcGVycmVuPyAoUmluZ29yLCAxNi4gT2t0IDIwMDMsIDE0OjQzOjE4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDY2MzA4MDU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQouLi4gdW5kIGVpbmVuIEludGVybmV0enVnYW5nLCBiZWkgZGVtIG5pY2h0IHZpZWwgbWVociBhbHMgUG9ydCAyNSBnZXNwZXJydAppc3QuIFdhcyBsZWlkZXIgYXVmIGRpZSB3ZW5pZ3N0ZW4gRmlybWVuLUZpcmV3YWxscyB6dXRyaWZmdC4gKnNldWZ6KgoKQWJlciBDYXR0eSBzY2hlaW50IGRhIGphIChub2NoPykgaW4gZWluZXIgZ2x1ZWNrbGljaGVyZW4gTGFnZSB6dSBzZWluLiA7LSkKCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNNVFAgc3BlcnJlbj8gKFZhcmRpb24sIDE2LiBPa3QgMjAwMywgMTQ6NDU6NTMpOgp+IyEgcm49UmluZ29yIHJ0PTEwNjYzMDc3NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5Ck9kZXIgc2ljaCBlaW5lbiB0dW5uZWwgenUgZWluZW0gZXh0ZXJuZW4gUmVjaG5lciBsZWdlbiwgZGVyIHdpZWRlcnVtIGZyZWllbgp6dWdyaWZmIGhhdC4KClZhcmRpb24sIHNhbW1lbHQgbmljaHQgdW1zb25zdCBsb2dpbnMgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTTVRQIHNwZXJyZW4/IChHcmltbWJvcm4sIDE2LiBPa3QgMjAwMywgMTQ6NDc6MDEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDY2MzA4MzUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpVbmQgd2VubiBzb25zdCBuaWNodHMgZnJlaSBpc3QsIHBvcnQgODAgaXN0IG1laXN0IGZyZWkuIEFsc28gZGVtIHNlbmRtYWlsCnp1aGF1c2UgZXJ6YWVobGVuIGVyIHNvbGwgYXVmIFBvcnQgODAgbGF1c2NoZW4sIHVuZCBndXQgaXN0Li4uCgpHZEEgaGF0IHNvd2FzIGluIGRlciBQcmF4aXMgYWJlciBuaWUgYXVzcHJvYmllcmVuIG11ZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNNVFAgc3BlcnJlbj8gKE1hbmRyYWdvbiwgMTYuIE9rdCAyMDAzLCAxNDo0NzoyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA2NjMwODQyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKTG9uZyBsaXZlIHRoZSBQcm94eSAuLi4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU01UUCBzcGVycmVuPyAoQ2FkcmFjaCwgMTYuIE9rdCAyMDAzLCAxNDo1MToxMik6Cn4jISBybj1SaW5nb3IgcnQ9MTA2NjMwNzc1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKTWFjaHQgc2ljaCBoZXV0ZSBlY2h0IG5vY2ggd2VyIGRpZSBNdWVoZSBTcGFtZW1wZmFlbmdlcmFkcmVzc2VuIHp1CnZlcmlmaXppZXJlbj8gSXJnZW5kd2llIGhhYiBpY2ggZGVuIEVpbmRydWNrIGRhcyBpbnRlcmVzc2llcnQgZWggbmljaHQgbWVocgp1bmQgZXMgd2lyZCBlaW5mYWNoIG11bnRlciBkcmF1ZiBsb3MgZ2VzZW5kZXQuCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTTVRQIHNwZXJyZW4/IChOb25uZSwgMTYuIE9rdCAyMDAzLCAxNDo1MzozMyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNjYzMDg2NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5ClZlcmlmaXppZXJ0ZSBBZHJlc3NlbiBrYW5uIG1hbiB0ZXVyZXIgdmVya2F1ZmVuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTTVRQIHNwZXJyZW4/IChWYXJkaW9uLCAxNi4gT2t0IDIwMDMsIDE0OjU0OjM1KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjYzMDg4MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5ClZlcmlmaXppZXJlbiBnZWh0IGFiZXIgdWViZXIgV2ViYnVncyBkZXV0bGljaCBiZXNzZXIgLSBkYW4gd2Vpc3MgbWFuIGF1Y2gKZ2xlaWNoLCBkYXNzIGRpZSBBZHJlc3NlIHp1IGVpbmVtIE1lbnNjaGVuIGdlaG9lcnQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTTVRQIHNwZXJyZW4/IChDYWRyYWNoLCAxNi4gT2t0IDIwMDMsIDE0OjU2OjU5KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2NjMwODg3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKRGFzIGRyZWlzdGUgYmlzaGVyIGZhbmQgaWNoIGVoIG5vY2ggZWluZSAoZGV1dHNjaGUpIEZpcm1hLCBkaWUgTWFpbC1BZGRyZXNzZW4KYXVzIGRlciBEZW5pYyBEQiB6dXNhbW1lbmdlc2V0enQgaGF0LgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU01UUCBzcGVycmVuPyAoUmluZ29yLCAxNi4gT2t0IDIwMDMsIDE0OjU3OjIzKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2NjMwODg3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjYzMDAwODkKLi4uIGRlciB6dWRlbSBTcGFtIHdlbmlnc3RlbnMgZWlubWFsIGF1Zm1hY2h0LCBlaW5lbiBkaXJla3RlbiBJbnRlcm5ldHp1Z2FuZwpiZXNpdHp0ICh3aWNodGlnIGZ1ZXIgdW50ZXJnZXNjaG9iZW5lIFRyb2phbmlzY2hlIFBmZXJkZSkgdW5kIGVpbiBkZXJhcnQKdW5zaWNoZXJlcyBNYWlscHJvZ3JhbW0gYmVudXR6dCwgZGFzcyBIVE1MLU1haWxzIG9obmUgTmFjaGZyYWdlIGFscyBzb2xjaGUKZ2VvZWZmbmV0IHVuZCBmZWhsZW5kZSBUZWlsZSB1ZWJlcidzIE5ldHogbmFjaGdlbGFkZW4gd2VyZGVuLgoKSmEsIHNvbGNoZSBBZHJlc3NlbiBzaW5kIGRldXRsaWNoIG1laHIgd2VydCBhbHMgZGVyIER1cmNoc2Nobml0dC4gOm8pCgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTTVRQIHNwZXJyZW4/IChWYXJkaW9uLCAxNi4gT2t0IDIwMDMsIDE0OjU4OjEyKToKfiMhIHJuPVJpbmdvciBydD0xMDY2MzA5MDQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpNaXQgZGVyYXJ0aWdlbiBNYWlsY2xpZW50ZW4gc29sbHRlbiA+IDcwJSBkZXIgSW50ZXJuZXRudXR6ZXIgYXVzZ2VydWVzdGV0IHNlaW4KOi0pCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTTVRQIHNwZXJyZW4/IChSaW5nb3IsIDE2LiBPa3QgMjAwMywgMTU6MDE6NDQpOgp+IyEgcm49VmFyZGlvbiBydD0xMDY2MzA5MDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpTZWl0ZGVtIGRpZSB1ZWJsaWNoZW4ga29zdGVubG9zZW4gV2VibWFpbGVyIEhUTUwtTWFpbHMgbmljaHQgbWVociBkaXJla3QKYW56ZWlnZW4sIHd1ZXJkZSBpY2ggRGVpbmUgU2NoYWV0enVuZyBldHdhcyBhbnp3ZWlmZWxuLiBEZXIgR3Jvc3N0ZWlsIGRlcgpTdGFuZGFyZC1JbnRlcm5ldG51dHplciBoYXQgZG9jaCBrZWluZW4gZWlnZW5lbiBNVUEsIHNvbmRlcm4gYXJiZWl0ZXQKYXVzc2NobGllc3NsaWNoIG1pdCBXZWJtYWlsZXJuLCBvZGVyPwoKClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU01UUCBzcGVycmVuPyAoTm9ubmUsIDE2LiBPa3QgMjAwMywgMTU6MDU6MzApOgp+IyEgcm49UmluZ29yIHJ0PTEwNjYzMDkzMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5CkRpZSBtZWlzdGVuLCBkaWUgaWNoIGtlbm5lLCBhcmJlaXRlbiBtaXQgQXVzZ3Vjay4gQmVpIFdlYi5kZSBoYXQgbWFuIGF1Y2ggZWluZQpBbmxlaXR1bmcgYmVrb21tZW4sIHdpZSBtYW4gZGFzIGVpbnN0ZWxsZW4gbXVzcywgZGFtaXQgbWFuIFd1ZXJtZXIgdmVydGVpbGVuCmthbm4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNNVFAgc3BlcnJlbj8gKENhZHJhY2gsIDE3LiBPa3QgMjAwMywgMTY6MDE6MDApOgp+IyEgcm49UmluZ29yIHJ0PTEwNjYzMDkzMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5ClZlcmdlYmVuIFQtT25saW5lLCBBT0wgJiBDbyBuaWNodCBub2NoIHJpY2h0aWdlIGVtYWlsYWRyZXNzZW4/IEljaCBkYWNodGUKV2VibWFpbHMgc2VpZW4gendhciB2ZXJicmVpdGV0IGFiZXIgZWhlciBuaWNodCB1bnRlciB2b2xsIERBVXMuCkFscyBtZWluZSBNdXR0ZXIgYmVzY2hsb3NzIG1hbCBpbnMgSW50ZXJuZXQgenUgZ3Vja2VuLCBrYW0gc2llIGdsZWljaCBtaXQKZWluZXIgZGllc2VyIHRvbGxlbiBBT0wtQ0RzIGFuLiBWb24gY2FsbCBieSBjYWxsIEFuYmlldGVybiB3aWUgZnJlZW5ldCBvZGVyIHNvCih1bmQgbnVyIGRhbm4gYnJhdWNoc3RlIG5lIHdlYm1haWxhZHJlc3NlKSBoYWJlbiB1bndpc3NlbmRlIENvbXB1dGVyYmVudXR6ZXIKbm9jaCBuaWUgd2FzIGdlaG9lcnQuIFNvd2FzIHdpc3NlbiBpbiBEQVUtS3JlaXNlbiBudXIgZGllICJGYWNobGV1dGUiLCBkaWUKcmVnZWxtYWVzc2lnIENvbXB1dGVyLUJJTEQgbGVzZW4gdW5kIGVjaHRlIENvbXB1dGVyIEdlbmllcyBzaW5kLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU01UUCBzcGVycmVuPyAoQW1hcnlsbGlzLCAxNy4gT2t0IDIwMDMsIDE2OjMyOjMxKToKfiMhIHJuPVJpbmdvciBydD0xMDY2MzA3NzU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpEZW0gTWFpbHNlcnZlciwgdWViZXIgZGVuIGljaCB2ZXJzZW5kZSB1bmQgZGVyIG1laW5lIHZlcndlbmRldGUgQWJzZW5kZWFkcmVzc2UKZ2dmLiBlaW5mYWNoIGtvcnJpZ2llcnQgb2RlciBkaWUgTWFpbCBkYW5uIHp1cnVlY2t3ZWlzdCwgd3VlcmRlIGljaCB3YXMgaHVzdGVuCjopCgooZXMgc2VpIGRlbm4sIGVzIGlzdCBpbSBGaXJtZW5uZXR6d2VyayB1bmQgaWNoIG11c3MgbWljaCBkZXIgZG9ydGlnZW4gUG9saWN5CmJldWdlbi4pCgpBbHMgS3VuZGUgZXJ3YXJ0ZSBpY2ggamVkZW5mYWxscyB2b24gbWVpbmVtIElTUCwgZGFzcyBpY2ggYmVsaWViaWdlIE1haWxzCnZlcnNlbmRlbiBkYXJmLCBkYSBlcyBpbiBrZWluZW0gUkZDIHZvcmdlc2NocmllYmVuIGlzdCwgZGFzcyBkaWUKQWJzZW5kZWFkcmVzc2UgenVyIERvbWFpbiBkZXMgSVNQL01haWxzZXJ2ZXJzICJwYXNzZW4iIG11c3MuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTTVRQIHNwZXJyZW4/IChBbWFyeWxsaXMsIDE3LiBPa3QgMjAwMywgMTY6MzM6MjcpOgp+IyEgcm49UmluZ29yIHJ0PTEwNjYzMDgxOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5CkluIGRpZXNlbSBadXNhbW1lbmhhbmcgYmluIGljaCBtYWwgd2llZGVyIGZyb2gsIGRhc3MgaWNoIGFscyBBZG1pbiBtZWluZXMKQXJiZWl0Z2ViZXJzIG1laW5lIFN5c3RlbWUgc2VsYnN0IGtvbmZpZ3VyaWVyZW4ga2Fubi4gRGEgZ2lidHMgc29sY2hlCiJGZWF0dXJlcyIgbmljaHQgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNNVFAgc3BlcnJlbj8gKEFtYXJ5bGxpcywgMTcuIE9rdCAyMDAzLCAxNjozNjoxMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjYzMDg4NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDY2MzAwMDg5ClJ1bGUgMTogU3BhbW1lcnMgbGllLlsxXQoKRGVzaGFsYiBzaW5kIEFkcmVzc2VuLCBkaWUgYWxzICJ2ZXJpZml6aWVydCIgdmVya2F1ZnQgd2VyZGVuLCBnZW5hdSBlcnN0dW5rZW4KdW5kIGVybG9nZW4sIHdpZSBkaWVqZW5pZ2VuLCB2b24gZGVuZW4gU3BhbW1lciBnZXJuZSBiZWhhdXB0ZW4sIGRhc3MgZGllCkVtcGZhZW5nZXIgZGVtIEVtcGZhbmcgdm9uIFdlcmJ1bmcgenVnZXN0aW1tdCBoYWJlbi4KCkFtYSoKWzFdIGh0dHA6Ly93d3cuaW5kaWEuY2F1Y2Uub3JnL2luZGV4Lmh0bWw/c3BhbWxpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU01UUCBzcGVycmVuPyAoQW1hcnlsbGlzLCAxNy4gT2t0IDIwMDMsIDE2OjM3OjU3KToKfiMhIHJuPVJpbmdvciBydD0xMDY2MzA5MzA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2NjMwMDA4OQpOYWNoIG1laW5lciBFcmZhaHJ1bmc6IG5laW4uCgpWb24gdW5zZXJlbiAxMjAuMDAwIFByaXZhdGt1bmRlbiBhcmJlaXRlbiB3b2hsIGV0d2EgOTUlIG1pdCBTY2huZWxsYXVzYmxpY2ssCnVuZCBudXIgc2VociB3ZW5pZ2UgKHdlbmlnZSBUYXVzZW5kKSBudXR6ZW4gdW5zZXJlbiBhbmdlYm90ZW5lbgpXZWJtYWlsLVNlcnZpY2UuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIdXJyYSEhISBXaWVkZXIgZWluIEp1bmdlISAoQW5jYWxhZ29uLCAxOS4gT2t0IDIwMDMsIDE0OjAxOjExKToKSGFsbG9lY2hlbmtudWRkZWxzIQpJY2ggbXVzcyBkb2NoIG1hbCBlYmVuIHZvbGxlciBGcmV1ZGUgdW5kIFN0b2x6IGhlcnVtdHJhdHNjaGVuLCBkYXNzIG1laW4KUkwtQ2hhcmFrdGVyNCB6dXNhbW1lbiBtaXQgc2VpbmVyIGdhdHRpbiBoZXV0ZSBuYWNodCB1bSAxLjI2IHVociBlaW5lbiB6d2VpdGVuCmdlc3VuZGVuID5qdW5nZW4gYXVmIGRpZSBXZWx0IGJlZm9lcmRlcnQgaGF0LgpIZW5uaW5nIHNvbGwgZGVyIEd1dGUgamV0enQgaGVpc3NlbiEKCgpFdWNoIGFsbGVuIGFsbGVuIGVpbiBwYWFyIGJlc29uZGVycyBzY2huZSBPYmVyZ2x1ZWNrc2dlZnVlaGxza251ZGRsZXIhISEKCkFuY2FsYWdvbgpEcmFjbyBrbnVkZGVsbGVuc2lzIG1ham9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNVUQtVW1mcmFnZSAoR3VsYWhyLCAxMy4gTm92IDIwMDMsIDE0OjE2OjE1KToKSGFsbG8gaWhyIGFsbGUsCmt1cnogenVyIEVya2xhZXJ1bmcsIGljaCBzdHVkaWVyZSBJbmZvcm1hdGlrIHVuZCB3aXIgaGFtIG51biBkaWUgd3VuZGVydm9sbGUKQXVmZ2FiZSBlaW5lbiBrbGVpbmVuIE1VRC1TZXJ2ZXIgenUgZW50d2lja2Vsbih3ZWxjaGVyIG5hdHVlcmxpY2ggbmljaHQKbmFjaGhlciBhbHMgS29ua3VycmVueiB6dSBiZXNldGVoZW5kZW4gTVVEcyBvbmxpbmUgZ2VoZW4gc29sbCkuIERhenUgbXVlc3Nlbgp3aXIgdW5zIG5hdHVlcmxpY2ggZXJzdG1hbCBlaW4gYmlzc2wgdW1ob2VyZW4sIHdhcyBkZW5uIGVpZ2VudGxpY2ggc28gZ2V3b2xsdAp3aXJkIHZvbiBkZW4gU3BpZWxlcm4sIGRhIHNpY2ggdm9yIGRpZXNlciBBdWZnYWJlIG5pZW1hbmQgdm9uIHVuc2VyZXIgR3J1cHBlCm1pdCBNVURzIGJlc2NoYWVmdGlndCBoYXR0ZS4gCkljaCBob2ZmZSBkZXNoYWxiIG1hbCwgZGFzcyB1bnMgdW5zIGplbWFuZCBoZWxmZW4gbWFnLCBpbmRlbSBlciBkZW4gRnJhZ2Vib2dlbgpoaWVyOiBodHRwOi8vbXVkLmJhc2UuYWZyYWlkLm9yZyBhdXNmdWVsbHQsIG9kZXIgYXVjaCBhbmRlcndlaXRpZ2UgVGlwcyBhbiB1bnMKc2NoaWNrdCAoYWt1aHJkanVyYWNoMkB5YWhvby5kZSkuCldpciBoYWJlbkJldm9yIElociBmcmFndCwgd2lyIGhhYmVuIGVzIHNjaG9uIGluIGRlbiBOZXdzZ3JvdXBzIGZ1ZXIgTVVEcwp2ZXJzdWNodCwgYnp3LiBkYXMgbGFldWZ0LCBkYSBlcyBhYmVyIG1laHJlcmUgR3J1cHBlbiBhbiB1bnNlcmVyIFVuaSBnaWJ0LCBkaWUKZGFzIG1hY2hlbiBicmF1Y2hlbiB3aXIgbmUgTWVuZ2UgUXVlbGxlbiA7LSkKSWNoIGRhbmtlIEV1Y2ggc2Nob25tYWwgdm9yYWIgZnVlciBFdXJlIEhpbGZlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVVELVVtZnJhZ2UgKEJhbWJpLCAxMy4gTm92IDIwMDMsIDE0OjI0OjA1KToKfiMhIHJuPUd1bGFociBydD0xMDY4NzI5Mzc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2ODcyOTM3NQpJY2ggd2lsbCBEaXIgamEgbmljaHQgenUgbmFoZSB0cmV0ZW4sIGFiZXIgZGVuIEZyYWdlYm9nZW4sIGRlciBpbiBlaW5lbQphbmRlcmVuIEFydGlrZWwgc2Nob24gZ2Vwb3N0ZXQgd3VyZGUsIGZhbmQgaWNoIHdlc2VudGxpY2ggaW50dWl0aXZlci4gSWNoIGthbm4KbWl0IGVpbmlnZW4gZGVyIEZyYWdlbiBrYXVtIGV0d2FzIGFuZmFuZ2VuLiBOZXR0IGlzdCBuYXR1ZXJsaWNoLCBkYXNzIG1hbiBiZWkKZXVjaCBkaWUgRXJnZWJuaXNzZSBzZWhlbiBrYW5uLgoKSW4gd2VsY2hlciBWb3JsZXN1bmcgbWFjaHQgaWhyIGRhcyB1bmQgd29sbHQgaWhyIERyaXZlciB1bmQgTXVkbGliIHNlbGJzdApwcm9nZ2VuIChKYT8gSW4gd2VsY2hlciBTcHJhY2hlPykgb2RlciBzZXR6dCBpaHIgYXVmIHdhcyBCZXN0ZWhlbmRlbSBhdWY/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1VRC1VbWZyYWdlIChCb2luZywgMTMuIE5vdiAyMDAzLCAxNDo1OTozNCk6Cn4jISBybj1CYW1iaSBydD0xMDY4NzI5ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2ODcyOTM3NQpMaWVzIG1hbCBkZS5hbHQubXVkLCBkYSBoYXQgZGVyIEJldHJldWVyIHNjaG9uIGVpbmlnZXMgenUgZ2VzY2hyaWViZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVVELVVtZnJhZ2UgKEd1bGFociwgMTMuIE5vdiAyMDAzLCAyMDoyMzowMik6Cn4jISBybj1CYW1iaSBydD0xMDY4NzI5ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2ODcyOTM3NQpBbHNvIGVyc3RtYWwgdmllbGVuIERhbmssIGRhc3MgRHUgRGljaCBtaXQgZGVtIEZyYWdlYm9nZW4gYmVzY2hhZWZ0aWd0IGhhc3QuIApBbHNvIGJpc2hlciBzY2hpZW4gZXMgbmljaHQgc28sIGFscyBvYiBkaWUgbWVpc3RlbiB1bnNlcmUgRnJhZ2VuIG5pY2h0CnZlcnN0ZWhlbiB3dWVyZGVuLCBrYW5uIG5hdHVlcmxpY2ggc2VociBndXQgYW5nZWhlbiwgZGFzcyBkaWUgYW5kZXJlciBHcnVwcGVuCmludHV0aXZlciBzaW5kLiBQcm9ibGVtIHdhciBhdWNoLCBkYXNzIHdpcmtsaWNoIG5pZW1hbmQgdW5zZXJlciBHcnVwcGUgdm9yCmRpZXNlciBBdWZnYWJlIHNjaG9uIEVyZmFocnVuZ2VuIG1pdCBNVURzIGhhdHRlLCB3ZXNoYWxiIHdpciB1bnMgZXJzdCB6aWVtbGljaApzcGFldCB1ZWJlcmhhdXB0IEdlZGFua2VuIHp1IGRlbSBGcmFnZWJvZ2VuIG1hY2hlbiBrb25udGVuLiBBYmVyIG5hamEuLi4KRGllIEltcGxlbWVudGllcnVuZyB3aXJkIGRhbm4sIHNvd2VpdCB3aXIgZGFzIHdpc3NlbiwgbWl0IEphdmEgdW5kCkphdmEtU2VydmxldHMgZ2VzY2hlaGVuLCBhYmVyIGRhcyBpc3QgamEgbm9jaCBlaW4gU2VtZXN0ZXIgaGluLCBkZXNobGFiIGhhbQp3aXIgZGEgbm9jaCBuaWNodCBzbyB3aXJrbGljaCBkaWUgQWhudW5nLCBhYmVyIGlzIGphIG5vY2ggWmVpdCA7LSkKU28sIGFsc28gbm9jaG1hbCBkYW5rZQptZmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1VRC1VbWZyYWdlIChEYXJrd2luZywgMTUuIE5vdiAyMDAzLCAxNjoxOToyNCk6Cn4jISBybj1Cb2luZyBydD0xMDY4NzMxOTc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2ODcyOTM3NQpTZWx0ZW4gYmVzY2hldWVydGUgSWRlZSwgc2VpbmUgU3R1ZGllcyB6dW0gbXVkZGVuIHp1IHNjaGlja2VuLiBEaWUga2FubiBlcgplcnN0bWFsIGRpZSBuYWVjaHN0ZW4gZHJlaSBTZW1lc3RlciBhYnNjaHJlaWJlbiA6PgoKRGFya3dpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNVUQtVW1mcmFnZSAoS2VsbHlidW5keSwgMTYuIE5vdiAyMDAzLCAyMDo1ODo0NCk6Cn4jISBybj1HdWxhaHIgcnQ9MTA2ODcyOTM3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjg3MjkzNzUKU2NoYXUgbWFsIGlucyBSWiBEZWluZXIgVW5pLiBEYSBnaWJiZXQgZ2VudWcgTXVkZGVyLCB3YWhyc2NoZWlubGljaC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVELUNyYXNoIChNdWFkaWIsIDIwLiBOb3YgMjAwMywgMTE6MzI6MjcpOgpIaSwKCndpZSBpaHIgYmVzdGltbXQgc2Nob24gYmVtZXJrdCBoYWJ0IGhhdHRlIGRhcyBNb3JnZW5HcmF1ZW4gZWluZW4ga2xlaW5lbgpDcmFzaC4gVXJzYWNoZSB3YXIgZWluIGV0d2FzIGRhZW1saWNoZXIgU3BlaWNoZXJ0ZXN0IGVpbmVzIG5pY2h0IG5hZWhlcgpnZW5hbm50ZW4gTWFnaWVycy4KVmllbCBTcGFzcyBtaXQgZGVtIGZyaXNjaGVuIFNwZWljaGVyIQoKR3J1c3MgCgpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNVUQtQ3Jhc2ggKEFyc2FpLCAyMC4gTm92IDIwMDMsIDExOjM1OjU1KToKfiMhIHJuPU11YWRpYiBydD0xMDY5MzI0MzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2OTMyNDM0NwpOYW1lbiEgKmcqCgpBcnNhaSBzYW1tZWx0IFN0ZWluZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVVELUNyYXNoIChGb29iYXIsIDIwLiBOb3YgMjAwMywgMTE6MzY6NDkpOgp+IyEgcm49QXJzYWkgcnQ9MTA2OTMyNDU1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjkzMjQzNDcKV2ltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNVUQtQ3Jhc2ggKEFyc2FpLCAyMC4gTm92IDIwMDMsIDExOjM3OjMwKToKfiMhIHJuPUZvb2JhciBydD0xMDY5MzI0NjA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2OTMyNDM0NwogOndpcmZ0IEZvb2JhciBkZW4gZXJzdGVuIFN0ZWluIGFuIGRlbiBLb3BmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTVVELUNyYXNoIChCaWVsZWZlbGQsIDIwLiBOb3YgMjAwMywgMTE6Mzk6MTcpOgp+IyEgcm49QXJzYWkgcnQ9MTA2OTMyNDY1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNjkzMjQzNDcKRm9vYmFyIHdhcnMgYWJlciB3aXJrbGljaCBuaWNodCA7LSkKCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNVUQtQ3Jhc2ggKENyb2Z0LCAyMC4gTm92IDIwMDMsIDEzOjI3OjEzKToKfiMhIHJuPU11YWRpYiBydD0xMDY5MzI0MzQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA2OTMyNDM0NwpTdGVsbHQgc2ljaCBudXIgZGllIEZyYWdlIHdpZXNvIGRhcyBuaWNodCBpbiBlaW5lbSBUZXN0bXVkIGdldGVzdGV0IHd1cmRlLgpQZXJ3ZXJmdCBkZW4gU2NodXJrZW4gbWl0IFdhdHRlcGFldXNjaGVuIHBpcyBlciBwbHV0ZXQhCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lcmUgQmFzdGVsZWllbi4uLiAoWm9vaywgMTAuIERleiAyMDAzLCAxMjowNTo1NSk6CkhhbGxvIHp1c2FtbWVuLAoKaGV1dGUgTmFjaG1pdHRhZyB3aWxsIGljaCBlaW5lIGtsZWluZSBBZW5kZXJ1bmcgZWluc3BpZWxlbjsgaWNoIGhvZmZlLCBpY2ggCmJpbiBuaWNodCB6dSBlaW5nZXJvc3RldCB1bmQgcmVpc3NlIGRhcyBnYW56ZSBNdWQgZWluLi4uIDotKSkpCgpJY2ggYml0dGUga3VyemZyaXN0aWdlIFN0b2VydW5nZW4genUgZW50c2NodWxkaWdlbjsgZWluIENyYXNoIGlzdCBqZWRvY2gKbmljaHQgdm9yZ2VzZWhlbiA7KSkpCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmVyZSBCYXN0ZWxlaWVuLi4uIChab29rLCAxMC4gRGV6IDIwMDMsIDE1OjUwOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTA3MTA1NDM1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzEwNTQzNTUKWm9vayBnaWJ0IEVudHdhcm51bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWVja21lbGR1bmdlbiB6dW0gUmVsZWFzZSAoVmFuaW9uLCAxMy4gRGV6IDIwMDMsIDEyOjI2OjI1KToKSGksCgpXaXIgc2luZCBpbW1lciBkYW5rYmFyIGZ1ZXIgSGlud2Vpc2UsIHdlbm4gamVtYW5kIEZlaGxlciBmaW5kZXQuIEVzIG1hY2h0IGRpZQpBcmJlaXQgYWJlciBsZWljaHRlciwgd2VubiBzaWNoIGRlciBlbnRzcHJlY2hlbmRlIG5pY2h0IGFscyBHYXN0IGJlaSB1bnMKbWVsZGV0LiBadW0gZWluZW4ga29lbm50ZSBpY2ggc28gUnVlY2ttZWxkdW5nIGdlYmVuLCB6dW0gYW5kZXJlbiBpc3QgZXMgbWlyCmF1Y2ggbW9lZ2xpY2gsIG5vY2htYWwgbmFjaHp1aGFrZW4uCgpGYWxscyBHYXN0MSBoaWVyIG1pdGxpZXN0OiBJY2gga2FubiBkZW4gRmVobGVyIG5pY2h0IHJlcHJvZHV6aWVyZW4gdW5kIGF1Y2gKZGllIFNvdXJjZW4gc2VoZW4gZ3V0IGF1cy4gRXZlbnR1ZWxsIGhhc3QgRHUgbmljaHQgZGFzIGdhbnplIFJlbGVhc2UKYXVmZ2VzcGllbHQgdW5kIG5vY2ggZWluZSBhbHRlIERhdGVpIGdlaGFidC4gQml0dGUgbWVsZGUgRGljaCwgZmFsbHMgRHUgbWVocgpJbmZvcm1hdGlvbmVuIGhhc3QuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJ1ZWNrbWVsZHVuZ2VuIHp1bSBSZWxlYXNlIChHcmltbWJvcm4sIDEzLiBEZXogMjAwMywgMTM6NTc6NTgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzEzMTQ3ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxMzE0Nzg1CkFiZXIgbWVsZGUgRGljaCBuaWNodCBwZXIgTVBBIC0gQXJ0aWtlbCB2b24gR2Flc3RlbiB3ZXJkZW4gYmVrYW5udGxpY2ggb2huZQpSdWVja3NpY2h0IGF1ZiBkZW4gSW5oYWx0IGdlbG9lc2NodC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJ1ZWNrbWVsZHVuZ2VuIHp1bSBSZWxlYXNlIChHdWFyZCwgMTMuIERleiAyMDAzLCAxNjowNTo1OSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3MTMyMDI3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzEzMTQ3ODUKYXUgamEsIGRpZSBkaXNrdXNzaW9uIGhhdHRlbiB3aXIgbGFuZ2UgbmljaHQgbWVociA6LSkgd2llc28gaXNubiBkYXMgc28sCmdyaW1tYm9ybiA/IC4tKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUnVlY2ttZWxkdW5nZW4genVtIFJlbGVhc2UgKFZlY3RvciwgMTMuIERleiAyMDAzLCAxODoxODoyMyk6Cn4jISBybj1HdWFyZCBydD0xMDcxMzI3OTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MTMxNDc4NQp3ZWlsIHNpbm52b2xsLiBqZWRlciBrYW5uIHNpY2ggbmFjaCBkZXIgZ2FzdC12ZXJvZWZmZW50bGljaHVuZyBhbHMgZ2FzdAplaW5sb2dnZW4gdW5kIGRlbiBhcnRpa2VsIGxvZXNjaGVuL3ZlcnNjaGllYmVuLCBhbHNvIGthbm5zIGF1Y2ggZ2xlaWNoCmdyaW1tYm9ybiBtYWNoZW4KCnZlY3RvciwgZGlza3Vzc2lvbmVuIHNjaGxpZXNzZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSdWVja21lbGR1bmdlbiB6dW0gUmVsZWFzZSAoR3VhcmQsIDE0LiBEZXogMjAwMywgMTA6MjA6MDQpOgp+IyEgcm49VmVjdG9yIHJ0PTEwNzEzMzU5MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxMzE0Nzg1CnNhY2hsaWNoLCBiZWdydWVuZGVuZCwgb2huZSBmbGFtZXM/IHNhY2htYWwsIHdvIGJpbiBpY2ggaGllciBnZWxhbmRldD8gZGFzCmthbm4gbmljaCBkYXMgbWcgc2VpbgoKR3VhcmQgKmVudHRhZXVzY2h0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVXJsYXViLiBXYXMgbnU/IChWYW5pb24sIDE4LiBEZXogMjAwMywgMjA6NTU6MTMpOgpNb3JnZW4gaXN0IGVzIGZ1ZXIgbWljaCBlbmRsaWNoIHNvd2VpdC4gRGVyIGxldHp0ZSBBcmJlaXRzdGFnIGltIEphaHIuIEljaAp3ZXJkIGFsc28gbWFsIHdpZWRlciBldHdhcyBaZWl0IGhhYmVuIHVuZCBkZW5rZSBkYXJ1ZWJlciBuYWNoLCBtaXIgZWluIG5ldHRlcwpDb21wdXRlcnNwaWVsY2hlbiB6dSBsZWlzdGVuLiAKCk51biBkZXIgR3J1bmQsIHdlc2hhbGIgaWNoIHNjaHJlaWJlOiAKCiAgV2FzIHNwaWVsdCBtYW4gZGVubiBzbz8KCkljaCBtb2NodGUgZ2FueiBnZXJuIENvbG9uaXphdGlvbiwgb2RlciBhbGxlcyB3YXMgQ2l2aWxpemF0aW9uIHNvIHJhdXNnZWJyYWNodApoYXQgKG5hamEsIGF1c3NlciBkYXMgbGV0enRlLCBkYSBnZWZpZWwgbWlyIGRhcyBSZXNzb3VyY2VubWFuYWdlbWVudCBuaWNodCksCldhcmNyYWZ0IEkgZmFuZCBpY2ggbmV0dCwgYWJlciBuaWNodCBiZXJhdXNjaGVuZC4gR290aGljIEkgd2FyIG9rLCBhYmVyIGRpZQpDaGFyLUVudHdpY2tsdW5nIHdhciBuaWNodCBvcyB0b2xsLiBWYW1waXJlIHdhciBzY2hvbiBpbnRlcmVzc2FudGVyLgpNaWdodCZNYWdpYyBnZWZpZWwgbWlyIHRvdGFsLiBEZXIgbGV0enRlIHdhciBhYmVyIHppZW1saWNoIGJ1Z2d5LCBkYXMgbmFobQpTcGllbHNwYXNzLiBOYWphLCBEaWFibG8gaGFiIGljaCBqYSBzY2hvbiBtaXQgZGVtIGVpbmVuIG9kZXIgYW5kZXJlbiBnZXpvY2t0CjopIE5ldHQsIGFiZXIgYXVmIGRhdWVyIGxhbmd3ZWlsaWcuIERhIGZhZWxsdCBtaXIgZ3JhZCBub2NoIGRlciBXaW5nIENvbW1hbmRlcgplaW4gLi4uIGRlbiBoYWIgaWNoIGltIFN0dWRpdW0gZ2VzcGllbHQuIFVuZCBkaWVzZXMgZWluZSBVLUJvb3QtU3BpZWwsIGRhcwplaWdlbnRsaWNoIFdpbmcgQ29tbWFuZGVyIHVudGVyIFdhc3NlciB3YXIgKGRlciBOYW1lIHdpbGwgbWlyIGdyYWQgbmljaHQKZWluZmFsbGVuLikgR2VpbGVzIEZlZWxpbmcsIGdlaWxlIEdyYWZpayAoZGFtYWxzIGplZGVuZmFsbHMpLgoKQWxzbywga2FubiBtaXIgamVtYW5kIHdhcyBuZXR0ZXMgZW1wZmVobGVuPyBNdXNzIG5pY2h0IGRhcyBuZXVlc3RlIHZvbQpOZXVlc3RlbiBzZWluLiBSZWljaHQgdm9sbCBhdXMsIHdlbm4gZXMgZnVlciBtaWNoIG5ldSBpc3QgOikKClYqClBTOiBCYWxkdXJzIEdhdGUgd2FyIG1pciB6dSBuZXJ2aWcuIFp1IGtvbXBsZXgsIHp1IHZpZWwgenVob2VyZW4/IEhhYiBuYWNoCmVpbmVyIFN0dW5kZSBhdWZnZWdlYmVuLgpQUFM6IEFjaHNvLCBNb3JnZW5HcmF1ZW4gaGFiIGljaCBhdWNoIG5vY2ggZWluZSBXZWlsZSBnZXNwaWVsdC4gUmVjaHQKa3VyendlaWxpZyA6KSBBdWYgWm9yayBJIGhhYiBpY2ggYWJlciBrZWluZSBMdXN0LCB6dSBzY2hsZWNodGUgM0QtRW5naW5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVybGF1Yi4gV2FzIG51PyAoVmFuaW9uLCAxOC4gRGV6IDIwMDMsIDIwOjU4OjE5KToKfiMhIHJuPVZhbmlvbiBydD0xMDcxNzc3MzEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MTc3NzMxMwpOb2NoIGVpbnM6IEljaCBoYWIgZWluZW4gQXRobG9uIDE4MDArIHVuZCBlaW5lIG52aWRpYSBvbmJvYXJkIEdyYWZpa2thcnRlCihNU0ktQm9hcmQpLiBGdWVyIGVpbiBTcGllbCB3ZXJkIGljaCBkaWVzbWFsIGtlaW5lIDUwMCBFdXJvIGF1c2dlYmVuIChpbmNsLgpIYXJkd2FyZXVwZGF0ZSwgZGFzIGhhYiBpY2ggYmVpIE1NOCBkYXMgbGV0enRlIG1hbCBnZW1hY2h0IDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVybGF1Yi4gV2FzIG51PyAoWm9vaywgMTguIERleiAyMDAzLCAyMzo1NjoxMSk6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc3NzMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKV28gbmVobWVuIGRpZSBMZXV0ZSBlaWdlbnRsaWNoIGRpZSBaZWl0IGhlcj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVybGF1Yi4gV2FzIG51PyAoR3JpbW1ib3JuLCAxOC4gRGV6IDIwMDMsIDIzOjU2OjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTA3MTc4ODE3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKS2VpbmUgRnJldW5kaW4sIHVuZCBhdWNoIHNvbnN0IGtlaW4gUHJpdmF0bGViZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVcmxhdWIuIFdhcyBudT8gKENhdHdlYXpsZSwgMTkuIERleiAyMDAzLCAwMDowNzo1Nik6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc3NzMxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKTWVpbmUgRWlua2F1ZnNsaXN0ZSwgZGllIG51dCB0aGVvcmV0aXNjaCBpc3QsIHdlaWwgaWNoIGdyYWQga2VpbiBHZWxkIHVlYmVyCmhhYjoKU3BlbGxmb3JjZQpSYWlscm9hZCBUeWNvb24gSUlJCkFubm8gMTUwMyBFeHRlbnNpb24uIAoKQmluIGhhbHQga2VpbiBTaG9vdGVyLCBiaW4gU3RyYXRlZ2UgOikKCldhcnVtIG5vY2ggbWFsIHNwaWVsIGljaCBEMj8gQWNoamEsIHNjaG5lbGxlIEtsaWNrcywgc2NobmVsbGUgRXJmb2xnZSA6KQpPZGVyIHVtIGVzIG1pdCBnZWtsYXV0ZW4gV29ydGVuIHp1IHNhZ2VuOiBLYXB1dHRtYWNoZW4gdW5kIHRvdHR1biA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVcmxhdWIuIFdhcyBudT8gKFZhbmlvbiwgMTkuIERleiAyMDAzLCAwNzozNzo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3MTc4ODIwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKTmFlY2h0ZSBsYW5nIHpvY2tlbiBnZWhvZXJ0IGZ1ZXIgbWljaCBlaGVyIGlucyBwcml2YXQtIGFscyBpbnMgQmVydWZzbGViZW4uIDopClVuZCBzdGltbXQuIEZyZXVuZGluIGlzIHdpcmtsaWNoIGVpbiBaZWl0a2xhdWVyIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVcmxhdWIuIFdhcyBudT8gKFphcm5peWEsIDE5LiBEZXogMjAwMywgMTE6NTk6MzEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzE3ODg4NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxNzc3MzEzCkVzIGdpYnQgQ2FyY2Fzc29ubmUgYXVjaCBmdWVybiBQQy4uLiBEQVMgaXN0IGVpbiBTcGllbC4uLiBnZWh0IGF1Y2ggb25saW5lLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVcmxhdWIuIFdhcyBudT8gKE1haGFyZXQsIDE5LiBEZXogMjAwMywgMTI6MTI6NTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzE3ODg4NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxNzc3MzEzCkV5ISAgTmljaHQgZWluZmFjaCBrbGF1ZW4hICBEaWUgaGFiIGljaCBnZXNjaGVua3QgZ2VrcmllZ3QsIGRhIGhhZW5nIGljaCBkcmFuIQoKTWFoYSwgZW1wb2VydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVcmxhdWIuIFdhcyBudT8gKEZsaW50bmFpbCwgMjEuIERleiAyMDAzLCAwMTozODoxNik6Cn4jISBybj1WYW5pb24gcnQ9MTA3MTc3NzQ5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKSG9pLAphbHNvIGljaGxhdWZlIGltbWVyIG5vY2ggZ2VybmUgZHVyY2ggVnZhcmRlbmZlbGwuLi4KU3ByaWNoOiBNb3Jyb3dpbmQKendhciBhZWx0ZXIsIGFiZXIga2VpbiBIYW5kbHVuZ3N6d2FuZywgZGVtIG1hbiBmb2xnZW4gbXVzcy4uLndlbm5zIGRlbm4gYXVjaAplaW4gUlBHIHNlaW4gZGFyZi4KRmxpbnQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0c21hcmt0IERvcnRtdW5kLCAyMy4xMi4yMDAzLCAxNzowMCBVaHIsIFB5bG9uIChab29rLCAyMS4gRGV6IDIwMDMsIDExOjI2OjMxKToKfiMhIHJuPVRodWZoaXIgcnQ9MTA3MjAwMjI2MSByZz10cmVmZmVuLmJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDcyMDAyMjYxCkthbm4gamVtYW5kIHdhcyBtaXQgInN6enQiIGFuZmFuZ2VuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0c21hcmt0IERvcnRtdW5kLCAyMy4xMi4yMDAzLCAxNzowMCBVaHIsIFB5bG9uIChUaHVmaGlyLCAyMS4gRGV6IDIwMDMsIDExOjMxOjMyKToKfiMhIHJuPVpvb2sgcnQ9MTA3MjAwMjM5MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzIwMDIyNjEKa2xhciwgaWNoIGthbm4gZGFtaXQgd2FzIGFuZmFuZ2VuICpFRyoKCnN6enQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlaWhuYWNodHNtYXJrdCBEb3J0bXVuZCwgMjMuMTIuMjAwMywgMTc6MDAgVWhyLCBQeWxvbiAoTGlhcmEsIDIxLiBEZXogMjAwMywgMTM6MDk6MjUpOgp+IyEgcm49VGh1ZmhpciBydD0xMDcyMDAyNjkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MjAwMjI2MQpJY2ggYXVjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIFdlaWhuYWNodGVuIChHcmltbWJvcm4sIDIzLiBEZXogMjAwMywgMTE6MzE6MTQpOgpFaW5lIGtsZWluZSBHZXNjaGljaHRlIHp1ciBXZWlobmFjaHQKCkRpZSBhY2h0amFlaHJpZ2UgVmlyZ2luaWEgTydIYW5sb24gYXVzIE5ldyBZb3JrIHdvbGx0ZSBlcyBnYW56IGdlbmF1IHdpc3Nlbi4gCkRhcnVtIHNjaHJpZWIgc2llIGFuIGRpZSBUYWdlc3plaXR1bmcgIlN1biIgZWluZW4gQnJpZWY6CgoiSWNoIGJpbiBhY2h0IEphaHJlIGFsdC4gRWluaWdlIHZvbiBtZWluZW4gRnJldW5kZW4gc2FnZW4sIGVzIGdpYnQga2VpbmVuCldlaWhuYWNodHNtYW5uLiBQYXBhIHNhZ3QsIHdhcyBpbiBkZXIgJ1N1bicgc3RlaHQgaXN0IGltbWVyIHdhaHIuIEJpdHRlIHNhZ2VuClNpZSBtaXI6IEdpYnQgZXMgZWluZW4gV2VpaG5hY2h0c21hbm4/IC0gVmlyZ2luaWEgTydIYW5sb24iCgpEaWUgU2FjaGUgd2FyIGRlbSBDaGVmcmVkYWt0ZXVyIEZyYW5jaXMgUC4gQ2h1cmNoIHNvIHdpY2h0aWcsIGRhc3MgZXIgc2VsYmVyCmFudHdvcnRldGUgLSBhdWYgZGVyIFRpdGVsc2VpdGUgZGVyICJTdW4iOgoKIlZpcmdpbmlhLApEZWluZSBrbGVpbmVuIEZyZXVuZGUgaGFiZW4gbmljaHQgcmVjaHQuIFNpZSBnbGF1YmVuIG51ciwgd2FzIHNpZSBzZWhlbjsgc2llCmdsYXViZW4sIGRhc3MgZXMgbmljaHQgZ2ViZW4ga2Fubiwgd2FzIHNpZSBtaXQgaWhyZW0ga2xlaW5lbiBHZWlzdCBuaWNodAplcmZhc3NlbiBrb2VubmVuLiBBbGxlciBNZW5zY2hlbmdlaXN0IGlzdCBrbGVpbjsgb2IgZXIgbnVuIGVpbmVtIEVyd2FjaHNlbmVuCm9kZXIgZWluZW0gS2luZCBnZWhvZXJ0LiBJbSBXZWx0YWxsIHZlcmxpZXJ0IGVyIHNpY2ggd2llIGVpbiB3aW56aWdlcyBJbnNla3QuClNvbGNoZXIgQW1laXNlbnZlcnN0YW5kIHJlaWNodCBuaWNodCBhdXMsIGRpZSBnYW56ZSBXYWhyaGVpdCB6dSBlcmZhc3NlbiB1bmQKenUgYmVncmVpZmVuLgpKYSwgVmlyZ2luaWEsIGVzIGdpYnQgZWluZW4gV2VpaG5hY2h0c21hbm4uIEVzIGdpYnQgaWhuIHNvIGdld2lzcyB3aWUgTGllYmUKdW5kIEdyb3NzaGVyemlna2VpdCB1bmQgVHJldWUuIFdlaWwgZXMgYWxsIGRhcyBnaWJ0LCBrYW5uIHVuc2VyIExlYmVuIHNjaG9lbgp1bmQgaGVpdGVyIHNlaW4uIFdpZSBkdW5rZWwgd2FlcmUgZGllIFdlbHQsIHdlbm4gZXMga2VpbmVuIFdlaWhuYWNodHNtYW5uCmdhZWJlISBFcyBnYWViZSBkYW5uIGF1Y2gga2VpbmUgVmlyZ2luaWEsIGtlaW5lbiBHbGF1YmVuLCBrZWluZSBQb2VzaWUgLSBnYXIKbmljaHRzLCB3YXMgZGFzIExlYmVuIGVyc3QgZXJ0cmFlZ2xpY2ggbWFjaHRlLiBFaW4gRmxhY2tlcnJlc3QgYW4gc2ljaHRiYXJlbQpTY2hvZW5lbiBibGllYmUgdWVicmlnLiBBYmVyIGRhcyBMaWNodCBkZXIgS2luZGhlaXQsIGRhcyBkaWUgV2VsdCBhdXNzdHJhaGx0LAptdWVzc3RlIHZlcmxvZXNjaGVuLgpFcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBTb25zdCBrb2VubnRlc3QgRHUgYXVjaCBkZW4gTWFlcmNoZW4gbmljaHQKZ2xhdWJlbi4gR2V3aXNzLCBEdSBrb2VubnRlc3QgRGVpbmVuIFBhcGEgYml0dGVuLCBlciBzb2xsZSBhbSBIZWlsaWdlbiBBYmVuZApMZXV0ZSBhdXNzY2hpY2tlbiwgZGVuIFdlaWhuYWNodHNtYW5uIHp1IGZhbmdlbi4gVW5kIGtlaW5lciBiZWthZW1lIGlobiB6dQpHZXNpY2h0IC0gd2FzIHd1ZXJkZSBkYXMgYmV3ZWlzZW4/IEtlaW4gTWVuc2NoIHNpZWh0IGlobiBlaW5mYWNoIHNvLiBEYXMKYmV3ZWlzdCBnYXIgbmljaHRzLiBEaWUgd2ljaHRpZ2VuIERpbmdlIGJsZWliZW4gbWVpc3RlbnMgdW5zaWNodGJhci4gRGllCkVsZmVuLCB6dW0gQmVpc3BpZWwsIHdlbm4gc2llIGF1ZiBNb25kd2llc2VuIHRhbnplbi4gVHJvdHpkZW0gZ2lidCBlcyBzaWUuIEFsbApkaWUgV3VuZGVyIHp1IGRlbmtlbiAtIGdlc2Nod2VpZ2UgZGVubiBzaWUgenUgc2VoZW4sIGRhcyB2ZXJtYWcgbmljaHQgZGVyCktsdWVnc3RlIGF1ZiBkZXIgV2VsdC4gV2FzIER1IGF1Y2ggc2llaHN0LCBEdSBzaWVoc3QgbmllIGFsbGVzLgpEdSBrYW5uc3QgZWluIEthbGVpZG9za29wIGF1ZmJyZWNoZW4gdW5kIG5hY2ggZGVuIHNjaG9lbmVuIEZhcmJmaWd1cmVuIHN1Y2hlbi4KRHUgd2lyc3QgZWluaWdlIGJ1bnRlIFNjaGVyYmVuIGZpbmRlbiwgbmljaHRzIHdlaXRlci4gV2FydW0/IFdlaWwgZXMgZWluZW4KU2NobGVpZXIgZ2lidCwgZGVyIGRpZSB3YWhyZSBXZWx0IHZlcmh1ZWxsdCwgZWluZW4gU2NobGVpZXIsIGRlbiBuaWNodCBlaW5tYWwKYWxsZSBHZXdhbHQgYXVmIGRlciBXZWx0IHplcnJlaXNzZW4ga2Fubi4gTnVyIEdsYXViZSB1bmQgUG9lc2llIHVuZCBMaWViZQprb2VubmVuIGlobiBsdWVmdGVuLiBEYW5uIHdpcmQgZGllIFNjaG9lbmhlaXQgdW5kIEhlcnJsaWNoa2VpdCBkYWhpbnRlciBhdWYKZWlubWFsIHp1IGVya2VubmVuIHNlaW4uIAonSXN0IGRhcyBkZW5uIGF1Y2ggd2Focj8nIGthbm5zdCBEdSBmcmFnZW4uIFZpcmdpbmlhLCBuaWNodHMgYXVmIGRlciBnYW56ZW4KV2VsdCBpc3Qgd2FocmVyIHVuZCBuaWNodHMgYmVzdGFlbmRpZ2VyLiBEZXIgV2VpaG5hY2h0c21hbm4gbGVidCwgdW5kIGV3aWcKd2lyZCBlciBsZWJlbi4gU29nYXIgaW4gemVobm1hbCB6ZWhudGF1c2VuZCBKYWhyZW4gd2lyZCBlciBkYSBzZWluLCB1bSBLaW5kZXIKd2llIERpY2ggdW5kIGplZGVzIG9mZmVuZSBIZXJ6IG1pdCBGcmV1ZGUgenUgZXJmdWVsbGVuLiBGcm9oZSBXZWlobmFjaHQsClZpcmdpbmlhLgpEZWluIEZyYW5jaXMgUC4gQ2h1cmNoIgoKKERlciBCcmllZndlY2hzZWwgendpc2NoZW4gVmlyZ2luaWEgTydIYW5sb24gdW5kIEZyYW5jaXMgUC4gQ2h1cmNoIHN0YW1tdCBhdXMKZGVtIEphaHIgMTg5Ny4gRXIgd3VyZGUgdWViZXIgZWluIGhhbGJlcyBKYWhyaHVuZGVydCBiaXMgenVyIEVpbnN0ZWxsdW5nIGRlcgoiU3VuIiBpbSBKYWhyZSAxOTUwIGFsbGUgSmFocmUgd2llZGVyIHp1ciBXZWlobmFjaHRzemVpdCBhdWYgZGVyIGVyc3RlbiBTZWl0ZQpkZXIgWmVpdHVuZyBhYmdlZHJ1Y2t0LikKCgpJY2ggd3VlbnNjaGUgYWxsZW4gZWluIGZyb2hlcyB1bmQgZ2VzZWduZXRlcyBXZWlobmFjaHRzZmVzdCEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyb2hlIFdlaWhuYWNodGVuIChMaWFyYSwgMjMuIERleiAyMDAzLCAxOTozNToyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3MjE3NTQ3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzIxNzU0NzQKTWVpbmUgR3VldGUuCkR1IGdsYXVic3Qgd29obCBhdWNoIGFuIGRlbiBTaW5uIGRlcyBMZWJlbnMsIHdhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJvaGUgV2VpaG5hY2h0ZW4gKFBob2JvcywgMjMuIERleiAyMDAzLCAyMDozMjoxNyk6Cn4jISBybj1MaWFyYSBydD0xMDcyMjA0NTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MjE3NTQ3NApIYWIgbWljaCBzY2hvbiBnZWZyYWd0LCB3YW5uIGRpZSBHZXNjaGljaHRlIHZvbiBTYXRhbiBLbGF1cyBrb21tdC4KU2NobGllc3NsaWNoIGlzdCBkYXMgZG9jaCBHcnVuZCwgd2FydW0gbWFuIFdlaWhuYWNodGVuIGZlaWVydCAuLgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVcmxhdWIuIFdhcyBudT8gKE1vcmdvbmF0ZSwgMzAuIERleiAyMDAzLCAxMTo0NDo1NCk6Cn4jISBybj1aYXJuaXlhIHJ0PTEwNzE4MzE1NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxNzc3MzEzCmFsc28gb25saW5lIGhhdCBiZWkgbWlyIGJpc2hlciBuaWNodCBnZWtsYXBwdCB1bmQgaWNoIHNwaWVsIGxpZWJlciBtaXQKcGVyc29uZW4gaW4gbmF0dXJhLCBkYW5uIGRpZSBzcGllbGVuIG5pY2h0IHNvIHplcnJpc3NlbiB3aWUgZGVyIGNvbXB1dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbGxlcyBHdXRlIGltIG5ldWVuIEphaHIgMjAwNCAoTXVhZGliLCAzMS4gRGV6IDIwMDMsIDE4OjEwOjA0KToKRGllIEdvZXR0bGljaGtlaXRlbiBzaW5kIGltIHdvaGx2ZXJkaWVudGVuIFVybGF1YiB1bmQgCmRhaGVyIHNjaHJlaWJlIGljaCBtYWwgc3RlbGx2ZXJ0cmV0ZW5kIGVpbmVuIGtsZWluZW4KQXJ0aWtlbCwgYWxzbyBiaXR0ZSBuaWNodCBlcnNjaHJlY2tlbiA6KQoKMjAwMyBuZWlndCBzaWNoIGdhbnogb2ZmZW5zaWNodGxpY2ggZGVtIEVuZGUgenUgdW5kIAptYW4ga2FubiBydWVja2JsaWNrZW5kIHNhZ2VuLCBkYXNzIHNpY2ggZG9jaCBzbyBlaW5pZ2VzCmluIFJMIHVuZCBWTCB0YXQuIApJbSBNb3JnZW5HcmF1ZW4gZ2FiIGVzIG5ldWUgRmVydGlna2VpdGVuLCBuZXVlIEdpbGRlbiwgCm5ldWUgUXVlc3RzLCBuZXVlIE1hZ2llciwgbmV1ZSBTcGllbGVyLApSZWZvcm1lbiB1bmQgUmVmb2VybWNoZW4uCkplZGVyIG1hZyBkaWUgZWluemVsbmVuIFB1bmt0ZSBkaWUgc2ljaCBhZW5kZXJ0ZW4gZ2FuegppbmRpdmlkdWVsbCBiZXVydGVpbGVuIGRvY2ggaXN0IGVzIHp1IGhvZmZlbiBkYXNzIGRpZSBTdW1tZQpkZXIgUmVjaG51bmcgYW0gRW5kZSBwb3NpdGl2IGJsZWlidCB1bmQgZGFzIE1vcmdlbkdyYXVlbgpqZWRlbSBlaW4gYW5nZW5laG1lciBPcnQgenVtIE1ldHplbG4sIEZvcnNjaGVuLCBDaGF0dGVuLApRdWVzdGVuLCBEaXNrdXRpZXJlbiB1bmQgU2NobWFycm52ZXJ6YXBmZW4gd2FyLgpHcm9zc2VyIHVuZCBoZXJ6bGljaGVyIERhbmsgc2VpIGFsbGVuIGdlYnJhY2h0IGRpZSAKcHJvZ3JhbW1pZXJ0ZW4sIGJhbGFuY2llcnRlbiwga3JpdGlzaWVydGVuLCB0ZXN0ZXRlbiwgYXVmCkZlaGxlciBoaW53aWVzZW4gdW5kIGhpZXIgc3BpZWx0ZW4sIHNwcmljaCBhbGxlbiBkaWUgCmRhcyBNb3JnZW5HcmF1ZW4gZGFzIGdhbnplIEphaHIgdWViZXIgbWl0IExlYmVuIApnZWZ1ZWxsdCBoYWJlbi4gCkJpdHRlIG1hY2h0IG5hZWNoc3RlcyBKYWhyIHdlaXRlciBzbyEKCkZ1ZXIgZGFzIGtvbW1lbmRlIEphaHIgMjAwNCB3dWVuc2NoZSBpY2ggRXVjaCBFcmZvbGcsIEdsdWVjaywKR2VzdW5kaGVpdCB1bmQgZGllIEVyZnVlbGx1bmcgRXVyZXIgV3VlbnNjaGUgdW5kIFRyYWV1bWUuCk1vZWdlIGRhcyBKYWhyIDIwMDQgZWluIEd1dGVzIHdlcmRlbiBzb3dvaGwgaW0gUkwgYWxzIAphdWNoIGltIFZMIGhpZXIgaW0gTW9yZ2VuR3JhdWVuLgoKVW5kIG51biBzY2hvZW5lcyBGZWllcm4gdW5kIGd1dGVuIFJ1dHNjaC4KCgpQUzogbmVpbiBhdWNoIGZ1ZXIgMjAwNCBsZWhuZSBpY2ggamVnbGljaGVuIEludGVycHVua3Rpb25zbGVocmdhbmcKYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklyZ2VuZHdpZSAoTHVnLCAgMy4gSmFuIDIwMDQsIDE5OjIxOjE1KToKQWxzbywKCmlyZ2VuZHdpZSBpc3QgZGllc2UgUnVicmlrIHZvciBkaWUgSHVuZGUgZ2Vrb21tZW4uIE5pY2h0cyBsb3MuIE51cgpNZWdhc2NobWFycm4gbWl0IHNlaW5lbSBSZWdlbGtvcnNldHQgaXN0IGF1Y2ggb2VkZS4gQWxzbyBsb3MgamV0enQ6CgpMdWdpZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSXJnZW5kd2llIChBbGtvaG9sLCAgMy4gSmFuIDIwMDQsIDE5OjI0OjQ3KToKfiMhIHJuPUx1ZyBydD0xMDczMTU0MDc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MzE1NDA3NQpkdSBiaXN0IGVpbiBld2lnIGdlc3RyaWdlcgpSdW1wc2ZlbGQgQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJcmdlbmR3aWUgKEx1ZywgIDMuIEphbiAyMDA0LCAxOToyNjo0Nyk6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNzMxNTQyODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczMTU0MDc1CldlcnRlciAtaXNtdXMsCgp1bmQgZWluIHN0b2x6ZXIgYWx0ZXIgRXVyb3BhZWVyIG5vY2ggZGF6dS4gZnJhZ3Qgc2ljaCBqZXR6dCwgd2llIGRhcyB6dQpiZXRvbmVuIHdhZXJlLi4uCgpMdWdpZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJcmdlbmR3aWUgKE1haGFyZXQsICAzLiBKYW4gMjAwNCwgMTk6NTM6MjcpOgp+IyEgcm49THVnIHJ0PTEwNzMxNTQ0MDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczMTU0MDc1CmFsdGVyLCBnYXIga2VpbmUgRnJhZ2UKCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyaW5uZXJ1bmcgKEx1ZywgIDQuIEphbiAyMDA0LCAxOTo0NTo0Nyk6CkFuIGRpZXNlciBTdGVsbGUgbW9lY2h0ZSBpY2ggbm9jaG1hbCBhdXNkcnVlY2tsaWNoIGFuIGRpZXNlIFJ1YnJpayBlcmlubmVybi4KCkx1Z2lmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmlubmVydW5nIChDYXR3ZWF6bGUsICA0LiBKYW4gMjAwNCwgMjE6MDg6NTIpOgp+IyEgcm49THVnIHJ0PTEwNzMyNDE5NDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczMjQxOTQ3CklycmVsZXZhbnQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJpbm5lcnVuZyAoTHVnLCAgNS4gSmFuIDIwMDQsIDIwOjEwOjAxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDczMjQ2OTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MzI0MTk0NwpVbmZ1ZyEKCkx1Z2lmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkltbWVyIG5vY2ggKEx1ZywgIDYuIEphbiAyMDA0LCAwMToyODowNCk6CkRpZXNlIFJ1YnJpayBpc3QgaW1tZXIgbm9jaCBkYS4uLgoKTHVnaWZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoQ2F0d2VhemxlLCAgOC4gSmFuIDIwMDQsIDE3OjI3OjI4KToKCkhpZXJtaXQgYmVzdGltbWUgaWNoLCBkYXMgYWIgc29mb3J0IGRhcyBXb3J0ICJBZW5kZXJ1bmdlbiIgYXVzIGRlbSBXb3J0c2NoYXR6CmVpbmVzIGplZGVuIHp1IHN0cmVpY2hlbiBpc3QuIEZvcnRhbiBpbiBlcyBhbiBqZWRlciBlaW5zZXR6YmFyZW4gU3RlbGxlIGR1cmNoCmRpZSBVbXNjaHJlaWJ1bmcgIkVpbnNjaHJhZW5rdW5nIGRlcyBTcGllbHNwYXNzZXMiIHp1IGVyc2V0emVuLgoKU28uCgpZVEMgZGVyIEJlc3RpbW1lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBCZXN0aW1tZXIgc3ByaWNodCEgKFpvb2ssICA4LiBKYW4gMjAwNCwgMTc6Mjc6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzM1NzkyNDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4CkFiZ2VsZWhudCEKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoRm9vYmFyLCAgOC4gSmFuIDIwMDQsIDE3OjMxOjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDczNTc5MjQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3MzU3OTI0OAoiTmV1YmV3ZXJ0dW5nIGRlcyBTcGllbHNwYXNzZXMiIGtsaW5ndCBJTUhPIG5ldXRyYWxlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoQ3JvZnQsICA4LiBKYW4gMjAwNCwgMTc6MzI6MDIpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNzM1Nzk0NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4ClVuZCAiUmVldmFsdWllcnVuZyBkZXMgU3BpZWxzcGFzc2VzIiB3YWVyIGRhbm4gcmljaHRpZyB0cmVuZHkuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoRm9vYmFyLCAgOC4gSmFuIDIwMDQsIDE3OjMyOjI0KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNzM1Nzk1MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4CipCSU5HTyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoTXVhZGliLCAgOC4gSmFuIDIwMDQsIDIzOjE3OjI3KToKfiMhIHJuPVpvb2sgcnQ9MTA3MzU3OTI3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzM1NzkyNDgKa2FubiBtYW4gYW4gZGVtICJBYmdlbGVobnQhIiBlaW4gd2VuaWcgZGVyIEZvcm11bGllcnVuZyBkZW4gU3BpZWxzcGFzcwplaW5zY2hyYWVua2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoTm9ubmUsICA5LiBKYW4gMjAwNCwgMDg6NTY6MzcpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3MzU3OTUyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzM1NzkyNDgKU29sbHRlIG1hbiBuaWNodCAnUmVmb3JtIGRlcyBTcGllbHNwYXNzZXMnIG5laG1lbj8gRGEgaXN0IHdlbmlnc3RlbnMgZGVyCkFid2FlcnRzdHJlbmQgZGV1dGxpY2ggKGM7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEZXIgQmVzdGltbWVyIHNwcmljaHQhIChEYXJrbG9yLCAgOS4gSmFuIDIwMDQsIDEzOjQwOjI3KToKfiMhIHJuPU5vbm5lIHJ0PTEwNzM2MzQ5OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4CkRhcyBzb2xsdGUgc2ljaGVyIGhlaXNzZW4gIkFibGVobnVuZyBkZXMgU3BpZWxzcGFzc2VzIgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGVyIEJlc3RpbW1lciBzcHJpY2h0ISAoTW9yZ290aCwgIDkuIEphbiAyMDA0LCAxMzo0MTo0NCk6Cn4jISBybj1EYXJrbG9yIHJ0PTEwNzM2NTIwMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4CiJJbiBBbmxlaG51bmcgYW4gZGVuIHZvcm1hbHMgdm9yaGFuZGVuZW4gU3BpZWxzcGFzcyIuLi4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERlciBCZXN0aW1tZXIgc3ByaWNodCEgKEx1ZywgMTEuIEphbiAyMDA0LCAyMDoyNjo1OCk6Cn4jISBybj1ab29rIHJ0PTEwNzM1NzkyNzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDczNTc5MjQ4CkVpbnNwcnVjaCEKCkx1Z2lmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlcmljaHQgYXVzIGRlciBuZXVlbiBXZWx0IChGb29iYXIsIDE1LiBKYW4gMjAwNCwgMTc6MTc6MDUpOgpIYWxsbyB6dXNhbW1lbiwKCmhpZXIgbWFsIGVpbiBBdXN6dWcgYXVzIGVpbmVyIE1haWwsIGRpZSBpY2ggaGV1dGUgdm9uIGVpbmVtIEZyZXVuZCB2b24gbWlyIGF1cwpUZXhhcyBiZWtvbW1lbiBoYWJlLiBEZXIgbWFjaHQgZG9ydCBzZWl0IEFuZmFuZyBKYW51YXIgZWluIFByYWt0aWt1bSBiZWkKaXJnZW5kZWluZXIgSW50ZXJuZXQtU3RhcnR1cC1GaXJtYS4KCkVpbmlnZSBWb3J1cnRlaWxlIHNlaGUgaWNoIGR1cmNoYXVzIGJlc3RhZXRpZ3QuIDtvKQotLS0tLS0tLS0tCiBIYWxsbyB6dXNhbW1lbiwKCiBoYWIgbWljaCBzb3dlaXQgZ3V0IGVpbmdlbGVidC4KCiBEZXIgRmx1ZyB3YXIgemllbWxpY2ggYW5zdHJlbmdlbmQgdW5kIGluCiBMb25kb24gbXVzc3RlIGljaCBtZWluZSBTY2h1aGUgYXVzemllaGVuIGJlaW0gZXJ3ZWl0ZXJ0ZW4KIFNpY2hlcmhlaXRzY2hlY2suIExhZyBhYmVyIGF1Y2ggZGFyYW4sIGRhc3MgZGVyIEJlYW10ZSBzbyBzY2huZWxsCiBnZXNwcm9jaGVuIGhhdCB1bmQgaWNoIGlobiBrYXVtIHZlcnN0ZWhlbiBrb25udGUuIEVyIGZyYWd0ZSwgb2IgaWNoCiBpbW1lciBhdWYgbWVpbiBHZXBhZWNrIGFtIEZsdWdoYWZlbiBhdWZnZXBhc3N0IGhhZXR0ZSwgb2IgaWNoIGVpbgogUGFlY2tjaGVuIGZ1ZXIgd2VubiBhbmRlcnMgbWl0bmVobWUgdW5kIG9iIG1laW4gSGFuZHkgaW0gbGV0enRlbiBoYWxiZW4KIEphaHIgaW4gUmVwYXJhdHVyIHdhci4gV2FlaHJlbmQgZGVzIEZsdWdlcyBkdXJmdGUgbWFuIG51ciBhdWZzdGVoZW4sCiB3ZW5uIG1hbiB6dXIgbmFlY2hzdGdlbGVnZW5kZW4gVG9pbGV0dGUgd29sbHRlLgoKIEluIENoaWNhZ28gd2FyIGRhbm4gbmUgcmllc2VuIFNjaGxhbmdlIGJlaSBkZXIgRWlucmVpc2VzdGVsbGUuIEljaCBoYWIKIGFiZXIgZWluZSBuZXR0ZSBCZWFtdGluIGVyd2lzY2h0LCBkaWUgbWljaCBmcmFndGUsIHdhcnVtIGljaCBpbiBkaWUgVVNBCiB3b2xsZSB1bmQgd2FydW0gaWNoIGRlbm4gc28gbGFuZ2UgYmxpZWJlLiBJY2ggbWVpbnRlIGRhbm4sIGRhc3MgZGVyIEZsdWcKIHZvbiBEZXV0c2NobGFuZCBhdXMgc28gdGV1ZXIgdW5kIHNvIGxhbmdlIGlzdCwgZGFzcyBpY2ggZGllIFplaXQKIGJlc3Rtb2VnbGljaCBhdXNudXR6ZW4gd29sbGUuIERhbm4gaGF0IHNpZSBtaWNoIGRhbm4gZHVyY2hnZXd1bmtlbiBpbQogR2VnZW5zYXR6IHp1bSBlaW5lbSBBcmFiZXIsIGRlciBnbGVpY2ggbWl0Z2Vub21tZW4gd3VyZGUuCgogRG9ubmVyc3RhZ3MgYWJlbmQgaGF0IFRKIG1pciBkYW5uIG1laW4gQXBwYXJ0ZW1lbnQgZ2V6ZWlndC4gRXMgbGllZ3QgaW4KIGVpbmVyIGdhdGVkIGNvbW11bml0eSwgYWxzbyBtaXQgWmF1biBkcnVtcnVtLCB1bmQgVG9yIG1pdCBGZXJuYmVkaWVudW5nLgogSWNoIGhhYiBuZSBncm9zc2UgS3VlY2hlLCBCYWQgbWl0IER1c2NoZSwgVFYgdW5kIERWRCBQbGF5ZXIgdW5kIDMgTWJpdAogSW50ZXJuZXQgRmxhdHJhdGUuIEZvdG9zIGtvbW1lbiBub2NoLgoKIEZyZWl0YWdzIHdhciBpY2ggZGFubiBkYXMgZXJzdGUgTWFsIGltIEJ1ZXJvLiBFcyBsaWVndCBpbiBlaW5lcgogc2NobGVjaHRlcmVuIEdlZ2VuZCBtaXQgdmllbGVuIFBlbm5lciB1bmQgaXN0IGRlc2hhbGIgcnVuZCB1bSBkaWUgVWhyCiBiZWxldWNodGV0IHVuZCBtaXQgVG9yIHVuZCBBbGFybXN5c3RlbSBnZXNjaHVldHp0LiBUSiBzZWxic3Qgd29obnQKIHVlYmVybiBCdWVyby4gRGllIEtvbGxlZ2VuIHNpbmQgYWxsZSBzZWhyIG5ldHQuIERlciBjb2ZvdW5kZXIgTWF0dCBoYXQKIG1pciBzZWluIE5vdGVib29rIGdlbGllaGVuIHVuZCBHZW9yZ2UgbGFlc3N0IG1pY2ggc2VpbmVuIEZpcm1lbndhZ2VuCiBmdWVyIGRpZSAzIE1vbmF0ZW4gZmFocmVuLiBJbSBHZWdlbnp1ZyBoYXQgZXIgZWluZSBQaXN0b2xlIGJla29tbWVuLiBBbQogTW9udGFnLCB3ZW5uIGRpZSBWZXJzaWNoZXJ1bmcgbWljaCBlaW5nZXRyYWdlbiBoYXQsIGthbm4gaWNoIGRhbm4gYXVjaAogZmFocmVuLiBEaWUgRmlybWVud2FnZW4gc2luZCBhbGxlcyBhbHRlIFBvbGl6ZWkgQXV0b3MgbWl0IDI1MCBQUyBtaXIKIFJhbW1ib2NrIHZvcm5lIGRyYW4uIElzdCBlY2h0IGx1c3RpZywgZGFtaXQgenUgZmFocmVuLCB3ZWlsIHZpZWxlIExldXRlCiBQbGF0eiBtYWNoZW4uIEJlaW0gZHJpdmUgdGhyb3VnaCBoYWJlbiB3aXIgc29nYXIga29zdGVubG9zIEVzc2VuCiBiZWtvbW1lbiB3ZWdlbiBkZXMgQXV0b3MuCgogRGllIFdvY2hlIHdhcmVuIHZpZWxlIEdlc2NoYWVmdHNwYXJ0bmVyIGF1cyBEZXV0c2NobGFuZCBoaWVyIHVuZCBBbmRyZWFzCiBhdXMgRG9ydG11bmQgYmxlaWJ0IG5vY2ggYmlzIE1pdHR3b2NoLiBFcyBpc3QgaW0gTW9tZW50IGVpbiBzdGFlbmRpZ2VzCiBrb21tZW4gdW5kIGdlaGVuIHVuZCBhYmVuZHMgRXNzZW4gd2lyIGltbWVyIGluIGlyZ2VuZGVpbmVtIFJlc3RhdXJhbnQKIGF1ZiBHZXNjaGFlZnRza29zdGVuLiBGcmVpdGFncyBnYWJzIG1leGlrYW5pc2NoLgoKIFNhbXN0YWdzIHdhcmVuIHdpciBkYW5uIFNjaGllc3NlbiBhdWYgbmVyIFJhbmNoIG1pdCBkZW4KIEdlc2NoYWVmdHNwYXJ0bmVybi4gVEogc2VsYnN0IGhhdCBtZWhyZXJlIFBpc3RvbGVuIHVuZCBHZXdlaHJlIHVuZCBkaWUKIGJlZnJldW5kZXRlbiBGYXJtZXIgRXJpYyB1bmQgRG91ZyBzaW5kIHJpY2h0aWdlIFdhZmZlbm5hcnJlbi4gRXJzdCBoYWJlbgogd2lyIEdld2VociBhdWYgMTAwIHVuZCAyMDAgeWFyZHMgZ2VzY2hvc3NlbiB1bmQgZGllIHdhcmVuIGFsbGUKIGJlZWluZHJ1Y2t0LCB3aWUgZ3V0IGljaCB0cmVmZmVuIGtvbm50ZS4gKGdlcm1hbiBhcm15IGhhbHQpIE1laW4KIE1laXN0ZXJzY2h1c3Mgd2FyIGRhbm4gYXVmIG5lbiBBcGZlbCBpbiAyMDAgeWFyZHMgRW50ZmVybnVuZy4gQW5kcmVhcwogYXVzIERldXRzY2hsYW5kIHVuZCBCb255IGF1cyBMQSBoYXR0ZW4gc2VsYmVyIG5vY2ggbmllIGdlc2Nob3NzZW4uCgogRGFuYWNoIGhhYmVuIHdpciBkaWUgRmFybSBnZXdlY2hzZWx0IHp1bSBQaXN0b2xlbnNjaGllc3NlbiBhdWYgMjUgbWV0ZXIuCiBIYXQgYXVjaCB2aWVsIFNwYXNzIGdlbWFjaHQgdm9yIGFsbGVtIGF1ZiBkZW4gU3RhcmJ1Y2tiZWNoZXIuIERhcyBiZXN0ZQogd2FyIGRhbm4gZGllIDQ0ZXIgTWFnbnVtIChSZXZvbHZlcikgbWl0IG5lbSBlcm9ybWVuIFJ1ZWNrc3Rvc3MuIEFiZW5kcwogd2FyZW4gd2lyIGRhbm4gaW0gRmFybWhhdXMgdW5kIGhhYmVuIFBpenphIGJlc3RlbGx0LiBFcmljIGhhdCB1bnMgZGFubgogc2VpbiBNYXNjaGluZW5nZXdlaHIgZ2V6ZWlndCB1bmQgaW0gV29obnppbW1lciBhdWZnZWJhdXQsIHdvIGRpZSBLaW5kZXIKIHNwaWVsdGVuLiBXYXIgd2llIGluIEJvd2xpbmcgZm9yIENvbHVtYmluZS4gVW5kIG5lIGdpZnRpZ2UgU2NobGFuZ2UgaGF0CiAgIGVyIGF1Y2ggbm9jaCBhbHMgSGF1c3RpZXIuCgogU29ubnRhZyB3YXJlbiB3aXIgZGFubiBhdWYgbmVyIEd1bnNob3csIGVpbmUgQXJ0IEZsb2htYXJrdCBmdWVyIFdhZmZlbi4KIERhIGhhYiBpY2ggYXVmIE5hY2hiYXV0ZW4gZGVzIEczIHZvbiBkZXIgQnVuZGVzd2VociBnZXNlaGVuLiBEaWUgaGF0dGVuCiBhdWNoIHZpZWwgSGl0bGVya3JhbS4gVGFnc3VlYmVyIHdhcmVuIHdpciBkYW5uIGltIEJ1ZXJvIHVuZCBhYmVuZHMKIHdpZWRlciBpbSBSZXN0YXVyYW50LgoKIEljaCBoYWIgYWxzbyBzY2hvbiBUZXhhcyBFeHRyZW1lIGtlbm5lbmdlbGVybnQgaW4gZGVuIGVyc3RlbiBUYWdlbi4KCiBNb3JnZW5zIGZhaHIgaWNoIGltbWVyIHVtIDg6MDAgVWhyIHp1bSBHZWZhZW5nbmlzIHVuZCBob2xlIHVuc2VyZW4gCiBIYWNrZXIgYWIsIGRhbm4genVyIEFyYmVpdCB1bmQgYmluIHVtIDIwOjAwIFVociB6dXJ1ZWNrLCBuYWNoZGVtIGljaCBkZW4gCiBIYWNrZXIgd2llZGVyIGFtIEdlZmFlbmduaXMgYWJnZXNldHp0IGhhYi4KCiBIaWVyIGlzdCB6aWVtbGljaCB2aWVsIHp1IHR1biAtICBTdGFydHVwIEZpcm1hIGhhbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcnVlaGphaHJzcHV0eiAoVmFuaW9uLCAyNC4gRmViIDIwMDQsIDE3OjM2OjUwKToKRmFsbHMgamVtYW5kIHNlaW5lIFNhY2hlbiBzdWNodC4gSWNoIGhhYiBzaWUgbmljaHQgKG1laHIpLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1Z2ZpeCBiZWkgZGVuIFdhZmZlbmZlcnRpZ2tlaXRlbiAoWm9vaywgMjUuIEZlYiAyMDA0LCAxMDozMTo0MSk6CkhhbGxvLCBpY2ggaGFiZSBlaW5lbiBCdWcgYmVpbSBMZXJuZW4gbWl0IGRlciBXYWZmZW5hcnQgIlN0YWViZSIgZ2VmaXh0LiAKV2VyIGRhdm9uIHByb2ZpdGllcmVuIG1vZWNodGUgdW5kIGRhbWl0IGF1Y2ggcmljaHRpZyBsZXJudCwgbW9lZ2UgZGllcyBiaXR0ZQpkdXJjaCBFbmRlIGJld2Vya3N0ZWxsaWdlbi4gQWxsZSBhbmRlcmVuIGVyd2lzY2h0IGVzIGJlaSBSZWJvb3QvQ3Jhc2gvUmVjaG5lci0KdW16dWcoISkgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpab29rIHJlaWNodC4uLiAoWm9vaywgMjUuIEZlYiAyMDA0LCAxNTozNDo1MCk6Ci4uLiBNdWFkaWIgZWluZSBUSXNjaHBsYXR0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyb3NzZSBQb3N0ZmFlY2hlci4uLiAoWm9vaywgMjYuIEZlYiAyMDA0LCAxMjoyNToxMSk6Ci4uLiBtYWNoZW4gTGFnIHVuZCBzaW5kIGJvZXNlISBJY2ggaGFiZSBtaXIgdWViZXJsZWd0LCBvYiBtYW4gZGVuIEJldHJvZmZlbmVuCm5pY2h0IHZpZWxsZWljaHQgZWluIHdlbmlnIG1laHIgRGlzemlwbGluIGF1ZmVybGVnZW4ga29lbm50ZSwgaW5kZW0gbWFuCmZvbGdlbmRlIFJlZ2VsIGVpbmZ1ZWhydDogU3RlaWd0IGRhcyBQb3N0ZmFjaCB1ZWJlciBlaW5lIGtyaXRpc2NoZQpHcm9lc3NlICh6LkIuIFNwaWVsZXIgMzAwSywgTWFnaWVyIDFNQiBvZGVyIHNvKSwgZGFubiB3ZXJkZW4gZGllc2Ugdm9uIG1pcgpzb2xhbmdlIGdlc3BpZWxwYXVzdCwgYmlzIGRpZSBHcm9lc3NlIGRlcyBQb3N0ZmFjaHMgd2llZGVyIHVudGVyIGRpZSBNYXJrZSAKZ2VmYWxsZW4gaXN0LiBXYXMgaGFsdGV0IElociBkYXZvbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3Jvc3NlIFBvc3RmYWVjaGVyLi4uIChXaGl0ZXRpZ2VyLCAyNi4gRmViIDIwMDQsIDEyOjI2OjAzKToKfiMhIHJuPVpvb2sgcnQ9MTA3Nzc5NDcxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzc3OTQ3MTEKLi4uVW5kIHdpZSBzb2xsIGRpZSBncm9lc3NlIHNpbmtlbiwgd2VubiBtYW4gZ2VzcGllbHBhdXN0IGlzdCB1bmQgbml4IGxvZXNjaGVuCmthbm4/CgpUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcm9zc2UgUG9zdGZhZWNoZXIuLi4gKEdsb2luc29uLCAyNi4gRmViIDIwMDQsIDEyOjI3OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTA3Nzc5NDcxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzc3OTQ3MTEKR2lidCBlcyBkYW5uIGZ1ZXIgZGllc2VuIEZhbGwgZWluZW4gU2hlbGwtTG9naW4gZ3JhdGlzIGFuIGRpZSBEZWxpbnF1ZW50ZW4/CgooZXJpbm5lcnQgbWljaCBpcmdlbmR3aWUgYW4gbWVpbmVuIEFjY291bnQgaW4gREQgLSBoYXQgbWFuIGVpbmUgenUgZ3Jvc3NlIE1haWwKYmVrb21tZW4sIG11c3N0ZSBtYW4gc2ljaCBhbiBlaW5lciBLb25zb2xlIGVpbmxvZ2dlbiwgd2VpbCBkaWUgZ2FuemVuClgtS29uc29sZW4gZGVuIExvZ2luIHdlZ2VuIGhhcmRxdW90YSB2ZXJ3ZWlnZXJ0ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyb3NzZSBQb3N0ZmFlY2hlci4uLiAoQ3JvZnQsIDI2LiBGZWIgMjAwNCwgMTI6MzA6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3Nzc5NDgyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzc3OTQ3MTEKOndhcnRldCBhdWYgWm9va3MgV2VkZWxuIG1pdCBkZW0gRmFlaG5jaGVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyb3NzZSBQb3N0ZmFlY2hlci4uLiAoWm9vaywgMjYuIEZlYiAyMDA0LCAxMjozMzozNik6Cn4jISBybj1Dcm9mdCBydD0xMDc3Nzk1MDEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3Nzc5NDcxMQpab29rIHdlZGVsdCBtaXQgc2VpbmVtIEZhZWhuY2hlbiwgYmVzb25kZXJzIHZvciBXaGl0ZXRpZ2VycyBHZXNpY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3Jvc3NlIFBvc3RmYWVjaGVyLi4uIChHbG9pbnNvbiwgMjYuIEZlYiAyMDA0LCAxMjozNDoyMyk6Cn4jISBybj1ab29rIHJ0PTEwNzc3OTUyMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDc3Nzk0NzExCldpZSBzY2hhZGUuIFVuZCBkaWUgTXVoZ2llciBoYWJlbiBzaWNoIHNjaG9uIGdlZnJldXQgYXVzc2VycGxhbm1hZXNzaWdlbgpadWdyaWZmIHp1IGJla29tbWVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR3Jvc3NlIFBvc3RmYWVjaGVyLi4uIChWZWN0b3IsIDI2LiBGZWIgMjAwNCwgMTQ6MDI6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3Nzc5NTI2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzc3OTQ3MTEKc2VociBndXRlIGdydW5kaWRlZSwgZ2Vob2VydCBudXIgbm9jaCBldHdhcyBhdXNnZWFyYmVpdGV0LCBhbnNvbnN0ZW4KZmFuZ2VuIGJvZXNlIHNwaWVsZXIgYW4gcmllc2VubWFpbHMgYW4gZGllIG1hZ2llciB6dSB2ZXJzY2hpY2tlbiwgd2VubgpzaWUgc2ljaCBtYWwgbmUgUk0tZnJlaWUgemVpdCB3dWVuc2NoZW4gOm8pCgotLXZlY3Rvci0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHcm9zc2UgUG9zdGZhZWNoZXIuLi4gKFpvb2ssIDI2LiBGZWIgMjAwNCwgMTQ6MDY6MTYpOgp+IyEgcm49VmVjdG9yIHJ0PTEwNzc4MDA1MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDc3Nzk0NzExCkFoLCBzbyBiZXRyYWNodGV0IGhhYiBpY2ggZGFzIG5vY2ggZ2FyIG5pY2h0LiBBa3Rpb24gIktsZWluZXMgTXVkIj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcm9zc2UgUG9zdGZhZWNoZXIuLi4gKEFuYXRvbCwgMjYuIEZlYiAyMDA0LCAxNzo1MDo0Mik6Cn4jISBybj1ab29rIHJ0PTEwNzc4MDA3NzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDc3Nzk0NzExCkljaCBoYWV0dGUgZ2VybmVuIGVpbmVuIEJ1c2luZXNzY2FzZSB1ZWJlciBkYXMgdGF0c2FlY2hsaWNoIGVyemV1Z3RlCkxhZy4gVW5kIGVpbmVuIFZlcmdsZWljaCBkYW1pdCwgd2FzIGVpbmUgRm1haWwgYW4gTGFnIGVyemV1Z3QuCgpBbmF0b2wsIGRlZmluaXRpdiBQb3N0ZmFjaHN1ZW5kZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR3Jvc3NlIFBvc3RmYWVjaGVyLi4uIChBbWFyeWxsaXMsIDI2LiBGZWIgMjAwNCwgMTg6MTQ6NTQpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNzc4MTQyNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDc3Nzk0NzExCkFiZ2VsZWhudC4gU2NoaWViIERpciBEZWluZSBNYXJrZXRpbmctQnV6endvcmRzIGluIGRlbiBTcGFtLUZvbGRlci4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdyb3NzZSBQb3N0ZmFlY2hlci4uLiAoQXJrLCAyNi4gRmViIDIwMDQsIDE4OjM1OjI1KToKfiMhIHJuPUFuYXRvbCBydD0xMDc3ODE0MjQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3Nzc5NDcxMQpOZW5lLCBEdSBtdXNzdCBlaW5lbiBCdXNpbmVzc2Nhc2UgYWJsaWVmZXJuLCB1bSBEZWluZSBNYWlsZmlsZWdyb2Vzc2UgenUKcmVjaHRmZXJ0aWdlbi4gRGllIEFkbWlucyBzaW5kIEVudHNjaGVpZGVyLCBkaWUgVXNlciBkaWUgVmVyYnJlY2hlciA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJc3Qgc2Nob24gYmlsbGlnIChDYXR3ZWF6bGUsIDI3LiBGZWIgMjAwNCwgMDg6MDM6NDMpOgpNb2luLgoKV2VpbCBpY2hzIGdlc3Rlcm4gZW1wZm9obGVuIGJla29tbWVuIGhhYjoKCldlciBpbiBkaWVzZW0gKGh0dHA6Ly93d3cudmVyc2F0ZWwuZGUvZmlsZWFkbWluL3BvcHVwL3BvcF9uYWhfaW5wdXQuaHRtbCkKQmVyZWljaCB3b2hudCBtb2VjaHRlIHNpY2ggdmllbGxlaWNodCBkaWVzZXMKKGh0dHA6Ly93d3cudmVyc2F0ZWwuZGUvaW5kZXgucGhwP2lkPTc5MSkgTG9ja3ZvZ2VsYW5nZWJvdCBhbnNlaGVuLiAKCkljaCBiaW4gbWl0IG1laW5lbSBhbmFsb2dlbiBBbnNjaGx1c3MgdW5kIDFHQi9Nb25hdCB1ZWJlciBEU0wgZ3JhZCBtYWwKaW5zZWdlc2FtdCA1IEV1cm8gZHJ1bnRlciwgYWJlciBkYXMgaGllciBpc3QgbmUgRmxhdCB1bmQgSVNETiwgZHVlcmZ0ZSBhbHNvCmZ1ZXIgbWFuY2ggZWluZW4gaW4gRnJhZ2Uga29tbWVuLiA0OSBmdWVyIGFsbGVzIGlzdCByZWxhdGl2IHVuc2NobGFnYmFyLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3Jvc3NlIFBvc3RmYWVjaGVyLi4uIChXYXJnb24sIDI4LiBGZWIgMjAwNCwgMTU6MTI6MjYpOgp+IyEgcm49Wm9vayBydD0xMDc3Nzk0NzExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3Nzc5NDcxMQpQcmltYSBJZGVlLCBhYmVyIHZpZWxsZWljaHQgc29sbHRlIGVyc3QgbWFsIGRlciBTcGFtZmlsdGVyIGFrdGl2aWVydCB3ZXJkZW4uClZpZWxsZWljaHQgbG9lc3Qgc2ljaCBkYW1pdCBzY2hvbiBlaW4gVGVpbCBkZXMgUHJvYmxlbXMuLi4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlc2V0emJ1Y2ggKENodWNreWxlaW4sICA2LiBNYXIgMjAwNCwgMTY6MjA6NDgpOgpCZWkgZGVuIGdhbnplbiAiR2VzZXR6ZW4iKFZlcmJvdGVuLCBldGMuLi4pIHNvbGx0ZSBtYW4gZG9jaCBsYW5nc2FtIG1hbCBlaW4KR2VzZXR6YnVjaCBoaWVyIGVpbmZ1ZWhyZW4uIERhbm4ga29lbm50ZSBtYW4gYXVjaCBzbyBsdXN0aWdlCkJlcmF0ZXJrb21taXNpb25lbiBiaWxkZW4gdW5kIGxhdXRlciB0b2xsZSBSZWZvcm1lbiBhbnN0ZXVlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRG9rdW1lbnRhdGlvbiAoR2xvaW5zb24sIDE4LiBNYXIgMjAwNCwgMjM6Mzg6NDMpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzk2NDEyNjEgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwNzk2NDEyNjEKRGFua2UgZnVlciBkaWUgQmx1bWVuIHVuZCBkZW4gbmV0dGVuIEpvYi4gV2VubiBldWNoIGFsc28gaW4gWnVrdW5mdCBlaW5lCkhpbGZlc2VpdGUgZmVobGVuIHNvbGx0ZSwga29lbm50IGlociBtaXIgZGFzIGdlcm4gbWFpbGVuLiBOZWluLCBlaW5lIEZQLUxpc3RlCmdpYnQgZXMgbmljaHQuIE5laW4sIGF1Y2gga2VpbiBTdHVwc2xpc3RlIDopCkViZW5mYWxscyBEYW5rIGdlaHQgYW4gTW9yZ290aCwgZGVyIG1laW5lIEtvcGllcmFuZnJhZ2VuIGluIGRlbiBsZXR6dGVuCk1vbmF0ZW4gc28ga2xhZ2xvcyBlcnRyYWdlbiB1bmQgZXJmdWVsbHQgaGF0LgpCZXNvbmRlcmVyIERhbmsgZ2lsdCBpbiBadWt1bmZ0IGplZG9jaCBCYW1iaSwgZGVyIHdlaXRlcmhpbiBlZGVsbXVldGlnIGRpZQpVZWJlcmFyYmVpdHVuZyBkZXIgTVBBIGluIEFuZ3JpZmYgbmVobWVuIHdpcmQuIEljaCB3ZXJkZSBlcyBhdWNoIHNvZm9ydCBpbgppcmdlbmQgZWluZXIgRG9rdW1lbnRhdGlvbnNzZWl0ZSB2ZXJld2lnZW4sIGRhbWl0IGRpZXNlciBhdWZvcGZlcnVuZ3N2b2xsZQpCZWl0cmFnIGdld3VlcmRpZ3QgYmxlaWJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRG9rdW1lbnRhdGlvbiAoQmFtYmksIDE5LiBNYXIgMjAwNCwgMTA6MjA6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3OTY0OTUyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzk2NDEyNjEKPiBbLi4uXUJhbWJpLCBkZXIgWy4uLl0gZGllIFVlYmVyYXJiZWl0dW5nIGRlciBNUEEgaW4gQW5ncmlmZiBuZWhtZW4gd2lyZApbLi4uXQpVbmQgbWl0IGRpZXNlciBBdXNzYWdlIHRyYXVzdCBEdSBEaWNoIG5hY2ggTXVlbnN0ZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEb2t1bWVudGF0aW9uIChHbG9pbnNvbiwgMTkuIE1hciAyMDA0LCAxMTowMjozMCk6Cn4jISBybj1CYW1iaSBydD0xMDc5Njg4MDM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA3OTY0MTI2MQpOb2NoIG1laHIgTG9iaHVkZWxlaSBpc3QgbmljaHQgZHJpbiwgQmFtYmkuICBXaXIgc2luZCBqYSBzY2hvbiBzdG9seiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJMLUZydWVobGluZ3MtTW9yZ2VuR3JhdWVuLVBhcnR5IGluIE11ZW5zdGVyIGFtIDIuQXByaWwgKENhdHdlYXpsZSwgMjIuIE1hciAyMDA0LCAxNDo1NjozNCk6CjxhZHZlcnRpc2VtZW50PgoKV29sbHRlc3QgZHUgaW1tZXIgc2Nob24gbWFsIHdpc3Nlbiwgb2IgZGllIENoYXJha3RlcmUsIGRpZSBpbSBNb3JnZW5HcmF1ZW4KcnVtbGF1ZmVuIGF1Y2ggZWNodCBzaW5kPyBXb2xsdGVzdCBkdSBpbW1lciBzY2hvbiBtYWwgZGVpbmVuIEdvdHQgaW4gRmFyYmUgCnVuZCBob2NoYXVmbG9lc2VuZCBzZWhlbj8gSGFzdCBkdSBzY2hvbiBtYWwgZWluZW4gcm90aWVyZW5kZW4gClBhcnR5b3JnYW5pc2F0b3IgZ2VzZWhlbj8gV2lsbHN0IGR1IEh1bmRlc29laG5lLCBkaWUgZGlyIGF1ZiBkZXIgSG9jaGViZW5lCmRpZSBBbWVpc2VuIHdlZ2hhdWVuLCBzY2hvbiBpbW1lciBtYWwgcGVyc29lbmxpY2gga2VubmVuIGxlcm5lbj8gCkRhbm4ga29tbSB6dXIgCiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgIEZSVUVITElORy1NT1JHRU5HUkFVRU4tUEFSVFkgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbSAzLiBBcHJpbCAyMDA0IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBNdWVuc3RlcgoKTWl0c3BpZWxlciB6dW0gQW5mYXNzZW4sIFphdWJlcmVyIHp1bSBBYmxhZXN0ZXJuLCBFcnptYWdpZXIgenVtIFZlcnBydWVnZWxuLgpBbGxlIHdlcmRlbiBkYSBzZWluLiBLb21tIGF1Y2ggZHUgdm9yYmVpIHVuZCB2ZXJzdWNoIERlaW4gTGViZW4gaW4gUkwgd2llZGVyCmVpbiBrbGVpbiB3ZW5pZyBrb21tdW5pa2F0aXZlciB6dSBnZXN0YWx0ZW4uCgpJbSBBbmdlYm90IGhhYmVuIHdpciAKLSBnZW11ZXRsaWNoZXMgZXJzdGVzIFp1c2FtbWVudHJlZmZlbiBiZXJlaXRzIGFtIEZyZWl0YWcgZGVtIDAyLiBBcHJpbCBpbgogIGVpbmVyIHNjaG51Y2tlbGlnZW4gS25laXBlICgiVWZlcmxvcyIpIGFtIEFhc2VlIChpbmNsIEF1c3NpY2h0c2JhbGtvbiBiZWkgCiAgd2FybWVuIFdldHRlcikuCi0gS3VzY2hlbGlnZSBVZWJlcm5hY2h0dW5nc21vZWdsaWNoa2VpdCBpbiBlaW5lciB3YXJtZW4gU3BvcnRoYWxsZSBtaXQgZWluZXIKICBnYW56ZW4gSG9yZGUgc2NobmFyY2hrb21wZXRlbnRlciBNdWRkZXIuIAotIEVpbmUgUkwtUXVlc3QgZHVyY2ggTXVlbnN0ZXIsIGluIGRlciBkdSBiZXdlaXNlbiBrYW5uc3QsIG9iIGR1cyBhdWNoIGltIAogIGVjaHRlbiBMZWJlbiAiZHJhdWYiIGhhc3QgKHNvbGx0ZW4gZXVyZSBIaWViLSB1bmQgU3RpY2h3YWZmZW4gdm9uIGRlciAKICBsb2thbGVuIFN0YWR0d2FjaGUgbWlzYmlsbGlndCB3ZXJkZW4sIHVlYmVybmVobWVuIHdpciBrZWluZSBIYWZ0dW5nKS4gCi0gZGllIENoYW5jZSBhdWYgRXJzdGVpZ2VydW5nIGVpbmVzIFRyaW5rYmVjaGVyLVVudGlrYXRzIG1pdCBwZXJzb2VubGljaGVtCiAgQXVmZHJ1Y2suCi0gR1JPU1NFIFBBUlRZIGFtIFNhbXN0YWcgQWJlbmQgaW0gRmFjaHdlcmsgR2lldmVuYmVjayBtaXQgUGxhdHogZnVlciAKICBiaXMgenUgMTUwIExldXRlbiwgaW5rbHVzaXZlIEVzc2VuLCBUcmlua2VuIHVuZCBNdXNpayBuYWNoIFd1bnNjaCAod2VyCiAgenVlcnN0IGFuIGRlciBBbmxhZ2UgaXN0LCBoYXQgZ2V3b25uZW4pLgotIFZlcmZyZXNzZW5lciBBdXNrbGFuZyBTb25udGFnIE1pdHRhZyBiZWltIGhpZXNpZ2VuIENoaW5lc2VuICgiSG9uZyBCaW4iKQogIG1pdCBhbGxlbiwgZGllIGRhbm4gc2Nob24gd2llZGVyIGVzc2VuIGtvZW5uZW4uCi0gVW5kIGRhcyBnYW56ZSBmdWVyIGxhZWNoZXJsaWNoZSAxNSBFdXJvIFBhcnR5Z2VidWVociBmdWVyIFVlYmVybmFjaHR1bmcgCiAgdW5kIFBhcnR5YWJlbmQgKGFlaCwgYWxzbyBleGtsdXNpdmUgIlVmZXJsb3MiLCAiVGFzc2UiIHVuZCAiSG9uZyBCaW4iLCAKICB0cm90emRlbSBhYmVyIGltbWVyIG5vY2ggZWluIHVuc2NobGFnYmFyZXIgUHJlaXMpCgpBbHNvLiBOaW1tIGRpciBhbiBkZW0gV29jaGVuZW5kZSBuaWNodHMgdm9yLCByYWZmIGRpY2ggbG9zIHZvbiBkZXIgVGFzdGF0dXIsCnN0ZWxsIGRpZSBrYWx0ZSBQaXp6YSB3aWVkZXIgaW4gZGVuIEt1ZWhsc2NocmFuayB1bmQgbWFjaCBkaXIga2VpbmUgd2VpdGVyZW4KU29yZ2VuIHVtIGRlaW5lIHNjaHdpbmRlbmRlbiBLYWZmZWUtIHVuZCBDb2xhLVZvcnJhZXRlLiBLb21tIG5hY2ggTXVlbnN0ZXIgCnp1ciBncm9zc2VuIEZydWVobGluZ3NwYXJ0eSAodW5kIGJyaW5nIGRlaW5lIE1pdHNjaGxhZWNodGVyIGFtIGJlc3RlbiBnbGVpY2ggCm1pdCA6LSkgKS4KCldlciBrb21tZW4gd2lsbCwgbW9lZ2Ugc2ljaCBiaXR0ZSBkcmluZ2xpY2hzdCBhdWYgZGVuIGluIGFsbGVuIFN0YXJ0cmFldW1lbiAKYXVmZ2ViYXV0ZW4gUGFydHlicmV0dGVybiBhbm1lbGRlbiB1bmQgc29kYW5uIGF1Y2ggbW9lZ2xpY2hzdCBiYWxkIGRlbiAKUGFydHliZWl0cmFnIHVlYmVyd2Vpc2VuLiBCZWkgUnVlY2tmcmFnZW4sIFByb2JsZW0gb2RlciBTb3JnZW4gKG51ciAKYmV6dWVnbGljaCBkZXIgUGFydHksIGdlbGwpIHN0ZWhlIGljaCBsaWViZW5kIGdlcm5lIHp1ciBWZXJmdWVndW5nLiAKCkljaCB3aWVkZXJob2xlIG1pY2ggYWxzbyBnZXJuOiBLb21tZXQgenUgaGF1ZiEhIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgpQUzogQWxsZSB3aWNodGlnZW4gUGFydHlkYXRlbiBnaWJ0IGVzIGF1ZiBkZXIgV2Vic2VpdGUgCiAgICBodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjI1L2luZGV4Lmh0bWwKCjwvYWR2ZXJ0aXNlbWVudD4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlkZWxuIChNdWFkaWIsICAxLiBBcHIgMjAwNCwgMDk6MDM6MDkpOgphYiBoZXV0ZSBrYW5uIHByb2Zlc3Npb25lbCBnZWlkZWx0IHdlcmRlbi4gd28gd2lyZCBuaWNodCB2ZXJyYXRlbiBhYmVyIGVpbmVuCnRpcCBnaWJ0IGVzOiBiZXNvbmRlcmVuIGRhbmsgYW4gYmFtYmkKCm11YWRpYgoqaWRlbG5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXMgdW5kIG11ZHMgKE11YWRpYiwgIDEuIEFwciAyMDA0LCAxMzoyMToxMyk6CmF1cyBkZS5hbHQubXVkIHVuZCBmdWVyIHVucyB3aWNodGlnCgpncnVzcwoKbXVhZGliCkFuYmVpIGVpbmUgS3Vyem1lbGR1bmcgYXVzIGVpbmVyIHJlbm9taWVydGVuIGRldXRzY2hlbiAKQ29tcHV0ZXJ6ZWl0c2NocmlmdAoKLS0tLS0tLS0tc25pcC0tLS0tLS0tLS0tCk1pY3Jvc29mdCBzdGVpZ3QgaW5zIE1VRC1HZXNjaGFlZnQgZWluCgpTb2dlbmFubnRlIE1VRHMgKE11bHRpIFVzZXIgRG9tYWlucykgaGFiZW4gbGFuZ2UgWmVpdCBlaW4gU2NoYXR0ZW5kYXNlaW4gCmdlZnJpc3RldC4gRGVtIHdpbGwgTVMgZW50Z2VnZW50cmV0ZW4hCiJIYXJkd2FyZSB3aXJkIGluIGRlbiBuYWVjaHN0ZW4gMTAgSmFocmVuIGltbWVyIGJpbGxpZ2VyIHdlcmRlbiIsIHNvIEJpbGwgCkdhdGVzLCAiZ2VmcmFndCBzaW5kIGltbWVyIG1laHIgaW5ub3ZhdGl2ZSwgdmVybmV0enRlIExzdW5nZW4iLiBBdWYgZGVtIApTcGllbHNla3RvciBiZWRldXRlIGRpZXMgdm9yIGFsbGVtIENvbW11bml0eWJpbGR1bmcuIE1pY3Jvc29mdCB3aWxsIGRpZXMgCmR1cmNoIGVpbiBBZGQtT24gZnVlciBkaWUgYmVsaWVidGUgWC1Cb3ggYmV3ZXJrc3RlbGxpZ2VuLiBEZXIgWEJNQyAoWC1Cb3ggCk1VRCBDbGllbnQpIHdpcmQgZGllIE5ldHp3ZXJrZmhpZ2tlaXRlbiBkZXIgUGxhdHRmb3JtIHZvbGwgYXVzbnV0emVuLiAKRGFzIGFuZ2VzdGF1YnRlIFRlbG5ldC1Qcm90b2tvbGwgd2lyZCBkYWJlaSB1bSByZXZvbHV0aW9ucmVzIG9mZmVuZXMgClhNTC1Gb3JtYXQgZXJ3ZWl0ZXJ0LCBzb2Rhc3MgbmljaHQgbnVyIEdyYWZpayB1bmQgU291bmQgc29uZGVybiBhdWNoIAp2bGxpZyBuZXVlIEZlYXR1cmVzIHdpZSBlaW5lIFVuZG8tRnVua3Rpb24gbWdsaWNoIHdlcmRlbiEKCkRpZSBCZXRyZWliZXIgZGVyIGdyb3NzZW4gTVVELVBvcnRhbHNlaXRlbiB6ZWlnZW4gc2ljaCB8YmVycmFzY2h0IHVuZCAKaGFiZW4gZ2VtaXNjaHRlIEdlZnVlaGxlLiAiU29sbHRlIE1TIGRhcyB3aXJrbGljaCBkdXJjaHppZWhlbiBiZWRldXRldCBlcyAKZWluZW4gZ2V3YWx0aWdlbiBQdWJsaWNpdHktU3BydW5nIGZ8ciBkaWUgU3BpZWxmb3JtIE1VRCIsIHNvIFN0ZXZlIApTaWNoZXJkb2NoIHZvbiB3d3cubXVkY29ubmVjdC5jb20uIEJlaSB3d3cubXVkLmRlIHNpZWh0IG1hbiBkaWUgU2FjaGUgCmV0d2FzIHp3aWVzcGFlbHRpZ2VyIHVuZCBiZWZ8cmNodGV0IGVpbmUgS29tbWVyemlhbGlzaWVydW5nIGRlciAobm9jaCkgCmZyZWllbiBNVURzLiAiRGF6dSBkYXJmIGVzIG5pY2h0IGtvbW1lbiAtIE1VRHMgc2luZCBmcmVpIHVuZCBzb2xsZW4gZnJlaSAKYmxlaWJlbiIsIG1laW50IE1hdHRoaWFzIEUuIEp1YmVsIHVuZCBmfGd0IG5vY2ggaGluenU6ICJEaWUgZGV1dHNjaGUgCk1VRC1TemVuZSB3aXJkIHNpY2ggbmljaHQgaW4gZGllIEFiaG5naWdrZWl0IHZvbiBNUyBiZWdlYmVuLiIKCmliCi0tLS0tLS0tLXNuYXAtLS0tLS0tLS0tLS0tCgotLSAKY3UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlsOiBpbnZpc2libGVAeG92ZXIubXVkLmF0CkludmlzaWJsZUBCZXV0ZWxsYW5kICAgICAgICAgICB3d3c6IGh0dHA6Ly9pbnZpc2libGUucHJpdi5hdApUaGUgY2hvaWNlcyB3ZSBtYWtlLCBub3QgdGhlIGNoYW5jZXMgd2UgdGFrZSwgZGV0ZXJtaW5lIG91ciBkZXN0aW55LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpZGVsbiAoTXVhZGliLCAgMi4gQXByIDIwMDQsIDEwOjM4OjE5KToKfiMhIHJuPU11YWRpYiBydD0xMDgwODAyOTg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MDgwMjk4OQpobW0gZG9jaCBuaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbXMgdW5kIG11ZHMgKEhvYm8sICA1LiBBcHIgMjAwNCwgMTY6NTI6MDQpOgp+IyEgcm49TXVhZGliIHJ0PTEwODA4MTg0NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgwODE4NDczCkhpaGkuLi4uIERlciBIZXJyICJKdWJlbCIgd2lyZCBzaWNoIHVlYmVyIHNlaW5lbiBuZXVlbiBOYW1lbiBhYmVyIGZyZXVlbiA7KQoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChWYW5pb24sIDExLiBBcHIgMjAwNCwgMTU6NTQ6NDYpOgpIYWxsbywgCgpkaWUgRXJ6bWFnaWVyIGRlcyBNRyBoYWJlbiAoc2Nob24gdm9yIGVpbmlnZXIgWmVpdCwgaXMgaW4gbWVpbmVtIE1haWxmb2xkZXIKdmVyc2Fja3QpIGVpbmUgTWFpbCBiZWtvbW1lbiwgYmVpIGRlciB1bSBVbnRlcnN0dWV0enVuZyBmdWVyIGVpbmUgRGlwbG9tYXJiZWl0CmdlYmV0ZW4gd2lyZDoKLS0KRGF0dW06IEZyZSwgMjAuIEZlYiAyMDA0LCAyMzozMjoyNApUaXRlbDogTVVEIFVNRlJBR0UKCkltIFJhaG1lbiBtZWluZXIgRGlwbG9tYXJiZWl0ICJTb3ppYWxlIFN0cnVrdHVyZW4gaW4gdmlydHVlbGxlbiBHcnVwcGVuIiBhbgpkZXIgVW5pIElubnNicnVjayBzdWNoZSBpY2ggbm9jaCBlaW5pZ2UgUGVyc29uZW4gbWl0IE1VRCAtRXJmYWhydW5nLCBkaWUKbWVpbmVuIEZyYWdlYm9nZW4gKGFub255bSwgY2EuIDEwIE1pbnV0ZW4pIGJlYW50d29ydGVuIHdvbGxlbi4gRXIgYmVmaW5kZXQKc2ljaCBhdWYgaHR0cDovL3d3dy4yYXNrLmF0L2QzM2NhYmUyZTZhMGFlNTkvc3VydmV5Lmh0bWwgYnp3LiBmYWxscyBpY2h6IG1pY2gKZ2VyYWRlIHZlcnRpcHB0IGhhYmUgc3RlaHQgZGllIEFkZHJlc3NlIG5vY2htYWwgYXVmIC5kZS5hbHQubXVkIC4gV2FlcmUgdG9sbCwKd2VubiBpaHIgZGVuIEF1ZnJ1ZiBpbiBldXJlciBaZWl0dW5nIHZlcm9lZmZlbnRsaWNoZW4ga29lbm50ZXQhIExpZWJlIEdydWVzc2UsCklzYWJlbGxhIChMaWxpdCBAIEZGKQotLQoKRGllc2UgTWFpbCBkaWVudCBudXIgZGVyIEJla2FubnRnYWJlIGRlciBBZHJlc3NlLiBTaWUgZGllbnQgbmljaHQgZGF6dSwKc3BlemllbGwgV2VyYnVuZyBmdWVyIGRlbiBGcmFnZWJvZ2VuIHp1IG1hY2hlbi4gRXMgaXN0IGFsbGVpbiBldXJlIFNhY2hlLCBvYgppaHIgZGVuIEZyYWdlYm9nZW4gYXVzZnVlbGxlbiB3b2xsdCwgb2RlciBoYWx0IG5pY2h0LiBEaWUgRU0gc3RlaGVuIGRlcgpBbmZyYWdlIG5ldXRyYWwgZ2VnZW51ZWJlci4KCkJpcyBkZW5uLApWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoS2VsbHlidW5keSwgMTEuIEFwciAyMDA0LCAxNjo0Nzo0Mik6Cn4jISBybj1WYW5pb24gcnQ9MTA4MTY5MTY4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKRmFzemluaWVyZW5kLCB3aWUgb2Z0IG1hbiBlaW4gdW5kIGRpZSBzZWxiZSBFeGFtZW5zYXJiZWl0IHVlYmVyIGVpbgpzb3ppb2xvZ2lzY2ggZGVyYXJ0IGlycmVsZXZhbnRlcyBUaGVtYSBzY2hyZWliZW4ga2Fubi4KCkp1c3QgTVkyQwpCbG9uZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChEYXJrbG9yLCAxMS4gQXByIDIwMDQsIDE4OjUwOjI1KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA4MTY5NDg2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKSXMgZGllIG5pY2ggc29nYXIgc2Nob24gdmVyYWx0ZXQ/CgpEYXJrbG9yIChGcm9oZSBPc3Rlcm4gd3VlbnNjaGVuZCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChab29rLCAxMy4gQXByIDIwMDQsIDEwOjA3OjUwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTA4MTcwMjIyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKRXJ6YWVobHQgbWlyIG5peCB2b24gU296aW9sb2dlbiwgaWNoIGthZW1wZmUgYXJnIGFuIG5lciBEaXNzLCBkaWUgaWNoIGluClplaXRzY2hyaWZ0IGJlc3ByZWNoZW4gc29sbC4uLi4gSXJnZW5kd2llIGlzIGRhcyBuaWNoIG1laW4gTWV0aWVyLi4uLgoKWk9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChQaWxncmltLCAxNC4gQXByIDIwMDQsIDEyOjE4OjMyKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA4MTY5NDg2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKPkZhc3ppbmllcmVuZCwgd2llIG9mdCBtYW4gZWluIHVuZCBkaWUgc2VsYmUgRXhhbWVuc2FyYmVpdCB1ZWJlciBlaW4KPnNvemlvbG9naXNjaCBkZXJhcnQgaXJyZWxldmFudGVzIFRoZW1hIHNjaHJlaWJlbiBrYW5uLgoKT2huZSBTb3ppb2xvZ2UgenUgc2VpbjoKYSkgRGFzIFRoZW1hIGlzdCBob2NoIGludGVyZXNzYW50IHVuZCBiZWkgd2VpdGVtIG5pY2h0LXRyaXZpYWwuCmIpIHdlZ2VuIGEpIGdsYXViIGljaCBuaWNodCwgZGFzIG1hbiBkYXMgaW4gZWluZXIgRGlwbG9tYXJiZWl0IGF1Y2ggbnVyCmFubmFlaGVybmQgYmVoYW5kZWxuIGthbm4KClBpbGdyaW0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKFpvb2ssIDE0LiBBcHIgMjAwNCwgMTI6MjM6MjgpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDgxOTM3OTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpLYW5uc3QgRHUgdW5zIGRhcyBzb3ppb2xvZ2lzY2ggZXJrbGFlcmVuIG9obmUgU296aW9sb2dlIHp1IHNlaW4gdW5kIAppbnNiZXNvbmRlcmUgZGllIFRoZXNlIGRlcyBOaWNodC1Ucml2aWFsZW4gKGRlcmVuIEdlZ2VudGhlc2UgS2VsbGJ1bmR5IAptRSBnYXIgbmljaHQgdmVydHJldGVuIGhhdCkgYmVncnVlbmRlbj8gU3Bhbm5lbmQgd2FlcmUgbm9jaCwgd2llIG1hbiAKZWluIFRoZW1hICJuaWNodCBhbm5hZWhlcm5kIiBiZWhhbmRlbG4ga2Fubi4gV2llIHNjaGF1dCBzb3dhcyBhdXM/IFVuZCB3aWUKbWlzc3QgbWFuIGRpZSBOYWVoZT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKEdsb2luc29uLCAxNC4gQXByIDIwMDQsIDEyOjI0OjQ0KToKfiMhIHJuPVpvb2sgcnQ9MTA4MTkzODIwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKTmFlaGUgbWlzc3QgbWFuIHVlYmVyIEhldXJpc3Rpa2VuLiBCZXNvbmRlcnMgYmVsaWVidCBzaW5kIGRpZSBpbmRpdmlkdWVsbGVuCkhldXJpc3Rpa2VuLCBhdWNoIE1laW51bmdlbiBnZW5hbm50LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoWm9vaywgMTQuIEFwciAyMDA0LCAxMjoyNToyMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDgxOTM4Mjg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpTdGltbXQsIFUgWmlubm93aXR6ZXIgU3RyYXNzZSBpc3QsIG5pY2h0IG5haCBhbiBVIFRpZXJwYXJrLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKE1hdGlzLCAxNC4gQXByIDIwMDQsIDEyOjMxOjA2KToKfiMhIHJuPVpvb2sgcnQ9MTA4MTkzODMyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKIk5pY2h0IGFubmFlaGVybmQiIGltIFNpbm5lIHZvbiAibmljaHQgYXVzc2Nob2VwZmVuZCIsIGFsc28gbnVyIGF1ZiBnZXdpc3NlLAphdXNnZXdhZWhsdGUgVGVpbGJlcmVpY2hlIGJlc2NocmFlbmt0LiBVbmQgZGFzIHdhcyBhdWNoIERpciBrbGFyLCBab29rLgoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoWm9vaywgMTQuIEFwciAyMDA0LCAxMjo0MToxMCk6Cn4jISBybj1NYXRpcyBydD0xMDgxOTM4NjY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpBYmVyIHdhcnVtPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoS2FyaXMsIDE1LiBBcHIgMjAwNCwgMjI6NTU6NDEpOgp+IyEgcm49Wm9vayBydD0xMDgxOTM5MjcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpBbHNvLCBpcmdlbmR3aWUgaGVpc3N0IGRhcyBUaGVtYSBqYSBpbW1lciBnbGVpY2guCk51ciBkaWUgVW5pIGhlaXNzdCBhbmRlcnMuClZpZWxsZWljaHQgc29sbHRlIG1hbiBkZW0gZWluZW0gb2RlciBhbmRlcmVuIFNvemlhbCAuLi4uIGFlaCwgbmUgLi4gU296aW9sb2dlbgptYWwgZW1wZmVobGVuLCBldHdhcyBSZVJlY2hlcmNoZSB6dSBiZXRyZWliZW4uCldhZXJlIGphIGF1Y2ggVGVpbCBlaW5lciB3aXNzZW5zY2hhZnRsaWNoZW4gQXJiZWl0IC4uLgoKR3V0LCBkYXNzIHdpciBkYXJ1ZWJlciBnZXNwcm9jaGVuIGhhYmVuLApLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChGb29iYXIsIDE2LiBBcHIgMjAwNCwgMTE6MDU6MzMpOgp+IyEgcm49S2FyaXMgcnQ9MTA4MjA2MjU0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKTWFuIGtvZW5udGUgamEgZWlubWFsIGVpbmUgTWV0YS1BdXN3ZXJ0dW5nIG1hY2hlbiwgb2IgIHNpY2ggZGllIEVyZ2Vibmlzc2UKZGllc2VyIFVtZnJhZ2VuIHVlYmVyIGRpZSBKYWhyZSBoaW53ZWcgYWVuZGVybi4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKFpvb2ssIDE2LiBBcHIgMjAwNCwgMTE6MDk6MzUpOgp+IyEgcm49S2FyaXMgcnQ9MTA4MjA2MjU0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKIkxlc2VuIHNjaHVldHp0IHZvciBOZXVlbnRkZWNrdW5nIiBzYWd0ZSBlaW5lciBtZWluZXIgTGVocmVyLi4uIDspKSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKFBpbGdyaW0sIDE2LiBBcHIgMjAwNCwgMTE6MjI6MjEpOgp+IyEgcm49Wm9vayBydD0xMDgxOTM4MjA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpAWm9vazoKTmEga2xhciAuLi4gbWFuIG11c3MgamEgYXVjaCBuaWNodCBTb3ppb2xvZ2Ugc2VpbiwgdW0gZWluIE1VRCB6dSBzcGllbGUgKG9kZXIKenUgbGVpdGVuKSwgb2RlciA7LSkKCkRhcyBUZWhtYSAiU296aWFsZSBTdHJ1a3R1cmVuIGluIHZpcnR1ZWxsZW4gR3J1cHBlbiIgaXN0ICduaWNodC10cml2aWFsJyBzY2hvbgphdWZncnVuZCBzZWluZXMgc2VociBhbGxnZW1laW4gZ2VoYWx0ZW5lbiBUaXRlbHMgLi4uIHVuZCBkZXIgVGF0c2FjaGUsIGRhc3MKRGlwbG9tYW5kZW4gbnVyIGVpbiBlbmdlcyBaZWl0ZmVuc3RlciB6dXIgVmVyZnVlZ3VuZyBzdGVodC4gSWNoIGhhYiBtaWNoIGphCnNjaG9uIGFscyBuaWNodC1Tb3ppb2xvZ2UgZ2VvdXRlZCAuLi4gYWxzbyB3ZWlzcyBpY2ggbmljaHQsIHdpZSBsYW5nZSBnZW5hdQpTb3ppb2xvZ2VuIHNvIGFuIElocmVuIERJUExPTWFyYmVpdCBiYXN0ZWxuIGR1ZXJmZW4gLi4uIGljaCBnZWhlIGFiZXIgbWFsCmRhdm9uIGF1cywgZGFzcyBlcyBuaWNodCBtZWhyIGFscyAxIFplaXRqYWhyIGlzdC4gRGFzIGlzdCBuaWNodCBsYW5nZSwgaW5zYmVzLgpkYSBtYW4gZWluZSBzdGF0aXN0aXNjaCByZWxldmFudGUgQW56YWhsIHZvbiAnQmVmcmFndW5nZW4nIGJyYXVjaHQgLSB1bmQgZGFtaXQKZGllIG5pY2h0IHNjaG9uIGR1cmNoIGRpZSAnRnJhZ2VuJyAoRnJhZ2Vib2dlbikgaW4gaXJnZW5kd2VsY2hlIFJpY2h0dW5nZW4KZ2VsZW5ndCB3ZXJkZW4gKHNwcmljaCBtYW4ga2VpbmUgdW4tYmVlaW5mbHVzc3RlbiBFcmdlYm5pc3NlIGJla29tbXQpIGJyYXVjaHQKbWFuIGVpbmVuIGd1dGVuIEZyYWdlYm9nZW4gLi4uIGRlc3dlaXRlcmVuIGVyd2FydGV0IG1hbiAoaWNoPykgYmVpIGplbWFuZGVuLApkZXIgdWViZXIgInZpcnR1ZWxsZSBHcnVwcGVuIiBzY2hyZWlidC9mb3JzY2h0IGF1Y2ggZWluIGZ1bmRpZXJ0ZXMgcHJha3Rpc2NoZXMKRnVuZGFtZW50IC4uLiB1bmQgZGFtaXQgbWVpbmUgaWNoIG5pY2h0LCBkYXMgbWFuIG1hbCBFSU4gTVVEIGdlc3BpZWx0IGhhdAooc2VsYnN0IGJpcyB6dW0gTWFnaWVyIG9kZXIgYWUuKQpFcyBzdGVsbHQgc2ljaCBtaXIgenVtaW5kZXN0IGRpZSBGcmFnZSwgb2IgZGllIFZlcmhhbHRlbnN3ZWlzZW4gdm9uIFVzZXJuIGluCmRldXRzY2hlbiBNVURzIHZvbiBkZW5lbiBpbiBlbmdsaXNjaGVuIG9kZXIgYW1lcmlrYW5pc2NoZW4gYWJ3ZWljaHQgLi4uIHdpZQp2ZXJoYWx0ZW4gc2ljaCBtdWx0aW5hdGlvbmFsZSBncnVwcGVuIC4uLiB1c3cgLi4uIHZvbiBhbmRlcmVuIEdydXBwZW4gYWxhClVzZW5ldCAoTmV0TmV3cykgb2RlciBGb3Jlbi1udXR6ZXJuIG9kZXIgc29uc3R3YXMgd2lsbCBpY2ggamEgZ2FyIG5pY2h0CnNwcmVjaGVuIC4uLgoKSWNoIGJsZWliZSBkYWJlaSAuLi4gZGFzIFRoZW1hIGlzdCB2b24gZWluZXIgUGVyc29uIGluIGVpbmVyIERpcGxvbWFyYmVpdCBhdWNoCm5pY2h0IG51ciBhbm4iYWhlcm5kICh3aXNzZW5zY2hhZnRsaWNoCmVyc2Nob2VwZmVuZC9iZWZyaWVkaWdlbmQvYXVzc2FnZWtyYWVmdGlnIG9kZXIgZ2FyIGFsbGdlbWVpbmd1ZWx0aWcpIHp1CmJlaGFuZGVsbikgLi4uIE1lbnNjaGxpY2ggSW50ZXJha3Rpb24gaXN0IHNjaG9uIGltIHJlYWxlbiBtaXR1bnRlciBzZWhyCmtvbXBsaXppZXJ0IChhbHNvIG5pY2h0LXRyaXZpYWwpIC4uLiBpbSB2aXJ0dWVsbGVuIHdpcmQgZGFzIG5pY2h0ICdlaW5mYWNoZXInCihkYXMgZmFlbmd0IHNjaG9uIGJlaSBkZXIgbmljaHR2ZXJiYWxlbiBLb21tdW5pa2F0aW9uc2tvbXBvbmVudGUgYW4gOy0pLgoKUGlsZ3JpbQphKSBTb3JyeSBmdWVyIGRpZSB0eXBvcwpiKSAuLi4gaGFiIGljaCB2ZXJnZXNzZW4gLi4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoUGlsZ3JpbSwgMTYuIEFwciAyMDA0LCAxMToyNzoxMSk6Cn4jISBybj1ab29rIHJ0PTEwODIxMDY1NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgxNjkxNjg2CkR1IGtlbm5zdCBkYXMgTGV4aWtvbiBkZXIgSXJydHVlbWVyIDstKT8KCk51ciB3ZWlsIHdhcyAxMDAgSmFocmUgZ2VzY2hyaWViZW4gKGFiZ2VzY2hyaWViZW4pIHd1cmRlIGhlaXNzdCBkYXMgbmljaHQsIGRhcwplcyB3YWhyIHNlaW4gbXVzcyAuLi4gaWNoIHNhZyBqZXR6dCBtYWwgU3BpbmF0IHVuZCBFaXNlbiA7LSkgb2RlciBkaWUgRXJkZSBpc3QKZWluIFNjaGVpYmUgOy0pIC4uLiAKClBpbGdyaW0KfioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBbmZyYWdlIGZ1ZXIgZWluZW4gTXVkLUZyYWdlYm9nZW4gKFpvb2ssIDE2LiBBcHIgMjAwNCwgMTE6Mzc6MDkpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDgyMTA3NjMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpXaWUga2FubiBtYW4gZGVubiBpbiBTb3ppYWx3aXNzZW5zY2hhZnRlbiB6dSAiYWxsZ2VtZWluZ3VlbHRpZ2VuIiBBdXNzYWdlbgprb21tZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChab29rLCAxNi4gQXByIDIwMDQsIDExOjQ3OjI3KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA4MjEwNzM0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKSGFsdGVuIHdpciBmZXN0OgoKIGEpIE5pY2h0dHJpdmlhbGl0YWV0IGVyZ2ViZSBzaWNoIGF1cyBkZXIgYWxsZ2VtZWluZW4gRm9ybXVsaWVydW5nIGVpbmVzCiAgICBUaXRlbHMgZWluZXIgU2NocmlmdAogYikgTmljaHR0cml2aWFsaXRhZXQgZXJnZWJlIHNpY2ggYXVzIGRlciBUYXRzYWNoZSwgZGFzcyBEaXBsb21hbmRlbiBudXIKICAgIGVpbiBiZWdyZW56dGVzIFplaXRmZW5zdGVyIHp1ciBWZXJmdWVndW5nIHN0ZWh0LgoKTnVuLCBkYSBmYWxsZW4gZWluZW0gamEgbm9jaCBlaW4gcGFhciBSdWVja2ZyYWdlbiBlaW46CgoxLiBXZWxjaGUgRm9yc2NodW5nc2ZyYWdlIGlzdCBkZW5uIGRhbm4gdWViZXJoYXVwdCAidHJpdmlhbCI/IAoyLiBXaXIgc2Vua3QgZGVubiBkaWUgTGFlbmdlIGRlciBCZWFyYmVpdHVuZ3NkYXVlciBkaWUgVHJpdmlhbGlhZXQ/CjMuIFdhcyBpc3QgZGVubiAic3RhdGlzdGlzY2ggc2lnbmlmaWthbnQiIGZ1ZXIgRGljaD8KNC4gV2FubiB3YWVyZSBkZW5uIGVpbmUgQmVhcmJlaXR1bmcgZGllc2VzIFRoZW1hcyAiYmVmcmllZGlnZW5kIiBiencuIAogICAiZ2FyIGFsbGdlbWVpbmd1ZWx0aWciPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFuZnJhZ2UgZnVlciBlaW5lbiBNdWQtRnJhZ2Vib2dlbiAoS2FyaXMsIDE2LiBBcHIgMjAwNCwgMjI6NTg6MzQpOgp+IyEgcm49Wm9vayBydD0xMDgyMTA4ODQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MTY5MTY4NgpJcmdlbmR3aWUgd2Vpc3MgaWNoIG5pY2h0LCB3YW5uIGVpbmUgQmVmcmFndW5nIHVlYmVyaGF1cHQgcmVwcmVzZW50YXRpdiBpc3QuCkRlbiBCZXdlaXMgZGFmdWVyIG1vZWdlIG1hbCBiaXR0ZSBqZW1hbmQgYW50cmV0ZW4gOikpKSAoaW5zZWJlc29uZGVyZSBpbSBGYWxsZQplaW5lcyBNVURzLi4uCkVlcnN0ZSBGZWhsZXJtb2VnbGljaGtlaXQ6IEZyYXVlbi4gKEdpYnRzIGRhIGphIGdhciBuaWNodC4uLi4pCk51biBqYS4gIE1pdCBkZW0gdHJpdmlhbGVuIFplaXRmZW5zdGVyIHZvbgooZ2Vmb3JkZmVydCB1bmQgbm9ybWFsZXJ3ZWlzZSkgNiBNb2FudGVuIHNvbGwgZXMgYWxzbyBlaWVtIHN0YXRpc3Rpc2NoCnNpZ25pZmlrYW50ZW4gRGlwbG9tYW5kZW4gZ2VsaW5nZW4sIGVpbmUKYWxsZ2VtZWluZ3VlbHRpZ2UgQXVzc2FnZSB1ZWJlciBzb3ppYWxlIFN0cnVrdHVyZW4gaW0gTXVkIHRyZWZmZW4/Pz8KCipncnVlYmVsKgpFaWdlbnRsaWNoIC4uLiBpc3QgZGFzIGdhbnogZWluZmFjaC4uLi4KIkRpZSBzcGlubmVuIGRvY2ggZWggYWxsZSBoaWVyIiAuIApPYiBpY2ggZGFyYXVmIGFscyBEaXBsYXJiZWl0IGVpbmUgTm90ZSBrcmllZ2VuIHd1ZXJkZT8gOykKCkthcmlzLCBnb3R0c2VpZGFuayBuaWNodCBtZWhyIG51ZWNodGVybi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbXp1ZyBoZXV0ZSAuLi4gKFpvb2ssIDE3LiBBcHIgMjAwNCwgMjA6MzY6MjEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwODIyMjY4Njkgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwODEzNzI5MDAKR3JhdHMhIFVuZCB2aWVsZW4gRGFuayEKClpvb2sKClBTOiBHbG9pbnNvbiwgc2NobWVpc3MgZGVuIEZUUC1DbGllbnQgYW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0LVRlYXNlciAoU2hha2VkYmVlciwgMjguIEFwciAyMDA0LCAyMjo1MDowMyk6CkhpIQoKR2FueiBpbSBTaW5uZSB2b24gS2lub2Fua3VlbmRpZ3VuZ2VuIChkaWUgamEgdGVpbHdlaXNlIGF1Y2ggc2Nob24gSmFocmUgdm9yCmRlbSBGaWxtIGVyc2NoZWluZW4pIGhhYmUgaWNoIGdlcmFkZSBkZW4gZXJzdGVuIFRlYXNlciB6dSBlaW5lciBrdWVuZnRpZ2VuClF1ZXN0IHZlcm9lZmZlbnRsaWNodC4gSW50ZXJlc3NpZXJ0ZSBmaW5kZW4gaWhuIGFscyBGbGFzaC1Qcm9qZWt0b3IgdW50ZXIKaHR0cDovL3d3dy5zcGVjdHJvc29mdHdhcmUuZGUvfmlkZWxsd2lnL3BnaS9wZ2ktdHJhaWxlcjEuZXhlIAoKV2VyIGVpbmVuIE1PVi1Nb3ZpZSBiZXZvcnp1Z3Q6Cmh0dHA6Ly93d3cuc3BlY3Ryb3NvZnR3YXJlLmRlL35pZGVsbHdpZy9wZ2kvcGdpLXRyYWlsZXIxLm1vdgoKRGllIEVYRSBpc3QgZXR3YSAyLjggTUIgdW5kIGRlciBNT1YgZXR3YSAxLjkgTUIgZ3Jvc3MuCgpWaWVsIFNwYXNzIQpTaGFreS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUXVlc3QtVGVhc2VyIChTaGFrZWRiZWVyLCAyOC4gQXByIDIwMDQsIDIyOjUzOjEyKToKfiMhIHJuPU9nbyBydD0xMDgzMTg1NTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzE4NTQwMwpPSy4gaWVsbGVpY2h0IGJhdWUgaWNoIG1vcmdlbiBub2NoIG5lbiBlY2h0ZW4gRmxhc2gtUHJlbG9hZGVyLiBEYSBoYWIgaWNoCmhldXRlIGFiZXIga2VpbmUgTHVzdCBtZWhyIGRyYXVmLiA7LSkKClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0LVRlYXNlciAoR2xvaW5zb24sIDI5LiBBcHIgMjAwNCwgMDA6NTI6NDYpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMDgzMTg1NDAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzE4NTQwMwpXb3csIGljaCBnbGF1YmUgaWNoIG11c3MgZHJpbmdlbmQgbWFsIEdpbnNlbCBzcGllbGVuIGdlaGVuLiBCZWkgZGVtIFRyYWlsZXIKbGFldWZ0IGVpbmVtIGphIGRhcyBXYXNzZXIgaW0gTXVuZCB6dXNhbW1lbi4gKER1IFNwaWVsa2luZCEgRGFzIGlzdCBqYSBnZW5hdXNvCnN1Y2h0ZXJ6ZXVnZW5kIHdpZSBkYW1hbHMgZGFzIFp3ZXJnZW5hbmdyaWZmLUZsYXNodGVpbCBhdWYgZGVtIEVwYXRyZWZmZW4hKQoKR2xvaW4oc29uKSwgbm90b3Jpc2NoIHF1ZXN0c2NoZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUXVlc3QtVGVhc2VyIChTaGFrZWRiZWVyLCAyOS4gQXByIDIwMDQsIDEwOjM1OjQ0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODMxOTI3NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMTg1NDAzCkhhbGxvIEZpbG1mcmV1bmRlIQoKRXMgZ2lidCBqZXR6dCBlaW5lIEFWSSBEYXRlaSwgZGllIHZvbiBkZXIgUXVhbGl0YWV0IHNjaGxlY2h0ZXIgaXN0IGFscyBkYXMKTU9WLCBkYWZ1ZXIgYWJlciBkZXV0bGljaCBncm9lc3Nlci4gRGFzIEFWSSB1bmQgZXJzdGUgRGVza3RvcGhpbnRlcmdydWVuZGUKZ2lidCBlcyB1bnRlciBodHRwOi8vd3d3LnNwZWN0cm9zb2Z0d2FyZS5kZS9+aWRlbGx3aWcvcGdpLwoKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBRdWVzdC1UZWFzZXIgKENhdHdlYXpsZSwgMjkuIEFwciAyMDA0LCAxMDo0NTowMik6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwODMyMjc3NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMTg1NDAzCkdlc2VoZW4uCgpTZWhyIGdlaWwgOi0pKSkKClRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBRdWVzdC1UZWFzZXIgKE1vbnRhbnVzLCAyOS4gQXByIDIwMDQsIDEwOjQ3OjUyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgzMjI4MzAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzE4NTQwMwpLYW5uIG1pY2ggZGVtIG51ciBhbnNjaGxpZXNzZW4uIERhcyBlaW56aWdlLCB3YXMgZmVobHRlLCB3YXIgZGllCkFsdGVyc2ZyZWlnYWJlIChkZW4gTW5kZXN0bGV2ZWwpLiBJY2ggZ2xhdWIsIGljaCB3ZXJkZSBkaWUgUXVlc3QgZnJ1ZWhlc3RlbnMKaW0gSmFocmUgMjAzNCBsb2VzZW4ga29lbm5uLCB3ZW5uIGljaCBzbyBmbGVpc3NpZyB3ZWl0ZXJtdWRkZSB3aWUgZGVyemVpdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFF1ZXN0LVRlYXNlciAoU2hha2VkYmVlciwgMjkuIEFwciAyMDA0LCAxMDo1MjoyOCk6Cn4jISBybj1Nb250YW51cyBydD0xMDgzMjI4NDcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzE4NTQwMwpEYXMgaXN0IGphIGVyc3QgZGVyIGVyc3RlIFRlYXNlci4gRGllIFF1ZXN0IHdpcmQgamEgbm9jaCAiZ2VzY2huaXR0ZW4iLiA7LSkKClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0LVRlYXNlciAoQXBvcGhpcywgMjkuIEFwciAyMDA0LCAxNDozMjozOCk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwODMxODU0MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMTg1NDAzCmhlaGUsIG5ldHQgOikKCm1oLCB1bmQgTW9ua2V5IElzbGFuZCBrb2VubnQgaWNoIG1pciBhdWNoIG1hbCB3aWVkZXIgaW5zdGFsbGllcmVuLi4uCkRpZSBNdXNpayB3ZWNrdCBFcmlubmVydW5nZW4gOikKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkV1cmUgQXV0b3MuLi4gKEJhbWJpLCAzMC4gQXByIDIwMDQsIDE0OjU5OjAzKToKc29sbHRldCBpaHIgaGV1dGUgYWJlbmQgaW4gZGllIEdhcmFnZSBzdGVsbGVuLCBkZW5uIGVzIGlzdCBIZXhlbm5hY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEV1cmUgQXV0b3MuLi4gKEFsYm9pbiwgMzAuIEFwciAyMDA0LCAxNTowMDoxOSk6Cn4jISBybj1CYW1iaSBydD0xMDgzMzI5OTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwppY2ggZGFjaHRlIEhleGVuIGZsaWVnZW4gaW1tZXIgbWl0IGRlbSBCZXNlbiAuLi4KCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEV1cmUgQXV0b3MuLi4gKE1vbnRhbnVzLCAzMC4gQXByIDIwMDQsIDE1OjAwOjU1KToKfiMhIHJuPUFsYm9pbiBydD0xMDgzMzMwMDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwpOZWluLCBCYW1iaSBtYWNodCBoZXV0ZSBhYmVuZCBEZXV0c2NobGFuZHJlaXNlIHVuZCB2ZXJoZXh0IGFsbGUgQXV0b3MsIGRpZQpuaWNodCBvcmRudWduc2dlbWFlc3MgZWluZ2VwYXJrdCBzaW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXVyZSBBdXRvcy4uLiAoQmFtYmksIDMwLiBBcHIgMjAwNCwgMTU6MDQ6MDMpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA4MzMzMDA1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODMzMjk5NDMKRGFzIGVyaW5uZXJ0IG1pY2ggYW4gZWluZSBEaXNrdXNzaW9uIGxldHp0ZW5zIGltIEdlbWVpbmRlcmF0LiBFcyBnaW5nIGRhcnVtLApkYXNzIGluIGVpbmVyIFN0cmFzc2UgYXVmIGVpbmVyIFNlaXRlIFBhcmt2ZXJib3QgdmVyaGFlbmd0IHd1cmRlLiBEaWUKQmVzY2h3ZXJkZSB3YXIgZGFubiwgZGFzcyBkaWUgTGV1dGUgbnVuIGdlZ2VudWViZXIgcGFya2VuIHd1ZXJkZW4gdW5kIG1hbiBkYW5uCm5pY2h0IG1laHIgYXVzIGRlbSBIb2Yga2FlbWUuIERlciBIaW53ZWlzLCBkYXNzIG1hbiBnZWdlbnVlYmVyIHZvbgpIb2ZlaW5mYWhydGVuIG5vcm1hbGVyd2Vpc2Ugc293aWVzbyBuaWNodCBwYXJrZW4gZHVlcmZlLCB3dXJkZSBtaXQgZWluZW0KYWdncmVzc2l2ZW4gIldvIHN0ZWh0IGRhcz8/PyIgYmVhbnR3b3J0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFdXJlIEF1dG9zLi4uIChPZ28sIDMwLiBBcHIgMjAwNCwgMTg6NTQ6MDIpOgp+IyEgcm49QmFtYmkgcnQ9MTA4MzMzMDI0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODMzMjk5NDMKTWFuIGRhcmYgZ2VnZW51ZWJlciB2b24gSG9mZWluZmFocnRlbiBuaWNodCBwYXJrZW4/IEF1ZiBMYW5kc3RyYXNzZW4KdmllbGxlaWNodC4uLgoKT2dvLCBkZXIgZGFzIGZ1ZXIgZWluIEdlcnVlY2h0IGhhZWx0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFdXJlIEF1dG9zLi4uIChJbWRhLCAgMS4gTWFpIDIwMDQsIDAwOjAyOjAzKToKfiMhIHJuPU9nbyBydD0xMDgzMzQ0MDQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwpFcyBtdXNzIGdsYXViIG4gbWluZGVzdHBsYXR6IGJsZWliZW4uIERlciB2b2xsa29tbWVuIHJlaWNodCB1bSBydWVja3dhZXJ0cyBpbgpuZSBob2ZlaW5mYWhydCB6dSBmYWhyZW4gdW5kIHZvcndhZXJ0cyByYXVzLiBEaWUgTGV1dGV3LCBkaWUgZGFzIGF1cyBtaXIKdW5iZWthbm50ZW4gR3J1ZW5kZW4gYW5kZXJzcnVtIG1hY2hlbiB3b2xsZW4gc2NoZWl0ZXJuIGRhcmFuIHVuZCBiZXNjaHdlcmVuCnNpY2ggZGFubiBmdWVyY2h0ZXJsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXVyZSBBdXRvcy4uLiAoQmFtYmksICAxLiBNYWkgMjAwNCwgMDg6NTM6MjkpOgp+IyEgcm49SW1kYSBydD0xMDgzMzYyNTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwpHdWNrc3QgRHUgYXVjaCBoaWVyOgpodHRwOi8vd3d3LnZlcmtlaHJzcG9ydGFsLmRlL3N0dm8vc3R2b18xMi5waHAKU2llaGUgUGFyYWdyYXBoIDEyLCBBYnNhdHosIFB1bmt0IDMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEV1cmUgQXV0b3MuLi4gKEJvaW5nLCAgMS4gTWFpIDIwMDQsIDExOjMxOjMyKToKfiMhIHJuPUJhbWJpIHJ0PTEwODMzOTQ0MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMzI5OTQzCk5hamEsIGRhcyBpc3QgYWJlciBidXR0ZXJ3ZWljaCwgZGEgZXMgbnVyICdhdWYgc2NobWFsZW4gRmFocmJhaG5lbicgYXVjaApnZWdlbnVlYmVyIHVuenVsYWVzc2lnIGlzdC4gCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEV1cmUgQXV0b3MuLi4gKEJhbWJpLCAgMS4gTWFpIDIwMDQsIDEyOjAwOjMwKToKfiMhIHJuPUJvaW5nIHJ0PTEwODM0MDM4OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMzI5OTQzCkFscyBhbGxnZW1laW5lIEluZm8ga2FubiBpY2ggMy43MCBNZXRlciBiaWV0ZW4uIFdlbm4gZGllc2UgQnJlaXRlCnVudGVyc2Nocml0dGVuIHdpcmQsIGdpbHQgYXV0b21hdGlzY2ggUGFya3ZlcmJvdC4gRGllIEJyZWl0ZSB3YXIgZnJ1ZWhlciAzLjQwCk1ldGVyLgpPYiBkaWUgMy43MCBNZXRlciBhbHMgc2NobWFsZSBGYWhyYmFobiBnZWx0ZW4gb2RlciBvYiBhdWNoIGJyZWl0ZXJlIFN0cmFzc2VuCm5vY2ggYWxzIHNjaG1hbCBhbmdlc2VoZW4gd2VyZGVuLCBtdWVzc3RlIGljaCByZWNoZXJjaGllcmVuLiBJY2ggZ2VoZSBhYmVyCmRhdm9uIGF1cywgZGFzcyAzLjcwIE1ldGVyIHp1bSBnZXJhZGVhdXNmYWhyZW4gbmljaHQgYXVzcmVpY2hlbiwgdW0gKGF1cyBlaW5lbQpIb2YgaGVyYXVzKSBlaW5lIEt1cnZlIChhdWYgZGllIFN0cmFzc2UpIHp1IGZhaHJlbi4gVW5kIHdlbm4gc2NobWFsZSBTdHJhc3NlCmFscyA9PSAzLjcwIE1ldGVyIGRlZmluaWVydCB3dWVyZGUsIHdhZXJlIGRlciBBYnNhdHogcHJpbnppcGllbGwgdW5ub3RpZywgZGEKZXIgZGFubiBqYSBzY2hvbiBpbiBkZXIgTWluZGVzdGJyZWl0ZW5yZWdlbHVuZyBlbnRoYWx0ZW4gaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChLZWxseWJ1bmR5LCAgMS4gTWFpIDIwMDQsIDEyOjM1OjQwKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA4MTkzNzkxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODE2OTE2ODYKTWVpbiBHb3R0LCB3byBzaW5kIHdpciBnZWxhbmRldD8gRXJkYmViZW4sIFRyZWliaGF1c2VmZmVrdCwgRWwgTmlubywgQWlkcywKS3JpZWdlLCBGdW5kYW1lbnRhbGlzbXVzIHVuZCBudW4gbm9jaCBhbHMgYWxsZXJncm9lc3N0ZSBPYnN6b2VuaXRhZXQgTXVkZGVuPwpEaWUgV2VsdCBnZWh0IGpldHp0IGVyc3QgcmljaHRpZyB2b3IgZGllIEh1bmRlLgoKS2VsbHksIGxlaWNodCBpcm9uaXNjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQW5mcmFnZSBmdWVyIGVpbmVuIE11ZC1GcmFnZWJvZ2VuIChLZWxseWJ1bmR5LCAgMS4gTWFpIDIwMDQsIDEyOjM5OjIxKToKfiMhIHJuPUthcmlzIHJ0PTEwODIwNjI1NDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgxNjkxNjg2CkdlbmF1IGRhcyBoYWJlIGljaCBnZW1laW50LiBJY2ggaGFiIHNjaG9uIHppY2ggQW5mcmFnZW4vRnJhZ2Vib2VnZW4gdm9uClNvemlvbG9naWUvc296aWFscGFlZGFnb2dpay0gdW5kIGFlaG5saWNoZW4gRG9rdG9yYW5kZW4gZ2VzZWhlbiwgZGllLCB3ZW5uIHNpZQpyZWNoZXJjaGllcnQgaGFldHRlbiwgdm9tIGVyc3RlbiBhYnNjaHJlaWJlbiBnZWtvbm50IGhhZXR0ZW4gdW5kIHNpY2ggdmllbApBcmJlaXQgZGFkdXJjaCBzcGFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFdXJlIEF1dG9zLi4uIChLZWxseWJ1bmR5LCAgMS4gTWFpIDIwMDQsIDEyOjUwOjA5KToKfiMhIHJuPUJhbWJpIHJ0PTEwODM0MDU2MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMzI5OTQzCjMsNzAgaXMgdmVyZGFtbXQgc2NobWFsLiBXZW5uIGRpZSBIb2ZlaW5mYWhydCBlbnRzcHJlY2hlbmQgZW5nIGlzdCwgYXVjaCBmdWVyClBLV3MuIEFiZXIgZGllIFJlYWt0aW9uIGluIEJhbWJpcyBHZW1laW5kZXJhdHNzaXR6dW5nIGhhdCBnZXplaWd0LCBkYXNzIGRpZQpMZXV0ZSwgZGllIHNpY2ggYmVzY2h3ZXJ0IGhhYmVuLCBkYXNzIHNpZSBuaWNodCBhdXMgZGVtIEhvZiBrb21tZW4sIGRpZSBlcnN0ZW4Kc2luZCwgZGllIGRpZSBqZXdlaWxzIGJlbmFjaGJhcnRlbiBIb2ZlaW5mYWhydGVuIHp1cGFya2VuICgiaXMgbWlyIGRvY2gKZWdhbCEhIikuIFdpZSB1ZWJsaWNoLiBEaWUgbGF1dGVzdGVuIEJlc2Nod2VyZGVmdWVocmVyIHNpbmQgZGllIGxldHp0ZW4sIGRpZQpkYXMgTWF1bCBhdWZyZWlzc2VuIHNvbGx0ZW4uCgpLZWxseSwgUkwgZ2VwbGFndGVyIEZyYW5rZnVydC1MS1ctRmFocmVyICgiV2llIGxhbmdlIGJsb2NraWVyZW4gU2llIG5vY2ggZGllCkxhZGV6b25lIG1pdCBJaHJlbSAxMi1Ub25uZXI/IGljaCB3aWxsIGdlZmFlbGxpZ3N0IG1laW5lbiBTbWFydCBoaWVyIHBhcmtlbgphYmVyIHByb250byEiKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEV1cmUgQXV0b3MuLi4gKEltZGEsICAxLiBNYWkgMjAwNCwgMjA6NTY6NTUpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDgzNDA4NjA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwozLDcwIGlzIGR1cmNoYXVzIG1hY2hiYXIsIG11c3N0IGhhbHQgcnVlY2t3YWVydHMgcmVpbi4gVW5kIG1pdCBuZW0gMTJ0b25uZXIKa3JpZWd0IG1hbiBtaXQgZGVyIFplaXQgbmUgZ2V3aXNzZSBSdWhlLiBTb2xsIGRlciBTbWFydCBkb2NoIGRydWViZXJzcHJpbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFdXJlIEF1dG9zLi4uIChLZWxseWJ1bmR5LCAgMS4gTWFpIDIwMDQsIDIxOjAxOjM1KToKfiMhIHJuPUltZGEgcnQ9MTA4MzQzNzgxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODMzMjk5NDMKRGllIFJ1aGUgaGFiIGljaCwga2VpbmUgYW5nc3QuIFdlbm4gbWlyIGRpZSBfenVfIHVudmVyc2NoYWVtdCB3ZXJkZW4gbWFjaCBpY2gKaGFsdCBlcnN0IG1hbCBrYWZmZWVwYWV1c2NoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFdXJlIEF1dG9zLi4uIChJbWRhLCAgMS4gTWFpIDIwMDQsIDIxOjA1OjM3KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA4MzQzODA5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODMzMjk5NDMKSm8sIGVyc3RhdW5saWNoZXJ3ZWlzZSBsb2VzdCBSdWhlIGluIFZlcmJpbmR1bmcgbWl0IGdyb3NzZW4gQXV0b3MgZGllIG1laXN0ZW4KcHJvYmxlbWUgdm9uIHNlbGJzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFdXJlIEF1dG9zLi4uIChEYXJpYSwgIDMuIE1haSAyMDA0LCAxMzo0MTozOCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEwODM0MDg2MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMzI5OTQzCk5ldWxpY2ggaGFiIGljaCBnZXNlaGVuIHdpZSBMZXV0ZSBkaXJla3Qgdm9yIGVpbmVtIEdhcmFnZW50b3IgZ2VwYWtyZ2VwYXJrdApoYWJlbi4gQWxzIGRlciBCZXNpdHplciBkZXIgZ2FyYWdlIHJhdXNrYW0gdW5kIG1laW50ZSwgZGEgZHVlcmZ0ZSBtYW4gbmljaHQKcGFya2VuLCB3dXJkZSBkZXIgQXV0b2Jlc2l0emVyIGFncmVzc2l2OiAiRGEgc3RlaHQgYWJlciBrZWluIFNjaGlsZCEiCgpOaWNodCBqZWRlciBoYXQgSGlybi4uLgpEYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEV1cmUgQXV0b3MuLi4gKEdyaW1tYm9ybiwgIDMuIE1haSAyMDA0LCAxMzo1MTo0OCk6Cn4jISBybj1EYXJpYSBydD0xMDgzNTg0NDk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzMyOTk0MwpUamEsIFNjaHVsdGVybiB6dWNrZW4sIE9yZG51bmdzYW10IGFucnVmZW4sIGFic2NobGVwcGVuIGxhc3Nlbi4gV28gaXN0IGRhcwpQcm9ibGVtPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gNC41LiAoVmFuaW9uLCAgMy4gTWFpIDIwMDQsIDE3OjAzOjExKToKQW0gQWJlbmQgZGVzIDA0LiBNYWkgMjAwNCBrb21tdCBlcyB6dSBlaW5lciB0b3RhbGVuIE1vbmRmaW5zdGVybmlzLiBEZXIKTW9uZCBnZWh0IG1pdCBkZW0gVW50ZXJnYW5nIGRlciBTb25uZSB6dSBCZWdpbm4gZGVyIHBhcnRpZWxsZW4gUGhhc2UKZGVyIEZpbnN0ZXJuaXMgYXVmIHVuZCBkdXJjaGxhZWZ0IGJpcyBNaXR0ZXJuYWNodCBkZW4gS2VybnNjaGF0dGVuIGRlcgpFcmRlLiBWb24gMjIgYmlzIDIzIFVociB3aXJkIGRpZSBNb25kb2JlcmZsYWVoZSBpbiBlaW5lbSBmYWhsZW4gcm90ZW4KTGljaHQgZXJzdHJhaGxlbi4gRGVyIHRpZWZzdGVoZW5kZSBNb25kIHdpcmQgaW4gZWluZW0gbXlzdGlzY2hlbiBMaWNodAplcnNjaGVpZW4uCgp3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gb25saW5lIHVudGVyOgpodHRwOi8vd3d3LmFzdHJvY29ybmVyLmRlL3dpc3Nlbi93aXNzZW5fZmluc3Rlcm5pc3NlXzIwMDQwNTA0LnBocAoKLS0KClZpZWwgc3Bhc3MgYmVpbSB3YWNoYmxlaWJlbiB1bmQgYXVmZWluZXdvbGtlbmxvc2VuYWNodGhvZmZlbi4KCgpWKiwgd2lyZCB3b2hsIHNlaW5lbiBSZWZyYWt0b3IgYXVzIGRlbSBLZWxsZXIgaG9sZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRXVyZSBBdXRvcy4uLiAoS2VsbHlidW5keSwgIDQuIE1haSAyMDA0LCAyMjo0OTo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4MzU4NTEwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODMzMjk5NDMKT3JkbnVuZ3NhbXQgYW5ydWZlbiBpc3QgZWluIFByb2JsZW0uIERhIER1IG5pY2h0IGRlciBWZXJ1cnNhY2hlciwgYWJlciBkZXIKQXVmdHJhZ2dlYmVyIGJpc3QsIHdpcmQgZGllIEFic2NobGVwcGtvc3RlbnJlY2hudW5nIHp1ZXJzdCBiZWkgRGlyIGxhbmRlbi4Kd2VubiBkZXIgQWJnZXNjaGxlcHB0ZSBlbnR3ZWRlciBnZXdpZWZ0IGlzdCwgb2RlciBhYmVyIHVlYmVyIHZpaWlpaWllZWVlZWVlbApWaXRhbWluIEIgKEIgd2llIEJlemllaHVuZ2VuISkgdmVyZnVlZ3Qgb2RlciBhYmVyIHdlbm5zIGJlaSBkZW0gc2NobGljaHQgdW5kCmVyZ3JlaWZlbmQgbml4IHp1IGhvbGVuIGdpYnQsIGRhbm4gaGFzdCBEdSBlaW4gUHJvYmxlbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5JR0hUV0lTSCBTaW5nbGUgKEx1ZywgIDQuIE1haSAyMDA0LCAyMjo0OTo0NCk6Ck1vaW4sCgphbmdlYmxpY2ggaXN0IGRpZSBuZXVlIE5pZ2h0d2lzaC1TaW5nbGUgaGV1dGUgcmF1cy4gSGF0IGRpZSBzY2hvbiB3ZXIgaW0gTGFkZW4KZ2VzZWhlbiBvZGVyIGhhdCBkaWUgUGxhdGVuZmlybWEgZWluZmFjaCBudXIgZGllIFRlcm1pbnZlcnNjaGllYnVuZyBpbiBpaHJlbQpTTVMtVmVydGVpbGVyIHZlcmdlc3Nlbj8KCld1ZXJkZSBtaWNoIG1hbCBpbnRlcmVzc2llcmVuLgoKTHVnaWZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5JR0hUV0lTSCBTaW5nbGUgKFJvbmRhLCAgNC4gTWFpIDIwMDQsIDIzOjEzOjIzKToKfiMhIHJuPUx1ZyBydD0xMDgzNzAzNzg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzcwMzc4NApBbHNvIGxhdXQgQW1hem9uLmRlIGlzdCBOZW1vIGJlcmVpdHMgc2VpdCBkZW0gMy41LiBpbSBIYW5kZWwgdW5kIGlubmVyaGFsYiB2b20KMjQgU3R1bmRlbiBsaWVmZXJiYXIuLi4KClJvbmRhICpoYXQgZGllIGFiZXIgYXVjaCBub2NoIG5pY2h0IGluIGZyZWllciBXaWxkYmFobiBnZXNlaGVuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOSUdIVFdJU0ggU2luZ2xlIChMdWcsICA0LiBNYWkgMjAwNCwgMjM6MTQ6NTUpOgp+IyEgcm49Um9uZGEgcnQ9MTA4MzcwNTIwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODM3MDM3ODQKb2VoLAoKZGFubjogS0FVRkVOIQoKSXN0IGdlaWwuCkx1Z2lmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gNC41LiAoVmFuaW9uLCAgNS4gTWFpIDIwMDQsIDA3OjIyOjQ5KToKfiMhIHJuPVZhbmlvbiBydD0xMDgzNTk2NTkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzU5NjU5MQpEYSBkaWUgTW9uZGZpbnN0ZXJuaXMgaW4gdmllbGVuIEVja2VuIHdlZ2VuIHNjaGxlY2h0ZW4gV2V0dGVycyBhdXNmaWVsCipzZXVmeiosIGdpYnRzIGpldHp0IGVpbiBUcm9zdHBmbGFzdGVyLiBBbSAyOC4gT2t0b2JlciBmaW5kZXQgZGllIG5hZWNoc3RlCk1vbmRmaW5zdGVybmlzIHN0YXR0LCB1bmQgZGFzIHNvZ2FyIG5hY2h0cyAoZGllIGFuZGVyZW4gc2luZCBqYSBlaGVyCnVuaW50ZXJlc3NhbnQgZnVlciB1bnMgOikKCkdydWVzc2UsIApWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gNC41LiAoWm9vaywgIDUuIE1haSAyMDA0LCAxMDozMjo0Mik6Cn4jISBybj1WYW5pb24gcnQ9MTA4MzczNDU2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODM1OTY1OTEKV2llIGdlbmF1IGlzdCBkZW5uIGRpZSBNb25kZmluc3Rlcm5pcyAiYXVzZ2VmYWxsZW4iPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRvdGFsZSBNb25kZmluc3Rlcm5pcyBhbSA0LjUuIChWYW5pb24sICA1LiBNYWkgMjAwNCwgMTc6MDM6MzUpOgp+IyEgcm49Wm9vayBydD0xMDgzNzQ1OTYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4MzU5NjU5MQpBaCwgWm9vaywgaWNoIHd1c3N0ZSBkYXMgZGllc2UgRnJhZ2Uga29tbXQuIEFscyBBbnR3b3J0IGdlYmUgaWNoIGVpbmUgRnJhZ2UKenVydWVjazogCiBLZW5uc3QgRHUgU2Nocm9lZGluZ2VycyBNaXR6ZWthZXR6Y2hlbj8KdW5kIGVpbmUgQXVzc2FnZToKIEljaCBoYWJlIGRpZSBNb25kZmluc3Rlcm5pcyBuaWNodCBnZXNlaGVuLgoKWnVkZW0gYmluIGljaCBBbmhhZW5nZXIgZGVyIFRoZXNlOiBXYXMga2VpbmVuIEVpbmZsdXNzIGF1ZiBtaWNoIGhhdCwgZ2lidCBlcwpuaWNodC4gRGllc2UgaXN0IFRlaWwgZGVzIHNvZ2VuYW5udGVuICJFZ296ZW50cmlzY2hlbiBXZWx0YmlsZGVzIiouCgpWKgoqIEltIEdlZ2Vuc2F0eiB6dW0gSGVsaW8tIG9kZXIgR2VvemVudHJpc2NoZW4gZHJlaHQgc2ljaCBkYWJlaSBhbGxlcyB1bSBtaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmliZWx1bmdlbiAoQnJld2VyLCAxMS4gTWFpIDIwMDQsIDAyOjI2OjUxKToKRXMgaXN0IG1hbCB3aWVkZXIgc28gd2VpdC4gVmllbGVuIHZvbiBFdWNoIGlzdCBlcyB2aWVsbGVpY2h0IG5vY2ggaXJnZW5kd28Kc2Nod2FjaCBpbSBHZWRhZWNodG5pc3MuLi4KSmEsIGF1Y2ggQnJld2VyIGhhdCBmcnVlaGVyIG1hbCBnZXF1ZXN0ZXQuIFVuZCBudW4gd2lyZCBlcyB3aWVkZXIgc293ZWl0IHNlaW4hCgpEaWUgTmliZWx1bmdlbiBzdGVoZW4gYW4gdW5kIGljaCB3ZXJkZSBkZW0gYWx0ZW4gQWxiZXJpY2ggbWFsIHplaWdlbiB3byBkZXIKSGFtbWVyIGhhZW5ndC4KSWNoIG11c3MgbWFsIHNjaGF1ZW4sIHNvIGdlZ2VuIEFiZW5kIHdlcmRlIGljaCBkYW1pdCBhbmZhbmdlbi4KTGVpZGVyIGxhZXNzdCBzaWNoIGRhcyBGb3JzY2hlbiBuaWNodCBnYW56IHZlcm1laWRlbiBiZWkgc29sY2hlbgpBbmdlbGVnZW5oZWl0ZW4sIHdvIHdpciBzY2hvbiBiZWkgZGVyIHp3ZWl0ZW4gd2ljaHRpZ2VuIFNhY2hlIHdhZXJlbiBkaWUgaWNoCm1hbCB3aWVkZXIgc2VpdCBsYWFhbmdlciBaZWl0IGluIEFuZ3JpZmYgbmVobWUuCgpEYXVtZW5kcnVlY2tlbiBpc3QgYXVzZHJ1ZWNrbGljaCBlcnd1ZW5zY2h0IDopCgpEYSBrb21tdCBuYXR1ZXJsaWNoIG5vY2ggZWluIFNjaG1hbmtlcmw6Cldlbm4gaWNoIGRpZXNlIFF1ZXN0IHRhdHNhZWNobGljaCBzY2hhZmZlbiBzb2xsdGUsIHdhcyBqYSBuaWNodCBnYW56CmF1c3p1c2NobGllc3NlbiBpc3QsIGRhbm4gYnJlY2hlIGljaCBkdXJjaCBkaWUgbWFnaXNjaGUgR3JlbnplIHZvbiAyMDAwCkFiZW50ZXVlcnB1bmt0ZW4hCgoKTWZHIEJyZXdlci4KClBTOiBXZXIgZGVuIFRocmVhZCB2ZXJzY2hpZWJ0IGlzdCBkb29mIHVuZCBzaWNoIGRlciBUcmFnd2VpdGUgZGVyCmJlc2NocmllYmVuZW4gRXJlaWduaXNzZSBuaWNodCBiZXd1c3N0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pYmVsdW5nZW4gKEdyaW1tYm9ybiwgMTEuIE1haSAyMDA0LCAwOTowODozNCk6Cn4jISBybj1CcmV3ZXIgcnQ9MTA4NDIzNTIxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODQyMzUyMTEKV2VyIGRlbiBVbnRlcnNjaGllZCB6d2lzY2hlbiB0aHJlYWQgdW5kIEFydGlrZWwgbmljaHQga2VubnQgaXN0IGRvb2YgdW5kIHNpY2gKZGVyIEZ1bmt0aW9uYWxpdGFldCBkZXIgdmVyd2VuZGV0ZW4gTVBBIG5pY2h0IGJld3Vzc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmliZWx1bmdlbiAoQnJvdG5hZWwsIDExLiBNYWkgMjAwNCwgMTE6MDg6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwODQyNTkzMTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg0MjM1MjExCmljaCBzb2xsdGUgYXVjaCBtYWwgbWVpbmUgcXVlc3RlbiBpbiBkZXIgbXBhIGFua3VlbmRpZ2VuLiB2aWVsbGVpY2h0IGJpbiBpY2gKZGFubiBtb3RpdmllcnRlci4uIDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pYmVsdW5nZW4gKFJvbmRhLCAxMS4gTWFpIDIwMDQsIDIwOjQwOjAwKToKfiMhIHJuPUJyZXdlciBydD0xMDg0MjM1MjExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NDIzNTIxMQpMaWViZXIgQnJld2VyLAoKdW0gZGllc2UgdHJhZ2lzLi4uIHd1bmRlcmJhcmUgU2l0dWF0aW9uIGhhdXRuYWggbWl0ZXJsZWJlbiB6dSBkdWVyZmVuLCBtb2VjaHRlCmljaCBEaWNoIGJpdHRlbiwgYXVmIC1BbGxnZW1laW4ga3VuZCB6dSB0dW4sIHdlbm4gRHUgbWl0IERlaW5lciBRdWVzdApiZWdpbm5zdC4gSWNoIHdlcmRlIERpY2ggZGFubiBnZXJuIGRhYmVpIGJlZ2xlaXRlbiB1bmQgbWl0IERlaW4gd3VuZGVyYmFyZXMKRXJsZWJuaXMgZXJsZWJlbi4KClJvbmRhICp1ZWJlcmdsdWVja2xpY2gsIHNvIHdhcyBub2NoIGVybGViZW4genUgZHVlcmZlbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvb29vb29vb29vb29vb2JhciAoUHVrLCAyMi4gTWFpIDIwMDQsIDAxOjIxOjI2KToKSXN0IGFiIG51biBtZWluIHBlcnNvZW5saWNoZXIgR290dCAoIHNvcnJ5IFpvb2sgKSAKTmFjaGRlbSBpY2ggZ2VzZWhlbiBoYWJlIHdpZSBlciA4ICEhISEhISEhISBMb25ncyBJc2xhbmQgSWNlIFRlYXMgZ2V0cnVua2VuCmhhdCB1bmQgZGVuIDkgYmVzdGVsbHQgaGF0IGFscyBpY2ggZ2VmYWhyZW4gYmluIGthbm4gaWNoIG5pY2h0IGFuZGVycyBhbHMgaWhuCkdvdHQgenUgbmVubmVuIQpJY2ggZ2ViIG1pY2ggZ2VzY2hsYWdlbiBkYSBpY2ggbmFjaCBudXIgNiBhdWZnZWdlYmVuIGhhYmUgOigKClNvIGRlciBXZXR0ZSBpc3QgZ2VudWVnZSBnZXRhbiwgZmFzdCB6dW1pbmRlc3QgKmFyZ2wqCgpQdWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGb29vb29vb29vb29vb29iYXIgKEdyaW1tYm9ybiwgMjIuIE1haSAyMDA0LCAwMToyNDoyOCk6Cn4jISBybj1QdWsgcnQ9MTA4NTE4MTY4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODUxODE2ODYKSW1tZXJoaW4gaGFzdCBEdSBuYWNoIDYgU3R1ZWNrIG5vY2ggZmFocmVuIGtvZW5uZW4sIHdhZWhyZW5kIHNpY2ggRm9vYmFyIG5hY2gKZGVtIDkuIHNpY2hlciBlaW4gVGF4aSBoYXQgYmVzdGVsbGVuIG11ZXNzZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGb29vb29vb29vb29vb29iYXIgKENhdHdlYXpsZSwgMjIuIE1haSAyMDA0LCAwOTo1NzoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4NTE4MTg2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODUxODE2ODYKTmVpbiwgZXIgd29sbHRlIHRhdHNhZWNobGljaCB6dSBzZWluZW0gRmFocnJhZC4gClp1bSBHbHVlY2sgaGF0IGVyIG1pciBkYW5uIG5vY2ggc2VpbmUgQWRyZXNzZSBlbnRnZWdlbm51c2NoZWxuIGtvZW5uZW4sIHdpcgpoYWJlbiBpaG4gc3R1bXBmIGluIHVuc2VyIFRheGkgbWl0Z2V6ZXJydCB1bmQgdm9yIHNlaW5lciBIYXVzdHVlciBhYmdld29yZmVuLgoKV2FyIGF1Y2ggYmVzc2VyIHNvIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGb29vb29vb29vb29vb29iYXIgKENhdHdlYXpsZSwgMjIuIE1haSAyMDA0LCAxMDowNjowNCk6Cn4jISBybj1QdWsgcnQ9MTA4NTE4MTY4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODUxODE2ODYKSWNoIHdlaXNzIGdyYWQgbmljaHQgZ2VuYXUsIHdhbm4gZHUgZ2VnYW5nZW4gYmlzdC4gCgpOYWNoIGVpbmVuIFJla29zdHJ1a3Rpb24sIGRpZSBpY2ggZ3JhZGUgbWl0IERhcmt3aW5nIHp1c2FtbWVuZ2VzZXR6dCBoYWJlLAprYW5uIGljaCBhYmVyIGJlc3RhZXRpZ2VuLCBkYXNzIGVyIGJlaW0gImxhc3QgY2FsbCIgbm9jaCBlaW5lbiBiZXN0ZWxsdCBoYXQuCkRhbWl0IGR1ZXJmdGVuIGVzIGRhbm4gcnVuZGUgemVobiBzZWluLiAKCkljaCBiZXp3ZWlmZWwsIGRhc3MgZXIgaGV1dGUgbm9jaG1hbCBhdWZ0YXVjaHQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGb29vb29vb29vb29vb29iYXIgKERhcmt3aW5nLCAyMi4gTWFpIDIwMDQsIDEwOjA4OjEwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDg1MjEzMTY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTE4MTY4NgpEYW1pdCBoYXQgZXIgc2VpbmVuIHBlcnNvZW5saWNoZW4gUmVrb3J0IG5pY2h0IG51ciB1ZWJlcnRyb2ZmZW4gc29uZGVybiBnbGF0dAp2ZXJkb3BwZWx0LiBXZW5uIGRhcyBrZWluIGVjaHRlciBLYW1wZnp3ZXJnIGlzdC4uLiA6LSkKCkRhcmt3aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGb29vb29vb29vb29vb29iYXIgKFpvb2ssIDIyLiBNYWkgMjAwNCwgMTQ6MDQ6MTMpOgp+IyEgcm49RGFya3dpbmcgcnQ9MTA4NTIxMzI5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODUxODE2ODYKSW50ZXJlc3NhbnRlIFdldHRiZXdlcmJlIGhhYnQgSWhyIGRhIGluIE1TLiBOYSBqYSBndXQsIGlyZ2VuZHdpZSBtdXNzIG1hbgpzaWNoIGphIHp3aXNjaGVuIEdsb2NrZW5nZWJpbW1lbCB1bmQgUmVnZW4gYmVzY2hhZWZ0aWdlbi4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGb29vb29vb29vb29vb29iYXIgKE11cGZlbCwgMjIuIE1haSAyMDA0LCAyMjoyODozMyk6Cn4jISBybj1ab29rIHJ0PTEwODUyMjc0NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1MTgxNjg2Ckxhc3N0IGV1Y2ggZGllIG1hbCB2b24gQ3JpdHRlciBtaXhlbi4gVm9uIGRlbmVuIHNjaGFmZnQgRm9vYmFyIGtlaW5lIDkgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGb29vb29vb29vb29vb29iYXIgKFpvb2ssIDIyLiBNYWkgMjAwNCwgMjI6Mjk6NTkpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODUyNTc3MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1MTgxNjg2ClVuc2VyIEZvb2JhciBzY2hhZmZ0IHNpZSBhbGxlIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZvb29vb29vb29vb29vb2JhciAoQXN1a2EsIDIyLiBNYWkgMjAwNCwgMjI6MzA6NDkpOgp+IyEgcm49Wm9vayBydD0xMDg1MjU3Nzk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTE4MTY4NgpIbW0sIGhhdCBNdXBmZWwgZGEgamV0enQgZWluZSBIZXJhdXNmb3JkZXJ1bmcgZnVlciBGdWhiYWVyIGF1c2dlc3Byb2NoZW4/CgpBc3VrYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRm9vb29vb29vb29vb29vYmFyIChMdWcsIDIzLiBNYWkgMjAwNCwgMDM6NTI6NDApOgp+IyEgcm49QXN1a2EgcnQ9MTA4NTI1Nzg0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODUxODE2ODYKTGViZXIgYWRlLi4uCgpMdWdpZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGb29vb29vb29vb29vb29iYXIgKENyaXR0ZXIsIDI0LiBNYWkgMjAwNCwgMTA6MDY6MjYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODUyNTc3MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1MTgxNjg2CmhpaGkgZGFyZiBpY2ggd2lya2xpY2ggOikKaGFiIGRhIGtlaW4gcHJvYmxlbSBtaXQgLi4uLi4Ka2FtcGZ6d2VyZ2UgYWJ6dWZsbGVuIG1laW5lIGljaCAuLi4Kc2FndCBlaW5mYWNoIGJlc2NoZWlkCmdydXNzIGMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZmluZ3N0ZW4gaW4gV3VwcGVydGFsIChNYWhhcmV0LCAyNi4gTWFpIDIwMDQsIDA4OjU0OjI0KToKSGFsbG8gYWxsZXJzZWl0cywKaWNoIGhhdHRlIG1hbCB2ZXJzcHJvY2hlbiwgZXMgaGllciBpbiBkZXIgbXBhIG5vY2ggbWFsIG9lZmZlbnRsaWNoIHp1IG1hY2hlbiwKYWxzbyB0dSBpY2ggZGFzIGhpZXJtaXQuCgpQZmluZ3N0ZW4gaXN0IGludGVybmF0aW9uYWxlcyBVbmktVGFuenR1cm5pZXIgaW4gV3VwcGVydGFsLiAgSW50ZXJuYXRpb25hbApiZWRldXRldCBkYWJlaSBkZXV0c2NobGFuZHdlaXQgcGx1cyAyLCAzIE1hbm5zY2hhZnRlbiBhdXMgZGVuIE5pZWRlcmxhbmRlbi4KSWNoIGhhYiBTaGFrZWRiZWVyIGJyZWl0Z2VzY2hsYWdlbiwgbWl0IG1pciB6dSBzdGFydGVuLCBkYSBpY2ggZGVyemVpdCBrZWluZW4KZmVzdGVuIFRhbnpwYXJ0bmVyIGhhYmUuICBEYXMgd2lyZCBiZXN0aW1tdCBsdXN0aWcsIGRhIHdpciBub2NoIG5pZQptaXRlaW5hbmRlciBnZXRhbnp0IGhhYmVuIHVuZCBpY2ggZWggZGllIGxldHp0ZW4gV29jaGVuIG5pY2h0IHRyYWluaWVyZW4Ka29ubnRlLCBkYSBtZWluIHJlY2h0ZXIga2xlaW5lciBaZWggc2ljaCBhbiBlaW5lbSBTY2hyYW5rIGhhdCBicmVjaGVuIGxhc3Nlbi4KSWNoIHdlcmQgYXVmIGplZGVuIEZhbGwgZGEgc2VpbiwgU2hha3kgaGF0IHNpY2ggYmlzaGVyIG5vY2gga2VpbmUgQXVzcmVkZQplaW5mYWxsZW4gbGFzc2VuIC4uLiB3ZXIgdW5zIGFuZmV1ZXJuIHdpbGwsIHNvbGx0ZSBoaW5rb21tZW4uClVuZCB3ZXIgdW5zIG51ciBzbyBzZWhlbiB3aWxsLCBhdWNoLiAgSWNoIHdlcmRlIGtlaW5lIFplaXQgaGFiZW4sIHp1IGlyZ2VuZAonbmVtIFN0YXRpIHp1IGtvbW1lbiwgd3VlcmQgbWljaCBhYmVyIGZyZXVlbiwgZGVuIGVpbmVuIG9kZXIgZGllIGFuZGVyZSBkYSB6dQp0cmVmZmVuLgoKSW5mb3MgZ2lidHMgaGllcjogaHR0cDovL3d3dy51bml0YW56LXBmaW5nc3RlbjIwMDQuZGUvCgpEYSBzb2xsdGUgaXJnZW5kd28gc3RlaGVuLCB3byBnZW5hdSB3aXIgc2luZCB1bmQgd2FubiB3aXIgd2FzIG1hY2hlbi4KCkJpcyBkZW5uLCBtaXQgZWluZW0ga3JhZWZ0aWdlbiBRdWljay1RdWljay1TbG93LAoKTWFoYXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBmaW5nc3RlbiBpbiBXdXBwZXJ0YWwgKFpvb2ssIDI2LiBNYWkgMjAwNCwgMDk6NTM6MTkpOgp+IyEgcm49TWFoYXJldCBydD0xMDg1NTU0NDY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTU1NDQ2NApHaWJ0IGVzIGRhbm4gYXVjaCBpcmdlbmR3aWUgRmlsbS1BdWZuYWhtZW4genUgYmV3dW5kZXJuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGZpbmdzdGVuIGluIFd1cHBlcnRhbCAoTW9yZ290aCwgMjYuIE1haSAyMDA0LCAwOTo1Mzo0Myk6Cn4jISBybj1ab29rIHJ0PTEwODU1NTc5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1NTU0NDY0Ck51ciBhbHMgRmxhc2ggOikKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQZmluZ3N0ZW4gaW4gV3VwcGVydGFsIChHbG9pbnNvbiwgMjYuIE1haSAyMDA0LCAxOToyNDozMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODU1NTgwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1NTU0NDY0CldpciBrb2VubmVuIGphIEJhYWwgc2NoaWNrZW4gb2RlciBpaG0gZGllIFZpZGVva2FtZXJhIGVudHJlaXNzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGZpbmdzdGVuIGluIFd1cHBlcnRhbCAoU2hha2VkYmVlciwgMjcuIE1haSAyMDA0LCAxMTowMDowNik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODU1NTgwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1NTU0NDY0CkZsYXNoLVZpZGVvcz8gSG9lciBhdWYuIERhIGhhYiBpY2ggZ2VyYWRlIGVpbmlnZXMgYXVmIGRlbiBTY2hyZWlidGlzY2gKYmVrb21tZW4uIDotKSBVbmQgaGllciBrb21tdCBkYW5uIGRvY2ggbm9jaCBkaWUgIkF1c3JlZGUiIGZ1ZXIgTWFoYXJldDoKS29tbWUgZ2VyYWRlIGF1cyBkZW0gVXJsYXViIHp1cnVlY2sgdW5kIGZpbmRlIGVpbmVuIEJlcmcgUG9zdC9FbWFpbHMgYXVmCmRlbS9pbSBTY2hyZWlidGlzY2gvUG9zdGZhY2ggdW5kIHdlcmRlIG1pciBkZXNoYWxiIFBmaW5nc3RlbiB3b2gKZ3JvZXNzdGVudGVpbHMgaW4gZGVyIEZpcm1hIHVtIGRpZSBPaHJlbiBzY2hsYWdlbi4KCldpZSB3YWVyZSBlcyBkZW5uIG1pdCBuZXIgVHJhaW5pbmdzcnVuZGUgYXVmIGRlciBuYWVjaHN0ZW4gUGFydHk/IEJla29tbWVuIHdpcgplaW4gcGFhciBQYWFyZSBmdWVyIGVpbiBNRy1UdXJuaWVyIHp1c2FtbWVuPwoKU2hha3kgLSBoYWV0dGUgZWlnZW50bGljaCBzY2hvbiBMdXN0IHp1IHRhbnplbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBmaW5nc3RlbiBpbiBXdXBwZXJ0YWwgKFpvb2ssIDI3LiBNYWkgMjAwNCwgMTE6MjA6MTQpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMDg1NjQ4NDA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTU1NDQ2NApXaWU/IER1IGxhZXNzdCBNYWhhcmV0IHNpdHplbj8gRGFzIGdpYnRzIHdvaGwgZ2FyIG5pY2h0Li4uLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQZmluZ3N0ZW4gaW4gV3VwcGVydGFsIChNb250YW51cywgMjcuIE1haSAyMDA0LCAxMToyMTozNik6Cn4jISBybj1ab29rIHJ0PTEwODU2NDk2MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg1NTU0NDY0ClNoYWt5IGFid2VydGVuISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGZpbmdzdGVuIGluIFd1cHBlcnRhbCAoQWxrb2hvbCwgMjcuIE1haSAyMDA0LCAxMToyNTo1Nyk6Cn4jISBybj1Nb250YW51cyBydD0xMDg1NjQ5Njk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTU1NDQ2NAp3YWVyZSBhdWZ3ZXJ0ZW4gbmljaHQgZGFzIHJpY2h0aWdlcmU/IGRhbm4ga2FubiBlciBzY2huZWxsZXIgc2VpbmUgbWFpbHMKYmVhbnR3b3J0ZW4gdW5kIGRhbm4gdGFuemVuIGdlaGVuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9vb29vb29vb29vb29vYmFyIChLZWxseWJ1bmR5LCAyOC4gTWFpIDIwMDQsIDIwOjAxOjI4KToKfiMhIHJuPVB1ayBydD0xMDg1MTgxNjg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NTE4MTY4NgpIbW1tLiBiaWV0ZSAxMS4gRGFkZHkgTywgZGVyIHdpcnQgZGllc2VyIGxhdXNjaGlnZW4ga2xlaW5lbiBDb2NrdGFpbGJhciBoYXQKbmFjaCBkZW0gNy4gb2RlciA4LiBkZW4gaWNoIGludHVzIGhhdHRlLCBhbiBzZWluZW4gc2NobmFwc2ZsYXNjaGVuCmdlc2NobnVlZmZlbHQsIG9iIGlobiBzZWluIEdyb3NzaXN0IG51ciBqYSBuaWNodCBtaXQgTGVpdHVuZ3N3YXNzZXIgYmVodW1zdApoYXQuIERhbmFjaCBoYWJlIGljaCBldHdhcyBkYXMgRXJpbm5lcnVuZ3N2ZXJtb2VnZW4gdmVybG9yZW4sIGFiZXIgaWNoIHdhciAyClRhZ2UgbGFuZyBibGF1LCBhYmVyIG5peCBLYXRlciwgaGFiIG1pY2ggdG9wIGZpdCBnZWZ1ZWhsdCA6KQoKS2VsbHksIG5vc3RhbGdpc2NoIGRlbiBndXRlbiBhbHRlbiBTdHVkZW50ZW56ZWl0ZW4gaGludGVyaGVyc2V1ZnplbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktub2NoZW5qYWVnZXIgaW4gUGFyYS0yIChWZWN0b3IsIDE1LiBKdW4gMjAwNCwgMDE6NTM6MzcpOgpTYWx1dGUsCgp3aWUgZGVyIGVpbiBvZGVyIGFuZGVyZSB2aWVsbGVpY2h0IG5vY2ggd2Vpc3MgaXN0IGhldXRlIGRlcgpkcml0dGUgSmFocmVzdGFnIGRlciBlcnN0ZW4gQmV6d2luZ3VuZyB2b24gUGFyYWNlbHN1cyBTa2VsZXR0ZW4KdW5kIE1vZ2dsIGluIGRlciBQYXJhbGxlbHdlbHQgMi4KRGllIFZlcmx1c3RlIGF1ZiBiZWlkZW4gU2VpdGVuIHdhcmVuIGVub3JtIGFiZXIgbmFjaCBsYW5nZW0gR2VtZXR6ZWwKd3VyZGUgZGFzIEhhdXMgZ2VvZWZmbmV0IDopCk5hY2hkZW0gamV0enQgc292aWVsIFplaXQgaW5zIExhbmQgZ2VnYW5nZW4gaXN0IHNvbGwgZGllc2VyIEphaHJlc3RhZwp6dW0gQW5sYXNzIGdlbm9tbWVuIHdlcmRlbiwgZGVuIFNrZWxldHRlbiB6dSB6ZWlnZW4sIHdpZXZpZWwgd2lyIFNwaWVsZXIKc2VpdGRlbSBkYXp1IGdlbGVybnQgaGFiZW4uCkFtIGhldXRpZ2VuIFRhZ2UgYWIgMjAgVWhyIHdpcmQgYWxzbyBlaW4gbmV1ZXIgQmVzdWNoIGRlciBsaWViZW5zd2VydGVuCktub2NoZW5yYXNzbGVyIGFuZ2VwZWlsdCwgamVkZXIgZGVyIHRlaWxuZWhtZW4gbW9lY2h0ZSBpc3QgaGVyemxpY2gKZWluZ2VsYWRlbi4gSW5mb3MgYnpnbCBPcnQvV2VnL1ZvcmdlaGVuIGV0YyBnaWJ0cyBiZWkgbWlyIHZpYSBNYWlsLApob2ZmZSBtYWwgZXMgZmluZGVuIHNpY2ggZ2VudWcgVmVycnVlY2teSF5IXkheSF5IYWJlbnRldWVyd2lsbGlnZS4KCi0tVmVjdG9yLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbm9jaGVuamFlZ2VyIGluIFBhcmEtMiAoVmVjdG9yLCAxNS4gSnVuIDIwMDQsIDExOjM4OjM1KToKfiMhIHJuPVZlY3RvciBydD0xMDg3MjU3MjE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA4NzI1NzIxNwpXdWFlaCB3YXJ1bSBhdWNoIGltbWVyIGRhIEZ1c3NiYWxsIHNlaW4gbXVzcy4KRGFzIHdpcmQgZGllIFNhY2hlIHdvaGwgbmFjaCBoaW50ZW4gdmVyc2NoaWViZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpbmdlciB3ZWc/IChSZWRzaGlydCwgMjEuIEp1biAyMDA0LCAwMjoyNDo0NCk6CkZydWVoZXIga29ubnRlIG1hbiBwZXIgImZpbmdlciBAbWcubXVkLmRlIiBlcmZhaHJlbiwgd2VyIGdlcmFkZSAKYWxsZXMgZGEgaXN0LiBTZWl0IGVpbmlnZXIgWmVpdCBmdW5rdGlvbmllcnQgZGFzIG5pY2h0IG1laHIuIEFic2ljaHQKb2RlciBrYXB1dHQ/IERhIGljaCBuaWNodCBpbW1lciBlaW5lbiBCcm93c2VyIHN0YXJ0ZW4gd2lsbCwgdW0gbWFsIAprdXJ6IHp1IHNjaGF1ZW4sIHdlciBhbGxlcyBpbSBNRyBpc3Qgd2FlcmUgZXMgbmV0dCwgd2VubiBmaW5nZXIgd2llZGVyCmZ1bmt0aW9uaWVyZW4gd3VlcmRlLiBTY2hvbiB3ZWlsIGRhcyBkaXJla3QgYW4gZGVyIEtvbnNvbGUgZ2VodC4gCgo6d3EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaW5nZXIgd2VnPyAoTW9vbnNoaW5lLCAyMS4gSnVuIDIwMDQsIDEwOjA0OjQ3KToKfiMhIHJuPVJlZHNoaXJ0IHJ0PTEwODc3Nzc0ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDg3Nzc3NDg0CkRhbm4gbmltbSA8TmFtZT5AbW9yZ2VuZ3JhdWVuLCBkYXMgZ2VodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmluZ2VyIHdlZz8gKE9nbywgMjEuIEp1biAyMDA0LCAxMTo0ODozNyk6Cn4jISBybj1Nb29uc2hpbmUgcnQ9MTA4NzgwNTA4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODc3Nzc0ODQKSWNoIHZlcm11dGUsIGRhc3MgZHUgaGllciBldHdhcyB2ZXJ3ZWNoc2Vsc3QuIEVyIG1laW50ZSB3b2hsIGRhcwpGaW5nZXItUHJvdG9rb2xsIFsxXSwgZGFzcyBlcyBzY2hvbiBzZWhyIHZpZWwgbGFlbmdlciBhbHMgZGFzIFdXVyBbMl0gZ2lidC4gCgpNb2VnbGljaCB3YXJlbiBhdWYgZGVyIFNoZWxsIHNvd29obCAnZmluZ2VyIEBtZy5tdWQuZGUnIGFscyBhdWNoICdmaW5nZXIKbWcub2dvQG1nLm11ZC5kZScgZGllIGRhbm4gYXVmIGplZGVyIGJlbGllYmlnZW4gU2hlbGwgZGVuIHNlbGJlbiBPdXRwdXQKbGllZmVydGVuLCB3aWUga3dlciB1bmQgZGFzIG11ZGludG5lcm5lIEZpbmdlci4KCkljaCB3aWxsIGRpZXNlIEdlbGVnZW5oZWl0IG51dHplbiwgUmVkc2hpcnRzIEJpdHRlIHVtIFJlYWt0dmllcnVuZyB6dQp1bnRlcnN0dWV0emVuLiAKCkBSZWRzaGlydDogTWVpbmVzIFdpc3NlbnMgbmFjaCwgaXN0IGRpZXNlcyAoaW1obyBzZWhyIG51ZXR6bGljaGUpIEZlYXR1cmUgYmVpCmRlciBNaWdyYXRpb24gYXVmIGRlbiBuZXVlbiBSZWNobmVyIHZlcmxvcmVuIGdlZ2FuZ2VuLgoKT2dvLCBkZXIgYXVjaCBuaWNodCBpbW1lciAnbmVuIEJyb3dzZXIgYW53ZXJmZW4gd2lsbAoKWzFdIGh0dHA6Ly93d3cuZmFxcy5vcmcvcmZjcy9yZmM3NDIuaHRtbApbMl0gaHR0cDovL3d3dy5mYXFzLm9yZy9yZmNzL3JmYzE5NDUuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmluZ2VyIHdlZz8gKEFuYXRvbCwgMjEuIEp1biAyMDA0LCAxOTo1NjowNik6Cn4jISBybj1PZ28gcnQ9MTA4NzgxMTMxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODc3Nzc0ODQKSWNoIG1laW5lIG1pY2ggZHVua2VsIGRhcmFuIGVyaW5uZXJuIHp1IGtvZW5uZW4sIGRhc3MgZWluIG9kZXIgbWVocmVyZQpFcnptYWdpZXIgbWVocm1hbHMgZGFydW0gYmF0ZW4sIFVucmVnZWxtYWVzc2lna2VpdGVuIG5hY2ggZGVtIFVtenVnCmJpdHRlIHp1IG1lbGRlbi4gRXMgYmVkdXJmdGUgZXJzdCBlaW5lciB1bm11dGlnZW4gQWV1c3NlcnVuZyBlaW5lcyAKc29sY2hlbiBFcnptYWdpZXJzIHVlYmVyIGVpbiBLb21tZW50YXIgaW4gZWluZXIgTmV3c2dyb3VwLCBkYW1pdCBzaWNoCmVpbiBTcGllbGVyIGRhenUgaGVyYWJnZWxhc3NlbiBoYXQsIGVpbmVuIEt1cnpyZXBvcnQgdWViZXIgZGllIG5pY2h0Cm1laHIgdmVyZnVlZ2JhcmVuIERpZW5zdGUgKE5ld3MtQXJjaGl2LCBGaW5nZXIsIC4uLikgenUgZ2ViZW4uCgpJY2ggZ2VoIHNwb250YW4gZGF2b24gYXVzLCBkYXNzIHNpY2ggamVtYW5kIGRydW0ga3VlbW1lcm4gd2lyZCwgc29iYWxkCmplbWFuZHMgWmVpdHBsYW4gZGFzIHp1bGFlc3N0LiA7KQoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGaW5nZXIgd2VnPyAoRGFya2xvciwgMjIuIEp1biAyMDA0LCAxNDoyNjoyOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA4Nzg0MDU2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwODc3Nzc0ODQKR3Jvc3NlIFRlaWxlIGRlciBIb21lcGFnZSBzaW5kIGltbWVyIG5vY2ggZm9yYmlkZGVuLi4uCkRhcyBpbiBPcmRudW5nIHp1IGJyaW5nZW4gZmFlbmQgaWNoIGVyc3RtYWwgd2ljaHRpZ2VyLCBhbHMgbiBGaW5nZXItQmVmZWhsCndpZWRlcmhlcnp1c3RlbGxlbi4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc2NobGFnIChTa3lmaXJlLCAxNy4gSnVsIDIwMDQsIDIxOjQ3OjAxKToKS29lbm5lbiB3aXIgc3RhdHQgIlZlcmhlaXJhdGV0IG1pdCIgaW0gRmluZ2VyICJEZXJ6ZWl0IHZlcmhlaXJhdGV0IG1pdDoiIHp1CnN0ZWhlbiBoYWJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzY2hsYWcgKEFuYXRvbCwgMTguIEp1bCAyMDA0LCAxOTowMjoxOSk6Cn4jISBybj1Ta3lmaXJlIHJ0PTEwOTAwOTM2MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkwMDkzNjIxCkdpYnQgZXMgc2Nob24gZWluIG9mZml6aWVsbGVzIFNjaGVpZHVuZ3NhbXQ/IFVuZCB3aWUgc2llaHQgZGFzIGF1cywgCndlbm4gendlaSBGcmF1ZW4gZ2VoZWlyYXRldCBoYWJlbj8gV2VyIGJlaGFlbHQgZGFzIFNlaGVyaGF1cz8gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnNjaGxhZyAoU2t5ZmlyZSwgMTguIEp1bCAyMDA0LCAxOToxNzoxNSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA5MDE3MDEzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTAwOTM2MjEKZ2VuYXUhIEd1dGUgaWRlZSwgZGFzIGdhbnplIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9yc2NobGFnIChEYXJrd2luZywgMTguIEp1bCAyMDA0LCAxOTozMToyNik6Cn4jISBybj1Ta3lmaXJlIHJ0PTEwOTAxNzEwMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkwMDkzNjIxCiAgKHApIC0gU2NoZWlkdW5nc2Fud2FsdCAgICAgICAjIyMjIyMjIyMtIDkwJQoKLi4uIHN0ZWh0IHp1bWluZGVzdCBpbiBQYWRyZWljJ3MgUGxhbiwgdmVybXV0bGljaCBmZWhsdCBkZW0gcmF1bSBkYWZ1ZXIgbm9jaApkaWUgQmVsZXVjaHR1bmcgOi0pCgpEYXJrd2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVm9yc2NobGFnIChBbmF0b2wsIDE4LiBKdWwgMjAwNCwgMTk6MzM6MDgpOgp+IyEgcm49RGFya3dpbmcgcnQ9MTA5MDE3MTg4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTAwOTM2MjEKTWl0IEFud2FlbHRlbiBrZW5udCBlciBzaWNoIHNpY2hlciBhdXMuCgpJc3QgZGFzIFByb2pla3QgZGVubiB2b3Igb2RlciBuYWNoICJQYXJhLVhpYW4iIHRlcm1pbmllcnQ/IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVm9yc2NobGFnIChBcmssIDE4LiBKdWwgMjAwNCwgMTk6NTE6MzQpOgp+IyEgcm49QW5hdG9sIHJ0PTEwOTAxNzE5ODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkwMDkzNjIxClN1cGVyLCBkYXMgYnJpbmd0IHVucyB2b3Jhbi4gV2FubiBnaWJ0IGVzIGRpZQpSdWVzdHVuZ3NyZWluaWd1bmdzYmV0cmllYnNhbmdlc3RlbGx0ZW4sIEtpbmRlcmdhZXJ0bmVyIHVuZCBCdXNzY2hhZmZuZXIgaGllcj8KSWNoIHdpbGwgYXVjaCBtZWluZSBNdWRzdGV1ZXJlcmtsYWVydW5nIGhpZXIgbWFjaGVuIGtvZW5uZW4gZHVlcmZlbi4KUHJvIFJMIGltIE11ZCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWb3JzY2hsYWcgKEFuYXRvbCwgMTguIEp1bCAyMDA0LCAxOTo1MjoxNCk6Cn4jISBybj1BcmsgcnQ9MTA5MDE3MzA5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTAwOTM2MjEKQWxzbyBpbiBwdW5jdG8gIktpbmRlcmdhZXJ0bmVyIiBnaWJ0IGVzLCBkYWNodGUgaWNoLCBsYWVuZ3N0IG5pY2h0cwptZWhyIHp1IGtsYWVyZW4uIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yc2NobGFnIChTa3lmaXJlLCAxOC4gSnVsIDIwMDQsIDE5OjUyOjIyKToKfiMhIHJuPUFyayBydD0xMDkwMTczMDk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MDA5MzYyMQpEYW5uIG11c3MgbWFuIGFiZXIgZnVlciBqZWRlcyBUYW5rZW4gdW5kIGplZGVuIEVpbmthdWYgZWluZSBRdWl0dHVuZyBiZWtvbW1lbi4KS2FubiBtYW4gSG90ZWx6aW1tZXIgdm9uIGRlciBTdGV1ZXIgYWJzZXR6ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWb3JzY2hsYWcgKEFyaywgMTguIEp1bCAyMDA0LCAxOTo1NDowMik6Cn4jISBybj1BbmF0b2wgcnQ9MTA5MDE3MzEzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTAwOTM2MjEKS2xhciwgaGllciBpbSBNdWQgZ2lidCBlcyBrZWluZSBLaW5kZXJnYWVydG5lcmlubmVuIC4uLiBvZGVyIHdpZT8gOj0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVm9yc2NobGFnIChNdWFkaWIsIDE4LiBKdWwgMjAwNCwgMjA6NTg6NTIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwOTAxNzMxMzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkwMDkzNjIxCndhcyBtZWluc3QgZHUgZGFtaXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBWb3JzY2hsYWcgKFpvb2ssIDE5LiBKdWwgMjAwNCwgMDA6MTM6MjQpOgp+IyEgcm49TXVhZGliIHJ0PTEwOTAxNzcxMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkwMDkzNjIxClpvb2sgZnJhZ3Qgc2ljaCwgd2FydW0gTXVhZGliIGF1ZiBBbmF0b2xzIEFydGlrZWwgZGVyYXJ0IHJlYWdpZXJ0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZvcnNjaGxhZyAoTXVhZGliLCAxOS4gSnVsIDIwMDQsIDEwOjIwOjMyKToKfiMhIHJuPVpvb2sgcnQ9MTA5MDE4ODgwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTAwOTM2MjEKd2llIGRlcmFydD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBWb3JzY2hsYWcgKE1vbnRhbnVzLCAxOS4gSnVsIDIwMDQsIDExOjIyOjI2KToKfiMhIHJuPU11YWRpYiBydD0xMDkwMjI1MjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MDA5MzYyMQpWb3IgYWxsZW0sIGRhc3MgQXJ0aWtlbCB2b24gTXIuIFZlcmtlZ2VyIGhpbXNlbGYgR2RBIGR1cmNoIE11YWRpYiB2ZXJsZWd0Cnd1cmRlbi4gS29tcGV0ZW56dWViZXJzY2huZWlkdW5nPyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlYm9vdCAoTXVhZGliLCAyNy4gSnVsIDIwMDQsIDE2OjI2OjQ1KToKaGksCgphdWZncnVuZCBkZXMgbGV0enRlbiBrbmllZmFsbGVzIGRlciB1cHRpbWUgd2lyZCBlcyBoZXV0ZSBhYmVuZCB6d2lzY2hlbiAxOSB1bmQKMjAgVWhyIHp1IGVpbmVtIHdlaXRlcmVuIFNodXRkb3duIG1pdCBlaW5lciBrdXJ6ZW4gYW5zY2hsaWVzc2VuZGVuIERvd250aW1lCmtvbW1lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZW5kZXJ1bmdlbiAoTXVhZGliLCAyNy4gSnVsIDIwMDQsIDE5OjM2OjQ0KToKSGksCgplcyBnYWIgbmFjaCBkZW0gUmVib290IG5vY2htYWwgQWVuZGVydW5nZW4gZnVlciBkaWUgTWFnaWVyc2NoYWZ0LiBCZXRyb2ZmZW4Kc2luZCBkaWUgQXR0cmlidXRlLiBFcyBzb2xsdGVuIHNpY2ggenVyIFplaXQgZnVlciBFdWNoIGtlaW5lcmxlaSBBdXN3aXJrdW5nZW4KZXJnZWJlbi4gU29sbHRlbiBkZW5ub2NoIFdlcnRlIGdld2FsdGlnIHZhcmlpZXJlbiwgc28gZ2VidCBiaXR0ZSBCZXNjaGVpZC4KCkdydXNzCgpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByZW1pZXJlIChGZWlnbGluZywgMzEuIEp1bCAyMDA0LCAyMjoyNzoyNik6Cmh1aHUKCkRlcnplaXQgaGFiIGljaCBlaW4ga2xlaW5lcyBQcm9ibGVtIG1pdCBQcmVtaWVyZSwgZGFzCm1laW4gUmVjaHR2ZXJzdGFlbmRuaXMgdWViZXJzdGVpZ3QuIFZpZWxsZWljaHQga2FubiBtaXIKZWluZXIgdm9uIGV1Y2ggamEgaGVsZmVuOgogCkFuZmFuZyBKdW5pIGhhYiBpY2ggdm9uIFByZW1pZXJlIGVpbmUgbmV1ZSBTbWFydGNhcmQKKFNjaGx1ZXNzZWxrYXJ0ZSkgenVnZXNjaGlja3QgYmVrb21tZW4sIG1pdCBkZXIgSW5mbwpkYXNzIGljaCBpbiBadWt1bmZ0IGRpZXNlIHZlcndlbmRlbiBzb2xsdGUgdW5kIGRpZSBhbHRlCmJhbGQgbmljaHQgbWVociBmdW5rdGlvbmllcnQuIERpZSBuaWNodCBtZWhyIGJlbm9ldGlndGUKc29sbHRlIGljaCBrb3N0ZW5mcmVpIHp1cnVlY2sgc2NoaWNrZW4uCiAKSWNoIGhhYiBkaWVzZXMgU2NocmVpYmVuIHNlaHIgc2NobmVsbCB2ZXJnZXNzZW4sIGRpZSBLYXJ0ZQpuaWNodCBnZXRhdXNjaHQgdW5kIG5hdHVlcmxpY2ggYXVjaCBuaWNodCB6dXJ1ZWNrIGdlc2NoaWNrdC4KUHJlbWllcmUgaGFiIGljaCBhdWNoIGluIGxldHp0ZXIgWmVpdCBuaWUgYW4gZ2VtYWNodCAoaWNoCndhciBiaXNjaGVuIHN0YXJrIG1pdCBtZWluZW0gQmVydWYgaW4gZGVyIGxldHp0ZW4gWmVpdApiZXNjaGFlZnRpZ3QpLgogCk51biBiZWtvbW1lIGljaCBpbiBkZXIgdmVyZ2FuZ2VuIFdvY2hlIChEaWVuc3RhZz8pIGVpbgpTY2hyZWliZW4gdm9uIFByZW1pZXJlLCBkYXNzIGljaCBkaWUgYWx0ZSBLYXJ0ZSBuaWNodAp6dXJ1ZWNrIGdlc2NoaWNrdCBoYWV0dGUgdW5kIGRhc3Mgc2llIG1pciBkYWZ1ZXIsIHdlbm4gZGllCkthcnRlIG5pY2h0IGJpcyB6dW0gMS44LiBiZWkgUHJlbWllcmUgaXN0IDM1IEVVUiBpbgpSZWNobnVuZyBzdGVsbGVuIHd1ZXJkZW4uCgpNYW4gaGF0IG1pciBhbHNvIGZyZXVuZGxpY2hlcndlaXNlIDIgVGFnZSBGcmlzdCBnZWdlYmVuCmRpZSBLYXJ0ZSB6dXJ1ZWNrIHp1IHNjaGlja2VuLiBEYXMgaGFiIGljaCBuYXR1ZXJsaWNoCmpldHp0IGF1Y2ggdmVyYnVtbWVsdCAoYmVzb25kZXJzIHdlaWwgaWNoIGRhcyBTY2hyZWliZW4KZXJzdCBoZXV0ZSByaWNodGlnIGdlbGVzZW4gaGFiKS4KCkFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBQcmVtaWVyZSBvZmZlbmJhciBuaWNodCB3ZWlzcywgd2FzCmVpbiBLdW5kZSBpc3QgKGVpbiBmcmV1bmRsaWNoZXMgU2NocmVpYmVuICJPZmZlbmJhciBoYWJlbgpTaWUgdWViZXJzZWhlbiBkaWUgS2FydGUgenVydWVja3p1c2NoaWNrZW4uLi4iIG9obmUKQW5kcm9odW5nIHZvbiAzNSBFVVIgaGFldHRlIGVzIGF1Y2ggZ2V0YW4sIGJlaSBLdW5kZW4gZGllCmRhbm4gZGFyYXVmIG5pY2h0IHJlYWdpZXJlbiBrYW5uIG1hbiBzcGFldGVyIGphIG5vY2gKZGV1dGxpY2hlciB3ZXJkZW4pLCBmcmFnZSBtaWNoLCBtaXQgd2VsY2hlciBSZWNodHNncnVuZGxhZ2UKUHJlbWllcmUgMzUgRVVSIGJlcmVjaG5lbiBrYW5uPyBJY2ggaGFiIG5pZSBlaW5lIFNtYXJ0Y2FyZApiZXN0ZWxsdC4gQWJnZXNlaGVuIGRhdm9uIG1laW5lIGljaCwgbmllIGVpbmVuIFByZW1pZXJlLQpWZXJ0cmFnIHVudGVyc2NocmllYmVuIHp1IGhhYmVuLiAoSWNoIGhhYiBtaXIgUHJlbWllcmUKZGFtYWxzIGFtIFRlbGVmb24gZnVlciBlaW5lbiAzIE1vbmF0c3Rlc3QgYXVmc2NoYXR6ZW4gbGFzc2VuLAp1bmQgd2FyIGRhbm4genUgZmF1bCBlcyB6dSBrdWVuZGlnZW4pIERhbmFjaCB3YXIgaWNoIGhhbHQKS3VuZGUgLSBvaG5lIGplbWFscyB3YXMgdW50ZXJzY2hyaWViZW4genUgaGFiZW4uCgpBdWYgamVkZW4gRmFsbCB3ZXJkZSBpY2ggbWVpbiBQcmVtaWVyZSBBYm8ga3VlbmRpZ2VuIC0KZWluZXIgRmlybWEsIGRpZSBJaHJlIEt1bmRlbiB3aWUgIkhhbnMgQXJzY2giIGJlaGFuZGVsdApzY2htZWlzc2UgaWNoIHNpY2hlciBrZWluIEdlbGQgbWVociBpbiBkZW4gUmFjaGVuLgoKS2FubiBtaXIgZWluZXIgc2FnZW4sIGRlciBtZWhyIEFobnVuZyB2b24gUmVjaHQgaGF0OgotIGtvZW5uZW4gZGllIGRpZSAzNSBFVVIgZnVlciBkaWUgS2FydGUgdmVybGFuZ2VuPwotIGJpbiBpY2ggb2huZSB1bnRlcnNjaHJpZWJlbmVuIFZlcnRyYWcgYW4gZGllCiAgamFlaHJsaWNoZSBLdWVuZGlndW5nc2ZyaXN0IGdlYnVuZGVuPwoKRmVpZ2xpbmcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJlbWllcmUgKFNreWZpcmUsICAxLiBBdWcgMjAwNCwgMDk6NTI6NTkpOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTA5MTMwNTY0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTEzMDU2NDYKU2NoaWNrIGRpZSBLYXJ0ZSB6dXJ1ZWNrIG1pdCBlaW5lbSBrbGVpbmVuIEJyaWVmY2hlbiwgZGFzcyBkdSBkaXIgZXJzdGVucwpuaWNodCBiZXd1c3N0IHdhcnN0LCBkYXNzIGR1IGRpZXNlIEthcnRlIGplbWFscyBiZXN0ZWxsdCBoYWV0dGVzdCwgendlaXRlbnMsCmRhc3MgZWluZSBlcnN0ZSBNYWhudW5nIHVlYmxpY2ggaXN0IHVuZCBkcml0dGVucywgZGFzcyBkdSBkaWUgRnJpc3QgbnVyIDIgVGFnZQp1ZWJlcnNjaHJpdHRlbiBoYXN0IHVuZCBkZXNoYWxiIGtlaW5lIE5vdHdlbmRpZ2tlaXQgc2llaHN0LCBkaWUgMzUgRXVyb25lbiB6dQpiZXphaGxlbi4KCgpXYXJ0ZSBhYiwgb2Igc2llIGRhcyBHZWxkIHRyb3R6ZGVtIHdvbGxlbiwgd2VubiBqYSAtPiBBbndhbHRzZ2VzcHJhZWNoIG9kZXIKZG9ydCBhbnJ1ZmVuIHVuZCBrbGFlcmVuLiBXZW5uIG5pY2h0LCBpcyBkb2NoIGluIEJ1dHRlci4KCkljaCBoYWIgZGllIEVyZmFocnVuZyBnZW1hY2h0LCBkYXNzIGRpZSB3ZWdlbiAyIFRhZ2VuIG5pZSBzbyB6aW1wZXJsaWNoIHNpbmQuCgpMaWViZSBHcnVlc3NlLCBTa3lmaXJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJlbWllcmUgKFR1cmJvLCAgMS4gQXVnIDIwMDQsIDEwOjE2OjA0KToKfiMhIHJuPUZlaWdsaW5nIHJ0PTEwOTEzMDU2NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkxMzA1NjQ2CkhtbSwgZWluIHBhYXIgVWViZXJsZWd1bmdlbiBkYXp1OgoKR2VuZXJlbGwga29lbm5lbiBWZXJ0cmFlZ2UgYXVjaCBvaG5lIHNjaHJpZnRsaWNoZSBWZXJlaW5iYXJ1bmcKenVzdGFuZGUga29tbWVuIHVuZCBnZWx0ZW4sIGVudHdlZGVyIG11ZW5kbGljaCBvZGVyIGR1cmNoCnNjaGx1ZXNzaWdlcyBIYW5kZWxuICh6LkIuIGRhcyBFaW5zY2htZWlzc2VuIGVpbmVyIE11ZW56ZSBpbgpuZW4gQXV0b21hdGVuIHVuZCBaaWVoZW4gZGVyIFdhcmVuYXVzZ2FiZSkuCgpJbnNvZmVybiBpc3QgRGVpbiBWZXJ0cmFnIGd1ZWx0aWcuIEVzIGdlbHRlbiBhYmVyIGRpZSBSZWdlbG4KZGVzIEJHQiB1bmQgZGVzIEFHQi1HZXNldHplcywgc29sYW5nZSBEdSBrZWluZSBkYXJ1ZWJlciBoaW5hdXMtCmdlaGVuZGVuIFZlcnBmbGljaHR1bmdlbiB1ZWJlcm5vbW1lbiBoYXN0LiBJbnNiZXNvbmRlcmUga2FubnN0CkR1IG1laW5lciBNZWludW5nIG5hY2ggamVkZXJ6ZWl0IHp1bSBNb25hdHNlbmRlIG9kZXIgZ2dmcy4Ka3VlcnplciBrdWVuZGlnZW4uIEFsbGVyZGluZ3Mga2FubiBlcyBzZWluLCBkYXNzIGdlbGVpc3RldGUKWmFobHVuZ2VuIGZ1ZXIgZGVuIEdlc2FtdHplaXRyYXVtIHZlcmZhbGxlbiAoYmluIGljaCBuaWNodCBzaWNoZXIpLgoKRGllIFp1bXV0dW5nIGVpbmVyICJTdHJhZmdlYnVlaHIiIGlzdCByZWNodGxpY2ggSHVtYnVnIHVuZAp1bnZlcnNjaGFlbXQuIEljaCB3dWVyZGUgc2llIGluIEVybWFuZ2VsdW5nIGVpbmVzIFJlY2h0c2dydW5kZXMKdmVyd2VpZ2Vybi4gTWFuIGtvZW5udGUgc2ljaCBzdHJlaXRlbiwgb2IgRHUgZGllIEthcnRlCnVlYmVyaGF1cHQgenVydWVja3NjaGlja2VuIG11c3N0LCBhYmVyIGFuZ2VzaWNodHMgZGVzIEFuZ2Vib3RzCmVpbmVyIHVuZnJlaWVuIFp1c2VuZHVuZyB3dWVyZGUgaWNoIG1pY2ggZGFyYXVmIG5pY2h0IHZlcnN0ZWlmZW4uCgpEaWUgRnJpc3RzZXR6dW5nZW4gdm9uIFByZW1pZXJlIHNpbmQgb2huZSBqZWRlbiBCZWxhbmcuIFNpZQpiZWdydWVuZGVuIGtlaW5lbiBWZXJ6dWcuCgpJY2ggd3VlcmRlIGRpZSBLYXJ0ZSwgenVzYW1tZW4gbWl0IGVpbmVyIEt1ZW5kaWd1bmcsIHp1cnVlY2stCnNjaGlja2VuLiBXZW5uIER1IHNpZSBhZXJnZXJuIHdpbGxzdCwga2FubnN0IER1IG5hdHVlcmxpY2gKYmVoYXVwdGVuLCBkaWUgS2FydGUgenVydWVja2dlc2NoaWNrdCB6dSBoYWJlbiwgc2llIGhhZXR0ZW4KZGFzIHp1IHdpZGVybGVnZW4gKmcqLgoKTWl0IEhpbmJsaWNrIGF1ZiBkYXMgUmVjaHRzYmVyYXR1bmdzZ2VzZXR6IG1vZWNodGUgaWNoIG5vY2gKZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBPYmVuc3RlaGVuZGVzIGVpbmUgTWVpbnVuZ3NhZXVzc2VydW5nCnVuZCBrZWluZSBSZWNodHNiZXJhdHVuZyBkYXJzdGVsbHQgOikuCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByZW1pZXJlIChOb25uZSwgIDEuIEF1ZyAyMDA0LCAxMDoyMzoyOCk6Cn4jISBybj1UdXJibyBydD0xMDkxMzQ4MTY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MTMwNTY0NgpCZWkgc29sY2hlbiBUZWxlZm9uZ2VzY2hhZWZ0ZW4gc3RlbGx0IHNpY2ggbWlyIGRpZSBGcmFnZSwgd2llIGRhcyBtaXQKS3VlbmRpZ3VuZ3NmcmlzdGVuIHVzdyBhdXNzaWVodC4gTm9ybWFsZXJ3ZWlzZSBzdGVodCBzb3dhcyBqYSBpbiBkZXIgQUdCLCBudXIKaGF0IGVyIGRpZSBhbSBUZWxlZm9uIG5pY2h0LiBEYXMgaGVpc3N0LCBlciBtdWVzc3RlIHNpZSB6dWdlc2FuZHQgYmVrb21tZW4KaGFiZW4gbWl0IGRlciBlcnN0ZW4gS2FydGUgdW5kIGFremVwdGllcnQgc2llIGRhbm4gbWl0IEJlbnV0enVuZyBkZXIgS2FydGUuCkFsc28gc29sbHRlbiBkaWUgbm9jaCBpcmdlbmR3byBiZWkgaWhtIHp1aGF1c2UgcnVtZmxpZWdlbiB1bmQgZXIgc29sbHRlIG1hbAplaW5lbiBCbGljayByZWlud2VyZmVuLgoKSWNoIHdlaXNzLCBkYXNzIGRpZSBLYXJ0ZSBpbSBCZXNpdHogdm9uIFByZW1pZXJlIGJsZWlidCB1bmQgbnVyIHp1ciBOdXR6dW5nCnp1ciBWZXJmdWVndW5nIGdlc3RlbGx0IHdpcmQuIERhaGVyIHdlaXNzIGljaCBuaWNodCwgb2IgZGFzIGVpbmUgU3RyYWZnZWJ1ZWhyCm9kZXIgZWluIGVyaG9laHRlcyBOdXR6dW5nc2dlbGQgaXN0LCB3aWUgei5CLiBiZWltIFNjaHdhcnpmYWhyZW4uIEljaCB3dWVyZGUKZGllIEthcnRlIHp1cnVlY2tzZW5kZW4gbWl0IGVpbmVtIEVudHNjaHVsZGlndW5nc3NjaHJlaWJlbiwgZXJ6YWVobGVuLCBpY2gKd2FlcmUgaW0gVXJsYXViIGdld2VzZW4sIGRhaGVyIGhhZXR0ZSBpY2ggZGllIEZyaXN0IG5pY2h0IGVpbmhhbHRlbiBrb2VubmVuCmJsYWZhc2VsLiBNZWlzdCBnZWJlbiBkaWUgc2ljaCBkYW1pdCBkYW5uIHp1ZnJpZWRlbiB1bmQgYmVzdGVoZW4gbmljaHQgYXVmIGRlbgozNSBFdXJvLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJlbWllcmUgKEdub21lLCAgMi4gQXVnIDIwMDQsIDE3OjMyOjMzKToKfiMhIHJuPUZlaWdsaW5nIHJ0PTEwOTEzMDU2NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkxMzA1NjQ2Cmxhc3MgbWljaCB6dXNhbW1lbmZhc3NlbjoKZHUgbGFlc3N0IGRpciBhbSB0ZWxlZm9uIHByZW1pZXJlIGZ1ZXIgMyBtb25hdGUgYXVmc2Nod2F0emVuOyB2ZXJnaXNzdCBlcywKbm9jaCB2b3IgYWJsYXVmIGRlciB6ZWl0IHp1IGt1bmRpZ2VuOyBiZWtvbW1zdCBlaW5lbiBicmllZiBtaXQgZWluZXIKc21hcnRjYXJkIGRyaW4sIHdlbGNoZSBmdWVyIGRhcyBkYXJhdWZmb2xnZW5kZSBqYWhyIGdpbHQgKGRpZSBnZWhlbiBqYQpkYXZvbiBhdXMsIGRhc3MgZHUgd2VpdGVyaGluIGt1bmRlIGJsZWliZW4gd2lsbHN0LCB3ZW5uIGR1IG5pY2h0IGt1ZW5kaWdzdCk7CnZlcnNhZXVtc3QgZGVyZW4gYXVmZm9yZGVydW5nLCBkaWUgYWx0ZSBrYXJ0ZSB6dXJ1ZWNrenVzY2hpY2tlbjsgbGllc3QKZGlyIGRlcmVuIDIuIGF1ZmZvcmRlcnVuZyBuaWNodCByaWNodGlnIGR1cmNoOyBsYWVzc3QgZGllIDIgdGFnZSBmcmlzdAptaXIgbmljaHRzIGRpciBuaWNodHMgdmVyc3RyZWljaGVuIChfaWNoXyB3YWVyZSBub2NoIGFtIGdsZWljaGVuIHRhZyBiZWkKZGVyIG5hZWNoc3RlbiBwb3N0ZmlsaWFsZSBnZXdlc2VuKSB1bmQgd3VuZGVyc3QgZGljaCBkYW5uIHVlYmVyIGRlcmVuCnJlYWt0aW9uZW4/CgpiZWkgYWxsZXIgbGllYmUuLi4gaWNoIHd1ZXJkZSBzYWdlbjogc2NodWxkaWcgaW4gYWxsZW4gYW5rbGFnZXB1bmt0ZW4uCgpnbk9tZQoKcC5zLiBpY2ggd2Vpc3MgbmljaHQsIG9iIGRpZSAzNSBldXJvIHJlY2h0ZW5zIHNpbmQuIGljaCBrb2VubnRlIG1pcgogICAgIGZvbGdlbmRlIHNpdHVhdGlvbiB2b3JzdGVsbGVuOiBkdSBiZWtvbW1zdCBlaW5lbiBwcm9iZS1rZXkgZnVlcgogICAgIDMgbW9uYXRlLCBlaW4gZnJldW5kIHZvbiBkaXIgaGF0IHp3YXIgZWluIGRlY29kZXIsIGFiZXIga2VpbmVuCiAgICAgZ3VlbHRpZ2VuIGtleSBtZWhyLiBkdSBnaWJ0cyBpaG0gZGVuIG5hY2ggZGVuIDMgbW9uYXRlbiwgZXIga2FubgogICAgIG5vY2ggbmVuIG1vbmF0IHdlaXRlcmd1Y2tlbiB1bmQgZHUgaGFzdCBqYSBkZW4gbmV1ZW4genVnZXNjaGlja3QKICAgICBiZWtvbW1lbi4gaW5zb2Zlcm4gdmVyc3RhZW5kbGljaCwgZGFzcyBzaWUgaWhuIHNvZm9ydCB6dXJ1ZWNrLQogICAgIGhhYmVuIHdvbGxlbi4gYWx0ZXJuYXRpdiBuZW4gbW9uYXRzYmVpdHJhZyBwcmVtaWVyZSAoMzUgZXVybykuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByZW1pZXJlIChab29rLCAgMi4gQXVnIDIwMDQsIDE3OjM1OjMzKToKfiMhIHJuPUdub21lIHJ0PTEwOTE0NjA3NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkxMzA1NjQ2Ckh1PyBJc3QgamVtYW5kIGFuZ2VrbGFndCB3b3JkZW4/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJlbWllcmUgKEdub21lLCAgMi4gQXVnIDIwMDQsIDE3OjM2OjUzKToKfiMhIHJuPVpvb2sgcnQ9MTA5MTQ2MDkzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTEzMDU2NDYKTk9DSCBuaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcmVtaWVyZSAoRmVpZ2xpbmcsICAyLiBBdWcgMjAwNCwgMTk6MTc6MDcpOgp+IyEgcm49R25vbWUgcnQ9MTA5MTQ2MDc1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTEzMDU2NDYKSGFsbG8sCgpOYWphLCBkZXIgMyBNb25hdHN0ZXN0IGlzdCAyIEphaHJlIGhlciA7LSkgSWNoIGhhYiBQcmVtaWVyZSBhbHNvCnNjaG9uIGJpc2NoZW4gbGFlbmdlci4gQWJlciBlcyB3YXIgYXVjaCBuaWNodCBkaWUgRnJhZ2UsIG9iIER1Cm1pY2ggenUgc2NodXNzZWxpZyBoYWVsc3QsIHNvbmRlcm4gZGllIFJlY2h0c2dydW5kbGFnZSBkZXMKVmVydHJhZ2VzIGFuIHNpY2ggdW5kIG1pdCB3ZWxjaGVtIHJlY2h0IFByZW1pZXJlIG9obmUgZGFzCnVlYmxpY2hlIE1haG52ZXJmYWhyZW4gMzUgRVVSIHZlcmxhbmdlbiBrYW5uLiBBdXNzZXJkZW0gd2FyCmRhcyB6dXNhZXR6bGljaCBkYXp1IGRhLCBtaWNoIGF1Znp1cmVnZW4gdWViZXIgZGFzIFZlcmhhbHRlbgpkaWVzZXIgRmlybWEgLSBkZW5uIHNvIGdlaHQgbWFuIG1pdCBLdW5kZW4gd29obCBuaWNodCB1bSwgbmljaHQKd2VubiBudXIgZXR3YXMgdmVyZ2Vzc2VuIHd1cmRlIHVuZCBtYW4gaG9lZmxpY2ggZXJpbm5lcm4ga2Fubi4KRGllIGFsdGUgS2FydGUsIGRpZSBzaWUgenVydWVjayB3b2xsdGVuLCBoYXQgdWVicmlnZW5zIHNjaG9uClRhZ2UgbmFjaGRlbSBkaWUgbmV1ZSBrYW0sIGtlaW5lIEZ1bmt0aW9uIG1laHIgZ2VoYWJ0LgoKRmVpZ2xpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbXp1Z3NtZWlzdGVyIChBcmF0aG9ybiwgIDkuIEF1ZyAyMDA0LCAxNjo1NTo1Myk6Cn4jISBybj1ab29rIHJ0PTEwOTIwNDY1NDkgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEwOTIwNDY1NDkKSGFsbG8genVzYW1tZW4sCgppbSBWZXJsYXVmIGRlciBhbmdla3VlbmRpZ3RlbiBVbXp1Z3NhcmJlaXRlbiBrYW5uIGVzIHZvcmtvbW1lbiwgZGFzcyBlaW5pZ2UKdm9uIEV1Y2ggZGl2ZXJzZSBJdGVtcyB2ZXJtaXNzZW4gd2VyZGVuLiBEaWVzIGlzdCBsZWlkZXIgdW51bWdhZW5nbGljaCwgc28KZGFzcyBpY2ggaGllcmZ1ZXIgdW0gVmVyc3RhZW5kbmlzIGJpdHRlLgoKRXMgYmV0cmlmZnQgZGVyemVpdCB6dW5hZWNoc3QgbWFsIGRpZSBPYmpla3RlIGF1cyBkZW4gU2VoZXJsYWVkZW4gdW5kIHZvbQpQYXJ0eW1vbnN0ZXIuIExldHp0ZXJlIHNpbmQgcmVpbiB6YWhsZW5tYWVzc2lnIG5pY2h0IHNlaHIgdmllbGUsIGRlciBWZXJsdXN0CnNvbGx0ZSBkYWhlciBlcnRyYWVnbGljaCBzZWluLiBJY2ggbW9lY2h0ZSBiZWkgZGVuIFNlaGVybGFkZW4tT2JqZWt0ZW4KYmVzb25kZXJzIGF1ZiBkZW4gRmVybnNjaHJlaWJlciwgZGFzIExhZy1PLU1ldGVyLCBkZW4gUGxhbmVkaXRvciB1bmQgZGVuCkJ1bWVyYW5nIGhpbndlaXNlbiwgZGllIGhhZXVmaWcgdmVyd2VuZGV0IHdlcmRlbiB1bmQgaW4gS3VlcnplIG5ldSBiZXNjaGFmZnQKd2VyZGVuIG11ZXNzZW4uCgpXZW5uIGltIFp1c2FtbWVuaGFuZyBtaXQgZGVuIFNlaGVybGFlZGVuIG9kZXIgZGVtIFBhcnR5bW9uc3RlciB3YXMgbmljaHQKc28gZnVua3Rpb25pZXJlbiBzb2xsdGUgd2llIGJpc2hlciwgbWVsZGV0IEV1Y2ggZWluZmFjaC4gSWNoIGhhYmUgbWljaApiZW11ZWh0LCBkYXNzIG1hbiBhbGxlIFdhcmVuIGluIGRlbiBMYWVkZW4gamV0enQgc293b2hsIHVlYmVyIGlocmUgTnVtbWVyCmluIGRlciBMaXN0ZSBhbHMgYXVjaCB1ZWJlciBpaHJlbiBOYW1lbiBrYXVmZW4ga2Fubi4gRGFzIHdhciBiaXNoZXIgbmljaHQKc28sIHVuZCBmYWxscyBlcyBpbiBlaW56ZWxuZW4gRmFlbGxlbiBpbW1lciBub2NoIG5pY2h0IGZ1bmt0aW9uaWVyZW4gc29sbHRlLApnaWx0IE9iaWdlczogYml0dGUgbWVsZGVuLiBEaWUgT2JqZWt0ZSBrb2VubmVuIHZvbiBqZWRlbSBSTSBFYmVuZSwgUk0gSW5zZWxuCm9kZXIgV2Vpc2VuIHJlcGFyaWVydCB3ZXJkZW4uCgpBY2ggc28sIGdlbmF1OiBFcnNhdHogZnVlciB2ZXJzY2h3dW5kZW5lIEl0ZW1zIGJla29tbXQgSWhyIGluIGRlbgpTZWhlcmxhZWRlbiwgZGllc2UgdmVya2F1ZmVuIGJlcmVpdHMgZGllIGFrdHVhbGlzaWVydGVuIE9iamVrdGUuCgpHcnVzcywgQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVtenVnc21laXN0ZXIgKEtlbGx5YnVuZHksIDEwLiBBdWcgMjAwNCwgMjA6MTU6MjIpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTA5MjA2MzM1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTIwNDY1NDkKR2liYmV0IGRhbm4gZW5kbGljaCBhdWNoIGRhcyBIb2Vycm9ociBhdXMgZGVyIExhbXBlbm9lbHF1ZXN0IGVuZGxpY2gsIHdpZSB2b24KQmVuIEd1bm4gdmVyc3Byb2NoZW4sIGltIHNlaGVybGFkZW4/IG1pciB3dXJkZSBkYXMgdGVpbCBtYWwgZGVzdHJ1Y3RldCB1bmQgaWNoCmhhdHRlNCBncm9lc3N0ZSBtdWhlIG1pdCBkZXIgd2llZGVyYmVzY2hhZmZ1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVtenVnc21laXN0ZXIgKFNoYWtlZGJlZXIsIDEwLiBBdWcgMjAwNCwgMjA6MTY6MzQpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDkyMTYxNzIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpNZWluc3RlIGpldHp0IGZhcyBGZXJucm9ociB2b24gQmVuIG9kZXIgZGFzIEhvZXJyb2hyIHZvbSBhbHRlbiBTaGFreT8KClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVW16dWdzbWVpc3RlciAoQ3JvZnQsIDEwLiBBdWcgMjAwNCwgMjA6Mjc6NTQpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMDkyMTYxNzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpJY2ggdmVybXV0ZSBtYWwgZGFzIGVyIGRhcyBGZXJucm9ociBtZWludC4uLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFVtenVnc21laXN0ZXIgKEtlbGx5YnVuZHksIDEwLiBBdWcgMjAwNCwgMjA6Mjk6MTgpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMDkyMTYxNzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpBZWggc29ycnkgZGFzIEZlcm5yb2hyIHZvbiBCZW4gbmF0dWVybGljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW16dWdzbWVpc3RlciAoVmFuaW9uLCAxMC4gQXVnIDIwMDQsIDIxOjA0OjU3KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA5MjE2MTcyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTIwNDY1NDkKRGFzIEZlcm5yb2hyIHdpcmQgbmljaHQgdmVya2FldWZsaWNoIHNlaW4uIEJlbiBHdW5uIGx1ZWd0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFVtenVnc21laXN0ZXIgKFpvb2ssIDEwLiBBdWcgMjAwNCwgMjE6Mjk6MjIpOgp+IyEgcm49VmFuaW9uIHJ0PTEwOTIxNjQ2OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkyMDQ2NTQ5CkRhbm4gYnJpbmcgaWhtIG1hbCBkaWUgV2FocmhlaXQgc2Nob25lbmQgYmVpIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFVtenVnc21laXN0ZXIgKEFzdWthLCAxMC4gQXVnIDIwMDQsIDIxOjMwOjAyKToKfiMhIHJuPVpvb2sgcnQ9MTA5MjE2NjE2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTIwNDY1NDkKV2VubiBLZWxseSB1bmJlZGluZ3QgaW4gZGVuIG5hZWNoc3RlbiBSYXVtIGJsaWNrZW4gd2lsbCBhbHMgU2VoZXIsIHNvbGwKZXIvc2llIGhhbHQgenUgZGVuIFphdWJlcmVybiBnZWhlbi4KCkFzdWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBVbXp1Z3NtZWlzdGVyIChLZWxseWJ1bmR5LCAxMC4gQXVnIDIwMDQsIDIxOjMxOjE4KToKfiMhIHJuPUFzdWthIHJ0PTEwOTIxNjYyMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkyMDQ2NTQ5CkJpbiBpY2ggQXN0bG9jaGZpY2tlciB1bmQgSmFtbWVybGFwcGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVW16dWdzbWVpc3RlciAoQXN1a2EsIDEwLiBBdWcgMjAwNCwgMjE6MzE6NTApOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDkyMTY2Mjc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpEYW5uIHdlcmQgaGFsdCBLbGVyaWtlciwgZGllIGhhYmVuIGF1Y2ggc293YXMuCgpBc3VrYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVW16dWdzbWVpc3RlciAoS2VsbHlidW5keSwgMTAuIEF1ZyAyMDA0LCAyMTozMjoyOCk6Cn4jISBybj1Bc3VrYSBydD0xMDkyMTY2MzEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpMaWViZXIgd3VlNHJkZSBpY2ggTWFnaWVyIHdlcmRlbi4gKmRyb2gqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBVbXp1Z3NtZWlzdGVyIChNYWFyZywgMTAuIEF1ZyAyMDA0LCAyMTozMjo0MCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEwOTIxNjYyNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDkyMDQ2NTQ5CkVpbmUgc2VociBndXRlIEFudHdvcnQsIHdpZSBpY2ggZmluZGUuIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVW16dWdzbWVpc3RlciAoQXN1a2EsIDEwLiBBdWcgMjAwNCwgMjE6MzM6MDApOgp+IyEgcm49TWFhcmcgcnQ9MTA5MjE2NjM2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTIwNDY1NDkKSGF0IG1hbCB3ZXIgZWluIFZlcnRyYWcgZnVlciBLZWxseT8KCkFzdWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVW16dWdzbWVpc3RlciAoQXN1a2EsIDEwLiBBdWcgMjAwNCwgMjE6MzM6NTgpOgp+IyEgcm49Wm9vayBydD0xMDkyMTY2NDEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5MjA0NjU0OQpJY2gga2FubiBEaXIgbWVpbmVzIGdlYmVuLgoKQWNobmUsIGdlaHQgamEgZ2FyIG5pY2h0LgoKQXN1a2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laHIgU3Ryb21hdXNmYWVsbGUhIChDYXR3ZWF6bGUsIDEzLiBBdWcgMjAwNCwgMDc6NDA6MzUpOgpNb2luLgoKV2VpbCBpY2ggZXMgZGFubiBkb2NoIHNlaHIgaW50ZXJlc3NhbnQgZmFuZCwgdW5kIGJpc2hlciBub2NoIF9uaWVtYW5kZW5fIGFscwpQcmVzc2ViZXJlaWNoZW4gaGFiIGRyYXVmIHJ1bXJlaXRlbiBzZWhlbi9ob2VyZW46CgotLS0tLQpUSEUgTUFTU0lWRSBOT1JUSEVBU1QgQkxBQ0tPVVQgb2YgYSB5ZWFyIGFnbyBub3Qgb25seSBzaHV0IG9mZiBlbGVjdHJpY2l0eSBmb3IKNTAgbWlsbGlvbiBwZW9wbGUgICAgICAgaW4gdGhlIFVTIGFuZCBDYW5hZGEsIGJ1dCBhbHNvIHNodXQgb2ZmIHRoZSBwb2xsdXRpb24KY29taW5nIGZyb20gZm9zc2lsLWZpcmVkIHR1cmJvZ2VuZXJhdG9ycyBpbiB0aGUgT2hpbyBWYWxsZXkuIEluIGVmZmVjdCwgdGhlCnBvd2VyIG91dGFnZSB3YXMgYW4gaW5hZHZlcnRlbnQgZXhwZXJpbWVudCBmb3IgZ2F1Z2luZyBhdG1vc3BoZXJpYyByZXBvc2Ugd2l0aAp0aGUgZ3JpZCBnb25lIGZvciB0aGUgYmV0dGVyIHBhcnQgb2YgdGhlIGRheS4gIEFuZCB0aGUgcmVzdWx0cyB3ZXJlCmltcHJlc3NpdmUuICBPbiAxNSBBdWd1c3QgMjAwMywgb25seSAyNCBob3VycyBhZnRlciB0aGUgYmxhY2tvdXQsIGFpciB3YXMKY2xlYW5lciBieSB0aGlzIGFtb3VudDogU08yIHdhcyBkb3duIDkwJSwgTzMgZG93biA1MCUsIGFuZCBsaWdodC1zY2F0dGVyaW5nCnBhcnRpY2xlcyBkb3duIDcwJSBvdmVyICJub3JtYWwiIGNvbmRpdGlvbnMgaW4gdGhlIHNhbWUgYXJlYS4gIFRoZSBoYXplCnJlZHVjdGlvbnMgd2VyZSBtYWRlIGJ5IFVuaXZlcnNpdHkgb2YgTWFyeWxhbmQgc2NpZW50aXN0cyBzY29vcGluZyBhaXIgc2FtcGxlcwp3aXRoIGEgbGlnaHQgYWlyY3JhZnQuICBUaGUgb2JzZXJ2ZWQgcG9sbHV0YW50IHJlZHVjdGlvbnMgZXhjZWVkZWQKZXhwZWN0YXRpb25zLCBjYXVzaW5nIHRoZSBhdXRob3JzIHRvIHN1Z2dlc3QgdGhhdCB0aGUgc3BlY3RhY3VsYXIgb3Zlcm5pZ2h0CmltcHJvdmVtZW50cyBpbiBhaXIgcXVhbGl0eSAibWF5IHJlc3VsdCBmcm9tIHVuZGVyZXN0aW1hdGlvbiBvZiBlbWlzc2lvbiBmcm9tCnBvd2VyIHBsYW50cywgaW5hY2N1cmF0ZSByZXByZXNlbnRhdGlvbiBvZiBwb3dlciBwbGFudCBlZmZsdWVudCBpbiBlbWlzc2lvbgptb2RlbHMgb3IgdW5hY2NvdW50ZWQtZm9yIGF0b21vc3BoZXJpYyBjaGVtaWNhbCByZWFjdGlvbnMuIiAgKE1hcnVmdSBldCBhbC4sCkdlb3BoeXNpY2FsIFJlc2VhcmNoIExldHRlcnMsIHZvbCAzMSwgTDEzMTA2LCAyMDA0LikKLS0tLS0KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVnZW5vcGVyYXRpb24gKEtlbGx5YnVuZHksICAxLiBTZXAgMjAwNCwgMjA6NDE6MDcpOgpEYSBpY2ggc2Nod2VyIGt1cnpzaWNodGlnIGJpbiAoOSBiencgMTIgRGlvcHRyLikgaGFiZSBpY2ggYmVzY2hsb3NzZW4sIG1pciBkaWUKQXVnZW4gcGVyIExhc2Vyb3BlcmF0aW9uIHJpY2h0ZW4genUgbGFzc2VuLiBJY2ggaGFiZSBlaW5lbiBUaXBwIGJla29tbWVuLCBkYXNzCm1hbiBzb3dhcyB1ZWJlcnMgV29jaGVuZW5kZSBtYWNoZW4gbGFzc2VuIGthbm4gaW4gS2lldyBpbiBkZXIgVWtyYWluZSBmdWVyCjE4MDAgRXVyb25lbiwgaW5jbHVzaXZlIEZsdWcgdW5kIFVudGVyYnJpbmd1bmcuIEpldHp0IG1laW5lIEZyYWdlOiBoYXQgZGEKamVtYW5kIHNjaG9uIEVyZmFocnVuZ2VuIGRhbWl0IGdlc2FtbWVsdD8gSWNoIHdlcmRlIGVzIHNvIG9kZXIgc28gbWFjaGVuCmxhc3NlbiwgUmVzdHJpc2lrbz8gc2NoZWlzcyBkcmF1ZgphYmVyIGljaCBtb2VjaHRlIG1pY2ggdHJvdHpkZW0gbW9lZ2xpY2hzdCBpbmZvcm1pZXJlbi4uLnp1bWFsIGRhcyBzZWxiZSBoaWVyCmluIFRldWVydHNjaGxhbmQgNzAwMCAoISkgRXVyb25lbiBrb3N0ZXQuCgpCbG9uZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWdlbm9wZXJhdGlvbiAoR2xvaW5zb24sICAxLiBTZXAgMjAwNCwgMjI6MjA6MjkpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk0MDY0MDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpQYWgsIHdhcyBzaW5kIHNjaG9uIHVuc2VyZSB+MTEgRGlvcHRyaWVuICsgWnlsaW5kZXIuCgpOZWluLCBkYXMgc2VsYmUgaGllciBpbiBEIGtvc3RldCBqZSBuYWNoIEtsaW5payBhdWNoIG1heGltYWwgMTUwMCBFdXJvIHBybwpBdWdlIG5hY2ggbWVpbmVuIEluZm9ybWF0aW9uZW4uIFZvciBhbGxlbSBkdWVyZnRlIGRpZSBWZXJzaWNoZXJ1bmcgaGllciBldHdhcwpiZXNzZXIgc2Vpbiwgd2VubiBTY2hhZWRlbiBhdWZ0cmV0ZW4uIFVuZCBkZXIgU3RhbmQgZGVyIFRlY2huaWsga29lbm50ZSBoaWVyCmJlc3NlciBzZWluLgpXZWl0ZXJoaW4ga2FubnN0IGR1IG1hbCBiZWkgZGVpbmVyIEtLIG5hY2ggU3BvbnNvcmluZyBmcmFnZW4sIGJlaSBkZW4gV2VydGVuCmdpYnQgZXMgSU1ITyBadXNjaHVlc3NlIGJlaSBzb2xjaGVuIFVudGVyZmFuZ2VuLgoKUHJvYmxlbWU/IEF1ZiBqZWRlbiBGYWxsIGdpYnQgZXMgUHJvYmxlbWUgbWl0IERydWNrc2l0dWF0aW9uZW4uIERhIGRlaW5lCkhvcm5oYXV0IGFiZ2V0cmFnZW4sIGFsc28gZ2VzY2h3YWVjaHQgd2lyZCwgYmVrb21tc3QgZHUgd29obCBiZWkgVW50ZXJkcnVjawpldHdhcyBnbHVic2NoaWdlIEF1Z2VuIHVuZCBTaWNodHByb2JsZW1lLiBXaWUgZGFzIHpCIGluIGVpbmVtIEZsdWd6ZXVnIGlzdCwKa2VpbmUgQWhudW5nLgoKVm9yIGFsbGVtIHNvbGx0ZXN0IGR1IGRpciB2b3IgQXVnZW4gOykgaGFsdGVuLCBkYXNzIGRpZSBUZWNobmlrIG1pdCBMYXNlciBldHdhCjE1IEphaHJlIGFsdCBpc3QsIGRpZSB2b3JoZXJpZ2UgU2Nobml0dG1ldGhvZGUgbmljaHQgdmllbCBhZWx0ZXIsIGFsc28gYmlzaGVyCmtlaW5lcmxlaSBMYW5nemVpdGVyZmFocnVuZ2VuIGV4aXN0aWVyZW4uIEljaCBoYWJlIGF1Y2ggdm9yIG1pciBpaWlpcmdlbmR3YW5uCmRpZSBBdWdlbiBsYXNlcm4genUgbGFzc2VuLCB1bSB2b24gMTEgYXVmIDEgRGlvcHRyaWVuIHJ1bnRlcnp1a29tbWVuLCBhYmVyIHNvCnNlaHIgZWlsdCBkYXMgbnVuIHdpcmtsaWNoIG5pY2h0IC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXVnZW5vcGVyYXRpb24gKEtlbGx5YnVuZHksICAxLiBTZXAgMjAwNCwgMjI6MjQ6MjEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5NDA3MDAyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKRG9jaCBiZWkgbWlyIHNjaG9uIGlyZ2VuZHdpZS4gbWVpbmUgYmVydWZsaWNoZSBFeGlzdGVueiBoYWVuZ3QgZGF2b24gYWIuIEluCmRpZXNlbiBaZWl0ZW4gbXVzcyBtYW4gaGFsdCBSaXNpa2VuIGVpbmdlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXVnZW5vcGVyYXRpb24gKEdsb2luc29uLCAgMS4gU2VwIDIwMDQsIDIyOjQwOjMwKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA5NDA3MDI2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKTWguIFdhcyBiaXN0IGR1LCBTY2hhcmZzY2h1ZXR6ZT8gV2VubiBkdSBiZXNzZXJlIFNpY2h0IGJyYXVjaHN0LCBzYXR0ZWwKZXJzdG1hbCBhdWYgS29udGFrdGxpbnNlbiB1bSwgZGllIG1hY2hlbiBzY2hvbiBlaW5pZ2VzIGF1cy4KCjptdXNzIGF1ZiBlaW5lbSBNb25pdG9yIGx1c3RpZ2UgU2NocmlmdHplaWNoZW4gZHVyY2ggZGllIEdlZ2VuZCBzY2h1YnNlbiBiaXMKc2llIGRhenUgZnVlaHJlbiBkYXMgc2ljaCBhbmRlcmUgbHVzdGlnZSBEaW5nZSBpbSBSZWNobmVyIGFlbmRlcm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXVnZW5vcGVyYXRpb24gKEtlbGx5YnVuZHksICAxLiBTZXAgMjAwNCwgMjM6MDY6MzcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5NDA3MTIzMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKSWNoIGhhYmUgOCBKYWhyZSBLb250YWt0bGluc2VuIGdldHJhZ2VuLiBJcmdlbmR3YW5uIGdhYnMgZGFzIE1hdGVyaWFsIG5pY2h0Cm1laHIgdW5kIGFsbGUgYW5kZXJlbiBoYWIgaWNoIG5pY2h0IHZlcnRyYWdlbi4gSWNoIHdlcmRlIG1pY2ggbmljaHQgbWVocgp3b2NoZW5sYW5nIG1pdCBkZXIgRWluZ2V3b2VobnVuZ3NwaGFzZSBydW1xdWFlbGVuLCBudXIgdW0gZmVzdHp1c3RlbGxlbiwgZGFzcwpkaWUgYmVzY2h3ZXJkZW4gbmljaHQgd2VuaWdlciB3ZXJkZW4sIHNvbmRlcm4gbWVociwgZGFzIGhhYiBpY2ggb2Z0IGdlbnVnCmdlaGFidC4KCktlbGx5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdWdlbm9wZXJhdGlvbiAoS2VsbHlidW5keSwgIDEuIFNlcCAyMDA0LCAyMzoxMjoyMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk0MDcxMjMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpBdXNzZXJkZW0gbG9lc2VuIGRpZSBLb250YWt0bGluc2VuIG5pY2h0IG1laW4gU2VocHJvYmxlbS4gRnVlaHJlcnNjaGVpbiBLbGFzc2UKQyBrYW5uIGljaCBkYW1pdCBhdWNoIG5ldCBtYWNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEF1Z2Vub3BlcmF0aW9uIChNYXJjdXMsICAxLiBTZXAgMjAwNCwgMjM6MTM6MzcpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk0MDczMTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpOaW1tIGVpbmUgQnJpbGxlLiAKCkxhc2VyIGhhdHRlIGljaCBtaXIgdWViZXJsZWd0LCBhYmVyIG1laW5lIEF1Z2VuIHNpbmQgbWlyIHp1IHdpY2h0aWcgdW0gZGFzIHp1CnJpc2tpZXJlbi4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXVnZW5vcGVyYXRpb24gKEJhbWJ1bGtvLCAgMS4gU2VwIDIwMDQsIDIzOjE2OjA3KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA5NDA3MzE0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKR2lidCBlcyBrZWluZSAnU2VsYnN0aGlsZmVncnVwcGUgZnVlciBBdWdlbmdlbGFzZXJ0ZScgb2RlciBzb3dhcywgZGllIGRhIG1laHIKRXJmYWhydW5nIGhhYmVuPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEF1Z2Vub3BlcmF0aW9uIChNYXJjdXMsICAxLiBTZXAgMjAwNCwgMjM6MjQ6NTIpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA5NDA3MzM2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKSWNoIG11c3MgenVnZWJlbiBub2NoIHJlY2h0IHdlbmlnIG5lZ2F0aXZlcyBnZWhvZXJ0IHp1IGhhYmVuLgoKSWNoIGtlbm5lIGF1Y2ggenVtaW5kZXN0IGVuZW4gS29sbGVnZW4sIGRlciB6dWZyaWVkZW4gd2FyLgoKQ2lhbywgbUFSQ1VTCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBdWdlbm9wZXJhdGlvbiAoR2xvaW5zb24sICAxLiBTZXAgMjAwNCwgMjM6NDY6MTQpOgp+IyEgcm49TWFyY3VzIHJ0PTEwOTQwNzM4OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk0MDY0MDY3Ck5hamEsIHdpZSBnZXNjaHJpZWJlbiwgTGFuZ3plaXRlcmZhaHJ1bmcgbmljaHRleGlzdGVudC4gRGFzIGFsdGUgUnVtZ2VrcmF0emUKdW5kIEF1ZmtsYXBwdmVyZmFocmVuIGViZW4gZ3JhZCB1bSAxNSBKYWhyZS4gRGFzIEF1ZmtsYXBwdmVyZmFocmVuCmhpbnRlcmxhZXNzdCBlaW5lIE5hcmJlLCBkaWUgYmVpIHVlYmVyYmVhbnNwcnVjaHVuZyBhbmdlYmxpY2ggYXVjaCByZWlzc2VuCmthbm4gKEJ1bmdlZSkuIERhcyBFeGNpbWVyLVZlcmZhaHJlbiBpc3QgaGFsdCBqdWVuZ2VyLiBCZWkgYmVpZGVuIGhhc3QgZHUKZGllc2VzIEhvZWhlbnByb2JsZW0uCk1hbiBzb2xsdGUgc2ljaCBkZW1lbnRzcHJlY2hlbmQgZ3V0IHVlYmVybGVnZW4gb2IgbWFuIGxhbmdmcmlzdGlnIGRpZSBHZWZhaHIKZWluZ2VodCBpbiB6d2FuemlnLCBkcmVpc3NpZyBKYWhyZW4gbm9jaCBzY2hsaW1tZXIgZHJhbiB6dSBzZWluLiBPZGVyIGViZW4Ka3VyemZyaXN0aWcgZGllIEZhZWhpZ2tlaXQgenUgc3Bhbm5lbmRlbiBTcG9ydGFydGVuIHN0YXJrIGVpbnp1YnVlc3Nlbi4KCk1pciBwZXJzb2VubGljaCBpc3QgZXMgZGFzIGRlcnplaXQgbmljaHQgd2VydC4gTnVyIHdlaWwgaWNoIGVpbmVuCkZ1ZWhyZXJzY2hlaW4gbmljaHQgbWFjaGVuIGtvZW5udGUgKHdhcyBpc3QgQz8pLCB3dWVyZGUgaWNoIG5pY2h0IG1laW5lCmJpc2hlcmlnZSBTZWhmYWVoaWdrZWl0IHJpc2tpZXJlbi4gTm9jaCBuaWNodCA7KSBWaWVsbGVpY2h0IGlzdCBtZWluCkxlaWRlbnNkcnVjayBuaWNodCBob2NoIGdlbnVnIC0gaW0gR2VnZW50ZWlsLCBpY2ggZmluZGUgbWl0IGhvZWhlcmVuIERpb3B0cmllbgpnZWh0IG1hbiBlbnRzcGFubnRlciBhbiBkaWVzZSBCRWhpbmRlcnVuZyByYW4sIG1hbiBrbmVpZnQgb2huZSBCcmlsbGUgbmljaHQKbWVociBkaWUgQXVnZW4genVzYW1tZW4sIHdlaWwgZXMgb2huZWhpbiB6d2Vja2xvcyBpc3QsIGluIG1laW5lbSBIYXVzIGZpbmRlCmljaCBtaWNoIGF1Y2ggaW0gRHVua2VsbiB6dXJlY2h0IHVuZCBCcmlsbGVuYXVzc3VjaGVuIGlzdCBpbW1lciBlaW4KbGFuZ3dlaWxpZ2VzIEFiZW50ZXVlciA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWdlbm9wZXJhdGlvbiAoQ2F0d2VhemxlLCAgMi4gU2VwIDIwMDQsIDAwOjA1OjA2KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA5NDA2NDA2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKSWNoIGVyaW5uZXJlIG1pY2gsIGRhc3Mgdm9yIGVpbiBwYWFyIEphaHJlbig/KSBzY2hvbiBtYWwgamVtYW5kIGluIGRlciBNUEEKZ2VuYXUgZGF6dSBlaW5lKG4pIEFuZnJhZ2UvRXJmYWhydW5nc2JlcmljaHQgaW4gZGVyIE1QQSBnZXNjaHJpZWJlbiBoYXR0ZS4gSWNoCmJpbiBtaXIgbmljaHQgc2ljaGVyIHdlbGNoZXMgVmVyZmFocmVuIGVyIGVyZmFocmVuIGhhdCwgYWJlciBpY2ggZXJpbm5lciBtaWNoCmRldXRsaWNoIGRhc3MgZXIgc2VociBnbHVlY2tsaWNoIG1pdCBkZW4gRXJnZWJuaXNzZW4gd2FyLgoKU29ycnksIGRhc3MgaWNoIG51ciB2YWdlIGJsZWliZW4ga2FubiAoc2NoZWlzcyBWZXJnbGVpY2ggenUgU2Voc2NoYWVyZmUsIGdlbGw/CjotKSwgYWJlciBldmVudHVlbGwgbG9obnQgZXMgc2ljaCBkYXMgTVBBLUFyY2hpdiBkYW5hY2ggenUgZHVyY2hzdG9lYmVybi4KCkhvcGUgdGhpcyBoZWxwcywKICAgICBDYXR3ZWF6bGUKClBTOiBCaXR0ZSBuaWNodCB2ZXJnZXNzZW4sIGRhc3MgbWFuIGJlaSBFcmZvbGdzY2hhbmNlbiBpbW1lciBtaXQgCiAgICBXYWhyc2NoZWlubGljaGtlaXRlbiByZWNobmVuIG11c3MuIDotLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdWdlbm9wZXJhdGlvbiAoR3JpbW1ib3JuLCAgMi4gU2VwIDIwMDQsIDAwOjQ2OjU3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk0MDc2MzA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpJY2gga2VubmUgYXVjaCBMZXV0ZSBtaXQgZ3V0ZW4gTGFzZXJlcmZhaHJ1bmdlbiAoei5ULiBpbiBkZXIgVHVlcmtlaSBnZW1hY2h0KS4KQWJlciBlcyBnaWJ0IGtlaW5lIExhbmd6ZWl0ZXJmYWhydW5nZW4sIGphLiBJcmdlbmR3ZXIgbXVzcyBqYSBQaW9uaWVyIHNwaWVsZW4uClVuZCB3ZW5uIG1hbiBzaWNoIGVoIGVpbmUgRWNzdGFzeSBuYWNoIGRlciBhbmRlcmVuIHJlaW5kcnVja3QsIHdvIGRpZQpMYW5nemVpdGVyZmFocnVuZyBub2NoIHdlc2VudGxpY2ggd2VuaWdlciB2b3JoYW5kZW4gaXN0LCBkYW5uIHNwaWVsdCBkYXMgbWl0CmRlbSBMYXNlcm4gZWgga2VpbmUgUm9sbGUuIEFsbGVzIGVpbmUgRnJhZ2UgZGVyIEFid2FlZ3VuZzogd2VubiBkYXMKdWViZXJzY2hhdWJhcmUgUmlzaWtvIGRpZSBpbmRpdmlkdWVsbGVuIFZvcnRlaWxlIHVlYmVyd2llZ3QsIHNvbGx0ZSBtYW4gc2ljaApkYWZ1ZXIgZW50c2NoZWlkZW4uCgpBYmVyIGtvbW0gbmljaHQgaGludGVyaGVyIGhpZXIgYW4gdW5kIGphbW1lcmUsIGVpbmUgQnJhaWxsZS1aZWlsZSBmdWVyIGRlbgpSZWNobmVyIHdhZXJlIHNvIHRldWVyLiBXaXIgaGFiZW4gRGljaCBnZXdhcm50LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBdWdlbm9wZXJhdGlvbiAoSHVtbmksICAyLiBTZXAgMjAwNCwgMDA6NDc6NDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTQwNzg4MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk0MDY0MDY3CkljaCB3ZXNzIHNvZ2FyIG5vY2gsIHdlciBkYXMgd2FyLCBkYXMgd2FyIG5hZW1saWNoIFRzdW5hbWksIGRlciB3YXIgc2VocgpiZWdlaXN0ZXJ0LCBoYXQgZGFzIGFsbGVyZGluZ3MgaW4gZGVuIFVTQSBtYWNoZW4gbGFzc2VuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWdlbm9wZXJhdGlvbiAoRGVlcGJsdWUsICAyLiBTZXAgMjAwNCwgMTA6MDY6NTQpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk0MDY0MDY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpJbiBEcmVzZGVuIGdpYnRzIGF1Y2ggbmVuIEF1Z2VubGFzZXJ6ZW50cnVtLCBoYXN0ZSBkYSBtYWwgYW5nZWZyYWd0PyBFdmVudHVlbGwKaGFiZW4gZGllIEF1Y2ggRXJnZWJuaXNzZSBJaHJlciBQYXRpZW50ZW4gb2RlciBzbywgdW5kIERhbmsgIk9zdHRhcmlmZSIgc2luZApkaWUgc2ljaGVyIG5vY2ggZXR3YXMgcHJlaXN3ZXJ0ZXIgYWxzIHdvYW5kZXJzIGluIEQuIEluIGRpZSBVa3JhaW5lIHd1ZXJkZSBpY2gKenVtaW5kZXN0IG5pY2h0IHdlZ2VuIHNvd2FzIGZhaHJlbiwgc2Nob24gd2VpbCBlcyBtZWlzdCBiZXNzZXIgaXN0LCBldmVudHVlbGxlCk5hY2hiZWhhbmRsdW5nZW4gb2RlciBNYXNzbmFobWVuIGJlaSBLb21wbGlrYXRpb25lbiBiZWltIHNlbGJlbiBBcnp0IG1hY2hlbgpsYXNzZW4genUga29lbm5lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1Z2Vub3BlcmF0aW9uIChTZWV0ZXVmZWwsICAyLiBTZXAgMjAwNCwgMTQ6MzQ6NDIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTA5NDExMjQxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKQW4gVHN1bmFtaXMgRXJmYWhydW5nc2JlcmljaHQga2FubiBpY2ggbWljaCBhdWNoIG5vY2ggZXJpbm5lcm4uIE1laW5lClNjaHdlc3RlciBoYXQgc2ljaCB2b3Iga3VyemVtIGF1Y2ggZGllIEF1Z2VuIGxhc2VybiBsYXNzZW4sIGFsbGVyZGluZ3MgaW4KSm9oYW5uZXNidXJnIChTdWVkYWZyaWthKSwgc2llIGlzdCBoaW5nZWZsb2dlbiwgaGF0IHNpY2ggbGFzZXJuIGxhc3NlbiB1bmQgOApzdHVuZGVuIHNwYWV0ZXIgd2llZGVyIHp1cnVlY2suIFNpZSBoYXR0ZSBrZWluZSBQcm9ibGVtZSwgYWxsZXMgd2FyIHBlcmZla3QuCkRhcyB3YXIgdm9yIGNhLiAxLDUgSmFocmVuLiBPaywgd2FlaHJlbmQgaWhyZXIgU2Nod2FuZ2Vyc2NoYWZ0IGlzdCBkaWUKU2Voa3JhZnQgZXR3YXMgenVydWVja2dlZ2FuZ2VuLiBBYmVyIGRhcyBpc3Qgd29obCBub3JtYWwuIEFiZXIgZGFtaXQgbXVlc3NlbgpzaWNoIHNjaGFldHp1bmdzd2Vpc2UgZWggbnVyIEZyYXVlbiBhdXNlaW5hbmRlciBzZXR6ZW4uCkxlaWRlciBnaWJ0IGVzIHdlbm4gbWFuIG1hbCBpbSBJbnRlcm5ldCBzY2hhdXQgYWJlciBhdWNoIHNlaHIgdmllbGUKTmVnYXRpdmJlaXNwaWVsZS4gVm9yYWxsZW0gV2VpdHNpY2h0aWdrZWl0IGlzdCBudW4gbWFsIGVoZXIgaGVpa2xlciBhdXMKS3VyenNpY2hpY2h0a2VpdCB6dSBiZWhhbmRlbG4uCgpUb2lmZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1Z2Vub3BlcmF0aW9uIChab29rLCAgMi4gU2VwIDIwMDQsIDE0OjM3OjQyKToKfiMhIHJuPVNlZXRldWZlbCBydD0xMDk0MTI4NDgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NDA2NDA2NwpNdXNzIG1hbiBkYSBuaWNodCBoaW4gdW5kIHdpZWRlciB6dXIgS29udHJvbGx1bnRlcnN1Y2h1bmcgZXJzY2hlaW5lbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdWdlbm9wZXJhdGlvbiAoU2VldGV1ZmVsLCAgMi4gU2VwIDIwMDQsIDE0OjQ5OjM1KToKfiMhIHJuPVpvb2sgcnQ9MTA5NDEyODY2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTQwNjQwNjcKc3RpbW10IHNjaG9uLCBtZWluZSBTY2h3ZXN0ZXIgYXJiZWl0ZXRlIGhhbHQgYmVpIENhcmdvbHV4IHVuZCBoYXR0ZSBzbyBkaWUKTW9lZ2xpY2hrZWl0IG1laHIgb2RlciBtaW5kZXIga29zdGVuZnJlaSB6dSByZWlzZW4uIE5hY2h1bnRlcnN1Y2h1bmdlbiBzaW5kCmF1Y2ggaW4gRGV1dHNjaGxhbmQgbW9lZ2xpY2gsIGFiZXIgZ3J1bmRzYWV0emxpY2ggaXN0IGVzIHNjaG9uIHNpbm52b2xsIGVpbmUKV29jaGUgZGEgenUgYmxlaWJlbiwgYXVjaCB3ZW5uIG1hbiBzY2hvbiBuZSBTdHVuZGUgbmFjaCBkZXIgT1AgIndpZWRlciIgbm9ybWFsCnNlaGVuIGthbm4uCkFjaCBqYSBkZXIgQ2hpcnVyZyBpbiBTdWVkYWZyaWthIGdpbHQvZ2FsdCBhbHMgYmVzb25kZXJzIGZvcnRzY2hyaXR0bGljaCBpbQpWZXJnbGVpY2ggenUgdmllbGVuIGhpZXIgaW4gRGV1dHNjaGxhbmQuIFVuZCBzZWhyIHZpZWwgZ3VlbnN0aWdlciBhbHMgaGllcgp3YXJzIGF1Y2gsIGV0d2FzIG1laHIgYWxzIGRpZSBIYWVsZnRlIHZvbSBQcmVpcy4KClNlZXRldWZlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdWdlbm9wZXJhdGlvbiAoQXJhdGhvcm4sICAyLiBTZXAgMjAwNCwgMTg6MjA6MjApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTQwNzYzMDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk0MDY0MDY3CldhciBkYXMgbmljaHQgVHN1bmFtaSwgZGVyIGRhcyBpbiBBbWlsYW5kIGhhdCBtYWNoZW4gbGFzc2VuPwoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWdlbm9wZXJhdGlvbiAoS2VsbHlidW5keSwgIDMuIFNlcCAyMDA0LCAyMToxODowNSk6CkFsc28sIHNvIGdlbGRnZWlsLCB3aWUgZGllIGRldXRzY2hlbiBTcGV6aWFsa2xpbmlrZW4gc2luZCwga29lbm5lbiBkaWUKdWtyYWluaXNjaGVuIENoaXJ1cmdlbiBnYXIgbmljaHQgc2VpbiwgZGFzIGdlaHQgbmljaHQgbm9jaG1hbC4gTy1Ub24gZWluZXIKendlY2tzIEluZm8gYW5nZW1haWx0ZW4gQWRyZXNzZTonRWluZW4gZnVlciBTaWUgdmVyYmluZGxpY2hlbgpLb3N0ZW52b3JhbnNjaGxhZyBlcmhhbHRlbiBTaWUgaW0gamV3ZWlsaWdlbiAgRnJlZVZpcyBaZW50cnVtIGJlaSBkZXIKVmVyZWluYmFydW5nIGVpbmVzIE9wZXJhdGlvbnN0ZXJtaW5lcy4nIApJbiBhbmRlcmVuIEJyYW5jaGVuIHdhZXJlIHNvIGVpbmUgQXVzc2FnZSBzZWhyIGhhcnQgYW4gZGVyIEdyZW56ZSB6dXIKU2l0dGVud2lkcmlna2VpdCA6KQpCbG9uZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDcmFzaCAoQW50aGVhLCAxNi4gU2VwIDIwMDQsIDA5OjE4OjUyKToKfiMhIHJuPVZhbmlvbiBydD0xMDk1MzEyMTc2IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDk1MzEyMTc2CkFiZXIgaXJnZW5kd2llIHNjaGVpbnQgZGVyIFBvcnQgMjMgZGVuIFJlYm9vdCBuaWNodCB1ZWJlcmxlYnQgenUgaGFiZW4uIE51cgpkZXIgNDcxMSBnZWh0IG5vY2gsIGFiZXIgd2VyIG51dHp0IGRlbiBuYWNoIHNvb29vIGxhbmdlciAiZmF1bGVyIiBaZWl0IG5vY2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENyYXNoIChBbWFyeWxsaXMsIDE2LiBTZXAgMjAwNCwgMDk6MzA6MTcpOgp+IyEgcm49QW50aGVhIHJ0PTEwOTUzMTkxMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk1MzEyMTc2CkFsbGUsIGRpZSBtb21lbnRhbiBkcmluIHNpbmQuIFdlbmlnc3RlbnMgc2Nob2VuIHJ1aGlnIGltIE1vbWVudCA6KQoKc2NuciwKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW50ZXJicmVjaHVuZyB3ZWdlbiBTdHJvbWFic2NoYWx0dW5nIGFtIDEzLjEwLiAoSGF0ZSwgMTEuIE9rdCAyMDA0LCAxODoxMTo0OCk6CldlZ2VuIGVpbmVyIFN0cm9tYWJzY2hhbHR1bmcgbXVzcyBpY2ggbGVpZGVyIGRpZSBSZWNobmVyLCB1LmEuIE1HLApoZXJ1bnRlcmZhaHJlbi4gQW0gTWl0dHdvY2gsIGRlbiAxMy4xMC4yMDA0LCB6d2lzY2hlbiBjYS4gMTc6MTUgdW5kIDE5OjAwCgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNrZWxldHRlIGhldXRlIGFiZW5kIChOZWRpbWUsIDEyLiBPa3QgMjAwNCwgMTQ6NTg6MjMpOgpBbmxhZXNzbGljaCBkZXIgVWViZXJyZWljaHVuZyBkZXIgVG9kZXNydW5lIGR1cmNoIGVpbmVuIGdld2lzc2VuIFNjaGFtYW5lbiAKdW5kIGRlbiBhbnN0ZWhlbmRlIFdlbHR1bnRlcmdhbmcgbW9yZ2VuLCB3dWVyZGUgaWNoIG1pY2ggZnJldWVuLCB3ZW5uIGljaAplaW4gcGFhciBtdXRpZ2UgTWl0c3RyZWl0ZXIgZmluZGVuIGtvZW5udGUsIGRpZSBtaXIgaGVsZmVuLCBNb2dnbCBoZXV0ZQphYmVuZCBkZW4gR2FyYXVzIHp1IG1hY2hlbiEKCkFsc28sIGtvbW10IGF1cyBkZW0gUXVhcmssIE1ldHpsZXIuCgpOZWRpbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkViZW5lbmhpc3RvcnkgKE5vbm5lLCAxNC4gT2t0IDIwMDQsIDEzOjA5OjQwKToKSGFsbG8sCgpkaWUgRWJlbmVuLUhpc3RvcnkgZnVua3Rpb25pZXJ0IG1pdCBFaW5mdWVocnVuZyBkZXIgcGNyZSBuaWNodCBrb3JyZWt0LCBtYW4KYmVrb21tdCBpbW1lciBkaWUga29tcGxldHRlIEhpc3QuIEJ1ZyBpc3QgYmVrYW5udCwgZXMgd2lyZCBkcmFuIGdlYXJiZWl0ZXQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGxlY2h0ZSBJZGxlc2NyaXB0ZSAoR2xvaW5zb24sIDE1LiBPa3QgMjAwNCwgMDQ6Mzc6NDcpOgpKdW5nc2QsIE1hZWRlbHMsIGVzIGlzdCBlcm5zdC4gSWhyIGtvZW5udCBkb2NoIG5pY2h0IG1pdCBldXJlbiBiZXNjaGVpZGVuCmtvbmZpZ3VyaWVydGVuIElkbGVzY3JpcHRlbiB1bnNlcmVuIFJ1ZiB0b3JwZWRpZXJlbi4gRUlOIGtsZWluZXIgUmVib290IGluIGRlcgpOYWNodCB1bmQgendlaSBTdHVuZGVuIHNwYWV0ZXIgc2llaHQgZGFzIHVuZ2VzY2hvZW50ZSAoYmlzIGF1ZiBkaWUKWndlaXRpZWluZm9ybWF0aW9uZW4pIHVuZCBzY2hsaWNodGUgImt3ZXIiIGltbWVyIG5vY2ggc28gYXVzOgoKCiAgICAgIExpc3RlIGRlciBNaXRzcGllbGVyIHZvbSBGcmUsIDE1LiBPa3QgMjAwNCwgMDQ6MzQ6MzMgKDYgVGVpbG5laG1lcikgICAgCgpUaWFyYWxvci4uLi4uLi5qd1UgRGFya2xvci4uLi4uLi4uai5VIEVscmltLi4uLi4uLi4uLkouVSBLZW5ueS4uLi4uLi4uLi5qLlUKVHlsYWsuLi4uLi4uLi4uSi5VIEdsb2luc29uLi4uLi4uLi4uSAoKCkFsc28uIEdlaHQgaW4gZXVjaC4gU28ga2FubiBkYXMgbmljaHQgd2VpdGVyZ2VoZW4uIExhc3N0IGV1Y2ggb3JkZW50bGljaGUKUmVjb25uZWN0cyBlaW5iZXR0ZW4sIHNvbnN0IGxhY2hlbiBzaWNoIGRpZSBMZXV0ZSBpbiBEMiBub2NoIHRvdCB1ZWJlciB1bnMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGxlY2h0ZSBJZGxlc2NyaXB0ZSAoRGFya2xvciwgMTUuIE9rdCAyMDA0LCAxNDowNDo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk3ODA3ODY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NzgwNzg2NwpJY2ggd2FyIG51ciB6dWZnYWVsbGlnIGdlcmFkIGRhIHVuZCBoYWV0dGUgYXVjaCBzb25zdCBrZWluIFNjcmlwdCBmdWVycwpJZGVsbi4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hsZWNodGUgSWRsZXNjcmlwdGUgKFpvb2ssIDE1LiBPa3QgMjAwNCwgMTQ6MDU6MTUpOgp+IyEgcm49RGFya2xvciBydD0xMDk3ODQxODk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NzgwNzg2NwpXYXMgaXN0IElkbGVuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGxlY2h0ZSBJZGxlc2NyaXB0ZSAoQ2hhZ2FsbCwgMTUuIE9rdCAyMDA0LCAxNDowNTozNSk6Cn4jISBybj1ab29rIHJ0PTEwOTc4NDE5MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk3ODA3ODY3CkFuc2NoZWluZW5kIGV0d2FzLCB3b2Z1ZXIgbWFuIGVpbiBTY3JpcHQgYmVub2V0aWd0LCBvZGVyIHNvLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGxlY2h0ZSBJZGxlc2NyaXB0ZSAoSGlnaGxhbmRlciwgMTUuIE9rdCAyMDA0LCAxNDoxMTo0Nyk6Cn4jISBybj1DaGFnYWxsIHJ0PTEwOTc4NDE5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk3ODA3ODY3Cldlbm4gaWNoIGhpZXIga2VpbiBpZGxlc2NyaXB0IGFtIExhdWZlbiBoYWIsIHN0aXJidCBpbW1lciByZWxhdGl2CnNjaG5lbGwgZGllIFZlcmJpbmR1bmcuIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGxlY2h0ZSBJZGxlc2NyaXB0ZSAoRGVlcGJsdWUsIDE1LiBPa3QgMjAwNCwgMTQ6Mzk6MTkpOgp+IyEgcm49Wm9vayBydD0xMDk3ODQxOTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5NzgwNzg2NwpJZGVsbiBpc3QsIHdlbm4gbWFuIHZlcnN1Y2h0LCBKb2YgZ2FueiBuYWhlIHp1IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKFJvaGxvZmYsIDI2LiBPa3QgMjAwNCwgMDk6NTc6MDUpOgpIYWxsbyB6dXNhbW1lbiwKCk1laW4gWndlaXRpZSBoYXQgZWluZW4gSHVuZCBhbHMgSGF1c3RpZXIuIExlaWRlciBwaW5rZWx0IGVyIGltbWVyIHdpZWRlciBkZW4KRG9qbyB2b2xsLgpEYWhlciB3aWxsIGljaCBtYWwgYW5mcmFnZW4sIG9iIGVzIHNvd2FzIHdpZSBuZSB0cmFnYmFyZSBIdW5kZXRvaWxldHRlIGdpYnQsCmRpZSBtYW4gZGFmdWVyIG51dHplbiBrb2VubnRlLgpXZW5uIG5pY2h0LCB3dWVyZGUgaWNoIHZvcnNjaGxhZ2VuIG1hbCBlaW5lIGVpbnp1YmF1ZW4uIEVpbmUgYW5kZXJlIExvZXN1bmcKd2FlcmUsIGRlbiBIdW5kIHN0dWJlbnJlaW4genUgbWFjaGVuLCBzb2Rhc3MgZXIgcXVlbmdlbHQsIHdlbm4gZXIgbXVzcywgdW5kCm1hbiBtaXQgaWhtIEdhc3NpIGdlaGVuIG11c3MuCgpJY2ggaGFiIG5vY2ggZWluZW4gd2VpdGVyZW4gVm9yc2NobGFnLCBkaWVzbWFsIGVpbiBTa2lsbC4KV2llIHdhZXJlIGVzLCB3ZW5uIG1hbiBhdWNoIGFscyBTcGllbGVyIGVpbmVuIEF1c2dhbmcgYmxvY2tpZXJlbiBrb2VubnRlPyBEYXMKZXJnYWViZSB2b2VsbGlnIG5ldWUgdGFrdGlzY2hlIE1vZWdsaWNoa2VpdGVuLCBzb3dvaGwgYWxsZWluZSBhbHMgYXVjaCBpbQpUZWFtLgpNdWVzc3RlIG5hdHVlcmxpY2ggbWl0IGVudHNwcmVjaGVuZGVuIEFienVlZ2VuIGZ1ZXIgZGllIGVpZ2VuZSBGTHVjaHQgYmVoYWZ0ZXQKc2Vpbi4gU29kYXNzIG1hbiB2aWVsbGVpY2h0IG51ciBpbiBkaWUgYmxvY2tpZXJ0ZSBSaWNodHVuZyBmbGllaGVuIGthbm4sIG9kZXIKenVlcnN0IGVpbmUgUnVuZGUgdmVybGllcnQsIGluIGRlciBtYW4gZGllIEJsb2NrYWRlIGF1ZmdpYnQuCgpCaW4gYXVmIEV1cmUgTWVpbnVuZ2VuIHVuZCBLb21tZW50YXJlIGdlc3Bhbm50LgoKUm9obG9mZgoKTW9lZ2UgZGVyIFNhZnQgbWl0IEV1Y2ggc2Vpbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChaYXJuaXlhLCAyNi4gT2t0IDIwMDQsIDEwOjQxOjU4KToKfiMhIHJuPVJvaGxvZmYgcnQ9MTA5ODc3NzQyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKSHVuZGUgc2luZCBtaXIgZWdhbCwgYWJlciBTcGllbGVyLCBkaWUgZWluZW4gQXVzZ2FuZyBibG9ja2llcmVuIGtvZW5uZW4gc2luZApQbGF5ZXJraWxsZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKEdyaW1tYm9ybiwgMjYuIE9rdCAyMDA0LCAxMDo0NDoxNik6Cn4jISBybj1aYXJuaXlhIHJ0PTEwOTg3ODAxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CkFsc28sIGhpZXIgaW4gZGVyIFN0YWR0IGtvc3RldCBlcyBTdHJhZmUsIHdlbm4gc28gZWluIEtvZXRlciBpbiBkaWUgR2VnZW5kCnNjaGVpc3N0LiBEYXMgd2FlcmUgZG9jaCBtYWwgZWluZSBBbnJlZ3VuZy4KVW5kIHVlYmVyIEJsb2NrYWRlbiBrYW5uIG1hbiBzaWNoZXIgcmVkZW4sIGFiZXIgZGFubiBzbyB3aWUgZGVyIEVpc3JpZXNlOgpCbG9ja2llcmVuIGJpcyB6dW0gYml0dGVyZW4gRW5kZS4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoSGlnaGxhbmRlciwgMjYuIE9rdCAyMDA0LCAxMDo0NjoxMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5ODc4MDI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKWndlaSBnZWhlbiByZWluLCBlaW5lciBnZWh0IHJhdXM/CgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoR2xvaW5zb24sIDI2LiBPa3QgMjAwNCwgMTA6NDc6MDQpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMDk4NzgwMzcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODc3NzQyNQouLi4gdW5kIGtvbW10IGF1ZnMgUmFkLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChSb2hsb2ZmLCAyNi4gT2t0IDIwMDQsIDEwOjUwOjU4KToKfiMhIHJuPVphcm5peWEgcnQ9MTA5ODc4MDExOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKTXVlc3N0ZSBtYW4gbmF0dWVybGljaCBhdWYgTlBDcyBiZXNjaHJhZW5rZW4uCldlbm4gZWluIFNwaWVsZXIgZWluZW4gYW5kZXJlbiBibG9ja2VuIGtvZW5udGUsIHdhZXIgZGFzIHRhdHNhZWNobGljaCBlaW4gUEsuCgpSb2hsb2ZmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKE11YWRpYiwgMjYuIE9rdCAyMDA0LCAxMDo1MTowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk4NzgwNDI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODc3NzQyNQppY2ggYmluIGFic29sdXQgZnVlciBibG9ja2VuZGUgc3BpZWxlciBzb2xhbmdlIGRlciBibG9jayBudXIgZnVlciBkZW4KYmxvY2tlbmRlbiBnaWx0CnVuZCBoYXVzdGllcmUgc29sbHRlIG1hbiBlaCBhdWZibGFzZW4gYmlzIHNpZSBwbGF0emVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKEdyaW1tYm9ybiwgMjYuIE9rdCAyMDA0LCAxMDo1NTo0Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5ODc4MDY2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKSWNoIGRlbmtlIHNjaG9uLCBkYXNzIG1hbiBkaWUgQmxvY2thZGUgYXVmIGRhcyBnZXNhbXRlIGVpZ2VuZSBUZWFtIGF1c2RlaG5lbgpzb2xsdGUsIGlua2x1c2l2ZSBkZXMgQmxvY2tlbmRlbi4gVW5kIG5hdHVlcmxpY2ggZ2lsdCBkaWUgQmxvY2thZGUgaW4gYmVpZGUKUmljaHR1bmdlbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoUGl0ZmFsbCwgMjYuIE9rdCAyMDA0LCAxMDo1NjozOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5ODc4MDk0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKV2VubiBkYW5uIGplbWFuZCB2ZXJzdWNodCByYXVzenV0ZWxlcG9ydGllcmVuCmJla29tbXQgZGVyIGVyc3RtYWwgcmljaHRpZyBhdWYgZGllIE5hc2U/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKEdyaW1tYm9ybiwgMjYuIE9rdCAyMDA0LCAxMDo1OTo1NSk6Cn4jISBybj1QaXRmYWxsIHJ0PTEwOTg3ODA5OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CkRhcyBnaWJ0IGVpbmUgYm9lc2UgUnVlY2trb3BwbHVuZywgZGllIGRlbSBUZWxlcG9ydGllcmVuZGVuIHVuZCBkZW0gQmxvY2tlbmRlbgpzbyByaWNodGlnIHdlaCB0dXQsIGphLiBNaXQgTWFnaWUgaXN0IG5pY2h0IHp1IHNwYXNzZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKENhdHdlYXpsZSwgMjYuIE9rdCAyMDA0LCAxMTowMDowNyk6Cn4jISBybj1Sb2hsb2ZmIHJ0PTEwOTg3Nzc0MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CkR1IG1laW5zdCAiQmxvY2tpZXJlbiIgaW0gU2lubmUgdm9uICJBdXNnYW5nIHdlZ25laG1lbiI/CgpGYWxscyBqYSwgdmVyd2Vpc2UgaWNoIGF1ZiBnYWVuZ2lnZSBEaXN1a2tzaW9uZW4gdW5kIHByb3BoZXplaWU6IFZlcmdpc3NlcyA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKEdsb2luc29uLCAyNi4gT2t0IDIwMDQsIDExOjAxOjA3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk4NzgxMjA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODc3NzQyNQpHaWJ0IGVzIGRhIG5pY2h0IG9obmVoaW4gc2Nob24gc293YXMgd2llIGVpbmVuIEJhbm5rcmVpc2Jsb2NrIGRlcgpEdW5rZWx6d29lbGZlbj8gQWxzbywgUHJhZXplbmRlbnpmYWxsIGRhIC0gYWxsZSBUb3JlIG9lZmZuZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChDaGFnYWxsLCAyNi4gT2t0IDIwMDQsIDExOjAyOjAzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwOTg3ODEyNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CkJhbm5rcmVpcyBibG9ja2llcnQgbnVyIGRlbiBEdW5rZWxlbGZlbiB1bmQgZWluZW4gTlBDLiBBbmRlcmUgU3BpZWxlcgpzaW5kIG5pY2h0IGRhdm9uIGJldHJvZmZlbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKFJvaGxvZmYsIDI2LiBPa3QgMjAwNCwgMTE6MDQ6MjMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTg3ODA5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CldpZSBpc3QgZXMgZWlnZW50bGljaCBiZWkgZGVuIGJsb2NrZW5kZW4gTlBDcz8gV2lya3QgZGVyZW4gQmxvY2thZGUgYXVjaCBhdWYKZGllIHNlbGJzdD8gSGFiIG5vY2ggbmllIGVpbmVuIGJsb2NrZW5kZW4gTlBDIHdlZ2xhdWZlbiBzZWhlbiwgYWJlciBpY2gga2VubgphdWNoIG5vY2ggbmljaHQgYWxsZS4KCldpZSB3aWxsc3QgRHUgU3BpZWx0ZWNobmlzY2ggZWluZSBCbG9ja2FkZSBpbiBiZWlkZSBSaWNodHVuZ2VuIGJlZ3J1ZW5kZW4/CkVpbmUgQmxvY2thZGUgc2llaHQgZG9jaCBzbyBhdXMsIGRhc3Mgc2ljaCBkZXIgU3BpZWxlciB2b3IgZWluZW4gQXVzZ2FuZwpzdGVsbHQsIHVuZCBrZWluZW4gTlBDIHZvcmJlaSBsYWVzc3QuClp1bWluZGVzdCBpbiBtZWluZXIgVm9yc3RlbGx1bmcuCldlbm4gZGFubiBlaW5lciByZWlua29tbWVuIHdpbGwsIGlzdCBlciBqYSBpbSBSdWVja2VuIGRlcyBTcGllbGVycyB1bmQgc29taXQKc2NobGVjaHQgenUgYmxvY2tlbi4KClJvaGxvZmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoR3JpbW1ib3JuLCAyNi4gT2t0IDIwMDQsIDExOjA2OjM3KToKfiMhIHJuPVJvaGxvZmYgcnQ9MTA5ODc4MTQ2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKSG1tLCBndXRlciBQdW5rdC4gRWluIHVlYmVycmFzY2hlbmQgaW0gUnVlY2tlbiBhdWZ0YXVjaGVuZGVyIChOKVBDIGlycml0aWVydAphbHNvIGRlbiBCbG9ja2VuZGVuLCBkZXIgS251ZmYsIGRlbiBlciBpbiBkZW4gUnVlY2tlbiBlcmhhZWx0LCBsYWVzc3QgaWhuCnVuZ2VkZWNrdCBpbiBkaWUgV2FmZmUgZGVzIGdlYmxvY2t0ZW4gTlBDIHRhdW1lbG4sIGRhYmVpIHdpcmQgZGllIEJsb2NrYWRlCmF1ZmdlaG9iZW4uIERhcyBpc3QgZG9jaCBtYWwgZWluIHdpcmtsaWNoLi4uIGludGVyZXNzYW50ZXMgS29uemVwdCwgd2FzIGJlaQpTcGllbGVybiB2aWVsIEZyZXVkZSBhdXNsb2VzZW4gd2lyZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmZyYWdlIHVuZCBWb3JzY2hsYWcgKFJvaGxvZmYsIDI2LiBPa3QgMjAwNCwgMTE6MDc6NTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTg3ODEyMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1Ck1laW5lIG5pY2h0IHdpcmtsaWNoIEF1c2dhbmcgd2VnbmVobWVuLgpKZSBuYWNoZGVtIHdpZSBndXQgZGVyIFNraWxsIGlzdCwga2FubiBkZXIgU3BpZWxlciBlaW5lbiBOUEMgZGVzIHZvcmJlaSB3aWxsLAppbiBlaW5lbSBLYW1wZiB2ZXJzdHJpY2tlbiwgdW0gaWhtIGFtIHdlaXRlcmdlaGVuIHp1IGhpbmRlcm4uCgpCaW4gYXVmIGRpZSBJZGVlIGdla29tbWVuLCB3ZWlsIGVzIG1laW5lciBNZWludW5nIG5hY2ggc2VociB2aWVsZSBOUENzIGdpYnQsCmRpZSBibG9ja2VuLiBXYWVyZSBudXIgZ2VyZWNodCwgd2VubiBTcGllbGVyIGRlbiBTcGllc3MgdW1kcmVoZW4ga29lbm50ZW4uCgpBYmVyIG5hamEsIGdlcmVjaHQgdW5kIE1HICpodWVzdGVsIC0tIHNjaHdlaWcKClJvaGxvZmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoTXVhZGliLCAyNi4gT2t0IDIwMDQsIDExOjEwOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDk4NzgxNTk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODc3NzQyNQplaW5lIGJsb2NrYWRlIGluIGFsbGUgcmljaHR1bmdlbiBpc3Qgc3BpZWx0ZWNobmlzY2ggZWluZmFjaCB6dSBiZWdydWVuZGVuOgpkZXIgYmxvY2tlbmRlIHNwaWVsZXIsIHNhZ2VuIHdpciBtYWwgZWluIHp3ZXJnLCBzdGVja3Qgc2ljaCBkZW4gbWFnaXNjaGVuCmx1dHNjaGRhdW1lbiBpbiBkZW4gbXVuZCBhdG1ldCBkdXJjaCBkaWUgbmFzZSBlaW4gdW5kIHB1c3RldCBzaWNoIGR1cmNoCmtyYWVmdGlnZXMgYXVzYXRtZW4gZHVyY2ggZGVuIG11bmQgc2VsYnN0IHNvbGFuZ2UgYXVmIGJpcyBlciBhbGxlIGF1c2dhZW5nZQpoaW5yZWljaGVuZCBibG9ja3QKYmVpIGxvZXNlbiBkZXMgZGF1bWVucyBlcmZvbGd0IGRhbm4gbm9jaCBlaW4genVmYWVsbGlnZXIgdGVsZXBvcnQgaW0KYmFsbG9uc3RpbAotCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChHbG9pbnNvbiwgMjYuIE9rdCAyMDA0LCAxMToxMzoxOSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5ODc4MTgyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKQWJlciBlcnN0IHdlbm4gR2VyYWV1c2NoZSBpbXBsZW1lbnRpZXJ0IHNpbmQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoQXJrLCAyNi4gT2t0IDIwMDQsIDExOjIyOjU5KToKfiMhIHJuPVJvaGxvZmYgcnQ9MTA5ODc3NzQyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKUHV1dWgsIGJhbGQgc2luZCB3aXIgd2llZGVyIGJlaW0gIkF0bWUgZWluIiA6LSkgV2FydW0gd29sbGVuIG51biBhbGxlIHdpZWRlcgpSTCBpbSBWTD8gVW5kIHp1bSBCbG9ja2VuOiBpY2ggdmVybXV0ZSwgZGllIG5hZWNoc3RlbiBBcnRpa2VsIGRlbiBUYXJuaGVsbSB1bmQKZGllIGJvZXNlbiBib2VzZW4gQmxvY2tnZXNjaGljaHRlbiBlcndhZWhuZW4sIGFiZXIgdW0gZXMga3VyeiB6dSBtYWNoZW4sCmJsb2NrZW5kZSBTcGllbGVyIHNpbmQsIGF1Y2ggX251cl8gZnVlciBNb25zdGVyLCB3ZW5pZyB3dWVuc2NoZW5zd2VydC4KU3BpZWxlciBzb2xsc3QgRHUgYXVzIGVyc2ljaHRsaWNoZW0sIHZlcmhhbHRlbnN0ZWNobmlzY2hlbSBHcnVuZCBuaWNodApibG9ja2llcmVuLCBNb25zdGVyLCBudW4sIGRhIHdpcmQgbWFuIHNjaG5lbGwgZXR3YXMgZGFnZWdlbiBlcnNpbm5lbgooZWhybGljaGVyd2Vpc2UsIGljaCBhdWNoLCBkZW5uIHp1bWluZGVzdCBlaW5lIEdlbGVnZW5oZWl0IGZhZWxsdCBtaXIgZWluLCB3bwpkZXIgU2lubiBsYXVmZW5kZSBHZWduZXIgc2luZCwgbGF1ZmVuIGRpZSBuaWNodCBtZWhyLCBzaW5kIHNpZSBMdXNjaGVuKSwgd2FzCmRlbiBTa2lsbCB3aWVkZXIgd2l0emxvcyBtYWNodC4KVW5mYWlyLCB3ZWlsIE1vbnN0ZXIgbWFsIHdpZWRlciBtZWhyIGtvZW5uZW4gYWxzIFNwaWVsZXI/IEphLCBhYmVyIGRhcyBpc3Qgbml4Ck5ldWVzIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoQXJrLCAyNi4gT2t0IDIwMDQsIDExOjI0OjIzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDk4NzgwOTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODc3NzQyNQpBbHMgU2ltdWxhdGlvbiBkZXMgIkJhbm5rcmVpc2VzIiBkZXIgRGVsZmVuPyBEYSBnZWh0IGRvY2ggZnVlciBiZWlkZSBTZWl0ZW4Kbml4IG1laHIsIG9kZXI/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChBcmssIDI2LiBPa3QgMjAwNCwgMTE6MjY6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTg3ODE1OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4Nzc3NDI1CkFsc28gd2VubiBzY2hvbiBSTCwgZGFubiBiaXR0ZXNjaG9lbiBudXIgZGllIFJhZXVtZSB6dWxhc3NlbiwgZGVyZW4KTGFuZ2Jlc2NocmVpYnVuZyBzdWdnZXJpZXJ0LCBkYXNzIGVzIHNvIGVuZyBpc3QsIGRhc3MgbWFuIGR1cmNoIHNjaG5lbGxlcwpMYXVmZW4gbmljaHQgYXVjaCBhbiBkZW0gQmxvY2tlciB2b3JiZWlzcHJpbmd0LiBJbSBGcmVpZW4gYWxzbyB6dSA5NSUga2VpbmUKQmxvY2tlciA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQW5mcmFnZSB1bmQgVm9yc2NobGFnIChCYW1iaSwgMjYuIE9rdCAyMDA0LCAxOTo0MDo0Nik6Cn4jISBybj1BcmsgcnQ9MTA5ODc4MjgwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKSWNoIGJpbiBnZWdlbiBnZW5lcmVsbGVzIEJsb2NrZW4uIChEZW4gRGVsZmVuc2tpbGwgbGFzcyBpY2ggaGllcmJlaSBhdXNzZW4Kdm9yLikgRXMgaXN0IHp1bSBlaW5lbiBuaWNodCBiZWdydWVuZGJhciwgd2llc28gbWFuIFJvYmluIGF1ZiBkZXIgSG9jaGViZW5lCmRhcmFuIGhpbmRlcm4gc29sbHRlLCBuaWNodCBlaW5mYWNoIGFtIFNwaWVsZXIgdm9yYmVpenVsYXVmZW4gb2RlciB3aWVzbyBtYW4KZGVtIDI1MCBUb25uZW4gc2Nod2VyZW4gUGx1ZXNjaGRyYWNoZW4gZXJmb2xncmVpY2ggZGllIDU3IEtpbG9ncmFtbQpLb2VycGVyZ2V3aWNodCBpbiBkZW4gV2VnIHN0ZWxsZW4ga29lbm5lbiBzb2xsdGUgb2huZSBkYWJlaSBlaW4gZGllKCkgenUKYmVrb21tZW4uIEF1c3NlcmRlbSBpc3QgZXMgYmFsYW5jZXRlY2huaXNjaCB1ZWJlcmhhdXB0IG5pY2h0IG5hY2h2b2xsemllaGJhciwKd2llIHNpY2ggZGFzIGF1ZiAoZXhpc3RpZXJlbmRlKSBOUENzLCBHZWJpZXRlIHVuZCBNZXR6ZWxlaWVuIGF1c3dpcmt0LiBVbmQKYnR3OiB3ZW5uIGVpbiBNYWdpZXIgc28gZXR3YXMgdW50ZXJzdHVldHplbiBtb2VjaHRlLCBkYW5uIGthbm4gZXIgZGFzIHR1bi4gRXMKaXN0IGphIG5pY2h0IHNvLCBkYXNzIGluIGRlciBUcm9sbGhvZWhsZSBudXIgZGllIFRyb2xsZSBibG9ja2VuIGtvZW5uZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gRG9ubmVyc3RhZyBNb3JnZW4uIChWYW5pb24sIDI3LiBPa3QgMjAwNCwgMjE6NTE6MTUpOgoKQW0gZnJ1ZWhlbiBNb3JnZW4gZGVzIDI4LiBPa3RvYmVyIDIwMDQga29tbXQgZXMgenUgZWluZXIgdG90YWxlbgpNb25kZmluc3Rlcm5pcywgZGllIGluIE1pdHRlbGV1cm9wYSBhbSBNb3JnZW5oaW1tZWwgZmFzdCB2b2xsc3RhZW5kaWcKYmVvYmFjaHRldCB3ZXJkZW4ga2Fubi4gRGVyIE1vbmQgdHJpdHQgdW5nZWZhZWhyIHp3ZWkgU3R1bmRlbiBuYWNoIE1pdHRlcm5hY2h0Ck1pdHRlbGV1cm9wYWVpc2NoZXIgU29tbWVyemVpdCAoTUVTWikgaW4gZGVuIEVyZHNjaGF0dGVuIGVpbiB1bmQgZHVyY2hsYWV1ZnQKZGllc2VuIHZvbGxzdGFlbmRpZyBiaXMgZXR3YSA4IFVociBtb3JnZW5zLiBEYWJlaSB2ZXJzY2h3aW5kZXQgdW5zZXIKaGltbWxpc2NoZXIgVHJhYmFudCB2b24gMDQ6MjQgVWhyIGJpcyAwNTo0NSBVaHIgaW0gS2VybnNjaGF0dGVuIGRlciBFcmRlIGZhc3QKdm9lbGxpZy4gRGllIE1vbmRvYmVyZmxhZWNoZSB3aXJkIGZ1ZXIgZWluZW4gWmVpdHJhdW0gdm9uIDgxIE1pbnV0ZW4gbGVkaWdsaWNoCmluIGVpbmVtIGZhaGxlbiByb3RlbiBMaWNodCBlcnN0cmFobGVuLgoKTWVocjogaHR0cDovL3d3dy5hc3Ryb2Nvcm5lci5kZS93aXNzZW4vd2lzc2VuX2ZpbnN0ZXJuaXNzZV8yMDA0MTAyOC5waHAKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG90YWxlIE1vbmRmaW5zdGVybmlzIGFtIERvbm5lcnN0YWcgTW9yZ2VuLiAoQm9pbmcsIDI4LiBPa3QgMjAwNCwgMTA6MTE6MDkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwOTg5MDY2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4OTA2Njc1ClNvdmllbCB6dXIgVGhlb3JpZSAuLi4gOikKR2VzY2hsb3NzZW5lIFdvbGtlbmRlY2tlLCBSZWdlbiAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRvdGFsZSBNb25kZmluc3Rlcm5pcyBhbSBEb25uZXJzdGFnIE1vcmdlbi4gKERhcmtsb3IsIDI4LiBPa3QgMjAwNCwgMTA6MjA6MTMpOgp+IyEgcm49VmFuaW9uIHJ0PTEwOTg5MDY2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4OTA2Njc1ClNlbmQgUGljcy4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gRG9ubmVyc3RhZyBNb3JnZW4uIChWYW5pb24sIDI4LiBPa3QgMjAwNCwgMTA6NDk6MzgpOgp+IyEgcm49RGFya2xvciBydD0xMDk4OTUxNjEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTA5ODkwNjY3NQpWb24gZGVyIFdvbGtlbmRlY2tlPwoKR3J1ZXNzZSwgVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRvdGFsZSBNb25kZmluc3Rlcm5pcyBhbSBEb25uZXJzdGFnIE1vcmdlbi4gKERhcmtsb3IsIDI4LiBPa3QgMjAwNCwgMTE6NTU6NDYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwOTg5NTMzNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4OTA2Njc1ClZvbSBmYWhsZW4gcm90ZW4gTGV1Y2h0ZW4uLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFuZnJhZ2UgdW5kIFZvcnNjaGxhZyAoS2VsbHlidW5keSwgIDEuIE5vdiAyMDA0LCAxODo0OTowOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5ODc4MDI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg3Nzc0MjUKU2N4aG9uIEFuZmFuZyBkZXIgODBlciBKYWhyZSBoYXQgbWFuIGluIGRlciBTdGFkdCBSZW5kc2J1cmcgbmUgU3RyYWZlIHZvbiAyMDAwCighKSBPY2tlbiBlaW5nZWZ1ZWhydCBmdWVyIHdpbGQga2Fja2VuZGUgVG9lbGVuLiBEYXMgd2FyLCB3ZW5uIGF1Y2ggZGFtYWxzCm5vY2ggRE0sIHNlaHIgdmllbCBtZWhyIHdlcnQgYWxzIGhldXRlCgpFdHdhcyBhbSBUaGVtYSB2b3JiZWksIGFiZXIgbnVyIGV0d2FzIDopCgpTQ05SIEtlbGx5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG90YWxlIE1vbmRmaW5zdGVybmlzIGFtIERvbm5lcnN0YWcgTW9yZ2VuLiAoS2VsbHlidW5keSwgIDEuIE5vdiAyMDA0LCAxODo1MzozNCk6Cn4jISBybj1WYW5pb24gcnQ9MTA5ODkwNjY3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg5MDY2NzUKKkdBRUhOKgoKS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb3RhbGUgTW9uZGZpbnN0ZXJuaXMgYW0gRG9ubmVyc3RhZyBNb3JnZW4uIChBbGJvaW4sICAxLiBOb3YgMjAwNCwgMTg6NTU6MDQpOgp+IyEgcm49VmFuaW9uIHJ0PTEwOTg5MDY2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDk4OTA2Njc1CmphIHdlbm4gRHUgdmVycGVubnN0LCBzZWxiZXIgc2NodWxkLiBVZWJyaWdlbnMgdW0gRGVpbmVuIEdlbXVldHp1c3RhbmQKYXVzenVkcnVlY2tlbiBrYW5uc3QgRHUgYXVjaCB6dSB1bnMgTWVnYXNjaG1hcnJuZXJuIGtvbW1lbi4KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRvdGFsZSBNb25kZmluc3Rlcm5pcyBhbSBEb25uZXJzdGFnIE1vcmdlbi4gKFZhbmlvbiwgIDQuIE5vdiAyMDA0LCAyMjoxNTo0OSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5OTMzMTcwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwOTg5MDY2NzUKV2llIGtvbW1zdCBEdSBkYXJhdWYsIGRhc3MgaWNoIG5pY2h0IGJlaSBNZWdhc2NobWFycm4gYmluPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClphY2hpIHdhciBib2VzZSAuLi4gdW5kIGljaCBhdWNoIChBcmssICAxLiBEZXogMjAwNCwgMjA6NTg6MTYpOgpPSywgaWNoIGdlYiB6dSwgZGFzIEpldGxhZyB3YXIgc2NodWxkLCBkYXNzIGljaCB1ZWJlcmVpZnJpZyBoZXV0ZSBlaW5lbiBUeXBvCmltIFF1ZXN0bmFtZW4gIlphY2hhcmlhcyBFaXNwYWxhc3QiIChzbyBoZWlzc3QgZGllIFF1ZXN0IHdlaXRlcmhpbiA6LSkgKSBmaXhlbgp3b2xsdGUuIEhhYmljaCB3aWVkZXIgcnVlY2tnYWVuZ2lnIGdlbWFjaHQsIGFscyBlaW5pZ2Ugc2llIGFscyBuaWNodCBnZWxvZXN0Cm1hcmtpZXJ0IGJla29tbWVuIGhhYmVuLCBhbHMgc2llIHNpY2ggZWlubG9nZ3Rlbi4gQWxzbywgbWVhIGN1bHBhLCBiaXR0ZSBhbgptaWNoIHdlbmRlbiwgd2VubiBpY2ggc2llIHdpZWRlciBzZXR6ZW4gc29sbCwgaWNoIGNoZWNrIGRhcyBrdXJ6IG1pdCBkZW0KbG9nZmlsZSB1bmQgc2V0emUgc2llIGFsbGVuLCBiZWkgZGVuZW4gc2llIG1vbWVudGFuIGZlaGx0LgpBbnNvbnN0ZW4gYmluIGljaCBob2ZmZW50bGljaCBsYW5nc2FtIHdpZWRlciB3YWNoLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUXVlc3QtVGVhc2VyIFZvbC4gMiAoQ2hhZ2FsbCwgIDUuIERleiAyMDA0LCAyMToyNzozOSk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTExMDIyNzgyMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAyMjc4MTA5CldhZXJlIGVzIGV2ZW50dWVsbCBtb2VnbGljaCwgZGVuIFRyYWlsZXIgbm9jaCBpbiBlaW5lbSBhbmRlcmVuIEZvcm1hdAphbnp1YmlldGVuPyBNZWluIE1wbGF5ZXIgZ2lidCBtaXIgbnVyIGRlbiBUb24gYXVzLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0LVRlYXNlciBWb2wuIDIgKFNoYWtlZGJlZXIsICA1LiBEZXogMjAwNCwgMjE6Mjg6MjEpOgpIYWxsbyBQR0ktRmFucyEKCk5hY2ggZGVyIFVyYXVmZnVlaHJ1bmcgaW4gV2ludGVyYnVyZyBzdGVodCBkZXIgMi4gVHJhaWxlciBpbiBkZXIKT3JpZ2luYWxmYXNzdW5nIHVuZCBkZXIgRnVuLUVkaXRpb24gaW0gTmV0eiBiZXJlaXQuCgpVUkw6IGh0dHA6Ly93d3cuc3BlY3Ryb3NvZnR3YXJlLmRlL35pZGVsbHdpZy9wZ2kvCkxvZ2luOiB0cmFpbGVyClBhc3MuOiBzaGFrZWRiZWVyCgpBdXMgVXJoZWJlcnJlY2h0bGljaGVuIEdydWVuZGVuIHRlaWxlIGljaCBtaXQ6IE51ciBmdWVyIGRlbiBNRy1pbnRlcm5lbgpHZWJyYXVjaCB1bmQgbmljaHQgenVyIFZlcm9lZmZlbnRsaWNodW5nIGJlc3RpbW10LiA6bykKClNoYWt5LgoKUFM6IEphLiBNb3JnZW4ga29tbXQgYXVjaCBub2NoIG5lIFNXRiB1bmQgZXZ0bC4gQVZJLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWVzdC1UZWFzZXIgVm9sLiAyIChWYXJkaW9uLCAgNS4gRGV6IDIwMDQsIDIxOjMwOjU5KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTEwMjI3ODUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDIyNzg1MDEKTWljaCBpbnRlcmVzc2llcnQgdHJvdHpkZW0sIHdhcyBEdSBoaWVyIGZ1ZXIgbmVuIFF0LUNvZGVjIHZlcndlbmRldCBoYXN0LgpOb3JtYWxlcndlaXNlIHNwaWVsdCBtZWluIE1QbGF5ZXIgYXVjaCBTb3JlbnNvbiAxLTMsIFp5Z28gdW5kIGRlbiBnYW56ZW4KYW5kZXJlbiBTY2hvdHRlci4uLgoKVmFyZGlvbiwgYXVjaCBudXIgbWl0IFRvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0LVRlYXNlciBWb2wuIDIgKEFtYXJ5bGxpcywgIDUuIERleiAyMDA0LCAyMTozOTo0MCk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTExMDIyNzg1MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAyMjc4NTAxCkFsc28gaWNoIG5lbm5lIGRhcyBTcGFtIDopCgpHcnVzcywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0LVRlYXNlciBWb2wuIDIgKFNoYWtlZGJlZXIsICA2LiBEZXogMjAwNCwgMjA6NDg6MjMpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTAyMjc4NTAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMjI3ODUwMQpTby4gSmV0enQgc29sbHRlIGZ1ZXIgamVkZW4gd2FzIGRhYmVpIHNlaW4sIGRlbm4gZWluZW4gRmxhc2gtNS1QbGF5ZXIgZ2lidCBlcwphdWNoIGZ1ZXIgTGludXguIERhcyBBVkkgc3BhcmUgaWNoIG1pciBkYW5uIG1hbC4gV2lyZCBlaCBpbW1lciB2aWVsIHp1IGdyb3NzLgoKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0LVRlYXNlciBWb2wuIDIgKFZhcmRpb24sICA2LiBEZXogMjAwNCwgMjA6NTE6MTMpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTAyMzYyNTAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMjI3ODUwMQpBVkkgc2FndCBlcnN0bWFsIG5peCB1ZWJlciBkaWUgR3JvZXNzZSBhdXMsIGRhcyBpc3QgbnVyIGVpbiBDb250YWluZXJmb3JtYXQuCldpZSBncm9zcyBkYXMgRmlsZSB3aXJkLCBoYWVuZ3QgcHJpbWFlciB2b20gdmVyd2VuZGV0ZW4gQ29kZWMgYWIuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBRdWVzdC1UZWFzZXIgVm9sLiAyIChTaGFrZWRiZWVyLCAgNi4gRGV6IDIwMDQsIDIwOjUyOjU1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTEwMjM2MjY3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDIyNzg1MDEKRGFjaHRlIGljaCBtaXIuIEFsbGVyZGluZ3Mga29tbWVuIGJlaSBtaXIgaW1tZXIgdW0gZGllIDIwIE1CIHJhdXMuIExpZWd0IHdvaGwKYW4gbWVpbmVyIFNjaG5pdHRzb2Z0d2FyZS4gRGllIHppZWx0IGVoZXIgYXVmIERWIGFscyBhdWYgV2ViLiA7bykKClNiaWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmF1eHBhcyAoUGhvYm9zLCAxNC4gRGV6IDIwMDQsIDIwOjUxOjAzKToKV2lyIHNjaHVsZW4gZGllc2UgV29jaGUgZWluaWdlIHVuc2VyZXIgYW1lcmlrYW5pc2NoZW4gTWl0YXJiZWl0ZXIuCkVpbmVyIHZvbiBkaWVzZW4gaXN0IHdvaGwgenUgS2luZGhlaXRzemVpdGVuIGF1cyBDaGluYSBpbiBkaWUgVVNBCmF1c2dld2FuZGVydC4gSmVkZW5mYWxscyBoYWJlIGljaCBpaG0gdmVyc3VjaHQgZXR3YXMgenUgZXJrbGFlcmVuCnVuZCBkYWJlaSBhdWNoIG1laW5lIEhhZW5kZSBlaW5nZXNldHp0LCB1bmQgaGFiZSB1bnRlciBhbmRlcmVuIGF1Y2gKZGlyZWt0IG1pdCBkZW0gYXVzZ2VzdHJlY2t0ZW4gWmVpZ2VmaW5nZXIgaW4gc2VpbmUgUmljaHR1bmcgZ2V6ZWlndC4KQmVpIGVyc3RlbiBNYWwgaXN0IGVzIG1pciBuaWNodCBzb2ZvcnQgYXVmZ2VmYWxsZW4sIGFiZXIgYmVpbQp6d2VpdGVuIE1hbCBoYWJlIGljaCBlaW5kZXV0aWcgd2Focmdlbm9tbWVuLCBkYXNzIGVyIG1pdCBzZWluZXIKSGFuZCBzb2ZvcnQgZWluZSBhYndlaHJlbmRlIEJld2VndW5nIHZvciBkZW0gS29lcnBlciAoRmluZ2VyIGxlaWNodApnZWZhZWNoZXJ0IHVuZCBsZWljaHQgbmFjaCBvYmVuIGdlbmVpZ3QsIEhhbmRmbGFlY2hlIG5hY2ggdW50ZW4sCmxlaWNodGUgTGlua3MtL1JlY2h0c2Jld2VndW5nKSBnZW1hY2h0IGhhdC4gRGFuYWNoIGhhYmUgaWNoIGVzCnR1bmxpY2hzdCB2ZXJtaWVkZW4sIG5vY2htYWwgaW4gc2VpbmUgUmljaHR1bmcgenUgemVpZ2VuLgoKTWVpbmUgZXJzdGUgVmVybXV0dW5nIGlzdCwgZGFzcyBpY2ggaXJnZW5kd2VsY2hlIEdlaXN0ZXIgb2RlcgpEYWVtb25lbiBpbiBzZWluZSBSaWNodHVuZyBnZXNjaGlja3QgaGFiZSwgdW5kIGVyIGRpZXNlIGFiZ2V3ZWhydApoYXQuCgpIYXQgZGEgamVtYW5kIG5hZWhlcmUgSW5mb3JtYXRpb25lbiB6dT8gV2FyIGRhcyBqZXR6dCBlaW5lIGVybnN0aGFmdGUKQmVkcm9odW5nIGJ6dy4gbmljaHQgZ3V0enVtYWNoZW5kZSBCZWxlaWRpZ3VuZyBtZWluZXJzZWl0cywgb2RlciBlaGVyCmVpbiBBdXNydXRzY2hlciwgZGVyIHVuYW5nZW5laG0gaXN0LCBhYmVyIHNjaG9ubWFsIHZvcmtvbW1lbiBrYW5uPwoKClBob2JvcyAtIGpldHp0IG51ciBub2NoIG1pdCB2ZXJzY2hyYWVua3RlbiBBcm1lbiBzY2h1bGVuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhdXhwYXMgKEJvaW5nLCAxNC4gRGV6IDIwMDQsIDIwOjUzOjU5KToKfiMhIHJuPVBob2JvcyBydD0xMTAzMDUzODYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzA1Mzg2MwpXaWVzbyBmcmFnc3QgRHUgaWhuIG5pY2h0IHNlbGJzdD8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXV4cGFzIChQaG9ib3MsIDE0LiBEZXogMjAwNCwgMjA6NTY6NDMpOgp+IyEgcm49Qm9pbmcgcnQ9MTEwMzA1NDAzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKSWNoIHdvbGx0ZSBlcnN0bWFsIHdpc3Nlbiwgd2FzIGljaCBkYSB1ZWJlcmhhdXB0IGFuZ2VyaWNodGV0IGhhYmUuClZpZWxsZWljaHQgaXN0IGRhcyBqYSBlaW4gVGFidS1UaGVtYSwgd2FzIGljaCBhbSBiZXN0ZW4gZ2FyIG5pY2h0CmFuc3ByZWNoZSwgdW0gaWhuIG5pY2h0IG5vY2ggdGllZmVyIHp1IGJlbGVpZGlnZW4gb2RlciBzby4KClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhdXhwYXMgKEdsb2luc29uLCAxNC4gRGV6IDIwMDQsIDIxOjE5OjE4KToKfiMhIHJuPVBob2JvcyBydD0xMTAzMDUzODYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzA1Mzg2MwpEYSBtYWcgendhciBub2NoIGVpbiBNeXN0aXppc211cyBkYWhpbnRlcnN0ZWNrZW4sIGFiZXIgZGFzIGJlendlaWZsZSBpY2guIE1pdApkZW0gRmluZ2VyIGF1ZiBqZW1hbmRlbiB6dSB6ZWlnZW4gZ2lsdCBpbiB2aWVsZW4gS3VsdHVyZW4gYWxzIHVuaG9lZmxpY2ggYmlzCmJlbGVpZGlnZW5kLiBLaW5kZXIgYmVrb21tZW4gZGFzIGJlaSB1bnMgYXVjaCBiZWlnZWJyYWNodCB1bmQgbWFuIG5pbW10IGVzIGluCmRlbiB1bndpbGxrdWVybGljaGVuIFZlcmhhbHRlbnNrb2RleCBhdWYuCldlbm4gZGFzIHdpcmtsaWNoIG51ciBadWZhbGwgd2FyIHNvbGx0ZXN0IGR1IGVudHdlZGVyIGF1ZiBkZWluZSB6dWZhZWxsaWdlbgpIYW5kYmV3ZWd1bmdlbiBldHdhcyBtZWhyIGFjaHRlbiAoaWNoIG1hZyBlcyBhdWNoIG5pY2h0LCB3ZW5uIG1hbiBhdWYgbWljaAp6ZWlndCkgb2RlciBpaG4gbWFsIGZyYWdlbiwgZGFtaXQgaWhyIGRlbSBhdWYgZGVuIEdydW5kIGdlaHQuIE9kZXIgcmVkZW4gd2lyCmhpZXIgdm9uIGVpbmVyIFNjaHVsdW5nICJXaWxkZSBNYXNzZW5tb2VyZGVyIGxlcm5lbiBpaHJlIEFrdGlvbmVuIHp1CnJhdGlvbmFsaXNpZXJlbiI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXV4cGFzIChQaG9ib3MsIDE0LiBEZXogMjAwNCwgMjE6MjU6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwMzA1NTU1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKTmFqYSwgd2VyZCBpY2ggYW0gRnJlaXRhZyBiZWkgZGVyIFdlaWhuYWNodHNmZWllciBtYWwgYW5zcHJlY2hlbiwgd2VubgpzaWNoIGVpbmUgR2VsZWdlbmhlaXQgZXJnaWJ0LgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGYXV4cGFzIChEYXJrbG9yLCAxNC4gRGV6IDIwMDQsIDIxOjI1OjQ4KToKfiMhIHJuPVBob2JvcyBydD0xMTAzMDU1OTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzA1Mzg2MwpFaW5mYWNoIGVpbmUgR2VsZWdlbmhlaXQgc2NoYWZmZW4uLi4gOykKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZhdXhwYXMgKEdsb2luc29uLCAxNC4gRGV6IDIwMDQsIDIxOjI2OjA4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwMzA1NTk0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKTWl0IGRlbSBGaW5nZXIgYXVmIGlobiBkZXV0ZW4gdW5kIHJ1ZmU6IER1LCBrb21tIG1hbCBoZXIhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmF1eHBhcyAoUGhvYm9zLCAxNC4gRGV6IDIwMDQsIDIxOjI2OjMwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwMzA1NTk0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKSm8sIGljaCB3ZXJkZSB1bm1pc3N2ZXJzdGFlbmRsaWNoIGF1ZiBpaG4gemVpZ2VuIHVuZCBpaG4gZnJhZ2VuIDspCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZhdXhwYXMgKEdsb2luc29uLCAxNC4gRGV6IDIwMDQsIDIxOjI3OjMwKToKfiMhIHJuPVBob2JvcyBydD0xMTAzMDU1OTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzA1Mzg2MwpTY2h3YW5rZSBiZXNvZmZlbiBhdWYgaWhuIHp1LCB1bnRlcnNjaHJlaXRlIGRpZSBwZXJzb2VubGljaGUgRGlzdGFueiB1bmQKaGF1Y2hlIGlobSBkZWluZSBGcmFnZSBpbnMgT2hyPyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZhdXhwYXMgKFBob2JvcywgMTQuIERleiAyMDA0LCAyMToyNzozNCk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwMzA1NTk5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKV2FzIHdvaGwgcGFzc2llcnQsIHdlbm4gbWFuIHNpY2ggaW4gQ2hpbmEgbWl0IGF1c2dlc3RyZWNrdGVtIEZpbmdlcgphdWYgZWluZW0gb2VmZmVudGxpY2hlbiBQbGF0eiBpbSBLcmVpcyBkcmVodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZhdXhwYXMgKFdoaXRldGlnZXIsIDE0LiBEZXogMjAwNCwgMjE6Mjc6NTApOgp+IyEgcm49UGhvYm9zIHJ0PTExMDMwNTYwNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzMDUzODYzCkVpbiBMeW5jaG1vYiByYXN0IGF1ZiBEaWNoIHp1PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmF1eHBhcyAoR2xvaW5zb24sIDE0LiBEZXogMjAwNCwgMjE6Mjg6MjYpOgp+IyEgcm49UGhvYm9zIHJ0PTExMDMwNTYwNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzMDUzODYzCkRhcyBtdXNzdCBkdSBlcnN0bWFsIHNjaGFmZmVuIGJlaSBkZW4gdmllbGVuIENoaW5lc2VuIGRpY2ggYXVjaCBub2NoIHp1CmRyZWhlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGYXV4cGFzIChQaG9ib3MsIDE0LiBEZXogMjAwNCwgMjE6MzI6MTYpOgp+IyEgcm49SHVtbmkgcnQ9MTEwMzA1NjIyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKTmFqYSwgYmVpIGVpbmVtIEdpcHN2ZXJiYW5kIGtvbW1lbiBkaWUgR2Vpc3RlciB2aWVsbGVpY2h0IG5pY2h0IHJhdXM/CgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZhdXhwYXMgKEdsb2luc29uLCAxNC4gRGV6IDIwMDQsIDIxOjMyOjIwKToKfiMhIHJuPUh1bW5pIHJ0PTExMDMwNTYyMjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzMDUzODYzClNvIGVpbiBVbnNpbm4uIEplZGVyIHdlaXNzLCBkYXNzIFdpcmJlbHN0dWVybWUgbnVyIHZvbiBTY2htZXR0ZXJsaW5nZW4KYXVzZ2Vsb2VzdCB3ZXJkZW4uIEZhZWNoZXJmb2VybWlnIHdlZGVsbmRlIEhhZW5kZSBkaWVuZW4gYWxsZW5mYWxscyBkYXp1CkdlcnVjaCB6dSBtYXNraWVyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhdXhwYXMgKFJpa3VzLCAxNS4gRGV6IDIwMDQsIDA5OjExOjQwKToKfiMhIHJuPVBob2JvcyBydD0xMTAzMDUzODYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzA1Mzg2MwpzaWVoZTogaHR0cDovL3d3dy5zYWxlc2pvYi5kZS9rYXJyaWVyZXRpcHBzL2F1ZnN0aWVnL2tub3dob3cuY2ZtCmRhIHN0ZWh0OgpNaXQgZGVtIFplaWdlZmluZ2VyIGF1ZiBqZW1hbmRlbiB6ZWlnZW46IEdpbHQgYWxzIHVuaG9lZmxpY2hlLCBhbmtsYWdlbmRlCkJld2VndW5nLiBXZXIgemVpZ2VuIG11c3MsIHR1dCBkYXMgYmVzc2VyIG1pdCBkZXIgZ2FuemVuIEhhbmQgdW5kIGdlb2VmZm5ldGVyCkhhbmRmbGFlY2hlLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmF1eHBhcyAoTW9udGFudXMsIDE1LiBEZXogMjAwNCwgMDk6MjM6MjQpOgp+IyEgcm49UmlrdXMgcnQ9MTEwMzA5ODMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMwNTM4NjMKTnVuLCBkYXMga29tdG0gZ2FueiBkcmF1ZiBhbiwgd2llIGhpcCBkdSBzZWluIHdpbGxzdC4gQW4gZGVyIEZyYW5rZnVydGVyCkhhdXB0d2FjaCBrb21tdCBlcyBzaWNoZXIgdG90YWwgZ3V0IGFuLCB3ZW5uIGR1IGdsZWljaHplaXRpZyBtaXQgWmVpZ2VmaW5nZXIKdW5kIGtsZWluZW0gRmluZ2VyIGF1ZiBqZW1hbmQgemVpZ3N0LiBEcmVzc2NvZGU6IGhlbGxiYXVlCkFkaWRhcy1UcmFpbmluZ3NqYWNrZSwgZHVua2VsYmxhdWUgWWFua2Vlcy1Ta2ltdWV0emUgdW5kIGVpbiBLaWxvIFNJbGJlciB1bQpkZW4gSGFscy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbWV0ZW5zaWNodGJhcmtlaXQgenVyIEphaHJlc3dlbmRlIChWYW5pb24sIDE1LiBEZXogMjAwNCwgMTc6MjE6NTkpOgpadXIga29tbWVuZGVuIEphaHJlc3dlbmRlIHdlcmRlbiB3aXIgYW0gbmFlY2h0bGljaGVuIEhpbW1lbCBlaW5lbiBpbSBKYWhyIDIwMDQKZW50ZGVja3RlbiBLb21ldGVuIGJlb2JhY2h0ZW4ga29lbm5lbi4gRGVyIFNjaHdlaWZzdGVybiBrb21tdCBkZXIgRXJkZSByZWNodApuYWhlLCB3aXJkIGVpbmlnZSByZWl6dm9sbGUgRm90b21vdGl2ZSBiaWV0ZW4gdW5kIGluIGRlciBub2VyZGxpY2hlbgpIZW1pc3BoYWVyZSBob2NoIGVtcG9yIGFuIGRlbiBIaW1tZWwgc3RlaWdlbiAtIGVpbiBiZXNvbmRlcnMgZ3VlbnN0aWdlcwpCZW9iYWNodHVuZ3NvYmpla3QgZnxyIEZlbGRzdGVjaGVyIHVuZCBrbGVpbmUgVGVsZXNrb3BlLgoKd2VpdGVyZSBJbmZvcm1hdGlvbmVuIG9ubGluZSB1bnRlcjoKaHR0cDovL3d3dy5hc3Ryb2Nvcm5lci5kZS9ha3R1ZWxsL2FrdHVlbGxfbmV3c2FyY2hpdi5waHA/aWQ9MjAwNDEyMTMwMDIKLS0KClZpZWwgU3Bhc3MgYmVpbSAnSW5zIEdsYXMgc2NoYXVlbicgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29tZXRlbnNpY2h0YmFya2VpdCB6dXIgSmFocmVzd2VuZGUgKEdyaW1tYm9ybiwgMTUuIERleiAyMDA0LCAxNzoyNDozMSk6Cn4jISBybj1WYW5pb24gcnQ9MTEwMzEyNzcxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDMxMjc3MTkKRW50d2VkZXIgRHUgbHVlZ3N0IG1pdCBEZWluZW0gIndpcmQgZWluaWdlIHJlaXp2b2xsZSBGb3RvbW90aXZlIGJpZXRlbiIsIG9kZXIKRHUgaGFzdCB3ZXNlbnRsaWNoIGxhZW5nZXJlIEJyZW5ud2VpdGVuIGFscyBhbGxnZW1laW4gdWVibGljaC4gSWNoIGthbm4gNDAwbW0KYmlldGVuIChmdWVyIEtsZWluYmlsZCksIHVuZCBpY2ggd3VlcmRlIGRhbWl0IG5pY2h0IGVyd2FydGVuLCBkdXJjaCBkZW4KS29tZXRlbiBlaW4gcmVpenZvbGxlcyBGb3RvbW90aXYgenUga3JpZWdlbi4gRGFzIHJlaWNodCBnZXJhZGUgbWFsIGZ1ZXIgZWluCkZvdG8sIGF1ZiBkZW0gZGVyIE1vbmQgYWxzIHNvbGNoZXIsIHVuZCBuaWNodCBhbHMga2xlaW5lciBMaWNodHB1bmt0IHp1IHNlaGVuCmlzdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb21ldGVuc2ljaHRiYXJrZWl0IHp1ciBKYWhyZXN3ZW5kZSAoVmFuaW9uLCAxNS4gRGV6IDIwMDQsIDE3OjI2OjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTAzMTI3ODcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzEyNzcxOQpOdW5qYSwgZGEgaWNoIGVpbmVuIEF1c3p1ZyBhdXMgZGVtIEFzdHJvY29ybmVyLU5ld3NsZXR0ZXIgZ2Vwb3N0ZXQgaGFiZSwgbmVobWUKaWNoIGFuLCBkYXNzIGRpZSBaaWVsZ3J1cHBlIEhvYmJ5YXN0cm9ub21lbiBzaW5kLiBWb24gZW50c3ByZWNoZW5kZXIKQXVzcnVlc3R1bmcgaXN0IGF1Y2ggYXVzenVnZWhlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLb21ldGVuc2ljaHRiYXJrZWl0IHp1ciBKYWhyZXN3ZW5kZSAoV3VyemVsLCAxNS4gRGV6IDIwMDQsIDE3OjI3OjU4KToKfiMhIHJuPVZhbmlvbiBydD0xMTAzMTI3OTk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzEyNzcxOQptdXNzIGFiZXIgbmljaHQgc28gc2Vpbi4gd2VubiBpY2ggaW5zIGdsYXMgc2NoYXVlLCBzZWhlIGljaCBnZWxlZ2VudGxpY2ggYXVjaApvaG5lIHNwZXppZWxsZSBhdXNydWVzdHVuZyBrb21ldGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS29tZXRlbnNpY2h0YmFya2VpdCB6dXIgSmFocmVzd2VuZGUgKEdsb2luc29uLCAxNi4gRGV6IDIwMDQsIDAzOjM1OjMxKToKfiMhIHJuPVZhbmlvbiBydD0xMTAzMTI3OTk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzEyNzcxOQpPaywgaWNoIHdlcmRlIG1laW5lbiAxMHg1MCBGZWxkc3RlY2hlciBhbiBkZW4gbGljaHRhcm1lbiBCb2RlbnNlZSBtaXRuZWhtZW4uCmhvYmJ5YXN0cm9ub21pc2NoIHdlcmRlIGljaCBhbGxlcmRpbmdzIG5pY2h0IGd1dCBhdXNnZXN0YXR0ZXQgaW5zIEZlbGQgemllaGVuLApkZW4gS29tZXQgSGFsbGV5IHNjaGxhZWd0IGFsc28gZm90b2dyYWZlbnRlY2huaXNjaCBuaWNodHMgc28gc2NobmVsbCBiZWkgbWlyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRiZWFyYmVpdGVyIGdlc3VjaHQgKENhdHdlYXpsZSwgMjAuIERleiAyMDA0LCAwODozMjo1OSk6Ck1vaW4hCgpBdWNoIHdlciBuaWNodCBWZXJlaW5zbWl0Z2xpZWQgaXN0IHVuZCBkZXNoYWxiIGRpZSBlbnRzcHJlY2hlbmRlIFJ1YnJpayBpbgpkaWVzZXIgWmVpdHVuZyBhYmJlc3RlbGx0IGhhdCwgZGFmdWVyIGFiZXIgbWl0IEJpbGRiZWFyYmVpdHVuZ3Nwcm9ncmFtbWVuCnVtZ2VoZW4ga2Fubiwgc29sbHRlIHZpZWxsZWljaHQgZWluZW4gQmxpY2sgaW4gZGllIHJ1YnJpayBtb3JnZW5ncmF1ZW4udmVyZWluCndlcmZlbiwgdW5kIGRhIGRlbi9kaWUgQXJ0aWtlbCB6dW0gTUctL1ZlcmVpbnNsb2dvIGxlc2VuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9oZSBXZWlobmFjaHRlbiAoR3JpbW1ib3JuLCAyMi4gRGV6IDIwMDQsIDE1OjA1OjU4KToKQXVmIHZpZWxmYWNoZW4gV3Vuc2NoLCB1bmQgYXVjaCBhdXMgZWlnZW5lbSBBbnRyaWViLCBrb21tdCBoaWVyIHdpZSBqZWRlcyBKYWhyCnVtIGRpZXNlIFplaXQgbWVpbiBXZWlobmFjaHRzZ3J1c3M6IAoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uIApEYXJ1bSBzY2hyaWViIHNpZSBhbiBkaWUgVGFnZXN6ZWl0dW5nICJTdW4iIGVpbmVuIEJyaWVmOgoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICdTdW4nIHN0ZWh0IGlzdCBpbW1lciB3YWhyLiBCaXR0ZSBzYWdlbgpTaWUgbWlyOiBHaWJ0IGVzIGVpbmVuIFdlaWhuYWNodHNtYW5uPyAtIFZpcmdpbmlhIE8nSGFubG9uIgoKRGllIFNhY2hlIHdhciBkZW0gQ2hlZnJlZGFrdGV1ciBGcmFuY2lzIFAuIENodXJjaCBzbyB3aWNodGlnLCBkYXNzIGVyIHNlbGJlcgphbnR3b3J0ZXRlIC0gYXVmIGRlciBUaXRlbHNlaXRlIGRlciAiU3VuIjoKCiJWaXJnaW5pYSwKRGVpbmUga2xlaW5lbiBGcmV1bmRlIGhhYmVuIG5pY2h0IHJlY2h0LiBTaWUgZ2xhdWJlbiBudXIsIHdhcyBzaWUgc2VoZW47IHNpZQpnbGF1YmVuLCBkYXNzIGVzIG5pY2h0IGdlYmVuIGthbm4sIHdhcyBzaWUgbWl0IGlocmVtIGtsZWluZW4gR2Vpc3QgbmljaHQKZXJmYXNzZW4ga29lbm5lbi4gQWxsZXIgTWVuc2NoZW5nZWlzdCBpc3Qga2xlaW47IG9iIGVyIG51biBlaW5lbSBFcndhY2hzZW5lbgpvZGVyIGVpbmVtIEtpbmQgZ2Vob2VydC4gSW0gV2VsdGFsbCB2ZXJsaWVydCBlciBzaWNoIHdpZSBlaW4gd2luemlnZXMgSW5zZWt0LgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4KSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbyBnZXdpc3Mgd2llIExpZWJlCnVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2FubiB1bnNlciBMZWJlbiBzY2hvZW4KdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbiBXZWlobmFjaHRzbWFubgpnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUgUG9lc2llIC0gZ2FyCm5pY2h0cywgd2FzIGRhcyBMZWJlbiBlcnN0IGVydHJhZWdsaWNoIG1hY2h0ZS4gRWluIEZsYWNrZXJyZXN0IGFuIHNpY2h0YmFyZW0KU2Nob2VuZW4gYmxpZWJlIHVlYnJpZy4gQWJlciBkYXMgTGljaHQgZGVyIEtpbmRoZWl0LCBkYXMgZGllIFdlbHQgYXVzc3RyYWhsdCwKbXVlc3N0ZSB2ZXJsb2VzY2hlbi4KRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IER1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgRHUga29lbm50ZXN0IERlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgYmVrYWVtZSBpaG4genUKR2VzaWNodCAtIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4gZWluZmFjaCBzby4gRGFzCmJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdlbiBEaW5nZSBibGVpYmVuIG1laXN0ZW5zIHVuc2ljaHRiYXIuIERpZQpFbGZlbiwgenVtIEJlaXNwaWVsLCB3ZW5uIHNpZSBhdWYgTW9uZHdpZXNlbiB0YW56ZW4uIFRyb3R6ZGVtIGdpYnQgZXMgc2llLiBBbGwKZGllIFd1bmRlciB6dSBkZW5rZW4gLSBnZXNjaHdlaWdlIGRlbm4gc2llIHp1IHNlaGVuLCBkYXMgdmVybWFnIG5pY2h0IGRlcgpLbHVlZ3N0ZSBhdWYgZGVyIFdlbHQuIFdhcyBEdSBhdWNoIHNpZWhzdCwgRHUgc2llaHN0IG5pZSBhbGxlcy4KRHUga2FubnN0IGVpbiBLYWxlaWRvc2tvcCBhdWZicmVjaGVuIHVuZCBuYWNoIGRlbiBzY2hvZW5lbiBGYXJiZmlndXJlbiBzdWNoZW4uCkR1IHdpcnN0IGVpbmlnZSBidW50ZSBTY2hlcmJlbiBmaW5kZW4sIG5pY2h0cyB3ZWl0ZXIuIFdhcnVtPyBXZWlsIGVzIGVpbmVuClNjaGxlaWVyIGdpYnQsIGRlciBkaWUgd2FocmUgV2VsdCB2ZXJodWVsbHQsIGVpbmVuIFNjaGxlaWVyLCBkZW4gbmljaHQgZWlubWFsCmFsbGUgR2V3YWx0IGF1ZiBkZXIgV2VsdCB6ZXJyZWlzc2VuIGthbm4uIE51ciBHbGF1YmUgdW5kIFBvZXNpZSB1bmQgTGllYmUKa29lbm5lbiBpaG4gbHVlZnRlbi4gRGFubiB3aXJkIGRpZSBTY2hvZW5oZWl0IHVuZCBIZXJybGljaGtlaXQgZGFoaW50ZXIgYXVmCmVpbm1hbCB6dSBlcmtlbm5lbiBzZWluLiAKJ0lzdCBkYXMgZGVubiBhdWNoIHdhaHI/JyBrYW5uc3QgRHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuCldlbHQgaXN0IHdhaHJlciB1bmQgbmljaHRzIGJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQsIHVuZCBld2lnCndpcmQgZXIgbGViZW4uIFNvZ2FyIGluIHplaG5tYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyCndpZSBEaWNoIHVuZCBqZWRlcyBvZmZlbmUgSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0LApWaXJnaW5pYS4KRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKCihEZXIgQnJpZWZ3ZWNoc2VsIHp3aXNjaGVuIFZpcmdpbmlhIE8nSGFubG9uIHVuZCBGcmFuY2lzIFAuIENodXJjaCBzdGFtbXQgYXVzCmRlbSBKYWhyIDE4OTcuIEVyIHd1cmRlIHVlYmVyIGVpbiBoYWxiZXMgSmFocmh1bmRlcnQgYmlzIHp1ciBFaW5zdGVsbHVuZyBkZXIKIlN1biIgaW0gSmFocmUgMTk1MCBhbGxlIEphaHJlIHdpZWRlciB6dXIgV2VpaG5hY2h0c3plaXQgYXVmIGRlciBlcnN0ZW4gU2VpdGUKZGVyIFplaXR1bmcgYWJnZWRydWNrdC4pCgoKSWNoIHd1ZW5zY2hlIGFsbGVuIGVpbiBmcm9oZXMgdW5kIGdlc2VnbmV0ZXMgV2VpaG5hY2h0c2Zlc3QhCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcm9oZSBXZWlobmFjaHRlbiAoUGhvYm9zLCAyMi4gRGV6IDIwMDQsIDE5OjUwOjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTAzNzI0MzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzcyNDM1OApXaWUgamVkZXMgSmFociBtdXNzIGljaCAoZWJlbmZhbGxzIGF1cyBlaWdlbmVtIEFudHJpZWIpIGVpbmUgQW50d29ydCAKc2NocmVpYmVuLCB1bmQgZGFydW0gbW9lY2h0ZSBpY2ggaGV1dGUgYXVjaCBlaW5tYWwgZWluZSBHZXNjaGljaHRlIAplcnphZWhsZW4uCgoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpFaW4gYWx0ZXMgQnVjaCBlcnphZWhsdCB1bnMgR2VzY2hpY2h0ZW4gYXVzIGxhZW5nc3QgdmVyZ2FuZ2VuZW4KVGFnZW4uIFVuZCB2b24gZGVtIEdlc2V0ei4gVW5kIHdpZSBuaWVtYW5kIHZvciBkZW0gR2VzZXR6IGJlc3RlaGVuCmtvbm50ZSBvZGVyIGplIGJlc3RlaGVuIHdpcmQuIFVuZCB2b24gZGVyIFN0cmFmZSBmdWVyIGRpZSwgZGllIGdlZ2VuCmRhcyBHZXNldHogdmVyc3Rvc3Nlbi4gRGllc2UgU3RyYWZlIGlzdCBkZXIgVG9kLiBXZWlsIGFsc28gbmllbWFuZApnZWdlbiBkYXMgR2VzZXR6IGJlc3RlaGVuIGthbm4sIHNpbmQgYWxsZSBkZW0gVG9kIHVlYmVyYW50d29ydGV0LgpOaWVtYW5kIGhhdCBkaWUgS3JhZnQsIGRhcyBHZXNldHogenUgaGFsdGVuLiBKZWRlciBWZXJzdWNoIGlzdCB6dW0KU2NoZWl0ZXJuIHZlcnVydGVpbHQhCgpEYXMgQnVjaCBlcnphZWhsdCBhYmVyIGF1Y2ggdm9uIGRlbSBFaW5lbiwgZGVyIERyZWkgaXN0LCB1bmQgZGVyIHZvbgpBbmZhbmcgYW4gd2FyLiBVbmQgZGllc2VyIGhhdCBIb2ZmbnVuZyBnZWdlYmVuLCB3byBrZWluZSBIb2ZmbnVuZwp3YXIsIGRlbm4gZXIgaGF0IGRhcyBHZXNldHogdWViZXJ3dW5kZW4sIGluZGVtIGVyIEZVRVIgVU5TIGRpZSBTY2h1bGQKYmV6YWhsdCBoYXQsIGRpZSBudXIgZHVyY2ggZGVuIFRvZCBiZXphaGx0IHdlcmRlbiBrYW5uLiBXZXIgc2VpbmUKSG9mZm51bmcgYXVmIGRpZXNlbiBzZXR6dCwgZGVyIGlzdCBhbHNvIEZSRUkgdm9tIEdlc2V0eiwgdm9yIGRlbQpuaWVtYW5kIGJlc3RlaGVuIGthbm4uIFZpZWxtZWhyIHdpcmQgZXIgaGVybmFjaCBuaWNodCBtZWhyIGRhbmFjaApzdHJlYmVuLCBkYXMgR2VzZXR6IHp1IGhhbHRlbiB1bSBkZXMgR2VzZXR6ZXMgd2lsbGVuLCBzb25kZXJuIHVtCmRlc3NlbnR3aWxsZW4sIGRlciBkYXMgR2VzZXR6IHVlYmVyd3VuZGVuIGhhdC4KCkRpZXNlcyBHZXNjaGVuayBoYXQgZXIgYXVjaCBESVIgdW50ZXIgZGVuIFdlaWhuYWNodHNiYXVtIGdlbGVndCwgdW5kCmVzIGlzdCBEZWluZSBmcmVpZSBXYWhsLCBlcyBhbnp1bmVobWVuIG9kZXIgYmVpc2VpdGUgenUgbGVnZW4uIEljaCAKd3VlbnNjaGUgdW5zIGFsbGVuLCBkYXNzIHdpciBkaWVzZXMgR2VzY2hlbmsgZW50ZGVja2VuIHVuZCBuaWNodAptZWhyIGF1cyBkZW4gSGFlbmRlbiBnZWJlbi4KClVuZCBpbiBkaWVzZW0gU2lubmUgd3VlbnNjaGUgYXVjaCBpY2ggYWxsZW4gZWluIGZyb2hlcyB1bmQgCmdlc2VnbmV0ZXMgV2VpaG5hY2h0c2Zlc3QhCgoKUGhvYm9zIGRlciBUaGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJvaGUgV2VpaG5hY2h0ZW4gKERhcmtsb3IsIDIyLiBEZXogMjAwNCwgMTk6NTI6NTUpOgp+IyEgcm49UGhvYm9zIHJ0PTExMDM3NDE0Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzNzI0MzU4CkFjaCBkdSBTY2guLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyb2hlIFdlaWhuYWNodGVuIChBbWFyeWxsaXMsIDIyLiBEZXogMjAwNCwgMjA6MzI6MjQpOgp+IyEgcm49RGFya2xvciBydD0xMTAzNzQxNTc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzcyNDM1OApFcyBnaWJ0IGtlaW5lbiBHcnVuZCwgZGllc2VuIFRleHQgYWJ6dXF1YWxpZml6aWVyZW4gLSBzbyB3aWUgZGFzIGF1Y2ggYmVpbQphbmRlcmVuIFRleHQgbmllbWFuZCBnZXRhbiBoYXQuCgpEdSBrYW5uc3QgRGVpbmUgdW5tYXNzZ2VibGljaGUgTWVpbnVuZyBpbiBkaWVzZW0gRmFsbCBhbHNvIGdlcm5lIGZ1ZXIgRGljaApiZWhhbHRlbi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyb2hlIFdlaWhuYWNodGVuIChXdXJ6ZWwsIDIyLiBEZXogMjAwNCwgMjI6MjM6MDMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMDM3NDM5NDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzNzI0MzU4Cm1vZWNodGUgbWFsIHNhZ2VuLCBkZWluZSBtZWludW5nIGRhenUgaXN0IG1pbmRlc3RlbnMgZ2VuYXVzbyB1bm1hc3NnZWJsaWNoLgp0cm90emRlbSBzdGVodCBlcyBkaXIgZnJlaSwgc2llIGhpZXIgYWJ6dXNvbmRlcm4uIGVyc3RhdW5saWNoZXJ3ZWlzZSBnaWx0CmRhcyBmdWVyIGFsbGUsIGF1Y2ggd2VubiBkdSBlcyB2aWVsbGVpY2h0IG5pY2h0IG1hZ3N0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJvaGUgV2VpaG5hY2h0ZW4gKEJhbWJ1bGtvLCAyMi4gRGV6IDIwMDQsIDIyOjI2OjQzKToKfiMhIHJuPVd1cnplbCBydD0xMTAzNzUwNTgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzcyNDM1OApEYXJrbG9yIG1laW50ZSBzaWNoZXIgbnVyOiAiQWNoIGR1IFNjaG9lbmdlaXN0ISIKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGcm9oZSBXZWlobmFjaHRlbiAoRGFya2xvciwgMjIuIERleiAyMDA0LCAyMjoyODowNyk6Cn4jISBybj1CYW1idWxrbyBydD0xMTAzNzUwODAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwMzcyNDM1OApEYXMgZ2FueiBzaWNoZXIgbmljaCwgYWJlciBlaW4gJy4uLmFuZGUhJyB3YXJzIGF1ZiBqZWRlbiBGYWxsLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyb2hlIFdlaWhuYWNodGVuIChNb250YW51cywgMjMuIERleiAyMDA0LCAwOToyNToyNSk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwMzc0MTQzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDM3MjQzNTgKRHUgbWVpbnN0IGRhcyBCdWNoLCBkYXNzIGF1ZiBQbGF0eiAyIGRlciBUb3BzZWxsZXJsaXN0ZW4gc3RlaHQ/IFVuZCBkYXMgZGllCiJHaWRlb25zIiBpbiBqZWRlIEhvdGVsc2NodWJsYWRlIGxlZ2VuPyBVbmQgdHJvdHpkZW0gZXMgbmljaHQgYXVmIFBsYXR6IDEKYnJpbmdlbiwgd2VpbCBkaWUgRHJ1ZWNrZXJrb2xvbm5lbiB2b24gSUtFQSBlaW5mYWNoIHNjaG5lbGxlciB1bmQgZWZmZWt0aXZlcgp1bmQgZGVyZW4gQmliZWwgZWluZmFjaCBuZXR0ZXIgenUgbGVzZW4gaXN0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyb2hlIFdlaWhuYWNodGVuIChHcmltbWJvcm4sIDIzLiBEZXogMjAwNCwgMTA6NDI6MzYpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwMzc5MDMyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDM3MjQzNTgKU2llIGlzdCBuaWNodCBuZXR0ZXIgenUgbGVzZW4sIHNpZSBoYXQgZWluZmFjaCBudXIgZGllIG1laXN0ZW4gQmlsZGVyLiBVbmQgd2llCmRpZSBaZWl0dW5nIG1pdCBkaWVzZW0gTmFtZW4gc28gc2Nob2VuIGJld2Vpc3QsIGthbm4gbWFuIG1pdCB3ZW5pZyBMZXNlc3RvZmYKdW5kIHZpZWxlbiBCaWxkZXJuIHNlaW5lIEF1ZmxhZ2UgZ2FueiBuZXR0IHN0ZWlnZXJuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcm9oZSBXZWlobmFjaHRlbiAoTW9udGFudXMsIDIzLiBEZXogMjAwNCwgMTA6NTY6MzYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDM3OTQ5NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTAzNzI0MzU4CkltIEdlZ2Vuc2F0eiB6dSBkZXIgWmVpdHVuZyBtaXQgZGVuIGZldHRlbiBCdWNoc3RhYmVuIHJhZWtlbHQgc2ljaCBhYmVyIGF1ZgpkZW0gSUtFQS1LYXRhbG9nIHZvcm5lIGRyYXVmIGtlaW5lIG5hY2t0ZSBGcmF1LgooSWNoIG1vZWNodGUgbmljaHQgd2lzc2VuLCB3aWV2aWVsIHp1c2FldHpsaWNoZSBLdW5kZW4gc2llIGRhbm4gbm9jaApoYWV0dGVuLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3RhdGlvbnNiYXUgKENhdHdlYXpsZSwgMjcuIERleiAyMDA0LCAwOToxMDo1Nyk6Ck1vaW4hCgpIaWVybWl0IGluZm9ybWllcmUgaWNoIG1hbCBnYW56IHVuZ2VuaWVydCBoaWVyaGluLCBkYXNzIGJlaSBVbGl0ZSBkZXIKU3RhdGlvbnNiYXUgaW4gS3VlcnplIGFuZ2VzY2hsb3NzZW4gd2VyZGVuIHNvbGwgdW5kIGVzIGRhbWl0IHdpZWRlcgppbnRlcmVzc2FudCB3ZXJkZW4gZHVlcmZ0ZS4gCgpMZWlkZXIgaGFiZW4gZGllIG1laXN0ZW4gaGllciBqYSB6d2lzY2hlbnplaXRsaWNoIGF1ZmdlZ2ViZW4gOi0vCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdGF0aW9uc2JhdSAoQW5hdG9sLCAyNy4gRGV6IDIwMDQsIDEyOjQxOjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA0MTM1MDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNDEzNTA1NwpEaWUgIkZvZWRlcmF0aW9uIiBoYXQgbm9jaCBnZW5hdSA3IE1pdGdsaWVkZXIuIFdlbm4gRHUgamVtYWxzIGVpbgpCZWlzcGllbCBnZWJyYXVjaHQgaGFldHRlc3QsIHdvIGRlciBFbnR3aWNrbGVyL0FkbWluL01hZ2llciBzZWluCmVpZ2VuZXMgU3BpZWwga2FwdXR0IGJlc3RpbW10IGhhdCAtIGhpZXIgaXN0IGVzLiBFciBoYXQgc2VsYnN0CmRpZSBHcnVuZHJlZ2VsbiB2b20gU3BpZWxsZWl0ZXJkYXNlaW4gbmljaHQgdmVyc3RhbmRlbi4KCkFuYXRvbCAtIGdlbG9lc2NodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzdGF0aW9uc2JhdSAoQ2F0d2VhemxlLCAyNy4gRGV6IDIwMDQsIDEyOjQ2OjAwKToKfiMhIHJuPUFuYXRvbCBydD0xMTA0MTQ3NjcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNDEzNTA1NwpOYSBzYWdlbiB3aXIgbWFsIChmcmV1bmRsaWNoKSwgZXIgaGF0IHZlcmRhbW10IGxhbmdlIGdlYnJhdWNodCwgYmlzIGVyCkFyZ3VtZW50ZW4genVnYWVuZ2xpY2ggd3VyZGUuIERhcyBWZXJsZXJuZGlsZW1tYSBpc3QgamEgcXVhc2kgd2VnZW50c2NoYWVyZnQuIAoKSW1tZXIgZGllc2UgamFtbWVybmRlbiB1bmQgdW5hbnBhc3N1bmdzZmFlaGlnZW4gU3BpZWxlciA6LSkpCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHN0YXRpb25zYmF1IChTaGFrZWRiZWVyLCAyNy4gRGV6IDIwMDQsIDIzOjIxOjU0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA0MTQ3OTYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNDEzNTA1NwpJY2ggd2FyIGVpbmUgV29jaGUgbWl0IDI1NiBQdW5rdGVuIGF1ZiBQbGF0eiAxIGRlciBFaW56ZWxzcGllbGVyd2VydHVuZy4gRGFzCmthbm4gbWFuIG5pY2h0IG1laHIgdG9wZW4uIDotKSBBbHNvOiBXYXMgaXN0IFVsaXRlPwoKU2hha3kgLSBhdWNoIGdlbG9lc2NodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwYXNzb2JqZWt0ZSAuLi4gKEdsb2luc29uLCAzMS4gRGV6IDIwMDQsIDIyOjM1OjAyKToKCltBbGxnZW1laW46QXJrXSB1bmQgZGVua3QgZHJhbiwgd2VyIHp1bGV0enQgaW4gMjAwNCBzdGlyYnQsIGJla29tbXQgZGVuICJkaWUKW0FsbGdlbWVpbjpBcmtdIGhhcmRlc3QiIG9yZGVuIDxGcmUsIDE2OjAzOjU5PgoKLi4uIGFiaGFlbmdlbiEKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwYXNzb2JqZWt0ZSAuLi4gKERhcmtsb3IsIDMxLiBEZXogMjAwNCwgMjM6MzE6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNDUyODkwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDQ1Mjg5MDIKWmFlaGx0IFNlbGJzdG1vcmQgYXVjaD8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYW1iaSAoWm9vaywgIDIuIEphbiAyMDA1LCAxNzoxMDowOCk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwNDY4MjE2NCByZz1wcmFuZ2VyCn4jISB0aWQ9MTEwNDY4MjE2NApHcmF0cywgQmFtYmkhCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGFzc29iamVrdGUgLi4uIChEYXJrbG9yLCAgMi4gSmFuIDIwMDUsIDIzOjExOjE2KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNDUzMjI4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDQ1Mjg5MDIKSGFiIGljaCBnZXdvbm5lbj8gSGFiIGljaCBnZXdvbm5lbj8KCkRhcmtsb3IgKGF1ZiB1bmQgYWIgaHVlcGZlbmQpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc3RhdGlvbnNiYXUgKEhpZ2hsYW5kZXIsICA1LiBKYW4gMjAwNSwgMDg6NDM6MzgpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTA0MTg2MTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNDEzNTA1Nwp3d3cudWxpdGUuZGUgLSBlaW4gQnJvd3NlcnNwaWVsLCBiZWkgZGVtIG1hbiBpbiBBbmxlaG51bmcgYW4gRWxpdGUKZWluIFJhdW1zY2hpZmYgYmVmZWhsaWd0LCBIYW5kZWwgdHJlaWJ0LCBNaXNzaW9uZW4gZXJmdWVsbHQgZXRjLAphbGxlcmRpbmdzIG51ciBkaWUgQmVmZWhsZSBkYXp1IGVydGVpbHQuIERhZnVlciBnaWJ0J3MgekIgdmVyc2NoaWVkZW5lClNjaGlmZmUsIHdvcmF1ZiBtYW4gYmVpIEVsaXRlIGxlaWRlciB2ZXJ6aWNodGVuIG11c3N0ZS4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UgKE1haGFyZXQsICA1LiBKYW4gMjAwNSwgMTA6Mjc6NTYpOgpJY2ggc2l0eiBoaWVyIGdlcmFkZSBiZWkgZWluZXIgVGFzc2UgS2FmZmVlLCBkaWUgaWNoIG1pdCB1bnNlcmVtIG5ldWVuCkVzcHJlc3NvYXV0b21hdGVuIGdlbWFjaHQgaGFiLiAgRGVyIEthZmZlZSBpc3QgZmFzdCBzbyBzdGFyaywgYWxzIGhhZXR0ZQpHbG9pbnNvbiBpaG4gZ2VtYWNodCwgYWJlciBzY2htZWNrdCBsZWNrZXIgLSB1bmQgZGFzIG1pdCBkZXIgVGVjaG5payBrcmllZyBpY2gKc2Nob24gbm9jaCByYXVzLgpKZWRlbmZhbGxzIHdpbGwgaWNoIGRpZSBHZWxlZ2VuaGVpdCBqZXR6dCBudXR6ZW4sIHVtIG1pY2ggYXVjaCBpbSBOYW1lbiBtZWluZXMKR29ldHRlcmdhdHRlbiBiZWkgYWxsZW4gSG9jaHplaXRnZXNjaGVua3NjaGVua2VybiB6dSBiZWRhbmtlLiAgVW5kIEV1Y2ggbWFsCmF1ZiBlaW5lIFRhc3NlIEVzcHJlc3NvIG9kZXIgQ2FwcHVjY2lubyAoZGVuIG11c3MgaWNoIGFiZXIgZGFubiB3aXJrbGljaCBub2NoCnVlYmVuLCBpY2ggaGFiIGJpc2hlciBmYXN0IG5pZSBNaWxjaCBpbSBIYXVzIGdlaGFidCkgZWluenVsYWRlbiAtIGFsc28gZmFsbHMKaWhyIGJpcyBGZWJydWFyIGluIEJlcmxpbiBvZGVyIGFiIGlyZ2VuZHdhbm4gaW0gRmVicnVhciBpbiBEcmVzZGVuIHNlaXQgLQprb21tdCB2b3JiZWkgOm8pCgpNYWhhcmV0ICh1bmQgZGVyIEdvZWdhIGlzdCBNZXNpcmlpIDspICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5rZSAoWm9vaywgIDUuIEphbiAyMDA1LCAxMDoyODo1MCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDQ5MTcyNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA0OTE3Mjc2CmljaCBnbGF1YiwgaWNoIG11c3MgZWggbm9jaCB6dSBlaW5lbSBwcnVlZnVuZ3N0ZXJtaW4gdm9yYmVpa29tbWVuLCBkYSBuZWhtZQppY2ggZGFubiBldHdhaWdlIGJlc3RlY2h1bmdzdmVyc3VjaGUgZ2VybmUgZW50Z2VnZW4uLi4KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UgKEdsb2luc29uLCAgNS4gSmFuIDIwMDUsIDEwOjM2OjU2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNDkxNzI3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDQ5MTcyNzYKQXJnaC4gT2J3b2hsIGRlciBHZXNjaG1hY2sgbWVpbmVzIEthZmZlZW9lbHMga3JpdGlzaWVydCB3aXJkIGtvbW1lIGljaCBnZXJuCnZvcmJlaS4gV2VubiBpaHIgZGVubiBtYWwgaW4gRHJlc2RlbiBzZWlkIHVuZCBuaWNodCBpbW1lciBpbiBCZXJsaW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ViIChab29rLCAgNS4gSmFuIDIwMDUsIDE2OjM2OjI4KToKfiMhIHJuPU11YWRpYiBydD0xMTA0OTM4OTMyIHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTA0OTM4OTMyCjpkYW5rdCBNdWFkaWIgdW5kIEhhdGUuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWIgKERhcmtsb3IsICA1LiBKYW4gMjAwNSwgMTY6NTc6MDMpOgp+IyEgcm49Wm9vayBydD0xMTA0OTM5Mzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNDkzODkzMgpKYSB0b2xsLCBkYW5rZSEgLSBOdXIga2FubiBlcyBzZWluLCBkYXNzIGRpZSBLbGVyaWtlcnNlaXRlIHVlYmVyc2VoZW4gd3VyZGU/ICAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlYiAoTXVhZGliLCAgNS4gSmFuIDIwMDUsIDE2OjU5OjA1KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNDk0MDYyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDQ5Mzg5MzIKZml4ZWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZW5kZW5hdWZydWYgZnVlciBMaXR0bGUgU21pbGUgKFdpZGV3aXR0LCAgNS4gSmFuIDIwMDUsIDIxOjA5OjUyKToKSGFsbG8gWnVzYW1tZW4hCgpJY2ggd29sbHRlIEV1Y2ggYXVmIGVpbiBQcm9qZWt0IGF1Zm1lcmtzYW0gbWFjaGVuLCBkYXMgaWNoIGZ1ZXIgZWluZSBzZWhyIGd1dGUKU2FjaGUgaGFsdC4gRWluIEtpbmRlcmhlaW0gaW4gU3JpIExhbmthLCBkYXMgbmFjaCBkZXIgRmx1dGthdGFzdHJvcGhlIHZvbiA2OAphdWYgNDAwIFBsYWV0emUgYXVzZ2ViYXV0IHdlcmRlbiBzb2xsLiBEYXMgR3V0ZSBkYXJhbiwgZGFzIEdlbGQgZ2VodCBkaXJla3QKb2huZSBWZXJ3YWx0dW5nIGFuIGVpbiBQcm9qZWt0LCBkYXMgbGFuZ2ZyaXN0aWcgd2VpdGVyZ2VmdWVocnQgd2lyZC4gU2NoYXV0IGVzCkV1Y2ggYW4gdW5kIGVudHNjaGVpZGV0IHNlbGJlci4KaHR0cDovL2xpdHRsZXNtaWxlLmRlCkdydXNzIFdpZGV3aXR0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWIgKFdhcmdvbiwgIDguIEphbiAyMDA1LCAxNTo1MDoyOSk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwNDk0MDc0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDQ5Mzg5MzIKVWggb2gsIHdvIHd1cmRlIERJRSBTZWl0ZSAoS2xlcmlrZXJnaWxkZSkgZGVubiBhdXNnZWdyYWJlbj8gIlp1c3RhZW5kaWdlcgpNYWdpZXI6IFdhcmdvbiIgZ2lsdCBqYSBudW4gc2Nob24gc2VpdCBrbmFwcCBzaWViZW4gSmFocmVuIG5pY2h0IG1laHIuLi4gOy0pCgogIC1XYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRldXRzY2hlIE11ZGxpc3RlIChUZWt0dWtvLCAgOC4gSmFuIDIwMDUsIDIwOjE2OjEyKToKSGksIGRhIGphIG11ZC5kZSBuaWNodCBtZWhyIGFrdHVhbGlzaWVydCB3aXJkLCBoYXQgc2ljaCBvZGluQG5vcmRtdWQKZW50c2NobG9zc2VuIHNpZSB3aWVkZXIgYXVmIHNlaW5lciBTZWl0ZSBha3R1ZWxsIHp1IGhhbHRlbi4gQWxsZXJkaW5ncyBudXIKZGV1dHNjaHNwcmFjaGlnZSBNdWRzIGRhIGZ1ZXIgZW5nbGlzY2hzcHJhY2hlIG11ZGNvbm5lY3RvciBhdXNyZWljaGVuZCBpc3QuCgpBbHNvIHdlbm4gaWhyIHdpZWRlciBtYWwgYW5kZXJlIGRldXRzY2hlIE11ZHMgYmVzdWNoZW4gd29sbHQsIHNjaGF1dCBkb2NoCmVpbmZhY2ggbWFsIHZvcmJlaSA6KQoKbm9yZG11ZC5kZS9kbWwvCgpNZmcgVGVrdHVrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3R1ZGllbmdlYnVlaHJlbiAoUmFuZ29ybiwgMTkuIEphbiAyMDA1LCAxMToxNjowNik6Ck1vaW4sCgptYWwgd2VpdGVybGVpdGVuZDoKCkhhbGxvLCBkYXMgVGhlbWEgU3R1ZGllbmdlYnVlaHJlbiBrbG9wZnQgbGF1dHN0YXJrIGFuIGRpZSBUdWVyLgpUYXRzYWVjaGxpY2ggYmVzdGVodCBkaWUgTW9lZ2xpY2hrZWl0LCBkYXNzIGRpZXNlIGZydWVoZXIga29tbWVuIGFscyBnZWRhY2h0LgpEZXN3ZWdlbiBlaWx0IHp1IGZvbGdlbmRlciBIb21lcGFnZSB1bmQgdHJhZ3QgZXVjaCBlaW46Cmh0dHA6Ly93d3cuYXN0YS51bmkta29uc3RhbnouZGUvcGV0aXRpb24vaW5kZXhwZXQuaHRtCgpTY2hpY2t0IGRhcyBEaW5nIGFuIGFsbGUgSG9jaHNjaHVsZW4gdW5kIFN0dWRlbnQvSW5uZW4sIGRpZSBJaHIga2VubnQsIHdlaXRlci4KRXMgZ2VodCBoaWVyIHVtIGRlbiBWZXJzdWNoLCAxLjAwMC4wMDAgU3RpbW1lbiB6dXNhbW1lbnp1a3JpZWdlbiAoZGFzIERpbmcgaXN0CmpldHp0IGJlaSBjYS4gMjc3LjAwMCwgYWxzbyB1ZWJlciAyNSUpIC0gZXMgZ2lidCBkYSBuYWVtbGljaCBlaW5lIEVVClJpY2h0bGluaWUsIHdvbmFjaCBQZXRpdGlvbmVuLCBkaWUgdm9uIHVlYmVyIDEuMDAwLjAwMCBFVSBCdWVyZ2VyL2lubmVuCnVudGVyemVpY2huZXQgd2VyZGVuLCB2b20gR2VzZXR6Z2ViZXIgbmljaHQgdWViZXJnYW5nZW4gIHdlcmRlbiBrb2VubmVuLiBXZWhydApFdWNoLCBlcyBnZWh0IHVtIHVuc2VyIEdlbGQhIFdpciBzaW5kIGRpZSBadWt1bmZ0IGRpZXNlcyBMYW5kZXMhCgpQUy46IFNjaGlja3QgZGllc2UgTWFpbCBiaXR0ZSBhbiBhbmRlcmUgU3R1ZGVudC9pbm5lbiwgc28gZGFzcyBkaWVzZSBhdWNoCmhpZXJ2b24gZXJmYWhyZW4gdW5kIHNpY2ggZWludHJhZ2VuIGtvZW5uZW4uCgotIFJhbmdvcm4gS2h1cidUaWdyZXMgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0dWRpZW5nZWJ1ZWhyZW4gKENhc3NhbmRyYSwgMTkuIEphbiAyMDA1LCAxMToyMTo0OCk6Cn4jISBybj1SYW5nb3JuIHJ0PTExMDYxMjk3NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CmdpYnRzIHp1IGRlciB1bnRlcnNjaHJpZnRlbnNhbW1sdW5nIGF1Y2ggaXJnZW5kd28gbWVociBpbmZvcm1hdGlvbmVuPwpJcmdlbmR3aWUgZmVobHQgbWlyIGRhIG5lIGdlbmF1ZXJlIEVya2xhZXJ1bmcgd29ydW0gZXMgZ2VodC4gR2VnZW4KU3R1ZGllbmdlYnVlaHJlbiBpc3Qga2xhci4gQWJlciB3aWUgZGVmaW5pZXJlbiBkaWUgZGFzLCBtZWluZW4gZGllIGRhcwphbGxnZW1laW4gb2RlciBudXIgZ2VnZW4gc3R1ZGllbmdlYnVlaHJlbiBpbSBlcnN0c3R1ZGl1bT8KTXVlc3NlbiBwZXRpdGlvbmVuIGRhIG5pY2h0IGV0d2FzIG1laHIgc2VpbiBhbHMgbnVyIGVpbiBTYXR6LCBXaXIgc2luZApkYWdlZ2VuPwpTbyBmaW5kZSBpY2ggamVkZW5mYWxscyBuaWNodCBkYXMgZGFzIHNlaHIgc2VyaW9lcyB3aXJrdC4KCkNhc3N5LCBub2NoIFN0dWRlbnRpbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3R1ZGllbmdlYnVlaHJlbiAoWm9vaywgMTkuIEphbiAyMDA1LCAxMToyMzoxOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEwNjEzMDEwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMjk3NjYKRWluZmFjaCBlaW5lIEViZW5lIGhvZWhlciBodWVwZmVuLCBkYSBzdGVodCBub2NoIG1laHIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3R1ZGllbmdlYnVlaHJlbiAoQ2Fzc2FuZHJhLCAxOS4gSmFuIDIwMDUsIDExOjI2OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTEwNjEzMDE5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMjk3NjYKTmV0dGUga29tYmluYXRpb24gdm9uIEZvcmRlcnVuZ2VuLgpMZWlkZXIga2FubiBtYW4gbmljaHQgbnVyIGVpbmVtIFRlaWwgenVzdGltbWVuLgoKQ2Fzc3ksIG5pY2h0IHVudGVyemVpY2huZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkdW5nIChDYXNzYW5kcmEsIDE5LiBKYW4gMjAwNSwgMTE6MzE6MDIpOgpXZW5uIHdpciBoaWVyIHNjaG9uIHZvbiBCaWxkdW5nIHNwcmVjaGVuLCBlaW4gQXVmcnVmIGFuIGFsbGUgZGllIGluClNhY2hzZW4tQW5oYWx0IGdlbWVsZGV0IHNpbmQuCgpHZWh0IG5hZWNoc3RlbiBTb25udGFnIGFic3RpbW1lbi4KQmlsZHVuZyBiZWdpbm50IG5pY2h0IGVyc3QgaW4gZGVyIFVuaSBzb25kZXJuIG1pdCBkZXIgR2VidXJ0LiBBbGxlIEtpbmRlcgpzb2xsdGVuIGhpZXIgZGllIGdsZWljaGVuIFJlY2h0ZSBoYWJlbiB1bmQga2VpbmVyIHNvbGx0ZSBkYWZ1ZXIgYmVzdHJhZnQKd2VyZGVuIGRhcyBzZWluZSBFbHRlcm4gQXJiZWl0c2xvcyBzaW5kLgoKRnVlciBhbGxlIGFuZGVyZW4gc2V0enQgZXVjaCBkYWZ1ZXIgZWluIGRhcyBlcyBhdWNoIGJlaSBldWNoIHp1IGVpbmVyIGJlc3NlcmVuCktpbmRlcmJldHJldXVuZyBrb21tdC4KCkNhc3N5LCBrZWluZSBLaW5kZXIgaGFiZW5kIGFiZXIgZGFmdWVyIHNlaWVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGR1bmcgKE5vbm5lLCAxOS4gSmFuIDIwMDUsIDEyOjE2OjIzKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTA2MTMwNjYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpNbW1oPyBXZW5uIGRpZSBFbHRlcm4gYXJiZWl0c2xvcyBzaW5kLCBoYWJlIHNpZSBkb2NoIHByYWt0aXNjaCBlaW5lCktpbmRlcmJldHJldXVuZyB1bmQgendhciBlaW5lLCB3byBlaW5lIHN0YWF0bGljaCBvcmdhbmlzaWVydGUgc2NobGVjaHQKcmFua29tbWVuIHdpcmQuIEljaCBiaW4gZWhlciBkYWZ1ZXIsIERvcHBlbHZlcmRpZW5lciB6dWd1bnN0ZW4gdm9uCkFyYmVpdHNsb3NlbiB6dXJlY2h0enVzdHV0emVuLCBkYW5uIGlzdCBhdWNoIGVpbmVyIGZ1ZXIgZGllIEtpbmRlciBkYS4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0dWRpZW5nZWJ1ZWhyZW4gKEdsb2luc29uLCAxOS4gSmFuIDIwMDUsIDEyOjIwOjA0KToKfiMhIHJuPVJhbmdvcm4gcnQ9MTEwNjEyOTc2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMjk3NjYKRGllc2UgUmljaHRsaW5pZSBleGlzdGllcnQgKG5vY2g/KSBuaWNodC4gRGFzIGhhYmUgaWNoIGFubm8gTWFpIDIwMDQgZWluc3RtYWxzCnJlY2hlcmNoaWVydCwgYWxzIGRhcyBEaW5nIGRhcyBlcnN0ZSBtYWwgb2huZSBUZXh0IGF1ZmthbSB1bmQgdm9uIGRlciBUVQpCZXJsaW4gYXVjaCBhbHMgSG9heCAoaHR0cDovL3d3dy50dS1iZXJsaW4uZGUvd3d3L3NvZnR3YXJlL2hvYXgvZm9ydW5pLnNodG1sKQphYmdlc3RlbXBlbHQgd3VyZGUuCgpFaW4gemllbWxpY2ggd2ljaHRpZ2VyIFNhdHogZGVuIGljaCBhdWNoIGRhbWFscyBhdWYgdW5zZXJlIExpc3RlIGdlcG9zdGV0CmhhYmU6CiJadWRlbSBpc3QgZGFzIEVpbnRyYWdlbiBlaW5lcyBOYW1lbnMgbmljaHQgYWVxdWl2YWxlbnQgbWl0IGVpbmVyIHJpY2h0aWdlbgpVbnRlcnNjaHJpZnQsIHdhZXJlIGFsc28gc2VsYnN0IGltIEZhbGxlIGRlciBFeGlzdGVueiBkZXIgYW5nZWJsaWNoZW4KRVUtUmljaHRsaW5pZSBiZWxhbmdsb3MuIgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3R1ZGllbmdlYnVlaHJlbiAoR3JpbW1ib3JuLCAxOS4gSmFuIDIwMDUsIDEyOjI0OjEyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDYxMzM2MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkdlbmVyZWxsIGthbm4gbWFuIGFsbGVzLCB3YXMgc2lubmdlbWFlc3Mgc2FndCAic2NoaWNrIGRhcyBhbiBhbGxlIHdlaXRlciwgZGllCkR1IGtlbm5zdCIgdW5nZXNlaGVuIGFscyBzaW5ubG9zIHdlZ3dlcmZlbi4gRGllIFRyZWZmZXJxdW90ZSBpc3QgMTAwJS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkdW5nIChHbG9pbnNvbiwgMTkuIEphbiAyMDA1LCAxMjoyODoxMyk6Cn4jISBybj1Ob25uZSBydD0xMTA2MTMzMzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpCZXdlcmJ1bmdzZ2VzcHJhZWNoOgoKPiBNYWNoZW4gd2lyIGVyc3RtYWwgZWluZW4gVmVydHJhZyB1ZWJlciAxMjAgU3R1bmRlbi4KPiBNb21lbnQsIGljaCBoYWV0dGUgbGllYmVyIG51ciA4MCBTdHVuZGVuIGluIGRlbiBlcnN0ZW4gZHJlaSBNb25hdGVuLAo+IGljaCB3ZWlzcyBuaWNodCBvYiBpY2ggbWVpbiBLaW5kIHNvIHNjaG5lbGwgaW4gZWluZXIgS2l0YSB1bnRlcmJyaW5nZW4KPiBrYW5uLgo+IE51ciA4MCBTdHVuZGVuIC4uLgoKKEF1cyliaWxkdW5nOgoKV2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyZSBpc3QgZGllIEtpdGEgbmljaHQgbnVyIHp1bSBIb3J0ZW4gdm9uIEtpbmRlcm4gZGEsCnNvbmRlcm4gZG9ydCB3aXJkIHNjaG9uIGFuZ2VmYW5nZW4genUgdW50ZXJyaWNodGVuLiBXYXIgenUgbWVpbmVyIFplaXQgc28gbWl0ClphZWhsZW4gdW5kIEJhc3RlbG4gdW5kIHdhc3dlaXNzaWNoLiBWZXJnbGVpY2hlIG1hbCBhdWNoIG1pdCBkZW4gImNvbGVzCm1hdGVybmVsbGVzIiBpbiBGcmFua3JlaWNoLCBkYXMgc29sbHRlIFZvcmJpbGQgc2VpbiwgZGllIE1vZWdsaWNoa2VpdCB6dXIKR3J1cHBlbmtpbmRlcmJldHJldXVuZyB0YWdzdWViZXIgYWIgZGVtIGRyaXR0ZW4gTGViZW5zamFoci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkdW5nIChOb25uZSwgMTkuIEphbiAyMDA1LCAxMjozNDoyMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2MTM0MDkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpFcyBnaWJ0IGluIGRlbiBuZXVlbiBCdW5kZXNsYWVuZGVybiBtZWhyIEtpbmRlcmdhcnRlbnBsYWV0emUgcHJvIEtpbmQgYWxzIGVzCmplbWFscyBpbiBkZW4gYWx0ZW4gQnVuZGVzbGFlbmRlcm4gZ2FiLiBTaWNoZXIgZ2lidCBlcyByZWdpb25hbCBpcmdlbmR3bwp6dXdlbmlnLCBhYmVyIHdlbm4gaWNoIGRpZSBEaXNrdXNzaW9uZW4genUgZGVtIFRoZW1hIHZlcmZvbGdlIGdlaHQgZXMgaW1tZXIgdW0KS2luZCB1bmQgS2FycmllcmUsIGFsc28gZW50d2VkZXIgQWxsZWluZXJ6aWVoZW5kLCB3byBpY2ggZGFzIG5vY2ggdmVyc3RlaGVuCmthbm4sIG9kZXIgRG9wcGVsdmVyZGllbmVyLCB3byBpY2ggZGVua2UsIGRhcyBtdXNzIG5pY2h0IHNlaW4sIGRhIGthbm4gZXJzdG1hbAplaW4gQXJiZWl0c2xvc2VyIGVpbmUgSm9iIGtyaWVnZW4sIGRlciBlaW5lIEZhbWlsaWUgenUgZXJuYWVocmVuIGhhdC4gTmVpbiwKZGFzIGlzdCBrZWluIEF1ZnJ1ZiB6dSAnRnJhdWVuIGFuIGRlbiBIZXJkJywgYXVjaCBkZXIgTWFubiBrb2VubnRlIHp1aGF1c2UKYmxlaWJlbi4gSWNoIGJpbiBkZXIgTWVpbnVuZywgZGFzcyBlaW4gS2luZCBzZWluZSBFbHRlcm4gYnJhdWNodCB1bmQgZGFzIG1hbgpzZWluZSBLYXJyaWVyZS1QbGFudW5nIHVlYmVyZGVua2VuIHNvbGx0ZSwgd2VubiBtYW4gc2ljaCBmdWVyIGVpbiBLaW5kCmVudHNjaGVpZGV0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWxkdW5nIChHbG9pbnNvbiwgMTkuIEphbiAyMDA1LCAxMjozNzo0MSk6Cn4jISBybj1Ob25uZSBydD0xMTA2MTM0NDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJY2ggZmluZGUgZGFzIGVpbiBLaW5kIGFiIGVpbmVtIGdld2lzc2VuIEFsdGVyLCBkcmVpIEphaHJlIHRyaWZmdCBlcyBkYSBnYW56Cmd1dCwgbGFuZ3NhbSBtYWwgbWVociBHZXNlbGxzY2hhZnQgYWxzIHNlaW5lIEVsdGVybiBicmF1Y2h0IHVtIGRhbm4gYXVjaCBpbgpkaWVzZXIgR2VzZWxsc2NoYWZ0IG1hbCB6dXJlY2h0enVrb21tZW4uIFVuZCBkYSBkaWUgU3BpZWxwbGFldHplIG5vdG9yaXNjaApsZWVyIHNpbmQgZmluZGUgaWNoIGRpZSBLaVRhcyBnYW56IGd1dCBkYWZ1ZXIuIEFiZXIgaWNoIHdlaXNzIGphLCBkYXNzIGluCldlc3RkZXV0c2NobGFuZCBkaWUgRWx0ZXJuIG5vdG9yaXNjaCBkYXp1IHRlbmRpZXJlbiBpaHJlIEtpbmRlciBiaXMgenVtIDYuCkxlYmVuc2phaHIgbWl0IHNpY2ggc2VsYnN0IHp1IGVyZHJ1ZWNrZW4uIERhcyBLaW5kIGtvZW5udGUgamEgb2huZSBlaW5lbgpNb21lbnQgQXVmc2ljaHQgdG90IHVtZmFsbGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbGR1bmcgKEdyaW1tYm9ybiwgMTkuIEphbiAyMDA1LCAxMjozODoyNSk6Cn4jISBybj1Ob25uZSBydD0xMTA2MTM0NDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpQcmltYSBWb3JzY2hsYWcsIHVudGVyc3R1ZXR6ZSBpY2guIEthbm5zdCBEdSBiaXR0ZSBub2NobWFsIGViZW4gZXJsYWV1dGVybiB3aWUKbWFuIGFscyBFaW56ZWxoYW5kZWxza2F1Zm1hbm4vZnJhdSBtaXQgZWluZW0gR2VoYWx0IHZvbiAxNTAwIEVVUiBicnV0dG8gZWluZQp2aWVya29lcGZpZ2UgRmFtaWxpZSB2ZXJzb3JndD8gRGFzIHN0ZWxsZSBpY2ggbWlyIGRhbm4gZG9jaCBldHdhLi4uIHNwb3J0bGljaAp2b3IuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbGR1bmcgKFpvb2ssIDE5LiBKYW4gMjAwNSwgMTI6NDI6NDUpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjEzNDQ2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRHUgd2lsbHN0IGRlbiBMZXV0ZW4gaWhyZSBFcndlcmJzbmVpZ3VuZyB2b3JzY2hyZWliZW4/IE5hLCBkYW5uIGdlaCBtYWwgCmluIGRpZSBOZXVlbiBMYWVuZGVyIHVuZCBzcHJpY2ggbWl0IGRlbiBGcmF1ZW4gZG9ydC4gCgpJY2ggaGFsdGUgZGFzIG5vcm1hdGl2IGZ1ZXIgZnJhZ3d1ZXJkaWcuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmlsZHVuZyAoTm9ubmUsIDE5LiBKYW4gMjAwNSwgMTI6NDI6NTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDYxMzQ3MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCldpZSBlcm5hZWhydCBkZW5uIGVpbiBhcmJlaXRzbG9zZXIgRXgtRWluemVsaGFuZGVsc2thdWZtYW5uLCBkZXNzZW4gSm9iIGpldHp0CmplbWFuZCBoYXQsIGRlc3NlbiBQYXJ0bmVyIEZpbGlhbGxlaXRlckluIGlzdCwgZWluZSB2aWVya29lcGZpZ2UgRmFtaWxpZQplcm5hZWhydD8gSXN0IHNjaG9ubWFsIGplbWFuZGVtIGF1ZmdlZmFsbGVuLCBkYXNzIGVzIGluIERldXRzY2hsYW5kIG5pY2h0CmdlbnVnIGFyYmVpdCBmdWVyIGplZGVuIEVyd2FjaHNlbmVuIGdpYnQ/CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJpbGR1bmcgKFpvb2ssIDE5LiBKYW4gMjAwNSwgMTI6NDM6NDkpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjEzNDk3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGllc2UgYWJlciBtaXQgZGVyIG5vcm1hdGl2ZW4gRm9yZGVydW5nLCBFcnppZWhlbmRlIHNvbGx0ZW4gaWhyZSAKRXJ3ZXJic25laWd1bmcgdW50ZXJkcnVlY2tlbiwgenUgcmVndWxpZXJlbiwgaGFsdGUgaWNoLCB3aWUgc2Nob24KZ2VzY2hyaWViZW4sIGZ1ZXIgZnJhZ3d1ZXJkaWcuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQmlsZHVuZyAoR3JpbW1ib3JuLCAxOS4gSmFuIDIwMDUsIDEyOjQ5OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTEwNjEzNTAyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSWNoIGZpbmRlIGVzIGplZGVuZmFsbHMgc2VociBlZGVsIHVuZCB6dSB3dWVyZGlnZW4sIGRhc3MgTm9ubmUgYmVyZWl0IGlzdCwKc2ljaCBmcmVpd2lsbGlnIGlucyBFbGVuZCB6dSBzdHVlcnplbiwgdW0gamVtYW5kZW4sIGRlciB1bmZyZWl3aWxsaWcgaW0gRWxlbmQKaXN0LCB6dSBoZWxmZW4uIEh1dCBhYiEKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMjIgKFJhbmdvcm4sIDE5LiBKYW4gMjAwNSwgMTQ6MDQ6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDYxMzM4NTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkRhcnVtIGhhYiBpY2ggZXMgamEgYXVjaCBudXIgZWluIGVpbnppZ2VzIG1hbCBpbiBkaWUgbXBhIGdlcG9zdGV0LiBEYWNodGUgbWlyLApoaWVyIHNjaGFkZXQgZGFzIG5pY2h0LiBCZWltIG5hZWNoc3RlbiBNYWwgc3RlbGwgaWNoIHNvd2FzIHVudGVyIHNjaG1hcnJuCnJlaW4uIFZlcnNwcm9jaGVuLgpBYmdlc2VoZW4gZGF2b24gLi4uIGRpZSBCZXRyZWliZXIgZGVyIFNlaXRlIHdlaXNlbiBzZWxiZXIgYXVmIGRpZQpFcmtla2VubnRuaXNzZSBoaW4sIGRpZSBoaWVyIHNjaG9uIGdldHJvZmZlbiB3dXJkZW4uIEVzIGlzdCBsZWRpZ2xpY2ggZWluCl9WZXJzdWNoXyAuLi4gbmllbWFuZCBtdXNzIGF1ZiBlaW4gcGFhciBiZXRyb2ZmZW5lIFN0dWRpZXMgaG9lcmVuLiBBYmVyIHdlcgpzY2h3ZWlndCwgYWVuZGVydCBlcnN0IHJlY2h0IG5peC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdHVkaWVuZ2VidWVocmVuIChWYW5pb24sIDE5LiBKYW4gMjAwNSwgMjE6MTQ6MjEpOgp+IyEgcm49UmFuZ29ybiBydD0xMTA2MTI5NzY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEyOTc2Ngo6emFobHQgc2VpdCBzY2hvbiBzZWl0ICduZW0gSmFoci4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCaWxkdW5nIChCYW1iaSwgMTkuIEphbiAyMDA1LCAyMToyNzowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2MTM0NjYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgo+IGRhc3MgaW4gV2VzdGRldXRzY2hsYW5kIGRpZSBFbHRlcm4gbm90b3Jpc2NoIGRhenUgdGVuZGllcmVuCj4gaWhyZSBLaW5kZXIgYmlzIHp1bSA2LjtMZWJlbnNqYWhyIG1pdCBzaWNoIHNlbGJzdCB6dSBlcmRydWVja2VuLgpXbyBoYXN0IER1IGVpZ2VudGxpY2ggZGllc2VuIFNjaHdhY2hzaW5uIGhlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJpbGR1bmcgKEdsb2luc29uLCAxOS4gSmFuIDIwMDUsIDIyOjMxOjUwKToKfiMhIHJuPUJhbWJpIHJ0PTExMDYxNjY0Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkFyYmVpdHN6YWhsZW4sIEtpdGF6YWhsZW4uIE51biBrYW5uIG1hbiBkYXJ1ZWJlciBzdHJlaXRlbiBvYiBkaWUgRnJhdWVuIGluCldlc3RkZXV0c2NobGFuZCBlaGVyIHp1IEhhdXNlIGJsaWViZW4gd2VpbCBzaWUga2VpbmVuIEtpdGFwbGF0eiBiZWthbWVuIG9kZXIKb2IgZXMga2VpbmUgS2l0YXBsYWV0emUgZ2lidCwgd2VpbCBkYXMgZ2VzZWxsc2NoYWZ0bGljaGUgQmlsZCBkZXIgRnJhdWVuIGRpZXNlCmVoZXIgYW0gSGVyZCBzYWguCgpHZW5hdSBoYWIgaWNoIGVzIGF1cyBlaW5lbSBsYWVuZ2VyZW4gQXJ0aWtlbCwgUXVlbGxlIG1pciBlbnRmYWxsZW4sIHp1bQpWZXJnbGVpY2ggRnJhbmtyZWljaCB1bmQgRGV1dHNjaGxhbmQgaW4gU2FjaGVuIEtpbmRlcmVyemllaHVuZy4KClBTOiBOaWNodCB6dSB2ZXJnZXNzZW4gZGllIHN1Ympla3RpdmUgVW50ZXJzdHVldHp1bmcgZGllc2VyIEFuc2ljaHQgZHVyY2ggZGllCkJla2FubnRzY2hhZnQgbWl0IHZpZXIgd2VzdGRldXRzY2hlbiBNdWV0dGVybiBtaXQgRGF1ZXJ1cmxhdWIgYmlzIG1pbmRlc3RlbnMKdW5kIHVlYmVyIEFsdGVyIDYgZGVyIEtpbmRlciB1bmQgZGllIFByYWVndW5nIGR1cmNoIGRpZSBlaWdlbmUsCnNlY2hzamFocmZyZWl3aWxsaWdtdXR0ZXJ1cmxhdWJzZnJlaWUgS2luZGhlaXQKVW5kIHdlaWwgaWNoIGRlbiBBcnRpa2VsIGdlcmFkZSBzbyBzY2hvZW4gbmV1IHZlcmZhc3NlIGthbm4gaWNoIHp1cgpTdWJqZWt0aXZpdGFldCBub2NoIGRpZSB6d2VpIE11ZXR0ZXIgbWVpbmVzIG9zdGRldXRzY2hlbiBCZWthbm50ZW5rcmVpc2VzCmFkZGllcmVuLCBiZWlkZSB0cm90eiBLaW5kIGFiIE1vbmF0IDEyIHdpZWRlciB3ZXJrdGFldGlnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3R1ZGllbmdlYnVlaHJlbiAoQm9pbmcsIDE5LiBKYW4gMjAwNSwgMjI6NTQ6NDUpOgp+IyEgcm49VmFuaW9uIHJ0PTExMDYxNjU2NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkluIEJXIGdpYnRzIHNjaG9uIHNlaXQgMTk5NyAob2RlciBzbyBhZWhubGljaCkgU3R1ZGllbmdlYnVlaHJlbiAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3R1ZGllbmdlYnVlaHJlbiAoVmFuaW9uLCAxOS4gSmFuIDIwMDUsIDIzOjAwOjQ5KToKfiMhIHJuPUJvaW5nIHJ0PTExMDYxNzE2ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkplcCwgaW4gTlJXIGZ1ZXIgTGFuZ3plaXRzdHVkZW50ZW4vWndlaXRzdHVkaWVyZW5kZSBzZWl0IGVpbmVtIEphaHIuIEljaCB6YWhsZQpwcm8gU2VtZXN0ZXIgaW4gSGFnZW4gc28gdW0gdW5kIGJlaSA1MDAgRXVyby4gQWxzIFRlaWx6ZWl0LVN0dWRlbnQuIFZvbGx6ZWl0Cnd1ZXJkIGljaCBhdWYgendpc2NoZW4gODAwIHVuZCAxMDAwIEV1cm8ga29tbWVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN0dWRpZW5nZWJ1ZWhyZW4gKE1lZGljLCAyMC4gSmFuIDIwMDUsIDAwOjQxOjQ3KToKfiMhIHJuPVZhbmlvbiBydD0xMTA2MTcyMDQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEyOTc2NgpJbiBkZXIgYWt0dWVsbGVuIERlYmF0dGUgZ2VodCBlcyBhYmVyIGphIG51biB1bSBTdHVkaWVuZ2VidWVocmVuIGZ1ZXIgZGFzCkVzcnRzdHVkaXVtLiBTdHVkaWVuZ2VidWVocmVuIGZ1ZXIgZGFzIFp3ZWl0LSBvZHIgTGFtZ3plaXRzdHVkaXVtIHNpbmQgamEgbnVuCm1pdHRsZXJ3ZWlsZSAoZmFzdCkgZmxhZWNoZW5kZWNrZW5kIGVpbmdlZnVlaHJ0LiBHZXN0ZXJuIG1pdHRhZyBnYWIgZXMgZGF6dSBpbgpkZXIgU2VuZHVuZyAiU2thbGEiIGVpbiBJbnRlcnZpZXcgbWl0IGRlciBuZXVlbiBWb3JzaXR6ZW5kZW4gZGVyIEtNSyBhdWYgV0RSNSwKd2VuIGRhcyBpbnRlcmVzc2llcnQsIGRlciBmaW5kZXQgc2ljaGVyIGF1Y2ggZGVuIEF1ZGlvc3RyZWFtIGF1ZiBkZXIgSG9tZXBhZ2UKd3d3LndkcjUuZGUKCkdydXNzLApNZWRpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU3R1ZGllbmdlYnVlaHJlbiAoVmVjdG9yLCAyMC4gSmFuIDIwMDUsIDA4OjE0OjQ3KToKfiMhIHJuPVZhbmlvbiBydD0xMTA2MTcyMDQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEyOTc2NgpodWh1LAoKa2FubnN0ZSBtYWwgZGVuIHVudGVyc2NoaWVkIHppc2NoZW4gdGVpbC0gdW5kIHZvbGx6ZWl0c3R1ZGVudAplcmxhZXV0ZXJuPyB3dWVyZGUgbWljaCBpbnRlcmVzc2llcmVuLCBoYWJlIGFiIGRpZXNlciBydWVja21lbGR1bmcKYXVjaCA1MDAgZXVybyBleHRyYSBwcm8gc2VtZXN0ZXIgenUgYmxlY2hlbiA6PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQmlsZHVuZyAoS2Vzc2EsIDIwLiBKYW4gMjAwNSwgMDk6MTc6NTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjE3MDMxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKPiBVbmQgd2VpbCBpY2ggZGVuIEFydGlrZWwgZ2VyYWRlIHNvIHNjaG9lbiBuZXUgdmVyZmFzc2Uga2FubiBpY2ggenVyCj4gU3ViamVrdGl2aXRhZXQgbm9jaCBkaWUgendlaSBNdWV0dGVyIG1laW5lcyBvc3RkZXV0c2NoZW4gQmVrYW5udGVua3JlaXNlcwo+IGFkZGllcmVuLCBiZWlkZSB0cm90eiBLaW5kIGFiIE1vbmF0IDEyIHdpZWRlciB3ZXJrdGFldGlnLgoKRGFubiBtdXNzIHNpY2ggZWJlbiBqZW1hbmQgYW5kZXJzIHVtIGRpZSBLaW5kZXIga3VlbW1lcm4sIGRlcgpCZXRyZXV1bmdzYXVmd2FuZCAoamEsIHNjaHJlY2tsaWNoZXMgV29ydCkgZmFlbGx0IGRhZHVyY2ggbmljaHQgd2VnLCBkZXIgd2lyZApkYW5uIGViZW4gdm9uIGZyZW1kZW4gTGV1dGVuIGdlbGVpc3RldC4gV2FzIGlzdCBkYWJlaSBkZXIgR2V3aW5uLCBhdXNzZXIgZGFzcwpkaWUgTXV0dGVyIChiencuIGRlciBWYXRlcikgd2llZGVyIGVyd2VyYnN0YWV0aWcgc2VpbiBrYW5uLCB3ZWlsIHNpZSBuaWNodCBhdXMKaWhyZXIgS2FycmllcmUgaGVyYXVzZmFsbGVuIHdpbGwgb2Rlci91bmQgd2VpbCBkaWUgR2VzZWxsc2NoYWZ0IG51ciBiZXphaGx0ZQpUYWV0aWdrZWl0IGFscyB3ZXJ0dm9sbGUgVGFldGlna2VpdCBhbnNpZWh0PyBEZW4gR2V3aW5uIGZ1ZXIgZGllIEtpbmRlcgp6d2VpZmxlIGljaCBzdGFyayBhbi4gVW5kIGRpZSBnYW56dGFlZ2lnZSBHZWdlbndhcnQgZGVyIEVsdGVybiB1ZWJlciBkYXMgZXJzdGUKTGViZW5zamFociBoaW5hdXMgcGF1c2NoYWwgYWxzICdFcmRydWVja2VuJyBhYnp1dHVuLi4uIER1IG11c3N0IG5lIGtvbWlzY2hlCktpbmRoZWl0IGdlaGFidCBoYWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCaWxkdW5nIChab29rLCAyMC4gSmFuIDIwMDUsIDA5OjU4OjM4KToKfiMhIHJuPUtlc3NhIHJ0PTExMDYyMDkwNzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkthbm5zdCBEdSBEZWluZSBad2VpZmVsIGFtIEdld2lubiBmdWVyIGRpZSBLaW5kZXIgYmVncnVlbmRlbj8gVW5kIGluIHdlbGNoZW0KWnVzYW1tZW5oYW5nIHN0ZWh0IEdsb2luc29ucyBNZWludW5nIG1pdCBzZWluZXIgZWlnZW5lbiBLaW5kaGVpdD8gRGFzIGthbm4KaWNoIHdlZGVyIGF1cyBzZWluZW0gbm9jaCBhdXMgRGVpbmVtIFBvc3Rpbmcgc28gcmVjaHQgaGVyYXVzbGVzZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQmlsZHVuZyAoTm9ubmUsIDIwLiBKYW4gMjAwNSwgMTA6MTI6NDApOgp+IyEgcm49Wm9vayBydD0xMTA2MjExNTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJY2ggZW1wZmluZGUgZWluZSBCZXRyZXV1bmcgZHVyY2ggZWluZSBWZXJ0cmF1ZW5zcGVyc29uIGluIGRlbiBlcnN0ZW4gZHJlaQpKYWhyZW4gYWxzIGFic29sdXQgbm90d2VuZGlnLiBJbiBkZW4gZXJzdGVuIGRyZWkgSmFocmVuIHNpbmQgS2luZGVyIG5pY2h0CmZhZWhpZyBtaXRlaW5hbmRlciB6dSBzcGllbGVuIG9kZXIgc296aWFsZSBLb250YWt0ZSB6dSBwZmxlZ2VuLiBTaWUgc3BpZWxlbgp2aWVsbGVpY2h0IGltIGdsZWljaGVuIFJhdW0sIGFiZXIgbmljaHQgbWl0ZWluYW5kZXIuIERlciBHZXdpbm4gZHVyY2ggS29udGFrZQp6dSBHbGVpY2hhbHRyaWdlbiB0ZW5kaWVydCBhbHNvIGdlZ2VuIE51bGwuIEFsbGVyZGluZ3MgaXN0IGRhIGRpZQptZWhyc3R1ZW5kaWdlIFRyZW5udW5nIHZvbiBkZXIgVmVydHJhdWVuc3BlcnNvbi4gRGFtaXQgbWVpbmUgaWNoIGtlaW5lIFBlcnNvbiwKZGVyIG1hbiBtYWwgd2FzIGFudmVydHJhdXQsIHNvbmRlcm4gaWNoIHJlZGUgdm9uIFVydmVydHJhdWVuLiBLaW5kZXIsIGRpZQpzb2xjaCBlaW4gVXJ2ZXJ0cmF1ZW4gbmljaHQgYXVmYmF1ZW4ga29lbm5lbiwgc2luZCBlaW4gbGViZW5sYW5nIGdlc2NoYWVkaWd0LAptYW4gZGVua2Ugei5CLiBhbiBLaW5kZXIsIGRpZSB2b24gbmFoZW4gVmVyd2FuZHRlbiBtaXNicmF1Y2h0IHdlcmRlbi4gV2VubiBlaW4KS2luZCBzbyBlaW4gVXJ2ZXJ0cmF1ZW4gbmljaHQgYXVmYmF1ZW4ga2FubiwgaGF0IGVzIHNlaW4gTGViZW4gbGFuZyBlaW4KUHJvYmxlbSwgYXVjaCB3ZW5uIGVzIGRhcyB2aWVsbGVpY2h0IHNlbGJzdCBuaWNodCBiZW1lcmt0LCBlcyBrZW5udCBqYSBuaWNodAphbmRlcmVzLiBKZXR6dCBzb2xsdGUgc2ljaCBlaW4gRWx0ZXJudGVpbCBmcmFnZW4sIG9iIGVzIHdpcmtsaWNoIG5vdHdlbmRpZwppc3QsIGVpbiBwYWFyIEV1cm8gaW4gU3RldWVya2xhc3NlIDUgenUgdmVyZGllbmVuLCBkaWUgZGFubiBnbGVpY2ggd2llZGVyIGFuCmRpZSBUYWdlc211dHRlciB3YW5kZXJuIG9kZXIgb2IgbWFuIGRlbSBLaW5kIHp1IGVpbmVtIGd1dGVuIFN0YXJ0IGlucyBMZWJlbgp2ZXJoaWxmdC4gRGllIE1lbnNjaGVuIGluIHVuc2VyZW0gTGFuZCBzb2xsdGVuIHNpY2ggZnJhZ2VuLCBvYiBkYXMgJ1p1aGF1c2UKYmxlaWJlbicgdW5kIEhhdXNtYW5uL2ZyYXUgdW5kIFZhdGVyL011dHRlciB6dSBzZWluLCB3aXJrbGljaCBzbyB3ZW5pZwpob25vcmllcnQgd2VyZGVuIHNvbGx0ZS4KCkJ0dywgd2llc28gd2lyZCBlaW5lIEhlaXJhdCBzdGV1ZXJsaWNoIHNvIGJlZ3VlbnN0aWd0LCB3byBlcyB1bnMgZG9jaCBhbgpLaW5kZXJuIHVuZCBuaWNodCBhbiBHZXNjaGllZGVuZW4gZmVobHQ/CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJpbGR1bmcgKEtlc3NhLCAyMC4gSmFuIDIwMDUsIDEwOjE2OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTEwNjIxMTUxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKWnUgRGVpbmVyIGVyc3RlbiBGcmFnZTogV2FzIHNvbGxlbiBlaW5qYWVocmlnZSBLaW5kZXIgaW4gZWluZXIKQmV0cmV1dW5nc3NhbW1lbHN0ZWxsZT8gRGEga2FubiBtYW4gbmljaHQgdmllbCBtZWhyIHR1biBhbHMgc2llIGlyZ2VuZHdpZQonYXVmenViZXdhaHJlbicuIFNwaWVsZW4gdHVuIHNpZSBpbiBfZGVtXyBBbHRlciBub2NoIHNvIGd1dCB3aWUgbmljaHQKbWl0ZWluYW5kZXIgLSBzcGFldGVyIG5hdHVlcmxpY2gsIHVuZCBnZWdlbiBLaW5kZXJnYWVydGVuIGhhYiBpY2ggZ2V3aXNzCm5pY2h0cyBlaW56dXdlbmRlbi4gQWJlciBFaW5qYWVocmlnZS4uLiBJY2ggc2VoZSBnZXJhZGUsIE5vbm5lIGhhdCBkYXMgZ2VyYWRlCnNjaG9uIGF1c2Z1ZWhybGljaGVyIHVuZCBiZXNzZXIgZXJrbGFlcnQuIEhpbnp1ZnVlZ2VuIGtvZW5udGUgbWFuIG5vY2gsIGRhc3MKa2xlaW5lIEtpbmRlciB2b3IgYWxsZW0gZHVyY2ggTmFjaGFobXVuZyBsZXJuZW4uIERhaGVyIGRlbmtlIGljaCwgZGFzcyBlcwpzaW5udm9sbCBpc3QsIHdlbm4gc2llIGVpbmUgcnVoaWdlLCB2b24gVmVydHJhdWVuIGdlcHJhZWd0ZSB1bmQgenVnbGVpY2ggZGllCk5hY2hhaG11bmcgaW4gX3Npbm52b2xsZXJfIFdlaXNlIGFucmVnZW5kZSBVbWdlYnVuZyBoYWJlbi4gRGFmdWVyIGlzdCBlaW4KRWx0ZXJuaGF1cyBiZXN0ZW5zIGdlZWlnbmV0LCBkZW5rZSBpY2gsIHVuZCBlYmVuIC0gTXV0dGVyIG9kZXIgVmF0ZXIgc2luZAplaW5mYWNoIHdhcyBhbmRlcmVzIGFscyBmcmVtZGVzIEJldHJldXVuZ3NwZXJzb25hbC4KClp1ciB6d2VpdGVuIEZyYWdlOiBEYXMgZW50bmFobSBpY2ggR2xvaW5zb25zIFBTIGluIHNlaW5lbSBBcnRpa2VsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCaWxkdW5nIChCYW1idWxrbywgMjAuIEphbiAyMDA1LCAxMDoxNzowMyk6Cn4jISBybj1Ob25uZSBydD0xMTA2MjEyMzYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpBbHNvIHNleHVlbGxlbiBNaXNzYnJhdWNoIG1pdCBlaW5lciBLaW5kZXJrcmlwcGUgenUgdmVyZ2xlaWNoZW4sIGlzdCBzY2hvbgpldHdhcyBnZXdhZ3QuIAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCaWxkdW5nIChLZXNzYSwgMjAuIEphbiAyMDA1LCAxMDoxOTo1OSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTA2MjEyNjIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEYXMgaGF0IE5vbm5lIG5pY2h0IGdldGFuLCBzb25kZXJuIGRhcmF1ZiBoaW5nZXdpZXNlbiwgd2llIHdpY2h0aWcgZGFzClVydmVydHJhdWVuIGlzdCwgZGFzIG1hbiBlYmVuIGthdW0genUgbWVociBvZGVyIHdlbmlnZXIgYW5vbnltZW4sIHdlY2hzZWxuZGVuCmZyZW1kZW4gQmV0cmV1dW5nc3BlcnNvbmVuIGF1ZmJhdWVuIGthbm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEJpbGR1bmcgKE5vbm5lLCAyMC4gSmFuIDIwMDUsIDEwOjIxOjE3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDYyMTI2MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkVzIGdpbmcgbWlyIGRhYmVpIHVtIGVpbmUgVmVyZGV1dGxpY2h1bmcgZGVyIFNpdHVhdGlvbiB1bmQgZGFiZWkgZ3JpZmYgaWNoIHp1bQpTdGlsbWl0dGVsIGRlciBVZWJlcnRyZWlidW5nLiBFcyBnZWh0IGRhcnVtLCBVcnZlcnRyYXVlbiB6dSB2ZXJsaWVyZW4gYnp3Cm5pY2h0IGluIGRlciBVbWdlYnVuZyBhdWZ6dXdhY2hzZW4sIHdvIG1hbiBzbyBldHdhcyB1ZWJlcmhhdXB0IGF1ZmJhdWVuIGthbm4uCkluc29mZXJuIGlzdCBkYXMgc2Nob24gdmVyZ2xlaWNoYmFyLCB3ZW5uIGF1Y2ggaW4gZGVuIEF1c3dpcmt1bmdlbiBhdWYgZGFzCnNwYWV0ZXJlIExlYmVuIGRlciBNaXNzYnJhdWNoIHNpY2hlcmxpY2ggZHJhc3Rpc2NoZXJlIEF1c3dpcmt1bmdlbiBoYXQuIERpZQpGYWVoaWdrZWl0LCB0aWVmZXJlIEJlemllaHVuZ2VuIHp1IGtudWVwZmVuIGlzdCBhYmVyIGluIGJlaWRlbiBGYWVsbGVuCmdlc3RvZXJ0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogQmlsZHVuZyAoQmFtYnVsa28sIDIwLiBKYW4gMjAwNSwgMTA6MjU6NDUpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjIxMjg3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKR2lidCBlcyBpcmdlbmR3ZWxjaGUgc2VyaW9lc2VuIHdpc3NlbnNjaGFmdGxpY2hlbiBFcmtlbm50aXNzZSwgZGllIGRlaW5lCkF1c3NhZ2UgYmVzdGFldGlnZW4uIEljaCBrZW5uZSBnZW51ZWdlbmQgQmVpc3BpZWxlIGluIG1laW5lbSBCZWthbm50ZW5rcmVpcywKZGllIGRlaW5lIFRoZXNlIHdpZGVybGVnZW4uCkVpbmUgSGF1c2ZyYXUvbWFubiwgZGllIGRlbiBnYW56ZW4gVGFnIHp1IEhhdXNlIGlzdCwgc2ljaCBhYmVyIG5pY2h0IHVtIGRhcwpLaW5kIGt1ZW1tZXJ0IGlzdCBtaXQgU2ljaGVyaGVpdCBzY2hsZWNodGVyIGZ1ZXIgZGFzIEtpbmQgYWxzIGVpbmUgYXJiZWl0ZW5kZQpNdXR0ZXIsIGRpZSBzaWNoIGluIGRlciByZXN0bGljaGVuIFplaXQgc2VociB2aWVsIG1pdCBkZW0gS2luZCBiZXNjaGFlZnRpZ3QuCkVpbmVuIHdpc3NlbnNjaGFmdGxpY2hlbiBCZXdlaXMgZGFmdWVyIGhhYmUgaWNoIGFiZXIgbmljaHQuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEJpbGR1bmcgKE5vbm5lLCAyMC4gSmFuIDIwMDUsIDEwOjI5OjQ4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDYyMTMxNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCldlbm4gaWNoIGRhdm9uIHNwcmVjaGUsIGRhc3MgZWluIEVsdGVybnRlaWwgZGVtIEtpbmQgenVsaWViZSB6dWhhdXNlIGJsZWlidCwKZ2VoZSBpY2ggZGFiZWkgc3RpbGxzY2h3ZWlnZW5kIGRhdm9uIGF1cywgZGFzcyBlcyBzaWNoIGF1Y2ggdW0gZGFzIEtpbmQKa3VlbW1lcnQuIE5hdHVlcmxpY2ggZ2lidCBlcyBhbmRlcmUgRmFlbGxlLCB2aWVsbGVpY2h0IHNpbmQgZGllIGF1Y2ggaW4gZGVyCk1laHJ6YWhsLiBBYmVyIHdlbm4gc2ljaCBqZW1hbmQgenVoYXVzZSBuaWNodCBkcnVtIGt1ZW1tZXJ0LCB0dXQgZXIgZXMgZGFubiwKd2VubiBlciBub2NoIDhoIGFyYmVpdGV0ICsgRmFocnplaXQsIHdpZXZpZWwgU3R1bmRlbiBhbSBUYWcgaXN0IHNvIGVpbiBLaW5kCndhY2ggdW5kIHdpZXZpZWwgWmVpdCBibGVpYnQgZGFubiBub2NoLCB1bSBlaW5lIGdlc3VuZGUgRWx0ZXJuLUtpbmQtQmV6aWVodW5nCmF1Znp1YmF1ZW4/IERlbmtzdCBkdSwgZXMgcmVpY2h0IGVpbmUgU3R1bmRlIGFtIFRhZyB1bmQgYW0gV29jaGVuZW5kZSB3aWxsIG1hbgpqYSBhdWNoIG1hbCBhdXNzcGFubmVuPyEKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEJpbGR1bmcgKFpvb2ssIDIwLiBKYW4gMjAwNSwgMTA6MzQ6MDApOgp+IyEgcm49S2Vzc2EgcnQ9MTEwNjIxMjYxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQWgsIGRhcyBzcGFldGVyIGhpbnp1Z2VmdWVndGUgUFMuIERhcyBoYWIgaWNoIHNvIGdhciBuaWNodCBnZWxlc2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBCaWxkdW5nIChab29rLCAyMC4gSmFuIDIwMDUsIDEwOjQwOjU5KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDYyMTMxNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClRqYSwgbWl0IGFuZWt0ZG90aXNjaGVyIEV2aWRlbnoga2FubiBqZWRlciBhdWZ3YXJ0ZW4sIHp1bWluZGVzdCBhdXMgc2VpbmVyCmVpZ2VuZW4gS2luZGhlaXQuLi4uIGFiZXIgb2IgZGFzIG1hbCBnZW51ZWdlbiBzb2xsLi4uIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEJpbGR1bmcgKEphbWVzb24sIDIwLiBKYW4gMjAwNSwgMTA6NDE6MzcpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEwNjIxMzE0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGFzIHNlaCBpY2ggYWJlciB2b2VsbGlnIGFuZGVycy4gTWFsIGRhdm9uIGFiZ2VzZWhlbiwgZGFzcyBkYXMgS2luZCBkYW5uIHZvbgpqZW1hbmQgYW5kZXJzIGJldHJldXQgd2lyZCwgYWJlciBlYmVuIG5pY2h0IHZvbSBlaWdlbmVuIEVsdGVybnRlaWwsIHdpbGxzdCBEdQphbHNvIGVpbiBLaW5kIGRhcmFuIGdld29laG5lbiwgZGFzcyBzZWluZSBFbHRlcm4gbWFsIGlyZ2VuZHdhbm4genUgZGVuClRhZ2VzcmFuZHplaXRlbiB6d2VpIGRyZWkgU3R1bmRlbiBaZWl0IG1pdCBpaG0gdmVyYnJpbmdlbj8gRWluIEtpbmQgYnJhdWNodAphYmVyIHNlaW5lKG4pIE11dHRlci9WYXRlciBkYW5uLCB3ZW5uIGVzIEJlZHVlcmZuaXNzZSBoYXQsIHVuZCBkaWUgdHJldGVuCmltbWVyIG1hbCB3aWVkZXIgYXVmIHVuZCBuaWNodCBwbGFuYmFyLiBEYXMgaXN0IG51ciByZWFsaXNpZXJiYXIsIHdlbm4gbWFuCnNlaW5lIEFyYmVpdCBtYWwgdW50ZXJicmVjaGVuIGthbm4sIGFsc28gaW4gZGVyIE5hZWhlIGlzdC4KU2VpZCBtYWwgZWhybGljaDogV2VtIHZvbiBldWNoIHdhciBlcyBlZ2FsLCBkYXNzIGV1cmUgRWx0ZXJuIHRhZ3N1ZWJlciB3ZWcKd2FyZW4/IERhcyBpc3Qgc2Nob24gYWxzIEtpbmRlcmdhcnRlbi0gdW5kIFNjaHVsa2luZCBuaWNodCBwcmlja2VsbmQsIHVuZCBmdWVyCmVpbiBCYWJ5IHVuZCBLbGVpbmtpbmQgZXJzdCByZWNodCBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBCaWxkdW5nIChEYXJrbG9yLCAyMC4gSmFuIDIwMDUsIDEyOjA5OjU2KToKfiMhIHJuPUphbWVzb24gcnQ9MTEwNjIxNDA5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSnVuZ2UsIGp1bmdlIGhhYmVuIGVpbmlnZSBoaWVyIG5vY2ggbWVya3d1ZXJkaWdlIHJ1ZWNrc3RhZW5kaWdlIEFuc2ljaHRlbi4uLiAtCmFiZXIgZGFzcyBtdXNzIGhhbHQgamVkZXIgZnVlciBzaWNoIGVudHNjaGVpZGVuLi4uIC0gdW5kIGR1IHdpbGxzdCBlY2h0IHZvbgphbGxlaW5lcnppZWhlbmRlbiBFbHRlcm4gdmVybGFuZ2VuLCBkYXNzIHNpZSBlaW5lbiBKb2IgYXVmZ2ViZW4gc29sbGVuLCB1bQpzaWNoIHVtIGlociBLaW5kIHp1IGt1ZW1tZXJuPyAtIGdhbnogc2Nob2VuIGtyYXNzLi4uIAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEJpbGR1bmcgKEtlc3NhLCAyMC4gSmFuIDIwMDUsIDEyOjE0OjQxKToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNjIxOTM5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKUnVlY2tzdGFlbmRpZyBpc3QsIHdlciBzaWNoIGxpZWJlciBzZWxiZXIgdW0gc2VpbmUgS2luZGVyIGt1ZW1tZXJ0LCBhbHMgc2llCnp1ciBCZXRyZXV1bmcgd2VnenVnZWJlbj8KCktlc3NhLCB2ZXJsYW5ndCBkYXMgdm9uIG5pZW1hbmQsIGFiZXIgaGF0IHNpY2ggc28gZW50c2NoaWVkZW4gdW5kIGRhcyBuaWNodApiZXJldXQsIGF1Y2ggd2VubnMgYXVmIEtvc3RlbiBkZXIgS2FycmllcmUgdW5kIG5lciB0b2xsZW4gUmVudGUgZ2luZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogQmlsZHVuZyAoQ2F0d2VhemxlLCAyMC4gSmFuIDIwMDUsIDEzOjE1OjU3KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNjIxOTM5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVXBzYSwgamV0enQgd2lyZHMgbWlyIGF1Y2ggbXVsbWlnLgoKS2FubnN0IGR1IG1pciBub2NobWFsIGdlbmF1ZXIgZXJrbGFlcmVuLCB3YXMgZHUgZnVlciBydWVja3N0YWVuZGlnIGhhZWx0c3Q/CgpWb24gQWxsZWluZXJ6aWVoZXJuIGhhdCBiaXNoZXIgbmllbWFuZCBnZXJlZGV0LCBvZGVyPyBEYXNzIGRpZSBvaG5lIEtpVGEgbmljaHQKYXVza29tbWVuLCBkdWVyZnRlIHdvaGwga2xhciBzZWluLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBCaWxkdW5nIChab29rLCAyMC4gSmFuIDIwMDUsIDEzOjIxOjM1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA2MjIzMzU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpKYSwgenVtIEpvZiBub2NobWFsLiBJc3QgZGVubiBoaWVyIGtlaW5lciBkaWVzZXIgYXJiZWl0c2xvc2VuIChTb3ppYWwtKQpQYWVkYWdvZ2VuLCBkaWUgdW5zIGRhcyBtYWwgd2lzc2Vuc2NoYWZ0bGljaCBmdW5kaWVydCBlcmxhZXV0ZXJuIGtvZW5uZW4/CgpBYmVyIGRhbm4gcmVpaGUgaWNoIG1pY2ggbWFsIGluIGRpZSBWZXJtdXR1bmdlbiBlaW46IFRhZXVzY2h0IGVzLCBvZGVyIHdhcmVuCmRpZSAiU3lzdGVtZSIgZGVyIEtpbmRlcmVyemllaHVuZyBpbiBkZW4gbGV0enRlbiAzMC00MCBKYWhyZW4gendpc2NoZW4KV2VzdC0gdW5kIE9zdGRldXRzY2hsYW5kIHVudGVyc2NoaWVkbGljaD8gKFN0YWVya2VyZSBIb3J0LUJldHJldXVuZyBpbSAKT3N0ZW4sIGhvaGUgRXJ3ZXJic25laWd1bmcgZGVyIEZyYXVlbiBldGMuKSBXYWVyZSBudW4gZGFzIGVpbmUgc2NoYWVkbGljaGVyCmZ1ZXIgZGFzIEtpbmQgYWxzIGRhcyBhbmRlcmUsIG11ZXNzdGUgc2ljaCBkYXMgZG9jaCBhbiBkZXV0bGljaCB1bnRlcnNjaGVpZC0KYmFyZW4gQXR0cmlidXRlbiBkZXIgaGV1dGUgRXJ3YWNoc2VuZW4gV2Vzc2lzIHVuZCBPc3NpcyBhYmxlc2VuIGxhc3Nlbiwgb2Rlcj8KTWFjaHQgZGEgamVtYW5kIHdhcyBhdXMsIHdhcyBzaWNoIGRhcmF1ZiB6dXJ1ZWNrZnVlaHJlbiBsYWVzc3Q/IFVuZCB6d2FyCm1laHIgYWxzIGRhcyAiSWNoIGtlbm4gZGEgZWluIHBhYXIgZG9vZmUgV2Vzc2lzLCB3ZWlhLCBzaW5kIGRpZSB2ZXJoYWV0LQpzY2hlbHQiPyBGYWxscyBuaWNodCwga29lbm50ZSBlcyBuaWNodCBzZWluLCBkYXNzIGRpZSB2ZXJzY2hpZWRlbmVuIApTeXN0ZW1lICJmdW5rdGlvbmFsZSBBZXF1aXZhbGVudGUiICh1bSBlcyBtYWwgc3lzdGVtdGhlb3JldGlzY2ggYXVzenVkcnVlY2tlbikKZGFyc3RlbGxlbj8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEJpbGR1bmcgKEhvYm8sIDIwLiBKYW4gMjAwNSwgMTM6Mjk6MzYpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjIxMjM2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQWxzbyBpbiB1bnNlcmVtIEZhbGwgZmluZGV0IFp3ZXJnIGRhcyBzY2hvbiB0b2xsLCBtaXQgYW5kZXJlbiBLaW5kZXJuIHp1CnNwaWVsZW4uIFVuZCBvYiBkYXMgbnVuIG1pdCBNYW1hcyBpc3Qgb2RlciBtaXQgTWljaGkgKGRlciBFcnppZWhlcmluKSBpc3QKVU5TRVJFTSB6aWVtbGljaCBlZ2FsIChiZWlkZSBqZSBlaW5tYWwgZGllIFdvY2hlKSAtIEljaCBiaW4gZ2VybmUgYmVpIG1laW5lbgpLaW5kZXJuLCBzZWhlIGF1Y2ggbmljaHQgZWluLCB3YXJ1bSBpY2ggYW5kZXJlIExldXRlIG1laW5lIEtpbmRlciBncm9zcyB6aWVoZW4KbGFzc2VuIHNvbGx0ZSAoZGFmdWVyIG1hY2h0IGVzIHp1IHZpZWwgU3Bhc3MgOykpIC0gYWJlciBtYW5jaG1hbCB3dWVuc2NoZSBpY2gKbWlyIGF1Y2ggc28gZWluIHBhYXIgU3R1bmRlbiBhdXNzZXJoYWxiIG1pdCBBcmJlaXQuIE1pdCBBcmJlaXQsIGRpZSBtYW4gZWlubWFsCm1hY2h0LCB1bmQgZGllIGRhbm4gZ2V0YW4gaXN0LCB1bmQgbmljaHQgd2VsY2hlciwgZGllIG1hbiBpbW1lcmltbWVyIHdpZWRlcgptYWNodC4KRXMgZ2lidCBkYXMgRXh0cmVtIGluIGJlaWRlbiBSaWNodHVuZ2VuOiBEaWUsIGRpZSAzIFRhZ2UgbmFjaCBkZXIgR2VidXJ0CndpZWRlciBhcmJlaXRlbiB1bmQgaWhyIEtpbmQgdm9uIEF1UGFpcnMgZ3Jvc3MgemllaGVuIGxhc3Nlbi4gVW5kIGRpZSwgZGllIDE4CkphaHJlIGxhbmcgZGFoZWltIGJsZWliZW4sIGlocmUgS2luZGVyIHZlcmhhZXRzY2hlbG4gdW5kIG5pY2h0IGVyemllaGVuLiBVbmQKaW4gZGVyIE1pdHRlIGdpYnQgZXMgZWluZW4gSGF1ZmVuIGdhbmdiYXJlciBXZWdlLCBkaWUgd29obCBhbGxlIGZ1ZXJzIEtpbmQKdW5zY2hhZWRsaWNoIHNpbmQgOikgCgogICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEJpbGR1bmcgKE5vbm5lLCAyMC4gSmFuIDIwMDUsIDEzOjQ4OjQ3KToKfiMhIHJuPUhvYm8gcnQ9MTEwNjIyNDE3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSWNoIGhhYmUgZG9jaCBnYXIgbmljaHRzIGdlZ2VuIEtpbmRlcmdhZXJ0ZW4gb2RlciBLaXRhcy4gQWIgY2EuIDMgSmFocmVuIGhhdAplaW4gS2luZCBkaWUgc296aWFsa29tcGV0ZW56LCB1bSBpbiBlaW5lciBHcnVwcGUgenUgc3BpZWxlbiB1bmQgYXVjaCBzb3ppYWxlCkJpbmR1bmdlbiB6dSBrbnVlcGZlbi4gVm9yaGVyIGlzdCBlcyBlaWdlbnRsaWNoIG51ciBkaWUgQmFuZGUgenUgZGVuIEVsdGVybiwKZGllIGVyc3RtYWwgZ2VrbnVlcGZ0IHdlcmRlbiBtdXNzLiBJY2ggaGFiZSBhdWNoIG5pY2h0cyBnZWdlbiBqZW1hbmQsIGRlcgpzZWluZSBLaW5kZXIgYWIgdW5kIHp1IG1hbCBuZSBTdHVuZGUgdm9uIGplbWFuZCBhbmRlcmVtIGJlYXVmc2ljaHRpZ2VuIGxhZXNzdC4KSWNoIGZpbmRlIG51ciBkZW4gUnVmIG5hY2ggbWVociBLbGVpbmtpbmRiZXRyZXV1bmcgdWViZXJ0cmllYmVuLCBkYW1pdCBqZWRlcwpFbHRlcm50ZWlsIDEwIFN0dW5kZW4gbmFjaCBkZXIgR2VidXJ0IHdpZWRlciBhbSBBcmJlaXRzcGxhdHogZXJzY2hlaW5lbiBrYW5uLgpJY2ggZGVua2UsIGVpbiBLaW5kIGJyYXVjaHQgZ2VyYWRlIGluIGRlbiBlcnN0ZW4gZHJlaSBKYWhyZW4gc2VpbmUgRWx0ZXJuIG1laHIKYWxzIGRpZSBTdHVuZGUgQWJlbmRzLCB3ZW5uIEVsdGVyIGdlc3RyZXNzZWQgdm9uIGRlciBBcmJlaXQga29tbXQgYmlzIEtpbmQgaW5zCkJldHRjaGVuIG11c3MuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBCaWxkdW5nIChIb2JvLCAyMC4gSmFuIDIwMDUsIDEzOjU1OjA1KToKfiMhIHJuPU5vbm5lIHJ0PTExMDYyMjUzMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkp1cHAsIGZhc3QgcmljaHRpZy4gV29iZWkgdW5zZXJlIEtsZWluZW4gc2VpdCBlaW5lbSBKYWhyIG1pdGVpbmFuZGVyIHNwaWVsZW4KdW5kIGluendpc2NoZW4gKGVzIHNpbmQgZmFzdCBhbGxlIGluendpc2NoZW4gendlaSkgc2Nob24gZGV1dGxpY2hlIFZvcmxpZWJlbgpmdWVyIGJlc3RpbW10ZSBLaW5kZXIgYXVzZ2VwcmFlZ3Qgc2luZC4gVW5kIHNpZSBzcGllbGVuIHNlaHIgd29obCBtaXRlaW5hbmRlci4KS2xhciwgZnVlciBnYW56dGFncyB3YWVyIGRhcyB2ZXJtdXRsaWNoIGF1Y2ggbmljaHRzLCBhYmVyIEJhbmRlIGtudWVwZmVuIGRpZQpzZWhyIHdvaGwgenUgYW5kZXJlbiBNZW5zY2hlbiwgYXVjaCBLaW5kZXJuLiBVbmQgZXMgZ2lidCBpbW1lcmhpbiBhdWNoIG5vY2gKZGllIE1vZWdsaWNoa2VpdCwgbmljaHQgZ2xlaWNoIDQwIFN0dW5kZW4genUgYXJiZWl0ZW4gOykKCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxkdW5nIChEZWVwYmx1ZSwgMjAuIEphbiAyMDA1LCAxNDowNjozNCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEwNjEzMDY2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2FzIG1pY2ggYmVpIGRlciBnYW56ZW4gRGlza3Vzc2lvbiB1bSBLaW5kZXJnYXJ0ZW5wbGFldHplIHN0b2VydDoKV2llc28gc3R1ZXR6dCBkZXIgU3RhYXQgKGlua2wgS29tbXVuZW4gZXRjKSBodW5kZXJ0ZSBFaW56ZWxtYXNzbmFobWVuIHVuZApzY2hyYWVua3QgZGllIGRhbm4gd2VnZW4gZ2VsZG1hbmdlbCBlaW4/IFdhZXJlIGVzIG5pY2h0IHNpbm52b2xsZXIsIGRhcwpLaW5kZXJnZWxkIHp1IGVyaG9laGVuIHVuZCBkYWZ1ZXIgRGllbnN0bGVpc3R1bmdlbiBydW5kIHVtcyBLaW5kIGtvc3RlbmRlY2tlbmQKYW56dWJpZXRlbj8KRGllcyB3dWVyZGUgZGllIENoYW5jZW4gYWx0ZXJuYXRpdmVyIEJldHJldXVuZ3Ntb2VnbGljaGtlaXRlbiAob2dhbCBvYgpXYWxkb3JmLUtpbmRlcmdhcnRlbiwgVGFnZXNtdXR0ZXIgb2RlciBCZXRyaWVic2tpbmRlcmdhcnRlbiBtaXQKMy1TY2hpY2h0LUJldHJpZWIpIGRldXRsaWNoIGVyaG9laGVuIHVuZCB3ZXIgYWxzIEVsdGVyIGRhcyBLaW5kIHNlbGJzdApiZXRyZXVlbiB3aWxsLCBoYXQgZGFzIEdlbGQgaGFsdCB6dXIgZWlnZW5lbiBWZXJmdWVndW5nIChhbHMgQXVzZ2xlaWNoIGZ1ZXJzCmZlaGxlbmRlIEFyYmVpdHNlaW5rb21tZW4pCk51ciBtYWwgYWxzIERlbmthbnNhdHosIHZpZWwgc3Bhc3MgYmVpbSB2ZXJyZWlzc2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJpbGR1bmcgKEhvYm8sIDIwLiBKYW4gMjAwNSwgMTQ6MTY6NDApOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwNjIyNjM5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2FzIGdpYnQncyBkYSB6dSB2ZXJyZWlzc2VuPwoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkdW5nIChEYXJrbG9yLCAyMC4gSmFuIDIwMDUsIDE1OjAzOjQ2KToKfiMhIHJuPUhvYm8gcnQ9MTEwNjIyNzAwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRG9wcGVsdGUgQXVzZ2FiZW4gZnVlciBkaWUgS2luZGVyYmV0cmV1bmc/IC0gRGFmdWVyIHdpcnN0IGR1IHdvaGwgaW4gZGVyClJlZ2llcnVuZyBuaWVtYW5kZW4gZmluZGVuLCBkZXIgZGFzcyBkdXJjaGRydWVja2VuIGtvZW5udGUuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBCaWxkdW5nIChHbG9pbnNvbiwgMjAuIEphbiAyMDA1LCAyMzo0NDo0NSk6Cn4jISBybj1ab29rIHJ0PTExMDYyMjM2OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkJpc2hlciBoYWJlIGljaCBrZWluZSBVbnRlcnNjaGllZGUgYmVpbSBUb2VwZmNoZW5nZWhlbiB6d2lzY2hlbgpXZXNzaXNlc3NlbHB1cHNlcm4gdW5kIHNjaGx1ZXNzZWxraW5kbGljaGVuIFRvZXBmY2hlbnNvbGRhdGVuIGZlc3RzdGVsbGVuCmtvZW5uZW4sIGJpcyBhdWYgVmFuaW9ucyBLbG9zcGFubmVyZWllbiAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogQmlsZHVuZyAoVHVyYm8sIDIwLiBKYW4gMjAwNSwgMjM6NTA6MTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjI2MTA4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRXJ6YWVobCBtZWhyIHVlYmVyIGRpZSBLbG9zcGFubmVyZWllbiAuLiBJY2ggZGFjaHRlLCBkaWUgVG9lcGZjaGVuc29sZGF0ZW4Kd2VyZGVuIGFsbGUgenUgcmVjaHRzcmFkaWthbGVuIEdld2FsdHZlcmJyZWNoZXJuLiBEYSBzdGFuZCBtYWwgd2FzIGltIApTcGllZ2VsIC4uCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdHVkaWVuZ2VidWVocmVuIChWYW5pb24sIDIxLiBKYW4gMjAwNSwgMjE6NTM6NDYpOgp+IyEgcm49VmVjdG9yIHJ0PTExMDYyMDUyODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkFuIGRlciBGZXJudW5pIEhhZ2VuIGthbm4gbWFuIFRlaWx6ZWl0IHN0dWRpZXJlbi4gRGFiZWkgd2lyZCBhbmdlbm9tbWVuLCBkYXNzCmVpbiBiZXJ1ZnN0YWV0aWdlciBTdHVkZW50IGtlaW4gVm9sbHplaXRzdHVkaXVtIG5lYmVuaGVyIG1hY2hlbiBrYW5uLiBEYWhlcgp3aXJkIGRpZSBMYXN0IGhhbGJpZXJ0IChhbHNvIGRpZSBBbnphaGwgU1dTKSAtIGVzIGdlbHRlbiBlbnRzcHJlY2hlbmRlClN0dWRpZW5tb2RlbGxlLiBHbGVpY2h6ZWl0aWcgd2lyZCBkaWUgUmVnZWxzdHVkaWVuemVpdCB2ZXJkb3BwZWx0LiBVbmQKbmViZW5iZWkgYXVjaCBkaWUgU3R1ZGllbmdlYnVlaHJlbiBoYWxiaWVydC4gSWNoIHdlaXNzIGVocmxpY2ggZ2VzYWd0IG5pY2h0LAp3ZWxjaGUgTmFjaHRlaWxlIHNpY2ggZGFyYXVzIGVyZ2ViZW4gLi4uIEljaCB2ZXJtdXRlIGFiZXIsIGRhc3MgZGFzIG5pY2h0IGplZGUKVW5pIGFuYmlldGV0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZHVuZyAoR3JhbGtvciwgMjIuIEphbiAyMDA1LCAxMTo0ODo0OSk6Cn4jISBybj1Ob25uZSBydD0xMTA2MTMzMzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpuZWluLCBLaW5kZXIgd2VyZGVuLCB3ZW5uIHNpZSBpbiBlaW5lciBHcnVwcGUgc2luZCwgYmVzc2VyIGVyem9nZW4sIHdlaWwgc2llCnNvemlhbGlzZXJ0IHdlcmRlbi4KU2llIGxlcm5lbiBtaXQgS29uZmxpa3RlbiB1bXp1Z2VoZW4sIGRpZSBLaW5kZXIsIGRpZSBudXIgenUgSGF1c2UgZXJ6b2dlbgp3ZXJkZW4sIG5pY2h0IGhhYmVuLgpJaHIgSW1tdW5zeXN0ZW0gd2lyZCBha3RpdmllcnQuCldhcyBuaWNodCBoZWlzc2VuIHNvbGwsIGRhc3MgS2luZGVyLCBkaWUgdm9uIGlocmVuIEVsdGVybiBlcnpvZ2VuIHdlcmRlbiwKc2NobGVjaHQgZXJ6b2dlbiB3ZXJkZW4uCkRpZSBNaXNjaHVuZyBtYWNodHMuClVuZCB3ZW5uIGhhbGJ0YWdzIGlzdC4KQVVzc2VyZGVtIHdlcmRlbiBzaWUgaW50ZWxsaWdlbnRlciwgd2VpbCBzaWUgZGlza3V0aWVyZW4gbGVybmVuLgpXZW5uIER1IFp3aWxsaW5nZSBoYXN0LCBpc3QgZGFzIGF1Y2ggbnVyIGVpbiBFcnNhdHosIGFiZXIgYmVzc2VyIGFscwpFaW56ZWxraW5kLgoKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN0dWRpZW5nZWJ1ZWhyZW4gKFpvb2ssIDIyLiBKYW4gMjAwNSwgMTU6NTc6MTcpOgp+IyEgcm49VmFuaW9uIHJ0PTExMDYzNDA4MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTI5NzY2CkluIEhlc3NlbiBnaWJ0IGVzIGdsYXViZSBpY2ggZnVlciBhbGxlIEhvY2hzY2h1bGVuIGRlcyBMYW5kZXMgZWluZW4KQW5zcHJ1Y2ggZGVyIFN0dWRpZXJlbmRlbiBhdWYgVGVpbHplaXRzdHVkaXVtOyB3aWUgZGFzIGdlbmF1IGF1c3NjaGF1dCwKd2Vpc3MgaWNoIG5pY2h0Li4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmlsZHVuZyAoQW5hdG9sLCAyMy4gSmFuIDIwMDUsIDE5OjQ2OjExKToKfiMhIHJuPUdyYWxrb3IgcnQ9MTEwNjM5MDkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2FlciBuZXR0LCB3ZW5uIHN0YXR0IGJsYSB1bmQgZmFzZWwgbWFsIGplbWFuZCBldHdhcyBkYXp1IHNhZ2VuCmtvZW5udGUsIGRlciBzaWNoIGRpZXNiZXp1ZWdsaWNoIHdpcmtsaWNoIHNjaGxhdSBnZW1hY2h0IGhhdC4KRXJ6aWVoZXJpbm5lbiBhbndlc2VuZD8gS2luZGVyLS9KdWdlbmRwc3ljaG9sb2dlbj8KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbGR1bmcgKEtlc3NhLCAyMy4gSmFuIDIwMDUsIDE5OjU1OjAzKToKfiMhIHJuPUFuYXRvbCBydD0xMTA2NTA1OTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpFbHRlcm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmlsZHVuZyAoR2xvaW5zb24sIDIzLiBKYW4gMjAwNSwgMTk6NTc6NTcpOgp+IyEgcm49S2Vzc2EgcnQ9MTEwNjUwNjUwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGllIG1lcmtlbiBlcnN0IG5hY2ggZWluIGJpcyB6d2VpIEphaHJ6ZWhudGVuLCB3aWUgZ3V0IGRhcyB3aXJrbGljaCBnZWtsYXBwdApoYXQsIHdlbm4gdWViZXJoYXVwdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCaWxkdW5nIChBbGtvaG9sLCAyMy4gSmFuIDIwMDUsIDE5OjU5OjA3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY1MDY2Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmRhZnVlciBtZXJrZW4gbWFuY2hlIGVyemllaGVyIGVzIG5pZSwgZGFzcyBkaWUgbWV0aG9kZSwgYW4gZGllIHNpZSBnbGF1YmVuLApuaXggaXN0LCBzaWUgc2VoZW4gZGllIGtpbmRlciBqYSBkYW5uIG5pY2h0IG1laHIgd2VubiBkaWUgYWVsdGVyIHNpbmQKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJpbGR1bmcgKEdsb2luc29uLCAyMy4gSmFuIDIwMDUsIDIwOjAwOjI5KToKfiMhIHJuPUFsa29ob2wgcnQ9MTEwNjUwNjc0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKWnVtaW5kZXN0IGJlc3NlcmUgTGVocmVyIHZlcmxpZXJlbiBpaHJlIFNjaHVlbGVyIGJ6dy4gZGllc2Ugc2llIG5pZSBhdXMgZGVuCkF1Z2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJpbGR1bmcgKEFsa29ob2wsIDIzLiBKYW4gMjAwNSwgMjA6MDI6NDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjUwNjgyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKZ2VyYWRlIGJlaSBkZXIgU2NodWxhdXNiaWxkdW5nIGlzdCBkZXJhcnRpZyB2aWVsIElkZW9sb2dpZSBkcmluLCBkYSBmYWVsbHQgbWlyCnNjaHdlciB6dSBnYWxhdWJlbiwgZGFzcyBkaWUgYXVjaCBtYWwgZGllIFJlc3VsdGF0ZSBiZXVydGVpbGVuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCaWxkdW5nIChLZXNzYSwgMjMuIEphbiAyMDA1LCAyMDowNDoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTA2Njc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpNZWluIEFlbHRlc3RlciBpc3QgMTQuIEdlc3RhdHRlc3QgZHUgbWlyLCB6dW1pbmRlc3QgenUgZmFzdCAzLzQgbWl0cmVkZW4genUKZHVlcmZlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBCaWxkdW5nIChHbG9pbnNvbiwgMjMuIEphbiAyMDA1LCAyMDowNTowMik6Cn4jISBybj1LZXNzYSBydD0xMTA2NTA3MDYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpXYXMgaWNoIGdlc3RhdHRlIGlzdCBlZ2FsLiBXb2xsdGVzdCBkdSBlaWdlbnRsaWNoIHdhcyBzY2hyZWliZW4gb2RlciBudXIKc2NocmVpYmVuIGRhc3MgZHUgbWl0c2NocmVpYmVuIGtvZW5udGVzdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCaWxkdW5nIChLZXNzYSwgMjMuIEphbiAyMDA1LCAyMDowNjoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTA3MTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJY2ggaGFiZSBzY2hvbiBlaW5pZ2VzIGdlc2FndCwgZGFzIGFiZXIgbWl0IGRlbSBBcmd1bWVudCAnSWhyIGhhYnQgamEgZWgga2VpbmUKQWhudW5nJyAob2RlciBhZWhubGljaCkgZGlzcXVhbGlmaXppZXJ0IHd1cmRlLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBCaWxkdW5nIChIdW1uaSwgMjMuIEphbiAyMDA1LCAyMDoxMjowMCk6Cn4jISBybj1LZXNzYSBydD0xMTA2NTA3MTgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpBaGEuIEljaCBoYWJlIGRlcnplaXQgY2EuIDE1MCBTY2h1ZWxlci4gVmVycmF0ZXQgbWlyIGJpdHRlLCB3aWUgaWNoIGRpZSBuaWUKYXVzIGRlbiBBdWdlbiB2ZXJsaWVyZW4gc29sbC4uLiB6dW1hbCBpY2ggc3BhZXRlciBqYSBuaWNodCBkYXp1IGRhIGJpbiwgZGEKbm9jaCB3ZWl0ZXIgbmFjaCB6dSBndWNrZW4uCgpWb24gd2VuaWdlbiBBdXNuYWhtZW4gYWJnZXNlaGVuICh1bmQgZGFzIHNpbmQgZGFubiB3b2hsIG9mdCBkaWUsIGRpZSBkYXMgYWxsZXMKZ3V0IGhpbmtyaWVnZW4pIHNpZWh0IG1hbiB2b24gU2NodWVsZXJuIG5pY2h0cyBtZWhyLCBzb2JhbGQgZGllIHZvbiBkZXIgU2NodWxlCndlZyBzaW5kLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCaWxkdW5nIChIdW1uaSwgMjMuIEphbiAyMDA1LCAyMDoxMjoyNCk6Cn4jISBybj1IdW1uaSBydD0xMTA2NTA3NTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpQUzogQXJ0aWtlbCBpbiBtZWdhc2NobWFycm4tVHJhZGl0aW9uIGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJpbGR1bmcgKEdsb2luc29uLCAyMy4gSmFuIDIwMDUsIDIwOjEyOjQyKToKfiMhIHJuPUtlc3NhIHJ0PTExMDY1MDcxODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClNlaHIgcG9sZW1pc2NoZSBBZWhubGljaGtlaXRlbi4KClRhdHNhY2hsaWNoIGlzdCBkYXMgQXJndW1lbnQgIndlbm4gaWNoIG5pY2h0IGJldHJldWUsIGFsc28gZGFzIEtpbmQgd2VnZ2ViZQptdXNzIGphIGplbWFuZCBhbmRlcmVzIHNpY2ggdW0gZGFzIEtpbmQga3VlbW1lcm4gdW5kIGJlaWRlIGhhYmVuIGtlaW5lbgpWb3J0ZWlsIGRhdm9uIiBldHdhcyB6dSB2ZXJlaW5mYWNoZW5kIGluIGVpbmVyIFplaXQgZGVyIFNwZXppYWxpc2llcnVuZzogV2VubgpkdSBkYXMgS2luZCBpbiBoaW5yZWljaGVuZCBmYWVoaWdlIEhhZW5kZSBnaWJzdCB1bSBkZWluZW0KbmljaHRraW5kZXJlcnppZWh1bmdzYWVobmxpY2hlbiBCZXJ1ZnNpbnRlcmVzc2UgenUgZm9sZ2VuIHJlaWNodCBkYXMgZXJzdG1hbApkaXIgdW5kIGRhbWl0IGF1Y2ggZGVtIEtpbmQgenVndXRlIChIYXVzbXVldHRlcmVsdGVybiBzaW5kIGd1dGUgVm9yYmlsZGVyIHZvbgpTZWxic3RzdGFlbmRpZ2tlaXQpLiBVbmQgd2VubiBkYXMgS2luZCBkdXJjaCBkYXMgV2VnZ2ViZW4gdW50ZXIgYW5kZXJlIEtpbmRlcgprb21tdCwgd2llIGVzIHNlaXQgdXJhbHRlbiBaZWl0ZW4gdWVibGljaCB3YXIgdW5kIGVyc3QgaGV1dHp1dGFnZSBzaWNoCmdlYWVuZGVydCBoYXQsIHJlaWNodCBkYXMgSU1ITyBkZW0gS2luZCBlYmVuZmFsbHMgenVndXRlLiBXYXMgYWJlciBub2NoCnNvemlvbG9naXNjaCBiZXVydGVpbHQgd2VyZGVuIHNvbGx0ZSwgZGEgaWNoIGVudHdlZGVyIEJsYSBvZGVyIEZhc2VsIGhlaXNzZSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCaWxkdW5nIChHbG9pbnNvbiwgMjMuIEphbiAyMDA1LCAyMDoxNDoxOCk6Cn4jISBybj1IdW1uaSBydD0xMTA2NTA3NTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpBbGxlIHdlcmRlbiBkaWNoIG5pY2h0IGludGVyZXNzaWVyZW4sIGljaCBrZW5uZSBhYmVyIG1pbmRlc3RlbnMgZWluZW4sIGRlciBkaXIKc3BhZXRlciB2aWVsbGVpY2h0IGF1Y2ggbWFsIGF1ZiBkZXIgU3RyYXNzZSBHdXRlbiBUYWcgc2FndCB1bmQgZGlyIGVyemFlaGx0CndhcyBhdXMgaWhtIGdld29yZGVuIGlzdCBiencuIGRlbiBkdSBkYW5uIHdpZWRlcmVya2VubnN0LgoKR3V0IGF1Zmdld2Flcm10LCBBbmF0b2wgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQmlsZHVuZyAoS2Vzc2EsIDIzLiBKYW4gMjAwNSwgMjA6MTc6NDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjUwNzU2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGFzIGdlaHQgYW0gUHVua3Qgdm9yYmVpLCBpY2ggcmVkZSBuaWNodCB2b24gRWx0ZXJuLCBkaWUgaWhyIEtpbmQgd2VnZ2ViZW4KbXVlc3NlbiwgQWxsZWluZXJ6aWVoZW5kZW4gei5CLiAoc3RlbGx0ZSBOb25uZSBqYSBhdWNoIHNjaG9uIHJpY2h0aWcpLiBBbHMKbWVpbmUgS2luZGVyIGtsZWluIHdhcmVuLCB3YXIgbWVpbiBCZXJ1ZnNpbnRlcmVzc2UgS2luZGVyZXJ6aWVodW5nLCB1bmQgaWNoCnNhaCB6dSBkZXIgWmVpdCBhbGxlcmRpbmdzIGtlaW5lcmxlaSBWb3J0ZWlsIGRhcmluLCBzaWUgd2VnenVnZWJlbi4gSW0KS2luZGVyZ2FydGVuYWx0ZXIgZGFubiBzY2hvbiwgYWJlciBhdWNoIGRhcyBzYWd0ZSBpY2ggamEgYmVyZWl0cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQmlsZHVuZyAoR3JpbW1ib3JuLCAyMy4gSmFuIDIwMDUsIDIyOjE0OjIyKToKfiMhIHJuPUtlc3NhIHJ0PTExMDY1MDc4NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCk1pciBpc3QgbmljaHQgZ2FueiBrbGFyLCB3aWVzbyBlcyBmdWVyIGRpZSBLaW5kZXIgTmljaHRhbGxlaW5lcnppZWhlbmRlcgpuYWNodGVpbGlnIHNlaW4gc29sbCwgIndlZ2dlZ2ViZW4iIHp1IHdlcmRlbiwgZnVlciBkaWUgS2luZGVyCkFsbGVpbmVyemllaGVuZGVyIGplZG9jaCBuaWNodCBuYWNodGVpbGlnLgpNZWluZSBwZXJzb2VubGljaGUsIHVuZmFjaG1hZW5uaXNjaGUgTWVpbnVuZyBpc3QgamEsIGRhc3MgZXMgbmljaHQgZmFsc2NoIHNlaW4Ka2FubiwgYXVjaCBrbGVpbmUgS2luZGVyICJ1bnRlciBMZXV0ZSIgdW5kIGViZW4gYXVjaCBHbGVpY2hhbHRyaWdlIHp1IGJyaW5nZW4sCmRhc3MgZWluZSB2b2VsbGlnZSBGaXhpZXJ1bmcgaW4ganVuZ2VuIEphaHJlbiBhdWYgZWluIGJpcyB6d2VpIFBlcnNvbmVuIGVoZXIKbmFjaHRlaWxpZyBpc3QsIGFiZXIgaWNoIGxhc3NlIG1pY2ggZGEgZ2VybmUgYmVrZWhyZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBCaWxkdW5nIChLZXNzYSwgMjMuIEphbiAyMDA1LCAyMjoxNTo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwNjUxNDg2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRHUga29tbXN0IGR1cmNoYXVzIGF1Y2ggYWxzIE11dHRlciBtaXQga2xlaW5lbiBLaW5kZXJuIHVudGVyIExldXRlLCBncmFkIHVudGVyCmFuZGVyZSBMZXV0ZSBtaXQga2xlaW5lbiBLaW5kZXJuLiBEZXIgVm9ydGVpbCBpc3QsIGRhc3MgZHUgZGFubiBlYmVuIGF1Y2ggZGEKYmlzdCwgbmljaHQgbnVyIGxhdXRlciBGcmVtZGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEJpbGR1bmcgKEdyaW1tYm9ybiwgMjQuIEphbiAyMDA1LCAwODoyOTo1Myk6Cn4jISBybj1LZXNzYSBydD0xMTA2NTE0OTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpKYSwgZGFzIG1hZyBzbyBzZWluLiBJbiBHcm9zc3N0YWVkdGVuLiBEcmVpbWFsIHBybyBXb2NoZSBmdWVyIGplIGVpbmVpbmhhbGIKU3R1bmRlbiBUcmVmZmVuIGluIE11dHRlci1LaW5kIEdydXBwZW4uIFRvbGxlIFNhY2hlLCBlaHJsaWNoLiBOYXR1ZXJsaWNoIGhhdApkYSB6LkIuIG1laW5lIFNjaHdlc3RlciwgZGllIGluIGVoZXIgbGFlbmRsaWNoZXIgR2VnZW5kIHdvaG50LCB3ZW5pZyB2b24uIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogQmlsZHVuZyAoUGl0ZmFsbCwgMjQuIEphbiAyMDA1LCAwODozMToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwNjU1MTc5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVmllbGVuIERhbmsgR3JpbW1ib3JuLCBkYXNzIGR1IHVucyBhbGxlIGFuIERlaW5lbgoiSG9lcmVuc2FnZW5lcmZhaHJ1bmdlbiIgdGVpbGhhYmVuIGxhZXNzdC4KCgpQaXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogQmlsZHVuZyAoR3JpbW1ib3JuLCAyNC4gSmFuIDIwMDUsIDA4OjQ3OjExKToKfiMhIHJuPVBpdGZhbGwgcnQ9MTEwNjU1MTg3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVGphLCBFcmZhaHJ1bmdlbiBpbSBlbmdlcmVuIEZhbWlsaWVua3JlaXMgc2luZCBpbW1lcm5vY2ggZGV1dGxpY2gKYXVzc2FnZWtyYWVmdGlnZXIsIGFscyBzb2xjaGUgS29tbWVudGFyZSB3aWUgZWJlbiB2b24gRGlyLCBkaWUgaW4gdm9uIERpcgpnZXdvaG50ZXIgQXJ0IGRpZSBha3R1ZWxsZSBEaXNrdXNzaW9uIGluIHdpcmtsaWNoIGdhciBrZWluZXIgQXJ0IHVuZCBXZWlzZQp2b3JhbmJyaW5nZW4uCk1pdCAoZWlnZW5lbikgS2luZGVybiBrb21tdCBuaWNodCB1ZWJlciBOYWNodCBkaWUgZ3Jvc3NlIHBhZWRhZ29naXNjaGUKRXJsZXVjaHR1bmcuIEFscyBOYXR1cndpc3NlbnNjaGFmdGxlciAobWVociBvZGVyIHdlbmlnZXIgaGFsdCkgdHJhdWUgaWNoCnBlcnNvZW5saWNoZW4gR2VmdWVobHNlcmZhaHJ1bmdlbiBzZWhyIHdlbmlnLCBkYXMgaXN0IGVyc3RhdW5saWNoLCB3aWUgc2VsdGVuCmRpZXNlcyAiR2VmdWVobCIgenV0cmlmZnQuIEV4dHJhcG9sYXRpb25lbiBhdXMgRWluemVsZmFlbGxlbiBoYWJlbiBrZWluZQpBdXNzYWdla3JhZnQgKCJtZWluIE9wcGEgaGF0IGdlcXVhbG10IHdpZSBlaW4gU2NobG90IHVuZCBpc3QgbWl0IDk1IGZyaWVkbGNpaAplbnRzY2hsYWZlbiAtPiBSYXVjaGVuIGlzdCB1bmdlZmFlaHJsaWNoIikuIERhcyBzaW5kIEFuZWtkb3RlbiwgYWJlciBrZWluZQp3aXJrbGljaCBicmF1Y2hiYXJlbiBBdXNzYWdlbi4KQWxzbywgamVtYW5kIGRlciBzYWd0ICJpY2ggaGFiZSBlaW5lbiAxNWphZWhyaWdlbiBTb2huLCBkZW4gaGFiZSBpY2ggaW4KVm9sbHppZXQgZXJ6b2dlbiwgZGVyIGlzdCBlaW4gcHJhZWNodGlnZXIgS2VybCBnZXdvcmRlbiwgYWxzbyBpc3QgZGFzIGVpbnppZwpzaW5udm9sbGUgc2ljaCBpbiBWb2xsemVpdCB1bSBzZWluZSBLaW5kZXIgenUga3VlbW1lcm4iIGlzdCBnZW5hdXNvCmFsbGdlbWVpbmd1ZWx0aWcgd2llIGplbWFuZCwgZGVyIHNhZ3QgImljaCBiaW4gMjAgSmFocmUsIHZvbiBkZXIgS3JpcHBlIGluIGRlbgpLaW5kZXJnYXJ0ZW4gaW4gZGllIFNjaHVsZSBnZWtvbW1lbiwgdW5kIGJpbiBkb2NoIG5lIHRvbGxlIEZyYXUsIGFsc28gaXN0IGRhcwplaW56aWcgd2FocmUgZGVyIGZydWVoZSBVbWdhbmcgbWl0IGFuZGVyZW4gS2luZGVybiIuIERhcyBzaW5kIGFsbGVzIHNvbGNoZQpPcGEtQXVzc2FnZW4uIFdhcyBpY2ggd2lsbCAodW5kIGhpZXIga2FubiBpY2ggbnVyIEFuYXRvbCB3aWVkZXJob2xlbikgc2luZApmdW5kaWVydGUgcGFlZGFnb2dpc2NoZSBBdXNzYWdlbi4gQmlzIGRhaGluIG5laG1lIGljaCBtaXIgZGllIEZyZWloZWl0LApBbmVrZG90ZW4gbWl0IEFuZWtkb3RlbiB6dSBiZWFudHdvcnRlbi4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBCaWxkdW5nIChDYXR3ZWF6bGUsIDI0LiBKYW4gMjAwNSwgMDg6NTg6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDY1NTI4MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkFjaCBqZXR6dCBsYXNzIGRlbiBLYW1tIGRvY2ggbWFsIHNvIGJyZWl0LCB3aWUgd2lyIGlobiBzY2hvbiBnZXRyZXRlbiBoYWJlbi4KV2Vzc2lzIHNpbmQga2xhbW1lcm5kZSBNdXR0ZXJzb2VobmNoZW4tVmVyemllaGVyIHVuZCBPc3NpcyBzaW5kIGhlcnpsb3NlCktpbmRlcmFic3Rvc3NlbmRlLUFyYmVpdHNnZWlsZS4KCkhtLCBpcmdlbmR3aWUgcGFzc3QgZGFzIGdhciBuaWNodCBzbyBpbnMgc29uc3RpZ2UgV2VsdGJpbGQsIG5vbj8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEJpbGR1bmcgKFpvb2ssIDI0LiBKYW4gMjAwNSwgMDk6Mzc6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDY1NTM1MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCldpZXNvIG5pY2h0LCBDYXR0eT8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogQmlsZHVuZyAoTW9udGFudXMsIDI0LiBKYW4gMjAwNSwgMTA6NDY6MjIpOgp+IyEgcm49Wm9vayBydD0xMTA2NTU1ODMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpWZXJnbGVpY2ggZG9jaCBtYWwsIHdvIGRpZSBGRFAgaWhyZSBTVGltbWVuIGhlcmJla29tbXQuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IEJpbGR1bmcgKFpvb2ssIDI0LiBKYW4gMjAwNSwgMTA6NDg6MjApOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwNjU1OTk4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2VsY2hlIEZEUD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogQmlsZHVuZyAoTW9udGFudXMsIDI0LiBKYW4gMjAwNSwgMTE6MDg6NDApOgp+IyEgcm49Wm9vayBydD0xMTA2NTYwMTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpTdGltbXQsIGltIE9zdGVuIHd1cmRlIGRpZSBnbGF1YmUgaWNoIHNjaG9uIHdpZWRlciBhYmdlc2NoYWZmdCwgZGEgYXVzc2VyCkhlcnJuIEdlbnNjaGVyIGluIEhvZWxsZS9TYWFsZSBkaWUga2VpbmVyIG1laHIgZ2V3YWVobHQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEJpbGR1bmcgKEtlc3NhLCAyNC4gSmFuIDIwMDUsIDExOjEyOjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTA2NTUyODMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpTaWNoZXIgbmljaHQgdWViZXIgTmFjaHQsIGFiZXIgaW0gTGF1ZmUgZGVyIEphaHJlIGtvbW1lbiBkb2NoIGVpbiBwYWFyCnp1c2FtbWVuLiBEYXMgamFocmVsYW5nZSB0YWVnbGljaGUgdW5kIG9mdCBuYWVjaHRsaWNoZSBMZWJlbiBtaXQgS2luZGVybgpicmluZ3Qgc2Nob24gZXR3YXMgbWVociBhbHMgbnVyIGFuZWtkb3Rlbnd1ZXJkaWdlIEVyZmFocnVuZyBtaXQgc2ljaC4gRGF6dQprb21tdCBkZXIgQXVzdGF1c2NoIG1pdCBhbmRlcmVuIEVsdGVybiB1bmQga29tcGV0ZW50ZW4gU3RlbGxlbiwgYXVmIGRpZSBtYW4KaW1tZXIgd2llZGVyIHRyaWZmdCAoRWx0ZXJuc2NodWxlbiwgS2luZGVyZ2FydGVuLCBTY2h1bGUsIEtpbmRlcmFyenQsIGdnZi4KUHN5Y2hvbG9nZSkuIEljaCBkZW5rZSwgZGFzcyBFbHRlcm4sIGRpZSBpaHJlIEF1ZmdhYmUgZXJuc3QgbmVobWVuLCBkdXJjaGF1cwplaW5lIGVpZ2VuZSBLb21wZXRlbnogcXVhIEVsdGVybiB6dWdlc3RhbmRlbiB3ZXJkZW4ga2Fubi4KCkFuc29uc3RlbiAtIGljaCBrZW5uZSBrZWluZSBMYW5nemVpdHN0dWRpZW4gdWViZXIgZGVuIFdlcnQgdW5kIFVud2VydCB2b24KQmV0cmV1dW5nc2VpbnJpY2h0dW5nZW4gZnVlcnMgZnJ1ZWhlc3RlIEtpbmRlc2FsdGVyLiBNZWluZSBlaWdlbmUgRXJmYWhydW5nCmFscyBQcmFrdGlrYW50aW4gaW0gS2luZGVyZ2FydGVuIHVuZCBzcGFldGVyIE11dHRlciwgZGllIEVyZmFocnVuZ2VuIHZvbgpCZWthbm50ZW4sIGRpZSBFcnppZWhlciB1bmQgTGVocmVyIHNpbmQsIHVuZCBkaWUgQXVzc2FnZW4gZGVyIEVyemllaGVyIHVuZApMZWhyZXIsIGRpZSBtZWluZSBlaWdlbmVuIEtpbmRlciBiZXRyZXV0IGhhYmVuLCBnZWhlbiBhbGxlIGluIGRpZSBSaWNodHVuZwona2xlaW5lIEtpbmRlciBzaW5kIGJlaSBkZW4gRWx0ZXJuIGFtIGJlc3RlbiBhdWZnZWhvYmVuJy4gQWJlciBrbGFyLCB3aXIgc2luZAphdWNoIGFsbGUgV2Vzc2lzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJpbGR1bmcgKERlZXBibHVlLCAyNC4gSmFuIDIwMDUsIDExOjE2OjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY1MDY4Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkR1IG1laW5zdCwgc2llIHNpbmQgbmViZW5iZWkgU2Nob2VmZmVuIGFtIGdlcmljaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogQmlsZHVuZyAoTW9udGFudXMsIDI0LiBKYW4gMjAwNSwgMTE6MjU6MTcpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwNjU2MjE5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRHUgbWVpbnN0LCBzaWUgaGFiZW4gZGVuIFVudGVyc2NoaWVkIHp3aXNjaHplbiBGIHVuZCBOIG5vY2ggbmljaHQgc28gZ2FuegprYXBpZXJ0PwpBYmVyIHdlbm4gaWNoIG1pciBhbnNlaGUsIHdlbGNoZSBkZXIgZWhlbWFsaWdlbiBCbG9ja3BhcnRlaWVuIHNpY2ggZGllCkZhc3QtRHJlaSwgYWVoIEFjaHR6ZWhuLVByb3plbnQtUGFydGVpIGFuY2ggZGVyIFdlbmRlIHV0bmVyIGRlbiBOYWdlbCBnZXJpc3NlbgpoYXQsIGRhbm4gdmVyd3VkbmVydCBlcyBtaWNoIG5pY2h0LCB3ZW5uIGRpZSBqZXR6dCBtaXQgZGVuIEhhYXJsb3Nlbgp6dXNhbW1lbmFyYmVpdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IEJpbGR1bmcgKERhcmtsb3IsIDI0LiBKYW4gMjAwNSwgMTM6MDE6MzQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwNjU2MjMxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVGphIGRpZSBXaXJ0c2NoYWZ0IGltIE9zdGVuIGlzdCB6dW0gZ3Jvc3NlbiB0ZWlsIGFtIEJvZGVuIC0gYWxzbyB3b2hlciB3b2xsZW4KZGllIGRhIGRhbm4gYXVjaCBpaHJlIFN0aW1tZW4gYmVrb21tZW4/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogQmlsZHVuZyAoQ2Fzc2FuZHJhLCAyNC4gSmFuIDIwMDUsIDEzOjQ4OjU3KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNjU2ODA5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKClJlcGx5IGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsCgpVZWJlciBlcnppZWh1bmcgZ2lidCBlcyB2ZXJtdXRsaWNoIHNvdmllbGUgbWVpbnVuZ2VuIHdpZSBsZXV0ZSBkaWUgZGFydWViZXIKUmVkZW4uIE1laW5lciBtZWludW5nIHNvbGx0ZSBlcyBhYmVyIGRlbiBlbHRlcm4gZnJlaXN0ZWhlbiwgb2Igc2llIGlocmUgS2luZGVyCihlZ2FsIHdlbGNoZXMgdm9yc2NodWxpc2NoZW4gQWx0ZXJzKSBpbiBkaWUgS3JpcHBlIG9kZXIgS2luZGVyZ2FydGVuIGdlYmVuLgpMZWlkZXIgaXN0IGRpZXMgb2Z0bWFscyBuaWNodCBkZXIgRmFsbCwgZGEgZGllIGhpZXJmdWVyIG5vZXRpZ2VuIEVpbnJpY2h0dW5nZW4KZmVobGVuLCBpbSBXZXN0ZW4gbm9jaCBtZWhyIGFscyBpbSBPc3Rlbi4KTGVpZGVyIHdpcmQgc2ljaCBkYXJhbiB2ZXJtdXRsaWNoIHRyb3R6IFBpc2Egc28gc2NobmVsbCBuaXggYWVuZGVybi4KRGFzIEVyZ2VibmlzIGRlcyBWb2xrc2VudHNjaGVpZHMgaXN0IGRldXRsaWNoIGdlbnVnLiBEaWUgbWVocmhlaXQgZGVyCmFiZ2VnZWJlbmVuIFN0aW1tZW4gd2FyZW4gSmEgc3RpbW1lbiwgYWJlciBsZWlkZXIgd2FyIGRpZSB3YWhsYmV0ZWlsaWd1bmcKZGV1dGxpY2ghIHp1IG5pZWRyaWcuClZpZWxlbiBzY2hlaW5lbiBhbHMgS2luZGVyIHVuZCBpaHJlIEJldHJldW51bmcgbmljaHQgbWFsIHdpY2h0aWcgZ2VudWcgenUKc2VpbiwgdW0gYW4gZWluZW0gc2Nob2VuZW4sIG5pY2h0IHZlcnJlZ25ldGVuIFNvbm50YWcgbWFsIHNjaG5lbGwgZGllIFN0aW1tZQphYnp1Z2ViZW4uCgpDYXNzeSwgdm9tIGRlbW9rcmF0aXNjaGVuIChvZGVyIGF1Y2ggbmljaHRkZW1va3JhdGlzY2hlbikgVmVyaGFsdGVuIGlocmVyCk1pdGJ1ZXJnZXIgaW4gTFNBIGVudHRhZXVzY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTM6NTA6MTcpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMDY1NzA5Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRhIGdpYnQgZXMgZG9jaCBrYXVtIG5vY2ggS2luZGVyIG9kZXIgS2luZGVyd2lsbGlnZSwgd2VsY2hlIHBvdGVudGllbGxlbgpFbHRlcm4gc29sbHRlbiBhbHNvIGRhZnVlciBzdGltbWVuPyAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxMzo1MzozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTcxMDE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgppbnRlcmVzc2FudCBpc3QgamEgYXVjaDogCndpciB0cmFnZW4gaW4gZGllIHdlbHQgaGluYXVzLCBkYXNzIERlbW9rcmF0aWUgZGllIGJlc3RlIGFsbGVyIFN0YWF0c2Zvcm1lbgppc3QsIGFiZXIgd2VubiBtYW4gbWFsIG1pdGJlc3RpbW1lbiBrb2VubnRlLCBkYW5uIHR1dCBtYW5zIG5pY2h0LgoKYW5kZXJlcnNlaXRzIG11c3MgbWFuIGRhIHNpY2hlciBhdWNoIHNlaGVuLCBkYXNzIHZpZWxlIHBvdGVudGllbGxlIG5laW5zdGltbWVyCnZpZWxsZWljaHQgbmNpaHQgaGluZ2VnYW5nZW4gc2luZCwgd2VpbCBzaWUgZ2V3dXNzdCB6dSBoYWJlbiBnbGF1YmVuLCBkYXNzIGRpZQp3YWhsYmV0ZWlsaWd1bmcgenUgbmllZHJpZyBpc3QKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBCaWxkdW5nIChab29rLCAyNC4gSmFuIDIwMDUsIDEzOjU1OjE3KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTA2NTcwOTM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpXaWV2aWVsICUgV2FobGJldGVpbHVuZyBicmF1Y2h0ZSBtYW4/IDI1PyBXZWlhLCBkYSBrb21tZW4gd2lyIGphIHNvZ2FyCmluIGRlciBTY2h3ZWl6IG1laXN0ZW5zIGxvY2tlciBkcnVlYmVyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBCaWxkdW5nIChBbGtvaG9sLCAyNC4gSmFuIDIwMDUsIDEzOjU1OjIxKToKfiMhIHJuPUFsa29ob2wgcnQ9MTEwNjU3MTIxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKYWggamEgbm9jaHdhczoKCmljaCBnbGF1YmUgbmljaHQsIGRhc3MgUGlzYSB3YXMgZGFtaXQgenUgdHVuIGhhdC4gQmluIGljaCBudW4ga2V0emVyaXNjaD8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBCaWxkdW5nIChHbm9tZSwgMjQuIEphbiAyMDA1LCAxMzo1Njo1MSk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1NzEyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmpvZnNlaWRhbmsgbGFlc3N0IGVpbmVtIGF1Y2ggZGllIGRlbW9rcmF0aWUgZnJlaSwgb2IgbWFuIHNpZSB1ZWJlcmhhdXB0Cm51dHplbiBtb2VjaHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IEJpbGR1bmcgKEFsa29ob2wsIDI0LiBKYW4gMjAwNSwgMTM6NTc6MzUpOgp+IyEgcm49R25vbWUgcnQ9MTEwNjU3MTQxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKZGFzIGlzdCBlaWdlbnRsaWNoIG5pY2h0IHNvCmR1IGJpc3QgZHJpbiwgb2IgZHUgd2lsbHN0IG9kZXIgbmljaHQKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBCaWxkdW5nIChHbm9tZSwgMjQuIEphbiAyMDA1LCAxMzo1ODoxOSk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1NzE0NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmljaCBzYWd0ZSAibnV0emVuIiwgbmljaHQgImluIGlociBsZWJlbiIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxMzo1OToyOSk6Cn4jISBybj1Hbm9tZSBydD0xMTA2NTcxNDk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgp3YXMgaGVpc3N0IG51dHplbj8Kc2ljaCBhbiBkaWUgZ2VzZXR6ZSBoYWx0ZW4gZGllIGRpZSBwYXJsYW1lbnRlIHZlcnphcGZlbj8Kc2VpbmUgc3RldWVybiB6YWhsZW4sIHdpZSBkaWUgcGFybGFtZW50ZSBiZXNjaGxpZXNzZW4/CnZpZWxlIGFuZGVyZSBkaW5nZT8Kb2RlciBnZWh0cyBkYSBudXIgdW0gd2FlaGxlbj8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBCaWxkdW5nIChHbm9tZSwgMjQuIEphbiAyMDA1LCAxNDowMTozOSk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1NzE1Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmphLCBpbiBlcnN0ZXIgbGluaWUgdW1zIHdhZWhsZW4uCmFiZXIgbmF0dWVybGljaCBrYW5uIGljaCBhdWNoIG5hY2ggY2hpbmEgYXVzd2FuZGVybiwgd2VubnMgbWlyIGhpZXIgbmljaApwYXNzdC4gaW5zb2Zlcm4ga2FubiBpY2ggZXMgbWlyIHNvZ2FyIGF1c3N1Y2hlbiwgb2IgaWNoIGluIGVpbmVyCmRlbW9rcmF0aWUgbGViZW4gbW9lY2h0ZS4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxNDowMjoxNyk6Cn4jISBybj1Hbm9tZSBydD0xMTA2NTcxNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgphbHNvIGljaCBmaW5kZSBkZW1va3JhdGllIGlzdCBtZWhyIGFscyB3YWVobGVuLCBhYmVyIGd1dCBpY2ggaGFiIGVoIGtvbWlzY2hlCm1laW51bmdlbgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE0OjAyOjU3KToKfiMhIHJuPUdub21lIHJ0PTExMDY1NzE2OTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkR1IHd1ZXJkZXN0IGRpY2ggd3VuZGVybiB3aWUgc2NobGVjaHQgbWFuIGluIGdld2lzc2UgTGFlbmRlciBhdXN3YW5kZXJuIGthbm4sCndlaWwgZGFzIEVpbndhbmRlcm4gZGVyIHNjaHdpZXJpZ2UgUGFydCBpc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IEJpbGR1bmcgKEdub21lLCAyNC4gSmFuIDIwMDUsIDE0OjAzOjMzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY1NzE3Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmljaCB3ZWlzcy4KaWNoIGdpbmcgYXVjaCBlcnN0bWFsIG51ciB2b24gZGVyIHRoZW9yaWUgYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE0OjA1OjI3KToKfiMhIHJuPUdub21lIHJ0PTExMDY1NzE4MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClZvbiBlaW5lciAiRGVtb2tyYXRpZSIgaW4gZWluZSBhbmRlcmUgIkRlbW9rcmF0aWUiIGF1c3dhbmRlcm4gemFlaGx0IHVlYnJpZ2VucwpuaWNodCwgZmFsbHMgZHUgamV0enQgd2VzdGxpY2hlcmUgTGFlbmRlciB2b3JzY2hsYWdlbiB3aWxsc3QgOykKCldpZSB3YWVycyBkZW5uIG1pdCBkZXIgdW5mcmVpZW4gRGVtb2tyYXRpZSwgd2llIGluICJTdGFyc2hpcCBUcm9vcGVycyI/CkFjaG5lZSwgZGEgc2VpbHNjaGFmdGV0IGVzIGF1Y2ggYmFsZCBydW0uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IEJpbGR1bmcgKENhc3NhbmRyYSwgMjQuIEphbiAyMDA1LCAxNDowNjo0Nyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1NzE3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmphIGljaCBkZW5rZSBhdWNoIGRhcyBkZW1va3JhdGllIG1laHIgaXN0LCBhbHMgd2FlaGxlbiB6dSBnZWhlbi4KQWJlciBkYXMgd2FlaGxlbiBnZWhlbiBpc3Qgbm9jaCBkZXIgZWluZmFjaHN0ZSB0ZWlsLgpLb25rcmV0ZSBNaXRhcmJlaXQgYW4gUG9saXRpaywgRW5nYWdlbWVudCBpbiBQYXJ0ZWllbiBvZGVyIHZvcnBhcnRlaWxpY2hlbgpPcmdhbmlzYXRpb25lbiwgU2ljaCB1YmVyIGRpZSBnZXNjaGVobmlzc2UgaW5mb3JtaWVyZW4gdW5kIG5pY2h0IGJsb3MKa29uc3VtaWVyZW4gdW5kIHNhZ2VuIGRhcyBtYW4gZGFnZWdlbiBpc3Q7IGRhc3MgYWxsZXMgdmVybGFuZ3Qgc2Nob24gbWVociB2b20KQnVlcmdlci4KClVuZCBkaWUgZ2Vmb3JkZXJ0ZSBCZXRlaWxpZ3VuZyB3YXJlbiAyNSUgamEtc3RpbW1lbiB2b24gYWxsZW4KV2FobGJlcmVjaHRpZ3Rlbi4gQmVrb21tZW4gaGFiZW4gc2llIHVuZ2VmYWVociAxNS0yMCBqZSBuYWNoIHdhaGxrcmVpcy4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTQ6MDg6NDUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMDY1NzIwMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkljaCBmaW5kIGRhcyBqZXR6dCBuaWNodCBzbyB0cmF1cmlnIHdpZSBkdS4gSW4gamVkZXIgSmEvTmVpbi1BYnN0aW1tdW5nIGdpbHQKYmVpIEVudGhhbHR1bmcgaW1wbGl6aXQsIGRhc3MgZXMgZWluZSBORUlOLVN0aW1tZSBpc3QuIFVuZCBzbyBrYW5uIG1hbiBkYXMKbGVzZW4uIEVpbiAiYWNoIGljaCBiaW4gamEgZGFmdWVyLCBoYXR0ZSBrZWluZSBMdXN0IiBpc3QgZWJlbiBhdWNoIGVpbiBOZWluLgoKRnVlciBkaWUgRGVtb2t0cmFpZSBtdXNzIG1hbiBub2NoIG1laHIgdHVuIC4uLiBLaW5kZXIgenVtIFdhZWhsZW4gZXJ6aWVoZW4hCktsYXBwdCBkYXMgamV0enQgYmVzc2VyIHp1IEhhdXNlIG9kZXIgaW4gZGVyIFRvZXBmY2hlbmJyaWdhZGU/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IEJpbGR1bmcgKEdub21lLCAyNC4gSmFuIDIwMDUsIDE0OjEwOjIxKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTA2NTcyMDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpzY2hvZW4sIGRhc3MgaWhyIG1pY2ggYWxsZSBmYWxzY2ggdmVyc3RlaHQgOikKCmljaCBzYWd0ZSBudXIgYXVzLCBkYXNzIGVzIHRvbGwgaXN0LCBkYXNzIGVpbmVtIGRpZSBkZW1va3JhdGllIGVzCmZyZWlsYWVzc3QsIG9iIG1hbiBzaWUgbnV0enQgKD09d2FlaGxlbiBnZWh0KSwgb2RlciBlYmVuIG5pY2h0LgoKYWxsZXMgYW5kZXJlIGhhYnQgaWhyIGRhenVnZWRpY2h0ZXQuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE0OjExOjA3KToKfiMhIHJuPUdub21lIHJ0PTExMDY1NzIyMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkljaCBoYWJlIHNvZWJlbiByZWxhdGl2IGRldXRsaWNoIGFuZ2VkZXV0ZXQsIGRhc3MgZGVtIG5pY2h0IHNvIGlzdC4gQWxrb2hsCm1laW50IHNpY2hlciBkYXMgR2xlaWNoZS4gVW5kIGF1Y2ggdm9yIGRlbiBCdW5kZXN0YWdzd2FobGVuIHdpcmQgZXMgZ2Vybgpub2NobWFsIGJldG9udDogTmljaHR3YWVobGVuIGlzdCBhdWNoIGVpbmUgQXJ0IGRlcyBXYWVobGVucy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxNDoxMToyOSk6Cn4jISBybj1Hbm9tZSBydD0xMTA2NTcyMjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgpzb3NvIGRhenVnZWRpY2h0ZXQ/CmFsc28gZHUgc3ByYWNoc3QgbnVyIHZvbiBudXR6ZW4sIHNvIG9obmUgZGVmaW5pdGlvbiBtdXNzIGljaCBkYXZvbiBhdXNnZWhlbiwKZGFzcyBkdSBtZWhyIG1laW5zdCBhbHMgd2FlaGxlbiwgaGFldHRlc3QgZHUgZGFzIHZvcmhlciBkZWZpbmllcnQsIGhhZXR0ZSBpY2gKYXVjaCBuaXggZ2VzYWd0CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogQmlsZHVuZyAoRGVlcGJsdWUsIDI0LiBKYW4gMjAwNSwgMTQ6MTM6MDEpOgp+IyEgcm49QWxrb2hvbCBydD0xMTA2NTcxMjE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJY2ggZ2xhdWJlLCBkYXMgZXMgd2VuaWdlIGdhYiwgZGllIGJlaSBkZXIgRnJhZ2UgTmVpbiBnZXNhZ3QgaGFldHRlbi4gRGllCk1laHJoZWl0IHdhciB3b2hsIGlyZ2VuZHdvIHp3aXNjaGVuICJXZWlzcyBpY2ggbmljaHQiIHVuZCAiSW50ZXJlc3NpZXJ0IG1pY2gKbmljaHQiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogQmlsZHVuZyAoRGVlcGJsdWUsIDI0LiBKYW4gMjAwNSwgMTQ6MTM6MzMpOgp+IyEgcm49Wm9vayBydD0xMTA2NTcxMzE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgoyNSUgZGVyIFdhaGxiZXJlY2h0aWd0ZW4gbXVlc3NlbiBKQSBzdGltbWVuLCBkYW5uIHdpcmQgbmFjaCBKYS9OZWluCmF1c2dld2VydGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IEJpbGR1bmcgKFpvb2ssIDI0LiBKYW4gMjAwNSwgMTQ6MTM6MzQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwNjU3MjM4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2FlcmUgZGFzIGVpbiBTY2hhZGVuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBCaWxkdW5nIChab29rLCAyNC4gSmFuIDIwMDUsIDE0OjEzOjQ5KToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDY1NzI0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkFoLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBCaWxkdW5nIChHcmltbWJvcm4sIDI0LiBKYW4gMjAwNSwgMTQ6MTQ6MjcpOgp+IyEgcm49QWxrb2hvbCBydD0xMTA2NTcyMjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpVbSBtYWwgZGVuIEJvZ2VuIHp1cnVlY2sgenVtIGVpZ2VudGxpY2hlbiBUaGVtYSBkaWVzZXMgdGhyZWFkcyB6dSBzY2hsYWdlbjoKTGVpZGVyIGxhZXNzdCBlaW5lbSBkaWVzZSBEZW1va3JhdGllIG5pY2h0IG1laHIgZGllIE1vZWdsaWNoa2VpdCwgZWluZmFjaAoibmFjaCBkcnVlYmVuIiB6dSBnZWhlbiwgd2VubiBlcyBlaW5lbSAiaGllciBuaWNodCBtZWhyIHBhc3N0Ii4gRGFzCmZ1bmt0aW9uaWVydCBudXIgbm9jaCBpbiBUZWlsZW4sIHdlbm4gaWNoIG5hZW1saWNoIGRhbWl0IHVuenVmcmllZGVuIGJpbiwgZGFzcwppY2ggbWljaCBoaWVyIHVtIG1laW5lIEJsYWdlbiBzZWxiZXIga3VlbW1lcm4gbXVzcy4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogQmlsZHVuZyAoRGVlcGJsdWUsIDI0LiBKYW4gMjAwNSwgMTQ6MTU6MjUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU3MTkyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2llIGpldHp0LCB3ZXN0bGljaGUgTGFlbmRlciB6YWVobGVuIG5pY2h0PwpEZWVwLCBtaXQgZGVyIGt1YmFuaXNjaGVuIEZsYWdnZSB3ZWRlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNjogQmlsZHVuZyAoR3JpbW1ib3JuLCAyNC4gSmFuIDIwMDUsIDE0OjE2OjIzKToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDY1NzI1MjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCk9kZXIgRnJhbmtyZWljaCwgbGVkaWdsaWNoIGtuYXBwIDQwIE1tIG9lc3RsaWNoIHZvbiB1bnMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBCaWxkdW5nIChEZWVwYmx1ZSwgMjQuIEphbiAyMDA1LCAxNDozNTo1Nik6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTEwNjU3MjAwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2Vpc3N0IER1LCB3aWV2aWVsIFByb3plbnQgZGVyIHdhaGxiZXJlY2h0aWd0ZW4gZGFzIFRoZW1hIHVlYmVyaGF1cHQgYmV0cmlmZnQ/CkFsc28gZGllLCBkaWUgZW50d2VkZXIgS2luZGVyIGltIGVudHNwcmVjaGVuZGVuIEFsdGVyIGhhYmVuIG9kZXIgZGVyZW4KQW5zY2hhZmZ1bmcgcGxhbmVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IEJpbGR1bmcgKFpvb2ssIDI0LiBKYW4gMjAwNSwgMTQ6Mzk6MjApOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwNjU3Mzc1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQWxzbyBpY2ggc3RpbW1lIGVpZ2VudGxpY2ggYmVpIGZhc3QgYWxsZW4gQWJzdGltbXVuZ3N0ZXJtaW5lbiBtaXQsIGF1Y2ggd2VubgppY2ggbmljaHQgcGVyc29lbmxpY2ggYmV0cm9mZmVuIGJpbiAod2FzIGJlaSBkZW4gbWVpc3RlbiBBYnN0aW1tdW5nZW4gZGVyIApGYWxsIGlzdCkuIAoKWm9vaywgZGVyIG1hbmNobWFsIG51ciBkaWUgU3RpbW11bnRlcmxhZ2VuIHZlcnNjaGxhbXB0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzY6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE0OjQwOjEwKToKfiMhIHJuPVpvb2sgcnQ9MTEwNjU3Mzk2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQmVpIHVucyBnaWJ0IGVzIHNvIHdlbmlnIGFienVzdGltbWVuLCBkYSBpc3QgbWFuIHdlbmlnIGdldWVidC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNjogQmlsZHVuZyAoSGlnaGxhbmRlciwgMjQuIEphbiAyMDA1LCAxNDo0MDoxNCk6Cn4jISBybj1ab29rIHJ0PTExMDY1NzM5NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkljaCBzdGltbWUgYXVjaCBmYXN0IGltbWVyIG1pdCAtIGF1c3NlciBpY2ggaGFiZSBtYWwgdWViZXJoYXVwdCBrZWluZQpNZWludW5nLCB3aWUgZ2VzdGVybiBiZWkgZWluZW0gZGVyIHp3ZWkgQnVlcmdlcmVudHNjaGVpZGUuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBCaWxkdW5nIChPZ28sIDI0LiBKYW4gMjAwNSwgMTU6MjM6MTgpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMDY1NzIwMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRhc3MgZGFzIFdhZWhsZW4gZGVyIGVpbmZhY2hzdGUgVGVpbCBzZWluIHNvbGwsIHdhZ2UgaWNoIHp1IGJlendlaWZlbG4uCkJlbGdpZW4gbWFjaHRzIHJpY2h0aWc6IFdhaGxwZmxpY2h0IHVuZCBBbmRyb2h1bmcgdm9uIFN0cmFmZW4gYmVpClZlcndlaWdlcnVuZy4gSGVyIG1pdCBkZXIgYXVmb2t0cm95aWVydGVuIERlbW9rcmF0aWUhCgpXZXIgU2Fya2FzbXVzIGZpbmRldC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IEJpbGR1bmcgKERlZXBibHVlLCAyNC4gSmFuIDIwMDUsIDE1OjMzOjQwKToKfiMhIHJuPU9nbyBydD0xMTA2NTc2NTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEYXMgZnVua3Rpb25pZXJ0IGFiZXIgbnVyLCB3ZW5uICJEaWUgUGFydGVpIiBhdWNoIGFudHJpdHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTU6NDQ6MTgpOgp+IyEgcm49T2dvIHJ0PTExMDY1NzY1OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRlbiBadXN0YW5kIGhhYmVuIHdpciBkb2NoIGxhZW5nc3QuIE9kZXIgemFobHN0IGR1IGRlaW5lIFNvemlhbGFiZ2FiZW4KZnJlaXdpbGxpZy4gTmEgYWxzby4gTnVyIHdlaWwgZHUgbm9jaCBuaWNodCBnZXNldHpsaWNoIHp1ciBBYmdhYmUgZWluZXIKU3RpbW1lLCB1bmQgc2VpIGVzIGRpZSBTdGltbWUgIm1pciBkb2NoIGVnYWwiIHZlcnBmbGljaHRldCBiaXN0IGthbm5zdCBkdSBkaWNoCmRvY2ggbmljaHQgImZyZWkiIChqZWdsaWNoZXIgVmVyYW50d29ydHVuZykgZnVlaGxlbiEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxNjoyOToxNSk6Cn4jISBybj1PZ28gcnQ9MTEwNjU3NjU5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKc2NobGFndCBtaWNoIHdlbm4gaWNoIG1pY2ggZmFsc2NoIGVyaW5uZXJlOgoKd2FycyBuY2lodCBpbSBnb2xkZW5lbiBBdGhlbiBzbywgZGFzcyBtYW4gZGFzIEJ1ZXJnZXJyZWNodCB2ZXJsb3Igd2VubiBtYW4KbmljaHQgd2FlaGxlbiBnaW5nPwoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzY6IEJpbGR1bmcgKE9nbywgMjQuIEphbiAyMDA1LCAxNjozNDoxNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTc3ODU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEdSB3aWxsc3Qgbm9jaCBtYWwgbmFjaHNjaGF1ZW4sIHdhcyBEZW1va3JhdGllIHVlYmVyc2V0enQgYmVkZXV0ZXQgdW5kIGRlaW5lCkF1c3NhZ2UgdWViZXIgZGFzIFphaGxlbiB2b24gU3RldWVyIHVuZCBBYmdhYmVuIGltIFJhaG1lbiBlaW5lcgphdWZva3Ryb3lpZXJ0ZW4gS3JhdGlhIHVlYmVyZGVua2VuLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IEJpbGR1bmcgKEFsa29ob2wsIDI0LiBKYW4gMjAwNSwgMTY6MzU6NDkpOgp+IyEgcm49T2dvIHJ0PTExMDY1ODA4NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCndvIHdpbGwgbWFuIGRlbm4gbmFjaHNjaGF1ZW4sIHdhcyBkZW1va3JhdGllIGJlZGV1dGV0PyAKS2FubnN0IGphIHpCIGRpZSBEZWZpbml0aW9uIHZvbiBDaWNlcm8gbmVobWVuLCB1bmQgZGFubiB3dWVyZCBpY2ggQ2ljZXJvIHJlY2h0CmdlYmVuLCB3ZW5uIGVyIHNhZ3QsIGRpZSBEZW1va3JhdGllIHNlaSBkaWUgc2NobGVjaHRlc3RlIGFsbGVyIFN0YWF0c2Zvcm1lbi4KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM3OiBCaWxkdW5nIChHbG9pbnNvbiwgMjQuIEphbiAyMDA1LCAxNjo0OTowNCk6Cn4jISBybj1PZ28gcnQ9MTEwNjU4MDg1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSWNoIGJpbiB2ZXJ3aXJydC4KCk1vZWdsaWNoZXJ3ZWlzZSBtZWluc3QgZHUgbWl0IGRlciBhdWZva3Ryb3lpZXJ0ZW4gS3JhdGlhIGRpZSBUYXRzYWNoZSBkZXIKZmVobGVuZGVuIGxlZ2l0aW1pZXJ0ZW4gVmVyZmFzc3VuZyBpbiBELiBXYXMgZGFzIGRhbm4gbWl0IGRlbSBaYWhsZW4gdm9uClN0ZXVlcm4genUgdHVuIGhhdCAtIGtlaW5lIEFobnVuZy4KCldlbm4gaWNoIGRlbiBCZWdyaWZmIERlbW9rcmF0aWUgbmFjaHNjaGxhZ2UsIGZpbmRlIGljaCBzZWhyIHNjaG5lbGwgaGVyYXVzLApkYXNzIGRpZSBSZWFsaXRhZXQgbWl0dGVscyBQYXJsYW1lbnQgZGVtIElkZWFsIG1laXN0IGF1cyBkZW0gV2VnZSBnZWh0LCBkZW5uCkJhc2lzZGVtb2tyYXRpZSBrbGFwcHQgbm9jaCBuaWNodCBlaW5tYWwgdW50ZXIgMysgTWVuc2NoZW4uCgpBYmVyIHNlbGJzdCBkYXZvbiBhYmdlc2VoZW4ga2FubiBlaW5lIERlbW9rcmF0aWUgaWhyZW4gVGVpbG5laG1lciBnZXdpc3NlClNwaWVscmVnZWxuIGF1Znp3aW5nZW4uIERpZSBEZW1va3JhdGllIHNlbGJzdCBkZWZpbmllcnQgbmFjaCB3ZXN0bGljaGVtClZlcnN0YWVuZG5pcyBlcnN0bWFsIG51ciBkaWUgU3BpZWxyZWdlbCAiYWxsZSBzaW5kIGdsZWljaCIgWzEuIGdlbmVyZWxsZXIKVmVyZmFzc3VuZ3N6dXNhdHo6IG1pdHRlbHMgTWFjaHQgc2luZCBtYW5jaGUgbWFuY2htYWwgZ2xlaWNoZXJdLiBEaWVzZQpTcGllbHJlZ2VsIGdlaHQgc2Nob24gdW5nbGF1YmxpY2ggd2VpdCwgdW5kIGRhcyBtb2VnZW4gd2lyIGphLgpOaWNodHNkZXN0b3Ryb3R6IGthbm4gZXMgZnVlciBkaWUgR2VzZWxsc2NoYWZ0IG1pdCBkaWVzZXIgSGF1cHRzcGllbHJlZ2VsCkFkZE9ucyBnZWJlbi4gRGllIG5lbm5lbiBzaWNoIG1laXN0IEdlc2V0emUgdW5kIHdpZGVyc3ByZWNoZW4gZGVyCkhhdXB0c3BpZWxyZWdlbCBwcmluemlwaWVsbCBuaWNodC4gVW5kIGVpbiBHZXNldHoga2FubiBsYXV0ZW46ICJ3ZXIgaGllciBuaWNodAptaXRtYWNodCwgd2lyZCBrdXJ6ZSBaZWl0IHVuZ2xlaWNoZXIgZ2VtYWNodCwgZGFtaXQgZXIgZGFzIEdsZWljaHNlaW4gbGVybnQKdW5kIHNjaGFldHplbiBsZXJudCIuIERpZSBtZWlzdGVuIFN0cmFmZ2VzZXR6ZSBsYXV0ZW4gd29obCBhdWNoc28uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IEJpbGR1bmcgKEFsa29ob2wsIDI0LiBKYW4gMjAwNSwgMTY6NTA6NDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU4MTc0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKaG0gaWNoIGhhYiBub2NoIG5jaWh0IHp1ZW5kZSBnZWxlc2VuLCBhYmVyIHdvcnVlYmVyIGljaCBnZXN0b2xwZXJ0IGJpbjoKCndpZXNvIGVpZ2VudGxpY2ggZ2VodCBkaWUgUmVhbGl0YWV0IG1pdCBQYXJsYW1lbnQgZGVtIElkZWFsIGF1cyBkZW0gV2VnZT8gVm9uCndlbGNoZXIgSWRlZSBnZW5hdSBzcHJpY2hzdCBkdSBkYT8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBCaWxkdW5nIChHbG9pbnNvbiwgMjQuIEphbiAyMDA1LCAxNjo1MTo0NCk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1ODE4NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRpZSBIZXJyc2NoYWZ0IGRlcyBWb2xrZXMgZmluZGV0IHp1bWluZGVzdCBpbiBEIGluZGlyZWt0IHN0YXR0LiBEYXMgSWRlYWwKaGllc3NlIHdvaGwgZGlyZWt0ZSBIZXJyc2NoYWZ0LiBBYmVyIG5pY2h0IGFsbGUgSWRlYWxlIHNpbmQgaW4gZGVyIFJlYWxpdGFldAppZGVhbCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQwOiBCaWxkdW5nIChBbGtvaG9sLCAyNC4gSmFuIDIwMDUsIDE2OjUzOjEyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY1ODE5MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCnJlZGVzdCBkdSB2b24gVXRvcGllbiBvZGVyIHZvbiBJZGVhbGVuPwoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IEJpbGR1bmcgKE9nbywgMjQuIEphbiAyMDA1LCAxNjo1MzozMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTgxNzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEZW5rIGRvY2ggbmljaHQgc28ga29tcGxpemllcnQ7IFdlbm4gRGVtb3MgZGFzIFZvbGsgKGluIGtvbmtyZXRlciBBdXNwcmFlZ3VuZwpkYXMgSW5kaXZpZHV1bSkgaXN0IHVuZCBLcmF0aWEgbGVkaWdsaWNoIGRpZSBNYWNodC9IZXJyc2NoYWZ0LCBkYW5uIGZvbGdlcm4Kd2lyIGRhcmF1cywgZGFzcyAiZHUiIHp1bSBIZXJyc2NoZW4gZ2V6d3VuZ2VuIHdpcnN0LCB3ZW5uIG1hbiBkaWNoIHZlcmRvbm5lcnQsCmRlaW5lIFN0aW1tZSBhYnp1Z2ViZW4uIE9iIGR1IGRpY2ggbWl0IGRlbiBNZWhyaGVpdHNlbnRzY2hlaWR1bmdlbiBhbmZyZXVuZGVuCm9kZXIgc2llIGFremVwdGllcmVuIGthbm5zdCwgc3RlaHQgYXVmIGVpbmVyIGFuZGVyZW4gU2VpdGUsIGFiZXIgZGllCkRlbW9rcmF0aWUgaW0gU2lubmUgdm9uIEhlcnJzY2hhZnQgaXN0IGF1Zm9rdHJveWllcnQsIHdlaWwgZXMgZWluZSBXYWhscGZsaWNodAp1bmQga2VpbiBXYWhscmVjaHQgZ2lidC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTY6NTM6MzYpOgp+IyEgcm49QWxrb2hvbCBydD0xMTA2NTgxOTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpWb24gQmFzaXNkZW1va3JhdGllLiBEYXMgWmV1ZywgZGFzIG1hbiBpbW1lciBnZXJuIHdpZWRlciBhdXNwcm9iaWVydCwgZGFtaXQKbWFuIHNpY2ggZ2VnZW5zZWl0aWcgdG90c2NobGFnZW4ga2FubiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBCaWxkdW5nIChHcmltbWJvcm4sIDI0LiBKYW4gMjAwNSwgMTY6NTU6MDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU4MjAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRHUgbWVpbnN0LCBkaWUgVVNBIGZ1ZWhyZW4gaW0gSXJhayBkaWUgQmFzaXNkZW1va3JhdGllIGVpbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzk6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE2OjU1OjIwKToKfiMhIHJuPU9nbyBydD0xMTA2NTgyMDEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpadW0gRW50c2NoZWlkZW4gendpbmd0IGRpY2ggZGVpbmUgcmVpbmUgR2VidXJ0LCBkYXMga2FubnN0IGR1IGRpciBkdXJjaCBrZWluZQpHZXNlbGxzY2hhZnRzZm9ybSBhYm5laG1lbiBsYXNzZW4uCgpJY2ggd2llZGVyaG9sZSBtYWw6IEF1Y2ggZGllIHNjaGVpbmJhcmUgTmljaHR0ZWlsbmFobWUgYW4gZWluZXIgV2FobCBpc3QgZWluZQpUZWlsbmFobWUuIEluc29mZXJuOiBBcmd1bWVudCB1ZWJlcnpldWd0IG1pY2ggbmljaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDA6IEJpbGR1bmcgKEFsa29ob2wsIDI0LiBKYW4gMjAwNSwgMTY6NTU6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU4MjEyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKYWxzbyBkYSBtdXNzIGljaCBHbG9pbnNvbiByZWNodCBnZWJlbiwgd2VyIG5jaWh0IHdhZWhsdCwgd2FlaGx0IGRpZSwgZGllIGVyIGFtCndlbmlnc3RlbiBoYWJlbiB3b2xsdGUKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQwOiBCaWxkdW5nIChPZ28sIDI0LiBKYW4gMjAwNSwgMTY6NTc6NDEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU4MjEyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGFydWViZXIga2FubiBtYW4gc3RyZWl0ZW4uIFdvaGluZ2VnZW4gZGVyIEFic2VudGlzbXVzIGJlaSBlaW5lciBXYWhsIGZ1ZXIKbWljaCBrZWluIGRlbW9rcmF0aXNjaGVyIEFrdCBpc3QsIGJsZWlidCBkaWUgdW5ndWVsdGlnZSBvZGVyIGVudGhhbHRlbmRlClN0aW1tZSBhbHMgV2lsbGVuc2Vya2xhZXJ1bmcgaW0gZGVtb2tyYXRpc2NoZW4gU2lubmUgZXJoYWx0ZW4uCgpOaWNodHdhZWhsZXIgc2luZCBpbiBEZXV0c2NobGFuZCBOaWNodGRlbW9rcmF0ZW4uIE5pY2h0ZGVtb2tyYXRlbiBtdWVzc2VuIGluCkJlbGlnaWVuIHRyb3R6ZGVtIHdhZWhsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogQmlsZHVuZyAoV2hpdGV0aWdlciwgMjQuIEphbiAyMDA1LCAxNjo1OToyNyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1ODIxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkluIG1hbmNoZW4gTGFlbmRlcm4gTVVTUyBtYW4gd2FlaGxlbi4gT2RlciB3aXJkIG1pdCBTdHJhZmVuIGJpcyBnZ2YuCkdlZmFlbmduaXMgYmVsZWd0Li4uCkF1c3RyYWxpZW4sIEFyZ2VudGluaWVuLCBCZWxnaWVuLCB6dW0gQmVpc3BpZWwuCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDE6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE2OjU5OjI5KToKfiMhIHJuPU9nbyBydD0xMTA2NTgyMjYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJbndpZWZlcm4gaXN0IGVzIHVuZGVtb2tyYXRpc2NoIHNpY2ggbWl0dGVsIEFid2VzZW5oZWl0IHNlaW5lciBTdGltbWUgenUKdmVyd2VpZ2Vybj8gKEFsc28gZGVyIEludGVycHJldGF0aW9uIGRlciBXYWhsdW5sdXN0IGZyZWllbiBMYXVmIHp1IGxhc3NlbgphbnN0YXR0IHNvIGV0d2FzIGRlZmluaXRpdmVzIHdpZSBlaW5lbiB1bmd1ZWx0aWdlbiBTdGltbXpldHRlbCBhbHMgTmFjaHJpY2h0CmZ1ZXIgVW5sdXN0IG9kZXIgSW5rb21wZXRlbnogenUgaGludGVybGFzc2VuLikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MjogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxNzowMTo0MSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTExMDY1ODIzNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmhhYiBpY2ggZGFzIGlyZ2VuZHdvIGJlc3RyaXR0ZW4/CmljaCBmaW5kZSBudXIsIGRhc3MgQWJlcmtlbm51bmcgZGVzIEJ1ZXJnZXJyZWNodGVzIGR1cmNoYXVzIGVpbmUKdWViZXJsZWdlbnN3ZXJ0ZSBTdHJhZmUgaXN0CgoodmllbGxlaWNodCBuaWNodCBiZWltIGVyc3RlbiBWZXJnZWhlbiAuLi4gKQoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDM6IEJpbGR1bmcgKEdsb2luc29uLCAyNC4gSmFuIDIwMDUsIDE3OjAyOjI5KToKfiMhIHJuPUFsa29ob2wgcnQ9MTEwNjU4MjUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSGEhIERhIHNpbmQgd2lyIGRhbm4gamEgZG9jaCBiZWkgZGVyIE9wdC1Jbi1EZW1va3JhdGllIG5hY2ggSGVpbmxlaW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NDogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxNzowMjo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NTgyNTQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgp3ZXIgaXN0IEhlaW5sZWluPwoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDY6IEJpbGR1bmcgKEFsa29ob2wsIDI0LiBKYW4gMjAwNSwgMTc6MDg6MDEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjU4MjgxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKYWxzbyBmdWVyIG1laW5lIEJlZ3JpZmZlIHNpbmQgd2lyIGRhdm9uIGRhbm4gYWJlciBub2NoIG1laWxlbndlaXQgd2VnCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NTogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTc6MDg6MTEpOgp+IyEgcm49QWxrb2hvbCBydD0xMTA2NTgyNTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEZXIgTWFubiwgZGVyICJTdGFyc2hpcCBUcm9vcGVycyIgc2NocmllYi4gRWluIHppZW1saWNoIGVyZm9sZ3JlaWNoZXIKU0YtQXV0b3IsIGRlc3NlbiBHZXNjaGljaHRlbiBpbW1lciBkYXMgUmVjaHQgKHVuZCBkaWUgUGZsaWNodCkgZGVzIEluZGl2aWR1dW1zCmF1ZiBTZWxic3RiZXN0aW1tdW5nIGJldG9uZW4uIChodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1JvYmVydF9IZWlubGVpbikKClN0YXJzaGlwLVRyb29wZXJzIGVyemFlaGx0IG5lYmVuYmVpIHZvbiBkZXIgT3B0LUluLURlbW9rcmF0aWUuIE51ciB3ZW5uIGR1CmRpZW5zdCBoYXN0IGR1IHZvbGxlIEJ1ZXJnZXJyZWNodGUsIGthbm5zdCBhbHNvIHdhZWhsZW4gdW5kICghKSBpbiBlaW4Kb2VmZmVudGxpY2hlcyBBbXQgZ2V3YWVobHQgd2VyZGVuLgoKQW5zb25zdGVuIHNpbmQgYWxsZSBnbGVpY2ggOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NzogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMTc6MTE6MDIpOgp+IyEgcm49QWxrb2hvbCBydD0xMTA2NTgyODgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpXZWl0IHdlZz8gSXN0IGF1Y2ggYmVzc2VyIHNvLiBEaWVzZSBPcHQtSW4tRGVtb2tyYXRpZSBpc3QgZWluIGJpc3NjaGVuIG5haGUgYW4KZWluZXIgRGlrdGF0dXIuIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQxOiBCaWxkdW5nIChHbG9pbnNvbiwgMjQuIEphbiAyMDA1LCAxNzo0MjoxMCk6Cn4jISBybj1PZ28gcnQ9MTEwNjU4MjI2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVW0gdmllbGxlaWNodCBub2NoIGVpbmVuIE5lYmVuc2NoYXVwbGF0eiBhdWZ6dW1hY2hlbjogV2VubiBlaW5lIFdhaGxwZmxpY2h0CnVuZGVtb2tyYXRpc2NoIHdhZXJlLCB3YXMgaXN0IGRhbm4gZGllIEVpbnNjaHJhZW5rdW5nIGRlcyBXYWhscmVjaHRzPyAoV2FzCmxlZ2l0aW1pZXJ0IGRpZSBXYWhsZmFlaGlna2VpdCBlaW4gMzBqYWVocmlnZW4gS3JldGlucyBpbSBWZXJnbGVpY2ggenUgZWluZW0KMTVqYWVocmlnZW4gR2VuaWVzPyBVbmQgd2FzLCB3ZW5uIGRlciAxNWphZWhyaWdlIGF1Y2ggZWluIEtyZXRpbiB3YWVyZT8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDY6IEJpbGR1bmcgKFR1cmJvLCAyNC4gSmFuIDIwMDUsIDE4OjQzOjAyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY1ODI4OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCk5hamEsIFN0YXJzaGlwIFRyb29wZXJzIGlzdCBlaW4gemllbWxpY2ggZmFzY2hpc3RvaWRlcyB1bmQgbWlsaXRhcmlzdGlzY2hlcwpNYWNod2Vyay4gRGllIGFuZGVyZW4gc2luZCBVbmdlemllZmVyLCB1bmQgbnVyIGRpZSBLcmllZ2VyIGR1ZXJmZW4gYWJzdGltbWVuLgpEYW5uIGxpZWJlciBCUkQtRGVtb2tyYXRpZSBvZGVyIHNvZ2FyIEhvbmVja2VyLSJTb3ppYWxpc211cyIuIEZhc2NoaXNtdXMKaGF0dGVuIHdpcmQgc2Nob24uCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40NzogQmlsZHVuZyAoQWxrb2hvbCwgMjQuIEphbiAyMDA1LCAxODo0NDoyNCk6Cn4jISBybj1UdXJibyBydD0xMTA2NTg4NTgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgp3YXMgaGF0IG51ciBrcmllZ2VyIGR1ZXJmZW4gYWJzdGltbWVuIG1pdCBmYXNjaGlzbXVzIHp1IHR1bj8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ3OiBCaWxkdW5nIChIdW1uaSwgMjQuIEphbiAyMDA1LCAxODo0NTo1OCk6Cn4jISBybj1UdXJibyBydD0xMTA2NTg4NTgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEaWUgV29ydGUgLCxJcm9uaWUnJywgLCxTYWtyYXNtdXMnJyBvZGVyIGF1Y2ggZWluZmFjaCAsLFZlcmFyc2NodW5nJycgc2FnZW4KZGlyIGFiZXIgd2FzLCBvZGVyPwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ4OiBCaWxkdW5nIChUdXJibywgMjQuIEphbiAyMDA1LCAxODo0ODo0Nyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDY1ODg2NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRhcyBpc3QgTWlsaXRhcmlzbXVzLCBkZXIgaXN0IG1pdCBGYXNjaGlzbXVzIGVuZyB2ZXJ3YW5kdC4gRGFzcyBkZXIgRmVpbmQKVW5nZXppZWZlciBpc3QsIGlzdCBGYXNjaGlzbXVzIHB1ci4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ4OiBCaWxkdW5nIChUdXJibywgMjQuIEphbiAyMDA1LCAxODo0OTozMSk6Cn4jISBybj1IdW1uaSBydD0xMTA2NTg4NzU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpTdGFyc2hpcCBUcm9vcGVycyBpc3QgbmFjaCBIZWlubGVpbnMgZWlnZW5lciBBdXNzYWdlIGtlaW5lIFNhdGlyZS4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ5OiBCaWxkdW5nIChBbGtvaG9sLCAyNC4gSmFuIDIwMDUsIDE4OjQ5OjM5KToKfiMhIHJuPVR1cmJvIHJ0PTExMDY1ODg5Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCm9oIG1hbiwgZGFzIGdsYXVic3QgZHUgc28gbmljaHQgd2lya2xpY2gsIG9kZXI/CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OTogQmlsZHVuZyAoSHVtbmksIDI0LiBKYW4gMjAwNSwgMTg6NTA6NTcpOgp+IyEgcm49VHVyYm8gcnQ9MTEwNjU4ODk3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGFubiBoYXN0IER1IFJlY2h0IHVuZCBpY2ggaGFiIGRlbiBGaWxtIG5pY2h0IHZlcnN0YW5kZW4uCgpXYXMgd3VlcmRlc3QgRHUgc2FnZW4sIHdlbm4gei5CLiBFcmljIElkbGUgc2FnZW4gd3VlcmRlLCAiRGFzIExlYmVuIGRlcyBCcmlhbiIKc2VpIGVpbiBGaWxtIHVlYmVyIGRhcyBMZWJlbiB2b24gSmVzdXMgQ2hyaXN0dXM/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTA6IEJpbGR1bmcgKEd3ZW5pbGksIDI0LiBKYW4gMjAwNSwgMTg6NTc6MjEpOgp+IyEgcm49SHVtbmkgcnQ9MTEwNjU4OTA1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKIFdBUz8gRGFzIGlzdCBrZWluIEZpbG0gdWViZXIgZGFzIExlYmVuIHZvbiBKLkMuPwpHd2VuaWxpIGlzdCBlcnNjaHVldHRlcnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MDogQmlsZHVuZyAoVHVyYm8sIDI0LiBKYW4gMjAwNSwgMTk6MDE6MTEpOgp+IyEgcm49SHVtbmkgcnQ9MTEwNjU4OTA1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSWNoIGJlemllaGUgbWljaCBhdWYgZGFzIEJ1Y2guCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MTogQmlsZHVuZyAoR2xvaW5zb24sIDI0LiBKYW4gMjAwNSwgMjI6MjI6MzcpOgp+IyEgcm49VHVyYm8gcnQ9MTEwNjU4OTY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGVyIEZpbG0gaXN0IGVpbmUgU2F0aXJlIGF1ZiBOYXRpb25hbGlzbXVzLCBNaWxpdGFyaXNtdXMsIFJhc3Npc211cy4gV2VubiAKdWViZXJoYXVwdC4gRXMgaXN0IGF1ZiBqZWRlbiBGYWxsIGVpbiBuZXR0ZXIgQWN0aW9uc3RyZWlmZW4sIGRlciBtaXQgZGVtIEJ1Y2ggCm5pY2h0IHZpZWwgZ2VtZWluIGhhdCBhdXNzZXIgZWluIHBhYXIgRWxlbWVudGVuIHVuZCBHZXN0YWx0ZW4gZGVyIFN0b3J5bGluZS4gCkF1Y2ggd2VubiBkZXIgUmVnaXNzZXVyIGJlaGF1cHRldCBkaWUgUGhpbG9zb3BoaWUgZGVzIEJ1Y2hlcyBkYXJ6dXN0ZWxsZW4uIApBbHMgVW1zZXR6dW5nIGRlcyBCdWNoZXMgaXN0IGVyIERyZWNrLgoKRGFzIEJ1Y2ggaXN0IHNpY2hlciBuaWNodCBmYXNjaGlzdG9pZC4gSGVpbmxlaW4gemVpY2huZXQgZWluZSBwb2xpdGlzY2ggdW5kIAp3aXJ0c2NoYWZ0bGljaGUgbGliZXJhbGUgKGplZGVyIEJ1ZXJnZXIgKCEpIGthbm4gc2ljaCBhdWYgQWVtdGVyIGJld2VyYmVuLCAKUmljb3MgbmljaHRkaWVuZW5kZXIgVmF0ZXIgaXN0IGVyZm9sZ3JlaWNoZXIgSW5kdXN0cmllbGxlciksIG1vcmFsaXNjaCAKa29uc2VydmF0aXZlIGFiZXIgYXVjaCBkaXNrdXNzaW9uc2ZyZXVkaWdlIChNb3JhbCBhbmQgRXRoaWNzLCBzaWVoZSBhdWNoIApSaWNvcyBLYXJyaWVyZSwgc2llaGUgZGllIE1vZWdsaWNoa2VpdCBfbmljaHRfIHp1IGthZW1wZmVuKSBXZWx0LgpXZW5uIGR1IG1laW5zdCBkYXMgQnVjaCB3dWVyZGUgZWluZSBmYXNjaGlzdGlzY2ggYW5nZWhhdWNodGUgV2VsdCB6ZWljaG5ldCwgCmhhc3QgZHUgZXMgbmljaHQgZ2VsZXNlbi4gT2RlciBuaWNodCB2ZXJzdGFuZGVuLiBPZGVyIGJlaWRlcy4KCkRlciBEaWVuc3QgaW4gZGVyIEZvZWRlcmF0aW9uIGlzdCBkYXMgTWl0dGVsLCB1bSBmcmVpIG5hY2ggS2VubmVkeSAKYXVzenVzaWViZW46ICIuLi4gZnJhZyBkaWNoLCB3YXMgZHUgZnVlciBkZWluIExhbmQgdHVuIGthbm5zdC4iIEVzIGlzdCBuaWNodCAKZWlubWFsIHNvLCBkYXNzIGFsbGUgaW0gTWlsaXRhZXIgc2luZCwgZGllIEZvZWRlcmF0aW9uIGlzdCBncm9lc3Nlci4gRXMgaXN0IApzbywgZGFzcyBrZWluIE1pbGl0YWVyIGluIGRpZSBQb2xpdGlrIGdlaGVuIGthbm4sIGRhcyBpc3QgZXJzdCBlcmxhdWJ0IHdlbm4gCmVyIGF1cyBkZW0gRGllbnN0IGVudGxhc3NlbiB3dXJkZS4gU292aWVsIHp1bSBNaWxpdGFyaXNtdXMuCkRpZXNlIE1ldGhvZGUgaXN0IGVpbmUgaWRlYWxlIGluIGRlciBnZXplaWNobmV0ZW4gV2VsdC4gQWJlciBzaWUga3Jhbmt0IApuYXR1ZXJsaWNoIGFtIElkZWFsaXNtdXMsIGRlbm4gaW4gZGVyIFJlYWxpdGFldCBnYWViZSBlcyBzaWNoZXIgS3VuZ2VsZWllbi4KCldhcyBkYXMgQnVjaCBhdWYgamVkZW4gRmFsbCBtYWNodCB1bmQgd2FzIGVzIGF1Y2ggbmFjaCBIZWlubGVpbiBzb2xsLCB3YXMgZXIgCm1pdCBmYXN0IGFsbGVuIHNlaW5lciBlaWdlbmFydGlnIGdlc2NocmllYmVuZW4gQnVlY2hlciB2b3JoYXR0ZTogRXMgcmVndCB6dW0gCk5hY2hkZW5rZW4gYW4uIEFsbGVyZGluZ3MgaXN0IGVzIGVoZXIgZWluIEp1Z2VuZGJ1Y2ggdW5kIGRpZSBtZWlzdGVuIApIb2JieXBoaWxvc29waGVuIHdlcmRlbiBzaWNoIHZvbSBBY3Rpb25uZWJlbnNwaWVsIGVoZXIgYWJnZXN0b3NzZW4gZnVlaGxlbi4KCkRpZSBtb3JhbGlzY2hlIEFyZ3VtZW50YXRpb25lbiBzaW5kIHdvaGwgYW0gc2Nod2Vyc3RlbiB6dSB2ZXJkYXVlbjoKLSBNb3JhbCBQaGlsb3NvcGh5IHVuZCBEZW1va3JhdGllCi0gVG9kZXNzdHJhZmUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MjogQmlsZHVuZyAoTXVhZGliLCAyNS4gSmFuIDIwMDUsIDEyOjQ3OjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY2MDE3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCmljaCB3dWVyZGUgbWljaCB6dSBkZXIgYXVzc2FnZSBoaW5yZWlzc2VuIGxhc3NlbiwgZGFzcyBkZXIgZ2FuemUgZmlsbSBkcmVjawpzZWkKYWJlciBpY2ggdHVlIGVzIG5pY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MjogQmlsZHVuZyAoVHVyYm8sIDI1LiBKYW4gMjAwNSwgMTY6MDY6MTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjYwMTc1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKPkRlciBGaWxtIGlzdCBlaW5lIFNhdGlyZSBhdWYgTmF0aW9uYWxpc211cywgTWlsaXRhcmlzbXVzLCBSYXNzaXNtdXMuIFdlbm4KLi4KPkFscyBVbXNldHp1bmcgZGVzIEJ1Y2hlcyBpc3QgZXIgRHJlY2suCgpTYXRpcmlzY2hlcyBoYWJlIGljaCBkYSBuaWNodCBnZWZ1bmRlbi4gQWxzIGZsYWNoZXIgQWN0aW9uc3RyZWlmZW4gdm9uCm1pciBhdXMsIGRhIHNvbGx0ZSBtYW4gaW4gZGVyIFRhdCBkaWUgTGF0dGUgbmljaHQgenUgaG9jaCBoYWVuZ2VuLiBTbwppbiBkZXIgV2Vpc2UsIG9iIGRpZSBEYXJzdGVsbHVuZyB2b24gT3JrcyBuaWNodCBkaXNrcmltaW5pZXJlbmQgaXN0CnVuZCBqZWRlciBFbGZlbmZpbG0gc2VpbmVuIFF1b3Rlbm9yayBicmF1Y2h0IC4uICpnKiBEYXMgbXVzcyBuaWNodC4KCj5EYXMgQnVjaCBpc3Qgc2ljaGVyIG5pY2h0IGZhc2NoaXN0b2lkLiBIZWlubGVpbiB6ZWljaG5ldCBlaW5lIHBvbGl0aXNjaCB1bmQKPndpcnRzY2hhZnRsaWNoZSBsaWJlcmFsZSAoamVkZXIgQnVlcmdlciAoISkga2FubiBzaWNoIGF1ZiBBZW10ZXIgYmV3ZXJiZW4sCj5SaWNvcyBuaWNodGRpZW5lbmRlciBWYXRlciBpc3QgZXJmb2xncmVpY2hlciBJbmR1c3RyaWVsbGVyKSwgbW9yYWxpc2NoCj5rb25zZXJ2YXRpdmUgYWJlciBhdWNoIGRpc2t1c3Npb25zZnJldWRpZ2UgKE1vcmFsIGFuZCBFdGhpY3MsIHNpZWhlIGF1Y2gKPlJpY29zIEthcnJpZXJlLCBzaWVoZSBkaWUgTW9lZ2xpY2hrZWl0IF9uaWNodF8genUga2FlbXBmZW4pIFdlbHQuCgpEYXMgQnVjaCBtYWNodCBnZW5hdSBkYXMsIHdhcyBqZWRlIGZhc2NoaXN0aXNjaGUgVXRvcGllIG1hY2h0OiBFcwptYWx0IGRpZSBVbnRlcm1lbnNjaGVuL3dlc2VuIGVudHdlZGVyIGFscyB2b24gTmF0dXIgc2NobGVjaHRlIHVuZAphdXNyb3R0dW5nc2JlZHVlcmZ0aWdlIEtpbGxlciBvZGVyIGFscyB1bmZhZWhpZ2UsIGRlciBIZXJyZW5yYXNzZQpiZWR1ZXJmdGlnZSB1bmQgZGFmdWVyIGRhbmtiYXJlIFdpbGRlLiBJbiBkaWVzZW0gRmFsbGUgZXJzdGVyZXMuCgpEaWUgR2VzZWxsc2NoYWZ0c3Zpc2lvbiBpc3QgZGllIGVpbmVyIEtyaWVnZXJnZXNlbGxzY2hhZnQsIGRpZSBuYXR1ZXJsaWNoCmlkZWFsaXNpZXJ0IHdpcmQ6IERpZSBNaWxpdGFyaXN0ZW4gc2luZCB1bnRlcmVpbmFuZGVyIGRlbW9rcmF0aXNjaCB1bmQKZ2VnZW51ZWJlciBkZW4gc2NobGFwcGVuIEV0YXBwZW5zY2h3ZWluZW4gd29obG1laW5lbmQuIERpZSBpbSBLcmllZwpiZWZpbmRsaWNoZSB1bmQgZHVyY2ggZGVuIEtyaWVnIGdlemVpY2huZXRlIEdlc2VsbHNjaGFmdCBlcnNjaGVpbnQKbmljaHQgYWxzIEFic2NocmVja3VuZyBvZGVyIGJlZGF1ZXJsaWNoZXMsIGFiZXIgbm90d2VuZGlnZXMgVWViZWwKYXVmIEdydW5kIGRlcyBVZWJlcmZhbGxzIGR1cmNoIGRpZSBBbGllbnMsIHNvbmRlcm4gYWxzIGVyc3RyZWJlbnN3ZXJ0ZXMKSWRlYWwuIERhcyBpc3QgdHlwaXNjaCBmdWVyIGplZGUgZmFzY2hpc3Rpc2NoZSBJZGVvbG9naWUsIGRpZSBGZWluZGJpbGQtCmZpeGllcnVuZyB1bmQgQXVzbmFobWV6dXN0YW5kIGFscyBLb25zdGl0dWVucyB1bmQgV2VzZW5tZXJrbWFsIGlocmVyCkdlc2VsbHNjaGFmdHNwaGlsb3NvcGhpZSBuaW1tdCAodmdsLiBhdWNoIENhcmwgU2NobWl0dCB1LmEuKS4KCj5XZW5uIGR1IG1laW5zdCBkYXMgQnVjaCB3dWVyZGUgZWluZSBmYXNjaGlzdGlzY2ggYW5nZWhhdWNodGUgV2VsdCB6ZWljaG5ldCwKPmhhc3QgZHUgZXMgbmljaHQgZ2VsZXNlbi4gT2RlciBuaWNodCB2ZXJzdGFuZGVuLiBPZGVyIGJlaWRlcy4KCkljaCBoYWJlIGVzIGdlbGVzZW4sIHVuZCBlcyBoYXQgbWljaCBnZWxhbmd3ZWlsdCB1bmQgYWJnZXN0b3NzZW4uIEljaAprZW5uZSB2b24gSGVpbmxlaW4gdS5hLiAiU3RyYXNzZSBkZXMgUnVobXMiICh3aWUgaGllc3MgZGFzIG5vY2htYWwgYXVmCkVuZ2xpc2NoKSB1bmQgIlRoZSBNb29uIGlzIGEgaGFyc2ggTWlzdHJlc3MiIChXaWUgaGllc3MgZGFzIG5vY2htYWwKYXVmIERldXRzY2gpLCBiZWlkZXMgbGVpY2h0IHVuZCBodW1vcnZvbGwgZ2VzY2hyaWViZW5lIFdlcmtlLCBtaXQKdmllbCBIdW1vciB1bmQgU2VsYnN0aXJvbmllLiBTdGFyc2hpcCBUcm9vcGVycyBsYW5nd2VpbHQgbWl0IHNlaXRlbmxhbmdlbgpwcmVkaWd0aGFmdGVuIHBzZXVkb3BoaWxvc29waGlzY2hlbiBUaXJhZGVuIGF1ZiBlcnNjaHJlY2tlbmQgbmllZHJpZ2VtCk5pdmVhdSB1bmQgdm9sbGVyIGZha3Rpc2NoZXIgRmFsc2NoaGVpdGVuIChnZW5hdSBnZW5vbW1lbiBoYWJlIGljaAptZWluZXMgV2lzc2VucyBhbGxlIEJ1ZWNoZXIgdm9uIEhlaW5sZWluIGdlbGVzZW4sIG1hbmNoZSB3YXJlbiBiZXNzZXIsCm1hbmNoZSBuaWNodCBzbyB0b2xsLCBhYmVyIHNvIGJlc2NoLi5laWRlbiB1bmQgYWJzdG9zc2VuZCB3YXIga2VpbiBhbmRlcmVzKS4KCj5EZXIgRGllbnN0IGluIGRlciBGb2VkZXJhdGlvbiBpc3QgZGFzIE1pdHRlbCwgdW0gZnJlaSBuYWNoIEtlbm5lZHkKPmF1c3p1c2llYmVuOiAiLi4uIGZyYWcgZGljaCwgd2FzIGR1IGZ1ZXIgZGVpbiBMYW5kIHR1biBrYW5uc3QuIiBFcyBpc3QgbmljaHQKPmVpbm1hbCBzbywgZGFzcyBhbGxlIGltIE1pbGl0YWVyIHNpbmQsIGRpZSBGb2VkZXJhdGlvbiBpc3QgZ3JvZXNzZXIuCgpBYmVyIG51ciBkYXMgTWlsaXRhZXIgZGFyZiB3YWVobGVuLiBXb2JlaSBzaWNoIGRpZSBGcmFnZSBzdGVsbHQsIHdhcyBkZW5uCndpcmQsIHdlbm4gZGllIEFsaWVucyBhdXNnZXJvdHRldCBzaW5kLCBibGVpYnQgZGFubiBkYXMgTWlsaXRhZXIsIGRhbWl0CmplbWFuZCB3YWVobGVuIGthbm4/Cgo+RXMgaXN0Cj5zbywgZGFzcyBrZWluIE1pbGl0YWVyIGluIGRpZSBQb2xpdGlrIGdlaGVuIGthbm4sIGRhcyBpc3QgZXJzdCBlcmxhdWJ0IHdlbm4KPmVyIGF1cyBkZW0gRGllbnN0IGVudGxhc3NlbiB3dXJkZS4gU292aWVsIHp1bSBNaWxpdGFyaXNtdXMuCgpHbGVpY2h3b2hsIGlzdCBkaWUgR2VzZWxsc2NoYWZ0IG1pbGl0YXJpc2llcnQsIHVuZCBOaWNodG1pbGl0YWVycyBoYWJlbgprZWluZSBNaXRiZXN0aW1tdW5nc3JlY2h0ZS4KCkRpZSBTdGFobGdld2l0dGVybXlzdGlrIGRlciBoZWhyZW4gTWFyaW5laW5mYW50ZXJpZWhlbGRlbiBpc3QgaW4KaWhyZW0gU2Nod3Vsc3QgYXVjaCBuaWNodHMgYWxzIGF1ZiBDb21pY25pdmVhdSBnZWJyYWNodGVyIEVybnN0Ckp1ZW5nZXIgKHNvd2VpdCBiZWkgZGVtIG5vZXRpZyAqZWcqKS4gV2lkZXJ3YWVydGlnIGViZW4gLSB1bmQKbWlsaXRhcmlzdGlzY2guCgo+RGllc2UgTWV0aG9kZSBpc3QgZWluZSBpZGVhbGUgaW4gZGVyIGdlemVpY2huZXRlbiBXZWx0LiBBYmVyIHNpZSBrcmFua3QKPm5hdHVlcmxpY2ggYW0gSWRlYWxpc211cywgZGVubiBpbiBkZXIgUmVhbGl0YWV0IGdhZWJlIGVzIHNpY2hlciBLdW5nZWxlaWVuLgoKQW5kZXJzIGdlc2FndCwgZWluZSB1bmF1c2dlZ29yZW5lLCBhYnN0b3NzZW5kZSBEeXN0b3BpZS4gSGVpbmxlaW4gaXN0IGVpbgpzb2dlbmFubnRlciAiTGliZXJ0YXJpYW4iLCBlaW5lIHJhZGlrYWxrYXBpdGFsaXN0aXNjaGUgU2VrdGUsIGRpZSBpbiBkZW4KVVNBIGltIHdlc2VudGxpY2hlbiBhdWYgZGVtIHJlY2h0ZW4gRmx1ZWdlbCBkZXIgUmVwdWJsaWthbmVyIHVuZCBldHdhcyAuLgpobW0gc2VpdGxpY2ggZGF2b24gYW5nZXNpZWRlbHQgaXN0LiBEYXMgc2NoZWludCBhdWNoIGJlaSBlaW5pZ2VuIHNlaW5lcgphbmRlcmVuIFdlcmtlIGR1cmNoLCBpc3QgZG9ydCBhYmVyIGR1cmNoIEh1bW9yLCBJcm9uaWUgdW5kIGVpbmVuIGZsdWVzc2lnZW4KUGxvdCBhYmdlbWlsZGVydCBvZGVyIHN0b2VydCBuaWNodC4gSW4gZGVtIEJ1Y2gsIGRhcyBpY2ggZnVlciBkYXMgc2NobGVjaHRlc3RlCnZvbiBIZWlubGVpbiBoYWx0ZSwgdHJpZWZ0IGZhc3QgamVkZSBTZWl0ZSB2b24gSWRlb2xvZ2llLgoKPldhcyBkYXMgQnVjaCBhdWYgamVkZW4gRmFsbCBtYWNodCB1bmQgd2FzIGVzIGF1Y2ggbmFjaCBIZWlubGVpbiBzb2xsLCB3YXMgZXIKPm1pdCBmYXN0IGFsbGVuIHNlaW5lciBlaWdlbmFydGlnIGdlc2NocmllYmVuZW4gQnVlY2hlciB2b3JoYXR0ZTogRXMgcmVndCB6dW0KPk5hY2hkZW5rZW4gYW4uCgpJY2ggZmluZGUgZGEgbmljaHRzLCB3YXMgenVtIE5hY2hkZW5rZW4gYW5yZWd0LiBVbmluZm9ybWllcnRlIG1vZWdlbiBpbgpHZWZhaHIgZ2VyYXRlbiwgZWluaWdlIGRlciBhYnN0cnVzZW4gaGlzdG9yaXNjaGVuIEJlaGF1cHR1bmdlbiB6dSBnbGF1YmVuLgpEYXMgaXN0IGVzIGFiZXIgc2Nob24uCgo+QWxsZXJkaW5ncyBpc3QgZXMgZWhlciBlaW4gSnVnZW5kYnVjaCB1bmQgZGllIG1laXN0ZW4KPkhvYmJ5cGhpbG9zb3BoZW4gd2VyZGVuIHNpY2ggdm9tIEFjdGlvbm5lYmVuc3BpZWwgZWhlciBhYmdlc3Rvc3NlbiBmdWVobGVuLgoKRGllIEFjdGlvbiB3YWVyZSBhbHMgZmxhY2hlIFNwYWNlIE9wZXJhIGphIG9rLCBiZWltIFNwaWVsZW4gdm9uIFNwYWNlCkludmFkZXJzIG1hY2h0IG1hbiBzaWNoIGphIGF1Y2gga2VpbmUgR2VkYW5rZW4gdW0gZGllIGFybWVuIEFsaWVucwpvZGVyIHBoYW50YXNpZXJ0IHVlYmVyIGVpbmUgTWlsaXRhZXJkaWt0YXR1ciBhdWYgZGVyIEVyZGUuIEVzIGlzdCBkZXIKaWRlb2xvZ2lzY2hlIFNvbmRlcm11ZWxsLCBkZXIgc3RvZXJ0LgoKPkRpZSBtb3JhbGlzY2hlIEFyZ3VtZW50YXRpb25lbiBzaW5kIHdvaGwgYW0gc2Nod2Vyc3RlbiB6dSB2ZXJkYXVlbjoKPi0gTW9yYWwgUGhpbG9zb3BoeSB1bmQgRGVtb2tyYXRpZQo+LSBUb2Rlc3N0cmFmZQoKRXIgbGFiZXJ0IGRhIFNjaGVpc3NlLiBVbmQgZGFzIEJ1Y2ggaXN0IERyZWNrLiBIZWlubGVpbiBoYXQgYW4gYW5kZXJlcgpTdGVsbGUgdW50ZXIgQmV3ZWlzIGdlc3RlbGx0LCBkYXNzIGVyIHNjaHJlaWJlbiBrYW5uLCBpbiBkZW0gTWFjaHdlcmsKZGVmaW5pdGl2IG5pY2h0LgoKRmluZGUgaWNoLiBZTU1WCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MzogQmlsZHVuZyAoWm9vaywgMjUuIEphbiAyMDA1LCAxNjoxNjozMik6Cn4jISBybj1UdXJibyBydD0xMTA2NjY1NTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpOdXIgdW0gRGVpbmVuIEFydGlrZWwgYmVzc2VyIHp1IHZlcnN0ZWhlbjogV2FzIGdlbmF1IHZlcnN0ZWhzdCBEdSB1bnRlcgpGYXNjaGlzbXVzPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU0OiBCaWxkdW5nIChHcmltbWJvcm4sIDI1LiBKYW4gMjAwNSwgMTY6MjE6MTgpOgp+IyEgcm49Wm9vayBydD0xMTA2NjY2MTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgpab29rLCBsaWVzIGRvY2ggZWluZmFjaCBzZWluZW4gQXJ0aWtlbDogRGFzLCB3YXMgaW4gZGllc2VtIEJ1Y2ggZGFyZ2VzdGVsbHQKd2lyZCBuYXR1ZXJsaWNoLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41NTogQmlsZHVuZyAoQmFtYnVsa28sIDI1LiBKYW4gMjAwNSwgMTY6Mjg6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDY2NjY0Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkpldHp0IGlzdCBkaWUgRGlza3Vzc2lvbiB2b24gZGVyIEtpbmRlcmVyemllaHVuZyB1ZWJlciBTcGFjZSBUcm9vcGVycyAob2RlcgpzbykgYmVpbSBGYXNjaGlzbXVzIGFuZ2Vrb21tZW4/IFdhcyBrb21tdCBhbHMgbmFlY2hzdGVzPyBLb3Ntb2xvZ2llLCBCaW9ldGhpaywKb2RlciBHV0I/CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTQ6IEJpbGR1bmcgKFR1cmJvLCAyNS4gSmFuIDIwMDUsIDE2OjM4OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTEwNjY2NjE5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKdW50ZXIgRmFzY2hpc211cyBlcnN0IGVpbm1hbCBkaWUgdW50ZXIgZGllc2VtIE5hbWVuIGVudHN0YW5kZW5lbiBwb2xpdGlzY2hlbgpTeXN0ZW1lIHVuZCBUaGVvcmllbiwgaW4gd2VpdGVyZW0gU2lubmUgc3RydWt0dXJlbGwgYWVxdWl2YWxlbnRlIHNvbGNoZS4KU3RydWt0dXJtZXJrbWFsZSBzaW5kIGVpbmUgaWRlb2xvZ2lzY2ggZ2VyZWNodGZlcnRpZ3RlIHN0cnVrdHVyZWxsZSAKVW5nbGVpY2hoZWl0LCBSYXNzaXNtdXMsIEFibGVobnVuZyBsaWJlcmFsZXIgRGVtb2tyYXRpZSwgTWlsaXRhcmlzbXVzLApHZXdhbHRrdWx0LiBBbHMgQW5oYWx0c3B1bmt0OiBXb2xmZ2FuZyBXaXBwZXJtYW5uLCBGYXNjaGlzbXVzdGhlb3JpZW4sCkRhcm1zdGFkdCAxOTk3LCBJU0JOOiAzODk2NzgwNjJYLgoKVW5kIG5laW4sIGljaCBzYWdlIG5pY2h0LCBIZWlubGVpbiBzZWkgRmFzY2hpc3QuIEFiZXIgZGllIFV0b3BpZS9EeXN0b3BpZSwKZGllIGVyIGJyZWl0IGlkZW9sb2dpc2NoIGJyYW1iYXJzaWVyZW5kIGluIFN0YXJzaGlwIFRyb29wZXJzIGFibGFlc3N0LCBoYXQKbWl0IGZhc2NoaXN0aXNjaGVyIElkZW9sb2dpZSBlaW5pZ2VzIGdlbWVpbi4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU1OiBCaWxkdW5nIChab29rLCAyNS4gSmFuIDIwMDUsIDE2OjQzOjUxKToKfiMhIHJuPVR1cmJvIHJ0PTExMDY2Njc0OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClp3ZWkgQW5tZXJrdW5nZW46CgoxLiBEdSB2ZXJ3ZW5kZXN0IGRlcmFydCBvZnQgInN0cnVrdHVyZWxsIiBvZGVyIHp1Z2Vob2VyaWdlIEhhdXB0d29lcnRlciwKZGFzIG1pciBkZXIgU2lubiBkZXIgIlN0cnVrdHVyIiBuaWNodCBzbyBnYW56IGF1ZmdlaHQuIEJlc29uZGVycyBiZWkgCiJTdHJ1a3R1cm1lcmttYWxlIHNpbmQgKC4uLikgc3RydWt0dXJlbGxlIFVuZ2xlaWNoaGVpdCwgKC4uLikiLiAKCjIuIERlbiB6d2VpdGVuIEFic2F0eiB2ZXJzdGVoZSBpY2ggYXVmZ3J1bmQgZGVyIERpY2h0ZSB2b24gZnVlciBtaWNoIGZyZW1kZW4KV29ydGVuIG5pY2h0LiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41NTogQmlsZHVuZyAoWm9vaywgMjUuIEphbiAyMDA1LCAxNzoyOTo1Mik6Cn4jISBybj1UdXJibyBydD0xMTA2NjY3NDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpBaCwgZWluZSBOYWNoZnJhZ2UgaGFldHQgaWNoIG5vY2g6IElzdCBicmFtYmFyc2llcmVuZCBlaW4gVmVydGlwcGVyIG9kZXIKd2VubiBuZWluLCB3YXMgYmVkZXV0ZXQgZXM/IAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU2OiBCaWxkdW5nIChUdXJibywgMjUuIEphbiAyMDA1LCAxODo0NDo1Mik6Cn4jISBybj1ab29rIHJ0PTExMDY2NzA1OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkhpLCBrdXJ6IHp1cnVlY2sgOikgCgpBbHNvLCBkYXNzIGRhcyB3aWVkZXJob2x0ZSBzdHJ1a3R1ciogdW5zY2hvZW5lciBTdGlsIGlzdCwgc3RpbW10LiBNYW4gaGFldHRlCmRhcyBXb3J0IFN0cnVrdHVybWVya21hbGUgYXVjaCBkdXJjaCBIYXVwdG1lcmttYWxlIG9kZXIgLWVpZ2Vuc2NoYWZ0ZW4gCmVyc2V0emVuIGtvZW5uZW4uIEdydWVuZGxpY2hlciBEdXJjaGxlc2VuIHZvciBkZW0gUG9zdGVuIGlzdCBvZnQgYmVzc2VyLgpVbmQgZXMgc29sbHRlIG5hdHVlcmxpY2ggaGVpc3NlbiAiYnJhbWFiYXJzaWVyZW5kIiwgYWxzbyBwcmFobGVyaXNjaC0Kd2VpdHNjaHdlaWZpZyBsYWJlcm5kLiBTb3JyeS4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU3OiBCaWxkdW5nIChab29rLCAyNS4gSmFuIDIwMDUsIDIxOjQ2OjI2KToKfiMhIHJuPVR1cmJvIHJ0PTExMDY2NzUwOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClVtIG1hbCB3aWVkZXIgenVtIEJpbGR1bmdzLVRocmVhZCB6dXJ1ZWNrenVrb21tZW4sIGhpZXIgZWluIEFydGlrZWwgYXVzCmRlbSBPbmxpbmUtQW5nZWJvdCBkZXIgRkFaOgoKaHR0cDovL3Rpbnl1cmwuY29tLzRyZWRiCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTg6IEJpbGR1bmcgKEdsb2luc29uLCAyNS4gSmFuIDIwMDUsIDIxOjUyOjIwKToKfiMhIHJuPVpvb2sgcnQ9MTEwNjY4NTk4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKTmljaHQgZGVuIHVudGVuc3RlaGVuZGVuIExpbmsgdWViZXJzZWhlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU5OiBCaWxkdW5nIChEYXJrbG9yLCAyNi4gSmFuIDIwMDUsIDEzOjA2OjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY2ODYzNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCk9rIGpldHp0IHdpc3NlbiB3aXIsIGRhc3MgS29zdGFzIFBldHJvcHVsb3MgZnVlciBkaWUgRXJ6aWVodW5nIHp1IEhhdXNlIHVuZApTYW5kcmEgS2VnZWwgZnVlciBkaWUgS2luZGVya3JpcHBlIGlzdC4gLSBBYmVyIGhpbGZ0IGRhcyBkZXIgRGlza3Vzc2lvbgp3ZWl0ZXI/ICAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjYwOiBCaWxkdW5nIChIaWdobGFuZGVyLCAyNi4gSmFuIDIwMDUsIDEzOjEwOjUzKToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNjc0MTIxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKV2VyIGJpdHRlPwoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42MTogQmlsZHVuZyAoTm9ubmUsIDI2LiBKYW4gMjAwNSwgMTM6MTE6MjUpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTA2NzQxNDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEaWUgQXV0b3JlbiBkZXIgYmVpZGVuIEFydGlrZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42MDogQmlsZHVuZyAoR2xvaW5zb24sIDI2LiBKYW4gMjAwNSwgMTM6Mzk6MTApOgp+IyEgcm49RGFya2xvciBydD0xMTA2NzQxMjE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpEdSBrb2VubnRlc3QgaWhyZSBBcmd1bWVudGUgaGVyYW56aWVoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjE6IEJpbGR1bmcgKERhcmtsb3IsIDI2LiBKYW4gMjAwNSwgMTM6NTg6MTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjc0MzE1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRXMga29tbXQgbWlyIGFiZXIgZmFzdCBzbyB2b3IsIGFscyBoYWV0dGVuIHNpZSBoaWVyIG1pdGdlbGVzZW4uLi4gOykKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjYyOiBCaWxkdW5nIChab29rLCAyNi4gSmFuIDIwMDUsIDE0OjUxOjIyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNjc0NDI5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKTmFqYSwgYXVmIGRlciByZWNodGVuIFNlaXRlIGdpYnQgZXMgamEgbm9jaCBlaW5lIE1lbmdlIExpbmtzIHp1IAp0aGVtZW52ZXJ3YW5kdGVuIEFydGlrZWxuLiAoU293aWUgYXVjaCBhbSBFbmRlIGRlcyB2b24gbWlyIHppdGllcnRlbgpBcnRpa2VscykuCgpXYXMgaWNoIG5pY2h0IHZlcnN0ZWhlLCBpc3QgRGVpbmUgRnJhZ2UgIi4uLiBoaWxmdCBkYXMgZGVyIERpc2t1c3Npb24Kd2VpdGVyPyIgCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCbHV0d2FuZGx1bmcgdW5kIHNvIFpldWdzLiAoWm9vaywgMjYuIEphbiAyMDA1LCAxNTozMDowMCk6Cn4jISBybj1UdXJibyBydD0xMTA1MjIwOTM2IHJnPWdpbGRlbi5rYXR6ZW5rcmllZ2VyCn4jISB0aWQ9MTEwNTE0NDE5MwpIaWVyIG5vY2ggZWluZSBGcmFnIHp1IEdub21lcyBUaGVzZSBpbiBkaWVzZW0gVGhyZWFkLCBsZWlkZXIgc2Nob24KaW0gQXJjaGl2OgoKV2llIGdlbmF1IGtvbW1zdCBEdSBkYXJhdWYsIGRhc3MgTGVzYmVuIGluIERldXRzY2hsYW5kIGluIFN0YWVkdGVuIGRlbgpnbGVpY2hlbiBBbnRlaWwgYW4gZGVyIEJldm9lbGtlcnVuZyBoYWJlbiB3aWUgYXVmIGRlbSBwbGF0dGVuIExhbmQ/IE9kZXIKaGFiIGljaCBkYSB3YXMgbmljaHQgZ2FueiB2ZXJzdGFuZGVuIGluIERlaW5lciBBYnNjaGFldHp1bmcgZGVyIEdlc2FtdHphaGwKaW4gQmVybGluLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJsdXR3YW5kbHVuZyB1bmQgc28gWmV1Z3MuIChUdXJibywgMjYuIEphbiAyMDA1LCAxNTo1Njo1NSk6Cn4jISBybj1ab29rIHJ0PTExMDY3NDk4MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA1MTQ0MTkzCmljaCB2ZXJtdXRlIG1hbCwgZGllIEZyYWdlIGlzdCBhbiBHbm9tZSBnZXJpY2h0ZXQuIEljaCB3dWVyZGUgYXVjaCBlaGVyCmRhdm9uIGF1c2dlaGVuLCBkYXNzIHNpY2ggaW4gVGVpbGVuIGRlciBCZXZvZWxrZXJ1bmcgbmljaHQgc28gZ3V0IAphbmdlc2VoZW5lIE1pbmRlcmhlaXRlbiBpbiBTdGFkdCB1bmQgTGFuZCB1bnRlcnNjaGllZGxpY2gsIGdyb2IgbmFjaApWZXJ0ZWlsdW5nIHZvbiBMaWJlcmFsaXRhZXQgYnp3LiB3ZW5pZ2VyIHN0YXJrZW4gVm9ydXJ0ZWlsZW4sIHZlcnRlaWxlbgpkdWVyZnRlbiwgdmVyc3RhZXJrdCBpbiBhbHMgc3Via3VsdHVyZWxsZSBaZW50cmVuIGFuZ2VzZWhlbmVuIEdlYmlldGVuCih6LkIuIEJlcmxpbiBmdWVyIGRpZSBCUkQgb2RlciBTYW4gRnJhbmNpc2NvIHVuZCBOZXcgWW9yayBmdWVyIGRpZSBVU0EpLgoKVHVyYm8gKEthdGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKEdsb2luc29uLCAyNi4gSmFuIDIwMDUsIDE1OjU3OjQxKToKfiMhIHJuPVR1cmJvIHJ0PTExMDY3NTE0MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA1MTQ0MTkzCldpZSBndXQgYW5nZXNlaGVuIHNpbmQgZWlnZW50bGljaCBCYXVlcm4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKE9nbywgMjYuIEphbiAyMDA1LCAxNjowMDowNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NzUxNDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNTE0NDE5MwpXaXIgaGFiZW4gYWxsZSBkaWUgZ2VzY2hpY2t0ZSBVZWJlcmxlaXR1bmcgenUgZGVuIEVVLUFncmFyc3VidmVudGlvbmVuCmR1cmNoc2NoYXV0IQoKT2dvLCBzY2htdW56ZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKFR1cmJvLCAyNi4gSmFuIDIwMDUsIDE2OjAwOjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY3NTE0NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA1MTQ0MTkzCkd1dGUgRnJhZ2UuIEFsbGVyZGluZ3MgZHVlcmZ0ZW4gQmF1ZXJuLCBhdWNoIHdlbm4gc2llIGRvcnQgc2VociBndXQgCmFuZ2VzZWhlbiBzaW5kLCBpbiBkZXIgV3Vlc3RlIHouQi4gc2VsdGVuIGF1ZnRyZXRlbi4gT2RlciBTeXN0ZW1wcm9ncmFtbWllcmVyCmltIFJlZ2Vud2FsZC4gRXMgZ2lidCBmdWVyIEJpbm5lbndhbmRlcnVuZ2VuIHN0ZXRzIHZlcnNjaGllZGVuZW4gTW90aXZlLApOaWNodGRpc2tyaW1pbmllcnVuZyBpc3QgbnVyIGVpbnMuICpnKgoKVHVyYm8gKEthdGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKEdyaW1tYm9ybiwgMjYuIEphbiAyMDA1LCAxNjowODo1Nyk6Cn4jISBybj1UdXJibyBydD0xMTA2NzUxNjM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNTE0NDE5MwpCYXVlcm4gc2luZCwgYXVmZ3J1bmQgZGVyIHVlYmVybWFlc3NpZ2VuIEFncmFyc3VidmVudGlvbmVuLCBuaWNodCBndXQKYW5nZXNlaGVuLiBEZW5ub2NoIHRyaXR0IGVpbmUgS29uemVudHJhdGlvbiBpbiB6LkIuIEJlcmxpbiBlaGVyIG5pY2h0IGF1Zi4gCldhcyBkaWUgd2lya2xpY2ggbmljaHQgZ3V0IGFuZ2VzZWhlbmUgTWluZGVyaGVpdCBkZXIgQmFua3ZvcnN0YWVuZGUgYW5nZWh0LApkaWUgc2luZCB0YXRzYWVjaGxpY2ggdi5hLiBpbiBGcmFua2Z1cnQga29uemVudHJpZXJ0LgpGYXppdDogRGVpbmUgVGhlb3JpZSB0cmlmZnQgbWFsIHp1IHVuZCBtYWwgbmljaHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJsdXR3YW5kbHVuZyB1bmQgc28gWmV1Z3MuIChUdXJibywgMjYuIEphbiAyMDA1LCAxNjoxNjowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwNjc1MjEzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDUxNDQxOTMKRGllIFRoZW9yaWUgaXN0OiBEaXNrcmltaW5pZXJ1bmcga2FubiBlaW4gQW5sYXNzIHp1ciBCaW5uZW53YW5kZXJ1bmcgc2Vpbi4KVW5kIHdhcyBCYW5rdm9yc3RhZW5kZSBhbmdlaHQsIHNpbmQgZGllIGVoZXIgaW0gVGF1bnVzIGtvbnplbnRyaWVydCwgc28gCmltIFJoZWluLU1haW4tR2ViaWV0IGFuc2Flc3NpZy4gVW5kIGRvcnQgc2luZCBzaWUgc293b2hsIGFuZ2VzZWhlbiBhbHMgCmF1Y2ggbmljaHQgZGlza3JpbWluaWVydC4gQmVpIG11bHRpdmFyaWF0ZW4gWnVzYW1tZW5oYW5nc2h5cG90aGVzZW4gZ2lidAplcyB1ZWJyaWdlbnMgVGVzdHZlcmZhaHJlbi4gRGllIEluZmVyZW56c3RhdGlzdGlrIGlzdCBEZWluIEZyZXVuZC4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJsdXR3YW5kbHVuZyB1bmQgc28gWmV1Z3MuIChHcmltbWJvcm4sIDI2LiBKYW4gMjAwNSwgMTY6MjY6MjgpOgp+IyEgcm49VHVyYm8gcnQ9MTEwNjc1MjU2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDUxNDQxOTMKSWNoIHdpZGVyc3ByZWNoZSBoaWVybWl0IGVuZXJnaXNjaCBkZXIgQXVzc2FnZSwgZGFzcyBJbmZlcmVuenN0YXRpc3RpayBtZWluCkZyZXVuZCBzZWluIHNvbGx0ZSEKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKE11YWRpYiwgMjYuIEphbiAyMDA1LCAxNjo1NDoyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwNjc1MzE4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDUxNDQxOTMKZ2lidCBlcyBlaWdlbnRsaWNoIHZpZWxlIHN5c3RlbXByb2dyYW1taWVyZW5kZSwgbGFuZHdpcnRzY2hhZnRsaWNoIHRhZXRpZ2UKaGFyZGNvcmVsZXNiZW4gaW0gcmVnZW53YWxkP2AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBCbHV0d2FuZGx1bmcgdW5kIHNvIFpldWdzLiAoRGFya2xvciwgMjYuIEphbiAyMDA1LCAxNzo0MDoyNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwNjc1NDg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDUxNDQxOTMKRnVlaHIgZWluZSBWb2xrc3phZWhsdW5nIGR1cmNoLCB3ZW5uIGR1IGRhcyBlcmZhaHJlbiB3aWxsc3QuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCbHV0d2FuZGx1bmcgdW5kIHNvIFpldWdzLiAoTW9udGFudXMsIDI3LiBKYW4gMjAwNSwgMTA6NTM6MTQpOgp+IyEgcm49RGFya2xvciBydD0xMTA2NzU3NjI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNTE0NDE5MwpaZWlnIG1pciBkZW4gUmVnZW53YWxkIGluIERldXRzY2hsYW5kLCBpbiBkZW0gaWNoIFZvbGsgemFlaGxlbiBkYXJmLCB1bmQgaWNoCm1hY2ggZXMuCkFiZ2VzZWhlbiBkYXZvbiBtdWVzc3RlIG1hbiBhdXNuYWhtc2xvcyBhbGxlIFN5c3RlbXByb2dyYW1taWVyZXIgaW4gZGVuClJlZ2Vud2FsZCBzY2hpY2tlbi4gVWRuIGRvcnQgdmVyZ2Vzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjM6IEJpbGR1bmcgKFd1cnplbCwgMjcuIEphbiAyMDA1LCAxMjoxMzowMik6Cn4jISBybj1ab29rIHJ0PTExMDY3NDc0ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCndhcyBoaWVyIGluIGRlbSB0aHJlYWQgYWJnZWxhc3NlbiB3aXJkLCBrYW5uIHNjaG9uIG1hbCBnYW56IHNjaG9lbiB3ZWggdHVuLgoKbWl0dGxlcndlaWxlIHZlcmFic2NoaWVkZXQgc2ljaCBzZWxic3QgZGllIGNkdSB2b24gZGVyIGZvcmRlcnVuZywgZWx0ZXJuICh2b3IKYWxsZW0gbmF0dWVybGljaCBtdWV0dGVyKSBtdWVzc3RlbiB6dSBoYXVzZSBibGVpYmVuLCB1bSBzaWNoIGRlciBlcnppZWh1bmcKaWhyZXIga2luZGVyIHp1IHdpZG1lbi4gbm9ubmVzIGFuc2ljaHQgaXN0IGRhIHNjaG9uIG5pY2h0IG1laHIga29uc2VydmF0aXYsIApzb25kZXJuIHJlYWt0aW9uYWVyLiB1bmQgZGFzcyBraW5kZXIgYmlzIHp1bSBkcml0dGVuIGxlYmVuc2phaHIga2VpbmVuIGtvbnRha3QKbWl0IGFuZGVyZW4gbWVuc2NoZW4gYWxzIGlocmVuIGVsdGVybiBicmF1Y2hlbi9oYWJlbiwgaGFiZSBuaWNodCBudXIgaWNoIGdhbnoKYW5kZXJzIGluIGVyaW5uZXJ1bmcsIGRhcyBoYXQgaG9ibyBqYSBhdWNoIHNjaG9lbiBiZWxlZ3QuCgpkZXMgd2VpdGVyZW4gZGVua2UgaWNoLCBkYXNzIGRhcyB0aGVtYSBuaWNodCBzbyBlaW5mYWNoIGlzb2xpZXJ0IGJldHJhY2h0ZXQKd2VyZGVuIGRhcmYuIHdlciBzaWNoIG51ciBnZWRhbmtlbiBtYWNodCB1bSBkYXMgbW9tZW50YW5lIGtpbmRlc3dvaGwsIGFiZXIKc2VpbmUgenVrdW5mdCBhdXNzZXIgYWNodCBsYWVzc3QsIGhhbmRlbHQgbS5lLiBncm9iIGZhaHJsYWVzc2lnLiB3aXIgYnJhdWNoZW4KcXVhbGlmaXppZXJ0ZSBhcmJlaXRza3JhZWZ0ZSB1bmQga29lbm5lbiBlcyB1bnMgZWlnZW50bGljaCBuaWNodCBsZWlzdGVuLApob2NocXVhbGlmaXppZXJ0ZSBsZXV0ZSB1ZWJlciBqYWhyZSBoaW53ZWcgYXVzc2NobGllc3NsaWNoIG1pdCB3aW5kZWx3ZWNoc2Vsbgp6dSBiZXNjaGFlZnRpZ2VuLiAKCm51biBpc3QgZXMgaW4gZGV1dHNjaGxhbmQgamEgYW5zY2hlaW5lbmQgc28sIGRhc3MgYWthZGVtaWtlcmlubmVuIG1laXN0CmtpbmRlcmxvcyBibGVpYmVuICh6YWhsZW4gb2RlciBiZWxlZ2UgaGFiZSBpY2ggbmljaHQgZGFmdWVyLCB3aXJkIGFiZXIgaW1tZXIKd2llZGVyIHdpZGVyc3BydWNoc2xvcyBiZWhhdXB0ZXQpLCBzbyBkYXNzIG1hbmNoIGVpbiBwb2xpdGlrZXIgc2ljaCBzY2hvbiBkYXp1CnZlcnN0ZWlndCB6dSBzYWdlbiwgZGFzcyBpbiBkZXV0c2NobGFuZCBkaWUgZmFsc2NoZW4gbGV1dGUga2luZGVyIGJla29tbWVuLgpkaWUgdXJzYWNoZSBkYWZ1ZXIgaXN0IGFiZXIgd29obCBkZXIgbWFuZ2VsIGFuIG1vZWdsaWNoa2VpdGVuIHp1ciBiZXRyZXV1bmcKZGVzIG5hY2h3dWNoc2VzLiB1bmQgd2VubiBlaW5lIGZyYXUgKG9kZXIgZWluIG1hbm4sIGtvbW10IGphIHp1bmVobWVuZCBhdWNoCnZvcikgbmFjaCBsYW5nZW0gc3R1ZGl1bSwgZXZ0bCBlaW5lciBwcm9tb3Rpb24sIGVyc3RlbiBiZXJ1ZnNqYWhyZW4gdW5kIGRlbgplcnN0ZW4gc2Nocml0dGVuIGF1ZiBkZXIga2FycmllcmVsZWl0ZXIgYWxsZXMgYmlzaGVyIGVycmVpY2h0ZSB3ZWd3aXJmdCwgdW0Kc2ljaCBrbGVpbmVuIHNjaHJlaWhhZWxzZW4genUgd2lkbWVuLCBpc3QgZGFzIHNpY2hlciBoZXJvaXNjaCwgYWJlciBuaWNodCBzbwp3YWhuc2lubmlnIGF0dHJha3RpdiwgZGFzcyBlcyBzZWhyIHZpZWxlIGxldXRlIG1hY2hlbiB3dWVyZGVuLgoKdW5kIG9iIGVpbiBraW5kIGdsdWVja2xpY2hlciB3aXJkLCB3ZW5uIGVzIGVpbmUgZ3JpZXNncmFlbWlnZSBtdXR0ZXIgaGF0LCBkaWUKaWhyZSBiZXJ1ZmxpY2hlIGthcnJpZXJlIGVudHNjaHdpbmRlbiBzaWVodCwgYWJlciBkYWZ1ZXIgenUgaGF1c2UgaXN0LCB3YWdlCmljaCBub2NoIHp1IGJlendlaWZlbG4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42NDogQmlsZHVuZyAoWm9vaywgMjcuIEphbiAyMDA1LCAxMjoxOToyMCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTEwNjgyNDM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQWxzbyBpY2ggbWVpbmUsIGljaCBoYWV0dGUgZWlubWFsIGVpbmUgU3R1ZGllIHVlYmVyIEdlYnVydGVuemFobGVuIGltIApWZXJnbGVpY2ggenVyIEJlcnVmc2F1c2JpbGR1bmcgZ2VzZWhlbiB1bmQgZGllIGhhYmVuIHdvaGwgZXJnZWJlbiwgZGFzcwpBa2FkZW1pa2VyaW5uZW4gd2VuaWdlciBLaW5kZXIgYmVrb21tZW4gdW5kIGRpZXNlIGRhbm4gaW4gaG9laGVyZW0gQWx0ZXIuClF1ZWxsZSBoYWIgaWNoIGFiZXIgbmljaHQgbWVoci4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42NDogQmlsZHVuZyAoTm9ubmUsIDI3LiBKYW4gMjAwNSwgMTI6MjI6NTEpOgp+IyEgcm49V3VyemVsIHJ0PTExMDY4MjQzODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCktlbm5zdCBkdSBkYXMgQnVjaCAnU2Nob2VuZSBuZXVlIFdlbHQnPyBWaWVsbGVpY2h0IHNvbGx0ZW4gd2lyIGRhcyBzbyBtYWNoZW4sCktpbmRlciB3ZXJkZW4gbmljaHQgZ2Vib3Jlbiwgc29uZGVybiBlbnRrb3JrdCwgd2VyZGVuIHNjaG9uIGltIFJlYWdlbnpnbGFzIGF1ZgppaHJlIHNwYWV0ZXJlbiBCZXJ1ZmUgZ2VlaWNodCB1bmQgb2huZSBFbHRlcm4gaW4gU2FtbWVsc3RlbGxlbiB2ZXJ3YWhydCwgYmlzCnNpZSBnbHVlY2tsaWNoZSwgbGVpc3R1bmdzZmFlaGlnZSBNaXRnbGllZGVyIGRlciBHZXNlbGxzY2hhZnQgc2luZC4gS2luZGVyCmJyYXVjaGVuIEJ1Y2hzdGFiZW4gdW5kIGtlaW5lIExpZWJlLCBFcndhY2hzZW5lIGJyYXVjaGVuIGVpbmVuIEpvYiB1bmQga2VpbmUKRmFtaWxpZS4gVmllbCBTcGFzcywgd2Vpc3MgamVtYW5kIGVpZ2VudGxpY2gsIHdpZSBob2NoIGRpZQpEcm9nZW5hYmhhZW5naWdrZWl0c3JhdGUgdm9uICdLYXJyaWVyZWZyYXVlbicgaXN0PyBEYW1pdCB3aWxsIGljaCBkaWUgRnJhdWVuCm5pY2h0IGFuIGRlbiBIZXJkIHRyZWliZW4sIGFiZXIgaWNoIGRlbmtlLCB3ZW5uIGVpbmVyIGRlciBFbHRlcm4genVoYXVzZQpibGVpYnQgdW5kIE1pdHRlbHB1bmt0IGRlciBGYW1pbGllIHVuZCBBbmxhdWZzdGVsbGUgaXN0LCB3dWVyZGUgYXVjaCBlaW5lCmFyYmVpdGVuZGUgRnJhdSBtaXQgZWluZW0gTWFubiwgZGVyIHp1aGF1c2UgaXN0LCBnbHVlY2tsaWNoZXIgc2Vpbi4gQWJlcgpFZ29pc211cyBpc3QgamEgZGFzIGVpbnppZ2UsIHdhcyBoZXV0enV0YWdlIG5vY2ggZWluZSBMb2JieSBoYXQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUzOiBCaWxkdW5nIChHbm9tZSwgMjcuIEphbiAyMDA1LCAxMjozNDoxNSk6Cn4jISBybj1UdXJibyBydD0xMTA2NjY1NTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgoiU2F0aXJpc2NoZXMgaGFiZSBpY2ggZGEgbmljaHQgZ2VmdW5kZW4uICguLi4pIgoKZHUgaGFzdCBkaXIgYWJlciBzY2hvbiBkZW4gZ2FuemVuIGZpbG0gdW5kIG5pY2h0IG51ciBkYXMgY292ZXIgYW5nZWd1Y2t0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjY6IEJpbGR1bmcgKE5vbm5lLCAyNy4gSmFuIDIwMDUsIDEyOjM3OjU1KToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDY4MjU3Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClZpZWxsZWljaHQgaGFldHRlIGljaCBzY2hyZWliZW4gc29sbGVuICdkZXIgRWdvaXNtdXMgZGVyIEVudHNjaGVpZGVyJy4gRWluCktpbmQgaGF0IGxlaWRlciBuaWNodCB6dSBlbnRzY2hlaWRlbiwgc29uZGVybiBtdXNzIG1pdCBkZXIgU2l0dWF0aW9uIGtsYXIKa29tbWVuLCBNYW1hIGhhdCBzY2hsaWVzc2xpY2ggZGllIE1hY2h0LiBVbmQgd2VubiBkaWUgZ2VodCwgZGFubiBlcnphZWhsdCBkYXMKS2luZCBkaWUgU29yZ2VuIGViZW4gZGVtIFRlZGR5YmFlcmVuLCBpc3QgbmFjaCBNZWludW5nIHZpZWxlciBLaW5kZXJsb3NlciBoaWVyCmphIGFlcXVpdmFsZW50LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42NjogQmlsZHVuZyAoTWFoYXJldCwgMjcuIEphbiAyMDA1LCAxMjozODowNSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTA2ODI1NzM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpWaWVsbGVpY2h0IGthbm4gbWFuIG5pY2h0IGFsbGUgS2luZGVyIHVuZCBhbGxlIEZyYXVlbi9NYWVubmVyIHVlYmVyIGVpbmVuIEthbW0Kc2NoZXJlbj8gTWFuY2hlIHNpbmQgYmVzc2VyZSBNdWV0dGVyL1ZhZXRlciwgd2VubiBzaWUgbmljaHQgMjQvNyB6dSBIYXVzZQpzaW5kLCBtYW5jaGUgS2luZGVyIGVudHdpY2tlbG4gc2ljaCBiZXNzZXIsIHdlbm4gc2llIGVoZXIgaW0gS2luZGVyZ2FydGVuIGFscwp6dSBIYXVzZSBzaW5kLiAKSWNoIHNlbGJzdCBmYW5kIGVzIGJlc3Nlciwgd2VubiBtZWluZSBNdXR0ZXIgbmVuIEpvYiBoYXR0ZSB1bmQgbmljaHQgc3RhZW5kaWcKenUgSGF1c2Ugd2FyLiBJY2ggd2FyIHJlY2h0IHNlbGJzdGFlbmRpZywgc2Nob24gaW0gS2luZGVyZ2FydGVuYWx0ZXIsIHVuZAp3b2xsdGUgbWlyIGRhIGF1Y2ggbmljaHQgendpc2NoZW5mdW5rZW4gbGFzc2VuLgpPaywgaWNoIGJpbiBudW4gYXVjaCBlaW4gdm9lbGxpZyBiZXppZWh1bmdzdW5mYWVoaWdlcyBXZXNlbiBnZXdvcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJsdXR3YW5kbHVuZyB1bmQgc28gWmV1Z3MuIChHbm9tZSwgMjcuIEphbiAyMDA1LCAxMjozODoyOSk6Cn4jISBybj1ab29rIHJ0PTExMDY3NDk4MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA1MTQ0MTkzCmRhIGRvcnQgaW4gZGVyIHVtZnJhZ2Uga2VpbmUgZGF0ZW4gZGF6dSBzdGVoZW4gdW5kIGljaCBhdWNoIHNvbnN0IGtlaW5lCmhhYmUsIGhhYmUgaWNoIGdsZWljaHZlcnRlaWx1bmcgYW5nZW5vbW1lbi4gd2FzIHNpY2hlcmxpY2ggbmljaHQgZ2FuegpyaWNodGlnIGlzdC4gd2FocnNjaGVpbmxpY2ggaXN0IGRlciBhbnRlaWwgaW4gKGdyb3NzLSlzdGFlZHRlbiBiZWRldXRlbmQKaG9laGVyIGFscyBhdWYgZGVtIGxhbmRlLiBhYmVyIGRhbWl0IG1hbiB1ZWJlcmhhdXB0IG1hbCBlaW5lIHphaGwgdm9yCmF1Z2VuIGhhdCwgaGFiIGljaCBoYWx0IG1pdCBlaW5lbSAxOjEtdmVyaGFlbHRuaXMgdm9uIGZyYXVlbiB1bmQgbWFlbm5lcm4KdW5kIGdsZWljaHZlcnRlaWx1bmcgZ2VyZWNobmV0Lgp3ZW5uIGplbWFuZCBnZW5hdWVyZSBkYXRlbiBoYXQuLi4gZ2VybmUuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmx1dHdhbmRsdW5nIHVuZCBzbyBaZXVncy4gKFpvb2ssIDI3LiBKYW4gMjAwNSwgMTI6Mzk6MjkpOgp+IyEgcm49R25vbWUgcnQ9MTEwNjgyNTkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDUxNDQxOTMKSWNoIGhhZXR0IGpldHp0IG51ciB3ZWxjaGUgZnVlciBhdXNnZXdhZWhsdGUgYW1lcmlrYW5pc2NoZSBTdGFlZHRlLCBhYmVyIApkaWUgc2luZCBqYSBpbSBNb21lbnQgaWNodCBUaGVtYS4gOikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42NTogQmlsZHVuZyAoR2xvaW5zb24sIDI3LiBKYW4gMjAwNSwgMTI6Mzk6MzMpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjgyNDk3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKSmVwcCwgbnVyIHdlaXRlciBSaWNodHVuZyBTYXJrYXNtdXMgdW5kIFVlYmVyc3BpdHp1bmcsIGRhbm4gaXN0IGRlciBTdWJ0aHJlYWQKYmFsZCB6dS4KRGllIEJlaGF1cHR1bmcgd2FyICJFcndhY2hzZW5lICh1bmQgR2VzZWxsc2NoYWZ0KSBicmF1Y2hlbiBLaW5kZXIgVU5EIEpvYiIuCihEYXp1IGJlbm9ldGlndCBtYW4gQmV0cmV1dW5nIGRlciBLaW5kZXIuKSBHZXJhZGUgd2VpbCBUYWxlbnRlIHNwZXppZWxsIHNpbmQsCmJyaW5ndCBlcyB3ZWRlciBNdXR0ZXIgbm9jaCBLaW5kIG5vY2ggR2VzZWxsc2NoYWZ0IFB1bmt0ZSwgd2VubiBkaWUganVuZ2UKd2lzc2Vuc2NoYWZ0bGljaGUgTWl0YXJiZWl0ZXJpbiBpaHJlIEFyYmVpdCAzIEphaHJlIGtvbXBsZXR0IHVudGVyYnJpY2h0LCB3ZWlsCnNpZSBkcmluZ2VuZCBpaHIgS2luZCBhdWZ6aWVoZW4gbXVzcy4gRGFuYWNoIGlzdCBpaHIgRWluc3RpZWcgdW5lbmRsaWNoIHNjaHdlcgpnZXdvcmRlbiwgZGFzIEtpbmQgaGF0IGVzIChJTUhPKSBuaWNodCBiZXNzZXIgZ2VoYWJ0IHVuZCBkYXMgSW5zdGl0dXQgaGF0IGlocmUKRGlzcyBsYWVuZ3N0IGFiZ2VzY2hyaWViZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjc6IEJpbGR1bmcgKE5vbm5lLCAyNy4gSmFuIDIwMDUsIDEyOjQwOjI3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNjgyNTg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKVW0gZXMgbm9jaCBtYWwgZGV1dGxpY2ggenUgbWFjaGVuOiBJY2ggdm9uIEtpbmRlcm4gdW50ZXIgMyBKYWhyZW4sIGJldm9yIHNpZQppbSBXZXN0ZW4gZGFzIEtpbmRlcmdhcnRlbmFsdGVyIGVycmVpY2hlbiwgbmljaHQgdm9uIDQtWCBKYWVocmlnZW4sIGRpZQpvaG5laGluIGRpZSBIYWVsZnRlIGRlciBaZWl0IGF1c3NlciBIYXVzIHNpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42ODogQmlsZHVuZyAoTWFoYXJldCwgMjcuIEphbiAyMDA1LCAxMjo0MToyMyk6Cn4jISBybj1Ob25uZSBydD0xMTA2ODI2MDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpJY2ggYmluIHZlcmRvcmJlbmVyIE9zc2kgdW5kIHdhciBhdWNoIGluIGRlciBLaW5kZXJrcmlwcGUuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjg6IEJpbGR1bmcgKFd1cnplbCwgMjcuIEphbiAyMDA1LCAxMjo0Mjo1NSk6Cn4jISBybj1Ob25uZSBydD0xMTA2ODI2MDI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpqYXdvaGwuIGdlbmF1LiB6dSBiZWZlaGwuCmthcnJpZXJlIGZ1ZWhydCB6dSBkcm9nZW5hYmhhZW5naWdrZWl0LiBnYW56IGtsYXIsIGhhYiBpY2ggYmlzaGVyIG5pY2h0IHNvCmdld3Vzc3QuIGJpdHRlIHVtIGVudHNjaHVsZGlndW5nLgoKaXJnZW5kd2llIGhhYmUgaWNoIGRlbiB6dXNhbW1lbmhhbmcgYXVjaCBuaWNodCB2ZXJzdGFuZGVuLCB3YXJ1bSB2ZXJhbnR3b3J0dW5nCmdlZ2VudWViZXIgZGVyIGdlc2VsbHNjaGFmdCwgZGllIHF1YWxpZml6aWVydGUgbGV1dGUgYnJhdWNodCwgZ2xlaWNoIGVnb2lzbXVzCmlzdC4gYWJlciBpY2ggYmluIGphIHdvaGwgYmxvZWQuIGRhYmVpIHdhciBtZWluZSBtdXR0ZXIgenUgaGF1c2UsIGJpcyBpY2ggdmllcgpqYWhyZSBhbHQgd2FyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjg6IEJpbGR1bmcgKEdsb2luc29uLCAyNy4gSmFuIDIwMDUsIDEyOjQ0OjE3KToKfiMhIHJuPU5vbm5lIHJ0PTExMDY4MjYwMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCk9jaCwgdm9uIGRlbmVuIHJlZGUgaWNoIGF1Y2guIEljaCBmaW5kIG5pY2h0cyB2ZXJ3ZXJmbGljaGVzIGRhcmFuLCBkYXNzCjEtM2phZWhyaWdlIGF1Y2ggc2Nob24gbWFsIGZyZW1kIGJldHJldXQgd2VyZGVuLiBEaWUgZ3J1bmRzYWV0emxpY2hlbiBEaW5nZQprb2VubmVuIHNpZSBkYW5uIHNjaG9uLgpNaWNoIHd1bmRlcnQgb2huZWhpbiBkaWVzZXMgUGxhZWRpZXJlbiBmdWVyIGRpZSBleHRyZW0gZW5nZQpNdXR0ZXItS2luZC1CaW5kdW5nIG1pdCBBcmd1bWVudGF0aW9uICJkYXMgc2VpIGd1dCBzbywgd2VpbCBhbHRoZXJnZWJyYWNodCIuCkRlbmtzdGUuIERpZXNlcyBBdWZlaW5hbmRlcmdsdWNrZW4gaXN0IGdlcmFkZSBtYWwgc28gYWx0IHdpZSBkaWUgTW9lZ2xpY2hrZWl0LApkYXNzIGRpZSBGcmF1IHVlYmVyaGF1cHQgbmljaHQgYmVpdHJhZ2VuZCB6dSBIYXVzZSBydW1oYWVuZ3QgdW5kIG51ciBkZXIgTWFubgplcm5hZWhydC4gVmllbGxlaWNodCAzMDAgSmFocmUsIGluIGRlbiBTdGFlZHRlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OTogQmlsZHVuZyAoTm9ubmUsIDI3LiBKYW4gMjAwNSwgMTI6NDQ6MjEpOgp+IyEgcm49V3VyemVsIHJ0PTExMDY4MjYxNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClN0aW1tdCwgamV0enQgd28gZHUgZXMgc2Fnc3QsIHNlaGUgaWNoIGF1Y2ggZGllIEluZHVzdHJpZWxsZW4gaGllciB2b3IgZGVyIFVuaQpzdGVoZW4gdW5kIGRpZSBnYW56ZW4gQWthZGVtaWtlciB3ZWdmYW5nZW4sIHdlaWwgc2llIHNvbnN0IGtlaW5lIGZpbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjcwOiBCaWxkdW5nIChHcmltbWJvcm4sIDI3LiBKYW4gMjAwNSwgMTI6NDg6MzQpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjgyNjI2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQWxzbywgZGFzIG1pdCBkZXIgRHJvZ2VuYWJoYWVuZ2lna2VpdCBiZWkgS2FycmllcmUgaGF0IGR1cmNoYXVzIHNlaW5lClJpY2h0aWdrZWl0LCBpY2ggYmluIG1pciBuaWNodCBzaWNoZXIsIG9iIG1laW4gVGVla29uc3VtIGdlbmF1c28gaG9jaCB3YWVyZSwKd2VubiBpY2ggbmljaHQgYXJiZWl0ZW4gd3VlcmRlLiBBbmRlcmVyc2VpdHMsIG9iIG1hbiBpbiBtZWluZW0gRmFsbCB3aXJrbGljaAp2b24gIkthcnJpZXJlIiByZWRlbiBrYW5uLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjcwOiBCaWxkdW5nIChXdXJ6ZWwsIDI3LiBKYW4gMjAwNSwgMTI6NDg6MzgpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNjgyNjI2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKYWthZGVtaWtlciBpc3QgdWVicmlnZW5zIG5pY2h0IGF1dG9tYXRpc2NoIGRhcyBzZWxiZSB3aWUgcXVhbGlmaXppZXJ0LiBudXIKbWFuY2htYWwuCnVuZCBqYSwgZXMgaXN0IHZlcmRhbW10IHNjaHdlciBmdWVyIG1hbmNoZSBhdWZnYWJlbiBpbiBkZXV0c2NobGFuZCB3aXJrbGljaApxdWFsaWZpemllcnRlIGxldXRlIHp1IGZpbmRlbi4gaWNoIGtvZW5udGUgYXVzIGRlbSBzdGFuZCB6ZWhuIGxldXRlIG9kZXIgbWVocgplaW5zdGVsbGVuLCB3ZW5uIGljaCBnZWVpZ25ldGUga2FuZGlkYXRlbiBoYWV0dGUuIGdpYnQgZXMgYWJlciB3b2hsIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzE6IEJpbGR1bmcgKEJvaW5nLCAyNy4gSmFuIDIwMDUsIDEyOjUyOjEyKToKfiMhIHJuPVd1cnplbCBydD0xMTA2ODI2NTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgonZ2VlaWduZXQnIGJlZGV1dGV0IGF1Y2ggZGFzcyBzaWUgbWl0IGRlbSB2b24gRGlyIGdlemFobHRlbiBHZWhhbHQgCnp1ZnJpZWRlbiB3YWVyZW4/IDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjcyOiBCaWxkdW5nIChNb250YW51cywgMjcuIEphbiAyMDA1LCAxMjo1OTo0NCk6Cn4jISBybj1Cb2luZyBydD0xMTA2ODI2NzMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpadW0gVEhlbWEgV2Vzc2kgdW5kIE9zc2kgbXVzcyBpY2ggbWFsIGVpbiBaaXRhdCB2b24gR2VvcmcgS29jaCBoaWVyIGFuYnJpbmdlbjoKIkljaCBiaW4ga2VpbiBXZXNzaSBtZWhyLiBOYWNoIDggV29jaGVuIFRyYWluaW5nIHVudGVyIEVkZSBHZXllciB3aXJkIG1hbgpzb2ZvcnQgenVtIE9zc2kiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43MzogQmlsZHVuZyAoTWFoYXJldCwgMjcuIEphbiAyMDA1LCAxMzowMDoyNyk6Cn4jISBybj1Nb250YW51cyBydD0xMTA2ODI3MTg0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpXZXIgc2luZCBHZW9yZyBLb2NoIHVuZCBFZGUgR2V5ZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43NDogQmlsZHVuZyAoWm9vaywgMjcuIEphbiAyMDA1LCAxMzowMToyNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDY4MjcyMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRpZXNlIFJ1YnJpayBpc3QgdWVicmlnZW5zIGJhbGQgdm9sbC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43NTogQmlsZHVuZyAoTWFoYXJldCwgMjcuIEphbiAyMDA1LCAxMzowMjoxOSk6Cn4jISBybj1ab29rIHJ0PTExMDY4MjcyODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCnNvbGwgaWNoIG5vY2ggc2NobmVsbCB3YXMgYXVmIGVpbiBSZSBhdXNzZXR6ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43NTogQmlsZHVuZyAoTm9ubmUsIDI3LiBKYW4gMjAwNSwgMTM6MDI6MjkpOgp+IyEgcm49Wm9vayBydD0xMTA2ODI3Mjg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2MgpFZGUgR2V5ZXIgaXN0IEV4LVRyYWluZXIgdm9uIENvdHRidXMgdW5kIEdlb3JnIEtvY2ggZWluIEV4LVdlc3NpLVRvcmh1ZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc2OiBCaWxkdW5nIChNYWhhcmV0LCAyNy4gSmFuIDIwMDUsIDEzOjAzOjAzKToKfiMhIHJuPU5vbm5lIHJ0PTExMDY4MjczNDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyClVuZCBkYSBoYXQgZGVyIG5hY2h0cmFlZ2xpY2ggZGllIEtpbmRlcmtyaXBwZSBlaW5nZWZ1ZWhydD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc3OiBCaWxkdW5nIChNb250YW51cywgMjcuIEphbiAyMDA1LCAxMzowNDowNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDY4MjczODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkZ1ZXIgRWRlIEdleWVyIHNpbmQgYWxsZSBGdXNzYmFsbGVyIEtpbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY5OiBCaWxkdW5nIChLZXNzYSwgMjcuIEphbiAyMDA1LCAxMzowNDoxMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2ODI2MjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNjEzMDY2Mgo+IGRhc3MgZGllIEZyYXUgdWViZXJoYXVwdCBuaWNodCBiZWl0cmFnZW5kIHp1IEhhdXNlIHJ1bWhhZW5ndCAKCkRpZXNlIEVpbnN0ZWxsdW5nIGlzdCBlcyBlYmVuLi4uICdiZWl0cmFnZW5kJyBoZWlzc3QgaW4gZGllc2VtIEZhbGwgamEgd29obAona2VpbiBHZWxkIG5hY2ggSGF1c2UgYnJpbmdlbmQnLCBkZW5uIGRhc3MgbWFuIGFscyBNdXR0ZXIgdm9uIGtsZWluZW4gS2luZGVybgpkZW4gZ2FuemVuIFRhZyBudXIgcnVtaGFlbmd0LCBrYW5uc3QgZHUgbmljaHQgZXJuc3RoYWZ0IGJlaGF1cHRlbiB3b2xsZW4uIEphLAppY2ggcGVyc29lbmxpY2ggaGFsdGUgZXMgaW4gZGVyIFJlZ2VsIGZ1ZXIgYmVzc2VyLCB3ZW5uIEtpbmRlciBpbiBkZW4gZXJzdGVuCkxlYmVuc2phaHJlbiB6dSBIYXVzIGJlaSBlaW5lbSBFbHRlcm50ZWlsIHNpbmQgKHZvcmF1c2dlc2V0enQgbmF0dWVybGljaCwgZGFzcwpkYXMgRWx0ZXJudGVpbCBkYXMgYXVjaCB3aWxsKS4gTWl0IGRlciBFaW5zdGVsbHVuZyBiaW4gaWNoIGF1Y2ggbmljaHQgYWxsZWluLAphdWNoIG5pY2h0IHVudGVyIEZhY2hsZXV0ZW4sIHNhZ3RlIGljaCBqYSBiZXJlaXRzLiBEYXMgaGVpc3N0IG5pY2h0LCBkYXNzCmFuZGVyZSBkYXMgbmljaHQgYW5kZXJzIG1hY2hlbiBzb2xsZW4sIHdlbm4gZXMgaWhuZW4gYmVzc2VyIHNjaGVpbnQuIEljaApmYWVuZGUgZXMgYWxsZXJkaW5ncyB3dWVuc2NoZW5zd2VydCwgZGFzcyBiZWlkZSBXZWdlIGFuZXJrYW5udCB1bmQgKGF1Y2gKZmluYW56aWVsbCkgdW50ZXJzdHVldHp0IHd1ZXJkZW4sIHNvIGRhc3MgZXMgRWx0ZXJuIGZyZWlzdGVodCwgb2Igc2llCktpbmRlcmJldHJldXVuZyBpbiBBbnNwcnVjaCBuZWhtZW4gb2RlciBkaWVzZSBBdWZnYWJlIHNlbGJzdCB1ZWJlcm5laG1lbgp3b2xsZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzA6IEJpbGR1bmcgKE1vbnRhbnVzLCAyNy4gSmFuIDIwMDUsIDEzOjA2OjA1KToKfiMhIHJuPUtlc3NhIHJ0PTExMDY4Mjc0NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkRhcyBpc3QgZG9jaCBhbGxlcyBlaW5lIE1pbGNobWFlZGNoZW5yZWNobnVuZy4gRGFzIEdlbGQsIGRhcyBkaWUgTXV0dGVyIG5jaWh0Cm5hY2ggSGF1c2UgYnJpbmd0LCBpc3QgZGFzIEdlbGQsIGRhcyBtYW4gc2ljaCBzcGFydCwgaW5kZW0gbWFuIGtlaW5lIFB1dHpmcmF1LApLb2VjaGluIHVuZCBLaW5kZXJwZmxlZ2VyaW4gKHNjaHdhcnopIGJlemFobHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42NDogQmlsZHVuZyAoSG9ibywgMjkuIEphbiAyMDA1LCAxMzozMzo0Nik6Cn4jISBybj1XdXJ6ZWwgcnQ9MTEwNjgyNDM4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKKkFudHdvcnQgYXVmIHp1ZmFlbGxpZ2VuIEFydGlrZWwqCkluIGRlbSBMaW5rIHZvbiBab29rIHd1cmRlIGVpbmUgbWVpbmVyIE1laW51bmcgbmFjaCBuZXR0ZSBWYXJpYW50ZQp2b3JnZXN0ZWxsdDogS2luZGVyIHZvciBkZXIgS2FycmllcmUuCkljaCBrZW5uZSBnZW51ZyBGcmF1ZW4sIGRpZSBzaWNoIHNjaHdlciB1ZWJlcmxlZ2VuLCB3YW5uIHNpZSB3b2hsIGlocmUgS2luZGVyCmJla29tbWVuIGtvZW5uZW4uIEdlcmFkZSB3ZW5uIG1hbiBzdHVkaWVydCwgaXN0IG1hbiBpbSBiZXN0ZW4gQWx0ZXIsIHVtIEtpbmRlcgp6dSBiZWtvbW1lbiBnZWdlbiBFbmRlIGRlcyBTdHVkaXVtcy4gQWJlciB3ZXIgd2lsbCBzY2hvbiBkaXJla3QgbmFjaCBkZW0KU3R1ZGl1bSBLaW5kZXIgYmVrb21tZW4gdW5kIHNpY2ggZGFubiBuYWNoIGVpbmlnZW4gSmFocmVuIGlyZ2VuZHdvIGJld2VyYmVuOgpIZXksIGljaCBoYWIgZGVuIFRyb2NrZW5zY2h3aW1tZXIgZ2VtYWNodCEgRnVlbmYgKHNlY2hzLCBzaWViZW4sIGFjaHQgOykpCkphaHJlIFN0dWRpdW0sIGFiZXIgbmllIGdlYXJiZWl0ZXQuLi4uCkRhcyBUaW1pbmcgaXN0IG5pY2h0IHdpcmtsaWNoIGxlaWNodCA6KAoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzE6IEJpbGR1bmcgKEhvYm8sIDI5LiBKYW4gMjAwNSwgMTM6Mzg6NDYpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwNjgyNzU2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKQnJhdWNodCBtYW4gYXV0b21hdGlzY2ggbmUgS29lY2hpbiwgd2VubiBtYW4gdm9sbHplaXQgYXJiZWl0ZXQgdW5kIGtlaW5lCiJOdXJoYXVzZnJhdSIgdm9yaGFuZGVuIGlzdD8gCiAgICBIb2JvIC0gc3RlbGx0IHNpY2ggZWluZSBLb2VjaGluIGluIE1vbnRpcyBLdWVjaGUgdm9yIHVuZCBncmluc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthdHplbmhhbHR1bmcgKENhdHdlYXpsZSwgIDEuIEZlYiAyMDA1LCAxODoxMzo0NCk6Ck1vaW4sCgpLYW5uIG1pciBqZW1hbmQgc2FnZW4sIG9iIChIYXVzLSlLYXR6ZW4tSGFsdHVuZyBlcmxhdWJ0IG9kZXIgdmVyYm90ZW4gaXN0LCBvYgpzaWUgdmVyYm90ZW4gd2VyZGVuIGthbm4sIHVuZCBvYiB1bmQgdW50ZXIgd2VsY2hlbiBVbXN0YWVuZGVuIGF1Y2ggd2VubiBkZXIKTWlldHZlcnRyYWcgZWluIFZlcmJvdCBiZWluaGFsdGV0IGVpbmUgSGFsdHVuZyBlcmxhdWJ0IGlzdD8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEthdHplbmhhbHR1bmcgKE1haGFyZXQsICAxLiBGZWIgMjAwNSwgMTg6MTU6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDcyNzgwMjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA3Mjc4MDI0CkFsc28gbWlyIGhhdHRlIG1hbCBlaW4gZGFtYWxzIGFuZ2VoZW5kZXIsIGpldHp0IEV4LVZlcm1pZXRlciBnZXNhZ3QsIGVyIGR1ZXJmZQptaXIgbmljaHQgbWFsIG5lIEthdHplIHZlcmJpZXRlbiAoaWNoIGhhdHRlIG5hY2ggTmFnZXRpZXJlbiBnZWZyYWd0KS4gVW5kIGRlcgpIZXJyIHdhciBKdXJpc3QuCkFiZXIgZWluIFVydGVpbCBkYXp1IGhhYiBpY2ggbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEthdHplbmhhbHR1bmcgKENhdHdlYXpsZSwgIDEuIEZlYiAyMDA1LCAxODoxNjo0Mik6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDcyNzgxMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA3Mjc4MDI0CktsaW5ndCBkb2NoIHNjaG9uIG1hbCB2aWVsdmVyc3ByZWNoZW5kLiBKZXR6dCB3YXMgdW50ZXJtYXVlcm5kZXMgd2FlciBndXQgOi0pCgpNb3JnZW4gbWFsIHp1ciB2ZXJicmF1Y2hlcnplbnRyYWxlIGdlaGVuIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLYXR6ZW5oYWx0dW5nIChCcmFuLCAgMS4gRmViIDIwMDUsIDE4OjE4OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA3Mjc4MjAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNzI3ODAyNApIaWVyIHNpbmQgZWluIHBhYXIgQmVpc3BpZWxlLCBkaWUgenUgYmVzdGFldGlnZW4gc2NoZWluZW4sIHdhcyBNYWhhcmV0IHNhZ3Q6CgpodHRwOi8va2F0emVuc3R1YmUuZGUvaW5kZXguaHRtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2F0emVuaGFsdHVuZyAoTWFoYXJldCwgIDEuIEZlYiAyMDA1LCAxODoyMDo1NSk6Cn4jISBybj1CcmFuIHJ0PTExMDcyNzgzMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA3Mjc4MDI0ClByaW1hLCBzb2dhciBtaXQgQWt0ZW56ZWljaGVuLCBkaWUgbWFuIGRlbSBWZXJtaWV0ZXIgdW0gZGllIE9ocmVuIGhhdWVuIGthbm4KOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEthdHplbmhhbHR1bmcgKEJyYW4sICAxLiBGZWIgMjAwNSwgMTg6MjM6MTMpOgp+IyEgcm49TWFoYXJldCBydD0xMTA3Mjc4NDU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNzI3ODAyNApOb2NoIGVpbiBMaW5rOgoKaHR0cDovL3d3dy5taWV0ZXJidW5kLmRlL3plaXR1bmdlbi9tei8yMDAzLzEwMDMvbXpfMTAwM190aWVyLmh0bWwKCktvbW10IHdvaGwgZHJhdWYgYW4sIG9iIGRhcyBHZXJpY2h0IEthdHplbiB1bnRlciAnS2xlaW50aWVyZScgZWluc29ydGllcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLYXR6ZW5oYWx0dW5nIChDYXR3ZWF6bGUsICAxLiBGZWIgMjAwNSwgMTk6MDU6MDkpOgp+IyEgcm49QnJhbiBydD0xMTA3Mjc4NTkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNzI3ODAyNApIbSwgZGllIEthdHplIGlzdCBlaW5lIHJlaW5lIEhhdXNrYXR6ZSwgd2FyIG5vY2ggbmllIGRyYXVzc2VuIHVuZCB3dWVyZGUKZHJhdXNzZW4gdm9yIGxhdXRlciBOZXVnaWVyIGF1Y2ggc2ljaGVybGljaCBzY2huZWxsc3RlbnMgaWhyIGxlYmVuIGxhc3NlbiwKZGFoZXIga29tbXQgUmF1c2xhc3NlbiBhdWYga2VpbmVuIEZhbGwgaW4gRnJhZ2UuIFNpZSBpc3Qgc3R1YmVucmVpbiB1bmQgZ2VodAphdXNzY2hsaWVzc2xpY2ggYW4gS3JhdHpiYWV1bWUsIG5pZSBhbiBtZWluZSBNb2ViZWwgdW5kIHNjaG9uIGdhciBuaWNodCBhbiBkaWUKVGFwZXRlbi4KCkVpZ2VudGxpY2ggYmVzdGUgVm9ycmF1c3NldHp1bmdlbiwgb2Rlcj8KClVuZCBIYXVza2F0emVuPT1LbGVpbnRpZXJlIGhhdCBzb2dhciBtYWwgZWluIExHIHZlcmZ1ZWd0IDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEthdHplbmhhbHR1bmcgKE1haGFyZXQsICAxLiBGZWIgMjAwNSwgMjE6MjU6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDcyODExMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA3Mjc4MDI0CkRhbm4ga29lbm50ZSBudXIgbm9jaCBzdG9lcmVuLCB3ZW5uIHNpZSBiZXNvbmRlcnMgbGF1dCBpc3QuIEFiZXIgS2F0emVuIGJlbGxlbgpqYSBlaGVyIHNlbHRlbiwgYWxzbyBicmF1Y2h0IElociBFdWNoIGtlaW5lIFNvcmdlbiBtYWNoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLYXR6ZW5oYWx0dW5nIChPcmt0b2V0ZXIsICAxLiBGZWIgMjAwNSwgMjE6MzI6NDcpOgp+IyEgcm49TWFoYXJldCBydD0xMTA3Mjg5NTEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNzI3ODAyNApPY2guLiBiZWFjaHRlIGRhcyBLYXR6ZW5rbG8gbWFsIGVpbmUgV29jaGUgbmljaHQgdW5kIGRpZSBOYWNoYmFybiB3ZXJkZW4gc2ljaApuaWNodCAobnVyKSB3ZWdlbiBkZW0gTWF1bnplbiBiZXNjaHdlcmVuLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjcyOiBCaWxkdW5nIChNYWhhcmV0LCAxNS4gRmViIDIwMDUsIDE2OjIyOjQxKToKfiMhIHJuPUhvYm8gcnQ9MTEwNzAwMjMyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDYxMzA2NjIKRGllIERpc2t1c3Npb24gaXN0IHp3YXIgc2Nob24gdG90LCB1bmQgZGFzIHNvbGwgYXVjaCBrZWluCldpZWRlcmJlbGVidW5nc3ZlcnN1Y2ggd2VyZGVuLCBhYmVyIGVzIHd1cmRlIG5hY2ggbXVkLWV4dGVybmVuIEF1c3NhZ2VuCmdlZnJhZ3Q6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvdW5pc3BpZWdlbC9zdHVkaXVtLzAsMTUxOCwzNDE3MTIsMDAuaHRtbAoKCkRpZSBsZXR6dGVuIGRyZWkgQWJzYWV0emUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JhbD8gKE9ya3RvZXRlciwgMTguIEZlYiAyMDA1LCAyMzozMzowMik6CldpZSB3YXIgZGFzIGRvY2ggZnJ1ZWhlciwgYWxzIGVzIG5vY2ggTGV1dGUgZ2FiIGRpZSBzaWNoIGZ1ZXIgV29scGVydGluZ2VyCmludGVyZXNzaWVydCBoYWJlbj8KRGEgd3VyZGUgaW1tZXIgbWFsIHdpZWRlciBkZXIgV29scGljbHViIGdlc3ByZW5ndCB1bmQgd2VubiBCZXNjaHdlcmRlbgpkZXN3ZWdlbmUga2FtZW4gaGllc3MgZXMgZGFubiBpbW1lcjogIkFjaCBob2VydCBkb2NoIGF1ZiBldWNoIGF1Znp1cmVnZW4sIGRhbm4KbWFjaHQgZXMgZGVuIGFuZGVyZW4ga2VpbmVuIFNwYXNzIG1laHIgdW5kIHNpZSBob2VyZW4gZWggYXVmIgpUamEgdW5kIHdpZSBsYW5nZSBrdWVtbWVydCBzaWNoIG51biBzY2hvbiBrZWluZXIgbWVociB1bSBkaWUgV29scGVydGluZ2VyPwpVbmQgd2FzIGthbm4gc3RhZW5kaWcgbGVzZW46CgpLUkFBQUFBQUFBQUFBQUFBQUFBQUFBQVdVTU1NTU1NTU1NTU1NTU1NTU1NTSEKSmVtYW5kIGhhdCBkZW4gV29scGVydGluZ2VyY2x1YiBpbiBkaWUgTHVmdCBnZXNwcmVuZ3QhCkppbURpR3JpeiBydWZ0OiBMSE93YWxkIDRFVkVSISEhCgpTbyB2aWVsIGRhenUuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmFsPyAoQm9pbmcsIDE4LiBGZWIgMjAwNSwgMjM6MzU6MzApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMDg3NjU5ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCldhcyBrYW5uIG1hbiBkZW5uIGJlc3NlcmVzIG1pdCBkZW4gV29scGVydGluZ2VybiBhbmZhbmdlbiBhbHMgc2llCmluIGRpZSBMdWZ0IHp1IGphZ2VuPyA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vcmFsPyAoSmltZGlncml6LCAxOC4gRmViIDIwMDUsIDIzOjM2OjQwKToKfiMhIHJuPUJvaW5nIHJ0PTExMDg3NjYxMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCkdlbmF1LCBpY2ggd2Vpc3MgendhciBuaWNodCB3ZXIgZGVuIGRpZXNtYWwKKHVuZCBkaWUgbGV0enRlbiBNYWxlKSBnZXNwcmVuZ3QgaGF0LCBhYmVyCmljaCBtdXNzIGplZGVzIE1hbCBhbiBkaWUgTEhPc3dhbGQgQWt0aW9uIHZvbiBHdWxkdWthdApkZW5rZW4gdW5kIHNhZ2Ugdm9uIEhlcnplbiBCUkFWTyEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3JhbD8gKEtlbGx5YnVuZHksIDIwLiBGZWIgMjAwNSwgMTI6NTk6MzcpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMDg3NjYyMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCkljaCBiaW4gbWVpc3RlbnMgZGVyL2RpZS9kYXMgcG9lc2UgY2h1cmtlIDopCkRhIGljaCBtaWNoIHN0YWVuZGlnIGluIGRlciBEQiBydW10cmVpYmUgZmFlbGx0IGRpZXNlcyBkaW5nIHp1bSBzcHJlbmdlbgpkYXVlcm5kIGFuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTW9yYWw/IChUdXJibywgMjAuIEZlYiAyMDA1LCAxMzowMzoxMSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMDg5MDA3Nzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCkphLiBXZW5uIGljaCBlaW4gUGFrZXQgaW4gZGllIEtyYWxsZW4ga3JpZWcsIGxhc3MgaWNoJ3MgYXVjaCBydW1tc2VuLgpNYWNodCBTcGFzcy4gTmEgdW5kPwoKVHVyYm8gKEthdGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTW9yYWw/IChLZWxseWJ1bmR5LCAyMC4gRmViIDIwMDUsIDEzOjAzOjU5KToKfiMhIHJuPVR1cmJvIHJ0PTExMDg5MDA5OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCkpvIGlzdCBpcmdlbmR3aWUgbmUgR2F1ZGkuIEltbWVyIHdpZWRlci4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW9yYWw/IChIb2JvLCAyMC4gRmViIDIwMDUsIDE1OjE2OjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTExMDg3NjYxMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA4NzY1OTgyCkZvbHRlcm4KCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1vcmFsPyAoTWluZ28sIDIxLiBGZWIgMjAwNSwgMjM6Mjc6NDApOgp+IyEgcm49SG9ibyBydD0xMTA4OTA5MDA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwODc2NTk4MgpNb3JhbCwgZGFzIGlzdCwgd2VubiBtYW4gbW9yYWxpc2NoIGlzdC4KCldhcyBtYW4gbWl0IFdvbHBpcyBzb25zdCBub2NoIG1hY2hlbiBrYW5uIC4uLiBrYW5uIG1hbiBzaWNoIGluIGVpbiBwYWFyCk1pbnV0ZW4gdW50ZXIgaHR0cDovL3d3dy5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS9+Y2JlY2tlci93b2xwaXMuanBnIGFuc2VoZW4uClNhZ2VuIHdpciBtYWwgMTUgTWludXRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNb3JhbD8gKERhcmtsb3IsIDIyLiBGZWIgMjAwNSwgMTI6NDY6NTIpOgp+IyEgcm49TWluZ28gcnQ9MTEwOTAyNDg2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMDg3NjU5ODIKRWNodD8gRXJrbGFlciBtYWwgOykKCkRhcmtsb3IgKGJyYXVjaCBlaW5lIFVlYmVyc2V0emVyIGZ1ZXIgSGlyb2dseXBoZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45MDY4NjogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoSmltZGlncml6LCAyNC4gRmViIDIwMDUsIDIyOjQzOjI3KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTA5Mjc2Mzg4IHJnPXd3dwp+IyEgdGlkPTk4MjMyODI3OApjb29sIG1hbiBrYW5uIGRpZSByZXMgdWViZXIgYWxsZSBydWJyaWtlbiB2ZXJ0ZWlsZW4sIG5ldHQgOi0pCkpldHp0IGhhYiBpY2ggc2ljaGVyIGRhcyBNYW5pZmVzdCBzYWJvdGllcnQgb19PIDotKSkpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXh0cmEgZnVlciBUYXJhbmlzIHVuZCBzb25zdGlnZSwgZGllIGVzIHZlcnBhc3N0IGhhYmVuIDspIChNaXJpbCwgIDMuIE1hciAyMDA1LCAxNDoyNzowMyk6Cls8TWFzdGVSPjpMYXJzXSBXb3csIGVpbmUgUmVrb3JkLVVwdGltZS4KWzxNYXN0ZVI+Ok1lcmxpbl0gRGFzIGVybGVidCBtYW4gYXVjaCBuaWNodCBhbGxlIFRhZ2UgLi4uCls8TWFzdGVSPjpEZXIgR2FtZURyaXZlcl0gRGFubiB3aXJkIGVzIHdvaGwgWmVpdCBmdWVyIGVpbmVuIFJlYm9vdCwgb2Rlcj8KWzxNYXN0ZVI+Ok1lcmxpbl0gRmF1bGVzIFN0dWVjaywgYXJiZWl0ZSB3ZWl0ZXIhCls8TWFzdGVSPjpEZXIgR2FtZURyaXZlcl0gT2NoIG1lbm5vISA8RG9uLCAwMjoyNTozMT4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbWJsZXkgKERlZXBibHVlLCAgNC4gTWFyIDIwMDUsIDE4OjM2OjQ5KToKV2VyIGVyaW5uZXJ0IHNpY2ggbmljaHQgYW4gZGFzIGdsb3JyZWljaGUgMTowIGRlciBkZXV0c2NoZW4KRnVzc2JhbGwtTmF0aW9uYWxtYW5uc2NoYWZ0IGltIGxldHp0ZW4gU3BpZWwgdm9yIGRlbSBBYnJpc3MgZGVzIGFsdGVocnd1ZXJpZ2VuCldlbWJsZXktU3RhZGlvbnM/IChXaWUgc2VociBkaWUgRW5nbGFlbmRlciBkaWVzZSBOaWVkZXJsYWdlIGdlc2NobWVyenQgaGF0LApsYWVzc3Qgc2ljaCB1ZWJyaWdlbnMgZ3V0IGluIERhdmlkIEJlY2toYW0gIk15IFNpZGUiIG5hY2hsZXNlbiApIAoKCk51biBpc3QgZXMgYW4gZGVyIFplaXQsIERpZGkgSGFtYW5uIGZ1ZXIgc2VpbmVuIFNpZWctRnJlaXN0b3NzIChjYS4gMjUgTWV0ZXIKRW50ZmVybnVuZywgZmxhY2ggdWViZXIgZGVuIG5hc3NlbiBSYXNlbiBpbidzIHVudGVyZSBsaW5rZSBFY2shKSBlbnRzcHJlY2hlbmQKenUgd3VlcmRpZ2VuOiBNaXR0bGVyd2VpbGUgaXN0IGRhcyBXZW1ibGV5LVN0YWRpb24gd2llZGVyIGF1ZmdlYmF1dCB1bmQgenVtClN0YWRpb24gZnVlaHJ0IGVpbmUgbmV1ZSBCcnVlY2tlLCBkaWUgbm9jaCBuYW1lbmxvcyBpc3QuIERlc3dlZ2VuIGhhdCBkaWUKTG9uZG9uIERldmVsb3BtZW50IEFnZW5jeSBlaW5lbiBXZXR0YmV3ZXJiIGF1c2dlc2NocmllYmVuLCBiZWkgZGVtIGRlciBOYW1lCmdld2lubnQsIGRlciBhbSBoYWV1Zmlnc3RlbiBnZW5hbm50IHdpcmQuIFVuZCBkYXMgaXN0IHVuc2VyZSBDaGFuY2UhIAoKQWxzbyBoaWVyIGZ1ZXIgIkRpZXRtYXItSGFtYW5uLUJyaWRnZSIgdm90ZW46IApodHRwOi8vd3d3LmxkYS5nb3YudWsvc2VydmVyLnAgaHA/c2hvdz1Db25Gb3JtLjkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VtYmxleSAoVGFyYW5pcywgIDUuIE1hciAyMDA1LCAwMDozMDoxMyk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTA5OTU3ODA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwOTk1NzgwOQpNZWluc3QgRHUsIGRhcyBzb2xsdGUgbWFuIGRlbiBCcml0ZW4gd2lya2xpY2ggYW50dW4/IElzdCBqYSBzY2hvbiByZWljaGxpY2gKZ2VtZWluLCBzb2xsdGUgZGllc2UgQWt0aW9uIHZvbiBFcmZvbGcgZ2Vrcm9lbnQgc2Vpbi4uLiA7LSkKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VtYmxleSAoRGVlcGJsdWUsICA3LiBNYXIgMjAwNSwgMTE6MjE6NDkpOgp+IyEgcm49VGFyYW5pcyBydD0xMTA5OTc5MDEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwOTk1NzgwOQpJbW1lciBkcnVmZi4gRGllIFN1biBmcmFndCBkb2NoIGF1Y2ggbmljaHQsIHdlbm4gc2llIHdhcyB1ZWJlciBEZXV0c2NobGFuZApzY2hyZWlidCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoWm9vaywgMTQuIE1hciAyMDA1LCAxNDo1NzoxMik6CkhhbGxvIHp1c2FtbWVuLCB3aXIgaGFiZW4gamEgdm9yIGVpbmlnZXIgWmVpdCBkaWVzZW4gc2VsYnN0IHNldHpiYXJlbgpTdGF0dXMgZGVzIENpY2Vyb25lIGVpbmdlZnVlaHJ0LiBNaWNoIHd1ZXJkZSBpbnRlcmVzc2llcmVuLCB3ZWxjaGUgRXJmYWhydW5nZW4KSWhyIGFscyBIaWxmZXN1Y2hlbmRlciBhYmVyIGF1Y2ggYWxzIENpY2Vyb25lIGdlbWFjaHQgaGFidC4gU2NocmVpYnQgZXMgCmRvY2ggZWluZmFjaCBpbiBkaWVzZW4gVGhyZWFkIG9kZXIgc2VuZGV0IG1pciBhdWNoIGdlcm5lIGVpbmUgRS1NYWlsIHp1LgoKQmVzdGVuIERhbmssIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFpvb2ssIDI1LiBNYXIgMjAwNSwgMTg6MjI6NTQpOgp+IyEgcm49Wm9vayBydD0xMTEwODA4NjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpXYXMgZ2VuYXUgc2NobGllc3NlIGljaCBudW4gZWlnZW50bGljaCBkYXJhdXMsIGRhc3Mgc2ljaCBuaWVtYW5kIGlyZ2VuZHdpZQphZXVzc2VydGUgYmlzaGVyPyA7KQoKWm9vay4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTWFoYXJldCwgMjUuIE1hciAyMDA1LCAxODozNjoyMyk6Cn4jISBybj1ab29rIHJ0PTExMTE3NzEzNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRhc3Mgd2lyIGFsbGUgenUgZ2VzdHJlc3N0IHNpbmQgbWl0IEFuZmFlbmdlcmJldHJldXVuZywgYWxzIGRhc3Mgd2lyIEJlcmljaHRlCmRhcnVlYmVyIHNjaHJlaWJlbiBrb2VubnRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoWm9vaywgMjUuIE1hciAyMDA1LCAxODozNjo0Myk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMTE3NzIxODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkFoLCBsZXVjaHRldCBlaW4sIG9rLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoRGFya2xvciwgMjYuIE1hciAyMDA1LCAwMTo1Njo1OCk6Cn4jISBybj1ab29rIHJ0PTExMTE3NzIyMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRhcyBlcyBrZWluZSBBbmZhZW5nZXIgZ2lidD8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgMjYuIE1hciAyMDA1LCAxMTozNDozNik6Cn4jISBybj1EYXJrbG9yIHJ0PTExMTE3OTg2MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCk5hamEsIGVzIGtvbW1lbiBpbW1lciBtYWwgd2llZGVyIG5ldWUgU3BpZWxlciByZWluLiBJY2ggaGFiZSB2aWVsbGVpY2h0IG1pdAo1LTYgaW4gZGVyIFplaXQgZ2VzcHJvY2hlbiB1bmQgaWhuZW4gZ2Vob2xmZW4uIEJlaSBkZW4gbWVpc2VuIHZvbiBkZW5lbiB3YXIKYWJlciBuYWNoIGVpbmlnZW4gVGFnZW4gYXVjaCB3aWVkZXIgU2NobHVzcy4gVmllbGxlaWNodCAyIHdhcmVuIGJpc2hlciBldHdhcwpsYWVuZ2VyIHp1IHNlaGVuLCBtYWwgc2VoZW4sIHdpZSBsYW5nZSBkYXMgYW5oYWVsdC4KRHVtbWVyd2Vpc2UgaGFiZW4gbWljaCBub2NobWFsIHNvdmllbGUgYmVpbSBBcmJlaXRlbiBlcndpc2NodCwgdm9uIHdvIGljaCBoYWx0Cm1laXN0IGlkZWxuZGVyd2Vpc2UgZWluZ2Vsb2dndCBiaW4gdW5kIGRhcyBlcnN0IHZpZWwgc3BhZXRlciBpbSBDb21tbG9nIHNlaGUuCkljaCBoYWJlIGRhbm4gbmF0dWVybGljaCBlaW5lIGVudHNwcmVjaGVuZGUgV2VnbWVsZHVuZyBnZXNldHp0IHVuZCBob2ZmZSwgZGFzcwpzaWUgc2ljaCBub2NoIGFuIGplbWFuZCBhbmRlcmVuIHdlbmRlbi4gV2FlcmUgYWJlciB2ZXJtdXRsaWNoIGJlc3Nlciwgd2VubiBpY2gKb2VmdGVyIGRhcmFuIGRlbmtlbiB3dWVyZGUsIGRlbiBDaWNlcm9uZXN0YXR1cyB3YWVocmVuZCBkZXIgYWZrLVplaXRlbiBhdXMtCnVuZCBzcGFldGVyIHdpZWRlciBlaW56dXNjaGFsdGVuLgpBbnNvbnN0ZW4gZmluZGUgaWNoIGRpZSBJZGVlIG5hY2ggd2llZGVyIHZvciBndXQuIEljaCB3ZWlzcyBuaWNodCwgb2IgZXMgZWluZQpMb2VzdW5nIGdpYnQsIEFuZmFlbmdlcm4gYmVpIGlkZWxuZGVuL2Fid2VzZW5kZW4gQ2ljZXJvbmVzIGRhcyBub2NoIGtsYXJlciB6dQpzYWdlbiwgZGFzcyBkZXJqZW5pZ2UgbW9tZW50YW4gbmljaHQgZGEgaXN0LiBFaWdlbnRsaWNoIHNvbGx0ZSBkaWUgV2VnbWVsZHVuZwpyZWljaGVuLCBhYmVyIGljaCBiaW4gbWlyIG5pY2h0IHNpY2hlciwgb2IgZXMgZGVuIFp3ZWNrIGJlaSBuZXVlbiBTcGllbGVybgplcmZ1ZWxsdCB1bmQgZGllIG5pY2h0IGVudG11dGlndCBhdWZnZWJlbiwgd2VubiBzaWUga2VpbmUgQW50d29ydCBiZWtvbW1lbi4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChDcm9mdCwgMjYuIE1hciAyMDA1LCAxNjozMzoxOCk6Cn4jISBybj1ab29rIHJ0PTExMTE3NzEzNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRpZSBGcmFnZSBpc3Qgd29obCB3aWUgZ3Jvc3MgZGVyIEFudGVpbCBkZXIgQ2ljZXJvbmVuIGJ6dyBkZXIgSGlsZmVzdWNoZW5kZW4KYW4gZGVyIExlc2Vyc2NoYWZ0IGlzdC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKExpYXJhLCAyNy4gTWFyIDIwMDUsIDE5OjE4OjU1KToKfiMhIHJuPUNyb2Z0IHJ0PTExMTE4NTExOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCBoYXR0ZSBlaWdlbnRsaWNoIG51ciBlaW4gUHJvYmxlbS4gOykgTWVpbiBlcnN0ZXIgS29udGFrdCBtaXQgZWluZW0gTmV3YmllCm5hY2ggZGVyIENpY2Vyb25lLUVpbmZ1ZWhydW5nIGxhdXRldGUgdW5nZWZhZWhyIHNvOgpHYXN0WCB0ZWlsdCBkaXIgbWl0OiBoaWxmIG1pcgpEYSBpY2ggenUgZGVyIFplaXQgbm9jaCBuaWNodCB3dXNzdGUsIGRhc3MgaW0gTG9naW4tU2NoaXJtIGVpbmUgZGVyYXJ0aWdlCkZvcm11bGllcnVuZyBhbiBkZW4gQ2ljZXJvbmUgYW5nZWJvdGVuIHdpcmQsIGRhY2h0ZSBpY2gsIGRhc3MgaWNoIGVpbmVuIG1laW5lcgpNdWRiZWthbm50ZW4gYXVzIGlyZ2VuZGVpbmVyIE5vdHNpdHVhdGlvbiByZXR0ZW4gbXVlc3N0ZS4gOykgTmFjaGRlbSBhYmVyIG5vY2gKMiBrbGVpbmUgU3BpZWxlciBhbSBzZWxiZW4gVGFnIGRpZXNlcyB0bSBiZW51dHp0IGhhdHRlbiwgd2FyIG1pciBrbGFyLCB3b2hlcgplcyBrb21tZW4gbXVzcy4KT2IgZGllIExldXRlLCBkZW5lbiBpY2ggZ2Vob2xmZW4gaGFiZSwgZGFnZWJsaWViZW4gc2luZCwga2FubiBpY2ggbmljaHQgc2FnZW4sCmRhIGljaCBpbSBNb21lbnQgYWJzb2x1dCBtZXJrYmVmcmVpdCBiaW4uIDspIEFiZXIgaWNoIGhhdHRlIHNvd2llc28gdm9yLAplbnRzcHJlY2hlbmRlIE5ld2JpZXMgbWFsIGF1ZiBlcndhcnRlIHdlZ2VuIHp1IG5laG1lbiwgdW0gZGFzIGV0d2FzIHZlcmZvbGdlbgp6dSBrb2VubmVuLgpBbHNvIHZvbiBtaXIgYmlzaGVyIGVpbiBwb3NpdGl2ZXMgRmF6aXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChDb3JuaG9saW8sICAzLiBBcHIgMjAwNSwgMTY6MjY6MTUpOgp+IyEgcm49Wm9vayBydD0xMTEwODA4NjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpXaWUgYXVjaCBiZWkgZGVuIEFuZGVyZW4ga29tbXQgIkhpbGZlIG1pciEiIG9kZXIgIktvbW0gc2NobmVsbCIuIE1laXN0ZW5zCmhhYmVuIHNpZSBzaWNoIG51ciBpcmdlbmR3byB2ZXJsYXVmZW4gdW5kIHdhcmVuIGluIFdpbGxpYnVyZyBvZGVyIHNvLiBFaW5pZ2UKdm9uIGRlbmVuIHNldHplbiBhYmVyIGRhcyBtdWRkZW4gaGllciBmb3J0LiBJREVFOiBCZWkgY2ljZXJvbmVzIGRpZSBXZWdtZWxkdW5nCmltbWVyIGVyd2VpdGVybiBhdWYgV2VnbWVsZHVuZysiRmFsbHMgbGFlbmdlcmUgWmVpdCBrZWluZSBBbnR3b3J0IGtvbW10LAoiaGlsZmUgZWJlbmVuIiB1bmQgYXVmIC1hbmYgbmFjaGZyYWdlbiIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFJhbmdvcm4sICA0LiBBcHIgMjAwNSwgMTY6NTQ6MDYpOgp+IyEgcm49Wm9vayBydD0xMTEwODA4NjMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpXZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLCBrb25udGUgaWNoIGJpc2hlciAzIE5ld2JpZXMgaGVsZmVuLiBBbGxlcmRpbmdzCndhciBuYWNoIG1laW5lbSBFaW5kcnVjayBudXIgZWluZXIgZGF2b24gfGJlcmxlYmVuc2ZoaWcgKE5hbWUgbGVpZGVyCnZlcmdlc3NlbikuIE1laW4gbGV0enRlciBLYW5kaWRhdCBlcnNjaGllbiB6LkIuIGV0d2FzIGF1c2RhdWVybG9zLiAoTmFjaApFaW5mfGhydW5nIGR1cmNoc2Nobml0dGxpY2hlIEVpbmxvZ2RhdWVyIHZvbiAxMG1pbiwgc2VpdCA0NCBUYWdlbiBuaWNodCBtZWhyCm9ubGluZSkKQWxsZXMgaW0gYWxsZW4gYWxzbyBlaGVyIGR1cmNoc2Nobml0dGxpY2hlciAiRXJmb2xnIi4KCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDQuIEFwciAyMDA1LCAxODozMTo0Nik6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExMjUzODM3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKRGllIElkZWUgZmluZGUgaWNoIGdhbnogZ3V0LiBEYW5uIHdpcmQgYXVjaCBBbmZhZW5nZXJuIGtsYXJlciwgZGFzcyBkZXIKZ2V3YWVobHRlIENpY2Vyb25lIGdlcmFkZSBlaW5mYWNoIG5pY2h0IGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDQuIEFwciAyMDA1LCAxODozNjoyNik6Cn4jISBybj1SYW5nb3JuIHJ0PTExMTI2MjY0NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCBrYW5uIGRhcyBpbnNvZmVybiBiZXN0YWV0aWdlbiwgZGFzcyBkZXIgZ3JvZXNzZXJlIFRlaWwgIm1laW5lciIgQW5mYWVuZ2VyCm5pY2h0IGxhbmdlIGR1cmNoaGFlbHQgdW5kIG51ciBlaW5pZ2Ugd2VuaWdlIHdpcmtsaWNoIG5hY2hoYWx0aWcgc3BpZWxlbi4KQWxsZXJkaW5ncyBiaW4gaWNoIG1pciBuaWNodCBzaWNoZXIsIG9iIG1hbiBhbHMgQ2ljZXJvbmUgZGEgd2lya2xpY2ggd2FzIGdlZ2VuCnR1biBrYW5uLiBWZXJtdXRsaWNoIGdpYnQgZXMgc2VociB2aWVsZSB2ZXJzY2hpZWRlbmUgR3J1ZW5kZSwgd2FydW0gZGllCm1laXN0ZW4gTGV1dGUgYXVmZ2ViZW4sIGlzdCBzY2h3aWVyaWcsIGRhcyBvaG5lIFJ1ZWNrbWVsZHVuZyB6dSByYXRlbi4gOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEd3ZW5pbGksICA1LiBBcHIgMjAwNSwgMDk6MTY6MDIpOgp+IyEgcm49VGFyYW5pcyBydD0xMTEyNjMyNTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpNaXIgaXN0IGRhcyBnZXJhZGUgaW4gZGVyIGxldHp0ZW4gWmVpdCBvZWZ0ZXIgcGFzc2llcnQsIGRhc3MgaWNoIGltIFNjcm9sbGJhY2sKZWluICJoaWxmIG1pciIgZW50ZGVja3QgaGF0dC4gSGFiZSB1LmEuIGRhcnVtIGRlbiBDaWNlcm9uZS1TdGF0dXMgd2llZGVyCmFiZ2VzY2hhbHRldC4KSGF0dGUgYmVpIGRlbiBBbmZhZW5nZXJuLCBiZWkgZGVuZW4gaWNoIG1pY2ggZW5nYWdpZXJ0IGhhdHRlLCBvZWZ0ZXIgd2VsY2hlCmRhYmVpLApkaWUgZWhlciBzdGVyZW90eXAgZnJhZ3RlbjogV2llIHN0YXJ0ZSBpY2ggaGllciBkYXMgU3BpZWw/IC0gU2llIHN1Y2h0ZW4gZGllCmdyYWZpc2NoZSBPYmVyZmxhZWNoZS4KSGF0dGUgdGVpbHdlaXNlIGRlbiBFaW5kcnVjaywgZGFzcyBnZXJhZGUgYW0gQW5mYW5nIExldXRlIG1hbCB0ZXN0ZW4gd29sbHRlbiwKb2IgbWFuIHNvIFR5cGVuLCBkaWUgc2ljaCBhbHMgQ2ljZXJvbmUgb3V0ZW4sIGF1ZiBkZW4gQXJtIG5laG1lbiBrYW5uLgoKRmF6aXQgZnVlciBtaWNoIHBlcnNvZW5saWNoOiBJY2ggaGVsZiwgc29mZXJuIGljaCBkYSB1bmQgbmljaHQgaWRsZSBiaW4sCmxpZWJlciB3aWVkZXIgc28gd2llIGZydWVoZXIsIG5hZW1saWNoLCBlaW5mYWNoLCB3ZW5uIGVzIHNpY2ggZXJnaWJ0LAp3ZW5uIGljaCBkYXMgR2VmdWVobCBoYWIsIGRhc3MgZXMgZGVtIGFuZGVybiBTcGFzcyBtYWNodCB1bmQgZXIgZWJlbiBlaGVyCmJlaSBrb25rcmV0ZW4gUHJvYmxlbWVuIGZyYWd0LgpDaWFvLCBHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChNdWFkaWIsICA1LiBBcHIgMjAwNSwgMDk6NTI6MzApOgp+IyEgcm49R3dlbmlsaSBydD0xMTEyNjg1MzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgphbHNvIGRpZSBmcmFnZTogd2llIHN0YXJ0ZSBpY2ggaGllciBkYXMgc3BpZWw/IGlzdCBkb2NoIHNlaHIga29ua3JldAp3ZW5uIGplbWFuZCBzcGFzcyBkYXJhbiBoYXQgc2ljaCBhbiBtZWluZXIgaGlsZmVzdGVsbHVuZyB6dSBkZWxla3RpZXJlbiwgZGFubgpudXIgenUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoV3VyemVsLCAgNS4gQXByIDIwMDUsIDEwOjIyOjAxKToKfiMhIHJuPU11YWRpYiBydD0xMTEyNjg3NTUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpzb2xjaGUgbGV1dGUgZnJhZ2VuIGRhbm4sIHdlbm4gc2llIG1hbCBybCBpbiBlaW5lIHVuYW5nZW5laG1lIHNpdHVhdGlvbgpnZXJhdGVuLCBhdWNoIGdlcm4gIndvIGthbm4gbWFuIGRhcyBhdXNzY2hhbHRlbj8iLiBvZGVyIGFlaG5saWNoLgpkYSBoaWxmdCBudXIgZWluczogZWluc2NobGFlZmVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoR3dlbmlsaSwgIDUuIEFwciAyMDA1LCAxMDoyOTo1NSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExMjY4OTMyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKRGllICJXaWUgc3RhcnRlIGljaCBkYXMgU3BpZWw/IiBmcmFndGVuLCBkYWNodGVuIGhhbHQsIGRhcyBNVUQgc2VpIGRpZQpUZXh0LUtvbnNvbGUgenUgbmVtIGdyYWZpa2Jhc2llcnRlbiBPbmxpbmUtU3BpZWwuCkRvb2YgaXN0IG51ciwgd2VubiBqZW1hbmQgbWVpbnQsIGR1cmNoIFdpZWRlcmhvbGVuIGRlciBGcmFnZSB3dWVyZGUgc2ljaCBkaWUKQW50d29ydCBhZW5kZXJuLgpNYWwgd2VpdGVyYXJiZWl0ZW4uLi4KQ2lhbywgR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoSmFtZXNvbiwgIDUuIEFwciAyMDA1LCAxMDo0NjozNyk6Cn4jISBybj1Hd2VuaWxpIHJ0PTExMTI2ODk3OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCk1pY2ggaGFiZW4gc2Nob24gc28gZWluaWdlIExldXRlIGFuZ2VzcHJvY2hlbi4gQW0gQW5mYW5nIHd1cmRlIGF1Y2ggaWNoIGxlaWRlcgpvZWZ0ZXIgbWFsIGlkbGUgKG1pdCBXZWdtZWxkdW5nLCBpbSBhbmRlcmVuIHNjcmVlbi1GZW5zdGVyIHVzdy4pIGVyd2lzY2h0LCB1bmQKaWNoIGtvbm50ZSBuaWNodCBuYWNodm9sbHppZWhlbiwgb2Igc2llIGRhbm4gYXVmZ2VnZWJlbiBvZGVyIHdlbiBhbmRlcnMKZ2VmcmFndCBoYWJlbi4KRGFyYXVmaGluIGhhYmUgaWNoIG1pciBlaW5lbiBTYXR6IGFuIE1ha3JvcyBpbiBURiBnZXNjaHJpZWJlbiwgZGllIHUuYS4gdm9tCklkbGUtIHVuZCBXZWdtZWxkdW5nc3N0YXR1cyBhYmhhZW5naWcgZGVuIGNpY2Vyb25lLU1vZHVzIHNldHplbi4gRGFzIGhhdAplaW5kZXV0aWcgZ2Vob2xmZW4sIGljaCB0ZWlsZSBzaWUgYXVmIEFuZnJhZ2UgZ2VybmUuCkVzIGhhdCBtaWNoIGVpbiB3ZW5pZyBnZXd1bmRlcnQsIGRhc3MgaWNoIGxhbmdlIFplaXQgKHZvbiBBbmZhbmcgYW4pIGRlcgplaW56aWdlIE5pY2h0LVNlaGVyIHdhciwgZGVyIGNpY2Vyb25lIGlzdC4KWnUgZGVuIHZlcnNjaGllZGVuZW4gVHlwZW4gdm9uIE5ldWxpbmdlbi4uLiBJY2ggaGF0dGUgZWluZW4sIGRlciB6aWVtbGljaApsb2dpc2NoIHVuZCBrb256ZW50cmllcnQgYW4gZGllIFNhY2hlIGdpbmcgdW5kIG1laHIgb2RlciB3ZW5pZ2VyIG51ciB3aXNzZW4Kd29sbHRlLCB3YXMgbWFuIGluIGVpbmVtIE11ZCBzbyBtYWNoZW4ga2FubiB1bmQgZGFzIFNwaWVscHJpbnppcCB1bmQgc28uIERlbgpoYXR0ZSBpY2ggbmljaHQgbGFuZ2UsIGVyIGthbSBzZWhyIHNjaG5lbGwga2xhci4gSWNoIGhhdHRlIGVpbmlnZSwgZGllIG51cgplaW5lIEZyYWdlIGdlc3RlbGx0IGhhYmVuIHVuZCBzaWNoIGRhbm4gd2llZGVyIGF1c2dlbG9nZ3QgaGFiZW4uIFVuZCBlaW4gb2Rlcgp6d2VpLCBkaWUgYXVmIG1laW4gSGlsZmVhbmdlYm90IGdhciBuaWNodCBtZWhyIHJlYWdpZXJ0IGhhYmVuLiAoRGllc2VzClZlcmhhbHRlbiBrZW5uZSBpY2ggYXVjaCBhdXMgYW5kZXJlbiBNdWRzIC0ga29tbWVuIHJlaW4sIG1hbiBzYWd0IGhhbGxvLCBbd2llXQprYW5uIGljaCBoZWxmZW4sIHVuZCB3ZWcgc2luZCBzaWUgd2llZGVyIC0ga29tbWVudGFybG9zLikgSWNoIGhhYmUgZGVyemVpdAplaW5lIGVpbnplbG5lIFBlcnNvbiwgZGVyIGljaCwgc2VpdCBzaWUgaGllciBpc3QsIHN0YWVuZGlnIGhlbGZlKG4gbXVzcykuCkltbWVyaGluIGlzdCBzaWUgbm9jaCBoaWVyIC0gd2FzIHdvaGwgbmljaHQgenVsZXR6dCBkZXIgVGF0c2FjaGUgenUgdmVyZGFua2VuCmlzdCwgZGFzcyBzaWUgbm9jaCBpbiBhbmRlcmVuIE11ZHMgc3BpZWx0LgpadW0gTG9naW4tVGV4dCBoYWV0dGUgaWNoIHp1IHNhZ2VuLCBkYXNzIGVyIGV4dHJlbSBrbGFyIHVuZCBkZXV0bGljaCBzZWluCm11c3MsIG1pdCBkZW4gZWluZGV1dGlnZW4gS29tbWFuZG9zIHVuZCB3YXMgc2llIGJld2lya2VuLiBGYXN0IGFsbGUKQW5mcmFnZW5kZW4gYmVudXR6ZW4gZXhha3QgZGVuIGFuZ2VnZWJlbmVuIHRlaWxlLW1pdC1TYXR6LCBhbHNvIHd1ZXJkZSBpY2gKZXR3YWlnZSBFcmdhZW56dW5nZW4gYmVzb25kZXJzIGluIGJlenVnIGF1ZiBFYmVuZW4gbm9jaCBrdXJ6IGVya2xhZXJlbi4gVmllbGUKTmV1bGluZ2Ugc2NoZXVlbiBzaWNoIGFiZXIsIGdsZWljaCBvZWZmZW50bGljaCBhdWYgRWJlbmVuIGFuenVmcmFnZW4uIERhcwpsaWVndCBzZWhyIG9mdCBkYXJhbiwgZGFzcyBhdWYgZWluZSBBbmZyYWdlIGF1ZiBlaW5lciBFYmVuZSBzb2ZvcnQgbWl0CihzaW5uZ2VtYWVzcykgImZvcnNjaCBkb2NoIiBvZGVyIGR1bW1lbiBBbnR3b3J0ZW4genUgcmVjaG5lbiBpc3QgLSBvYiBkYXMKZXZlbnR1ZWxsIGVpbiBOZXVsaW5nIGlzdCB1bmQgZG9jaCBrZWluIGJlcXVlbWVyIFNwaWVsZXIsIGRlciBzaWNoCnZvcnp1Z3N3ZWlzZSBiZWRpZW5lbiBsYWVzc3QsIHdpcmQgbmF0dWVybGljaCBnYXIgbmljaHQgZXJzdCBhYmdlY2hlY2t0LiBEYXMKc2NocmVja3QgYWIuIElzdCBuYXR1ZXJsaWNoIGtlaW4gY2ljZXJvbmUtUHJvYmxlbSBhbiBzaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChLZWxseWJ1bmR5LCAgNS4gQXByIDIwMDUsIDIwOjExOjAxKToKfiMhIHJuPUd3ZW5pbGkgcnQ9MTExMjY4NTM2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKRGFzIGlzdCB3b2hsIGF1Y2ggZGVyIEtlcm4gZGVzIE5hY2h3dWNoc3Byb2JsZW1lczonV2llPyBlaW4gX25pY2h0Z3JhcGhpc2NoZXNfCk1VRD8gbGFldWZ0IGRhcyBhdWZtIFpYODEgb2RlciBzb3dhcz8nIERpZSBqdW5nZW4gSHVlcGZlciBzaW5kIHZpZWwgenUKdmVyd29laG50ICpHRyoKUC5TLiBJaHIgd2lzc3QgbmljaHQgbWVociwgd2FzIGVpbiBaWDgxIGlzdD8gSWhyIGp1bmdlbiBIdWVwZmVyISA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoV3VyemVsLCAgNS4gQXByIDIwMDUsIDIwOjM2OjQ5KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTExMjcyNDY2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKaWNoIHdlaXNzIHNvZ2FyIG5vY2gsIHdhcyBkZXIgeng4MCB3YXIuIHdlbm4gaGllciBlaW5lciB1ZWJlciBqdW5nZSBodWVwZmVyCnNjaGltcGZlbiBkYXJmLCBkYW5uIGphIHdvaGwgbmljaHQgZHUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoS2VsbHlidW5keSwgIDUuIEFwciAyMDA1LCAyMTowMjo1Nik6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExMjcyNjIwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKaGVoZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChSb2xhbmQsICA1LiBBcHIgMjAwNSwgMjM6MjM6MzEpOgp+IyEgcm49R3dlbmlsaSBydD0xMTEyNjg5Nzk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpEYXMgc3RhZW5kaWdlIHdpZWRlcmhvbGVuIGRlciBGcmFnZSBvZGVyIGVpbmVyIHgtYmVsaWViaWdlbiBBdXNzYWdlIGlzdCBlaW4KUHJvYmxlbSB3YXMgYXVzIGRlbiBncmFmaWtiYXNpZXJ0ZW4gT25saW5lLVNwaWVsZW4gaW5zIG11ZCB1ZWJlcnNjaHdhYnQuCkljaCBlbnRzaW5uZSBtaWNoIGRhIGFuIGVpbmVuIEFydGlrZWwgYXVmIGQyLmRlIHdlbGNoZXMgZGllc2VzIFRoZW1hCmJlaGFuZGVsdGUgdW5kIHNvbGNoZSBMZXV0ZSBuZXR0ZXJ3ZWlzZSBhbHMgIjEzMzcgZ2FtZXIiIGJlemVpY2huZXQuIGluIGQyCnNlbGJlciBnaW5nIGVzIGRhIHVtIHN0YW5kaWdlcyBwcCwgdHAsIHVuZCB0cmFkZSBnZWJydWVsbGUgaW4gZ2FtZSB3byBuaXggbWl0Cnp1IHR1biBoYWJlbi4KSWNoIHNlbGJlciBoYWJlIHp1IGRlbSBmZXN0Z2VzdGVsbHQgZGFzIGRhcyBhbHRlciBzb2xjaGVyIDEzMzduZXIgZG9jaCBtZWlzdAo8MTggaXN0LiBPYndvaGwgZGFzIEFsdGVyIGhpZXJiZWkgbWFsIGRhaGluIGdlc3RlbGx0IHNlaS4KCldhcyBtaXIgamV0enQgZWlnZW5kbGljaCBub2NoIG1laHIgenUgZGVua2VuIGdpYnQuIEJ6dyB3YXMgaWNoIGdlcm5lIG1hbAp3aXNzZW4gbW9lY2h0ZSBpc3QsIHdpZSBkaWUgMTMzNyBnYW1lciwgd2VsY2hlIGRlbmtlbiBkYXMgc2VpIGRpZSBFaW5sb2dlYmVuZQp6dSBlaW5lbSBHcmFmaWtnYW1lLCBlaWdlbmRsaWNoIGF1ZiBkaWUgc2VpdGUgdm9tIE1HIGdlc3Rvc3NlbiBzaW5kLiAKSWNoIG1laW5lIHdpZSBpY2ggZGFtYWxzIGRhenUgZ2Vrb21tZW4gYmluLCBkYXMgd2FyIGF1Y2ggc2VsdHNhbSwgYWJlciBpY2gKd3VzdGUgImF1cyBkZW0gQnVjaCIgd2VuaWdzdGVucyBkYXMgZGFzIHdpcmtsaWNoIG51ciBUZXh0IGlzLCB1bmQgaGFicyBhdXMKcmVpbmllciBuZXVnaXIgaW4gYW5ncmlmZiBnZW5vbW1lbiB1bmQgZGFubiBtZWhybWFscyBhdWYgZ2VnZWVuIGJpcyBtaWNoIGRhcwpGaWViZXIgZGFubiByaWNodGlnIGdlcGFja3QgaGF0dGUuCkFiZXIgaWNoIGRlbmtlIGRhcyB3aXJkIG1hbiBuaWUgZXJrdW5kZW4ga29lbm5lbiwgZGEgZGllIG1laXN0ZW4gZnJhZ2UgaW0Kc3RhZW5kaWdlbiB3aWVkZXJob2xkcmFuZyB1bnRlciBnZWhlbiB3ZXJkZW4gOykKCm5hamEsIGRhcyB3YXJzIGdsYXViIGljaCAuLi4uClJvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChEZWVwYmx1ZSwgIDYuIEFwciAyMDA1LCAwOTo1Njo1Myk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMTI3MjQ2NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyClNvcnJ5LCBpY2ggaGF0dGUgaW1tZXIgbmVuIEF0YXJpIDgwMAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENvcm5ob2xpbywgIDYuIEFwciAyMDA1LCAxMDoxNjowMyk6Cn4jISBybj1ab29rIHJ0PTExMTE3NzEzNzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkpldHp0IHdpcmQgZXMgbWlyIGF1Y2gga2xhcmVyLCB3YXJ1bSBpbW1lciAiaGlsZiBtaXIiIGthbS4KQmVpbSBFaW5sb2dnZW4gbmFjaCBLcmVhdGlvbiBlaW5lcyBuZXVlbiBDaGFyYWt0ZXJzIGVyc2NoZWludCBqYSBkaWUKQ2ljZXJvbmUtS3VyemluZm8sIGluIGRlciBzdGVodCwgbWFuIHNvbGxlIGphICJ0ZWlsZSBibGEgbWl0IGhpbGYgbWlyIgpiZW51dHplbi4KRGEgbWFuIGFscyBOaWNodG1hZ2llciBiencuIC1zZWhlciBvaG5laGluIG5hY2hmcmFnZW4gbXVzcyBpbSBuYWVjaHN0ZW4KTW9tZW50LCB3byBlciBzaWNoIGJlZmluZGV0IG9kZXIgd2FzIGdlbmF1IGRhcyBQcm9ibGVtIGlzdCAob2RlciBtYW4gc2NoYWV0enQsCmRhc3MKZXIvc2llIHNpY2ggb2huZWhpbiBhbHMgei5CLiBNZW5zY2ggaW4gZGVyIEdpbGRlIFBWIGJlZmluZGV0IHVuZCBlaWx0IGhpbiksCmtvZW5udGUgbWFuIGRpZXNlIEJlaXNwaWVsLVRNLUZyYWdlIGphIGF1Y2ggYWJhZW5kZXJuIGluCnRlaWxlIGJsYSBtaXQgSGFsbG8sIGljaCBiaW4gPG9ydD4gdW5kIGhhYmUgPFByb2JsZW0+LgpBbGxlcmRpbmdzIHdpcmQgZWluIHdpcmtsaWNoZXIgTmV1bXVkZGVyIGVyc3QgZWlubWFsIHVlYmVyaGF1cHQgbmljaHQKd2lzc2VuIChrb2VubmVuKSwgd28gZXIgc2ljaCBudW4gYmVmaW5kZXQuCgpEYSBkYXMgdmVyc3RhZW5kbGljaCBpc3QsIGthbm4gbWFuIGRhcmFuIHdhaHJzY2hlaW5saWNoIGF1Y2ggbmljaHRzIGRyZWhlbi4KVmllbGxlaWNodCB3YWVyZSBlaW4ga3VyemVyIFNhdHogenVyIENpY2Vyb25lLUluZm8gaGlsZnJlaWNoLCBkZXIKaW4gZXR3YSB3aWUgZm9sZ3QgYXVzc2VoZW4ga29lbm50ZToKU2VsYnN0dmVyc3RhZW5kbGljaCBrYW5uc3QgZHUgamVkZXJ6ZWl0IGVpbmVuIENpY2Vyb25lIHBlciB0ZWlsZS1taXQgZnJhZ2VuLApvYiBlciBEaXIgaGVsZmVuIG1vZWNodGUgb2RlciBhdWYgZWluZXIgZGVyIEViZW5lbiwgd2llIHouQi4gLWFuZmFlbmdlciwKZWluZSBGcmFnZSBzdGVsbGVuLiBVbSBhYmVyIGRlbiBNaXRzcGllbGVybiBkYXMgSGVsZmVuIHp1IGVybGVpY2h0ZXJuLApzb2xsdGVzdCBEdSBkaXIgZGllIEVpbmZ1ZWhydW5nIGR1cmNobGVzZW4gdW5kIGF1Y2ggZGFzIEhpbGZlc3lzdGVtIGFuc2NoYXVlbgooImhpbGZlIikuIEVpbmVzIHZvcndlZyA6IEltIGpld2VpbGlnZW4gUmF1bSBrYW5uc3QgZHUgbWl0ICJzY2hhdSIgZGlyIGRpZXNlbgphbnNlaGVuIHVuZCBzbyB6LkIuIGRlbSBNaXRzcGllbGVyIHNjaG9uIHZvcmhlciBpbiBTdGljaHdvcnRlbiBtaXR0ZWlsZW4sIHdvCmR1IGJpc3QgdW5kIHdvIGRlciBTY2h1aCBkcnVlY2t0LiBCZWlzcGllbDoKdGVpbGUgYmxhIG1pdCBIYWxsbywgaGllciBzaW5kIFRhdXNlbmRmdWVzc2xlciB1bmQgaWNoIGhhYmUgbWljaCB2ZXJsYXVmZW4uCgpHcnVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChUYXJhbmlzLCAgNi4gQXByIDIwMDUsIDEwOjM1OjQyKToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTEyNzc1MzYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpEZW0gd3VlcmRlIGljaCB6dXN0aW1tZW4sIGljaCBmaW5kZSBkaWUgSWRlZSwgZGllIENpY2Vyb25lLUluZm8gYmVpbSBFaW5sb2dnZW4KaW4gZGVyIGFuZ2VkZXV0ZXRlbiBGb3JtIGV0d2FzIHp1IGVyd2VpdGVybiwgZ3V0LiBJY2ggaGFiZSBtYW5jaG1hbCB1ZWJyaWdlbnMKZGVuIEVpbmRydWNrLCBkYXNzIG5ldWUgU3BpZWxlciBkZW5rZW4sIHNpZSB3dWVyZGVuIHBlciAidG0gaGlsZiBtaXIiIGFuIGVpbmUKYXV0b21hdGlzY2hlIEhpbGZlIG8uYWUuIGtvbW1lbi4gOi0vCkRhcyBUTS1CZWlzcGllbCBhYnp1YWVuZGVybiBpbiBzb3dhcyB3aWUgIkljaCBiaW4gbmV1IHVuZCBoYWIgZWluIFByb2JsZW0sCmthbm5zdCBEdSBtaXIgYml0dGUgaGVsZmVuPyIgZmluZGUgaWNoIHVlYnJpZ2VucyBuaWNodCBzY2hsZWNodCwgd2VpbCBkYXMKZWluZmFjaCBob2VmbGljaGVyIGlzdCBhbHMgZWluICJoaWxmIG1pciIuIDstKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChaYXJuaXlhLCAgNi4gQXByIDIwMDUsIDExOjA3OjA2KToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTEyNzc1MzYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpIYXN0IER1IHNjaG9uIG1hbCBuZSBUbSBnZWtyaWVndCwgZGllIGRhbm4gCgpCbGEgdGVpbCBEaXIgbWl0OiBIYWxsbywgaWNoIGJpbiA8b3J0PiB1bmQgaGFiZSA8UHJvYmxlbT4uCgphdXNzYWg/IFVudGVyc2NoYWV0emUgbmllIGRpZSAoZmVobGVyaGFmdGUpIFdpcmt1bmcgdm9uIFBsYXR6aGFsdGVybi4gOikKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoWm9vaywgIDYuIEFwciAyMDA1LCAxMTozNDo1Myk6Cn4jISBybj1aYXJuaXlhIHJ0PTExMTI3Nzg0MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkVpZ2VudGxpY2ggc29sbHRlbiBzb2xjaGUgRGluZ2UgZHVyY2ggZWluZSBBcnQgVHV0b3JpYWwgKGRhcyBzZWluZW0gQW5zY2hsdXNzCmhhcnJ0KSBlcmtsYWVydCB3ZXJkZW4uCgpVbmQsIHdhcyBnbGF1YnQgSWhyLCB3aWV2aWVsZSAiaGFsbG8gbXVkZ290dCItdGVpbGVtaXRzIGljaCBzY2hvbiAKYmVrb21tZW4gaGFiZS4uLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENvcm5ob2xpbywgIDYuIEFwciAyMDA1LCAxMjoxODoxMCk6Cn4jISBybj1ab29rIHJ0PTExMTI3ODAwOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCldpZSBzb2xsIGRhcyBUdXRvcmlhbCBhdXNzZWhlbj8gSW50ZXJha3RpdiBpbSBNVUQgc2VsYmVyPwpPZGVyIGVpbmZhY2ggbnVyIGVpbiBEb2t1bWVudD8KSW4gbGV0enRlcmVtIG11ZXNzdGVuIGFiZXIgYWxsZSBSYXNzZW4gZWluIFR1dG9yaWFsIGtyaWVnZW4sCmRhIGplZGUgZWluZW4gYW5kZXJlbiBTdGFydHB1bmt0IGhhdC4KV2VubiBkaWVzZXMgVHV0b3JpYWwgYWxzbyBhbHMgRG9rdW1lbnQgdm9ybGllZ2VuIHNvbGwgdW5kCm51ciBrdXJ6IHNlaW4gc29sbCwgd3VlcmRlIGljaCBtZWluZSBiZXNjaGVpZGVuZSBIaWxmZSBhbmJpZXRlbi4KQWJlciBzb2V0d2FzLCB3aWUgImluIDEwaCB6dW0gU3VwZXJzZWhlciIga3JpZWdlIGljaCBuaWNodCBoaW4gKEljaCBzY2hhZmZlIGVzCmphIHNlbGJzdCBuaWNodCA6KSkuCldlbm4gZGFubiBub2NoIFJhbmdvcm4gc2VpbiBPSyBnZWJlbiB3dWVyZGUsIGRhc3MgaWNoCnNlaW5lIEthcnRlIGFuc2F0endhZWlzZSAidmVrdG9yaXNpZXJlbiIgZHVlcmZ0ZSB1bmQgbWl0IGVpbmJldHRlbiAodW0gZGllCkhhdXB0dmVya2VocnN3ZWdlCnp1IHplaWdlbiksIHd1ZXJkZSBpY2ggZGFzIGF1Y2ggdHVuLiBBYmVyIGRhcyB3dWVyZGUgZGFubiBuaWNodCBtb3JnZW4gc2Vpbi4KOikKCk1laW4gVHV0b3JpYWwgd3VlcmRlIGRlbSBTcGllbGVyIHplaWdlbiwgd2llIGVyIHNpY2ggdW1zY2hhdXQsIHdvcmF1ZiB6dQphY2h0ZW4gaXN0IHVuZCB3byB1bmdlZmFlaHIgc2VpbmUgR2lsZGUgc2ljaCBiZWZpbmRldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTWFoYXJldCwgIDYuIEFwciAyMDA1LCAxMjoxOTo0OCk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExMjc4MjY5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKTGllcyBub2NobWFsIGdlbmF1ZXIsIGVzIGdpYnQgc293YXMgc2Nob24sIG11c3MgYWxsZXJkaW5ncyBub2NoIGFuZ2VzY2hsb3NzZW4Kd2VyZGVuIDspClVuZCBSYW5nb3JuIGlzdCBlaW5lIFNpZS4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQmFtYnVsa28sICA2LiBBcHIgMjAwNSwgMTI6MjU6MDgpOgp+IyEgcm49TWFoYXJldCBydD0xMTEyNzgyNzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpJY2ggZ2xhdWJlIGVpbiBndXRlciBJbmRpa2F0b3IgZnVlciBkZW4gRXJmb2xnIGRlciBDaWNlcm9uZSBpcyBkaWUgQW56YWhsIGRlcgpuZXVlbiBTcGllbGVyLCBkZW5lbiB2b24gQ2ljZXJvbmVuIGdlaG9sZmVuIHd1cmRlIHVuZCBkaWUgaGllciBldHdhcyBkYXp1CnNjaHJlaWJlbi4gSWNoIGhhYmUgbmljaHQgYWxsZSBBcnRpa2VsIHJpY2h0aWcgZ2VsZXNlbiwgYWJlciBpY2ggZ2xhdWJlIGRhIHdhcgprZWluIFNvbGNoZXIgZGFiZWkuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChDb3JuaG9saW8sICA2LiBBcHIgMjAwNSwgMTI6MjU6MTIpOgp+IyEgcm49TWFoYXJldCBydD0xMTEyNzgyNzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpZaWtlcyEgU29ycnksIEZyYXUgUmFuZ29ybiA6KQpBbGxlcmRpbmdzIG11c3MgaWNoIHp1ciBEaXNrdXNzaW9uIGhpbnp1ZnVlZ2VuLApkYXNzIGVzIHZpZWxsZWljaHQgZXR3YXMgYW0gTXlzdGlzY2hlbiBkaWVzZXMgTVVEcyBzYWVndCwKd2VubiB6dXZpZWwgYXVmZ2V6ZWlndCB1bmQgd2VuaWdlciBzZWxic3QgZW50ZGVja3Qgd2lyZC4KS2xhciBmcmFndCBtYW4gbWFsIGluIGVpbmVyIFF1ZXN0IG5hY2ggZWluZW0gSGludCwgd2VubgplcyBnYXJuaWNodCBtZWhyIHdlaXRlciB6dSBnZWhlbiBzY2hlaW50LgoKClZpZWxsZWljaHQgaXN0ICJteXN0aXNjaCIgbmljaHQgZGVyIHJpY2h0aWdlIEF1c2RydWNrLgoKKHMuby4pCgpDb3JuaG9saW8sCmRlciBGZXR0bmFlcGZjaGVudHJ0ZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoV3VyemVsLCAgNi4gQXByIDIwMDUsIDEyOjI2OjI2KToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTEyNzgzMTEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgppbSBtdWQgZ2lidCBlcyBrZWluZSBmcmF1ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFpvb2ssICA2LiBBcHIgMjAwNSwgMTM6NDk6MzApOgp+IyEgcm49V3VyemVsIHJ0PTExMTI3ODMxODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRhcyBUdXRvcmlhbCBzb2xsIGludGVyYWt0aXYgc2Vpbi4KClpPb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChHYWJ5bG9uLCAgNi4gQXByIDIwMDUsIDE1OjQ2OjM4KToKfiMhIHJuPVpvb2sgcnQ9MTExMjc4ODE3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKZmluZGV0IGlociBkYXMgbmljaHQgZWluIGJpc3NjaGVuIFpVIGFuZmFlbmdlcndlaWNoZ2VzcHVlbHQ/Cm1hbnBhZ2VzLCBGQVFzLCBjaWNlcm9uZXMsIGludGVyYWt0aXZlIHR1dG9yaWFscy4uLgp3YXMga29tbXQgYWxzIG5hZWNoc3Rlcz8KCmZydWVoZXIgZ2FicyBkaWUgaGlsZmVzZWl0ZW4gdW5kIGd1dCB3YXIuIHdlciBhbHMgYW5mYWVuZ2VyIGRpZXNlIHNwaWVsZm9ybQppbnRlcmVzc2FudCBmaW5kZXQsIGJlaXNzdCBzaWNoIGVoIGR1cmNoLCBhdWNoIG9obmUgcmllc2VuaGlsZmUuIGRpZQphbmRlcmVuIGViZW4gbmljaHQuIHNvIHdhcnMgYWJlciBzY2hvbiBpbW1lci4KCmltaG8gc29sbHRlIG1hbiBlaGVyIHZlcnN1Y2hlbiwgZGllIGhpZXIgbm9jaCBha3RpdmVuIHNwaWVsZXIgenUgaGFsdGVuCmFscyB6dSB2ZXJzdWNoZW4sIGRlbiBuZXVlbiBkaWUgZWluc3RpZWdzaHVlcmRlIHVudGVyIGRhcyBnZWlzdGlnZQpuaXZlYXUgZWluZXMgZ2xhc2VzIHdhcm1lciBtaWxjaCB6dSBkcnVlY2tlbi4KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTXVhZGliLCAgNi4gQXByIDIwMDUsIDE1OjUxOjMxKToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMjc5NTE5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKZHUgbWVpbnN0IGRhcyBuaXZlYXUgZGVzIGFyZ3VtZW50ZXMgInNvIHdhcnMgYWJlciBzY2hvbiBpbW1lciI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChHYWJ5bG9uLCAgNi4gQXByIDIwMDUsIDE2OjA3OjE3KToKfiMhIHJuPU11YWRpYiBydD0xMTEyNzk1NDkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpuZWluLgplcyB3YXIgZnJ1ZWhlciBzbyB1bmQgZWlnZW50bGljaCB3YXJzIGdhbnogZ3V0IHNvLiBzaWNoZXIsIHVlYmVyIGVpbmUKdWViZXJhcmJlaXR1bmcgZGVyIGhpbGZlIG9kZXIgZWluZSBhbmZhZW5nZXItZWJlbmUga29ubnRlIG1hbiBuYWNoZGVua2VuLgpjaWNlcm9uZXMgc2luZCBpbSBwcmluemlwIGF1Y2gga2VpbmUgc2NobGVjaHRlIGlkZWUsIG51ciBtYWNoZW4gc2llCmltIHByaW56aXAgZGVuIHNjaHJlaWItdW5kLXRpcHBmYXVsZW4gc3BpZWxlciBOT0NIIHNjaHJlaWItdW5kLXRpcHBmYXVsZXIKYSBsYSAiZXJ6YWVobCBtaXIgbWFsIHdhcyBpbiBkZXIgRkFRIHN0ZWh0Ii4KCndlbm4gaWhyIGF1ZiBuZXVlIHNwaWVsZXIgaG9mZnQ6IGRpZSB6ZWl0ZW4gc2luZCBlaW5mYWNoIHZvcmJlaSwgaW4KZGVuZW4gaGF1ZmVud2Vpc2UgaW5mb3JtYXRpay1zdHVkZW50ZW4gZGFzIG11ZCBzdHVlcm10ZS4gRDIsIFEzQSwgRmFyIENyeSwKVW5yZWFsIFR1cm5hbWVudCwgV29XIHVuZCB3aWUgc2llIGFsbGUgaGVpc3NlbiBzaW5kIGhhbHQgZnVlciBkaWUKbWVpc3RlbiB1bSBsYWVuZ2VuIGludGVyZXNzYW50ZXIuCgp3ZW5uIGlociB3aXJrbGljaCBhdWYgdmVybWVocnVuZyBkZXIgc3BpZWxlcnphaGxlbiBob2ZmdDogdmVyc3VjaHQsIGRpZQpoaWVyIGFrdGl2ZW4genUgaGFsdGVuLiBsZWd0IGRlbiBzY2h3ZXJwdW5rdCBhdWYgZXJoYWx0dW5nIGRlcwpzcGllbHNwYXNzZXMuIHdlbm4gaWhyIGtlaW5lIGFuc2FldHplIGZpbmRldDogaWNoIGthbm4gZXVjaCBkYSBnZXJuIGJlcmF0ZW4uCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEJvaW5nLCAgNi4gQXByIDIwMDUsIDE2OjA4OjMzKToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMjc5NTE5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKV2VubiBtYW4gbnVyIHZlcnN1Y2h0IGRpZSBhbHRlbiBTcGllbGVyIHp1IGhhbHRlbiwgaXN0IGRhcyBNRyBpcmdlbmR3YW5uCmxlZXIuIEplZGVyIGVudHdpY2tlbHQgc2ljaCB3ZWl0ZXIsIGplZGVyIGJlZW5kZXQgbWFsIHNlaW5lIE1VRC1MYXVmYmFobiwKc2VpIGVzIGF1cyBwZXJzb2VubGljaGVuIEdydWVuZGVuICh6LkIuIEZhbWlsaWUsIEJlcnVmKSBvZGVyIHdlaWwgZXIgZWluCnNwYW5uZW5kZXJlcyBTcGllbC9Ib2JieSBnZWZ1bmRlbiBoYXQuIEVzIG11c3MgaW1tZXIgdW5zZXIgWmllbCBzZWluCm5ldWUgU3BpZWxlciB6dSBnZXdpbm5lbiB1bmQgYW4gZGFzIE11ZCB6dSBiaW5kZW4uIERhcyBoYXQgYXVzIG1laW5lcgpTaWNodCBkaWUgaG9lY2hzdGUgUHJpb3JpdGFldC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTXVhZGliLCAgNi4gQXByIDIwMDUsIDE2OjEwOjIxKToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMjc5NjQzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKYWxzbyBkYXMgc3BpZWwgaXN0IHdlc2VudGxpY2ggZ3JvZXNzZXIgZ2V3b3JkZW4gdW5kIHVuYmVkYXJmdGUgYW5mYWVuZ2VyIGhhYmVuCmR1cmNoYXVzIHNvIGlocmUgc2Nod2llcmlna2VpdGVuLCB3ZW5uIHNpZSBpbiBrYXR6bWFuZHUgc3RlaGVuIHVuZCBzcGllbGVuCndvbGxlbi4gKGRpZSB1bmJlZGFyZnRlbiBhbmZhZW5nZXIgZ2lidCBlcyB1ZWJyaWdlbnMgd2lya2xpY2gpCmRpZXNlbiBrYW5uIGR1cmNoIGRpZSBjaWNlcm9uZXMgZ2Vob2xmZW4gd2VyZGVuLgpuaWVtYW5kIHNwcmljaHQgZGF2b24sIGRhc3MgbWFuIGRlbiBzcGllbGVybiBhbHMgY2ljZXJvbmUgYWxsZXMgdm9ya2F1ZW4gbXVzcy4KaGllciBpc3QgZGllIGVpZ2VuZSBlbnRzY2hlaWR1bmdza3JhZnQgZ2VmcmFndC4KCnZvcnNjaGxhZWdlIGZ1ZXIgc3BpZWxzcGFzc2ZvZXJkZXJuZGUgbWFzc25haG1lbiBzaW5kIGltbWVyIGdlcm5lIGdlc2VoZW4uIG51cgpoZXIgZGFtaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEdhYnlsb24sICA2LiBBcHIgMjAwNSwgMTY6MTM6MDcpOgp+IyEgcm49Qm9pbmcgcnQ9MTExMjc5NjUxMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKbnVyIHdhciBlcyBmcnVlaGVyIHNvLCBkYXNzIGRpZSB6dXdhbmRlcnVuZyBob2NoIHdhciB1bmQgZGllIGFid2FuZGVydW5nCmdlcmluZy4gaGV1dGUgaXN0IGVzIHNvLCBkYXNzIGRpZSBhYndhbmRlcnVuZyBkZXV0bGljaCB6dWdlbm9tbWVuIGhhdAp1bmQgZGllIHp1d2FuZGVydW5nIGF1ZmdydW5kIHZvbiBncmFmaXNjaGVyIGtvbmt1cnJlbnogc2VociBuYWNoZ2VsYXNzZW4KaGF0Lgp1bmQgaWNoIGZyYWdlIG51bjogd2FzIGlzdCBlaW5mYWNoZXI/IGdlZ2VuIEQyICYgY28uIGtvbmt1cnJpZXJlbiB6dQp3b2xsZW4gb2RlciBkaWUgYWJ3YW5kZXJ1bmcgZWluenVkYWVtbWVuPwoKaWNoIHNhZ2UgbmljaHQsIGRhc3MgbWFuIGtlaW5lIG5ldWVuIHNwaWVsZXIgZ2V3aW5uZW4gc29sbHRlLCBpY2ggc2FnZQpudXIsIGRhc3MgZGVyIHNjaHdlcnB1bmt0IG5pY2h0IHJpY2h0aWcgZ2VzZXR6dCBpc3QuCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEFsa29ob2wsICA2LiBBcHIgMjAwNSwgMTY6MTQ6MjUpOgp+IyEgcm49R2FieWxvbiBydD0xMTEyNzk2Nzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpzb3NvIGR1IHNpZWhzdCBhbHNvIGRpZSBLb25rdXJlbnogbnVyIGJlaSBkZXIgWnV3YW5kZXJ1bmcgdW5kIG5pY2h0IGJlaSBkZXIKQWJ3YW5kZXJ1bmc/IERhbm4gZnJhZyBkb2NoIG1hbCwgd2lldmllbGUgU3BpZWxlciB2b24gaGllciBqZXR6dCBkaWVzZSBTZXVjaGUKc3BpZWxlbiB1bmQgbmljaHQgbWVociBoaWVyIGdlc2VoZW4gd3VyZGVuLgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQ2F0d2VhemxlLCAgNi4gQXByIDIwMDUsIDE2OjE2OjQxKToKfiMhIHJuPU11YWRpYiBydD0xMTEyNzk2NjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpNYWNoIGRhcyBzcGllbGVuIGVpbmZhY2hlci4gCgpaLkIuIGtvZW5udGUgbWFuIGF1ZiBkZW4gV2Vic2VpdGVuIGVpbmVuIHZvcmtvbmZpZ3VyaWVydGVuIE1HLUNsaWVudCBhbmJpZXRlbi4KCkRpZSBLaWRzIHdvbGxlbiBlaW4gUHJvZ3JhbW0gaW5zdGFsbGllcmVuLCBhdWYgZGFzIFN0YXJ0LUljb24ga2xpY2tlbiB1bmQKbG9zbGVnZW4uIFVuZCBkYW5uIG5laW4gbW9lZ2xpY2hzdCBidW50ZXMgRnJvbnRlbmQgaGFiZW4uIAoKSGlud2Vpc2UsIHdhcyBtYW4gc2ljaCB3byB6dXNhbW1lbnN1Y2hlbiBzb2xsIHVtIHp1IHNwaWVsZW4gKG9kZXIgc2NobGltbWVyCm5vY2gsIGRlciBUaXBwIG1hbiBzb2xsZSB0ZWxuZXQgYmVudXR6ZW4pIHNpbmQgc3BpZWxoZW1tZW5kIHNjaG9uIGJldm9yIG1hbgpsb3NnZWxlZ3QgaGF0LiAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoR2FieWxvbiwgIDYuIEFwciAyMDA1LCAxNjoyMTo0MCk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMTI3OTY4NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCndlbm4gZGVyIHNwaWVsc3Bhc3MgaGllciBnbGVpY2hibGVpYmVuZCBob2NoIGlzdC9zZWluIHdpcmQsIHdlcmRlbiBkaWUKbWVpc3RlbiBuYWNoIG1laHIgb2RlciB3ZW5pZ2VyIGxhbmdlciBhYnN0aW5lbnogenVydWVjayB6dW0gbXVkIGtvbW1lbi4Kc2llIGhhYmVuIGRhbm4gaWhyIHNwaWVsICdkdXJjaGdlc3BpZWx0JyB1bmQgZ3V0IGlzLgoKZGFzIHBhc3NpZXJ0IGFiZXIgbmljaHQsIHdlbm4gZGVyIHNwaWVsc3Bhc3MgaGllciBpbnp3aXNjaGVuIGRldXRsaWNoCmdlc2Vua3Qgd3VyZGUuICJwdWgsIGRhcyBnZWh0IG5pY2h0IG1laHIgdW5kIGRhcyBkYXJmIG1hbiBhdWNoIG5pY2h0Cm1laHIgdW5kIGRpZSBidW1pcyBrb3N0ZW4gbnVuIE1Qcy4uLiBvY2guLi4ga2VpbiBib2NrIG1laHIuIGRhbm4ga2F1ZgppY2ggbWlyIGhhbHQgbmVlZCBmb3Igc3BlZWQgdW5kZXJncm91bmQuIGhhYiBpY2ggbWVociBzcGFzcyBkcmFuLiIKCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTXVhZGliLCAgNi4gQXByIDIwMDUsIDE2OjIyOjI2KToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMjc5NzMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKZ2VuYXUKZGFzIGlzdCBhdWNoIGRlciBncnVuZCwgd2FydW0gZGllIG1laXN0ZW4gaW1tZXIgd2llZGVyIHp1IHBvbmcgenVydWVja2tlaHJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQWxrb2hvbCwgIDYuIEFwciAyMDA1LCAxNjoyMzowMik6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMTI3OTczMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCmRhcyBpc3QgZWluIFF1ZXN0bXVkLCBvZGVyIHdpZSB3YXIgZGFzPyBPZGVyIGVpbiBGb3JzY2htdWQsIHVuZCBnZXJhZGUgZGEgaGF0CnNpY2ggZGVyIFNwaWVsc3Bhc3MgZG9jaCB3aXJrbGljaCBtYWVjaHRpZyBlcmhvZWh0IGluIGxldHp0ZXIgWmVpdC4KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENhdHdlYXpsZSwgIDYuIEFwciAyMDA1LCAxNjozMDo0NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExMjc5NzAwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKT2VyZ3MuCgpXZW5uIGljaCBtYWwgZ2FueiB1bmJlZGFyZnQgYW4gdW5zZXJlIFdlYnNlaXRlbiBnZWhlLCB2ZXJzdGVoZSBpY2ggc2VocgpzY2huZWxsICx3YXJ1bSB3aXIgYXVzc2VyIHVlYmVyIE11bmRwcm9wYWdhbmRhIGtlaW5lIG5ldWVuIFNwaWVsZXIgYmVrb21tZW4uCgpBdWYgZGVuIFNlaXRlbiBmaW5kZSBpY2ggendhciByYXVzLCB3YXMgZGFzIE1HIGlzdCB1bmQgd2FzIGVzIGRhIHRvbGxlcyBhbgpEZXRhaWxzIGdpYnQsIGF1ZiBpY2ggZmluZGUga2VpbmVybGVpIEhpbndlaXNlIGRhcmF1Ziwgd2llIGljaCBkZW5uIG51biBkYXMgTUcKc3BpZWxlLiBEYXMgZWluemlnZSB3YXMgc2ljaCBtaXIgYW5iaWV0ZXQsIGlzdCBkYXMgSmF2YS1BcHBsZXQgKGRhcyBGbGFzaCBpc3QKd2VnKS4gSW4gZGVyIGhldXRpZ2VuIFplaXQgZGVyIFdlYmJhc2llcnRlbiBTcGllbGUgaXN0IGRhcyB2b24gYXVzc2VuCmJldHJhY2h0ZXQgZXR3YXMgLi4uIG1hdS4gCkRpZSBGQVEgYmVoYW5kZWx0IGRhcyBUaGVtYSAiV2llIHNwaWVsZSBpY2ggbWl0IiB1ZWJlcmhhdXB0IG5pY2h0LiAKCkVudHdlZGVyIGljaCBoYWIgZGEgaXJnZW5kd2VsY2hlIEhpbndlaXNzZWl0ZW4genUgem11ZC90Zi9ldGMgdWViZXJzZWhlbiBvZGVyCmljaCBicmF1Y2ggbWljaCBuaWNodCB6dSB3dW5kZXJuLCB3YXJ1bSBuaWVtYW5kIG5ldWVzIGVpbmxvZ2d0IDotLwoKRWluIGJpc3NjaGVuIG1laHIgV2VyYnVuZyBhdWYgZWluIGdlbmlhbGVzIFNwaWVsIGltIFNpbm5lIGFsdGVyIEluZm9jb20tU3BpZWxlCmR1ZXJmdGUgYXVjaCBzZWluLiBQZXAgaXQgdXAhCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKE11YWRpYiwgIDYuIEFwciAyMDA1LCAxNjozNToyMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExMjc5Nzg0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKZGllIHdlYnNlaXRlbiBzaW5kIHp1ciB6ZWl0IG1pZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA2LiBBcHIgMjAwNSwgMTY6MzU6NTEpOgp+IyEgcm49Wm9vayBydD0xMTEyNzg4MTcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpJY2ggZmluZGUgZWluIGludGVyYWt0aXZlcyBUdXRvcmlhbCwgd2VsY2hlcyBBbmZhZW5nZXIgaW4gZGllc2UgUHJpbnppcGllbiBkZXMKTXVkIGVpbmZ1ZWhydCwgaXN0IGdhbnogZWluZmFjaCBlaW5lIGd1dGUgSWRlZSB1bmQgaGF0IG5peCBtaXIKYW5mYWVuZ2Vyd2VpY2hzcHVlbGVuIG8uYWUuIHp1IHR1bi4gRWJlbnNvIENpY2Vyb25lcy4gQWxzIGljaCBhbmZpbmcsIGZpZWwgZXMKbWlyIGRvY2ggemllbWxpY2ggc2Nod2VyIHVuZCBlcyBoYWV0dGUgbmljaHQgdmllbCBnZWZlaGx0IHVuZCBpY2ggd2FlcmUgbmFjaAplaW5lciAyamFlaHJpZ2VuIFBhdXNlIG5pY2h0IHdpZWRlcmdla2VocnQuIEFtIEFuZmFuZyAxLTIgTGV1dGUgenUgaGFiZW4sIGRpZQplaW5lbSBhbSBBbmZhbmcgbWFsIGV0d2FzIHVudGVyIGRpZSBBcm1lIGdyZWlmZW4sIGRpZSBtYW4gZWluZmFjaCBtYWwgd2FzCmZyYWdlbiBrYW5uLCB3YXMgc2ljaCBuaWNodCBzbyBlaW5mYWNoIGF1cyBkZW0gU3R1ZGl1bSBkZXIgSGlsZmUgZXJnaWJ0IG9kZXIKbmVuIFRpcCBnZWJlbiwgd2llIG1hbiB1ZWJlcmhhdXB0IHp1ciBIRSBrb21tdCwgaXN0IGVpbmZhY2ggc2Nob2VuLiBFcyBnaWJ0CmVpbmVtIG5lYmVuYmVpIGF1Y2ggZGFzIEdlZnVlaGwsIGRhc3MgaGllciBpbSBNdWQgbmV0dGUgTGV1dGUgc3BpZWxlbi4uLgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDYuIEFwciAyMDA1LCAxNjozOTo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExMjc5Nzg0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKSW4gZGllc2VtIFB1bmt0IHN0aW1tZSBpY2ggRGlyIHZvcmJlaGFsdGxvcyB6dS4gRXMgaXN0IGhldXR6dXRhZ2Ugc2ljaGVybGljaAp2b24gVm9ydGVpbCwgenUgZXJsYWV1dGVybiwgd2FzIGVpbiBNdWQgdWViZXJoYXVwdCBpc3QsIHdvcnVtIGVzIGdlaHQgdW5kIHdpZQptYW4gZGFzIHNwaWVsdC4gVW5kIGRhcyBzbyBnZXN0YWx0ZXQsIGRhc3MgZXMgYSkgdWViZXJzaWNodGxpY2ggdW5kIGIpCmFuc3ByZWNoZW5kIGlzdCB1bmQgTHVzdCBhdWYgbWVociBtYWNodC4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKERlZXBibHVlLCAgNi4gQXByIDIwMDUsIDE2OjQyOjI1KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjc5ODM4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKPiBFcyBnaWJ0IGVpbmVtIG5lYmVuYmVpIGF1Y2ggZGFzIEdlZnVlaGwsIGRhc3MgaGllciBpbSBNdWQgbmV0dGUgTGV1dGUKc3BpZWxlbi4uLgpHZXJhZGUgZGllc2VuIEZha3Qgc29sbHRlIG1hbiBuaWNodCB1bnRlcnNjaGFldHplbi4KCkVzIGdpYnQgc2ljaGVyIGdlbnVnIExldXRlIGhpZXIsIGRpZSBoYXVwdHNhZWNobGljaCBkZXNoYWxiIGJlaW0gTUcgZ2VibGllYmVuCnNpbmQsIHdlaWwgc2llIGhpZXIgRnJldW5kc2NoYWZ0ZW4gdW5kIG1laHIgZ2VzY2hsb3NzZW4gaGFiZW4uCgpTdGFUaXMgdW5kIFBhcnRpZXMgLSBQZXJzb25lbiBoaW50ZXIgZGVuIENoYXJha3RlcmVuIC0gd28gZ2lidCBlcyBkYXMgYmVpIGRlbgpnYW56ZW4gc2NobmVsbGViaWdlbiBTcGllbGVuIHdpZSBXb1c/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChCYW1idWxrbywgIDYuIEFwciAyMDA1LCAxNjo0Mjo1Myk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTI3OTgzODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCklzdCBkZW5uIGFsbGVzIHNvIGRyYW1hdGlzY2g/IEF1ZiBodHRwOi8vbWcubXVkLmRlL3N0YXQvbWF4L21heHVzZXJzLmpwZyBzaWVodAplcyBuaWNodCBzbyBzY2hsaW1tIGF1cy4gS2FubiBuYXR1ZXJsaWNoIHNlaW4sIGRhcyBlcyBudXIgbm9jaCA1IFNwaWVsZXIgbWl0CmplIDQgWndlaXRpZXMgc2luZC4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChUYXJhbmlzLCAgNi4gQXByIDIwMDUsIDE2OjQ3OjE5KToKfiMhIHJuPURlZXBibHVlIHJ0PTExMTI3OTg1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkViZW4uIERpZSBMZXV0ZSBnZWhvZXJlbiB6dSBkZW0gd2ljaHRpZ3N0ZW4gR3J1ZW5kZW4sIHdhcnVtIGljaCBoaWVyIHNwaWVsZS4KR2VyYWRlIGFtIEFuZmFuZyBrcmllZ3QgbWFuIGRhcyBhYmVyIG5pY2h0IGRpcmVrdCBtaXQuCkljaCB3aWxsIG5pY2h0IHNhZ2VuLCBkYXNzIGVzIGJlaSBXLW9XZSBrZWluZSBQYXJ0aWVzL1p1c2FtbWVua3VlbmZ0ZSBnaWJ0Cm9kZXIgZ2ViZW4gd2lyZC4gQWJlciBtYW4gaGFsdCBhdWNoIGRlbW9uc3RyaWVyZW4sIGRhc3MgbmV1ZSBTcGllbGVyCndpbGxrb21tZW4gc2luZCB1bmQgImF1Zmdlbm9tbWVuIiB3ZXJkZW4uIFJlYWt0aW9uZW4gd2llICJzY2hvbiB3aWVkZXIgc29uCkRlcHAiLCAiRm9yc2NoZW4iLCAiaGV1dHp1dGFnZSBzaW5kIGRpZSBBbmZhZW5nZXIgZHVtbSwgd2lyIGhhdHRlbnMgdmllbApzY2h3aWVyaWdlciIgc2luZCBlaW5mYWNoIGtvbnRyYXByb2R1a3Rpdi4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEdsb2luc29uLCAgNi4gQXByIDIwMDUsIDE2OjUyOjM0KToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMjc5Njc4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKPiBudXIgd2FyIGVzIGZydWVoZXIgc28sIGRhc3MgZGllIHp1d2FuZGVydW5nIGhvY2ggd2FyIHVuZCBkaWUgYWJ3YW5kZXJ1bmcKPiBnZXJpbmcuIGhldXRlIGlzdCBlcyBzbywgZGFzcyBkaWUgYWJ3YW5kZXJ1bmcgZGV1dGxpY2ggenVnZW5vbW1lbiBoYXQKPiB1bmQgZGllIHp1d2FuZGVydW5nIGF1ZmdydW5kIHZvbiBncmFmaXNjaGVyIGtvbmt1cnJlbnogc2VociBuYWNoZ2VsYXNzZW4KPiBoYXQuCgpVbmQgaGllciBzY2hlaWRlbiBzaWNoIHNjaG9uIGRpZSBHZWlzdGVyLiBXaSBoYWJlbiBhbmZhbmdzIGRpZXNlcyBUaHJlYWRzIAprdXJ6IHp1c2FtbWVuZ2V0cmFnZW4sIHdhcyBkZW4gU2Nod3VuZCBtaXR2ZXJ1cnNhY2h0IHVuZCBpY2ggaGFsdGUgYXVzIAplaWdlbmVyIEVyZmFocnVuZyBkaWUgZmVobGVuZGUgV2VyYnVuZyB1bmQgQW5sZWl0dW5nIGR1cmNoIEJlaXNwaWVsIGFuIGRlbiAKSG9jaHNjaHVsZW4gZnVlciBhdXNzY2hsYWdnZWJlbmQuCgo+IHVuZCBpY2ggZnJhZ2UgbnVuOiB3YXMgaXN0IGVpbmZhY2hlcj8gZ2VnZW4gRDIgJiBjby4ga29ua3VycmllcmVuIHp1Cj4gd29sbGVuIG9kZXIgZGllIGFid2FuZGVydW5nIGVpbnp1ZGFlbW1lbj8KCkVyc3RlcmVzIG9obmVoaW4gbmljaHQuIERhcyBoaWVyIGlzdCBlaW5lIGFuZGVyZSBBcnQgdm9uIFNwaWVsLCB3aXIgCmtvbmt1cnJpZXJlbiBuaWNodCBzb25kZXJuIGJlZ2Vpc3Rlcm4gZW50d2VkZXIgb2RlciBuaWNodC4KWndlaXRlcmVzIGlzdCB3aWNodGlnIHVuZCB3aXIgZXJmdWVsbGVuIGRpZSBHcnVuZGtyaXRlcmllbiBkYWZ1ZXIgYXVjaDogbmV1ZSAKR2VnZW5kZW4gd2VyZGVuIGFuZ2VzY2hsb3NzZW4sIFByb2JsZW1lIGluIGFsdGVuIGJlaG9iZW4sIGRpZSBNdWRsZWl0dW5nCmlzdCBzdHJpbmdlbnQgdW5kICh6dSA7KSA/ICkgc2VsdGVuIHdpbGxrdWVybGljaC4KRGFydWViZXJoaW5hdXMga2FubiBlcyBlaW5mYWNoIG5pY2h0IGRhcyBaaWVsIHNlaW4gamVkZW4gU3BpZWxlciBhdWYgQmllZ2VuIAp1bmQgQnJlY2hlbiBtaXQgZGVtIE5pY2h0YmVoZWJlbiB2b24gS29uemVwdGZlaGxlcm4gYmVpbSBLb256ZXB0YnVlZ2VsbiB6dSAKaGFsdGVuLiBBbnNvbnN0ZW4gZW5kZW4gd2lyIGdlbmF1c28gbGVlciwgbnVyIGViZW4gd2llIFBLLU1VRC4gSmEsIGRhcyB3YXIKbGVlciBiZXZvciBkb3J0IGFiZ2V3ZXJ0ZXQgd3VyZGUuCgo+IGljaCBzYWdlIG5pY2h0LCBkYXNzIG1hbiBrZWluZSBuZXVlbiBzcGllbGVyIGdld2lubmVuIHNvbGx0ZSwgaWNoIHNhZ2UKPiBudXIsIGRhc3MgZGVyIHNjaHdlcnB1bmt0IG5pY2h0IHJpY2h0aWcgZ2VzZXR6dCBpc3QuCgpVbmQgaWNoIGJpbiBhbmRlcmVyIE1laW51bmcgOykKCktyaXNjaGFuLCBwcm8gVHV0b3JpYWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChDcm9mdCwgIDYuIEFwciAyMDA1LCAxNjo1MjozNik6Cn4jISBybj1CYW1idWxrbyBydD0xMTEyNzk4NTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpEaWUgc3RhcmsgZmFsbGVuZGUgVGVuZGVueiBpc3QgZGlyIGFiZXIgc2Nob24gYXVmZ2VmYWxsZW4sIG9kZXI/CkF1c3NlcmRlbSBzYWd0IGRhcyBNYXhpbXVtIHdlbmlnIHVlYmVyIGRpZSBha3RpdmVuIFNwaWVsZXIgYXVzLCBiencKd2lldmllbGUgaW0gU2Nobml0dCBnbGVpY2h6ZWl0aWcgZWluZ2Vsb2dndCBzaW5kLiAgVW5kIGRhcyB3YXJlbiBmcnVlaGVyCmltIE1HIGhhZXVmaWcgamVuc2VpdHMgZGVyIDEwMCBTcGllbGVyLiAgVW5kIGhldXRlIC4uLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTWlyaWwsICA2LiBBcHIgMjAwNSwgMTY6NTM6NDgpOgp+IyEgcm49V3VyemVsIHJ0PTExMTI2ODkzMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCBtdXNzIENhdHR5IGdhbnogUmVjaHQgZ2ViZW4uIEVzIGlzdCBuaWNodCBzaW1wZWwsIGhpZXIgZWluaWdlcm1hc3NlbgpndXQgZWluenVzdGVpZ2VuIG9obmUgSGlsZmUgenUgaGFiZW4uIE1laXN0ZW5zIGhhYiBpY2ggQW5mYWVuZ2VybiBkYWhlciAKYXVjaCBlcnN0bWFsIG5lbiBjbGllbnQgKGluIGRlbSBGYWxsIG11c2hjbGllbnQsIHdlaWwgZWluZmFjaCB6dSBpbnN0YWxsaWVyZW4pCmVtcGZvaGxlbi4KV2llIHdhZXJlIGVzIGRlbm4sIHdlbm4gd2lyIGRpcmVrdCB1bnRlciBkZW0gbGluayAiU3BpZWxlbiIgZWluIHZvcmtvbmZpZ3UtCnJpZXJ0ZXMgdGYgaW4gbmVyIFdpbmRvd3MgdW5kIG5lciBMaW51eCBWZXJzaW9uIGFibGVnZW4/IFdhcyBzaWNoIGF1dG9tYXRpc2NoIAphbHMgR2FzdCBlaW5sb2d0LCBtaXQgbmVyIGxpZXNtaWNoIERhdGVpIGRhYmVpLCB3aWUgbWFuIG5lbiBlaWdlbmVuIENoYXJha3RlcgphbmxlZ3Q/Clp1IG1laW5lbiBFcmZhaHJ1bmdlbiBhbHMgQ2ljZXJvbmU6IEljaCB3dXJkZSBtZWhyZmFjaCBhbmdlc3Byb2NoZW4sIGhhYgphdWNoIGVpbmlnZXMgYW4gWmVpdCBpbnZlc3RpZXJ0IHVuZCB2aWVsZSBkZXIgU3BpZWxlciBzaW5kIGFiZXIgbnVyIGVpbm1hbAphdWZnZXRhdWNodCBvZGVyIHZpZWxsZWljaHQgendlaW1hbC4KRWZmZWt0aXZlciBzY2hlaW50IG1pciBtZWluIEluZm9rdXJzIHp1IHNlaW4sIGluIGRlbSBpY2ggTFBDIG1pdCBkZW4KU2NodWVsZXJuIG1hY2guIFZvbiBkZW4gMTMgc3BpZWxlbiBpbW1lcmhpbiAyLTMgcmVnZWxtYWVzc2lnIGhpZXIgOykKCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA2LiBBcHIgMjAwNSwgMTc6MDY6MTgpOgp+IyEgcm49TWlyaWwgcnQ9MTExMjc5OTIyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKSWNoIGZpbmRlIGF1Y2gsIGRhc3MgZGllIFNjaHdlbGxlLCBoaWVyIGFuenVmYW5nZW4gcmVjaHQgaG9jaCBpc3QsIHdlbm4gbWFuCmtlaW5lIHZvbiBNdWRzIGhhdC4KRGllIElkZWUsIG1pdCBkZW0gdm9ya29uZmlndXJpZXJ0ZW4gQ2xpZW50IGZpbmRlIGljaCB0b3RhbCBrbGFzc2UuIEltIEZhbGxlCnZvbiBURiBpc3QgZGFzIGF1Y2ggSU1ITyBuaWNodCBzbyBmdXJjaHRiYXIgc2Nod2llcmlnLiBURiBmdWVyIFdpbmRvd3MgaW5rbC4KTWFrcm9zIGhhdCBBcmF0aG9ybiBtYWwgenVzYW1tZW5nZXN0ZWxsdCwgZGFzIGthbm4gbWFuIHNpY2hlcmxpY2ggYWxzIEJhc2lzCm5laG1lbi4gRnVlciBMaW51eCBnaWJ0IGVzIG5vY2ggbml4LCBhYmVyIGltIFByaW56aXAgaXN0IGRhcyBhdWNoIG5pY2h0IHdlaXRlcgpzY2h3aWVyaWcuIExpZXNtaWNoIG11ZXNzdGUgbWFuIG5hdHVlcmxpY2ggbm9jaCBlbnR3aWNrZWxuLgpPYndvaGwgaWNoIGRhcyBqZXR6dCBhdWNoIG51ciBtaXQgVEYgYXVmZ2VncmlmZmVuIGhhYmU6IGFuZGVyZSBDbGllbnRzIHNpbmQKZnVlciBBbmZhZW5nZXIgZ2VuYXVzbyBndXQsIGljaCB3ZWlzcyBhYmVyIG5pY2h0LCB3aWUgZGFzIGxpemVuenJlY2h0bGljaAphdXNzaWVodCwgd2VubiBtYW4gZGEgZWlnZW5lIFBha2V0ZSB6dXNhbW1lbnN0ZWxsZW4gd2lsbC4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTWlyaWwsICA2LiBBcHIgMjAwNSwgMTc6MDY6MjgpOgp+IyEgcm49TWlyaWwgcnQ9MTExMjc5OTIyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKQWNoamEsIHdhcyBpY2ggbm9jaCBoaW56dWZ1ZWdlbiB3b2xsdGU6IERpZSAyLTMgc2luZCBkdXJjaHdlZyB3ZWlibGljaCA7KQoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQm9pbmcsICA2LiBBcHIgMjAwNSwgMTc6MDg6MjgpOgp+IyEgcm49VGFyYW5pcyBydD0xMTEyNzk5OTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpBbHNvIHRmIE1JVCBtYWtyb3MgZmluZGUgaWNoIGphIG5pY2h0IHNvIGRvbGxlIC4uLiBzb25zdCBoYWJlbiB3aXIgYmFsZAp3aXJrbGljaCBudXIgbm9jaCB0b3RhbCB2ZXJibG9lZGV0ZSBBbmZhZW5nZXIsIGRpZSBkZW4gV2VnIHZvbSBTYW5kdGlnZXIKenVyIEdpbGRlIG5pY2h0IGtlbm5lbiwgd2VpbCBzaWUgbnVyIG1pdCBkZW0gdm9ya29uZmlndXJpZXJ0ZW4gV2VncHVua3QtCnN5c3RlbSBydW1tYWNoZW4uIFdvYmVpIGljaCBuYXR1ZXJsaWNoIG5pY2h0IHdlaXNzLCB3YXMgYmVpIGRpZXNlbiBNYWtyb3MKYWxsZXMgZGFiZWkgd2FyLCBhYmVyIGRhIHdhZXJlIGljaCBnZW5lcmVsbCBlaGVyIHp1cnVlY2toYWx0ZW5kLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKE1pcmlsLCAgNi4gQXByIDIwMDUsIDE3OjA5OjU4KToKfiMhIHJuPUJvaW5nIHJ0PTExMTI4MDAxMDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRlaW4gV2VnZXN5c3RlbSBtdXNzdCBkdSBiaXNsYW5nIG1pdCB0ZiBub2NoIGltbWVyIHNlbGJzdCBtYWNoZW4gOykuIEQuaC4KbWluZGVzdGVucyBlaW5tYWwgbXVzc3QgRHUgZGVuIFdlZyBhdWNoIHNvIGZpbmRlbi4gQWJlciBkYXMgV2VnZXN5c3RlbSAKbWVpbnRlIGljaCBkYW1pdCBhdWNoIG5pY2h0LCBlcyByZWljaHQgbmEgbmUgbWluaW1hbHZlcnNpb24sIGV2dGwgbWl0IG5lcgplaW5mYWNoZW4gU3RhdHVzemVpbGUsIGRpZSBlaCBlcnN0IG1pdCBUZWRkeSB3aXJrc2FtIHdpcmQuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChUYXJhbmlzLCAgNi4gQXByIDIwMDUsIDE3OjEyOjE4KToKfiMhIHJuPUJvaW5nIHJ0PTExMTI4MDAxMDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkFsc28sIHZvbiB2b3Jrb25maWd1cmllcnRlbiBXZWdlc3lzdGVtZW4gaGF0IG5pZW1hbmQgd2FzIGdlc2NocmllYmVuLCBkYXMKZmFlbmRlIGljaCBhdWNoIG5pY2h0IGd1dC4gTWVpbmV0d2VnZW4ga2FubiBtYW4gZGllIE1ha3JvcyBhdWNoIHdlZ2xhc3NlbiBvZGVyCnN0YXJrIHJlZHV6aWVyZW4uIFNvd2FzIHdpZSBlaW5nZWZhZXJidGUgRWJlbmVuIHNpbmQgYWJlciB6LkIuIHJlY2h0IHByYWt0aXNjaAood2VubiBhdWNoIGdlc2NobWFja3NhY2hlKS4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFdoaXRldGlnZXIsICA2LiBBcHIgMjAwNSwgMTc6MTM6MTQpOgp+IyEgcm49VGFyYW5pcyBydD0xMTEyODAwMzM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpKYSwgYWJlciBkYWZ1ZXIgYnJhdWNodCBtYW4ga2VpbiAidGlueSJtYWNyby1vdmVya2lsbC4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA2LiBBcHIgMjAwNSwgMTc6MTU6MTcpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTEyODAwMzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpOYXR1ZXJsaWNoIG5pY2h0LiBNZWluZXR3ZWdlbiBuZWhtZW4gd2lyIGhhbHQgbmVuIFNhdHogdm9uIE1ha3JvcywgZGllCiJ1bnByb2JsZW1hdGlzY2giIHNpbmQsIGlyZ2VuZHdlbGNoZSBGYWVyYmV0cmlnZ2VyLCBjb21tbG9nL2NvbW0udGYsClN0YXR1c3plaWxlIGV0Yy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKE11YWRpYiwgIDYuIEFwciAyMDA1LCAxNzoxNzo0Mik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTI4MDA1MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCnd1ZXJkZSBkZW5uIGVpbiB0ZiBtaXQgZnVua3Rpb25pZXJlbmRlciB2aXN1YWwsIGN1cnNvcnRhc3RlbiB1bmQgaGlzdCBuaWNodApyZWljaGVuPwphbGxlcyBhbmRlcmUgaXN0IGRvY2ggZWggZ2VzY2htYWNrc3NhY2hlIApkYSB3dWVyZGUgZGFubiB2aWVsbGVpY2h0IGVpbiBrb25maWd1cmF0b3IgbmUgc2Nob2VuZSBzYWNoZSBzZWluLCB1bSBzaWNoIGRhcwpzZWxic3QgYXVzenVzdWNoZW4Kb2RlciBuZSBhbmxlaXR1bmcKYWJlciBkYXMga2FubiBtYW4gYWxsZXMgb2huZSB6dXNhZXR6bGljaGUgbWFrcm9zIG1hY2hlbiwgYW4gZGllIG1hbiBkZW4gbnV0emVyCmRhbm4gZ2xlaWNoIGJpbmRldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDYuIEFwciAyMDA1LCAxNzoyMzoxNik6Cn4jISBybj1NdWFkaWIgcnQ9MTExMjgwMDY2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKTmF0dWVybGljaC4gRGllIElkZWUgbWl0IGRlbSBLb25maWd1cmF0b3IgaXN0IHNpY2hlcmxpY2ggZ3V0LCBkYXNzIHNpY2gKQW5mYWVuZ2VyIHNpY2ggd2FzIGFuIEZ1bmt0aW9uYWxpdGFldCBhdXNzdWNoZW4ga29lbm5lbi4gRWluIFByb2JsZW0gZHVlcmZ0ZQpzZWluLCBkYXNzIE1VRC1OZXVsaW5nZSB2b24gc28gbmVtIEtyYW0ga2VpbmUgQWhudW5nIGhhYmVuIHVuZCBhdWNoIG5pY2h0Cndpc3Nlbiwgd2FzIGZ1ZXIgd2FzIGd1dCBpc3QgdW5kIGRhaGVyIHNjaGxlY2h0IGVudHNjaGVpZGVuIGtvZW5uZW4sIHdhcyBzaWUKd29sbGVuLgpJY2ggaGF0dGUgaW0gS29wZiwgZGFzcyBtYW4gYXVmIGRpZSBBcnQgZGllIFNjaG5pdHRzdGVsbGUgenVtIE11ZCBldHdhcwphbnNwcmVjaGVuZGVyL3VlYmVyc2ljaHRsaWNoZXIgZ2VzdGFsdGVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChab29rLCAgNi4gQXByIDIwMDUsIDE3OjQxOjIxKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjgwMDk5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKMS4gRGllIFdlYnNlaXRlbiBtdWVzc2VuIGRyaW5nZW5kIHVlYmVyYXJiZWl0ZXQgd2VyZGVuIHVuZCBkaWUgQW5yZWd1bmcsIGF1ZgpkZW4gUHVua3QgIldpZSBrYW5uIGljaCBkYXMgdWViZXJoYXVwdCBtaXRzcGllbGVuIiBzb2xsdGUgdW5iZWRpbmd0IAphdXNnZWFiZWl0ZXQgd2VyZGVuLiBJY2ggaG9mZmUsIHdpciBFTSsgKHBsdXMgSGVsZmVyKSBrb21tZW4gZGEgaW4gS3VlcnplCnp1LgoKMi4gVm9ya29uZmlndXJpZXJ0ZSBDbGllbnRzIGZpbmRlIGljaCBlaWdlbnRsaWNoIGF1Y2ggbmUgZmVpbmUgSWRlZS4gSWNoIApzZWxic3Qgc3BpZWxlciBhbGxlcmRpbnMgbnVyIG1pdCBuZXIgZXdpZyBhbHRlbiB0Zi1WZXJzaW9uIHVudGVyIEJTRS4gCkthbm4gZGVubiBqZW1hbmQgc28gZWluIGtsZWluZXMgUGFrZXQgZnVlciBXaW5kb3dzIHNjaG51ZXJlbj8gRXZ0bC4gc29nYXIKbWl0IGVpbmVyIGxpZXNtaWNoLURhdGVpPyBEYXMgZmFlbmQgaWNoIGdhbnogc3VwZXIsIHdlbm4gZGFzIChhdWNoIGxpemVuei0KcmVjaHRsaWNoKSBtb2VnbGljaCB3YWVyZS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENvcm5ob2xpbywgIDYuIEFwciAyMDA1LCAxODozMTo1NCk6Cn4jISBybj1ab29rIHJ0PTExMTI4MDIwODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyClZvcmtvbmZpZ3VyaWVydGUgQ2xpZW50cyBzaW5kIG5hdHVlcmxpY2ggbmV0dCB1bmQgYmVmYWVoaWdlbiBkZW4gTnV0emVyLApnbGVpY2gKZWluenVzdGVpZ2VuIHBlciBPbmUtKERvdWJsZS0pQ2xpY2sgby5hZS4KQWJlciwgdW0gQm9pbmdzIElkZWUgdm9uIGRlciBCaW5kdW5nIHVuZCB2b3IgYWxsZW0KV2VyYnVuZyAod2Fyc3QgZHUgZGFzIGF1Y2ggQm9pbmc/KSBhdWZ6dWdyZWlmZW4sCnNvbGx0ZSBtYW4gZGVuIEFwcGV0aXQgcG90ZW50aWVsbGVyIE11ZGRlciBhdWYgZGVuIFdlYnNlaXRlbiB3ZWNrZW4uCklyZ2VuZHdhcyB2b24gIktvZW5pZ3NkaXN6aXBsaW4iIHVudGVyIGRlbiBNdWx0aS1Vc2VyLVNwaWVsZW4Kby5hZS4gOikKQXVjaCBmZWhsZW4gLS0gd2llIGhpZXIgc2Nob24gZGlza3V0aWVydCAtLSB3aXJrbGljaAplaW4gcGFhciBuZXR0ZSBEaW5nZSB3aWUgIldpZSBzcGllbGUgaWNoIGhpZXI/IFdpZSBmYW5nZSBpY2ggYW4/Ii4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA2LiBBcHIgMjAwNSwgMTg6NTg6MTMpOgp+IyEgcm49Wm9vayBydD0xMTEyODAyMDgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpJTUhPIHNvbGx0ZSBkYXMgbGl6ZW56cmVjaHRsaWNoIGtlaW4gZ3Jvc3NlcyBQcm9ibGVtIHNlaW4sIGRhIEN5Z3dpbiB1bmQgVEYKYmVpZGVzIEdQTCBzaW5kLiBXaXIgbXVlc3NlbiBuYXR1ZXJsaWNoIGF1ZiBqZWRlbiBGYWxsIGRlbiBTb3VyY2UKbWl0bGllZmVybi9iZXJlaXRzdGVsbGVuLgpJY2ggZGVua2UsIGRhc3MgbWFuIGF1ZiBBcmF0aG9ybnMgUGFrZXQgYXVmc2V0emVuIHNvbGx0ZSwgd2VpbCBlciBkYXMgbWl0IGRlbQpDeWd3aW4gZXRjLiBzY2hvbiBhdXNnZXR1ZWZ0ZWx0IGhhdCB1bmQgZGllIG5vdHdlbmRpZ2VuIERMTHMgYWxsZSBkYWJlaSBzaW5kLgpEYSBibGVpYnQgZGFubiBoYWx0IG51ciBkaWUgRnJhZ2UsIG9iIG1hbiBkaWUgTWFrcm9zIG1pdGxpZWZlcnQgb2RlciBlaW5lCmFiZ2VzcGVja3RlIFZlcnNpb24gZGF2b24gbWl0bGllZmVydCBvZGVyIGdhciBuaWNodHMgbWl0bGllZmVydCBvZGVyIGFsbGVzIGFscwpBbHRlcm5hdGl2ZSBQYWtldGUgYmVyZWl0c3RlbGx0LgpWaWVsbGVpY2h0IGthbm4gamEgQXJhdGhvcm4gbm9jaCBuZW4gcXVhbGlmaXppZXJ0ZW4gS29tbWVudGFyIHp1IGRlcgpDbGllbnQtUGFrZXQtSWRlZSBhYmdlYmVuLiA7LSkKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoS2VsbHlidW5keSwgIDYuIEFwciAyMDA1LCAyMDo0MjoyOCk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExMjc4MzExMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKRGEgbWFjaCBEaXIgbWFsIGtlaW5lIFNvcmdlbi4gRWluIFR1dG9yaWFsLCBkYXMgenUgdmllbCBhdWZkZWNrdCBrYW5uIGVzIGJlaQpkZXIgR3JvZXNzZSBkZXMgTUcgSU1ITyBuaWNodCBnZWJlbi4gZGFzIHdhZXJlIGRhbm4ga2VpbiBUdXRvcmlhbCBtZWhyLApzb25kZXJuIChpbiBhdXNnZWRydWNrdGVyIFZlcnNpb24pIGRpZSBFbmN5Y2xvcGFlZGlhIEJyaXRhbm5pY2EuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChCYW1iaSwgIDcuIEFwciAyMDA1LCAwMDoxMjo1NCk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMTI3OTczMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkVpbmUgZGVyIGxldHp0ZW4gZ3JvZXNzZXJlbiBTcGllbHNwYXNzYnJlbXNlbiwgZGllIG1pciBlaW5mYWxsZW4sIHdhcmVuIGRpZQpVbWJhdXRlbiBhbSBFbnR0YW5rc3lzdGVtLCBkaWUgRHUgdm9yZ2Vub21tZW4gaGFzdC4KTmljaHRzZGVzdG90cm90eiBzcGllbGVuIGhpZXIgdmllbGUgd2VpdGVyaGluIGltIE1VRC4KV2VubiBpY2ggbWlyIGRpZSBncmFmaXNjaGUgS29ua3VycmVueiBzbyBhbnNlaGUsIGRhbm4gaXN0IGZ1ZXIgbWljaCBkZXJ6ZWl0Cm5pY2h0cyBkYWJlaSwgZGFzIG1pciBkYXMgTVVEIGVyc2V0emVuIGtvZW5udGUuIFNvZ2FyIGRhcyBhY2ggc28gaG9jaApnZXByaWVzZW5lIFdvcmxkIE9mIFdhcmNyYWZ0IHdpcmQgaW4gZGVuIEZvcmVuIHZvbiBlaW5pZ2VuIExldXRlbiBhbHMgZGV1dGxpY2gKd2VuaWdlciBsYW5nemVpdG1vdGl2aWVyZW5kIGRhcmdlc3RlbGx0LCBhbHMgZXMgYW5nZWJsaWNoIGlzdC4KSWNoIHdpbGwgZGFtaXQgbmljaHQgYmVoYXVwdGVuLCBkYXNzIHdpciBrZWluZSBTcGllbGVyIGR1cmNoIFdvVyB2ZXJsaWVyZW4Kb2RlciBkYXNzIFdvVyBrZWluZSBLb25rdXJyZW56IHNlaS4gSWNoIHdpbGwgZGFtaXQgbnVyIHNhZ2VuLCBkYXNzCkdlc2NobWFlY2tlciB2ZXJzY2hpZWRlbiBzaW5kIHVuZCBHZXNjaG1hZWNrZXIgc2ljaCBhdWNoIGFlbmRlcm4ga29lbm5lbi4KV2VubiBqZW1hbmQgbGllYmVyIFdvVyBzcGllbHQsIGRhbm4gd2VyZGVuIHdpciBpaG4gYXVzIHZlcnNjaGllZGVuZW4gR3J1ZW5kZW4Kc2VociB3YWhyc2NoZWlubGljaCBuaWNodCBkYXp1IGJla29tbWVuLCBoaWVyIHZvcmJlaXp1c2NoYXVlbi4gQXVjaCB3ZW5uIHdpcgpub2NoIHNvIHZpZWxlIEtvbnplcHRlIGF1cyBXb1cgdW16dXNldHplbiB2ZXJzdWNoZW4uCgpNZkcsIEJhbWJpLgoKUC5TLgpBdWNoIHdlbm4gaWNoIG1pdCBtZWluZW4gU3BpZWxlcm4gbnVuIG5pY2h0IG1laHIgc28gZ3V0IGVudHRhbmtlbiBrYW5uOiBpY2gKZmFuZCB1bmQgZmluZGUgZGllIHZvbiBEaXIgZ2V0YWV0aWd0ZW4gQWVuZGVydW5nZW4gaW0gR3Jvc3NlbiB1bmQgR2FuemVuIHNlaHIKZ3V0LiBWb3IgYWxsZW0gZGllIFRhdHNhY2hlLCBkYXNzIER1IGdlZ2VuIGRlbiB6dSBlcndhcnRlbmRlbiBVbm11dCBkZXIKU3BpZWxlcnNjaGFmdCBkaWUgRW50dGFua21vZWdsaWNoa2VpdGVuIGFuZ2VnYW5nZW4gYmlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEFteW50aG9yLCAgNy4gQXByIDIwMDUsIDA3OjU0OjQxKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjgwNjY5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKQW0gQW5mYW5nIHdhciBlcyBmdWVyIG1pY2ggZWluIHdlc2VudGxpY2hlcyBLcml0ZXJpdW0sIGRhc3MgbWFuIGZ1ZXIgZGFzCk1vcmdlbkdyYXVlbiBlYmVuICprZWluZW4qIENsaWVudCBiZW5vZXRpZ3QuIEltIEdlZ2Vuc2F0eiB6dSBqZWRlciBBcnQgdm9uCmdyYXBoaXNjaGVtIFNwaWVsLiBEYXMgaXN0IG1laW5lciBBbnNpY2h0IG5hY2ggZWluIGdydW5kbGVnZW5kZXIgUGx1c3B1bmt0LApkZW4gbWFuIG5pY2h0IHNvIGxlaWNodGZlcnRpZyBhdWZnZWJlbiBzb2xsdGUuCgpCZXZvciBpY2ggbWl0IGRlbiBNb2VnbGljaGtlaXRlbiBkZXMgSmF2YS1BcHBsZXRzIHVuenVmcmllZGVuIHdhciwgaXN0IGRhbm4KYXVjaCBlaW5lIHppZW1saWNoIGxhbmdlIFplaXQgdmVyZ2FuZ2VuLiBJbnp3aXNjaGVuIGZhZWxsdCBlcyBtaXIgZGFnZWdlbgpzY2h3ZXIsIG9obmUgZWluZSB2ZXJudWVuZnRpZ2UgRWluZ2FiZXplaWxlIHp1IHNwaWVsZW47IGluIGRpZXNlciBCZXppZWh1bmcKbmVpZ2VuIHdpciB2aWVsbGVpY2h0IGRhenUsIEFuZmFlbmdlcm4gZWluZW4gQW5zcHJ1Y2ggbmFjaCB0ZWNobmlzY2hlbQpTY2huaWNrc2NobmFjayB6dXp1c2NocmVpYmVuLCBhdWYgZGVuIHdpciBzZWxic3QgbmljaHQgZ2VybmUgdmVyemljaHRlbgp3b2xsZW4sIGRlbiBzaWUgYWJlciBnYXIgbmljaHQgYnJhdWNoZW4gdW5kIHNpZSB2aWVsbGVpY2h0IHVlYmVyZm9yZGVydC4KCkljaCBkZW5rZSwgZGFzcyBkaWUgTW9lZ2xpY2hrZWl0ZW4gdm9uIFRlbG5ldCBvZGVyIGRlcyBBcHBsZXRzIGFtIEFuZmFuZwpkdXJjaGF1cyBoaW5yZWljaGVuZCBzaW5kLiBEYXMgU3BpZWwgc2VsYnN0IGJpZXRldCBlaW5pZ2UgSGlsZmVuIHdpZSBBbGlhcwpvZGVyIEJlZmVobHN3aWVkZXJob2x1bmcgYW4sIHVuZCBzbyBzZWhlIGljaCBrZWluZW4gR3J1bmQsIHZvbSBwb3RlbnRpZWxsZW4KbmV1ZW4gU3BpZWxlciBnbGVpY2ggZGllIEluc3RhbGxhdGlvbiBlaW5lcyBQcm9ncmFtbXMgenUgZXJ3YXJ0ZW4uCgpJbSBHZWdlbnRlaWwsIGRhZHVyY2ggd2lyZCBkaWUgU2Nod2VsbGUgenVtIFNwaWVsIGRvY2ggbnVyIG5vY2ggZXJob2VodC4KU3RhdHQgZGVuIENvbXB1dGVyIGluIGltbWVyIGF1c2dlZmVpbHRlcmVyIFdlaXNlIHNlbGJzdCBzcGllbGVuIHp1IGxhc3NlbiwKc29sbHRlbiB3aXIgdW5zIGF1ZiBkaWUgbGVpY2h0IGVycmVpY2hiYXJlbiBXZWdlIGlucyBNdWQgKGVpbiBNYXVza2xpY2spCmtvbnplbnRyaWVyZW4uIFVuZCBiZWlzcGllbHN3ZWlzZSBtYWwgZGFzIEphdmEtQXBwbGV0IGRlYnVnZ2VuLCBkZW5uIGluCnNlaW5lciBkZXJ6ZWl0aWdlbiBGb3JtIGthbm4gZXMgZWluZW0gbGVpY2h0IGRlbiBTcGFzcyB2ZXJkZXJiZW4uCgpBbXludGhvcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFd1cnplbCwgIDcuIEFwciAyMDA1LCAwODoyNDoxMik6Cn4jISBybj1BbXludGhvciBydD0xMTEyODUzMjgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpzbyBsYW5nc2FtIGdlaHQgZGllIGRpc2t1c3Npb24gZ3JvZXNzdGVudGVpbHMgaW4gZGllIHJpY2h0aWdlIHJpY2h0dW5nLiBqZXR6dApiaW4gaWNoIG1hbCBhdWYgZGllIHVtc2V0enVuZyBnZXNwYW5udC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENhdHdlYXpsZSwgIDcuIEFwciAyMDA1LCAwODoyNDozOCk6Cn4jISBybj1BbXludGhvciBydD0xMTEyODUzMjgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpHYW56IGVocmxpY2g/CgpJY2ggd3VlcmRlIGhldXR6dXRhZ2UgdGVsbmV0IGdhciBuaWNodCBtZWhyIF9lcndhZWhuZW5fLiAKSmEsIHN0aW1tdCwgaWNoIGJpbiBkYW1hbHMgYXVjaCBtaXQgdGVsbmV0IE1hZ2llciBnZXdvcmRlbi4gRGFzIGdpbmcgZGFtYWxzCnNvZ2FyLiBTZWkgZG9jaCBlaHJsaWNoLCBvaG5lIGF1c3JlaWNoZW5kZSBmcm9udGVuZHMgdW5kIG1hY3JvcyBpc3QgbWFuIGRhbWl0CmRvY2ggdm9sbGtvbW1lbiBhdWZnZXNjaG1pc3Nlbi4gRHUgc2llaHN0IGJlaSBkZW0gZ2VzY3JvbGxlIG5peCBtZWhyLCBoYXN0CmtlaW5lIGNoYW5jZSBpcmdlbmR3YXMgYW4gZGVuIEthbXBmbWl0dGVpbHVuZ2VuIHp1IGVya2VubmVuLCBzY2hvbiBnYXIgbmljaHQKYW4gZGVuZW4gZGVyIEdpbGRlLCB1bmQgd2lyc3Qgc3RhZW5kaWcgdm9uIGFuZGVyZW4gU3BpZWxlcm4gdWViZXJyYW5udCB1bmQKdWViZXJob2x0LiAKCk5laW4sIHRlbG5ldCBpc3QgbWl0dGxlcndlaWxlIGdhcmFudGllcnQga2VpbiBhdHRyYWt0aXZlcyBBbmdlYm90IG1laHIgdW5kIGhhdApkZW4gRmxhaXIgZWluZXMgYW5nZXN0YXVidGVuIDExJyctWm9sbCBVZWJlcndhY2huZ3Ntb25pdG9ycyBtaXQgcHJpbWl0aXZlcgpLb25zb2xlLiBHYW56IGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBpY2ggZ2FyIG5pY2h0IHdpc3NlbiB3aWxsLCBhbiB3aWV2aWVsClN0ZWxsZW4gaW0gSW50ZXJuZXQgcGVyIERlZmF1bHQgUG9ydCAyMiBnYXIgbmljaHQgbWVociB6dWdlbGFzc2VuIHdpcmQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFJhbmdvcm4sICA3LiBBcHIgMjAwNSwgMDg6NTI6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMTI4NTUwNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkV0d2FzIHZlcnNwYWV0ZXRlIEFudHdvcnQgYXVmIENvcm5ob2xpbyBkZXIgRmF1bGhlaXQgcmVwbHllZCBhdWYgZGVuIGxldHplbgpBcnRpa2VsOgoKSWNoIGhhYmUgaW4gZGVyIFRhdCBldHdhcyBkYWdlZ2VuLCBkYXNzIGJlc2FndGUgS2FydGUgc29mb3J0IGplZGVtIEFuZmFlbmdlcgp6dXIgVmVyZnVlZ3VuZyBzdGVodC4gR2VuYXUgZ2Vub21tZW4gd2FyIGljaCBlaW5lIFplaXQgbGFuZyBzb2dhciBhbQp1ZWJlcmxlZ2VuLCBzaWUgd2llZGVyIHZvbSBOZXR6IHp1IG5laG1lbiwgZGEgaWNoIHp1dmllbGUgVE1zIHZvbiBNaW5pc3BpZWxlcm4KYmVrYW0sIHdvIHNhZ3QgIkd1dGUgS2FydGUiLiBLbGFyIGZyZXUgaWNoIG1pY2ggdWViZXIgQmV3ZWlocmFldWNoZXJ1bmcgdW5kCmJyYXVjaCBkYXMgcmVnZWxtYWVzc2lnLCBhYmVyIGRlciBXaXNjaCBpc3QgZWluZmFjaCB6dSBkZXRhaWxpZXJ0IHVuZCBoYXQKYmVpbmFoZSBLTC1adWVnZS4gRWluIE5ld2JlIHNvbGx0ZSBkaWVzZSBXZWx0IHZvbiBzaWNoIGF1cyBlcmt1bmRlbiB1bmQgbmljaHQKc2Nob24gdm9uIEFuZmFuZyBhbiBhbGxlcyB2b3JnZWthdXQgYmVrb21tZW4uIEljaCBtb2VjaHQgbWVpbmUgZWlnZW5lClVtaGVydGFwc3plaXQgbmljaHQgbWlzc2VuLgoKLSBSYW5nb3JuIEtodXInVGlncmVzLCB3ZWlibGljaCB3aWRlciBXaWxsZW4gLQoKUFM6IERhIGljaCBhbSA5LiBKYW51YXIgMjAwMSBtaWNoIG5pY2h0IGRhenUgZHVyY2hyaW5nZW4ga29ubnRlLCBhbiBkZW4gbWVpbmVyCk1laW51bmcgbmFjaCBnZW5pYWxlbiBOYW1lbnNlaW5mYWxsICJSYW5nb3JuIiBub2NoIGVpbiBhIG9kZXIgc28genUgaGFlbmdlbiwKbXVzcyBpY2ggbWl0IGVpbmVyIGdlbGVnZW50bGljaGVuIFZlcm1hZW5ubGljaHVuZyBsZWJlbi4gCm8pCgpQU1M6IEhhYiBkYSB3YXMgdm9uIHdlZ2VuIG5ldWVyIFdlYnNpdGUgZ2VsZXNlbi4gTGF5b3V0dGVjaG5pc2NoIGtvZW5udGUgaWNoCm1hbCB2ZXJzdWNoZW4sIGRhcyBHYW56ZSB6dSAibW9kZXJuaXNpZXJlbiIuICp3ZWJkZXNpZ25lcm1vZHVzIGFud2VyZioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKENhdHdlYXpsZSwgIDcuIEFwciAyMDA1LCAwOTowNjowMyk6Cn4jISBybj1SYW5nb3JuIHJ0PTExMTI4NTY3MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCk1vZGVybmlzaWVyLgoKSWNoIGhhYiB6d2FyIGF1cyBkZXIgRmVybmUgd2FzIHZvbiBlaW5lciBDTVMtTG9lc3VuZyBsYWV1dGVuIGhvZXJlbiB1bmQgd2Vpc3MsCmRhc3MgR3VhcmQgc2VpdCAxLjUgSmFocmVuIGVpbiBuZXVlcyBEZXNpZ24gaW4gZGVyIEhpbnRlcmhhbmQgaGF0LCBhYmVyIG1hY2gKdHJvdHpkZW0gbWFsLgoKRGFzIGdlaHQgYW4gYWxsZS4gS29ua3VycmVueiBiZWxlYnQgZGFzIEdlc2NoYWVmdC4gQW0gYmVzdGVuIGlociBzcHJlY2h0IGV1Y2gKdW50ZXJlaW5hbmRlciBhYiA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoRGVlcGJsdWUsICA3LiBBcHIgMjAwNSwgMDk6NDQ6MzQpOgp+IyEgcm49QW15bnRob3IgcnQ9MTExMjg1MzI4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKV2ljaHRpZyB3YWVyZSBhdWNoLCBkYXMgRmxhc2gtVGVsbmV0IG1hbCB3aWVkZXIgenVtIGxhdWZlbiB6dSBicmluZ2VuIHVuZCBnZ2YuCnp1IG9wdGltaWVyZW4uIFNvIGtvZW5udGVuIGRvcnQgYXVjaCBtZWhyZXJlIEZhcmJlbiB2ZXJ3ZW5kZXQgd2VyZGVuLCBlaW5lCmVpZ2VuZSAoYW5rbGlja2JhcmUpIEJlZmVobHNoaXN0b3JpZSB1c3cuCkRhcyB3dWVyZGUgdm9yIGFsbGVtIExldXRlIGhlcnZvcmxvY2tlbiwgZGllIGhpbnRlciBuZXIgUG9ydCAyMyBzcGVycmVuZGVuCkZpcmV3YWxsIHNpdHplbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDcuIEFwciAyMDA1LCAxMDowMDo1NCk6Cn4jISBybj1BbXludGhvciBydD0xMTEyODUzMjgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpBZWhtLCB3ZXIgc3ByaWNodCBkYXZvbiwgZGFzcyBtYW4gZGFzIE1HIG5pY2h0IG1laHIgb2huZSBDbGllbnQgKGJ6dy4gbmljaHQKbWVociBtaXQgcmVpbmVtIHRlbG5ldCwgd2FzIGphIGF1Y2ggZWluIENsaWVudCBpc3QpIHNwaWVsZW4ga2FubiwgbnVyIHdlaWwgd2lyCmVpbiB2b3JnZWZlcnRpZ3RlcyBURi1QYWtldCBiZXJlaXRzdGVsbGVuLCB3YXMgbWFuIG51ciBpbnN0YWxsaWVyZW4gbXVzcyB1bmQKbWFuIGthbm4gc3BpZWxlbj8KV2VyIGRhcyBuaWNodCB3aWxsLCBzb2xsIGhhbHQgdGVsbmV0IG9kZXIgd2FzIGJlbGllYmlnZXMgYW5kZXJlcyBudXR6ZW4uClB1bmt0LgoKVGFyYW5pcwoKUC5TLiBVbmQgamEsIGdlcmFkZSBmdWVyIEFuZmFlbmdlciBpc3QgZGllIFVudWViZXJzaWNodGxpY2hrZWl0IHZvbiBUZWxuZXQgZWluClByb2JsZW0sIHdlaWwgZGVuZW4gei5CLiBkaWUgRWluZ2FiZW4gd2Vnc2Nyb2xsZW4sIHdlbm4gdW0gTXVkIEFrdGl2aXRhZXQgaXN0LApCYWNrc3BhY2UgaGFldWZpZyBuaWNodCBmdW5rdGlvbmllcnQsIGV0Yy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA3LiBBcHIgMjAwNSwgMTA6MDg6MDEpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTExMjg1OTg3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKV2Vzc2VuIEZpcmV3YWxsIFBvcnQgMjMgc3BlcnJ0LCBzb2xsIGhhbHQgNDcxMSBuZWhtZW4sIGZ1ZXIgZGVuIFp3ZWNrIGlzdCBkZXIKamEgaW56d2lzY2hlbiBkYS4gOy0pCkRhcyBtdXNzIG1hbiBuYXR1ZXJsaWNoIGF1Y2ggbWFsIGtsYXIgZG9rdW1lbnRpZXJlbiB1bmQgZWluIENsaWVudC1QYWtldApzb2xsdGUgZGFyYXVmIHZvcmtvbmZpZ3VyaWVydCBzZWluLgpBbnNvbnN0ZW4gYmluIGljaCBkZXIgTWVpbnVuZywgZGFzcyBkYXMgRmxhc2gtUGx1Z2luIGJlc3RlbmZhbGxzIHp1bQpSZWluc2NoYXVlbiByZWljaHQsIGFiZXIgbmljaHQgenUgbWVoci4gSWNoIG11c3MgYW4gZGllc2VyIFN0ZWxsZSBhdWNoIG1hbApDYXR0eXMgTWVpbnVuZyBlaW4gcGFhciBBcnRpa2VsIHZvcmhlciB6dXN0aW1tZW4sIGRhc3MgbmFlbWxpY2ggdGVsbmV0CmhldXR6dXRhZ2Ugd2VkZXIgYXR0cmFrdGl2IG5vY2ggZWluaWdlcm1hc3NlciBicmF1Y2hiYXIgaXN0LCBlcnN0IHJlY2h0IG5pY2h0CmZ1ZXIgbmV1ZSBTcGllbGVyLiBJY2ggd3VlcmRlLCBvYndvaGwgaWNoIGRpZSBlcnN0ZW4gMTUgTGV2ZWwgbWl0IFRlbG5ldApnZXNwaWVsdCBoYWJlLCBpbnp3aXNjaGVuIGRpcmVrdCB3aWVkZXIgd2VncmVubmVuLCB3ZW5uIGljaCBtaXQgdGVsbmV0IHNwaWVsZW4Kc29sbHRlLiBUZWxuZXQgaXN0IHdhcyB6dW0gUmVpbnNjaGF1ZW4gdm9uIG5lbSBSZWNobmVyLCB3byBtYW4ga2VpbmVuCnZlcm51ZW5mdGlnZW4gQ2xpZW50IGhhdCB1bmQgZXMgaXN0IG5hdHVlcmxpY2ggZ3V0LCBkYXNzIGRpZXNlIE1vZWdsaWNoa2VpdApiZXN0ZWh0LiBadSBtZWhyIHRhdWd0IGVzIGFiZXIgbmljaHQuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChEZWVwYmx1ZSwgIDcuIEFwciAyMDA1LCAxMDoxMjoyOSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTI4NjEyODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyClBvcnQgNDcxMSBpc3QgaW4gZGllc2VuIEZhZWxsZW4gZ2V3b2VobmxpY2ggYXVjaCB6dS4gTWVpc3QgZ2lidHMgbnVyIDgwLzQ0Mwp1ZWJlciBQcm94eSB1bmQgZ2dmIG5vY2ggMjUgb2RlciAxMTkuIEZsYXNoIGJpZXRldCBoYWx0IGRpZSBNb2VnbGljaGtlaXQsIFBvcnQKODAgdWViZXIgUHJveHkgenUgbmVobWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDcuIEFwciAyMDA1LCAxMDoyMToyNSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTEyODYxNTQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpXZXIgZGVyYXJ0IHJlc3RyaWt0aXYgVmVya2VociBmaWx0ZXJ0LCBoYXQgYmVzdGltbXQga2VpbiBJTnRlcmVzc2UsIGRhc3MgZGllCkJlbnV0emVyIChNaXRhcmJlaXRlciksIFRlbG5ldCB1ZWJlciA4MC80NDMgdHVubmVsbi4gOy0pCkJUVzogSWNoIHNhZ2UgamEgbmljaHQsIGRhc3MgbWFuIGRhcyBKYXZhL0ZsYXNoL3NvbnN0d2FzLVBsdWdpbiB2ZXJnZXNzZW4Kc29sbC4gQWJlciBkYW1pdCBuZXVlIFNwaWVsZXIgYW56dWxvY2tlbiBiencuIGVpbmUgYXR0cmFrdGl2ZSBTaWNodCBhdWZzIE11ZAp6dSBnZW5lcmllcmVuLCBoYWx0ZSBpY2ggZnVlciB2b2VsbGlnZSBVdG9waWUuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChKYW1lc29uLCAgNy4gQXByIDIwMDUsIDEyOjA4OjM4KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjg2MjA4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKVGVsbmV0IGhhdCBkZXV0bGljaGUgTWFlbmdlbCwgYWJlciBlcyBpc3QgYXVmIGplZGVtIFJlY2huZXIgdm9yaGFuZGVuLgoKRmxhc2ggVGVsbmV0LCBkYXMgZnVlciBkZW4gWnVnYW5nIHZvbiBoaW50ZXIgZWluZXIgRmlyZXdhbGwgZ2VkYWNodCBpc3QsIGlzdAptZWluZXIgTWVpbnVuZyBuYWNoIGZ1ZXIgTmV1bGluZ2UgZWhlciB1bmVyaGVibGljaCB1bmQgZGllIHRlY2huaXNjaGUKRGlza3Vzc2lvbiAqZGF6dSogZGVzaGFsYiBtdWVzc2lnOyBkYXMgYmVudXR6ZW4gaGF1cHRzYWVjaGxpY2ggTGV1dGUsIGRpZSBkYXMKTUcgc2Nob24gZXR3YXMga2VubmVuIHVuZCBudW4gYXVjaCB2b24gZGVyIEFyYmVpdCBhdXMgbXVkZGVuL2lkbGVuIG11ZXNzZW4uCk5hdHVlcmxpY2ggc29sbHRlIGVzIHRyb3R6ZGVtIHdpZWRlciB2ZXJmdWVnYmFyIHNlaW4uIERpZSBFcndlaXRlcnVuZ3NpZGVlbgpkYXp1IGZpbmRlIGljaCBndXQuCgpBbSBBbmZhbmcga29tbXQgZXMgYXVmIG5pY2h0IHZpZWwgbWVociBhbiBhbHMgZGllIGFiZ2VzdHp0ZSBFaW5nYWJlemVpbGUuCkJldm9yIHdpciBhdWZ3ZW5kaWdlIFBha2V0ZSBtaXQgaG9jaGxlaXN0dW5nc2ZhZWhpZ2VuIE11ZGNsaWVudHMgdW5kCk1ha3JvcGFrZXRlbiBhbmJpZXRlbiAoZGFzIGtvZW5uZW4gd2lyIHRyb3R6ZGVtIHR1biksIHNvbGx0ZW4gd2lyIGRpcmVrdCBhdWYKZGVyICJqZXR6dCBtaXQgZGVtIE1HIHZlcmJpbmRlbiItU2VpdGUgZWluZW4gKmdhbnogc2ltcGxlbiogQ2xpZW50IGFuYmlldGVuLApkZXIgc29uc3QgZ2FyIG5pY2h0IHZpZWwga29lbm5lbiBtdXNzLCBpY2gga2VubmUgZGEgei5CLiBHbXVkIChzZWxic3QgZGFzIGthbm4KaW56d2lzY2hlbiBlaW5pZ2VzKS4gV2VyIExpbnV4IGhhdCwgd2lyZCBhdWNoIG1pdCBkZXIgSW5zdGFsbGF0aW9uIHZvbiBURgprbGFya29tbWVuIC0gb2RlciBrb2VubmVuIHdpciBhdWNoIGRhIHdhcyBTaW1wbGVzIGFuYmlldGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoRGVlcGJsdWUsICA3LiBBcHIgMjAwNSwgMTI6MTI6NDgpOgp+IyEgcm49SmFtZXNvbiBydD0xMTEyODY4NTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpoYXN0ZSBzY2hvbiBtYWwga211ZCBnZXRlc3RldD8gKElzdCB6dW1pbmRlc3QgYmVpbSAiV2luZG93cyBOdWVybmJlcmdlcgpFZGl0aW9uIiBiZWkgS0RFIGRhYmVpKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEphbWVzb24sICA3LiBBcHIgMjAwNSwgMTI6MTQ6MDIpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTExMjg2ODc2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKbmVpbiwgSGlud2Vpc2UgYXVmICJub2NoIHNpbXBsZXJlIiBFaW4tRGF0ZWllbi1DbGllbnRzIGZpbmRlIGljaCBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChDb3JuaG9saW8sICA3LiBBcHIgMjAwNSwgMTI6NDY6MTUpOgp+IyEgcm49SmFtZXNvbiBydD0xMTEyODY4ODQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpOb2NoIHdhcyB6dW0gQ2ljZXJvbmU6CldlZ21lbGR1bmc6IEVudHdlZGVyIGRpZSBHZXNjaGljaHRlIG1pdCAiLWFuZi4uLiIgdW5kL29kZXIKZGF6dSBlaW5lIHZvcmF1c3NpY2h0bGljaGUgVWhyemVpdCBhbmdlYmVuLCB6dSBkZXIgbWFuCmhvZWNoc3R3YWhyc2NoZWlubGljaCBtYWwgd2llZGVyIGlucyBNRy1UcmVpYmVuIGJsaWNrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEhvdXNlaG9sZGVyLCAgNy4gQXByIDIwMDUsIDEyOjQ3OjQ1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTEyNzk3ODQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgppY2ggaGFsdGUgZWluZW4gdm9ya29uZmlndXJpZXJ0ZW4gbXVkY2xpZW50IGZ1ZXIgd2luZG93cyBmdWVyIGVpbmUgZXh0cmVtCm5ldXp1Z2FuZ3Nmb2VyZGVybmRlIG1hc3NuYWhtZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFJhbmdvcm4sICA3LiBBcHIgMjAwNSwgMTI6NTM6MjEpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTExMjg3MDg2NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKd3d3LnNlZWJlZS5kZS91cGRvd24vTUdjbGllbnQuemlwCgpFaW4tRGF0ZWktQ2xpZW50LCBXaW5kb3dzLCBydWRpbWVudGFlcmUgVHJpZ2dlciB1bmQgU2NyaXB0bW9lZ2xpY2hrZWl0ZW4uCkRhbWl0IGhhYiBpY2ggYmlzIHdlaXQgbmFjaCBTZWhlciBnZXpvY2t0LiAoYmlzIGNpYSBsdmwgNTIpLiBMZWlkZXIgaXN0IGVyCmF1Y2ggZXR3YXMgYnVnZ3ksIGRhIGVpZ2VudGxpY2ggbm9jaCBmdWVyIFdpbjk4IGdlcHJvZWdnZWx0LiBBYmVyIGljaCBlbXBmZWhsZQppaG4gdHJvdHpkZW0gamVkZW0gTmV1YW5mYWVuZ2VyLCBkYSBlciBzZWhyIGVpbmZhY2ggdmVyc3RhZW5kbGljaCwgc2VociBrbGVpbgp1bmQgZnJlaSB2ZXJmdWVnYmFyIGlzdC4gQWxsZW1hbCBiZXNzZXIgYWxzIHRlbG5ldCB1bmQgYW5mYWVuZ2xpY2ggYXVjaCBhbHMKWm11ZCBvZGVyIFRGLiBXZXIgaGF0IHNjaG9uIEJvY2ssIGRlbiBDbGllbnQgenUgcHJvZ3JhbW1pZXJlbiB6dSBtdWVzc2VuLCB3ZW5uCmVyIGVyc3RtYWwgbm9jaCBkaWUgU3BpZWxiZWZlaGxlIGxlcm5lbiBtdXNzLgoKLSBSYW5nb3JuIEtodXInVGlncmVzIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA3LiBBcHIgMjAwNSwgMTM6MTM6MjgpOgp+IyEgcm49SmFtZXNvbiBydD0xMTEyODY4NTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpJY2ggc3RpbW1lIERpciB6dSAoRmxhc2gpLVRlbG5ldCB6dS4KV2FzIGRhcyBzaW1wbGUgUGFrZXQgYW5nZWh0OiBJY2ggaGFiZSBtYWwgQXJhdGhvcm4gZ2VzdGVybiBhYmVuZCBhbmdlaGF1ZW4sIGVyCm1laW50ZSwgZXIgd29sbGUgc2ljaCBkYXMgenVtaW5kZXN0IG1hbCBhbnNjaGF1ZW4sIHZpZWxsZWljaHQgc3RlbGx0IGVyIGVpbgpQYWtldCBtaXQgZWluZW0gVEYgb2huZSBkaWUgVEYtTWFrcm9zIHp1c2FtbWVuLCBkYXMgYWJlciBLZXliaW5kaW5ncyBzY2hvbiBoYXQKKEYtVGFzdGVuLCBQZ1VwLCBQZ0Rvd24sIEhvbWUsIEVuZCwgZXRjLikuIERhcyBpc3QgZGFubiB3YXMgcmVjaHQgZWluZmFjaGVzLAp3ZWxjaGVzIGFiZXIgc3BhZXRlciBhdWNoIGd1dCBlcndlaXRlcmJhciBpc3QuCkF1Y2ggZnVlciBMaW51eCBpc3QgZXMga2VpbiBncm9zc2VzIFByb2JsZW0sIGVpbiBzaW1wbGVzIFBha2V0IGFuenViaWV0ZW4KKHJwbSwgdGd6LCBlYnVpbGQsIGRlYiwgZXRjLiksIGRhenUgc29sbHRlIG1hbiBudXIgVEYgc3RhdGlzY2gga29tcGlsaWVyZW4uCkR1bW1lcndlaXNlIGJpbiBpY2ggbmljaHQgc28gZGVyIEV4cGVydGUgZnVlciBkZW4gS2V5YmluZGluZ3NrcmFtLCBzcGV6aWVsbApiZWkgQmVudXR6dW5nIHZlcnNjaGllZGVuZXIgWC1UZXJtaW5hbHMgKHh0ZXJtLCBrb25zb2xlLCBrdGVybSwgZXRjLnBwLiksCnNvbnN0IHd1ZXJkZSBpY2ggZGFzIG1hbCB2ZXJzdWNoZW4uCgpUYXJhbmlzCgpQLlMuIFNvd2VpdCBpY2ggZGllIExpemVueiB2b24gR01VRCB2ZXJzdGVoZSwgbXVlc3N0ZW4gd2lyIHVucyB6dWVyc3QgbWl0IGRlbQpBdXRvciBlaW5pZ2VuLCBmYWxscyB3aXIgR01VRCBpbiBlaW5lbSBlaWdlbmVuIFBha2V0IG51dHplbiB3b2xsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChKYW1lc29uLCAgNy4gQXByIDIwMDUsIDEzOjQxOjQ3KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjg3MjQwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKR01VRCBoYWIgaWNoIG1hbCBudXIgZXhlbXBsYXJpc2NoIGdlbmFubnQsIGRhIGdpYnQncyBqYSBub2NoIGFuZGVyZS4gUmFuZ29ybnMKVm9yc2NobGFnIGtsYW5nIGphIHNjaG9uIG1hbCBzZWhyIGd1dCwgaWNoIGZpbmRlIGVzIHpCIGhlcnZvcnJhZ2VuZCwgZGFzcyBkYXMKbnVyIGVpbmUgRGF0ZWkgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDcuIEFwciAyMDA1LCAxNDowMzozOCk6Cn4jISBybj1KYW1lc29uIHJ0PTExMTI4NzQxMDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkFsc28sIG9iIGRhcyBudXIgZWluZSBEYXRlaSBpc3Qgb2RlciBtZWhyZXJlLCBoYWx0ZSBpY2ggZWlnZW50bGljaCBuaWNodCBzbwprcmllZ3NlbnRzY2hlaWRlbmQuIERhIG5pbW10IG1hbiBlaCBlaW4gVG9vbCB3aWUgSW5ubyBTZXR1cCwgZGFtaXQgcGFja3QgbWFuCmVpbiB4eXouZXhlIHp1c2FtbWVuLCB3ZWxjaGVzIGJlaW0gU3RhcnRlbiBkYXMgUHJvZ3JhbW0gZW50c3ByZWNoZW5kCmluc3RhbGxpZXJ0IHVuZCBnZ2YuIGtvbmZpZ3VyaWVydCB1bmQgZnVlciBoaW50ZXJoZXIgZWluIHVuaW5zdGFsbCBhbmJpZXRldC4KQWJlciBkYXMgc2luZCBlaCBEZXRhaWxzLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKE1pcmlsLCAgNy4gQXByIDIwMDUsIDE0OjE0OjMzKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjg3NTQxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKTGVpZGVyIHNpbmQgZGllIERldGFpbHMgZGFzLCB3YXMgZGllIG1laXN0ZW4gdm9uIGRlciBWb2xsZW5kdW5nIHZvbiBQcm9qZWt0ZW4KYWJoYWVsdCAoc2VpIGVzIG51biBlaW4gbmV1ZXMgR2ViaWV0LCBvZGVyIHdpZSBoaWVyIGVpbiBIYXVmZW4gdG9sbGVyIElkZWVuKS4KV2VyIHZvbiBldWNoIHdhZXJlIGRlbm4gYmVyZWl0LCBzaWNoIGVpbmVzIGRpZXNlciBQdW5rdGUgYW56dW5laG1lbj8gSWNoCmRlbmtlIG1hbCwgZnVlciBkaWUgVW1zZXR6dW5nIGRlciBDbGllbnRpZGVlIGJyYXVjaHQgbWFuIGtlaW5lbiBNYWdpZXIsCnNvbmRlcm4gZWluZmFjaCBqZW1hbmQsIGRlciBzb3dhcyBzY2hvbiBtYWwgZ2VtYWNodCBoYXQuIERhc3NlbGJlIGdpbHQgZnVlcgpkaWUgSG9tZXBhZ2UgKGljaCBoYWIgei5CLiBrZWluZSBlaWdlbmUgdW5kIGRhaGVyIHdlbmlnIEVyZmFocnVuZyBkYW1pdCkuCldhZXJlIHNjaG9lbiwgd2VubiBSYW5nb3JuIChvZGVyIGF1Y2ggc29uc3R3ZXIpIGRhcyB1ZWJlcm5laG1lbiB3dWVyZGUgdW5kCmRhbm4gYWJlciBhdWNoIHVtc2V0emVuLiBEaWUgbWVpc3RlbiBEaW5nZSBzY2hlaXRlcm4gbGVpZGVyIGltbWVyIHdpZWRlciBhbgpkZXIgQXJiZWl0IHVuZCBhbiBkaWVzZW0gIm1hbiBtdWVzc3RlIi4gV2VyPwoKSWNoIGRlbmtlLCB3aXIgc2luZCBmdWVyIGplZGVuIGRhbmtiYXIsIGRlciBzYWd0OiBJY2ggbWFjaHMuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQ29ybmhvbGlvLCAgNy4gQXByIDIwMDUsIDE2OjM3OjU3KToKfiMhIHJuPU1pcmlsIHJ0PTExMTI4NzYwNzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCk1pcmlsOgpFcyBnaWJ0IG5pY2h0cyBndXRlcywgYXVzc2VyIG1hbiB0dXQgZXMuCkFiZXIgd2VyIG1lbGRldCBzaWNoIGZyZWl3aWxsaWcgYWxzIEtvb3JkaW5hdG9yIGZ1ZXIgUHJvamVrdCBQZXBwPwpXYW5uIGVuZGV0IGRhcyBQcm9qZWt0IHVuZCBrb2VubmVuIHdpciBmZXN0c3RlbGxlbiwgb2IKZXMgRXJmb2xnIGhhdHRlID8gKEJldm9lbGtlcnVuZ3N6dW5haG1lIGV0Yy4uLiA6KSApPwoKVGhlbWE6IGtsZWluZSBUb29scyBtaXQgSW5zdGFsbGVyIHZlcnNlaGVuOgpnZXppcHBlZCBzb2xsdGUgZG9jaCByZWljaGVuCgpMYXNzdCBlcyB1bnMgYW5zb25zdGVuIG1hY2hlbiwgd2llIGFsbGUgYW5kZXJlbiBVbnRlcm5laG11bmdlbi4uLgpXaXIgZ2ViZSBlaW5lIFByZXNzZW1pdHRlaWx1bmcgaGVyYXVzIChpcmdlbmQgZWluIEdydW5uCihpcmdlbmQgZWluZW4gR3J1bmQgd2lyZCBlcyBzY2hvbiBnZWJlbikgYW4gSGVpc2UgdW5kCiJzY2hhbHRlbiIgYXVmIGRlbSBUaWNrZXIgIldlcmJ1bmciIGZ1ZXJzIE1HLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoUGFkcmVpYywgIDcuIEFwciAyMDA1LCAxODoyOTowNSk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExMjg4NDY3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKR2VnZW51ZWJlciBrb21tZXJ6aWVsbGVuIFByb2R1a3RlbiB3aWUgV29XIHNlaGUgaWNoIGltIHdlc2VudGxpY2hlbiB6d2VpCmdyYXdpZXJlbmRlIE5hY2h0ZWlsZSwgZGllIHdlbm4gZGllIG11ZHMgKGdhbnogYWxsZ2VtZWluKSBzaWUgbmljaHQgaW4gZGVuCkdyaWZmIGtyaWVnZW4sIHp1IGVpbmVtIGFsbG1hZWhsaWNoZW4gc3RlcmJlbiBmdWVocmVuIHdlcmRlbjoKRGVyIHdpY2h0aWdzdGUgUHVua3QgaXN0IGRlciBTcGllbGtvbWZvcnQuIFdhcyBtaXIgaGllciBmZWhsdCBpc3QgZWluIENsaWVudApkZXIgd2lya2xpY2gga29tZm9ydGFiZWwgenVtIHNwaWVsZW4gaXN0LiBEZXIgZWluIGFuc3ByZWNoZW5kZXMgSW50ZXJmYWNlIGhhdAp1bmQgYXVjaCBzbyBEaW5nZSB3aWUgQXVzcnVlc3R1bmcsIGFrdHVlbGxlIExhbmdiZXNjaHJlaWJ1bmcsIEthbXBmbWVsZHVuZ2VuCmV0Yy4gaW4gZWluZW0gZWlnZW5lbiBGZW5zdGVyIGJpZXRldC4KVW0gc29ldHdhcyB1bXp1c2V0emVuIG11ZXNzdGVuIHdpciBkaWUgTW9lZ2xpY2hrZWl0IGJpZXRlbiB6dXNhZXR6bGljaGUKVGVsbmV0aW5mb3JtYXRpb25lbiB6dSB2ZXJzZW5kZW4gKGFlaG5saWNoIGVpbnNjaGFsdGJhciB3aWUgZGllIEZhcmJlbiB1ZWJlcgpzdHR5KS4gU29ldHdhcyBrb2VubnRlIHouQi4gc2VpbiAjSU5UX0xPTkdfU1RBUlQjICNFTkQjICNPQkpFQ1RfU1RBUlQjCiNXRUFQT05fU1RBUlQjIGV0Yy4gZGFtaXQgQ2xpZW50cyB3aXJrbGljaCB2ZXJsYWVzc2xpY2ggZXJrZW5uZW4ga29lbm5lbiB1bQp3YXMgZXMgc2ljaCBnZXJhZGUgaGFuZGVsdC4gSWNoIGhhYmUgdm9yIGVpbmlnZW4gSmFocmVuIG1hbCBtaXQgZWluZW0gZWlnZW5lbgpncmFmaXNjaGVuIENsaWVudCBhbmdlZmFuZ2VuIHVuZCBnZW1lcmt0IGRhcyBlcyBlYmVuIGdlcmFkZSBkYXJhbiBzY2hlaXRlcnQuCldlbm4gaWNoIHVudGVyc3VjaGVuIGthbm4gaW5kZW0gaWNoIG1pdCBkZXIgTWF1cyB1ZWJlciBlaW4gU2NobHVlc3NlbHdvcnQKZmFocmUgdW5kIENsaWNrZSAoZ2dmLiBhZW5kZXJ0IHNpY2ggc29nYXIgZGVyIEN1cnNvcikgZGFubiBnZXdpbm50IGRhcyBTcGllbAphbiBuZXVlbSBLb21mb3J0LiBEaWUgTW9lZ2xpY2hrZWl0ZW4gc29ldHdhcyBuYWNodHJhZWdsaWNoIGlucyBNRyBlaW56dWJhdWVuCnNpbmQgZ2FyIG5pY2h0IHNvIGtvbXBsaXppZXJ0IChzaW5kIG51ciBlaW5pZ2UgU3RlbGxlbiBpbiBkZXIgTXVkbGliKSBkaWUKRnJhZ2UgaXN0IG51ciBvYiBtYW4gc2ljaCBhdWYgc29ldHdhcyBlaW5sYWVzc3QuCkhhYmVuIHdpciBlaW5lbiBrb21mb3J0YWJsZW4gb3B0aXNjaCBodWVic2NoZW4gQ2xpZW50IC0gd2VyZGVuIHdpciBzY2hvbiBuZXVlClNwaWVsZXIgZmluZGVuLiBVbnNlciBncm9lc3N0ZXIgVm9ydGVpbCBnZWdlbnVlYmVyIGRlbSBLb21tZXJ6IGlzdCBuYWVtbGljaDoKV2lyIHNpbmQgVW1zb25zdC4KRGFzIE1vcmdlbkdyYXVlbiBpc3Qga29zdGVubG9zLgoKRGFzIHp3ZWl0ZSB3YXMgbWljaCBhbSBNb3JnZW5HcmF1ZW4gc3RvZXJ0ICh1bmQgaW1tZXIgc2Nob24gZ2VzdG9lcnQgaGF0KSBpc3QKZGllIFdlcnRsb3NpZ2tlaXQgYW4gR2VsZCB1bmQgZGllIEFydCB1bmQgV2Vpc2Ugd2llIG1hbiBhbiBBdXNydWVzdHVuZyBrb21tdApXZW5uIGVzIG5hY2ggbWlyIGdpbmdlLCBkYW5uIGtvZW5udGUgbWFuIG51ciBub2NoIGVpbmlnZSBzY2hsZWNodGUgZ2VmdW5kZW5lClJ1ZXN0dW5nZW4gZGlyZWt0IHRyYWdlbiAoZnVlciBBbmZhZW5nZXIpIGJ6dy4gcmljaHRpZyBndXRlIGRpZSBhYmVyIGFsbGUgc2FtdApOT0RST1Agc2luZCAtIGQuaC4gd2VyIHNpZSBuaW1tdCB1bmQgZXJtZXR6ZWx0IGRlciBlcmhhZWx0IHNpZS4gRGVuIGdhbnplbgpNaXR0ZWxrcmFtIGthbm4gbWFuIGthZXVmbGljaCBlcndlcmJlbiwgUnVlc3R1bmdlbiAoZnVlciBHZWxkKSBhdWYgc2ljaAphbnBhc3NlbiBsYXNzZW4gb2RlciB1ZWJlciBTa2lsbHMgc2ljaCBzZWxic3Qgd2VsY2hlIGJhdWVuLgpIZXV0ZSBpc3QgZXMgZGVmYWt0byBzbyBkYXMgU3BpZWxlciBzdHVwaWRlIGltbWVyIHdpZWRlciBleGFrdCBkaWVzZWxiZSBSb3V0ZQphYmxhdWZlbiBfbXVlc3Nlbl8gZWJlbiB3ZWlsIHNpZSBhbmRlcnMgbmljaHQgYW4gZ3V0ZSBBdXNydWVzdHVuZyBrb21tZW4uIERpZQpNb2VnbGljaGtlaXQgenUgc2FnZW46IGljaCBnZWhlIG1hbCB3b2FuZGVycyBoaW4gbWV0emVsbiAtIHdlaWwgaWNoIG1pciBndXRlCkF1c3J1ZXN0dW5nIHNlbGJlciBiYXVlLCBrYXVmZSBvZGVyIHNvbnN0d2FzIHVuZCBhbiBiZWxpZWJpZ2VyIFN0ZWxsZSAoZGVyClN0YWVya2UgZGVzIFNwaWVsZXJzIGFuZ2VwYXNzdCkgR2VsZCB2ZXJkaWVuZW4gZ2VoZS4KRGllIFdlcnRsb3NpZ2tlaXQgZGVzIEdlbGRlcyBuaW1tdCB1bnMgdmllbGUgKGluIG1laW5lbiBBdWdlbikgdG9sbGUgS29uemVwdGUKdW5kIGJlcmVpdGV0IHVucyB1bnphZWhsaWdlIFByb2JsZW1lIChkaWUgU2lubmxvc2lna2VpdCB2b24gS29tcG9uZW50ZW4gZGllCm1hbiBrYXVmZW4ga2FubiB6LkIuKS4KU2VoZXJiZXJ1ZmUgKGRpZSBzZWluZXJ6ZWl0IHNjaG9uIHZvbiBXYXJnb24gJiBDYXR0eSBnZXBsYW50IHdhcmVuKSB1bmQgZGllCmhldXRlIGdlcmFkZSB6LkIuIGluIFdvVyBlaW5lbiBncm9zc2VuIFJlaXogYXVzbWFjaGVuLCBzaW5kIG1pdCB3ZXJ0bG9zZW0gR2VsZAppbSBNRyBuaWNodCB1bXNldHpiYXIgb2huZSBkaWUgUnVlc3R1bmdzc3BpcmFsZSBpbnMgVW5lcm1hZXNzbGljaGUgenUgdHJlaWJlbi4KClNvIG51biBrb2VubnQgaWhyIGRhcyBnZXJuZSB3aWVkZXIgYWxsZXMgemVycmVpc3Nlbi4uLgoKClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEFteW50aG9yLCAgOC4gQXByIDIwMDUsIDA3OjU0OjIwKToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTEyODg0Njc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpLb2VubnRlIG1hbiBuaWNodCBlaW5lIHNlcGFyYXRlIEVpbmdhYmV6ZWlsZSBpbiBkYXMgSmF2YS1BcHBsZXQgZWluYmF1ZW4/CgpEYXMgaXN0IG5hZW1saWNoIG1laW5lciBBbnNpY2h0IG5hY2ggaW1tZXIgbm9jaCBkZXIgZWluZmFjaHN0ZSBXZWcgaW5zIE1VRC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChNZXNpcmlpLCAgOC4gQXByIDIwMDUsIDExOjU2OjM2KToKfiMhIHJuPUFteW50aG9yIHJ0PTExMTI5Mzk2NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCBoYXR0ZSBtYWwgYW5nZWZhbmdlbiBlaW5lbiBnYW56IGtsZWluZW4gd2ViYmFzaWVydGUgRWluZ2FiZXplaWxlIGZ1ZXIKVGVsbmV0IHp1IGJhc3RlbG4gKFBlcmwpLiBTb3dhcyBrb2VubnRlIG1hbiBkaXJla3QgaW4gZGllIFdlYnNlaXRlIGludGVncmllcmVuCnVuZCBicmFldWNodGUga2VpbiBGbGFzaCAmIENvLiBFbnRzcHJpY2h0IGRlbSBXZWJ2b3lldXIgaGFsdCBudXIgbWl0IHJpY2h0aWdlcgpFaW5nYWJlemVpbGUuCldlbm4gZXMgaW50ZXJlc3NpZXJ0LCBrb2VubnRlIGljaCBlcyBtYWwgd2llZGVyIHJhdXNrcmFtZW4uCkJ1bnRrcmFtemV1Z3Mga29lbm50ZSBtYW4gZGFubiBwZXIgaHRtbCBtYWNoZW4gKGdnZi4gYXVjaCBqYXZhc2NyaXB0KS4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoWm9vaywgIDguIEFwciAyMDA1LCAxMTo1ODo0OSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExMTI5NTQxOTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCmtsaW5ndCBmZWluLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKERlZXBibHVlLCAgOC4gQXByIDIwMDUsIDEyOjI5OjE5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTExMjk1NDE5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKSG0sIGRhIGhhc3RlIGFiZXIgZGFubiBudXIgZGllIGVyc3RlIHJlYWt0aW9uIGRlcyBNdWRzIGF1ZiBkYXMgS29tbWFuZG8uCk1ldHplbHNjcm9sbCBldGMuIGdlaHQgdmVybG9yZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFJhbmdvcm4sICA4LiBBcHIgMjAwNSwgMTU6NDE6MTEpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTExMjk1NjE1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKSG9tZXBhZ2VsYXlvdXQ6IGljaCBtYWNocyA6bykgKnNjcmliYmVsdCBncmFkIGFuIG5lciBuZXVlbiBFaW5zdGllZ3NzZWl0ZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEdsb2luc29uLCAgOC4gQXByIDIwMDUsIDE1OjQyOjA5KToKfiMhIHJuPVJhbmdvcm4gcnQ9MTExMjk2NzY3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKQWgsIGVpbiBPcGZlcmxhbW0uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoVGFyYW5pcywgIDkuIEFwciAyMDA1LCAxNjowMjoxOSk6Cn4jISBybj1NaXJpbCBydD0xMTEyODc2MDczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpJY2ggZGVua2UsIGljaCBrb2VubnRlIGZ1ZXIgZWluIHg4Ni1iYXNpZXJ0ZXMgTGludXggZWluIHZvcmtvbmZpZ3VyaWVydGVzClRGLVBha2V0IHp1c2FtbWVuc3RlbGxlbiwgd2VsY2hlcyBudXIgbm9jaCBpbSBIb21ldmVyemVpY2huaXMgZGVzIFVzZXIKYXVzZ2VwYWNrdCB3ZXJkZW4gbXVzcy4gSWNoIGhhYmUgaGV1dGUgbW9yZ2VuIG5lbiBiaXNzY2hlbiBkcmFuIGdlYmFzdGVsdC4KR2FueiBmZXJ0aWcgYmluIGljaCBub2NoIG5pY2h0LCBhdXNzZXJkZW0gbXVlc3N0ZSBkYXMgUGFrZXQgZGFubiBzcGFldGVyIG5vY2gKYXVmIGVpbmlnZW4gYW5kZXJlbiBSZWNobmVybiBnZXRlc3RldCB3ZXJkZW4uCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChHbG9pbnNvbiwgIDkuIEFwciAyMDA1LCAxNjoxMjowOSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTMwNTUzMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCldlciBMaW51eCBoYXQsIHNvbGx0ZSAnbWFrZScga2VubmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsICA5LiBBcHIgMjAwNSwgMTg6MTI6MTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMzA1NTkyOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKTWVpbmVyIEVyZmFocnVuZyBuYWNoIGlzdCBkZW0gYWJlciBuaWNodCAobWVocikgc28uIEVzIGdpYnQgaW56d2lzY2hlbiBlaW5lClJlaWhlIHZvbiBMZXV0ZW4sIGRpZSBpaHJlIExpbnV4ZGlzdHJpIHZlcndlbmRlbiB1bmQgbmllIGF1ZiBkaWUgSWRlZSBrb21tZW4sCmV0d2FzIHNlbGJlciB6dSBrb21waWxpZXJlbiB1bmQgYXVjaCBrZWluZSBBaG51bmcgZGF2b24gaGFiZW4uIFp1bWFsIGVzIGJlaSBURgpuaWNodCBtaXQgZGVtIHJlaW5lbiAibWFrZSIgZ2V0YW4gaXN0LCBiaXMgbWFuIGltIE11ZCBhbmdla29tbWVuIGlzdC4gSWNoCmRlbmtlLCB3ZW5uIG1hbiBlaW4gQW5mYWVuZ2VycGFrZXQgZnVlciBXaW5kb3dzIG1hY2h0LCB3ZWxjaGVzIGVpbiBuZXVlcgpTcGllbGVyIG51ciBzY2huZWxsIGVudHBhY2tlbiBtdXNzLCBzb2xsdGUgbWFuIGRhcyBmdWVyIExpbnV4IGF1Y2ggdHVuLgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTWFyY3VzLCAgOS4gQXByIDIwMDUsIDE4OjE4OjUzKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMzA2MzEzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKInJwbSIgLi4uIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFJhbmdvcm4sIDEwLiBBcHIgMjAwNSwgMDA6MDY6MTEpOgp+IyEgcm49TWFyY3VzIHJ0PTExMTMwNjM1MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCk5ldWVzIHZvbSBPcGZlcmxhbW06CgppY2ggYml0dGUgbWFsIHVtIEFic3RpbW11bmcgZnVlciBlbnR3ZWRlcgp3d3cuc2VlYmVlLmRlL3VwZG93bi9sYXlvdXQxLmpwZwp3d3cuc2VlYmVlLmRlL3VwZG93bi9sYXlvdXQyLmpwZwphbGxlcyBtaXN0LCBtYWNocyBub2NobWFsCgpCaXR0ZSBtYWlsIGFuIGRlbiBNdWRjaGFyIFdlYnNpdGUuIEljaCBsYXNzIGRhcyBqZXR6dCBtYWwgbmUgd29jaGUgcnVuIHVuZAp3YXJ0ZSA6bykKCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChBcmssIDEwLiBBcHIgMjAwNSwgMTQ6NTA6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMTI4NTUwNzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCBiaW4gbnVuIGRlcHJpbWllcnQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoT2dvLCAxMS4gQXByIDIwMDUsIDA1OjQyOjIzKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjgwMDUxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKV28gaWNoIGdlcmFkZSBTdGF0dXN6ZWlsZSBsZXNlLi4uIEljaCBiaW4gZGFmdWVyLCBkZW4gVGVkZHkgaW4gZGllClJhc3NlbnNoZWxscyBlaW56dWJhdWVuLiBFcyBpc3Qgd2VkZXIgbG9naXNjaCBub2NoIHNpbm52b2xsLCBkYXNzIG1hbiBvaG5lClRlZGR5IHN0YWVuZGlnICdpbmZvJyBkcnVlY2tlbiBtdXNzLiBEYXMgaXN0IGRvY2ggZWhlciBldHdhcyBTcGllbGV4dGVybmVzLgpHdXQsIGRpZSBOaWJlbHVuZ2VucXVlc3QgaGFldHRlIGRhbWl0IGVpbmVuIEFuc3Bvcm4gd2VuaWdlciwgYWJlciBtYW4ga29lbm50ZQphdWNoIGVpbmUgU3RhdHVzemVpbGUgZnVlciBMZXZlbCA1IFNwaWVsZXIgZ2VuZXJpc2NoIGZ1ZXIgZGllIENsaWVudHMKYW5iaWV0ZW4uIAoKT2dvLCBhbGxlIHBhYXIgV29jaGVuIG1hbCBldHdhcyB0b2xsZXMgZWlud2VyZmVuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoR2xvaW5zb24sIDExLiBBcHIgMjAwNSwgMDk6MDc6NDgpOgp+IyEgcm49T2dvIHJ0PTExMTMxOTA5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkFDSy4gRGEgZGllIE5pYmVsdW5nZW5xdWVzdCBzaWNoIG9obmVoaW4gaW4gZGF1ZXJoYWZ0ZXIgVWViZXJhcmJlaXR1bmcgZHVyY2gKWFlaIGJlZmluZGV0LCB3YWVyZSBkYXMgbm9jaCBuaWNodCBlaW5tYWwgc2Nod2llcmlnIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoQ2Fzc2FuZHJhLCAxMS4gQXByIDIwMDUsIDEyOjEyOjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTMyMDMyNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCjEKUmVwbHkgYXVmIGRlbiBsZXR6dGVuIEFydGlrZWwKMgoKMQoyCkJlaSBkZXIgRWlucmljaHR1bmcgZWluZXMgbmV1ZW4sIHZlcmJlc3NlcnRlbiBadWdhbmdzIHNvbGx0ZSBtYW4gdmllbGxlaWNodAphdWNoIGRhcmF1ZiBhY2h0ZW4sIGRhcyBhdXMgdmllbGVuIENvbXB1dGVycG9vbHMgb2RlciBpbnRlcm5ldGNhZmVzIGF1cyBuaXgKaW5zdGFsaWVydCB3ZXJkZW4gZGFyZi4gaXN0IHp1bWluZGVzdCBoaWVyIHNvLiBFcyBzb2xsdGUgYWxzbyBhdWNoIGVpbmUKbW9lZ2xpY2hrZWl0IGdlYmVuIGlucyBTcGllbCB6dSBzY2hhdWVuIG9obmUgZXJzdCBldHdhcyBydW50ZXJsYWRlbiB6dQptdWVzc2VuLgoxCjIKSWNoIGhhbHRlIGluIGRlciBoaW5zaWNodCBhdWNoIGRpZSBzY2hvbiBlcndhZWhudGUgRWluZ2FiZXplaWxlIGZ1ZXIgYW0Kd2ljaHRpZ3N0ZW4uIGRhIHNvbnN0IHNjaG5lbGwgYWxsZXMgZHVyY2hlaW5hbmRlcmdlaHQuCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoR3JpbW1ib3JuLCAxMS4gQXByIDIwMDUsIDEyOjIwOjAxKToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMTEzMjE0MzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpEb29mZSBTa3JpcHRlLCB3YXM/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEdsb2luc29uLCAxMS4gQXByIDIwMDUsIDEyOjIwOjQ5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTEzMjE0ODAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpKZXR6dCBudXIgbm9jaCBtdWQtQWNjb3VudC1SZWNodGUgaGFiZW4gdW0genUgc2NoYXVlbiB3YXMgaGludGVyIGRlbiBBbGlzCnN0ZWNrdCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFRhcmFuaXMsIDExLiBBcHIgMjAwNSwgMTM6MDE6MTApOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTExMTMyMTQzNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyClVtIGRhcyBub2NobWFsIHp1IGJldG9uZW46IE51ciB3ZWlsIHdpciBlaW4gdm9ya29uZmlndXJpZXJ0ZXMgUGFrZXQgbWl0IGVpbmVtCk11ZC1DbGllbnQgYW5iaWV0ZW4sIGhlaXNzdCBkYXMgamEgbmljaHQsIGRhc3MgZGVyIFp1Z2FuZyB2aWEgVGVsbmV0IG5pY2h0Cm1laHIgZ2VodCBiencuIGFiZ2VzY2hhZmZ0IHdpcmQuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChNdWFkaWIsIDExLiBBcHIgMjAwNSwgMTU6MzU6MDEpOgp+IyEgcm49T2dvIHJ0PTExMTMxOTA5NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCmRhIGJpbiBpY2ggZ2VnZW4KZGFzIGlzdCBnYW56IGtqbGFyIGVpbmUgcXVlc3RiZWxvaG51bmcgb2RlciBlaW4gZ2lsZGVuYmVuZWZpdCB1bmQgaGF0IGluIGRlcgpzaGVsbCBuaXggenUgc3VjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRVRUVU5HU1RSVVBQRSAoTHVnLCAxMy4gQXByIDIwMDUsIDAwOjM5OjMyKToKQmxpdHptZWxkdW5nOgoKSGVsZGVuaGFmdGUgUmV0dHVuZ3Nha3Rpb24gaW4gZGVyIFVudGVyd2VsdDogTGF1dGVyIHZlcmlycnRlIFNlaGVyIHJldHRlbgplaW5lbiBBbmZhZW5nZXIsIGRlciBzaWNoIGhpbnRlcnVlY2tzIHZvbiBqZW1hbmQgYW5lcmVtIHJldHRlbiBsYWVzc3QuLi4KClNlbnNhdGlvbnNyZXBvcnRlcgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKFpvb2ssIDEzLiBBcHIgMjAwNSwgMTY6MzA6MzIpOgp+IyEgcm49UmFuZ29ybiBydD0xMTEyODcxMjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpGZWluLCBkYXNzIGRlciBDbGllbnQgbm9jaCB2ZXJmdWVnYmFyIGlzdC4gVmllbGxlaWNodCBzb2xsdGVuIHdpciBkYW5uIGVpbmVuCmtsZWluZW4gTGluayB6dSBkZXIgRG93bmxvYWQtTW9lZ2xpY2hrZWl0IGF1ZiBkaWUgTUctU2VpdGUgc2V0emVuPyAKSWNoIGZpbmRlIGRlbiBDbGllbnQgamVkZW5mYWxscyBnZWx1bmdlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChPZ28sIDE0LiBBcHIgMjAwNSwgMTM6NTE6MTApOgp+IyEgcm49TXVhZGliIHJ0PTExMTMyMjY1MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkRhcyBlcyBtb21lbnRhbiAiZ2FueiBrbGFyIiBlaW5lIFF1ZXN0YmVsb2hudW5nIG9kZXIgZWluIEdpbGRlbmJlbmVmaXQgaXN0LApiZXN0cmVpdGV0IGphIGF1Y2gga2VpbmVyLiBJY2ggZmluZGUgZXMgamVkb2NoIHNlbHRzYW0sIGRpZXMgYWxzIEFyZ3VtZW50CmRhZnVlciBoZXJhbnp1emllaGVuLCBkYXNzIGVzIGluIGRlciBTaGVsbCBuaWNodCB6dSBzdWNoZW4gaGFiZS4gRXMgZ2lidCBzbwpsdXN0aWdlIEJlZmVobGUsIHdpZSAnaW5mbycsICdwdW5rdGUnIHVuZCBub2NoIHZpZWwgc2Nob2VuZXIgJ2t1cnppbmZvJywgZGllCmRpZXNlbGJlIEluZm9ybWF0aW9uIGF1c3NwdWNrZW4uIERlciBVbnRlcnNjaGllZCBiZXN0ZWh0IGRhcmluLCBkYXNzIG1hbiBuaWNodApkaWUgSW5mb3JtYXRpb25lbiBiZWtvbW10LCB3ZW5uIHNpY2ggZXR3YXMgYWVuZGVydCwgc29uZGVybiBudXIsIHdlbm4gbWFuIHNpZQphYmZyYWd0LiAKClVtIG1hbCBtaXQgZGVtIFJvbGxlbnNwaWVsIHp1IGtvbW1lbiwgZW50d2VkZXIgd2Vpc3MgZGVyIENoYXJhY3RlciwgZGFzcyBlcgpMZWJlbnNwdW5rdGUgdmVybG9yZW4gaGF0IHVuZCBpc3QgYXVjaCBpbiBkZXIgTGFnZSwgZGllcyBkZW0gTWVuc2NoZW4gdm9yIGRlbQpDb21wdXRlciBtaXR6dXRlaWxlbiwgb2RlciBlciB3ZWlzcyBlcyBuaWNodCB1bmQgd2lyIHZlcmxlZ2VuICdwdW5rdGUnLCAnaW5mbycKdW5kICdrdXJ6aW5mbycgYXVjaCBpbiBkZW4gVGVkZHksIHdlbGNoZXIgZGFuayBNYWdpZSghKSBkYXMgbWl0YmVrb21tdCwgd2FzCmRlbSBTcGllbGVyIHZlcndlaHJ0IGJsZWlidC4KCkljaCB2ZXJzdGVoZSBkZWluZW4gUHVua3QgbmljaHQsIHVuZCB3dWVyZGUgbWljaCBmcmV1ZW4sIHdlbm4gZHUgaWhuIG1pcgplcmtsYWVyZW4ga2FubnN0LiBJY2ggZmFlbmRlIGVzIHdpcmtsaWNoIHd1ZW5zY2hlbnN3ZXJ0LCB3ZW5uIG1hbiBzbyBldHdhcyB3aWUKZGllIEhpdHBvaW50cywgTWFuYXB1bmt0ZSBhbHMgU3BpZWxleHRlcm51bSBrb25zZXF1ZW50IGJldHJhY2h0ZXRlLiBJY2ggZmluZGUKZXMgZWhlciB1bmxvZ2lzY2ggdW5kIGFic2NoYWZmZW5zd2VydCwgZGFzcyBnZXJhZGUgc29sY2hlIERpbmdlIGluIGVpbmVyClF1ZXN0YmVsb2hudW5nIG9kZXIgaW4gZWluZXIgR2lsZGUgaW1wbGVtZW50aWVydCBzaW5kLiAKCkVpbmUgZWluaGVpdGxpY2hlIGtvbmZpZ3VyaWVyYmFyZSBTdGF0dXN6ZWlsZSBhbGEgZGVyLCBkZXIgVGFuamlhbiBvZGVyClphdWJlcmVyIGZ1ZXIgYWxsZSBHaWxkZW4gd2FlcmUgZWluIFNjaHJpdHQgaW4gU2FjaGVuIEJlbnV0emVyZnJldW5kbGljaGtlaXQKdW5kIGtlaW5lc3dlZ3MgZWluZSBBdWZnYWJlIHZvbiBpcmdlbmR3ZWxjaGVuIFJvbGxlbnNwaWVsdGVjaG5pc2NoZW4gRmluZXNzZW4KZGVzIE1vcmdlbmdyYXVlbnMuIAoKSnVzdCBteSB0d28gRXVyb2NlbnRzIChzY25yKQpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKE11YWRpYiwgMTQuIEFwciAyMDA1LCAxMzo1MzozNik6Cn4jISBybj1PZ28gcnQ9MTExMzQ3OTQ3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKZHUgc2NocmVpYnN0IGVzIHNlbGJzdDogaW5mbywgcHVua3RlIHVuZCBrdXJ6aW5mbyBoYWJlbiBlYmVuIG5pY2h0IGRlbgpsZWlzdHVuZ3N1bWZhbmcgZGVzIHRlZGRpZXMuIApkaWVzZXIgaXN0IGVpbiBnb29kaWUuIHVuZCB6d2FyIGVpbiB3ZXJ0dm9sbGVzLiBlaW5lIHd1bmRlcmJhcmUKcXVlc3RiZWxvaG51bmcsIGRpZSBpbWhvIGxlaWRlciBldHdhcyBkdXJjaCBtYW5jaGUgZ2lsZGVuIGVudHdlcnRldCB3aXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChNdWFkaWIsIDE0LiBBcHIgMjAwNSwgMTQ6MjM6MDYpOgp+IyEgcm49TXVhZGliIHJ0PTExMTM0Nzk2MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCmRhIGRpciBkaWUgYW50d29ydCBuaWNodCB6dSByZWljaGVuIHNjaGVpbnQsIHdlaWwgZHUgZWluCnJvbGxlbnNwaWVsdGVjaG5pc2NoZXMgYXJndW1lbnQgZ2VicmFjaHQgaGFzdCwgd2lsbCBpY2ggaGFsdCBhdWNoIG1hbCBlaW5lcwprb25zdHJ1aWVyZW4uCgpkZXIga2FlbXBmZXIsIHphdWJlcmVyLCBldGMgd2Vpc3MgZWJlbiBuaWNodCBnZW5hdSwgb2IgZXMgaWhtIGd1dCBnZWh0IG9kZXIKbmljaHQuIGVyIHdlaXNzLCBlciBoYXQgZWJlbiBlaW5lbiBzY2hsYWcgYWJiZWtvbW1lbiwgZXIgd2Vpc3MgdmllbGxlaWNodApzb2dhciBkYXNzIGVzIGVpbiBzY2hsaW1tZXIgc2NobGFnIHdhciBvZGVyIGVoZXIgZWluIGtyYXR6ZXIuIAplciB3ZWlzcyBhYmVyIG5pY2h0IGludHVpdGl2IHdpZSBnZXN1bmQgZXIgZXhha3QgaXN0LgpkZXIgemF1YmVybmRlIHdlaXNzLCBkYXNzIGVyIGViZW4gdGVpbGUgc2VpbmVyIG1hZ2lzY2hlbiBlbmVyZ2llIHZlcmJyYXRlbgpoYXQuIGVyIHdlaXNzIGFiZXIgdm9uIGRlciByZWluIHJvbGxlbnNwaWVsdGVjaG5pc2NoZW4gYXJndW1lbnRhdGlvbiBoZXIgbmljaHQKZXhha3Qgd2lldmllbCBzZWluZXIgZW5lcmdpZSBlciB2ZXJicmF0ZW4gaGF0LiAKCnVuZCBkaWVzZXMgdW53aXNzZW4gd2lyZCBuaWNodCBiZXNzZXIgZGFkdXJjaCwgZGFzcyBlciBnZXJhZGUgaW4gZGVyCmthbXBmaGVrdGlrIGlzdC4KCmRpZSBleGFrdGUgc2NoYWRlbnN3aXJrdW5nIHZvbiBnaWZ0ZW4gb2RlciBmbHVlY2hlbiBzaW5kIGlobSBlcnN0IHJlY2h0IG5pY2h0CmJla2FubnQuCgplciBtdXNzIGplZGVzbWFsIGluIHNpY2ggZ2VoZW4gdW5kIGVpbiByZXN1bWVlIHppZWhlbi4gbWl0IGluZm8gemIuCgp2aWVsbGVpY2h0IHNvbGx0ZSBpbmZvIG5lIGthbXBmcnVuZGUgdmVyYnJhdWNoZW4uCgpkZXIgdGVkZHkgaGlsZnQgaWhtIGhpZXIgZW5vcm0gd2VpdGVyLiBkdXJjaCBtYWdpZSwgd2llIGR1IGZlc3RnZXN0ZWxsdCBoYXN0LgpkYXMga2FubiBkZXIgc3BpZWxlciBuaWNodCBlaW5mYWNoIHNvIHZvbiBiZWdpbm4gYW4uIGRhaGVyIGdlaG9lcnQgZXMgZWJlbgpuaWNodCBpbiBkaWUgc2hlbGwuCmRpZSBrb25maWd1cmllcmJhcmtlaXQgZGVzIG91dHB1dHMgaXN0IG1pciB3dXJzdC4KCmluc2dlc2FtdCBlbXBmaW5kZSBpY2ggdWVicmlnZW5zIGRpZSBnZW5hdWlna2VpdCBkZXIgZ2lsZGVuc3RhdHVzcmVwb3J0cyBhbHMKcm9sbGVuc3BpZWx0ZWNobmlzY2ggc3RvZXJlbmQuIGF1Y2ggZGllIG51ciB3ZW5pZyByYW5kb21pc2llcnRlbiBvZGVyCmVyZm9sZ3NhYmhhZW5naWdlbiBrb3N0ZW4gdm9uIGdpbGRlbiBrb2VubnRlbiBpbWhvIHVlYmVyYXJiZWl0ZXQgd2VyZGVuLgpzb2dhciBkaWUgYWJzb2x1dGUgYW56ZWlnZSB2b24gbXAgdW5kIGtwIGtvZW5udGUgbWFuIGFic2NoYWZmZW4uIGRhcyB3YWVyZQpyb2xsZW5zcGllbHRlY2huaXNjaCBzY2hvZW5lci4genVtaW5kZXN0IG1laW5lciBtZWludW5nIG5hY2guCgphYmVyIGtlaW5lIHNvcmdlLCBpY2ggcGxhbmUgaGllciBuaWNodCBnZWdlbiBkZW4gc3RhdHVzIHF1byBhdWZ6dWJlZ2VocmVuLgphYmVyIGljaCB2ZXJ0ZWlkaWdlIG1laW5lIGFuc2ljaHQgdmVoZW1lbnQsIGRhc3Mgd2lyIG5pY2h0IG5vY2ggbWVociBkaXNrcmV0ZQpnZW5hdWlna2VpdCBicmF1Y2hlbi4KCmRhcyBhcmd1bWVudCBkZXMga29tZm9ydHMga2FubiBpY2ggaGllciBuaWNodCBha3plcHRpZXJlbi4gCm51ciB3ZWlsIGVpbiBjbGllbnQgZGFzIHNvIHNjaG9lbiBhdXN3ZXJ0ZW4ga2FubiwgaXN0IGZ1ZXIgbWljaCBrZWluIGdydW5kCmRpZXNlIGZ1bmt0aW9uYWxpdGFldCBpbiBkaWUgc2hlbGwgenUgaW50ZWdyaWVyZW4uCmdlbmF1c28gZ3V0IGtvZW5udGUgbWFuIHZlcmxhbmdlbiwgZGFzcyBtb25zdGVyIGRpZSB6Yi4gc3BlbGxzIGF1ZmhlYmVuIGtlaW5lCm1lbGR1bmcgbWVociBhdXNnZWJlbiBhbGEgIkR1IGZ1ZWhsc3QgRGljaCBwbG9ldHpsaWNoIHZpZWwgdmVyd3VuZGJhcmVyLiIKc29uZGVybiBiZXNzZXIgIiMtPlBhcnNlOiBTY2h1dHogYXVzIgp3YXJ1bSBhdWNoIG5pY2h0LiBkaWUgb2JlbiBhbmdlZnVlaHJ0ZSBtZWxkdW5nIGZpbmRldCBzaWNoIGVoIGJhbGQgaW4gZWluZXIKKi50Zi1kYXRlaSB1bmQgZGFoZXIgd2FlcmUgZXMgZG9jaCB2aWVsIGtvbWZvcnRhYmxlciBnbGVpY2ggenUgc2FnZW4gd2FzIHNhY2hlCmlzdC4KYWJlciBpY2ggdmVyZ2FzcyBtYWwgd2llZGVyIGRpZSB1bnNhZWdsaWNoZSBnZW5hdWlna2VpdCBkZXIKZ2lsZGVuc3RhdHVzcmVwb3J0cywgZGllIG9iaWdlIG1lbGR1bmcgaXN0IGphIGdhciBuaWNodCBub3R3ZW5kaWcgZnVlciBtYW5jaGUKZGluZ2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChHYWJ5bG9uLCAxNC4gQXByIDIwMDUsIDE1OjI4OjM2KToKfiMhIHJuPU11YWRpYiBydD0xMTEzNDgxMzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpzY2hvZW4gdW5kIGd1dC4KZGFzIGVya2xhZXJ0IGFiZXIgaW1tZXIgbm9jaCBuaWNodCwgd2FydW0gImluZm8iIGV0Yy4gZnJlaSB2ZXJmdWVnYmFyIGFiCm5ld2JpZSBpc3QsIHdvYmVpIG1hbiBzaWNoIGRpZSB2ZXJhZW5kZXJuZGVuIHB1bmt0ZSBlcnN0IGVycXVlc3RlbiBtdXNzLgoKZGVubiB3ZW5uIGljaCB6dSBzcGllbGJlZ2lubiBlaW4gIi9yZXBlYXQgLTEgOTk5OTk5IGt1cnppbmZvIiBtYWNoZSB1bmQKbWlyIGRhbm4gZGllIGVudHNwcmVjaGVuZGVuIGluZm9zIHBlciBjbGllbnQgZXh0cmFoaWVyZSwgaGFiIGljaCBpbgpldHdhIGRhcyB0ZWRkeXZlcmhhbHRlbi4KCmljaCBnbGF1YmUsIGRhc3MgZGFzIGVoZXIgb2dvcyBwdW5rdCB3YXIgKGRlciBtaWNoIGtvcnJpZ2llcmVuIG1vZWdlLAp3ZW5uIGljaCBkYSBmYWxzY2ggbGllZ2UpLgoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChXdXJ6ZWwsIDE0LiBBcHIgMjAwNSwgMTU6MzE6MzQpOgp+IyEgcm49R2FieWxvbiBydD0xMTEzNDg1MzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgpqYS4gaW5mbywga3VyemluZm8gdW5kIGFlaG5saWNoZXMgaGFiZW4gaW0gcm9sbGVuc3BpZWxzaW5uIGtlaW5lIGVjaHRlCmZ1bmt0aW9uIHVuZCBrb2VubnRlbiB2b24gbWlyIGF1cyBhYmdlc2NoYWZmdCB3ZXJkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRXJmYWhydW5nZW4gbWl0IENpY2Vyb25lIChNdWFkaWIsIDE0LiBBcHIgMjAwNSwgMTU6MzM6NTgpOgp+IyEgcm49R2FieWxvbiBydD0xMTEzNDg1MzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExMDgwODYzMgptaXQgZGVtIGFyZ3VtZW50IGtvZW5udGUgbWFuIGF1Y2ggZGllIGZsdWNodHJpY2h0dW5nIHNvZm9ydCBlaW5mdWVocmVuIHVuZCBlaW4KZ2VydWV0dGVsdCBtYXNzIGFuIHF1ZXN0ZW4gZ2xlaWNoIHp1IHN0YXJ0IGd1dHNjaHJlaWJlbiwgZGVubiBkYXMga2FubiBpY2gKYXVjaCB1ZWJlciBkZW4gY2xpZW50IGVycmVpY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEdhYnlsb24sIDE0LiBBcHIgMjAwNSwgMTU6NDI6MzkpOgp+IyEgcm49V3VyemVsIHJ0PTExMTM0ODU0OTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCm51bmphLCBpcmdlbmR3aWUgTVVTUyBtYW4gamEgd2lzc2VuLCB3aWUgZXMgZWluZW0gc2VsYmVyIGdlcmFkZSBnZWh0Lgp1bmQgb2IgbWFuIHZlcmdpZnRldCBpc3QgZXRjLgoKbnVyIGhhdCBvZ28gYW5nZW1lcmt0LCBkYXNzIGVzIG5pY2h0IGJlc29uZGVycyBlaW5oZWl0bGljaCBpbXBsZW1lbnRpZXJ0CmlzdC4gYWxzIGVjaHRlcyBhcmd1bWVudCB3dWVyZGUgaWNoIGFuZ2ViZW46IGRhcyBpc3QgaGlzdG9yaXNjaCBzbwpnZXdhY2hzZW4uIHVuZCB3ZW5uIHVlYmVyZ3JlaWZlbmRlciBiZWRhcmYgYmVzdGVodCwga29lbm50ZSBtYW4gZHJ1ZWJlcgpuYWNoZGVua2VuLCB2b3JzY2hsYWVnZSB6dSAocm9sbGVuc3BpZWx0ZWNobmlzY2ggdmVyc3RhZW5kbGljaGVyZW58CnNwaWVsZXJmcmV1bmRsaWNoZXJlbnxzY3JpcHR1bmJyYXVjaGJhcmVyZW58Li4uKSBsb2VzdW5nZW4gYXVzenVhcmJlaXRlbi4KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoTXVhZGliLCAxNC4gQXByIDIwMDUsIDE1OjQ0OjIxKToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMzQ4NjE1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKYWJlciBlcyBpc3QgZG9jaCBlaW5oZWl0bGljaCBpbXBsZW1lbnRpZXJ0CmR1IGthbm5zdCBqZWRlcnplaXQgbmFjaHNjaGF1ZW4gd2llIGVzIGRpciBnZWh0LCBhYmVyIGR1IGhhc3QgbmllbWFuZGVuIGFuIGRlcgpoYW5kLCBkZXIgZGlyIHN0YWVuZGlnIGlucyBvaHIgZmx1ZXN0ZXJ0IHdpZSBlcyBkaXIgZ2VodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IEVyZmFocnVuZ2VuIG1pdCBDaWNlcm9uZSAoR2FieWxvbiwgMTQuIEFwciAyMDA1LCAxNTo1MDo0OSk6Cn4jISBybj1NdWFkaWIgcnQ9MTExMzQ4NjI2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTA4MDg2MzIKamEsIGFiZXIgX3dvXyBzY2hhdXQgZXIgZGVubiBuYWNoPwp3aWUga2FubiBlaW4gbmFja3RlciBsZXZlbDEtc3BpZWxlciBuYWNoc2NoYXVlbiwgd2llIGVzIGlobSBnZWh0Pwpyb2xsZW5zcGllbHRlY2huaXNjaCBnZXNlaGVuLgoKc3RyZW5nIGdlbm9tbWVuIGthbm4gZXIgZGFzIG5hZW1saWNoIGdhciBuaWNodC4gZXIgd2Vpc3MgbmljaHRzLCBlciBrYW5uCm5pY2h0cy4gdW5kIGVyIGJlc2l0enQgbmljaHRzLCBhdXNzZXIgZWluIHBhYXIgTFAgdW5kIE1QLgoKdW5kIG9nbyBtZWludGUgamV0enQ6IGVudHdlZGVyIGFsbGUgaW5mb3MgaW4gZGVuIHRlZGR5IG9kZXIgYWxsZSBpbmZvcwppbmNsLiBkZXMgImlucy1vaHItZmx1ZXN0ZXJuIiBmcmVpZ2ViZW4uCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBFcmZhaHJ1bmdlbiBtaXQgQ2ljZXJvbmUgKEh1bW5pLCAxNC4gQXByIDIwMDUsIDE3OjQ1OjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTM0OTI1Mzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTEwODA4NjMyCkljaCB3ZWlzcyBuaWNodCwgd2llIER1IGRhcyBzaWVoc3QuCgpJY2ggaGFiIG1pdCAxMyBKYWhyZW4gbWVpbmUgZXJzdGUgRFNBLUJveCBiZWtvbW1lbiB1bmQgZGFubiBzb2ZvcnQgZGFzCkFiZW50ZXVlciAiRGFzIEdvYmxpbi1JbnRlcm5hdCIgZ2VzY2hyaWViZW4uCgpJbiBkZW0gQWJlbnRldWVyIGdpbmcgZXMgdW0gZWluIEhhdXMgdm9sbGVyIEdvYmxpbnMsIGRpZSBkYSBhdXNnZWJpbGRldAp3dXJkZW4uIFVuZCBkYSBnYWIgZXMgYXVjaCBlaW4gS2xvLCBhdWYgZGVtIGVpbiBrbGVpbmVyIEdvYmxpbiB3YXIuCgpaaWVsIGRlcyBBYmVudGV1ZXJzIHdhciBlcywgYWxsZXMgdW16dW5pZXRlbi4KClVuZCBFc3Nlbi9Ucmlua2VuIGdlaG9lcnQgenUgamVkZW0gZ3V0ZW4gUm9sbGVuc3BpZWwgZGF6dS4gU29uc3Qgd3VlcmRlIGljaApiZWkgRFNBIGF1Y2ggbmljaHQgYWxsZSBtZWluZSBDaGFyYWt0ZXJlIGltIFplY2hlbiB0cmFpbmllcmVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZlaGxlbmRlIERldGFpbHMgZnVlciBCb2RlbiB1bmQgV2VnIGluIFBvcnQgVmFpbiAoQ29ybmhvbGlvLCAxOS4gQXByIDIwMDUsIDA5OjA2OjUwKToKVmllbGxlaWNodCB3YWVyZSBlcyBuZXR0ZXIsIHdlbm4gZXMgaW4gdW5taXR0ZWxiYXJlciBVbWdlYnVuZyBkZXIgU3RhcnRwdW5rdGUKbWVociBSYXVtYmVzY2hyZWlidW5nZW4gZ2FlYmUuClNvIHNjaGVpbnQgZXMgaW4gUG9ydCBWYWluIG9mdCBrZWluZW4gQm9kZW4genUgZ2ViZW4gdW5kIGF1Y2gga2VpbmVuIFdlZywgd2FzCmV0d2FzIGlycml0aWVyZW5kIHNlaW4ga29lbm50ZS4KCkdydXNzLApDb3JuaG9saW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXIgVGlwIGFscyBTY2h1dHogdm9yIHZlcmdlc3NlbmVuIEtlbm53b2VydGVybi4uLiAoWm9vaywgMjAuIEFwciAyMDA1LCAwOTowNzowMSk6CkVzIGtvbW10IG9lZnRlcnMgdm9yLCBkYXNzIGVpbiBTcGllbGVyIG5hY2ggbGFlbmdlcmVyIFplaXQgZWlubWFsIHdpZWRlcgpoaWVyIGltIE1vcmdlbkdyYXVlbiBzcGllbGVuIG1vZWNodGUsIGRhbm4gYWJlciBzZWluIEtlbm53b3J0IHZlcmdlc3NlbgpoYXQuIEVpbmZhY2ggaGF0IG1hbiBlcyBhbHMgRXJ6bWFnaWVyLCB3ZW5uIG5vY2ggZWluZSBmdW5rdGlvbmllcmVuZGUKRS1NYWlsLUFkcmVzc2UgYW5nZWdlYmVuIGlzdCwgZGFubiBsYWVzc3Qgc2ljaCBkaWUgSWRlbnRpdGFldCByZWxhdGl2Cnp1ZWdpZyBrbGFlcmVuLiBXZW5uIG5pY2h0LCBrYW5uIGRhcyBzY2hvbiBlaW5tYWwgc2Nod2llcmlnIHdlcmRlbiwgaGVyYXVzCnp1IGZpbmRlbiwgb2IgR2FzdDEgd2lya2xpY2ggQW5hdF5XZGVyIGVudHNwcmVjaGVuZGUgU3BpZWxlci9TZWhlciBpc3Q7IG1pdApkZXIgRm9sZ2UsIGRhc3MgZGVyIENoYXJha3RlciBldnRsLiBmdWVyIGltbWVyIHZlcnNjaHVldHQgYmxlaWJ0LiBEYWhlcgptZWluIFRpcDogS29udHJvbGxpZXJ0IGRvY2ggZWlubWFsLCBvYiBiZWkgRXVjaCBub2NoIGVpbmUgYWt0dWVsbGUKRS1NYWlsLUFkcmVzc2UgKCJoaWxmZSBlbWFpbCIpIGhpbnRlcmxlZ3QgaXN0IHVuZCBzZXR6dCBkaWVzZSBnZ2YuIGF1ZiBlaW5lbgpuZXVlbiBXZXJ0IChrYW5uIGphIGF1Y2ggZWluZSBGcmVlbWFpbGVyLUFkcmVzc2Ugc2VpbikuCgpNaXQgZGVtIEJlZmVobCBlbWFpbGFuemVpZ2UgKCJoaWxmZSBlbWFpbGFuemVpZ2UiKSBrYW5uIG1hbiBkYW5uIG5vY2gKZmVzdGxlZ2VuLCB3ZXIgZGllIEUtTWFpbCB6dSBzZWhlbiBiZWtvbW10LiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXQgSmVtYW5kIC4uLiAoUm9sYW5kLCAyMy4gQXByIDIwMDUsIDA5OjA4OjQ3KToKLi4uIG1hbCBuZSBUZWxlZm9ubnVtbWVyIHZvbiBJbGx5PyBXZW5uIGphIGtvZW5udGUgZXIvc2llIG1pciBkYW5uIG1hbCBwZXIKbXVkbWFpbCBzY2hpY2tlbi4hPwoKSW4gZGllc2VtIFNpbm5lIC4uLiBSbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJsYWNrIGNoYW1iZXIgKFJvbGFuZCwgIDEuIE1haSAyMDA1LCAyMToyNTozNCk6CgpOIGJpc3NlbCBndXRlIE11c2lrIG11c3Mgc2VpbiAhCgp+aHR0cDovL3d3dy5ibGFjay1jaGFtYmVyLm5ldC9ob21lLmh0bQoKUm8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNSUEgRXRhaW4gKEx1ZywgMTYuIE1haSAyMDA1LCAyMzo1MjozOSk6CldlaXNzIGVpZ2VudGxpY2ggZWluZXIsIAp3YXMgYXVzIEV0YWluIGdld29yZGVuIGlzdD8KClNrYWwKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIGVpbm1hbCBDaWNlcm9uZSAoQ29ybmhvbGlvLCAyNy4gTWFpIDIwMDUsIDE4OjA5OjMxKToKTmFjaCBkZXIgRGlza3Vzc2lvbiBkYWNodGUgaWNoLCBkYXNzIHdlbmlnc3RlbnMgZGllIFplaWxlCid0ZWlsZSA8eHh4PiBtaXQgaGlsZiBtaXInCiwgd2VsY2hlIG5hY2ggZGVtIE5ldWFubGVnZW4gZWluZXMgU3BpZWxlcnMgZXJzY2hlaW50LApnZWFlbmRlcnQgd3VlcmRlIGluIGV0d2FzIGZyZXVuZGxpY2hlcmVzLiA6KQoKV28ga2FubiBpY2ggZWluIFRpY2tldCBlcm9lZmZuZW4gZGFmdWVyPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2ggZWlubWFsIENpY2Vyb25lIChUYXJhbmlzLCAyNy4gTWFpIDIwMDUsIDE4OjEyOjAxKToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTE3MjEwMTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExNzIxMDE3MQpVbmQgaWNoIGZhZW5kZSBlcyBuYWNoIHdpZSB2b3IgZ3V0LCB3ZW5uIGRvcnQgZWluIEhpbndlaXMga29tbXQsIGRhc3MgZGllCkxldXRlIG5pY2h0IHp1IGVudHRhZXVzY2h0IHNlaW4gc29sbGVuLCB3ZW5uIENpY2Vyb25lcywgZGllIG5lIFdlZ21lbGR1bmcKZ2VzZXR6dCBoYWJlbiBvZGVyIGxhZW5nZXIgaWRsZSBzaW5kLCBsYWVuZ2VyIG5pY2h0IGFudHdvcnRlbi4gOy0pIFVuZCBkYXNzCnNpZSBkYW5uIGVpbmZhY2ggbm9jaCBlaW5lbiBhbmRlcmVuIGFuc3ByZWNoZW4gb2RlciBhdWYgLWFuZmFlbmdlciBuYWNoZnJhZ2VuCnNvbGxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9jaCBlaW5tYWwgQ2ljZXJvbmUgKENvcm5ob2xpbywgMjcuIE1haSAyMDA1LCAxODoxNToyNSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTcyMTAzMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE3MjEwMTcxCklyZ2VuZHdpZSBoYWJlIGljaCBnZXJhZGUgZWluIGRlamEtbHUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1ldHpsZXIgZnVlciBSdWRlbG11ZGRlbiBnZXN1Y2h0IChWZWN0b3IsIDE2LiBKdW4gMjAwNSwgMTc6MTY6MTUpOgoKSm9vIGFtIDI1LjYuIC8yNi42LiBmaW5kZXQgaW4gVWxtIGVpbiBnZW11ZXRsaWNoZXMgUnVkZWxtdWRkZW4Kc3RhdHQuIEJpc2hlcmlnZXMgTGluZS1VcCBpc3QgWndpcmlvbiwgTG9yZCwgRWxqbywgVmVjdG9yLgpEYSBFbGpvIGJpc2hlciBsZWlkZXIgbm9jaCBXYWNrZWxrYW5kaWRhdCBpc3QsIHN1Y2hlbiB3aXIgYXVmCmRpZXNlbSBXZWdlIGVpbmUobikgTXVkZGVyKGluKSBkZXIoZGllKSBub2NoIEx1c3QgYXVmIGRpZXNlcwpFdmVudCBoYXQsIGxpZWJlciBzaW5kIGVzIG5hY2hoZXIgNSBhbHMgbnVyIDMgOikKS2xhciBzb2xsdGUgc2VpbiwgZGFzIHdpciB1bnMgbmljaHQgbWl0IC4uLmFlaC4uIEdhcmRld2FlY2h0ZXJuCm9kZXIgYWVobmxpY2hlbSBhdWZoYWx0ZW4sIGRlciBUYWcgd2lyZCB2b2xsIHNlaW4gbWl0IE5QQwpkaWUgc2FnZW4gd2lyIG1hbDogZWhlciBzZWx0ZW4gYW5nZWdhbmdlbiB3ZXJkZW4uCldlciBzaWNoIGRhcyBhbHNvIHZvbiBkZXIgTHVzdCB1bmQgZGVuIFNraWxzIChybCB1bmQgdmwsCmltbWVyaGluIG11c3MgbWFuIG5hY2ggVWxtIGJycnIpIHp1dHJhdXQgaXN0IGdlcm5lCmVpbmdlbGFkZW4gbWlyIG5lIG1haWwgenUgc2NocmVpYmVuIGZ1ZXIgZGllIERldGFpbC0KRnJhZ2VuLgpJbiBVbmluYWVoZSBnaWJ0cyBVZWJlcm5hY2h0dW5nc21vZWdsaWNoa2VpdCwgZWluZQpyaWNodGlnZSBXb2hudW5nIC0ta2VpbmUgV0ctLSBtaXQgRHVzY2hlLCBCYWQgCnVuZCBLYWZmZWVtYXNjaGluZS4KZmlyc3QgY29tZSBmaXJzdCBzZXJ2ZS4KCi0tVmVjdG9yLS0gaW0gQXVmdHJhZyB2b24gTG9yZC9FbGpvL1p3aXJpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNrZWxldHR3YWxkIGFubm8gMDEgKFZlY3RvciwgMTguIEp1biAyMDA1LCAxNzoxMDoxMyk6Clp1bSBHZWRlbmtlbiBkZXIgVG90ZW4gaW4gZGVyIFBhcmF3ZWx0LTIsIGRlbSBTa2VsZXR0d2FsZCBkZXMgUGFyYWNlbHN1cwp6dSBEcmFrb25pZW4uCgpFaW5zdCBnZXNjaGFoIGVzLCBpbSBKYWhyZSBkZXMgSGVycm4gMjAwMSwgYW0gMTV0ZW4gVGFnZSBkZXMgc2VjaHN0ZW4gCk1vbmF0cy4gTmFjaCBsYW5nZXIgU2NobGFjaHQgdW5kIGZ1cmNodGJhcmVuIE9wZmVybiBhdWYgYWxsZW4gU2VpdGVuCndhciBkaWUgYmlzIGRhdG8gZ3JvZXNzdGUgSGVyYXVzZm9yZGVydW5nIGFuIGRpZSBTcGllbGVyc2NoYWZ0IGdla25hY2t0OgoKTW9nZ2xzIEhhdXMgd3VyZGUgYmV0cmV0ZW4sIGRlciBFaWdlbnR1ZW1lciBkYWhpbmdlbWV0emVsdCB1bmQgYWxsZQpTa2VsZXR0ZSBlaW5nZWdyYWJlbi4gVHlsYWsgaGllbHQgZGFzIGxlZ2VuZGFlcmUgU3plcHRlciBpbiBzZWluZW4gCkhhZW5kZW4uIEFsbGVpbmUgZGllIE9wZmVyIHVudGVyIGRlbiBTcGllbGVybiBpbm5lcmhhbGIgZGVyIGVyc3RlbiBTdHVuZGVuCndhcmVuIGVub3JtLiBFaW4ga2xlaW5lciBBdXN6dWc6CgpbVG9kOkxhcnNdIEVpbiBzY2h3YXJ6ZXMgU2tlbGV0dCBoYXQgZ2VyYWRlIFR5bGFrIHVtZ2VicmFjaHQuIDwyMDoyNTozMz4KW1RvZDpFaW4gc2Nod2FyemVzIFNrZWxldHRdIFdpbGxrb21tZW4gaW0gQ2x1YiwgVHlsYWshIDwyMDoyNTozMz4KW1RvZDpMYXJzXSBFaW4gc2Nod2FyemVzIFNrZWxldHQgaGF0IGdlcmFkZSBFbGVuZGlsIHVtZ2VicmFjaHQuIDwyMDoyNTo0Mz4KW1RvZDpFaW4gc2Nod2FyemVzIFNrZWxldHRdIFdpbGxrb21tZW4gaW0gQ2x1YiwgRWxlbmRpbCEgPDIwOjI1OjQzPgpbVG9kOkxhcnNdIERpZSBzdGFya2VuIEFybWUgZGVzIGR1bmtsZW4gV2FsZGVzIGhhYmVuIGdlcmFkZSBFbGFpbmUgdW1nZWJyYWNodC4KW1RvZDpMYXJzXSA8MjA6MzU6MDM+CltUb2Q6RGllIHN0YXJrZW4gQXJtZSBkZXMgZHVua2xlbiBXYWxkZXNdIFJ1aGUgaW4gdW5zZXJlciB0b2VkbGljaGVuIFVtYXJtdW5nIQpbVG9kOkRpZSBzdGFya2VuIEFybWUgZGVzIGR1bmtsZW4gV2FsZGVzXSA8MjA6MzU6MDM+CltUb2Q6TGFyc10gRWluIHNjaHdhcnplcyBTa2VsZXR0IGhhdCBnZXJhZGUgVHlsYWsgdW1nZWJyYWNodC4gPDIwOjM1OjI1PgpbVG9kOkVpbiBzY2h3YXJ6ZXMgU2tlbGV0dF0gV2lsbGtvbW1lbiBpbSBDbHViLCBUeWxhayEgPDIwOjM1OjI1PgpbVG9kOkxhcnNdIEVpbmUgS3JhbmtoZWl0IGhhdCBnZXJhZGUgS2FtdWkgdW1nZWJyYWNodC4gPDIwOjM1OjQ1PgpbVG9kOkVpbmUgS3JhbmtoZWl0IHZlcmxpZWYgdG9lZGxpY2guIDwyMDozNTo0NT5dCltUb2Q6S2FtdWldIEhtbW0uIDwyMDozNTo0NT4KW1RvZDpMYXJzXSBFaW4gc2Nod2FyemVzIFNrZWxldHQgaGF0IGdlcmFkZSBFbGFpbmUgdW1nZWJyYWNodC4gPDIwOjUyOjE5PgpbVG9kOkVpbiBzY2h3YXJ6ZXMgU2tlbGV0dF0gV2lsbGtvbW1lbiBpbSBDbHViLCBFbGVuZGlsISA8MjA6NTI6MTk+CltUb2Q6TGFyc10gRWluIHNjaHdhcnplcyBTa2VsZXR0IGhhdCBnZXJhZGUgRm9vYmFyIHVtZ2VicmFjaHQuIDwyMDo1MjoyMT4KW1RvZDpFaW4gc2Nod2FyemVzIFNrZWxldHRdIFdpbGxrb21tZW4gaW0gQ2x1YiwgRm9vYmFyISA8MjA6NTI6MjE+CltUb2Q6TGFyc10gRWluIHNjaHdhcnplcyBTa2VsZXR0IGhhdCBnZXJhZGUgUGl0ZmFsbCB1bWdlYnJhY2h0LiA8MjE6NDk6MjA+CltUb2Q6RWluIHNjaHdhcnplcyBTa2VsZXR0XSBXaWxsa29tbWVuIGltIENsdWIsIFBpdGZhbGwhIDwyMTo0OToyMD4KW1RvZDpMYXJzXSBEaWUgc3RhcmtlbiBBcm1lIGRlcyBkdW5rbGVuIFdhbGRlcyBoYWJlbiBnZXJhZGUgRGFya3dpbmcKW1RvZDpMYXJzXSB1bWdlYnJhY2h0LiA8MjE6NTk6NDc+CltUb2Q6RGllIHN0YXJrZW4gQXJtZSBkZXMgZHVua2xlbiBXYWxkZXNdIFJ1aGUgaW4gdW5zZXJlciB0b2VkbGljaGVuIFVtYXJtdW5nIQpbVG9kOkRpZSBzdGFya2VuIEFybWUgZGVzIGR1bmtsZW4gV2FsZGVzXSA8MjE6NTk6NDc+CltUb2Q6TGFyc10gRGVyIEJvZGVuIGVpbmVzIHRpZWZlbiBTY2hhY2h0ZXMgaGF0IGdlcmFkZSBFbGFpbmUgdW1nZWJyYWNodC4KW1RvZDpMYXJzXSA8MjI6MTE6MTE+CltUb2Q6RGVyIEJvZGVuIGVpbmVzIHRpZWZlbiBTY2hhY2h0ZXMgd2FyIGRpZSBVcnNhY2hlIGVpbmVyIHNlaHIgcGxvZXR6bGljaGVuCiAgICAgQnJlbXN1bmcgbmFjaCBlaW5lbSBsYW5nZW4gRmFsbC4gSGF0IHdvaGwgd2VoIGdldGFuLiA8MjI6MTE6MTE+XQpbVG9kOkxhcnNdIEVpbiBzY2h3YXJ6ZXMgU2tlbGV0dCBoYXQgZ2VyYWRlIERlZXBibHVlIHVtZ2VicmFjaHQuIDwyMjoxMTo1MT4KW1RvZDpFaW4gc2Nod2FyemVzIFNrZWxldHRdIFdpbGxrb21tZW4gaW0gQ2x1YiwgRGVlcGJsdWUhIDwyMjoxMTo1MT4KCk5pY2h0IHdlbmlnZXIgYWxzIDE3IFNwaWVsZXIgbWFjaHRlbiBzaWNoIGF1ZiBkaWUgdm9uIGRlbSBNYWdpZXIgZ2VzdGVsbHRlCkh1ZXJkZSBrbmFwcCBlaW4gSmFociBuYWNoIEFuc2NobHVzcyB6dSBuZWhtZW4uIERhcyBtZWluZXMgV2lzc2VucyBlcnN0ZQpHZWJpZXQgaW4gUGFyYS0yIHd1cmRlIHZvbiBOUENzIGdlc2FldWJlcnQsIGRpZSBTcGllbGVyIGhhdHRlbiBiZXdpZXNlbiBkYXMKYWxsZXMgZXhpc3RpZXJlZGUgbWV0emVsYmFyIHdhci4KCk51biBzaW5kIDQgSmFocmUgaW5zIExhbmQgZ2VnYW5nZW4uIEVzIGlzdCB3aWVkZXIgYW4gZGVuIE1hZ2llcm4gZWluZQpuZXVlIEhlcmF1c2ZvcmRlcnVuZyB6dSBzY2hhZmZlbjsgZXR3YXMgZGFzIGRlbiBSdWYgZGVzIFVubW9lZ2xpY2hlbiBoYWJlbgpzb2xsdGUsIGRlciBoZWlsaWdlIEdyYWwgZGVyIE1ldHplbGt1bnN0LiBEaWUgU3BpZWxlcnNjaGFmdCB3aXJmdCBoaWVybWl0CmRlbiBNYWdpZXJuIGRlbiBGZWhkZS1IYW5kc2NodWggdW5kIGZvcmRlcnQgZWluIEdlYmlldCBkYXMgUGFyYS0zIHd1ZXJkaWcKaXN0LiBGcm9oZXMgR2VsaW5nZW4gOi0pCgotLVZlY3Rvci0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2tlbGV0dHdhbGQgYW5ubyAwMSAoSHVtbmksIDE4LiBKdW4gMjAwNSwgMTc6MTk6MzEpOgp+IyEgcm49VmVjdG9yIHJ0PTExMTkxMDc0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCkljaCBiaW4gZHJhbiA7LSkga2FubiBhYmVyIG5peCB2ZXJzcHJlY2hlbi4gSWNoIGJyYXVjaCBuaWNodG1hbCBuZSBQYXJhd2VsdApkYWZ1ZXIuIER1IGthbm5zdCBzbyBsYW5nZSBhbiBPY2h1emtpYW4gdWViZW4gOy0pCgpIdW1uaQpQUzogTml4IHZlcnNwcmVjaGVuIGhlaXNzdCwgaWNoIHNhZyBub2NoIGtlaW5lbiBUZXJtaW4uIFVuZCBpY2ggc2V0emUgaW0KWndlaWZlbCBlaCBlaGVyIGF1ZiBNYXNzZSBhbHMgYXVmIEtsYXNzZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2tlbGV0dHdhbGQgYW5ubyAwMSAoQXJhdGhvcm4sIDE4LiBKdW4gMjAwNSwgMTc6MjA6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTExOTEwNzk3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTkxMDc0MTMKTWFzc2Ugc3RhdHQgS2xhc3NlIGhhdCBhdWNoIFBhcmFjZWxzdXMgc2Nob24gc28gZ2VoYW5kaGFidC4gOy0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2tlbGV0dHdhbGQgYW5ubyAwMSAoVmVjdG9yLCAxOC4gSnVuIDIwMDUsIDE3OjIyOjI3KToKfiMhIHJuPUh1bW5pIHJ0PTExMTkxMDc5NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCgpobSBPY2h1emtpYW4uIElzdCBpcmdlbmR3aWUgYmlzc2wga29taXNjaC4gU2VpdCBkYSBkaWVzZXIgdG9sbGUKU3BpZWxlciBlaW5zdCBzZWluZW4gTWFnaWVyIGVpbmdlbG9nZ3QgaGF0LCBPY2h1emtpYW4gYXVmIDEgTFAKZ2VzZXR6dCBoYXQsIGRhbm4gc2VpbmVuIFNwaWVsZXIgZWluZ2Vsb2dndCBoYXQgdW5kIGlobiB1bWdlYmxhc2VuCmhhdC4gTWl0IHNvbGNoZW4gTGV1dGUgd2lsbCBpY2ggZWlnZW50bGljaCBuaWNodCBrb25rdXJyaWVyZW4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTa2VsZXR0d2FsZCBhbm5vIDAxIChEYXJrbG9yLCAxOC4gSnVuIDIwMDUsIDE5OjIzOjU3KToKfiMhIHJuPVZlY3RvciBydD0xMTE5MTA4MTQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpEZXIgaGF0IGltbWVybm9jaCBudXIgMSBMUD8gLSBOYSBkYW5uIGxvcyBhYiBkYWhpbiEKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTa2VsZXR0d2FsZCBhbm5vIDAxIChBbWFyeWxsaXMsIDE4LiBKdW4gMjAwNSwgMjA6MzE6MTMpOgp+IyEgcm49VmVjdG9yIHJ0PTExMTkxMDc0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCkhhY2hqYSwgZGFzIHdhcmVuIG5vY2ggWmVpdGVuLi4uCkFscyBlaW4gZ2V3aXNzZXIgVGFuamlhbiAoZGFtYWxzIG5vY2ggc3RhcmspIGRlbiBlcnN0ZW4gTW9nZ2wga2lsbHRlLi4uCgpBbWEqLCBpbiBFcmlubmVydW5nZW4gc2Nod2VsZ2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNrZWxldHR3YWxkIGFubm8gMDEgKFBpdGZhbGwsIDE4LiBKdW4gMjAwNSwgMjA6NDc6NTUpOgp+IyEgcm49VmVjdG9yIHJ0PTExMTkxMDgxNDcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCk9jaHV0emtpYW4gaXN0IGF1Y2ggbWluZGVzdGVucyBlaW5tYWwgcmVndWxhZXIgZ2VmYWxsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTa2VsZXR0d2FsZCBhbm5vIDAxIChWZWN0b3IsIDE4LiBKdW4gMjAwNSwgMjA6NTI6MzEpOgp+IyEgcm49UGl0ZmFsbCBydD0xMTE5MTIwNDc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpTbyB3aWUgZGVyIFBhcmFCYWxyb2cgbWl0IEV4a2FsaWJ1cnNjaHdlcnQgaW4gZGVyIFRlc3RwaGFzZT86KQpOZSBlcm5zdGhhZnQ6IERhcyBkZXIgYXVjaCBtYWwgcmVndWxhZXIgZ2VmYWxsZW4gaXN0IGhhdCBqYSAKa2VpbmVyIGJlc3RyaXR0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2tlbGV0dHdhbGQgYW5ubyAwMSAoQmFtYmksIDE5LiBKdW4gMjAwNSwgMTA6MzI6MTIpOgp+IyEgcm49VmVjdG9yIHJ0PTExMTkxMDc0MTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCldlbm4gbWFuIGluIFBhcmEtWCBhbnNjaGxpZXNzZW4gbXVzcywgZGFtaXQgaWhyIG1ldHplbG4gZ2VodDogZGFubiBnZWh0IGhhbHQKbmljaHQgbWV0emVsbi4KCkFuc29uc3RlbjogV2FlcnN0IER1IGFuIGVpbmVyIChzY2hvbiBnZXBsYW50ZW4pIEVyd2VpdGVydW5nIGRlcyBPZ2Vyd2FsZHMKaW50ZXJlc3NpZXJ0IG9kZXIgZmFuZGVzdCBEdSBkYXMgenUgQmx1ZW1jaGVuIHBmbHVlY2tlbi1sYXN0aWc/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNrZWxldHR3YWxkIGFubm8gMDEgKFZlY3RvciwgMTkuIEp1biAyMDA1LCAxMjoyNDo1Nyk6Cn4jISBybj1CYW1iaSBydD0xMTE5MTY5OTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpbIF0gRHUgaGFzdCBkaWUgQXVzc2FnZSBkZXMgQXJ0aWtlbHMgdmVyc3RhbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNrZWxldHR3YWxkIGFubm8gMDEgKFd1cnplbCwgMjAuIEp1biAyMDA1LCAxMTo0MTo0MCk6Cn4jISBybj1WZWN0b3IgcnQ9MTExOTE3NjY5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTkxMDc0MTMKb2NodXR6a2lhbiBpc3QgbmFjaCBsb2dmaWxlIGJpc2hlciBnZW5hdSBlaW5tYWwgZ2VmYWxsZW4uIHVuZCBpY2ggZ2xhdWJlCm5pY2h0LCBkYXNzIGRhIGRlciBlbnRzcHJlY2hlbmRlIG1hZ2llciBkZXMgc3BpZWxlcnMgbWl0IGltIHNwaWVsIHdhciwgZGVuIApnYWIgZXMgZGFtYWxzIHNvIG5vY2ggbmljaHQuCmF1c3NlcmRlbSB3dWVyZGUgZXMgbWljaCB3dW5kZXJuLCB3ZW5uIGRlciB0cmljayB3aWUgYmVzY2hyaWViZW4gZ2VoZW4Kd3VlcmRlLCBhYmVyIGRhcyBpc3Qgd2FzIGFuZGVyZXMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNrZWxldHR3YWxkIGFubm8gMDEgKEJvaW5nLCAyMC4gSnVuIDIwMDUsIDEyOjM0OjUwKToKfiMhIHJuPVd1cnplbCBydD0xMTE5MjYwNTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpEdSBrZW5uc3QgZG9jaCBkaWUgTGVnZW5kZW5iaWxkdW5nIGltIE1vcmdlbkdyYXVlbiAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2tlbGV0dHdhbGQgYW5ubyAwMSAoT2dvLCAyMC4gSnVuIDIwMDUsIDIzOjMxOjQyKToKfiMhIHJuPVd1cnplbCBydD0xMTE5MjYwNTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpVbWdlaGF1ZW4gd3VyZGUgT2NoKiB2b24gQnJvdG5hZWwgKGRhbWFscyBBYndlaHJtYWdpc3RlcikgUGl0ZmFsbCB1bmQgRWxkYXJvbgptaXQgSGlsZmUgdm9uIEh1bmtlbCAoU2NodXR6aGFuZCkgdW5kIG5vY2ggaXJnZW5kZWluZW0gWndlaXRlIGZ1ZXIgSHVlbGxlbi4gSW0KUmF1bSB3YXJlbiBpbW1lciBudXIgZGllIGRyZWkgZXJzdGdlbmFubnRlbiwgZXMgd3VyZGUgbWl0IFRlYW1yZWloZW4KZ2VhcmJlaXRldC4gRGVuIFJlc3QgZGVyIFRha3RpayBkdWVyZnQgaWhyIGV1Y2ggc2VsYnN0IGF1c2tub2JlbG4sIGFiZXIgZXMgaGF0CmlpcmMgY2EuIDItM2ggZ2VkYXVlcnQuIFZlcm11dGxpY2ggd3VlcmRlIGVzIHNvIGF1Y2ggbmljaHQgbWVociBmdW5rdGlvbmllcmVuLgpVbmQgV3VyemVsIGhhdCBnYW56IHJpY2h0aWcgZXJrYW5udCwgbWljaCAoPU9nbykgZ2FiIGVzIGRhbWFscyBub2NoIG5pY2h0LiAKCk9jaHV0emtpYW4gZ2lidCB1ZWJyaWdlbnMgemllbWxpY2ggZ3V0ZSBTdHVwc2UuLi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTa2VsZXR0d2FsZCBhbm5vIDAxIChXdXJ6ZWwsIDIxLiBKdW4gMjAwNSwgMDk6MTE6MjkpOgp+IyEgcm49T2dvIHJ0PTExMTkzMDMxMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCmZhbGxzIGRpZSBkYW1hbGlnZSB0YWt0aWsgbmljaHQgbWVociBmdW5rdGlvbmllcmVuIHNvbGx0ZSwgbGllZ3QgZXMgYWJlciBuaWNodAphbiBkZW0gZHJhY2hlbi4gaG9lY2hzdGVucyBhbiB6d2lzY2hlbnplaXRsaWNoZW4gZ2lsZGVuYWVuZGVydW5nZW4sIGRhcyB3ZWlzcwppY2ggbmljaHQuIGFiZXIgZWlnZW50bGljaCBoZWlzc3QgZXMgZG9jaCwgZGllIHJ1ZXN0dW5nc3NwaXJhbGUgZHJlaHQgaW1tZXIKc2NobmVsbGVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTa2VsZXR0d2FsZCBhbm5vIDAxIChUdXJibywgMjEuIEp1biAyMDA1LCAyMDozMjo1MSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExOTMzNzg4OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTkxMDc0MTMKSXN0IGVpZ2VudGxpY2ggc2NoYWRlLCB3ZW5uIGVzIG5vZ28tTW9uc3RlciBnaWJ0LiBJY2ggYmluIGphIGltbWVyIGJlcmVpdCwKZWluIHBhYXIgVG9kZSBlaW56dWthbGt1bGllcmVuIChzY2hvbiB3ZWlsIGljaCBtaWNoIGltbWVyIHNvIGRvb2YgYW5zdGVsbGUKKmcqKSwgYWJlciB3ZW5uIHNjaG9uIGRpZSBzdGFlcmtzdGVuIFNwaWVsZXIgbWVpbmVuLCBkYXMgd2FlciBuaXgsIGlzdCAKZXMgZWhlciB1bmJlZnJpZWRpZ2VuZC4KVmllbGxlaWNodCBzb2xsdGVzdCBEdSBkb2NoIG1hbCBhbiBkZW0gVmllY2ggc2NocmF1YmVuLCBzbyBkYXNzIGF1Y2gKZWluIGtsZWluZXIgS2F0ZXIgYXVmIGRpZSBkdW1tZSBJZGVlIGtvbW10LCBlcyBtYWwgenUgcmlza2llcmVuLgoKR3J1c3MsIFR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNrZWxldHR3YWxkIGFubm8gMDEgKFd1cnplbCwgMjIuIEp1biAyMDA1LCAwOTowMjoxNik6Cn4jISBybj1UdXJibyBydD0xMTE5Mzc4NzcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwp2aWVjaGVyLCBhbiBkZW5lbiBrbGVpbmUga2F0ZXIgc2ljaCB2ZXJzdWNoZW4ga29lbm5lbiwgZ2lidCBlcyBkb2NoIGdlbnVnLgpkZXIgZHJhY2hlIHdhciB2b24gdm9ybmVoZXJlaW4gbmljaHQgZGF6dSBnZWRhY2h0LCBhbGxlaW4gYmVrYWVtcGZ0IHp1CndlcmRlbiwgc29uZGVybiBpbSB0ZWFtLiBkYXNzIGVzIG1pdCBkcmVpIGxldXRlbiBnZWh0LCBoYXQgbWFuIGphIGdlc2VoZW4uCndvIGdlbmF1IGlzdCBqZXR6dCBub2NobWFsIGRlaW4gcHJvYmxlbT8Kd2VubiBkdSBkaWNoIHZvbiAic3RhZXJrc3RlbiBzcGllbGVybiIgZWluc2NodWVjaHRlcm4gbGFlc3N0LCBpc3QgZGFzIGRlaW5lCnNhY2hlLCBkZXN3ZWdlbiB3ZXJkIGljaCBuaWNodHMgc2NocmF1YmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTa2VsZXR0d2FsZCBhbm5vIDAxIChSYW5nb3JuLCAyMi4gSnVuIDIwMDUsIDExOjUzOjA5KToKfiMhIHJuPVd1cnplbCBydD0xMTE5NDIzNzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpJc3QgZG9jaCBlaWdlbnRsaWNoIGF1Y2ggZ2FueiBlaW5mYWNoLiBXZW1zIG5pY2h0IGdlZmFlbGx0LCBkZXIgZ2VodCBuaWNodApoaW4uIDpvKQoqcHJha3RpemllcnQgZGFzIHNlaXQgbGFlbmdlcmVtKgoKLSBSYW5nb3JuIEtodXInVGlncmVzLCBkaWUgSGFyZGNvcmUtQmx1ZW1jaGVucGZsdWVja2VyaW4gLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2ljZXJvbmUsIEVOQ09SRSAoQ29ybmhvbGlvLCAyNC4gSnVuIDIwMDUsIDEwOjU0OjE2KToKQWxzbywKCndlciBlcmJhcm10IHNpY2ggdW5kIGZvcm11bGllcnQgdmllbGxlaWNodCBkZW4KQmVpc3BpZWxzYXR6ICJoaWxmIG1pciIgdW0genUgIkJpdHRlIGhpbGYgbWlyIiBvZGVyCiJPaCBncm9zc2VyLCB0b2xsZXIgSGVuZ3N0LCBpY2ggdW5mYWVoaWdlciBNdWRkZXIgd2FnZSBlcyBuaWNodCwKRXVjaCBkaXJla3QgYW56dXNjaGF1ZW4sIGRhcnVtIHNjaGlja2UgaWNoIGRpZXNlIE1pdHRlaWx1bmcgdW5kCmhvZmZlIGF1ZiBWZXJzdGFlbmRuaXMgdW5kIEhpbGZlLiIgPwoKR3J1c3MgdW5kIHRyb3BmdCBuaWNodCBzbyBmdWVsbGUgYXVmIGV1cmUgVGFzdGEsCkMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2ljZXJvbmUsIEVOQ09SRSAoQnJhbiwgMjQuIEp1biAyMDA1LCAxMDo1OToxOCk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExOTYwMzI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTk2MDMyNTYKRGFmdWVyLiBEaWVzZXIgU2F0eiBrbGluZ3Qgd2llIGVpbiBXaW5zZWxuLiBTbyBzb2xsdGUgbmllbWFuZCBzZWluCk11ZGRlci1MZWJlbiBiZWdpbm5lbiBtdWVzc2VuLgpCcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2ljZXJvbmUsIEVOQ09SRSAoR2FieWxvbiwgMjQuIEp1biAyMDA1LCAxNjoyMzozNyk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExOTYwMzI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMTk2MDMyNTYKZGFzIGdlZWVlaHQgYWxsZXMgbmljaHQgc28gc2NobmVsbC4KCjEuIGlzdCBkZXIgdGhyZWFkIGVyc3QgZHJlaSBtb25hdGUgaGVyIHVuZCB1bnMgc3RlaGVuIG1pbmRlc3RlbnMgbm9jaAogICB6d2VpIHdpZWRlcmhvbHVuZ2VuIGRlc3NlbGJlbiBhbiwgYmlzIF9pcmdlbmRldHdhc18gcGFzc2llcnQuCjIuIG11ZXNzZW4gZXJzdCBub2NoIGRpZSBiYWV1bWUgZ2VwZmxhbnp0IHdlcmRlbiwgZGVyZW4gZmFzZXJuIHp1IGRlbQogICBwYXBpZXIgZGVyIGFudHJhZ3N2b3JsYWdlbiBmdWVyIGRpZSBhZW5kZXJ1bmcgZGVzICJoaWxmIG1pciIgd2VyZGVuLgoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENpY2Vyb25lLCBFTkNPUkUgKE11YWRpYiwgMjQuIEp1biAyMDA1LCAxNzozMDoyMyk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMTk2MjMwMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5NjAzMjU2CjMuIGhhYmUgaWNoIG5vY2ggbmljaHQgYXVzZ2VzY2hsYWZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU2tlbGV0dHdhbGQgYW5ubyAwMSAoS2VsbHlidW5keSwgIDEuIEp1bCAyMDA1LCAyMToxODowOSk6Cn4jISBybj1SYW5nb3JuIHJ0PTExMTk0MzM5ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTE5MTA3NDEzCkhtbW0gYWJlciB3YXMgaXN0IG1pdCBkZW4gd3VlcnN0ZW4sIGRpZSBtaXQgZGVtIGtvcGYgZHVyY2ggZGllIHdhbmQgd29sbGVuLCBzbwp3aWUgaWNoPyA7LVAKCkJsb2VeSG5kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNrZWxldHR3YWxkIGFubm8gMDEgKERhcmtsb3IsICAxLiBKdWwgMjAwNSwgMjE6Mjc6MDMpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTIwMjQ1NDg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTExOTEwNzQxMwpEaWUgd2VyZGVuIHNpY2ggZGllIFJ1ZWJlIHplcm1hbnNjaGVuLi4uCgpvZGVyIGVzIGlyZ2VuZHdhbm4gbWFsIHNjaGFmZmVuLi4uICh6LkIuIHdlbm4gZGllIEhvZWxsZSBnZWZyaWVydCBvZGVyIHNvIDspKQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVjaHRzY2hyZWlicmVmb3JtIChHYWJ5bG9uLCAgOC4gQXVnIDIwMDUsIDAxOjQxOjE0KToKZGEgdm9yIGVpbiBwYWFyIHRhZ2VuIGRpZSByZWNodHNjaHJlaWJyZWZvcm0gaW4gdmllbGVuIGJ1bmRlc2xhZW5kZXJuCm51biBlbmRndWVsdGlnIGluIGtyYWZ0IGdldHJldGVuIGlzdCwgbmVobWUgaWNoIGRhcyBtYWwgenVtIGFubGFzcyB1bmQKcG9zdGUgZm9sZ2VuZGVuIGFydGlrZWwsIGRlciwgc28gZ2xhdWJlIGljaCwgaGllciBpcmdlbmR3YW5uIHNjaG9ubWFsCmRyaW4gc3RhbmQuLi4gYWJlciB2aWVsbGVpY2h0IGtlbm5lbiBpaG4gamEgbm9jaCBuaWNodCBhbGxlLgoKLS0tIHNuaXAgLS0tCgpSZWZvcm0gZGVyIGRldXRzY2hlbiBSZWNodHNjaHJlaWJ1bmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoxLiBTY2hyaXR0OiBXZWdmYWxsIGRlciBHcm9zc3NjaHJlaWJ1bmcKCmVpbmVyIHNvZm9ydGlnZW4gZWluZnVlaHJ1bmcgc3RlaHQgbmljaHRzIGltIHdlZywgenVtYWwgc2Nob24gdmllbGUKZmlybWVuIHp1ciBrbGVpbnNjaHJlaWJ1bmcgdWViZXJnZWdhbmdlbiBzaW5kLgoKCjIuIHNjaHJpdHQ6IHdlZ2ZhbGwgZGVyIGRlaG51bmdlbiB1bmQgdmVyc2NoYWVyZnVuZ2VuCgpkaXNlIG1hc25hbWUgZWxpbWluaXJ0IHNjaG9uIGRpIGdyb2VzdGUgZmVsZXJ1cnNhY2hlIGluIGRlciBwcmltYWVyc2NodWxlLgpkZW4gc2luIHVuZCB1bnNpbiB1bnNlcmVyIGRlbnVuZ2VuIHVuZCBkZXIgdmVyZG9wZWx1bmcgdm9uIGtvbnNvbmFudGVuCmhhdCBvbmVoaW4gbmltYW5kIGthcGlydC4KCgozLiBzY2hyaXQ6IHYgdW5kIHBoIHdlcmRlbiBkdXJjaCBmIGVyc2V0enQ7IHosIHR6IHVuZCBzY2ggd2VyZGVuIGR1cmNoIHMKICAgZXJzZXR6dAoKZGFzIGFsZmFiZXQgd2lyZCB1bSBzd2VpIGJ1Y2hzdGFiZW4gcmVkdXNpcnQuIHNyZWlibWFzaW5lbiB1bmQKc2VzbWFzaW5lbiBmZXJlaW5mYWNoZW4gc2ljaC4KCgo0LiBzcml0OiBxLCBjIHVuZCBjaCB3ZXJkZW4gZHVyY2ggayBlcnNlc3Q7IGogdW5kIHkgd2VyZGVuIGR1cmNoIGkKICAgZXJzZXN0OyBwZiB3aXJkIGR1cmNoIGYgZXJzZXN0CgppZXN0IHNpbmQgc29uIHNla3MgYnVrc3RhYmVuIGF1c2dlc2FsdGV0LiBkaSBzdWxzZWl0IGthbiBzb2ZvcnQgZm9uIGFrdAphdWYgc3dlaSBpYXJlIGZlcmt1ZXJzdCB3ZXJkZW4uIGFuc3RhdCBha3NpayBwcm9zZW50IHNwcmFrdW50ZXJpa3Qga29lbmVuCm51ZXNsaWtlcmUgZmFla2VyIHdpIGZpc2lrLCBrZW1pIG9kZXIgcmVrbmVuIG1lciBnZWZsZWd0IHdlcmRlbi4KCgo1LiBzcml0OiB3ZWdmYWwgdm9uIGFlLCBvZSB1bmQgdWUsIHNvd2kgd2VnZmFsIGRlciBzZWlrZW5zZXN1bmcKCmFsZXMgdWJlcmZsdXNpZ2UgaXN0IGllc3QgYXVzZ2VtZXJzdCBkaWUgb3J0b2dyYWZpIHdpZWRlciBzbGlrdCB1bmQKZWluZmFrIG5hdHVybGlrIGJlbm90aWd0IGVzIGVpbmlnZSBzZWl0IGJpcyBkaXNlIGZlcmVpbmZha3VuZyB1YmVyYWwKcmlrdGlnIGZlcmRhdXQgaXN0IGZpbGVpa3Qgc2FzdW5nc3dlaXNlIGVpbiBiaXMgc3dlaSBpYXJlIGFuc2xpc2VuZApkdXJmdGUgYWxzIG5ha3N0ZXMgZGkgZmVyZWluZmFrdW5nIGRlciBub2sgc3dpcmlnZXJlbiB1bmQgdW5zaW5pZ2VyZW4KZ3JhbWF0aWsgYW5maXNpcnQgd2VyZGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3J0YWwgZGVyIEZyYXRlcm5pdGFzIChNdWFkaWIsICAxLiBTZXAgMjAwNSwgMDk6Mzg6NDMpOgpIaSwKCmVpbmUgZXJnYWVuemVuZGUgdW5kIHdpY2h0aWdlIEluZm9ybWF0aW9uIHp1IGRlbiBQb3J0YWxlbiBkZXIgRnJhdGVybml0YXMuCkRpZXNlIGR1ZXJmZW4gbmljaHQgaW4gZWluZW0gUGFyYXJhdW0gYXVmZ2VzdGVsbHQgd2VyZGVuIHVuZCB0YXVjaGVuIGF1Y2ggZGFubgpuaWNodCBpbiBlaW5lbSBQYXJhcmF1bSBhdWYsIHdlbm4gc2llIGluIGRlbSB6dWdlaG9lcmlnZW4gTm9ybWFscmF1bQphdWZnZXN0ZWxsdCB3dXJkZW4uClNpZWdsaW5kZSB3aXJkIGluIEt1ZXJ6ZSBiZXN0aW1tdCBldHdhcyBtZWhyIERva3UgZGF6dSBoYWJlbi4KCkdydXNzCk11YWRpYgoKcHM6IGRlciB0ZWxlcG9ydCBpbiBwYXJhIGdlaHQgenVyIHplaXQgbm9jaC4gZGFzIHdpcmQgbmFjaCByZWJvb3QvY3Jhc2ggYW5kZXJzCnNlaW4sIGFsc28gYml0dGUgbmljaHQgZHJhbiBnZXdvZWhuZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb3J0YWwgZGVyIEZyYXRlcm5pdGFzIChNdWFkaWIsICAxLiBTZXAgMjAwNSwgMDk6NDM6NDUpOgp+IyEgcm49TXVhZGliIHJ0PTExMjU1NjAzMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTI1NTYwMzIzCkhpaG8sCgplaW5lIEVyZ2Flbnp1bmcuIFBvcnRhbGUgd2VsY2hlIHZvciBkaWVzZW0gQXJ0aWtlbCBhdWZnZXN0ZWxsdCB3dXJkZW4sIGluIGRlcgpBbm5haG1lIHNpZSBleGlzdGllcnRlbiBhdWNoIGluIFBhcmEsIGtvZW5uZW4gZHVyY2ggQW5mcmFnZSBhbiBtaWNoIHdpZWRlcgpnZWxvZXNjaHQgd2VyZGVuLgoKR3J1c3MKCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKExlaWJpLCAyMi4gT2t0IDIwMDUsIDE0OjQwOjUyKToKfiMhIHJuPVZhbmlvbiBydD0xMTI5OTg0ODI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEyOTk4NDgyNgpkYW5rZSA6KQphYmVyIHdhciBiaXNzY2hlbiBrdXJ6Li4uCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoT2dvLCAyMi4gT2t0IDIwMDUsIDE1OjU0OjM4KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyOTk4OTIzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMjk5ODQ4MjYKV2VpY2hlIHZvbiBtaXIsIGJvZXNlcyBNZWdhc2NobWFycm4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChDcm9mdCwgMjIuIE9rdCAyMDA1LCAxNjo1MjozNyk6Cn4jISBybj1PZ28gcnQ9MTEyOTk4OTI3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMjk5ODQ4MjYKRHUgbXVzc3QgbmljaHQgZHJhdWYgYW50d29ydGVuICwtKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklSQyAoWm9vaywgMjMuIE9rdCAyMDA1LCAxNzoxNToyMSk6CkRhbmsgVmFuaW9ucyBEZWJ1Zy1UYWV0aWdrZWl0IGZ1bmt0aW9uaWVydCBkaWUgSVJDLVNjaG5pdHRzdGVsbGUgd2llZGVyLgpNYW4ga2FubiBhbHNvIHdpZWRlciB1ZWJlciBpcmMuZnJlZW5ldC5kZSBvZGVyIGlyYy5mdS1iZXJsaW4uZGUgb2RlciAKd2Vpc3MgbmljaHQgd2FzIGZ1ZXIgbmVuIElSQy1TZXJ2ZXIgbWl0IGRlbSBNRyBxdWF0c2NoZW4uIDopIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEb3dudGltZSAoTXVhZGliLCAgNy4gTm92IDIwMDUsIDE0OjM5OjM5KToKSGksCgpkYXMgTUcgd2FyIGRvd24sIHdlaWwgaWNoIGFtIEFwYWNoZSBydW1nZXNwaWVsdCBoYWJlIHVuZCBuaWNodCBkYW1pdCByZWNobmV0ZSwKZGFzcyBlYmVuamVuZXIgZGVuIFJlY2huZXIgaW4gU3Rhc2lzIHZlcnNldHp0LgpSZXR0ZXIgSGF0ZSBoYXQgZGFubiBkZW4gUmVjaG5lciB2aWEgS29uc29sZSB3aWVkZXIgcmVhbmltaWVydC4gCkVpbmVuIGdyb3NzZW4gRGFuayBkYWZ1ZXIuCgpFdWNoIHNlaSBoaWVybWl0IGZ1ZXIgZGllIERvd250aW1lIGVpbmUgRW50c2NodWxkaWd1bmcgZ2VicmFjaHQuIEVzIHdhciBrZWluZQpBYnNpY2h0IHVuZCB0dXQgbWlyIGF1Y2ggbGVpZC4gWnVtaW5kZXN0IGVpbiB3ZW5pZyA7KQoKRnVlciBkaWUgTGFuZ3RleHRpZ25vcmllcmVyOiBSZWNobmVyIGRvd24sIE11YWRpYiBzY2h1bGQsIEhhdGUgdG9sbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkZGVybmFjaHd1Y2hzPyAoUGF0cnluLCAxNS4gTm92IDIwMDUsIDA5OjUxOjIwKToKSGkgTGV1dGUsCgpvaCBqZSwgaWNoIG11c3N0ZSBlcnN0IG1hbCB1ZWJlcmxlZ2dlbiB3aWUgbWFuIGRpZSBaZWl0dW5nCmJlZGllbnQsIGFiZXIgZGVyIGFBbmxhc3MgcmVjaHRmZXJ0aWd0IGRpZXMgOykKQW0gU2Ftc3RhZyAyMDowMiBrYW0gSXNhYmVsbCBNaWRvcmkgUGFua3JheiB6dXIgV2VsdC4KV2VyIGlzdCBkYXM/IE51biwgZGFzIGlzdCB1bnNlciBLaW5kLCBMZWliaSB1bmQgUGF0cnluLgooc29ycnkgZnVlciBrb21pc2NoZSBGb3JtYXRpZXJ1bmcsIFdpbmRvd3MtVGVsbmV0IGdlcmFkZSkKRXMgd2llZ3QgMzQyMGdyYW1tIHVucyBpc3QgNTEgY20ga2xlaW4uLi53YXMgZnVlciBlaW4ga2xlaW5lciBXdXJtIDopCkRlciBLYWlzZXJzY2huaXR0IHp3aW5ndCBMZWliaSBsZWlkZXIgbm9jaCBldHdhcyBpbnMgQmV0dCwKYWJlciBGcmVpdGFnIG1lbGRldCBzaWUgc2ljaCBzaWNoZXIgbWFsIHBlcnNvZW5saWNoLgpTbywgbnVuIG11c3MgaWNoIGF1Y2ggc2Nob24gd2llZGVyIGlucyBLcmFua2VuaGF1cywKTXV0dGVyIHVuZCBLaW5kIGFuc3RhdW5lbi4gR3J1ZXNzZSwKCi0tIApQYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWRkZXJuYWNod3VjaHM/IChNYWhhcmV0LCAxNS4gTm92IDIwMDUsIDEwOjEzOjI5KToKfiMhIHJuPVBhdHJ5biBydD0xMTMyMDQ0NjgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzMjA0NDY4MApHcmFhYWFhdHMhCgpKZXR6dCBiZWdpbm50IGRpZSBaZWl0IGRlcyBTY2hsYWZlbnMgaW4gUmF0ZW4sIGRlciBkcmVja2lnZW4gV2luZGVsbiwKTWlsY2hzdGF1cywgRmxhc2NoZW5qb25nbGllcmVyZWllbiwgcGVybWFuZW50IGxhdWZlbmRlciBXYXNjaG1hc2NoaW5lIC4uLiB1bmQKc3R1bmRlbmxhbmdlbiB2ZXJ6dWVja3RlbiBCYWJ5YW5zdGFycmVucy4gIERpZXMgaXN0IGVpbiB0b2xsZXMgSmFociB6dW0KS2luZGVya3JpZWdlbiwgZXMgZ2lidCBuaWNodHMgYmVzc2VyZXMgLSBWaWVsIFNwYXNzIDopCgpNYWhhLCBNdXR0ZXIgYXVzIFVlYmVyemV1Z3VuZwp1bmQgYmVnZWlzdGVydGUgTWlsY2hrdWgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZGRlcm5hY2h3dWNocz8gKFJ1bWF0YSwgMTUuIE5vdiAyMDA1LCAxMDoxNzo0Nyk6Cn4jISBybj1SdW1hdGEgcnQ9MTEzMjA0NjI0MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzIwNDQ2ODAKRHUgaGFzdCBkaWUgS29saWtlbiB2ZXJnZXNzZW4gOy0pCkF1Y2ggZWluIGtvbGxlZ2lhbGVzIEdyYXRzIHZvbiBSdW1hdGEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNdWRkZXJuYWNod3VjaHM/IChBbnRoZWEsIDE1LiBOb3YgMjAwNSwgMTE6MDI6NDMpOgp+IyEgcm49UnVtYXRhIHJ0PTExMzIwNDYyNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwClRqYSBkYW5uIHZpZWwgU3Bhc3MgYmVpbSBLZWluZS1aZWl0LVVuZC1LZWluZW4tU2NobGFmIGhhYmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdWRkZXJuYWNod3VjaHM/IChHcmltbWJvcm4sIDE1LiBOb3YgMjAwNSwgMTE6MTc6MTYpOgp+IyEgcm49QW50aGVhIHJ0PTExMzIwNDg5NjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwClVuZCBuZXR0ZSBJbml0aWFsZW4gaGF0IGRhcyBLaW5kLi4uIFZpZWwgU3Bhc3MgbWl0IGRlbSBrbGVpbmVuIEtvYm9sZCEKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTXVkZGVybmFjaHd1Y2hzPyAoTWllemUsIDE1LiBOb3YgMjAwNSwgMTE6NDU6NDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzIwNDk4MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCgpIZXJ6bGljaGVuIEdsdWVja3d1bnNjaCBhbiBFdWNoIHVuZCBhbGxlcyBHdXRlIGZ1ZXIgRXVjaCBkcmVpLgoKTWllemUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE11ZGRlcm5hY2h3dWNocz8gKEFyaywgMTUuIE5vdiAyMDA1LCAxMTo1ODo0MCk6Cn4jISBybj1NaWV6ZSBydD0xMTMyMDUxNTQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzMjA0NDY4MApEYSBzY2hsaWVzc2UgaWNoIG1pY2ggYW4gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVkZGVybmFjaHd1Y2hzPyAoSHVtbmksIDE1LiBOb3YgMjAwNSwgMTQ6NDI6MjQpOgp+IyEgcm49QXJrIHJ0PTExMzIwNTIzMjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCkljaCBhdWNoIQoKR2x1ZWNrd3Vuc2NoIEV1Y2ggRHJlaWVuIQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZGRlcm5hY2h3dWNocz8gKEtlbGx5YnVuZHksIDE1LiBOb3YgMjAwNSwgMTU6MzM6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzIwNDk4MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCldlbm4gaWhyIHZvbSBHZXNjaHJlaSBuaWNodCBzY2hsYWZlbiBrb2VubnQsIGhpbGZ0IG51ciBtdWRkZW4uIDstKSBHcmF0cwpLZWxseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVkZGVybmFjaHd1Y2hzPyAoRGFya2xvciwgMTUuIE5vdiAyMDA1LCAxNjoxODoyNik6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMzIwNjUyMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCk9oLCB6b2NrZW4gc2llIG5pY2ggbWVociBXb1c/CgpidHcuIEdyYXRzIHVuZCBhbGxlcyBHdXRlIQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVkZGVybmFjaHd1Y2hzPyAoS2VsbHlidW5keSwgMTUuIE5vdiAyMDA1LCAxNjozODo1OSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExMzIwNjc5MDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCklzIGRvY2ggYXVjaCBuZW4gbXVkLiBXZW5uIGF1Y2ggZ3JhcGhpc2NoIHVuZCBkZWthZGVudCB1bmQgZnVlciB3ZWljaHNwdWVsZXIKdW5kIHNpdHpwaW5rbGVyIHVuZCB1ZWJlcmhhdXB0IC4uLiA7LVAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE11ZGRlcm5hY2h3dWNocz8gKE11YWRpYiwgMTUuIE5vdiAyMDA1LCAxODozNjozNSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMzIwNjkxMzkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCmdyYXRzIGFuIGRhcyBibGFnIHp1bSBsZWJlbiB1bmQgZ3JhdHMgYW4gZXVjaCBmdWVyIGRhcyBibGFnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTXVkZGVybmFjaHd1Y2hzPyAoS2Vzc2EsIDE2LiBOb3YgMjAwNSwgMDA6MDQ6MTcpOgp+IyEgcm49TXVhZGliIHJ0PTExMzIwNzYxOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTMyMDQ0NjgwCkhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIGF1Y2ggdm9uIG1pciBhbiBldWNoIGJlaWRlIHVuZCBkZW4ga2xlaW5lbiBLb2JvbGQgLQppZ2VsdCBldWNoIGVpbiB1bmQgZ2VuaWVzc3QgZXVlciBHbHVlY2ssIGRhcyBiaXNzY2hlbiBTY2hsYWZtYW5nZWwgdW5kIGRpZQpwYWFyIGFuZGVyZW4gU2FjaGVuIHN0ZWNrdCBpaHIgYmVpIGRlciBGcmV1ZGUgbG9ja2VyIHdlZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE11ZGRlcm5hY2h3dWNocz8gKFJvYWRydW5uZXIsIDE2LiBOb3YgMjAwNSwgMTI6MTY6NTkpOgp+IyEgcm49S2Vzc2EgcnQ9MTEzMjA5NTg1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzIwNDQ2ODAKCkhlcnpsaWNoZW4gR2x1ZWNrd3Vuc2NoIHp1bSBOYWNod3VjaHMgYXVjaCB2b24gbWlyLiBXYXIgd29obCBkb2NoIGV0d2FzCm11ZWhzYW1lciBhbHMgZXJ3YXJ0ZXQsIHNjaGVpbnQgYWJlciBncmFkZSBNb2RlIHp1IHNlaW4sIEtpbmRlciBhdWYgZGllc2UKV2Vpc2UgenUgYmVrb21tZW4uIERlciBLbGVpbmVuIHdpcmQgc28gYXVjaCBub2NoIGRhcyBUcmF1bWEgZXJzcGFydC4gV2FlciBtYWwKaW50ZXJlc3NhbnQgenUgZXJmYWhyZW4gb2IgZGFzIHNwYWV0ZXIgcHN5Y2hvbG9naXNjaGUgQXVzd2lya3VuZ2VuIGhhdC4KCk1lZXBNZWVwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE11ZGRlcm5hY2h3dWNocz8gKE1haGFyZXQsIDE2LiBOb3YgMjAwNSwgMTM6MDk6NTcpOgp+IyEgcm49Um9hZHJ1bm5lciBydD0xMTMyMTM5ODE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzMjA0NDY4MApKYSwgZGFzIFNhY2hlbi11ZWJlcm4tZGVuLUtvcGYtYW56aWVoZW4gaXN0IG5pY2h0IHNvIHNjaGxpbW0gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWRkZXJuYWNod3VjaHM/IChNaXJpbCwgMTYuIE5vdiAyMDA1LCAxNjoxOToxNCk6Cn4jISBybj1QYXRyeW4gcnQ9MTEzMjA0NDY4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzIwNDQ2ODAKQXVjaCB2b24gbWlyIGRlbiBhbGxlcmhlcnpsaWNoc3RlbiBHbHVlY2t3dW5zY2guIEljaCB3dWVuc2NoIGV1Y2ggZXR3YXMgCndlbmlnZXIgMjEgdHVyYnVsZW50ZSBKYWhyZSwgYWxzIGljaCBzaWUgbWl0IG1laW5lciBUb2NodGVyIGhhdHRlIDspLgoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKFJvbGFuZCwgMjEuIERleiAyMDA1LCAxNzoxMTowOCk6ClZvciBlaW5pZ2VuIFRhZ2VuLCBhbHMgaWNoIG5vY2ggaW0gVXJsYXViIGR1cmNoIGRhcyBCYXlyaXNjaGUgTGFuZCBzdHJlaWZ0ZSwKYmVrYW0gaWNoIHJlbGF0aXYgdmllbCBIdW5nZXIuIFVuZCB3aWUgZGFzIGJlaSBtaXIgaW1tZXIgc28gaXN0LCB3YXJmIGljaCBtaXIKbmF0dWVybGljaCB2aWVsIHp1IHZpZWwgaW4gZGVuIEhhbHMuIERpZSBkb2NoIHJlaWNobGljaGUgTWFobHplaXQgZHJ1ZWNrdGUKZGFubiBhdWNoIHJlY2h0IGhlZnRpZy4gSWNoIGJlZ2FubiB6dSBtYXVsZW4sIGRhIGRlciBXaXJ0IG1pciB3aWVkZXIgdmllbCB6dQp2aWVsIGF1ZiBkZW4gM3RlbiBUZWxsZXIgZ2V0YW4gaGF0IHVuZCBzY2hhdXRlIEthbXBmZXNsdXN0aWcgYXVmIGRlbiBMYW5nZW4KV2VnIHdlbGNoZXIgbWlyIGRhcyBWZXJkYXVlbiwgYmVpbSBTcGF6aWVyZW4gZXJsZWljaHRlcm4gc29sbHRlLiBBbHMgaWNoIG51bgpzY2hvbiBlaW4gZ2FuemVzIFN0dWVjayBkdXJjaCBkZW4gT3J0IHN0cmVpZnRlIG11c3N0ZSBpY2ggbWl0IGVpbmVtIG1hbGUgYW4KZGFzIE1HIGRlbmtlbi4gV2FzIGljaCBkYW5uIHNhaCB3YXIgZmFzdCBlaW4gRmVobGVyLUltLVJhdW0tWmVpdC1HZWZ1ZWdlLgpWZXJrYXVmZW4gbnUgc2Nob24gdW5zZXJlIHVlYmVyIGFsbGVzIGdlbGllYnRlbiBNYWdpZXIgaWhyZSBOYW1lbiBmdWVyIGVpbgpwYWFyIFJMLU11ZW56ZW4/IE9kZXIgc2luZCBzaWUgc2Nob24gc28gYmVrYW5udCBkYXMgbWFuIHNpZSBiZXJlaXRzIFJMIEVocnQ/PwpJc3QgZXMgZWluZmFjaCBTY2hpY2tzYWwsIFp1ZmFsbCBvZGVyIGVpbmZhY2ggbnVyIE1lbnNjaGVud2lsbGt1ZXIgLi4uIEljaAprYW5uIGVzIG5pY2h0IHNhZ2VuLiBBYmVyIGljaCBtb2VjaHRlIGV1Y2ggZGllc2VuIGRvY2ggc29uZGVyYmFyZW4gTW9tZW50IGluCm1laW5lbSBMZWJlbiBuaWNodCBWb3JlbnRoYWx0ZW4uIEVpbiBCZXdlaXNiaWxkIGRpZXNlciBTY2hyZWNrc2VrdW5kZSBmaW5kZXQKaWhyIGhpZXIgLi4uLgoKaHR0cDovL21pdGdsaWVkLmx5Y29zLmRlL1JlZFNoYXJrL21ncGljL2RzY24wNDY3LmpwZwoKRGVyIFRyYXVtIHRyYWV1bXQgZGVuIFRyYWV1bWVyIC4uLi4KCnNhZ3QgbWFuIC4uIHdlbm4gZGFzIFN0aW1tdCwgd2FzIGlzdCBkYW5uIHdhaHI/IERhcyBMZWJlbiBpc3QgZWluIHNwaWVsIHVuZAp3aXIgbGViZW4gZGFzIE1HLiBEYXMgTGViZW4gaXN0IGVjaHQgdW5kIHdpciBTcGllbGVuICBkYXMgTUc/IEV2dGwgVmVybWlzY2h0CnNpY2ggYXVjaCBsYW5nc2FtIGFsbGVzIC4uLgoKUm9sYW5kIC4uLi4gKm5hY2hkZW5rbGljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKFRlcnJ5LCAyMS4gRGV6IDIwMDUsIDE3OjEzOjE2KToKfiMhIHJuPVJvbGFuZCBydD0xMTM1MTgxNDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzNTE4MTQ2OApodHRwOi8vd3d3LmhlaWxpZ2VubGV4aWtvbi5kZS9zdGFydC5odG1sP0Jpb2dyYXBoaWVuUi9Sb2NodXNfdm9uX01vbnRwZWxsaWVyLmgKdG0KVGVycnkuIE1hbCBhdWZrbGFlcmVuZCBzdGF0dCB2ZXJ3aXJydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWd3ZWlzZXIgZGVyIFZlcndpcnJ1bmcgLi4uIChNYWhhcmV0LCAyMS4gRGV6IDIwMDUsIDIxOjUzOjU2KToKfiMhIHJuPVJvbGFuZCBydD0xMTM1MTgxNDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzNTE4MTQ2OApXYWFhaCEgRGFzIG5hZWNoc3RlIE1hbCBkYXMgQmlsZCBiaXR0ZSB2ZXJrbGVpbmVybiA6KQoKRGllIEV4LVN1emUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKEFtYXJ5bGxpcywgMjEuIERleiAyMDA1LCAyMjowOTo1NSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMzUxOTg0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4CldhcnVtPyBXYXIgYmVpIG1pciBzY2hvZW4gYmlsZGZ1ZWxsZW5kLi4uIDopCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZWd3ZWlzZXIgZGVyIFZlcndpcnJ1bmcgLi4uIChNYWhhcmV0LCAyMS4gRGV6IDIwMDUsIDIyOjEwOjMxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTM1MTk5Mzk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzNTE4MTQ2OApNZWluZW4gQmlsZHNjaGlybSBoYXQgZXMgdWViZXJmdWVsbHQuIFVuZCBtZWluZSBJbnRlcm5ldGxlaXR1bmcgYXVjaCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoQW1hcnlsbGlzLCAyMS4gRGV6IDIwMDUsIDIyOjEwOjU5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEzNTE5OTQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzUxODE0NjgKSWYgeW91IGNhbid0IHN0YW5kIHRoZSBoZWF0LCBnZXQgb3V0IG9mIHRoZSBraXRjaGVuIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWd3ZWlzZXIgZGVyIFZlcndpcnJ1bmcgLi4uIChWYW5pb24sIDIxLiBEZXogMjAwNSwgMjI6NTc6MzkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMzUxOTk0NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4CkR1IHVua3N0LCBGZWVjaGVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoUm9sYW5kLCAyMi4gRGV6IDIwMDUsIDAyOjM0OjE0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEzNTE5ODQzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzUxODE0NjgKSG1tbSAtIENsaWVudCByaWNodGlnIGVpbnN0ZWxlbiB1bmQgZGVyIHR1dCBkYXMgdm9uIGFsbGVpbmUgOykgZnVlciBkaWUKZ3JvZXNzZSBrYW5uIGljaCBuaXguIG1hY2ggaW1tYSA0bXAgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWd3ZWlzZXIgZGVyIFZlcndpcnJ1bmcgLi4uIChKaW1kaWdyaXosIDIyLiBEZXogMjAwNSwgMTA6MzQ6MTApOgp+IyEgcm49Um9sYW5kIHJ0PTExMzUxODE0Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4CkRlaW5lIEdlc2NoaWNodGUgd2FyIHNlaHIgc2Nob2VuIGVyemFlaGx0IChiZXNvbmRlcnMgZGllIEVpbmxlaXR1bmcKbWl0IGRlciBWZXJkYXV1bmcpLCBkYWhlciB0dXRzIG1pciBmYXN0IGxlaWQgenUgZnJhZ2VuLCB3YXMgZGVubgpkYXJhbiBzbyB1bmdld29laG5saWNoIGlzdCBlaW5lIFN0cmFzc2UgbmFjaCBlaW5lbSBWb3JuYW1lbiBiZW5hbm50Cnp1IGZpbmRlbi4gVmVybXV0bGljaCBnaWJ0IGVzIGF1Y2ggZGVyZW4gUm9sYW5kc3dlZ2UgdmllbGUgaW4gREUuCihVbnNlciBiZWxpZWJ0ZXIgY29sYXRyaW5rZW5kZXIgTWl0bWFnaWVyIGhlaXNzdCBhdWNoIGluIFJMIG5pY2h0IGFuZGVycy4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKE1haGFyZXQsIDIyLiBEZXogMjAwNSwgMTM6MTQ6MDgpOgp+IyEgcm49Um9sYW5kIHJ0PTExMzUyMTUyNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4CkRhcyBnbGF1YiBpY2ggbmljaHQsIGRhc3MgZGFzIGRhbm4gc2NobmVsbGVyIGxhZWR0IDspCkFiZXIgaWNoIGJsZWliIGphIHNjaG9uIHdlZyB2b24gZGVyIEt1ZWNoZSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoUm9sYW5kLCAyMi4gRGV6IDIwMDUsIDEzOjIwOjE2KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTM1MjQ0MDUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzNTE4MTQ2OApEYXMgd2FyIGVpZ2VubGljaCBkYXMgSGF1cHRhbmxpZWdlbiAuLi4gZXZ0bCBmaW5kZW4gZXMgbWFuY2hlIE1lbnNjaGVuIG1hbAppbnRyZXNzYW50IG5pY2h0IGFsbGVzIHNvIGhhcnQgbmFjaCBmYWt0ZW4genUgc2VoZW4gdW5kIGF1Y2ggbWFsIGVpbiBrbGVpbmUKbGFlY2hlbG4gdWViZXIgZWluZW4gc29sY2hlbiAqd29obCBkdXJjaGF1cyBiZWthbm50ZW4genVmYWxsIHVlYmVyIGRpZSBsaXBwZW4KenUgYmVrb21tZW4gLi4uLgoKUm9sYW5kIC4uLiBudW4gZXR3YXMgZW50dGFldXNjaHQgdWViZXIgZGllIHJlYWxpdGFldAoKUC5TLjogTWFoYSAuLi4gaWNoIGRhY2h0ZSBpbW1lciBncmFkZSBqdW5nZSBNdWV0dGVyIGhvZXR0ZW4gemVpdCA6KSAuLiBiencKYXVzZGF1ZXIgbGFuZ2Ugd2FydGV6ZWl0ZW4gbWl0IGFuZGVyZW4gc2FjaGVuIHp1IHVlYmVyYnJ1ZWtjZW4gKmtudWRkZWxzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoTWFoYXJldCwgMjIuIERleiAyMDA1LCAxMzoyMTozMCk6Cn4jISBybj1Sb2xhbmQgcnQ9MTEzNTI1NDAxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzUxODE0NjgKU2NoYWZmIGRpciBlaW4gS2luZCBhbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoR3JpbW1ib3JuLCAyMi4gRGV6IDIwMDUsIDEzOjIxOjQ0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEzNTI1NDA5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzUxODE0NjgKQmFobnQgc2ljaCBkYSBlaW4gQW5nZWJvdCBhbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2Vnd2Vpc2VyIGRlciBWZXJ3aXJydW5nIC4uLiAoQm9pbmcsIDIyLiBEZXogMjAwNSwgMTM6MjY6MDUpOgp+IyEgcm49Um9sYW5kIHJ0PTExMzUyNTQwMTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4Ckp1bmdlIE11ZXR0ZXIgaGFiZW4gWmVpdD8KV3VhaGFoYWhhYWFhIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKFJvbGFuZCwgMjIuIERleiAyMDA1LCAxMzoyNzoxNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMzUyNTQwOTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM1MTgxNDY4CiA6d2Fja2VsdCBtaXQgZGVtIEhpbnRlcnRlaWwuCgogOm1laW50OiBEZXIgYmxlaWJ0IEp1bmdmcmF1IC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlZ3dlaXNlciBkZXIgVmVyd2lycnVuZyAuLi4gKFpvb2ssIDIyLiBEZXogMjAwNSwgMTQ6MTI6MzQpOgp+IyEgcm49QW5hY3Jpb24gcnQ9MTEzNTI1NzA0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzUxODE0NjgKV2FzIGlzdCBmdWVyIG1pY2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9oZSBXZWlobmFjaHRlbiAoR3JpbW1ib3JuLCAyMy4gRGV6IDIwMDUsIDEwOjIyOjAzKToKQWxsZSBKYWhyZSB3aWVkZXI6IAoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uIApEYXJ1bSBzY2hyaWViIHNpZSBhbiBkaWUgVGFnZXN6ZWl0dW5nICJTdW4iIGVpbmVuIEJyaWVmOgoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICdTdW4nIHN0ZWh0IGlzdCBpbW1lciB3YWhyLiBCaXR0ZSBzYWdlbgpTaWUgbWlyOiBHaWJ0IGVzIGVpbmVuIFdlaWhuYWNodHNtYW5uPyAtIFZpcmdpbmlhIE8nSGFubG9uIgoKRGllIFNhY2hlIHdhciBkZW0gQ2hlZnJlZGFrdGV1ciBGcmFuY2lzIFAuIENodXJjaCBzbyB3aWNodGlnLCBkYXNzIGVyIHNlbGJlcgphbnR3b3J0ZXRlIC0gYXVmIGRlciBUaXRlbHNlaXRlIGRlciAiU3VuIjoKCiJWaXJnaW5pYSwKRGVpbmUga2xlaW5lbiBGcmV1bmRlIGhhYmVuIG5pY2h0IHJlY2h0LiBTaWUgZ2xhdWJlbiBudXIsIHdhcyBzaWUgc2VoZW47IHNpZQpnbGF1YmVuLCBkYXNzIGVzIG5pY2h0IGdlYmVuIGthbm4sIHdhcyBzaWUgbWl0IGlocmVtIGtsZWluZW4gR2Vpc3QgbmljaHQKZXJmYXNzZW4ga29lbm5lbi4gQWxsZXIgTWVuc2NoZW5nZWlzdCBpc3Qga2xlaW47IG9iIGVyIG51biBlaW5lbSBFcndhY2hzZW5lbgpvZGVyIGVpbmVtIEtpbmQgZ2Vob2VydC4gSW0gV2VsdGFsbCB2ZXJsaWVydCBlciBzaWNoIHdpZSBlaW4gd2luemlnZXMgSW5zZWt0LgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4KSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbyBnZXdpc3Mgd2llIExpZWJlCnVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2FubiB1bnNlciBMZWJlbiBzY2hvZW4KdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbiBXZWlobmFjaHRzbWFubgpnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUgUG9lc2llIC0gZ2FyCm5pY2h0cywgd2FzIGRhcyBMZWJlbiBlcnN0IGVydHJhZWdsaWNoIG1hY2h0ZS4gRWluIEZsYWNrZXJyZXN0IGFuIHNpY2h0YmFyZW0KU2Nob2VuZW4gYmxpZWJlIHVlYnJpZy4gQWJlciBkYXMgTGljaHQgZGVyIEtpbmRoZWl0LCBkYXMgZGllIFdlbHQgYXVzc3RyYWhsdCwKbXVlc3N0ZSB2ZXJsb2VzY2hlbi4KRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IER1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgRHUga29lbm50ZXN0IERlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgYmVrYWVtZSBpaG4genUKR2VzaWNodCAtIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4gZWluZmFjaCBzby4gRGFzCmJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdlbiBEaW5nZSBibGVpYmVuIG1laXN0ZW5zIHVuc2ljaHRiYXIuIERpZQpFbGZlbiwgenVtIEJlaXNwaWVsLCB3ZW5uIHNpZSBhdWYgTW9uZHdpZXNlbiB0YW56ZW4uIFRyb3R6ZGVtIGdpYnQgZXMgc2llLiBBbGwKZGllIFd1bmRlciB6dSBkZW5rZW4gLSBnZXNjaHdlaWdlIGRlbm4gc2llIHp1IHNlaGVuLCBkYXMgdmVybWFnIG5pY2h0IGRlcgpLbHVlZ3N0ZSBhdWYgZGVyIFdlbHQuIFdhcyBEdSBhdWNoIHNpZWhzdCwgRHUgc2llaHN0IG5pZSBhbGxlcy4KRHUga2FubnN0IGVpbiBLYWxlaWRvc2tvcCBhdWZicmVjaGVuIHVuZCBuYWNoIGRlbiBzY2hvZW5lbiBGYXJiZmlndXJlbiBzdWNoZW4uCkR1IHdpcnN0IGVpbmlnZSBidW50ZSBTY2hlcmJlbiBmaW5kZW4sIG5pY2h0cyB3ZWl0ZXIuIFdhcnVtPyBXZWlsIGVzIGVpbmVuClNjaGxlaWVyIGdpYnQsIGRlciBkaWUgd2FocmUgV2VsdCB2ZXJodWVsbHQsIGVpbmVuIFNjaGxlaWVyLCBkZW4gbmljaHQgZWlubWFsCmFsbGUgR2V3YWx0IGF1ZiBkZXIgV2VsdCB6ZXJyZWlzc2VuIGthbm4uIE51ciBHbGF1YmUgdW5kIFBvZXNpZSB1bmQgTGllYmUKa29lbm5lbiBpaG4gbHVlZnRlbi4gRGFubiB3aXJkIGRpZSBTY2hvZW5oZWl0IHVuZCBIZXJybGljaGtlaXQgZGFoaW50ZXIgYXVmCmVpbm1hbCB6dSBlcmtlbm5lbiBzZWluLiAKJ0lzdCBkYXMgZGVubiBhdWNoIHdhaHI/JyBrYW5uc3QgRHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuCldlbHQgaXN0IHdhaHJlciB1bmQgbmljaHRzIGJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQsIHVuZCBld2lnCndpcmQgZXIgbGViZW4uIFNvZ2FyIGluIHplaG5tYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyCndpZSBEaWNoIHVuZCBqZWRlcyBvZmZlbmUgSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0LApWaXJnaW5pYS4KRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKCihEZXIgQnJpZWZ3ZWNoc2VsIHp3aXNjaGVuIFZpcmdpbmlhIE8nSGFubG9uIHVuZCBGcmFuY2lzIFAuIENodXJjaCBzdGFtbXQgYXVzCmRlbSBKYWhyIDE4OTcuIEVyIHd1cmRlIHVlYmVyIGVpbiBoYWxiZXMgSmFocmh1bmRlcnQgYmlzIHp1ciBFaW5zdGVsbHVuZyBkZXIKIlN1biIgaW0gSmFocmUgMTk1MCBhbGxlIEphaHJlIHdpZWRlciB6dXIgV2VpaG5hY2h0c3plaXQgYXVmIGRlciBlcnN0ZW4gU2VpdGUKZGVyIFplaXR1bmcgYWJnZWRydWNrdC4pCgoKSWNoIHd1ZW5zY2hlIGFsbGVuIGVpbiBmcm9oZXMgdW5kIGdlc2VnbmV0ZXMgV2VpaG5hY2h0c2Zlc3QhCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIFdlaWhuYWNodGVuISAoWm9vaywgMjQuIERleiAyMDA1LCAxNDozMToyOCk6CkFsbHNlaXRzIHd1ZW5zY2hlIGljaCBFdWNoIGFsbGVuIGZyb2hlIFdlaWhuYWNodGVuIHVuZCBlaW5lbiBndXRlbiBTdGFydAppbnMgbmV1ZSBKYWhyIDIwMDYhIDotKQoKICAgICAgICAgICw6Oy4KICAgICAgICAgLV83Ly9gCiAgICAgICAgIGAuLFxcX19fLCwtLS0uCiAgICAgICAgICAgICBcX19fX18gICAgXF9fXyAgICAgICAgICAgICAgICAgTSBFIFIgUiBZCiAgICAgICAgICAgICAgICAgICBcICAgICAgICIiLiwKICAgICAgICAgICAgICAgICAgICgvLCwvLy98XFxcOzssLS4gICAgICAgICAgIEMgSCBSIEkgUyBUIE0gQSBTCiAgICAgICAgICAgICAgICAgLDs7YCAgXyAgICAgXyBcLS4KICAgICAgICAgICAgICAgICw7O2AgLyBgLCAgLyBgLCAuIFwgICAgICAgICAgICAgRSBWIEUgUiBZIEIgTyBEIFkgIQogICAgICAgICAgICAgICAgXy8gICAnLjsnICIgYC0nIHxgYAogICAgICAgICAgICAgICAgLy8gXCAgICAgICAgICAgIC8KICAgICAgICAgICAgICAgICwvOiBgLl8gICAgICBfLic6YAogICAgICAgICAgICAgICAgICxcYC4gIGAtJ2AtJyAuJy9gCiAgICAgICAgICAgICAgICAgICxcXGAuLi4uLiwuJy8vYCAgICAgICAgICAgICAgICAgICAgICAgICAgXwogICAgICAgICAgICAgICAgICAgLFxcICAgfHwgIC8vYCAgICAgICAgICAgICAgICAgICAgICAgICAgL19cLC0tLwogICAgICAgICAgICAgICAgICAgICxcXC5ffHxfLy9gICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBcX18vCiAgICAgICAgICAgICAgICAgIF9fLy9gXycnJycnXFxfICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBcX19fX18KICAgICAgICAgICAgICAgX18vIF9fLy9fIiJgYCBcXCBcXyAgICAgICAgICAgICAgICAgICBfXC8vLF8gICAgIFwKICAgICAgICAgICAgX18vIF9fL3wgIFxfIiJgIFxcKSAgIFxfICAgICAgICAgICAgICAgICcgLyIvYGAgICAgICBcCiAgICAgICAgIF9fLyBfXy8gICB8ICA7ICcnICAgXClgL1xfIFxfICAgICAgICAgICAgICAgLyAvCiAgICAgX19fLyBfXy8gICAgICAgKSAgOyAgICAgOmAvICAgXF8gXF8gICAgICAgICAgICAvIC8KX19fXy8gX19fLyAgICAgICAgICApICAgOyAgICA6YCAgICAgIFxfIFxfICAgICAgICAgLyAvClwgIF9fLyAgICAgICAgICAgICAgXCAgIDogICAgO2AgICAgICAgIFxfIFxfICAgICAgLyAvCiBcXyBgLS5fXyAgICAgICAgICAgICkgICA6ICAgOyAgICAgICAgICAgXF8gXF8gICAvIC8KICAgYC0uX18gYC0uX19fXy8vICAgIFwgICA7ICA6ICAgICAgICAgICAgIFxfIFxfLyAvCiAgICAgICAgYC0uX19fX18pPT09PS4sKSAgOiAgOyAgICAgICAgICAgICAgIFxfICAvCiAgICAgICAgICAgICAgICBcXFwgIHxcICAgOyAgOyAgICAgICAgICAgICAgICAgXC8KICAgICAgICAgICAgY3RyICAgICgoIC8gICA6ICA7CiAgICAgICAgICAgICAgIF8gXF8oXy8gICAvIDogOwogICAgICAgICAgICAgXy8gX18gICAgICAgfC8gOyA6CiAgICAgICAgICAgXy8gXy8gLyAgL3wgIC8gICA7ICA7CiAgICAgICAgICAvIF8vICAvICApIHwgIHwgICAgOyA6CiAgICAgICAgIC8gLyAgIC8gIC8gIHwgIHwgICAgOyA6CiAgICAgICAgLyAvICAgKCAgKCAgIHwgIHwgICAgOyA6CiAgICAgICAoICggICAgICkgLyAgIHwgIHwgICAgOyA6CiAgICAgICAoICBcICAgIHx8ICAgIHwgL3wgICAgOyA7CiAgICAgICAgXCAgXCAgIHx8ICAgIHwgfHwgICAgIDs6CiAgICAgICAgIFwgIFwgIHx8ICAgIHwgfHwgICAgIDs7CiAgICAgICAgICBcIHwgLF98LiAgIHwgfHwgICAgIDs6CiAgICAgICAgICB8IHwgYGBgYCAgIHwgfHwgICAgIGA6CiAgICAgICAgICB8IHwgICAgICAgIHwgfHwgICAgICA6CiAgICAgICAgICxfLnwuICAgICAgIHwgfHwgICAgICA6LgogICAgICAgICBgYGBgYCAgICAgICB8IHx8ICAgICAgJzpfCiAgICAgICAgICAgICAgICAgICAgIHwgfHwKICAgICAgICAgICAgICAgICAgICAgfCB8fAogICAgICAgICAgICAgICAgICAgICB8IHx8CiAgICAgICAgICAgICAgICAgICAgIHwgfHwKICAgICAgICAgICAgICAgICAgICAgfCB8fAogICAgICAgICAgICAgICAgICAgICB8IHx8CiAgICAgICAgICAgICAgICAgICAgIHwgfHwgICAgICAgICAgICAgICBUSEUKICAgICAgICAgICAgICAgICAgICBcfF98fC8gICAgICAgTiBJIEcgSCBUIE0gQSBSIEUKICAgICAgICAgICAgICAgICAgICAvfC98XFwgICAgICAgICAgICBCRUZPUkUKICAgICAgICAgICAgICAgICAgICAgfCB8fCAgICAgICAgQyBIIFIgSSBTIFQgTSBBIFMKICAgICAgICAgICAgICAgICAgICAgfCB8fCAgICAgICAgICAgIC0gSmFjayAtCiAgICAgICAgICAgICAgICAgICAgIHwgfHwKICAgICAgICAgICAgICAgICAgICAgfCAvLwogICAgICAgICAgICAgICAgICAgICB8fHwKICAgICAgICAgICAgICAgICAgICAgfHx8CiAgICAgICAgICAgICAgICAgICAgIHx8fAogICAgICAgICAgICAgICAgICAgICB8fHwKICAgICAgICAgICAgICAgICAgICAgXGAtYC0uCiAgICAgICAgICAgICAgICAgICAgICAiIiIiImAKCmh0dHA6Ly93d3cua29sdW1idXMuZmkvYXJhbi94bWFzL2phY2suaHRtbAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmFtZXRlciBmdWVyIGRpZSBLYXJ0ZWlsZWljaGVuLUxvZXNjaHVuZyAoSmltZGlncml6LCAxMi4gSmFuIDIwMDYsIDIxOjM5OjExKToKTW9pbiwKCkF1ZmdydW5kIHZvbiBOZXdiaWUtQW5mcmFnZW4gaGFiZSBpY2ggZGllIApQYXJhbWV0ZXIgZnVlciBkaWUgTG9lc2NodW5nIHZvbiAiS2FydGVpbGVpY2hlbiIKZ2VzdWNodCwgYWJlciBsZWlkZXIga2VpbmUga29ua3JldGVuIEluZm9ybWF0aW9uZW4KZ2VmdW5kZW4uCgpMZWRpZ2xpY2ggZGllc2UgRkFROgpodHRwOi8vbWcubXVkLmRlL1JlZ2lvbmVuL3BvbGFyL0ZBUS9mX2thcDUuaHRtCgpFcyBnYWIgYWJlciBlaW5pZ2UgTWFnaWVyLCBkaWUgZGllIEFrdHVhbGl0YWV0CmRlciBkb3J0IGdlbmFubnRlbiBQYXJhbWV0ZXIgYW56d2VpZmVsdGVuLgoKVmllbGxlaWNodCBrYW5uIGplbWFuZCBtYWwgZGllIGFrdHVlbGxlbgpQYXJhbWV0ZXIgaGllciBiZWthbm50IGdlYmVuICh1bmQgZ2dmLiBGQVFzCmFrdHVhbGlzZXJlbiksIGRhbWl0IG1hbiBuZXdiaWVzIGF1Y2gga29ua3JldApzYWdlbiBrYW5uLCB3YXMgc2llIHR1biBtdWVzc2VuLCBkYW1pdCBJaHIKQ2hhcmFjdGVyIG5pY2h0IGRpZXNlciBMb2VzY2h1bmcgenVtIE9wZmVyIGZhZWxsdC4KCkRhbmtlICYgQ2lhbywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJhbWV0ZXIgZnVlciBkaWUgS2FydGVpbGVpY2hlbi1Mb2VzY2h1bmcgKE11YWRpYiwgMTIuIEphbiAyMDA2LCAyMjoyODoxMyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTEzNzA5ODM1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzcwOTgzNTEKRGllIEJlZGluZ3VuZ2VuIHVudGVyIGh0dHA6Ly9tZy5tdWQuZGUvbmV3d2ViL2hpbGZlL2ZhcTUuc2h0bWwjTE9FU0NIRU4gc2luZAprb3JyZWt0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJhbWV0ZXIgZnVlciBkaWUgS2FydGVpbGVpY2hlbi1Mb2VzY2h1bmcgKFRvZGllLCAxMy4gSmFuIDIwMDYsIDA3OjAwOjQ4KToKfiMhIHJuPU11YWRpYiBydD0xMTM3MTAxMjkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEzNzA5ODM1MQpBbHNvIGljaCBrYW5uIGRhIG51ciB2b24gbWlyIHNwcmVjaGVuLCB1bmQgaWNoIGhhYmUgYXVjaCBrbGVpbmVyZSBTcGllbGVyLCBkaWUKYmVzdGltbXQgbmljaHQgX2FsbGVfIGRpZXNlIEtyaXRlcmllbiBlcmZ1ZWxsZW4sIHVuZCB0cm90eiBsYW5nZXIgQWJ3ZXNlbmhlaXQKKDUwMGQpIG5pY2h0IGdlbG9lc2NodCBzaW5kLgpBbHNvIGVudHdlZGVyIHN0aW1tZW4gZGllc2UgS3JpdGVyaWVuIG5pY2h0IHNvIGdhbnogKE11c3MgbWFuIHZpZWxsZWljaHQgbnVyCmVpbmVuIGRpZXNlciBQdW5rdGUgZXJmdWVsbGVuPykgb2RlciBpY2ggc2NobHVlcGZlIGltbWVyIGR1cmNoIGRhcyBTY3JpcHQKZHVyY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJhbWV0ZXIgZnVlciBkaWUgS2FydGVpbGVpY2hlbi1Mb2VzY2h1bmcgKEhpZ2hsYW5kZXIsIDEzLiBKYW4gMjAwNiwgMDg6Mjg6NTApOgp+IyEgcm49VG9kaWUgcnQ9MTEzNzEzMjA0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzcwOTgzNTEKSWNoIGdsYXViZSwgRHUgaGFzdCBkZW4gVGV4dCBmYWxzY2ggdmVyc3RhbmRlbi4gQWxsZSBCZWRpbmd1bmdlbgptdWVzc2VuIGVyZnVlbGx0IHNlaW4sIGRhbWl0IGRpZSBMb2VzY2h1bmcgZ3JlaWZ0LiBBbHNvIGp1ZW5nZXIgYWxzCjEyaCwgd2VuaWdlciBhbHMgMzAgQVAsIC4uLi4uClNvYmFsZCBudXIgZWluIEdyZW56d2VydCB1ZWJlcnNjaHJpdHRlbiB3aXJkLCBibGVpYnQgZGVyIGNoYXIuIEVyCm11c3MgbmljaHQgYWxsZSB1ZWJlcnNjaHJlaXRlbiwgdW0gKm5pY2h0KiBnZWxvZXNjaHQgenUgd2VyZGVuLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWJ5cmludGhlIChMdWcsIDEzLiBKYW4gMjAwNiwgMjA6NTI6NTMpOgpMYWJ5cmludGhlIHNpbmQgZGllIEF1c2ZsdWNodCBkZXIgZ2Vpc3RpZyBBcm1lbiAoTWF0aGVtYXRpa2VyKSwgdW0gZ3V0ZXMKUXVlc3RkZXNpZ24genUgdmVybWVpZGVuLgoKQXMgdXAgc28gZG93bgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYWJ5cmludGhlIChBcmssIDE0LiBKYW4gMjAwNiwgMTQ6Mjk6MjIpOgp+IyEgcm49THVnIHJ0PTExMzcxODE5NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM3MTgxOTczCkxlaWRlciBrb2VubnRlIG1hbiBkYW5uIGRlbiBTY2hsdXNzIHppZWhlbiwgaWNoIHNlaSBpbiBkaWVzZW0gU2lubmUgZ2VzdW5kLgpHaWJ0IHNpY2hlciBad2VpZmVsLCBuYXR1ZXJsaWNoZSBuaWNodCBtZWluZXJzZWl0cyA7LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFieXJpbnRoZSAoWm9vaywgMTQuIEphbiAyMDA2LCAxNTowNjoyMik6Cn4jISBybj1MdWcgcnQ9MTEzNzE4MTk3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMzcxODE5NzMKV28gdW5kIGJlaSB3ZWxjaGVyIEdlbGVnZW5oZWl0IGdlbmF1IGthbSBEaXIgZGllc2UgRXJrZW5udG5pcz8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhYnlyaW50aGUgKEx1ZywgMTQuIEphbiAyMDA2LCAxNzoyMjoyNCk6Cn4jISBybj1ab29rIHJ0PTExMzcyNDc1ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTM3MTgxOTczClNjaG9uIGxhbmdlLiBBbmhhbmQgdm9uIFRob3RzIEhhbW1lciBtaXQgTGFiIGhpbnRlciBMYWIga2FtIGVzIHp1ciBPZmZlbmJhcnVuZwpkZXIga2xhcmVuIEF1c3NhZ2UuIEdpbHQgYWJlciBzY2hvbiBzZWl0IEFuYmVnaW5uIGRlcyBNdWRzLiBBdXNuYWhtc3dlaXNlIGhhdApBcmdoIEFyayBkYSBtYWwgbmVuIFB1bmt0IHZlcmRpZW50LgoKQXJnaCEKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEb24ndCBsaXN0ZW4gdG8gdGhlIGZhbnMgKEJvaW5nLCAxNi4gSmFuIDIwMDYsIDEyOjAzOjE2KToKRWluIHNjaG9lbmVyIEFydGlrZWwsIGRlciBhdWNoIGhpZXIgcGFzc2VuZCBpc3QuIDopCgpodHRwOi8vd3d3LmlkbGV0aHVtYnMubmV0L2Rpc3BsYXkucGhwP2lkPTE3NwoKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKam9iLWZyYWdlIChUYWNrbGViZXJyeSwgMjYuIE1hciAyMDA2LCAxNTo1MjoyNCk6CmhpIGFsbGUKCnNvcnJ5IGZhbGxzIGRpZSBydWJyaWsgbmljaHQgcGFzc3QsIGZhZWxsdCBtaXIga2VpbmUgYmVzc2VyZSBlaW4KaWNoIGhhYmUgZWluZW4gc2VociBicmF1Y2hiYXJlbiBqb2IgaW4gYXVzc2ljaHQgKGJlZnJpc3RldCwgdm9sbHplaXQgZnVlciBlaW4KcGFhciB3b2NoZW4sIGljaCBzdHVkaWVyZSkgdW5kIGRpZSB3b2xsZW4gbnVuIGRhc3MgaWNoIG5pY2h0IGdlcmluZ2Z1ZWdpZwpiZXNjaGFlZnRpZ3Qgb2RlciBhbHMgbm9ybWFsZXIgYXJiZWl0bmVobWVyIG9kZXIgYWxzIHN0dWRpIGFuZ2VzdGVsbHQgd2VyZGUsCnNvbmRlcm4gZGFzcyBpY2ggaWhuZW4gZGFubiBlaW5lIHJlY2hudW5nIHNjaHJlaWJlIGFscyAia2xlaW51bnRlcm5laG1lciBuYWNoCnBhci4gMTggZWlua29tbWVuc3RldWVyZ2VzZXR6Ii4gZGFzIHdhZXJlIG5pY2h0IHNvemlhbHZlcnNpY2hlcnVuZ3NwZmxpY2h0aWcsCnNvbGFuZ2UgaWNoIG5pY2h0ICh3aWUgYmVpbSA0MDAtZXVyby1qb2IgYXVjaCkgaW5zZ2VzYW10IHVlYmVyIDkwMDAgZXVybyBpbQpqYWhyIHZlcmRpZW5lIChkYXMga2FubiBpY2ggamV0enQgbm9jaCBuaWNodCB3aXNzZW4sIGFiZXIgZGFzIGdlaHQgZGllIGphIG5peAphbikuIHdlbm4gaWNoIGVzIG5pY2h0IG1hY2hlLCB3aXJkIGVzIGZ1ZXIgZGllIGRldXRsaWNoIHRldXJlciB1bmQgd2VyIHdlaXNzCnZpZWxsZWljaHQgc3RlbGxlbiBkaWUgZGFubiBzdGF0dGRlc3NlbiBqZW1hbmQgYW5kZXJzIGVpbiwgZGVyIHNpY2ggZHJhdWYKZWlubGFlc3N0LiBoYXQgZGFzIHNjaG9uIG1hbCBqZW1hbmQgZ2VtYWNodCwgaGFiZSBpY2ggZGFkdXJjaCBuYWNodGVpbGU/Cm11c3MgaWNoIG1pY2ggaXJnZW5kd28gYWxzIHVudGVybmVobWVyIGFubWVsZGVuLCBrb3N0ZXQgZGFzIHdhcy92aWVsPyBzb25zdGlnZQpmYWxsc3RyaWNrZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBqb2ItZnJhZ2UgKEppbWRpZ3JpeiwgMjYuIE1hciAyMDA2LCAyMDo0MTo0Nik6Cn4jISBybj1UYWNrbGViZXJyeSBydD0xMTQzMzgxMTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApIaSwKCmRhcyBzb2xjaGUgQmVzY2hhZWZ0aWd1bmdzdmVyaGFlbHRuaXNzZSBzaW5kCmR1cmNoYXVzIHVlYmxpY2gsIG9iIGVzIGRhcyBnZWxiZSB2b20gRWkgaXN0LCBtdXNzCm1hbiBzZWxiZXIgd2lzc2VuLgoKV2llcyBha3R1ZWxsIGF1c3NpZWh0IHdlaXNzIGljaCBuaWNodCwgYWxzIGljaCBub2NoCmVpbiBHZXdlcmJlIGhhdHRlLCBnYWIgZXMgendlaSBNb2VnbGljaGtlaXRlbi4KCi0gQXJiZWl0ZSBhbHMgIkZyZWliZXJ1ZmxlciIsIGRhcyBiZWRldXRldCBEdSBtdXNzdCBpZFIKa2VpbiBHZXdlcmJlIGFubWVsZGVuLCB2aWVsbGVpY2h0IG11c3N0IER1IERpY2ggYWJlciBiZWkKZGVyIEdlbWVpbmRlIGFscyBGcmVpYmVydWZsZXIgYW5tZWxkZW4uCldlc2VudGxpY2hlcyBNZXJrbWFsOiBEdSBtdXNzdCBrZWluZSBVbXNhdHpzdGV1ZXJlcmtsYWVydW5nCm1hY2hlbi4gRm9sZ2xpY2ggc2NobGFlZ3N0IER1IGtlaW5lIFVtc2F0enN0ZXVlciBhdWYgZGllClJlY2hudW5nLCBrYW5uc3QgYWJlciBhdWNoIGtlaW5lIFZvcnN0ZXVlcmFienVlZ2UgZ2VsdGVuZCAKbWFjaGVuLiBEYWZ1ZXIgaGFzdCBEdSB3ZW5pZ2VyIEF1ZndhbmQgZnVlciBkaWUgU3RldWVyLgoKQWx0ZXJuYXRpdmU6IER1IG1lbGRlc3QgZWluIEdld2VyYmUgYmVpIGRlciBHZW1laW5kZSBhbiwKZGFzIGtvc3RldCBlaW5lIGdlcmluZ2UgR2VidWVociAoY2EgNDAsLSBFVVIpLiBEdSBiaXN0IGRhbm4KYWxsZXJkaW5ncyB2ZXJwZmxpY2h0ZXQgZWluZSBVbXNhdHpzdGV1ZXJlcmtsZWFydW5nIHp1IG1hY2hlbi4KQW0gQW5mYW5nIGJpc3QgRHUgYXVzc2VyZGVtIHZlcnBmbGljaHRldCBkaWUgVW1zYXR6c3RldWVyCnZpZXJ0ZWxqYWVocmxpY2ggYWJ6dWZ1ZWhyZW4gKFVtc2F0enN0ZXVlcnZvcmFubWVsZHVuZykuCldlbm4gRGVpbiBKYWhyZXNnZXNhbXR1bXNhdHogdW50ZXIgZWluZSBiZXN0aW1tdGUgR3JlbnplCmZhZWxsdCwga2FubnN0IER1IGRhdm9uIGJlZnJlaXQgd2VyZGVuLgpEdSBrYW5uc3QgYXVmIFJlY2hudW5nZW4gZGllIFVtc2F0enN0ZXVlciBkcmF1ZnNjaGxhZ2VuCihkYSBEdSBzaWUgamEgYXVjaCBhbnMgRkEgYWJmdWVocmVuIG11c3N0KS4gRGVpbmVtCkF1ZnRyYWdnZWJlciBpc3QgZGFzIGlkUiBlZ2FsLCB3ZWlsIGVyIGRpZSBEaXIgZ2V6YWhsdGUKVW1zYXR6c3RldWVyIGFscyBWb3JzdGV1ZXIgZ2VsdGVuZCBtYWNoZW4ga2Fubi4KRHUgc2VsYnN0IGhhc3QgZGVuIHBvdGVudGllbGxlbiBWb3J0ZWlsIHNlbGJzdCBlYmVuZmFsbHMKVm9yc3RldWVyIGdlbHRlbmQgenUgbWFjaGVuLCB6dW0gQmVpc3BpZWwgZnVlcgpJbnZlc3RpdGlvbmVuIGRpZSBEdSBmdWVyIERlaW4gR2V3ZXJiZSBicmF1Y2hzdAooekIgQ29tcHV0ZXIpLiBEaWUga3JpZWdzdCBEdSBzb3p1c2FnZW4gdm9tCkZpbmFuemFtdCByYXVzLgoKRnVlciBkaWUgRWlua29tbWVuc3RldWVyZXJrbGFlcnVuZyBpc3QgaWRSIGVpbmUKR2V3aW5uZXJtaXR0bHVuZyBtaXQgYW5zY2hsaWVzc2VuZGVtIEZlc3RzdGVsbHVuZ3NiZXNjaGVpZAplcmZvcmRlcmxpY2guIERpZSBtYWNodCBtYW4gYWJlciBub3JtYWwgenVzYW1tZW4gbWl0IGRlciAKVW1zYXR6c3RldWVyZXJrbGFlcnVuZy4KClBmZXJkZWZ1c3MgYmVpIGJlaWRlbjogU28gZWluIEJlc2NoYWVmdGlndW5nc3ZlcmhhZWx0bmlzCmdpbHQgaW4gZGVyIFJlZ2VsIGFscyBzb2cuICJTY2hlaW5zZWxic3RhZW5kaWdrZWl0Iiwgd2FzCnZlcmJvdGVuIGlzdC4gRGFzIEZBIGthbm4gRGlyIGRyYXVma29tbWVuLCBpbnNiZXNvbmRlcmUgd2VubiBEdQppbW1lciBudXIgZGVuIHNlbGJlbiBBdWZ0cmFnZ2ViZXIgaGFzdC4gRGEgRHUgaGF1cHRiZXJ1ZmxpY2gKU3R1ZGVudCBiaXN0LCBrYW5ucyBhYmVyIGd1dCBzZWluLCBkYXNzIGRhcyBzY2h3ZXJlciB3aWVndCB1bmQKRHUgbmljaHQgc2NoZWluc2VsYnN0YWVuZGlnIGJpc3QuIFNjaGVpbnNlbGJzdHN0YWVuZGlna2VpdCB3dWVyZGUKcHJpbWFlciBEZWluZW4gQXVmdHJhZ2dlYmVyIHRyZWZmZW4sIGFiZXIgYXVjaCBEaWNoLgoKRGVyIGdyb3NzZSBOYWNodGVpbCBzb2xjaCBlaW5lcyBCZXNjaGFlZnRpZ3VuZ3N2ZXJoYWVsdG5pc3Nlcwppc3QgbmF0dWVybGljaCBkZXIgR3J1bmQgd2FydW0gbWFuIGRpZSBTY2hlaW5zZWxic3RhZW5kaWdrZWl0CmJla2FlbXBmZW4gd2lsbC4KCkR1IGFscyBBcmJlaXRuZWhtZXIgYXJiZWl0ZXN0IHZvZWxsaWcgb2huZSBzb3ppYWxlIEFic2ljaGVydW5nLApkLmguIER1IGhhc3Qga2VpbmVuIEFuc3BydWNoIGF1ZiBVcmxhdWIsIExvaG5mb3J0emFobHVuZyBpbQpLcmFua2hlaXRzZmFsbCwgZXRjLi4gSW4gZGllIFNvemlhbC0gdW5kIFJlbnRlbnZlcnNpY2hlcnVuZwp6YWhsdCBuaWVtYW5kIGVpbiAoRHUgc2VsYnN0IGtvZW5udGVzdCBlcywgYWJlciBEdSBtdWVzc3Rlc3QgZGVuCnZvbGxlbiBCZWl0cmFnIHphaGxlbiwgYWxzbyBBcmJlaXRuZWhtZXIgVU5EIEFyYmVpdGdlYmVyYW50ZWlsKS4KTmF0dWVybGljaCBoYXN0IER1IGF1Y2gga2VpbmVuIEt1ZW5kaWd1bmdzc2NodXR6LCBldGNkLgoKQWxzIFN0dWRlbnRlbmpvYiBrYW5uIGRhcyB0cm90emRlbSBpbiBPcmRudW5nIHNlaW4uCkZ1ZXIgZGVuIEF1ZnRyYWdnZWJlciBpc3QgZXMgbmF0dWVybGljaCBleHRyZW0gbHVrcmF0aXYsIHdlaWwKZXIgc2FlbXRsaWNoZSBTb3ppYWxhYmdhYmVuIHNwYXJ0LCBkaWUgZGVyIEdlc2VsbHNjaGFmdAp2ZXJsb3JlbiBnZWhlbi4KClRyb3R6ZGVtIGthbm4gc2ljaCBkYXMgYWxsZXMgZnVlciBEaWNoIGxvaG5lbiwKd2FlZ2UgZ2VuYXUgYWIuIFZvciBhbGxlbSBzb2xsdGVzdCBEdSBEZWluIEdlaGFsdCBkdXJjaHJlY2huZW4uCkFscyBBbmhhbHRzcHVua3Qgc29sbHRlIGdlbHRlbiwgRGVpbiBtb25hdGxpY2hlcyBFaW5rb21tZW4KKGR1cmNoIFJlY2hudW5nc3RlbGx1bmcpIHNvbGx0ZSBlaW5lbSBkZW0gSm9iIGFuZ2VtZXNzZW5lbiAKQnJ1dHRvZ2VoYWx0IGVudHNwcmVjaGVuIFBMVVMgZGllIEFyYmVpdGdlYmVyYW50ZWlsZSBkZXIKU296aWFsdmVyc2ljaGVydW5nZW4gKGRlbm4gYW4gc2ljaCBtdWVzc3Rlc3QgRHUgZGllIGFsbGUKc2VsYnN0IGVpbnphaGxlbikuIApOYXR1ZXJsaWNoIHdpcmQgZGFzIEFuZ2Vib3QgaWRSIGRydW50ZXIgbGllZ2VuLAphYmVyIGVzIGthbm4gRGlyIGFscyBBbmhhbHRzcHVua3QgZnVlciBkaWUgClZlcmhhbmRsdW5nZW4gaGlsZnJlaWNoIHNlaW4uCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogam9iLWZyYWdlIChab29rLCAyNi4gTWFyIDIwMDYsIDIzOjIwOjE5KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTQzMzk4NTA2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApTb3dlaXQgc28gcmljaHRpZywgZWluIHBhYXIgRXJnYWVuenVuZ2VuIG5vY2g6CgogLSBFcyBrYW5uIHNlaW4sIGplIG5hY2ggVGFldGlna2VpdCwgZGFzcyBkaWVzZSB6d2luZ2VuZCBlaW4gCiAgIEdld2VyYmUgdm9yYXVzc2V0enQ7IGFsc28gaW4gamVkZW0gRmFsbCBtYWwgYmVpbSB6dXN0YWVuZGlnZW4KICAgQW10IGFuIGRlciBHZW1laW5kZSBuYWNoZnJhZ2VuIG9kZXIgbmVuIFN0QiBmcmFnZW4gb2RlciBpbQogICBJbnRlcm5ldCBuYWNoc2VoZW4uCiAtIFdlbm4gRHUgZWggbm9jaCBTdHVkZW50IGJpc3QsIGJpc3QgRHUgamEga3JhbmtlbnZlcnNpY2hlcnQsIGRhcyBzb2xsdGUKICAgZGFubiBqYSBrZWluIFByb2JsZW0gc2Vpbi4KIC0gV2llIEpkRyBzY2hyaWViLCBpc3QgZWluIFByb2JsZW0gZGllIFNjaGVpbnNlbGJzdGFlbmRpZ2tlaXQuIERhaGludGVyCiAgIHNpbmQgYWxsZXJkaW5ncyBuaWNodCBkaWUgRmluYW56YWVtdGVyIGhlciwgc29uZGVybiBkaWUgU296aWFsLQogICBrYXNzZW4uIERpZSBCZWRpbmd1bmdlbiBzaW5kIG1laHIgYWxzIHNjaHdhbW1pZyB1bmQgZWluZW0gR2VzZXR6IG9kZXIKICAgZWluZXIgUmljaHRsaW5pZSBuaWNodCBzbyBndXQgenUgZW50bmVobWVuLiBNYW4ga2FubiBzaWNoIGFiZXIgYmVpIAogICBkZW4gU296aWFsa2Fzc2VuIGltIHZvcmhpbmVpbiBlaW5lIFBydWVmdW5nIGRlciBUYWV0aWdrZWl0IHZvcm5laG1lbgogICBsYXNzZW4gdW5kIHdlbm4gZGllIHNjaHJlaWJlbiAiSXMgb2siLCBkYW5uIGlzdCBlcyBhdWNoIG9rLiBXdWVyZGUKICAgaWNoIGltIFp3ZWlmZWxzZmFsbCBpbnMgQXVnZSBmYXNzZW4uIAoKICAgV2VubidzIGR1bW0gbGFldWZ0LCBtdXNzIG1hbiBTb3ppYWxhYmdhYmVuIG5hY2h6YWhsZW4gdW5kIHdlbm4gZXMgCiAgIGdhbnogZHVtbSBsYWV1ZnQgKGhhZW5ndCB2b24gZGVyIFZlcnRyYWdzZ2VzdGFsdHVuZyBhYikgbXVzc3QgRHUgCiAgIGFscyBWZXJ0cmFnc25laG1lciBkaWUgQXJiZWl0bmVobWVyLSB1bmQgZGllIEFyYmVpdGdlYmVyYW50ZWlsZQogICB6YWhsZW4uCiAtIE1pdCBEZWluZXIgVW5pIG11c3N0IER1IGtsYWVyZW4sIHdpZXZpZWwgRHUgbmViZW5oZXIgbm9jaCBhcmJlaXRlbgogICBkYXJmc3QsIHVtIG5vY2ggU3R1ZGkgYmxlaWJlbiB6dSBrb2VubmVuLgogLSBCZWkgZGVyIFN0ZXVlcmVya2xhZXJ1bmcga2FubnN0IER1IGVpbmUgRWlubmFobWUtVWViZXJzY2h1c3MtUmVjaG51bmcKICAgbWFjaGVuIChpc3QgYXVjaCBrb21wbGl6aWVydGVyIGdld29yZGVuKTsgZGEga2FubnN0IER1IGRhbm4gYWxsZXJkaW5ncwogICBhdWNoIEF1c2dhYmVuIGFscyBCZXRyaWVic2F1c2dhYmVuIHZvbiBkZW4gRWlubmFobWVuIGFiemllaGVuLiBLYW5uCiAgIGFiZXIgKGljaCBoYWIgbWFsIGltIHJlaW5lbiBEaWVuc3RsZWlzdHVuc2JlcmVpY2ggc293YXMgZ2VtYWNodCkgZHVtbQogICBzZWluLCB3ZW5uIG1hbiBrZWluZSByZWNodGVuIEF1c2dhYmVuIGhhdC4uLiA7KQogLSBKZSBuYWNoIFZlcnRyYWdzZ2VzdGFsdHVuZyBpc3QgYXVjaCBEZWluZSBIYWZ0dW5nIGdlZ2VudWViZXIgZGVtCiAgIEF1ZnRyYWdnZWJlciBhbmRlcnM6IFdlbm4gRHUgZWluZW4gV2Vya3ZlcnRyYWcgYWJzY2hsaWVzc3QgKHpCIER1IAogICBzb2xsc3QgZGVuZW4gZWluZSBFeHBlcnRpc2UgZXJzdGVsbGVuKSwgZGFubiBoYWZ0ZXN0IER1IGZ1ZXIgTWFlbmdlbAogICBhbiBkaWVzZW0gV2VyazsgYmVpIGVpbmVtIERpZW5zdHZlcnRyYWcgd2FlcmUgZGFzIG5pY2h0IHNvLCBkYSAKICAgd3VlcmRlc3QgRHUga2VpbmVuIGJlc3RpbW10ZW4gRXJmb2xnIHNjaHVsZGVuLiBBY2h0ZSBhbHNvIGJlaSBkZXIKICAgVmVydHJhZ3NnZXN0YWx0dW5nIGRhcmF1ZiwgYXVmIHdhcyBmdWVyIGVpbmUgVmVydHJhZ3NhcnQgZXMgCiAgIGhpbmF1c2xhZXVmdC4gCiAtIEZ1ZXIga3VlbnN0bGVyaXNjaGUgdW5kIHNjaHJpZnRzdGVsbGVyaXNjaGUgVGFldGlna2VpdGVuIGdpYnQgZXMKICAgU29uZGVycmVnZWxuOyBkaWUga2VubmUgaWNoIGFsbGVyZGluZ3MgbmljaHQgKEt1ZW5zdGxlcnNvemlhbGthc3NlIHVuZAogICBzbykuIChXZWlzcyBuaWNodCBtZWhyLCB3YXMgRHUgZ2VzY2hyaWViZW4gaGF0dGVzdCwgdW0gd2VsY2hlCiAgIFRhZXRpZ2tlaXQgZXMgZ2VodC4pCgpBbSBiZXN0ZW4gaXN0LCBEdSBsYWV1ZnN0IG1pdCBkZW0gVmVydHJhZ3NlbnR3dXJmIHp1IERlaW5lbSBTdEIgdW5kIAppbnZlc3RpZXJzdCBkYXMgR2VsZCBpbiBlaW4gQmVyYXR1bmdzZ2VzcHJhZWNoIHVuZCBoYXN0IGRhbm4gYWJlciAKaGFsYndlZ3MgU2ljaGVyaGVpdCwgZGFzcyBEaXIgbml4IGF1ZiBkaWUgRnVlc3NlIGZhZWxsdC4KClpvb2suCgpQUzogRGFzIGlzdCBrZWluZSBSZWNodHNiZXJhdHVuZy4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBqb2ItZnJhZ2UgKFZlY3RvciwgMjYuIE1hciAyMDA2LCAyMzoyNDozNSk6Cn4jISBybj1ab29rIHJ0PTExNDM0MDgwMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CkRlcnplaXQgZGFyZiBtYW4gYWxzIFN0dWRlbnQgbWF4aW1hbCA4MCBTdHVuZGVuIGltIE1vbmF0IGFyYmVpdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogam9iLWZyYWdlIChFbGJlcmV0LCAyNi4gTWFyIDIwMDYsIDIzOjI4OjExKToKfiMhIHJuPVZlY3RvciBydD0xMTQzNDA4Mjc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApnYW56IHNvIGlzdCBkYXMgZ2xhdWIgaWNoIG5jaWh0IHJpY2h0aWcsIGR1IGRhcmZzdCBkdXJjaGF1cyBhdWNoIG1hbCBlaW5lbgpNb25hdCBtZWhyIGFyYmVpdGVuLCBhYmVyIGdlbmF1ZXJlIHJlZ2VsbiB3ZWlzcyBpY2ggbmNpaHQsIHNpbmQgYXVjaCBuaWNodAptZWhyIHdpY2h0aWcgZnVlciBtaWNoLCBpY2ggYmluIG5vY2ggNiBUYWdlIFN0dWRlbnQgKmcqCgpBbHNvIGxpZWJlciBtYWwgbmFjaGZyYWdlbiBiZWkgZGVyIFVuaS4KRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogam9iLWZyYWdlIChHcmltbWJvcm4sIDI3LiBNYXIgMjAwNiwgMDA6NTY6MjgpOgp+IyEgcm49RWxiZXJldCBydD0xMTQzNDA4NDkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApBbHNvLCB3aXNzdCBpaHIsIGRhZnVlciBkYXNzIGRhIGVpbmVyIGFua29tbXQgdW5kIHNhZ3QgIndpciBrb2VubnRlbiBEaWNoIGhpZXIKNiBXb2NoZW4gVm9sbHplaXQgaW4gZGVuIFNlbWVzdGVyZmVyaWVuIGJyYXVjaGVuIiBpc3QgZGFzIGRvY2ggZGFzIGdyb3NzZQpFaXNlbmJhaG5nZXNjaHVldHogYXVmIGRpZSBLb2xpYnJpcy4gTWFjaCBkZW4gSm9iLCBrYXNzaWVyIGRhcyBHZWxkLCBkYSBrcmFlaHQKZG9jaCBhbSBFbmRlIGtlaW4gSGFobiBuYWNoLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogam9iLWZyYWdlIChHbG9pbnNvbiwgMjcuIE1hciAyMDA2LCAwMTozMDo1Nik6Cn4jISBybj1FbGJlcmV0IHJ0PTExNDM0MDg0OTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CjIwaC9Xb2NoZSBpbiBkZXIgVm9ybGVzdW5nc3plaXQuIERhbWl0IGlzdCBkYW5uIGRlaW4gImljaCBiaW4gaGF1cHRzYWVjaGxpY2gKU3R1ZGVudCIgcHJvIGZvcm1hIGdld2FocnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogam9iLWZyYWdlIChIaWdobGFuZGVyLCAyNy4gTWFyIDIwMDYsIDA4OjM4OjIxKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNDM0MTU4NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CkdyaW1tYm9ybiwgenVtIGVpbmVuIHd1cmRlIG5hY2ggZGVuIERldGFpbHMgdW5kIEVpZ2VuaGVpdGVuIGRpZXNlcgpWYXJpYW50ZSBnZWZyYWd0LCB6dW0gYW5kZXJlbiBrYW5uIG1hbiBtaXQgc293YXMsIHdlbm4gbWFuIHdhcwp2ZXJzY2hsYW1wdCwgZWNodCBBZXJnZXIga3JpZWdlbiwgZGVuIG1hbiBzaWNoIHNwYXJlbiBrYW5uLgpOYXR1ZXJsaWNoIGhhc3QgRHUgcmVjaHQgZGFtaXQsIGRhc3MgZXMgX3Zlcm11dGxpY2hfIGtlaW5lIFNhdQppbnRlcmVzc2llcnQuIEFiZXIgd2VubiwgdW5kIGVzIHN0aW1tdCB3YXMgbmljaHQsIHdpcmQncyBoYWx0CnJlY2h0IHVtc3RhZW5kbGljaC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogam9iLWZyYWdlIChHcmltbWJvcm4sIDI3LiBNYXIgMjAwNiwgMTE6NDg6MTEpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTQzNDQxNTAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApFcyBnaW5nIHVtIGVpbmUgemVpdGxpY2ggYmVncmVuenRlIFRhZXRpZ2tlaXQgaW4gVm9sbHplaXQuIEFsc28KIlNlbWVzdGVyZmVyaWVuam9iIi4gVW5kIHp1bWluZGVzdCBpbiBtZWluZXIgSnVnZW5kIGhhdCBtYW4gc293YXMgZWluZmFjaApnZW1hY2h0LCBhbnNjaGxpZXNzZW5kIGVpbmUgZWhybGljaGUgRWlua29tbWVuc3RldWVyZXJrbGFlcnVuZywgdW5kLCB3ZW5uIG1hbgpuaWNodCB1ZWJlciBkZW4gYmVrYW5udGVuIEdyZW56ZW4gd2FyLCB3YXJzIGRhbWl0IGd1dC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogam9iLWZyYWdlIChab29rLCAyNy4gTWFyIDIwMDYsIDEyOjAzOjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTQzNDUyODkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApFcnN0YXVubGljaGVyd2Vpc2UgaGF0IHNpY2ggb2ZmZW5rdW5kaWcgZGllIFdlbHQgc2VpdCBkZW0gZ2VhZW5kZXJ0LiBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogam9iLWZyYWdlIChHcmltbWJvcm4sIDI3LiBNYXIgMjAwNiwgMTI6MTQ6MjApOgp+IyEgcm49Wm9vayBydD0xMTQzNDUzODM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApKYSwgaGFiIGljaCBhdWNoIHZlcnNjaGllZGVudGxpY2ggZ2Vob2VydC4gQW5nZWJsaWNoIHNpbmQgbWl0dGxlcndlaWxlIGRpZQpLaW5vZmlsbWUgc29nYXIgaW4gRmFyYmUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBqb2ItZnJhZ2UgKE1vbnRhbnVzLCAyNy4gTWFyIDIwMDYsIDE4OjI3OjUxKToKfiMhIG9uPU1vbnRhbnVzIG90PTExNDM0NzY4NDkgb2c9c2NobWFycm4KfiMhIHJuPVpvb2sgcnQ9MTE0MzQ2MzMzMyByZz1zY2htYXJybgp+IyEgdGlkPTExNDMzODExNDQKSWhyIGhhYnQgZXR3YXMgbWl0IGRlciBVbXNhdHpzdGV1ZXIgbmljaHQgdmVyc3RhbmRlbi4KV2VyIHVtc2F0enN0ZXVlcnBmbGljaHRpZyBpc3QsIG5pbW10IEdlbGQgZnVlciBkZW4gU3RhYXQgZWluIHVuZCBnaWJ0IGVzIGFuCmlobiB3ZWl0ZXIuIERhdm9uIGthbm4gbWFuIGRhcyBHZWxkIGFiemllaGVuLCB3YXMgbWFuIHNlbGJlciBhbiBVbXNhdHpzdGV1ZXIKYXVmIFdhcmVuIHVuZCBEaWVuc3RsZWlzdHVuZ2VuIHphaGx0LgpEYXMgaXN0IGFsbGVzIGluIGFsbGVtIGVpbiBOdWxsc3VtbWVuc3BpZWwuCkZ1ZXIgVGFldGlna2VpdGVuIHdpZSBTcG9ydGxlaHJlciwgVGFuemxlaHJlciB1bmQgYWVobmxpY2hlcyBnaWx0IHdpZWRlciBldHdhcwphbmRlcmVzLCBkaWUgYmVrb21tZW4gbmFlbWxpY2ggZWluZSBBdWZ3YW5kc3VudGVyc3R1ZXR6dW5nLCB1bmQgZGllIGlzdCBiaXMKSUlSQyAyNDAwIEV1cm8gaW0gSmFociBzb3dpZXNvIHN0ZXVlcmZyZWkuCkFsbGVzLCB3YXMgZGFydWViZXIgaGluYXVzZ2VodCwgd2lyZCB2ZXJzdGV1ZXJ0LCB1bmQgbmF0dWVybGljaCBrYW5uIG1hbiBlaW5lcgpVbml2ZXJzaXRhZXQgVW1zYXR6c3RldWVyIGF1ZmRydWVja2VuIC0gZGllIGJla29tbXQgc2llIGphIHp1cnVlY2suCgotTW9udGFudXMsIHNlbGJzdGFlbmRpZywgVW1zYXR6c3RldWVyemFobGVyLCBvaG5lIFByb2JsZW1lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogam9iLWZyYWdlIChNYWhhcmV0LCAyNy4gTWFyIDIwMDYsIDIyOjM4OjUzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDM0NzY4NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CmFsaWFzIHRmX3Byb21wdCBlbmRfMjU5Ck5laW4sIE1vbnRhbnVzLiBJY2ggaGFiIG1laW5lIEluZm9zIHZvbSBGaW5hbnphbXQgc2VsYnN0LiBHbGF1YmUgbWlyLCBlcyBpc3QKc28sIHdpZSBpY2ggYmVzY2hyaWViZW4gaGFiZSwgamVkZW5mYWxscyBpbiBkZXIgdm9uIG1pciBiZXNjaHJpZWJlbmVuCktvbnN0ZWxsYXRpb24uICBVbmQgaWNoIGhhYmUgZGllIEdydW5kenVlZ2UgZGVzIFN0ZXVlcnJlY2h0cyB2ZXJzdGFuZGVuLCBpY2gKaGFiIGRhIG1hbCBzb3dhcyBzdHVkaWVydCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IGpvYi1mcmFnZSAoTWFoYXJldCwgMjcuIE1hciAyMDA2LCAyMjo0MjoyMyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNDM0OTE5MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CmFsaWFzIHRmX3Byb21wdCBlbmRfMjYwClVuZCB3YXMgZGllIFVtc2F0enN0ZXVlciBzZWxic3QgYW5nZWh0LCBoYWIgaWNoIGF1Y2ggZWluaWdlIEphaHJlIG1laW4gR2VsZApkYW1pdCB2ZXJkaWVudCwgQnVjaGhhbHR1bmcgdW5kIFVtc2F0enN0ZXVlcnZvcmFubWVsZHVuZ2VuIGZ1ZXIgZGl2ZXJzZQpTZWxic3RhZW5kaWdlIHVuZCBHbWJIcyB6dSBtYWNoZW4uIApOdXIsIHVtIHZvcnp1YmV1Z2VuLCBkYXNzIGR1IG1pciBqZXR6dCBkb2NoIG5vY2ggd2FzIGVya2xhZXJlbiB3aWxsc3QuIApCaXNzY2hlbiBwcmFrdGlzY2hlIEVyZmFocnVuZyBoYWJlIGljaCBhdWNoLCBuZWJlbiBkZW0gU3R1ZGllbnRoZW9yaWVrcmFtIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWxkZGluZ3MgLSBLYXBpdGFsc3RldWVyYmVmcmVpdW5nc2FudHJhZyAoR2xvaW5zb24sIDI3LiBNYXIgMjAwNiwgMjI6NDk6MjgpOgpad2VpIEZyYWdlbjoKCi0gZ2lidCBlcyBBZXJnZXIsIHdlbm4gZGllIFN1bW1lIGRlciBiZWkgZGVuIEJhbmtlbiB2b3JsaWVnZW5kZW4KICBBbnRyYWVnZSBkaWUgZXJsYXVidCAxLjQyMSBFdXJvIHVlYmVyc2NocmVpdGV0LCBkaWUgRXJ0cmFlZ2UKICBhbGxlcmRpbmdzIG5pY2h0PyAoVGhlbWE6IHp1IGZhdWwgZGVuIEFudHJhZyBiZWkgYWx0ZXIgQmFuawogIHp1IHJlZHV6aWVyZW4pCi0gd2FzIHRyZWlidCBkZW5uIGRlciBleHRyYSBhdXNnZXdpZXNlbmUgU29saWJlaXRyYWcgYmVpIGRlciBLRVN0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBqb2ItZnJhZ2UgKFpvb2ssIDI4LiBNYXIgMjAwNiwgMTE6MDc6MDcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE0MzQ3Njg3MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDMzODExNDQKSW0gR3J1bmRlIGhhc3QgRHUgcmVjaHQsIFByb2JsZW1lIHRyZXRlbiBkYW5uIGF1Ziwgd2VubiBtYW4gdW1zYXR6c3RldWVyLQpwZmxpY2h0ZSBVbXNhZXR6ZSBtaXQgbmljaHR1bXNhdHpzdGV1ZXJwZmxpY2h0ZW4gVW1zYWV0emVuIG1pc2NodCBiencuIAptYWwgbWl0IHNvbGNoZW4genUgdHVuIGhhdCwgZGllIFVTdC1wZmxpY2h0aWcgc2luZCBiencuIC1iZWZyZWl0IHNpbmQuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBqb2ItZnJhZ2UgKE1vbnRhbnVzLCAyOC4gTWFyIDIwMDYsIDExOjA5OjA5KToKfiMhIHJuPVpvb2sgcnQ9MTE0MzUzNjgyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDMzODExNDQKWmVpbGUgNDI6IEltIElubGFuZCBuaWNodCBzdGV1ZXJiYXJlIFVtc2FldHplLiBHYW56IGVpbmZhY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogam9iLWZyYWdlIChab29rLCAyOC4gTWFyIDIwMDYsIDExOjQzOjEzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDM1MzY5NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CkRhcyBpc3QgZWJlbiBuaWNodCBlaW5mYWNoLiA7KSBXZWlsIGVzIGRhbm4gbmFlbWxpY2ggc2VpbiBrYW5uLCBkYXNzIG1hbgphbHMgVW50ZXJuZWhtZXIgYXVjaCBkaWUgU3RldWVybGFzdCB0cmFnZW4gbXVzcy4gRGFzIGthbm4gZGFubiBhdXNnZXNwcm9jaGVuCmtvbXBsZXggd2VyZGVuIChiZXNvbmRlcnMgbm9jaCB3ZW5uIG1hbiBub2NoIG1pdCBhdXNsYWVuZGlzY2hlbiBVbXNhZXR6ZW4pCnp1IHR1biBoYXQuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogam9iLWZyYWdlIChBbGRlcmFuLCAzMC4gTWFyIDIwMDYsIDEyOjIxOjE1KToKfiMhIHJuPVRhY2tsZWJlcnJ5IHJ0PTExNDMzODExNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CkJpc3NlbCBzcGFldCwgYWJlciBlZ2FsOikKCgpVbXNhdHpzdGV1ZXIgaGF0IGVyc3RtYWwgbml4IGRhbWl0IHp1IHR1biBvYiBHZXdlcmJlIG9kZXIgRnJlaWJlcnVmbGVyLCBlcwprb21tdCBkYSBhdWYgZGllIFVtc2FldHplL0dld2lubmUgYW4uClNvbGFuZ2UgZHUgaW0gbGF1ZmVuZGVuIEphaHIgbmljaHQgbWVociBhbHMgMTcuNTAwIFVtc2F0eiB1bmQgaW0gRm9sZ2VqYWhyCnZvcnJhdXNzaWNodGxpY2ggbmljaHQgbWVociBhbHMgNTAuMDAwIFVtc2F0eiBtYWNoc3Qga2FubnN0IGR1IGRpZQpLbGVpbnVudGVybmVobWVycmVnZWx1bmcgaW4gQW5zcHJ1Y2ggbmVobWVuLCBuYWNoIFBhcmEgMTkuIER1IGRhcmZ0cyBkYW5uIGFiZXIKa2VpbmUgTWFlcmNoZW5zdGV1ZXIgYXVmIGRlaW5lIFJlY2hudW5nZW4gZHJhdWZzY2hsYWdlbi4KT2IgR2V3ZXJiZSBvZGVyIG5pY2h0IGhhZW5ndCB2b24gZGVyIFRhZXRpZ2tlaXQgYWIsIGRpZSBkdSBtYWNoc3QuIFdlbm4gZGVpbmUKVGFldGlna2VpdCBlaW5lbSBzb2dlbmFubnRlbiBLYXRhbG9nYmVydWYgZW50c3ByaWNodCwgKG9kZXIgZGllc2VtIGFlaG5saWNoCmlzdCkgYnJhdWNoc3QgZHUga2VpbiBHZXdlcmJlLgpHZXdlcmJlIHdpcmQgZnVlciBkYXMgRmluYW56YW10IGVyc3QgaW50ZXJlc3NhbnQgd2VubiBkdSBlaW5lbiBVbXNhdHogdm9uCl9nbGF1YmVfIHVlYmVyIDMwLjAwMCBoYXN0LCBkYW5uIGtvbW10IGRpZSBHZXdlcmJlc3RldWVyICh3ZWxjaGUgZXMgYmVpIG5lbQpGcmVpYmVydWZsZXIgbmljaHQgZ2lidCwgZWdhbCB3aWUgaG9jaCBkZXIgVW1zYXR6IGlzdCkKQW0gYmVzdGVuIGR1IHJ1ZnN0IGJlaSBkZWluZW0gRmluYW56YW10IGFuLCBkaWUgc29sbGVuIGRpciBuZW4gRnJhZ2Vib2dlbiB6dXIKU3RldWVybGljaGVuIEVyZmFzc3VuZyB6dXNjaGlja2VuLCBkZW4gZnVlbGxzdCBkdSBhdXMsIGhha3N0IGF1ZiBkZXIgZHJpdHRlbgpTZWl0ZSB1bnRlbiBkaWUgS2xlaW51bnRlcm5laG1lcnJlZ3VsbmcgYW4gdW5kIGd1dCBpc3QuCk1hY2hzdCBuYWVjaHN0ZXMgSmFociBuZSBTdGV1ZXJlcmtsYWVydW5nLCBzY2hyZWlic3QgZGVpbmUgRWlubmFobWVuIGF1cwpTZWxic3RzdGFlbmRpZ2VyIEFyYmVpdCByZWluLCBkZWluZSBldmVudHVlbGxlbiBBdXNnYWJlbgooRmFocmtvc3Rlbi9FbnRmZXJudW5nc3BhdXNjaGFsZSB1c3cuKSB1bmQgZ3V0IGlzdC4KRHUgaGFzdCBpbSBKYWhyIGdlbmVyZWxsIDYuNzAwIChvZGVyIDcuNjAwIGljaCB2ZXJ3ZWNoc2VsIGRhcyBpbW1lcikKc3RldWVyZnJlaSwgZWdhbCB3b2hlciBkaWUgRWlubmFobWVuIHNpbmQuIFNvbGFuZ2UgZHUgZGEgZHJ1bnRlciBiaXN0LCBtdXNzdApkdSBlaCBrZWluZSBTdGV1ZXIgbmFjaHphaGxlbiwgdW5kIHdlbm4gZHUgZHJ1ZWJlciBiaXN0IHJlY2huZXN0IGR1IGZsZWlzc2lnCmRlaW5lIEZhaHJraWxvbWV0ZXIgKGF1Y2ggZGllIGZ1ZXIgZGVuIFdlZyB6dXIgVW5pKSBkYWdlZ2VuIHVuZCB3ZW5uIGR1IG5pY2h0CmdlcmFkZSBkaXJla3QgbmViZW4gZGVyIFVuaSB3b2huc3QgZHJ1ZWNrdCBkYXMgZGllIFN0ZXVlciBhdWNoIG5lbiBTdHVlY2suCgpXZW5uIGR1IHN0dWRlbnRpc2NoIHZlcnNpY2hlcnQgYmlzdCAoYWxzbyBuaWNodCBtZWhyIEZhbWlsaWVudmVyc2ljaGVydCkKYnJhdWNoc3QgZHUgZGlyIHVtIGRpZSBTb3ppYWx2ZXJzaWNoZXJ1bmcga2VpbmUgU29yZ2VuIG1hY2hlbiwgZGFzIGdlaHQgZGllCktyYW5rZW5rYXNzZSBuaXggYW4gKHNvbGFuZ2UgZWJlbiBpbiBkZXIgVm9ybGVzdW5nc3plaXQgbWF4IDIwaCBXb2NoZSwgaW4gZGVuCkZlcmllbiB1bmJlZ3Jlbnp0KS4gRGllIFdlcnRlIHZhcnJpaWVyZW4gYmVpIGVpbmlnZW4gS3Jhbmtlbmthc3NlbiwgYWxzbyBmcmFnCmRhIG1hbCBrdXJ6IG5hY2guCgpub2NoIHdhcyB6dSBkZW4gTWluaWpvYnM6IFdlbm4gZHUgZWluZW4gZWNodGVuIE1pbmktSm9iIG1hY2hzdCAoc29sbCBoZWlzc2VuCmRlciBBcmJlaXRnZWJlbiBmdWVocnQgYXVjaCBkaWUgMiUgTG9obnN0ZXVlcnBhdXNjaGFsZSBhYikgZGFubiBpc3QgZGFzIERpbmcKZnVlciBkYXMgRkEgZ2VnZXNzZW4uIERhcyBicmF1Y2h0IG1hbiBzb2dhciBuaWNodCBtZWhyIGluIGRlciBTdGV1ZXJlcmtsYWVydW5nCmFiZ2ViZW4sIGRlbm4gbWl0IGRlbSBQYXVzY2hiZXRyYWcgaXN0IGFsbGVzIGFiZ2Vnb2x0ZW4uCkJlaSBuZW0gTWluaS1Kb2IgKGdlcmluZ2Z1ZWdpZ2UgQmVzY2hhZWZ0aWd1bmcpIGthbm5zdCBkdSBzb2dhciBtYWwgbWVociBhbHMKZGllIDQwMCB2ZXJkaWVuZW4sIHNvbGFuZ2UgZXMgbmljaHQgcmVnZWxtYWVzc2lnIGRpZSA0MDAgdWViZXJzY2hyZWl0ZXQgdW5kCmRlciBEdXJjaHNjaG5pdHQgZHJ1bnRlciBsaWVndC4KTWFuIGthbm4gc29nYXIgbmViZW4gZWluZW0gbm9ybWFsZW4gQW5nZXN0ZWxsdGVudmVyaGFlbHRuaXMgbm9jaCBlaW5lbgpzdGV1ZXJmcmVpZW4vc296aWFsdmVyc2ljaGVydW5nc2ZyZWllbiBNaW5pLUpvYiBoYWJlbi4KCgpTb2xhbmdlIGR1IGFsc28gbmljaHQgbm9jaCBhbmRlcmUgZ3JvZXNzZXJlIEVpbm5haG1lbiBpbiBkZW0gSmFociBlcndhcnRlc3QKa2FubnQgZHUgZGFzIG9obmUgUHJvYmxlbWUgYXVmIFJlY2hudW5nIG1hY2hlbi4KCkFsZGkKCjpzaWNoIGF1Y2ggZ2VyYWRlIG1pdCBkaWVzZW0gZ2FuemVuIFpldWdzIHJ1bXF1YWVsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogam9iLWZyYWdlIChUYWNrbGViZXJyeSwgMzEuIE1hciAyMDA2LCAxNjozOTo0Myk6Cn4jISBybj1UYWNrbGViZXJyeSBydD0xMTQzMzgxMTQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApuYSBkYSBoYWIgaWNoIGphIHdhcyBsb3NnZXRyZXRlbiA6LSkKZXJzdCBtYWwgaGVyemxpY2hlbiBkYW5rIGZ1ZXIgYWxsIGRpZSB0ZWlscyBzZWhyIHNhY2hrdW5kaWdlbiBhbnR3b3J0ZW4uCnNpZSBoYWJlbiBtZWluIGdlZnVlaGwgYmVzdGFldGlndCwgZGFzIGljaCB2b24gYW5mYW5nIGFuIGhhdHRlLCB1bmQgbWl0IGVpbgpiaXNzY2hlbiB0YWt0aWsgdW5kIHZlcmhhbmRsdW5nc2dlc2NoaWNrIHVuZCBhdWNoIGV0d2FzIGdsdWVjayAoa2VpbiBhbmRlcmVyCmJld2VyYmVyLCB0ZXJtaW5kcnVjayBzZWl0ZW5zIGRlcyBhcmJlaXRnZWJlcnMpIGhhYmUgaWNoIGRpZSBsZXV0Y2hlbiBkYW5uCmRvY2ggaGVydW1nZWtyaWVndCwgbWljaCBhdWYgbG9obnN0ZXVlcmthcnRlIGFuenVzdGVsbGVuLiBoYWJlIGRpZSBhcmJlaXQgYXVjaApiZXJlaXRzIGFuZ2V0cmV0ZW4gdW5kIGVzIGxhZXVmdCBiZXN0ZW5zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogam9iLWZyYWdlIChLZWxseWJ1bmR5LCAzMS4gTWFyIDIwMDYsIDE5OjQyOjMyKToKfiMhIHJuPVZlY3RvciBydD0xMTQzNDA4Mjc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApBbHNvIGljaCBoYWJlIGFscyBTdHVkZW50IFZvbGx6ZWl0IGdlYXJiZWl0ZXQgMiBKYWhyZSBsYW5nIG9obmUgRkEuIEljaCB3ZWlzcywKbmljaHQgZ2FueiBsZWdhbC4gQWJlciBhbmdlc2ljaHRzIGRlciBCZWxhc3R1bmcgbmFjaHRzIGFyYmVpdGVuLCB0YWdzCkRpcGxvbWFyYmVpdCBiYXN0ZWxuLCBoYWIgaWNoIG1pciBkYXMgSU1ITyB2ZXJkaWVudCA7LSkuIERhcyBTY2hsaW1tc3RlLCB3YXMKcGFzc2llcmVuIGthbm4sIGZhbGxzIGRhcyBGQSB3aW5kIGRhdm9uIGJla29tbXQsIHNpbmQgU3RldWVybmFjaGZvcmRlcnVuZ2VuLgpLcml0aXNjaGVyIHdpcmRzIGFscyBuaWNodC1BcmJlaXRuZWhtZXIsIGQuaC4gd2VubiBEdSBlaW4gZ2V3ZXJiZSBiZXRyZWlic3QuCkRBUyB3dWVyZGUgaWNoIG5pZW1hbHMgYW0gRkEgdm9yYmVpIG1hY2hlbi4KCk15IDIgQywgS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGpvYi1mcmFnZSAoQW1hcnlsbGlzLCAzMS4gTWFyIDIwMDYsIDIwOjE1OjM2KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTE0MzgyNjk1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDMzODExNDQKV28gd2lyIGdlcmFkZSBiZWltIFRoZW1hIHNpbmQsIGhhZXR0ZSBpY2ggZGEgYXVjaCBtYWwgbmUgRnJhZ2UuLi4KCkljaCBhcmJlaXRlIFZvbGx6ZWl0LCBTdGV1ZXJrbGFzc2UgMSAoZGVzIFN0YWF0ZXMgbGllYnN0ZXMgS2luZCksIHVuZCBkYXJmIG51bgpmdWVyIGVpbmUgTmViZW50YWV0aWdrZWl0ICh2b20gQXJiZWl0Z2ViZXIgZ2VuZWhtaWd0KSBtb25hdGxpY2ggZWluZQoiUmVjaG51bmciIGFuIGVpbmUgRmlybWEgc3RlbGxlbi4KCk11c3MgaWNoIGRhenUgZWluIEdld2VyYmUgYW5tZWxkZW4/IFdhcyBtdXNzIGljaCBiZWFjaHRlbj8gR2lidCBlcyBlaW5lbgpGcmVpYmV0cmFnLCBiaXMgenUgZGVtIGljaCBkYXMgR2FuemUgc3RldWVyZnJlaSBiZXRyZWliZW4ga2Fubj8KCkF1ZiBkZXIgUmVjaG51bmcgc29sbHRlIGxhdXQgRW1wZmFlbmdlciAidGVjaG5pc2NoLXdpc3NlbnNjaGFmdGxpY2hlIEJlcmF0dW5nIgpzdGVoZW4sIGlzdCBkYXMgaXJnZW5kd2llIGZ1ZXIgbmVuIEZyZWliZXRyYWcgby5hZS4gbnV0emJhcj8KClppdGF0IGVpbmVzIEt1bXBlbHMsIGRlbiBpY2ggbWFsIHBlciBNYWlsIGdlZnJhZ3QgaGFiZToKZHUga29lbm50ZXN0IGdndWUgZGVtIEZpbmFuemFtdCBhdWNoIGRlbiBBbnRyYWcgc3RlbGxlbiwgYWxzIEtsZWludW50ZXJuZWhtZXIKenUgZ2VsdGVuICh3ZW5uIGR1IHdlbmlnZXIKYWxzIDMwSyAgVW1zYXR6IGltIEphaHIgbWFjaHN0KSB1bmQgYnJhdWNoc3QgZGFubiBrZWluZSBNd1N0IGluIFJlY2hudW5nIHp1CnN0ZWxsZW4gdW5kIHNwYXJzdCBkaXIgYXVjaCBkaWUKcXVhcnRhbHN3ZWlzZSBVbXNhdHpzdGV1ZXJ2b3Jhbm1lbGR1bmciCgpIYWVoPyBNYWVyY2hlbnN0ZXVlciBhdXN3ZWlzZW4/IFVtc2F0enN0ZXVlcnZvcmFubWVsZHVuZz8gTXVzcyBpY2ggZGFzCndpcmtsaWNoIG1hY2hlbiwgd2VubiBpY2ggbW9uYXRsaWNoIGVpbiBwYWFyIEV1cm8gaW4gUmVjaG51bmcgc3RlbGxlPwoKVW0gQXVma2xhZXJ1bmcgZGFua2JhciwKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogam9iLWZyYWdlIChab29rLCAzMS4gTWFyIDIwMDYsIDIyOjAwOjQyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTQzODI4OTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0MzM4MTE0NApTdGVodCBpbSBQcmluemlwIHNjaG9uIGltIFRocmVhZDogV2VubiBlcyB0ZWNobmlzY2gtd2lzc2Vuc2NoYWZ0bGljaGUKQmVyYXR1bmcgaXN0LCBkYW5uIGtvZW5udGUgZXMgZnJlaWJlcnVmbGljaCBzZWluIHVuZCBEdSBtdWVzc3Rlc3Qga2VpbgpHZXdlcmJlIGFubWVsZGVuLiBVU3QgaGFlbmd0IHZvbiBEZWluZW0gVW1zYXR6IGFiLiBEYSBEdSBqYSB2b2xsIGFyYmVpdGVzdCwKd2lyc3QgRHUgZWggc2Nob24gc3RldWVycGZsaWNodGlnIHNlaW4gdW5kIG11c3N0IGRpZSBnZXNhbXRlbiBFaW5uYWhtZW4KRGVpbmVtIHp1IHZlcnN0ZXVlcm5kZW4gRWlua29tbWVuIGhpbnp1cmVjaG5lbiAoYmVpIGRlciBFcm1pdHRsdW5nIGRlcgpFaW5rdWVuZnRlIGtvbW10IGRhcyBlYmVuIGRhbm4gYWxzIEVpbmt1ZW5mdGUgYXVzIHNlbGJzdGFlbmRpZ2VyClRhZXRpZ2tlaXQgKG5hY2ggQWJ6dWcgZGVyIEJldHJpZWJzYXVzZ2FiZW4pIG1pdCB6dW0genUgdmVyc3RldWVybmRlbgpFaW5rb21tZW4uIFNjaHdpZXJpZyBpc3QgZm9sZ2VuZGVzOiBXZW5uIER1IGRhcyBudXIgZ2VnZW51ZWJlciBEZWluZW0KQXJiZWl0Z2ViZXIgbWFjaHN0IHVuZCBzb25zdCBrZWluZSBhbmRlcmVuIEt1bmRlbiBoYXN0LCBkYW5uIGtvZW5udGUKZGFzIGVpbmUgc2NoZWluc2VsYnN0YWVuZGlnZSBUYWV0aWdrZWl0IHNlaW4gdW5kIG5hY2h0cmFlZ2xpY2gga2FlbWVuCmRhbm4gbm9jaCBTb3ppYWx2ZXJzaWNoZXJ1bmdzYmVpdHJhZWdlIGhpbnp1LiBab29rCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogam9iLWZyYWdlIChNb250YW51cywgIDkuIEFwciAyMDA2LCAxNDo1MDowMyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTE0MzgyODkzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDMzODExNDQKV3VyZGUgNSBBcnRpa2VsIHdlaXRlciBvYmVuIHNjaG9uIHZvbGxzdGFlbmRpZyBiZWFudHdvcnRldC4KVW5kIG5vY2ggZWluIFRpcHA6IEVpbmZhY2ggbWFsIHp1bSBGaW5hbnphbXQgaGluZGFja2VsbiB1bmQgZGVuIG5ldHRlbgpTYWNoYmVhcmJlaXRlciBmcmFnZW4uIERlciB3ZWlzcyBkYXMgbmFlbWxpY2ggKGEpIGJlc3NlciwgdW5kIChiKSBrYW5uc3QgZHUKZGljaCBhdWYgaWhuIGJlcnVmZW4sIGZhbGxzIGhpbnRlcmhlciB3YXMgbmljaHQga2xhcHB0LgpJY2ggYmluIGRhbWl0IGJpc2xhbmcgaW1tZXIgZ3V0IGdlZmFocmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogam9iLWZyYWdlIChLZXJyaWVyLCAgOS4gQXByIDIwMDYsIDE0OjU1OjI5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNDQ1ODcwMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQzMzgxMTQ0CkFsc28gLi4uIAoKTW1laW5lIEVyZmFocnVuZyBzYWd0IG1pciBlaGVyLCBkYXNzIGRpZSBGaW5hbnpiZWFtdGVuIGltIFp3ZWlmZWwga2VpbmUgQWhudW5nCmhhYmVuIHZvbiBEaW5nZW4sIGRpZSBESVIgenVndXRlIGtvbW1lbiBrb2VubnRlbi4gSW4gZGllc2VtIHNwZXppZWxsZW4gRmFsbAptYWcgZGFzIGFuZGVycyBzZWluICh3ZWlsIGVzIGphIG5lIFJlZ2VsdW5nIGlzdCwgYW4gZGVyIGVyIGF1Y2ggd2FzIGthc3NpZXJlbgprb2VubnRlKSwgYWJlciBtZWluZSBGYW1pbGllIGhhdCByZWdlbG1hZXNzaWcgbWl0IEtsYWdlIGRyb2hlbiBtdWVzc2VuLCBiZXZvcgpiZXN0aW1tdGUgU2FjaHZlcmhhbHRlIGFuZXJrYW5udCB3dXJkZW4gLi4uCgpFSwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogam9iLWZyYWdlIChBbWFyeWxsaXMsICA5LiBBcHIgMjAwNiwgMjI6MDk6NDcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE0NDU4NzAwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDMzODExNDQKSWNoIHdlcmQgZG9jaCBuaWNodCB6dW0gRkEgZGFja2VsbiB1bmQgZGEgYW5mcmFnZW4sIHVtIGRhIG5vY2ggc2NobGFmZW5kZQpIdW5kZSB6dSB3ZWNrZW4uLi4KCiBBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbiBNaXJpbCAoTWFoYXJldCwgMTYuIEFwciAyMDA2LCAxODoyMzowNSk6CkRhbmtlIGZ1ZXIgZGllIE9zdGVyZWktUXVlc3QuICBXYXIgbmUgc3VwZXIgSWRlZSB1bmQgaGF0IFNwYXNzIGdlbWFjaHQuIAoKTWFoYXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFuIE1pcmlsIChCcmFuLCAxNy4gQXByIDIwMDYsIDAxOjIyOjIzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE0NTIwNDU4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDUyMDQ1ODUKSWNoIHNjaGxpZXNzZSBtaWNoIGFuLCBoZXJ6bGljaGVuIERhbmsgOikKCkJyYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW4gTWlyaWwgKE1lc2lyaWksIDE3LiBBcHIgMjAwNiwgMDE6MjM6MzcpOgp+IyEgcm49QnJhbiBydD0xMTQ1MjI5NzQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0NTIwNDU4NQpJY2ggZmFuZCBlcyBhdWNoIHNjaG9lbiwgd2VubiBhdWNoIGRhcyBGb3JzY2hlbiBpbiBkZW4gR2ViaWV0ZW4gbWFuY2htYWwgZXR3YXMKYW5zdHJlbmdlbmQgd2FyIDopCk1lc2ksIE9zdGVyZWllcnp3ZXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb2x0ZXI9IFN0YWF0c2dlaGVpbW5pcz8gKE9ya3RvZXRlciwgMTkuIE1haSAyMDA2LCAwODo0NDo1NSk6CkF1cyBkZW0gIlRpY2tlciIgZGVzIEtvZWxuIFN0YWR0YW56ZWlnZXIgb25saW5lIGtzdGEuZGUgOgoKRWwtTWFzcmktS2xhZ2UgZ2VnZW4gQ0lBIGluIFVTQSBhYmdld2llc2VuCgpBbGV4YW5kcmlhIC0gRGVyIGRldXRzY2hlIFN0YWF0c2J1ZXJnZXIgS2hhbGVkIEVsLU1hc3JpIGJla29tbXQgdHJvdHogc2VpbmVyClZlcnNjaGxlcHB1bmcgZHVyY2ggZGVuIEdlaGVpbWRpZW5zdCBDSUEga2VpbmVuIFByb3plc3MgaW4gZGVuIFVTQS4gRGFzCkJ1bmRlc2dlcmljaHQgaW4gQWxleGFuZHJpYSBiZWkgV2FzaGluZ3RvbiBzY2htZXR0ZXJ0ZSBzZWluZSBLbGFnZSBhYi4KQmVncnVlbmR1bmc6IEltIEZhbGxlIGVpbmVzIFByb3plc3NlcyBtdWVzc3RlbiBkaWUgVVNBIFN0YWF0c2dlaGVpbW5pc3NlCnByZWlzZ2ViZW4uIEVsLU1hc3JpIHdhciBuYWNoIGVpZ2VuZW4gQW5nYWJlbiB3YWVocmVuZCBlaW5lcyBVcmxhdWJzIGluCk1hemVkb25pZW4gMjAwMyB2b24gQ0lBLSBNaXRhcmJlaXRlcm4gYXVmZ2VncmlmZmVuIHVuZCBuYWNoIEFmZ2hhbmlzdGFuCnZlcnNjaGxlcHB0IHdvcmRlbi4gRG9ydCBoYWJlIG1hbiBpaG4gZ2Vmb2x0ZXJ0LCBzbyBkZXIgZ2VidWVydGlnZSBMaWJhbmVzZS4KKGRwYSkKCkRpZSBVU0EuLiBlaW4gZWNodGVzIEJ1c2NobGFuZCEKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9sdGVyPSBTdGFhdHNnZWhlaW1uaXM/IChIdXJheHByYXgsIDE5LiBNYWkgMjAwNiwgMTA6Mzg6NDQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNDgwMjEwOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQ4MDIxMDk1CkRpZSBSb2xsZSB2b24gQnVuZGVzcmVnaWVydW5nIHVuZCBCTkQgYmVpIGRlbiBFbnRmdWVocnVuZ2VuIGlzdCBhYmVyIGF1Y2gKYWxsZXMgYW5kZXJlIGFscyBlaW4gUnVobWVzYmxhdHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRm9sdGVyPSBTdGFhdHNnZWhlaW1uaXM/IChUYXJhbmlzLCAxOS4gTWFpIDIwMDYsIDEwOjUwOjQxKToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTQ4MDI3OTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0ODAyMTA5NQpJbiBkZXIgVGF0LiBXb2JlaSBpY2ggZGllIFByYXhpcywgR2VyaWNodHNwcm96ZXNzZSBhYnp1d2Vpc2VuIGJ6dy4gYXVmCkFud2Vpc3VuZyBkZXIgUmVnaWVydW5nIGVpbnp1c3RlbGxlbiwgc29iYWxkIGRhYmVpICJkaWUgbmF0aW9uYWxlIFNpY2hlcmhlaXQKZ2VmYWVocmRldCIgd2lyZCAod29iZWkgZGllIEdlZmFlaHJkdW5nIG5hdHVlcmxpY2ggdm9uIGRlciBSZWdpZXJ1bmcKZmVzdGdlc3RlbGx0IHdpcmQpLCBhcmcgbWVya3d1ZXJkaWcgZmluZGUuIEdpYnQgZXMgZGFzIGVpZ2VudGxpY2ggYXVjaCBpbiBERT8KVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRm9sdGVyPSBTdGFhdHNnZWhlaW1uaXM/IChPcmt0b2V0ZXIsIDE5LiBNYWkgMjAwNiwgMTM6MTQ6NTEpOgp+IyEgcm49VGFyYW5pcyBydD0xMTQ4MDI4NjQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0ODAyMTA5NQpBbmdlbm9tbWVuIGVpbiBCdW5kZXNidWVyZ2VyIHd1ZXJkZSB2b24gQWdlbnRlbiBhdXMgIkhJbnRlcnRpbWJ1a3Rpc3RhbiIgKGFsc28KaXJnZW5kZWluZW0ga2xlaW5lbiB1bmJlZGV1dGVuZGVuIExhbmQpIGVudGZ1ZWhydCB1bmQgZ2Vmb2x0ZXJ0IHdlcmRlbi4gT2IgZGEKZnVlciB1bnNlcmUgUmVnaWVydW5nIGF1Y2ggIkJ1c2luZXNzIGFzIHVzYWwiIHdlaXRlciBnaW5nZSB1bmQgZGVyClJlZ2llcnVuZ3NjaGVmIGRlcyBMYW5kZXMgdm9uIEZyYXUgTWVya2VsIGJlc3VjaHQgd3VlcmRlIHVuZCBiYWxkIHp1IGVpbmVtClN0YWF0c2Jlc3VjaCBpbiBEZXV0c2NobGFuZCB6dSBlcndhcnRlbiB3YWVyZT8KQWJlciBkaWUgVVNBIHNpbmQgamEgYXVjaCBuaWNodCBIaW50ZXJ0aW1idWt0aXN0YW4uIFNpZSBzaW5kIGluIG1laW5lbiBBdWdlbgp2aWVsIFNjaGxpbW1lciwgZGVubiBzaWUgaGFiZW4gKGxlaWRlcikgYXVjaCBub2NoIGRpZSBNYWNodCwgZGFzIHp1IHR1biB3YXMKc2llIHdvbGxlbiB1bmQgd2VubiBzaWUgKG1pdCBEcnVjaykgZGVuIFNlZ2VuIGRlciBVTiBiZWtvbW1lbiwgZmVpbiB1bmQgd2VubgpuaWNodCwgc2NoZWlzcyBkcmF1Zi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9sdGVyPSBTdGFhdHNnZWhlaW1uaXM/IChLZWxseWJ1bmR5LCAyMC4gTWFpIDIwMDYsIDE5OjU3OjU5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTQ4MDIxMDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0ODAyMTA5NQpaaXRhdCBlaW5lcyBtaXIgYmVmcmV1bmRldGVuIEp1cmlzdGVuOiAnV2FzIGRhIGp1cmlzdGlzY2ggaW4gZGVuIFVTQSBwYXNzaWVydCwKa29tbXQgaW4geml2aWxpc2llcnRlbiBMYWVuZGVybiBqYSB1ZWJlcmhhdXB0IGdhciBuaWNodCBlcnN0IHZvcicgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGb2x0ZXI9IFN0YWF0c2dlaGVpbW5pcz8gKEJhbWJpLCAyNS4gTWFpIDIwMDYsIDEyOjU1OjQxKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTQ4MDM3MjkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0ODAyMTA5NQo+IHVuZCBiYWxkIHp1IGVpbmVtIFN0YWF0c2Jlc3VjaCBpbiBEZXV0c2NobGFuZCB6dSBlcndhcnRlbiB3YWVyZT8KRGFzIGhlaXNzdCBkb2NoIG51ciwgZGFzcyB3aXIgaWhuIGRhbm4gbmljaHQgdmVyc2NobGVwcGVuIG11ZXNzZW4sIHVtIGlobgpnZWZhbmdlbm5laG1lbiB1bmQgZm9sdGVybiB6dSBrb2VubmVuLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGlwcGdlbWVpbnNjaGFmdCB6dXIgd20gKExlaWJpLCAgMS4gSnVuIDIwMDYsIDEzOjMzOjI0KToKaGFsbG8genVzYW1tZW4sCgp3ZW4gYXVjaCBkYXMgd20gdGlwcGZpZWJlciBnZXBhY2t0IGhhdCwga2FubiBnZXJuZSBkZXIgZm9sZ2VuZGVuCnRpcHBnZW1laW5zY2hhZnQgYmVpdHJldGVuOgogaHR0cDovL3d3dy5jaGlwLmRlL3Nfc3BlY2lhbHMvYzFfc3RhdGljX3NwZWNpYWxfaW5kZXhfMTkzMjg5MDkuaHRtbAoKdGlwcGdlbWVpbnNjaGFmdDogd3d3Lm1nLm11ZC5kZQpwYXNzd29ydDogZnVzc2JhbGxnb3R0CgpncnVzcyBsZWliaSAoYmVja3MgZmFuICpnKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0aXBwZ2VtZWluc2NoYWZ0IHp1ciB3bSAoQWxib2luLCAgMS4gSnVuIDIwMDYsIDE1OjA5OjQxKToKfiMhIHJuPUxlaWJpIHJ0PTExNDkxNjE2MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQ5MTYxNjA0CkFscyBHZXdpbm4gbnVyIGVpbmUgTENEIEdsb3R6ZT8gSWNoIHdpbGwgbmUgS2FydGUgenVtIEZpbmFsZSwgaGllciB1bmQgamV0enQhCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRpcHBnZW1laW5zY2hhZnQgenVyIHdtIChMZWliaSwgIDIuIEp1biAyMDA2LCAwODo0OTo0Myk6Cn4jISBybj1BbGJvaW4gcnQ9MTE0OTE2NzM4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDkxNjE2MDQKaWNoIHdpbGwgbGllYmVyIGVpbmVuIGJhYnlzaXR0ZXIgOikKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXRvLiAoVmFuaW9uLCAgMy4gSnVuIDIwMDYsIDAwOjI5OjI4KToKRGllIGVudHNwcmVjaGVuZGVuIExldXRlIHdpc3NlbiBiZXNjaGVpZC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmV0by4gKEh1bW5pLCAgMy4gSnVuIDIwMDYsIDAwOjI5OjU4KToKfiMhIHJuPVZhbmlvbiBydD0xMTQ5Mjg3MzY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0OTI4NzM2OApBYmdlbGVobnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZldG8uIChDcm9mdCwgIDMuIEp1biAyMDA2LCAwMToxMTo1Nik6Cn4jISBybj1WYW5pb24gcnQ9MTE0OTI4NzM2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDkyODczNjgKRGFnZWdlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZldG8uIChEYXJrbG9yLCAgMy4gSnVuIDIwMDYsIDAzOjQxOjMwKToKfiMhIHJuPUNyb2Z0IHJ0PTExNDkyODk5MTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTQ5Mjg3MzY4ClVuZCBkaWUgbGVzZW4gYXVjaCBNUEE/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXRvLiAoTXVhZGliLCAgMy4gSnVuIDIwMDYsIDEwOjQ4OjU4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE0OTI5ODg5MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNDkyODczNjgKZGFzIHVlYmxpY2hlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXRvLiAoS2VsbHlidW5keSwgIDMuIEp1biAyMDA2LCAxNzo1MTo1Nyk6Cn4jISBybj1Dcm9mdCBydD0xMTQ5Mjg5OTE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0OTI4NzM2OApEYWZ1ZXIuIEF1Y2ggd2VubiBpY2ggbmljaHQgd2Vpc3MsIHdvZnVlci4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXRvLiAoQm9pbmcsICA2LiBKdW4gMjAwNiwgMDk6MzU6MDgpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTQ5MzQ5OTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE0OTI4NzM2OApJY2ggYmluIGF1ZiBqZWRlbiBGYWxsIGRhZnVlci4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVpbiBwbGF0b25pc2NoISAoS2Vzc2EsIDEyLiBKdW4gMjAwNiwgMTA6MjA6MTkpOgpIYWxsbyEgVmFuaXIgYnJhY2h0ZSBtaWNoIGdlc3Rlcm4gYXVmIGVpbmUgbmV0dGUgU2FjaGUsIGRpZSBpY2ggZXVjaCBnZXJuIG1hbAp6ZWlnZW4gbW9lY2h0ZTogZ2VmbG9jaHRlbmUgcGxhdG9uaXNjaGUgS29lcnBlci4gV2VuJ3MgaW50ZXJlc3NpZXJ0OgoKaHR0cDovL2lsbHVtaW5pb24uZGUvcGxhdG9uaWMuaHRtbAoKRmFsbHMgamVtYW5kIGRpZSBRdWVsbGUga2VubnQsIHdvIGljaCBkaWUgSWRlZSBkYW1hbHMgZ2VzZWhlbiBoYWJlbiBrb2VubnRlLAp3YWVyZSBpY2ggZGFua2JhciBmdWVyIGVpbmUgTWl0dGVpbHVuZy4KVmllbCBTcGFzcyEKCktlc3NhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVpbiBwbGF0b25pc2NoISAoQWxib2luLCAxMi4gSnVuIDIwMDYsIDEwOjI5OjAyKToKfiMhIHJuPUtlc3NhIHJ0PTExNTAxMDA0MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTUwMTAwNDE5Ck1laW5zdCBEdSB2aWVsbGVpY2h0IGRpZSBidW50ZW4gQmFzdGVsYm9lZ2VuIHp1bSBhdXNzdGFuemVuLCBkaWUgbmljaHQgbnVyIGRpZQpwbGF0b25pc2NoZW4gS29lcnBlciBzb25kZXJuIGF1Y2ggdW1zdHVlbHBiYXJlIEtvZXJwZXIgenVtIEJhc3RlbG4gYmVpbmhhbHRlbj8KRGFubiBzY2hhdSBtYWwgdW50ZXIgZGVuIFN0aWNod29ydGVuICJFc2NoZXIgS2FsZWlkb3p5a2xlbiIgYmVpIGVpbmVtIGRlcgpJbnRlcm5ldGJ1ZWNoaGFlbmRsZXIgb2RlciBlYmF5LgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWluIHBsYXRvbmlzY2ghIChLZXNzYSwgMTIuIEp1biAyMDA2LCAxMDozMzoxOCk6Cn4jISBybj1BbGJvaW4gcnQ9MTE1MDEwMDk0MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTAxMDA0MTkKRGFua2UgZnVlciBkZW4gVGlwLCBkYW5hY2ggc2NoYXVlIGljaCBtYWwuIElzdCBhYmVyIHdvaGwgbmljaHQsIHdhcyBpY2ggbWVpbmUuCk1laW5lIEZpZ3VyZW4gc2luZCBqZXdlaWxzIGF1cyBtZWhyZXJlbiBnbGVpY2hhcnRpZ2VuIFN0cmVpZmVuIGdlZmxvY2h0ZW4sCmJlaW0gRG9kZWthZWRlciBlcmtlbm50IG1hbiBkYXMgZ2FueiBndXQuCgpLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENyYXNoIChab29rLCAxNS4gSnVsIDIwMDYsIDEwOjU1OjU1KToKfiMhIHJuPUh1bW5pIHJ0PTExNTI3NzUzNjQgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExNTI3NzUzNjQKSG0uIEtlaW5lIEFobnVuZywgd2FydW0gZGllIEtpc3RlIGNyYXNodGUuIEplZGVuZmFsbHMgaGF0dGUgZXMgYXVjaCAKZGFzIEJldHJpZWJzeXN0ZW0gaXJnZW5kd2llIGluIGRlbiBBYmdydW5kIGdlcmlzc2VuLiBPYiBTdHJvbS13ZWcsClB1dHpmcmF1IG9kZXIgd2FzIGF1Y2ggaW1tZXIsIGljaCB3ZWlzcyBlcyBuaWNodC4uLiBNYWwgc2VoZW4sIG9iIHVuc2VyZQpTeXN0ZW1hZG1pbmlzdHJhdG9yZW4gZXR3YXMgZGF6dSBzYWdlbiBrb2VubmVuLi4uLiA6LSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENyYXNoIChSb2FkcnVubmVyLCAxNS4gSnVsIDIwMDYsIDExOjMzOjI5KToKfiMhIHJuPVpvb2sgcnQ9MTE1Mjk1Mzc1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKU3RlaHQgZGllIE11ZWhsZSBlaWdlbnRsaWNoIGtsaW1hdGlzaWVydD8gLSBob2hlIFRlbXBlcmF0dXJlbiBrb2VubnRlbiBqYQpkdXJjaGF1cyBlaW4gR3J1bmQgc2VpbiAuLi4gLSBWaWVsbGVpY2h0IG1hbCBkZW4gUHJvemVzc29ybHVlZnRlciBhdWYKVmVyc3RvcGZ1bmcgdW50ZXJzdWNoZW4/CgpSUgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDcmFzaCAoVmFuaW9uLCAxNS4gSnVsIDIwMDYsIDEzOjA1OjE3KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTE1Mjk1NjAwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKRGVyIE1HLVJlY2huZXIgaXN0IGVpbiBSYWNrZWluc2NodWIgaW0gUmVjaG5lcnJhdW0gZGVzIEZyYXVlbmhvZmVyaW5zdGl0dXRzCmZ1ZXIgU29mdHdhcmVhcmNoaXRla3R1ciB1bmQgUmVjaG5lcnRlY2huaWsgKGZvcm1lcmx5IGtub3duIGFzIEdNRCBGaXJzdCkuIEVpbgp0aGVybWlzY2hlcyBQcm9ibGVtIHNvbGx0ZSBlcyBhbHNvIG5pY2h0IGdld2VzZW4gc2Vpbi4KCmh0dHA6Ly9tZy5tdWQuZGUvbmV3d2ViL3N0YXQvaW1nL21nX2h3LmpwZwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENyYXNoIChKaW1kaWdyaXosIDE1LiBKdWwgMjAwNiwgMTc6MTY6MjQpOgp+IyEgcm49VmFuaW9uIHJ0PTExNTI5NjE1MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTUyNzc1MzY0CkFlaCwgd28gaXN0IGRlciBadXNhbW1lbmhhbmc/IEljaCBoYWJlIGVpbmlnZSBSZWNobmVycmFldW1lLwpSZWNoZW56ZW50cmVuIHZvbiBkaXZlcnNlbiBJbnN0aXR1dGVuL09yZ2FuaXNhdGlvbmVuL1VudGVybmVobWVuCmdlc2VoZW4sIHVuZCBudXIgd2VpbCBpbiBzbyBlaW5lbSBkZXIgTUcgUmVjaG5lciBzdGVodCwgaGVpc3N0IGRhcyBub2NoCmxhbmdlIG5pY2h0LCBkYXNzIGVzIGRhIGtlaW4gdGhlcm1pc2NoZXMgUHJvYmxlbSBnZWJlbiBrYW5uLgpJbiBkZXIgVGF0IGhhdHRlIGRpZSBfTWVocmhlaXRfIGFsbGVyIFNlcnZlcnJhZXVtZSBtZWhyIG9kZXIKd2VuaWdlciBncmF2aWVyZW5kZSBQcm9ibGVtZSBtaXQgZGVyIEtsaW1hdGlzaWVydW5nLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ3Jhc2ggKFpvb2ssIDE1LiBKdWwgMjAwNiwgMTc6MTc6NDcpOgp+IyEgcm49SmltZGlncml6IHJ0PTExNTI5NzY1ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTUyNzc1MzY0CkZyb2VobGljaGVzIEhlcnVtZ2VvcmFrZWwuLi4gOykgT2huZSBBdXNrdW5mdCBlaW5lciBGYWNoa3JhZnQsIGRpZSBadWdyaWZmCmF1ZiBldHdhaWdlIFJlc3NvdXJjZW4gaGF0LCB3ZXJkZW4gd2lyIG5peCBoZXJhdXNmaW5kZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQ3Jhc2ggKERhcmtsb3IsIDE1LiBKdWwgMjAwNiwgMTc6NDY6NDgpOgp+IyEgcm49Wm9vayBydD0xMTUyOTc2NjY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1Mjc3NTM2NApXYW5uIHdpcmQgZGllIEZhY2hrcmFmdCBhdXNzYWdlbj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IENyYXNoIChab29rLCAxNS4gSnVsIDIwMDYsIDE3OjQ3OjEwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1Mjk3ODQwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKRGFzIGhlcmF1c3p1ZmluZGVuIGlzdCBkaWUgbmFlY2hzdGUgT3Jha2VsYXVmZ2FiZS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBDcmFzaCAoR2xvaW5zb24sIDE1LiBKdWwgMjAwNiwgMjA6NTc6NTkpOgp+IyEgcm49Wm9vayBydD0xMTUyOTc4NDMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1Mjc3NTM2NApWaWVsbGVpY2h0IGtvbW10IGRpZSBGYWNoa3JhZnQgamEgenVtIG5hZWNoc3RlbiBlY2h0ZW4gQmVybGluLVN0YW1tdGlzY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQ3Jhc2ggKERhcmtsb3IsIDE1LiBKdWwgMjAwNiwgMjM6MjM6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1Mjk4OTg3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKRXMgZ2lidCBub2NoIGVjaHRlIEJlcmxpbnN0YW1tdGlzY2hlPyAtIE9kZXIgbWVpbnN0IER1IEJyaWVzZWxhbmcgKHNpbmQgamEKYXVjaCBuaWNoIHZpZWwgbWVocik/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQ3Jhc2ggKEdsb2luc29uLCAxNS4gSnVsIDIwMDYsIDIzOjI5OjM1KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1Mjk5ODYwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKRGFzIGhlcmF1c3p1ZmluZGVuIGlzdCBkaWUgbmFlY2hzdGUgT3Jha2VsYXVmZ2FiZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDcmFzaCAoR3JhbGtvciwgMTYuIEp1bCAyMDA2LCAyMDoyMTozMSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE1Mjk3NjU4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTI3NzUzNjQKYXVzc2VyZGVtIGlzdCBkYXMgZWluIERlbGwgUG93ZXJFZGdlIDF4NTAoYW5oYW5kIGRlcyBCZXplbHMgc2Nod2VyIHp1IHNhZ2VuLAp3ZWxjaGVyIGVzIGdlbmF1IGlzdCkuIFVuZCB3ZXIgZGllIERpbmdlciBrZW5udCwgd2Vpc3MsIHdhcyBkaWUgZnVlciBLdWVobHVuZwptaXRicmluZ2VuLiBEaWUga29tbWVuIG51ciB3ZW5uIGVzIHdpcmtsaWNoIGhlaXNzIGlzdCAoQXVzc2VudGVtcGVyYXR1ciB1ZWJlcgo1MCBHcmFkIG9kZXIgTHVlZnRlciBhdXNnZWZhbGxlbiBzaW5kKSBpbnMgU2Nod2l0emVuLgpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDcmFzaC9SZWJvb3QgKFpvb2ssIDI4LiBKdWwgMjAwNiwgMTI6MjM6NDkpOgp+IyEgcm49Wm9vayBydD0xMTUzNzM4MTk5IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTUzNzM4MDkzCkhtLiBTY2hlaW50IHNpY2ggd2llZGVyCn4KSG0uIFNjaGVpbnQgc2ljaCB3aWVkZXIgbm9ybWFsaXNpZXJ0IHp1IGhhYmVuLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdWdlbGdsZWljaHVuZyAoVmFuaGVsc2luZywgMjkuIEp1bCAyMDA2LCAxMjo1NToyOCk6Ckh1aHUsCmljaCB3ZWlzcywgZGFzcyBlcyBuaWNodCB3aXJrbGljaCBwYXNzdCwgYWJlciBtaXIgaXN0IGtlaW5lIGFuZGVyZSBSdWJyaWsgaW5zCkF1Z2UgZ2VzcHJ1bmdlbi4KCkZvbGdlbmRlcyBQcm9ibGVtOgoKSWNoIG1vZWNodGUgZm9sZ2VuZGUgQXVmZ2FiZSBsb2VzZW46CgpXZWxjaGUgS3VnZWxnbGVpY2h1bmcgaGF0IGRpZSBLdWdlbCBLLCBkaWUgZHVyY2ggQSAoMC8wLzUpIGdlaHQsIGRpZSBHZXJhZGUKZzp4PXkoMXwwfDIpIGluIFQgKDMvMC82KSBiZXJ1ZWhydCB1bmQgZGVuIFJhZGl1cyAzIGhhdD8KCkljaCBkZW5rZSwgaWNoIG11c3MgIm51ciIgZGVuIE1pdHRlbHB1bmt0IGJlc3RpbW1lbiwgdW5kIGRhbm4gZWluc2V0emVuLCBhYmVyCmljaCBoYWJlIGtlaW5lIElkZWUsIHdpZSBpY2ggZGVuIGVybWl0dGVsbiBrYW5uLgoKVmllbGxlaWNodCBoYWJ0IGVpbmVyIGVpbmVuIFRpcHAuCgpDVQoKVkggKGZ1ZXIgWXVsaSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdWdlbGdsZWljaHVuZyAoVmVjdG9yLCAyOS4gSnVsIDIwMDYsIDE5OjQxOjQxKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE1NDE3MDUyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKd2FzIGhlaXNzdCAiZGllIGR1cmNoIEEgZ2VodCI/IGlzdCBBIGVpbiBwdW5rdCBkZXIga3VnZWxvYmVyZmxhZWNoZT8Kb2RlciBtdXNzIEEgbnVyIGlubmVyaGFsYiBkZXIga3VnZWwgbGllZ2VuLCBkLmguIGQoTSxBKTxyID8Kc28gc3BvbnRhbiB3dWVyZCBpY2ggZGllIGlkZWUgdmVyZm9sZ2VuIG1pdCBkZW0gcmljaHR1bmdzdmVjdG9yCmRlciBnZXJhZGVuIG5lIGViZW5lbmdsZWljaHVuZyBhdWZ6dXN0ZWxsZW4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VnZWxnbGVpY2h1bmcgKEdyaW1tYm9ybiwgMjkuIEp1bCAyMDA2LCAxOTo0ODoyMik6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExNTQxNzA1Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4ClNpZWh0IHNvIGF1cyBhbHMgYnJhZXVjaHRlbiB3aXIgaGllciBlaW5lIFJ1YnJpayAiaGF1c2F1ZmdhYmVuIi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEt1Z2VsZ2xlaWNodW5nIChLZXNzYSwgMjkuIEp1bCAyMDA2LCAxOTo1ODo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1NDE5NTMwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKSWNoIGZpbmRlLCBkYXNzIGVzIHNwYW5uZW5kIHNlaW4ga2Fubiwgd2VubiBMZXV0ZSBoaWVyIGludGVyZXNzYW50ZSBBdWZnYWJlbgp2b3JzdGVsbGVuLCBkaWUgaWhuZW4gZ2VyYWRlIGJlZ2VnbmVuLiBPYiBzaWUgZGFzIGZ1ZXIgZGllIFNjaHVsZSBvZGVyCnNvbnN0d29mdWVyIGJyYXVjaGVuLCBpc3QgbWlyIGVnYWwsIHVtc28gYmVzc2VyLCB3ZW5ucyBoaWxmdC4gV2VuaWdlciBhbXVlc2FudApmaW5kZSBpY2ggYWJmYWVsbGlnZSBCZW1lcmt1bmdlbiBkYXp1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3VnZWxnbGVpY2h1bmcgKEdyaW1tYm9ybiwgMjkuIEp1bCAyMDA2LCAyMDowNzowNSk6Cn4jISBybj1LZXNzYSBydD0xMTU0MTk1OTIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NDE3MDUyOApIYWxsbz8gV28gaGFzdCBEdSBlaW5lIGFiZmFlbGxpZ2UgQmVtZXJrdW5nIGdlc2VoZW4/IEljaCBmaW5kZSBsZWRpZ2xpY2ggZGFzcwpkaWVzZSBBcnQgQXJ0aWtlbCBlaW5lIGVpZ2VuZSBSdWJyaWsgdmVyZGllbmVuLiBNZWluZXR3ZWduIGF1Y2ggJ3B1aXonLiBXZW5uCkR1IGFiZmFlbGxpZ2UgQmVtZXJrdW5nZW4gd2Focmdlbm9tbWVuIGhhc3Qgc29sbHRlc3QgRHUgdmllbGxlaWNodCBtYWwgRGVpbmUKUmV6ZXB0aW9uc2hhbHR1bmcgdWViZXJwcnVlZmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLdWdlbGdsZWljaHVuZyAoQWxrb2hvbCwgMjkuIEp1bCAyMDA2LCAyMDowNzo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1NDE5NjQyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKdW5kIHdpZXNvIGtvbW1zdCBkdSBkYW5uIG5pY2h0IGVpbmZhY2ggZGVpbmVuIGF1ZmdhYmVuIG5hY2ggdW5kIHZlcmxlZ3N0IGVzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS3VnZWxnbGVpY2h1bmcgKEdyaW1tYm9ybiwgMjkuIEp1bCAyMDA2LCAyMDoxNjo0Nyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExNTQxOTY0NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4ClNvIGVpbmUgcmljaHRpZyBwYXNzZW5kZSBSdWJyaWsgZ2lidHMgbmljaHQgKGVpbiBRdWl6IGltIGVpZ2VudGxpY2hlbiBTaW5uZQppc3RzIGphIG5pY2h0KSwgdW5kIGRhbm4gaXN0cyBoaWVyIHJpY2h0aWcuIEFiZXIgZGllIEVyZmFocnVuZyB6ZWlndCBkYXNzIGVpbmUKZ2V3aXNzZSBXYWhyc2NoZWlubGljaGtlaXQgYmVzdGVodCwgZGFzcyBqZXR6dCBldGxpY2hlIHNvbGNoZXIgaW50ZXJlc3NhbnRlcgpQcm9ibGVtZSBrb21tZW4sIHVuZCBkYSB3ZXJkZSBpY2ggamEgd29obCBsYXV0IG5hY2hkZW5rZW4gZHVlcmZlbiBvYiBtYW4gZGEKZWluZSBlaWdlbmUgUnVicmlrIGZ1ZXIgbW9lY2h0ZS4gCgpBbnNvbnN0ZW4sIGRhcyBpc3QgZG9jaCBlaW5lIG1hdGhlbWF0aXNjaGUgQXVmZ2FiZSB1bmQgZGFtaXQgaW4gRGVpbmVtCkF1ZmdhYmVuYmVyZWljaCwgd2llc28gc2NocmVpYnN0IER1IG5pY2ggZWluZmFjaCBkaWUgTG9lc3VuZyBoaW4/IAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLdWdlbGdsZWljaHVuZyAoS2Vzc2EsIDI5LiBKdWwgMjAwNiwgMjA6MTc6MzMpOgp+IyEgcm49QWxrb2hvbCBydD0xMTU0MTk2NDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NDE3MDUyOApPaywgd2VubiBkYXMgZWluZSBmYWxzY2hlIFVudGVyc3RlbGx1bmcgd2FyLCB0dXQgZXMgbWlyIGxlaWQuIFNpY2hlciBoYXQgZGFzCm1pdCBtZWluZXIgUmV6ZXB0aW9uc2hhbHR1bmcgenUgdHVuLCBkaWUgZmFlbGx0IGhhbHQgYWJlciBhdWNoIG5pY2h0IGVpbmZhY2gKdm9tIEhpbW1lbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEt1Z2VsZ2xlaWNodW5nIChBbGtvaG9sLCAyOS4gSnVsIDIwMDYsIDIwOjIyOjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU0MTk3MDA3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NDE3MDUyOAp3ZWlsIGljaCBoYXVzYXVmZ2FiZW4gbmljaHQgdm9ycmVjaG5lIHNvbmRlcm4gbnVyIHRpcHBzIGdlYmUuIEluIGRlaW5lcgpBbGx3aXNzZW5oZWl0IG11ZXNzdGVzdCBkdSBkb2NoIHdpc3NlbiwgZGFzcyBpY2ggZ2VuYXUgZGFzIHNjaG9uIGdldGFuIGhhYmUuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLdWdlbGdsZWljaHVuZyAoRGFya2xvciwgMjkuIEp1bCAyMDA2LCAyMDoyMzoyMik6Cn4jISBybj1LZXNzYSBydD0xMTU0MTk3MDUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NDE3MDUyOApEaWUgTG9lc3VuZyBhbGxlaW4gZmFlbmQgaWNoIG5pY2ggaW50ZXJlc3NhbnQgZ2VudWcuIFNjaGxpZXNzbGljaCBpcyBkZXIgV2VnCmphIGRhcyBaaWVsLiA7KQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogS3VnZWxnbGVpY2h1bmcgKENyb2Z0LCAyOS4gSnVsIDIwMDYsIDIwOjI1OjEyKToKfiMhIHJuPUFsa29ob2wgcnQ9MTE1NDE5NzMzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKVW5kIGR1IGhhc3Qgc2llIGluIGRlciBBbGxnZW1laW5oZWl0IHZvcmVudGhhbHRlbj8gIFNvd2FzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEt1Z2VsZ2xlaWNodW5nIChBbGtvaG9sLCAyOS4gSnVsIDIwMDYsIDIwOjI4OjIyKToKfiMhIHJuPUNyb2Z0IHJ0PTExNTQxOTc1MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4CmphLCBzY2hsaW1tLCBuaWNodD8gCgpBYmVyIHNvIGJpbiBpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBLdWdlbGdsZWljaHVuZyAoTXVhZGliLCAyOS4gSnVsIDIwMDYsIDIwOjUyOjM3KToKfiMhIHJuPUFsa29ob2wgcnQ9MTE1NDE5NzcwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKYWxzbyBlaW5lIHJ1YnJpayBoYXVzYXVmZ2FiZW4gZmFlbmQgaWNoIG5pY2h0IHNjaGxlY2h0LCBraW5kZXIgZGFmdWVyIHNjaGVpbmVuCndpciBqYSBnZW51ZyB6dSBoYWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEt1Z2VsZ2xlaWNodW5nIChWYW5pb24sIDI5LiBKdWwgMjAwNiwgMjI6MDY6MDQpOgp+IyEgcm49TXVhZGliIHJ0PTExNTQxOTkxNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4CkNvb2wuIE1hbCBlaW4gQXJ0aWtlbCBtaXQgMTIgUmUncyB1bmQgbnVyIGVpbnMgYmV6aWVodCBzaWNoIGF1ZiBkYXMKZm9ybXVsaWVydGUgUHJvYmxlbS4gSWhyIHNlaWQgZWNodCBkaWUgS29lbmlnZSBkZXIgTWV0YWRpc2t1c3Npb24uCgpWKiwga2FubiBzaWNoIGRpZXNlbiBLb21tZW50YXIgbmljaHQgdmVya25laWZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBLdWdlbGdsZWljaHVuZyAoRGFya2xvciwgMjkuIEp1bCAyMDA2LCAyMjo0NTozMik6Cn4jISBybj1WYW5pb24gcnQ9MTE1NDIwMzU2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTQxNzA1MjgKTWlyaWxzIHVuZCBIdW1uaXMgIk5hY2h3dWNocyIuLi4gOykKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBLdWdlbGdsZWljaHVuZyAoVmFuaGVsc2luZywgMjkuIEp1bCAyMDA2LCAyMjo0NjozMik6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTQyMDU5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4CkljaCBiaW4gd2VkZXIgZGFzIGVpbmUgbm9jaCBkYXMgYW5kZXJlLiA7KQoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBLdWdlbGdsZWljaHVuZyAoRGFyaWEsIDMxLiBKdWwgMjAwNiwgMTU6MTA6MjUpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTU0MjA1OTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NDE3MDUyOApVbSBtYWwga29uc3RydWt0aXYgenUgd2VyZGVuOgpadW5hZWNoc3QgbGVndCBtYW4gZWluZSBFYmVuZSB6d2lzY2hlbiBBIHVuZCBULCBmdWVyIGRpZSBnaWx0LCBkYXNzIHNpZQpvcnRob2dvbmFsIGlzdCB6dSBkZXIgU3RyZWNrZSBBVCB1bmQgdm9uIEEgdW5kIFQgZ2xlaWNoIHdlaXQgZW50ZmVybnQgKHNvIHdpZQplaW5lIE1JdHRlbHNlbmtyZWNodGUgaW0gUl4yKS4gRGVyIE1pdHRlbHB1bmt0IG11c3MgYXVmIGRlciBFYmVuZSBsaWVnZW4uCkRhbm4gbGVnc3QgZHUgZWluZSBFYmVuZSBhbiwgZGllIG9ydGhvZ29uYWwgaXN0IHp1IGcuIEF1Y2ggYXVmIGRpZXNlciBFYmVuZQptdXNzIGRlciBNaXR0ZWxwdW5rdCBsaWVnZW4uIChWZXJiaW5kdW5nZW4gdm9tIE1pdHRlbHB1bmt0IHp1IGVpbmVtIFB1bmt0IGF1ZgpkZXIgS3VnZWwgc2luZCBvcnRob2dvbmFsIHp1IFRhbmdlbnRlbi4pCkRhbm4gc2NobmVpZGVzdCBkdSBiZWlkZSBFYmVuZW4gdW5kIGVyaGFlbHRzdCBlaW5lIEdlcmFkZS4gRGFyYXVmIG11c3MgaW1tZXIKbm9jaCBkZXIgTWl0dGVscHVua3QgbGllZ2VuLiA7LSkKRGFubiBtdXNzdCBkdSBudXIgbm9jaCBkZW4gUHVua3Qgc3VjaGVuLCBkZXIgdm9uIEEgMyB3ZWl0IGVudGZlcm50IGlzdC4gKERlcgppc3QgZGFubiBhdWNoIHZvbiBUIDMgZW50ZmVybnQsIHdlZ2VuIEViZW5lIDEuKQpJY2ggaGFicyBub2NoIG5pY2h0IGdlcmVjaG5ldCwgYWJlciBzbyBzb2xsdGUgYWxsZXMgU3RhbmRhcmR2ZXJmYWhyZW4gc2Vpbi4KRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlYm9vdCAoTXVhZGliLCAxMS4gQXVnIDIwMDYsIDE5OjI5OjAwKToKSGksCgpsZWlkZXIgaXN0IGRhcyBNdWQgaW0gTW9tZW50IHJlY2h0IHVuc3RhYmlsLiBMZWVyZSBTaGVsbHMsIGJsb2NraWVyZW5kZQpYVG9vbHMsIHVuZCBhYmdlYnJvY2hlbmUgTG9nb3V0cyBzZWhlbiBuaWNodCBndXQgYXVzLgpEYWhlciBlaW4gUmVib290IGRlcyBNR3MuCkljaCBob2ZmZSwgZGFzcyBkYXMgbnVuIGtlaW4gcGVybWFuZW50ZXMgUHJvYmxlbSBpc3QuCkRhcyBpc3Qgd29obCBkZXIgUHJlaXMgZWluZXIgaG9oZW4gVXB0aW1lLgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChNYWhhcmV0LCAxMS4gQXVnIDIwMDYsIDE5OjI5OjI0KToKfiMhIHJuPU11YWRpYiBydD0xMTU1MzE3MzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTMxNzM0MApIb2hlIFVwdGltZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IChNdWFkaWIsIDExLiBBdWcgMjAwNiwgMTk6MzY6MDYpOgp+IyEgcm49TWFoYXJldCBydD0xMTU1MzE3MzY0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTMxNzM0MApiZWxlaWRpZ2UgZGVpbmUgaW50ZWxsaWdlbnogbmljaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdCAoTWFoYXJldCwgMTEuIEF1ZyAyMDA2LCAxOTozNzoyNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NTMxNzc2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTUzMTczNDAKSWNoIHZlcnN0ZWggd2lya2xpY2ggbmljaHQgdmllbCB2b24gZGVyYXJ0aWdlbSBDb21wdXRlcmtyYW0uIE1laW5lIEZyYWdlCmJsZWlidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCAoTXVhZGliLCAxMS4gQXVnIDIwMDYsIDE5OjM4OjMxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1NTMxNzg0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTUzMTczNDAKZHUgbXVzc3QgbnVuIHdpcmtsaWNoIG5pY2h0IHZpZWwgdm9uIGNvbXB1dGVya3JhbSB2ZXJzdGVoZW4sIHVtIHp1IHNlaGVuLCBkYXNzCndpciBlaW5lIGV4dHJlbSBsYW5nZSB1cHRpbWUgaGF0dGVuIHVuZCBkYW5hY2ggMiB3YXJ0dW5nc3JlYm9vdHMgdW5kIG51bgppbmtvbnNpc3RlbnplbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVib290IChWYW5oZWxzaW5nLCAxMS4gQXVnIDIwMDYsIDE5OjM5OjI3KToKfiMhIHJuPU11YWRpYiBydD0xMTU1MzE3OTExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTMxNzM0MApVbmQgbWVocmVyZSBDcmFzaHMuIDspCgpWSAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlYm9vdCAoTWFoYXJldCwgMTEuIEF1ZyAyMDA2LCAxOTozOTozMyk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NTMxNzkxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTUzMTczNDAKQWxzbyBkaWUgbGV0enRlIFVwdGltZSB3YXIgOSBUYWdlLiBJY2gga29ubnRlIG5pY2h0IGVya2VubmVuLCBkYXNzIGRpZQpQcm9ibGVtZSBpbW1lciBub2NoIGRpZSBzaW5kIHZvbiBkZXIgdm9ydm9ydm9ybGV0enRlbiBVcHRpbWUuIERlaW5lCkF1ZnphZWhsdW5nIGRlciBQcm9ibGVtZSBzYWd0ZSBtaXIgbmFlbWxpY2ggYXVjaCBuaWNodHMsIHNvZGFzcyBpY2ggZGFyYXVzCm5pY2h0cyBhYmxlaXRlbiBrYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVib290IChNdWFkaWIsIDExLiBBdWcgMjAwNiwgMTk6Mzk6NDkpOgp+IyEgcm49TWFoYXJldCBydD0xMTU1MzE3OTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTMxNzM0MApkYW5uIGhhbHQgbmljaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlYm9vdCAoTXVhZGliLCAxMS4gQXVnIDIwMDYsIDIwOjM2OjIzKToKSGFsbG8sCgpkaWUgVXJzYWNoZSBkZXMgUmVib290cyBsaWVndCBpbiBnZWJhbGx0IGF1ZmdldHJldGVuZW4gSW5rb25zaXN0ZW56ZW4uIApVbSBlaW4gcGFhciB6dSBuZW5uZW46IAotS2FlbXBmZSB3dXJkZW4gYWJnZWJyb2NoZW4KLUF1dG9sb2Fkb2JqZWt0ZSB3dXJkZW4gbmljaHQgbWVociBoZXJnZXN0ZWxsdAotTWluZGVzdGVucyBlaW5lIFNoZWxsIHd1cmRlIG5pY2h0IGtvcnJla3QgaW5pdGlhbGlzaWVydCBiZWkgTG9naW4gKGtlaW5lClVtYmVuZW5udW5nKQotTG9nb3V0IGdpbmcgbmljaHQgbWVocgotRGFzIFh0b29sIGVya2FubnRlIGZhZWxzY2hsaWNoZXJ3ZWlzZSBkb19jb21tYW5kcwoKRGllc2UgUGhhZW5vbWVuZSB3YXJlbiBuaWNodCBiZWdsZWl0ZXQgdm9uIEZlaGxlcm1lbGR1bmdlbi4gRGllcyBtYWNodCBkaWUKU2FjaGUgc28ga3JpdGlzY2guCkJpdHRlIGhhYnQgaW4gZGVyIGpldHppZ2VuIFVwdGltZSBlaW4gQXVnZSBhdWYgZGVyYXJ0aWdlIFVuc3RpbW1pZ2tlaXRlbiB1bmQKZmFsbHMgRXVjaCBzb2xjaGUgYXVmZmFsbGVuIHNvbGx0ZW4sIG9kZXIgZ2FyIFVyc2FjaGVuLCBzbyB6b2VnZXJ0IGJpdHRlCm5pY2h0LCBkaWVzZSB3ZWl0ZXJ6dWdlYmVuLgoKRWluZSB6dXZlcmxhZXNzaWdlIGxhbmdlIFVwdGltZSBpc3QgZG9jaCBzZWhyIHp1IHd1ZW5zY2hlbi4KCkRhbmtlIGZ1ZXIgRXVyZSBIaWxmZQoKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChBcmssIDExLiBBdWcgMjAwNiwgMjE6MzY6NTQpOgp+IyEgcm49TXVhZGliIHJ0PTExNTUzMjEzODMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU1MzIxMzgzClVuZCBkaWUgd2ljaHRpZ3N0ZSBOYWNocmljaHQ6IEFyayBvaG5lIEludmVudGFyLiBLb3JydXB0LiBOb3QgY3VyYWJsZS4KRmxlaXNjaHd1bmRlLiBCbHV0Z3JhZXRzY2hlIGRlcyBEcml2ZXJzLiBUb29vb3IgZHVyY2ggTWFrYWF5LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IChLZWxseWJ1bmR5LCAxMi4gQXVnIDIwMDYsIDEzOjE2OjA4KToKfiMhIHJuPUFyayBydD0xMTU1MzI1MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTMyMTM4MwpBcmsgb2huZSBJbnZlbnRhcj8gQVVGIElITiEgKkdHKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VydmVycGxhdHRlIGthcHV0dCAoTWVzaXJpaSwgMTQuIEF1ZyAyMDA2LCAxMjowOTo1NCk6CkhhbGxvLAp3aWUgZWluaWdlIHZvbiBFdWNoIHNjaG9uIG1pdGJla29tbWVuIGhhYmVuLCBpc3QgZGllIEZlc3RwbGF0dGUgbWVpbmVzClNlcnZlcnMga2FwdXR0Z2VnYW5nZW4uIEljaCB2ZXJzdWNoZSBtb2VnbGljaHN0IHZpZWwgd2llZGVyaGVyenVzdGVsbGVuLApsZWlkZXIgaXN0IGRhcyBsZXR6dGUgQmFja3VwIHNjaG9uIHNlaHIgYWx0LgpEYWhlciBzaW5kIHZpZWxlIFNhY2hlbiB2ZXJsb3JlbmdlZ2FuZ2VuLiBJY2ggd2VyZGUgd29obCBkaWUgUGxhdHRlIHp1IGVpbmVtCnRldXJlbiBwcm9mZXNzaW9uZWxsZW4gRGF0ZW5yZXR0ZXIgZ2ViZW4sIGRlbm4gZWluaWdlIGRlciBTYWNoZSBzaW5kIHp1CndpY2h0aWcuCkZhbGxzIGFsc28gamVtYW5kLCBkZXNzZW4gU2VpdGUgZGEgZHJhdWYgd2FyLCBQcm9ibGVtZSBkYW1pdCBoYWJlbiBzb2xsdGUsCmJpdHRlIGFuIG1pY2ggd2VuZGVuLgpXYXMgd2FyIHUuYSBkYSBkcmF1ZgotIG1lc2lyaWkuZGUsIHRpbnlmdWd1ZS5kZSwgbWFoYXJldC5vcmcsIG11ZGRlci5pbmZvLCB3aWtpLm1vcmdlbmdyYXVlbi5pbmZvCi0gbWlyaWwuZGUsIGtyeWxhaW9zLmRlLCBuZWRpbWUuZGUsIG5pY2h0LXN1ZWNodGlnLmRlLCBlaXNrcmllZy5kZQotIHdvdy5uaWNodC1zdWVjaHRpZy5kZSwgY2FrZXkuZGUgdW5kIG5vY2ggZWluaWdlcyBtZWhyLCBkYXMgaWNoIG5pY2h0CmltIEtvcGYgaGFiZS4KRGVyIFRlbG5ldC1DbGllbnQgdW5kIGRhcyBXaWtpIGRhenUgc2luZCBkYW1pdCBhdWNoIGF1ZiBkaWVzZW0gU2VydmVyIHdlY2guClNvcnJ5LCBhYmVyIHdlbm4gbWFuIHp1IGRvb2YgaXN0IEJhY2t1cHMgenUgbWFjaGVuLCB0dXQgZXMgaGFsdCBiZXNvbmRlcnMKd2VoLgoKTWVzaQpQLlMuIEZhbGxzIHdlciBub2NoIEtvcGllbiB2b24gRGF0ZW4gaGF0LCBkaWUgZGEgZHJhdWYgd2FyZW4sIG1vZWdlIGVyIG1pcgpkaWUgYml0dGUgenVyIFZlcmZ1ZWd1bmcgc3RlbGxlbi4KUGFzc3dvcnRlIG11ZXNzZW4gYXVjaCBuZXUgZ2VzZXR6dCB3ZXJkZW4sIGFsc28gZWluZmFjaCBtZWxkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb250YWt0IHp1IFNwaWVsZXJuIGdlc3VjaHQgKEd1YXJkLCAxNy4gQXVnIDIwMDYsIDEwOjE4OjQwKToKSGFsbG8sCgpkZXIgVm9yc3RhbmQgZGVzIEZvZXJkZXJ2ZXJlaW5zIFByb2pla3QgTW9yZ2VuZ3JhdWVuIGUuVi4gbW9lY2h0ZSBLb250YWt0IHp1CmVpbmlnZW4gTWl0Z2xpZWRlcm4gYXVmbmVobWVuLiBEaWUgS29udGFrdGRhdGVuIHp1IGRpZXNlbiBTcGllbGVybiBzaW5kIGFiZXIKbGVpZGVyIHZlcmFsdGV0IGJ6dy4gZXMga29tbXQga2VpbmUgUmVha3Rpb24uIERlc2hhbGIgYml0dGUgaWNoIEV1Y2g6Cldlbm4gaWhyIHp1IGVpbmVtIG9kZXIgbWVocmVyZW4gZGVyIHVudGVuIGdlbmFubnRlbiBTcGllbGVyIHByaXZhdCBLb250YWt0CmhhYnQsIHRlaWx0IGRpZXNlbiBtaXQsIGRhc3Mgc2llIHNpY2ggc2NobmVsbHN0bW9lZ2xpY2ggbWl0IGRlbSBWZXJlaW4gaW4KVmVyYmluZHVuZyBzZXR6ZW4gc29sbGVuLgpIaWVyIGRpZSBTcGllbGVyOgpBbG1kdWRsZXIsIEFzdGFyLCBCZWVsemVidWIsIEJlbGRhcmFuLCBCZW5kZWlnaWQsIEJyYW5kaXIsIENpc291LCBDcml0dGVyLApEZW50aSwgRHdpZ2h0LCBFdWxlLCBHYWxicmFpdGgsIEdhbmRhbGYsIExldXNlbCwgTHV6aWUsIE1pa2FnZSwgTW96YXJ0LApTcGVsbGZpcmUsIFRvZXRlciwgVmVyZW5hLCBWaXBlciwgV3VyemVsLCBZYXJlbiwgWWVuZGkKCkRhbmtlIGltIFZvcmF1cwoKR3J1c3MKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29udGFrdCB6dSBTcGllbGVybiBnZXN1Y2h0IChHdWVuLCAxNy4gQXVnIDIwMDYsIDExOjU2OjExKToKfiMhIHJuPUd1YXJkIHJ0PTExNTU4MDI3MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU1ODAyNzIwCktvbnRha3QgenUgQmVsZGFyYW4gZHVlcmZ0ZSB1ZWJlciBCYW1iaSBtb2VnbGljaCBzZWluIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtvbnRha3QgenUgU3BpZWxlcm4gZ2VzdWNodCAoTWllemUsIDE3LiBBdWcgMjAwNiwgMTE6NTg6NTcpOgp+IyEgcm49R3VlbiBydD0xMTU1ODA4NTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTgwMjcyMAoKSWNoIG11c3MgbWFsIHNjaGF1ZW4sIG9iIGljaCBZZW5kaXMgQWRyZXNzZSBub2NoIGZpbmRlLgoKTWllemUgLSBrcmFtdCBpbiBhbHRlbiBBZHJlc3NidWVjaGVybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3VnZWxnbGVpY2h1bmcgKEJlaGVtb3RoLCAyMC4gQXVnIDIwMDYsIDE3OjI3OjU3KToKfiMhIHJuPUtlc3NhIHJ0PTExNTQxOTU5MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU0MTcwNTI4Cgpvb3BzLCB2ZXJzZWhlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbnRha3QgenUgU3BpZWxlcm4gZ2VzdWNodCAoSG9ibywgMjEuIEF1ZyAyMDA2LCAyMTozNDo0NCk6Cn4jISBybj1HdWFyZCBydD0xMTU1ODAyNzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NTgwMjcyMApNdWVzc3RlIENyaXR0ZXIgbmljaHQgdWViZXIgVW5pdG9waWEgZXJyZWljaGJhciBzZWluPwoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjcmFzaCAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDEwOjI0OjA3KToKSGFsbG8genVzYW1tZW4sCgplcyBoYXQgbWFsIHdpZWRlciBnZWNyYXNoZWQuCkRpZSBVcnNhY2hlIGlzdCBtaXIgenVyIFplaXQgdW5iZWthbm50LgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY3Jhc2ggKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxMDoyODoyNyk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjIzNTA0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKSGFsbG8sCgppY2ggaGFiZSB0ZXN0d2Vpc2UgZGFzIFdlYnRlbG5ldCBhYmdlc2NoYWx0ZXQuIEljaCBtb2VjaHRlIG5pY2h0IHNhZ2VuLCBkYXNzCmVzIGRpZSBDcmFzaHMgdmVydXJzYWNodGUsIGRvY2ggZXMgaXN0IGRpZSBlaW56aWcgZ3JvZXNzZXJlIE5ldWVydW5nLCBkaWUgbWlyCndpcmtsaWNoIGluIGRlbiBTaW5uIGtvbW10LgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKEdsb2luc29uLCAyMi4gQXVnIDIwMDYsIDEwOjM0OjA1KToKICAgICBMaXN0ZSBkZXIgTWl0c3BpZWxlciB2b20gRGllLCAyMi4gQXVnIDIwMDYsIDEwOjMyOjA3ICgxNiBUZWlsbmVobWVyKQoKSGFiZW5pY2h0cy4uLi4uLi5zIFNlZ2ltZXIuLi4uLi4uLi53cyBHaW5na28uLi4uLi4uLi4uLnMgR3VsYWhyLi4uLi4uLi4uLndzCkRhZWwuLi4uLi4uLi4uLmkucyBKYW1lc29uLi4uLi4uLi5pLnMgSmFubmUuLi4uLi4uLi4uLi5TIENyb2Z0Li4uLi4uLi4uLi4uUwpLbmFyei4uLi4uLi4uLi5pLlMgS2Vzc2EuLi4uLi4uLi4uLi5tIEdyaW1tYm9ybi4uLi4uLi4ubSBLaXJpYS4uLi4uLi4uLi4uLm0KR2xvaW5zb24uLi4uLi4uLi5IIEhpZ2hsYW5kZXIuLi4uLmkuVyBNdWFkaWIuLi4uLi4uLi5pLkUgUnVtYXRhLi4uLi4uLi4uLi5HCgpbQWxsZ2VtZWluOkdsb2luc29uXSBIdWksIHJlYWxlIEdyb2Vzc2UuCls8TWFzdGVSPjpHbG9pbnNvbl0gdXAKWzxNYXN0ZVI+OjxNYXN0ZVI+XSBEYXMgTVVEIGxhZXVmdCBqZXR6dCAxMCBNaW51dGVuIHVuZCA0MyBTZWt1bmRlbi4gRXMgc2luZApbPE1hc3RlUj46PE1hc3RlUj5dIG1vbWVudGFuIDE2IFNwaWVsZXIgZWluZ2Vsb2dndDsgZGFzIE1heGltdW0gbGFnIGhldXRlIGJlaQpbPE1hc3RlUj46PE1hc3RlUj5dIDQ4IHVuZCBkZXIgUmVrb3JkIGJpc2hlciBpc3QgMTk2LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY3Jhc2ggKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxMDo0MTo1OCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjIzNTMwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKSGlobywKCmxhdXQgQ29yZSBpc3QgZGFzIE11ZCBpbiBkZXIgR2FyYmFnZUNvbGxlY3Rpb24gYW4gZWluZXIgUmVmZXJlbnplbmZyZWlnYWJlIGluCmVpbmVyIENsb3N1cmUgdmVyc3RvcmJlbi4KRXMgc2NoZWludCBhbHNvIGVpbiBGZWhsZXIgaW4gZGVyIFNwZWljaGVydmVyd2FsdHVuZyB6dSBzZWluLgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChNdWFkaWIsIDIyLiBBdWcgMjAwNiwgMTA6NDI6MzApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1NjIzNTY0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzU2NDUKdW5kIHdhcyB3aWxsc3QgZHUgdW5zIGhpbGZyZWljaGVzIGRhbWl0IHNhZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKEhpZ2hsYW5kZXIsIDIyLiBBdWcgMjAwNiwgMTA6NDM6NDgpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyMzYxNTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1Ck5ldWdpZXJkZSBiZWZyaWVkaWdlbi4gRmluZGUgaWNoIGF1Y2ggZ3V0IHNvLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKE1hcmN1cywgMjIuIEF1ZyAyMDA2LCAxMDo0OToyMCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExNTYyMzYyMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1CkRpZSBGcmFnZSBpc3QgZWhlciB3YXJ1bSBkaWUgR2FyYmFnZSBDb2xsZWN0aW9uIGxpZWYgLi4uIGV2dAp3YXIgd2llZGVyIG1hbCBTcGVpY2hlciBBbGxlIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE51ciBtYWwgc28genVtIEZlc3RoYWx0ZW4gLi4uLCAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDEwOjUwOjI0KToKfiMhIHJuPU1hcmN1cyBydD0xMTU2MjM2NTYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQppY2gga2FtIG5pY2h0IGlucyBtdWQgdW5kIGhhYiBtaWNoIGF1ZiBkZXIgc2hlbGwgZWluZ2Vsb2dndC4KZGVyIHNwZWljaGVydmVyYnJhdWNoIHNjaGllbiBub3JtYWwKYWJlciBsYWV1ZnQgZGVyIGdhcmJhZ2Vjb2xsZWN0IG5pY2h0IGVoIHp5a2xpc2NoPwppY2ggYmluIGRhIGxlaWRlciBrZWluIGV4cGVydGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE51ciBtYWwgc28genVtIEZlc3RoYWx0ZW4gLi4uLCAoUnVtYXRhLCAyMi4gQXVnIDIwMDYsIDEwOjUxOjEwKToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjM2NjI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQpXYXMgbWljaCB2ZXJ3aXJydCwgaXN0IGRpZSB0YXRzYWNoZSwgZGFzcyBkZXIgR0QgZGFubiBnbGVpY2ggendlaSB3ZWl0ZXJlIE1hbGUKYWJnZXN0dWVyenQgaXN0LgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChNdWFkaWIsIDIyLiBBdWcgMjAwNiwgMTA6NTE6NDQpOgp+IyEgcm49UnVtYXRhIHJ0PTExNTYyMzY2NzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1CmluIHdlbGNoZW0gemVpdHJhdW0gd2FyIGRhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE51ciBtYWwgc28genVtIEZlc3RoYWx0ZW4gLi4uLCAoQ3JvZnQsIDIyLiBBdWcgMjAwNiwgMTA6NTM6MzApOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyMzY3MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1CklubmVyaGFsYiB3ZW5pZ2VyIE1pbnV0ZW4uICBJY2ggaGFiIHNlbGJzdCBudXIgaW5zZ2VzYW1tdCAyIGJlb2JhY2h0ZXQsCkdkQSBkZXJlciA0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE51ciBtYWwgc28genVtIEZlc3RoYWx0ZW4gLi4uLCAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDEwOjU0OjAwKToKfiMhIHJuPUNyb2Z0IHJ0PTExNTYyMzY4MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1CjQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKFJ1bWF0YSwgMjIuIEF1ZyAyMDA2LCAxMDo1NDoxNik6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjIzNjg0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzU2NDUKTmFjaCBkZW0gTG9ncyB3YXJlbiBlcyAzLgpSdW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKENyb2Z0LCAyMi4gQXVnIDIwMDYsIDEwOjU2OjA2KToKfiMhIHJuPVJ1bWF0YSBydD0xMTU2MjM2ODU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQpMaWVzIE1lZ2FzY2htYXJybiwgTXVhZGliLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxMDo1NjoyOCk6Cn4jISBybj1Dcm9mdCBydD0xMTU2MjM2OTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQpuZWluIGRhbmtlCmRhcyBoYWJlIGljaCBoaW50ZXIgbWlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChKYW1lc29uLCAyMi4gQXVnIDIwMDYsIDEwOjU2OjU0KToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjM2OTg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQpJY2ggaGFiIGF1Y2ggNCBDcmFzaGVzIGdlaGFidCwgaWNoIGhhYiBqZXdlaWxzIGRpcmVrdCB3aWVkZXIgdm9uIEhhbmQKY29ubmVjdGVkLgoxLiBDcmFzaCBjYS4gMTA6MTkKMi4gQ3Jhc2ggY2EuIDEwOjIxCjMuIENyYXNoIGNhLiAxLTIgbWluIHNwYWV0ZXIKNC4gQ3Jhc2ggY2EuIHdlaXRlcmUgMS0yIG1pbiBzcGFldGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChSdW1hdGEsIDIyLiBBdWcgMjAwNiwgMTA6NTg6MjApOgp+IyEgcm49SmFtZXNvbiBydD0xMTU2MjM3MDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQoxLiBDcmFzaCAxMDoxOQoyLiBDcmFzaCAxMDoyMQozLiBDcmFzaCAxMDoyMQpha3J1ZWxsZXIgR0QgbGFldWZ0IHNlaXQgMTA6MjEKUnVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChab29rLCAyMi4gQXVnIDIwMDYsIDExOjAyOjA1KToKfiMhIHJuPVJ1bWF0YSBydD0xMTU2MjM3MTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTY0NQptaXN0LCBkYW5uIHNpbmQgZGllIGxvZ2ZpbGVzIG1pdHRsZXJ3ZWlsZSB2b20gZXJzdGVuIGNyYXNoIHJvdGllcnQuCnZpZWxsZWljaHQgZG9jaCBuZW4gaGFyZHdhcmUtcHJvYmxlbT8KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOdXIgbWFsIHNvIHp1bSBGZXN0aGFsdGVuIC4uLiwgKFplc3N0cmEsIDIyLiBBdWcgMjAwNiwgMTE6MDM6NTEpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyMzY2MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1NjQ1CkRlciBnYXJiYWdlX2NvbGxlY3Rpb24oKSB3aXJkIHZvbSBHYW1lZHJpdmVyIGVyc3QgaW5pdGlpZXJ0LCB3ZW5uIGRlciBTUGVpY2hlcgprbmFwcCwgc293ZWl0IGljaCB3ZWlzcy4gRXMgZ2lidCBlaW5lIGVmdW4sIG1pdCBkZXIgbWFuIGRhcyBhdWNoIHBlciBIYW5kCmluaXRpaWVyZW4ga2FubiwgYWJlciBkYXMgd2lyZCB6dW1pbmRlc3QgaW4gZGVyIEJhc2lzLU11ZGxpYiBuaWNodCBiZW51dHp0LgpVbmQgc29sbCB2ZXJtdXRsaWNoIGF1Y2ggbmljaHQgYmVudXR6dCB3ZXJkZW4sIGRhIGdhcmJhZ2VfY29sbGVjdGlvbigpIGluCnNpbXVsX2VmdW4uYyB1ZWJlcnNjaHJpZWJlbiBpc3QgbWl0IGRlbSBIaW53ZWlzOiAid3JpdGUoIkNhbGwgR0Mgbm93IGFuZCB0aGUKbXVkIHdpbGwgY3Jhc2ggaW4gNS02IGhvdXJzLiBET05UIERPIElUIVxuIik7IgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTnVyIG1hbCBzbyB6dW0gRmVzdGhhbHRlbiAuLi4sIChab29rLCAyMi4gQXVnIDIwMDYsIDExOjA2OjI5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE1NjIzNzQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzU2NDUKQXVjaCBpbSB2b3JoZXJpZ2VuIENyYXNoIHd1cmRlIGlyZ2VuZHdpZSBTcGVpY2hlciBrbmFwcC4gWnVtaW5kZXN0IHJvdHp0ZQpkZXIgVHJlaWJlciBuZSBnYW56ZSBNZW5nZSBzb2xjaGVyIE1lbGR1bmdlbiBpbiBzZWluIERyaXZlcmxvZy4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGNyYXNoIChNdWFkaWIsIDIyLiBBdWcgMjAwNiwgMTI6NDQ6MjgpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyMzYxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3Ck5vY2htYWwgSGksCgpzbyB3aWUgZXMgYXVzc2llaHQsIHdpcmQgZGVyIEdhcmJhZ2VDb2xsZWN0b3IgZGFubiBnZXJ1ZmVuLCB3ZW5uIHdpciBhbiBlaW5lCmRlZmluaWVydGUgU3BlaWNoZXJncmVuemUga29tbWVuLiBEYW5uIGNyYXNodCBlcy4KTWFuIGthbm4gbnVuIGFuIDIgRGluZ2VuIGRyZWhlbjoKMS4gYW0gR2FyYmFnZUNvbGxlY3RvciwgZXIgc29sbHRlIG5pY2h0IGNyYXNoZW4KMi4gYW4gZGVyIFNwZWljaGVyZ3JlbnplLiBEYXp1IHNvbGx0ZSBtYW4gamVkb2NoIGF1Y2ggU3BlaWNoZXIgenVyIFZlcmZ1ZWd1bmcKaGFiZW4KCkljaCB3dWVyZGUgYW4gYmVpZGVuIEdyZW56ZW4gc2NocmF1YmVuIHdvbGxlbi4KRGFzIGhlaXNzdCB3aXIgaGFiZW4gQmVkYXJmIGFuIFNwZWljaGVybW9kdWxlbi4KCkljaCBwb3N0ZSBkYXMgYXVjaCBub2NobWFsIHBhc3NlbmQgaW4gZGllIFZlcmVpbnNydWJyaWsuCgpHcnVzcwpNdWFkaWIKcHM6IGRhbmtlIGFuIFplc3N0cmEgZnVlciBkaWUgVW50ZXJzdHVldHp1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNyYXNoIChDcm9mdCwgMjIuIEF1ZyAyMDA2LCAxMjo0NTo1Mik6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjI0MzQ2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKRXZ0bCBtYWwgc2NoYXVlbiB3YXMgc2ljaCBpbSBMRE11ZCBhbSBHQyBnZWFlbmRlcnQgaGF0LiAgSWlyYyB3dXJkZSBkYSBkZXIKZWluIG9kZXIgYW5kZXJlIEJ1ZyBhdXNnZWJhdXQuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogY3Jhc2ggKEdub21lLCAyMi4gQXVnIDIwMDYsIDEyOjQ4OjQzKToKfiMhIHJuPU11YWRpYiBydD0xMTU2MjQzNDY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0Nwp3aXIga29tbWVuIG5hY2ggMiB3b2NoZW4gYW4gZWluZSBzcGVpY2hlcmdyZW56ZSwgZGllIHdpciBkYXZvciBuaWNodCBpbgplaW5lbSBkcmVpdmllcnRlbCBqYWhyIGVycmVpY2h0IGhhYmVuPwprYW5uIGljaCBuaWNodCBzbyByaWNodGlnIGdsYXViZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogY3Jhc2ggKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxMjo1MDoxMik6Cn4jISBybj1Hbm9tZSBydD0xMTU2MjQzNzIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpkaWUgc3BlaWNoZXJncmVuemUgd3VyZGUgZXJyZWljaHQsIHVuYWJoYWVuZ2lnIHZvbiBkZWluZW0gZ2xhdWJlbgplcyBzdGVsbHQgc2ljaCBuYXR1ZXJsaWNoIGRpZSBmcmFnZSwgd2FydW0gZGllcyBkZXIgZmFsbCBpc3QKZGllc2UgZnJhZ2Uga2FubiBpY2ggZGlyIG5pY2h0IGJlYW50d29ydGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogY3Jhc2ggKFpvb2ssIDIyLiBBdWcgMjAwNiwgMTI6NTI6MDApOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyNDM4MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CmJlZGV1dGV0IG5lYmVuIGRlciBiYXN0ZWxlaSBhbSBHQyBkYXNzIG1hbCBhbGxlIGF1ZiBkaWUgc3VjaGUgbmFjaCAKc3BlaWNoZXJmcmVzc2VybiBnZWhlbiBzb2xsdGVuLi4uLj8gCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogY3Jhc2ggKE11YWRpYiwgMjIuIEF1ZyAyMDA2LCAxMjo1NDowMik6Cn4jISBybj1ab29rIHJ0PTExNTYyNDM5MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CmphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBjcmFzaCAoQ3JvZnQsIDIyLiBBdWcgMjAwNiwgMTI6NTU6MDIpOgp+IyEgcm49Wm9vayBydD0xMTU2MjQzOTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpFdnRsIHNvbGx0ZSBtYW4gYmVpIGVycmVpY2hlbiBkaWVzZXIgU3BlaWNoZXJncmVuemUgZWluZW4gT0JKX0RVTVAKYW5mZXJ0aWdlbiBsYXNzZW4uICBEYW5uIGhhdCBtYW4gYXVjaCB3YXMgcGVyIFNjcmlwdCB2ZXJ3ZXJ0YmFyZXMuCkFuc29uc3RlbiBrb25udGUgbWFuIGluIFVuaXRvcGlhIGF1Y2ggZ3V0IGR1cmNoIGVpbnplbG5lClNwZWljaGVydmVyYnJhdWNoc3NwaXR6ZW4gZGVuIFJlYm9vdCBhdXNsb2VzZW4uICBBbGEKYWxsb2NhdGUoPHBhc3NlbmRlIFphaGw+KS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBjcmFzaCAoSGlnaGxhbmRlciwgMjIuIEF1ZyAyMDA2LCAxMjo1ODowNSk6Cn4jISBybj1Dcm9mdCBydD0xMTU2MjQ0MTAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpXaWUgc2NoYWZmdGUgZXMgZGFzIE11ZCwgaW5uZXJoYWxiIHdlbmlnZXIgU2VrdW5kZW4gZGllCmtyaXRpc2NoZSBHcmVuemUgenUgZXJyZWljaGVuPwoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBjcmFzaCAoSGlnaGxhbmRlciwgMjIuIEF1ZyAyMDA2LCAxMzowNzo1OSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExNTYyNDQyODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3Ck9LLCBpY2ggZXJmYWhyZSBncmFkZSwgdWViZXIgZGllIEZvbGdlY3Jhc2hzIGlzdCBuaXggYmVrYW5udC4KSWNoIHppZWhlIGRpZSBGcmFnZSB6dXJ1ZWNrLiA6KQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBjcmFzaCAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDEzOjA5OjMzKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTE1NjI0NDI4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKZ2FyIG5pY2h0CmRpZSBhdXNzYWdlbiBiZXpvZ2VuIHNpY2ggbnVyIGF1ZiBkZW4gZXJzdGVuIGNyYXNoCm51ciBkaWVzZXIgaGF0IGVpbmVuIGNvcmUgaGludGVybGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBjcmFzaCAoR25vbWUsIDIyLiBBdWcgMjAwNiwgMTQ6MTI6NDApOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyNDM4MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CmljaCBtZWluZSBkYW1pdCBlaWdlbnRsaWNoIGV0d2FzIGFuZGVyZXM6Cndlbm4gd2lyIHN0YXR0IDUwME1CIDRHQiB6dXIgdmVyZnVlZ3VuZyBoYWV0dGVuLCB3YWVyZSBkYXMgendhciA4eApzbyB2aWVsLCBkYXMgbXVkIHd1ZXJkZSBkYW5uIGFiZXIgYmVpIGxpbmVhcmVtIHNwZWljaGVydmVyYnJhdWNoCnRyb3R6IGRlcyBkZXIgNEdCIGluIDE2LCBzdGF0dCBpbiAyIHdvY2hlbiBjcmFzaGVuLgppbnNvZmVybiB3dWVyZGUgZGVyIGdyb2Vzc2VyZSBzcGVpY2hlciBudXIgZGVuIGNyYXNoIGhpbmF1c3pvZWdlcm4sCmFiZXIgbmljaHQgYXVmaGFsdGVuLgoKZ25PbWUKCnAucy4gNEdCIEREUi1zcGVpY2hlciBrb3N0ZW4gbmljaHQgbWVociBhbHMgNTAwIGV1cm8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBjcmFzaCAoR2xvaW5zb24sIDIyLiBBdWcgMjAwNiwgMTQ6MTU6MjgpOgp+IyEgcm49R25vbWUgcnQ9MTE1NjI0ODc2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKRGVyIFNwZWljaGVydmVyYnJhdWNoIHNvbGx0ZSBhYmVyIGRhbmsgZWluZXIgR2FyYmFnZS1Db2xsZWN0aW9uIG5pY2h0IGxpbmVhcgphbnN0ZWlnZW4sIGRhbm4gd2FlciBuYWVtbGljaCBpcmdlbmR3YXMgZ2FueiBpbSBBcmdlbi4gCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogY3Jhc2ggKEJvaW5nLCAyMi4gQXVnIDIwMDYsIDE0OjE1OjU4KToKfiMhIHJuPUdub21lIHJ0PTExNTYyNDg3NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CkRlciBsaW5lYXJlIFNwZWljaGVydmVyYnJhdWNoIGlzdCBhYmVyIHJlaW5lIFNwZWt1bGF0aW9uLgpVbmFiaGFlbmdpZyB2b20gcmVhbGVuIFZlcmJyYXVjaCBtdXNzIGRlciBTcGVpY2hlcmZyZXNzZXIgbmF0dWVybGljaApnZWZ1bmRlbiB3ZXJkZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGNyYXNoIChHcmltbWJvcm4sIDIyLiBBdWcgMjAwNiwgMTQ6MTc6MjApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1NjI0ODkyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKQWVoLCBpY2ggZGFjaHRlIGRlciBHQyBzY2hsYWVndCBkYW5uIHp1IHdlbm4gZGVyIFNwZWljaGVyIGFtIExpbWl0IGlzdCB1bmQKbGFlc3N0IGRhbm4gZGFzIG11ZCBjcmFzaGVuPyBJbnNvZmVybjogV2llc28gc29sbHRlIGRlciBHQyBkZW4gKHZlcm11dGV0ZW4sCmxpbmVhcmVuKSBTcGVpY2hlcnZlcmJyYXVjaCBiZWVpbmZsdXNzZW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGNyYXNoIChab29rLCAyMi4gQXVnIDIwMDYsIDE0OjE5OjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTExNTYyNDg5NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3ClNvIGlzdCBlcy4gClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBjcmFzaCAoTXVhZGliLCAyMi4gQXVnIDIwMDYsIDE0OjIwOjE5KToKfiMhIHJuPUdub21lIHJ0PTExNTYyNDg3NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CmRpZSByZWNobnVuZyBpc3QgcmljaHRpZwphYmVyIHdvaGVyIGtvbW10IGRpZSBhbm5haG1lLCBkZXIgdmVyYnJhdWNoIHNlaSBsaW5lYXIKdW5kIHdpZSBlcmtsYWVyc3QgZHUgbWl0IGRpZXNlciBhbm5haG1lIGplZGUgdm9yaGVyaWdlIHVwdGltZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGNyYXNoIChHbG9pbnNvbiwgMjIuIEF1ZyAyMDA2LCAxNDozMzoyNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1NjI0OTA0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKVW5kIHdhcnVtIHZlcm11dGVzdCBkdSwgZGFzcyBkaWVzIGRhcyBub3JtYWxlIG9kZXIgZ2FyIGdld3VlbnNjaHRlIFZlcmhhbHRlbgpkZXMgR0NzIGlzdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBjcmFzaCAoR25vbWUsIDIyLiBBdWcgMjAwNiwgMTQ6Mzk6MTQpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYyNDkyMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3Cm51bmphLCBiZWkgZXhwb25lbnppZWxsZW0gc3BlaWNoZXJ2ZXJicmF1Y2ggd2FlcmUgZGllIGRlYmF0dGUgdWViZXIKbmV1ZW4gc3BlaWNoZXIgbmljaHQgc2VociBzaW5udm9sbC4KCnZlcnN0ZWh0IG1pY2ggbmljaHQgZmFsc2NoOiB2aWVsIHNwZWljaGVyIGthbm4gbmllIHNjaGFkZW4sIGJpbiBpY2gKamEgYXVjaCBkYWZ1ZXIuIG51ciBicmluZ3QgdW5zIGRhcyAodmVybXV0bGljaCkgbmljaHQgdmllbCwgd2VubgpkZXIgc3BlaWNoZXJmcmVzc2VyIG5pY2h0IGdlZnVuZGVuIHdpcmQuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IGNyYXNoIChHcmltbWJvcm4sIDIyLiBBdWcgMjAwNiwgMTQ6Mzk6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1NjI1MDAwNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKV2VpbCBpY2gsIGltIEdlZ2Vuc2F0eiBvZmZlbmJhciB6dSBEaXIsIGxlc2VuIGthbm4uIFVuZCB6d2FyIGF1Y2ggQXJ0aWtlbCAzNgp1bmQgYXJ0aWtlbCAzOC4gT2IgZ2V3dWVuc2NodCBvZGVyIG5vcm1hbCwgZXMgaXN0IGRhcyBha3R1ZWxsZSBWZXJoYWx0ZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGNyYXNoIChaZXNzdHJhLCAyMi4gQXVnIDIwMDYsIDE0OjQxOjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNTYyNDg5Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3Ck5hamEuIERlciBkcml2ZXIgYWt0aXZpZXJ0IGRlbiBHQyBlaWdlbnRsaWNoIGVyc3QsIHdlbm4gZXIgYW4gZGllClNwZWljaGVyZ3JlbnplIGtvbW10LCB3ZW5uIGljaCBuaWNodCB3YXMgZXJoZWJsaWNoIHVlYmVyc2VoZW4gaGFiLgpJY2ggbmVobSBhbGxlcmRpbmdzIG1hbCBzdGFyayBhbiwgZGFzcyBhdWNoIG9obmUgZWluZW4gR0MtTGF1ZiB3aWVkZXIKZnJlaWdlZ2ViZW5lciBTcGVpY2hlciAoei5CLiBPYmpla3QgemVyc3RvZXJ0KSB3aWVkZXIgYmVudXR6dCB3aXJkLgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogY3Jhc2ggKEdsb2luc29uLCAyMi4gQXVnIDIwMDYsIDE0OjQ0OjIwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU2MjUwMzgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpKYSwgdW5kIHdlbm4gaWNoIGdlbmF1IGxlc2UsIGRhbm4gd3VlbnNjaHQgTXVhZGliIGF1Y2ggZGFzIE1pc3N2ZXJoYWx0ZW4KYWJ6dXN0ZWxsZW4uIFVuZCBkYSBhdWNoIGRlciBTcGVpY2hlcmthdWYgYXVjaCBudXIgZ2VwbGFudCBpc3QsIHNvbGx0ZSBkYXMKZGlza3V0aWVydGUgenVrdWVuZnRpZ2UgVmVyaGFsdGVuIGRlcyBTcGVpY2hlcnZlcmJyYXVjaHMgbmFjaCBhbGwgZGllc2VuCkFlbmRlcnVuZ2VuIGRlbWVudHNwcmVjaGVuZCB2ZXJhZW5kZXJ0IHNlaW4uIFNjaG9lbiBkYXNzIHdpciB1ZWJlciBCZWthbm50ZXMKZ2VyZWRldCBoYWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBjcmFzaCAoR2xvaW5zb24sIDIyLiBBdWcgMjAwNiwgMTQ6NDc6MzApOgp+IyEgcm49WmVzc3RyYSBydD0xMTU2MjUwNDc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpJY2gga2VubmUgZGFzIFNwZWljaGVyYXVmcmFldW12ZXJoYWx0ZW4gZGVzIERyaXZlciBuaWNodCwgd2Vpc3MgYWxzbyBuaWNodCBvYgpiZWkgZWluZW0gcmVtb3ZlIGVpbmVzIE9iamVrdHMgZGVzc2VuIFNwZWljaGVyIGF1Y2ggZXhwbGl6aXQgd2llZGVyCmZyZWlnZWdlYmVuIHdpcmQgb2RlciBlYmVuIGVyc3QgZHVyY2ggZWluZSBHQy4gRmFsbHMgZXJzdGVyZXMsIHVtc28gYmVzc2VyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBjcmFzaCAoWm9vaywgMjIuIEF1ZyAyMDA2LCAxNToxNDo0Myk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU2MjUwODUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpJbSBHcnVuZGUgbGFldWZ0IGVzIGF1ZiBlaW5lIEJ1ZW5kZWwgYW4gTWFzc25haG1lbiBoZXJhdXM6CgphKSBOZXVlciBTcGVpY2hlciBpbiBkaWUgS2lzdGUgc3RvcGZlbgpiKSBTcGVpY2hlcnZlcmhhbHRlbiBkZXMgVHJlaWJlcnMgaGVyYXVzZmluZGVuLCBnZ2YuIE11ZWxsc2FtbWxlcgogICB1bXN0cmlja2VuCmMpIFNwZWljaGVyZnJlc3NlciBpbSBNdWQgZmluZGVuCgpBbSBlaW5mYWNoc3RlbiBpc3Qgd29obCBhKSB6dSBiZXdlcmtzdGVsbGlnZW4uIFVuZCBmdWVyIGIpIHVuZCBjKSB3ZXJkZW4KZ2VybmUgaGlsZmVyZWljaGUgSGlud2Vpc2UgYW5nZW5vbW1lbi4KCkZhbGxzIG5vY2ggamVtYW5kIGVpbiBkKSAuLi4gZSkgb2RlciBzb25zdCB3aWUgaGF0LCBudXIgaGVyIGRhbWl0LiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBjcmFzaCAoR25vbWUsIDIyLiBBdWcgMjAwNiwgMTU6MTY6MDUpOgp+IyEgcm49Wm9vayBydD0xMTU2MjUyNDgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwptaXIgZmFlbGx0IGF1Y2ggbmljaHQgbWVociBlaW4sIGljaCB3dWVyZGUgbnVyIGFuZGVycyBzb3J0aWVyZW4uCgpiKSB2b3IgYykgdm9yIGEpLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBjcmFzaCAoT3JrdG9ldGVyLCAyMi4gQXVnIDIwMDYsIDIxOjQ0OjA3KToKfiMhIHJuPUdub21lIHJ0PTExNTYyNTI1NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CmQpIERpZSBTcGllbGVyIG5pY2h0cyBpbnMgTUcgbGFzc2VuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IGNyYXNoIChLZWxseWJ1bmR5LCAyMy4gQXVnIDIwMDYsIDE5OjMyOjM1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTU2Mjc1ODQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwplKSBkaWUgaWdub3JlbGlzdGUgbmljaHQgenUgbGFuZyB3ZXJkZW4gbGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogY3Jhc2ggKEFuYXRvbCwgMjMuIEF1ZyAyMDA2LCAyMDozMzowNSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNTYzNTQzNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CgpJY2ggdHUnIG1pciBtaXQgZGVyIE5vdHdlbmRpZ2tlaXRzZXJrZW5udG5pcyBldHdhcyBzY2h3ZXIuCkRlciBlaW56aWdlIFp1c2FtbWVuaGFuZyB6d2lzY2hlbiBDcmFzaCB1bmQgU3BlaWNoZXIgCmlzdCwgZGFzcyBkaWUgR0MsIGRpZSBkZW4gU3BlaWNoZXJwbGF0eiBkZXIgKG1pdHRsZXJ3ZWlsZSkgCnVucmVmZXJlbnppZXJ0ZW4gT2JqZWt0ZSB3aWVkZXIgZnJlaWdpYnQsIGxvc2dlbGF1ZmVuIGlzdCwgCndlaWwgZGFzIE11ZCBtZWhyIFNwZWljaGVycGxhdHogaGF0IGhhYmVuIHdvbGxlbiBhbHMKZGFzIEJldHJpZWJzc3lzdGVtIHp1ciBWZXJmdWVndW5nIHN0ZWxsZW4ga29ubnRlLgoKYSkgRGllIEdDIGlzdCBnZWNyYXNodC4KYikgRGllIEdDIGlzdCBuYWNoIGVpbiBwYWFyIFRhZ2VuIFVwdGltZSBhbmdlbGF1ZmVuLgoKRGFzIHNpbmQgendlaSBQcm9ibGVtZSwgZGllIGFuYWx5c2llcnQgdW5kIGJlaG9iZW4gCndlcmRlbiBzb2xsdGVuLgoKSWNoIGdlaGUsIHNvbGFuZ2UgbWljaCBrZWluZXIgdm9tIEdlZ2VudGVpbCB1ZWJlcnpldWd0LCAKZGF2b24gYXVzLCBkYXNzIGRlciBFaW5iYXUgdm9uIG5ldWVtIFNwZWljaGVyIE9ITkUgZGllIApCZWhlYnVuZyB2b24gYSkgdW5kL29kZXIgYikgZGVuIENyYXNoIC0gc28gZGFzIFByb2JsZW0KaW4gZGllc2VyIEFydCByZXByb2R1emllcmJhciBpc3QgLSBudXIgaGluYXVzem9lZ2VydCwgdW5kIGRhcyAKbmljaHRtYWwgdW0gZWluZSBsaW5lYXJlIFplaXRtZW5nZS4KCk1JVCBkZXIgQmVoZWJ1bmcgdm9uIGEpIHVuZC9vZGVyIGIpIGdpYnQgZXMga2VpbmVuIEJlZGFyZgpmdWVyIGVpbmUgRXJ3ZWl0ZXJ1bmcgZGVzIEhhdXB0c3BlaWNoZXJzLiAKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IGNyYXNoIChNdWFkaWIsIDI0LiBBdWcgMjAwNiwgMTM6MTk6MzEpOgp+IyEgcm49QW5hdG9sIHJ0PTExNTYzNTc5ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CkhhbGxvLAoKZGllIEJlaGVidW5nIHZvbiBhKSB1bmQgYikgc29sbHRlIGphIGF1Y2ggYXVzZHJ1ZWNrbGljaCBzdGF0dGZpbmRlbi4KV2VubiBkYXMgZXJmb2xncmVpY2ggaXN0LCB3dWVyZGUgZGFzIHNlbGJzdHZlcnN0YWVuZGxpY2ggYXVjaCByZWljaGVuLgoKV2FzIGRhYmVpIGF1c3NlciBhY2h0IGdlbGFzc2VuIHdpcmQsIGlzdCBkYXMgYXVjaCBpbiBkZW4gbGFuZ2VuIFVwdGltZXMgZGVyClNwZWljaGVydmVyYnJhdWNoIHJlbGF0aXYgc2NobmVsbCBhbnN0aWVnIHVuZCBkYW5uIGJlaSBldHdhIDQ5MCBNQiBrb25zdGFudApibGllYi4KRGllc2VyIFdlcnQgaXN0IHNlaHIgZW5nIGFuIGRlciBhYnNvbHV0ZW4gU3BlaWNoZXJncmVuemUsIGRhIGphIG5vY2ggZWluaWdlcwphbiBSZXNlcnZlZC1NZW1vcnkgdm9uIGRlbSBNYXh3ZXJ0IGFienV6aWVoZW4gaXN0LgoKRGFzIGJlZGV1dGV0LCBkYXNzIGRhcyBNdWQgc3RhcmsgYW4gZGVyIEdyZW56ZSBsaWVndC4KU29sYW5nZSBudW4gZGllIEdhcmJhZ2VDb2xsZWN0aW9uIGtvcnJla3QgZnVua3Rpb25pZXJ0LCB1bmQgd2llZGVyIFNwZWljaGVyCmZyZWlnZWdlYmVuIHdpcmQsIGlzdCBkaWVzIGtlaW4gUHJvYmxlbS4KU29iYWxkIGplZG9jaCBrZWluIFNwZWljaGVyIGZyZWlnZWdlYmVuIHdlcmRlbiBrYW5uLCB1bmQgZGEgd2lyIHN0YXJrIGFuIGRlcgpHcmVuemUgc2luZCwga2FubiBkaWVzIGJlaSBtb2RlcmF0ZW0gT2JqZWt0d2FjaHN0dW0gamEgcGFzc2llcmVuLCB3aXJkIGRlcgpUcmVpYmVyIGRhcyBTcGllbCBiZWVuZGVuLgpXZW5uIGRlciBkYWZ1ZXIgdm9yZ2VzZWhlbmUgQ29kZSBmdW5rdGlvbmllcnQsIHdpcmQgZGFzIGtvbnRyb2xsaWVydApnZXNjaGVoZW4sIGFiZXIgZGVyIEVmZmVrdCBpc3QgZGVyIGdsZWljaGU6IGRpZSBVcHRpbWUgaXN0IHp1IEVuZGUKCkRpZSBiZXN0ZWhlbmRlIFNwZWljaGVyZ3JlbnplIGtvZW5uZW4gd2lyIG5pY2h0IHdpcmtsaWNoIHZlcnNjaGllYmVuLCBkYSBkYXMKU3lzdGVtIHp1IGRpZXNlbSBaZWl0cHVua3Qga2F1bSBwaHlzaWthbGlzY2hlciBTcGVpY2hlciBtZWhyIGZyZWkgaXN0LgoKVW50ZXIgZGllc2VtIEdlc2ljaHRzcHVua3Qgd3VlcmRlIGljaCBkaWUgQW5zY2hhZmZ1bmcgZWluZXIKU3BlaWNoZXJlcndlaXRlcnVuZyBkb2NoIHp1bWluZGVzdCBlcndhZWdlbi4gR2FueiB1bmFiaGFlbmdpZyB2b24gZGVuIENyYXNoZXMuCgpPYmVuIGJlc2NocmllYmVuZXMgVmVyaGFsdGVuIGlzdCBhdXMgbWVpbmVuIEJlb2JhY2h0dW5nZW4gYmVzY2hyaWViZW4uIERlcgpBdWZydWYgdm9uIHRvcCB3YXIgZHVyY2hhdXMgcmVnZWxtYWVzc2lnLgpFaW5lIFN0YXRpc3RpayBleGlzdGllcnQgZXJzdCBzZWl0IGt1cnplciBaZWl0LgoKVm9yIGRlciBBbnNjaGFmZnVuZyB2b24gU3BlaWNoZXIgc29sbHRlIGFsbGVyZGluZ3Mgbm9jaCBlaW5lcyBnZXBydWVmdCB3ZXJkZW46Ckthbm4gZGVyIFRyZWliZXIgZWluZW4gaG9laGVyZW4gU3BlaWNoZXIgdWViZXJoYXVwdCB2ZXJ3YWx0ZW4uCgpHcnVzcwpNdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBjcmFzaCAoR2xvaW5zb24sIDI0LiBBdWcgMjAwNiwgMTM6Mjg6NTMpOgp+IyEgcm49TXVhZGliIHJ0PTExNTY0MTgzNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3Cj4gZGFzcyBkYXMgTXVkIHN0YXJrIGFuIGRlciBHcmVuemUgbGllZ3QKCklzdCBpbiBldHdhIGF1Y2ggbWVpbiBHZWRhbmtlLiBBbnNvbnN0ZW4ga29lbm5lbiB3aXIgamEgYXVjaCB2aXJ0dWVsbGVuClNwZWljaGVyIG51dHplbi4gSXN0IGphIG51ciBHZXNjaHdpbmRpZ2tlaXRzZmFrdG9yIDEwXjUgYmlzIDEwXjYgVW50ZXJzY2hpZWQKendpc2NoZW4gUGxhdHRlIHVuZCBSQU0sIGRhbm4gZ2V3aW5udCBkYXMgV29ydCBMYWcgd2llZGVyIGVpbiB3ZW5pZyBhbgpCZWRldXR1bmcgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogY3Jhc2ggKEdyaW1tYm9ybiwgMjQuIEF1ZyAyMDA2LCAxNDoxNToxNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU2NDE4OTMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpKYWphLCB1bmQgdm9yIGd1dCAxMCBKYWhyZW4gaXN0IGRhcyBNRyB1bWdlem9nZW4gdm9uIGVpbmVtIDY0IE1CIFJlY2huZXIgYXVmCmVpbmVuIG1pdCAyIENQVXMgdW5kIDEyOCBNQi4gVW5kIGRhcyBCZXRyaWVic3N5c3RlbSB3YXIgZGEgYXVjaCBzY2hvbiBkYWJlaS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogY3Jhc2ggKEFsa29ob2wsIDI0LiBBdWcgMjAwNiwgMTQ6MTY6MDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTY0MjE3MTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU2MjM1MDQ3CnNjaG9lbiwgZGFzcyBkdSBkYXMgZ2VzYWd0IGhhc3QKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBjcmFzaCAoSmltZGlncml6LCAyNC4gQXVnIDIwMDYsIDIxOjA3OjU4KToKfiMhIHJuPUFsa29ob2wgcnQ9MTE1NjQyMTc2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTYyMzUwNDcKQWxzIDMyYml0LWJpbmFyeSBzb2xsdGUgZGVyIGRyaXZlci1jb2RlIGtlaW4gUHJvYmxlbSBtaXQgYmlzIHp1IDQgR0IgaGFiZW4uCkRhcyBPUyB3aXJkIGFsbGVyZGluZ3Mgc2VpbmUgNEdCIEFkcmVzc3JhdW0gendpc2NoZW4gS2VybmVsLVNwYWNlIHVuZApVc2VyLVNwYWNlCmF1ZnRlaWxlbiwgdW5kIG51ciBkZXIgVXNlci1TcGFjZSBzdGVodCBkYW5uIHp1ciBWZXJmdWVndW5nLiAKV2llIGRlciBMaW51eC1LZXJuZWwgZGFzIGF1ZnRlaWx0IHdlaXNzIGljaCBuaWNodCwgaWNoIGRlbmsgYWJlcgplcyB3aXJkIGZ1ZXIgZGFzIE1VRCBlcnN0bWFsIGdlbnVnIHNlaW4gKFBBRSBoaWxmdCBkYSB1ZWJyaWdlbnMKbmljaHRzKS4gQWxzbyB3ZW5uIG1hbiAyLTQgR0IgaW4gZGVuIFJlY2huZXIgc3RlY2t0IGthbm4KZGFzIGF1Y2ggYmVudXR6dCB3ZXJkZW4uIEVyc3QgYmVpIG1laHIgbXVlc3N0ZSBtYW4gdm9sbHN0YWVuZGlnCmF1ZiA2NC1iaXQgUGxhdHRmb3JtIHVtc3RlaWdlbiwgZnVlciBzb29vdmllbGUgT2JqZWt0ZSBpc3RzIGFiZXIKbm9jaG4gV2VpbGNoZW4gaGluLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IGNyYXNoIChaZXNzdHJhLCAyNC4gQXVnIDIwMDYsIDIyOjQ3OjM5KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTU2NDQ2NDc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1NjIzNTA0NwpTdGFuZGFyZG1hZXNzaWcgdmVyd2VuZGV0IGVpbiBha3R1ZWxsZW4gTGludXhrZXJuZWwgZWluZW4gM0dCLzFHQi1TcGxpdCwgZC5oLgozR0IgVXNlci0gdW5kIDFHQiBLZXJuZWxzcGFjZS4gRGFzIHNvbGx0ZSBhbHNvIGluIGRlciBUYXQgdm9ybGFldWZpZyByZWljaGVuLgpXYXMgbWFuIGJlYWNodGVuIHNvbGx0ZSwgd2VubiBtZWhyIGFscyAxR0IgUkFNIGRyaW5zdGVja2VuLCBpc3QgZGVyCkhpZ2gtTWVtb3J5LVN1cHBvcnQuIEljaCB3ZWlzcyBuaWNodCwgd2llIGRlciBLZXJuZWwsIGRlciBqZXR6dCBsYWV1ZnQsCmtvbmZpZ3VyaWVydCBpc3QsIGplZGVuZmFsbCBtdXNzIENPTkZJR19ISUdITUVNNEcgZWluZ2VzY2hhbHRldCBzZWluLCB3ZW5uCm1hbiBzaWNoIHp3aXNjaGVuIDEgdW5kIDQgR0IgUkFNIGJld2VndC4KV2FzIGRlbiBkcml2ZXIgYW5nZWh0OiBpY2ggaGFiIGhldXRlIEFiZW5kIGVpbmUgZW50c3ByZWNoZW5kZSBNb2RpZmlrYXRpb24gYW0KZHJpdmVyIG1laW5lcyBIb21lbXVkIHZvcmdlbm9tbWVuIChFcmhvZWh1bmcgZGVzIE1hbGxvYy1MaW1pdHMgdm9uIDQ5Nk1CCmF1ZiA5OTJNQikgdW5kIGVpbmZhY2ggZW5kbG9zIGxhbmcgT2JqZWt0ZSBlcnpldWd0LCBkaWUgdmllbCBTcGVpY2hlcgphbGxvemllcmVuLiBFcyBpc3QgYW5zY2hlaW5lbmQga2VpbiBQcm9ibGVtLCBkZXIgZHJpdmVyLVByb3plc3MgYmVsZWd0CmVyd2FydHVuZ3NnZW1hZXNzIGJpcyBlbnRzcHJlY2hlbmQgZGVyIG5ldWVuIE1heGltYWxncmVuemU6CgogVklSVCAgUkVTICBTSFIgU1dBUCBDT0RFIERBVEEgQ09NTUFORAogOTk0bSA3MDNtICA2ODggMjkwbSAgNDM2IDk5Mm0gZHJpdmVyCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXJudW5nIHZvciBkZW0gQ3Jhc2ggKE11YWRpYiwgIDEuIFNlcCAyMDA2LCAwOTozMzo1NCk6CkhpLAoKenVyIFplaXQgc3RlaWd0IGRlciBTcGVpY2hlcnZlcmJyYXVjaCBub2NoIGluIG5hY2h2b2xsemllaGJhcmVtIFVtZmFuZyBtaXQgZGVyCkFuemFobCBkZXIgT2JqZWt0ZSBpbSBNb3JnZW5HcmF1ZW4uCkplZG9jaCBuYWVoZXJuIHdpciB1bnMgZGFtaXQgd2llZGVyIGRlciBtYWdpc2NoZW4gU3BlaWNoZXJncmVuemUsIHdlbGNoZQpiaXNoZXIgZWluZW4gQ3Jhc2ggdmVydXJzYWNodGUuCkljaCBrYW5uIG5pY2h0IGF1c3NjaGxpZXNzZW4sIGRhcyB3aXIgd2llZGVyIGRpZXNlcyBQcm9ibGVtIGhhYmVuIHdlcmRlbi4KU29sbHRlIGVzIGNyYXNoZW4sIHdpcmQgZWluIHZlcmFlbmRlcnRlciBEcml2ZXIgYWt0aXZpZXJ0LCBkZXIgZGllc2VzIFByb2JsZW0KYmVoZWJlbiwgb2RlciB6dW1pbmRlc3QgYmVzc2VyIGVpbmdyZW56ZW4gc29sbC4KSWNoIGhvZmZlLCBkYXNzIHdpciBiYWxkIHdpZWRlciBsYWVuZ2VyZSBVcHRpbWVzIHJlYWxpc2llcmVuIGtvZW5uZW4sIGJpcwpkYWhpbiBiaXR0ZSBpY2ggdW0gVmVyc3RhZW5kbmlzLgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FybnVuZyB2b3IgZGVtIENyYXNoIChIdW1uaSwgIDQuIFNlcCAyMDA2LCAxNToyNjoxMSk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NzA5NjAzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTcwOTYwMzQKSGFsbG8sCgpkZXIgQ3Jhc2ggaXN0IHdpZSBiZWZ1ZXJjaHRldCBoZXV0ZSBuYWNodCBnZWtvbW1lbi4KCldpciBhcmJlaXRlbiBtaXQgSG9jaGRydWNrIGFuIGRlbiBQcm9ibGVtZW4uIE1laHIgaXN0IGRlcnplaXQgc2Nod2llcmlnIHp1CnZlcmt1ZW5kZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFpbCAoTXVhZGliLCAgNS4gU2VwIDIwMDYsIDIyOjU2OjA1KToKSGFsbG8sCgppY2ggaGFiZSBkZW4gU3BhbWFzc2Fzc2luIGFrdHVhbGlzaWVydC4KRGVzd2VpdGVyZW4gd3VyZGUgZGFzIFp1c3RlbGxza3JpcHQgaW5zIE11ZCBhbmdlcGFzc3QsIHNvIGRhc3MgZXMgbm9jaG1hbHMgZGllClgtU3BhbS1MZXZlbCBIZWFkZXJ6ZWlsZSBwcnVlZnQuCk1haWxzIGFiIFNwYW1sZXZlbCA2IHdlcmRlbiBuaWNodCB6dWdlc3RlbGx0LCBzb25kZXJuIGRpcmVrdCBnZWxvZXNjaHQuCkRlciBTcGFtbGV2ZWwgZWluZXIgZXh0ZXJuZW4gTWFpbCBrYW5uIG1hbiBhbSBFbmRlIGRlciBNYWlsIGFibGVzZW4uCgpTb2xsdGUgd2lkZXIgRXJ3YXJ0ZW4gTWFpbCB2ZXJsdXN0aWcgZ2VoZW4sIHNvIHNhZ3QgYml0dGUgQmVzY2hlaWQuCgpHcnVzcwpNdWFkaWIKCnBzOiBpbiBLdXJ6Zm9ybTogd2VuaWdlciBzcGFtLCB2aWVsbGVpY2h0IHZlcmx1c3QsIGZhbGxzIGJlbWVya3Q6IHNjaHJlaWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZXItQW5mb3JkZXJ1bmdlbiAoWm9vaywgIDguIFNlcCAyMDA2LCAxMDo1NzozMSk6Cn4jISBybj1ab29rIHJ0PTExNTc3MDU3Nzcgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExNTc3MDU3NzcKQWhqYSwgdWVicmlnZW5zLCBlcyB3ZXJkZW4gZ2VybmUgQW5tZXJrdW5nZW4sIEtvbW1lbnRhcmUsIFd1ZW5zY2hlCkVyZmFocnVuZ2VuIG1pdCBkZW4gU2VoZXItQW5mb3JkZXJ1bmdlbiBlbnRnZWdlbmdlbm9tbWVuLiBLb2VubnQgCklociBtaXIgZWluZmFjaCB6dW1haWxlbiwgZGFubiBiZXJ1ZWNrc2ljaHRpZ2VuIHdpciBkYXMgaW0gCmtvbW1lbmRlbiBKYWhyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZWxsYWJmdWhyIChNdWFkaWIsIDExLiBTZXAgMjAwNiwgMTQ6MjU6MTkpOgpIYWxsbywKCndpZSBlaW5pZ2Ugdm9uIEV1Y2ggYmVtZXJrdCBoYWJlbiwgaXN0IGRlciBUcmVpYmVyIGRlcyBNb3JnZW5HcmF1ZW4genVyIFplaXQKZXR3YXMgdW5zdGFiaWwuIFNvbGx0ZXQgSWhyIGVzIG5pY2h0IGJlbWVya3QgaGFiZW46IGlkZWx0IHdlaXRlciwgYWxsZXMgaXN0Cmd1dCA6KQoKRWluZSBVcnNhY2hlIGlzdCBkaWUgR2FyYmFnZUNvbGxlY3Rpb24uIERpZXNlIGxhZXVmdCBiZWkgdm9sbGVtIFNwZWljaGVyIGxvcwp1bmQgaXN0IGluIGRpZXNlciBTaXR1YXRpb24gd29obCBmZWhsZXJiZWhhZnRldC4KTW9lZ2xpY2hlcndlaXNlIGxhZXNzdCBzaWNoIGRpZXMgdW1nZWhlbiwgaW5kZW0gbWFuIGRlbiBHYXJiYWdlQ29sbGVjdG9yIGV0d2FzCmZydWVoZXIgYWt0aXZpZXJ0LgpEaWVzIGlzdCB6dSB0ZXN0ZW4uCgpEYWhlciB3ZXJkZSBpY2ggaGV1dGUgQWJlbmQsIHp3aXNjaGVuIDIwIHVuZCAyMSBVaHIsIGRlbiBHYXJiYWdlQ29sbGVjdG9yIHBlcgpIYW5kIHN0YXJ0ZW4uCldlbm4gZGFzIGd1dCBnZWh0LCBkYW5uIGhhYmVuIHdpciBlaW4ga3VyemVzIGFiZXIgaW50ZW5zaXZlcyBMYWcuIEdlaHQgZXMKbmljaHQgZ3V0LCBoYWJlbiB3aXIgZWluIGt1cnplcyBhYmVyIGludGVuc2l2ZXMgTGFnIGdlZm9sZ3Qgdm9uIGVpbmVtIENyYXNoLgoKSWNoIGhvZmZlIGRpZSBlcnN0ZSBWYXJpYW50ZSB0cmlmZnQgenUuCgpEZXIgR0MtTGF1ZiB3aXJkIGt1cnpmcmlzdGlnIGF1ZiAtPE1hc3RlciBub2NobWFscyBhbmdla3VlbmRpZ3QuCgpCaXR0ZSBoYWJ0IFZlcnN0YWVuZG5pcy4gV2lyIHNpbmQgZGVtIFByb2JsZW0gYXVmIGRlciBTcHVyIHVuZCBtdWVzc2VuIHRlc3Rlbi4KRGllIEhvbWVtdWR0ZXN0cyBzcHJlY2hlbiBmdWVyIGVpbmVuIGZlaGxlcmZyZWllbiBWb3JnYW5nLiAKCkdydXNzCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZWxsYWJmdWhyIChFbGpvLCAxMS4gU2VwIDIwMDYsIDIwOjM5OjEwKToKfiMhIHJuPU11YWRpYiBydD0xMTU3OTc3NTE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1Nzk3NzUxOQoydGUgVmFyaWFudGUgdHJhdCB3aWUgenUgZXJ3YXJ0ZW4gd2FyIGVpbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZWxsYWJmdWhyIChNdWFkaWIsIDExLiBTZXAgMjAwNiwgMjA6NDg6NTApOgp+IyEgcm49RWxqbyBydD0xMTU3OTk5OTUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1Nzk3NzUxOQpmYWxzY2gKc29ycnkgZGFzIGhhYiBpY2ggdmVyYm9ja3QKZGVyIGdjIGxhZXVmdCBzY2hlaW5iYXIsIHByb2JsZW1sb3MKd2FzIGJlaSBkZXIgdXB0aW1lIGFiZXIgbml4IHp1IHNhZ2VuIGhhdCA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVlbGxtYW5uIChNdWFkaWIsIDExLiBTZXAgMjAwNiwgMjA6NTE6MjkpOgpIaWhvLAoKZGVyIEdhcmJhZ2VDb2xsZWN0b3ItVGVzdCB3YXIgZWluIFNjaGxhZyBpbnMgV2Fzc2VyLiBXYXJ1bT8gV2VpbCBlcyBkdW1tZQpzdGlua2VuZGUgRXJ6bWFnaWVyIGdpYnQsIGRpZSBzbyBlaW5lIHN0YXJrZSBIeWJyaXMgaGFiZW4sIGRhc3Mgc2llIGVpbmUKQWVuZGVydW5nIGFuIHNpbXVsX2VmdW4gYXVjaCBkaXJla3QgaW4gc3BhcmVfc2ltdWxfZWZ1biB2b3JuZWhtZW4gdW5kIGRhbm4KYmVpbSBsb2FkIGZlc3RzdGVsbGVuLCBkYXNzIGRhIGRvY2ggZWluIGR1bW1lciBGZWhsZXIgZHJpbiBpc3QgdW5kIG51biBkYXMgTXVkCmtlaW5lIEZhbGxiYWNrbG9lc3VuZyBoYXQgdW5kIHNvbWl0IGVuZGxpY2ggbWFsIGRpZSBDUFUgYmVpIGRlciBmaWViZXJoYWZ0ZW4KU3VjaGUgbmFjaCBSZXR0dW5nIHZvbGwgYXVzbGFzdGV0IHVuZCBkYW5uIHNjaGxpZXNzbGljaCBpbiBkZW4gU29ubmVudW50ZXJnYW5nCnJlaXRldC4KClN0ZWluaWd0IG1pY2gsIGFiZXIgZGFzIHdhciB0b3RhbCBmdWVyIGRpZSBLYXR6LgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVlbGxtYW5uIChNYWhhcmV0LCAxMS4gU2VwIDIwMDYsIDIwOjUzOjM5KToKfiMhIHJuPU11YWRpYiBydD0xMTU4MDAwNjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODAwMDY4OQprdXJ6OiBEdSBiaXN0IG1hbCB3aWVkZXIgc2NodWxkPyAKCipnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWVsbG1hbm4gKE9ya3RvZXRlciwgMTEuIFNlcCAyMDA2LCAyMDo1NDozMyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTgwMDA4MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4MDAwNjg5CldpZSBoYXN0IGR1IGRhcyBlcmthbm50PyBBbiBkZW0gIlN0ZWluaWd0IG1pY2giPyAKCk9ya1QsIGF1Y2ggZ3JpbnNlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZWxsbWFubiAoTXVhZGliLCAxMS4gU2VwIDIwMDYsIDIwOjU1OjE5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODAwMDgxOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTgwMDA2ODkKbWFsIHdpZWRlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZWxsbWFubiAoTWFoYXJldCwgMTEuIFNlcCAyMDA2LCAyMDo1NToyMSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE1ODAwMDg3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTgwMDA2ODkKSmEsIGRlbiBSZXN0IGhhYiBpY2ggamEgbmljaHQgdmVyc3RhbmRlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTXVlbGxtYW5uIChNYWhhcmV0LCAxMS4gU2VwIDIwMDYsIDIwOjU1OjQ5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODAwMDkyMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTgwMDA2ODkKSmEsIHdhcnN0IGR1IG5pY2h0IHZvcmlnZXMgSmFociBlcnN0IGFuIGVpbmVtIHNjaHVsZD8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWVsbG1hbm4gKE1vZ3VyLCAxMS4gU2VwIDIwMDYsIDIwOjU1OjU1KToKfiMhIHJuPU11YWRpYiBydD0xMTU4MDAwNjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODAwMDY4OQoKQXVjaCBIYWxsbywKCndhcyBoZWlzc3QgZGFzIGpldHp0PwotIEZlaGxlciBnZWZ1bmRlbi4uIGJsb2VkZXIsIHN0aW5rZW5kZXIgRXJ6bWFnaWVyLi4gKiF+JSZeLi4KICBBYmVyIGpldHp0IGthbm4gbWFucyBiZWhlYmVuLgotIEZlaGxlciBnZWZ1bmRlbiwgbWFuIHdlaXNzIGFiZXIgbmljaCB3aWUgenUgYmVoZWJlbj8KLSBkYXVlcnQgYmlzIGJlaG9iZW4sIHdpciBiZWtvbW1lbiBiZXNjaGVpZD8gLi4KCkZyYWdlbiB1ZWJlciBGcmFnZW4gOikKCk1vZ3VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZWxsbWFubiAoTXVhZGliLCAxMS4gU2VwIDIwMDYsIDIwOjU5OjAxKToKfiMhIHJuPU1vZ3VyIHJ0PTExNTgwMDA5NTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4MDAwNjg5CkhpLAoKYmVyZWNodGlndGUgRnJhZ2UuCkt1cnplIEFudHdvcnQ6CkRlciBUZXN0IHp1ciBGZWhsZXJiZWhlYnVuZyBmYW5kIG5pY2h0IHN0YXR0LCB3ZWlsIGljaCB3YXMgdmVyYm9ja3QgaGFiZS4KRGFydW0gaGF0IGRhcyBNdWQgZGllIEtsYXBwZSB6dWdlbWFjaHQgdW5kIHdpciBzaW5kIHNvIHNjaGxhdSB3aWUgdm9yaGVyLgoKR3J1c3MKTXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWVsbG1hbm4gKE1vZ3VyLCAxMS4gU2VwIDIwMDYsIDIxOjAwOjIxKToKfiMhIHJuPU11YWRpYiBydD0xMTU4MDAxMTQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODAwMDY4OQoKLi4uIFNoZXJpZmYsIHVudGVybmltbSB3YXMgZ2VnZW4gTXVhZGliISA7LSkKTW9ndXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZWxsbWFubiAoS2Vzc2EsIDExLiBTZXAgMjAwNiwgMjE6MDE6MjcpOgp+IyEgcm49TXVhZGliIHJ0PTExNTgwMDExNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4MDAwNjg5ClBsYXkgaXQgYWdhaW4sIFNhbSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZWxsbWFubiAoR25vbWUsIDEyLiBTZXAgMjAwNiwgMDA6NDM6MjgpOgp+IyEgcm49TXVhZGliIHJ0PTExNTgwMDExNDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4MDAwNjg5CmRhbm4gZGVuIHRlc3Qgbm9jaG1hbCBzdGFydGVuLCBiZXZvciB2aWVsZSB3aWVkZXIgYXVmIHJ1ZXN1Y2hlIGdlaGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTXVlbGxtYW5uIChNdWFkaWIsIDEyLiBTZXAgMjAwNiwgMDk6MDk6MzcpOgp+IyEgcm49R25vbWUgcnQ9MTE1ODAxNDYwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTgwMDA2ODkKbmljaHQgc2lubnZvbGwgYmVpIGxlZXJlbSBzcGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9sdGVyYnVzaCB0byBjb250aW51ZSAoT3JrdG9ldGVyLCAxNC4gU2VwIDIwMDYsIDIyOjUxOjI3KToKWndhciB3aXJkIGRhcyBVUy1NaWxpdGFlciB3b2hsIGluIFp1a3VuZnQgdGF0c2FlY2hsaWNoIGRpZSBHZW52ZXIgS29udmVudGlvbgplaW5oYWx0ZW4gbXVlc3NlbiwgYWJlciBuYWNoIGVpbmVyIEFic3RpbW11bmcgaW4gZWluZW0gQXVzc2NodXNzIDUyOjggZnVlciBkZW4KUmVnaWVydW5nc3ZvcnNjaGxhZywgd2lyZCB3b2hsIG5hZWNoc3RlIFdvY2hlIGVpbiBHZXNldHogZXJsYXNzZW4sIGRhc3MgZGVtCkdlaGVpbWRpZW5zdCBrZWluIHNvbGNoZSBadXJ1ZWNraGFsdHVuZyBhdWZlcmxlZ3QuIEltIEdlZ2VudGVpbCwgZGllIHVudGVyCkZvbHRlciBlcmhhbHRlbmVuIEF1c3NhZ2VuIHNvbGxlbiBpbiBkZW4gVHJpYnVuYWxlbiBnZWdlbiBMZXV0ZSBkaWUgei5CLiBpbgpHdWFudGFub21vIEJheSBmZXN0Z2VoYWx0ZW4gd2VyZGVuIGdlbnV0enQgd2VyZGVuIGR1ZXJmZW4uIApOYWVoZXJlcyBiZWkgd2FzaGluZ3RvbnBvc3QuY29tIGh0dHA6Ly90aW55dXJsLmNvbS9zNGFmZQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBpcmF0ZXMgRGF5IChHcm9vLCAxNC4gU2VwIDIwMDYsIDIzOjIxOjUxKToKQW0gMTkgaXNzZXMgZW5kbGljaCBzb3dlaXQgLi4uLgpUYWxrIGxpa2UgYSBwaXJhdGVzIGRheSAuLiBzbyB3aWUgamVkZXMgamFociAKaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5hdGlvbmFsX1RhbGtfTGlrZV9hX1BpcmF0ZV9EYXkKVG9lCkdyb28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZWxsYWJmdWhyIChNdWFkaWIsIDE1LiBTZXAgMjAwNiwgMDk6NTU6MzEpOgpIYWxsbywKCmRlciBrYXRhc3Ryb3BoYWwgc2NobGVjaHQgaW5zemVuaWVydGUgVGVzdCBkZXMgR2FyYmFnZUNvbGxlY3RvcnMgc3RlaHQgbm9jaAphdXMuCkRhaGVyIHdlcmRlIGljaCBoZXV0ZSBhYmVuZCBuYWNoIDIwIFVociBub2NobWFsIGRpZXNlbiBHYXJiYWdlQ29sbGVjdG9yCmFud2VyZmVuLgpFcyBiZXN0ZWh0IGFscyBlaW5lIGtsZWluZSBDcmFzaGdlZmFoci4KCkdydXNzCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3Jhc2ggYW0gRnJlaXRhZyBrdXJ6IHZvciBNaXR0ZXJuYWNodCAuLi4gKFZhbmlvbiwgMTYuIFNlcCAyMDA2LCAwMDozNDo0NCk6CldpZSBpaHIgdmllbGxlaWNodCBnZW1lcnQgaGFidCwgaGF0IGVzIHdpZWRlciBlaW5lbiBDcmFzaCBnZWdlYmVuLiBPYiBkaWVzZXIKaW0gWnVzYW1tZW5oYW5nIG1pdCBkZW0gdm9uIE11YWRpYiBkdXJjaGdlZnVlaHJ0ZW4gVGVzdCBzdGVodCBpc3Qgbm9jaCBuaWNodApnYW56IGtsYXIuIFdlbm4gd2lyIHdhcyBoYWJlbiwgbWVsZGVuIHdpciB1bnMuCgpWKiwgZ2FlaG50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBpcmF0ZXMgRGF5IChEYXJpYSwgMTkuIFNlcCAyMDA2LCAxNzo0ODoxNyk6Cn4jISBybj1Hcm9vIHJ0PTExNTgyNjg5MTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4MjY4OTExClp1bSBQaXJhdGUgRGF5OgpodHRwOi8vd3d3LnJ1dGhlLmRlL3N0cmlwL3N0cmlwLnBsP2Z1bj1zaG93JmlkPTAyOTgKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGlyYXRlcyBEYXkgKFJ1bWF0YSwgMTkuIFNlcCAyMDA2LCAxODoxMToxNyk6Cn4jISBybj1EYXJpYSBydD0xMTU4NjgwODk3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODI2ODkxMQpEYSBpc3Qgbm9jaCBtZWhyOgpodHRwOi8vd3d3LnJ1dGhlLmRlL3N0cmlwL3N0cmlwLnBsP2Z1bj1zaG93JmlkPTAzNTYKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDEyOjIwOjUwKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODc0NzAwNCByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTE1ODcwNDEwNQo+IFNwaWVsZXJ6YWhsZW4gZHJhc3Rpc2NoIGdlc3Vua2VuCgpTZWggaWNoIG5pY2h0IHNvLiBEaWUgc2luZCBzbyBob2NoIHdpZSBlaGVkZW06IHNwcmljaCBzZWl0IEphaHJlbiBuaWVkcmlnLiBEYXMKaGFiZW4gd2lyIHNjaG9uIHZvciBlaW5lbSBKYWhyIGluIEhhdHRpbmdlbiBmZXN0Z2VzdGVsbHQgdW5kIGVzIHNvbGx0ZSBqZXR6dApuaWNodCBhbHMgQXJndW1lbnQgZGllbmVuIHVtIEhla3RpayBhdXN6dWxvZXNlbi4gSWNoIHNlaGUgYXVjaCBuaWNodCwgZGFzcwpzaWNoIGdlcmFkZSBkaWUgTmV1bGluZ2UgdWViZXIgZGVuIFJlYm9vdCBncm9zcyBiZXNjaHdlcmVuLCB3ZW5uLCBkYW5uIHRyaWZmdAplcyBkaWUgQWx0c3BpZWxlciBtaXQgZGVyIGhvaGVuIEF1c3J1ZXN0dW5nc3plaXQuCgo+IFtTcGVpY2hlciBoaWxmdF0KCkRhc3MgZGVyIFNwZWljaGVyIGRlbSBQcm9ibGVtIGFic29sdXQgYWJoaWxmdCBpc3QgYXVjaCBudXIgZWluZSBUaGVzZS4gSWNoCnZlcmxhc3MgbWljaCBkYSBsaWViZXIgYXVmIGRpZSB2b24gWm9vayBlaW5iZXJ1ZmVuZSBSdW5kZSB1bmQgZGVuIFdlY2hzZWwgYXVmCmRlbiBMRC1Ecml2ZXIgekIuIERlciBTcGVpY2hlciBzb2xsdGUgbGFuZ2ZyaXN0aWcgYW5nZXNjaGFmZnQgd2VyZGVuIHVtIHVucwpMYWcgenUgZXJzcGFyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoTWFoYXJldCwgMjAuIFNlcCAyMDA2LCAxMjoyMjo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU4NzQ3NjUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpPYiBkZXIgU3BlaWNoZXIgaGlsZnQsIGlzdCBuaWNodCBFbnRzY2hlaWR1bmcgZGVzIFZvcnN0YW5kZXMuIFp1bWFsIGluIHNvd2VpdAplaCBzY2hvbiBkYXMgT0sgYXVzZ2VzcHJvY2hlbiB3dXJkZS4KQmlzIHZvciBrdXJ6ZW0gd2FyZW4gaGllciB1ZWJlciA3MCBMZXV0ZSBlaW5nZWxvZ2d0LCBqZXR6dCBzaW5kIGVzIHVlYmVyIDQwLgpJc3QgZWluIHNpY2h0YmFyZXIgVW50ZXJzY2hpZWQuIERhc3MgZGllIExldXRlIGtvbW1lbiwgbWVja2VybiB1bmQgd2llZGVyCmdlaGVuIGlzdCBkaXIgdmVybXV0bGljaCBlbnRnYW5nZW4uIEFuZGVyZW4gbmljaHQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDEyOjI1OjA1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODc0Nzc2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKSWNoIHZlcmxhc3MgbWljaCBsaWViZXIgYXVmICJrd2VyIG5pY2h0IGlkbGUiLiBEYXMgaXN0IHVlYmVyIGRpZSBNb25hdGUKa29uc3RhbnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE1hcmN1cywgMjAuIFNlcCAyMDA2LCAxMjoyNjo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU4NzQ3OTA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpJY2ggcHJvYmllcmUgYXVmIGRlciBhbmRlcmVuIFNjaGllbmUgZGVuL2RpZSBCdWdzIHp1IGZpbmRlbiB1bmQgenUgbG9lc2VuLAp6dXNhbW1lbiBtaXQgZHJpdmVyLmVudHdpY2tsdW5nIFJ1YnJpayA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoRGV0cml1cywgMjAuIFNlcCAyMDA2LCAxMjozMjozNyk6Cn4jISBybj1NYXJjdXMgcnQ9MTE1ODc0ODAxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKV2FlcmUgZXMgZGVubiBuaWNodCBhdWNoIHNpbm52b2xsKGJ6dy4ga2VpbmUgR2VsZHZlcnNjaHdlbmR1bmcpIHdlbm4gZGFzClByb2JsZW0gZ2Vsb2VzdCB3aXJkPyBlaW4gbmV1ZXIgU3BlaWNoZXIgaXN0IGRvY2ggaW4gamVkZW0gRmFsbCBzaW5udm9sbCAKCkRldCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChNYWhhcmV0LCAyMC4gU2VwIDIwMDYsIDEyOjQyOjE1KToKfiMhIHJuPURldHJpdXMgcnQ9MTE1ODc0ODM1NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKTGV0enRlbmRsaWNoIHZlcmxhc3NlIGljaCBtaWNoIGF1ZiBkYXMgVXJ0ZWlsIHZvbiBNdWFkaWIgdW5kIFplc3N0cmEsIGRpZSBzaWNoCmludGVuc2l2IG1pdCBkZW0gUHJvYmxlbSBiZWZhc3NlbiB1bmQgc2FnZW4sIGRhc3MgZWluIG5ldWVyIFNwZWljaGVyIHp1cgpMb2VzdW5nIGJlaXRyYWVndC4gClVuZCBmdWVyIHJlaW5lIEViZW5lbi0gdW5kIE1QQS1OaWNodGlkbGVyIGJyYXVjaGVuIHdpciBlaCBrZWluZW4gQXVmcmlzcwptYWNoZW4sIGRlbmVuIGtvZW5uZW4gZGllIENyYXNoZXMgamEgZWdhbCBzZWluLiAgCgpBYmVyIGVnYWwuIERhIHdpciBqYSBhbGxlIG9mZmVuYmFyIG5pY2h0IHdpc3Nlbiwgd2FzIGRhIHp3aXNjaGVuIE11YWRpYiB1bmQKQW5hdG9sIGdlcmFkZSB2b3JnZWh0IC4uLiBibGVpYmVuIHdpciBoYWx0IHVud2lzc2VuZGUgR2xhZXViaWdlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDEzOjE4OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1ODc0ODkzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKRGFzIFppZWwgaXN0IGRhcyBnbGVpY2hlLCBkZXIgV2VnIHdpcmQgYW5kZXJzIGdlc2VoZW4uIEJlaXRyYWdlbiBpc3QgbmljaHQKbG9lc2VuIHVuZCB3ZW5uIGVzICJudXIiIGJlaXRyYWVndCB6dXIgTG9lc3VuZywgZGFubiBpc3QgZXMgbmljaHQgd2VydCBkYWZ1ZXIKU2NoZXJiZW4genUgcHJvZHV6aWVyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEtlc3NhLCAyMC4gU2VwIDIwMDYsIDEzOjQwOjQ2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNTg3NTExMzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CldhcyBkaWUgTG9lc3VuZyBkZW5uIHdhciwgd2VyZGVuIHdpciB3b2hsIGVyc3QgaW0gTmFjaGhlcmVpbiB3aXNzZW4sIHdlbm4gc2llCm5hZW1saWNoIGR1cmNoIGRpZSBCZWl0cmFlZ2UgZGVyZXIsIGRpZSBkYXJhbiBhcmJlaXRlbiwgZ2VmdW5kZW4gaXN0LiBXaWUgZHUKdm9uICcibnVyIiBiZWl0cmFnZW4nIHNwcmVjaGVuIGthbm5zdCwga2FubiBpY2ggbmljaHQgcmVjaHQgbmFjaHZvbGx6aWVoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR2xvaW5zb24sIDIwLiBTZXAgMjAwNiwgMTM6NTM6MzEpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1ODc1MjQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKTWVociBTcGVpY2hlciBrYW5uIGF1ZiBlaW5lIFdlaXNlIGRhcyBQcm9ibGVtIGRlciBDcmFzaGVzIHNvZm9ydCBsb2VzZW46Cldlbm4gZGFzIE1VRCBuaWNodCB1ZWJlciA8bmV1ZSBTcGVpY2hlcmdyZW56ZT4ga29tbXQuCgpEYXMgaXN0IGVpbiBncm9zc2VzIHdlbm4gdW5kIGRlc2hhbGIgc2VoZSBpY2ggIm51ciIgZWluZW4gQmVpdHJhZyB1bSBkYXMKQ3Jhc2gtUHJvYmxlbS4gRGVyIGZ1ZXIgbWljaCB2aWVsIHdpY2h0aWdlcmUgbGFuZ2ZyaXN0aWdlIEJlaXRyYWcgaXN0LCBkYXNzCmRhcyBNVUQgd2VubiB3aWVkZXIgc3RhYmlsLCBuaWNodCBkYXVlcm5kIGF1ZiBkZXIgRmVzdHBsYXR0ZSBoZXJ1bWthdXQuIERhcwptZXJrZW4gd2lyIGRhbm4gbmFlbWxpY2ggZ2FueiBzY2huZWxsIHVuZCBJTUhPIG5vY2ggZmllc2VyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHcmltbWJvcm4sIDIwLiBTZXAgMjAwNiwgMTM6NTg6MzcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1ODc1MzIxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKSG1tLCBpY2ggd2VyZmUgbWFsIGFscyBMYWllIGVpbiAic3dhcCBzcGFjZSIgaW4gZGVuIFJhdW0uIFdlbm4gZGFzIFByb2JsZW0gaXN0CmRhc3MgZGFzIE1VRCBtZWhyIFNwZWljaGVyIGFuZm9yZGVydCBhbHMgZXMgYnJhdWNodCAoZC5oLiBkZXIgZHVyY2ggZGllIGdjCmZyZWlnZWdlYmVuIHd1ZXJkZSkga2FubiBkZXIgUmVjaG5lciBkZW4gbmljaHQgbWVociBiZW5vZXRpZ3RlbiBTcGVpY2hlciBkb2NoCmJlcXVlbSBhdWYgUGxhdHRlIGxlZ2VuLiBEYXMsIHdhcyBiZW51dHp0IHdpcmQgYmxlaWJ0IGltIFJBTSwgdW5kIGRlciBSZXN0CndpcmQgYXVzLSwgYWJlciBuaWUgd2llZGVyIGVpbmdlc3dhcHBlZC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdsb2luc29uLCAyMC4gU2VwIDIwMDYsIDE0OjAyOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU4NzUzNTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpBRkFJSyBtYWNodCBkYXMgTVVEIChlZDogZGVyIERyaXZlcikgZGFzIHNjaG9uIHNlbGJzdCAoZWluZXIgZGVyIEdydWVuZGUgZnVlcgpkaWUgQmVncmVuenVuZyBkZXIgQ29udGFpbmVyaW5oYWx0ZSwgZGllIHN3YXBwZW4gbmFlbWxpY2ggbWl0IGRlciBaZWl0IGF1cyB1bmQKYmVpbSBSZWluZ3Vja2VuIGdhbnogcGxvZXR6bGljaCB3aWVkZXIgZWluKS4gU2NoZWludCBuaWNodCB6dSBoZWxmZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKE1hcmN1cywgMjAuIFNlcCAyMDA2LCAxNDoxMjowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU4NzUzNzQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpEYXMgbWFjaHQgZXIgbnVyIGltIGdlcmluZ2VuIFVtZmFuZy4KCkFiZXIgZGEgd2lyIG1pdCBlaW5lbSBsaW5lYXIgYW5zdGVpZ2VuZGVtIFNwZWljaGVybGVjayBrYWVtcGZlbiBpc3QgYXVjaApiZWkgU3dhcCBlcyBudXIgZWluZSBGcmFnZSBkZXIgWmVpdCA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR2xvaW5zb24sIDIwLiBTZXAgMjAwNiwgMTQ6MjY6MjgpOgp+IyEgcm49TWFyY3VzIHJ0PTExNTg3NTQzMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CkFsc28gZG9jaCBlaW4gZmllc2VzIFNwZWljaGVybGVjay4gTnVyIHNvIGFscyB2YWdlIElkZWU6IE11ZGxpYiBhdWYgU3RhbmQgdm9yCmVpbmVtIEphaHIgenVydWVja3JvbGxlbiAoZXJzdG1hbCkgdW5kIHdhZWhyZW5kZGVzc2VuIGRlbiBGZWhsZXIgaW0KQ29kZS9Ecml2ZXIgd2VpdGVyc3VjaGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChNdWFkaWIsIDIwLiBTZXAgMjAwNiwgMTQ6Mzg6MzcpOgp+IyEgcm49TWFoYXJldCBydD0xMTU4NzQ4OTM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpBbGxlIHNjaHJpZWIgaWNoIG5pY2h0LgpJY2ggc2NocmVpYmUgYWxsZSBNYWlscyBhbiBkZW4gVm9yc3RhbmRzdmVydGVpbGVyIHVuZCBkaWUgRXJ6bWFnaWVyLgpJbnNvZmVybiB2ZXJzdGVoZSBpY2ggZGllc2UgUG9sZW1payBnZXJhZGUgbmljaHQuCkFiZXIgdmllbGxlaWNodCBzb2xsdGUgaWNoIG1laW5lbiBJbXB1bHNlbiBmb2xnZW4sIHVuZCBlcyBzY2hsaWNodCB1bmQgZWluZmFjaApsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR3JpbW1ib3JuLCAyMC4gU2VwIDIwMDYsIDE2OjI1OjE0KToKfiMhIHJuPU1hcmN1cyBydD0xMTU4NzU0MzI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpUamEsIGVzIHd1ZXJkZSBnZW5hdXNvdmllbCBicmluZ2VuIHdpZSBuZXVlcyBSQU0sIHdhZXJlIGFiZXIgYmlsbGlnZXIgdW5kCnNjaG5lbGxlciB1bXNldHpiYXIsIG9obmUgZGFzcyBoaWVyIExldXRlIHdlaW5lbiBtdWVzc2VuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoWm9vaywgMjAuIFNlcCAyMDA2LCAxNjoyNjowOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODc2MjMxNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKVGphLCBkYW5uIGJyaW5nIGRvY2ggbWFsIGRlbiBUcmVpYmVyIGRhenUuIDspIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoV2hpdGV0aWdlciwgMjAuIFNlcCAyMDA2LCAxNjo0Nzo1Nik6Cn4jISBybj1ab29rIHJ0PTExNTg3NjIzNjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CkljaCBkYWNodGUsIFN3YXAtU3BlaWNoZXIgd2FlcmUgZWluZSBTYWNoZSwgZnVlciBkaWUgZGFzIEJldHJpZWJzc3lzdGVtCnp1c3RhZW5kaWcgaXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoQ3JvZnQsIDIwLiBTZXAgMjAwNiwgMTY6NDk6NDYpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTU4NzYzNjc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpEZXIgRHJpdmVyIGhhdCBlaW5lbiBlaWdlbmVuIFN3YXBwaW5nLU1lY2hhbmlzbXVzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChXaGl0ZXRpZ2VyLCAyMC4gU2VwIDIwMDYsIDE2OjUxOjU0KToKfiMhIHJuPUNyb2Z0IHJ0PTExNTg3NjM3ODYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CkRlciBhbnNjaGVpbmVuZCBhYmVyIGltIE1vbWVudCBuaWNodCBmdW5rdGlvbmllcnQsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogU3BlaWNoZXJiZXNjaGFmZnVuZyAoQ3JvZnQsIDIwLiBTZXAgMjAwNiwgMTY6NTQ6MzMpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTU4NzYzOTE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpXaWUga29tbXN0IGR1IGF1ZiBkaWVzZSBUaGVzZT8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogU3BlaWNoZXJiZXNjaGFmZnVuZyAoV2hpdGV0aWdlciwgMjAuIFNlcCAyMDA2LCAxNjo1Njo1Nyk6Cn4jISBybj1Dcm9mdCBydD0xMTU4NzY0MDczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpXZW5uIGRlciBTd2FwLVNwZWljaGVyIGZ1bmt0aW9uaWVydGUsIHd1ZXJkZSBkYXMgU3BlaWNoZXJsZWNrIGF1ZiBkZXIKRmVzdHBsYXR0ZSB2b3Igc2ljaCBoaW4gZ2FtbWVsbiB1bmQgbmljaHQgZGFzIE1VRCB6dW0gQ3Jhc2hlbiBicmluZ2VuLi4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoQ3JvZnQsIDIwLiBTZXAgMjAwNiwgMTc6MTE6MTUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTU4NzY0MjE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpEdSBwcm9wYWdpZXJzdCBTd2FwLVNwZWljaGVyIGFscyBVbml2ZXJzYWxoZWlsbWl0dGVsIGdlZ2VuIFNwZWljaGVybGVja3M/CkljaCBnbGF1YmUgYW4gZGllc2VyIFN0ZWxsZSBrbGlua2UgaWNoIG1pY2ggZGFubiBsaWViZXIgYXVzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChXaGl0ZXRpZ2VyLCAyMC4gU2VwIDIwMDYsIDE3OjEyOjMxKToKfiMhIHJuPUNyb2Z0IHJ0PTExNTg3NjUwNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CkVzIGtvZW5udGUgbmF0dWVybGljaCBhdWNoIGVpbiByZWdlbG1hZXNzaWdlciBSZWJvb3QgamVkZSBXb2NoZSBlaW5nZWZ1ZWhydAp3ZXJkZW4uLi4gT2RlciBhbGxlIDkgVGFnZSwgZGFtaXQgZXMgZXR3YXMgcm90aWVydC4gOykKSW0gVGhyZWUtS2luZ2RvbXMtTVVEIHdpcmQgc29nYXIgamVkZW4gVGFnIGRlciBTZXJ2ZXIgbmV1Z2VzdGFydGV0Li4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChKYW1lc29uLCAyMC4gU2VwIDIwMDYsIDE3OjEzOjExKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTE1ODc2NTE1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKSWNoIGdsYXViZSwgRHUgdmVycmVubnN0IERpY2ggZ2VyYWRlIGV0d2FzLiBXYXMgcGFzc2llcnQgZ2VyYWRlIG1pdCBzY2hvZW5lcgoiUmVnZWxtYWVzc2lna2VpdCI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogU3BlaWNoZXJiZXNjaGFmZnVuZyAoV2hpdGV0aWdlciwgMjAuIFNlcCAyMDA2LCAxNzoxNDoyNyk6Cn4jISBybj1KYW1lc29uIHJ0PTExNTg3NjUxOTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1ClRqYSwgd2VubiBlcyBnZXBsYW50IGlzdCwgaXN0IGVzIGVpbiBSZWJvb3QuIFNvbnN0IGVpbiBDcmFzaC4gVW5kICJSZWJvb3QiCmtsaW5ndCBkb2NoIHZpZWwgYmVzc2VyLCBvZGVyPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdyaW1tYm9ybiwgMjAuIFNlcCAyMDA2LCAxNzoxNTowMSk6Cn4jISBybj1Dcm9mdCBydD0xMTU4NzY1MDc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpBZWguIEhpZXIgd3VyZGUgZWhlciBSQU0gYWxzIFVuaXZlcnNhbGhlaWxtaXR0ZWwgZ2VnZW4gU3BlaWNoZXJsZWNrcwpwcm9wYWdpZXJ0LiBNZWluZSBUaGVzZSB3YXIgZGFzcyBkYSBzd2FwIGdlbmF1c29ndXQgZnVua3Rpb25pZXJlbiB3dWVyZGUsIGFiZXIKYmlsbGlnZXIgc2VpLCB1bmQgZGFzIGdhbnplIEtvbnplcHQgbWl0IFNwZWljaGVyIGdlZ2VuIExlY2tzIGFuenVnZWhlbiBlaApoaXJucmlzc2lnIHNlaS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKFpvb2ssIDIwLiBTZXAgMjAwNiwgMTc6MTg6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTg3NjUzMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CldlciBwcm9wYWdpZXJ0ZSBSQU0gYWxzIFVuaXZlcnNhbGhlaWxtaXR0ZWwgZ2VnZW4gU3BlaWNoZXJsZWFrcz8KClpvb2sgbGllc3Qgc2NoZWluYmFyIHVuYXVmbWVya3NhbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHcmltbWJvcm4sIDIwLiBTZXAgMjAwNiwgMTc6MjI6MTIpOgp+IyEgcm49Wm9vayBydD0xMTU4NzY1NTIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpQYXJzIHBybyB0b3RvIG5lbm5lIGljaCBtYWwgTWFoYXJldC4gQXVzIGRlcmVuIFBvc3RpbmdzIG1hbiBkZW4gRWluZHJ1Y2sKZ2V3aW5udCwgZGFzcyBkaWUgYWt0dWVsbGVuIFByb2JsZW1lIG51ciBkZXN3ZWdlbiBzbyBzaWNodGJhciBzaW5kLCB3ZWlsCm5pZW1hbmQgc2ljaCBiZXJlaXRlcmtsYWVydCBzb2ZvcnRlc3RlbnMgZGFzIFJBTSBhdWZ6dXJ1ZXN0ZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChSdW1hdGEsIDIwLiBTZXAgMjAwNiwgMTc6MjQ6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTg3NjU3MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CiJzbyBzaWNodGJhciBzZWluIiBrbGluZ3QgbmljaHQgbmFjaCAiQWxsaGVpbG1pdHRlbCIKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBTcGVpY2hlcmJlc2NoYWZmdW5nIChHcmltbWJvcm4sIDIwLiBTZXAgMjAwNiwgMTc6Mzc6NTUpOgp+IyEgcm49UnVtYXRhIHJ0PTExNTg3NjU4ODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1CkxpZXMgRGlyIGRvY2ggZGFzIEdlbm9lbGUgbm9jaG1hbCBkdXJjaC4gTWFjaHQgZGFzIGF1ZiBEaWNoIGRlbiBFaW5kcnVjayBlaW5lcwoid2lyIGhhZXR0ZW4gZ2VybmUgbWVociBTcGVpY2hlciwgYXVjaCB3ZW5uIGRhcyBlZmZla3RpdiBuaWNodHMgYnJpbmd0Ij8gRGFzCmhhdCBkdXJjaGF1cyBlaW5lbiBVbnRlcnRvbiB2b24gImFuIGFsbGVtIFVlYmVsIGRpZXNlciBXZWx0IGlzdCBzY2h1bGQgZGFzcwpkYXMgUkFNIG5pY2h0IGF1ZmdlcnVlc3RldCB3aXJkIi4gClVuZCBlbnRzY2h1bGRpZ2Ugd2VubiBpY2ggcGFyYXBocmFzaWVydCB1bmQgenVnZXNwaXR6dCBoYWJlIHN0YXR0IHp1IHppdGllcmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoWm9vaywgMjAuIFNlcCAyMDA2LCAxNzozOTo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1ODc2NjY3NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTg3MDQxMDUKSWNoIG5pY2h0LCBpY2ggaGFsdGUgZGFzIHBhcmFwaHJhc2llcmVuIHVuZCB6dXNwaXR6ZW4gbnVyIGJlZGluZ3QgZnVlcgpoaWxmcmVpY2guCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKFZhbmhlbHNpbmcsIDIwLiBTZXAgMjAwNiwgMTc6NDc6NTEpOgp+IyEgcm49Wm9vayBydD0xMTU4NzY2NzgzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpJY2gga2FubiB6d2FyIG5pY2h0IGluIGRpZSBEZXRhaWxzIHNjaGF1ZW4gKGRpZSBrYXBpZXIgaWNoIGdhcmFudGllcnQgbmljaHQgc28KZ2FueiksIGFiZXIgd2VubiBpY2ggaG9lcmUsIGRhc3MgbWVociBTcGVpY2hlciB6dSBlaW5lciBsYWVuZ2VyZW4gVXB0aW1lCmZ1ZWhydCwga2xpbmd0IGRhcyBndXQuIERhcyBiZWRldXRldCBtZWhyIFplaXQsIGRlbiBGZWhsZXIgenUgZmluZGVuIHVuZApiZWhlYmVuLCBiZXZvciBtYWwgd2llZGVyIGRhcyBNVUQgY3Jhc2h0LgpBYmVyIHdpZSBnZXNhZ3QsIGljaCBzZWggZGEgbmljaHQgd2lya2xpY2ggZHVyY2guIElzdCBudXIgbmUgTGFpZW5tZWludW5nLgoKVgpICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogU3BlaWNoZXJiZXNjaGFmZnVuZyAoR25vbWUsIDIxLiBTZXAgMjAwNiwgMDA6NTE6NTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTg3NjY2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU4NzA0MTA1Cm5hIGdyaW1taSwgd28gZHJ1ZWNrdCBkZW5uIGRlciBzY2h1aCBkaWVzbWFsPyBvZGVyIGlzdCBqZXR6dCB3aWVkZXIgZGVyCnVuZ2VyYWRlIG1vbmF0LCBkZXIgbWVja2VybW9uYXQsIGFuIGRlciByZWloZT8KCnVuZCBuYXR1ZXJsaWNoIGJyaW5ndCBlcyB3YXMuIGVzIGJyaW5ndCBlcnN0bWFsIGVpbmUgbGFlbmdlcmUgdXB0aW1lLAp3b2Z1ZXIgamVkZXIgc3BpZWxlciBoaWVyIGVyc3RtYWwgZGFua2JhciBpc3QuCmNyYXNocyBpbSB6d2Vpd29jaGVudGFrdCwgZGF6dSBub2NoIHZvcmhlcnNlaGJhciwgc2luZCBuaWNodCB3aXJrbGljaApsdXN0aWcuIHdlbm4gZGllIG1wYSBuaWNodCBhdXRvbG9hZCB3YWVyZSB1bmQgZHUgZGFmdWVyIGlyZ2VuZHdhcyB0dW4KbXVlc3N0ZXN0LCB1bSBzaWUgenUgYmVrb21tZW4sIHdhZXJzdCBkdSBkZXIgZXJzdGUsIGRlciBuYWNoIG1laHIKc3BlaWNoZXIgc2NocmVpZW4gd3VlcmRlLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBTcGVpY2hlcmJlc2NoYWZmdW5nIChDcm9mdCwgMjEuIFNlcCAyMDA2LCAwNzo1MjozMSk6Cn4jISBybj1Hbm9tZSBydD0xMTU4NzkyNzEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpTbyByZWluIGF1cyBJbnRlcmVzc2U6IHVtIHdpZXZpZWwgd2lyZCBzaWNoIGRpZSBVcHRpbWUgdmVybGFlbmdlcm4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IFNwZWljaGVyYmVzY2hhZmZ1bmcgKEdyaW1tYm9ybiwgMjEuIFNlcCAyMDA2LCAwOToyMTo1OCk6Cn4jISBybj1Dcm9mdCBydD0xMTU4ODE3OTUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODcwNDEwNQpCZWkgbGluZWFyZW0gQW53YWNoc2VuIGRlcyBTcGVpY2hlcnZlcmJyYXVjaHMgKHp1bWluZGVzdCBoYXQgTWFyY3VzIGRhcwplcndhZWhudCkgYmlldGV0IHNpY2ggZGEgZWluZmFjaGVyIERyZWlzYXR6IGFuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICJKZXR6dCB6ZXJiZWlzcyBpY2gncyIgKGMpIEFyYXRob3JuIChjKSBUaWFtYWsuIChab29rLCAyNC4gU2VwIDIwMDYsIDExOjUwOjExKToKfiMhIHJuPU1pcmlsIHJ0PTExNTkwNDkyODMgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExNTg5NjA4NjgKTWVpbmVuIGJlc3RlbiBEYW5rIGFuIGRhcyBNdWRsaWItRHJpdmVyLUJhdS1UZWFtIEFyYXRob3JuLCBIdW1uaSwgTWlyaWwsCk11YWRpYiB1bmQgWmVzc3RyYSEgOikgCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogIkpldHp0IHplcmJlaXNzIGljaCdzIiAoYykgQXJhdGhvcm4gKGMpIFRpYW1hay4gKE1haGFyZXQsIDI0LiBTZXAgMjAwNiwgMTI6MDc6MDApOgp+IyEgcm49Wm9vayBydD0xMTU5MDkxNDExIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1ODk2MDg2OApEZW0gc2NobGllc3NlIGljaCBtaWNoIGFuIDopCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIkpldHp0IHplcmJlaXNzIGljaCdzIiAoYykgQXJhdGhvcm4gKGMpIFRpYW1hay4gKFpvb2ssIDI1LiBTZXAgMjAwNiwgMDk6MDk6MDEpOgp+IyEgb249Wm9vayBvdD0xMTU5MTY4MTMzIG9nPWJla2FubnRtYWNodW5nZW4KfiMhIHJuPVplc3N0cmEgcnQ9MTE1ODk2MDg2OCByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE1ODk2MDg2OApFcyB3dXJkZSBuYWNoZ2VmcmFndCwgb2IgdW5kIHdlbGNoZSBWb3J0ZWlsZSBkZW5uIGRlciBuZXVlIExELVRyZWliZXIKZ2VnZW51ZWJlciBkZW0gYmlzaGVyaWdlbiBMUC1UcmVpYmVyIGJpZXRlbiB3dWVyZGUuIERhIGRpZXMgbW9lZ2xpY2hlcndlaXNlCmF1Y2ggbm9jaCBmdWVyIGFuZGVyZSBTcGllbGVyL01hZ2llciBpbnRlcmVzc2FudCBpc3QsIGhpZXIgZWluIHBhYXIKRXJsYWV1dGVydW5nZW4gaW4gVGVjaHNwcmVjaCAobmFqYSwgc292aWVsIFRlY2hzcHJlY2ggd2llIGljaCBlYmVuIAp6dXNhbW1lbmJla29tbWUpLiBXZW0gZGFzIHp1IHRlY2huaXNjaCBpc3QgdW5kIHNpY2ggZnVlcmhpbiBhdWYgZGllCldlaXNoZWl0IHVuZCBBcmJlaXQgZGVyIEVNKyAodW5kIGRlciBNaXRoZWxmZW5kZW4pIHZlcmxhc3NlbiBtb2VjaHRlLAprYW5uIG51biBhdWZob2VyZW4genUgbGVzZW4uCgpNaXQgZGVtIGJpc2hlcmlnZW4gVHJlaWJlciBoYWJlbiB3aXIgZGVyemVpdCB6d2VpIFByb2JsZW1lLCBkaWUgbWl0dW5kZXIKenUgZGVuIHN0YWVuZGlnZW4gQ3Jhc2hlcyBnZWZ1ZWhydCBoYWJlbjogKDEpIERpZSBJbXBsZW1lbnRpZXJ1bmcgZGVyCk1hcHBpbmdzIGlzdCBmZWF0dXJlcmVpY2gsIGluc2Jlc29uZGVyZSBiZWltIEtvcGllcmVuIHZvbiBNYXBwaW5nczsgZGFiZWkKcGFzc2llcmVuIGx1c3RpZ2UgRGluZ2UsIHVudGVyIGFuZGVyZW0gbGVja3QgZXMgaW0gU3BlaWNoZXIgKHdvYmVpIG1hbiBkaWVzCmF1Y2ggdW50ZXIgRmVhdHVyZSBmYXNzZW4ga29lbm50ZSwgamUgbmFjaCBTaWNodCBkZXMgQmV0cmFjaHRlcnMpLiAoMikgV2VubgpkZXIgU3BlaWNoZXIgdm9sbCB3aXJkLCB2ZXJzdWNodCBlcyBkZXIgVHJlaWJlciBhdWNoIG1hbCBtaXQgZWluZXIKR2FyYmFnZSBDb2xsZWN0aW9uLCBkaWVzZSBmdW5rdGlvbmllcnQgbmljaHQgdW5kIGhpbnRlcmxhZXNzdCBkYXMgTUcgaW4gZWluZW0KaW5rb25zaXN0ZW50ZW4gWnVzdGFuZCwgZGVyIGFsc2JhbGQgenUgZWluZW0gQ3Jhc2ggZnVlaHJ0LiAKCkRlciBuZXVlIFRyZWliZXIgTEQtTXVkIGhhdCBkaWVzZSBTY2h3YWVjaGVuIG5pY2h0IHVuZCB3dWVyZGUgaGVsZmVuLCB3aWVkZXIKenUgbGFlbmdlcmVuIFVwdGltZXMgenUga29tbWVuLiBTY2h3aWVyaWcgYmVpIGRlciBVbXN0ZWxsdW5nIGlzdCwgZGFzcyBlaW4KVGVpbCBkZXIgQmVmZWhsZSAoZWZ1bnMpIGlocmVuIE5hbWVuIHNvd2llIHp1bSBUZWlsIGF1Y2ggaWhyZSBBcmd1bWVudGUKZ2FlbmRlcnQgaGFiZW4uIERhcyBiZWRldXRldCwgZGFzcyB1bnNlcmUgNjBLIEZpbGVzIG1pdCBTb3VyY2UgQ29kZSAKZGFoaW5nZWhlbmQgYW5nZXBhc3N0IHdlcmRlbiBtdWVzc2VuLCBkYXNzIHNpZSBkaWUgbmV1ZW4gTmFtZW4gdmVyd2VuZGVuLgpMZWlkZXIgaXN0IGRpZXMgbmljaHQgdm9sbHN0YWVuZGlnIGR1cmNoIFN1Y2hlbiZFcnNldHplbiB6dSByZWdlbG4sIHpUIG11c3MKbWFuIGRlbiBDb2RlIGViZW4gYXVjaCBhbnNlaGVuIHVuZCBoaW5zaWNodGxpY2ggZWluZXIgc29sY2hlbiBVbXN0ZWxsdW5nCmJldXJ0ZWlsZW4uIEVpbmUgd2VpdGVyZSBTY2h3aWVyaWdrZWl0IGJlc3RlaHQgZGFyaW4sIGRhc3MgZGVyIExELVRyZWliZXIKZWluIGtsZWluIHdlbmlnIGdlbmF1ZXIgKG1hbiBrb2VubnRlIGF1Y2ggc2FnZW4sIHppY2tpZ2VyKSBiZWltIEtvbXBpbGllcmVuCmlzdCB1bmQgbnVuIG1laHIgRGF0ZWllbiBidWdnZW4sIGRpZSBkZXIgTFAtVHJlaWJlciBiaXNoZXIgZWluZmFjaCBzbyAKZ2VzY2hsdWNrdCBoYXQuIEluIGRpZXNlbSBadXNhbW1lbmhhbmcgaXN0IHdlaXRlciB6dSBiZWFjaHRlbiwgZGFzcyBkaWUKbmV1ZW4gRWZ1bnMgbnVuIHp1IFNjaGx1ZXNzZWx3b3J0ZW4gZ2V3b3JkZW4gc2luZCwgZGllIGJzcHcuIGFscyBWYXJpYWJsZW4tCm5hbWUgbmljaHQgbWVociB2ZXJ3ZW5kZXQgd2VyZGVuIGR1ZXJmZW4uIERpZXMgemllaHQgbmFjaCBzaWNoLCBkYXNzIG5pY2h0Cm51ciBkaWUgRnVua3Rpb25zYXVmcnVmZSBhbmdlcGFzc3Qgd2VyZGVuIG11ZXNzZW4sIHNvbmRlcm4gZWJlbiBhdWNoIApldHdhaWdlIFZhcmlhYmxlbi4gCgpBbGxlIEtsYXJoZWl0ZW4gYmVzZWl0aWd0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxELVVtc3RlbGx1bmcgKFplc3N0cmEsIDI5LiBTZXAgMjAwNiwgMTY6MjM6MzApOgpIdWh1IGFsbGVyc2VpdHMsCgpJbiBkZW4gbGV0emVuIFRhZ2VuIGhhYmVuIHVucyBtZWhyZmFjaCBGcmFnZW4gd2llIGRpZSBmb2xnZW5kZSBlcnJlaWNodDoKCiJJY2ggZnJhZ2UgbWljaCBoYWx0IHdpZXNvIHdpciBhdWYgTEQgdW1zdGVpZ2VuIG11ZXNzZW4sIHdlbm4gZGFzIFByb2JsZW0KaWRlbnRpZml6aWVydCBpc3QuIgoKTnVuLCB3aWUgc2Nob24gYW5kZXJ3ZWl0aWcgaW4gZGVuIE1hZ2llcnJ1YmlrZW4gZXJ3YWVobnQ6IERhcyBQcm9ibGVtIGlzdApuaWNodCBzaWNoZXIgaWRlbnRpZml6aWVydC4gU3BlemllbGwgaXN0IHVlYmVyaGF1cHQgbmljaHQga2xhciwgd2FydW0gZGVyIEdDCihHYXJiYWdlIENvbGxlY3RvciAtIGdpYnQgbmljaHQgbWVociB2ZXJ3ZW5kZXRlbiBTcGVpY2hlciBmcmVpKSBzaWNoCnZlcnNjaGx1Y2t0IGJ6dy4gb2IgZXIgZGFzIGdnZi4gd2VpdGVyaGluIHR1biB3aXJkLgoKQWJlciB3aWUgYXVjaCBpbW1lciBkaWVzZXIgUHVua3Qgc2ljaCBzY2hsdXNzZW5kbGljaCBlbnR3aWNrZWxuIGJ6dy4ga2xhZXJlbgp3aXJkOiBXaXIgc2VoZW4gdW5hYmhhZW5naWcgdm9uIHVuc2VyZW4gYWt0dWVsbGVuIFByb2JsZW1lbiwgZGllIHdpcgp2aWVsbGVpY2h0IGdlbG9lc3QgaGFiZW4sIHZpZWxsZWljaHQgYWJlciBhdWNoIG5pY2h0LCBlaW5lIGdhbnplIFJlaWhlCmxhbmdmcmlzdGlnZXIgVm9ydGVpbGUsIGljaCBuZW5uIG1hbCBlaW4gcGFhciBkYXZvbjoKCkltIFZlcmdsZWljaCB6dSB1bnNlcmVtIERyaXZlciBpc3QgZGVyIENvZGUgdm9tIExEIGRldXRsaWNoIGJlc3NlcgpzdHJ1a3R1cmllcnQgdW5kIHVtIExhZW5nZW4gYmVzc2VyIGtvbW1lbnRpZXJ0IHVuZCBkb2t1bWVudGllcnQsIHdhcyBlcwp3ZXNlbnRsaWNoIGxlaWNodGVyIG1hY2h0LCBpbiBpaG0gd2FzIHp1IHZlcnN0ZWhlbi4gQXVjaCBlbnRoYWVsdCBlciBuZSBnYW56ZQpNZW5nZSBCdWdmaXhlcyBiencuIEZpeGVzIHZvbiBJbmtvbnNpc3Rlbnplbi4KCkVpbiByaWVzaWdlciBWb3J0ZWlsIHdhZXJlIGFiZXIsIGRhc3Mgd2lyIHdpZWRlciBlaW5lbiBEcml2ZXIgbWl0IGhhbGJ3ZWdzCmZ1bmt0aW9uaWVyZW5kZXIgRW50d2lja2xlci0gdW5kIE51dHplci1HZW1laW5zY2hhZnQgaGFldHRlbiB1bmQgbmljaHQgYmVpCmplZGVtIFByb2JsZW0gYWxsZWluIGRhIHN0dWVuZGVuLiBHZXJhZGUgbW9tZW50YW4gaGF0IHNpY2ggZ2V6ZWlndCwgZGFzcyB3aXIKaW0gWndlaWZlbHNmYWxsIGRhbm4gemllbWxpY2ggYXVmIHVucyBhbGxlaW4gZ2VzdGVsbHQgc2luZCB1bmQgaW4gQW5iZXRyYWNodApkZXIgVGF0c2FjaGUsIGRhc3Mgd2lyIHByYWt0aXNjaCBrZWluZW4gaGFiZW4sIGRlciBkZW4gRHJpdmVyY29kZSB3aXJrbGljaCBpbgpzZWluZW4gRWluemVsaGVpdGVuIHZlcnN0ZWh0IHNvd2llIFplaXQgdW5kIE11c3NlIGhhdCBkaWVzZW4genUgd2FydGVuLCBrYW5uCmRhcyBzY2huZWxsIGhhYXJpZyB3ZXJkZW4uClVuZCBkYXMgd2lyZCBzaWNoIGF1Y2gga2F1bSBhZW5kZXJuLiBLbGFyIGtvZW5udGUgbWFuIHNpY2ggZWluYXJiZWl0ZW4sIGFiZXIKaW4gQW5iZXRyYWNodCBkZXMgYWt0dWVsbGVuIENvZGUtWnVzdGFuZGVzIGZlaGx0IHVucyBhbGxlbiBkYXp1IHdvaGwgZGllIFplaXQKdW5kIGRpZSBNb3RpdmF0aW9uLCB2b3IgYWxsZW0gd2VpbCBkYXMgbnVyIGRlciBBbmZhbmcgd2FlcmUuClZpZWxlIFdhcnR1bmdzYXJiZWl0ZW4sIGRpZSB3aXIgc2VpdCBiZXN0aW1tdCAxLTIgSmFocmVuIGRpc2t1dGllcmVuLCBhYmVyIGF1cwpaZWl0Z3J1ZW5kZW4gbmllIHVtZ2VzZXR6dCBoYWJlbiwgd2FlcmVuIG1pdCBlaW5lbSBVbXN0aWVnIG5pY2h0IG1laHIgbm9ldGlnCmJ6dy4gaGluZmFlbGxpZy4gCldlbm4gd2lyIHVuc2VyZW4gRHJpdmVyIGJlaWJlaGFsdGVuLCBrb21tdCBkZW1uYWVjaHN0IHouQi4gYXVmIHVucyB6dSwgZGVuCkNvZGUgc28genUgcmVwYXJpZXJlbiwgZGFzIGVpbiBuZXVlcmVyIGdjYyBpaG4gYXVjaCB1ZWJlcnNldHplbiBrYW5uLCB3ZWlsCmRlciBsZXR6dGUsIGRlciBkZW4gQ29kZSBzbyB1ZWJlcnNldHp0LCB3aWUgZXIgaXN0LCBBRkFJSyB2b3IgMS41IEphaHJlbgpyZWxlYXNlZCB3dXJkZS4gQXVjaCBkZW4gQ29kZSBkYW5uIHNvIGF1Znp1cmFldW1lbiwgZGFzIG1hbiBDaGFuY2VuIGhhdCwgaWhuCmFscyBBdXNzZW5zdGVoZW5kZXIgenUgdmVyc3RlaGVuLCBpc3QgZWluIEhlaWRlbmF1ZndhbmQuIEhpZXIgaXN0IHouQi4gamVkZQpNZW5nZSBDb2RlIGZ1ZXIgRG9zLCBBbWlnYSwgT1MvMiAmIENvIHp1IG5lbm5lbiwgZGVyIGVpbmZhY2ggcmF1cyBtdXNzCih2ZXJtdXRsaWNoIGZ1bmt0aW9uaWVydCBkZXIga3JhbSBlaCBuaWNodCBtZWhyKS4KClNlbGJzdCB3ZW5uIHdpciB1bnNlcmUgYWt0dWVsbGVuIFByb2JsZW1lIGdlbG9lc3QgaGFldHRlbiB1bmQgZGFubiB3ZWl0ZXIgTFAKbnV0emVuLCB3ZXJkZW4gd2lyIHZlcm11dGxpY2ggdHJvdHpkZW0gaW4gbmFoZXIgWnVrdW5mdCBmZXN0c3RlbGxlbiwgZGFzcyBkZXIKQXJiZWl0c2F1ZndhbmQgZnVlciB1bnMgbGV0enRlbmRsaWNoIGRvY2ggenUgaG9jaCBpc3QuCgpIaW56dSBrb21tdCwgZGFzcyB3aXIgbmFjaCBlaW5lbSBVbXN0aWVnIHZpZWxsZWljaHQgenVzYW1tZW4gbWl0IGFuZGVyZW4gTXVkcwppbSBCZXJlaWNoIGRlcyBEcml2ZXJzIHdhcyBiZXdlZ2VuIGtvZW5uZW4uIERhIGdpYnQgZXMgei5CLiBzY2hvbiBzZWl0IGxhbmdlbQplaW5lIElkZWUgZnVlciBlaW4gU01UUC0gdW5kL29kZXIgTk5UUC1HYXRld2F5IHVuZCBkYW1pdCBlaW5lIHJ1bmRlcm5ldWVydGUKTVBBICsgUG9zdC4uLiBTb3dhcyBpc3QgbmF0dWVybGljaCBlcnN0IGxhZW5nZXJmcmlzdGlnIGVpbiBUaGVtYSwgd2VubiB3aWVkZXIKS2FwYXppdGFldGVuIGZyZWkgc2luZC4KClZpZWxlIEdydWVzc2UsClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXN0bGlzdGUgKEFyaywgMzAuIFNlcCAyMDA2LCAyMDoxMzoyMSk6Clpvb2sgc2VpIERhbmssIGRhIGRpZSBBbmZvcmRlcnVuZ2VuIHp1bSBTZWhlcnR1bSBqYSBzY2hvbiBzZWl0IGVpbmlnZXIgWmVpdApnZWFlbmRlcnQgd3VyZGVuLCBnaWJ0IGVzIGVpZ2VudGxpY2ggYXVjaCBrZWluZW4gR3J1bmQgbWVociwgZGllIFF1ZXN0cyBpbiBkZXIKUXVlc3RsaXN0ZSBuYWNoIGRlbiB3aWxsa3VlcmxpY2ggYW5tdXRlbmRlbiBHcnVwcGVuIGVpbnp1b3JkbmVuLiBEYSBoYWJlbiB3aXIKdW5zIGVudHNjaGxvc3Nlbiwgc2llIGV0d2FzIGluZm9ybWF0aXZlciB6dSBtYWNoZW4uCkVzIGdpYnQgMiBuZXVlIEluZm9ybWF0aW9uZW4sIGRpZSB1ZWJlciBkaWUgQXJ0IGRlciBRdWVzdCBtZWhyIGF1c3NhZ2VuIHNvbGwKKEF0dHJpYnV0KSwgc293aWUgdWViZXIgZGllIFNjaHdpZXJpZ2tlaXQvRGF1ZXIgKEtsYXNzZSkuCkluIGRlciBLbGFzc2UgZ2lidCBlcyBlaW5lIChuYXR1ZXJsaWNoIGlyZ2VuZHdvIHN1Ympla3RpdmUpIEVpbnNjaGFldHp1bmcgd2llCmdlZmFlaHJsaWNoIG9kZXIgbGFuZ3dpZXJpZyBkaWUgUXVlc3QgZnVlciBkaWUgZWluZ2VzY2hhZXR6dGUgU3R1ZmUgaXN0LiBEYXMKQXR0cmlidXQgY2hhcmFrdGVyaXNpZXJ0IHNpZSBuYWNoIEFydCBkZXIgVGFldGlna2VpdCwgZGllIG1hbiB2b3JuZWhtbGljaCBkb3J0CnZlcnJpY2h0ZW4gZGFyZi4KQXVzc2VyZGVtIHd1cmRlbiBkaWUgR3J1cHBlbiBuZXUgZ2VzY2hhZmZlbiwgc2llIGhhYmVuIGtlaW5lcmxlaSBFaW5mbHVzcyBhdWYKZGFzIFNlaGVydHVtLCBzb25kZXJuIGRpZW5lbiBtZWhyIGRlciBVZWJlcnNpY2h0bGljaGtlaXQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0bGlzdGUgKFNoYXJpYSwgIDEuIE9rdCAyMDA2LCAwOTowNTozMik6Cn4jISBybj1BcmsgcnQ9MTE1OTY0MDAwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk2NDAwMDEKVmllbGVuIERhbmsgZnVlciBkaWUgTXVlaGVuIQpLdXJ6ZSBOZWJlbmZyYWdlOiBnaWJ0IGVzIGRpZSBhbHRlIExpc3RlIGF1Y2g/IDopCgoKKiBvYmVuIGhpbnRlciBkYXMgImF1Y2giIG5vY2ggZWluICJub2NoIiBzY2hpZWIuCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWVzdGxpc3RlIChab29rLCAgMi4gT2t0IDIwMDYsIDExOjIwOjM3KToKfiMhIHJuPUFyayBydD0xMTU5NjQwMDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTY0MDAwMQpLbGVpbmUgQW5tZXJrdW5nIG5vY2g6IEVzIHdhZXIgc3VwZXIsIHdlbm4gSWhyIEV1cmUgRXJmYWhydW5nZW4gbWl0IGRlcgpRdWVzdGxpc3RlIGFuIEFyayB1bmQvb2RlciBtaWNoIHp1cnVlY2sgbWVsZGVuIGtvZW5udGV0LiBBbHNvIGJlc29uZGVycwpzb2xjaGUgU3BpZWxlciwgZGllIGVpbmUgUXVlc3QgYXVmZ3J1bmQgZGVyIG5ldWVuIEFuZ2FiZW4gYXVzd2FlaGxlbjogCldhcmVuIGRpZSBJbmZvcm1hdGlvbmVuIGhpbGZyZWljaD8gSGF0IGVzIGlyZ2VuZHdpZSBkaWUgUXVlc3QgZ3V0IApjaGFyYWt0ZXJpc2llcnQ/IAoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0bGlzdGUgKFJhc2NoYXVhLCAgMi4gT2t0IDIwMDYsIDExOjM4OjI4KToKfiMhIHJuPVpvb2sgcnQ9MTE1OTc4MDgzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk2NDAwMDEKSGllciBiaWV0ZXQgc2ljaCBkb2NoIGFuLCBkaWVzZSBBdWZmb3JkZXJ1bmcgenVyIFJ1ZWNrbWVsZHVuZyBpbiBkZXIgUXVlc3RtYWlsCnVudGVyenVicmluZ2VuLiBFcyBzb2xsIGphIExldXRlIGdlYmVuLCBkaWUgZGllc2UgbGVzZW4gdW5kIGRyYXVmIGFudHdvcnRlbi4KClJhc2NoYXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1ZXN0bGlzdGUgKEFyaywgIDIuIE9rdCAyMDA2LCAxMTozOTo0MCk6Cn4jISBybj1ab29rIHJ0PTExNTk3ODA4Mzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU5NjQwMDAxCk5vY2ggZWluZSBrbGVpbmUgQW5tZXJrdW5nOiAiQXR0cmlidXQiIGNoYXJha3RlcmlzaWVydCBkaWUgUXVlc3QgbmFjaCBpaHJlcgpTdG9yeSwgZXMgaXN0IGtlaW5lIEthdGVnb3Jpc2llcnVuZyAiaGF1cHRzYWVjaGxpY2ggTWV0emVsbiIsICJ2b3IgYWxsZW0KRm9yc2NoZW4iLCAidmllbGUgUmFldHNlbCIuCi5EaWVzZSBLYXRlZ29yaXNpZXJ1bmcgd3VyZGUgYW5nZXNpY2h0cyBkZXIgTWVuZ2UgYW4gYmVub2V0aWd0ZW4gSW5mb3JtYXRpb25lbgphYnNpY2h0bGljaCBuaWNodCB2b3JnZW5vbW1lbiwgZGVubiBkaWUgbGFlbmdlciB3ZXJkZW5kZSBMaXN0ZSBzb2xsdGUgbm9jaApoYW5kaGFiYmFyIHNlaW4gdW5kIGdlcmFkZSBBbmZhZW5nZXIgbmljaHQgdmVyd2lycmVuLgpBdXNzZXJkZW0gbW9lY2h0ZSBpY2ggbmljaHQsIGRhc3MgZWluZSBzY2hsZWNodGUgS2F0ZWdvcmlzaWVydW5nICJGb3JzY2hlbiIsCiJNZXR6ZWxuIiwgIlJhZXRzZWxuIiwgIlJ1bWxhdWZlbiIsIGV0Yy4gZGF6dSBmdWVocnQsIGRhc3MgbWFuIG1laW50LCBkaWUgZWluZQpvZGVyIGFuZGVyZSBRdWVzdCBpc3QgbmljaHRzLiBEYXMgd2FlcmUga29udHJhcHJvZHVrdGl2LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdvb2dsZSBBZHdvcmRzIChFbm5veCwgIDIuIE9rdCAyMDA2LCAyMDo0MDo0NCk6CkljaCBoYWJlIG1hbCBHb29nbGUgQWR3b3JkcyBmdWVyIGRpZSBNRy1TZWl0ZW4gZWluZ2VzdGVsbHQuIEZhbGxzIGlociBkaWUgYmVpCkdvb2dsZSBzZWhlbiBzb2xsdGUsIGZyZXV0IGV1Y2guCkFCRVIgQklUVEUgTklDSFQgRFJBVUZLTElDS0VOIQpEYXMga29zdGV0IEdlbGQgdW5kIGVzIHNvbGxlbiBkaWUgTGV1dGUgZHJhdWZrbGlja2VuLCBkaWUgZGFzIE1HIG5vY2ggbmljaHQKa2VubmVuIQpEYW5rZSAmIEdydXNzCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHb29nbGUgQWR3b3JkcyAoQWxrb2hvbCwgIDIuIE9rdCAyMDA2LCAyMDo0MTo0MSk6Cn4jISBybj1Fbm5veCBydD0xMTU5ODE0NDQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTgxNDQ0NAp3YXMgbWVpbnN0IGR1IG1pdCwgZGFzIGtvc3RldCBnZWxkPwpNdXNzIGljaCBiZXphaGxlbiwgd2VubiBpY2ggZHJhdWZrbGlja2U/CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdvb2dsZSBBZHdvcmRzIChIdW1uaSwgIDIuIE9rdCAyMDA2LCAyMDo0MjoyOSk6Cn4jISBybj1BbGtvaG9sIHJ0PTExNTk4MTQ1MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU5ODE0NDQ0CkljaCB2ZXJtdXRlLCBkYW5uIGRhcmYgTWVzaSB6YWhsZW4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR29vZ2xlIEFkd29yZHMgKEFsa29ob2wsICAyLiBPa3QgMjAwNiwgMjA6NDM6MDMpOgp+IyEgcm49SHVtbmkgcnQ9MTE1OTgxNDU0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk4MTQ0NDQKYWggc28sIHVuZCB3YXMgYnJpbmdlbiBkaWVzZSBBZHdvcmRzPwoKQWxraQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdvb2dsZSBBZHdvcmRzIChNYWhhcmV0LCAgMi4gT2t0IDIwMDYsIDIxOjAxOjI5KToKfiMhIHJuPUFsa29ob2wgcnQ9MTE1OTgxNDU4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk4MTQ0NDQKSG9mZmVudGxpY2ggbmV1ZSBTcGllbGVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHb29nbGUgQWR3b3JkcyAoWm9vaywgIDIuIE9rdCAyMDA2LCAyMTowMjoxMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTk4MTU2ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU5ODE0NDQ0CldhcyBrb3N0ZXQgZGVubiBlaW4gS2xpY2s/Clpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHb29nbGUgQWR3b3JkcyAoRW5ub3gsICAyLiBPa3QgMjAwNiwgMjE6MDQ6NTYpOgp+IyEgcm49Wm9vayBydD0xMTU5ODE1NzMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTgxNDQ0NApkYXMgaXN0IGR5bmFtaXNjaCBqZSBuYWNoZGVtIHdvIGVzIGVpbmdlYmxlbmRldCB3aXJkLiBCaXNoZXIgaGF0dGVuIHdpciAyMDAKQW56ZWlnZW4gdW5kIDQgS2xpY2tzLCBkaWUgMCw1OCBFVVIgZ2Vrb3N0ZXQgaGFiZW4uIEJ1ZGdldCBpc3QgZXJzdG1hbCAxNQpldXIvbW9uYXQuCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFF1ZXN0bGlzdGUgKEtudXJwcywgIDYuIE9rdCAyMDA2LCAyMTo0OTozMyk6Cn4jISBybj1BcmsgcnQ9MTE1OTc4MTk4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk2NDAwMDEKPiBBdXNzZXJkZW0gbW9lY2h0ZSBpY2ggbmljaHQsIGRhc3MgZWluZSBzY2hsZWNodGUgS2F0ZWdvcmlzaWVydW5nCj4gIkZvcnNjaGVuIiwgIk1ldHplbG4iLCAiUmFldHNlbG4iLCAiUnVtbGF1ZmVuIiwgZXRjLiBkYXp1IGZ1ZWhydCwKPiBkYXNzIG1hbiBtZWludCwgZGllIGVpbmUgb2RlciBhbmRlcmUgUXVlc3QgaXN0IG5pY2h0cy4KClZlcnN0ZWggaWNoIG5pY2h0LiBJY2ggZ2xhdWJlLCBkYXNzIGRpZSBNdW5kIHp1IE11bmRwcm9wYWdhbmRhIGRhcyBlaAplcnNjaG9lcGZlbmQgZXJsZWRpZ3QuIEEgbGEgIkxhc3MgZGllIEZpbmdlciB2b24gQWRULCBkYSBzdGVyYiBpY2ggc2VsYnN0IG1pdApLTCIuIEhhYiBpY2ggZWlnZW50bGljaCBzY2hvbiBtYWwgZ2VzYWd0LCBkYXNzIGFsbGUgUXVlc3RzIHZvbiBBcmtzIG9wdGlvbmFsCnNlaW4gc29sbHRlbj8KSWNoIGthbm4gbWlyIG5pY2h0IHZvcnN0ZWxsZW4sIGRhc3MgamVtYW5kIHNhZ3Q6ICJPaCwgZGllc2UgUXVlc3QgaGF0IDcvMjAKRm9yc2NocHVua3RlLCBkaWUgbWFjaCBpY2ggbm9jaCwgYWJlciBhbGxlcyB1ZWJlciA4LzIwIGxhc3MgaWNoIGJsZWliZW4uIiBEYXMKaXN0IGRvY2ggYWxiZXJuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFF1ZXN0bGlzdGUgKE9ya3RvZXRlciwgIDYuIE9rdCAyMDA2LCAyMTo1Mzo0NSk6Cn4jISBybj1LbnVycHMgcnQ9MTE2MDE2NDE3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk2NDAwMDEKQWxzbyBBcmtxdWVzdHMgc2luZCBkaWUgc2Nob2Vuc3RlbiB1ZWJlcmhhdXB0LiBLbGFyIGthbm4gbWFuIG1hbCBkcmF1ZiBnZWhlbgood28gYmxpZWJlIGRpZSBTcGFubnVuZyB1bmQgZGVyIE5lcnZlbmtpdHplbCwgd2VubiBkZW0gbmljaHQgc28gd2FlcmU/KSwgYWJlcgpkaWUgYWxsZXJtZWlzdGVuIEZhbGxlbiBrYW5uIG1hbiBkdXJjaCBndXRlcyBmb3JzY2hlbiByZWNodHplaXRpZyBmaW5kZW4gKGRlbgpSZXN0IHZpZWxsZWljaHQgYXVjaCBub2NoLCBhYmVyIGRhZnVlciBoYWJlIGljaCBkYW5uIG5pY2h0IGd1dCBnZW51ZwpnZWZvcnNjaHQpLiBEYWZ1ZXIgc2luZCBkaWUgR2ViaWV0ZSB0b2xsIGJlc2NocmllYmVuLiBTZWhyIFN0aW1taWcgdW5kCkFid2VjaHNsdW5nc3JlaWNoLiBLdXJ6IHVuZCBHdXQ6IEFya3F1ZXN0PyBGaW5kZSBpY2ggZ3V0IQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFF1ZXN0bGlzdGUgKEtlc3NhLCAgNi4gT2t0IDIwMDYsIDIxOjU5OjE2KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTYwMTY0NDI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTY0MDAwMQpGaW5kZSBpY2ggYXVjaCwgYWJlciBoaWVyIGdlaHQgZXMgamEgbmljaHQgdW0gR2VzY2htYWNrLCBzb25kZXJuIHVtIGVpbmUKc2lubnZvbGxlIEVpbm9yZG51bmcgdm9uIFNjaHdpZXJpZ2tlaXRzZ3JhZCBldGMuCk1pciBwZXJzb2VubGljaCB3dWVyZGUgYXVjaCBlaW5lIEVpbnNjaGFldHp1bmcgYW5oYW5kIGRlciBoaWVyIGdlbGFldWZpZ2VuCkJlZ3JpZmZlIEZvcnNjaGVuLCBSYWV0c2VsbiwgTWV0emVsbiBlaGVyIHdlaXRlcmhlbGZlbi4gSGFiIGRhenUgc2Nob24gZGVuClZvcnNjaGxhZyBnZW1hY2h0LCBkYXMgbWl0IEdyb3NzYnVjaHN0YWJlbiAoRlJNIGluIHVudGVyc2NoaWVkbGljaGVyClp1c2FtbWVuc3RlbGx1bmcpIHVudGVyICdBdHRyaWJ1dGUnIGFuenVnZWJlbi4gSWNoIGdsYXViZSBhdWNoIG5pY2h0LCBkYXNzIGRhcwpqZW1hbmRlbiBhYnNjaHJlY2tlbiB3dWVyZGUuIEFiZXIgbWFnIG1pY2ggbmF0dWVybGljaCBpcnJlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUXVlc3RsaXN0ZSAoS251cnBzLCAgNi4gT2t0IDIwMDYsIDIyOjAxOjI2KToKfiMhIHJuPUtlc3NhIHJ0PTExNjAxNjQ3NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTU5NjQwMDAxCkhtbSwgYmVzb25kZXJzIHNjaGljayAoY2hpYz8pIHdhZXJlIGVzLCB3ZW5uIG1hbiBhbmhhbmQgZGVyIEZwcywgRWtzLCBFcHMsCkxldmVsLCBHaWxkZW5sZXZlbCBlaW5lbiBWb3JzY2hsYWcgZnVlciBkaWUgbmFlY2hzdGUgUXVlc3QgYmVrYWVtZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFF1ZXN0bGlzdGUgKEtlc3NhLCAgNi4gT2t0IDIwMDYsIDIyOjAyOjUyKToKfiMhIHJuPUtudXJwcyBydD0xMTYwMTY0ODg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTY0MDAwMQpLbGFyLCB3YXJ1bSBuaWNodCBnbGVpY2ggZGllIEdlbG9lc3QtU3BhbHRlIGF1c3dlcnRlbiB1bmQgbmFjaCBqZWRlciBRdWVzdCBlaW4KaW5kaXZpZHVlbGxlcyBFbXBmZWhsdW5nc3Byb2ZpbCBmdWVyIGRlbiBTcGllbGVyIGF1c2dlYmVuPyA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA2LiBPa3QgMjAwNiwgMjM6MjQ6MTApOgp+IyEgcm49VmFuaXIgcnQ9MTE2MDE2NzUyNiByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCkFsc28sIG5hY2hkZW0gamV0enQgbWVocmVyZSB3YXMgaW4gZGVyIFJpY2h0dW5nIHNhZ2VuLCBhdWNoIHBlciBUTSwgc2NocmVpYgppY2ggbm9jaCBtYWwgZ2VuYXVlciBoaW4sIHdhcyBpY2ggbWlyIGFscyBTcGllbGVyIHd1ZW5zY2hlbiB3dWVyZGUuCgoxLiBlaW5lIEtsYXNzaWZpemllcnVuZyBmdWVyIGplZGUgUXVlc3QsIGRpZSBsZWVyZW4gU3RlbGxlbiBzdG9lcmVuIGlyZ2VuZHdpZS4KCjIuIGVpbmUgYXVzc2FnZWtyYWVmdGlnZXJlIEtsYXNzaWZpemllcnVuZy4gSGVyb2lzY2gsIGVwaXNjaCwgbGVnZW5kYWVyCmtvZW5udGUgYWxsZXMgbW9lZ2xpY2hlIHNlaW4uIE1laW4gVm9yc2NobGFnIHdhZXJlIEYsIFIsIE0gZnVlciBGb3JzY2hlbiwKUmFldHNlbG4sIE1ldHplbG4gLSBXb2VydGVyLCBkaWUgaGllciBqZWRlciBrZW5udCB1bmQgZ2VicmF1Y2h0LiBEYXMga29lbm50ZQptYW4ga29tYmluaWVyZW4uIFouQi4gRiBmdWVyIFNjaHJhdCwgRlIgZnVlciBHZWZhZW5nbmlzaW5zZWwsIE0gZnVlcgpPYmVyZ2xhZGlhdG9yLCBGUk0gZnVlciBJbmZlcm5vLiBJY2ggc2VoZSBzY2hvbiBkZW4gUHVua3QsIGRhc3MgbWl0IGRlcgpqZXR6aWdlbiBFaW50ZWlsdW5nIGVoZXIgZGVyIENoYXJha3RlciBkZXIgU3RvcnkgYmVzY2hyaWViZW4gd2VyZGVuIHNvbGwuIE51cgppc3QgZGFzIGdsYXViZSBpY2ggbmljaHQgZGFzLCB3YXMgZWluIFNwaWVsZXIgaW4gZXJzdGVyIExpbmllIHdpc3NlbiB3aWxsLAp3ZW5uIGVyIGluIGRlciBMaXN0ZSBuYWNoIEluZm9ybWF0aW9uZW4gc3VjaHQuCgozLiBTdGVybmNoZW4gZnVlciBBbnNwcnVjaCAoRGF1ZXIsIFNwaWVsZXJmYWhydW5nIHVuZCBkZXJnbC4pCgpEaWUgR3J1cHBlbmVpbnRlaWx1bmcgZmluZGUgaWNoIHNlaHIgc2Nob2VuIHNvLCBpY2ggaGFiIGRpZSBhbHRlIG5pZSByZWNodAp2ZXJzdGFuZGVuLgoKU2Nob2VuZW4gR3J1c3MhIEtlc3NhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo1MyBvZGVyIDM1IFB1bmt0ZSBmdWVyIEh1ZGRsZXMtUXVlc3QgKE1hc3VsLCAgNy4gT2t0IDIwMDYsIDEwOjE4OjE0KToKTWFsIGVpbmUgRnJhZ2U6IERpZSBIdWRkbGVzLVF1ZXN0IHN0ZWh0IG1pdCA1MyBQdW5rdGVuIGluIGRlciBRdWVzdC1MaXN0ZS4KS29lbm50ZSBlcyBzaWNoIHVtIGVpbmVuIFphaGxlbmRyZWhlciBoYW5kZWxuLCBvZGVyIGlzdCBkaWUgUHVua3R6YWhsCnRhdHNhZWNobGljaCBzbyBrcnVtbT8KTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA1MyBvZGVyIDM1IFB1bmt0ZSBmdWVyIEh1ZGRsZXMtUXVlc3QgKEFyaywgIDcuIE9rdCAyMDA2LCAxMDoyMToyNik6Cn4jISBybj1NYXN1bCBydD0xMTYwMjA5MDk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDIwOTA5NApEaWUgaXN0IHNvLiBLcnVtbSBpc3Qgc2llIGFsbGVyZGluZ3MgbmljaHQsIHNpZSBleHBsb3JpZXJ0IG51ciBkZW4gQmVyZWljaAppbm5lcmhhbGIgZGVyIHNvbnN0IHVlYmxpY2hlbiA1ZXIgQWJzdGFlbmRlLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogNTMgb2RlciAzNSBQdW5rdGUgZnVlciBIdWRkbGVzLVF1ZXN0IChNYXN1bCwgIDcuIE9rdCAyMDA2LCAxMDozMDoyOCk6Cn4jISBybj1BcmsgcnQ9MTE2MDIwOTI4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAyMDkwOTQKRGFua2UgZnVlciBkaWUgSW5mby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWUgUXVlc3RsaXN0ZSAoTWFoYXJldCwgIDcuIE9rdCAyMDA2LCAxMTowNDowMCk6Cn4jISBybj1LZXNzYSBydD0xMTYwMTY5ODUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpJY2ggYmluIGRhZnVlciwgZGllc2VzICJBdHRyaWJ1dCIgd2llZGVyIGVyc2F0emxvcyB6dSBzdHJlaWNoZW4uIEVzIHN0aWZ0ZXQKb2ZmZW5iYXIgbWVociBWZXJ3aXJydW5nIHVuZCBTdHJlaXRwb3RlbnRpYWwsIGFscyBkYXNzIGVzIGhpbGZ0LiAgV2VyIEZyYWdlbgp6dW0gU2Nod2VycHVua3QgZWluZXIgUXVlc3QgaGF0LCBrYW5uIGRhcyB3aWUgYmlzaGVyIGF1ZiBkZXIgRWJlbmUgb2RlciBwZXIgdG0KZXJmYWhyZW4uICAKRGllICJLbGFzc2UiIHd1ZXJkZSBpY2ggdW1iZW5uZW4gKCJBbnNwcnVjaCIgaXN0IGRhIGJlc3NlciwgZ2xhdWJlIGljaC4KIlNjaHdpZXJpZ2tlaXRzZ3JhZCIgaXN0IHZlcm11dGxpY2ggc2Nob24gZWluIHp1IGxhbmdlcyBXb3J0IDspICkKClVuZCBiaXR0ZSwgbWFjaHQgZGllIHd3dy5lbnR3aWNrbHVuZyBuaWNodCB2b2xsLCBkaWUgd2lyZCBmdWVyIGFuZGVyZXMKZ2VicmF1Y2h0IDspCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOZXVlIFF1ZXN0bGlzdGUgKFpvb2ssICA3LiBPa3QgMjAwNiwgMTI6MzA6MjkpOgp+IyEgcm49U2hhcmlhIHJ0PTExNjAyMTA4MDkgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpEYSBkYXJ1bSBnZWJldGVuIHd1cmRlLCBoaWVyIHp1IGFudHdvcnRlbiwgZWluZSBBbnR3b3J0IGF1ZiBTaGFyaWFzIEZyYWdlOgpOZWluLCBkaWUgYWx0ZSBRdWVzdGxpc3RlIGlzdCBiYWNoYWIgZ2VnYW5nZW4uIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjMyOjQ3KToKfiMhIG9uPVZhbmlyIG90PTExNjAyMTM3ODIgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1BcmsgcnQ9MTE2MDE3MjY2MCByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyClVtIG5vY2htYWwgbWVpbmVuIFNlbmYgZGF6dXp1Z2ViZW46Ck9iZXJnbGFkaWF0b3IgbWFnIGF1cyBkZWluZXIgU2ljaHQgZWluIHN0dW1wZmVzIG5pZWRlcm1ldHplbG4gdm9uIE5QQydzIHNlaW4uCihJc3QgZXMgaW0gR3J1bmRlIGphIGF1Y2guIEFsbGVyZGluZ3MgaXN0IGVzIGFscyBrbGVpbmVyIFNwaWVsZXIgZHVyY2hhdXMKc3Bhbm5lbmQgc2ljaCBzb2xjaCBlaW5lbSBUdXJuaWVyIGF1ZiBMZWJlbiB1bmQgVG9kIHp1IHN0ZWxsZW4uIEVzIG1hZyBmdWVyCm1pY2ggendhciBKYWhyZSBoZXIgc2VpbiwgYWJlciBpY2ggZXJpbm5lciBtaWNoIG5vY2ggc2VociBndXQgd2llIGljaCBhbgptZWluZXIgQXVzcnVlc3R1bmcgdW5kIG1laW5lciBLYW1wZnRlY2huaWsgKHRlbG5ldCwgdW5kIGRhbWFscyBtdXNzdGVuIHdpcgpub2NoIGRpZSBIYWVuZGUgZnJlaSBoYWJlbiB1bSBlaW5lbiBGZXVlcmJhbGwgenUgd2VyZmVuKSBnZWZlaWx0IGhhYmUgdW0gZGllc2UKS2FlbXBmZSB6dSBiZXN0ZWhlbi4gT2IgbWFuIGRpZXNlcyAnQWJlbnRldWVyJyBudW4gYWxzIGVwaXNjaCwgaGVyb2lzY2ggb2Rlcgpzb25zdHdhcyBiZXplaWNobmV0IGlzdCBtaXIgaW0gR3J1bmRlIHVuZCBsZXR6dGVuZGxpY2ggZWdhbC4gV29nZWdlbiBpY2ggbWljaAphYmVyIHdlaHJlIGlzdCwgZGFzcyBtYW4gZWluaWdlIFF1ZXN0cyBvaG5lIEF0dHJpYnV0IGJlbGVndC4gRGllcyBpc3QgZGVua2UKaWNoIGtvbnRyYXByb2R1a3Rpdi4gSmVkZXIgcXVlc3Qga2FubiBtYW4gZWluIEF0dHJpYnV0IHp1d2Vpc2VuLiBVbmQgaWNoCmZhZW5kZSBlcyBzY2hvZW4gYXVjaCBzY2hvbiBrdXJ6ZSBBdXNzYWdlbiB1ZWJlciBsYWVuZ2UgdW5kIGRhcyBWZXJoYWVsdG5pcwprYWVtcGZlbi9mb3JzY2hlbiB6dSBmaW5kZW4uIEljaCB3ZWlzcyBuaWMuIChkb29mZXMgdGVsbmV0KSBJY2ggd2Vpc3MgbmljaHQKd2llIGlociBldWNoIGZ1ZXIgcXVlc3RzIGVudHNjaGVpZGV0LCBhYmVyIG1pciBpc3RzIHNjaG9uIHdpY2h0aWcgZXR3YXMgdWViZXIKZGFzIFZlcmhhZWx0bmlzIGZvcnNjaGVuL2thZW1wZmVuIHZvcmhlciB6dSB3aXNzZW4uIEljaCBmcmFnZSBtZWlzdCB2b3JoZXIKaGVydW0gYmV2b3IgaWNoIG1pY2ggaW4gZWluIG5ldWVzIEFiZW50ZXVlciBzdHVlcnplLiBFaW5lIGt1cnplIEF1c3NhZ2UKZGFydWViZXIgaW4gZGVyIFF1ZXN0bGlzdGUgaGFsdGUgaWNoIGZ1ZXIgZHVyY2hhdXMgbW90aXZpZXJlbmQgdW5kCnNwaWVsZm9lcmRlcm5kCgpWYW5pciBhcCBOaWxhClZhbmlyIGFwIE5pYWwKClAuUy46IGRvb2ZlcyB0ZWxuZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozNjo0Nyk6Cn4jISBvbj1SdW1hdGEgb3Q9MTE2MDE1NDEyOSBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPU1haGFyZXQgcnQ9MTE2MDE0ODQ0MyByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyClNvbGx0ZSBtYW4gbmljaHQgIkF0dHJpYnV0IiBWT1IgZGllICJLbGFzc2UiIHNjaHJlaWJlbj8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTI6Mzc6MDkpOgp+IyEgb249S2Vzc2Egb3Q9MTE2MDE1NDU0MCBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPVJ1bWF0YSBydD0xMTYwMTU0MTI5IHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKQmV2b3IgZGFzIGhpZXIgZGlza3V0aWVydCB3aXJkOiBkaWUgbmV1ZSBRdWVzdGxpc3RlIHN0ZWh0IGVpbmZhY2ggc28gZGEsIHdpZQpzaWUgYXVjaCBpbSBNdWQgYW5nZXplaWd0IHdpcmQgKGF1c3NlciBkZW0gR2Vsb2VzdC1TdGF0dXMpLiBTLiBSdWJyaWsKQWxsZ2VtZWluZXMsIEFydC4gNDQtNDguIEFlbmRlcnVuZ3N2b3JzY2hsYWVnZSBhbiBBcmsgb2RlciBab29rIG9kZXIgZG9ydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM3OjEzKToKfiMhIG9uPUtudXJwcyBvdD0xMTYwMTYzNjk5IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49S2Vzc2EgcnQ9MTE2MDE0NDk1MiByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCkRhcyBpc3QgdG90YWwgdmVyd2lycmVuZCwgZXMgZ2lidCBlaW5lIFNwYWx0ZSAnU3R1ZmUnIGRpZSB2b24gMS0yMCBuYWNoIG5pY2h0CmVya2VubmJhcmVyIFNrYWxpZXJ1bmcgYXJiZWl0ZXQsIHNvd2llIHNwYWx0ZW53ZWlzZSBVbnRlcnRlaWx1bmdlbiBuYW1lbnMKU3R1ZmUsIGRpZSAgendpc2NoZW4gMS0yNSB1bmQgZGFubiAyNisgdW50ZXJ0ZWlsdCBzaW5kLiBXYXMgZGllIEJlZGV1dHVuZyBpbgpkZXIgS2F0ZWdvcmllIFN0dWZlIDI2KyB2b24gVGFueiBtaXQgZGVtIEluZmVybm8gKFN0dWZlIDE5KSBpc3QsIGJsZWlidAp6dW1pbmRlc3QgbWlyIHZlcnNjaGxvc3Nlbi4gCgphKSBFcyBkYXJmIG51ciBlaW5lIFN0dWZlbnNrYWxhIGdlYmVuCmIpIFN0dWZlbiBnaWJ0cyBhdWYgZGVyIFRyZXBwZSwgZGVyIEJlZ3JpZmYgaXN0IGRvb2YKYykgV2FydW0gbmljaHQgdmllciBLYXRlZ29yaWVuIE1ldHplbG4gKDEtMTApLCBGb3JzY2hlbiAoMS0xMCksIERhdWVyICgxLTEwKSwKZW1wZm9sZW5lcyBNaW5kZXN0bGV2ZWwgKDEtPz8pCgpLbnVycHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozNzozNyk6Cn4jISBvbj1LZXNzYSBvdD0xMTYwMTYzODA5IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49S251cnBzIHJ0PTExNjAxNjM2OTkgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpNYWcgZGFzIGplbWFuZCBuYWNoIEFsbGdlbWVpbmVzIHZlcmxlZ2VuLCB6dSBkZXIgQW5rdWVuZGlndW5nIGRlciBRdWVzdGxpc3RlCm5lYnN0IEVpbmxhZHVuZyB6dXIgRGlza3Vzc2lvbj8KTm9jaG1hbDogd2lyIGJpbGRlbiBkaWUgTGlzdGUgYXVmIGRlbiBXZWJzZWl0ZW4gc28gYWIsIHdpZSBzaWUgaW0gTXVkCmFuZ2V6ZWlndCB3aXJkIHVuZCBzaW5kIGhpZXJmdWVyIG5pY2h0IGRpZSByaWNodGlnZSBBZHJlc3NlIDopCgpLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozNzo0Myk6Cn4jISBvbj1ab29rIG90PTExNjAxNjM5Nzkgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1LZXNzYSBydD0xMTYwMTYzODA5IHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKTmFqYSwgbmljaHQgZ2FuejsgS251cnBzIEhpbndlaXMgaXN0IHNjaG9uIHJpY2h0aWc6IEhpZXIgaW0gTUcgaGF0IGRpZQpRdWVzdCAiVGFueiBtaXQgZGVtIEluZmVybm8iIGRpZSBTdHVmZSAzMCwgaW0gV2ViIGFsbGVyZGluZ3MgbnVyIDE5LiBLYW5uCmVzIHNlaW4sIGRhc3MgYmVpIGRlciBVZWJlcnRyYWd1bmcgZXR3YXMgc2NoaWVmIGdlZ2FuZ2VuIGlzdD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM3OjU1KToKfiMhIG9uPUtlc3NhIG90PTExNjAxNjQwMTMgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1ab29rIHJ0PTExNjAxNjM5Nzkgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpKYSwgREFTIGdlaHQgdW5zIHdhcyBhbi4gRGFua2UgZnVlciBkZW4gSGlud2VpcyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM4OjE3KToKfiMhIG9uPVZhbmlyIG90PTExNjAxNjc1MjYgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1LbnVycHMgcnQ9MTE2MDE2MzY5OSByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCgpLbnVycHMgc3ByaWNodCBnZW5hdSBkYXMgYXVzLCB3YXMgaWNoIGF1Y2ggZGVua2UuIEljaCBoYWIgbWlyIGRpZXNlIG5ldWUgbGlzdGUKYW5nZXNjaGF1dCB1bmQgdW0gZWhybGljaCB6dSBzZWluIGRpZSBLYXRlZ29yaXNpZXJ1bmcgbmljaHQga2FwaWVydC4KR2VyYWRlIGRpZXNlIHRleHRsaWNoZSBFaW5zY2hhZXR6dW5nIGlzdCBtZXJrd3VlcmRpZy4gU28gaXN0IHp1bSBCZWlzcGllbAonV2VyZGUgT2JlcmdsYWRpYXRvcicgb2huZSBUZXh0IGJlbGVndC4gRGFiZWkgaGFuZGVsdCBlcyBzaWNoIGRvY2ggdW0gZWluCmtsYXNzaXNjaGVzIEFiZW50ZXVlciBhdXMgamVkZXIgenVlbmZ0aWdlbiBSb2xsZW5zcGllbGVycnVuZGU6IE1hbiBoYXQgZXMgenUKd2FzIGdlYnJhY2h0IHVuZCBuaW1tdCBhbiBlaW5lbSBUdW5pZXIgdGVpbC4gRGFtaXQgd2FlcmUgZXMgYWxzbyBlaW4KJ2VwaXNjaGVzJyBBYmVudGV1ZXIuCgpBYmVyIG1hbCB6dXJ1ZWNrIHp1bSBUaGVtYTogSWNoIHd1ZXJkZSBtaXIga2xhcmUgdW5kIGVpbmZhY2hlIEthdGVnb3JpZW4Kd3VlbnNjaGVuLiBHZW5hdSBkYXMgc2luZCBkaWUgdm9uIEtudXJwcyAoS2FtcGYsIEZvcnNjaCwgRGF1ZXIsIE1pbmRlc3RsZXZlbCwKKHZsbHQuIGF1Y2ggZHVyY2hzY2huaXR0LXN0YXRzKSkuCgpJY2ggaGFiIGF1c3NlcmRlbSBkYXMgR2VmdWVobCwgZGFzcyBpY2ggZGllIEthdGVnb3JpZW4gbmljaHQgZ2FueiB2ZXJzdGVoZS4KQmVpbSBkdXJjaGxlc2VuIHNjaGllbiBlcyBzbywgYWxzIHdlbm4gc2ljaCBkaWUgaW5oYWx0bGljaCAndWViZXJsYWdlcm4nLgoKVmFuaXIgYXAgTmlhbCBpc3QgZGVtbmFjaCBmdWVyIGVpbmUgVWViZXJhcmJlaXR1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM4OjIzKToKfiMhIG9uPUFyayBvdD0xMTYwMTcxODA1IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49VmFuaXIgcnQ9MTE2MDE2NzUyNiByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCk9rLiBXZW5uIGRlciBUZW5vciBpc3QsIGRhc3MgYWxsZXMgenUgd2VuaWcgYXVzc2FnZWtyYWVmdGlnIGlzdCwgbWVpbmV0aGFsYmVuLgpXZW5uIG1hbiBtZWludCwgZGFzcyBPYmVyZ2xhZGlhdG9yICJFcGlzY2giIGlzdCwgd2VpbCBtYW4gZWluIEtvbnplcHQgYWxhCk1ldHplbGdhbmcgIkhhdSB4IE1vbnN0ZXIgbW9lZ2xpY2hzdCB6dWVnaWcgdW0iIGluIGVpbmVuIE9ydCBBcmVuYSB2ZXJsZWd0LAptZWluc2hhbGJlbi4gTWVpbmUgQXVmZmFzc3VuZyB3YXIgZXMgbmljaHQgdW5kIHdpcmQgZXMgbmljaHQgc2Vpbi4gSWNoIGJpbgpzdHJpa3QgZ2VnZW4gZWluZSBiZWFtdGVuZGV1dHNjaGUgS2F0ZWdvcmlzaWVydW5nLCBkaWUgZGVyIFF1ZXN0IHh5IDEwMCUgb2RlcgphdWNoIG51ciA5MCUgaWcgZ2VyZWNodCB3aXJkLiBEaWUgRGlza3Vzc2lvbiB1ZWJlciBkaWUgQmV3ZXJ0dW5nIHd1ZXJkZQpsYWVuZ2xpY2ggZGF1ZXJuLiBBbSBFbmRlIGtvbW10IGtlaW5lIFF1ZXN0bGlzdGUgaGVyYXVzLCBhdXMgZGVyIG1hbiBhbHMKQW5mYWVuZ2VyIHNjaGxhdSB3aXJkLCBzb25kZXJuIGVoZXIgZWluZSBzY3JvbGxlbmRlIERhdGVuYmFuay4gTmFqYSwKdmllbGxlaWNodCBrYW5uIG1hbiBjdXN0b21pemVuIHVuZCBBYmZyYWdlbiBtYWNoZW4gLi4uIHVuZCBhbSBFbmRlIGdlbmF1c28Kc2NobGF1IHNlaW4gd2llIHp1dm9yLgpXZW0gbm9jaCBBdHRyaWJ1dGUgenUgZGVuIG5pY2h0IGNoYXJha3RlcmlzaWVydGVuIFF1ZXN0cyBlaW5mYWxsZW4sIG9rLiBCZWkKZGVyIERpc2t1c3Npb24gdW0gZGllIFNjaHVibGFkZW4ga2xpbmsgaWNoIG1pY2ggYXVzLCBkYSBpY2ggZGFzIG5pY2h0IHdpbGwuClVtc2V0emVuIHNvd2llc28gamVtYW5kIGFuZGVyZXMgKmh1c3QqLCBkYSBoYXR0ZSBpY2gga2VpbmUgQWt0aWVuIDotKQpNaWNoIHd1ZXJkZW4gYWxsZXJkaW5ncyBub2NoIGRpZSBTdGltbWVuIGRlciBuZXVlbiBBbmZhZW5nZXIgaW50ZXJlc3NpZXJlbi4KS29lbm50IGlociBtaXQgZWluZXIgc29sY2hlbiBMaXN0ZSB3YXMgYW5mYW5nZW4/IE9kZXIgd2FzIHd1ZXJkZXQgaWhyIGV1Y2gKbm9jaCB3dWVuc2NoZW4/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozODozMSk6Cn4jISBvbj1Sb25kYSBvdD0xMTYwMTcxOTQ5IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49QXJrIHJ0PTExNjAxNzE4MDUgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpBdWNoIGF1ZiBkaWUgR2VmYWhyIGhpbiwgZGllIERpc2t1c3Npb24gZGFtaXQgZHVyY2hlaW5hbmRlciB6dSBicmluZ2VuIC0gdW5kCmphLCBkYXMgZXJpbm5lcnQgYW4gZ2V3aXNzZSBPbmxpbmUtU2hvcHMuLi4gRXZlbnR1ZWxsIHdhZXJlIGVzIGdhbnogc3Bhbm5lbmQKbWl0enVwcm90b2tvbGxpZXJlbiwgd2VsY2hlbiBMZXZlbCBMZXV0ZSBoYWJlbiwgZGllIGRpZSBRdWVzdCBzY2hvbiBnZXNwaWVsdApoYWJlbi4gRGFzIGFscyBlaW56aWdlcyBLcml0ZXJpdW0gcmVpY2h0IHZpZWxsZWljaHQgZWluZW0gQW5mYWVuZ2VyIGRvY2ggYXVjaApzY2hvbiBhdXMgenUgdmVyc3RlaGVuLCBvYiBkaWUgUXVlc3QgZnVlciBpaG4gb2sgaXN0Li4uPwoKUm9uZGEgKnRoZW9yZXRpc2NoIEFuZmFlbmdlciBpbSBNdWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM4OjM5KToKfiMhIG9uPUtlc3NhIG90PTExNjAxNzIwOTcgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1Sb25kYSBydD0xMTYwMTcxOTQ5IHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKTnVuIHNpbmQgd2lyIGRvY2ggd2llZGVyIGhpZXIsIG5hIHNjaG9lbiA6KSBJY2ggd2Vpc3MgbmljaHQsIG9iIGRhcwphdXNzYWdla3JhZWZ0aWcgd2FlcmUuIFdlciBBZFQga2VubnQsIGthbm4gZGllIHNjaG9uIGFscyBCaWVyc2NodWV0dGxlciBtaXQKTHZsIDE4IG9kZXIgc28gbWFjaGVuLiBXaWUgd29sbHRlIG1hbiBzb3dhcyByYXVzZmluZGVuPyBEYSBsaWViZXIgaW50dWl0aXZlCkVyZmFocnVuZ3N3ZXJ0ZSwgZGllIHRyZWZmZW4gYXVjaCBpbiBkZXIgTGlzdGUgZ2FueiBndXQgenUsIGRlbmtlIGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTI6Mzg6NDMpOgp+IyEgb249QW1hcnlsbGlzIG90PTExNjAxNzIyODEgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1LZXNzYSBydD0xMTYwMTcyMDk3IHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKQWxzbyBpY2ggaGFldHRlIGpldHp0IG1laW5lIFF1ZXN0IGF1Y2ggbmljaHQgYWxzICJoZXJvaXNjaCIgZWluZ2VzY2hhZXR6dCwKd2VpbCBpbSBUZWFtIGd1dCBtYWNoYmFyIC0gd2VubmdsZWljaCBhdWNoIG1ldHplbHRlY2huaXNjaCBlaW5pZ2VybWFzc2VuCmFuc3BydWNoc3ZvbGwsIG9kZXIgc3RpbW10IGRhcyBhdWNoIHNjaG9uIG5pY2h0IG1laHIgZGFuayBkZXIKUnVlc3R1bmdzc3BpcmFsZT8gOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTI6Mzg6NDcpOgp+IyEgb249RWxqbyBvdD0xMTYwMTcyMzU0IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNjAxNzIyODEgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpXYXIgZGFzIGpldHp0IHZvbiBHcmVsZ2VuIG9kZXIgdm9uIEFtYSo/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozODo0OSk6Cn4jISBvbj1BbWFyeWxsaXMgb3Q9MTE2MDE3MjQyNCBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPUVsam8gcnQ9MTE2MDE3MjM1NCByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCndlZGVyIG5vY2ggLSB2b24gZGVyIGFsdGVuIFRhbmppLUdpbGRlIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM4OjU1KToKfiMhIG9uPUVsam8gb3Q9MTE2MDE3MjUwNCBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTYwMTcyNDI0IHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKUGFoLCBkYXMgZ2VodCBhdWNoIG1pdCBkZXIgbmV1ZW4sIGViZW5zbyBtaXQgS2FlbXBmZXJuLCBaYXViZXJlcm4sIHVzdy4gTWFubgptdWVzc3RlIG51ciBtYWwgYXVzcHJvYmllcmVuLCB3ZWxjaGUgR2lsZGUgYWxsZWluZSBzY2hlaXRlcnQsIHZpZWxlIHNpbmQgZXMKd29obCBuaWNodCBzY2hhZXR6ZSBpY2ggLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozODo1Nyk6Cn4jISBvbj1BbWFyeWxsaXMgb3Q9MTE2MDE3MjU0MCBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPUVsam8gcnQ9MTE2MDE3MjUwNCByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyClNpZWhzdGUsIGRhbm4gYmVzdGFldGlnc3QgRHUgbWVpbiBpbSBlcnN0ZW4gUG9zdGluZyBnZWFldXNzZXJ0ZXMgR2VmdWVobC4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDcuIE9rdCAyMDA2LCAxMjozOTowMyk6Cn4jISBvbj1Bcmsgb3Q9MTE2MDE3MjY2MCBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTYwMTcyMjgxIHJnPXd3dy5lbnR3aWNrbHVuZwp+IyEgdGlkPTExNjAxNDQ5NTIKTmFqYSwgUmFlc29uIHdhciwgZXMgZ2lidCBlaW5lIGtsZWluZSBHZXNjaGljaHRlIGRydW1oZXJ1bSwgbWFuIGhhdCBkYXMgWmllbCwKZGllIEtvbW1hbmRhbnRpbiB6dSByZXR0ZW4sIGVpbiBXZXR0bGF1ZiBnZWdlbiBkaWUgWmVpdC4gT2JlcmdsYWRpYXRvciB3aXJkCm1hbiwgd2VubiBtYW4gaGludGVyZWluYW5kZXIgTGV1dGUgdW1oYXV0IChQb2xlbWlrISkuIFplaWd0IGFiZXIsIGRhc3MgbWFuCnZpZWxsZWljaHQgIkF0dHJpYnV0IiBkb2NoIHdpZWRlciBraWNrZW4gc29sbHRlLCB3ZW5uIHp1dmllbCBEaXNzZW5zIGJlc3RlaHQuCkRlciB3dWVyZGUgYWJlciBlcnN0IHJpY2h0aWcgYmVpIHdlaXRlcmVuIEthdGVnb3JpZW4gbG9zZ2VoZW4KKEZvcnNjaGVuLE1ldHplbG4sUmFldHNlbG4pLiBWZXJnbGVpY2hlIEZvcnNjaGVuIGJlaSAiUHlyYW1pZGVuIiBtaXQgZGVtIGJlaQpOaWxzLiBWZXJnbGVpY2hiYXI/Ck1ldHplbG4gbWFjaHQgZGllIGVpbmUgR2lsZGUgc2NobmVsbCwgZGllIGFuZGVyZSBsYW5nc2FtLiBXaWUgaXN0IGRpZSBRdWVzdApkZXNoYWxiPyBXZWdlbiBlaW5lbSBNb25zdGVyIGVpbmVuIFB1bmt0IG9kZXIgendlaT8gRWluIFJhZXRzZWwgaW4gZGVyIFF1ZXN0Ci4uLiBlaW5lbiBQdW5rdCBvZGVyIHp3ZWksIHdlaWwgZWluaWdlIGVzIG5pZSByYXVza3JpZWdlbj8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM5OjEzKToKfiMhIG9uPVNlbGV2ZW4gb3Q9MTE2MDE3NDE5NSBvZz13d3cuZW50d2lja2x1bmcKfiMhIHJuPUtlc3NhIHJ0PTExNjAxNzMwODIgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpEaWUgRWluc3R1ZnVuZ2VuIGluIGZsZWlzc2lnL2hlcm9pc2NoL2VwaXNjaC9sZWdlbmRhZXIgc2FndCBtZWluZXIgTWVpbnVuZwpuYWNoIHJlY2h0IHZpZWwgdWViZXIgZGVuIEF1ZndhbmQgYXVzLCBvYiBlcyBudXIgRm9yc2NoZW4gdW5kL29kZXIgTWV0emVsbiBpc3QKc29sbHRlIGVpZ2VudGxpY2ggZWdhbCBzZWluLiBBdWYgZGVtIExldmVsLCBhdWYgZGVtIGVpbiBFcnN0aWUgQWRUIG1hY2h0LCBoYXQKZXIgc2ljaCBzaWNoZXIgc2Nob24gbWl0IGVpbmlnZW4gTGV1dGVuIHVudGVyaGFsdGVuLCB3b3J1bSBlcyBnZWh0IHVuZCB3YXMgbWFuCmRhdm9uIHp1IGhhbHRlbiBoYXQgLSBkYSBpZ25vcmllcnQgbWFuIEJ1Y2hzdGFiZW5rb21iaW5hdGlvbmVuLiBFaW5lICdlcGlzY2hlJwpvZGVyIGdhciAnbGVnZW5kYWVyZScgQXVmZ2FiZSB6dSBtZWlzdGVybiBzcG9ybnQgbWljaCBkYWZ1ZXIgYW4uIEZ1ZXIKQW5mYWVuZ2VyIHNvbGx0ZW4gZGllIFN0dWZlbi9TdGVybmUgYXVzc2NobGFnZ2ViZW5kIHNlaW4gLSBhdWNoIHdlbm4gaWNoCnp1Z2ViZW4gbXVzcywgZGFzcyBtaWNoIGhhdCBkYXMgbWl0IGRlbiBTdHVmZW4gYW0gQW5mYW5nIHppZW1saWNoIHZlcndpcnJ0CmhhdC4KU2VsZXZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTI6Mzk6MzcpOgp+IyEgb249S251cnBzIG90PTExNjAxODc5ODMgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1BcmsgcnQ9MTE2MDE3MTgwNSByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCldpZXNvIGthbm5zdCBkdSBkaWNoIG5pY2h0IGFuIGVpbmVtIGtvbnN0cnVrdGl2ZW4gRGlza3VycyBiZXRlaWxpZ2VuLCBkZXIgYWxzClppZWwgbmljaHQgZGFzIGRlaW5pZ2UgaGF0PyBJY2ggc2VoZSBpbiBkZWluZW0gQXJ0aWtlbCBhcmcgdmllbCBQb2xlbWlrOgooLi5tZWluZXRoYWxiZW4uLi5iZWFtdGVuZGV1dHNjaGUgS2F0ZW9naXJpc2llcnVuZy4uLiB3dWVyZGUgbGFlbmdsaWNoCmRhdWVybi4uLiBzY3JvbGxlbmRlIERhdGVuYmFuay4uLiBnZW5hdXNvIHNjaGxhdSAuLi4gd2llIHZvcmhlci4uLldlbSBub2NoLi4uCmVpbmZhbGxlbiwgb2suKQpNYWwgbG9zZ2Vsb2VzdCB2b24gZGVyIGRlciBJbmhhbHRzZWJlbmUsIHdpZXNvIGVya2xhZXJzdCBkdSBuaWNodCBkZWluZW4KUHVua3QsIHNvbmRlcm4gYmVkaWVuc3QgZGljaCBkZXJhcnRpZyBzdWJ2ZXJzaXZlciBNaXR0ZWw/IERlciBlaW56aWdlIEdydW5kLAp3ZXNoYWxiIHNvbGNoZSBNaXR0ZWwgcHJvYmF0IHNpbmQsIGlzdCwgc2VpbmUgZWlnZW5lIE1laW51bmcgdW5hYmhhZW5pZyB2b24KYW5kZXJlbiBkdXJjaHp1ZHJ1ZWNrZW47IGZpbmQgaWNoIG5pY2h0IGd1dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjM5OjQ3KToKfiMhIG9uPUtlc3NhIG90PTExNjAyMDQwNDcgb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1TZWxldmVuIHJ0PTExNjAxNzQxOTUgcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpJY2ggaGFiIGF1cyBWZXJzZWhlbiBkZW4gQXJ0aWtlbCBnZWxvZXNjaHQsIGF1ZiBkZW4gc2ljaCBkYXMgYmV6aWVodC4gRGVyClZvcnNjaGxhZyBkYXJpbiB3YXIgZWluZSBCdWNoc3RhYmVua29tYmkgYXVzIEYsIFIsIE0gKGZ1ZXIgRm9yc2NoZW4sIFJhZXRzZWxuLApNZXR6ZWxuKSB1bnRlciAnQXR0cmlidXQnLiBBbHNvIHouQi4gRiBmdWVyIFNjaHJhdCwgRlIgZnVlciBHZWZhZW5nbmlzaW5zZWwsIE0KZnVlciBad2VyZ2VuYW5ncmlmZiwgRlJNIGZ1ZXIgSW5mZXJuby4KCkRpZSBLYXRlZ29yaWVuICdlcGlzY2gnLCAnaGVyb2lzY2gnLCAnbGVnZW5kYWVyJyBlbXBmaW5kZSBpY2ggYXVjaCBhbHMgQW5yZWl6LApkaWUga2xpbmdlbiBzY2hvbiB0b2xsLiBVbmQgYWxzIENoYXJha3RlcmlzaWVydW5nIGZ1ZXIgZGllIERhdWVyIG9kZXIgZGVuCkFuc3BydWNoIGVpbmVyIFF1ZXN0IGZhZW5kZSBpY2ggc2llIGF1Y2ggcGFzc2VuZC4gTnVyLCBkYXMgc29sbGVuIHNpZQooYmlzbGFuZykgamEgbmljaHQgc2Vpbiwgc29uZGVybiBlaGVyIGRhcyAnRmVlbGluZycgZWluZXIgUXVlc3QgYmVzY2hyZWliZW4sCndlbm4gaWNoIGRhcyByaWNodGlnIHZlcnN0ZWhlIChzLiBBbGxnZW1laW5lcywgQXJ0LiA0NyB2b24gQXJrKS4gRGEsIGZpbmRlCmljaCwgdmVyd2lycmVuIHNpZSBlYmVuIGVoZXIuIEVwaXNjaCwgSGVyb2lzY2gsIExlZ2VuZGFlciBzdGF0dCAqKiosICoqKiosCioqKioqLCBkYSB3YWVyIGljaCBzb2ZvcnQgZGFmdWVyLCBlcmdhZW56dCBkdXJjaCBpcmdlbmR3YXMgZnVlciAqIHVuZCAqKi4KCkZhbGxzIGhpZXIgJ2tsZWluZScgU3BpZWxlciBtaXRsZXNlbjogZXMgd2FlcmUgc2VociBoaWxmcmVpY2gsIHdlbm4gaWhyIHdhcwp6dXIgRGlza3Vzc2lvbiBiZWl0cmFnZW4gd3VlcmRldCwgZGVubiBkaWUgTGlzdGUgc29sbCBqYSBoYXVwdHNhZWNobGljaCBMZXV0ZW4Kd2VpdGVyaGVsZmVuLCBkaWUgZGllIFF1ZXN0cyBub2NoIG5pY2h0IGtlbm5lbi4gQWxzbyBhdWYhIDopCgpLZXNzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTI6NDA6MDMpOgp+IyEgb249QXJrIG90PTExNjAyMDc4Nzggb2c9d3d3LmVudHdpY2tsdW5nCn4jISBybj1LbnVycHMgcnQ9MTE2MDE4Nzk4MyByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTYwMTQ0OTUyCldpZXNvLCBpY2ggaGFiZSBtZWluZW4gUHVua3QgZGFyZ2VsZWd0LiBFciB3dXJkZSBvZmZlbmJhciBuaWNodCB2b24gYWxsZW4KdmVyc3RhbmRlbiwgb2suIERhcyB2ZXJmb2xndGUgWmllbCBzZWhlbiBhbmRlcmUgYW5kZXJzLCBhdWNoIHZvZWxsaWcgb2suIFVuZAppY2ggc2VoZSwgZGFzcyBlcyBiZWkgZWluZXIgIkthdGVnb3Jpc2llcnVuZyIsIGRpZSBpbWhvIG5vY2ggYnJlaXRlciBnZXRyZXRlbgp3aXJkLCBlcnN0IHJlY2h0IGtlaW5lbiBLb25zZW5zIGdpYnQsIHdlaWwgamVkZXIgc2ljaCBkYW5uIHp1IGplZGVyIFF1ZXN0CmFldXNzZXJuIHd1ZXJkZS4KRGFzIGlzdCBtZWluZSBNZWludW5nLiBJY2ggc2FndGUgYWJlciBhdXNkcnVlY2tsaWNoLCBkYXNzIGljaCBtZWluZSBNZWludW5nCm5pY2h0IGFscyBtYXNzZ2VibGljaCBiZXRyYWNodGUuIEVpbmVuIFZvcnNjaGxhZyAod2VnIG1pdCAiQXR0cmlidXQiLCBhdXMgby5nLgpHcnVuZCkgaGFiZSBpY2ggYXVjaCBnZW1hY2h0LiBQb2xlbWlrIGdlYmUgaWNoIG9mZmVuIHp1LgpEYXNzIGljaCBhYmVyIGtlaW5lIEx1c3QgaGFiZSwgZGllIFVlYmVyc2ljaHRsaWNoa2VpdCBkZXIgUXVlc3RsaXN0ZSBlaW5lcgpLYXRlZ29yaXNpZXJ1bmcgenUgb3BmZXJuLCBkYXMgZGFyZiBpY2ggbm9jaCBpbSBrb25zdHJ1a3RpdmVuIERpc2t1cnMKYWV1c3Nlcm4sIG9kZXI/IEljaCBkcnVlY2tlIGRhbWl0IG5pY2h0IG1laW5lIGVpZ2VuZSBNZWludW5nIGR1cmNoLCBpY2ggdHVlCnNpZSBudXIga3VuZC4KR2VybmUgbm9jaG1hbCBpbiBLdXJ6Zm9ybSwgb2huZSBQb2xlbWlrLgpEaWUgUXVlc3RsaXN0ZSBoYXQgKGltaG8pIHp1bSBaaWVsOgotIGFsbGUgUXVlc3RzIGF1Znp1bGlzdGVuCi0gc2llIHp1IG9yZG5lbiBuYWNoIChzdWJqZWt0aXZlbSkgU2Nod2llcmlna2VpdHNncmFkCi0gUXVlc3RzIG1pdCBiZXN0aW1tdGVyIFZvcmF1c3NldHp1bmcgKFNlaGVyKSB6dSBtYXJraWVyZW4KLSBlaW5lIGdyb2JlLCBuaWNodCBrYXRlZ29yaXNpZXJlbmRlLCBFaW5zY2hhZXR6dW5nIGRlciBTY2h3aWVyaWdrZWl0IHp1IGdlYmVuCi0gYW56dXplaWdlbiwgb2IgbWFuIHNpZSBnZWxvZXN0IGhhdCBvZGVyIG5pY2h0CigtIGRpZSBBcnQgZGVyIFF1ZXN0IGFuenV6ZWlnZW4pCgpadSBhbGxlbSBzdGVoZSBpY2ggbmFjaCB3aWUgdm9yLCBudXIgYmVpIGxldHp0ZXJlbSBkZW5rZSBpY2gsIGRhc3MgbWFuIGVzCmF1ZmdydW5kIGRlciBtYW5nZWxuZGVuIFp1c3RpbW11bmcgd2llZGVyIGRyb3BwZW4ga29lbm50ZS4gV2VubiBlcyBrZWluZW0KaGlsZnQsIHdlZyBkYW1pdC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlIFF1ZXN0bGlzdGUgKEtlc3NhLCAgNy4gT2t0IDIwMDYsIDEyOjQwOjEzKToKfiMhIG9uPVNoYXJpYSBvdD0xMTYwMjEwODA5IG9nPXd3dy5lbnR3aWNrbHVuZwp+IyEgcm49QXJrIHJ0PTExNjAyMDc4Nzggcmc9d3d3LmVudHdpY2tsdW5nCn4jISB0aWQ9MTE2MDE0NDk1MgpJY2ggZ2xhdWIgaWNoIGhhYnMgc2Nob25tYWwgZ2VmcmFndDoga2FubiBtYW4gaXJnZW5kd2llIGRpZSBhbHRlIFF1ZXN0bGlzdGUKYXVjaCBub2NoIGVycmVpY2hlbiA/IDopCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOZXVlIFF1ZXN0bGlzdGUgKEZpYm9yLCAgNy4gT2t0IDIwMDYsIDE0OjMwOjAyKToKfiMhIHJuPUtlc3NhIHJ0PTExNjAyMTc1ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCk1pY2ggaW50ZXJlc3NpZXJ0IGJlaSBRdWVzdHMgbnVyLCBvYiBpY2ggTWV0emVsbiBtdXNzLiBXZW5uIGljaCBkZW4gRWluZHJ1Y2sKZ2V3aW5uZSwgZGEga29lbm50ZSBtYW4gbWV0emVsbiBtdWVzc2VuLCBsYXNzIGljaCBkaWUgRmluZ2VyIGRhdm9uLgpBbnNvbnN0ZW4gYXJiZWl0ZSBpY2ggbWljaCB2b24gdW50ZW4gbmFjaCBvYmVuIGR1cmNoLCBkLmguIGRpZSBtaXQgZGVuCmtsZWluZXJlbiBaYWhsZW4gdW50ZXIgJ1N0dWZlJyB6dWVyc3QuIEljaCBoYWIgbm9jaCBuaWNodCBiZWdyaWZmZW4sIHdhcnVtCmVpbmUgbmljaHQtTWV0emVsLVF1ZXN0IG1pdCBTdHVmZSA4IGxlaWNodGVyIHp1IGxvZXNlbiBzZWluIHNvbGwgYWxzIG1pdCBTdHVmZQoxNSwgYWxzbyBrdWVtbWVyZSBpY2ggbWljaCBuaWNodCBhbGx6dXZpZWwgZGFydW0uCkluZm9ybWF0aW9uZW4gdWViZXIgZGllIExhZW5nZSBlbXBmaW5kZSBpY2ggYWxzIG51dHpsb3MsIHdlaWwgd2VubiBpY2gKenVmYWVsbGlnIGRhcyAzLiBCbGF0dCB2b20gNi4gQXN0IGFtIDE0LiBCYXVtIHp1ZXJzdCBhbnNjaGF1LCBrYW5ucyBzZWhyCnNjaG5lbGwgZ2VobiwgYW5kZXJuZmFsbHMgZGF1ZXJ0cyBlYmVuIGV3aWcuCk1pdCAnaGVyb2lzY2gnICdmbGVpc3NpZycgb2RlciAnZXBpc2NoJyBrYW5uIGljaCBhdWNoIHdlbmlnIGFuZmFuZ2VuLgpQcmluemlwaWVsbCBoYWIgaWNoIG9obmVoaW4gdm9yLCBzbyB2aWVsZSBRdWVzdHMgd2llIG1vZWdsaWNoIHp1IGxvZXNlbiwgbWljaAppbnRlcnNzaWVydCBuaWNodCwgaW4gd2VsY2hlciBTY2h1YmxhZGUgZWluZSBRdWVzdCBzdGVja3QuIAoKQWxzbyB6dXNhbW1lbmdlZmFzc3Q6IEljaCBtb2VjaHRlIHdpc3Nlbiwgb2IgaWNoIE1ldHplbG4gbXVzcyB1bmQgaG9mZmUKYW5zb25zdGVuLCBkYXNzIGRpZSBMaXN0ZSBlaW5pZ2VybWFzc2VuIHZvbiAnZWluZmFjaGVyJyBuYWNoICdzY2h3ZXJlcicKZ2VvcmRuZXQgaXN0LgoKRmlib3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFF1ZXN0bGlzdGUgKEtlbGx5YnVuZHksICA3LiBPa3QgMjAwNiwgMTU6NTU6MzMpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MDE2NDc1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNTk2NDAwMDEKRGFzIG1pdCBkZW4gR3Jvc3NidWNoc3RhYmVuIGxhc3NlbiB3aXIgbGllYmVyLiBBbHMgcGFzc2lvbmllcnRlciBWaWVsc3RlcmJlcgpoYXQgbWFuIGRhIHNvIHVuYW5nZW5laG1lIEFzc296aWF0aW9uZW4gKkdHKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUXVlc3RsaXN0ZSAoS2Vzc2EsICA3LiBPa3QgMjAwNiwgMTU6NTY6MTEpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTYwMjI5MzMzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE1OTY0MDAwMQo6a2ljaGVydCB0ZXVmbGlzY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTmV1ZSBRdWVzdGxpc3RlIChHbm9tZSwgIDguIE9rdCAyMDA2LCAwMTo0MDowMCk6Cn4jISBybj1LZXNzYSBydD0xMTYwMjE3NTg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgppY2ggZmluZGUgZGllIG1vbWVudGFuZSBlaW5vcmRudW5nIGZsZWlzc2lnfC4uLiBhdWNoIGV0d2FzIHNjaHdpZXJpZywKYXVzIHp3ZWkgZ3J1ZW5kZW46CgphKSBpY2ggZ2xhdWJlIGVpbmZhY2gsIGRhc3MgbWFuIG1laHIgaW5mb3JtYXRpb24gdWViZXIgZGVuIF91ZWJlcndpZWdlbmRlbl8KICAgYW50ZWlsIGRlciBxdWVzdCBoYWJlbiBtb2VjaHRlLiBzb3dvaGwgYW5mYWVuZ2VyIGFscyBhdWNoIHJ1bmF3eWFzLgogICBkYSBoaWxmdCBlcyB3ZW5pZywgd2llIGhlcm9pc2NoIG9kZXIgbGVnZW5kYWVyIGRpZSBnZXN0ZWxsdGUgYXVmZ2FiZQogICBpc3Q6IHdlbm4gZWluZSBzcGllbGVyIGtlaW5lIG1ldHplbHF1ZXN0IG1hZywgd2lyZCBlciAiendlcmdlbmFuZ3JpZmYiCiAgIGViZW4gc2VpbiBsYXNzZW4uIG51ciB3YWVyZSBlcyBzY2hvZW4sIHdlbm4gZXIgZXMgdm9yaGVyIHd1ZXNzdGUuCgpiKSBkaWUgbW9tZW50YW5lbiBrYXRlZ29yaWVuIHVlYmVyc2NobmVpZGVuIHNpY2ggc3RhcmssIGFiZXIgc29sbGVuIHNpZQogICB3YWhyc2NoZWlubGljaCBhdWNoLiB0cm90emRlbSBpc3QgZGVyYXJ0aWdlIHVlYmVyc2NobmVpZHVuZyBnbGF1YmUgaWNoCiAgIGVoZXIgc2Nod2llcmlnIGluIGRlciBiZXVydGVpbHVuZyBlaW5lciBxdWVzdC4KCndpZSB3YWVyZSBlcyBtaXQ6CgpBYmVudGV1ZXIgICAgICAgICAgICAgICAgICAgIEFQICAgRm9yICAgTWV0ICAgUmFlICBHcmFkICBBdXRvciAgICAgICAgR2Vsb2VzdD8KLi4uClRhbnogbWl0IGRlbSBJbmZlcm5vICAgICAgICAxMDAgICoqKiogICAgKiogICAgKiogKioqKiogIFB1bWEgICAgICAgICBKb0tsYXIKLi4uClp3ZXJnZW5hbmdyaWZmICAgICAgICAgICAgICAgMjAgICAgICogKioqKiogICAgICogICoqKiogIEFtYXJ5bGxpcyAgICBKb0tsYXIKLi4uCgp3YXMgIkZvciIsICJNZXQiIHVuZCAiUmFlIiBoZWlzc3QsIGR1ZXJmdGUga2xhciBzZWluLiB1bnRlciAiR3JhZCIgd3VlcmRlCmljaCBkZW4gc2Nod2llcmlna2VpdHNncmFkIGluIGRpZXNlciBncnVwcGUgc2VoZW4sIHdpZSBiaXNoZXIgYXVjaC4KYmVpIGFsbGVuIGthdGVnb3JpZW4gZ2lidCBlcyA1IHN0ZXJuZSB2b24gImhvZWNoc3RlIGF1c3ByYWVndW5nIGluIGRpZXNlcgprYXRlZ29yaWUiIGJpcyAxIHN0ZXJuICJrYXVtIHdhaHJuZWhtYmFyZSAvIGthdW0gdm9yaGFuZGVuZSBhdXNwcmFlZ3VuZyIuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA4LiBPa3QgMjAwNiwgMDc6NTg6MzcpOgp+IyEgcm49R25vbWUgcnQ9MTE2MDI2NDQwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAxNDQ5NTIKUHJpbnppcGllbGwgd2FlcmUgaWNoIGF1Y2ggZ2VuYXUgZnVlciBzb3dhcy4gSW4gZGVyIEZvcm1hdGllcnVuZyBhbGxlcmRpbmdzCnd1ZXJkZSBtYW4gZ2xhdWJlIGljaCBzY2huZWxsIGRlbiBVZWJlcmJsaWNrIHZlcmxpZXJlbiAoNCBTcGFsdGVuIG1pdAp1bnRlcnNjaGllZGxpY2ggdmllbGVuIFN0ZXJuY2hlbiwgdW5kIGlyZ2VuZHdhbm4gaXN0IGRpZSBLb3BmemVpbGUgYXVjaCBub2NoCndlZ2dlc2Nyb2xsdCkuCgpXZW5uIG1hbiBGb3JzY2gtLCBNZXR6ZWwtLCBSYWV0c2VsYW50ZWlsIG5vY2ggZmVpbmVyIGVpbnRlaWxlbiB3b2xsdGUsIGtvZW5udGUKbWFuIHZsbC4gQnVjaHN0YWJlbiBtZWhyZmFjaCBuZW5uZW4sIHouQi4gCgpDaGFyYWt0ZXI6IEYgPSBGb3JzY2hlbiwgTSA9IE1ldHplbG4sIFIgPSBSYWV0c2VsbgpBbnNwcnVjaCA6ICogYmlzICoqKioqCkxldmVsICAgIDogRW1wZm9obGVuZXIgTGV2ZWwsIG5pY2h0IFZvcmF1c3NldHp1bmcsIGF1c3NlciBiZWkgU2VoZXItUXVlc3RzIChTKQoKQWJlbnRldWVyICAgICAgICAgICAgICAgICBBUCAgQ2hhcmFrdGVyIEFuc3BydWNoIExldmVsIEF1dG9yICAgICAgIEdlbG9lc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KU2NocmF0ICAgICAgICAgICAgICAgICAgICAxMCAgRiAgICAgICAgICogICAgICAgICAxICAgIEJvaW5nICAgICAgIEphd29sbApPa3RvcHVzLVJpZmYgICAgICAgICAgICAgIDI1ICBGUlIgICAgICAgKiAgICAgICAgIDIgICAgUnVtYXRhICAgICAgTmVpbgpEaWUgSHVkZGxlcyAgICAgICAgICAgICAgIDUzICBGRiAgICAgICAgKioqICAgICAgIDYgICAgR3VuZHVyICAgICAgTmVpbgpHZWZhZW5nbmlzaW5zZWwgICAgICAgICAgIDkwICBGRlJSICAgICAgKioqICAgICAgMTUgICAgU2hha2VkYmVlciAgTmVpbgpIaWxmIGRlbSBBcmNoaXRla3RlbiAgICAgMTM1ICBGRlJSTSAgICAgKioqKiogICAgMjAgICAgUm9jaHVzICAgICAgTmVpbgpad2VyZ2VuYW5ncmlmZiAgICAgICAgICAgIDIwICBGTU0gICAgICAgKioqICAgICAgIFMgICAgQW1hcnlsbGlzICAgTmVpbgoKKE9rLCBkaWUgSHVkZGxlcyB2ZXJkaWVuZW4gZWlnZW50bGljaCBGRkZGRkYsIGRpZSBIYWVsZnRlIGZ1ZXIgRm9yc2NoZW4gdW5kCmRpZSBhbmRlcmUgIGZ1ZXIgRmx1Y2hlbiwgYWJlciB3aXIgd29sbGVuIGphIGtlaW5lbiB2ZXJncmF1bGVuLikKCldlbm4gZXMgbWl0IGRlciBLYXRlZ29yaWUgJ0NoYXJha3RlcicsIG9kZXIgd2llIG1hbiBkYXMgbmVubmVuIHdpbGwsIG51cgpWZXJ3aXJydW5nIHVuZCBVbmVpbmlna2VpdCBnaWJ0LCBrYW5uIG1hbiBkaWUgbmF0dWVybGljaCBzY2hvbiB3ZWdsYXNzZW4uCkZhZW5kZSBpY2ggYWxsZXJkaW5ncyBzY2hhZGUsIGRlbm4gZGEgd3VlbnNjaGVuIHNpY2ggc2Nob24sIGdsYXViZSBpY2gsIHZpZWxlCmVpbmUgSW5mby4gSWNoIHNlbGJlciB3b2xsdGUgZnJ1ZWhlciB3aWUgRmlib3IgYXVjaCBpbW1lciB3aXNzZW4sIG9iIGljaCBkYQptZXR6ZWxuIG11c3MgOikKCkdydXNzLCBLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE5ldWUgUXVlc3RsaXN0ZSAoTWFoYXJldCwgIDguIE9rdCAyMDA2LCAxMTozMzo0OCk6Cn4jISBybj1LZXNzYSBydD0xMTYwMjg3MTE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpJY2ggbW9lY2h0ZSBhdWNoIHdpc3Nlbiwgb2IgaWNoIG1ldHplbG4gbXVzcy4gV2VpbCBpY2ggZGFubiBuYWVtbGljaCBtZWlzdGVucwptaWNoIGVyc3QgYXVzcnVlc3RlbiBtdWVzc3RlIDspCkFiZXIgaWNoIGhhYmUga2VpbiBQcm9ibGVtIGRhbWl0LCBlaW5mYWNoIG5hY2h6dWZyYWdlbi4gVW5kIG1hbiBzb2xsdGUgamEgbnVuCm5pY2h0IGplZGUgS29tbXVuaWthdGlvbnNub3R3ZW5kaWdrZWl0IGhpZXIgd2VnbmVobWVuLiAgV2llIG9mdCB3dXJkZSBpbgpsZXR6dGVyIFplaXQgYXVmIGRhcyBNIGluIE1VRCBoaW5nZXdpZXNlbj8gIAoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE5ldWUgUXVlc3RsaXN0ZSAoQWxrb2hvbCwgIDguIE9rdCAyMDA2LCAxMTozNTozMik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjAzMDAwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCmRpZSBmcmFnZSBpc3QgZWhlciwgd2llIG9mdCBlcyBpbiBsZXR6dGVyIHplaXQgdmVyZ2Vzc2VuIHd1cmRlIGJlaSBkZXIgZ2FuemVuCmF1ZnJlZ3VuZywgZmluZGUgaWNoLgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE5ldWUgUXVlc3RsaXN0ZSAoUmluZ29yLCAgOC4gT2t0IDIwMDYsIDExOjQwOjI2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE2MDMwMDAyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAxNDQ5NTIKR2VuYXUuIEljaCBiaW4gYXVjaCBkYWZ1ZXIsIHdpZWRlciBkaWUgYWx0ZSBRdWVzdGxpc3RlIGVpbnp1YmF1ZW4uCldlciBtZWhyIEluZm9ybWF0aW9uZW4gd2lsbCwga2FubiBqYSBNaXRzcGllbGVyIGZyYWdlbi4gOm8pCgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTmV1ZSBRdWVzdGxpc3RlIChNYWhhcmV0LCAgOC4gT2t0IDIwMDYsIDExOjQxOjM4KToKfiMhIHJuPVJpbmdvciBydD0xMTYwMzAwNDI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpOYWphLCBkaWUgYWx0ZSBRdWVzdGxpc3RlIG5pY2h0LiAgRGllIEVpbnRlaWx1bmcgaW4gZGllIEdydXBwZW4gaXN0IGhldXRlCmlycmVsZXZhbnQgdW5kIG51ciBpcnJpdGllcmVuZC4gRGEgZmluZGUgaWNoIGRpZSBOZXVvcmRudW5nIHNjaG9uIG9rLiAgTnVyIGRlcgoiQ2hhcmFrdGVyIiBvZGVyICJBdHRyaWJ1dCIgb2RlciB3aWUgaW1tZXIgbWFuIGVzIG5lbm5lbiBtb2VjaHRlLCBzb2xsdGUgbS5FLgpyYXVzLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA4LiBPa3QgMjAwNiwgMTE6NDE6NTgpOgp+IyEgcm49UmluZ29yIHJ0PTExNjAzMDA0MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkFsa2ksIGljaCBnbGF1YiBuaWNodCwgZGFzcyBkYXMgdmVyZ2Vzc2VuIHd1cmRlIDopCgpLbGFyIGthbm4gbWFuIG5hY2hmcmFnZW4uIE1hbiBrYW5uIGF1Y2ggbmFjaGZyYWdlbiwgd2llIGFuc3BydWNoc3ZvbGwgZWluZQpRdWVzdCBpc3Qgb2RlciB3ZWxjaGUgU3R1ZmUgbWFuIGRhIGV0d2EgYnJhdWNodCB1bmQgdW5kIHVuZC4gRGVubm9jaCBmaW5kZSBpY2gKZGllc2UgSW5mb3MgaW4gZGVyIFF1ZXN0bGlzdGUgZ2FyIG5pY2h0IHZlcmtlaHJ0LCBpY2ggZ2xhdWJlIGF1Y2ggbmljaHQsIGRhc3MKbWFuIGRlc2hhbGIgd2VuaWdlciBtaXRlaW5hbmRlciByZWRldC4gQWJlciB2aWVsbGVpY2h0IGtvZW5uZW4gZWluZmFjaCBub2NoCm1hbCBlaW4gcGFhciBtZWhyIExldXRlIHdhcyBkYXp1IHNhZ2VuLCBnZXJhZGUgbmV1ZXJlIFNwaWVsZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTmV1ZSBRdWVzdGxpc3RlIChNYWhhcmV0LCAgOC4gT2t0IDIwMDYsIDExOjQzOjEwKToKfiMhIHJuPUtlc3NhIHJ0PTExNjAzMDA1MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkRpZSBuZXVlbiBTcGllbGVyIGxlc2VuIGRpZSBNUEEgbmljaHQsIGRhcyBzb2xsdGUgbWl0dGxlcndlaWxlIGtsYXIgc2VpbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE5ldWUgUXVlc3RsaXN0ZSAoUmluZ29yLCAgOC4gT2t0IDIwMDYsIDExOjUyOjA5KToKfiMhIHJuPUtlc3NhIHJ0PTExNjAzMDA1MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCk9rYXksIHVtIGRhcyBub2NobWFsIGtsYXJ6dXN0ZWxsZW46IG1laW4gQXJ0aWtlbCB3YXIgc2Fya2FzdGlzY2ggZ2VtZWludC4gTWl0CmRlbSBBcmd1bWVudCwgSW5mb3JtYXRpb25lbiB3dWVyZGVuIEtvbW11bmlrYXRpb24gdW50ZXJiaW5kZW4sIG11ZXNzdGVuIHdpcgphdWNoIEhpbGZlc2VpdGVuIHVuZCBBbmZhZW5nZXJ0dXRvcmlhbCBhYmtsZW1tZW4uIEthbm4gbWFuIGphIGFsbGVzIHZvbiBkZW4KTWl0c3BpZWxlcm4gZXJmYWhyZW4gLSB1bmQgZnJ1ZWhlciBoYXQgZXMgYXVjaCBvaG5lIGZ1bmt0aW9uaWVydC4gOy0pCgpFaW5lIGdyb2JlIEVpbnRlaWx1bmcgaW4gbWV0emVsbi9mb3JzY2hlbi9yYWV0c2VsbiBmaW5kZSBpY2ggZ3V0LiBEaWUKUXVlc3RsaXN0ZSBpbiBkZXIgamV0emlnZW4gRm9ybSBmaW5kZSBpY2ggZWhlciB2ZXJ3aXJyZW5kLiBVbmQgaW0gR2VnZW5zYXR6IHp1CkFyayBoYWx0ZSBpY2ggZWluZSBncm9iZSghKSBFaW50ZWlsdW5nIGRlciBlaW56ZWxuZW4gUXVlc3RzIGF1Y2ggb2huZQpsYW5nd2llcmlnZSBEaXNrdXNzaW9uZW4gZnVlciBtYWNoYmFyLgoKClJpbmdvci4gV29sbHRlIHNpY2ggZG9jaCBnYXIgbmljaHQga29uc3RydWt0aXYgYWV1c3Nlcm4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE5ldWUgUXVlc3RsaXN0ZSAoQWxrb2hvbCwgIDguIE9rdCAyMDA2LCAxMzoyNzo0NSk6Cn4jISBybj1LZXNzYSBydD0xMTYwMzAwNTE4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpzaWNoZXI/CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTmV1ZSBRdWVzdGxpc3RlIChLZXNzYSwgIDguIE9rdCAyMDA2LCAxMzozMToxNyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExNjAzMDY4NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkF1Y2ggd2VubiBpY2ggamV0enQgbmljaHQgc2ljaGVyIGJpbiwgYXVmIHdlbGNoZSBtZWluZXIgVmVybXV0dW5nZW4gc2ljaCBkaWUKRnJhZ2UgYmV6aWVodDogTmVpbi4gSWNoIHNhZ3RlLCBpY2ggZ2xhdWJlIGVzLiBBYmVyIHppZW1saWNoIGZlc3RlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogTmV1ZSBRdWVzdGxpc3RlIChaZXNzdHJhLCAgOC4gT2t0IDIwMDYsIDEzOjMzOjA1KToKfiMhIHJuPVJpbmdvciBydD0xMTYwMzAxMTI5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpBbHNvLCBkYSBtdXNzIGljaCBtYWwgenVzdGltbWVuLiBXZW5uIGRhcyBNIGluIE1VRCBhbHMgRW50c2NodWxkaWd1bmcKaGVyaGFlbHQsIGtlaW5lIG9yZGVudGxpY2hlIERva3UgenUgc2NocmVpYmVuLCBkYW5uIHZlcnN0ZWggaWNoIGVzIG5pY2h0IG1laHIuClVuZCBtZWhyIHNhZyBpY2ggenUgZGVtIFRoZW1hIG5pY2h0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE5ldWUgUXVlc3RsaXN0ZSAoQWxrb2hvbCwgIDguIE9rdCAyMDA2LCAxMzo0MjozNik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjAzMDcxODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCm9rIHNhZyBpY2ggYXVjaCBtYWwgd2FzIGVybnN0aGFmdGVzLgoKU2VoZSBpY2ggYXVjaCBzbywgZGFzIE0gZGFyZiBuaWNodCBhbHMgRW50c2NodWxkaWd1bmcgaGVyaGFsdGVuLiBEaWUgbmV1ZQpMaXN0ZSBmaW5kZSBpY2ggZWlnZW50bGljaCBnYW56IHNjaG9lbi4gVmllbGxlaWNodCBzb2xsdGVuIGRpZSBCZWdyaWZmZQpMZWdlbmRhZXIgdW5kIGVwaXNjaCB1bmQgc28gZWluIHdlbmlnIG1laHIgZXJrbGFlcnQgd2VyZGVuLiBJY2ggZ2xhdWJlIHdpcgpicmF1Y2hlbiBnYXIgbmljaHQgenUgdmVyc3VjaGVuLCBlaW5lIFF1ZXN0Y2hhcmFrdGVyaXNpZXJ1bmcgenUgZmluZGVuLCBkaWUKamVkZXIgZ3V0IGZpbmRldC4gVmllbCBtZWhyIGFscyBtYW4gbXVzcyBlaGVyIGZvcnNjaGVuIG9kZXIgbWFuIG11c3MgZHVyY2hhdXMKZ2VydWVzdGV0IHNlaW4gdW5kIHZpZWxsZWljaHQgZWluZSBFaW5zY2hhZXR6dW5nIGJlaSBkZXIgTWV0emVsc2Nod2llcmlna2VpdApicmF1Y2h0IGRvY2gga2VpbiBTcGllbGVyLiAKCkVpbmUgUXVlc3QgYmVpbmhhbHRldCBkb2NoIGluIGplZGVtIEZhbGwgZXR3YXMgc3VjaGVuZGVzLiBJY2ggZ2xhdWJlIG5pY2h0LApkYXNzIHdpciBkdXJjaCBlaW5lIGFsbHp1Z2VuYXVlIEJlc2NocmVpYnVuZywgd2FzIGVpbmVuIGVyd2FydGV0LCBkaWVzZSBTdWNoZQpkb2NoIGlyZ2VuZHdpZSB2ZXJnZXNzZW4uIEljaCBmaW5kcyBnZXJhZGUgc2Nob2VuLCB3ZW5ucyBzcGFubmVuZCBibGVpYnQsIGF1Y2gKb2IgaWNoIG1hbCBkcmF1ZmdlaGUgb2RlciBuaWNodC4gV2VsY2hlciBncm9zc2UgSGVsZCwgd3Vzc3RlIHNjaG9uIGltbWVyCmdlbmF1LCB3b3JhdWYgZXIgc2ljaCBlaW5sYWVzc3QuIFVuZCBzaW5kIHdpciBuaWNodCBoaWVyLCB3ZWlsIHdpciBhbGxlIGdyb3NzZQpIZWxkZW4gc2VpbiB3b2xsZW4/ICpnKgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IE5ldWUgUXVlc3RsaXN0ZSAoQWxrb2hvbCwgIDguIE9rdCAyMDA2LCAxMzo0MzoyOCk6Cn4jISBybj1BbGtvaG9sIHJ0PTExNjAzMDc3NTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCndhZXJncywgZGEgaXN0IGVpbiBuaWNodCB6dSB2aWVsIGluIG1laW5lbSBwb3N0LiBBbHNvIFF1ZXN0IGZpbmRlIG1hbiwKd2VsY2hlcy4gRGllIEVpbnNjaGFldHp1bmcgaXN0IGVoZXIgbmljaHQgZXBpc2NoIHVuZCBtZXR6ZWxuIG11c3MgbWFuIGF1Y2gKbmljaHQgOikKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBOZXVlIFF1ZXN0bGlzdGUgKFNlbGV2ZW4sICA4LiBPa3QgMjAwNiwgMTQ6MjA6MjYpOgp+IyEgcm49QWxrb2hvbCBydD0xMTYwMzA3NzU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpCaXR0ZSBuaWNodCBub2NoIG1laHIgRXJrbGFlcmVuLCBlaW5lIExpc3RlIHNvbGx0ZSB1ZWJlcnNpY2h0bGljaCBibGVpYmVuIC0KTGFlbmdlIGlzdCBkYSBuaWNodCBzZWhyIGZvZXJkZXJsaWNoLiBEYW5uIHdpcmtsaWNoIGxpZWJlciBhdWYgS2Vzc2FzL0dub21lcwpWb3JzY2hsYWVnZSB6dXJ1ZWNrZ3JlaWZlbiwgb2RlciBkaWUgRWlub3JkbnVuZyByYXVzbmVobWVuIHVuZCBzaWNoIGF1ZidzCk11ZC1NIHZlcmxhc3Nlbi4gT2RlciBqZW1hbmQgKHVuZ2xlaWNoIFNlbGV2ZW4pIGJhdXQgQXJndW1lbnRlIHdpZToKCmxpc3RlIC0tLS0tLS0tLS0tLS0gemVpZ3QgZGllIGtvbXBsZXR0ZSBRdWVzdGxpc3RlIGFuCmxpc3RlIG8oZmZlbikgLS0tLS0gemVpZ3QgbnVyIGRpZSBub2NoIHVuZ2Vsb2VzdGVuIEFiZW50ZXVlcgpsaXRzZSBnKGVsb2VzdCkgLS0tIHplaWd0IG51ciBkaWUgYmVyZWl0cyBiZXN0YW5kZW5lbiBBYmVudGV1ZXIKbGlzdGUgMSAtIDUgLS0tLS0tLSB6ZWlndCBudXIgQWJlbnRldWVyIGRlcyBBbnNwcnVjaHMgWCBhbgpsaXN0ZSBoKGlsZmUpIC0tLS0tIHplaWd0IGVpbmUgQmVzY2hyZWlidW5nIGRlciBRdWVzdGVpZ2Vuc2NoYWZ0ZW4KCkRhcyBsYWVzc3Qgc2ljaCBzaWNoZXIgYXVzd2FsemVuLiBHZWxvZXN0IGthbm4gbWFuIG5hdHVlcmxpY2ggYXVjaCB3ZWdsYXNzZW4KdW5kIGF1ZiBkYXMgQWJlbnRldWVydGFnZWJ1Y2ggdmVyd2Vpc2VuLiBadSBLZXNzYXMgVm9yc2NobGFnIHdvbGx0ZSBpY2ggbnVyCnNhZ2VuLCBkYXNzIGljaCBDYXBzYnVjaHN0YWJlbnJlaWhlbiB6d2FyIGFscyB1ZWJlcnNpY2h0bGljaGUsIGFiZXIgbmljaHQKZ2VyYWRlIEF0bW9zcGhhZXJlIGZvZXJkZXJuZGUgTG9lc3VuZyBzZWhlIC0gYXVjaCB3ZW5uIG1pciBHbm9tZXMgU3Rlcm5lIAooaXJyYXRpb25hbGUgdW5kIHBlcnNvZW5saWNoZSBNZWludW5nKSBuaWNodCBnZWZhbGxlbi4KClNlbGV2ZW4gbGVndCBIb2x6IG5hY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTmV1ZSBRdWVzdGxpc3RlIChBcmssICA4LiBPa3QgMjAwNiwgMTQ6NTI6MTIpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MDI4NzExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAxNDQ5NTIKQmVpIFNjaHJhdCBtdXNzLCBiZWkgT2t0b3B1cy1SaWZmIGtvZW5udGUgaWNoIHp1bSBNZXR6ZWxuIGdlend1bmdlbiB3ZXJkZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE5ldWUgUXVlc3RsaXN0ZSAoS2Vzc2EsICA4LiBPa3QgMjAwNiwgMTU6NTY6MDEpOgp+IyEgcm49QXJrIHJ0PTExNjAzMTE5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkh1aSwgZHUgaGFzdCByZWNodC4gSWNoIHNvbGx0ZSB2aWVsIG1laHIgcXVlc3RlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE5ldWUgUXVlc3RsaXN0ZSAoR25vbWUsICA4LiBPa3QgMjAwNiwgMjM6NDY6MzcpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MDI4NzExNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAxNDQ5NTIKaHVpLCBnZWZhZWxsdCBtaXIgc29nYXIgbm9jaCBiZXNzZXIgYWxzIG1laW5lIHN0ZXJuY2hlbiwgd2VpbAp1ZWJlcnNpY2h0bGljaGVyLiB3aWUgd2FlcmUgZXMgbWl0IG1heGltYWwgMyBidWNoc3RhYmVuIHBybyBhdXNwcmFlZ3VuZz8KJ2NoYXJha3RlcicgaGF0IDksIGRhcyB3dWVyZGUgdm9uIGRlciBmb3JtYXRpZXJ1bmcgaGVyIHd1bmRlcmJhciBwYXNzZW4uCjEgPT0gd2VuaWcsIDIgPT0gbWl0dGVsLCAzID09IHZpZWwuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE5ldWUgUXVlc3RsaXN0ZSAoTHVnLCAxMC4gT2t0IDIwMDYsIDAxOjQ3OjQwKToKfiMhIHJuPUdub21lIHJ0PTExNjAzNDM5OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCk1hbCBzZWhlbiwKCndlbm4gbWFuIHdlZyBpc3QgdW5kIGRhbmFjaCBkaWUgTVBBIGxpZXN0LCBtb2VjaHRlIG1hbjoKR3JpbW1ib3JuIHBhcmFwaHJhc2llcmVuLCBBcmsga29tcGlsaWVyZW4gdW5kIGhpZXIgc2Nod2Fkcm9uaWVyZW4uLi4KCkFlaD8KTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTmV1ZSBRdWVzdGxpc3RlIChEYXJrbG9yLCAxMC4gT2t0IDIwMDYsIDIyOjMxOjQ3KToKfiMhIHJuPUdub21lIHJ0PTExNjAzNDM5OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkFsc28gaWNoIGZhZW5kIG5lIEFuZ2FiZSwgb2IgbWFuIG1ldHplbG4gbXVzcy9rYW5uIGF1Y2ggZ3V0LCBkZW5uIGJlaSBtZXR6ZWxuCmJpbiBpY2ggZG9jaCBtZWlzdCBlaGVyIGdlbmVpZ3QgZGllIFF1ZXN0IHp1IGxvZXNlbi4gOykgQWJlciBlaWdlbnRsaWNoCmludGVyZXNzaWVydCBlcyBtaWNoIGRvY2ggc2VociB2aWVsIG1laHIsIG9iIGRpZSBRdWVzdCBuZSBuZXR0ZSBRdWVzdGJlbG9obnVuZwpmdWVyIG1pY2ggYmVyZWl0IGhhZWx0LiBVbmQgYWxzIER1bmtlbGVsZiBpbnRlcmVzc2llcmUgaWNoIG1pY2ggYmVzb25kZXJzCmRhZnVlciwgb2IgZGllIFF1ZXN0IGhhdXB0c2FlY2hsaWNoIEluZG9vciBvZGVyIE91dGRvb3IgaXMuIC0gS29lbm50ZSBtYW4gZGFzCm5pY2h0IGJlaSBkZXIgQWJmcmFnZSBpbiBkZXIgRHVua2VsZWxmZW5naWxkZSBkYXp1c2NocmVpYmVuPyAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWUgUXVlc3RsaXN0ZSAoQmFtYmksIDEzLiBPa3QgMjAwNiwgMTE6MDQ6MDIpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MDIxNzUxMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjAxNDQ5NTIKSWNoIGJpbiBlcnN0IGJlaSBBcnRpa2VsIDM3IHZvbiA3MiwgYWxzbyB2ZXJ6ZWlodCBtaXIsIHdlbm4gaWhyIGRlbiBWb3JzY2hsYWcKc2Nob25tYWwgaGF0dGV0Li4uCkltIFdlYiAob2RlciBoaWVyIGJlaSBlaW5lbSBOU0MpIGZhZW5kZSBpY2ggZWluZSBNb2VnbGljaGtlaXQgZ3V0IHp1IGVyZmFocmVuLAp3YXMgYW5kZXJlIFNwaWVsZXIgdWViZXIgZGllIFF1ZXN0IGdlYWV1c3NlcnQgaGFiZW4uIFouQi4gIkJhbWJpIHVlYmVyIFF1ZXN0ClhZOiBJY2ggZmFuZCBkaWUgUXVlc3QgaW0gR3Jvc3NlbiB1bmQgR2FuemVuIGdhbnogbmV0dC4gRGVyIEZvcnNjaGF1ZndhbmQgd2FyCmFuZ2VuZWhtIChnZXJpbmcpLCBudXIgZGVyIHNlaHIgbGluZWFyZSwgdm9yaGVyc2VoYmFyZSBRdWVzdHZlcmxhdWYgaGF0IGRpZQpGcmV1ZGUgZXR3YXMgZ2VzY2htYWVsZXJ0LiIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWUgUXVlc3RsaXN0ZSAoTWFoYXJldCwgMTMuIE9rdCAyMDA2LCAxMToyNDoxOSk6Cn4jISBybj1CYW1iaSBydD0xMTYwNzMwMjQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MDE0NDk1MgpIbSwgbmVlIC4uLiBpY2ggc3RlbGxlIG1pciBnZXJhZGUgdm9yLCBpY2ggaGFldHRlIGVpbmUgUXVlc3QgZ2VzY2hyaWViZW4gdW5kCmRpZSBMZXV0ZSB3dWVyZGUgZGFydWViZXIgaGVyemllaGVuLiBXZW5uIHNpZSBkYXMgdW50ZXIgc2ljaCBwZXIgdG0gdW5kIGZydWZlCm1hY2hlbiwgb2suICBBYmVyIHdlbm4gZGFzIGRhbm4gaW0gSW50ZXJuZXQgc3RlaHQsIGplZGVyemVpdCBmdWVyIGplZGVuICh1bmQKYXVjaCBtaWNoKSBsZXNiYXIsIGRhbm4gd3VlcmRlIG1pY2ggZGFzIHNjaG9uIGdhbnogc2Nob2VuIGFlcmdlcm4gdW5kCmZydXN0aWVyZW4uICBVbmQgZGFzIGhhdCB3b2hsIGtlaW4gTWFnaWVyIHZlcmRpZW50LCBkZXIgc2ljaCBkaWUgTXVlaGUgbWFjaHQsCmVpbmUgUXVlc3Qgc2ljaCBhdXN6dWRlbmtlbiwgenUgY29kZW4sIHNpY2ggZGllIFJhdW1iZXNjaHJlaWJ1bmdlbiB1bmQgRGV0YWlscwphdXMgZGVuIEZpbmdlcm4genUgc2F1Z2VuIHVuZCBudXIgbGVpZGVyIG5pY2h0IGRlbiBOZXJ2IGRlciAobWVpc3RlbiBvZGVyCmxhdXRlc3RlbikgU3BpZWxlciBnZXRyb2ZmZW4genUgaGFiZW4uCgpNYWhhcmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOZXVlIFF1ZXN0bGlzdGUgKEFyaywgMTMuIE9rdCAyMDA2LCAxMTo1NjozNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjA3MzE0NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkdlaHQgbWlyIGdlbmF1c28uIE1laW5lIE1laW51bmcgaXN0IHNpY2hlciBuaWNodCBtYXNzZ2VibGljaCwgamUgbmFjaApGb3JtdWxpZXJ1bmcga29lbm50ZSBzaWUgYWJlciBhbHMgc29sY2hlIHZlcnN0YW5kZW4gd2VyZGVuLiBBdXNzZXJkZW0gd2lsbCBpY2gKZGEgbmljaHQgaGFsYmdhcmUgS0xzIHdpZWRlcmZpbmRlbiwgd2VpbCBkZXIgZWluZSBvZGVyIGFuZGVyZSBzaWNoIGRhCmJlZmxlaXNzaWd0IGZ1ZWhsdCwgc2VpbmVyIE1laW51bmcgbWl0IEJlaXNwaWVsZW4gQXVzZHJ1Y2sgenUgZ2ViZW4uCk11bmQtL1NjaHJpZnRwcm9wYWdhbmRhIHBlciB0bSBvaywgYWJlciBuaWNodCBuYWNobGVzYmFyLCBkYXMgbXVzcyBkZXIgTWFnaWVyCmRhbm4gc2VsYnN0IHZlcmFyYmVpdGVuIGtvZW5uZW4sIHdhcyBhbiBNYWlsIGF1ZiBpaG4gZWluc3R1ZXJ6dCAuLi4gb2RlciBuaWNodAo6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBOZXVlIFF1ZXN0bGlzdGUgKFNlbGV2ZW4sIDEzLiBPa3QgMjAwNiwgMTQ6MjA6NTIpOgp+IyEgcm49QXJrIHJ0PTExNjA3MzMzOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYwMTQ0OTUyCkF1Y2ggZGFnZWdlbiAtIGljaCBoYWV0dGUgZGEgZWluIHBhYXIgUXVlc3RzIG5hY2ggZGVtIER1cmNoc3BpZWxlbiBtaXQgbWVpbmVtCkVyc3RpZSBzZWhyIHNjaGxlY2h0IGJld2VydGV0IC0gZGFzIHd1ZXJkZSBpY2ggKGJlaSBtYW5jaGVuKSBoZXV0enRhZ2UKYmVyZXVlbi4gQXVzc2VyZGVtIHNvbGx0ZSBlaW4gU3BpZWxlciB3aXJrbGljaCBuaWNodCB6dSB2aWVsIGltIFZvcmZlbGQgd2lzc2VuCi0gZXMgcmVpY2h0IGphLCB3ZW5uIGRhcyBGQmFuZCBvZGVyIHdlciBhdWYgLUFiZW50ZXVlciB3YXMgZGF6dSBzYWd0LiBCZWkKYmVzdGltbXRlbiBBdWZnYWJlbiBzY2hyZWllbiBkaWUgTGV1dGUgc2Nob24gZnJ1ZWggZ2VudWcsIGRhc3MgbWFuIGVzIGxhc3Nlbgpzb2xsIChtaXQgb2RlciBvaG5lIEJlZ3J1ZW5kdW5nKS4gTmVpbiwgaWNoIG5lbm5lIGtlaW5lIEJlaXNwaWVsZSA6KQpTZWxldmVuLCBlcnN0ZSB2b24gVmllcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXNzZXIgc3BhZXQgYWxzIG5pZSAoS2FkYWJyYSwgMTcuIE9rdCAyMDA2LCAyMTowMTowMCk6CkljaCB3b2xsdGUgbnVyIG1hbCBzYWdlbiA6IEljaCBmaW5kZSBkaWUgbmV1ZW4gV1dXLVNlaXRlbiB3aXJrbGljaCBzY2hvZW4sIAphbnNwcmVjaGVuZCwgdWViZXJzaWNodGxpY2ggVU5EIGZ1bmt0aW9uYWwuIEh1dCBhYi4gVW5kIGRhcyBXZWItVGVsbmV0IGVyc3QuClp3ZWkgSHVldGUgYWIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWVsbGFiZnVociwgU3BlaWNoZXJncmVuemUuLi4gKFplc3N0cmEsIDE3LiBPa3QgMjAwNiwgMjM6MDg6MDgpOgpIdWh1LAoKd2lyIGxpZWdlbiBtaXQgdW5zZXJlbSBTcGVpY2hlcnZlcmJyYXVjaCBqZXR6dCBrbmFwcCB2b3IgZGVyIE1heGltYWxncmVuemUuCkVzIGtvZW5udGUgZGFoZXIgc2VpbiwgZGFzcyBpbiBuYWVjaHN0ZXIgWmVpdCBkZXIgR2FyYmFnZSBDb2xsZWN0b3IgYWt0aXYKd2lyZCB1bmQgZGVuIFNwZWljaGVyIGF1ZnJhZXVtdC4gRGFzIHdpcmQgc2ljaCB2ZXJtdXRsaWNoIGR1cmNoIGVpbiBrdXJ6ZXMsCmludGVuc2l2ZXMgTGFnIGJlbWVya2JhciBtYWNoZW4uCkVzIGthbm4gYW5zY2hsaWVzc2VuZCBzZWluLCBkYXNzIGRlciBTcGVpY2hlciBlcmZvbGdyZWljaCBhdWZnZXJhZXVtdCB3dXJkZQp1bmQgYWxsZXMgbm9ybWFsIHdlaXRlcmxhZXVmdC4gSW0gc2NobGVjaHRlcmVuIEZhbGwga29lbm50ZSBlcyBpbSBBbnNjaGx1c3MKd2llZGVyIHp1IEluc3RhYmlsaXRhZXRlbiBrb21tZW4uIFdpciBrb2VubmVuIG1vbWVudGFuIGxlaWRlciBiZWlkZXMgbmljaHQKYXVzc2NobGllc3Nlbi4KVmVyc3RlaHQgZGllc2VuIEFydGlrZWwgZGFoZXIgYml0dGUgbmljaHQgYWxzIFByb3BoZXplaXVuZyBlaW5lcyBnYXJhbnRpZXJ0ZW4KQ3Jhc2hzIG8uYWUuLCBlciBkaWVudCBudXIgZGF6dSwgZXVjaCBhdWYgZGVtIExhdWZlbmRlbiB6dSBoYWx0ZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2huZXIgLyBTdGFuZG9ydCAoWm9vaywgMTkuIE9rdCAyMDA2LCAxMDoxMjo1Mik6Cn4jISBybj1ab29rIHJ0PTExNjEyNDU1MzAgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTExNjEyNDU1MzAKV2VyIEhpbndlaXNlIG9kZXIgVGlwcyBmdWVyIGVpbmVuIGd1ZW5zdGlnZW4gU3RhbmRvcnQgZGVzIFJlY2huZXJzCmdlYmVuIGthbm4sIGthbm4gZGllc2UgZ2VybmUgYW4gbWljaCB3ZWl0ZXJsZWl0ZW4uIEF1Y2ggUnVlY2tmcmFnZW4KenUgZGVuIHRlY2huaXNjaGVuIFNwZXppZmlrYXRpb25lbiBiaXR0ZSBhbiBtaWNoLiBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExELWZpemllcnVuZyBkZXMgTW9yZ2VuR3JhdWVucyAoMSkgKFplc3N0cmEsIDIzLiBPa3QgMjAwNiwgMDA6NDE6NDQpOgp+IyEgcm49WmVzc3RyYSBydD0xMTYxMjg3MTIyIHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTYxMjg3MTIyCkFsc28sIG1vcmdlbiB3aXJkIGVpbiBrbGVpbmVzIE1pbmlNdWQgbWl0IGVpbmlnZW4gUmFldW1lbiB6dW0gQ2hhdHRlbiB1bmQKSWRlbG4genVyIFZlcmZ1ZWd1bmcgc3RlaGVuLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YW4sIGRlciBMb3N2ZXJrYWV1ZmVyIChaZXNzdHJhLCAyMy4gT2t0IDIwMDYsIDE5OjI0OjI4KToKSHVodSwKCm1hbCBlaW5lIEluZm8genVtIExvc3ZlcmthZXVmZXI6Ckdld2lubmUsIGRpZSBuaWNodCBpbm5lcmhhbGIgdm9uIDcgVGFnZW4gbmFjaCBWZXJsb3N1bmcgYWJnZWhvbHQgd3VyZGVuLAp2ZXJmYWxsZW4sIHNvbGwgaGVpc3NlbjogU3RhbiwgZGVyIHJhZmZnaWVyaWdlIFR5cCwgZ2VodCBkYW1pdCBzdGlmdGVuLiA7LSkKKFNvbGNoZSBUeXBlbiBzb2xsdGUgbWFuIGltbWVyIG5hY2ggZGVuIFRlaWxuZWhtZWJlZGluZ3VuZ2VuIGZyYWdlbi4gKmcqKQoKVW5kIG5vY2ggd2FzOiBFcyBrYW0gb2ZmZW5iYXIgYXVmZ3J1bmQgZGVyIHRlaWx3ZWlzZSBuZXR0ZW4gR2V3aW5uZSBkaWUKVmVybXV0dW5nIGF1Ziwgd2lyIHd1ZXJkZW4gZWluZSBrdXJ6ZSBVcHRpbWUgZXJ3YXJ0ZW4uIERlbSBpc3QgbmljaHQgc28uIEVzCmlzdCBlaW5mYWNoIGFscyBlaW5tYWxpZ2UsIG5ldHRlIEdlc3RlIGF1ZmdydW5kIGRlciB2aWVsZW4gUmVib290cyBpbiBsZXR6dGVyClplaXQgZ2VkYWNodC4KClZpZWxlIEdydWVzc2UsClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cmllcnBha2V0ZTogQmVmb2VyZGVydW5nc2Jlc3RpbW11bmdlbiAoWmVzc3RyYSwgMjkuIE9rdCAyMDA2LCAxNToyMzoxMik6Ckh1aHUsCgphbmxhZXNzbGljaCBlaW5lcyBCdWdmaXhlcyBpbiBkZXIgUG9zdCBoYWJlbiB3aXIgdWViZXJsZWd0LCBvYiBhdWNoIHdlaXRlcmhpbgpXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4gZ3J1bmRzYWV0emxpY2ggcGVyIEt1cmllcnBha2V0IHZlcnNjaGlja3Qgd2VyZGVuCmtvZW5uZW4uIEJpc2hlciB3YXIgZGFzIGF1ZmdydW5kIGVpbmVzIGtsZWluZW4gQnVncyBtb2VnbGljaC4KV2lyIGhhYmVuIHVucyBlbnRzY2hpZWRlbiwgZGllc2UgKGJpc2hlciBidWdnZW5kZSkgQWJmcmFnZSBnYW56IHp1IGVudGZlcm5lbgp1bmQgZGllIFRhcmlmLSB1bmQgQmVmb2VyZGVydW5nc2Jlc3RpbW11bmdlbiBkZXIgUG9zdCBlbnRzcHJlY2hlbmQgenUgYWVuZGVybi4KRGllIGJpc2hlciBnZWx0ZW5kZW4gQXVzbmFobWVuIGdpYnQgZXMgbmF0dWVybGljaCB3ZWl0ZXJoaW4uIDstKQoKVmllbGUgR3J1ZXNzZSwKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9sdGVyYnVzaCBzY2hldXQgZGllIE9lZmZlbnRsaWNoa2VpdCAoT3JrdG9ldGVyLCAgNC4gTm92IDIwMDYsIDE4OjA4OjEyKToKWml0YXQ6ClRoZSBCdXNoIGFkbWluaXN0cmF0aW9uIGhhcyB0b2xkIGEgZmVkZXJhbCBqdWRnZSB0aGF0IHRlcnJvcmlzbSBzdXNwZWN0cyBoZWxkCmluIHNlY3JldCBDSUEgcHJpc29ucyBzaG91bGQgbm90IGJlIGFsbG93ZWQgdG8gcmV2ZWFsIGRldGFpbHMgb2YgdGhlCiJhbHRlcm5hdGl2ZSBpbnRlcnJvZ2F0aW9uIG1ldGhvZHMiIHRoYXQgdGhlaXIgY2FwdG9ycyB1c2VkIHRvIGdldCB0aGVtIHRvCnRhbGsuCgpUaGUgZ292ZXJubWVudCBzYXlzIGluIG5ldyBjb3VydCBmaWxpbmdzIHRoYXQgdGhvc2UgaW50ZXJyb2dhdGlvbiBtZXRob2RzIGFyZQpub3cgYW1vbmcgdGhlIG5hdGlvbidzIG1vc3Qgc2Vuc2l0aXZlIG5hdGlvbmFsIHNlY3VyaXR5IHNlY3JldHMgYW5kIHRoYXQgdGhlaXIKcmVsZWFzZSAtLSBldmVuIHRvIHRoZSBkZXRhaW5lZXMnIG93biBhdHRvcm5leXMgLS0gImNvdWxkIHJlYXNvbmFibHkgYmUKZXhwZWN0ZWQgdG8gY2F1c2UgZXh0cmVtZWx5IGdyYXZlIGRhbWFnZS4iCgpRdWVsbGU6IGh0dHA6Ly90aW55dXJsLmNvbS95ejJ6MjcKClJlY2h0c3N0YWF0PyBXYXMgaXN0IGRhcz8gCkljaCBtdXNzIGdlc3RlaGVuOiBpY2ggZnVlaGxlIG1pY2ggamVkZW4gVGFnIHdlbmlnZXIgc2ljaGVyLgoKT3JrVCwgKG1hbCB3aWVkZXIpIGVudHNldHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvbHRlcmJ1c2ggc2NoZXV0IGRpZSBPZWZmZW50bGljaGtlaXQgKENyb2Z0LCAgNC4gTm92IDIwMDYsIDIwOjA5OjMyKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTYyNjYwMDkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MjY2MDA5MgpVZWJlcnJhc2NodD8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChLZXksIDE5LiBOb3YgMjAwNiwgMDU6Mzc6NDkpOgpWaWVsbGVpY2h0IGlzdHMgamEgZWluZmFjaCB6dSBmcnVlaCAuLi4gYWJlciBpcmdlbmR3aWUgaXN0IEdyYW1tIG5pY2h0IG1laHIKR3JhbW0gOikKMSBNdWVuemUgd2llZ3QgZWluIEdyYW1tLCBsYXV0IGlkZW50aWZpemllcmUuCkVpbiBHZWdlbnN0YW5kIGhpZXIgd2llZ3QgMjAwMCBHcmFtbS4KQWxzbyBzb2xsdGUgaWNoIGRvY2gsIHdlbm4gaWNoIGlobiBuaWNodCBtZWhyIHRyYWdlbiBrYW5uLCAyMDAwIE11ZW56ZW4KYWJsZWdlbiBtdWVzc2VuIHVtIGlobiB0cmFnZW4genUga29lbm5lbi4KQWxsZXJkaW5ncyBtdXNzdGUgaWNoIDQwMDAgTXVlbnplbiBhYmxlZ2VuLgoKQmVpIGVpbmVtIEdlZ2Vuc3RhbmQgdm9yaGVyIGRlciBhbmdlYmxpY2ggMTAwMCBHcmFtbSB3b2cgbXVzc3RlIGljaCAyMDAwCk11ZW56ZW4gYWJsZWdlbi4KCgpDdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKENyb2Z0LCAxOS4gTm92IDIwMDYsIDExOjAwOjA4KToKfiMhIHJuPUtleSBydD0xMTYzOTExMDY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MzkxMTA2OQpGYWxscyBkdSBkaWUgTXVlbnplbiBpbSBJbnZlbnRhciBoYXN0LCBqYS4gIEZhbGxzIGR1IHNpZSBpbiBkZXIgQm9lcnNlIGhhc3Q6Cm5laW4uICBNYW5jaGUgQ29udGFpbmVyIG1hY2hlbiBTYWNoZW4gbGVpY2h0ZXIgenUgdHJhZ2VuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhbW0gaXN0IG5pY2h0IGdsZWljaCBHcmFtbSAoS2V5LCAxOS4gTm92IDIwMDYsIDIxOjA0OjU1KToKfiMhIHJuPUNyb2Z0IHJ0PTExNjM5MzA0MDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5Ck5vbWFsIGltIEludiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChNdWFkaWIsIDIwLiBOb3YgMjAwNiwgMTk6MjI6NDYpOgp+IyEgcm49S2V5IHJ0PTExNjM5MTEwNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5Cmdld2ljaHQgaXN0IGluZmxhdGlvbmFlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChLZXksIDIxLiBOb3YgMjAwNiwgMDc6MTM6MjApOgp+IyEgcm49TXVhZGliIHJ0PTExNjQwNDY5NjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkplIG1laHIgaWNoIHRyYWdlLCBkZXN0byB3ZW5pZ2VyIHRyYWdlIGljaD8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKEFueXNpZG9yYSwgMjEuIE5vdiAyMDA2LCAxMDoyODoyOSk6Cn4jISBybj1LZXkgcnQ9MTE2NDA4OTYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKbmFqYSwgd2VubiBkdSBSTCBkZWluZW4ga3JhbSBpbiBuZW4gcnVja3NhY2sgc3RvcGZzdCBrYW5uc3RlIGF1Y2ggbWVociB0cmFnZW4sCmFscyB3ZW5uIGR1IGFsbGVzIGluIGhhZW5kZW4gaGFlbHN0Xl4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKFpvb2ssIDIxLiBOb3YgMjAwNiwgMTA6NTg6NDEpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTExNjQxMDEzMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5Cmdld2FndGUgYW5hbG9naWUuCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKFJ1bWF0YSwgMjEuIE5vdiAyMDA2LCAxMTowNDozMik6Cn4jISBybj1ab29rIHJ0PTExNjQxMDMxMjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkRhcyBtaXQgZGVuIEdld2ljaHRlbiBoYXQgZXR3YXMgbWl0IFF1YW50ZW5tZWNoYW5pc2NoZXIgV2VjaHNlbHdpcmt1bmcKenUgdHVuLiBXZW5uIHZpZWxlIGdlZ2Vuc3RhZW5kZSBhdWYgZWluZW0gSGF1ZmVuIHNpbmQsIGtvZW5uZW4gZGllc2UKbWl0ZWluYW5kZXIgd2VjaHNlbHdpcmtlbi4gSWNoIHd1ZXJkZSBnZXJuZSBlcmtsYWVyZW4gd2llLCBhYmVyIGluIGRlbQpUQ1AgUGFrZXQgaXN0IGtlaW4gUGxhdHogbWVociBmcmVpLgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKE9ya3RvZXRlciwgMjEuIE5vdiAyMDA2LCAxOTo0NTo1Myk6Cn4jISBybj1LZXkgcnQ9MTE2NDA4OTYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKUGhpbG9zcGhpZSBmdWVyIFJ1bmF3YXlzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2Vzc2EgZGFua2UgKERvZG8sIDIxLiBOb3YgMjAwNiwgMjE6MzU6NTkpOgoKa2Vzc2EgZGFua2UKa2Vzc2EgZGFua2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrZXNzYSBkYW5rZSAoTWFoYXJldCwgMjEuIE5vdiAyMDA2LCAyMTozODoyMSk6Cn4jISBybj1Eb2RvIHJ0PTExNjQxNDEzNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY0MTQxMzU5CkljaCBtb2VjaHRlIG1pY2ggZGVtIGFuc2NobGllc3NlbiB1bmQgYXVjaCBLZXNzYSB2b24gZ2FuemVtIEhlcnplbiBkYW5rZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGtlc3NhIGRhbmtlIChLZXNzYSwgMjEuIE5vdiAyMDA2LCAyMTozOTowOSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjQxNDE1MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY0MTQxMzU5Cjp2ZXJuZWlndCBzaWNoIGdlcnVlaHJ0IHVuZCBlcnJvZXRlbmQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrZXNzYSBkYW5rZSAoT3JrdG9ldGVyLCAyMS4gTm92IDIwMDYsIDIxOjM5OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE2NDE0MTUwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjQxNDEzNTkKSWNoIGRhbmtlIEtlc3NhIG5pY2h0LiBCaW4gaWNoIGpldHp0IGJvZXNlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2Vzc2EgZGFua2UgKFJ1bWF0YSwgMjEuIE5vdiAyMDA2LCAyMTo0MDoxNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE2NDE0MTU5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjQxNDEzNTkKSmEsIGlzdCBkZW5uIHNjaG9uIG1lZ2FzY2htYXJybj8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtlc3NhIGRhbmtlIChPcmt0b2V0ZXIsIDIxLiBOb3YgMjAwNiwgMjE6NDA6NDApOgp+IyEgcm49UnVtYXRhIHJ0PTExNjQxNDE2MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY0MTQxMzU5Ck5laW4sIGZhbHNjaGUgUnVicmlrIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2Vzc2EgZGFua2UgKEx1ZywgMjQuIE5vdiAyMDA2LCAyMDo1NzowNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE2NDE0MTU5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjQxNDEzNTkKTmVlLCBkb29mIC0gd2llIGltbWVyLgoKSW5zaXJpZXJ0ZXIgQmVpdHJhZyB2b246Ckx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKEFuYXRvbCwgMjcuIE5vdiAyMDA2LCAxODo1Mjo0Nyk6Cn4jISBybj1LZXkgcnQ9MTE2MzkxMTA2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKRGllIEF1ZmxvZXN1bmcgZGVyIHZlcmJyZWl0ZXRlbiBXaWVnZXZvcnJpY2h0dW5nZW4gaXN0IAptaXQgR2V3aWNodGVuLCBkaWUgc2ljaCBpbSBNaWxsaWdyYW1tYmVyZWljaCBhbnNpZWRlbG4sCmV0d2FzIHVlYmVyZm9yZGVydC4gRGFzIFd1bmRlciBmYWVuZ3QgZnVlciBkaWNoIGFsc28Kc2Nob24gZnJ1ZWhlciBhbjogRWluZSBNdWVuemUgd2llZ3QgZWluIEdyYW1tLiBad2VpCk11ZW56ZW4gd2llZ2VuIGF1Y2ggendlaSBHcmFtbS4gSmEgd2llZ3QgamV0enQgZWluZQpNdWVuemUgZ2FyIG5pY2h0cz8gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKFJ1bWF0YSwgMjcuIE5vdiAyMDA2LCAxOTowNzoyNyk6Cn4jISBybj1BbmF0b2wgcnQ9MTE2NDY0OTk2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKQWxzbyBQaHlzaWtlcndlaXNoZWl0OgpPbmUgcGx1cyBvbmUgaXMgdGhyZWUgLQpmb3IgbGFyZ2UgdmFsdWVzIG9mIG9uZS4KClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChXb29keSwgMjguIE5vdiAyMDA2LCAxMDowMDoyNik6Cn4jISBybj1SdW1hdGEgcnQ9MTE2NDY1MDg0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKc3VmZmljaWVudGx5IGxhcmdlLCBldmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhbW0gaXN0IG5pY2h0IGdsZWljaCBHcmFtbSAoS2V5LCAyOC4gTm92IDIwMDYsIDEwOjAyOjA2KToKfiMhIHJuPUFuYXRvbCBydD0xMTY0NjQ5OTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MzkxMTA2OQpJaHIgdmVyd2lycnQgbWljaCAuLi4gOykKCkN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChSdW1hdGEsIDI4LiBOb3YgMjAwNiwgMTA6MTM6MDgpOgp+IyEgcm49S2V5IHJ0PTExNjQ3MDQ1MjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5ClNlaSBlcHNpbG9uIGtsZWluZXIgbnVsbC4KClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChBbnRoZWEsIDI4LiBOb3YgMjAwNiwgMTA6MTM6NDkpOgp+IyEgcm49UnVtYXRhIHJ0PTExNjQ3MDUxODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkphamEuIFdpZSBmYWVuZ3QgZWluIE1hdGhlbWF0aWtlciBlaW5lbiBMb2V3ZW4uIE1pbmRlc3RlbnMgZ2VuYXVzbyBhbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChDcm9mdCwgMjguIE5vdiAyMDA2LCAxMDoxMzo1NSk6Cn4jISBybj1LZXkgcnQ9MTE2NDcwNDUyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKV2FzIGlzdCwgd2VubiB3aXIgZGlyIGpldHp0IHNhZ2VuLCBkYXNzIDEgTXVlbnplIDAuMjVnIHdpZWd0PyA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChSdW1hdGEsIDI4LiBOb3YgMjAwNiwgMTA6MTQ6MjEpOgp+IyEgcm49QW50aGVhIHJ0PTExNjQ3MDUyMjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkFiZXIgYmVzc2VyIDotKQpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3JhbW0gaXN0IG5pY2h0IGdsZWljaCBHcmFtbSAoS2V5LCAyOC4gTm92IDIwMDYsIDEwOjE0OjI3KToKfiMhIHJuPUNyb2Z0IHJ0PTExNjQ3MDUyMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkRhbm4gZ2xhdWIgaWNoIGV1Y2ggbmljaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKENyb2Z0LCAyOC4gTm92IDIwMDYsIDEwOjE1OjE1KToKfiMhIHJuPUtleSBydD0xMTY0NzA1MjY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MzkxMTA2OQpTY2hhdSBpbiBkZXIgTXVkbGliIG5hY2ggOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhbW0gaXN0IG5pY2h0IGdsZWljaCBHcmFtbSAoV29vZHksIDI4LiBOb3YgMjAwNiwgMTA6MTU6NDEpOgp+IyEgcm49Q3JvZnQgcnQ9MTE2NDcwNTMxNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKRGEgc3RlaHQgbnVyIGRhc3MgNCBNdWVuemVuIDEgR3JhbW0gd2llZ2VuLiBVbmQgd2FzIGtsZWluZXJlcyBhbHMKMSBHcmFtbSBnaWJ0cyBuaWNodC4gOi1QCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhbW0gaXN0IG5pY2h0IGdsZWljaCBHcmFtbSAoS2V5LCAyOC4gTm92IDIwMDYsIDEwOjE1OjU1KToKfiMhIHJuPUNyb2Z0IHJ0PTExNjQ3MDUzMTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CldpbGxzdCBEdSBldHdhIGJlaGF1cHRlbiwgbWVpbiBEYWVtb24gbHVlZ3QgbWljaCBhbj8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKFJ1bWF0YSwgMjguIE5vdiAyMDA2LCAxMDoxNjoxOSk6Cn4jISBybj1LZXkgcnQ9MTE2NDcwNTM1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKVmllbGxlaWNodCBpc3QgZGVyIERhZW1vbiBhdWNoIG51ciBzY2hsZWNodCBpbiBNYXRoZT8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKEtleSwgMjguIE5vdiAyMDA2LCAxMDoxNzowMyk6Cn4jISBybj1SdW1hdGEgcnQ9MTE2NDcwNTM3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjM5MTEwNjkKT2ggTWlzdCAuLi4gZGVyIEtlcmwga2FubiBqYSB3aXJrbGljaCBrZWluIEdyYW1tIHRlaWxlbiAuLi4gOikKCkRhcyBpc3QgZ2VtZWluLCB3ZW5uIGFuZGVyZSBSZWNodCBoYWJlbiA6KQoKCkRhbmtlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBHcmFtbSBpc3QgbmljaHQgZ2xlaWNoIEdyYW1tIChBbnRoZWEsIDI4LiBOb3YgMjAwNiwgMTA6MTc6MzMpOgp+IyEgcm49S2V5IHJ0PTExNjQ3MDU0MjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CkRhbm4gc3RlaHQgZXIgZGEgdm9yIEdyYW0obSkgZ2ViZXVndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKENyb2Z0LCAyOC4gTm92IDIwMDYsIDEwOjE3OjUxKToKfiMhIHJuPUtleSBydD0xMTY0NzA1NDIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2MzkxMTA2OQpJY2ggd3VlcmQgbmljaHQgc2FnZW4sIGRhc3MgZXIgbHVlZ3QuICBFaGVyIGRhc3MgZXIgZXMgbmljaHQgYmVzc2VyIHdlaXNzICwtKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyYW1tIGlzdCBuaWNodCBnbGVpY2ggR3JhbW0gKEFsa29ob2wsIDI4LiBOb3YgMjAwNiwgMTA6NTA6MjgpOgp+IyEgcm49UnVtYXRhIHJ0PTExNjQ3MDUxODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTYzOTExMDY5CmltIEhldXNlciBBbmFseXNpcyBCYW5kIDEsIHN0ZWh0IGRlciBTYXR6IGphIHdpcmtsaWNoIGluIGVpbmVtIEJld2VpcyAqZyoKCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNpY2hlcmhlaXRzbHVlY2tlIGltIEZUUC1Qcm9ncmFtbSAoSHVyYXhwcmF4LCAyOC4gTm92IDIwMDYsIDE0OjI3OjMwKToKfiMhIHJuPVpvb2sgcnQ9MTE2NDcxODQwNiByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE2NDcxODQwNgpEaWUgU2Nod2FjaHN0ZWxsZW4gaGF0IEV2Z2VueSBMZWdlcm92IGVudGRlY2t0LCBkZXIgZWluIEV4cGxvaXQtTW9kdWwgZkM8ciBkYXMKTWV0YXNwbG9pdC1GcmFtZXdvcmsgaW4gc2VpbmVtIGtvbW1lcnppZWxsZW4gVnVsbkRpc2NvLVBha2V0IGJlcmVpdHN0ZWxsdC4gRGFzClZ1bG5EaXNjby1QYWtldCBlbnRoaWVsdCBkZW4gRXhwbG9pdCBzY2hvbiBzZWl0IEVuZGUgdmVyZ2FuZ2VuZW4gSmFocmVzLAphbGxlcmRpbmdzIGhhdCBMZWdlcm92IGVyc3QgamV0enQgZGllIEV4aXN0ZW56IHVuZCBEZXRhaWxzIGRlciBMQzxja2UKdmVyQzZmZmVudGxpY2h0LgoKQXNvemlhbGVyIGdlaHRzIGphIHdvaGwga2F1bSBtZWhyLi4uCkRhc3Mgc2ljaCBkYSBub2NoIG5pZW1hbmQgZWluZ2VzY2hsZXVzdCBoYXQgdW5kIGRlcmVuIERyZWNrIHZlcm9lZmZlbnRsaWNodD8KVW5kIGlociBHZXNjaGFlZnQga29lbm5lbiBzaWUgYXVjaCB1bmJlaGVsbGlndCBpbiBkZW4gVVNBIGZ1ZWhyZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsbGUgSmFocmUgd2llZGVyIChBbGJvaW4sIDE4LiBEZXogMjAwNiwgMTE6NDI6NDMpOgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uCkRhcnVtIHNjaHJpZWIgc2llIGFuIGRpZSBUYWdlc3plaXR1bmcgPj5TdW48PCBlaW5lbiBCcmllZjoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICxTdW4nIHN0ZWh0LCBpc3QgaW1tZXIgd2Foci4gQml0dGUsCnNhZ2VuIFNpZSBtaXI6IEdpYnQgZXMgZWluZW4gV2VpaG5hY2h0c21hbm4/IgkKCkRpZSBTYWNoZSB3YXIgZGVtIENoZWZyZWRha3RldXIgRnJhbmNpcyBQLiBDaHVyY2ggc28gd2ljaHRpZywgZGFzcyBlciBzZWxiZXIKYW50d29ydGV0ZSAgYXVmIGRlciBUaXRlbHNlaXRlIGRlciA+PlN1bjw8OgoKIlZpcmdpbmlhLCBkZWluZSBrbGVpbmVuIEZyZXVuZGUgaGFiZW4gbmljaHQgUmVjaHQuIFNpZSBnbGF1YmVuIG51ciwgd2FzIHNpZQpzZWhlbi4gU2llIGdsYXViZW4sIGRhc3MgZXMgbmljaHQgZ2ViZW4ga2Fubiwgd2FzIHNpZSBtaXQgaWhyZW0ga2xlaW5lbiBHZWlzdApuaWNodCBlcmZhc3NlbiBrb2VubmVuLiBBbGxlciBNZW5zY2hlbmdlaXN0IGlzdCBrbGVpbiwgb2IgZXIgbnVuIGVpbmVtCkVyd2FjaHNlbmVuIG9kZXIgZWluZW0gS2luZCBnZWhvZXJ0LiBJbSBXZWx0YWxsIHZlcmxpZXJ0IGVyIHNpY2ggd2llIGVpbgp3aW56aWdlcyBJbnNla3QuCgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4gSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbwpnZXdpc3Mgd2llIExpZWJlIHVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2Fubgp1bnNlciBMZWJlbiBzY2hvZW4gdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbgpXZWlobmFjaHRzbWFubiBnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUKUG9lc2llLCBnYXIgbmljaHRzLCB3YXMgZGFzIExlYmVuIGVyc3QgZXJ0cmFlZ2xpY2ggbWFjaHRlLiBFaW4gRmxhY2tlcnJlc3QgYW4Kc2ljaHRiYXJlbSBTY2hvZW5lbiBibGllYmUgdWVicmlnLiBBYmVyIGRhcyBMaWNodCBkZXIgS2luZGhlaXQsIGRhcyBkaWUgV2VsdAphdXNzdHJhaGx0LCBtdWVzc3RlIHZlcmxvZXNjaGVuLgoKRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IGR1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgZHUga29lbm50ZXN0IGRlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgdm9uIGlobmVuIGJla2FlbWUKZGVuIFdlaWhuYWNodHNtYW5uIHp1IEdlc2ljaHQgIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4KZWluZmFjaCBzby4gRGFzIGJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdzdGVuIERpbmdlIGJsZWliZW4gbWVpc3RlbnMKdW5zaWNodGJhci4gRGllIEVsZmVuIHp1bSBCZWlzcGllbCwgd2VubiBzaWUgYXVmIE1vbmR3aWVzZW4gdGFuemVuLiBUcm90emRlbQpnaWJ0IGVzIHNpZS4gQWxsIGRpZSBXdW5kZXIgenUgZGVua2VuLCBnZXNjaHdlaWdlIHNpZSB6dSBzZWhlbiwgZGFzIHZlcm1hZwpuaWNodCBkZXIgS2x1ZWdzdGUgYXVmIGRlciBXZWx0LiBXYXMgZHUgYXVjaCBzaWVoc3QsIGR1IHNpZWhzdCBuaWUgYWxsZXMuIER1Cmthbm5zdCBlaW4gS2FsZWlkb3Nrb3AgYXVmYnJlY2hlbiB1bmQgbmFjaCBkZW4gc2Nob2VuZW4gRmFyYmZpZ3VyZW4gc3VjaGVuLiBEdQp3aXJzdCBlaW5pZ2UgYnVudGUgU2NoZXJiZW4gZmluZGVuLCBuaWNodHMgd2VpdGVyLgoKV2FydW0/IFdlaWwgZXMgZWluZW4gU2NobGVpZXIgZ2lidCwgZGVyIGRpZSB3YWhyZSBXZWx0IHZlcmh1ZWxsdCwgZWluZW4KU2NobGVpZXIsIGRlbiBuaWNodCBlaW5tYWwgYWxsZSBHZXdhbHQgYXVmIGRlciBXZWx0IHplcnJlaXNzZW4ga2Fubi4gTnVyCkdsYXViZSB1bmQgUG9lc2llIHVuZCBMaWViZSBrb2VubmVuIGlobiBsdWVmdGVuLiBEYW5uIHdlcmRlbiBkaWUgU2Nob2VuaGVpdAp1bmQgSGVycmxpY2hrZWl0IGRhaGludGVyIGF1ZiBlaW5tYWwgenUgZXJrZW5uZW4gc2Vpbi4gLElzdCBkYXMgZGVubiBhdWNoCndhaHI/JyBrYW5uc3QgZHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuIFdlbHQgaXN0CmJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQgdW5kIGVyIHdpcmQgZXdpZyBsZWJlbi4gU29nYXIgaW4gemVobgpNYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyIHdpZSBkaWNoIHVuZCBqZWRlcyBvZmZlbmUKSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0IFZpcmdpbmlhLgoKRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKClAuUy46IERlciBCcmllZndlY2hzZWwgendpc2NoZW4gVmlyZ2luaWEgTydIYW5sb24gdW5kIEZyYW5jaXMgUC4gQ2h1cmNoIHN0YW1tdAphdXMgZGVtIEphaHIgMTg4Ny4gRXIgd3VyZGUgdWViZXIgZWluIGhhbGJlcyBKYWhyaHVuZGVydCAgYmlzIHp1ciBFaW5zdGVsbHVuZwpkZXIgU3VuIDE5NTAgIGFsbGUgSmFocmUgd2llZGVyIHp1IFdlaWhuYWNodGVuIGF1ZiBkZXIgVGl0ZWxzZWl0ZSBkZXIgWmVpdHVuZwpnZWRydWNrdCB1bmQgc2VpdCAxOTc3IGluIGRlciA+PldlbHQgYW0gU29ubnRhZzw8LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGxlIEphaHJlIHdpZWRlciAoWm9vaywgMTguIERleiAyMDA2LCAxMzoyMjozNCk6Cn4jISBybj1BbGJvaW4gcnQ9MTE2NjQzODU2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjY0Mzg1NjMKInp1IFdlaWhuYWNodGVuIiB1bmQgbmljaHQgenVtIDE4LiBEZXplbWJlciwgb2Rlcj8gQWxzbyByYWV1bSBlcyBtYWwgCndpZWRlciBhdWYsIEFsYm9pbiEgOykgWi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWxsZSBKYWhyZSB3aWVkZXIgKEFsYm9pbiwgMTguIERleiAyMDA2LCAxMzoyNjo0NSk6Cn4jISBybj1ab29rIHJ0PTExNjY0NDQ1NTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY2NDM4NTYzCk5laW4gbWFjaGUgaWNoIG5pY2h0LCBlcnN0ZW5zIGtvc3RldGUgZXMgbWljaCBtdWVoZSBkZW4gVGV4dCBtZy1rb25mb3JtCnJ1ZWJlcnp1YnJpbmdlbi4gWndlaXRlbnMgYmluIGljaCB6dSBXZWlobmFjaHRlbiBuaWNodCBtZWhyIGhpZXIuIERyaXR0ZW5zCmthbm4gbWFuIGF1ZiBkZW4gQnJpZWYgYW5nZXNpY2h0cyBkZXIgS2F1ZnJhdXNjaG1hc3NlbiBuaWUgZnJ1ZWggZ2VudWcKaGlud2Vpc2VuLiBVbmQgZGFubiBnaWJ0IGVzIG5vY2ggemlnIGFuZGVyZSBHcnVlbmRlLiBXYXMgYmxlaWJ0IGRhcyBibGVpYnQgOy0pCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWxsZSBKYWhyZSB3aWVkZXIgKFpvb2ssIDE4LiBEZXogMjAwNiwgMTM6MzA6MDIpOgp+IyEgcm49QWxib2luIHJ0PTExNjY0NDQ4MDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY2NDM4NTYzCkFsc28genVtaW5kZXN0IGVyc3RlbnMgaXN0IGphIGFsYmVybiwgRHUgaGFldHRlc3QgZXMgamEgdm9uIGRlbiAKdmVyZ2FuZ2VuZW4gSmFocmVuIGF1cyBkZW0gWmVpdHVuZ3NhcmNoaXYgemF1YmVybiBrb2VubmVuLiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbGxlIEphaHJlIHdpZWRlciAoTWFoYXJldCwgMTguIERleiAyMDA2LCAxNDowMDowMyk6Cn4jISBybj1ab29rIHJ0PTExNjY0NDUwMDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY2NDM4NTYzCkljaCBmaW5kZSBhbGxlIGRyZWkgR3J1ZW5kZSBhbGJlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbGxlIEphaHJlIHdpZWRlciAoR2xvaW5zb24sIDE4LiBEZXogMjAwNiwgMTQ6MjE6MTEpOgp+IyEgcm49TWFoYXJldCBydD0xMTY2NDQ2ODAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2NjQzODU2MwpIYXQgbm9ybWFsZXJ3ZWlzZSBuaWNodCBHcmltbWJyb24gZGFzIGdlcG9zdGV0PyBTZWluZSBlaW5lIGd1dGUgVGF0IHBybyBKYWhyPwpVbmQgZGFzIHJlY2h0IHB1ZW5rdGxpY2g/CgpHcnVuZCA0IGlzdCBhbHNvIGVpbiBnYW56IHVlYmxlciBHcnVuZC4gRHUgd29sbHRlc3QgYXVjaCBtYWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQWxsZSBKYWhyZSB3aWVkZXIgKEJvaW5nLCAxOC4gRGV6IDIwMDYsIDE0OjI3OjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNjY0NDgwNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY2NDM4NTYzCkFsc28gR3JpbW1ib3JuIHdhZXJlIGRpZXNlciBMYXBzdXMgbmljaHQgcGFzc2llcnQgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFsbGUgSmFocmUgd2llZGVyIChHcmltbWJvcm4sIDE4LiBEZXogMjAwNiwgMTQ6MzA6MjEpOgp+IyEgcm49Qm9pbmcgcnQ9MTE2NjQ0ODQ3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjY0Mzg1NjMKTmF0dWVybGljaCBuaWNodC4gRXMgc2luZCBpbW1lciB3aWVkZXIgTGV1dGUgbmVydm9lcyBnZXdvcmRlbiB1bmQgbWVpbnRlbiBkYQoiaGlsZnJlaWNoIiBlaW5zcHJpbmdlbiB6dSBtdWVzc2VuLCBhYmVyIGJpc2hlciBoYWJlIGljaCBkZW4gVGV4dCBub2NoCmplZGVzbWFsIHJlY2h0emVpdGlnIGFuZ2VicmFjaHQuIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbGxlIEphaHJlIHdpZWRlciAoT3JrdG9ldGVyLCAxOC4gRGV6IDIwMDYsIDE5OjAxOjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTY2NDQ4NjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE2NjQzODU2MwpXbyBibGVpYnQgZGVyIFRleHQgbWl0IGRlciBwc2V1ZG93aXNzZW5zY2hhZnRsaWNoZW4gQW5hbHlzZSBkZXIgbm90d2VuZGlnZW4KR2VzY2h3aW5kaWdrZWl0IGZ1ZXIgZGVuIFdlaWhuYWNodHNtYW5uPyBXbyBibGVpYmVuIGRpZSB2ZXJnbHVlaGVuZGVuClJlbnRpZXJlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpaG5hY2h0c2dydXNzIChHcmltbWJvcm4sIDI0LiBEZXogMjAwNiwgMDE6NDM6MDIpOgpVbmQgaGllciBpc3Qgc2llLCBkaWUgZWluemlnIHdhaHJlIFdlaWhuYWNodHNnZXNjaGljaHRlLi4uCgpFaW5lIGtsZWluZSBHZXNjaGljaHRlIHp1ciBXZWlobmFjaHQKCkRpZSBhY2h0amFlaHJpZ2UgVmlyZ2luaWEgTydIYW5sb24gYXVzIE5ldyBZb3JrIHdvbGx0ZSBlcyBnYW56IGdlbmF1IHdpc3Nlbi4gCkRhcnVtIHNjaHJpZWIgc2llIGFuIGRpZSBUYWdlc3plaXR1bmcgIlN1biIgZWluZW4gQnJpZWY6CgoiSWNoIGJpbiBhY2h0IEphaHJlIGFsdC4gRWluaWdlIHZvbiBtZWluZW4gRnJldW5kZW4gc2FnZW4sIGVzIGdpYnQga2VpbmVuCldlaWhuYWNodHNtYW5uLiBQYXBhIHNhZ3QsIHdhcyBpbiBkZXIgJ1N1bicgc3RlaHQgaXN0IGltbWVyIHdhaHIuIEJpdHRlIHNhZ2VuClNpZSBtaXI6IEdpYnQgZXMgZWluZW4gV2VpaG5hY2h0c21hbm4/IC0gVmlyZ2luaWEgTydIYW5sb24iCgpEaWUgU2FjaGUgd2FyIGRlbSBDaGVmcmVkYWt0ZXVyIEZyYW5jaXMgUC4gQ2h1cmNoIHNvIHdpY2h0aWcsIGRhc3MgZXIgc2VsYmVyCmFudHdvcnRldGUgLSBhdWYgZGVyIFRpdGVsc2VpdGUgZGVyICJTdW4iOgoKIlZpcmdpbmlhLApEZWluZSBrbGVpbmVuIEZyZXVuZGUgaGFiZW4gbmljaHQgcmVjaHQuIFNpZSBnbGF1YmVuIG51ciwgd2FzIHNpZSBzZWhlbjsgc2llCmdsYXViZW4sIGRhc3MgZXMgbmljaHQgZ2ViZW4ga2Fubiwgd2FzIHNpZSBtaXQgaWhyZW0ga2xlaW5lbiBHZWlzdCBuaWNodAplcmZhc3NlbiBrb2VubmVuLiBBbGxlciBNZW5zY2hlbmdlaXN0IGlzdCBrbGVpbjsgb2IgZXIgbnVuIGVpbmVtIEVyd2FjaHNlbmVuCm9kZXIgZWluZW0gS2luZCBnZWhvZXJ0LiBJbSBXZWx0YWxsIHZlcmxpZXJ0IGVyIHNpY2ggd2llIGVpbiB3aW56aWdlcyBJbnNla3QuClNvbGNoZXIgQW1laXNlbnZlcnN0YW5kIHJlaWNodCBuaWNodCBhdXMsIGRpZSBnYW56ZSBXYWhyaGVpdCB6dSBlcmZhc3NlbiB1bmQKenUgYmVncmVpZmVuLgpKYSwgVmlyZ2luaWEsIGVzIGdpYnQgZWluZW4gV2VpaG5hY2h0c21hbm4uIEVzIGdpYnQgaWhuIHNvIGdld2lzcyB3aWUgTGllYmUKdW5kIEdyb3NzaGVyemlna2VpdCB1bmQgVHJldWUuIFdlaWwgZXMgYWxsIGRhcyBnaWJ0LCBrYW5uIHVuc2VyIExlYmVuIHNjaG9lbgp1bmQgaGVpdGVyIHNlaW4uIFdpZSBkdW5rZWwgd2FlcmUgZGllIFdlbHQsIHdlbm4gZXMga2VpbmVuIFdlaWhuYWNodHNtYW5uCmdhZWJlISBFcyBnYWViZSBkYW5uIGF1Y2gga2VpbmUgVmlyZ2luaWEsIGtlaW5lbiBHbGF1YmVuLCBrZWluZSBQb2VzaWUgLSBnYXIKbmljaHRzLCB3YXMgZGFzIExlYmVuIGVyc3QgZXJ0cmFlZ2xpY2ggbWFjaHRlLiBFaW4gRmxhY2tlcnJlc3QgYW4gc2ljaHRiYXJlbQpTY2hvZW5lbiBibGllYmUgdWVicmlnLiBBYmVyIGRhcyBMaWNodCBkZXIgS2luZGhlaXQsIGRhcyBkaWUgV2VsdCBhdXNzdHJhaGx0LAptdWVzc3RlIHZlcmxvZXNjaGVuLgpFcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBTb25zdCBrb2VubnRlc3QgRHUgYXVjaCBkZW4gTWFlcmNoZW4gbmljaHQKZ2xhdWJlbi4gR2V3aXNzLCBEdSBrb2VubnRlc3QgRGVpbmVuIFBhcGEgYml0dGVuLCBlciBzb2xsZSBhbSBIZWlsaWdlbiBBYmVuZApMZXV0ZSBhdXNzY2hpY2tlbiwgZGVuIFdlaWhuYWNodHNtYW5uIHp1IGZhbmdlbi4gVW5kIGtlaW5lciBiZWthZW1lIGlobiB6dQpHZXNpY2h0IC0gd2FzIHd1ZXJkZSBkYXMgYmV3ZWlzZW4/IEtlaW4gTWVuc2NoIHNpZWh0IGlobiBlaW5mYWNoIHNvLiBEYXMKYmV3ZWlzdCBnYXIgbmljaHRzLiBEaWUgd2ljaHRpZ2VuIERpbmdlIGJsZWliZW4gbWVpc3RlbnMgdW5zaWNodGJhci4gRGllCkVsZmVuLCB6dW0gQmVpc3BpZWwsIHdlbm4gc2llIGF1ZiBNb25kd2llc2VuIHRhbnplbi4gVHJvdHpkZW0gZ2lidCBlcyBzaWUuIEFsbApkaWUgV3VuZGVyIHp1IGRlbmtlbiAtIGdlc2Nod2VpZ2UgZGVubiBzaWUgenUgc2VoZW4sIGRhcyB2ZXJtYWcgbmljaHQgZGVyCktsdWVnc3RlIGF1ZiBkZXIgV2VsdC4gV2FzIER1IGF1Y2ggc2llaHN0LCBEdSBzaWVoc3QgbmllIGFsbGVzLgpEdSBrYW5uc3QgZWluIEthbGVpZG9za29wIGF1ZmJyZWNoZW4gdW5kIG5hY2ggZGVuIHNjaG9lbmVuIEZhcmJmaWd1cmVuIHN1Y2hlbi4KRHUgd2lyc3QgZWluaWdlIGJ1bnRlIFNjaGVyYmVuIGZpbmRlbiwgbmljaHRzIHdlaXRlci4gV2FydW0/IFdlaWwgZXMgZWluZW4KU2NobGVpZXIgZ2lidCwgZGVyIGRpZSB3YWhyZSBXZWx0IHZlcmh1ZWxsdCwgZWluZW4gU2NobGVpZXIsIGRlbiBuaWNodCBlaW5tYWwKYWxsZSBHZXdhbHQgYXVmIGRlciBXZWx0IHplcnJlaXNzZW4ga2Fubi4gTnVyIEdsYXViZSB1bmQgUG9lc2llIHVuZCBMaWViZQprb2VubmVuIGlobiBsdWVmdGVuLiBEYW5uIHdpcmQgZGllIFNjaG9lbmhlaXQgdW5kIEhlcnJsaWNoa2VpdCBkYWhpbnRlciBhdWYKZWlubWFsIHp1IGVya2VubmVuIHNlaW4uIAonSXN0IGRhcyBkZW5uIGF1Y2ggd2Focj8nIGthbm5zdCBEdSBmcmFnZW4uIFZpcmdpbmlhLCBuaWNodHMgYXVmIGRlciBnYW56ZW4KV2VsdCBpc3Qgd2FocmVyIHVuZCBuaWNodHMgYmVzdGFlbmRpZ2VyLiBEZXIgV2VpaG5hY2h0c21hbm4gbGVidCwgdW5kIGV3aWcKd2lyZCBlciBsZWJlbi4gU29nYXIgaW4gemVobm1hbCB6ZWhudGF1c2VuZCBKYWhyZW4gd2lyZCBlciBkYSBzZWluLCB1bSBLaW5kZXIKd2llIERpY2ggdW5kIGplZGVzIG9mZmVuZSBIZXJ6IG1pdCBGcmV1ZGUgenUgZXJmdWVsbGVuLiBGcm9oZSBXZWlobmFjaHQsClZpcmdpbmlhLgpEZWluIEZyYW5jaXMgUC4gQ2h1cmNoIgoKKERlciBCcmllZndlY2hzZWwgendpc2NoZW4gVmlyZ2luaWEgTydIYW5sb24gdW5kIEZyYW5jaXMgUC4gQ2h1cmNoIHN0YW1tdCBhdXMKZGVtIEphaHIgMTg5Ny4gRXIgd3VyZGUgdWViZXIgZWluIGhhbGJlcyBKYWhyaHVuZGVydCBiaXMgenVyIEVpbnN0ZWxsdW5nIGRlcgoiU3VuIiBpbSBKYWhyZSAxOTUwIGFsbGUgSmFocmUgd2llZGVyIHp1ciBXZWlobmFjaHRzemVpdCBhdWYgZGVyIGVyc3RlbiBTZWl0ZQpkZXIgWmVpdHVuZyBhYmdlZHJ1Y2t0LikKCgpJY2ggd3VlbnNjaGUgYWxsZW4gZWluIGZyb2hlcyB1bmQgZ2VzZWduZXRlcyBXZWlobmFjaHRzZmVzdCEKCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRzZ3J1c3MgKEx1ZywgMjUuIERleiAyMDA2LCAwMjowMjoxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE2NjkyMDk4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjY5MjA5ODIKV2VpaG5hY2h0ZW4gdm9uIE9ua2VsIEhvdHRlCgpEZW5rdCBFdWNoLCBpY2ggaGFiZSBkYXMgQ2hyaXN0a2luZCBnZXNlaGVuLApXZWlobmFjaHRlbiB2b24gT25rZWwgSG90dGUKCkRlbmt0IEV1Y2gsIGljaCBoYWJlIGRhcyBDaHJpc3RraW5kIGdlc2VoZW4sCmljaCBoYWIncyB1ZWJlcmZhaHJlbiwgZXMgd2FyIGVpbiBWZXJzZWhlbi4KSWNoIGhhdHRlIGdlcmFkZSBkaWUgQWV1Z2xlaW4genUsCmljaCBzY2hsaWVmIGJlaW0gRmFocmVuIGluIGhpbW1saXNjaGVyIFJ1aC4KRGEgaGF0IGRhcyBDaHJpc3RraW5kIGluIGRpZXNlciBlaXNpZ2VuIE5hY2h0LApCZWthbm50c2NoYWZ0IG1pdCBtZWluZW0gS3VlaGxlciBnZW1hY2h0LgoKU3BhZXRlciBzYWggaWNoIGRlbiBXZWlobmFjaHRzbWFubiwKZXIgdHJpZWIgZ2VyYWRlIHNlaW5lIFJlbnRpZXJlIGFuLgpJY2ggdWViZXJob2x0ZSBkZW4gbGFuZ3NhbWVuIFdpY2h0LApkb2NoIHNhaCBpY2ggZGFiZWkgZGVuIEdlZ2VudmVya2VociBuaWNodC4KSWNoIHdpY2ggaWhtIGF1cywgZG9jaCBsZWlkZXIgbmljaHQgU2FudGEsCmVpbiBrdXJ6ZXMgUnVtc2VuLCB1bmQgZXIga2xlYnRlIGFtIE1hbnRhLgoKQW0gRW5kZSB0cmFmIGljaCBkZW4gTmlrb2xhdXMsCmVyIGthbSBnZXJhZGUgYXVzIGRlbSBGcmV1ZGVuaGF1cy4KRXIga2FtIGdhbnogaGVrdGlzY2ggdWViZXIgZGllIFN0cmFzc2UgZ2VsYXVmZW4sCndvbGx0ZSBhbSBBdXRvbWF0ZW4gbmV1ZSBQcmFlc2VyIHNpY2gga2F1ZmVuLgpNaWNoIHVuZCBtZWluIEF1dG8gaGF0IGVyIHdvaGwgbmljaHQgZ2VzZWhlbiwKamVkZW5mYWxscyBibGllYmVuIG51ciBzZWluZSBTdGllZmVsIHN0ZWhlbi4KClVuZCBkaWUgTW9yYWwgdm9uIGRlbSBHZWRpY2h0OgpmYWhyIHp1IHNjaG5lbGwgbWl0IGRlaW5lbSBBdXRvIG5pY2h0IQpEZW5uIGFscyBpY2ggenUgSGF1cyB3YXIsIGRhIG11c3N0ZSBpY2ggaGV1bGVuLAptZWluIHNjaG9lbmVyIFdhZ2VuLCBkZXIgaGF0dGUgZHJlaSBCZXVsZW4hClZvbSBXZWlobmFjaHRzbWFubiwgdm9tIENocmlzdGtpbmQgdW5kIE5pa29sYXVzLApXZWlobmFjaHRlbiBuYWVjaHN0ZXMgSmFociBmYWVsbHQgZGFubiB3b2hsIGF1cy4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWhlcnJhZXViZXIgKEtleSwgIDEuIEphbiAyMDA3LCAwNzowNDoyMyk6Cldlbm4gamVtYW5kIGhldXRlIEFiZW5kIEx1c3QgYXVmIFNlaGVycmFldWJlciBoYXQsIGljaCB3dWVyZWQgc2llIGdlcm4gc28KZ2VnZW4gMjA6MDAgbWFjaGVuLgoKQ3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlcnJhZXViZXIgKEtleSwgIDIuIEphbiAyMDA3LCAwNDoxNzo1Nik6Cn4jISBybj1LZXkgcnQ9MTE2NzYzMTQ2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNjc2MzE0NjMKTmFlY2hzdGVyIFZlcnN1Y2ggLi4uCgpIYXQgd2VyIEx1c3QgYXVmIGRpZSBSYWV1YmVyPyBJY2ggYmluIHp1IHNjaG5lbGwgdm9sbCB1bSBtZWhyIGFscyBkaWUgSGFlbGZ0ZQp6dSBzY2hhZmZlbiAuLi4KCkN1CiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0c2dydXNzIChNdWFkaWIsICAzLiBKYW4gMjAwNywgMTY6NDg6MzgpOgp+IyEgcm49THVnIHJ0PTExNjcwMDg1Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTY2OTIwOTgyCmRlbGxlbiwgZGFzIGF1dG8gaGF0dGUgZGVsbGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXNzZXItV2V0dHRyaW5rZW4gdW5kIGRpZSBtb2VnbGljaGVuIEZvbGdlbjogKE9ya3RvZXRlciwgMTUuIEphbiAyMDA3LCAwNjoxODo0Nyk6CkFtZXJpa2FuZXJpbiBzdGlyYnQgbmFjaCBXYXNzZXItV2V0dHRyaW5rZW4KCldhc2hpbmd0b24gLSBFaW5lIDI4LWphZWhyaWdlIEFtZXJpa2FuZXJpbiBpc3QgaW4gU2FjcmFtZW50byBpbSBVUy1CdW5kZXNzdGFhdApLYWxpZm9ybmllbiBvZmZlbmJhciBhbiBkZW4gRm9sZ2VuIGVpbmVzIFdhc3Nlci0gV2V0dHRyaW5rZW5zIGdlc3RvcmJlbi4gRGFzCnZlcm11dGVuIEdlcmljaHRzbWVkaXppbmVyLCBiZXJpY2h0ZXQgZGllIFNhY3JhbWVudG8gQmVlLiBEaWUgRnJhdSBoYXR0ZSBhbgpkZW0gV2V0dGJld2VyYiBlaW5lciBSYWRpb3N0YXRpb24gdGVpbGdlbm9tbWVuLCB1bSBmdWVyIGlocmUgZHJlaSBLaW5kZXIgZWluZQpDb21wdXRlcnNwaWVsa29uc29sZSB6dSBnZXdpbm5lbi4gQXVmZ2FiZSB3YXIsIHNvIHZpZWwgV2Fzc2VyIHdpZSBtb2VnbGljaCB6dQp0cmlua2VuLCBvaG5lIGF1ZiBkaWUgVG9pbGV0dGUgenUgZ2VoZW4uIEt1cnogbmFjaCBkZW0gV2V0dGJld2VyYiBrbGFndGUgZGllCkZyYXUgdWViZXIgS29wZnNjaG1lcnplbiB1bmQgc3RhcmIgbm9jaCBhbSBnbGVpY2hlbiBBYmVuZC4gKGRwYSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWJvb3RzIGhldXRlIChab29rLCAgNS4gRmViIDIwMDcsIDE2OjA4OjM3KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTcwNjg0MjU2IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTcwNjg0MjU2CkljaCBoYWIgZG9jaCBnYXIgbml4IGdlbWFjaHQuLi4gOykKCkplZGVuZmFsbHMgZWluIGdyb3NzZXMgRGFua2VzY2hvZW4gYW4gWmVzc3RyYSB1bmQgQW1hcnlsbGlzIHVuZCBkaWUgYW5kZXJlbgpndXRlbiBHZWlzdGVyLCBkaWUgYmVpbSBVbXp1ZyB1bmQgYmVpIGRlciBVbXN0ZWxsdW5nIGF1ZiBkZW4gTEREcml2ZXIKbWl0Z2Vob2xmZW4gaGFiZW4uIE51ciBkdXJjaCBkaWVzZW4gaW1tZW5zZW4gRWluc2F0eiAobWFuY2hlIExldXRlIHdlcmRlbgplcyB2aWVsbGVpY2h0IG1pdGJla29tbWVuIGhhYmVuKSwga29ubnRlIGRpZXMgc28gc2NobmVsbCAoaWNoIGdsYXViIHVudGVyCnZpZXIgTW9uYXRlbj8pIGVyZm9sZ3JlaWNoIGFiZ2VzY2hsb3NzZW4gd2VyZGVuLgoKSWNoIGhhZXR0ZSBlcyBuaWUgZ2VkYWNodCwgZGFzcyBkYXMgc28genVlZ2lnIHVuZCBzbyByZWlidW5nc2xvcyB2b25zdGF0dGVuCmdlaHQhIEdyYXR1bGF0aW9uIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290cyBoZXV0ZSAoTWVzaXJpaSwgIDUuIEZlYiAyMDA3LCAxNjoxMToyMyk6Cn4jISBybj1ab29rIHJ0PTExNzA2ODgxMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcwNjg0MjU2CkljaCBtb2VjaHRlIG1pY2ggZGVtIGFuc2NobGllc3Nlbi4gV2lya2xpY2ggYmVlaW5kcnVja2VuZCBkYXMgRW5nYWdlbWVudC4KV2VyIGhhZXR0ZSBkYXMgaW0gTW9yZ2VuZ3JhdWVuIHZlcm11dGV0LgoKVmllbGVuIERhbmsKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVib290cyBoZXV0ZSAoUnVtYXRhLCAgNS4gRmViIDIwMDcsIDIwOjI1OjA0KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE3MDY4ODI4MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzA2ODQyNTYKVW5kIGljaCBtb2VjaHRlIGJld3VuZGVybmQgaGluenVmdWVnZW4sIGRhc3Mgc2llIGltbWVyIG5vY2ggZWluZW4KZ3V0IGdlbGF1bnRlbiBFaW50cnVjayBtYWNoZW4uIDotKQoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdHMgaGV1dGUgKEFtYXJ5bGxpcywgIDUuIEZlYiAyMDA3LCAyMDo1MDowNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTE3MDcwMzUwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzA2ODQyNTYKTmFqYSwgZGEgQWRtaW4gbWVpbmUgQXJiZWl0IGlzdCwgYmluIGljaCBndXRlTGF1bmVTcGllbGVuIGdld29obnQgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2Zlc3Npb25lbGxlIE5ldXNwaWVsZXJ3ZXJidW5nPyAoRW5ub3gsICA2LiBGZWIgMjAwNywgMDE6MTc6NDQpOgpIYWxsbywKCndpZSBpaHIgc2ljaGVyIHdpc3N0LCB2ZXJzdWNoZSBpY2ggZGllIEZhaG5lIGRlciBOZXVzcGllbGVyd2VyYnVuZwpob2NoIHp1IGhhbHRlbi4gIExlaWRlciB3YXJlbiB1bnNlcmUgYmlzaGVyaWdlbiBCZW11ZWh1bmdlbiB2b24ga2VpbmVuCmdyb3NzZW4gRXJmb2xnZW4gZ2VwcmFlZ3QuIEJ6dy4gZGllIGV0d2FzIGVyZm9sZ3JlaWNoZW4gd3VyZGVuIG5pY2h0CndlaXRlciB1bnRlcnN0dWV0enQuCgpWaWVsbGVpY2h0IGhlbGZlbiB1bnMgamEgZWluIHBhYXIgcHJvZmVzc2lvbmVsbGUgSW5mb3Mgd2VpdGVyLiBEYWhlcgptZWluZSBGcmFnZToKCktlbm50IHdlciB2b24gRXVjaCBqZW1hbmRlbiAoZ3V0IGdlbnVnKSBkZXIgaW4gZWluZXIgcmljaHRpZ2VuCihlcmZvbGdyZWljaGVuPykgIFdlcmJlYWdlbnR1ciBhcmJlaXRldCB1bmQgdW5zIHZpZWxsZWljaHQgZWluIHBhYXIKc2lubnZvbGxlIFRpcHBzIGdlYmVuIGtvZW5udGU/CgpXZW5uIGphLCBkYW5uIG1lbGRldCBFdWNoIG1hbCBiZWkgbWlyLgoKRGFua2UgTWVzaXJpaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2xhbmRlcnNjcmVlIChIaWdobGFuZGVyLCAgNi4gRmViIDIwMDcsIDEyOjI2OjQ5KToKU28sIG5hY2ggZWluIGJpc3NlcmwgQmFzdGVsYXJiZWl0ZW4ga29lbm5lbiBkaWUgRGFtZW4gdW5kIEhlcnJlbiBTZWhlcgpqZXR6dCB3aWVkZXIgZGllIERpZW5zdGUgZGVyIFNsYW5kZXJzY3JlZSBudXR6ZW4uCgpGdWVyIGRpZSBXYXJ0ZXplaXQsIHdhZWhyZW5kIGRlciBkZXIgS2FwaXRhZW4gbmV1ZSBLb250YWt0bGluc2VuCnZlcnBhc3N0IGJla2FtLCB1bSBTZWhlciBhdWNoIHdpZWRlciBhbHMgc29sY2hlIHp1IGVya2VubmVuLCBiaXR0ZW4gd2lyCnVtIEVudHNjaHVsZGlndW5nLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2xhbmRlcnNjcmVlIChIdW1uaSwgIDYuIEZlYiAyMDA3LCAxMjozMjo1Nik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExNzA3NjEyMDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcwNzYxMjA5Ci4uIHVuZCBpY2ggZGFua2UgSGlnaGxhbmRlciBnYW56IGV4cGxpeml0LCBkYSBpY2ggZ2VyYWRlIGtlaW5lIFplaXQgaGF0dGUsCm1pY2ggZHJ1bSB6dSBrdWVtbWVybi4gU293aWUgWmVzc3RyYS4gV2llIGltbWVyLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCidlcndhcnRlJyAoWmVzc3RyYSwgIDcuIEZlYiAyMDA3LCAxOToyMDo1OSk6Ckh1aHUsCgpkZXIgQnVnIGlzdCBlbmRsaWNoIGdlZnVuZGVuLCBuYWNoZGVtIHdpciBoZXJhdXNmYW5nZW4sIHdvdm9uIGVzIGFiaGFlbmd0LCBvYgptYW4gYmV0cm9mZmVuIGlzdCBvZGVyIG5pY2h0LiA7LSkgKERhbmtlIGFuIEJvaW5nISkKTGVpZGVyIHdpcmt0IGRlciBCdWdmaXggZXJzdCBuYWNoIEVuZGUvQ3Jhc2gvUmVib290LiBFaW4gV29ya2Fyb3VuZCBpc3QgZXMsCmRpZSBQaWVwc3RvZW5lIG1pdCAndG9uIGVpbicgZWluenVzY2hhbHRlbi4gV2VtIGRhcyBhbGxlcmRpbmdzIHp1IG5lcnZpZyBpc3QsCm11c3Mgd2FydGVuIG9kZXIgJ2VuZGUnIG1hY2hlbiwgdHV0IG1pciBsZWlkLiA6LSgKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpbmdlciAoT2dvLCAxMi4gRmViIDIwMDcsIDIzOjA1OjIzKToKS2FubiBtYW4gdmllbGxlaWNodCBpbSBSYWhtZW4gZGVzIFNlcnZlcnVtenVnZXMgZGFzIEZpbmdlcm4gd2llZGVyIHJlcGFyaWVyZW4/CkZydWVoZXIga29ubnRlIG1hbiBhbiBqZWRlbSBSZWNobmVyIHBlciAkIGZpbmdlciBAbWcubXVkLmRlICBvZGVyICQgZmluZ2VyCm9nb0BtZy5tdWQuZGUgZGllIGVudHNwcmVjaGVuZGVuIEZpbmdlci1JbmZvcyBhYnJ1ZmVuLiBEYXMgd3VyZGUgaXJnZW5kd2FubgprYXB1dHRnZW1hY2h0LiAKCkljaCB3dWVuc2NoZSBtaXIsIGRhc3MgZGFzIHdpZWRlciBnZWh0LiBJY2ggZmFuZCBkYXMgcHJha3Rpc2NoLCB3ZW5uIG1hbgppcmdlbmR3byBhdWYgZWluZXIgU2hlbGwgaGFlbmd0LCBqZW1hbmRlbiBlcnJlaWNoZW4gd29sbHRlIHVuZCBzbyBrdXJ6IHZvcm0KZWlubG9nZ2VuIGd1Y2tlbiBrb25udGUsIG9iIGRlciBkZW5uIHVlYmVyaGF1cHQgZGEgaXN0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaW5nZXIgKEFtYXJ5bGxpcywgMTIuIEZlYiAyMDA3LCAyMzoyODo0Nik6Cn4jISBybj1PZ28gcnQ9MTE3MTMxNzkyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzEzMTc5MjMKSGksCgppY2ggaGFiZSBkaWVzYmV6dWVnbGljaCBuaWNodHMgZ2VmdW5kZW4sIHdhcyBkYXJhdWYgaGluZGV1dGV0LCBkYXNzIGRhcyBlcnN0CnNlaXQgZGVtIFVtenVnIGthcHV0dCBpc3QuIEJpc3QgRHUgc2ljaGVyLCBkYXNzIGRhcyBlcnN0IHNlaXQgZGVtIFVtenVnIG5pY2h0Cm1laHIgZ2VodD8KCkZpbmdlciBnbG9iYWwgYXVmIGRlbSBTZXJ2ZXIgd2FyIHZvcmhlciBzY2hvbiBhYmdlc2NoYWx0ZXQgdW5kIHdpcmQgZXMgYXVjaApibGVpYmVuLi4uIGhhdCBhYmVyIHdvaGwgbmljaHRzIG1pdCBkZW0gTXVkLUZpbmdlciB6dSB0dW4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpbmdlciAoT2dvLCAxMi4gRmViIDIwMDcsIDIzOjM1OjI5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTcxMzE5MzI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3MTMxNzkyMwpIYWIgaWNoIG1pY2ggbWlzc3ZlcnN0YWVuZGxpY2ggKGZhbHNjaD8pIGF1c2dlZHJ1ZWNrdC4gRGFzIGlzdCBzY2hvbiBsYWVuZ2VyCmthcHV0dC4gSXN0IGJlaSBpcmdlbmRlaW5lbSBEZWJpYW51cGRhdGUgcmF1c2dlZmxvZ2VuLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmluZ2VyIChPZ28sIDEyLiBGZWIgMjAwNywgMjM6MzY6NTUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNzEzMTkzMjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcxMzE3OTIzCldhciBlaGVyIHNvIGdlbWVpbnQsIGRhc3Mgd2VubiBkYSBlaCBydW1nZWZ1aHJ3ZXJrdCB3aXJkLCBvYiBEdS9KZW1hbmQKdmllbGxlaWNodCBkYXMgYmlzc2VybCBaZWl0IGZpbmRldCwgZGFzIHp1IGZpeGVuLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpbmdlciAoR25vbWUsIDEyLiBGZWIgMjAwNywgMjM6MzY6NTcpOgp+IyEgcm49T2dvIHJ0PTExNzEzMTk3Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcxMzE3OTIzCmphLCB3YWVyZSB3aXJrbGljaCBzY2hvZW4sIHdlbm4gZGFzIHdpZWRlciBmdW5rdGlvbmllcmVuIHd1ZXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZpbmdlciAoWmVzc3RyYSwgMTMuIEZlYiAyMDA3LCAwMDoxMDoyNyk6Cn4jISBybj1Hbm9tZSBydD0xMTcxMzE5ODE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3MTMxNzkyMwpNaG1tLCBhbHNvLCByZWRlbiB3aXIgamV0enQgdWViZXIgZWluIGZpbmdlciBibGFAbWcubXVkLmRlIHZvbiBpcmdlbmRlaW5lbQpSZWNobmVyIGF1cyBvZGVyIHVlYmVyIGVpbiBmaW5nZXIgYmxhQG1vcmdlbmdyYXVlbiBhdXMgYW5kZXJlbiBNdWRzIGhlcmF1cz8KTGV0enRlcmVzIGxpZWd0IGV2dGwuIGFtIGJsb2VkZW4gSW50ZXJtdWQsIHdvIG5vY2ggbmljaHQgdWViZXJhbGwgZGllIG5ldWUgSVAKZGVzIE1HIGVpbmdldHJhZ2VuIGlzdC4uLgoKemVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmluZ2VyIChPZ28sIDEzLiBGZWIgMjAwNywgMDE6MDk6MTkpOgp+IyEgcm49WmVzc3RyYSBydD0xMTcxMzIxODI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3MTMxNzkyMwpXaXIgcmVkZW4gdWViZXIgcmljaHRpZ2VzICdGaW5nZXInIHVuZCBuaWNodCB1ZWJlciBJbnRlcm11ZC4gClNpZWhlOiBodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0Zpbmdlcl8lMjhJbnRlcm5ldHByb3Rva29sbCUyOQpWZXJtdXRsaWNoIG11c3MgZGFmdWVyIGV0d2FzIGluIC9ldGMvaW5ldGQuY29uZiBlaW5nZXRyYWdlbiBzZWluLCBpcmdlbmRlaW4Kd3JhcHBlciwgZGVyIGphIGZydWVoZXIgZGEgd2FyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmluZ2VyIChBbWFyeWxsaXMsIDEzLiBGZWIgMjAwNywgMTk6Mzg6NDQpOgp+IyEgcm49T2dvIHJ0PTExNzEzMjUzNTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcxMzE3OTIzCkRpZSAibGF1ZmVuZGUiIGluZXRkLmNvbmYgaXN0IHNjaG9uIHJlY2h0IGFsdCwgaW5zb2Zlcm4ga2FubiBkYXMgc2Nob24gbGFlbmdlcgpuaWNodCBtZWhyIGZ1bmt0aW9uaWVydCBoYWJlbi4gSWNoIHZlcm11dGUgbWFsLCBhdXMgZ3V0ZW0gR3J1bmQsIHdlaWwgRmluZ2VyCmF1Y2ggZWluIFNpY2hlcmhlaXRzcHJvYmxlbSBpc3QuIEluc2Jlc29uZGVyZSBtdWVzc3RlIGphIGRlciBPUy1GaW5nZXIgZWluZQpTY2huaXR0c3RlbGxlIHp1bSBNdWQtRmluZ2VyIGhhYmVuLCBkaWUgaWNoIGJpc2xhbmcgbm9jaCBuaWNodCBnZWZ1bmRlbiBoYWJlLgoKSW5zb2Zlcm4gd2lyZHMgdm9yZXJzdCBrZWluZW4gRmluZ2VyIGdlYmVuLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRmluZ2VyIChab29rLCAxMy4gRmViIDIwMDcsIDE5OjQwOjI0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTcxMzkxOTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3MTMxNzkyMwpIbS4gSWNoIGhhYiBkaWUgU2Nobml0dHN0ZWxsZSBtYWwgaW4gSGFlbmRlbiBnZWhhYnQuIERhIG11c3N0ZSBtYW4gaW1tZXIKImZpbmdlciBtZy56b29rQG1nLm11ZC5kZSIgb2RlciBzbyBlaW5nZWJlbiB1bmQgZGFubiBoYXQgZGVyIEZpbmdlciBkYXMgCmFuIGRhcyBNdWQgd2VpdGVyZ2VsZWl0ZXQgdW5kIGRpZSBBdXNnYWJlbiB6dXJ1ZWNrZ2VyZWljaHQuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGaW5nZXIgKFJpa3VzLCAxNC4gRmViIDIwMDcsIDA4OjE3OjU5KToKfiMhIHJuPVpvb2sgcnQ9MTE3MTM5MjAyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzEzMTc5MjMKQWZhaXIgaGF0IEhhdGUgdm9yIEphaHJlbiBkZW4gZmluZ2VyIGF1cyBTaWNoZXJoZWl0c2dydWVuZGVuIGRlYWt0aXZpZXJ0LgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEZpbmdlciAoRW5ub3gsIDE0LiBGZWIgMjAwNywgMDk6MjU6MjQpOgp+IyEgcm49UmlrdXMgcnQ9MTE3MTQzNzQ3OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzEzMTc5MjMKIGZ1bmN0aW9uIG1nZmluZ2VyKCkgeyBseW54IC1ub2xpc3QgLWR1bXAKImh0dHA6Ly9tZy5tdWQuZGUvY2dpLWJpbi9tdWR3d3cucGw/UkVRPWZpbmdlciZIVE1MPTAmVVNFUj0kMSI7IH0KbWdmaW5nZXIgbWVzaXJpaQoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZpbmdlciAoRW5ub3gsIDE0LiBGZWIgMjAwNywgMDk6MjU6NDgpOgp+IyEgcm49RW5ub3ggcnQ9MTE3MTQ0MTUyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzEzMTc5MjMKa2FubiBtYW4gYXVjaCBpbiBkaWUgLnByb2ZpbGUgb2RlciAuYmFzaHJjIHBhY2tlbi4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhZXRhZSBUYWV0YWUgVGFldGFlIChIdW1uaSwgMTkuIEZlYiAyMDA3LCAwMToyODo0Myk6CkpldHp0IGhhYnQgaWhycyBhYmVyIGVjaHQgdmVybm9tbWVuOgpEYSBpc3Qgd2FzIGtvbWlzY2hlcyBhbmdla29tbWVuCkdhbnogbmFlcnJpc2NoIHNjaGF1ZW4gZGllIExldXRlIGF1cwpkaWUgc2NoYXVlbiBhdXMgZGVtIFdhZ2VuIHJhdXMuCgpUYWV0YWUgVGFldGFlIFRhZXRhZQoKRGEgc2l0emVuIExldXRlIGF1ZiBkZW4gV2FnZW4KV2FzIG1hY2hlbiBkaWU/IElzdCBrYXVtIHp1IHNhZ2VuLgpTaWUgbWV0emVsbiBuaWNodCwgd2FzIHNvbGwgZGVyIE1pc3Q/ClVuZCBTdHVwc2U/IEZlaGxhbnplaWdlISBEcmlzcyEKClRhZXRhZSBUYWV0YWUgVGFldGFlCgpEYSBmYWhyZW4gc2llIGRpZSBTdHJhc3NlIHJ1bnRlcgpVbmQgc2luZ2VuIGRhYmVpIG5vY2ggZ2FueiBtdW50ZXIKSWNoIHNhY2ggZXVjaCBhbGxlbiwgRGVwcCB1bmQgTmFycjoKRGllIGhhdWVuIHdpciB1bSB1bmQgZGFubiB6dXIgQmFyIQoKVGFldGFlIFRhZXRhZSBUYWV0YWUKCkRvY2ggZGFubiBzdGVsbGVuIHdpciBnYW56IHNjaG5lbGwgZmVzdApEYXNzIGRhcyBTY2h3ZXJ0IHVucyBzY2huZWxsIHZlcmxhZXNzdC4KU3RhdHRkZXNzZW4gc2VoZW4gd2lyIGdhbnogaGVsbGU6CkRhIHZvbSBXYWdlbiwgZGEgZmxpZWd0IEthbWVsbGUhCgpUYWV0YWUgVGFldGFlIFRhZXRhZQoKRG9jaCBzdGVsbHQgaWhyIGZlc3QsIGRhIGlzdCBnYXIgbml4OgpKYSwgaGFidCBSZWNodCEgU2Nob24gd2llZGVyIERyaXNzIQpVcm9tYXMgbXVlc3NlbiBlcnN0IGF1ZndhY2hlbgpEYW5uIGZhZW5ndCBkYXMgVHJlaWJlbiBhbiwgZGFzIExhY2hlbiEKClRhZXRhZSBUYWV0YWUgVGFldGFlCgpVbmQgd2VubiBkZXIgTmFjaGJhciBzaWNoIGF1Y2ggc3RvZXJ0LAppaHIgYWxsZSBqZXR6dCBkZW4gQWJzY2hsdXNzIGhvZXJ0LApkaWUgR2lsZGUgaW4gUG9ydCBWYWluIGJsZWlidCBkb3J0LAp3YXMgc29sbCBkaWUgYXVjaCBhbiBhbmRlcmVtIE9ydC4uLgoKVGFldGFlIFRhZXRhZSBUYWV0YWUKCihIdW1uaSAtIGltIEF1ZnRyYWcgZGVzIG5hZXJyaXNjaGVuIEZlc3RpdmFsc2tvbWl0ZWVzIHp1ciBBcnRlcmhhbHR1bmcgZGVzClBvcnQgVmFpbmVyIEthcm5ldmFscywgaW4gZGllc2VtIEphaHIgdW50ZXIgZGVyIExlaXR1bmcgc2VpbmVyIFRvbGxpdGFldApLcnN0ZnJzKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmEtUG9ydGFsIGluIE1pcmlscyBUdXJtIChUdWNvLCAyNC4gRmViIDIwMDcsIDAwOjAxOjQ5KToKSGFsbG8sIAp3b2xsdGUgbWljaCB1ZWJlciBkYXMgUG9ydGFsIG5hY2ggUGFyYSBiZWdlYmVuLCBhYmVyIGplZGVzbWFsIHd1cmRlIGljaCBiZWkKZGVtIHZlcnN1Y2ggYXVzZ2Vsb2dndC4KQW4gbWVpbmVuIFNjcmlwdGVuIGxpZWd0IGVzIG5pY2h0LCB3ZWlzcyBkYSBqZW1hbmQgUmF0PyBoYWIgZXMgbWl0IG1laGVyZW4KQ2xpZW50ZW4gcHJvYmllcnQtIGlzdCB1ZWJlcmFsbCBkYXNzZWxiZSwgYWJlciBtaXQgZGVtIFdlYnRlbG5ldCB2b24gZGVyCk1HLVNlaXRlIGtsYXBwdCBlcyBrb21pc2NoZXJ3ZWlzZSA6KCAKQW4gbWVpbmVuIFNjcmlwdGVuIGxpZWd0IGVzIG5pY2h0LCB3ZWlzcyBkYSBqZW1hbmQgUmF0PyBoYWIgZXMgbWl0IG1laGVyZW4KQ2xpZW50ZW4gcHJvYmllcnQtIGlzdCB1ZWJlcmFsbCBkYXNzZWxiZSwgYWJlciBtaXQgZGVtIFdlYnRlbG5ldCB2b24gZGVyCk1HLVNlaXRlIGtsYXBwdCBlcyBrb21pc2NoZXJ3ZWlzZSA6KCAKR3J1c3MsIFR1Y28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJhLVBvcnRhbCBpbiBNaXJpbHMgVHVybSAoS2VsbHlidW5keSwgMjQuIEZlYiAyMDA3LCAxNDoxNjoyNik6Cn4jISBybj1UdWNvIHJ0PTExNzIyNzE3MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTcyMjcxNzA5Ck11c3MgYW4gRGVpbmVuIFNjcmlwdGVuIGxpZWdlbi4gT2RlciBkYSB3dXJkZSBrdXJ6ZnJpc3RpZyBnZXNjaHJhdWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzcnVlc3R1bmdzdmVybHVzdCAoWmVzc3RyYSwgMTYuIE1hciAyMDA3LCAxMDoyNTozOSk6Ckh1aHUsCgpnZXN0ZXJuIGFiZW5kIGlzdCBlaW4gQnVnIGJlaSBlaW5pZ2VuIFNwaWVsZXJvYmpla3RlbiBhdWZnZWZhbGxlbi4gQmVpbQpWZXJzdWNoLCBkZW4gYmV0cm9mZmVuZW4gU3BpZWxlcm4gZWluIGJ1Z2ZyZWllcyBTcGllbGVyb2JqZWt0IHp1IHZlcnNjaGFmZmVuLAppc3QgbWlyIGxlaWRlciB3YXMgc2NoaWVmZ2VnYW5nZW4uIDotKCBEaWUgYmV0cm9mZmVuZW4gU3BpZWxlciBoYWJlbiBuYWVtbGljaAppaHJlIEF1c3J1ZXN0dW5nIG5pY2h0IG1laHIuCldlciBiZXRyb2ZmZW4gaXN0IHVuZCBuaWNodC10cml2aWFsIHp1IGJlc2NoYWZmZW5kZW4gS3JhbSBkYWJlaSBoYXR0ZSwgc29sbApzaWNoIG1hbCBiZWkgbWlyIG1lbGRlbiwgaWNoIHNjaGF1IGRhbm4gbWFsLCB3YXMgZGF2b24gZXJzZXR6YmFyIGlzdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9iZXJncmVuemUgdm9uIEdlZ2Vuc3RhZW5kZW4gaW0gU3BpZWxlciAoVmVjdG9yLCAyOS4gTWFyIDIwMDcsIDExOjAzOjEwKToKSGVsbGFzLAoKZGVyemVpdCBoYWJlbiBqYSBpbW1lciBtZWhyIFNwaWVsZXIgZGFzIFByb2JsZW0sIGRhc3MgZGllIE9iZXJncmVuemUKZGVyIG1heGltYWwgdHJhZ2JhcmVuIEdlZ2Vuc3RhZW5kZSBzY2huZWxsZXIgZXJyZWljaHQgd2lyZCwgYWxzIGVpbmVtCmxpZWIgc2VpbiBrYW5uLgpPYiBkYXMgbnVuIGFuIHp1c2FldHpsaWNoZW4gV2FmZmVuZ2F0dHVuZ2VuIGxpZWd0LCBvZGVyIGRhc3MgU3BpZWxlcgppbW1lciBmbGV4aWJsZXIgYXVzZ2VzdGF0dGV0IHNlaW4gbXVlc3NlbiBvZGVyIGRpZSBTcGllbGVyIG1laHIKTXVlbGwgbWl0IHNpY2ggcnVtIHRyYWdlbiBzZWkgbWFsIGRhaGluZ2VzdGVsbHQuCkRhcyBtYXhpbWFsLW1vZWdsaWNoZSB3aXJkIGphIGF1Y2ggdWViZXIgZGFzIEdld2ljaHQgYmVzdGltbXQsIApzbyBrb2VubnRlbiBzaWNoIGRpZSBNYWdpZXIgZG9jaCBtYWwgdWViZXJsZWdlbiwgb2IgbWFuIG5pY2h0CmRpZSBiZXN0ZWhlbmRlIE9iZXJncmVuemUgKDEwMD8pIGJpc3NsIG5hY2ggb2JlbiB2ZXJzY2hpZWJ0Cih6LmIuIDE0MCkuIApFaWlpaWlnZW50bGljaCBpc3QgZGllIE9iZXJncmVuemUgbmFjaCBTdHVlY2t6YWhsIHNvd2llc28Kd2lsbGt1ZXJsaWNoIGdld2FlaGx0IHdvcmRlbiBkYW1hbHMgdW5kIGhhdHRlIGVoZXIgd2FzIG1pdApTcGVpY2hlciB1bmQgUGVyZm9ybWFuY2UgenUgdHVuPyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPYmVyZ3JlbnplIHZvbiBHZWdlbnN0YWVuZGVuIGltIFNwaWVsZXIgKFZhbmlyLCAyOS4gTWFyIDIwMDcsIDExOjIyOjIyKToKfiMhIHJuPVZlY3RvciBydD0xMTc1MTU4OTkwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3NTE1ODk5MApIYWxsb2VjaGVuLAppY2ggbGVpZGUgdW50ZXIgc2VsYmlnZW4gUHJvYmxlbS4gRWluZSBBZW5kZXJ1bmcgdW5kIEFuaGVidW5nIGRlciBHcmVuemUKd3VlcmRlIGljaCBzZWhyIGJlZ3J1ZXNzZW4uCgpWYW5pci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT2JlcmdyZW56ZSB2b24gR2VnZW5zdGFlbmRlbiBpbSBTcGllbGVyIChaZXNzdHJhLCAyOS4gTWFyIDIwMDcsIDExOjI5OjIxKToKfiMhIHJuPVZhbmlyIHJ0PTExNzUxNjAxNDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc1MTU4OTkwCkRhcyBQcm9ibGVtIGlzdCBtaXIgYnp3LiBkZW4gRU1zIG5hdHVlcmxpY2ggYXVjaCBiZWthbm50LCB3aXIgaGFiZW4gZGEgc2Nob24KbWVocmZhY2ggVWViZXJsZWd1bmdlbiB6dSBhbmdlc3RlbGx0LiBEYXNzIHdpciBkaWVzZSBHcmVuemUgbm9jaCBuaWNodCBlcmhvZWh0CmhhYmVuLCBoYXQgYXVjaCBpbiBkZXIgVGF0IHRlY2huaXNjaGUgR3J1ZW5kZSB1bmQgbmljaHQsIGRhc3Mgd2lyIGRhCnByaW56aXBpZWxsIGdlZ2VuIHdhZXJlbi4gOy0pIEljaCBoYWIgZ2VyYWRlIGtlaW5lIFplaXQsIGZhbGxzIGVzIGplbWFuZGVuCmludGVyZXNzaWVydCwga2FubiBpY2ggZGEgaGV1dCBhYmVuZCBvZGVyIG1vcmdlbiBub2NoIHdhcyB6dSBzY2hyZWliZW4sIHdvIGRhCm1laXN0ZW4gUHJvYmxlbWUgbGllZ2VuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT2JlcmdyZW56ZSB2b24gR2VnZW5zdGFlbmRlbiBpbSBTcGllbGVyIChaZXNzdHJhLCAyOS4gTWFyIDIwMDcsIDIzOjA1OjM5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3NTE2MDU2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzUxNTg5OTAKSHVodSwKCmFsc28sIGRhcyBtaXQgZGVyIEl0ZW1ncmVuemUgaXN0IGFuIG1laHJlcmVuIFN0ZWxsZW4gc2Nod2llcmlnLCBlaW5pZ2UsIGRpZQpkaXJla3Qgb2ZmZW5iYXIgc2luZCwgd2FlcmVuIGZvbGdlbmRlOgoxLiBpbSBLYW1wZgpCZWltIFp1c2NobGFnZW4gZWluZXMgTGViZW53ZXNlbnMgd2lyZCBpbSBHZWduZXIgaW4gamVkZXIgZ2V0cmFnZW5lbiBSdWVzdHVuZwplcm1pdHRlbHQsIHdpZXZpZWwgc2llIHNjaHVldHp0IChpbmtsLiBzb3dhcyB3aWUgRGVmZW5kRnVuYywgZGllIHRlaWx3ZWlzZQpyaWNodGlnIHRldWVyIHNpbmQpLiBIb2hlIFNlaGVyIHRyYWdlbiBhdWNoIHNjaG9ubWFsID40MCBhbmdlem9nZW5lIFJ1ZXN0dW5nZW4KbWl0IHNpY2ggcnVtLiBXZW5uIG1hbiBkYW5uIG1laHJlcmUgR2VnbmVyLCBnZ2YuIG5vY2ggbWl0IG1laHJlcmVuIEF0dGFja2VuCmhhdCwgc3VtbWllcnQgc2ljaCBkYXMgc2VociBzY2huZWxsIGF1ZiwgenVtYWwgbm9jaCBhbmRlcmUgU2FjaGVuIGRhenUga29tbWVuCnVuZCBlcyBidWdndCBpbSBLYW1wZiwgc3BlemllbGwgYmVpbSBCZXRyZXRlbiBlaW5lcyBSYXVtcy4gVHlsYWsgaGF0dGUgZGEKZGllc2UgVXB0aW1lIHNjaG9uIGVpbiBwYWFyIEVybGVibmlzc2UuIDstKAoKMi4gInRyYWdlIGFsbGVzIgpBdWNoIGRpZXNlciBQdW5rdCBrYW5uIGtyaXRpc2NoIHdlcmRlbiwgd2VubiBlaW4gU3BpZWxlciB2aWVsIEtyYW0gZGFiZWkgaGF0LApkZXIgYW5nZXpvZ2VuIHdlcmRlbiBrYW5uLiBFcyBoYWVuZ3Qgc2VociBkYXZvbiBhYiwgd2FzIGRpZSBLbGFtb3R0ZW4gYmVpbQpBbnppZWhlbiBub2NoIHNvIG1hY2hlbiwgYWJlciBnZW5lcmVsbCBkdWVyZnRlIGVzIHNjaG9uIGJlaSB3ZW5pZ2VyIGFscyAxMDAKYW56aWVoYmFyZW4gU2FjaGVuIGJ1Z2dlbi4KCjMuIGltIFRvZApJbSBUb2QgbXVzcyBkZXIgZ2FuemUgS3JlbXBlbCBhdXNnZXpvZ2VuIHVuZCBpbiBkaWUgTGVpY2hlIGJld2VndCB3ZXJkZW4uIERhcwppc3QgZWluIFZvcmdhbmcsIGRlciB6aWVtbGljaCB0ZXVlciBpc3QuIERvcnQgYnVnZ3QgZXMgYXVjaCBhbSBlaGVzdGVuLgpJbnNiZXNvbmRlcmUsIHdlbm4gZGllIE5QQ3MgYmVpbSBUb2QgZGVzIFNwaWVsZXJzIG5vY2ggd2FzIHR1biAoU2VoZXJyYWV1YmVyCnouQi4sIGRvcnQgYnVnZ3QgZXMgYXVjaCBqZXR6dCBtaXQgPD0xMDAgSXRlbXMgc2Nob24pLiBEZXIgUHVua3QsIHdvIGRhcyBaZXVnCmJlaW0gWmVyZmFsbCBkZXIgbGVpY2hlIGluIGRlbiBSYXVtIGJld2VndCB3aXJkLCBpc3QgYXVjaCBpbnRlcmVzc2FudC4KCjQuIEluIGRlbiBSYWV1bWVuIGxpZWd0IGRhbm4gbmF0dWVybGljaCAobmFjaCBTcGllbGVydG9kKSBtZWhyIHJ1bSwgbWl0IGRlbQpSaXNpa28sIGRhc3MgZXMgYmVpbSBCZXRyZXRlbiBlaW5lcyB2b2xsZW4gUmF1bXMgKFNwaWVsZXIgZ2VzdG9yYmVuLCBub2NoCmVpbmlnZSBOUENzLCBUZWFtKSBlYmVuZmFsbHMga25hbGx0LiBHZW5lcmVsbCBiZWltIEJldHJldGVuIGVudHNwcmVjaGVuZAp2b2xsZXIgUmFldW1lLCBzcGV6aWVsbCBlaW5lIEtvbWJpbmF0aW9uIHZvbiAxIHVuZCAzIHVuZCA0LgoKNS4gU3RlbGxlbiwgd28gTWFnaWVyIGlyZ2VuZHdhcyBtaXQgZGVtIFNwaWVsZXJpbnZlbnRhciBtYWNoZW4gKHouQi4KZHJ1ZWJlcmxhdWZlbiB1bmQgamVkZXMgSXRlbSBiZWd1dGFjaHRlbiwgZXRjLiksIGRvcnQgdmVybGFlbmdlcnRzIHNpY2ggZGFubgphdWNoIGVudHNwcmVjaGVuZC4KCkVzIGdpYnQgRGlza3Vzc2lvbmVuIGRhcnVlYmVyLCB3aWUgZGllc2UgUHVua3RlIGFtIHNpbm52b2xsc3RlbiBhbnp1Z2VoZW4Kc2luZC4gQWxsZXJkaW5ncyBzaW5kIHdpciBsZWlkZXIgbm9jaCBuaWNodCBzb3dlaXQsIGRhcyB3aXIgYXVzZ2VyZWlmdGUsCmdlYmF1dGUgb2RlciBnYXIgZ2V0ZXN0ZXRlIExvZXN1bmcgcGFyYXQgaGFldHRlbi4gOi0oIEFuIFB1bmt0IDEgaGFiIGljaCB6LkIuCm1hbCB2b3IgMyBXb2NoZW4gd2FzIGdlYmFzdGVsdCwgd2lldmllbCBkYXMgaW4gZGVyIFByYXhpcyBicmluZ3QsIHdlcmRlbiB3aXIKbm9jaCBzZWhlbi4KCkVpbmUgd2VpdGVyZSBNb2VnbGljaGtlaXQgYmVzdGVodCBkYXJpbiwgZWluZmFjaCBtYWwgT2JqZWt0ZSBpbQpTcGllbGVyLUludmVudGFyIGVpbnp1c3BhcmVuLiBFcyBnaWJ0IGphIGVpbmUgZ2FuemUgUmVpaGUgT2JqZWt0ZSBpbiBTcGllbGVybiwKZGllIG51ciBkYXp1IGRhIHNpbmQsIERhdGVuIGZ1ZXIgbmUgUXVlc3QvR2ViaWV0IG9kZXIgZWluZW4gRXh0cmEtTG9vayB6dQpzcGVpY2hlcm4uIE5hdHVlcmxpY2ggaXN0IGF1Y2ggZGllc2VyIFB1bmt0IGF1Y2ggbml4LCB3YXMgbWFsIGViZW4gZ2VodCwgd2VpbApkYXp1IGRpZSBlbnRzcHJlY2hlbmRlbiBPYmpla3RlL1F1ZXN0cy9HZWJpZXRlIGFuZ2VwYWNrdCB3ZXJkZW4gbXVlc3Nlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9iZXJncmVuemUgdm9uIEdlZ2Vuc3RhZW5kZW4gaW0gU3BpZWxlciAoS251cnBzLCAzMC4gTWFyIDIwMDcsIDAyOjIwOjA5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3NTIwMjMzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzUxNTg5OTAKV2llIHdhZXJlIGVzLCBkYXMgSW52ZW50YXIgaW4gZHJlaSBlaWdlbmUgTWV0YS1Db250YWluZXIgYXVmenV0ZWlsZW4sIHdpZSBlcwpiZXJlaXRzIGRlciBGYWxsIGlzdC4gV2FmZmVuLCBSdWVzdHVuZ2VuLCBNaXNjLiAoR2dmIDYgQ29udGFpbmVyLApOZXZlcmRyb3AvQXV0b2xvYWQtV2FmZmVuLCBOZXZlcmRyb3AvQXV0b2xvYWQtUnVlc3R1bmdlbiwKTmV2ZXJkcm9wL0F1dG9sb2FkLU1pc2MpLCBDb250YWluZXIga2FubiBtYW4gbGVpY2h0IHVuZCBlaW5mYWNoIGJld2VnZW4sIGRpZQplbnRzcHJlY2hlbmRlbiBCZWZlaGxlIGFyYmVpdGVuIGluIGRlbiBqZXdlaWxpZ2VuIENvbnRhaW5lcm4gKHp1ZWNrZSwgdHJhZ2UpLApNb3ZlcyBpbiBTcGllbGVyIHdlcmRlbiBlbnRzcHJlY2hlbmRlbmQgZWluc29ydGllcnQuIFdlbm4gZGVyIFNwaWVsZXIgc3RpcmJ0Cmthbm4gbWFuIGRpZSBlaW5mYWNoIGFscyBXYWZmZW5oYXVmZW4sIFJ1ZXN0dW5nc2hhdWZlbiB1c3cgaW4gZGVuIFJhdW0Kc2NobWVpc3NlbiwgZGFzIGlzdCBiaWxsaWcgenUgcmVhbGlzZXJlbiwgbWFuIG11c3MgamEgbnVyIGRhcyBFbnZpcm9ubWVudCB2b24KZWluZW0gSXRlbSBhZW5kZXJuLCBuaWNodCB2b24gMTAwLiBEaWUgQ29udGFpbmVyIGtvZW5uZW4gc2NobGF1IHNlaW4sIHouYi4gZGllCmVyc3RlbiBJdGVtcyB2b24gamVkZW0gUnVlc3R1bmdzdHlwIGNhY2hlbiB1bmQgenVydWVja2xpZWZlcm4sIGRhbm4gaXN0IGVpbgoidHJhZ2UgYWxsZXMiIGdhbnogYmlsbGlnLgoKQXVjaCBNYWdpZXIsIGRpZSBpcmdlbmR3YXMgc3VjaGVuLCBndWNrZW4gbmljaHQgbWVociBpbSBJbnZlbnRhciwgc29uZGVybiBudXIKbm9jaCBpbiBkZW4gUnVlc3R1bmdlbiBkZXMgU3BpZWxlcnMgdXN3Li4uCgpXZW5uIGRhcyB6dXZpZWwgQXVmd2FuZCBpc3QsICh3ZWdlbiBNdWRsaWJhZW5kZXJ1bmdlbiB1c3cpIGtvZW5udGUgbWFuIGVpbmZhY2gKbWFsIGVpbmVuIHRyYW5zcGFyZW50ZW4gQ29udGFpbmVyIGZ1ZXIgTWlzYy1OZXZlcmRyb3AvQXV0b2xvYWQtSXRlbXMgYW5sZWdlbiwKZGVyIGRpZSBpZHMgdm9uIGFsbGVuIEl0ZW1zIGRhcmluIGFubmltbXQgdW5kIGFscyBwX3Nob3J0IGVpbmUgSXRlbWxpc3RlCnp1cnVlY2tnaWJ0LCBzb2Rhc3MgbWFuIHZvbSBDb250YWluZXIgbml4IG1lcmt0LCBhdXNzZXIgZGFzcyBlciAyMCBJdGVtcwpzcGFydC4KCk9nbywgZ2VoaXJtc3R1ZXJtZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBPYmVyZ3JlbnplIHZvbiBHZWdlbnN0YWVuZGVuIGltIFNwaWVsZXIgKEdsb2luc29uLCAzMC4gTWFyIDIwMDcsIDE3OjI1OjA1KToKfiMhIHJuPUtudXJwcyBydD0xMTc1MjE0MDA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3NTE1ODk5MApEYXMgZ3JvZXNzdGUgUHJvYmxlbSBiZWkgZGVyIFZlcmNvbnRhaW5lcnVuZyBpbSBTcGllbGVyIHNlbGJzdCBzaW5kIGRpZQplaW56ZWxuZW4gT2JqZWt0ZSwgZGllIGdlcm4gZGFyYXVmIHBydWVmZW4gb2IgZGFzIEVudiBkZXIgQmVzaXR6ZXIgaXN0LgoKWnVzYWV0emxpY2hlIFZlcnBhY2t1bmcgaW0gUmF1bSB3aWUgekIgZWluIGV3aWdlciBMZWljaGVucmVzdCBiaXMgenVtCiJQbHVlbmRlcm4iIHd1ZXJkZSBhYmVyIHNjaG9uIG1hbCBlaW5lbiBQdW5rdCBzdHJlaWNoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogT2JlcmdyZW56ZSB2b24gR2VnZW5zdGFlbmRlbiBpbSBTcGllbGVyIChNZXNpcmlpLCAzMC4gTWFyIDIwMDcsIDIxOjU4OjUwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzUyNjgzMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc1MTU4OTkwCktvZW5udGUgbWFuIGRhcyBuaWNodCBkdXJjaCBlaW5lIFNpbXVsLUVmdW4gZW52aXJvbm1lbnQoKSBtYWNoZW4sIGRpZSBkaWVzZQpDb250YWluZXIgZGFubiBhdXNibGVuZGV0PwpNZXNpLCBmcmFnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBPYmVyZ3JlbnplIHZvbiBHZWdlbnN0YWVuZGVuIGltIFNwaWVsZXIgKFJ1bWF0YSwgMzAuIE1hciAyMDA3LCAyMjozMjoyOCk6Cn4jISBybj1NZXNpcmlpIHJ0PTExNzUyODQ3MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc1MTU4OTkwCnVuZCBuZSBzaW11bCBlZnVuIGZ1ZXIgcHJlc2VudCgpCgoqZHVjayoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPYmVyZ3JlbnplIHZvbiBHZWdlbnN0YWVuZGVuIGltIFNwaWVsZXIgKEdsb2luc29uLCAzMS4gTWFyIDIwMDcsIDExOjQ3OjM4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3NTIwMjMzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzUxNTg5OTAKTWFuIGtvZW5udGUgZnVuZGFtZW50YWxlIEFlbmRlcnVuZ2VuIHZvcm5laG1lbiB3aWUgekIgQ29udGFpbmVyZWludGVpbHVuZy4KQWJlciBkYXMgZGFubiBudXIgYXVmIERyaXZlcmViZW5lLCBhbnNvbnN0ZW4gZnJpc3N0IGRpZSB6dXNhZXR6bGljaCBub2V0aWdlCkJlYXJiZWl0dW5nIGltIHNlbGJlbiBUYWt0IHdpZWRlciBhbGxlIFplaXQvVGlja3MuCgpEYXMgaXN0IGFiZXIgYXVjaCBnbGVpY2ggZGFzIFByb2JsZW06IGRpZSBaZWl0L1RpY2tzIHdlcmRlbiBpbiBlaW5lbSBUYWt0CnZlcmJyYXRlbi4gRGEga2FubiBtYW4gYW5zZXR6ZW4uIEVpbnMgdm9yYXVzOiBkaWUgZ3JvZXNzdGUgQXJiZWl0IHdpcmQKKHdpZWRlcikgZGllIEVpbnplbHVlYmVycHJ1ZWZ1bmcgbWFjaGVuLgoKMSkgS2FtcGYgLT4gUnVlc3R1bmdlbgogICAtIE5ldWVpbnRlaWx1bmcgZGVyIFJ1ZXN0dW5nZW4gaW4gIktsZWlkdW5nIiB1bmQgIlJ1ZXN0dW5nIjoKICAgICAgYWxsZSBNSVNDIHdlcmRlbiBLbGVpZHVuZyB1bmQgdHJhZ2VuIHNpY2ggZ2FyIG5pY2h0IGVyc3QgYmVpCiAgICAgIGRlbiBSdWVzdHVuZ2VuIGVpbiAtIGQuaC4gd2VyZGVuIGF1Y2ggbmljaHQgdWViZXIgZGVuIEthbXBmCiAgICAgIGluZm9ybWllcnQKMWIpIEthbXBmIC0+IFNlbnNpdGl2ZSBPYmpla3RlCiAgIC0gbnV0enQgb2huZWhpbiBrYXVtIGVpbmVyIDopCiAgIC0ga2FubiB1bmQgc29sbHRlIG1hbiBhdWNoIHZlcnpvZWdlcnQgYXVzZnVlaHJlbiB1bmQgZGFtaXQKICAgICB6dW1pbmRlc3Qgdm9uIGRlbiBUaWNrcyBhYmtvcHBlbG4KCjIpIFNhY2hlbiBhbnppZWhlbgogICAtIHZlcnpvZWdlcnRlIEF1c2Z1ZWhydW5nIC4uLiBLbGFtb3R0ZW4gYW56aWVoZW4gZGF1ZXJ0IGhhbHQgOkQKICAgICAoamEsIFJMLUVya2xhZXJ1bmdlbiBzaW5kIGRvb2YsIGFiZXIgd2VubiBlaW5lciBzZWhyIHZpZWwKICAgICAgZGFiZWkgaGF0LCBkYW5uIHdpcmQgYmVpIEtyaXRpa2FsaXRhZXQgaGFsdCB6d2VpIFNla3VuZGVuCiAgICAgIFBhdXNlIGdlbWFjaHQsIGRhcyBpc3QgZG5uIGF1Y2ggZ2xlaWNoIFdhcm51bmcpCgozKSBCZXdlZ3VuZyAobW92ZSB1bmQgaW5pdCkKICAgSGllciBrb2VubmVuIHdpciBlaWdlbnRsaWNoIG51ciBzY2hhdWVuIG9iIG1hbiBkaWUgZGFtaXQgdmVyYnVuZGVuZW4KICAgS29zdGVuIHZlcnJpbmdlcnQsIGFsc28gekIgZGllIFVwZGF0ZXMgaXJnZW5kd2VsY2hlciBMaWNodGxldmVsIGV0YwogICBhdXNsYWdlcm4gdW5kIHZlcnpvZWdlcnQgYXVzZnVlaHJlbiBvZGVyIGdhciBkZW0gRHJpdmVyIHVlYmVybGFzc2VuLgogICAoRHJpdmVybWFnaWVyIGFueW9uZT8pCiAgIAo0KSBaZXVnIGluIFJhZXVtZW4KICAgLSBTcGllbGVyLUxlaWNoZW4gYmVoYWx0ZW4gaWhyZW4gS3JhbSBlaW5mYWNoIGJpcyB6dXIgIlBsdWVuZGVydW5nIiwKICAgICB1bmQgbGllZ2VuIGF1Y2ggc28gbGFuZ2UgaGVydW0gKDQgZXR3YXMgdmVycmluZ2VydCkKICAgLSBOUEMtTGVpY2hlbiBrYW5uIG1hbiBhZWhubGljaCBiZWhhbmRlbG46CiAgICAgLSBsYWVuZ2VyZSBIZXJ1bWxpZWdlemVpdCAoMTAgTWludXRlbj8pCiAgICAgLSBoZXJhdXNmYWxsZW5kZSBPYmpla3RlIHdlcmRlbiBnZWxpc3RldCB1bmQgbmFjaCBlaW5lbSByZXNldAogICAgICAgZW50c29yZ3Qgd2VubiBzaWUga2VpbmVyIHdvbGx0ZQoKNSkgTWFnaWVya3JhbXMKICAgRGEgaGlsZnQgaGFsdCBudXIgVWViZXJhcmJlaXRlbi4gV2FmZmVucHJ1ZWZlbmRlIEthbXBmTlBDcyB3dXJkZW4KICAgZGFoaW5nZWhlbmQgamEgYXVjaCBzY2hvbiBsYW5nZSBsYWdiZWZyZWl0IG9kZXIgc2NoZWludCBkYXMgbnVyPwoKTXVoLiBXZXIgZGFzIGhpZXIgbGllc3QgaGF0IEF1c2RhdWVyIDpECgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT2JlcmdyZW56ZSB2b24gR2VnZW5zdGFlbmRlbiBpbSBTcGllbGVyIChaZXNzdHJhLCAzMS4gTWFyIDIwMDcsIDE2OjQxOjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzUzMzQ0NTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc1MTU4OTkwCk9rLCBHbG9pbnNvbiBoYXQgamEgZGFua2Vuc3dlcnRlciBuZSBNZW5nZSBLcmFtIHp1IGRlbSBUaGVtYSBzY2hvbgpnZXNjaHJpZWJlbiwga2FubiBpY2ggbWljaCBhbHNvIGV0d2FzIGt1ZXJ6ZXIgZmFzc2VuLiA7LSkKCkF1ZnRlaWx1bmcgaW4gTWV0YS1Db250YWluZXIgd2FlcmUgdm9yIDEwLTE1IEphaHJlbiBlaW5lIHZpZWxsZWljaHQgZWluZSBndXRlCklkZWUgZ2V3ZXNlbiwgaGV1dCBpc3QgZXMgcHJvYmxlbWF0aXNjaCB3ZWdlbiBodW5kZXJ0ZW4gdm9uIFN0ZWxsZW4sIGRpZSBkYXMKSW52ZW50YXIgYmVhcmJlaXRlbi9kdXJjaHN1Y2hlbi4gS2xhciwgbWFuIGtvZW5udGUgZGl2LiBGdW5rdGlvbmVuIHdpZQpwcmVzZW50KCksIGFsbF9pbnZlbnRvcnkoKSwgZmlyc3RfaW52ZW50b3J5LCBuZXh0X2ludmVudG9yeSgpLApwcmVzZW50X2Nsb25lKCksIGVudmlyb25tZW50KCkgZXRjLiBhZW5kZXJuLiBBYmVyIGRhcyBtdWVzc3RlIGRhbm4gaW0gRHJpdmVyCmdlYWVuZGVydCB3ZXJkZW4gKHdhcyBkYW5uIHdpZWRlciBlaW5lbiBTcGxpdCBkZXIgRHJpdmVyZW50d2lja2x1bmcgYmVkZXV0ZXQKb2RlciBlaW5lIEFic3RpbW11bmcgbWl0IGFuZGVyZW4gTERNdWQtVXNlcm4sIHdhcyBzY2h3aWVyaWcgaXN0LCB3ZWlsIGVzIHN0YXJrCmF1ZiB1bnNlcmUgTXVkbGliIHp1Z2VzY2huaXR0ZW4gd2FlcmUpLCBhbGxlcyBhbmRlcmUgd2FlcmUgdmllbCB6dSB0ZXVlciBiZWkKZGVuIGhhZXVmaWcgZ2VudXR6dGVuIEZ1bmt0aW9uZW4uIERyaXZlcmFlbmRlcnVuZyB3YWVyZSBkYW5uIGVoIG5vZXRpZywgd2VnZW4KZGVyIEtvbW1hbmRvcywgZGllIGRpZSBJdGVtcyBoYWJlbiwgZGllIHNpbmQgbmljaHQgbWVociB2ZXJmdWVnYmFyLCB3ZW5uIHNpZQppbSBDb250YWluZXJuIGxpZWdlbi4gRGV0YWlscyBzaW5kIGF1Y2ggZWluIFB1bmt0LCB3ZW5uIGF1Y2ggZWluZmFjaGVyLgoKVHJhbnNwYXJlbnRlciBDb250YWluZXIgZnVlciBNaXNjLU5ldmVyZHJvcC9BdXRvbG9hZC1JdGVtcyBpc3QgYXVjaCBuaWNodApkaXJla3QgZWluZmFjaCwgZGEgc29sY2hlIE9iamVrdGUgamEgbmljaHQgbnVyIGR1cmNoIGlocmUgSUQvUF9TSE9SVAphdXNnZXplaWNobmV0IHNpbmQsIHNvbmRlcm4gZGVzb2VmdGVyZW4gYXVjaCBuZSBGdW5rdGlvbmFsaXRhZXQgaGFiZW4gdW5kIGRhbm4KZWJlbmZhbGxzIHggU3RlbGxlbiBnZWFlbmRlcnQgd2VyZGVuIG11ZXNzZW4gCih6LkIuIHg9cHJlc2VudCgibWVpbmF1dG9sYW9kZXIpIjsgZGVzdHJ1Y3QoeCk7KS4gCkFuc29uc3RlbiBzLm8uLCBpbnNiLiBLb21tYW5kb3MuCgpFaW4gVGVpbCBkZXIgVm9yc2NobGFlZ2UsIGRpZSBHbG9pbnNvbiBnZW1hY2h0IGhhdCAoei5CLiBiZXNvbmRlcnMgUHVua3QgMSkKaXN0IGluIERpc2t1c3Npb24sIG5lYmVuIGVpbmlnZW4gYW5kZXJlbiBEaW5nZW4gKHouQi4gYWx0ZXJuYXRpdmVyIE1lY2hhbmlzbXVzCmZ1ZXIgZGVuIEV4dHJhLUxvb2spLgpXZW5uIHdlciB3ZWl0ZXJlIElkZWVuIGhhdCwgc2luZCBkaWUgYWxsZXJkaW5ncyBpbW1lciBub2NoIHdpbGxrb21tZW4uIDstKQoKQlRXOiBKZSBuYWNoZGVtLCB3aWUgdGVjaG5pc2NoIGVzIHdpcmQsIG11ZXNzZW4gd2lyIHZpZWxsZWljaHQgbm9jaAp1ZWJlcmxlZ2VuLCBtaXQgZGVtIFRocmVhZCBpbiBlaW5lIE1hZ2llcnJ1YmlrIHVtenV6aWVoZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW50ZXJzdHVldHp1bmdzaWRlZW4gZnVlciBQcmFlc2VudGF0aW9uIGRlcyBNb3JnZW5HcmF1ZW4gKE1lc2lyaWksIDIyLiBBcHIgMjAwNywgMjE6NDM6NTgpOgpIYWxsbywKCndpciBoYXR0ZW4gdm9uIGRlciBEZXV0c2NoZW4gWmVudHJhbGJpYmxpb3RoZWsgZnVlciBCbGluZGUgZGllIFp1c2FnZQpiZWtvbW1lbiwgZGFzcyB3aXIgdW5zIGF1ZiBpaHJlbSBTdGFuZCBhdWYgZGVyIFNpZ2h0LUNpdHksCkRldXRzY2hsYW5kcyBncm9lc3N0ZXIgQmxpbmRlbiB1bmQgU2VoYmVoaW5kZXJ0ZW4tTWVzc2UgbWl0CnByYWVzZW50aWVyZW4ga29lbm5lbi4gRGllIE1lc3NlIGlzdCB2b20gOS4gYmlzIDExLiBNYWkgKGFsc28gYmFsZCkuCgpYdXRlbGl1cyBoYXQgc2ljaCBiZXJlaXRlcmtsYWVydCwgenVtaW5kZXN0IGFuIGVpbmVtIFRhZyBkb3J0IHZvciBPcnQKenUgc2VpbiB1bmQgZGFzIE1HIHZvcnp1c3RlbGxlbi4gUm9uZGEgd3VlcmRlIGlobiBsb2dpc3Rpc2NoCnVudGVyc3R1ZXR6ZW4uIFdhcyB1bnMgamV0enQgbm9jaCBmZWhsdCBpc3QgZWluIGdlZWluZ2V0ZXMgS29uemVwdCB3YXMKd2lyIHdpZSBkYSBwcmFlc2VudGllcmVuLCB1bSBkYXMgTUcgaW5zIHJpY2h0aWdlIExpY2h0IHp1IHJ1ZWNrZW4gdW5kCmF1Y2ggYmVpIGRlbiBCZXN1Y2hlcm4gZWluZW4gRWluZHJ1Y2sgenUgaGludGVybGFzc2VuLiBEaWUgRFpCIHd1ZXJkZQpzY2hhdWVuIG9iIHdpciBkYSBOZXR6YW5zY2hsdXNzIGJla29tbWVuLiAKCkF1c3NlcmRlbSB3dWVyZGVuIHNpZSB1bnMgZWluaWdlICJGbHllciIgaW4gUHVua3RzY2hyaWZ0IGRydWNrZW4gLQphdWNoIHdlbm4gc2llIGRlciBNZWludW5nIHNpbmQsIGRhc3MgZGFzIHZpZWxsZWljaHQgbmljaHQgc28gdmllbApicmluZ3QuIEFiZXIgZGFmdWVyIGJyYXVjaGVuIHdpciBhdWNoIG5vY2ggZXR3YXMgSW5oYWx0LCBkZW4gd2lyIGRhCnZlcmJyZWl0ZW4ga29lbm5lbj8KCldlbm4gaWhyIGFsc28gSWRlZW4gaGFidCwgd2llIG1hbiBkYXMgbWFjaGVuIGtvZW5udGUsIGRhbm4gYml0dGUgcGVyCk1haWwgYW4gbWljaCBvZGVyIG5vY2ggYmVzc2VyIGluIGRpZXNlciBSdWJyaWsga3VyeiBiZXNjaHJlaWJlbi4KCkljaCBoYXR0ZSBqYSBhbiBlaW5lIEFydCBBdWRpby1HZXNjaGljaHRlIGdlZGFjaHQsIGRpZSBlaW5lbiBBbmZhZW5nZXIgdm9tCkVpbmxvZ2dlbiB1ZWJlciBlaW5lIGRlciBTdGFydG1pbmlxdWVzdHMgYmlzIHp1bSBXb25uZXdpY2h0d2FsZCB1bmQKKG5hdHVlcmxpY2ggYWJnZWt1ZXJ6dCkgenUgZGVuIFNlaWRlbnNwaW5uZXJuIGJyaW5ndC4gQWJlciBpY2ggd2Vpc3MgbmljaHQsIG9iCmRhcyBiaXMgZGFoaW4gbm9jaCB6dSBzY2hhZmZlbiBpc3QuIEFuc29uc3RlbiBoYXR0ZW4gd2lyIHNjaG9ubWFsIHNvIG5lIEFydApXZXJiZWFydGlrZWwgdmVyZmFzc3QsIGljaCBzY2hhdSBtYWwgb2IgaWNoIGRlbiBub2NoIGZpbmRlIHVuZCBzZXR6IGRlbiBtYWwKaW5zIFdpa2kuIERvcnQga29lbm50IGlociBhdWNoIEV1cmUgVm9yc2NobGFlZ2UgbWl0IGhpbnBhY2tlbi4KCkljaCBiaXR0ZSB3aXJrbGljaCBkb2xsZSB1bSBFdXJlIE1pdGhpbGZlCgpEYW5rZSBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW50ZXJzdHVldHp1bmdzaWRlZW4gZnVlciBQcmFlc2VudGF0aW9uIGRlcyBNb3JnZW5HcmF1ZW4gKEVubm94LCAyMy4gQXByIDIwMDcsIDA4OjM0OjQ4KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE3NzI3MTAzOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExNzcyNzEwMzgKSGksCgpJbm51ZW5kbyBoYXR0ZSBlaW5lIHRvbGxlIElkZWUuIFdpciBzaW5kIGphIGFsbGUgZHVyY2ggZGllIE11ZHBhcnRpZXMgc2Nob24KZXJmYWhyZW4gaW0gVW1nYW5nIG1pdCBSTC1RdWVzdHMuIFNlaW4gVm9yc2NobGFnIHdhciwgZWluZSBrbGVpbmUgUXVlc3QKKFdvbm5ld2ljaHRlLCB3YXMgc29uc3QpIG1pdCBCbGluZGVuc2NocmlmdHRhZmVsbiBkYXJ6dXN0ZWxsZW4gdW5kIGRpZXNlIGltClJhdW0genUgdmVydGVpbGVuLCBzbyBkYXNzIG1hbiBpbiBkZW4gcmljaHRpZ2VuIEhpbW1lbHNyaWNodHVuZ2VuIHZvbiBSYXVtIHp1ClJhdW0ga29tbXQuIERhbm4ga29lbm50ZW4gTGV1dGUgZGllIE5QQ3MgbWltZW4gdW5kIGRpZSBXaWNodGUgYnJhdGVuIChhZWhtCmJlZnJlaWVuKS4KCkljaCBkZW5rZSBkYXNzIGRhcyBlaW4gc2VociBndXRlciBWb3JzY2hsYWcgaXN0LCBkZW4gd2lyIGFiZXIgYXVmZ3J1bmQgZGVyCmtuYXBwZW4gWmVpdCwgZGVzIHNpY2hlciBrbmFwcGVuIFBsYXR6ZXMgdW5kIE1hbmdlbHMgYW4gdm9yaGFuZGVuZW4gTGV1dGVuCm5pY2h0IGdhbnogc28gdW1zZXR6ZW4ga29lbm5lbi4KCkRhaGVyIGhpZXIgZWluZSBsZWljaHRlIEFid2FuZGx1bmc6IFdpciBuZWhtZW4gdW5zIGVpbmVuIFRpc2NoIGF1ZiBkZW0gd2lyIGRpZQpSYXVtYmVzY2hyZWlidW5nc2thcnRlbiBpbiBGb3JtIGRlcyBHZWJpZXRzIGF1c2xlZ2VuLCBkaWUgS2FydGVuIG1pdCBGYWVkZW4gaW4KZGVuIFJpY2h0dW5nZW4gdmVyYmluZGVuIHVuZCBTcGllbGZpZ3VyZW4gYWxzIE5QQy1QbGF0emhhbHRlciBoaW5zdGVsbGVuLgpEZXRhaWxzIGthbm4gbWFuIGRhbm4gbWl0IFp1c2F0emthcnRlbiBuZWJlbiBkZW4gUmFldW1lbmQgZGFyc3RlbGxlbi4gCgpWb3J0ZWlsZSwgbWFuIGJyYXVjaHQgbmljaHQgc292aWVsIFBsYXR6LCBrZWluZSBBdWZzdGVsbGVyIHVuZCBuaWNodCBzb3ZpZWxlCkJldHJldWVyIChlaW5lbiBwcm8gVGlzY2gpLiBOYWNodGVpbCBlcyBrb2VubmVuIG5pY2h0IHNvdmllbGUgTGV1dGUKZ2xlaWNoemVpdGlnIHNwaWVsZW4gdW5kIGVzIG1hY2h0IG5pY2h0IGdhbnogc292aWVsIEF1ZnNlaGVuLgoKV2FzIGRlbmt0IElociBkYXJ1ZWJlcj8gSGFidCBpaHIgbm9jaCBJZGVlbiBkYXp1IG9kZXIgenUgYW5kZXJlbgpNb2VnbGljaGtlaXRlbj8KCkljaCB3ZXJkIG1hbCBzZWhlbiwgb2IgaWNoIG1laW5lbiBVcmxhdWIgdmVybGVnZW4gdW5kIGF1Y2ggZWluIGJpcyB6d2VpIFRhZ2UKaW4gRnJhbmtmdXJ0IHNlaW4ga2Fubi4KCk1lc294CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWxsa29tbWVuIHp1cnVlY2shIChNZXNpcmlpLCAgMi4gTWFpIDIwMDcsIDExOjE5OjQyKToKCk5hY2ggZHJlaXRhdXNlbmR0YWVnaWdlciBBYndlc2VuaGVpdCBmcmV1ZSBpY2ggbWljaCB1bSBzbyBtZWhyIFJpbXVzIHdpZWRlciBpbQpLcmVpc2UgZGVyIGFrdGl2ZW4gTXVkZGVyIGJlZ3J1ZXNzZW4genUga29lbm5lbi4gSWNoIGhvZmZlIHJlY2h0IHZpZWxlIGZvbGdlbiAKc2VpbmVtIEJlaXNwaWVsIHVuZCBiZXJlaWNoZXJuIGRhcyBNdWQgd2llZGVyIGR1cmNoIGlocmUgQW53ZXNlbmhlaXQuCgpJbiBkaWVzZW0gU2lubmU6IFdlbGNvbWUgYmFjayB1bmQgZ2FueiB2aWVsIFNwYXNzIGhpZXIgOikKCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWxsa29tbWVuIHp1cnVlY2shIChSaW11cywgIDIuIE1haSAyMDA3LCAxMTo0OTo1Mik6Cn4jISBybj1NZXNpcmlpIHJ0PTExNzgwOTc1ODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc4MDk3NTgyCkRhbmtlIE1lc2ksCgplcyBzaWNoIGVjaHQgZWluZSBnYW56ZSBNZW5nZSBiZXdlZ3QgaGllciBpbiBkZXIgWmVpdC4gVmllbGUgaW50ZXJlc3NhbnRlCkZ1bmt0aW9uZW4gc2luZCBoaW56dWdla29tbWVuLCBkaWUgaWNoIGZydWVoZXIgdmVybWlzc3RlLiAKV2FzIG1pY2ggYW0gbWVpc3RlbiBmcmV1dCwgbmFjaCBzbyBsYW5nZXIgWmVpdCBub2NoIHZlcnRyYXV0ZSBHZXNpY2h0ZXIKYW56dXRyZWZmZW4hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWxsa29tbWVuIHp1cnVlY2shIChWYW5pciwgIDIuIE1haSAyMDA3LCAxNDozMjoxMyk6Cn4jISBybj1SaW11cyBydD0xMTc4MDk5MzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3ODA5NzU4MgoKV2VsY29tZSBiYWNrLCBOYWNoYmFyIQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlbW90aXZhdG9ycyAoTWVzaXJpaSwgIDMuIE1haSAyMDA3LCAwMTozODoxNSk6ClNvLCBpY2ggd2lsbCBkYSBtYWwgYmVzdGVsbGVuLCB3ZXIgc2ljaCBkYSByZWluaGFlbmdlbiBtb2VjaHRlLCBzY2hyZWlidCBtaXIKYml0dGUgd2FzIGVyIGhhYmVuIG1vZWNodGU6CnRhc3NlLCBjb2xsZWN0aW9uLCBzdGlja3kgcGFkLCBsaXRob2dyYXBoLCBidWNoLCAuLi4KCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZW1vdGl2YXRvcnMgKE1lc2lyaWksICAzLiBNYWkgMjAwNywgMDE6Mzg6NDkpOgp+IyEgcm49TWVzaXJpaSBydD0xMTc4MTQ5MDk1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE3ODE0OTA5NQphY2hzbyB3d3cuZGVzcGFpci5jb20KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlbW90aXZhdG9ycyAoRW5ub3gsICA4LiBNYWkgMjAwNywgMDA6Mzk6MDUpOgpXZXIgc2VpbmUgdHJhY2tlbiBtb2VjaHRlOiBGZWRleCA3MTk0MzY1NjIxNzAKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcnR1bmdzYXJiZWl0ZW4gTmV0Q29sb2duZSBSZWNoZW56ZW50cnVtIElJIChaZXNzdHJhLCAgOC4gTWFpIDIwMDcsIDA5OjQ2OjEyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTc3NzAyMTYwIHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMTc3NzAyMTYwCkp1Y2h1LCB3aXIgaGFiZW4gZXMgb2ZmZW5iYXIgdWViZXJsZWJ0LCBlaW4gSG9jaCBhdWYgZGFzIHp3ZWl0ZSBOZXR6dGVpbC4gOy0pClp3aXNjaGVuZHVyY2ggd2FyIGljaCB6d2FyIHNrZXB0aXNjaCwgYWJlciB3YXIgenVtIEdsdWVjayBudXIgZGFzIE5ldHosIHdhcwp3ZWcgd2FyLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGF1Y2htYWlsaW5pZ2xpc3RlIChWYW5pb24sICA5LiBNYWkgMjAwNywgMjI6MTQ6MTcpOgpIYWxsbyBMZXV0ZSwKCnZpZWxsZWljaHQgaXN0IGVzIG5vY2ggbmljaHQgamVkZW0gYXVmZ2VmYWxsZW4sIGFiZXIgaW5uZXJoYWxiIGRlcwpNb3JnZW5HcmF1ZW4gZ2lidCBlcyBlaW5lIFVudGVyZ3J1bmRiZXdlZ3VuZy4gTmFqYSwgVW50ZXJncnVuZCBzdWdnZXJpZXJ0CmZlc3RlbiBCb2RlbiwgZGFzIGlzdCBzbyBuaWNodCBnYW56IHJpY2h0aWcuIEljaCBkZW5rZSBhbiBkaWUgU3BvcnR0YXVjaGVyCnVudGVyIHVucy4KCkltbWVyIG1hbCB3aWVkZXIgdHJlZmZlbiB3aXIgdW5zIHp1bSBSdWRlbHRhdWNoZW4uIERhenUgZ2Vob2VydGVuIGJpc2hlcgpBdXNsYW5kc3VybGF1YmUgei5CLiBpbiBBZWd5cHRlbiBvZGVyIE1hbHRhIChnZW5hdSBnZW5vbW1lbiBpbiBYbGVuZGkgYXVmCkdvem8pLCBCaW90YXVjaGt1cnNlIGluIEdhbW1lbCBBbGJvIChEYWVuZW1hcmspLCBhYmVyIGF1Y2ggVGF1Y2hldmVudHMgYW0KUmFuZGUgdm9uIFBhcnRpZXMsIHouQi4gaW4gQmVybGluLgoKVW0gZGllIEtvbW11bmlrYXRpb24gdW50ZXIgZGVuIFRhdWNoZXJuIGVpbiB3ZW5pZyB6dSB2ZXJiZXNzZXJuLCBoYWJlbiB3aXIgdW5zCmpldHp0IHVlYmVybGVndCwgZWluZSBUYXVjaG1haWxpbmdsaXN0ZSBhbnp1bGVnZW4gLSBzY2hsaWVzc2xpY2ggZ2lidCBlcyBhdWNoCk1HLVRhdWNoZXIsIGRpZSBzaWNoIHp1ciBaZWl0IGVoZXIgPHplbnNpZXJ0PiBzcGllbGVuLCBhYmVyIHRyb3R6ZGVtCm1pdHRhdWNoZW4gd29sbGVuLgoKV2VubiBEdSBJbnRlcmVzc2UgYW4gZ2VtZWluc2FtZW4gVGF1Y2hldmVudHMgaGF0LCB1bmQgYXVmIGRpZSBNYWlsaW5nbGlzdGUKbW9lY2h0ZXN0LCBzY2hpY2sgbWlyIGJpdHRlIGVpbmUgKGd1ZWx0aWdlKSBFbWFpbC1BZHJlc3NlLiBTY2hyZWliIHNpZSBuaWNodAppbiBkaWUgTVBBIHNvbmRlcm4gc2NoaWNrIHNpZSBtaXIgcGVyIGluZ2FtZS1NYWlsLiBJY2ggd2VyZGUgZGllIEFkcmVzc2VuCnNhbW1lbG4gdW5kIGRhbm4gTWVzaXJpaSBnZWJlbm4uIEVyIGhhdCBzaWNoIG1pdCBudXIgZ2Fhbnogd2VuaWcga29lcnBlcmxpY2hlcgpHZXdhbHRhbmRyb2hudW5nIHp1bSBIb3N0ZW4gZGVyIE1haWxpbmdsaXN0ZSBiZXJlaXRlcmtsYWVydC4KClRlY2huaXNjaGUgRGV0YWlscyBnaWJ0IGVzIGRhbm4gdm9uIE1lc2kgb2RlciBtaXIsIHNvYmFsZCBkaWUgTGlzdGUKZWluZ2VyaWNodGV0IGlzdC4KCkFjaGphLCB3ZW5uIGVzIGV1Y2ggbmljaHRzIGF1c21hY2h0LCBzY2hyZWlidCBkb2NoIGJpdHRlIG5vY2ggZGF6dSwgd2VsY2hlClF1YWxpZmlrYXRpb24gaWhyIGRlcnplaXQgaGFidCwgb2RlciBvYiBpaHIgZGVtbmFlY2hzdCBwbGFudCwgZWluZW4KVGF1Y2hzY2hlaW4genUgbWFjaGVuLgoKR3J1ZXNzZSwKVioKUFM6IERhbmtlIGFuIFZhcmRpb24gZnVlciBkaWUgdG9sbGUgSWRlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1lc3NlYmVyaWNodCAoTWVzaXJpaSwgMTMuIE1haSAyMDA3LCAyMjoyMzowMSk6CkRlciBNZXNzZWJlcmljaHQgenVyIFNpZ2h0Q2l0eSBpc3QgaW0gV2lraSB1bnRlcjoKaHR0cDovL3dpa2kubW9yZ2VuZ3JhdWVuLmluZm8vaW5kZXgucGhwP249TW9yZ2VuR3JhdWVuLlNpZ2h0Q2l0eQp6dSBmaW5kZW4KCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FydHVuZ3NhcmJlaXRlbiBOZXRDb2xvZ25lIFJlY2hlbnplbnRydW0gSUkgKEFtYXJ5bGxpcywgMTUuIE1haSAyMDA3LCAwMDo1ODo1Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzg2MTAzNzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTc3NzAyMTYwCiBTZWhyIHNjaG9lbiA7KQoKRGFzIGJld2Vpc3QgenVtaW5kZXN0LCBkYXNzIG1pbmQuIGVpbiBOZXR6dGVpbCBmdW5rdGlvbmllcnQgOykgKGZhbGxzIGJlaWRlCmRlZmVrdCB3YWVyZW4gaGFldHRlIG1hbiBkYXMgd29obCBhdWNoIGdlbWVya3QgOykpCgpBbWEqLCBiZXRydW5rZW4gc2VuZmVuZCBhdXMgZWluZXIgS25laXBlIGF1cyBUZW5lcmlmZmEgKE1vaml0byBydWxleiEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGlubmVuaW52YXNpb24gKFplc3N0cmEsIDI0LiBNYWkgMjAwNywgMjM6MzY6NTYpOgpIdWh1LAoKZGllIEludmFzaW9uIHNpY2ggbWVociBvZGVyIHdlbmlnZXIgdW5rb250cm9sbGllcnQgdmVybWVocmVuZGVyIFNwaW5uZW4gaXN0CnZvcmVyc3QgZ2VzdG9wcHQgdW5kIGRlciBEaW1lbnNpb25zcmlzcywgYXVzIGRlbSBzaWUga2FtZW4sIHdpZWRlciB2ZXJzaWVnZWx0Lgo7LSkKCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3Bpbm5lbmludmFzaW9uIChCYWJvb24sIDI1LiBNYWkgMjAwNywgMTU6MDE6NTgpOgp+IyEgcm49WmVzc3RyYSBydD0xMTgwMDQyNjE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4MDA0MjYxNgpWZXJzaWVnZWx0ZSBEaW1lbnNpb25zcmlzc2UgbGFzc2VuIHNpY2ggYWJlciBhdWNoIHdpZWRlcgplbnRzaWVnZWxuLiBHbGF1YnQgamEgbmljaHQsIGRhc3MgaWNoIG1pY2ggc2Nob24gZ2VzY2hsYWdlbgpnZWJlISBJY2gga29tbWUgd2llZGVyISBVbmQgZGFubiB3ZXJkZSBpY2ggZGllc2VzIE1VRCBpbiBkaWUgS25pZQp6d2luZ2VuISAqbXVhaGFoYWhhKgoKQmFib29uaWFjIChkZXIgamV0enQgd2llZGVyIHp1cnVlY2sgYW4ncyBSZWlzc2JyZXR0IGdlaHQpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChEZXJpbiwgIDcuIEp1biAyMDA3LCAxNjo1NTozMik6CkhhbGxvIHp1c2FtbWVuLAoKZGEgaWNoIGphIG5vY2ggemllbWxpY2ggbmV1IGhpZXIgYmluLCBoYWJlIGljaCBtYWwgZWluZSBldHdhcwpsYWVuZ2xpY2hlIEZyYWdlIChlaWdlbnRsaWNoIHNpbmRzIG1laHJlcmUpLgoKCkluIGRlbiBsZXR6dGVuIFRhZ2VuIGJpbiBpY2ggd2llZGVyaG9sdCBpbiBHZWJpZXRlbiBnZXdlc2VuLCBudW4sCndpZSBmb3JtdWxpZXJlIGljaCBkYXMgaG9lZmxpY2gsIGJlaSBkZW5lbiBzaWNoIG1pciBkZXIgRWluZHJ1Y2sKYXVmZHJhZW5ndGUsIHNpZSBzZWllbiBzdGFyayB2ZXJiZXNzZXJ1bmdzZmFlaGlnLCBtYW5jaGUgZ2FyIGVyc3QKenUgZWluZW0ga2xlaW5lbiBUZWlsIGZlcnRpZ2dlc3RlbGx0LiBBdWYgTmFjaGZyYWdlIGthbSBkYW5uCnp1bWluZGVzdCBpbiBlaW5lbSBGYWxsIGRpZSBBbnR3b3J0LCBkYXMgc2VpIGVpbiBhbHRlcyBHZWJpZXQgKHdvYmVpCm1pciBuaWNodCB2b2xsc3RhZW5kaWcga2xhciBpc3QsIHdhcyBkYXMgYmVkZXV0ZXQgLS0gb2IgZGFzIHouQi4gZWluZQpFbnRzY2h1bGRpZ3VuZyBvZGVyIGVpbmUgRmVobGVyLUthdGVnb3JpZSBpc3QpLgoKS29ua3JldCBtZWluZSBpY2ggZGFtaXQgKGZ1ZXIgdW50ZXJzY2hpZWRsaWNoZSBHZWJpZXRlKToKCiAtIEVzIGlzdCBtYW5jaG1hbCBleHRyZW0gc2Nod2VyLCBlaW5lbSBOUEMgenUgZW50cmluZ2VuLCB3b2JlaSBlcgogICB1ZWJlcmhhdXB0IEhpbGZlIGJyYXVjaHQuIEljaCBoYWJlIGphIG5pY2h0cyBnZWdlbiBzY2h3aWVyaWdlCiAgIEF1ZmdhYmVuLCBhYmVyIHdlbmlnc3RlbnMgYmVrb21tZW4gc29sbHRlIG1hbiBzaWUgaW4gbWVpbmVuIEF1Z2VuCiAgIGRvY2gga29lbm5lbi4gTWlyIHBlcnNvZW5saWNoIGZhZWxsdCBlcyBzY2h3ZXIsIHNvIGlucyBCbGF1ZQogICBoaW5laW4genUgcXVlc3RlbiAob2RlciBlaW5lbiBzY2h3ZXJlbiBaVCB6dSBmaW5kZW4pLCBpY2ggbW9lY2h0ZQogICBzY2hvbiBnZXJuIHdpc3Nlbiwgd29yYXVmIGljaCB6dXN0ZXVlcm4gbXVzcyBvZGVyIHdvbmFjaCBpY2gKICAgQXVzc2NoYXUgaGFsdGVuIGthbm4uCgogLSBBbiBtYW5jaGVuIFN0ZWxsZW4gKG9kZXIgaW4gbWFuY2hlbiBRdWVzdHMpIGdpYnRzIGRhcywgd2FzIGVpbmUKICAgRnJldW5kaW4gIlN5bnRheGdld2ljaHNlIiBuZW5udDogRXMgZ2lidCBlaW5lIGVpbnppZ2UgbW9lZ2xpY2hlCiAgIFN5bnRheCwgdW0gZXR3YXMgZ2FueiBiZXN0aW1tdGVzIHp1IGJld2Vya3N0ZWxsaWdlbiwgdW5kIHdlbm4gbWFuCiAgIGRpZSBuaWNodCBmaW5kZXQsIGhhdCBtYW4gdmVybG9yZW4uIE9mdCBpc3QgZGllc2UgU3ludGF4IGluIGZhbHNjaGUKICAgb2RlciBzY2hsZWNodGUgR3JhbW1hdGlrIGdlZmFzc3QsIG9kZXIgInNvIHNwcmljaHQgZG9jaCBuaWVtYW5kIi4KCiAtIERhc3MgaGllciBvZmZlbmJhciB3ZW5pZyBXZXJ0IGRhcmF1ZiBnZWxlZ3Qgd2lyZCwgYWxsZSBTdWJzdGFudGl2ZQogICBkZXIgUmF1bWJlc2NocmVpYnVuZyBhbHMgRGV0YWlscyBhdXN6dWdlc3RhbHRlbiwgaGFiZSBpY2ggamEKICAgaGluZ2Vub21tZW4gKGF1Y2ggd2VubiBpY2ggZGFzIG5pY2h0IGJlc29uZGVycyBzZXh5IGZpbmRlKS4KICAgRGFzcyBlcyBhYmVyIGdhbnplIEdlYmlldGUgZ2lidCwgd28gYmVzdGVuZmFsbHMgZWlucyB2b24gc2VjaHMgb2RlcgogICBzaWViZW4gaW4gZGVyIFJhdW1iZXNjaHJlaWJ1bmcgdm9ya29tbWVuZGVuIFN1YnN0YW50aXZlbiB1bnRlci0KICAgc3VjaGJhciBpc3QsIGVtcGZpbmRlIGljaCBlaW5lIFp1bXV0dW5nIGZ1ZXIgZGllamVuaWdlbiwgZGllIGRvcnQKICAgbmFjaCBMb2VzdW5nZW4gZm9yc2NoZW4gKG11ZXNzZW4vd29sbGVuKS4gRXMgZ2lidCBhdWNoIHJlaWNobGljaAogICBSYWV1bWUsIHdvIGtlaW4gV2VydCBkYXJhdWYgZ2VsZWd0IHd1cmRlLCBCb2Rlbi9XYW5kK1dhZW5kZS9EZWNrZQogICBiencuIEJvZGVuL0hpbW1lbC9Tb25uZSBhbHMgRGV0YWlsIHp1IGltcGxlbWVudGllcmVuLiBEaWUgTWVsZHVuZwogICAiU293YXMgc2llaHN0IER1IGRhIG5pY2h0ISIgaXN0IGplZGVuZmFsbHMgYXVmIERhdWVyIGZydXN0cmllcmVuZCwKICAgd2VubiBlcyB1bSBEaW5nZSBnZWh0LCBkaWUgbWFuIGxhdXQgUmF1bWJlc2NocmVpYnVuZyBzZWhyIHdvaGwKICAgc2llaHQuCgogLSBOaWNodCBnYW56IHNvIHVlYmVsIHdpZSBkaWUgUHVua3RlIG9iZW4sIGFiZXIgaW4gS29tYmluYXRpb24gbWl0CiAgIGlobmVuIG5vY2ggZWluIFZlcnN0YWVya2VyLUVmZmVrdDogTWl0IEN1dC1uLVBhc3RlIGVyemV1Z3RlIFd1ZXN0ZW4KICAgYXVzIG5haGV6dSBpZGVudGlzY2hlbiBSYWV1bWVuIChpbiBkZW5lbiBhYmVyICppcmdlbmR3byogZXR3YXMKICAgV2ljaHRpZ2VzIHZlcnN0ZWNrdCBpc3QpLiBNZWlzdCBzaW5kIGRhcyBkYW5uIGF1Y2ggZ2xlaWNoICp2aWVsZSoKICAgUmFldW1lLgoKCkljaCBoYWJlIGFic2ljaHRsaWNoIGtlaW5lIGtvbmtyZXRlbiBHZWJpZXRlIGdlbmFubnQsIGJlaSBkZW5lbiBtaXIKZGFzIHBhc3NpZXJ0IGlzdDsgaWNoIGRlbmtlLCBqZWRlciBTcGllbGVyIGthbm4gZGllIEx1ZWNrZW4gYXVzCmVpZ2VuZW0gRXJsZWJlbiBhdXNmdWVsbGVuLiBXZXIncyB0cm90emRlbSB3aXNzZW4gd2lsbCwga2FubiBtaWNoCmdlcm4gZnJhZ2VuLgoKQXVzc2VyZGVtIG1vZWNodGUgaWNoIGFubWVya2VuLCBkYXNzIGVzIGF1Y2ggR2ViaWV0ZSBnaWJ0LCBkaWUgd2lya2xpY2gKbGllYmV2b2xsIGdlc3RhbHRldCBzaW5kLCB1bmQgaW4gZGVuZW4gRm9yc2NoZW4sIFF1ZXN0ZW4gdW5kIFpUIHN1Y2hlbgpzZWhyIHZpZWwgU3Bhc3MgbWFjaGVuLiBEaWVzZSBHZWJpZXRlIHNpbmQgYXVjaCBkZXIgR3J1bmQsIHdhcnVtIGljaApoZXV0ZSBuYWNobWl0dGFnIG1laW5lbiBGcnVzdCBlcnN0bWFsIGhlcnVudGVyZ2VzY2hsdWNrdCB1bmQgbmljaHQKZW50bmVydnQgZGVtIE11ZCBkZW4gUnVlY2tlbiBnZWtlaHJ0IGhhYmUuIEFscyBwb3NpdGl2ZXMgQmVpc3BpZWwgdW5kCnN0ZWxsdmVydHJldGVuZCBmdWVyIGFuZGVyZSBtb2VjaHRlIGljaCBoaWVyIGFsc28gbWFsIGRhcyBTdGVybmVucXVlc3QtCkdlYmlldCBhbmZ1ZWhyZW4gLS0gZ3Jvc3NlcyBMb2IuCgoKVW5kIG51biBlbmRsaWNoIG1laW5lIEZyYWdlbjoKCkljaCB3ZWlzcywgZGFzcyBzb2xjaGUgRnJhZ2VuIGluIHZlcnNjaGllZGVuZW4gTXVkcyBzZWhyIHVudGVyc2NoaWVkbGljaApnZWhhbmRoYWJ0IHdlcmRlbi4gV2llIHNpZWh0IGRhcyBpbSBNRyBhdXMgLS0ga29lbm5lbiBlaW5tYWwgYW5nZS0Kc2NobG9zc2VuZSBHZWJpZXRlIG5vY2ggZ2VhZW5kZXJ0IHdlcmRlbiAod2VubiBlcyB1bSBtZWhyIGdlaHQgYWxzIHVtCkJ1Z2ZpeGVzKT8gVW5kIHdhZXJlbiBkaWUgUHVua3RlLCBkaWUgaWNoIG9iZW4gYW5nZWZ1ZWhydCBoYWJlLCBHcnVuZApnZW51ZyBmdWVyIGRpZSBlbnRzcHJlY2hlbmRlbiBNYWdpZXIsIHNpY2ggYXVjaCBub2NoZWlubWFsIGRyYW56dXNldHplbj8KCkVpbiBFcnppZSwgZGVuIGljaCB1bSBSYXQgZ2VmcmFndCBoYWJlLCBoYXQgbWljaCBnZWJldGVuLCBtaWNoIGRpcmVrdAphbiBkaWUgenVzdGFlbmRpZ2VuIE1hZ2llci9SZWdpb25zbWFnaWVyIHp1IHdlbmRlbiwgYWJlciBkYW5uIGhhZXR0ZSBpY2gKamV0enQgZWluZSBnYW56ZSBSZWloZSBhbnNjaHJlaWJlbiBtdWVzc2VuIC0tIHdpZSBzaWVodHMgYmVpIGRlbiBNYWdpZXJuCmF1cywgaXN0IGRhIHVlYmVyaGF1cHQgZW50c3ByZWNoZW5kZSAoa29uc3RydWt0aXZlKSBLcml0aWsgZXJ3dWVuc2NodD8KVW5kOiBJc3QgKk1pdGFyYmVpdCogaW4gc29sY2hlbiBGYWVsbGVuIGVyd3VlbnNjaHQ/CgoKRGFua2UgZnVlciBFdXJlIEdlZHVsZCwKRGVyaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChEYXJrbG9yLCAgNy4gSnVuIDIwMDcsIDE4OjM1OjA4KToKfiMhIHJuPURlcmluIHJ0PTExODEyMjgxMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTgxMjI4MTMyCkVzIGdpYnQgZGEgendlaSBzY2hvZW5lIEJlZmVobGUgbWQgdW5kIGlkZWUsIG1pdCBkZW5lbiBtYW4gZGllIE1hZW5nZWwgaW0gUmF1bQpkaXJla3QgYW5wcmFuZ2VybiBrYW5uc3QuIC0gQWJlciBpbiB3aWUgd2VpdCBkYXMgZWZmZWt0aXYgaXN0IHN0ZWh0IGF1ZiBlaW5lbQphbmRlcmVuIEJsYXR0LiAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChHbG9pbnNvbiwgIDcuIEp1biAyMDA3LCAxODozNzozNSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExODEyMzQxMDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTgxMjI4MTMyCkluc2Jlc29uZGVyZSBiZWkgImFsdGVuIEdlYmlldGVuIiAod28gZGVyIE1hZ2llciBkYW5uIG1laXN0IGF1Y2ggc2Nob24gbmljaHQKbWVociBoaWVyIGFud2VzZW5kIGlzdCkgaGlsZnQgZGFzIG5pY2h0IHZpZWwuIEVzIHNlaSBkZW5uLCBlcyBmaW5kZXQgc2ljaApqZW1hbmQsIGRhcyBHZWJpZXQgenUgdWViZXJhcmJlaXRlbiAuLi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChBcmssICA3LiBKdW4gMjAwNywgMjE6MzA6MjgpOgp+IyEgcm49RGVyaW4gcnQ9MTE4MTIyODEzMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODEyMjgxMzIKVGphLCBmcnVlaGVyIGhhdCBkYXMgZW50d2VkZXIga2VpbmVuIGdlc3RvZXJ0LCBvZGVyIG1hbiBpc3QgZGEgYW5kZXJzIG1pdApLcml0aWsgdW1nZWdhbmdlbiAoIkhldWwgZG9jaCIsICJMb2VzY2ggRGljaCIsIGV0Yy4gOi0pICkuIEZha3QgaXN0LCBuaWVtYW5kCmhpbmRlcnQgZWluZW4gTWFnaWVyLCBzaWNoIGRlbSBhbnp1bmVobWVuLCBudXIgc2luZCBlcyB3ZW5pZ2UsIHVuZCBkaWUgbWFjaGVuCmRhbm4gZWhlciB3YXMgc2VsYnN0LiBXZW5uIER1IGVzIG1hY2hlbiB3aWxsc3QsIGRhbm4gbWVsZGUgRGljaCBiZWltCmVudHNwcmVjaGVuZGVuIFJNIHVuZCBzcHJpY2ggRGljaCBtaXQgaWhtIGFiLiBMZXR6dGVyZXMgdHJhZWd0IHNpY2hlcgpGcnVlY2h0ZSwgYW5zb25zdGVuIHdpcmQgZGFzIG51ciBub2NoIHNwb3JhZGlzY2ggYW5nZWZhc3N0IChCdWdzKSwgd2VuaWdlcgpJbmZvcyBvZGVyIERldGFpbHMuIFdlbm4gYWVyZ2VybGljaGUgU3ludGF4ZW4gZGEgc2luZCwgbmVobWUgaWNoIG1pY2ggZ2VybmUKZGVzIFByb2JsZW1zIHNlbGJzdCBhbiAtPiBNYWlsLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChDaGFnYWxsLCAgNy4gSnVuIDIwMDcsIDIxOjQzOjA4KToKfiMhIHJuPUFyayBydD0xMTgxMjQ0NjI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4MTIyODEzMgpJY2ggYmluIHp3YXIgUk0gKFdhbGQpLCBhYmVyIG1pciBmZWhsdCBlaW5mYWNoIGRpZSBaZWl0LCBzYWVtdGxpY2hlCmFsdGVuIFdhbGRnZWJpZXRlIHp1IHVlYmVyYXJiZWl0ZW4uIEljaCBzdGVoZSBhYmVyIExldXRlbiwgZGllIHNpY2gKZGVyIFVlYmVyYXJiZWl0dW5nIGFuYmlldGVuIG9mZmVuIGdlZ2VudWViZXIsIG51ciBoYXQgc2ljaCBiaXNoZXIKYmVpIG1pciBrZWluZXIgZ2VtZWxkZXQuCgpadW0gVm9yc2NobGFnIG1pdCBtZCB1bmQgdHlwbzogU29sYW5nZSBkYXMgR2ViaWV0IG5pY2h0IGJ1Z2d0LCBzY2hhdSBpY2ggYWxzClJNIG51ciBzcG9yYWRpc2NoIGluIGRpZSBlbnRzcHJlY2hlbmRlbiBMb2dmaWxlcyBkZXIgaW5ha3RpdmVuCldhbGRtaXRhcmJlaXRlci4gVW5kIGRhbm4gZ3VjayBpY2ggZWggbnVyIG5hY2ggZGVuIFR5cG9zLCBmdWVyIGRlbiBSZXN0IGZlaGx0CmhhbHQgZGllIFplaXQgKHVuZCBkaWUgTHVzdCkuCgpNVgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChEYXJrbG9yLCAgNy4gSnVuIDIwMDcsIDIyOjEyOjM4KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTE4MTI0NTM4OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODEyMjgxMzIKQWxzIFNwaWVsZXI/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFnZSB6dW0gVmVyYmVzc2VybiB2b24gR2ViaWV0ZW4gKEdsb2luc29uLCAgNy4gSnVuIDIwMDcsIDIzOjUyOjA3KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE4MTI0NzE1OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODEyMjgxMzIKSmEsIFNwaWVsZXIga29lbm5lbiBhdWNoIERldGFpbHMsIEluZm9zIG9kZXIgZ2FyIENvZGUgc2NocmVpYmVuIHVuZCBTcGllbGVyCmJsZWliZW4uIEVzIG11c3Mgc2ljaCBudXIgZWluIE1hZ2llciB6dXIgWnVzYW1tZW5hcmJlaXQgZmluZGVuIC0gbWVpc3Qgc2luZApkYXMgRU1zIG9kZXIgUk1zLCBkaWUgZGFubiBvaG5laGluIGJlaSBlaW5lbSBNYWdpZXIgYXVjaCB1ZWJlciBkZW4gQ29kZSBndWNrZW4KbXVlc3N0ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJhZ2UgenVtIFZlcmJlc3Nlcm4gdm9uIEdlYmlldGVuIChIdW1uaSwgIDguIEp1biAyMDA3LCAwODo0OTo0Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTgxMjUzMTI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4MTIyODEzMgpJY2ggd29sbHRlIG51ciBmb2xnZW5kZXMgaGluenVmdWVnZW46CgpKYSwgZGllICJhbHRlbiIgR2ViaWV0ZSBzaW5kIHNvenVzYWdlbiBlaW5lICJBbHRsYXN0IiwgZGllIGRhcyBNRyBtaXQgc2ljaApydW10cmFlZ3QuIERhcyBoZWlzc3QgZWluZmFjaCBzb3ZpZWwsIGRhc3MgZGllc2UgR2ViaWV0ZSB6dSBlaW5lciBaZWl0Cmdlc2NocmllYmVuIHd1cmRlbiwgYWxzIERldGFpbHMgbm9jaCBuaWNodCBzbyB3aWNodGlnIHdhcmVuIGJ6dy4gbmljaHQgZnVlciBzbwp3aWNodGlnIGdlYWhsdGVuIHd1cmRlbiwgd2llIGF1Y2ggSW5mb3MuIERhcyBoYXQgc2ljaCBpbSBMYXVmZSBkZXIgemVpdApnZWFlbmRlcnQsIHdlbm4gbWFuIHouQi4gYmVydWVja3NpY2h0aWd0LCBkYXNzIGRpZSBGcmllZGhvZnNxdWVzdCBtYWwgYWxzICJkYXMKYmVzdGJlc2NocmllYmVuZSBHZWJpZXQgaW0gTUciIGdhbHQgdW5kIGRhcyBoZXV0ZSBzb3p1c2FnZW4gYWxzCk1pbmltYWxhbmZvcmRlcnVuZyBmdWVyIGVpbiBNZXR6ZWxsYXN0aWdlcyBHZWJpZXQgZ2lsdCAoc28gdW5nZWZhZWhyKS4uLgoKTnVuIGtvZW5udGUgbWFuIGhhbHQgbWVocmVyZSBEaW5nZSB0dW4uIE1hbiBrb2VubnRlIGRlIGFsdGVuIEdlYmlldGUgZWluZmFjaApiaXMgenUgZWluZXIgVWViZXJhcmJlaXR1bmcgYWJoYWVuZ2VuLiBEYXMgd2FlcmUgYWJlciByZWNodCBmYXRhbCwgZGEgZGFzIG9mdAp3aWNodGlnZSBWZXJiaW5kdW5nc3dlZ2Ugc2luZCBiencgZGEgTW9uc3RlciBybm1zdGVoZW4sIGRpZSBtYW4gc29uc3QgaW1tZXIKZ2VybmUgbWFsIHVtZ2VoYXVlbiBoYXQgYnp3LiBtYW4gZGFubiBRdWVzdHMgLSBzbyAidW5zY2hvZW4iIHNpZSBhdXMgaGV1dGlnZXIKU2ljaHQgYXVzc2VoZW4gbW9lZ2VuIC0gbmljaHQgbWVociBzcGllbGVuIGthbm4uICJEZXIgaGF0IGRpZSBRdWVzdCwgaWNoIGthbgpzaWUgbmljaHQgbWVociBzcGllbGVuLCBkYXMgaXN0IHVuZmFpciIuLgoKTnVuIG11c3MgbWFuIGFiZXIgYXVjaCBNYWdpZXIgZmluZGVuLCBkaSBkYXMgdHVuLiBVbmQgZGEgYmluIGljaCBnYW56IG9mZW46CkljaCBoYWJlIHZpZWwgSWRlZW4gdW5kIHp1IHdlbmlnIFplaXQsIHVtIGF1Y2ggbnVyIGVpbiBEcml0dGVsIGRhdm9uIHdpcmtsaWgKdW16dXNldHplbi4gVW5kIGljaCBoYWJlIGVpbmZhY2gga2VpbiBMdXN0LCBhbHRlIGdlYmlldGUgenUgdWViZXJhcmVpdGVuLCB3ZW5uCmljaCBhdWNoIG5ldWUgc2NocmVpYmVuIGthbm4uIFVuZCBpY2ggZ2xhdWJlLCBkYSBiaW4gaWNoIG5pY2h0IGRlciBlaW56aWdlLgoKQWJlciB3ZW5uIER1IHdpcmtsaWNoIHdhcyBtYWNoZW4gd2lsbHN0IC0gZmVlbCBmcmVlLCB3ZW5uIER1IGVpbiBwYWFyCihwYXNzZW5kZSkgRGV0YWlscyB6LkIuIGluIFBvbGFycmFldW1lICh3ZWlsIGljaCBkYSBSTSBiaW4pIGVpbmJhdWVuIHdpbGxzdCwKaWNoIHN0ZWhlIGdlcm5lIG1pdCBSYXQgdW5kIFRhdCB6dXIgU2VpdGUgOy0pCgpGdWVyIHdpcmtsaWNoZSBlaWdlbmUgR2ViaWV0ZSBzb2xsdGUgbWFuIGluZGVzIGluIGRlciBUYXQgTWFnaWVyIHdlcmRlbi4gQWJlcgpkYXMgaXN0IGphIHdhcyBhbmRlcmVzLgoKWnVyIFN5bnRheHdpY2hzZXJlaSBoYXQgQXJrIGphIHNjaG9uIHdhcyBnZXNhZ3QuCgpIdW1uaQpQUzogSWNoIHNpdHplIGFuIGVpbmVyIGxhbmdzYW1lbiBOZXR6dmVyYmluZHVuZyB1bmQgaGFiIFRpcHBwcm9ibGVtZSBhdWYgZW5pZXIKbmljaHQgZ2FueiBnZXdvaG50ZW4gVGFzdGF0dXIsIG1hbiB2ZXJ6ZWloZSBtaXIgZGllcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZyYWdlIHp1bSBWZXJiZXNzZXJuIHZvbiBHZWJpZXRlbiAoSnVzdGF2aXVzLCAgOC4gSnVuIDIwMDcsIDEyOjE1OjExKToKfiMhIHJuPUh1bW5pIHJ0PTExODEyODUzODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTgxMjI4MTMyCkFsc28gaWNoIGthbm4gaGllciBudXIgbWVpbmVuIFNlbmYgaW0gZGF6dWdlYmVuLCB3aWUgZXMgemIgaW0gU0wgZ2VoYW5kaGFidAp3aXJkOgpXZW5uIGVzIHNvZ2FyIE1hZ2llcm4gdW5ndXQgYXVmZmFlbGx0LCBkYXNzIGVpbiBHZWJpZXQgKG9kZXIgZWluIFRlaWwgZGF2b24pCm5pY2h0IHdpcmtsaWNoIGd1dCBiZXNjaHJpZWJlbiBpc3QgKCJTb3dhcyBzaWVoc3QgRFUgbmljaHRbRER1IG5pY2h0Ii1PcmdpZSksCndlcmRlbiB1bnRlciBhbmRlcmVtIHNvZ2FyIFNwaWVsZXIgZ2VmcmFndCwgb2IgZGllIGRhcyBuaWNodCB1ZWJlcm5laG1lbgp3b2xsZW4gbWl0IGRlbSB1ZWJlcmFyYmVpdGVuIChkaWUgaGFiZW4gZXJmYWhydW5nc2dlbWFlc3MgbWVociBaZWl0IGFscwpNYWdpZXIsIHdhcnVtIGF1Y2ggaW1tZXIgOikgKQpFcyBrb21tdCB6d2FyIGhpbiB1bmQgd2llZGVyIHZvciBkYXMgbWFuIGJlaSBzb2xjaGVuIFVlYmVyYXJiZWl0dW5nZW4gd2FzCm5ldWVzIHVlYmVyIGVpbiBHZWJpZXQgZXJmYWVocnQsIGFiZXIgZGFzIGhhZWx0IHNpY2ggaW0gTWluaW1hbHN0YmVyZWljaCB1bmQKYW0gRW5kZSBrb21tdCB6dSA5OSUgd2FzIGJlc3NlcmVzIHJhdXMgYWxzIHZvcmhlci4KCkp1c3QsIG15MmNlbnRzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGcmFnZSB6dW0gVmVyYmVzc2VybiB2b24gR2ViaWV0ZW4gKERlcmluLCAgOC4gSnVuIDIwMDcsIDEyOjQ2OjA3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExODEyNTMxMjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTgxMjI4MTMyCkhpIQoKRXJzdG1hbCBtb2VjaHRlIGljaCBtaWNoIGZ1ZXIgZGllIHZpZWxlbiBhdXNuYWhtc2xvcyBwb3NpdGl2ZW4gdW5kCmZyZXVuZGxpY2hlbiBBbnR3b3J0ZW4gdW5kIFRNcyBiZWRhbmtlbi4gSWNoIGJpbiBzY2h3ZXIgYmVlaW5kcnVja3QsCmRhcyBoYXR0ZSBpY2ggZ2FyIG5pY2h0IGVyd2FydGV0LiBEYW5rIGF1Y2ggdW5kIHZvciBhbGxlbSBhbiBkaWUKSGlsZmUsIGRpZSBtaXIgdm9uIHZlcnNjaGllZGVuZW4gTWFnaWVybiBhbmdlYm90ZW4gd3VyZGUuCgpCZXNvbmRlcmVyIERhbmsgYW4gTWVzaXJpaS4gV2VubiBhbGxlcyBrbGFwcHQgd2llIGdlcGxhbnQsIHdlcmRlbgplaW5pZ2UgU3RlbGxlbiBpbiBlaW5lbSBhbHRlbiBHZWJpZXQgZGVtbmFlY2hzdCBob2ZmZW50bGljaCBldHdhcwphbmdlbmVobWVyIHp1IHNwaWVsZW4gc2Vpbi4gOikKCgpCaXMgYmFsZCwKRGVyaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmlzY2hlciBXdWVzdGVud2luZCBpbiBWYWxnZXNzYSEgKERlcmluLCAxMS4gSnVuIDIwMDcsIDAwOjA2OjEyKToKSGkgenVzYW1tZW4sCgp3aWUgc2Nob24gYW5nZWRldXRldCwga29ubnRlIGljaCBkZW0gQW5nZWJvdCBlaW5lcyBSZWdpb25zbWFnaWVycyBuaWNodAp3aWRlcnN0ZWhlbiB1bmQgaGFiZSBqZXR6dCBkaWUgUGZsZWdlIGVpbmVzIHZlcndhaXN0ZW4gR2ViaWV0ZXMgdWViZXItCm5vbW1lbiAtLSBkaWUgV3Vlc3RlbnN0YWR0IFZhbGdlc3NhLgoKWnVuYWVjaHN0IHdlcmRlbiBkaWUgQWVuZGVydW5nZW4gdmVybXV0bGljaCBrYXVtIGZ1ZXIgU3BpZWxlciBiZW1lcmtiYXIKc2VpbiwgZGEgaWNoIGdlcmFkZSBlaW5pZ2UgZ3J1bmRsZWdlbmRlIFJlcGFyYXR1cmVuIGFuIGRlbiBGaWxlcyB2b3JuZWhtZSwgCmFiZXIgaW4gZGllc2VtIFN0YWRpdW0gd2VuaWcgYW4gZGVyIEZ1bmt0aW9uYWxpdGFldCBhZW5kZXJuIG1vZWNodGUuIChJbgpkaWVzZXMgU3RhZGl1bSBmYWVsbHQgYXVjaCBkaWUgYmxpbmRlbmZyZXVuZGxpY2hlIEdlc3RhbHR1bmcgZWluZXIgQXNjaWktCkFydC4pIEFscyBuYWVjaHN0ZXIgU2Nocml0dCBzdGVoZW4gbWVociBEZXRhaWxzIGZ1ZXIgZGllIFJhZXVtZSBhbi4gRGFuYWNoCm1vZWNodGUgaWNoIG5hY2ggdW5kIG5hY2ggZWluZSBrbGVpbmUgU2VyaWUgTWluaS1RdWVzdHMgaW4gZGFzIEdlYmlldAplaW5iYXVlbi4KCkFsc28sIHdlbm4gSWhyIGVpbmUgZ3V0ZSBJZGVlIGZ1ZXIgZGllIEdlZ2VuZCBoYWJ0LCBkYW5uIHNjaGlja3QgbWlyIGJpdHRlCmVpbmUgTXVkbWFpbC4gQWJlciB2aWVsIHdpY2h0aWdlcjogd2VubiBFdWNoIGV0d2FzIGluIFZhbGdlc3NhICpuaWNodCoKZ2VmYWVsbHQgb2RlciBnYXIgbmVydnQsIGRhbm4gc2NoaWNrdCBtaXIgYml0dGUgZWluZSBNdWRtYWlsLgoKCkRhbmtlc2Nob2VuLApEZXJpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmlzY2hlciBXdWVzdGVud2luZCBpbiBWYWxnZXNzYSEgKEVubm94LCAxMS4gSnVuIDIwMDcsIDAwOjE5OjE4KToKfiMhIHJuPURlcmluIHJ0PTExODE1MTMxNzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTgxNTEzMTcyCkRhbmtlc2Nob2VuLCBmdWVyIERlaW4gRW5nYWdlbWVudC4gVmllbGxlaWNodCBmaW5kZW4gc2ljaCBqYSBhdWNoIG5vY2ggYW5kZXJlClNwaWVsZXIsIGRpZSBzbyBkYXp1IGJlaXRyYWdlbiBrb2VubmVuLCBkYXNzIGF1Y2ggYWVsdGVyZSBHZWJpZXRlIHdpZWRlcgpldHdhcyBhdWZnZXdlcnRldCB3ZXJkZW4uCgpFbm5veCwgamVuZXIgUmVnaW9uc21hZ2llcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmlzY2hlciBXdWVzdGVud2luZCBpbiBWYWxnZXNzYSEgKEx1ZywgMTUuIEp1biAyMDA3LCAyMTozNjo1NSk6Cn4jISBybj1Fbm5veCBydD0xMTgxNTEzOTU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4MTUxMzE3MgpBcmdoLCBpY2ggd2lsbCBuaWNodCwgYWJlciBrYW5uIGF1Y2ggbmljaHQgYW5kZXJzOiBIZXVsZCBkb2NoIChjKSBLZXksIExvZXNjaApEaWNoIQoKQWgsIGpldHp0IGlzdCBiZXNzZXIuCgpLb25zdHJ1a3RpdgpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZyYWdlIHp1bSBWZXJiZXNzZXJuIHZvbiBHZWJpZXRlbiAoUGFkcmVpYywgMjAuIEp1biAyMDA3LCAyMDowODowNik6Cn4jISBybj1EZXJpbiBydD0xMTgxMjk5NTY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4MTIyODEzMgpJaHIgbW9lZ3QgZXMga2F1bSBnbGF1YmVuLCBhYmVyIHp1IEJlZ2lubiBkZXMgTW9yZ2VuR3JhdWVucyBnYWIgZXMgbm9jaCBnYXIKa2VpbmUgRGV0YWlscy4gV29sbHRlIGVpbiBNYWdpZXIgZXR3YXMgaW0gUmF1bSB1bnRlcnN1Y2hiYXIgbWFjaGVuLCBtdXNzdGUgZXIKaGllcmZ1ZXIgZXh0cmEgZGVuIEJlZmVobCAidW50ZXJzdWNoZSIgaW0gUmF1bSBpbXBsZW1lbnRpZXJlbi4KSWNoIGRlbmtlIG5pZW1hbmQgd3JkZSBoZXV0ZSBtZWhyIGRpZSBsZWdlbmRhZXJlbiBOaWJlbHVuZ2VuaG9laGxlbiBkaWUgd2VkZXIKQm9kZW4gbm9jaCBEZWNrZSBrZW5uZW4gYW5oYWVuZ2VuIChpY2ggZ2xhdWIgZGllIHd1cmRlbiBhYmVyIGlyZ2VuZHdhbm4gbWFsIHUKdWViZXJhcmJlaXRldCkgYWJlciBEdSBzaWVoc3QgYW4gZGVuIEdlYmlldGVuIGRpZSBIaXN0b3JpZSBkZXMgTW9yZ2VuR3JhdWVucy4KCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGcmFnZSB6dW0gVmVyYmVzc2VybiB2b24gR2ViaWV0ZW4gKEJvaW5nLCAyMS4gSnVuIDIwMDcsIDA4OjU1OjI1KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTE4MjM2Mjg4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODEyMjgxMzIKVm9lbGxpZ2VyIEJsb2Vkc2lubiAuLi4gQWRkRGV0YWlsKCkga2FtIG1pdCBkZXIgTkYyIGxpYiBtaXQuCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGcmFnZSB6dW0gVmVyYmVzc2VybiB2b24gR2ViaWV0ZW4gKFBhZHJlaWMsIDEwLiBKdWwgMjAwNywgMjA6MTA6MjMpOgp+IyEgcm49Qm9pbmcgcnQ9MTE4MjQwODkyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODEyMjgxMzIKQWxzbyBpbiBGZXJud2VzdCBnYWIgZXMgc2VpbmVyemVpdCBhYmVyIG5vY2ggZGl2ZXJzZSBSYWV1bWUgZGllIHNvd2FzIHdpZQoidW50ZXJzdWNoZSIgbWl0IGFkZF9hY3Rpb24gaW50ZWdyaWVydCBoYXR0ZW4uLi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN5c3RlbSBBZG1pbmlzdHJhdG9yIEFwcHJlY2lhdGlvbiBEYXkgKFpvb2ssIDI3LiBKdWwgMjAwNywgMTI6MjE6MDUpOgpodHRwOi8vd3d3LnN5c2FkbWluZGF5LmNvbQoKQWxzbywganViZWx0IGRpZSBNRy1TeXN0ZW1hZG1pbnMgbWFsIG9yZGVudGxpY2ggYW4hIDspIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTeXN0ZW0gQWRtaW5pc3RyYXRvciBBcHByZWNpYXRpb24gRGF5IChDb25hciwgMjcuIEp1bCAyMDA3LCAxMjoyMzoxMSk6Cn4jISBybj1ab29rIHJ0PTExODU1MzE2NjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg1NTMxNjY1Ckp1YmVsLCBKdWJlbCwgSWhyIG1hY2h0IGRhcyB0b2xsCiprbnVkZGVsIGFuIGFsbGVzIFN5c2FkbWlucyoKR3J1c3MgQ29uYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3lzdGVtIEFkbWluaXN0cmF0b3IgQXBwcmVjaWF0aW9uIERheSAoVmFtcGlyZSwgMjcuIEp1bCAyMDA3LCAxMjoyNzo0Nik6Cn4jISBybj1Db25hciBydD0xMTg1NTMxNzkxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NTUzMTY2NQpNaXIgaXN0IGRhcyB3dXJzY2h0LAoKaWNoIHdlcmRlIG51biBtZWluZSBBZG1pbiBTdGVsbHVuZyBoZXV0ZSBGZWllcmFiZW5kIG1hY2hlbiB1bmQgZGFzIFdvY2hlbmVuZGUKZ2VuaWVzc2VuLgoKVmFtcGlyZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3lzdGVtIEFkbWluaXN0cmF0b3IgQXBwcmVjaWF0aW9uIERheSAoQWxib2luLCAyNy4gSnVsIDIwMDcsIDEyOjI4OjUyKToKfiMhIHJuPVZhbXBpcmUgcnQ9MTE4NTUzMjA2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODU1MzE2NjUKR2VuYXUsIHp1ciBGZWllciBkZXMgVGFnZXMgc29sbHRlIHdlbmlnc3RlbnMgZWlubWFsIHJlYm9vdGV0IHdlcmRlbi4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYW50b3UgaXN0IGpldHp0IGVpbmUgU2VoZXJpbiEgKE1haGFyZXQsICAyLiBBdWcgMjAwNywgMDk6MDY6MjUpOgp+IyEgcm49TWVybGluIHJ0PTExODU5OTk4OTQgcmc9c3R1ZmVuCn4jISB0aWQ9MTE4NTk5OTg5NApHcmF0cyBkZW0gZXJzdGVuIEhhcmRjb3JlLVNlaGVyIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSYW50b3UgaXN0IGpldHp0IGVpbmUgU2VoZXJpbiEgKE1lc2lyaWksICAyLiBBdWcgMjAwNywgMDk6NTM6MTQpOgp+IyEgcm49TWFoYXJldCBydD0xMTg2MDM4Mzg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NTk5OTg5NApXaXJrbGljaCBiZWVpbmRydWNrZW5kLgpNZXNpLCBkZXIgbnVuIGF1ZiBlaW5lIGFrdHVhbGlzaWVydGUgS2FydGUgaG9mZnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJhbnRvdSBpc3QgamV0enQgZWluZSBTZWhlcmluISAoTW9vbnNoaW5lLCAgNC4gQXVnIDIwMDcsIDAwOjM3OjMwKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE4NjA0MTE5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODU5OTk4OTQKRWluZSBha3R1YWxpc2llcnRlIEthcnRlIGVpbmVzIEhDLVNlaGVycz8KRGEgc2luZCBkb2NoIGVoIG51ciByb3RlIEtyZXV6ZSBkcmF1ZiAiRGEgbmljaHQgaGluZ2VoZW4sIGthbm4gYXVhIG1hY2hlbiEiCjpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmFudG91IGlzdCBqZXR6dCBlaW5lIFNlaGVyaW4hIChEYXJrbG9yLCAgNC4gQXVnIDIwMDcsIDAxOjA2OjM5KToKfiMhIHJuPU1vb25zaGluZSBydD0xMTg2MTgwNjUwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NTk5OTg5NApIZXksIGRhcyBpcyBiZXNvbmRlcnMgZnVlciBzdGVyYmV1bndpbGxpZ2UgQ2hhcmFzIGludGVyZXNzYW50Li4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSYW50b3UgaXN0IGpldHp0IGVpbmUgU2VoZXJpbiEgKE1vb25zaGluZSwgIDQuIEF1ZyAyMDA3LCAwMToxMDo0MCk6Cn4jISBybj1EYXJrbG9yIHJ0PTExODYxODIzOTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg1OTk5ODk0CkRhbm4gYmxlaWIgenUgSGF1c2UuIDstKQoKQWxzbyBlaW4gRXJzdHNwaWVsZXIgc29sbHRlIHN0ZXJiZW4sIEhDIGlzdCBlYmVuIG51ciBlaW5lIFNwaWVsd2llc2UgZnVlcgpnZWxhbmd3ZWlsdGUgWC1TZWhlciwgZGllIHNvbnN0IG5pY2h0cyBtZWhyIHp1IHR1biBoYWJlbi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSYW50b3UgaXN0IGpldHp0IGVpbmUgU2VoZXJpbiEgKERhcmtsb3IsICA0LiBBdWcgMjAwNywgMDE6MTI6MzApOgp+IyEgcm49TW9vbnNoaW5lIHJ0PTExODYxODI2NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg1OTk5ODk0CkVzIGdpYnQgbWFuY2htYWwgYXVjaCBMZXV0ZSBtaXQgTGFuZ2V3ZWlsZSwgZGllIG4gcGFhciBuZXVlIFRvZGUgc3VjaGVuIDspCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSYW50b3UgaXN0IGpldHp0IGVpbmUgU2VoZXJpbiEgKEZlaWdsaW5nLCAgNi4gQXVnIDIwMDcsIDE2OjQwOjA5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE4NjE4Mjc1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODU5OTk4OTQKRGVyIHZvbGxlIE5hbWVuIGdpYnQgbWlyIHp1IGRlbmtlbjoKClJhbnRvdSBkZXIga2xlaW5lIEZlaWdsaW5nCgpoYWIgaWNoIHZlcmdlc3NlbiBlaW4gdG0gYW56dW1lbGRlbj8gOy0pCgpGZWlnbGluZyAoZGVyIGdyb3NzZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic3RpbW11bmcgTUctTG9nbyAoTGlhcmEsIDE4LiBBdWcgMjAwNywgMjI6NTY6MDcpOgpIYWxsbyB6dXNhbW1lbiEKClVtIGVpbmUgcmVnZSBCZXRlaWxpZ3VuZyBhbiBkZXIgQWJzdGltbXVuZyB1ZWJlciBkYXMgTUctTG9nbyB6dSBlcnJlaWNoZW4sCnNjaHJlaWJlIGljaCBhdWNoIGhpZXIgbWFsIGVpbmVuIEFydGlrZWwuCgpEaWUgRGlza3Vzc2lvbiBmYW5kIGJpc2hlciBpbiBkZXIgUnVicmlrIE9lZmZlbnRsaWNoa2VpdHNhcmJlaXQgc3RhdHQuCkRpZSBWb3JzY2hsYWVnZSBmaW5kZXQgaWhyIHVudGVyIGRlbSBMaW5rOgpodHRwOi8vd2lraS5tb3JnZW5ncmF1ZW4uaW5mby9pbmRleC5waHA/bj1XZXJidW5nLkxvZ28KCkVzIGdlaHQgZGFydW0sIGVpbiBMb2dvIHp1IGZpbmRlbiwgd2FzIGRpZSBCZXRyYWNodGVuZGVuIHp1bSBTcGllbGVuIGltCk1vcmdlbkdyYXVlbiBlcm11bnRlcnQuIERpZSBFbnR3aWNrbHVuZyBrYW5uIG1hbiBhdWYgZGVyIHZlcmxpbmt0ZW4gU2VpdGUgZ2FuegpndXQgbmFjaHZvbGx6aWVoZW4gdW5kIGF1Y2ggaW4gJ09lZmZlbnRsaWNoa2VpdHNhcmJlaXQnIG5hY2hsZXNlbi4KCkJpdHRlIHNjaHJlaWJ0IGRpZSBOdW1tZXIgb2RlciBOdW1tZXJuIGV1cmVzIEZhdm9yaXRlbnMgaGllciBpbiBkaWUgTVBBLiBJY2gKd2VyZGUgZWluZSBMaXN0ZSBtYWNoZW4sIGRhbWl0IHdpciBkaWUgemFobHJlaWNoZW4gVm9yc2NobGFlZ2UgZWluZ3Jlbnplbgprb2VubmVuLgoKRGllIEFydGlrZWwgdm9uIFplc3N0cmEsIEdhYnlsb24sIFNlZ2ltZXIgdW5kIERob2pha3QgKGluCk9lZmZlbnRsaWNoa2VpdHNhcmJlaXQpIGhhYiBpY2ggYmVyZWl0cyBiZXJ1ZWNrc2ljaHRpZ3QuCkFMTEUgYW5kZXJlbiAoYXVjaCB3ZW5uIE1laW51bmcgc2Nob24gbXVlbmRsaWNoIG9kZXIgdm9yaGVyIGlyZ2VuZHdvCnNjaHJpZnRsaWNoIGt1bmRnZXRhbikgYml0dGUgaWNoLCBoaWVyIG5vY2ggZWluZW4gQXJ0aWtlbCB6dSBzY2hyZWliZW4uCgpaWkwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnN0aW1tdW5nIE1HLUxvZ28gKEtlc3NhLCAxOC4gQXVnIDIwMDcsIDIzOjA2OjQzKToKfiMhIHJuPUxpYXJhIHJ0PTExODc0NzA1Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CjEyIHVuZCAxMywgZGllIGF1c2dlc3Byb2NoZW5lbiBUcmliYWwtVGF0dG9vLVZvcnNjaGxhZWdlIGZpbmRlIGljaCBqZXR6dCBnZW5hdQpkYXM6IHp1IHRyaWJhbC10YXR0b28tbWFlc3NpZy4gRGllIHNlaGVuIGF1cyB3aWUgZWluZSBXZXJidW5nIGZ1ZXIgZWluZW4KVGF0dG9vLVNob3AsIG5pY2h0IGZ1ZXIgZWluIE11ZC4KCjE2IGIgZmluZGUgaWNoIGJlc3NlciwgZGFzIGhhdCB3YXMgcmljaHRpZyBjaGFyYWt0ZXJpc3Rpc2NoZXMuIElzdCBtaXIgbnVyCmV0d2FzIHp1IGdyaW1taWcsIGljaCBnbGF1YmUsIGljaCB3dWVyZGUgbWljaCBkYXZvbiBuaWNodCBzbyAnZWluZ2VsYWRlbicKZnVlaGxlbi4KCkZhdm9yaXQ6IDE3IGEvYywga2FubiBtaWNoIG5vY2ggbmljaHQgZW50c2NoZWlkZW4sIHdlbGNoZXMgbWlyIGJlc3NlcgpnZWZhZWxsdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFic3RpbW11bmcgTUctTG9nbyAoUGVyZGl0YSwgMTkuIEF1ZyAyMDA3LCAyMTo0ODo1NCk6Cn4jISBybj1LZXNzYSBydD0xMTg3NDcxMjAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwphbHNvLCBkaWUgMTdlci1SZWloZSwgaW5zYmVzb25kZXJlIGIgdW5kIGQsIG1vZWdlbiB6d2FyIG5pZWRsaWNoIHNlaW4sIHNlaGVuCmZ1ZXIgbWljaCBhYmVyIGRlZmluaXRpdiBuYWNoIFVybWVsIGF1cy4gSWNoIGZpbmRlLCBkYXMgd2Vja3QgZmFsc2NoZQpBc3NvemlhdGlvbmVuLCBhdWNoIHdlbm4gZXMgaGllciBpbSBTcGllbCBkaWUgVGl0aXd1LVF1ZXN0IGdpYnQuCkljaCBoYWJlIHBlcnNvZW5saWNoIG5peCBnZWdlbiBkYXMgVXJtZWwgKGltIEdlZ2VudGVpbCksIGFiZXIgYWxzIE1HLUxvZ28gZmluZAppY2gncyB1bnBhc3NlbmQuCgpUamEsIHdlbGNoZSBWZXJzaW9uIHd1ZXJkZSBtaXIgYW0gYmVzdGVuIGdlZmFsbGVuPyBTaW5kIGphIHNjaG9uIHdpZWRlciBzbwp2aWVsZSBkYXp1Z2Vrb21tZW4uLi4uCgpBbHNvLCA4IHVuZCA5IGdlZmFsbGVuIG1pciBuYWNoIHdpZSB2b3Igc2VociBndXQuCkFuc29uc3RlbiBmaW5kZSBpY2gsIGRhc3MgZXMgaW1tZXIgc2Nod2VyZXIgd2lyZCwgc2ljaCB6dSBlbnRzY2hlaWRlbiwgd2VpbCBlcwpqYSBkb2NoIGVpbmUgTWVuZ2UgVm9yc2NobGFlZ2Ugc2luZCwgZGllIChmYXN0KSBhbGxlIGlyZ2VuZHdhcyBoYWJlbi4uLgoxN2YgaGF0IG5lbiBnYW56IG5ldHRlbiBLb3BmLCBkZXIgc2llaHQgd2VkZXIgenUgdXJtZWxpZyBhdXMgbm9jaCB6dSBmaWVzLgpBbHNvIGlyZ2VuZHdvIGVpbmUgZ2VzdW5kZSBNaXNjaHVuZy4KClBlcmRpdGEgLSBmaW5kZXQgRW50c2NoZWlkdW5nZW4gZ3J1bmRzYWV0emxpY2ggc2Nod2llcmlnIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWJzdGltbXVuZyBNRy1Mb2dvIChTZWdpbWVyLCAxOS4gQXVnIDIwMDcsIDIxOjUxOjQxKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE4NzU1MjkzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKU3RpbW10LCAxN2YgaXN0IGluIGRlciBUYXQgc2VociBuZXR0LCBzY2hvbiByZWNodCBkcmFjaGlnIGFiZXIgYXVjaCBuaWNodCBtaXQKenUgdmllbGVuIFphZWhuZW4gYXVzZ2VzdGF0dGV0LiBMb2VodCBzaWNoIHJpY2h0aWcsIGRhIG9lZnRlcnMgbWFsIGF1ZiBkaWUKU2VpdGUgenUgZ3Vja2VuIDopLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWJzdGltbXVuZyBNRy1Mb2dvIChBcmssIDE5LiBBdWcgMjAwNywgMjE6NTU6NTIpOgp+IyEgcm49U2VnaW1lciBydD0xMTg3NTUzMTAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpOYWphLCBzaWVodCBkZW5ub2NoIG1heGltYWwgd2llIGVpbiBTY2hha2FsIGF1cyAuLi4gRHJhY2hlbiBtaXQga2FudGlnZW4sCnNhdXJpZXJoYWZ0ZW4gU2NoYWVkZWxuIHdpZSAxNmEvYiBrb21tZW4gbWVpbmVuIFZvcnN0ZWxsdW5nZW4gZWhlciBuYWVoZXIuIFVuZApIb2VybmVyIHNpbmQgZmFzdCBzY2hvbiBQZmxpY2h0IC4uLiBvYndvaGwgZGllIGIgVmFyaWFudGUgZWluZW0gU2F1cmllciBzY2hvbgpyZWNodCBndXQgZ2xlaWNodCwgdmVybGVpaGVuIGRpZSBIb2VybmVyIGRlbSBEcmFjaGVuIGVyc3Qgd2FzIGRhZW1vbmlzY2gKTXlzdGlzY2hlcy4gQmxhIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFic3RpbW11bmcgTUctTG9nbyAoTGlhcmEsIDE5LiBBdWcgMjAwNywgMjI6MTQ6MjIpOgp+IyEgcm49QXJrIHJ0PTExODc1NTMzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CkhhbGxvZWNoZW4hCgpHZXJhZGUgd3VyZGUgbWlyIGdlc2FndCwgZGFzcyBtZWluZSBCaWxkZXIgbmljaHQgZnVlciBhbGxlIHNpY2h0YmFyIHNpbmQuIEVzCmxpZWd0IHdvaGwgZGFyYW4sIGRhc3Mgc2llIGJlaSBNZXNpcmlpIGltIFZlcnplaWNobmlzIFdlcmJ1bmcgbGllZ2VuIHVuZApkZXNoYWxiIGR1cmNoIEFkLUJsb2NrZXIgbmljaHQgYW5nZXplaWd0IHdlcmRlbi4KCkljaCB3ZXJkZSBtYWwgTWVzaXJpaSBmcmFnZW4sIG9iIGVyIGRhcyBhZW5kZXJuIGthbm4uIFNvbGFuZ2UgYml0dGUgZGllClByb2dyYW1tZSBmdWVyIGRpZSBTZWl0ZSBhdXNzdGVsbGVuLiA6KQoKSWNoIGZpbmRlIHVlYnJpZ2VucyBhdWNoLCBkYXNzIGRpZSBFbnRzY2hlaWR1bmcgaW1tZXIgc2Nod2VyZXIgd2lyZCwgd2VpbAp2aWVsZSBndXRlIFZvcnNjaGxhZWdlIGRhenVnZWtvbW1lbiBzaW5kLgpJY2ggbWFnIDE3IGYsIGFiZXIgYXVjaCAxNiBhLgoKWlpMCgpQLiBTLjogRGEgd2lyIGZ1ZXIgZGllIFdlYnNlaXRlIHNpY2hlciBhdWNoIG1laHIgYWxzIGVpbiBzY2hvZW5lcyBCaWxkCmJyYXVjaGVuLCBrb2VubnRlIGljaCBtaXIgZHVyY2hhdXMgdm9yc3RlbGxlbiwgbWVociBhbHMgZWluIExvZ28gZGFmdWVyIHp1CnZlcndlbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFic3RpbW11bmcgTUctTG9nbyAoQW15bnRob3IsIDE5LiBBdWcgMjAwNywgMjI6NTk6NTgpOgp+IyEgcm49QXJrIHJ0PTExODc1NTMzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3Cj4gRHJhY2hlbiBtaXQga2FudGlnZW4sIHNhdXJpZXJoYWZ0ZW4gU2NoYWVkZWxuIHdpZSAxNmEvYiBrb21tZW4gbWVpbmVuCj4gVm9yc3RlbGx1bmdlbiBlaGVyIG5hZWhlci4gVW5kIEhvZXJuZXIgc2luZCBmYXN0IHNjaG9uIFBmbGljaHQgLi4uCgpTZWhlIGljaCBlaWdlbnRsaWNoIGdhciBuaWNodCBzbywgaW0gR2VnZW50ZWlsLiBFaW5lbiBEcmFjaGVuIGF1ZiBkYXMKc2NocmVja2xpY2hlIGJvZXNlIE1vbnN0ZXIgenUgcmVkdXppZXJlbiwgbGllZ3QgendhciBpcmdlbmR3byBpbiBkZXIKVHJhZGl0aW9uIHZvbiBDb21wdXRlcnNwaWVsZW4sIHdpcmQgaWhtIGFiZXIgSU1ITyBuaWNodCBnZXJlY2h0LgoKRnVlciBtaWNoIGdlaG9lcnQgenVtIFdlc2VuIGVpbmVzIERyYWNoZW4gdHJvdHogKG9kZXIgZ2VyYWRlIHdlZ2VuKSBzZWluZXIKU2NocmVja2xpY2hrZWl0IGVpbmUgZ2V3aXNzZSBFbGVnYW56LCBqYSBiZWluYWhlIFNjaG9lbmhlaXQuIEltIE1vcmdlbkdyYXVlbgpzaW5kIERyYWNoZW4gendhciBTY2hsYWNodG9iamVrdGUsIGFiZXIgd2VubiBtYW4gaW4gQnVlY2hlciBzY2hhdXQsIHNpZWh0CmRhcyBtYW5jaG1hbCBnYW56IGFuZGVycyBhdXMgKGF1c3NlciBpbiBIYXJyeSBQb3R0ZXIsIGFiZXIgZGVyIHphZWhsdCBuaWNodCkuCgpWaWVsbGVpY2h0IHNlaGUgaWNoIGRhcyBhYmVyIGF1Y2ggYWxsZWluZSBzby4KCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWJzdGltbXVuZyBNRy1Mb2dvIChLZXNzYSwgMTkuIEF1ZyAyMDA3LCAyMzowMToyMCk6Cn4jISBybj1BcmsgcnQ9MTE4NzU1MzM1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKSWNoIG1hZyBhdWNoIGRpZSBrYW50aWdlbiBEcmFjaGVuLCB3b2JlaSBtaXIgZGVyIGxldHp0ZSBWb3JzY2hsYWcgZmFzdCB6dQprb21wYWt0IGlzdC4gRGFzcyBkYXMgTWF1bCBldHdhcyB2b3JyYWd0LCBmaW5kZSBpY2ggZWhlciBndXQsIHNvIHNpZWh0IGRhcwpnYW56ZSBhbiBkZXIgbGlua2VuIFNlaXRlIG5pY2h0IHNvIGFiZ2VmbGFjaHQgYXVzLiBVbmQgZGVyIEVmZmVrdCBrYW5uIGF1Y2gKZ2VyYWRlIHBvc2l0aXYgc2VpbiwgYmVpIGRlbiAxN2VybiBnZWZhZWxsdCBtaXIgZ2VyYWRlIGRhcyBuZXVnaWVyaWcKdm9yZ2VzdHJlY2t0ZSBTY2huYWV1emNoZW4uIAoKRGFoZXIgZ2VmYWVsbHQgbWlyIDE2IGJlc3NlciBhbHMgMTgsIHp1ZGVtIGZpbmRlIGJlaSAxNmIgZGVuIG1hcmtpZ2VuCk9iZXJraWVmZXIgZ2VsdW5nZW5lciBhbHMgYmVpIDE4LiBMZXR6dGVyZXIgd2lya3QgYXVmIG1pY2ggZXR3YXMgZ2VpZXJoYWZ0LgpCZWkgMTYgd3VlcmRlIGljaCBldnRsIG5vY2ggZGVuIFVudGVya2llZmVyIGV0d2FzIGdsYWV0dGVuLCBkYSBpc3QgZnVlciBtZWluZW4KR2VzY2htYWNrIG5vY2ggenUgdmllbCBVbnJ1aGUgZHJpbi4gTWVpbiBGYXZvcml0IGlzdCBpbW1lciBub2NoIDE3IGEvYy9lL2YsCmFiZXIgcmVjaHQgZGljaHQgZ2Vmb2xndCB2b24gMTZiIDopCgpHcnVzcywgS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFic3RpbW11bmcgTUctTG9nbyAoS2Vzc2EsIDE5LiBBdWcgMjAwNywgMjM6MDg6MjgpOgp+IyEgcm49QW15bnRob3IgcnQ9MTE4NzU1NzE5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKTmUsIHNpZWhzdCBkdSBuaWNodCBhbGxlaW5lIHNvIDopIFdpciBzb2xsdGVuIGphIGF1Y2ggYmVpbSBMb2dvIGRyYW4gZGVua2VuLApkYXNzIGVzIGV2dGwgYmVzc2VyIGlzdCwgd2VubiBlcyBmcmV1bmRsaWNoLWVpbmxhZGVuZCB3aXJrdC4gRXMgc29sbCBqYSBkZXIKV2VyYnVuZyBkaWVuZW4gdW5kIGVybXVudGVybiwgbWFsIGhlcmVpbnp1c2NoYXVlbi4gV2VubiBlcyBlaW5lbiBsaWViZW5zd2VydGVuCkVpbmRydWNrIG1hY2h0LCBpc3QgZGFzIHNpY2hlciBuaWNodCB2ZXJrZWhydC4gQmVpIGVpbmVtIGthbnRpZy1ncmltbWlnZW4KRHJhY2hlbiB3aXJkIGRpZSBLdW5zdCBtLkUuIGRhcmluIGJlc3RlaGVuLCBpaG4gaW1tZXIgbm9jaCBzeW1wYXRoaXNjaCB3aXJrZW4KenUgbGFzc2VuIDopCgpLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQWJzdGltbXVuZyBNRy1Mb2dvIChMaWFyYSwgMTkuIEF1ZyAyMDA3LCAyMzoxMDoxMik6Cn4jISBybj1LZXNzYSBydD0xMTg3NTU3NzA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpBdWYgbWljaCB3aXJrdCBkYXMgendhciBhdWNoIHNvLCBLZXNzYSwgYWJlciBpY2ggZGVua2UgZXMgZ2lidCBlYmVuIGF1Y2gKYW5kZXJlIEdlc2NobWFlY2tlci4gVW5kIGRpZSB3b2xsZW4gd2lyIGRvY2ggYXVjaCBhbmxvY2tlbi4gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBYnN0aW1tdW5nIE1HLUxvZ28gKEtlc3NhLCAxOS4gQXVnIDIwMDcsIDIzOjExOjQ2KToKfiMhIHJuPUxpYXJhIHJ0PTExODc1NTc4MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CkphLCBkYXMgbWVpbmUgaWNoIGphLiBXZW5uIHdpciBlcyBoaW5iZWthZW1lbiwgZWluZW4genUgYmF1ZW4sIGRlcgpnZWZhZWhybGljaCwgYWJlciBkZW5ub2NoIHN5bXBhdGhpc2NoIGlzdCwgaGFiZW4gd2lyIGJlaSBhbGxlbiBnZXdvbm5lbiA6KSBPYgp3aXIgZGFzIHNjaGFmZmVuLCBpc3QgbmUgYW5kZXJlIEZyYWdlIC0gd2VubiBuaWNodCwgbXVlc3NlbiB3aXIgdW5zIGhhbHQgZnVlcgplaW5lIFNlaXRlIGVudHNjaGVpZGVuLgoKS2Vzc2EgKG5vY2gga25hcHAgYXVmIGRlciBoZWxsZW4gU2VpdGUgZGVyIE1hY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQWJzdGltbXVuZyBNRy1Mb2dvIChPcmt0b2V0ZXIsIDE5LiBBdWcgMjAwNywgMjM6MTM6MjEpOgp+IyEgcm49S2Vzc2EgcnQ9MTE4NzU1NzkwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKSG0uLiBlcyB3dXJkZSBkb2NoIGluIGxldHp0ZXIgWmVpdCBzbyB2aWVsIFdlcnQgYXVmIEJsaW5kZW5mcmV1bmRsaWNoa2VpdApnZWxlZ3QgKGFsbGUgbW9lZ2xpY2hlbiBBU0NJSS1ncmFmaWtlbiB3dXJkZW4gYW5nZXBhc3N0KS4uIHVuZCBudW4gc29sbCBlaW4KbmV1ZXMgTG9nbyBoZXI/IFdpcmQgZGFzIGZ1ZXIgQmxpbmRlICJzaWNodGJhciI/IFdpcmQgZGllCkJsaW5kZW5mcmV1bmRsaWNoa2VpdCB1ZWJlciBCb3JkIGdld29yZmVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFic3RpbW11bmcgTUctTG9nbyAoS2Vzc2EsIDE5LiBBdWcgMjAwNywgMjM6MTQ6MTcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExODc1NTgwMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CldpZSBtZWluc3QgZHUgZGFzPyBXaXIgc29sbGVuIGtlaW4gTG9nbyBoYWJlbiwgd2VpbCBoaWVyIGF1Y2ggQmxpbmRlIHNwaWVsZW4/CgpJbSB1ZWJyaWdlbiBpc3QgYW5nZWRhY2h0LCBhdWNoIGVpbmUgQnJhaWxsZXplaWxlIGlucyBMb2dvIGVpbnp1YmF1ZW4uIEFiZXIKZGFzIGdlaG9lcnQgaW5zIEZlaW50dW5pbmcgdW5kIGtvbW10IHNwYWV0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQWJzdGltbXVuZyBNRy1Mb2dvIChQZXJkaXRhLCAxOS4gQXVnIDIwMDcsIDIzOjE0OjQ3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTg3NTU4MDAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2Nwp3aXIgc3ByZWNoZW4gamEgbmljaHQgTlVSIGJsaW5kZSBNZW5zY2hlbiBhbi4KVW5kIGRpZSBTZWhlbmRlbiB1bnRlciB1bnMgbGFzc2VuIHNpY2ggbnVubWFsIGdlcm4gdm9uIEdyYWZpa2VuIGxvY2tlbi4uLgpXbyBpc3QgZGFzIFByb2JsZW0/ClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBYnN0aW1tdW5nIE1HLUxvZ28gKFplc3N0cmEsIDE5LiBBdWcgMjAwNywgMjM6MTc6NDUpOgp+IyEgcm49UGVyZGl0YSBydD0xMTg3NTU4MDg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpTb2xhbmdlIGRpZSBIb21lcGFnZSBhdWNoIG9obmUgR3JhZmlrIGxlc2Jhci9udXR6YmFyIGlzdCB1bmQgZ3JhcGhpc2NoZQpFbGVtZW50ZSBtaXQgZWluZW0gZ2VlaWduZXRlbiBBbHRlcm5hdGl2dGV4dCBiZXNjaHJpZWJlbiBzaW5kLCBpc3QgZG9jaCBhbGxlcwpndXQuIEltIE11ZCBpc3QgZGllIEFTQ0lJLUdyYWZpayBhdWNoIG5pY2h0IGF1c2dlYmF1dCB3b3JkZW4sIHNvbmRlcm4KenVzYWV0emxpY2ggZWluZSBBU0NJSS1HcmFmaWstZnJlaWUgQWx0ZXJuYXRpdmUgZWluZ2ViYXV0IHdvcmRlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBYnN0aW1tdW5nIE1HLUxvZ28gKEFyaywgMTkuIEF1ZyAyMDA3LCAyMzoyMzoyOSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE4NzU1ODAwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKTmVpbiwgYWJlciBXZXJidW5nIGlzdCBoYWx0IHZpZWxmYWVsdGlnIC4uLiBpY2ggaGFiZSBkYXMgR2x1ZWNrIG5vY2ggc2VoZW4genUKa29lbm5lbiwgZGVzaGFsYiByZWd0IG1pY2ggZGFzIGFuLiBEYXMgd2lyZCBmdWVyIEJsaW5kZSBuaWNodCBzbyBvaG5lIHdlaXRlcmVzCnNpY2h0YmFyLCBhYmVyIGRhcnVtIGdlaHQgZXMgbmljaHQgLi4uIGZhbGxzIG1hbiBkYXMgbmljaHQgbWVya3QsIGhpZXIgYmluIGljaApkZXIgRXJrbGFlcmJhZXIgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEFic3RpbW11bmcgTUctTG9nbyAoVGFwc2ksIDE5LiBBdWcgMjAwNywgMjM6NTc6NDApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExODc1NTgwMDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CkhhbGxvIE9ya3RvZXRlciwKbWFjaHN0IER1IFdpdHplPyBLbGFyLCBlaW4gc29sY2hlcyBMb2dvIGthbm4gbmljaHQgYmxpbmRlbmZyZXVuZGxpY2ggc2VpbiBhYmVyCmVzIHNvbGwgdW5kIHdpcmQgLXdpZSBpY2ggaG9mZmUgLiBTcGllbGVyIGFubG9ja2VuLiBFcyBpc3QgZWJlbiBsZWlkZXIgbmljaHQKYWxsZXMgYmxpbmRlbmZyZXVuZGxpY2ggenVtYWNoZW4KVGFwc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBYnN0aW1tdW5nIE1HLUxvZ28gKERhcmtsb3IsIDIwLiBBdWcgMjAwNywgMDE6MzE6MTEpOgp+IyEgcm49VGFwc2kgcnQ9MTE4NzU2MDY2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKTWFjaHQgZG9jaCBuIFdlbmRlbG9nbyAtIEVpbmUgU2VpdGUgbmV0dCBkaWUgYW5kZXJlIEZpZXMgLSB1bmQgd2VubnMgZGFubiBtYWwKZ2VydWNrdCB3aXJkIGVpbmZhY2ggbWl0IEtvbnR1ciAoaXMgZGFzIGRhcyByaWNodGlnZSBXb3J0PykgCgpEYXJrbG9yIChtaXQgV29ydCBudXIgYXVmIGRlciBadW5nZSBsaWVnZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEFic3RpbW11bmcgTUctTG9nbyAoSGlnaGxhbmRlciwgMjAuIEF1ZyAyMDA3LCAxMDowNToxOCk6Cn4jISBybj1EYXJrbG9yIHJ0PTExODc1NjYyNzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3Ck1laW5lIEZhdm9yaXRlbiwgendpc2NoZW4gZGVuZW4gaWNoIG1pY2ggbmljaHQgc28gZW50c2NoZWlkZW4ga2FubiwKc2luZCAxOGIgKEhvZXJuY2hlbiB3YWVyZW4gendhciBzY2hvZW4sIGFiZXIgZGFzIE0gc29sbHRlIG5pY2h0CmR1cmNoa3JldXp0IHdlcmRlbikgdW5kIGRlciBsaW5rcyB2b24gMWEgbWl0IGRlbSBnZXJ1bmRldGVuIE0sIGF1Y2gKd2VubiBpY2ggZGEgZGVuIEtvcGYgbmljaHQgc28gbWFnLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogQWJzdGltbXVuZyBNRy1Mb2dvIChCb2luZywgMjAuIEF1ZyAyMDA3LCAxMDoyODo1NCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExODc1OTcxMTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3Ck1laW5lIFN0aW1tZSBnZWh0IGFuIDE4YQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogQWJzdGltbXVuZyBNRy1Mb2dvIChCYW1idWxrbywgMjAuIEF1ZyAyMDA3LCAxMTowNDo1OSk6Cn4jISBybj1Cb2luZyBydD0xMTg3NTk4NTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpBbHNvIG1pciBnZWZhZWxsdCBkaWUgVXJzcHJ1ZW5nbGljaGUgVmVyc2lvbiB2b24gTGlhcmEgaW1tZXIgbm9jaCBhbSBiZXN0ZW4uCkVzIHNpZWh0IHp3YXIgZXR3YXMgbmFjaCBlaW5lciBLcmV1enVuZyB2b24gU2VlcGZlcmRjaGVuIHVuZCBTY2htZXR0ZXJsaW5nCmF1cywgYXMgZGFzIG1hY2h0IGRhcyBnYW56ZSBldHdhcyByYWV0c2VsaGFmdCB1bmQgbXlzdGlzY2guIEVzIGthbm4gaGFsdCBhbGxlcwpzZWluLCBlaW4gRHJhY2hlLCBlaW4gU2NobWV0dGVybGlnLCBvZGVyIGVpbmUgRmVlLiBNYW4gbXVzcyBoYWx0IGV0d2FzClBoYW50YXNpZSB6ZWlnZW4uIFVuZCBzbyBlaW4gbWFnaXNjaGVzIEh5YnJpZC1XZXNlbiBwYXNzdCBtZWluZXIgTWVpbnVuZyBuYWNoCmJlc3NlciB6dW0gTUcgYWxzIGVpbiBib2VzZXIgRHJhY2hlLiBEZXIgd2lya3Qgc28gZXJuc3QsIHVuZCBkYXMgTUcgaGF0IHNpY2gKc2VsYmVyIG5pZSBlcm5zdCBnZW5vbW1lbi4gU29uc3Qgd3VlcmRlIGVzIG5pY2h0IHNvIGV0d2FzIHdpZSBUaXR3dSBvZGVyCkZyYWdnbGVzIGdlYmVuLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBBYnN0aW1tdW5nIE1HLUxvZ28gKEFyaywgMjAuIEF1ZyAyMDA3LCAxMTo0NTozNyk6Cn4jISBybj1Cb2luZyBydD0xMTg3NTk4NTM0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpNb21lbnQgbWFsIC4uLiAxOCB1bmQgMTkgLi4uIGdyaW5zdCBkZXIgRHJhY2hlIG51biBldHdhPyAqaGV1bCoKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogQWJzdGltbXVuZyBNRy1Mb2dvIChLZXNzYSwgMjAuIEF1ZyAyMDA3LCAxMjoxMjoxNCk6Cn4jISBybj1BcmsgcnQ9MTE4NzYwMzEzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKT2NoLCBudXIgZWluIGdhYWFhYW56IGtsZWluZXMgYmlzc2NoZW4gOikgLSBEYSBhdWNoIGRpZSBhbGxlcmVyc3RlbiBFbnR3dWVyZmUKYmVpIGVpbmlnZW4gZ3V0IGFua29tbWVuLCBoYWJlIGljaCBzaWUgYXVjaCBub2NoIHZla3RvcmlzaWVydCB1bmQKbmFjaG51bWVyaWVydC4KCkdydXNzLCBLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEFic3RpbW11bmcgTUctTG9nbyAoUm9hZHJ1bm5lciwgMjAuIEF1ZyAyMDA3LCAxMjo1NjowNyk6Cn4jISBybj1CYW1idWxrbyBydD0xMTg3NjAwNjk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwoKQW4gbGlhcmFzIGVyc3RlbSBlbnR3dXJmIGdlZmFlbGx0IG1pciBqZWRlbmZhbGxzIGRlciBzdGlsaXNpZXJ0ZSBLb3BmIG1pdApob2VybmNoZW4gYXVjaCBndXQgLSBkaWUgc2NobWV0dGVybGluZ3NmbHVlZ2VsIC0gbmFhYWphIC4uLiAKCk1vbWVudGFuZXIgRmF2b3JpdCBpc3QgMTlkLi4uIGxhZW5nbGljaGVyZXIgS29wZiAtIG51bmphIC0gamUgZGV0YWlsbGllcnRlcgpkaWUgR3JhZmlrIHdpcmQsIGRlc3RvIHdlbmlnZXIgZ3V0IGtvbW10IGRpZXMgYXVmIGRlbSB2ZXJrbGVpbmVydGVuIExvZ28gcmF1cy4KClJSCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEFic3RpbW11bmcgTUctTG9nbyAoVGFzc3JhbSwgMjAuIEF1ZyAyMDA3LCAxMzo0ODozNCk6Cn4jISBybj1Sb2FkcnVubmVyIHJ0PTExODc2MDczNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3Ck1pciBnZWZhZWxsdCAxN2YgYW0gYmVzdGVuLiBFaW56aWdlIFVuc2Nob2VuaGVpdCBpc3QsIGRhc3MgZGVyIGFtCkZsdWVnZWxhbnNhdHogaW0gS29lcnBlciBuZW4gbGVpY2h0ZW4gS25pY2sgbmFjaCBvYmVuIGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBBYnN0aW1tdW5nIE1HLUxvZ28gKEdhYnlsb24sIDIwLiBBdWcgMjAwNywgMTk6MTM6MTgpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE4NzYwMDY5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKaG1tLiBuYWNoIG5vY2htYWxpZ2VtIHZlcmdsZWljaCBnZWJlIGljaCBiYW1idWxrbyByZWNodC4gdm9yc2NobGFnIDBhCmhhdCBlaWdlbnRsaWNoIGFsbGVzLCB3YXMgd2lyIGJyYXVjaGVuOiBjaGFybWUsIGVpbmZhY2hlIGdlc3RhbHQsCmtsYXJlIGxpbmllbiwgbmV1dHJhbGVyIGtvcGYgbWl0IGhvcm4gdW5kIG9obmUgc2Nobm9lcmtlbCwgc29nYXIKZGllIGZhcmJlbiBnZWZhbGxlbiBhdWYgYW5oaWViLiB1bmQgamVkZXIga2FubiBkaWVzZXMgImV0d2FzIiBhbHMgZGFzCmludGVycHJldGllcmVuLCB3YXMgZXIgbW9lY2h0ZS4gZnVlciBkaWUgZWluZW4gaXN0IGVzIGVpbiBkcmFjaGUsCmRpZSBhbmRlcmVuIHNlaGVuIGRhcmluIGVpbiBzZWVwZmVyZGNoZW47IHNjaG1ldHRlcmxpbmcgb2RlciBlaW4ga2xlaW5lcwpnZWZsdWVnZWx0ZXMgZWxmZW53ZXNlbiB3dWVyZGUgc2ljaGVybGljaCBhdWNoIGR1cmNoZ2VoZW4uCgptYW4ga2FubiBzaWNoIHNvZ2FyIGF1c3N1Y2hlbiwgb2JzIGd1dCBvZGVyIGJvZXNlIGlzdC4gOykKCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEFic3RpbW11bmcgTUctTG9nbyAoS2Vzc2EsIDIwLiBBdWcgMjAwNywgMjE6MTQ6MzYpOgp+IyEgcm49R2FieWxvbiBydD0xMTg3NjI5OTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpJY2ggbW9lY2h0ZSBtYWwgc28gbmViZW5iZWkgYW5tZXJrZW4sIGRhc3MgaWNoIGRhcyByZWNodGUgdW50ZXJlIEhhZXNjaGVuIGluCk5yLiAxNSBhdWNoIHNlaHIgc3Vlc3MgZmluZGUuIChIYWVzY2hlbiBkdWVyZmVuIGphIHN1ZXNzIHNlaW4uKSBOaWNodCBtZWluCkZhdm9yaXQsIHdlaWwgZWluIEhhZXNjaGVuIGVpbmZhY2ggbmljaHQgc28gcmVwcmFlc2VudGF0aXYgaXN0LCBhYmVyIGljaCBmaW5kZQplcyBrbGFzc2UgOikKCkdydXNzLCBLZXNzYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEFic3RpbW11bmcgTUctTG9nbyAoTWlyaWwsIDIwLiBBdWcgMjAwNywgMjI6MjY6MzEpOgp+IyEgcm49R2FieWxvbiBydD0xMTg3NjI5OTk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpJY2ggc2Nod2Fua2Ugbm9jaCBlaW4gYmlzc2NoZW4gendpc2NoZW4gVm9yc2NobGFnIDkgdW5kIDAuIEJlaSAwYSBnZWZhZWxsdCBtaXIKZGFzIE0gbmljaHQgc28gZ3V0LCBkYXMgZXJrZW5udCBtYW4gc2NobGVjaHQuIFZpZWxsZWljaHQgZ2VodCBkYXMgbm9jaCBldHdhcwplY2tpZ2VyLCBhbHNvIGVoZXIgc28gd2llIGluIDkgYWJlciBtaXQgZGVtIGVpbmZhY2hlbiBLb3BmLiBEYSBtdXNzIGljaApCYW1idWxrbyB1bmQgR2FieWxvbiByZWNodCBnZWJlbiwgZGVyIG5ldXRyYWxlIEtvcGYgaGF0IHNlaW5lbiBDaGFybWUuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEFic3RpbW11bmcgTUctTG9nbyAoTGlhcmEsIDIwLiBBdWcgMjAwNywgMjI6NDY6MjApOgp+IyEgcm49Um9hZHJ1bm5lciBydD0xMTg3NjA3MzY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpadW0gVGhlbWEgU2NobWV0dGVybGluZ3NmbHVlZ2VsIGRlcyBPcmlnaW5hbHZvcnNjaGxhZ3M6CkRhIE1Fc2lyaWkgYXVjaCBtYWwgc293YXMgQWVobmxpY2hlcyB6dSBkZW4gRmx1ZWdlbG4gZ2VzYWd0IGhhdCwgd29sbHRlIGljaApudXIga3VyeiBiZWl0cmFnZW4sIGRhc3MgZGllIEZsdWVnZWwgdm9uIG1pciBzbyBnZWRhY2h0IHdhcmVuLCBkYXNzIGVzIDIgc2luZC4KQWxzbyBkYXMgaXN0IG5pY2h0IGVpbiB2b24gZGVyIFNlaXRlIGdlc2VoZW5lciBGbHVlZ2VsLCBkZXIKU2NobWV0dGVybGluZ3NzdHJ1a3R1ciBoYXQsIHNvbmRlcm4gZGVyICd2b3JkZXJlJyBUZWlsIGlzdCBkZXIgcmVjaHRlIEZsdWVnZWwKdW5kIGdlaHQgdm9tIEtvZXJwZXIgYXVzIG5hY2ggcmVjaHRzIHdlZywgZGVyICdoaW50ZXJlJyBUZWlsIGlzdCBkZXIgbGlua2UKRmx1ZWdlbCB1bmQgZ2VodCB2b20gS29lcnBlciBhdXMgbmFjaCBsaW5rcyB3ZWcuCgpFcyBpc3QgaW1tZXIgd2llZGVyIGludGVyZXNzYW50LCB3aWUgbWFuIChnZXJhZGUgYmVpIHNvIGVpbmVyIHN0aWxpc2llcnRlbiwKZmFzdCBuYWl2ZW4gRGFyc3RlbGx1bmcpIGVpbiBCaWxkIHNlaGVuIGthbm4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogQWJzdGltbXVuZyBNRy1Mb2dvIChHbm9tZSwgMjAuIEF1ZyAyMDA3LCAyMzoxNDowNik6Cn4jISBybj1MaWFyYSBydD0xMTg3NjQyNzgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwphYmVyIGljaCBnbGF1YmUsIGRhc3MgbWlyIGdlcmFkZSBkaWVzZXMgbmFpdmUgZGEgZHJpbiBnZWZhZWxsdC4gZGFzIGxvZ28Kc2llaHQgendhciBhdXMgd2llIHZvbiBraW5kZXJoYW5kLCB0cm90emRlbSBlcmtlbm50IG1hbiBhbGxlcyBub2V0aWdlLgpuYWNoIGRlbiB2aWVsZW4gLSBhYmVyIHNpY2hlcmxpY2ggbmljaHQgc2NobGVjaHRlbiAtIHRyaWJhbC96YWVobmUvZWNoc2VuLwpkcmFjaGVuL3VybWVsdm9yc2NobGFlZ2VuLCBkaWUgYWxsZXNhbXQgYWJlciBldHdhcyB1ZWJlcmxhZGVuIHdpcmtlbiwKd2FlY2hzdCBtaXIgMGEgdGF0c2FlY2hsaWNoIGltbWVyIG1laHIgYW5zIGhlcnouCmVyZ28gbWVpbiBrbGFyZXIgZmF2b3JpdCBpbnp3aXNjaGVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBBYnN0aW1tdW5nIE1HLUxvZ28gKEJhbWJ1bGtvLCAyMS4gQXVnIDIwMDcsIDEwOjE4OjQwKToKfiMhIHJuPUdub21lIHJ0PTExODc2NDQ0NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CkxvZ28gMjAgaXN0IGF1Y2ggbmV0dCwgZXJpbm5lcnQgbWljaCBqZWRvY2ggc3RhcmsgYW4gZWluIEhha2Vua3JldXogKHdlbm4gYXVjaApmYWxzY2hydW0pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IEFic3RpbW11bmcgTUctTG9nbyAoWm9vaywgMjEuIEF1ZyAyMDA3LCAxMDo1NTowNCk6Cn4jISBybj1CYW1idWxrbyBydD0xMTg3Njg0MzIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwppY2ggZmluZGUgMTQgZ2FueiBodWVic2NoLiBhYmVyIHNpZWh0IGF1c3NlciBtaXIgbmllbWFuZApkYXMgenVzYWV0emxpY2hlIHBpPyA7KSAKCmFuc29uc3RlbiB3dWVyZCBpY2ggYXVjaCBsaWViZXIgenUgZGVtIDBlciB6dXJ1ZWNrLCBkYSBkb3J0IGRpZXNlcwpwaSBuaWNodCBhdWZ0YXVjaHQsIHNvbmRlcm4gZGllIHp3ZWkgYnVjaHN0YWJlbiBtIHVuZCBnIGFsbGVpbgpndXQgenUgZXJrbGVubmVuIHNpbmQuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBBYnN0aW1tdW5nIE1HLUxvZ28gKFJ1bWF0YSwgMjEuIEF1ZyAyMDA3LCAxMToxMDowMCk6Cn4jISBybj1ab29rIHJ0PTExODc2ODY1MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CkljaCBzZWhlIGVzIGF1Y2gsIGFiZXIgZXMgc3RvZXJ0IG1pY2ggbmljaHQuCkluIDIwIHNlaGUgaWNoIHVlYnJpZ2VucyBlaW5lIFNjaGxhbmdlLCBkaWUgWmVpdHVuZyBsaWVzdCA6LSkKSW0gdWVicmlnZW4gc3RpbW1lIGljaCBkZW5lbiB6dSwgZGllIGFuZGV1dGVuLCBkYXNzIHdpcgp1bmQgYW0gS29wZiB0b3RhbCB2ZXJrdWVuc3RlbG4uIERhcyBtYWNodCB6d2FyIFNwYXNzLCBwYXNzdAphYmVyIG5pY2h0IHp1bSBMb2dvIGFscyBHYW56ZW0uCj0+IGtlaW5lIFphZWhuZSwgWnVuZ2VuIG9kZXIgSG9lcm5lcgo9PiBrZWluZSBBdWdlbiAoYWxzbyAwYSkgZW50YmVocnQgbmljaHQgZWluZXIgZ2V3aXNzZW4gTG9naWsKQWJlciBpY2ggbWFnIGRlbiBLb3BmIHNvIGVpbmZhY2ggbmljaHQsIGRhcyBzaWVodCBzbyBuYWNoCkthbW0gYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IEFic3RpbW11bmcgTUctTG9nbyAoTWFoYXJldCwgMjEuIEF1ZyAyMDA3LCAxMToxMDoyOCk6Cn4jISBybj1ab29rIHJ0PTExODc2ODY1MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CldhcyBoYXN0IGR1IGdlZ2VuIHBpPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IEFic3RpbW11bmcgTUctTG9nbyAoWm9vaywgMjEuIEF1ZyAyMDA3LCAxMToyNDozNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExODc2ODc0Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3CmRhc3MgbWFuIGVpZ2VudGxpY2ggZWluIE0sIGVpbiBQaSB1bmQgZWluIEcgc2llaHQgdW5kIG5pY2h0Cm51ciBlaW4gTSB1bmQgZWluIEcuIGljaCBmaW5kZSBkYXMgdmVyd2lycmVuZC4gei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBBYnN0aW1tdW5nIE1HLUxvZ28gKEJhbWJ1bGtvLCAyMS4gQXVnIDIwMDcsIDExOjI3OjQxKToKfiMhIHJuPVpvb2sgcnQ9MTE4NzY4ODI3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKSmEsIGljaCBzZWhlIGRhcyBQaSBhdWNoLiBTdG9lcnQgbWljaCBhYmVyIG5pY2h0IHNvIHNlaHIuIDotKQpJY2ggZmluZGUgZXMgZGEgZWhlciBzdG9lcmVuZCwgZGFzcyBlciBlaW5lIEZsdWVnZWwgendlaSBzZWl0ZW4gaGF0LCBkZXIKYW5kZXJlIGFiZXIgbnVyIGVpbmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogQWJzdGltbXVuZyBNRy1Mb2dvIChLZXNzYSwgMjEuIEF1ZyAyMDA3LCAxMzoxNzoxNSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTg3Njg4NDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwooRWluZmFjaCBtYWwgYXVmIGFsbGU6KSBab29rLCBkYXMgUGkgaGFiIGljaCBlcnN0IGdlc2VoZW4sIG5hY2hkZW0gZHUgc2FndGVzdCwKZGFzcyBkdSBlaW5zIHNpZWhzdC4gRGFuYWNoIGhhYiBpY2ggZXMgZ2xlaWNoIHdpZWRlciB2ZXJnZXNzZW4sIGVzIHN0b2VydCBtaWNoCmdhciBuaWNodC4KClJ1bWF0YSwgaWNoIGZpbmRlLCB3aXIgaGFiZW4gdW5zIGluIGRlciBNaXR0ZSBtYWwgdmVya3VlbnN0ZWx0LCBhYmVyIGFuZmFuZ3MKdW5kIGFtIEVuZGUgZG9jaCBhdWNoIGVpbiBwYWFyIHNjaG9lbmUgdW5kIGxvZ29nZWVpZ25ldGUgRW50d3VlcmZlIGdlbWFjaHQuCkVpbiBhbmdlZGV1dGV0ZXMgQXVnZSB6LkIuIGZpbmRlIGljaCB3YWhybGljaCBuaWNodCB1ZWJlcnRyaWViZW4sIGRhIGdpYnQgZXMKdmllbCBrb21wbGV4ZXJlIHByb2Zlc3Npb25lbGxlIExvZ29zLCBkaWUgZGVubm9jaCBmdW5rdGlvbmVsbCBzaW5kLgpNaXIgZ2VmYWVsbHQgZGVyIGdhbnogc3RpbGlzaWVydGUgRW50d3VyZiB3aWUgZ2VzYWd0IGF1Y2ggc2VociBndXQsIGFiZXIgbWlyCmZlaGx0IGRhcmFuIGRhcyBwZXJzb2VubGljaGUuIERhcyB3YXIgYXVjaCB1bnNlcmUgYWxsZXJlcnN0ZSwgc3BvbnRhbmUKUmVha3Rpb24gKHVuZCB6d2FyIHppZW1saWNoIGVpbm11ZXRpZyksIGFscyB3aXIgaW4gZGllIERpc2t1c3Npb24gdW5kIGlucwpXZWl0ZXJlbnR3aWNrZWxuIGVpbnN0aWVnZW46IERlciBLb3BmIGlzdCBpcmdlbmR3aWUgJ2tlaW4gS29wZicuIEpldHp0IGhhYmVuCndpciBzbyB2aWVsZSBEcmFjaGVuIGdlc2VoZW4sIGRhc3MgZXMgYmVpbmFoZSBzY2hvbiBlcmhvbHNhbSBpc3QsIGRlbiBnYW56CmVpbmZhY2hlbiBlbnR3dXJmIHdpZWRlciBhbnp1c2NoYXVlbi4gRGFydWViZXIgc29sbHRlbiB3aXIgYWJlciBuaWNodCBkZW4KYWxsZXJlcnN0ZW4sIHNwb250YW5lbiBFaW5kcnVjayB2ZXJnZXNzZW4uIEljaCBiaW4gbmFjaCB3aWUgdm9yIGZ1ZXIgZWluZQpWYXJpYW50ZSBtaXQgZWluZW0gc2NobGljaHRlbiBLb3BmLCBkZXIgbWVociBhbHMgS29wZiBlcmtlbm5iYXIgaXN0LiBFaW5mYWNoLAphYmVyIG1pdCBBdWdlIDopCgpHcnVzcywgS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBBYnN0aW1tdW5nIE1HLUxvZ28gKE1haGFyZXQsIDIxLiBBdWcgMjAwNywgMTM6MjY6NTUpOgp+IyEgcm49S2Vzc2EgcnQ9MTE4NzY5NTAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKTmVlLCBpY2ggd29sbHRlIG5pZSBuZW4gInJpY2h0aWdlbiIgS29wZiBhdWYgZGVtIERyYWNoZW4sIGljaCBoYWIgbWljaCBlcnN0Cm5hY2ggZWluaWdlciBaZWl0IGRhbWl0IGFuZ2VmcmV1bmRldCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IEFic3RpbW11bmcgTUctTG9nbyAoS2Vzc2EsIDIxLiBBdWcgMjAwNywgMTM6NTU6MDQpOgp+IyEgcm49TWFoYXJldCBydD0xMTg3Njk1NjE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpEYW5uIHdhcnN0IGR1IG5pY2h0IGJlaSBkZW4gRXJzdHJlYWdpZXJlcm4gZGFiZWksIGRpZSBpY2ggbWVpbnRlIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IEFic3RpbW11bmcgTUctTG9nbyAoR25vbWUsIDIxLiBBdWcgMjAwNywgMTg6NTQ6MDYpOgp+IyEgcm49S2Vzc2EgcnQ9MTE4NzY5NTAzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODc0NzA1NjcKaWNoIGJpbiBmdWVyIGRlbiBlaW5zYXR6IGRlcyB3YWhsLW8tbWF0LiBqZWRlciBlcnN0c3BpZWxlciBoYXQgZHJlaQpzdGltbWVuLCBkaWUgdmVyc2NoaWVkZW5lIHB1bmt0ZSBpbm5laGFiZW46IDUgcHVua3RlIGZ1ZXIgZGVuCmZhdm9yaXRlbiwgMyBwdW5rdGUgZnVlciBkZW4gMi4gcGxhdHosIDEgcHVua3QgZnVlciBkaWUgcGVyc29lbmxpY2hlCm5vdGxvZXN1bmcuIGluIDQgd29jaGVuIHdlcmRlbiBhbGxlIHB1bmt0ZSB6dXNhbW1lbmdlemFlaGx0OiB2b2lsYS4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogQWJzdGltbXVuZyBNRy1Mb2dvIChMaWFyYSwgMjMuIEF1ZyAyMDA3LCAwMToyMzo1Nyk6Cn4jISBybj1Hbm9tZSBydD0xMTg3NzE1MjQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4NzQ3MDU2NwpIYWJlIG1hbCBhbGxlIFZvcnNjaGxhZWdlLCBkaWUgdWViZXJoYXVwdCBuaWNodCBnZW5hbm50IHd1cmRlbiwgbnVyIG5vY2ggYWxzCkxpbmsgYW5nZXplaWd0LiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEFic3RpbW11bmcgTUctTG9nbyAoWmVwaHlyLCAyNi4gQXVnIDIwMDcsIDE4OjAxOjA5KToKfiMhIHJuPUxpYXJhIHJ0PTExODc4MjUwMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTg3NDcwNTY3ClVtIGFsbGUgenUgYWVyZ2VybiwgZGllIGRpZSBBYnN0aW1tdW5nIGZ1ZXIgYWJnZXNjaGxvc3NlbiBoYWx0ZW4sCnNjaG1laXNzZSBpY2ggbWFsIG5vY2ggZWluZW4gVm9yc2NobGFnIGluIGRpZSBSdW5kZS4gRGVmaW5pdGl2IGtlaW5lCkZlaW5hcmJlaXQgLSBudXIgZGVyIFZlcnN1Y2gsIGRlbiBLb3BmIGVpbiB3ZW5pZyBtZWhyIGluIGRpZSBCdWNoc3RhYmVuCnp1IGludGVncmllcmVuLgoqa251ZGRlbHMqCkM0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJtdWVsbHRlIFNlaGVyaGFldXNlci9Ib3RlbHppbW1lcjogV2VsdHJhdW1wdXR6ZSAoWmVzc3RyYSwgMTUuIFNlcCAyMDA3LCAxNzozMjoyNik6Ckh1aHUsCgpkYSBkYXMgdmVybXV0bGljaCBzY2hvbiBoYWxiIGluIFZlcmdlc3NlbmhlaXQgZ2VyYXRlbiBpc3QsIG1vZWNodGUgaWNoIG1hbCBhbgpkaWUgYWx0ZSAiUmVnZWwiIGVyaW5uZXJuLCBpbiBIb3RlbHMgdW5kIFNlaGVyaGFldXNlcm4gbmljaHQgbWVociBhbHMgZXR3YSAxMDAKT2JqZWt0ZSBydW1saWVnZW4genUgaGFiZW4uIEFuc29uc3RlbiBrb2VubnRlIGVzIHBhc3NpZXJlbiwgZGFzcyBkaWUgZ3Jvc3NlCldlbHRyYXVtcHV0emUga29tbXQgdW5kIGJlaSBldWNoIGF1ZnJhZXVtdC4gOy0pCk1vbWVudGFuIGlzdCBzaWUgendhciBub2NoIGFuZGVyd2VpdGlnIGJlc2NoYWVmdGlndCwgYWJlciBlaW5lIHZvcmxhZXVmaWdlCkF1ZnRyYWdzbGlzdGUgZ2lidCBlcyBzY2hvbi4gKmcqCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVybXVlbGx0ZSBTZWhlcmhhZXVzZXIvSG90ZWx6aW1tZXI6IFdlbHRyYXVtcHV0emUgKE1hc3VsLCAxNS4gU2VwIDIwMDcsIDE4OjA5OjU1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE4OTg3MDM0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODk4NzAzNDYKYWx0ZSBSZWdlbD8gV2VsdHJhdW1wdXR6ZT8gV28gc3RlaHQgZGVubiBkaWUgUmVnZWwgdW5kIHdhcyBpc3QgZGFzIFByb2JsZW0/CgpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJtdWVsbHRlIFNlaGVyaGFldXNlci9Ib3RlbHppbW1lcjogV2VsdHJhdW1wdXR6ZSAoSHVtbmksIDE1LiBTZXAgMjAwNywgMTg6MTY6MDApOgp+IyEgcm49TWFzdWwgcnQ9MTE4OTg3MjU5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExODk4NzAzNDYKRGFzIFByb2JsZW0gaXN0LCBkYXNzIHp1IHZvbGxlIFJhZXVtZSwgZGllIGF1Y2ggbm9jaCBhYiB1bmQgYW4gYmV0cmV0ZW4Kd2VyZGVuLCBSZXNzb3VyY2VuIGZyZXNzZW4uIFVuZCBkYXJ1bSBtYW5jaG1hbCBlaW5lIGdld2lzc2UgV2VsdHJhdW1wdXR6ZSB2b24KZ29ldHRsaWNoZW4gR25hZGVuIGluIGRpZXNlbiBSYWV1bWVuIE9yZG51bmcgZ2VzY2hhZmZlbiBoYXQsIHdlbm4gZGllIHp1IHZvbGwKd3VyZGVuLgoKQWJoaWxmZSBzY2hhZmZlbiBlaW4gcGFhciBoYW5kbGljaGUsIGluIGRlciBQb3N0IHp1IGVyd2VyYmVuZGUgUGFrZXRlICh3ZXIKc292aWVsIEtyYW0gaGF0LCBrYW5uIGF1Y2ggaW4gZGVyIFBvc3Qgd2VsY2hlIGthdWZlbikuCgpIdW1uaQpQUzogT3JkbnVuZyBzY2hhZmZlbiBrYW5uIHp1IEdlc2NocmVpIGZ1ZWhyZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXJtdWVsbHRlIFNlaGVyaGFldXNlci9Ib3RlbHppbW1lcjogV2VsdHJhdW1wdXR6ZSAoWm9vaywgMjEuIFNlcCAyMDA3LCAxNzo0NzozNik6Cn4jISBybj1IdW1uaSBydD0xMTg5ODcyOTYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4OTg3MDM0NgpJY2ggd2Vpc3MgZ2FyIG5pY2h0IG1laHIsIHdpZSBpY2ggc2llIGVuZ2FnaWVydCBoYXR0ZSwgbW9lZ2xpY2hlcndlaXNlCmhhdCBzaWUgZWluIHdlbmlnIHVtZ2VwYWNrdCwgbW9lZ2xpY2hlcndlaXNlIGhhdCBzaWUgYWJlciBhdWNoIApvcmRlbnRsaWNoIGdlc2F1Z3QuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWZXJtdWVsbHRlIFNlaGVyaGFldXNlci9Ib3RlbHppbW1lcjogV2VsdHJhdW1wdXR6ZSAoQmFtYmksIDIzLiBTZXAgMjAwNywgMTM6NTY6MDgpOgp+IyEgcm49Wm9vayBydD0xMTkwMzg5NjU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE4OTg3MDM0NgpJY2ggaGFiZSBkYSBub2NoIGVpbmUgR2VuZWhtaWd1bmcgZWluZXMgKGVoZW1hbGlnZW4pIEVyem1hZ2llcnMsClNlaGVyaGF1c3JhZXViZXIgaW0gU3RpbCB2b24gUGx1ZW5kZXJlcm4genUgcHJvZ2dlbi4gU29sbCBpY2ggZGFzIG1hbCBhbmdlaGVuPwpJY2ggd3VlcmRlIGF1Y2ggYmVydWVja3NpY2h0aWdlbiwgZGFzcyBtYXhpbWFsIDEwMCBPYmpla3RlIHVlYnJpZyBibGVpYmVuLi4uCn09KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1cyBhbHQgbWFjaCBuZXUuLi4gKExpYXJhLCAyMC4gT2t0IDIwMDcsIDAxOjMyOjI0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE5MjgzNTMzNyByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTE5MjgzNTMzNwpEYSBaZXNzdHJhIGltbWVyIHNvIGJlc2NoZWlkZW4gaXN0LCBoaWVyIG1hbCBLbGFydGV4dDoKU2llIGhhdCBzaWNoIHJpY2h0aWcgdmllbCBBcmJlaXQgZ2VtYWNodCB1bmQgdW5zIGRhbWl0IHdhaHJzY2hlaW5saWNoIGVpbmVuClJlYm9vdCBlcnNwYXJ0LiA6KQpBbHNvLCBtYWwgZWluIGRpY2tlcyBEYW5rZXNjaG9lbiBhdWYgZGllc2VtIFdlZ2UhCgpaWkwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1ciBFbnRsYXN0dW5nIHZvbiBaZXNzdHJhIChFbm5veCwgIDEuIE5vdiAyMDA3LCAyMzo1NToxNik6CmRhbWl0IHNpZSBzaWNoIHVtIG1laHIgdW0ga29uemVwdHVlbGxlIERpbmdlIHVuZCB0aWVmZXJsaWVnZW5kZSBNdWRsaWItCnVuZCBEcml2ZXJzYWNoZW4ga3VlbW1lcm4ga2Fubiwgd3VlcmRlIGljaCBtaWNoIGdlcm4gYmVyZWl0ZXJrbGFlcmVuLAphbHMgQW5zcHJlY2hwYXJ0bmVyIGZ1ZXIgQnVnZml4ZXMgdW5kIGFuZGVyZSBBZW5kZXJ1bmdlbiB6dSBkaWVuZW4uCkF1Y2ggd2VubiBpY2ggdmllbGxlaWNodCBuaWNodCBnYW56IHNvIHNjaG5lbGwgcmVhZ2llcmVuIGthbm4sIGRlbmtlIGljaCwKZGFzIGVzIGhpbGZ0LgpEYW1pdCBkaWUgU2FjaGVuIG5pY2h0IHVudGVyZ2VoZW4sIE1haWxzIGFuIG1pY2ggYW46IGJ1Z2ZpeCBhdCBtZXNpcmlpLmRlLgpNYWdpZXJrcmFtcyBiaXR0ZSBtaXQgRmVobGVydGV1ZmVsLUJ1Z0lkIHVuZCBnZ2YuIEZpbGVzLiAKSWNoIHZlcnN1Y2hlIGFiIGpldHp0IHdpZWRlciBhYmVuZHMgYW5zcHJlY2hiYXIgenUgc2Vpbiwgd2VubiBuaWNodCBkYW5uCi0+IG1haWwsIHRhZ3N1ZWJlciBpc3Qgd2VnZW4gQXJiZWl0c3N0cmVzcyBzY2hsZWNodC4KCkRhbmtlIGZ1ZXIgZGllIGdlc2NoYWV0enRlIEF1Zm1lcmtzYW1rZWl0CgpNZXNpcmlpICdFbm5veCcgQ2hhb3NtYWNoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadXIgRW50bGFzdHVuZyB2b24gWmVzc3RyYSAoWm9vaywgIDIuIE5vdiAyMDA3LCAwOToyNDozMCk6Cn4jISBybj1Fbm5veCBydD0xMTkzOTU3NzE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5Mzk1NzcxNgpMaWViZW4gRGFuayBmdWVyIGRhcyBBbmdlYm90ISBEYXMgd2lyZCBzaWNoZXJsaWNoIGVpbmUgCmdyb3NzZSBIaWxmZSBzZWluIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlbW8gIlN0b3BwdCBkaWUgVm9ycmF0c2RhdGVuc3BlaWNoZXJ1bmciIDYuMTEuIDE3LTE5IFVociAoeW91ciBjaXR5KSAoR2xvaW5zb24sICA2LiBOb3YgMjAwNywgMDA6MTE6MjYpOgpNYWhsemVpdCwKbWFjaHRlIG1pY2ggZ2VyYWRlIGVpbiBCZWthbm50ZXIgZGFyYXVmIGF1Zm1lcmtzYW0uIERldGFpbHMgaGllcjoKCmh0dHA6Ly93aWtpLnZvcnJhdHNkYXRlbnNwZWljaGVydW5nLmRlL0VuZHNwdXJ0L0JlcmxpbgoKVW5kIGhpZXIgZGVyIEF1ZnJ1ZjogaHR0cDovL3d3dy5mcmVpaGVpdHN0YXR0YW5nc3QuZGUvCgpCaXNrZW4ga3VyemZyaXN0aWcuIE5hamEuIFdpZSB1ZWJsaWNoIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWElORy1HcnVwcGUgKFNoYWtlZGJlZXIsIDMwLiBOb3YgMjAwNywgMTU6MDA6MjMpOgpIYWxsbyEKCk5hY2hkZW0gaWNoIGluendpc2NoZW4gMjcgTW9yZ2VuR3JhdWVuLUtvbnRha3RlIGluIFhpbmcgaGFiZSB1bmQgbWVocmZhY2gKZ2VzYWd0IHd1cmRlLCBkYXNzIG1hbiBkYSBtYWwgZWluZSBlaWdlbmUgR3J1cHBlIGF1Zm1hY2hlbiBrb2VubnRlLCBoYWJlIGljaApkaWUgbWFsIGF1ZmdlbWFjaHQ6CgpodHRwOi8vd3d3LnhpbmcuY29tL2dyb3VwLTEzMTU5LjRhMDBjNgoKV2VyIFhpbmcgbm9jaCBuaWNodCBrZW5udDogRGFzIGlzdCBkYXMgZWhlbWFsaWdlIG9wZW5CQyB1bmQgZWluCkJ1c2luZXNzLU5ldHp3ZXJrLiBJc3QgaW4gZGVyIEdydW5kdmVyc2lvbiBrb3N0ZW5sb3MgdW5kIGZ1ZXIgZWluIHBhYXIgRXVybyBpbQpNb25hdCBlaW4gZWNodCBtYWVjaHRpZ2VzIFRvb2wuCgpTaGFreS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaWhuYWNodGVuIChHcmltbWJvcm4sIDIzLiBEZXogMjAwNywgMDk6MTg6MDEpOgpXZWlsIGVzIGVpbmUgc28gc2Nob2VuZSBUcmFkaXRpb24gaXN0IGdpYnRzIGF1Y2ggZGllc2VzIEphaHIgd2llZGVyIGRpZQp0cmFkaXRpb25lbGxlIFdlaWhuYWNodHNnZXNjaGljaHRlLiBBdWNoIG5hY2ggMTEwIEphaHJlbiBoYXQgc2llLCBmaW5kZSBpY2gsCm5pY2h0cyB2b24gaWhyZW0gWmF1YmVyIHZlcmxvcmVuLgoKCkVpbmUga2xlaW5lIEdlc2NoaWNodGUgenVyIFdlaWhuYWNodAoKRGllIGFjaHRqYWVocmlnZSBWaXJnaW5pYSBPJ0hhbmxvbiBhdXMgTmV3IFlvcmsgd29sbHRlIGVzIGdhbnogZ2VuYXUgd2lzc2VuLiAKRGFydW0gc2NocmllYiBzaWUgYW4gZGllIFRhZ2VzemVpdHVuZyAiU3VuIiBlaW5lbiBCcmllZjoKCiJJY2ggYmluIGFjaHQgSmFocmUgYWx0LiBFaW5pZ2Ugdm9uIG1laW5lbiBGcmV1bmRlbiBzYWdlbiwgZXMgZ2lidCBrZWluZW4KV2VpaG5hY2h0c21hbm4uIFBhcGEgc2FndCwgd2FzIGluIGRlciAnU3VuJyBzdGVodCBpc3QgaW1tZXIgd2Foci4gQml0dGUgc2FnZW4KU2llIG1pcjogR2lidCBlcyBlaW5lbiBXZWlobmFjaHRzbWFubj8gLSBWaXJnaW5pYSBPJ0hhbmxvbiIKCkRpZSBTYWNoZSB3YXIgZGVtIENoZWZyZWRha3RldXIgRnJhbmNpcyBQLiBDaHVyY2ggc28gd2ljaHRpZywgZGFzcyBlciBzZWxiZXIKYW50d29ydGV0ZSAtIGF1ZiBkZXIgVGl0ZWxzZWl0ZSBkZXIgIlN1biI6CgoiVmlyZ2luaWEsCkRlaW5lIGtsZWluZW4gRnJldW5kZSBoYWJlbiBuaWNodCByZWNodC4gU2llIGdsYXViZW4gbnVyLCB3YXMgc2llIHNlaGVuOyBzaWUKZ2xhdWJlbiwgZGFzcyBlcyBuaWNodCBnZWJlbiBrYW5uLCB3YXMgc2llIG1pdCBpaHJlbSBrbGVpbmVuIEdlaXN0IG5pY2h0CmVyZmFzc2VuIGtvZW5uZW4uIEFsbGVyIE1lbnNjaGVuZ2Vpc3QgaXN0IGtsZWluOyBvYiBlciBudW4gZWluZW0gRXJ3YWNoc2VuZW4Kb2RlciBlaW5lbSBLaW5kIGdlaG9lcnQuIEltIFdlbHRhbGwgdmVybGllcnQgZXIgc2ljaCB3aWUgZWluIHdpbnppZ2VzIEluc2VrdC4KU29sY2hlciBBbWVpc2VudmVyc3RhbmQgcmVpY2h0IG5pY2h0IGF1cywgZGllIGdhbnplIFdhaHJoZWl0IHp1IGVyZmFzc2VuIHVuZAp6dSBiZWdyZWlmZW4uCkphLCBWaXJnaW5pYSwgZXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gRXMgZ2lidCBpaG4gc28gZ2V3aXNzIHdpZSBMaWViZQp1bmQgR3Jvc3NoZXJ6aWdrZWl0IHVuZCBUcmV1ZS4gV2VpbCBlcyBhbGwgZGFzIGdpYnQsIGthbm4gdW5zZXIgTGViZW4gc2Nob2VuCnVuZCBoZWl0ZXIgc2Vpbi4gV2llIGR1bmtlbCB3YWVyZSBkaWUgV2VsdCwgd2VubiBlcyBrZWluZW4gV2VpaG5hY2h0c21hbm4KZ2FlYmUhIEVzIGdhZWJlIGRhbm4gYXVjaCBrZWluZSBWaXJnaW5pYSwga2VpbmVuIEdsYXViZW4sIGtlaW5lIFBvZXNpZSAtIGdhcgpuaWNodHMsIHdhcyBkYXMgTGViZW4gZXJzdCBlcnRyYWVnbGljaCBtYWNodGUuIEVpbiBGbGFja2VycmVzdCBhbiBzaWNodGJhcmVtClNjaG9lbmVuIGJsaWViZSB1ZWJyaWcuIEFiZXIgZGFzIExpY2h0IGRlciBLaW5kaGVpdCwgZGFzIGRpZSBXZWx0IGF1c3N0cmFobHQsCm11ZXNzdGUgdmVybG9lc2NoZW4uCkVzIGdpYnQgZWluZW4gV2VpaG5hY2h0c21hbm4uIFNvbnN0IGtvZW5udGVzdCBEdSBhdWNoIGRlbiBNYWVyY2hlbiBuaWNodApnbGF1YmVuLiBHZXdpc3MsIER1IGtvZW5udGVzdCBEZWluZW4gUGFwYSBiaXR0ZW4sIGVyIHNvbGxlIGFtIEhlaWxpZ2VuIEFiZW5kCkxldXRlIGF1c3NjaGlja2VuLCBkZW4gV2VpaG5hY2h0c21hbm4genUgZmFuZ2VuLiBVbmQga2VpbmVyIGJla2FlbWUgaWhuIHp1Ckdlc2ljaHQgLSB3YXMgd3VlcmRlIGRhcyBiZXdlaXNlbj8gS2VpbiBNZW5zY2ggc2llaHQgaWhuIGVpbmZhY2ggc28uIERhcwpiZXdlaXN0IGdhciBuaWNodHMuIERpZSB3aWNodGlnZW4gRGluZ2UgYmxlaWJlbiBtZWlzdGVucyB1bnNpY2h0YmFyLiBEaWUKRWxmZW4sIHp1bSBCZWlzcGllbCwgd2VubiBzaWUgYXVmIE1vbmR3aWVzZW4gdGFuemVuLiBUcm90emRlbSBnaWJ0IGVzIHNpZS4gQWxsCmRpZSBXdW5kZXIgenUgZGVua2VuIC0gZ2VzY2h3ZWlnZSBkZW5uIHNpZSB6dSBzZWhlbiwgZGFzIHZlcm1hZyBuaWNodCBkZXIKS2x1ZWdzdGUgYXVmIGRlciBXZWx0LiBXYXMgRHUgYXVjaCBzaWVoc3QsIER1IHNpZWhzdCBuaWUgYWxsZXMuCkR1IGthbm5zdCBlaW4gS2FsZWlkb3Nrb3AgYXVmYnJlY2hlbiB1bmQgbmFjaCBkZW4gc2Nob2VuZW4gRmFyYmZpZ3VyZW4gc3VjaGVuLgpEdSB3aXJzdCBlaW5pZ2UgYnVudGUgU2NoZXJiZW4gZmluZGVuLCBuaWNodHMgd2VpdGVyLiBXYXJ1bT8gV2VpbCBlcyBlaW5lbgpTY2hsZWllciBnaWJ0LCBkZXIgZGllIHdhaHJlIFdlbHQgdmVyaHVlbGx0LCBlaW5lbiBTY2hsZWllciwgZGVuIG5pY2h0IGVpbm1hbAphbGxlIEdld2FsdCBhdWYgZGVyIFdlbHQgemVycmVpc3NlbiBrYW5uLiBOdXIgR2xhdWJlIHVuZCBQb2VzaWUgdW5kIExpZWJlCmtvZW5uZW4gaWhuIGx1ZWZ0ZW4uIERhbm4gd2lyZCBkaWUgU2Nob2VuaGVpdCB1bmQgSGVycmxpY2hrZWl0IGRhaGludGVyIGF1ZgplaW5tYWwgenUgZXJrZW5uZW4gc2Vpbi4gCidJc3QgZGFzIGRlbm4gYXVjaCB3YWhyPycga2FubnN0IER1IGZyYWdlbi4gVmlyZ2luaWEsIG5pY2h0cyBhdWYgZGVyIGdhbnplbgpXZWx0IGlzdCB3YWhyZXIgdW5kIG5pY2h0cyBiZXN0YWVuZGlnZXIuIERlciBXZWlobmFjaHRzbWFubiBsZWJ0LCB1bmQgZXdpZwp3aXJkIGVyIGxlYmVuLiBTb2dhciBpbiB6ZWhubWFsIHplaG50YXVzZW5kIEphaHJlbiB3aXJkIGVyIGRhIHNlaW4sIHVtIEtpbmRlcgp3aWUgRGljaCB1bmQgamVkZXMgb2ZmZW5lIEhlcnogbWl0IEZyZXVkZSB6dSBlcmZ1ZWxsZW4uIEZyb2hlIFdlaWhuYWNodCwKVmlyZ2luaWEuCkRlaW4gRnJhbmNpcyBQLiBDaHVyY2giCgooRGVyIEJyaWVmd2VjaHNlbCB6d2lzY2hlbiBWaXJnaW5pYSBPJ0hhbmxvbiB1bmQgRnJhbmNpcyBQLiBDaHVyY2ggc3RhbW10IGF1cwpkZW0gSmFociAxODk3LiBFciB3dXJkZSB1ZWJlciBlaW4gaGFsYmVzIEphaHJodW5kZXJ0IGJpcyB6dXIgRWluc3RlbGx1bmcgZGVyCiJTdW4iIGltIEphaHJlIDE5NTAgYWxsZSBKYWhyZSB3aWVkZXIgenVyIFdlaWhuYWNodHN6ZWl0IGF1ZiBkZXIgZXJzdGVuIFNlaXRlCmRlciBaZWl0dW5nIGFiZ2VkcnVja3QuKQoKCkljaCB3dWVuc2NoZSBhbGxlbiBlaW4gZnJvaGVzIHVuZCBnZXNlZ25ldGVzIFdlaWhuYWNodHNmZXN0IQoKR3JpbW1ib3JuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0ZW4gKEFsYm9pbiwgMjMuIERleiAyMDA3LCAxMzozNjozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE5ODM5Nzg4MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTgzOTc4ODEKTmFqYSBoZXV0ZSBpc3QgZXJzdCBkZXIgMjMuMTIuCmFsLCBkZXIgbWl0IE1lY2tlcm4gbmljaHQgYW5mYWVuZ3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0ZW4gKENyb2Z0LCAyMy4gRGV6IDIwMDcsIDEzOjQxOjA1KToKfiMhIHJuPUFsYm9pbiBydD0xMTk4NDEzMzk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5ODM5Nzg4MQpEYWZ1ZXIgZGFzIHNpZSBlcnN0IGVpbm1hbCBhbiBlaW5lbSAyNC4gZ2Vwb3N0ZXQgd3VyZGUgdW5kIGR1IGRlbgpGcnVlaC1SZWtvcmQgbWl0IGRlbSAxOC4gaGFlbHRzdCwgdmVyc3RlaCBpY2ggZGVpbmVuIEFydGlrZWwgbmljaHQKd2lya2xpY2ggOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5zaWNodGVuIHVlYmVyIFdlaWhuYWNodGVuIChNYXN1bCwgMjQuIERleiAyMDA3LCAxODowNzowOCk6CltmcmFnZSBob2NoZ2V3ZWlodGUgbmFjaCB3ZWlobmFjaHRlbl0KQXNzaW5kaWEgZml4aWVydCBEaWNoIG1pdCBpaHJlbSB0dWVya2lzYmxhdWVuIEF1Z2UgdW5kIHNhZ3Q6CkJldGV0IGxpZWJlciB6dXIgR29ldHRpbiwgc3RhdHQgc28gZWluZW4gVW5zaW5uIHp1IGZyYWdlbiEKCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW5zaWNodGVuIHVlYmVyIFdlaWhuYWNodGVuIChFc21lLCAyNC4gRGV6IDIwMDcsIDE4OjA4OjIwKToKfiMhIHJuPU1hc3VsIHJ0PTExOTg1MTYwMjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk4NTE2MDI4ClJlY2h0IGhhdCBzaWUgOikKCkVzbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5zaWNodGVuIHVlYmVyIFdlaWhuYWNodGVuIChSdW1hdGEsICAzLiBKYW4gMjAwOCwgMTE6NTA6MDUpOgp+IyEgcm49RXNtZSBydD0xMTk4NTE2MTAwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5ODUxNjAyOApHZW5hdSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1YWRyYW50aWRlbi1NYXhpbXVtIDIwMDggKFZhbmlvbiwgIDMuIEphbiAyMDA4LCAxMTo1MDoxMyk6CkF1cyBkZW0gaGV1dGlnZW4gQXN0cm9jb3JuZXItTmV3c2xldHRlcjoKCkFtIGZydWVoZW4gTW9yZ2VuIGRlcyA0LiBKYW51YXIgMjAwOCBkdXJjaHF1ZXJ0IGRpZSBFcmRlIGVpbmUgaW50ZXJwbGFuZXRhcmUKU3RhdWJ3b2xrZS4gRGFiZWkgd2VyZGVuIHphaGxyZWljaGUgd2luemlnZSBUcnVlbW1lciBpbiBkaWUgRXJkYXRtb3NwaGFlcmUKZWludHJldGVuIHVuZCBlaW4gd2ludGVybGljaGVzIFN0ZXJuc2NobnVwcGVuLUZldWVyd2VyayBlbnRzdGVoZW4gbGFzc2VuLiBEYXMKc3BpdHplIE1heGltdW0gZGVzIFF1YWRyYW50aWRlbi1TdHJvbXMgd2lyZCBnZWdlbiAwNzo0MCBVaHIgTUVaIGVpbnRyZXRlbi4KCkZ1ZXIgQmVvYmFjaHRlciBpbSBkZXV0c2Noc3ByYWNoaWdlbiBSYXVtIGJlZmluZGV0IHNpY2ggZGVyIFJhZGlhbnQgenUgZGllc2VyClplaXQgaG9jaCB1ZWJlciBkZW0gSG9yaXpvbnQuIEFsbGVyZGluZ3MgYmVoaW5kZXJ0IGRpZSBmb3J0c2NocmVpdGVuZGUKTW9yZ2VuZGFlbW1lcnVuZyBkaWUgU2ljaHQgYXVmIGRpZSB6dW1laXN0IGxpY2h0c2Nod2FjaGVuClF1YWRyYW50aWRlbi1NZXRlb3JlLiBXZXIgdHJvdHpkZW0gdmVyc3VjaGVuIG1vZWNodGUsIGVpbmlnZSBTdGVybnNjaG51cHBlbiB6dQpiZW9iYWNodGVuLCBmaW5kZXQgaGllciBhbGxlIHdpY2h0aWdlbiBJbmZvcm1hdGlvbmVuLgoKd2VpdGVyZSBJbmZvcm1hdGlvbmVuIG9ubGluZSB1bnRlcjoKaHR0cDovL2FzdHJvY29ybmVyLmRlL2luZGV4LzAyX3dpc3Nlbi8wMV9rb3Ntb2xvZ2llLzAxX3Nvbm5lbnN5c3RlbS8wN19tZXRlb3JvCmlkZW4vcXVhZHJhbnRpZGVuLnBocAotLS0KaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vMmtyb3ByCgpWaWVsIFNwYXNzIGFuIGFsbGUgRnJ1ZWhhdWZzdGVoZXIgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJidW5nL0xvZ28gKEVubm94LCAgNC4gSmFuIDIwMDgsIDE0OjEzOjE0KToKTGllYmUgTWl0bXVkZGVyLAp3aXIgaGFiZW4gdm9yIGVpbmVyIFdlaWxlIGFuZ2VyZWd0LCBlaW4gbmV1ZXMgTG9nbyBmdXIgZGFzIE1HIHVuZCBkZW4KVmVyZWluIHp1IHN1Y2hlbi4gRGllIEVyZ2Vibmlzc2Ugc2NobHVtbWVybiBudW4gc2Nob24gc2VpdCBlaW5lciBXZWlsZSBhdWYKZGVuIFdpa2ktU2VpdGVuIHZvciBzaWNoIGhpbi4KCldpciBiaXR0ZW4gRXVjaCB1bSBFdXJlIGdlc2NoYXR6dGUgQXVmbWVya3NhbWtlaXQsIGRlbm4gd2lyIHdvbGxlbiBkYXMKTG9nbyBudXR6ZW4gdW0gc3RhcmtlciBpbiBkaWUgT2ZmZW50bGljaGtlaXQgenUgdHJldGVuLCBkYXp1IG11c3MgbWFuIGF1Y2gKd2llZGVyZXJrYW5udCB3ZXJkZW4uIEFsc28gYml0dGUgYW5zY2hhdWVuLCBiZXdlcnRlbiB1bmQgdW5zIEV1cmUgTWVpbnVuZwpzY2hpY2tlbi4KCgpWaWVsZW4gRGFuayBub2NoIGVpbm1hbCBhbiBMaWFyYSwgS2Vzc2EsIFJ1bWF0YSwgWmVwaHlyLCBGcmVpdGFnLCBEYXJrbG9yCmZ1ciBJaHJlIElkZWVuIHVuZCBFbnR3dXJmZS4KCmh0dHA6Ly93aWtpLm1vcmdlbmdyYXVlbi5pbmZvL2luZGV4LnBocD9uPUxvZ28uTG9nbwoKTWVzaQpQUy4gQXVjaCBoaWVyIHdlbm4gbW9lZ2xpY2ggRGlza3Vzc2lvbiBhdWYgZGVyIFZlcmVpbnNtYWlsaW5nbGlzdGUsIHdlciBrZWluCk1pdGdsaWVkIGlzdCwga2FubiBkYXMgZ2VybiB3ZXJkZW4gb2RlciBzZWluZSBlLW1haWxzIHRyb3R6ZGVtIGFuCnZlcmVpbnNtaXRnbGllZGVyQG1nLm11ZC5kZSBzY2hpY2tlbiwgd2lyIGxhc3NlbiBkaWUgZGFubiBkdXJjaC4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlcmJ1bmcvTG9nbyAoRW5ub3gsICA0LiBKYW4gMjAwOCwgMTQ6MTQ6MDQpOgp+IyEgcm49RW5ub3ggcnQ9MTE5OTQ1MjM5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKSW0gTm90ZmFsbCBuYXR1ZXJsaWNoIGF1Y2ggRGlza3Vzc2lvbiBoaWVyLCB3aXIgd29sbGVuIG5pZW1hbmRlbiBhZXJnZXJuLCBhYmVyCjIgVGhyZWFkcyB6dXNhbW1lbnp1aGFsdGVuIGlzdCBTY2hsaW1tZXIgYWxzIE11ZGRlciBpbSBTYW5ka2FzdGVuLgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlcmJ1bmcvTG9nbyAoQmFtYnVsa28sICA0LiBKYW4gMjAwOCwgMTQ6MTg6NDEpOgp+IyEgcm49RW5ub3ggcnQ9MTE5OTQ1MjQ0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKRGFubiBhZXJnZXJlIGljaCBldWNoIG1hbC4gSWNoIGJpbiBpbW1lciBub2NoIGZ1ZXIgMjIgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXJidW5nL0xvZ28gKEdub21lLCAgNC4gSmFuIDIwMDgsIDIxOjI4OjQ1KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExOTk0NTI3MjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CmljaCBkYWNodGUsIGRpZSBtZWlzdGVuIHNpbmQgYXVmIDIyIHVtZ2VzY2h3ZW5rdD8KamV0enQgd2llZGVyL25vY2ggZWluZSBkaXNrdXNzaW9uIHN0YXJ0ZW4/IHdhcnVtPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlcmJ1bmcvTG9nbyAoWmVzc3RyYSwgIDQuIEphbiAyMDA4LCAyMTozMDoxMik6Cn4jISBybj1Hbm9tZSBydD0xMTk5NDc4NTI1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApOdWphLi4uIERlciBNRyBlLlYuIGJlc3RlaHQgamEgYXVjaCBhdXMgbWVociBhbHMgbnVyIGRlbiBha3RpdiBzcGllbGVuZGVuCk1pdGdsaWVkZXJuLiBVbmQgZGFubiBrYW5uIG1hbnMgYXVjaCBkaXJla3QgbWl0IGFsbGVuIGRpc2t1dGllcmVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VyYnVuZy9Mb2dvIChHbm9tZSwgIDQuIEphbiAyMDA4LCAyMTozMzoxMik6Cn4jISBybj1aZXNzdHJhIHJ0PTExOTk0Nzg2MTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0Cm9rLCBhYmVyIGRhbm4gaGFldHRlbiB3aXIgZG9jaCBnbGVpY2ggbWl0IGFsbGVuIHVlYmVyIGVpbmUgb2VmZmVudGxpY2hlCnNjaG5pdHRzdGVsbGUgekIgaW0gd2ViIGRpc2t1dGllcmVuIGtvZW5uZW4uLi4gb2Rlcj8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZXJidW5nL0xvZ28gKE1haGFyZXQsICA2LiBKYW4gMjAwOCwgMTM6NDg6NTgpOgp+IyEgcm49R25vbWUgcnQ9MTE5OTQ3ODc5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKSmEsIGRpZSBvZWZmZW50bGljaGUgU2Nobml0dHN0ZWxsZSBpc3QgZGllIE1haWxpbmdsaXN0ZSBkZXIgTWl0Z2xpZWRlciwKc2NobGllc3NsaWNoIGdlaHQgZXMgdW0gZWluIExvZ28gZnVlciBkZW4gVmVyZWluLCBhbHNvIGlzdCBkYXMgaW4gYWxsZXJlcnN0ZXIKTGluaWUgYXVjaCBBbmdlbGVnZW5oZWl0IGRlciBWZXJlaW5zbWl0Z2xpZWRlci4gVW5kIGRhcyBkYW1hbHMgd2FyIGtlaW5lCkFic3RpbW11bmcsIGRhIGhhYmVuIG51ciBlaW4gcGFhciBMZXV0ZSBlcndhZWhudCwgd2VsY2hlcyBMb2dvIGlobmVuIGFtIGJlc3RlbgpnZWZhZWxsdC4gU2Nod2VpZ2VuIGlzdCBkYSBrZWluZSBadXN0aW1tdW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VyYnVuZy9Mb2dvIChBbmF0b2wsICA5LiBKYW4gMjAwOCwgMTk6MjA6MjkpOgp+IyEgcm49TWFoYXJldCBydD0xMTk5NjIzNzM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApCbG9lZGUgRnJhZ2UgT1Q6IFdlc2hhbGIgZ2VuYXUgbm9jaG1hbCBzaW5kIGRpZSBJbmhhbHRlIGZ1ZXIgZGFzIE1HCmF1ZiBtZy5tdWQuZGUgdW5kIHd3dy5tb3JnZW5ncmF1ZW4uaW5mbyBnZXRyZW5udCwgd28gc2llIGRlc2lnbm1hZXNzaWcKZG9jaCBzZWhyIGVuZyBiZWllaW5hbmRlciBzaW5kPwoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXZXJidW5nL0xvZ28gKE1haGFyZXQsICA5LiBKYW4gMjAwOCwgMTk6MzI6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTExOTk5MDI4Mjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkljaCB3dWVyZGUgbWljaCBudXIgd2llZGVyaG9sZW4uIE9rLCBub2NobWFsIGt1cnogZnVlciBkaWNoOiBEaWUgSW5oYWx0ZSBzaW5kCnZvZWxsaWcgdW50ZXJzY2hpZWRsaWNoLiBEaWUgbWcubXVkLmRlIGlzdCB1bnNlcmUgcmVwcmFlc2VudGF0aXZlIFNlaXRlLAp1bnNlcmUgVmlzaXRlbmthcnRlLCB1bnNlcmUgZnVlciBkaWUgT2VmZmVudGxpY2hrZWl0IGdlZGFjaHRlIFNlaXRlLgpEYXMgV2lraSBpc3QgdW5zZXIgQXJiZWl0c2J1ZXJvLCBkYSB3ZXJkZW4gZGllIElkZWVuIGdlc2FtbWVsdCB1bmQgZW50d2lja2VsdCwKZWhlIHNpZSBkYW5uIC0gZXZlbnR1ZWxsIC0gYXVmIGRpZSBtZy5tdWQuZGUga29tbWVuLCB3ZW5uIHNpZSBkYWZ1ZXIgZ2VkYWNodApzaW5kLCBvZGVyIGhhbHQgZnVlciB3YXMgYW5kZXJlcyB2ZXJ3ZW5kZXQgd2VyZGVuLCB3aWUgekIgZGFzIExvZ28uIERBcyBpc3QKd2FzIGludGVybmVzLCBpbm9mZml6aWVsbGVzLCBmdWVyIGRpZSBCYXN0bGVyIHVuZCBJZGVlbmVudHdpY2tsZXIuICAKamEsIHNpZSBoYWJlbiBkYXMgZ2xlaWNoZSBDU1MsIHdlaWwgZGFzIG51bm1hbCBzY2hpY2sgaXN0LiBBYmVyIHdlbm4gZHUgZGVpbmUKU2FjaGVuIG51ciBuYWNoIGRlbSBkZXIgYWV1c3NlcmVuIEh1ZWxsZSBzb3J0aWVyc3QgdW5kIG5pY2h0IG5hY2ggZGVtIEluaGFsdCwKZGFubiBpc3QgZGFzIG5pY2h0IGVpbiBhbGxnZW1laW5ndWVsdGlnZXMgU29ydGllcnN5c3RlbSwgZGllIG1laXN0ZW4gdm9uIHVucwpoYW5kaGFiZW4gZGFzIG51bm1hbCBnZXJuIGFuZGVyczogbmFjaCBJbmhhbHRlbiBlYmVuLgpBdWYgZGllIG1nLm11ZC5kZSBrb2VubmVuIG51ciBnYW56IHdlbmlnZXIgTGV1dGUgenVncmVpZmVuLCBha3RpdiBzaW5kIGRhcwpkZXJ6ZWl0IGRyZWksIHdlbm4gaWNoIG1pY2ggbmljaHQgaXJyZS4gSW5zIFdpa2kga2FubiBqZWRlciBzY2hyZWliZW4sIHdhcyBkZXIKSWRlZW5lbnR3aWNrbHVuZyB1bmhlaW1saWNoIGVudGdlZ2VuIGtvbW10LgpXZW5uIGR1IGRhcyBuaWNodCBuYWNodm9sbHppZWhlbiBrYW5uc3QsIGRhbm4gdHV0IG1pciBkYXMgZWhybGljaCBsZWlkLCBhYmVyCm1pciBmYWVsbHQgamV0enQgbmljaHQgZWluLCB3aWUgaWNoIGRhcyBiZXNzZXIgZXJrbGFlcmVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXZXJidW5nL0xvZ28gKE1haGFyZXQsICA5LiBKYW4gMjAwOCwgMTk6Mzc6MjIpOgp+IyEgcm49TWFoYXJldCBydD0xMTk5OTAzNTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApVcHMsIG9mZmVuYmFyIHdpcmQgZGFzIGhpZXIgZmFsc2NoIHZlcnN0YW5kZW46IE5laW4sIHp3aXNjaGVuIEFuYXRvbCB1bmQgbWlyCmhlcnJzY2h0IGtlaW4gS3JpZWdzenVzdGFuZC4gQW5hdG9sIGtvbm50ZSBtZWluZSBUZW1wZXJhbWVudHNhdXNicnVlY2hlIGltbWVyCmd1dCB2ZXJhcmJlaXRlbiwgdW5kIGRhcyBoaWVyIGlzdCBuaWNodCBtYWwgZWluZXIgZ2V3ZXNlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2VyYnVuZy9Mb2dvIChBbmF0b2wsICA5LiBKYW4gMjAwOCwgMjA6MTU6MzApOgp+IyEgcm49TWFoYXJldCBydD0xMTk5OTAzNTcxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApNaXIgaXN0IGRhcyB0YXRhZWNobGljaCBuaWNodCAxMDAlIHNjaGx1ZXNzaWcuIERpZSBTZWl0ZW4gdmVyd2Vpc2VuCmJydWNobG9zIGF1ZmVpbmFuZGVyIC0gZGllIHVuYmVkYXJmdGVuIExlc2VyIChmdWVyIGRpZSBlaW5lIFRyZW5udW5nCnp3aXNjaGVuIFBSIHVuZCBDb21tdW5pdHkgbm9jaCBhbSBzaW5udm9sbHN0ZW4gd2FlcmU/KSBiZWtvbW1lbiBkZW4KV2VjaHNlbCB2aWVsbGVpY2h0IGdhciBuaWNodCBtaXQuIFVuZCB3YXJ1bSBtdXNzIGRpZXNlIFRyZW5udW5nIGRlbm4KdWViZXJoYXVwdCBzZWluPyBMZWJlbmRlIFNlaXRlbiAtIGVnYWwgb2Igdm9uIGRlciBHZW1laW5zY2hhZnQgb2Rlcgp2b24gZWluaWdlbiB3ZW5pZ2VuIGJldHJldXQgLSBzaW5kIHdhcyBmZWluZXMuCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXZXJidW5nL0xvZ28gKE1haGFyZXQsICA5LiBKYW4gMjAwOCwgMjA6MjA6MTcpOgp+IyEgcm49QW5hdG9sIHJ0PTExOTk5MDYxMzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0Ck5hamEsIGRhIHdlaXNzIGljaCBqZXR6dCBlY2h0IHp1IHdlbmlnIHVlYmVyIFRlY2huaWsuIEF1ZiBkZW4gTUctU2VydmVyCmR1ZXJmZW4gd2llIGdlc2FndCBudXIgZ2FueiB3ZW5pZ2UgenVncmVpZmVuLCBvYiBkYXMgZGFubiBtaXQgZGVtIFdpa2kgc28gZ3V0CmxhdWZlbiB3dWVyZGUsIGthbm4gaWNoIG5pY2h0IGFic2NoYWV0emVuLiBBbHNvIGljaCBrYW5uIG1pciB2b3JzdGVsbGVuLCBkYXNzCmF1ZmdydW5kIGRlciBXaWtpLUVpZ2Vuc2NoYWZ0IGRhbm4gYXVjaCBzbyB2aWVsZSB6dWdyZWlmZW4ga29lbm50ZSwgYWJlciBkYXMKd2Vpc3MgaWNoIGhhbHQgbmljaHQsIGF1Y2ggbmljaHQsIG9iIGRhcyBuaWNodCBzb25zdGlnZSBQcm9ibGVtZSBiaXJndC4gQWJlcgpkaWUgV2FydHVuZyB3YWVyZSBkYW5uIGhhbHQgdW0gZWluaWdlcyBzY2h3aWVyaWdlci4KSWNoIHdlaXNzIGhhbHQgbmljaHQsIHdpZSB2ZXJicmVpdGV0IGRhcyBQcm9ibGVtIGlzdC4gV2VubiBkdSBkYXMgc28gc2llaHN0LAp3aXJkIGRhcyBzaWNoZXIgYXVjaCBhbmRlcmVuIHNvIGdlaGVuLiBVbmQgd2VubiBkYXMgbmUgamV0enQgZWluZXIKYmVhY2h0bGljaGVuIEFuemFobCB2b24gTGV1dGVuIHdpcmtsaWNoIHNvIHNlaHIgd2ljaHRpZyBpc3QsIG11ZXNzdGUgbWFuCnVlYmVybGVnZW4sIHdpZSBtYW4gZGFzIHRyZW5uZW4ga2Fubi4gQWJlciBzb3dlaXQgaWNoIGRhcyBoYWx0IG1pdGdla3JpZWd0CmhhYmUsIHNlaGVuIHZpZWxlIGRpZSBpbmhhbHRsaWNoZSBUcmVubnVuZyBnZW5hdXNvIGRldXRsaWNoIHdpZSBpY2gsIG9obmUgZGFzcwpzaWUgZGllIGdyYXBoaXNjaGUgVHJlbm51bmcgZnVlciBub3R3ZW5kaWcgaGFsdGVuLiBXZW5uIGljaCBkaWUgZWluemlnZSB3YWVyZSwKd3VlcmRlIGljaCBtaXIgbmljaHQgZGllIE11ZWhlIG1hY2hlbiBoaWVyIHp1IHNjaHJlaWJlbiA7KQpBYmVyIG9mZmVuYmFyIHNpbmQgd2lyIGRpZSBlaW56aWdlbiwgZGllIGdlbnVnIEVpZmVyIGF1ZmJyaW5nZW4sIHVtIHVlYmVyaGF1cHQKd2FzIGRhenUgaW4gZGVyIE1QQSB6dSBzYWdlbiwgYWxzbyBzY2hlaW50IGVzIGRlbiBBbGxlcm1laXN0ZW4gdm9lbGxpZyB3dXJzY2h0Cnp1IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2VyYnVuZy9Mb2dvIChNYWhhcmV0LCAgOS4gSmFuIDIwMDgsIDIxOjI2OjQzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5OTkwNjQxNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKQWxzbyBpY2ggaGFiIGRhIGpldHp0IG5vY2htYWwgZHJ1ZWJlciBuYWNoZ2VkYWNodDoKRGFzIFdpa2kgYW4gc2ljaCBoYXQgc2ljaCBqYSBiZXdhZWhydCwgZGFzcyBrYW5uIHdvaGwgbmllbWFuZCBzdWJzdGFudGlpZXJ0CmJlc3RyZWl0ZW4uCkVpbmUgVmVybGlua3VuZyB2b24gZGVyIEhvbWVwYWdlIGF1cyBpc3Qgc2lubnZvbGwsIGRlbm4gZGEgd2lyZCB3b2hsIGplZGVyCmRhbmFjaCBzdWNoZW4sIGRlciB6dW0gV2lraSBtb2VjaHRlLiBEaWUgSG9tZXBhZ2UtQWRyZXNzZSBoYXQgc2Nob24gamVkZXIgaW0KS29wZiwgYWJlciBuaWNodCB1bmJlZGluZ3QgZGllIFdpa2ktQWRyZXNzZS4gTWFuIGtvZW5udGUgaGFsdCB1ZWJlcmxlZ2VuLCBvYgptYW4gZGllIFZlcmxpbmt1bmcgYW4gYW5kZXJlciBTdGVsbGUgaW0gTWVudWUgb2RlciBzb25zdHdvIGhpbnNldHp0LCBhYmVyIGRhcwppc3QgamEgbnVuIHdpcmtsaWNoIG5lIEtsZWluaWdrZWl0LCBtaXQgZGVyIG1hbiBkb2NoIGVpZ2VudGxpY2ggbGViZW4ga29lbm5lbgptdWVzc3RlLiAgRXMgaXN0IGphIG51biBhdWNoIG5pY2h0IHNvLCBkYXNzIEhvbWVwYWdlIHVuZCBXaWtpIG5pY2h0cyBtaXQKZWluYW5kZXIgenUgdHVuIGhhZXR0ZW4gLSBzY2hsaWVzc2xpY2ggc2luZCBqYSBiZWlkZSBkb2NoIHp1bSBNRyB6dWdlaG9lcmlnLiAKRGEgZHVlcmZlbiBkaWUgYXVjaCBhdWZlaW5hbmRlciB2ZXJsaW5rdCBzZWluLgpXZW5uIG51biBlaW4gQXVzc2Vuc3RlaGVuZGVyLCBkZXIgbWFsIHN0b2ViZXJuIHdpbGwsIHdhcyBlcyBtaXQgZGVtIE1HIGF1ZgpzaWNoIGhhdCwgZHVyY2ggZGVuIExpbmsgYXVmcyBXaWtpIGtvbW10LCB3aXJkIGVyIHJlbGF0aXYgc2NobmVsbCBzZWhlbiwgZGFzcwpkYXMgbmljaHQgZGFzIGlzdCwgd2FzIGVyIHN1Y2h0LiBFciBrb21tdCBhYmVyIGF1Y2ggc2NobmVsbCB3aWVkZXIgenVydWVjayBhdWYKZGllIGZ1ZXIgaWhuIHJlbGV2YW50ZW4gSW5mb3JtYXRpb25lbi4gTmViZW5iZWkgc2llaHQgZXIgYWJlciBhdWNoIG5vY2gsIGRhc3MKZGEgZWluaWdlcyBhbiBBa3Rpdml0YWV0ZW4gYW0gTGF1ZmVuIGlzdCwgZGFzIE1HIGFsc28gLSBpbSBHZWdlbnNhdHogenUgbGVpZGVyCnNlaHIgdmllbGVuIGFuZGVyZW4gTXVkcyAtIG5vY2ggbGVidCB1bmQgZ2VkZWlodC4KV2lraSBhdWYgZGVuIE1HLVNlcnZlciBzY2hpZWJlbj8gSWNoIGdsYXViZSwgQW1hcnlsbGlzIHd1ZXJkZSBzaWNoIGhlcnpsaWNoCmJlZGFua2VuLCB3ZW5uIGVyIGJlaSBuZW0gU3BhbS1BbmdyaWZmIGF1ZnMgV2lraSBha3RpdiB3ZXJkZW4gbXVlc3N0ZS4gRGEgaXN0CmRhcyBzY2hvbiBndXQsIGRhc3MgZGEgTGV1dGUgYXVmIGRlbiBXaWtpLVNlcnZlciBadWdyaWZmIGhhYmVuLCBkaWUgZGEgYXVjaApzY2huZWxsIGhhbmRlbG4ga29lbm5lbi4KTWFsIGdhbnogZGF2b24gYWJnZXNlaGVuIGhhdCBzaWNoIGJpc2hlciBub2NoIG5pZW1hbmQgZGFyYW4gZ2VzdG9lcnQsIGRhc3MgZGllCkdpbGRlbnNlaXRlbiwgZGllIGphIG51biB6dW0gVGVpbCBzb2dhciBhbiBtZWhyZXJlbiBTdGVsbGVuIGRlciBIb21lcGFnZQp2ZXJsaW5rdCBzaW5kLCBhdWNoIGpld2VpbHMgYXVmIG5lbSBhbmRlcmVuIFNlcnZlciBsYXVmZW4uIAoKQWxzbyB3ZW5uIGljaCBpbmhhbHRsaWNoIG5pY2h0IHVlYmVyemV1Z2VuIGthbm4sIGlzdCBkYW5uIGRhcwpBbWFyeWxsaXMtQXJndW1lbnQgdmllbGxlaWNodCBlaW4gR3J1bmQsIGRlciBkaWNoIG1pdCBkZW0gU3RhdHVzIFF1byBGcmllZGVuCnNjaGxpZXNzZW4gbGFlc3N0PyAgOykKCldlbm4gbmljaHQsIHVuZCB3ZW5uIGRhcyB3aXJrbGljaCBhdWNoIGFuZGVyZSBiZXdlZ3QsIGJyYWV1Y2h0ZSBtYW4gbWFsIGVpbmVuCkxvZXN1bmdzdm9yc2NobGFnLiBJY2ggZGVua2UgbmljaHQsIGRhc3Mgc2ljaCBkYSBqZXR6dCBkaWUgTGV1dGUsIGRpZSBrZWluClByb2JsZW0gbWl0IGRlciBkZXJ6ZWl0aWdlbiBEYXJzdGVsbHVuZyBoYWJlbiwgZGVuIEtvcGYgZGFydWViZXIgemVyYnJlY2hlbgpzb2xsdGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBXZXJidW5nL0xvZ28gKEdsb2luc29uLCAgOS4gSmFuIDIwMDgsIDIxOjI5OjUyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5OTkxMDQwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKPiBXaWtpIGF1ZiBkZW0gTUctU2VydmVyCgpIbS4gS2FubiBtYW4gZGFzIG5pY2h0IGVpbmJhdWVuPyBVbmQgYWxzIE51dHplciBhbGxlIE1VRC1Vc2VyIHNhbXQgZGVyZW4KUGFzc3dvcnQgenVsYXNzZW4vdWViZXJuZWhtZW4/IERlbSBHZWxlZ2VuaGVpdHNzcGFtZXIgZHVlcmZ0ZSBkYXMgZWluZW4gZ3V0ZW4KUmllZ2VsIHZvcnNjaGllYmVuIHVuZCBrYXVtIEV4dGVybmUgYXVzc3BlcnJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogV2VyYnVuZy9Mb2dvIChNYWhhcmV0LCAgOS4gSmFuIDIwMDgsIDIxOjMwOjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk5MTA1OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0ClNpY2hlciwgQW1hcnlsbGlzIGhhdCBkYSBiZXN0aW1tdCBMdXN0IGRyYXVmLCBkYXMgenUgbWFjaGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2VyYnVuZy9Mb2dvIChDaGFnYWxsLCAgOS4gSmFuIDIwMDgsIDIxOjMxOjAwKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5OTkxMDYxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKTXVzcyBqYSBuaWNodCB1bmJlZGluZ3QgQW1hcnlsbGlzIHNlaW4sIGRlciBkYXMgZWluYmF1dC4gR2lidCBqYSBub2NoIGFuZGVyZQpFTXMgbWl0IFNoZWxsenVncmlmZi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV2VyYnVuZy9Mb2dvIChHbG9pbnNvbiwgIDkuIEphbiAyMDA4LCAyMTozMjo0NCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExOTk5MTA2NjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkFtYSogbXVlc3N0ZSBkYXMgaGFsdCBudXIgYWJzZWduZW4sIG9iIGlobSBlaW4gImdlc2NobG9zc2VuZXMiIFdpa2kgc2ljaGVyCmdlbnVnIGlzdCBvZGVyIG5pY2h0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXZXJidW5nL0xvZ28gKE1haGFyZXQsICA5LiBKYW4gMjAwOCwgMjE6MzM6NDQpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTk5OTEwNjYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApTb2xsdGVuIHdpciBuaWNodCB2b3JoZXIga2xhZXJlbiwgb2IgZGllIE5vdHdlbmRpZ2tlaXQgYmVzdGVodD8KTXVhZGliLCBkZXIgZGFzIFRoZW1hIGphIGFuZ2VzY2huaXR0ZW4gaGF0dGUsIGlzdCBlaCBzZWl0ZGVtIG5pY2h0IG1laHIKYXVmZ2V0YXVjaHQuCgpBbmF0b2wgaXN0IG1pciBsaWViIHVuZCB0ZXVlciB1bmQgaWNoIGhhZXR0ZSBmdWVyIGlobiB2ZXJtdXRsaWNoIHNvZ2FyIG5vY2htYWwKMiBKYWhyZSBLYXNzZW53YXJ0IGdlbWFjaHQuIEFiZXIgb2Igd2lyIGpldHp0IGZ1ZXIgaWhuIGRhcyBXaWtpIHVtemllaGVuCmxhc3NlbiBzb2xsdGVuPyA7KQpubgpNaXIgaGF0IGJpc2hlciBhdWNoIG5vY2gga2VpbmVyIGVya2xhZXJ0LCB3YXMgc28gZnVyY2h0YmFyIGRhcmFuIGlzdCwgZGFzcyBkaWUKYXVmIHVudGVyc2NoaWVkbGljaGVuIFNlcnZlcm4gbGF1ZmVuLiBEaWUgSG9tZXBhZ2UgaGF0IGphIG51biB3aXJrbGljaCBuaWNodApkYXJ1bnRlciBnZWxpdHRlbiwgZGFzcyBlcyBkYXMgV2lraSBnaWJ0LiBVbmQgd2llIGdlc2FndCwgYmVpIGRlbiBHaWxkZW5zZWl0ZW4KaGF0IGRhcyBiaXNoZXIgbm9jaCBuaWVtYW5kZW4gZ2VzdG9lcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2VyYnVuZy9Mb2dvIChHbG9pbnNvbiwgIDkuIEphbiAyMDA4LCAyMTozNzo0Nyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExOTk5MTA4MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkVzIGlzdCBuaWNodCBmdXJjaHRiYXIsIG51ciBpcnJpdGllcmVuZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV2VyYnVuZy9Mb2dvIChaZXNzdHJhLCAgOS4gSmFuIDIwMDgsIDIxOjQxOjQwKToKfiMhIHJuPUNoYWdhbGwgcnQ9MTE5OTkxMDY2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKQW5kZXJlIEVNcyBoYWJlbiBhYmVyIGtlaW4gKGZ1ZXIgZGllIEVyc3QtRWlucmljaHR1bmcgc2ljaGVybGljaCBub2V0aWdlbikKUm9vdHp1Z3JpZmYgYXVmIGRpZSBNYXNjaGluZSAod2FzIGljaCBmdWVyIG1pY2ggc29nYXIgZWhlciBiZWdydWVzc2UpLiBIaW56dQprb21tdCwgZGFzcyBtYW4gZWluZSBLb21tdW5pa2F0aW9uIHp3aXNjaGVuIFdpa2ktPkFwYWNoZS0+TXVkbGliIGJhdWVuIG11c3MsCndhcyBhdWNoIG5pY2h0IGluIDNtaW4gZ2VtYWNodCBpc3QuIFdhcyBtaWNoIGJldHJpZmZ0OiBpY2ggaGFldHRlIGRpZQpuYWVjaHN0ZW4gTW9uYXRlIGtlaW5lIFplaXQgZGFmdWVyLiBNZWluZSBUb0RvLUxpc3RlIGlzdCB2b2xsIG1pdCAoZnVlciBtaWNoCndpY2h0aWdlcmVuKSBzcGllbGludGVybmVuIFNhY2hlbiwgZGllIHNpY2ggZGlyZWt0ZXIgYXVmIFNwaWVsZXIgYXVzd2lya2VuLiBJbgpBbmJldHJhY2h0IGRlciBsYXVmZW5kZW4gRW5kcGhhc2UgbWVpbmVyIERpc3NlcnRhdGlvbiBibGVpYnQgZGF2b24gZWggc2Nob24KenV2aWVsIGxpZWdlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBXZXJidW5nL0xvZ28gKEtlc3NhLCAgOS4gSmFuIDIwMDgsIDIyOjU2OjU2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk5MTEwNjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0Ck1pY2ggaXJyaXRpZXJlbiBkaWUgdW50ZXJzY2hpZWRsaWNoZW4gU2VydmVyLUFkcmVzc2VuIGdhciBuaWNodCwgZWhlciBpbQpHZWdlbnRlaWw6IGljaCBlcmtlbm5lIGFuIGRlciBXaWtpLUFkcmVzc2UgZGlyZWt0IGdlbmF1IGRhcywgbmFlbWxpY2ggZGFzcyBpY2gKbWljaCBnZXJhZGUgaW0gV2lraSBiZWZpbmRlIHVuZCBuaWNodCBhdWYgZGVuIE1HLVdlYnNlaXRlbi4gRWluIFZvcnNjaGxhZwphbGxlcmRpbmdzOiB3aWUgd2FlcmUgZXMsIGltIFdpa2kgaW0gTWVudSBvYmVuIGxpbmtzIGRlbiBMaW5rIHp1IGRlbiBNRy1TZWl0ZW4KZXR3YXMgZmV0dGVyIHp1IGRydWNrZW4sIGRhbWl0IGVyIHNpY2ggdm9uIGRlbiBXaWtpLWludGVybmVuIExpbmtzIGV0d2FzCmFiaGVidD8KCldpZSBNYWhhcmV0IHNhZ3RlOiBzYWd0IG1hbCB3YXMgZGF6dSwgZGFtaXQgd2lyIHVucyBlaW4gQmlsZCBtYWNoZW4ga29lbm5lbiwKb2IgQmVkYXJmIGFuIEFlbmRlcnVuZ2VuIGJlc3RlaHQuIFZvbiBtZWluZXIgU2VpdGUgYXVzIG5pY2h0LgoKR3J1c3MsIEtlc3NhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2VyYnVuZy9Mb2dvIChBbmF0b2wsICA5LiBKYW4gMjAwOCwgMjM6MDc6MzUpOgp+IyEgcm49S2Vzc2EgcnQ9MTE5OTkxNTgxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKTGFuZ3NhbSwgYnJlY2h0IGV1Y2ggamV0enQgYml0dGUgbmljaHQgZGllIEZpbmdlci4gQXVjaCB3ZW5uIGVzIHNpY2gKbWlyIHJlaW4gYXJndW1lbnRhdGl2IG5pY2h0IGVyc2NobGllc3N0IHdhcnVtIGVzIHNvIGlzdCB3aWUgZXMgaXN0IChlaW5lClRyZW5udW5nIGR1cmNoIERvbWFpbnMsIGFiZXIgYnJ1Y2hsb3NlIChzY2hvZW5lcyBXb3J0KSBVZWJlcmdhZW5nZSkgdW5kCnZvbiBtaXIgYWxzICJOaWNodHMgSGFsYmVzLCBuaWNodHMgR2FuemVzLiIgZW1wZnVuZGVuIHdpcmQgLSBpY2gga2FubgptaXIgbmljaHQgdm9yc3RlbGxlbiwgZGFzcyBncm9lc3NlcmUgVW1zdGVsbHVuZ3NhdWZ3YWVuZGUgbWl0ICJiZXR0ZXIKdW5kZXJzdGFuZGluZyIgenUgcmVjaHRmZXJ0aWdlbiB3YWVyZW4uIERpZSBaZWl0IHVuZCBNdWVoZW4gc2luZCBhbmRlcnN3bwpzaW5udm9sbGVyIHVudGVyZ2VicmFjaHQuIE9iIGVzIGZ1ZXIgbWljaCBwZXJzb2VubGljaCBTaW5uIG1hY2h0Cm9kZXIgbmljaHQsIGlzdCBhdWNoIG5pY2h0IGRhcyBXaWNodGlnc3RlLiBIYXVwdHNhY2hlIGlzdCBkb2NoLCBlcyBiZXdlZ3QKc2ljaCB3ZWl0ZXIuIDopCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2VyYnVuZy9Mb2dvIChLZXNzYSwgIDkuIEphbiAyMDA4LCAyMzoxMDoxOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTE5OTkxNjQ1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKSmEsIGFsc28ga2VpbmUgU29yZ2UsIHdpciB3dWVobGVuIGpldHp0IG5pY2h0IHNpY2hlciBuaWNodCBzcG9udGFuIGFsbGVzIHVtIDopCkRlbm5vY2ggc2luZCBzb2xjaGUgUnVlY2ttZWxkdW5nZW4gaW50ZXJlc3NhbnQgdW5kIGljaCBnZWhlIGltbWVyIGRhdm9uIGF1cywKZGFzcyB3ZW5uIGplbWFuZCBldHdhcyBhbHMgaXJyaXRpZXJlbmQgZW1wZmluZGV0LCBlciBkYW1pdCBuaWNodCBhbGxlaW4gaXN0LgpXZW5uIGRpZSB1bnRlcnNjaGllZGxpY2hlbiBTZXJ2ZXIgYmVpIHJlcHJhZXNlbnRhdGl2IHZpZWxlbiBMZXV0ZW4gZnVlcgpWZXJ3aXJydW5nIHNvcmdlbiwgbG9obnQgc2ljaCBlaW5lIFVtc3RlbGx1bmcgdmllbGxlaWNodCAtIGltIFNpbm5lIHZvbjogZGFubgprYW5uIG1hbiBfYW5mYW5nZW5fLCBlcm5zdGhhZnQgZGFydWViZXIgbmFjaHp1ZGVua2VuLiA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBXZXJidW5nL0xvZ28gKEdhYnlsb24sICA5LiBKYW4gMjAwOCwgMjM6MjA6MDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5OTkxMTA2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKdW0gbmljaHQgaXJyaXRpZXJlbmQgenUgd2lya2VuLCBoYWJlbiBiZWlkZSBkb21haW5zIGRvY2ggZGFzIHNlbGJlIGdld2FuZC4KaWNoIGZpbmRzIGd1dCBzbyB3aWUgZXMgaXN0LiBvYiBiZWlkZSBzYWNoZW4gbnVuIGF1ZiBlaW5lbSBzZXJ2ZXIgbGllZ2VuCm9kZXIgaW4gaGFtYnVyZyBmYWVsbHQgbmUgdHVlciB6dS4uLiB3aWNodGlnIGZpbmRlIGljaCwgZGFzcyBtYW4gYmVpbQp3aWtpIGF1ZiBlaW5lbiBibGljayBlcmtlbm50LCBkYXNzIG1hbiB0aGVtYXRpc2NoIHNpY2ggaW1tZXIgbm9jaAppbSBNRyBiZWZpbmRldC4gYnJ1Y2hsb3MgaXN0IGluIGRpZXNlbSBmYWxsIHNlaHIgZ3V0LgoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2VyYnVuZy9Mb2dvIChHbG9pbnNvbiwgIDkuIEphbiAyMDA4LCAyMzozODowOSk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExOTk5MTcyMDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkFsc28gaWNoIGJlbWVyayBkYXMgaW1tZXIgcmVsYXRpdiBndXQgZGFyYW4sIGRhc3MgaWNoIFdlYnNlaXRlbiBoYWx0IHJlbGF0aXYKcmVzdHJpa3RpdiBiZWhhbmRsZSAoSlMgdW5kIENvKS4gRGFoZXIgaXJyaXRpZXJlbmQuCgpFbXBmZWhsZW5zd2VydCBmYWVuZGUgaWNoIGVpbmUgVW1zdGVsbHVuZyBhdXMgUGVyc3Bla3RpdmUgZGVyIFZlcndhbHR1bmcuIEVpbgpTcGllbCwgZWluIHZvbSBWZXJlaW4gZXJzYW1tZWx0ZXIgU2VydmVyLCBlaW5lIFJlc3NvdXJjZW5xdWVsbGUsIGVpbmUKQmFja3VwbG9lc3VuZyAodXBzLCBkYSB3YXIgZG9jaCB3YXMgLi4uKSwgZWluIEJldHJlaWJlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2VyYnVuZy9Mb2dvIChLZXNzYSwgIDkuIEphbiAyMDA4LCAyMzozOTozMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTk5OTE4Mjg5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApEYXMgd2llZGVydW0gaGF0IHdhcyBmdWVyIHNpY2ggLSBsYW5nZnJpc3RpZyBnZXNlaGVuIHZpZWxsZWljaHQgYW56dXN0cmViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV2VyYnVuZy9Mb2dvIChNYWhhcmV0LCAgOS4gSmFuIDIwMDgsIDIzOjM5OjQ4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk5MTgyODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CktsYXIsIHNvYmFsZCBkZXIgVmVyZWluc3ZvcnN0YW5kIFJvb3R6dWdyaWZmIGF1ZiBkZW4gU2VydmVyIGhhdCBvZGVyIHNvCmFlaG5saWNoIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogV2VyYnVuZy9Mb2dvIChBbWFyeWxsaXMsIDEwLiBKYW4gMjAwOCwgMDk6MzI6NDgpOgp+IyEgcm49TWFoYXJldCBydD0xMTk5OTE4Mzg4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTE5OTQ1MjM5NApCaXR0ZSBuaWNodCA7LSkKCnNjbnIsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBXZXJidW5nL0xvZ28gKFZhbmhlbHNpbmcsIDExLiBKYW4gMjAwOCwgMTc6NTc6MTQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExOTk5NTM5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkljaCBoYWIgYmlzIGpldHp0IG5pY2h0bWFsIGJlbWVya3QsIGRhc3MgTUcgdW5kIE1HLVdpa2kgdmVyc2NoaWVkZW5lIERvbWFpbnMKaGFiZW4uIEljaCB2ZXJzdGVoZSBhdWNoIG5pY2h0LCB3YXMgZGFyYW4gc28gc2NobGltbSBpc3QsIGRhc3MgZXMgc28gaXN0LgpXZXIgc2ljaCBkaWUgU2VpdGVuIGFuc2llaHQsIG11c3MgZG9jaCBlcmtlbm5uZW4sIGRhc3MgZGllc2UgYmVpZGVuIFNlaXRlbgpkaXJla3QgenVzYW1tZW5nZWhvZXJlbi4gSW1tZXJoaW4gc2VoZW4gamEgYmVpZGUgZ2xlaWNoIGF1cy4gVW5kIGVzIGlzdCBqYQpudW5tYWwgc28sIGRhc3MgZXMgMiB2ZXJzY2guIEluaGFsdGUgc2luZC4gRWlubWFsIGRpZSBkaXJla3RlbiBNRy1TZWl0ZW4sIHVuZAplaW5tYWwgZGllICJFbnR3aWNrbHVuZ3N1bWdlYnVuZyIsIHdvIGplZGVyIHNlaW5lbiBTZW5mIGRhenUgZ2ViZW4ga2Fubi4KQnR3LiB3dWVyZGUgaWNoIGFscyAiTmV1bGluZyIgZWhlciBuYWNoIHd3dy5tb3JnZW5ncmF1ZW4uaW5mbyBzdWNoZW4sIGFscwptZy5tdWQuZGUgKGRhcmF1ZiB3dWVyZGUgaWNoIG5pY2ggc28gbGVpY2h0IGtvbW1lbikuCkljaCB3dWVyZGUgd29obCB6dWVyc3QgbmFjaCB3d3cubW9yZ2VuZ3JhdWVuLmRlIHN1Y2hlbiwgYWJlciBkaWUgaXN0IGphIGxlaWRlcgpzY2hvbiBiZWxlZ3QuIChBYmVyIGRhcyBudXIgbmViZW5iZWkpCgpOdSBoYWIgaWNoIGF1Y2ggbWFsIHdhcyBkYXp1IGdlc2FndC4KCkNVCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFdlcmJ1bmcvTG9nbyAoSmltZGlncml6LCAxMS4gSmFuIDIwMDgsIDE4OjUzOjQzKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIwMDA3MDYzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKTW9pbiwgCmF1Y2ggbWFsIDJjIGFiZ2ViZW4uIEljaCBoYWIgbGV0enRlbnMgYXVjaCBtYWwgemllbWxpY2gKZ2VmbHVjaHQsIHdlaWwgaWNoIGlyZ2VuZHdhcyBuZWQgZ2VmdW5kZW4gaGFiLiBJY2ggZGVuawplcyB3YXIgd2FzLCB3YXMgaW4gZGVyIE1QQSBhbmdla3VlbmRpZ3Qgd2FyIChvaG5lIFVSTCksIHVuZAp6dW1pbmRlc3QgaW50dWl0aXYgbmljaHQgYXVmZmluZGJhciBhdWYgZGVuIHdlYnNlaXRlbi4KQmVpbSBydW1zdWNoZW4gaGFiIGljaCBnZW1lcmt0IGRhc3MgbWFuIHBsb2V0emxpY2ggendpc2NoZW4gYXVmIGRlbgpXaWtpLVNlaXRlbgppc3QgdW5kIHdpZWRlciB6dXJ1ZWNrLiBEYSBpY2ggaWNoIG5pY2h0IGRhdWVybmQgaW4gZGllIEJyb3dzZXJ6ZWlsZQpzY2hhdWUgd2FyIGRhcyBlYmVuIG5pY2h0IHNvIHRyYW5zcGFyZW50LgpEYXMgd2FlciBuaWNodCBzb28gc3RvZXJlbmQgd2VubiBoYWx0IGRlciBJbmhhbHQgaXJnZW5kd2llCmtsYXIgYWJnZXRyZW5udCB3YWVyZSwgYWJlciBnZW5hdSBkYXMga29ubnRlIGljaCBlYmVuCm5pY2h0IGVya2VubmVuLiBNZWluIEVpbmRydWNrIHdhciBlaGVyIGRhc3MgZGllIEluZm9ybWF0aW9uCndpbGxrdWVybGljaCBoaWVyIG9kZXIgZG9ydCBsaWVndCAobmF0dWVybGljaCBpc3QgZGFzIG5pY2h0CnNvLCBhYmVyIGRlciBFaW5kcnVjayBlbnRzdGFuZCBlYmVuKS4gCkZ1ZXIgbWljaCB3YWVyZSBlcyBzY2hvbiBoaWxmcmVpY2gsIHdlbm4gZGFzIFdpa2kgc2ljaAp6dW1pbmRlc3QgZWluIGJpc2NoZW4gdm9tIFNlaXRlbmRlc2lnbiBhYmhlYmVuIHd1ZXJkZQp1bmQgYmVpIExpbmtzIHZvbiBkZXIgbWcubXVkLmRlIHNlaXRlLCBkaWUgaW5zIFdpa2kgZ2VoZW4gdmllbGxlaWNodAphdWNoIGluIEtsYW1tZXJuICh3aWtpKSBkYWhpbnRlciBzdGVoZW4gd3VlcmRlLiBEYW5uIGlzdCBhdWNoIGdsZWljaAprbGFyZXIsIHdlbGNoZSBJbmZvcm1hdGlvbiBudW4gc296dXNhZ2VuIG9mZml6aWVsbCB1bmQgZWhlciBzdGF0aXNjaAppc3QgdW5kIHdlbGNoZSB2b24gZGVyIGNvbW11bml0eSBiZWlnZXN0ZXVlcnQgc2luZC4KCjAuMDIkLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogV2VyYnVuZy9Mb2dvIChBbmF0b2wsIDEzLiBKYW4gMjAwOCwgMTI6MDc6NTgpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyMDAwNzQwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTk5NDUyMzk0CkFldXNzZXJzdCB1bnNjaG9lbiBnZWxvZXN0IGlzdCBhdWYgamVkZW4gRmFsbCwgZGFzcyBkaWUgbW9yZ2VuZ3JhdWVuLmluZm8tCkRvbWFpbiBkYXMgSW1wcmVzc3VtIHZvbiBtZy5tdWQuZGUgdmVybGlua3QgdW5kIGRhbWl0IChzb3dlaXQgZGFzIHJlY2h0bGljaAp1ZWJlcmhhdXB0IGZ1bmt0aW9uaWVydCkgWm9vayB1bmQgTXVhZGliIGluIGRpZSBWZXJhbnR3b3J0dW5nIG5pbW10LgoKV2lzc2VuIGRpZSBiZWlkZW4gZGFzPwoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFdlcmJ1bmcvTG9nbyAoTWVzaXJpaSwgMTMuIEphbiAyMDA4LCAyMzo1MzoxOCk6Cn4jISBybj1BbmF0b2wgcnQ9MTIwMDIyMjQ3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKZ2VhZW5kZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogV2VyYnVuZy9Mb2dvIChBbGtvaG9sLCAxNC4gSmFuIDIwMDgsIDE5OjUyOjExKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwMDI2NDc5OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExOTk0NTIzOTQKaG0gYmVpIG1pciBrb21tdCBkYSBhYmVyIGltbWVyIG5vY2ggZGFzIEltcHJlc3N1bSBkZXIgbWctc2VpdGUuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKEppbWRpZ3JpeiwgMTUuIEphbiAyMDA4LCAyMjoyMToxNik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDAwOTAyNjEgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEyMDAwOTAyNjEKQXV3ZWgsIGljaCBkYWNodGUgbWl0IGFuZ2VzdGF1YnQgbWVpbnN0IER1IGRpZSBNRC01IGhhc2hlcywKZGFzIGphIGluendpc2NoZW4gbmFjaHdlaXNsaWNoIGtvbGxpZGllcnQgd2VyZGVuIGthbm4uCldhcnVtIG5pY2h0IGVpbmUgYWt0dWVsbGVyIGhhc2gtYWxnb3JpdGhtdXM/CkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoWmVzc3RyYSwgMTUuIEphbiAyMDA4LCAyMjozMjo1Myk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIwMDQzMjA3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDAwOTAyNjEKSmEsIGljaCB3ZWlzcy4gQmF1IGVpbmVuIGFrdHVlbGxlbiBIYXNoLUFsZ29yaXRobXVzIGluIGRlbiBEcml2ZXIsIGRhbm4gbnV0egppY2ggZGVuLiBBbnNvbnN0ZW4gc3RlaHQgZGFzIGJlaSBtaXIgYXVmIGRlciBUb0RvLUxpc3QgYWJlciBiaXNoZXIgbmljaHQgZ2FuegpvYmVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKEppbWRpZ3JpeiwgMTUuIEphbiAyMDA4LCAyMzowNzo0MSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDA0MzI3NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxCmFlaCBrYW5uIGRlciBkcml2ZXIgbmljaHQgZWluZmFjaCBlaW5lbiBhdXMgZWluZXIgc3lzdGVtIGxpYnJhcnkgbmVobWVuPwpNYW4gbXVzcyBqYSBuY2lodCBkYXMgcmFkIG5ldSBlcmZpbmRlbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhc3N3b3J0LVNwZWljaGVydW5nIChaZXNzdHJhLCAxNS4gSmFuIDIwMDgsIDIzOjExOjIwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjAwNDM0ODYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpLb2VubnRlIGVyIHNpY2hlci4gRWZ1biArIERva3UgKyBUZXN0ICsgRXZhbGtvc3RlbmFic2NoYWV0enVuZyBmdWVyIGRpZSBFZnVuCm11c3MgdHJvdHpkZW0gbm9jaCBqZW1hbmQgYmF1ZW4uIEljaCBoYWIgYWJlciBudXIgYmVncmVuenRlIFplaXQgenVyClZlcmZ1ZWd1bmcgdW5kIGVzIHN0ZWh0IG5pY2h0IG9iZW4gYXVmIG1laW5lciBUb0RvLUxpc3RlLiBBYmVyIHdlbm4gc2ljaApqZW1hbmQgZnJld2lsbGlnIG1lbGRldC4uLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhc3N3b3J0LVNwZWljaGVydW5nIChDcm9mdCwgMTYuIEphbiAyMDA4LCAwMDoyOToyMik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDA0MzUwODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxCkljaCBkZW5rZSwgZGFzIE11ZCBrYW5uIGF1Y2ggZHVyY2hhdXMgbm9jaCAxLTIgSmFocmUgbWl0IE1ENSBsZWJlbi4KSW0gVmVyZ2xlaWNoIHp1bSB1cnNwcnVlbmdsaWNoZW4gY3J5cHQgc2luZCBkYXMgZWluaWdlIEdyb2Vzc2Vub3JkbnVuZ2VuCndlbmlnZXIgYW4gS29sbGlzaW9uZW4uICBBbnNvbnN0ZW4gc29sbHRlIG1hbiBkYXMgZWhlciBhdWZzIERyaXZlci1UT0RPCmJlaSBNYXRlZXNlIHNldHplbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoSmltZGlncml6LCAxNi4gSmFuIDIwMDgsIDEzOjUwOjMwKToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDA0Mzk3NjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxCkljaCB3b2xsdGUgZWhlciBtZWluZXIgVmVyd3VuZGVydW5nIEF1c2RydWNrIHZlcmxlaWhlbiwgCmRhc3Mgc2ljaCBzY2hlaW5iYXIgamVtYW5kIGt1ZXJ6bGljaCBkaWUgTXVlaGUgZ2VtYWNodCBoYXQKTUQ1IHp1IGltcGxlbWVudGllcmVuIChlbnR3ZWRlciBrb21wbGV0dCBuYWNoZ2ViYXV0IG9kZXIgaGFsdAphbHMgU3lzdGVtYXVmcnVmKSBmdWVyIGRlbiBkcml2ZXIsIG9id29obCBkYXMgbnVuIHNjaG9uIHNlaXQKdmllbGVuIEphaHJlbi4gV2VubiBpY2ggbWlyIGRpZSBNdWVoZSBzbyBvZGVyIHNvIGdlbWFjaHQgaGFiZW4KbXVzcywgd2FydW0gZGFubiBuZWQgZ2xlaWNoIHdhcyBnZXNjaGVpdGVyZXMuICpzaHJ1ZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhc3N3b3J0LVNwZWljaGVydW5nIChKaW1kaWdyaXosIDE2LiBKYW4gMjAwOCwgMTM6NTE6MzcpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyMDA0ODc4MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxCkhtbSwgaXJnZW5kd2llIGlzdCBkYSB3YXMgdmVybG9yZW4gZ2VnYW5nZW46CgouLi5vYndvaGwgZGFzIG51biBzY2hvbiBzZWl0IHZpZWxlbiBKYWhyZW4gX2FscyB1bnNpY2hlciBnaWx0Xy4KCnNvbGx0ZSBkYXMgaGVpc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhc3N3b3J0LVNwZWljaGVydW5nIChDcm9mdCwgMTYuIEphbiAyMDA4LCAxNDoxOToxNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIwMDQ4Nzg5NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDAwOTAyNjEKTnVqYSwgTUQ1IHd1cmRlIGluIGRlbiBMRC1Ecml2ZXIgaW0gQXByaWwgMjAwMSBlaW5nZWJhdXQuICBEYXMgTW9yZ2VuZ3JhdWVuCmhhdHRlIGRhbWFscyBtaXQgZGVtIExELURyaXZlciBuaXggenUgdHVuIHVuZCBwZmxlZ3RlIGJpcyBKYW51YXIgMjAwNwplaW5lbiBlaWdlbmVuIERyaXZlci4gIE9obmUgTUQ1LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhc3N3b3J0LVNwZWljaGVydW5nIChDcm9mdCwgMTYuIEphbiAyMDA4LCAxNDoyMzowNSk6Cn4jISBybj1Dcm9mdCBydD0xMjAwNDg5NTU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpTZWl0IDIwMDQgZ2lidHMgYXVjaCBkZW4gU0hBMSBpbSBEcml2ZXIsIHdlbGNoZXIgbWl0dGxlcndlaWxlIHdvaGwgYXVjaApzY2hvbiByZWNodCBhbmdlc3RhdWJ0IGlzdC4gIEluc29mZXJuOiBoeXN0ZXJpc2NoZSBSb3NpbmVuIHVuZCBzby4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKFZhbmlvbiwgMTYuIEphbiAyMDA4LCAxNDoyOTozMCk6Cn4jISBybj1Dcm9mdCBydD0xMjAwNDg5Nzg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpCZWkgbWQ1LVBhc3N3b3J0ZW4gZ2lsdCBmdWVyIG1pY2ggZGFzIGdsZWljaGUgd2llIGJlaSBXUEEyLVZlcnNjaGx1ZXNzZWx1bmcgaW0KV2xhbi4gV2VyIGluIGRlciBMYWdlIGlzdCwgZGllc2UgRGF0ZW4genUgZW50c2NobHVlc3NlbG4sIHNvbGwgZGFzIHR1bi4gSWNoCmZhbmdlIGtlaW4gV2V0dHJ1ZXN0ZW4gbWl0IGRlciBOU0Egb2RlciBzbyBhbi4gRGFzIG1hY2h0IHp1IHZpZWwgQXVmd2FuZC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKEdsb2luc29uLCAxNi4gSmFuIDIwMDgsIDE0OjQ5OjE2KToKfiMhIHJuPVZhbmlvbiBydD0xMjAwNDkwMTcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpVbmQgZnVlciBkZW4gZ2FuemVuIEtyYW0gZ2lsdDogd2VyIHNpY2ggWnVnYW5nIHp1bSBSZWNobmVyIHZlcnNjaGFmZmVuIGthbm4sCmthbm4gYXVjaCBlaW5mYWNoIEVNLVBhc3N3b2VydGVyIHVlYmVyIHRlbG5ldCBhYmZhbmdlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKENyb2Z0LCAxNi4gSmFuIDIwMDgsIDE0OjU1OjAzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDA0OTEzNTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxCldpZT8gIElociBsb2d0IG5pY2h0IHVlYmVyIG5lbiBzc2wtdHVubmVsIGVpbj8gIE1laW4gVmVydHJhdWVuIGlzdAplcnNjaHVldHRlcnQhIDstKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoSGlnaGxhbmRlciwgMTYuIEphbiAyMDA4LCAxNjo1NTo1NCk6Cn4jISBybj1Dcm9mdCBydD0xMjAwNDkxNzAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpBbHNvICpyYWV1c3BlciwgbWl0IEtydWVja3N0b2NrIHdpbmsqIHp1IG1laW5lciBaZWl0IGRhbWFscwp3YXIgZGFzIHNzaC4gV3VlcmRlIG1pY2ggZG9jaCBzZWhyIHd1bmRlcm4sIHdlbm4gZGVyIFN0YW5kYXJkCnNlaXRoZXIgYmlzIGF1ZiBwbGFpbiB0ZWxuZXQgZ2VzdW5rZW4gd2FlcmUuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoR2xvaW5zb24sIDE2LiBKYW4gMjAwOCwgMTc6MTQ6MjkpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMjAwNDk4OTU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpBdWNoIGRlbiBFTS1DaGFyIHNlbGJzdD8gRGFzIGlzdCBqYSBkYXMgbWF4aW1hbGUsIHdhcyBtYW4gYXVzIGRlcgpNVUQtUGFzc3dvcnQtREIgaGVyYXVza2l0emVsbiBrb2VubnRlLCBIYXNoYWxnb3JpdGhtdXMgaGluIG9kZXIgaGVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoSmltZGlncml6LCAxNi4gSmFuIDIwMDgsIDE4OjM5OjA1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDA1MDAwNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAwMDkwMjYxClN0aW1tdCBuYXR1ZXJsaWNoIGFsbGVzIGluIEJlenVnIGF1ZiBzbmlmZmVuIG9kZXIKZGllIElTIEFuZm9yZGVydW5nZW4gYW4gZWluIE1VRCBwYXNzd29ydC4KRXMgZ2VodCBtaXIgdWViZXJoYXVwdCBuaWNodCBkYXJ1bSBkYXNzIGRhcyB1bmJlZGluZ3QKc2ljaGVyZXIgc2VpbiBtdXNzLiBJY2ggaGFiZSBudXIgaW4gRnJhZ2UgZ2VzdGVsbHQsCmRhc3Mgc2ljaCBqZW1hbmQgTXVlaGUgZ2VtYWNodCBoYXQgZWluZSB1cmFsdGUgdW5kCmV4dHJlbSB1bnNpY2hlcmUgUGFzc3dvcnRzcGVpY2hlcm1ldGhvZGUgZHVyY2ggZWluZQppbW1lciBub2NoIGFsdGUgdW5kIGViZW5mYWxscyB1bnNpY2hlcmUgTWV0aG9kZSB6dSBlcnNldHplbgpvYndvaGwgKHVuZCBkYXMgaGF0dGUgaWNoIGhhbHQgenVuYWVjaHN0IG51ciB1bnRlcnN0ZWxsdCkKZWluZSBzaWNoZXJlcmUgTWV0aG9kZSBlYmVuZmFsbHMgenVyIFZlcmZ1ZWd1bmcgc3RlaHQuCkRhcyBBcmd1bWVudCAiTUQ1IGlzdCBoYWx0IGltIExEIERyaXZlciBkcmluIHVuZCBhbmRlcmVzCm5pY2h0LiIgd2FlcmUgbmF0dWVybGljaCBsZWdpdGltLiBOdW4gaGF0IGFiZXIgYXVjaCBub2NoCmplbWFuZCBiZWhhdXB0ZXQgU0hBLTEgd2FlcmUgZWJlbmZhbGxzIGltcGxlbWVudGllcnQgdW5kCmRhcyBzY2hvbiBzZWl0IGxhZW5nZXJlbS4gQWxzbyBzaW5kIG1laW5lIFp3ZWlmZWwgb2IgZGVyCkluIGRlciBTYWNoZSBqdWNrdCBlcyBtaWNoIG5pY2h0LCBtaXIgd2FyIGdlc3Rlcm4gbnVyCmxhbmd3ZWlsaWcgdW5kIGVzIHN0YW5kIG5peCBuZXVlcyBpbiBkZXIgTVBBLiBXaWVzIGpldHp0CmdyYWRlIGF1Y2ggZGVyIEZhbGwgaXN0LiBBbHNvIGZ1ZXIgaWNoIGRhcyBBcmd1bWVudApoYWx0IG5vY2ggZWluIGJpc2NoZW4gd2VpdGVyLiBXZW5ucyBhbHNvIFNIQS0xIGF1Y2ggaW0KZHJpdmVyIGdpYnQsIHdhcnVtIE1ENSB3YWVobGVuPwo6LSkKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKENyb2Z0LCAxNi4gSmFuIDIwMDgsIDE4OjQ4OjE5KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjAwNTA1MTQ1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpXZWlsIGVzIGV4dHJhIGVpbmUgbWQ1X2NyeXB0IEZ1bmt0aW9uIGdpYnQgZGllIG1hbiBkaXJla3QKZGFmdWVyIGVpbnNldHplbiBrYW5uLiAgc2hhMV9jcnlwdCBoaW5nZWdlbiBuaWNodC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKEppbWRpZ3JpeiwgMTYuIEphbiAyMDA4LCAxOToyMDozNik6Cn4jISBybj1Dcm9mdCBydD0xMjAwNTA1Njk5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpXaWUgaXN0IGRhbm4gZGllIEF1c3NhZ2UgIlNIQS0xIGdpYnRzIGVzIHNlaXQgMjAwNAppbSBkcml2ZXIiIHp1IHZlcnN0ZWhlbj8gd2VubiBlcyBpbXBsZW1lbnRpZXJ0IHdhZXJlCm11ZXNzdGUgZXMgZG9jaCBlaW5lIEZ1bmt0aW9uIGRhenUgZ2ViZW4uIFp1bWluZGVzdCBpc3QKZGFzIG1laW5lIEludGVycHJldGF0aW9uLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoWmVzc3RyYSwgMTYuIEphbiAyMDA4LCAyMjoxMjoyMCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIwMDUwNzYzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDAwOTAyNjEKSWNoIGFudHdvcnRlIG1hbCBhdWYgZGVuIGxldHp0ZW4gYXJ0aWtlbC4gQ3JvZnQgaGF0IGphIHNjaG9uIHdhcyBkYXp1Cmdlc2NocmllYmVuLCBkYXNzIGljaCBqZXR6dCBuaWNodCBkYXMgbWQ1X2NyeXB0KCkgc2VsYmVyIGdlYmF1dCBoYWIsIHNvbmRlcm4KZGFzIGdlbm9tbWVuIGhhYiwgd2FzIGVzIGltIERyaXZlciBnaWJ0LCBkZW4gd2lyIHNlaXQgMTEgTW9uYXRlbiBiZW51dHplbi4KSGF0dGUgc2ljaCBpbiBkZW4gbGV0enRlbiBNb25hdGVuIGhhbHQgbm9jaCBuaWNodCBlcmdlYmVuLgpadW0gVGhlbWEgU1NMOiBJY2ggbG9nZ2UgbWljaCBwZXIgU1NMIGVpbiwgYW5kZXJlIEVNcyBhdWNoLCBvYiBkYXMgYWxsZSB0dW4sCndlaXNzIGljaCBhYmVyIG5pY2h0LiAoRW1wZm9obGVuIGlzdCBkYXMgbmF0dWVybGljaC4pClp1bSBUaGVtYSBTSEExOiBFcyBnaWJ0IGVpbmUgRWZ1biwgZGllIGVpbmVuIFNIQTEtSGFzaCB2b24gZWluZW0gU3RyaW5nCmJlcmVjaG5ldC4gWnUgZWluZW0gc2hhMV9jcnlwdCgpIGZlaGx0IGRhbm4gYWJlciBkb2NoIG5vY2ggd2FzIChTdGljaHdvcnQKU2VlZC9TYWx0KSwgd2FzIG1hbiBiYXVlbiBtdWVzc3RlLiBTaWVoZSBkYXp1IGhhbHQgZGllIE1hbnBhZ2VzIHp1IG1kNSwKbWQ1X2NyeXB0IHVuZCBzaGExLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFBhc3N3b3J0LVNwZWljaGVydW5nIChKaW1kaWdyaXosIDE2LiBKYW4gMjAwOCwgMjI6NDA6MzUpOgp+IyEgcm49WmVzc3RyYSBydD0xMjAwNTE3OTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpNaXN0LCBpY2ggZ2xhdWIgZGVyIFRocmVhZCBpc3QgbnVuIGVuZGd1ZWx0aWcgdGVybWluaWVydC4gOi19CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKENyb2Z0LCAxNi4gSmFuIDIwMDgsIDIzOjU3OjM1KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjAwNTE5NjM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpELmguIGR1IHdpbGxzdCBuaWNodCBuZW4gRHJpdmVycGF0Y2ggZnVlciBlaW4gc2hhMV9jcnlwdCgpIGVpbnJlaWNoZW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFBhc3N3b3J0LVNwZWljaGVydW5nIChKaW1kaWdyaXosIDE3LiBKYW4gMjAwOCwgMjM6NDY6MzIpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwMDUyNDI1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDAwOTAyNjEKRGFyYW4gYWh0dGUgaWNoIHp3YXIgbmljaHQgZ2VkYWNodCwgYWJlciBtYWwgc2VoZW4uCkRlbiBEcml2ZXIgZ2lidHMgYXVmbSBNRyBmdHAtc2VydmVyIHp1bSBkb3dubG9hZCAoYWxzbyBkZW4gc291cmNlIG1laW4gaWNoKSwKc2NoYXUgbWEgbWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogUGFzc3dvcnQtU3BlaWNoZXJ1bmcgKENyb2Z0LCAxOC4gSmFuIDIwMDgsIDAwOjIzOjU0KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjAwNjA5OTkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMDA5MDI2MQpodHRwOi8vYmVhcm5pcC5jb20vbGFycy9wcm9qL2xkbXVkLTMuMy5odG1sCkRhIGZpbmRlc3QgZHUgYWxsZXMgd2FzIGR1IGJyYXVjaHN0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBQYXNzd29ydC1TcGVpY2hlcnVuZyAoQW15bnRob3IsIDE4LiBKYW4gMjAwOCwgMDA6NTc6NDEpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwMDYxMjIzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDAwOTAyNjEKaHR0cDovL3d3dy53aW4udHVlLm5sL2hhc2hjbGFzaC9Ob3N0cmFkYW11cy8KCk1hbCBlaW5lIGtyZWF0aXZlIEFud2VuZHVuZy4gOi0pIEF1ZiBlaW5lciBTb255IFBsYXlzdGF0aW9uIDMgd2lyZCBkYXMKRXJnZWJuaXMgZGVyIFByYWVzaWRlbnRzY2hhZnRzd2FobGVuIHZvcmF1c2dlc2FndC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEcml2ZXItUGF0Y2hlcyAoWmVzc3RyYSwgMjAuIEphbiAyMDA4LCAyMzowNDoxMCk6Ckh1aHUsCgppY2ggaGFiIGluIGZ0cDovL21nLm11ZC5kZS9Tb2Z0d2FyZS9HYW1lRHJpdmVyL3BhdGNoZXMvIGVpbmlnZSBQYXRjaGVzIGZ1ZXIKZGVuIEdhbWVkcml2ZXIgYWJnZWxlZ3QuIEt1cnpiZXNjaHJlaWJ1bmdlbiB1bmQgZGllIGVudHNwcmVjaGVuZGVuIEJ1Zy1JRHMgaW0KTERNdWQtQnVndHJhY2tlciBzaW5kIGltIHJlYWRtZS50eHQgaW4gZGVtIFZlcnplaWNobmlzIHZvcmhhbmRlbi4KRXMgc2luZCBQYXRjaGVzIGZ1ZXIgZGllIGFrdHVlbGwgYmVpIHVucyBsYXVmZW5kZSBWZXJzaW9uIGRlcyBHYW1lZHJpdmVycwooMy4zLjcxNCkuIEVpbmlnZSBkYXZvbiBzaW5kIGF1Y2ggc2Nob24gdm9uIExhcnMgRHVlbmluZyBhdWZnZW5vbW1lbiB3b3JkZW4KdW5kIGluIG5ldWVyZW4gVmVyc2lvbmVuIHZvbiBMRE11ZCBlbnRoYWx0ZW4gKGFiIDMuMy43MTYpLiBEaWVzIGlzdCBkYW5uIGJlaQppbiBkZXIgS3VyemluZm8gdmVybWVya3QuCkFjaGphLCB3ZWl0ZXJlIFBhdGNoZXMgZ2lidCBlcyB1ZWJyaWdlbnMgdm9tIFVuaXRvcGlhOgpmdHA6Ly91bml0b3BpYS5tdWQuZGUvcHViL0RyaXZlci9MRE11ZC8zLjMvUGF0Y2hlcy8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnNjaGxhZyB6dSB0bWhpc3QgKFNoYW5pLCAyMy4gSmFuIDIwMDgsIDE0OjQ5OjM5KToKSGFsbG8sCgplcnN0bWFsIGhhYiBpY2gga2VpbmUgd2lya2xpY2ggQWhudW5nIG9iIG1laW4gQXJ0aWtlbCBoaWVyIGluIGRlciByaWNodGlnZW4KUnVicmlrIHN0ZWh0LiBXZW5uIG5pY2h0LCBiaXR0ZSBpY2ggdW0gRW50c2NodWxkaWd1bmcgdW5kIGdlZ2ViZW5lbmZhbGxzIGRhcnVtCmlobiBpbiBkaWUgcmljaHRpZ2UgUnVicmlrIHp1IHZlcmZyYWNodGVuLgoKU28sIGpldHp0IHp1IG1laW5lbSBlaWdlbnRsaWNoZW4gVGhlbWE6CkljaCBoYWJlIGVzIHNjaG9uIG9mdCBlcmxlYnQsIGRhc3MgbWlyIE1pdHRlaWx1bmdlbiBpbSBTY3JvbGwgdmVybG9yZW4gZ2luZ2VuLgpOYXR1ZXJsaWNoIGhhYmUgaWNoIGRlbiBLbGluZ2VsdG9uIGVpbmdlc2NoYWx0ZXQsIGFiZXIgd2VubiBtYW4gZ3JhZGUKTWV0emVsc2Nyb2xsIGhhdCBzY3JvbGx0IGVpbmVtIGVpbmUgTWl0dGVpbHVuZyBoYWx0IHRyb3R6ZGVtIG1hbCB2b20KQmlsZHNjaGlybSB1bmQgZnVlciBTY3JlZW5yZWFkZXJudXR6ZXIgaXN0IGVzIHNlaHIgbXVlaHNhbSBob2NoenVzY3JvbGxlbiB1bQpldHdhcyB2ZXJwYXNzdGVzIHdpZWRlcnp1ZmluZGVuLgpEZXNoYWxiIHdvbGx0ZSBpY2ggbWFsIGFucmVnZW4sIG9iIGVzIG5pY2h0IGVpbmUgdG0tSGlzdG9yeSBtaXQgZGVuCk1pdHRlaWx1bmdlbiBnZWJlbiBrb2VubnRlIGRpZSBtYW4gc2VpdCBkZW0gZWlubG9nZ2VuIGVyaGFsdGVuIGhhdD8gRWluZmFjaAp3aWUgYmVpIGRlbiBFYmVuZW4gYXVjaCwgZGFtaXQgbWFuIG5hY2hzY2hhdWVuIGthbm4gb2IgbWFuIGlyZ2VuZHdhcyBpbSBTY3JvbGwKbmljaHQgbWl0YmVrb21tZW4gaGF0LiBEdXJjaCB0bWhpc3QgZGllIEluZm8genUgYmVrb21tZW4gbWl0IHdlbSBtYW4KZ2VzcHJvY2hlbiBoYXQgaXN0IGphIG5ldHQsIGhpbGZ0IGFiZXIgbGVpZGVyIGluIGRpZXNlbSBGYWxsIG5pY2h0IHdlaXRlci4KQWxzbywgZWluZmFjaCBtYWwgbWVpbmUgRnJhZ2UsIG9iIHNvd2FzIHZpZWxsZWljaHQgbW9lZ2xpY2ggd2FlcmUuIDotKQoKQmluIHNjaG9uIGdlc3Bhbm50IGF1ZiBSZWFrdGlvbmVuLiA6LSkKCkxpZWJlIEdydWVzc2UKU2hhbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzY2hsYWcgenUgdG1oaXN0IChUb2RpZSwgMjMuIEphbiAyMDA4LCAxNTowNjo0NSk6Cn4jISBybj1TaGFuaSBydD0xMjAxMDk2MTc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpTY2hyZWliIERpciB3YXMgaW4gRGVpbmVtIENsaWVudCwgZGFzcyBlciB0bXMgenVzYWV0emxpY2ggbm9jaCBpbiBhbmRlcmVzCkZlbnN0ZXIgcGFja3QsIHNvIGRhc3MgRHUgamVkZXJ6ZWl0IG5hY2hsZXNlbiBrYW5uc3Q/CgpEYSB0bXMgbWVpc3RlbnMgYXVjaCBEaW5nZSBlbnRoYWx0ZW4ga29lbm5lbiwgZGllIGljaCBuaWNodCB1bmJlZGluZ3QKYXVzbGVzYmFyIGhhYmVuIHdpbGwgKE9kZXIgd2VyIHZlcnNjaGx1ZXNzZWx0IGRpZSBzbywgZGFzcyBhdWNoIGtlaW4gTWFnaWVyCmRyYXVmIHp1Z3JlaWZlbiBrYW5uPykgaGFsdGUgaWNoIGRhdm9uIHJlY2h0IHdlbmlnLgoKQmVsZWhydCBtaWNoIGVpbmVzIEJlc3NlcmVuLCBpY2ggaGFsdGUgZGF2b24gbmljaHRzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWcgenUgdG1oaXN0IChTaGFuaSwgMjMuIEphbiAyMDA4LCAxNTowODoxNyk6Cn4jISBybj1Ub2RpZSBydD0xMjAxMDk3MjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpIYWxsbywKCmdlaHN0IER1IHdpcmtsaWNoIGRhdm9uIGF1cywgZGFzcyBqZWRlciwgdm9yIGFsbGVtIEFuZmFlbmdlciwgbWFsIGViZW4gTWFjcm9zCm9kZXIgYWVobmxpY2hlcyBmdWVyIElocmVuIENsaWVudCBzY2hyZWliZW4ga29lbm5lbj8gSWNoIGplZGVuZmFsbHMga2FubiBlcwpuaWNodCB1bmQgQW5mYWVuZ2VyIG1pdCBTaWNoZXJoZWl0IG5vY2ggdmllbCB3ZW5pZ2VyLgoKU2hhbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKENyb2Z0LCAyMy4gSmFuIDIwMDgsIDE1OjExOjE4KToKfiMhIHJuPVNoYW5pIHJ0PTEyMDEwOTcyOTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5Clp1bWFsIGVzIGF1Y2ggbm9jaCB0ZWxuZXQtTnV0emVyIGdlYmVuIHNvbGwuICBPZGVyIExldXRlIGRpZSBkYXMgV2ViaW50ZXJmYWNlCm51dHplbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb3JzY2hsYWcgenUgdG1oaXN0IChHd2VuaWxpLCAyMy4gSmFuIDIwMDgsIDE1OjIwOjE2KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDEwOTc0Nzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkRhcyBEYXRlbnNjaHV0enByb2JsZW0gd2FyIGRhIHNjaG9uIGltbWVyIGVpbiBzdGFya2VzIEFyZ3VtZW50IGRhZ2VnZW4uCk1hbiBrb2VubnRlIGFiZXIgdmllbGxlaWNodCBzbyBuZSBIaXN0b3JpZSBlaW5iYXVlbiB1bmQgZGVuIGRlZmF1bHQgYXVmIDAKWmVpbGVuIHNldHplbi4KV2VyIGRhbm4gYmV3dXNzdCBtZWhyIFplaWxlbiBzZXR6dCwgZXJrbGFlcnQgZGFkdXJjaCwgZGFzcyBlciBzaWNoIGRlcgpQcm9sZW1hdGlrIGJld3Vzc3QgaXN0IHVuZCBzaWUgaW4gS2F1ZiBuaW1tdC4KR3dlbmlsaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKE5pY29sYWksIDIzLiBKYW4gMjAwOCwgMTU6MjE6MTYpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwMTA5NzQ3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKImtvYm9sZCBlaW4iID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEd3ZW5pbGksIDIzLiBKYW4gMjAwOCwgMTU6MjI6MDgpOgp+IyEgcm49Tmljb2xhaSBydD0xMjAxMDk4MDc2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpUYXQgZGVyIGplbWFscyByaWNodGlnPwpHd2VuaWxpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVm9yc2NobGFnIHp1IHRtaGlzdCAoU2hhbmksIDIzLiBKYW4gMjAwOCwgMTU6MjM6MjYpOgp+IyEgcm49R3dlbmlsaSBydD0xMjAxMDk4MTI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpEZXIgZnVua3Rpb25pZXJ0IG51ciBiZWltIHNjaHJlaWJlbiBvZGVyIGxlc2VuIHZvbiBUZXh0ZW4sIG5pY2h0IGFiZXIgaW0KS2FtcGZzY3JvbGwgd28gZXMgYmVzb25kZXJzIHdpY2h0aWcgd2FlcmUgb2RlciB3ZW5uIG1hbiBlaW5mYWNoIG51ciBzY2huZWxsCmR1cmNoIGRpZSBHZWdlbmQgcmVubnQgdW5kIHNvIGV0d2FzIHdlZ3Njcm9sbHQuCgpTaGFuaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVm9yc2NobGFnIHp1IHRtaGlzdCAoVG9kaWUsIDIzLiBKYW4gMjAwOCwgMTU6MjY6NDIpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTA5ODIwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKSXN0IGVzIHdhcyBOZXVlcywgZGFzcyBMZXV0ZSBvaG5lIENsaWVudCAoT2RlciBkaWUgaWhuIG5pY2h0IGJlZGllbmVuIGtvZW5uZW4pCmhpZXIgYmVuYWNodGVpbGlndCBzaW5kPwoKVW5kIFNoYW5pLCBzZXR6IERpY2ggdGF1YiBpbSBNZXR6ZWxzY3JvbGwsIG51ciBkZW4gS29ib2xkLCBkYW5uIGZ1bmt0aW9uaWVydApkZXIgYXVjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFNoYW5pLCAyMy4gSmFuIDIwMDgsIDE1OjI4OjQ2KToKfiMhIHJuPVRvZGllIHJ0PTEyMDEwOTg0MDIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5ClVuZD8gV2VyIHNhZ3QsIGRhc3MgZGFzIG1pdCBkZXIgQmVuYWNodGVpbGlndW5nIHNvIGJsZWliZW4gbXVzcz8KVW5kIHRhdWIgc2V0emVuIGthbm4gc2ljaCBhdWNoIG5pY2h0IGplZGVyIEFuZmFlbmdlciBtYWwgc28gZWJlbiB1bmQgbWVpbmVyCk1laW51bmcgbmFjaCBpc3QgZGFzIGF1Y2ggbnVyIGVpbmUgSGFsYmxvZXN1bmcgd2VubiB1ZWJlcmhhdXB0IGRpZSBuaWNodCBzZWluCm11c3Mgd2VubiBlcyB3YXMgYmVzc2VyZXMgZ2ViZW4ga2Fubi4KClNoYW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBWb3JzY2hsYWcgenUgdG1oaXN0IChUb2RpZSwgMjMuIEphbiAyMDA4LCAxNTozMDozNSk6Cn4jISBybj1TaGFuaSBydD0xMjAxMDk4NTI2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpBbHNvIGVyc3RlbnMgd2lsbCBpY2ggZGVuIEFuZmFlbmdlciBtaXQgTWV0emVsc2Nyb2xsLCBpbiBkZW0gZXIgbmljaHRzIG1laHIKbGVzZW4ga2FubiBzZWhlbi4gOi0pCgpVbmQgendlaXRlbnMgaXN0IGVzIGVpbmZhY2ggZWluZSBEYXRlbnNjaHV0ei10ZWNobmlzY2hlIFNhY2hlLgpMZWlkZXIgd2lyZCBhdWNoIGRpZSBCZXJlaXRlcmtsYWVydW5nLCBhdWYgc2VpbmVuIERhdGVuc2NodXR6IGR1cmNoIHNldHplbiBkZXMKZGVmYXVsdHMganVyaXN0aXNjaCB3ZW5pZyBnZWdlbiBkYXMgQnJpZWZnZWhlaW1uaXMgaGVsZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFNoYW5pLCAyMy4gSmFuIDIwMDgsIDE1OjMzOjM2KToKfiMhIHJuPVRvZGllIHJ0PTEyMDEwOTg2MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkZ1ZXIgZWluZW4gYmxpbmRlbiBBbmZhZW5nZXIgcmVpY2h0IGF1Y2ggd2VuaWcgTWV0emVsc2Nyb2xsIHVtIGV0d2FzIHp1CnZlcmxpZXJlbi4gVmVyc3VjaHMgbWFsIG1pdCBnZXNjaGxvc3NlbmVuIEF1Z2VuIHVuZCBlaW5lbSBTY3JlZW5yZWFkZXIuClVuZFVuZCBpY2ggZ2xhdWJlIGthdW0sIGRhc3MgZXMgYW4gZWluZW0gb2VmZmVudGxpY2hlbiBNdWQgc293YXMgd2llIGVpbgpCcmllZmdlaGVpbW5pcyBnZWJlbiBrYW5uLiBXZXIgZGllIEhpc3RvcmllIGhhYmVuIHdpbGwgdHV0IGVzIGhhbHQgdW5kIHdlaXNzCmRhc3MgTWFnaWVyIGVzIHRoZW9yZXRpc2NoIGxlc2VuIGtvZW5udGVuLCB3ZXIgZGFzIG5pY2h0IHdpbGwgbGFlc3N0IGVzIGhhbHQuCkdyb3NzYXJ0aWcgZ2VoZWltIGthbm4gaGllciB3b2hsIGthdW0gaXJnZW5kd2FzIHNlaW4uIEZ1ZXIgZ2VoZWltZQpVbnRlcmhhbHR1bmdlbiBzb2xsdGUgbWFuIHNpY2ggZGFubiBlYmVuIHZpZWxsZWljaHQgbmljaHQgZ3JhZGUgZWluIE11ZAphdXNzdWNoZW4uClNoYW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVm9yc2NobGFnIHp1IHRtaGlzdCAoVG9kaWUsIDIzLiBKYW4gMjAwOCwgMTU6MzU6MTgpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTA5ODgxNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKRG9jaCwgZ2VyYWRlIGF1cyBkZW0gR3J1bmQsIGRhIGljaCB3ZWlzcywgZGFzcyB0bXMgaGllciBlYmVuIG5pY2h0IGxlc2JhcgpzaW5kLCBrYW5uIGljaCBkYXMgTUcgekIgYXVjaCBmdWVyICJnZWhlaW1lIHN0YWF0c2ZlaW5kbGljaGUgWnVzYW1tZW5rdWVuZnRlIgpudXR6ZW4gKFd1dXVhaCwgYmluIGljaCB3aWNodGlnIDpvKSApCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVm9yc2NobGFnIHp1IHRtaGlzdCAoR2xvaW5zb24sIDIzLiBKYW4gMjAwOCwgMTU6MzY6MTgpOgp+IyEgcm49R3dlbmlsaSBydD0xMjAxMDk4MDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpJbndpZWZlcm4gaXN0IERhdGVuc2NodXR6IGVpbiBQcm9ibGVtIGJlaSBlaW5lbSAidG1oaXN0Ij8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVm9yc2NobGFnIHp1IHRtaGlzdCAoQ3JvZnQsIDIzLiBKYW4gMjAwOCwgMTU6MzY6NDYpOgp+IyEgcm49VG9kaWUgcnQ9MTIwMTA5ODYzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKR2lidCBnZW51ZWdlbmQgTXVkcyBpbiBkZW5lbiBzb2V0d2FzIGltcGxlbWVudGllcnQgaXN0LiAgVW5kIGpldHp0PwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBWb3JzY2hsYWcgenUgdG1oaXN0IChCcnpmdHRsLCAyMy4gSmFuIDIwMDgsIDE1OjM3OjUzKToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDEwOTkwMDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkFsbGUgYWJzY2hhbHRlbiEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVm9yc2NobGFnIHp1IHRtaGlzdCAoU2hhbmksIDIzLiBKYW4gMjAwOCwgMTU6Mzk6MjkpOgp+IyEgcm49QnJ6ZnR0bCBydD0xMjAxMDk5MDczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpHZW5hdS4gRXMgZ2lidCBzY2hvbiBnZW51ZyBNdWRzLCBkaWUgc293YXMgaGFiZW4uIFdpZSBnZXNhZ3QsIHdlciBoaWVyCnByaXZhdGVuIEtyYW0gYXVzcGxhdWRlcnQgZGVyIGJlc3NlciBwcml2YXQgYmxlaWJlbiBzb2xsdGUgc29sbHRlIHNpY2ggZGFzCmViZW4gendlaW1hbCB1ZWJlcmxlZ2VuLiBFaW4gcmVjaHRsaWNoZXMgUHJvYmxlbSB3YWVyZSBlaW5lIHRtaGlzdCBqZWRlbmZhbGxzCm5pY2h0LiBOdXIgZWJlbiBmdWVyIGRpZSwgZGllIGlocmUgR2VoZWltZ2VzcHJhZWNoZSBuaWNodCB2ZXJsZWdlbiB3b2xsZW4uIApTaGFuaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKENyb2Z0LCAyMy4gSmFuIDIwMDgsIDE1OjQwOjI1KToKfiMhIHJuPVNoYW5pIHJ0PTEyMDEwOTkxNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkZ1ZXIgZGllIExldXRlIG1pdCBHZWhlaW1nZXNwcmFlY2hlbiBnaWJ0cyBkb2NoIGN0bS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVm9yc2NobGFnIHp1IHRtaGlzdCAoVmVjdG9yLCAyMy4gSmFuIDIwMDgsIDE1OjQwOjU3KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDEwOTkyMjUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CmF1Y2ggZnVlciBsZXV0ZSBtaXQgdGVsbmV0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKENyb2Z0LCAyMy4gSmFuIDIwMDgsIDE1OjQyOjIwKToKfiMhIHJuPVZlY3RvciBydD0xMjAxMDk5MjU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpTb2xsdGUgaWNoIG5vY2ggZWluIHBhYXIgSXJvbmllLVRhZ3MgbmFjaHJlaWNoZW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFZlY3RvciwgMjMuIEphbiAyMDA4LCAxNTo0MzowNCk6Cn4jISBybj1Dcm9mdCBydD0xMjAxMDk5MzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpuZWluLiBlcyBpc3QgZ2VuYXUgZGFzc2VsYmUgd2llIHRvZGllL3NoYW5pIHNjaG9uIGdlc2FndCBoYWJlbi4KbWl0IGNsaWVudHMgZ2lidHMgdmllbCwgZWluZXIgbWl0IHRlbG5ldCB3aXJkIGJlbmFjaHRlaWxpZ3QuCmtlaW4gZ3J1bmQgZGFzIGRhcyBzbyBibGVpYmVuIG11c3Mgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBWb3JzY2hsYWcgenUgdG1oaXN0IChUb2RpZSwgMjMuIEphbiAyMDA4LCAxNTo0NDo0MCk6Cn4jISBybj1WZWN0b3IgcnQ9MTIwMTA5OTM4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKQWxzbyBpY2ggZmluZGUgZGllIFdlZ2VzY3JpcHRlLCBkaWUgaWNoIG1laW5lbSBDbGllbnQgYmVpYnJpbmdlbiBrYW5uLCBlaW5lCnJpZXNlbi1CZXZvcnp1Z3VuZy4gSWNoIGJpbiBhbHNvIGRhZnVlciwgZ290byBmdWVyIFNwaWVsZXIgZWluenViYXVlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBWb3JzY2hsYWcgenUgdG1oaXN0IChHbG9pbnNvbiwgMjMuIEphbiAyMDA4LCAxNTo0NToyMik6Cn4jISBybj1WZWN0b3IgcnQ9MTIwMTA5OTM4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKR2VzcHJhZWNoZSBzaW5kIHN5c3RlbWJlZGluZ3QgbmljaHQgZ2VnZW4gUHJvZ3JhbW1pZXJlaW5ncmlmZiBzaWNoZXJiYXIuIENUTQppc3QgQ2xpZW50LWJhc2llcnQgdW5kIGZ1bmt0aW9uZXJ0IGRlc2hhbGIuCgpVbmQgd2VpbCBHZXNwcmFlY2hlIHN5c3RlbWJlZGluZ3QgbmljaHQgZ2VnZW4gTWFnaWVyZWluZ3JpZmYgc2ljaGVyYmFyIHNpbmQsCmJlZGV1dGV0IGVpbmUgdG1oaXN0IGtlaW5lIFZlcnNjaGxlY2h0ZXJ1bmcgZ2VnZW51ZWJlciBkZW0gamV0emlnZW4gWnVzdGFuZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVm9yc2NobGFnIHp1IHRtaGlzdCAoQ3JvZnQsIDIzLiBKYW4gMjAwOCwgMTU6NDU6NDQpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMDEwOTkzODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkplaW4uICBXZXIgZ2VzaWNoZXJ0ZSAxOjEgS29tbXVuaWthdGlvbiBoYWJlbiB3aWxsLCBpc3QgaW1obyBpbSBNVUQKcG90ZW50aWVsbCBpbSBmYWxzY2hlbiBNZWRpdW0uICBJbnNvZmVybiB3dWVyZCBpY2ggbWlyIGRhIGFscyBFTQpuaWNodCBkaWUgTXVlaGUgbWFjaGVuIHdvbGxlbiBzb2V0d2FzIGluIGRpZSBMaWIgenUgcGFja2VuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBWb3JzY2hsYWcgenUgdG1oaXN0IChHbG9pbnNvbiwgMjMuIEphbiAyMDA4LCAxNTo0NjoxMik6Cn4jISBybj1Ub2RpZSBydD0xMjAxMDk5NDgwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpHZWggbmFjaCBSZWdlbmJvZ2VuLiBLZXR0ZW5hbGlzLiBIYXQgc2ljaCBudXIgbmllIGR1cmNoZ2VzZXR6dCwgKGEpIGlzdCBkYXMKTVVEIGdlc3RvcmJlbiB1bmQgKGIpIGlzdCBkaWUgZXhpc3RpZXJlbmRlIENsaWVudC1TVyBkYSB3aWVkZXIgbWFlY2h0aWdlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogVm9yc2NobGFnIHp1IHRtaGlzdCAoU2hhbmksIDIzLiBKYW4gMjAwOCwgMTU6NDc6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwMTA5OTU3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKU2FnIGljaCBkb2NoLiBUbXMgc2luZCBhdWNoIGpldHp0IHNjaG9uIGVpbnNlaGJhciB3ZW5uIE1hZ2llciBlcyB3aXJrbGljaAp3b2xsZW4uIFdlciBnZWhlaW1lIEdlc3ByYWVjaGUgd2lsbCBzb2xsdGUgZXMgd29hbmRlcnMgbWFjaGVuIHVuZCBpc3QgaGllcgpzY2hsaWNodCB1bmQgZWluZmFjaCBmYWxzY2guCldhcyBnb3RvIGFuZ2VodCBnaWJ0cyBhdWNoIGRhIGdlbnVlZ2VuZCBNdWRzIGRpZSBkYXMgZWluZ2ViYXV0IGhhYmVuLiBBbHNvLAp3YXJ1bSBuaWNodD8gQWxsZXJkaW5ncyBmYWVuZGUgaWNoIGRpZSB0bWhpc3QgZ3JhZGUgd2ljaHRpZ2VyLiA7LSkKU2hhbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBWb3JzY2hsYWcgenUgdG1oaXN0IChWZWN0b3IsIDIzLiBKYW4gMjAwOCwgMTU6NDg6MzMpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTA5OTY2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKa29lbm50ZW4gd2lyIHZpZWxsZWljaHQgdm9uIGRlciAiYW5kZXJlIG11ZHMgaGFiZW4gZGFzIGF1Y2giLQphcmd1bWVudGF0aW9uIHdpZWRlciB3ZWcga29tbWVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFNoYW5pLCAyMy4gSmFuIDIwMDgsIDE1OjQ5OjQ5KToKfiMhIHJuPVZlY3RvciBydD0xMjAxMDk5NzEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpEYXMgc29sbHRlIHZvbiBtZWluZXIgU2VpdGUga2VpbiBBcmd1bWVudCBzZWluLiBJY2ggd29sbHRlIG51ciBzYWdlbiwgZGFzcwpzb3dhcyB3aWUgVG9kaWUgZXMgYW5nZXNwcm9jaGVuIGhhdCBiZXJlaXRzIGV4aXN0aWVydCB1bmQgZGVzaGFsYiBuaWNodAp1bm1vZWdsaWNoIGlzdCwgc29uc3QgbmljaHRzLiBJY2ggc2FnZSBuaWNodCBkYXMgd2lyIGlyZ2VuZHdhcyBoYWJlbiBtdWVzc2VuCndlaWwgZXMgYW5kZXJlIGF1Y2ggaGFiZW4gc29uZGVybiBlaW5mYWNoIGRlc2hhbGIsIHdlaWwgZXMgaGlsZnJlaWNoIHdhZXJlLApzaWVoZSBUaGVtYSB0bWhpc3QuClNoYW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVm9yc2NobGFnIHp1IHRtaGlzdCAoWHV0ZWxpdXMsIDIzLiBKYW4gMjAwOCwgMTU6NTA6MDkpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwMTA5OTU0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKdmVyc3VjaGVuIHdpciBlcyBub2NobWFsIDspCgpJY2ggYmluIGF1Y2ggZGVyIE1laW51bmcgZGFzcyBtYW4gZGllc2UgTW9lZ2xpY2hrZWl0IGJpZXRlbiBzb2xsdGUuIGZ1ZXIKUHJpdmF0Z2VzcHJhZWNoZSBpc3QgbWFuIGhpZXIgc293aWVzbyBmYWxzY2gsIHNpZWhlIHNub29wZW4gZXRjLiwgdW5kIHdlciBkYXMKbmljaCBlaW5nZXNjaGFsdGV0IGhhYmVuIHdpbGwgc29sbCBlcyBoYWx0IGF1cyBsYXNzZW4uCgpkaWUgZ2VmYWhyIGlzdCBhdWNoIGJlaSBzZWhlbmRlbiBzcGllbGVybiBzY2hvbiBncm9zcyBnZW51ZywgZnVlciBuZW4gYmxpbmRlbgppcyBlcyB1bm1vZWdsaWNoIGFsbGUgdG1zIHNvZm9ydCBsZXNlbiB6dSBrb2VubmVuLgp4dXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogVm9yc2NobGFnIHp1IHRtaGlzdCAoTWFoYXJldCwgMjMuIEphbiAyMDA4LCAxNTo1NTo1MSk6Cn4jISBybj1YdXRlbGl1cyBydD0xMjAxMDk5ODA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpJY2ggaGFiIGRhIGRhbm4gZWluIHdlZyBNZXR6ZWxzY3JvbGwgdW5kIGhvZmZlIGRhcmF1ZiwgZGFzcyBzaWNoIGRpZSBMZXV0ZQpub2NobWFsIG1lbGRlbi4gQWJlciBkYXMgaXN0IHZpZWxsZWljaHQgenUgcHJhZ21hdGlzY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBWb3JzY2hsYWcgenUgdG1oaXN0IChLZXNzYSwgMjMuIEphbiAyMDA4LCAxNTo1NzozNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyMDExMDAxNTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5ClZpZWxsZWljaHQgZW50Z2VodCBkaXIgYWxzIFNlaGVuZGVyIGltIE1ldHplbHNjcm9sbCBhdWNoIG5pY2h0IHNvIHZpZWwgd2llCkJsaW5kZW4sIHNvIGRhc3MgZGFzIGJlaSBkaXIgbmljaHQgZ2FyIHNvIHZpZWxlIHRtcyBiZXRyaWZmdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBWb3JzY2hsYWcgenUgdG1oaXN0IChNYWhhcmV0LCAyMy4gSmFuIDIwMDgsIDE1OjU5OjMwKToKfiMhIHJuPUtlc3NhIHJ0PTEyMDExMDAyNTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkljaCBsYXNzIGRhcyBlaWdlbnRsaWNoIGZ1ZXIgYWxsZSB0bXMgc28gZ2VsdGVuLCBuaWNodCBudXIgZnVlciBhdXNnZXdhZWhsdGUuCkltIE1ldHplbHNjcm9sbCB1ZWJlcnNpZWh0IG1hbiBudW4gbWFsIHNjaG5lbGwgd2FzLCB3ZXIgbWlyIHdhcyBtaXR0ZWlsZW4Kd2lsbCwgd2Vpc3MgYmVzY2hlaWQsIGRhc3MgaWNoIGltIFNjcm9sbCB1bnRlcmdlaGUgdW5kIGthbm4gZXMgc3BhZXRlciBub2NobWFsCnZlcnN1Y2hlbi4gV2llIHdhZXJlIGVzIG1pdCB3ZWcgTWV0emVsc2Nyb2xsLCBiaXR0ZSBzcGFldGVyIG5vY2htYWwgYW5zcHJlY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEtlc3NhLCAyMy4gSmFuIDIwMDgsIDE2OjAxOjQ4KToKfiMhIHJuPU1haGFyZXQgcnQ9MTIwMTEwMDM3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKSmEga2xhciwgamVkZXIgdWViZXJzaWVodCBsZWljaHQgd2FzIGltIEthbXBmc2Nyb2xsLCBudXIgaXN0IGRhcyBiZWkgQmxpbmRlbgpub2NoIGRldXRsaWNoIHZlcnN0YWVya3QgZGVyIEZhbGwuIFdhcyBpY2ggbm9jaCBuaWNodCB2ZXJzdGFuZGVuIGhhYmU6IHdhcwpzcHJpY2h0IGRlbm4gbnVuIGVpZ2VudGxpY2ggZ2VnZW4gZWluZSB0bS1oaXN0LCB3ZW5uLCB3aWUgR2xvaW5zb24gc2FndCwKR2VzcHJhZWNoZSBzb3dpZXNvIG5pY2h0IHNpY2hlcmJhciBzaW5kPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFRvZGllLCAyMy4gSmFuIDIwMDgsIDE2OjAyOjQ3KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyMDEwOTk4MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkxldHp0ZW5kbGljaCBpc3QgYWxzbyBkaWUgR3J1bmRzYXR6ZnJhZ2U6IER1ZXJmZW4gTGV1dGUgb2huZSBjbGllbnQgaGllcgp3ZWl0ZXJoaW4gYmVuYWNodGVpbGlndCB3ZXJkZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogVm9yc2NobGFnIHp1IHRtaGlzdCAoQ3JvZnQsIDIzLiBKYW4gMjAwOCwgMTY6MDQ6MTMpOgp+IyEgcm49VG9kaWUgcnQ9MTIwMTEwMDU2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKV29obCBlaGVyIGRpZSBHcnVuZHNhdHpmcmFnZTogZGFyZiBtYW4gRmVhdHVyZXd1ZW5zY2hlIHZvcnRyYWdlbiBvaG5lCmdsZWljaCBtaXQgZWluZXIgR3J1bmRzYXR6ZGlza3Vzc2lvbiBvYiBlcyBhdWNoIGltIENsaWVudCBtYWNoYmFyCmlzdCB1ZWJlcnpvZ2VuIHp1IHdlcmRlbj8gIExldHp0bGljaCBpc3QgZXMgU2FjaGUgZGVyIEVNc2UgZGFydWViZXIKenUgZW50c2NoZWlkZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEtlc3NhLCAyMy4gSmFuIDIwMDgsIDE2OjA0OjE5KToKfiMhIHJuPVRvZGllIHJ0PTEyMDExMDA1Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5Ck5hamEgOikgRWhlciB3b2hsOiB3YXJ1bSBuaWNodCBlaW5lbiBTZXJ2aWNlIGVpbmJhdWVuLCBkZXIgY2xpZW50LWxvc2VuClNwaWVsZXJuIGVpbmUgZGV1dGxpY2hlIEVybGVpY2h0ZXJ1bmcgZGVyIEtvbW11bmlrYXRpb24gYmlldGVuIHd1ZXJkZT8KCkljaCBzZWhlIG5vY2gga2VpbmVuIEdydW5kLCBkYXJ1bSBmcmFnIGljaCBuYWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0NjkwOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChaZXBoeXIsIDIzLiBKYW4gMjAwOCwgMTY6MTI6NTgpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTEwMDk2NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MjMyODI3OApJY2ggZmluZGUgc2Nob24sIGRhc3MgZXMgZnVlciBkaWUgUHJpdmF0c3BoYWVyZSBlaW5lbiBVbnRlcnNjaGllZAptYWNodCwgb2IgZWluIE1hZ2llciB6dWZhZWxsaWcgenVtICJyaWNodGlnZW4iIFplaXRwdW5rdCBzbm9vcHQsCnVtIGVpbmUgVW50ZXJoYWx0dW5nIG1pdHp1YmVrb21tZW4sIG9kZXIgb2IgZXIgYmVpIEJlbGllYmVuIGluIAppcmdlbmR3ZWxjaGVuIEZpbGVzIHN0b2ViZXJuIGthbm4uClp1bSBQdW5rdCBFaW53aWxsaWd1bmc6IE1hbiB3aWxsaWd0IGluIGRpZXNlbSBGYWxsIG5pY2h0IGVpbiwgZGFzcwpkaWUgZWlnbmVuIHRtcyBnZXNwZWljaGVydCB3ZXJkZW4sIHNvbmRlcm4gbWFuIHdpbGxpZ3QgZnVlciBhbGxlCm1vZWdsaWNoZW4gYW5kZXJlbiBlaW4gLSBkaWVoZW5pZ2VuLCBkaWUgZWluZW0gd2FzIG1pdHRlaWxlbi4gSWNoCmZ1ZXIgbWVpbmVuIFRlaWwgd3VlcmRlIGdlcm5lIHNlbGJlciBlbnRzY2hlaWRlbiB3b2xsZW4sIG9iIG1laW5lCnRtcyBnZXNwZWljaGVydCB3ZXJkZW4gb2RlciBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzNDY5MTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoVmVjdG9yLCAyMy4gSmFuIDIwMDgsIDE2OjE0OjE2KToKfiMhIHJuPVplcGh5ciBydD0xMjAxMTAxMTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgyMzI4Mjc4CmRhcyBtdWQgYnJhdWNodCBlaW5kZXV0aWcgZWluZW4gdHMyLXNlcnZlIHI6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0NjkyOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChDcm9mdCwgMjMuIEphbiAyMDA4LCAxNjoxNTo1Nyk6Cn4jISBybj1WZWN0b3IgcnQ9MTIwMTEwMTI1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTk4MjMyODI3OApXZW5uIGlociBzY2hvbiBNZWdhc2NobWFycm4tQXJ0aWtlbCBwcm9kdXppZXJ0LCBkYW5uIGJpdHRlIGRvY2ggaW4gZGVyCnJpY2h0aWdlbiBSdWJyaWsuICBBbnNvbnN0ZW4gZ2lidHMgZGEgZHJhdXNzZW4gZ2VudWcgVFMtU2VydmVyLiAgQXVjaAptaXQgTXVkZGVybiBkcmF1ZiA7LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzQ2OTM6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKFZlY3RvciwgMjMuIEphbiAyMDA4LCAxNjoxNjoxNyk6Cn4jISBybj1Dcm9mdCBydD0xMjAxMTAxMzU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9OTgyMzI4Mjc4CmlwPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0NjkzOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChFbGpvLCAyMy4gSmFuIDIwMDgsIDE2OjE2OjE5KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDExMDEzNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05ODIzMjgyNzgKV2lyIHdvbGxlbiBhYmVyIHJ1ZGVsbiB1bmQgbmljaHQgcmFpZGVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEJhbWJ1bGtvLCAyMy4gSmFuIDIwMDgsIDE2OjE2OjMzKToKfiMhIHJuPUtlc3NhIHJ0PTEyMDExMDA2NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5ClNvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEJhbWJ1bGtvLCAyMy4gSmFuIDIwMDgsIDE2OjIwOjM0KToKfiMhIHJuPUtlc3NhIHJ0PTEyMDExMDA2NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5ClNwYWx0ZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBWb3JzY2hsYWcgenUgdG1oaXN0IChXaGl0ZXRpZ2VyLCAyMy4gSmFuIDIwMDgsIDE2OjIwOjM4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyMDExMDEzOTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkFlaG0sIGRpZSB0bS1oaXN0IG11c3MgZG9jaCBuaWNodCBpbiBpcmdlbmRlaW5lciBEYXRlaSBnZXNwZWljaGVydCB3ZXJkZW4/IEluCmRlbSBGYWxsIHJlaWNodCBkYXMgZG9jaCwgZGllIGltIFNwZWljaGVyIHp1IGxhc3Nlbi4gR2VodCBkYXMgbmljaHQgYXVjaCwgZGllCmlyZ2VuZHdvIGFscyAic3RhdGlzY2hlIiBWYXJpYWJsZSBhYnp1c3BlaWNoZXJuLCBzbyBkYXNzIGFuZGVyZSBNYWdpZXIgZ2FyCmtlaW5lbiBadWdyaWZmIGRhcmF1ZiBoYWJlbj8gKEVNcyBhdXNnZW5vbW1lbi4uKQoKdGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBWb3JzY2hsYWcgenUgdG1oaXN0IChCYW1idWxrbywgMjMuIEphbiAyMDA4LCAxNjoyMDo1Nik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEyMDExMDE2Mzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkljaCBmaW5kZSBlcyBpc3QgYXVjaCBlaW5lIGd1dGUgSWRlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBWb3JzY2hsYWcgenUgdG1oaXN0IChTaGFuaSwgMjMuIEphbiAyMDA4LCAxNjoyMTo0OSk6Cn4jISBybj1CYW1idWxrbyBydD0xMjAxMTAxMzkzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpTYWd0IG1hbCwgZnVlaHJ0IGlociBhbGxlIEdlc3ByYWVjaGUgdWViZXIgaWxsZWdhbGUgR2VoZWltb3JnYW5pc2F0aW9uZW4gb2Rlcgp3YXM/IFdlbm4gaWhyIEV1Y2gga2VpbmUgU29yZ2VuIHVlYmVyIHp1ZmFlbGxpZyB6dW0gcmljaHRpZ2VuIFplaXRwdW5rdApzbm9vcGVuZGUgTWFnaWVyIG1hY2h0LCB3YXJ1bSBkYW5uIHVlYmVyIGVpbmUgdG1oaXN0PyBNZWluZSBHdWV0ZSwgZ2VodCBkb2NoCndvYW5kZXJzIGhpbiB3ZW5uIGlociBzbyBnZWhlaW1lIFNhY2hlbiBiZXNwcmVjaGVtIG11ZXNzdCwgZGFzIGlzdCBoaWVyCmVpbmZhY2ggZGVyIGZhbHNjaGUgT3J0IGZ1ZXIgc293YXMuIFVuZCBpY2ggaGFsdGUgZGFzIGZ1ZXIgZWluIHNlaHIgc2Nod2FjaGVzCkFyZ3VtZW50IHNpY2ggZ2VnZW4gZWluIHNlaHIgaGlsZnJlaWNoZXMgRmVhdHVyZSBhdXN6dXNwcmVjaGVuIG51ciB3ZWlsIG1hbgprZWluZW4gYW5kZXJlbiBPcnQgZnVlciBzZWluZSBnZWhlaW1lbiBHZXNwcmFlY2hlIGZpbmRldC4KU2hhbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBWb3JzY2hsYWcgenUgdG1oaXN0IChUb2RpZSwgMjMuIEphbiAyMDA4LCAxNjoyMzowMyk6Cn4jISBybj1TaGFuaSBydD0xMjAxMTAxNzA5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpBbHNvIG1pdCBkaWVzZXIgQXJndW1lbnRhdGlvbjogIkdlaHQgZG9jaCB3b2FuZGVycyBoaW4uIiBrb2VubnRlIG1hbiBEZWluZW4KV3Vuc2NoIGFiZXIgYXVjaCBhYnR1bi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBWb3JzY2hsYWcgenUgdG1oaXN0IChWZWN0b3IsIDIzLiBKYW4gMjAwOCwgMTY6MjM6MDUpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTEwMTcwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKYWxzbyBiZWkgYWxsZW0gcmVzcGVrdDogbnVuIGthbSBzY2hvbiAxMCBtYWwgZGVyIHNhdHogImdlaHQgZG9jaCB3b2FuZGVycyBoaW4iCmdsZWljaCBtdXNzdGUgZGFtaXQgcmVjaG5lbiBkYXNzIG1hbCBlaW5lbSBkZXIga3JhZ2VuIHBsYXR6dCB1bmQgc2FndDoKZGlyIGdlZmFlbGx0IGRhcyB0bSBoaWVyIG5pY2h0PyBnZWggZG9jaCB3b2FuZGVycyBoaW4uIGVzIGdpYnQgZ2VudWcKcHJvZ3JhbW1lIHVlYmVyIGRpZSBtYW4gc2ljaCB0b2xsIHVudGVyaGFsdGVuIGthbm4sIG1zbiBpY3EgZXRjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogVm9yc2NobGFnIHp1IHRtaGlzdCAoQm9pbmcsIDIzLiBKYW4gMjAwOCwgMTY6MjQ6MjcpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMjAxMTAxNjM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpEYXMgbXVzcyBuYXR1ZXJsaWNoIG5pY2h0IGluIGVpbmVyIERhdGVpIGdlc3BlaWNoZXJ0IHdlcmRlbi4gRGllIEJlZmVobHMtCmhpc3RvcnkgKGluIGRlciBpbSB1ZWJyaWdlbiBhdWNoIHRtcyBsYW5kZW4pIHdpcmQgaW4gZWluZXIgc3RhdGlzY2hlbgpWYXJpYWJsZSBhYmdlc3BlaWNoZXJ0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogVm9yc2NobGFnIHp1IHRtaGlzdCAoV2hpdGV0aWdlciwgMjMuIEphbiAyMDA4LCAxNjoyNToyMCk6Cn4jISBybj1Cb2luZyBydD0xMjAxMTAxODY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpOYSwgd2VubiBkaWUgKmFiZ2VzZW5kZXRlbiogdG1zIGVoIGFiZ2VzcGVpY2hlcnQgd2VyZGVuLCBkYW5uIGthbm4gbWFuIGRvY2gKZWluZmFjaCBhdWNoIGRpZSAqZW1wZmFuZ2VuZW4qIHRtcyBzcGVpY2hlcm4sIG9kZXIgbmljaHQ/Cgp0aWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKFNoYW5pLCAyMy4gSmFuIDIwMDgsIDE2OjI1OjUyKToKfiMhIHJuPUJvaW5nIHJ0PTEyMDExMDE4Njcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkljaCB2ZXJzdGVoIG51ciBuaWNodCB3YXJ1bSBoaWVyIGFsbGUgZWluZSBQcml2YXRzcGhhZXJlIHZlcnNjaHdpbmRlbiBzZWhlbgp3ZW5uIGRpZXNlcyBGZWF0dXJlIGVpbmdlYmF1dCB3aXJkIGRpZSBlcyBlaWdlbnRsaWNoIG5pZSBnYWIsIGRhcyBpc3QgYWxsZXMuCldlbm4gbWFuIHdpcmtsaWNoIHNpY2hlciBzZWluIHdpbGwgZGFzIEdlc3ByYWVjaGUgbmljaHQgbWl0Z2VsZXNlbiB3ZXJkZW4Ka29lbm5lbiBzb2xsdGUgbWFuIGRpZSBlaW5mYWNoIG5pY2h0IGhpZXIgZnVlaHJlbiwgZGFzIGlzdCBqZXR6dCBzY2hvbiBzby4KU2hhbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBWb3JzY2hsYWcgenUgdG1oaXN0IChHbG9pbnNvbiwgMjMuIEphbiAyMDA4LCAxNjoyNjowOCk6Cn4jISBybj1Cb2luZyBydD0xMjAxMTAxODY3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpFYmVuLiBVbmQgc2tpenppZXJ0IHNpZWh0IGRhcyB3aWUgZm9sZ3QgamV0enQgYXVzOiBpcmdlbmQgZWluIEVNIG9kZXIgZGllCkVNLVNjaGFmdCBuaW1tdCBlcyB6dXIgS2VubnRuaXMgdW5kIG5pY2t0IHp1IG9kZXIgYWIsIGRhbmFjaCBmaW5kZXQgc2ljaApiZWthbm50bGljaCBlaW4gUHJvZ3JhbW1pZXJlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogVm9yc2NobGFnIHp1IHRtaGlzdCAoQm9pbmcsIDIzLiBKYW4gMjAwOCwgMTY6MjY6NTMpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTEwMTk1MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKSWNoIGdsYXViZSBkYXNzIGRpZSBBcmd1bWVudGUgaGlucmVpY2hlbmQgYXVzZ2V0YXVzY2h0IHd1cmRlbiAuLi4gbGV0enRlbmRsaWNoCm11c3N0IER1IG51biBkYXJhdWYgd2FydGVuIGRhc3MgZXMgZWluIEVyem1hZ2llciBsaWVzdCB1bmQgZW50c2NoZWlkZXQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBWb3JzY2hsYWcgenUgdG1oaXN0IChTaGFuaSwgMjMuIEphbiAyMDA4LCAxNjoyOTowMyk6Cn4jISBybj1Cb2luZyBydD0xMjAxMTAyMDEzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpKYSwgZGFzIHdlcmRlIGljaCBuYXR1ZXJsaWNoIG1hY2hlbiB1bmQgaWNoIGRlbmtlIGF1Y2gsIGRhc3MgZGllIE1laW51bmdlbgpqZXR6dCBrbGFyIHNpbmQgZGllIGVzIGhpZXIgZ2lidC4gTWFsIHNjaGF1ZW4gd2FzIGRhcmF1cyB3aXJkLgpTaGFuaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEhpZ2hsYW5kZXIsIDIzLiBKYW4gMjAwOCwgMTY6MzI6MTIpOgp+IyEgcm49U2hhbmkgcnQ9MTIwMTEwMjE0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKVWVicmlnZW5zIGhhYmUgaWNoIHNwZXppZWxsIGRpZXNlcyBmZWF0dXJlIGF1Y2ggc2Nob24gb2VmdGVyIHZlcm1pc3N0LgpFcyBpc3QgZXh0cmVtIHByYWt0aXNjaCwgaW5zYmVzb25kZXJlIG5hY2ggbGFlbmdlcmVyIFplaXQsIGluIGRlciBtYW4KbmljaHQgYXVmIGRlbiBNdWQtU2NoaXJtIHNjaGF1ZW4ga29ubnRlLCBtaXQgZWluZW0gZWluZmFjaCBLb21tYW5kbwp6dSBwcnVlZmVuLCBvYiBqZW1hbmQgd2FzIHZvbiBlaW5lbSB3b2xsdGUuIE9obmUgZ3Jvc3NlcyBHZXNjcm9sbGUKaW0gVGV4dGJ1ZmZlci4KV2VubidzIHBlciBkZWZhdWx0IGF1cyBpc3QgdW5kIGVpbmdlc2NoYWx0ZXQgd2VyZGVuIG11c3MsIHNlaGUgaWNoCmRhbWl0IGF1Y2gga2VpbmUgUHJvYmxlbWUuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBWb3JzY2hsYWcgenUgdG1oaXN0IChHbm9tZSwgMjMuIEphbiAyMDA4LCAxNjo0MDoxMCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEyMDExMDIzMzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CmJpcyBkYXMgZmVhdHVyZSBlaW5nZWJhdXQgaXN0LCB3YXMgamEgYmVrYW5udGxpY2ggZXR3YXMgZGF1ZXJuIGthbm4gOiksCmthbm4gZGlyIGdlaG9sZmVuIHdlcmRlbiwgc28gZHUgdGYgaGFzdDoKClxkZWYgdG1oaXN0ID0gL3JlY2FsbCAtbWdsb2IgLWcgLyV7MS01MH0geyp9IHRlaWx0IERpciBtaXQ6ICoKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogVm9yc2NobGFnIHp1IHRtaGlzdCAoVmVjdG9yLCAyMy4gSmFuIDIwMDgsIDE2OjQxOjQzKToKfiMhIHJuPUdub21lIHJ0PTEyMDExMDI4MTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CiBvZGVyIGVpbiBmZWluZXMgL3JlY2FsbCAxMDAwMCAqdGVpbHQqIHVuZCB3ZXIgYmF1dCBkYXMgZnVlciB0ZWxuZXQgPzo+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogVm9yc2NobGFnIHp1IHRtaGlzdCAoQm9pbmcsIDIzLiBKYW4gMjAwOCwgMTY6NDc6MDApOgp+IyEgcm49VmVjdG9yIHJ0PTEyMDExMDI5MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkhleSwgZGFzIGJlbnV0emUgaWNoIGF1Y2ghIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBWb3JzY2hsYWcgenUgdG1oaXN0IChTaGFuaSwgMjMuIEphbiAyMDA4LCAxNjo0ODozNyk6Cn4jISBybj1Cb2luZyBydD0xMjAxMTAzMjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpIYWIgbGVpZGVyIGtlaW4gdGYuIERhcyBlcyBkYSBlaW5lIE1vZWdsaWNoa2VpdCBoYWIgaWNoIGF1Y2ggc2Nob24gZ2Vob2VydCwKaGFiIGFiZXIgbGVpZGVyIGtlaW5lIGZ1ZXIgTXVzaGNsaWVudCBiaXNoZXIuClNoYW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogVm9yc2NobGFnIHp1IHRtaGlzdCAoR2xvaW5zb24sIDIzLiBKYW4gMjAwOCwgMTY6NTI6MDQpOgp+IyEgcm49Qm9pbmcgcnQ9MTIwMTEwMzIyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKVW5kIGZ1ZXIgTGV1dGUgbXRpIHN0YWVuZGlnZW4gRENzIGdpYnQgZXMgZGFubiBub2NoICJzY3JlZW4iIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEJvaW5nLCAyMy4gSmFuIDIwMDgsIDE2OjU0OjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDExMDM1MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5ClVtIGRhcyBrbGFyenVzdGVsbGVuOiBpY2ggYmVudXR6ZSBuaWNodCB0ZWxuZXQgc29uZGVybiAvcmVjYWxsIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBWb3JzY2hsYWcgenUgdG1oaXN0IChLcmVsbGphLCAyMy4gSmFuIDIwMDgsIDIxOjQyOjEyKToKfiMhIHJuPUJvaW5nIHJ0PTEyMDExMDM2NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5Ck1hbCBhYmdlc2VoZW4gZGF2b24sIGRhc3MgaWNoIGRhcyBmZWF0dXJlIGF1Y2ggbmV0dCBmYWVuZGUsIGx1c3RpZyBhbiBkZXIKZ2FuemVuIERpc2t1c3Npb24gZmluZGUgaWNoLCBkYXNzIHdpciB1bnMgTXVlaGUgZ2ViZW4sIGJsaW5kZW5mcmV1bmRsaWNoZXIgenUKd2VyZGVuIHVuZCBkYW5uIGtvbW10IG1hbCBlaW4gZWNodCBwcmFrdGlzY2hlciBXdW5zY2ggdW5kIHdhcyBwYXNzaWVydD8KQmVkZW5rZW4gdWViZXIgYmVkZW5rZW4uIDo/CgpLcmVsbGphLCB3b2hsIHZpZWwgenUgd2VuaWcgdW0gc2VpbmUgUHJpdmF0c3BoYWVyZSBiZXNvcmd0LiBCencuIGRhdm9uCmF1c2dlaGVuZCwgZGFzcyBlaCBpcmdlbmR3ZXIgYWxsZXMgbWl0bG9nZ3QsIHdhcyBpY2ggc28gaW0gTmV0eiB0cmVpYmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBWb3JzY2hsYWcgenUgdG1oaXN0IChBcmF0aG9ybiwgMjMuIEphbiAyMDA4LCAyMTo0OTo0Nyk6Cn4jISBybj1LcmVsbGphIHJ0PTEyMDExMjA5MzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkljaCB2ZXJ3ZWlzZSBtYWwgdm9lbGxpZyB1bnZlcmJpbmRsaWNoIGF1ZiBCb2luZ3MgUG9zdGluZy4gTW9lZ2xpY2hlcndlaXNlCmthbm4gbWFuIGJlaWRlIFd1ZW5zY2hlIHJlY2h0IGJyYXVjaGJhciBtaXRlaW5hbmRlciBrb21iaW5pZXJlbi4gVW5kIHdlbm4KRXVjaCBtZWluZSBwZXJzb2VubGljaGUgTWVpbnVuZyBpbnRlcmVzc2llcnQ6IGljaCBmaW5kZSBkaWUgSWRlZSBhdWNoIG5pY2h0CnZlcmtlaHJ0LCB3b2JlaSBpY2ggZ2VuZXJlbGwgVm9yc2NobGFlZ2VuLCBkaWUgZGFzIFNwaWVsIGZ1ZXIgQmxpbmRlL1NlaGdlLQpzY2hhZWRpZ3RlIGFuZ2VuZWhtZXIgbWFjaGVuLCBzZWhyIHdvaGx3b2xsZW5kIGdlZ2VudWViZXJzdGVoZS4KCkJ0dywgS3JlbGxqYTogR2V3b2VobiBEaWNoIGdhciBuaWNodCBlcnN0IGFuIGRpZSBWb3JzdGVsbHVuZywgZGFzcyBlaCBhbGxlcwptaWdlbG9nZ3Qgd2lyZC4gOy0pCgpHcnVzcywgQXJhdGhvcm4uCgpQLlMuOiBXYXMgZXMgYWJlciBhdXMgU3BlaWNoZXJncnVlbmRlbiB3b2hsIGVoZXIgbmljaHQgZ2ViZW4gd2lyZCwgaXN0IGVpbmUKICAgICAgdG0taGlzdCwgZGllIGRhcyBBdXMtIHVuZCB3aWVkZXIgRWlubG9nZ2VuIHVlYmVybGVidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBWb3JzY2hsYWcgenUgdG1oaXN0IChaZXNzdHJhLCAyMy4gSmFuIDIwMDgsIDIxOjUwOjI4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDEwOTk1MjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5Ck1obW0sIGVpbmUgbGVpY2h0ZSBWZXJzY2hsZWNodGVydW5nIHNlaCBpY2ggc2Nob246IE1vbWVudGFuIG11c3N0IGR1cmNoCmdlZWlnbmV0ZSBNYW5pcHVsYXRpb24gImluIEVjaHR6ZWl0IiBkaWUgS29tbXVuaWthdGlvbiBiZWxhdXNjaGVuLCBtaXQgZWluZXIKSGlzdCBrb2VubnRlc3QgRHUgZGFzIGF1Y2ggaW0gTmFjaGhpbmVpbiB0dW4uIEFuc29uc3RlbiBzdGltbWUgaWNoIG5hdHVlcmxpY2gKenUuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogVm9yc2NobGFnIHp1IHRtaGlzdCAoQXJhdGhvcm4sIDIzLiBKYW4gMjAwOCwgMjE6NTI6NDgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjAxMTIxNDI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpOYWphLCBkaWUgdGVjaG5pc2NoZSBCYXNpcyBtdWVzc3RlIG1hbiBqYSBlaCBub2NoIGRpc2t1dGllcmVuLCBhYmVyIGVzIHNvbGwgCmphIGVoIGplZGVyIGVpbi0gdW5kIGF1c3NjaGFsdGVuIGtvZW5uZW4gbmFjaCBCZWxpZWJlbi4gVW5kIHNvbGFuZ2UgZXMga2VpbgoodHJpdmlhbGVzKSBJbnRlcmZhY2UgZ2lidCwgdW0gZGVuIEtvbW11bmlrYXRpb25zaW5oYWx0IGFienVmcmFnZW4sIHVuZCBuaXgKYXVmIGRlciBQbGF0dGUgbGFuZGV0LCBzb2xsdGUgZXMgbW9lZ2xpY2ggc2VpbiwgZXZlbnR1ZWxsZSBadWdyaWZmZSBhdWYgRU0rIAp6dSBiZXNjaHJhZW5rZW4uCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBWb3JzY2hsYWcgenUgdG1oaXN0IChPcmt0b2V0ZXIsIDIzLiBKYW4gMjAwOCwgMjE6NTQ6NDUpOgp+IyEgcm49WmVzc3RyYSBydD0xMjAxMTIxNDI4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQoxLiBzdGFuZGFyZG1hZXNzaWcgMCBUTSdzIGRpZSBnZXNwZWljaGVydCB3ZXJkZW4gdW5kIAoyLiBlaW4gbmV1ZXIgQmVmZWhsICJ0ZWlsZSB4eXogZ2VoZWltIG1pdCIsIGRlciBzbyB3aWUgdG0gZnVua3Rpb25pZXJ0LCBudXIKbmljaHQgZ2VzcGVpY2hlcnQgd2lyZCAoZXZ0bC4gZWluIHh5ei4gaGF0IGRpciBldHdhcyBtaXR0ZWlsZW4gd29sbGVuKQoKMS4gZnVlaHJ0IGRhenUsIGRhcyBuaWNodCBhbGx6dXZpZWwgU3BlaWNoZXIgdmVyYnJhdWNodCB3aXJkIHVuZCBuaWVtYW5kIHRtJ3MKc3BlaWNoZXJuIG11c3MgZGVyIG5pY2h0IG1hZyAKMi4gZnVlaHJ0IGRhenUsIGRhc3MgYXVjaCBBYnNlbmRlciBzaWNoZXIgc2VpbiBrb2VubmVuLCBkYXNzIGlocmUgYWNoIHNvCmdlaGVpbWVuIE1pdHRlaWx1bmdlbiBuaWNodCBhYmdlc3BlaWNoZXJ0IHdlcmRlbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9yc2NobGFnIHp1IHRtaGlzdCAoWmVzc3RyYSwgMjMuIEphbiAyMDA4LCAyMjozNTozOCk6Cn4jISBybj1TaGFuaSBydD0xMjAxMDk2MTc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpNZWluZSBzcG9udGFuZSBwZXJzb2VubGljaGUgTWVpbnVuZzogSWNoIGhhYiBuaWNodHMgZ2VnZW4gZWluZSB0bWhpc3QuCkVzIGxhZXNzdCBzaWNoIElNSE8gYXVjaCBzbyBnZXN0YWx0ZW4sIGRhc3MgbnVyIEVNKyBhbiBmcmVtZGUgSGlzdHMgZHJhbmtvbW1lbgp1bmQgZGllIGF1Y2ggbnVyIG1pdCBWb3JzYXR6LCBCYXN0ZWxlaSArIEtlbm50bmlzLiAoTGV1dGUsIGRpZSBkZW4gTmV0enZlcmtlaHIKbWl0bGVzZW4sIHNpbmQgZGEgbmF0dWVybGljaCBhdXNzZW4gdm9yLCB3aWUgaW1tZXIuKSBBbnNvbnN0ZW4gd2FlcmVuIGRpZQp0ZWNobmlzY2hlbiBEZXRhaWxzIGV0d2FzLCB3YXMgZGFubiBnZ2YuIHNwYWV0ZXIgbWl0IGRlbWplbmlnZW4genUgZGlza3V0aWVyZW4Kd2FlcmUsIGRlciBlcyBtYWNodC4KRGVyIEhpbndlaXMgdm9uIFplcGh5ciAoU2VuZGVyICsgRW1wZmFlbmdlciBtdWVzc3RlbiBlaW52ZXJzdGFuZGVuIHNlaW4pIGlzdApJTUhPIG5pY2h0IGdhbnogdm9uIGRlciBIYW5kIHp1IHdlaXNlbiwgYWxsZXJkaW5ncyB3aXJkIGRhcyBkdXJjaCBkaWUKTW9lZ2xpY2hrZWl0IGRlciBjbGllbnQtc2VpdGlnZW4gU3BlaWNoZXJ1bmcgKGJ6dy4gc2VsYnN0IGRlbgpCaWxkc2NoaXJtaGlzdG9yeSB2b20gQ2xpZW50KSBncm9lc3N0ZW50ZWlscyBpcnJlbGV2YW50LgoKRGVyIHByaW1hZXJlIEdydW5kLCBkYXNzIGVzIHNvd2FzIGJpc2hlciBuaWNodCBnaWJ0IHVuZCBkaWUgRGlza3Vzc2lvbiBuaWNodAp6dWVuZGUgZ2VmdWVocnQgd3VyZGUsIGlzdCB2ZXJtdXRsaWNoLCBkYXNzIGJpc2hlciBuaWVtYW5kIFplaXQgZGFmdWVyCmVydWVicmlnZW4ga29ubnRlLCBiZWkgbWlyIHouQi4gd2FyZW4gaW4gZGVuIFplaXRlbiwgd28gaWNoIGJhc3RlbG4ga29ubnRlLAppcmdlbmR3aWUgYW5kZXJlIERpbmdlIChzdWJqZWt0aXYpIHdpY2h0aWdlci4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2dvIChNZXNpcmlpLCAyNC4gSmFuIDIwMDgsIDIyOjE2OjU1KToKSGFsbG8gTXVkLAoKZGEgd2lyIG51ciBzZWhyIHdlbmlnZSBGZWVkYmFjayB2b24gZGVyIE1haWxpbmdsaXN0ZSAoMCkgdW5kIGV0d2FzIGluIGRlciBNUEEgCmJla29tbWVuIGhhYmVuLCBiZXN0aW1tdCBkZXIgVm9yc3RhbmQgZm9sZ2VuZGVzOgoKRGEgd2lyIGVpbmlnZSBUZXJtaW5lIGhhYmVuLCB3byB3aXIgZWluIExvZ28gYnJhdWNoZW4sIG51dHplbiB3aXIKYmlzIHp1ciBuYWVjaHN0ZW4gTWl0Z2xpZWRlcnZlcnNhbW1sdW5nIGVyc3RtYWwgZGFzIExvZ28gTnIuIDIyLgoKV2VubiBCZWRhcmYgYmVzdGVodCwga29lbm5lbiB3aXIgYXVmIGRlciBWZXJzYW1tbHVuZyBnZXJuIG5vY2ggZWlubWFsIGRhcnVlYmVyCmFic3RpbW1lbi4KCk1lc2kKClAuUy4gSWNoIHNjaHJlaWIgZGFzIGhpZXIsIHdlaWwgZGFzIGFsbGUgd2FzIGFuZ2VodCB1bmQgaWhyIHdlbmlnc3RlbnMKaW5mb3JtaWVydApzZWluIHNvbGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JzY2hsYWcgenUgdG1oaXN0IChBbmF0b2wsIDI0LiBKYW4gMjAwOCwgMjI6MzE6NTIpOgp+IyEgcm49WmVzc3RyYSBydD0xMjAxMTI0MTM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMTA5NjE3OQpLZWluZSBDbGllbnQtSW1wbGVtZW50aWVydW5nIGVyc2V0enQgZGFzICJ0bWhpc3QiLCB3ZW5uIGVzIGRhcnVtCmdlaHQsIG5hY2ggZWluZW0gSGFuZ3VwIGRpZSBOYWNocmljaHRlbiBlaW5zZWhlbiB6dSBrb2VubmVuLCBkaWUgbWFuCi0gb2huZSBXaXNzZW4gZGVzIEdlc3ByYWVjaHNwYXJ0bmVycyAtIHZlcnBhc3N0IGhhdC4KCkljaCBzZWhlIGtlaW4gUHJvYmxlbSBmdWVyIGRlbiBTcGVpY2hlci4gTmljaHQgbWVoci4gRGllIFplaXRlbiwgaW4gZGVuZW4KZXMgd2ljaHRpZyB3YXIsIEFsaWFzZSB6dSBzcGFyZW4sIGRlbiBNYWdpZXJuIGRlbiBIZXJ6c2NobGFnIGF1c3p1c2NoYWx0ZW4sCmJsb3NzIGtlaW4gU3R1ZWNrIGFtIFNwaWVsZXJvYmpla3QgenUgZ3Jvc3MgenUgbWFjaGVuLCBkaWUgc2luZCBtZWluZXMKRXJhY2h0ZW5zIHZvcmJlaS4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9yc2NobGFnIHp1IHRtaGlzdCAoTWVzaXJpaSwgMjQuIEphbiAyMDA4LCAyMjo1NDoyOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTIwMTIxMDMxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDEwOTYxNzkKSWNoIGZpbmRlIGRlbiBWb3JzY2hsYWcgYXVjaCBndXQgdW5kIGRlbmtlIGRhcyBoaWxmdCwgZ2VuYXUgd2llIGRpZSBhbmRlcmVuCkFucGFzc3VuZ2VuLCBkaWUgc2Nob24gZ2VtYWNodCB3dXJkZW4sIGRhcyBnYW56ZSBkZXV0bGljaCBzcGllbGVyZnJldW5kbGljaGVyCnp1IGdlc3RhbHRlbi4KSWNoIHd1ZXJkcyBhdWNoIHByb2dnZW4uCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvcnNjaGxhZyB6dSB0bWhpc3QgKEFuYXRvbCwgMjUuIEphbiAyMDA4LCAwMToxOToyNik6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDEyMTE2Njkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkR1IG11c3N0IGVzIG5pY2h0IHByb2dnZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVm9yc2NobGFnIHp1IHRtaGlzdCAoQW15bnRob3IsIDI1LiBKYW4gMjAwOCwgMTg6MzY6NTQpOgp+IyEgcm49QW5hdG9sIHJ0PTEyMDEyMjAzNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAxMDk2MTc5CkVpbmUgZXJ3ZWl0ZXJ0ZSB0bWhpc3QgaW4gZGVtIFNpbm5lLCB3aWUgU2hhbmkgZGFzIGFuZ2VzcHJvY2hlbiBoYXQsIGhhYmUgaWNoCnNjaG9uIHZvciBlaW5lbSBKYWhyIGltIFJhaG1lbiBtZWluZXMgR2VzZWxsZW5zdHVlY2tzIGdlc2NocmllYmVuLCBudXIgaXN0CmRhcyBiaXNoZXIgaXJnZW5kd2llIGxpZWdlbmdlYmxpZWJlbiAob2theSwgaWNoIGhhYmUgbWljaCBuaWNodCB3ZWl0ZXIgZGFydW0KZ2VrdWVtbWVydCkuIERlciBDb2RlIGlzdCBhbHNvIHZvcmhhbmRlbiwgbmljaHQgZGFzcyBzaWNoIGRhIGplbWFuZCBqZXR6dAp1bm5vZXRpZyBNdWVoZSBtYWNodC4gSW0gTW9tZW50IGJpbiBpY2ggYWJlciB6aWVtbGljaCBpbSBTdHJlc3Mgd2VnZW4KS2xhdXN1cmVuIHVuZCBBYmdhYmV0ZXJtaW5lbiwgZGFoZXIgd2lyZCBlcyBlaW5pZ2UgV29jaGVuIGRhdWVybiwgYmlzIGljaAp3aWVkZXIgbWVociBaZWl0IGZ1ZXIgZGFzIE11ZCBoYWJlLgoKR3dlbmlsaXMgVm9yc2NobGFnIChPcHRpb24gZnVlciBkZW4gRW1wZmFlbmdlcikgZmluZGUgaWNoIHNlaHIgZ3V0LCBkYXJhbgpoYWJlIGljaCBudXIgbm9jaCBuaWNodCBnZWRhY2h0LiBNaXQgWmVwaHlycyBWb3JzY2hsYWcgKE9wdGlvbiBhdWNoIGZ1ZXIgZGVuCkFic2VuZGVyKSBoYWJlIGljaCBkYSBzY2hvbiBlaGVyIGVpbiBQcm9ibGVtLCBzY2hsaWVzc2xpY2ggbW9lY2h0ZSBpY2ggc2VsYnN0CmJlc3RpbW1lbiwgb2IgTWl0dGVpbHVuZ2VuIGFuIG1pY2ggZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxlbiBvZGVyIG5pY2h0LiBVbmQKd2FzIFdoaXRldGlnZXIgYW5nZXNwcm9jaGVuIGhhdCAocHJpdmF0ZSBWYXJpYWJsZW4pIGlzdCBuYXR1ZXJsaWNoIGtsYXIsIGRhcwp3aXJkIG5pY2h0IGlyZ2VuZHdvIGluIGVpbmUgUHJvcGVydHkgZ2VzY2hyaWViZW4gKHVuZCBpc3QgZGFubiBuYWNoIEVuZGUvClJlYm9vdC9DcmFzaCBhdWNoIHppZW1saWNoIHdlZywgbWFsIGFiZ2VzZWhlbiB2b20gU3dhcGZpbGUpLgoKV2FzIGljaCBlaGVyIGFscyBQcm9ibGVtIHNlaGUsIGlzdCwgZGFzcyBtaXQgZGllc2VtIEZlYXR1cmUgZGllIGtvbXBsZXR0ZQpJbmZyYXN0cnVrdHVyIGZ1ZXIgZWluZSAoZXZlbnR1ZWxsIHNwYWV0ZXIgbWFsIGVyd3VlbnNjaHRlKSB2b2xsc3RhZW5kaWdlClByb3Rva29sbGllcnVuZyBnZXNjaGFmZmVuIHdpcmQuIE1hbiB3ZWlzcyBqYSBuaWUsIHdhcyBkZW0gR2VzZXR6Z2ViZXIgbmljaHQKbm9jaCBhbGxlcyBmdWVyIC4uLiBpbnRlcmVzc2FudGUgLi4uIElkZWVuIGtvbW1lbi4gQWJlciBpY2ggd2lsbCBtYWwgbmljaHQKZGFzIEhvcnJvcnN6ZW5hcmlvIGFuIGRpZSBXYW5kIG1hbGVuLgoKQW15bnRob3IKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWFtLUF1ZnJ1ZmUgYXVmIC1oIChLZXNzYSwgIDUuIEZlYiAyMDA4LCAwMDoyMDoyNCk6CkljaCBtb2VjaHRlIG5vY2htYWwgYXVmIGVpbiBUaGVtYSBoaW53ZWlzZW4sIGRhcyB2b3IgJ25lciBXZWlsZSBzY2hvbiBtYWwKYW5nZXNwcm9jaGVuIHd1cmRlLiBFcyB3YWVyZSBzY2hvZW4sIHdlbm4gZGllIFN1Y2hlIG5hY2ggZ3JvZXNzZXJlbiBUZWFtcwooVmVzcmF5LCBERyB1bmQgc28gd2VpdGVyKSBnZW5lcmVsbCBhdWYgLWggYW5nZXNhZ3Qgd3VlcmRlLiBJY2ggd2Vpc3MsIHZpZWxlCm1hY2hlbiBkYXMgc2Nob24gc28sIGljaCBtb2VjaHRlIG51ciBub2NoIG1hbCBhbGxlIGVybXVudGVybiwgZGFzIHNvIHp1CmhhbmRoYWJlbi4gRXMgZ2lidCBoaWVyIExldXRlIG1pdCBlaW5lbSBuaWNodCBzbyBncm9zc2VuIEYtQmFuZCwgZGllIHNvIGVpbmUKYmVzc2VyZSBDaGFuY2UgaGFldHRlbiwgZG9ydCBtaXR6dWdlaGVuLiBCZWkgVmVzIGdpYnRzIG5hdHVlcmxpY2ggYXVjaCBub2NoCmRpZSBBbm1lbGR1bmcgdWViZXIgTG9jLCBhdWNoIG5pY2h0IHp1IHZlcmdlc3NlbiA6KQoKS2Vzc2EsIGRpZSBhdWNoIG1hbCB3aWVkZXIgbWVociBzcGllbGVuIHNvbGx0ZS4uLiBpcmdlbmR3YW5uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZXJuZWwgVXBkYXRlIChSdW1hdGEsIDEzLiBGZWIgMjAwOCwgMTY6NTI6NTIpOgpIYWxsbywKdW0gZGVuIE11ZHJlY2huZXIgdm9yIGRlbSBrZXJuZWwgcm9vdCBleHBsb2l0IHp1IHNjaHVldHplbiwgd2lyZApiYWxkIGVpbiBuZXVlciBLZXJuZWwgaW5zdGVsbGllcnQgd2VyZGVuIG11ZXNzZW4uIERhcyBiZWRldXRldApsZWlkZXIgYXVjaCwgZGFzcyBkYXMgTXVkIG5ldSBnZXN0YXJ0ZXQgd2VyZGVuIG11c3MuCgpUZXJtaW4gc3RlaHQgbm9jaCBuaWNodCBmZXN0LiBBYmVyIGVzIHdpcmQgcmVsYXRpdiBiYWxkIHBhc3NpZXJlbi4KCkxpZWJlIEdydWVzc2UKICBSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaWJpZXIgKFRhbGlvbiwgMTYuIEZlYiAyMDA4LCAyMTozNDoyMik6Ck9rLCBpY2ggYmluIHVudGVyIHVtc3RhZW5kZW4gbmljaHQgaW4gZGVyIHJpY2h0aWdlbiBSdWJyaWssIGFiZXI6IFdlciB2b24gbWlyCmF1ZiBkZW0gVW5pdG9waWEtSW50ZXJtdWQtVHJlZmZlbiBlaW5lbiBhdXNnZWdlYmVuIGJla29tbWVuIHdpbGwsIHByb3Rlc3RpZXJ0CmpldHp0IGluIGRlLmFsdC5hZG1pbiBtaXQgdmVybnVlbmZ0aWdlbiBHcnVlbmRlbiBnZWdlbiBkaWUgTG9lc2NodW5nIHZvbgpkZS5hbHQubXVkLgoKSWhyIGtvZW5udCBtaWNoIGRhbm4gYXVmIGRlbSBUcmVmZmVuIGluIFN0dXR0Z2FydCBhbnNwcmVjaGVuIDotKQoKTGllYmUgR3J1ZXNzZSwKClRhbGlAYXZhbG9uCi54CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJlaWJpZXIgKFZhbmlvbiwgMTYuIEZlYiAyMDA4LCAyMTozNDo1NCk6Cn4jISBybj1UYWxpb24gcnQ9MTIwMzE5NDA2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKU2Nob24gd2llZGVyPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJlaWJpZXIgKEdsb2luc29uLCAxNi4gRmViIDIwMDgsIDIyOjE3OjM4KToKfiMhIHJuPVZhbmlvbiBydD0xMjAzMTk0MDk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpCZXN0aW1tdCwgd2VpbCBpY2ggZXMgbmljaHQgbWVociBpbiBkZXIgTmV3c2xpc3RlIGhhYmUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJlaWJpZXIgKE1hcmN1cywgMTcuIEZlYiAyMDA4LCAxMjozNDoyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjAzMTk2NjU4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGllIEdydXBwZSBhdWNoIGVpbmZhY2ggc3RlcmJlbiBsYXNzZW4uCgpHZW5hdSB3aWUgZGVuIFJlc3QgZGVzIFVTRU5FVC4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJlaWJpZXIgKFZhbmlvbiwgMTcuIEZlYiAyMDA4LCAxMjozNzoxMyk6Cn4jISBybj1NYXJjdXMgcnQ9MTIwMzI0ODA2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKRnJhZ3Qgc2ljaCBudXIsIHdhcnVtIGRpZSBVc2VuZXQtQWRtaW5zIGRhIGltbWVyIG5vY2ggc28gZWluZW4gRnVzcyBkcmF1cwptYWNoZW4sICdydWhpZ2UnIEdydXBwZW4genUgbG9lc2NoZW4gLi4uIGRhbSBzdG9lcnQgZG9jaCBudSB3aXJrbGljaCBrZWluZW4sCnVuZCBlcyBnaWJ0IGtlaW4gYW5kZXJlcyBGYWxsYmFjay4gU2llIHNvcmdlbiBudXIgZGFmdWVyLCBkYXNzIGRhcyBVc2VuZXQgbm9jaAp1bmludGVyZXNzYW50ZXIgd2lyZC4KCkRlcmVuIFNhY2hlLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyZWliaWVyIChHbG9pbnNvbiwgMTcuIEZlYiAyMDA4LCAxMjozODoxNSk6Cn4jISBybj1NYXJjdXMgcnQ9MTIwMzI0ODA2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKTWFuY2hlIEdydXBwZW4gc2luZCBkdXJjaGF1cyBub2NoIGFrdGl2LCBsZWJlbmRpZyB1bmQgYmVzc2VyIG51dHpiYXIgYWxzCkZvcmVuLiBEaWUgZGEgaGFsdCBuaWNodCBtZWhyLiBJY2ggaGFiIGxhbmdlIGdlbnVnIG1hbCBBcnRpa2VsIGRvcnQgaW5zIFZvaWQKZ2VzY2hpY2t0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZyZWliaWVyIChHbG9pbnNvbiwgMTcuIEZlYiAyMDA4LCAxMjozOToyMSk6Cn4jISBybj1WYW5pb24gcnQ9MTIwMzI0ODIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKQXUgY29udHJhaXJlLCBNcy4gVmFuaW9uLiBXYXMgaWNoIHdpcmtsaWNoIGhhc3NlbiBnZWxlcm50IGhhYmUgaXN0IGVpbiBwYWFyCm5ldWUgTmV3c2dyb3VwcyB6dSBhYm9ubmllcmVuIHVuZCBuYWNoIHp3ZWkgV29jaGVuIGZlc3RzdGVsbGVuIHp1IGR1ZXJmZW4sCmRhc3MgZGllIG51ciBub2NoIHBlciBOYW1lIGV4aXN0aWVyZW4uIERhbWl0IG1hY2h0IG1hbiBkZW4gYWt0aXZlbiBSZXN0CnVuYXR0cmFrdGl2ZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJlaWJpZXIgKFZhbmlvbiwgMTcuIEZlYiAyMDA4LCAxMzoxOTowMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjAzMjQ4MzYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpTaWVoZSBtZWluZW4gQXJ0aWtlbCBpbiBkZS5hbHQubXVkL2RlLmFsdC5hZG1pbi4gU29sbGVuIHNpZSBkb2NoIGxvZXNjaGVuLiBXaXIKc2luZCBtaXR0bGVyd2VpbGUgcmVsYXRpdiBndXQgYXVmZ2VzdGVsbHQsIHdhcyBLb21tdW5pa2F0aW9uIGFuZ2VodCwgYXVjaAphdXNzZXJoYWxiIGRlcyBNdWQuIFdpciBoYWJlbiB6d2VpIFdlYnNlaXRlbiAod3d3Lm11ZC5kZSAvIG1nLm11ZC5kZSApIHVuZAplaW5lIE1haWxpbmdsaXN0ZSAoVmVyZWluKS4gQXVzIG1laW5lciBTaWNodCB3dWVyZGUgZWluIG9mZmVuZXMgRm9ydW0gYXVmCnd3dy5tdWQuZGUgZC5hLm0gbG9ja2VyIGVyc2V0emVuLCBpcyBoYWx0IGRhbm4gZG9vZiwgZGFzcyBtYW4gTmV1aWdrZWl0ZW4KKG5ldWUgUG9zdHMpIG5pY2ggbWVociBmcmVpIGhhdXMgYmVrb21tdCAocGVyIE5ld3NyZWFkZXIpLgoKRGFzIFVzZW5ldCB3YXIgdm9yIHp3ZWksIGRyZWkgSmFocmVuIGZ1ZXIgdW5zIG5vY2ggYmVkZXV0ZW5kZXIuIFdlbm4gZGFzIE11ZAptYWwgbmljaHQgdGF0LCBvZGVyIGludGVybXVkIHp1c2FtbWVuYnJhY2gsIGtvbm50ZSBtYW4gZGEgbWl0IE11ZGRlcm4gdW5kIGRlbgphbmRlcmVuIE11ZHMgaW4gS29udGFrdCB0cmV0ZW4uIERlbiBCZWRhcmYgaGF0dGUgenVtaW5kZXN0IGljaCBpbiBkZW4gbGV0enRlbgpNb25hdGVuIG5pY2h0IG1laHIuIEljaCBoYXR0ZSBkaWUgR3J1cHBlIG5pY2h0IG1hbCBtZWhyIGFib25uaWVydC4gTmEgdW0KZWhybGljaCB6dSBzZWluLCBoYWIgaWNoIGluIGRlbiBsZXR6dGVuIDE4IE1vbmF0ZW4gbmljaHQgbWFsIG1laHIgZWluZQpVc2VuZXQtQ29uZmlnIGdlaGFidC4KClNjaGFkZSBmYWVuZCBpY2ggZXMgYWJlciBzY2hvbi4gU293b2hsIE11ZHMgYWxzIGF1Y2ggZGFzIFVzZW5ldCBzaW5kIEFydGVmYWt0ZQphdXMgZGVuIEFuZmFlbmdlbiBkZXMgSW50ZXJuZXQuIFVuZCB3ZW5uIGQuYS5tLiBnZWxvZXNjaHQgd2lyZCwgdHJlbm5lbiBzaWNoCnVuc2VyZSBXZWdlLiBEYXMgaXN0IC4uLiBuYWphLCBhdXMgbm9zdGFsZ2lzY2hlciBTaWNodCBzY2hhZGUsIHVuZCBhdXMgZGllc2VyClNpY2h0IHZlcmxvZXJlbiBiZWlkZSBkYWJlaS4KCkFiZXIgZGEgZGllIEVudHNjaGVpZHVuZyBuaWNodCBiZWkgdW5zIGxpZWd0LCBsZWhuIGljaCBtaWNoIGFiIGpldHp0IGVpbmZhY2gKenVydWVjayB1bmQgZ2VuaWVzcyBkaWUgU2hvdy4KClYqClBTOiBNaXIgZmFlbGx0IGdyYWQgYXVmLCBkYXNzIGljaCBpbW1lciB2b24gVXNlbmV0IHNjaHJpZWIsIGFiZXIgZWlnZW50bGljaApudXIgZGFzIGRldXRzY2hlIHVzZW5ldCBtZWluZS4gSW4gcmVjLmFydHMuZHJ3aG8gaXMgZGllIEhvZWxsZSBsb3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGcmVpYmllciAoR3JpbW1ib3JuLCAxNy4gRmViIDIwMDgsIDEzOjI3OjQ5KToKfiMhIHJuPVZhbmlvbiBydD0xMjAzMjUwNzQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2Mgo+IGlzIGhhbHQgZGFubiBkb29mLCBkYXNzIG1hbiBOZXVpZ2tlaXRlbgo+IChuZXVlIFBvc3RzKSBuaWNoIG1laHIgZnJlaSBoYXVzIGJla29tbXQgKHBlciBOZXdzcmVhZGVyKS4KClZvbiBSU1MgaGFzdCBEdSBhYmVyIHNjaG9ubWFsIGdlaG9lcnQsIG9kZXI/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZyZWliaWVyIChWYW5pb24sIDE3LiBGZWIgMjAwOCwgMTM6MzU6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMDMyNTEyNjkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAzMTk0MDYyCkhhYiBpY2gsIGFiZXIgaWNoIGJpbiBiaXNoZXIgbm9jaCBuaWNoIHNvb28gYmVnZWlzdGVydCBkYXZvbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGcmVpYmllciAoR3JpbW1ib3JuLCAxNy4gRmViIDIwMDgsIDEzOjQ1OjAwKToKfiMhIHJuPVZhbmlvbiBydD0xMjAzMjUxNzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpBaCwgZGFubiBzaW5kIHVuc2VyZSBFcmZhaHJ1bmdlbiB1bnRlcnNjaGllZGxpY2guIEljaCBmaW5kZSBkYXMgd2VzZW50bGljaApzdHJlc3NhZXJtZXIgYWxzIGFsbGUgMTUgbWluIGRpZSBIZWlzZXNlaXRlIHp1IHJlbG9hZGVuIGF1cyBBbmdzdCBpY2gga29lbm50ZQp3YXMgdmVycGFzc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRnJlaWJpZXIgKE1lc2lyaWksIDE3LiBGZWIgMjAwOCwgMTM6NDc6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMDMyNTIzMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAzMTk0MDYyCk1hY2h0IGRhcyBuaWNodCBkZWluIEJyYXVzZXIgZnVlciBkaWNoPwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRnJlaWJpZXIgKFZhbmlvbiwgMTcuIEZlYiAyMDA4LCAxMzo0NzoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIwMzI1MjMwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKTmVpbiwgbWVpbiBQcm9ibGVtIHNpbmQgd2VuaWdlciBkaWUgRnVua3Rpb24gYWxzIGRpZSBDbGllbnRzLiBOZXR2aWJlcyBpc3QKbmV0dCwgd2lyZCBiZWkgdmllbGVuIFJTUyBhYmVyIHNjaG5lbGwgdW51ZWJlcnNpY2h0bGljaCwgbGlmZXJlYSB1bmQgY28gc2luZApoYWx0IG5ldWUgVG9vbHMsIGRpZSBtYW4gcmVnZWxtYWVzc2lnIGJlbnV0emVuIG11c3MuIEFtIGxpZWJzdGVuIHdhZXJlIG1pcgplaW5lIFJTUy1FaW5iaW5kdW5nIHNvIHdpZSBkaWUgVXNlbmV0ZWluYmluZHVuZyBpbiBUaHVuZGVyYmlyZC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRnJlaWJpZXIgKEFyYXRob3JuLCAxNy4gRmViIDIwMDgsIDE0OjAxOjQ2KToKfiMhIHJuPVZhbmlvbiBydD0xMjAzMjUyNDQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpWb24gd2VsY2hlbSBPUyByZWRlbiB3aXIgZ3JhZD8gRmFsbHMgTGludXgsIGthbm4gaWNoIGRlbiBBa3JlZ2F0b3IgZW1wZmVobGVuLApkYSBrYW5uIG1hbiBkaWUgRmVlZHMgaW4gR3J1cHBlbiBlaW5zb3J0aWVyZW4uIEZhbGxzIGVzIHVtIFdpbmRvd3MgZ2VodCwKa29lbm50ZSBtYW4gc2ljaCBtYWwgZGVuIEZlZWRSZWFkZXIgYW5zY2hhdWVuLgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRnJlaWJpZXIgKEdyaW1tYm9ybiwgMTcuIEZlYiAyMDA4LCAxNDowMTo1Mik6Cn4jISBybj1NZXNpcmlpIHJ0PTEyMDMyNTI0NDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjAzMTk0MDYyCk5laW4sIHdhcnVtIHNvbGx0ZSBtZWluIEJyb3dzZXIgc3RhZW5kaWcgZWluZSBTZWl0ZSBkaWUgZXIgYW56ZWlndCBuZXUgbGFkZW4/CldhcnVtIHNvbGx0ZSBpY2ggfjE1IChaYWhsIG1laW5lciBSU1MgZmVlZHMpIEJyb3dzZXJmZW5zdGVyIG9mZmVuaGFiZW4gZnVlcgpTYWNoZW4gZGllIHNpY2ggdS5VLiBudXIgYWxsZSBwYWFyIFRhZ2UgbWFsIGFlbmRlcm4/IApNaXQgY2xpZW50cyBrZW5uZSBpY2ggbWljaCBuaWNodCBhdXMsIGhhYiBha3JlZ2F0b3IgYXVzcHJvYmllcnQgdW5kIHNlaXRkZW0Ka2VpbmVuIEdydW5kIHp1IHdlY2hzZWxuIGdlaGFidC4gQW5nZWJsaWNoIGdpYnRzIGF1Y2ggZW50c3ByZWNoZW5kZSBwbHVnaW5zCmZ1ZXIgZmlyZWZveCAoZGVuIGljaCBlaCBmYXN0IG5pY2h0IG51dHplKS4gVW51ZWJlcnNpY2h0bGljaCB3aXJkIGRhcyBiZXN0aW1tdApzY2huZWxsLCBlYmVuc28gd2llIGJvb2ttYXJrcywgbWFpbCB1bmQgdXNlbmV0LiBMaWVndCBpbiBkZXIgTmF0dXIgZGVyIFNhY2hlOgpWaWVsKGUpIEluZm9ybWF0aW9uKHNxdWVsbGVuKSwgdmllbCBDaGFvcy4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBGcmVpYmllciAoR3JpbW1ib3JuLCAxNy4gRmViIDIwMDgsIDE0OjAzOjM2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjAzMjUzMzEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpLb3JyZWt0dXI6IEljaCBoYWIgYWt0dWVsbCAzMiBSU1MgZmVlZHMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBGcmVpYmllciAoTWVzaXJpaSwgMTcuIEZlYiAyMDA4LCAxNDowNDoyNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIwMzI1MzMxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDMxOTQwNjIKQWxzbyBSZWNobmVyIHp1bWFjaGVuLCB1bmQgbWl0IG5lbSBzY2hvZW5lbiBCdWNoIHJhdXMgaW4gZGllIE5hdHVyIDopIApWZXJlaW5mYWNodCBkaWUgU2FjaGUgZGV1dGxpY2guIERpZSBtZWlzdGVuIEZlZWRzIHNpbmQgamEgZWggbnVyClNlbGJzdGRhcnN0ZWxsdW5nZW4gZGVyIExldXRlLgoKTWVzaSwgZGVyIGRvY2ggZWluZSBnYW56ZSBNZW5nZSBkYXZvbiBsaWVzdCB1bmQgZ2FybmljaCBtYWwgc28gc2NobGVjaHQgZmluZGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRnJlaWJpZXIgKEdub21lLCAxOC4gRmViIDIwMDgsIDExOjEzOjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjAzMjUzNDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwMzE5NDA2MgpJSFIgaGFidCBwcm9ibGVtZS4gZWluZmFjaCB1bmdsYXVibGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlcnJvcmlzdGVuISBVZWJlcmFsbCEgKEdsb2luc29uLCAyNi4gRmViIDIwMDgsIDIwOjQ1OjEyKToKSHVodSwKCm1ldHplbHQgbmljaHQgc292aWVsLiBEaWUgVVNBIHNjaGF1ZW4gZXVjaCBqZXR6dCBhdWNoIGJlaW0KU3BpZWxlIGF1ZiBkaWUgRmluZ2VyLCB1bSBUZXJyb3Jpc3RlbiB6dSBmaW5kZW4uIE5pY2h0IGRhc3MKaWhyIGRlbW5hZWNoc3QgYmVpbSBFaW5yZWlzZW4gaW4gZGllIFVTQSBhYmdlbGVobnQgd2VyZGV0OgoKIk1pc3Rlcj8gWW91IGhhdmUga2lsbGVkIHRvbyBtYW55IGVsdmVzIGluIHRoZSBsYXN0IG1vbnRoLiIKCmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9zZWFyY2g/bmFtZT1mJmhsPWVuJnE9VGhlK1JleW5hcmQrUHJvamVjdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKExlaWJpLCAgNy4gTWFyIDIwMDgsIDE3OjEyOjE2KToKSGFsbG8genVzYW1tZW4sCgptaXQgdWViZXIgZWluZXIgV29jaGUgVmVyc3BhZXR1bmcgaGF0dGUgZXMgdW5zZXIgQmFieSBkYW5uIGRvY2ggcGxvZXR6bGljaApnYW56IGVpbGlnLiAKQW0gMi4gTWFlcnogdW0gMzozNCBVaHIga2FtIEpvc2h1YSBLaW1pIFBhbmtyYXogcGVyIEthaXNlcnNjaG5pdHQgYXVmIGRpZQpXZWx0LiAKRXIgd29nIHN0b2x6ZSAzODMwIEdyYW1tIHVuZCB3YXIgNTQgY20gZ3Jvc3MuCgpNZWhyIEJpbGRlciwgSW5mb3MuLi4gZ2lidCBlcyBoaWVyOgogIGh0dHA6Ly9qb3NodWEta2ltaS5wYW5rcmF6LmRlLwoKR3J1c3MgUGF0cnluIHVuZCBMZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKFJ1bWF0YSwgIDguIE1hciAyMDA4LCAwMDoyMzoxNCk6Cn4jISBybj1MZWliaSBydD0xMjA0OTA2MzM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpHcmF0eiEKVWVidW5nc3NrcmlwdGUgZ2VoZW4gRFRfU09VTkQgc3RhcnRlbiA6LSkKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChNYWhhcmV0LCAgOC4gTWFyIDIwMDgsIDEzOjM2OjMyKToKfiMhIHJuPUxlaWJpIHJ0PTEyMDQ5MDYzMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2Ck1laW5lIGhlcnpsaWNoc3RlbiBHbHVlY2t3dW5zY2guIEpldHp0IGdlaHQgZGFzIGFsc28gd2llZGVyIGxvcyBtaXQgZGVtCkdlYnJ1ZWxsZSwgUnVtZ2V0cmFnZSwgV2luZGVsZ2V3ZWNoc2VsIGFsbGUgMiBTdHVuZGVuLCBhbGxlIE5hc2UgbGFuZyBzdGlsbGVuCih1bmQgZGFkdXJjaCBudXIgbm9jaCBrYWx0ZXMgRXNzZW4pLiBOYSwgSWhyIHdvbGx0ZXQgZGFzIGphIHNvIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKE1lc2lyaWksICA4LiBNYXIgMjAwOCwgMTM6Mzk6NDcpOgp+IyEgcm49TWFoYXJldCBydD0xMjA0OTc5NzkyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpBdWNoIHZvbiBtaXIgYWxsZXMgR3V0ZS4gTmFqYSBtYWwgc2VoZW4gaG9mZmVudGxpY2ggd2lyZHMgYmVpbSBkcml0dGVuIEtpbmQKZWluZSBhbmdlbmVobWUgR2VidXJ0LiBWaWVsIFNwYXNzIG1pdCBkZW0gQmVuZ2VsIDopIEFiZXIgaWhyIGhhYnQgamEgZWluZQpncm9zc2UgVG9jaHRlciBkaWUgc2ljaCBrdWVtbWVybiBrYW5uLgpNZXNpClAuUy4gS3JpZWd0IEpvc2h1YSBhdWNoIG5vY2ggc2VpbmUgZWlnZW5lIERvbWFpbj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKEh1bW5pLCAgOC4gTWFyIDIwMDgsIDEzOjUyOjE5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwNDk3OTk4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKR2x1ZWNrd3Vuc2NoIGF1Y2ggdm9uIG1laW5lciBTZWl0ZSBhdXMhCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKFJvYWRydW5uZXIsICA5LiBNYXIgMjAwOCwgMDA6NDY6NDMpOgp+IyEgcm49TGVpYmkgcnQ9MTIwNDkwNjMzNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKZ3JhdHMgLi4uIAplaG0gLSBzb2xsIGRlciBtYWwgcmVubmVuIGZhaHJlbiA7bykgPwoKUlIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmluZGVyIHZvbiBBRG5EIGdlc3RvcmJlbiAoR2xvaW5zb24sICA5LiBNYXIgMjAwOCwgMTQ6Mzc6NDkpOgpodHRwOi8veGtjZC5jb20vMzkzLwpodHRwOi8vd3d3LmdpYW50aXRwLmNvbS9jb21pY3Mvb290czA1MzYuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChQZXJkaXRhLCAgOS4gTWFyIDIwMDgsIDIwOjE0OjIzKToKfiMhIHJuPUxlaWJpIHJ0PTEyMDQ5MDYzMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2CkhtbW0sIElNUCBrb25udGUgbWFuIGphIG5vY2ggYXVzc3ByZWNoZW4sIGFiZXIgSktQPyE/IDstKQoKUGVyZGl0YSAtIHdpcmZ0IGF1Y2ggbWl0IEdyYXR1bGF0aW9uZW4gdW0gc2ljaCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmZpbmRlciB2b24gQURuRCBnZXN0b3JiZW4gKEhpZ2hsYW5kZXIsIDEwLiBNYXIgMjAwOCwgMTE6NTA6NDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwNTA2OTg2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDUwNjk4NjkKV2VpdGVyZSBDb21pY3MgKGF1Y2ggd2VubiBpY2ggZGVuIE9PVFMgYW0gbGllYnN0ZW4gbWFnKToKCmh0dHA6Ly93d3cud2VyZWdlZWsuY29tLzIwMDgvMDMvMDUvCmh0dHA6Ly9ub2R3aWNrLmh1bW9yLmdhbWVzcHkuY29tL2Zmbi9pbmRleC5waHA/ZGF0ZT0yMDA4LTAzLTA0Cmh0dHA6Ly93d3cuZXhpZXJuLmNvbS9pbmRleC5waHA/c3RyaXBfaWQ9MTI1Cmh0dHA6Ly9hcmNoaXZlLmdhbWVzcHkuY29tL2NvbWljcy9kb3JrdG93ZXIvYXJjaGl2ZS5hc3A/bmV4dGZvcm09dmlld2NvbWljJmlkPQoxMzQ3Cmh0dHA6Ly93d3cucGVubnktYXJjYWRlLmNvbS9jb21pYy8yMDA4LzAzLzA0CkVudGZlcm50OiB3d3cucXVlc3Rpb25hYmxlY29udGVudC5uZXQvdmlldy5waHA/Y29taWM9MTA5NAoKRWluZSBhbHRlcm5hdGl2ZSBBZHJlc3NlIGZ1ZXIgeGtjZCBpc3QgdWVicmlnZW5zIGN1Lm5uaWxpbmcudXMgKmcqCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXJmaW5kZXIgdm9uIEFEbkQgZ2VzdG9yYmVuIChIaWdobGFuZGVyLCAxMC4gTWFyIDIwMDgsIDExOjUyOjA2KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTIwNTE0NjI0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDUwNjk4NjkKKHVuZCB3ZWlsIGhpZXIgc2VsYnN0cmVwbGllcyBuaWNodCB2ZXJib3RlbiBzaW5kOgpkYXMgJ0VudGZlcm50JyBpbSBTaW5uZSB2b24gJ251ciBpbSBIaW50ZXJncnVuZCwgbmljaHQgYWxzIEhhdXB0dGhlbWEnLApuaWNodCBpbSBTaW5uZSB2b24gJ25pY2h0IG1laHIgZGEnLgoKSHJUKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChMZWliaSwgMTAuIE1hciAyMDA4LCAxMjowMToyOSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEyMDUwOTAwNjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2CmJlc3RlbiBkYW5rIGZ1ZXIgZGllIHZpZWxlbiBnbHVlY2t3dWVuc2NoZSA6KQp1bmQgamEsIGVyIGhhdCBudW4gYXVjaCBzZWluZSBlaWdlbmUgZG9tYWluOiAKIHd3dy5qb3NodWEta2ltaS5kZQoKa2FubiBqYSBuaWNodCBzZWluLCBkYXNzIGltcCB3YXMgaGF0LCB3YXMgZXIgbmljaHQgYmVrb21tdCAqZyoKCmdydXNzIGxlaWJpCgpwcwpsZWlkZXIgc2luZCB1bnMga2VpbmUgcGFzc2VuZGVuIG5hbWVuIGVpbmdlZmFsbGVuLCB1bSBub2NoIGVpbmVuIGltcCB6dSBoYWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoUnVtYXRhLCAxMC4gTWFyIDIwMDgsIDEyOjI2OjMyKToKfiMhIHJuPUxlaWJpIHJ0PTEyMDUxNDY4ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2CldlbGNoZXIgSU1QPwpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0lNUAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoQ3JvZnQsIDEwLiBNYXIgMjAwOCwgMTI6NDA6NTUpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMDUxNDgzOTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2CklzYWJlbGwgTWlkb3JpIFBhbmtyYXouCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoSGlnaGxhbmRlciwgMTAuIE1hciAyMDA4LCAxMzowNTozNSk6Cn4jISBybj1Dcm9mdCBydD0xMjA1MTQ5MjU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpJYWluIE1hbnVlbCB3YWVyZSBlaW5lIE1vZWdsaWNoa2VpdCBnZXdlc2VuIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKEh1bW5pLCAxMC4gTWFyIDIwMDgsIDE5OjA2OjE4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTIwNTE1MDczNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKSXNzYWMgTWFydGluLCBJa2UgTWFydmluLCBJbW1hbnVlbCBNYXR0aGlhcywgSWxpZGFuIE1vcmdsdW0sIElrYXJ1cwpNYXNzZW5hYnN0dXJ6LCBJYW4gTWFyay4gR2lidCBub2NoIHNvIGVpbmlnZS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChLYXNwYXIsIDEwLiBNYXIgMjAwOCwgMTk6MDg6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTIwNTE3MjM3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKSWxqYSBNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoTWFoYXJldCwgMTAuIE1hciAyMDA4LCAxOTowODo1MSk6Cn4jISBybj1LYXNwYXIgcnQ9MTIwNTE3MjQ5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKTGV1dGUsIGVzIGlzdCB6dSBzcGFldCwgZGFzIEtpbmQgaXN0IHNjaG9uIGJlbmFtdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoS2FzcGFyLCAxMC4gTWFyIDIwMDgsIDE5OjEwOjExKToKfiMhIHJuPU1haGFyZXQgcnQ9MTIwNTE3MjUzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDQ5MDYzMzYKd2lyIHNhbW1lbG4gc2Nob24gKHZvcnNjaGxhZWdlKSBmdWVycyBuYWVjaHN0ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoQWxrb2hvbCwgMTAuIE1hciAyMDA4LCAxOToxMDoyMSk6Cn4jISBybj1IdW1uaSBydD0xMjA1MTcyMzc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpIdW1uaSBpY2ggYmluIGVudHRhZXVzY2h0IHZvbiBkaXIsIGFsc28gZ2VyYWRlIGR1IGhhZXR0ZXN0IGRvY2ggc2ljaGVyIElzYWFjcwpNYXJ0aW4gdm9yc2NobGFnZW4gbXVlc3Nlbiwgb2Rlcj8gKmcqIChhYmVyIGltbWVyaGluIGZhZWxsdCBkaXIgZGFzIHp1ZXJzdAplaW4sIHdhciBkb2NoIG5pY2h0IGFsbGVzIHVtc29uc3QgOikgKQoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTm9jaCBtZWhyIE11ZGRlcm5hY2h3dWNocyAoSHVtbmksIDEwLiBNYXIgMjAwOCwgMTk6MTM6MzIpOgp+IyEgcm49QWxrb2hvbCBydD0xMjA1MTcyNjIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpJc2FhY3MgaXN0IGFiZXIgZ2xhdWIgaWNoIGtlaW4gVm9ybmFtZT8gVW5kIHZlcmRhbW10LCBqZXR6dCB3ZWlzcyBpY2ggd2llZGVyLAp3aWVzbyBtaXIgZGVyIGVyc3RlIE5hbWUgc28gYmVrYW5udCB2b3JrYW0sIGhpaGkuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChIdW1uaSwgMTAuIE1hciAyMDA4LCAxOToxNzozNyk6Cn4jISBybj1IdW1uaSBydD0xMjA1MTcyODEyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpGdWVyIGRpZSBMZXV0ZSwgZGllIGRhcyBqZXR6dCBuaWNodCB2ZXJzdGFuZGVuIGhhYmVuOgoKaHR0cDovL3Rpbnl1cmwuY29tLzNiemF6cgoKRWluZXMgZGVyIGJlc3RlbiBCdWVjaGVyIGFsbGVyIFplaXRlbiwgbWFjaHQgU3Bhc3MgenUgbGVzZW4uCgpVbmQgbmVpbiwgaWNoIGhhYmUgZGFzIGVjaHQgbmljaHQgZ2VtZXJrdCwgYmlzIEFsa29ob2wgbWljaCBkcmF1ZiBhdWZtZXJrc2FtCmdlbWFjaHQgaGF0LCB3YXJ1bSBtaXIgZGVyIE5hbWUgc28gYmVrYW5udCB2b3Jrb21tdC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChBbGtvaG9sLCAxMC4gTWFyIDIwMDgsIDE5OjIyOjEyKToKfiMhIHJuPUh1bW5pIHJ0PTEyMDUxNzMwNTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA0OTA2MzM2Cm5pY2h0IHp1IHZlcmdlc3NlbjogZGVyIGluZGV4IGluIGRpZXNlbSBidWNoIGlzdCBfd2lya2xpY2hfIGd1dC4gU28gbXVzcyBlaW4KSW5kZXggc2Vpbi4gRXIgaXN0IG5pY2h0IHp1IGxhbmcgYWJlciBtYW4gZmluZGV0IHRyb3R6ZGVtIGFsbGVzLiBMZWlkZXIgaXN0CnNvd2FzIHNlbHRlbmhlaXQuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOb2NoIG1laHIgTXVkZGVybmFjaHd1Y2hzIChMZWliaSwgMTIuIE1hciAyMDA4LCAxMTowNzoxOSk6Cn4jISBybj1IdW1uaSBydD0xMjA1MTcyMzc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgp3ZWlhLCB3aXIgaGFiZW4gamEgc28gc2Nob24gYWVyZ2VyIG1pdCBkZXIgdmVyd2FuZHRzY2hhZnQuLi4gYWJlciBiZWkgZGVuCm5hbWVuIHd1ZXJkZW4gZGllIHNpY2hlciBrZWluIHdvcnQgbWVociBtaXQgdW5zIHdlY2hzZWxuICh3YXMgdmllbGxlaWNodCBhdWNoCm1hbmNoZW4gc3RyZXNzIGVyc3BhcmVuIHd1ZXJkZS4uLikKCmxlaWJpCgpwcyBub2NoIGVpbnMgZ2lidHMgc2ljaGVyIG5pY2h0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWJvb3QgaW4gd2VuaWdlbiBTdHVuZGVuIChHbG9pbnNvbiwgMTYuIE1hciAyMDA4LCAyMzozMDo1MSk6CkhhbGxvLApaZXNzdHJhIGhhdCBtaWNoIGJlYXVmdHJhZ3QgZGllIEFua3VlbmRpZ3VuZyBmdWVyIGVpbmVuIE5ldXN0YXJ0IHp1CnZlcmZhc3NlbiAoaW4gQXJiZWl0KSB1bmQgZGFzIEdlamFtbWVyIHp1IGdhZ15XZW50Z2VnZW56dW5laG1lbgooaW4gVm9yYmVyZWl0dW5nKS4KCltMUEM6WmVzc3RyYV0gTWhtbSwgbWFsIFN0YXRpc3RpayBlaW5iYXVlbiB1bmQgbmV1IHN0YXJ0ZW4/IDstKSA8U29uLApbTFBDOlplc3N0cmFdIDIzOjI0OjI0PgpbTFBDOkdsb2luc29uXSBJY2ggaGFsdGUgZGFzIGZ1ZXIgZWluZW4gc2lubnZvbGxlbiBOZXVzdGFydGdydW5kIDspIDxTb24sCltMUEM6R2xvaW5zb25dIDIzOjI1OjAyPgpbTFBDOlplc3N0cmFdIE9rLCBEdSBzY2hyZWlic3QgZGllIEFua3VlbmRpZ3VuZyB1bmQgbmltbXN0IGRhcyBHZWphbW1lcgpbTFBDOlplc3N0cmFdIGVudGdlZ2VuLiA7KSA8U29uLCAyMzoyNTo0Nj4KCkFsc28uIEVzIG11c3MgZWluZSBhZXVzc2Vyc3Qgd2ljaHRpZ2UgdW5kIGF1c25haG1zd2Vpc2UgbmljaHQgZmFlbHNjaGJhcmUKU3RhdGlzdGlrIHVlYmVyIGV1cmUgUmF1YmtvcGllcnRhZXRpZ2tlaXRlbiBiencuIFRlYW1ha3Rpdml0YWV0ZW4gdW5kCnBlcnNvZW5saWNoZW4gTmFjaHJpY2h0ZW4gZXJzdGVsbHQgd2VyZGVuLiBIZXJyIFRzY2hhZXViXkheSF5Ib29rCnBlcnNvZW5saWNoIHdpcmQgZGllIEVyc3RlbGx1bmdlbiB1ZWJlcndhY2hlbi4KCkJpcyBnbGVpY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlYm9vdCBpbiB3ZW5pZ2VuIFN0dW5kZW4gKFplc3N0cmEsIDE2LiBNYXIgMjAwOCwgMjM6MzY6MDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwNTcwNjY1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDU3MDY2NTEKVHNjaG9vayBpc3QgZG9jaCBnYXIgbmljaHQgZGEuLi4gV2llIHNvbGwgZXIgZGFzIGRlbm4gZGFubiB1ZWJlcndhY2hlbj8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IGluIHdlbmlnZW4gU3R1bmRlbiAoWmVzc3RyYSwgMTYuIE1hciAyMDA4LCAyMzo0MDozOSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDU3MDY5Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA1NzA2NjUxCldpciBtdWVzc2VuIHVlYnJpZ2VucyBlaW5lIGRyaW5nZW5kZSBXYXJudW5nIGF1c3NwcmVjaGVuOiBpbiBsZXR6dGVyIFplaXQga2FtCmVzIHp1bSBBdWZ0cmV0ZW4gdm9uIGdlZmFlZWxzaHRlbiBBcm1hZ2VkZG9ucy4gV2lyIGJpdHRlbiBkYXJ1bSwgd2FjaHNhbSB6dQpzZWluIHVuZCBkZW4gbmFlY2hzdGVuIEdvdHQgenUgYmVuYWNocmljaHRpZ2VuLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlYm9vdCBpbiB3ZW5pZ2VuIFN0dW5kZW4gKEdsb2luc29uLCAxNi4gTWFyIDIwMDgsIDIzOjQ1OjQ0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIwNTcwNzIzOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDU3MDY2NTEKSHVodSwKZXMgZ2lidCBHZXJ1ZWNodGUsIGRhc3Mgc2ljaCBqZW1hbmQgYWxzIFplc3N0cmEgYXVzZ2lidC4gV2FocnNjaGVpbmxpY2gKZWluIGdlc3RvaGxlbmVzIFBhc3N3b3J0LiBHZWdlbiBhbGwgZGFzIHVuZCBub2NoIG1laHIgd2lyZCBkZXIgUmVib290Cndpcmtlbi4KCkRhbWl0IG5pY2h0cyBzY2hpZWZnZWh0IHd1cmRlIGRlciBUZXJtaW4gYXVmIG1vcmdlbiAxMSBVaHIgdmVyc2Nob2JlbiwKZGFzIGR1ZXJmdGUgVHNjaG9vayBkYW5uIGF1Y2ggd2FjaCBzZWluLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmVib290IGluIHdlbmlnZW4gU3R1bmRlbiAoVmFuaW9uLCAxNy4gTWFyIDIwMDgsIDIwOjA2OjU3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIwNTcwNjk2OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMDU3MDY2NTEKQWxzbyB3ZW5uIGlociBlaW5lbiBSZWJvb3QgbWFjaHQsIGhhZXR0IGljaCB3YXMgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWJvb3QgaW4gd2VuaWdlbiBTdHVuZGVuIChaZXNzdHJhLCAxNy4gTWFyIDIwMDgsIDIwOjMyOjMyKToKfiMhIHJuPVZhbmlvbiBydD0xMjA1NzgwODE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNTcwNjY1MQpJY2ggYXVjaC4uLiBBYmVyIGxhc3MgbWFsLCBkYSBnaWJ0IGVzIG5vY2ggZWluIHBhYXIgRGluZ2UgaW4gZGVyIFBpcGVsaW5lLgpXZW5uIHdpciBzY2hvbiBncm9lc3NlcmUgQWVuZGVydW5nZW4gZWluYmF1ZW4sIGtvZW5uZW4gd2lyIGRlbiBSZWJvb3QgZ2xlaWNoCm9yZGVudGxpY2ggcnVja2VsaWcgbWFjaGVuLiAqZyoKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlYm9vdCBpbiB3ZW5pZ2VuIFN0dW5kZW4gKFZlY3RvciwgMTcuIE1hciAyMDA4LCAyMToxNDowOSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMDU3ODIzNTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA1NzA2NjUxCi4uLi51bmQgZGllIG5hZWNoc3RlIHJlYm9vdC1hbmt1ZW5kaWd1bmcgZ2xhdWJ0IGRhbm4gbm9jaCBqZW1hbmQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWJvb3QgaW4gd2VuaWdlbiBTdHVuZGVuIChBbWFyeWxsaXMsIDE3LiBNYXIgMjAwOCwgMjE6MjU6MjcpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMDU3ODQ4NDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjA1NzA2NjUxCldlbm4gaWNoIGRpZSBtYWNoZSwgamEuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUmVib290IGluIHdlbmlnZW4gU3R1bmRlbiAoWmVzc3RyYSwgMTcuIE1hciAyMDA4LCAyMTo1NDowNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTIwNTc4NjkwMCByZz1zY2htYXJybgp+IyEgdGlkPTEyMDU3MDY2NTEKSW0gTmFjaGhpbmVpbiB3YXIgZXMgb2ZmZW5zaWNodGxpY2ggZWluIEZlaGxlciwgZGVuIFNjaGVyeiBuaWNodCBzb2ZvcnQgenUKYmVlbmRlbiwgZGFzIGlzdCBtaXIgamV0enQga2xhci4KSWNoIGhhYiBkYXMgdW50ZXJzY2hhZXR6dCwgd2VpbCBpY2ggZGllIEFua3VlbmRpZ3VuZyBpbiBkaWVzZXIgRm9ybSBmdWVyCmRlZmluaXRpdiB1bmdsYXVid3VlcmRpZyBoaWVsdCAoQW5rdWVuZGlndW5nIGR1cmNoIEdsb2luc29uIGluIGFsbGdlbWVpbiBtaXQKZGVyIEJlZ3J1ZW5kdW5nIGVpbmVyIFN0YXRpc3RpayB6dXIgVWViZXJ3YWNodW5nIHZvbiBSYXVia29waWVydGFldGlna2VpdGVuCnVuZCBWZXJ3ZWlzIGF1ZiBTY2hhZXVibGUpLgpEaWVzZSBGZWhsZWluc2NoYWV0enVuZyBtZWluZXJzZWl0cyB0dXQgbWlyIGxlaWQgdW5kIGRlcmFydGlnZXMgd2lyZCBtaXIgaW4KZGllc2VyIEZvcm0gaG9mZmVudGxpY2ggbmljaHQgbWVociBwYXNzaWVyZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcnRodXIgQy4gQ2xhcmtlIGlzdCB0b3QgKE1hc3VsLCAxOS4gTWFyIDIwMDgsIDA1OjE3OjAzKToKU2lyIEFydGh1ciBDLiBDbGFya2Ugd2FyIHVudGVyIGFuZGVyZW0gZGVyIEF1dG9yIGRlciBHZXNjaGljaHRlIGhpbnRlciBkZW0KRmlsbSAiMjAwMTogT2R5c3NlZSBpbSBXZWx0cmF1bSIgdW5kIGVpbiBiZWthbm50ZXIgU2NpZW5jZSBGaWN0aW9uIEF1dG9yLgp2Z2wuIGh0dHA6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvQXJ0aHVyX0MuX0NsYXJrZQpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvY3Jhc3RpbmF0aW9uIChNZXNpcmlpLCAyMC4gTWFyIDIwMDgsIDEyOjIwOjE0KToKR3JhZCBzZWhyIG5ldHRlcyBFc3NheSBkcnVlYmVyIGdlZnVuZGVuLiBBbHNvIG5pY2h0IHNjaHVsZGlnIGZ1ZWhsZW4sIHNvbmRlcm4KZGFzIG1hY2hlbiwgd2FzIF93aXJrbGljaF8gd2ljaHRpZyBpc3QgOikKaHR0cDovL3d3dy5wYXVsZ3JhaGFtLmNvbS9wcm9jcmFzdGluYXRpb24uaHRtbApNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggbWVociBNdWRkZXJuYWNod3VjaHMgKERhcmtsb3IsIDIzLiBNYXIgMjAwOCwgMDY6MzY6MDcpOgp+IyEgcm49UGVyZGl0YSBydD0xMjA1MDkwMDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIwNDkwNjMzNgpIdWkhISEgLSBHcmF0cyEgLSBWaWVsIEdsdWVjayEgXl4KIApEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY3JpcHRpbmcsIGp1cmlzdGlzY2ggZ2VzZWhlbiA6LSkgKEJsdXRnaWVyLCAxOC4gQXByIDIwMDgsIDE4OjA1OjM3KToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L3NwaWVsemV1Zy8wLDE1MTgsNTQ3ODc3LDAwLmh0bWwKSGF0IGplZGVyIGhpZXIgbmUgUmVjaHRzc2NodXR6dmVyc2ljaGVydW5nPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luLURyaXZlciAoR2xvaW5zb24sICAzLiBKdW4gMjAwOCwgMTQ6NDI6NTIpOgpIYWxsbywKWmVzc3RyYSBoYXQgZ2VzdGVybiBlaW5lICJuZXVlIiBWZXJzaW9uIGRlcyBXaW4tRHJpdmVycyBrb3BpZXJ0LiBOZXUgZGFyYW4gaXN0CmVpZ2VudGxpY2ggbnVyIGVpbiBQYXJhbWV0ZXIgYW0gRHJpdmVyIGluIGRlciBzdGFydC5iYXQ6ICItcyBmc3dhcGZpbGUiCgpEZXIgZWlua29tcGlsaWVydGUgUGFyYW1ldGVyIGZ1ZXIgZGFzIFN3YXBmaWxlIHplaWd0IGF1ZiBlaW5lbiByZWNodApsYWVuZ2xpY2hlbiBQZmFkLCBkZW4gbWFuIHNvIGxva2FsIG5pY2h0IGhhYmVuIHdpcmQuIERhZHVyY2ggd2lyZCBkYXMgTG9nZmlsZQpyZWNodCBzY2huZWxsIHZvbGxnZW11ZWxsdCwgd29yYXVmIG1pY2ggR2FieWxvbiBkYW5uIG5vY2htYWwgZGV1dGxpY2ggc3RpZXNzLgpNaXQgZGVtIFBhcmFtZXRlciBsaWVndCBkYXMgU3dhcGZpbGUgZGFubiBpbSBEcml2ZXItRGlyZWN0b3J5IGhlcnVtLgoKKEFsdGVybmF0aXYga2FubiBtYW4gcGVyIEtvbW1hbmRvemVpbGUgZGFzIFN3YXBwZW4gYXVjaCBhdWYgdW5lbmRsaWNoZSBaZWl0CnZlcnNjaGllYmVuLiBEYXMgQmV0cmllYnNzeXN0ZW0gc29sbHRlIGRhcyBiZXNzZXIga29lbm5lbiA6KSApLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFzdHJvbm9taWU6IFNhaXNvbiBkZXIgTGV1Y2h0ZW5kZW4gTmFjaHR3b2xrZW4gKFZhbmlvbiwgMjYuIEp1biAyMDA4LCAyMDoxMToyNik6CgpJbiBkZW4gV29jaGVuIHZvciB1bmQgbmFjaCBkZXIgU29tbWVyc29ubmVud2VuZGUsIHdlbm4gZGllIFNvbm5lIHp1ciBaZWl0IGRlcgpsb2thbGVuIE1pdHRlcm5hY2h0IG51ciB3ZW5pZ2UgR3JhZCB1bnRlciBkZW0gSG9yaXpvbnQgc3RlaHQsIGtvZW5uZW4KTGV1Y2h0ZW5kZSBOYWNodHdvbGtlbiBiZW9iYWNodGV0IHdlcmRlbi4gU2VpdCBlaW5pZ2VuIFdvY2hlbiB2ZXJmb2xnZW4KQmVvYmFjaHRlciBpbiBob2hlbiBub2VyZGxpY2hlbiBCcmVpdGVuIGludGVuc2l2ZSBFcnNjaGVpbnVuZ2VuIGRpZXNlciBleHRyZW0KaG9oZW4gRWlzd29sa2VuLiBJbiBkaWVzZW4gVGFnZW4gc2NoZWludCBkZXIgSG9laGVwdW5rdCBkZXIgZGllc2pDaHJpZ2VuCkFrdGl2aXRhZXQgZWluenV0cmV0ZW4gdW5kIGhpbiB1bmQgd2llZGVyIGtvZW5uZW4gaGVsbGUgTmFjaHR3b2xrZW4gYXVjaCB2b24KRGV1dHNjaGxhbmQgYXVzIGJlb2JhY2h0ZXQgd2VyZGVuLgoKTGluazogaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vNjZjbXpzCihodHRwOi8vYXN0cm9jb3JuZXIuZGUvaW5kZXgvMDJfd2lzc2VuLzAxX2tvc21vbG9naWUvMDFfc29ubmVuc3lzdGVtLzAzX3BsYW5ldAplbi8wM19lcmRlL25sYy5waHApCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG90YWxlIFNvbm5lbmZpbnN0ZXJuaXMgYW0gMDEuMDguIC0gbGVpZGVyIG5pY2ggaGllciA6KCAoVmFuaW9uLCAzMC4gSnVsIDIwMDgsIDE2OjQ4OjA2KToKRmluc3Rlcm5pcyBsaXZlIHBlciBXZWJDYXN0IG1pdGVybGViZW4KCkRpZSB0b3RhbGUgU29ubmVuZmluc3Rlcm5pcyB2b20gMS4gQXVndXN0IDIwMDggd2lyZCB2b24gemFobHJlaWNoZW4gU3RhdGlvbmVuCnBlciBXZWJDYXN0IGltIEludGVybmV0IHVlYmVydHJhZ2VuIHVuZCB3aXJkIHNvIHZvbiBqZWRlbSBUZWlsIGRlciBFcmRlIGF1cwpxdWFzaSBsaXZlIG1pdHp1ZXJsZWJlbiBzZWluLiBBc3RybyBDb3JuZXIgcHJhZXNlbnRpZXJ0IGVpbmUgVWViZXJzaWNodCB2b24KZWluaWdlbiBCZW9iYWNodHVuZ3MtR3J1cHBlbiwgZGllIGVpbmUgTGl2ZS1VZWJlcnRyYWd1bmcgYW0gMS4gQXVndXN0IDIwMDgKZ2VwbGFudCBoYWJlbi4KCndlaXRlcmUgSW5mb3JtYXRpb25lbiBvbmxpbmUgdW50ZXI6Cmh0dHA6Ly9hc3Ryb2Nvcm5lci5kZS9pbmRleC8wMl93aXNzZW4vMDNfZmluc3Rlcm5pc3NlLzAxX3Nvbm5lbmZpbnN0ZXJuaXNzZS8wNgpfdWViZXJzaWNodC8yMDA4MDgwMS5waHAjMQoKaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vNmJsZGZvCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRvdGFsZSBTb25uZW5maW5zdGVybmlzIGFtIDAxLjA4LiAtIGxlaWRlciBuaWNoIGhpZXIgOiggKFZhbmlvbiwgMzAuIEp1bCAyMDA4LCAxNjo1NTo1NCk6Cn4jISBybj1WYW5pb24gcnQ9MTIxNzQyOTI4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMTc0MjkyODYKWndhciBpc3QgZGllIEZpbnN0ZXJuaXMgdWViZXIgRCBuaWNodCB0b3RhbCwgYWJlciB2b24gaGllciBhdXMgZWluZQpUZWlsYmVkZWNrdW5nIHNpY2h0YmFyIHNlaW4uIERpZSBuYWVjaHN0ZSB1ZWJlciBFdXJvcGEgc2ljaHRiYXJlIFNvRmkgd2lyZCBhbQowNC4wMS4yMDExIHNlaW4sIGFsbGVyZGluZ3MgZGFubiBlaW5lIHBhcnRpZWxsZSBtaXQgZWluZXIgbWF4aW1hbGVuIEJlZGVja3VuZwp2b24gY2EuIDg1JS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZWhsZXJiZXJpY2h0ZSAoWmVzc3RyYSwgMTMuIEF1ZyAyMDA4LCAxOTo1MDoyNik6Ckh1aHUsCgpJY2ggYmluIHVlYmVyIEJlcmljaHRlIHZvbiBQcm9ibGVtZW4gZ3J1bmRzYWV0emxpY2ggZGFua2JhciB1bmQgYmVtdWVoZSBtaWNoCnVtIExvZXN1bmdlbiwgc293ZWl0IGljaCBaZWl0IGhhYmUuIEFsbGVyZGluZ3Mga29lbm50IGlociBtaXIgaGVsZmVuLCBkYWJlaQpaZWl0IHp1IHNwYXJlbiwgd2VubiBpaHIgYXVmIGVpbiBwYWFyIFB1bmt0ZSBhY2h0ZXQ6CiogdGFnc3VlYmVyIGJpbiBpY2ggb2Z0IGVpbmdlbG9nZ3QsIGFiZXIgdm9tIEJ1ZXJvIGF1cywgd28gaWNoIGFuZGVyZQogIFZlcnBmbGljaHR1bmdlbiBoYWIgdW5kIG51ciBhYiB1bmQgYW4gaW5zIE11ZCBzY2hhdWVuIGthbm4uIEJpdHRlIHNwcmVjaHQKICBtaWNoIGFiZW5kcyBhbiBvZGVyIHNjaGlja3QgbWlyIGVpbmUgTWFpbC4KKiBnZWJ0IG1pciBtZWhyIEluZm9ybWF0aW9uZW4gYWxzIG51ciAiZ2VodCBuaWNodCIuIFdlbGNoZXMgS29tbWFuZG8gZ2VidCAKICBpaHIgZWluLCB3ZWxjaGUgQXVzZ2FiZSBrb21tdCB2b20gTXVkPyBXZW5uIE1lbGR1bmdlbiBmYWxzY2ggZm9ybWF0aWVydCAKICBzaW5kLCBnZWJ0IG1pciBCZWlzcGllbGUgZGF2b24uIFdvIGdlbmF1IHRyaXR0IGRhcyBQcm9ibGVtIGF1ZiAoZ2dmLgogIFJhdW1iZXNjaHJlaWJ1bmcpPyBXZWxjaGUgTlBDL09iamVrdGUgemVpZ2VuIGRhcyBQcm9ibGVtIChnZWJ0IG1pciBkaWUKICBMYW5nYmVzY2hyZWlidW5nLCB3ZW5uIGRpZSBLdXJ6YmVzY2hyZWlidW5nIG5pY2h0IGVpbmRldXRpZyBpc3QpPwoqIGluc2IuIGltIEthbXBmOiBzY2hpY2t0IG1pciBlaW5lbiBNaXRzY2huaXR0IGRlcyBLYW1wZmVzLCB3byBtYW4gVW1nZWJ1bmcKICB1bmQgTlBDcyBlcmtlbm50IHVuZCB3ZWxjaGVyIGV1cmUgS29tbWFuZG9zIHVuZCBkaWUgTXVkYXVzZ2FiZSBlbnRoYWVsdC4KICBNYW5jaG1hbCBpc3QgYXVjaCBldWVyIEludmVudGFyIGludGVyZXNzYW50IHVuZCBvYiBpaHIgQmVnbGVpdC1OUENzIGRhYmVpIAogIGhhYnQuCiogTWl0c2Nobml0dGUgdm9uIE11ZGF1c2dhYmVuOiBpY2gga2FubiBtaXQgdm9uIENsaWVudHRyaWdnZXJuIHZlcmFlbmRlcnRlbgogIEF1c2dhYmVuIG1laXN0ZW5zIG5pY2h0cyBtZWhyIGFuZmFuZ2VuLiBTY2hpY2t0IG1pciBiaXR0ZSBkaWUgdm9uIGV1cmVtIAogIENsaWVudCB1bnZlcmFlbmRlcnRlIEF1c2dhYmUuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaWxmZSBmdWVyIFZvcnN0ZWxsdW5nc2dlc3ByYWVjaCAoQ2FuZGlkYSwgMTguIFNlcCAyMDA4LCAxNjoxNDozMik6Ckd1dGVuIFRhZywKCiBkYXMgUHJvZHVrdCBkZXMgbmV1ZW4gQXJiZWl0Z2ViZXJzIGthdWZlbiBzb2xsdGUgdW5kIG5pY2h0IGRhcyBkZXIKS29ua3VycmVuei4KCiBlcyBlaGVyIHVtIGdhbnogYmFuYWxlIERpbmdlPwoKRmFsbHMgamVtYW5kIG1pdCBzbyBldHdhcyBzY2hvbiBFcmZhaHJ1bmcgaGF0IG9kZXIgd2Vpc3MsIHdhcyBzaWNoIGRhaGludGVyCnZlcmJpcmd0LCBiaW4gaWNoIHVtIFRpcHBzIHVuZCBoaWxmcmVpY2hlIEhpbndlaXNlIHNlaHIgZGFua2JhciEKCkJlc3RlIEdydWVzc2UsCkNhbmRpZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSBmdWVyIFZvcnN0ZWxsdW5nc2dlc3ByYWVjaCAoQ3JvZnQsIDE4LiBTZXAgMjAwOCwgMTY6MjQ6MjApOgp+IyEgcm49Q2FuZGlkYSBydD0xMjIxNzQ3MjcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIyMTc0NzI3MgpWb2xsc3RhZW5kaWdlIFNhZXR6ZSBzaW5kIHNpY2hlciBoaWxmcmVpY2guICBVbmQgS29ycmVrdHVybGVzZW4gd2lyZAppbiBkZXIgaGV1dGlnZW4gWmVpdCBhdWNoIHp1IHNlaHIgdmVybmFjaGxhZXNzaWd0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGlsZmUgZnVlciBWb3JzdGVsbHVuZ3NnZXNwcmFlY2ggKENhbmRpZGEsIDE4LiBTZXAgMjAwOCwgMTc6MDA6MTApOgp+IyEgcm49Q3JvZnQgcnQ9MTIyMTc0Nzg2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMjE3NDcyNzIKR3V0ZW4gVGFnLAoKdHV0IG1pciBsZWlkIC0gZGFzIHdhciBtZWluIFRlbG5ldCA6KAoKQWxzbyBub2NoIGVpbiBWZXJzdWNoOgpJY2ggc29sbCBiZWkgZWluZW0gVm9yc3RlbGx1bmdzZ2VzcHJhZWNoIGVpbmVuIFZvcnRyYWcgenVtIFRoZW1hIGhhbHRlbjoKCiJFcmtsYWVyZW4gU2llIGVpbmVtIHBvdGVudGllbGxlbiBLdW5kZW4sIGRlbSBkZXIgSGVyc3RlbGxlciBzZWluZXIgZ2VzdWNodGVuCkxvZXN1bmcgdm9lbGxpZyBlZ2FsIGlzdCwgd2llc28gZXIgZnVlciB1bnNlcmUgUHJvZHVrdGUgc2VpbiBHZWxkIGF1c2dlYmVuCnNvbGwgdW5kIG5pY2h0IGZ1ZXIgZGllIGRlciBLb25rdXJyZW56IHh5LiIKCldhcyBiZXp3ZWNrZW4gZGllIGRhbWl0PyBXaWUgc29sbCBtYW4gc2ljaCBoaWVyIHZlcmhhbHRlbj8gR2VuYXUgdWViZXIgZGllClByb2R1a3RlIHJlY2hlcmNoaWVyZW4gdW5kIFZvcnRlaWxlIGhlcmF1c2ZpbmRlbj8gR2VuYXVlcmVzIHVlYmVyIGRpZSBGaXJtYT8KClVtIFRpcHBzIG9kZXIgaGlsZnJlaWNoZSBLb21tZW50YXJlIGJpbiBpY2ggZGFua2JhciEKCkxpZWJlIEdydWVzc2UsCkNhbmRpZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhpbGZlIGZ1ZXIgVm9yc3RlbGx1bmdzZ2VzcHJhZWNoIChHbG9pbnNvbiwgMTguIFNlcCAyMDA4LCAxNzowMjozOCk6Cn4jISBybj1DYW5kaWRhIHJ0PTEyMjE3NTAwMTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjIxNzQ3MjcyCktsaW5ndCBqYSBzbywgYWxzIHdlbm4gZHUgZnVlciBzaWUgTWFya2V0aW5nIG1hY2hlbiB3aWxsc3QgdW5kIHNpZSBtYWwgc2NoYXVlbgptb2VjaHRlbiB3aWUgZHUgZGFzIG1pdCBrdXJ6ZW0gVm9ybGF1ZiBhbnN0ZWxsZW4gd3VlcmRlc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGlsZmUgZnVlciBWb3JzdGVsbHVuZ3NnZXNwcmFlY2ggKEtlc3NhLCAxOC4gU2VwIDIwMDgsIDE3OjM0OjMzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjE3NTAxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjIxNzQ3MjcyCldlbm4gZHUgYWxzbyBWb3JsYXVmemVpdCBoYXN0IC0gbnV0emUgc2llIHVuZCBpbmZvcm1pZXJlIGRpY2ggLSBhdWYgZGllIHJlaW5lCldpcmt1bmcgbWVpbmVzIEltcHJvdmlzYXRpb25zdGFsZW50cyB1bmQgbWVpbmVyIEtyZWF0aXZpdGFldCB3dWVyZGUgaWNoIG1pY2gKZGEgbmljaHQgdmVybGFzc2VuLiBJY2ggd3VlcmRlIC0gdm9uIGRlciBBcmJlaXRnZWJlcnNlaXRlIGF1cyAtIGVyd2FydGVuLCBkYXNzCmVpbiB3aXJrbGljaCBpbnRlcmVzc2llcnRlciBLYW5kaWRhdCBndXQgdm9yYmVyZWl0ZXQgaXN0IHVuZCBhbGxlIHNlaW5lIEthcnRlbgpnZXNjaGlja3QgYXVzc3BpZWx0LiBEYXMgc29sbCBlciBzY2hsaWVzc2xpY2ggc3BhZXRlciBhbHMgbWVpbiBBbmdlc3RlbGx0ZXIKYXVjaCB0dW4gOikKClZpZWwgRXJmb2xnIGplZGVuZmFsbHMgOikgS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhpbGZlIGZ1ZXIgVm9yc3RlbGx1bmdzZ2VzcHJhZWNoIChSdW1hdGEsIDE4LiBTZXAgMjAwOCwgMTg6MTk6MzUpOgp+IyEgcm49Q2FuZGlkYSBydD0xMjIxNzUwMDEwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIyMTc0NzI3MgpLbGluZ3QgbmFjaCBlaW5lciBNYXJrZXRpbmdzdGVsbGUsIGJ6dy4gZGFuYWNoLCBkYXMgZGllIHNvIGplbWFuZGVuCnN1Y2hlbi4gRGEgaXN0IGVyc3RtYWwgbmljaHRzIEVocmVucnVlaHJpZ2VzIHp1IGVya2VubmVuLgoKU2ljaCB1ZWJlciBkaWUgRmlybWEgdW5kIGlocmUgUHJvZHVrdGUgaW0gVm9yZmVsZCB6dSBJbmZvcm1pZXJlbiBpc3QKbmllIHZlcmtlaHJ0LCBpbiBkZXIgUmVnZWwgc29nYXIgUGZsaWNodC4KCldlbm4gRHUgRGljaCBhdWYgZWluZSBTdGVsbGUgYWxzIFJlY2huZXJ3YXJ0dW5nIG9kZXIgUHV0emhpbGZlCmJld2lyYnN0IC0gZGFubiB3YWVyZWUgaWNoIGplZG9jaCBhbGFtaWVydC4KClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIaWxmZSBmdWVyIFZvcnN0ZWxsdW5nc2dlc3ByYWVjaCAoUm9uZGEsIDIxLiBTZXAgMjAwOCwgMDE6NDM6NTIpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMjE3NTQ3NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjIxNzQ3MjcyCkhhbGxvIENhbmRpZGEsCiAKR2xvaW5zb24sIEtlc3NhIHVuZCBSdW1hdGEgaGFiZW4gamEgc2Nob24gZWluaWdlcyBkYXp1IGdlc2FndC4gSWNoIGZpbmRlIGRpZQpBdWZnYWJlIHBhc3N0IGFiZXIgbmljaHQgbnVyIGZ1ZXIgTWl0YXJiZWl0ZXIgaW0gTWFya2V0aW5nLCBlcyBnaWJ0IGF1Y2ggdmllbGUKYW5kZXJlIFBvc2l0aW9uZW4sIGJlaSBkZW5lbiBtYW4gamVtYW5kZW0gZXR3YXMgdmVya2F1ZnQuIEF1Y2ggd2VubiBtYW4gekIKYmVpbSBLdW5kZW4gcHJvZ3JhbW1pZXJ0LCBkaWUgU29mdHdhcmUgZGVzIEFyYmVpdGdlYmVycyBhbnBhc3N0IHVuZAprb25maWd1cmllcnQsIGthbm4gbWFuIFByb2R1a3RlIHZlcmthdWZlbiwgd2VubiBtYW4gZGFzIGd1dCBiZWdydWVuZGVuIGthbm4uCldlbm4gRHUgbWFnc3QsIGthbm5zdCBEdSBEZWluZSBnZXd1ZW5zY2h0ZSBTdGVsbGUgbWFsIGV0d2FzIGdlbmF1ZXIKYmVzY2hyZWliZW4gLSB3ZW5uIER1IGRhcyBuaWNodCBvZWZmZW50bGljaCBtYWNoZW4gbW9lY2h0ZXN0LCBrYW5uc3QgRHUgbWlyCih1bmQgdmVybXV0bGljaCBhdWNoIGRlbiBhbmRlcmVuIGRyZWllbikgZ2VybiBlaW5lIE1haWwgZGF6dSBzY2hyZWliZW4uCldlbm4gaWNoIERpciBpbSBCZXdlcmJ1bmdzZ2VzcHJhZWNoIHVuZCBkaWVzZXIgVm9yc3RlbGx1bmcgZ2VnZW51ZWJlciBzaXR6ZW4Kd3VlcmRlLCBmYWVuZGUgaWNoIHNlaHIgZ3V0LCB3ZW5uIER1IERpciBkYXMgZWlnZW5lIFByb2R1a3QgdW5kIGRhcyBkZXIKd2ljaHRpZ3N0ZW4gTWl0YmV3ZXJiZXIgYW5zY2hhdWVuIHd1ZXJkZXN0IChHb29nbGUgaGlsZnQgOi0pICksClplaXRzY2hyaWZ0ZW5hcnRpa2VsIGRhenUgdWViZXJmbGllZ3N0IHVtIGRpZSBIYXVwdHZvci0gdW5kIE5hY2h0ZWlsZSB6dQprZW5uZW4gLSB1bmQgZGFubiBkYXp1IGd1dGUsIHZpZWxsZWljaHQgYXVjaCB1bmdld29laG5saWNoZSBBbnR3b3J0ZW4genUKZmluZGVuLgogCkRhcyBnYW56ZSBpc3QgamEgZWluIFJvbGxlbnNwaWVsLiBJY2ggaGFiZSBiZWkgc28gd2FzIGF1Y2ggc2Nob24gbWFsIGVyZnVuZGVuLApkYXNzIGljaCBqYSBkZW4gS3VuZGVuIHNjaG9uIHNlaHIgZ2VuYXUga2VubmUsIHNlaW5lIEFuZm9yZGVydW5nZW4gZXJmYXNzdApoYWJlIHVuZCBkYWJlaSBoZXJhdXNrYW0sIGRhc3MgZXIgZGllIFNvZnR3YXJlIHNjaG9uIGFuIGFuZGVyZW4KVW50ZXJuZWhtZW5zdGVpbGVuIGVpbnNldHp0LiBVbmQgd2lyIHNjaG9uIG1pdCBIZXJybiBNdWVsbGVyLU1laWVyLVNjaHVsemUgYW4Kc2VpbmVtIFN0YW5kb3J0IEJydWVobC1Pc3QgZWluZW4gc2VociBlcmZvbGdyZWljaGVuIFByb29mLW9mLUNvbmNlcHQKZHVyY2hnZWZ1ZWhydCBoYWJlbi4gVW5kIHNvIHdlaXRlci4uLiA7LSkKQXVmIGplZGVuIEZhbGw6IFZJRUwgRVJGT0xHIQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YWNrIE92ZXJmbG93OiBXYXJ1bSBTcGllbGUgZnVlciBQcm9ncmFtbWllcmVyIGludGVyZXNzYW50IHNpbmQgKEdsb2luc29uLCAgMi4gTm92IDIwMDgsIDAyOjIwOjIxKToKVGhlIGZhbnRhc3RpYyBlbGVtZW50IHRoYXQgZXhwbGFpbnMgdGhlIGFwcGVhbCBvZiBnYW1lcyB0byBtYW55IGRldmVsb3BlcnMgaXMKbmVpdGhlciB0aGUgZmlyZS1icmVhdGhpbmcgbW9uc3RlcnMgbm9yIHRoZSBtaWxreS1za2lubmVkLCBzZW1pLWNsYWQgc2lyZW5zOwppdCBpcyB0aGUgZXhwZXJpZW5jZSBvZiBjYXJyeWluZyBvdXQgYSB0YXNrIGZyb20gc3RhcnQgdG8gZmluaXNoIHdpdGhvdXQgYW55CmNoYW5nZSBpbiB0aGUgdXNlciByZXF1aXJlbWVudHMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJvaGUgV2VpaG5hY2h0ZW4gKEdyaW1tYm9ybiwgMjIuIERleiAyMDA4LCAxMzo0NzoyOSk6ClVuZCBzY2hvbiBpc3Qgd2llZGVyIFdlaWhuYWNodGVuLCB1bmQgZGFtaXQgYW4gZGVyIFplaXQgZnVlciBkaWUgdHJhZGl0aW9uZWxsZQpXZWlobmFjaHRzZ2VzY2hpY2h0ZS4uLgoKRWluZSBrbGVpbmUgR2VzY2hpY2h0ZSB6dXIgV2VpaG5hY2h0CgpEaWUgYWNodGphZWhyaWdlIFZpcmdpbmlhIE8nSGFubG9uIGF1cyBOZXcgWW9yayB3b2xsdGUgZXMgZ2FueiBnZW5hdSB3aXNzZW4uIApEYXJ1bSBzY2hyaWViIHNpZSBhbiBkaWUgVGFnZXN6ZWl0dW5nICJTdW4iIGVpbmVuIEJyaWVmOgoKIkljaCBiaW4gYWNodCBKYWhyZSBhbHQuIEVpbmlnZSB2b24gbWVpbmVuIEZyZXVuZGVuIHNhZ2VuLCBlcyBnaWJ0IGtlaW5lbgpXZWlobmFjaHRzbWFubi4gUGFwYSBzYWd0LCB3YXMgaW4gZGVyICdTdW4nIHN0ZWh0IGlzdCBpbW1lciB3YWhyLiBCaXR0ZSBzYWdlbgpTaWUgbWlyOiBHaWJ0IGVzIGVpbmVuIFdlaWhuYWNodHNtYW5uPyAtIFZpcmdpbmlhIE8nSGFubG9uIgoKRGllIFNhY2hlIHdhciBkZW0gQ2hlZnJlZGFrdGV1ciBGcmFuY2lzIFAuIENodXJjaCBzbyB3aWNodGlnLCBkYXNzIGVyIHNlbGJlcgphbnR3b3J0ZXRlIC0gYXVmIGRlciBUaXRlbHNlaXRlIGRlciAiU3VuIjoKCiJWaXJnaW5pYSwKRGVpbmUga2xlaW5lbiBGcmV1bmRlIGhhYmVuIG5pY2h0IHJlY2h0LiBTaWUgZ2xhdWJlbiBudXIsIHdhcyBzaWUgc2VoZW47IHNpZQpnbGF1YmVuLCBkYXNzIGVzIG5pY2h0IGdlYmVuIGthbm4sIHdhcyBzaWUgbWl0IGlocmVtIGtsZWluZW4gR2Vpc3QgbmljaHQKZXJmYXNzZW4ga29lbm5lbi4gQWxsZXIgTWVuc2NoZW5nZWlzdCBpc3Qga2xlaW47IG9iIGVyIG51biBlaW5lbSBFcndhY2hzZW5lbgpvZGVyIGVpbmVtIEtpbmQgZ2Vob2VydC4gSW0gV2VsdGFsbCB2ZXJsaWVydCBlciBzaWNoIHdpZSBlaW4gd2luemlnZXMgSW5zZWt0LgpTb2xjaGVyIEFtZWlzZW52ZXJzdGFuZCByZWljaHQgbmljaHQgYXVzLCBkaWUgZ2FuemUgV2FocmhlaXQgenUgZXJmYXNzZW4gdW5kCnp1IGJlZ3JlaWZlbi4KSmEsIFZpcmdpbmlhLCBlcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBFcyBnaWJ0IGlobiBzbyBnZXdpc3Mgd2llIExpZWJlCnVuZCBHcm9zc2hlcnppZ2tlaXQgdW5kIFRyZXVlLiBXZWlsIGVzIGFsbCBkYXMgZ2lidCwga2FubiB1bnNlciBMZWJlbiBzY2hvZW4KdW5kIGhlaXRlciBzZWluLiBXaWUgZHVua2VsIHdhZXJlIGRpZSBXZWx0LCB3ZW5uIGVzIGtlaW5lbiBXZWlobmFjaHRzbWFubgpnYWViZSEgRXMgZ2FlYmUgZGFubiBhdWNoIGtlaW5lIFZpcmdpbmlhLCBrZWluZW4gR2xhdWJlbiwga2VpbmUgUG9lc2llIC0gZ2FyCm5pY2h0cywgd2FzIGRhcyBMZWJlbiBlcnN0IGVydHJhZWdsaWNoIG1hY2h0ZS4gRWluIEZsYWNrZXJyZXN0IGFuIHNpY2h0YmFyZW0KU2Nob2VuZW4gYmxpZWJlIHVlYnJpZy4gQWJlciBkYXMgTGljaHQgZGVyIEtpbmRoZWl0LCBkYXMgZGllIFdlbHQgYXVzc3RyYWhsdCwKbXVlc3N0ZSB2ZXJsb2VzY2hlbi4KRXMgZ2lidCBlaW5lbiBXZWlobmFjaHRzbWFubi4gU29uc3Qga29lbm50ZXN0IER1IGF1Y2ggZGVuIE1hZXJjaGVuIG5pY2h0CmdsYXViZW4uIEdld2lzcywgRHUga29lbm50ZXN0IERlaW5lbiBQYXBhIGJpdHRlbiwgZXIgc29sbGUgYW0gSGVpbGlnZW4gQWJlbmQKTGV1dGUgYXVzc2NoaWNrZW4sIGRlbiBXZWlobmFjaHRzbWFubiB6dSBmYW5nZW4uIFVuZCBrZWluZXIgYmVrYWVtZSBpaG4genUKR2VzaWNodCAtIHdhcyB3dWVyZGUgZGFzIGJld2Vpc2VuPyBLZWluIE1lbnNjaCBzaWVodCBpaG4gZWluZmFjaCBzby4gRGFzCmJld2Vpc3QgZ2FyIG5pY2h0cy4gRGllIHdpY2h0aWdlbiBEaW5nZSBibGVpYmVuIG1laXN0ZW5zIHVuc2ljaHRiYXIuIERpZQpFbGZlbiwgenVtIEJlaXNwaWVsLCB3ZW5uIHNpZSBhdWYgTW9uZHdpZXNlbiB0YW56ZW4uIFRyb3R6ZGVtIGdpYnQgZXMgc2llLiBBbGwKZGllIFd1bmRlciB6dSBkZW5rZW4gLSBnZXNjaHdlaWdlIGRlbm4gc2llIHp1IHNlaGVuLCBkYXMgdmVybWFnIG5pY2h0IGRlcgpLbHVlZ3N0ZSBhdWYgZGVyIFdlbHQuIFdhcyBEdSBhdWNoIHNpZWhzdCwgRHUgc2llaHN0IG5pZSBhbGxlcy4KRHUga2FubnN0IGVpbiBLYWxlaWRvc2tvcCBhdWZicmVjaGVuIHVuZCBuYWNoIGRlbiBzY2hvZW5lbiBGYXJiZmlndXJlbiBzdWNoZW4uCkR1IHdpcnN0IGVpbmlnZSBidW50ZSBTY2hlcmJlbiBmaW5kZW4sIG5pY2h0cyB3ZWl0ZXIuIFdhcnVtPyBXZWlsIGVzIGVpbmVuClNjaGxlaWVyIGdpYnQsIGRlciBkaWUgd2FocmUgV2VsdCB2ZXJodWVsbHQsIGVpbmVuIFNjaGxlaWVyLCBkZW4gbmljaHQgZWlubWFsCmFsbGUgR2V3YWx0IGF1ZiBkZXIgV2VsdCB6ZXJyZWlzc2VuIGthbm4uIE51ciBHbGF1YmUgdW5kIFBvZXNpZSB1bmQgTGllYmUKa29lbm5lbiBpaG4gbHVlZnRlbi4gRGFubiB3aXJkIGRpZSBTY2hvZW5oZWl0IHVuZCBIZXJybGljaGtlaXQgZGFoaW50ZXIgYXVmCmVpbm1hbCB6dSBlcmtlbm5lbiBzZWluLiAKJ0lzdCBkYXMgZGVubiBhdWNoIHdhaHI/JyBrYW5uc3QgRHUgZnJhZ2VuLiBWaXJnaW5pYSwgbmljaHRzIGF1ZiBkZXIgZ2FuemVuCldlbHQgaXN0IHdhaHJlciB1bmQgbmljaHRzIGJlc3RhZW5kaWdlci4gRGVyIFdlaWhuYWNodHNtYW5uIGxlYnQsIHVuZCBld2lnCndpcmQgZXIgbGViZW4uIFNvZ2FyIGluIHplaG5tYWwgemVobnRhdXNlbmQgSmFocmVuIHdpcmQgZXIgZGEgc2VpbiwgdW0gS2luZGVyCndpZSBEaWNoIHVuZCBqZWRlcyBvZmZlbmUgSGVyeiBtaXQgRnJldWRlIHp1IGVyZnVlbGxlbi4gRnJvaGUgV2VpaG5hY2h0LApWaXJnaW5pYS4KRGVpbiBGcmFuY2lzIFAuIENodXJjaCIKCihEZXIgQnJpZWZ3ZWNoc2VsIHp3aXNjaGVuIFZpcmdpbmlhIE8nSGFubG9uIHVuZCBGcmFuY2lzIFAuIENodXJjaCBzdGFtbXQgYXVzCmRlbSBKYWhyIDE4OTcuIEVyIHd1cmRlIHVlYmVyIGVpbiBoYWxiZXMgSmFocmh1bmRlcnQgYmlzIHp1ciBFaW5zdGVsbHVuZyBkZXIKIlN1biIgaW0gSmFocmUgMTk1MCBhbGxlIEphaHJlIHdpZWRlciB6dXIgV2VpaG5hY2h0c3plaXQgYXVmIGRlciBlcnN0ZW4gU2VpdGUKZGVyIFplaXR1bmcgYWJnZWRydWNrdC4pCgoKSWNoIHd1ZW5zY2hlIGFsbGVuIGVpbiBmcm9oZXMgdW5kIGdlc2VnbmV0ZXMgV2VpaG5hY2h0c2Zlc3QhCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxETXVkIDMuMy43MTggKFplc3N0cmEsIDEzLiBKYW4gMjAwOSwgMDk6MDQ6MjApOgpJc3QgendhciBuaWNodCBtZWhyIGdhbnogYW0gQW5mYW5nIGRlcyBKYWhyZXMsIGFiZXIgZWdhbC4gOy0pCkZ1Y2h1ckBXdW5kZXJsYW5kLCBHbm9taUBVbml0b3BpYSB1bmQgaWNoIGhhYmVuIGVpbiBuZXVlcyBSZWxlYXNlIHZvbiBMRE11ZApmZXJ0aWdnZXN0ZWxsdDogMy4zLjcxOC4KRGllIFJlbGVhc2UtQW5rdWVuZGlndW5nIG1pdCB3aWNodGlnc3RlbiBBZW5kZXJ1bmdlbiBldGMuIGZpbmRldCBpaHIgYXVmOgpodHRwOi8vbWFpbDYzLmNzb2Z0Lm5ldC9waXBlcm1haWwvbGRtdWQtdGFsay8yMDA5LUphbnVhcnkvMDAwMDg3Lmh0bWwKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbGRtaXR0ZWxhZW5kZXJ1bmcgKEdsb2luc29uLCAzMC4gSmFuIDIwMDksIDE0OjAzOjQwKToKSGFsbG8sCgp3aWUgaWhyIHNpY2hlciBzY2hvbiBtaXRiZWtvbW1lbiBoYWJ0LCBpc3QgR2VsZC9Hb2xkIG1vbWVudGFuIHNlaHIKcmFyIGluIE1vcmdlbmdyYXVlbi4gRGFzIGhhdCBlaW5lcnNlaXRzIHByb2dyYW1tdGVjaG5pc2NoZSwgYW5kZXJlci0Kc2VpdHMgYWJlciBhdWNoIHNlaHIgcmVhbGUgZmluYW56dGVjaG5pc2NoZSBIaW50ZXJncnVlbmRlLgoKTGVpZGVyIGhhdCBzaWNoIHNjaG9uIHZvciBzZWhyIGxhbmdlciBaZWl0IGhlcmF1c2dlc3RlbGx0LCBkYXNzIHVuc2VyCkdlbGRzeXN0ZW0gbmljaHQgd2lya2xpY2ggZnVua3Rpb25pZXJ0LiBFcyB3ZXJkZW4gendhciBVbm1hc3NlbiB2b24KT2JqZWt0ZW4gcHJvZHV6aWVydCwgaW4gVW1sYXVmIGdlYnJhY2h0IHVuZCBnZWdlbiBHZWxkIGVpbmdldGF1c2NodCwKZGllc2UgR2VsZCB3aXJkIGFiZXIgbmljaHQgd2llZGVyIGF1cyBkZW0gS3JlaXNsYXVmIGhlcmF1c2dlem9nZW4uClp1ZGVtIHdpcmQgZGllc2VzIEdlbGQgZGFubiBub2NoIGluIFggdXJhbHRlbiBTcGllbGVybiB1bmQgQmFua3p3ZWl0aWVzCmdlaG9ydGV0LCB3YXMgaW1tZXIgbWFsIHdpZWRlciBkaWVzZSBlaWdlbmFydGlnZSBEZWZsYXRpb24gYmV3aXJrdC4KQWxzIFF1aWNrZml4IChkZXMgdmVyZ2FuZ2VuZW4gSmFocnplaG50cykgZGllbnRlIGVpbmZhY2ggZGFzIE5ldWRydWNrZW4Kdm9uIEdlbGQgZHVyY2ggZGllICJaZW50cmFsYmFuayIgenUgYmVzdGltbXRlbiBVaHJ6ZWl0ZW4uCgpEYXMga2FubiBqZXR6dCBhbGxlcmRpbmdzIG5pY2h0IHNvIHdlaXRlcmdlaGVuLiBOYWNoIHZvcnNpY2h0aWdlcgpTY2hhZXR6dW5nIHNpbmQgaW4gZGVuIGxldHp0ZW4gSmFocmVuIG1pbmRlc3RlbnMgMTVrIFNwaWVsZXIgKiAxMGssCmFsc28gMS41ICogMTBeOSBNdWVuemVuIGFuZ2VoYWV1ZnQgd29yZGVuLiBEYXMgc3ByZW5ndCBsZWlkZXIgYmFsZAp1bnNlcmVuIGRlcnplaXRpZ2VuIHNpZ25lZCBpbnQtVHlwIChCZXJlaWNoIC0yKjEwXjkgYmlzICsgMioxMF45KS4KRGEgd2lyIGtlaW5lIEx1c3QgaGFiZW4sIFplc3N0cmEgYXVmIGVpbmUgYmlnaW50LUFlbmRlcnVuZyBhbnp1c2V0emVuLAp1bSBkaWUgWmVudHJhbGJhbmsgd2VpdGVyIGFtIExhdWZlbiB6dSBoYWx0ZW4sIG11ZXNzZW4gZHJhc3Rpc2NoZXJlCk1hc3NuYWhtZW4gaGVyLiBXaXIgZnJpZXJlbiBkaWUgU3VtbWUgZGVzIGdlc2FtdGVuIEdlbGRlcyBlaW4uCgpab29rICh6dSBpcmdlbmR3YXMgbXVzcyBqYSBlaW4gVldMZXIgZ3V0IHNlaW4pIHNwaWVsdCBub2NoIGVpbiB3ZW5pZwptaXQgZGVuIFZhcmlhYmxlbiwgZGVubiBpbiBuYWhlciBadWt1bmZ0IHdlcmRlbiBhbGxlIFByZWlzZSBkeW5hbWlzY2gKamUgbmFjaCB1bWxhdWZlbmRlciAoZGlyZWt0IGFscyBPYmpla3QgaW0gU3BpZWwgYmVmaW5kbGljaGVyKSBHZWxkbWVuZ2UKYmVyZWNobmV0IHdlcmRlbi4gRGFkdXJjaCwgZGFzcyBhYiBqZXR6dCAodW5kIHVlYmVyIGRlbiBSZWJvb3QgaGluYXVzKQprZWluICJuZXVlcyIgR2VsZCBtZWhyIGVyemV1Z3Qgd2VyZGVuIHdpcmQsIGhvZmZlbiB3aXIsIGRpZSBnYW56ZW4KUmVzZXJ2ZW4gYXVzIGRlbiBCYW5rendlaXRpZXMgaW5zIFNwaWVsIHp1cnVlY2tmdWVocmVuIHp1IGtvZW5uZW4uCgpTZWhyIHp1IGRhbmtlbiBoYWJlbiB3aXIgaW4gZGVtIEtvbnRleHQgc2Nob24gbWFsIGRlciBzb2dlbmFubnRlbgpUcnZlcy1CYW5rLiBTaWUgemllaHQgcmVnZWxtYWVzc2lnIGdpZ2FudGlzY2hlIE1lbmdlbiBHZWxkZXMgZHVyY2gKU3BlbmRlbiBvZGVyIE1pbmktQ3Jhc2hlcyBrb21wbGV0dCBhdXMgZGVtIEdlbGRrcmVpc2xhdWYuIEZ1ZXIgZGllClNvZWxkbmVyIGRlcyBUcnZlcyBpc3QgZGFzIHp3YXIgc2ljaGVybGljaCBuaWNodCBzbyBhbXVlc2FudCwgenUKZGVuIExlaG1hbi1Ccm90aGVycyBkZXMgTUcgenUgZ2Vob2VyZW4sIGFiZXIgZGEgbXVlc3NlbiBzaWUgZHVyY2ggOikKClBTOiBBbHRlcm5hdGl2ZSB3YWVyZSB1ZWJyaWdlbnMgaGFydGUgRW50ZWlnbnVuZyBhbGxlciBTcGllbGVyIHBlcgpTY3JpcHQgYmVpbSBuYWVjaHN0ZW4gUmVib290LiBCZXZvciBpaHIgamV0enQgamFtbWVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG1pdHRlbGFlbmRlcnVuZyAoQW15bnRob3IsIDMwLiBKYW4gMjAwOSwgMTQ6NTc6MTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIzMzMyMDYyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKSWNoIGthcGllcmUgZWhybGljaCBnZXNhZ3QgZ2FyIG5pY2h0LCB3YXMgZGFzIEdlbGQgaW0gTW9yZ2VuR3JhdWVuIG1pdCBlaW5lbQpyZWFsZW4gRmluYW56c3lzdGVtIHp1IHR1biBoYWJlbiBzb2xsLiBXb3p1IGVpbmUgWmVudHJhbGJhbms/IFdlbm4gbWFuIGZ1ZXIgCmplZGVzIE9iamVrdCB3aXJrbGljaCBzb3ZpZWwgYmVrb21tZW4gd3VlcmRlLCB3aWUgZXMgd2VydCBpc3QsIGtvZW5udGVuIHdpciAKdW5zIGRlbiBnYW56ZW4gU3RyZXNzIHNwYXJlbi4gVW5kIGZhbGxzIHdpcmtsaWNoIG1hbCBqZW1hbmQgc28gdmllbCBHZWxkIAphdWZoYWV1ZnQsIGRhc3MgZXMgZWluZW4gVWViZXJsYXVmIGdpYnQsIGRhbm4gaW1wbG9kaWVydCBlYmVuIGRlciBnYW56ZSAKSGF1ZmVuIHVuZCBpc3Qgd2VnLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG1pdHRlbGFlbmRlcnVuZyAoT3JrdG9ldGVyLCAzMC4gSmFuIDIwMDksIDE2OjQ0OjQzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzMzMjA2MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzMzIwNjIwCkljaCBoYWV0dGUgbmljaHRzIGdlZ2VuIGVpbiBzb2xjaGVzICJlbnRlaWdudW5nc3NrcmlwdCIsIGFiZXIgZGFzIHd1ZXJkZSBkaWUKVXJzYWNoZSBkZXMgVWViZWxzIG5pY2ggbG9lc2VuLiBWaWVsbGVpY2h0IHdhZXJlIGVpbmUgS29tYm9uYXRpb24gYW0gQmVzdGVuPwpTY3JpcHQgKEdlbGRtZW5nZSBHcm9lc3NlciBhbHMgei5CLiAxMGsgd2lyZCBhdWYgMTBrIHJlZHV6aWVydCkgdW5kIGRhenUKR2VsZG1lbmdlbiAoSW5mbGF0aW9ucyktYW5nZXBhc3N0ZSBQcmVpc2UuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlbGRtaXR0ZWxhZW5kZXJ1bmcgKERlbW9ubG9yZCwgMzAuIEphbiAyMDA5LCAxNzoyNTo1Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjMzMzIwNjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApkdW5rZWxoZWl0CgpETCBkZXIgQXJtZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWxkbWl0dGVsYWVuZGVydW5nIChEZW1vbmxvcmQsIDMwLiBKYW4gMjAwOSwgMTc6MjY6MjUpOgp+IyEgcm49RGVtb25sb3JkIHJ0PTEyMzMzMzI3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzMzIwNjIwCkRhc3Mgc2luZCBhYmVyIGRyYXN0aXNjaGVuIG1ldGhvZGVuLiBEYXMgQW5zY2hhdWVuIGVpbmVyIE11ZW56ZSBoYXQgZ2VyZWljaHQsCnVtIGRlbiBTdGFwZWwgaW4gbWVpbmVtIEhvbWUgdm9uIDEuNzk0LjA2NCBNdWVuemVuIGF1ZiBkaWUgR3JvZXNzZSB2b24gMSB6dQpzY2hydW1wZmVuLi4uLi4uIHdhciBkYXMgZ2V3b2xsdD8/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbGRtaXR0ZWxhZW5kZXJ1bmcgKERlbW9ubG9yZCwgMzAuIEphbiAyMDA5LCAxNzoyNzoxNSk6Cn4jISBybj1EZW1vbmxvcmQgcnQ9MTIzMzMzMjc4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKa29tbWFuZG8genVydWVjaywgamV0enQgbGllZ2VuIHdpZWRlciBhbGxlIGRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWxkbWl0dGVsYWVuZGVydW5nIChHcmltbWJvcm4sIDMxLiBKYW4gMjAwOSwgMDA6MTE6MjQpOgp+IyEgcm49RGVtb25sb3JkIHJ0PTEyMzMzMzI4MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzMzIwNjIwCk51biBqYW1tZXJ0IG1hbCBuaWNodCBzb25kZXJuIHZlcnRyYXV0IGRlbiBWb2xrc3dpcnRzY2hhZnRsZXJuLiBCaXMgdm9yIGVpbmVtCmhhbGJlbiBKYWhyIGhhdCBkYXMgamEgYXVjaCBiZXN0ZW5zIGdla2xhcHB0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlbGRtaXR0ZWxhZW5kZXJ1bmcgKE1pcmltYWRlbCwgMzEuIEphbiAyMDA5LCAxMDoxNjowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIzMzM1NzA4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKSGkgSWhyLAoKd2VubiBlcyB1bSBkYXMgR2VsZCBnZWh0LCB1bmQgRWlubmFobWVuIGVyemllaGx0IHdlcmRlbiBzb2xsZW4uCklzdCBlcyBkb2NoIGJlc3NlciB3ZW5uIG1hbiBkYXMgQW5nZWJvdCB2ZXJhZW5kZXJ0LgpXZW5uIGVzIFNhY2hlbiAoc2Nob2VuZSkgenUga2F1ZmVuIHVuZCBuaWNodCB6dSBlcm1ldHplbG4gZ2lidCwgd2lyZCBHZWxkCndpZWRlciBpbiBVbWxhdWYgZ2VicmFjaHQuCkVzIG11c3MgQW5nZWJvdGUgZ2ViZW4sIGRpZSBkYXMgR2VsZGF1c2dlYmVuIGhlcmF1cyBmb3JkZXJuLgpFbnRlaWdudW5nIGlzdCBkZW5rZSBuaWNodCBkYXMgcmljaHRpZ2UgTWl0dGVsLgpMaWViZXIgZWluIHBhYXIgdG9sbGUgTGFlZGVuIGluIFBWLCBkaWUgZGllc2UgU3RhZHQgd2lya2xpY2ggenVyIEhhdXB0c3RhZHQKbWFjaGVuIHVuZCBpaHIgZGFzIERvZXJmbGljaGUgbmVobWVuLgpJY2gga2F1ZiBtaXIgZ2VybiBzY2hvZW5lIEtsZWlkZXIgdXN3LgpIaWVyIGthbm4gbWFuIHNlaW5lIEx1c3QgYmVzc2VyIGJlZnJpZWRpZ2VuLCB3aWUgaW0gUkwsIHdlaWwgZG9ydCBqYSBhdWNoIGRpZQpaZW50cmFsIEJhZW5rZXIgdW5kIEJhZW5rZXIgaW0gYWxsZ2VtZWluZW4sIGtlaW5lIEFobnVuZyB2b24gR2VsZCBoYWJlbi4KR3JpbnMsIEdyaW5zLgpFaW4gZnJvZWhsaWNoZXMgV29jaGVuZW5kZSBNaXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHZWxkbWl0dGVsYWVuZGVydW5nIChOaWJlbCwgMzEuIEphbiAyMDA5LCAxMTo0NjozNyk6Cn4jISBybj1NaXJpbWFkZWwgcnQ9MTIzMzM5MzM2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKQW4gc2ljaCBlaW5lIHNjaG9lbmUgSWRlZSwgbnVyIGlzdCBkaWUgR2VsZGJlc2NoYWZmdW5nIGhpZXIgKGF1c3NlciB3ZW5uIApkaWUgTGFlZGVuIHBsZWl0ZSBzaW5kKSB2aWVsIHp1IGVpbmZhY2guIEVzIGdpYnQgU3RlbGxlbiBkYSBob2xzdCBkdSAKb2huZSBncm9zc2UgQXVzcnVlc3R1bmcgNDBrKyBpbiBlaW5lciBNaW51dGUuIERhenUgbXVlc3N0ZSBtYW4gaW0gZ2FuemVuCk1HIHJlZ2Vsbiwgd2VsY2hlciBOUEMgd2lldmllbCBHZWxkICh1bmQgenVzYWV0emxpY2ggQXVzcnVlc3R1bmcgbWl0IApXZXJ0IHgpIGhhYmVuIGRhcmYuIEljaCBnbGF1YiBuaWNodCwgZGFzcyBzaWNoIGplbWFuZCBkaWUgTXVlaGUgbWFjaGVuIAptb2VjaHRlLgogIC0gTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHZWxkbWl0dGVsYWVuZGVydW5nIChOaWNvbGFpLCAzMS4gSmFuIDIwMDksIDE1OjQ3OjQzKToKfiMhIHJuPU5pYmVsIHJ0PTEyMzMzOTg3OTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzMzIwNjIwCndhcyBzcHJpY2h0IGdlZ2VuIGtvbXBsZXR0LWVudGVpZ251bmc/IHJlYm9vdCBpc3QgcmVib290PwphbGxlcyBnZWxkIHplcnN0b2VyZW4sIHNlaGVyY2FyZHMgenVydWVja3NldHplbiwgdW5kIGRhbm4KKG5ldWVzKSBnZWxkLCB6LmIuIHBybyBjaGFyYWt0ZXIgZ2lidHMgNTAqbGV2ZWwgbXVlbnplbi4KZmVydGlnIGF1cyBuaWtvbGF1cyB1bmQgYWxsZSBhbHRsYXN0ZW4gbWl0IGJhbmtYdGllcyAKaGFiZW4gc2ljaCBlcmxlZGlndD8gb2RlciBiaW4gaWNoIGRhIHp1IGJsYXVhZXVnaWc/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZSAoTWlyaW1hZGVsLCAgMS4gRmViIDIwMDksIDEzOjQ1OjU0KToKSGkgSWhycywKCmVzIHdpcmQgdm9tIFJlYm9vdCBnZXJlZGV0LCB3ZW5uIGlzdCBkZW4gZGVyIG5hZWNoc3RlPwpHcnVlc3NlbCBNaXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2UgKFNyYWJpLCAgMS4gRmViIDIwMDksIDEzOjQ3OjExKToKfiMhIHJuPU1pcmltYWRlbCBydD0xMjMzNDkyMzU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzQ5MjM1NApBbHNvIGxhdXQgQW1hcnlsbGlzIHdvaGwgbmFlY2hzdGUgb2RlciB1ZWJlcm5hZWNoc3RlIFdvY2hlCgpIZXhlbm1laXN0ZXIgU3JhYmkgdm9uIEFuZ21hcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZSAoQ3JvZnQsICAxLiBGZWIgMjAwOSwgMTM6NTM6MDQpOgp+IyEgcm49U3JhYmkgcnQ9MTIzMzQ5MjQzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzM0OTIzNTQKW0FsbGdlbWVpbjpBbWFyeWxsaXNdIHdpciBtdWVzc2VuIGV2dGwuIGVoIGluIGRlbiBuYWVjaHN0ZW4gMS0yIHdvY2hlbiBtYWwKW0FsbGdlbWVpbjpBbWFyeWxsaXNdIHJlYm9vdGVuLiA8RnJlLCAyMToxMDoyNj4KW0FsbGdlbWVpbjpBbWFyeWxsaXNdIGdlbmF1ZXJlcyBnaWJ0cywgc29iYWxkIGljaCBnZW5hdWVyZXMgd2Vpc3MuLi4gYWJlciBlcwpbQWxsZ2VtZWluOkFtYXJ5bGxpc10gaXN0IGdydW5kc2FldHpsaWNoIGtlaW4gc2NoZXJ6LiA8RnJlLCAyMToxMTowMj4KV2VubiBkYW5uIHNjaG9uIHZvbGxzdGFlbmRpZyB6aXRpZXJlbiA7LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyYWdlIChaZXNzdHJhLCAgMS4gRmViIDIwMDksIDEzOjU1OjI2KToKfiMhIHJuPVNyYWJpIHJ0PTEyMzM0OTI0MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzNDkyMzU0CkFsc28gSGVycnNjaGFmdGVuLi4uIAoxKSBJaHIgYnJhdWNodCBtaWNoIG5pY2h0IGFsbGUgcGVyIFRNIHp1IGlyZ2VuZHdlbGNoZW4gUmVib290cyBiZWZyYWdlbi4gCldlbm4vU29iYWxkIGVzIFBsYWVuZSBmdWVyIGVpbmVuIFJlYm9vdCBnaWJ0LCB3ZXJkZW4gd2lyIGRhcyB3aWUgdWVibGljaCBpbgpkZXIgTVBBIGFua3VlbmRpZ2VuLiBTb2xhbmdlIGVzIGtlaW5lIHNvbGNoZSBBbmt1ZW5kaWd1bmcgZ2lidCwgZ2lidCBlcyBhdWNoCnZvbiB1bnNlcmVyIFNlaXRlIGtlaW5lIGF1c3JlaWNoZW5kIGtvbmtyZXRlbiBJbmZvcm1hdGlvbmVuIG9kZXIgUGxhZW5lLgoyKSBOdXIgd2VpbCBHZXJ1ZWNodGUgdW5kIEdlcmVkZSB1ZWJlciBSZWJvb3RzIGt1cnNpZXJlbiwgaGVpc3N0IGRhcyBuaWNodCwKZGFzcyBlcyBlaW5lbiBnZWJlbiB3aXJkIG9kZXIgZGFzIHdpciB3aXNzZW4sIHdhbm4gZGVyIG5hZWNoc3RlIGlzdC4KMykgQW1hcnlsbGlzIGhhdCAob2ZmZW5iYXIgdW52b3JzaWNodGlnZXJ3ZWlzZSwgd2llIGRpZXNlIFJlYWt0aW9uIHplaWd0KQp2b3JnZXN0ZXJuIGF1ZiBlaW5lciBFYmVuZSBrb21tZW50aWVydCwgZGFzcyBlcyBhdXMgYXVmZ3J1bmQgYWV1c3NlcmVyClVtc3RhZW5kZSAoUlovTmV0Q29sb2duZSkgaW4gZGVuIG5hZWNoc3RlbiBXb2NoZW4gdS5VLiBzZWluIGtvZW5udGUsIGRhc3MgZGVyClNlcnZlciBydW50ZXJnZWZhaHJlbiB3ZXJkZW4gbXVzcywgZGFzcyBkaWVzIGFiZXIgbmljaHQgc2ljaGVyIGlzdC4KCkZheml0OiBzLiAxKSwgd2VubiBlcyBrb25rcmV0ZSBJbmZvcm1hdGlvbmVuIGdpYnQsIHdlcmRlbiB3aXIgZGFzIGluIGRlciBNUEEKaW4gZGVyIFJ1YnJpayAnYmVrYW5udG1hY2h1bmdlbicgb2VmZmVudGxpY2ggYmVrYW5udGdlYmVuLgpBY2hqYTogTmF0dWVybGljaCBrYW5uIGVzIGF1Y2ggenUgdW5nZWt1ZW5kaWd0ZW4gUmVib290cyBrb21tZW46IE11ZGNyYXNoLApTZXJ2ZXJhdXNmYWxsLCBTdHJvbWF1c2ZhbGwsIGV0Yy4gSW4gZGVtIEZhbGwga29lbm5lbiB3aXIgbmF0dXJnZW1hZXNzIGF1Y2gKbml4IGFua3VlbmRpZ2VuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR2VsZG1pdHRlbGFlbmRlcnVuZyAoVmFuaXIsICAxLiBGZWIgMjAwOSwgMTQ6NDg6MzYpOgp+IyEgcm49Tmljb2xhaSBydD0xMjMzNDEzMjYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApEYWZ1ZXIuIFdlbm4gZGFtaXQgZGFzIFByb2JsZW0gYmVzZWl0aWd0IGlzdCB3YWVyIGRhcyBkb2NoIFByaW1hLiAKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYWdlIChBbWFyeWxsaXMsICAzLiBGZWIgMjAwOSwgMjM6NTA6MTQpOgp+IyEgcm49Q3JvZnQgcnQ9MTIzMzQ5Mjc4NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzM0OTIzNTQKRGVyIFJlYm9vdCBpc3QgdmVybXV0bGljaCBlcnN0bWFsIHZvbSBUaXNjaC4gSmEsIGlociBkdWVyZnQgbWljaCBhbGxlCnN0ZWluaWdlbiBmdWVyIGRpZSAiUGFuaWttYWNoZSIuCgpJY2ggd2FyIGRlciBNZWludW5nLCBtYWwgdm9yc2ljaHRpZyBrdW5kdHVuIHdhZXJlIGhhbHQgZ3V0LCBhbnNjaGVpbmVuZCBuaWNodC4KTmFlY2hzdGVzIE1hbCBrb21tdCBkaWUgSW5mbyAyIFN0dW5kZW4gdm9yIFZvbGxzdHJlY2t1bmcgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYWdlIChWYW5oZWxzaW5nLCAgMy4gRmViIDIwMDksIDIzOjUxOjM0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMjMzNzAxNDE0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzQ5MjM1NApTbyB2aWVsIFZvcmxhdWY/Ck5ldHQgdm9uIERpci4KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHZWxkbWl0dGVsYWVuZGVydW5nIChNYWhhcmV0LCAgNC4gRmViIDIwMDksIDEyOjUwOjUwKToKfiMhIHJuPU5pY29sYWkgcnQ9MTIzMzQxMzI2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKR3V0ZSBJZGVlLCB3YWVyZSBpY2ggZGFmdWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzIGdlZ2ViZW5lbSBBbmxhc3MgKE9ya3RvZXRlciwgIDQuIEZlYiAyMDA5LCAyMDozMToxNyk6CldpZSB3YWVyZSBlcyBtaXQgZWluZW0gTUctKFJMKS1GcmllZGhvZj8KSWNoIGRlbmtlIGFuIG5pY2h0cyBncm9zc2FydGlnZXMsIGVpbiBSYXVtIGluIGRlbSBmdWVyIGplZGVuIGJla2FubnRlcm1hc3Nlbgp2ZXJzY2hpZWRlbmVuIE11ZGRlciBlaW4gR3JhYnN0ZWluIHN0ZWh0LgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXMgZ2VnZWJlbmVtIEFubGFzcyAoWmVzc3RyYSwgIDQuIEZlYiAyMDA5LCAyMDozMjozOSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTIzMzc3NTg3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzM3NzU4NzcKRGFzIHdhciBJTUhPIGZ1ZXIgZGVuIEZyaWVkaG9mIGluIFBvcnQgVmFpbiBnZXBsYW50LCB3ZWlzcyBhYmVyIGdlcmFkZSBuaWNodCwKb2IgZXMgKHRlaWx3ZWlzZSkgdW1nZXNldHp0IHd1cmRlLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdXMgZ2VnZWJlbmVtIEFubGFzcyAoWHV0ZWxpdXMsICA0LiBGZWIgMjAwOSwgMjA6MzM6NTYpOgp+IyEgcm49WmVzc3RyYSBydD0xMjMzNzc1OTU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzc3NTg3NwpXdXJkZSBlcy4gSW4gZGVyIEthcGVsbGUgZ2lidHMgbmUgR2VkZW5rdGFmZWwuClh1dCosIGlzdCBncmFkIGV4dHJhIG5vY2htYWwgc2NoYXVlbiBnZWdhbmdlbi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1cyBnZWdlYmVuZW0gQW5sYXNzIChDaGFnYWxsLCAgNC4gRmViIDIwMDksIDIwOjM2OjA0KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTEyMzM3NzYwMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzNzc1ODc3CkphLCBkaWUgR2VkZW5rdGFmZWwgZ2lidCBlcywgd29iZWkgZGllIG1vbWVudGFuIG5vY2ggZGllIFp3ZWl0c3BpZWxlciBkZXIKdmVyc3RvcmJlbmVuIFNwaWVsZXIgbWl0IGF1ZmdlZnVlaHJ0IHdlcmRlbi4gTXVzcyBpY2ggbWFsIHNjaGF1ZW4gb2IgaWNoIGRpZQpuaWNodCB3aWVkZXIgcmF1c2ZpbHRlcm4ga2Fubi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1cyBnZWdlYmVuZW0gQW5sYXNzIChTcmFiaSwgIDQuIEZlYiAyMDA5LCAyMDozNjoyOCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMzM3NzU5NTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzNzc1ODc3CkljaCB3YWVyZSBhdWNoIGRhZnVlciwgZGVubiBsZWlkZXIgaXN0IGphIEFwbyogbmljaHQgZGllIGVyc3RlLCBkaWUgaW0gUkwgdm9uCnVucyBnZWdhbmdlbiBpc3QuIEljaCBlcmlubmVyIG5vY2ggYW4gZGllIGFuZGVyZW4sIGRpZSBsZWlkZXIgYXVjaCBuaWNodCBtZWhyCnVudGVyIHVucyB3ZWlsZW4uCgpXYXMgaGFsdGV0IElociBkZW5uIHZvbiBlaW5lbSBEZW5rbWFsLCB3byBkaWUgTmFtZW4gZHJhdWYgenUgbGVzZW4gc2luZCBvZGVyCndpcmtsaWNoIGRlciBGcmllZGhvZiBpbiBQb3J0IFZhaW4/CgpIZXhlbm1laXN0ZXIgU3JhYmkgKHRyYXVlcnQgamV0enQgbmljaHQgbnVyIHVtIERyYWdvbmxvcmQgdW5kIEFjcmltb24sIHNvbmRlcgphdWNoIGpldHp0IGFuIEFwb2xsb25pYSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1cyBnZWdlYmVuZW0gQW5sYXNzIChDaGFnYWxsLCAgNC4gRmViIDIwMDksIDIwOjQwOjIyKToKfiMhIHJuPVNyYWJpIHJ0PTEyMzM3NzYxODggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjMzNzc1ODc3ClZvbiBtZWluZXIgU2VpdGUgd2FyZW4gZGFtYWxzIGtlaW5lIFNwaWVsZXJncmFic3RlaW5lIGdlcGxhbnQgdW5kIGljaCBtZWluZQptaWNoIHp1IGVyaW5uZXJuLCBkYXMgZGllIE11ZGZ1ZWhydW5nIHZvbiBkZXIgSWRlZSBhdWNoIG5pY2h0IGdyYWRlIGJlZ2Vpc3RlcnQKd2FyLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEF1cyBnZWdlYmVuZW0gQW5sYXNzIChKaW1kaWdyaXosICA0LiBGZWIgMjAwOSwgMjI6MDc6MTYpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMjMzNzc2NDIyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzc3NTg3NwpFcyBnaWJ0IGphIGF1Y2ggZGVuIE5hY2hydWYgYXVmIGRlciBNRyBXZWJzZWl0ZS4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG1pdHRlbGFlbmRlcnVuZyAoR2xvaW5zb24sICA1LiBGZWIgMjAwOSwgMTc6MTY6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIzMzMyMDYyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKV2VnZW4ga3VyemZyaXN0aWdlciBBZW5kZXJ1bmdlbiBpbiBkZXIgVHJ2ZXMtQmFuayB1bmQgd2VpdGVyZW4KWmluc3Byb2JsZW1hdGlrZW4gd2lyZCBkaWUgSWRlZSBiaXMgYXVmIHdlaXRlcmVzIGF1c2dlc2V0enQuIEVzIGZsaWVzc3QgYWxzbwp3ZWl0ZXJoaW4gamVkZSBOYWNodCBmcmlzY2hlcyBHb2xkIGF1cyBkZW4gTWluZW4gZGVyIFp3ZXJnZSBpbiBkaWUgVGFzY2hlbiBkZXIKRWxmZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWxkbWl0dGVsYWVuZGVydW5nIChDcm9mdCwgIDUuIEZlYiAyMDA5LCAxNzoxNzo0OCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjMzODUwNTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApEYSBmYWVsbHQgbWlyIGF1ZjogaWNoIGhhYiBtZWluZW4gbW9uYXRsaWNoZW4gQW50ZWlsIG5vY2ggbmljaHQgYmVrb21tZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWxkbWl0dGVsYWVuZGVydW5nIChHbG9pbnNvbiwgIDUuIEZlYiAyMDA5LCAxNzoyMjo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjMzODUwNTcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApEZW4gd2lyZCBkYW5uIHdvaGwgQnJvdG5hZWwgZWluZ2VzYWNrdCBoYWJlbi4gRGVyIGxhbmd0IGluIGRlbiBsZXR6dGVuIFdvY2hlbgpvaG5laGluIGdhbnogc2Nob2VuIHp1LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBLIGRvd24gKEFyYXRoLCAgNi4gRmViIDIwMDksIDIwOjMyOjM0KToKSGksCgpmdWVyIGRpZWplbmlnZW4sIGRpZSBhdXMgZGVtIFBLIGhpZXJoZXIgc2NoYXVlbiwgd2VpbCBlcyBuaWNodCBlcnJlaWNoYmFyIGlzdDoKCkJlaW0gUEsgaGF0IHNpY2ggZGllIHByaW1hZXJlIEJvb3RwbGF0dGUgdmVyYWJzY2hpZWRldC4gSWNoIGhhdHRlIGJlcmVpdHMKZ2VzdGVybiBhYmVuZCBwcml2YXQgZWluZSBuZXVlIGdla2F1ZnQsIGRpZSBoYXQgc2ljaCBhYmVyIGhldXRlIGFscyBkZWZla3QKaGVyYXVzZ2VzdGVsbHQuIERpZSB1bWdldGF1c2NodGUgUGxhdHRlIHR1dCBudW4sIGplZG9jaCBrYW5uIGljaCBub2NoIG5pY2h0CnNhZ2VuLCB3YW5uIGRhcyBQSyB3aWVkZXIgb25saW5lIGdlaGVuIHdpcmQsIGRhIGljaCBtb3JnZW4gKFNhbXN0YWcpIGF1Y2ggbmlodApkYSBiaW4gdW5kIG5vY2ggZWluIFdvY2hlbmVuZGUgaGFiZW4gbW9lY2h0ZS4KCk51ciBhbHMgSW5mby4KCkFyYXRoQFBLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VsZG1pdHRlbGFlbmRlcnVuZyAoVmFyZGlvbiwgMTEuIEZlYiAyMDA5LCAxOTo1MzowMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjMzMzIwNjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApIdWh1LAoKaWNoIGFudHdvcnRlIHNwYWV0LCBhYmVyIGljaCBzY2hhdSBoYWx0IG51ciBub2NoIGdlbGVnZW50bGljaCByZWluLgpTbyBrdXJ6IHVlYmVybGVndDogZ2FiIGVzIGF1c3NlciBkZW4gVGFua2VuIGltIE1HIGplbWFscyBlaW5lIGVmZmVrdGl2ZQpHZWxkc2Vua2U/IEhQL01QLVBvdHMgKGJ6dy4gQ29uc3VtYWJsZXMgYWxsZ2VtZWluKSBrZW5udC4gRGFzIE1HIG5pY2h0LgpHZXNjaGVpdGUgV2FmZmVuIG9kZXIgVXBncmFkZXMgenVtIEthdWZlbiBrZW5udCBkYXMgU3BpZWx0IG5pY2h0LiBSZXBhcmllcmVuCm11c3MgaWNoIG1laW5lIEF1c3J1ZXN0dW5nIGF1Y2ggbmljaHQuIFVuZCBmdWVyIGRpZSBOaWNodG1ldHpsZXI6IFF1ZXN0ZW4gdW5kCmZvcnNjaGVuIGtvc3RldCBhdWNoIGtlaW4gR2VsZC4KSG1qYSwgYWxzby4uLiBiaXR0ZSB3b2Z1ZXIgc29sbCBpY2ggZGVubiBtZWluIEdlbGQgdWViZXJoYXVwdCBhdXNnZWJlbj8gRXMKbGllZ3QgZG9jaCBhdWYgZGVyIEhhbmQsIHdhcnVtIGRhcyBpbiBCYW5rendlaXRpZXMgdW5kIFNlaGVyaGFldXNlcm4gbGFnZXJ0LgoKRGVuIFNpbm4gZGVzIGdhbnplbiBaZW50cmFsYmFuay1Lb25zdHJ1a3RlcyB1bmQgZGVyIGR5bmFtaXNjaGVuIEFucGFzc3VuZyBkZXIKVmVya2F1ZnNwcmVpc2UgaGFiZSBpY2ggbmllIHZlcnN0YW5kZW4uIEtlaW5lcyBkZXIgaGV1dGlnZW4gImJ1bnRlbiIKT25saW5lc3BpZWxlIGhhdCBzbyBldHdhcy4gS2F1Zi9WZXJrYXVmc3ByZWlzZSBzaW5kIGZpeCB1bmQgZXMgaW50ZXJyZXNpZXJ0Cm5pZW1hbmRlbiwgb2IgaXJnZW5kZWluIHNwaWVsZXIgTWlsbGlvbmFlciBvZGVyIFF1YXJkaWxsLi4ud2FzYXVjaGltbWVyaW9uYWVyCndpcmQuIERhZnVlciBoYWJlbiBkaWUgU3BpZWxlIEdlbGRzZW5rZW4uCkFsc28gd2VnIG1pdCBkZXIgWmVudHJhbGJhbmssIGRhbm4gbXVzcyBlaW4gZWluemVsbmVyIFNwaWVsZXIgbWVocmVyZQpNaWxsaWFyZGVuIGFuaGFldWZlbiB1bSBlaW5lbiBVZWJlcmxhdWYgenUgcHJvZHV6aWVyZW4uIFVuZCBkZXIgaGF0IGRhbm4gZWJlbgpQZWNoLiBVbmQgZGFmdWVyIGhlciBtaXQgbnVldHpsaWNoZW4gVmVyYnJhdWNoc2d1ZXRlcm4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbGRtaXR0ZWxhZW5kZXJ1bmcgKFplc3N0cmEsIDExLiBGZWIgMjAwOSwgMjA6MDg6MDcpOgp+IyEgcm49VmFyZGlvbiBydD0xMjM0Mzc4MzgxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzMzMyMDYyMApPaywgbXVzcyBpY2ggZG9jaCBtYWwgd2FzIHp1IHNjaHJlaWJlbi4KRXMgZ2lidCBrZWluZSBVZWJlcmxhdWZwcm9ibGVtYXRpayBkZXIgWmVudHJhbGJhbmsuIEJ6dy4gZ2lidCBlcyBtb21lbnRhbiBudXIKZGFubiwgd2VubiBkaWUgWkIgc2VsYmVyIDIqMTBeOSBNdWVuemVuIGFuZ2VoYWV1ZnQgaGFldHRlLiBEaWUgWkIgaGF0IGtlaW5lCkFobnVuZywgd2lldmllbCBHZWxkIGluc2dlc2FtdCBpbSBTcGllbCBpc3QsIGluIFNwaWVsZXJuIG9kZXIgc29uc3R3bwpydW1saWVndC4gU2llIGJla29tbXQgR2VsZCB2b24gZGVuIExhZWRlbiwgZGllIHZpZWwgR2VsZCBoYWJlbiB1bmQgdmVydGVpbHQKZGFzIEdlbGQgYW4gTGFlZGVuLCBkaWUgd2VuaWcgR2VsZCBoYWJlbi4gVW5kIHdlbm4gYWxsZSB3ZW5pZyBHZWxkIGhhYmVuIHVuZApzbyBkaWUgWkIgd2VuaWcgR2VsZCBoYXQsIHdpcmQgYXVjaCB3ZW5pZyB1bXZlcnRlaWx0LiAoT2ssIGVzIGdlaHQgbmljaHQgbnVyCnVtIGRpZSBMYWVkZW4sIGFiZXIgd2FlciBqZXR6dCB1bm5vZXRpZyBrb21wbGV4LikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbGRtaXR0ZWxhZW5kZXJ1bmcgKEdsb2luc29uLCAxMS4gRmViIDIwMDksIDIwOjU1OjA0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIzNDM3OTI4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzMzMjA2MjAKSGEhIEljaCB3dXNzdGUgZXMsIGljaCBrcmllZyBpaG4gcmF1c2dlaWdlbHQhCgpHbG9pbi0xLiBBcHJpbCBpc3QgaW1tZXItc29uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF1ZiBhbHRhciBSRUdPIEhFUkJBTSAoQnJvdG5hZWwsIDE1LiBGZWIgMjAwOSwgMTQ6NTE6NDApOgp+IyEgcm49TmVmYXMgcnQ9MTIzNDcwNTg2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzQ3MDU4NjQKKmxhY2gqIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9yZHMtU2Nyb2xsIChaYXBob2IsIDE4LiBNYXIgMjAwOSwgMTI6MTE6MjIpOgpIaSBhbGwsCkljaCB3ZWlzcyBuaWNodCBnZW5hdSwgYW4gd2VuIGljaCBtaWNoIGRhZnVlciB3ZW5kZW4gc29sbCwgYWxzbyBtYWwgaGllciBkaWUKTWVsZHVuZzoKQW5zY2hlaW5lbmQgd2FyIGVzIGlyZ2VuZHdhbm4gdWx0cmFsdXN0aWcsIEdlZ25lciBtaXQgZW5kbG9zZW4gTmFtZW4genUKZXJ6ZXVnZW4sIGFiZXIgZGllc2UgZXJ6ZXVnZW4gYmVpbSBUb2QgbmUgTWVuZ2UgU2Nyb2xsIGF1ZiAtTW9lcmRlciwgZGEgc2llCmZhc3QgbnVyIG5vY2ggZWluIFdvcnQgYWV1c3Nlcm4ga29lbm5lbiwgYmV2b3IgaWhyIGtvbXBsZXR0ZXIgTmFtZSBpbiBkZXIKbmFlY2hzdGVuIFplaWxlIHdpZWRlcmhvbHQgd2VyZGVuIG11c3MuCkJlaXNwaWVsOgogCkZvbGdlbmRlcyBpc3QgYXVmICdNb2VyZGVyJyBwYXNzaWVydDoKW01vZXJkZXI6R2Vpc3QgZWluZXIgSGF1c2hhZWx0ZXJpbiBkZXIgT21hIGRlcyBGcmV1bmRlcyBkZXIgCkdhZXJ0bmVyaW4gZGVyIFNjaHdlc3RlciBkZXIgTmFjaGJhcmluIGRlcyBCcnVkZXJzIGRlcyAKU2Nod2VydG1laXN0ZXJzXSBVbmQgd2llZGVyCltNb2VyZGVyOkdlaXN0IGVpbmVyIEhhdXNoYWVsdGVyaW4gZGVyIE9tYSBkZXMgRnJldW5kZXMgZGVyIApHYWVydG5lcmluIGRlciBTY2h3ZXN0ZXIgZGVyIE5hY2hiYXJpbiBkZXMgQnJ1ZGVycyBkZXMgClNjaHdlcnRtZWlzdGVyc10gZWluCltNb2VyZGVyOkdlaXN0IGVpbmVyIEhhdXNoYWVsdGVyaW4gZGVyIE9tYSBkZXMgRnJldW5kZXMgZGVyIApHYWVydG5lcmluIGRlciBTY2h3ZXN0ZXIgZGVyIE5hY2hiYXJpbiBkZXMgQnJ1ZGVycyBkZXMgClNjaHdlcnRtZWlzdGVyc10gRHJpdHRlbApbTW9lcmRlcjpHZWlzdCBlaW5lciBIYXVzaGFlbHRlcmluIGRlciBPbWEgZGVzIEZyZXVuZGVzIGRlciAKR2FlcnRuZXJpbiBkZXIgU2Nod2VzdGVyIGRlciBOYWNoYmFyaW4gZGVzIEJydWRlcnMgZGVzIApTY2h3ZXJ0bWVpc3RlcnNdIEVyZmFocnVuZwpbTW9lcmRlcjpHZWlzdCBlaW5lciBIYXVzaGFlbHRlcmluIGRlciBPbWEgZGVzIEZyZXVuZGVzIGRlciAKR2FlcnRuZXJpbiBkZXIgU2Nod2VzdGVyIGRlciBOYWNoYmFyaW4gZGVzIEJydWRlcnMgZGVzIApTY2h3ZXJ0bWVpc3RlcnNdIHdlZyB3ZWdlbgpbTW9lcmRlcjpHZWlzdCBlaW5lciBIYXVzaGFlbHRlcmluIGRlciBPbWEgZGVzIEZyZXVuZGVzIGRlciAKR2FlcnRuZXJpbiBkZXIgU2Nod2VzdGVyIGRlciBOYWNoYmFyaW4gZGVzIEJydWRlcnMgZGVzIApTY2h3ZXJ0bWVpc3RlcnNdIEN1dHRlciAuLi4KW01vZXJkZXI6R2Vpc3QgZWluZXIgSGF1c2hhZWx0ZXJpbiBkZXIgT21hIGRlcyBGcmV1bmRlcyBkZXIgCkdhZXJ0bmVyaW4gZGVyIFNjaHdlc3RlciBkZXIgTmFjaGJhcmluIGRlcyBCcnVkZXJzIGRlcyAKU2Nod2VydG1laXN0ZXJzXSA8TWl0LApbTW9lcmRlcjpHZWlzdCBlaW5lciBIYXVzaGFlbHRlcmluIGRlciBPbWEgZGVzIEZyZXVuZGVzIGRlciAKR2FlcnRuZXJpbiBkZXIgU2Nod2VzdGVyIGRlciBOYWNoYmFyaW4gZGVzIEJydWRlcnMgZGVzIApTY2h3ZXJ0bWVpc3RlcnNdIDExOjUyOjQwPgpbTW9lcmRlcjpDdXR0ZXJdIE1vZWdlc3QgRHUgaW4gWWdnZHJhc2lscyBXdXJ6ZWxuIHZlcnJvdHRlbiA8TWl0LCAxMTo1Mjo0Mj4KIApPaCwgaWNoIG11c3MgbWljaCBrb3JyaWdpZXJlbjogRXMgc2luZCBzb2dhciBkcmVpIFplaWxlbiBOYW1lIHBybyBXb3J0IGRlcgpUb2Rlc21lbGR1bmcuLi4geEQKV2FlciBzdXBlciwgd2VubiBkYXMgaXJnZW5kd2llIGV0d2FzIGdlc3RhdWNodCB3ZXJkZW4ga29lbm50ZS4KWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmRzLVNjcm9sbCAoVmVjdG9yLCAxOC4gTWFyIDIwMDksIDEyOjE0OjAyKToKfiMhIHJuPVphcGhvYiBydD0xMjM3Mzc0NjgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzNzM3NDY4MgotTS0gdW5kIGVzIGlzdCBnZXN0YXVjaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vcmRzLVNjcm9sbCAoWmFwaG9iLCAxOC4gTWFyIDIwMDksIDEyOjI0OjMyKToKfiMhIHJuPVZlY3RvciBydD0xMjM3Mzc0ODQyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzNzM3NDY4MgpKYSwgZGFzIGdlaHQsIGFiZXIgZGFzIGZpbmRlIGljaCBlaW5lIFpVIHJhZGlrYWxlIExvZXN1bmcuLi4gOykKSWNoIGdsYXViZSBlcyB3dXJkZSBhdWNoIG1hbCBlaW5lIEVpbnN0ZWxsdW5nIGlyZ2VuZHdvIGhpbnRlcmxlZ3QsIGRhc3MgZGVyCk5hbWUgZGVzIFNwcmVjaGVuZGVuIG5pY2h0IGRhdWVybmQgd2llZGVyaG9sdCB3aXJkLCBhYmVyIHdlaXNzIG5pY2h0LCBvYiBkYXMKYXVjaCBmdWVyIGRpZSBFYmVuZW4gZnVua3Rpb25pZXJ0LiBWaWVsbGVpY2h0IGtlbm50IHNpY2ggZWluIEJsaW5kZXIgZGEgYXVzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9yZHMtU2Nyb2xsIChWZWN0b3IsIDE4LiBNYXIgMjAwOSwgMTI6MjY6MjkpOgp+IyEgcm49WmFwaG9iIHJ0PTEyMzczNzU0NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3Mzc0NjgyCmhpbGZlIHNlbmRlcndpZWRlcmhvbHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTW9yZHMtU2Nyb2xsIChaYXBob2IsIDE4LiBNYXIgMjAwOSwgMTM6MDQ6MzkpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMzczNzU1ODkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3Mzc0NjgyCllvcCwgaXMgbnVyIGZ1ZXIgdGVpbGUtbWl0cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1vcmRzLVNjcm9sbCAoWmFwaG9iLCAxOC4gTWFyIDIwMDksIDEzOjIyOjA1KToKfiMhIHJuPVphcGhvYiBydD0xMjM3Mzc3ODc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzNzM3NDY4MgpIdWNoLCBrYW5uIG1hbiBoaWVyIGVpZ2VuZSBCZWl0cmFlZ2UgbmljaHQgZWRpdGllcmVuPwpBbHNvIHdpZSBWZWN0b3IgbWljaCBmcmV1bGljaGVyd2Vpc2UgenVyZWNodGdlc3R1cHN0IGhhdCwgZnVuenQKInNlbmRlcndpZWRlcmhvbHVuZyBhdXMiIGFuc2NoZWluZW5kIGF1Y2ggZnVlciBFYmVuZW4uIEp1Y2h1IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTW9yZHMtU2Nyb2xsIChBcmF0aG9ybiwgMTguIE1hciAyMDA5LCAxODo1MjoyOCk6Cn4jISBybj1aYXBob2IgcnQ9MTIzNzM3ODkyNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzczNzQ2ODIKTmVpbiwgZWluZSBFZGl0LUZ1bmt0aW9uIGhhdCBkaWUgTVBBIGxlaWRlcig/KSBuaWNodC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNb3Jkcy1TY3JvbGwgKFplc3N0cmEsIDE4LiBNYXIgMjAwOSwgMTg6NTU6MzMpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTIzNzM5ODc0OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzczNzQ2ODIKSWNoIHd1ZXJkZSBlaGVyIHNhZ2VuICd6dW0gR2x1ZWNrJywgd2VpbCBuaWVtYW5kIGFsdGUgQXJ0aWtlbCBub2NobWFsIGxpZXN0LAp3ZW5uIG1hbiB2b24gd2VuaWdlbiBBdXNuYWhtZWZhZWxsZW4gYWJzaWVodC4gRC5oLiBtYW4gbXVlc3N0ZSBlZGl0aWVydGUKQXJ0aWtlbCBhbHMgJ25ldScga2VubnplaWNobmVuLiBVbmQgZGFubiBrYW5uIG1hbiBhdWNoIGdsZWljaCBkZW4gYWx0ZW4KbG9lc2NoZW4gdW5kIG5ldXNjaHJlaWJlbiBvZGVyIGVpbmZhY2ggbnVyIG5lbiBuZXVlbiBzY2hyZWliZW4sIHdlbm4gZWluZW0gZGVyCmFsdGUgbmljaHQgcGVpbmxpY2ggaXN0LiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwb2lsZXJlaSAoS2Vzc2EsIDIwLiBNYXIgMjAwOSwgMTA6NDM6MDcpOgpJbiBsZXR6dGVyIFplaXQgd2lyZCBoaWVyIHdpZWRlciB6aWVtbGljaCB2aWVsIGdlc3BvaWxlcnQuIE1hbCB6d2VpIEJlaXNwaWVsZToKCkJlaXNwaWVsIDE6IFNwaWVsZXIgQSBmcmFndCBhdWYgZGVyIEViZW5lLCB3byBRdWVzdC1OUEMgWHp1IGZpbmRlbiBpc3QuIEVpbmUKYW5kZXJlIFNwaWVsZXJpbiB0aXBwdCBub2NoIGFuIGVpbmVyIEFudHdvcnQsIGRpZSBlaW5lbiBoaWxmcmVpY2hlbiBUaXAKZW50aGFlbHQsIGRhIGZhZWxsdCBhdWYgLU1vZXJkZXIgYXVjaCBzY2hvbiBkZXIgQmxvY2tlci1OUEMgYXVmIGRlbSBXZWcgenUgWC4KCkJlaXNwaWVsIDI6IFNwaWVsZXJpbiBCIHN0ZWh0IGluIEdyb2JsYXonIEh1ZXR0ZSB1bmQgZnJhZ3QgTml0a2VnIG5hY2ggZGVtCkZyb3NjaC4gU3BpZWxlciBDIG5lYmVuIGlociAodW5nZWJldGVuKTogIkljaCBrYW5uIGRpciBoZWxmZW4sIGljaCB3ZWlzcywgd28KZGllIEZpZ3VyIHZlcnN0ZWNrdCBpc3QuIiBTaWUga2FubiBpaG4gZ2VyYWRlIG5vY2ggc3RvcHBlbi4KCkltIEZhbGwgMSAodW5kIGFlaG5saWNoZW4gRmFlbGxlbikgaXN0IEEgbmljaHQgd2lya2xpY2ggZ2Vob2xmZW4sIGltCkdlZ2VudGVpbC4gRXIgYmxlaWJ0IHNvIHVuc2VsYnN0YWVuZGlnLCB3aWUgZXIgaXN0LCB1bmQgYnJhdWNodCB3ZWl0ZXJoaW4gZnVlcgpqZWRlIEtsZWluaWdrZWl0IGplbWFuZCwgZGVyIGlobiBhbnMgSGFlbmRjaGVuIG5pbW10LgoKSW0gRmFsbCAyIHdhZXJlIGplbWFuZCBzY2hsaWNodCB1bmQgZWluZmFjaCBkaWUgRnJldWRlIGFtIFNlbGJlci1SYXVzZmluZGVuCnZlcmRvcmJlbiB3b3JkZW4sIHdlbm4gZGllICJIaWxmZSIgZHVyY2hnZWtvbW1lbiB3YWVyZS4KCkRpZSBIaWxmc2FuZ2Vib3RlIHNpbmQgc2ljaGVyIG5ldHQgZ2VtZWludCwgYWJlciBpY2ggbW9lY2h0ZSBkaWUsIGRpZSBhdWYKZGllc2UgV2Vpc2UgaGVsZmVuLCBiaXR0ZW4sIHNpY2ggbWFsIHp1IHVlYmVybGVnZW4sIG9iIGlociBuaWNodCBhdWNoIG1pdAplaW5lbSBndXRlbiwgc2lubnZvbGxlbiBUaXAgd2VpdGVyaGVsZmVuIGtvZW5uZW4uIFNvLCBkYXNzIGFuZGVyZSBkYXMKRW50c2NoZWlkZW5kZSBzZWxiZXIgcmF1c2ZpbmRlbiBrYW5uLiBFaW4gd2lya2xpY2ggZ3V0ZXIgVGlwIGlzdCBtZWlzdApzY2h3aWVyaWdlciB6dSBnZWJlbiBhbHMgZWluZSBkaXJla3RlIEtvbXBsZXR0bG9lc3VuZyBkZXMgUHJvYmxlbXMsIGFiZXIgYWxsZQpoYWJlbiBtZWhyIGRhdm9uLgoKR3J1c3MsIEtlc3NhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BvaWxlcmVpIChWZWN0b3IsIDIxLiBNYXIgMjAwOSwgMTk6NDA6MTUpOgp+IyEgcm49S2Vzc2EgcnQ9MTIzNzU0MjE4NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzc1NDIxODcKc2VsYmlnZXMgZ2lsdCBmdWVyIG1hZ2llciBkaWUgImF1c2Vyd2FlaGx0ZW4iIGxpZWJsaW5nc3NwaWVsZXJuCmtvbXBsZXR0ZSBnZWJpZXRlIHNwb2lsZXJuLCBvZGVyIG1pdCBtYWdpZXJ3aXNzZW4gaW0gZGF1ZXJsYXVmCmR1cmNoc2NobGV1c2VuLgpzZWxiaWdlcyBwcm9ibGVtIGF1Y2ggYmVpIHRlc3RzcGllbGVybiwgZGllIGFuIGlociBmYmFuZAptYWwga3VyeiBkYXMgZ2ViaWV0IHdlaXRlcmdlYmVuLCBkYSBzb2xsdGUgbWFuIGViZW5zbwphbnNldHplbi4KYWxzbyBhdWNoIHdlbm4gZGllIHNwb2lsZXJlaSBpbiBkZXIgdGF0IGVpbiBwcm9ibGVtIHNlaW4KbWFnIChhbGxlcmRpbmdzIGVpbmVzIGRhcyBzbyBhbHQgaXN0IHdpZSBkYXMgbXVkIHNlbGJlcikKZGFubiB3YWVyZSBkb2NoIGdyYWRlIGhpZXIgZWluIGJpc3NjaGVuIHdlbmlnZXIgZmluZ2VyLQp6ZWlnZXJlaSBhbmdlYnJhY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwb2lsZXJlaSAoS2Vzc2EsIDIxLiBNYXIgMjAwOSwgMjM6MjU6NDApOgp+IyEgcm49VmVjdG9yIHJ0PTEyMzc2NjA4MTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3NTQyMTg3Ck1hZ2llcndpc3NlbiB3ZWl0ZXJyZWljaGVuIGlzdCBlaW5mYWNoIHZlcmJvdGVuLCBQdW5rdCwgZGFmdWVyIG11c3MgbWFuIG5pY2h0cwppbiBkaWUgTVBBIHNjaHJlaWJlbi4gRGFzIGlzdCBlaW4gYW5kZXJlcyBUaGVtYSwgZmluZGUgaWNoLiBNaXIgZ2VodCBlcyBpbQpNb21lbnQgdW0gU3BpZWxlcndpc3NlbiwgdW5kIGRhIHVtIGRpZSBicmVpdGUgR3JhdXpvbmUgendpc2NoZW4gSGVsZmVuIHVuZApLTC1WZXJ0ZWlsZW4sIHdvIG5pY2h0IGFsbGVzIHNvIGdhbnoga2xhciB2ZXJib3RlbiBpc3QgdW5kIHdvIGRhcnVtIHVtc28gbWVocgpldHdhcyBnZXN1bmRlciBNZW5zY2hlbnZlcnN0YW5kIGFuZ2VicmFjaHQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BvaWxlcmVpIChIZXJtaW9kLCAyNC4gTWFyIDIwMDksIDIwOjUwOjQ5KToKfiMhIHJuPUtlc3NhIHJ0PTEyMzc2NzQzNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3NTQyMTg3CkljaCBtb2VjaHRlIGhpZXIgYXVmICJoaWxmZSBjaWNlcm9uZXMiIHZlcndlaXNlbiB1bmQgYW5tZXJrZW4sIGRhc3MgZGllCnF1aW50ZXNzZW56IGF1Y2ggZnVlciBhbGxlIHJlc3RsaWNoZW4gaGVsZmVybGllcyBnaWx0IChOdXIgd2VpbCBtYW4gc2ljaCBuaWNodApvZmZpemllbGwgdmVycGZsaWNodGV0IGhhdCwgaXN0IGRpZXNlIG5pY2h0IGF1ZmdlaG9iZW4hKS4KTWl0IGJlbXVlaHVuZyBqZWRvY2ggYXVjaCBnZWxlZ2VudGxpY2hlbiBBdXNydXRzY2hlcm4gKHNvcnJ5KQpIZXJtaW9kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBYnN0dWZ1bmcgR3JpbW1ib3JuIChPcmt0b2V0ZXIsIDMxLiBNYXIgMjAwOSwgMjA6MTc6MTApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEyMzg1MjMxODkgcmc9cG9saXplaS5iZXNjaHdlcmRlbgp+IyEgdGlkPTEyMzcyODAyNTYKWmVuc3VyIGlzdCBlaW5lIFNhY2hlLCBHZEEgaGF0IEFydGlrZWwgKGF1c3NlciB2b24gR2Flc3RlbikgbmljaHQgZ2Vsb2VzY2h0LApzb25kZXJuIGluIGRpZSBwYXNzZW5kZW4gUnVicmlrZW4gdmVyc2Nob2Jlbi4KCldvenUgZ2lidCBlcyB2ZXJzY2hpZWRlbmUgUnVicmlrZW4sIHdlbm4gc2llIG5pY2h0IGdlbnV0enQgd2VyZGVuPyBCZXN0ZXMKQmVpc3BpZWwgdHJlZmZlbiB1bmQgdHJlZmZlbi5hbmt1ZW5kaWd1bmcgLi4uIGxldHp0ZXJzIGthbSwgd2VpbCBlaW5pZ2UgTGV1dGUKZXMgc28gd29sbHRlbiwgZGFzcyBlaW5lIEVpbmxhZHVuZyB6dSBlaW5lbSBUcmVmZmVuIHNjaG5lbGwgYXVmZmluZGJhciBzZWluCnNvbGx0ZSB1bmQgbmljaHQgaW4gZWluZW0gV3VzdCB2b24gUmVwbHlzIHVudGVyZ2VodC4gV2VubiBtYW4gaGluIHVuZCB3aWVkZXIKaW4gZGllIG1wYSBzY2hhdXQsIHNvIGdpYnQgZXMgbWVociBhbHMgZ2VudWcgQmVpc3BpZWxlIHdvIGluCnRyZWZmZW4uYW5rdWVuZGlndW5nIGZyb2VobGljaCByZXBseXMgZ2VzY2hyaWViZW4gd3VyZGVuLgoKV2lsbGt1ZXIgaGluLCBXaWxsa3VlciBoZXIsIGljaCBmYW5kcyBPSywgZGFzIEdkQSB2ZXJzY2hvYmVuIGhhdCwgd2FzCnZlcnNjaG9iZW4gZ2Vob2VydC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBYnN0dWZ1bmcgR3JpbW1ib3JuIChBbWFyeWxsaXMsIDMxLiBNYXIgMjAwOSwgMjA6MjE6NTMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMzg1MjM0MzAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3MjgwMjU2CkZhbHNjaC4gTWlyIHNpbmQgbWVocmVyZSBGYWVsbGUgdm9uIExvZXNjaHVuZ2VuIGF1Y2ggdm9uIE5pY2h0LUdhZXN0ZW4KRmFsc2NoLiBNaXIgc2luZCBtZWhyZXIgRmFlbGxlIHZvbiBMb2VzY2h1bmdlbiB2b24gQXJ0aWtlbG4gYXVjaCB2b24KTmljaHQtR2Flc3RlbiBiZWthbm50IC0gZWlubWFsIHdhciBzb2dhciBlaW4geHRpZSB2b24gbWlyIGJldHJvZmZlbi4gRGFzIGlzdApXaWxsa3VlciB1bmQgWmVuc3VyLiBXZW5uLCBkYW5uIHNvbGx0ZSBqZW1hbmQgdm9tIEFkbWluLVN0YWZmIChFKykgaW4KYmVncnVlbmRldGVuIEZhZWxsZW4gQXJ0aWtlbCBsb2VzY2hlbiBkdWVyZmVuLCBhYmVyIHNvbnN0IG5pZW1hbmQuCgpJY2ggdmVyZ2xlaWNoZSBkYXMgYXVjaCBnZXJuZSBtaXQgZGVtIFVzZW5ldCAtIHp1bWluZGVzdCBnaWJ0IGVzIGluIGRlbgp1bm1vZGVyaWVydGVuIEdydXBwZW4ga2VpbmUgTG9lc2NodW5nIChiencuIGVpbiBGcmVtZGNhbmNlbCB3aXJkIGVudHNwcmVjaGVuCmdlYWhuZGV0KS4gRXMgd2lyZCBob2VjaHRlbnMgbWFsIGVpbiBmdXAgaW4gZWluZSBwYXNzZW5kZXJlIEdydXBwZSBnZXNldHp0LgpBYmVyIGRlciBBcnRpa2VsIGJsZWlidCwgd28gZXIgaXN0LgoKSWNoIHdvbGx0ZSBhYmVyIG1pdCBtZWluZXIgQW50d29ydCBudW4gaGllciBrZWluZW4gUmllc2VudGhyZWFkIHByb3ZvemllcmVuLApkZXNoYWxiIEVPRCBmdWVyIG1pY2guCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBYnN0dWZ1bmcgR3JpbW1ib3JuIChaZXNzdHJhLCAzMS4gTWFyIDIwMDksIDIwOjMxOjM1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjM4NTIzNDMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTIzNzI4MDI1NgpXZW5uIEdyaW1tYm9ybiBlaW5lbiBBcnRpa2VsIChkZXIga2VpbmUgYmVrYW5udG1hY2h1bmcgaXN0KSB2b24KdHJlZmZlbi5iZWthbm50bWFjaHVuZ2VuIG5hY2ggdHJlZmZlbiB2ZXJsZWd0LCBmaW5kZW4gZGFzIHZlcm11dGxpY2ggbmljaHQKdmllbGUgTGV1dGUgYW5zdG9lc3NpZy4gRXIgaGF0IGFiZXIgYXVjaCBBa3Rpb25lbiBnZWJyYWNodCwgZGllIGljaApwZXJzb2VubGljaCBmdWVyIHNlaHIgdW5mZWluIGhhbHRlLiBCZWlzcGllbDogUnVicmlrOiBhbGxnZW1laW4sIFRpdGVsOiBicmllZiwKdm9tIDkuNi4yMDAwLgpCVFc6IFdhcnVtIHNvbGwgbWFuIEFydGlrZWwgdm9uIEdhZXN0ZW4gcGVyIHNlIGxvZXNjaGVuLCBzb2Zlcm4gZGllc2UKdmVybnVlbmZ0aWcgZ2VzY2hyaWViZW4sIG5pY2h0IGJlbGVpZGlnZW5kIGV0Yy5wcC4gc2luZD8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFic3R1ZnVuZyBHcmltbWJvcm4gKEFuYXRvbCwgMzEuIE1hciAyMDA5LCAyMToxNToyMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMzg1MjQyOTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3MjgwMjU2CgpJY2ggc2NobGllc3NlIG1pY2ggaGluc2ljaHRsaWNoIERlaW5lcyBrbmFwcCBuZXVuIEphaHJlIGFsdGVuIEJlaXNwaWVscwpCb2luZ3MgQWV1c3NlcnVuZyBhbiwgWmVzc3RyYS4gV2FnZSB6dWRlbSBkaWUgQmVoYXVwdHVuZywgZGFzcyBQb3N0aW5ncwpkaWVzZXMgQWx0ZXJzIG5pY2h0cyB1ZWJlciBkYXMgYWt0dWVsbGUgVmVyaGFsdGVuIGVpbmVyIFBlcnNvbiBhdXNzYWdlbi4KVW50ZXJzdGVsbGUgRGlyIHVuZCBEZWluZW4gS29sbGVnZW4sIGRhc3MgaWhyIGltIGp1ZW5nc3QgZ2V0cm9mZmVuZW4KQmVzY2hsdXNzIGF1Y2ggbmljaHQgdWViZXIgR3JpbW1ib3JucyBNUEEtUGZsZWdlLVF1YWxpdGFldGVuIGdldXJ0ZWlsdCAKaGFidC4KCkljaCB1bnRlcnN0ZWxsZSBldWNoIGF1c2RydWVja2xpY2ggbmljaHQsIGRhc3MgaWhyIGVpbmUgRmVobGVudHNjaGVpZHVuZwpnZXRyb2ZmZW4gaGFidC4gQWJlciBhdXMgInNjaG1hcnJuIiBlaW5lIERpc2t1c3Npb24gaGVyYXVmenViZXNjaHdvZXJlbiwgCndhcyBpc3QgZGFzPyBOYWNodHJldGVuPwoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQWJzdHVmdW5nIEdyaW1tYm9ybiAoWmVzc3RyYSwgMzEuIE1hciAyMDA5LCAyMTo1MDoxOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTIzODUyNjkyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyMzcyODAyNTYKSmEsIGRpZSBBbmdlbGVnZW5oZWl0IGhhdCBuaWNodHMgbWl0IEdyaW1tYm9ybnMgTVBBLVRhZXRpZ2tlaXQgenUgdHVuIGdlaGFidC4KSWNoIGhhYmUgYXVjaCBrZWluZSB1bm51ZXR6ZSBEaXNrdXNzaW9uIGFuZmFuZ2VuIHdvbGxlbiwgYWJlciBPcmt0b2V0ZXJzCk1laW51bmcsIGRhc3MgR3JpbW1ib3JuIG51ciBHYWVzdGUtQXJ0aWtlbCBnZWxvZXNjaHQgdW5kIEFydGlrZWwgaW4gZGllCnJpY2h0aWdlbiBSdWJyaWtlbiB2ZXJzY2hvYmVuIGhhdCwgaXN0IGZhbHNjaC4gSWNoIGhhZXR0ZSB2ZXJtdXRsaWNoIGJlc3NlcgpkYXp1IHNjaHJlaWJlbiBzb2xsZW4sIGRhc3MgbWVpbiBBcnRpa2VsIG51ciBlaW5lIHBlcnNvZW5saWNoZSBBdXNzYWdlIHVuZAprZWluIFN0YXRlbWVudCBkZXIgRU0tU2NoYWZ0IHdhci4KRGFydWViZXJoaW5hdXMgZ2ViZSBpY2ggRGlyIGFiZXIgcmVjaHQgdW5kIHdlcmRlIGluIGRpZXNlbSBUaHJlYWQgYXVjaCBuaXgKbWVociBzY2hyZWliZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBYnN0dWZ1bmcgR3JpbW1ib3JuIChDcm9mdCwgIDEuIEFwciAyMDA5LCAwOToxNToyMik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMzg1MjkwMTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjM3MjgwMjU2CkdhZXN0ZSBBcnRpa2VsIGthbm4gZG9jaCBqZWRlciBsb2VzY2hlbiwgb2Rlcj8gIEVpbmZhY2ggbmVuIHBhc3NlbmRlbgpHYXN0IG1hY2hlbiB1bmQgbG9zIGdlaHRzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlIE9zdGVybiEgKEh1bW5pLCAxMi4gQXByIDIwMDksIDAyOjM5OjMyKToKSmEsIGljaCBiaW4genUgc3BhZXQuIEVzIGhhdCBhdWNoIG5vY2ggZWluIHdlbmlnIGdlZGF1ZXJ0LiBVbmQgaWNoIHdhcgplaW5mYWxsc2xvcyAtIG5laW4sIGdlbmF1ZXIsIGljaCBoYXR0ZSBrZWluZSBaZWl0LiBJbW1lcmhpbiBoYWJlbiB3aXIgYWJlciBpbQpNRyBuaWNodCBkaWUgQXJyb2dhbnogdm9uIGFuZGVyZW4gT25saW5lc3BpZWxlbiB1bmQgdmVyc2NoaWViZW4gbWFsIGViZW4KT3N0ZXJuLgoKU3ByaWNoOiBEZXIgT3N0ZXJoYXNlIGlzdCBzZWl0IGt1cnplbSB3aWVkZXIgYW4gZ2V3b2hudGVyIFN0ZWxsZSBpbiBQb3J0IFZhaW4KenUgZmluZGVuLiBFciB3aXJkIGJpcyBNb250YWcgZGFibGVpYmVuLiBTdWNodCB1bmQgZmluZGV0IEV1cmUgRWllci4gRGllc2VzCmphaHIgaGFiZW4gTGV1dGUsIGRpZSBzY2hvbiBpbiBkZW4gdmVyZ2FuZ2VuZW5lbiBKYWhyZW4gZmxlaXNzaWcgd2FyZW4sIGVpbmVuClZvcnRlaWwgLSBhYmVyIGRhcyBsYWVzc3Qgc2ljaCBnZXJhZGUgbnVyIHNjaHdlciBhZW5kZXJuIHVuZCB3dWVyZGUgdmVybXV0bGljaApkYXp1IGZ1ZWhyZW4sIGRhc3MgZGFzIHVlYmVyIE9zdGVybiBuaWNodCBtZWhyIGZlcnRpZyB3dWVyZGUuCgpIdW1uaSwgd3VlbnNjaHQgdmllbCBTcGFzcyBiZWltIFN1Y2hlbiB1bmQgbmltbXQgYXVjaCBCdWdyZXBvcnRzIGVudGdlZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlbWVucGFyayBXZWx0ZW50b3IgYmVpIEdlcmEgKEJyZXdlciwgMTEuIE1haSAyMDA5LCAxOToyNToxNyk6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkdhbnogaW4gbWVpbmVyIE5hZWhlIGVyb2VmZm5ldCBiYWxkIGVpbiBGYW50YXN5LVRoZW1lbnBhcmssIGRlc3dlZ2VuCm1vZWNodGUgaWNoIGRlbiBFdWNoIGhpZXIgbWFsIHNjaG1hY2toYWZ0IG1hY2hlbiA6bykKCkF1ZiBlaW5lbSB0ZWlsIGRlcyBHZWxhZW5kZXMgZGVyIEJVR0EgMjAwNyBpbiBHZXJhL1Jvbm5lYnVyZyBoYXQgc2ljaAppbiBkZW4gbGV0enRlbiAxOCBNb25hdGVuIHZpZWwgZ2V0YW4uIFp3aXNjaGVuIGRlbiB2aWVsZW4gQmx1bWVuCmVudHN0YW5kIGVpbiByaWVzaWdlciBGYW50YXN5cGFyayAoY2EuIDIwIGhhIGdyb3NzKSBtaXQgZWluZXIgQnVyZwppbmtsdXNpdmUgcmljaHRpZ2VyIFp1Z2JydWVja2UsIGRlZnRpZ2UgU2NoYWVua2VuLCBFbGJlbnNjaG1pZWRlbiwKZWluZXIgQXJlbmEsIFNwaWVsdW5rZW4gdW5kIHVuZCB1bmQuLi4gc28gemllbWxpY2ggYWxsZXMgd2FzIGRhcwpSUC1IZXJ6IGJlZ2VocnQuCkRpZXNlIG1pdHRlbGFsdGVybGljaGUgS3VsaXNzZSB3aXJkIHZvbiBwYXNzZW5kIGJla2xlaWRldGVuCkxldXRlbiAiYmV3b2hudCIuIEplZGVyIGlzdCByZWNodCBoZXJ6bGljaCBkYXp1IGVpbmdlbGFkZW4gc2VsYnN0IG1pdApSUCB6dSBiZXRyZWliZW4uIERhenUga2FubiBtYW4gc2VpbmUgZWlnZW5lIFJQLUtsZWlkdW5nIG1pdGJyaW5nZW4Kb2RlciBzaWNoIHZvciBPcnQgZ2VnZW4gZWluZSBMZWloZ2VidWVociBlaW5rbGVpZGVuIGxhc3Nlbi4KWnVkZW0gd2VyZGVuIFR1cm5pZXJlIHVuZCBkaXZlcnNlIFNwaWVsZSB2ZXJhbnN0YWx0ZXQsCm1hbiBrYW5uIHNpY2ggdWViZXIgdmVyc2NoaWVkZW5lIEhhbmR3ZXJrZSAoQm9nZW5iYXUsIFNjaHdlcnRzY2htaWVkZW4sCkJ1cmdlbmJhdSwgLi4uKSBpbmZvcm1pZXJlbiwgU2NoYWV0emUgc3VjaGVuIChtaXQgU2NoYXR6a2FydGUgZnVlcgpkaWUgZ2FueiBLbGVpbmVuIHVuZCBkaWUgSnVuZ2dlYmxpZWJlbmVuIDpvKSB1bmQgbm9jaCB2aWVsZXMgbWVoci4KClp1ciBaZWl0IGlzdCBkZXIgUGFyayBpbiBkZXIgVm9yc2Fpc29uLCBkLmguIGVzIHNpbmQgbm9jaCBuaWNodCBhbGxlCkF0dHJha3Rpb25lbiBnZW9lZmZuZXQgKHdlaWwgbm9jaCBlaW5pZ2UgZGVuIGxldHp0ZW4gRmVpbnNjaGxpZmYKYmVrb21tZW4pLCB0cm90emRlbSBiZWtvbW10IG1hbiBzY2hvbiBlaW5lIE1lbmdlIGdlYm90ZW4uCgpIaWVyIGRhcyBXaWNodGlnc3RlLi4uCgpIb21lcGFnZTogaHR0cDovL3d3dy50aGVtZW5wYXJrLXdlbHRlbnRvci5jb20vCldvOiBSb25uZWJ1cmcgKE9zdHRodWVyaW5nZW4pCldhbm46IEdyb3NzZSBFcm9lZmZudW5nIGFtIDMuIGJpcyA1LiBKdWxpIC0gYmlzIGRhaGluIGxhZXVmdCBkaWUKICAgICAgVm9yc2Fpc29uCkVpbnRyaXR0OiBjYS4gMjAgRXVybyAtIEFiZW5ka2FydGUgY2EuIDEwIEV1cm8KCgpTY2hhdXQgZWluZmFjaCBtYWwgYXVmIGRpZSBIb21lcGFnZSwgZGEgc3RlaGVuIG5vY2ggbWVociBJbmZvcy4KRGEgaWNoIG51ciAyNSBrbSBlbnRmZXJudCB3b2huZSB1bmQgZGllIEJVR0Egc2Nob24gdG9sbCB6dW0KQW5zY2hhdWVuIHdhciwga2FubiBkZXIgUGFyayBqYSBudXIgbm9jaCBiZXNzZXIgc2Vpbi4KSWNoIGRlbmtlIG1hbCwgZGFzcyBpY2ggaW0gU29tbWVyIGRvcnQgdm9yYmVpc2NoYXVlIHVuZCBkYW5uCmJla29tbXQgaWhyIG1laW5lIEVpbmRydWVja2UgaGllciBzaWNoZXJsaWNoIHp1IGxlc2VuLgoKCk1mRyBCcmV3ZXIKClBTOiBBdWYgZGVuIGdyb3NzZW4gVHJvbGxrZXNzZWwgZnJldSBpY2ggbWljaCBhbSBtZWlzdGVuLiAqbGVja2VyKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmxpbmRlbmZ1c3NiYWxsIERlbW9uc3RyYXRpb25zc3BpZWwgaW4gRG9ydG11bmQgKFh1dGVsaXVzLCAgMi4gSnVuIDIwMDksIDIwOjIyOjE5KToKRXR3YXMgV2VyYnVuZyBpbiBlaWdlbmVyIFNhY2hlLiA7LSkKCkJsaW5kZW5mdXNzYmFsbCBiYXV0IEJydWVja2VuCgpWaWt0b3JpYSB6dSBHYXN0IGJlaSBkZW4gU29ubmVua29lbmlnZW4KCkRlciBJU0MgVmlrdG9yaWEgRG9ydG11bmQtS2lyY2hkZXJuZSBlLiBWLiB3aXJkIGRpZSBWZXJhbnN0YWx0dW5nZW4gYW0KU2VoYmVoaW5kZXJ0ZW50YWcsIGRlbSA2LiBKdW5pIDIwMDksCnVtIGVpbmVuIHNwb3J0bGljaGVuIEhvZWhlcHVua3QgYmVyZWljaGVybi4gQWxzIEdhc3QgZGVzIEJWQi1GYW5jbHVicwpTb25uZW5rb2VuaWdlIDkzIHdlcmRlbiBkaWUgQnVuZGVzbGlnYQpLaWNrZXIgZWluIERlbW9uc3RyYXRpb25zc3BpZWwgZHVyY2hmdWVocmVuLiBTY2hhdXBsYXR6IGRlciBWZXJhbnN0YWx0dW5nIGlzdApkYXMgRnVzc2JhbGx0dXJuaWVyIGRlciBTb25uZW5rb2VuaWdlCmluIGRlciBTcG9ydGhhbGxlIGFuIGRlciBLcmV1enN0cmFzc2UgMTYxLiBad2lzY2hlbiAxMy4wMCB1bmQgMTQuMDAgVWhyIGlzdApuZWJlbiBkZW0gRGVtb3NwaWVsIHNpY2hlciBhdWNoIFplaXQKZnVlciBkaWUgWnVzY2hhdWVyLCBzZWxic3QgZWlubWFsIHVudGVyIGRlciBEdW5rZWxicmlsbGUgZ2VnZW4gZGFzIHJhc3NlbG5kZQpMZWRlciB6dSB0cmV0ZW4uIEludGVyZXNzaWVydGUgc2luZCBoZXJ6bGljaCBlaW5nZWxhZGVuLCBiZWkgZGllc2VtIFRyZWZmZW4Kc2VoZW5kZXIgdW5kIGJsaW5kZXIgRnVzc2JhbGxlciBkYWJlaSB6dSBzZWluLgoKV2VyIHNpY2ggbmljaCB2b3JzdGVsbGVuIGthbm4gd2llIGRhcyBnZWhlbiBzb2xsIGd1Y2t0IGRvY2ggbWFsIHVudGVyOgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0JsaW5kZW5mdXNzYmFsbAoKWHV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcG9zdGZhY2ggOikgKFpvb2ssIDE3LiBKdW4gMjAwOSwgMTc6NTM6NDQpOgp+IyEgcm49SGVybWlvZCBydD0xMjQ1MjUyMjM0IHJnPXNjaG1hcnJuCn4jISB0aWQ9MTI0NDczOTUxNwpEYSBlcyBiZWkgZGVyIFVtc2V0enVuZyBkZXIgVm9ycmF0c2RhdGVuc3BlaWNoZXJ1bmcgdW5kIGltIEhpbmJsaWNrCmF1ZiBkaWUgS29zdGVudWViZXJuYWhtZSBkZXIgVGVsZWRpZW5zdGFuYmlldGVyIHJlY2h0bGljaGUgdW5kCnRlY2huaXNjaGUgVW5zaWNoZXJoZWl0ZW4gZ2lidCAoc2llaGUgVXJ0ZWlsIGRlcyBWZXJ3YWx0dW5nc2dlcmljaHRzCkJlcmxpbiwgQmVzY2hsdXNzIHYuIDE1LjAxLjIwMDksIFZHIEEgMzE2LjA4KSBoYWJlbiB3aXIgYmlzIHp1cgpLbGFlcnVuZyBkZXIgZ2FuemVuIEFrdGlvbiBub2NoIG5pY2h0cyB1bnRlcm5vbW1lbi4gRXMgd2lyZCBhbHNvIApuYWNoIHdpZSB2b3IgbmljaHRzIHVudGVyZHJ1ZWNrdCB1bmQgYXVjaCBuaWNodHMgZ2VzcGVpY2hlcnQuIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFrdGlvbiBBbHRlIFNhZWNrZSAoTWVzaXJpaSwgMjcuIEp1bCAyMDA5LCAxNzoyOTo1Nik6Ck1pdCBkZW0gQXVmdGF1Y2hlbiB2b24gU3Ryb2hhbG0gaXN0IG1pciB3aWVkZXIgbWFsIGJld3Vzc3QgZ2V3b3JkZW4sIHdpZSBzZWhyCmljaCBkb2NoIGRpZSBhbHRlbiBTYWVja2UgdmVybWlzc2UuCkRhaGVyIG1vZWNodGUgaWNoIGZvbGdlbmRlIEFrdGlvbiBzdGFydGVuOgoKSmVkZXIgZGVua3QgYW4gZWluIHBhYXIgTWl0bXVkZGVyLCBkaWUgc2Nob24gZWluaWdlIFplaXQgbmljaHQgbWVociBoaWVyCmdld2VzZW4gc2luZCB1bmQgZGllIGVyL3NpZSBkb2xsIHZlcm1pc3N0LiBEYW5uIHZlcnN1Y2h0IGlociBlaW5lIFJMLU1haWwgdm9uCmRlbmVuIHJhdXN6dWtyaWVnZW4gKGZpbmdlciwgbWFnaWVyIGZyYWdlbiwgZ29vZ2xlKSB1bmQgc2NocmVpYnQgaWhuZW4gZWluZQpuZXR0ZSBNYWlsLCBpbiBkZXIgaWhyIHZlcnN1Y2h0LCBzaWUgZGF6dSB6dSBiZWtvbW1lbiwgd2llZGVyIG1hbCBpbnMgTUcgenUKc2NoYXVlbi4KCk1lc2ksIG1hY2h0IG1hbCBkZW4gQW5mYW5nIG1pdCBEb3R6LCBNb2d1ciB1bmQgRGVyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBa3Rpb24gQWx0ZSBTYWVja2UgKE1lc2lyaWksIDI3LiBKdWwgMjAwOSwgMTc6MzE6MTYpOgp+IyEgcm49TWVzaXJpaSBydD0xMjQ4NzA4NTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI0ODcwODU5NgpWZXJnZXNzdCBuaWNodCBkaWUgTUctYmFzaWVydGUgU2lnbmF0dXIgLSBJZGVlbiBoaWVyOgpodHRwOi8vd2lraS5tb3JnZW5ncmF1ZW4uaW5mby9pbmRleC5waHA/bj1Nb3JnZW5HcmF1ZW4uU2lnbmF0dXJlbgpCZWlzcGllbDoKbWVzaXJpaUBjaGFvc2dpbGRlOn4+IHRlbG5ldCBtZy5tdWQuZGUKTW9yZ2VuZ3JhdWVuOiAgIGVpbmUgV2VsdCwgMTUwMDAgUmFldW1lLCAxMyBSZWdpb25lbiwgNzkgQWJlbnRldWVyLCA4IEdpbGRlbiwKMjAwMCBFcnN0a2lsbHMsIHVuemFlaGxpZ2UgRm9yc2NoZXJwdW5rdGUKMiBHb2V0dGVyLCA3IEVyem1hZ2llciB1bmQgdmllbCB6dXdlbmlnIFZlcnJ1ZWNrdGUgKE1hZ2llciArIFNwaWVsZXIpCgpFeGlzdGVuejogRXhpc3Rlbno6IDE3IEphaHJlIHVuZCAxMjMgVGFnZSAtIElua2FybmF0aW9uOiAzNTAgVGFnZSwgMTkgU3R1bmRlbgoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBa3Rpb24gQWx0ZSBTYWVja2UgKFN0cm9oYWxtLCAyNy4gSnVsIDIwMDksIDE3OjM2OjIwKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTI0ODcwODY3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNDg3MDg1OTYKRGFubiB3ZXJkIGljaCBtYWwgZGVuIEtvbnRha3QgenUgRWxlbmRpbCB1bmQgU3BlbGxmaXJlIHp1c2FtbWVucGZsdWVja2VuLAp2aWVsbGVpY2h0IGV4aXN0aWVyZW4gZGllIGFsdGVuIFRlbGVmb25udW1tZXJuIGphIG5vY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBa3Rpb24gQWx0ZSBTYWVja2UgKFNyYWJpLCAyNy4gSnVsIDIwMDksIDE4OjA5OjU2KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTI0ODcwODU5NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNDg3MDg1OTYKQWxzbyBndXQsCgppY2gga3VlbW1lciBtaWNoIG1hbCB1bSBLZXkgdW5kIE5lc2FqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBa3Rpb24gQWx0ZSBTYWVja2UgKEx5c2FuZHJhLCAyNy4gSnVsIDIwMDksIDE5OjAyOjAyKToKfiMhIHJuPVNyYWJpIHJ0PTEyNDg3MTA5OTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjQ4NzA4NTk2CkhhbGxvIDotKQphbHNvLCBpY2ggZmluZGUgZGllc2UgSWRlZSBlaW5mYWNoIGtsYXNzZSEgOi0pCkljaCBoYWJlIGhpZXIgdm9yIGVpbmVyIGdhbnplbiBXZWlsZSBtYWwgcmVnZWxtYWVzc2lnIGdlc3BpZWx0LiBEYW5uIGtvbm50ZQppY2ggZWluZSBXZWlsZSBuaWNodCBvbmxpbmUgZ2VoZW4uIEFscyBpY2ggZGFubiB3aWVkZXJrYW0sIHdhciBEZXJpbiwgZGllCmVpZ2VudGxpY2ggZmFzdCBqZWRlbiBUYWcgb25saW5lIHdhciBwbG9ldHpsaWNoIHZlcnNjaHd1bmRlbi4gSWNoIGJpbiBmcnVlaGVyCnZpZWwgbWl0IElociBydW1nZXpvZ2VuIHVuZCB2ZXJtaXNzZSBzaWUgd2lya2xpY2guIEF1cyBGcnVzdCBoYWIgaWNoIGRhbm4KbWVpbmVuIGFsdGVuIENoYXJha3RlciBnZWxvZXNjaHQgdW5kIG5ldSBhbmdlZmFuZ2VuLgpOYWphLCBqZWRlbmZhbGxzIGhvZmZlIGljaCBzZWhyLCBkYXNzIGRpZXNlIEFrdGlvbiB3YXMgYnJpbmd0LiBXYXMgRGVyaW4KYW5nZWh0IGhhYmUgaWNoIHNlbGJzdCBzY2hvbWFsIHZlcnN1Y2h0IGVpbmVuIEtvbnRha3R2ZXJzdWNoIHp1IHN0YXJ0ZW4sCmxlaWRlciBvaG5lIEVyZm9sZy4gSWNoIGhvZmZlLCBkYXMgRHUgbWVociBFcmZvbGcgaGFiZW4gd2lyc3QsIE1lc2lyaWkuIDotKQpTb25zdCBoYWV0dGUgaWNoIGVzIGFiZXIgYXVmIGplZGVuIEZhbGwgYXVjaCBub2NobWFsIHZlcnN1Y2h0LgpMZWlkZXIgZmFlbGx0IG1pciBzb25zdCBhYmVyIG5pZW1hbmQgZWluLCBkZW4gaWNoIHZvbiBmcnVlaGVyIGthbm50ZSB1bmQgZGVyCmpldHp0IG5pY2h0IG1laHIgaGllciBpc3QuIEFiZXIgaWNoIHNhZyBiZXNjaGVpZCwgd2VubiBtaXIgZWluIExpY2h0IGF1ZmdlaHQuCipnKgpBbHNvLCB3aWUgZ2VzYWd0IGZpbmRlIGljaCBkYXMgZWluZSBzdXBlciBJZGVlIHVuZCBpY2ggaG9mZmUgc2VociwgZGFzcyB3YXMKZGFiZWkgcmF1c2tvbW10LgpMeXNhbmRyYQoKUC5TLjogQWNoIGphLCBmdWVyIGFsbGUgZGllIGpldHp0IHZpZWxsZWljaHQgbmV1Z2llcmlnIGdld29yZGVuIHNpbmQgb2RlciBzaWNoCm5vY2ggZXJpbm5lcm4sIG1laW4gYWx0ZXIgQ2hhcmFrdGVyIHdhciBTaGFuaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWt0aW9uIEFsdGUgU2FlY2tlIChUYXNzcmFtLCAyOC4gSnVsIDIwMDksIDAwOjMxOjI0KToKfiMhIHJuPUx5c2FuZHJhIHJ0PTEyNDg3MTQxMjIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjQ4NzA4NTk2CkljaCBoYWIgbWFsIERvZG8gbmUgTWFpbCBnZXNjaHJpZWJlbiwgZGVyIGdlaG9lcnQgendhciBuaWNodCB6dSBkZW4gYWx0ZW4KU2FlY2tlbiwgYWJlciBpY2ggdmVybWlzcyBpaG4gdHJvdHpkZW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBa3Rpb24gQWx0ZSBTYWVja2UgKFZlY3RvciwgMjguIEp1bCAyMDA5LCAxNjoxNzo1NCk6Cn4jISBybj1UYXNzcmFtIHJ0PTEyNDg3MzM4ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjQ4NzA4NTk2Cm11c3Mgc2FnZW4gaWNoIGJpbiBza2VwdGlzY2guIGVzIGhhdHRlIGRhbWFscyBqYSBpbW1lciBuZW4gZ3J1bmQKd2FydW0gZGllIGxldXRlIGF1ZmdlaG9lcnQgaGFiZW4uIHVuZCBoYW5kIGF1ZnMgaGVyejoKaGF0IGRhcyBtdWQgaGV1dGUgbWVociB6dSBiaWV0ZW4gYWxzIHZvciAyLDMgb2RlciA0IGphaHJlbj8KCmRlbm9jaCBzY2hyZWliIGljaCBtYWwgendpcmlvbiwgbWF0aXMsIGNocmlzdG9waGVyLCB0eWxhayB1bmQgc2t5IGFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBa3Rpb24gQWx0ZSBTYWVja2UgKEFyaywgMjguIEp1bCAyMDA5LCAxOTowNDozOSk6Cn4jISBybj1WZWN0b3IgcnQ9MTI0ODc5MDY3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNDg3MDg1OTYKTmV1ZSAiUmVsZWFzZXMiLCBhYmVyIGRhcyBrb2VubmVuIGphIGFuZGVyZSBhdWNoLiBEZW5ub2NoIEhhbmQgYXVmcyBIZXJ6OiB0b3QKc2luZCB3aXIgaW1tZXIgbm9jaCBuaWNodC4gR2FsbGlzY2hlcyBEb3JmIGhhbHQsIHp1IG5lciBQYXJ0eSBsYW5ndCBlcyBhYmVyCm5hY2h3ZWlzbGljaCBpbW1lciBtYWwgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQWt0aW9uIEFsdGUgU2FlY2tlIChNZXNpcmlpLCAyOC4gSnVsIDIwMDksIDE5OjE4OjQwKToKfiMhIHJuPUFyayBydD0xMjQ4ODAwNjc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI0ODcwODU5NgpBbHNvIGljaCBoYWIgZWluZSBnYW56IGJlZ2Vpc2VydGUgTWFpbCB2b24gTW9ndXIgYmVrb21tZW4sIGlobiBoYWJlbiBlaGVyClJMLVplaXQgUHJvYmxlbWUgYWJnZWhhbHRlbiwgZGVyIHdpcmQgamV0enQgUGFwYSB1bmQgR3J1ZXNzZSBhbiBhbGxlLgpFciB3aWxsIGFiZXIgd2llZGVyIG1hbCByZWluc2NoYXVlbi4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWt0aW9uIEFsdGUgU2FlY2tlIChWYXJkaW9uLCAyOS4gSnVsIDIwMDksIDEyOjMwOjUwKToKfiMhIHJuPVZlY3RvciBydD0xMjQ4NzkwNjc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI0ODcwODU5NgpIaWVzcyBiZWkgdmllbGVuIGRpZXNlciBHcnVuZCBuaWNodCBlaW5mYWNoICJXb1ciPyBPaywgZ2lsdCB2aWVsbGVpY2h0IG51cgpmdWVyIGRpZSBtaXR0ZWxhbHRlbiBTYWVja2UuLi4gYWJlciB2aWVsbGVpY2h0IGlzdCBlaW5pZ2VuIHZpbiBkZW5lbiBkZXIgR3JpbmQKamEgaW56d2lzY2hlbiB1ZWJlci4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFrdGlvbiBBbHRlIFNhZWNrZSAoSG9ibywgMjkuIEp1bCAyMDA5LCAxODoyNToyMik6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNDg4NjM0NTAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjQ4NzA4NTk2CkljaCBkYWNodGUsIHdpciByZWRlbiBoaWVyIHZvbiBBTFRFTiBTYWVja2VuLi4uCldlaXNzIGplbWFuZCwgd2FzIGF1cyBCb2JvIGdld29yZGVuIGlzdD8KCkhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFrdGlvbiBBbHRlIFNhZWNrZSAoTWlyaW1hZGVsLCAyOS4gSnVsIDIwMDksIDE4OjI1OjQ4KToKfiMhIHJuPVZhcmRpb24gcnQ9MTI0ODg2MzQ1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNDg3MDg1OTYKSGkgSWhycywKV09XIGlzdCBzY2hvbiBzdGFyaywgYWJlciBuY2lodCBzbyBzY2hvZW4gd2llIE1vcmdlbmdyYXVlbi4KRGVua2UgZGFzIGF1Y2ggZGFzIFJMIG1hbmNobWFsIHZvciBnZWh0Lgp3ZXIgaGF0IGVpbmVuIERyYWh0IHp1IEthbnlhaG9uIHVuZCBob2x0IGlobiB3aWVkZXIgenVydWVjaywgZXIgc29sbCBlcyBuaWNodApzbyBzY2h3ZXIgbmVobWVuLgpNVURlbiBpc3QgZG9jaCBzY2hvZW4gdW5kIG1hY2h0IFNwYXNzLgpIb2ZmZSBkYXMgdmllbGUgd2llZGVyIGtvbW1lbi4KRGVuIGVzIGdpYnQgZG9jaCBiZXN0aW1tdCB3aWVkZXIgbmV1ZSBBYmVudGV1ZXIgenUgYmVzdGVoZW4sIGxhZWNoZWwuCmdydWVzc2VsIE1pcmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpZEtHIChaZXNzdHJhLCAgMi4gQXVnIDIwMDksIDIyOjE2OjMyKToKV2FzIHBhc3NpZXJ0LCB3ZW5uIE11ZGRlciBhbHMgR3J1c3MgZnVlciBMdWcgaW4gZGllIEZlc3RpdmFsemVpdHVuZyB2b20gV2Fja2VuCk9wZW4gQWlyIGFscyBLbGVpbmFuemVpZ2UgZm9sZ2VuZGVuIFRleHQgc2V0emVuIG1vZWNodGVuPwoiRnJhdWVuIGluIGRpZSBLbGVyaWtlcmdpbGRlIHVuZCBLYXR6ZW4gaW4gZGVuIFNjaHJlZGRlciEgLSBtZy5tdWQuZGUgKGZ1ZXIKTHVnKQpFcyBzdGVodCBkb3J0OgoiWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCIKIlhYWFhYWFhYWFhYWFhYWFhYWFhYWFgiCnd3dy5tZy5tdWQuZGUgKGZ1ZXIgTHVnKQooU29ycnksIHJlc3RsaWNoZXIgVGV4dCBnaW5nIHdpcmtsaWNoIG5pY2h0LiBBbm1lcmt1bmcgZGVzIEZlc3RpdmFsIFRvZGF5ClRlYW1zLikKCjpsYWNodC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFrdGlvbiBBbHRlIFNhZWNrZSAoRW5ub3gsICAzLiBBdWcgMjAwOSwgMjI6Mzc6MTQpOgp+IyEgcm49TWlyaW1hZGVsIHJ0PTEyNDg4ODQ3NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjQ4NzA4NTk2Ck1laW5lIFF1b3RlIHdhciBnYXJuaWNodCBzbyBzY2hsZWNodCAtIERlcmluIHVuZCBNb2d1ciBzaW5kIHdpZWRlciBkYS4KVm9uIERvdHogaGFiZSBpY2ggbGVpZGVyIGtlaW5lIEVNYWlsIGZpbmRlbiBrb2VubmVuLCBudXIgIk1hcnRpbiBOaWV0ZW4sClVuaXZlcnNpdGFldCBCb25uIiB1bmQgc2VpbmUgRGlwbG9tYXJiZWl0IHZvbiAyMDAwIChqZWRlbmZhbGxzIGRlbiBUaXRlbCkuCkthbm4gbWlyIGRhIHdlciB3ZWl0ZXJoZWxmZW4uCldpZSBzaWVodCBkYXMgYmVpIEV1Y2ggc28gbWl0IEZvcnRzY2hyaXR0IGJlaSBkZW4gYWx0ZW4gU2FlY2tlbiBhdXM/IEljaAp3ZXJkIG1pY2ggZGVtbmFlY2hzdCBtYWwgYW4gVGh1ZmlyIHVuZCBPZ28gd2VuZGVuLgpHcnVzcyBtZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmlkS0cgKE1pcmlsLCAgMy4gQXVnIDIwMDksIDIzOjExOjEzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI0OTI0NDE5MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNDkyNDQxOTIKSmEsIHdpciBoYWJlbiB1bnMgYXVjaCBnZWZyYWd0LCBvYiBpcmdlbmR3ZXIgYXVzIGRlbSBGZXN0aXZhbCBUb2RheSBUZWFtIGF1Y2gKbnVyIGFubmFlaGVybmQgZGllIFRleHRlIGRlciBkb3J0IHNwaWVsZW5kZW4gQmFuZHMgdmVyc3RlaHQgdW5kIGZhbGxzIGphLAp3aWVzbyBkaWUgbmljaHQgYXVjaCBhdXNnZWl4dCB3ZXJkZW4uCgpBYmVyOiBEZXIgVGV4dCB4eHh4eHh4eHh4eHh4eCBpc3QgdmllbGxlaWNodCBzb2dhciBkaWUgYmVzc2VyZSBXZXJidW5nIDspCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1NMIChSdW1hdGEsIDE4LiBBdWcgMjAwOSwgMTA6MDU6MjEpOgpIYWxsbyBMZXV0ZSwKCnp1ciBJbmZvOiBoZXV0ZSBpc3QgZGFzIFNTTCBaZXJ0aWZpa2F0IGZ1ZXIgZGFzIE1HIGFiZ2VsYXVmZW4uIERhcyBoZWlzc3QsCmRhc3MgZWluZSBTU0wgVmVyYmluZHVuZyB6dW0gTXVkIHp3YXIgd2VpdGVyaGluIGF1ZmdlYmF1dCB3ZXJkZW4ga2FubiwgYWJlcgpFdWVyIENsaWVudCBuaWNodCBtZWhyIHBydWVmZW4ga2Fubiwgb2IgZXIgd2lya2xpY2ggbWl0IGRlbSBNVUQgY29ubmVjdGV0LgoKRXVyZSBWZXJiaW5kdW5ncyBpc3QgYWxzbyBnZW5hdSBzbyBndXQgdmVyc2NobHVlc3NlbHQgd2llIGJpc2hlciwgbnVyIGJlaW0KVmVyYmluZHVuZ3NhdWZiYXUgS09FTk5URSBzaWNoIGplbWFuZCBhbHMgTWl0TSBlaW5oYWNrZW4uCgpXZW5uIHdpciBlaW4gbmV1ZXMgWmVydGlmaWthdCBlaW5nZXNwaWVsdCBoYWJlbiwgZ2lidCBlcyB3aWVkZXIgZWluZQpOYWNocmljaHQuCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFsaXNtYW4gKEVubm94LCAxOC4gQXVnIDIwMDksIDIzOjE1OjQ0KToKV2VpbCBkYXMgYmVpIFBhcnRpZXMgc2VociBiZWxpZWJ0IHdhciwgaGFiIGljaCBpbW1lciB3aWVkZXIgZ2VzY2hhdXQgb2IKbWFuIGRhcyBndWVuc3RpZyBpcmdlbmR3byBrcmllZ3QgdW5kIGR1cmNoIFp1ZmFsbCBsZXR6dGVucyBnZXNlaGVuCihiZWkgbWFnaWVyc3BpZWxlLmRlIC0gc2VociBndWVuc3RpZ2VyIFNwaWVsZWhhZW5kbGVyKSBkYXNzIGRlciBkZXV0c2NoZQpWZXJsYWcgZWluZSBOZXVhdWZsYWdlIHp1bSAyNS4gR2VidGFnIGdlbWFjaHQgaGF0LCB3b2hsIG1pdCBnZXN0cmFmZnRlbgpSZWdlbG4gc28gZGFzcyBtYW4gZWhlciBiZWkgMy00IGFscyA4LTEyIFN0dW5kZW4gU3BpZWx6ZWl0IGxhbmRldC4KV2FyIGF1Y2ggcmVsYXRpdiBndWVuc3RpZywgaGFiIGVzIGRlc2hhbGIgbWFsIGdla2F1ZnQsIGFiZXIgd2llIGltbWVyCm5vY2gga2VpbmUgWmVpdCB6dW0gYW5ndWNrZW4gZ2VoYWJ0LgpGYWxscyBlcyB3ZW4gaW50ZXJlc3NpZXJ0OgpodHRwOi8vd3d3Lm1hZ2llcnNwaWVsZS5kZS9CcmV0dHNwaWVsZS4yNTE4LzI5LjMyODcyLmh0bWwKQWNoc28gYmVpIGRlbmVuIGdpYnRzIGF1Y2ggbmVuIGJyZXR0c3BpZWwgZnVlciBzb25nIG9mIGljZSBhbmQgZmlyZSAtCmZ1ZXIgZGllamVuaWdlbiBkaWUgYXVjaCB2ZXJnZWJsaWNoIGF1ZiBkZW4gbmFlY2hzdGVuIEJhbmQgd2FydGVuOgpodHRwOi8vd3d3Lm1hZ2llcnNwaWVsZS5kZS9CcmV0dHNwaWVsZS4yNTE4LzI5LjMyMTQuaHRtbApNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFsaXNtYW4gKEh1bW5pLCAxOS4gQXVnIDIwMDksIDE4OjEzOjExKToKfiMhIHJuPUVubm94IHJ0PTEyNTA2MzAxNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUwNjMwMTQ0Cldlbm4gZGllIFNwaWVsZGF1ZXIgZGV1dGxpY2ggcnVudGVyZ2VodCBtYWcgVGFsaXNtYW4gamEgdGF1Z2VuIC0gc29uc3QgZmFuZAppY2ggZGFzIGVoZXIgYmxvZWQgdW5kIHZpZWwsIHZpZWwgenUgbGFuZy4gQWJlciBpc3QgbnVyIG1laW5lIE1laW51bmcsIGljaApoYWJzIGF1Y2ggbnVyIGVpbm1hbCBnZXNwaWVsdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU1NMIChWYXJkaW9uLCAyMS4gQXVnIDIwMDksIDE5OjM3OjI0KToKfiMhIHJuPVJ1bWF0YSBydD0xMjUwNTgyNzIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI1MDU4MjcyMQpJY2gga2FubmIgZGVpbmUgQXVzc2FnZW4gKElkZW50aXRhZXQgbmljaHQgbWVociBwcnVlZmJhciwgTWl0TSBtb2VnbGljaCkgbmljaHQKbmFjaHZvbGx6aWVoZW4uIE51ciB3ZWlsIGVpbiB3aWxsa3VlcmxpY2hlcyBEYXR1bSBhbiBkZW0gWmVydGlmaWthdCwgd2VsY2hlcwpxdWFzaSBlaW4gS29tbWVudGFyIGlzdCwgbnVuIGluIGRlciBWZXJnYW5nZW5oZWl0IGxpZWd0LCB3aXJkIGphIG5pY2h0IGdsZWljaApkZXIgcHJpdmF0ZSBUZWlsIGRlcyBaZXJ0aWZpa2F0ZXMgb2VmZmVudGxpY2guIEZ1ZXIgZWluIE1pdE0gYnJhZXVjaHRlIG1hbiBkZW4KcHJpdmF0ZW4gVGVpbC4gVW5kIG5hdHVlcmxpY2gga2FubiBkYW1pdCB3ZWl0ZXIgZ2VwcnVlZnQgd2VyZGVuLCBvYiBkYXMgTXVkCmF1Y2ggZGFzIE11ZCBpc3QuCkVpbiBzZWl0IDUgSmFocmVuIGFiZ2VsYXVmZW5lcyBaZXJ0aWZpa2F0LCB3ZWxjaGVzIHVyc3BydWVuZ2xpY2ggbWFsIGZ1ZXIgendlaQpKYWhyZSBhdXNnZXN0ZWxsdCB3dXJkZSwgaXN0IGluc29mZXJuIG5pY2h0IGJlc3NlciB1bmQgbmljaHQgc2NobGVjaHRlciBhbHMKZWluIGd1ZWx0aWdlcywgd2VsY2hlcyB2b24gQW5mYW5nIGFuIGZ1ZXIgc2llYmVuIEphaHJlIGF1c2dlc3RlbGx0IHd1cmRlLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTU0wgKFJ1bWF0YSwgMjIuIEF1ZyAyMDA5LCAyMDo1Mzo0Nyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNTA4NzYyNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUwNTgyNzIxCkltIFByaW56aXAgaGFzdCBEdSBqYSByZWNodCwgYWJlciBudXIgd2VubiBEdSBkZWluZW0gU1NMIFN0YWNrIHNhZ2VuCmthbm5zdCwgZGFzcyBlcyBaZXJ0aWZpa2F0ZSwgZGlyIG51ciBhYmdlbGF1ZmVuIHNpbmQsIHdpZSBndWVsdGlnZQpiZWhhbmRlbG4gc29sbC4KCkltIE5vcm1hbGZhbGwgaXN0IGVzIGFiZXIgc28sIGRhc3MgbWFuIGRpZSBaZXJ0aWZpa2F0c3BydWVmdW5nCmFic2NoYWx0ZW4gbXVzcywgdW5kIGRhbm4ga29lbm5lbiBmYWxzY2hlIFplcnRpZmlrYXRlIHVudGVyZ2VzY2hvYmVuIHdlcmRlbi4KClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNTTCAoTXNhciwgMjYuIEF1ZyAyMDA5LCAxMTo0ODoxNSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNTA4NzYyNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUwNTgyNzIxCk5hamEsIHdlbm4gZHUgZGllIFJlZ2VsbiB2b24gdzNjIHVuZCBkZXIgQ29tbXVuaXR5IG5pbW1zdCwgaXN0IG5lbgphYmdlbGF1ZmVuZXMgWmVydGlmaWthdCBzY2hsZWNodGVyIGFscyBuZW4gZ3VlbHRpZ2VzLCB1bmQgZWluCmVpZ2VuLXplcnRpZml6aWVydGVzIHVlYmVyaGF1cHQgZGFzIHNjaGxpbW1zdGUgd2FzIGdlaHQuCkljaCB3dXNzdGUgbmljaHQsIGRhc3MgZGllIGRlciBWZXJpc2lnbiB1bmQgQ28gc28gaW4gZGllIEhhZW5kZSBzcGllbGVuCndvbGx0ZW4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTU0wgKEJhbWJpLCAyNy4gQXVnIDIwMDksIDEwOjU5OjQwKToKfiMhIHJuPU1zYXIgcnQ9MTI1MTI4MDA5NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNTA1ODI3MjEKSGkuCgpXZW5uIGljaCBlaW4gWmVydGlmaWthdCBzZWxic3QgZXJzdGVsbGUgdW5kIGVzIEJla2FubnRlbiBnZWJlLCBpc3QgZGFzIChmdWVyCmRpZSkgZ2VuYXVzbyB2ZXJ0cmF1ZW5zd3VlcmRpZyB1bmQgc2ljaGVyIGFscyB3dWVyZGUgaWNoIGVpbmVzIHZvbiBlaW5lcgoib2ZmaXppZWxsZW4iIFplcnRpZml6aWVydW5nc3N0ZWxsZSBiZWtvbW1lbi4KCkdydXNzLApCYW1iaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNTTCAoUnVtYXRhLCAyNy4gQXVnIDIwMDksIDExOjA3OjMxKToKfiMhIHJuPUJhbWJpIHJ0PTEyNTEzNjM1ODAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUwNTgyNzIxCkRhcyBtYWcgZnVlciBEZWluZSBCZWthbm50ZW4gc28gc2VpbiwgYWJlciBuaWNodCBmdWVyIGRpZSBsaWJzc2wgYXVmCmRlbSBSZWNobmVyIERlaW5lciBCZWthbm50ZW4uCgpXYXMgZGVpbmUgQmVrYW5udGVuIGlocmVyIGVpZ2VuZW4gU1NMIExpYiB2b3JyYXVzaGFiZW4sIGlzdCBpbSBQcmluemlwCmVpbiAiUC5CLiIgUm9vdC1aZXJ0aWZpa2F0IHVuZCBlaW5lIFRlY2huaWsgenVtIFZlcmxhZW5nZXJuIHZvbgpaZXJ0aWZpa2F0ZW4gaW4gZGVyIEFydCAiSmEsIGRlbSB0cmF1ZSBpY2ggbm9jaCBpbW1lciIuCgpXZWhlIHdlaGU6IGVpbiBhYmdlbGF1ZmVuZXMgWmVydGlmaWthdCBoYXQgamEgZGVtIEltcGVyYXRvciBzY2hsdXNzZW5kbGljaApkYXMgR2VuaWNrIGdlYnJvY2hlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcnNvZW5saWNoZSBBbnRpcGF0aGllbiAoSHVtbmksIDMwLiBBdWcgMjAwOSwgMTU6MDA6MzMpOgpIdWh1LAoKaWNoIGhhYiBnZXJhZGUgdWViZXJsZWd0LCBvYiBpY2ggZGFzIHVudGVyICJCZWthbm50bWFjaHVuZ2VuIiBzY2hyZWliZW4gc29sbC4KRGFzIHR1ZSBpY2ggYWJlciBuaWNodCwgZGEgaWNoIGdlcmFkZSBhbGxlaW5lIGJpbiB1bmQgc29taXQgaGllciBuaWNodCBpbQpOYW1lbiBkZXIgRU1zIHNwcmVjaGUuCgpJbiBsZXR6dGVyIFplaXQgc2luZCB1bnMgaW1tZXIgd2llZGVyIGVpbmlnZSBEaW5nZSBhdWZnZWZhbGxlbiwgZGllIHZpZWxlbgpTcGllbGVybiBoaWVyIGRlbiBTcGFzcyB2ZXJtaWVzZW4uIEljaCB3ZXJkZSBqZXR6dCBuaWNodCBtaXQgZGVtIEZpbmdlciBhdWYKTGV1dGUgemVpZ2VuIC0gZXMgc2luZCBpbW1lciBtZWhyZXJlIGRhcmFuIGJldGVpbGlndC4gRXJzdGVzIFByaW56aXA6IEZhc3N0CkV1Y2ggYml0dGUgZXJzdCBlaW5tYWwgYW4gZGllIGVpZ2VuZSBOYXNlLiBXbyBoYWJ0IGlociB3aWUgZGFlbWxpY2ggcmVhZ2llcnQ/CldhcyBoYWV0dGUgbWFuIHZlcm1laWRlbiBrb2VubmVuPyBEYXMgaXN0IG5hZW1saWNoIGRhcyBlaW56aWdlLCB3YXMgaWhyCmFlbmRlcm4ga29lbm50LiBOZWhtdCBzb3ZpZWwgVmVyYW50d29ydHVuZyB3aWUgZXMgZ2VodCwgZXJzdCBlaW5tYWwgYXVmIEV1Y2gKc2VsYnN0LgoKWndlaXRlciBSYXQ6IElnbm9yaWVydCBkaWVqZW5pZ2VuLCBtaXQgZGVuZW4gaWhyIFN0cmVzcyBoYWJ0LiBVbmQgendhciAtIHVuZApkYXMgZ2lsdCBzbyAtIG5pY2h0IG51ciBwZXIgImlnbm9yaWVyZSIgLSBzb25kZXJuIGJpdHRlIGdhbnouIEtlaW5lCktvbW1lbnRhcmUuIE5peCBtZWhyIGFic2ljaHRsaWNoIGRlbSBhbmRlcmVuIHZvciBkZXIgTmFzZSB3ZWdoYXVlbi4gV2VubiBkZXIKYW5kZXJlIGVpbmVtIHdhcyB3ZWdoYXV0LCBnZWh0IGVyc3RtYWwgd29hbmRlcnMgaGluLiBXZW5uIGVyIG5hY2hrb21tdCAtIHVuZApudXIgZGFubiEgLSB3aWxsIGVyIEV1Y2ggZGFtaXQgQm9lc2VzIHR1bi4gSWdub3JpZXJ0cy4gTG9nZ3QgenVyIE5vdCBhdXMsCmxvZ2d0IHVtLiBEb24ndCBmZWVkIHRoZSB0cm9sbHMuIFNjaGxlY2h0ZSBSZWFrdGlvbjogU2NoaW1wZmVuLCB1bmQgZGFzc2VsYmUKYXVjaCBtYWNoZW4uCgpEcml0dGVuczogV2VubiBFdWNoIGVpbiBTcGllbGVyIGVybnN0aGFmdCBiZWhpbmRlcnQsIG9id29obCBpaHIgaWhuIGlnbm9yaWVydCwKb2J3b2hsIGlociBpaG4gbmljaHQgYmVzY2hpbXBmdCwgb2JzY2hvbiBJaHIgbmljaHQgaW1tZXIgYXVmIEViZW5lbiBlcnphZWhsdCwKd2llIGJsb2VkIGRlciBhbmRlcmUgZG9jaCBpc3QgLSBEQU5OIC0gc2NocmVpYnQgZWluZSBNYWlsIGFuIGRlbiBTaGVycmlmIHVuZApiZXNjaHdlcnQgRXVjaCBkYXJ1ZWJlci4gTWl0IExvZ3MgdW5kIG1vZWdsaWNoc3Qgc2FjaGxpY2guICJEYXMgU2Fja2dlc2ljaHQKbXVzcyBnZWxvZXNjaHQgd2VyZGVuISIgaGlsZnQgbmljaHQuICJJY2gga29tbWUgbWlyIGJlbGFlc3RpZ3Qgdm9yIiBrYW5uCmhlbGZlbi4KClVuZCBvaG5lIGhpZXIgaXJnZW5kd2VsY2hlbiBTY2hyaXR0ZW4gdm9uIGFuZGVyZW4gQmV0ZWlsaWd0ZW4gdm9yd2VnenVncmVpZmVuOgpFcyB3ZXJkZW4gRGluZ2UgcGFzc2llcmVuLCB3ZW5uIGRhcyBoaWVyIHNvIHdlaXRlcmdlaHQuIFVuZCBlcyBrb2VubmVuIERpbmdlCmRhZnVlciBwYXNzaWVyZW4sIHdhcyBzY2hvbiBnZXNjaGVoZW4gaXN0LgoKQWNoIGphOiBNYW5jaGUgR2lsZGVuIGhhYmVuIEZhZWhpZ2tlaXRlbiwgU3BpZWxlciB6dSBiZWhpbmRlcm4gKG9tYmF0aXMsCmJsdWJiZXIgYWxzIGhhcm1sb3NlIFZhcmlhbnRlbiwgZXMgZ2lidCBhdWNoIGhhZXJ0ZXJlIE1vZWdsaWNoa2VpdGVuLCBTcGllbGVyCndpcmtsaWNoIHp1IGJlaGluZGVybikuIERpZSBzaW5kIGRhZnVlciBkYSwgdW0gTGV1dGUsIGRpZSBtYW4gZ3V0IGtlbm50LCB1bmQKZGllIHdpc3Nlbiwgd2llIG1hbiBFdWNoIHp1IHZlcnN0ZWhlbiBoYXQsIGRhbWl0IGVpbiB3ZW5pZyB6dSBhZXJnZXJuLiBTaWUKc2luZCBuaWNodCBkYXp1IGRhLCB1bSBMZXV0ZSBkYXVlcmhhZnQgdm9tIFNwaWVsIGF1c3p1c2NobGllc3NlbiBvZGVyIGlobmVuCndpcmtsaWNoIERpbmdlIGthcHV0dHp1bWFjaGVuLiBOdXR6dCBkaWUgRGluZ2VyIGJlaSBFdXJlbiBGcmV1bmRlbiAtIGRhenUgc2luZApzaWUgZGEuIEljaCBoYWJlIGVpZ2VudGxpY2gga2VpbmUgTHVzdCwgZGVtbmFlY2hzdCBub2NoIG1laHIKU2ljaGVyaGVpdHNhYmZyYWdlbiBpbiBkZW4gQ29kZSB6dSBiYXVlbiAoIlNwaWVsZXIgQSBpZ25vcmllcnQgU3BpZWxlciBCLCBhbHNvCmRhcmYgU3BpZWxlciBCIGRlbSBTcGllbGVyIEEgZGVuIERhZW1vbmVuIG5pY2h0IHZlcmJhbm5lbiIgdW5kIGFlaG5saWNoZXMpLgpMZWlkZW4gdHVuIGRhcnVudGVyIGFsbGUgLSBpaHIgc2VsYnN0LCBkYSBFdWVyIHNwaWVsc3Bhc3MgenVydWVja2dlaHQsIGRlcgphbmRlcmUsIGZ1ZXIgZGVuIGRhcyBhdWNoIGdpbHQgLSB1bmQgd2lyLCB3ZWlsIHdpciB1bnMgc3RhZW5kaWcgZGFtaXQKYmVzY2hhZWZ0aWdlbiBtdWVzc2VuIC0gaWNoIGhhZXR0ZSB6dW0gQmVpc3BpZWwgc3RhdHQgaGllciB6dSBzY2hyZWliZW4gYXVjaApsaWViZXIgd2FzIGFuZGVyZXMgZ2VtYWNodC4KClVuZCBmaW5hbGVyIFJhdDogQWJyZWdlbi4gSW0gRXJuc3QuIEplbWFuZCwgZGVyIEV1Y2ggZmVydGlnbWFjaGVuIHdpbGwsIGhhdApzZWluIFppZWwgZXJyZWljaHQsIHdlbm4gSWhyIEV1Y2ggbG9lc2NodC4gRGFzIGlzdCBhYmVyIGluIGplZGVtIEZhbGwgZWluClZlcmx1c3QgZnVlciBFdWNoIC0gdW5kIGZ1ZXIgZGFzIE11ZC4gR2V3b25uZW4gaGF0IGRhbm4gaW0gWndlaWZlbCBudXIgZGVyCmFuZGVyZS4gVW5kIGRhcyB3b2xsdCBpaHIgZG9jaCBuaWNodCAtIG9kZXI/IElnbm9yaWVyZW4gaGlsZnQuIEVjaHQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBlcnNvZW5saWNoZSBBbnRpcGF0aGllbiAoVmFuaW9uLCAzMC4gQXVnIDIwMDksIDE1OjUzOjUxKToKfiMhIHJuPUh1bW5pIHJ0PTEyNTE2MzcyMzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUxNjM3MjMzClNjaG9lbmVyIEFydGlrZWwuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgRGljaCAmIE1haWx2b3JsYWdlOiBXZXJiZWFrdGlvbiBmcnMgTW9yZ2VuR3JhdWVuIChWYW5pb24sIDMwLiBBdWcgMjAwOSwgMjE6Mzk6MzYpOgp+IyEgcm49RW5ub3ggcnQ9MTI1MTY1NDU0NCByZz1vZWZmZW50bGljaGtlaXRzYXJiZWl0Cn4jISB0aWQ9MTI1MTY1NDU0NApIYWxsbyBGcmV1bmRlLAoKVW50ZXIgT2VmZmVudGxpY2hrZWl0c2FyYmVpdCBsaWVndCBlaW4gdm9uIE1lc2lyaWkgdmVyZmFzc3RlciBvZWZmZW50bGljaGVyCkJyaWVmIGFuIGRpZSBTcGllbGVyIGRlcyBNb3JnZW5HcmF1ZW5zLCBkaWUgaW4gbGV0enRlciBaZWl0IG5pY2h0IGVpbmdlbG9nZ3QKd2FyZW4gKHZvbiBFaGVtYWxpZ2VuIG1vZWNodGUgaWNoIGluIGRpZXNlbSBLb250ZXh0IG5pY2h0IHNwcmVjaGVuKS4gV2lyCndvbGx0ZW4gZGllc2VuIEJyaWVmIG5pY2h0IHByb2ZhbiBtaXQgIkRlciBWZXJlaW5zdm9yc3RhbmQgaW0gTmFtZW4gZGVyClNwaWVsZXIiIHVudGVyc2NocmVpYmVuLCB3ZWlsIGRpZXMgZGVyIFNhY2hlIG5pY2h0IGdlcmVjaHQgd3VlcmRlLiBMaWViZXIgaXN0CnVucywgd2VubiBJaHIsIGRpZSBha3RpdmVuIFNwaWVsZXIgZGllc2VuIEJyaWVmIG1pdCB1bnRlcnNjaHJlaWJ0LiBFdWVyIE5hbWUKd2lyZCBkYW5uIG1pciBhbHMgVmVyZmFzc2VyIGRlcyBCcmllZmVzIGdlbmFubnQuCgpVbSBlaHJsaWNoIHp1IHNlaW4sIGVpbiBiaXNzY2hlbiBCZXJlY2h1bmcgaXN0IGRhYmVpLiBXaXIgd29sbGVuIGRlbiBMZXV0ZW4KZGFzIE1vcmdlbkdyYXVlbiB3aWVkZXIgaW5zIEdlZGFlY2h0bmlzIHJ1ZmVuLCB1bmQgZGFzIGdlaHQgYmVzc2VyLCB3ZW5uIGRpZQpMZXV0ZSBOYW1lbiB2b24gU3BpZWxlcm4gbGVzZW4sIGRpZSBzaWUgdmllbGxlaWNodCBub2NoIGtlbm5lbi4gV2lyIHdvbGxlbiBlaW4KIkd1Y2sgbWFsLCBHYXN0NyBzcGllbHQgZGEgamEgYXVjaCBub2NoLCBvYiBub2NoIG1laHIgYWx0ZSBCZWthbm50ZSBkYSBzaW5kPyIKZXJyZWljaGVuIHVuZCBrZWluICJVaSwgZGFzIE1vcmdlbkdyYXVlbiBpc3QgaW1tZXIgbm9jaCBuaWNodCB0b3Q/Ii4gRGFoZXIKbWVpbmUgQml0dGU6IHVudGVyc2NocmVpYnQgZGVuIEJyaWVmLiBPaG5lIGRpZSBqdWVuZ2VyZW4gU3BpZWxlciB6dXJ1ZWNrc2V0emVuCnp1IHdvbGxlbiwgYmVzb25kZXJzIHNjaG9lbiBmYWVuZCBpY2gsIHdlbm4gYXVjaCBlaW4gcGFhciBTcGllbGVyIGF1cyBkZW4KIkZydWVoZW4gVGFnZW4iIGRlcyBNdWRzIHVudGVyc2NocmVpYmVuLgoKRGFua2UgZnVlciBFdXJlIFVudGVyc3R1ZXR6dW5nLgpWKiwgKGdpbHQgbm9jaCBuaWNodCBhbHMgVXJnZXN0ZWluKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZXJzb2VubGljaGUgQW50aXBhdGhpZW4gKFplc3N0cmEsIDMwLiBBdWcgMjAwOSwgMjM6MjU6NDUpOgp+IyEgcm49SHVtbmkgcnQ9MTI1MTYzNzIzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNTE2MzcyMzMKRGVtIGhhYiBpY2ggd2VuaWcgaGluenVmdWVnZW4uCgpCVFc6IFdlaWwgb2ZmZW5iYXIgaXJnZW5kZWluIEZlaWdsaW5nIG1laW50LCBHYWVzdGUgenVtIEJlbGVpZGlnZW4gbnV0emVuIHp1Cm11ZXNzZW4gdW5kIHNpY2ggc29uc3QgbmljaHQgdHJhdXQsIGhhYiBpY2ggZGllIE1vZWdsaWNoa2VpdGVuIHp1bSBMb2dpbiB2b24KR2Flc3RlbiB1bmQgQW5sZWdlbiBuZXVlciBTcGllbGVyIHplaXR3ZWlzZSBldHdhcyBlaW5nZXNjaHJhZW5rdC4gRmFsbHMgaWhyCmRhdm9uIGJldHJvZmZlbiBzZWlkLCB3ZW5kZXQgZXVjaCBmdWVyIGRhcyBBbmxlZ2VuIGVpbmVzIG5ldWVuIFNwaWVsZXJzIGFuCmVpbmVuIEVNLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZXJzb2VubGljaGUgQW50aXBhdGhpZW4gKEFtYXJ5bGxpcywgMzAuIEF1ZyAyMDA5LCAyMzoyODoyOCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNTE2Njc1NDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUxNjM3MjMzCkljaCBmdWVnZSBub2NoIGV0d2FzIGhpbnp1LiBJY2ggaGFiZSBhbHMgSG9zdG1hc3RlciBlaW5lcyBoYWxid2VncyBncm9zc2VuClByb3ZpZGVycyBndXRlIEtvbnRha3RlIHp1IEFidXNlLURlc2tzIHZvbiBhbmRlcmVuIElTUHMuIEljaCB3ZXJkZSBkaWVzZQpLb250YWt0ZSBudXR6ZW4sIHVtIHNvbGNoZW4gRmVpZ2xpbmdlbiBlaW5lcyB2b3IgZGVuIEJ1ZyB6dSBrbmFsbGVuLiBVbmQgamE6CkRhIGtvZW5uZW4gYXVjaCBCZWhvZXJkZW4gaW5zIFNwaWVsIGtvbW1lbi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBlcnNvZW5saWNoZSBBbnRpcGF0aGllbiAoVmVjdG9yLCAzMC4gQXVnIDIwMDksIDIzOjMxOjQxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMjUxNjY3NzA4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI1MTYzNzIzMwpuYWNoZGVtIGljaCBqYSBkZXIgZXJzdGUgdmVyZGFlY2h0aWdlIHdhciB1bmQgZXMgd2llZGVyIG1hc3NpdnN0ZQpoZXR6ZSB1bmQgYmVsZWlkaWd1bmcgZ2FiIChpbiBtZWluZXIgYWJ3ZXNlbmhlaXQpIHd1ZXJkZSBpY2ggZG9jaApkYXJ1bSBiaXR0ZW4gZGVuIG5hbWVuIGRlcyB0YWV0ZXIgb2VmZmVudGxpY2ggenUgbWFjaGVuLCB3ZW5uIGlocgppaG4vc2llIGVyd2lzY2h0LiBkYW5rZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBlcnNvZW5saWNoZSBBbnRpcGF0aGllbiAoS2Fyb2wsIDMwLiBBdWcgMjAwOSwgMjM6Mzg6NDgpOgp+IyEgcm49VmVjdG9yIHJ0PTEyNTE2Njc5MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjUxNjM3MjMzCkhhbGxvLAoKZGF6dSBtb2VjaHRlIGljaCBkYW5uIGF1Y2ggbm9jaCBldHdhcyBhbm1lcmtlbjoKClNvbGx0ZSBkZXJqZW5pZ2Ugc2ljaCBwZXJzb2VubGljaCBtZWxkZW4gdW5kIHNpY2ggZW50c2NodWxkaWdlbiwgYmVzb25kZXJzCmZ1ZXIgZGVuIGxldHp0ZW4gQWJzYXR6IGRlciBtaWNoIGJldHJhZiwgd2lyZCB2b24gdW5zZXJlciBTZWl0ZSBuaWNodHMKaGluc2ljaHRsaWNoIEJlaG9lcmRlbiB1bnRlcm5vbW1lbi4gCgpAVmVjdG9yClZvbiBtaXIga29tbXQgbmF0dWVybGljaCBhdWNoIGVpbmUgKGVybnN0IGdlbWVpbnRlISkgRW50c2NodWxkaWd1bmcsIGRhc3MgYXVjaAppY2ggZGljaCBhbHMgZXJzdGVzIHZlcmRhZWNodGlndCBoYWJlLiAKCmxnCkthcm9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZXJzb2VubGljaGUgQW50aXBhdGhpZW4gKFRvcmxvZiwgIDIuIFNlcCAyMDA5LCAxNzozNzowNSk6Cn4jISBybj1WZWN0b3IgcnQ9MTI1MTY2NzkwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNTE2MzcyMzMKT2J3b2hsIGljaCBkYXMgR2Vncmllc2VsIGRlciBsZXR6dGVuIFplaXQgbmljaHQgbWl0YmVrb21tZW4gaGFiZSwgbW9lY2h0IGljaApkb2NoIGRhcnVtIGJpdHRlbiwgb2huZSBFbnRzY2h1bGRpZ3VuZ2VuIHVudGVyZHJ1ZWNrZW4genUgd29sbGVuLCBkaWUgTmFtZW4KenVtaW5kZXN0IG5pY2h0IG9lZmZlbnRsaWNoIHp1IHZlcmxhdXRiYXJlbiwgdW0gd2VpdGVyZW4gSGV0emVuCnZvcnp1YmV1Z2VuLgpTb2xsdGUgPG5hbWU+IGltbWVyIG5vY2gga2VpbmUgUnVoZSBnZWJlbiwgbWVya3QgbWFuIHNvd2llc28gd2VyJ3MgaXN0L3dhci4KVG9ybG9mLCBkZXIgd2FzIG1pdCBtYW5jaGVuIEtvbW1lbnRhcmVuIHdhaHJzY2hlaW5saWNoIE1pdHNjaHVsZHRyYWdlbmRlciBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3N0a2FydGVuIChFbm5veCwgMjMuIFNlcCAyMDA5LCAyMjozNzo1NSk6CkhhbGxvIER1LAp3aWUgRHUgc2ljaGVyIGluIGRlciBSdWJyaWsgb2VmZmVudGxpY2hrZWl0c2FyYmVpdCBnZWxlc2VuIGhhc3QsIGdpYnRzCldlcmJlcG9zdGthcnRlbiB2b20gTUcsIGljaCBoYWJlIGVpbmUgZ2FuemUgTWVuZ2UgZGF2b24gc2Nob24gdW50ZXIgZGllIExldXRlCihNdWRkZXIpIGdlYnJhY2h0LCBkYW1pdCBkaWVzZSBkaWUgd2VpdGVydmVydGVpbGVuIGtvZW5uZW4uIEdyb3NzZSBQYWtldGUKaGFiZW4gSmFubmUsIFZlY3RvciwgWmVzc3RyYSB1bmQgR3VhcmQgYmVrb21tZW4gKGpld2VpbHMgMTUwMCksIGljaCBoYWJlIGF1Y2gKbm9jaCBlaW4gcGFhciBoaWVyLgoKRGEgamV0enQgYmFsZCBkYXMgU2VtZXN0ZXIgd2llZGVyIGxvc2dlaHQgdW5kIFN0dWRlbnRlbiBlaW5lIHVuc2VyZXIKWmllbGdydXBwZW4gc2luZCwgd29sbHRlIGljaCBoaWVybWl0IG5vY2htYWwgYW4gZGllIEFrdGlvbiBlcmlubmVybi4gRGVtbmNoc3QKaXN0IGVzIGFsc28gc2lubnZvbGwsIGRhc3MgRHUgZGllIGFuIFVuaXMvTWVuc2VuIHZlcnRlaWxzdCwgYXVjaApTdHVkZW50ZW5rbHVicyB1bmQgYW5kZXJlIExvY2F0aW9ucyBzaW5kIGRhbm4gc2ljaGVyIHdpZWRlciBzdGFlcmtlciBiZXN1Y2h0LgoKTm9jaG1hbCBmdWVyIERpY2ggenVtIE5hY2hsZXNlbjoKcnVicmlrIG9lZmZlbnRsaWNoa2VpdHNhcmJlaXQKYXJ0aWtlbCA1CnVuZCBmb2xnZW5kZSwgc293aWU6Cmh0dHA6Ly93aWtpLm1vcmdlbmdyYXVlbi5pbmZvL2luZGV4LnBocD9uPVdlcmJ1bmcuUG9zdGthcnRlbgoKVmllbGVuIERhbmsgYW4gZGllIG9iZW4gZ2VuYW5udGVuLCBzb3dpZQpTcmFiaSwgQ3JvZnQsIERlcmluLCBBbWFyeWxsaXMsIEh1bW5pLCBNaXJpbCwgQXJhdGhvcm4sIER1bnN0LCBTdHJvaGFsbSwKSGFuc3d1cnN0LCBTdW5mbG93ZXIsIEZhaG5kZXIsIEFyaywgVmFuaW9uIGZ1ZXJzIFVlYmVybmVobWVuIGVpbmVzIFN0YXBlbHMKUG9zdGthcnRlbiB1bmQgZmxlaXNzaWdlbiBWZXJ0ZWlsZW5zLgoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlubGFkdW5nIHp1ciBGcmVlIFRvdXIgTkZFIChNaXJha2EsIDEyLiBPa3QgMjAwOSwgMTk6MDA6MjYpOgpXZXIgZGllIE5GRSAobmV1ZSBGZXVlcmViZW5lIFNTUCAoU2NocmVja2Vuc3NwaXR6ZSkpIG5vY2ggbmljaHQga2VubnQsIGFiZXIKc2Nob24gaW1tZXIgbWFsIHdpc3NlbiB3b2xsdGUsIHdhcyBkaWUga29taXNjaGVuIFNlaGVyIGRhIHZlcmFuc3RhbHRlbiwgd2VubgpzaWUgZGVtIERyYWNoZW5nb3R0IG5hY2hzdGVsbGVuLCBkZW4gbGFkZW4gKGRpZSBhdWNoIGVpbmdlbGFkZW5lbiBTZWhlcikKZWluaWdlIGVuZ2FnaWVydGUgQWx0ZnV6enlzZWhlciBhbSBNaXR0d29jaCBnZWdlbiAxOCBVaHIgenUgZWluZXIgZ2VtdWV0bGljaGVuCkJlc2ljaHRpZ3VuZyBvZGVyIChuYWNoIE1ldHplbGJlZGFyZikgYXVjaCB6dSBlaW5lbSBLb21wbGV0dHJ1bmRnYW5nIGVpbi4KQW5tZWxkdW5nIChkYW1pdCBtYW4gc2llaHQsIG9iIHVlYmVyaGF1cHQgSW50ZXJlc3NlIGJlc3RlaHQpIHVlYmVyICJ0bSBmaWVyb25hCmthbGVuZGVyIHVlYmVyc2ljaHQiIGJ6dy4gInRtIGZpZXJvbmEga2FsZW5kZXIgaGlsZmUiIHp1ciBPcmllbnRpZXJ1bmcuClNvbGx0ZSBkZXIgVGVybWluIG5pY2h0IHp1c2FnZW4gKHNpZWh0IG1hbiBkYW5uIGphIGhvZmZlbnRsaWNoKSwga2FubiBtYW4gZGVuCnp1IGVpbmVtIGFuZGVyZW4gWmVpdHB1bmt0IG1hbCBuYWNoaG9sZW4uCkhvZmZlIGF1ZiBJbnRlcmVzc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1GcnVlaGphaHJzcGFydHkgaW4gRHJlc2RlbiAoTWVzaXJpaSwgIDkuIEphbiAyMDEwLCAyMzoxOToxNyk6CkhhbGxvLAppY2ggbW9lY2h0ZSB3aWVkZXIgZWluZSBGcnVlaGphaHJzcGFydHkgaW4gREQgbWFjaGVuLgpXaWUgZ2VoYWJ0IHNjaGxhZmVuIGltIEJsYXVlbiBIYXVzLCBQYXJ0eSBpbiBkZXIgQnVjaGJhciB1bmQgZGVyIFJlc3Qgd2lyZApzaWNoIGZpbmRlbi4KRG9vZGxlIExpbmsgZnVlciBkZW4gVGVybWluIGhpZXIuCmh0dHA6Ly9kb29kbGUuY29tL3lxNG14NmlrdHJmM2VtMjYKS29tbWV0IHp1aGF1ZgpNZXNpCi0+IHNpZWhlIGF1Y2ggcnVicmlrIHBhcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0YWZlbCAoSmFzb25zdGVlbCwgIDguIEZlYiAyMDEwLCAyMTo0NTo1NCk6Cm9oLCBoaWVyIGJpbiBpY2ggd29obCBmYWxzY2ggd2FzIDopIHRqYSBtZWluIGVyc3RlciBBcnRpa2VsIGluIGRlciBNUEEgZGFiZWkKaXN0IGhpZXIgbnVyIG5lIGFsdGUgVGFmZWwgZ2V3ZXNlbiBhdWYgZGVyIGljaCBkYWNodGUgbWFuIGtvZW5uZSBzY2hyZWliZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjcmVlbmNhc3RzIHVlYmVycyBNdWQgKE1lc2lyaWksIDEyLiBBcHIgMjAxMCwgMDI6MjA6MTgpOgpTaGFreSBoYXR0ZSBhdWYgZGVyIFZlcmVpbnN2ZXJzYW1tbHVuZyBkaWUgSWRlZSwgdmVyc3RhZXJrdCBzdGF0dCBWb3J0cmFlZ2VuClNjcmVlbmNhc3RzICgxMCBtaW4pIHp1IGVyc3RlbGxlbiwgbWl0IGRlbmVuIG1hbiBhbGxlIG1vZWdsaWNoZW4gVGhlbWVuCmFiaGFuZGVsbiBrb2VubnRlLiBWZXJvZWZmZW50bGljaHVuZyB1ZWJlciBZb3V0dWJlLCBpVHVuZXMgZ2dmLiBmYWNlYm9vay4KCklkZWVuIGZ1ZXIgVGhlbWVuOgoqIEh1bW5pcyBUdXRvcmlhbAoqIEVpbmZ1ZWhydW5nIGluIExQQwoqIGVmdW5zCiogRGVyIERyaXZlcgoqIERpZSBNdWRsaWIKKiBXaWUgc2V0enRlIGljaCBtaXIgZWluIEhvbWVtdWQgYXVmCiogYmVzb25kZXJlIE9iamVrdGU6IE5QQywgV2FmZmVuLCBBdXNydWVzdHVuZywgS2xlaWR1bmcsIEtuZWlwZSwgTGFkZW4KKiBNYWdpZXIgVG9vbHMuIE1HLVRvb2wsIEx1cGUsIG90ZXN0IHVzdy4KKiBUaW55RnVndWUKKiBXaWUgbWFsZSBpY2ggbWlyIGVpbmUgS2FydGUKCnNjaHJlaWJ0IG1hbCB3YXMgaWhyIHZvbiBkZXIgSWRlZSBoYWx0ZXQsIHdlbGNoZSBUaGVtZW4tSWRlZW4gaWhyIG5vY2ggaGFldHRldAp1bmQgYXVmIHdlbGNoZSBUaGVtZW4gSWhyIEx1c3QgaGFldHRldCBkaWUgenUgcHJvZHV6aWVyZW4uCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NyZWVuY2FzdHMgdWViZXJzIE11ZCAoWm9vaywgMTIuIEFwciAyMDEwLCAwODo0NzowMCk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNzEwMzE2MTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjcxMDMxNjE4Ck5vY2ggbmUgSWRlZToKKiBXaWUgbWFjaGUgaWNoIGVpbiBTY3JlZW5jYXN0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClR3aXR0ZXItQWNjb3VudCAoTWFoYXJldCwgMTIuIEFwciAyMDEwLCAxMDo0ODozMik6CkhhbGxvIGFsbGVyc2VpdHMsCndlaXNzIGplbWFuZCwgd2VyIGRlbiBUd2l0dGVyLUFjY291bnQgIk1vcmdlbmdyYXVlbiIgZXJvZWZmbmV0IGhhdD8gSWNoIHd1ZXJkZQpkZW4gZ2VybiBudXR6ZW4sIHVtIGRpZSBOZXdzIGRvcnQgenUgcG9zdGVuLiBCaXNoZXIgaXN0IGRlciB2b2VsbGlnIHVuZ2VudXR6dC4KRGFua2UsCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUd2l0dGVyLUFjY291bnQgKEppbWRpZ3JpeiwgMTIuIEFwciAyMDEwLCAxNDozMDoxOSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNzEwNjIxMTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjcxMDYyMTEyClZlcm11dGxpY2ggamVtYW5kIGRlbXMgZ3JhdXQgYW0gbW9yZ2VuLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHdpdHRlci1BY2NvdW50IChSdW1hdGEsIDEyLiBBcHIgMjAxMCwgMTQ6NTI6MDQpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyNzEwNzU0MTkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjcxMDYyMTEyCmlzdCBkZXIgR3JpZWNoZW50ZWxsZXIgbm9jaCBmcmVpPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVHdpdHRlci1BY2NvdW50IChCYW1idWxrbywgMTIuIEFwciAyMDEwLCAxNDo1Mzo0OSk6Cn4jISBybj1SdW1hdGEgcnQ9MTI3MTA3NjcyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNzEwNjIxMTIKSmV0enQgaGFiZSBpY2ggSHVuZ2VyIGF1ZiBHeXJvcyA6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NyZWVuY2FzdHMgdWViZXJzIE11ZCAoWmVzc3RyYSwgMTIuIEFwciAyMDEwLCAyMjoyNToxMCk6Cn4jISBybj1ab29rIHJ0PTEyNzEwNTQ4MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjcxMDMxNjE4CkhlaGUuIEdlbmF1IGRlbiBXdW5zY2ggaGFiIGljaCBkaXJla3Qgd2FlaGVyZW5kIGRlciBTaXR6dW5nIGFuIFNoYWt5CmdlcmljaHRldC4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY3JlZW5jYXN0cyB1ZWJlcnMgTXVkIChTaGFrZWRiZWVyLCAyMi4gQXByIDIwMTAsIDIxOjM3OjU3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI3MTEwMzkxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNzEwMzE2MTgKLi4uIHVuZCBpc3QgcXVhc2kgc2Nob24gaW4gQXJiZWl0LiA7LSkKClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTAgeWVhcnMgYWZ0ZXIgKERhbnRlLCAyNy4gQXByIDIwMTAsIDAyOjQ0OjI5KToKYmFjayBhZ2FpbiwgdGVuIHllYXJzIGFmdGVyIGdyZWF0IGFkdmVudHVqcmVzLi4uLi4ud2hhdCBhbiBwcmV0dHkgZnVja2luZyBnb29kCnRpbWUuLi4uLgp0aHggYSBsb3QgYS5iLiBNRCwgUGhELgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDEwIHllYXJzIGFmdGVyIChTaGFyaWEsIDI3LiBBcHIgMjAxMCwgMTc6MDM6MjEpOgp+IyEgcm49RGFudGUgcnQ9MTI3MjMyOTA2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyNzIzMjkwNjkKd2VsY29tZSBiYWNrIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXJ0eWJyZXR0ZXIgYXVmZ2VzdGVsbHQgKE1lc2lyaWksICAyLiBKdWwgMjAxMCwgMDA6NDU6NDApOgplaW5mYWNoIG1hbCBhbm1lbGRlbiwgd2lyIGZyZXVlbiB1bnMgc2Nob24gYXVmIGRpZSBQYXJ0eS4KCkxHIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm11ZC5kZSAoTWVzaXJpaSwgIDIuIEp1bCAyMDEwLCAxMzozMTowMSk6CkRhIG11ZC5kZSBvZmZlbnNpY2h0bGljaCBuYWNoIGVpbmVtIFVtenVnIGJlaSBIYXRlcyBTZXJ2ZXIgbmljaHQgbWVocgpmdW5rdGlvbmllcnRlLCBrYW1lbiBOYWNoZnJhZ2VuLCB3aWUgZXMgZGEgYXVzc2NoYXV0LgoKSWNoIGhhYmUgbWFsIGJlaSBIYXRlIGFuZ2VmcmFndCwgb2IgbWFuIGRhcyBuaWNodCBhdWYgZGllICJuZXVlIiAoMiBvZGVyIDMKSmFocmUgYWx0ZSkgVmFyaWFudGUsIGRpZSBHdWFyZEBtZyB1bmQgaWNoIGF1ZiBkZXYubXVkLmRlIGdlYmF1dCBoYXR0ZW4uCgpEaWUgQW50d29ydCB3YXI6IAoKaXN0IGF1ZiBkZXYubXVkLmRlIHVtZ2Vib2dlbi4KCkxlby4KClVuZCBzZWl0IGRlbSBpc3QgZGllICJuZXVlIiBWZXJzaW9uIG9ubGluZSwgYmVpIEZyYWdlbiBhbiBtaWNoIAoobXVkX2RlIGF0IG1lc2lyaWkuZGUpCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdWcgLi4uIGFiZXIgcGFzc2VuZCAuLi4gKE1pcmFrYSwgMjAuIEF1ZyAyMDEwLCAxMzo1NzoxMCk6CiAgRWluIGthZW1wZmVyaXNjaGVyIFNjaHVwcGVud2FlY2h0ZXIgc2NobGFlZ3QgRGljaCB6dSBCcmVpLgpbVG9kOkxhcnNdIEVpbiBTYW5jdHVtc3dhZWNodGVyIGRlciBTY2h1cHBlbmdlbWVpbnNjaGFmdCBoYXQgZ2VyYWRlIE1pcmFrYQpbVG9kOkxhcnNdIHVtZ2VicmFjaHQuCltUb2Q6RWluIFNhbmN0dW1zd2FlY2h0ZXIgZGVyIFNjaHVwcGVuZ2VtZWluc2NoYWZ0XSBKZWRlciwgZGVyIGRhcyBTYW5jdHVtCltUb2Q6RWluIFNhbmN0dW1zd2FlY2h0ZXIgZGVyIFNjaHVwcGVuZ2VtZWluc2NoYWZ0XSBzY2hhZW5kZXQsIGhhdCBzZWluIExlYmVuCltUb2Q6RWluIFNhbmN0dW1zd2FlY2h0ZXIgZGVyIFNjaHVwcGVuZ2VtZWluc2NoYWZ0XSBzY2hvbiB2ZXJwZmFlbmRldC4KW1RvZDpNaXJha2FzIEtvZXJwZXIgdHJpdHQgZWluZSBSZWlzZSBhbiwgZGllIGlobiBob2ZmZW50bGljaCBzY2huZWxsIGlucwogICAgIEVsZmVuZG9yZiB6dXJ1ZWNrZnVlaHJ0Ll0KTWhpcmFsdW5hIHNjaGxlaWNodCBoZXJlaW4uCkdlYm9yZ2VuZXIgT3J0LgpFcyBnaWJ0IGRyZWkgc2ljaHRiYXJlIEF1c2dhZW5nZTogc3VlZGVuLCBub3JkZW4gdW5kIHdlc3Rlbi4KRWluIFd1bmRlcmRva3Rvci4KRWluIGtudWZmaWdlciBaaWdldW5lcndhZ2VuLgpFaW4gSGFuZGJ1Y2ggZnVlciBBbmZhZW5nZXIuCkVpbmUgYnVsbGlnZSBNYW50aXNiaWVuZS4KSW4gZWluZXIgRWNrZSBzdGVodCBlaW4gT3BmZXJzdG9jay4KRWluZSBaZWl0dW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoQW15bnRob3IsIDI2LiBBdWcgMjAxMCwgMjI6MjE6MTQpOgpBbHMgaWNoIGdlcmFkZSBtaXQgYWx0ZW4gUXVlc3Rsb2dzIHp1IHR1biBoYXR0ZSwgaGFiZSBpY2ggbWljaCBnZWZyYWd0LAp3ZWxjaGUgUXVlc3RzIGVpZ2VudGxpY2ggYW0gc2VsdGVuc3RlbiBnZWxvZXN0IHdvcmRlbiBzaW5kLiBVbmQgZGEgc2ljaCBkYXMKZGVyIGVpbmUgb2RlciBhbmRlcmUgdmllbGxlaWNodCBhdWNoIHNjaG9uIG1hbCBnZWZyYWd0IGhhdCwgaGllciBtYWwgZGllIHplaG4KaGFlcnRlc3RlbiBOdWVzc2UuIDopCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUCAgU3R1ZmUgIGdlbG9lc3QgIHZlcmFudHcuIE1hZ2llcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEuIEhpbGYgZGVtIEFyY2hpdGVrdGVuICAgICAgICAgICAgICAgICAxMzUgICAyMCAgICAgbmVpbiAgICBSb2NodXMKIDIuIFN0b3BwZSBkZW4gWndlcmdlbmFuZ3JpZmYgICAgICAgICAgICAgMjAgICAyMCAgICAgbmVpbiAgICBBbWFyeWxsaXMKIDMuIERhcyB2ZXJsb3JlbmUgSGVyeiAgICAgICAgICAgICAgICAgICAgNjUgICAyMCAgICAgbmVpbiAgICBHb3IKIDQuIFRob3JzIEhhbW1lciAgICAgICAgICAgICAgICAgICAgICAgICAgNjAgICAxNiAgICAgbmVpbiAgICBQYXJhY2Vsc3VzCiA1LiBEYXMgQXVnZSBkZXMgVGV1ZmVscyAgICAgICAgICAgICAgICAgIDc4ICAgMTggICAgIG5laW4gICAgQXJrCiA2LiBOaWxzIEhvbGdlcnNzb24gICAgICAgICAgICAgICAgICAgICAgIDY1ICAgMTUgICAgIGphICAgICAgVGlsbHkKIDcuIERlciBrbGVpbmUgSG9ycm9ybGFkZW4gICAgICAgICAgICAgICAgMzcgICAxMCAgICAgamEgICAgICBXaW0KIDguIFdlcmRlIE9iZXJnbGFkaWF0b3IgICAgICAgICAgICAgICAgICAgMTAgICAxOCAgICAgbmVpbiAgICBEdXJpYW4KIDkuIFBhZ2FuaW5pcyBUZXVmZWxzZ2VpZ2UgICAgICAgICAgICAgICAgNzUgICAxOCAgICAgbmVpbiAgICBUcm95CjEwLiBUYW56IG1pdCBkZW0gSW5mZXJubyAgICAgICAgICAgICAgICAgMTAwICAgMTkgICAgIG5laW4gICAgUHVtYQoKRGEgbmF0dWVybGljaCBhdWNoIG5ldWVyZSBRdWVzdHMsIGRpZSBub2NoIG5pY2h0IHZpZWxlIFNwaWVsZXIga2VubmVuLCBlcnN0CnNlbHRlbiBnZWxvZXN0IHNpbmQsIGhhYmUgaWNoIG51ciBkaWUgUXVlc3RzIGJlcnVlY2tzaWNodGlndCwgZGllIGVzIHNjaG9uCm1pbmRlc3RlbnMgc2VpdCB6ZWhuIEphaHJlbiBnaWJ0LiBEaWUgVW50ZXJzY2hpZWRlIHNpbmQgZ3Jvc3M6ICJIaWxmIGRlbQpBcmNoaXRla3RlbiIgd3VyZGUgbnVyIGtuYXBwIDIwMCBtYWwgZ2Vsb2VzdCwgIlRhbnogbWl0IGRlbSBJbmZlcm5vIiBpbW1lcmhpbgprbmFwcCA4NTAgbWFsLiAoWnVtIFZlcmdsZWljaDogIlNjaHJhdCBrYW5uIG5pY2h0IGVpbnNjaGxhZmVuIiBpc3QgbWl0IGtuYXBwCjk1MDAgbWFsIGRpZSBhbSBoYWV1Zmlnc3RlbiBnZWxvZXN0ZSBRdWVzdCkuCgpWaWVsIFNwYXNzIGJlaW0gWmFlaG5lIGF1c2JlaXNzZW4gOykKQW15bnRob3IKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoWmVzc3RyYSwgMjYuIEF1ZyAyMDEwLCAyMjoyNjo1MSk6Cn4jISBybj1BbXludGhvciBydD0xMjgyODU0MDc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NAo2IGRhdm9uIHNpbmQgYXVjaCBhdWYgbWVpbmVyIExpc3RlIHVuZ2Vsb2VzdC4gS3VyaW9zZXJ3ZWlzZSBhYmVyIG5pY2h0IFBsYXR6CjEuICpnKiBEaWUgUXVlc3Qgdm9uIGRlbiAxMCwgZGllIGljaCB1ZWJyaWdlbnMgc2VpdCAyLTMgSmFocmVuIG1hY2hlbiB3aWxsLApzb2JhbGQgaWNoIG1hbCAyIFRhZ2UgYW0gU3R1ZWNrIG5peCBhbmRlcmVzIHp1IHR1biBoYWJlLCBpc3QgJ0RhcyBBdWdlIGRlcwpUZXVmZWxzJy4KKFdhcnVtIG51ciBBcms/IFdhcnVtIG51ciBoYXQgZGEgbmljaHQgamVkZXIgU3BpZWxlciBzZWluIFZDLUdlYmlldCwgaW4gZGVtCmVpbnNjaGxhZmVuIHVuZCBhbiBnbGVpY2hlciBTdGVsbGUgd2llZGVyIGF1ZndhY2hlbiBrYW5uPyA7LSkgKFJoZXRvcmlzY2hlCkZyYWdlKSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUT1AgMTAgZGVyIHNjaHdpZXJpZ3N0ZW4gUXVlc3RzIChLaGlkYXIsIDI2LiBBdWcgMjAxMCwgMjM6NTU6MjQpOgp+IyEgcm49QW15bnRob3IgcnQ9MTI4Mjg1NDA3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKV2llIGhhZXVmaWcgZWluZSBRdWVzdCBnZWxvZXN0IHdpcmQgaGFlbmd0IHdvaGwgYXVjaCB2b24gZGVyIFF1ZXN0YmVsb2hudW5nCmFiLCBpbnNvZmVybiBmYWVsbHQgbU1uIEluZmVybm8gZXR3YXMgYXVzIGRlbSBSYWhtZW4uIFVuZCBBcmNoaXRla3QgdW5kIEdlaWdlcgpoYWJlbiBiZWkgbWVpbmVuIFp3ZWl0aWVzIGtlaW5lbiBMb2VzdW5nc2VpbnRyYWcgbGF1dCBBYmVudGV1ZXJ0YWdlYnVjaC4KSW50ZXJlc3NhbnQgaXN0IGRpZSBBdWZzdGVsbHVuZyBhYmVyIHNjaG9uLCBRdWVzdHMgbWl0IHF1ZXN0dmFyaWFibGVyCkZvcnNjaGVyZWkgc2luZCBnZWhhZXVmdCBtaXQgMyB2b24gaW5zZ2VzYW10IGV0d2EgZWluZW0gRHV0emVuZCB2ZXJ0cmV0ZW4uCgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKEFyaywgMjcuIEF1ZyAyMDEwLCAwMDowOTowMCk6Cn4jISBybj1LaGlkYXIgcnQ9MTI4Mjg1OTcyNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKTWFuIGthbm4gbGVpY2h0IHNlaGVuLCB3YXJ1bSBkYXMgc28gaXN0OgoxLiBFcyBzaW5kIHRlbmRlbnppZWxsIGhvY2hzdHVmaWdlIFF1ZXN0cy4gVmllbGUgU3BpZWxlciBoYWJlbiBhdWZnZWhvZXJ0LCBiaXMKc2llIHNpY2ggenUgZGllc2VuIFF1ZXN0cyB2b3J0YXN0ZW4sIGRlbm4gc2llIHN0ZWhlbiBuaWNodCB3ZWl0IG9iZW4gaW4gZGVyClF1ZXN0bGlzdGUgKFRoZXNlOiBqZSB3ZWl0ZXIgdW50ZW4gaW4gZGVyIFF1ZXN0bGlzdGUsIGRlc3RvIHRyYWVnZXIgd2lyZCBkZXIKU3BpZWxlciwgZGllc2UgaGV1dHp1dGFnZSB6dSBiZWdpbm5lbiB1bmQgenUgYmVlbmRlbiAuLi4gZnJ1ZWhlciB3YXIgZGFzCmFuZGVycywgbWFuIGhhdHRlIChuYWhtIHNpY2gpIG1laHIgWmVpdCkuIERpZSBnZXJpbmdlciB3ZXJkZW5kZQpkdXJjaHNjaG5pdHRsaWNoZSBWZXJ3ZWlsZGF1ZXIgaGV1dGlnZXIgTmV1c3BpZWxlciB3aXJkIGRhcyBiZWxlZ2VuLgoyLiBNdW5kcHJvcGFnYW5kYSB1ZWJlciB2ZXJtZWludGxpY2hlIHNjaGxpbW1lIE1hZ2llcm11ZXR6ZW4sIGRvb2ZlIFN5bnRheCwKZHVtbWUgU3RvcnksIGRhZW1saWNoZSBVbWdlYnVuZywgYWxiZXJuZSBIaW5kZXJuaXNzZSwgbGVlcmUgUmFldW1lLCBkYWRpZGFkdW1tCmJlZWluZmx1c3N0IGFuZGVyZSBTcGllbGVyLCBkaWUgZGllIFF1ZXN0cyBvYmVuIG1laWRlbiA6LSkKUHVua3QgMiBpc3QgZHVyY2hhdXMgZXJuc3QgZ2VtZWludCwgdHJvdHogZGVzIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKEhpZ2h0LCAyNy4gQXVnIDIwMTAsIDEwOjIwOjM3KToKfiMhIHJuPUFyayBydD0xMjgyODYwNTQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NAppY2ggaGFiIGRpZSB0YXRzYWVjaGxpY2ggYWxsZSBnZW1hY2h0IFxvLyBhbGxlcmRpbmdzIGhhZXR0ZSBpY2ggZ2VzY2h3b3JkZW4sCmRhc3MgZGVyIGhvcnJvcmxhZGVuIG5lIHJlY2h0IG5ldWUgcXVlc3QgaXN0LgoKdW5kIGFyayBoYXQgcmVjaHQuIGF1c25haG1zd2Vpc2UgLi4uIGF1Y2ggZWluZSBibGluZGVzIC4uLi4gCmVzIGdhYiBlaW5pZ2UgcXVlc3RzLCBkYXJ1bnRlciBhZHQgdW5kIGluZmVybm8sIGRpZSBpY2ggZXdpZyB2b3IgbWlyIGhlcgpnZXNjaG9iZW4gaGFiZSB3ZWlsIGplZGUociksIGRlciBkaWUgcXVlc3QgYW5nZWdhbmdlbiBpcywgbnVyIGFtIGZsdWNoZW4gd2FyLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUT1AgMTAgZGVyIHNjaHdpZXJpZ3N0ZW4gUXVlc3RzIChCcm90bmFlbCwgMjcuIEF1ZyAyMDEwLCAxMTozNjozMyk6Cn4jISBybj1BbXludGhvciBydD0xMjgyODU0MDc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApNaWNoIHd1bmRlcnQgamEsIGRhc3MgZGllIGJlaWRlbiBlaW56aWdlbiBNZXR6ZWxxdWVzdHMgbWl0IGF1ZmdlbGlzdGV0IHNpbmQsCmRhdm9uIFp3ZXJnZW5hbmdyaWZmIHNvZ2FyIGF1ZiBQbGF0eiAyLiBTaW5kIHdpciBkb2NoIGFsbGUgbnVyCkJsdWVtY2hlbnBmbHVlY2tlcj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUT1AgMTAgZGVyIHNjaHdpZXJpZ3N0ZW4gUXVlc3RzIChIdXJheHByYXgsIDI3LiBBdWcgMjAxMCwgMTI6MjE6MTQpOgp+IyEgcm49QW15bnRob3IgcnQ9MTI4Mjg1NDA3NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKQXJjaGl0ZWt0IGlzdCB6aWVtbGljaCBrbGFyLCBtYW4gYnJhdWNodCAzIExldXRlIG1pdCBlaW5pZ2VzIGFuIGdlbWVpbnNhbWVyClplaXQgd2VubiBtYW4gZGllIG5pY2h0IHNjaG9uIGtlbm50LCBhYmVyIE9iZXJnbGFkaWF0aW9yIGlzdCByZWNodAp2ZXJ3dW5kZXJsaWNoIGRhIGhhYmUgaWNoIGVpZ2VudGxjaCBhdWNoIGRpZSBtZWlzdGVuIFp3ZWl0aWVzIGR1cmNoZ2VzY2hpY2t0LgpUaG9ycyBIYW1tZXIgemIgd2VyZGUgaWNoIGFiZXIgd29obCBrZWluIHp3ZWl0ZXMgTWFsIG1lciBtYWNoZW4gZGEgaWNoIG1pY2ggZGEKbnVyIGR1cmNoZ2V3dXJzdGVsdCBoYXR0ZS4gWnUgZGVuIGhhZXVmaWdlciBnZW1hY2h0ZW4gUXVlc3RzIHdlcmRlbiBhdWNoIGRpZQpnZWhvZXJlbiBkaWUgbWl0IGRlbiBGUHMgZ2xlaWNoIHp3ZWkgTGV2ZWwgZ2ViZW4uLi4KQWJlciBtdXNzIGVpbmUgTGFuemUgZnVlciBBZFQgYnJlY2hlbiwgdHJvdHogZGVtIG5lcnZpZ2VuIEltLUdyYWItTGFuZGVuIGVpbmUKc2VociBzdGltbXVuZ3N2b2xsZSBRdWVzdCwgdW5kIGRpZSBWb3JhdXNzZXR6dW5nIGZ1ZXIgZWluIHNlaHIgc3RpbW11bmdzdm9sbGVzCkdlYmlldCBkYWhpbnRlciEKCmh1cmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKFpvb2ssIDI3LiBBdWcgMjAxMCwgMTI6MjM6MzApOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTEyODI5MDQ0NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgyODU0MDc0CkFyY2hpdGVrdCB3YXIgaGFsdCBzbyBuZW4gc2Nob2VuZSBSWi1SYXVtLUtuYWxsZXIgbWl0IHRpZWYgaW4gZGllIE5hY2h0CmhlcnVtc3VjaGVuIHVuZCBtYWNoZW4gdW5kIFBpenphIGlucyBIUlogYmVzdGVsbGVuIHVuZCBzbyAuLi4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKEh1bW5pLCAyNy4gQXVnIDIwMTAsIDEzOjIwOjE2KToKfiMhIHJuPVpvb2sgcnQ9MTI4MjkwNDYxMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKTmFqYSwgZGllIFJaLVplaXRlbiBzaW5kIHZvcmJlaS4gV2lyIGhhYmVuIHVucyBmdWVyIGRlbiBBcmNoaXRla3RlbiBhdWNoIGVpbgpXb2NoZW5lbmRlIFplaXQgZ2Vub21tZW4gdm9yIGVpbiBwYWFyIEphaHJlbiwgbXRpIDMgTGV1dGVuIGJlaSB1bnMgenVoYXVzZS4KTmltbXQgc2ljaCBuaWNodCBqZWRlciwga2FubiBtYW4gYXVjaCB2ZXJzdGVoZW4uCgpBZFQga2FubiBpY2ggdmVydGVoZW4sIGRhcyBpc3QgYXVjaCBiZWltIHp3ZWl0ZW4gTWFsIG5vY2ggQXVmd2FuZCAtIGFiZXIgbWFuCndpcmQgZWNodCBtaXQgZWluZXIgdG9sbGVuIFN0b3J5IGJlbG9obnQuIEljaCB3dWVyZGUgZGllIFF1ZXN0IHNvZ2FyIGFscyBlaW5lCmRlciBQZXJsZW4gaW0gTXVkIGFuc2VoZW4uIEtsYXIsIG1hbiBtdXNzIHZpZWwsIHZpZWwgZm9yc2NoZW4sIGFiZXIgZGllIFN0b3J5CnN0aW1tdCwgdW5kIGljaCBoYWIgZWNodCBzY2hsaW1tZXJlIHVuZCBvZWRlcmUgUnVtZm9yc2NoZXJlaSBlcmxlYnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoQ2hhZ2FsbCwgMjcuIEF1ZyAyMDEwLCAxMzozMDoxNCk6Cn4jISBybj1IdW1uaSBydD0xMjgyOTA4MDE2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApXb2JlaSBkaWUgU3RvcnkgYmVpIEFkVCBlcnN0IHJpY2h0aWcgYW5mYWVuZ3QsIHdlbm4gbWFuIGRpZSBRdWVzdCBoaW50ZXIgc2ljaApoYXQgdW5kIGRhbm4gaW4gUGFyYSB3ZWl0ZXJmb3JzY2h0LiBTY2hhZGUsIGRhc3MgQXJrIGRhIGVyc3RtYWwgbmljaHQgd2VpdGVyCm1hY2h0LiBEYXMgUGFyYS1IYXVzIHNvd2llIGRlciBOZWJlbGhvZiBzaW5kIHJpY2h0aWcgc2Nob2VuZSBHZWJpZXRlLCBlcyBnZWh0Cm51ciBsZWlkZXIga2F1bSB3ZXIgZGFoaW4uCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoWm9vaywgMjcuIEF1ZyAyMDEwLCAxNDoxNzowNyk6Cn4jISBybj1DaGFnYWxsIHJ0PTEyODI5MDg2MTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgyODU0MDc0ClZpZWxsZWljaHQgbXVzcyBpY2ggc2llIGRvY2ggbWFsIGFuZ2VoZW4sIGRpZSBRdWVzdC4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoQXJrLCAyNy4gQXVnIDIwMTAsIDE1OjAwOjM5KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMjgyOTA0NDc0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApKYSwgZGFzIFZlcmhhZWx0bmlzICJGb3JzY2hiZWxvaG51bmcgaW4gU3R1cHNlbi9Gb3JzY2hhdWZ3YW5kIiBpc3QgbmF0dWVybGljaApiZWkgUXVlc3RzIHdpZSBQeXJhbWlkZW4gb2RlciBGcmFnZ2xlIGRldXRsaWNoIGhvZWhlci9iZXNzZXIgYWxzIGJlaSBkZW4Kc2VsdGVuZXIgZ2VzcGllbHRlbiBRdWVzdHMuIEF1Y2ggTXVuZHByb3BhZ2FuZGEgZGVyICJlaW5mYWNoZXIgc3BpZWxlbiIKUGhpbG9zb3BoaWUuIFVuZCBkYWR1cmNoIGJlZGluZ3QgKHdhZ2UgaWNoIG1hbCBhbHMgVGhlc2UpIG1hY2hlbiBzaWNoIFNwaWVsZXIKYXVjaCBhbHMgU2VoZXIgbmljaHQgbWVociBhbiBzb2xjaGUgUXVlc3RzLgpEZW4gImljaCBoYWJlIGtlaW5lL3dlbmlnIFplaXQiIEZha3RvciBsZWhuZSBpY2ggYWxzIEJlZ3J1ZW5kdW5nIHJ1bmRoZXJ1bSBhYgo6LSkgTWFuIGhhdCBuaWUgWmVpdCwgZXMgc2VpIGRlbm4sIG1hbiBuaW1tdCBzaWNoIHNpZS4gQWJlciBkYW5uIGhhZXR0ZSBtYW4KZGllIFZlcmFudHdvcnR1bmcgbmF0dWVybGljaCBiZWkgc2ljaCB6dSBzdWNoZW4sIG5pY2h0IGJlaSBkZW0gTWFnaWVyLgpBbmdlYm90c3RlY2huaXNjaCB3aXJkIG1hbiBhbHMgTWFnaWVyIGRhbm4gbmF0dWVybGljaCByZWFnaWVyZW4gLi4uIGxlaWNodAp2ZXJkYXVsaWNoZSBRdWljayBXaW5zIChzcnkgZnVlciBkYXMgV29ydCkgbWl0IHdlbmlnCkZvcnNjaGVuL1JhZXVtZW4vTlBDL2RhZGFkYSwgYm9lc2UgZm9ybXVsaWVydDogTWFzc2Vud2FyZSA7LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUT1AgMTAgZGVyIHNjaHdpZXJpZ3N0ZW4gUXVlc3RzIChHYWJ5bG9uLCAyNy4gQXVnIDIwMTAsIDE4OjQyOjE3KToKfiMhIHJuPUhpZ2h0IHJ0PTEyODI4OTcyMzcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgyODU0MDc0CkFkVCB1bmQgSW5mZXJuby4uLiB6d2VpIGRlciBzY2hvZW5zdGVuIFF1ZXN0cyBoaWVyIGltIE1HLCBnYW56IGVocmxpY2guCk5hamEsIHNvIHVudGVyc2NoaWVkbGljaCBzaW5kIEdlc2NobWFlY2tlci4KCkBIdW1uaTogQWRUIGlzdCBiZWltIHp3ZWl0ZW4gTWFsIEF1ZndhbmQ/IEhtbS4gQWJlciBuaWNodCBtZWhyIGFscyBlaW5lCmd1dGUgdmllcnRlbCBTdHVuZGUuCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKENoYWdhbGwsIDI3LiBBdWcgMjAxMCwgMTg6NDM6MTgpOgp+IyEgcm49R2FieWxvbiBydD0xMjgyOTI3MzM3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApXZW5uIER1IGRpZSBGUCBkb3J0IG1pdG5laG1lbiB3aWxsc3QsIGlzdCBzaWUgYXVmd2VuZGlnLiBPaG5lIEZQIHJhdXNjaHQgbWFuCmRhIGFsbGVyZGluZ3Mgc2VociBmaXggZHVyY2guIEFiZXIgQXJrIGhhdCBkYXp1Z2VsZXJudCwgZGFzIGlzdCBsZWlkZXIgaW4Kc2VpbmVuIG5ldWVuIEdlYmlldGVuIG5pY2h0IG1laHIgc28gb2huZSB3ZWl0ZXJlcyBtb2VnbGljaC4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKE5pY29sYWksIDI3LiBBdWcgMjAxMCwgMTg6NDY6MzIpOgp+IyEgcm49QnJvdG5hZWwgcnQ9MTI4MjkwMTc5MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKYmVpIG1ldHplbHF1ZXN0cyBoaWxmdCBrZWluZSBrbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKE1pcmltYWRlbCwgMjcuIEF1ZyAyMDEwLCAxOTowODoyMSk6Cn4jISBybj1OaWNvbGFpIHJ0PTEyODI5Mjc1OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgyODU0MDc0CkJlaSBkZW4gZ2Vsb2VzdGVuIFF1ZXN0IG11c3MgbWFuIGF1Y2ggYmVydWVja3NpY2h0aWdlbiB3ZWxjaGUgUGZsaWNodHF1c3QgaW4KZ2lsZGVuIHNpbmQuCkFlY2hpdGVrdCBmaW5kZSBpY2ggc3VwaSBndXQsIG1hbiBicmF1Y2h0IG51ciAyIGFuZGVyZSBkaWUgZGFzIGF1Y2ggc28gc2VoZW4sCnVuZCBIb3Jyb3JsYWRlbiBtYWNodCBkb2NoIGVpZ2VudGxpY2ggdmllbCBTcGFzcy4KTWlyaSB6ZWlndCBhdWYgQXJrIHVuZCBuaWNrdCBoZWZ0aWcsIHdlbm4gImFsdGVyIFNwaWVsZXJtdW5kIGp1bmdlbgpTcGllbGVyb2hyIiBlcnphZWhsdCwgZGFubiBsb2VzdCBOZXVzcGllbGVyIG1laW5zdCBkaWUgUXVlc3QuCk5hIHVuZCBkZXIgS2xlaW5lIEhvbGdlcnNvbiBkaWUga2FubiBtYW4gZG9jaCBzY2hvbiBpbSB1bnRlcmVuIExldmVsbiBtYWNoZW4KdW5kIGlzdCBhdWNoIGVpbiBzY2hvZW5lcyBGb3JzY2hnZWJpZXQuCkljaCBwZXJzb2VubGljaCBtYWcgcXVzdHMgbmljaHQgd28gaWNoIHVudGVyIFplaXRkcnVjayBzdGVoZSAiQXRsYW50aXMiLCBudXIKYWxzIEJlaXNwaWVsLgphYmVyIGVpbmUgcmljaHRpZyBzY2hsaW1tZSBRdWVzdCBnaWJ0IGVzIG5pY2h0LCB3ZW5uIG1hbiBhdWNoIGphbW1lcnQgdW5kCkZsdWNodCwgenUgc2NoYWZmZW4gc2luZCBzaWUgYWxsZS4KRnJvZWhsaWNoZXMgUXVlc3RlbiBNaXJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUT1AgMTAgZGVyIHNjaHdpZXJpZ3N0ZW4gUXVlc3RzIChaZXNzdHJhLCAyNy4gQXVnIDIwMTAsIDIzOjI3OjAzKToKfiMhIHJuPUFyayBydD0xMjgyOTE0MDM5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApEZXIgImljaCBoYWJlIGtlaW5lL3dlbmlnIFplaXQiIEZha3RvciBpc3Qgd2VuaWdlciByZWxldmFudCwgd2VubiBtYW4gZWluClN0dWVjayBmb3JzY2hlbiBrYW5uLCBlaW5zY2hsYWZlbiBrYW5uIHVuZCBkYW5uIGFuIGRlciBnbGVpY2hlbiBTdGVsbGUKd2VpdGVybWFjaGVuIGthbm4uIFdlbm4gbWFuIG5hY2ggZWluc2NobGFmZW4gd29hbmRlcnMgYXVmd2FjaHQgdW5kIGRhbm4KcmVwcm9kdXppZXJlbiBtdXNzLCB3YXMgbWFuIGJpc2hlciBnZW1hY2h0IGhhdC4uLiB3aXJkIFplaXQgKEx1c3QgbmF0dWVybGljaAphdWNoKSBkZXV0bGljaCByZWxldmFudGVyLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoSHVtbmksIDI4LiBBdWcgMjAxMCwgMDg6NDQ6MDMpOgp+IyEgcm49WmVzc3RyYSBydD0xMjgyOTQ0NDIzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4Mjg1NDA3NApBY2ggamEsIGRlbiBPYmVyZ2xhZGlhdG9yIGthcGllcmUgaWNoIGF1Y2ggbmljaHQuIERhIGhhYiBpY2ggc28gbWl0IExldmVsIDIwCmFsbGUgbWVpbmUgWndlaXRpZXMgZHVyY2hnZXNjaGlja3QsIGhhdHRlIGVpZ2VudGxpY2gga2VpbmVyIFByb2JsZW1lIG1pdC4gRGEKZ2lidHMgUXVlc3RzLCB3byBtYW4gYXVjaCBoYXVlbiBtdXNzIChNYXlhIHouQi4pLCBkaWUgaWNoIGRldXRsaWNoIHNjaHdpZXJpZ2VyCmZpbmRlLCBkYSBtYW4gZGEgbmljaHQgbWFsIGViZW4gYXVzIGRlbSBRdWVzdGdlYmlldCByYXVzIHVuZCB0YW5rZW4ga2Fubi4KU3BhZXRlc3RlbnMgYWxzIFNlaGVyIGlzdCBkYXMgR2FuemUgbmljaHQgbWVociB3aXJrbGljaCBzY2h3aWVyaWcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoQXJrLCAzMC4gQXVnIDIwMTAsIDExOjI4OjQ4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI4Mjk0NDQyMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKTWVpbiBHUyAoZ2FicyBkYW1hbHMgbm9jaCBuaWNoLCBvaykgd2FyIGFscyAiaWNoIHNwaWVsZSBhbGxlaW4gdW0gMjIgVWhyIGJpcwouLi4gaWNoIHdpbGwgbmljaHQgYXVmaG9lcmVuLCBiaW4gYWJlciBuaWNodCBzdWVjaHRpZyIgUXVlc3QgZ2VwbGFudC4KTmFqYSwga2FubiBtYW4gd29obCBuaWNodCB3aWVkZXJob2xlbiwgYWJlciBlaW5tYWwgd2FyJ3MgZGFzIHdlcnQsIHNvIGF1cwptZWluZXIgU2ljaHQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJzdGtpbGxzICsgUGxha2V0dGUgKEFyYXRob3JuLCAzMS4gQXVnIDIwMTAsIDIzOjUzOjIxKToKSGFsbG8genVzYW1tZW4sCgphbHMgZXJzdGVzIHZvcndlZyBhbHMgSW5mbywgZWluaWdlIGhhYmVuIGRhcyBqYSBzY2hvbiBtaXRiZWtvbW1lbjogRXMgd3VyZGVuCmhldXRlIGltIExhdWZlIGRlcyBBYmVuZHMgcnVuZCAyMCBFcnN0a2lsbHMgYXVzZ2V0cmFnZW4sIGRpZSB6dW1laXN0IGF1cwpkZXIgS2F0ZWdvcmllICJuaWNodCAobWVocikgYW5nZXNjaGxvc3NlbiIsICJ1bmVycmVpY2hiYXIiLCAibmljaHQgdm9uCmFsbGVuIGVycmVpY2hiYXIiIHN0YW1tdGVuLiBFaW4gd2VpdGVyZXIgRUsgd2FyIG5hY2ggZWluZW0gR2ViaWV0c3VtenVnCmRvcHBlbHQgdm9yaGFuZGVuLCB3YXMgZGF6dSBmdWVocnRlLCBkYXNzIG5ldWUgU3BpZWxlciBudXIgZGVuIG5ldWVyZW4gZGVyCmJlaWRlbiBFS3MgaG9sZW4ga29ubnRlbi4KRGllIEF1ZnJhZXVtYWt0aW9uIGJld2lya3QgaW5zYmVzb25kZXJlLCBkYXNzIGpldHp0IEJydW1uaSBhdWNoIGV0bGljaGUKdW5zaW5uaWdlIEVLLVRpcHMgInZlcmdlc3NlbiIgaGF0LgoKWnVzYWV0emxpY2ggaGFiZSBpY2ggZGllIFBsYWtldHRlIGFuZ2VwYXNzdCwgc28gZGFzcyBkaWUgamV0enQgYXVjaCBiZWkKZGVuZW4ga29ycmVrdCB6YWVobGVuIHNvbGx0ZSwgZGllIExlb25hIGdlaGF1ZW4gaGFiZW4uIChEYW5rZSB1ZWJyaWdlbnMgZnVlcgpkZW4gVGlwLCBkYXNzIGRpZXNlciBOUEMgZGVuIFJlY2hlbmZlaGxlciBhdXNnZWxvZXN0IGhhdHRlLikgQWxsZXJkaW5ncyBoYWJlCmljaCBuaWNodCBkaXJla3QgYWxsZSBFdXJlIFBsYWtldHRlbiBhdXN0YXVzY2hlbiBrb2VubmVuLCBkYSBlcyBzaWNoIHVtCkF1dG9sb2FkZXIgaGFuZGVsdCwgZGllIGVpbmlnZSBFaW5zdGVsbHVuZ2VuIGludGVybiBzcGVpY2hlcm4sIHVuZCBkaWVzZQpzb25zdCB2ZXJsb3JlbiBnZWdhbmdlbiB3YWVyZW4uIERhaGVyIGdpYnQncyBuZXVlIFBsYWtldHRlbiB3aWUgaW1tZXIgbnVyCm1pdCBFbmRlL1JlYm9vdC4KCkdydXNzLCBBcmF0aG9ybi4KClBTOiBXaWUgdWVibGljaCwgd2VubiB3YXMgbmljaHQgd2llIGVyd2FydGV0IGZ1bmt0aW9uaWVydCwgbWVsZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoS2Vzc2EsICAxLiBTZXAgMjAxMCwgMjM6MDA6MjgpOgp+IyEgcm49QXJrIHJ0PTEyODMxNjA1Mjggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgyODU0MDc0CkFkVCBpc3QgdG9sbCwgdW5kIGljaCBnZWIgQXN1a2EgcmVjaHQ6IGRhbmFjaCBnZWh0J3MgZXJzdCBsb3MhIERhc3Mgc2ljaCBqYQprZWluZXIgdm9uIGlyZ2VuZHdlbGNoZXIgZmllc2VuIE11bmRwcm9wYWdhbmRhIGFic2NocmVja2VuIGxhZXNzdCB3aWUgImxhbmcsCmZvcnNjaGVuLCBnZWZhZWhybGljaC4uLiIgZGFzIHN0aW1tdCBuYXR1ZXJsaWNoIGFsbGVzIHVuZCBub2NoIHZpZWwgbWVocgpzY2hyZWNrbGljaGUgRGluZ2UsIGFiZXIgZXMgbG9obnQgc2ljaCEgKERpZXMgaGllciBpc3QgbmF0dWVybGljaCBrZWluZQpNdW5kcHJvcGFnYW5kYS4pIFVuZCB1bSBhdWNoIG1hbCBzdGVsbHZlcnRyZXRlbmQgZWluZSBhbmRlcmUgZGFuZWJlbnp1c3RlbGxlbjoKIlN0ZXJuZW5saWNodCIgZmFuZCBpY2ggaW4gZGllc2VyIEhpbnNpY2h0IC0gSW1tZXJzaW9uIC0gYXVjaCB6LkIuCnd1bmRlcnNjaG9lbi4gSWNoIGhhYiB6d2VpIGFic29sdXQgc2VsaWdlIE5hY2htaXR0YWdlIHVuZCBBYmVuZGUgZG9ydAp2ZXJicmFjaHQgLSB0b3RhbCBkYSBkcmluIC0sIGRpZSBpY2ggbmljaHQgbWlzc2VuIG1vZWNodGUuIFVuZCBub2NoIG1hbmNoZQphbmRlcmUuCgpJY2ggbWVpbiAtIHdhcyB3aWxsIGljaCBkZW5uIGhpZXI/IEZyZWllIFplaXQgc2Nob2VuIHZlcmJyaW5nZW4gLSBuaWNodApFZ2Fsd2FzIG1vZWdsaWNoc3Qgc2NobmVsbCBoaW50ZXIgbWljaCBicmluZ2VuLiBEYXp1IGhhYiBpY2ggR2VzY2hpcnIgdW5kCk11ZWxsIHVtZCBzbyBaZXVncy4gV2VubiBqZW1hbmQgZGFzIGFuZGVycyBzaWVodCB1bmQgZ2VybiBlZmZla3RpdiB2aWVsZQpQdW5rdGUgaW4gbW9lZ2xpY2hzdCBrdXJ6ZXIgWmVpdCBzYW1tZWxuIHdpbGwsIHNvbGwgZXIgbnVyLCBkYXMgbmltbXQgbWlyCm5pY2h0cyB2b24gbWVpbmVyIGVpZ2VuZW4gRnJldWRlIHVuZCBpY2ggZnVlaGwgbWljaCB1ZWJlcmhhdXB0IG5pY2h0CmdlZHJhZW5ndCwgZGFtaXQgenUga29ua3VycmllcmVuLgoKKEtsaW5ndCBrb21pc2NoIGltIFByYWVzZW5zLCBhYmVyIGljaCBob2ZmIGRvY2gsIG1hbCBpcmdlbmR3YW5uIHdpZWRlciBtZWhyClplaXQgdW5kIFJ1aGUgenUgaGFiZW4sIHVtIG1laHIgaGllciB6dSBzZWluIDopKQoKS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRPUCAxMCBkZXIgc2Nod2llcmlnc3RlbiBRdWVzdHMgKE9ya3RvZXRlciwgIDIuIFNlcCAyMDEwLCAyMDoyMDozMSk6Cn4jISBybj1BcmsgcnQ9MTI4Mjg2MDU0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKQWRUIGlzdCBlaW5lIHRvbGxlIFF1ZXN0LiBLbGFyLCBtYW4ga2FubiBkb3J0IGRyYXVmIGdlaGVuLCBtYW4gd2lyZCBlcwp2ZXJtdXRsaWNoIHNvZ2FyIGRhcyBlaW5lIG9kZXIgYW5kZXJlIG1hbCwgYWJlciBkYXMgaXN0IGVzIFdlcnQuIFdlciBkdXJjaCBkaWUKUXVlc3QgaW0gRWlsdGVtcG8gZHVyY2hyYXVzY2h0IHVuZCBkYXJhdWYgdmVyemljaHRldCBpbiBkaWUgU3RpbW11bmcKZWluenV0YXVjaGVuLCBkZXIgdmVycGFzc3QgZGFzIEJlc3RlIGFuIGRlciBnYW56ZW4gUXVlc3QuCgpNZWluZSAyIE9lc2ljZW50LCBPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVE9QIDEwIGRlciBzY2h3aWVyaWdzdGVuIFF1ZXN0cyAoR2FieWxvbiwgIDIuIFNlcCAyMDEwLCAyMDozMzo1Nyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTI4MzQ1MTYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODI4NTQwNzQKbWFuIGthbm4gYXVmIGRlciBxdWVzdCBsYXVmZW4/IGlzdCBkYXMgbmV1PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9iaWxlcyBJbnRlcm5ldCBpbiBPZXN0ZXJyZWljaCAoQmFtYnVsa28sICA2LiBTZXAgMjAxMCwgMTI6NDE6NDApOgpLYW5uIGplbWFuZCBlaW5lbiBQcmVwYWlkIEFuYmlldGVyIGZ1ZXIgZ3VlbnN0aWdlcyBNb2JpbGVzIEludGVybmV0IGluCk9lc3RlcnJlaWNoIGVtcGZlaGxlbj8gSWNoIGJyYXVjaGUgZXMgZWlnZW50bGljaCBudXIgZnVlciB6d2VpIFdvY2hlbiwgYWxzbwp3YWVyZSBzbyBlaW5lIE1vbmF0c2ZsYXRyYXRlIGdhbnogZ3V0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vYmlsZXMgSW50ZXJuZXQgaW4gT2VzdGVycmVpY2ggKEhpZ2h0LCAgNy4gU2VwIDIwMTAsIDEzOjAwOjQ5KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyODM3Njk3MDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgzNzY5NzAwCm5hY2hkZW0gbWVpbiBhcmJlaXRnZWJlciBtZWluZSB0ZWxlZm9ucmVjaG51bmdlbiB6YWhsdCBrYW5uIGljaCBkaXIgbmljaHQKc2FnZW4gd2llIGVzIG1pdCBkZW4gcHJlcGFpZCBhbmdlYm90ZW4gYXVzc2llaHQuCgpEaWUgTmV0emJldHJlaWJlciBmaW5kZXN0IGR1IHVudGVyOgoKdGVsZXJpbmcuYXQKdC1tb2JpbGUuYXQKYTEubmV0Cm9yYW5nZS5hdApkcmVpLmF0Cgp3b2JlaSB0ZWxlcmluZyB1bmQgZHJlaSBnbGF1YiBhdWNoIG51ciByZXNlbGxlciBhbGEgZGViaXRlbCBzaW5kLgpVbmQgZXMgZ2lidCBuYXR1ZXJsaWNoIGF1Y2ggZGllIE1vZWdsaWNoa2V0aSB6dSBIb2ZlciAoQWxkaSkgenUgZ2VoZW4uCnNjaGltcGZ0IHNpY2ggZ2xhdWIgWWVzc3Mgb2RlciBzby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyYWdlIG5hY2ggcmVib290IChNaXJpbWFkZWwsIDEzLiBTZXAgMjAxMCwgMTI6NTQ6NDYpOgprYW5uICBtbiBzY2hvbiBnZW5hdWVyIHNhZ2VuIHdlbm4gUmVib290IGlzdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcnN0a2lsbHMgKyBQbGFrZXR0ZSAoVmFyZGlvbiwgMTMuIFNlcCAyMDEwLCAxNzo1MToxNSk6Cn4jISBybj1BcmF0aG9ybiBydD0xMjgzMjkxNjAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI4MzI5MTYwMQpJY2ggdWViZXJsZWdlIG1hbCBsYXV0IC0gbXVlc3N0ZSBtYW4gZWluZSBuZXVlIFBsYWtldHRlIChvaG5lICJFbmRlIikgbmljaHQKYXVjaCBkdXJjaCBkaWUgQXV0b2xvYWRlcnRydWhlIGJla29tbWVuIGtvZW5uZW4/IEt1cnogcmVpbnBhY2tlbiB1bmQgd2llZGVyCnJhdXNuZWhtZW4uCkRpZXNlcyBWZXJmYWhyZW4gc29sbHRlIGdydW5kc2FldHpsaWNoIGJlaSBhbGxlbiAodm9uIGRlciBUcnVoZSBlcmxhdWJ0ZW4pCkF1dG9sb2FkZXJuIGdlaGVuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcnN0a2lsbHMgKyBQbGFrZXR0ZSAoWmVzc3RyYSwgMTMuIFNlcCAyMDEwLCAxOTo1ODozMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyODQzOTMwNzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjgzMjkxNjAxCkR1IGRlbmtzdCB0YXRzYWVjaGxpY2ggcmljaHRpZy4gOi0pCkd1dGVyIEhpbndlaXMhCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnJhZ2UgbmFjaCByZWJvb3QgKEFtYXJ5bGxpcywgMTMuIFNlcCAyMDEwLCAyMTowODowMSk6Cn4jISBybj1NaXJpbWFkZWwgcnQ9MTI4NDM3NTI4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyODQzNzUyODYKTmVpbi4gRXMgd2lyZCBhYmVyIHdvaGwgbGVpZGVyIHJlY2h0IGt1cnpmcmlzdGlnIHNlaW4sIGRhIE5ldENvbG9nbmUgbWlyCmtlaW5lbiBsYWVuZ2VyZnJpc3RpZ2VuIFRlcm1pbiBhbmJpZXRlbiBrYW5uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSm9iYW5nZWJvdCAoVmFuaW9uLCAxOS4gTm92IDIwMTAsIDIwOjI5OjA3KToKRmFsbHMgZWluIEFwcC1FbnR3aWNrbGVyIG1pdCBKYXBhbmlzY2gtR3J1bmRrZW5udG5pc3NlbiBhdWYgZGVyIFN1Y2hlIG5hY2gKZWluZW0gemVpdGxpY2ggdW5iZWZyaXN0ZXRlbSBFbmdhZ2VtZW50IGhhdCwgYml0dGUgYmVpIG1pciBtZWxkZW4uIE1pciBpc3QKaGV1dGUgZWluIG5pY2h0IHVuaW50ZXJlc3NhbnRlcyBKb2JhbmdlYm90IHVudGVyZ2Vrb21tZW4uCkljaCBsZWl0ZSBudXIgd2VpdGVyLCBoYWIgc2VsYnN0IG5peCBkYXZvbi4gQXVzc2VyIEludGVyZXNzZSBhbSBFcmdlYm5pcy4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFciBoYXQgbmFjaGdlc2FsemVuIChBbXludGhvciwgMTEuIERleiAyMDEwLCAxNToyMjoyNSk6CkVyaW5uZXJ0IHNpY2ggamVtYW5kIGRhcmFuLCB3ZWxjaGUgRWtlbC1BbGZyZWQtRm9sZ2UgZGFzIHdhciwgaW4gZGVyIGVyIHNpY2gKdWViZXIgZGFzIHZlcnNhbHplbmUgRXNzZW4gYmVzY2h3ZXJ0LCBuYWNoZGVtIGVyIHVlYmVydHJpZWJlbiBuYWNoZ2VzYWx6ZW4KaGF0dGU/IEljaCBzdWNoZSBkYXMgZ2VyYWRlIHZlcnp3ZWlmZWx0LiA6LSgKCkRpZSBGb2xnZSB3YXIgaW4gRmFyYmUuCgpBbXludGhvcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFciBoYXQgbmFjaGdlc2FsemVuIChaZXNzdHJhLCAxMS4gRGV6IDIwMTAsIDE2OjA3OjI3KToKfiMhIHJuPUFteW50aG9yIHJ0PTEyOTIwNzczNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjkyMDc3MzQ1Ck1obW0uIEJpbiBtaXIgbmljaHQgc2ljaGVyLCBhYmVyIGRhcyBrb2VubnRlICdEZXIgU3lsdmVzdGVycHVuc2NoJyAoRm9sZ2UgMTIpCnNlaW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyIGhhdCBuYWNoZ2VzYWx6ZW4gKEFteW50aG9yLCAxMS4gRGV6IDIwMTAsIDE2OjA5OjQyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI5MjA4MDA0NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTIwNzczNDUKSGF0dGUgaWNoIGF1Y2ggc2Nob24gdmVybXV0ZXQsIGFiZXIgZGllIFN0ZWxsZSBuaWNodCBnZWZ1bmRlbiAobmljaHQgbWFsIGRhcwpwYXNzZW5kZSBTZXQpLiBEYW5uIGd1Y2sgaWNoIG5hY2hoZXIgbm9jaG1hbCBncnVlbmRsaWNoZXIuLi4KCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRXIgaGF0IG5hY2hnZXNhbHplbiAoWmVzc3RyYSwgMTEuIERleiAyMDEwLCAxNjoxMzoyOCk6Cn4jISBybj1BbXludGhvciBydD0xMjkyMDgwMTgyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5MjA3NzM0NQpJY2ggZGVuaywgZGFzIGlzdCBkaSBTemVuZSwgd28gc2llIHp1bSBNaXR0YWdlc3NlbiBpbnMgV29obnppbW1lciBnZWhlbiB1bmQKc2ljaCBBbGZyZWQgZGllIEZ1ZXNzZSBpbiBkZXIgS2FydG9mZmVsc2NodWVzc2VsIGJhZGV0IChvZGVyIHNvKS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyIGhhdCBuYWNoZ2VzYWx6ZW4gKEFteW50aG9yLCAxNC4gRGV6IDIwMTAsIDE3OjQ0OjQ4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI5MjA4MDQwOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTIwNzczNDUKSWNoIGhhYmUgZXMgZ2VmdW5kZW46IGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1ObGZRZnFuSTc3awpEYXMgd2FyIHRhdHNhZWNobGljaCBkZXIgU3lsdmVzdGVycHVuc2NoLiBEYW5rZSEgOi0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJvaGUgV2VpaG5hY2h0c2ZlaWVydGFnZSB1bmQgZ3V0ZW4gUnV0c2NoISA6LSkgKFpvb2ssIDIzLiBEZXogMjAxMCwgMTA6Mzc6MTUpOgpIYWxsbyB6dXNhbW1lbiwKCmljaCB3dWVuc2NoIEV1Y2ggZnJvaGUgV2VpaG5hY2h0c2ZlaWVydGFnZSB1bmQgZWluZW4gZ3V0ZW4gUnV0c2NoCmlucyBuZXVlIEphaHIhIE51dHp0IGRpZSBmcmVpZW4gVGFnZSBmdWVyIFJ1aGUgdW5kIEJlc2lubmxpY2hrZWl0Cm9kZXIgbWV0emVsdCBlaW4gcGFhciBNb25zdGVyLCBsb2VzdCBlaW4gcGFhciBRdWVzdHMuLi4uIG1hY2h0CmF1ZiBqZWRlbiBGYWxsIGV0d2FzLCB3YXMgRXVjaCBTcGFzcyBtYWNodCEgOikKCkJlc3RlbiBEYW5rIGFuIGFsbGUsIGRpZSBoaWVyIGltIE1vcmdlbkdyYXVlbiB2b3IgdW5kIGhpbnRlciBkZW4gS3VsaXNzZW4KbWl0Z2Vob2xmZW4gaGFiZW4sIGRhc3MgYWxsZXMgcmVpYnVuZ3Nhcm0gZ2VsYXVmZW4gaXN0ISBVbmQgbmF0dWVybGljaCAKYXVjaCBlaW4gZ3Jvc3NlcyBEYW5rIGFuIGFsbGUgTWl0c3BpZWxlci4KClZpZWxlIEdydWVzc2UsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJvaGUgV2VpaG5hY2h0c2ZlaWVydGFnZSB1bmQgZ3V0ZW4gUnV0c2NoISA6LSkgKFJ1bWF0YSwgMjMuIERleiAyMDEwLCAyMDoyNTozOCk6Cn4jISBybj1ab29rIHJ0PTEyOTMwOTcwMzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMjkzMDk3MDM1CkF1Y2ggdm9uIG1pciBlaW4gZ2VzZWduZXRlcyBGZXN0IHVuZCBlaW5lbiBndXRlbiBSdXRzY2ggaW5zIG5ldWUKSmFociB1bmQgZGFua2UgYW4gYWxsZSwgZGllIHp1IHVucyBnZWhhbHRlbiBoYWJlbi4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa3dlciAoU2hhcmlhLCAgOC4gSmFuIDIwMTEsIDIxOjU0OjExKToKVGFjaGNoZW4sCgptaXIgaXN0IGdyYWRlIGF1ZmdlZmFsbGVuLCBkYXNzIG1hbiBtaXQgImt3ZXIgZ2lsZGUga2xlcnVzIiBuaWNodCBhbGxlCmtsZXJpa2VyIHNlaGVuIGthbm4uIG1pdCAia3dlciBnaWxkZSBrbGVyaWsiIHNpZWh0IG1hbiBkaWUgR29ibGlucyBhYmVyIGRpZQphbmRlcmVuIFJhc3NlbiBuaWNodC4KCmljaCB2ZXJtdXRlLCBkYXNzIGRpZXMgbWl0IGFuZGVyZW4gImt3ZXIiIGViZW5mYWxscyBzbyBpc3QsIHdlbm5zIHVtIGRpZQpHb2JsaW5zIGdlaHQuLi4gZGFoZXIgaGllciBpbiBhbGxnZW1laW4uCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrd2VyIChaZXNzdHJhLCAgOS4gSmFuIDIwMTEsIDEyOjE3OjMwKToKfiMhIHJuPVNoYXJpYSBydD0xMjk0NTIwMDUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5NDUyMDA1MQpKYSwgc28gaXN0IGVzLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrd2VyIChTbWVhZ29sLCAgOS4gSmFuIDIwMTEsIDE3OjU2OjI2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI5NDU3MTg1MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTQ1MjAwNTEKamEgdW5kPyBpcyBkYXMgc28gYWJzaWNodCA/Pz8KZG9vZiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga3dlciAoQ3JvZnQsICA5LiBKYW4gMjAxMSwgMTg6MTc6MTMpOgp+IyEgcm49U21lYWdvbCBydD0xMjk0NTkyMTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5NDUyMDA1MQpOZWluLiAgQWJlciBlaW4gZ3J1bmRsZWdlbmRlcyB1bmQgYmVrYW5udGVzIFByb2JsZW0sIGRhcyBuaWNodCBudXIga3dlcgpiZXRyaWZmdC4gIEFiIHdlbGNoZW4gS3JpdGVyaWVuIGRhcmYgbWFuIGVpZ2VudGxpY2ggQnVncmVwb3J0cyBuYWNoCkFsbGdlbWVpbmVzIGluIGRpZSBNUEEgcG9zdGVuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGt3ZXIgKFNtZWFnb2wsICA5LiBKYW4gMjAxMSwgMTg6MjI6NDIpOgp+IyEgcm49Q3JvZnQgcnQ9MTI5NDU5MzQzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTQ1MjAwNTEKYXVjaCBuZSBndXRlIGZyYWdlLCBhYmVyIHdvaGluIHNvbnN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga3dlciAoQ3JvZnQsICA5LiBKYW4gMjAxMSwgMTg6NDY6MzkpOgp+IyEgcm49U21lYWdvbCBydD0xMjk0NTkzNzYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5NDUyMDA1MQpQZXIgJ2J1Zycgei5CLiBiZWkgZGVuIEdvYmxpbnMgbWVsZGVuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGt3ZXIgKFplc3N0cmEsICA5LiBKYW4gMjAxMSwgMjM6MjY6NDMpOgp+IyEgcm49U21lYWdvbCBydD0xMjk0NTkyMTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5NDUyMDA1MQpOZWluLCBlcyBpc3QgbmljaHQgd2lya2xpY2ggQWJzaWNodC4gQWJlciB3ZW5uIG1hbiBHaWxkZW4gdW1iZW5lbm50LCBpc3RzCmFuZGVyZXJzZWl0cyB3ZW5pZyB1ZWJlcnJhc2NoZW5kLCBkYXNzIGRhcyBkYW5uIGJ6Z2wuIGRlciBSYXNzZSwgZGllIGRhcyB0dXQsCnp1IFByb2JsZW1lbiBmdWVocnQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBrd2VyIChWZWN0b3IsIDIwLiBKYW4gMjAxMSwgMDE6NDk6MDkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjk0NjEyMDAzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5NDUyMDA1MQpmcmFnIG1hbCBnb2JsaW4tY2hhb3RlbiwgZGllIHd1ZXJkZW4gZXVjaCBzYWVtdGxpY2hlIGZ1ZXNzZSB1bmQgCmhpbnRlcm4ga3Vlc3Nlbiwgd2VubiBpaHIgcHJvYmxlbSBudXIgImt3ZXIiIGhlaXNzZW4gd3VlcmRlIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga3dlciAoWmVzc3RyYSwgMjAuIEphbiAyMDExLCAxMDozMjozMik6Cn4jISBybj1WZWN0b3IgcnQ9MTI5NTQ4NDU0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTQ1MjAwNTEKQWNoamEsIGljaCBoYXR0ZSBhbSBXb2NoZW5lbmRlIG1hbCBuZW4gYmlzc2NoZW4gWmVpdCB1bmQgaGFicyBtaXIgYW5nZWd1Y2t0LgpEaWUgd2VybGlzdGUgZ3Vja3Qgc2ljaCBqZXR6dCAoYmVpIFNwaWVsZXJuKSBudXIgbm9jaCBkaWUgcmVhbGUgR2lsZGUgYW4sCm5pY2h0IGRpZSB2b3JnZXRhZXVzY2h0ZS4gRGFtaXQgc29sbHRlbiAobmFjaCBFbmRlL1JlYm9vdCkgYXVjaCBhbGxlIEdvYmxpbnMKd2llZGVyIGFuZ2V6ZWlndC4gQWxsZXJkaW5ncyBudXIgYmVpIGtvcnJla3RlciBTY2hyZWlid2Vpc2UgZGVyIEdpbGRlLCBkLmguCm5pY2h0IG1pdCBkZXIgZ29ibGluaXNjaGVuIFZhcmlhbnRlLgpXYXMgZnVlciBQcm9ibGVtZSBoYWJlbiBkZW5uIEdvYmxpbi1DaGFvdGVuIGVpZ2VudGxpY2g/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMUEMtQmlibGlvdGhlazogTERMaWIgKFplc3N0cmEsIDE1LiBGZWIgMjAxMSwgMjM6NTA6NDkpOgpIdWh1LAoKZGVyIEFydGlrZWwgaXN0IG1laHIgZnVlciBMUEMtUHJvZ3JhbW1pZXJlciBiZXN0aW1tdCwgYWJlciBuaWNodCB1bmJlZGluZ3QgbnVyCmZ1ZXIgTWFnaWVyIGltIE1HLCBkYWhlciBwb3N0ZSBpY2ggZGVuIGF1Y2ggaGllciBpbiBkaWVzZXIgUnVicmlrLgoKV2lyIGhhYmVuIHVucyBoZXV0ZSAoZWlnZW50bGljaCBtYWwgd2llZGVyKSBhdWYgLWQtY29kZSBkcnVlYmVyIHVudGVyaGFsdGVuLApkYXNzIGVzIGdlc2NoaWNrdCB3YWVyZSwgZWluZSBtdWQtdWViZXJncmVpZmVuZGUgU2FtbWx1bmcgYnp3LiBlaW5lIGdlbWVpbnNhbWUKQmlibGlvdGhlayB2b24gU2VmdW5zIHVuZCBhbmRlcmVuIExQQy1Ub29scy8tT2JqZWt0ZW4gZWluenVyaWNodGVuLiBBdWNoIHNvd2FzCndpZSBuZW4gUmVmZXJlbnotSW5ldGQgZnVlciBJbnRlcm11ZCBldGMuCgpXaXIgd29sbGVuIG1hbCBlaW5lbiBWZXJzdWNoIHN0YXJ0ZW4sIG9iIHNpY2ggc293YXMgenVzYW1tZW5icmluZ2VuIGxhZXNzdC4KSWNoIGhhYmUgZGFoZXIgdW50ZXIgZGVyIE9yZ2FuaXNhdGlvbiBMRE11ZCBhdWYgZ2l0aHViLmNvbSBlaW4gUHJvamVrdCBuYW1lbnMKTERMaWIgYW5nZWxlZ3Q6CgpMRExpYiBpcyBhIGxpYnJhcnkgb2YgbW9kdWxlcyBmb3IgY29tbW9uIHByb2dyYW1taW5nIHRhc2tzIGluIExQQy4KTERMaWIgaXN0IGVpbmUgQmlibGlvdGhlay9TYW1tbHVuZyB2b24gTW9kdWxlbiB6dXIgTG9lc3VuZyBoYWV1ZmlnZXIKUHJvZ3JhbW1pZXJwcm9ibGVtZSBpbiBMUEMuCmh0dHBzOi8vZ2l0aHViLmNvbS9sZG11ZC9sZGxpYiNyZWFkbWUKCklkZWUgaXN0IGFsc286IERpbmdlIHp1IHNhbW1lbG4sIGRpZSBtYW4gZWlnZW50bGljaCBuaWNodCBudXIgaW4gZWluZXIKYmVzdGltbXRlbiBNdWRsaWIgYnJhdWNodCwgRGluZ2UsIGRpZSBtYW4gaW1tZXIgd2llZGVyIGluIExQQyBicmF1Y2h0Li4uCgpBbHMgTGl6ZW56IGlzdCB1bnNlciBWb3JzY2hsYWcgenVyIFplaXQgZGllIElTQy1MaXplbnogKHMuIENPUFlJTkcgaW0KUHJvamVrdCkuCgpXZXIgc2ljaCBhbiBzb3dhcyBiZXRlaWxpZ2VuIHdpbGwgKGRhIGJyYXVjaHQgbWFuIHdpcmtsaWNoIGtlaW4gQyBmdWVyIHp1CmtvZW5uZW4pIHVuZCBDb2RlIGJlaXN0ZXVlcm4gbWFnLCBrYW5uIGVudHdlZGVyIGRhcyBQcm9qZWt0IGZvcmtlbiB1bmQgdW5zClB1bGwtUmVxdWVzdHMgc2NoaWNrZW4gb2RlciBiZWkgbmljaHQgbnVyIHNwb3JhZGlzY2hlciBNaXRhcmJlaXQgaW4gZGFzClByb2pla3R0ZWFtIGF1Zmdlbm9tbWVuIHdlcmRlbi4KV2VyIElkZWVuIHp1ciBBdXNnZXN0YWx0dW5nIGhhdDogYml0dGUgYmVpIEdub21pIG9kZXIgbWlyIG1lbGRlbiBvZGVyIGF1Y2gKaGllciBzY2hyZWliZW4uCldlciBMZXV0ZSBrZW5udCwgZGllIEludGVyZXNzZSBhbiBkZW0gUHJvamVrdCBoYWJlbiBrb2VubnRlbjogYml0dGUKd2VpdGVyZ2ViZW4uIDstKQoKRGFzIGdhbnplIGxhZXVmdCB6d2FyIGVuZyB2ZXJiYW5kZWx0IG1pdCBMRE11ZCwgYWJlciBtYW4gbXVzcyBlaHJsaWNoIHNhZ2VuOgplcyBzb2xsIG5pY2h0IGF1ZiB1bnMgTERNdWQtRW50d2lja2xlciBiZXNjaHJhZW5rdCBibGVpYmVuLiBEYXMgZ2FuemUgdW50ZXIKZGVyIE9yZ2FuaXNhdGlvbiBhdWYgZ2l0aHViLmNvbSBsYXVmZW4genUgbGFzc2VuLCBtYWNodCBlcyBhYmVyIGVpbmZhY2hlciwKYW5kZXJlbiBMZXV0ZW4gU2NocmVpYnp1Z3JpZmYgYXVmIGRhcyBQcm9qZWt0IHp1IGdlYmVuIHVuZCBlcnNjaGVpbnQgbWlyCnNpbm52b2xsZXIgYWxzIHVudGVyIGVpbmVtIHBlcnNvZW5saWNoZW4gQWNjb3VudCBlaW5lciBiZXN0aW1tdGVuIFBlcnNvbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhbmEgbW9lY2h0ZSBnZXdpbm5lbiA6KSAoTWVzaXJpaSwgIDIuIE1hciAyMDExLCAxMDoyNzozNyk6CldpciBoYWJlbiBiZWkgSWhyZW0gQXVmYmF1LVNwaWVsIFdlUnVsZSBlaW4gVmlkZW8gZWluZ2VyZWljaHQgYXVmCmRlbSBzaWUgYXVmIGRlbSBTcGllbCJ0ZXBwaWNoIiwgZGVuIGljaCBhdXMgaWhyZXIgUmVhbG0gYXVzZ2VkcnVja3QKaGFiIHNwaWVsdC4KV2VubiBTaWUgZ2V3aW5udCwga3JpZWd0IFNpZSBnYW56ZSB2aWVsZSBCb251cy1NYW5hIHVuZCBNYWhhKiBlaW5lbgpuZXVlbiBpUG9kIHRvdWNoIDopCgpXYWVyIGxpZWIsIHdlbm4gSWhyIEV1Y2ggYW0gVmlkZW8gZXJmcmV1ZW4gd3VlcmRldCB1bmQgbWFsIGF1ZiBkZW4KVm90ZS1CdXR0b24ga2xpY2t0LgoKaHR0cDovL2JpdC5seS9SYW5hU3BpZWx0V2VSdWxlUkwKCkRhbmtlIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYW5hIG1vZWNodGUgZ2V3aW5uZW4gOikgKE1haGFyZXQsICAyLiBNYXIgMjAxMSwgMTA6MzI6MDApOgp+IyEgcm49TWVzaXJpaSBydD0xMjk5MDU4MDU3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5OTA1ODA1NwpBY2gsIGRlbiBpcG9kIGtyaWVnIElDSD8gV293LgoKVm90ZW4hIFZvdGVuISBWb3RlbiEKCjspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhbmEgbW9lY2h0ZSBnZXdpbm5lbiA6KSAoUnVtYXRhLCAgMi4gTWFyIDIwMTEsIDEwOjMyOjMzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTI5OTA1ODMyMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTkwNTgwNTcKR3V0ZXMgS2FybWEgdW5kIGlUdW5lcyBsb2NraW4/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmFuYSBtb2VjaHRlIGdld2lubmVuIDopIChNYWhhcmV0LCAgMi4gTWFyIDIwMTEsIDEwOjMzOjA3KToKfiMhIHJuPVJ1bWF0YSBydD0xMjk5MDU4MzUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5OTA1ODA1NwpobT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJhbmEgbW9lY2h0ZSBnZXdpbm5lbiA6KSAoR2xvaW5zb24sICAyLiBNYXIgMjAxMSwgMTM6MTk6MTMpOgp+IyEgcm49TWFoYXJldCBydD0xMjk5MDU4Mzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5OTA1ODA1NwpJY2ggZGFjaHRlIGZ1ZXIgJ25lIGd1dGUgVGF0IGJla29tbWUgSUNIIGd1dGVzIEthcm1hPyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJhbmEgbW9lY2h0ZSBnZXdpbm5lbiA6KSAoTWFoYXJldCwgIDIuIE1hciAyMDExLCAxMzoyNzozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjk5MDY4MzUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTI5OTA1ODA1NwpLbGFyIGRvY2ghIFVuZCBtYW4gYnJhdWNodCBzaWNoIG5pY2h0IG1hbCBpcmdlbmR3aWUgcmVnaXN0cmllcmVuIGZ1ZXIncyBWb3Rlbi4KVW5kIHVlYmVyaGF1cHQuIApNZXNpIGlzdCBnYW56IGF1ZmdlcmVndCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmFuYSBtb2VjaHRlIGdld2lubmVuIDopIChaZXNzdHJhLCAgMi4gTWFyIDIwMTEsIDEzOjI4OjU1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTI5OTA2ODg1OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEyOTkwNTgwNTcKTWhtbW0sIGljaCBob2ZmZSwgZXIgdWViZXJzY2hhZXR6dCBkaWUgSG9yZGVuIGFuIE11ZGRlcm4gbmljaHQuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJrIHNhZ3QgZ3V0ZSBOYWNodC4gKE1haGFyZXQsICA3LiBNYXIgMjAxMSwgMjE6NDc6MTYpOgpJY2ggd29sbHRlIGRhcyBoaWVyIG51ciBpbnMgQXJjaGl2IGJyaW5nZW46CgpbQWxsZ2VtZWluOkFya10gRHVua2VsIHdhcidzLCBkZXIgTW9uZCBzY2hpZW4gaGVsbGUsIGFscyAnbmUgS3V0c2NoZQpbQWxsZ2VtZWluOkFya10gYmxpdHplc2NobmVsbGUgbGFuZ3NhbSBkdXJjaCBkZXMgTW9yZ2VuIGdyYXVlbmQgZnVoci4gRHJpbm5lbgpbQWxsZ2VtZWluOkFya10gcnVodGVuIGthZW1wZmVuZCBNb25zdGVyLCBmcmllZGxpY2ggaW4gZGVuIEthbXBmIHZlcnRpZWZ0LCBhbHMKW0FsbGdlbWVpbjpBcmtdIGVpbiB0b3RnZXNjaG9zcyduZXIgU3BpZWxlciBpbiBkZXIgQXJlbmEgQW1vayBsaWVmLiBVbmQgYWxzCltBbGxnZW1laW46QXJrXSBkZXIgV2FnZW4gZnVociBpbSBUcmFiZSBydWVja3dhcnRzIGF1ZiBkaWUgU2NocmVja2Vuc3NwaXR6JywKW0FsbGdlbWVpbjpBcmtdIHNwaWVsdCBkcm9iZW4gZWluIHVyYWx0ZXIgTWFnaWVyIGdyYWQgbWl0IGRlbSBNdW5kZSBNYWxlZml6LgpbQWxsZ2VtZWluOkFya10gUmluZ3N1bWhlciBoZXJyc2NodCB0aWVmZXMgU2Nod2VpZ2VuLCB1bmQgbWl0IGZ1ZXJjaHRlcmxpY2hlbQpbQWxsZ2VtZWluOkFya10gS3JhY2ggc3BpZWxlbiBpbiBkZXMgd29ubmlnIFdhbGRlcyBad2VpZ2VuIHp3ZWkgZHVtcGZlIEJhY2tlbgpbQWxsZ2VtZWluOkFya10gcmFzZW5kIFNjaGFjaC4gRGEsIGRpZSBGaXNjaGUgbGllZmVuIG11bnRlciBpbiBkaWUgaGVpbGlnJwpbQWxsZ2VtZWluOkFya10gR2lsZCcgaGluZWluLCBlbmRsaWNoIGdpbmcgZGllIFNvbm5lIHVudGVyLCBlcmhlbGx0IGRpZSBOYWNodApbQWxsZ2VtZWluOkFya10gbWl0IGlocmVtIFNjaGVpbi4gRGllIFN0aWxsZSBzY2hyZWl0IGRlbiBMYWVybSBhbiwgZG9jaCBkaWVzZXIKW0FsbGdlbWVpbjpBcmtdIHNjaHdlaWdldCB0aWVmc3RlIFJ1aCwgZGllIFNwaWVsZXIgZWluaWcgc3RyZWl0ZW4gd2VpdGVyLCB1bmQKW0FsbGdlbWVpbjpBcmtdIG1laW5lIEthdHonIGRpZSBxdWFrdCBudXIgbGVpc2UgJ011aCcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5rZSAoTWlyaW1hZGVsLCAgNi4gU2VwIDIwMTEsIDIwOjIyOjM1KToKRGllIFZlcmFlbmRlcnVuZyBiZWltIEhvZXJyb2hyIGlzdCBncm9zc2FydGlnIHVuZCBzcGl0emVubWFlc3NpZy4KVmllbGVuIERhbmsgWmVzc3RyYSB1bmQgZWluZW4gZ3Jvc3NlbiBibHVtZW5zdHJhdXNzIGZ1ZXIgRGljaCB6dW0gRGFuay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGF0dXNyZXBvcnRlIGZ1ZXIgU3BpZWxlciAoR2xvaW5zb24sIDI2LiBTZXAgMjAxMSwgMTc6MTI6MTUpOgp+IyEgcm49WmVzc3RyYSBydD0xMzE3MDM0MjQ5IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMzE3MDM0MjQ5Ckp1Y2hodT8gOykgRW5kbGljaCEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXR1c3JlcG9ydGUgZnVlciBTcGllbGVyIChab29rLCAyNi4gU2VwIDIwMTEsIDIwOjAyOjAyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTcwNDk5MzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzE3MDM0MjQ5CkR1IHdlaXNzdCBkb2NoLCBtYW5jaGUgTXVlaGxlbiBtYWhsZW4gbGFuZ3NhbSwgR2xvaW5zb24uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdGF0dXNyZXBvcnRlIGZ1ZXIgU3BpZWxlciAoWmVzc3RyYSwgMjYuIFNlcCAyMDExLCAyMTo1Nzo1Myk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzE3MDQ5OTM1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMxNzAzNDI0OQpGZWhsdCBudXIgbm9jaCBuZW4gdmVyYmVzc2VydGVuIFRlYW1yZXBvcnQuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGlsZmUgKyBVbnRlcnN0dWV0enVuZyBmdWVyIGRlbiBXZWItQ2xpZW50IChKYXZhU2NyaXB0KSBnZXN1Y2h0IChNZXNpcmlpLCAyNi4gU2VwIDIwMTEsIDIzOjAwOjMwKToKSGFsbG8sCgp3aWUgaWhyIHNpY2hlciBhbGxlIHdpc3N0LCBiaW4gaWNoIGRhYmVpIGRlbiBXZWItQ2xpZW50IGltbWVyIHdlaXRlciB6dQplbnR3aWNrZWxuLgpEYW5rIGRlciBmbGVpc3NpZ2VuIFRlc3RlciB1bmQgYXVjaCBtZWluZXIgZWlnZW5lbiBJZGVlbiwgd2VyZGVuIGVzIGltbWVyIG1laHIKb2ZmZW5lIFB1bmt0ZSBkaWUgYXVmIGh0dHBzOi8vZ2l0aHViLmNvbS9qZXhwL21nX2NsaWVudC9pc3N1ZXMgaWhyIGRhc2VpbgpmcmlzdGVuLgoKRXMgd2FlcmUgbWlyIGVpbmUgZ3Jvc3NlIEhpbGZlLCB3ZW5uIHNpY2ggbm9jaCBlaW4gb2RlciB6d2VpIExldXRlIG1pdApKYXZhU2NyaXB0IEtlbm50bmlzc2VuIGZpbmRlbiB3dWVyZGVuLCBkaWUgbWljaCBiZWltIEJ1Z2ZpeGVuIHVuZApXZWl0ZXJlbnR3aWNrZWxuIHVudGVyc3R1ZXR6ZW4gd3VlcmRlbi4KRGVyIENvZGUgaXN0IGhpZXI6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZXhwL21nX2NsaWVudApUZXN0LVZlcnNpb24gbGFldWZ0IGhpZXI6IGh0dHA6Ly94LmNkLzN3IG9kZXIgYXVmIGV1cmVtIFJlY2huZXIsIGRpZSAic3RhYmlsZSIKdmVyc2lvbiBhdWYgbWcubXVkLmRlLgoKVm9ycmF1c3NldHp1bmdlbjogSmF2YXNjcmlwdCBtYWwgd2FzIG1pdCBnZW1hY2h0LCBnaXRodWIgYWNjb3VudCwgTHVzdCArIGV0d2FzClplaXQKCkRhbmtlCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSArIFVudGVyc3R1ZXR6dW5nIGZ1ZXIgZGVuIFdlYi1DbGllbnQgKEphdmFTY3JpcHQpIGdlc3VjaHQgKFplc3N0cmEsIDI2LiBTZXAgMjAxMSwgMjM6MTA6NDIpOgp+IyEgcm49TWVzaXJpaSBydD0xMzE3MDcwODMwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMxNzA3MDgzMApadW1pbmRlc3Qgc28gSGlnaGxpZ2h0cyB1bmQgVHJpZ2dlciBzaW5kIGdhciBuaWNodCBzY2h3ZXIsIGRhIGhhYiBpY2ggc29nYXIKYWxzIEpTLUxhaWUgdmVyc3RhbmRlbi4gOy0pIE9kZXIgd2VubiBqZW1hbmQgbmljaHQgcHJvZ3JhbW1pZXJlbiwgYWJlciBuZW4KYmlzc2NoZW4gRG9rdSBpbSBXaWtpIHNjaHJlaWJlbiBtb2VjaHRlLi4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZXRpdGlvbiAiRGF0ZW5zY2h1dHpmcmV1bmRsaWNoZSBWb3JlaW5zdGVsbHVuZ2VuIiAoVmFuaW9uLCAgNC4gT2t0IDIwMTEsIDE5OjU5OjM3KToKRGVyIEZvZUJ1RCBoYXQgc2ljaCBtaXQgZGVtIFZlcmJyYXVjaGVyemVudHJhbGVuLUJ1bmRlc3ZlcmJhbmQgenVzYW1tZW5nZXRhbgp1bmQgZWluZSBQZXRpdGlvbiBmdWVyIGRhdGVuc2NodXR6ZnJldW5kbGljaGUgVm9yZWluc3RlbGx1bmdlbiBnZXN0YXJ0ZXQ6CkRlciBEZXV0c2NoZSBCdW5kZXN0YWcgbW9lZ2UgaW4gZGVuIERhdGVuc2NodXR6Z2VzZXR6ZW4gcmVnZWxuLCBkYXNzIGRpZQpHcnVuZGVpbnN0ZWxsdW5nZW4gdm9uIFByb2R1a3RlbiB1bmQgRGllbnN0ZW4gc28genUgZ2VzdGFsdGVuIHNpbmQsIGRhc3Mgc28Kd2VuaWcgcGVyc29uZW5iZXpvZ2VuZSBEYXRlbiB3aWUgbW9lZ2xpY2ggZXJob2JlbiBvZGVyIHZlcmFyYmVpdGV0IHdlcmRlbi4KCk5hZWhlcmVzIGhpZXI6Cmh0dHBzOi8vcGV0aXRpb24uZm9lYnVkLm9yZy9Gb2VCdUQvRGF0ZW5zY2h1dHpmcmV1bmRsaWNoZS1Wb3JlaW5zdGVsbHVuZ2VuLwoKRGVua3QgZG9jaCBtYWwgYml0dGUgZGFydWViZXIgbmFjaCwgb2IgaWhyIGRhcyBhdWNoIHVudGVyemVpY2huZW4ga29lbm50IHVuZApvYiBpaHIgdmllbGxlaWNodCBlYmVuZmFsbHMgZXR3YXMgV2VyYnVuZyBmdWVyIGRpZSBQZXRpdGlvbiBtYWNoZW4gd29sbHQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBldGl0aW9uICJEYXRlbnNjaHV0emZyZXVuZGxpY2hlIFZvcmVpbnN0ZWxsdW5nZW4iIChab29rLCAgNS4gT2t0IDIwMTEsIDEwOjUyOjMxKToKfiMhIHJuPVZhbmlvbiBydD0xMzE3NzUxMTc3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMxNzc1MTE3NwpJY2ggdW50ZXJzdHVldHplIGVzLCBhdWNoIHdlbm4gaWNoIG1pciBiZWkgZGVyIFVtc2V0enVuZyB2b24KIm1vZWdsaWNoc3Qgd2VuaWciIGlyZ2VuZHdpZSBub2NoIG5pY2h0IHNvIGtsYXIgYmluLCB3aWUgZGFzCmF1c3NlaGVuIHNvbGwuClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBldGl0aW9uICJEYXRlbnNjaHV0emZyZXVuZGxpY2hlIFZvcmVpbnN0ZWxsdW5nZW4iIChWYW5pb24sICA1LiBPa3QgMjAxMSwgMjE6Mzc6MTYpOgp+IyEgcm49Wm9vayBydD0xMzE3ODA0NzUxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMxNzc1MTE3NwpNb2VnbGljaHN0IHdlbmlnIGJlZGV1dGV0ICJkYXMgenVtIFp3ZWNrZSBkZXIgRGllbnN0bGVpc3R1bmcgbm90d2VuZGlnZSAtIGFiZXIKbnVyIHNvbGFuZ2Ugbm90d2VuZGlnIiAtIElyZ2VuZHdhcyBzb2xsZW4gZGllIFBhcmxhbWVudGFyaWVyIGphIGF1Y2ggbm9jaCB0dW4uCjopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU291bmRkZXNpZ24/IChSdW1hdGEsIDE4LiBPa3QgMjAxMSwgMTA6NDg6MTMpOgpIYWxsbywKCmljaCBoYWJlIG1hbCBlaW5lIEZyYWdlIHp1bSBUaGVtYSBBa3VzdGlzY2hlcyBEZXNpZ246CgpJY2ggbW9lY2h0ZSBhdWYgZWluZW0gVGFibGV0IGRpZSBXaXNjaGJld2VndW5nIG1pdCBlaW5lbSBTY2hsZWlmZ2VyYWV1c2NoCnVudGVybWFsZW4uIFdlaXNzIGplbWFuZCwgd28gbWFuIHNvIGV0d2FzIGJld2Vya3N0ZWxsaWdlbiBrYW5uPwoKRGEgaWNoIG5pY2h0IHdlaXNzLCB3aWUgbGFuZ2UgZGVyIFdpc2NoZXIgZGF1ZXJ0LCBrYW5uIGljaApuaWNodCBlaW5mYWNoIGVpbiBTYW1wbGUgYWJzcGllbGVuIC0gdW5kIGF1cyBlaW5lbSBTYW1wbGUgZWluIExvb3AgenUKZXJ6ZXVnZW4sIGJla29tbWUgaWNoIGJlaSBldHdhcyBzbyBvYmVydG9ucmVpY2hlbSBuaWNodCBoaW4uCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyZ2xlaWNoIGRlciBBdXNydWVzdHVuZyAoQ3J1aXgsIDI2LiBOb3YgMjAxMSwgMTE6NDU6MDUpOgpIYWxsbywKd2FlaHJuZCBkZXMgU3BpZWxzIGtvbW10IG1hbiBqYSBpbW1lciB3aWVkZXIgenUgbmV1ZW4gR2VnZW5zdGFlbmRlbi4KTGVpZGVyIHdlaXNzIGljaCBuaWUsIG9iIGRlciBuZXVlIEdlZ2Vuc3RhbmQgKFJ1ZXN0dW5nIG9kZXIgV2FmZmUpIGJlc3NlciBpc3QKYWxzIGRlciBnZW51dHp0ZS4KRGFzcyBlaW5lIFNjaGF0dGVucnVlc3R1bmcgYmVzc2VyIGFscyBlaW5lIExlZGVycnVlc3R1bmcgaXN0LCBrYW5uIGljaCBtaXIKZGVua2VuLgpBYmVyIGVzIGdpYnQgdmllbGUgR2VnZW5zdGFlbmRlLCBkaWUgaWNoIG5pY2h0IGVpbnNjaGFldHplbiBrYW5uLgpEYWhlciBtZWluZSBGcmFnZTogR2lidCBlcyBlaW5lbiBCZWZlaGwgb2RlciBlaW5lIEdpbGRlbmZhZWhpZ2tlaXQsCmRpZSBkZW4gVmVyZ2xlaWNoIHZvbiBSdWVzdHVuZ2VuIHVuZCBXYWZmZW4gZXJtb2VnbGljaHQ/Ck9kZXIgZ2lidCBlcyBlaW5lbiBOUEMsIGRlciBkYXMgZnVlciBlaW5lbiBlcmxlZGlndD8KCkFjaGphLCB1bmQgZGFubiB3YWVyZSBub2NoIGRhcyBQcm9ibGVtIGRlcyBFaW5zY2hhZXR6ZW5zIHZvbiBOUENzLi4uCldhZXJlIGZ1ZXIgZXR3YXMgSGlsZmUgZGFua2Jhci4KCkdydXNzLApDcnVpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmdsZWljaCBkZXIgQXVzcnVlc3R1bmcgKENyb2Z0LCAyNi4gTm92IDIwMTEsIDExOjQ3OjI4KToKfiMhIHJuPUNydWl4IHJ0PTEzMjIzMDQzMDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzIyMzA0MzA1Ck1hbmNoZSBHaWxkZW4ga29lbm5lbiBkYXMgbWl0IGlocmVuIEdpbGRlbmZhZWhpZ2tlaXRlbiBhYiBlaW5lbSBnZXdpc3NlbgpMZXZlbCBtZWhyIG9kZXIgd2VuaWdlciBnZW5hdSAoamUgbmFjaCBHaWxkZSkuICBCZWkgZWluZW0gTlBDIGthbm5zdApkdSBkaWUgU2FjaGVuIHZlcmdsZWljaGVuIGxhc3Nlbi4gIFVuZCBlcyBnaWJ0IGF1Y2ggbm9jaCBlaW4gT2JqZWt0Cm1pdCBkZW0gZHUgZWluemVsbmUgU2FjaGVuIGJld2VydGVuIGxhc3NlbiBrYW5uc3QuICBVbmQgZGFzIEVpbnNjaGFldHplbgpkZXIgTlBDcyBrb2VubmVuIGF1Y2ggbWFuY2hlIEdpbGRlbiAodW50ZXJzY2hpZWRsaWNoIGd1dCkgbWl0IGRlcgplbnRzcHJlY2hlbmRlbiBGYWVoaWdrZWl0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJnbGVpY2ggZGVyIEF1c3J1ZXN0dW5nIChBcmssIDI2LiBOb3YgMjAxMSwgMjM6MzY6NDUpOgp+IyEgcm49Q3J1aXggcnQ9MTMyMjMwNDMwNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMjIzMDQzMDUKRXMgaXN0IHNjaHdlciwgZGFzIGJlaSBXYWZmZW4gMTAwJSB6dSBzYWdlbiwgd2VpbCBkYSBhdWNoIG5vY2ggZGVyIEZha3RvcgoiZ2VnZW4gd2VuIGlzdCB3YXMgYmVzc2VyPyIgaW5zIFNwaWVsIGtvbW10LiBHaWxkZW5mYWVoaWdrZWl0ZW4gc2FnZW4gRGlyCm1laXN0LCB3aWV2aWVsIFNjaGFkZW4gbWFuIG1hY2h0IHVuZCB3ZWxjaGUgU29uZGVyZWlnZW5zY2hhZnRlbiBkaWUgV2FmZmUgaGF0Ci4uLiBhbSBiZXN0ZW4ga29lbm5lbiBkYXMgZGllIEthZW1wZmVyLiBPYiBEdSBkYW1pdCBnZWdlbiBlaW5lbiBOUEMgYXVjaCBndXQKYXVzc2llaHN0LCBkYXMgYmVzdGltbXN0IGltbWVyIG5vY2ggRHUgbWl0IGRlciByaWNodGlnZW4gV2FmZmVud2FobC4gQWJlciBkYXMKc29sbHRlIGVoIGxvZ2lzY2ggc2VpbiA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhbXBlcnMgKEhvYm8sIDE4LiBEZXogMjAxMSwgMjA6MzI6NDEpOgpWaWVsZSAidm9uIGRhbWFscyIgc2luZCBoaWVyIG5pY2h0IG1laHIgYWt0aXYsIHVuZCB2aWVsZSB2b24gaGV1dGUga2VubmVuIGlobgpnYXIgbmljaHQgLi4uCgpQYW1wZXJzJyBBbHRlciBFZ28gaXN0IGxldHp0ZXMgV29jaGVuZW5kZSBnZXN0b3JiZW4uCgpCZWkgbWFuY2hlbiBNZW5zY2hlbiBtZXJrdCBtYW4genUgc3BhZXQsIHdpZSB3aWNodGlnIHNpZSBlaW5lbSBzaW5kLiA6KAoKSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhbXBlcnMgKE1pZXplLCAyMC4gRGV6IDIwMTEsIDEzOjIyOjQ0KToKfiMhIHJuPUhvYm8gcnQ9MTMyNDIzNjc2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMjQyMzY3NjEKSWNoIGhhYiBlcyBnZXN0ZXJuIGVyZmFocmVuLiBJY2ggYmluIGltbWVybm9jaCBlcnNjaHVldHRlcnQuCgpNaWV6ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYW1wZXJzIChTaGFyaWEsIDI3LiBEZXogMjAxMSwgMTE6MjQ6MDgpOgp+IyEgcm49TWllemUgcnQ9MTMyNDM4Mzc2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMjQyMzY3NjEKLi4uLiAKOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyb2hlcyBOZXVlcyEgKEFtYXJ5bGxpcywgIDEuIEphbiAyMDEyLCAwMzoxODoxOCk6CkljaCB3dWVuc2NoZSBhbGxlbiBNdWRkZXJuIGVpbiBmcm9oZXMgTmV1ZXMgMjAxMiB1bmQgdmllbCBFcmZvbGcuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYW1wZXJzIChNZXNpcmlpLCAyMi4gSmFuIDIwMTIsIDIyOjAwOjAzKToKfiMhIHJuPVNoYXJpYSBydD0xMzI0OTgxNDQ4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMyNDIzNjc2MQpWZXJkYW1tdCA6KApNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmhvdmFuIGlzdCBqZXR6dCBlaW4gTWFnaWVyISAoWm9vaywgMTEuIE1hciAyMDEyLCAxODoxNzozNCk6Cn4jISBybj1NZXJsaW4gcnQ9MTMzMTQ4NjEyOCByZz1zdHVmZW4KfiMhIHRpZD0xMzMxNDg2MTI4Ck51ciB6dXIgSW5mb3JtYXRpb246IFdpciBoYWJlbiB2b3IgZWluaWdlciBaZWl0ICh3aWUgaW4gZGVyIEhpbGZlLVNlaXRlCnp1ICJtYWdpZXIibmFjaGxlc2JhcikgZGllIE1vZWdsaWNoa2VpdCBlaW5nZXJhZXVtdCwgZGFzcyBhdWNoIE5pY2h0LVNlaGVyLQpad2VpdGllcyBNYWdpZXIgd2VyZGVuIGtvZW5uZW4uIFJob3ZhbiBpc3QgbnVuIGRlciBlcnN0ZSBkaWVzZXIgQXJ0LiA6LSkgCldlciBzZWluIEVyc3RpZSBpc3QsIG11ZXNzdCBJaHIgc2VsYnN0IGhlcmF1c2ZpbmRlbi4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFBpbGdyaW0sIDE4LiBNYXIgMjAxMiwgMjI6MjM6MjEpOgpIaWhvLAoKaWNoIHdlaXNzIGphIG5pY2h0IGdlbmF1LCB3aWV2aWVsZSBUYWdlIHNvIGVpbiBNRy1NVUQtSmFociBoYXQuIEFiZXIgYmVpIG1pcgpzaW5kIDE5IEphaHJlIHVuZCAzNTggVGFnZSBkb2NoIHNjaG9uIDIwIEphaHJlLCBvZGVyPwoKQWxzbyBncmF0dWxpZXJlIGljaCBtYWwgaGVyemxpY2ggdW5kIHd1ZW5zY2hlIG5vY2ggdmllbGUgd2VpdGVyZSBlcmZvbGdyZWljaGUKdW5kIHNwYW5uZW5kZSBKYWhyZS4gRWJlbmZhbGxzIEdyInVzc2UgYW4gYWxsIGRpZSAnYWx0ZW4nIE1pdHNwaWVsZXIgdW5kCkZyZXVuZGUuCgoKUGlsZ3JpbSAKKFBTOiBEaWVzZXIgbWVpbiBDaGFyYWN0ZXIgbSJ1c3N0ZSBzbyAzLTYgTW9uYXRlIGoidW5nZXIsIGFscyBkYXMgTUcgc2VpbikKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFplc3N0cmEsIDE4LiBNYXIgMjAxMiwgMjI6Mjk6MzgpOgp+IyEgcm49UGlsZ3JpbSBydD0xMzMyMTA1ODAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjEwNTgwMQpFcyBmZWhsdCBuaWNodCBtZWhyIHZpZWwsIG5laW4uIDotKQpEYXMgTXVkIHd1cmRlIHp1bSBlcnN0ZW4gTWFsIGFtIDI1LjMuMTk5MiBnZXN0YXJ0ZXQuIFVtIGRpZSBNaXR0YWdzemVpdC4KQlRXOiBXZXIgVm9yc2NobGFlZ2UgZnVlciBkaWUgU29tbWVycGFydHkgKHouYi4gT3J0LCBiZXNvbmRlcmUgRGluZ2UpIGhhdDogZGllCnNpbmQgaG9lY2hzdCB3aWxsa29tbWVuLiAoS3VyemVyIEhpbndlaXMgaW4gZGVtIFp1c2FtbWVuaGFuZzogdHJhZGl0aW9uZWxsCndlcmRlbiBkaWUgU29tbWVycGFydGllcyBuaWNodCB2b24gImRlciBNdWRsZWl0dW5nIiBvcmdhbmlzaWVydCwgc29uZGVybiB2b24KZnJlaXdpbGxpZ2VuIFNwaWVsZXJuL01hZ2llcm4uKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChab29rLCAxOS4gTWFyIDIwMTIsIDEwOjQ3OjQxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTMzMjEwNjE3OCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKSWNoIHdpbGwgbnVyIGRhcmF1ZiBoaW53ZWlzZW4sIGRhc3MgZGllIE11ZGxlaXR1bmcgc2VsYnN0dmVyc3RhZW5kbGljaAphbSAyNS4gTWFlcnogMjAxMiB6dXNhbW1lbmtvbW10LCB1bSBkYXMgRXJlaWduaXMgaW4gYW5nZW1lc3NlbmVtClJhaG1lbiB6dSBmZWllcm4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoR2FieWxvbiwgMTkuIE1hciAyMDEyLCAxNDo1MjowOCk6Cn4jISBybj1ab29rIHJ0PTEzMzIxNTA0NjEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCkRyZWkgQXV0b2xvYWRlciBuYWNoIFd1bnNjaCwgYWxsZSBTdGF0cyArNSwgYWx0ZSBYUC1TdHVmZW4tS3VydmUgd2llZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoVmVjdG9yLCAxOS4gTWFyIDIwMTIsIDE0OjUzOjUxKToKfiMhIHJuPUdhYnlsb24gcnQ9MTMzMjE2NTEyOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKKzEgZnVlciBkaWUgYWx0ZSB4cC13ZXJ0aWdrZWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChaZXNzdHJhLCAxOS4gTWFyIDIwMTIsIDE4OjI0OjUyKToKfiMhIHJuPVZlY3RvciBydD0xMzMyMTY1MjMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjEwNTgwMQorMSBmdWVyIGRpZSBNdWRsaWIgdm9uIDE5OTUuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChHbG9pbnNvbiwgMTkuIE1hciAyMDEyLCAxODo0MTo0MSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzMzIxNzc4OTIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCisxIGZ1ZXIgZGllIE11ZGxpYiB2b24gMTk5MSB1bmQgendlaSBTb21tZXIgWmVpdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChHYWJ5bG9uLCAxOS4gTWFyIDIwMTIsIDIwOjE2OjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMzIxNzg5MDEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCkhleSAtIGRhcyBzdGFuZCBuaWNodCB6dXIgQXVzd2FobC4gQXVzc2VyZGVtIHdhZXIgZGFzIGphIGtlaW4gRm9ydHNjaHJpdHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKEdsb2luc29uLCAxOS4gTWFyIDIwMTIsIDIxOjA1OjMzKToKfiMhIHJuPUdhYnlsb24gcnQ9MTMzMjE4NDYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKTmFjaCBkZW4gendlaSBKYWhyZW4gc2Nob24uIER1IHdlaXNzdCBqYSwgTklIIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoUnVtYXRhLCAxOS4gTWFyIDIwMTIsIDIxOjA3OjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMzIxODc1MzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCmRpZSBtdWRsaWIgdm9uIDkxIHVuZCBkaWUgemVpdCBkYXp1LCB3aWUgZGFtYWxzIGRyYW4gcnVtenVzcGllbGVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFJ1bWF0YSwgMTkuIE1hciAyMDEyLCAyMTowOTowNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTMzMjE4NzY0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKYWJlcjogZGVuIGdhbWVkcml2ZXIgdm9uICc5MSwgZGVuIHdvbGx0IGlociBuaWNodCEgZ2xhdWJ0IG1pciEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChLZWxseWJ1bmR5LCAxOS4gTWFyIDIwMTIsIDIyOjI5OjQ1KToKfiMhIHJuPVJ1bWF0YSBydD0xMzMyMTg3NzQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjEwNTgwMQpQZmZmdC4gTmljaHQgYnVnZ2VuZGUgR2FtZWRyaXZlciBzaW5kIG51ciB3YXMgZnVlciBLbGVyaWtlcnNvZnRpZXMgXl4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKERlZXBibHVlLCAxOS4gTWFyIDIwMTIsIDIyOjM1OjI0KToKfiMhIHJuPUdhYnlsb24gcnQ9MTMzMjE4NDYwMCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKKzEgZnVlciBkZW4gZGFtYWxpZ2VuIFNlcnZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoUnVtYXRhLCAxOS4gTWFyIDIwMTIsIDIzOjA0OjIxKToKfiMhIHJuPURlZXBibHVlIHJ0PTEzMzIxOTI5MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCkVzIGdpbmcgbWlyIG5pY2h0IHVtIGRpZSBCdWdzLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoUGlsZ3JpbSwgMjAuIE1hciAyMDEyLCAwMDoxNzoxOCk6Cn4jISBybj1SdW1hdGEgcnQ9MTMzMjE5NDY2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKV2llIGljaGUgc2VoZSwgd2FlcmUgZXMgYW4gZGVyIFplaXQsIGVpbmVuIE5vc3RhbGdpZS1CZWl0cmFnIGF1Znp1bWFjaGVuIC0gZGVyCmRhcyBXYXJldG4gdmVyc3Vlc3N0LgoKU28ga2xlaW5lIEFuZWt0ZG90ZW4gdS5hLiAuLi4uClouQi4sIGRhcyBlcyAobGFuZ2UpIFplaXRlbiBnYWIsIHdvIGRpZSBVcHRpbWUgPDwgMzAgVGFnZSB3YXIsCm9kZXIgLi4uCldvIE1hZ2llciBTcGllbGVyIG5vY2ggZWluZmFjaCB6YXBwZW4ga29ubnRlbiB1bmQga2VpbmVyIGhhdCBzaWNoIGF1ZmdlcmVndCAtCm5pY2h0IG1hbCBkaWUgU3BpZWxlciAsLSkKClBpbGdyaW0gLSB3aXJmdCBlaW4gS2lzc2VuIChjKSBCaW9uZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKEhpZ2hsYW5kZXIsIDIwLiBNYXIgMjAxMiwgMDk6Mjk6NDUpOgp+IyEgcm49UGlsZ3JpbSBydD0xMzMyMTk5MDM4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjEwNTgwMQpEdSBtZWluc3Qgc293YXMgd2llICdIZXkgPE1hZ2llcj4sIGthbm5zdCBEdSBtaWNoIG1hbCBpbiBkZW4gRWlzcGFsYXN0CnRyYW5zZW4/Jywgd2VpbCBlcyBkaWUgUXVlc3QgendhciBnYWIsIGFiZXIga2VpbmVuIFdlZyBkYWhpbj8KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFJ1bWF0YSwgMjAuIE1hciAyMDEyLCAwOTozMDo0Myk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEzMzIyMzIxODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyMTA1ODAxCkRhIHdhciBkb2NoIGRhcyBJZ2x1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKENyb2Z0LCAyMC4gTWFyIDIwMTIsIDExOjAzOjMyKToKfiMhIHJuPVJ1bWF0YSBydD0xMzMyMjMyMjQzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjEwNTgwMQpXaXR6aWc6CkV4aXN0ZW56OiAyMCBKYWhyZSB1bmQgMzYwIFRhZ2UKV2lyIGhhYmVuIHdvaGwgZWluIEphaHIgdmVycGVubnQgOy0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFpvb2ssIDIxLiBNYXIgMjAxMiwgMDk6Mzk6MDMpOgp+IyEgcm49Q3JvZnQgcnQ9MTMzMjIzNzgxMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKTWlzdCwgV2ludGVyc2NobGFmIHp1IGxhbmcuClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI0LiBNYXIgMjAxMiwgMTY6NTQ6MjEpOgpJY2ggbW9lY2h0ZSBudXIgZGFyYXVmIGhpbndlaXNlbiwgZGFzcyBqdXN0IGluIGRpZXNlbSBNb21lbnQgCmRhcyBUcmVmZmVuIHp1bSBad2FuemlnamFlaHJpZ2VuIEdlYnVydHN0YWcgZGVzIE1vcmdlbkdyYXVlbnMKYmVnaW5udCEgTmF0dWVybGljaCBpbiBleGtsdXNpdmVyIFJ1bmRlIHVuZCBleGtsdXNpdmVyCkxvY2F0aW9uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI0LiBNYXIgMjAxMiwgMTc6NTc6NTApOgp+IyEgcm49Wm9vayBydD0xMzMyNjA0NDYxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpEaWUgZ2FuemVuIEdlc2NoZW5rZSBmdWVyIGRpZSBTcGllbGVyIHdlcmRlbiB1bSAyLjE1IFVociB2ZXJ0ZWlsdC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp3YW56aWcgSmFocmUgTW9yZ2VuR3JhdWVuISAoR2xvaW5zb24sIDI0LiBNYXIgMjAxMiwgMTg6MTQ6MzMpOgp+IyEgcm49Wm9vayBydD0xMzMyNjA4MjcwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpGcmlzY2hlIFNhbWFsZSBmdWVyIGFsbGUhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFNyYWJpLCAyNC4gTWFyIDIwMTIsIDE4OjIxOjAzKToKfiMhIHJuPVpvb2sgcnQ9MTMzMjYwODI3MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKQWhqYSBhbHNvIG51ciBhbiBkaWUgU3BpZWxlcj8gVW5kIHdhcyBpc3QgbWl0IGRlbiBNYWdpZXJuPyA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI0LiBNYXIgMjAxMiwgMTg6MjU6MDIpOgp+IyEgcm49U3JhYmkgcnQ9MTMzMjYwOTY2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKRGllIGthbm4gaWNoIGVyc3QgdW0gMi4zMCBVaHIgdmVyc29yZ2VuLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKEdsb2luc29uLCAyNC4gTWFyIDIwMTIsIDE4OjMzOjM3KToKfiMhIHJuPVpvb2sgcnQ9MTMzMjYwOTkwMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKRnJlaWUgQnVncyBmdWVyIGFsbGUgTWFnaWVyIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFp3YW56aWcgSmFocmUgTW9yZ2VuR3JhdWVuISAoWm9vaywgMjQuIE1hciAyMDEyLCAyMzowMDowNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzMyNjEwNDE3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpJbiBLdWVyemUga29tbXQgZGllIFBhcnR5IHp1IGlocmVtIEhvZWhlcHVua3QsIGRlbSBmZWllcmxpY2hlbiAKQW5zdG9zc2VuIGF1ZiBkYXMgMjAtamFlaHJpZ2UhCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWndhbnppZyBKYWhyZSBNb3JnZW5HcmF1ZW4hIChaZXNzdHJhLCAyNS4gTWFyIDIwMTIsIDAwOjAyOjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTMzMjYyNjQwNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKVW5kIGVzIGlzdCBzb3dlaXQhCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI1LiBNYXIgMjAxMiwgMDA6MDU6NDApOgp+IyEgcm49WmVzc3RyYSBydD0xMzMyNjMwMTY2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpKaXBwaSEKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFp3YW56aWcgSmFocmUgTW9yZ2VuR3JhdWVuISAoQ3JvZnQsIDI1LiBNYXIgMjAxMiwgMDE6NDc6MjYpOgp+IyEgcm49Wm9vayBydD0xMzMyNjMwMzQwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpOYSBkYW5uIG1hbCBHcmF0dWxhdGlvbiB1bmQgdmllbCBTcGFzcyEKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI1LiBNYXIgMjAxMiwgMDM6MDE6NTcpOgp+IyEgcm49Q3JvZnQgcnQ9MTMzMjYzNjQ0NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKSXMgamEgYmxvZWQsIG51biBpcyBkaWUgVmVydGVpbHVuZyBkZXIgR2VzY2hlbmtlIGlyZ2VuZHdpZQphdXNnZWZhbGxlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogWndhbnppZyBKYWhyZSBNb3JnZW5HcmF1ZW4hIChDcm9mdCwgMjUuIE1hciAyMDEyLCAwMzoxMjozMSk6Cn4jISBybj1ab29rIHJ0PTEzMzI2MzczMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyNjA0NDYxCldpZXNvIGRlbm4gYmxvc3M/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFp3YW56aWcgSmFocmUgTW9yZ2VuR3JhdWVuISAoR2FieWxvbiwgMjUuIE1hciAyMDEyLCAwMzozNjozNCk6Cn4jISBybj1ab29rIHJ0PTEzMzI2MzczMTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyNjA0NDYxCkthbm4gbWFuIGphIGFsbGVzIG5hY2hob2xlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFplc3N0cmEsIDI1LiBNYXIgMjAxMiwgMTE6MDI6MTMpOgp+IyEgcm49R2FieWxvbiBydD0xMzMyNjM5Mzk0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzMjYwNDQ2MQpFcyBibGVpYnQgdWVicmlnZW5zIHp1IHZlcmt1ZW5kZW4sIGRhc3Mgd2lyIGRpZSBCaWVydm9ycmFldGUgZXJsZWRpZ3QgaGFiZW4hCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogWndhbnppZyBKYWhyZSBNb3JnZW5HcmF1ZW4hIChab29rLCAyNS4gTWFyIDIwMTIsIDExOjA3OjQwKToKfiMhIHJuPVplc3N0cmEgcnQ9MTMzMjY2NjEzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKQXVzc2VybTogV2lyIGhhYmVuIGFtIExpY2h0ZGluZ3MgZ2VhcmJlaXRldC4KWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKENyb2Z0LCAyNS4gTWFyIDIwMTIsIDExOjE1OjI2KToKfiMhIHJuPVpvb2sgcnQ9MTMzMjY2NjQ2MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKVW5kPyAgSGF0IGVzIGdlaG9sZmVuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFpvb2ssIDI1LiBNYXIgMjAxMiwgMTE6MTc6MDMpOgp+IyEgcm49Q3JvZnQgcnQ9MTMzMjY2NjkyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzI2MDQ0NjEKRGFzIHdlcmRlbiB3aXIgLi4uICpodWVzdGVsKiBkYW5uIHNlaGVuIC4uIG9kZXIgZWJlbiBhdWNoIG5pY2h0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBad2FuemlnIEphaHJlIE1vcmdlbkdyYXVlbiEgKFJ1bWF0YSwgMjYuIE1hciAyMDEyLCAwOTozNjoyOCk6Cn4jISBybj1ab29rIHJ0PTEzMzI2NjcwMjMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzMyNjA0NDYxCldhcyBzY2h3aWVyaWcgc2VpbiBrYW5uLCB3ZW5uIGVzIHp1IGR1bmtlbCBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmcm9oZSBPc3Rlcm4gKEVsa2FudGFyLCAgOC4gQXByIDIwMTIsIDEwOjI5OjIwKToKSGkhIEZyb2hlcyBPc3RlcmZlc3Qgd3VlbnNjaGUgaWNoIGFsbGVuISBJY2ggd3VlbnNjaGUgZXVjaCwgZGFzcyBpcmggZWluCnNjaG9lbmVzIGZlc3QgaGFidCB1bmQgZXMgZXVjaCBoZXV0ZSBhbiBuaWNodHMgZmVobHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprZWVwYWxpdmU/IChaYXBob2IsIDEwLiBNYWkgMjAxMiwgMTg6MTE6MTIpOgpIaSwgdmllbGxlaWNodCBrYW5uIG1pciBqZW1hbmQgZGFiZWkgaGVsZmVuPyBFcyBnZWh0IHVtIHNlbHRzYW1lIFplaWNoZW4sIGRpZQptaXIgYW5zY2hlaW5lbmQgYWxsZSAzMHNlYyB2b20gTXVkIGdlc2NoaWNrdCB3ZXJkZW4sIGFiZXIgbnVyIGluIG1hbmNoZW4KQ2xpZW50cyBzaWNodGJhciB3ZXJkZW4uIERlbiBrZWVwYWxpdmUgaGF0dGUgaWNoIGVpZ2VudGxpY2ggYWJnZXN0ZWxsdC4uLj8hCgpodHRwOi8vZm9ydW1zLm11ZGxldC5vcmcvdmlld3RvcGljLnBocD9mPTkmdD0yNzgwJnA9MTMzMDEjcDEzMzAxCgpEYW5rZSEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrZWVwYWxpdmU/IChaZXNzdHJhLCAxMS4gTWFpIDIwMTIsIDE5OjU1OjQzKToKfiMhIHJuPVphcGhvYiBydD0xMzM2NjY2MjcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTMzNjY2NjI3MgpEaWUgUnVicmlrIG11ZGNsaWVudHMgb2RlciBlbnR3aWNrbHVuZyB3YWVyIHZpZWxsZWljaHQgYmVzc2VyLgpBbHNvLCBlcyBnaWJ0IGVpbmlnZSBTYWNoZW4sIHdpZSB3aXIgYW4gZGVuIENsaWVudCBzY2hpY2tlbiwgZGllIG5vcm1hbGVyd2Vpc2UKdm9uIGRpZXNlbiBuaWNodCBhbmdlemVpZ3Qgd2VyZGVuLiBKZXR6dCBtdWVzc3RlIG1hbiB3aXNzZW4sIHdlbGNoZSBkYXMgZ2VuYXUKc2luZC4gQXVzIGRlbSBTY3JlZW5zaG90IGdlaHQgZGFzIGxlaWRlciBuaWNodCBoZXJ2b3IuIER1IG11ZXNzdGVzdCBkYSBtYWwKZ3Vja2VuLCBvYiBNdWRsZXQgaXJnZW5kd2VsY2hlIERlYnVnLUZ1bmt0aW9uYWxpdGFldGVuIGZ1ZXIgZGllClRlbG5ldHZlcmJpbmR1bmcgaGF0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJuYWhtZSBlaW5lcyBad2VpdGllcyAoQnJ1bSwgMjkuIFNlcCAyMDEyLCAxMDowMToyOCk6Clp1ciBJbmZvcm1hdGlvbjogTHVrYSBzcGllbHQgaW4gZWluZW0gYW5kZXJlbiBNVUQKdW5kIHdpbGwgbmljaHQgbWVociBpbSBNRyBzcGllbGVuLgpJY2ggYmluIGltIFJMIG1pdCBpaG0gYmVmcmV1bmRldCB1bmQgaGFiZSBzZWluZW4gWndlaXRpZSAKT3V0bGF3IHVlYmVybm9tbWVuLgpFciBpc3QgdW1tYWtpZXJ0IHVuZCBhbHMgWndlaXRpZSB2b24gbWlyIGVya2VubmJhci4KCkJydW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVhbXNwZWFrLVNlcnZlciAoWm9vaywgMzAuIE9rdCAyMDEyLCAxOTo0Nzo1Mik6Cn4jISBybj1ab29rIHJ0PTEzNTE1NDIzOTIgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTEzNDQ4ODQ2MDkKVHV0IGRhcyBtaXQgZGVyIG5ldWVuIEFkcmVzc2Ugc2Nob24gYmVpIHdlbT8KWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZWFtc3BlYWstU2VydmVyIChab29rLCAzMC4gT2t0IDIwMTIsIDIwOjA2OjAwKToKfiMhIHJuPVpvb2sgcnQ9MTM1MTU0MjM5MiByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTM0NDg4NDYwOQpLYW5uIGhpZXJ6dSBqZW1hbmQgSGlsZmVzZWl0ZSBmdWVyIGhpZXIgaW0gTXVkIGJ6dy4gZnVlciBkaWUKSG9tZXBhZ2UgYmFzdGVsbj8KClpvb2sgc2NoYXV0IHNpY2ggdW0sIGVyc3Qgc2VpdCAxMCBNaW51dGVuIFRTLUJlbnV0emVyIHVuZCBub2NoCmFyZyB1bmJlaG9sZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGVhbXNwZWFrLVNlcnZlciAoR2xvaW5zb24sIDMwLiBPa3QgMjAxMiwgMjM6MDY6MjApOgp+IyEgcm49Wm9vayBydD0xMzUxNjIzOTYwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM0NDg4NDYwOQpPZWguIERlbGVnaWVyIGljaCBnZXJuLCB3ZWlsIG5vY2ggbmllIFRTIGdlbnV0enQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUZWFtc3BlYWstU2VydmVyIChBbmF0b2wsIDMxLiBPa3QgMjAxMiwgMDk6NDU6NTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTM1MTYzNDc4MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNDQ4ODQ2MDkKRHUgc29sbHRlc3QgZXJzdG1hbCBkYXMgVXNlci9Sb2xlcy9SaWdodHMtTW9kZWxsIGRhZHJ1bnRlciBzZWhlbi4gSXN0CnNlaXQgVFMzIHJpY2h0aWcgYWJnZWZhaHJlbi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUZWFtc3BlYWstU2VydmVyIChHbG9pbnNvbiwgMzEuIE9rdCAyMDEyLCAxMDoxMTowNSk6Cn4jISBybj1BbmF0b2wgcnQ9MTM1MTY3MzE1NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNDQ4ODQ2MDkKVXV1dXV1dXVuZCB3aXIgaGFiZW4gZWluZW4gRnJlaXdpbGxpZ2VuISA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRlYW1zcGVhay1TZXJ2ZXIgKEFyYXRob3JuLCAzMS4gT2t0IDIwMTIsIDE4OjE5OjU5KToKfiMhIHJuPUFuYXRvbCBydD0xMzUxNjczMTU2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM0NDg4NDYwOQoiQWJnZWZhaHJlbiIgbmVubnN0IER1IGRhcz8gRGFzIGlzdCBlaW5lIGRlcmFydGlnZSBLYXRhc3Ryb3BoZSwgZGEgZ2lidHMKdWViZXItCmhhdXB0IGtlaW5lIFdvcnRlIGZ1ZXIuLi4gQWJnZWZhaHJlbiB1bmQgbmllIGFuZ2Vrb21tZW4uLi4gOi18CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUZWFtc3BlYWstU2VydmVyIChBbmF0b2wsICAxLiBOb3YgMjAxMiwgMTA6MTI6MDApOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTM1MTcwMzk5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNDQ4ODQ2MDkKTmFqYS4gSWNoIGtvbW0gZGFtaXQga2xhciB1bmQgZmluZCdzIHppbWVsaWNoIHByYWt0aXNjaC4KQW4gZGVyIFdlbHQgZGVyIE90dG9ub3JtYWxzdGFuZGFyZHRlYW1zcGVha2VyIGFsbGVyZGluZ3MKZXR3YXMgdm9yYmVpZ2VzY2hvc3Nlbi4KClNlcnZlciBHcm91cHMgZGVkaXppZXJ0IGZ1ZXIgYmVzdGltbXRlIENoYW5uZWxzIGJlcmVjaHRpZ2VuCihvaG5lIGF1ZiBUYWxrcG93ZXIgb2RlciBhZWhubGljaGVzIHp1cnVlY2t6dWdyZWlmZW4pLiBHZWh0CmRhcyBpbnp3aXNjaGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlcG9ydCBnYWJ1ZGQ/IChXaW50ZXJzdHVybSwgIDMuIE5vdiAyMDEyLCAxMTozNDowNik6Ci0gV2ludGVyc3R1cm0gZGVyIGFuZ2VoZW5kZSBLYXR6ZW5rcmllZ2VyLVNlaGVyLiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KUmFzc2UgLi4uLi4uLi4uLi4uIEZlbGluZSAgICAgICAgICAgICBBYmVudGV1ZXIgLi4uLi4uLi4gNjkxICgzNjE5KQpHZXNjaGxlY2h0IC4uLi4uLi4gbWFlbm5saWNoICAgICAgICAgIEdyb2Vzc2UgLi4uLi4uLi4uLiAyMDQgY20KU3R1ZmUgLi4uLi4uLi4uLi4uIDQxICAgICAgICAgICAgICAgICBHZXdpY2h0IC4uLi4uLi4uLi4gODEga2cKR2lsZGUgLi4uLi4uLi4uLi4uIEthdHplbmtyaWVnZXIgICAgICBHaWxkZW5zdHVmZSAuLi4uLi4gNDEKRXJmYWhydW5nIC4uLi4uLi4uIDQ5MDI2MzMgUHVua3RlICAgICBDaGFyYWt0ZXIgLi4uLi4uLi4gZ3V0CgpJbnRlbGxpZ2VueiAuLi4uLi4gMjAgKCsyKSAgICAgICAgICAgIEtyYWZ0IC4uLi4uLi4uLi4uLiAyMCAoKzQpCkF1c2RhdWVyIC4uLi4uLi4uLiAyMCAoLTEpICAgICAgICAgICAgR2VzY2hpY2tsaWNoa2VpdCAuIDE4ICgrMikKCkdlc3VuZGhlaXQgLi4uLi4uLiAxOTQgICAgICAgICAgICAgICAgR2lmdCAuLi4uLi4uLi4uLi4uIGdlc3VuZApLb256ZW50cmF0aW9uIC4uLi4gMjE0ICgyMTgpICAgICAgICAgIFZvcnNpY2h0IC4uLi4uLi4uLiAzMApUb2Rlc2ZvbGdlbi4uLi4uLi4ga2VpbiBNYWx1cwpWZXJnbGljaGVuIG1pdCBEZWluZW4gTWl0c3BpZWxlcm4sIGtlbm5zdCBEdSBEaWNoIGltIE1vcmdlbkdyYXVlbgpyZWNodCBndXQgYXVzLiBBYnNvbHV0IGdlc2VoZW4gaGFzdCBEdSBzY2hvbiBlaW5pZ2VzIGdlc2VoZW4uCkFsdGVyOiAgMjAgVGFnZSAxMCBTdHVuZGVuIDQyIE1pbnV0ZW4gMzIgU2VrdW5kZW4uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBMUDogIDIxLCBLUDogMjE1LCBHaWZ0OiAobmljaHQgdmVyZnVlZ2JhcikuCkxQOiAgMjEsIEtQOiAyMTYsIEdpZnQ6IChuaWNodCB2ZXJmdWVnYmFyKS4KTFA6ICAyMSwgS1A6IDIxNywgR2lmdDogKG5pY2h0IHZlcmZ1ZWdiYXIpLgoKQmVtZXJrdW5nOiBhdXNzZXIgZGVuIHN0aWxsc3RlaGVuZGVuIExQIChzY2hlaW50IHBhc3NpZXJ0IHp1IHNlaW4gYmVpbSBEb2VzZW4KbWl0IGF1c2xvZ2dlbj8pIGtyaWVnIGljaCBhdWNoIGtlaW4gR2lmdCBhbmdlemVpZ3QsIG9id29obCBpY2ggZGllIHJlbGV2YW50ZQpRdWVzdCBkYWZ1ZXIgaGFiZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXBvcnQgZ2FidWRkPyAoTW9vbnNoaW5lLCAgMy4gTm92IDIwMTIsIDExOjM3OjE0KToKfiMhIHJuPVdpbnRlcnN0dXJtIHJ0PTEzNTE5Mzg4NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzUxOTM4ODQ2CkVyc2NocmVja2VuZCBpc3QgZGFzIExldmVsIGJlaSBkZW4gd2VuaWdlbiBBUHMuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlcG9ydCBnYWJ1ZGQ/IChaZXNzdHJhLCAgMy4gTm92IDIwMTIsIDEyOjA0OjMxKToKfiMhIHJuPVdpbnRlcnN0dXJtIHJ0PTEzNTE5Mzg4NDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzUxOTM4ODQ2CkZUUjogUHJvYmxlbSBnZWxvZXN0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVGVhbXNwZWFrLVNlcnZlciAoWmFwaG9iLCAgNS4gTm92IDIwMTIsIDIyOjMyOjI1KToKfiMhIHJuPUFuYXRvbCBydD0xMzUxNzYxMTIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM0NDg4NDYwOQpEZXIgVm9sbHN0YWVuZGlna2VpdCBoYWxiZXIgbW9lY2h0ZSBpY2ggbWFsIGF1ZiBlaW5lIGZyZWllIG9mZmVuZSBBbHRlcm5hdGl2ZQp6dSBUZWFtU3BlYWsgaGlud2Vpc2VuLCBuYWVtbGljaCBNdW1ibGUsIGRhcyBhdWNoIGtlaW5lcmxlaSBMaXplbnpnZWJ1ZWhyZW4Kby5zLmFlLiB2b24gU2VydmVyYmV0cmVpYmVybiBlaW5mb3JkZXJ0LiBCZWlkZSBQcm9ncmFtbWUgc2luZCBhYmVyIHNlaHIKaGlsZnJlaWNoIHVuZCBudXIgenUgZW1wZmVobGVuLCBpbnNiZXNvbmRlcmUgZmFsbHMgbWFuIG5vY2ggbmllIG9ubGluZQpncnVwcGVudGVsZWZvbmllcnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVGVhbXNwZWFrLVNlcnZlciAoQXJhdGhvcm4sICA1LiBOb3YgMjAxMiwgMjI6Mzg6MTQpOgp+IyEgcm49WmFwaG9iIHJ0PTEzNTIxNTExNDUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzQ0ODg0NjA5CkRlciBha3R1ZWxsZSBUUy1TZXJ2ZXIga29zdGV0IE9sbGkgYXVjaCBuaWNodHMsIGRhIGVyIGRpZSBub24tY29tbWVyY2lhbApsaWNlbnNlIGhhdCwgbWl0IGRlciBlciA1IFNlcnZlci1TbG90cyBrb3N0ZW5mcmVpIGJldHJlaWJlbiBkYXJmLgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3csIGhpZXIgaXN0IGphIHJpY2h0aWcgd2FzIGxvcy4gKE1lc2lyaWksIDE2LiBEZXogMjAxMiwgMjM6MTI6NTIpOgoKRGEgaXN0IG1hbiBtYWwgbmUgV2VpbGUgbmljaHQgZGEgdW5kIHNjaG9uIHNpZWh0IGRhcyBnYW56ZSBNdWQgYW5kZXJzIGF1cy4KSWNoIGJpbiB2b2xsIGJlZWluZHJ1Y2t0LCB3YXMgQXJhdGhyb24sIEFyaywgQnVnZml4LCBDYWxkcmEsIEh1bW5pLCBNaXJpbAp1bmQgWmVzc3RyYSBhbGxlcyBiZXdlZ3QgaGFiZW4uCgpNZXNpLCBoYXBweQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWluZSBhbmt1ZW5kaWd1bmcuIGJldHJpZmZ0IGRpZSBjYXJzIHRpbiB1bmQgbWFsaWUgKE1hbGllLCAxOS4gRGV6IDIwMTIsIDE0OjM4OjQ3KToKYXVzIGdlc3VuZGhlaXRsaWNoZW4gZ3J1ZW5kZW4ga2FubiBpY2ggbWVpbmUgMiBjYXJzIG5pY2h0IHdlaXRlciBzcGllbGVuLgpzYWdlbiB3aXIgaW4gMiB3b2NoZW4gd2VyZGUgaWNoIHNpZSBhbiBtZWluZSBmcmV1bmRpbiBkaWUgc2Nob24gbGFlbmdlcgp1ZWJlcmxlZ3RlIGhpZXIgenUgc3BpZWxlbiBvZGVyIG1laW5lICByIHNjaHdlc3RlciwgZGllIHJvbGxlbnNwaWVsZSBsaWVidAp1ZWJlcmdlYmVuLiBhbHNvIHdpcmQgZGFubiBqZW1hbmQgYW5kZXJlcyAgIGFtIHBjIHNpdHplbiB1bmQgbWVpbmUgY2FycyB0aW4KdW5kIG1hbGllIHNwaWVsZW4uCmljaCBkYW5rZSBldWNoIGZ1ZXIgZGllIHNjaG9lbmUgemVpdApsZwpsb3R0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVpbmUgYW5rdWVuZGlndW5nLiBiZXRyaWZmdCBkaWUgY2FycyB0aW4gdW5kIG1hbGllIChBbWFyeWxsaXMsIDE5LiBEZXogMjAxMiwgMjI6MDc6MzMpOgp+IyEgcm49TWFsaWUgcnQ9MTM1NTkyNDMyNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNTU5MjQzMjcKSGksCgppY2ggd2Vpc3MgbmljaHQsIHdhcyBEaWNoIGJlc3VuZGhlaXRsaWNoIGJlZWludHJhZWNodGlndCwgZGFzcyBEdSBuaWNodCBtZWhyCm11ZGRlbiBrYW5uc3QgIC0gIHVuZCBlcyBnZWh0IG1pY2ggYXVjaCBuaWNodHMgYW4uCgpJY2ggd3VlbnNjaGUgRGlyIGplZGVuZmFsbHMgYWxsZXMgR3V0ZSwgYmVzdGUgV3VlbnNjaGUgdW5kIEdlbmVzdW5nICAtICB1bmQKd3VlcmRlIG1pY2ggZnJldWVuLCBEaWNoIGhpZXIgbWFsIHdpZWRlciB6dSBzZWhlbi4KCkxHLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVpbmUgYW5rdWVuZGlndW5nLiBiZXRyaWZmdCBkaWUgY2FycyB0aW4gdW5kIG1hbGllIChNYWxpZSwgMjAuIERleiAyMDEyLCAyMTowNzo1NCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTM1NTk1MTI1MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNTU5MjQzMjcKZGFua2U6LSkgaG9mZmVuZGxpY2gga2FubiBpY2ggd2VpdGVyIHNwaWVsZW4uLiBpY2ggdmVyc3VjaHN6dW1pbmRlc3QuIGZpbmQgZXMKYXVjaCBzY2hhZGU6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvIGpldHp0IGFiZXIgZGllIGVudHNjaGVpZHVuZyAoTWFsaWUsIDIyLiBEZXogMjAxMiwgMjE6NTg6MzEpOgpoZXkgZnJldW5kZSwKCmljaCB3ZXJkIGV1Y2ggbm9jaCBuZSB3ZWlsZSBlcmhhbHRlbiBibGVpYmVuIGljaCBob2ZmZSBhdWNoIGZ1ZXIgbGFlbmdlcmUKemVpdC4gIG51biBpY2ggaGFiZSBiZWdyaWZmZW4gZGFzIGljaCBqZWRlbiB0YWcgbnV0emVuIHNvbGx0ZSB1bmQgYWxsZQp3dWVuc2NoZSBlcmZ1ZWxsZW4gZGllIGljaCBoYWJlLiBudXIgc28ga2FubiBtYW4gZ2x1ZWNrbGljaCBnZWhlbi4KaWNoIGhvZmZlIGljaCB3ZXJkZSBub2NoIG5lIHdsYW5nZSB3ZWlsZSBoaWVyIHNwaWVsZW4ga29lbm5lbiB1bmQgaWNoIGhvZmZlCmRhcyB3aXIgZ2VtZWluc2FtIG5vY2ggdmllbCBzcGFzcyBoYWJlbiB3ZXJkZW4KZ3J1c3MKbWFsaWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVudHNjaGVpZHVuZyAoQXNrYW4sIDIyLiBEZXogMjAxMiwgMjI6MDQ6MDYpOgpFaW5lIGd1dGUgRW50c2NoZWlkdW5nIGZ1ZXIgZGVuIDIyLjEyLjIwMTIsIDIyLiBVaHIgLiBEcnVlY2tlIERpciBkaWUgRGF1bWVuLApkYXNzIGFsbGVzIGd1dCB3aXJkLiBBc2thbi4Kbm4KLi4KLi4KIC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlbnRzY2hlaWR1bmcgKE1hbGllLCAyMi4gRGV6IDIwMTIsIDIyOjIyOjI2KToKfiMhIHJuPUFza2FuIHJ0PTEzNTYyMTAyNDYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzU2MjEwMjQ2CmphIHVuZCBkYXMga3VyeiBuYWNoIGRlbSBhbmdlYmxpY2hlbiB3ZWx0dW50ZXJnYW5nCipsYWNoKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGFua2UgKE1hbGllLCAgNS4gSmFuIDIwMTMsIDAwOjEwOjQ5KToKTGllYmUgc3BpZWxlciwgc3BpZWxlcmlubmVuLCBtYWdpZXIgdW5kIG1hZ2llcmlubmVuLAoKZGllc2VuIGFydGlrZWwgaGFiZSBpY2ggbGFuZ2UgemVpdCB1ZWJlcmFyYmVpdGV0LCBkYW1pdCBlciBwZXJmZWt0IGlzdC4KaWNoIGRlbmtlLCBlcyBpc3QgYW4gZGVyIHplaXQsIGlobiBhdWNoIGluIGRpZSB6ZWl0dW5nIHp1IGtuYWxsZW4uClVtIHdhcyBlcyBnZWh0LCB1ZWJlciB3YXMgaWNoIHJlZGVuIG1vZWNodGUgaXN0IGtsYXIsIGplZGVuZmFsbHMgbWlyLgoKRWluZmFjaCB1ZWJlciBkYW5rYmFya2VpdCwgZGVubiBpY2ggYmluIHNlaHIgZGFua2JhciwgaW4gc29sY2ggZWluZQpzcGllbGUtd2VsdCBnZXJhdGVuIHp1IHNlaW4uIFZvbiBtZWluZW0gZGFkZHkgaGFiZSBpY2ggdm9uIGtsZWluIGF1ZiBnZWxlcm50LApkYW5rYmFyIGZ1ZXIgYWxsZXMgenUgc2Vpbiwgc2VpIGVzIGVpbmUga2xlaW5lIGdlc3RlLCBlaW4gZ3Jvc3NlcyBnZXNjaGVuaywKc2VpIGVzIGVpbmUgZnJldW5kc2NoYWZ0LCBlaW4ga2xlaW5lciB0aXBwLCBzZWllbiBlcyBkaWUgYWVyenRlLCBkaWUgbWljaAppbW1lciB3aWVkZXIgZ2VwaWVrc3QgaGFiZW4sIG9kZXIgbWVuc2NoZW4sIGRpZSBpY2ggdWViZXJzIGludGVybmV0Cmtlbm5lbmxlcm50ZSwgZGllIG1pciBnZWhvbGZlbiBoYWJlbiwgc2VpIGVzIGplbWFuZCBkZXIgbWlyIHp1aG9lcnQsIG9kZXIgbWljaAplaW5mYWNoIGluIGRlbiBhcm1uaW1tdC4uLgpEaWVzZSBsaXN0ZSBrYW5uIG1hbiBpbnMgdW5lbmRsaWNoZSB3ZWl0ZXIgc2NocmVpYmVuLCBhYmVyIGlociB3aXNzdCB3YXMgaWNoCm1laW5lIHVuZCBhdWNoIHdvcmF1ZiBpY2ggaGluYXVzIG1vZWNodGU6CgpJY2ggYmluIGRhbmtiYXIsIGluIGRhcyBtZyBnZXJhdGVuIHp1IHNlaW4sIGF1Y2ggd2VubiBpY2ggdm9uIGRlbiBlcnphZWhsdW5nZW4KbWVpbmVyIGZyZXVuZGluLCBkaWUgc2ljaCBhbHMgZ2FzdCBlaW5nZWxvZ3QgaGF0dGUgbmljaHQgYmVnZWlzdGVydCB3YXI6Ci5kYXMgaXN0IGVpbmUgd2VsdCBmdWVyIGJsaW5kZSwgYWxsZXMgb2huZSBiaWxkZXIuLiBIYXQgc2llIGdlbWVpbnQuCktvcGZzY2h1ZXR0ZWxuZCBoYWIgaWNoIGVzIG1pciBhbmdlc2VoZW4gdW5kIHNpZWhlIGRhOiB3dW5kZXJiYXIhIQpJY2ggYmluIGZyb2ggaGllciBzcGllbGVuIHp1IGtvZW5uZW4sIGF1Y2ggd2VubiBlcyB1bmdld2lzcyBpc3QsIHdpZSBsYW5nZSBpY2gKbm9jaCBzcGllbGVuIGthbm4uCmljaCB3ZXJkZSBkaWVzZW4gYXJ0aWtlbCB2ZXJtdXRsaWNoIGF1Y2ggbWl0IG1laW5lbSBlY2h0ZW4gbmFtZW4KdW50ZXJ6ZWljaG5lbiwgZGEgaWhyIGFsbGUgd2lzc3QgZGFzIHRpbiBvZGVyIG1hbGllIGlyZ2VuZHdhbm4gdm9uIGplbWFuZAphbmRlcmVtIGdlc3BpZWx0IHdlcmRlbiwgZGVubiBpY2ggd2lsbCBtZWluZSBjYXJzIG5pY2h0IHN0ZXJiZW4gbGFzc2VuLAprZWluZXN3ZWdzLCBpY2ggd3VlbnNjaGUgbWlyIGRhcyBzaWUgYXVjaCBlaW4gc2VoZXIgaGF1cyBiZWtvbW1lbi4uLiBkYXJhdWYKd2FlcmUgaWNoIHNlaHIgc3RvbHouCgpOdW4gamEsIG1laW4gZGFuayBnaWxkIGVpZ2VuZGxpY2ggYW4gYWxsZSBzcGllbGVyIHVuZCBtYWdpZXIgaGllciBpbSBtZywgd2VpbAplcyBuZSBzYXUgc3RhcmtlIGFyYmVpdCBpc3QhISEKQXVjaCB3ZW5uIGVzIG51ciBuZSBzcGllbGUtd2VsdCBpc3QgZnVlciBlaW5pZ2UgaXN0IHNpZSB2ZXJtdXRsaWNoIHZpZWwgd2VydCwKdW5kIGF1Y2ggaW4gbWVpbmVuIHRyYWV1bWVuLCBzZWhlIGljaCBkaWVzZSB3ZWx0IHZvciBtaXIuLi4gbWVpbmUgbWFsaWUgYWxzCnphdWJlcmVyIG9kZXIgcXVlc3RzIGRpZSBpY2ggc3BpZWxlLi4uIGRpZSBlcyBhYmVyIGluIHdpcmtsaWNoa2VpdCBub2NoIG5pY2h0CmdpYnQuCkltIGdyb3NzZW4gdW5kIGdhbnplbiBpc3QgZXMgaGFtbWVyIGdlaWwsIGhpZXIgc3BpZWxlbiB6dSBkdWVyZmVuLCBiaW4gZXVjaAphbGxlbiB1ZWJlbHN0IGRhbmtiYXIsIGZ1ZXIgamVkZW4ga2xlaW5lbiB0aXBwIG9kZXIgZWluZmFjaCBmdWVycyBkYSBzZWluLgpFaW5pZ2Ugdm9uIGV1Y2gga2VubmVuIG1laHIgYWxzIGRlbiBjYXIgbWFsaWUgb2RlciB0aW4sIHVuZCBhdWNoIGRhcyBmaW5kZSBpY2gKZWNodCBzdXBlci4uLgpJY2ggd2FyIG5pZSB3aXJrbGljaCBiZWdlaXN0ZXJ0IHZvbiBzb2xjaGVuIHNwaWVsZW4sIGFiZXIgZXMgbWFjaHQgc2VociB2aWVsCnNwYXNzLCBhdWNoIHdlbm4gaWNoIGdlZHVsZCB1ZWJlbiBtdXNzLCBiZWkgdmllbGVuIHF1ZXN0cyB1bmQgdm9yYWxsZW0gaGV1dGUKYmVpbSBnZWlzdGVyc2NobG9zcyBuaWNodCB6dSB2ZXJ6d2VpZmVsbiwgbmFqYSBlaW53ZW5pZyB2ZXJ6d2VpZmx1bmcgZ2FiIGVzCnNjaG9uLCBkYXJmIGphIGF1Y2ggc2Vpbi4uLiBnZXNjaGFmZnQgaGFiIGljaCBkaWUgcXVlc3QsIHNlaHIgZXJsZWljaHRlcnQuCgpNYWNodCBzbyB3ZWl0ZXIgLiBibGVpYnQgc28gd2llIGlociBzZWl0CkhhYnQgc3Bhc3MKU28sIGRhcyB3YXJzIGpldHp0IHZvbiBtaXIuLi4KCgoKR3J1c3MKCmNoYXJsb3R0ZQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYXJ0eXBsYW51bmcgMjAxMyAoR2xvaW5zb24sIDI3LiBKYW4gMjAxMywgMDI6MDQ6MzApOgpNb2luLgoKSWNoIG1vZWNodGUgbnVyIGRyYXVmIGF1Zm1lcmtzYW0gbWFjaGVuLCBkYXNzIGluIGVpbmVtIG5ldWVuIEphaHIgYXVjaApuZXVlIFBhcnRpZXMgc3RhdHRmaW5kZW4ga29lbm50ZW4uIERhIGV0bGljaGUgdm9uIHVucyBpbndpc2NoZW4gYWx0LApnZWJyZWNobGljaCwgdXJsYXVicy1hbnRyYWdzLWdlYnVuZGVuIG9kZXIgZ2FyIGtpbmRlcmdlYnVuZGVuIHNpbmQsCmVyb2VmZm5lIGljaCBtYWwgZGllIFNwZWt1bGF0aW9uZW46CgpXaXIgaGFiZW4gc2VpdCBsZXR6dGVtIEphaHIgd2VpdGVyZSBzYWVjaHNpc2NoZSB1bmQgYmVybGluZXJpc2NoZQpzY2h1bHBmbGljaHRpZ2UgTXVkZGVyLUtpbmRlciBkYWJlaSwgYWxzbyBCbGljayBhdWYgZGVuIFNvbW1lcjoKCkJlcmxpbmVyIGhhYmVuIDE5LiBKdW5pIC0gMDIuIEF1Z3VzdCBTb21tZXJmZXJpZW4KU2FjaHNlbiBoYWJlbiAgMTUuIEp1bGkgLSAyMy4gQXVndXN0IFNvbW1lcmZlcmllbgptYWNodDogMTUuIEp1bGkgLSAwMi4gQXVndXN0IFplaXRmZW5zdGVyCgpEYXMgRmVuc3RlciBwYXNzdCBtaXIgbGVpZGVyIG5pY2h0LCBkYWhlciB2ZXJ0YWdlbiB3aXIgZWluZSB3ZWl0ZXJlClNhbGVtZXIgQ2FtcGluZy1QYXJ0eS4KCkFuc29uc3RlbjoKQmVybGluZXIgaGFiZW4gMjUuIE1hZXJ6IC0gMDYuIEFwcmlsIE9zdGVybgpTYWNoc2VuIGhhYmVuICAyOS4gTWFlcnogLSAwNi4gQXByaWwgT3N0ZXJuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChMeXNhbmlhLCAyMi4gTWFyIDIwMTMsIDIzOjI2OjQ1KToKSWNoIGhhYmUgbWVpbmUga3VyemUgQW5sZWl0dW5nIHp1bSBLYXJ0ZW56ZWljaG5lbiBub2NoIHVtIGRhcyBlcndlaXRlcnQsIHdhcwptaXIgc28gZWluZmllbCwgdW5kIHdvbGx0ZSBkYXMgbmljaHQgbnVyIGVpbiBtZWluZW0gU2VoZXJoYXVzLCBzb25kZXJuIGF1Y2gKaGllciB6dW0gQmVzdGVuIGdlYmVuLiBXZW5uIGplbWFuZCBub2NoIGVpbiBadXNhdHogZWluZmFlbGx0LCBrYW5uIGVyIGRpZQpBbmxlaXR1bmcgZ2VybiBlcmdhZW56ZW4uCgpMeXNhbmlhIGlWIHZvbiBLaGlkYXIuCgpLaGlkYXJzIGtsZWluZXIgRnVlaHJlciB6dW0gS2FydGVuemVpY2huZW46Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KS2FydGVuIGhlbGZlbiwgZGVuIFVlYmVyYmxpY2sgdWViZXIgZWluIEdlYmlldCB6dSBiZWtvbW1lbiB1bmQgenUgYmVoYWx0ZW4uCkFscyBFcnN0ZXMgYnJhdWNoZW4gd2lyIEJsZWlzdGlmdCB1bmQgUmFkaWVyZ3VtbWkuCkljaCBtYWxlIGF1ZiBLYXJvcGFwaWVyIGF1ZiBkZW4gTGluaWVua3JldXp1bmdlbiBkaWUgUmFldW1lIGFscyBrbGVpbmVuIEtyZWlzCnVuZCB2ZXJ3ZW5kZSBkYWJlaSBub3JtYWxlcndlaXNlIGplZGUgendlaXRlIEtyZXV6dW5nLiBFcyBnaWJ0IGFsbGVyZGluZ3MKUmFldW1lLCBkaWUgYXVzIGRlbSBSYXN0ZXIgZmFsbGVuLCB3aWUgaW0gV29ubmV3aWNodGVsd2FsZCBvZGVyIGhpZXIsIGRhbm4KbXVzcyBkZXIgUmF1bSBlaW5lIEtyZXV6dW5nIHZlcnNldHp0IHdpZSBpbSBCZWlzcGllbCBnZXplaWNobmV0IHdlcmRlbi4KV2VubiBtYW4gZGVuIFJhdW0gZXJmb3JzY2h0IGhhdCwgd2lyZCBkZXIgS3JlaXMgYXVzZ2VtYWx0LiBGdWVyIFp3ZWl0aWVzCmtvbW10IGVpbiB3ZWl0ZXJlciBLcmVpcyBkYXp1LCBkZXIgaW4gVmllcnRlbGtyZWlzZSBhdWZnZXRlaWx0IGlzdC4gV2VubgplaW4gWndlaXRpZSBkZW4gUmF1bSBlYmVuZmFsbHMgZXJrdW5kZXQgaGF0LCBtYWx0IG1hbiBhbSBiZXN0ZW4gbWl0IGVpbmVtCmFuZGVyc2ZhcmJpZ2VuIEt1Z2Vsc2NocmVpYmVyIGRhcyBLcmVpc3ZpZXJ0ZWwgZGF6dSwgd2FzIG1hbiBmdWVyIGRpZXNlbgpad2VpdGllIGZlc3RnZWxlZ3QgaGF0LCB6QiBiZWtvbW10IE5vayBpbW1lciBkYXMgVmllcnRlbCByZWNodHMgdW50ZW4uCldlbm4gZXMgZXR3YXMgQmVzb25kZXJlcyBpbSBSYXVtIGdhYiwgbWFsdCBtYW4ga2xlaW5lIFphaGxlbiBhbiBkZW4KYmV0cmVmZmVuZGVuIFJhdW0gdW5kIHNjaHJlaWJ0IGVpbmUgTGVnZW5kZSAoMSAtIG5pbW0gc2NobHVlc3NlbCBhdXMKcm9zdGhhdWZlbikuIEJlaSBzZWhyIHZpZWxlbiBXaXJrdW5nZW4gKEtub2VwZmUsIEhlYmVsKSB6ZWljaG5lIGljaCBub2NoCmVpbmVuIFBmZWlsIHZvbSBVcnNhY2hlLSBpbiBkZW4gV2lya3VuZ3NyYXVtLgpXZW5uIFJpY2h0dW5nZW4gYWJ3ZWljaGVuLCBrb21tdCBhbiBkaWUgVmVyYmluZHVuZ3NsaW5pZSBkaWUgZ2VuYXVlIFJpY2h0dW5nCih3aWUgbnd1IG9kZXIgb2IpLiBVZWJyaWdlbnMgdmVyd2VuZGUgaWNoIGZ1ZXIgIm9iZW4iIGRhcyBBbGlhcyAiaCIgLSBlcyBpc3QKZWluZmFjaCBwcmFrdGlzY2hlci4gRGllIFRyZW5udW5nIHp1ICJiZW5hY2hiYXJ0ZW4iIFpldHRlbG4gZXJmb2xndCBtaXQKZWluZXIgRG9wcGVsbGluaWUsIGRhbWl0IG1hbiB3ZWlzcywgZGFzcyBtYW4gZGllc2VuIEF1c2dhbmcgc2Nob24gZXJrdW5kZXQKaGF0LCB3aWUgYXVmIGRlciBUYWZlbCBhYmdlYmlsZGV0LgpJbSBNVUQgc2luZCBkaWUgVmVyYmluZHVuZ3N3ZWdlIHNpbmQgbWl0IGVpbmVtIGdyb2JlbiBNYXNzc3RhYiBhYmdlYmlsZGV0LAptYW4gbGVndCBtaXQgZWluZW0gU2Nocml0dCBhbHNvIGdyb3NzZSBFbnRmZXJudW5nZW4genVydWVjay4gUXVlc3RnZWJpZXRlCmhhYmVuIG1laXN0IGVpbmVuIGtsZWluZW4gTWFzc3N0YWIsIGFsc28gbnVyIGt1cnplIFJhdW1lbnRmZXJudW5nZW4Kdm9uZWluYW5kZXIuIERhaGVyIHNvbGx0ZSBtYW4gUXVlc3RnZWJpZXRlIGF1ZiBlaW5lbiBlaWdlbmVuIFpldHRlbCBtYWxlbi4KQWxsemVpdCBndXRlIFVlYmVyc2ljaHQhCgpCZWlzcGllbGthcnRlIG1laW5lciBaaXRhZGVsbGU6Ci4uLi5vLi4uLgouLi8ufC5cLi4Kby4uLnwuLi5vCnwuLi5vLi4ufApvLi4uLi4uLm8KLi5cLi4uLy4uCi4uLi5vLi4uLgouLnUufC5vYi4KLi4uLm8uLi4uCi4udS58Lm9iLgouLi4uby4uLi4KLnJhLnwuYmV0Ci4uLi49Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsZWluZXIgS2FydGVubWFsZnVlaHJlciAoR25vbWUsIDIyLiBNYXIgMjAxMywgMjM6NDc6MjMpOgp+IyEgcm49THlzYW5pYSBydD0xMzYzOTkxMjA1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM2Mzk5MTIwNQpXZXIgZXMgZWluIHdlbmlnIGZvcnRzY2hyaXR0bGljaGVyIG1hZzogbWl0IEV4Y2VsIGthbm4gbWFuIGdhbnogaGVydm9ycmFnZW5kCkthcnRlbiAnbWFsZW4nLCBtYW4gYnJhdWNodCBuaWNodCB6dSByYWRpZXJlbiwgZ2FuemUgR2ViaWV0ZSBrYW5uIG1hbiBiZWkKQmVkYXJmIGVpbmZhY2ggdmVyc2NoaWViZW4sIEZ1c3Nub3RlbiB1bmQgUGZlaWxlIGZ1ZXIgZGllIE5pY2h0c3RhbmRhcmQtCnJpY2h0dW5nc2FuZ2FiZW4ga3JpZWd0IG1hbiBsb2NrZXIgaW0gS2Flc3RjaGVuIHVudGVyLCBlaW5lIDRlci1TY2hyaWZ0CmxhZXNzdCBzaWNoIGFtIE1vbml0b3Igbm9jaCBiZWkgMjAwJSBndXQgbGVzZW4sIGRpZSBhYmVyIGF1Y2ggZ2xlaWNoemVpdGlnCnNlbnNpYmxlIEFuZ2FiZW4gdm9yIG5ldWdpZXJpZ2VuIEJsaWNrZW4gc2NodWV0enQsIHNvbGx0ZSBkaWUgS2FydGUgbWFsCmF1c2dlZHJ1Y2t0IHVuZCBpcmdlbmR3b2hpbiBtaXRnZW5vbW1lbiB3ZXJkZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKFpvb2ssIDIzLiBNYXIgMjAxMywgMTM6NTE6MDIpOgp+IyEgcm49R25vbWUgcnQ9MTM2Mzk5MjQ0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKU28gVGlwcHMgZmFlbmRlIGljaCBhdWYgZGVyIEhvbWVwYWdlIGF1Y2ggZ2FueiBodWVic2NoLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChLZWxseWJ1bmR5LCAyMy4gTWFyIDIwMTMsIDIxOjAzOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTM2NDA0MzA2MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKR2ViaWV0ZSB3aWUgZGVyIEtoaWxnYXJkcGFzcyBvZGVyIGRpZSBFaXN3dWVzdGUgaW4gUG9sYXIgc2luZCBzbyBuaWNodCB6dQprYXJ0aWVyZW4uIERvcnQgbWFsZSBpY2ggS2Flc3RjaGVuIHVuZCBsZWdlIE11ZW56ZW4uIEluIGRlciBFaXN3dWVzdGUgbWV0emVsZQppY2ggZGllIE5QQ3MsIGRhIGRpZXNlIGRpZSBtYXJraWVydW5nZW4gZ2VybmUgdW12ZXJ0ZWlsZW4gdW0gVmVyd2lycnVuZyB6dQpzdGlmdGVuLiBEYW5uIG1hcmtpZXJlIGljaCBqZWRlbiBSYXVtIG1pdCBlaW5lciBBbnphaGwgYWJnZWxlZ3RlciBNdWVuemVuIHVuZApzY2hyZWliZSBhbiBkaWUgS2FudGVuIGRlciBLYWVzdGVuIGpld2VpbHMgZGVuIChiZXJlaXRzIG1hcmtpZXJ0ZW4pIFJhdW0sIGluCmRlbiBpY2ggZ2VsYW5nZS4gV2VubiBqZW1hbmQgZWluZSBlbGVnYW50ZXJlIExvZXN1bmcga2VubnQsIHVtIFNhY2hlbiB3aWUgZGllCkVpc3d1ZXN0ZSB6dSBrYXJ0aWVyZW4sIG51ciBoZXIgZGFtaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEdub21lLCAyMy4gTWFyIDIwMTMsIDIyOjM1OjU3KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTM2NDA2OTAwNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKU29ycnksIGFiZXIgV0VSIGthcnRpZXJ0IGRpZSBFaXN3dWVzdGUgb2RlciBkaWUgS2hpbGdhcmRzPyBVbmQgV0FSVU0/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEdsb2luc29uLCAyMy4gTWFyIDIwMTMsIDIzOjA3OjU3KToKfiMhIHJuPUdub21lIHJ0PTEzNjQwNzQ1NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzYzOTkxMjA1CkVyc3RlcmUsIHVtIHNpY2ggZGFyaW4genVyZWNodHp1ZmluZGVuLCB3ZWlsIGRpZSBqYSBuaWNodCBnYWVuemxpY2ggbGVlciBpc3QuCkNhdU5vIGhhdCBtaWNoIGFscyBrbGVpbmVuIFNwaWVsZXIgZG9ydCBiZWZyZWl0LCB3ZWlsIGVyIGRpZSBXdWVzdGUga2FydGllcnQKaGF0LiBad2VpdGVyZSBhdXMgU3Bhc3MgdW5kIHdlaWwgbWFuIGRhcyBTeXN0ZW0gZXJzdCBrYXBpZXJlbiBtdXNzLCB3ZW5uIG1hbgplcyBzaWNoIG5pY2h0IGVyemFlaGxlbiBsYWVzc3QuIFNwcmljaDogaWNoIGhhYiBkYSBhdWNoIGVpbmUga2xlaW5lIEthcnRlIHVuZApiZWhhdXB0ZSBhdWNoIGZyZWNoLCBkYXNzIExldXRlLCBkaWUgbmljaHQgYW5nZWZhbmdlbiBoYWJlbiBkZW4gUGFzcyB6dQprYXJ0aWVyZW4sIHNpY2ggZGVuIFdlZyBlaW5mYWNoIGhhYmVuIGdlYmVuIGxhc3Nlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEFyaywgMjQuIE1hciAyMDEzLCAwMToyNjoxMyk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEzNjQwNjkwMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzYzOTkxMjA1CkFsc28gS2lsZ2hhcmRwYXNzIGlzdCBkYW5uICJlaW5mYWNoIiB6dSBrYXJ0aWVyZW4sIHdlbm4gbWFuIGRpZSBSaWNodHVuZ2VuCndvZXJ0bGljaCBuaW1tdCB1bmQgc2ljaCBkZW1lbnRzcHJlY2hlbmQgYXVzcmljaHRldC4gV2lsbCBtYW4gc2ljaCBkYXMKYXVmbWFsZW4sIG11ZXNzdGUgbWFuIGRpZSBLYXJ0ZSBpbW1lciBkcmVoZW4sIGplIG5hY2hkZW0sIHdvaGluIGVzIGdlaHQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChBbmF0b2wsIDI0LiBNYXIgMjAxMywgMDg6NTA6NDMpOgp+IyEgcm49QXJrIHJ0PTEzNjQwODQ3NzMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzYzOTkxMjA1CkRlciBLaWxnaGFyZC1QYXNzIGlzdCBpbiBzaWNoIHN0aW1taWcgLSB3YXMgbmljaHQgaGVpc3N0LCBkYXNzIG1hbiBkaWUKR2VvZ3JhcGhpZSBuaWNodCBrZW5uZW4gbXVzcy4gTmFjaCBlaW5lbSBGbHVlZ2Vsc2NobGFnIGRlciBCYW5zaGVlIGlzdApPcnRza2VubnRuaXMgdm9uIGVrbGF0YW50ZW0gVm9ydGVpbCwgdW0gc2ljaCBzcHJpY2h3b2VydGxpY2ggd2llZGVyCmVpbnp1bm9yZGVuLgoKRGllIFVudGllci1FaXN3dWVzdGUgaXN0LCB3ZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXJlLCBkaWUgbmFlY2hzdGUKU3R1ZmUuIFVuZ2VyaWNodGV0IHp3YXIsIGFiZXIgbmljaHQgc3RpbW1pZywgZC5oLiBkaWUgUmFldW1lIGxpZWdlbgpuaWNodCB1bmJlZGluZ3Qgc2Nob2VuIGJyYXYgbmViZW5laW5hbmRlci4gTWFuY2htYWwga2FubiBtYW4gc293YXMgZGFkdXJjaAphdWZsb2VzZW4sIGRhc3MgbWFuY2hlIFdlZ2UgbGFlbmdlciBzaW5kIGFscyBhbmRlcmUgKHdvIHdhciBkYXM/IE5ldW4gS2VsY2hlPykKdW5kIHNpY2gsIHdlbm4gbWFuIGRhcyBiZXJ1ZWNrc2ljaHRpZ3QsIGF1Y2ggaW4gZWluZSBLYXJ0ZSBhYmJpbGRlbiBsYWVzc3QuCgpGYWxscyBlcyBqZW1hbmRlbSBhbiBGYW50YXNpZSBtYW5nZWx0LCB3ZXNoYWxiIG1hbiBlaW5lIHNvbGNoZSBLYXJ0ZSBoYWJlbgptb2VjaHRlOiAoYSkgTWFuIGthbm4gQW5mYWVuZ2VyIHJldHRlbi4gSGF0IG1pdCBBbmF0b2wgZGFtYWxzIGtlaW5lciBnZW1hY2h0LApkZXNoYWxiIGhhdCBkZXIgamV0enQgZWluZSBLYXJ0ZS4gRGFtYWxzIGdhYiBlcyBzbyB3YXMgTW9kZXJuZXMgd2llIEZ1c3NzcHVyZW4KYXVjaCBub2NoIG5pY2h0LCBkLmguIHdlciB6dW0gTm9yZHBvbCB3b2xsdGUgKG9kZXIgc3BhZXRlciB6dSBkZXIgSG9laGxlIGRlcgpFaXNkYWVtb25lbikgbXVzc3RlIHN1Y2hlbi4gKGIpIEdlbGQuIEhlLCBkYSBsYWdlbiBTYWNoZW4gaGVydW0uIEZ1ZXIgdW1tZSEKU28gZWluIEVpc2FtdWxldHQsIHdhcyBicmFjaHRlIGRhcz8gNjAwIE11ZW56ZW4/IEZ1ZXIgQW5mYWVuZ2VyIGlzdCBkYXMgCmRhbWFscyBzY2hvbiB3YXMgZ2V3ZXNlbi4KCkRpZSBHbGV0c2NoZXJ6dW5nZW5laXN3dWVzdGUgaXN0IGRhbm4gYXVmIEFuYXRvbHMgaW1hZ2luYWVyZXIgU2thbGEgZGVyCnNpbm5oYWZ0ZW4gS2FydG9ncmFwaGllcmJhcmtlaXQgZGllIG5hZWNoc3Rob2VoZXJlIFN0dWZlOiBSYWV1bWxpY2ggdG90YWwKZGFuZWJlbiB1bmQgLi4uIGVpbiBnZXJpY2h0ZXRlciBHcmFwaC4gV2VubiBtYW4gbWl0ICJuIiB2b24gMjQgaW4gMjggCmtvbW10LCBmdWVocnQgInMiIGluIFJhdW0gMjggbmljaHQgdW5iZWRpbmd0IG5hY2ggMjQuIFByb2ZpdGlwOiBXZXIgYXVmCkthcm9wYXBpZXIgbWFsdCwgbGFlc3N0IHZpZWwgUGxhdHogendpc2NoZW4gZGVuIFJhZXVtZW4uIEZ1ZXIgYnVudGUgUGZlaWxlLgoKV2FydW0gbWFuIGRhcyBtYWNodD8gS2VpbmUgQWhudW5nLiBVbSBhbGxlcyBnZXNlaGVuIHp1IGhhYmVuPyBEZW4gUGFzc2llci0Kc2NoZWluIGZ1ZXIgZGllIEdsZXRzY2hlcnp1bmdlIGhhYiBpY2ggaW1tZXJub2NoLgoKTGFieXJpbnRoZSwgZGllIG5vY2ggc2NobGltbWVyIHNpbmQsIHNvbGx0ZSBlcyBlaWdlbnRsaWNoIG5pY2h0IG1laHIgZ2ViZW4uCld1cmRlbiAiZ2VhZWNodGV0Ii4gSGFoYS4gVmllbGxlaWNodCBnaWJ0cyBub2NoIHdlbGNoZSBpbSBWbGFuZC4gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChHbG9pbnNvbiwgMjQuIE1hciAyMDEzLCAwOTo1OToyMSk6Cn4jISBybj1BbmF0b2wgcnQ9MTM2NDExMTQ0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKSWNoIGFkZGllciBtYWwgbmljaHQgYXVzIGVpZ2VuZXIgRXJmYWhydW5nIGFiZXIgYXVzIFp1c2NoYXVlbjogZGllIHplaXR2b2xsZQpXdWVzdGUuIFNhaCBiZWkgTWFoYXRtYSBzZWhyIHNjaGljayBrYXJ0aWVydCBhdXMgdW5kIGRhbm4ga29tbXQgbWFuIGF1Y2ggQUZBSVIKb2huZSBHYWRnZXRzIGR1cmNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEtsZWluZXIgS2FydGVubWFsZnVlaHJlciAoQ3JvZnQsIDI0LiBNYXIgMjAxMywgMTA6NDI6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTM2NDExNTU2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKRGFzIEVpc3d1ZXN0ZW5sYWIgaXN0IGVpbiBSZWNodGVjay4gIE51ciBkYXMgaGFsdCBkaWUgQXVzZ2FuZ3NyaWNodHVuZ2VuCm5pY2h0cyBtaXQgZGVuIEhpbW1lbHNyaWNodHVuZ2VuIHp1IHR1biBoYWJlbi4gIFVuZCBkaWUgS2hpbGdhcmRzIHNpbmQKZWluIFBhc3MsIGQuaC4gbWFuIGthbm4gcHJpbWEgYW4gZGVyICJXYW5kIiBsYW5nbGF1ZmVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEtsZWluZXIgS2FydGVubWFsZnVlaHJlciAoWm9vaywgMjQuIE1hciAyMDEzLCAxMTowNTo0Mik6Cn4jISBybj1Dcm9mdCBydD0xMzY0MTE4MTczIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM2Mzk5MTIwNQpCZWkgZGVyIEdsZXRzY2hlcnp1bmdlIHdhciBldHdhcyBzY2h3ZXIgenUga2FydGhvZ3JhZmllcmVuPwoqa3JhdHogYW0gS29wZiogS2FubiBtaWNoIGdhciBuaWNodCBlbnRzaW5uZW4sIGFiZXIgYW4gZGVuClBhc3NpZXJzY2hlaW4gZXJpbm5lciBpY2ggbWljaCBub2NoIGd1dC4gClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChSb2FkcnVubmVyLCAyNC4gTWFyIDIwMTMsIDIzOjAxOjI0KToKfiMhIHJuPUdub21lIHJ0PTEzNjM5OTI0NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzYzOTkxMjA1Ci4uIG51bmphIC0gaWNoIHZlcndlbmRlIHNlaXQgaWNoIGRhcyBicmF1Y2hlIGRlbiBwaWN0dXJlLW1vZGUgZGVzIGVtYWNzIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtzYWd1bmcgenUgbWVpbmVtIEdTIChSaG92YW4sIDE5LiBBcHIgMjAxMywgMjI6NTA6MTApOgpIaSBkaSBobywKSWNoIG1vZWNodGUgYWxsZW4gcmVjaHQgaGVyemxpY2ggZnVlciBpaHJlIGdlZHVsZCB1bmQgaGlsZnNiZXJlaXRzY2hhZnQKZGFua2VuLgpEaWVzIHdhZXJlIHp1bSBlaW5lbiBtZWluIE1hZ2llcnZhdGVyIEJ1Z2ZpeCwgZGVyIGhpZXIgYmVzdGltbXQgbmljaHQgZ2VuYW50CndlcmRlbiB3aWxsLgpDYWxkcmEgZGllIG1pciBzZWhyIHZpZWwgZmVobGVyIGFuemVpZ3RlIHVuZCBtaXIgbWl0IHJhdCB1bmQgdGF0IHp1ciBzZWl0ZQpzdGFuZC4KQXJhdGhvcm4gdW5kIFplc3N0cmEgZGllIG1pciBlaW5pZ2Uga25pZmZlIHVuZCB0cmlja3MgZ2V6ZWlndCBoYWJlbiB1bmQgaW1tZXIKZWluIG9mZmVuZXMgT2hyIGZ1ZXIgbWVpbmUgTFBDIHByb2JsZW1lIGhhdHRlbi4KQXJrIGRlciBtZWluIFJlcGZpbGUgenVtIGtvY2hlbiBicmFjaHRlIHVuZCBtaXIgYXVjaCBoaWxmcmVpY2hlIHRpcHMKaGludGVybGllcy4KRWJlbmZhbGxzIGRhbmtlIGljaCBHYWJ5bG9uIHVuZCBHbG9pbnNvbiBmdWVyIHdlaXRlcmUgdW50ZXJzdHVldHp1bmcuCkRhbmsgZ2VodCBuYXR1ZXJsaWNoIGF1Y2ggYW4gTWlyaWwgZGllIG1pY2ggd2VpdGVyZW4gdGlwcyB2ZXJzb3JndGUuCkRhbmsgZ2VodCBhdWNoIGFuIFpvb2sgZnVlciBkYXMgZ2VuZXJlbGxlIEdvZXR0bGljaHNlaW4gdW5kIEh1bW5pIGZ1ZXJzCmFuc2NobGllc3Nlbi4KRWluIGhlcnpsaWNoZXMgZGFua2Ugc2Nob2VuIGdlaHQgYXVjaCBhbiBTYXJheSBkaWUgbWljaCBpbW1lciB3aWVkZXIgZGFyYXVmCmF1Zm1lcmtzYW0gbWFjaHRlIGRhcyBpY2ggZG9jaCBub2NoIEFyYmVpdCB2b3IgbWlyIGhhYmUuCk1laW4gZGFuayBnZWh0IG5hdHVlcmxpY2ggYXVjaCBhbiBCYW1iaSwgZGVubiBlciBoYXQgbWljaCB1ZWJlcmhhdXB0IGVyc3QKZGFyYXVmIGdlYnJhY2h0IGRhcmF1cyBlaW5lIE1RIHp1IG1hY2hlbi4KCk5hdHVlcmxpY2ggd3VlcmRlIGljaCBtaWNoIHVlYmVyIGZlZWRiYWNrIGZyZXVlbiBhbHNvIG1haWx0IG1pciByaHVpZyBtYWwuIDspCkdydXNzIApSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsZWluZXIgS2FydGVubWFsZnVlaHJlciAoSHVyYXhwcmF4LCAxNS4gTWFpIDIwMTMsIDIyOjAzOjU1KToKfiMhIHJuPUdub21lIHJ0PTEzNjQwNzQ1NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzYzOTkxMjA1CkljaCwgZGFtYWxzLiBVbSBuYWNoIGVpbmVtIFJlc2V0IGVpbmVuIHNpY2hlcmVuIFdlZyB6dSBoYWJlbiB1bSBtaXIgc29mb3J0IGVpbgpFaXNhbXVsZXR0IHp1IGhvbGVuLCB1bmQgZWluIEVpc3NjaHdlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEFuYXRvbCwgMTkuIE1haSAyMDEzLCAxMDowNTo1MSk6Cn4jISBybj1IdXJheHByYXggcnQ9MTM2ODY0ODIzNSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKUmVib290LiBEdSBtZWluc3QgUmVib290LgoKVW5kIGRhcyBTY3JpcHQgd2FyIGRhcyB1ZWJlcmhhdXB0IEVSU1RFLCBkYXMgaWNoIGplIGhhdHRlLiBOb2NoIGluIGVpbmVyClRleHRkYXRlaSBtaXQgU2VsZWN0JkNvcHkmUGFzdGUsIHdlaWwgd2lyIGhhdHRlbiBkYW1hbHMgYXVzc2VyIFRlbG5ldCBqYQpuaXggWzFdLgoKClsxXSBNYW5jaGUgbXVzc3RlbiBkYSBzb2dhciB1ZWJlciBkYXMgYml0bmV0IHJlaW4uLi4uIHRuMzI3MC4uLiBtYW51ZWxsZXIKUGFnZWRvd24uLi4gR3J1bmRndWV0aWdlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKFphcGhvYiwgMTkuIE1haSAyMDEzLCAxNTo0NDo1OCk6Cn4jISBybj1BbmF0b2wgcnQ9MTM2ODk1MDc1MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNjM5OTEyMDUKTmFudSwgbWVpbmUgU2NyaXB0cyBob2wgaWNoIHdlaXRlcmhpbiBwZXIgQ29weSZQYXN0ZSBhdXMgZWluZXIgVGV4dGRhdGVpLiBHaWJ0CmVzIGRhIGV0d2Egd2ljaHRpZ2UgTmV1ZXJ1bmdlbiBhdWYgZGVtIFRleHRzY3JpcHRtYXJrdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlaWxuZWhtZXIgZnVlciBlaW5lIGt1cnplIEJlZnJhZ3VuZyBnZXN1Y2h0IChPcmt0b2V0ZXIsIDEwLiBKdWwgMjAxMywgMjI6MTg6MTMpOgpIYWxsbyEKCkVpbmUgQmVrYW5udCBzdWNodCBGcmVpd2lsbGlnZSwgZGllIGlociBiZWkgZWluZXIgU2VtaW5hcmFyYmVpdCBmdWVyIGRpZSBVbmkKaGVsZmVuLiBXZXIgTWl0bWFjaGVuIG1vZWNodGUsIHNlbmRlIG1pciBiaXR0ZSBlaW5lIGVtYWlsYWRyZXNzZSwgYW4gZGllIHNpZQplaW5lbiBGcmFnZWJvZ2VuIHp1bSBUaGVtYSBIb2VmbGljaGtlaXQgKGdhbnplIDMgRnJhZ2VuKSBzZW5kZW4ga2Fubi4gQWxsZQpBbnR3b3J0ZW4gd2VyZGVuIHNlbGJzdHZlcnN0YWVuZGxpY2ggYW5vbnltIGJlaGFuZGVsdC4KCkxHCk9ya3RvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2ljZXJvbmVzIHVuZCBJZGxlIChHbG9pbnNvbiwgMTEuIFNlcCAyMDEzLCAxNjo0Mjo0OCk6CkVyZmFocnVuZ3N3ZXJ0IGVpbmVzIFNwaWVsZXJzOiBJZGxlIENpY2Vyb25lIGFudHdvcnRlbiBuaWNodCAoaGFiZW4gYWxzbyBuaWNodApkYXMgRmVuc3RlciBvZmZlbiB1bmQgdGlwcGVuIG51ciBlaW5mYWNoIG5pY2h0cykuCgpMaWViZSBDaWNlcm9uZXMsIGJpdHRlIG51dHp0IGRlbiBCZWZlaGwgJ2NpY2Vyb25lIDUnIG1pdCBXZXJ0ZW4gZXVyZXIgV2FobCwKZmFsbHMgaWhyIGJlaSBBYndlc2VuaGVpdCB0YXRzYWVjaGxpY2ggZWhlciBuaWNodCBhbnNwcmVjaGJhciBzZWlkLiBBbHRlcm5hdGl2Cm11ZXNzdGVuIHdpciBkZW4gQW5mYWVuZ2VybiBkYXMgRmlsdGVybiBtaXQgJ2t3ZXIgY2ljZXJvbmUgdW5kIG5pY2h0IGlkbGV6ZWl0CjUnIGJlaWJyaW5nZW4uIE1laW5lciBNZWludW5nIG5hY2ggdmVya29tcGxpemllcnQgZGllIHp3ZWl0ZSBMb2VzdW5nIGRpZSBJZGVlCmRlciBDaWNlcm9uZXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENpY2Vyb25lcyB1bmQgSWRsZSAoU3BhcmtsZSwgMTEuIFNlcCAyMDEzLCAyMDoxMzoxNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzc4OTEwNTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM3ODkxMDU2OAp3YXJ1bSBkZW4gY2ljZXJvbmVzIHVlYmVyaGF1cHQgZWluZSB3YWhsbW9lZ2xpY2hrZWl0IGZ1ZXIgZGllIGlkbGV6ZWl0IGxhc3Nlbgo/IGNpY2Vyb25lIDUgb2RlciBuaWNodCBjaWNlcm9uZS4gZmVydGlnLgpFaW5lIGFuZGVyZSBpZGVlIHdhZXJlIGVpbiBiZWZlaGw6IHRlaWxlIGNpY2Vyb25lIG1pdCAtPiB3aXJkIGF1dG9tYXRpc2NoIGFuCmFsbGUgY2ljZXJvbmVzIG9kZXIgY2ljZXJvbmUgbWl0IGt1ZXJ6ZXN0ZXIgaWRsZXplaXQgZ2VzZW5kZXQuLi4KbGcsIHNwYXJrbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2ljZXJvbmVzIHVuZCBJZGxlIChCdWdmaXgsIDExLiBTZXAgMjAxMywgMjA6MTU6NTcpOgp+IyEgcm49U3BhcmtsZSBydD0xMzc4OTIzMTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM3ODkxMDU2OApXZWlsIGljaCBhdWNoIGluYWt0aXYgc2VpbiB1bmQgdHJvdHpkZW0gbWl0a3JpZWdlbiBrYW5uLCB3YXMgaW0gTXVkZmVuc3RlcgpwYXNzaWVydC4KCkJGCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENpY2Vyb25lcyB1bmQgSWRsZSAoR2xvaW5zb24sIDExLiBTZXAgMjAxMywgMjM6Mjg6MDUpOgp+IyEgcm49U3BhcmtsZSBydD0xMzc4OTIzMTk2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM3ODkxMDU2OApXZWlsICc1JyBudXIgZWluIEJlaXNwaWVsIHdhci4gV2llIFh1dGVsaXVzIHNjaG9uIGF1ZnplaWd0OiBtYW5jaGUgTGV1dGUgaGFiZW4KZGFzIEZlbnN0ZXIgZGF1ZXJoYWZ0IGltIFNpY2h0ZmVsZC9Ib2VyZmVsZCB1bmQgaWRsZW4gZWluZmFjaCBudXIgYmlzIHp1IGVpbmVtCid0ZWlsZSBtaXQnIG9kZXIgYW5kZXJlbiBrb21tZW50aWVyd3VlcmRpZ2VuIFZvcmtvbW1uaXNzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ2ljZXJvbmVzIHVuZCBJZGxlIChaYXBob2IsIDEzLiBTZXAgMjAxMywgMTU6NDY6MTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTM3ODkzNDg4NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzNzg5MTA1NjgKSWNoIGhhYmUgZXMgbWFuY2htYWwgaW0gU2ljaHRmZW5zdGVyIHVuZCBtYW5jaG1hbCBuaWNodC4gSW0gbGV0enRlcmVuIEZhbGwKbGVzZSBpY2ggbWlyIG9mdCBkZW4gU2Nyb2xsIGR1cmNoIHVuZCBmaW5kZSBkYW5uIGFsdGUgQW5mcmFnZW4sIG1hbmNobWFsCm5pY2h0LiBJY2ggc2NocmVpYmUgZGFubiBkZW4gTGV1dGVuIHp1cnVlY2ssIGRpZSBtYW5jaG1hbCBub2NoIG9ubGluZSBzaW5kLgpNYW5jaG1hbCBoYXQgamVtYW5kIGFuZGVyZXMgaWhyIFByb2JsZW0gc2Nob24gZ2Vsb2VzdCwgbWFuY2htYWwgc2luZCBzaWUgc2VocgpkYW5rYmFyIGZ1ZXIgZGllIHdlbm4gYXVjaCBzcGFldGVyZSBBbnR3b3J0LiBJY2ggYmluIG5pY2h0IHNpY2hlciwgaW53aWVmZXJuCmljaCBiZXNzZXIgaGVsZmVuIHd1ZXJkZSwgd3VlcmRlIG1laW4gQ2ljbyBkYXVlcm5kIGFiZ2VzY2hhbHRldC4gVm9yIGVpbmlnZXIKWmVpdCB3YXIgZXMgc28sIGRhc3MgcmVjaHQgd2VuaWdlIENpY29zIG9ubGluZSB3YXJlbiwgZGEgZGFjaHRlIGljaCwgbGllYmVyCm1hbmNobWFsIHNlbWktaWRsZSBzcGFldGVyIG5hY2hoZWxmZW4sIGFscyBnYXIgbmljaHQuIFdlbm4gZGllIFN0aW1tdW5nCmhldXR6dXRhZ2UgYW5kZXJzIGlzdCwga2FubiBpY2ggbWlyIGRhcyB3aWVkZXIgdWViZXJsZWdlbi4gQWxsZ2VtZWluIHdlcmRlIGljaAphYmVyIGF1Y2ggbnVyIHNlbHRlbiBhbmdlc2NocmllYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnJhZ2UgdWViZXIgamF3cyAoVGluLCAyOC4gT2t0IDIwMTMsIDEyOjQyOjUyKToKSHVodSwKCkljaCBzY2hyZWliZSwgd2VpbCBtaWNoIG1laW5lIEZyZXVuZGluLCBkaWUgbmljaHQgaGllciBzcGllbHQgZ2ViZXRlbiBoYXQsIG1hbApuYWNoIHp1IGZyYWdlbiwgYXVmIHdhcyBzaWUgYWNodGVuIG11c3MsIHdlbm4gc2llIHNpY2ggZWluZW4gbmV1ZW4gTGFwdG9wCmthdWZ0IHVuZCBKYXdzIGRhcmF1ZiBpbnN0YWxpZXJlbiBtb2VjaHRlLgpEaWUgRmlybWEsIGRpZSBpaHIgZGFzIEphd3MgbGllZmVybiBzb2xsLCBpc3QgZHVyY2hnZWhlbmQgYmVzZXR6dCB1bmQgc2llIAp3b2xsdGUgIGJlaSBkZXIgZmlybWEgZnJhZ2VuLCB3YXMgd2ljaHRpZyBiZWltIGthdWYgZWluZXMgbmV1ZW4gTGFwdG9wcyBpc3QuCkljaCBrZW5uZSBtaWNoIG1pdCBKYXdzIHNvIGd1dCB3aWUgZ2FyIG5pY2h0IGF1cywgd2VpbCBpY2ggZGFzIGphIG5pY2h0CmJyYXVjaGUgdW5kIGRhY2h0ZSwgaWNoIGZyYWdlIGVpbmZhY2ggbWFsLiBWaWVsbGVpY2h0IGtvZW5udCBpaHIgamEgd2VpdGVyCmhlbGZlbi4KCkxHClRpbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmcmFnZSB1ZWJlciBqYXdzIChYdXRlbGl1cywgMjguIE9rdCAyMDEzLCAxMjo1NDowNCk6Cn4jISBybj1UaW4gcnQ9MTM4Mjk2MDU3MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzODI5NjA1NzIKU293ZWl0IGljaCBpbmZvcm1pZXJ0IGJpbiBnaWJ0IGVzIGluIGRlbiBsZXR6dGVuIEphaHJlbiBtaXQgZWlnZW50bGljaCBrZWluZW4KSGFyZHdhcmUtS29uZmlndXJhdGlvbmVuIGdyb2Vzc2VyZSBQcm9ibGVtZS4gRGllIGFrdHVlbGwgdmVya2F1ZnRlbiBHZXJhZXRlCmhhYmVuIGF1Y2ggZ2VudWcgTGVpc3R1bmcgdW0gbWl0IEpBV1MgenUgYXJiZWl0ZW4uIEFsbGVyZGluZ3MgcmF0ZSBpY2ggdm9uIGRlcgpudXR6dW5nIGVpbmVzIE5ldGJvb2tzIG1pdCBKQVdTIGFiLCB3ZWlsIEpBV1Mgc2Nob24gZWluaWdlIFJlc291cmNlbgp2ZXJicmF1Y2h0IHVuZCBpY2ggYmVpIGVpbmlnZW4gQmVrYW5udGVuIHNlaGUsIGRhc3MgTmV0Ym9va3MgZGEgc2Nob24gemllbWxpY2gKc3RhcmsgYXVzZ2VicmVtc3Qgd2VyZGVuLgoKWHV0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmcmFnZSB1ZWJlciBqYXdzIChUaW4sIDI4LiBPa3QgMjAxMywgMTI6NTg6NDQpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTM4Mjk2MTI0NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzODI5NjA1NzIKSHVodSwgCmRhbmtlIGZ1ZXIgZGVpbmUgYW50d29ydC4KRGllIGZyYWdlIGRpZSBzaWUgbm9jaCBoYXR0ZSB3YXIsIHdvaGVyIHNpZSB3ZWlzcywgb2Igc2llIG5lIDMyICBiaXQgdmVyc2lvbgpvZGVyIG5lIDY0IGJpdCB2ZXJzaW9uIHZvbiBqYXdzIGJla29tbXQsIHdlaWwgc2llIGF1Y2ggd2luIDcgYXVmIGRlbiBuZXVlbgpMYXB0b3AgaGFiZW4gbW9lY2h0ZS4Kd2Vpc3MgbmljaHQgb2IgZHUgZGEgd2VpdGVyIGhlbGZlbiBrYW5uc3QuCgpncnVzcwp0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZyYWdlIHVlYmVyIGphd3MgKFh1dGVsaXVzLCAyOC4gT2t0IDIwMTMsIDEzOjA2OjA5KToKfiMhIHJuPVRpbiBydD0xMzgyOTYxNTI0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTM4Mjk2MDU3MgpHaWJ0IGJlaWRlIFZlcnNpb25lbi4gTXVzcyBtYW4gc2VpbmVtIEhhZW5kbGVyIGVpbmZhY2ggbWl0dGVpbGVuLCB3YXMgbWFuIGRhCmJyYXVjaHQuCgpYdXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmcmFnZSB1ZWJlciBqYXdzIChUaW4sIDI4LiBPa3QgMjAxMywgMTM6Mjc6NDUpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTM4Mjk2MTk2OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzODI5NjA1NzIKQWhhIG9rLgpEYW5rZSBmdWVyIGRpZSBoaWxmZSAKSWNoIGdlYnMgd2VpdGVyOikKCnRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2Flc3RlLCBkaWUgc2ljaCBuaWNodCBiZW5laG1lbiAoSHVtbmksIDI4LiBPa3QgMjAxMywgMTY6NTE6MjQpOgpIdWh1LAoKZGEgaGV1dGUgZWluZSBHYWVzdGVzY2h3ZW1tZSB6dSB2ZXJ6ZWljaG5lbiB3YXIsIGRpZSBzaWNoIG5pY2h0IGJlbm9tbWVuIGhhdCwKaGFiZSBpY2ggZGllIGVudHNwcmVjaGVuZGUgSVAgZnVlciBlaW5lbiBUYWcgZ2VzcGVycnQuIE1vcmdlbiBkYXJmIHdpZWRlcgpqZWRlciB2b24gZG9ydCBrb21tZW4uIEhvcGUgdGhhdCBoZWxwcy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2Flc3RlLCBkaWUgc2ljaCBuaWNodCBiZW5laG1lbiAoVGluLCAyOC4gT2t0IDIwMTMsIDE4OjI2OjAzKToKfiMhIHJuPUh1bW5pIHJ0PTEzODI5NzU0ODQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMzgyOTc1NDg0CmRhbmtlZQpkaWUgd2FybiBlY2h0IG5lcnZpZzopCgp0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNwYWNlbW9vc2UgKEJhbWJpLCAxOC4gSmFuIDIwMTQsIDE5OjAxOjQ1KToKfiMhIG9uPVNwYWNlbW9vc2Ugb3Q9MTM4OTk3NDc1MiBvZz1kLmdlYmlyZ2UKSWNoIGZpbmRlIGRpZXNlcyBHYW1lIGVpbmZhY2ggbnVyIHN1cGVyIGNvb2wuIE1hY2h0IG1pciB3aXJrbGljaCBTcGFzcy4gRXMgZ2lidCBzbyB2aWVsZSBoaWxmc2JlcmVpdHMgU3BpZWxlci4gTWFuIGZpbmRldCBpbW1lciBKZW1hbmRlbi4gKioKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChSZXBvc3QpIChLaGlkYXIsICA0LiBNYXIgMjAxNCwgMDA6MjU6NDQpOgpIaWVyIGVpbiBSZXBvc3QgbWVpbmVzIEFydGlrZWxzIHZvbiB2b3IgZWluZW0gSmFociwgZGVyIGVzIGxlaWRlciBub2NoIG5pY2h0IAphdWYgZGllIE1HLVNlaXRlIGdlc2NoYWZmdCBoYXQuIEVpbiBEdXBsaWthdCBpc3QgaW4gbWVpbmVtIFNlaGVyaGF1cy4KCktoaWRhci4KCgpLaGlkYXJzIGtsZWluZXIgRnVlaHJlciB6dW0gS2FydGVuemVpY2huZW46Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KS2FydGVuIGhlbGZlbiwgZGVuIFVlYmVyYmxpY2sgdWViZXIgZWluIEdlYmlldCB6dSBiZWtvbW1lbiB1bmQgenUgYmVoYWx0ZW4uCkFscyBFcnN0ZXMgYnJhdWNoZW4gd2lyIEJsZWlzdGlmdCB1bmQgUmFkaWVyZ3VtbWkuCkljaCBtYWxlIGF1ZiBLYXJvcGFwaWVyIGF1ZiBkZW4gTGluaWVua3JldXp1bmdlbiBkaWUgUmFldW1lIGFscyBrbGVpbmVuIEtyZWlzCnVuZCB2ZXJ3ZW5kZSBkYWJlaSBub3JtYWxlcndlaXNlIGplZGUgendlaXRlIEtyZXV6dW5nLiBFcyBnaWJ0IGFsbGVyZGluZ3MKUmFldW1lLCBkaWUgYXVzIGRlbSBSYXN0ZXIgZmFsbGVuLCB3aWUgaW0gV29ubmV3aWNodGVsd2FsZCBvZGVyIGhpZXIsIGRhbm4KbXVzcyBkZXIgUmF1bSBlaW5lIEtyZXV6dW5nIHZlcnNldHp0IHdpZSBpbSBCZWlzcGllbCBnZXplaWNobmV0IHdlcmRlbi4KV2VubiBtYW4gZGVuIFJhdW0gZXJmb3JzY2h0IGhhdCwgd2lyZCBkZXIgS3JlaXMgYXVzZ2VtYWx0LiBGdWVyIFp3ZWl0aWVzCmtvbW10IGVpbiB3ZWl0ZXJlciBLcmVpcyBkYXp1LCBkZXIgaW4gVmllcnRlbGtyZWlzZSBhdWZnZXRlaWx0IGlzdC4gV2VubgplaW4gWndlaXRpZSBkZW4gUmF1bSBlYmVuZmFsbHMgZXJrdW5kZXQgaGF0LCBtYWx0IG1hbiBhbSBiZXN0ZW4gbWl0IGVpbmVtCmFuZGVyc2ZhcmJpZ2VuIEt1Z2Vsc2NocmVpYmVyIGRhcyBLcmVpc3ZpZXJ0ZWwgZGF6dSwgd2FzIG1hbiBmdWVyIGRpZXNlbgpad2VpdGllIGZlc3RnZWxlZ3QgaGF0LCB6QiBiZWtvbW10IE5vayBpbW1lciBkYXMgVmllcnRlbCByZWNodHMgdW50ZW4uCldlbm4gZXMgZXR3YXMgQmVzb25kZXJlcyBpbSBSYXVtIGdhYiwgbWFsdCBtYW4ga2xlaW5lIFphaGxlbiBhbiBkZW4KYmV0cmVmZmVuZGVuIFJhdW0gdW5kIHNjaHJlaWJ0IGVpbmUgTGVnZW5kZSAoMSAtIG5pbW0gc2NobHVlc3NlbCBhdXMKcm9zdGhhdWZlbikuIEJlaSBzZWhyIHZpZWxlbiBXaXJrdW5nZW4gKEtub2VwZmUsIEhlYmVsKSB6ZWljaG5lIGljaCBub2NoCmVpbmVuIFBmZWlsIHZvbSBVcnNhY2hlLSBpbiBkZW4gV2lya3VuZ3NyYXVtLgpXZW5uIFJpY2h0dW5nZW4gYWJ3ZWljaGVuLCBrb21tdCBhbiBkaWUgVmVyYmluZHVuZ3NsaW5pZSBkaWUgZ2VuYXVlIFJpY2h0dW5nCih3aWUgbnd1IG9kZXIgb2IpLiBVZWJyaWdlbnMgdmVyd2VuZGUgaWNoIGZ1ZXIgIm9iZW4iIGRhcyBBbGlhcyAiaCIgLSBlcyBpc3QKZWluZmFjaCBwcmFrdGlzY2hlci4gRGllIFRyZW5udW5nIHp1ICJiZW5hY2hiYXJ0ZW4iIFpldHRlbG4gZXJmb2xndCBtaXQKZWluZXIgRG9wcGVsbGluaWUsIGRhbWl0IG1hbiB3ZWlzcywgZGFzcyBtYW4gZGllc2VuIEF1c2dhbmcgc2Nob24gZXJrdW5kZXQKaGF0LCB3aWUgYXVmIGRlciBUYWZlbCBhYmdlYmlsZGV0LiBEYW5lYmVuIGhhYmUgaWNoIG5vY2ggc2VsdGVuZXJlIFplaWNoZW4gd2llCmVpbmVuIGVpbnplbG5lbiBRdWVyc3RyaWNoIGFuIGVpbmVyIEF1c2dhbmdzcmljaHR1bmcgZnVlciBub2NoIG5pY2h0IGxhdWZiYXJlIApSaWNodHVuZ2VuLCBkaWUgYWJlciBzY2hvbiBpbSBSYXVtIHNpbmQuIEF1c3NlcmRlbSBrYW5uIGVpbmUgYmVsaWViaWdlIApSaWNodHVuZyBtaXQgZWluZXIgUGZlaWxzcGl0emUgdmVyc2VoZW4gd2VyZGVuLCB3ZW5uIHNpZSBlaW5lIEVpbmJhaG5zdHJhc3NlIApkYXJzdGVsbHQuCkltIE1VRCBzaW5kIGRpZSBWZXJiaW5kdW5nc3dlZ2Ugc2luZCBtaXQgZWluZW0gZ3JvYmVuIE1hc3NzdGFiIGFiZ2ViaWxkZXQsCm1hbiBsZWd0IG1pdCBlaW5lbSBTY2hyaXR0IGFsc28gZ3Jvc3NlIEVudGZlcm51bmdlbiB6dXJ1ZWNrLiBRdWVzdGdlYmlldGUKaGFiZW4gbWVpc3QgZWluZW4ga2xlaW5lbiBNYXNzc3RhYiwgYWxzbyBudXIga3VyemUgUmF1bWVudGZlcm51bmdlbgp2b25laW5hbmRlci4gRGFoZXIgc29sbHRlIG1hbiBRdWVzdGdlYmlldGUgYXVmIGVpbmVuIGVpZ2VuZW4gWmV0dGVsIG1hbGVuLgpBbGx6ZWl0IGd1dGUgVWViZXJzaWNodCEKCkJlaXNwaWVsa2FydGUgbWVpbmVyIFppdGFkZWxsZToKLi4uLm8uLi4uCi4uLy58LlwuLgpvLi4ufC4uLm8KfC4uLm8uLi58Cm8uLi4uLi4ubwouLlwuLi4vLi4KLi4uLm8uLi4uCi4udS58Lm9iLgouLi4uby4uLi4KLi51Lnwub2IuCi4uLi5vLi4uLgoucmEufC5iZXQKLi4uLj0uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJ1ZWhtdGUgbGV0enRlIFdvcnRlIG1hbCBhbmRlcnMuLi4gKFplc3N0cmEsIDEwLiBBcHIgMjAxNCwgMjI6MTQ6MzUpOgpbRXJ6bWFnaWVyOlplc3N0cmFdIEJUVzogd2VubiBkYXMgd2VpdGVyIHdhZWNoc3QsIGRhbm4gZ2VodCBkZW0gUHJvemVzcwpbRXJ6bWFnaWVyOlplc3N0cmFdIGlyZ2VuZHdhbm4gZGVyIHNwZWljaGVyIGZ1ZXIgc3RhY2sgYXVzLiBVbmQgZGFubiBrcmllZ3QgZXIKW0Vyem1hZ2llcjpaZXNzdHJhXSB2b20gS2VybmVsIG5lbiBzZWdmYXVsdC4KJSBDb25uZWN0aW9uIHRvIFplc3N0cmEgY2xvc2VkIGJ5IGZvcmVpZ24gaG9zdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRLTVMgKFRpbiwgIDIuIE5vdiAyMDE0LCAyMDoyOTozNSk6Ckh1aHUsCmF1cyBnZWdlYmVuZW0gQW5sYXNzOgpodHRwOi8vd3d3Lm1haW4tbmV0ei5kZS9uYWNocmljaHRlbi9yZWdpb24vYXNjaGFmZmVuYnVyZy9hc2NoYWZmZW5idXJnLWxhbmQvbGEKbmQvYXJ0Mzk4NiwzMjgzNDQwCldpbGwgaWNoIGF1Zm1lcmtzYW0gbWFjaGVuIGF1ZiBkaWUgREtNUzoga29zdGV0IGV1Y2ggMiBNaW51dGVuIGV1cmVzIExlYmVucywKdW5kIHNjaGVua3QgYW5kZXJlbiBlaW4gbmV1ZXMgTGViZW4uLi4KaHR0cDovL3d3dy5ka21zLmRlL2RlP3V0bV9zb3VyY2U9Z29vZ2xlX2dyYW50cyZ1dG1fbWVkaXVtPWdvb2dsZV9ncmFudHMmdXRtX2NhCm1wYWlnbj1nb29nbGVfZ3JhbnRzCk5pY2h0IHZvciBldWNoIGhlciBzY2hpZWJlbiwgd2VubiBpaHIgZXMgbWFjaGVuIHdvbGx0Li4gc29uZGVybi4uLiB0dXQgZXMKZWluZmFjaC4uClNwZW5kZXIgd2VyZGVuOgpodHRwOi8vd3d3LmRrbXMuZGUvZGUvc3BlbmRlci13ZXJkZW4KRWluZW4gU3BlbmRlciBpbiBkZXIgRmFtaWxpZSB6dSBmaW5kZW4sIGlzdCBzZWhyIHNlbHRlbiwgbnVyIDEvMyBhbGxlcgpCbHV0a3JlYnNwYXRpZW50ZW4gZmluZGVuIGlubmVyaGFsYiBkZXIgRmFtaWxpZSBlaW5lbiBzcGVuZGVyLi4uCgouLi4gbXVzc3RlIGljaCBqZXR6dCBsb3Mgd2VyZGVuLi4uCkRhbmtlLQpUaW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERLTVMgKEdhYnlsb24sICAyLiBOb3YgMjAxNCwgMjE6NDA6MjYpOgp+IyEgcm49VGluIHJ0PTE0MTQ5NTY1NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CldpZXNvIGlzdCAzMyUgInNlaHIgc2VsdGVuIj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogREtNUyAoVGluLCAgMi4gTm92IDIwMTQsIDIxOjUxOjEyKToKfiMhIHJuPUdhYnlsb24gcnQ9MTQxNDk2MDgyNiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MTQ5NTY1NzUKQXVmIGRlciBTZWl0ZSBkZXIgREtNUyBzdGVodDoKIk51ciBlaW4gRHJpdHRlbCBkZXIgUGF0aWVudGVuIGZpbmRldCBpbm5lcmhhbGIgZGVyIEZhbWlsaWUgZWluZW4gZ2VlaWduZXRlbgpTcGVuZGVyLiBEZXIgR3Jvc3N0ZWlsIGJlbm9ldGlndCBlaW5lbiBuaWNodCB2ZXJ3YW5kdGVuIFNwZW5kZXIuIERpZQpXYWhyc2NoZWlubGljaGtlaXQsIGVpbmVuIHBhc3NlbmRlbiBTcGVuZGVyIGF1c3NlcmhhbGIgZGVyIGVpZ2VuZW4gRmFtaWxpZSB6dQpmaW5kZW4sIGxpZWd0IGJlaSAxIDogMjAuMDAwIGJpcyAxIDogbWVocmVyZW4gTWlsbGlvbmVuLiBVbnRlciBVbXN0YWVuZGVuCmZpbmRldCBzaWNoIGF1Y2ggdW50ZXIgbWVocmVyZW4gTWlsbGlvbmVuIG5pZW1hbmQuIERlc2hhbGIgYnJhdWNoZW4gd2lyIFNpZSEiClVuZCA6IEFsbGUgMTYgTWludXRlbiBlcmtyYW5rdCBqZW1hbmQgaW4gRGV1dHNjaGxhbmQgYW4gQmx1dGtyZWJzLgpIaWVyIGRpZSB3aWNodGlnc3RlbiBmcmFnZW46Cmh0dHA6Ly93d3cuZGttcy5kZS9kZS9mYXEKSGllciBzaWVodCBtYW4gd2llIHZpZWxlIG1lbnNjaGVuIGphZXJsaWNoIGVya3JhbmtlbiwgZGEgc2luZCAzMyUgd2lya2xpY2gKc2VociB3ZW5pZyB1bmQgc2VsdGVuOgpodHRwOi8vd3d3LmtvbXBldGVuem5ldHotbGV1a2FlbWllLmRlL2NvbnRlbnQvYWVyenRlL2VwaWRlbWlvbG9naWUvbGV1a2FlbWllaGEKZXVmaWdrZWl0L2luZGV4X2dlci5odG1sCkRpZSBmcmFnZSBpc3QgamEgYXVjaDogZmluZGV0IG1hbiBlaW5lbiBzcGVuZGVyIHVuZCwgd2lyZCBkaWUgc3BlbmRlIHdpcmtsaWNoCnNvIGFuZ2Vub21tZW4sIHdpZSBtYW4gc2ljaCBkYXMgZXJob2ZmdD8KLVRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogREtNUyAoUnVtYXRhLCAgMy4gTm92IDIwMTQsIDA5OjE4OjAxKToKfiMhIHJuPVRpbiBydD0xNDE0OTYxNDcyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpNYWcgc2VpbiwgZGFzcyBlcyBhdXNzZXJoYWxiIGRlciBGYW1pbGllIHdpcmtsaWNoIHNjaHdlciBpc3QsIGFiZXIgZGFzIGFlbmRlcnQKbml4IGRhcmFuLCBkYXNzIDMzJSBpbSBGYWNoamFyZ29uIC13aWUgYWxsZXMgd2FzIG1laHIgYWxzIDE6MTAgaXN0LCBndWNrIGRpcgptYWwgZWluZW4gZWluZW4geC1iZWxpZWJpZ2VuIEJlaXBhY2t6ZXR0ZWwgYW4tICJzZWhyIGhhZXVmaWciIGhlaXNzdC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBES01TIChUaW4sICAzLiBOb3YgMjAxNCwgMDk6MjM6NTYpOgp+IyEgcm49UnVtYXRhIHJ0PTE0MTUwMDI2ODEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CmRhbm4gaGFiIGljaCB3b2hsIGRhcyBnbHVlY2ssIG9kZXIgZGFzIHNlbHRlbmUvaGFldWZpZ2UgZ2x1ZWNrLCBlaW5lbiBzcGVuZGVyCmluIGRlciBmYW1pbGllIGdlZnVuZGVuIHp1IGhhYmVuPwplZ2FsLCBvYiBzZWx0ZW4gb2RlciBuaWNodCBzZWx0ZW4sIHRhdHNhY2hlOiBlcyBmZWhsZW4gc3BlbmRlci4KdGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBES01TIChSdW1hdGEsICAzLiBOb3YgMjAxNCwgMDk6NDE6NTUpOgp+IyEgcm49VGluIHJ0PTE0MTUwMDMwMzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CkRhc3MgU3BlbmRlciBmZWhsZW4sIGthbm4gbWFuIHNpY2hlciB1bnRlcnNjaHJlaWJlbi4KClp1IEdsdWVjayBnZWhvZXJ0IG5pY2h0IG51ciBkaWUgV2FocnNjaGVpbmxpY2hrZWl0IGVpbmVzICJHZXdpbm5zIiwKc29uZGVybiBhdWNoIGRlciBlcndhcnRldGUgR2V3aW5uIHNlbGJzdC4gVW5kIGRlciBpc3QgYmVpIHNvIFNhY2hlbiB3aWUKS25vY2hlbm1hcmtzcGVuZGVuIG5hdHVlcmxpY2ggKnNlaHIqIGhvY2guID0+IGVyZ286IEdsdWVjayA9IGdyb3NzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogREtNUyAoVGluLCAgMy4gTm92IDIwMTQsIDEzOjM5OjIzKToKfiMhIHJuPVJ1bWF0YSBydD0xNDE1MDA0MTE1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpSaWNodGlnLCBlcyBicmF1Y2h0IG1laHIgYWxzIG51ciBlaW5lbiBwYXNzZW5kZW4gU3BlbmRlci4uLiBlcnN0IHdlbm4gYWxsZXMgc28Ka2xhcHB0IHdpZSBlcyBrbGFwcGVuIHNvbGx0ZSwga2FubiBtYW4gdm9uIEdsdWVjayBvZGVyIGdlbHVuZ2VuIHNwcmVjaGVuLiBEaWUKbWVpc3RlbiBUcmFuc3BsYW50YXRpb25lbiBiZXN0ZWhlbiBqZWRvY2ggbmljaHQgbWVociBhdXMgS25vY2hlbm1hcmssIHNvbmRlcm4KYXVzIFN0YW1temVsbGVuLiBEaWUgVm9yZ2VoZW5zd2Vpc2UgdW50ZXJzY2hlaWRldCBzaWNoLgpLbm9jaGVubWFya3N0cmFuc3BsYW50YXRpb25lbihLTVQpLCBzaW5kIHJpc2lrb3JlaWNoZXIgdW5kIHdlcmRlbiB1bnRlcgpWb2xsbmFya29zZSBlbnRub21tZW4uIDIwJSBkZXIgVHJhbnNwbGFudGF0aW9uZW4gc2luZCBLTVQuIDgwJSBzaW5kClN0YW1temVsbGVuLCBuaWNodCBzbyByaXNpa29yZWljaCB3aWUgZGllIEtNVCwgamVkb2NoIHd1ZXJkZSBpY2ggbmljaHQgc2FnZW4sCmRhc3MgZXMgZGEgMCBSaXNpa2VuIGdpYnQuIFVuZCB3ZXIgZWJlbiBhdXMgZ2VzdW5kaGVpdGxpY2hlbiBHcnVlbmRlbiBuaWNodApzcGVuZGVuIGthbm4sIGRlciBrYW5uIGphIGltbWVyaGluIEdlbGQgc3BlbmRlbiwgZGVubiBkaWUgREtNUyB6YWhsdCBmdWVyIGplZGUKUmVnaXN0cmllcnVuZyA1MCBFdXJvLiBTY2hhZGUgZmluZGUgaWNoLCB3ZW5uIE1lbnNjaGVuIHNhZ2VuLCBkYXNzIHNpZSBqYQplaWdlbnRsaWNoIHdvbGxlbiwgamVkb2NoIGRpZSBaZWl0IG5pY2h0IGRhZnVlciBmaW5kZW4uLi4gRGFzIGlzdCBuYWVtbGljaAprYXVtIFplaXQsIGRpZSBtYW4gZGEgZmluZGVuIG11c3MuCgpTY2hhZGUsIGRhc3MgZXMgZnVlciBkaWUga2xlaW5lIEVsbGEgenUgc3BhZXQgd2FyLCBtaXIgdHV0IHNvd2FzIGltbWVyIHdlaC4KRGVyIFNwZW5kZXIgd3VyZGUgaW4gaWhyZW0gRmFsbCB6dSBzcGFldCBnZWZ1bmRlbi5JbSBGYWxsIHZvbiBNQVJHT1QgZ2FiIGVzIHNvCndlaXQgaWNoIHdlaXNzIGtlaW5lbiBTcGVuZGVyLCB1bmQgZGVyIGtsZWluZSBDYXJsb3MsIGZ1ZXIgaWhuIHdpcmQgbm9jaApnZXN1Y2h0LgpEYXMgc2luZCBudXIgMyB2b24gdmllbGVuLCBkaWUgZXMgYXVmIEdydW5kIGZlaGxlbmRlciBTcGVuZGVyIG5pY2h0IHNjaGFmZmVuLgpPZGVyIGltIEZhbGwgdm9uIENhcmxvcywgaW0gdW5nZXdpc3NlbiBzdGVoZW4uIFVuZCBkYSBtaXIgZGFzIGplZGVzIE1hbCBzbwpuYWhlIGdlaHQsIHVuZCBpY2ggZnJvaCBzZWluIGRhcmYsIGhpZXIgenUgc2VpbiwgZGFzIEdsdWVjayBnZWhhYnQgenUgaGFiZW4sCmFiZXIgc2VsYnN0IHdlZGVyIE9yZ2FuZSwgbm9jaCBCbHV0IG5vY2ggU3RhbW16ZWxsZW4gc3BlbmRlbiBkYXJmLCBibGVpYnQgbWlyCm5pY2h0cyBhbmRlcmVzIHVlYnJpZywgYWxzIGF1Zm1lcmtzYW0genUgbWFjaGVuIHVuZCB6dSBzYWdlbjogSGV5LCB3ZW5uIGlocgprb2VubnQsIGRhbm4gbWFjaHQgZXMsIGRhcyBrb3N0ZXQgZXVjaCBuaWNodHMgdW5kIHdlbm4gaWhyIGFscyBTcGVuZGVyIGluCkZyYWdlIGtvbW10LCBkYW5uIGtvZW5udCBpaHIgc3RvbHogYXVmIGV1Y2ggc2VpbiwgZGVubiBkYWR1cmNoIGtvZW5udCBpaHIKTGViZW4gcmV0dGVuLgoKdGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBES01TIChLZWxseWJ1bmR5LCAgOS4gTm92IDIwMTQsIDIxOjA3OjE0KToKfiMhIHJuPVRpbiBydD0xNDE1MDE4MzYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpEaWUgREtNUyBpZ25vcmllcnQgbWljaC4gSWNoIHd1ZXJkZSBtaWNoIGphIGdlcm5lIHJlZ2lzdHJpZXJlbiBsYXNzZW4uIEltClVlYnJpZ2VuIGJpbiBpY2ggRGF1ZXJibHV0c3BlbmRlciB1bmQgZnVlciBkaWUgbWVpc3RlbiBCZWxhbmdlIGRlciBES01TIHNjaG8KYXVzcmVpY2hlbmQgdHlwaXNpZXJ0LiBJY2ggcmVubmUgZGVuZW4gbmljaHQgbWVociBoaW50ZXJoZXIuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogREtNUyAoVGluLCAgOS4gTm92IDIwMTQsIDIxOjIyOjI2KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTQxNTU2MzYzNCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MTQ5NTY1NzUKTmEgYmx1dHNwZW5kZXIgZ2lidHMgamEgYXVjaCB6dSB3ZW5pZy4uLgp1bmQgb3JnYW5zcGVuZGVyLi4gYWNoLiBhbGxlcyBpcmdlbmR3aWUuLiA6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IERLTVMgKFNhcmF5LCAgOS4gTm92IDIwMTQsIDIzOjIyOjA0KToKfiMhIHJuPVRpbiBydD0xNDE1NTY0NTQ2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpvcmdhbnNwZW5kZXJpbiBiaW4gaWNoLCBES01TIGlzdCBpbiBBcmJlaXQgdW5kIEJsdXQgc3BlbmRlbiBkYXJmIGljaCBudXIKYWV1c3NlcnN0IHNlbHRlbiwgd2VpbCBpY2ggc28ga2xlaW4gYmluLiBIYXQgbWlyIGRhcyByb3RlIEtyZXV6IGdlc2FndCA6LUQuClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogREtNUyAoVGluLCAgOS4gTm92IDIwMTQsIDIzOjIzOjI5KToKfiMhIHJuPVNhcmF5IHJ0PTE0MTU1NzE3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CmhlZWV5IHNhcmF5LCBhdWYgenVyIERLTVMhIHNpbmQgbnVyIDIgbWludXRlbiwgZ2VodCBqYSBhdWNoIG9ubGluZSEhCnRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERLTVMgKEdsb2luc29uLCAgOS4gTm92IDIwMTQsIDIzOjI0OjM1KToKfiMhIHJuPVNhcmF5IHJ0PTE0MTU1NzE3MjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CkVpbmZhY2ggbmFjaCBqZWRlciBTcGVuZGUgb2JlbiByb3RlbiBXZWluIG5hY2hmdWVsbGVuIDspCgpVZWJlciA1MCBrZyBoYWJlbiBkaWUgZWlnZW50bGljaCBrZWluZSBQcm9ibGVtZS4gSW0gWndlaWZlbHNmYWxsIHNhZ3QgZGVyIEFyenQKdm9yaGVyIG5vY2h3YXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERLTVMgKFRpbiwgIDkuIE5vdiAyMDE0LCAyMzozMDowMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNDE1NTcxODc1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpIYWNoIGphYS4uIDUwa2cuLiBlaW4gdHJhdW0uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBES01TIChSb2NodXMsIDExLiBOb3YgMjAxNCwgMjE6NTQ6NDYpOgp+IyEgcm49VGluIHJ0PTE0MTU1NzIyMDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CkRhenUgbWFsIGVpbiBFcmZhaHJ1bmdzYmVyaWNodDoKCkljaCBtb2VjaHRlIHZvcndlZyBuZWhtZW4sIGRhc3MgaWNoIEVYVFJFTSBzY2htZXJ6ZW1wZmluZGxpY2ggYmluCnVuZCBBbmdzdCB2b3IgamVkZXIgU3ByaXR6ZSBoYWJlLgpUcm90emRlbSBoYWJlIGljaCBtaWNoIGltIEphaHIgMjAwMCB0eXBpc2llcmVuIGxhc3Nlbi4gV2FydW0/CkJlaW0gQmx1dHNwZW5kZW4ga2FubiBpY2ggbWljaCBub2NoIGRhbWl0IGhlcmF1c3JlZGVuLApkYXNzIGRhcyBCbHV0IGplZGVzIGFuZGVyZW4gU3BlbmRlcnMgZ2VuYXVzbyBndXQgZ2VlaWduZXQgaXN0CndpZSBtZWluZXMuIEJlaSBkZXIgU3RhbW16ZWxsZW5zcGVuZGUgZ2VodCBkYXMgbmljaHQuCkRpZSBFcmtlbm50bmlzLCBmdWVyIGlyZ2VuZCBlaW5lbiBNZW5zY2hlbiBhdWYgZGVyIFdlbHQKdmllbGxlaWNodCBkaWUgbGV0enRlIEhvZmZudW5nIHp1IHNlaW4sIHdlaWwgZGllIG5vdHdlbmRpZ2UKVWViZXJlaW5zdGltbXVuZyBzbyBleHRyZW0gdW53YWhyc2NoZWlubGljaCBpc3QsIGhhdCBtaWNoCm1laW5lIEFuZ3N0IHVlYmVyd2luZGVuIGxhc3Nlbi4KCkdydW5kc2FldHpsaWNoIGdpYnQgZXMgendlaSBBcnRlbiwgYW4gU3RhbW16ZWxsZW4genUgZ2VsYW5nZW46CjEuIERpZSBLbm9jaGVubWFya2VudG5haG1lLiBEaWVzZSBnZXNjaGllaHQgbmljaHQsIHdpZSB2aWVsZQpiZWZ1ZXJjaHRlbiwgYXVzIGRlbSBSdWVja2VubWFyayBzb25kZXJuIGF1cyBkZW0gQmVja2Vua25vY2hlbi4KV2lyZCBhYmVyIGhldXR6dXRhZ2UgYWJlciBwcmFrdGlzY2ggbnVyIGdlbWFjaHQsIHdlbm4gZXMgR3J1ZW5kZSBnZWdlbgpkaWUgYW5kZXJlIE1ldGhvZGUgZ2lidCwgd2VpbCBkYWZ1ZXIgZWluZSBWb2xsbmFya29zZSBlcmZvcmRlcmxpY2ggaXN0LgoyLiBEaWUgc29nZW5hbm50ZSBwZXJpcGhlcmUgU3RhbW16ZWxsZW5lbnRuYWhtZS4gRGFiZWkgd2lyZApkaWUgU3RhbW16ZWxsZW5wcm9kdWt0aW9uIHp1dm9yIG1pdCBlaW5lbSBNZWRpa2FtZW50IGFuZ2VyZWd0CnVuZCBkaWUgWmVsbGVuIGRhbm4gYXVzIGRlbSBCbHV0IGhlcmF1c2dlZmlsdGVydC4gRGVyIFZvcmdhbmcKbmVubnQgc2ljaCBBcGhlcmVzZSB1bmQgbWFuIGthbm4gaWhuIHNpY2ggYWVobmxpY2ggd2llIGVpbmUgRGlhbHlzZQp2b3JzdGVsbGVuOiBBdXMgZWluZW0gQXJtIHdpcmQgZGFzIEJsdXQgbWl0IGVpbmVtIFNjaGxhdWNoIGR1cmNoCmRlbiBGaWx0ZXJhcHBhcmF0IGdlbGVpdGV0IHVuZCBpbiBkZW4gYW5kZXJlbiBrb21tdCBlcyB3aWVkZXIgaGluZWluLgoKQWJlciBkZXIgUmVpaGUgbmFjaDoKQmVpIGRlciBHcm9idHlwaXNpZXJ1bmcsIGRpZSBkYW1hbHMgbm9jaCBtaXQgZWluZXIgQmx1dHByb2JlCmVyZm9sZ3RlIC0gaGV1dHp1dGFnZSBnZWh0IGVzIG1pdCBXYXR0ZXN0YWViY2hlbiB1bmQgWmVsbGVuIGF1cyBkZXIKTXVuZHNjaGxlaW1oYXV0IC0gZ2FiIGVzIG5vY2gga2VpbmVuIHVubWl0dGVsYmFyZW4gVHJlZmZlci4KCkVpbiBKYWhyIHNwYWV0ZXIgZ2FiIGVzIGVpbmUgVWViZXJlaW5zdGltbXVuZyBkZXIgZ3JvYmVuIE1lcmttYWxlLgpNaXR0ZWxzIGVpbmVyIGJlaW0gSGF1c2FyenQgYWJnZW5vbW1lbmVuIEJsdXRwcm9iZSB3dXJkZSBkYXMgbmFlY2hzdGUKTWVya21hbCBiZXN0aW1tdC4gQWxsZXJkaW5ncyBnYWIgZXMgaGllciBzY2hvbiBlaW5lIEFid2VpY2h1bmcsIGFsc28Kd3VyZGUgZGVyIFJlc3QgZGVyIFByb2JlIGZ1ZXIgZGVuIG5hZWNoc3RlbiBGYWxsIGF1ZmJld2FocnQuCgoyMDA4IGthbSBkYW5uIGRpZSBOYWNocmljaHQsIGRhc3MgZWluZSBzZWhyIHdhaHJzY2hlaW5saWNoZQpVZWJlcmVpbnN0aW1tdW5nIGVudGRlY2t0IHd1cmRlIHVuZCB1bSBlaW5lbiBSdWVja3J1ZiBlcnN1Y2h0LAp6dXNhbW1lbiBtaXQgZWluZW0gVm9yYmVyZWl0dW5nc3pldHRlbCBmdWVyIGRhcyBUZWxlZm9uYXQuCkJlaSBkZW0gQW5ydWYgd3VyZGVuIGRhbm4gZWluaWdlIEZyYWdlbiBnZWtsYWVydCB1bmQgZXMgd3VyZGUKZWluIHdlaXRlcmVyIEJlc3VjaCBiZWkgbWVpbmVtIEhhdXNhcnp0IGZhZWxsaWcuIERpZXNtYWwgbXVzc3RlCmVpbmUgZ3JvZXNzZXJlIE1lbmdlIEJsdXQgYWJnZW5vbW1lbiB3ZXJkZW4sIHdlbGNoZXMgZGFubiB2b24KZWluZW0gS3VyaWVyIGFiZ2Vob2x0IHd1cmRlLgpEaWUgUHJvYmUgaGF0IGRpZSBVZWJlcmVpbnN0aW1tdW5nIGJlc3RhZXRpZ3QsIGplZGVuZmFsbHMgd3VyZGUKaWNoIGRhcmF1ZmhpbiBnZWJldGVuLCB6dSBlaW5lciBWb3J1bnRlcnN1Y2h1bmcgenUga29tbWVuLgpadXIgQXVzd2FobCBzdGFuZGVuIERyZXNkZW4sIEZyYW5rZnVydCB1bmQgSGFtZWxuLCBkYSBpY2ggYW4gZGVuCmVyc3RlbiBiZWlkZW4gT3J0ZW4gc2Nob24gd2FyIGhhYmUgaWNoIG1pY2ggZnVlciBIYW1lbG4gZW50c2NoaWVkZW4uCgpEaWUgVm9ydW50ZXJzdWNodW5nIGlzdCB3b2hsIGFuIEdydWVuZGxpY2hrZWl0IGthdW0genUgdWViZXJiaWV0ZW4uCldpZWRlciBtdXNzdGUgQmx1dCBhYmdlbm9tbWVuIHdlcmRlbi4gRGllIE1lbmdlIGRlciBSb2VocmNoZW4gd2FyIHp3YXIKYXVmIGRlbiBlcnN0ZW4gQmxpY2sgZXJzY2hyZWNrZW5kIC0gZXMgbXVlc3NlbiB6d2lzY2hlbiAxMCB1bmQgMjAgZ2V3ZXNlbgpzZWluIC0gYWJlciBkaWUgTGV1dGUgZG9ydCBzaW5kIGdldWVidC4gQXVzc2VyZGVtIHd1cmRlbiBkaWUgUm9laHJjaGVuCm5pY2h0IGRpcmVrdCBhbiBkaWUgTmFkZWwgZ2VzY2hyYXVidCwgc29uZGVybiBhbiBlaW4ga3VyemVzIFNjaGxhdWNoc3R1ZWNrCmRhendpc2NoZW4sIHdvZHVyY2ggc2ljaCBkYW5uIGRpZSBCZXdlZ3VuZyBuaWNodCBhdWYgZGllIE5hZGVsIHVlYmVydHJhZWd0LgpJY2ggZmluZGUsIGRhcyBzb2xsdGUgbWFuIGJlaSBqZWRlciBCbHV0ZW50bmFobWUgc28gbWFjaGVuLgpHZXRlc3RldCB3dXJkZSAtIHdpZSBuaWNodCBhbmRlcnMgenUgZXJ3YXJ0ZW4gd2FyIC0gYXVmIEhJViwgSGVwYXRpdGlzCnVuZCBlaW5lciBNZW5nZSBhbmRlcmVyIEtyYW5raGVpdGVuLCB2b24gZGVuZW4gaWNoIHRlaWx3ZWlzZSBub2NoIG5pZQp6dXZvciBnZWhvZXJ0IGhhYmUuCkRhbmViZW4gaGFiIGVzIG5hdHVlcmxpY2ggRUtHLCBMdW5nZW5mdW5rdGlvbiB1bmQgZWluZQpVbHRyYXNjaGFsbHVudGVyc3VjaHVuZywgd29iZWkgYmVzb25kZXJzIHZpZWwgV2VydCBhdWYgZGVuIFp1c3RhbmQgZGVyCk1pbHogZ2VsZWd0IHd1cmRlLiBEZXIgR3J1bmQgZGFmdWVyIGlzdCwgZGFzcyBkaWUgYmVkZW5rbGljaHN0ZW4KTmViZW53aXJrdW5nZW4gZGVzIG9iZW4gZ2VuYW5udGVuIE1pdHRlbHMgYmlzaGVyIG51ciBiZWkgZWluZXIKVmVyZ3JvZXNzZXJ1bmcgZGVyIE1pbHogZW50ZGVja3Qgd3VyZGVuLgoKRXMgZm9sZ3RlIGVpbiBHZXNwcmFlY2ggbWl0IGVpbmVyIEFlcnp0aW4gdWViZXIgVm9yZXJrcmFua3VuZ2VuIHVuZCwKbmFjaGRlbSBkaWUgTGFib3JlcmdlYm5pc3NlIHZvcmxhZ2VuLCBlaW4gd2VpdGVyZXMgdWViZXIgZGllIHdlaXRlcmUKVm9yZ2VoZW5zd2Vpc2UgdW5kIGRpZSBBYmdhYmUgZGVyIEVpbnZlcnN0YWVuZG5pc2Vya2xhZXJ1bmcuCkRhbmFjaCBzb2xsdGUgbWFuIGJlc3NlciBrZWluZW4gUnVlY2t6aWVoZXIgbWVociBtYWNoZW4sIGRlbm4gdm9uCmRhbm4gYmlzIHp1IGRlbSBFbnRuYWhtZXRlcm1pbiB3aXJkIGRhcyBJbW11bnN5c3RlbSBkZXMgRW1wZmFlbmdlcnMKdm9sbGtvbW1lbiBnZWtpbGx0LgoKNCBUYWdlIHZvciBkZW0gRW50bmFobWV0ZXJtaW4gbXVzc3RlIGljaCBtaXQgZGVyIFZlcmFicmVpY2h1bmcgZGVzCldhY2hzdHVtc2Zha3RvcnMgRy1DU0YgYmVnaW5uZW4uIERhcyBNaXR0ZWwgbXVzcyBpbiBkZW4gQmF1Y2ggdW50ZXIKZGllIEhhdXQgZ2VzcHJpdHp0IHdlcmRlbi4gRGllIGthbm4gbWFuIGJlaW0gSGF1c2FyenQgbWFjaGVuIGxhc3NlbgpvZGVyIC0gd2llIGljaCAtIGF1Y2ggc2VsYmVyIGVybGVkaWdlbiAod29iZWkgaWNoIG1pY2ggZGFzIHZlcm11dGxpY2gKbmljaHQgc2VsYmVyIGdldHJhdXQgaGFldHRlLCB3ZW5uIGljaCBuaWNodCBmcnVlaGVyIHNjaG9uIG1hbApnZXp3dW5nZW5lcm1hc3NlbiBkaWUgRXJmYWhydW5nIG1pdCBIZXBhcmluIGdlbWFjaHQgaGFldHRlKS4KRGllc2VzIE1pdHRlbCBsb2VzdCBvZnQgS29wZnNjaG1lcnplbiBhdXMsIHNvIGF1Y2ggYmVpIG1pciwgYWJlcgpmdWVyIGRlbiBGYWxsIHdhciBtaXIgUGFyYWNldGFtb2wgdmVyc2NocmllYmVuIHdvcmRlbiB1bmQgZGFzIGhhdAphdWNoIGxvY2tlciBnZXJlaWNodC4KCkRlciBUYWcgZGVyIEVudG5haG1lIHZlcmxpZWYgZGFubiBzbzoKTmFjaCBlaW5lciBLTEVJTkVOIEJsdXRwcm9iZSAtIHVtIHp1IHRlc3RlbiB3aWUgZ3V0IGRhcyBNaXR0ZWwKZ2V3aXJrdCBoYXQgLSB1bmQgZWluZXIgbGV0enRlbiBHZWxlZ2VuaGVpdCwgZGllIEJsYXNlIHp1IGVudGxlZXJlbiwKd3VyZGUgaWNoIGFuIGRhcyBHZXJhZXQgYW5nZXNjaGxvc3Nlbi4gRGVyIEVpbnN0aWNoIGluIGRlbiByZWNodGVuCkFybSAtIGRhIG11c3N0ZSBqYSBlaW5lIHJlY2h0IGRpY2tlIE5hZGVsIHJlaW4sIHVtIGdlbnVnIER1cmNoZmx1c3MKenUgZ2V3YWVocmxlaXN0ZW4gLSB3YXIgendhciBoZWZ0aWcsIGFiZXIga3Vyei4gRGVyIGFuZGVyZSB3YXIKZGFuYWNoIGhhcm1sb3MsIGRhIGdpbmcgYXVjaCBlaW4gZ2VyaW5nZXJlciBEdXJjaG1lc3Nlci4KRGllIGVpZ2VudGxpY2hlIEFwaGVyZXNlIHdhciBhYnNvbHV0IHNjaG1lcnpmcmVpLCBoYXQgYWJlciB2aWVyClN0dW5kZW4gZ2VkYXVlcnQuIEtyaWJiZWxuIGltIEFybSBsaWVzcyBzaWNoIGxlaWNodCBiZXNlaXRpZ2VuLAp6ZWl0d2Vpc2UgbXVzc3RlIGljaCBlaW5lbiBCYWxsIG1pdCBkZXIgSGFuZCB6dXNhbW1lbmRydWVja2VuIHVtCmRpZSBCbHV0emlya3VsYXRpb24gYW56dXJlZ2VuLgpEYW5hY2ggbXVzc3RlbiBkaWUgU2NobGFldWNoZSBudXIgbm9jaCB3aWVkZXIgYWJnZW5vbW1lbiB3ZXJkZW4uCkF1Y2ggYXVmIGRpZSBHZWZhaHIgaGluLCBkYXNzIG1pY2ggamV0enQgc2FlbXRsaWNoZSBGcmF1ZW4sIGRpZSBzaWNoCnJlZ2VsbWFlc3NpZyBkaWUgQmVpbmUgbWl0IFdhY2hzIGVudGhhYXJlbiwgYXVzbGFjaGVuIHdlcmRlbjoKSWNoIGZhbmQgZGVuIE1vbWVudCwgYWxzIGRpZSBPUC1QZmxhc3RlciwgbWl0IGRlbmVuIGFsbGVzIGZpeGllcnQgd2FyLAp2b3JzaWNodGlnIGFiZ2VydXBmdCB3dXJkZW4gdW5hbmdlbmVobWVyIGFscyBkZW4gRWluc3RpY2guCkVpbiBwYWFyIFN0dW5kZW4gc3BhZXRlciBiZWthbSBpY2ggaW0gSG90ZWwgZGVuIEFucnVmLCBkYXNzIGRpZQpnZXdvbm5lbmUgU3RhbW16ZWxsZW5tZW5nZSBhdXNyZWljaHQgdW5kIGljaCBrb25udGUgYWJyZWlzZW4uCgpJY2ggaGFldHRlIGVzIGF1Y2ggbm9jaCBlaW4gendlaXRlcyBNYWwgZ2VtYWNodC4KVW5kIGljaCBob2ZmZSwgaWNoIGhhYmUgZWluaWdlbiB2b24gRXVjaCBtZWhyIE11dCBnZW1hY2h0LApzaWNoIHNlbGJlciB0eXBpc2llcmVuIHp1IGxhc3Nlbi4KClJvY2h1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBES01TIChaZXNzdHJhLCAxMS4gTm92IDIwMTQsIDIyOjAzOjM4KToKfiMhIHJuPVJvY2h1cyBydD0xNDE1NzM5Mjg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpHbHVlY2t3dW5zY2gsIGRhc3MgRHUgZWlubWFsICdnZXBhc3N0JyBoYXN0IQpJY2ggYmluIGphIGVoZXIgZ2VzcGFubnQsIG9iIGRhcyBpbiBtZWluZXIgbnV0emJhcmVuIExlYmVuc3plaXQgcGFzc2llcmVuCndpcmQuIDstKQpVbmQgZGFua2UgZnVlciBkZW4gRXJmYWhydW5nc2JlcmljaHQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogREtNUyAoVGluLCAxMS4gTm92IDIwMTQsIDIyOjEwOjQ0KToKfiMhIHJuPVJvY2h1cyBydD0xNDE1NzM5Mjg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpEYW5rZSBmdWVyIGRlaW5lbiBhdXNmdWVocmxpY2hlbiBCZXJpY2h0LgoKRGllIFN0YW1temVsbGVuLCBkaWUgIGVudG5vbW1lbiB3ZXJkZW4sIGtyaWVndCBkZXIgRW1wZmFlbmdlciB1ZWJyaWdlbnMgZ2VuYXUKc28sIHdpZSB3ZW5uIGVyIEJsdXQgYmVrb21tZW4gd3VlcmRlLiBUcmFuc3BsYW50YXRpb25lbiBlcmZvbGdlbiBpbiB6d2VpClNjaHJpdHRlbi4gQmV2b3IgbmV1ZSBCbHV0c3RhbW16ZWxsZW4gdWViZXIgZWluZSBJbmZ1c2lvbiB1ZWJlcnRyYWdlbiB3ZXJkZW4Ka29lbm5lbiwgZXJoYWx0ZW4gUGF0aWVudGVuIGhvY2hkb3NpZXJ0ZSBDaGVtb3RoZXJhcGllIHVuZCAgZ2dmLgpCZXN0cmFobHVuZ2VuLiBEYW1pdCBzb2xsZW4gYWxsZSBTdGFtbXplbGxlbiBpbSBLb2VycGVyIGFiZ2V0b2V0ZXQgd2VyZGVuLiBNaXQKZGllc2VuIE1hc3NuYWhtZW4gd2lyZCBkYXMgSW1tdW5zeXN0ZW0gZGVzIFBhdGllbnRlbiBzbyBnZXNjaHdhZWNodCwgZGFzIHNvZ2FyCmRlciBTY2hudXBmZW4gdG9lZGxpY2hlIGZvbGdlbiBoYWJlbiBrYW5uLiBBdWNoIHdhZXJlIGVpbiBBYmJydWNoIGRlcwpWZXJmYWhyZW5zIG5hY2ggZGVyIGVyc3RlbiBTdHVmZSBlaW4gVG9kZXN1cnRlaWwsIGRhIHNpY2ggZGVyIGdlc2Nod2FlY2h0ZQpLb2VycGVyIG9obmUgZnJpc2NoZSBTdGFtbXplbGxlbiBuaWNodCBlcmhvbGVuIGtvZW5udGUuIElzdCBkaWUgSW5mdXNpb24KZXJmb2xndCwgc3VjaGVuIHNpY2ggZGllIGJsdXRiaWxkZW5kZW4gU3RhbW16ZWxsZW4gaWhyZW4gUGxhdHogaW0gS25vY2hlbm1hcmsKZGVzIEVtcGZhZW5nZXJzIHZvbiBnYW56IGFsbGVpbiwgZGFzcyBoZWlzc3Qgb2huZSBhZXJ6dGxpY2hlIEhpbGZlIHZvbiBhdXNzZW4uClRyYW5zcGxhbnRhdGlvbmVuIHZvbiBibHV0YmlsZGVuZGVuIFN0YW1temVsbGVuIHNpbmQgaG9jaCByaXNpa29yZWljaGUKRWluZ3JpZmZlLiBOZXUgaW1wbGFudGllcnRlcyBCbHV0IGthbm4gT3JnYW5lIHdpZSBIZXJ6LCBMdW5nZSBvZGVyIE5pZXJlbgphYnN0b3NzZW4uIEJldHJvZmZlbmUgbXVlc3NlbiBpaHIgTGViZW4gbGFuZyBNZWRpa2FtZW50ZSBuZWhtZW4sIHVtCkFid2VocnJlYWt0aW9uZW4genUgdW50ZXJkcnVlY2tlbgpUaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBES01TIChSdW1hdGEsIDExLiBOb3YgMjAxNCwgMjI6NTk6MDQpOgp+IyEgcm49VGluIHJ0PTE0MTU3NDAyNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CklzdCBqZXR6dCB6d2FyIGV0d2FzIE9ULCBhYmVyIGRhc3MgbWFuIG5hY2ggZWluZW0gb3ByZ2FuZW1wZmFuZyBiZWkKd2VpdGVtIG5pY2h0IGdlc3VuZCBpc3QsIGJlcmljaHRldCBMYXJzIEZpc2NoZXIgKGVpbiBTcGVrdHJ1bSBSZWRha3RldXIsCnVudGVyIFR3aXR0ZXIgYWxzIEZpc2NoYmxvZyB1bnRlcndlZ3MpIHNlaHIgZXJncmVpZmVuZC4gQmVpbSBpaG0gZ2luZwplcyB1bSBlaW5lIE5pZXJlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogREtNUyAoQ2hhZ2FsbCwgMTIuIE5vdiAyMDE0LCAwOToxMzozMCk6Cn4jISBybj1Sb2NodXMgcnQ9MTQxNTczOTI4NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MTQ5NTY1NzUKVmllbGVuIERhbmsgUm9jaHVzIGZ1ZXIgZGVuIEVyZmFocnVuZ3NiZXJpY2h0LgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBES01TIChUaW4sIDEzLiBOb3YgMjAxNCwgMTg6Mzk6NDcpOgp+IyEgcm49UnVtYXRhIHJ0PTE0MTU3NDMxNDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1CmVpbmUgZ2VzY2hlbmt0ZSBuaWVyZSBoYWIgaWNoIGF1Y2guLi4KdGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogREtNUyAoVGluLCAyMC4gTm92IDIwMTQsIDE2OjExOjEzKToKfiMhIHJuPVRpbiBydD0xNDE1OTAwMzg3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQxNDk1NjU3NQpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTh0Z2lXM1V0b1dJCnRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IERLTVMgKFRpbiwgMjYuIE5vdiAyMDE0LCAyMToyOToxNyk6Cn4jISBybj1UaW4gcnQ9MTQxNjQ5NjI3MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MTQ5NTY1NzUKRWluYmxpY2tlIGluIGRpZSBSZWdpc3RyaWVydW5nc2FrdGlvbiwgZGllIGZ1ZXIgQ2FybG9zIHZlcmFuc3RhbHRldCB3dXJkZS4gCgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUxEa3R5aWVwRHo4JmZlYXR1cmU9eW91dHUuYmUmbGlzdD1QTHE4VkpvU2V5clAKY2Jpd19PQjFGZFF1a2VjQTcyMWtENwoKCgp0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBES01TIChUaW4sICA1LiBEZXogMjAxNCwgMTY6NDM6NTgpOgp+IyEgcm49VGluIHJ0PTE0MTcwMzM3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE0OTU2NTc1ClJlZ2lzdHJpZXJ1bmdzYWt0aW9uIGFuIGRlciBIb2Noc2NodWxlIE1hbm5oZWltOgpodHRwczovL3d3dy5mYWNlYm9vay5jb20vZXZlbnRzLzE0MTgyMTIxMjg0MDEyMzAvP3JlZl9kYXNoYm9hcmRfZmlsdGVyPXVwY29taW4KZwoKVGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9oZXMgRmVzdCAoQW1hcnlsbGlzLCAyNC4gRGV6IDIwMTQsIDE2OjE1OjQwKToKSGksCgppY2ggd3VlbnNjaGUgYWxsZW4gTWl0bXVkZGVybiB1bmQgaWhyZW4gTGllYmVuIGVpbiBmcm9oZXMgRmVzdCB1bmQgZWluZW4gZ3V0ZW4KUnV0c2NoIGlucyBuZXVlIEphaHIuCgpCZWkgbWVpbmVuIE1hZ2llcmtvbGxlZ2VuIGRhcmYgaWNoIG1pY2ggZnVlciBlaW4gd2VpdGVyZXMgSmFociBlcmZvbGdyZWljaGVzCk1vcmdlbkdyYXVlbiB1bmQgZGllIGdlbGVpc3RldGUgQXJiZWl0IGJlZGFua2VuLgoKTW9lZ2UgZGVyIFNlcnZlciBub2NoIGxhbmdlIGxhdWZlbiA7KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyb2hlcyBGZXN0IChUaW4sIDI0LiBEZXogMjAxNCwgMjA6MTM6MTcpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MTk0MzQxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE5NDM0MTQwCkh1aHUsCldpciB3dWVuc2NoZW4gYXVjaCBmcm9oZSBXZWlobmFjaHRlbiwgc2Nob2VuZSBydWhpZ2UgdW5kIGVyaG9sc2FtZSBUYWdlIGltCktyZWlzZSBkZXIgRmFtaWxpZS4KVW5zZXJlIEJlc2NoZXJ1bmcgd2lyZCAgLSB3aWUgYmVpIHVucyB1ZWJsaWNoIC0gYW0gTW9yZ2VuIGRlcyAyNS4xMi4gZ2VtYWNodCwKYWJlciBhdWZnZXJlZ3Qgc2luZCB3aXIgYWxsZSBzY2hvbi4gOi0pClp1IHVuc2VyZXIgRmFtaWxpZW50cmFkaXRpb24gZ2Vob2VydCBhdWNoIGRlciBMZXNlcmJyaWVmLCBkZXIga2xlaW5lbiBWaXJnaW5pYQpPJ0hhbmxvbgpXZXIgaXN0IFZpcmdpbmlhIE8nSGFubG9uOgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1ZpcmdpbmlhX08lRTIlODAlOTlIYW5sb24KV2VpaG5hY2h0c2dlc2NoaWNodGUgLSBEZXIgTGVzZXJicmllZiBkZXIga2xlaW5lbiBWaXJnaW5pYToKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1ob25GUl9icFZkYwpJbW1lciBzY2hvZW4sIGRhcyB2b3JnZWxlc2VuIHp1IGJla29tbWVuLCBiZXZvciB3aXIgYXVzcGFja2VuLgoKRnJvaGUgd2VpaG5hY2h0ZW4gdW5kIHNjaG9lbmUgRmVpZXJ0YWdlLCB3dWVuc2NoZW4KVGluK1RhcmFtYXIgdW5kIGRlciBrbGVpbmUgWndlcmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJvaGVzIEZlc3QgKFpvb2ssIDMxLiBEZXogMjAxNCwgMTM6Mzg6NTMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MTk0MzQxNDAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDE5NDM0MTQwClZvbiBtaXIgYXVjaCBkaWUgYmVzdGVuIFd1ZW5zY2hlIGZ1ZXJzIG5ldWUgSmFociEgOikgCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyb2hlcyBGZXN0IChEYXJrbG9yLCAzMS4gRGV6IDIwMTQsIDIzOjUwOjAwKToKfiMhIHJuPVpvb2sgcnQ9MTQyMDAyOTUzMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MTk0MzQxNDAKVW5kIEd1dGVuIFJ1dHNjaCEKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1Y2hlbXBmZWhsdW5nIChBcmssIDI4LiBKYW4gMjAxNSwgMjM6NTU6MzcpOgpQcm9iaWVyJ3MgZG9jaCBtYWwgbWl0IEtvcnJ1cHRpb24hCgpFaW4gc2Nob2VuIGlyb25pc2NoZXMsIHJlY2hlcmNoaWVydGVzIChqYWphLCB2aWVsZSBGdXNzbm90ZW4pIHVuZCBrdXJ6d2VpbGlnCmdlc2NocmllYmVuZXMgQnVjaCBydW5kIHVtIEtvcnJ1cHRpb24uIEljaCBoYWJlIG9mdCBnZWxhY2h0LCB3ZW5uIGF1Y2gKbWFuY2htYWwgZWluZW0gZWhlciB6dW0gSGV1bGVuIHp1bXV0ZSBzZWluIG11c3N0ZSA6LSkgQWJlciBzZWkgZXMgZHJ1bSwga2FubgplcyBkdXJjaGF1cyB3ZWl0ZXJlbXBmZWhsZW4gKkhhbmQgZm9yZGVybmQgYXVmaGFsdCoKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWFzcG9yYSAvIEZyaWVuZGljYSAoWmVzc3RyYSwgIDIuIE1hciAyMDE1LCAyMjo1NDoyNCk6Ckh1aHUsCgppc3QgaGllciBlaWdlbnRsaWNoIGplbWFuZCBpbiBEaWFzcG9yYSBvZGVyIEZyaWVuZGljYSB1bnRlcndlZ3M/CihCZWlkZSBoYWJlbiBkYXMgWmllbCwgZWluIGRhdGVuc2NodXR6ZnJldW5kbGljaGVzLCBkZXplbnRyYWxlcyBzb3ppYWxlcwpOZXR6d2VyayB6dSBzZWluL3dlcmRlbjoKaHR0cHM6Ly9kaWFzcG9yYWZvdW5kYXRpb24ub3JnLwpodHRwOi8vZnJpZW5kaWNhLmNvbS8KaHR0cHM6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvRGlhc3BvcmFfKFNvZnR3YXJlKQpodHRwczovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9GcmllbmRpY2EKKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpYXNwb3JhIC8gRnJpZW5kaWNhIChab29rLCAgMy4gTWFyIDIwMTUsIDE3OjMyOjM4KToKfiMhIHJuPVplc3N0cmEgcnQ9MTQyNTMzMzI2NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MjUzMzMyNjQKTmVpbiwgd2FzIGFiZXIgaW0gV2VzZW50bGljaGVuIGRhbWl0IHp1IHR1biBoYXQsIGRhc3MgaWNoIApuaWNodCBub2NoIGVpbiAic296aWFsZXMgTmV0endlcmsiIGJyYXVjaGUsIGJlaSBkZW0gaWNoIG1pY2ggCm5pY2h0IHZpZWwgYmV0ZWlsaWdlLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWFzcG9yYSAvIEZyaWVuZGljYSAoQ2hhZ2FsbCwgIDMuIE1hciAyMDE1LCAxODowOTozMik6Cn4jISBybj1ab29rIHJ0PTE0MjU0MDAzNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDI1MzMzMjY0Ck1hbiBrYW5uIG5pZSBnZW51ZyBpbiBzb3ppYWxlbiBOZXR6d2Vya2VuIGluYWt0aXYgc2Vpbi4gOikKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWFzcG9yYSAvIEZyaWVuZGljYSAoWmVzc3RyYSwgIDMuIE1hciAyMDE1LCAxOTo1NjoyNSk6Cn4jISBybj1DaGFnYWxsIHJ0PTE0MjU0MDI1NzIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDI1MzMzMjY0CkRhIGlzIHdhcyBkcmFuLi4uIEhhdHRlIHVlYnJpZ2VucyBmbHVlY2h0aWcgdWViZXIgbmVuIE1HLVBvZCBuYWNoZ2VkYWNodC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpYXNwb3JhIC8gRnJpZW5kaWNhIChaYXBob2IsICAzLiBNYXIgMjAxNSwgMjA6MDQ6NTQpOgp+IyEgcm49WmVzc3RyYSBydD0xNDI1NDA4OTg1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQyNTMzMzI2NApNRy1Qb2QgaG9lcnQgc2ljaCBndXQgYW4uLiB6dW0gQmVpc3BpZWwgMi0zeCBpbSBKYWhyIHBsYXVkZXJuIE1hZ2llciAoUk0rKSBtaXQKd2VjaHNlbG5kZW4gR2Flc3RlbiB1ZWJlciBHb3R0ICYgZGllIFdlbHQgKGRlcyBNb3JnZW5ncmF1ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWFzcG9yYSAvIEZyaWVuZGljYSAoWmVzc3RyYSwgIDMuIE1hciAyMDE1LCAyMDoxODoyOSk6Cn4jISBybj1aYXBob2IgcnQ9MTQyNTQwOTQ5NCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0MjUzMzMyNjQKSHVoLiBJbnRlcmVzc2FudGUgSWRlZS4gaWNoIGhhdHRlIGpldHp0IGVpZ2VudGxpY2ggUG9kIGltIFNpbm5lIHZvbiBEaWFzcG9yYQpiZW51dHp0LgpQb2RjYXN0cy4uLiBHaWJ0cyBkYSBlaWdlbnRsaWNoIGplbWFuZGVuIGltIE1HLCBkZXIgd2VsY2hlIG1hY2h0PwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFua2UhIChEaWVkZXIsIDE4LiBNYWkgMjAxNSwgMDA6MzQ6MTEpOgpIaSwKCmljaCB3b2xsdGUgYW4gZGVyIFN0ZWxsZSBudXIgbWFsICJkYW5rZSIgc2FnZW4gZnVlciBkaWUgSGlsZmUsIGRpZSBpY2ggdW5kCm1laW5lIHJlc3RsaWNoZW4gV3VlcnN0ZSBoaWVyIGJla29tbWVuLCBzZWl0ZGVtIGljaCB3aWVkZXIgc3BpZWxlLgoxNSBKYWhyZSBTcGllbHBhdXNlIHNpbmQgZWluZSBsYW5nZSBaZWl0LCBkYSBoYXQgbWFuIGRhcyBHZWZ1ZWhsLCBxdWFzaSB3aWVkZXIKYmVpIE51bGwgYW56dWZhbmdlbi4uLiAoZ2VodCBzY2hvbiBkYW1pdCBsb3MsIGRhc3MgbWVpbmUgV2Vnc3Nzc3N5c3NzcyBuaWNodAptZWhyIGZ1bmt0aW9uaWVydCkKCldvbGx0ZSBkYXMgbnVybWFsIGdlc2FndCBoYWJlbiwgbmFjaGRlbSBpY2ggdmllbGZhY2ggYXVjaCBzY2hvbiBGZWVkYmFjawpiZWtvbW1lbiBoYWJlIGFsYSAidG9sbCwgZGFzcyBEdSBhdWNoIHdpZWRlciBzcGllbHN0Ii4KCkluIGRpZXNlbSBTaW5uZTogUmVudG5lcnBvd2VyIQoKQ2hhb3Rpc2NoZSBEYW5rZXNncnVlc3NlLApEaWVkZXImQ28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFua2UhIChUaW4sIDE4LiBNYWkgMjAxNSwgMTU6MjU6MjcpOgp+IyEgcm49RGllZGVyIHJ0PTE0MzE5MDIwNTEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDMxOTAyMDUxCkljaCBmaW5kcyBjb29sLCB3ZW5uIGxldXRlIG5hY2ggc29vb29vb29vb28gdmllbGVuIEphaHJlbiB3aWVkZXIgc3BpZWxlbi4KV2lsbGtvbW1lbiB6dXJ1ZWNrLgp0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFua2UhIChBbmF0b2wsIDIxLiBNYWkgMjAxNSwgMTA6MjQ6MTcpOgp+IyEgcm49VGluIHJ0PTE0MzE5NTU1Mjcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDMxOTAyMDUxCkZhbmcgYWJlciBibG9zcyBuaWNodCBhbiwgYmVpIGVpbmVtIFNwYXducHVua3QgZWluZXMgYWdncmVzc2l2ZW4gTW9uc3RlcnMKenUgaWRlbG4uIERhIGdpYnQgZXMgaGllciBzb2ZvcnQgU3BpZWxwYXVzZW4uIE5hIGd1dCwgdmllbGxlaWNodCBrZWluZSAxNQpKYWhyZS4uLiA6LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVib290IChHYXN0MSwgMTkuIFNlcCAyMDE1LCAyMzoyNDo0Myk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQ0MjUxODg4NyByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9MTQ0MjUxODg4Nwp0ZWlsZSBhbWFyeWxsaXMgbWl0IGRhbmtlIGZ1ZXIgZGllIG11ZWhlbi4gaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEanRvbSB1ZWJlcm5pbW10IG51biBNYWxpZS4gKFRpbiwgMTUuIE5vdiAyMDE1LCAyMjozMDo1NCk6CkhhbGxvLApkYSBpY2ggc2Nob24gZWluZSBXZWlsZSB2ZXJzdWNoZSwgbWVpbmUgU2VoZXJpbiBNYWxpZSB6dSB2ZXJzY2hlbmtlbiwgaGFiZQppY2ggamV0enQgamVtYW5kZW4gZ2VmdW5kZW4sIHdlbGNoZXIgTWFsaWUgdm9uIG1pciB1ZWJlcmxhc3NlbiBiZWtvbW10LiBEanRvbQp3aXJkIGFiIHNvZm9ydCBNYWxpZSBzcGllbGVuIHVuZCBzaWUgaXN0IGF1Y2ggYWxzIGRlc3NlbiBad2VpdHNwaWVsZXJpbgptYXJraWVydC4KSWNoIHd1ZW5zY2hlIERqdG9tIGluIGRpZXNlbSBTaW5uZSB2aWVsIFNwYXNzIG1pdCBtZWluZXIgZWhtYWxpZ2VuIE1hbGllLgoKR3J1c3MsClRpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEanRvbSB1ZWJlcm5pbW10IG51biBNYWxpZS4gKFRhcmFtYXIsIDE1LiBOb3YgMjAxNSwgMjM6MTI6MTIpOgp+IyEgcm49VGluIHJ0PTE0NDc2MjMwNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDQ3NjIzMDU0Ckhhc3QgZHUgZGVuIFRleHQgc2VsYnN0IGdlc2NocmllYmVuPwpUYXJhbWFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVydHJhdWxpY2hlIE1lc3Nlbmdlci4uLiBTaWduYWwgKFplc3N0cmEsICA0LiBEZXogMjAxNSwgMTE6MDY6MTgpOgpXZXIgdmVyc2NobHVlc3NlbHQgKEVuZGUtenUtRW5kZSkgdW5kIG1pdCBxdWVsbG9mZmVuZXIgU29mdHdhcmUga29tbXVuaXppZXJlbgprYW5uLCBrb2VubnRlIHNpY2ggbWFsIFNpZ25hbCBhbmd1Y2tlbi4KRGFzIGlzdCBqZXR6dCBuaWNodCBuZXUsIGFiZXIgbmV1IGlzdDogZGFzIGdpYnQgZXMgamV0enQgYXVjaCBmdWVyIENocm9tZQpCcm93c2VyIGF1ZiBkZW0gRGVza3RvcDoKaHR0cDovL2wuYXVuY2gudXMvUDFpUzcKRGFzIGZpbmRlIGljaCBqYSBnYW56IHByYWt0aXNjaCwgTmFjaHJpY2h0ZW4gd2VyZGVuIGFuIGFsbGUgQ2xpZW50cwp6dWdlc3RlbGx0LCBkaWUgb25saW5lIHNpbmQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVydHJhdWxpY2hlIE1lc3Nlbmdlci4uLiBTaWduYWwgKFplc3N0cmEsICA0LiBEZXogMjAxNSwgMTE6MTQ6MjMpOgp+IyEgcm49WmVzc3RyYSBydD0xNDQ5MjIzNTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ0OTIyMzU3OApOYXR1ZXJsaWNoIHdpbGwsIG5pY2h0IGthbm4uLi4gKEljaCBicmF1Y2ggbm9jaCBtZWhyIEthZmZlZS4uLikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJ0cmF1bGljaGUgTWVzc2VuZ2VyLi4uIFNpZ25hbCAoQmFtYnVsa28sICA4LiBEZXogMjAxNSwgMTM6MTM6NTkpOgp+IyEgcm49WmVzc3RyYSBydD0xNDQ5MjIzNTc4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ0OTIyMzU3OApEZXIgTGluayBpc3Qga2FwdXR0LiBOZWhtdCBsaWViZXIgZGVuIGhpZXIgOi0pCgpodHRwOi8vbC5hdW5jaC51cy9TWjZlTgoKOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIFplaXR1bmcgc2llaHQgemllbWxpY2ggbGVlciBhdXMuLi4gKEdsb2luc29uLCAyMy4gTWFyIDIwMTYsIDAyOjU4OjMwKToKfiMhIHJuPURlYW53b29kIHJ0PTE0NTg2OTc5ODQgcmc9c2NobWFycm4KfiMhIHRpZD0xNDU4Njk3OTg0CkRpZSBaZWl0dW5nIGhhdCB0YXRzYWVjaGxpY2ggZWluZSBBdXNsYWdlcnVuZ3NmdW5rdGlvbiwgYmVpIGRlciBuYWNoIGVpbmVyIHBybwpSdWJyaWsgZ2FueiBiZXN0aW1tdGVuIFplaXQgZGllIEFydGlrZWwgaW5zIEFyY2hpdiB2ZXJsYWdlcnQgd2VyZGVuLiBEYW5hY2gKc2luZCBzaWUgaGllciBuaWNodCBtZWhyIGxlc2JhciwgYWJlciBkdSBrYW5uc3Qgc2llIGF1ZiBkZXIgV2Vic2VpdGUgaW0gQXJjaGl2CmZpbmRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgYml0dGU/IChHbG9pbnNvbiwgIDMuIEF1ZyAyMDE2LCAyMjoyNDoyOSk6CkxpZWJlciBBYmVudGV1cmVyLCBLbGVyaWtlciB1bmQgS2FtcGZ3dXJzdGRpbmdzdHJ2c2U6CgpkdXJjaCBrbGVpbmVyZSBFcnNjaHVldHRlcnVuZ2VuIGltIE1VRGxpYi1HZXRyaWViZSB3ZXJkZXQgaWhyIG5hY2ggZWluaWdlbgpBbnJ1ZnVuZ2VuL1NwZWxscy9Ba3Rpb25lbiBzZWl0IGt1cnplbSBtaXQgZWluZW0gIldpZSBiaXR0ZT8iIG9kZXIgZXVyZXIKRGVmYXVsdC1GZWhsZXJtZWxkdW5nIGJlZ2x1ZWNrdC4KClByb2JsZW0gaXN0IGJla2FubnQsIExvZXN1bmcgaXN0IGluIEFyYmVpdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIGJpdHRlPyAoWmVzc3RyYSwgIDguIEF1ZyAyMDE2LCAxNTo1Mzo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xNDcwMjU1ODY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ3MDI1NTg2OQpVbmQgc2FndCBiaXR0ZSBCZXNjaGVpZCwgc29sbHRldCBpaHIgZXMgamV0enQgaW1tZXIgbm9jaCBiZWtvbW1lbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnN0ZWxsdW5nIGRlcyBNRyhNb3JnZW5ncmF1ZW4pIGF1ZiBCZWhpbmRlcnVuZy1TY2hhdSBuaWNodCB3ZWcgKEZhY2Vib29rKSAoWGlsaSwgMzEuIE9rdCAyMDE2LCAxOToxOTo1OSk6Ckh1aHUsIGljaCBzZXR6ZSBkYXMgYXVjaCBtYWwgaGllciByZWluLi4uIFVyc3BydWVuZ2xpY2ggZ2Vwb3N0ZXQgaW4gZGVyCk1vcmdlbi1HcmF1ZW4tR3J1cHBlIGltIEZhY2Vib29rLiBHcnVuZHNhZXR6bGljaCBnZWh0IGVzIGRhcnVtIHp1bSBlaW5lbiBkYXMKTUcgYmVrYW5udGVyIHp1IG1hY2hlbiB1bmQgYXVjaCB6dW0gYW5kZXJlbiBkYXMgQnVjaCB2b24gSHVtbmkgaW4gVmVyYmluZHVuZwptaXQgZGVtIE1HIG9lZmZlbnRsaWNoIHZvcnp1c3RlbGxlbi4gRGFiZWkgd2FyIGdlcGxhbnQgZWluIEludGVydmlldyBtaXQgSHVtbmkKenUgZnVlaHJlbiBiencuIGVyIGt1cnogZXJ6YWVobHQgd2llIGVyIGF1ZiBkYXMgQnVjaCBnZWtvbW1lbiBpc3QgdW5kIGRhcyBCdWNoCmF1Y2gga3VyeiB2b3JzdGVsbHQuIEFiZXIgYXVjaCBTcGllbGVyLCBkaWUgc2ljaCBiZXJlaXRlcmtsYWVyZW4sIHdpZQpnZXd1ZW5zY2h0LCBvYiBtaXQgTmFtZW4gb2RlciBhbm9ueW0sIGV0d2FzIHVlYmVyIGRhcyBNRyB6dSBlcnphZWhsZW4uIERhYmVpCndhZXJlbiBGcmFnZW4gd2llOiBXaWUgYmluIGljaCBhdWYgZGFzIFNwaWVsIGdla29tbWVuPyBXaWUgd2FyIG1laW4gRWluc3RpZWc/CldhcyBtYWNoIGljaCBhbSBsaWVic3Rlbj8uLi4gemVudHJhbGUgQXNwZWt0ZS4gRXMgd2FlcmUgc3VwZXIsIHdlbm4gc2ljaCBhdWNoCmJsaW5kZSBTcGllbGVyIGJlcmVpdGVya2xhZXJlbiB3dWVyZGVuLCBkYW5uIHdhZXJlIGRhcyAiQmVoaW5kZXJ1bmciCmFiZ2VkZWNrdC46LSkgRGEgZmFlbmQgaWNoIGVzIGd1dCwgd2VubiBtYW4gZXJrbGFlcmVuIHd1ZXJkZSwgd2FzIGRhcyBTcGllbAphdHRyYWt0aXYgZnVlciBibGluZGUgTWVuc2NoZW4gbWFjaHQgdW5kIHdhcyBmdWVyIG1vZWxnbGljaGtlaXRlbiBlcyBmdWVyCmJsaW5kZSBnaWJ0IGRhIHp1IHNwaWVsZW4uIFNvIHdlaXQgbWlyIGJla2FubnQsIGhhYmUgaWNoIHNjaG9uIGVpbm1hbCBpbiBkaWVzZQpSaWNodHVuZyBldHdhcyBnZXNjaHJpZWJlbi4uLiBJY2ggYmlldGUgZXMgZWluZmFjaCBlcm5ldXQgYW4sIGRhIGVzIGVpbgphbmhhbHRzcHVua3Qgd2FlcmUsIG1lbnNjaGVuIG1pdCBTZWhiZWhpbmRlcnVuZ2VuIHNvIGVpbiBTcGllbCBhdHRyYWt0aXYgenUKbWFjaGVuLi4uIEVzIGxpZWd0IGFsbGVpbiBpbiBkZXIgSGFuZCB2b24gZXVjaCBzcGllbGVybi4uIG9kZXIgYXVjaCBNYWdpZXJuLgo6LSkgSWNoIG1hY2hlIGRhcyB3aXJrbGljaCBnZXJuZSwgdm9sbCB1bmQgZ2FueiBmcmVpd2lsbGlnLi4uIExlaWRlciBoYWJlIGljaApzZWxic3Qga2F1bSBaZWl0IHp1IHNwaWVsZW4sIGRhaGVyIGJpbiBpY2ggYXVmIGV1Y2ggdW5kIGV1cmUgRXJmYWhydW5nZW4KYW5nZXdpZXNlbi4gSmUgbmFjaCBJbnRlcmVzc2VuIGRlciBTZWl0ZW5sZXNlciBtZWluZXIgU2VpdGUgIkJlaGluZGVydW5nLXNjaGF1Cm5pY2h0IHdlZyIgYXVmIEZhY2Vib29rIGVycmVpY2hlIGljaCBtZWhyZXJlIHRhdXNlbmQgTGV1dGUgaW0gU2Nobml0dC4KRXJyZWljaGVuIGthbm4gbWFuIG1pY2ggYXVjaCBhbSBiZXN0ZW4gdWViZXIgZGllIFNlaXRlICJCZWhpbmRlcnVuZy1TY2hhdQpuaWNodCB3ZWciIChQcm9maWxmb3RvOiAzIEx1ZnRiYWxsb25zIGltIEhpbnRlcmdydW5kIGVpbiBTdHJhbmQuIFRpdGVsYmlsZDoKYmxhdWVyIEhpbnRlcmdydW5kLCByb3RlcyBUZXh0ZmVsZCBtaXQgU2NocmlmdHp1ZyAiV2lyIG1hY2hlbiBFcmtyYW5rdW5nZW4KYmVrYW5udGVyIikuIE1lbGRlbiBrb2VudCBpaHIgZXVjaCBiaXMgbWl0dGUgRGV6ZW1iZXIsIHNhZ2VuIHdpciBtYWwKV2VpaG5hY2h0ZW4uLiBkYW5uIHd1ZXJkZSBpY2ggZGFzIGltIG5ldWVuIEphaHIgZWluc3RlbGxlbi4uLiBNZWxkZXQgc2ljaAprZWluZXIsIHNvIHNlaGUgaWNoIGphLCBkYXNzIGtlaW4gSW50ZXJlc3NlIGJlc3RlaHQuIDstKSBHcnVzcywgWGlsaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthbXBmdGVhbSBmdWVyIERhcid6YWNodGEgS2FjaHRhIChUaWpvLCAxMy4gRGV6IDIwMTYsIDE1OjIyOjEyKToKSGFsbG8sCmFubGFlc3NsaWNoIG1laW5lcyAodW0gZ2FueiBlaHJsaWNoIHp1IHNlaW4gaXJnZW5kd2llIHppZW1saWNoIGhhcnQgZ2VyYXRlbmVuKQpQYXJhLVdlaWhuYWNodHNrYWxlbmRlcnMgc3VjaGUgaWNoIGVpbmUgc3RhcmtlIEthbXBmdHJ1cHBlLiBlcyBzb2xsIGRlbQpEYXInemFjaHRhIEthY2h0YSBhbiBkZW4ga3JhZ2VuIGdlaGVuLiBFaW5zYXR6IHNvbGx0ZSBhbSBTby4gMTguMTIuIGVyZm9sZ2VuIC0Kc29mZXJuIHNpY2ggYmlzIGRhaGluIDUgZ3Jvc3NlIFNwaWVsZXIgYmVpIG1pciBnZW1lbGRldCBoYWJlbi4gUnVtZ2VzdG9yYmVuCndpcmQgbmljaHQsIHdpciB3b2xsZW4gamEgc2NobGllc3NsaWNoIGdld2lubmVuIQpBdXNzZXJkZW0gc3VjaGUgaWNoIChiaXNoZXIpIEhpbGZlIGZ1ZXIgZWluZW4gYm9lc2FydGlnZW4gQ2hhb3QsIGRlbgpNYXVuaXNoLU1hcmlzaGFyLCBQeWEsIGRpZSBGZWxpbmVua29lbmlnaW4sIEhhbGVzc2EgdW5kIFNobml2bGEgLSB0YWVnbGljaAprb21tZW4gYWJlciBuZXVlIGZ1ZXIgbWljaCBhbGxlaW5lIG5pY2h0IGxvZXNiYXJlIGF1ZmdhYmVuIGhpbnp1LiBBbHNvLApnZW5lcmVsbCBiaW4gaWNoIGZ1ZXIgbWV0emVsYW5mcmFnZW4gaW0gTW9tZW50IGdlcm5lIHp1IGhhYmVuLgpXYXJ1bSA1IFNwaWVsZXIgcGx1cyBtaWNoIGZ1ZXIgZGVuIERhcid6YWNodGEgS2FjaHRhPyBXZWlsIGljaCBhbSBMZWJlbgpibGVpYmVuIHdpbGwhIEZhbGxzIGFsbGVzIGd1dCBsYWV1ZnQsIGtvZW5uZW4gd2lyIGphIHZlcnN1Y2hlbiBkYW5hY2ggbm9jaApnZW1laW5zYW0gcGFhciBhbmRlcmUgTW9uc3RlciB6dSBoYXVlbiAuLi4KKQoKTEcgdW5kIGRhbmtlIHNjaG9ubWFsLAp0aWpvClBTLiBGYWxscyBpY2ggbmljaHQgb25saW5lIGJpbiB0dXRzIGF1Y2ggZWluIEJyaWVmIGFuIG1pY2ggLi4uClBQUy4gV2VubiBtYW4gZGVuIGRhcid6YWNodGEgS2FjaHRhIG5pY2h0IHNjaGFmZnQsIGFiZXIgbWl0IG1pciBuZSBhbmRlcmUKYXVmZ2FiZSBhbmdlaGVuIHdpbGwsIGlzdCBkYXMgYXVjaCBPSwopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWxsbywga3VyemVzIFVwZGF0ZSB6dSBkZXIgVm9yc3RlbGx1bmcgZGVzIE1HIE1vcmdlbmdyYXVlbmF1ZiBCZWhpbmRlcnVuZy1TY2hhdSBuaWNodCB3ZWcgKEZhY2Vib29rKTogKFhpbGksIDEzLiBEZXogMjAxNiwgMTc6Mzk6MTgpOgpIYWxsbywga3VyemVzIFVwZGF0ZSB6dSBkZXIgVm9yc3RlbGx1bmcgZGVzIE1HIE1vcmdlbmdyYXVlbmF1ZgpCZWhpbmRlcnVuZy1TY2hhdSBuaWNodCB3ZWcgKEZhY2Vib29rKTpJY2ggaGFiZSBkaWVzIGJlenVlZ2xpY2ggMiBNYWlscwpiZWtvbW1lbiB2b24gMiBibGluZGVuIFNwaWVsZXJuLCBkaWUgSW50ZXJlc3NlIGhhZXR0ZW4gZXR3YXMgdWViZXIgZGFzCk1vcmdlbmdyYXVlbiB6dSBiZXJpY2h0ZW4uCkxlaWRlciBub2NoIG5pY2h0IG1laHIuCldlaXRlcmUgSW50ZXJlc3NlbnRlbiBrb2VubmVuIHNpY2ggYmlzIEVuZGUgZGVzIEphaHJlcyBiZWkgbWlyIGhpZXIgaW0gTUcKdWViZXIgZWluZSBNYWlsIG9kZXIgZGlyZWt0IGF1ZiBGYWNlYm9vaywgYXVmIGRlciBnZW5hbm50ZW4gU2VpdGUgbWVsZGVuLiBJY2gKaGFiZSB1ZWJlcmxlZ3QgZWluZW4gRnJhZ2Vib2dlbiBkYWZ1ZXIgenUgZW50d2lja2VsbiwgZGllc2VuIHdlcmRlIGljaCBkYW5uCmhlcnVtc2NoaWNrZW4uIEtsYXNzZSB3YWVyZSBlcywgd2VubiBkaWUgSW50ZXJlc3NlbnRlbiBlaW5lIFByaXZhdGUKRS1NYWlsYWRyZXNzZSBkdXJjaGdlYmVuIG9kZXIgYWx0ZXJuYXRpdiBhdWYgRmFjZWJvb2sgZXJyZWljaGJhciBzaW5kLgpLdXJ6IG5vY2htYWwgdW0gd2FzIGVzIGdlaHQ6IFZvcnN0ZWxsdW5nIGRlcyBTcGllbHMgIk1vcmdlbmdyYXVlbiIgYW4gaGFuZCB2b24KRXJmYWhydW5nc2JlcmljaHRlbiBhdWYgZGVyIFNlaXRlICJCZWhpbmRlcnVuZy1TY2hhdSBuaWNodCB3ZWciIGltIEZhY2Vib29rLgpXZXJiZW4gZnVlciBuZXVlIFNwaWVsZXIsIGV2ZW50dWVsbCBhdWNoIGJsaW5kZSBTcGllbGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbGxvLCBrdXJ6ZXMgVXBkYXRlIHp1IGRlciBWb3JzdGVsbHVuZyBkZXMgTUcgTW9yZ2VuZ3JhdWVuYXVmIEJlaGluZGVydW5nLVNjaGF1IG5pY2h0IHdlZyAoRmFjZWJvb2spOiAoWGlsaSwgMTMuIERleiAyMDE2LCAxNzo1MDoxMSk6Cn4jISBybj1YaWxpIHJ0PTE0ODE2NDcxNTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDgxNjQ3MTU4CkhpZXIgZGVyIExpbmsgenVyIFNlaXRlOgpodHRwczovL3d3dy5mYWNlYm9vay5jb20vYmVoaW5kZXJ1bmcuc2NoYXVuaWNodHdlZy8/cmVmPWJvb2ttYXJrcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9yZ2VuR3JhdWVuIC0gRnJhZ2Vib2dlbiB6dW0gdm9yc3RlbGxlbiBkZXMgU3BpZWxzIGF1ZiBkZXIgRmFjZWJvb2tzZWl0ZTogQmVoaW5kZXJ1bmctU2NoYXUgbmljaHQgd2VnLiAoWGlsaSwgMTkuIERleiAyMDE2LCAxNToxNjo1OSk6Ck1vcmdlbkdyYXVlbiAtIEZyYWdlYm9nZW4genVtIHZvcnN0ZWxsZW4gZGVzIFNwaWVscyBhdWYgZGVyIEZhY2Vib29rc2VpdGU6CkJlaGluZGVydW5nLVNjaGF1IG5pY2h0IHdlZy4KS3VyemUgSW5mb3JtYXRpb24genVyIFNlaXRlOiBEaWUgU2VpdGUgd2lyZCB2b24gU3R1ZGVudGVuIGJldHJpZWJlbiwgdGVpbHdlaXNlCmF1Y2ggd2VsY2hlIG1pdCBCZWhpbmRlcnVuZyB1bmQgaGF0IHp1bSBoZXV0aWdlbiBaZWl0cHVua3QgLSAxOS4xMi4yMDE2IDE5MzQKR2VmYWVsbHQtbWlyLUFuZ2FiZW4uIFVudGVyIGRlbiBMZXNlcm4gZGVyIFNlaXRlIHNpbmQgYXVjaCBNZW5zY2hlbiwgZGllCnNlbGJzdCBlaW5lIEJlaGluZGVydW5nIGhhYmVuIHVuZCBhdWNoIHZpZWxlIEZhbWlsaWVuIG1pdCBiZWhpbmRlcnRlbiBLaW5kZXJuLgpXaWxsc3QgZHUgYXVjaCBkYXp1IGJlaXRyYWdlbiBkYXMgU3BpZWwgenUgYmV3ZXJiZW4/IERhbm4gYmVhbnR3b3J0ZSBkaWVzZW4KRnJhZ2Vib2dlbiAgdW5kIHNlbmRlIGlobiBhbSBtaWNoIHp1cnVlY2suIEFtIGJlc3RlbiBkaXJla3QgYW4gZGllIFNlaXRlCkJlaGluZGVydW5nLVNjaGF1IG5pY2h0IHdlZy4gU29sbHRlc3QgZHUga2VpbiBGYWNlYm9vayBoYWJlbiwgcmVpY2h0IGVpbmUgTWFpbAphbiBtaWNoLiBFaW5zZW5kZXNjaGx1c3MgLSAwMS4wMi4yMDE3CldpY2h0aWc6IGJpdHRlIGtvcGllcmUgZGVuIGdhbnplbiBGcmFnZWJvZ2VuICB1bmQgc2NocmVpYmUgZGVpbmUgQW50d29ydGVuCmRpcmVrdCB1bnRlciBkaWUgRnJhZ2UuICBCaXR0ZSBiZWFjaHRlIGRpZSBIaW53ZWlzZSBpbSBGcmFnZWJvZ2VuLgpGcmFnZTogQmlzdCBkdSBzZWhiZWhpbmRlcnQsIGJsaW5kICBvZGVyIHNlaGVuZD8KRnJhZ2U6IFdpZSBoZWlzc3QgZHUgaW4gZWNodCAtIGJpdHRlIG51ciBiZWFudHdvcnRlbiwgd2VubiBkZXIgTmFtZSBnZW5hbm50CndlcmRlbiBzb2xsLgpGcmFnZTogd2llIGhlaXNzdCBkdSBpbSBNb3JnZW5ncmF1ZW4/IC0gYml0dGUgbnVyIGJlYW50d29ydGVuLCB3ZW5uIGRlciBOYW1lCmdlbmFubnQgd2VyZGVuIHNvbGwuCkZyYWdlOiBXYW5uIGhhc3QgZHUgYW5nZWZhbmdlbiBpbSBNb3JnZW5HcmF1ZW4genUgc3BpZWxlbj8KRnJhZ2U6IFdpZSBoYXN0IGR1IGRhcyBNb3JnZW5ncmF1ZW4gZ2VmdW5kZW4/IChGcmV1bmRlLCBWZXJ3YW5kdGUsLi4uKApGcmVpZXIgVGV4dCAtIE5hY2ggZGVtIGRpZSBHcnVuZGluZm9ybWF0aW9uZW4gYWJnZWZyYWd0IHd1cmRlbiwgd3VlcmRlIGljaApkaWNoIGRhcnVtIGJpdHRlbiBlaW5lbiBrbGVpbmVuIFRleHQgenUgdmVyZmFzc2VuIGluIGRlbSBmb2xnZW5kZSBFbGVtZW50ZQphbmdlc3Byb2NoZW4gd2VyZGVuIHNvbGx0ZW46CldpZSB3YXIgZGVpbmUgQW5mYW5nc3plaXQ/CldhcyBtYWNoc3QgZHUgaW0gTW9yZ2VuZ3JhdWVuIGFtIGxpZWJzdGVuIChtZXR6ZWxuLCBxdWVzdGVuLCBmb3JzY2hlbikuIFdpZQpzaWVodCBkYXMgZ2VuYXUgYXVzPwpXYXJ1bSBlaWduZXQgc2ljaCBkYXMgU3BpZWwgZnVlciBzZWhiZWhpbmRlcnRlIG9kZXIgdm9sbGJsaW5kZSBNZW5zY2hlbiAtCmJpdHRlIGt1cnogZXJrbGFlcmVuIHdpZSBtYW4gZGFzIHNwaWVsdC4KV2FzIGlzdCBlaW5lcyBkZXIgc2Nob2Vuc3RlbiwgbHVzdGlnc3RlbiwgbmFjaGRlbmtsaWNoc3RlbiBFcmxlYm5pc3NlIGRpZSBkdQppbSBNb3JnZW5ncmF1ZW4gZ2VtYWNodCBoYXN0PwpLb2VubmVuIHNpY2ggaW0gTW9yZ2VuZ3JhdWVuIEZyZXVuZHNjaGFmdGVuIGVudHdpY2tlbG4sIGRpZSB1ZWJlciBkYXMgU3BpZWwKaGluYXVzZ2VoZW4/IFdlbm4gIGphLCB3aWUga29tbXQgZGFzIHp1IFN0YW5kZT8KCmZyZXVlIG1pY2ggYXVmIFJ1ZWNrZW1lbGR1bmdlbiBtaXQgYXVzZ2VmdWVsbHRlbiBGcmFnZWJvZWdlbiB1bmQgYXVmIGRhcwpWb3JzdGVsbGVuIGRlcyBNRyBhdWYgbWVpbmVyIFNlaXRlLgpHcnVzcywgWGlsaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkEgR2FtZSBvZiBTY29uZXMgKEFyaywgMjMuIEZlYiAyMDE3LCAyMjoyODoxNik6CkhldXRlIGltIEJ1Y2hoYW5kZWwgZ2VzZWhlbiwgZ2VzY2hhdXQgdW5kIHNvZm9ydCBnZWthdWZ0LiBWb20gSmFtbXkgTGFubmlzdGVyCihocmhyKS4gQmFjayBEaXIgZGVuIFdvbGYuCkhpZXIgZGVyIFJ1ZWNrZW50ZXh0IGRlcyBrbGVpbmVuIEJhY2tidWNoczoKRGVyIEthbXBmIHVtIGRlbiBFaXNlbmVuIFNjb25lIGhhdCBiZWdvbm5lbiwgdW5kIGZ1ZXJjaGVybGljaGUgQ2hhb3MgcmVnaWVydAppbiBkZW4gU2llYmVuIEtvZW5pZ3JlaWNoZW4uIEtvZW5pZ2UsIEtvZW5pZ2lubmVuLCBSaXR0ZXIsIEx1ZWduZXIgdW5kCmF1ZnJlY2h0ZSBNYWVubmVyIHppZWhlbiBpbiBkZW4gS2FtcGYgdW5kIHNwaWVsZW4gZGFzIEdhbWUgb2YgU2NvbmVzLgoKSmFtbXkgTGFubmlzdGVyLCBlcm1hZWNodGlndCBkdXJjaCBkYXMgUmVjaHQgdm9uIEdlYnVydCwgQmx1dCB1bmQgVGVpZywgaGF0CnNlaW5lbiBBbnNwcnVjaCBlcmhvYmVuOiBJbiBlaW5lciB3dWVzdGVuIEt1ZWNoZW5zY2hsYWNodCBzdGVsbHQgZXIgc2ljaApGdXJjaHQgZWluZmxvZXNzZW5kZW4gQmFja3dhcmVuIHdpZSBEYWVuZXJ5cyBEcmFjaGVuLUVpZXJuIHVuZCB1bmJlZmxlY2t0ZW4KU29sZGF0ZW4gKG51c3NmcmVpKSwgQnJpZW5uZSB2b24gVGFydGUgb2RlciBUeXJpb25zIFNob3J0YnJlYWQuCgpHdXQgQmFja2VuLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBIEdhbWUgb2YgU2NvbmVzIChBcmssIDIzLiBGZWIgMjAxNywgMjI6Mjk6NDYpOgp+IyEgcm49QXJrIHJ0PTE0ODc4ODUyOTYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDg3ODg1Mjk2Ck1laW4gRmF2b3JpdGU6IEdvbGRnZWxiZSBKYWltZXMsIG51ciBlY2h0IG1pdCBkZW0gYmx1dGVuZGVuLCBhYmdldHJlbm50ZW4KQXJtc3R1bXBmIFhvRAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQSBHYW1lIG9mIFNjb25lcyAoQXJrLCAyMy4gRmViIDIwMTcsIDIyOjMwOjM2KToKfiMhIHJuPUFyayBydD0xNDg3ODg1Mzg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ4Nzg4NTI5NgpBcnlhIGh1bmdyeT8gWF4pCgpMZWlkZXIgbmljaHQgdm9uIG1pciwgbWlzdC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBIEdhbWUgb2YgU2NvbmVzIChSdW1hdGEsIDIzLiBGZWIgMjAxNywgMjM6MDc6MTIpOgp+IyEgcm49QXJrIHJ0PTE0ODc4ODU0MzYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNDg3ODg1Mjk2Ck1hbiBzb2xsIGFscyBLb2NoIHZvciBrcml0aXNjaGVtIEtsaWVudGVsIG5pZSBzZWluIEdlc2ljaHQgdmVybGllcmVuLCBqYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlc3RlciBnZXN1Y2h0IChBcmssIDIyLiBBcHIgMjAxNywgMjI6NDU6MjkpOgpIaSwKCmZ1ZXIgZWluZSBrbGVpbmUgUXVlc3Qgc3VjaGUgaWNoIDEtMiBUZXN0ZXIsIGRpZSBzaWNoIGRlbSB2b3JnZWxlZ3RlbiBDb2RlCnVudGVyd2VyZmVuLCBhdXNkYXVlcm5kIHVuZCBnZWR1bGRpZyBzaW5kIHVuZCBrZWluZSBWZXJnZWx0dW5nIGR1cmNoIE11ZW56ZW4sCkdlaGVpbWluZm9ybWF0aW9uZW4sIGdlc2NoZW5rdGUgRUsgb2RlciBhZWhubGljaCBvZmZlbmt1bmRpZ2UgdW5kIGlsbGVnYWxlClZlcmd1ZW5zdGlndW5nZW4gZXJob2ZmZW4sIHNvbmRlcm4gZGFiZWkgbWl0aGVsZmVuLCBlaW5lIGZ1bmt0aW9uc2ZhZWhpZ2UKUXVlc3QgbWl0IE1pbmlxdWVzdCBhbnp1c2NobGllc3NlbiA6LSkKSW50ZXJlc3NlbnRlbiBnZXJuZSBiZWkgbWlyIG1lbGRlbi4KSWNoIGJyYXVjaGUgZXJzdG1hbCBudXIgbWF4aW1hbCAyLCBkYW1pdCBpY2ggaGludGVyaGVya29tbWUgbWl0IGtvcnJpZ2llcmVuCjotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktub2NoZW4gYWxsZXIgQXJ0IC4uLiAoSm9zaHVhLCAyMC4gTWFpIDIwMTcsIDE1OjQ3OjEwKToKLi4uIGdpYnQgZXMgaW0gV3lybWRoYWwgenUgZmluZGVuLiBGdWVyIGJlc3RpbW10ZSBEaW5nZSBicmF1Y2h0IG1hbiBkYWJlaQpIdW5kZXJ0ZSB1bmQgZGllIHNpbmQgbm9jaCB6dWZhZWxsaWcgdmVydGVpbHQsIHNvIGRhc3Mgc2ljaCB0YXVzY2hlbiBhbmJpZXRldAp1bmQgd29obCBhdWNoIGdld29sbHQgaXN0LiBEYSBpY2ggZGEgZ2VyYWRlIG5vY2htYWwgZHJhbiB3YXIsIGhhYmUgaWNoIGpldHp0CmVpbmVuIHppZW1saWNoZW4gSGF1ZmVuIEtub2NoZW4gcnVtbGllZ2VuLCBkaWUgaWNoIG5pY2h0IG1laHIgYnJhdWNoZS4gSWNoCnNwb25zb3IgZGllIGdlcm5lIGplZGVtIGRhenUsIGRlciBzaWNoIGRhcyBkYSBhbnR1dC4gTmFjaCBuZW0gUmVib290IHNpbmQgZGllCnNvbnN0IGFsbGUgd2VnLCB3YXMgamEga2VpbmVtIGhpbGZ0IDspCgpBbHNvLCBzb2xhbmdlIFZvcnJhdCByZWljaHQsIGVpbmZhY2ggbWVsZGVuLiBadW1pbmRlc3Qgd2FzIGRpZSAia2xlaW5lcmVuIgpLbm9jaGVuIGJldHJpZmZ0LiBHZW5lcmFsc2tub2NoZW4gaGFiZSBpY2ggYXVjaCBub2NoIGVpbiBwYWFyLCBzb2dhciBpbgpzaWNoZXJlciBWZXJ3YWhydW5nLiBEaWUgbW9lY2h0ZSBpY2ggYWxsZXJkaW5ncyBuaWNodCB2ZXJzY2hlbmtlbiwgYWJlciBrYW5uCmRhIGVpbmUgVGF1c2NobW9lZ2xpY2hrZWl0IGFuYmlldGVuLiBGYWxscyB3ZXIgZWluZW4gR2VuZXJhbHNrbm9jaGVuIC0gZWdhbAp3ZWxjaGVyIEFydCAtICJlaW56YWhsdCIsIGRhcmYgc2ljaCBkYWZ1ZXIgZGFubiBlaW5lbiBiZWxpZWJpZ2VuIGhlcmF1c25laG1lbi4KCkljaCBob2ZmZSBkdXJjaCBkYXMgQW5nZWJvdCBtdWVzc2VuIGFuZGVyZSBuaWNodCB3aWUgaWNoIG1laHIgYWxzIGRhcyBkb3BwZWx0ZQp2b24gZGVtIGVpZ2VudGxpY2ggZ2VicmF1Y2h0ZW4gc2FtbWVsbiA7KSBCZWkgSW50ZXJlc3NlIGVpbmZhY2ggYmVpIG1pciBtZWxkZW4KLi4uCgpHcnVlc3NsaSwgSm9zaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW16dWcgZGVzIFRlYW1zcGVhay1TZXJ2ZXJzIChPbGxpLCAxMi4gSnVuIDIwMTcsIDA5OjI0OjI2KToKSGFsbG8genVzYW1tZW4sCgppY2ggemllaGUgZ2VyYWRlIG1laW5lbiBTZXJ2ZXIgdW0gKG1laHIgTGVpc3R1bmcsIHdlbmlnZXIgS29zdGVuIC0gd2luLXdpbgoqZyopLgpEYW1pdCB3aXJkIGF1Y2ggZGVyIFRlYW1zcGVhay1TZXJ2ZXIgZGVzIE1vcmdlbmdyYXVlbnMgdW16aWVoZW4uIFdpZSBzY2huZWxsCmRpZSBBZHJlc3NlICJtZ3RzLm11ZC5kZSIgZ2VhZW5kZXJ0IHdpcmQsIGthbm4gaWNoIGdlcmFkZSBuaWNodCBzYWdlbiwgYWJlcgpkaWUgbmV1ZSBJUCB3aXJkCgoxODguNjguNDEuMjAzCgpJY2ggdmVybXV0ZSwgaWNoIHdlcmRlIGRhcyBoZXV0ZSAoMTIuMDYuMTcpIGFiZW5kIGVybGVkaWdlbiwgZGEgd2lyZCBkZXIgVFMKZGFubiBmdWVyIGVpbmlnZSBaZWl0IG5pY2h0IGVycmVpY2hiYXIgc2Vpbi4gV2VubiBkYXMgaGV1dGUgQWJlbmQgbmljaHRzCndpcmQsIGRhbm4gc3BhZXRlc3RlbnMgYmlzIHp1bSAyMC42LiAtIGRhIHdpcmQgZGVyIGFsdGUgU2VydmVyIGFiZ2VzY2hhbHRldC4KCkdydXNzLApPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW16dWcgZGVzIFRlYW1zcGVhay1TZXJ2ZXJzIChPbGxpLCAxMi4gSnVuIDIwMTcsIDIxOjU1OjQwKToKfiMhIHJuPU9sbGkgcnQ9MTQ5NzI1MjI2NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0OTcyNTIyNjYKSGFsbG8sCgpkZXIgVW16dWcgaXN0IGFiZ2VzY2hsb3NzZW4sIHVudGVyIGRlciBJUCBlcnJlaWNodCBpaHIgZGVuIFNlcnZlciBudW4uClNvYmFsZCBkaWUgQWRyZXNzZSAibWd0cy5tdWQuZGUiIHVtZ2V6b2dlbiBpc3QsIHNhZ2UgaWNoIG5vY2htYWwKQmVzY2hlaWQuCgpHcnVzcywKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbXp1ZyBkZXMgVGVhbXNwZWFrLVNlcnZlcnMgKEphbm5lLCAxMi4gSnVuIDIwMTcsIDIyOjAwOjIwKToKfiMhIHJuPU9sbGkgcnQ9MTQ5NzI5NzM0MCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0OTcyNTIyNjYKSGFsbG8sCmJlaSBtaXIgd2lyZCBkYSBub2NoIGVpbiBQYXNzd29ydCBlcmZyYWd0LCB3aWUgbGF1dGV0IGRhcyBkZW5uIG51bj8KClVuZCB2aWVsZW4gRGFuayBmdWVyIERlaW5lIE1lZWhlLgoKVmllbGUgR3J1ZXNzZQpKYW5uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW16dWcgZGVzIFRlYW1zcGVhay1TZXJ2ZXJzIChDcm9mdCwgMTIuIEp1biAyMDE3LCAyMjoyNzoyNCk6Cn4jISBybj1KYW5uZSBydD0xNDk3Mjk3NjIwIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ5NzI1MjI2NgonaGlsZmUgdHMnLiBTb2xsdGUgc2ljaCBuaWNodCBnZWFlbmRlcnQgaGFiZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVW16dWcgZGVzIFRlYW1zcGVhay1TZXJ2ZXJzIChKYW5uZSwgMTIuIEp1biAyMDE3LCAyMjo1NTowOSk6Cn4jISBybj1Dcm9mdCBydD0xNDk3Mjk5MjQ0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTQ5NzI1MjI2NgpoaWxmZS50cyBoYXQgc2ljaCBpbiBkZXIgVGF0IG5pY2h0IGdlYWVuZGVydCwgZGFzIFBhc3N3b3J0IGhpbmdlZ2VuIHNjaG9uLgpadW1pbmRlc3QgZnVua3Rpb25pZXJ0IGRhcyBiaXNoZXJpZ2UgUGFzc3dvcnQgKGRlcnplaXQpIG5pY2h0LCBkYWhlciBtZWluZQpGcmFnZSB6dXZvci4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVbXp1ZyBkZXMgVGVhbXNwZWFrLVNlcnZlcnMgKE9sbGksIDEyLiBKdW4gMjAxNywgMjM6NDY6NDQpOgp+IyEgcm49SmFubmUgcnQ9MTQ5NzMwMDkwOSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE0OTcyNTIyNjYKSGFsbG8sCgppY2ggaGFiZSBkYXMgVFMgMToxIHVtZ2V6b2dlbiwgdW5kIGljaCBoYWJlIGRhcyBub2NobWFsIGdldGVzdGV0LCBpY2gKa29tbWUgYXVjaCBtaXQgZGVtIGFsdGJla2FubnRlbiBQYXNzd29ydCBkcmF1Zi4gVW5kIGVzIHNpbmQgamEgYXVjaApzY2hvbiBlaW5pZ2UgTGV1dGUgZHJhdWYuCgpCZW51dHp0IER1IGRpZSBJUCwgdW0gRGljaCB6dSB2ZXJiaW5kZW4/IERpZSBOYW1lbnNhdWZsb2VzdW5nIGdlaHQgbm9jaApuaWNodC4KCkdydXNzLApPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hpZmZlLCBQZmVyZGUsIEt1dHNjaGVuLCBhbGxnZW1laW4gIlRyYW5zcG9ydGVyIiAoWm9vaywgMzAuIEp1bCAyMDE3LCAxNzo1OTo0MCk6CkhleSB6dXNhbW1lbiwKCmVzIGthbm4gc2VpbiwgYmVpIGRlbiBUcmFuc3BvcnRlcm4gaGF0IHNpY2ggZWluIHVuZ2VtdWV0bGljaGVyIEJ1ZwplaW5nZXNjaGxpY2hlbi4gWmVzc3RyYSB1bmQgaWNoIGhhYmVuIG1hbCBlaW4gd2VuaWcgdWViZXJsZWd0IHVuZCBnZ2YuCmdpYnQgZXMgZGEgZWluIFByb2JsZW0uIFdpciBtc3NlbiBudXIgbWFsIHNlaGVuLCB3aWUgd2lyIGRhcyB0ZXN0ZW4KdW5kIGxvZXNlbiBrb2VubmVuLgoKQmlzIGRhaGluOiBGYWxscyBFdWNoIFRyYW5zcG9ydGVyIChQZmVyZGUsIEVpbmhvZXJuZXIsIFNjaGlmZmUsIEt1dHNjaGVuIGV0Yy4pCmF1ZmZhbGxlbiwgZGllIG5pY2h0IHJpY2h0aWcgb2RlciB2aWVsbGVpY2h0IGF1Y2ggZ2FyIG5pY2h0IG1laHIga29tbWVuLApnZWJ0IG1pciBiaXR0ZSBCZXNjaGVpZC4gR2dmLiBrYW5uIG1hbiBlaW5lbiBrbGVpbmVuIEZpeCB2b3JhYiBtYWNoZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZWluZW4gQm9jayBhdWYgTmF6aXMgaW0gQnVuZGVzdGFnPyAoR2FieWxvbiwgMTUuIFNlcCAyMDE3LCAwMTowNTo1MCk6CkVpbmUgc2VociBzY2hvZW5lIEFrdGlvbi4uLiB2aWVsbGVpY2h0IGhpbGZ0IGphIGplbWFuZCBtaXQ6CgpodHRwOi8vd3d3LmJldHdlZW5icmlkZ2VzLm5ldC9idW5kZXN0YWdzd2FobC0yMDE3LnBocAoKR3J1c3MsCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWR2ZW50LCBBZHZlbnQsIGVpbiBUcm9sbCwgZGVyIC4uLiBhZWggLi4uIChIdW1uaSwgIDEuIERleiAyMDE3LCAxOTowNzozNCk6CkhhbGxvIGlociwKCm1pdCBlaW4gcGFhciBTdHVuZGVuIFZlcnNwYWV0dW5nIHNvbGx0ZSBudW4gYXVjaCBkZXIgV2VpaG5hY2h0c3Ryb2xsCmZ1bmt0aW9uaWVyZW4uIFZpZWwgU3Bhc3MgYmVpIGRlbiBEaW5nZW4sIGRpZSBlciB0dXQuIElociB3aXNzdCBiZXNjaGVpZCwgdW5kCnNvIHdlaXRlci4KCkJlaSBGcmFnZW4gb2RlciBQcm9ibGVtZW46IE1lbGRldCBldWNoLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBZHZlbnQsIEFkdmVudCwgZWluIFRyb2xsLCBkZXIgLi4uIGFlaCAuLi4gKEFyaywgIDEuIERleiAyMDE3LCAxOTo1OTo1Myk6Cn4jISBybj1IdW1uaSBydD0xNTEyMTUxNjU0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTUxMjE1MTY1NApQb3J0IFZhaW4genUgYmVzdWNoZW4sIGRhcyBoaWxmdCAuLi4gaGFiZW4gamEgZG9jaCBlaW5pZ2UgU3BpZWxlciwgZGllIGxldHp0ZXMKSmFociBub2NoIG5pY2h0IGRhYmVpIHdhcmVuLiBVbmQgZGllIHp3ZWl0ZSBJbmZvcm1hdGlvbnNzdGVsbGUgaXN0IGRpZQpGcmF0ZXJuaXRhcyAuLi4gZGVyIFJhdW0gbWl0IGVpbmVtIGR1bmtlbGhhZXVpdGlnZW4gR2VzZWxsZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUcgYXVmIGRlbSAzNGMzIChWYW5pb24sIDIyLiBEZXogMjAxNywgMTI6MDk6NTQpOgpIYWxsbywKCmFtIGtvbW1lbmRlbiBNaXR0d29jaCBiZWdpbm50IGRlciAzNGMzIHVuZCBpY2ggaGFiZSBzbyB1bSBkaWUgMTAwIFdlcmJla2FydGVuCmRhYmVpLCBkaWUgaWNoIHZlcnRlaWxlbiBtb2VjaHRlLiBFcyBrYW5uIGFsc28gc2VpbiwgZGFzcyBlcyBlaW4gcGFhciBtZWhyCk5ldWFubWVsZHVuZ2VuIGdpYnQgYWxzIHNvbnN0LiBCZSBwcmVwYXJlZC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9oZSBXZWlobmFjaHRlbiAoQW5hdG9sLCAyMy4gRGV6IDIwMTcsIDExOjUwOjE0KToKTmV1biBKYWhyZSBpc3QgZXMgaGVyLCBkYSBHcmltbWJvcm4genVsZXR6dCBkZXIgKHNlaW5lbikgUml0ZW4gbmFjaGthbSwgdW5kCmVpbmVuIGRlciBiZXJ1ZWhtdGVzdGVuIExlc2VyYnJpZWZlIG5lYnN0IEFudHdvcnQgZGVzIENoZWZyZWRha3RldXJzIGhpZXIKcmUtcG9zdGV0ZS4uLi4KCgpFaW5lIGtsZWluZSBHZXNjaGljaHRlIHp1ciBXZWlobmFjaHQKCkRpZSBhY2h0amFlaHJpZ2UgVmlyZ2luaWEgTydIYW5sb24gYXVzIE5ldyBZb3JrIHdvbGx0ZSBlcyBnYW56IGdlbmF1IHdpc3Nlbi4gCkRhcnVtIHNjaHJpZWIgc2llIGFuIGRpZSBUYWdlc3plaXR1bmcgIlN1biIgZWluZW4gQnJpZWY6CgoiSWNoIGJpbiBhY2h0IEphaHJlIGFsdC4gRWluaWdlIHZvbiBtZWluZW4gRnJldW5kZW4gc2FnZW4sIGVzIGdpYnQga2VpbmVuCldlaWhuYWNodHNtYW5uLiBQYXBhIHNhZ3QsIHdhcyBpbiBkZXIgJ1N1bicgc3RlaHQgaXN0IGltbWVyIHdhaHIuIEJpdHRlIHNhZ2VuClNpZSBtaXI6IEdpYnQgZXMgZWluZW4gV2VpaG5hY2h0c21hbm4/IC0gVmlyZ2luaWEgTydIYW5sb24iCgpEaWUgU2FjaGUgd2FyIGRlbSBDaGVmcmVkYWt0ZXVyIEZyYW5jaXMgUC4gQ2h1cmNoIHNvIHdpY2h0aWcsIGRhc3MgZXIgc2VsYmVyCmFudHdvcnRldGUgLSBhdWYgZGVyIFRpdGVsc2VpdGUgZGVyICJTdW4iOgoKIlZpcmdpbmlhLApEZWluZSBrbGVpbmVuIEZyZXVuZGUgaGFiZW4gbmljaHQgcmVjaHQuIFNpZSBnbGF1YmVuIG51ciwgd2FzIHNpZSBzZWhlbjsgc2llCmdsYXViZW4sIGRhc3MgZXMgbmljaHQgZ2ViZW4ga2Fubiwgd2FzIHNpZSBtaXQgaWhyZW0ga2xlaW5lbiBHZWlzdCBuaWNodAplcmZhc3NlbiBrb2VubmVuLiBBbGxlciBNZW5zY2hlbmdlaXN0IGlzdCBrbGVpbjsgb2IgZXIgbnVuIGVpbmVtIEVyd2FjaHNlbmVuCm9kZXIgZWluZW0gS2luZCBnZWhvZXJ0LiBJbSBXZWx0YWxsIHZlcmxpZXJ0IGVyIHNpY2ggd2llIGVpbiB3aW56aWdlcyBJbnNla3QuClNvbGNoZXIgQW1laXNlbnZlcnN0YW5kIHJlaWNodCBuaWNodCBhdXMsIGRpZSBnYW56ZSBXYWhyaGVpdCB6dSBlcmZhc3NlbiB1bmQKenUgYmVncmVpZmVuLgpKYSwgVmlyZ2luaWEsIGVzIGdpYnQgZWluZW4gV2VpaG5hY2h0c21hbm4uIEVzIGdpYnQgaWhuIHNvIGdld2lzcyB3aWUgTGllYmUKdW5kIEdyb3NzaGVyemlna2VpdCB1bmQgVHJldWUuIFdlaWwgZXMgYWxsIGRhcyBnaWJ0LCBrYW5uIHVuc2VyIExlYmVuIHNjaG9lbgp1bmQgaGVpdGVyIHNlaW4uIFdpZSBkdW5rZWwgd2FlcmUgZGllIFdlbHQsIHdlbm4gZXMga2VpbmVuIFdlaWhuYWNodHNtYW5uCmdhZWJlISBFcyBnYWViZSBkYW5uIGF1Y2gga2VpbmUgVmlyZ2luaWEsIGtlaW5lbiBHbGF1YmVuLCBrZWluZSBQb2VzaWUgLSBnYXIKbmljaHRzLCB3YXMgZGFzIExlYmVuIGVyc3QgZXJ0cmFlZ2xpY2ggbWFjaHRlLiBFaW4gRmxhY2tlcnJlc3QgYW4gc2ljaHRiYXJlbQpTY2hvZW5lbiBibGllYmUgdWVicmlnLiBBYmVyIGRhcyBMaWNodCBkZXIgS2luZGhlaXQsIGRhcyBkaWUgV2VsdCBhdXNzdHJhaGx0LAptdWVzc3RlIHZlcmxvZXNjaGVuLgpFcyBnaWJ0IGVpbmVuIFdlaWhuYWNodHNtYW5uLiBTb25zdCBrb2VubnRlc3QgRHUgYXVjaCBkZW4gTWFlcmNoZW4gbmljaHQKZ2xhdWJlbi4gR2V3aXNzLCBEdSBrb2VubnRlc3QgRGVpbmVuIFBhcGEgYml0dGVuLCBlciBzb2xsZSBhbSBIZWlsaWdlbiBBYmVuZApMZXV0ZSBhdXNzY2hpY2tlbiwgZGVuIFdlaWhuYWNodHNtYW5uIHp1IGZhbmdlbi4gVW5kIGtlaW5lciBiZWthZW1lIGlobiB6dQpHZXNpY2h0IC0gd2FzIHd1ZXJkZSBkYXMgYmV3ZWlzZW4/IEtlaW4gTWVuc2NoIHNpZWh0IGlobiBlaW5mYWNoIHNvLiBEYXMKYmV3ZWlzdCBnYXIgbmljaHRzLiBEaWUgd2ljaHRpZ2VuIERpbmdlIGJsZWliZW4gbWVpc3RlbnMgdW5zaWNodGJhci4gRGllCkVsZmVuLCB6dW0gQmVpc3BpZWwsIHdlbm4gc2llIGF1ZiBNb25kd2llc2VuIHRhbnplbi4gVHJvdHpkZW0gZ2lidCBlcyBzaWUuIEFsbApkaWUgV3VuZGVyIHp1IGRlbmtlbiAtIGdlc2Nod2VpZ2UgZGVubiBzaWUgenUgc2VoZW4sIGRhcyB2ZXJtYWcgbmljaHQgZGVyCktsdWVnc3RlIGF1ZiBkZXIgV2VsdC4gV2FzIER1IGF1Y2ggc2llaHN0LCBEdSBzaWVoc3QgbmllIGFsbGVzLgpEdSBrYW5uc3QgZWluIEthbGVpZG9za29wIGF1ZmJyZWNoZW4gdW5kIG5hY2ggZGVuIHNjaG9lbmVuIEZhcmJmaWd1cmVuIHN1Y2hlbi4KRHUgd2lyc3QgZWluaWdlIGJ1bnRlIFNjaGVyYmVuIGZpbmRlbiwgbmljaHRzIHdlaXRlci4gV2FydW0/IFdlaWwgZXMgZWluZW4KU2NobGVpZXIgZ2lidCwgZGVyIGRpZSB3YWhyZSBXZWx0IHZlcmh1ZWxsdCwgZWluZW4gU2NobGVpZXIsIGRlbiBuaWNodCBlaW5tYWwKYWxsZSBHZXdhbHQgYXVmIGRlciBXZWx0IHplcnJlaXNzZW4ga2Fubi4gTnVyIEdsYXViZSB1bmQgUG9lc2llIHVuZCBMaWViZQprb2VubmVuIGlobiBsdWVmdGVuLiBEYW5uIHdpcmQgZGllIFNjaG9lbmhlaXQgdW5kIEhlcnJsaWNoa2VpdCBkYWhpbnRlciBhdWYKZWlubWFsIHp1IGVya2VubmVuIHNlaW4uIAonSXN0IGRhcyBkZW5uIGF1Y2ggd2Focj8nIGthbm5zdCBEdSBmcmFnZW4uIFZpcmdpbmlhLCBuaWNodHMgYXVmIGRlciBnYW56ZW4KV2VsdCBpc3Qgd2FocmVyIHVuZCBuaWNodHMgYmVzdGFlbmRpZ2VyLiBEZXIgV2VpaG5hY2h0c21hbm4gbGVidCwgdW5kIGV3aWcKd2lyZCBlciBsZWJlbi4gU29nYXIgaW4gemVobm1hbCB6ZWhudGF1c2VuZCBKYWhyZW4gd2lyZCBlciBkYSBzZWluLCB1bSBLaW5kZXIKd2llIERpY2ggdW5kIGplZGVzIG9mZmVuZSBIZXJ6IG1pdCBGcmV1ZGUgenUgZXJmdWVsbGVuLiBGcm9oZSBXZWlobmFjaHQsClZpcmdpbmlhLgpEZWluIEZyYW5jaXMgUC4gQ2h1cmNoIgoKKERlciBCcmllZndlY2hzZWwgendpc2NoZW4gVmlyZ2luaWEgTydIYW5sb24gdW5kIEZyYW5jaXMgUC4gQ2h1cmNoIHN0YW1tdCBhdXMKZGVtIEphaHIgMTg5Ny4gRXIgd3VyZGUgdWViZXIgZWluIGhhbGJlcyBKYWhyaHVuZGVydCBiaXMgenVyIEVpbnN0ZWxsdW5nIGRlcgoiU3VuIiBpbSBKYWhyZSAxOTUwIGFsbGUgSmFocmUgd2llZGVyIHp1ciBXZWlobmFjaHRzemVpdCBhdWYgZGVyIGVyc3RlbiBTZWl0ZQpkZXIgWmVpdHVuZyBhYmdlZHJ1Y2t0LikKCgoKRXVjaCBlaW4gZnJvaGVzIFdlaWhuYWNodHNmZXN0LCBiZXNpbm5saWNoZSwgcnVoaWdlLCBlcmhvbHNhbWUgRmVpZXJ0YWdlLCAKdW5kIGVpbmVuIGFic29sdXQgaGVyYXVzcmFnZW5kIGd1dGVuIFN0YXJ0IGlucyBuZXVlIEphaHIgLQoKICAgQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9oZSBXZWlobmFjaHRlbiEgKEFyaywgMjQuIERleiAyMDE3LCAwMDo1Nzo0Nyk6CgogICAgICAgICBfX18KICAuICAgICB8ICAgfCAgICAgICAgICAgICAoKQogICAgIC5fX3xfX198X18gICAgICAgICAgKCBvKCkKICAgLi4gIC8gICAgIFwgICAgICAgICAgICAoKQogIC4gLiAoICBPIE8gICkgICAgICAoKSAgICAgICgpCiAgICAuICAoICBMICApICAgICBPICAgbyAoKSBvCiAgICB8XSAgY19vXykgICBvICBvICAoKQogICAgfF0gIC8gXFwgICAuIG8gTyAoKSAgKG8oKQogICAgIFxcLyAgfF9dIC4gLiBvICAgIE8KICAgICAgXC8gICAgXCAgIG8gICAgTyBvCiAgICAgICAvICAgIFwKICAgICAgIC8gICAgXAogICAgICAgLyAgICBcCiAgICAgICAvICAgIFwKICAgICBfXy8gfHwgXF9fCiAgICAoX19fX11bX19fXykKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTU0wtWmVydGlmaWthdCBhYmdlbGF1ZmVuIChCdWdmaXgsICA4LiBKYW4gMjAxOCwgMTg6NDY6NDMpOgpNb2luLAoKRGFzIFNTTC1aZXJ0aWZpa2F0IGRlcyBNb3JnZW5ncmF1ZW5zIGlzdCBhYmdlbGF1ZmVuLiBXZXIgc2ljaCB1ZWJlciBTU0wKZWlubG9ndCBtdXNzIHVlYmVyZ2FuZ3N3ZWlzZSBpbiBkZXIgU3R1bm5lbC1Lb25maWd1cmF0aW9uIHZlcmlmeSBhdWYgMCBzZXR6ZW4uCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXIgS2FydGVubWFsZnVlaHJlciAoS2hpZGFyLCAxNy4gQXByIDIwMTgsIDAwOjQ0OjU5KToKRGEgaWNoIGVzIHNjaG9uIGVpbmUgZ2FuemUgV2VpbGUgbmljaHQgZ2Vwb3N0ZXQgaGFiZSB1bmQgc2ljaCBuaWNodCBzbyB2aWVsZQppbiBtZWluIFNlaGVyaGF1cyB2ZXJsYXVmZW4gd2VyZGVuICh3byBlciBhdWNoIGF1c2hhZW5ndCksIGhpZXIgZWluIFJlcG9zdAptZWluZXMga2xlaW5lbiBLYXJ0ZW5tYWxmdWVocmVyczoKCktoaWRhcnMga2xlaW5lciBGdWVocmVyIHp1bSBLYXJ0ZW56ZWljaG5lbjoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpLYXJ0ZW4gaGVsZmVuLCBkZW4gVWViZXJibGljayB1ZWJlciBlaW4gR2ViaWV0IHp1IGJla29tbWVuIHVuZCB6dSBiZWhhbHRlbi4KQWxzIEVyc3RlcyBicmF1Y2hlbiB3aXIgQmxlaXN0aWZ0IHVuZCBSYWRpZXJndW1taS4KSWNoIG1hbGUgYXVmIEthcm9wYXBpZXIgYXVmIGRlbiBMaW5pZW5rcmV1enVuZ2VuIGRpZSBSYWV1bWUgYWxzIGtsZWluZW4gS3JlaXMKdW5kIHZlcndlbmRlIGRhYmVpIG5vcm1hbGVyd2Vpc2UgamVkZSB6d2VpdGUgS3JldXp1bmcuIEVzIGdpYnQgYWxsZXJkaW5ncwpSYWV1bWUsIGRpZSBhdXMgZGVtIFJhc3RlciBmYWxsZW4sIHdpZSBpbSBXb25uZXdpY2h0ZWx3YWxkIG9kZXIgaGllciwgZGFubgptdXNzIGRlciBSYXVtIGVpbmUgS3JldXp1bmcgdmVyc2V0enQgd2llIGltIEJlaXNwaWVsIGdlemVpY2huZXQgd2VyZGVuLgpXZW5uIG1hbiBkZW4gUmF1bSBlcmZvcnNjaHQgaGF0LCB3aXJkIGRlciBLcmVpcyBhdXNnZW1hbHQuIEZ1ZXIgWndlaXRpZXMKa29tbXQgZWluIHdlaXRlcmVyIEtyZWlzIGRhenUsIGRlciBpbiBWaWVydGVsa3JlaXNlIGF1ZmdldGVpbHQgaXN0LiBXZW5uCmVpbiBad2VpdGllIGRlbiBSYXVtIGViZW5mYWxscyBlcmt1bmRldCBoYXQsIG1hbHQgbWFuIGFtIGJlc3RlbiBtaXQgZWluZW0KYW5kZXJzZmFyYmlnZW4gS3VnZWxzY2hyZWliZXIgZGFzIEtyZWlzdmllcnRlbCBkYXp1LCB3YXMgbWFuIGZ1ZXIgZGllc2VuClp3ZWl0aWUgZmVzdGdlbGVndCBoYXQsIHpCIGJla29tbXQgTm9rIGltbWVyIGRhcyBWaWVydGVsIHJlY2h0cyB1bnRlbi4KV2VubiBlcyBldHdhcyBCZXNvbmRlcmVzIGltIFJhdW0gZ2FiLCBtYWx0IG1hbiBrbGVpbmUgWmFobGVuIGFuIGRlbgpiZXRyZWZmZW5kZW4gUmF1bSB1bmQgc2NocmVpYnQgZWluZSBMZWdlbmRlICgxIC0gbmltbSBzY2hsdWVzc2VsIGF1cwpyb3N0aGF1ZmVuKS4gQmVpIHNlaHIgdmllbGVuIFdpcmt1bmdlbiAoS25vZXBmZSwgSGViZWwpIHplaWNobmUgaWNoIG5vY2gKZWluZW4gUGZlaWwgdm9tIFVyc2FjaGUtIGluIGRlbiBXaXJrdW5nc3JhdW0uCldlbm4gUmljaHR1bmdlbiBhYndlaWNoZW4sIGtvbW10IGFuIGRpZSBWZXJiaW5kdW5nc2xpbmllIGRpZSBnZW5hdWUgUmljaHR1bmcKKHdpZSBud3Ugb2RlciBvYikuIFVlYnJpZ2VucyB2ZXJ3ZW5kZSBpY2ggZnVlciAib2JlbiIgZGFzIEFsaWFzICJoIiAtIGVzIGlzdAplaW5mYWNoIHByYWt0aXNjaGVyLiBEaWUgVHJlbm51bmcgenUgImJlbmFjaGJhcnRlbiIgWmV0dGVsbiBlcmZvbGd0IG1pdAplaW5lciBEb3BwZWxsaW5pZSwgZGFtaXQgbWFuIHdlaXNzLCBkYXNzIG1hbiBkaWVzZW4gQXVzZ2FuZyBzY2hvbiBlcmt1bmRldApoYXQsIHdpZSBhdWYgZGVyIFRhZmVsIGFiZ2ViaWxkZXQuIERhbmViZW4gaGFiZSBpY2ggbm9jaCBzZWx0ZW5lcmUgWmVpY2hlbiB3aWUKZWluZW4gZWluemVsbmVuIFF1ZXJzdHJpY2ggYW4gZWluZXIgQXVzZ2FuZ3NyaWNodHVuZyBmdWVyIG5vY2ggbmljaHQgbGF1ZmJhcmUgClJpY2h0dW5nZW4sIGRpZSBhYmVyIHNjaG9uIGltIFJhdW0gc2luZC4gQXVzc2VyZGVtIGthbm4gZWluZSBiZWxpZWJpZ2UgClJpY2h0dW5nIG1pdCBlaW5lciBQZmVpbHNwaXR6ZSB2ZXJzZWhlbiB3ZXJkZW4sIHdlbm4gc2llIGVpbmUgRWluYmFobnN0cmFzc2UgCmRhcnN0ZWxsdC4KSW0gTVVEIHNpbmQgZGllIFZlcmJpbmR1bmdzd2VnZSBzaW5kIG1pdCBlaW5lbSBncm9iZW4gTWFzc3N0YWIgYWJnZWJpbGRldCwKbWFuIGxlZ3QgbWl0IGVpbmVtIFNjaHJpdHQgYWxzbyBncm9zc2UgRW50ZmVybnVuZ2VuIHp1cnVlY2suIFF1ZXN0Z2ViaWV0ZQpoYWJlbiBtZWlzdCBlaW5lbiBrbGVpbmVuIE1hc3NzdGFiLCBhbHNvIG51ciBrdXJ6ZSBSYXVtZW50ZmVybnVuZ2VuCnZvbmVpbmFuZGVyLiBEYWhlciBzb2xsdGUgbWFuIFF1ZXN0Z2ViaWV0ZSBhdWYgZWluZW4gZWlnZW5lbiBaZXR0ZWwgbWFsZW4uCkFsbHplaXQgZ3V0ZSBVZWJlcnNpY2h0IQoKQmVpc3BpZWxrYXJ0ZSBtZWluZXIgWml0YWRlbGxlOgouLi4uby4uLi4KLi4vLnwuXC4uCm8uLi58Li4ubwp8Li4uby4uLnwKby4uLi4uLi5vCi4uXC4uLi8uLgouLi4uby4uLi4KLi51Lnwub2IuCi4uLi5vLi4uLgouLnUufC5vYi4KLi4uLm8uLi4uCi5yYS58LmJldAouLi4uPS4uLi4KCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEFyaywgMTcuIEFwciAyMDE4LCAxOToyMjowMCk6Cn4jISBybj1LaGlkYXIgcnQ9MTUyMzkxODY5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1MjM5MTg2OTkKQWxsZXMgc3VwZXIgLi4uIEFCRVI6IGVzIGlzdCBkZXIgV09OTkVXSUNIVFdBTEQhIFdJQ0hURSBTSU5EIEtFSU5FIFdJQ0hURUwhCkFuc29uc3RlbiAuLi4gd2VpdGVybWFjaGVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xlaW5lciBLYXJ0ZW5tYWxmdWVocmVyIChLaGlkYXIsIDE4LiBBcHIgMjAxOCwgMjE6MDI6MjUpOgp+IyEgcm49QXJrIHJ0PTE1MjM5ODU3MjAgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTIzOTE4Njk5CkFsc28gbGF1dCBXaWtpcGVkaWEgZ2lidHMgZGEgZmFzdCBrZWluZW4gVW50ZXJzY2hpZWQuLi4KQWxsZW5mYWxscyBrb2VubnRlbiBXaWNodGUgZXR3YXMgZ3Jvc3NnZXJhdGVuZSBXaWNodGVsIHNlaW4uCgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGVpbmVyIEthcnRlbm1hbGZ1ZWhyZXIgKEFyaywgMTguIEFwciAyMDE4LCAyMToxMTozMyk6Cn4jISBybj1LaGlkYXIgcnQ9MTUyNDA3ODE0NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1MjM5MTg2OTkKV2lraXBlZGlhIC4uLiB3ZXIgZGFyYW4gZ2xhdWJ0LCBpc3Qga2VpbiBXaWNodCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbWZyYWdlIGZ1ZXIgem9ja2VuZGUgQmxpbmRlIChOb3J4dXMsIDIzLiBKdW4gMjAxOCwgMDI6MzU6MzIpOgpTZWhyIGdlZWhydGUgRGFtZW4gdW5kIEhlcnJlbiwKT25saW5lc3BpZWxlIGdlaG9lcmVuIGZ1ZXIgdmllbGUgTWVuc2NoZW4genVtIEFsbHRhZyB1bmQgaGFiZW4gc2ljaCBhbHMKTWFzc2VubWVkaXVtIGV0YWJsaWVydC4gRnVlciBNZW5zY2hlbiBtaXQgU2VoYmVlaW50cmFlY2h0aWd1bmcgdW5kIEJsaW5kaGVpdAplcnNjaHdlcmVuIG9kZXIgdmVyaGluZGVybiB0ZWNobmlzY2hlIEJhcnJpZXJlbiBkaWUgVGVpbGhhYmUgamVkb2NoIGhhZXVmaWcuClVtIGRpZXNlIFRoZW1hdGlrIGdlaHQgZXMgaW4gdW5zZXJlciBVbWZyYWdlLCBkaWUgd2lyIElobmVuIGltIFdlaXRlcmVuIGt1cnoKdm9yc3RlbGxlbi4KRGFzIHNpbmQgd2lyOgpXaXIgLSBMYXVyYSBXdXR0a2UgdW5kIFNhbmRyYSBLdWhsZW1hbm4gLSBzaW5kIE1hc3RlcnN0dWRlbnRpbm5lbiBkZXMKU3R1ZGllbmdhbmdzID9SZWhhYmlsaXRhdGlvbnN3aXNzZW5zY2hhZnRlbiBhbiBkZXIgVGVjaG5pc2NoZW4gVW5pdmVyc2l0dApEb3J0bXVuZCB1bmQgZnVlaHJlbiBpbSBSYWhtZW4gdW5zZXJlciBNYXN0ZXJhcmJlaXQgZGllc2UgT25saW5lLVVtZnJhZ2UKZHVyY2guClppZWxlIGRlciBTdHVkaWU6ClppZWwgdW5zZXJlciBTdHVkaWUgaXN0IGVzLCBoZXJhdXN6dWZpbmRlbiwgd2VsY2hlIE9ubGluZXNwaWVsZSB2b24gTWVuc2NoZW4KbWl0IFNlaGJlZWludHJhZWNodGlndW5nIHVuZCBCbGluZGhlaXQgZ2VzcGllbHQgd2VyZGVuIHVuZCB3ZWxjaGUgdGVjaG5pc2NoZW4KQmFycmllcmVuIGRpZSBOdXR6dW5nIHZlcmhpbmRlcm4gb2RlciBlcnNjaHdlcmVuLiBFcyBzb2xsIHNvbWl0IGRpZQpadWdhZW5nbGljaGtlaXQgenVyIEdhbWluZy1LdWx0dXIgdmVyYmVzc2VydCB1bmQgZGFtaXQgZGllIFRlaWxoYWJlIGFtCmdlc2VsbHNjaGFmdGxpY2hlbiBMZWJlbiBlcmhvZWh0IHdlcmRlbi4KSWhyZSBUZWlsbmFobWUgYW4gZGVyIFN0dWRpZToKV2lyIG1vZWNodGVuIGF1ZiBkaWUgRXJmYWhydW5nIHZvbiBHYW1lcm4gbWl0IFNlaGJlZWludHJhZWNodGlndW5nIHVuZApCbGluZGhlaXQgenVydWVja2dyZWlmZW4sIHVtIHVucyBha3RpdiBmdWVyIGRpZSBaaWVsZ3J1cHBlIGVpbnp1c2V0emVuLgpHZWhvZXJlbiBTaWUgenUgZGllc2VyIFppZWxncnVwcGUsIGRhbm4gZnJldWVuIHdpciB1bnMsIHdlbm4gU2llIGFuIHVuc2VyZXIKQmVmcmFndW5nIHRlaWxuZWhtZW4gdW5kIElociBXaXNzZW4gbWl0IHVucyB0ZWlsZW4uCkJlZnJhZ3VuZ3NhYmxhdWY6Ck1pdCBkaWVzZXIgRS1NYWlsIGVyaGFsdGVuIFNpZSBkZW4gTGluayB6dSB1bnNlcmVtIEZyYWdlYm9nZW4uIERpZQpCZWFudHdvcnR1bmcgZGVyIEZyYWdlbiB3aXJkIHVuZ2VmYWVociAxMC0xNSBNaW51dGVuIGluIEFuc3BydWNoIG5laG1lbi4KQWxsZSBlcmhvYmVuZW4gRGF0ZW4gd2VyZGVuIHN0cmVuZyB2ZXJ0cmF1bGljaCB1bmQgbnVyIGZ1ZXIgRm9yc2NodW5nc3p3ZWNrZQp2ZXJ3ZW5kZXQuIEFscyBrbGVpbmVzIERhbmtlc2Nob2VuIGtvZW5uZW4gU2llIGFtIEVuZGUgZGVyIFVtZnJhZ2Ugb3B0aW9uYWwgYW4KZWluZW0gR2V3aW5uc3BpZWwgdGVpbG5laG1lbi4gRG9ydCB2ZXJsb3NlbiB3aXIgendlaSBBbWF6b24tR3V0c2NoZWluZSBpbSBXZXJ0CnZvbiBqZXdlaWxzIHplaG4gRXVyby4KVWViZXIgZm9sZ2VuZGVuIExpbmsgZ2VsYW5nZW4gU2llIHp1bSBGcmFnZWJvZ2VuOgpodHRwczovL3VtZnJhZ2VuLnR1LWRvcnRtdW5kLmRlL2luZGV4LnBocC8xODc2OTE/bGFuZz1kZQpCZWkgUnVlY2tmcmFnZW4gb2RlciBLb21tZW50YXJlbiBzdGVoZW4gd2lyIElobmVuIGdlcm5lIHBlciBFLU1haWwKKHNhbmRyYS5rdWhsZW1hbm5AdHUtZG9ydG11bmQuZGUpIHp1ciBWZXJmdWVndW5nLgpXaXIgYmVkYW5rZW4gdW5zIGltIFZvcmF1cyBoZXJ6bGljaCBmdWVyIElocmUgVW50ZXJzdHVldHp1bmcgdW5zZXJlciBTdHVkaWUhCk1pdCBmcmV1bmRsaWNoZW4gR3J1ZXNzZW4KTGF1cmEgV3V0dGtlIHVuZCBTYW5kcmEgS3VobGVtYW5uCkRhcyBpc3Qgdm9uIG1pciBudXIgd2VpdGVyZ2VsZWl0ZXQgd29yZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2liYmxlcyBhbmQgQml0cyAoQW1hcnlsbGlzLCAyNi4gU2VwIDIwMTgsIDIwOjI2OjU5KToKSGksCgppY2ggc3VjaGUgbmFjaCBlaW5lciBVZWJlcnNldHp1bmcgdm9uICJLaWJibGVzIGFuZCBCaXRzIi4gRHVja0RVY2tHbyB1bmQKR29vZ2xlIGZpbmRlbiBudXIgSHVuZGVmdXR0ZXIsIHdhcyBzbyBoZWlzc3QuIEljaCBoYWJlIGRhcyBhYmVyIGluIGVpbmVtCmFtZXJpa2FuaXNjaGVuIEZpbG0gZ2VzZWhlbiwgaW4gZGVtIGVzIGV0d2EgIkhva29zcG9rdXMsIHRhdGFyYSIgby5hZS4KYmVkZXV0ZW4ga29lbm50ZS4uLgpLZW5udCBkYXMgamVtYW5kPwoKVkcsCkFtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtpYmJsZXMgYW5kIEJpdHMgKENyb2Z0LCAyNi4gU2VwIDIwMTgsIDIyOjEzOjA0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTM3OTg2NDE5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTUzNzk4NjQxOQpOb3BlLiBBYmVyIGVzIGdpYnQgdXJiYW5kaWN0aW9uYXJ5LgoKaHR0cHM6Ly93d3cudXJiYW5kaWN0aW9uYXJ5LmNvbS9kZWZpbmUucGhwP3Rlcm09a2liYmxlcythbmQrYml0cwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFibWFobnVuZyB3Zy4gRmlsZXNoYXJpbmcgKEFtYXJ5bGxpcywgMjcuIFNlcCAyMDE4LCAyMTo1NzoyOSk6CkhpLAoKbWlyIGthbSBzb2ViZW4gZWluZSBBYm1haG51bmcgd2cuIEZpbGVzaGFyaW5nIGluIGRlbiBCcmllZmthc3RlbiBnZWZsYXR0ZXJ0LgpEaWUgd29sbGVuIGVpbmUgdW50ZXJzY2hyaWViZW5lIFVudGVybGFzc3VuZ3NlcmtsYWVydW5nIHNvd2llIDE3MDAgVGFja2VuCmhhYmVuLgpOdW4gaGFiZSBpY2ggZGl2ZXJzZSBBcmd1bWVudGUsIHdhcnVtIGljaCBkYXMgbmljaHQgZ2V3ZXNlbiBzZWluIGthbm4gKHZtdGwuCmdlaGFja3RlcyBXTEFOLCBoYWIgZXJzdG1hbCBkYXMgUGFzc3dvcnQgbmV1IGdlc2V0enQsIFVwZGF0ZXMgZGFyZiBpY2ggZGEKbGVpZGVyIHNlbGJlciBrZWluZSBtYWNoZW4pLCBhYmVyIG9iIGRpZSBkYXMgaW50ZXJlc3NpZXJ0LCB3ZWlzcyBpY2ggbmljaHQuCkRBaGVyIG1laW5lIEZyYWdlOiBIYXQgamVtYW5kIEVyZmFocnVuZyBkYW1pdCBiencuIGlzdCBzZWxic3Qgc2Nob25tYWwKYmV0cm9mZmVuIGdld2VzZW4sIHVuZCBrYW5uIGRhIFRpcHBzIGdlYmVuLCB3aWUgbWFuIHNpY2ggbnVuIHZlcmhhZWx0PwoKQmluIHVtIGFsbGUgSW5mb3MgZGFua2JhciA7KQoKTEcsCkFtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFibWFobnVuZyB3Zy4gRmlsZXNoYXJpbmcgKERlYWRkeSwgMjcuIFNlcCAyMDE4LCAyMjoxNjo0OCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTUzODA3ODI0OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1MzgwNzgyNDkKQWZhaWsgaXN0IGRhcyBtaXQgZGVyIGdhbnplbiBTdG9lcmVyaGFmdHVuZyBpbnp3aXNjaGVuIHJlbGF0aXYgZW50c3Bhbm50LCBpY2gKaGFiIGRhbWFscyAoMjAxMCkgZWluZmFjaCBlaW5lbiBkYXJhdWYgc3BlemlhbGlzaWVydGVuIEFud2FsdCBuZW4gQnJpZWYKenVydWVja3NjaGlja2VuIGxhc3NlbiwgZGFzIGhhdCBkYW5uIHNlbGJzdCBhYmVyIG5lbiBUYWNrZW4gdWViZXIgMzAwIEV1cm8KZ2Vrb3N0ZXQsIGRhIGthbSBkYW5uIGFiZXIgbmllIGV0d2FzIHdpZWRlci4KClp1bSBBdXNzaXR6ZW4gaGFiZSBpY2gga2VpbmUgRXJmYWhydW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob2VuZSBGZWllcnRhZ2UhIChaZXNzdHJhLCAyNS4gRGV6IDIwMTgsIDE3OjQxOjE2KToKSHVodSBhbGxlcnNlaXRzLAoKaWNoIHd1ZW5zY2ggZXVjaCBzY2hvZW5lIEZlaWVydGFnZSBtaXQKSnVsLS9XZWlobmFjaHRzLS9NaXRocmFzLS9TYXR1cm5hbGllbi1GZWllcmxpY2hrZWl0ZW4gKGdnZi4gYXVjaApuYWNodHJhZWdsaWNoLCB3ZXIgc2Nob24gaGF0dGUpISBPZGVyIHdlbm4gaWhyIGdlcmFkZSBuaWNodHMgZmVpZXJ0LCBlcmhvbHNhbWUKdW5kIGFuZ2VuZWhtZSBUYWdlLgoKVW5kIHZvciBhbGxlbTogTGFzc3QgZXVjaCBuaWNodCB2b20gRmFtaWxpZW5zdHJlc3MgdW50ZXIgRHJ1Y2sgc2V0emVuLiBBbHNvLAp3ZWRlciB2b24gZGVyIExvZ2lzdGlrIHVuZCBkZW0gV3Vuc2NoLCBlcyBhbGxlbiByZWNodCBtYWNoZW4genUgd29sbGVuL3NvbGxlbiwKbm9jaCB2b24gZXR3YWlnZW4gU3RyZWl0aWdrZWl0ZW4sIGRpZSB0cmFkaXRpb25lbGwgenUgZGllc2VyIFplaXQgYXVmdGF1Y2hlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkltbWVyIHdpZWRlciBnZWlsLCBmdWVyIGRpZSBadWdmYWhyZXIgOi1EIChBcmssIDEyLiBGZWIgMjAxOSwgMDE6MTY6MDkpOgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVY0d2ktaXEyYV93CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEltbWVyIHdpZWRlciBnZWlsLCBmdWVyIGRpZSBadWdmYWhyZXIgOi1EIChNdW5kcm9uLCAxMi4gRmViIDIwMTksIDA4OjUzOjA1KToKfiMhIHJuPUFyayBydD0xNTQ5OTMwNTY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU0OTkzMDU2OQpEYSBrYW5uIGljaCBhdWNoIGZvbGdlbmRlcyBWaWRlbyB2b24gZGVuIFdpc2UgR3V5cyBlbXBmZWhsZW46Cmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9d1hqaHN6eTJmOXcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW1tZXIgd2llZGVyIGdlaWwsIGZ1ZXIgZGllIFp1Z2ZhaHJlciA6LUQgKFJ1bWF0YSwgMTIuIEZlYiAyMDE5LCAwOToyMjoxMSk6Cn4jISBybj1NdW5kcm9uIHJ0PTE1NDk5NTc5ODUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTQ5OTMwNTY5CkphIGRhcyBWaWRlbyBpc3QgbWlyIGRldXRsaWNoIGxpZWJlci4gRGVyIFR5cCBhdXMgZGVtIGVyc3RlbiBoYXQKamEgdm9sbCBkYXMgTWFyaW8gQmFydGggVGltaW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW1tZXIgd2llZGVyIGdlaWwsIGZ1ZXIgZGllIFp1Z2ZhaHJlciA6LUQgKEFtYXJ5bGxpcywgMTIuIEZlYiAyMDE5LCAyMTowODo1MCk6Cn4jISBybj1SdW1hdGEgcnQ9MTU0OTk1OTczMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1NDk5MzA1NjkKU2VociBzY2hhZGUsIGRhc3MgZXMgZGllIFdpc2UgR3V5cyAodWVicmlnZW5zIG5lIEtvZWxuZXIgR3J1cHBlKSBzbyBuaWNodCBtZWhyCmdpYnQsIERlciBXb3J0d2l0eiB3YXIgdGVpbHdlaXNlIHdpcmtsaWNoIGtvZXN0bGljaC4gSWNoIGVyaW5uZXJlIG1pY2ggZGEgYW4KZWluZSBBcnQgIkZDLUxpZWQiLCBkYXMgd29obCBlbnRzdGFuZGVuIGlzdCwgYWxzIGRlciBGQyBzY2hvbiBsYWVuZ2VyIGluIGRlcgoyLiBMaWdhIGR1ZW1wZWx0ZSB1bmQgbnVyIEJvY2ttaXN0IHNwaWVsdGUgLSBkYSBrYW0gZGFubiBkYXMgV29ydHNwaWVsICJTaWUKc3BpZWxlbiBnZWdlbiBHcmV1dGhlciBGdWVydGggLSBHcmV1dGVyIGZ1ZWhydCIgOy0pKQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmVzdGltbXRlIHNwaWVsZXIgemVpdHJhdW0gMjAxMi0yMDE2LzE3IGluZm8gKFRhcmFtYXIsIDMxLiBNYWkgMjAxOSwgMjA6MzE6NDQpOgpMaWViZSBNRy1HZW1laW5kZSwKaWNoIHd1ZXJkZSBtaWNoIGZyZXVlbiwgd2VubiBpaHIgZGVuIGdhbnplbiBUZXh0IGxlc2VuIG1vZWd0LgpCZWkgRnJhZ2VuIGtvZW5udCBpaHIgZGFubiBlaW5lIE5hY2hyaWNodCBhbiBmYW0uYnJvd24uMjAwOEBnbWFpbC5jb20Kc2NocmVpYmVuIG9kZXIgYmVpIEluc3RhZ3JhbSBhdWYgbGViZW5hbHN2aWVsZSBzY2hhdWVuLgppbiBkZW4gSmFocmVuIDIwMTItMjAxNiBnYWIgZXMgZWluaWdlIFNwaWVsZXIgaGllciBpbSBNRywgZGllIHRlaWwgZWluZXIKTXVsdGlwbGVuIFBlcnNvZW5saWNoa2VpdCBzaW5kL3dhcmVuLgpEaWUgTXVsdGlwbGUgUGVyc29lbmxpY2hrZWl0c3N0b2VydW5nIGlzdCBoZXV0ZSBiZWthbm50IHVudGVyIGRlbSBOYW1lbgpEaXNzb3ppYXRpdmUgSWRlbnRpdGFldHNzdG9lcnVuZy4gRGllcyBpc3QgZWluZSBTdG9lcnVuZywgZGllIHNpY2ggZHVyY2ggZWluZQpBdWZzcGFsdHVuZyBkZXIgbWVuc2NobGljaGVuIFNlZWxlIGtlbm56ZWljaG5ldC4gTWVocmVyZSBQZXJzb25lbiBsZWJlbiBzb21pdAppbSBnbGVpY2hlbiBLb2VycGVyIHVuZCB3aXNzZW4gb2Z0IG5pY2h0cyB2b25laW5hbmRlci4gRXh0cmVtIG5lZ2F0aXZlCkxlYmVuc3Vtc3RhZW5kZSAgdWViZXJ3YWVsdGlnZW5kZXIgQXJ0IHdpZSBWZXJuYWNobGFlc3NpZ3VuZywgTWlzc2hhbmRsdW5nIHVuZApNaXNzYnJhdWNoLCBpbnNiZXNvbmRlcmUgYmlzIHp1bSBBbHRlciB2b24gNSBKYWhyZW4sIGtvZW5uZW4gZGllIEVudHdpY2tsdW5nCmVpbmVyIGludGVncmllcnRlbiBQZXJzb2VubGljaGtlaXQgdmVyaGluZGVybi4gU3RhdHRkZXNzZW4ga2FubiBlcyB6dSBlaW5lcgpBYmthcHNlbHVuZyB2b24gR2VkYWVjaHRuaXNpbmhhbHRlbiB1bmQgd2VjaHNlbG5kZW4gSWRlbnRpdGFldGVuIGtvbW1lbi4KQmV0cm9mZmVuZSBoYWJlbiB3ZWNoc2VsbmRlIElkZW50aXRhZXR0ZW4gbWl0IGpld2VpbHMgZWlnZW5lbSBTZWxic3RiaWxkIHVuZAota29uemVwdCwgYmVpc3BpZWxzd2Vpc2UgZ3J1bmRsZWdlbmRlIEVpbnN0ZWxsdW5nZW4gdW5kIEdlZnVlaGxlIGJldHJlZmZlbmQuCkhpbnp1IGtvbW1lbiBFcmlubmVydW5nc2x1ZWNrZW4uIEplZGUgZWlnZW5lIElkZW50aXRhZXQsIGRpZSBzaWNoIGFic3BhbHRldCwKaXN0IHNvbWl0IGVpbiBlaWdlbmVyIE1lbnNjaC4gQXVnZW5mYXJiZSwgS29lcnBlcmhhbHR1bmcsIFNwcmFjaGUsIFN0aW1tZSwKRXJrcmFua3VuZ2VuIHVzdy4ga29lbm5lbiBhdWZ0cmV0ZW4uCkJlaXNwaWVsOgpQZXJzb24gQSBoYXQgYmxhdWUgQXVnZW4gdW5kIGlzdCBnZXN1bmQuClBlcnNvbiBCIGhhdCBncnVlbmUgQXVnZW4gdW5kIGthbm4gbmljaHQgcmljaHRpZyBzcHJlY2hlbiwgZGEgZXJrcmFua3VuZyBpbQpTcHJhY2h6ZW50cnVtLgpNaXQgZGVtIElkZW50aXRhZXRzd2VjaHNlbCBnZWhlbiBXZWNoc2VsIGtvZXJwZXJsaWNoZXIgV2VydGUgZGVzIHZlZ2V0YXRpdmVuCk5lcnZlbnN5c3RlbXMgKHp1bSBCZWlzcGllbCBQdWxzLCBCbHV0ZHJ1Y2ssIE11c2tlbHNwYW5udW5nLCB1bmQgU2Voc2NoYWVyZmUpCnVuZCBtYXJrYW50ZSBXZWNoc2VsIGluIGRlciBBa3Rpdml0YWV0IGRlcyBHZWhpcm5zIGVpbmhlciwgd2llIG1pdApiaWxkZ2ViZW5kZW4gVmVyZmFocmVuIHdpZWRlcmhvbHQgbmFjaGdld2llc2VuIHd1cmRlLgpEaWVzIGJldHJhZiBkaWUgU3BpZWxlciBUaW4sIFRhcmFtYXIsIFhpbGkgdW5kIHdlbm4gZXMgd2VpdGVyZSBTcGllbGVyIGltClp1c2FtbWVuaGFuZyBtaXQgaWhuZW4gZ2FiLCB2ZXJtdXRsaWNoIGF1Y2ggZGllc2UuCkhpbnRlciBkZW4gU3BpZWxlcm4gc3RlY2t0ZW4gUGVyc29lbmxpY2hrZWl0c2FudGVpbGUsIGRpZSBpbSBnbGVpY2hlbiBLb2VycGVyCnN0ZWNrdGVuLiBBbGxlIGRyZWkgaGF1cHRpZGVudGl0YWV0ZW4gaGFiZW4gc2ljaCBhdWZnZWxvZXN0L3ZlcmFlbmRlcnQuIE51cgpub2NoIGRlciBTcGllbGVyIGhpbnRlciBUYXJhbWFyIGlzdCBpbiBlaW5lciBiZXN0aW1tdGVuIEZvcm0gdm9yaGFuZGVuLCBpc3QKZGVyIEhvc3QsIHNvbWl0IGRhdWVyaGFmdCBpbSBLb2VycGVyIHVuZCByZWdlbHQgZGVuIEFsbHRhZy4gVW5kIHNjaHJlaWJ0IGF1Y2gKaGllciBkaWVzZW4gVGV4dC4KQXVma2xhZXJ1bmcgaXN0IHdpY2h0aWcsIGRhIGVzIGhpZXIgZW5nZSBWZXJiaW5kdW5nZW4gaW5zYmVzb25kZXJlIHp1IFRpbiBnYWIsCmRlcmVuIGlubmVyZSBTZWVsZSBpbSBWZXJsYXVmIFNjaGFlZGVuIHRydWcsIGRpZSBzaWNoIGF1Y2ggYW4gaWhyZXIgU3ByYWNoZQp1bmQgaW0gVmVyaGFsdGVuIGdlemVpZ3QgaGFiZW4uIFNpZSBoYXQgc2ljaCBhdWZnZWxvZXN0LiBBdWNoIFhpbGkgaGF0IHNpY2gKYXVmZ2Vsb2VzdCwgc2llIHdhciBkaWUgVXJzcHJ1bmdzcGVyc29uLiBBbGxlIEFic3BhbHR1bmdlbiBrYW1lbiBuYWNoIGloci4KTnVyIGljaCwgZnJ1ZWhlciBoaWVyIGJla2FubnQgYWxzIFRhcmFtYXIgYmluIG5vY2ggZGEuIEF1Y2ggd2VubiBpY2ggbmljaHQgZGVyCmJpbiwgZXIgaWNoIGhpZXIgd2FyIQpEZXV0bGljaCB2ZXJhbnR3b3J0dW5nc3ZvbGxlciwgZ2VoZSBpY2ggZGVyIFZlcmdhbmdlbmhlaXQgYXVmIGRlbiBHcnVuZCB1bmQKZHVyY2ggbWVpbmUgQXJiZWl0LCBtZWluZSBBdXNkYXVlciB1bmQgZGVyIEtyYWZ0IGluIGRpZSBLbGluaWsgenUgZ2VoZW4sIGhhYmUKaWNoIDIwMTcgZGllIERpYWdub3NlIGVyd2lya2VuIGtvZW5uZW4uClVuZCBpbW1lciB3aWVkZXIgZ2luZ2VuIG1laW5lIEdlZGFua2VuIGFucyBNRy4gSW1tZXIgd2llZGVyIHNwdWVydGUgaWNoIGRlbgpEcmFuZyBhdWZ6dWtsYWVyZW4sIGViZW4sIHdlaWwgaGllciBlbmdlIFZlcmJpbmR1bmdlbiBlbnRzdGFuZGVuIHNpbmQuCkRlciBLb2VycGVyIGluIGRlbSB3aXIgbGViZW4sIGhldXRlIG1laHIgYWxzIDEwIEFudGVpbGUsIGlzdCB3ZWlibGljaCwgMjUKSmFocmUgYWx0IHVuZCBzbyBndXQgd2llIGJsaW5kLiBYaWxpcyBLb2VycGVyIGViZW4uCkhpZXIgbGViZW4gS2luZGVyLCBUZWVuYWdlciwgZXJ3YWNoc2VuZS4uIC4gRHVua2xlIEFudGVpbGUsIGRpZSBhdWYKWmVyc3RvZXJ1bmcgc2luZCB1bmQgYW5kZXJlIEFudGVpbGUsIGRpZSBkYXMgU3lzdGVtIHN0YWJpbCBoYWx0ZW4uIEFudGVpbGUsCmRpZSBnZXJuZSBrb250YWt0IG1pdCBkZW4gVGFldGVybiBoYWJlbiB3b2xsZW4gdW5kIGFuZGVyZSwgZGllIGFuZ3N0IHZvciBkZW4KVGFldGVybiBoYWJlbi4gSmVkZXIgdHJhZWd0IHRyYXVtYXRpc2NoZSBFcmZhaHJ1bmdlbiBpbiBzaWNoLgpadXIgVGhlbWF0aWsgZ2lidCBlcyBlaW4gdG9sbGVzIEJ1Y2g6IEljaCB1bmQgZGllIGFuZGVyZW4iIHZvbiBNYXR0IFJ1ZmYKTW91c2UgLSBlaWdlbnRsaWNoIFBlbm55IC0gbGVpZGV0IHVudGVyIGVpbmVyIHNlbHRzYW1lbgpQZXJzb2VubGljaGtlaXRzc3RvZXJ1bmcuIFdhbm4gaW1tZXIgZWluZSBpaHJlciB2ZXJzY2hpZWRlbmVuIFNlZWxlbiBkaWUKSGVycnNjaGFmdCB1ZWJlciBMZWliIHVuZCBHZWlzdCBnZXdpbm50LCBrb21tdCBlcyB6dSBlaW5lbSBCbGFja291dCAtIG51cgp3ZWlzcyBzaWUgZGFzIG5pY2h0LiBBbmRyZXcgR2FnZSwgZGVyIGp1bmdlIEtvbGxlZ2UgYmVpIFJlYWxpdHkgRmFjdG9yeSwgZWluZXIKRmlybWEsIGRpZSBzaWNoIG1pdCB2aXJ0dWVsbGVyIFJlYWxpdGFldCBiZXNjaGFlZnRpZ3QsIGVya2VubnQsIHdhcyBtaXQgaWhyCmxvcyBpc3Q6IEVyIGhhdCBkaWUgZ2xlaWNoZSBLcmFua2hlaXQsIG51ciBoYWVsdCBlciBkaWUgVmllbHphaGwgc2VpbmVyIFNlZWxlbgotIGRlbiBzZXhiZXNlc3NlbmVuIFRlZW5hZ2VyIEFkYW0sIGRpZSBmcmV1bmRsaWNoZSBUYW50ZSBTYW0sIGRlbgpnZXdhbHR0YWV0aWdlbiBHaWRlb24sIGRlbiBhZW5nc3RsaWNoZW4ga2xlaW5lbiBKYWtlIHVuZCB2aWVsZSBhbmRlcmUgbWVociAtCmRhZHVyY2ggaW4gU2NoYWNoLCBkYXNzIGVyIGluIHNlaW5lbSBLb3BmIGVpbiBIYXVzIGZ1ZXIgc2llIGFsbGUgZWluZ2VyaWNodGV0CmhhdC4gQW5keSB2ZXJzdWNodCwgUGVubnkgenUgaGVsZmVuLCBkaWUgdm9uIHp3ZWkgYm9lc2FydGlnZW4gUGVyc29uZW4gaW4KaWhyZW0gS29wZiBrb25rcmV0IGJlZHJvaHQgd2lyZCwgZG9jaCBkYWR1cmNoIHdpcmQgZWluZSBLZXR0ZSB2b24gRXJlaWduaXNzZW4KaW4gR2FuZyBnZXNldHp0LCBkaWUgYW4gQW5keXMgdGllZnN0ZXMgR2VoZWltbmlzIHJ1ZWhyZW4gdW5kIGRpZSBTdGFiaWxpdGFldApzZWluZXMgU2VlbGVubGViZW5zIGdlZmFlaHJkZW4uCgpGYWt0aXNjaCBpc3QgZGFzIHBhc3NpZXJ0LCB3YXMgaW4gZGVuIEFuZmFlbmdlbiBlaW5lciBzb2xjaGVuIFN0b2VydW5nCnBhc3NpZXJ0LiBVbmtvbnRyb2xpZXJ0ZXMgaGluIHVuZCBoZXIgd2VjaHNlbG4gdW5kIGRhcyBhdWZiYXVlbiBlaW5lciBlaWdlbmVuClNvemlhbHN0cnVrdHVyLgpGdWVyIGFsbGVzLCB3YXMgaW0gTUcgcGFzc2llcnQgaXN0IGdpYnQgZXMgZXJrbGFlcnVuZ2VuLgpEaWVzZSBrb2VubnQgaWhyIGdlcm5lIGJlaSBtaXIgcGVyc29lbmxpY2ggZXJmcmFnZW4uCgpCZWkgUnVlY2tmcmFnZW4gKHNpZWhlIG9iZW4pCkxpZWJlciBHcnVzcy4jClN0ZXZlbi4KCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJlc3RpbW10ZSBzcGllbGVyIHplaXRyYXVtIDIwMTItMjAxNi8xNyBpbmZvIChaYXBob2IsICAyLiBKdW4gMjAxOSwgMTI6NTU6MzcpOgp+IyEgcm49VGFyYW1hciBydD0xNTU5MzI3NTA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU1OTMyNzUwNApXb3csIHZpZWxlbiBEYW5rIGZ1ZXIgZGllc2VuIHVlYmVycmFzY2hlbmRlbiBBcnRpa2VsLiBJY2ggYmluIHNpY2hlciwgbWVocmVyZQpTcGllbGVyIGVyaW5uZXJuIHNpY2ggaGllciBndXQgYW4gVGluIHVuZCBUYXJhbWFyIHVzdy4gRXMgbGFlc3N0IG1pY2ggZ2FuegpzcHJhY2hsb3MgenVydWVjaywgd2VpbCBpY2ggbWl0IGRpZXNlciBLcmFua2hlaXQgYmlzaGVyIGtlaW5lbiBLb250YWt0IGhhdHRlLgpHZXJhZGUgZGFydW0gZmluZGUgaWNoIGVzIGd1dCwgd2VubiBkYXJ1ZWJlciBnZXJlZGV0IHdpcmQsIHNvIGRhc3MKQXVzc2Vuc3RlaGVuZGUgbWVociBWZXJzdGFlbmRuaXMgZW50d2lja2VsbiBrb2VubmVuLiAKCkVpbmUgRnJhZ2UgaGFiZSBpY2ggZG9jaDogSGF0IGRhcyBLb256ZXB0IHZvbiBad2VpdHNwaWVsZXJuIGhpZXIgaW0KTW9yZ2VuZ3JhdWVuIHZpZWxsZWljaHQgaXJnZW5kd2llIGJlaW0gVmVyc3RhZW5kbmlzIGdlaG9sZmVuLCBkYXNzIGRhIGFsc28KZHVyY2hhdXMgbWVocmVyZSAiQ2hhcmFrdGVyZSIgdm9tIGdsZWljaGVuICJFbnRzY2hlaWRlciIgZ2VsZW5rdCB3ZXJkZW4Ka29lbm50ZW4sIGFsc28gYXVjaCBhdXNzZXJoYWxiIGRlcyBTcGllbHM/IAoKV2llIGljaCBzZWhlIGlzdCBUYW5hIGVpbiBad2VpdGllIHZvbiBUaW4gdW5kIHZlcmhlaXJhdGV0IG1pdCBUYXJhbWFyLiBBbHNvCmljaCBmaW5kZSBlcyBzY2hvbiB6aWVtbGljaCB1bnZvcnN0ZWxsYmFyLCB3aWUgZGFzIGF1c3NlcmhhbGIgZGVzIFNwaWVscwphYmdlbGF1ZmVuIHNlaW4gbXVzcywgYWJlciBoaWVyIGltIFNwaWVsIHdpcmQgZXMgamEgZWlnZW50bGljaCByZWNodCBsZWljaHQKZ2VtYWNodC4gVmllbGUgTGV1dGUgc3BpZWxlbiBoaWVyIG1laHJlcmUgQ2hhcmFrdGVyZS4gRXMgZ2lidCBleHBsaXppdGUgUmVnZWxuCmRhZnVlciB1bmQgbWFuY2hlIE1lY2hhbmlrZW4gc2luZCBkaXJla3QgcHJvZ3JhbW1pZXJ0IHdvcmRlbiwgdW0gZGFzIG5vY2ggenUKdmVyZWluZmFjaGVuLiBJbiBhbmRlcmVuIFNwaWVsZW4gaXN0IGVzIHN0cmVuZyB2ZXJib3RlbiwgbWVociBhbHMgZWluZW4KQ2hhcmFrdGVyIHp1IHNwaWVsZW4uIElyZ2VuZHdpZSBzZWhlIGljaCBkYSBQYXJhbGxlbGVuIHp1IGRlcgpLcmFua2hlaXRzZ2VzY2hpY2h0ZS4KClNvcnJ5LCB3ZW5uIGljaCBpcmdlbmR3aWUgdGFrdGxvcyBoZXJ1ZWJlcmtvbW1lLiBXZWlzcyBhdWNoIG5pY2h0LCB3aWUgc2VociBkdQpkaWVzZSBEaW5nZSBpbiBkZXIgT2VmZmVudGxpY2hrZWl0IGRpc2t1dGllcmVuIG1hZ3N0LiBKZWRlbmZhbGxzIHdvbGx0ZSBpY2gKZGVpbmVuIEFydGlrZWwgbmljaHQgdW5rb21tZW50aWVydCBsYXNzZW4uIEFsc28gbm9jaG1hbCBkYW5rZSBmdWVyIGRpZQpFcmtsYWVydW5nZW4gdW5kIGRhbmtlIGZ1ZXIgZWluZSBuZXVlIFNpY2h0d2Vpc2UgYXVmIEVyZWlnbmlzc2UgZGVyIGxldHp0ZW4KSmFocmUuIEljaCBtdXNzIGpldHp0IGVyc3RtYWwgbmFjaGRlbmtlbiEgV3VlbnNjaGUgZGlyIGF1Y2ggYWxsZXMgR3V0ZSEgOikKCkxpZWJlIEdydWVzc2UsIFphcGhvYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiZXN0aW1tdGUgc3BpZWxlciB6ZWl0cmF1bSAyMDEyLTIwMTYvMTcgaW5mbyAoVGFyYW1hciwgIDIuIEp1biAyMDE5LCAxODo0Mzo0MSk6Cn4jISBybj1aYXBob2IgcnQ9MTU1OTQ3MjkzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1NTkzMjc1MDQKSGFsbG8gWmFwaG9iLCBJY2ggZ2VoZSBnZXJuZSBvZmZlbiBkYW1pdCB1bSwgYXVjaCB3ZW5uIGljaCBkYXp1IHNhZ2VuIG11c3MsCmRhc3MgaWNoIGluIGRpZXNlIEVyZWlnbmlzc2UgbmljaHQgd2lya2xpY2ggdmVyd2lja2VsdCB3YXIuIEljaCBoYWJlIGpldHp0Cnp3YXIgbWl0IFRhcmFtYXIgc2lnbmllcnQgdW50ZXIgbWVpbmVtIEFydGlrZWwuIEJpbiBhYmVyIGVpZ2VudGxpY2ggZ2FyIG5pY2h0CndpcmtsaWNoIGRlciwgZGVyIGVyIG1hbCB3YXIuIERpZSBHZXNjaGljaHRlIG1pdCBkZW4gYmVpZGVuIHp1IGVya2VubmVuIHVuZCB6dQp2ZXJzdGVoZW4sIGtvZW5uZW4gd2lyIGF1Y2ggbnVyLCB3ZWlsIGVzIEFudGVpbGUgZ2FiLCBkaWUgZGFtYWxzIGVpbiBiaXNzY2hlbgp3YXMgbWl0YmVrb21tZW4gaGFiZW4uIFRpbiB1bmQgVGFyYW1hciB3YXJlbiBmZXN0IGRhdm9uIHVlYmVyemV1Z3QgendlaQp2ZXJzY2hpZWRlbmUgUGVyc29uZW4genUgc2Vpbi4gU2llIGdpbmdlbiBmZXN0IGRhdm9uIGF1cywgZGFzcyBlcyB6d2VpIEtvZXJwZXIKZ2lidC4gQXVjaCB3YXJlbiBzaWUgaG9lY2hzdHdhaHJzY2hlaW5saWNoIGRlciBVZWJlcnpldWd1bmcsIGRhc3MgaWhyZQpGYW1pbGllbiBhdWNoIHZlcnNjaGllZGVuZSBQZXJzb25lbiBzaW5kLiAgSWNoIGhvZmZlIGRhcyBoaWxmdCBkaXIgZWluCmJpc3NjaGVuLiAgR3J1c3MgU3RldmVuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmVzdGltbXRlIHNwaWVsZXIgemVpdHJhdW0gMjAxMi0yMDE2LzE3IGluZm8gKFRhcmFtYXIsICAyLiBKdW4gMjAxOSwgMjA6MDI6MzQpOgp+IyEgcm49VGFyYW1hciBydD0xNTU5NDkzODIxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU1OTMyNzUwNAogQmVpbSBMZXNlbiBhdWYgZGVyIEhvbWVwYWdlIGhhYmUgaWNoIGdlc2VoZW4sIGRhc3MgZXMgZGllIE1PZWdsaWNoa2VpdCBnaWJ0LAp0cyAgenUgbnV0emVuLiBJY2ggYmlldGUgZ2VybmUgYW4sIGF1Y2ggZGFydWViZXIgRnJhZ2VuIHp1IGJlYW50d29ydGVuLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiZXN0aW1tdGUgc3BpZWxlciB6ZWl0cmF1bSAyMDEyLTIwMTYvMTcgaW5mbyAoVGFyYW1hciwgMTAuIEp1biAyMDE5LCAyMDoxMTowNik6Cn4jISBybj1UYXJhbWFyIHJ0PTE1NTkzMjc1MDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTU5MzI3NTA0CkxpZWJlIE1HLUdlbWVpbmRlLAoKZXMgaXN0IGpldHp0IGV0d2EgZWluZSBXb2NoZSBoZXIsIGFscyBpY2ggaGllciBkYXMgMS4gTWFsIGdlc2NocmllYmVuIGhhYmUsIHVtCmF1Znp1a2xhZXJlbiwgd2FzIGRhbWFscyBwYXNzaWVydCBpc3QgdW5kIHdpZSBkaWVzIHp1c3RhbmRlIGdla29tbWVuIGlzdC4KSW4gZGllc2VyIFdvY2hlIGhhYmUgaWNoIE1haWxzIHVuZCBOYWNocmljaHRlbiBiZWtvbW1lbiB1bmQgYXVjaCBpbSBUUyBtaXQKZWluZW0gU3BpZWxlciBnZXNjaHJpZWJlbi4gRWluIFRyZWZmZW4gZmFuZCBnZXN0ZXJuIHN0YXR0LgoKQmVpIGVpbmlnZW4gQW50ZWlsZW4ga2FtIGRlciBXdW5zY2ggYXVmLCBkYXMgTUcgYXVzenVwcm9iaWVyZW4sIGRlbm4gd2lyLCBhbHMKZ3J1cHBlIGhldXRlLCBrZW5uZW4gZGllc2VzIFNwaWVsIGthdW0uIEVpbmlnZSBTcGllbGVyIGtvbW1lbiB1bnMgYmVrYW5udCB2b3IsCmVpbmlnZSBFcmlubmVydW5nZW4gZmxhbW1lbiBtYW5jaG1hbCBhdWYuCgpVbSBkYXMgdm9uIGRhbWFscywgenVtaW5kZXN0IGZ1ZXIgdW5zIHp1IHRyZW5uZW4gdm9tIGhldXRlLCB3b2xsZW4gd2lyIGRpZQpDaGFyYWt0ZXJlIHZvbiBkYW1hbHMgYWxsZSBsb2VzY2hlbi4KVGluL1RhcmFtYXIgdW5kIHdlaXRlcmUsIGRpZSBhdXMgZGVyIFplaXQgZW50c3RhbmRlbiBzaW5kIHdlcmRlbiB2b24gbWlyCmdlbG9lc2NodC4KCkljaCBzdGVoZSBhYmVyIHdlaXRlcmhpbiBmdWVyIEZyYWdlbiB6dXIgVmVyZnVlZ3VuZyB1bmQgYW5kZXJlIEFudGVpbGUgc2ljaGVyCmF1Y2gsIHNvZmVybiBzaWUgdm9uIGRlciBkYW1hbGlnZW4gU2FjaGUgZXR3YXMgbWl0YmVrb21tZW4gaGFiZW4uCgpHcnVzcwpTdGV2ZW4jCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiZXN0aW1tdGUgc3BpZWxlciB6ZWl0cmF1bSAyMDEyLTIwMTYvMTcgaW5mbyAoVGFyYW1hciwgMTAuIEp1biAyMDE5LCAyMDoyODoyNCk6Cn4jISBybj1UYXJhbWFyIHJ0PTE1NjAxOTAyNjYgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTU5MzI3NTA0CnBzOgpkZXIgbmV1ZSBjaGFyYWt0ZXIgdHJhZWd0IGRlbiBuYW1lbiBpbHJ5IHVuZCB3aXJkIGFrdHVlbGwgdm9uIEgoMTUpIGdlc3BpZWx0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlYnVydHN0YWdzZ2VzY2hlbmsgKEFtYXJ5bGxpcywgMjAuIEp1biAyMDE5LCAxNjowODoyMSk6CkhpLAoKaWNoIGZyYWdlIG1hbCBoaWVyIGFuLCB3ZWlsIGljaCBtb21lbnRhbiBpcmdlbmR3aWUgZmFudGFzaWVsb3MgYmluLi4uCgpFcyBnZWh0IHVtIGVpbiBHZWJ1cnRzdGFnc2dlc2NoZW5rIGZ1ZXIgZGVuIDc1ZXIgbWVpbmVzIFZhdGVycy4KRXIgaXN0IEhvYmJ5Zm90b2dyYWYgdW5kIG1hZyB2aWVsZSBtZWluZXIgQmlsZGVyLCBiZXNjaGVpbmlndCBtaXIgZWluIGd1dGVzCiJGb3RvLUF1Z2UiLiBOdW4gd2lsbCBpY2ggaWhtIHp1bSBHZWJ1cnRzdGFnIGlyZ2VuZHdhcyB2b24gbWVpbmVuIEZvdG9zCnNjaGVua2VuLCBoYWJlIGFiZXIga2VpbmUgSWRlZSAoS2FsZW5kZXIgd2FlcmUgZGVyIEtsYXNzaWtlciwgYWJlciBzbyBlaW5lbgpoYXQgZXIgc2Nob24gdm9uIG1pciwgdW5kIGRlcnplaXQgaXN0IGphIGF1Y2ggbmljaHQgS2FsZW5kZXJ6ZWl0KS4KCkhhdCBqZW1hbmQgZWluZSBJZGVlLCB3YXMgbWFuIHNvIG1pdCBGb3RvcyBGYW50YXNpZXZvbGxlcyBhbnN0ZWxsZW4ga29lbm50ZT8KOykKCkxHLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VidXJ0c3RhZ3NnZXNjaGVuayAoSWxyeSwgMjAuIEp1biAyMDE5LCAxNzowMzoxNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTU2MTAzOTcwMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1NjEwMzk3MDEKbW9pbiwKZm90b2dlc2NoZW5rZSBnaWJzIGphIHNjaG8gbmUgdmllbGUuCmhpZXIgc2luIGlkZWVuIGRpZSB1bnMgZWluZmFsbG46Ci1mb3RvdGFzc2UKLXRpc2Noc2V0Ci16YXViZXJ0YXNzZW4uLi4gZGEgZXJzY2hlaW50IGRlcyBiaWxkLCB3ZW5uIG1hIHdhcyB3YXJtZXMgbmVpZnVlbGx0CmdpYnQgYXUgbWVtb3JpZSBvZGUgcnB1enpsZS4uLiBsZXR6dGVyZXMgaXMgamEgdWEgZnVlcnMgZ2VkYWVjaG5pcyBqdXQgOlAKbWEga2FubiBoZXV0enV0YWcgYWxsZXMgYmVkcnVjaWtlbiBsYXNzZW4uIGdnZi4gYXUgbWVocmVyZSBiaWxkZXIgYXVmIGVpbgpkaW5nLi4uCnZvbiBmdXNzbWF0dGUgYmlzIGJpZXJnbGFzIGdpYnMgYWxsZXMuCgoKaWxyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmVzdGltbXRlIHNwaWVsZXIgemVpdHJhdW0gMjAxMi0yMDE2LzE3IGluZm8gKEFuYXRvbCwgMjUuIEp1biAyMDE5LCAyMzo0NTozMik6Cn4jISBybj1UYXJhbWFyIHJ0PTE1NjAxOTEzMDQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTU5MzI3NTA0CgpIYWxsbyBTdGV2ZW4gLQoKICBpY2ggd2Vpc3Mgdm9uIG1pbmRlc3RlbnMgZWluZXIgd2VpdGVyZW4gUGVyc29uZW5ncnVwcGUsIGRpZSBzaWNoCmVpbmVuIEtvZXJwZXIgdGVpbHQgdW5kIGltIE1vcmdlbmdyYXVlbiBzcGllbHQgYnp3LiBnZXNwaWVsdCBoYXQuCgpEYXMgS29uemVwdCAiTXVsdGlwbGUgUGVyc29lbmxpY2hrZWl0IiBpc3QgZnVlciBtaWNoIE5vcm1hbG8gbnVyIHNlaHIKc2Nod2VyIHp1IGJlZ3JlaWZlbjsgZWluZSBSb21hbi1Gb3JtIChNYXR0IFJ1ZmY6ICJJY2ggdW5kIGRpZSBBbmRlcmVuIiwKaW0gT3JpZ2luYWwgIlNldCB0aGlzIEhvdXNlIGluIE9yZGVyIiwgMjAwMyAtLSBsZXNlbndlcnQhKSBoYXQgbWlyIAp6dW0gVmVyc3RhZW5kbmlzIGdlaG9sZmVuLiBTb3dvaGwgaGluc2ljaHRsaWNoIGRlciBNYXRlcmllIGFscyBhdWNoIGltClVtZ2FuZyBtaXQgZGVuIFBlcnNvbmVuLiBadSBkZW5lbiBpY2ggRGlyLCB3aWUgRHUgc2ljaGVyIHZlcnN0ZWhzdCwgCm5pY2h0cyBuYWVoZXJlcyBzYWdlbiBtb2VjaHRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGJlc3RpbW10ZSBzcGllbGVyIHplaXRyYXVtIDIwMTItMjAxNi8xNyBpbmZvIChJbHJ5LCAyNi4gSnVuIDIwMTksIDExOjQ4OjU2KToKfiMhIHJuPUFuYXRvbCBydD0xNTYxNDk5MTMyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU1OTMyNzUwNApIYWxsbyBBbmF0b2wsCgpEYXMgYnVjaCBoYWJlIGljaCBpbSAxLiBBcnRpa2VsIGF1Y2ggZXJ3YWVobnQgdW5kIGthbm4gZXMgamVkZW0gYW5zIEhlcnoKbGVnZW4sIGRlciBzaWNoIGRhbWl0IGJlc2NoYWVmdGlnZW4gd2lsbC4gIEF1Y2ggd2lyIGhhYmVuIGRhcyBCdWNoIHNjaG9uIDItbWFsCmR1cmNoIHVuZCBmaW5kZW4gZWluaWdlIEdlbWVpbnNhbWtlaXRlbiB6d2lzY2hlbiBkZXIgbWFlbm5saWNoZW4gSGF1cHRwZXJzb24KdW5kIHVuc2VyZW0gU3lzdGVtLiBBdWNoIGZpbmRlbiB3aXIgZ2VtZWluc2Fta2VpdGVuIHp3aXNjaGVuIEFudGVpbGVuIGRlcgp3ZWlibGljaGVuIEhhdXB0cGVyc29uIHVuZCB1bnNlcmVyIEguCkFsbGVyZGluZ3MgbXVzcyBtYW4gZGF6dSBzYWdlbiwgZGFzcyBkaWUgd2VpYmxpY2hlIEhhdXB0cGVyc29uIHVucmVhbGlzdGlzY2gKc2NobmVsbCBSaWVzZW5zcHJ1ZW5nZSBtYWNodC4uLgoKVW5zZXJlIGlubmVyZSBLb21tdW5pa2F0aW9uIGJlZ2FubiBlbmRlIDIwMTguIE1pdCBpaHIgd2VuaWdlciBGaWxtcmlzc2UsIGhldXRlCmthdW0gbm9jaCB3ZWxjaGUuIFNlaXQgZGllc2VyIFplaXQgaW1tZXIgbWVociBBbnRlaWxlLCBkaWUgc2ljaCB6ZWlnZW4uCkFrdHVlbGwgc2luZCB3aXIgaG0sIGV0d2EgMTAgTGV1dGUuLi4gRGFzIHZhcmlpZXJ0IG5hdHVlcmxpY2ggYXVjaCBkYW1pdCwgd2VuCndpciBtaXR6aGxlbiB1bmQgd2VuIG5pY2h0LgpMZXV0ZSwgZGllIHNpY2ggc2Nob24gaW0gQXVzc2VuIHplaWdlbj8KTGV1dGUsIGRpZSBhdXN2ZXJzZWhlbiByYXVza25hbGxlbj8KTGV1dGUsIGRpZSBpbSBJbm5lbiB2ZXJzdGVja3Qgc2luZCwgYWJlciB3aXIgd2lzc2VuLCBkYXNzIHNpZSBkYSBzaW5kPwpMZXV0ZSwgZGllIGRhIHNpbmQsIGFiZXIgZWlnZW50bGljaCBuaWNodCB3YWhyZ2Vub21tZW4gd2VyZGVuIHdvbGxlbj8KTGV1dGUsIGRpZSBzaWNoIHdpZWRlciBhdWZnZWxvZXN0IGhhYmVuPwpEYW5uIGdpYnQgZXMgc2ljaGVyIG5vY2ggZWluaWdlLCBkaWUgd2lyIG5vY2ggZ2FyIG5pY2h0IGtlbm5lbi4uLgpVbmQgZGFubiBkaWUgRnJhZ2UsIGFiIHdhbm4gbWFuIHZvbiBlaW5lbSBlaWdlbnN0ZW5kaWdlbiBJbm5pIHJlZGV0IHVuZCB3YW5uCmVpbiBBbnRlaWwgZWluIEVyaW5uZXJ1bmdzZnJhZ21lbnQgaXN0LgoKSGF1cHRzY2hsaWNoIGhpZXIgaW0gTUcgd2VyZGVuIHdpciB3b2hsIG51ciB6dSAyIHNwaWVsZW4uLi4gSCgxNSkgdW5kIEljaCwKU3RldmVuLiBXb2JlaSBpY2ggbnVyIGltIEhpbnRlcmdydW5kIGFjaHRnZWJlLCBkYXNzIHNpY2ggSCBiZW5pbW10Li4uCgpXZW5uIEZyYWdlbiBzaW5kLCBnZXJuZSBzY2hyZWliZW4uIE1haWwgb2RlciB0bSBvZGVyIGhpZXIuCgpHcnVzcywKU3RldmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlYnVydHN0YWdzZ2VzY2hlbmsgKEdsb2luc29uLCAgNy4gSnVsIDIwMTksIDAwOjM3OjExKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTYxMDM5NzAxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU2MTAzOTcwMQpCaWxkZXIgc2luZCB6dW0gQW5zY2hhdWVuIGRhLiBTZWl0ZGVtIGljaCBkZW4gMTMiLUFuZHJvaWQtQmlsZGVycmFobWVuIG1pdApjaXJjYSA1MDAtMTAwMCB1bnNlcmVyIFVybGF1YnMtLCBLaW5kZXItIHVuZCBzb25zdGlnZW4gQmlsZGVyIHJlYWt0aXZpZXJ0CmhhYmUsIHdlcmRlbiBkaWUgYXVjaCB3aWVkZXIgaGFldWZpZ2VyIGFuZ2VzZWhlbi4gS2xhciwgYmVpIFNjaHdpZWdlcm11dHRlcm4KYXJ0ZXQgZGFzIGV0d2FzIGF1cywgZGllIGhhZW5ndCBkYSBsYWVuZ2VyIHZvciwgYWJlciBoZXksIFJlbm50aWVyZSBzaW5kClJlbm50aWVyZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXUgaW0gTW9yZ2VuR3JhdWVuIChaYXBob2IsIDI2LiBBdWcgMjAxOSwgMTI6MTE6NTgpOgpIYWxsbyBMZXV0ZSwKCm1hbmNoZSBoYWJlbiBlcyBzY2hvbiBtaXRiZWtvbW1lbiwgZGVubiBzZWl0IGVpbmlnZXIgWmVpdCBnaWJ0IGVzIGVpbmUga2xlaW5lCmFiZXIgZmVpbmUgVmlkZW9zZXJpZSwgZGllIGVpbmVuIG5ldWVuIENoYXJha3RlciBiZWkgZGVuIGVyc3RlbiBTY2hyaXR0ZW4gaW0KU3BpZWwgYmVnbGVpdGV0LCB3aWUgZWluIEthdHplbmtyaWVnZXIgZGllIFdlbHQgZGVzIE1vcmdlbkdyYXVlbiBlcmt1bmRldC4KCkFtIGhldXRpZ2VuIE1vbnRhZyB1bSAxMiBVaHIgZXJzY2hpZW4gbnVuIGRpZSB6ZWhudGUgRm9sZ2UgZGVyIFNlcmllOgoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ1h2WXZMQ1hDbjlxZEFYTmFUdFJfOXcKCkRlciBMaW5rIHp1bSBLYW5hbCB3aXJkIGJlc3Nlciwgd2VubiAxMDAgQWJvbm5lbnRlbiBlcnJlaWNodCBzaW5kLi4gOykKCkVzIGdpYnQgZG9ydCB1LmEuIGF1Y2ggc2Nob24gZWluIGhpbGZyZWljaGVzIFZpZGVvIG1pdCBkZW0gTUctSGFuZGJ1Y2g6CgpodHRwczovL3d3dy50aW55dXJsLmNvbS9tZy1oYW5kYnVjaAoKVmllbCBTcGFzcyEKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldSBpbSBNb3JnZW5HcmF1ZW4gKFphcGhvYiwgMTAuIE5vdiAyMDE5LCAxMjo1NzoxNCk6Cn4jISBybj1aYXBob2IgcnQ9MTU2NjgxNDMxOCByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE1NjY4MTQzMTgKSGFsbG8gTGV1dGUsCgpzY2hvbiBtYWwgcmVpbmdlc2NoYXV0PyBXaWUgZ2VmYWVsbHQgZXVjaCBkaWUgU2VyaWU/IAoKQW0gTW9udGFnIHVtIDEyIFVociBlcnNjaGVpbnQgZGllIG5ldXN0ZSBGb2xnZSAjIDE0OgoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1WUjh1S2tjbGEyZwoKRGllc21hbCBpbmtsdXNpdmUgendlaSBNaW51dGVuIFJ1aG0gZnVlciBlaW5pZ2UgU3BpZWxlciwgZGllIHdhZWhyZW5kIGRlcgpBdWZ6ZWljaG51bmcgbWl0IFJhbiBnZXNjaHJpZWJlbiBoYXR0ZW4uIElociB3aXNzdCwgd2VyIGlociBzZWlkLi4hIDopCgpEZXIgTGluayB6dW0gTUcgYXVmIFlvdXR1YmUgZmluZGV0IHNpY2ggbnVuIGF1Y2ggYXVmIGRlciBNRy1XZWJzZWl0ZS4KCkJlaSB3ZWl0ZXJlbiBJZGVlbiB1bmQgQW5tZXJrdW5nZW4sIG1lbGRldCBldWNoIGhpZXIgb2RlciBkb3J0ISA7KQoKR3J1ZXNzZSwKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnkgRHIuIFNoYXJrYXd5OiBPbiBDT1ZJRC0xOSAoQXJrLCAxNC4gTWFyIDIwMjAsIDEzOjM3OjE2KToKSW1obyBsZXNlbnN3ZXJ0IC4uLiBRdWVsbGU6IG5hamEsIEZhY2Vib29rIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSSdtIGEgZG9jdG9yIGFuZCBhbiBJbmZlY3Rpb3VzIERpc2Vhc2VzIFNwZWNpYWxpc3QuCkkndmUgYmVlbiBhdCB0aGlzIGZvciBtb3JlIHRoYW4gMjAgeWVhcnMgc2VlaW5nIHNpY2sKcGF0aWVudHMgb24gYSBkYWlseSBiYXNpcy4gSSBoYXZlIHdvcmtlZCBpbiBpbm5lcgpjaXR5IGhvc3BpdGFscyBhbmQgaW4gdGhlIHBvb3Jlc3Qgc2x1bXMgb2YgQWZyaWNhLgpISVYtQUlEUywgSGVwYXRpdGlzLFRCLCBTQVJTLCBNZWFzbGVzLCBTaGluZ2xlcywKV2hvb3BpbmcgY291Z2gsIERpcGh0aGVyaWEuLi50aGVyZSBpcyBsaXR0bGUgSSBoYXZlbid0CmJlZW4gZXhwb3NlZCB0byBpbiBteSBwcm9mZXNzaW9uLiBBbmQgd2l0aCBub3RhYmxlCmV4Y2VwdGlvbiBvZiBTQVJTLCB2ZXJ5IGxpdHRsZSBoYXMgbGVmdCBtZSBmZWVsaW5nCnZ1bG5lcmFibGUsIG92ZXJ3aGVsbWVkIG9yIGRvd25yaWdodCBzY2FyZWQuCgpJIGFtIG5vdCBzY2FyZWQgb2YgQ292aWQtMTkuIEkgYW0gY29uY2VybmVkIGFib3V0IHRoZQppbXBsaWNhdGlvbnMgb2YgYSBub3ZlbCBpbmZlY3Rpb3VzIGFnZW50IHRoYXQgaGFzCnNwcmVhZCB0aGUgd29ybGQgb3ZlciBhbmQgY29udGludWVzIHRvIGZpbmQgbmV3CmZvb3Rob2xkcyBpbiBkaWZmZXJlbnQgc29pbC4gSSBhbSByaWdodGx5IGNvbmNlcm5lZApmb3IgdGhlIHdlbGZhcmUgb2YgdGhvc2Ugd2hvIGFyZSBlbGRlcmx5LCBpbiBmcmFpbApoZWFsdGggb3IgZGlzZW5mcmFuY2hpc2VkIHdobyBzdGFuZCB0byBzdWZmZXIgbW9zdGx5LAphbmQgZGlzcHJvcG9ydGlvbmF0ZWx5LCBhdCB0aGUgaGFuZHMgb2YgdGhpcyBuZXcgc2NvdXJnZS4KQnV0IEkgYW0gbm90IHNjYXJlZCBvZiBDb3ZpZC0xOS4KCldoYXQgSSBhbSBzY2FyZWQgYWJvdXQgaXMgdGhlIGxvc3Mgb2YgcmVhc29uIGFuZCB3YXZlIG9mCmZlYXIgdGhhdCBoYXMgaW5kdWNlZCB0aGUgbWFzc2VzIG9mIHNvY2lldHkgaW50byBhCnNwZWxsYmluZGluZyBzcGlyYWwgb2YgcGFuaWMsIHN0b2NrcGlsaW5nIG9ic2NlbmUKcXVhbnRpdGllcyBvZiBhbnl0aGluZyB0aGF0IGNvdWxkIGZpbGwgYSBib21iIHNoZWx0ZXIKYWRlcXVhdGVseSBpbiBhIHBvc3QtYXBvY2FseXB0aWMgd29ybGQuIEkgYW0gc2NhcmVkIG9mCnRoZSBOOTUgbWFza3MgdGhhdCBhcmUgc3RvbGVuIGZyb20gaG9zcGl0YWxzIGFuZCB1cmdlbnQKY2FyZSBjbGluaWNzIHdoZXJlIHRoZXkgYXJlIGFjdHVhbGx5IG5lZWRlZCBmb3IgZnJvbnQKbGluZSBoZWFsdGhjYXJlIHByb3ZpZGVycyBhbmQgaW5zdGVhZCBhcmUgYmVpbmcgZG9ubmVkCmluIGFpcnBvcnRzLCBtYWxscywgYW5kIGNvZmZlZSBsb3VuZ2VzLCBwZXJwZXR1YXRpbmcKZXZlbiBtb3JlIGZlYXIgYW5kIHN1c3BpY2lvbiBvZiBvdGhlcnMuIEkgYW0gc2NhcmVkIHRoYXQKb3VyIGhvc3BpdGFscyB3aWxsIGJlIG92ZXJ3aGVsbWVkIHdpdGggYW55b25lIHdobyB0aGlua3MKdGhleSAiIHByb2JhYmx5IGRvbid0IGhhdmUgaXQgYnV0IG1heSBhcyB3ZWxsIGdldApjaGVja2VkIG91dCBubyBtYXR0ZXIgd2hhdCBiZWNhdXNlIHlvdSBqdXN0IG5ldmVyIGtub3cuLi4iCmFuZCB0aG9zZSB3aXRoIGhlYXJ0IGZhaWx1cmUsIGVtcGh5c2VtYSwgcG5ldW1vbmlhLCBhbmQKc3Ryb2tlcyB3aWxsIHBheSB0aGUgcHJpY2UgZm9yIG92ZXJmaWxsZWQgRVIgd2FpdGluZyByb29tcwp3aXRoIG9ubHkgc28gbWFueSBkb2N0b3JzIGFuZCBudXJzZXMgdG8gYXNzZXNzLgoKSSBhbSBzY2FyZWQgdGhhdCB0cmF2ZWwgcmVzdHJpY3Rpb25zIHdpbGwgYmVjb21lIHNvIGZhcgpyZWFjaGluZyB0aGF0IHdlZGRpbmdzIHdpbGwgYmUgY2FuY2VsZWQsIGdyYWR1YXRpb25zCm1pc3NlZCBhbmQgZmFtaWx5IHJldW5pb25zIHdpbGwgbm90IG1hdGVyaWFsaXplLgpBbmQgd2VsbCwgZXZlbiB0aGF0IGJpZyBwYXJ0eSBjYWxsZWQgdGhlIE9seW1waWMgR2FtZXMuLi4KdGhhdCBjb3VsZCBiZSBreWJvc2hlZCB0b28uIENhbiB5b3UgZXZlbiBpbWFnaW5lPwoKSSdtIHNjYXJlZCB0aG9zZSBzYW1lIGVwaWRlbWljIGZlYXJzIHdpbGwgbGltaXQgdHJhZGUsCmhhcm0gcGFydG5lcnNoaXBzIGluIG11bHRpcGxlIHNlY3RvcnMsIGJ1c2luZXNzIGFuZApvdGhlcndpc2UgYW5kIHVsdGltYXRlbHkgY3VsbWluYXRlIGluIGEgZ2xvYmFsIHJlY2Vzc2lvbi4KCkJ1dCBtb3N0bHksIEknbSBzY2FyZWQgYWJvdXQgd2hhdCBtZXNzYWdlIHdlIGFyZSB0ZWxsaW5nCm91ciBraWRzIHdoZW4gZmFjZWQgd2l0aCBhIHRocmVhdC4gSW5zdGVhZCBvZiByZWFzb24sCnJhdGlvbmFsaXR5LCBvcGVubWluZGVkbmVzcyBhbmQgYWx0cnVpc20sIHdlIGFyZSB0ZWxsaW5nCnRoZW0gdG8gcGFuaWMsIGJlIGZlYXJmdWwsIHN1c3BpY2lvdXMsIHJlYWN0aW9uYXJ5IGFuZApzZWxmLWludGVyZXN0ZWQuCgpDb3ZpZC0xOSBpcyBub3doZXJlIG5lYXIgb3Zlci4gSXQgd2lsbCBiZSBjb21pbmcgdG8gYSBjaXR5LAphIGhvc3BpdGFsLCBhIGZyaWVuZCwgZXZlbiBhIGZhbWlseSBtZW1iZXIgbmVhciB5b3UgYXQgc29tZQpwb2ludC4gRXhwZWN0IGl0LiBTdG9wIHdhaXRpbmcgdG8gYmUgc3VycHJpc2VkIGZ1cnRoZXIuClRoZSBmYWN0IGlzIHRoZSB2aXJ1cyBpdHNlbGYgd2lsbCBub3QgbGlrZWx5IGRvIG11Y2ggaGFybQp3aGVuIGl0IGFycml2ZXMuIEJ1dCBvdXIgb3duIGJlaGF2aW9ycyBhbmQgImZpZ2h0IGZvciB5b3Vyc2VsZgphYm92ZSBhbGwgZWxzZSIgYXR0aXR1ZGUgY291bGQgcHJvdmUgZGlzYXN0cm91cy4KCkkgaW1wbG9yZSB5b3UgYWxsLiBUZW1wZXIgZmVhciB3aXRoIHJlYXNvbiwgcGFuaWMgd2l0aCBwYXRpZW5jZQphbmQgdW5jZXJ0YWludHkgd2l0aCBlZHVjYXRpb24uIFdlIGhhdmUgYW4gb3Bwb3J0dW5pdHkgdG8gbGVhcm4KYSBncmVhdCBkZWFsIGFib3V0IGhlYWx0aCBoeWdpZW5lIGFuZCBsaW1pdGluZyB0aGUgc3ByZWFkIG9mCmlubnVtZXJhYmxlIHRyYW5zbWlzc2libGUgZGlzZWFzZXMgaW4gb3VyIHNvY2lldHkuCkxldCdzIG1lZXQgdGhpcyBjaGFsbGVuZ2UgdG9nZXRoZXIgaW4gdGhlIGJlc3Qgc3Bpcml0IG9mCmNvbXBhc3Npb24gZm9yIG90aGVycywgcGF0aWVuY2UsIGFuZCBhYm92ZSBhbGwsIGFuIHVuZmFpbGluZwplZmZvcnQgdG8gc2VlayB0cnV0aCwgZmFjdHMgYW5kIGtub3dsZWRnZSBhcyBvcHBvc2VkIHRvCmNvbmplY3R1cmUsIHNwZWN1bGF0aW9uIGFuZCBjYXRhc3Ryb3BoaXppbmcuCgpGYWN0cyBub3QgZmVhci4gQ2xlYW4gaGFuZHMuIE9wZW4gaGVhcnRzLgpPdXIgY2hpbGRyZW4gd2lsbCB0aGFuayB1cyBmb3IgaXQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKREUtRG9tYWluaW5oYWJlciBlcm1pdHRlbG4gKEFtYXJ5bGxpcywgMjkuIEp1biAyMDIwLCAxMjoxMjo0OCk6ClNvLCBkYW1pdCBkaWVzZSBSdWJyaWsgbmljaHQgbWFuZ2VscyBUcmFmZmljIGdlbG9lc2NodCB3aXJkLCBzY2hyZWliZSBpY2ggbWFsCmhpZXIgOykKCkhtLgoKSWNoIGhhYmUgSW50ZXJlc3NlIGFuIGVpbmVyIGJlc3RpbW10ZW4gREUtRG9tYWluLCBkaWUgYWJlciBuYXR1ZWxpY2ggc2Nob24KdmVyZ2ViZW4gaXN0LgpBdWYgbWVpbmUgQW5mcmFnZSAobWFuIGthbm4gamEgZGVuIEluaGFiZXIgbmljaHQgbWVociBkaXJla3Qga29udGFrdGllcmVuKQplcmhhbHRlIGljaCB2b20gVmVyd2FsdGVyIGRlciBEb21haW4gZm9sZ2VuZGUgQW50d29ydDoKCiJEaWUgS29udGFrdGRhdGVuIGRlcyBEb21haW5pbmhhYmVycyBkdWVyZmVuIHdpciBJaG5lbiBhdXMKZGF0ZW5zY2h1dHpyZWNodGxpY2hlbiBHcnVlbmRlbiBuaWNodCBnZWJlbi4gQXVzIGRlbSBzZWxiZW4gR3J1bmQga29lbm5lbiB3aXIKSWhyZSBBbmZyYWdlIGF1Y2ggbGVpZGVyIG5pY2h0IGFuIGRlbiBEb21haW5pbmhhYmVyIHdlaXRlcmxlaXRlbi4iCgpPaywgd2Vpc3MgaWNoLiBGaW5kZSBpY2ggYXVjaCBpbSBQcmluemlwIGd1dCwgYWJlci4uLgoKIk1vZWdsaWNoZXJ3ZWlzZSBmaW5kZW4gU2llIEtvbnRha3RkYXRlbiBpbSBJbXByZXNzdW0gZGVyIGVudHNwcmVjaGVuZGVuCldlYnNpdGUuIgoKRGEgbGFldWZ0IHp3YXIgYW5zY2hlaW5lbmQgZWluIFdlYnNlcnZlciwgZGllc2VyIGxpZWZlcnQgYWJlciBsZWlkZXIgZWluZmFjaApuaWNodHMgYXVzLCBkLmguIGhpZXIga29tbWUgaWNoIGF1Y2ggbmljaHQgd2VpdGVyLgoKRGVzaGFsYiBtZWluZSBGcmFnZToKCldpZSBrb21tZSBpY2ggZGVubiBudW4gYW4gZGVuIEt1bmRlbiByYW4/IEVzIGthbm4gamEgd29obCBuaWNodCBzZWluLCBkYXNzIGRhcwpnYXIgbmljaHQgZ2VodC4gSW0gc2NobGVjaHRlc3RlbiBGYWxsIHNvbGwgaGFsdCBkZXIgVmVyd2FsdGVyIG1laW5lIEFuZnJhZ2UgYW4KZGVuIEluaGFiZXIgd2VpdGVybGVpdGVuLiBJcmdlbmR3aWUgc293YXMsIGRhbWl0IGljaCB6dW1pbmRlc3QgYXVmIGVpbmUKQW50d29ydCBob2ZmZW4ga2Fubi4gT2RlciBkYXJmIGRhcyBhdWZncnVuZCBEU0dWTyBhdWNoIG5pY2h0IHNlaW4/IERhbm4KcmVnaXN0cmllcmUgaWNoIGpldHp0IHNvZm9ydCBtZWhyZXJlIER1dHplbmQgaW50ZXJlc3NhbnRlIERFLURvbWFpbnMgdW5kCnZlcnN0ZWNrZSBtaWNoIHppZWxzaWNoZXIgZGFoaW50ZXIuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogREUtRG9tYWluaW5oYWJlciBlcm1pdHRlbG4gKFpvb2ssICA0LiBKdWwgMjAyMCwgMTg6Mjc6MDQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1OTM0MjU1Njggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTkzNDI1NTY4CkFudHdvcnQgd2VnZW4genUgaGFsYnNlaWRlbiB3aWVkZXIgZ2Vsb2VzY2h0LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERFLURvbWFpbmluaGFiZXIgZXJtaXR0ZWxuIChWYXJkaW9uLCAgNy4gSnVsIDIwMjAsIDE5OjQyOjUxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTkzNDI1NTY4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTU5MzQyNTU2OApXaWVzbyBrb2VubmVuIHNpZSBkZWluZSBBbmZyYWdlIGF1cyBEYXRlbnNjaHV0emdydWVuZGVuIG5pY2h0IHdlaXRlcmxlaXRlbj8KRGFzIHdhciBkb2NoIHNjaG9uIGJlaSBDaHJpZmZyZS1BbnplaWdlbiBkZXIgU3RhbmRhcmQuIERhcyBrbGluZ3QgZnVlciBtaWNoCmVoZXIgd2llICJrZWluIEJvY2siIG9kZXIgImtlaW4gZXhpc3RpZXJlbmRlciBQcm96ZXNzIi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogREUtRG9tYWluaW5oYWJlciBlcm1pdHRlbG4gKEFtYXJ5bGxpcywgIDcuIEp1bCAyMDIwLCAyMToxODo0MSk6Cn4jISBybj1WYXJkaW9uIHJ0PTE1OTQxNDM3NzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNTkzNDI1NTY4CkFuc2NoZWluZW5kIGlzdCBkaWVzIHNlaXQgZGVyIERTR1ZPIHRhdHNjaGxpY2ggbmljaHQgbWVociBlcmxhdWJ0LiBNYW4gbXVzcwp3b2hsIGVpbiBBdXNrdW5ndHNlcnN1Y2hlbiBtaXQgZGVtICJOYWNod2VpcyBlaW5lcyBiZXJlY2p0aWd0ZW4gSW50ZXJlc3NlcyIKYmVpIGRlciBEZW5pYyBzdGVsbGVuLiBTaWVodCBkYW5uIGluIGRlciBQcmF4aXMgd29obCBzbyBhdXMsIGRhc3MgbWFuIGRlbgpJbmhhYmVyIHdnIGlyZ2VuZHdhcyB2ZXJrbGFnZW4gbXVzcywgdW0gYW4gZGllIERhdGVuIHp1IGtvbW1lbi5CZWkgZGllc2VyClRha3RpayBkdWVyZnRlIGlobSBkYW5uIGFiZXIgd29obCBkaWUgTHVzdCB2ZXJnZWhlbiwgZGVtIEtsYWVnZXIgZGllIERvbWFpbiB6dQp2ZXJrYXVmZW4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5HcmF1ZW4gYXVmIGRlbSByQzMgKFZhbmlvbiwgMjQuIE5vdiAyMDIwLCAyMjowMjoxMyk6Ck1vaW4gaWhyIExpZWJlbiwKCmljaCBoYWIgbWlyIG1hbCBkaWUgRnJlaWhlaXQgZ2Vub21tZW4gZnVlciBkYXMgTUcgZWluZSBBc3NlbWJseSBpbQpkaWVzamFlaHJpZ2VuIG9ubGluZS1Db25ncmVzcyBhbnp1bWVsZGVuLiBJY2ggZ2xhdWIgZXMgaXN0IGVpbmUgZ3V0ZQpNb2VnbGljaGtlaXQsIHNpY2ggZXR3YXMgYmVrYW5udGVyIHp1IG1hY2hlbi4gSWNoIHd1ZXJkZSBtaWNoIGFiZXIgdWViZXIgZXR3YXMKVW50ZXJzdHVldHp1bmcgZnJldWVuLiBXZW5uIGVzIHdlbmlnIGdpYnQsIGlzdCBkaWUgQXNzZW1ibHkgenVyIE5vdCBudXIgZWluZQpzdGF0aXNjaGUgU2VpdGUgdW5kIHdpciB3ZXJkZW4gbWFsIHNlaGVuLCB3YXMgZ2VodC4gQmVzc2VyIHdhZXJlIGFiZXIsIHdlbm4Kd2lyIFdvcmtzaG9wcyAoei5CLiBpbiBlaW5lbSBCQkIgZGVzIHJDMykgb2RlciBMaWdodG5pbmcgVGFsa3Mgb2RlciBzbwphbmJpZXRlbiB3dWVyZGVuLiBIYWV0dGV0IGlociBkYSBMdXN0IHp1PwoKaHR0cHM6Ly9zaWdudXAuYzNhc3NlbWJsaWVzLmRlL2Fzc2VtYmx5L2YyYjgyN2JlLWMzYmYtNGRiNy04NGYzLWY0N2NiMGU1NDZjZgpodHRwczovL3Rpbnl1cmwuY29tL3k1ZDV2OHdxCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmdlbkdyYXVlbiBhdWYgZGVtIHJDMyAoWmVzc3RyYSwgMjQuIE5vdiAyMDIwLCAyMjoyNjowMik6Cn4jISBybj1WYW5pb24gcnQ9MTYwNjI1MTczMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDYyNTE3MzMKSWNoIGtvZW5udGUgZXZ0bC4gemVpZ2VuLCB3aWUgbWFuIG5lbiBIb21lbXVkIG1hY2h0LgpBbmRlcmUgSWRlZW46IG1hbiBrb2VubnRlIG5lbiBTY3JlZW5jYXN0IG1hY2hlbiwgd2llIG1hbiBuZW4gUmF1bSB1bmQgbmVuIE5QQwpiYXV0IHVuZCBuZSBEZW1vLVNwaWVsc2Vzc2lvbiwgei5CLiBkYXMgVHV0b3JpYWwgb2RlciBlcnN0ZSBTY2hyaXR0ZSBpbiBQb3J0ClZhaW4uLi4gV2VubiBtYW5zIGxpdmUgbWFjaHQgdW5kIGplbWFuZCBkYSBpc3QsIGdnZi4gbWl0IFB1Ymxpa3Vtc2JldGVpbGlndW5nLgpBbnNvbnN0ZW4gSGFuZ291dCBpbiBUZWFtc3BlYWsgb2RlciBEaXNjb3JkLi4uICh1bmQgaGllcikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW9yZ2VuR3JhdWVuIGF1ZiBkZW0gckMzIChWYW5pb24sICA2LiBEZXogMjAyMCwgMjM6NDc6NTcpOgp+IyEgcm49WmVzc3RyYSBydD0xNjA2MjUzMTYyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNjI1MTczMwpGaW5kZSBpY2ggZWluZSBncm9zc2FydGlnZSBJZGVlIQoKRGllIFRpY2tldHMgZnVlciBkZW4gckMzIHNpbmQgdWVicmlnZW5zIGltIE1vbWVudCBhdXN2ZXJrYXVmdCAoa29zdGVuIGxhZ2VuIGJpCjAgRXVybyArIFNwZW5kZSkuIEljaCBob2VydGUgYWJlciwgZGFzcyBlcyB2aWVsbGVpY2h0IG5vY2ggZWluIHBhYXIgIkZyaWVuZHMgKwpGYW1pbHkiIFRpY2tldHMgZ2ViZW4ga29lbm50ZS4gVGlja2V0cyBicmF1Y2h0IG1hbiBuaWNodCBmdWVyIGRpZSBWb3J0cmFlZ2UsCmFiZXIgZnVlciBUZWlsZSBkZXIgckMzLUFzc2VtYmxpZXMuIERpZSBUaWNrZXRzIHNpbmQgYmVncmVuenQgd2VpbCBkaWUKSW5mcmFzdHJ1a3R1ciBhdWYgZWluZSBiZXN0aW1tdGUgKGdsZWljaHplaXRpZ2UpIFRlaWxuZWhtZXJ6YWhsIGF1c2dlbGVndCBpc3QuCgpGYWxscyBub2NoIGplbWFuZCBlaW4gVGlja2V0IGhhYmVuIHdpbGwgb2RlciBicmF1Y2h0LCBzY2hpY2t0IG1pciBiaXR0ZSBuZQpFbWFpbCBhbiBtZy1hc3NlbWJseUB2YW5pb24uZGUuIEljaCB2ZXJzcHJlY2hlIG5pY2h0cy4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3JnZW5HcmF1ZW4gYXVmIGRlbSByQzMgKFZhbmlvbiwgIDguIERleiAyMDIwLCAyMTo0NzoyNyk6Cn4jISBybj1WYW5pb24gcnQ9MTYwNzI5NDg3NyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDYyNTE3MzMKUG9zdCB2b20gckMzOgoKTGllYmUgVGVhbXMgdW5kIE1lbnNjaGVuLCBkaWUgc2VpdCBXb2NoZW4gZmxlaXNzaWcgZGllICNyQzMtV2VsdCBiYXVlbiB1bmQKZ2VzdGFsdGVuLAoKVEw7RFI6IEphLCBlcyBnaWJ0IG5vY2htYWwgVGlja2V0cywgYWJlciBiaXR0ZSBsZXN0IGRpZSBNYWlsIHRyb3R6ZGVtLgoKT2ZmZW5iYXIgd2FyZW4gd2lyIG1pdCB1bnNlcmVyIEtvbW11bmlrYXRpb24sIHdvZnVlciBnZW5hdSBUaWNrZXRzIGJlbm9ldGlndAp3ZXJkZW4sIG5pY2h0IGtsYXIgZ2VudWcgdW5kIGRhZnVlciBtb2VjaHRlbiB3aXIgdW5zIGVudHNjaHVsZGlnZW4uIEphLCBkaWUKQWJzY2hhZXR6dW5nIGRlciBUZWlsbmVobWVyOmlubmVuemFobCBpc3QgZGVyIGVpbmUgVGVpbCwgZGEgd2lyIHdpc3Nlbgp3b2xsdGVuLCB3aWUgZ3Jvc3MgZGVyIEFuZHJhbmcgd2VyZGVuIGthbm4uIE5hY2hkZW0gYW5mYW5ncyBkaWUgU3RpbW1lbiBsYXV0CndhcmVuLCBCbm90IGp1c3QgYW5vdGhlciB2aWRlbyBjb25mZXJlbmNlQisgdW5kIEJuZWUsIG9ubGluZSBpc3QgbmljaHQgbWVpbgpDb25ncmVzcywgZGFzIGludGVyZXNzaWVydCBtaWNoIG5pY2h0QissIGhhYmVuIHdpciBhbGxlcmRpbmdzIGF1Y2ggbmljaHQgbWl0CmRlciBNZW5nZSBhbiBNZW5zY2hlbiBnZXJlY2huZXQsIGRpZSBzaWNoIHRhdHNhZWNobGljaCBUaWNrZXRzIGdla2xpY2t0IGhhYmVuLgoKIyBXb3p1IHNpbmQgZGllIFRpY2tldHMgZ3V0PwpOb2NoIGVpbm1hbCBrdXJ6IHp1c2FtbWVuZ2VmYXNzdDogRGllIG9mZml6aWVsbGVuIFN0cmVhbXMgdW5kIHNwYWV0ZXJlbgpWZXJvZWZmZW50bGljaHVuZ2VuIGF1ZiBtZWRpYS5jY2MuZGUgc2luZCB3aWUgaW1tZXIgb2huZSBUaWNrZXQgdmVyZnVlZ2Jhci4KRGllIFRpY2tldHMgYnJhdWNodCBJaHIgZnVlciBkZW4gZWluZ2Vsb2dndGVuIEJlcmVpY2gsIGRlciBkaWUgSW50ZXJha3Rpb24gZGVyClRlaWxuZWhtZW5kZW4gdW50ZXJlaW5hbmRlciBlcm1vZWdsaWNodC4gSW4gZGVtIGdpYnQgZXMKV29ya3Nob3BzL3NlbGYtb3JnYW5pc2VkIFNlc3Npb25zLCBDb21tdW5pdHktSW5oYWx0ZSB3aWUgQXNzZW1ibGllcyB1bmQgZGVyZW4KUHJvamVrdGUsIEJhZGdlcyB6dW0gU2FtbWVsbiB1bmQgQWNoaWV2ZW4sIGVpbiBwYWFyIHVlYmVycmFzY2h1bmdlbiwgc293aWUgZGllCjJELVdlbHQuCgojIEhpbGZlCkVpbmlnZSBoYWJlbiAodGVpbHMgc29nYXIgbWVocmVyZSkgU3VwcG9ydGVyLVRpY2tldHMgZ2VrbGlja3QsIHdhcyB1bnMgc2VocgpmcmV1dCB1bmQgd2FzIHVucyBqZXR6dCBhdWNoIGV0d2FzIFNwaWVscmF1bSBnaWJ0LCBkaWUgSW5mcmFzdHJ1a3R1ciB3ZWl0ZXIgenUKc2thbGllcmVuLiBXb2JlaSBIYXJkd2FyZSBudXIgZWluZXIgZGVyIGJlZ3JlbnplbmRlbiBGYWt0b3JlbiBpc3QuIFZvciBhbGxlbQpzdWNoZW4gd2lyIGdlcmFkZSBub2NoIG5hY2ggTWVuc2NoZW4sIGRpZSB1bnMgYmVpbSBBdXNyb2xsZW4gdW5kIGJlaW0gQmV0cmllYgp3YWVocmVuZCBkZXIgI3JDMyB1bnRlcnN0dWV0emVuLiBEYXMgc2luZCByZWNodCBzcGV6aWZpc2NoZSBTa2lsbHNldHMsIGFiZXIKd2VubiBJaHIgei5CLiByb3V0aW5pZXJ0ZSBEYXRlbmJhbmstQWRtaW5zIHNlaWQsIGRpZSBtaXQgc2thbGllcmVuZGVuIFN5c3RlbWVuCmFyYmVpdGVuLCBtZWxkZXQgRXVjaCBnZXJuIGltIFJvY2tldGNoYW5uZWwgcmMzLXBsYXR0Zm9ybS4gRGFubiBrb2VubmVuIHdpcgpzY2hhdWVuLCB3aWUgSWhyIHVucyB1bnRlcnN0dWV0emVuIGtvZW5udCwgdW0gbWVociBNZW5zY2hlbiBkaWUgVGVpbG5haG1lIHp1CmVybW9lZ2xpY2hlbi4gQXVjaCBNZW5zY2hlbiBtaXQgRXJmYWhydW5nIGltIEJlcmVpY2ggTm9kZUpTLSB1bmQgVHlwZVNjcmlwdAp3ZXJkZW4gbm9jaCBnZXN1Y2h0LgoKIyBNZWhyIFRpY2tldHMKV2VpbCB2aWVsZSBNZW5zY2hlbiBzaWNoIGRpZSBsZXR6dGVuIFRhZ2Ugbm9jaG1hbCBzZWhyIGlucyBaZXVnIGdlbGVndCBoYWJlbiwKa29lbm5lbiB3aXIgbm9jaCBlaW5tYWwgZWluIFRpY2tldGtvbnRpbmdlbnQgZnJlaWdlYmVuLiBXaXIgbW9lY2h0ZW4KbmF0dWVybGljaCwgZGFzcyBhbGxlLCBkaWUgZmxlaXNzaWcgbWl0YXJiZWl0ZW4sIGF1Y2ggdGVpbG5laG1lbiBrb2VubmVuLgpCaXR0ZSBub3RpZXJ0IEV1Y2ggYWxzbyBkZW4gZm9sZ2VuZGVuIFRlcm1pbiBmZXN0IGluIEV1cmVuIEthbGVuZGVybiB1bmQKc3RlbGx0IEV1Y2ggZWluZW4gUmVtaW5kZXI6CgoqKlNhbXN0YWcsIDEyLjEyLjIwMjAsIDE0OjAwIFVocioqCgpadSBkZW0gWmVpdHB1bmt0IHdpcmQgZGFzIEtvbnRpbmdlbnQgaW0gVGlja2V0c2hvcCBmcmVpZ2VnZWJlbi4KCiMgTWl0bWFjaGVuIHVuZCBNYXBzIGJhdWVuCkZ1ZXIgYWxsZSwgZGllIHNpY2ggdWViZXJsZWdlbiwgbm9jaCBldHdhcyB6dXIgI3JDMyBiZWl6dXN0ZXVlcm4sIHNjaGF1dCBkb2NoCm1hbCBhdWYgaHR0cHM6Ly9ob3d0by5yYzMud29ybGQvIHZvcmJlaS4gRG9ydCBmaW5kZXQgSWhyIG5lYmVuIGRlbSBTdHlsZWd1aWRlCmF1Y2ggVHV0b3JpYWxzLCB3aWUgSWhyIE1hcHMgZXJzdGVsbGVuIGtvZW5udCB1bmQgbWVoci4gRGllIEFubWVsZHVuZyBmdWVyCm5ldWUgQXNzZW1ibGllcyBpc3Qgbm9jaCBvZmZlbiwgYWJlciBqZSBmcnVlaGVyIElociBFdWNoIG1lbGRldCwgZGVzdG8gYmVzc2VyCmtvZW5uZW4gRXVyZSBCZWl0cmFlZ2UgdW5kIE1hcHMgYXVjaCBpbiBkZXIgMmQtV2VsdCBpbnRlZ3JpZXJ0IHdlcmRlbi4gV2VubgpJaHIgZWluZSBlaWdlbmUgTWFwIGJhdWVuIHdvbGx0LCBtZWxkZXQgRXVjaCBiaXR0ZSB6ZWl0bmFoIHVudGVyIAp3b3JsZEByYzMud29ybGQsIGRhIGRhcyAyRC1XZWx0LVRlYW0gZGFubiBkcmluZ2VuZCBlaW4gcGFhciBJbmZvcyB2b24gRXVjaApicmF1Y2h0LiAKClVuZCBqYSwgYXVjaCBBc3NlbWJseS1BZG1pbnMgdW5kIFRlYW0tSGVhZHMgYnJhdWNoZW4gVGlja2V0cy4KCkRhbmtlIGRhZnVlciwgZGFzcyBJaHIgc28gemFobHJlaWNoIGRlciAjckMzIEV1ZXIgSW50ZXJlc3NlIHNjaGVua3QuIERhcyBmcmV1dAp1bnMgd2lya2xpY2ggc2VociB1bmQgdmllbGUgZmxlaXNzaWdlIEhhZW5kZSBhcmJlaXRlbiBncmFkIGhhcnQgZGFyYW4sIGRhc3MgZXMKYXVjaCBmdWVyIGFsbGUgZWluZSB0b2xsZSBWZXJhbnN0YWx0dW5nIHdpcmQuCgpqaW54eC9LbGF1ZGlhIGZ1ZXIgZGFzIE9yZ2EtVGVhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUzogTWFpbC0gdW5kIGdnZi4gV2ViaG9zdGVyIChBbWFyeWxsaXMsIDExLiBEZXogMjAyMCwgMDk6MjQ6MjMpOgpIb2ksCgppY2ggaGFiZSBlcyB0YXRzYWVjaGxpY2ggZ2VzY2hhZmZ0LCBlaW5lIG1pciBzZWhyIHdpY2h0aWdlIERvbWFpbiwgZGllIGltClJHUC1TdGF0dXMgd2FyLCBuYWNoIGRlc3NlbiBBYmxhdWYgenUgZXJnYXR0ZXJuIDspCk51biBtb2VjaHRlIGljaCBkYSBzY2huZWxsc3Rtb2VnbGljaCBNYWlsZGllbnN0ZSBkcmF1ZnppZWhlbiB1bmQgZXZ0bC4gKHdlbm5zCmJlemFobGJhciBpc3QpIGF1Y2ggZWluIGJpc3NsIFdlYnNwYWNlLgoKQmlzaGVyIGFuZ2VzY2hhdXQgaGFiZSBpY2ggbWlyIFN0cmF0bywgSW9ub3MgdW5kIDFibHUuCgpBdWNoIHdlbm4gaWNoIHdlaXNzLCBkYXNzIGRhcyBoaWVyIHZtdGwuIGluIGVpbmVuIEdsYXViZW5za3JpZWcgYXVzYXJ0ZW4Ka29lbm50ZSwgd2FlcmUgZXMgZG9jaCBoaWxmcmVpY2gsIHdlbm4gaGllciBqZW1hbmQgRXJmYWhydW5nc3dlcnRlIG9kZXIgVGlwcwpmdWVyIHdlaXRlcmUgUHJvdmlkZXIgYnJpbmdlbiBrb2VubnRlLgoKV2llIGdlc2FndDogTXVzcyBuaWNodCB2aWVsIHNlaW4uCgpEYW5rZQpBbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKERlYWRkeSwgMTEuIERleiAyMDIwLCAwOToyOToxOSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTYwNzY3NTA2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKSWNoIGhhYiBiZWkgTmV0Y3VwIG5lbiBWUFMsIGRhIGxhZXVmdCBhbGxlcyBhdWYgT2Vrb3N0cm9tIHVuZCBkaWUgaGFiZW4gZGllc2VzCkphaHIgaW0gTWFlcnogbWFsIGt1cnplcmhhbmQgcGFhciBKaXRzaS1JbnN0YWxsYXRpb25lbiByYXVzZ2VoYXVlbiBmdWVyCkJpbGR1bmcgdW5kIExldXRlIGRpZSBkYXMgYnJhdWNodGVuLCBhbHNvIGljaCBiaW4gbWl0IGRlbmVuIG5pY2h0IG51cgp0ZWNobmlzY2ggc2VociB6dWZyaWVkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoQnVnZml4LCAxMS4gRGV6IDIwMjAsIDA5OjU1OjQzKToKfiMhIHJuPURlYWRkeSBydD0xNjA3Njc1MzU5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpJY2ggaGF0dGUgZnJ1ZWhlciBXZWJzcGFjZSB1bmQgTWFpbCB1bmQgaGFiIGpldHp0IG5lbiBWU2VydmVyIGJlaSBDb250YWJvLCBiaW4Kc2VociB6dWZyaWVkZW4gbWl0IGRlbmVuLiBNYWlsIGxhZXVmdCBhbGxlcmRpbmdzIHVlYmVyIFN0cmF0bywgd2VpbCBpY2ggZGFzCm5pY2h0IHNlbGJzdCBtYWNoZW4gbWFnIHVuZCBkaWUga2VpbmUgTWFpbHNlcnZlciBvaG5lIFdlYnNwYWNlIGFuYmlldGVuLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKEJ1Z2ZpeCwgMTEuIERleiAyMDIwLCAwOTo1NzozNCk6Cn4jISBybj1CdWdmaXggcnQ9MTYwNzY3Njk0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKQWNoamEsIHdhciBtaXQgTWFpbCB6d2lzY2hlbnplaXRpZyBrdXJ6IGJlaSBHb25lbywgYWJlciBkYSB3dWVyZCBpY2ggZGllCkZpbmdlciB2b24gbGFzc2VuLiBQbGFpbnRleHQtTWFpbHMgb2huZSBBbmhhbmcgYnJhdWNodGVuIGJpcyB6dSAzMCBTZWsgenVtClZlcnNhbmQgdmlhIFNNVFAsIGRhcyBtdXNzIGphIHdvaGwgZWNodCBuaWNodCBzZWluLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogTWFpbC0gdW5kIGdnZi4gV2ViaG9zdGVyIChOb3RzdHJvbSwgMTEuIERleiAyMDIwLCAwOTo1ODoyMik6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTYwNzY3NTA2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKTW9pbiwKCmljaCBoYWJlIG1laW5lIERvbWFpbiBiZWkgZ2FlcnRuZXIuZGUgbGllZ2VuLiBJY2gga2VubmUgZWluZW4gZ3V0ZW4gVGVpbApkZXIgTGV1dGUgcGVyc29lbmxpY2ggc2VpdCB1ZWJlciAyMCBKYWhyZW4sIGV4dHJlbSBrb21wZXRlbnRlcyBQZXJzb25hbCwKYWxsZXJkaW5ncyBrZWluIEJpbGxpZy1Ib3N0ZXIuCgpIdGgsCk5vdHN0cm9tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoQW50aGVhLCAxMS4gRGV6IDIwMjAsIDExOjQwOjA0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjA3Njc1MDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpFcyBrb21tdCBpbW1lciBkcmF1ZiBhbiwgd2FzIG1hbiB1bnRlciAibmljaHQgdmllbCIgdmVyc3RlaHQuIE9iIGVzIHN0dXBpZGVzCkhUTUwgaXN0LCBvZGVyIG9iIHNjcmlwdGluZyBub2V0aWcgaXN0LCBtaXQgc3NoLXNoZWxsLCBlbWFpbCwgc3NsLi4uIApJY2ggaGFiIG1laW4gWmV1Y2ggdW50ZXIgYWxsLWlua2wuY29tIGxhdWZlbiwgdW5kIGJpbiBtaXQgZGVuZW4gYXVjaCByZWNodAp6dWZyaWVkZW4uIEJlaSBhbGxlbiBQcm9ibGVtY2hlbiBoYWJlbiBzaWUgbWlyIGF1Y2ggc2NobmVsbCB1bmQgdW5rb21wbGl6aWVydApnZWhvbGZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogTWFpbC0gdW5kIGdnZi4gV2ViaG9zdGVyIChab29rLCAxMS4gRGV6IDIwMjAsIDE5OjU0OjM0KToKfiMhIHJuPUFudGhlYSBydD0xNjA3NjgzMjA0IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpJY2ggaGFiZSBtZWluZSBFLU1haWwgYmVpIFN0cmF0by4gRGllIGhhYmVuIHp3YXIgYXVjaCBXZWJzcGFjZSwKYWJlciBkYXMgd2FyIG1pciBpcmdlbmR3aWUgbWl0IFNGVFAgenUgZnVtbWVsaWcsIGRlciBsYWV1ZnQKYXVmIG5lciBWTSBiZWkgRGlnaXRhbE9jZWFuLiBNaXIgZ2VodCBlcyBiZWkgTWFpbCB3aWUgQnVnZml4OiAKRGFzIG1hZyBpY2ggbmljaHQgc2VsYnN0IG1hY2hlbi4gCgpCaW4gZGEgZ2xhdWIgbWVociBhbHMgemVobiBKYWhyZSBiZWkgU3RyYXRvIHVuZCBmdWVyIGRpZXNlcyAKUHJvZHVrdCBnYWIgZXMgbmllIGlyZ2VuZGVpbiBJc3N1ZSAoYmVpIFNlcnZlcm4sIGRpZSBpY2ggYmVpIGRlbmVuCmhhYmUvaGF0dGUgYWxsZXJkbmdzIHNjaG9uLCBhYmVyIGRhcyBicmF1Y2h0IGVzIGphIGZ1ZXIgRGVpbmUKQW5mb3JkZXJ1bmdlIG5pY2h0LikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKEFtYXJ5bGxpcywgMTEuIERleiAyMDIwLCAyMToyNTowMik6Cn4jISBybj1ab29rIHJ0PTE2MDc3MTI4NzQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzCkRhbmtlIGZ1ZXIgRXVyZSBUaXBzIQpOdXIgYWxsLWlua2wuY29tIHdlcmQgaWNoIG1pciBuaWNodCBhbnNjaGF1ZW4gLSBkYXMgd2FyIHp1bWluZGVzdCB6dSBtZWluZXIKTm9jaC1Ib3N0bWFzdGVyL1Bvc3RtYXN0ZXItWmVpdCBiZWkgTkMgZWluZSB1ZWJsZSBTcGFtbWVya2xpdHNjaGUgYnp3LgphYnVzZS1pZ25vcmFudC4gSGF0dGUgbWl0IGRlbmVuIG51ciBBZXJnZXIuLi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoWmFwaG9iLCAxMy4gRGV6IDIwMjAsIDIwOjI3OjExKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjA3NzE4MzAyIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpJY2ggaGFlbmdlIG1pY2ggZWluZmFjaCBtYWwgYW4gZGllIFVtZnJhZ2UgZHJhbiB1bmQgZnJhZ2UsIHdvIGlociBldXJlIERvbWFpbnMKdmVyd2FsdGV0LCB1bmQgd2llIGlociBkYW1pdCB6dWZyaWVkZW4gc2VpZCwgc28gd2VnZW4gUHJlaXMgb2RlciBMZWlzdHVuZy4gSWNoCmhhYiBub2NoIG5pZSBlaWdlbmUgRG9tYWlucyBnZWhhYnQgKG1laW4gTmFjaG5hbWUgaXN0IHNjaG9uIHZlcmdlYmVuLCBtYW4gbWFnCmVzIGthdW0gZ2xhdWJlbiEpLCBhYmVyIG51biBlaW5lIGludGVyZXNzYW50ZSBnZWZ1bmRlbiwgZGEgd29sbHRlIGljaCBtYWwKZWluc3RlaWdlbi4gR2lidCBlcyBkYSBncm9zc2UgVW50ZXJzY2hpZWRlPyBXZWxjaGU/CgpaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKEFtYXJ5bGxpcywgMTMuIERleiAyMDIwLCAyMTowODo1OCk6Cn4jISBybj1aYXBob2IgcnQ9MTYwNzg4NzYzMSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKSWNoIGhhYmUgbWVpbmUgRG9tYWlucyBzY2hvbiBzZWl0IEphaHJlbiBiZWkgSG9zdEV1cm9wZSBnZXBhcmt0LiBTaW5kCnByZWlzbGljaCBuaWNodCBkaWUgYWxsZXJiaWxsaWdzdGVuLCBkYWZ1ZXIgYWJlciBzZXJpb2VzIHVuZCBoYWJlbiBhdWNoIGVpbgpicmF1Y2hiYXJlcyBLdW5kZW5pbnRlcmZhY2UsIGluIGRlbSBEdSBqZWRlcnplaXQgRE5TLUFlbmRlcnVuZ2VuIGV0Yy4Kdm9ybmVobWVuIGthbm5zdC4KTWVpbmUgREUtRG9tYWlucyBrb3N0ZW4gZGEgemllbWxpY2ggZ2VuYXUgbmVuIEV1cm8gcHJvIE1vbmF0LCAub3JnIGV0d2EgMSw1MApwcm8gTW9uYXQuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKENoYWdhbGwsIDE0LiBEZXogMjAyMCwgMDk6MDA6NDMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2MDc4OTAxMzggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzCkljaCBrYW5uIHdpZSBEZWFkZHkgTmV0Y3VwIGVtcGZlaGxlbi4gSGFiZSBtaXR0bGVyd2VpbGUgYWxsZXMgcHJpdmF0ZSBkYSBoaW4KbWlncmllcnQuIFZvcmhlciB3YXIgaWNoIGJlaSBDb250YWJvIHVuZCBkYSBoYXR0ZW4gZGllIFZQUy1LaXN0ZW4gZWluZQphYnNvbHV0ZSBncm90dGlnZSBTdGVhbHRpbWUgZGllIG1hbiBzaWNoIG51ciBtaXQgVWViZXJidWNodW5nIGVya2xhZXJlbiBrYW5uLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoWm9vaywgMTQuIERleiAyMDIwLCAxMzozODoxNSk6Cn4jISBybj1DaGFnYWxsIHJ0PTE2MDc5MzI4NDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzCkRvbWFpbnMgaGFiZSBpY2ggZWluZSBiZWkgU3RyYXRvLCBkZW4gUmVzdCBiZWkgRG9tYWluRmFjdG9yeTsKcHJlaXNsaWNoIGlzdCBkYXMgZ2xhdWIgYXVjaCBzbyBiZWkgMSBFVVIgaW0gTW9uYXQsIHZlcmdlc3NlIGljaAphYmVyIGltbWVyIHdpZWRlciwgZGEgZXMgamFlaHJsaWNoIGFiZ2VidWNodCB3aXJkLiBIYXR0ZSBhdWNoIAptYWwgZGVuIERvbWFpbi1EaWVuc3Qgdm9uIEFtYXpvbiBpbSBFaW5zYXR6LCBkYXMgd2FyIGhhbHQgenVzYWV0emxpY2gKcHJha3Rpc2NoLCBkYSBtYW4gZG9ydCBnbGVpY2ggZGllIHBhc3NlbmRlbiBaZXJ0aWZpa2F0ZSBmdWVyIGh0dHBzCnVuZCBzbyBtaXRiZWtvbW10LiAKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoWm9vaywgMTQuIERleiAyMDIwLCAxMzozODo1Nik6Cn4jISBybj1ab29rIHJ0PTE2MDc5NDk0OTUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzClBTOiBEaWUgS29uZmlndXJhdGlvbiBiZWkgU3RyYXRvIGdlaHQgZWlnZW50bGljaCBnYW56IGJlcXVlbSwgYmVpIApEb21haW5GYWN0b3J5IG11c3MgbWFuIGRvY2ggbWFuY2htYWwgYmlzc2NoZW4gaGVydW1rbGlja2VuLiBBYmVyCmFsbGVzIGtlaW4gSGV4ZW53ZXJrIHVuZCBmdW5rdGlvbmllcnQgYmVpZGVzIHNlaXQgSmFocmVuIG9obmUKU2Nod2llcmlna2VpdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUzogTWFpbC0gdW5kIGdnZi4gV2ViaG9zdGVyIChBbnRoZWEsIDE0LiBEZXogMjAyMCwgMTM6NDA6MzEpOgp+IyEgcm49Wm9vayBydD0xNjA3OTQ5NTM2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpUamEsIHVuZCBpY2ggaGF0dGUgdm9yID4xMCBKYWhyZW4gcmVjaHQgc2NobGVjaHRlIEVyZmFocnVuZ2VuIG1pdCBTdHJhdG8gdW5kCjEmMSBnZW1hY2h0LCBkcnVtIGhhYmUgaWNoIGRlcmVuIEFuZ2Vib3RlIHNlaXRoZXIgaW1tZXIgaWdub3JpZXJ0LiBTbyBoYXQKamVkZXIgc2VpbmUgcGVyc29lbmxpY2hlbiBMaWVibGluZ3NoYXNzb2JqZWt0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKEdsb2luc29uLCAxNC4gRGV6IDIwMjAsIDE0OjE3OjQ1KToKfiMhIHJuPUFudGhlYSBydD0xNjA3OTQ5NjMxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpEb21haW4gdW5kIEhvc3RpbmcgbGllZ2VuIGJlaSBBbGZhaG9zdGluZy4gQmlzaGVyIG5pZSB3aXJraWNoIFByb2JsZW1lLApIVFRQUy1BdWZydWVzdHVuZyBoYXQgZWluIHdlbmlnIGdlZGF1ZXJ0IC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKFpvb2ssIDE0LiBEZXogMjAyMCwgMTU6MzU6NDkpOgp+IyEgcm49QW50aGVhIHJ0PTE2MDc5NDk2MzEgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzCkFsc28gZXMgZ2lidCBhdWNoIFByb2R1a3RlIHZvbiBTdHJhdG8gbWl0IGRlbmVuIGhhYmUgaWNoIGF1Y2ggCnNlaHIgc2NobGVjaHRlIEVyZmFocnVuZ2VuIGdlbWFjaHQsIHNvIGlzdCBlcyBuaWNodC4gCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogTWFpbC0gdW5kIGdnZi4gV2ViaG9zdGVyIChWYXJkaW9uLCAxNC4gRGV6IDIwMjAsIDE5OjE0OjUzKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjA3Njc1MDYzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNzY3NTA2MwpIb3N0aW5nIGJlaSBVYmVyc3BhY2UuZGUsIERvbWFpbiBiZWkgSU5XWC4gTWl0IGJlaWRlbiBiaW4gaWNoIHNlaHIgenVmcmllZGVuLgpLb250YWt0IGxhbmRldCBpbiBiZWlkZW4gRmFlbGxlbiBiZWkgZWNodGVuLCBxdWFsaWZpemllcnRlbiBNZW5zY2hlbiB1bmQgbmljaHQKYmVpIEJvdHMuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoWm9vaywgMTQuIERleiAyMDIwLCAxOToyMjowMik6Cn4jISBybj1WYXJkaW9uIHJ0PTE2MDc5Njk2OTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA3Njc1MDYzClZvbiBVYmVyc3BhY2UgaGFiZSBpY2ggYXVjaCB2aWVsIEd1dGVzIGdlaG9lcnQuIChLYW5udGUgYXVjaCBtYWwgd2VuLApkZXIgZGEgYXJiZWl0ZXRlIChrZWluZSBBaG51bmcsIG9iIGltbWVyIG5vY2gpKS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IE1haWwtIHVuZCBnZ2YuIFdlYmhvc3RlciAoUnVtYXRhLCAxNC4gRGV6IDIwMjAsIDIwOjUyOjM3KToKfiMhIHJuPVpvb2sgcnQ9MTYwNzk3MDEyMiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKSGF0dGUgbWFsIFN0cmF0bywgZGllIHdhcmVuIGJhaSBtYWlsIGFiZXIgbWllcywgdmluIHNlaXRkZW0gYmVpCjEmMSBiencgaW9ub3MuIEdlaHQgZWlnZW50bGljaCBnYW56IGd1dC4KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBNYWlsLSB1bmQgZ2dmLiBXZWJob3N0ZXIgKFZhbmlvbiwgMTkuIERleiAyMDIwLCAxMjozMToyNCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTYwNzY3NTA2MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTE2MDc2NzUwNjMKQmluIHZlcm11dGxpY2ggZXR3YXMgc3BhZXQgZnVlciBkaWUgRGlza3Vzc2lvbiwgYWJlciBpY2ggaG9zdGUgbWVpbmVuIEtyYW0gYmVpCkNvbnRhYm8uIEhhYiBkYSBlaW5lbiB2c2VydmVyIGZ1ZXIgd2VuaWcgR2VsZCB1bmQgZGEgbGFldWZ0IG1laW4gS3JhbSBkcmF1Zi4KaHR0cHM6Ly9jb250YWJvLmRlLz9zaG93PXZwcwoKRGVuIE1haWxzZXJ2ZXIgdW5kIGRpZSBETlMtRWludHJhZWdlIGxhc3NlIGljaCB2b24gZGVyIERvbWFpbmZhY3RvcnkgKGRmLmV1KQpiZXRyZWliZW4vdmVyd2FsdGVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1vcmdlbkdyYXVlbiBhdWYgZGVtIHJDMyAoVmFuaW9uLCAyNS4gRGV6IDIwMjAsIDEzOjI4OjE4KToKfiMhIHJuPVZhbmlvbiBydD0xNjA3NDYwNDQ3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNjI1MTczMwpOdXIgbm9jaCBtYWwgZWluIGt1cnplcyBVcGRhdGU6ClNvIHJpY2h0aWcgRW50aHVzaWFzbXVzIGluIGRlciBBc3NlbWJseSBtaXR6dW1hY2hlbiwgaGFiZSBpY2ggbmljaHQKd2Focmdlbm9tbWVuLiBJY2ggaGFiZSB0cm90emRlbSBlaW5lIEFzc2VtYmx5IGVpbmdlcmVpY2h0IHVuZCBpbSBQcmluemlwIGVpbmUKU2VpdGUgbWl0IGVpbmVyIEVya2xhZXJ1bmcgdW5kIGVpbiBQcm9qZWt0IG1pdCBlaW5lbSBMaW5rIGF1ZnMgV2VidGVsbmV0CmVyc3RlbGx0LiBXZXIgbWFnLCBrYW5uICh3YWhyc2NoZWlubGljaCBhYiBtb3JnZW4pIG1hbCBzY2hhdWVuLiBEZXIgTGluayB6dXIKQXNzZW1ibHkgaXN0IGhpZXI6Cmh0dHBzOi8vbWFzY2hpbmVucmF1bS5yYzMud29ybGQvYmFja29mZmljZS9hc3NlbWJseS9mMmI4MjdiZS1jM2JmLTRkYjctODRmMy1mNAo3Y2IwZTU0NmNmCgpEZXIgVGV4dCBzaWVodCBzbyBhdXM6CkRhcyBNb3JnZW5HcmF1ZW4gaXN0IGVpbiBNVUQgKE11bHRpIFVzZXIgRHVuZ2VvbiksIGVpbiB0ZWxuZXQtYmFzaWVydGVzCk9ubGluZS1Sb2xsZW5zcGllbC4gRHUgc3BpZWxzdCBlaW5lbiBDaGFyYWt0ZXIsIG1pdCBkZW0gRHUgZWluZSByaWVzaWdlCkZhbnRhc3ktV2VsdCBkdXJjaHdhbmRlcnN0LCBhbHMgTWVuc2NoLCBFbGYsIFp3ZXJnLCBIb2JiaXQsIEZlbGluZSwgT3JrLApHb2JsaW4gb2RlciBEdW5rZWxlbGYuIFdlc2VudGxpY2hlIFRlaWxlIGRlcyBTcGllbHMgc2luZCBkYXMgRXJmb3JzY2hlbiBkZXIKV2VsdCB1bmQgZGFzIExvZXNlbiB2b24gQWJlbnRldWVybi4gRGFiZWkgYmVnZWduZXN0IER1IHZpZWxlbiBhbmRlcmVuClNwaWVsZXJuLCBtaXQgZGVuZW4gRHUgYXVzemllaGVuIGthbm5zdCwgdW0gZXVjaCBtaXQgTW9uc3Rlcm4gYW56dWxlZ2VuIG9kZXIKYXVjaCBudXIgZ2VtZWluc2FtIHp1IHBsYXVkZXJuLiBEYXMgbWl0IGRlbSBSb2xsZW5zcGllbCBzZWhlbiB3aXIgdWVicmlnZW5zCmdhbnogbG9ja2VyIC0gRHUga2FubnN0LCBtdXNzdCBhYmVyIG5pY2h0LiBXYXMgRHUgbWFjaHN0LCB3b2hpbiBEdSBnZWhzdCB1bmQKaW4gd2VsY2hlIFJlaWhlbmZvbGdlIGxpZWd0IGdhbnogYmVpIERpci4KCk1VRHMgZ2Vob2VyZW4genUgZGVuIGFlbHRlc3RlbiBNdWx0aXBsYXllci1TcGllbGVuIGltIEludGVuZXQgdW5kIGhhYmVuIGltbWVyCm5vY2ggZWluZSBncm9DZSBGYW5nZW1laW5kZS4gV2lyIHdvbGxlbiBLb256ZXB0ZSB1bmQgVGVjaG5payB2b24gTVVEcwp2b3JzdGVsbGVuIHVuZCBnZXJuZSBhdWNoIGdlbWVpbnNhbSBzcGllbGVuIG9kZXIgY2hhdHRlbi4KCkRhIE1VRHMgdGV4dGJhc2llcnQgc2luZCwgaXN0IGRhcyBNb3JnZW5HcmF1ZW4gYXVjaCBzZWhyIGd1dCB2b24gYmxpbmRlbiBvZGVyCnNlaGJlaGluZGVydGVuIE1lbnNjaGVuIHNwaWVsYmFyIGlzdC4gV2lyIGhhYmVuIGVpbmUgYWt0aXZlIENvbW11bml0eQpzZWhiZWhpbmRlcnRlciBTcGllbGVyOmlubmVuLCBkaWUgZXVjaCBhdWNoIGdlcm5lIGJlaW0gRWlucmljaHRlbiB2b24gSGFyZC0KdW5kIFNvZnR3YXJlIGhlbGZlbi4KClBTOiBOaWVtYW5kIGJyYXVjaHQgVW1sYXV0ZSEKLS0KCkRhcyBQcm9qZWt0IHNvOgpNb3JnZW5HcmF1ZW4gaXN0IGVpbiB0ZXh0YmFzaWVydGVzIEFkdmVudHVyZS4gQW0gYmVzdGVuIGxlcm50IG1hbiBlcyBrZW5uZW4sCmluZGVtIG1hbiBlcyBlaW5mYWNoIHNwaWVsdC4KCnRsO2RyOiBbTWl0IGRlbSBXZWJ0ZWxuZXQga2FubiBtYW4gc29mb3J0Cmxvc2xlZ2VuLl0oaHR0cDovL21nLm11ZC5kZS9vbmxpbmUvd2VidGVsbmV0X3NpbXBsZS5odG1sKQoKRWluIGJpc3NjaGVuIEhpbnRlcmdydW5kOgpUZWNobmlzY2ggZmluZGV0IGRpZSBLb21tdW5pa3RhdGlvbiB6d2lzY2hlbiBTcGllbGVyIHVuZCBTcGllbCBtaXQgZGVtClByb3Rva29sbCBbVGVsbmV0XShodHRwczovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9UZWxuZXQpIHN0YXR0LiBUZWxuZXQtQ2xpZW50cwpzaW5kIGFiZXIgbmljaHQgc29uZGVybGljaCBiZXF1ZW0genUgaGFuZGhhYmVuIHVuZCBlbnRoYWx0ZW4gYXVjaCBrZWluZQpTaWNoZXJoZWl0cy1GZWF0dXJlcyB3aWUgVHJhbnNwb3J0dmVyc2NobHVlc3NlbHVuZy4KCkRlc2hhbGIgaGFiZW4gU3BpZWxlciBlaWdlbmUgQ2xpZW50cywgZGllIHp1c2FldHpsaWNoZSBGdW5rdGlvbmVuIGF1ZiBUZWxuZXQKYXVmc2V0emVuLiBEZXIgZnVlciBkZW4gU3BpZWxlciBlaW5mYWNoc3RlIFdlZyBpc3QgZGllIFZlcndlbmR1bmcgZGVzIGF1ZiBkZXIKU2VpdGUgZGVzIE1vcmdlbkdyYXVlbiBhbmdlYm90ZW5lbgpbV2VidGVsbmV0XShodHRwOi8vbWcubXVkLmRlL29ubGluZS93ZWJ0ZWxuZXRfc2ltcGxlLmh0bWwpLiBEb3J0IGthbm4gbWFuIHNpY2gKenVtIEJlaXNwaWVsIGFscyBHYXN0IHVtc2NoYXVlbiB1bmQgbWFsIHNjaGF1ZW4sIG9iIGRhcyBTcGllbCB3YXMgZnVlciBlaW5lbgppc3QuCgpXZW5uIG1hbiBsYWVuZ2VyIHNwaWVsdCwgd2lyZCBtYW4gZnJ1ZWhlciBvZGVyIHNwYWV0ZXIgdWViZXIgTVVEIChNdWx0aSBVc2VyCkR1bmdlb24pLUNsaWVudHMgc3RvbHBlcm4sIG1pciBkZW5lbiBtYW4gemllbWxpY2ggZnJlaSBwcm9ncmFtbWllcmJhciBmYXN0CmFsbGVzIG1hY2hlbiBrYW4sIGRhcyBtaXQgVGV4dCBzbyBnZWh0LiBFaW5lciBkZXIgYmVrYW5udGVyZW4gaXN0IGhpZXIKW1RpbnlGdWd1ZV0oaHR0cDovL3RpbnlmdWd1ZS5zb3VyY2Vmb3JnZS5uZXQvKSwgZGVyIHp3YXIgc2VpdCBlaW5pZ2VuIEphaHJlbgpuaWNodCB3ZWl0ZXIgZW50d2lja2VsdCB3aXJkLCBhYmVyIGF1ZmdydW5kIHNlaW5lciBmcmVpZW4gUHJvZ3JhbW1pZXJiYXJrZWl0CnVuZCBTdGFiaWxpdGFldCBpbW1lciBub2NoIGdlcm5lIHZvbiBTcGllbGVybiBiZW51dHp0IHdpcmQuCgpFaW4gd2VpdGVyZXIgQXNwZWt0IGlzdCBkaWUgVHJhbnNwb3J0dmVyc2NobHVlc3NlbHVuZy4gVW50ZXIgZGVyIFZlcmJpbmR1bmcKendpc2NoZW4gU3BpZWxlciB1bmQgU3BpZWwgbGllZ3QgaW1tZXIgbm9jaCBlaW4gVGVsbmV0LCBkYXMgaGVpc3N0LCBkYXNzIGplZGVzCmdlc2NocmllYmVuZSBXb3J0IHVuZCBhdWNoIFBhc3N3b3J0ZSBpbiBLbGFydGV4dCB1ZWJlcnRyYWdlbiB3ZXJkZW4uIERhcwpsYWVzc3Qgc2ljaCB2ZXJoaW5kZXJuLCBpbmRlbSBtYW4gZWluZW4gU1NMLVR1bm5lbCB6dW0gU3BpZWwgYXVmbWFjaHQgdW5kCnNlaW5lIFRlbG5ldC1WZXJiaW5kdW5nIGR1cmNoIGRpZXNlbiBUdW5uZWwgc2NoaWNrdC4gRWluZSBBbmxlaXR1bmcgaGllcmZ1ZXIKZ2lidCBlcyBbIGhpZXJdKGh0dHA6Ly9tZy5tdWQuZGUvZG93bmxvYWQvc3R1bm5lbC5zaHRtbCkKCgotLQoKV2VyIG5vY2ggbWl0bWFjaGVuIHdpbGwsIGthbm4gZGllcyBnZXJuZSB0dW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTW9yZ2VuR3JhdWVuIGF1ZiBkZW0gckMzIChaYXBob2IsIDI1LiBEZXogMjAyMCwgMTg6NTM6NDcpOgp+IyEgcm49VmFuaW9uIHJ0PTE2MDg4OTkyOTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA2MjUxNzMzCldpZSB3dWVyZGUgbWFuIGRhIG1pdG1hY2hlbj8KRGVpbiBMaW5rIGZ1ZWhydCB6dSBlaW5lciBMb2dpbnNlaXRlIHVuZCBzYWd0OgoienVyIFZlcndhbHR1bmcgZGVpbmVyIEFzc2VtYmx5IGdlZGFjaHQsIGRpZXMgaXN0IGplZG9jaCBuaWNodCBkYXMKS29uZmVyZW56LUZyb250ZW5kIgpJY2ggYmluIGVpbiB3ZW5pZyB2ZXJ3aXJydC4KCkRlciBiZXNjaHJlaWJlbmRlIFRleHQgc2NoZWludCBhdWYgZGVtIGRlciBNRyBXZWJzZWl0ZSB6dSBiYXNpZXJlbiwgZXJ3ZWl0ZXJ0CmRpZXNlbiBhYmVyIG5vY2ggZWluIHdlbmlnPyBEYXMgZmluZGUgaWNoIGd1dCwga29lbm50ZSBtYW4gYXVjaCBkb3J0CmVyd2VpdGVybiwgb2Rlcj8gCgpJY2ggZmluZGUgZGFzIGdhbnogc3Bhbm5lbmQsIGthbm4gZXMgbWlyIGFiZXIgbm9jaCBuaWNodCB2b3JzdGVsbGVuLgpWaWVsbGVpY2h0IG11c3MgaWNoIG1pciBtYWwgZWluIHBhYXIgYW5kZXJlIEFzc2VtYmxpZXMgYW5zY2hhdWVuLgoKRGFua2UsIEdydWVzc2UsClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1vcmdlbkdyYXVlbiBhdWYgZGVtIHJDMyAoVmFuaW9uLCAyNS4gRGV6IDIwMjAsIDIwOjMyOjIxKToKfiMhIHJuPVphcGhvYiBydD0xNjA4OTE4ODI3IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNjI1MTczMwpXZW5uIER1IGJlaW0gQmVhcmJlaXRlbiBtaXRtYWNoZW4gd2lsbHN0LCBrYW5uc3QgRHUgZGFzIHR1biBpbmRlbSBEdSBEaXIgZWluZW4KQWNjb3VudCBpbSBodHRwczovL21hc2NoaW5lbnJhdW0ucmMzLndvcmxkL2JhY2tvZmZpY2UvYWNjb3VudHMvc2lnbnVwLyBtYWNoc3QuCkljaCBrYW5uIERpY2ggZGFubiBhbHMgTWl0Z2xpZWQvTWFuYWdlciBpbiBkZXIgQXNzZW1ibHkgYXVmbmVobWVuLiBXYXMgbWFuCmRhbWl0IG1hY2hlbiBrYW5uLCBmaW5kZXQgbWFuIGhpZXI6IGh0dHBzOi8vaG93dG8ucmMzLndvcmxkL21hc2NoaW5lbnJhdW0uaHRtbAoKVW0gYW0gckMzIHRlaWx6dW5laG1lbiwgbXVlc3N0ZSBtYW4gZGFubiBlaW4gVGlja2V0IGhhYmVuLiBEaWUgc2luZCBpbSBNb21lbnQKYXVzLCBlcyBrYW5uIGFiZXIgc2VpbiwgZGFzcyBhbSAyNy4gQWJlbmRzIG5vY2ggbWFsIGVpbiBLb250aW5nZW50IGZyZWlnZWdlYmVuCndpcmQsIHdlbm4gZGllIEluZnJhc3RydWt0dXIgbWl0IGRlbiBiaXNoZXJpZ2VuIFRpY2tldHMgenVyZWNodCBrb21tdC4gSXMgYWJlcgpudXIgbmUgVmVybXV0dW5nLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1vcmdlbkdyYXVlbiBhdWYgZGVtIHJDMyAoVmFuaW9uLCAyNS4gRGV6IDIwMjAsIDIwOjMyOjU1KToKfiMhIHJuPVZhbmlvbiBydD0xNjA4OTI0NzQxIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNjI1MTczMwpFaW4gYW5kZXJlciBXZWcsIG1pdHp1bWFjaGVuIHdhZXJlIG5hdHVlcmxpY2gsIEdhZXN0ZSB6dSBiZXRyZXVlbiwgZGllIHNpY2gKdmllbGxlaWNodCBoaWVyIGhlciB2ZXJpcnJlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNb3JnZW5HcmF1ZW4gYXVmIGRlbSByQzMgKFpvb2ssIDI3LiBEZXogMjAyMCwgMTE6Mzk6MzkpOgp+IyEgcm49VmFuaW9uIHJ0PTE2MDg5MjQ3NzUgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA2MjUxNzMzCkljaCBoYXR0ZSBtaWNoIGVyc3Qgc3BhZXQgZW50c2NoaWVkZW4sIGVpbiBUaWNrZXQgenUga2xpY2tlbgp1bmQgaGFiZSBhdWNoIGtlaW5lIHNvIHJlY2h0IEFobnVuZywgd2FzIHVuZCB3aWUgbWFuIGJlaSBkZW4KQXNzZW1ibGllcyBkYW5uIHNvIHR1biBrYW5uOyBpY2ggc2NoYXVlIGFiZXIgaGllciBpbSBNRyB1bmQgZG9ydAphdWYgZGVyIFBsYXR0Zm9ybSB2b3JiZWkuCgpab29rCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTW9yZ2VuR3JhdWVuIGF1ZiBkZW0gckMzIChaYXBob2IsICA3LiBGZWIgMjAyMSwgMTE6MjM6MTQpOgp+IyEgcm49Wm9vayBydD0xNjA5MDY1NTc5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYwNjI1MTczMwpHYWIgZXMgaGllciBlaWdlbnRsaWNoIGlyZ2VuZHdlbGNoZSBSZWFrdGlvbmVuPwpLYW5uIG1hbiBoZXJhdXNmaW5kZW4sIHdpZSB2aWVsZSBCZXN1Y2hlciBkYSB3YXJlbj8KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNb3JnZW5HcmF1ZW4gYXVmIGRlbSByQzMgKFpvb2ssICA4LiBGZWIgMjAyMSwgMTE6Mjk6NDcpOgp+IyEgcm49WmFwaG9iIHJ0PTE2MTI2OTMzOTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjA2MjUxNzMzCkFsc28gaWNoIGJpbiBkYSBpbW1lciBtYWwgdm9yYmVpIGdlbGF1ZmVuLCBoYWJlIGFiZXIKZW50d2VkZXIgZGFzIEtvbnplcHQgbmljaHQgdmVyc3RhbmRlbiBvZGVyIG5pZSAKamVtYW5kIGFuZ2V0cm9mZmVuLiAKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3Jhc2ggdm9tIDEuNC4yMDIxIChWYXJkaW9uLCAgNC4gQXByIDIwMjEsIDExOjE0OjEzKToKfiMhIHJuPUFyYXRob3JuIHJ0PTE2MTc0NDkzNTggcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE2MTcyODQxMTAKQXVzIE5ldWdpZXIgdW5kIHZvZWxsaWdlciBVbndpc3NlbmhlaXQ6IHdpZSB2aWVsIFJBTSBiZWxlZ3QgZGFzIFNwaWVsIGRlcnplaXQKdW5kIHdpZSB2aWVsIHdhZXJlIGVzLCB3ZW5uIG1hbiBhdWYgZGFzIFN3YXBwaW5nIHZlcnppY2h0ZW4gd3VlcmRlPyBEZXIKU3BlaWNoZXJhdXNiYXUgZGVyIG1laXN0ZW4gU2VydmVyIGlzdCBqYSBpbiBkZW4gbGV0enRlbiAxMCBKYWhyZW4gdW0gZWluaWdlcwpnZXN0aWVnZW4uCgpEYW5rZSwKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ3Jhc2ggdm9tIDEuNC4yMDIxIChBcmF0aG9ybiwgIDQuIEFwciAyMDIxLCAxMTo1MjozMyk6Cn4jISBybj1WYXJkaW9uIHJ0PTE2MTc1Mjc2NTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjE3Mjg0MTEwCldlbm4gdmllbGUgT2JqZWt0ZSBnZWxhZGVuIHNpbmQsIGtvZW5uZW4gc2Nob25tYWwgMS41IEdCIHp1c2FtbWVua29tbWVuLiBJY2gKbWVpbmUsIHdpciBoYWV0dGVuIGRyaXZlcnNlaXRpZyBlaW4gaGFydGVzIFNwZWljaGVybGltaXQgdm9uIDIgR0IgZWluZ2VzdGVsbHQuCkRhIGRlciBTZXJ2ZXIgcmVjaHQgYWx0IGlzdCB1bmQgdm9yIGFsbGVtIG5pY2h0IHZpcnR1ZWxsLCBzb25kZXJuIGluIEJsZWNoCmV4aXN0aWVydCwgaGF0IHNpY2ggYW4gc2VpbmVtIFNwZWljaGVyYXVzYmF1IHZvbiA4IEdCIG5pY2h0cyBnZWFlbmRlcnQgKHNpZWhlCmF1Y2ggImhpbGZlIG11ZHJlY2huZXIiKS4KCkdydXNzLCBBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENyYXNoIHZvbSAxLjQuMjAyMSAoVmFyZGlvbiwgIDUuIEFwciAyMDIxLCAxNzo0ODowOSk6Cn4jISBybj1BcmF0aG9ybiBydD0xNjE3NTI5OTUzIHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTYxNzI4NDExMApEYW5rZSBkaXIuIDEsNUdCIHd1ZXJkZW4gaW56d2lzY2hlbiBpbiBlaW5lbiBVYmVyc3BhY2UgcGFzc2VuIDotKSBEYXMgaXN0Cm5hdHVlcmxpY2gga2VpbmUgZXJuc3RoYWZ0ZSBPcHRpb24uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRyBUcmF1ZXJmZWllciBmdWVyIE5vdHN0cm9tIChSaG92YW4sIDI4LiBBcHIgMjAyMSwgMTA6MjQ6MjEpOgpIYWxsbyB6dXNhbW1lbiwKbWl0IE5vdHN0cm9tIGlzdCBlaW4gZ3Jvc3NhcnRpZ2VyIE1lbnNjaCwgTWFnaWVyIHVuZCB2b3IgYWxsZW0gZWluIEZyZXVuZCB2b24KdW5zIGdlZ2FuZ2VuLgpEYSB3aXIgdW5zIG51biBlaW5tYWwgbnVyIHZpcnR1ZWxsIHZvbiBpaG0gdmVyYWJzY2hpZWRlbiBrb2VubmVuLCBzb2xsdGVuIHdpcgpkYXMgZG9jaCBhbGxlIGdlbWVpbnNhbSB0dW4ga29lbm5lbiAtIHdlciBkZW5uIG1vZWNodGUuCkljaCBsYWRlIGRhaGVyIHp1IGVpbmVyIGdlbWVpbnNhbWVuIFRyYXVlcmZlaWVyIGVpbi4KVGVybWluIGlzdCBTYW1zdGFnLCAwMS4wNS4yMDIxIHVtIDIwVWhyIGltICJzYXVmZW5kZW4gT3JrIiBpbiBNdXJrc2JhY2guCldlciBtYWcsIGthbm4gYXVjaCBwYXJhbGxlbCBkYXp1IGdlcm5lIGlucyBUZWFtc3BlYWsga29tbWVuLgoKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcmF1ZXJrYXJ0ZShuKSBmdWVyIE5vdHN0cm9tcyBFbHRlcm4gKFNhcmF5LCAxOS4gTWFpIDIwMjEsIDEwOjE3OjM0KToKSGFsbG8genVzYW1tZW4sCndpZSBhdWYgTm90c3Ryb21zIFRyYXVlcmZlaWVyIGJlc3Byb2NoZW4sIGhhYmUgaWNoIG1pY2ggdW0gZGllIEtvbnRha3RkYXRlbgp2b24gTm90c3Ryb21zIEVsdGVybiBnZWt1ZW1tZXJ0LgpUYXRzYWVjaGxpY2ggaGF0IG1hbiBzaWNoIGZ1ZXIgZWluZSBwYXBpZXJlbmUgRm9ybSBlbnRzY2hpZWRlbi4KRC5oIGplZGVyLCBkZXIgbW9lY2h0ZSwgc2VuZGV0IG1pciBlaW4gRG9rdW1lbnQgb2RlciBlaW5lIEthcnRlIHp1LCB3b2R1cmNoCm1hbiB2b2VsbGlnIGZyZWkgaXN0IGJlenVlZ2wuIEZvcm11bGllcnVuZyBldGMuCkljaCBnbGF1YmUsIGRhc3Mgc2llIHNpY2ggbWVociB1ZWJlciBlaW5lIHNvbGNoZSBGb3JtIGRlciBCZWlsZWlkc2Jla3VuZHVuZwpmcmV1ZW4ga29lbm50ZW4gaW4gYW5iZXRyYWNodCBpaHJlcyBBbHRlcnMgdW5kIEJlenVnIHp1bSBJbnRlcm5ldC4KRGFoZXIgd3VlcmRlIGljaCBldWNoIGJpdHRlbiwgbWlyIGJpcyB6dW0gMDIuMDYuMjAyMSBFdXJlIEthcnRlbiBvZGVyCnNvbnN0aWdlbiBEb2t1bWVudGUgenVrb21tZW4genUgbGFzc2VuLgpBZHJlc3NlOgpQZXRyaW5lIFdhYWdvZSAoZWlnZW50bGljaCBuaWNodCBtaXQgb2UgOykgKQppbSBGaWVkbGVyc2VlIDkKNjQyOTEgRGFybXN0YWR0CgpJY2ggaG9mZmUgYXVmIHZpZWxlIFp1c2NocmlmdGVuLgpBdWYgZGFzcyBOb3RzdHJvbXMgRWx0ZXJuIGVyZmFocmVuLCB3aWUgc2VociB3aXIgaWhyZW4gU29obiBnZXNjaGFldHp0IGhhYmVuCnVuZCB2ZXJtaXNzZW4gd2VyZGVuLgoKU2FyYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUcmF1ZXJrYXJ0ZShuKSBmdWVyIE5vdHN0cm9tcyBFbHRlcm4gKFNhcmF5LCAgMS4gSnVuIDIwMjEsIDIwOjAyOjQzKToKfiMhIHJuPVNhcmF5IHJ0PTE2MjE0MTIyNTQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xNjIxNDEyMjU0CkhhbGxvIHp1c2FtbWVuLAplcyBzaW5kIGVpbmlnZSBLYXJ0ZW4gZWluZ2V0cm9mZmVuLCB1bmQgZGFmdWVyIGJlZGFua2UgaWNoIG1pY2ggc2Nob24gZWlubWFsCmdhbnogaGVyemxpY2guClRyb3R6ZGVtIHBvc3RlIGljaCBoaWVyIG5vY2ggZWlubWFsIG1laW5lIEUtTWFpbGFkcmVzc2UsIGZhbGxzIExldXRlIGVpbmZhY2gKbnVyIG1pdCBOYW1lbiBnZW5hbm50IHdlcmRlbiB3b2xsZW4gCm9kZXIgZXMgZG9jaCBsaWViZXIgaXN0LCBtaXIgZXR3YXMgRGlnaXRhbGVzIHp1a29tbWVuIHp1IGxhc3Nlbi4KSWNoIHZlcnN0ZWhlLCB3ZW5uIG1hbmNoZSBkYXMgaW4gcGFwaWVyZW5lciBGb3JtIG5pY2h0IHNvIG9obmUgV2VpdGVyZXMKaGluYmVrb21tZW4gb2RlciBlcyBpaG5lbiBsaWViZXIgaXN0LCBlaW5mYWNoIG51ciBuYW1lbnRsaWNoIGdlbmFubnQgenUKd2VyZGVuLgpEaWUgQWRyZXNzZToKcGV0cmluZS53YWFnb2VAZ21haWwuY29tCgpTYXJheQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoK